From 23bc466c09983f26852b856c11179e23ee3efed4 Mon Sep 17 00:00:00 2001 From: Azure SDK for Python bot Date: Tue, 6 Aug 2019 18:22:47 -0700 Subject: [PATCH 01/12] Generated from ca46ecf5c4baeb43c5fc1afb355c065bf49efd90 (#5449) Update OracleAzureDbPostgreSqlSyncTask.json Added "caseManipulation" to MigrateOracleAzureDbPostgreSqlSyncDatabaseInput object --- .../mgmt/2018-07-15-preview/datamigration/models.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/services/preview/datamigration/mgmt/2018-07-15-preview/datamigration/models.go b/services/preview/datamigration/mgmt/2018-07-15-preview/datamigration/models.go index b775476afd72..0caffc87e1a7 100644 --- a/services/preview/datamigration/mgmt/2018-07-15-preview/datamigration/models.go +++ b/services/preview/datamigration/mgmt/2018-07-15-preview/datamigration/models.go @@ -10414,6 +10414,8 @@ func (moadfpsstp *MigrateOracleAzureDbForPostgreSQLSyncTaskProperties) Unmarshal // MigrateOracleAzureDbPostgreSQLSyncDatabaseInput database specific information for Oracle to Azure // Database for PostgreSQL migration task inputs type MigrateOracleAzureDbPostgreSQLSyncDatabaseInput struct { + // CaseManipulation - How to handle object name casing: either Preserve or ToLower + CaseManipulation *string `json:"caseManipulation,omitempty"` // Name - Name of the migration pipeline Name *string `json:"name,omitempty"` // SchemaName - Name of the source schema @@ -10433,6 +10435,9 @@ type MigrateOracleAzureDbPostgreSQLSyncDatabaseInput struct { // MarshalJSON is the custom marshaler for MigrateOracleAzureDbPostgreSQLSyncDatabaseInput. func (moadpssdi MigrateOracleAzureDbPostgreSQLSyncDatabaseInput) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) + if moadpssdi.CaseManipulation != nil { + objectMap["caseManipulation"] = moadpssdi.CaseManipulation + } if moadpssdi.Name != nil { objectMap["name"] = moadpssdi.Name } From b04065c2a0984eaad73efa4d3ec51957a186d365 Mon Sep 17 00:00:00 2001 From: Azure SDK for Python bot Date: Thu, 1 Aug 2019 21:40:36 +0000 Subject: [PATCH 02/12] Generated from b3623415bfb03b5a528c8a2a20caad53aba43ce2 Adding managed resource group and log Analytics Workspace to the GET API --- .../hanaonazure/mgmt/2017-11-03-preview/hanaonazure/models.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/services/preview/hanaonazure/mgmt/2017-11-03-preview/hanaonazure/models.go b/services/preview/hanaonazure/mgmt/2017-11-03-preview/hanaonazure/models.go index 13ffffcd6a84..71a4e41c1e81 100644 --- a/services/preview/hanaonazure/mgmt/2017-11-03-preview/hanaonazure/models.go +++ b/services/preview/hanaonazure/mgmt/2017-11-03-preview/hanaonazure/models.go @@ -923,6 +923,10 @@ type SapMonitorProperties struct { HanaDbCredentialsMsiID *string `json:"hanaDbCredentialsMsiId,omitempty"` // ProvisioningState - READ-ONLY; State of provisioning of the HanaInstance. Possible values include: 'Accepted', 'Creating', 'Updating', 'Failed', 'Succeeded', 'Deleting', 'Migrating' ProvisioningState HanaProvisioningStatesEnum `json:"provisioningState,omitempty"` + // ManagedResourceGroupName - READ-ONLY; The name of the resource group the SAP Monitor resources get deployed into. + ManagedResourceGroupName *string `json:"managedResourceGroupName,omitempty"` + // LogAnalyticsWorkspaceArmID - READ-ONLY; The ARM ID of the Log Analytics Workspace that is used for monitoring + LogAnalyticsWorkspaceArmID *string `json:"logAnalyticsWorkspaceArmID,omitempty"` } // SapMonitorsCreateFuture an abstraction for monitoring and retrieving the results of a long-running From 0e470cf2eb41fb0c17dde0beca8c806b539ffd29 Mon Sep 17 00:00:00 2001 From: Azure SDK for Python bot Date: Fri, 2 Aug 2019 22:54:29 +0000 Subject: [PATCH 03/12] Generated from f1354d954d03c2283656d3c820a88dcfc2ddf79e Updating fields in the list and patch APIs --- .../hanaonazure/mgmt/2017-11-03-preview/hanaonazure/models.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/preview/hanaonazure/mgmt/2017-11-03-preview/hanaonazure/models.go b/services/preview/hanaonazure/mgmt/2017-11-03-preview/hanaonazure/models.go index 71a4e41c1e81..a7897ab2f431 100644 --- a/services/preview/hanaonazure/mgmt/2017-11-03-preview/hanaonazure/models.go +++ b/services/preview/hanaonazure/mgmt/2017-11-03-preview/hanaonazure/models.go @@ -926,7 +926,7 @@ type SapMonitorProperties struct { // ManagedResourceGroupName - READ-ONLY; The name of the resource group the SAP Monitor resources get deployed into. ManagedResourceGroupName *string `json:"managedResourceGroupName,omitempty"` // LogAnalyticsWorkspaceArmID - READ-ONLY; The ARM ID of the Log Analytics Workspace that is used for monitoring - LogAnalyticsWorkspaceArmID *string `json:"logAnalyticsWorkspaceArmID,omitempty"` + LogAnalyticsWorkspaceArmID *string `json:"logAnalyticsWorkspaceArmId,omitempty"` } // SapMonitorsCreateFuture an abstraction for monitoring and retrieving the results of a long-running From 7fed295c3475858e63ee33aba1cbca775d4ecc16 Mon Sep 17 00:00:00 2001 From: Azure SDK for Python bot Date: Mon, 5 Aug 2019 23:57:36 +0000 Subject: [PATCH 04/12] Generated from df3fa85139fca07f04373031470bed637e7b8126 Update Batch Swagger documentation --- .../batch/2019-08-01.10.0/batch/models.go | 20 +++++++++++-------- .../batch/mgmt/2019-08-01/batch/models.go | 20 +++++++++++-------- 2 files changed, 24 insertions(+), 16 deletions(-) diff --git a/services/batch/2019-08-01.10.0/batch/models.go b/services/batch/2019-08-01.10.0/batch/models.go index 1934a9c3d4b6..d257731256c6 100644 --- a/services/batch/2019-08-01.10.0/batch/models.go +++ b/services/batch/2019-08-01.10.0/batch/models.go @@ -1207,12 +1207,14 @@ type AzureBlobFileSystemConfiguration struct { // AzureFileShareConfiguration ... type AzureFileShareConfiguration struct { - AccountName *string `json:"accountName,omitempty"` + AccountName *string `json:"accountName,omitempty"` + // AzureFileURL - This is of the form 'https://{account}.file.core.windows.net/'. AzureFileURL *string `json:"azureFileUrl,omitempty"` AccountKey *string `json:"accountKey,omitempty"` // RelativeMountPath - All file systems are mounted relative to the Batch mounts directory, accessible via the AZ_BATCH_NODE_MOUNTS_DIR environment variable. RelativeMountPath *string `json:"relativeMountPath,omitempty"` - MountOptions *string `json:"mountOptions,omitempty"` + // MountOptions - These are 'net use' options in Windows and 'mount' options in Linux. + MountOptions *string `json:"mountOptions,omitempty"` } // Certificate a Certificate that can be installed on Compute Nodes and can be used to authenticate @@ -1407,8 +1409,9 @@ type CIFSMountConfiguration struct { Source *string `json:"source,omitempty"` // RelativeMountPath - All file systems are mounted relative to the Batch mounts directory, accessible via the AZ_BATCH_NODE_MOUNTS_DIR environment variable. RelativeMountPath *string `json:"relativeMountPath,omitempty"` - MountOptions *string `json:"mountOptions,omitempty"` - Password *string `json:"password,omitempty"` + // MountOptions - These are 'net use' options in Windows and 'mount' options in Linux. + MountOptions *string `json:"mountOptions,omitempty"` + Password *string `json:"password,omitempty"` } // CloudJob ... @@ -3116,7 +3119,7 @@ type MetadataItem struct { Value *string `json:"value,omitempty"` } -// MountConfiguration each property is mutually exclusive. +// MountConfiguration ... type MountConfiguration struct { // AzureBlobFileSystemConfiguration - This property is mutually exclusive with all other properties. AzureBlobFileSystemConfiguration *AzureBlobFileSystemConfiguration `json:"azureBlobFileSystemConfiguration,omitempty"` @@ -3124,7 +3127,7 @@ type MountConfiguration struct { NfsMountConfiguration *NFSMountConfiguration `json:"nfsMountConfiguration,omitempty"` // CifsMountConfiguration - This property is mutually exclusive with all other properties. CifsMountConfiguration *CIFSMountConfiguration `json:"cifsMountConfiguration,omitempty"` - // AzureFileShareConfiguration - This is CIFS based for linux and net use for for windows, and this property is mutually exclusive with all other properties. + // AzureFileShareConfiguration - This property is mutually exclusive with all other properties. AzureFileShareConfiguration *AzureFileShareConfiguration `json:"azureFileShareConfiguration,omitempty"` } @@ -3155,7 +3158,7 @@ type NetworkConfiguration struct { DynamicVNetAssignmentScope DynamicVNetAssignmentScope `json:"dynamicVNetAssignmentScope,omitempty"` // EndpointConfiguration - Pool endpoint configuration is only supported on Pools with the virtualMachineConfiguration property. EndpointConfiguration *PoolEndpointConfiguration `json:"endpointConfiguration,omitempty"` - // PublicIPs - The number of IPs specified here limits the maximum size of the Pool - 50 dedicated nodes or 20 low-priority nodes can be allocated for each public IP. For example, a pool needing 150 dedicated VMs would need at least 3 public IPs specified. This is of the form: /subscriptions/{subscription}/resourceGroups/{group}/providers/Microsoft.Network/publicIPAddresses/{ip}. + // PublicIPs - The number of IPs specified here limits the maximum size of the Pool - 50 dedicated nodes or 20 low-priority nodes can be allocated for each public IP. For example, a pool needing 150 dedicated VMs would need at least 3 public IPs specified. Each element of this collection is of the form: /subscriptions/{subscription}/resourceGroups/{group}/providers/Microsoft.Network/publicIPAddresses/{ip}. PublicIPs *[]string `json:"publicIPs,omitempty"` } @@ -3176,7 +3179,8 @@ type NFSMountConfiguration struct { Source *string `json:"source,omitempty"` // RelativeMountPath - All file systems are mounted relative to the Batch mounts directory, accessible via the AZ_BATCH_NODE_MOUNTS_DIR environment variable. RelativeMountPath *string `json:"relativeMountPath,omitempty"` - MountOptions *string `json:"mountOptions,omitempty"` + // MountOptions - These are 'net use' options in Windows and 'mount' options in Linux. + MountOptions *string `json:"mountOptions,omitempty"` } // NodeAgentInformation the Batch Compute Node agent is a program that runs on each Compute Node in the diff --git a/services/batch/mgmt/2019-08-01/batch/models.go b/services/batch/mgmt/2019-08-01/batch/models.go index f0336b058c85..45ff56b28ffc 100644 --- a/services/batch/mgmt/2019-08-01/batch/models.go +++ b/services/batch/mgmt/2019-08-01/batch/models.go @@ -1146,12 +1146,14 @@ type AzureBlobFileSystemConfiguration struct { // AzureFileShareConfiguration ... type AzureFileShareConfiguration struct { - AccountName *string `json:"accountName,omitempty"` + AccountName *string `json:"accountName,omitempty"` + // AzureFileURL - This is of the form 'https://{account}.file.core.windows.net/'. AzureFileURL *string `json:"azureFileUrl,omitempty"` AccountKey *string `json:"accountKey,omitempty"` // RelativeMountPath - All file systems are mounted relative to the Batch mounts directory, accessible via the AZ_BATCH_NODE_MOUNTS_DIR environment variable. RelativeMountPath *string `json:"relativeMountPath,omitempty"` - MountOptions *string `json:"mountOptions,omitempty"` + // MountOptions - These are 'net use' options in Windows and 'mount' options in Linux. + MountOptions *string `json:"mountOptions,omitempty"` } // Certificate contains information about a certificate. @@ -1454,8 +1456,9 @@ type CIFSMountConfiguration struct { Source *string `json:"source,omitempty"` // RelativeMountPath - All file systems are mounted relative to the Batch mounts directory, accessible via the AZ_BATCH_NODE_MOUNTS_DIR environment variable. RelativeMountPath *string `json:"relativeMountPath,omitempty"` - MountOptions *string `json:"mountOptions,omitempty"` - Password *string `json:"password,omitempty"` + // MountOptions - These are 'net use' options in Windows and 'mount' options in Linux. + MountOptions *string `json:"mountOptions,omitempty"` + Password *string `json:"password,omitempty"` } // CloudError an error response from the Batch service. @@ -2203,7 +2206,7 @@ type MetadataItem struct { Value *string `json:"value,omitempty"` } -// MountConfiguration each property is mutually exclusive. +// MountConfiguration ... type MountConfiguration struct { // AzureBlobFileSystemConfiguration - This property is mutually exclusive with all other properties. AzureBlobFileSystemConfiguration *AzureBlobFileSystemConfiguration `json:"azureBlobFileSystemConfiguration,omitempty"` @@ -2211,7 +2214,7 @@ type MountConfiguration struct { NfsMountConfiguration *NFSMountConfiguration `json:"nfsMountConfiguration,omitempty"` // CifsMountConfiguration - This property is mutually exclusive with all other properties. CifsMountConfiguration *CIFSMountConfiguration `json:"cifsMountConfiguration,omitempty"` - // AzureFileShareConfiguration - This is CIFS based for linux and net use for for windows, and this property is mutually exclusive with all other properties. + // AzureFileShareConfiguration - This property is mutually exclusive with all other properties. AzureFileShareConfiguration *AzureFileShareConfiguration `json:"azureFileShareConfiguration,omitempty"` } @@ -2221,7 +2224,7 @@ type NetworkConfiguration struct { SubnetID *string `json:"subnetId,omitempty"` // EndpointConfiguration - Pool endpoint configuration is only supported on pools with the virtualMachineConfiguration property. EndpointConfiguration *PoolEndpointConfiguration `json:"endpointConfiguration,omitempty"` - // PublicIPs - The number of IPs specified here limits the maximum size of the Pool - 50 dedicated nodes or 20 low-priority nodes can be allocated for each public IP. For example, a pool needing 150 dedicated VMs would need at least 3 public IPs specified. This is of the form: /subscriptions/{subscription}/resourceGroups/{group}/providers/Microsoft.Network/publicIPAddresses/{ip}. + // PublicIPs - The number of IPs specified here limits the maximum size of the Pool - 50 dedicated nodes or 20 low-priority nodes can be allocated for each public IP. For example, a pool needing 150 dedicated VMs would need at least 3 public IPs specified. Each element of this collection is of the form: /subscriptions/{subscription}/resourceGroups/{group}/providers/Microsoft.Network/publicIPAddresses/{ip}. PublicIPs *[]string `json:"publicIPs,omitempty"` } @@ -2242,7 +2245,8 @@ type NFSMountConfiguration struct { Source *string `json:"source,omitempty"` // RelativeMountPath - All file systems are mounted relative to the Batch mounts directory, accessible via the AZ_BATCH_NODE_MOUNTS_DIR environment variable. RelativeMountPath *string `json:"relativeMountPath,omitempty"` - MountOptions *string `json:"mountOptions,omitempty"` + // MountOptions - These are 'net use' options in Windows and 'mount' options in Linux. + MountOptions *string `json:"mountOptions,omitempty"` } // Operation ... From 81b98afcc28706c389c2d9ee401a337677d8fce8 Mon Sep 17 00:00:00 2001 From: Azure SDK for Python bot Date: Wed, 7 Aug 2019 11:21:35 -0700 Subject: [PATCH 05/12] [AutoPR servicefabric/resource-manager] Moving sfrp release 2019-03-01 to stable (#5314) * Generated from b1a5bbf475639da8e8bf4783ba33a4af17caa08c remove location and tags from proxyResource * Generated from 14c9abcc8bd1b6e9635a60226e3966b774951e28 Revert "remove location and tags from proxyResource" This reverts commit b1a5bbf475639da8e8bf4783ba33a4af17caa08c. * Generated from 2380d7af2f3e2d507c5486d8fb6abfd816a65bed change location description in ProxyResource to dcument as deprecated * Generated from 17ffb0840e98cd725c5c999160787b8605c414d6 rename put operations to *_CreateOrUpdate --- .../mgmt/servicefabric/models.go | 25 +- .../mgmt/servicefabric/models.go | 25 +- .../servicefabric/applications.go | 441 ++ .../servicefabric/applicationtypes.go | 359 ++ .../servicefabric/applicationtypeversions.go | 375 ++ .../servicefabric/client.go | 51 + .../servicefabric/clusters.go | 557 +++ .../servicefabric/clusterversions.go | 349 ++ .../servicefabric/models.go | 4239 +++++++++++++++++ .../servicefabric/operations.go | 147 + .../servicefabricapi/interfaces.go | 95 + .../servicefabric/services.go | 451 ++ .../servicefabric/version.go | 30 + .../2019-03-01/servicefabric/applications.go | 58 +- .../servicefabric/applicationtypes.go | 54 +- .../servicefabric/applicationtypeversions.go | 52 +- .../mgmt/2019-03-01/servicefabric/client.go | 2 +- .../mgmt/2019-03-01/servicefabric/clusters.go | 64 +- .../servicefabric/clusterversions.go | 24 +- .../mgmt/2019-03-01/servicefabric/models.go | 428 +- .../2019-03-01/servicefabric/operations.go | 6 +- .../servicefabricapi/interfaces.go | 10 +- .../mgmt/2019-03-01/servicefabric/services.go | 58 +- 23 files changed, 7618 insertions(+), 282 deletions(-) create mode 100644 services/preview/servicefabric/mgmt/2019-03-01-preview/servicefabric/applications.go create mode 100644 services/preview/servicefabric/mgmt/2019-03-01-preview/servicefabric/applicationtypes.go create mode 100644 services/preview/servicefabric/mgmt/2019-03-01-preview/servicefabric/applicationtypeversions.go create mode 100644 services/preview/servicefabric/mgmt/2019-03-01-preview/servicefabric/client.go create mode 100644 services/preview/servicefabric/mgmt/2019-03-01-preview/servicefabric/clusters.go create mode 100644 services/preview/servicefabric/mgmt/2019-03-01-preview/servicefabric/clusterversions.go create mode 100644 services/preview/servicefabric/mgmt/2019-03-01-preview/servicefabric/models.go create mode 100644 services/preview/servicefabric/mgmt/2019-03-01-preview/servicefabric/operations.go create mode 100644 services/preview/servicefabric/mgmt/2019-03-01-preview/servicefabric/servicefabricapi/interfaces.go create mode 100644 services/preview/servicefabric/mgmt/2019-03-01-preview/servicefabric/services.go create mode 100644 services/preview/servicefabric/mgmt/2019-03-01-preview/servicefabric/version.go diff --git a/profiles/latest/servicefabric/mgmt/servicefabric/models.go b/profiles/latest/servicefabric/mgmt/servicefabric/models.go index b836cce76496..0f8b50fa3cc8 100644 --- a/profiles/latest/servicefabric/mgmt/servicefabric/models.go +++ b/profiles/latest/servicefabric/mgmt/servicefabric/models.go @@ -36,6 +36,13 @@ const ( SharedProcess ArmServicePackageActivationMode = original.SharedProcess ) +type ArmUpgradeFailureAction = original.ArmUpgradeFailureAction + +const ( + Manual ArmUpgradeFailureAction = original.Manual + Rollback ArmUpgradeFailureAction = original.Rollback +) + type ClusterState = original.ClusterState const ( @@ -184,8 +191,8 @@ const ( type UpgradeMode = original.UpgradeMode const ( - Automatic UpgradeMode = original.Automatic - Manual UpgradeMode = original.Manual + UpgradeModeAutomatic UpgradeMode = original.UpgradeModeAutomatic + UpgradeModeManual UpgradeMode = original.UpgradeModeManual ) type UpgradeMode1 = original.UpgradeMode1 @@ -236,16 +243,18 @@ type ApplicationTypeVersionResource = original.ApplicationTypeVersionResource type ApplicationTypeVersionResourceList = original.ApplicationTypeVersionResourceList type ApplicationTypeVersionResourceProperties = original.ApplicationTypeVersionResourceProperties type ApplicationTypeVersionsClient = original.ApplicationTypeVersionsClient -type ApplicationTypeVersionsCreateFuture = original.ApplicationTypeVersionsCreateFuture +type ApplicationTypeVersionsCreateOrUpdateFuture = original.ApplicationTypeVersionsCreateOrUpdateFuture type ApplicationTypeVersionsDeleteFuture = original.ApplicationTypeVersionsDeleteFuture type ApplicationTypesClient = original.ApplicationTypesClient type ApplicationTypesDeleteFuture = original.ApplicationTypesDeleteFuture type ApplicationUpgradePolicy = original.ApplicationUpgradePolicy type ApplicationsClient = original.ApplicationsClient -type ApplicationsCreateFuture = original.ApplicationsCreateFuture +type ApplicationsCreateOrUpdateFuture = original.ApplicationsCreateOrUpdateFuture type ApplicationsDeleteFuture = original.ApplicationsDeleteFuture type ApplicationsUpdateFuture = original.ApplicationsUpdateFuture type ArmApplicationHealthPolicy = original.ArmApplicationHealthPolicy +type ArmRollingUpgradeMonitoringPolicy = original.ArmRollingUpgradeMonitoringPolicy +type ArmServiceTypeHealthPolicy = original.ArmServiceTypeHealthPolicy type AvailableOperationDisplay = original.AvailableOperationDisplay type AzureActiveDirectory = original.AzureActiveDirectory type BaseClient = original.BaseClient @@ -269,7 +278,7 @@ type ClusterUpgradePolicy = original.ClusterUpgradePolicy type ClusterVersionDetails = original.ClusterVersionDetails type ClusterVersionsClient = original.ClusterVersionsClient type ClustersClient = original.ClustersClient -type ClustersCreateFuture = original.ClustersCreateFuture +type ClustersCreateOrUpdateFuture = original.ClustersCreateOrUpdateFuture type ClustersUpdateFuture = original.ClustersUpdateFuture type DiagnosticsStorageAccountConfig = original.DiagnosticsStorageAccountConfig type EndpointRangeDescription = original.EndpointRangeDescription @@ -285,7 +294,6 @@ type OperationsClient = original.OperationsClient type PartitionSchemeDescription = original.PartitionSchemeDescription type ProxyResource = original.ProxyResource type Resource = original.Resource -type RollingUpgradeMonitoringPolicy = original.RollingUpgradeMonitoringPolicy type ServerCertificateCommonName = original.ServerCertificateCommonName type ServerCertificateCommonNames = original.ServerCertificateCommonNames type ServiceCorrelationDescription = original.ServiceCorrelationDescription @@ -300,7 +308,7 @@ type ServiceResourceUpdateProperties = original.ServiceResourceUpdateProperties type ServiceTypeDeltaHealthPolicy = original.ServiceTypeDeltaHealthPolicy type ServiceTypeHealthPolicy = original.ServiceTypeHealthPolicy type ServicesClient = original.ServicesClient -type ServicesCreateFuture = original.ServicesCreateFuture +type ServicesCreateOrUpdateFuture = original.ServicesCreateOrUpdateFuture type ServicesDeleteFuture = original.ServicesDeleteFuture type ServicesUpdateFuture = original.ServicesUpdateFuture type SettingsParameterDescription = original.SettingsParameterDescription @@ -369,6 +377,9 @@ func NewWithBaseURI(baseURI string, subscriptionID string) BaseClient { func PossibleArmServicePackageActivationModeValues() []ArmServicePackageActivationMode { return original.PossibleArmServicePackageActivationModeValues() } +func PossibleArmUpgradeFailureActionValues() []ArmUpgradeFailureAction { + return original.PossibleArmUpgradeFailureActionValues() +} func PossibleClusterStateValues() []ClusterState { return original.PossibleClusterStateValues() } diff --git a/profiles/preview/servicefabric/mgmt/servicefabric/models.go b/profiles/preview/servicefabric/mgmt/servicefabric/models.go index 651ca35ef2dd..1646871573e3 100644 --- a/profiles/preview/servicefabric/mgmt/servicefabric/models.go +++ b/profiles/preview/servicefabric/mgmt/servicefabric/models.go @@ -36,6 +36,13 @@ const ( SharedProcess ArmServicePackageActivationMode = original.SharedProcess ) +type ArmUpgradeFailureAction = original.ArmUpgradeFailureAction + +const ( + Manual ArmUpgradeFailureAction = original.Manual + Rollback ArmUpgradeFailureAction = original.Rollback +) + type ClusterState = original.ClusterState const ( @@ -184,8 +191,8 @@ const ( type UpgradeMode = original.UpgradeMode const ( - Automatic UpgradeMode = original.Automatic - Manual UpgradeMode = original.Manual + UpgradeModeAutomatic UpgradeMode = original.UpgradeModeAutomatic + UpgradeModeManual UpgradeMode = original.UpgradeModeManual ) type UpgradeMode1 = original.UpgradeMode1 @@ -236,16 +243,18 @@ type ApplicationTypeVersionResource = original.ApplicationTypeVersionResource type ApplicationTypeVersionResourceList = original.ApplicationTypeVersionResourceList type ApplicationTypeVersionResourceProperties = original.ApplicationTypeVersionResourceProperties type ApplicationTypeVersionsClient = original.ApplicationTypeVersionsClient -type ApplicationTypeVersionsCreateFuture = original.ApplicationTypeVersionsCreateFuture +type ApplicationTypeVersionsCreateOrUpdateFuture = original.ApplicationTypeVersionsCreateOrUpdateFuture type ApplicationTypeVersionsDeleteFuture = original.ApplicationTypeVersionsDeleteFuture type ApplicationTypesClient = original.ApplicationTypesClient type ApplicationTypesDeleteFuture = original.ApplicationTypesDeleteFuture type ApplicationUpgradePolicy = original.ApplicationUpgradePolicy type ApplicationsClient = original.ApplicationsClient -type ApplicationsCreateFuture = original.ApplicationsCreateFuture +type ApplicationsCreateOrUpdateFuture = original.ApplicationsCreateOrUpdateFuture type ApplicationsDeleteFuture = original.ApplicationsDeleteFuture type ApplicationsUpdateFuture = original.ApplicationsUpdateFuture type ArmApplicationHealthPolicy = original.ArmApplicationHealthPolicy +type ArmRollingUpgradeMonitoringPolicy = original.ArmRollingUpgradeMonitoringPolicy +type ArmServiceTypeHealthPolicy = original.ArmServiceTypeHealthPolicy type AvailableOperationDisplay = original.AvailableOperationDisplay type AzureActiveDirectory = original.AzureActiveDirectory type BaseClient = original.BaseClient @@ -269,7 +278,7 @@ type ClusterUpgradePolicy = original.ClusterUpgradePolicy type ClusterVersionDetails = original.ClusterVersionDetails type ClusterVersionsClient = original.ClusterVersionsClient type ClustersClient = original.ClustersClient -type ClustersCreateFuture = original.ClustersCreateFuture +type ClustersCreateOrUpdateFuture = original.ClustersCreateOrUpdateFuture type ClustersUpdateFuture = original.ClustersUpdateFuture type DiagnosticsStorageAccountConfig = original.DiagnosticsStorageAccountConfig type EndpointRangeDescription = original.EndpointRangeDescription @@ -285,7 +294,6 @@ type OperationsClient = original.OperationsClient type PartitionSchemeDescription = original.PartitionSchemeDescription type ProxyResource = original.ProxyResource type Resource = original.Resource -type RollingUpgradeMonitoringPolicy = original.RollingUpgradeMonitoringPolicy type ServerCertificateCommonName = original.ServerCertificateCommonName type ServerCertificateCommonNames = original.ServerCertificateCommonNames type ServiceCorrelationDescription = original.ServiceCorrelationDescription @@ -300,7 +308,7 @@ type ServiceResourceUpdateProperties = original.ServiceResourceUpdateProperties type ServiceTypeDeltaHealthPolicy = original.ServiceTypeDeltaHealthPolicy type ServiceTypeHealthPolicy = original.ServiceTypeHealthPolicy type ServicesClient = original.ServicesClient -type ServicesCreateFuture = original.ServicesCreateFuture +type ServicesCreateOrUpdateFuture = original.ServicesCreateOrUpdateFuture type ServicesDeleteFuture = original.ServicesDeleteFuture type ServicesUpdateFuture = original.ServicesUpdateFuture type SettingsParameterDescription = original.SettingsParameterDescription @@ -369,6 +377,9 @@ func NewWithBaseURI(baseURI string, subscriptionID string) BaseClient { func PossibleArmServicePackageActivationModeValues() []ArmServicePackageActivationMode { return original.PossibleArmServicePackageActivationModeValues() } +func PossibleArmUpgradeFailureActionValues() []ArmUpgradeFailureAction { + return original.PossibleArmUpgradeFailureActionValues() +} func PossibleClusterStateValues() []ClusterState { return original.PossibleClusterStateValues() } diff --git a/services/preview/servicefabric/mgmt/2019-03-01-preview/servicefabric/applications.go b/services/preview/servicefabric/mgmt/2019-03-01-preview/servicefabric/applications.go new file mode 100644 index 000000000000..6fa4e1a8c9a5 --- /dev/null +++ b/services/preview/servicefabric/mgmt/2019-03-01-preview/servicefabric/applications.go @@ -0,0 +1,441 @@ +package servicefabric + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// ApplicationsClient is the service Fabric Management Client +type ApplicationsClient struct { + BaseClient +} + +// NewApplicationsClient creates an instance of the ApplicationsClient client. +func NewApplicationsClient(subscriptionID string) ApplicationsClient { + return NewApplicationsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewApplicationsClientWithBaseURI creates an instance of the ApplicationsClient client. +func NewApplicationsClientWithBaseURI(baseURI string, subscriptionID string) ApplicationsClient { + return ApplicationsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// Create create or update a Service Fabric application resource with the specified name. +// Parameters: +// resourceGroupName - the name of the resource group. +// clusterName - the name of the cluster resource. +// applicationName - the name of the application resource. +// parameters - the application resource. +func (client ApplicationsClient) Create(ctx context.Context, resourceGroupName string, clusterName string, applicationName string, parameters ApplicationResource) (result ApplicationsCreateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationsClient.Create") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreatePreparer(ctx, resourceGroupName, clusterName, applicationName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "servicefabric.ApplicationsClient", "Create", nil, "Failure preparing request") + return + } + + result, err = client.CreateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "servicefabric.ApplicationsClient", "Create", result.Response(), "Failure sending request") + return + } + + return +} + +// CreatePreparer prepares the Create request. +func (client ApplicationsClient) CreatePreparer(ctx context.Context, resourceGroupName string, clusterName string, applicationName string, parameters ApplicationResource) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "applicationName": autorest.Encode("path", applicationName), + "clusterName": autorest.Encode("path", clusterName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-03-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applications/{applicationName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateSender sends the Create request. The method will close the +// http.Response Body if it receives an error. +func (client ApplicationsClient) CreateSender(req *http.Request) (future ApplicationsCreateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateResponder handles the response to the Create request. The method always +// closes the http.Response Body. +func (client ApplicationsClient) CreateResponder(resp *http.Response) (result ApplicationResource, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete delete a Service Fabric application resource with the specified name. +// Parameters: +// resourceGroupName - the name of the resource group. +// clusterName - the name of the cluster resource. +// applicationName - the name of the application resource. +func (client ApplicationsClient) Delete(ctx context.Context, resourceGroupName string, clusterName string, applicationName string) (result ApplicationsDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationsClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, clusterName, applicationName) + if err != nil { + err = autorest.NewErrorWithError(err, "servicefabric.ApplicationsClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "servicefabric.ApplicationsClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client ApplicationsClient) DeletePreparer(ctx context.Context, resourceGroupName string, clusterName string, applicationName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "applicationName": autorest.Encode("path", applicationName), + "clusterName": autorest.Encode("path", clusterName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-03-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applications/{applicationName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client ApplicationsClient) DeleteSender(req *http.Request) (future ApplicationsDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client ApplicationsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get get a Service Fabric application resource created or in the process of being created in the Service Fabric +// cluster resource. +// Parameters: +// resourceGroupName - the name of the resource group. +// clusterName - the name of the cluster resource. +// applicationName - the name of the application resource. +func (client ApplicationsClient) Get(ctx context.Context, resourceGroupName string, clusterName string, applicationName string) (result ApplicationResource, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, clusterName, applicationName) + if err != nil { + err = autorest.NewErrorWithError(err, "servicefabric.ApplicationsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "servicefabric.ApplicationsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "servicefabric.ApplicationsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client ApplicationsClient) GetPreparer(ctx context.Context, resourceGroupName string, clusterName string, applicationName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "applicationName": autorest.Encode("path", applicationName), + "clusterName": autorest.Encode("path", clusterName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-03-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applications/{applicationName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client ApplicationsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client ApplicationsClient) GetResponder(resp *http.Response) (result ApplicationResource, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets all application resources created or in the process of being created in the Service Fabric cluster +// resource. +// Parameters: +// resourceGroupName - the name of the resource group. +// clusterName - the name of the cluster resource. +func (client ApplicationsClient) List(ctx context.Context, resourceGroupName string, clusterName string) (result ApplicationResourceList, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationsClient.List") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListPreparer(ctx, resourceGroupName, clusterName) + if err != nil { + err = autorest.NewErrorWithError(err, "servicefabric.ApplicationsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "servicefabric.ApplicationsClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "servicefabric.ApplicationsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client ApplicationsClient) ListPreparer(ctx context.Context, resourceGroupName string, clusterName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "clusterName": autorest.Encode("path", clusterName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-03-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applications", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client ApplicationsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client ApplicationsClient) ListResponder(resp *http.Response) (result ApplicationResourceList, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Update update a Service Fabric application resource with the specified name. +// Parameters: +// resourceGroupName - the name of the resource group. +// clusterName - the name of the cluster resource. +// applicationName - the name of the application resource. +// parameters - the application resource for patch operations. +func (client ApplicationsClient) Update(ctx context.Context, resourceGroupName string, clusterName string, applicationName string, parameters ApplicationResourceUpdate) (result ApplicationsUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationsClient.Update") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdatePreparer(ctx, resourceGroupName, clusterName, applicationName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "servicefabric.ApplicationsClient", "Update", nil, "Failure preparing request") + return + } + + result, err = client.UpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "servicefabric.ApplicationsClient", "Update", result.Response(), "Failure sending request") + return + } + + return +} + +// UpdatePreparer prepares the Update request. +func (client ApplicationsClient) UpdatePreparer(ctx context.Context, resourceGroupName string, clusterName string, applicationName string, parameters ApplicationResourceUpdate) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "applicationName": autorest.Encode("path", applicationName), + "clusterName": autorest.Encode("path", clusterName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-03-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applications/{applicationName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateSender sends the Update request. The method will close the +// http.Response Body if it receives an error. +func (client ApplicationsClient) UpdateSender(req *http.Request) (future ApplicationsUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// UpdateResponder handles the response to the Update request. The method always +// closes the http.Response Body. +func (client ApplicationsClient) UpdateResponder(resp *http.Response) (result ApplicationResource, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/preview/servicefabric/mgmt/2019-03-01-preview/servicefabric/applicationtypes.go b/services/preview/servicefabric/mgmt/2019-03-01-preview/servicefabric/applicationtypes.go new file mode 100644 index 000000000000..6e7d97a9a721 --- /dev/null +++ b/services/preview/servicefabric/mgmt/2019-03-01-preview/servicefabric/applicationtypes.go @@ -0,0 +1,359 @@ +package servicefabric + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// ApplicationTypesClient is the service Fabric Management Client +type ApplicationTypesClient struct { + BaseClient +} + +// NewApplicationTypesClient creates an instance of the ApplicationTypesClient client. +func NewApplicationTypesClient(subscriptionID string) ApplicationTypesClient { + return NewApplicationTypesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewApplicationTypesClientWithBaseURI creates an instance of the ApplicationTypesClient client. +func NewApplicationTypesClientWithBaseURI(baseURI string, subscriptionID string) ApplicationTypesClient { + return ApplicationTypesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// Create create or update a Service Fabric application type name resource with the specified name. +// Parameters: +// resourceGroupName - the name of the resource group. +// clusterName - the name of the cluster resource. +// applicationTypeName - the name of the application type name resource. +// parameters - the application type name resource. +func (client ApplicationTypesClient) Create(ctx context.Context, resourceGroupName string, clusterName string, applicationTypeName string, parameters ApplicationTypeResource) (result ApplicationTypeResource, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationTypesClient.Create") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreatePreparer(ctx, resourceGroupName, clusterName, applicationTypeName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "servicefabric.ApplicationTypesClient", "Create", nil, "Failure preparing request") + return + } + + resp, err := client.CreateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "servicefabric.ApplicationTypesClient", "Create", resp, "Failure sending request") + return + } + + result, err = client.CreateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "servicefabric.ApplicationTypesClient", "Create", resp, "Failure responding to request") + } + + return +} + +// CreatePreparer prepares the Create request. +func (client ApplicationTypesClient) CreatePreparer(ctx context.Context, resourceGroupName string, clusterName string, applicationTypeName string, parameters ApplicationTypeResource) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "applicationTypeName": autorest.Encode("path", applicationTypeName), + "clusterName": autorest.Encode("path", clusterName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-03-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applicationTypes/{applicationTypeName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateSender sends the Create request. The method will close the +// http.Response Body if it receives an error. +func (client ApplicationTypesClient) CreateSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CreateResponder handles the response to the Create request. The method always +// closes the http.Response Body. +func (client ApplicationTypesClient) CreateResponder(resp *http.Response) (result ApplicationTypeResource, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete delete a Service Fabric application type name resource with the specified name. +// Parameters: +// resourceGroupName - the name of the resource group. +// clusterName - the name of the cluster resource. +// applicationTypeName - the name of the application type name resource. +func (client ApplicationTypesClient) Delete(ctx context.Context, resourceGroupName string, clusterName string, applicationTypeName string) (result ApplicationTypesDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationTypesClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, clusterName, applicationTypeName) + if err != nil { + err = autorest.NewErrorWithError(err, "servicefabric.ApplicationTypesClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "servicefabric.ApplicationTypesClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client ApplicationTypesClient) DeletePreparer(ctx context.Context, resourceGroupName string, clusterName string, applicationTypeName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "applicationTypeName": autorest.Encode("path", applicationTypeName), + "clusterName": autorest.Encode("path", clusterName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-03-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applicationTypes/{applicationTypeName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client ApplicationTypesClient) DeleteSender(req *http.Request) (future ApplicationTypesDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client ApplicationTypesClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get get a Service Fabric application type name resource created or in the process of being created in the Service +// Fabric cluster resource. +// Parameters: +// resourceGroupName - the name of the resource group. +// clusterName - the name of the cluster resource. +// applicationTypeName - the name of the application type name resource. +func (client ApplicationTypesClient) Get(ctx context.Context, resourceGroupName string, clusterName string, applicationTypeName string) (result ApplicationTypeResource, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationTypesClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, clusterName, applicationTypeName) + if err != nil { + err = autorest.NewErrorWithError(err, "servicefabric.ApplicationTypesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "servicefabric.ApplicationTypesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "servicefabric.ApplicationTypesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client ApplicationTypesClient) GetPreparer(ctx context.Context, resourceGroupName string, clusterName string, applicationTypeName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "applicationTypeName": autorest.Encode("path", applicationTypeName), + "clusterName": autorest.Encode("path", clusterName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-03-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applicationTypes/{applicationTypeName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client ApplicationTypesClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client ApplicationTypesClient) GetResponder(resp *http.Response) (result ApplicationTypeResource, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets all application type name resources created or in the process of being created in the Service Fabric +// cluster resource. +// Parameters: +// resourceGroupName - the name of the resource group. +// clusterName - the name of the cluster resource. +func (client ApplicationTypesClient) List(ctx context.Context, resourceGroupName string, clusterName string) (result ApplicationTypeResourceList, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationTypesClient.List") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListPreparer(ctx, resourceGroupName, clusterName) + if err != nil { + err = autorest.NewErrorWithError(err, "servicefabric.ApplicationTypesClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "servicefabric.ApplicationTypesClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "servicefabric.ApplicationTypesClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client ApplicationTypesClient) ListPreparer(ctx context.Context, resourceGroupName string, clusterName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "clusterName": autorest.Encode("path", clusterName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-03-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applicationTypes", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client ApplicationTypesClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client ApplicationTypesClient) ListResponder(resp *http.Response) (result ApplicationTypeResourceList, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/preview/servicefabric/mgmt/2019-03-01-preview/servicefabric/applicationtypeversions.go b/services/preview/servicefabric/mgmt/2019-03-01-preview/servicefabric/applicationtypeversions.go new file mode 100644 index 000000000000..b9a1c3476dc9 --- /dev/null +++ b/services/preview/servicefabric/mgmt/2019-03-01-preview/servicefabric/applicationtypeversions.go @@ -0,0 +1,375 @@ +package servicefabric + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// ApplicationTypeVersionsClient is the service Fabric Management Client +type ApplicationTypeVersionsClient struct { + BaseClient +} + +// NewApplicationTypeVersionsClient creates an instance of the ApplicationTypeVersionsClient client. +func NewApplicationTypeVersionsClient(subscriptionID string) ApplicationTypeVersionsClient { + return NewApplicationTypeVersionsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewApplicationTypeVersionsClientWithBaseURI creates an instance of the ApplicationTypeVersionsClient client. +func NewApplicationTypeVersionsClientWithBaseURI(baseURI string, subscriptionID string) ApplicationTypeVersionsClient { + return ApplicationTypeVersionsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// Create create or update a Service Fabric application type version resource with the specified name. +// Parameters: +// resourceGroupName - the name of the resource group. +// clusterName - the name of the cluster resource. +// applicationTypeName - the name of the application type name resource. +// version - the application type version. +// parameters - the application type version resource. +func (client ApplicationTypeVersionsClient) Create(ctx context.Context, resourceGroupName string, clusterName string, applicationTypeName string, version string, parameters ApplicationTypeVersionResource) (result ApplicationTypeVersionsCreateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationTypeVersionsClient.Create") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.ApplicationTypeVersionResourceProperties", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.ApplicationTypeVersionResourceProperties.AppPackageURL", Name: validation.Null, Rule: true, Chain: nil}}}}}}); err != nil { + return result, validation.NewError("servicefabric.ApplicationTypeVersionsClient", "Create", err.Error()) + } + + req, err := client.CreatePreparer(ctx, resourceGroupName, clusterName, applicationTypeName, version, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "servicefabric.ApplicationTypeVersionsClient", "Create", nil, "Failure preparing request") + return + } + + result, err = client.CreateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "servicefabric.ApplicationTypeVersionsClient", "Create", result.Response(), "Failure sending request") + return + } + + return +} + +// CreatePreparer prepares the Create request. +func (client ApplicationTypeVersionsClient) CreatePreparer(ctx context.Context, resourceGroupName string, clusterName string, applicationTypeName string, version string, parameters ApplicationTypeVersionResource) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "applicationTypeName": autorest.Encode("path", applicationTypeName), + "clusterName": autorest.Encode("path", clusterName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "version": autorest.Encode("path", version), + } + + const APIVersion = "2019-03-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applicationTypes/{applicationTypeName}/versions/{version}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateSender sends the Create request. The method will close the +// http.Response Body if it receives an error. +func (client ApplicationTypeVersionsClient) CreateSender(req *http.Request) (future ApplicationTypeVersionsCreateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateResponder handles the response to the Create request. The method always +// closes the http.Response Body. +func (client ApplicationTypeVersionsClient) CreateResponder(resp *http.Response) (result ApplicationTypeVersionResource, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete delete a Service Fabric application type version resource with the specified name. +// Parameters: +// resourceGroupName - the name of the resource group. +// clusterName - the name of the cluster resource. +// applicationTypeName - the name of the application type name resource. +// version - the application type version. +func (client ApplicationTypeVersionsClient) Delete(ctx context.Context, resourceGroupName string, clusterName string, applicationTypeName string, version string) (result ApplicationTypeVersionsDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationTypeVersionsClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, clusterName, applicationTypeName, version) + if err != nil { + err = autorest.NewErrorWithError(err, "servicefabric.ApplicationTypeVersionsClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "servicefabric.ApplicationTypeVersionsClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client ApplicationTypeVersionsClient) DeletePreparer(ctx context.Context, resourceGroupName string, clusterName string, applicationTypeName string, version string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "applicationTypeName": autorest.Encode("path", applicationTypeName), + "clusterName": autorest.Encode("path", clusterName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "version": autorest.Encode("path", version), + } + + const APIVersion = "2019-03-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applicationTypes/{applicationTypeName}/versions/{version}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client ApplicationTypeVersionsClient) DeleteSender(req *http.Request) (future ApplicationTypeVersionsDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client ApplicationTypeVersionsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get get a Service Fabric application type version resource created or in the process of being created in the Service +// Fabric application type name resource. +// Parameters: +// resourceGroupName - the name of the resource group. +// clusterName - the name of the cluster resource. +// applicationTypeName - the name of the application type name resource. +// version - the application type version. +func (client ApplicationTypeVersionsClient) Get(ctx context.Context, resourceGroupName string, clusterName string, applicationTypeName string, version string) (result ApplicationTypeVersionResource, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationTypeVersionsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, clusterName, applicationTypeName, version) + if err != nil { + err = autorest.NewErrorWithError(err, "servicefabric.ApplicationTypeVersionsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "servicefabric.ApplicationTypeVersionsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "servicefabric.ApplicationTypeVersionsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client ApplicationTypeVersionsClient) GetPreparer(ctx context.Context, resourceGroupName string, clusterName string, applicationTypeName string, version string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "applicationTypeName": autorest.Encode("path", applicationTypeName), + "clusterName": autorest.Encode("path", clusterName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "version": autorest.Encode("path", version), + } + + const APIVersion = "2019-03-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applicationTypes/{applicationTypeName}/versions/{version}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client ApplicationTypeVersionsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client ApplicationTypeVersionsClient) GetResponder(resp *http.Response) (result ApplicationTypeVersionResource, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets all application type version resources created or in the process of being created in the Service Fabric +// application type name resource. +// Parameters: +// resourceGroupName - the name of the resource group. +// clusterName - the name of the cluster resource. +// applicationTypeName - the name of the application type name resource. +func (client ApplicationTypeVersionsClient) List(ctx context.Context, resourceGroupName string, clusterName string, applicationTypeName string) (result ApplicationTypeVersionResourceList, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationTypeVersionsClient.List") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListPreparer(ctx, resourceGroupName, clusterName, applicationTypeName) + if err != nil { + err = autorest.NewErrorWithError(err, "servicefabric.ApplicationTypeVersionsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "servicefabric.ApplicationTypeVersionsClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "servicefabric.ApplicationTypeVersionsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client ApplicationTypeVersionsClient) ListPreparer(ctx context.Context, resourceGroupName string, clusterName string, applicationTypeName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "applicationTypeName": autorest.Encode("path", applicationTypeName), + "clusterName": autorest.Encode("path", clusterName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-03-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applicationTypes/{applicationTypeName}/versions", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client ApplicationTypeVersionsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client ApplicationTypeVersionsClient) ListResponder(resp *http.Response) (result ApplicationTypeVersionResourceList, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/preview/servicefabric/mgmt/2019-03-01-preview/servicefabric/client.go b/services/preview/servicefabric/mgmt/2019-03-01-preview/servicefabric/client.go new file mode 100644 index 000000000000..0563316480f8 --- /dev/null +++ b/services/preview/servicefabric/mgmt/2019-03-01-preview/servicefabric/client.go @@ -0,0 +1,51 @@ +// Package servicefabric implements the Azure ARM Servicefabric service API version 2019-03-01-preview. +// +// Service Fabric Management Client +package servicefabric + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" +) + +const ( + // DefaultBaseURI is the default URI used for the service Servicefabric + DefaultBaseURI = "https://management.azure.com" +) + +// BaseClient is the base client for Servicefabric. +type BaseClient struct { + autorest.Client + BaseURI string + SubscriptionID string +} + +// New creates an instance of the BaseClient client. +func New(subscriptionID string) BaseClient { + return NewWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewWithBaseURI creates an instance of the BaseClient client. +func NewWithBaseURI(baseURI string, subscriptionID string) BaseClient { + return BaseClient{ + Client: autorest.NewClientWithUserAgent(UserAgent()), + BaseURI: baseURI, + SubscriptionID: subscriptionID, + } +} diff --git a/services/preview/servicefabric/mgmt/2019-03-01-preview/servicefabric/clusters.go b/services/preview/servicefabric/mgmt/2019-03-01-preview/servicefabric/clusters.go new file mode 100644 index 000000000000..82e30df9d6d1 --- /dev/null +++ b/services/preview/servicefabric/mgmt/2019-03-01-preview/servicefabric/clusters.go @@ -0,0 +1,557 @@ +package servicefabric + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// ClustersClient is the service Fabric Management Client +type ClustersClient struct { + BaseClient +} + +// NewClustersClient creates an instance of the ClustersClient client. +func NewClustersClient(subscriptionID string) ClustersClient { + return NewClustersClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewClustersClientWithBaseURI creates an instance of the ClustersClient client. +func NewClustersClientWithBaseURI(baseURI string, subscriptionID string) ClustersClient { + return ClustersClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// Create create or update a Service Fabric cluster resource with the specified name. +// Parameters: +// resourceGroupName - the name of the resource group. +// clusterName - the name of the cluster resource. +// parameters - the cluster resource. +func (client ClustersClient) Create(ctx context.Context, resourceGroupName string, clusterName string, parameters Cluster) (result ClustersCreateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ClustersClient.Create") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.ClusterProperties", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.ClusterProperties.Certificate", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.ClusterProperties.Certificate.Thumbprint", Name: validation.Null, Rule: true, Chain: nil}}}, + {Target: "parameters.ClusterProperties.DiagnosticsStorageAccountConfig", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.ClusterProperties.DiagnosticsStorageAccountConfig.StorageAccountName", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "parameters.ClusterProperties.DiagnosticsStorageAccountConfig.ProtectedAccountKeyName", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "parameters.ClusterProperties.DiagnosticsStorageAccountConfig.BlobEndpoint", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "parameters.ClusterProperties.DiagnosticsStorageAccountConfig.QueueEndpoint", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "parameters.ClusterProperties.DiagnosticsStorageAccountConfig.TableEndpoint", Name: validation.Null, Rule: true, Chain: nil}, + }}, + {Target: "parameters.ClusterProperties.ManagementEndpoint", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "parameters.ClusterProperties.NodeTypes", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "parameters.ClusterProperties.ReverseProxyCertificate", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.ClusterProperties.ReverseProxyCertificate.Thumbprint", Name: validation.Null, Rule: true, Chain: nil}}}, + {Target: "parameters.ClusterProperties.UpgradeDescription", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.ClusterProperties.UpgradeDescription.UpgradeReplicaSetCheckTimeout", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "parameters.ClusterProperties.UpgradeDescription.HealthCheckWaitDuration", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "parameters.ClusterProperties.UpgradeDescription.HealthCheckStableDuration", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "parameters.ClusterProperties.UpgradeDescription.HealthCheckRetryTimeout", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "parameters.ClusterProperties.UpgradeDescription.UpgradeTimeout", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "parameters.ClusterProperties.UpgradeDescription.UpgradeDomainTimeout", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "parameters.ClusterProperties.UpgradeDescription.HealthPolicy", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "parameters.ClusterProperties.UpgradeDescription.HealthPolicy.MaxPercentUnhealthyNodes", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.ClusterProperties.UpgradeDescription.HealthPolicy.MaxPercentUnhealthyNodes", Name: validation.InclusiveMaximum, Rule: int64(100), Chain: nil}, + {Target: "parameters.ClusterProperties.UpgradeDescription.HealthPolicy.MaxPercentUnhealthyNodes", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}, + }}, + {Target: "parameters.ClusterProperties.UpgradeDescription.HealthPolicy.MaxPercentUnhealthyApplications", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.ClusterProperties.UpgradeDescription.HealthPolicy.MaxPercentUnhealthyApplications", Name: validation.InclusiveMaximum, Rule: int64(100), Chain: nil}, + {Target: "parameters.ClusterProperties.UpgradeDescription.HealthPolicy.MaxPercentUnhealthyApplications", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}, + }}, + }}, + {Target: "parameters.ClusterProperties.UpgradeDescription.DeltaHealthPolicy", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.ClusterProperties.UpgradeDescription.DeltaHealthPolicy.MaxPercentDeltaUnhealthyNodes", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "parameters.ClusterProperties.UpgradeDescription.DeltaHealthPolicy.MaxPercentDeltaUnhealthyNodes", Name: validation.InclusiveMaximum, Rule: int64(100), Chain: nil}, + {Target: "parameters.ClusterProperties.UpgradeDescription.DeltaHealthPolicy.MaxPercentDeltaUnhealthyNodes", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}, + }}, + {Target: "parameters.ClusterProperties.UpgradeDescription.DeltaHealthPolicy.MaxPercentUpgradeDomainDeltaUnhealthyNodes", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "parameters.ClusterProperties.UpgradeDescription.DeltaHealthPolicy.MaxPercentUpgradeDomainDeltaUnhealthyNodes", Name: validation.InclusiveMaximum, Rule: int64(100), Chain: nil}, + {Target: "parameters.ClusterProperties.UpgradeDescription.DeltaHealthPolicy.MaxPercentUpgradeDomainDeltaUnhealthyNodes", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}, + }}, + {Target: "parameters.ClusterProperties.UpgradeDescription.DeltaHealthPolicy.MaxPercentDeltaUnhealthyApplications", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "parameters.ClusterProperties.UpgradeDescription.DeltaHealthPolicy.MaxPercentDeltaUnhealthyApplications", Name: validation.InclusiveMaximum, Rule: int64(100), Chain: nil}, + {Target: "parameters.ClusterProperties.UpgradeDescription.DeltaHealthPolicy.MaxPercentDeltaUnhealthyApplications", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}, + }}, + }}, + }}, + }}}}}); err != nil { + return result, validation.NewError("servicefabric.ClustersClient", "Create", err.Error()) + } + + req, err := client.CreatePreparer(ctx, resourceGroupName, clusterName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "servicefabric.ClustersClient", "Create", nil, "Failure preparing request") + return + } + + result, err = client.CreateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "servicefabric.ClustersClient", "Create", result.Response(), "Failure sending request") + return + } + + return +} + +// CreatePreparer prepares the Create request. +func (client ClustersClient) CreatePreparer(ctx context.Context, resourceGroupName string, clusterName string, parameters Cluster) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "clusterName": autorest.Encode("path", clusterName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-03-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateSender sends the Create request. The method will close the +// http.Response Body if it receives an error. +func (client ClustersClient) CreateSender(req *http.Request) (future ClustersCreateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateResponder handles the response to the Create request. The method always +// closes the http.Response Body. +func (client ClustersClient) CreateResponder(resp *http.Response) (result Cluster, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete delete a Service Fabric cluster resource with the specified name. +// Parameters: +// resourceGroupName - the name of the resource group. +// clusterName - the name of the cluster resource. +func (client ClustersClient) Delete(ctx context.Context, resourceGroupName string, clusterName string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ClustersClient.Delete") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, clusterName) + if err != nil { + err = autorest.NewErrorWithError(err, "servicefabric.ClustersClient", "Delete", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "servicefabric.ClustersClient", "Delete", resp, "Failure sending request") + return + } + + result, err = client.DeleteResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "servicefabric.ClustersClient", "Delete", resp, "Failure responding to request") + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client ClustersClient) DeletePreparer(ctx context.Context, resourceGroupName string, clusterName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "clusterName": autorest.Encode("path", clusterName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-03-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client ClustersClient) DeleteSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client ClustersClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get get a Service Fabric cluster resource created or in the process of being created in the specified resource +// group. +// Parameters: +// resourceGroupName - the name of the resource group. +// clusterName - the name of the cluster resource. +func (client ClustersClient) Get(ctx context.Context, resourceGroupName string, clusterName string) (result Cluster, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ClustersClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, clusterName) + if err != nil { + err = autorest.NewErrorWithError(err, "servicefabric.ClustersClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "servicefabric.ClustersClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "servicefabric.ClustersClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client ClustersClient) GetPreparer(ctx context.Context, resourceGroupName string, clusterName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "clusterName": autorest.Encode("path", clusterName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-03-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client ClustersClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client ClustersClient) GetResponder(resp *http.Response) (result Cluster, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets all Service Fabric cluster resources created or in the process of being created in the subscription. +func (client ClustersClient) List(ctx context.Context) (result ClusterListResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ClustersClient.List") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "servicefabric.ClustersClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "servicefabric.ClustersClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "servicefabric.ClustersClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client ClustersClient) ListPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-03-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.ServiceFabric/clusters", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client ClustersClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client ClustersClient) ListResponder(resp *http.Response) (result ClusterListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByResourceGroup gets all Service Fabric cluster resources created or in the process of being created in the +// resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +func (client ClustersClient) ListByResourceGroup(ctx context.Context, resourceGroupName string) (result ClusterListResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ClustersClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListByResourceGroupPreparer(ctx, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "servicefabric.ClustersClient", "ListByResourceGroup", nil, "Failure preparing request") + return + } + + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "servicefabric.ClustersClient", "ListByResourceGroup", resp, "Failure sending request") + return + } + + result, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "servicefabric.ClustersClient", "ListByResourceGroup", resp, "Failure responding to request") + } + + return +} + +// ListByResourceGroupPreparer prepares the ListByResourceGroup request. +func (client ClustersClient) ListByResourceGroupPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-03-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByResourceGroupSender sends the ListByResourceGroup request. The method will close the +// http.Response Body if it receives an error. +func (client ClustersClient) ListByResourceGroupSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByResourceGroupResponder handles the response to the ListByResourceGroup request. The method always +// closes the http.Response Body. +func (client ClustersClient) ListByResourceGroupResponder(resp *http.Response) (result ClusterListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Update update the configuration of a Service Fabric cluster resource with the specified name. +// Parameters: +// resourceGroupName - the name of the resource group. +// clusterName - the name of the cluster resource. +// parameters - the parameters which contains the property value and property name which used to update the +// cluster configuration. +func (client ClustersClient) Update(ctx context.Context, resourceGroupName string, clusterName string, parameters ClusterUpdateParameters) (result ClustersUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ClustersClient.Update") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdatePreparer(ctx, resourceGroupName, clusterName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "servicefabric.ClustersClient", "Update", nil, "Failure preparing request") + return + } + + result, err = client.UpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "servicefabric.ClustersClient", "Update", result.Response(), "Failure sending request") + return + } + + return +} + +// UpdatePreparer prepares the Update request. +func (client ClustersClient) UpdatePreparer(ctx context.Context, resourceGroupName string, clusterName string, parameters ClusterUpdateParameters) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "clusterName": autorest.Encode("path", clusterName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-03-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateSender sends the Update request. The method will close the +// http.Response Body if it receives an error. +func (client ClustersClient) UpdateSender(req *http.Request) (future ClustersUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// UpdateResponder handles the response to the Update request. The method always +// closes the http.Response Body. +func (client ClustersClient) UpdateResponder(resp *http.Response) (result Cluster, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/preview/servicefabric/mgmt/2019-03-01-preview/servicefabric/clusterversions.go b/services/preview/servicefabric/mgmt/2019-03-01-preview/servicefabric/clusterversions.go new file mode 100644 index 000000000000..4bf841f027bc --- /dev/null +++ b/services/preview/servicefabric/mgmt/2019-03-01-preview/servicefabric/clusterversions.go @@ -0,0 +1,349 @@ +package servicefabric + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// ClusterVersionsClient is the service Fabric Management Client +type ClusterVersionsClient struct { + BaseClient +} + +// NewClusterVersionsClient creates an instance of the ClusterVersionsClient client. +func NewClusterVersionsClient(subscriptionID string) ClusterVersionsClient { + return NewClusterVersionsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewClusterVersionsClientWithBaseURI creates an instance of the ClusterVersionsClient client. +func NewClusterVersionsClientWithBaseURI(baseURI string, subscriptionID string) ClusterVersionsClient { + return ClusterVersionsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// Get gets information about an available Service Fabric cluster code version. +// Parameters: +// location - the location for the cluster code versions. This is different from cluster location. +// clusterVersion - the cluster code version. +func (client ClusterVersionsClient) Get(ctx context.Context, location string, clusterVersion string) (result ClusterCodeVersionsListResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ClusterVersionsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, location, clusterVersion) + if err != nil { + err = autorest.NewErrorWithError(err, "servicefabric.ClusterVersionsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "servicefabric.ClusterVersionsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "servicefabric.ClusterVersionsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client ClusterVersionsClient) GetPreparer(ctx context.Context, location string, clusterVersion string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "clusterVersion": autorest.Encode("path", clusterVersion), + "location": autorest.Encode("path", location), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-03-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.ServiceFabric/locations/{location}/clusterVersions/{clusterVersion}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client ClusterVersionsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client ClusterVersionsClient) GetResponder(resp *http.Response) (result ClusterCodeVersionsListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetByEnvironment gets information about an available Service Fabric cluster code version by environment. +// Parameters: +// location - the location for the cluster code versions. This is different from cluster location. +// environment - the operating system of the cluster. The default means all. +// clusterVersion - the cluster code version. +func (client ClusterVersionsClient) GetByEnvironment(ctx context.Context, location string, environment string, clusterVersion string) (result ClusterCodeVersionsListResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ClusterVersionsClient.GetByEnvironment") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetByEnvironmentPreparer(ctx, location, environment, clusterVersion) + if err != nil { + err = autorest.NewErrorWithError(err, "servicefabric.ClusterVersionsClient", "GetByEnvironment", nil, "Failure preparing request") + return + } + + resp, err := client.GetByEnvironmentSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "servicefabric.ClusterVersionsClient", "GetByEnvironment", resp, "Failure sending request") + return + } + + result, err = client.GetByEnvironmentResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "servicefabric.ClusterVersionsClient", "GetByEnvironment", resp, "Failure responding to request") + } + + return +} + +// GetByEnvironmentPreparer prepares the GetByEnvironment request. +func (client ClusterVersionsClient) GetByEnvironmentPreparer(ctx context.Context, location string, environment string, clusterVersion string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "clusterVersion": autorest.Encode("path", clusterVersion), + "environment": autorest.Encode("path", environment), + "location": autorest.Encode("path", location), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-03-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.ServiceFabric/locations/{location}/environments/{environment}/clusterVersions/{clusterVersion}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetByEnvironmentSender sends the GetByEnvironment request. The method will close the +// http.Response Body if it receives an error. +func (client ClusterVersionsClient) GetByEnvironmentSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetByEnvironmentResponder handles the response to the GetByEnvironment request. The method always +// closes the http.Response Body. +func (client ClusterVersionsClient) GetByEnvironmentResponder(resp *http.Response) (result ClusterCodeVersionsListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets all available code versions for Service Fabric cluster resources by location. +// Parameters: +// location - the location for the cluster code versions. This is different from cluster location. +func (client ClusterVersionsClient) List(ctx context.Context, location string) (result ClusterCodeVersionsListResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ClusterVersionsClient.List") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListPreparer(ctx, location) + if err != nil { + err = autorest.NewErrorWithError(err, "servicefabric.ClusterVersionsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "servicefabric.ClusterVersionsClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "servicefabric.ClusterVersionsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client ClusterVersionsClient) ListPreparer(ctx context.Context, location string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "location": autorest.Encode("path", location), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-03-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.ServiceFabric/locations/{location}/clusterVersions", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client ClusterVersionsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client ClusterVersionsClient) ListResponder(resp *http.Response) (result ClusterCodeVersionsListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByEnvironment gets all available code versions for Service Fabric cluster resources by environment. +// Parameters: +// location - the location for the cluster code versions. This is different from cluster location. +// environment - the operating system of the cluster. The default means all. +func (client ClusterVersionsClient) ListByEnvironment(ctx context.Context, location string, environment string) (result ClusterCodeVersionsListResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ClusterVersionsClient.ListByEnvironment") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListByEnvironmentPreparer(ctx, location, environment) + if err != nil { + err = autorest.NewErrorWithError(err, "servicefabric.ClusterVersionsClient", "ListByEnvironment", nil, "Failure preparing request") + return + } + + resp, err := client.ListByEnvironmentSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "servicefabric.ClusterVersionsClient", "ListByEnvironment", resp, "Failure sending request") + return + } + + result, err = client.ListByEnvironmentResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "servicefabric.ClusterVersionsClient", "ListByEnvironment", resp, "Failure responding to request") + } + + return +} + +// ListByEnvironmentPreparer prepares the ListByEnvironment request. +func (client ClusterVersionsClient) ListByEnvironmentPreparer(ctx context.Context, location string, environment string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "environment": autorest.Encode("path", environment), + "location": autorest.Encode("path", location), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-03-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.ServiceFabric/locations/{location}/environments/{environment}/clusterVersions", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByEnvironmentSender sends the ListByEnvironment request. The method will close the +// http.Response Body if it receives an error. +func (client ClusterVersionsClient) ListByEnvironmentSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByEnvironmentResponder handles the response to the ListByEnvironment request. The method always +// closes the http.Response Body. +func (client ClusterVersionsClient) ListByEnvironmentResponder(resp *http.Response) (result ClusterCodeVersionsListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/preview/servicefabric/mgmt/2019-03-01-preview/servicefabric/models.go b/services/preview/servicefabric/mgmt/2019-03-01-preview/servicefabric/models.go new file mode 100644 index 000000000000..b4a34e62c15a --- /dev/null +++ b/services/preview/servicefabric/mgmt/2019-03-01-preview/servicefabric/models.go @@ -0,0 +1,4239 @@ +package servicefabric + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "encoding/json" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/date" + "github.com/Azure/go-autorest/autorest/to" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// The package's fully qualified name. +const fqdn = "github.com/Azure/azure-sdk-for-go/services/preview/servicefabric/mgmt/2019-03-01-preview/servicefabric" + +// ArmServicePackageActivationMode enumerates the values for arm service package activation mode. +type ArmServicePackageActivationMode string + +const ( + // ExclusiveProcess Indicates the application package activation mode will use exclusive process. + ExclusiveProcess ArmServicePackageActivationMode = "ExclusiveProcess" + // SharedProcess Indicates the application package activation mode will use shared process. + SharedProcess ArmServicePackageActivationMode = "SharedProcess" +) + +// PossibleArmServicePackageActivationModeValues returns an array of possible values for the ArmServicePackageActivationMode const type. +func PossibleArmServicePackageActivationModeValues() []ArmServicePackageActivationMode { + return []ArmServicePackageActivationMode{ExclusiveProcess, SharedProcess} +} + +// ArmUpgradeFailureAction enumerates the values for arm upgrade failure action. +type ArmUpgradeFailureAction string + +const ( + // Manual Indicates that a manual repair will need to be performed by the administrator if the upgrade + // fails. Service Fabric will not proceed to the next upgrade domain automatically. + Manual ArmUpgradeFailureAction = "Manual" + // Rollback Indicates that a rollback of the upgrade will be performed by Service Fabric if the upgrade + // fails. + Rollback ArmUpgradeFailureAction = "Rollback" +) + +// PossibleArmUpgradeFailureActionValues returns an array of possible values for the ArmUpgradeFailureAction const type. +func PossibleArmUpgradeFailureActionValues() []ArmUpgradeFailureAction { + return []ArmUpgradeFailureAction{Manual, Rollback} +} + +// ClusterState enumerates the values for cluster state. +type ClusterState string + +const ( + // AutoScale ... + AutoScale ClusterState = "AutoScale" + // BaselineUpgrade ... + BaselineUpgrade ClusterState = "BaselineUpgrade" + // Deploying ... + Deploying ClusterState = "Deploying" + // EnforcingClusterVersion ... + EnforcingClusterVersion ClusterState = "EnforcingClusterVersion" + // Ready ... + Ready ClusterState = "Ready" + // UpdatingInfrastructure ... + UpdatingInfrastructure ClusterState = "UpdatingInfrastructure" + // UpdatingUserCertificate ... + UpdatingUserCertificate ClusterState = "UpdatingUserCertificate" + // UpdatingUserConfiguration ... + UpdatingUserConfiguration ClusterState = "UpdatingUserConfiguration" + // UpgradeServiceUnreachable ... + UpgradeServiceUnreachable ClusterState = "UpgradeServiceUnreachable" + // WaitingForNodes ... + WaitingForNodes ClusterState = "WaitingForNodes" +) + +// PossibleClusterStateValues returns an array of possible values for the ClusterState const type. +func PossibleClusterStateValues() []ClusterState { + return []ClusterState{AutoScale, BaselineUpgrade, Deploying, EnforcingClusterVersion, Ready, UpdatingInfrastructure, UpdatingUserCertificate, UpdatingUserConfiguration, UpgradeServiceUnreachable, WaitingForNodes} +} + +// DurabilityLevel enumerates the values for durability level. +type DurabilityLevel string + +const ( + // Bronze ... + Bronze DurabilityLevel = "Bronze" + // Gold ... + Gold DurabilityLevel = "Gold" + // Silver ... + Silver DurabilityLevel = "Silver" +) + +// PossibleDurabilityLevelValues returns an array of possible values for the DurabilityLevel const type. +func PossibleDurabilityLevelValues() []DurabilityLevel { + return []DurabilityLevel{Bronze, Gold, Silver} +} + +// Environment enumerates the values for environment. +type Environment string + +const ( + // Linux ... + Linux Environment = "Linux" + // Windows ... + Windows Environment = "Windows" +) + +// PossibleEnvironmentValues returns an array of possible values for the Environment const type. +func PossibleEnvironmentValues() []Environment { + return []Environment{Linux, Windows} +} + +// MoveCost enumerates the values for move cost. +type MoveCost string + +const ( + // High Specifies the move cost of the service as High. The value is 3. + High MoveCost = "High" + // Low Specifies the move cost of the service as Low. The value is 1. + Low MoveCost = "Low" + // Medium Specifies the move cost of the service as Medium. The value is 2. + Medium MoveCost = "Medium" + // Zero Zero move cost. This value is zero. + Zero MoveCost = "Zero" +) + +// PossibleMoveCostValues returns an array of possible values for the MoveCost const type. +func PossibleMoveCostValues() []MoveCost { + return []MoveCost{High, Low, Medium, Zero} +} + +// PartitionScheme enumerates the values for partition scheme. +type PartitionScheme string + +const ( + // Invalid Indicates the partition kind is invalid. All Service Fabric enumerations have the invalid type. + // The value is zero. + Invalid PartitionScheme = "Invalid" + // Named Indicates that the partition is based on string names, and is a NamedPartitionSchemeDescription + // object. The value is 3 + Named PartitionScheme = "Named" + // Singleton Indicates that the partition is based on string names, and is a + // SingletonPartitionSchemeDescription object, The value is 1. + Singleton PartitionScheme = "Singleton" + // UniformInt64Range Indicates that the partition is based on Int64 key ranges, and is a + // UniformInt64RangePartitionSchemeDescription object. The value is 2. + UniformInt64Range PartitionScheme = "UniformInt64Range" +) + +// PossiblePartitionSchemeValues returns an array of possible values for the PartitionScheme const type. +func PossiblePartitionSchemeValues() []PartitionScheme { + return []PartitionScheme{Invalid, Named, Singleton, UniformInt64Range} +} + +// PartitionSchemeBasicPartitionSchemeDescription enumerates the values for partition scheme basic partition +// scheme description. +type PartitionSchemeBasicPartitionSchemeDescription string + +const ( + // PartitionSchemeNamed ... + PartitionSchemeNamed PartitionSchemeBasicPartitionSchemeDescription = "Named" + // PartitionSchemePartitionSchemeDescription ... + PartitionSchemePartitionSchemeDescription PartitionSchemeBasicPartitionSchemeDescription = "PartitionSchemeDescription" + // PartitionSchemeSingleton ... + PartitionSchemeSingleton PartitionSchemeBasicPartitionSchemeDescription = "Singleton" + // PartitionSchemeUniformInt64Range ... + PartitionSchemeUniformInt64Range PartitionSchemeBasicPartitionSchemeDescription = "UniformInt64Range" +) + +// PossiblePartitionSchemeBasicPartitionSchemeDescriptionValues returns an array of possible values for the PartitionSchemeBasicPartitionSchemeDescription const type. +func PossiblePartitionSchemeBasicPartitionSchemeDescriptionValues() []PartitionSchemeBasicPartitionSchemeDescription { + return []PartitionSchemeBasicPartitionSchemeDescription{PartitionSchemeNamed, PartitionSchemePartitionSchemeDescription, PartitionSchemeSingleton, PartitionSchemeUniformInt64Range} +} + +// ProvisioningState enumerates the values for provisioning state. +type ProvisioningState string + +const ( + // Canceled ... + Canceled ProvisioningState = "Canceled" + // Failed ... + Failed ProvisioningState = "Failed" + // Succeeded ... + Succeeded ProvisioningState = "Succeeded" + // Updating ... + Updating ProvisioningState = "Updating" +) + +// PossibleProvisioningStateValues returns an array of possible values for the ProvisioningState const type. +func PossibleProvisioningStateValues() []ProvisioningState { + return []ProvisioningState{Canceled, Failed, Succeeded, Updating} +} + +// ReliabilityLevel enumerates the values for reliability level. +type ReliabilityLevel string + +const ( + // ReliabilityLevelBronze ... + ReliabilityLevelBronze ReliabilityLevel = "Bronze" + // ReliabilityLevelGold ... + ReliabilityLevelGold ReliabilityLevel = "Gold" + // ReliabilityLevelNone ... + ReliabilityLevelNone ReliabilityLevel = "None" + // ReliabilityLevelPlatinum ... + ReliabilityLevelPlatinum ReliabilityLevel = "Platinum" + // ReliabilityLevelSilver ... + ReliabilityLevelSilver ReliabilityLevel = "Silver" +) + +// PossibleReliabilityLevelValues returns an array of possible values for the ReliabilityLevel const type. +func PossibleReliabilityLevelValues() []ReliabilityLevel { + return []ReliabilityLevel{ReliabilityLevelBronze, ReliabilityLevelGold, ReliabilityLevelNone, ReliabilityLevelPlatinum, ReliabilityLevelSilver} +} + +// ReliabilityLevel1 enumerates the values for reliability level 1. +type ReliabilityLevel1 string + +const ( + // ReliabilityLevel1Bronze ... + ReliabilityLevel1Bronze ReliabilityLevel1 = "Bronze" + // ReliabilityLevel1Gold ... + ReliabilityLevel1Gold ReliabilityLevel1 = "Gold" + // ReliabilityLevel1None ... + ReliabilityLevel1None ReliabilityLevel1 = "None" + // ReliabilityLevel1Platinum ... + ReliabilityLevel1Platinum ReliabilityLevel1 = "Platinum" + // ReliabilityLevel1Silver ... + ReliabilityLevel1Silver ReliabilityLevel1 = "Silver" +) + +// PossibleReliabilityLevel1Values returns an array of possible values for the ReliabilityLevel1 const type. +func PossibleReliabilityLevel1Values() []ReliabilityLevel1 { + return []ReliabilityLevel1{ReliabilityLevel1Bronze, ReliabilityLevel1Gold, ReliabilityLevel1None, ReliabilityLevel1Platinum, ReliabilityLevel1Silver} +} + +// ServiceCorrelationScheme enumerates the values for service correlation scheme. +type ServiceCorrelationScheme string + +const ( + // ServiceCorrelationSchemeAffinity Indicates that this service has an affinity relationship with another + // service. Provided for backwards compatibility, consider preferring the Aligned or NonAlignedAffinity + // options. The value is 1. + ServiceCorrelationSchemeAffinity ServiceCorrelationScheme = "Affinity" + // ServiceCorrelationSchemeAlignedAffinity Aligned affinity ensures that the primaries of the partitions of + // the affinitized services are collocated on the same nodes. This is the default and is the same as + // selecting the Affinity scheme. The value is 2. + ServiceCorrelationSchemeAlignedAffinity ServiceCorrelationScheme = "AlignedAffinity" + // ServiceCorrelationSchemeInvalid An invalid correlation scheme. Cannot be used. The value is zero. + ServiceCorrelationSchemeInvalid ServiceCorrelationScheme = "Invalid" + // ServiceCorrelationSchemeNonAlignedAffinity Non-Aligned affinity guarantees that all replicas of each + // service will be placed on the same nodes. Unlike Aligned Affinity, this does not guarantee that replicas + // of particular role will be collocated. The value is 3. + ServiceCorrelationSchemeNonAlignedAffinity ServiceCorrelationScheme = "NonAlignedAffinity" +) + +// PossibleServiceCorrelationSchemeValues returns an array of possible values for the ServiceCorrelationScheme const type. +func PossibleServiceCorrelationSchemeValues() []ServiceCorrelationScheme { + return []ServiceCorrelationScheme{ServiceCorrelationSchemeAffinity, ServiceCorrelationSchemeAlignedAffinity, ServiceCorrelationSchemeInvalid, ServiceCorrelationSchemeNonAlignedAffinity} +} + +// ServiceKind enumerates the values for service kind. +type ServiceKind string + +const ( + // ServiceKindInvalid Indicates the service kind is invalid. All Service Fabric enumerations have the + // invalid type. The value is zero. + ServiceKindInvalid ServiceKind = "Invalid" + // ServiceKindStateful Uses Service Fabric to make its state or part of its state highly available and + // reliable. The value is 2. + ServiceKindStateful ServiceKind = "Stateful" + // ServiceKindStateless Does not use Service Fabric to make its state highly available or reliable. The + // value is 1. + ServiceKindStateless ServiceKind = "Stateless" +) + +// PossibleServiceKindValues returns an array of possible values for the ServiceKind const type. +func PossibleServiceKindValues() []ServiceKind { + return []ServiceKind{ServiceKindInvalid, ServiceKindStateful, ServiceKindStateless} +} + +// ServiceKindBasicServiceResourceProperties enumerates the values for service kind basic service resource +// properties. +type ServiceKindBasicServiceResourceProperties string + +const ( + // ServiceKindServiceResourceProperties ... + ServiceKindServiceResourceProperties ServiceKindBasicServiceResourceProperties = "ServiceResourceProperties" + // ServiceKindStateful1 ... + ServiceKindStateful1 ServiceKindBasicServiceResourceProperties = "Stateful" + // ServiceKindStateless1 ... + ServiceKindStateless1 ServiceKindBasicServiceResourceProperties = "Stateless" +) + +// PossibleServiceKindBasicServiceResourcePropertiesValues returns an array of possible values for the ServiceKindBasicServiceResourceProperties const type. +func PossibleServiceKindBasicServiceResourcePropertiesValues() []ServiceKindBasicServiceResourceProperties { + return []ServiceKindBasicServiceResourceProperties{ServiceKindServiceResourceProperties, ServiceKindStateful1, ServiceKindStateless1} +} + +// ServiceKindBasicServiceResourceUpdateProperties enumerates the values for service kind basic service +// resource update properties. +type ServiceKindBasicServiceResourceUpdateProperties string + +const ( + // ServiceKindBasicServiceResourceUpdatePropertiesServiceKindServiceResourceUpdateProperties ... + ServiceKindBasicServiceResourceUpdatePropertiesServiceKindServiceResourceUpdateProperties ServiceKindBasicServiceResourceUpdateProperties = "ServiceResourceUpdateProperties" + // ServiceKindBasicServiceResourceUpdatePropertiesServiceKindStateful ... + ServiceKindBasicServiceResourceUpdatePropertiesServiceKindStateful ServiceKindBasicServiceResourceUpdateProperties = "Stateful" + // ServiceKindBasicServiceResourceUpdatePropertiesServiceKindStateless ... + ServiceKindBasicServiceResourceUpdatePropertiesServiceKindStateless ServiceKindBasicServiceResourceUpdateProperties = "Stateless" +) + +// PossibleServiceKindBasicServiceResourceUpdatePropertiesValues returns an array of possible values for the ServiceKindBasicServiceResourceUpdateProperties const type. +func PossibleServiceKindBasicServiceResourceUpdatePropertiesValues() []ServiceKindBasicServiceResourceUpdateProperties { + return []ServiceKindBasicServiceResourceUpdateProperties{ServiceKindBasicServiceResourceUpdatePropertiesServiceKindServiceResourceUpdateProperties, ServiceKindBasicServiceResourceUpdatePropertiesServiceKindStateful, ServiceKindBasicServiceResourceUpdatePropertiesServiceKindStateless} +} + +// ServiceLoadMetricWeight enumerates the values for service load metric weight. +type ServiceLoadMetricWeight string + +const ( + // ServiceLoadMetricWeightHigh Specifies the metric weight of the service load as High. The value is 3. + ServiceLoadMetricWeightHigh ServiceLoadMetricWeight = "High" + // ServiceLoadMetricWeightLow Specifies the metric weight of the service load as Low. The value is 1. + ServiceLoadMetricWeightLow ServiceLoadMetricWeight = "Low" + // ServiceLoadMetricWeightMedium Specifies the metric weight of the service load as Medium. The value is 2. + ServiceLoadMetricWeightMedium ServiceLoadMetricWeight = "Medium" + // ServiceLoadMetricWeightZero Disables resource balancing for this metric. This value is zero. + ServiceLoadMetricWeightZero ServiceLoadMetricWeight = "Zero" +) + +// PossibleServiceLoadMetricWeightValues returns an array of possible values for the ServiceLoadMetricWeight const type. +func PossibleServiceLoadMetricWeightValues() []ServiceLoadMetricWeight { + return []ServiceLoadMetricWeight{ServiceLoadMetricWeightHigh, ServiceLoadMetricWeightLow, ServiceLoadMetricWeightMedium, ServiceLoadMetricWeightZero} +} + +// ServicePlacementPolicyType enumerates the values for service placement policy type. +type ServicePlacementPolicyType string + +const ( + // ServicePlacementPolicyTypeInvalid Indicates the type of the placement policy is invalid. All Service + // Fabric enumerations have the invalid type. The value is zero. + ServicePlacementPolicyTypeInvalid ServicePlacementPolicyType = "Invalid" + // ServicePlacementPolicyTypeInvalidDomain Indicates that the ServicePlacementPolicyDescription is of type + // ServicePlacementInvalidDomainPolicyDescription, which indicates that a particular fault or upgrade + // domain cannot be used for placement of this service. The value is 1. + ServicePlacementPolicyTypeInvalidDomain ServicePlacementPolicyType = "InvalidDomain" + // ServicePlacementPolicyTypeNonPartiallyPlaceService Indicates that the ServicePlacementPolicyDescription + // is of type ServicePlacementNonPartiallyPlaceServicePolicyDescription, which indicates that if possible + // all replicas of a particular partition of the service should be placed atomically. The value is 5. + ServicePlacementPolicyTypeNonPartiallyPlaceService ServicePlacementPolicyType = "NonPartiallyPlaceService" + // ServicePlacementPolicyTypePreferredPrimaryDomain Indicates that the ServicePlacementPolicyDescription is + // of type ServicePlacementPreferPrimaryDomainPolicyDescription, which indicates that if possible the + // Primary replica for the partitions of the service should be located in a particular domain as an + // optimization. The value is 3. + ServicePlacementPolicyTypePreferredPrimaryDomain ServicePlacementPolicyType = "PreferredPrimaryDomain" + // ServicePlacementPolicyTypeRequiredDomain Indicates that the ServicePlacementPolicyDescription is of type + // ServicePlacementRequireDomainDistributionPolicyDescription indicating that the replicas of the service + // must be placed in a specific domain. The value is 2. + ServicePlacementPolicyTypeRequiredDomain ServicePlacementPolicyType = "RequiredDomain" + // ServicePlacementPolicyTypeRequiredDomainDistribution Indicates that the + // ServicePlacementPolicyDescription is of type ServicePlacementRequireDomainDistributionPolicyDescription, + // indicating that the system will disallow placement of any two replicas from the same partition in the + // same domain at any time. The value is 4. + ServicePlacementPolicyTypeRequiredDomainDistribution ServicePlacementPolicyType = "RequiredDomainDistribution" +) + +// PossibleServicePlacementPolicyTypeValues returns an array of possible values for the ServicePlacementPolicyType const type. +func PossibleServicePlacementPolicyTypeValues() []ServicePlacementPolicyType { + return []ServicePlacementPolicyType{ServicePlacementPolicyTypeInvalid, ServicePlacementPolicyTypeInvalidDomain, ServicePlacementPolicyTypeNonPartiallyPlaceService, ServicePlacementPolicyTypePreferredPrimaryDomain, ServicePlacementPolicyTypeRequiredDomain, ServicePlacementPolicyTypeRequiredDomainDistribution} +} + +// Type enumerates the values for type. +type Type string + +const ( + // TypeServicePlacementPolicyDescription ... + TypeServicePlacementPolicyDescription Type = "ServicePlacementPolicyDescription" +) + +// PossibleTypeValues returns an array of possible values for the Type const type. +func PossibleTypeValues() []Type { + return []Type{TypeServicePlacementPolicyDescription} +} + +// UpgradeMode enumerates the values for upgrade mode. +type UpgradeMode string + +const ( + // UpgradeModeAutomatic ... + UpgradeModeAutomatic UpgradeMode = "Automatic" + // UpgradeModeManual ... + UpgradeModeManual UpgradeMode = "Manual" +) + +// PossibleUpgradeModeValues returns an array of possible values for the UpgradeMode const type. +func PossibleUpgradeModeValues() []UpgradeMode { + return []UpgradeMode{UpgradeModeAutomatic, UpgradeModeManual} +} + +// UpgradeMode1 enumerates the values for upgrade mode 1. +type UpgradeMode1 string + +const ( + // UpgradeMode1Automatic ... + UpgradeMode1Automatic UpgradeMode1 = "Automatic" + // UpgradeMode1Manual ... + UpgradeMode1Manual UpgradeMode1 = "Manual" +) + +// PossibleUpgradeMode1Values returns an array of possible values for the UpgradeMode1 const type. +func PossibleUpgradeMode1Values() []UpgradeMode1 { + return []UpgradeMode1{UpgradeMode1Automatic, UpgradeMode1Manual} +} + +// X509StoreName enumerates the values for x509 store name. +type X509StoreName string + +const ( + // AddressBook ... + AddressBook X509StoreName = "AddressBook" + // AuthRoot ... + AuthRoot X509StoreName = "AuthRoot" + // CertificateAuthority ... + CertificateAuthority X509StoreName = "CertificateAuthority" + // Disallowed ... + Disallowed X509StoreName = "Disallowed" + // My ... + My X509StoreName = "My" + // Root ... + Root X509StoreName = "Root" + // TrustedPeople ... + TrustedPeople X509StoreName = "TrustedPeople" + // TrustedPublisher ... + TrustedPublisher X509StoreName = "TrustedPublisher" +) + +// PossibleX509StoreNameValues returns an array of possible values for the X509StoreName const type. +func PossibleX509StoreNameValues() []X509StoreName { + return []X509StoreName{AddressBook, AuthRoot, CertificateAuthority, Disallowed, My, Root, TrustedPeople, TrustedPublisher} +} + +// X509StoreName1 enumerates the values for x509 store name 1. +type X509StoreName1 string + +const ( + // X509StoreName1AddressBook ... + X509StoreName1AddressBook X509StoreName1 = "AddressBook" + // X509StoreName1AuthRoot ... + X509StoreName1AuthRoot X509StoreName1 = "AuthRoot" + // X509StoreName1CertificateAuthority ... + X509StoreName1CertificateAuthority X509StoreName1 = "CertificateAuthority" + // X509StoreName1Disallowed ... + X509StoreName1Disallowed X509StoreName1 = "Disallowed" + // X509StoreName1My ... + X509StoreName1My X509StoreName1 = "My" + // X509StoreName1Root ... + X509StoreName1Root X509StoreName1 = "Root" + // X509StoreName1TrustedPeople ... + X509StoreName1TrustedPeople X509StoreName1 = "TrustedPeople" + // X509StoreName1TrustedPublisher ... + X509StoreName1TrustedPublisher X509StoreName1 = "TrustedPublisher" +) + +// PossibleX509StoreName1Values returns an array of possible values for the X509StoreName1 const type. +func PossibleX509StoreName1Values() []X509StoreName1 { + return []X509StoreName1{X509StoreName1AddressBook, X509StoreName1AuthRoot, X509StoreName1CertificateAuthority, X509StoreName1Disallowed, X509StoreName1My, X509StoreName1Root, X509StoreName1TrustedPeople, X509StoreName1TrustedPublisher} +} + +// ApplicationDeltaHealthPolicy defines a delta health policy used to evaluate the health of an application +// or one of its child entities when upgrading the cluster. +type ApplicationDeltaHealthPolicy struct { + // DefaultServiceTypeDeltaHealthPolicy - The delta health policy used by default to evaluate the health of a service type when upgrading the cluster. + DefaultServiceTypeDeltaHealthPolicy *ServiceTypeDeltaHealthPolicy `json:"defaultServiceTypeDeltaHealthPolicy,omitempty"` + // ServiceTypeDeltaHealthPolicies - The map with service type delta health policy per service type name. The map is empty by default. + ServiceTypeDeltaHealthPolicies map[string]*ServiceTypeDeltaHealthPolicy `json:"serviceTypeDeltaHealthPolicies"` +} + +// MarshalJSON is the custom marshaler for ApplicationDeltaHealthPolicy. +func (adhp ApplicationDeltaHealthPolicy) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if adhp.DefaultServiceTypeDeltaHealthPolicy != nil { + objectMap["defaultServiceTypeDeltaHealthPolicy"] = adhp.DefaultServiceTypeDeltaHealthPolicy + } + if adhp.ServiceTypeDeltaHealthPolicies != nil { + objectMap["serviceTypeDeltaHealthPolicies"] = adhp.ServiceTypeDeltaHealthPolicies + } + return json.Marshal(objectMap) +} + +// ApplicationHealthPolicy defines a health policy used to evaluate the health of an application or one of +// its children entities. +type ApplicationHealthPolicy struct { + // DefaultServiceTypeHealthPolicy - The health policy used by default to evaluate the health of a service type. + DefaultServiceTypeHealthPolicy *ServiceTypeHealthPolicy `json:"defaultServiceTypeHealthPolicy,omitempty"` + // ServiceTypeHealthPolicies - The map with service type health policy per service type name. The map is empty by default. + ServiceTypeHealthPolicies map[string]*ServiceTypeHealthPolicy `json:"serviceTypeHealthPolicies"` +} + +// MarshalJSON is the custom marshaler for ApplicationHealthPolicy. +func (ahp ApplicationHealthPolicy) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if ahp.DefaultServiceTypeHealthPolicy != nil { + objectMap["defaultServiceTypeHealthPolicy"] = ahp.DefaultServiceTypeHealthPolicy + } + if ahp.ServiceTypeHealthPolicies != nil { + objectMap["serviceTypeHealthPolicies"] = ahp.ServiceTypeHealthPolicies + } + return json.Marshal(objectMap) +} + +// ApplicationMetricDescription describes capacity information for a custom resource balancing metric. This +// can be used to limit the total consumption of this metric by the services of this application. +type ApplicationMetricDescription struct { + // Name - The name of the metric. + Name *string `json:"name,omitempty"` + // MaximumCapacity - The maximum node capacity for Service Fabric application. + // This is the maximum Load for an instance of this application on a single node. Even if the capacity of node is greater than this value, Service Fabric will limit the total load of services within the application on each node to this value. + // If set to zero, capacity for this metric is unlimited on each node. + // When creating a new application with application capacity defined, the product of MaximumNodes and this value must always be smaller than or equal to TotalApplicationCapacity. + // When updating existing application with application capacity, the product of MaximumNodes and this value must always be smaller than or equal to TotalApplicationCapacity. + MaximumCapacity *int64 `json:"maximumCapacity,omitempty"` + // ReservationCapacity - The node reservation capacity for Service Fabric application. + // This is the amount of load which is reserved on nodes which have instances of this application. + // If MinimumNodes is specified, then the product of these values will be the capacity reserved in the cluster for the application. + // If set to zero, no capacity is reserved for this metric. + // When setting application capacity or when updating application capacity; this value must be smaller than or equal to MaximumCapacity for each metric. + ReservationCapacity *int64 `json:"reservationCapacity,omitempty"` + // TotalApplicationCapacity - The total metric capacity for Service Fabric application. + // This is the total metric capacity for this application in the cluster. Service Fabric will try to limit the sum of loads of services within the application to this value. + // When creating a new application with application capacity defined, the product of MaximumNodes and MaximumCapacity must always be smaller than or equal to this value. + TotalApplicationCapacity *int64 `json:"totalApplicationCapacity,omitempty"` +} + +// ApplicationResource the application resource. +type ApplicationResource struct { + autorest.Response `json:"-"` + // ApplicationResourceProperties - The application resource properties. + *ApplicationResourceProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Azure resource identifier. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Azure resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Azure resource type. + Type *string `json:"type,omitempty"` + // Location - Azure resource location. + Location *string `json:"location,omitempty"` + // Tags - Azure resource tags. + Tags map[string]*string `json:"tags"` + // Etag - READ-ONLY; Azure resource etag. + Etag *string `json:"etag,omitempty"` +} + +// MarshalJSON is the custom marshaler for ApplicationResource. +func (ar ApplicationResource) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if ar.ApplicationResourceProperties != nil { + objectMap["properties"] = ar.ApplicationResourceProperties + } + if ar.Location != nil { + objectMap["location"] = ar.Location + } + if ar.Tags != nil { + objectMap["tags"] = ar.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ApplicationResource struct. +func (ar *ApplicationResource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var applicationResourceProperties ApplicationResourceProperties + err = json.Unmarshal(*v, &applicationResourceProperties) + if err != nil { + return err + } + ar.ApplicationResourceProperties = &applicationResourceProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + ar.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + ar.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ar.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + ar.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + ar.Tags = tags + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + ar.Etag = &etag + } + } + } + + return nil +} + +// ApplicationResourceList the list of application resources. +type ApplicationResourceList struct { + autorest.Response `json:"-"` + Value *[]ApplicationResource `json:"value,omitempty"` + // NextLink - READ-ONLY; URL to get the next set of application list results if there are any. + NextLink *string `json:"nextLink,omitempty"` +} + +// ApplicationResourceProperties the application resource properties. +type ApplicationResourceProperties struct { + // ProvisioningState - READ-ONLY; The current deployment or provisioning state, which only appears in the response + ProvisioningState *string `json:"provisioningState,omitempty"` + // TypeName - The application type name as defined in the application manifest. + TypeName *string `json:"typeName,omitempty"` + // TypeVersion - The version of the application type as defined in the application manifest. + TypeVersion *string `json:"typeVersion,omitempty"` + // Parameters - List of application parameters with overridden values from their default values specified in the application manifest. + Parameters map[string]*string `json:"parameters"` + // UpgradePolicy - Describes the policy for a monitored application upgrade. + UpgradePolicy *ApplicationUpgradePolicy `json:"upgradePolicy,omitempty"` + // MinimumNodes - The minimum number of nodes where Service Fabric will reserve capacity for this application. Note that this does not mean that the services of this application will be placed on all of those nodes. If this property is set to zero, no capacity will be reserved. The value of this property cannot be more than the value of the MaximumNodes property. + MinimumNodes *int64 `json:"minimumNodes,omitempty"` + // MaximumNodes - The maximum number of nodes where Service Fabric will reserve capacity for this application. Note that this does not mean that the services of this application will be placed on all of those nodes. By default, the value of this property is zero and it means that the services can be placed on any node. + MaximumNodes *int64 `json:"maximumNodes,omitempty"` + // RemoveApplicationCapacity - Remove the current application capacity settings. + RemoveApplicationCapacity *bool `json:"removeApplicationCapacity,omitempty"` + // Metrics - List of application capacity metric description. + Metrics *[]ApplicationMetricDescription `json:"metrics,omitempty"` +} + +// MarshalJSON is the custom marshaler for ApplicationResourceProperties. +func (arp ApplicationResourceProperties) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if arp.TypeName != nil { + objectMap["typeName"] = arp.TypeName + } + if arp.TypeVersion != nil { + objectMap["typeVersion"] = arp.TypeVersion + } + if arp.Parameters != nil { + objectMap["parameters"] = arp.Parameters + } + if arp.UpgradePolicy != nil { + objectMap["upgradePolicy"] = arp.UpgradePolicy + } + if arp.MinimumNodes != nil { + objectMap["minimumNodes"] = arp.MinimumNodes + } + if arp.MaximumNodes != nil { + objectMap["maximumNodes"] = arp.MaximumNodes + } + if arp.RemoveApplicationCapacity != nil { + objectMap["removeApplicationCapacity"] = arp.RemoveApplicationCapacity + } + if arp.Metrics != nil { + objectMap["metrics"] = arp.Metrics + } + return json.Marshal(objectMap) +} + +// ApplicationResourceUpdate the application resource for patch operations. +type ApplicationResourceUpdate struct { + // ApplicationResourceUpdateProperties - The application resource properties for patch operations. + *ApplicationResourceUpdateProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Azure resource identifier. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Azure resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Azure resource type. + Type *string `json:"type,omitempty"` + // Location - Azure resource location. + Location *string `json:"location,omitempty"` + // Tags - Azure resource tags. + Tags map[string]*string `json:"tags"` + // Etag - READ-ONLY; Azure resource etag. + Etag *string `json:"etag,omitempty"` +} + +// MarshalJSON is the custom marshaler for ApplicationResourceUpdate. +func (aru ApplicationResourceUpdate) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if aru.ApplicationResourceUpdateProperties != nil { + objectMap["properties"] = aru.ApplicationResourceUpdateProperties + } + if aru.Location != nil { + objectMap["location"] = aru.Location + } + if aru.Tags != nil { + objectMap["tags"] = aru.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ApplicationResourceUpdate struct. +func (aru *ApplicationResourceUpdate) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var applicationResourceUpdateProperties ApplicationResourceUpdateProperties + err = json.Unmarshal(*v, &applicationResourceUpdateProperties) + if err != nil { + return err + } + aru.ApplicationResourceUpdateProperties = &applicationResourceUpdateProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + aru.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + aru.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + aru.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + aru.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + aru.Tags = tags + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + aru.Etag = &etag + } + } + } + + return nil +} + +// ApplicationResourceUpdateProperties the application resource properties for patch operations. +type ApplicationResourceUpdateProperties struct { + // TypeVersion - The version of the application type as defined in the application manifest. + TypeVersion *string `json:"typeVersion,omitempty"` + // Parameters - List of application parameters with overridden values from their default values specified in the application manifest. + Parameters map[string]*string `json:"parameters"` + // UpgradePolicy - Describes the policy for a monitored application upgrade. + UpgradePolicy *ApplicationUpgradePolicy `json:"upgradePolicy,omitempty"` + // MinimumNodes - The minimum number of nodes where Service Fabric will reserve capacity for this application. Note that this does not mean that the services of this application will be placed on all of those nodes. If this property is set to zero, no capacity will be reserved. The value of this property cannot be more than the value of the MaximumNodes property. + MinimumNodes *int64 `json:"minimumNodes,omitempty"` + // MaximumNodes - The maximum number of nodes where Service Fabric will reserve capacity for this application. Note that this does not mean that the services of this application will be placed on all of those nodes. By default, the value of this property is zero and it means that the services can be placed on any node. + MaximumNodes *int64 `json:"maximumNodes,omitempty"` + // RemoveApplicationCapacity - Remove the current application capacity settings. + RemoveApplicationCapacity *bool `json:"removeApplicationCapacity,omitempty"` + // Metrics - List of application capacity metric description. + Metrics *[]ApplicationMetricDescription `json:"metrics,omitempty"` +} + +// MarshalJSON is the custom marshaler for ApplicationResourceUpdateProperties. +func (arup ApplicationResourceUpdateProperties) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if arup.TypeVersion != nil { + objectMap["typeVersion"] = arup.TypeVersion + } + if arup.Parameters != nil { + objectMap["parameters"] = arup.Parameters + } + if arup.UpgradePolicy != nil { + objectMap["upgradePolicy"] = arup.UpgradePolicy + } + if arup.MinimumNodes != nil { + objectMap["minimumNodes"] = arup.MinimumNodes + } + if arup.MaximumNodes != nil { + objectMap["maximumNodes"] = arup.MaximumNodes + } + if arup.RemoveApplicationCapacity != nil { + objectMap["removeApplicationCapacity"] = arup.RemoveApplicationCapacity + } + if arup.Metrics != nil { + objectMap["metrics"] = arup.Metrics + } + return json.Marshal(objectMap) +} + +// ApplicationsCreateFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type ApplicationsCreateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ApplicationsCreateFuture) Result(client ApplicationsClient) (ar ApplicationResource, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "servicefabric.ApplicationsCreateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("servicefabric.ApplicationsCreateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if ar.Response.Response, err = future.GetResult(sender); err == nil && ar.Response.Response.StatusCode != http.StatusNoContent { + ar, err = client.CreateResponder(ar.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "servicefabric.ApplicationsCreateFuture", "Result", ar.Response.Response, "Failure responding to request") + } + } + return +} + +// ApplicationsDeleteFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type ApplicationsDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ApplicationsDeleteFuture) Result(client ApplicationsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "servicefabric.ApplicationsDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("servicefabric.ApplicationsDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// ApplicationsUpdateFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type ApplicationsUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ApplicationsUpdateFuture) Result(client ApplicationsClient) (ar ApplicationResource, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "servicefabric.ApplicationsUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("servicefabric.ApplicationsUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if ar.Response.Response, err = future.GetResult(sender); err == nil && ar.Response.Response.StatusCode != http.StatusNoContent { + ar, err = client.UpdateResponder(ar.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "servicefabric.ApplicationsUpdateFuture", "Result", ar.Response.Response, "Failure responding to request") + } + } + return +} + +// ApplicationTypeResource the application type name resource +type ApplicationTypeResource struct { + autorest.Response `json:"-"` + // ApplicationTypeResourceProperties - The application type name properties + *ApplicationTypeResourceProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Azure resource identifier. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Azure resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Azure resource type. + Type *string `json:"type,omitempty"` + // Location - Azure resource location. + Location *string `json:"location,omitempty"` + // Tags - Azure resource tags. + Tags map[string]*string `json:"tags"` + // Etag - READ-ONLY; Azure resource etag. + Etag *string `json:"etag,omitempty"` +} + +// MarshalJSON is the custom marshaler for ApplicationTypeResource. +func (atr ApplicationTypeResource) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if atr.ApplicationTypeResourceProperties != nil { + objectMap["properties"] = atr.ApplicationTypeResourceProperties + } + if atr.Location != nil { + objectMap["location"] = atr.Location + } + if atr.Tags != nil { + objectMap["tags"] = atr.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ApplicationTypeResource struct. +func (atr *ApplicationTypeResource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var applicationTypeResourceProperties ApplicationTypeResourceProperties + err = json.Unmarshal(*v, &applicationTypeResourceProperties) + if err != nil { + return err + } + atr.ApplicationTypeResourceProperties = &applicationTypeResourceProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + atr.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + atr.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + atr.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + atr.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + atr.Tags = tags + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + atr.Etag = &etag + } + } + } + + return nil +} + +// ApplicationTypeResourceList the list of application type names. +type ApplicationTypeResourceList struct { + autorest.Response `json:"-"` + Value *[]ApplicationTypeResource `json:"value,omitempty"` + // NextLink - READ-ONLY; URL to get the next set of application type list results if there are any. + NextLink *string `json:"nextLink,omitempty"` +} + +// ApplicationTypeResourceProperties the application type name properties +type ApplicationTypeResourceProperties struct { + // ProvisioningState - READ-ONLY; The current deployment or provisioning state, which only appears in the response. + ProvisioningState *string `json:"provisioningState,omitempty"` +} + +// ApplicationTypesDeleteFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type ApplicationTypesDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ApplicationTypesDeleteFuture) Result(client ApplicationTypesClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "servicefabric.ApplicationTypesDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("servicefabric.ApplicationTypesDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// ApplicationTypeVersionResource an application type version resource for the specified application type +// name resource. +type ApplicationTypeVersionResource struct { + autorest.Response `json:"-"` + // ApplicationTypeVersionResourceProperties - The properties of the application type version resource. + *ApplicationTypeVersionResourceProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Azure resource identifier. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Azure resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Azure resource type. + Type *string `json:"type,omitempty"` + // Location - Azure resource location. + Location *string `json:"location,omitempty"` + // Tags - Azure resource tags. + Tags map[string]*string `json:"tags"` + // Etag - READ-ONLY; Azure resource etag. + Etag *string `json:"etag,omitempty"` +} + +// MarshalJSON is the custom marshaler for ApplicationTypeVersionResource. +func (atvr ApplicationTypeVersionResource) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if atvr.ApplicationTypeVersionResourceProperties != nil { + objectMap["properties"] = atvr.ApplicationTypeVersionResourceProperties + } + if atvr.Location != nil { + objectMap["location"] = atvr.Location + } + if atvr.Tags != nil { + objectMap["tags"] = atvr.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ApplicationTypeVersionResource struct. +func (atvr *ApplicationTypeVersionResource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var applicationTypeVersionResourceProperties ApplicationTypeVersionResourceProperties + err = json.Unmarshal(*v, &applicationTypeVersionResourceProperties) + if err != nil { + return err + } + atvr.ApplicationTypeVersionResourceProperties = &applicationTypeVersionResourceProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + atvr.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + atvr.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + atvr.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + atvr.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + atvr.Tags = tags + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + atvr.Etag = &etag + } + } + } + + return nil +} + +// ApplicationTypeVersionResourceList the list of application type version resources for the specified +// application type name resource. +type ApplicationTypeVersionResourceList struct { + autorest.Response `json:"-"` + Value *[]ApplicationTypeVersionResource `json:"value,omitempty"` + // NextLink - READ-ONLY; URL to get the next set of application type version list results if there are any. + NextLink *string `json:"nextLink,omitempty"` +} + +// ApplicationTypeVersionResourceProperties the properties of the application type version resource. +type ApplicationTypeVersionResourceProperties struct { + // ProvisioningState - READ-ONLY; The current deployment or provisioning state, which only appears in the response + ProvisioningState *string `json:"provisioningState,omitempty"` + // AppPackageURL - The URL to the application package + AppPackageURL *string `json:"appPackageUrl,omitempty"` + // DefaultParameterList - READ-ONLY; List of application type parameters that can be overridden when creating or updating the application. + DefaultParameterList map[string]*string `json:"defaultParameterList"` +} + +// MarshalJSON is the custom marshaler for ApplicationTypeVersionResourceProperties. +func (atvrp ApplicationTypeVersionResourceProperties) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if atvrp.AppPackageURL != nil { + objectMap["appPackageUrl"] = atvrp.AppPackageURL + } + return json.Marshal(objectMap) +} + +// ApplicationTypeVersionsCreateFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type ApplicationTypeVersionsCreateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ApplicationTypeVersionsCreateFuture) Result(client ApplicationTypeVersionsClient) (atvr ApplicationTypeVersionResource, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "servicefabric.ApplicationTypeVersionsCreateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("servicefabric.ApplicationTypeVersionsCreateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if atvr.Response.Response, err = future.GetResult(sender); err == nil && atvr.Response.Response.StatusCode != http.StatusNoContent { + atvr, err = client.CreateResponder(atvr.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "servicefabric.ApplicationTypeVersionsCreateFuture", "Result", atvr.Response.Response, "Failure responding to request") + } + } + return +} + +// ApplicationTypeVersionsDeleteFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type ApplicationTypeVersionsDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ApplicationTypeVersionsDeleteFuture) Result(client ApplicationTypeVersionsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "servicefabric.ApplicationTypeVersionsDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("servicefabric.ApplicationTypeVersionsDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// ApplicationUpgradePolicy describes the policy for a monitored application upgrade. +type ApplicationUpgradePolicy struct { + // UpgradeReplicaSetCheckTimeout - The maximum amount of time to block processing of an upgrade domain and prevent loss of availability when there are unexpected issues. When this timeout expires, processing of the upgrade domain will proceed regardless of availability loss issues. The timeout is reset at the start of each upgrade domain. Valid values are between 0 and 42949672925 inclusive. (unsigned 32-bit integer). + UpgradeReplicaSetCheckTimeout *string `json:"upgradeReplicaSetCheckTimeout,omitempty"` + // ForceRestart - If true, then processes are forcefully restarted during upgrade even when the code version has not changed (the upgrade only changes configuration or data). + ForceRestart *bool `json:"forceRestart,omitempty"` + // RollingUpgradeMonitoringPolicy - The policy used for monitoring the application upgrade + RollingUpgradeMonitoringPolicy *ArmRollingUpgradeMonitoringPolicy `json:"rollingUpgradeMonitoringPolicy,omitempty"` + // ApplicationHealthPolicy - Defines a health policy used to evaluate the health of an application or one of its children entities. + ApplicationHealthPolicy *ArmApplicationHealthPolicy `json:"applicationHealthPolicy,omitempty"` +} + +// ArmApplicationHealthPolicy defines a health policy used to evaluate the health of an application or one +// of its children entities. +type ArmApplicationHealthPolicy struct { + // ConsiderWarningAsError - Indicates whether warnings are treated with the same severity as errors. + ConsiderWarningAsError *bool `json:"considerWarningAsError,omitempty"` + // MaxPercentUnhealthyDeployedApplications - The maximum allowed percentage of unhealthy deployed applications. Allowed values are Byte values from zero to 100. + // The percentage represents the maximum tolerated percentage of deployed applications that can be unhealthy before the application is considered in error. + // This is calculated by dividing the number of unhealthy deployed applications over the number of nodes where the application is currently deployed on in the cluster. + // The computation rounds up to tolerate one failure on small numbers of nodes. Default percentage is zero. + MaxPercentUnhealthyDeployedApplications *int32 `json:"maxPercentUnhealthyDeployedApplications,omitempty"` + // DefaultServiceTypeHealthPolicy - The health policy used by default to evaluate the health of a service type. + DefaultServiceTypeHealthPolicy *ArmServiceTypeHealthPolicy `json:"defaultServiceTypeHealthPolicy,omitempty"` + // ServiceTypeHealthPolicyMap - The map with service type health policy per service type name. The map is empty by default. + ServiceTypeHealthPolicyMap map[string]*ArmServiceTypeHealthPolicy `json:"serviceTypeHealthPolicyMap"` +} + +// MarshalJSON is the custom marshaler for ArmApplicationHealthPolicy. +func (aahp ArmApplicationHealthPolicy) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if aahp.ConsiderWarningAsError != nil { + objectMap["considerWarningAsError"] = aahp.ConsiderWarningAsError + } + if aahp.MaxPercentUnhealthyDeployedApplications != nil { + objectMap["maxPercentUnhealthyDeployedApplications"] = aahp.MaxPercentUnhealthyDeployedApplications + } + if aahp.DefaultServiceTypeHealthPolicy != nil { + objectMap["defaultServiceTypeHealthPolicy"] = aahp.DefaultServiceTypeHealthPolicy + } + if aahp.ServiceTypeHealthPolicyMap != nil { + objectMap["serviceTypeHealthPolicyMap"] = aahp.ServiceTypeHealthPolicyMap + } + return json.Marshal(objectMap) +} + +// ArmRollingUpgradeMonitoringPolicy the policy used for monitoring the application upgrade +type ArmRollingUpgradeMonitoringPolicy struct { + // FailureAction - The activation Mode of the service package. Possible values include: 'Rollback', 'Manual' + FailureAction ArmUpgradeFailureAction `json:"failureAction,omitempty"` + // HealthCheckWaitDuration - The amount of time to wait after completing an upgrade domain before applying health policies. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds. + HealthCheckWaitDuration *string `json:"healthCheckWaitDuration,omitempty"` + // HealthCheckStableDuration - The amount of time that the application or cluster must remain healthy before the upgrade proceeds to the next upgrade domain. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds. + HealthCheckStableDuration *string `json:"healthCheckStableDuration,omitempty"` + // HealthCheckRetryTimeout - The amount of time to retry health evaluation when the application or cluster is unhealthy before FailureAction is executed. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds. + HealthCheckRetryTimeout *string `json:"healthCheckRetryTimeout,omitempty"` + // UpgradeTimeout - The amount of time the overall upgrade has to complete before FailureAction is executed. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds. + UpgradeTimeout *string `json:"upgradeTimeout,omitempty"` + // UpgradeDomainTimeout - The amount of time each upgrade domain has to complete before FailureAction is executed. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds. + UpgradeDomainTimeout *string `json:"upgradeDomainTimeout,omitempty"` +} + +// ArmServiceTypeHealthPolicy represents the health policy used to evaluate the health of services +// belonging to a service type. +type ArmServiceTypeHealthPolicy struct { + // MaxPercentUnhealthyServices - The maximum percentage of services allowed to be unhealthy before your application is considered in error. + MaxPercentUnhealthyServices *int32 `json:"maxPercentUnhealthyServices,omitempty"` + // MaxPercentUnhealthyPartitionsPerService - The maximum percentage of partitions per service allowed to be unhealthy before your application is considered in error. + MaxPercentUnhealthyPartitionsPerService *int32 `json:"maxPercentUnhealthyPartitionsPerService,omitempty"` + // MaxPercentUnhealthyReplicasPerPartition - The maximum percentage of replicas per partition allowed to be unhealthy before your application is considered in error. + MaxPercentUnhealthyReplicasPerPartition *int32 `json:"maxPercentUnhealthyReplicasPerPartition,omitempty"` +} + +// AvailableOperationDisplay operation supported by the Service Fabric resource provider +type AvailableOperationDisplay struct { + // Provider - The name of the provider. + Provider *string `json:"provider,omitempty"` + // Resource - The resource on which the operation is performed + Resource *string `json:"resource,omitempty"` + // Operation - The operation that can be performed. + Operation *string `json:"operation,omitempty"` + // Description - Operation description + Description *string `json:"description,omitempty"` +} + +// AzureActiveDirectory the settings to enable AAD authentication on the cluster. +type AzureActiveDirectory struct { + // TenantID - Azure active directory tenant id. + TenantID *string `json:"tenantId,omitempty"` + // ClusterApplication - Azure active directory cluster application id. + ClusterApplication *string `json:"clusterApplication,omitempty"` + // ClientApplication - Azure active directory client application id. + ClientApplication *string `json:"clientApplication,omitempty"` +} + +// CertificateDescription describes the certificate details. +type CertificateDescription struct { + // Thumbprint - Thumbprint of the primary certificate. + Thumbprint *string `json:"thumbprint,omitempty"` + // ThumbprintSecondary - Thumbprint of the secondary certificate. + ThumbprintSecondary *string `json:"thumbprintSecondary,omitempty"` + // X509StoreName - The local certificate store location. Possible values include: 'AddressBook', 'AuthRoot', 'CertificateAuthority', 'Disallowed', 'My', 'Root', 'TrustedPeople', 'TrustedPublisher' + X509StoreName X509StoreName `json:"x509StoreName,omitempty"` +} + +// ClientCertificateCommonName describes the client certificate details using common name. +type ClientCertificateCommonName struct { + // IsAdmin - Indicates if the client certificate has admin access to the cluster. Non admin clients can perform only read only operations on the cluster. + IsAdmin *bool `json:"isAdmin,omitempty"` + // CertificateCommonName - The common name of the client certificate. + CertificateCommonName *string `json:"certificateCommonName,omitempty"` + // CertificateIssuerThumbprint - The issuer thumbprint of the client certificate. + CertificateIssuerThumbprint *string `json:"certificateIssuerThumbprint,omitempty"` +} + +// ClientCertificateThumbprint describes the client certificate details using thumbprint. +type ClientCertificateThumbprint struct { + // IsAdmin - Indicates if the client certificate has admin access to the cluster. Non admin clients can perform only read only operations on the cluster. + IsAdmin *bool `json:"isAdmin,omitempty"` + // CertificateThumbprint - The thumbprint of the client certificate. + CertificateThumbprint *string `json:"certificateThumbprint,omitempty"` +} + +// Cluster the cluster resource +type Cluster struct { + autorest.Response `json:"-"` + // ClusterProperties - The cluster resource properties + *ClusterProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Azure resource identifier. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Azure resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Azure resource type. + Type *string `json:"type,omitempty"` + // Location - Azure resource location. + Location *string `json:"location,omitempty"` + // Tags - Azure resource tags. + Tags map[string]*string `json:"tags"` + // Etag - READ-ONLY; Azure resource etag. + Etag *string `json:"etag,omitempty"` +} + +// MarshalJSON is the custom marshaler for Cluster. +func (c Cluster) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if c.ClusterProperties != nil { + objectMap["properties"] = c.ClusterProperties + } + if c.Location != nil { + objectMap["location"] = c.Location + } + if c.Tags != nil { + objectMap["tags"] = c.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for Cluster struct. +func (c *Cluster) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var clusterProperties ClusterProperties + err = json.Unmarshal(*v, &clusterProperties) + if err != nil { + return err + } + c.ClusterProperties = &clusterProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + c.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + c.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + c.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + c.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + c.Tags = tags + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + c.Etag = &etag + } + } + } + + return nil +} + +// ClusterCodeVersionsListResult the list results of the Service Fabric runtime versions. +type ClusterCodeVersionsListResult struct { + autorest.Response `json:"-"` + Value *[]ClusterCodeVersionsResult `json:"value,omitempty"` + // NextLink - The URL to use for getting the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// ClusterCodeVersionsResult the result of the Service Fabric runtime versions +type ClusterCodeVersionsResult struct { + // ID - The identification of the result + ID *string `json:"id,omitempty"` + // Name - The name of the result + Name *string `json:"name,omitempty"` + // Type - The result resource type + Type *string `json:"type,omitempty"` + // ClusterVersionDetails - The detail of the Service Fabric runtime version result + *ClusterVersionDetails `json:"properties,omitempty"` +} + +// MarshalJSON is the custom marshaler for ClusterCodeVersionsResult. +func (ccvr ClusterCodeVersionsResult) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if ccvr.ID != nil { + objectMap["id"] = ccvr.ID + } + if ccvr.Name != nil { + objectMap["name"] = ccvr.Name + } + if ccvr.Type != nil { + objectMap["type"] = ccvr.Type + } + if ccvr.ClusterVersionDetails != nil { + objectMap["properties"] = ccvr.ClusterVersionDetails + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ClusterCodeVersionsResult struct. +func (ccvr *ClusterCodeVersionsResult) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + ccvr.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + ccvr.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ccvr.Type = &typeVar + } + case "properties": + if v != nil { + var clusterVersionDetails ClusterVersionDetails + err = json.Unmarshal(*v, &clusterVersionDetails) + if err != nil { + return err + } + ccvr.ClusterVersionDetails = &clusterVersionDetails + } + } + } + + return nil +} + +// ClusterHealthPolicy defines a health policy used to evaluate the health of the cluster or of a cluster +// node. +type ClusterHealthPolicy struct { + // MaxPercentUnhealthyNodes - The maximum allowed percentage of unhealthy nodes before reporting an error. For example, to allow 10% of nodes to be unhealthy, this value would be 10. + // The percentage represents the maximum tolerated percentage of nodes that can be unhealthy before the cluster is considered in error. + // If the percentage is respected but there is at least one unhealthy node, the health is evaluated as Warning. + // The percentage is calculated by dividing the number of unhealthy nodes over the total number of nodes in the cluster. + // The computation rounds up to tolerate one failure on small numbers of nodes. Default percentage is zero. + // In large clusters, some nodes will always be down or out for repairs, so this percentage should be configured to tolerate that. + MaxPercentUnhealthyNodes *int32 `json:"maxPercentUnhealthyNodes,omitempty"` + // MaxPercentUnhealthyApplications - The maximum allowed percentage of unhealthy applications before reporting an error. For example, to allow 10% of applications to be unhealthy, this value would be 10. + // The percentage represents the maximum tolerated percentage of applications that can be unhealthy before the cluster is considered in error. + // If the percentage is respected but there is at least one unhealthy application, the health is evaluated as Warning. + // This is calculated by dividing the number of unhealthy applications over the total number of application instances in the cluster, excluding applications of application types that are included in the ApplicationTypeHealthPolicyMap. + // The computation rounds up to tolerate one failure on small numbers of applications. Default percentage is zero. + MaxPercentUnhealthyApplications *int32 `json:"maxPercentUnhealthyApplications,omitempty"` + // ApplicationHealthPolicies - Defines the application health policy map used to evaluate the health of an application or one of its children entities. + ApplicationHealthPolicies map[string]*ApplicationHealthPolicy `json:"applicationHealthPolicies"` +} + +// MarshalJSON is the custom marshaler for ClusterHealthPolicy. +func (chp ClusterHealthPolicy) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if chp.MaxPercentUnhealthyNodes != nil { + objectMap["maxPercentUnhealthyNodes"] = chp.MaxPercentUnhealthyNodes + } + if chp.MaxPercentUnhealthyApplications != nil { + objectMap["maxPercentUnhealthyApplications"] = chp.MaxPercentUnhealthyApplications + } + if chp.ApplicationHealthPolicies != nil { + objectMap["applicationHealthPolicies"] = chp.ApplicationHealthPolicies + } + return json.Marshal(objectMap) +} + +// ClusterListResult cluster list results +type ClusterListResult struct { + autorest.Response `json:"-"` + Value *[]Cluster `json:"value,omitempty"` + // NextLink - The URL to use for getting the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// ClusterProperties describes the cluster resource properties. +type ClusterProperties struct { + // AddOnFeatures - The list of add-on features to enable in the cluster. + AddOnFeatures *[]string `json:"addOnFeatures,omitempty"` + // AvailableClusterVersions - READ-ONLY; The Service Fabric runtime versions available for this cluster. + AvailableClusterVersions *[]ClusterVersionDetails `json:"availableClusterVersions,omitempty"` + // AzureActiveDirectory - The AAD authentication settings of the cluster. + AzureActiveDirectory *AzureActiveDirectory `json:"azureActiveDirectory,omitempty"` + // Certificate - The certificate to use for securing the cluster. The certificate provided will be used for node to node security within the cluster, SSL certificate for cluster management endpoint and default admin client. + Certificate *CertificateDescription `json:"certificate,omitempty"` + // CertificateCommonNames - Describes a list of server certificates referenced by common name that are used to secure the cluster. + CertificateCommonNames *ServerCertificateCommonNames `json:"certificateCommonNames,omitempty"` + // ClientCertificateCommonNames - The list of client certificates referenced by common name that are allowed to manage the cluster. + ClientCertificateCommonNames *[]ClientCertificateCommonName `json:"clientCertificateCommonNames,omitempty"` + // ClientCertificateThumbprints - The list of client certificates referenced by thumbprint that are allowed to manage the cluster. + ClientCertificateThumbprints *[]ClientCertificateThumbprint `json:"clientCertificateThumbprints,omitempty"` + // ClusterCodeVersion - The Service Fabric runtime version of the cluster. This property can only by set the user when **upgradeMode** is set to 'Manual'. To get list of available Service Fabric versions for new clusters use [ClusterVersion API](./ClusterVersion.md). To get the list of available version for existing clusters use **availableClusterVersions**. + ClusterCodeVersion *string `json:"clusterCodeVersion,omitempty"` + // ClusterEndpoint - READ-ONLY; The Azure Resource Provider endpoint. A system service in the cluster connects to this endpoint. + ClusterEndpoint *string `json:"clusterEndpoint,omitempty"` + // ClusterID - READ-ONLY; A service generated unique identifier for the cluster resource. + ClusterID *string `json:"clusterId,omitempty"` + // ClusterState - READ-ONLY; The current state of the cluster. + // - WaitingForNodes - Indicates that the cluster resource is created and the resource provider is waiting for Service Fabric VM extension to boot up and report to it. + // - Deploying - Indicates that the Service Fabric runtime is being installed on the VMs. Cluster resource will be in this state until the cluster boots up and system services are up. + // - BaselineUpgrade - Indicates that the cluster is upgrading to establishes the cluster version. This upgrade is automatically initiated when the cluster boots up for the first time. + // - UpdatingUserConfiguration - Indicates that the cluster is being upgraded with the user provided configuration. + // - UpdatingUserCertificate - Indicates that the cluster is being upgraded with the user provided certificate. + // - UpdatingInfrastructure - Indicates that the cluster is being upgraded with the latest Service Fabric runtime version. This happens only when the **upgradeMode** is set to 'Automatic'. + // - EnforcingClusterVersion - Indicates that cluster is on a different version than expected and the cluster is being upgraded to the expected version. + // - UpgradeServiceUnreachable - Indicates that the system service in the cluster is no longer polling the Resource Provider. Clusters in this state cannot be managed by the Resource Provider. + // - AutoScale - Indicates that the ReliabilityLevel of the cluster is being adjusted. + // - Ready - Indicates that the cluster is in a stable state. + // . Possible values include: 'WaitingForNodes', 'Deploying', 'BaselineUpgrade', 'UpdatingUserConfiguration', 'UpdatingUserCertificate', 'UpdatingInfrastructure', 'EnforcingClusterVersion', 'UpgradeServiceUnreachable', 'AutoScale', 'Ready' + ClusterState ClusterState `json:"clusterState,omitempty"` + // DiagnosticsStorageAccountConfig - The storage account information for storing Service Fabric diagnostic logs. + DiagnosticsStorageAccountConfig *DiagnosticsStorageAccountConfig `json:"diagnosticsStorageAccountConfig,omitempty"` + // EventStoreServiceEnabled - Indicates if the event store service is enabled. + EventStoreServiceEnabled *bool `json:"eventStoreServiceEnabled,omitempty"` + // FabricSettings - The list of custom fabric settings to configure the cluster. + FabricSettings *[]SettingsSectionDescription `json:"fabricSettings,omitempty"` + // ManagementEndpoint - The http management endpoint of the cluster. + ManagementEndpoint *string `json:"managementEndpoint,omitempty"` + // NodeTypes - The list of node types in the cluster. + NodeTypes *[]NodeTypeDescription `json:"nodeTypes,omitempty"` + // ProvisioningState - READ-ONLY; The provisioning state of the cluster resource. Possible values include: 'Updating', 'Succeeded', 'Failed', 'Canceled' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + // ReliabilityLevel - The reliability level sets the replica set size of system services. Learn about [ReliabilityLevel](https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-cluster-capacity). + // - None - Run the System services with a target replica set count of 1. This should only be used for test clusters. + // - Bronze - Run the System services with a target replica set count of 3. This should only be used for test clusters. + // - Silver - Run the System services with a target replica set count of 5. + // - Gold - Run the System services with a target replica set count of 7. + // - Platinum - Run the System services with a target replica set count of 9. + // . Possible values include: 'ReliabilityLevelNone', 'ReliabilityLevelBronze', 'ReliabilityLevelSilver', 'ReliabilityLevelGold', 'ReliabilityLevelPlatinum' + ReliabilityLevel ReliabilityLevel `json:"reliabilityLevel,omitempty"` + // ReverseProxyCertificate - The server certificate used by reverse proxy. + ReverseProxyCertificate *CertificateDescription `json:"reverseProxyCertificate,omitempty"` + // ReverseProxyCertificateCommonNames - Describes a list of server certificates referenced by common name that are used to secure the cluster. + ReverseProxyCertificateCommonNames *ServerCertificateCommonNames `json:"reverseProxyCertificateCommonNames,omitempty"` + // UpgradeDescription - The policy to use when upgrading the cluster. + UpgradeDescription *ClusterUpgradePolicy `json:"upgradeDescription,omitempty"` + // UpgradeMode - The upgrade mode of the cluster when new Service Fabric runtime version is available. + // - Automatic - The cluster will be automatically upgraded to the latest Service Fabric runtime version as soon as it is available. + // - Manual - The cluster will not be automatically upgraded to the latest Service Fabric runtime version. The cluster is upgraded by setting the **clusterCodeVersion** property in the cluster resource. + // . Possible values include: 'UpgradeModeAutomatic', 'UpgradeModeManual' + UpgradeMode UpgradeMode `json:"upgradeMode,omitempty"` + // VMImage - The VM image VMSS has been configured with. Generic names such as Windows or Linux can be used. + VMImage *string `json:"vmImage,omitempty"` +} + +// ClusterPropertiesUpdateParameters describes the cluster resource properties that can be updated during +// PATCH operation. +type ClusterPropertiesUpdateParameters struct { + // AddOnFeatures - The list of add-on features to enable in the cluster. + AddOnFeatures *[]string `json:"addOnFeatures,omitempty"` + // Certificate - The certificate to use for securing the cluster. The certificate provided will be used for node to node security within the cluster, SSL certificate for cluster management endpoint and default admin client. + Certificate *CertificateDescription `json:"certificate,omitempty"` + // CertificateCommonNames - Describes a list of server certificates referenced by common name that are used to secure the cluster. + CertificateCommonNames *ServerCertificateCommonNames `json:"certificateCommonNames,omitempty"` + // ClientCertificateCommonNames - The list of client certificates referenced by common name that are allowed to manage the cluster. This will overwrite the existing list. + ClientCertificateCommonNames *[]ClientCertificateCommonName `json:"clientCertificateCommonNames,omitempty"` + // ClientCertificateThumbprints - The list of client certificates referenced by thumbprint that are allowed to manage the cluster. This will overwrite the existing list. + ClientCertificateThumbprints *[]ClientCertificateThumbprint `json:"clientCertificateThumbprints,omitempty"` + // ClusterCodeVersion - The Service Fabric runtime version of the cluster. This property can only by set the user when **upgradeMode** is set to 'Manual'. To get list of available Service Fabric versions for new clusters use [ClusterVersion API](./ClusterVersion.md). To get the list of available version for existing clusters use **availableClusterVersions**. + ClusterCodeVersion *string `json:"clusterCodeVersion,omitempty"` + // EventStoreServiceEnabled - Indicates if the event store service is enabled. + EventStoreServiceEnabled *bool `json:"eventStoreServiceEnabled,omitempty"` + // FabricSettings - The list of custom fabric settings to configure the cluster. This will overwrite the existing list. + FabricSettings *[]SettingsSectionDescription `json:"fabricSettings,omitempty"` + // NodeTypes - The list of node types in the cluster. This will overwrite the existing list. + NodeTypes *[]NodeTypeDescription `json:"nodeTypes,omitempty"` + // ReliabilityLevel - The reliability level sets the replica set size of system services. Learn about [ReliabilityLevel](https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-cluster-capacity). + // - None - Run the System services with a target replica set count of 1. This should only be used for test clusters. + // - Bronze - Run the System services with a target replica set count of 3. This should only be used for test clusters. + // - Silver - Run the System services with a target replica set count of 5. + // - Gold - Run the System services with a target replica set count of 7. + // - Platinum - Run the System services with a target replica set count of 9. + // . Possible values include: 'ReliabilityLevel1None', 'ReliabilityLevel1Bronze', 'ReliabilityLevel1Silver', 'ReliabilityLevel1Gold', 'ReliabilityLevel1Platinum' + ReliabilityLevel ReliabilityLevel1 `json:"reliabilityLevel,omitempty"` + // ReverseProxyCertificate - The server certificate used by reverse proxy. + ReverseProxyCertificate *CertificateDescription `json:"reverseProxyCertificate,omitempty"` + // UpgradeDescription - The policy to use when upgrading the cluster. + UpgradeDescription *ClusterUpgradePolicy `json:"upgradeDescription,omitempty"` + // UpgradeMode - The upgrade mode of the cluster when new Service Fabric runtime version is available. + // - Automatic - The cluster will be automatically upgraded to the latest Service Fabric runtime version as soon as it is available. + // - Manual - The cluster will not be automatically upgraded to the latest Service Fabric runtime version. The cluster is upgraded by setting the **clusterCodeVersion** property in the cluster resource. + // . Possible values include: 'UpgradeMode1Automatic', 'UpgradeMode1Manual' + UpgradeMode UpgradeMode1 `json:"upgradeMode,omitempty"` +} + +// ClustersCreateFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type ClustersCreateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ClustersCreateFuture) Result(client ClustersClient) (c Cluster, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "servicefabric.ClustersCreateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("servicefabric.ClustersCreateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if c.Response.Response, err = future.GetResult(sender); err == nil && c.Response.Response.StatusCode != http.StatusNoContent { + c, err = client.CreateResponder(c.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "servicefabric.ClustersCreateFuture", "Result", c.Response.Response, "Failure responding to request") + } + } + return +} + +// ClustersUpdateFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type ClustersUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ClustersUpdateFuture) Result(client ClustersClient) (c Cluster, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "servicefabric.ClustersUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("servicefabric.ClustersUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if c.Response.Response, err = future.GetResult(sender); err == nil && c.Response.Response.StatusCode != http.StatusNoContent { + c, err = client.UpdateResponder(c.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "servicefabric.ClustersUpdateFuture", "Result", c.Response.Response, "Failure responding to request") + } + } + return +} + +// ClusterUpdateParameters cluster update request +type ClusterUpdateParameters struct { + // ClusterPropertiesUpdateParameters - Describes the cluster resource properties that can be updated during PATCH operation. + *ClusterPropertiesUpdateParameters `json:"properties,omitempty"` + // Tags - Cluster update parameters + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for ClusterUpdateParameters. +func (cup ClusterUpdateParameters) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if cup.ClusterPropertiesUpdateParameters != nil { + objectMap["properties"] = cup.ClusterPropertiesUpdateParameters + } + if cup.Tags != nil { + objectMap["tags"] = cup.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ClusterUpdateParameters struct. +func (cup *ClusterUpdateParameters) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var clusterPropertiesUpdateParameters ClusterPropertiesUpdateParameters + err = json.Unmarshal(*v, &clusterPropertiesUpdateParameters) + if err != nil { + return err + } + cup.ClusterPropertiesUpdateParameters = &clusterPropertiesUpdateParameters + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + cup.Tags = tags + } + } + } + + return nil +} + +// ClusterUpgradeDeltaHealthPolicy describes the delta health policies for the cluster upgrade. +type ClusterUpgradeDeltaHealthPolicy struct { + // MaxPercentDeltaUnhealthyNodes - The maximum allowed percentage of nodes health degradation allowed during cluster upgrades. + // The delta is measured between the state of the nodes at the beginning of upgrade and the state of the nodes at the time of the health evaluation. + // The check is performed after every upgrade domain upgrade completion to make sure the global state of the cluster is within tolerated limits. + MaxPercentDeltaUnhealthyNodes *int32 `json:"maxPercentDeltaUnhealthyNodes,omitempty"` + // MaxPercentUpgradeDomainDeltaUnhealthyNodes - The maximum allowed percentage of upgrade domain nodes health degradation allowed during cluster upgrades. + // The delta is measured between the state of the upgrade domain nodes at the beginning of upgrade and the state of the upgrade domain nodes at the time of the health evaluation. + // The check is performed after every upgrade domain upgrade completion for all completed upgrade domains to make sure the state of the upgrade domains is within tolerated limits. + MaxPercentUpgradeDomainDeltaUnhealthyNodes *int32 `json:"maxPercentUpgradeDomainDeltaUnhealthyNodes,omitempty"` + // MaxPercentDeltaUnhealthyApplications - The maximum allowed percentage of applications health degradation allowed during cluster upgrades. + // The delta is measured between the state of the applications at the beginning of upgrade and the state of the applications at the time of the health evaluation. + // The check is performed after every upgrade domain upgrade completion to make sure the global state of the cluster is within tolerated limits. System services are not included in this. + MaxPercentDeltaUnhealthyApplications *int32 `json:"maxPercentDeltaUnhealthyApplications,omitempty"` + // ApplicationDeltaHealthPolicies - Defines the application delta health policy map used to evaluate the health of an application or one of its child entities when upgrading the cluster. + ApplicationDeltaHealthPolicies map[string]*ApplicationDeltaHealthPolicy `json:"applicationDeltaHealthPolicies"` +} + +// MarshalJSON is the custom marshaler for ClusterUpgradeDeltaHealthPolicy. +func (cudhp ClusterUpgradeDeltaHealthPolicy) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if cudhp.MaxPercentDeltaUnhealthyNodes != nil { + objectMap["maxPercentDeltaUnhealthyNodes"] = cudhp.MaxPercentDeltaUnhealthyNodes + } + if cudhp.MaxPercentUpgradeDomainDeltaUnhealthyNodes != nil { + objectMap["maxPercentUpgradeDomainDeltaUnhealthyNodes"] = cudhp.MaxPercentUpgradeDomainDeltaUnhealthyNodes + } + if cudhp.MaxPercentDeltaUnhealthyApplications != nil { + objectMap["maxPercentDeltaUnhealthyApplications"] = cudhp.MaxPercentDeltaUnhealthyApplications + } + if cudhp.ApplicationDeltaHealthPolicies != nil { + objectMap["applicationDeltaHealthPolicies"] = cudhp.ApplicationDeltaHealthPolicies + } + return json.Marshal(objectMap) +} + +// ClusterUpgradePolicy describes the policy used when upgrading the cluster. +type ClusterUpgradePolicy struct { + // ForceRestart - If true, then processes are forcefully restarted during upgrade even when the code version has not changed (the upgrade only changes configuration or data). + ForceRestart *bool `json:"forceRestart,omitempty"` + // UpgradeReplicaSetCheckTimeout - The maximum amount of time to block processing of an upgrade domain and prevent loss of availability when there are unexpected issues. When this timeout expires, processing of the upgrade domain will proceed regardless of availability loss issues. The timeout is reset at the start of each upgrade domain. The timeout can be in either hh:mm:ss or in d.hh:mm:ss.ms format. + UpgradeReplicaSetCheckTimeout *string `json:"upgradeReplicaSetCheckTimeout,omitempty"` + // HealthCheckWaitDuration - The length of time to wait after completing an upgrade domain before performing health checks. The duration can be in either hh:mm:ss or in d.hh:mm:ss.ms format. + HealthCheckWaitDuration *string `json:"healthCheckWaitDuration,omitempty"` + // HealthCheckStableDuration - The amount of time that the application or cluster must remain healthy before the upgrade proceeds to the next upgrade domain. The duration can be in either hh:mm:ss or in d.hh:mm:ss.ms format. + HealthCheckStableDuration *string `json:"healthCheckStableDuration,omitempty"` + // HealthCheckRetryTimeout - The amount of time to retry health evaluation when the application or cluster is unhealthy before the upgrade rolls back. The timeout can be in either hh:mm:ss or in d.hh:mm:ss.ms format. + HealthCheckRetryTimeout *string `json:"healthCheckRetryTimeout,omitempty"` + // UpgradeTimeout - The amount of time the overall upgrade has to complete before the upgrade rolls back. The timeout can be in either hh:mm:ss or in d.hh:mm:ss.ms format. + UpgradeTimeout *string `json:"upgradeTimeout,omitempty"` + // UpgradeDomainTimeout - The amount of time each upgrade domain has to complete before the upgrade rolls back. The timeout can be in either hh:mm:ss or in d.hh:mm:ss.ms format. + UpgradeDomainTimeout *string `json:"upgradeDomainTimeout,omitempty"` + // HealthPolicy - The cluster health policy used when upgrading the cluster. + HealthPolicy *ClusterHealthPolicy `json:"healthPolicy,omitempty"` + // DeltaHealthPolicy - The cluster delta health policy used when upgrading the cluster. + DeltaHealthPolicy *ClusterUpgradeDeltaHealthPolicy `json:"deltaHealthPolicy,omitempty"` +} + +// ClusterVersionDetails the detail of the Service Fabric runtime version result +type ClusterVersionDetails struct { + // CodeVersion - The Service Fabric runtime version of the cluster. + CodeVersion *string `json:"codeVersion,omitempty"` + // SupportExpiryUtc - The date of expiry of support of the version. + SupportExpiryUtc *string `json:"supportExpiryUtc,omitempty"` + // Environment - Indicates if this version is for Windows or Linux operating system. Possible values include: 'Windows', 'Linux' + Environment Environment `json:"environment,omitempty"` +} + +// DiagnosticsStorageAccountConfig the storage account information for storing Service Fabric diagnostic +// logs. +type DiagnosticsStorageAccountConfig struct { + // StorageAccountName - The Azure storage account name. + StorageAccountName *string `json:"storageAccountName,omitempty"` + // ProtectedAccountKeyName - The protected diagnostics storage key name. + ProtectedAccountKeyName *string `json:"protectedAccountKeyName,omitempty"` + // BlobEndpoint - The blob endpoint of the azure storage account. + BlobEndpoint *string `json:"blobEndpoint,omitempty"` + // QueueEndpoint - The queue endpoint of the azure storage account. + QueueEndpoint *string `json:"queueEndpoint,omitempty"` + // TableEndpoint - The table endpoint of the azure storage account. + TableEndpoint *string `json:"tableEndpoint,omitempty"` +} + +// EndpointRangeDescription port range details +type EndpointRangeDescription struct { + // StartPort - Starting port of a range of ports + StartPort *int32 `json:"startPort,omitempty"` + // EndPort - End port of a range of ports + EndPort *int32 `json:"endPort,omitempty"` +} + +// ErrorModel the structure of the error. +type ErrorModel struct { + // Error - The error details. + Error *ErrorModelError `json:"error,omitempty"` +} + +// ErrorModelError the error details. +type ErrorModelError struct { + // Code - The error code. + Code *string `json:"code,omitempty"` + // Message - The error message. + Message *string `json:"message,omitempty"` +} + +// NamedPartitionSchemeDescription describes the named partition scheme of the service. +type NamedPartitionSchemeDescription struct { + // Count - The number of partitions. + Count *int32 `json:"Count,omitempty"` + // Names - Array of size specified by the ‘Count’ parameter, for the names of the partitions. + Names *[]string `json:"Names,omitempty"` + // PartitionScheme - Possible values include: 'PartitionSchemePartitionSchemeDescription', 'PartitionSchemeNamed', 'PartitionSchemeSingleton', 'PartitionSchemeUniformInt64Range' + PartitionScheme PartitionSchemeBasicPartitionSchemeDescription `json:"partitionScheme,omitempty"` +} + +// MarshalJSON is the custom marshaler for NamedPartitionSchemeDescription. +func (npsd NamedPartitionSchemeDescription) MarshalJSON() ([]byte, error) { + npsd.PartitionScheme = PartitionSchemeNamed + objectMap := make(map[string]interface{}) + if npsd.Count != nil { + objectMap["Count"] = npsd.Count + } + if npsd.Names != nil { + objectMap["Names"] = npsd.Names + } + if npsd.PartitionScheme != "" { + objectMap["partitionScheme"] = npsd.PartitionScheme + } + return json.Marshal(objectMap) +} + +// AsNamedPartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for NamedPartitionSchemeDescription. +func (npsd NamedPartitionSchemeDescription) AsNamedPartitionSchemeDescription() (*NamedPartitionSchemeDescription, bool) { + return &npsd, true +} + +// AsSingletonPartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for NamedPartitionSchemeDescription. +func (npsd NamedPartitionSchemeDescription) AsSingletonPartitionSchemeDescription() (*SingletonPartitionSchemeDescription, bool) { + return nil, false +} + +// AsUniformInt64RangePartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for NamedPartitionSchemeDescription. +func (npsd NamedPartitionSchemeDescription) AsUniformInt64RangePartitionSchemeDescription() (*UniformInt64RangePartitionSchemeDescription, bool) { + return nil, false +} + +// AsPartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for NamedPartitionSchemeDescription. +func (npsd NamedPartitionSchemeDescription) AsPartitionSchemeDescription() (*PartitionSchemeDescription, bool) { + return nil, false +} + +// AsBasicPartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for NamedPartitionSchemeDescription. +func (npsd NamedPartitionSchemeDescription) AsBasicPartitionSchemeDescription() (BasicPartitionSchemeDescription, bool) { + return &npsd, true +} + +// NodeTypeDescription describes a node type in the cluster, each node type represents sub set of nodes in +// the cluster. +type NodeTypeDescription struct { + // Name - The name of the node type. + Name *string `json:"name,omitempty"` + // PlacementProperties - The placement tags applied to nodes in the node type, which can be used to indicate where certain services (workload) should run. + PlacementProperties map[string]*string `json:"placementProperties"` + // Capacities - The capacity tags applied to the nodes in the node type, the cluster resource manager uses these tags to understand how much resource a node has. + Capacities map[string]*string `json:"capacities"` + // ClientConnectionEndpointPort - The TCP cluster management endpoint port. + ClientConnectionEndpointPort *int32 `json:"clientConnectionEndpointPort,omitempty"` + // HTTPGatewayEndpointPort - The HTTP cluster management endpoint port. + HTTPGatewayEndpointPort *int32 `json:"httpGatewayEndpointPort,omitempty"` + // DurabilityLevel - The durability level of the node type. Learn about [DurabilityLevel](https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-cluster-capacity). + // - Bronze - No privileges. This is the default. + // - Silver - The infrastructure jobs can be paused for a duration of 10 minutes per UD. + // - Gold - The infrastructure jobs can be paused for a duration of 2 hours per UD. Gold durability can be enabled only on full node VM skus like D15_V2, G5 etc. + // . Possible values include: 'Bronze', 'Silver', 'Gold' + DurabilityLevel DurabilityLevel `json:"durabilityLevel,omitempty"` + // ApplicationPorts - The range of ports from which cluster assigned port to Service Fabric applications. + ApplicationPorts *EndpointRangeDescription `json:"applicationPorts,omitempty"` + // EphemeralPorts - The range of ephemeral ports that nodes in this node type should be configured with. + EphemeralPorts *EndpointRangeDescription `json:"ephemeralPorts,omitempty"` + // IsPrimary - The node type on which system services will run. Only one node type should be marked as primary. Primary node type cannot be deleted or changed for existing clusters. + IsPrimary *bool `json:"isPrimary,omitempty"` + // VMInstanceCount - The number of nodes in the node type. This count should match the capacity property in the corresponding VirtualMachineScaleSet resource. + VMInstanceCount *int32 `json:"vmInstanceCount,omitempty"` + // ReverseProxyEndpointPort - The endpoint used by reverse proxy. + ReverseProxyEndpointPort *int32 `json:"reverseProxyEndpointPort,omitempty"` +} + +// MarshalJSON is the custom marshaler for NodeTypeDescription. +func (ntd NodeTypeDescription) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if ntd.Name != nil { + objectMap["name"] = ntd.Name + } + if ntd.PlacementProperties != nil { + objectMap["placementProperties"] = ntd.PlacementProperties + } + if ntd.Capacities != nil { + objectMap["capacities"] = ntd.Capacities + } + if ntd.ClientConnectionEndpointPort != nil { + objectMap["clientConnectionEndpointPort"] = ntd.ClientConnectionEndpointPort + } + if ntd.HTTPGatewayEndpointPort != nil { + objectMap["httpGatewayEndpointPort"] = ntd.HTTPGatewayEndpointPort + } + if ntd.DurabilityLevel != "" { + objectMap["durabilityLevel"] = ntd.DurabilityLevel + } + if ntd.ApplicationPorts != nil { + objectMap["applicationPorts"] = ntd.ApplicationPorts + } + if ntd.EphemeralPorts != nil { + objectMap["ephemeralPorts"] = ntd.EphemeralPorts + } + if ntd.IsPrimary != nil { + objectMap["isPrimary"] = ntd.IsPrimary + } + if ntd.VMInstanceCount != nil { + objectMap["vmInstanceCount"] = ntd.VMInstanceCount + } + if ntd.ReverseProxyEndpointPort != nil { + objectMap["reverseProxyEndpointPort"] = ntd.ReverseProxyEndpointPort + } + return json.Marshal(objectMap) +} + +// OperationListResult describes the result of the request to list Service Fabric resource provider +// operations. +type OperationListResult struct { + autorest.Response `json:"-"` + // Value - List of operations supported by the Service Fabric resource provider. + Value *[]OperationResult `json:"value,omitempty"` + // NextLink - READ-ONLY; URL to get the next set of operation list results if there are any. + NextLink *string `json:"nextLink,omitempty"` +} + +// OperationListResultIterator provides access to a complete listing of OperationResult values. +type OperationListResultIterator struct { + i int + page OperationListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *OperationListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/OperationListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *OperationListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter OperationListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter OperationListResultIterator) Response() OperationListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter OperationListResultIterator) Value() OperationResult { + if !iter.page.NotDone() { + return OperationResult{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the OperationListResultIterator type. +func NewOperationListResultIterator(page OperationListResultPage) OperationListResultIterator { + return OperationListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (olr OperationListResult) IsEmpty() bool { + return olr.Value == nil || len(*olr.Value) == 0 +} + +// operationListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (olr OperationListResult) operationListResultPreparer(ctx context.Context) (*http.Request, error) { + if olr.NextLink == nil || len(to.String(olr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(olr.NextLink))) +} + +// OperationListResultPage contains a page of OperationResult values. +type OperationListResultPage struct { + fn func(context.Context, OperationListResult) (OperationListResult, error) + olr OperationListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *OperationListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/OperationListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.olr) + if err != nil { + return err + } + page.olr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *OperationListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page OperationListResultPage) NotDone() bool { + return !page.olr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page OperationListResultPage) Response() OperationListResult { + return page.olr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page OperationListResultPage) Values() []OperationResult { + if page.olr.IsEmpty() { + return nil + } + return *page.olr.Value +} + +// Creates a new instance of the OperationListResultPage type. +func NewOperationListResultPage(getNextPage func(context.Context, OperationListResult) (OperationListResult, error)) OperationListResultPage { + return OperationListResultPage{fn: getNextPage} +} + +// OperationResult available operation list result +type OperationResult struct { + // Name - The name of the operation. + Name *string `json:"name,omitempty"` + // Display - The object that represents the operation. + Display *AvailableOperationDisplay `json:"display,omitempty"` + // Origin - Origin result + Origin *string `json:"origin,omitempty"` + // NextLink - The URL to use for getting the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// BasicPartitionSchemeDescription describes how the service is partitioned. +type BasicPartitionSchemeDescription interface { + AsNamedPartitionSchemeDescription() (*NamedPartitionSchemeDescription, bool) + AsSingletonPartitionSchemeDescription() (*SingletonPartitionSchemeDescription, bool) + AsUniformInt64RangePartitionSchemeDescription() (*UniformInt64RangePartitionSchemeDescription, bool) + AsPartitionSchemeDescription() (*PartitionSchemeDescription, bool) +} + +// PartitionSchemeDescription describes how the service is partitioned. +type PartitionSchemeDescription struct { + // PartitionScheme - Possible values include: 'PartitionSchemePartitionSchemeDescription', 'PartitionSchemeNamed', 'PartitionSchemeSingleton', 'PartitionSchemeUniformInt64Range' + PartitionScheme PartitionSchemeBasicPartitionSchemeDescription `json:"partitionScheme,omitempty"` +} + +func unmarshalBasicPartitionSchemeDescription(body []byte) (BasicPartitionSchemeDescription, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["partitionScheme"] { + case string(PartitionSchemeNamed): + var npsd NamedPartitionSchemeDescription + err := json.Unmarshal(body, &npsd) + return npsd, err + case string(PartitionSchemeSingleton): + var spsd SingletonPartitionSchemeDescription + err := json.Unmarshal(body, &spsd) + return spsd, err + case string(PartitionSchemeUniformInt64Range): + var ui6rpsd UniformInt64RangePartitionSchemeDescription + err := json.Unmarshal(body, &ui6rpsd) + return ui6rpsd, err + default: + var psd PartitionSchemeDescription + err := json.Unmarshal(body, &psd) + return psd, err + } +} +func unmarshalBasicPartitionSchemeDescriptionArray(body []byte) ([]BasicPartitionSchemeDescription, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + psdArray := make([]BasicPartitionSchemeDescription, len(rawMessages)) + + for index, rawMessage := range rawMessages { + psd, err := unmarshalBasicPartitionSchemeDescription(*rawMessage) + if err != nil { + return nil, err + } + psdArray[index] = psd + } + return psdArray, nil +} + +// MarshalJSON is the custom marshaler for PartitionSchemeDescription. +func (psd PartitionSchemeDescription) MarshalJSON() ([]byte, error) { + psd.PartitionScheme = PartitionSchemePartitionSchemeDescription + objectMap := make(map[string]interface{}) + if psd.PartitionScheme != "" { + objectMap["partitionScheme"] = psd.PartitionScheme + } + return json.Marshal(objectMap) +} + +// AsNamedPartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for PartitionSchemeDescription. +func (psd PartitionSchemeDescription) AsNamedPartitionSchemeDescription() (*NamedPartitionSchemeDescription, bool) { + return nil, false +} + +// AsSingletonPartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for PartitionSchemeDescription. +func (psd PartitionSchemeDescription) AsSingletonPartitionSchemeDescription() (*SingletonPartitionSchemeDescription, bool) { + return nil, false +} + +// AsUniformInt64RangePartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for PartitionSchemeDescription. +func (psd PartitionSchemeDescription) AsUniformInt64RangePartitionSchemeDescription() (*UniformInt64RangePartitionSchemeDescription, bool) { + return nil, false +} + +// AsPartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for PartitionSchemeDescription. +func (psd PartitionSchemeDescription) AsPartitionSchemeDescription() (*PartitionSchemeDescription, bool) { + return &psd, true +} + +// AsBasicPartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for PartitionSchemeDescription. +func (psd PartitionSchemeDescription) AsBasicPartitionSchemeDescription() (BasicPartitionSchemeDescription, bool) { + return &psd, true +} + +// ProxyResource the resource model definition for proxy-only resource. +type ProxyResource struct { + // ID - READ-ONLY; Azure resource identifier. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Azure resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Azure resource type. + Type *string `json:"type,omitempty"` + // Location - Azure resource location. + Location *string `json:"location,omitempty"` + // Tags - Azure resource tags. + Tags map[string]*string `json:"tags"` + // Etag - READ-ONLY; Azure resource etag. + Etag *string `json:"etag,omitempty"` +} + +// MarshalJSON is the custom marshaler for ProxyResource. +func (pr ProxyResource) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if pr.Location != nil { + objectMap["location"] = pr.Location + } + if pr.Tags != nil { + objectMap["tags"] = pr.Tags + } + return json.Marshal(objectMap) +} + +// Resource the resource model definition. +type Resource struct { + // ID - READ-ONLY; Azure resource identifier. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Azure resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Azure resource type. + Type *string `json:"type,omitempty"` + // Location - Azure resource location. + Location *string `json:"location,omitempty"` + // Tags - Azure resource tags. + Tags map[string]*string `json:"tags"` + // Etag - READ-ONLY; Azure resource etag. + Etag *string `json:"etag,omitempty"` +} + +// MarshalJSON is the custom marshaler for Resource. +func (r Resource) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if r.Location != nil { + objectMap["location"] = r.Location + } + if r.Tags != nil { + objectMap["tags"] = r.Tags + } + return json.Marshal(objectMap) +} + +// ServerCertificateCommonName describes the server certificate details using common name. +type ServerCertificateCommonName struct { + // CertificateCommonName - The common name of the server certificate. + CertificateCommonName *string `json:"certificateCommonName,omitempty"` + // CertificateIssuerThumbprint - The issuer thumbprint of the server certificate. + CertificateIssuerThumbprint *string `json:"certificateIssuerThumbprint,omitempty"` +} + +// ServerCertificateCommonNames describes a list of server certificates referenced by common name that are +// used to secure the cluster. +type ServerCertificateCommonNames struct { + // CommonNames - The list of server certificates referenced by common name that are used to secure the cluster. + CommonNames *[]ServerCertificateCommonName `json:"commonNames,omitempty"` + // X509StoreName - The local certificate store location. Possible values include: 'X509StoreName1AddressBook', 'X509StoreName1AuthRoot', 'X509StoreName1CertificateAuthority', 'X509StoreName1Disallowed', 'X509StoreName1My', 'X509StoreName1Root', 'X509StoreName1TrustedPeople', 'X509StoreName1TrustedPublisher' + X509StoreName X509StoreName1 `json:"x509StoreName,omitempty"` +} + +// ServiceCorrelationDescription creates a particular correlation between services. +type ServiceCorrelationDescription struct { + // Scheme - The ServiceCorrelationScheme which describes the relationship between this service and the service specified via ServiceName. Possible values include: 'ServiceCorrelationSchemeInvalid', 'ServiceCorrelationSchemeAffinity', 'ServiceCorrelationSchemeAlignedAffinity', 'ServiceCorrelationSchemeNonAlignedAffinity' + Scheme ServiceCorrelationScheme `json:"scheme,omitempty"` + // ServiceName - The name of the service that the correlation relationship is established with. + ServiceName *string `json:"serviceName,omitempty"` +} + +// ServiceLoadMetricDescription specifies a metric to load balance a service during runtime. +type ServiceLoadMetricDescription struct { + // Name - The name of the metric. If the service chooses to report load during runtime, the load metric name should match the name that is specified in Name exactly. Note that metric names are case sensitive. + Name *string `json:"name,omitempty"` + // Weight - The service load metric relative weight, compared to other metrics configured for this service, as a number. Possible values include: 'ServiceLoadMetricWeightZero', 'ServiceLoadMetricWeightLow', 'ServiceLoadMetricWeightMedium', 'ServiceLoadMetricWeightHigh' + Weight ServiceLoadMetricWeight `json:"weight,omitempty"` + // PrimaryDefaultLoad - Used only for Stateful services. The default amount of load, as a number, that this service creates for this metric when it is a Primary replica. + PrimaryDefaultLoad *int32 `json:"primaryDefaultLoad,omitempty"` + // SecondaryDefaultLoad - Used only for Stateful services. The default amount of load, as a number, that this service creates for this metric when it is a Secondary replica. + SecondaryDefaultLoad *int32 `json:"secondaryDefaultLoad,omitempty"` + // DefaultLoad - Used only for Stateless services. The default amount of load, as a number, that this service creates for this metric. + DefaultLoad *int32 `json:"defaultLoad,omitempty"` +} + +// BasicServicePlacementPolicyDescription describes the policy to be used for placement of a Service Fabric service. +type BasicServicePlacementPolicyDescription interface { + AsServicePlacementPolicyDescription() (*ServicePlacementPolicyDescription, bool) +} + +// ServicePlacementPolicyDescription describes the policy to be used for placement of a Service Fabric service. +type ServicePlacementPolicyDescription struct { + // Type - Possible values include: 'TypeServicePlacementPolicyDescription' + Type Type `json:"Type,omitempty"` +} + +func unmarshalBasicServicePlacementPolicyDescription(body []byte) (BasicServicePlacementPolicyDescription, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["Type"] { + default: + var sppd ServicePlacementPolicyDescription + err := json.Unmarshal(body, &sppd) + return sppd, err + } +} +func unmarshalBasicServicePlacementPolicyDescriptionArray(body []byte) ([]BasicServicePlacementPolicyDescription, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + sppdArray := make([]BasicServicePlacementPolicyDescription, len(rawMessages)) + + for index, rawMessage := range rawMessages { + sppd, err := unmarshalBasicServicePlacementPolicyDescription(*rawMessage) + if err != nil { + return nil, err + } + sppdArray[index] = sppd + } + return sppdArray, nil +} + +// MarshalJSON is the custom marshaler for ServicePlacementPolicyDescription. +func (sppd ServicePlacementPolicyDescription) MarshalJSON() ([]byte, error) { + sppd.Type = TypeServicePlacementPolicyDescription + objectMap := make(map[string]interface{}) + if sppd.Type != "" { + objectMap["Type"] = sppd.Type + } + return json.Marshal(objectMap) +} + +// AsServicePlacementPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementPolicyDescription. +func (sppd ServicePlacementPolicyDescription) AsServicePlacementPolicyDescription() (*ServicePlacementPolicyDescription, bool) { + return &sppd, true +} + +// AsBasicServicePlacementPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementPolicyDescription. +func (sppd ServicePlacementPolicyDescription) AsBasicServicePlacementPolicyDescription() (BasicServicePlacementPolicyDescription, bool) { + return &sppd, true +} + +// ServiceResource the service resource. +type ServiceResource struct { + autorest.Response `json:"-"` + // BasicServiceResourceProperties - The service resource properties. + BasicServiceResourceProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Azure resource identifier. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Azure resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Azure resource type. + Type *string `json:"type,omitempty"` + // Location - Azure resource location. + Location *string `json:"location,omitempty"` + // Tags - Azure resource tags. + Tags map[string]*string `json:"tags"` + // Etag - READ-ONLY; Azure resource etag. + Etag *string `json:"etag,omitempty"` +} + +// MarshalJSON is the custom marshaler for ServiceResource. +func (sr ServiceResource) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + objectMap["properties"] = sr.BasicServiceResourceProperties + if sr.Location != nil { + objectMap["location"] = sr.Location + } + if sr.Tags != nil { + objectMap["tags"] = sr.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ServiceResource struct. +func (sr *ServiceResource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + basicServiceResourceProperties, err := unmarshalBasicServiceResourceProperties(*v) + if err != nil { + return err + } + sr.BasicServiceResourceProperties = basicServiceResourceProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + sr.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + sr.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + sr.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + sr.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + sr.Tags = tags + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + sr.Etag = &etag + } + } + } + + return nil +} + +// ServiceResourceList the list of service resources. +type ServiceResourceList struct { + autorest.Response `json:"-"` + Value *[]ServiceResource `json:"value,omitempty"` + // NextLink - READ-ONLY; URL to get the next set of service list results if there are any. + NextLink *string `json:"nextLink,omitempty"` +} + +// BasicServiceResourceProperties the service resource properties. +type BasicServiceResourceProperties interface { + AsStatefulServiceProperties() (*StatefulServiceProperties, bool) + AsStatelessServiceProperties() (*StatelessServiceProperties, bool) + AsServiceResourceProperties() (*ServiceResourceProperties, bool) +} + +// ServiceResourceProperties the service resource properties. +type ServiceResourceProperties struct { + // ProvisioningState - READ-ONLY; The current deployment or provisioning state, which only appears in the response + ProvisioningState *string `json:"provisioningState,omitempty"` + // ServiceTypeName - The name of the service type + ServiceTypeName *string `json:"serviceTypeName,omitempty"` + // PartitionDescription - Describes how the service is partitioned. + PartitionDescription BasicPartitionSchemeDescription `json:"partitionDescription,omitempty"` + // ServicePackageActivationMode - The activation Mode of the service package. Possible values include: 'SharedProcess', 'ExclusiveProcess' + ServicePackageActivationMode ArmServicePackageActivationMode `json:"servicePackageActivationMode,omitempty"` + // ServiceKind - Possible values include: 'ServiceKindServiceResourceProperties', 'ServiceKindStateful1', 'ServiceKindStateless1' + ServiceKind ServiceKindBasicServiceResourceProperties `json:"serviceKind,omitempty"` + // PlacementConstraints - The placement constraints as a string. Placement constraints are boolean expressions on node properties and allow for restricting a service to particular nodes based on the service requirements. For example, to place a service on nodes where NodeType is blue specify the following: "NodeColor == blue)". + PlacementConstraints *string `json:"placementConstraints,omitempty"` + // CorrelationScheme - A list that describes the correlation of the service with other services. + CorrelationScheme *[]ServiceCorrelationDescription `json:"correlationScheme,omitempty"` + // ServiceLoadMetrics - The service load metrics is given as an array of ServiceLoadMetricDescription objects. + ServiceLoadMetrics *[]ServiceLoadMetricDescription `json:"serviceLoadMetrics,omitempty"` + // ServicePlacementPolicies - A list that describes the correlation of the service with other services. + ServicePlacementPolicies *[]BasicServicePlacementPolicyDescription `json:"servicePlacementPolicies,omitempty"` + // DefaultMoveCost - Specifies the move cost for the service. Possible values include: 'Zero', 'Low', 'Medium', 'High' + DefaultMoveCost MoveCost `json:"defaultMoveCost,omitempty"` +} + +func unmarshalBasicServiceResourceProperties(body []byte) (BasicServiceResourceProperties, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["serviceKind"] { + case string(ServiceKindStateful1): + var ssp StatefulServiceProperties + err := json.Unmarshal(body, &ssp) + return ssp, err + case string(ServiceKindStateless1): + var ssp StatelessServiceProperties + err := json.Unmarshal(body, &ssp) + return ssp, err + default: + var srp ServiceResourceProperties + err := json.Unmarshal(body, &srp) + return srp, err + } +} +func unmarshalBasicServiceResourcePropertiesArray(body []byte) ([]BasicServiceResourceProperties, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + srpArray := make([]BasicServiceResourceProperties, len(rawMessages)) + + for index, rawMessage := range rawMessages { + srp, err := unmarshalBasicServiceResourceProperties(*rawMessage) + if err != nil { + return nil, err + } + srpArray[index] = srp + } + return srpArray, nil +} + +// MarshalJSON is the custom marshaler for ServiceResourceProperties. +func (srp ServiceResourceProperties) MarshalJSON() ([]byte, error) { + srp.ServiceKind = ServiceKindServiceResourceProperties + objectMap := make(map[string]interface{}) + if srp.ServiceTypeName != nil { + objectMap["serviceTypeName"] = srp.ServiceTypeName + } + objectMap["partitionDescription"] = srp.PartitionDescription + if srp.ServicePackageActivationMode != "" { + objectMap["servicePackageActivationMode"] = srp.ServicePackageActivationMode + } + if srp.ServiceKind != "" { + objectMap["serviceKind"] = srp.ServiceKind + } + if srp.PlacementConstraints != nil { + objectMap["placementConstraints"] = srp.PlacementConstraints + } + if srp.CorrelationScheme != nil { + objectMap["correlationScheme"] = srp.CorrelationScheme + } + if srp.ServiceLoadMetrics != nil { + objectMap["serviceLoadMetrics"] = srp.ServiceLoadMetrics + } + if srp.ServicePlacementPolicies != nil { + objectMap["servicePlacementPolicies"] = srp.ServicePlacementPolicies + } + if srp.DefaultMoveCost != "" { + objectMap["defaultMoveCost"] = srp.DefaultMoveCost + } + return json.Marshal(objectMap) +} + +// AsStatefulServiceProperties is the BasicServiceResourceProperties implementation for ServiceResourceProperties. +func (srp ServiceResourceProperties) AsStatefulServiceProperties() (*StatefulServiceProperties, bool) { + return nil, false +} + +// AsStatelessServiceProperties is the BasicServiceResourceProperties implementation for ServiceResourceProperties. +func (srp ServiceResourceProperties) AsStatelessServiceProperties() (*StatelessServiceProperties, bool) { + return nil, false +} + +// AsServiceResourceProperties is the BasicServiceResourceProperties implementation for ServiceResourceProperties. +func (srp ServiceResourceProperties) AsServiceResourceProperties() (*ServiceResourceProperties, bool) { + return &srp, true +} + +// AsBasicServiceResourceProperties is the BasicServiceResourceProperties implementation for ServiceResourceProperties. +func (srp ServiceResourceProperties) AsBasicServiceResourceProperties() (BasicServiceResourceProperties, bool) { + return &srp, true +} + +// UnmarshalJSON is the custom unmarshaler for ServiceResourceProperties struct. +func (srp *ServiceResourceProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "provisioningState": + if v != nil { + var provisioningState string + err = json.Unmarshal(*v, &provisioningState) + if err != nil { + return err + } + srp.ProvisioningState = &provisioningState + } + case "serviceTypeName": + if v != nil { + var serviceTypeName string + err = json.Unmarshal(*v, &serviceTypeName) + if err != nil { + return err + } + srp.ServiceTypeName = &serviceTypeName + } + case "partitionDescription": + if v != nil { + partitionDescription, err := unmarshalBasicPartitionSchemeDescription(*v) + if err != nil { + return err + } + srp.PartitionDescription = partitionDescription + } + case "servicePackageActivationMode": + if v != nil { + var servicePackageActivationMode ArmServicePackageActivationMode + err = json.Unmarshal(*v, &servicePackageActivationMode) + if err != nil { + return err + } + srp.ServicePackageActivationMode = servicePackageActivationMode + } + case "serviceKind": + if v != nil { + var serviceKind ServiceKindBasicServiceResourceProperties + err = json.Unmarshal(*v, &serviceKind) + if err != nil { + return err + } + srp.ServiceKind = serviceKind + } + case "placementConstraints": + if v != nil { + var placementConstraints string + err = json.Unmarshal(*v, &placementConstraints) + if err != nil { + return err + } + srp.PlacementConstraints = &placementConstraints + } + case "correlationScheme": + if v != nil { + var correlationScheme []ServiceCorrelationDescription + err = json.Unmarshal(*v, &correlationScheme) + if err != nil { + return err + } + srp.CorrelationScheme = &correlationScheme + } + case "serviceLoadMetrics": + if v != nil { + var serviceLoadMetrics []ServiceLoadMetricDescription + err = json.Unmarshal(*v, &serviceLoadMetrics) + if err != nil { + return err + } + srp.ServiceLoadMetrics = &serviceLoadMetrics + } + case "servicePlacementPolicies": + if v != nil { + servicePlacementPolicies, err := unmarshalBasicServicePlacementPolicyDescriptionArray(*v) + if err != nil { + return err + } + srp.ServicePlacementPolicies = &servicePlacementPolicies + } + case "defaultMoveCost": + if v != nil { + var defaultMoveCost MoveCost + err = json.Unmarshal(*v, &defaultMoveCost) + if err != nil { + return err + } + srp.DefaultMoveCost = defaultMoveCost + } + } + } + + return nil +} + +// ServiceResourcePropertiesBase the common service resource properties. +type ServiceResourcePropertiesBase struct { + // PlacementConstraints - The placement constraints as a string. Placement constraints are boolean expressions on node properties and allow for restricting a service to particular nodes based on the service requirements. For example, to place a service on nodes where NodeType is blue specify the following: "NodeColor == blue)". + PlacementConstraints *string `json:"placementConstraints,omitempty"` + // CorrelationScheme - A list that describes the correlation of the service with other services. + CorrelationScheme *[]ServiceCorrelationDescription `json:"correlationScheme,omitempty"` + // ServiceLoadMetrics - The service load metrics is given as an array of ServiceLoadMetricDescription objects. + ServiceLoadMetrics *[]ServiceLoadMetricDescription `json:"serviceLoadMetrics,omitempty"` + // ServicePlacementPolicies - A list that describes the correlation of the service with other services. + ServicePlacementPolicies *[]BasicServicePlacementPolicyDescription `json:"servicePlacementPolicies,omitempty"` + // DefaultMoveCost - Specifies the move cost for the service. Possible values include: 'Zero', 'Low', 'Medium', 'High' + DefaultMoveCost MoveCost `json:"defaultMoveCost,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for ServiceResourcePropertiesBase struct. +func (srpb *ServiceResourcePropertiesBase) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "placementConstraints": + if v != nil { + var placementConstraints string + err = json.Unmarshal(*v, &placementConstraints) + if err != nil { + return err + } + srpb.PlacementConstraints = &placementConstraints + } + case "correlationScheme": + if v != nil { + var correlationScheme []ServiceCorrelationDescription + err = json.Unmarshal(*v, &correlationScheme) + if err != nil { + return err + } + srpb.CorrelationScheme = &correlationScheme + } + case "serviceLoadMetrics": + if v != nil { + var serviceLoadMetrics []ServiceLoadMetricDescription + err = json.Unmarshal(*v, &serviceLoadMetrics) + if err != nil { + return err + } + srpb.ServiceLoadMetrics = &serviceLoadMetrics + } + case "servicePlacementPolicies": + if v != nil { + servicePlacementPolicies, err := unmarshalBasicServicePlacementPolicyDescriptionArray(*v) + if err != nil { + return err + } + srpb.ServicePlacementPolicies = &servicePlacementPolicies + } + case "defaultMoveCost": + if v != nil { + var defaultMoveCost MoveCost + err = json.Unmarshal(*v, &defaultMoveCost) + if err != nil { + return err + } + srpb.DefaultMoveCost = defaultMoveCost + } + } + } + + return nil +} + +// ServiceResourceUpdate the service resource for patch operations. +type ServiceResourceUpdate struct { + // BasicServiceResourceUpdateProperties - The service resource properties for patch operations. + BasicServiceResourceUpdateProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Azure resource identifier. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Azure resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Azure resource type. + Type *string `json:"type,omitempty"` + // Location - Azure resource location. + Location *string `json:"location,omitempty"` + // Tags - Azure resource tags. + Tags map[string]*string `json:"tags"` + // Etag - READ-ONLY; Azure resource etag. + Etag *string `json:"etag,omitempty"` +} + +// MarshalJSON is the custom marshaler for ServiceResourceUpdate. +func (sru ServiceResourceUpdate) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + objectMap["properties"] = sru.BasicServiceResourceUpdateProperties + if sru.Location != nil { + objectMap["location"] = sru.Location + } + if sru.Tags != nil { + objectMap["tags"] = sru.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ServiceResourceUpdate struct. +func (sru *ServiceResourceUpdate) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + basicServiceResourceUpdateProperties, err := unmarshalBasicServiceResourceUpdateProperties(*v) + if err != nil { + return err + } + sru.BasicServiceResourceUpdateProperties = basicServiceResourceUpdateProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + sru.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + sru.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + sru.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + sru.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + sru.Tags = tags + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + sru.Etag = &etag + } + } + } + + return nil +} + +// BasicServiceResourceUpdateProperties the service resource properties for patch operations. +type BasicServiceResourceUpdateProperties interface { + AsStatefulServiceUpdateProperties() (*StatefulServiceUpdateProperties, bool) + AsStatelessServiceUpdateProperties() (*StatelessServiceUpdateProperties, bool) + AsServiceResourceUpdateProperties() (*ServiceResourceUpdateProperties, bool) +} + +// ServiceResourceUpdateProperties the service resource properties for patch operations. +type ServiceResourceUpdateProperties struct { + // ServiceKind - Possible values include: 'ServiceKindBasicServiceResourceUpdatePropertiesServiceKindServiceResourceUpdateProperties', 'ServiceKindBasicServiceResourceUpdatePropertiesServiceKindStateful', 'ServiceKindBasicServiceResourceUpdatePropertiesServiceKindStateless' + ServiceKind ServiceKindBasicServiceResourceUpdateProperties `json:"serviceKind,omitempty"` + // PlacementConstraints - The placement constraints as a string. Placement constraints are boolean expressions on node properties and allow for restricting a service to particular nodes based on the service requirements. For example, to place a service on nodes where NodeType is blue specify the following: "NodeColor == blue)". + PlacementConstraints *string `json:"placementConstraints,omitempty"` + // CorrelationScheme - A list that describes the correlation of the service with other services. + CorrelationScheme *[]ServiceCorrelationDescription `json:"correlationScheme,omitempty"` + // ServiceLoadMetrics - The service load metrics is given as an array of ServiceLoadMetricDescription objects. + ServiceLoadMetrics *[]ServiceLoadMetricDescription `json:"serviceLoadMetrics,omitempty"` + // ServicePlacementPolicies - A list that describes the correlation of the service with other services. + ServicePlacementPolicies *[]BasicServicePlacementPolicyDescription `json:"servicePlacementPolicies,omitempty"` + // DefaultMoveCost - Specifies the move cost for the service. Possible values include: 'Zero', 'Low', 'Medium', 'High' + DefaultMoveCost MoveCost `json:"defaultMoveCost,omitempty"` +} + +func unmarshalBasicServiceResourceUpdateProperties(body []byte) (BasicServiceResourceUpdateProperties, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["serviceKind"] { + case string(ServiceKindBasicServiceResourceUpdatePropertiesServiceKindStateful): + var ssup StatefulServiceUpdateProperties + err := json.Unmarshal(body, &ssup) + return ssup, err + case string(ServiceKindBasicServiceResourceUpdatePropertiesServiceKindStateless): + var ssup StatelessServiceUpdateProperties + err := json.Unmarshal(body, &ssup) + return ssup, err + default: + var srup ServiceResourceUpdateProperties + err := json.Unmarshal(body, &srup) + return srup, err + } +} +func unmarshalBasicServiceResourceUpdatePropertiesArray(body []byte) ([]BasicServiceResourceUpdateProperties, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + srupArray := make([]BasicServiceResourceUpdateProperties, len(rawMessages)) + + for index, rawMessage := range rawMessages { + srup, err := unmarshalBasicServiceResourceUpdateProperties(*rawMessage) + if err != nil { + return nil, err + } + srupArray[index] = srup + } + return srupArray, nil +} + +// MarshalJSON is the custom marshaler for ServiceResourceUpdateProperties. +func (srup ServiceResourceUpdateProperties) MarshalJSON() ([]byte, error) { + srup.ServiceKind = ServiceKindBasicServiceResourceUpdatePropertiesServiceKindServiceResourceUpdateProperties + objectMap := make(map[string]interface{}) + if srup.ServiceKind != "" { + objectMap["serviceKind"] = srup.ServiceKind + } + if srup.PlacementConstraints != nil { + objectMap["placementConstraints"] = srup.PlacementConstraints + } + if srup.CorrelationScheme != nil { + objectMap["correlationScheme"] = srup.CorrelationScheme + } + if srup.ServiceLoadMetrics != nil { + objectMap["serviceLoadMetrics"] = srup.ServiceLoadMetrics + } + if srup.ServicePlacementPolicies != nil { + objectMap["servicePlacementPolicies"] = srup.ServicePlacementPolicies + } + if srup.DefaultMoveCost != "" { + objectMap["defaultMoveCost"] = srup.DefaultMoveCost + } + return json.Marshal(objectMap) +} + +// AsStatefulServiceUpdateProperties is the BasicServiceResourceUpdateProperties implementation for ServiceResourceUpdateProperties. +func (srup ServiceResourceUpdateProperties) AsStatefulServiceUpdateProperties() (*StatefulServiceUpdateProperties, bool) { + return nil, false +} + +// AsStatelessServiceUpdateProperties is the BasicServiceResourceUpdateProperties implementation for ServiceResourceUpdateProperties. +func (srup ServiceResourceUpdateProperties) AsStatelessServiceUpdateProperties() (*StatelessServiceUpdateProperties, bool) { + return nil, false +} + +// AsServiceResourceUpdateProperties is the BasicServiceResourceUpdateProperties implementation for ServiceResourceUpdateProperties. +func (srup ServiceResourceUpdateProperties) AsServiceResourceUpdateProperties() (*ServiceResourceUpdateProperties, bool) { + return &srup, true +} + +// AsBasicServiceResourceUpdateProperties is the BasicServiceResourceUpdateProperties implementation for ServiceResourceUpdateProperties. +func (srup ServiceResourceUpdateProperties) AsBasicServiceResourceUpdateProperties() (BasicServiceResourceUpdateProperties, bool) { + return &srup, true +} + +// UnmarshalJSON is the custom unmarshaler for ServiceResourceUpdateProperties struct. +func (srup *ServiceResourceUpdateProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "serviceKind": + if v != nil { + var serviceKind ServiceKindBasicServiceResourceUpdateProperties + err = json.Unmarshal(*v, &serviceKind) + if err != nil { + return err + } + srup.ServiceKind = serviceKind + } + case "placementConstraints": + if v != nil { + var placementConstraints string + err = json.Unmarshal(*v, &placementConstraints) + if err != nil { + return err + } + srup.PlacementConstraints = &placementConstraints + } + case "correlationScheme": + if v != nil { + var correlationScheme []ServiceCorrelationDescription + err = json.Unmarshal(*v, &correlationScheme) + if err != nil { + return err + } + srup.CorrelationScheme = &correlationScheme + } + case "serviceLoadMetrics": + if v != nil { + var serviceLoadMetrics []ServiceLoadMetricDescription + err = json.Unmarshal(*v, &serviceLoadMetrics) + if err != nil { + return err + } + srup.ServiceLoadMetrics = &serviceLoadMetrics + } + case "servicePlacementPolicies": + if v != nil { + servicePlacementPolicies, err := unmarshalBasicServicePlacementPolicyDescriptionArray(*v) + if err != nil { + return err + } + srup.ServicePlacementPolicies = &servicePlacementPolicies + } + case "defaultMoveCost": + if v != nil { + var defaultMoveCost MoveCost + err = json.Unmarshal(*v, &defaultMoveCost) + if err != nil { + return err + } + srup.DefaultMoveCost = defaultMoveCost + } + } + } + + return nil +} + +// ServicesCreateFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type ServicesCreateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ServicesCreateFuture) Result(client ServicesClient) (sr ServiceResource, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "servicefabric.ServicesCreateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("servicefabric.ServicesCreateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if sr.Response.Response, err = future.GetResult(sender); err == nil && sr.Response.Response.StatusCode != http.StatusNoContent { + sr, err = client.CreateResponder(sr.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "servicefabric.ServicesCreateFuture", "Result", sr.Response.Response, "Failure responding to request") + } + } + return +} + +// ServicesDeleteFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type ServicesDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ServicesDeleteFuture) Result(client ServicesClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "servicefabric.ServicesDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("servicefabric.ServicesDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// ServicesUpdateFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type ServicesUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ServicesUpdateFuture) Result(client ServicesClient) (sr ServiceResource, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "servicefabric.ServicesUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("servicefabric.ServicesUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if sr.Response.Response, err = future.GetResult(sender); err == nil && sr.Response.Response.StatusCode != http.StatusNoContent { + sr, err = client.UpdateResponder(sr.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "servicefabric.ServicesUpdateFuture", "Result", sr.Response.Response, "Failure responding to request") + } + } + return +} + +// ServiceTypeDeltaHealthPolicy represents the delta health policy used to evaluate the health of services +// belonging to a service type when upgrading the cluster. +type ServiceTypeDeltaHealthPolicy struct { + // MaxPercentDeltaUnhealthyServices - The maximum allowed percentage of services health degradation allowed during cluster upgrades. + // The delta is measured between the state of the services at the beginning of upgrade and the state of the services at the time of the health evaluation. + // The check is performed after every upgrade domain upgrade completion to make sure the global state of the cluster is within tolerated limits. + MaxPercentDeltaUnhealthyServices *int32 `json:"maxPercentDeltaUnhealthyServices,omitempty"` +} + +// ServiceTypeHealthPolicy represents the health policy used to evaluate the health of services belonging +// to a service type. +type ServiceTypeHealthPolicy struct { + // MaxPercentUnhealthyServices - The maximum percentage of services allowed to be unhealthy before your application is considered in error. + MaxPercentUnhealthyServices *int32 `json:"maxPercentUnhealthyServices,omitempty"` +} + +// SettingsParameterDescription describes a parameter in fabric settings of the cluster. +type SettingsParameterDescription struct { + // Name - The parameter name of fabric setting. + Name *string `json:"name,omitempty"` + // Value - The parameter value of fabric setting. + Value *string `json:"value,omitempty"` +} + +// SettingsSectionDescription describes a section in the fabric settings of the cluster. +type SettingsSectionDescription struct { + // Name - The section name of the fabric settings. + Name *string `json:"name,omitempty"` + // Parameters - The collection of parameters in the section. + Parameters *[]SettingsParameterDescription `json:"parameters,omitempty"` +} + +// SingletonPartitionSchemeDescription describes the partition scheme of a singleton-partitioned, or +// non-partitioned service. +type SingletonPartitionSchemeDescription struct { + // PartitionScheme - Possible values include: 'PartitionSchemePartitionSchemeDescription', 'PartitionSchemeNamed', 'PartitionSchemeSingleton', 'PartitionSchemeUniformInt64Range' + PartitionScheme PartitionSchemeBasicPartitionSchemeDescription `json:"partitionScheme,omitempty"` +} + +// MarshalJSON is the custom marshaler for SingletonPartitionSchemeDescription. +func (spsd SingletonPartitionSchemeDescription) MarshalJSON() ([]byte, error) { + spsd.PartitionScheme = PartitionSchemeSingleton + objectMap := make(map[string]interface{}) + if spsd.PartitionScheme != "" { + objectMap["partitionScheme"] = spsd.PartitionScheme + } + return json.Marshal(objectMap) +} + +// AsNamedPartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for SingletonPartitionSchemeDescription. +func (spsd SingletonPartitionSchemeDescription) AsNamedPartitionSchemeDescription() (*NamedPartitionSchemeDescription, bool) { + return nil, false +} + +// AsSingletonPartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for SingletonPartitionSchemeDescription. +func (spsd SingletonPartitionSchemeDescription) AsSingletonPartitionSchemeDescription() (*SingletonPartitionSchemeDescription, bool) { + return &spsd, true +} + +// AsUniformInt64RangePartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for SingletonPartitionSchemeDescription. +func (spsd SingletonPartitionSchemeDescription) AsUniformInt64RangePartitionSchemeDescription() (*UniformInt64RangePartitionSchemeDescription, bool) { + return nil, false +} + +// AsPartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for SingletonPartitionSchemeDescription. +func (spsd SingletonPartitionSchemeDescription) AsPartitionSchemeDescription() (*PartitionSchemeDescription, bool) { + return nil, false +} + +// AsBasicPartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for SingletonPartitionSchemeDescription. +func (spsd SingletonPartitionSchemeDescription) AsBasicPartitionSchemeDescription() (BasicPartitionSchemeDescription, bool) { + return &spsd, true +} + +// StatefulServiceProperties the properties of a stateful service resource. +type StatefulServiceProperties struct { + // HasPersistedState - A flag indicating whether this is a persistent service which stores states on the local disk. If it is then the value of this property is true, if not it is false. + HasPersistedState *bool `json:"hasPersistedState,omitempty"` + // TargetReplicaSetSize - The target replica set size as a number. + TargetReplicaSetSize *int32 `json:"targetReplicaSetSize,omitempty"` + // MinReplicaSetSize - The minimum replica set size as a number. + MinReplicaSetSize *int32 `json:"minReplicaSetSize,omitempty"` + // ReplicaRestartWaitDuration - The duration between when a replica goes down and when a new replica is created, represented in ISO 8601 format (hh:mm:ss.s). + ReplicaRestartWaitDuration *date.Time `json:"replicaRestartWaitDuration,omitempty"` + // QuorumLossWaitDuration - The maximum duration for which a partition is allowed to be in a state of quorum loss, represented in ISO 8601 format (hh:mm:ss.s). + QuorumLossWaitDuration *date.Time `json:"quorumLossWaitDuration,omitempty"` + // StandByReplicaKeepDuration - The definition on how long StandBy replicas should be maintained before being removed, represented in ISO 8601 format (hh:mm:ss.s). + StandByReplicaKeepDuration *date.Time `json:"standByReplicaKeepDuration,omitempty"` + // ProvisioningState - READ-ONLY; The current deployment or provisioning state, which only appears in the response + ProvisioningState *string `json:"provisioningState,omitempty"` + // ServiceTypeName - The name of the service type + ServiceTypeName *string `json:"serviceTypeName,omitempty"` + // PartitionDescription - Describes how the service is partitioned. + PartitionDescription BasicPartitionSchemeDescription `json:"partitionDescription,omitempty"` + // ServicePackageActivationMode - The activation Mode of the service package. Possible values include: 'SharedProcess', 'ExclusiveProcess' + ServicePackageActivationMode ArmServicePackageActivationMode `json:"servicePackageActivationMode,omitempty"` + // ServiceKind - Possible values include: 'ServiceKindServiceResourceProperties', 'ServiceKindStateful1', 'ServiceKindStateless1' + ServiceKind ServiceKindBasicServiceResourceProperties `json:"serviceKind,omitempty"` + // PlacementConstraints - The placement constraints as a string. Placement constraints are boolean expressions on node properties and allow for restricting a service to particular nodes based on the service requirements. For example, to place a service on nodes where NodeType is blue specify the following: "NodeColor == blue)". + PlacementConstraints *string `json:"placementConstraints,omitempty"` + // CorrelationScheme - A list that describes the correlation of the service with other services. + CorrelationScheme *[]ServiceCorrelationDescription `json:"correlationScheme,omitempty"` + // ServiceLoadMetrics - The service load metrics is given as an array of ServiceLoadMetricDescription objects. + ServiceLoadMetrics *[]ServiceLoadMetricDescription `json:"serviceLoadMetrics,omitempty"` + // ServicePlacementPolicies - A list that describes the correlation of the service with other services. + ServicePlacementPolicies *[]BasicServicePlacementPolicyDescription `json:"servicePlacementPolicies,omitempty"` + // DefaultMoveCost - Specifies the move cost for the service. Possible values include: 'Zero', 'Low', 'Medium', 'High' + DefaultMoveCost MoveCost `json:"defaultMoveCost,omitempty"` +} + +// MarshalJSON is the custom marshaler for StatefulServiceProperties. +func (ssp StatefulServiceProperties) MarshalJSON() ([]byte, error) { + ssp.ServiceKind = ServiceKindStateful1 + objectMap := make(map[string]interface{}) + if ssp.HasPersistedState != nil { + objectMap["hasPersistedState"] = ssp.HasPersistedState + } + if ssp.TargetReplicaSetSize != nil { + objectMap["targetReplicaSetSize"] = ssp.TargetReplicaSetSize + } + if ssp.MinReplicaSetSize != nil { + objectMap["minReplicaSetSize"] = ssp.MinReplicaSetSize + } + if ssp.ReplicaRestartWaitDuration != nil { + objectMap["replicaRestartWaitDuration"] = ssp.ReplicaRestartWaitDuration + } + if ssp.QuorumLossWaitDuration != nil { + objectMap["quorumLossWaitDuration"] = ssp.QuorumLossWaitDuration + } + if ssp.StandByReplicaKeepDuration != nil { + objectMap["standByReplicaKeepDuration"] = ssp.StandByReplicaKeepDuration + } + if ssp.ServiceTypeName != nil { + objectMap["serviceTypeName"] = ssp.ServiceTypeName + } + objectMap["partitionDescription"] = ssp.PartitionDescription + if ssp.ServicePackageActivationMode != "" { + objectMap["servicePackageActivationMode"] = ssp.ServicePackageActivationMode + } + if ssp.ServiceKind != "" { + objectMap["serviceKind"] = ssp.ServiceKind + } + if ssp.PlacementConstraints != nil { + objectMap["placementConstraints"] = ssp.PlacementConstraints + } + if ssp.CorrelationScheme != nil { + objectMap["correlationScheme"] = ssp.CorrelationScheme + } + if ssp.ServiceLoadMetrics != nil { + objectMap["serviceLoadMetrics"] = ssp.ServiceLoadMetrics + } + if ssp.ServicePlacementPolicies != nil { + objectMap["servicePlacementPolicies"] = ssp.ServicePlacementPolicies + } + if ssp.DefaultMoveCost != "" { + objectMap["defaultMoveCost"] = ssp.DefaultMoveCost + } + return json.Marshal(objectMap) +} + +// AsStatefulServiceProperties is the BasicServiceResourceProperties implementation for StatefulServiceProperties. +func (ssp StatefulServiceProperties) AsStatefulServiceProperties() (*StatefulServiceProperties, bool) { + return &ssp, true +} + +// AsStatelessServiceProperties is the BasicServiceResourceProperties implementation for StatefulServiceProperties. +func (ssp StatefulServiceProperties) AsStatelessServiceProperties() (*StatelessServiceProperties, bool) { + return nil, false +} + +// AsServiceResourceProperties is the BasicServiceResourceProperties implementation for StatefulServiceProperties. +func (ssp StatefulServiceProperties) AsServiceResourceProperties() (*ServiceResourceProperties, bool) { + return nil, false +} + +// AsBasicServiceResourceProperties is the BasicServiceResourceProperties implementation for StatefulServiceProperties. +func (ssp StatefulServiceProperties) AsBasicServiceResourceProperties() (BasicServiceResourceProperties, bool) { + return &ssp, true +} + +// UnmarshalJSON is the custom unmarshaler for StatefulServiceProperties struct. +func (ssp *StatefulServiceProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "hasPersistedState": + if v != nil { + var hasPersistedState bool + err = json.Unmarshal(*v, &hasPersistedState) + if err != nil { + return err + } + ssp.HasPersistedState = &hasPersistedState + } + case "targetReplicaSetSize": + if v != nil { + var targetReplicaSetSize int32 + err = json.Unmarshal(*v, &targetReplicaSetSize) + if err != nil { + return err + } + ssp.TargetReplicaSetSize = &targetReplicaSetSize + } + case "minReplicaSetSize": + if v != nil { + var minReplicaSetSize int32 + err = json.Unmarshal(*v, &minReplicaSetSize) + if err != nil { + return err + } + ssp.MinReplicaSetSize = &minReplicaSetSize + } + case "replicaRestartWaitDuration": + if v != nil { + var replicaRestartWaitDuration date.Time + err = json.Unmarshal(*v, &replicaRestartWaitDuration) + if err != nil { + return err + } + ssp.ReplicaRestartWaitDuration = &replicaRestartWaitDuration + } + case "quorumLossWaitDuration": + if v != nil { + var quorumLossWaitDuration date.Time + err = json.Unmarshal(*v, &quorumLossWaitDuration) + if err != nil { + return err + } + ssp.QuorumLossWaitDuration = &quorumLossWaitDuration + } + case "standByReplicaKeepDuration": + if v != nil { + var standByReplicaKeepDuration date.Time + err = json.Unmarshal(*v, &standByReplicaKeepDuration) + if err != nil { + return err + } + ssp.StandByReplicaKeepDuration = &standByReplicaKeepDuration + } + case "provisioningState": + if v != nil { + var provisioningState string + err = json.Unmarshal(*v, &provisioningState) + if err != nil { + return err + } + ssp.ProvisioningState = &provisioningState + } + case "serviceTypeName": + if v != nil { + var serviceTypeName string + err = json.Unmarshal(*v, &serviceTypeName) + if err != nil { + return err + } + ssp.ServiceTypeName = &serviceTypeName + } + case "partitionDescription": + if v != nil { + partitionDescription, err := unmarshalBasicPartitionSchemeDescription(*v) + if err != nil { + return err + } + ssp.PartitionDescription = partitionDescription + } + case "servicePackageActivationMode": + if v != nil { + var servicePackageActivationMode ArmServicePackageActivationMode + err = json.Unmarshal(*v, &servicePackageActivationMode) + if err != nil { + return err + } + ssp.ServicePackageActivationMode = servicePackageActivationMode + } + case "serviceKind": + if v != nil { + var serviceKind ServiceKindBasicServiceResourceProperties + err = json.Unmarshal(*v, &serviceKind) + if err != nil { + return err + } + ssp.ServiceKind = serviceKind + } + case "placementConstraints": + if v != nil { + var placementConstraints string + err = json.Unmarshal(*v, &placementConstraints) + if err != nil { + return err + } + ssp.PlacementConstraints = &placementConstraints + } + case "correlationScheme": + if v != nil { + var correlationScheme []ServiceCorrelationDescription + err = json.Unmarshal(*v, &correlationScheme) + if err != nil { + return err + } + ssp.CorrelationScheme = &correlationScheme + } + case "serviceLoadMetrics": + if v != nil { + var serviceLoadMetrics []ServiceLoadMetricDescription + err = json.Unmarshal(*v, &serviceLoadMetrics) + if err != nil { + return err + } + ssp.ServiceLoadMetrics = &serviceLoadMetrics + } + case "servicePlacementPolicies": + if v != nil { + servicePlacementPolicies, err := unmarshalBasicServicePlacementPolicyDescriptionArray(*v) + if err != nil { + return err + } + ssp.ServicePlacementPolicies = &servicePlacementPolicies + } + case "defaultMoveCost": + if v != nil { + var defaultMoveCost MoveCost + err = json.Unmarshal(*v, &defaultMoveCost) + if err != nil { + return err + } + ssp.DefaultMoveCost = defaultMoveCost + } + } + } + + return nil +} + +// StatefulServiceUpdateProperties the properties of a stateful service resource for patch operations. +type StatefulServiceUpdateProperties struct { + // TargetReplicaSetSize - The target replica set size as a number. + TargetReplicaSetSize *int32 `json:"targetReplicaSetSize,omitempty"` + // MinReplicaSetSize - The minimum replica set size as a number. + MinReplicaSetSize *int32 `json:"minReplicaSetSize,omitempty"` + // ReplicaRestartWaitDuration - The duration between when a replica goes down and when a new replica is created, represented in ISO 8601 format (hh:mm:ss.s). + ReplicaRestartWaitDuration *date.Time `json:"replicaRestartWaitDuration,omitempty"` + // QuorumLossWaitDuration - The maximum duration for which a partition is allowed to be in a state of quorum loss, represented in ISO 8601 format (hh:mm:ss.s). + QuorumLossWaitDuration *date.Time `json:"quorumLossWaitDuration,omitempty"` + // StandByReplicaKeepDuration - The definition on how long StandBy replicas should be maintained before being removed, represented in ISO 8601 format (hh:mm:ss.s). + StandByReplicaKeepDuration *date.Time `json:"standByReplicaKeepDuration,omitempty"` + // ServiceKind - Possible values include: 'ServiceKindBasicServiceResourceUpdatePropertiesServiceKindServiceResourceUpdateProperties', 'ServiceKindBasicServiceResourceUpdatePropertiesServiceKindStateful', 'ServiceKindBasicServiceResourceUpdatePropertiesServiceKindStateless' + ServiceKind ServiceKindBasicServiceResourceUpdateProperties `json:"serviceKind,omitempty"` + // PlacementConstraints - The placement constraints as a string. Placement constraints are boolean expressions on node properties and allow for restricting a service to particular nodes based on the service requirements. For example, to place a service on nodes where NodeType is blue specify the following: "NodeColor == blue)". + PlacementConstraints *string `json:"placementConstraints,omitempty"` + // CorrelationScheme - A list that describes the correlation of the service with other services. + CorrelationScheme *[]ServiceCorrelationDescription `json:"correlationScheme,omitempty"` + // ServiceLoadMetrics - The service load metrics is given as an array of ServiceLoadMetricDescription objects. + ServiceLoadMetrics *[]ServiceLoadMetricDescription `json:"serviceLoadMetrics,omitempty"` + // ServicePlacementPolicies - A list that describes the correlation of the service with other services. + ServicePlacementPolicies *[]BasicServicePlacementPolicyDescription `json:"servicePlacementPolicies,omitempty"` + // DefaultMoveCost - Specifies the move cost for the service. Possible values include: 'Zero', 'Low', 'Medium', 'High' + DefaultMoveCost MoveCost `json:"defaultMoveCost,omitempty"` +} + +// MarshalJSON is the custom marshaler for StatefulServiceUpdateProperties. +func (ssup StatefulServiceUpdateProperties) MarshalJSON() ([]byte, error) { + ssup.ServiceKind = ServiceKindBasicServiceResourceUpdatePropertiesServiceKindStateful + objectMap := make(map[string]interface{}) + if ssup.TargetReplicaSetSize != nil { + objectMap["targetReplicaSetSize"] = ssup.TargetReplicaSetSize + } + if ssup.MinReplicaSetSize != nil { + objectMap["minReplicaSetSize"] = ssup.MinReplicaSetSize + } + if ssup.ReplicaRestartWaitDuration != nil { + objectMap["replicaRestartWaitDuration"] = ssup.ReplicaRestartWaitDuration + } + if ssup.QuorumLossWaitDuration != nil { + objectMap["quorumLossWaitDuration"] = ssup.QuorumLossWaitDuration + } + if ssup.StandByReplicaKeepDuration != nil { + objectMap["standByReplicaKeepDuration"] = ssup.StandByReplicaKeepDuration + } + if ssup.ServiceKind != "" { + objectMap["serviceKind"] = ssup.ServiceKind + } + if ssup.PlacementConstraints != nil { + objectMap["placementConstraints"] = ssup.PlacementConstraints + } + if ssup.CorrelationScheme != nil { + objectMap["correlationScheme"] = ssup.CorrelationScheme + } + if ssup.ServiceLoadMetrics != nil { + objectMap["serviceLoadMetrics"] = ssup.ServiceLoadMetrics + } + if ssup.ServicePlacementPolicies != nil { + objectMap["servicePlacementPolicies"] = ssup.ServicePlacementPolicies + } + if ssup.DefaultMoveCost != "" { + objectMap["defaultMoveCost"] = ssup.DefaultMoveCost + } + return json.Marshal(objectMap) +} + +// AsStatefulServiceUpdateProperties is the BasicServiceResourceUpdateProperties implementation for StatefulServiceUpdateProperties. +func (ssup StatefulServiceUpdateProperties) AsStatefulServiceUpdateProperties() (*StatefulServiceUpdateProperties, bool) { + return &ssup, true +} + +// AsStatelessServiceUpdateProperties is the BasicServiceResourceUpdateProperties implementation for StatefulServiceUpdateProperties. +func (ssup StatefulServiceUpdateProperties) AsStatelessServiceUpdateProperties() (*StatelessServiceUpdateProperties, bool) { + return nil, false +} + +// AsServiceResourceUpdateProperties is the BasicServiceResourceUpdateProperties implementation for StatefulServiceUpdateProperties. +func (ssup StatefulServiceUpdateProperties) AsServiceResourceUpdateProperties() (*ServiceResourceUpdateProperties, bool) { + return nil, false +} + +// AsBasicServiceResourceUpdateProperties is the BasicServiceResourceUpdateProperties implementation for StatefulServiceUpdateProperties. +func (ssup StatefulServiceUpdateProperties) AsBasicServiceResourceUpdateProperties() (BasicServiceResourceUpdateProperties, bool) { + return &ssup, true +} + +// UnmarshalJSON is the custom unmarshaler for StatefulServiceUpdateProperties struct. +func (ssup *StatefulServiceUpdateProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "targetReplicaSetSize": + if v != nil { + var targetReplicaSetSize int32 + err = json.Unmarshal(*v, &targetReplicaSetSize) + if err != nil { + return err + } + ssup.TargetReplicaSetSize = &targetReplicaSetSize + } + case "minReplicaSetSize": + if v != nil { + var minReplicaSetSize int32 + err = json.Unmarshal(*v, &minReplicaSetSize) + if err != nil { + return err + } + ssup.MinReplicaSetSize = &minReplicaSetSize + } + case "replicaRestartWaitDuration": + if v != nil { + var replicaRestartWaitDuration date.Time + err = json.Unmarshal(*v, &replicaRestartWaitDuration) + if err != nil { + return err + } + ssup.ReplicaRestartWaitDuration = &replicaRestartWaitDuration + } + case "quorumLossWaitDuration": + if v != nil { + var quorumLossWaitDuration date.Time + err = json.Unmarshal(*v, &quorumLossWaitDuration) + if err != nil { + return err + } + ssup.QuorumLossWaitDuration = &quorumLossWaitDuration + } + case "standByReplicaKeepDuration": + if v != nil { + var standByReplicaKeepDuration date.Time + err = json.Unmarshal(*v, &standByReplicaKeepDuration) + if err != nil { + return err + } + ssup.StandByReplicaKeepDuration = &standByReplicaKeepDuration + } + case "serviceKind": + if v != nil { + var serviceKind ServiceKindBasicServiceResourceUpdateProperties + err = json.Unmarshal(*v, &serviceKind) + if err != nil { + return err + } + ssup.ServiceKind = serviceKind + } + case "placementConstraints": + if v != nil { + var placementConstraints string + err = json.Unmarshal(*v, &placementConstraints) + if err != nil { + return err + } + ssup.PlacementConstraints = &placementConstraints + } + case "correlationScheme": + if v != nil { + var correlationScheme []ServiceCorrelationDescription + err = json.Unmarshal(*v, &correlationScheme) + if err != nil { + return err + } + ssup.CorrelationScheme = &correlationScheme + } + case "serviceLoadMetrics": + if v != nil { + var serviceLoadMetrics []ServiceLoadMetricDescription + err = json.Unmarshal(*v, &serviceLoadMetrics) + if err != nil { + return err + } + ssup.ServiceLoadMetrics = &serviceLoadMetrics + } + case "servicePlacementPolicies": + if v != nil { + servicePlacementPolicies, err := unmarshalBasicServicePlacementPolicyDescriptionArray(*v) + if err != nil { + return err + } + ssup.ServicePlacementPolicies = &servicePlacementPolicies + } + case "defaultMoveCost": + if v != nil { + var defaultMoveCost MoveCost + err = json.Unmarshal(*v, &defaultMoveCost) + if err != nil { + return err + } + ssup.DefaultMoveCost = defaultMoveCost + } + } + } + + return nil +} + +// StatelessServiceProperties the properties of a stateless service resource. +type StatelessServiceProperties struct { + // InstanceCount - The instance count. + InstanceCount *int32 `json:"instanceCount,omitempty"` + // ProvisioningState - READ-ONLY; The current deployment or provisioning state, which only appears in the response + ProvisioningState *string `json:"provisioningState,omitempty"` + // ServiceTypeName - The name of the service type + ServiceTypeName *string `json:"serviceTypeName,omitempty"` + // PartitionDescription - Describes how the service is partitioned. + PartitionDescription BasicPartitionSchemeDescription `json:"partitionDescription,omitempty"` + // ServicePackageActivationMode - The activation Mode of the service package. Possible values include: 'SharedProcess', 'ExclusiveProcess' + ServicePackageActivationMode ArmServicePackageActivationMode `json:"servicePackageActivationMode,omitempty"` + // ServiceKind - Possible values include: 'ServiceKindServiceResourceProperties', 'ServiceKindStateful1', 'ServiceKindStateless1' + ServiceKind ServiceKindBasicServiceResourceProperties `json:"serviceKind,omitempty"` + // PlacementConstraints - The placement constraints as a string. Placement constraints are boolean expressions on node properties and allow for restricting a service to particular nodes based on the service requirements. For example, to place a service on nodes where NodeType is blue specify the following: "NodeColor == blue)". + PlacementConstraints *string `json:"placementConstraints,omitempty"` + // CorrelationScheme - A list that describes the correlation of the service with other services. + CorrelationScheme *[]ServiceCorrelationDescription `json:"correlationScheme,omitempty"` + // ServiceLoadMetrics - The service load metrics is given as an array of ServiceLoadMetricDescription objects. + ServiceLoadMetrics *[]ServiceLoadMetricDescription `json:"serviceLoadMetrics,omitempty"` + // ServicePlacementPolicies - A list that describes the correlation of the service with other services. + ServicePlacementPolicies *[]BasicServicePlacementPolicyDescription `json:"servicePlacementPolicies,omitempty"` + // DefaultMoveCost - Specifies the move cost for the service. Possible values include: 'Zero', 'Low', 'Medium', 'High' + DefaultMoveCost MoveCost `json:"defaultMoveCost,omitempty"` +} + +// MarshalJSON is the custom marshaler for StatelessServiceProperties. +func (ssp StatelessServiceProperties) MarshalJSON() ([]byte, error) { + ssp.ServiceKind = ServiceKindStateless1 + objectMap := make(map[string]interface{}) + if ssp.InstanceCount != nil { + objectMap["instanceCount"] = ssp.InstanceCount + } + if ssp.ServiceTypeName != nil { + objectMap["serviceTypeName"] = ssp.ServiceTypeName + } + objectMap["partitionDescription"] = ssp.PartitionDescription + if ssp.ServicePackageActivationMode != "" { + objectMap["servicePackageActivationMode"] = ssp.ServicePackageActivationMode + } + if ssp.ServiceKind != "" { + objectMap["serviceKind"] = ssp.ServiceKind + } + if ssp.PlacementConstraints != nil { + objectMap["placementConstraints"] = ssp.PlacementConstraints + } + if ssp.CorrelationScheme != nil { + objectMap["correlationScheme"] = ssp.CorrelationScheme + } + if ssp.ServiceLoadMetrics != nil { + objectMap["serviceLoadMetrics"] = ssp.ServiceLoadMetrics + } + if ssp.ServicePlacementPolicies != nil { + objectMap["servicePlacementPolicies"] = ssp.ServicePlacementPolicies + } + if ssp.DefaultMoveCost != "" { + objectMap["defaultMoveCost"] = ssp.DefaultMoveCost + } + return json.Marshal(objectMap) +} + +// AsStatefulServiceProperties is the BasicServiceResourceProperties implementation for StatelessServiceProperties. +func (ssp StatelessServiceProperties) AsStatefulServiceProperties() (*StatefulServiceProperties, bool) { + return nil, false +} + +// AsStatelessServiceProperties is the BasicServiceResourceProperties implementation for StatelessServiceProperties. +func (ssp StatelessServiceProperties) AsStatelessServiceProperties() (*StatelessServiceProperties, bool) { + return &ssp, true +} + +// AsServiceResourceProperties is the BasicServiceResourceProperties implementation for StatelessServiceProperties. +func (ssp StatelessServiceProperties) AsServiceResourceProperties() (*ServiceResourceProperties, bool) { + return nil, false +} + +// AsBasicServiceResourceProperties is the BasicServiceResourceProperties implementation for StatelessServiceProperties. +func (ssp StatelessServiceProperties) AsBasicServiceResourceProperties() (BasicServiceResourceProperties, bool) { + return &ssp, true +} + +// UnmarshalJSON is the custom unmarshaler for StatelessServiceProperties struct. +func (ssp *StatelessServiceProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "instanceCount": + if v != nil { + var instanceCount int32 + err = json.Unmarshal(*v, &instanceCount) + if err != nil { + return err + } + ssp.InstanceCount = &instanceCount + } + case "provisioningState": + if v != nil { + var provisioningState string + err = json.Unmarshal(*v, &provisioningState) + if err != nil { + return err + } + ssp.ProvisioningState = &provisioningState + } + case "serviceTypeName": + if v != nil { + var serviceTypeName string + err = json.Unmarshal(*v, &serviceTypeName) + if err != nil { + return err + } + ssp.ServiceTypeName = &serviceTypeName + } + case "partitionDescription": + if v != nil { + partitionDescription, err := unmarshalBasicPartitionSchemeDescription(*v) + if err != nil { + return err + } + ssp.PartitionDescription = partitionDescription + } + case "servicePackageActivationMode": + if v != nil { + var servicePackageActivationMode ArmServicePackageActivationMode + err = json.Unmarshal(*v, &servicePackageActivationMode) + if err != nil { + return err + } + ssp.ServicePackageActivationMode = servicePackageActivationMode + } + case "serviceKind": + if v != nil { + var serviceKind ServiceKindBasicServiceResourceProperties + err = json.Unmarshal(*v, &serviceKind) + if err != nil { + return err + } + ssp.ServiceKind = serviceKind + } + case "placementConstraints": + if v != nil { + var placementConstraints string + err = json.Unmarshal(*v, &placementConstraints) + if err != nil { + return err + } + ssp.PlacementConstraints = &placementConstraints + } + case "correlationScheme": + if v != nil { + var correlationScheme []ServiceCorrelationDescription + err = json.Unmarshal(*v, &correlationScheme) + if err != nil { + return err + } + ssp.CorrelationScheme = &correlationScheme + } + case "serviceLoadMetrics": + if v != nil { + var serviceLoadMetrics []ServiceLoadMetricDescription + err = json.Unmarshal(*v, &serviceLoadMetrics) + if err != nil { + return err + } + ssp.ServiceLoadMetrics = &serviceLoadMetrics + } + case "servicePlacementPolicies": + if v != nil { + servicePlacementPolicies, err := unmarshalBasicServicePlacementPolicyDescriptionArray(*v) + if err != nil { + return err + } + ssp.ServicePlacementPolicies = &servicePlacementPolicies + } + case "defaultMoveCost": + if v != nil { + var defaultMoveCost MoveCost + err = json.Unmarshal(*v, &defaultMoveCost) + if err != nil { + return err + } + ssp.DefaultMoveCost = defaultMoveCost + } + } + } + + return nil +} + +// StatelessServiceUpdateProperties the properties of a stateless service resource for patch operations. +type StatelessServiceUpdateProperties struct { + // InstanceCount - The instance count. + InstanceCount *int32 `json:"instanceCount,omitempty"` + // ServiceKind - Possible values include: 'ServiceKindBasicServiceResourceUpdatePropertiesServiceKindServiceResourceUpdateProperties', 'ServiceKindBasicServiceResourceUpdatePropertiesServiceKindStateful', 'ServiceKindBasicServiceResourceUpdatePropertiesServiceKindStateless' + ServiceKind ServiceKindBasicServiceResourceUpdateProperties `json:"serviceKind,omitempty"` + // PlacementConstraints - The placement constraints as a string. Placement constraints are boolean expressions on node properties and allow for restricting a service to particular nodes based on the service requirements. For example, to place a service on nodes where NodeType is blue specify the following: "NodeColor == blue)". + PlacementConstraints *string `json:"placementConstraints,omitempty"` + // CorrelationScheme - A list that describes the correlation of the service with other services. + CorrelationScheme *[]ServiceCorrelationDescription `json:"correlationScheme,omitempty"` + // ServiceLoadMetrics - The service load metrics is given as an array of ServiceLoadMetricDescription objects. + ServiceLoadMetrics *[]ServiceLoadMetricDescription `json:"serviceLoadMetrics,omitempty"` + // ServicePlacementPolicies - A list that describes the correlation of the service with other services. + ServicePlacementPolicies *[]BasicServicePlacementPolicyDescription `json:"servicePlacementPolicies,omitempty"` + // DefaultMoveCost - Specifies the move cost for the service. Possible values include: 'Zero', 'Low', 'Medium', 'High' + DefaultMoveCost MoveCost `json:"defaultMoveCost,omitempty"` +} + +// MarshalJSON is the custom marshaler for StatelessServiceUpdateProperties. +func (ssup StatelessServiceUpdateProperties) MarshalJSON() ([]byte, error) { + ssup.ServiceKind = ServiceKindBasicServiceResourceUpdatePropertiesServiceKindStateless + objectMap := make(map[string]interface{}) + if ssup.InstanceCount != nil { + objectMap["instanceCount"] = ssup.InstanceCount + } + if ssup.ServiceKind != "" { + objectMap["serviceKind"] = ssup.ServiceKind + } + if ssup.PlacementConstraints != nil { + objectMap["placementConstraints"] = ssup.PlacementConstraints + } + if ssup.CorrelationScheme != nil { + objectMap["correlationScheme"] = ssup.CorrelationScheme + } + if ssup.ServiceLoadMetrics != nil { + objectMap["serviceLoadMetrics"] = ssup.ServiceLoadMetrics + } + if ssup.ServicePlacementPolicies != nil { + objectMap["servicePlacementPolicies"] = ssup.ServicePlacementPolicies + } + if ssup.DefaultMoveCost != "" { + objectMap["defaultMoveCost"] = ssup.DefaultMoveCost + } + return json.Marshal(objectMap) +} + +// AsStatefulServiceUpdateProperties is the BasicServiceResourceUpdateProperties implementation for StatelessServiceUpdateProperties. +func (ssup StatelessServiceUpdateProperties) AsStatefulServiceUpdateProperties() (*StatefulServiceUpdateProperties, bool) { + return nil, false +} + +// AsStatelessServiceUpdateProperties is the BasicServiceResourceUpdateProperties implementation for StatelessServiceUpdateProperties. +func (ssup StatelessServiceUpdateProperties) AsStatelessServiceUpdateProperties() (*StatelessServiceUpdateProperties, bool) { + return &ssup, true +} + +// AsServiceResourceUpdateProperties is the BasicServiceResourceUpdateProperties implementation for StatelessServiceUpdateProperties. +func (ssup StatelessServiceUpdateProperties) AsServiceResourceUpdateProperties() (*ServiceResourceUpdateProperties, bool) { + return nil, false +} + +// AsBasicServiceResourceUpdateProperties is the BasicServiceResourceUpdateProperties implementation for StatelessServiceUpdateProperties. +func (ssup StatelessServiceUpdateProperties) AsBasicServiceResourceUpdateProperties() (BasicServiceResourceUpdateProperties, bool) { + return &ssup, true +} + +// UnmarshalJSON is the custom unmarshaler for StatelessServiceUpdateProperties struct. +func (ssup *StatelessServiceUpdateProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "instanceCount": + if v != nil { + var instanceCount int32 + err = json.Unmarshal(*v, &instanceCount) + if err != nil { + return err + } + ssup.InstanceCount = &instanceCount + } + case "serviceKind": + if v != nil { + var serviceKind ServiceKindBasicServiceResourceUpdateProperties + err = json.Unmarshal(*v, &serviceKind) + if err != nil { + return err + } + ssup.ServiceKind = serviceKind + } + case "placementConstraints": + if v != nil { + var placementConstraints string + err = json.Unmarshal(*v, &placementConstraints) + if err != nil { + return err + } + ssup.PlacementConstraints = &placementConstraints + } + case "correlationScheme": + if v != nil { + var correlationScheme []ServiceCorrelationDescription + err = json.Unmarshal(*v, &correlationScheme) + if err != nil { + return err + } + ssup.CorrelationScheme = &correlationScheme + } + case "serviceLoadMetrics": + if v != nil { + var serviceLoadMetrics []ServiceLoadMetricDescription + err = json.Unmarshal(*v, &serviceLoadMetrics) + if err != nil { + return err + } + ssup.ServiceLoadMetrics = &serviceLoadMetrics + } + case "servicePlacementPolicies": + if v != nil { + servicePlacementPolicies, err := unmarshalBasicServicePlacementPolicyDescriptionArray(*v) + if err != nil { + return err + } + ssup.ServicePlacementPolicies = &servicePlacementPolicies + } + case "defaultMoveCost": + if v != nil { + var defaultMoveCost MoveCost + err = json.Unmarshal(*v, &defaultMoveCost) + if err != nil { + return err + } + ssup.DefaultMoveCost = defaultMoveCost + } + } + } + + return nil +} + +// UniformInt64RangePartitionSchemeDescription describes a partitioning scheme where an integer range is +// allocated evenly across a number of partitions. +type UniformInt64RangePartitionSchemeDescription struct { + // Count - The number of partitions. + Count *int32 `json:"Count,omitempty"` + // LowKey - String indicating the lower bound of the partition key range that + // should be split between the partition ‘Count’ + LowKey *string `json:"LowKey,omitempty"` + // HighKey - String indicating the upper bound of the partition key range that + // should be split between the partition ‘Count’ + HighKey *string `json:"HighKey,omitempty"` + // PartitionScheme - Possible values include: 'PartitionSchemePartitionSchemeDescription', 'PartitionSchemeNamed', 'PartitionSchemeSingleton', 'PartitionSchemeUniformInt64Range' + PartitionScheme PartitionSchemeBasicPartitionSchemeDescription `json:"partitionScheme,omitempty"` +} + +// MarshalJSON is the custom marshaler for UniformInt64RangePartitionSchemeDescription. +func (ui6rpsd UniformInt64RangePartitionSchemeDescription) MarshalJSON() ([]byte, error) { + ui6rpsd.PartitionScheme = PartitionSchemeUniformInt64Range + objectMap := make(map[string]interface{}) + if ui6rpsd.Count != nil { + objectMap["Count"] = ui6rpsd.Count + } + if ui6rpsd.LowKey != nil { + objectMap["LowKey"] = ui6rpsd.LowKey + } + if ui6rpsd.HighKey != nil { + objectMap["HighKey"] = ui6rpsd.HighKey + } + if ui6rpsd.PartitionScheme != "" { + objectMap["partitionScheme"] = ui6rpsd.PartitionScheme + } + return json.Marshal(objectMap) +} + +// AsNamedPartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for UniformInt64RangePartitionSchemeDescription. +func (ui6rpsd UniformInt64RangePartitionSchemeDescription) AsNamedPartitionSchemeDescription() (*NamedPartitionSchemeDescription, bool) { + return nil, false +} + +// AsSingletonPartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for UniformInt64RangePartitionSchemeDescription. +func (ui6rpsd UniformInt64RangePartitionSchemeDescription) AsSingletonPartitionSchemeDescription() (*SingletonPartitionSchemeDescription, bool) { + return nil, false +} + +// AsUniformInt64RangePartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for UniformInt64RangePartitionSchemeDescription. +func (ui6rpsd UniformInt64RangePartitionSchemeDescription) AsUniformInt64RangePartitionSchemeDescription() (*UniformInt64RangePartitionSchemeDescription, bool) { + return &ui6rpsd, true +} + +// AsPartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for UniformInt64RangePartitionSchemeDescription. +func (ui6rpsd UniformInt64RangePartitionSchemeDescription) AsPartitionSchemeDescription() (*PartitionSchemeDescription, bool) { + return nil, false +} + +// AsBasicPartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for UniformInt64RangePartitionSchemeDescription. +func (ui6rpsd UniformInt64RangePartitionSchemeDescription) AsBasicPartitionSchemeDescription() (BasicPartitionSchemeDescription, bool) { + return &ui6rpsd, true +} diff --git a/services/preview/servicefabric/mgmt/2019-03-01-preview/servicefabric/operations.go b/services/preview/servicefabric/mgmt/2019-03-01-preview/servicefabric/operations.go new file mode 100644 index 000000000000..212b6ff8ee34 --- /dev/null +++ b/services/preview/servicefabric/mgmt/2019-03-01-preview/servicefabric/operations.go @@ -0,0 +1,147 @@ +package servicefabric + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// OperationsClient is the service Fabric Management Client +type OperationsClient struct { + BaseClient +} + +// NewOperationsClient creates an instance of the OperationsClient client. +func NewOperationsClient(subscriptionID string) OperationsClient { + return NewOperationsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewOperationsClientWithBaseURI creates an instance of the OperationsClient client. +func NewOperationsClientWithBaseURI(baseURI string, subscriptionID string) OperationsClient { + return OperationsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// List get the list of available Service Fabric resource provider API operations. +func (client OperationsClient) List(ctx context.Context) (result OperationListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/OperationsClient.List") + defer func() { + sc := -1 + if result.olr.Response.Response != nil { + sc = result.olr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "servicefabric.OperationsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.olr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "servicefabric.OperationsClient", "List", resp, "Failure sending request") + return + } + + result.olr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "servicefabric.OperationsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client OperationsClient) ListPreparer(ctx context.Context) (*http.Request, error) { + const APIVersion = "2019-03-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPath("/providers/Microsoft.ServiceFabric/operations"), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client OperationsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client OperationsClient) ListResponder(resp *http.Response) (result OperationListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client OperationsClient) listNextResults(ctx context.Context, lastResults OperationListResult) (result OperationListResult, err error) { + req, err := lastResults.operationListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "servicefabric.OperationsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "servicefabric.OperationsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "servicefabric.OperationsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client OperationsClient) ListComplete(ctx context.Context) (result OperationListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/OperationsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx) + return +} diff --git a/services/preview/servicefabric/mgmt/2019-03-01-preview/servicefabric/servicefabricapi/interfaces.go b/services/preview/servicefabric/mgmt/2019-03-01-preview/servicefabric/servicefabricapi/interfaces.go new file mode 100644 index 000000000000..623e813daddf --- /dev/null +++ b/services/preview/servicefabric/mgmt/2019-03-01-preview/servicefabric/servicefabricapi/interfaces.go @@ -0,0 +1,95 @@ +package servicefabricapi + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/azure-sdk-for-go/services/preview/servicefabric/mgmt/2019-03-01-preview/servicefabric" + "github.com/Azure/go-autorest/autorest" +) + +// ClustersClientAPI contains the set of methods on the ClustersClient type. +type ClustersClientAPI interface { + Create(ctx context.Context, resourceGroupName string, clusterName string, parameters servicefabric.Cluster) (result servicefabric.ClustersCreateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, clusterName string) (result autorest.Response, err error) + Get(ctx context.Context, resourceGroupName string, clusterName string) (result servicefabric.Cluster, err error) + List(ctx context.Context) (result servicefabric.ClusterListResult, err error) + ListByResourceGroup(ctx context.Context, resourceGroupName string) (result servicefabric.ClusterListResult, err error) + Update(ctx context.Context, resourceGroupName string, clusterName string, parameters servicefabric.ClusterUpdateParameters) (result servicefabric.ClustersUpdateFuture, err error) +} + +var _ ClustersClientAPI = (*servicefabric.ClustersClient)(nil) + +// ClusterVersionsClientAPI contains the set of methods on the ClusterVersionsClient type. +type ClusterVersionsClientAPI interface { + Get(ctx context.Context, location string, clusterVersion string) (result servicefabric.ClusterCodeVersionsListResult, err error) + GetByEnvironment(ctx context.Context, location string, environment string, clusterVersion string) (result servicefabric.ClusterCodeVersionsListResult, err error) + List(ctx context.Context, location string) (result servicefabric.ClusterCodeVersionsListResult, err error) + ListByEnvironment(ctx context.Context, location string, environment string) (result servicefabric.ClusterCodeVersionsListResult, err error) +} + +var _ ClusterVersionsClientAPI = (*servicefabric.ClusterVersionsClient)(nil) + +// OperationsClientAPI contains the set of methods on the OperationsClient type. +type OperationsClientAPI interface { + List(ctx context.Context) (result servicefabric.OperationListResultPage, err error) +} + +var _ OperationsClientAPI = (*servicefabric.OperationsClient)(nil) + +// ApplicationTypesClientAPI contains the set of methods on the ApplicationTypesClient type. +type ApplicationTypesClientAPI interface { + Create(ctx context.Context, resourceGroupName string, clusterName string, applicationTypeName string, parameters servicefabric.ApplicationTypeResource) (result servicefabric.ApplicationTypeResource, err error) + Delete(ctx context.Context, resourceGroupName string, clusterName string, applicationTypeName string) (result servicefabric.ApplicationTypesDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, clusterName string, applicationTypeName string) (result servicefabric.ApplicationTypeResource, err error) + List(ctx context.Context, resourceGroupName string, clusterName string) (result servicefabric.ApplicationTypeResourceList, err error) +} + +var _ ApplicationTypesClientAPI = (*servicefabric.ApplicationTypesClient)(nil) + +// ApplicationTypeVersionsClientAPI contains the set of methods on the ApplicationTypeVersionsClient type. +type ApplicationTypeVersionsClientAPI interface { + Create(ctx context.Context, resourceGroupName string, clusterName string, applicationTypeName string, version string, parameters servicefabric.ApplicationTypeVersionResource) (result servicefabric.ApplicationTypeVersionsCreateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, clusterName string, applicationTypeName string, version string) (result servicefabric.ApplicationTypeVersionsDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, clusterName string, applicationTypeName string, version string) (result servicefabric.ApplicationTypeVersionResource, err error) + List(ctx context.Context, resourceGroupName string, clusterName string, applicationTypeName string) (result servicefabric.ApplicationTypeVersionResourceList, err error) +} + +var _ ApplicationTypeVersionsClientAPI = (*servicefabric.ApplicationTypeVersionsClient)(nil) + +// ApplicationsClientAPI contains the set of methods on the ApplicationsClient type. +type ApplicationsClientAPI interface { + Create(ctx context.Context, resourceGroupName string, clusterName string, applicationName string, parameters servicefabric.ApplicationResource) (result servicefabric.ApplicationsCreateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, clusterName string, applicationName string) (result servicefabric.ApplicationsDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, clusterName string, applicationName string) (result servicefabric.ApplicationResource, err error) + List(ctx context.Context, resourceGroupName string, clusterName string) (result servicefabric.ApplicationResourceList, err error) + Update(ctx context.Context, resourceGroupName string, clusterName string, applicationName string, parameters servicefabric.ApplicationResourceUpdate) (result servicefabric.ApplicationsUpdateFuture, err error) +} + +var _ ApplicationsClientAPI = (*servicefabric.ApplicationsClient)(nil) + +// ServicesClientAPI contains the set of methods on the ServicesClient type. +type ServicesClientAPI interface { + Create(ctx context.Context, resourceGroupName string, clusterName string, applicationName string, serviceName string, parameters servicefabric.ServiceResource) (result servicefabric.ServicesCreateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, clusterName string, applicationName string, serviceName string) (result servicefabric.ServicesDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, clusterName string, applicationName string, serviceName string) (result servicefabric.ServiceResource, err error) + List(ctx context.Context, resourceGroupName string, clusterName string, applicationName string) (result servicefabric.ServiceResourceList, err error) + Update(ctx context.Context, resourceGroupName string, clusterName string, applicationName string, serviceName string, parameters servicefabric.ServiceResourceUpdate) (result servicefabric.ServicesUpdateFuture, err error) +} + +var _ ServicesClientAPI = (*servicefabric.ServicesClient)(nil) diff --git a/services/preview/servicefabric/mgmt/2019-03-01-preview/servicefabric/services.go b/services/preview/servicefabric/mgmt/2019-03-01-preview/servicefabric/services.go new file mode 100644 index 000000000000..7295ca94514c --- /dev/null +++ b/services/preview/servicefabric/mgmt/2019-03-01-preview/servicefabric/services.go @@ -0,0 +1,451 @@ +package servicefabric + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// ServicesClient is the service Fabric Management Client +type ServicesClient struct { + BaseClient +} + +// NewServicesClient creates an instance of the ServicesClient client. +func NewServicesClient(subscriptionID string) ServicesClient { + return NewServicesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewServicesClientWithBaseURI creates an instance of the ServicesClient client. +func NewServicesClientWithBaseURI(baseURI string, subscriptionID string) ServicesClient { + return ServicesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// Create create or update a Service Fabric service resource with the specified name. +// Parameters: +// resourceGroupName - the name of the resource group. +// clusterName - the name of the cluster resource. +// applicationName - the name of the application resource. +// serviceName - the name of the service resource in the format of {applicationName}~{serviceName}. +// parameters - the service resource. +func (client ServicesClient) Create(ctx context.Context, resourceGroupName string, clusterName string, applicationName string, serviceName string, parameters ServiceResource) (result ServicesCreateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServicesClient.Create") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreatePreparer(ctx, resourceGroupName, clusterName, applicationName, serviceName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "servicefabric.ServicesClient", "Create", nil, "Failure preparing request") + return + } + + result, err = client.CreateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "servicefabric.ServicesClient", "Create", result.Response(), "Failure sending request") + return + } + + return +} + +// CreatePreparer prepares the Create request. +func (client ServicesClient) CreatePreparer(ctx context.Context, resourceGroupName string, clusterName string, applicationName string, serviceName string, parameters ServiceResource) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "applicationName": autorest.Encode("path", applicationName), + "clusterName": autorest.Encode("path", clusterName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serviceName": autorest.Encode("path", serviceName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-03-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applications/{applicationName}/services/{serviceName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateSender sends the Create request. The method will close the +// http.Response Body if it receives an error. +func (client ServicesClient) CreateSender(req *http.Request) (future ServicesCreateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateResponder handles the response to the Create request. The method always +// closes the http.Response Body. +func (client ServicesClient) CreateResponder(resp *http.Response) (result ServiceResource, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete delete a Service Fabric service resource with the specified name. +// Parameters: +// resourceGroupName - the name of the resource group. +// clusterName - the name of the cluster resource. +// applicationName - the name of the application resource. +// serviceName - the name of the service resource in the format of {applicationName}~{serviceName}. +func (client ServicesClient) Delete(ctx context.Context, resourceGroupName string, clusterName string, applicationName string, serviceName string) (result ServicesDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServicesClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, clusterName, applicationName, serviceName) + if err != nil { + err = autorest.NewErrorWithError(err, "servicefabric.ServicesClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "servicefabric.ServicesClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client ServicesClient) DeletePreparer(ctx context.Context, resourceGroupName string, clusterName string, applicationName string, serviceName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "applicationName": autorest.Encode("path", applicationName), + "clusterName": autorest.Encode("path", clusterName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serviceName": autorest.Encode("path", serviceName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-03-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applications/{applicationName}/services/{serviceName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client ServicesClient) DeleteSender(req *http.Request) (future ServicesDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client ServicesClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get get a Service Fabric service resource created or in the process of being created in the Service Fabric +// application resource. +// Parameters: +// resourceGroupName - the name of the resource group. +// clusterName - the name of the cluster resource. +// applicationName - the name of the application resource. +// serviceName - the name of the service resource in the format of {applicationName}~{serviceName}. +func (client ServicesClient) Get(ctx context.Context, resourceGroupName string, clusterName string, applicationName string, serviceName string) (result ServiceResource, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServicesClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, clusterName, applicationName, serviceName) + if err != nil { + err = autorest.NewErrorWithError(err, "servicefabric.ServicesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "servicefabric.ServicesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "servicefabric.ServicesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client ServicesClient) GetPreparer(ctx context.Context, resourceGroupName string, clusterName string, applicationName string, serviceName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "applicationName": autorest.Encode("path", applicationName), + "clusterName": autorest.Encode("path", clusterName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serviceName": autorest.Encode("path", serviceName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-03-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applications/{applicationName}/services/{serviceName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client ServicesClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client ServicesClient) GetResponder(resp *http.Response) (result ServiceResource, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets all service resources created or in the process of being created in the Service Fabric application +// resource. +// Parameters: +// resourceGroupName - the name of the resource group. +// clusterName - the name of the cluster resource. +// applicationName - the name of the application resource. +func (client ServicesClient) List(ctx context.Context, resourceGroupName string, clusterName string, applicationName string) (result ServiceResourceList, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServicesClient.List") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListPreparer(ctx, resourceGroupName, clusterName, applicationName) + if err != nil { + err = autorest.NewErrorWithError(err, "servicefabric.ServicesClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "servicefabric.ServicesClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "servicefabric.ServicesClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client ServicesClient) ListPreparer(ctx context.Context, resourceGroupName string, clusterName string, applicationName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "applicationName": autorest.Encode("path", applicationName), + "clusterName": autorest.Encode("path", clusterName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-03-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applications/{applicationName}/services", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client ServicesClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client ServicesClient) ListResponder(resp *http.Response) (result ServiceResourceList, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Update update a Service Fabric service resource with the specified name. +// Parameters: +// resourceGroupName - the name of the resource group. +// clusterName - the name of the cluster resource. +// applicationName - the name of the application resource. +// serviceName - the name of the service resource in the format of {applicationName}~{serviceName}. +// parameters - the service resource for patch operations. +func (client ServicesClient) Update(ctx context.Context, resourceGroupName string, clusterName string, applicationName string, serviceName string, parameters ServiceResourceUpdate) (result ServicesUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServicesClient.Update") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdatePreparer(ctx, resourceGroupName, clusterName, applicationName, serviceName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "servicefabric.ServicesClient", "Update", nil, "Failure preparing request") + return + } + + result, err = client.UpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "servicefabric.ServicesClient", "Update", result.Response(), "Failure sending request") + return + } + + return +} + +// UpdatePreparer prepares the Update request. +func (client ServicesClient) UpdatePreparer(ctx context.Context, resourceGroupName string, clusterName string, applicationName string, serviceName string, parameters ServiceResourceUpdate) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "applicationName": autorest.Encode("path", applicationName), + "clusterName": autorest.Encode("path", clusterName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serviceName": autorest.Encode("path", serviceName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-03-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applications/{applicationName}/services/{serviceName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateSender sends the Update request. The method will close the +// http.Response Body if it receives an error. +func (client ServicesClient) UpdateSender(req *http.Request) (future ServicesUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// UpdateResponder handles the response to the Update request. The method always +// closes the http.Response Body. +func (client ServicesClient) UpdateResponder(resp *http.Response) (result ServiceResource, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/preview/servicefabric/mgmt/2019-03-01-preview/servicefabric/version.go b/services/preview/servicefabric/mgmt/2019-03-01-preview/servicefabric/version.go new file mode 100644 index 000000000000..74a7ddcbd499 --- /dev/null +++ b/services/preview/servicefabric/mgmt/2019-03-01-preview/servicefabric/version.go @@ -0,0 +1,30 @@ +package servicefabric + +import "github.com/Azure/azure-sdk-for-go/version" + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +// UserAgent returns the UserAgent string to use when sending http.Requests. +func UserAgent() string { + return "Azure-SDK-For-Go/" + version.Number + " servicefabric/2019-03-01-preview" +} + +// Version returns the semantic version (see http://semver.org) of the client. +func Version() string { + return version.Number +} diff --git a/services/servicefabric/mgmt/2019-03-01/servicefabric/applications.go b/services/servicefabric/mgmt/2019-03-01/servicefabric/applications.go index 09430d97a34e..069a1a741ce3 100644 --- a/services/servicefabric/mgmt/2019-03-01/servicefabric/applications.go +++ b/services/servicefabric/mgmt/2019-03-01/servicefabric/applications.go @@ -40,15 +40,15 @@ func NewApplicationsClientWithBaseURI(baseURI string, subscriptionID string) App return ApplicationsClient{NewWithBaseURI(baseURI, subscriptionID)} } -// Create create or update a Service Fabric application resource with the specified name. +// CreateOrUpdate create or update a Service Fabric application resource with the specified name. // Parameters: // resourceGroupName - the name of the resource group. // clusterName - the name of the cluster resource. // applicationName - the name of the application resource. // parameters - the application resource. -func (client ApplicationsClient) Create(ctx context.Context, resourceGroupName string, clusterName string, applicationName string, parameters ApplicationResource) (result ApplicationsCreateFuture, err error) { +func (client ApplicationsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, clusterName string, applicationName string, parameters ApplicationResource) (result ApplicationsCreateOrUpdateFuture, err error) { if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationsClient.Create") + ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationsClient.CreateOrUpdate") defer func() { sc := -1 if result.Response() != nil { @@ -57,23 +57,23 @@ func (client ApplicationsClient) Create(ctx context.Context, resourceGroupName s tracing.EndSpan(ctx, sc, err) }() } - req, err := client.CreatePreparer(ctx, resourceGroupName, clusterName, applicationName, parameters) + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, clusterName, applicationName, parameters) if err != nil { - err = autorest.NewErrorWithError(err, "servicefabric.ApplicationsClient", "Create", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "servicefabric.ApplicationsClient", "CreateOrUpdate", nil, "Failure preparing request") return } - result, err = client.CreateSender(req) + result, err = client.CreateOrUpdateSender(req) if err != nil { - err = autorest.NewErrorWithError(err, "servicefabric.ApplicationsClient", "Create", result.Response(), "Failure sending request") + err = autorest.NewErrorWithError(err, "servicefabric.ApplicationsClient", "CreateOrUpdate", result.Response(), "Failure sending request") return } return } -// CreatePreparer prepares the Create request. -func (client ApplicationsClient) CreatePreparer(ctx context.Context, resourceGroupName string, clusterName string, applicationName string, parameters ApplicationResource) (*http.Request, error) { +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client ApplicationsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, clusterName string, applicationName string, parameters ApplicationResource) (*http.Request, error) { pathParameters := map[string]interface{}{ "applicationName": autorest.Encode("path", applicationName), "clusterName": autorest.Encode("path", clusterName), @@ -81,7 +81,7 @@ func (client ApplicationsClient) CreatePreparer(ctx context.Context, resourceGro "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2019-03-01-preview" + const APIVersion = "2019-03-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -96,12 +96,12 @@ func (client ApplicationsClient) CreatePreparer(ctx context.Context, resourceGro return preparer.Prepare((&http.Request{}).WithContext(ctx)) } -// CreateSender sends the Create request. The method will close the +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the // http.Response Body if it receives an error. -func (client ApplicationsClient) CreateSender(req *http.Request) (future ApplicationsCreateFuture, err error) { +func (client ApplicationsClient) CreateOrUpdateSender(req *http.Request) (future ApplicationsCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) var resp *http.Response - resp, err = autorest.SendWithSender(client, req, - azure.DoRetryWithRegistration(client.Client)) + resp, err = autorest.SendWithSender(client, req, sd...) if err != nil { return } @@ -109,9 +109,9 @@ func (client ApplicationsClient) CreateSender(req *http.Request) (future Applica return } -// CreateResponder handles the response to the Create request. The method always +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always // closes the http.Response Body. -func (client ApplicationsClient) CreateResponder(resp *http.Response) (result ApplicationResource, err error) { +func (client ApplicationsClient) CreateOrUpdateResponder(resp *http.Response) (result ApplicationResource, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -162,7 +162,7 @@ func (client ApplicationsClient) DeletePreparer(ctx context.Context, resourceGro "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2019-03-01-preview" + const APIVersion = "2019-03-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -178,9 +178,9 @@ func (client ApplicationsClient) DeletePreparer(ctx context.Context, resourceGro // DeleteSender sends the Delete request. The method will close the // http.Response Body if it receives an error. func (client ApplicationsClient) DeleteSender(req *http.Request) (future ApplicationsDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) var resp *http.Response - resp, err = autorest.SendWithSender(client, req, - azure.DoRetryWithRegistration(client.Client)) + resp, err = autorest.SendWithSender(client, req, sd...) if err != nil { return } @@ -247,7 +247,7 @@ func (client ApplicationsClient) GetPreparer(ctx context.Context, resourceGroupN "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2019-03-01-preview" + const APIVersion = "2019-03-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -263,8 +263,8 @@ func (client ApplicationsClient) GetPreparer(ctx context.Context, resourceGroupN // GetSender sends the Get request. The method will close the // http.Response Body if it receives an error. func (client ApplicationsClient) GetSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - azure.DoRetryWithRegistration(client.Client)) + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) } // GetResponder handles the response to the Get request. The method always @@ -325,7 +325,7 @@ func (client ApplicationsClient) ListPreparer(ctx context.Context, resourceGroup "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2019-03-01-preview" + const APIVersion = "2019-03-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -341,8 +341,8 @@ func (client ApplicationsClient) ListPreparer(ctx context.Context, resourceGroup // ListSender sends the List request. The method will close the // http.Response Body if it receives an error. func (client ApplicationsClient) ListSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - azure.DoRetryWithRegistration(client.Client)) + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) } // ListResponder handles the response to the List request. The method always @@ -399,7 +399,7 @@ func (client ApplicationsClient) UpdatePreparer(ctx context.Context, resourceGro "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2019-03-01-preview" + const APIVersion = "2019-03-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -417,9 +417,9 @@ func (client ApplicationsClient) UpdatePreparer(ctx context.Context, resourceGro // UpdateSender sends the Update request. The method will close the // http.Response Body if it receives an error. func (client ApplicationsClient) UpdateSender(req *http.Request) (future ApplicationsUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) var resp *http.Response - resp, err = autorest.SendWithSender(client, req, - azure.DoRetryWithRegistration(client.Client)) + resp, err = autorest.SendWithSender(client, req, sd...) if err != nil { return } @@ -429,7 +429,7 @@ func (client ApplicationsClient) UpdateSender(req *http.Request) (future Applica // UpdateResponder handles the response to the Update request. The method always // closes the http.Response Body. -func (client ApplicationsClient) UpdateResponder(resp *http.Response) (result ApplicationResourceUpdate, err error) { +func (client ApplicationsClient) UpdateResponder(resp *http.Response) (result ApplicationResource, err error) { err = autorest.Respond( resp, client.ByInspecting(), diff --git a/services/servicefabric/mgmt/2019-03-01/servicefabric/applicationtypes.go b/services/servicefabric/mgmt/2019-03-01/servicefabric/applicationtypes.go index 34ff06ec7b35..ab95ffc76e99 100644 --- a/services/servicefabric/mgmt/2019-03-01/servicefabric/applicationtypes.go +++ b/services/servicefabric/mgmt/2019-03-01/servicefabric/applicationtypes.go @@ -40,15 +40,15 @@ func NewApplicationTypesClientWithBaseURI(baseURI string, subscriptionID string) return ApplicationTypesClient{NewWithBaseURI(baseURI, subscriptionID)} } -// Create create or update a Service Fabric application type name resource with the specified name. +// CreateOrUpdate create or update a Service Fabric application type name resource with the specified name. // Parameters: // resourceGroupName - the name of the resource group. // clusterName - the name of the cluster resource. // applicationTypeName - the name of the application type name resource. // parameters - the application type name resource. -func (client ApplicationTypesClient) Create(ctx context.Context, resourceGroupName string, clusterName string, applicationTypeName string, parameters ApplicationTypeResource) (result ApplicationTypeResource, err error) { +func (client ApplicationTypesClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, clusterName string, applicationTypeName string, parameters ApplicationTypeResource) (result ApplicationTypeResource, err error) { if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationTypesClient.Create") + ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationTypesClient.CreateOrUpdate") defer func() { sc := -1 if result.Response.Response != nil { @@ -57,29 +57,29 @@ func (client ApplicationTypesClient) Create(ctx context.Context, resourceGroupNa tracing.EndSpan(ctx, sc, err) }() } - req, err := client.CreatePreparer(ctx, resourceGroupName, clusterName, applicationTypeName, parameters) + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, clusterName, applicationTypeName, parameters) if err != nil { - err = autorest.NewErrorWithError(err, "servicefabric.ApplicationTypesClient", "Create", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "servicefabric.ApplicationTypesClient", "CreateOrUpdate", nil, "Failure preparing request") return } - resp, err := client.CreateSender(req) + resp, err := client.CreateOrUpdateSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "servicefabric.ApplicationTypesClient", "Create", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "servicefabric.ApplicationTypesClient", "CreateOrUpdate", resp, "Failure sending request") return } - result, err = client.CreateResponder(resp) + result, err = client.CreateOrUpdateResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "servicefabric.ApplicationTypesClient", "Create", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "servicefabric.ApplicationTypesClient", "CreateOrUpdate", resp, "Failure responding to request") } return } -// CreatePreparer prepares the Create request. -func (client ApplicationTypesClient) CreatePreparer(ctx context.Context, resourceGroupName string, clusterName string, applicationTypeName string, parameters ApplicationTypeResource) (*http.Request, error) { +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client ApplicationTypesClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, clusterName string, applicationTypeName string, parameters ApplicationTypeResource) (*http.Request, error) { pathParameters := map[string]interface{}{ "applicationTypeName": autorest.Encode("path", applicationTypeName), "clusterName": autorest.Encode("path", clusterName), @@ -87,7 +87,7 @@ func (client ApplicationTypesClient) CreatePreparer(ctx context.Context, resourc "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2019-03-01-preview" + const APIVersion = "2019-03-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -102,16 +102,16 @@ func (client ApplicationTypesClient) CreatePreparer(ctx context.Context, resourc return preparer.Prepare((&http.Request{}).WithContext(ctx)) } -// CreateSender sends the Create request. The method will close the +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the // http.Response Body if it receives an error. -func (client ApplicationTypesClient) CreateSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - azure.DoRetryWithRegistration(client.Client)) +func (client ApplicationTypesClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) } -// CreateResponder handles the response to the Create request. The method always +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always // closes the http.Response Body. -func (client ApplicationTypesClient) CreateResponder(resp *http.Response) (result ApplicationTypeResource, err error) { +func (client ApplicationTypesClient) CreateOrUpdateResponder(resp *http.Response) (result ApplicationTypeResource, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -162,7 +162,7 @@ func (client ApplicationTypesClient) DeletePreparer(ctx context.Context, resourc "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2019-03-01-preview" + const APIVersion = "2019-03-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -178,9 +178,9 @@ func (client ApplicationTypesClient) DeletePreparer(ctx context.Context, resourc // DeleteSender sends the Delete request. The method will close the // http.Response Body if it receives an error. func (client ApplicationTypesClient) DeleteSender(req *http.Request) (future ApplicationTypesDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) var resp *http.Response - resp, err = autorest.SendWithSender(client, req, - azure.DoRetryWithRegistration(client.Client)) + resp, err = autorest.SendWithSender(client, req, sd...) if err != nil { return } @@ -247,7 +247,7 @@ func (client ApplicationTypesClient) GetPreparer(ctx context.Context, resourceGr "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2019-03-01-preview" + const APIVersion = "2019-03-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -263,8 +263,8 @@ func (client ApplicationTypesClient) GetPreparer(ctx context.Context, resourceGr // GetSender sends the Get request. The method will close the // http.Response Body if it receives an error. func (client ApplicationTypesClient) GetSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - azure.DoRetryWithRegistration(client.Client)) + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) } // GetResponder handles the response to the Get request. The method always @@ -325,7 +325,7 @@ func (client ApplicationTypesClient) ListPreparer(ctx context.Context, resourceG "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2019-03-01-preview" + const APIVersion = "2019-03-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -341,8 +341,8 @@ func (client ApplicationTypesClient) ListPreparer(ctx context.Context, resourceG // ListSender sends the List request. The method will close the // http.Response Body if it receives an error. func (client ApplicationTypesClient) ListSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - azure.DoRetryWithRegistration(client.Client)) + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) } // ListResponder handles the response to the List request. The method always diff --git a/services/servicefabric/mgmt/2019-03-01/servicefabric/applicationtypeversions.go b/services/servicefabric/mgmt/2019-03-01/servicefabric/applicationtypeversions.go index cbb637dcf33e..5764aa455349 100644 --- a/services/servicefabric/mgmt/2019-03-01/servicefabric/applicationtypeversions.go +++ b/services/servicefabric/mgmt/2019-03-01/servicefabric/applicationtypeversions.go @@ -41,16 +41,16 @@ func NewApplicationTypeVersionsClientWithBaseURI(baseURI string, subscriptionID return ApplicationTypeVersionsClient{NewWithBaseURI(baseURI, subscriptionID)} } -// Create create or update a Service Fabric application type version resource with the specified name. +// CreateOrUpdate create or update a Service Fabric application type version resource with the specified name. // Parameters: // resourceGroupName - the name of the resource group. // clusterName - the name of the cluster resource. // applicationTypeName - the name of the application type name resource. // version - the application type version. // parameters - the application type version resource. -func (client ApplicationTypeVersionsClient) Create(ctx context.Context, resourceGroupName string, clusterName string, applicationTypeName string, version string, parameters ApplicationTypeVersionResource) (result ApplicationTypeVersionsCreateFuture, err error) { +func (client ApplicationTypeVersionsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, clusterName string, applicationTypeName string, version string, parameters ApplicationTypeVersionResource) (result ApplicationTypeVersionsCreateOrUpdateFuture, err error) { if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationTypeVersionsClient.Create") + ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationTypeVersionsClient.CreateOrUpdate") defer func() { sc := -1 if result.Response() != nil { @@ -63,26 +63,26 @@ func (client ApplicationTypeVersionsClient) Create(ctx context.Context, resource {TargetValue: parameters, Constraints: []validation.Constraint{{Target: "parameters.ApplicationTypeVersionResourceProperties", Name: validation.Null, Rule: false, Chain: []validation.Constraint{{Target: "parameters.ApplicationTypeVersionResourceProperties.AppPackageURL", Name: validation.Null, Rule: true, Chain: nil}}}}}}); err != nil { - return result, validation.NewError("servicefabric.ApplicationTypeVersionsClient", "Create", err.Error()) + return result, validation.NewError("servicefabric.ApplicationTypeVersionsClient", "CreateOrUpdate", err.Error()) } - req, err := client.CreatePreparer(ctx, resourceGroupName, clusterName, applicationTypeName, version, parameters) + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, clusterName, applicationTypeName, version, parameters) if err != nil { - err = autorest.NewErrorWithError(err, "servicefabric.ApplicationTypeVersionsClient", "Create", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "servicefabric.ApplicationTypeVersionsClient", "CreateOrUpdate", nil, "Failure preparing request") return } - result, err = client.CreateSender(req) + result, err = client.CreateOrUpdateSender(req) if err != nil { - err = autorest.NewErrorWithError(err, "servicefabric.ApplicationTypeVersionsClient", "Create", result.Response(), "Failure sending request") + err = autorest.NewErrorWithError(err, "servicefabric.ApplicationTypeVersionsClient", "CreateOrUpdate", result.Response(), "Failure sending request") return } return } -// CreatePreparer prepares the Create request. -func (client ApplicationTypeVersionsClient) CreatePreparer(ctx context.Context, resourceGroupName string, clusterName string, applicationTypeName string, version string, parameters ApplicationTypeVersionResource) (*http.Request, error) { +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client ApplicationTypeVersionsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, clusterName string, applicationTypeName string, version string, parameters ApplicationTypeVersionResource) (*http.Request, error) { pathParameters := map[string]interface{}{ "applicationTypeName": autorest.Encode("path", applicationTypeName), "clusterName": autorest.Encode("path", clusterName), @@ -91,7 +91,7 @@ func (client ApplicationTypeVersionsClient) CreatePreparer(ctx context.Context, "version": autorest.Encode("path", version), } - const APIVersion = "2019-03-01-preview" + const APIVersion = "2019-03-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -106,12 +106,12 @@ func (client ApplicationTypeVersionsClient) CreatePreparer(ctx context.Context, return preparer.Prepare((&http.Request{}).WithContext(ctx)) } -// CreateSender sends the Create request. The method will close the +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the // http.Response Body if it receives an error. -func (client ApplicationTypeVersionsClient) CreateSender(req *http.Request) (future ApplicationTypeVersionsCreateFuture, err error) { +func (client ApplicationTypeVersionsClient) CreateOrUpdateSender(req *http.Request) (future ApplicationTypeVersionsCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) var resp *http.Response - resp, err = autorest.SendWithSender(client, req, - azure.DoRetryWithRegistration(client.Client)) + resp, err = autorest.SendWithSender(client, req, sd...) if err != nil { return } @@ -119,9 +119,9 @@ func (client ApplicationTypeVersionsClient) CreateSender(req *http.Request) (fut return } -// CreateResponder handles the response to the Create request. The method always +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always // closes the http.Response Body. -func (client ApplicationTypeVersionsClient) CreateResponder(resp *http.Response) (result ApplicationTypeVersionResource, err error) { +func (client ApplicationTypeVersionsClient) CreateOrUpdateResponder(resp *http.Response) (result ApplicationTypeVersionResource, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -174,7 +174,7 @@ func (client ApplicationTypeVersionsClient) DeletePreparer(ctx context.Context, "version": autorest.Encode("path", version), } - const APIVersion = "2019-03-01-preview" + const APIVersion = "2019-03-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -190,9 +190,9 @@ func (client ApplicationTypeVersionsClient) DeletePreparer(ctx context.Context, // DeleteSender sends the Delete request. The method will close the // http.Response Body if it receives an error. func (client ApplicationTypeVersionsClient) DeleteSender(req *http.Request) (future ApplicationTypeVersionsDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) var resp *http.Response - resp, err = autorest.SendWithSender(client, req, - azure.DoRetryWithRegistration(client.Client)) + resp, err = autorest.SendWithSender(client, req, sd...) if err != nil { return } @@ -261,7 +261,7 @@ func (client ApplicationTypeVersionsClient) GetPreparer(ctx context.Context, res "version": autorest.Encode("path", version), } - const APIVersion = "2019-03-01-preview" + const APIVersion = "2019-03-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -277,8 +277,8 @@ func (client ApplicationTypeVersionsClient) GetPreparer(ctx context.Context, res // GetSender sends the Get request. The method will close the // http.Response Body if it receives an error. func (client ApplicationTypeVersionsClient) GetSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - azure.DoRetryWithRegistration(client.Client)) + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) } // GetResponder handles the response to the Get request. The method always @@ -341,7 +341,7 @@ func (client ApplicationTypeVersionsClient) ListPreparer(ctx context.Context, re "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2019-03-01-preview" + const APIVersion = "2019-03-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -357,8 +357,8 @@ func (client ApplicationTypeVersionsClient) ListPreparer(ctx context.Context, re // ListSender sends the List request. The method will close the // http.Response Body if it receives an error. func (client ApplicationTypeVersionsClient) ListSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - azure.DoRetryWithRegistration(client.Client)) + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) } // ListResponder handles the response to the List request. The method always diff --git a/services/servicefabric/mgmt/2019-03-01/servicefabric/client.go b/services/servicefabric/mgmt/2019-03-01/servicefabric/client.go index 5d0f53e073fc..c1ab1f71bffb 100644 --- a/services/servicefabric/mgmt/2019-03-01/servicefabric/client.go +++ b/services/servicefabric/mgmt/2019-03-01/servicefabric/client.go @@ -1,4 +1,4 @@ -// Package servicefabric implements the Azure ARM Servicefabric service API version . +// Package servicefabric implements the Azure ARM Servicefabric service API version 2019-03-01. // // Service Fabric Management Client package servicefabric diff --git a/services/servicefabric/mgmt/2019-03-01/servicefabric/clusters.go b/services/servicefabric/mgmt/2019-03-01/servicefabric/clusters.go index 3cbbb86265ed..bf067d540602 100644 --- a/services/servicefabric/mgmt/2019-03-01/servicefabric/clusters.go +++ b/services/servicefabric/mgmt/2019-03-01/servicefabric/clusters.go @@ -41,14 +41,14 @@ func NewClustersClientWithBaseURI(baseURI string, subscriptionID string) Cluster return ClustersClient{NewWithBaseURI(baseURI, subscriptionID)} } -// Create create or update a Service Fabric cluster resource with the specified name. +// CreateOrUpdate create or update a Service Fabric cluster resource with the specified name. // Parameters: // resourceGroupName - the name of the resource group. // clusterName - the name of the cluster resource. // parameters - the cluster resource. -func (client ClustersClient) Create(ctx context.Context, resourceGroupName string, clusterName string, parameters Cluster) (result ClustersCreateFuture, err error) { +func (client ClustersClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, clusterName string, parameters Cluster) (result ClustersCreateOrUpdateFuture, err error) { if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/ClustersClient.Create") + ctx = tracing.StartSpan(ctx, fqdn+"/ClustersClient.CreateOrUpdate") defer func() { sc := -1 if result.Response() != nil { @@ -106,33 +106,33 @@ func (client ClustersClient) Create(ctx context.Context, resourceGroupName strin }}, }}, }}}}}); err != nil { - return result, validation.NewError("servicefabric.ClustersClient", "Create", err.Error()) + return result, validation.NewError("servicefabric.ClustersClient", "CreateOrUpdate", err.Error()) } - req, err := client.CreatePreparer(ctx, resourceGroupName, clusterName, parameters) + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, clusterName, parameters) if err != nil { - err = autorest.NewErrorWithError(err, "servicefabric.ClustersClient", "Create", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "servicefabric.ClustersClient", "CreateOrUpdate", nil, "Failure preparing request") return } - result, err = client.CreateSender(req) + result, err = client.CreateOrUpdateSender(req) if err != nil { - err = autorest.NewErrorWithError(err, "servicefabric.ClustersClient", "Create", result.Response(), "Failure sending request") + err = autorest.NewErrorWithError(err, "servicefabric.ClustersClient", "CreateOrUpdate", result.Response(), "Failure sending request") return } return } -// CreatePreparer prepares the Create request. -func (client ClustersClient) CreatePreparer(ctx context.Context, resourceGroupName string, clusterName string, parameters Cluster) (*http.Request, error) { +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client ClustersClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, clusterName string, parameters Cluster) (*http.Request, error) { pathParameters := map[string]interface{}{ "clusterName": autorest.Encode("path", clusterName), "resourceGroupName": autorest.Encode("path", resourceGroupName), "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2018-02-01" + const APIVersion = "2019-03-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -147,12 +147,12 @@ func (client ClustersClient) CreatePreparer(ctx context.Context, resourceGroupNa return preparer.Prepare((&http.Request{}).WithContext(ctx)) } -// CreateSender sends the Create request. The method will close the +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the // http.Response Body if it receives an error. -func (client ClustersClient) CreateSender(req *http.Request) (future ClustersCreateFuture, err error) { +func (client ClustersClient) CreateOrUpdateSender(req *http.Request) (future ClustersCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) var resp *http.Response - resp, err = autorest.SendWithSender(client, req, - azure.DoRetryWithRegistration(client.Client)) + resp, err = autorest.SendWithSender(client, req, sd...) if err != nil { return } @@ -160,9 +160,9 @@ func (client ClustersClient) CreateSender(req *http.Request) (future ClustersCre return } -// CreateResponder handles the response to the Create request. The method always +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always // closes the http.Response Body. -func (client ClustersClient) CreateResponder(resp *http.Response) (result Cluster, err error) { +func (client ClustersClient) CreateOrUpdateResponder(resp *http.Response) (result Cluster, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -217,7 +217,7 @@ func (client ClustersClient) DeletePreparer(ctx context.Context, resourceGroupNa "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2018-02-01" + const APIVersion = "2019-03-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -233,8 +233,8 @@ func (client ClustersClient) DeletePreparer(ctx context.Context, resourceGroupNa // DeleteSender sends the Delete request. The method will close the // http.Response Body if it receives an error. func (client ClustersClient) DeleteSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - azure.DoRetryWithRegistration(client.Client)) + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) } // DeleteResponder handles the response to the Delete request. The method always @@ -294,7 +294,7 @@ func (client ClustersClient) GetPreparer(ctx context.Context, resourceGroupName "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2018-02-01" + const APIVersion = "2019-03-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -310,8 +310,8 @@ func (client ClustersClient) GetPreparer(ctx context.Context, resourceGroupName // GetSender sends the Get request. The method will close the // http.Response Body if it receives an error. func (client ClustersClient) GetSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - azure.DoRetryWithRegistration(client.Client)) + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) } // GetResponder handles the response to the Get request. The method always @@ -366,7 +366,7 @@ func (client ClustersClient) ListPreparer(ctx context.Context) (*http.Request, e "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2018-02-01" + const APIVersion = "2019-03-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -382,8 +382,8 @@ func (client ClustersClient) ListPreparer(ctx context.Context) (*http.Request, e // ListSender sends the List request. The method will close the // http.Response Body if it receives an error. func (client ClustersClient) ListSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - azure.DoRetryWithRegistration(client.Client)) + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) } // ListResponder handles the response to the List request. The method always @@ -442,7 +442,7 @@ func (client ClustersClient) ListByResourceGroupPreparer(ctx context.Context, re "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2018-02-01" + const APIVersion = "2019-03-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -458,8 +458,8 @@ func (client ClustersClient) ListByResourceGroupPreparer(ctx context.Context, re // ListByResourceGroupSender sends the ListByResourceGroup request. The method will close the // http.Response Body if it receives an error. func (client ClustersClient) ListByResourceGroupSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - azure.DoRetryWithRegistration(client.Client)) + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) } // ListByResourceGroupResponder handles the response to the ListByResourceGroup request. The method always @@ -515,7 +515,7 @@ func (client ClustersClient) UpdatePreparer(ctx context.Context, resourceGroupNa "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2018-02-01" + const APIVersion = "2019-03-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -533,9 +533,9 @@ func (client ClustersClient) UpdatePreparer(ctx context.Context, resourceGroupNa // UpdateSender sends the Update request. The method will close the // http.Response Body if it receives an error. func (client ClustersClient) UpdateSender(req *http.Request) (future ClustersUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) var resp *http.Response - resp, err = autorest.SendWithSender(client, req, - azure.DoRetryWithRegistration(client.Client)) + resp, err = autorest.SendWithSender(client, req, sd...) if err != nil { return } diff --git a/services/servicefabric/mgmt/2019-03-01/servicefabric/clusterversions.go b/services/servicefabric/mgmt/2019-03-01/servicefabric/clusterversions.go index 9702715a5ccf..cc740eb6e894 100644 --- a/services/servicefabric/mgmt/2019-03-01/servicefabric/clusterversions.go +++ b/services/servicefabric/mgmt/2019-03-01/servicefabric/clusterversions.go @@ -84,7 +84,7 @@ func (client ClusterVersionsClient) GetPreparer(ctx context.Context, location st "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2018-02-01" + const APIVersion = "2019-03-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -100,8 +100,8 @@ func (client ClusterVersionsClient) GetPreparer(ctx context.Context, location st // GetSender sends the Get request. The method will close the // http.Response Body if it receives an error. func (client ClusterVersionsClient) GetSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - azure.DoRetryWithRegistration(client.Client)) + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) } // GetResponder handles the response to the Get request. The method always @@ -163,7 +163,7 @@ func (client ClusterVersionsClient) GetByEnvironmentPreparer(ctx context.Context "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2018-02-01" + const APIVersion = "2019-03-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -179,8 +179,8 @@ func (client ClusterVersionsClient) GetByEnvironmentPreparer(ctx context.Context // GetByEnvironmentSender sends the GetByEnvironment request. The method will close the // http.Response Body if it receives an error. func (client ClusterVersionsClient) GetByEnvironmentSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - azure.DoRetryWithRegistration(client.Client)) + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) } // GetByEnvironmentResponder handles the response to the GetByEnvironment request. The method always @@ -238,7 +238,7 @@ func (client ClusterVersionsClient) ListPreparer(ctx context.Context, location s "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2018-02-01" + const APIVersion = "2019-03-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -254,8 +254,8 @@ func (client ClusterVersionsClient) ListPreparer(ctx context.Context, location s // ListSender sends the List request. The method will close the // http.Response Body if it receives an error. func (client ClusterVersionsClient) ListSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - azure.DoRetryWithRegistration(client.Client)) + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) } // ListResponder handles the response to the List request. The method always @@ -315,7 +315,7 @@ func (client ClusterVersionsClient) ListByEnvironmentPreparer(ctx context.Contex "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2018-02-01" + const APIVersion = "2019-03-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -331,8 +331,8 @@ func (client ClusterVersionsClient) ListByEnvironmentPreparer(ctx context.Contex // ListByEnvironmentSender sends the ListByEnvironment request. The method will close the // http.Response Body if it receives an error. func (client ClusterVersionsClient) ListByEnvironmentSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - azure.DoRetryWithRegistration(client.Client)) + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) } // ListByEnvironmentResponder handles the response to the ListByEnvironment request. The method always diff --git a/services/servicefabric/mgmt/2019-03-01/servicefabric/models.go b/services/servicefabric/mgmt/2019-03-01/servicefabric/models.go index 3a025711071e..8c5890118618 100644 --- a/services/servicefabric/mgmt/2019-03-01/servicefabric/models.go +++ b/services/servicefabric/mgmt/2019-03-01/servicefabric/models.go @@ -46,6 +46,23 @@ func PossibleArmServicePackageActivationModeValues() []ArmServicePackageActivati return []ArmServicePackageActivationMode{ExclusiveProcess, SharedProcess} } +// ArmUpgradeFailureAction enumerates the values for arm upgrade failure action. +type ArmUpgradeFailureAction string + +const ( + // Manual Indicates that a manual repair will need to be performed by the administrator if the upgrade + // fails. Service Fabric will not proceed to the next upgrade domain automatically. + Manual ArmUpgradeFailureAction = "Manual" + // Rollback Indicates that a rollback of the upgrade will be performed by Service Fabric if the upgrade + // fails. + Rollback ArmUpgradeFailureAction = "Rollback" +) + +// PossibleArmUpgradeFailureActionValues returns an array of possible values for the ArmUpgradeFailureAction const type. +func PossibleArmUpgradeFailureActionValues() []ArmUpgradeFailureAction { + return []ArmUpgradeFailureAction{Manual, Rollback} +} + // ClusterState enumerates the values for cluster state. type ClusterState string @@ -385,15 +402,15 @@ func PossibleTypeValues() []Type { type UpgradeMode string const ( - // Automatic ... - Automatic UpgradeMode = "Automatic" - // Manual ... - Manual UpgradeMode = "Manual" + // UpgradeModeAutomatic ... + UpgradeModeAutomatic UpgradeMode = "Automatic" + // UpgradeModeManual ... + UpgradeModeManual UpgradeMode = "Manual" ) // PossibleUpgradeModeValues returns an array of possible values for the UpgradeMode const type. func PossibleUpgradeModeValues() []UpgradeMode { - return []UpgradeMode{Automatic, Manual} + return []UpgradeMode{UpgradeModeAutomatic, UpgradeModeManual} } // UpgradeMode1 enumerates the values for upgrade mode 1. @@ -511,23 +528,23 @@ func (ahp ApplicationHealthPolicy) MarshalJSON() ([]byte, error) { // can be used to limit the total consumption of this metric by the services of this application. type ApplicationMetricDescription struct { // Name - The name of the metric. - Name *string `json:"Name,omitempty"` + Name *string `json:"name,omitempty"` // MaximumCapacity - The maximum node capacity for Service Fabric application. // This is the maximum Load for an instance of this application on a single node. Even if the capacity of node is greater than this value, Service Fabric will limit the total load of services within the application on each node to this value. // If set to zero, capacity for this metric is unlimited on each node. // When creating a new application with application capacity defined, the product of MaximumNodes and this value must always be smaller than or equal to TotalApplicationCapacity. // When updating existing application with application capacity, the product of MaximumNodes and this value must always be smaller than or equal to TotalApplicationCapacity. - MaximumCapacity *int64 `json:"MaximumCapacity,omitempty"` + MaximumCapacity *int64 `json:"maximumCapacity,omitempty"` // ReservationCapacity - The node reservation capacity for Service Fabric application. // This is the amount of load which is reserved on nodes which have instances of this application. // If MinimumNodes is specified, then the product of these values will be the capacity reserved in the cluster for the application. // If set to zero, no capacity is reserved for this metric. // When setting application capacity or when updating application capacity; this value must be smaller than or equal to MaximumCapacity for each metric. - ReservationCapacity *int64 `json:"ReservationCapacity,omitempty"` + ReservationCapacity *int64 `json:"reservationCapacity,omitempty"` // TotalApplicationCapacity - The total metric capacity for Service Fabric application. // This is the total metric capacity for this application in the cluster. Service Fabric will try to limit the sum of loads of services within the application to this value. // When creating a new application with application capacity defined, the product of MaximumNodes and MaximumCapacity must always be smaller than or equal to this value. - TotalApplicationCapacity *int64 `json:"TotalApplicationCapacity,omitempty"` + TotalApplicationCapacity *int64 `json:"totalApplicationCapacity,omitempty"` } // ApplicationResource the application resource. @@ -541,8 +558,12 @@ type ApplicationResource struct { Name *string `json:"name,omitempty"` // Type - READ-ONLY; Azure resource type. Type *string `json:"type,omitempty"` - // Location - Azure resource location. + // Location - It will be deprecated in New API, resource location depends on the parent resource. Location *string `json:"location,omitempty"` + // Tags - Azure resource tags. + Tags map[string]*string `json:"tags"` + // Etag - READ-ONLY; Azure resource etag. + Etag *string `json:"etag,omitempty"` } // MarshalJSON is the custom marshaler for ApplicationResource. @@ -554,6 +575,9 @@ func (ar ApplicationResource) MarshalJSON() ([]byte, error) { if ar.Location != nil { objectMap["location"] = ar.Location } + if ar.Tags != nil { + objectMap["tags"] = ar.Tags + } return json.Marshal(objectMap) } @@ -611,6 +635,24 @@ func (ar *ApplicationResource) UnmarshalJSON(body []byte) error { } ar.Location = &location } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + ar.Tags = tags + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + ar.Etag = &etag + } } } @@ -621,6 +663,8 @@ func (ar *ApplicationResource) UnmarshalJSON(body []byte) error { type ApplicationResourceList struct { autorest.Response `json:"-"` Value *[]ApplicationResource `json:"value,omitempty"` + // NextLink - READ-ONLY; URL to get the next set of application list results if there are any. + NextLink *string `json:"nextLink,omitempty"` } // ApplicationResourceProperties the application resource properties. @@ -677,7 +721,6 @@ func (arp ApplicationResourceProperties) MarshalJSON() ([]byte, error) { // ApplicationResourceUpdate the application resource for patch operations. type ApplicationResourceUpdate struct { - autorest.Response `json:"-"` // ApplicationResourceUpdateProperties - The application resource properties for patch operations. *ApplicationResourceUpdateProperties `json:"properties,omitempty"` // ID - READ-ONLY; Azure resource identifier. @@ -686,8 +729,12 @@ type ApplicationResourceUpdate struct { Name *string `json:"name,omitempty"` // Type - READ-ONLY; Azure resource type. Type *string `json:"type,omitempty"` - // Location - Azure resource location. + // Location - It will be deprecated in New API, resource location depends on the parent resource. Location *string `json:"location,omitempty"` + // Tags - Azure resource tags. + Tags map[string]*string `json:"tags"` + // Etag - READ-ONLY; Azure resource etag. + Etag *string `json:"etag,omitempty"` } // MarshalJSON is the custom marshaler for ApplicationResourceUpdate. @@ -699,6 +746,9 @@ func (aru ApplicationResourceUpdate) MarshalJSON() ([]byte, error) { if aru.Location != nil { objectMap["location"] = aru.Location } + if aru.Tags != nil { + objectMap["tags"] = aru.Tags + } return json.Marshal(objectMap) } @@ -756,6 +806,24 @@ func (aru *ApplicationResourceUpdate) UnmarshalJSON(body []byte) error { } aru.Location = &location } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + aru.Tags = tags + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + aru.Etag = &etag + } } } @@ -807,30 +875,30 @@ func (arup ApplicationResourceUpdateProperties) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } -// ApplicationsCreateFuture an abstraction for monitoring and retrieving the results of a long-running -// operation. -type ApplicationsCreateFuture struct { +// ApplicationsCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type ApplicationsCreateOrUpdateFuture struct { azure.Future } // Result returns the result of the asynchronous operation. // If the operation has not completed it will return an error. -func (future *ApplicationsCreateFuture) Result(client ApplicationsClient) (ar ApplicationResource, err error) { +func (future *ApplicationsCreateOrUpdateFuture) Result(client ApplicationsClient) (ar ApplicationResource, err error) { var done bool done, err = future.DoneWithContext(context.Background(), client) if err != nil { - err = autorest.NewErrorWithError(err, "servicefabric.ApplicationsCreateFuture", "Result", future.Response(), "Polling failure") + err = autorest.NewErrorWithError(err, "servicefabric.ApplicationsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") return } if !done { - err = azure.NewAsyncOpIncompleteError("servicefabric.ApplicationsCreateFuture") + err = azure.NewAsyncOpIncompleteError("servicefabric.ApplicationsCreateOrUpdateFuture") return } sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) if ar.Response.Response, err = future.GetResult(sender); err == nil && ar.Response.Response.StatusCode != http.StatusNoContent { - ar, err = client.CreateResponder(ar.Response.Response) + ar, err = client.CreateOrUpdateResponder(ar.Response.Response) if err != nil { - err = autorest.NewErrorWithError(err, "servicefabric.ApplicationsCreateFuture", "Result", ar.Response.Response, "Failure responding to request") + err = autorest.NewErrorWithError(err, "servicefabric.ApplicationsCreateOrUpdateFuture", "Result", ar.Response.Response, "Failure responding to request") } } return @@ -867,7 +935,7 @@ type ApplicationsUpdateFuture struct { // Result returns the result of the asynchronous operation. // If the operation has not completed it will return an error. -func (future *ApplicationsUpdateFuture) Result(client ApplicationsClient) (aru ApplicationResourceUpdate, err error) { +func (future *ApplicationsUpdateFuture) Result(client ApplicationsClient) (ar ApplicationResource, err error) { var done bool done, err = future.DoneWithContext(context.Background(), client) if err != nil { @@ -879,10 +947,10 @@ func (future *ApplicationsUpdateFuture) Result(client ApplicationsClient) (aru A return } sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) - if aru.Response.Response, err = future.GetResult(sender); err == nil && aru.Response.Response.StatusCode != http.StatusNoContent { - aru, err = client.UpdateResponder(aru.Response.Response) + if ar.Response.Response, err = future.GetResult(sender); err == nil && ar.Response.Response.StatusCode != http.StatusNoContent { + ar, err = client.UpdateResponder(ar.Response.Response) if err != nil { - err = autorest.NewErrorWithError(err, "servicefabric.ApplicationsUpdateFuture", "Result", aru.Response.Response, "Failure responding to request") + err = autorest.NewErrorWithError(err, "servicefabric.ApplicationsUpdateFuture", "Result", ar.Response.Response, "Failure responding to request") } } return @@ -899,8 +967,12 @@ type ApplicationTypeResource struct { Name *string `json:"name,omitempty"` // Type - READ-ONLY; Azure resource type. Type *string `json:"type,omitempty"` - // Location - Azure resource location. + // Location - It will be deprecated in New API, resource location depends on the parent resource. Location *string `json:"location,omitempty"` + // Tags - Azure resource tags. + Tags map[string]*string `json:"tags"` + // Etag - READ-ONLY; Azure resource etag. + Etag *string `json:"etag,omitempty"` } // MarshalJSON is the custom marshaler for ApplicationTypeResource. @@ -912,6 +984,9 @@ func (atr ApplicationTypeResource) MarshalJSON() ([]byte, error) { if atr.Location != nil { objectMap["location"] = atr.Location } + if atr.Tags != nil { + objectMap["tags"] = atr.Tags + } return json.Marshal(objectMap) } @@ -969,6 +1044,24 @@ func (atr *ApplicationTypeResource) UnmarshalJSON(body []byte) error { } atr.Location = &location } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + atr.Tags = tags + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + atr.Etag = &etag + } } } @@ -979,6 +1072,8 @@ func (atr *ApplicationTypeResource) UnmarshalJSON(body []byte) error { type ApplicationTypeResourceList struct { autorest.Response `json:"-"` Value *[]ApplicationTypeResource `json:"value,omitempty"` + // NextLink - READ-ONLY; URL to get the next set of application type list results if there are any. + NextLink *string `json:"nextLink,omitempty"` } // ApplicationTypeResourceProperties the application type name properties @@ -1022,8 +1117,12 @@ type ApplicationTypeVersionResource struct { Name *string `json:"name,omitempty"` // Type - READ-ONLY; Azure resource type. Type *string `json:"type,omitempty"` - // Location - Azure resource location. + // Location - It will be deprecated in New API, resource location depends on the parent resource. Location *string `json:"location,omitempty"` + // Tags - Azure resource tags. + Tags map[string]*string `json:"tags"` + // Etag - READ-ONLY; Azure resource etag. + Etag *string `json:"etag,omitempty"` } // MarshalJSON is the custom marshaler for ApplicationTypeVersionResource. @@ -1035,6 +1134,9 @@ func (atvr ApplicationTypeVersionResource) MarshalJSON() ([]byte, error) { if atvr.Location != nil { objectMap["location"] = atvr.Location } + if atvr.Tags != nil { + objectMap["tags"] = atvr.Tags + } return json.Marshal(objectMap) } @@ -1092,6 +1194,24 @@ func (atvr *ApplicationTypeVersionResource) UnmarshalJSON(body []byte) error { } atvr.Location = &location } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + atvr.Tags = tags + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + atvr.Etag = &etag + } } } @@ -1103,6 +1223,8 @@ func (atvr *ApplicationTypeVersionResource) UnmarshalJSON(body []byte) error { type ApplicationTypeVersionResourceList struct { autorest.Response `json:"-"` Value *[]ApplicationTypeVersionResource `json:"value,omitempty"` + // NextLink - READ-ONLY; URL to get the next set of application type version list results if there are any. + NextLink *string `json:"nextLink,omitempty"` } // ApplicationTypeVersionResourceProperties the properties of the application type version resource. @@ -1124,30 +1246,30 @@ func (atvrp ApplicationTypeVersionResourceProperties) MarshalJSON() ([]byte, err return json.Marshal(objectMap) } -// ApplicationTypeVersionsCreateFuture an abstraction for monitoring and retrieving the results of a -// long-running operation. -type ApplicationTypeVersionsCreateFuture struct { +// ApplicationTypeVersionsCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of +// a long-running operation. +type ApplicationTypeVersionsCreateOrUpdateFuture struct { azure.Future } // Result returns the result of the asynchronous operation. // If the operation has not completed it will return an error. -func (future *ApplicationTypeVersionsCreateFuture) Result(client ApplicationTypeVersionsClient) (atvr ApplicationTypeVersionResource, err error) { +func (future *ApplicationTypeVersionsCreateOrUpdateFuture) Result(client ApplicationTypeVersionsClient) (atvr ApplicationTypeVersionResource, err error) { var done bool done, err = future.DoneWithContext(context.Background(), client) if err != nil { - err = autorest.NewErrorWithError(err, "servicefabric.ApplicationTypeVersionsCreateFuture", "Result", future.Response(), "Polling failure") + err = autorest.NewErrorWithError(err, "servicefabric.ApplicationTypeVersionsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") return } if !done { - err = azure.NewAsyncOpIncompleteError("servicefabric.ApplicationTypeVersionsCreateFuture") + err = azure.NewAsyncOpIncompleteError("servicefabric.ApplicationTypeVersionsCreateOrUpdateFuture") return } sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) if atvr.Response.Response, err = future.GetResult(sender); err == nil && atvr.Response.Response.StatusCode != http.StatusNoContent { - atvr, err = client.CreateResponder(atvr.Response.Response) + atvr, err = client.CreateOrUpdateResponder(atvr.Response.Response) if err != nil { - err = autorest.NewErrorWithError(err, "servicefabric.ApplicationTypeVersionsCreateFuture", "Result", atvr.Response.Response, "Failure responding to request") + err = autorest.NewErrorWithError(err, "servicefabric.ApplicationTypeVersionsCreateOrUpdateFuture", "Result", atvr.Response.Response, "Failure responding to request") } } return @@ -1179,11 +1301,11 @@ func (future *ApplicationTypeVersionsDeleteFuture) Result(client ApplicationType // ApplicationUpgradePolicy describes the policy for a monitored application upgrade. type ApplicationUpgradePolicy struct { // UpgradeReplicaSetCheckTimeout - The maximum amount of time to block processing of an upgrade domain and prevent loss of availability when there are unexpected issues. When this timeout expires, processing of the upgrade domain will proceed regardless of availability loss issues. The timeout is reset at the start of each upgrade domain. Valid values are between 0 and 42949672925 inclusive. (unsigned 32-bit integer). - UpgradeReplicaSetCheckTimeout *int64 `json:"upgradeReplicaSetCheckTimeout,omitempty"` + UpgradeReplicaSetCheckTimeout *string `json:"upgradeReplicaSetCheckTimeout,omitempty"` // ForceRestart - If true, then processes are forcefully restarted during upgrade even when the code version has not changed (the upgrade only changes configuration or data). ForceRestart *bool `json:"forceRestart,omitempty"` // RollingUpgradeMonitoringPolicy - The policy used for monitoring the application upgrade - RollingUpgradeMonitoringPolicy *RollingUpgradeMonitoringPolicy `json:"rollingUpgradeMonitoringPolicy,omitempty"` + RollingUpgradeMonitoringPolicy *ArmRollingUpgradeMonitoringPolicy `json:"rollingUpgradeMonitoringPolicy,omitempty"` // ApplicationHealthPolicy - Defines a health policy used to evaluate the health of an application or one of its children entities. ApplicationHealthPolicy *ArmApplicationHealthPolicy `json:"applicationHealthPolicy,omitempty"` } @@ -1192,37 +1314,64 @@ type ApplicationUpgradePolicy struct { // of its children entities. type ArmApplicationHealthPolicy struct { // ConsiderWarningAsError - Indicates whether warnings are treated with the same severity as errors. - ConsiderWarningAsError *bool `json:"ConsiderWarningAsError,omitempty"` + ConsiderWarningAsError *bool `json:"considerWarningAsError,omitempty"` // MaxPercentUnhealthyDeployedApplications - The maximum allowed percentage of unhealthy deployed applications. Allowed values are Byte values from zero to 100. // The percentage represents the maximum tolerated percentage of deployed applications that can be unhealthy before the application is considered in error. // This is calculated by dividing the number of unhealthy deployed applications over the number of nodes where the application is currently deployed on in the cluster. // The computation rounds up to tolerate one failure on small numbers of nodes. Default percentage is zero. - MaxPercentUnhealthyDeployedApplications *int32 `json:"MaxPercentUnhealthyDeployedApplications,omitempty"` + MaxPercentUnhealthyDeployedApplications *int32 `json:"maxPercentUnhealthyDeployedApplications,omitempty"` // DefaultServiceTypeHealthPolicy - The health policy used by default to evaluate the health of a service type. - DefaultServiceTypeHealthPolicy *ServiceTypeHealthPolicy `json:"DefaultServiceTypeHealthPolicy,omitempty"` + DefaultServiceTypeHealthPolicy *ArmServiceTypeHealthPolicy `json:"defaultServiceTypeHealthPolicy,omitempty"` // ServiceTypeHealthPolicyMap - The map with service type health policy per service type name. The map is empty by default. - ServiceTypeHealthPolicyMap map[string]*ServiceTypeHealthPolicy `json:"ServiceTypeHealthPolicyMap"` + ServiceTypeHealthPolicyMap map[string]*ArmServiceTypeHealthPolicy `json:"serviceTypeHealthPolicyMap"` } // MarshalJSON is the custom marshaler for ArmApplicationHealthPolicy. func (aahp ArmApplicationHealthPolicy) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) if aahp.ConsiderWarningAsError != nil { - objectMap["ConsiderWarningAsError"] = aahp.ConsiderWarningAsError + objectMap["considerWarningAsError"] = aahp.ConsiderWarningAsError } if aahp.MaxPercentUnhealthyDeployedApplications != nil { - objectMap["MaxPercentUnhealthyDeployedApplications"] = aahp.MaxPercentUnhealthyDeployedApplications + objectMap["maxPercentUnhealthyDeployedApplications"] = aahp.MaxPercentUnhealthyDeployedApplications } if aahp.DefaultServiceTypeHealthPolicy != nil { - objectMap["DefaultServiceTypeHealthPolicy"] = aahp.DefaultServiceTypeHealthPolicy + objectMap["defaultServiceTypeHealthPolicy"] = aahp.DefaultServiceTypeHealthPolicy } if aahp.ServiceTypeHealthPolicyMap != nil { - objectMap["ServiceTypeHealthPolicyMap"] = aahp.ServiceTypeHealthPolicyMap + objectMap["serviceTypeHealthPolicyMap"] = aahp.ServiceTypeHealthPolicyMap } return json.Marshal(objectMap) } -// AvailableOperationDisplay operation supported by Service Fabric resource provider +// ArmRollingUpgradeMonitoringPolicy the policy used for monitoring the application upgrade +type ArmRollingUpgradeMonitoringPolicy struct { + // FailureAction - The activation Mode of the service package. Possible values include: 'Rollback', 'Manual' + FailureAction ArmUpgradeFailureAction `json:"failureAction,omitempty"` + // HealthCheckWaitDuration - The amount of time to wait after completing an upgrade domain before applying health policies. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds. + HealthCheckWaitDuration *string `json:"healthCheckWaitDuration,omitempty"` + // HealthCheckStableDuration - The amount of time that the application or cluster must remain healthy before the upgrade proceeds to the next upgrade domain. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds. + HealthCheckStableDuration *string `json:"healthCheckStableDuration,omitempty"` + // HealthCheckRetryTimeout - The amount of time to retry health evaluation when the application or cluster is unhealthy before FailureAction is executed. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds. + HealthCheckRetryTimeout *string `json:"healthCheckRetryTimeout,omitempty"` + // UpgradeTimeout - The amount of time the overall upgrade has to complete before FailureAction is executed. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds. + UpgradeTimeout *string `json:"upgradeTimeout,omitempty"` + // UpgradeDomainTimeout - The amount of time each upgrade domain has to complete before FailureAction is executed. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds. + UpgradeDomainTimeout *string `json:"upgradeDomainTimeout,omitempty"` +} + +// ArmServiceTypeHealthPolicy represents the health policy used to evaluate the health of services +// belonging to a service type. +type ArmServiceTypeHealthPolicy struct { + // MaxPercentUnhealthyServices - The maximum percentage of services allowed to be unhealthy before your application is considered in error. + MaxPercentUnhealthyServices *int32 `json:"maxPercentUnhealthyServices,omitempty"` + // MaxPercentUnhealthyPartitionsPerService - The maximum percentage of partitions per service allowed to be unhealthy before your application is considered in error. + MaxPercentUnhealthyPartitionsPerService *int32 `json:"maxPercentUnhealthyPartitionsPerService,omitempty"` + // MaxPercentUnhealthyReplicasPerPartition - The maximum percentage of replicas per partition allowed to be unhealthy before your application is considered in error. + MaxPercentUnhealthyReplicasPerPartition *int32 `json:"maxPercentUnhealthyReplicasPerPartition,omitempty"` +} + +// AvailableOperationDisplay operation supported by the Service Fabric resource provider type AvailableOperationDisplay struct { // Provider - The name of the provider. Provider *string `json:"provider,omitempty"` @@ -1287,6 +1436,8 @@ type Cluster struct { Location *string `json:"location,omitempty"` // Tags - Azure resource tags. Tags map[string]*string `json:"tags"` + // Etag - READ-ONLY; Azure resource etag. + Etag *string `json:"etag,omitempty"` } // MarshalJSON is the custom marshaler for Cluster. @@ -1367,13 +1518,22 @@ func (c *Cluster) UnmarshalJSON(body []byte) error { } c.Tags = tags } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + c.Etag = &etag + } } } return nil } -// ClusterCodeVersionsListResult the list results of the ServiceFabric runtime versions. +// ClusterCodeVersionsListResult the list results of the Service Fabric runtime versions. type ClusterCodeVersionsListResult struct { autorest.Response `json:"-"` Value *[]ClusterCodeVersionsResult `json:"value,omitempty"` @@ -1381,7 +1541,7 @@ type ClusterCodeVersionsListResult struct { NextLink *string `json:"nextLink,omitempty"` } -// ClusterCodeVersionsResult the result of the ServiceFabric runtime versions +// ClusterCodeVersionsResult the result of the Service Fabric runtime versions type ClusterCodeVersionsResult struct { // ID - The identification of the result ID *string `json:"id,omitempty"` @@ -1542,6 +1702,8 @@ type ClusterProperties struct { ClusterState ClusterState `json:"clusterState,omitempty"` // DiagnosticsStorageAccountConfig - The storage account information for storing Service Fabric diagnostic logs. DiagnosticsStorageAccountConfig *DiagnosticsStorageAccountConfig `json:"diagnosticsStorageAccountConfig,omitempty"` + // EventStoreServiceEnabled - Indicates if the event store service is enabled. + EventStoreServiceEnabled *bool `json:"eventStoreServiceEnabled,omitempty"` // FabricSettings - The list of custom fabric settings to configure the cluster. FabricSettings *[]SettingsSectionDescription `json:"fabricSettings,omitempty"` // ManagementEndpoint - The http management endpoint of the cluster. @@ -1567,7 +1729,7 @@ type ClusterProperties struct { // UpgradeMode - The upgrade mode of the cluster when new Service Fabric runtime version is available. // - Automatic - The cluster will be automatically upgraded to the latest Service Fabric runtime version as soon as it is available. // - Manual - The cluster will not be automatically upgraded to the latest Service Fabric runtime version. The cluster is upgraded by setting the **clusterCodeVersion** property in the cluster resource. - // . Possible values include: 'Automatic', 'Manual' + // . Possible values include: 'UpgradeModeAutomatic', 'UpgradeModeManual' UpgradeMode UpgradeMode `json:"upgradeMode,omitempty"` // VMImage - The VM image VMSS has been configured with. Generic names such as Windows or Linux can be used. VMImage *string `json:"vmImage,omitempty"` @@ -1588,6 +1750,8 @@ type ClusterPropertiesUpdateParameters struct { ClientCertificateThumbprints *[]ClientCertificateThumbprint `json:"clientCertificateThumbprints,omitempty"` // ClusterCodeVersion - The Service Fabric runtime version of the cluster. This property can only by set the user when **upgradeMode** is set to 'Manual'. To get list of available Service Fabric versions for new clusters use [ClusterVersion API](./ClusterVersion.md). To get the list of available version for existing clusters use **availableClusterVersions**. ClusterCodeVersion *string `json:"clusterCodeVersion,omitempty"` + // EventStoreServiceEnabled - Indicates if the event store service is enabled. + EventStoreServiceEnabled *bool `json:"eventStoreServiceEnabled,omitempty"` // FabricSettings - The list of custom fabric settings to configure the cluster. This will overwrite the existing list. FabricSettings *[]SettingsSectionDescription `json:"fabricSettings,omitempty"` // NodeTypes - The list of node types in the cluster. This will overwrite the existing list. @@ -1611,30 +1775,30 @@ type ClusterPropertiesUpdateParameters struct { UpgradeMode UpgradeMode1 `json:"upgradeMode,omitempty"` } -// ClustersCreateFuture an abstraction for monitoring and retrieving the results of a long-running +// ClustersCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a long-running // operation. -type ClustersCreateFuture struct { +type ClustersCreateOrUpdateFuture struct { azure.Future } // Result returns the result of the asynchronous operation. // If the operation has not completed it will return an error. -func (future *ClustersCreateFuture) Result(client ClustersClient) (c Cluster, err error) { +func (future *ClustersCreateOrUpdateFuture) Result(client ClustersClient) (c Cluster, err error) { var done bool done, err = future.DoneWithContext(context.Background(), client) if err != nil { - err = autorest.NewErrorWithError(err, "servicefabric.ClustersCreateFuture", "Result", future.Response(), "Polling failure") + err = autorest.NewErrorWithError(err, "servicefabric.ClustersCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") return } if !done { - err = azure.NewAsyncOpIncompleteError("servicefabric.ClustersCreateFuture") + err = azure.NewAsyncOpIncompleteError("servicefabric.ClustersCreateOrUpdateFuture") return } sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) if c.Response.Response, err = future.GetResult(sender); err == nil && c.Response.Response.StatusCode != http.StatusNoContent { - c, err = client.CreateResponder(c.Response.Response) + c, err = client.CreateOrUpdateResponder(c.Response.Response) if err != nil { - err = autorest.NewErrorWithError(err, "servicefabric.ClustersCreateFuture", "Result", c.Response.Response, "Failure responding to request") + err = autorest.NewErrorWithError(err, "servicefabric.ClustersCreateOrUpdateFuture", "Result", c.Response.Response, "Failure responding to request") } } return @@ -1762,7 +1926,7 @@ func (cudhp ClusterUpgradeDeltaHealthPolicy) MarshalJSON() ([]byte, error) { type ClusterUpgradePolicy struct { // ForceRestart - If true, then processes are forcefully restarted during upgrade even when the code version has not changed (the upgrade only changes configuration or data). ForceRestart *bool `json:"forceRestart,omitempty"` - // UpgradeReplicaSetCheckTimeout - The maximum amount of time to block processing of an upgrade domain and revent loss of availability when there are unexpected issues. When this timeout expires, processing of the upgrade domain will proceed regardless of availability loss issues. The timeout is reset at the start of each upgrade domain. The timeout can be in either hh:mm:ss or in d.hh:mm:ss.ms format. + // UpgradeReplicaSetCheckTimeout - The maximum amount of time to block processing of an upgrade domain and prevent loss of availability when there are unexpected issues. When this timeout expires, processing of the upgrade domain will proceed regardless of availability loss issues. The timeout is reset at the start of each upgrade domain. The timeout can be in either hh:mm:ss or in d.hh:mm:ss.ms format. UpgradeReplicaSetCheckTimeout *string `json:"upgradeReplicaSetCheckTimeout,omitempty"` // HealthCheckWaitDuration - The length of time to wait after completing an upgrade domain before performing health checks. The duration can be in either hh:mm:ss or in d.hh:mm:ss.ms format. HealthCheckWaitDuration *string `json:"healthCheckWaitDuration,omitempty"` @@ -1834,7 +1998,7 @@ type NamedPartitionSchemeDescription struct { // Names - Array of size specified by the ‘Count’ parameter, for the names of the partitions. Names *[]string `json:"Names,omitempty"` // PartitionScheme - Possible values include: 'PartitionSchemePartitionSchemeDescription', 'PartitionSchemeNamed', 'PartitionSchemeSingleton', 'PartitionSchemeUniformInt64Range' - PartitionScheme PartitionSchemeBasicPartitionSchemeDescription `json:"PartitionScheme,omitempty"` + PartitionScheme PartitionSchemeBasicPartitionSchemeDescription `json:"partitionScheme,omitempty"` } // MarshalJSON is the custom marshaler for NamedPartitionSchemeDescription. @@ -1848,7 +2012,7 @@ func (npsd NamedPartitionSchemeDescription) MarshalJSON() ([]byte, error) { objectMap["Names"] = npsd.Names } if npsd.PartitionScheme != "" { - objectMap["PartitionScheme"] = npsd.PartitionScheme + objectMap["partitionScheme"] = npsd.PartitionScheme } return json.Marshal(objectMap) } @@ -1899,7 +2063,7 @@ type NodeTypeDescription struct { DurabilityLevel DurabilityLevel `json:"durabilityLevel,omitempty"` // ApplicationPorts - The range of ports from which cluster assigned port to Service Fabric applications. ApplicationPorts *EndpointRangeDescription `json:"applicationPorts,omitempty"` - // EphemeralPorts - The range of empheral ports that nodes in this node type should be configured with. + // EphemeralPorts - The range of ephemeral ports that nodes in this node type should be configured with. EphemeralPorts *EndpointRangeDescription `json:"ephemeralPorts,omitempty"` // IsPrimary - The node type on which system services will run. Only one node type should be marked as primary. Primary node type cannot be deleted or changed for existing clusters. IsPrimary *bool `json:"isPrimary,omitempty"` @@ -1948,10 +2112,11 @@ func (ntd NodeTypeDescription) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } -// OperationListResult describes the result of the request to list Service Fabric operations. +// OperationListResult describes the result of the request to list Service Fabric resource provider +// operations. type OperationListResult struct { autorest.Response `json:"-"` - // Value - List of Service Fabric operations supported by the Microsoft.ServiceFabric resource provider. + // Value - List of operations supported by the Service Fabric resource provider. Value *[]OperationResult `json:"value,omitempty"` // NextLink - READ-ONLY; URL to get the next set of operation list results if there are any. NextLink *string `json:"nextLink,omitempty"` @@ -2117,7 +2282,7 @@ type BasicPartitionSchemeDescription interface { // PartitionSchemeDescription describes how the service is partitioned. type PartitionSchemeDescription struct { // PartitionScheme - Possible values include: 'PartitionSchemePartitionSchemeDescription', 'PartitionSchemeNamed', 'PartitionSchemeSingleton', 'PartitionSchemeUniformInt64Range' - PartitionScheme PartitionSchemeBasicPartitionSchemeDescription `json:"PartitionScheme,omitempty"` + PartitionScheme PartitionSchemeBasicPartitionSchemeDescription `json:"partitionScheme,omitempty"` } func unmarshalBasicPartitionSchemeDescription(body []byte) (BasicPartitionSchemeDescription, error) { @@ -2127,7 +2292,7 @@ func unmarshalBasicPartitionSchemeDescription(body []byte) (BasicPartitionScheme return nil, err } - switch m["PartitionScheme"] { + switch m["partitionScheme"] { case string(PartitionSchemeNamed): var npsd NamedPartitionSchemeDescription err := json.Unmarshal(body, &npsd) @@ -2170,7 +2335,7 @@ func (psd PartitionSchemeDescription) MarshalJSON() ([]byte, error) { psd.PartitionScheme = PartitionSchemePartitionSchemeDescription objectMap := make(map[string]interface{}) if psd.PartitionScheme != "" { - objectMap["PartitionScheme"] = psd.PartitionScheme + objectMap["partitionScheme"] = psd.PartitionScheme } return json.Marshal(objectMap) } @@ -2208,8 +2373,24 @@ type ProxyResource struct { Name *string `json:"name,omitempty"` // Type - READ-ONLY; Azure resource type. Type *string `json:"type,omitempty"` - // Location - Azure resource location. + // Location - It will be deprecated in New API, resource location depends on the parent resource. Location *string `json:"location,omitempty"` + // Tags - Azure resource tags. + Tags map[string]*string `json:"tags"` + // Etag - READ-ONLY; Azure resource etag. + Etag *string `json:"etag,omitempty"` +} + +// MarshalJSON is the custom marshaler for ProxyResource. +func (pr ProxyResource) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if pr.Location != nil { + objectMap["location"] = pr.Location + } + if pr.Tags != nil { + objectMap["tags"] = pr.Tags + } + return json.Marshal(objectMap) } // Resource the resource model definition. @@ -2224,6 +2405,8 @@ type Resource struct { Location *string `json:"location,omitempty"` // Tags - Azure resource tags. Tags map[string]*string `json:"tags"` + // Etag - READ-ONLY; Azure resource etag. + Etag *string `json:"etag,omitempty"` } // MarshalJSON is the custom marshaler for Resource. @@ -2238,20 +2421,6 @@ func (r Resource) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } -// RollingUpgradeMonitoringPolicy the policy used for monitoring the application upgrade -type RollingUpgradeMonitoringPolicy struct { - // HealthCheckWaitDuration - The amount of time to wait after completing an upgrade domain before applying health policies. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds. - HealthCheckWaitDuration *string `json:"healthCheckWaitDuration,omitempty"` - // HealthCheckStableDuration - The amount of time that the application or cluster must remain healthy before the upgrade proceeds to the next upgrade domain. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds. - HealthCheckStableDuration *string `json:"healthCheckStableDuration,omitempty"` - // HealthCheckRetryTimeout - The amount of time to retry health evaluation when the application or cluster is unhealthy before FailureAction is executed. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds. - HealthCheckRetryTimeout *string `json:"healthCheckRetryTimeout,omitempty"` - // UpgradeTimeout - The amount of time the overall upgrade has to complete before FailureAction is executed. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds. - UpgradeTimeout *string `json:"upgradeTimeout,omitempty"` - // UpgradeDomainTimeout - The amount of time each upgrade domain has to complete before FailureAction is executed. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds. - UpgradeDomainTimeout *string `json:"upgradeDomainTimeout,omitempty"` -} - // ServerCertificateCommonName describes the server certificate details using common name. type ServerCertificateCommonName struct { // CertificateCommonName - The common name of the server certificate. @@ -2272,23 +2441,23 @@ type ServerCertificateCommonNames struct { // ServiceCorrelationDescription creates a particular correlation between services. type ServiceCorrelationDescription struct { // Scheme - The ServiceCorrelationScheme which describes the relationship between this service and the service specified via ServiceName. Possible values include: 'ServiceCorrelationSchemeInvalid', 'ServiceCorrelationSchemeAffinity', 'ServiceCorrelationSchemeAlignedAffinity', 'ServiceCorrelationSchemeNonAlignedAffinity' - Scheme ServiceCorrelationScheme `json:"Scheme,omitempty"` + Scheme ServiceCorrelationScheme `json:"scheme,omitempty"` // ServiceName - The name of the service that the correlation relationship is established with. - ServiceName *string `json:"ServiceName,omitempty"` + ServiceName *string `json:"serviceName,omitempty"` } // ServiceLoadMetricDescription specifies a metric to load balance a service during runtime. type ServiceLoadMetricDescription struct { // Name - The name of the metric. If the service chooses to report load during runtime, the load metric name should match the name that is specified in Name exactly. Note that metric names are case sensitive. - Name *string `json:"Name,omitempty"` + Name *string `json:"name,omitempty"` // Weight - The service load metric relative weight, compared to other metrics configured for this service, as a number. Possible values include: 'ServiceLoadMetricWeightZero', 'ServiceLoadMetricWeightLow', 'ServiceLoadMetricWeightMedium', 'ServiceLoadMetricWeightHigh' - Weight ServiceLoadMetricWeight `json:"Weight,omitempty"` + Weight ServiceLoadMetricWeight `json:"weight,omitempty"` // PrimaryDefaultLoad - Used only for Stateful services. The default amount of load, as a number, that this service creates for this metric when it is a Primary replica. - PrimaryDefaultLoad *int32 `json:"PrimaryDefaultLoad,omitempty"` + PrimaryDefaultLoad *int32 `json:"primaryDefaultLoad,omitempty"` // SecondaryDefaultLoad - Used only for Stateful services. The default amount of load, as a number, that this service creates for this metric when it is a Secondary replica. - SecondaryDefaultLoad *int32 `json:"SecondaryDefaultLoad,omitempty"` + SecondaryDefaultLoad *int32 `json:"secondaryDefaultLoad,omitempty"` // DefaultLoad - Used only for Stateless services. The default amount of load, as a number, that this service creates for this metric. - DefaultLoad *int32 `json:"DefaultLoad,omitempty"` + DefaultLoad *int32 `json:"defaultLoad,omitempty"` } // BasicServicePlacementPolicyDescription describes the policy to be used for placement of a Service Fabric service. @@ -2366,8 +2535,12 @@ type ServiceResource struct { Name *string `json:"name,omitempty"` // Type - READ-ONLY; Azure resource type. Type *string `json:"type,omitempty"` - // Location - Azure resource location. + // Location - It will be deprecated in New API, resource location depends on the parent resource. Location *string `json:"location,omitempty"` + // Tags - Azure resource tags. + Tags map[string]*string `json:"tags"` + // Etag - READ-ONLY; Azure resource etag. + Etag *string `json:"etag,omitempty"` } // MarshalJSON is the custom marshaler for ServiceResource. @@ -2377,6 +2550,9 @@ func (sr ServiceResource) MarshalJSON() ([]byte, error) { if sr.Location != nil { objectMap["location"] = sr.Location } + if sr.Tags != nil { + objectMap["tags"] = sr.Tags + } return json.Marshal(objectMap) } @@ -2433,6 +2609,24 @@ func (sr *ServiceResource) UnmarshalJSON(body []byte) error { } sr.Location = &location } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + sr.Tags = tags + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + sr.Etag = &etag + } } } @@ -2443,6 +2637,8 @@ func (sr *ServiceResource) UnmarshalJSON(body []byte) error { type ServiceResourceList struct { autorest.Response `json:"-"` Value *[]ServiceResource `json:"value,omitempty"` + // NextLink - READ-ONLY; URL to get the next set of service list results if there are any. + NextLink *string `json:"nextLink,omitempty"` } // BasicServiceResourceProperties the service resource properties. @@ -2747,7 +2943,6 @@ func (srpb *ServiceResourcePropertiesBase) UnmarshalJSON(body []byte) error { // ServiceResourceUpdate the service resource for patch operations. type ServiceResourceUpdate struct { - autorest.Response `json:"-"` // BasicServiceResourceUpdateProperties - The service resource properties for patch operations. BasicServiceResourceUpdateProperties `json:"properties,omitempty"` // ID - READ-ONLY; Azure resource identifier. @@ -2756,8 +2951,12 @@ type ServiceResourceUpdate struct { Name *string `json:"name,omitempty"` // Type - READ-ONLY; Azure resource type. Type *string `json:"type,omitempty"` - // Location - Azure resource location. + // Location - It will be deprecated in New API, resource location depends on the parent resource. Location *string `json:"location,omitempty"` + // Tags - Azure resource tags. + Tags map[string]*string `json:"tags"` + // Etag - READ-ONLY; Azure resource etag. + Etag *string `json:"etag,omitempty"` } // MarshalJSON is the custom marshaler for ServiceResourceUpdate. @@ -2767,6 +2966,9 @@ func (sru ServiceResourceUpdate) MarshalJSON() ([]byte, error) { if sru.Location != nil { objectMap["location"] = sru.Location } + if sru.Tags != nil { + objectMap["tags"] = sru.Tags + } return json.Marshal(objectMap) } @@ -2823,6 +3025,24 @@ func (sru *ServiceResourceUpdate) UnmarshalJSON(body []byte) error { } sru.Location = &location } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + sru.Tags = tags + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + sru.Etag = &etag + } } } @@ -3006,30 +3226,30 @@ func (srup *ServiceResourceUpdateProperties) UnmarshalJSON(body []byte) error { return nil } -// ServicesCreateFuture an abstraction for monitoring and retrieving the results of a long-running +// ServicesCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a long-running // operation. -type ServicesCreateFuture struct { +type ServicesCreateOrUpdateFuture struct { azure.Future } // Result returns the result of the asynchronous operation. // If the operation has not completed it will return an error. -func (future *ServicesCreateFuture) Result(client ServicesClient) (sr ServiceResource, err error) { +func (future *ServicesCreateOrUpdateFuture) Result(client ServicesClient) (sr ServiceResource, err error) { var done bool done, err = future.DoneWithContext(context.Background(), client) if err != nil { - err = autorest.NewErrorWithError(err, "servicefabric.ServicesCreateFuture", "Result", future.Response(), "Polling failure") + err = autorest.NewErrorWithError(err, "servicefabric.ServicesCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") return } if !done { - err = azure.NewAsyncOpIncompleteError("servicefabric.ServicesCreateFuture") + err = azure.NewAsyncOpIncompleteError("servicefabric.ServicesCreateOrUpdateFuture") return } sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) if sr.Response.Response, err = future.GetResult(sender); err == nil && sr.Response.Response.StatusCode != http.StatusNoContent { - sr, err = client.CreateResponder(sr.Response.Response) + sr, err = client.CreateOrUpdateResponder(sr.Response.Response) if err != nil { - err = autorest.NewErrorWithError(err, "servicefabric.ServicesCreateFuture", "Result", sr.Response.Response, "Failure responding to request") + err = autorest.NewErrorWithError(err, "servicefabric.ServicesCreateOrUpdateFuture", "Result", sr.Response.Response, "Failure responding to request") } } return @@ -3066,7 +3286,7 @@ type ServicesUpdateFuture struct { // Result returns the result of the asynchronous operation. // If the operation has not completed it will return an error. -func (future *ServicesUpdateFuture) Result(client ServicesClient) (sru ServiceResourceUpdate, err error) { +func (future *ServicesUpdateFuture) Result(client ServicesClient) (sr ServiceResource, err error) { var done bool done, err = future.DoneWithContext(context.Background(), client) if err != nil { @@ -3078,10 +3298,10 @@ func (future *ServicesUpdateFuture) Result(client ServicesClient) (sru ServiceRe return } sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) - if sru.Response.Response, err = future.GetResult(sender); err == nil && sru.Response.Response.StatusCode != http.StatusNoContent { - sru, err = client.UpdateResponder(sru.Response.Response) + if sr.Response.Response, err = future.GetResult(sender); err == nil && sr.Response.Response.StatusCode != http.StatusNoContent { + sr, err = client.UpdateResponder(sr.Response.Response) if err != nil { - err = autorest.NewErrorWithError(err, "servicefabric.ServicesUpdateFuture", "Result", sru.Response.Response, "Failure responding to request") + err = autorest.NewErrorWithError(err, "servicefabric.ServicesUpdateFuture", "Result", sr.Response.Response, "Failure responding to request") } } return @@ -3123,7 +3343,7 @@ type SettingsSectionDescription struct { // non-partitioned service. type SingletonPartitionSchemeDescription struct { // PartitionScheme - Possible values include: 'PartitionSchemePartitionSchemeDescription', 'PartitionSchemeNamed', 'PartitionSchemeSingleton', 'PartitionSchemeUniformInt64Range' - PartitionScheme PartitionSchemeBasicPartitionSchemeDescription `json:"PartitionScheme,omitempty"` + PartitionScheme PartitionSchemeBasicPartitionSchemeDescription `json:"partitionScheme,omitempty"` } // MarshalJSON is the custom marshaler for SingletonPartitionSchemeDescription. @@ -3131,7 +3351,7 @@ func (spsd SingletonPartitionSchemeDescription) MarshalJSON() ([]byte, error) { spsd.PartitionScheme = PartitionSchemeSingleton objectMap := make(map[string]interface{}) if spsd.PartitionScheme != "" { - objectMap["PartitionScheme"] = spsd.PartitionScheme + objectMap["partitionScheme"] = spsd.PartitionScheme } return json.Marshal(objectMap) } @@ -3971,7 +4191,7 @@ type UniformInt64RangePartitionSchemeDescription struct { // should be split between the partition ‘Count’ HighKey *string `json:"HighKey,omitempty"` // PartitionScheme - Possible values include: 'PartitionSchemePartitionSchemeDescription', 'PartitionSchemeNamed', 'PartitionSchemeSingleton', 'PartitionSchemeUniformInt64Range' - PartitionScheme PartitionSchemeBasicPartitionSchemeDescription `json:"PartitionScheme,omitempty"` + PartitionScheme PartitionSchemeBasicPartitionSchemeDescription `json:"partitionScheme,omitempty"` } // MarshalJSON is the custom marshaler for UniformInt64RangePartitionSchemeDescription. @@ -3988,7 +4208,7 @@ func (ui6rpsd UniformInt64RangePartitionSchemeDescription) MarshalJSON() ([]byte objectMap["HighKey"] = ui6rpsd.HighKey } if ui6rpsd.PartitionScheme != "" { - objectMap["PartitionScheme"] = ui6rpsd.PartitionScheme + objectMap["partitionScheme"] = ui6rpsd.PartitionScheme } return json.Marshal(objectMap) } diff --git a/services/servicefabric/mgmt/2019-03-01/servicefabric/operations.go b/services/servicefabric/mgmt/2019-03-01/servicefabric/operations.go index aa4d64183cf9..b73bec1e42c9 100644 --- a/services/servicefabric/mgmt/2019-03-01/servicefabric/operations.go +++ b/services/servicefabric/mgmt/2019-03-01/servicefabric/operations.go @@ -76,7 +76,7 @@ func (client OperationsClient) List(ctx context.Context) (result OperationListRe // ListPreparer prepares the List request. func (client OperationsClient) ListPreparer(ctx context.Context) (*http.Request, error) { - const APIVersion = "" + const APIVersion = "2019-03-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -92,8 +92,8 @@ func (client OperationsClient) ListPreparer(ctx context.Context) (*http.Request, // ListSender sends the List request. The method will close the // http.Response Body if it receives an error. func (client OperationsClient) ListSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // ListResponder handles the response to the List request. The method always diff --git a/services/servicefabric/mgmt/2019-03-01/servicefabric/servicefabricapi/interfaces.go b/services/servicefabric/mgmt/2019-03-01/servicefabric/servicefabricapi/interfaces.go index 2163b5a64f60..c51278701ea2 100644 --- a/services/servicefabric/mgmt/2019-03-01/servicefabric/servicefabricapi/interfaces.go +++ b/services/servicefabric/mgmt/2019-03-01/servicefabric/servicefabricapi/interfaces.go @@ -25,7 +25,7 @@ import ( // ClustersClientAPI contains the set of methods on the ClustersClient type. type ClustersClientAPI interface { - Create(ctx context.Context, resourceGroupName string, clusterName string, parameters servicefabric.Cluster) (result servicefabric.ClustersCreateFuture, err error) + CreateOrUpdate(ctx context.Context, resourceGroupName string, clusterName string, parameters servicefabric.Cluster) (result servicefabric.ClustersCreateOrUpdateFuture, err error) Delete(ctx context.Context, resourceGroupName string, clusterName string) (result autorest.Response, err error) Get(ctx context.Context, resourceGroupName string, clusterName string) (result servicefabric.Cluster, err error) List(ctx context.Context) (result servicefabric.ClusterListResult, err error) @@ -54,7 +54,7 @@ var _ OperationsClientAPI = (*servicefabric.OperationsClient)(nil) // ApplicationTypesClientAPI contains the set of methods on the ApplicationTypesClient type. type ApplicationTypesClientAPI interface { - Create(ctx context.Context, resourceGroupName string, clusterName string, applicationTypeName string, parameters servicefabric.ApplicationTypeResource) (result servicefabric.ApplicationTypeResource, err error) + CreateOrUpdate(ctx context.Context, resourceGroupName string, clusterName string, applicationTypeName string, parameters servicefabric.ApplicationTypeResource) (result servicefabric.ApplicationTypeResource, err error) Delete(ctx context.Context, resourceGroupName string, clusterName string, applicationTypeName string) (result servicefabric.ApplicationTypesDeleteFuture, err error) Get(ctx context.Context, resourceGroupName string, clusterName string, applicationTypeName string) (result servicefabric.ApplicationTypeResource, err error) List(ctx context.Context, resourceGroupName string, clusterName string) (result servicefabric.ApplicationTypeResourceList, err error) @@ -64,7 +64,7 @@ var _ ApplicationTypesClientAPI = (*servicefabric.ApplicationTypesClient)(nil) // ApplicationTypeVersionsClientAPI contains the set of methods on the ApplicationTypeVersionsClient type. type ApplicationTypeVersionsClientAPI interface { - Create(ctx context.Context, resourceGroupName string, clusterName string, applicationTypeName string, version string, parameters servicefabric.ApplicationTypeVersionResource) (result servicefabric.ApplicationTypeVersionsCreateFuture, err error) + CreateOrUpdate(ctx context.Context, resourceGroupName string, clusterName string, applicationTypeName string, version string, parameters servicefabric.ApplicationTypeVersionResource) (result servicefabric.ApplicationTypeVersionsCreateOrUpdateFuture, err error) Delete(ctx context.Context, resourceGroupName string, clusterName string, applicationTypeName string, version string) (result servicefabric.ApplicationTypeVersionsDeleteFuture, err error) Get(ctx context.Context, resourceGroupName string, clusterName string, applicationTypeName string, version string) (result servicefabric.ApplicationTypeVersionResource, err error) List(ctx context.Context, resourceGroupName string, clusterName string, applicationTypeName string) (result servicefabric.ApplicationTypeVersionResourceList, err error) @@ -74,7 +74,7 @@ var _ ApplicationTypeVersionsClientAPI = (*servicefabric.ApplicationTypeVersions // ApplicationsClientAPI contains the set of methods on the ApplicationsClient type. type ApplicationsClientAPI interface { - Create(ctx context.Context, resourceGroupName string, clusterName string, applicationName string, parameters servicefabric.ApplicationResource) (result servicefabric.ApplicationsCreateFuture, err error) + CreateOrUpdate(ctx context.Context, resourceGroupName string, clusterName string, applicationName string, parameters servicefabric.ApplicationResource) (result servicefabric.ApplicationsCreateOrUpdateFuture, err error) Delete(ctx context.Context, resourceGroupName string, clusterName string, applicationName string) (result servicefabric.ApplicationsDeleteFuture, err error) Get(ctx context.Context, resourceGroupName string, clusterName string, applicationName string) (result servicefabric.ApplicationResource, err error) List(ctx context.Context, resourceGroupName string, clusterName string) (result servicefabric.ApplicationResourceList, err error) @@ -85,7 +85,7 @@ var _ ApplicationsClientAPI = (*servicefabric.ApplicationsClient)(nil) // ServicesClientAPI contains the set of methods on the ServicesClient type. type ServicesClientAPI interface { - Create(ctx context.Context, resourceGroupName string, clusterName string, applicationName string, serviceName string, parameters servicefabric.ServiceResource) (result servicefabric.ServicesCreateFuture, err error) + CreateOrUpdate(ctx context.Context, resourceGroupName string, clusterName string, applicationName string, serviceName string, parameters servicefabric.ServiceResource) (result servicefabric.ServicesCreateOrUpdateFuture, err error) Delete(ctx context.Context, resourceGroupName string, clusterName string, applicationName string, serviceName string) (result servicefabric.ServicesDeleteFuture, err error) Get(ctx context.Context, resourceGroupName string, clusterName string, applicationName string, serviceName string) (result servicefabric.ServiceResource, err error) List(ctx context.Context, resourceGroupName string, clusterName string, applicationName string) (result servicefabric.ServiceResourceList, err error) diff --git a/services/servicefabric/mgmt/2019-03-01/servicefabric/services.go b/services/servicefabric/mgmt/2019-03-01/servicefabric/services.go index 10016d12bd83..1ef4a2539bbd 100644 --- a/services/servicefabric/mgmt/2019-03-01/servicefabric/services.go +++ b/services/servicefabric/mgmt/2019-03-01/servicefabric/services.go @@ -40,16 +40,16 @@ func NewServicesClientWithBaseURI(baseURI string, subscriptionID string) Service return ServicesClient{NewWithBaseURI(baseURI, subscriptionID)} } -// Create create or update a Service Fabric service resource with the specified name. +// CreateOrUpdate create or update a Service Fabric service resource with the specified name. // Parameters: // resourceGroupName - the name of the resource group. // clusterName - the name of the cluster resource. // applicationName - the name of the application resource. // serviceName - the name of the service resource in the format of {applicationName}~{serviceName}. // parameters - the service resource. -func (client ServicesClient) Create(ctx context.Context, resourceGroupName string, clusterName string, applicationName string, serviceName string, parameters ServiceResource) (result ServicesCreateFuture, err error) { +func (client ServicesClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, clusterName string, applicationName string, serviceName string, parameters ServiceResource) (result ServicesCreateOrUpdateFuture, err error) { if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/ServicesClient.Create") + ctx = tracing.StartSpan(ctx, fqdn+"/ServicesClient.CreateOrUpdate") defer func() { sc := -1 if result.Response() != nil { @@ -58,23 +58,23 @@ func (client ServicesClient) Create(ctx context.Context, resourceGroupName strin tracing.EndSpan(ctx, sc, err) }() } - req, err := client.CreatePreparer(ctx, resourceGroupName, clusterName, applicationName, serviceName, parameters) + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, clusterName, applicationName, serviceName, parameters) if err != nil { - err = autorest.NewErrorWithError(err, "servicefabric.ServicesClient", "Create", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "servicefabric.ServicesClient", "CreateOrUpdate", nil, "Failure preparing request") return } - result, err = client.CreateSender(req) + result, err = client.CreateOrUpdateSender(req) if err != nil { - err = autorest.NewErrorWithError(err, "servicefabric.ServicesClient", "Create", result.Response(), "Failure sending request") + err = autorest.NewErrorWithError(err, "servicefabric.ServicesClient", "CreateOrUpdate", result.Response(), "Failure sending request") return } return } -// CreatePreparer prepares the Create request. -func (client ServicesClient) CreatePreparer(ctx context.Context, resourceGroupName string, clusterName string, applicationName string, serviceName string, parameters ServiceResource) (*http.Request, error) { +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client ServicesClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, clusterName string, applicationName string, serviceName string, parameters ServiceResource) (*http.Request, error) { pathParameters := map[string]interface{}{ "applicationName": autorest.Encode("path", applicationName), "clusterName": autorest.Encode("path", clusterName), @@ -83,7 +83,7 @@ func (client ServicesClient) CreatePreparer(ctx context.Context, resourceGroupNa "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2019-03-01-preview" + const APIVersion = "2019-03-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -98,12 +98,12 @@ func (client ServicesClient) CreatePreparer(ctx context.Context, resourceGroupNa return preparer.Prepare((&http.Request{}).WithContext(ctx)) } -// CreateSender sends the Create request. The method will close the +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the // http.Response Body if it receives an error. -func (client ServicesClient) CreateSender(req *http.Request) (future ServicesCreateFuture, err error) { +func (client ServicesClient) CreateOrUpdateSender(req *http.Request) (future ServicesCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) var resp *http.Response - resp, err = autorest.SendWithSender(client, req, - azure.DoRetryWithRegistration(client.Client)) + resp, err = autorest.SendWithSender(client, req, sd...) if err != nil { return } @@ -111,9 +111,9 @@ func (client ServicesClient) CreateSender(req *http.Request) (future ServicesCre return } -// CreateResponder handles the response to the Create request. The method always +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always // closes the http.Response Body. -func (client ServicesClient) CreateResponder(resp *http.Response) (result ServiceResource, err error) { +func (client ServicesClient) CreateOrUpdateResponder(resp *http.Response) (result ServiceResource, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -166,7 +166,7 @@ func (client ServicesClient) DeletePreparer(ctx context.Context, resourceGroupNa "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2019-03-01-preview" + const APIVersion = "2019-03-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -182,9 +182,9 @@ func (client ServicesClient) DeletePreparer(ctx context.Context, resourceGroupNa // DeleteSender sends the Delete request. The method will close the // http.Response Body if it receives an error. func (client ServicesClient) DeleteSender(req *http.Request) (future ServicesDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) var resp *http.Response - resp, err = autorest.SendWithSender(client, req, - azure.DoRetryWithRegistration(client.Client)) + resp, err = autorest.SendWithSender(client, req, sd...) if err != nil { return } @@ -253,7 +253,7 @@ func (client ServicesClient) GetPreparer(ctx context.Context, resourceGroupName "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2019-03-01-preview" + const APIVersion = "2019-03-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -269,8 +269,8 @@ func (client ServicesClient) GetPreparer(ctx context.Context, resourceGroupName // GetSender sends the Get request. The method will close the // http.Response Body if it receives an error. func (client ServicesClient) GetSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - azure.DoRetryWithRegistration(client.Client)) + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) } // GetResponder handles the response to the Get request. The method always @@ -333,7 +333,7 @@ func (client ServicesClient) ListPreparer(ctx context.Context, resourceGroupName "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2019-03-01-preview" + const APIVersion = "2019-03-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -349,8 +349,8 @@ func (client ServicesClient) ListPreparer(ctx context.Context, resourceGroupName // ListSender sends the List request. The method will close the // http.Response Body if it receives an error. func (client ServicesClient) ListSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - azure.DoRetryWithRegistration(client.Client)) + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) } // ListResponder handles the response to the List request. The method always @@ -409,7 +409,7 @@ func (client ServicesClient) UpdatePreparer(ctx context.Context, resourceGroupNa "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2019-03-01-preview" + const APIVersion = "2019-03-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -427,9 +427,9 @@ func (client ServicesClient) UpdatePreparer(ctx context.Context, resourceGroupNa // UpdateSender sends the Update request. The method will close the // http.Response Body if it receives an error. func (client ServicesClient) UpdateSender(req *http.Request) (future ServicesUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) var resp *http.Response - resp, err = autorest.SendWithSender(client, req, - azure.DoRetryWithRegistration(client.Client)) + resp, err = autorest.SendWithSender(client, req, sd...) if err != nil { return } @@ -439,7 +439,7 @@ func (client ServicesClient) UpdateSender(req *http.Request) (future ServicesUpd // UpdateResponder handles the response to the Update request. The method always // closes the http.Response Body. -func (client ServicesClient) UpdateResponder(resp *http.Response) (result ServiceResourceUpdate, err error) { +func (client ServicesClient) UpdateResponder(resp *http.Response) (result ServiceResource, err error) { err = autorest.Respond( resp, client.ByInspecting(), From 052ffb55ae857c50f317255c98e69e9db538c569 Mon Sep 17 00:00:00 2001 From: Azure SDK for Python bot Date: Wed, 7 Aug 2019 22:57:19 -0700 Subject: [PATCH 06/12] Generated from e8805bf5ca1ff7c125b84a637eb483af9efd5ff5 (#5459) add readme go --- .../managednetworkapi/models.go | 28 + .../mgmt/managednetwork/models.go | 185 ++ .../managednetwork/client.go | 53 + .../managednetwork/groups.go | 420 +++++ .../managednetworkapi/interfaces.go | 73 + .../managednetwork/managednetworks.go | 624 ++++++ .../managednetwork/models.go | 1668 +++++++++++++++++ .../managednetwork/operations.go | 149 ++ .../managednetwork/peeringpolicies.go | 420 +++++ .../managednetwork/scopeassignments.go | 389 ++++ .../managednetwork/version.go | 30 + 11 files changed, 4039 insertions(+) create mode 100644 profiles/preview/preview/managednetwork/mgmt/managednetwork/managednetworkapi/models.go create mode 100644 profiles/preview/preview/managednetwork/mgmt/managednetwork/models.go create mode 100644 services/preview/managednetwork/mgmt/2019-06-01-preview/managednetwork/client.go create mode 100644 services/preview/managednetwork/mgmt/2019-06-01-preview/managednetwork/groups.go create mode 100644 services/preview/managednetwork/mgmt/2019-06-01-preview/managednetwork/managednetworkapi/interfaces.go create mode 100644 services/preview/managednetwork/mgmt/2019-06-01-preview/managednetwork/managednetworks.go create mode 100644 services/preview/managednetwork/mgmt/2019-06-01-preview/managednetwork/models.go create mode 100644 services/preview/managednetwork/mgmt/2019-06-01-preview/managednetwork/operations.go create mode 100644 services/preview/managednetwork/mgmt/2019-06-01-preview/managednetwork/peeringpolicies.go create mode 100644 services/preview/managednetwork/mgmt/2019-06-01-preview/managednetwork/scopeassignments.go create mode 100644 services/preview/managednetwork/mgmt/2019-06-01-preview/managednetwork/version.go diff --git a/profiles/preview/preview/managednetwork/mgmt/managednetwork/managednetworkapi/models.go b/profiles/preview/preview/managednetwork/mgmt/managednetwork/managednetworkapi/models.go new file mode 100644 index 000000000000..01732589b0cd --- /dev/null +++ b/profiles/preview/preview/managednetwork/mgmt/managednetwork/managednetworkapi/models.go @@ -0,0 +1,28 @@ +// +build go1.9 + +// Copyright 2019 Microsoft Corporation +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// This code was auto-generated by: +// github.com/Azure/azure-sdk-for-go/tools/profileBuilder + +package managednetworkapi + +import original "github.com/Azure/azure-sdk-for-go/services/preview/managednetwork/mgmt/2019-06-01-preview/managednetwork/managednetworkapi" + +type GroupsClientAPI = original.GroupsClientAPI +type ManagedNetworksClientAPI = original.ManagedNetworksClientAPI +type OperationsClientAPI = original.OperationsClientAPI +type PeeringPoliciesClientAPI = original.PeeringPoliciesClientAPI +type ScopeAssignmentsClientAPI = original.ScopeAssignmentsClientAPI diff --git a/profiles/preview/preview/managednetwork/mgmt/managednetwork/models.go b/profiles/preview/preview/managednetwork/mgmt/managednetwork/models.go new file mode 100644 index 000000000000..579ee5b72acb --- /dev/null +++ b/profiles/preview/preview/managednetwork/mgmt/managednetwork/models.go @@ -0,0 +1,185 @@ +// +build go1.9 + +// Copyright 2019 Microsoft Corporation +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// This code was auto-generated by: +// github.com/Azure/azure-sdk-for-go/tools/profileBuilder + +package managednetwork + +import ( + "context" + + original "github.com/Azure/azure-sdk-for-go/services/preview/managednetwork/mgmt/2019-06-01-preview/managednetwork" +) + +const ( + DefaultBaseURI = original.DefaultBaseURI +) + +type Kind = original.Kind + +const ( + Connectivity Kind = original.Connectivity +) + +type PeeringPolicyType = original.PeeringPolicyType + +const ( + PeeringPolicyTypeHubAndSpokeTopology PeeringPolicyType = original.PeeringPolicyTypeHubAndSpokeTopology + PeeringPolicyTypeManagedNetworkPeeringPolicyProperties PeeringPolicyType = original.PeeringPolicyTypeManagedNetworkPeeringPolicyProperties + PeeringPolicyTypeMeshTopology PeeringPolicyType = original.PeeringPolicyTypeMeshTopology +) + +type ProvisioningState = original.ProvisioningState + +const ( + Deleting ProvisioningState = original.Deleting + Failed ProvisioningState = original.Failed + Succeeded ProvisioningState = original.Succeeded + Updating ProvisioningState = original.Updating +) + +type BaseClient = original.BaseClient +type BasicPeeringPolicyProperties = original.BasicPeeringPolicyProperties +type ConnectivityCollection = original.ConnectivityCollection +type ErrorResponse = original.ErrorResponse +type Group = original.Group +type GroupListResult = original.GroupListResult +type GroupListResultIterator = original.GroupListResultIterator +type GroupListResultPage = original.GroupListResultPage +type GroupProperties = original.GroupProperties +type GroupsClient = original.GroupsClient +type GroupsCreateOrUpdateFuture = original.GroupsCreateOrUpdateFuture +type GroupsDeleteFuture = original.GroupsDeleteFuture +type HubAndSpokePeeringPolicyProperties = original.HubAndSpokePeeringPolicyProperties +type ListResult = original.ListResult +type ListResultIterator = original.ListResultIterator +type ListResultPage = original.ListResultPage +type ManagedNetwork = original.ManagedNetwork +type ManagedNetworksClient = original.ManagedNetworksClient +type ManagedNetworksDeleteFutureType = original.ManagedNetworksDeleteFutureType +type ManagedNetworksUpdateFutureType = original.ManagedNetworksUpdateFutureType +type MeshPeeringPolicyProperties = original.MeshPeeringPolicyProperties +type Operation = original.Operation +type OperationDisplay = original.OperationDisplay +type OperationListResult = original.OperationListResult +type OperationListResultIterator = original.OperationListResultIterator +type OperationListResultPage = original.OperationListResultPage +type OperationsClient = original.OperationsClient +type PeeringPoliciesClient = original.PeeringPoliciesClient +type PeeringPoliciesCreateOrUpdateFuture = original.PeeringPoliciesCreateOrUpdateFuture +type PeeringPoliciesDeleteFuture = original.PeeringPoliciesDeleteFuture +type PeeringPolicy = original.PeeringPolicy +type PeeringPolicyListResult = original.PeeringPolicyListResult +type PeeringPolicyListResultIterator = original.PeeringPolicyListResultIterator +type PeeringPolicyListResultPage = original.PeeringPolicyListResultPage +type PeeringPolicyProperties = original.PeeringPolicyProperties +type Properties = original.Properties +type ProxyResource = original.ProxyResource +type Resource = original.Resource +type ResourceID = original.ResourceID +type ResourceProperties = original.ResourceProperties +type Scope = original.Scope +type ScopeAssignment = original.ScopeAssignment +type ScopeAssignmentListResult = original.ScopeAssignmentListResult +type ScopeAssignmentListResultIterator = original.ScopeAssignmentListResultIterator +type ScopeAssignmentListResultPage = original.ScopeAssignmentListResultPage +type ScopeAssignmentProperties = original.ScopeAssignmentProperties +type ScopeAssignmentsClient = original.ScopeAssignmentsClient +type TrackedResource = original.TrackedResource +type Update = original.Update + +func New(subscriptionID string) BaseClient { + return original.New(subscriptionID) +} +func NewGroupListResultIterator(page GroupListResultPage) GroupListResultIterator { + return original.NewGroupListResultIterator(page) +} +func NewGroupListResultPage(getNextPage func(context.Context, GroupListResult) (GroupListResult, error)) GroupListResultPage { + return original.NewGroupListResultPage(getNextPage) +} +func NewGroupsClient(subscriptionID string) GroupsClient { + return original.NewGroupsClient(subscriptionID) +} +func NewGroupsClientWithBaseURI(baseURI string, subscriptionID string) GroupsClient { + return original.NewGroupsClientWithBaseURI(baseURI, subscriptionID) +} +func NewListResultIterator(page ListResultPage) ListResultIterator { + return original.NewListResultIterator(page) +} +func NewListResultPage(getNextPage func(context.Context, ListResult) (ListResult, error)) ListResultPage { + return original.NewListResultPage(getNextPage) +} +func NewManagedNetworksClient(subscriptionID string) ManagedNetworksClient { + return original.NewManagedNetworksClient(subscriptionID) +} +func NewManagedNetworksClientWithBaseURI(baseURI string, subscriptionID string) ManagedNetworksClient { + return original.NewManagedNetworksClientWithBaseURI(baseURI, subscriptionID) +} +func NewOperationListResultIterator(page OperationListResultPage) OperationListResultIterator { + return original.NewOperationListResultIterator(page) +} +func NewOperationListResultPage(getNextPage func(context.Context, OperationListResult) (OperationListResult, error)) OperationListResultPage { + return original.NewOperationListResultPage(getNextPage) +} +func NewOperationsClient(subscriptionID string) OperationsClient { + return original.NewOperationsClient(subscriptionID) +} +func NewOperationsClientWithBaseURI(baseURI string, subscriptionID string) OperationsClient { + return original.NewOperationsClientWithBaseURI(baseURI, subscriptionID) +} +func NewPeeringPoliciesClient(subscriptionID string) PeeringPoliciesClient { + return original.NewPeeringPoliciesClient(subscriptionID) +} +func NewPeeringPoliciesClientWithBaseURI(baseURI string, subscriptionID string) PeeringPoliciesClient { + return original.NewPeeringPoliciesClientWithBaseURI(baseURI, subscriptionID) +} +func NewPeeringPolicyListResultIterator(page PeeringPolicyListResultPage) PeeringPolicyListResultIterator { + return original.NewPeeringPolicyListResultIterator(page) +} +func NewPeeringPolicyListResultPage(getNextPage func(context.Context, PeeringPolicyListResult) (PeeringPolicyListResult, error)) PeeringPolicyListResultPage { + return original.NewPeeringPolicyListResultPage(getNextPage) +} +func NewScopeAssignmentListResultIterator(page ScopeAssignmentListResultPage) ScopeAssignmentListResultIterator { + return original.NewScopeAssignmentListResultIterator(page) +} +func NewScopeAssignmentListResultPage(getNextPage func(context.Context, ScopeAssignmentListResult) (ScopeAssignmentListResult, error)) ScopeAssignmentListResultPage { + return original.NewScopeAssignmentListResultPage(getNextPage) +} +func NewScopeAssignmentsClient(subscriptionID string) ScopeAssignmentsClient { + return original.NewScopeAssignmentsClient(subscriptionID) +} +func NewScopeAssignmentsClientWithBaseURI(baseURI string, subscriptionID string) ScopeAssignmentsClient { + return original.NewScopeAssignmentsClientWithBaseURI(baseURI, subscriptionID) +} +func NewWithBaseURI(baseURI string, subscriptionID string) BaseClient { + return original.NewWithBaseURI(baseURI, subscriptionID) +} +func PossibleKindValues() []Kind { + return original.PossibleKindValues() +} +func PossiblePeeringPolicyTypeValues() []PeeringPolicyType { + return original.PossiblePeeringPolicyTypeValues() +} +func PossibleProvisioningStateValues() []ProvisioningState { + return original.PossibleProvisioningStateValues() +} +func UserAgent() string { + return original.UserAgent() + " profiles/preview" +} +func Version() string { + return original.Version() +} diff --git a/services/preview/managednetwork/mgmt/2019-06-01-preview/managednetwork/client.go b/services/preview/managednetwork/mgmt/2019-06-01-preview/managednetwork/client.go new file mode 100644 index 000000000000..a04580361ca7 --- /dev/null +++ b/services/preview/managednetwork/mgmt/2019-06-01-preview/managednetwork/client.go @@ -0,0 +1,53 @@ +// Package managednetwork implements the Azure ARM Managednetwork service API version 2019-06-01-preview. +// +// The Microsoft Azure Managed Network management API provides a RESTful set of web services that interact with +// Microsoft Azure Networks service to programmatically view, control, change, and monitor your entire Azure network +// centrally and with ease. +package managednetwork + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" +) + +const ( + // DefaultBaseURI is the default URI used for the service Managednetwork + DefaultBaseURI = "https://management.azure.com" +) + +// BaseClient is the base client for Managednetwork. +type BaseClient struct { + autorest.Client + BaseURI string + SubscriptionID string +} + +// New creates an instance of the BaseClient client. +func New(subscriptionID string) BaseClient { + return NewWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewWithBaseURI creates an instance of the BaseClient client. +func NewWithBaseURI(baseURI string, subscriptionID string) BaseClient { + return BaseClient{ + Client: autorest.NewClientWithUserAgent(UserAgent()), + BaseURI: baseURI, + SubscriptionID: subscriptionID, + } +} diff --git a/services/preview/managednetwork/mgmt/2019-06-01-preview/managednetwork/groups.go b/services/preview/managednetwork/mgmt/2019-06-01-preview/managednetwork/groups.go new file mode 100644 index 000000000000..3dc627a19697 --- /dev/null +++ b/services/preview/managednetwork/mgmt/2019-06-01-preview/managednetwork/groups.go @@ -0,0 +1,420 @@ +package managednetwork + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// GroupsClient is the the Microsoft Azure Managed Network management API provides a RESTful set of web services that +// interact with Microsoft Azure Networks service to programmatically view, control, change, and monitor your entire +// Azure network centrally and with ease. +type GroupsClient struct { + BaseClient +} + +// NewGroupsClient creates an instance of the GroupsClient client. +func NewGroupsClient(subscriptionID string) GroupsClient { + return NewGroupsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewGroupsClientWithBaseURI creates an instance of the GroupsClient client. +func NewGroupsClientWithBaseURI(baseURI string, subscriptionID string) GroupsClient { + return GroupsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate the Put ManagedNetworkGroups operation creates or updates a Managed Network Group resource +// Parameters: +// managedNetworkGroup - parameters supplied to the create/update a Managed Network Group resource +// resourceGroupName - the name of the resource group. +// managedNetworkName - the name of the Managed Network. +// managedNetworkGroupName - the name of the Managed Network Group. +func (client GroupsClient) CreateOrUpdate(ctx context.Context, managedNetworkGroup Group, resourceGroupName string, managedNetworkName string, managedNetworkGroupName string) (result GroupsCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/GroupsClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, managedNetworkGroup, resourceGroupName, managedNetworkName, managedNetworkGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "managednetwork.GroupsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "managednetwork.GroupsClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client GroupsClient) CreateOrUpdatePreparer(ctx context.Context, managedNetworkGroup Group, resourceGroupName string, managedNetworkName string, managedNetworkGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "managedNetworkGroupName": autorest.Encode("path", managedNetworkGroupName), + "managedNetworkName": autorest.Encode("path", managedNetworkName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedNetwork/managedNetworks/{managedNetworkName}/managedNetworkGroups/{managedNetworkGroupName}", pathParameters), + autorest.WithJSON(managedNetworkGroup), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client GroupsClient) CreateOrUpdateSender(req *http.Request) (future GroupsCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client GroupsClient) CreateOrUpdateResponder(resp *http.Response) (result Group, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete the Delete ManagedNetworkGroups operation deletes a Managed Network Group specified by the resource group, +// Managed Network name, and group name +// Parameters: +// resourceGroupName - the name of the resource group. +// managedNetworkName - the name of the Managed Network. +// managedNetworkGroupName - the name of the Managed Network Group. +func (client GroupsClient) Delete(ctx context.Context, resourceGroupName string, managedNetworkName string, managedNetworkGroupName string) (result GroupsDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/GroupsClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, managedNetworkName, managedNetworkGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "managednetwork.GroupsClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "managednetwork.GroupsClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client GroupsClient) DeletePreparer(ctx context.Context, resourceGroupName string, managedNetworkName string, managedNetworkGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "managedNetworkGroupName": autorest.Encode("path", managedNetworkGroupName), + "managedNetworkName": autorest.Encode("path", managedNetworkName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedNetwork/managedNetworks/{managedNetworkName}/managedNetworkGroups/{managedNetworkGroupName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client GroupsClient) DeleteSender(req *http.Request) (future GroupsDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client GroupsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get the Get ManagedNetworkGroups operation gets a Managed Network Group specified by the resource group, Managed +// Network name, and group name +// Parameters: +// resourceGroupName - the name of the resource group. +// managedNetworkName - the name of the Managed Network. +// managedNetworkGroupName - the name of the Managed Network Group. +func (client GroupsClient) Get(ctx context.Context, resourceGroupName string, managedNetworkName string, managedNetworkGroupName string) (result Group, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/GroupsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, managedNetworkName, managedNetworkGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "managednetwork.GroupsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "managednetwork.GroupsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "managednetwork.GroupsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client GroupsClient) GetPreparer(ctx context.Context, resourceGroupName string, managedNetworkName string, managedNetworkGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "managedNetworkGroupName": autorest.Encode("path", managedNetworkGroupName), + "managedNetworkName": autorest.Encode("path", managedNetworkName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedNetwork/managedNetworks/{managedNetworkName}/managedNetworkGroups/{managedNetworkGroupName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client GroupsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client GroupsClient) GetResponder(resp *http.Response) (result Group, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByManagedNetwork the ListByManagedNetwork ManagedNetworkGroup operation retrieves all the Managed Network Groups +// in a specified Managed Networks in a paginated format. +// Parameters: +// resourceGroupName - the name of the resource group. +// managedNetworkName - the name of the Managed Network. +// top - may be used to limit the number of results in a page for list queries. +// skiptoken - skiptoken is only used if a previous operation returned a partial result. If a previous response +// contains a nextLink element, the value of the nextLink element will include a skiptoken parameter that +// specifies a starting point to use for subsequent calls. +func (client GroupsClient) ListByManagedNetwork(ctx context.Context, resourceGroupName string, managedNetworkName string, top *int32, skiptoken string) (result GroupListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/GroupsClient.ListByManagedNetwork") + defer func() { + sc := -1 + if result.glr.Response.Response != nil { + sc = result.glr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: top, + Constraints: []validation.Constraint{{Target: "top", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "top", Name: validation.InclusiveMaximum, Rule: int64(20), Chain: nil}, + {Target: "top", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}, + }}}}}); err != nil { + return result, validation.NewError("managednetwork.GroupsClient", "ListByManagedNetwork", err.Error()) + } + + result.fn = client.listByManagedNetworkNextResults + req, err := client.ListByManagedNetworkPreparer(ctx, resourceGroupName, managedNetworkName, top, skiptoken) + if err != nil { + err = autorest.NewErrorWithError(err, "managednetwork.GroupsClient", "ListByManagedNetwork", nil, "Failure preparing request") + return + } + + resp, err := client.ListByManagedNetworkSender(req) + if err != nil { + result.glr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "managednetwork.GroupsClient", "ListByManagedNetwork", resp, "Failure sending request") + return + } + + result.glr, err = client.ListByManagedNetworkResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "managednetwork.GroupsClient", "ListByManagedNetwork", resp, "Failure responding to request") + } + + return +} + +// ListByManagedNetworkPreparer prepares the ListByManagedNetwork request. +func (client GroupsClient) ListByManagedNetworkPreparer(ctx context.Context, resourceGroupName string, managedNetworkName string, top *int32, skiptoken string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "managedNetworkName": autorest.Encode("path", managedNetworkName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if top != nil { + queryParameters["$top"] = autorest.Encode("query", *top) + } + if len(skiptoken) > 0 { + queryParameters["$skiptoken"] = autorest.Encode("query", skiptoken) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedNetwork/managedNetworks/{managedNetworkName}/managedNetworkGroups", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByManagedNetworkSender sends the ListByManagedNetwork request. The method will close the +// http.Response Body if it receives an error. +func (client GroupsClient) ListByManagedNetworkSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByManagedNetworkResponder handles the response to the ListByManagedNetwork request. The method always +// closes the http.Response Body. +func (client GroupsClient) ListByManagedNetworkResponder(resp *http.Response) (result GroupListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listByManagedNetworkNextResults retrieves the next set of results, if any. +func (client GroupsClient) listByManagedNetworkNextResults(ctx context.Context, lastResults GroupListResult) (result GroupListResult, err error) { + req, err := lastResults.groupListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "managednetwork.GroupsClient", "listByManagedNetworkNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListByManagedNetworkSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "managednetwork.GroupsClient", "listByManagedNetworkNextResults", resp, "Failure sending next results request") + } + result, err = client.ListByManagedNetworkResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "managednetwork.GroupsClient", "listByManagedNetworkNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListByManagedNetworkComplete enumerates all values, automatically crossing page boundaries as required. +func (client GroupsClient) ListByManagedNetworkComplete(ctx context.Context, resourceGroupName string, managedNetworkName string, top *int32, skiptoken string) (result GroupListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/GroupsClient.ListByManagedNetwork") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListByManagedNetwork(ctx, resourceGroupName, managedNetworkName, top, skiptoken) + return +} diff --git a/services/preview/managednetwork/mgmt/2019-06-01-preview/managednetwork/managednetworkapi/interfaces.go b/services/preview/managednetwork/mgmt/2019-06-01-preview/managednetwork/managednetworkapi/interfaces.go new file mode 100644 index 000000000000..a2380cd02d4c --- /dev/null +++ b/services/preview/managednetwork/mgmt/2019-06-01-preview/managednetwork/managednetworkapi/interfaces.go @@ -0,0 +1,73 @@ +package managednetworkapi + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/azure-sdk-for-go/services/preview/managednetwork/mgmt/2019-06-01-preview/managednetwork" + "github.com/Azure/go-autorest/autorest" +) + +// ManagedNetworksClientAPI contains the set of methods on the ManagedNetworksClient type. +type ManagedNetworksClientAPI interface { + CreateOrUpdate(ctx context.Context, managedNetwork managednetwork.ManagedNetwork, resourceGroupName string, managedNetworkName string) (result managednetwork.ManagedNetwork, err error) + Delete(ctx context.Context, resourceGroupName string, managedNetworkName string) (result managednetwork.ManagedNetworksDeleteFutureType, err error) + Get(ctx context.Context, resourceGroupName string, managedNetworkName string) (result managednetwork.ManagedNetwork, err error) + ListByResourceGroup(ctx context.Context, resourceGroupName string, top *int32, skiptoken string) (result managednetwork.ListResultPage, err error) + ListBySubscription(ctx context.Context, top *int32, skiptoken string) (result managednetwork.ListResultPage, err error) + Update(ctx context.Context, parameters managednetwork.Update, resourceGroupName string, managedNetworkName string) (result managednetwork.ManagedNetworksUpdateFutureType, err error) +} + +var _ ManagedNetworksClientAPI = (*managednetwork.ManagedNetworksClient)(nil) + +// ScopeAssignmentsClientAPI contains the set of methods on the ScopeAssignmentsClient type. +type ScopeAssignmentsClientAPI interface { + CreateOrUpdate(ctx context.Context, parameters managednetwork.ScopeAssignment, scope string, scopeAssignmentName string) (result managednetwork.ScopeAssignment, err error) + Delete(ctx context.Context, scope string, scopeAssignmentName string) (result autorest.Response, err error) + Get(ctx context.Context, scope string, scopeAssignmentName string) (result managednetwork.ScopeAssignment, err error) + List(ctx context.Context, scope string) (result managednetwork.ScopeAssignmentListResultPage, err error) +} + +var _ ScopeAssignmentsClientAPI = (*managednetwork.ScopeAssignmentsClient)(nil) + +// GroupsClientAPI contains the set of methods on the GroupsClient type. +type GroupsClientAPI interface { + CreateOrUpdate(ctx context.Context, managedNetworkGroup managednetwork.Group, resourceGroupName string, managedNetworkName string, managedNetworkGroupName string) (result managednetwork.GroupsCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, managedNetworkName string, managedNetworkGroupName string) (result managednetwork.GroupsDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, managedNetworkName string, managedNetworkGroupName string) (result managednetwork.Group, err error) + ListByManagedNetwork(ctx context.Context, resourceGroupName string, managedNetworkName string, top *int32, skiptoken string) (result managednetwork.GroupListResultPage, err error) +} + +var _ GroupsClientAPI = (*managednetwork.GroupsClient)(nil) + +// PeeringPoliciesClientAPI contains the set of methods on the PeeringPoliciesClient type. +type PeeringPoliciesClientAPI interface { + CreateOrUpdate(ctx context.Context, managedNetworkPolicy managednetwork.PeeringPolicy, resourceGroupName string, managedNetworkName string, managedNetworkPeeringPolicyName string) (result managednetwork.PeeringPoliciesCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, managedNetworkName string, managedNetworkPeeringPolicyName string) (result managednetwork.PeeringPoliciesDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, managedNetworkName string, managedNetworkPeeringPolicyName string) (result managednetwork.PeeringPolicy, err error) + ListByManagedNetwork(ctx context.Context, resourceGroupName string, managedNetworkName string, top *int32, skiptoken string) (result managednetwork.PeeringPolicyListResultPage, err error) +} + +var _ PeeringPoliciesClientAPI = (*managednetwork.PeeringPoliciesClient)(nil) + +// OperationsClientAPI contains the set of methods on the OperationsClient type. +type OperationsClientAPI interface { + List(ctx context.Context) (result managednetwork.OperationListResultPage, err error) +} + +var _ OperationsClientAPI = (*managednetwork.OperationsClient)(nil) diff --git a/services/preview/managednetwork/mgmt/2019-06-01-preview/managednetwork/managednetworks.go b/services/preview/managednetwork/mgmt/2019-06-01-preview/managednetwork/managednetworks.go new file mode 100644 index 000000000000..c8f386b685fb --- /dev/null +++ b/services/preview/managednetwork/mgmt/2019-06-01-preview/managednetwork/managednetworks.go @@ -0,0 +1,624 @@ +package managednetwork + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// ManagedNetworksClient is the the Microsoft Azure Managed Network management API provides a RESTful set of web +// services that interact with Microsoft Azure Networks service to programmatically view, control, change, and monitor +// your entire Azure network centrally and with ease. +type ManagedNetworksClient struct { + BaseClient +} + +// NewManagedNetworksClient creates an instance of the ManagedNetworksClient client. +func NewManagedNetworksClient(subscriptionID string) ManagedNetworksClient { + return NewManagedNetworksClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewManagedNetworksClientWithBaseURI creates an instance of the ManagedNetworksClient client. +func NewManagedNetworksClientWithBaseURI(baseURI string, subscriptionID string) ManagedNetworksClient { + return ManagedNetworksClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate the Put ManagedNetworks operation creates/updates a Managed Network Resource, specified by resource +// group and Managed Network name +// Parameters: +// managedNetwork - parameters supplied to the create/update a Managed Network Resource +// resourceGroupName - the name of the resource group. +// managedNetworkName - the name of the Managed Network. +func (client ManagedNetworksClient) CreateOrUpdate(ctx context.Context, managedNetwork ManagedNetwork, resourceGroupName string, managedNetworkName string) (result ManagedNetwork, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ManagedNetworksClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, managedNetwork, resourceGroupName, managedNetworkName) + if err != nil { + err = autorest.NewErrorWithError(err, "managednetwork.ManagedNetworksClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "managednetwork.ManagedNetworksClient", "CreateOrUpdate", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "managednetwork.ManagedNetworksClient", "CreateOrUpdate", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client ManagedNetworksClient) CreateOrUpdatePreparer(ctx context.Context, managedNetwork ManagedNetwork, resourceGroupName string, managedNetworkName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "managedNetworkName": autorest.Encode("path", managedNetworkName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedNetwork/managedNetworks/{managedNetworkName}", pathParameters), + autorest.WithJSON(managedNetwork), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client ManagedNetworksClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client ManagedNetworksClient) CreateOrUpdateResponder(resp *http.Response) (result ManagedNetwork, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete the Delete ManagedNetworks operation deletes a Managed Network Resource, specified by the resource group and +// Managed Network name +// Parameters: +// resourceGroupName - the name of the resource group. +// managedNetworkName - the name of the Managed Network. +func (client ManagedNetworksClient) Delete(ctx context.Context, resourceGroupName string, managedNetworkName string) (result ManagedNetworksDeleteFutureType, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ManagedNetworksClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, managedNetworkName) + if err != nil { + err = autorest.NewErrorWithError(err, "managednetwork.ManagedNetworksClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "managednetwork.ManagedNetworksClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client ManagedNetworksClient) DeletePreparer(ctx context.Context, resourceGroupName string, managedNetworkName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "managedNetworkName": autorest.Encode("path", managedNetworkName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedNetwork/managedNetworks/{managedNetworkName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client ManagedNetworksClient) DeleteSender(req *http.Request) (future ManagedNetworksDeleteFutureType, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client ManagedNetworksClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get the Get ManagedNetworks operation gets a Managed Network Resource, specified by the resource group and Managed +// Network name +// Parameters: +// resourceGroupName - the name of the resource group. +// managedNetworkName - the name of the Managed Network. +func (client ManagedNetworksClient) Get(ctx context.Context, resourceGroupName string, managedNetworkName string) (result ManagedNetwork, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ManagedNetworksClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, managedNetworkName) + if err != nil { + err = autorest.NewErrorWithError(err, "managednetwork.ManagedNetworksClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "managednetwork.ManagedNetworksClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "managednetwork.ManagedNetworksClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client ManagedNetworksClient) GetPreparer(ctx context.Context, resourceGroupName string, managedNetworkName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "managedNetworkName": autorest.Encode("path", managedNetworkName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedNetwork/managedNetworks/{managedNetworkName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client ManagedNetworksClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client ManagedNetworksClient) GetResponder(resp *http.Response) (result ManagedNetwork, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByResourceGroup the ListByResourceGroup ManagedNetwork operation retrieves all the Managed Network resources in +// a resource group in a paginated format. +// Parameters: +// resourceGroupName - the name of the resource group. +// top - may be used to limit the number of results in a page for list queries. +// skiptoken - skiptoken is only used if a previous operation returned a partial result. If a previous response +// contains a nextLink element, the value of the nextLink element will include a skiptoken parameter that +// specifies a starting point to use for subsequent calls. +func (client ManagedNetworksClient) ListByResourceGroup(ctx context.Context, resourceGroupName string, top *int32, skiptoken string) (result ListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ManagedNetworksClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.lr.Response.Response != nil { + sc = result.lr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: top, + Constraints: []validation.Constraint{{Target: "top", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "top", Name: validation.InclusiveMaximum, Rule: int64(20), Chain: nil}, + {Target: "top", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}, + }}}}}); err != nil { + return result, validation.NewError("managednetwork.ManagedNetworksClient", "ListByResourceGroup", err.Error()) + } + + result.fn = client.listByResourceGroupNextResults + req, err := client.ListByResourceGroupPreparer(ctx, resourceGroupName, top, skiptoken) + if err != nil { + err = autorest.NewErrorWithError(err, "managednetwork.ManagedNetworksClient", "ListByResourceGroup", nil, "Failure preparing request") + return + } + + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.lr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "managednetwork.ManagedNetworksClient", "ListByResourceGroup", resp, "Failure sending request") + return + } + + result.lr, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "managednetwork.ManagedNetworksClient", "ListByResourceGroup", resp, "Failure responding to request") + } + + return +} + +// ListByResourceGroupPreparer prepares the ListByResourceGroup request. +func (client ManagedNetworksClient) ListByResourceGroupPreparer(ctx context.Context, resourceGroupName string, top *int32, skiptoken string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if top != nil { + queryParameters["$top"] = autorest.Encode("query", *top) + } + if len(skiptoken) > 0 { + queryParameters["$skiptoken"] = autorest.Encode("query", skiptoken) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedNetwork/managedNetworks", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByResourceGroupSender sends the ListByResourceGroup request. The method will close the +// http.Response Body if it receives an error. +func (client ManagedNetworksClient) ListByResourceGroupSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByResourceGroupResponder handles the response to the ListByResourceGroup request. The method always +// closes the http.Response Body. +func (client ManagedNetworksClient) ListByResourceGroupResponder(resp *http.Response) (result ListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listByResourceGroupNextResults retrieves the next set of results, if any. +func (client ManagedNetworksClient) listByResourceGroupNextResults(ctx context.Context, lastResults ListResult) (result ListResult, err error) { + req, err := lastResults.listResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "managednetwork.ManagedNetworksClient", "listByResourceGroupNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "managednetwork.ManagedNetworksClient", "listByResourceGroupNextResults", resp, "Failure sending next results request") + } + result, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "managednetwork.ManagedNetworksClient", "listByResourceGroupNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListByResourceGroupComplete enumerates all values, automatically crossing page boundaries as required. +func (client ManagedNetworksClient) ListByResourceGroupComplete(ctx context.Context, resourceGroupName string, top *int32, skiptoken string) (result ListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ManagedNetworksClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListByResourceGroup(ctx, resourceGroupName, top, skiptoken) + return +} + +// ListBySubscription the ListBySubscription ManagedNetwork operation retrieves all the Managed Network Resources in +// the current subscription in a paginated format. +// Parameters: +// top - may be used to limit the number of results in a page for list queries. +// skiptoken - skiptoken is only used if a previous operation returned a partial result. If a previous response +// contains a nextLink element, the value of the nextLink element will include a skiptoken parameter that +// specifies a starting point to use for subsequent calls. +func (client ManagedNetworksClient) ListBySubscription(ctx context.Context, top *int32, skiptoken string) (result ListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ManagedNetworksClient.ListBySubscription") + defer func() { + sc := -1 + if result.lr.Response.Response != nil { + sc = result.lr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: top, + Constraints: []validation.Constraint{{Target: "top", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "top", Name: validation.InclusiveMaximum, Rule: int64(20), Chain: nil}, + {Target: "top", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}, + }}}}}); err != nil { + return result, validation.NewError("managednetwork.ManagedNetworksClient", "ListBySubscription", err.Error()) + } + + result.fn = client.listBySubscriptionNextResults + req, err := client.ListBySubscriptionPreparer(ctx, top, skiptoken) + if err != nil { + err = autorest.NewErrorWithError(err, "managednetwork.ManagedNetworksClient", "ListBySubscription", nil, "Failure preparing request") + return + } + + resp, err := client.ListBySubscriptionSender(req) + if err != nil { + result.lr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "managednetwork.ManagedNetworksClient", "ListBySubscription", resp, "Failure sending request") + return + } + + result.lr, err = client.ListBySubscriptionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "managednetwork.ManagedNetworksClient", "ListBySubscription", resp, "Failure responding to request") + } + + return +} + +// ListBySubscriptionPreparer prepares the ListBySubscription request. +func (client ManagedNetworksClient) ListBySubscriptionPreparer(ctx context.Context, top *int32, skiptoken string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if top != nil { + queryParameters["$top"] = autorest.Encode("query", *top) + } + if len(skiptoken) > 0 { + queryParameters["$skiptoken"] = autorest.Encode("query", skiptoken) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.ManagedNetwork/managedNetworks", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListBySubscriptionSender sends the ListBySubscription request. The method will close the +// http.Response Body if it receives an error. +func (client ManagedNetworksClient) ListBySubscriptionSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListBySubscriptionResponder handles the response to the ListBySubscription request. The method always +// closes the http.Response Body. +func (client ManagedNetworksClient) ListBySubscriptionResponder(resp *http.Response) (result ListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listBySubscriptionNextResults retrieves the next set of results, if any. +func (client ManagedNetworksClient) listBySubscriptionNextResults(ctx context.Context, lastResults ListResult) (result ListResult, err error) { + req, err := lastResults.listResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "managednetwork.ManagedNetworksClient", "listBySubscriptionNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListBySubscriptionSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "managednetwork.ManagedNetworksClient", "listBySubscriptionNextResults", resp, "Failure sending next results request") + } + result, err = client.ListBySubscriptionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "managednetwork.ManagedNetworksClient", "listBySubscriptionNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListBySubscriptionComplete enumerates all values, automatically crossing page boundaries as required. +func (client ManagedNetworksClient) ListBySubscriptionComplete(ctx context.Context, top *int32, skiptoken string) (result ListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ManagedNetworksClient.ListBySubscription") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListBySubscription(ctx, top, skiptoken) + return +} + +// Update updates the specified Managed Network resource tags. +// Parameters: +// parameters - parameters supplied to update application gateway tags and/or scope. +// resourceGroupName - the name of the resource group. +// managedNetworkName - the name of the Managed Network. +func (client ManagedNetworksClient) Update(ctx context.Context, parameters Update, resourceGroupName string, managedNetworkName string) (result ManagedNetworksUpdateFutureType, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ManagedNetworksClient.Update") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdatePreparer(ctx, parameters, resourceGroupName, managedNetworkName) + if err != nil { + err = autorest.NewErrorWithError(err, "managednetwork.ManagedNetworksClient", "Update", nil, "Failure preparing request") + return + } + + result, err = client.UpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "managednetwork.ManagedNetworksClient", "Update", result.Response(), "Failure sending request") + return + } + + return +} + +// UpdatePreparer prepares the Update request. +func (client ManagedNetworksClient) UpdatePreparer(ctx context.Context, parameters Update, resourceGroupName string, managedNetworkName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "managedNetworkName": autorest.Encode("path", managedNetworkName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedNetwork/managedNetworks/{managedNetworkName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateSender sends the Update request. The method will close the +// http.Response Body if it receives an error. +func (client ManagedNetworksClient) UpdateSender(req *http.Request) (future ManagedNetworksUpdateFutureType, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// UpdateResponder handles the response to the Update request. The method always +// closes the http.Response Body. +func (client ManagedNetworksClient) UpdateResponder(resp *http.Response) (result ManagedNetwork, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/preview/managednetwork/mgmt/2019-06-01-preview/managednetwork/models.go b/services/preview/managednetwork/mgmt/2019-06-01-preview/managednetwork/models.go new file mode 100644 index 000000000000..92c5c90ee3aa --- /dev/null +++ b/services/preview/managednetwork/mgmt/2019-06-01-preview/managednetwork/models.go @@ -0,0 +1,1668 @@ +package managednetwork + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "encoding/json" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/to" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// The package's fully qualified name. +const fqdn = "github.com/Azure/azure-sdk-for-go/services/preview/managednetwork/mgmt/2019-06-01-preview/managednetwork" + +// Kind enumerates the values for kind. +type Kind string + +const ( + // Connectivity ... + Connectivity Kind = "Connectivity" +) + +// PossibleKindValues returns an array of possible values for the Kind const type. +func PossibleKindValues() []Kind { + return []Kind{Connectivity} +} + +// PeeringPolicyType enumerates the values for peering policy type. +type PeeringPolicyType string + +const ( + // PeeringPolicyTypeHubAndSpokeTopology ... + PeeringPolicyTypeHubAndSpokeTopology PeeringPolicyType = "HubAndSpokeTopology" + // PeeringPolicyTypeManagedNetworkPeeringPolicyProperties ... + PeeringPolicyTypeManagedNetworkPeeringPolicyProperties PeeringPolicyType = "ManagedNetworkPeeringPolicyProperties" + // PeeringPolicyTypeMeshTopology ... + PeeringPolicyTypeMeshTopology PeeringPolicyType = "MeshTopology" +) + +// PossiblePeeringPolicyTypeValues returns an array of possible values for the PeeringPolicyType const type. +func PossiblePeeringPolicyTypeValues() []PeeringPolicyType { + return []PeeringPolicyType{PeeringPolicyTypeHubAndSpokeTopology, PeeringPolicyTypeManagedNetworkPeeringPolicyProperties, PeeringPolicyTypeMeshTopology} +} + +// ProvisioningState enumerates the values for provisioning state. +type ProvisioningState string + +const ( + // Deleting ... + Deleting ProvisioningState = "Deleting" + // Failed ... + Failed ProvisioningState = "Failed" + // Succeeded ... + Succeeded ProvisioningState = "Succeeded" + // Updating ... + Updating ProvisioningState = "Updating" +) + +// PossibleProvisioningStateValues returns an array of possible values for the ProvisioningState const type. +func PossibleProvisioningStateValues() []ProvisioningState { + return []ProvisioningState{Deleting, Failed, Succeeded, Updating} +} + +// ConnectivityCollection the collection of Connectivity related groups and policies within the Managed +// Network +type ConnectivityCollection struct { + // Groups - READ-ONLY; The collection of connectivity related Managed Network Groups within the Managed Network + Groups *[]Group `json:"groups,omitempty"` + // Peerings - READ-ONLY; The collection of Managed Network Peering Policies within the Managed Network + Peerings *[]PeeringPolicy `json:"peerings,omitempty"` +} + +// ErrorResponse the error response that indicates why an operation has failed. +type ErrorResponse struct { + // Code - READ-ONLY; The error code. + Code *string `json:"code,omitempty"` + // Message - READ-ONLY; The error message. + Message *string `json:"message,omitempty"` +} + +// Group the Managed Network Group resource +type Group struct { + autorest.Response `json:"-"` + // GroupProperties - Gets or sets the properties of a network group + *GroupProperties `json:"properties,omitempty"` + // Kind - Responsibility role under which this Managed Network Group will be created. Possible values include: 'Connectivity' + Kind Kind `json:"kind,omitempty"` + // ID - READ-ONLY; Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; The name of the resource + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for Group. +func (g Group) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if g.GroupProperties != nil { + objectMap["properties"] = g.GroupProperties + } + if g.Kind != "" { + objectMap["kind"] = g.Kind + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for Group struct. +func (g *Group) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var groupProperties GroupProperties + err = json.Unmarshal(*v, &groupProperties) + if err != nil { + return err + } + g.GroupProperties = &groupProperties + } + case "kind": + if v != nil { + var kind Kind + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + g.Kind = kind + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + g.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + g.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + g.Type = &typeVar + } + } + } + + return nil +} + +// GroupListResult result of the request to list Managed Network Groups. It contains a list of groups and a +// URL link to get the next set of results. +type GroupListResult struct { + autorest.Response `json:"-"` + // Value - Gets a page of ManagedNetworkGroup + Value *[]Group `json:"value,omitempty"` + // NextLink - Gets the URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// GroupListResultIterator provides access to a complete listing of Group values. +type GroupListResultIterator struct { + i int + page GroupListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *GroupListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/GroupListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *GroupListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter GroupListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter GroupListResultIterator) Response() GroupListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter GroupListResultIterator) Value() Group { + if !iter.page.NotDone() { + return Group{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the GroupListResultIterator type. +func NewGroupListResultIterator(page GroupListResultPage) GroupListResultIterator { + return GroupListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (glr GroupListResult) IsEmpty() bool { + return glr.Value == nil || len(*glr.Value) == 0 +} + +// groupListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (glr GroupListResult) groupListResultPreparer(ctx context.Context) (*http.Request, error) { + if glr.NextLink == nil || len(to.String(glr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(glr.NextLink))) +} + +// GroupListResultPage contains a page of Group values. +type GroupListResultPage struct { + fn func(context.Context, GroupListResult) (GroupListResult, error) + glr GroupListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *GroupListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/GroupListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.glr) + if err != nil { + return err + } + page.glr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *GroupListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page GroupListResultPage) NotDone() bool { + return !page.glr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page GroupListResultPage) Response() GroupListResult { + return page.glr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page GroupListResultPage) Values() []Group { + if page.glr.IsEmpty() { + return nil + } + return *page.glr.Value +} + +// Creates a new instance of the GroupListResultPage type. +func NewGroupListResultPage(getNextPage func(context.Context, GroupListResult) (GroupListResult, error)) GroupListResultPage { + return GroupListResultPage{fn: getNextPage} +} + +// GroupProperties properties of a Managed Network Group +type GroupProperties struct { + // ManagementGroups - The collection of management groups covered by the Managed Network + ManagementGroups *[]ResourceID `json:"managementGroups,omitempty"` + // Subscriptions - The collection of subscriptions covered by the Managed Network + Subscriptions *[]ResourceID `json:"subscriptions,omitempty"` + // VirtualNetworks - The collection of virtual nets covered by the Managed Network + VirtualNetworks *[]ResourceID `json:"virtualNetworks,omitempty"` + // Subnets - The collection of subnets covered by the Managed Network + Subnets *[]ResourceID `json:"subnets,omitempty"` + // ProvisioningState - READ-ONLY; Provisioning state of the ManagedNetwork resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. Possible values include: 'Updating', 'Deleting', 'Failed', 'Succeeded' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + // Etag - READ-ONLY; A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` +} + +// GroupsCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type GroupsCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *GroupsCreateOrUpdateFuture) Result(client GroupsClient) (g Group, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "managednetwork.GroupsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("managednetwork.GroupsCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if g.Response.Response, err = future.GetResult(sender); err == nil && g.Response.Response.StatusCode != http.StatusNoContent { + g, err = client.CreateOrUpdateResponder(g.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "managednetwork.GroupsCreateOrUpdateFuture", "Result", g.Response.Response, "Failure responding to request") + } + } + return +} + +// GroupsDeleteFuture an abstraction for monitoring and retrieving the results of a long-running operation. +type GroupsDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *GroupsDeleteFuture) Result(client GroupsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "managednetwork.GroupsDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("managednetwork.GroupsDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// HubAndSpokePeeringPolicyProperties properties of a Hub and Spoke Peering Policy +type HubAndSpokePeeringPolicyProperties struct { + // Hub - Gets or sets the hub virtual network ID + Hub *ResourceID `json:"hub,omitempty"` + // Spokes - Gets or sets the spokes group IDs + Spokes *[]ResourceID `json:"spokes,omitempty"` + // Mesh - Gets or sets the mesh group IDs + Mesh *[]ResourceID `json:"mesh,omitempty"` + // ProvisioningState - READ-ONLY; Provisioning state of the ManagedNetwork resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. Possible values include: 'Updating', 'Deleting', 'Failed', 'Succeeded' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + // Etag - READ-ONLY; A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // PeeringPolicyType - Possible values include: 'PeeringPolicyTypeManagedNetworkPeeringPolicyProperties', 'PeeringPolicyTypeHubAndSpokeTopology', 'PeeringPolicyTypeMeshTopology' + PeeringPolicyType PeeringPolicyType `json:"peeringPolicyType,omitempty"` +} + +// MarshalJSON is the custom marshaler for HubAndSpokePeeringPolicyProperties. +func (hasppp HubAndSpokePeeringPolicyProperties) MarshalJSON() ([]byte, error) { + hasppp.PeeringPolicyType = PeeringPolicyTypeHubAndSpokeTopology + objectMap := make(map[string]interface{}) + if hasppp.Hub != nil { + objectMap["hub"] = hasppp.Hub + } + if hasppp.Spokes != nil { + objectMap["spokes"] = hasppp.Spokes + } + if hasppp.Mesh != nil { + objectMap["mesh"] = hasppp.Mesh + } + if hasppp.PeeringPolicyType != "" { + objectMap["peeringPolicyType"] = hasppp.PeeringPolicyType + } + return json.Marshal(objectMap) +} + +// AsHubAndSpokePeeringPolicyProperties is the BasicPeeringPolicyProperties implementation for HubAndSpokePeeringPolicyProperties. +func (hasppp HubAndSpokePeeringPolicyProperties) AsHubAndSpokePeeringPolicyProperties() (*HubAndSpokePeeringPolicyProperties, bool) { + return &hasppp, true +} + +// AsMeshPeeringPolicyProperties is the BasicPeeringPolicyProperties implementation for HubAndSpokePeeringPolicyProperties. +func (hasppp HubAndSpokePeeringPolicyProperties) AsMeshPeeringPolicyProperties() (*MeshPeeringPolicyProperties, bool) { + return nil, false +} + +// AsPeeringPolicyProperties is the BasicPeeringPolicyProperties implementation for HubAndSpokePeeringPolicyProperties. +func (hasppp HubAndSpokePeeringPolicyProperties) AsPeeringPolicyProperties() (*PeeringPolicyProperties, bool) { + return nil, false +} + +// AsBasicPeeringPolicyProperties is the BasicPeeringPolicyProperties implementation for HubAndSpokePeeringPolicyProperties. +func (hasppp HubAndSpokePeeringPolicyProperties) AsBasicPeeringPolicyProperties() (BasicPeeringPolicyProperties, bool) { + return &hasppp, true +} + +// ListResult result of the request to list Managed Network. It contains a list of Managed Networks and a +// URL link to get the next set of results. +type ListResult struct { + autorest.Response `json:"-"` + // Value - Gets a page of ManagedNetworks + Value *[]ManagedNetwork `json:"value,omitempty"` + // NextLink - Gets the URL to get the next page of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// ListResultIterator provides access to a complete listing of ManagedNetwork values. +type ListResultIterator struct { + i int + page ListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *ListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *ListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter ListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter ListResultIterator) Response() ListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter ListResultIterator) Value() ManagedNetwork { + if !iter.page.NotDone() { + return ManagedNetwork{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the ListResultIterator type. +func NewListResultIterator(page ListResultPage) ListResultIterator { + return ListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (lr ListResult) IsEmpty() bool { + return lr.Value == nil || len(*lr.Value) == 0 +} + +// listResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (lr ListResult) listResultPreparer(ctx context.Context) (*http.Request, error) { + if lr.NextLink == nil || len(to.String(lr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(lr.NextLink))) +} + +// ListResultPage contains a page of ManagedNetwork values. +type ListResultPage struct { + fn func(context.Context, ListResult) (ListResult, error) + lr ListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *ListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.lr) + if err != nil { + return err + } + page.lr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *ListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page ListResultPage) NotDone() bool { + return !page.lr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page ListResultPage) Response() ListResult { + return page.lr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page ListResultPage) Values() []ManagedNetwork { + if page.lr.IsEmpty() { + return nil + } + return *page.lr.Value +} + +// Creates a new instance of the ListResultPage type. +func NewListResultPage(getNextPage func(context.Context, ListResult) (ListResult, error)) ListResultPage { + return ListResultPage{fn: getNextPage} +} + +// ManagedNetwork the Managed Network resource +type ManagedNetwork struct { + autorest.Response `json:"-"` + // Properties - The MNC properties + *Properties `json:"properties,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` + // Location - The geo-location where the resource lives + Location *string `json:"location,omitempty"` + // ID - READ-ONLY; Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; The name of the resource + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for ManagedNetwork. +func (mn ManagedNetwork) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if mn.Properties != nil { + objectMap["properties"] = mn.Properties + } + if mn.Tags != nil { + objectMap["tags"] = mn.Tags + } + if mn.Location != nil { + objectMap["location"] = mn.Location + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ManagedNetwork struct. +func (mn *ManagedNetwork) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var properties Properties + err = json.Unmarshal(*v, &properties) + if err != nil { + return err + } + mn.Properties = &properties + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + mn.Tags = tags + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + mn.Location = &location + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + mn.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + mn.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + mn.Type = &typeVar + } + } + } + + return nil +} + +// ManagedNetworksDeleteFutureType an abstraction for monitoring and retrieving the results of a +// long-running operation. +type ManagedNetworksDeleteFutureType struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ManagedNetworksDeleteFutureType) Result(client ManagedNetworksClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "managednetwork.ManagedNetworksDeleteFutureType", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("managednetwork.ManagedNetworksDeleteFutureType") + return + } + ar.Response = future.Response() + return +} + +// ManagedNetworksUpdateFutureType an abstraction for monitoring and retrieving the results of a +// long-running operation. +type ManagedNetworksUpdateFutureType struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ManagedNetworksUpdateFutureType) Result(client ManagedNetworksClient) (mn ManagedNetwork, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "managednetwork.ManagedNetworksUpdateFutureType", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("managednetwork.ManagedNetworksUpdateFutureType") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if mn.Response.Response, err = future.GetResult(sender); err == nil && mn.Response.Response.StatusCode != http.StatusNoContent { + mn, err = client.UpdateResponder(mn.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "managednetwork.ManagedNetworksUpdateFutureType", "Result", mn.Response.Response, "Failure responding to request") + } + } + return +} + +// MeshPeeringPolicyProperties properties of a Mesh Peering Policy +type MeshPeeringPolicyProperties struct { + // Hub - Gets or sets the hub virtual network ID + Hub *ResourceID `json:"hub,omitempty"` + // Spokes - Gets or sets the spokes group IDs + Spokes *[]ResourceID `json:"spokes,omitempty"` + // Mesh - Gets or sets the mesh group IDs + Mesh *[]ResourceID `json:"mesh,omitempty"` + // PeeringPolicyType - Possible values include: 'PeeringPolicyTypeManagedNetworkPeeringPolicyProperties', 'PeeringPolicyTypeHubAndSpokeTopology', 'PeeringPolicyTypeMeshTopology' + PeeringPolicyType PeeringPolicyType `json:"peeringPolicyType,omitempty"` + // ProvisioningState - READ-ONLY; Provisioning state of the ManagedNetwork resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. Possible values include: 'Updating', 'Deleting', 'Failed', 'Succeeded' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + // Etag - READ-ONLY; A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` +} + +// MarshalJSON is the custom marshaler for MeshPeeringPolicyProperties. +func (mppp MeshPeeringPolicyProperties) MarshalJSON() ([]byte, error) { + mppp.PeeringPolicyType = PeeringPolicyTypeMeshTopology + objectMap := make(map[string]interface{}) + if mppp.Hub != nil { + objectMap["hub"] = mppp.Hub + } + if mppp.Spokes != nil { + objectMap["spokes"] = mppp.Spokes + } + if mppp.Mesh != nil { + objectMap["mesh"] = mppp.Mesh + } + if mppp.PeeringPolicyType != "" { + objectMap["peeringPolicyType"] = mppp.PeeringPolicyType + } + return json.Marshal(objectMap) +} + +// AsHubAndSpokePeeringPolicyProperties is the BasicPeeringPolicyProperties implementation for MeshPeeringPolicyProperties. +func (mppp MeshPeeringPolicyProperties) AsHubAndSpokePeeringPolicyProperties() (*HubAndSpokePeeringPolicyProperties, bool) { + return nil, false +} + +// AsMeshPeeringPolicyProperties is the BasicPeeringPolicyProperties implementation for MeshPeeringPolicyProperties. +func (mppp MeshPeeringPolicyProperties) AsMeshPeeringPolicyProperties() (*MeshPeeringPolicyProperties, bool) { + return &mppp, true +} + +// AsPeeringPolicyProperties is the BasicPeeringPolicyProperties implementation for MeshPeeringPolicyProperties. +func (mppp MeshPeeringPolicyProperties) AsPeeringPolicyProperties() (*PeeringPolicyProperties, bool) { + return nil, false +} + +// AsBasicPeeringPolicyProperties is the BasicPeeringPolicyProperties implementation for MeshPeeringPolicyProperties. +func (mppp MeshPeeringPolicyProperties) AsBasicPeeringPolicyProperties() (BasicPeeringPolicyProperties, bool) { + return &mppp, true +} + +// Operation REST API operation +type Operation struct { + // Name - Operation name: {provider}/{resource}/{operation} + Name *string `json:"name,omitempty"` + // Display - The object that represents the operation. + Display *OperationDisplay `json:"display,omitempty"` +} + +// OperationDisplay the object that represents the operation. +type OperationDisplay struct { + // Provider - Service provider: Microsoft.ManagedNetwork + Provider *string `json:"provider,omitempty"` + // Resource - Resource on which the operation is performed: Profile, endpoint, etc. + Resource *string `json:"resource,omitempty"` + // Operation - Operation type: Read, write, delete, etc. + Operation *string `json:"operation,omitempty"` +} + +// OperationListResult result of the request to list Managed Network operations. It contains a list of +// operations and a URL link to get the next set of results. +type OperationListResult struct { + autorest.Response `json:"-"` + // Value - List of Resource Provider operations supported by the Managed Network resource provider. + Value *[]Operation `json:"value,omitempty"` + // NextLink - URL to get the next set of operation list results if there are any. + NextLink *string `json:"nextLink,omitempty"` +} + +// OperationListResultIterator provides access to a complete listing of Operation values. +type OperationListResultIterator struct { + i int + page OperationListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *OperationListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/OperationListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *OperationListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter OperationListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter OperationListResultIterator) Response() OperationListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter OperationListResultIterator) Value() Operation { + if !iter.page.NotDone() { + return Operation{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the OperationListResultIterator type. +func NewOperationListResultIterator(page OperationListResultPage) OperationListResultIterator { + return OperationListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (olr OperationListResult) IsEmpty() bool { + return olr.Value == nil || len(*olr.Value) == 0 +} + +// operationListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (olr OperationListResult) operationListResultPreparer(ctx context.Context) (*http.Request, error) { + if olr.NextLink == nil || len(to.String(olr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(olr.NextLink))) +} + +// OperationListResultPage contains a page of Operation values. +type OperationListResultPage struct { + fn func(context.Context, OperationListResult) (OperationListResult, error) + olr OperationListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *OperationListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/OperationListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.olr) + if err != nil { + return err + } + page.olr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *OperationListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page OperationListResultPage) NotDone() bool { + return !page.olr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page OperationListResultPage) Response() OperationListResult { + return page.olr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page OperationListResultPage) Values() []Operation { + if page.olr.IsEmpty() { + return nil + } + return *page.olr.Value +} + +// Creates a new instance of the OperationListResultPage type. +func NewOperationListResultPage(getNextPage func(context.Context, OperationListResult) (OperationListResult, error)) OperationListResultPage { + return OperationListResultPage{fn: getNextPage} +} + +// PeeringPoliciesCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type PeeringPoliciesCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *PeeringPoliciesCreateOrUpdateFuture) Result(client PeeringPoliciesClient) (pp PeeringPolicy, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "managednetwork.PeeringPoliciesCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("managednetwork.PeeringPoliciesCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if pp.Response.Response, err = future.GetResult(sender); err == nil && pp.Response.Response.StatusCode != http.StatusNoContent { + pp, err = client.CreateOrUpdateResponder(pp.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "managednetwork.PeeringPoliciesCreateOrUpdateFuture", "Result", pp.Response.Response, "Failure responding to request") + } + } + return +} + +// PeeringPoliciesDeleteFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type PeeringPoliciesDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *PeeringPoliciesDeleteFuture) Result(client PeeringPoliciesClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "managednetwork.PeeringPoliciesDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("managednetwork.PeeringPoliciesDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// PeeringPolicy the Managed Network Peering Policy resource +type PeeringPolicy struct { + autorest.Response `json:"-"` + // Properties - Gets or sets the properties of a Managed Network Policy + Properties BasicPeeringPolicyProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; The name of the resource + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + Type *string `json:"type,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for PeeringPolicy struct. +func (pp *PeeringPolicy) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + properties, err := unmarshalBasicPeeringPolicyProperties(*v) + if err != nil { + return err + } + pp.Properties = properties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + pp.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + pp.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + pp.Type = &typeVar + } + } + } + + return nil +} + +// PeeringPolicyListResult result of the request to list Managed Network Peering Policies. It contains a +// list of policies and a URL link to get the next set of results. +type PeeringPolicyListResult struct { + autorest.Response `json:"-"` + // Value - Gets a page of Peering Policies + Value *[]PeeringPolicy `json:"value,omitempty"` + // NextLink - Gets the URL to get the next page of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// PeeringPolicyListResultIterator provides access to a complete listing of PeeringPolicy values. +type PeeringPolicyListResultIterator struct { + i int + page PeeringPolicyListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *PeeringPolicyListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PeeringPolicyListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *PeeringPolicyListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter PeeringPolicyListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter PeeringPolicyListResultIterator) Response() PeeringPolicyListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter PeeringPolicyListResultIterator) Value() PeeringPolicy { + if !iter.page.NotDone() { + return PeeringPolicy{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the PeeringPolicyListResultIterator type. +func NewPeeringPolicyListResultIterator(page PeeringPolicyListResultPage) PeeringPolicyListResultIterator { + return PeeringPolicyListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (pplr PeeringPolicyListResult) IsEmpty() bool { + return pplr.Value == nil || len(*pplr.Value) == 0 +} + +// peeringPolicyListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (pplr PeeringPolicyListResult) peeringPolicyListResultPreparer(ctx context.Context) (*http.Request, error) { + if pplr.NextLink == nil || len(to.String(pplr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(pplr.NextLink))) +} + +// PeeringPolicyListResultPage contains a page of PeeringPolicy values. +type PeeringPolicyListResultPage struct { + fn func(context.Context, PeeringPolicyListResult) (PeeringPolicyListResult, error) + pplr PeeringPolicyListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *PeeringPolicyListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PeeringPolicyListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.pplr) + if err != nil { + return err + } + page.pplr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *PeeringPolicyListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page PeeringPolicyListResultPage) NotDone() bool { + return !page.pplr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page PeeringPolicyListResultPage) Response() PeeringPolicyListResult { + return page.pplr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page PeeringPolicyListResultPage) Values() []PeeringPolicy { + if page.pplr.IsEmpty() { + return nil + } + return *page.pplr.Value +} + +// Creates a new instance of the PeeringPolicyListResultPage type. +func NewPeeringPolicyListResultPage(getNextPage func(context.Context, PeeringPolicyListResult) (PeeringPolicyListResult, error)) PeeringPolicyListResultPage { + return PeeringPolicyListResultPage{fn: getNextPage} +} + +// BasicPeeringPolicyProperties properties of a Managed Network Peering Policy +type BasicPeeringPolicyProperties interface { + AsHubAndSpokePeeringPolicyProperties() (*HubAndSpokePeeringPolicyProperties, bool) + AsMeshPeeringPolicyProperties() (*MeshPeeringPolicyProperties, bool) + AsPeeringPolicyProperties() (*PeeringPolicyProperties, bool) +} + +// PeeringPolicyProperties properties of a Managed Network Peering Policy +type PeeringPolicyProperties struct { + // Hub - Gets or sets the hub virtual network ID + Hub *ResourceID `json:"hub,omitempty"` + // Spokes - Gets or sets the spokes group IDs + Spokes *[]ResourceID `json:"spokes,omitempty"` + // Mesh - Gets or sets the mesh group IDs + Mesh *[]ResourceID `json:"mesh,omitempty"` + // PeeringPolicyType - Possible values include: 'PeeringPolicyTypeManagedNetworkPeeringPolicyProperties', 'PeeringPolicyTypeHubAndSpokeTopology', 'PeeringPolicyTypeMeshTopology' + PeeringPolicyType PeeringPolicyType `json:"peeringPolicyType,omitempty"` + // ProvisioningState - READ-ONLY; Provisioning state of the ManagedNetwork resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. Possible values include: 'Updating', 'Deleting', 'Failed', 'Succeeded' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + // Etag - READ-ONLY; A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` +} + +func unmarshalBasicPeeringPolicyProperties(body []byte) (BasicPeeringPolicyProperties, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["peeringPolicyType"] { + case string(PeeringPolicyTypeHubAndSpokeTopology): + var hasppp HubAndSpokePeeringPolicyProperties + err := json.Unmarshal(body, &hasppp) + return hasppp, err + case string(PeeringPolicyTypeMeshTopology): + var mppp MeshPeeringPolicyProperties + err := json.Unmarshal(body, &mppp) + return mppp, err + default: + var ppp PeeringPolicyProperties + err := json.Unmarshal(body, &ppp) + return ppp, err + } +} +func unmarshalBasicPeeringPolicyPropertiesArray(body []byte) ([]BasicPeeringPolicyProperties, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + pppArray := make([]BasicPeeringPolicyProperties, len(rawMessages)) + + for index, rawMessage := range rawMessages { + ppp, err := unmarshalBasicPeeringPolicyProperties(*rawMessage) + if err != nil { + return nil, err + } + pppArray[index] = ppp + } + return pppArray, nil +} + +// MarshalJSON is the custom marshaler for PeeringPolicyProperties. +func (ppp PeeringPolicyProperties) MarshalJSON() ([]byte, error) { + ppp.PeeringPolicyType = PeeringPolicyTypeManagedNetworkPeeringPolicyProperties + objectMap := make(map[string]interface{}) + if ppp.Hub != nil { + objectMap["hub"] = ppp.Hub + } + if ppp.Spokes != nil { + objectMap["spokes"] = ppp.Spokes + } + if ppp.Mesh != nil { + objectMap["mesh"] = ppp.Mesh + } + if ppp.PeeringPolicyType != "" { + objectMap["peeringPolicyType"] = ppp.PeeringPolicyType + } + return json.Marshal(objectMap) +} + +// AsHubAndSpokePeeringPolicyProperties is the BasicPeeringPolicyProperties implementation for PeeringPolicyProperties. +func (ppp PeeringPolicyProperties) AsHubAndSpokePeeringPolicyProperties() (*HubAndSpokePeeringPolicyProperties, bool) { + return nil, false +} + +// AsMeshPeeringPolicyProperties is the BasicPeeringPolicyProperties implementation for PeeringPolicyProperties. +func (ppp PeeringPolicyProperties) AsMeshPeeringPolicyProperties() (*MeshPeeringPolicyProperties, bool) { + return nil, false +} + +// AsPeeringPolicyProperties is the BasicPeeringPolicyProperties implementation for PeeringPolicyProperties. +func (ppp PeeringPolicyProperties) AsPeeringPolicyProperties() (*PeeringPolicyProperties, bool) { + return &ppp, true +} + +// AsBasicPeeringPolicyProperties is the BasicPeeringPolicyProperties implementation for PeeringPolicyProperties. +func (ppp PeeringPolicyProperties) AsBasicPeeringPolicyProperties() (BasicPeeringPolicyProperties, bool) { + return &ppp, true +} + +// Properties properties of Managed Network +type Properties struct { + // Scope - READ-ONLY; The collection of management groups, subscriptions, virtual networks, and subnets by the Managed Network. This is a read-only property that is reflective of all ScopeAssignments for this Managed Network + Scope *Scope `json:"scope,omitempty"` + // Connectivity - READ-ONLY; The collection of groups and policies concerned with connectivity + Connectivity *ConnectivityCollection `json:"connectivity,omitempty"` + // ProvisioningState - READ-ONLY; Provisioning state of the ManagedNetwork resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. Possible values include: 'Updating', 'Deleting', 'Failed', 'Succeeded' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + // Etag - READ-ONLY; A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` +} + +// ProxyResource the resource model definition for a ARM proxy resource. It will have everything other than +// required location and tags +type ProxyResource struct { + // ID - READ-ONLY; Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; The name of the resource + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + Type *string `json:"type,omitempty"` +} + +// Resource the general resource model definition +type Resource struct { + // ID - READ-ONLY; Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; The name of the resource + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + Type *string `json:"type,omitempty"` +} + +// ResourceID generic pointer to a resource +type ResourceID struct { + // ID - Resource Id + ID *string `json:"id,omitempty"` +} + +// ResourceProperties base for resource properties. +type ResourceProperties struct { + // ProvisioningState - READ-ONLY; Provisioning state of the ManagedNetwork resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. Possible values include: 'Updating', 'Deleting', 'Failed', 'Succeeded' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + // Etag - READ-ONLY; A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` +} + +// Scope scope of a Managed Network +type Scope struct { + // ManagementGroups - The collection of management groups covered by the Managed Network + ManagementGroups *[]ResourceID `json:"managementGroups,omitempty"` + // Subscriptions - The collection of subscriptions covered by the Managed Network + Subscriptions *[]ResourceID `json:"subscriptions,omitempty"` + // VirtualNetworks - The collection of virtual nets covered by the Managed Network + VirtualNetworks *[]ResourceID `json:"virtualNetworks,omitempty"` + // Subnets - The collection of subnets covered by the Managed Network + Subnets *[]ResourceID `json:"subnets,omitempty"` +} + +// ScopeAssignment the Managed Network resource +type ScopeAssignment struct { + autorest.Response `json:"-"` + // ScopeAssignmentProperties - The Scope Assignment properties + *ScopeAssignmentProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; The name of the resource + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for ScopeAssignment. +func (sa ScopeAssignment) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if sa.ScopeAssignmentProperties != nil { + objectMap["properties"] = sa.ScopeAssignmentProperties + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ScopeAssignment struct. +func (sa *ScopeAssignment) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var scopeAssignmentProperties ScopeAssignmentProperties + err = json.Unmarshal(*v, &scopeAssignmentProperties) + if err != nil { + return err + } + sa.ScopeAssignmentProperties = &scopeAssignmentProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + sa.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + sa.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + sa.Type = &typeVar + } + } + } + + return nil +} + +// ScopeAssignmentListResult result of the request to list ScopeAssignment. It contains a list of groups +// and a URL link to get the next set of results. +type ScopeAssignmentListResult struct { + autorest.Response `json:"-"` + // Value - Gets a page of ScopeAssignment + Value *[]ScopeAssignment `json:"value,omitempty"` + // NextLink - Gets the URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// ScopeAssignmentListResultIterator provides access to a complete listing of ScopeAssignment values. +type ScopeAssignmentListResultIterator struct { + i int + page ScopeAssignmentListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *ScopeAssignmentListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ScopeAssignmentListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *ScopeAssignmentListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter ScopeAssignmentListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter ScopeAssignmentListResultIterator) Response() ScopeAssignmentListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter ScopeAssignmentListResultIterator) Value() ScopeAssignment { + if !iter.page.NotDone() { + return ScopeAssignment{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the ScopeAssignmentListResultIterator type. +func NewScopeAssignmentListResultIterator(page ScopeAssignmentListResultPage) ScopeAssignmentListResultIterator { + return ScopeAssignmentListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (salr ScopeAssignmentListResult) IsEmpty() bool { + return salr.Value == nil || len(*salr.Value) == 0 +} + +// scopeAssignmentListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (salr ScopeAssignmentListResult) scopeAssignmentListResultPreparer(ctx context.Context) (*http.Request, error) { + if salr.NextLink == nil || len(to.String(salr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(salr.NextLink))) +} + +// ScopeAssignmentListResultPage contains a page of ScopeAssignment values. +type ScopeAssignmentListResultPage struct { + fn func(context.Context, ScopeAssignmentListResult) (ScopeAssignmentListResult, error) + salr ScopeAssignmentListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *ScopeAssignmentListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ScopeAssignmentListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.salr) + if err != nil { + return err + } + page.salr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *ScopeAssignmentListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page ScopeAssignmentListResultPage) NotDone() bool { + return !page.salr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page ScopeAssignmentListResultPage) Response() ScopeAssignmentListResult { + return page.salr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page ScopeAssignmentListResultPage) Values() []ScopeAssignment { + if page.salr.IsEmpty() { + return nil + } + return *page.salr.Value +} + +// Creates a new instance of the ScopeAssignmentListResultPage type. +func NewScopeAssignmentListResultPage(getNextPage func(context.Context, ScopeAssignmentListResult) (ScopeAssignmentListResult, error)) ScopeAssignmentListResultPage { + return ScopeAssignmentListResultPage{fn: getNextPage} +} + +// ScopeAssignmentProperties properties of Managed Network +type ScopeAssignmentProperties struct { + // AssignedManagedNetwork - The managed network ID with scope will be assigned to. + AssignedManagedNetwork *string `json:"assignedManagedNetwork,omitempty"` + // ProvisioningState - READ-ONLY; Provisioning state of the ManagedNetwork resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. Possible values include: 'Updating', 'Deleting', 'Failed', 'Succeeded' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + // Etag - READ-ONLY; A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` +} + +// TrackedResource the resource model definition for a ARM tracked top level resource +type TrackedResource struct { + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` + // Location - The geo-location where the resource lives + Location *string `json:"location,omitempty"` + // ID - READ-ONLY; Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; The name of the resource + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for TrackedResource. +func (tr TrackedResource) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if tr.Tags != nil { + objectMap["tags"] = tr.Tags + } + if tr.Location != nil { + objectMap["location"] = tr.Location + } + return json.Marshal(objectMap) +} + +// Update update Tags of Managed Network +type Update struct { + // Tags - Updates the tags property of the Managed Network + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for Update. +func (u Update) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if u.Tags != nil { + objectMap["tags"] = u.Tags + } + return json.Marshal(objectMap) +} diff --git a/services/preview/managednetwork/mgmt/2019-06-01-preview/managednetwork/operations.go b/services/preview/managednetwork/mgmt/2019-06-01-preview/managednetwork/operations.go new file mode 100644 index 000000000000..4d5a22fb4962 --- /dev/null +++ b/services/preview/managednetwork/mgmt/2019-06-01-preview/managednetwork/operations.go @@ -0,0 +1,149 @@ +package managednetwork + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// OperationsClient is the the Microsoft Azure Managed Network management API provides a RESTful set of web services +// that interact with Microsoft Azure Networks service to programmatically view, control, change, and monitor your +// entire Azure network centrally and with ease. +type OperationsClient struct { + BaseClient +} + +// NewOperationsClient creates an instance of the OperationsClient client. +func NewOperationsClient(subscriptionID string) OperationsClient { + return NewOperationsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewOperationsClientWithBaseURI creates an instance of the OperationsClient client. +func NewOperationsClientWithBaseURI(baseURI string, subscriptionID string) OperationsClient { + return OperationsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// List lists all of the available MNC operations. +func (client OperationsClient) List(ctx context.Context) (result OperationListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/OperationsClient.List") + defer func() { + sc := -1 + if result.olr.Response.Response != nil { + sc = result.olr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "managednetwork.OperationsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.olr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "managednetwork.OperationsClient", "List", resp, "Failure sending request") + return + } + + result.olr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "managednetwork.OperationsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client OperationsClient) ListPreparer(ctx context.Context) (*http.Request, error) { + const APIVersion = "2019-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPath("/providers/Microsoft.ManagedNetwork/operations"), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client OperationsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client OperationsClient) ListResponder(resp *http.Response) (result OperationListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client OperationsClient) listNextResults(ctx context.Context, lastResults OperationListResult) (result OperationListResult, err error) { + req, err := lastResults.operationListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "managednetwork.OperationsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "managednetwork.OperationsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "managednetwork.OperationsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client OperationsClient) ListComplete(ctx context.Context) (result OperationListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/OperationsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx) + return +} diff --git a/services/preview/managednetwork/mgmt/2019-06-01-preview/managednetwork/peeringpolicies.go b/services/preview/managednetwork/mgmt/2019-06-01-preview/managednetwork/peeringpolicies.go new file mode 100644 index 000000000000..a4281b3da967 --- /dev/null +++ b/services/preview/managednetwork/mgmt/2019-06-01-preview/managednetwork/peeringpolicies.go @@ -0,0 +1,420 @@ +package managednetwork + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// PeeringPoliciesClient is the the Microsoft Azure Managed Network management API provides a RESTful set of web +// services that interact with Microsoft Azure Networks service to programmatically view, control, change, and monitor +// your entire Azure network centrally and with ease. +type PeeringPoliciesClient struct { + BaseClient +} + +// NewPeeringPoliciesClient creates an instance of the PeeringPoliciesClient client. +func NewPeeringPoliciesClient(subscriptionID string) PeeringPoliciesClient { + return NewPeeringPoliciesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewPeeringPoliciesClientWithBaseURI creates an instance of the PeeringPoliciesClient client. +func NewPeeringPoliciesClientWithBaseURI(baseURI string, subscriptionID string) PeeringPoliciesClient { + return PeeringPoliciesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate the Put ManagedNetworkPeeringPolicies operation creates/updates a new Managed Network Peering Policy +// Parameters: +// managedNetworkPolicy - parameters supplied to create/update a Managed Network Peering Policy +// resourceGroupName - the name of the resource group. +// managedNetworkName - the name of the Managed Network. +// managedNetworkPeeringPolicyName - the name of the Managed Network Peering Policy. +func (client PeeringPoliciesClient) CreateOrUpdate(ctx context.Context, managedNetworkPolicy PeeringPolicy, resourceGroupName string, managedNetworkName string, managedNetworkPeeringPolicyName string) (result PeeringPoliciesCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PeeringPoliciesClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, managedNetworkPolicy, resourceGroupName, managedNetworkName, managedNetworkPeeringPolicyName) + if err != nil { + err = autorest.NewErrorWithError(err, "managednetwork.PeeringPoliciesClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "managednetwork.PeeringPoliciesClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client PeeringPoliciesClient) CreateOrUpdatePreparer(ctx context.Context, managedNetworkPolicy PeeringPolicy, resourceGroupName string, managedNetworkName string, managedNetworkPeeringPolicyName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "managedNetworkName": autorest.Encode("path", managedNetworkName), + "managedNetworkPeeringPolicyName": autorest.Encode("path", managedNetworkPeeringPolicyName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedNetwork/managedNetworks/{managedNetworkName}/managedNetworkPeeringPolicies/{managedNetworkPeeringPolicyName}", pathParameters), + autorest.WithJSON(managedNetworkPolicy), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client PeeringPoliciesClient) CreateOrUpdateSender(req *http.Request) (future PeeringPoliciesCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client PeeringPoliciesClient) CreateOrUpdateResponder(resp *http.Response) (result PeeringPolicy, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete the Delete ManagedNetworkPeeringPolicies operation deletes a Managed Network Peering Policy, specified by the +// resource group, Managed Network name, and peering policy name +// Parameters: +// resourceGroupName - the name of the resource group. +// managedNetworkName - the name of the Managed Network. +// managedNetworkPeeringPolicyName - the name of the Managed Network Peering Policy. +func (client PeeringPoliciesClient) Delete(ctx context.Context, resourceGroupName string, managedNetworkName string, managedNetworkPeeringPolicyName string) (result PeeringPoliciesDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PeeringPoliciesClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, managedNetworkName, managedNetworkPeeringPolicyName) + if err != nil { + err = autorest.NewErrorWithError(err, "managednetwork.PeeringPoliciesClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "managednetwork.PeeringPoliciesClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client PeeringPoliciesClient) DeletePreparer(ctx context.Context, resourceGroupName string, managedNetworkName string, managedNetworkPeeringPolicyName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "managedNetworkName": autorest.Encode("path", managedNetworkName), + "managedNetworkPeeringPolicyName": autorest.Encode("path", managedNetworkPeeringPolicyName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedNetwork/managedNetworks/{managedNetworkName}/managedNetworkPeeringPolicies/{managedNetworkPeeringPolicyName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client PeeringPoliciesClient) DeleteSender(req *http.Request) (future PeeringPoliciesDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client PeeringPoliciesClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get the Get ManagedNetworkPeeringPolicies operation gets a Managed Network Peering Policy resource, specified by the +// resource group, Managed Network name, and peering policy name +// Parameters: +// resourceGroupName - the name of the resource group. +// managedNetworkName - the name of the Managed Network. +// managedNetworkPeeringPolicyName - the name of the Managed Network Peering Policy. +func (client PeeringPoliciesClient) Get(ctx context.Context, resourceGroupName string, managedNetworkName string, managedNetworkPeeringPolicyName string) (result PeeringPolicy, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PeeringPoliciesClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, managedNetworkName, managedNetworkPeeringPolicyName) + if err != nil { + err = autorest.NewErrorWithError(err, "managednetwork.PeeringPoliciesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "managednetwork.PeeringPoliciesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "managednetwork.PeeringPoliciesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client PeeringPoliciesClient) GetPreparer(ctx context.Context, resourceGroupName string, managedNetworkName string, managedNetworkPeeringPolicyName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "managedNetworkName": autorest.Encode("path", managedNetworkName), + "managedNetworkPeeringPolicyName": autorest.Encode("path", managedNetworkPeeringPolicyName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedNetwork/managedNetworks/{managedNetworkName}/managedNetworkPeeringPolicies/{managedNetworkPeeringPolicyName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client PeeringPoliciesClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client PeeringPoliciesClient) GetResponder(resp *http.Response) (result PeeringPolicy, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByManagedNetwork the ListByManagedNetwork PeeringPolicies operation retrieves all the Managed Network Peering +// Policies in a specified Managed Network, in a paginated format. +// Parameters: +// resourceGroupName - the name of the resource group. +// managedNetworkName - the name of the Managed Network. +// top - may be used to limit the number of results in a page for list queries. +// skiptoken - skiptoken is only used if a previous operation returned a partial result. If a previous response +// contains a nextLink element, the value of the nextLink element will include a skiptoken parameter that +// specifies a starting point to use for subsequent calls. +func (client PeeringPoliciesClient) ListByManagedNetwork(ctx context.Context, resourceGroupName string, managedNetworkName string, top *int32, skiptoken string) (result PeeringPolicyListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PeeringPoliciesClient.ListByManagedNetwork") + defer func() { + sc := -1 + if result.pplr.Response.Response != nil { + sc = result.pplr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: top, + Constraints: []validation.Constraint{{Target: "top", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "top", Name: validation.InclusiveMaximum, Rule: int64(20), Chain: nil}, + {Target: "top", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}, + }}}}}); err != nil { + return result, validation.NewError("managednetwork.PeeringPoliciesClient", "ListByManagedNetwork", err.Error()) + } + + result.fn = client.listByManagedNetworkNextResults + req, err := client.ListByManagedNetworkPreparer(ctx, resourceGroupName, managedNetworkName, top, skiptoken) + if err != nil { + err = autorest.NewErrorWithError(err, "managednetwork.PeeringPoliciesClient", "ListByManagedNetwork", nil, "Failure preparing request") + return + } + + resp, err := client.ListByManagedNetworkSender(req) + if err != nil { + result.pplr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "managednetwork.PeeringPoliciesClient", "ListByManagedNetwork", resp, "Failure sending request") + return + } + + result.pplr, err = client.ListByManagedNetworkResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "managednetwork.PeeringPoliciesClient", "ListByManagedNetwork", resp, "Failure responding to request") + } + + return +} + +// ListByManagedNetworkPreparer prepares the ListByManagedNetwork request. +func (client PeeringPoliciesClient) ListByManagedNetworkPreparer(ctx context.Context, resourceGroupName string, managedNetworkName string, top *int32, skiptoken string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "managedNetworkName": autorest.Encode("path", managedNetworkName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if top != nil { + queryParameters["$top"] = autorest.Encode("query", *top) + } + if len(skiptoken) > 0 { + queryParameters["$skiptoken"] = autorest.Encode("query", skiptoken) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedNetwork/managedNetworks/{managedNetworkName}/managedNetworkPeeringPolicies", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByManagedNetworkSender sends the ListByManagedNetwork request. The method will close the +// http.Response Body if it receives an error. +func (client PeeringPoliciesClient) ListByManagedNetworkSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByManagedNetworkResponder handles the response to the ListByManagedNetwork request. The method always +// closes the http.Response Body. +func (client PeeringPoliciesClient) ListByManagedNetworkResponder(resp *http.Response) (result PeeringPolicyListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listByManagedNetworkNextResults retrieves the next set of results, if any. +func (client PeeringPoliciesClient) listByManagedNetworkNextResults(ctx context.Context, lastResults PeeringPolicyListResult) (result PeeringPolicyListResult, err error) { + req, err := lastResults.peeringPolicyListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "managednetwork.PeeringPoliciesClient", "listByManagedNetworkNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListByManagedNetworkSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "managednetwork.PeeringPoliciesClient", "listByManagedNetworkNextResults", resp, "Failure sending next results request") + } + result, err = client.ListByManagedNetworkResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "managednetwork.PeeringPoliciesClient", "listByManagedNetworkNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListByManagedNetworkComplete enumerates all values, automatically crossing page boundaries as required. +func (client PeeringPoliciesClient) ListByManagedNetworkComplete(ctx context.Context, resourceGroupName string, managedNetworkName string, top *int32, skiptoken string) (result PeeringPolicyListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PeeringPoliciesClient.ListByManagedNetwork") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListByManagedNetwork(ctx, resourceGroupName, managedNetworkName, top, skiptoken) + return +} diff --git a/services/preview/managednetwork/mgmt/2019-06-01-preview/managednetwork/scopeassignments.go b/services/preview/managednetwork/mgmt/2019-06-01-preview/managednetwork/scopeassignments.go new file mode 100644 index 000000000000..0c4741c9de5b --- /dev/null +++ b/services/preview/managednetwork/mgmt/2019-06-01-preview/managednetwork/scopeassignments.go @@ -0,0 +1,389 @@ +package managednetwork + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// ScopeAssignmentsClient is the the Microsoft Azure Managed Network management API provides a RESTful set of web +// services that interact with Microsoft Azure Networks service to programmatically view, control, change, and monitor +// your entire Azure network centrally and with ease. +type ScopeAssignmentsClient struct { + BaseClient +} + +// NewScopeAssignmentsClient creates an instance of the ScopeAssignmentsClient client. +func NewScopeAssignmentsClient(subscriptionID string) ScopeAssignmentsClient { + return NewScopeAssignmentsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewScopeAssignmentsClientWithBaseURI creates an instance of the ScopeAssignmentsClient client. +func NewScopeAssignmentsClientWithBaseURI(baseURI string, subscriptionID string) ScopeAssignmentsClient { + return ScopeAssignmentsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates a scope assignment. +// Parameters: +// parameters - parameters supplied to the specify which Managed Network this scope is being assigned +// scope - the base resource of the scope assignment to create. The scope can be any REST resource instance. +// For example, use '/subscriptions/{subscription-id}/' for a subscription, +// '/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' for a resource group, and +// '/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' +// for a resource. +// scopeAssignmentName - the name of the scope assignment to create. +func (client ScopeAssignmentsClient) CreateOrUpdate(ctx context.Context, parameters ScopeAssignment, scope string, scopeAssignmentName string) (result ScopeAssignment, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ScopeAssignmentsClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, parameters, scope, scopeAssignmentName) + if err != nil { + err = autorest.NewErrorWithError(err, "managednetwork.ScopeAssignmentsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "managednetwork.ScopeAssignmentsClient", "CreateOrUpdate", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "managednetwork.ScopeAssignmentsClient", "CreateOrUpdate", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client ScopeAssignmentsClient) CreateOrUpdatePreparer(ctx context.Context, parameters ScopeAssignment, scope string, scopeAssignmentName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "scope": scope, + "scopeAssignmentName": autorest.Encode("path", scopeAssignmentName), + } + + const APIVersion = "2019-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/{scope}/providers/Microsoft.ManagedNetwork/scopeAssignments/{scopeAssignmentName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client ScopeAssignmentsClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client ScopeAssignmentsClient) CreateOrUpdateResponder(resp *http.Response) (result ScopeAssignment, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes a scope assignment. +// Parameters: +// scope - the scope of the scope assignment to delete. +// scopeAssignmentName - the name of the scope assignment to delete. +func (client ScopeAssignmentsClient) Delete(ctx context.Context, scope string, scopeAssignmentName string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ScopeAssignmentsClient.Delete") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, scope, scopeAssignmentName) + if err != nil { + err = autorest.NewErrorWithError(err, "managednetwork.ScopeAssignmentsClient", "Delete", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "managednetwork.ScopeAssignmentsClient", "Delete", resp, "Failure sending request") + return + } + + result, err = client.DeleteResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "managednetwork.ScopeAssignmentsClient", "Delete", resp, "Failure responding to request") + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client ScopeAssignmentsClient) DeletePreparer(ctx context.Context, scope string, scopeAssignmentName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "scope": scope, + "scopeAssignmentName": autorest.Encode("path", scopeAssignmentName), + } + + const APIVersion = "2019-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/{scope}/providers/Microsoft.ManagedNetwork/scopeAssignments/{scopeAssignmentName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client ScopeAssignmentsClient) DeleteSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client ScopeAssignmentsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get get the specified scope assignment. +// Parameters: +// scope - the base resource of the scope assignment. +// scopeAssignmentName - the name of the scope assignment to get. +func (client ScopeAssignmentsClient) Get(ctx context.Context, scope string, scopeAssignmentName string) (result ScopeAssignment, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ScopeAssignmentsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, scope, scopeAssignmentName) + if err != nil { + err = autorest.NewErrorWithError(err, "managednetwork.ScopeAssignmentsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "managednetwork.ScopeAssignmentsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "managednetwork.ScopeAssignmentsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client ScopeAssignmentsClient) GetPreparer(ctx context.Context, scope string, scopeAssignmentName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "scope": scope, + "scopeAssignmentName": autorest.Encode("path", scopeAssignmentName), + } + + const APIVersion = "2019-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/{scope}/providers/Microsoft.ManagedNetwork/scopeAssignments/{scopeAssignmentName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client ScopeAssignmentsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client ScopeAssignmentsClient) GetResponder(resp *http.Response) (result ScopeAssignment, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List get the specified scope assignment. +// Parameters: +// scope - the base resource of the scope assignment. +func (client ScopeAssignmentsClient) List(ctx context.Context, scope string) (result ScopeAssignmentListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ScopeAssignmentsClient.List") + defer func() { + sc := -1 + if result.salr.Response.Response != nil { + sc = result.salr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, scope) + if err != nil { + err = autorest.NewErrorWithError(err, "managednetwork.ScopeAssignmentsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.salr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "managednetwork.ScopeAssignmentsClient", "List", resp, "Failure sending request") + return + } + + result.salr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "managednetwork.ScopeAssignmentsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client ScopeAssignmentsClient) ListPreparer(ctx context.Context, scope string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "scope": scope, + } + + const APIVersion = "2019-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/{scope}/providers/Microsoft.ManagedNetwork/scopeAssignments", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client ScopeAssignmentsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client ScopeAssignmentsClient) ListResponder(resp *http.Response) (result ScopeAssignmentListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client ScopeAssignmentsClient) listNextResults(ctx context.Context, lastResults ScopeAssignmentListResult) (result ScopeAssignmentListResult, err error) { + req, err := lastResults.scopeAssignmentListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "managednetwork.ScopeAssignmentsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "managednetwork.ScopeAssignmentsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "managednetwork.ScopeAssignmentsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client ScopeAssignmentsClient) ListComplete(ctx context.Context, scope string) (result ScopeAssignmentListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ScopeAssignmentsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, scope) + return +} diff --git a/services/preview/managednetwork/mgmt/2019-06-01-preview/managednetwork/version.go b/services/preview/managednetwork/mgmt/2019-06-01-preview/managednetwork/version.go new file mode 100644 index 000000000000..4924dee61437 --- /dev/null +++ b/services/preview/managednetwork/mgmt/2019-06-01-preview/managednetwork/version.go @@ -0,0 +1,30 @@ +package managednetwork + +import "github.com/Azure/azure-sdk-for-go/version" + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +// UserAgent returns the UserAgent string to use when sending http.Requests. +func UserAgent() string { + return "Azure-SDK-For-Go/" + version.Number + " managednetwork/2019-06-01-preview" +} + +// Version returns the semantic version (see http://semver.org) of the client. +func Version() string { + return version.Number +} From d366f0964fb129eeb9e66be2fcaf11f42d416b55 Mon Sep 17 00:00:00 2001 From: Azure SDK for Python bot Date: Wed, 7 Aug 2019 23:16:05 -0700 Subject: [PATCH 07/12] Generated from 27e7dd3c7e4a6b855c902cfaf35380e273760cde (#5462) Update readme.md files missed from previous commit --- .../mgmt/frontdoor/frontdoorapi/models.go | 2 +- .../frontdoor/mgmt/frontdoor/models.go | 41 +- .../mgmt/2019-05-01/frontdoor/backendpools.go | 457 ++ .../mgmt/2019-05-01/frontdoor/client.go | 216 + .../mgmt/2019-05-01/frontdoor/endpoints.go | 137 + .../frontdoor/frontdoorapi/interfaces.go | 119 + .../mgmt/2019-05-01/frontdoor/frontdoors.go | 637 +++ .../2019-05-01/frontdoor/frontendendpoints.go | 655 +++ .../frontdoor/healthprobesettings.go | 457 ++ .../frontdoor/loadbalancingsettings.go | 457 ++ .../2019-05-01/frontdoor/managedrulesets.go | 151 + .../mgmt/2019-05-01/frontdoor/models.go | 3889 +++++++++++++++++ .../mgmt/2019-05-01/frontdoor/policies.go | 433 ++ .../mgmt/2019-05-01/frontdoor/routingrules.go | 457 ++ .../mgmt/2019-05-01/frontdoor/version.go | 30 + 15 files changed, 8127 insertions(+), 11 deletions(-) create mode 100644 services/preview/frontdoor/mgmt/2019-05-01/frontdoor/backendpools.go create mode 100644 services/preview/frontdoor/mgmt/2019-05-01/frontdoor/client.go create mode 100644 services/preview/frontdoor/mgmt/2019-05-01/frontdoor/endpoints.go create mode 100644 services/preview/frontdoor/mgmt/2019-05-01/frontdoor/frontdoorapi/interfaces.go create mode 100644 services/preview/frontdoor/mgmt/2019-05-01/frontdoor/frontdoors.go create mode 100644 services/preview/frontdoor/mgmt/2019-05-01/frontdoor/frontendendpoints.go create mode 100644 services/preview/frontdoor/mgmt/2019-05-01/frontdoor/healthprobesettings.go create mode 100644 services/preview/frontdoor/mgmt/2019-05-01/frontdoor/loadbalancingsettings.go create mode 100644 services/preview/frontdoor/mgmt/2019-05-01/frontdoor/managedrulesets.go create mode 100644 services/preview/frontdoor/mgmt/2019-05-01/frontdoor/models.go create mode 100644 services/preview/frontdoor/mgmt/2019-05-01/frontdoor/policies.go create mode 100644 services/preview/frontdoor/mgmt/2019-05-01/frontdoor/routingrules.go create mode 100644 services/preview/frontdoor/mgmt/2019-05-01/frontdoor/version.go diff --git a/profiles/preview/preview/frontdoor/mgmt/frontdoor/frontdoorapi/models.go b/profiles/preview/preview/frontdoor/mgmt/frontdoor/frontdoorapi/models.go index 472442f7e262..b2d40a2d8b82 100644 --- a/profiles/preview/preview/frontdoor/mgmt/frontdoor/frontdoorapi/models.go +++ b/profiles/preview/preview/frontdoor/mgmt/frontdoor/frontdoorapi/models.go @@ -19,7 +19,7 @@ package frontdoorapi -import original "github.com/Azure/azure-sdk-for-go/services/preview/frontdoor/mgmt/2019-04-01/frontdoor/frontdoorapi" +import original "github.com/Azure/azure-sdk-for-go/services/preview/frontdoor/mgmt/2019-05-01/frontdoor/frontdoorapi" type BackendPoolsClientAPI = original.BackendPoolsClientAPI type BaseClientAPI = original.BaseClientAPI diff --git a/profiles/preview/preview/frontdoor/mgmt/frontdoor/models.go b/profiles/preview/preview/frontdoor/mgmt/frontdoor/models.go index 81b0bf1af97b..6a94f1f4fbea 100644 --- a/profiles/preview/preview/frontdoor/mgmt/frontdoor/models.go +++ b/profiles/preview/preview/frontdoor/mgmt/frontdoor/models.go @@ -22,7 +22,7 @@ package frontdoor import ( "context" - original "github.com/Azure/azure-sdk-for-go/services/preview/frontdoor/mgmt/2019-04-01/frontdoor" + original "github.com/Azure/azure-sdk-for-go/services/preview/frontdoor/mgmt/2019-05-01/frontdoor" ) const ( @@ -126,6 +126,20 @@ const ( MatchRequest ForwardingProtocol = original.MatchRequest ) +type HealthProbeEnabled = original.HealthProbeEnabled + +const ( + HealthProbeEnabledDisabled HealthProbeEnabled = original.HealthProbeEnabledDisabled + HealthProbeEnabledEnabled HealthProbeEnabled = original.HealthProbeEnabledEnabled +) + +type HealthProbeMethod = original.HealthProbeMethod + +const ( + GET HealthProbeMethod = original.GET + HEAD HealthProbeMethod = original.HEAD +) + type ManagedRuleEnabledState = original.ManagedRuleEnabledState const ( @@ -146,6 +160,13 @@ const ( RequestURI MatchVariable = original.RequestURI ) +type MinimumTLSVersion = original.MinimumTLSVersion + +const ( + OneFullStopTwo MinimumTLSVersion = original.OneFullStopTwo + OneFullStopZero MinimumTLSVersion = original.OneFullStopZero +) + type NetworkOperationStatus = original.NetworkOperationStatus const ( @@ -274,12 +295,6 @@ const ( SessionAffinityEnabledStateEnabled SessionAffinityEnabledState = original.SessionAffinityEnabledStateEnabled ) -type TLSProtocolType = original.TLSProtocolType - -const ( - ServerNameIndication TLSProtocolType = original.ServerNameIndication -) - type TransformType = original.TransformType const ( @@ -544,12 +559,21 @@ func PossibleEnforceCertificateNameCheckEnabledStateValues() []EnforceCertificat func PossibleForwardingProtocolValues() []ForwardingProtocol { return original.PossibleForwardingProtocolValues() } +func PossibleHealthProbeEnabledValues() []HealthProbeEnabled { + return original.PossibleHealthProbeEnabledValues() +} +func PossibleHealthProbeMethodValues() []HealthProbeMethod { + return original.PossibleHealthProbeMethodValues() +} func PossibleManagedRuleEnabledStateValues() []ManagedRuleEnabledState { return original.PossibleManagedRuleEnabledStateValues() } func PossibleMatchVariableValues() []MatchVariable { return original.PossibleMatchVariableValues() } +func PossibleMinimumTLSVersionValues() []MinimumTLSVersion { + return original.PossibleMinimumTLSVersionValues() +} func PossibleNetworkOperationStatusValues() []NetworkOperationStatus { return original.PossibleNetworkOperationStatusValues() } @@ -595,9 +619,6 @@ func PossibleRuleTypeValues() []RuleType { func PossibleSessionAffinityEnabledStateValues() []SessionAffinityEnabledState { return original.PossibleSessionAffinityEnabledStateValues() } -func PossibleTLSProtocolTypeValues() []TLSProtocolType { - return original.PossibleTLSProtocolTypeValues() -} func PossibleTransformTypeValues() []TransformType { return original.PossibleTransformTypeValues() } diff --git a/services/preview/frontdoor/mgmt/2019-05-01/frontdoor/backendpools.go b/services/preview/frontdoor/mgmt/2019-05-01/frontdoor/backendpools.go new file mode 100644 index 000000000000..e31544da40d5 --- /dev/null +++ b/services/preview/frontdoor/mgmt/2019-05-01/frontdoor/backendpools.go @@ -0,0 +1,457 @@ +package frontdoor + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// BackendPoolsClient is the frontDoor Client +type BackendPoolsClient struct { + BaseClient +} + +// NewBackendPoolsClient creates an instance of the BackendPoolsClient client. +func NewBackendPoolsClient(subscriptionID string) BackendPoolsClient { + return NewBackendPoolsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewBackendPoolsClientWithBaseURI creates an instance of the BackendPoolsClient client. +func NewBackendPoolsClientWithBaseURI(baseURI string, subscriptionID string) BackendPoolsClient { + return BackendPoolsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates a new Backend Pool with the specified Pool name within the specified Front Door. +// Parameters: +// resourceGroupName - name of the Resource group within the Azure subscription. +// frontDoorName - name of the Front Door which is globally unique. +// backendPoolName - name of the Backend Pool which is unique within the Front Door. +// backendPoolParameters - backend Pool properties needed to create a new Pool. +func (client BackendPoolsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, frontDoorName string, backendPoolName string, backendPoolParameters BackendPool) (result BackendPoolsCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BackendPoolsClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 80, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9_\-\(\)\.]*[^\.]$`, Chain: nil}}}, + {TargetValue: frontDoorName, + Constraints: []validation.Constraint{{Target: "frontDoorName", Name: validation.MaxLength, Rule: 64, Chain: nil}, + {Target: "frontDoorName", Name: validation.MinLength, Rule: 5, Chain: nil}, + {Target: "frontDoorName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$`, Chain: nil}}}, + {TargetValue: backendPoolName, + Constraints: []validation.Constraint{{Target: "backendPoolName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "backendPoolName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "backendPoolName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("frontdoor.BackendPoolsClient", "CreateOrUpdate", err.Error()) + } + + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, frontDoorName, backendPoolName, backendPoolParameters) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.BackendPoolsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.BackendPoolsClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client BackendPoolsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, frontDoorName string, backendPoolName string, backendPoolParameters BackendPool) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "backendPoolName": autorest.Encode("path", backendPoolName), + "frontDoorName": autorest.Encode("path", frontDoorName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + backendPoolParameters.Type = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/backendPools/{backendPoolName}", pathParameters), + autorest.WithJSON(backendPoolParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client BackendPoolsClient) CreateOrUpdateSender(req *http.Request) (future BackendPoolsCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client BackendPoolsClient) CreateOrUpdateResponder(resp *http.Response) (result BackendPool, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes an existing Backend Pool with the specified parameters. +// Parameters: +// resourceGroupName - name of the Resource group within the Azure subscription. +// frontDoorName - name of the Front Door which is globally unique. +// backendPoolName - name of the Backend Pool which is unique within the Front Door. +func (client BackendPoolsClient) Delete(ctx context.Context, resourceGroupName string, frontDoorName string, backendPoolName string) (result BackendPoolsDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BackendPoolsClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 80, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9_\-\(\)\.]*[^\.]$`, Chain: nil}}}, + {TargetValue: frontDoorName, + Constraints: []validation.Constraint{{Target: "frontDoorName", Name: validation.MaxLength, Rule: 64, Chain: nil}, + {Target: "frontDoorName", Name: validation.MinLength, Rule: 5, Chain: nil}, + {Target: "frontDoorName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$`, Chain: nil}}}, + {TargetValue: backendPoolName, + Constraints: []validation.Constraint{{Target: "backendPoolName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "backendPoolName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "backendPoolName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("frontdoor.BackendPoolsClient", "Delete", err.Error()) + } + + req, err := client.DeletePreparer(ctx, resourceGroupName, frontDoorName, backendPoolName) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.BackendPoolsClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.BackendPoolsClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client BackendPoolsClient) DeletePreparer(ctx context.Context, resourceGroupName string, frontDoorName string, backendPoolName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "backendPoolName": autorest.Encode("path", backendPoolName), + "frontDoorName": autorest.Encode("path", frontDoorName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/backendPools/{backendPoolName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client BackendPoolsClient) DeleteSender(req *http.Request) (future BackendPoolsDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client BackendPoolsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets a Backend Pool with the specified Pool name within the specified Front Door. +// Parameters: +// resourceGroupName - name of the Resource group within the Azure subscription. +// frontDoorName - name of the Front Door which is globally unique. +// backendPoolName - name of the Backend Pool which is unique within the Front Door. +func (client BackendPoolsClient) Get(ctx context.Context, resourceGroupName string, frontDoorName string, backendPoolName string) (result BackendPool, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BackendPoolsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 80, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9_\-\(\)\.]*[^\.]$`, Chain: nil}}}, + {TargetValue: frontDoorName, + Constraints: []validation.Constraint{{Target: "frontDoorName", Name: validation.MaxLength, Rule: 64, Chain: nil}, + {Target: "frontDoorName", Name: validation.MinLength, Rule: 5, Chain: nil}, + {Target: "frontDoorName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$`, Chain: nil}}}, + {TargetValue: backendPoolName, + Constraints: []validation.Constraint{{Target: "backendPoolName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "backendPoolName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "backendPoolName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("frontdoor.BackendPoolsClient", "Get", err.Error()) + } + + req, err := client.GetPreparer(ctx, resourceGroupName, frontDoorName, backendPoolName) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.BackendPoolsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "frontdoor.BackendPoolsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.BackendPoolsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client BackendPoolsClient) GetPreparer(ctx context.Context, resourceGroupName string, frontDoorName string, backendPoolName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "backendPoolName": autorest.Encode("path", backendPoolName), + "frontDoorName": autorest.Encode("path", frontDoorName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/backendPools/{backendPoolName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client BackendPoolsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client BackendPoolsClient) GetResponder(resp *http.Response) (result BackendPool, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByFrontDoor lists all of the Backend Pools within a Front Door. +// Parameters: +// resourceGroupName - name of the Resource group within the Azure subscription. +// frontDoorName - name of the Front Door which is globally unique. +func (client BackendPoolsClient) ListByFrontDoor(ctx context.Context, resourceGroupName string, frontDoorName string) (result BackendPoolListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BackendPoolsClient.ListByFrontDoor") + defer func() { + sc := -1 + if result.bplr.Response.Response != nil { + sc = result.bplr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 80, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9_\-\(\)\.]*[^\.]$`, Chain: nil}}}, + {TargetValue: frontDoorName, + Constraints: []validation.Constraint{{Target: "frontDoorName", Name: validation.MaxLength, Rule: 64, Chain: nil}, + {Target: "frontDoorName", Name: validation.MinLength, Rule: 5, Chain: nil}, + {Target: "frontDoorName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("frontdoor.BackendPoolsClient", "ListByFrontDoor", err.Error()) + } + + result.fn = client.listByFrontDoorNextResults + req, err := client.ListByFrontDoorPreparer(ctx, resourceGroupName, frontDoorName) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.BackendPoolsClient", "ListByFrontDoor", nil, "Failure preparing request") + return + } + + resp, err := client.ListByFrontDoorSender(req) + if err != nil { + result.bplr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "frontdoor.BackendPoolsClient", "ListByFrontDoor", resp, "Failure sending request") + return + } + + result.bplr, err = client.ListByFrontDoorResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.BackendPoolsClient", "ListByFrontDoor", resp, "Failure responding to request") + } + + return +} + +// ListByFrontDoorPreparer prepares the ListByFrontDoor request. +func (client BackendPoolsClient) ListByFrontDoorPreparer(ctx context.Context, resourceGroupName string, frontDoorName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "frontDoorName": autorest.Encode("path", frontDoorName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/backendPools", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByFrontDoorSender sends the ListByFrontDoor request. The method will close the +// http.Response Body if it receives an error. +func (client BackendPoolsClient) ListByFrontDoorSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByFrontDoorResponder handles the response to the ListByFrontDoor request. The method always +// closes the http.Response Body. +func (client BackendPoolsClient) ListByFrontDoorResponder(resp *http.Response) (result BackendPoolListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listByFrontDoorNextResults retrieves the next set of results, if any. +func (client BackendPoolsClient) listByFrontDoorNextResults(ctx context.Context, lastResults BackendPoolListResult) (result BackendPoolListResult, err error) { + req, err := lastResults.backendPoolListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "frontdoor.BackendPoolsClient", "listByFrontDoorNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListByFrontDoorSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "frontdoor.BackendPoolsClient", "listByFrontDoorNextResults", resp, "Failure sending next results request") + } + result, err = client.ListByFrontDoorResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.BackendPoolsClient", "listByFrontDoorNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListByFrontDoorComplete enumerates all values, automatically crossing page boundaries as required. +func (client BackendPoolsClient) ListByFrontDoorComplete(ctx context.Context, resourceGroupName string, frontDoorName string) (result BackendPoolListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BackendPoolsClient.ListByFrontDoor") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListByFrontDoor(ctx, resourceGroupName, frontDoorName) + return +} diff --git a/services/preview/frontdoor/mgmt/2019-05-01/frontdoor/client.go b/services/preview/frontdoor/mgmt/2019-05-01/frontdoor/client.go new file mode 100644 index 000000000000..4ae20818d416 --- /dev/null +++ b/services/preview/frontdoor/mgmt/2019-05-01/frontdoor/client.go @@ -0,0 +1,216 @@ +// Package frontdoor implements the Azure ARM Frontdoor service API version . +// +// FrontDoor Client +package frontdoor + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +const ( + // DefaultBaseURI is the default URI used for the service Frontdoor + DefaultBaseURI = "https://management.azure.com" +) + +// BaseClient is the base client for Frontdoor. +type BaseClient struct { + autorest.Client + BaseURI string + SubscriptionID string +} + +// New creates an instance of the BaseClient client. +func New(subscriptionID string) BaseClient { + return NewWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewWithBaseURI creates an instance of the BaseClient client. +func NewWithBaseURI(baseURI string, subscriptionID string) BaseClient { + return BaseClient{ + Client: autorest.NewClientWithUserAgent(UserAgent()), + BaseURI: baseURI, + SubscriptionID: subscriptionID, + } +} + +// CheckFrontDoorNameAvailability check the availability of a Front Door resource name. +// Parameters: +// checkFrontDoorNameAvailabilityInput - input to check. +func (client BaseClient) CheckFrontDoorNameAvailability(ctx context.Context, checkFrontDoorNameAvailabilityInput CheckNameAvailabilityInput) (result CheckNameAvailabilityOutput, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.CheckFrontDoorNameAvailability") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: checkFrontDoorNameAvailabilityInput, + Constraints: []validation.Constraint{{Target: "checkFrontDoorNameAvailabilityInput.Name", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + return result, validation.NewError("frontdoor.BaseClient", "CheckFrontDoorNameAvailability", err.Error()) + } + + req, err := client.CheckFrontDoorNameAvailabilityPreparer(ctx, checkFrontDoorNameAvailabilityInput) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.BaseClient", "CheckFrontDoorNameAvailability", nil, "Failure preparing request") + return + } + + resp, err := client.CheckFrontDoorNameAvailabilitySender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "frontdoor.BaseClient", "CheckFrontDoorNameAvailability", resp, "Failure sending request") + return + } + + result, err = client.CheckFrontDoorNameAvailabilityResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.BaseClient", "CheckFrontDoorNameAvailability", resp, "Failure responding to request") + } + + return +} + +// CheckFrontDoorNameAvailabilityPreparer prepares the CheckFrontDoorNameAvailability request. +func (client BaseClient) CheckFrontDoorNameAvailabilityPreparer(ctx context.Context, checkFrontDoorNameAvailabilityInput CheckNameAvailabilityInput) (*http.Request, error) { + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPath("/providers/Microsoft.Network/checkFrontDoorNameAvailability"), + autorest.WithJSON(checkFrontDoorNameAvailabilityInput), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CheckFrontDoorNameAvailabilitySender sends the CheckFrontDoorNameAvailability request. The method will close the +// http.Response Body if it receives an error. +func (client BaseClient) CheckFrontDoorNameAvailabilitySender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// CheckFrontDoorNameAvailabilityResponder handles the response to the CheckFrontDoorNameAvailability request. The method always +// closes the http.Response Body. +func (client BaseClient) CheckFrontDoorNameAvailabilityResponder(resp *http.Response) (result CheckNameAvailabilityOutput, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// CheckFrontDoorNameAvailabilityWithSubscription check the availability of a Front Door subdomain. +// Parameters: +// checkFrontDoorNameAvailabilityInput - input to check. +func (client BaseClient) CheckFrontDoorNameAvailabilityWithSubscription(ctx context.Context, checkFrontDoorNameAvailabilityInput CheckNameAvailabilityInput) (result CheckNameAvailabilityOutput, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.CheckFrontDoorNameAvailabilityWithSubscription") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: checkFrontDoorNameAvailabilityInput, + Constraints: []validation.Constraint{{Target: "checkFrontDoorNameAvailabilityInput.Name", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + return result, validation.NewError("frontdoor.BaseClient", "CheckFrontDoorNameAvailabilityWithSubscription", err.Error()) + } + + req, err := client.CheckFrontDoorNameAvailabilityWithSubscriptionPreparer(ctx, checkFrontDoorNameAvailabilityInput) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.BaseClient", "CheckFrontDoorNameAvailabilityWithSubscription", nil, "Failure preparing request") + return + } + + resp, err := client.CheckFrontDoorNameAvailabilityWithSubscriptionSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "frontdoor.BaseClient", "CheckFrontDoorNameAvailabilityWithSubscription", resp, "Failure sending request") + return + } + + result, err = client.CheckFrontDoorNameAvailabilityWithSubscriptionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.BaseClient", "CheckFrontDoorNameAvailabilityWithSubscription", resp, "Failure responding to request") + } + + return +} + +// CheckFrontDoorNameAvailabilityWithSubscriptionPreparer prepares the CheckFrontDoorNameAvailabilityWithSubscription request. +func (client BaseClient) CheckFrontDoorNameAvailabilityWithSubscriptionPreparer(ctx context.Context, checkFrontDoorNameAvailabilityInput CheckNameAvailabilityInput) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/checkFrontDoorNameAvailability", pathParameters), + autorest.WithJSON(checkFrontDoorNameAvailabilityInput), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CheckFrontDoorNameAvailabilityWithSubscriptionSender sends the CheckFrontDoorNameAvailabilityWithSubscription request. The method will close the +// http.Response Body if it receives an error. +func (client BaseClient) CheckFrontDoorNameAvailabilityWithSubscriptionSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CheckFrontDoorNameAvailabilityWithSubscriptionResponder handles the response to the CheckFrontDoorNameAvailabilityWithSubscription request. The method always +// closes the http.Response Body. +func (client BaseClient) CheckFrontDoorNameAvailabilityWithSubscriptionResponder(resp *http.Response) (result CheckNameAvailabilityOutput, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/preview/frontdoor/mgmt/2019-05-01/frontdoor/endpoints.go b/services/preview/frontdoor/mgmt/2019-05-01/frontdoor/endpoints.go new file mode 100644 index 000000000000..45b3caf3f6eb --- /dev/null +++ b/services/preview/frontdoor/mgmt/2019-05-01/frontdoor/endpoints.go @@ -0,0 +1,137 @@ +package frontdoor + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// EndpointsClient is the frontDoor Client +type EndpointsClient struct { + BaseClient +} + +// NewEndpointsClient creates an instance of the EndpointsClient client. +func NewEndpointsClient(subscriptionID string) EndpointsClient { + return NewEndpointsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewEndpointsClientWithBaseURI creates an instance of the EndpointsClient client. +func NewEndpointsClientWithBaseURI(baseURI string, subscriptionID string) EndpointsClient { + return EndpointsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// PurgeContent removes a content from Front Door. +// Parameters: +// resourceGroupName - name of the Resource group within the Azure subscription. +// frontDoorName - name of the Front Door which is globally unique. +// contentFilePaths - the path to the content to be purged. Path can be a full URL, e.g. '/pictures/city.png' +// which removes a single file, or a directory with a wildcard, e.g. '/pictures/*' which removes all folders +// and files in the directory. +func (client EndpointsClient) PurgeContent(ctx context.Context, resourceGroupName string, frontDoorName string, contentFilePaths PurgeParameters) (result EndpointsPurgeContentFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/EndpointsClient.PurgeContent") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 80, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9_\-\(\)\.]*[^\.]$`, Chain: nil}}}, + {TargetValue: frontDoorName, + Constraints: []validation.Constraint{{Target: "frontDoorName", Name: validation.MaxLength, Rule: 64, Chain: nil}, + {Target: "frontDoorName", Name: validation.MinLength, Rule: 5, Chain: nil}, + {Target: "frontDoorName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$`, Chain: nil}}}, + {TargetValue: contentFilePaths, + Constraints: []validation.Constraint{{Target: "contentFilePaths.ContentPaths", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + return result, validation.NewError("frontdoor.EndpointsClient", "PurgeContent", err.Error()) + } + + req, err := client.PurgeContentPreparer(ctx, resourceGroupName, frontDoorName, contentFilePaths) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.EndpointsClient", "PurgeContent", nil, "Failure preparing request") + return + } + + result, err = client.PurgeContentSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.EndpointsClient", "PurgeContent", result.Response(), "Failure sending request") + return + } + + return +} + +// PurgeContentPreparer prepares the PurgeContent request. +func (client EndpointsClient) PurgeContentPreparer(ctx context.Context, resourceGroupName string, frontDoorName string, contentFilePaths PurgeParameters) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "frontDoorName": autorest.Encode("path", frontDoorName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/purge", pathParameters), + autorest.WithJSON(contentFilePaths), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// PurgeContentSender sends the PurgeContent request. The method will close the +// http.Response Body if it receives an error. +func (client EndpointsClient) PurgeContentSender(req *http.Request) (future EndpointsPurgeContentFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// PurgeContentResponder handles the response to the PurgeContent request. The method always +// closes the http.Response Body. +func (client EndpointsClient) PurgeContentResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByClosing()) + result.Response = resp + return +} diff --git a/services/preview/frontdoor/mgmt/2019-05-01/frontdoor/frontdoorapi/interfaces.go b/services/preview/frontdoor/mgmt/2019-05-01/frontdoor/frontdoorapi/interfaces.go new file mode 100644 index 000000000000..abed0a7f8810 --- /dev/null +++ b/services/preview/frontdoor/mgmt/2019-05-01/frontdoor/frontdoorapi/interfaces.go @@ -0,0 +1,119 @@ +package frontdoorapi + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/azure-sdk-for-go/services/preview/frontdoor/mgmt/2019-05-01/frontdoor" +) + +// BaseClientAPI contains the set of methods on the BaseClient type. +type BaseClientAPI interface { + CheckFrontDoorNameAvailability(ctx context.Context, checkFrontDoorNameAvailabilityInput frontdoor.CheckNameAvailabilityInput) (result frontdoor.CheckNameAvailabilityOutput, err error) + CheckFrontDoorNameAvailabilityWithSubscription(ctx context.Context, checkFrontDoorNameAvailabilityInput frontdoor.CheckNameAvailabilityInput) (result frontdoor.CheckNameAvailabilityOutput, err error) +} + +var _ BaseClientAPI = (*frontdoor.BaseClient)(nil) + +// FrontDoorsClientAPI contains the set of methods on the FrontDoorsClient type. +type FrontDoorsClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, frontDoorName string, frontDoorParameters frontdoor.FrontDoor) (result frontdoor.FrontDoorsCreateOrUpdateFutureType, err error) + Delete(ctx context.Context, resourceGroupName string, frontDoorName string) (result frontdoor.FrontDoorsDeleteFutureType, err error) + Get(ctx context.Context, resourceGroupName string, frontDoorName string) (result frontdoor.FrontDoor, err error) + List(ctx context.Context) (result frontdoor.ListResultPage, err error) + ListByResourceGroup(ctx context.Context, resourceGroupName string) (result frontdoor.ListResultPage, err error) + ValidateCustomDomain(ctx context.Context, resourceGroupName string, frontDoorName string, customDomainProperties frontdoor.ValidateCustomDomainInput) (result frontdoor.ValidateCustomDomainOutput, err error) +} + +var _ FrontDoorsClientAPI = (*frontdoor.FrontDoorsClient)(nil) + +// RoutingRulesClientAPI contains the set of methods on the RoutingRulesClient type. +type RoutingRulesClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, frontDoorName string, routingRuleName string, routingRuleParameters frontdoor.RoutingRule) (result frontdoor.RoutingRulesCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, frontDoorName string, routingRuleName string) (result frontdoor.RoutingRulesDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, frontDoorName string, routingRuleName string) (result frontdoor.RoutingRule, err error) + ListByFrontDoor(ctx context.Context, resourceGroupName string, frontDoorName string) (result frontdoor.RoutingRuleListResultPage, err error) +} + +var _ RoutingRulesClientAPI = (*frontdoor.RoutingRulesClient)(nil) + +// HealthProbeSettingsClientAPI contains the set of methods on the HealthProbeSettingsClient type. +type HealthProbeSettingsClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, frontDoorName string, healthProbeSettingsName string, healthProbeSettingsParameters frontdoor.HealthProbeSettingsModel) (result frontdoor.HealthProbeSettingsCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, frontDoorName string, healthProbeSettingsName string) (result frontdoor.HealthProbeSettingsDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, frontDoorName string, healthProbeSettingsName string) (result frontdoor.HealthProbeSettingsModel, err error) + ListByFrontDoor(ctx context.Context, resourceGroupName string, frontDoorName string) (result frontdoor.HealthProbeSettingsListResultPage, err error) +} + +var _ HealthProbeSettingsClientAPI = (*frontdoor.HealthProbeSettingsClient)(nil) + +// LoadBalancingSettingsClientAPI contains the set of methods on the LoadBalancingSettingsClient type. +type LoadBalancingSettingsClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, frontDoorName string, loadBalancingSettingsName string, loadBalancingSettingsParameters frontdoor.LoadBalancingSettingsModel) (result frontdoor.LoadBalancingSettingsCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, frontDoorName string, loadBalancingSettingsName string) (result frontdoor.LoadBalancingSettingsDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, frontDoorName string, loadBalancingSettingsName string) (result frontdoor.LoadBalancingSettingsModel, err error) + ListByFrontDoor(ctx context.Context, resourceGroupName string, frontDoorName string) (result frontdoor.LoadBalancingSettingsListResultPage, err error) +} + +var _ LoadBalancingSettingsClientAPI = (*frontdoor.LoadBalancingSettingsClient)(nil) + +// BackendPoolsClientAPI contains the set of methods on the BackendPoolsClient type. +type BackendPoolsClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, frontDoorName string, backendPoolName string, backendPoolParameters frontdoor.BackendPool) (result frontdoor.BackendPoolsCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, frontDoorName string, backendPoolName string) (result frontdoor.BackendPoolsDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, frontDoorName string, backendPoolName string) (result frontdoor.BackendPool, err error) + ListByFrontDoor(ctx context.Context, resourceGroupName string, frontDoorName string) (result frontdoor.BackendPoolListResultPage, err error) +} + +var _ BackendPoolsClientAPI = (*frontdoor.BackendPoolsClient)(nil) + +// FrontendEndpointsClientAPI contains the set of methods on the FrontendEndpointsClient type. +type FrontendEndpointsClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, frontDoorName string, frontendEndpointName string, frontendEndpointParameters frontdoor.FrontendEndpoint) (result frontdoor.FrontendEndpointsCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, frontDoorName string, frontendEndpointName string) (result frontdoor.FrontendEndpointsDeleteFuture, err error) + DisableHTTPS(ctx context.Context, resourceGroupName string, frontDoorName string, frontendEndpointName string) (result frontdoor.FrontendEndpointsDisableHTTPSFuture, err error) + EnableHTTPS(ctx context.Context, resourceGroupName string, frontDoorName string, frontendEndpointName string, customHTTPSConfiguration frontdoor.CustomHTTPSConfiguration) (result frontdoor.FrontendEndpointsEnableHTTPSFuture, err error) + Get(ctx context.Context, resourceGroupName string, frontDoorName string, frontendEndpointName string) (result frontdoor.FrontendEndpoint, err error) + ListByFrontDoor(ctx context.Context, resourceGroupName string, frontDoorName string) (result frontdoor.FrontendEndpointsListResultPage, err error) +} + +var _ FrontendEndpointsClientAPI = (*frontdoor.FrontendEndpointsClient)(nil) + +// EndpointsClientAPI contains the set of methods on the EndpointsClient type. +type EndpointsClientAPI interface { + PurgeContent(ctx context.Context, resourceGroupName string, frontDoorName string, contentFilePaths frontdoor.PurgeParameters) (result frontdoor.EndpointsPurgeContentFuture, err error) +} + +var _ EndpointsClientAPI = (*frontdoor.EndpointsClient)(nil) + +// PoliciesClientAPI contains the set of methods on the PoliciesClient type. +type PoliciesClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, policyName string, parameters frontdoor.WebApplicationFirewallPolicy) (result frontdoor.PoliciesCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, policyName string) (result frontdoor.PoliciesDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, policyName string) (result frontdoor.WebApplicationFirewallPolicy, err error) + List(ctx context.Context, resourceGroupName string) (result frontdoor.WebApplicationFirewallPolicyListPage, err error) +} + +var _ PoliciesClientAPI = (*frontdoor.PoliciesClient)(nil) + +// ManagedRuleSetsClientAPI contains the set of methods on the ManagedRuleSetsClient type. +type ManagedRuleSetsClientAPI interface { + List(ctx context.Context) (result frontdoor.ManagedRuleSetDefinitionListPage, err error) +} + +var _ ManagedRuleSetsClientAPI = (*frontdoor.ManagedRuleSetsClient)(nil) diff --git a/services/preview/frontdoor/mgmt/2019-05-01/frontdoor/frontdoors.go b/services/preview/frontdoor/mgmt/2019-05-01/frontdoor/frontdoors.go new file mode 100644 index 000000000000..69c824ef87ce --- /dev/null +++ b/services/preview/frontdoor/mgmt/2019-05-01/frontdoor/frontdoors.go @@ -0,0 +1,637 @@ +package frontdoor + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// FrontDoorsClient is the frontDoor Client +type FrontDoorsClient struct { + BaseClient +} + +// NewFrontDoorsClient creates an instance of the FrontDoorsClient client. +func NewFrontDoorsClient(subscriptionID string) FrontDoorsClient { + return NewFrontDoorsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewFrontDoorsClientWithBaseURI creates an instance of the FrontDoorsClient client. +func NewFrontDoorsClientWithBaseURI(baseURI string, subscriptionID string) FrontDoorsClient { + return FrontDoorsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates a new Front Door with a Front Door name under the specified subscription and resource group. +// Parameters: +// resourceGroupName - name of the Resource group within the Azure subscription. +// frontDoorName - name of the Front Door which is globally unique. +// frontDoorParameters - front Door properties needed to create a new Front Door. +func (client FrontDoorsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, frontDoorName string, frontDoorParameters FrontDoor) (result FrontDoorsCreateOrUpdateFutureType, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/FrontDoorsClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 80, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9_\-\(\)\.]*[^\.]$`, Chain: nil}}}, + {TargetValue: frontDoorName, + Constraints: []validation.Constraint{{Target: "frontDoorName", Name: validation.MaxLength, Rule: 64, Chain: nil}, + {Target: "frontDoorName", Name: validation.MinLength, Rule: 5, Chain: nil}, + {Target: "frontDoorName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("frontdoor.FrontDoorsClient", "CreateOrUpdate", err.Error()) + } + + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, frontDoorName, frontDoorParameters) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.FrontDoorsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.FrontDoorsClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client FrontDoorsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, frontDoorName string, frontDoorParameters FrontDoor) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "frontDoorName": autorest.Encode("path", frontDoorName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}", pathParameters), + autorest.WithJSON(frontDoorParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client FrontDoorsClient) CreateOrUpdateSender(req *http.Request) (future FrontDoorsCreateOrUpdateFutureType, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client FrontDoorsClient) CreateOrUpdateResponder(resp *http.Response) (result FrontDoor, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes an existing Front Door with the specified parameters. +// Parameters: +// resourceGroupName - name of the Resource group within the Azure subscription. +// frontDoorName - name of the Front Door which is globally unique. +func (client FrontDoorsClient) Delete(ctx context.Context, resourceGroupName string, frontDoorName string) (result FrontDoorsDeleteFutureType, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/FrontDoorsClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 80, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9_\-\(\)\.]*[^\.]$`, Chain: nil}}}, + {TargetValue: frontDoorName, + Constraints: []validation.Constraint{{Target: "frontDoorName", Name: validation.MaxLength, Rule: 64, Chain: nil}, + {Target: "frontDoorName", Name: validation.MinLength, Rule: 5, Chain: nil}, + {Target: "frontDoorName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("frontdoor.FrontDoorsClient", "Delete", err.Error()) + } + + req, err := client.DeletePreparer(ctx, resourceGroupName, frontDoorName) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.FrontDoorsClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.FrontDoorsClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client FrontDoorsClient) DeletePreparer(ctx context.Context, resourceGroupName string, frontDoorName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "frontDoorName": autorest.Encode("path", frontDoorName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client FrontDoorsClient) DeleteSender(req *http.Request) (future FrontDoorsDeleteFutureType, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client FrontDoorsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets a Front Door with the specified Front Door name under the specified subscription and resource group. +// Parameters: +// resourceGroupName - name of the Resource group within the Azure subscription. +// frontDoorName - name of the Front Door which is globally unique. +func (client FrontDoorsClient) Get(ctx context.Context, resourceGroupName string, frontDoorName string) (result FrontDoor, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/FrontDoorsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 80, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9_\-\(\)\.]*[^\.]$`, Chain: nil}}}, + {TargetValue: frontDoorName, + Constraints: []validation.Constraint{{Target: "frontDoorName", Name: validation.MaxLength, Rule: 64, Chain: nil}, + {Target: "frontDoorName", Name: validation.MinLength, Rule: 5, Chain: nil}, + {Target: "frontDoorName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("frontdoor.FrontDoorsClient", "Get", err.Error()) + } + + req, err := client.GetPreparer(ctx, resourceGroupName, frontDoorName) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.FrontDoorsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "frontdoor.FrontDoorsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.FrontDoorsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client FrontDoorsClient) GetPreparer(ctx context.Context, resourceGroupName string, frontDoorName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "frontDoorName": autorest.Encode("path", frontDoorName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client FrontDoorsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client FrontDoorsClient) GetResponder(resp *http.Response) (result FrontDoor, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List lists all of the Front Doors within an Azure subscription. +func (client FrontDoorsClient) List(ctx context.Context) (result ListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/FrontDoorsClient.List") + defer func() { + sc := -1 + if result.lr.Response.Response != nil { + sc = result.lr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.FrontDoorsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.lr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "frontdoor.FrontDoorsClient", "List", resp, "Failure sending request") + return + } + + result.lr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.FrontDoorsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client FrontDoorsClient) ListPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/frontDoors", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client FrontDoorsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client FrontDoorsClient) ListResponder(resp *http.Response) (result ListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client FrontDoorsClient) listNextResults(ctx context.Context, lastResults ListResult) (result ListResult, err error) { + req, err := lastResults.listResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "frontdoor.FrontDoorsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "frontdoor.FrontDoorsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.FrontDoorsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client FrontDoorsClient) ListComplete(ctx context.Context) (result ListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/FrontDoorsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx) + return +} + +// ListByResourceGroup lists all of the Front Doors within a resource group under a subscription. +// Parameters: +// resourceGroupName - name of the Resource group within the Azure subscription. +func (client FrontDoorsClient) ListByResourceGroup(ctx context.Context, resourceGroupName string) (result ListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/FrontDoorsClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.lr.Response.Response != nil { + sc = result.lr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 80, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9_\-\(\)\.]*[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("frontdoor.FrontDoorsClient", "ListByResourceGroup", err.Error()) + } + + result.fn = client.listByResourceGroupNextResults + req, err := client.ListByResourceGroupPreparer(ctx, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.FrontDoorsClient", "ListByResourceGroup", nil, "Failure preparing request") + return + } + + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.lr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "frontdoor.FrontDoorsClient", "ListByResourceGroup", resp, "Failure sending request") + return + } + + result.lr, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.FrontDoorsClient", "ListByResourceGroup", resp, "Failure responding to request") + } + + return +} + +// ListByResourceGroupPreparer prepares the ListByResourceGroup request. +func (client FrontDoorsClient) ListByResourceGroupPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByResourceGroupSender sends the ListByResourceGroup request. The method will close the +// http.Response Body if it receives an error. +func (client FrontDoorsClient) ListByResourceGroupSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByResourceGroupResponder handles the response to the ListByResourceGroup request. The method always +// closes the http.Response Body. +func (client FrontDoorsClient) ListByResourceGroupResponder(resp *http.Response) (result ListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listByResourceGroupNextResults retrieves the next set of results, if any. +func (client FrontDoorsClient) listByResourceGroupNextResults(ctx context.Context, lastResults ListResult) (result ListResult, err error) { + req, err := lastResults.listResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "frontdoor.FrontDoorsClient", "listByResourceGroupNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "frontdoor.FrontDoorsClient", "listByResourceGroupNextResults", resp, "Failure sending next results request") + } + result, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.FrontDoorsClient", "listByResourceGroupNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListByResourceGroupComplete enumerates all values, automatically crossing page boundaries as required. +func (client FrontDoorsClient) ListByResourceGroupComplete(ctx context.Context, resourceGroupName string) (result ListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/FrontDoorsClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListByResourceGroup(ctx, resourceGroupName) + return +} + +// ValidateCustomDomain validates the custom domain mapping to ensure it maps to the correct Front Door endpoint in +// DNS. +// Parameters: +// resourceGroupName - name of the Resource group within the Azure subscription. +// frontDoorName - name of the Front Door which is globally unique. +// customDomainProperties - custom domain to be validated. +func (client FrontDoorsClient) ValidateCustomDomain(ctx context.Context, resourceGroupName string, frontDoorName string, customDomainProperties ValidateCustomDomainInput) (result ValidateCustomDomainOutput, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/FrontDoorsClient.ValidateCustomDomain") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 80, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9_\-\(\)\.]*[^\.]$`, Chain: nil}}}, + {TargetValue: frontDoorName, + Constraints: []validation.Constraint{{Target: "frontDoorName", Name: validation.MaxLength, Rule: 64, Chain: nil}, + {Target: "frontDoorName", Name: validation.MinLength, Rule: 5, Chain: nil}, + {Target: "frontDoorName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$`, Chain: nil}}}, + {TargetValue: customDomainProperties, + Constraints: []validation.Constraint{{Target: "customDomainProperties.HostName", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + return result, validation.NewError("frontdoor.FrontDoorsClient", "ValidateCustomDomain", err.Error()) + } + + req, err := client.ValidateCustomDomainPreparer(ctx, resourceGroupName, frontDoorName, customDomainProperties) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.FrontDoorsClient", "ValidateCustomDomain", nil, "Failure preparing request") + return + } + + resp, err := client.ValidateCustomDomainSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "frontdoor.FrontDoorsClient", "ValidateCustomDomain", resp, "Failure sending request") + return + } + + result, err = client.ValidateCustomDomainResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.FrontDoorsClient", "ValidateCustomDomain", resp, "Failure responding to request") + } + + return +} + +// ValidateCustomDomainPreparer prepares the ValidateCustomDomain request. +func (client FrontDoorsClient) ValidateCustomDomainPreparer(ctx context.Context, resourceGroupName string, frontDoorName string, customDomainProperties ValidateCustomDomainInput) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "frontDoorName": autorest.Encode("path", frontDoorName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/validateCustomDomain", pathParameters), + autorest.WithJSON(customDomainProperties), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ValidateCustomDomainSender sends the ValidateCustomDomain request. The method will close the +// http.Response Body if it receives an error. +func (client FrontDoorsClient) ValidateCustomDomainSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ValidateCustomDomainResponder handles the response to the ValidateCustomDomain request. The method always +// closes the http.Response Body. +func (client FrontDoorsClient) ValidateCustomDomainResponder(resp *http.Response) (result ValidateCustomDomainOutput, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/preview/frontdoor/mgmt/2019-05-01/frontdoor/frontendendpoints.go b/services/preview/frontdoor/mgmt/2019-05-01/frontdoor/frontendendpoints.go new file mode 100644 index 000000000000..6dbff638e20a --- /dev/null +++ b/services/preview/frontdoor/mgmt/2019-05-01/frontdoor/frontendendpoints.go @@ -0,0 +1,655 @@ +package frontdoor + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// FrontendEndpointsClient is the frontDoor Client +type FrontendEndpointsClient struct { + BaseClient +} + +// NewFrontendEndpointsClient creates an instance of the FrontendEndpointsClient client. +func NewFrontendEndpointsClient(subscriptionID string) FrontendEndpointsClient { + return NewFrontendEndpointsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewFrontendEndpointsClientWithBaseURI creates an instance of the FrontendEndpointsClient client. +func NewFrontendEndpointsClientWithBaseURI(baseURI string, subscriptionID string) FrontendEndpointsClient { + return FrontendEndpointsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates a new frontend endpoint with the specified host name within the specified Front Door. +// Parameters: +// resourceGroupName - name of the Resource group within the Azure subscription. +// frontDoorName - name of the Front Door which is globally unique. +// frontendEndpointName - name of the Frontend endpoint which is unique within the Front Door. +// frontendEndpointParameters - frontend endpoint properties needed to create a new endpoint. +func (client FrontendEndpointsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, frontDoorName string, frontendEndpointName string, frontendEndpointParameters FrontendEndpoint) (result FrontendEndpointsCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/FrontendEndpointsClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 80, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9_\-\(\)\.]*[^\.]$`, Chain: nil}}}, + {TargetValue: frontDoorName, + Constraints: []validation.Constraint{{Target: "frontDoorName", Name: validation.MaxLength, Rule: 64, Chain: nil}, + {Target: "frontDoorName", Name: validation.MinLength, Rule: 5, Chain: nil}, + {Target: "frontDoorName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$`, Chain: nil}}}, + {TargetValue: frontendEndpointName, + Constraints: []validation.Constraint{{Target: "frontendEndpointName", Name: validation.MaxLength, Rule: 255, Chain: nil}, + {Target: "frontendEndpointName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "frontendEndpointName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$`, Chain: nil}}}, + {TargetValue: frontendEndpointParameters, + Constraints: []validation.Constraint{{Target: "frontendEndpointParameters.FrontendEndpointProperties", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "frontendEndpointParameters.FrontendEndpointProperties.CustomHTTPSConfiguration", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "frontendEndpointParameters.FrontendEndpointProperties.CustomHTTPSConfiguration.ProtocolType", Name: validation.Null, Rule: true, Chain: nil}}}, + }}}}}); err != nil { + return result, validation.NewError("frontdoor.FrontendEndpointsClient", "CreateOrUpdate", err.Error()) + } + + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, frontDoorName, frontendEndpointName, frontendEndpointParameters) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.FrontendEndpointsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.FrontendEndpointsClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client FrontendEndpointsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, frontDoorName string, frontendEndpointName string, frontendEndpointParameters FrontendEndpoint) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "frontDoorName": autorest.Encode("path", frontDoorName), + "frontendEndpointName": autorest.Encode("path", frontendEndpointName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + frontendEndpointParameters.Type = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/frontendEndpoints/{frontendEndpointName}", pathParameters), + autorest.WithJSON(frontendEndpointParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client FrontendEndpointsClient) CreateOrUpdateSender(req *http.Request) (future FrontendEndpointsCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client FrontendEndpointsClient) CreateOrUpdateResponder(resp *http.Response) (result FrontendEndpoint, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes an existing frontend endpoint with the specified parameters. +// Parameters: +// resourceGroupName - name of the Resource group within the Azure subscription. +// frontDoorName - name of the Front Door which is globally unique. +// frontendEndpointName - name of the Frontend endpoint which is unique within the Front Door. +func (client FrontendEndpointsClient) Delete(ctx context.Context, resourceGroupName string, frontDoorName string, frontendEndpointName string) (result FrontendEndpointsDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/FrontendEndpointsClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 80, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9_\-\(\)\.]*[^\.]$`, Chain: nil}}}, + {TargetValue: frontDoorName, + Constraints: []validation.Constraint{{Target: "frontDoorName", Name: validation.MaxLength, Rule: 64, Chain: nil}, + {Target: "frontDoorName", Name: validation.MinLength, Rule: 5, Chain: nil}, + {Target: "frontDoorName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$`, Chain: nil}}}, + {TargetValue: frontendEndpointName, + Constraints: []validation.Constraint{{Target: "frontendEndpointName", Name: validation.MaxLength, Rule: 255, Chain: nil}, + {Target: "frontendEndpointName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "frontendEndpointName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("frontdoor.FrontendEndpointsClient", "Delete", err.Error()) + } + + req, err := client.DeletePreparer(ctx, resourceGroupName, frontDoorName, frontendEndpointName) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.FrontendEndpointsClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.FrontendEndpointsClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client FrontendEndpointsClient) DeletePreparer(ctx context.Context, resourceGroupName string, frontDoorName string, frontendEndpointName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "frontDoorName": autorest.Encode("path", frontDoorName), + "frontendEndpointName": autorest.Encode("path", frontendEndpointName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/frontendEndpoints/{frontendEndpointName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client FrontendEndpointsClient) DeleteSender(req *http.Request) (future FrontendEndpointsDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client FrontendEndpointsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// DisableHTTPS disables a frontendEndpoint for HTTPS traffic +// Parameters: +// resourceGroupName - name of the Resource group within the Azure subscription. +// frontDoorName - name of the Front Door which is globally unique. +// frontendEndpointName - name of the Frontend endpoint which is unique within the Front Door. +func (client FrontendEndpointsClient) DisableHTTPS(ctx context.Context, resourceGroupName string, frontDoorName string, frontendEndpointName string) (result FrontendEndpointsDisableHTTPSFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/FrontendEndpointsClient.DisableHTTPS") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 80, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9_\-\(\)\.]*[^\.]$`, Chain: nil}}}, + {TargetValue: frontDoorName, + Constraints: []validation.Constraint{{Target: "frontDoorName", Name: validation.MaxLength, Rule: 64, Chain: nil}, + {Target: "frontDoorName", Name: validation.MinLength, Rule: 5, Chain: nil}, + {Target: "frontDoorName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$`, Chain: nil}}}, + {TargetValue: frontendEndpointName, + Constraints: []validation.Constraint{{Target: "frontendEndpointName", Name: validation.MaxLength, Rule: 255, Chain: nil}, + {Target: "frontendEndpointName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "frontendEndpointName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("frontdoor.FrontendEndpointsClient", "DisableHTTPS", err.Error()) + } + + req, err := client.DisableHTTPSPreparer(ctx, resourceGroupName, frontDoorName, frontendEndpointName) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.FrontendEndpointsClient", "DisableHTTPS", nil, "Failure preparing request") + return + } + + result, err = client.DisableHTTPSSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.FrontendEndpointsClient", "DisableHTTPS", result.Response(), "Failure sending request") + return + } + + return +} + +// DisableHTTPSPreparer prepares the DisableHTTPS request. +func (client FrontendEndpointsClient) DisableHTTPSPreparer(ctx context.Context, resourceGroupName string, frontDoorName string, frontendEndpointName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "frontDoorName": autorest.Encode("path", frontDoorName), + "frontendEndpointName": autorest.Encode("path", frontendEndpointName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/frontendEndpoints/{frontendEndpointName}/disableHttps", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DisableHTTPSSender sends the DisableHTTPS request. The method will close the +// http.Response Body if it receives an error. +func (client FrontendEndpointsClient) DisableHTTPSSender(req *http.Request) (future FrontendEndpointsDisableHTTPSFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DisableHTTPSResponder handles the response to the DisableHTTPS request. The method always +// closes the http.Response Body. +func (client FrontendEndpointsClient) DisableHTTPSResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByClosing()) + result.Response = resp + return +} + +// EnableHTTPS enables a frontendEndpoint for HTTPS traffic +// Parameters: +// resourceGroupName - name of the Resource group within the Azure subscription. +// frontDoorName - name of the Front Door which is globally unique. +// frontendEndpointName - name of the Frontend endpoint which is unique within the Front Door. +// customHTTPSConfiguration - the configuration specifying how to enable HTTPS +func (client FrontendEndpointsClient) EnableHTTPS(ctx context.Context, resourceGroupName string, frontDoorName string, frontendEndpointName string, customHTTPSConfiguration CustomHTTPSConfiguration) (result FrontendEndpointsEnableHTTPSFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/FrontendEndpointsClient.EnableHTTPS") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 80, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9_\-\(\)\.]*[^\.]$`, Chain: nil}}}, + {TargetValue: frontDoorName, + Constraints: []validation.Constraint{{Target: "frontDoorName", Name: validation.MaxLength, Rule: 64, Chain: nil}, + {Target: "frontDoorName", Name: validation.MinLength, Rule: 5, Chain: nil}, + {Target: "frontDoorName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$`, Chain: nil}}}, + {TargetValue: frontendEndpointName, + Constraints: []validation.Constraint{{Target: "frontendEndpointName", Name: validation.MaxLength, Rule: 255, Chain: nil}, + {Target: "frontendEndpointName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "frontendEndpointName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$`, Chain: nil}}}, + {TargetValue: customHTTPSConfiguration, + Constraints: []validation.Constraint{{Target: "customHTTPSConfiguration.ProtocolType", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + return result, validation.NewError("frontdoor.FrontendEndpointsClient", "EnableHTTPS", err.Error()) + } + + req, err := client.EnableHTTPSPreparer(ctx, resourceGroupName, frontDoorName, frontendEndpointName, customHTTPSConfiguration) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.FrontendEndpointsClient", "EnableHTTPS", nil, "Failure preparing request") + return + } + + result, err = client.EnableHTTPSSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.FrontendEndpointsClient", "EnableHTTPS", result.Response(), "Failure sending request") + return + } + + return +} + +// EnableHTTPSPreparer prepares the EnableHTTPS request. +func (client FrontendEndpointsClient) EnableHTTPSPreparer(ctx context.Context, resourceGroupName string, frontDoorName string, frontendEndpointName string, customHTTPSConfiguration CustomHTTPSConfiguration) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "frontDoorName": autorest.Encode("path", frontDoorName), + "frontendEndpointName": autorest.Encode("path", frontendEndpointName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/frontendEndpoints/{frontendEndpointName}/enableHttps", pathParameters), + autorest.WithJSON(customHTTPSConfiguration), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// EnableHTTPSSender sends the EnableHTTPS request. The method will close the +// http.Response Body if it receives an error. +func (client FrontendEndpointsClient) EnableHTTPSSender(req *http.Request) (future FrontendEndpointsEnableHTTPSFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// EnableHTTPSResponder handles the response to the EnableHTTPS request. The method always +// closes the http.Response Body. +func (client FrontendEndpointsClient) EnableHTTPSResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets a Frontend endpoint with the specified name within the specified Front Door. +// Parameters: +// resourceGroupName - name of the Resource group within the Azure subscription. +// frontDoorName - name of the Front Door which is globally unique. +// frontendEndpointName - name of the Frontend endpoint which is unique within the Front Door. +func (client FrontendEndpointsClient) Get(ctx context.Context, resourceGroupName string, frontDoorName string, frontendEndpointName string) (result FrontendEndpoint, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/FrontendEndpointsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 80, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9_\-\(\)\.]*[^\.]$`, Chain: nil}}}, + {TargetValue: frontDoorName, + Constraints: []validation.Constraint{{Target: "frontDoorName", Name: validation.MaxLength, Rule: 64, Chain: nil}, + {Target: "frontDoorName", Name: validation.MinLength, Rule: 5, Chain: nil}, + {Target: "frontDoorName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$`, Chain: nil}}}, + {TargetValue: frontendEndpointName, + Constraints: []validation.Constraint{{Target: "frontendEndpointName", Name: validation.MaxLength, Rule: 255, Chain: nil}, + {Target: "frontendEndpointName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "frontendEndpointName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("frontdoor.FrontendEndpointsClient", "Get", err.Error()) + } + + req, err := client.GetPreparer(ctx, resourceGroupName, frontDoorName, frontendEndpointName) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.FrontendEndpointsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "frontdoor.FrontendEndpointsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.FrontendEndpointsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client FrontendEndpointsClient) GetPreparer(ctx context.Context, resourceGroupName string, frontDoorName string, frontendEndpointName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "frontDoorName": autorest.Encode("path", frontDoorName), + "frontendEndpointName": autorest.Encode("path", frontendEndpointName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/frontendEndpoints/{frontendEndpointName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client FrontendEndpointsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client FrontendEndpointsClient) GetResponder(resp *http.Response) (result FrontendEndpoint, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByFrontDoor lists all of the frontend endpoints within a Front Door. +// Parameters: +// resourceGroupName - name of the Resource group within the Azure subscription. +// frontDoorName - name of the Front Door which is globally unique. +func (client FrontendEndpointsClient) ListByFrontDoor(ctx context.Context, resourceGroupName string, frontDoorName string) (result FrontendEndpointsListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/FrontendEndpointsClient.ListByFrontDoor") + defer func() { + sc := -1 + if result.felr.Response.Response != nil { + sc = result.felr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 80, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9_\-\(\)\.]*[^\.]$`, Chain: nil}}}, + {TargetValue: frontDoorName, + Constraints: []validation.Constraint{{Target: "frontDoorName", Name: validation.MaxLength, Rule: 64, Chain: nil}, + {Target: "frontDoorName", Name: validation.MinLength, Rule: 5, Chain: nil}, + {Target: "frontDoorName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("frontdoor.FrontendEndpointsClient", "ListByFrontDoor", err.Error()) + } + + result.fn = client.listByFrontDoorNextResults + req, err := client.ListByFrontDoorPreparer(ctx, resourceGroupName, frontDoorName) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.FrontendEndpointsClient", "ListByFrontDoor", nil, "Failure preparing request") + return + } + + resp, err := client.ListByFrontDoorSender(req) + if err != nil { + result.felr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "frontdoor.FrontendEndpointsClient", "ListByFrontDoor", resp, "Failure sending request") + return + } + + result.felr, err = client.ListByFrontDoorResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.FrontendEndpointsClient", "ListByFrontDoor", resp, "Failure responding to request") + } + + return +} + +// ListByFrontDoorPreparer prepares the ListByFrontDoor request. +func (client FrontendEndpointsClient) ListByFrontDoorPreparer(ctx context.Context, resourceGroupName string, frontDoorName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "frontDoorName": autorest.Encode("path", frontDoorName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/frontendEndpoints", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByFrontDoorSender sends the ListByFrontDoor request. The method will close the +// http.Response Body if it receives an error. +func (client FrontendEndpointsClient) ListByFrontDoorSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByFrontDoorResponder handles the response to the ListByFrontDoor request. The method always +// closes the http.Response Body. +func (client FrontendEndpointsClient) ListByFrontDoorResponder(resp *http.Response) (result FrontendEndpointsListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listByFrontDoorNextResults retrieves the next set of results, if any. +func (client FrontendEndpointsClient) listByFrontDoorNextResults(ctx context.Context, lastResults FrontendEndpointsListResult) (result FrontendEndpointsListResult, err error) { + req, err := lastResults.frontendEndpointsListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "frontdoor.FrontendEndpointsClient", "listByFrontDoorNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListByFrontDoorSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "frontdoor.FrontendEndpointsClient", "listByFrontDoorNextResults", resp, "Failure sending next results request") + } + result, err = client.ListByFrontDoorResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.FrontendEndpointsClient", "listByFrontDoorNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListByFrontDoorComplete enumerates all values, automatically crossing page boundaries as required. +func (client FrontendEndpointsClient) ListByFrontDoorComplete(ctx context.Context, resourceGroupName string, frontDoorName string) (result FrontendEndpointsListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/FrontendEndpointsClient.ListByFrontDoor") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListByFrontDoor(ctx, resourceGroupName, frontDoorName) + return +} diff --git a/services/preview/frontdoor/mgmt/2019-05-01/frontdoor/healthprobesettings.go b/services/preview/frontdoor/mgmt/2019-05-01/frontdoor/healthprobesettings.go new file mode 100644 index 000000000000..3174cd47a673 --- /dev/null +++ b/services/preview/frontdoor/mgmt/2019-05-01/frontdoor/healthprobesettings.go @@ -0,0 +1,457 @@ +package frontdoor + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// HealthProbeSettingsClient is the frontDoor Client +type HealthProbeSettingsClient struct { + BaseClient +} + +// NewHealthProbeSettingsClient creates an instance of the HealthProbeSettingsClient client. +func NewHealthProbeSettingsClient(subscriptionID string) HealthProbeSettingsClient { + return NewHealthProbeSettingsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewHealthProbeSettingsClientWithBaseURI creates an instance of the HealthProbeSettingsClient client. +func NewHealthProbeSettingsClientWithBaseURI(baseURI string, subscriptionID string) HealthProbeSettingsClient { + return HealthProbeSettingsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates a new HealthProbeSettings with the specified Rule name within the specified Front Door. +// Parameters: +// resourceGroupName - name of the Resource group within the Azure subscription. +// frontDoorName - name of the Front Door which is globally unique. +// healthProbeSettingsName - name of the health probe settings which is unique within the Front Door. +// healthProbeSettingsParameters - healthProbeSettings properties needed to create a new Front Door. +func (client HealthProbeSettingsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, frontDoorName string, healthProbeSettingsName string, healthProbeSettingsParameters HealthProbeSettingsModel) (result HealthProbeSettingsCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/HealthProbeSettingsClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 80, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9_\-\(\)\.]*[^\.]$`, Chain: nil}}}, + {TargetValue: frontDoorName, + Constraints: []validation.Constraint{{Target: "frontDoorName", Name: validation.MaxLength, Rule: 64, Chain: nil}, + {Target: "frontDoorName", Name: validation.MinLength, Rule: 5, Chain: nil}, + {Target: "frontDoorName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$`, Chain: nil}}}, + {TargetValue: healthProbeSettingsName, + Constraints: []validation.Constraint{{Target: "healthProbeSettingsName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "healthProbeSettingsName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "healthProbeSettingsName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("frontdoor.HealthProbeSettingsClient", "CreateOrUpdate", err.Error()) + } + + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, frontDoorName, healthProbeSettingsName, healthProbeSettingsParameters) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.HealthProbeSettingsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.HealthProbeSettingsClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client HealthProbeSettingsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, frontDoorName string, healthProbeSettingsName string, healthProbeSettingsParameters HealthProbeSettingsModel) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "frontDoorName": autorest.Encode("path", frontDoorName), + "healthProbeSettingsName": autorest.Encode("path", healthProbeSettingsName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + healthProbeSettingsParameters.Type = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/healthProbeSettings/{healthProbeSettingsName}", pathParameters), + autorest.WithJSON(healthProbeSettingsParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client HealthProbeSettingsClient) CreateOrUpdateSender(req *http.Request) (future HealthProbeSettingsCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client HealthProbeSettingsClient) CreateOrUpdateResponder(resp *http.Response) (result HealthProbeSettingsModel, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes an existing HealthProbeSettings with the specified parameters. +// Parameters: +// resourceGroupName - name of the Resource group within the Azure subscription. +// frontDoorName - name of the Front Door which is globally unique. +// healthProbeSettingsName - name of the health probe settings which is unique within the Front Door. +func (client HealthProbeSettingsClient) Delete(ctx context.Context, resourceGroupName string, frontDoorName string, healthProbeSettingsName string) (result HealthProbeSettingsDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/HealthProbeSettingsClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 80, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9_\-\(\)\.]*[^\.]$`, Chain: nil}}}, + {TargetValue: frontDoorName, + Constraints: []validation.Constraint{{Target: "frontDoorName", Name: validation.MaxLength, Rule: 64, Chain: nil}, + {Target: "frontDoorName", Name: validation.MinLength, Rule: 5, Chain: nil}, + {Target: "frontDoorName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$`, Chain: nil}}}, + {TargetValue: healthProbeSettingsName, + Constraints: []validation.Constraint{{Target: "healthProbeSettingsName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "healthProbeSettingsName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "healthProbeSettingsName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("frontdoor.HealthProbeSettingsClient", "Delete", err.Error()) + } + + req, err := client.DeletePreparer(ctx, resourceGroupName, frontDoorName, healthProbeSettingsName) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.HealthProbeSettingsClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.HealthProbeSettingsClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client HealthProbeSettingsClient) DeletePreparer(ctx context.Context, resourceGroupName string, frontDoorName string, healthProbeSettingsName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "frontDoorName": autorest.Encode("path", frontDoorName), + "healthProbeSettingsName": autorest.Encode("path", healthProbeSettingsName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/healthProbeSettings/{healthProbeSettingsName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client HealthProbeSettingsClient) DeleteSender(req *http.Request) (future HealthProbeSettingsDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client HealthProbeSettingsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets a HealthProbeSettings with the specified Rule name within the specified Front Door. +// Parameters: +// resourceGroupName - name of the Resource group within the Azure subscription. +// frontDoorName - name of the Front Door which is globally unique. +// healthProbeSettingsName - name of the health probe settings which is unique within the Front Door. +func (client HealthProbeSettingsClient) Get(ctx context.Context, resourceGroupName string, frontDoorName string, healthProbeSettingsName string) (result HealthProbeSettingsModel, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/HealthProbeSettingsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 80, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9_\-\(\)\.]*[^\.]$`, Chain: nil}}}, + {TargetValue: frontDoorName, + Constraints: []validation.Constraint{{Target: "frontDoorName", Name: validation.MaxLength, Rule: 64, Chain: nil}, + {Target: "frontDoorName", Name: validation.MinLength, Rule: 5, Chain: nil}, + {Target: "frontDoorName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$`, Chain: nil}}}, + {TargetValue: healthProbeSettingsName, + Constraints: []validation.Constraint{{Target: "healthProbeSettingsName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "healthProbeSettingsName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "healthProbeSettingsName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("frontdoor.HealthProbeSettingsClient", "Get", err.Error()) + } + + req, err := client.GetPreparer(ctx, resourceGroupName, frontDoorName, healthProbeSettingsName) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.HealthProbeSettingsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "frontdoor.HealthProbeSettingsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.HealthProbeSettingsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client HealthProbeSettingsClient) GetPreparer(ctx context.Context, resourceGroupName string, frontDoorName string, healthProbeSettingsName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "frontDoorName": autorest.Encode("path", frontDoorName), + "healthProbeSettingsName": autorest.Encode("path", healthProbeSettingsName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/healthProbeSettings/{healthProbeSettingsName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client HealthProbeSettingsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client HealthProbeSettingsClient) GetResponder(resp *http.Response) (result HealthProbeSettingsModel, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByFrontDoor lists all of the HealthProbeSettings within a Front Door. +// Parameters: +// resourceGroupName - name of the Resource group within the Azure subscription. +// frontDoorName - name of the Front Door which is globally unique. +func (client HealthProbeSettingsClient) ListByFrontDoor(ctx context.Context, resourceGroupName string, frontDoorName string) (result HealthProbeSettingsListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/HealthProbeSettingsClient.ListByFrontDoor") + defer func() { + sc := -1 + if result.hpslr.Response.Response != nil { + sc = result.hpslr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 80, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9_\-\(\)\.]*[^\.]$`, Chain: nil}}}, + {TargetValue: frontDoorName, + Constraints: []validation.Constraint{{Target: "frontDoorName", Name: validation.MaxLength, Rule: 64, Chain: nil}, + {Target: "frontDoorName", Name: validation.MinLength, Rule: 5, Chain: nil}, + {Target: "frontDoorName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("frontdoor.HealthProbeSettingsClient", "ListByFrontDoor", err.Error()) + } + + result.fn = client.listByFrontDoorNextResults + req, err := client.ListByFrontDoorPreparer(ctx, resourceGroupName, frontDoorName) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.HealthProbeSettingsClient", "ListByFrontDoor", nil, "Failure preparing request") + return + } + + resp, err := client.ListByFrontDoorSender(req) + if err != nil { + result.hpslr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "frontdoor.HealthProbeSettingsClient", "ListByFrontDoor", resp, "Failure sending request") + return + } + + result.hpslr, err = client.ListByFrontDoorResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.HealthProbeSettingsClient", "ListByFrontDoor", resp, "Failure responding to request") + } + + return +} + +// ListByFrontDoorPreparer prepares the ListByFrontDoor request. +func (client HealthProbeSettingsClient) ListByFrontDoorPreparer(ctx context.Context, resourceGroupName string, frontDoorName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "frontDoorName": autorest.Encode("path", frontDoorName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/healthProbeSettings", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByFrontDoorSender sends the ListByFrontDoor request. The method will close the +// http.Response Body if it receives an error. +func (client HealthProbeSettingsClient) ListByFrontDoorSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByFrontDoorResponder handles the response to the ListByFrontDoor request. The method always +// closes the http.Response Body. +func (client HealthProbeSettingsClient) ListByFrontDoorResponder(resp *http.Response) (result HealthProbeSettingsListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listByFrontDoorNextResults retrieves the next set of results, if any. +func (client HealthProbeSettingsClient) listByFrontDoorNextResults(ctx context.Context, lastResults HealthProbeSettingsListResult) (result HealthProbeSettingsListResult, err error) { + req, err := lastResults.healthProbeSettingsListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "frontdoor.HealthProbeSettingsClient", "listByFrontDoorNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListByFrontDoorSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "frontdoor.HealthProbeSettingsClient", "listByFrontDoorNextResults", resp, "Failure sending next results request") + } + result, err = client.ListByFrontDoorResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.HealthProbeSettingsClient", "listByFrontDoorNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListByFrontDoorComplete enumerates all values, automatically crossing page boundaries as required. +func (client HealthProbeSettingsClient) ListByFrontDoorComplete(ctx context.Context, resourceGroupName string, frontDoorName string) (result HealthProbeSettingsListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/HealthProbeSettingsClient.ListByFrontDoor") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListByFrontDoor(ctx, resourceGroupName, frontDoorName) + return +} diff --git a/services/preview/frontdoor/mgmt/2019-05-01/frontdoor/loadbalancingsettings.go b/services/preview/frontdoor/mgmt/2019-05-01/frontdoor/loadbalancingsettings.go new file mode 100644 index 000000000000..7068baf3e4f3 --- /dev/null +++ b/services/preview/frontdoor/mgmt/2019-05-01/frontdoor/loadbalancingsettings.go @@ -0,0 +1,457 @@ +package frontdoor + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// LoadBalancingSettingsClient is the frontDoor Client +type LoadBalancingSettingsClient struct { + BaseClient +} + +// NewLoadBalancingSettingsClient creates an instance of the LoadBalancingSettingsClient client. +func NewLoadBalancingSettingsClient(subscriptionID string) LoadBalancingSettingsClient { + return NewLoadBalancingSettingsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewLoadBalancingSettingsClientWithBaseURI creates an instance of the LoadBalancingSettingsClient client. +func NewLoadBalancingSettingsClientWithBaseURI(baseURI string, subscriptionID string) LoadBalancingSettingsClient { + return LoadBalancingSettingsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates a new LoadBalancingSettings with the specified Rule name within the specified Front Door. +// Parameters: +// resourceGroupName - name of the Resource group within the Azure subscription. +// frontDoorName - name of the Front Door which is globally unique. +// loadBalancingSettingsName - name of the load balancing settings which is unique within the Front Door. +// loadBalancingSettingsParameters - loadBalancingSettings properties needed to create a new Front Door. +func (client LoadBalancingSettingsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, frontDoorName string, loadBalancingSettingsName string, loadBalancingSettingsParameters LoadBalancingSettingsModel) (result LoadBalancingSettingsCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LoadBalancingSettingsClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 80, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9_\-\(\)\.]*[^\.]$`, Chain: nil}}}, + {TargetValue: frontDoorName, + Constraints: []validation.Constraint{{Target: "frontDoorName", Name: validation.MaxLength, Rule: 64, Chain: nil}, + {Target: "frontDoorName", Name: validation.MinLength, Rule: 5, Chain: nil}, + {Target: "frontDoorName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$`, Chain: nil}}}, + {TargetValue: loadBalancingSettingsName, + Constraints: []validation.Constraint{{Target: "loadBalancingSettingsName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "loadBalancingSettingsName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "loadBalancingSettingsName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("frontdoor.LoadBalancingSettingsClient", "CreateOrUpdate", err.Error()) + } + + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, frontDoorName, loadBalancingSettingsName, loadBalancingSettingsParameters) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.LoadBalancingSettingsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.LoadBalancingSettingsClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client LoadBalancingSettingsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, frontDoorName string, loadBalancingSettingsName string, loadBalancingSettingsParameters LoadBalancingSettingsModel) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "frontDoorName": autorest.Encode("path", frontDoorName), + "loadBalancingSettingsName": autorest.Encode("path", loadBalancingSettingsName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + loadBalancingSettingsParameters.Type = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/loadBalancingSettings/{loadBalancingSettingsName}", pathParameters), + autorest.WithJSON(loadBalancingSettingsParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client LoadBalancingSettingsClient) CreateOrUpdateSender(req *http.Request) (future LoadBalancingSettingsCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client LoadBalancingSettingsClient) CreateOrUpdateResponder(resp *http.Response) (result LoadBalancingSettingsModel, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes an existing LoadBalancingSettings with the specified parameters. +// Parameters: +// resourceGroupName - name of the Resource group within the Azure subscription. +// frontDoorName - name of the Front Door which is globally unique. +// loadBalancingSettingsName - name of the load balancing settings which is unique within the Front Door. +func (client LoadBalancingSettingsClient) Delete(ctx context.Context, resourceGroupName string, frontDoorName string, loadBalancingSettingsName string) (result LoadBalancingSettingsDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LoadBalancingSettingsClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 80, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9_\-\(\)\.]*[^\.]$`, Chain: nil}}}, + {TargetValue: frontDoorName, + Constraints: []validation.Constraint{{Target: "frontDoorName", Name: validation.MaxLength, Rule: 64, Chain: nil}, + {Target: "frontDoorName", Name: validation.MinLength, Rule: 5, Chain: nil}, + {Target: "frontDoorName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$`, Chain: nil}}}, + {TargetValue: loadBalancingSettingsName, + Constraints: []validation.Constraint{{Target: "loadBalancingSettingsName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "loadBalancingSettingsName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "loadBalancingSettingsName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("frontdoor.LoadBalancingSettingsClient", "Delete", err.Error()) + } + + req, err := client.DeletePreparer(ctx, resourceGroupName, frontDoorName, loadBalancingSettingsName) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.LoadBalancingSettingsClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.LoadBalancingSettingsClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client LoadBalancingSettingsClient) DeletePreparer(ctx context.Context, resourceGroupName string, frontDoorName string, loadBalancingSettingsName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "frontDoorName": autorest.Encode("path", frontDoorName), + "loadBalancingSettingsName": autorest.Encode("path", loadBalancingSettingsName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/loadBalancingSettings/{loadBalancingSettingsName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client LoadBalancingSettingsClient) DeleteSender(req *http.Request) (future LoadBalancingSettingsDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client LoadBalancingSettingsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets a LoadBalancingSettings with the specified Rule name within the specified Front Door. +// Parameters: +// resourceGroupName - name of the Resource group within the Azure subscription. +// frontDoorName - name of the Front Door which is globally unique. +// loadBalancingSettingsName - name of the load balancing settings which is unique within the Front Door. +func (client LoadBalancingSettingsClient) Get(ctx context.Context, resourceGroupName string, frontDoorName string, loadBalancingSettingsName string) (result LoadBalancingSettingsModel, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LoadBalancingSettingsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 80, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9_\-\(\)\.]*[^\.]$`, Chain: nil}}}, + {TargetValue: frontDoorName, + Constraints: []validation.Constraint{{Target: "frontDoorName", Name: validation.MaxLength, Rule: 64, Chain: nil}, + {Target: "frontDoorName", Name: validation.MinLength, Rule: 5, Chain: nil}, + {Target: "frontDoorName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$`, Chain: nil}}}, + {TargetValue: loadBalancingSettingsName, + Constraints: []validation.Constraint{{Target: "loadBalancingSettingsName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "loadBalancingSettingsName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "loadBalancingSettingsName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("frontdoor.LoadBalancingSettingsClient", "Get", err.Error()) + } + + req, err := client.GetPreparer(ctx, resourceGroupName, frontDoorName, loadBalancingSettingsName) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.LoadBalancingSettingsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "frontdoor.LoadBalancingSettingsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.LoadBalancingSettingsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client LoadBalancingSettingsClient) GetPreparer(ctx context.Context, resourceGroupName string, frontDoorName string, loadBalancingSettingsName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "frontDoorName": autorest.Encode("path", frontDoorName), + "loadBalancingSettingsName": autorest.Encode("path", loadBalancingSettingsName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/loadBalancingSettings/{loadBalancingSettingsName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client LoadBalancingSettingsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client LoadBalancingSettingsClient) GetResponder(resp *http.Response) (result LoadBalancingSettingsModel, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByFrontDoor lists all of the LoadBalancingSettings within a Front Door. +// Parameters: +// resourceGroupName - name of the Resource group within the Azure subscription. +// frontDoorName - name of the Front Door which is globally unique. +func (client LoadBalancingSettingsClient) ListByFrontDoor(ctx context.Context, resourceGroupName string, frontDoorName string) (result LoadBalancingSettingsListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LoadBalancingSettingsClient.ListByFrontDoor") + defer func() { + sc := -1 + if result.lbslr.Response.Response != nil { + sc = result.lbslr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 80, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9_\-\(\)\.]*[^\.]$`, Chain: nil}}}, + {TargetValue: frontDoorName, + Constraints: []validation.Constraint{{Target: "frontDoorName", Name: validation.MaxLength, Rule: 64, Chain: nil}, + {Target: "frontDoorName", Name: validation.MinLength, Rule: 5, Chain: nil}, + {Target: "frontDoorName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("frontdoor.LoadBalancingSettingsClient", "ListByFrontDoor", err.Error()) + } + + result.fn = client.listByFrontDoorNextResults + req, err := client.ListByFrontDoorPreparer(ctx, resourceGroupName, frontDoorName) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.LoadBalancingSettingsClient", "ListByFrontDoor", nil, "Failure preparing request") + return + } + + resp, err := client.ListByFrontDoorSender(req) + if err != nil { + result.lbslr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "frontdoor.LoadBalancingSettingsClient", "ListByFrontDoor", resp, "Failure sending request") + return + } + + result.lbslr, err = client.ListByFrontDoorResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.LoadBalancingSettingsClient", "ListByFrontDoor", resp, "Failure responding to request") + } + + return +} + +// ListByFrontDoorPreparer prepares the ListByFrontDoor request. +func (client LoadBalancingSettingsClient) ListByFrontDoorPreparer(ctx context.Context, resourceGroupName string, frontDoorName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "frontDoorName": autorest.Encode("path", frontDoorName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/loadBalancingSettings", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByFrontDoorSender sends the ListByFrontDoor request. The method will close the +// http.Response Body if it receives an error. +func (client LoadBalancingSettingsClient) ListByFrontDoorSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByFrontDoorResponder handles the response to the ListByFrontDoor request. The method always +// closes the http.Response Body. +func (client LoadBalancingSettingsClient) ListByFrontDoorResponder(resp *http.Response) (result LoadBalancingSettingsListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listByFrontDoorNextResults retrieves the next set of results, if any. +func (client LoadBalancingSettingsClient) listByFrontDoorNextResults(ctx context.Context, lastResults LoadBalancingSettingsListResult) (result LoadBalancingSettingsListResult, err error) { + req, err := lastResults.loadBalancingSettingsListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "frontdoor.LoadBalancingSettingsClient", "listByFrontDoorNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListByFrontDoorSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "frontdoor.LoadBalancingSettingsClient", "listByFrontDoorNextResults", resp, "Failure sending next results request") + } + result, err = client.ListByFrontDoorResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.LoadBalancingSettingsClient", "listByFrontDoorNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListByFrontDoorComplete enumerates all values, automatically crossing page boundaries as required. +func (client LoadBalancingSettingsClient) ListByFrontDoorComplete(ctx context.Context, resourceGroupName string, frontDoorName string) (result LoadBalancingSettingsListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LoadBalancingSettingsClient.ListByFrontDoor") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListByFrontDoor(ctx, resourceGroupName, frontDoorName) + return +} diff --git a/services/preview/frontdoor/mgmt/2019-05-01/frontdoor/managedrulesets.go b/services/preview/frontdoor/mgmt/2019-05-01/frontdoor/managedrulesets.go new file mode 100644 index 000000000000..131f3c52f5ef --- /dev/null +++ b/services/preview/frontdoor/mgmt/2019-05-01/frontdoor/managedrulesets.go @@ -0,0 +1,151 @@ +package frontdoor + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// ManagedRuleSetsClient is the frontDoor Client +type ManagedRuleSetsClient struct { + BaseClient +} + +// NewManagedRuleSetsClient creates an instance of the ManagedRuleSetsClient client. +func NewManagedRuleSetsClient(subscriptionID string) ManagedRuleSetsClient { + return NewManagedRuleSetsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewManagedRuleSetsClientWithBaseURI creates an instance of the ManagedRuleSetsClient client. +func NewManagedRuleSetsClientWithBaseURI(baseURI string, subscriptionID string) ManagedRuleSetsClient { + return ManagedRuleSetsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// List lists all available managed rule sets. +func (client ManagedRuleSetsClient) List(ctx context.Context) (result ManagedRuleSetDefinitionListPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ManagedRuleSetsClient.List") + defer func() { + sc := -1 + if result.mrsdl.Response.Response != nil { + sc = result.mrsdl.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.ManagedRuleSetsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.mrsdl.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "frontdoor.ManagedRuleSetsClient", "List", resp, "Failure sending request") + return + } + + result.mrsdl, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.ManagedRuleSetsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client ManagedRuleSetsClient) ListPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-03-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/FrontDoorWebApplicationFirewallManagedRuleSets", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client ManagedRuleSetsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client ManagedRuleSetsClient) ListResponder(resp *http.Response) (result ManagedRuleSetDefinitionList, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client ManagedRuleSetsClient) listNextResults(ctx context.Context, lastResults ManagedRuleSetDefinitionList) (result ManagedRuleSetDefinitionList, err error) { + req, err := lastResults.managedRuleSetDefinitionListPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "frontdoor.ManagedRuleSetsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "frontdoor.ManagedRuleSetsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.ManagedRuleSetsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client ManagedRuleSetsClient) ListComplete(ctx context.Context) (result ManagedRuleSetDefinitionListIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ManagedRuleSetsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx) + return +} diff --git a/services/preview/frontdoor/mgmt/2019-05-01/frontdoor/models.go b/services/preview/frontdoor/mgmt/2019-05-01/frontdoor/models.go new file mode 100644 index 000000000000..b7801231ebc4 --- /dev/null +++ b/services/preview/frontdoor/mgmt/2019-05-01/frontdoor/models.go @@ -0,0 +1,3889 @@ +package frontdoor + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "encoding/json" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/to" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// The package's fully qualified name. +const fqdn = "github.com/Azure/azure-sdk-for-go/services/preview/frontdoor/mgmt/2019-05-01/frontdoor" + +// ActionType enumerates the values for action type. +type ActionType string + +const ( + // Allow ... + Allow ActionType = "Allow" + // Block ... + Block ActionType = "Block" + // Log ... + Log ActionType = "Log" + // Redirect ... + Redirect ActionType = "Redirect" +) + +// PossibleActionTypeValues returns an array of possible values for the ActionType const type. +func PossibleActionTypeValues() []ActionType { + return []ActionType{Allow, Block, Log, Redirect} +} + +// Availability enumerates the values for availability. +type Availability string + +const ( + // Available ... + Available Availability = "Available" + // Unavailable ... + Unavailable Availability = "Unavailable" +) + +// PossibleAvailabilityValues returns an array of possible values for the Availability const type. +func PossibleAvailabilityValues() []Availability { + return []Availability{Available, Unavailable} +} + +// BackendEnabledState enumerates the values for backend enabled state. +type BackendEnabledState string + +const ( + // Disabled ... + Disabled BackendEnabledState = "Disabled" + // Enabled ... + Enabled BackendEnabledState = "Enabled" +) + +// PossibleBackendEnabledStateValues returns an array of possible values for the BackendEnabledState const type. +func PossibleBackendEnabledStateValues() []BackendEnabledState { + return []BackendEnabledState{Disabled, Enabled} +} + +// CertificateSource enumerates the values for certificate source. +type CertificateSource string + +const ( + // CertificateSourceAzureKeyVault ... + CertificateSourceAzureKeyVault CertificateSource = "AzureKeyVault" + // CertificateSourceFrontDoor ... + CertificateSourceFrontDoor CertificateSource = "FrontDoor" +) + +// PossibleCertificateSourceValues returns an array of possible values for the CertificateSource const type. +func PossibleCertificateSourceValues() []CertificateSource { + return []CertificateSource{CertificateSourceAzureKeyVault, CertificateSourceFrontDoor} +} + +// CertificateType enumerates the values for certificate type. +type CertificateType string + +const ( + // Dedicated ... + Dedicated CertificateType = "Dedicated" +) + +// PossibleCertificateTypeValues returns an array of possible values for the CertificateType const type. +func PossibleCertificateTypeValues() []CertificateType { + return []CertificateType{Dedicated} +} + +// CustomHTTPSProvisioningState enumerates the values for custom https provisioning state. +type CustomHTTPSProvisioningState string + +const ( + // CustomHTTPSProvisioningStateDisabled ... + CustomHTTPSProvisioningStateDisabled CustomHTTPSProvisioningState = "Disabled" + // CustomHTTPSProvisioningStateDisabling ... + CustomHTTPSProvisioningStateDisabling CustomHTTPSProvisioningState = "Disabling" + // CustomHTTPSProvisioningStateEnabled ... + CustomHTTPSProvisioningStateEnabled CustomHTTPSProvisioningState = "Enabled" + // CustomHTTPSProvisioningStateEnabling ... + CustomHTTPSProvisioningStateEnabling CustomHTTPSProvisioningState = "Enabling" + // CustomHTTPSProvisioningStateFailed ... + CustomHTTPSProvisioningStateFailed CustomHTTPSProvisioningState = "Failed" +) + +// PossibleCustomHTTPSProvisioningStateValues returns an array of possible values for the CustomHTTPSProvisioningState const type. +func PossibleCustomHTTPSProvisioningStateValues() []CustomHTTPSProvisioningState { + return []CustomHTTPSProvisioningState{CustomHTTPSProvisioningStateDisabled, CustomHTTPSProvisioningStateDisabling, CustomHTTPSProvisioningStateEnabled, CustomHTTPSProvisioningStateEnabling, CustomHTTPSProvisioningStateFailed} +} + +// CustomHTTPSProvisioningSubstate enumerates the values for custom https provisioning substate. +type CustomHTTPSProvisioningSubstate string + +const ( + // CertificateDeleted ... + CertificateDeleted CustomHTTPSProvisioningSubstate = "CertificateDeleted" + // CertificateDeployed ... + CertificateDeployed CustomHTTPSProvisioningSubstate = "CertificateDeployed" + // DeletingCertificate ... + DeletingCertificate CustomHTTPSProvisioningSubstate = "DeletingCertificate" + // DeployingCertificate ... + DeployingCertificate CustomHTTPSProvisioningSubstate = "DeployingCertificate" + // DomainControlValidationRequestApproved ... + DomainControlValidationRequestApproved CustomHTTPSProvisioningSubstate = "DomainControlValidationRequestApproved" + // DomainControlValidationRequestRejected ... + DomainControlValidationRequestRejected CustomHTTPSProvisioningSubstate = "DomainControlValidationRequestRejected" + // DomainControlValidationRequestTimedOut ... + DomainControlValidationRequestTimedOut CustomHTTPSProvisioningSubstate = "DomainControlValidationRequestTimedOut" + // IssuingCertificate ... + IssuingCertificate CustomHTTPSProvisioningSubstate = "IssuingCertificate" + // PendingDomainControlValidationREquestApproval ... + PendingDomainControlValidationREquestApproval CustomHTTPSProvisioningSubstate = "PendingDomainControlValidationREquestApproval" + // SubmittingDomainControlValidationRequest ... + SubmittingDomainControlValidationRequest CustomHTTPSProvisioningSubstate = "SubmittingDomainControlValidationRequest" +) + +// PossibleCustomHTTPSProvisioningSubstateValues returns an array of possible values for the CustomHTTPSProvisioningSubstate const type. +func PossibleCustomHTTPSProvisioningSubstateValues() []CustomHTTPSProvisioningSubstate { + return []CustomHTTPSProvisioningSubstate{CertificateDeleted, CertificateDeployed, DeletingCertificate, DeployingCertificate, DomainControlValidationRequestApproved, DomainControlValidationRequestRejected, DomainControlValidationRequestTimedOut, IssuingCertificate, PendingDomainControlValidationREquestApproval, SubmittingDomainControlValidationRequest} +} + +// CustomRuleEnabledState enumerates the values for custom rule enabled state. +type CustomRuleEnabledState string + +const ( + // CustomRuleEnabledStateDisabled ... + CustomRuleEnabledStateDisabled CustomRuleEnabledState = "Disabled" + // CustomRuleEnabledStateEnabled ... + CustomRuleEnabledStateEnabled CustomRuleEnabledState = "Enabled" +) + +// PossibleCustomRuleEnabledStateValues returns an array of possible values for the CustomRuleEnabledState const type. +func PossibleCustomRuleEnabledStateValues() []CustomRuleEnabledState { + return []CustomRuleEnabledState{CustomRuleEnabledStateDisabled, CustomRuleEnabledStateEnabled} +} + +// DynamicCompressionEnabled enumerates the values for dynamic compression enabled. +type DynamicCompressionEnabled string + +const ( + // DynamicCompressionEnabledDisabled ... + DynamicCompressionEnabledDisabled DynamicCompressionEnabled = "Disabled" + // DynamicCompressionEnabledEnabled ... + DynamicCompressionEnabledEnabled DynamicCompressionEnabled = "Enabled" +) + +// PossibleDynamicCompressionEnabledValues returns an array of possible values for the DynamicCompressionEnabled const type. +func PossibleDynamicCompressionEnabledValues() []DynamicCompressionEnabled { + return []DynamicCompressionEnabled{DynamicCompressionEnabledDisabled, DynamicCompressionEnabledEnabled} +} + +// EnabledState enumerates the values for enabled state. +type EnabledState string + +const ( + // EnabledStateDisabled ... + EnabledStateDisabled EnabledState = "Disabled" + // EnabledStateEnabled ... + EnabledStateEnabled EnabledState = "Enabled" +) + +// PossibleEnabledStateValues returns an array of possible values for the EnabledState const type. +func PossibleEnabledStateValues() []EnabledState { + return []EnabledState{EnabledStateDisabled, EnabledStateEnabled} +} + +// EnforceCertificateNameCheckEnabledState enumerates the values for enforce certificate name check enabled +// state. +type EnforceCertificateNameCheckEnabledState string + +const ( + // EnforceCertificateNameCheckEnabledStateDisabled ... + EnforceCertificateNameCheckEnabledStateDisabled EnforceCertificateNameCheckEnabledState = "Disabled" + // EnforceCertificateNameCheckEnabledStateEnabled ... + EnforceCertificateNameCheckEnabledStateEnabled EnforceCertificateNameCheckEnabledState = "Enabled" +) + +// PossibleEnforceCertificateNameCheckEnabledStateValues returns an array of possible values for the EnforceCertificateNameCheckEnabledState const type. +func PossibleEnforceCertificateNameCheckEnabledStateValues() []EnforceCertificateNameCheckEnabledState { + return []EnforceCertificateNameCheckEnabledState{EnforceCertificateNameCheckEnabledStateDisabled, EnforceCertificateNameCheckEnabledStateEnabled} +} + +// ForwardingProtocol enumerates the values for forwarding protocol. +type ForwardingProtocol string + +const ( + // HTTPOnly ... + HTTPOnly ForwardingProtocol = "HttpOnly" + // HTTPSOnly ... + HTTPSOnly ForwardingProtocol = "HttpsOnly" + // MatchRequest ... + MatchRequest ForwardingProtocol = "MatchRequest" +) + +// PossibleForwardingProtocolValues returns an array of possible values for the ForwardingProtocol const type. +func PossibleForwardingProtocolValues() []ForwardingProtocol { + return []ForwardingProtocol{HTTPOnly, HTTPSOnly, MatchRequest} +} + +// HealthProbeEnabled enumerates the values for health probe enabled. +type HealthProbeEnabled string + +const ( + // HealthProbeEnabledDisabled ... + HealthProbeEnabledDisabled HealthProbeEnabled = "Disabled" + // HealthProbeEnabledEnabled ... + HealthProbeEnabledEnabled HealthProbeEnabled = "Enabled" +) + +// PossibleHealthProbeEnabledValues returns an array of possible values for the HealthProbeEnabled const type. +func PossibleHealthProbeEnabledValues() []HealthProbeEnabled { + return []HealthProbeEnabled{HealthProbeEnabledDisabled, HealthProbeEnabledEnabled} +} + +// HealthProbeMethod enumerates the values for health probe method. +type HealthProbeMethod string + +const ( + // GET ... + GET HealthProbeMethod = "GET" + // HEAD ... + HEAD HealthProbeMethod = "HEAD" +) + +// PossibleHealthProbeMethodValues returns an array of possible values for the HealthProbeMethod const type. +func PossibleHealthProbeMethodValues() []HealthProbeMethod { + return []HealthProbeMethod{GET, HEAD} +} + +// ManagedRuleEnabledState enumerates the values for managed rule enabled state. +type ManagedRuleEnabledState string + +const ( + // ManagedRuleEnabledStateDisabled ... + ManagedRuleEnabledStateDisabled ManagedRuleEnabledState = "Disabled" + // ManagedRuleEnabledStateEnabled ... + ManagedRuleEnabledStateEnabled ManagedRuleEnabledState = "Enabled" +) + +// PossibleManagedRuleEnabledStateValues returns an array of possible values for the ManagedRuleEnabledState const type. +func PossibleManagedRuleEnabledStateValues() []ManagedRuleEnabledState { + return []ManagedRuleEnabledState{ManagedRuleEnabledStateDisabled, ManagedRuleEnabledStateEnabled} +} + +// MatchVariable enumerates the values for match variable. +type MatchVariable string + +const ( + // Cookies ... + Cookies MatchVariable = "Cookies" + // PostArgs ... + PostArgs MatchVariable = "PostArgs" + // QueryString ... + QueryString MatchVariable = "QueryString" + // RemoteAddr ... + RemoteAddr MatchVariable = "RemoteAddr" + // RequestBody ... + RequestBody MatchVariable = "RequestBody" + // RequestHeader ... + RequestHeader MatchVariable = "RequestHeader" + // RequestMethod ... + RequestMethod MatchVariable = "RequestMethod" + // RequestURI ... + RequestURI MatchVariable = "RequestUri" +) + +// PossibleMatchVariableValues returns an array of possible values for the MatchVariable const type. +func PossibleMatchVariableValues() []MatchVariable { + return []MatchVariable{Cookies, PostArgs, QueryString, RemoteAddr, RequestBody, RequestHeader, RequestMethod, RequestURI} +} + +// MinimumTLSVersion enumerates the values for minimum tls version. +type MinimumTLSVersion string + +const ( + // OneFullStopTwo ... + OneFullStopTwo MinimumTLSVersion = "1.2" + // OneFullStopZero ... + OneFullStopZero MinimumTLSVersion = "1.0" +) + +// PossibleMinimumTLSVersionValues returns an array of possible values for the MinimumTLSVersion const type. +func PossibleMinimumTLSVersionValues() []MinimumTLSVersion { + return []MinimumTLSVersion{OneFullStopTwo, OneFullStopZero} +} + +// NetworkOperationStatus enumerates the values for network operation status. +type NetworkOperationStatus string + +const ( + // Failed ... + Failed NetworkOperationStatus = "Failed" + // InProgress ... + InProgress NetworkOperationStatus = "InProgress" + // Succeeded ... + Succeeded NetworkOperationStatus = "Succeeded" +) + +// PossibleNetworkOperationStatusValues returns an array of possible values for the NetworkOperationStatus const type. +func PossibleNetworkOperationStatusValues() []NetworkOperationStatus { + return []NetworkOperationStatus{Failed, InProgress, Succeeded} +} + +// OdataType enumerates the values for odata type. +type OdataType string + +const ( + // OdataTypeMicrosoftAzureFrontDoorModelsFrontdoorForwardingConfiguration ... + OdataTypeMicrosoftAzureFrontDoorModelsFrontdoorForwardingConfiguration OdataType = "#Microsoft.Azure.FrontDoor.Models.FrontdoorForwardingConfiguration" + // OdataTypeMicrosoftAzureFrontDoorModelsFrontdoorRedirectConfiguration ... + OdataTypeMicrosoftAzureFrontDoorModelsFrontdoorRedirectConfiguration OdataType = "#Microsoft.Azure.FrontDoor.Models.FrontdoorRedirectConfiguration" + // OdataTypeRouteConfiguration ... + OdataTypeRouteConfiguration OdataType = "RouteConfiguration" +) + +// PossibleOdataTypeValues returns an array of possible values for the OdataType const type. +func PossibleOdataTypeValues() []OdataType { + return []OdataType{OdataTypeMicrosoftAzureFrontDoorModelsFrontdoorForwardingConfiguration, OdataTypeMicrosoftAzureFrontDoorModelsFrontdoorRedirectConfiguration, OdataTypeRouteConfiguration} +} + +// Operator enumerates the values for operator. +type Operator string + +const ( + // Any ... + Any Operator = "Any" + // BeginsWith ... + BeginsWith Operator = "BeginsWith" + // Contains ... + Contains Operator = "Contains" + // EndsWith ... + EndsWith Operator = "EndsWith" + // Equal ... + Equal Operator = "Equal" + // GeoMatch ... + GeoMatch Operator = "GeoMatch" + // GreaterThan ... + GreaterThan Operator = "GreaterThan" + // GreaterThanOrEqual ... + GreaterThanOrEqual Operator = "GreaterThanOrEqual" + // IPMatch ... + IPMatch Operator = "IPMatch" + // LessThan ... + LessThan Operator = "LessThan" + // LessThanOrEqual ... + LessThanOrEqual Operator = "LessThanOrEqual" + // RegEx ... + RegEx Operator = "RegEx" +) + +// PossibleOperatorValues returns an array of possible values for the Operator const type. +func PossibleOperatorValues() []Operator { + return []Operator{Any, BeginsWith, Contains, EndsWith, Equal, GeoMatch, GreaterThan, GreaterThanOrEqual, IPMatch, LessThan, LessThanOrEqual, RegEx} +} + +// PolicyEnabledState enumerates the values for policy enabled state. +type PolicyEnabledState string + +const ( + // PolicyEnabledStateDisabled ... + PolicyEnabledStateDisabled PolicyEnabledState = "Disabled" + // PolicyEnabledStateEnabled ... + PolicyEnabledStateEnabled PolicyEnabledState = "Enabled" +) + +// PossiblePolicyEnabledStateValues returns an array of possible values for the PolicyEnabledState const type. +func PossiblePolicyEnabledStateValues() []PolicyEnabledState { + return []PolicyEnabledState{PolicyEnabledStateDisabled, PolicyEnabledStateEnabled} +} + +// PolicyMode enumerates the values for policy mode. +type PolicyMode string + +const ( + // Detection ... + Detection PolicyMode = "Detection" + // Prevention ... + Prevention PolicyMode = "Prevention" +) + +// PossiblePolicyModeValues returns an array of possible values for the PolicyMode const type. +func PossiblePolicyModeValues() []PolicyMode { + return []PolicyMode{Detection, Prevention} +} + +// PolicyResourceState enumerates the values for policy resource state. +type PolicyResourceState string + +const ( + // PolicyResourceStateCreating ... + PolicyResourceStateCreating PolicyResourceState = "Creating" + // PolicyResourceStateDeleting ... + PolicyResourceStateDeleting PolicyResourceState = "Deleting" + // PolicyResourceStateDisabled ... + PolicyResourceStateDisabled PolicyResourceState = "Disabled" + // PolicyResourceStateDisabling ... + PolicyResourceStateDisabling PolicyResourceState = "Disabling" + // PolicyResourceStateEnabled ... + PolicyResourceStateEnabled PolicyResourceState = "Enabled" + // PolicyResourceStateEnabling ... + PolicyResourceStateEnabling PolicyResourceState = "Enabling" +) + +// PossiblePolicyResourceStateValues returns an array of possible values for the PolicyResourceState const type. +func PossiblePolicyResourceStateValues() []PolicyResourceState { + return []PolicyResourceState{PolicyResourceStateCreating, PolicyResourceStateDeleting, PolicyResourceStateDisabled, PolicyResourceStateDisabling, PolicyResourceStateEnabled, PolicyResourceStateEnabling} +} + +// Protocol enumerates the values for protocol. +type Protocol string + +const ( + // HTTP ... + HTTP Protocol = "Http" + // HTTPS ... + HTTPS Protocol = "Https" +) + +// PossibleProtocolValues returns an array of possible values for the Protocol const type. +func PossibleProtocolValues() []Protocol { + return []Protocol{HTTP, HTTPS} +} + +// Query enumerates the values for query. +type Query string + +const ( + // StripAll ... + StripAll Query = "StripAll" + // StripNone ... + StripNone Query = "StripNone" +) + +// PossibleQueryValues returns an array of possible values for the Query const type. +func PossibleQueryValues() []Query { + return []Query{StripAll, StripNone} +} + +// RedirectProtocol enumerates the values for redirect protocol. +type RedirectProtocol string + +const ( + // RedirectProtocolHTTPOnly ... + RedirectProtocolHTTPOnly RedirectProtocol = "HttpOnly" + // RedirectProtocolHTTPSOnly ... + RedirectProtocolHTTPSOnly RedirectProtocol = "HttpsOnly" + // RedirectProtocolMatchRequest ... + RedirectProtocolMatchRequest RedirectProtocol = "MatchRequest" +) + +// PossibleRedirectProtocolValues returns an array of possible values for the RedirectProtocol const type. +func PossibleRedirectProtocolValues() []RedirectProtocol { + return []RedirectProtocol{RedirectProtocolHTTPOnly, RedirectProtocolHTTPSOnly, RedirectProtocolMatchRequest} +} + +// RedirectType enumerates the values for redirect type. +type RedirectType string + +const ( + // Found ... + Found RedirectType = "Found" + // Moved ... + Moved RedirectType = "Moved" + // PermanentRedirect ... + PermanentRedirect RedirectType = "PermanentRedirect" + // TemporaryRedirect ... + TemporaryRedirect RedirectType = "TemporaryRedirect" +) + +// PossibleRedirectTypeValues returns an array of possible values for the RedirectType const type. +func PossibleRedirectTypeValues() []RedirectType { + return []RedirectType{Found, Moved, PermanentRedirect, TemporaryRedirect} +} + +// ResourceState enumerates the values for resource state. +type ResourceState string + +const ( + // ResourceStateCreating ... + ResourceStateCreating ResourceState = "Creating" + // ResourceStateDeleting ... + ResourceStateDeleting ResourceState = "Deleting" + // ResourceStateDisabled ... + ResourceStateDisabled ResourceState = "Disabled" + // ResourceStateDisabling ... + ResourceStateDisabling ResourceState = "Disabling" + // ResourceStateEnabled ... + ResourceStateEnabled ResourceState = "Enabled" + // ResourceStateEnabling ... + ResourceStateEnabling ResourceState = "Enabling" +) + +// PossibleResourceStateValues returns an array of possible values for the ResourceState const type. +func PossibleResourceStateValues() []ResourceState { + return []ResourceState{ResourceStateCreating, ResourceStateDeleting, ResourceStateDisabled, ResourceStateDisabling, ResourceStateEnabled, ResourceStateEnabling} +} + +// ResourceType enumerates the values for resource type. +type ResourceType string + +const ( + // MicrosoftNetworkfrontDoors ... + MicrosoftNetworkfrontDoors ResourceType = "Microsoft.Network/frontDoors" + // MicrosoftNetworkfrontDoorsfrontendEndpoints ... + MicrosoftNetworkfrontDoorsfrontendEndpoints ResourceType = "Microsoft.Network/frontDoors/frontendEndpoints" +) + +// PossibleResourceTypeValues returns an array of possible values for the ResourceType const type. +func PossibleResourceTypeValues() []ResourceType { + return []ResourceType{MicrosoftNetworkfrontDoors, MicrosoftNetworkfrontDoorsfrontendEndpoints} +} + +// RoutingRuleEnabledState enumerates the values for routing rule enabled state. +type RoutingRuleEnabledState string + +const ( + // RoutingRuleEnabledStateDisabled ... + RoutingRuleEnabledStateDisabled RoutingRuleEnabledState = "Disabled" + // RoutingRuleEnabledStateEnabled ... + RoutingRuleEnabledStateEnabled RoutingRuleEnabledState = "Enabled" +) + +// PossibleRoutingRuleEnabledStateValues returns an array of possible values for the RoutingRuleEnabledState const type. +func PossibleRoutingRuleEnabledStateValues() []RoutingRuleEnabledState { + return []RoutingRuleEnabledState{RoutingRuleEnabledStateDisabled, RoutingRuleEnabledStateEnabled} +} + +// RuleType enumerates the values for rule type. +type RuleType string + +const ( + // MatchRule ... + MatchRule RuleType = "MatchRule" + // RateLimitRule ... + RateLimitRule RuleType = "RateLimitRule" +) + +// PossibleRuleTypeValues returns an array of possible values for the RuleType const type. +func PossibleRuleTypeValues() []RuleType { + return []RuleType{MatchRule, RateLimitRule} +} + +// SessionAffinityEnabledState enumerates the values for session affinity enabled state. +type SessionAffinityEnabledState string + +const ( + // SessionAffinityEnabledStateDisabled ... + SessionAffinityEnabledStateDisabled SessionAffinityEnabledState = "Disabled" + // SessionAffinityEnabledStateEnabled ... + SessionAffinityEnabledStateEnabled SessionAffinityEnabledState = "Enabled" +) + +// PossibleSessionAffinityEnabledStateValues returns an array of possible values for the SessionAffinityEnabledState const type. +func PossibleSessionAffinityEnabledStateValues() []SessionAffinityEnabledState { + return []SessionAffinityEnabledState{SessionAffinityEnabledStateDisabled, SessionAffinityEnabledStateEnabled} +} + +// TransformType enumerates the values for transform type. +type TransformType string + +const ( + // Lowercase ... + Lowercase TransformType = "Lowercase" + // RemoveNulls ... + RemoveNulls TransformType = "RemoveNulls" + // Trim ... + Trim TransformType = "Trim" + // Uppercase ... + Uppercase TransformType = "Uppercase" + // URLDecode ... + URLDecode TransformType = "UrlDecode" + // URLEncode ... + URLEncode TransformType = "UrlEncode" +) + +// PossibleTransformTypeValues returns an array of possible values for the TransformType const type. +func PossibleTransformTypeValues() []TransformType { + return []TransformType{Lowercase, RemoveNulls, Trim, Uppercase, URLDecode, URLEncode} +} + +// AzureAsyncOperationResult the response body contains the status of the specified asynchronous operation, +// indicating whether it has succeeded, is in progress, or has failed. Note that this status is distinct +// from the HTTP status code returned for the Get Operation Status operation itself. If the asynchronous +// operation succeeded, the response body includes the HTTP status code for the successful request. If the +// asynchronous operation failed, the response body includes the HTTP status code for the failed request +// and error information regarding the failure. +type AzureAsyncOperationResult struct { + // Status - Status of the Azure async operation. Possible values are: 'InProgress', 'Succeeded', and 'Failed'. Possible values include: 'InProgress', 'Succeeded', 'Failed' + Status NetworkOperationStatus `json:"status,omitempty"` + Error *Error `json:"error,omitempty"` +} + +// Backend backend address of a frontDoor load balancer. +type Backend struct { + // Address - Location of the backend (IP address or FQDN) + Address *string `json:"address,omitempty"` + // HTTPPort - The HTTP TCP port number. Must be between 1 and 65535. + HTTPPort *int32 `json:"httpPort,omitempty"` + // HTTPSPort - The HTTPS TCP port number. Must be between 1 and 65535. + HTTPSPort *int32 `json:"httpsPort,omitempty"` + // EnabledState - Whether to enable use of this backend. Permitted values are 'Enabled' or 'Disabled'. Possible values include: 'Enabled', 'Disabled' + EnabledState BackendEnabledState `json:"enabledState,omitempty"` + // Priority - Priority to use for load balancing. Higher priorities will not be used for load balancing if any lower priority backend is healthy. + Priority *int32 `json:"priority,omitempty"` + // Weight - Weight of this endpoint for load balancing purposes. + Weight *int32 `json:"weight,omitempty"` + // BackendHostHeader - The value to use as the host header sent to the backend. If blank or unspecified, this defaults to the incoming host. + BackendHostHeader *string `json:"backendHostHeader,omitempty"` +} + +// BackendPool a backend pool is a collection of backends that can be routed to. +type BackendPool struct { + autorest.Response `json:"-"` + // BackendPoolProperties - Properties of the Front Door Backend Pool + *BackendPoolProperties `json:"properties,omitempty"` + // Name - Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for BackendPool. +func (bp BackendPool) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if bp.BackendPoolProperties != nil { + objectMap["properties"] = bp.BackendPoolProperties + } + if bp.Name != nil { + objectMap["name"] = bp.Name + } + if bp.ID != nil { + objectMap["id"] = bp.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for BackendPool struct. +func (bp *BackendPool) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var backendPoolProperties BackendPoolProperties + err = json.Unmarshal(*v, &backendPoolProperties) + if err != nil { + return err + } + bp.BackendPoolProperties = &backendPoolProperties + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + bp.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + bp.Type = &typeVar + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + bp.ID = &ID + } + } + } + + return nil +} + +// BackendPoolListResult result of the request to list Backend Pools. It contains a list of Backend Pools +// objects and a URL link to get the next set of results. +type BackendPoolListResult struct { + autorest.Response `json:"-"` + // Value - READ-ONLY; List of Backend Pools within a Front Door. + Value *[]BackendPool `json:"value,omitempty"` + // NextLink - URL to get the next set of BackendPool objects if there are any. + NextLink *string `json:"nextLink,omitempty"` +} + +// BackendPoolListResultIterator provides access to a complete listing of BackendPool values. +type BackendPoolListResultIterator struct { + i int + page BackendPoolListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *BackendPoolListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BackendPoolListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *BackendPoolListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter BackendPoolListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter BackendPoolListResultIterator) Response() BackendPoolListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter BackendPoolListResultIterator) Value() BackendPool { + if !iter.page.NotDone() { + return BackendPool{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the BackendPoolListResultIterator type. +func NewBackendPoolListResultIterator(page BackendPoolListResultPage) BackendPoolListResultIterator { + return BackendPoolListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (bplr BackendPoolListResult) IsEmpty() bool { + return bplr.Value == nil || len(*bplr.Value) == 0 +} + +// backendPoolListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (bplr BackendPoolListResult) backendPoolListResultPreparer(ctx context.Context) (*http.Request, error) { + if bplr.NextLink == nil || len(to.String(bplr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(bplr.NextLink))) +} + +// BackendPoolListResultPage contains a page of BackendPool values. +type BackendPoolListResultPage struct { + fn func(context.Context, BackendPoolListResult) (BackendPoolListResult, error) + bplr BackendPoolListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *BackendPoolListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BackendPoolListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.bplr) + if err != nil { + return err + } + page.bplr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *BackendPoolListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page BackendPoolListResultPage) NotDone() bool { + return !page.bplr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page BackendPoolListResultPage) Response() BackendPoolListResult { + return page.bplr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page BackendPoolListResultPage) Values() []BackendPool { + if page.bplr.IsEmpty() { + return nil + } + return *page.bplr.Value +} + +// Creates a new instance of the BackendPoolListResultPage type. +func NewBackendPoolListResultPage(getNextPage func(context.Context, BackendPoolListResult) (BackendPoolListResult, error)) BackendPoolListResultPage { + return BackendPoolListResultPage{fn: getNextPage} +} + +// BackendPoolProperties the JSON object that contains the properties required to create a routing rule. +type BackendPoolProperties struct { + // ResourceState - Resource status. Possible values include: 'ResourceStateCreating', 'ResourceStateEnabling', 'ResourceStateEnabled', 'ResourceStateDisabling', 'ResourceStateDisabled', 'ResourceStateDeleting' + ResourceState ResourceState `json:"resourceState,omitempty"` + // Backends - The set of backends for this pool + Backends *[]Backend `json:"backends,omitempty"` + // LoadBalancingSettings - Load balancing settings for a backend pool + LoadBalancingSettings *SubResource `json:"loadBalancingSettings,omitempty"` + // HealthProbeSettings - L7 health probe settings for a backend pool + HealthProbeSettings *SubResource `json:"healthProbeSettings,omitempty"` +} + +// BackendPoolsCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type BackendPoolsCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *BackendPoolsCreateOrUpdateFuture) Result(client BackendPoolsClient) (bp BackendPool, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.BackendPoolsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("frontdoor.BackendPoolsCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if bp.Response.Response, err = future.GetResult(sender); err == nil && bp.Response.Response.StatusCode != http.StatusNoContent { + bp, err = client.CreateOrUpdateResponder(bp.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.BackendPoolsCreateOrUpdateFuture", "Result", bp.Response.Response, "Failure responding to request") + } + } + return +} + +// BackendPoolsDeleteFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type BackendPoolsDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *BackendPoolsDeleteFuture) Result(client BackendPoolsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.BackendPoolsDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("frontdoor.BackendPoolsDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// BackendPoolsSettings settings that apply to all backend pools. +type BackendPoolsSettings struct { + // EnforceCertificateNameCheck - Whether to enforce certificate name check on HTTPS requests to all backend pools. No effect on non-HTTPS requests. Possible values include: 'EnforceCertificateNameCheckEnabledStateEnabled', 'EnforceCertificateNameCheckEnabledStateDisabled' + EnforceCertificateNameCheck EnforceCertificateNameCheckEnabledState `json:"enforceCertificateNameCheck,omitempty"` + // SendRecvTimeoutSeconds - Send and receive timeout on forwarding request to the backend. When timeout is reached, the request fails and returns. + SendRecvTimeoutSeconds *int32 `json:"sendRecvTimeoutSeconds,omitempty"` +} + +// BackendPoolUpdateParameters a collection of backends that can be routed to. +type BackendPoolUpdateParameters struct { + // Backends - The set of backends for this pool + Backends *[]Backend `json:"backends,omitempty"` + // LoadBalancingSettings - Load balancing settings for a backend pool + LoadBalancingSettings *SubResource `json:"loadBalancingSettings,omitempty"` + // HealthProbeSettings - L7 health probe settings for a backend pool + HealthProbeSettings *SubResource `json:"healthProbeSettings,omitempty"` +} + +// CacheConfiguration caching settings for a caching-type route. To disable caching, do not provide a +// cacheConfiguration object. +type CacheConfiguration struct { + // QueryParameterStripDirective - Treatment of URL query terms when forming the cache key. Possible values include: 'StripNone', 'StripAll' + QueryParameterStripDirective Query `json:"queryParameterStripDirective,omitempty"` + // DynamicCompression - Whether to use dynamic compression for cached content. Possible values include: 'DynamicCompressionEnabledEnabled', 'DynamicCompressionEnabledDisabled' + DynamicCompression DynamicCompressionEnabled `json:"dynamicCompression,omitempty"` +} + +// CertificateSourceParameters parameters required for enabling SSL with Front Door-managed certificates +type CertificateSourceParameters struct { + // CertificateType - Defines the type of the certificate used for secure connections to a frontendEndpoint. Possible values include: 'Dedicated' + CertificateType CertificateType `json:"certificateType,omitempty"` +} + +// CheckNameAvailabilityInput input of CheckNameAvailability API. +type CheckNameAvailabilityInput struct { + // Name - The resource name to validate. + Name *string `json:"name,omitempty"` + // Type - The type of the resource whose name is to be validated. Possible values include: 'MicrosoftNetworkfrontDoors', 'MicrosoftNetworkfrontDoorsfrontendEndpoints' + Type ResourceType `json:"type,omitempty"` +} + +// CheckNameAvailabilityOutput output of check name availability API. +type CheckNameAvailabilityOutput struct { + autorest.Response `json:"-"` + // NameAvailability - READ-ONLY; Indicates whether the name is available. Possible values include: 'Available', 'Unavailable' + NameAvailability Availability `json:"nameAvailability,omitempty"` + // Reason - READ-ONLY; The reason why the name is not available. + Reason *string `json:"reason,omitempty"` + // Message - READ-ONLY; The detailed error message describing why the name is not available. + Message *string `json:"message,omitempty"` +} + +// CustomHTTPSConfiguration https settings for a domain +type CustomHTTPSConfiguration struct { + // CertificateSource - Defines the source of the SSL certificate. Possible values include: 'CertificateSourceAzureKeyVault', 'CertificateSourceFrontDoor' + CertificateSource CertificateSource `json:"certificateSource,omitempty"` + // ProtocolType - Defines the TLS extension protocol that is used for secure delivery + ProtocolType *string `json:"protocolType,omitempty"` + // MinimumTLSVersion - The minimum TLS version required from the clients to establish an SSL handshake with Front Door. Possible values include: 'OneFullStopZero', 'OneFullStopTwo' + MinimumTLSVersion MinimumTLSVersion `json:"minimumTlsVersion,omitempty"` + // KeyVaultCertificateSourceParameters - KeyVault certificate source parameters (if certificateSource=AzureKeyVault) + *KeyVaultCertificateSourceParameters `json:"keyVaultCertificateSourceParameters,omitempty"` + // CertificateSourceParameters - Parameters required for enabling SSL with Front Door-managed certificates (if certificateSource=FrontDoor) + *CertificateSourceParameters `json:"frontDoorCertificateSourceParameters,omitempty"` +} + +// MarshalJSON is the custom marshaler for CustomHTTPSConfiguration. +func (chc CustomHTTPSConfiguration) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if chc.CertificateSource != "" { + objectMap["certificateSource"] = chc.CertificateSource + } + if chc.ProtocolType != nil { + objectMap["protocolType"] = chc.ProtocolType + } + if chc.MinimumTLSVersion != "" { + objectMap["minimumTlsVersion"] = chc.MinimumTLSVersion + } + if chc.KeyVaultCertificateSourceParameters != nil { + objectMap["keyVaultCertificateSourceParameters"] = chc.KeyVaultCertificateSourceParameters + } + if chc.CertificateSourceParameters != nil { + objectMap["frontDoorCertificateSourceParameters"] = chc.CertificateSourceParameters + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for CustomHTTPSConfiguration struct. +func (chc *CustomHTTPSConfiguration) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "certificateSource": + if v != nil { + var certificateSource CertificateSource + err = json.Unmarshal(*v, &certificateSource) + if err != nil { + return err + } + chc.CertificateSource = certificateSource + } + case "protocolType": + if v != nil { + var protocolType string + err = json.Unmarshal(*v, &protocolType) + if err != nil { + return err + } + chc.ProtocolType = &protocolType + } + case "minimumTlsVersion": + if v != nil { + var minimumTLSVersion MinimumTLSVersion + err = json.Unmarshal(*v, &minimumTLSVersion) + if err != nil { + return err + } + chc.MinimumTLSVersion = minimumTLSVersion + } + case "keyVaultCertificateSourceParameters": + if v != nil { + var keyVaultCertificateSourceParameters KeyVaultCertificateSourceParameters + err = json.Unmarshal(*v, &keyVaultCertificateSourceParameters) + if err != nil { + return err + } + chc.KeyVaultCertificateSourceParameters = &keyVaultCertificateSourceParameters + } + case "frontDoorCertificateSourceParameters": + if v != nil { + var certificateSourceParameters CertificateSourceParameters + err = json.Unmarshal(*v, &certificateSourceParameters) + if err != nil { + return err + } + chc.CertificateSourceParameters = &certificateSourceParameters + } + } + } + + return nil +} + +// CustomRule defines contents of a web application rule +type CustomRule struct { + // Name - Describes the name of the rule. + Name *string `json:"name,omitempty"` + // Priority - Describes priority of the rule. Rules with a lower value will be evaluated before rules with a higher value. + Priority *int32 `json:"priority,omitempty"` + // EnabledState - Describes if the custom rule is in enabled or disabled state. Defaults to Enabled if not specified. Possible values include: 'CustomRuleEnabledStateDisabled', 'CustomRuleEnabledStateEnabled' + EnabledState CustomRuleEnabledState `json:"enabledState,omitempty"` + // RuleType - Describes type of rule. Possible values include: 'MatchRule', 'RateLimitRule' + RuleType RuleType `json:"ruleType,omitempty"` + // RateLimitDurationInMinutes - Time window for resetting the rate limit count. Default is 1 minute. + RateLimitDurationInMinutes *int32 `json:"rateLimitDurationInMinutes,omitempty"` + // RateLimitThreshold - Number of allowed requests per client within the time window. + RateLimitThreshold *int32 `json:"rateLimitThreshold,omitempty"` + // MatchConditions - List of match conditions. + MatchConditions *[]MatchCondition `json:"matchConditions,omitempty"` + // Action - Describes what action to be applied when rule matches. Possible values include: 'Allow', 'Block', 'Log', 'Redirect' + Action ActionType `json:"action,omitempty"` +} + +// CustomRuleList defines contents of custom rules +type CustomRuleList struct { + // Rules - List of rules + Rules *[]CustomRule `json:"rules,omitempty"` +} + +// EndpointsPurgeContentFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type EndpointsPurgeContentFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *EndpointsPurgeContentFuture) Result(client EndpointsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.EndpointsPurgeContentFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("frontdoor.EndpointsPurgeContentFuture") + return + } + ar.Response = future.Response() + return +} + +// Error ... +type Error struct { + Code *string `json:"code,omitempty"` + Message *string `json:"message,omitempty"` + Target *string `json:"target,omitempty"` + Details *[]ErrorDetails `json:"details,omitempty"` + InnerError *string `json:"innerError,omitempty"` +} + +// ErrorDetails ... +type ErrorDetails struct { + Code *string `json:"code,omitempty"` + Target *string `json:"target,omitempty"` + Message *string `json:"message,omitempty"` +} + +// ErrorResponse error response indicates Front Door service is not able to process the incoming request. +// The reason is provided in the error message. +type ErrorResponse struct { + // Code - READ-ONLY; Error code. + Code *string `json:"code,omitempty"` + // Message - READ-ONLY; Error message indicating why the operation failed. + Message *string `json:"message,omitempty"` +} + +// ForwardingConfiguration describes Forwarding Route. +type ForwardingConfiguration struct { + // CustomForwardingPath - A custom path used to rewrite resource paths matched by this rule. Leave empty to use incoming path. + CustomForwardingPath *string `json:"customForwardingPath,omitempty"` + // ForwardingProtocol - Protocol this rule will use when forwarding traffic to backends. Possible values include: 'HTTPOnly', 'HTTPSOnly', 'MatchRequest' + ForwardingProtocol ForwardingProtocol `json:"forwardingProtocol,omitempty"` + // CacheConfiguration - The caching configuration associated with this rule. + CacheConfiguration *CacheConfiguration `json:"cacheConfiguration,omitempty"` + // BackendPool - A reference to the BackendPool which this rule routes to. + BackendPool *SubResource `json:"backendPool,omitempty"` + // OdataType - Possible values include: 'OdataTypeRouteConfiguration', 'OdataTypeMicrosoftAzureFrontDoorModelsFrontdoorForwardingConfiguration', 'OdataTypeMicrosoftAzureFrontDoorModelsFrontdoorRedirectConfiguration' + OdataType OdataType `json:"@odata.type,omitempty"` +} + +// MarshalJSON is the custom marshaler for ForwardingConfiguration. +func (fc ForwardingConfiguration) MarshalJSON() ([]byte, error) { + fc.OdataType = OdataTypeMicrosoftAzureFrontDoorModelsFrontdoorForwardingConfiguration + objectMap := make(map[string]interface{}) + if fc.CustomForwardingPath != nil { + objectMap["customForwardingPath"] = fc.CustomForwardingPath + } + if fc.ForwardingProtocol != "" { + objectMap["forwardingProtocol"] = fc.ForwardingProtocol + } + if fc.CacheConfiguration != nil { + objectMap["cacheConfiguration"] = fc.CacheConfiguration + } + if fc.BackendPool != nil { + objectMap["backendPool"] = fc.BackendPool + } + if fc.OdataType != "" { + objectMap["@odata.type"] = fc.OdataType + } + return json.Marshal(objectMap) +} + +// AsForwardingConfiguration is the BasicRouteConfiguration implementation for ForwardingConfiguration. +func (fc ForwardingConfiguration) AsForwardingConfiguration() (*ForwardingConfiguration, bool) { + return &fc, true +} + +// AsRedirectConfiguration is the BasicRouteConfiguration implementation for ForwardingConfiguration. +func (fc ForwardingConfiguration) AsRedirectConfiguration() (*RedirectConfiguration, bool) { + return nil, false +} + +// AsRouteConfiguration is the BasicRouteConfiguration implementation for ForwardingConfiguration. +func (fc ForwardingConfiguration) AsRouteConfiguration() (*RouteConfiguration, bool) { + return nil, false +} + +// AsBasicRouteConfiguration is the BasicRouteConfiguration implementation for ForwardingConfiguration. +func (fc ForwardingConfiguration) AsBasicRouteConfiguration() (BasicRouteConfiguration, bool) { + return &fc, true +} + +// FrontDoor front Door represents a collection of backend endpoints to route traffic to along with rules +// that specify how traffic is sent there. +type FrontDoor struct { + autorest.Response `json:"-"` + // Properties - Properties of the Front Door Load Balancer + *Properties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for FrontDoor. +func (fd FrontDoor) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if fd.Properties != nil { + objectMap["properties"] = fd.Properties + } + if fd.Location != nil { + objectMap["location"] = fd.Location + } + if fd.Tags != nil { + objectMap["tags"] = fd.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for FrontDoor struct. +func (fd *FrontDoor) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var properties Properties + err = json.Unmarshal(*v, &properties) + if err != nil { + return err + } + fd.Properties = &properties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + fd.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + fd.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + fd.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + fd.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + fd.Tags = tags + } + } + } + + return nil +} + +// FrontDoorsCreateOrUpdateFutureType an abstraction for monitoring and retrieving the results of a +// long-running operation. +type FrontDoorsCreateOrUpdateFutureType struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *FrontDoorsCreateOrUpdateFutureType) Result(client FrontDoorsClient) (fd FrontDoor, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.FrontDoorsCreateOrUpdateFutureType", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("frontdoor.FrontDoorsCreateOrUpdateFutureType") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if fd.Response.Response, err = future.GetResult(sender); err == nil && fd.Response.Response.StatusCode != http.StatusNoContent { + fd, err = client.CreateOrUpdateResponder(fd.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.FrontDoorsCreateOrUpdateFutureType", "Result", fd.Response.Response, "Failure responding to request") + } + } + return +} + +// FrontDoorsDeleteFutureType an abstraction for monitoring and retrieving the results of a long-running +// operation. +type FrontDoorsDeleteFutureType struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *FrontDoorsDeleteFutureType) Result(client FrontDoorsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.FrontDoorsDeleteFutureType", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("frontdoor.FrontDoorsDeleteFutureType") + return + } + ar.Response = future.Response() + return +} + +// FrontendEndpoint a frontend endpoint used for routing. +type FrontendEndpoint struct { + autorest.Response `json:"-"` + // FrontendEndpointProperties - Properties of the Frontend endpoint + *FrontendEndpointProperties `json:"properties,omitempty"` + // Name - Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for FrontendEndpoint. +func (fe FrontendEndpoint) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if fe.FrontendEndpointProperties != nil { + objectMap["properties"] = fe.FrontendEndpointProperties + } + if fe.Name != nil { + objectMap["name"] = fe.Name + } + if fe.ID != nil { + objectMap["id"] = fe.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for FrontendEndpoint struct. +func (fe *FrontendEndpoint) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var frontendEndpointProperties FrontendEndpointProperties + err = json.Unmarshal(*v, &frontendEndpointProperties) + if err != nil { + return err + } + fe.FrontendEndpointProperties = &frontendEndpointProperties + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + fe.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + fe.Type = &typeVar + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + fe.ID = &ID + } + } + } + + return nil +} + +// FrontendEndpointLink defines the Resource ID for a Frontend Endpoint. +type FrontendEndpointLink struct { + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// FrontendEndpointProperties the JSON object that contains the properties required to create a frontend +// endpoint. +type FrontendEndpointProperties struct { + // ResourceState - Resource status. Possible values include: 'ResourceStateCreating', 'ResourceStateEnabling', 'ResourceStateEnabled', 'ResourceStateDisabling', 'ResourceStateDisabled', 'ResourceStateDeleting' + ResourceState ResourceState `json:"resourceState,omitempty"` + // CustomHTTPSProvisioningState - READ-ONLY; Provisioning status of Custom Https of the frontendEndpoint. Possible values include: 'CustomHTTPSProvisioningStateEnabling', 'CustomHTTPSProvisioningStateEnabled', 'CustomHTTPSProvisioningStateDisabling', 'CustomHTTPSProvisioningStateDisabled', 'CustomHTTPSProvisioningStateFailed' + CustomHTTPSProvisioningState CustomHTTPSProvisioningState `json:"customHttpsProvisioningState,omitempty"` + // CustomHTTPSProvisioningSubstate - READ-ONLY; Provisioning substate shows the progress of custom HTTPS enabling/disabling process step by step. Possible values include: 'SubmittingDomainControlValidationRequest', 'PendingDomainControlValidationREquestApproval', 'DomainControlValidationRequestApproved', 'DomainControlValidationRequestRejected', 'DomainControlValidationRequestTimedOut', 'IssuingCertificate', 'DeployingCertificate', 'CertificateDeployed', 'DeletingCertificate', 'CertificateDeleted' + CustomHTTPSProvisioningSubstate CustomHTTPSProvisioningSubstate `json:"customHttpsProvisioningSubstate,omitempty"` + // CustomHTTPSConfiguration - READ-ONLY; The configuration specifying how to enable HTTPS + CustomHTTPSConfiguration *CustomHTTPSConfiguration `json:"customHttpsConfiguration,omitempty"` + // HostName - The host name of the frontendEndpoint. Must be a domain name. + HostName *string `json:"hostName,omitempty"` + // SessionAffinityEnabledState - Whether to allow session affinity on this host. Valid options are 'Enabled' or 'Disabled'. Possible values include: 'SessionAffinityEnabledStateEnabled', 'SessionAffinityEnabledStateDisabled' + SessionAffinityEnabledState SessionAffinityEnabledState `json:"sessionAffinityEnabledState,omitempty"` + // SessionAffinityTTLSeconds - UNUSED. This field will be ignored. The TTL to use in seconds for session affinity, if applicable. + SessionAffinityTTLSeconds *int32 `json:"sessionAffinityTtlSeconds,omitempty"` + // WebApplicationFirewallPolicyLink - Defines the Web Application Firewall policy for each host (if applicable) + WebApplicationFirewallPolicyLink *FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink `json:"webApplicationFirewallPolicyLink,omitempty"` +} + +// FrontendEndpointsCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type FrontendEndpointsCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *FrontendEndpointsCreateOrUpdateFuture) Result(client FrontendEndpointsClient) (fe FrontendEndpoint, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.FrontendEndpointsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("frontdoor.FrontendEndpointsCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if fe.Response.Response, err = future.GetResult(sender); err == nil && fe.Response.Response.StatusCode != http.StatusNoContent { + fe, err = client.CreateOrUpdateResponder(fe.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.FrontendEndpointsCreateOrUpdateFuture", "Result", fe.Response.Response, "Failure responding to request") + } + } + return +} + +// FrontendEndpointsDeleteFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type FrontendEndpointsDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *FrontendEndpointsDeleteFuture) Result(client FrontendEndpointsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.FrontendEndpointsDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("frontdoor.FrontendEndpointsDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// FrontendEndpointsDisableHTTPSFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type FrontendEndpointsDisableHTTPSFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *FrontendEndpointsDisableHTTPSFuture) Result(client FrontendEndpointsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.FrontendEndpointsDisableHTTPSFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("frontdoor.FrontendEndpointsDisableHTTPSFuture") + return + } + ar.Response = future.Response() + return +} + +// FrontendEndpointsEnableHTTPSFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type FrontendEndpointsEnableHTTPSFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *FrontendEndpointsEnableHTTPSFuture) Result(client FrontendEndpointsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.FrontendEndpointsEnableHTTPSFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("frontdoor.FrontendEndpointsEnableHTTPSFuture") + return + } + ar.Response = future.Response() + return +} + +// FrontendEndpointsListResult result of the request to list frontend endpoints. It contains a list of +// Frontend endpoint objects and a URL link to get the next set of results. +type FrontendEndpointsListResult struct { + autorest.Response `json:"-"` + // Value - READ-ONLY; List of Frontend endpoints within a Front Door. + Value *[]FrontendEndpoint `json:"value,omitempty"` + // NextLink - URL to get the next set of frontend endpoints if there are any. + NextLink *string `json:"nextLink,omitempty"` +} + +// FrontendEndpointsListResultIterator provides access to a complete listing of FrontendEndpoint values. +type FrontendEndpointsListResultIterator struct { + i int + page FrontendEndpointsListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *FrontendEndpointsListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/FrontendEndpointsListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *FrontendEndpointsListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter FrontendEndpointsListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter FrontendEndpointsListResultIterator) Response() FrontendEndpointsListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter FrontendEndpointsListResultIterator) Value() FrontendEndpoint { + if !iter.page.NotDone() { + return FrontendEndpoint{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the FrontendEndpointsListResultIterator type. +func NewFrontendEndpointsListResultIterator(page FrontendEndpointsListResultPage) FrontendEndpointsListResultIterator { + return FrontendEndpointsListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (felr FrontendEndpointsListResult) IsEmpty() bool { + return felr.Value == nil || len(*felr.Value) == 0 +} + +// frontendEndpointsListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (felr FrontendEndpointsListResult) frontendEndpointsListResultPreparer(ctx context.Context) (*http.Request, error) { + if felr.NextLink == nil || len(to.String(felr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(felr.NextLink))) +} + +// FrontendEndpointsListResultPage contains a page of FrontendEndpoint values. +type FrontendEndpointsListResultPage struct { + fn func(context.Context, FrontendEndpointsListResult) (FrontendEndpointsListResult, error) + felr FrontendEndpointsListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *FrontendEndpointsListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/FrontendEndpointsListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.felr) + if err != nil { + return err + } + page.felr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *FrontendEndpointsListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page FrontendEndpointsListResultPage) NotDone() bool { + return !page.felr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page FrontendEndpointsListResultPage) Response() FrontendEndpointsListResult { + return page.felr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page FrontendEndpointsListResultPage) Values() []FrontendEndpoint { + if page.felr.IsEmpty() { + return nil + } + return *page.felr.Value +} + +// Creates a new instance of the FrontendEndpointsListResultPage type. +func NewFrontendEndpointsListResultPage(getNextPage func(context.Context, FrontendEndpointsListResult) (FrontendEndpointsListResult, error)) FrontendEndpointsListResultPage { + return FrontendEndpointsListResultPage{fn: getNextPage} +} + +// FrontendEndpointUpdateParameters frontend endpoint used in routing rule +type FrontendEndpointUpdateParameters struct { + // HostName - The host name of the frontendEndpoint. Must be a domain name. + HostName *string `json:"hostName,omitempty"` + // SessionAffinityEnabledState - Whether to allow session affinity on this host. Valid options are 'Enabled' or 'Disabled'. Possible values include: 'SessionAffinityEnabledStateEnabled', 'SessionAffinityEnabledStateDisabled' + SessionAffinityEnabledState SessionAffinityEnabledState `json:"sessionAffinityEnabledState,omitempty"` + // SessionAffinityTTLSeconds - UNUSED. This field will be ignored. The TTL to use in seconds for session affinity, if applicable. + SessionAffinityTTLSeconds *int32 `json:"sessionAffinityTtlSeconds,omitempty"` + // WebApplicationFirewallPolicyLink - Defines the Web Application Firewall policy for each host (if applicable) + WebApplicationFirewallPolicyLink *FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink `json:"webApplicationFirewallPolicyLink,omitempty"` +} + +// FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink defines the Web Application Firewall +// policy for each host (if applicable) +type FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink struct { + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// HealthProbeSettingsCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type HealthProbeSettingsCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *HealthProbeSettingsCreateOrUpdateFuture) Result(client HealthProbeSettingsClient) (hpsm HealthProbeSettingsModel, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.HealthProbeSettingsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("frontdoor.HealthProbeSettingsCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if hpsm.Response.Response, err = future.GetResult(sender); err == nil && hpsm.Response.Response.StatusCode != http.StatusNoContent { + hpsm, err = client.CreateOrUpdateResponder(hpsm.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.HealthProbeSettingsCreateOrUpdateFuture", "Result", hpsm.Response.Response, "Failure responding to request") + } + } + return +} + +// HealthProbeSettingsDeleteFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type HealthProbeSettingsDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *HealthProbeSettingsDeleteFuture) Result(client HealthProbeSettingsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.HealthProbeSettingsDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("frontdoor.HealthProbeSettingsDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// HealthProbeSettingsListResult result of the request to list HealthProbeSettings. It contains a list of +// HealthProbeSettings objects and a URL link to get the next set of results. +type HealthProbeSettingsListResult struct { + autorest.Response `json:"-"` + // Value - READ-ONLY; List of HealthProbeSettings within a Front Door. + Value *[]HealthProbeSettingsModel `json:"value,omitempty"` + // NextLink - URL to get the next set of HealthProbeSettings objects if there are any. + NextLink *string `json:"nextLink,omitempty"` +} + +// HealthProbeSettingsListResultIterator provides access to a complete listing of HealthProbeSettingsModel +// values. +type HealthProbeSettingsListResultIterator struct { + i int + page HealthProbeSettingsListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *HealthProbeSettingsListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/HealthProbeSettingsListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *HealthProbeSettingsListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter HealthProbeSettingsListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter HealthProbeSettingsListResultIterator) Response() HealthProbeSettingsListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter HealthProbeSettingsListResultIterator) Value() HealthProbeSettingsModel { + if !iter.page.NotDone() { + return HealthProbeSettingsModel{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the HealthProbeSettingsListResultIterator type. +func NewHealthProbeSettingsListResultIterator(page HealthProbeSettingsListResultPage) HealthProbeSettingsListResultIterator { + return HealthProbeSettingsListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (hpslr HealthProbeSettingsListResult) IsEmpty() bool { + return hpslr.Value == nil || len(*hpslr.Value) == 0 +} + +// healthProbeSettingsListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (hpslr HealthProbeSettingsListResult) healthProbeSettingsListResultPreparer(ctx context.Context) (*http.Request, error) { + if hpslr.NextLink == nil || len(to.String(hpslr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(hpslr.NextLink))) +} + +// HealthProbeSettingsListResultPage contains a page of HealthProbeSettingsModel values. +type HealthProbeSettingsListResultPage struct { + fn func(context.Context, HealthProbeSettingsListResult) (HealthProbeSettingsListResult, error) + hpslr HealthProbeSettingsListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *HealthProbeSettingsListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/HealthProbeSettingsListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.hpslr) + if err != nil { + return err + } + page.hpslr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *HealthProbeSettingsListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page HealthProbeSettingsListResultPage) NotDone() bool { + return !page.hpslr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page HealthProbeSettingsListResultPage) Response() HealthProbeSettingsListResult { + return page.hpslr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page HealthProbeSettingsListResultPage) Values() []HealthProbeSettingsModel { + if page.hpslr.IsEmpty() { + return nil + } + return *page.hpslr.Value +} + +// Creates a new instance of the HealthProbeSettingsListResultPage type. +func NewHealthProbeSettingsListResultPage(getNextPage func(context.Context, HealthProbeSettingsListResult) (HealthProbeSettingsListResult, error)) HealthProbeSettingsListResultPage { + return HealthProbeSettingsListResultPage{fn: getNextPage} +} + +// HealthProbeSettingsModel load balancing settings for a backend pool +type HealthProbeSettingsModel struct { + autorest.Response `json:"-"` + // HealthProbeSettingsProperties - Properties of the health probe settings + *HealthProbeSettingsProperties `json:"properties,omitempty"` + // Name - Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for HealthProbeSettingsModel. +func (hpsm HealthProbeSettingsModel) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if hpsm.HealthProbeSettingsProperties != nil { + objectMap["properties"] = hpsm.HealthProbeSettingsProperties + } + if hpsm.Name != nil { + objectMap["name"] = hpsm.Name + } + if hpsm.ID != nil { + objectMap["id"] = hpsm.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for HealthProbeSettingsModel struct. +func (hpsm *HealthProbeSettingsModel) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var healthProbeSettingsProperties HealthProbeSettingsProperties + err = json.Unmarshal(*v, &healthProbeSettingsProperties) + if err != nil { + return err + } + hpsm.HealthProbeSettingsProperties = &healthProbeSettingsProperties + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + hpsm.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + hpsm.Type = &typeVar + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + hpsm.ID = &ID + } + } + } + + return nil +} + +// HealthProbeSettingsProperties the JSON object that contains the properties required to create a health +// probe settings. +type HealthProbeSettingsProperties struct { + // ResourceState - Resource status. Possible values include: 'ResourceStateCreating', 'ResourceStateEnabling', 'ResourceStateEnabled', 'ResourceStateDisabling', 'ResourceStateDisabled', 'ResourceStateDeleting' + ResourceState ResourceState `json:"resourceState,omitempty"` + // Path - The path to use for the health probe. Default is / + Path *string `json:"path,omitempty"` + // Protocol - Protocol scheme to use for this probe. Possible values include: 'HTTP', 'HTTPS' + Protocol Protocol `json:"protocol,omitempty"` + // IntervalInSeconds - The number of seconds between health probes. + IntervalInSeconds *int32 `json:"intervalInSeconds,omitempty"` + // HealthProbeMethod - Configures which HTTP method to use to probe the backends defined under backendPools. Possible values include: 'GET', 'HEAD' + HealthProbeMethod HealthProbeMethod `json:"healthProbeMethod,omitempty"` + // EnabledState - Whether to enable health probes to be made against backends defined under backendPools. Health probes can only be disabled if there is a single enabled backend in single enabled backend pool. Possible values include: 'HealthProbeEnabledEnabled', 'HealthProbeEnabledDisabled' + EnabledState HealthProbeEnabled `json:"enabledState,omitempty"` +} + +// HealthProbeSettingsUpdateParameters l7 health probe settings for a backend pool +type HealthProbeSettingsUpdateParameters struct { + // Path - The path to use for the health probe. Default is / + Path *string `json:"path,omitempty"` + // Protocol - Protocol scheme to use for this probe. Possible values include: 'HTTP', 'HTTPS' + Protocol Protocol `json:"protocol,omitempty"` + // IntervalInSeconds - The number of seconds between health probes. + IntervalInSeconds *int32 `json:"intervalInSeconds,omitempty"` + // HealthProbeMethod - Configures which HTTP method to use to probe the backends defined under backendPools. Possible values include: 'GET', 'HEAD' + HealthProbeMethod HealthProbeMethod `json:"healthProbeMethod,omitempty"` + // EnabledState - Whether to enable health probes to be made against backends defined under backendPools. Health probes can only be disabled if there is a single enabled backend in single enabled backend pool. Possible values include: 'HealthProbeEnabledEnabled', 'HealthProbeEnabledDisabled' + EnabledState HealthProbeEnabled `json:"enabledState,omitempty"` +} + +// KeyVaultCertificateSourceParameters parameters required for bring-your-own-certification via Key Vault +type KeyVaultCertificateSourceParameters struct { + // Vault - The Key Vault containing the SSL certificate + Vault *KeyVaultCertificateSourceParametersVault `json:"vault,omitempty"` + // SecretName - The name of the Key Vault secret representing the full certificate PFX + SecretName *string `json:"secretName,omitempty"` + // SecretVersion - The version of the Key Vault secret representing the full certificate PFX + SecretVersion *string `json:"secretVersion,omitempty"` +} + +// KeyVaultCertificateSourceParametersVault the Key Vault containing the SSL certificate +type KeyVaultCertificateSourceParametersVault struct { + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// ListResult result of the request to list Front Doors. It contains a list of Front Door objects and a URL +// link to get the next set of results. +type ListResult struct { + autorest.Response `json:"-"` + // Value - READ-ONLY; List of Front Doors within a resource group. + Value *[]FrontDoor `json:"value,omitempty"` + // NextLink - URL to get the next set of Front Door objects if there are any. + NextLink *string `json:"nextLink,omitempty"` +} + +// ListResultIterator provides access to a complete listing of FrontDoor values. +type ListResultIterator struct { + i int + page ListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *ListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *ListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter ListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter ListResultIterator) Response() ListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter ListResultIterator) Value() FrontDoor { + if !iter.page.NotDone() { + return FrontDoor{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the ListResultIterator type. +func NewListResultIterator(page ListResultPage) ListResultIterator { + return ListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (lr ListResult) IsEmpty() bool { + return lr.Value == nil || len(*lr.Value) == 0 +} + +// listResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (lr ListResult) listResultPreparer(ctx context.Context) (*http.Request, error) { + if lr.NextLink == nil || len(to.String(lr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(lr.NextLink))) +} + +// ListResultPage contains a page of FrontDoor values. +type ListResultPage struct { + fn func(context.Context, ListResult) (ListResult, error) + lr ListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *ListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.lr) + if err != nil { + return err + } + page.lr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *ListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page ListResultPage) NotDone() bool { + return !page.lr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page ListResultPage) Response() ListResult { + return page.lr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page ListResultPage) Values() []FrontDoor { + if page.lr.IsEmpty() { + return nil + } + return *page.lr.Value +} + +// Creates a new instance of the ListResultPage type. +func NewListResultPage(getNextPage func(context.Context, ListResult) (ListResult, error)) ListResultPage { + return ListResultPage{fn: getNextPage} +} + +// LoadBalancingSettingsCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type LoadBalancingSettingsCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *LoadBalancingSettingsCreateOrUpdateFuture) Result(client LoadBalancingSettingsClient) (lbsm LoadBalancingSettingsModel, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.LoadBalancingSettingsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("frontdoor.LoadBalancingSettingsCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if lbsm.Response.Response, err = future.GetResult(sender); err == nil && lbsm.Response.Response.StatusCode != http.StatusNoContent { + lbsm, err = client.CreateOrUpdateResponder(lbsm.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.LoadBalancingSettingsCreateOrUpdateFuture", "Result", lbsm.Response.Response, "Failure responding to request") + } + } + return +} + +// LoadBalancingSettingsDeleteFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type LoadBalancingSettingsDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *LoadBalancingSettingsDeleteFuture) Result(client LoadBalancingSettingsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.LoadBalancingSettingsDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("frontdoor.LoadBalancingSettingsDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// LoadBalancingSettingsListResult result of the request to list load balancing settings. It contains a +// list of load balancing settings objects and a URL link to get the next set of results. +type LoadBalancingSettingsListResult struct { + autorest.Response `json:"-"` + // Value - READ-ONLY; List of Backend Pools within a Front Door. + Value *[]LoadBalancingSettingsModel `json:"value,omitempty"` + // NextLink - URL to get the next set of LoadBalancingSettings objects if there are any. + NextLink *string `json:"nextLink,omitempty"` +} + +// LoadBalancingSettingsListResultIterator provides access to a complete listing of +// LoadBalancingSettingsModel values. +type LoadBalancingSettingsListResultIterator struct { + i int + page LoadBalancingSettingsListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *LoadBalancingSettingsListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LoadBalancingSettingsListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *LoadBalancingSettingsListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter LoadBalancingSettingsListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter LoadBalancingSettingsListResultIterator) Response() LoadBalancingSettingsListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter LoadBalancingSettingsListResultIterator) Value() LoadBalancingSettingsModel { + if !iter.page.NotDone() { + return LoadBalancingSettingsModel{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the LoadBalancingSettingsListResultIterator type. +func NewLoadBalancingSettingsListResultIterator(page LoadBalancingSettingsListResultPage) LoadBalancingSettingsListResultIterator { + return LoadBalancingSettingsListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (lbslr LoadBalancingSettingsListResult) IsEmpty() bool { + return lbslr.Value == nil || len(*lbslr.Value) == 0 +} + +// loadBalancingSettingsListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (lbslr LoadBalancingSettingsListResult) loadBalancingSettingsListResultPreparer(ctx context.Context) (*http.Request, error) { + if lbslr.NextLink == nil || len(to.String(lbslr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(lbslr.NextLink))) +} + +// LoadBalancingSettingsListResultPage contains a page of LoadBalancingSettingsModel values. +type LoadBalancingSettingsListResultPage struct { + fn func(context.Context, LoadBalancingSettingsListResult) (LoadBalancingSettingsListResult, error) + lbslr LoadBalancingSettingsListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *LoadBalancingSettingsListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LoadBalancingSettingsListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.lbslr) + if err != nil { + return err + } + page.lbslr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *LoadBalancingSettingsListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page LoadBalancingSettingsListResultPage) NotDone() bool { + return !page.lbslr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page LoadBalancingSettingsListResultPage) Response() LoadBalancingSettingsListResult { + return page.lbslr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page LoadBalancingSettingsListResultPage) Values() []LoadBalancingSettingsModel { + if page.lbslr.IsEmpty() { + return nil + } + return *page.lbslr.Value +} + +// Creates a new instance of the LoadBalancingSettingsListResultPage type. +func NewLoadBalancingSettingsListResultPage(getNextPage func(context.Context, LoadBalancingSettingsListResult) (LoadBalancingSettingsListResult, error)) LoadBalancingSettingsListResultPage { + return LoadBalancingSettingsListResultPage{fn: getNextPage} +} + +// LoadBalancingSettingsModel load balancing settings for a backend pool +type LoadBalancingSettingsModel struct { + autorest.Response `json:"-"` + // LoadBalancingSettingsProperties - Properties of the load balancing settings + *LoadBalancingSettingsProperties `json:"properties,omitempty"` + // Name - Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for LoadBalancingSettingsModel. +func (lbsm LoadBalancingSettingsModel) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if lbsm.LoadBalancingSettingsProperties != nil { + objectMap["properties"] = lbsm.LoadBalancingSettingsProperties + } + if lbsm.Name != nil { + objectMap["name"] = lbsm.Name + } + if lbsm.ID != nil { + objectMap["id"] = lbsm.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for LoadBalancingSettingsModel struct. +func (lbsm *LoadBalancingSettingsModel) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var loadBalancingSettingsProperties LoadBalancingSettingsProperties + err = json.Unmarshal(*v, &loadBalancingSettingsProperties) + if err != nil { + return err + } + lbsm.LoadBalancingSettingsProperties = &loadBalancingSettingsProperties + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + lbsm.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + lbsm.Type = &typeVar + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + lbsm.ID = &ID + } + } + } + + return nil +} + +// LoadBalancingSettingsProperties the JSON object that contains the properties required to create load +// balancing settings +type LoadBalancingSettingsProperties struct { + // ResourceState - Resource status. Possible values include: 'ResourceStateCreating', 'ResourceStateEnabling', 'ResourceStateEnabled', 'ResourceStateDisabling', 'ResourceStateDisabled', 'ResourceStateDeleting' + ResourceState ResourceState `json:"resourceState,omitempty"` + // SampleSize - The number of samples to consider for load balancing decisions + SampleSize *int32 `json:"sampleSize,omitempty"` + // SuccessfulSamplesRequired - The number of samples within the sample period that must succeed + SuccessfulSamplesRequired *int32 `json:"successfulSamplesRequired,omitempty"` + // AdditionalLatencyMilliseconds - The additional latency in milliseconds for probes to fall into the lowest latency bucket + AdditionalLatencyMilliseconds *int32 `json:"additionalLatencyMilliseconds,omitempty"` +} + +// LoadBalancingSettingsUpdateParameters round-Robin load balancing settings for a backend pool +type LoadBalancingSettingsUpdateParameters struct { + // SampleSize - The number of samples to consider for load balancing decisions + SampleSize *int32 `json:"sampleSize,omitempty"` + // SuccessfulSamplesRequired - The number of samples within the sample period that must succeed + SuccessfulSamplesRequired *int32 `json:"successfulSamplesRequired,omitempty"` + // AdditionalLatencyMilliseconds - The additional latency in milliseconds for probes to fall into the lowest latency bucket + AdditionalLatencyMilliseconds *int32 `json:"additionalLatencyMilliseconds,omitempty"` +} + +// ManagedRuleDefinition describes a managed rule definition. +type ManagedRuleDefinition struct { + // RuleID - READ-ONLY; Identifier for the managed rule. + RuleID *string `json:"ruleId,omitempty"` + // Description - READ-ONLY; Describes the functionality of the managed rule. + Description *string `json:"description,omitempty"` +} + +// ManagedRuleGroupDefinition describes a managed rule group. +type ManagedRuleGroupDefinition struct { + // RuleGroupName - READ-ONLY; Name of the managed rule group. + RuleGroupName *string `json:"ruleGroupName,omitempty"` + // Description - READ-ONLY; Description of the managed rule group. + Description *string `json:"description,omitempty"` + // Rules - READ-ONLY; List of rules within the managed rule group. + Rules *[]ManagedRuleDefinition `json:"rules,omitempty"` +} + +// ManagedRuleGroupOverride defines a managed rule group override setting. +type ManagedRuleGroupOverride struct { + // RuleGroupName - Describes the managed rule group to override. + RuleGroupName *string `json:"ruleGroupName,omitempty"` + // Rules - List of rules that will be disabled. If none specified, all rules in the group will be disabled. + Rules *[]ManagedRuleOverride `json:"rules,omitempty"` +} + +// ManagedRuleOverride defines a managed rule group override setting. +type ManagedRuleOverride struct { + // RuleID - Identifier for the managed rule. + RuleID *string `json:"ruleId,omitempty"` + // EnabledState - Describes if the managed rule is in enabled or disabled state. Defaults to Disabled if not specified. Possible values include: 'ManagedRuleEnabledStateDisabled', 'ManagedRuleEnabledStateEnabled' + EnabledState ManagedRuleEnabledState `json:"enabledState,omitempty"` + // Action - Describes the override action to be applied when rule matches. Possible values include: 'Allow', 'Block', 'Log', 'Redirect' + Action ActionType `json:"action,omitempty"` +} + +// ManagedRuleSet defines a managed rule set. +type ManagedRuleSet struct { + // RuleSetType - Defines the rule set type to use. + RuleSetType *string `json:"ruleSetType,omitempty"` + // RuleSetVersion - Defines the version of the rule set to use. + RuleSetVersion *string `json:"ruleSetVersion,omitempty"` + // RuleGroupOverrides - Defines the rule group overrides to apply to the rule set. + RuleGroupOverrides *[]ManagedRuleGroupOverride `json:"ruleGroupOverrides,omitempty"` +} + +// ManagedRuleSetDefinition describes the a managed rule set definition. +type ManagedRuleSetDefinition struct { + // ManagedRuleSetDefinitionProperties - Properties for a managed rule set definition. + *ManagedRuleSetDefinitionProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for ManagedRuleSetDefinition. +func (mrsd ManagedRuleSetDefinition) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if mrsd.ManagedRuleSetDefinitionProperties != nil { + objectMap["properties"] = mrsd.ManagedRuleSetDefinitionProperties + } + if mrsd.Location != nil { + objectMap["location"] = mrsd.Location + } + if mrsd.Tags != nil { + objectMap["tags"] = mrsd.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ManagedRuleSetDefinition struct. +func (mrsd *ManagedRuleSetDefinition) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var managedRuleSetDefinitionProperties ManagedRuleSetDefinitionProperties + err = json.Unmarshal(*v, &managedRuleSetDefinitionProperties) + if err != nil { + return err + } + mrsd.ManagedRuleSetDefinitionProperties = &managedRuleSetDefinitionProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + mrsd.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + mrsd.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + mrsd.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + mrsd.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + mrsd.Tags = tags + } + } + } + + return nil +} + +// ManagedRuleSetDefinitionList list of managed rule set definitions available for use in a policy. +type ManagedRuleSetDefinitionList struct { + autorest.Response `json:"-"` + // Value - READ-ONLY; List of managed rule set definitions. + Value *[]ManagedRuleSetDefinition `json:"value,omitempty"` + // NextLink - URL to retrieve next set of managed rule set definitions. + NextLink *string `json:"nextLink,omitempty"` +} + +// ManagedRuleSetDefinitionListIterator provides access to a complete listing of ManagedRuleSetDefinition +// values. +type ManagedRuleSetDefinitionListIterator struct { + i int + page ManagedRuleSetDefinitionListPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *ManagedRuleSetDefinitionListIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ManagedRuleSetDefinitionListIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *ManagedRuleSetDefinitionListIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter ManagedRuleSetDefinitionListIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter ManagedRuleSetDefinitionListIterator) Response() ManagedRuleSetDefinitionList { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter ManagedRuleSetDefinitionListIterator) Value() ManagedRuleSetDefinition { + if !iter.page.NotDone() { + return ManagedRuleSetDefinition{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the ManagedRuleSetDefinitionListIterator type. +func NewManagedRuleSetDefinitionListIterator(page ManagedRuleSetDefinitionListPage) ManagedRuleSetDefinitionListIterator { + return ManagedRuleSetDefinitionListIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (mrsdl ManagedRuleSetDefinitionList) IsEmpty() bool { + return mrsdl.Value == nil || len(*mrsdl.Value) == 0 +} + +// managedRuleSetDefinitionListPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (mrsdl ManagedRuleSetDefinitionList) managedRuleSetDefinitionListPreparer(ctx context.Context) (*http.Request, error) { + if mrsdl.NextLink == nil || len(to.String(mrsdl.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(mrsdl.NextLink))) +} + +// ManagedRuleSetDefinitionListPage contains a page of ManagedRuleSetDefinition values. +type ManagedRuleSetDefinitionListPage struct { + fn func(context.Context, ManagedRuleSetDefinitionList) (ManagedRuleSetDefinitionList, error) + mrsdl ManagedRuleSetDefinitionList +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *ManagedRuleSetDefinitionListPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ManagedRuleSetDefinitionListPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.mrsdl) + if err != nil { + return err + } + page.mrsdl = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *ManagedRuleSetDefinitionListPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page ManagedRuleSetDefinitionListPage) NotDone() bool { + return !page.mrsdl.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page ManagedRuleSetDefinitionListPage) Response() ManagedRuleSetDefinitionList { + return page.mrsdl +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page ManagedRuleSetDefinitionListPage) Values() []ManagedRuleSetDefinition { + if page.mrsdl.IsEmpty() { + return nil + } + return *page.mrsdl.Value +} + +// Creates a new instance of the ManagedRuleSetDefinitionListPage type. +func NewManagedRuleSetDefinitionListPage(getNextPage func(context.Context, ManagedRuleSetDefinitionList) (ManagedRuleSetDefinitionList, error)) ManagedRuleSetDefinitionListPage { + return ManagedRuleSetDefinitionListPage{fn: getNextPage} +} + +// ManagedRuleSetDefinitionProperties properties for a managed rule set definition. +type ManagedRuleSetDefinitionProperties struct { + // ProvisioningState - READ-ONLY; Provisioning state of the managed rule set. + ProvisioningState *string `json:"provisioningState,omitempty"` + // RuleSetType - READ-ONLY; Type of the managed rule set. + RuleSetType *string `json:"ruleSetType,omitempty"` + // RuleSetVersion - READ-ONLY; Version of the managed rule set type. + RuleSetVersion *string `json:"ruleSetVersion,omitempty"` + // RuleGroups - READ-ONLY; Rule groups of the managed rule set. + RuleGroups *[]ManagedRuleGroupDefinition `json:"ruleGroups,omitempty"` +} + +// ManagedRuleSetList defines the list of managed rule sets for the policy. +type ManagedRuleSetList struct { + // ManagedRuleSets - List of rule sets. + ManagedRuleSets *[]ManagedRuleSet `json:"managedRuleSets,omitempty"` +} + +// MatchCondition define a match condition. +type MatchCondition struct { + // MatchVariable - Request variable to compare with. Possible values include: 'RemoteAddr', 'RequestMethod', 'QueryString', 'PostArgs', 'RequestURI', 'RequestHeader', 'RequestBody', 'Cookies' + MatchVariable MatchVariable `json:"matchVariable,omitempty"` + // Selector - Match against a specific key from the QueryString, PostArgs, RequestHeader or Cookies variables. Default is null. + Selector *string `json:"selector,omitempty"` + // Operator - Comparison type to use for matching with the variable value. Possible values include: 'Any', 'IPMatch', 'GeoMatch', 'Equal', 'Contains', 'LessThan', 'GreaterThan', 'LessThanOrEqual', 'GreaterThanOrEqual', 'BeginsWith', 'EndsWith', 'RegEx' + Operator Operator `json:"operator,omitempty"` + // NegateCondition - Describes if the result of this condition should be negated. + NegateCondition *bool `json:"negateCondition,omitempty"` + // MatchValue - List of possible match values. + MatchValue *[]string `json:"matchValue,omitempty"` + // Transforms - List of transforms. + Transforms *[]TransformType `json:"transforms,omitempty"` +} + +// PoliciesCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type PoliciesCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *PoliciesCreateOrUpdateFuture) Result(client PoliciesClient) (wafp WebApplicationFirewallPolicy, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.PoliciesCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("frontdoor.PoliciesCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if wafp.Response.Response, err = future.GetResult(sender); err == nil && wafp.Response.Response.StatusCode != http.StatusNoContent { + wafp, err = client.CreateOrUpdateResponder(wafp.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.PoliciesCreateOrUpdateFuture", "Result", wafp.Response.Response, "Failure responding to request") + } + } + return +} + +// PoliciesDeleteFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type PoliciesDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *PoliciesDeleteFuture) Result(client PoliciesClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.PoliciesDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("frontdoor.PoliciesDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// PolicySettings defines top-level WebApplicationFirewallPolicy configuration settings. +type PolicySettings struct { + // EnabledState - Describes if the policy is in enabled or disabled state. Defaults to Enabled if not specified. Possible values include: 'PolicyEnabledStateDisabled', 'PolicyEnabledStateEnabled' + EnabledState PolicyEnabledState `json:"enabledState,omitempty"` + // Mode - Describes if it is in detection mode or prevention mode at policy level. Possible values include: 'Prevention', 'Detection' + Mode PolicyMode `json:"mode,omitempty"` + // RedirectURL - If action type is redirect, this field represents redirect URL for the client. + RedirectURL *string `json:"redirectUrl,omitempty"` + // CustomBlockResponseStatusCode - If the action type is block, customer can override the response status code. + CustomBlockResponseStatusCode *int32 `json:"customBlockResponseStatusCode,omitempty"` + // CustomBlockResponseBody - If the action type is block, customer can override the response body. The body must be specified in base64 encoding. + CustomBlockResponseBody *string `json:"customBlockResponseBody,omitempty"` +} + +// Properties the JSON object that contains the properties required to create an endpoint. +type Properties struct { + // ResourceState - Resource status of the Front Door. Possible values include: 'ResourceStateCreating', 'ResourceStateEnabling', 'ResourceStateEnabled', 'ResourceStateDisabling', 'ResourceStateDisabled', 'ResourceStateDeleting' + ResourceState ResourceState `json:"resourceState,omitempty"` + // ProvisioningState - READ-ONLY; Provisioning state of the Front Door. + ProvisioningState *string `json:"provisioningState,omitempty"` + // Cname - READ-ONLY; The host that each frontendEndpoint must CNAME to. + Cname *string `json:"cname,omitempty"` + // FriendlyName - A friendly name for the frontDoor + FriendlyName *string `json:"friendlyName,omitempty"` + // RoutingRules - Routing rules associated with this Front Door. + RoutingRules *[]RoutingRule `json:"routingRules,omitempty"` + // LoadBalancingSettings - Load balancing settings associated with this Front Door instance. + LoadBalancingSettings *[]LoadBalancingSettingsModel `json:"loadBalancingSettings,omitempty"` + // HealthProbeSettings - Health probe settings associated with this Front Door instance. + HealthProbeSettings *[]HealthProbeSettingsModel `json:"healthProbeSettings,omitempty"` + // BackendPools - Backend pools available to routing rules. + BackendPools *[]BackendPool `json:"backendPools,omitempty"` + // FrontendEndpoints - Frontend endpoints available to routing rules. + FrontendEndpoints *[]FrontendEndpoint `json:"frontendEndpoints,omitempty"` + // BackendPoolsSettings - Settings for all backendPools + BackendPoolsSettings *BackendPoolsSettings `json:"backendPoolsSettings,omitempty"` + // EnabledState - Operational status of the Front Door load balancer. Permitted values are 'Enabled' or 'Disabled'. Possible values include: 'EnabledStateEnabled', 'EnabledStateDisabled' + EnabledState EnabledState `json:"enabledState,omitempty"` +} + +// PurgeParameters parameters required for content purge. +type PurgeParameters struct { + // ContentPaths - The path to the content to be purged. Can describe a file path or a wild card directory. + ContentPaths *[]string `json:"contentPaths,omitempty"` +} + +// RedirectConfiguration describes Redirect Route. +type RedirectConfiguration struct { + // RedirectType - The redirect type the rule will use when redirecting traffic. Possible values include: 'Moved', 'Found', 'TemporaryRedirect', 'PermanentRedirect' + RedirectType RedirectType `json:"redirectType,omitempty"` + // RedirectProtocol - The protocol of the destination to where the traffic is redirected. Possible values include: 'RedirectProtocolHTTPOnly', 'RedirectProtocolHTTPSOnly', 'RedirectProtocolMatchRequest' + RedirectProtocol RedirectProtocol `json:"redirectProtocol,omitempty"` + // CustomHost - Host to redirect. Leave empty to use the incoming host as the destination host. + CustomHost *string `json:"customHost,omitempty"` + // CustomPath - The full path to redirect. Path cannot be empty and must start with /. Leave empty to use the incoming path as destination path. + CustomPath *string `json:"customPath,omitempty"` + // CustomFragment - Fragment to add to the redirect URL. Fragment is the part of the URL that comes after #. Do not include the #. + CustomFragment *string `json:"customFragment,omitempty"` + // CustomQueryString - The set of query strings to be placed in the redirect URL. Setting this value would replace any existing query string; leave empty to preserve the incoming query string. Query string must be in = format. The first ? and & will be added automatically so do not include them in the front, but do separate multiple query strings with &. + CustomQueryString *string `json:"customQueryString,omitempty"` + // OdataType - Possible values include: 'OdataTypeRouteConfiguration', 'OdataTypeMicrosoftAzureFrontDoorModelsFrontdoorForwardingConfiguration', 'OdataTypeMicrosoftAzureFrontDoorModelsFrontdoorRedirectConfiguration' + OdataType OdataType `json:"@odata.type,omitempty"` +} + +// MarshalJSON is the custom marshaler for RedirectConfiguration. +func (rc RedirectConfiguration) MarshalJSON() ([]byte, error) { + rc.OdataType = OdataTypeMicrosoftAzureFrontDoorModelsFrontdoorRedirectConfiguration + objectMap := make(map[string]interface{}) + if rc.RedirectType != "" { + objectMap["redirectType"] = rc.RedirectType + } + if rc.RedirectProtocol != "" { + objectMap["redirectProtocol"] = rc.RedirectProtocol + } + if rc.CustomHost != nil { + objectMap["customHost"] = rc.CustomHost + } + if rc.CustomPath != nil { + objectMap["customPath"] = rc.CustomPath + } + if rc.CustomFragment != nil { + objectMap["customFragment"] = rc.CustomFragment + } + if rc.CustomQueryString != nil { + objectMap["customQueryString"] = rc.CustomQueryString + } + if rc.OdataType != "" { + objectMap["@odata.type"] = rc.OdataType + } + return json.Marshal(objectMap) +} + +// AsForwardingConfiguration is the BasicRouteConfiguration implementation for RedirectConfiguration. +func (rc RedirectConfiguration) AsForwardingConfiguration() (*ForwardingConfiguration, bool) { + return nil, false +} + +// AsRedirectConfiguration is the BasicRouteConfiguration implementation for RedirectConfiguration. +func (rc RedirectConfiguration) AsRedirectConfiguration() (*RedirectConfiguration, bool) { + return &rc, true +} + +// AsRouteConfiguration is the BasicRouteConfiguration implementation for RedirectConfiguration. +func (rc RedirectConfiguration) AsRouteConfiguration() (*RouteConfiguration, bool) { + return nil, false +} + +// AsBasicRouteConfiguration is the BasicRouteConfiguration implementation for RedirectConfiguration. +func (rc RedirectConfiguration) AsBasicRouteConfiguration() (BasicRouteConfiguration, bool) { + return &rc, true +} + +// Resource common resource representation. +type Resource struct { + // ID - READ-ONLY; Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for Resource. +func (r Resource) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if r.Location != nil { + objectMap["location"] = r.Location + } + if r.Tags != nil { + objectMap["tags"] = r.Tags + } + return json.Marshal(objectMap) +} + +// BasicRouteConfiguration base class for all types of Route. +type BasicRouteConfiguration interface { + AsForwardingConfiguration() (*ForwardingConfiguration, bool) + AsRedirectConfiguration() (*RedirectConfiguration, bool) + AsRouteConfiguration() (*RouteConfiguration, bool) +} + +// RouteConfiguration base class for all types of Route. +type RouteConfiguration struct { + // OdataType - Possible values include: 'OdataTypeRouteConfiguration', 'OdataTypeMicrosoftAzureFrontDoorModelsFrontdoorForwardingConfiguration', 'OdataTypeMicrosoftAzureFrontDoorModelsFrontdoorRedirectConfiguration' + OdataType OdataType `json:"@odata.type,omitempty"` +} + +func unmarshalBasicRouteConfiguration(body []byte) (BasicRouteConfiguration, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["@odata.type"] { + case string(OdataTypeMicrosoftAzureFrontDoorModelsFrontdoorForwardingConfiguration): + var fc ForwardingConfiguration + err := json.Unmarshal(body, &fc) + return fc, err + case string(OdataTypeMicrosoftAzureFrontDoorModelsFrontdoorRedirectConfiguration): + var rc RedirectConfiguration + err := json.Unmarshal(body, &rc) + return rc, err + default: + var rc RouteConfiguration + err := json.Unmarshal(body, &rc) + return rc, err + } +} +func unmarshalBasicRouteConfigurationArray(body []byte) ([]BasicRouteConfiguration, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + rcArray := make([]BasicRouteConfiguration, len(rawMessages)) + + for index, rawMessage := range rawMessages { + rc, err := unmarshalBasicRouteConfiguration(*rawMessage) + if err != nil { + return nil, err + } + rcArray[index] = rc + } + return rcArray, nil +} + +// MarshalJSON is the custom marshaler for RouteConfiguration. +func (rc RouteConfiguration) MarshalJSON() ([]byte, error) { + rc.OdataType = OdataTypeRouteConfiguration + objectMap := make(map[string]interface{}) + if rc.OdataType != "" { + objectMap["@odata.type"] = rc.OdataType + } + return json.Marshal(objectMap) +} + +// AsForwardingConfiguration is the BasicRouteConfiguration implementation for RouteConfiguration. +func (rc RouteConfiguration) AsForwardingConfiguration() (*ForwardingConfiguration, bool) { + return nil, false +} + +// AsRedirectConfiguration is the BasicRouteConfiguration implementation for RouteConfiguration. +func (rc RouteConfiguration) AsRedirectConfiguration() (*RedirectConfiguration, bool) { + return nil, false +} + +// AsRouteConfiguration is the BasicRouteConfiguration implementation for RouteConfiguration. +func (rc RouteConfiguration) AsRouteConfiguration() (*RouteConfiguration, bool) { + return &rc, true +} + +// AsBasicRouteConfiguration is the BasicRouteConfiguration implementation for RouteConfiguration. +func (rc RouteConfiguration) AsBasicRouteConfiguration() (BasicRouteConfiguration, bool) { + return &rc, true +} + +// RoutingRule a routing rule represents a specification for traffic to treat and where to send it, along +// with health probe information. +type RoutingRule struct { + autorest.Response `json:"-"` + // RoutingRuleProperties - Properties of the Front Door Routing Rule + *RoutingRuleProperties `json:"properties,omitempty"` + // Name - Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for RoutingRule. +func (rr RoutingRule) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if rr.RoutingRuleProperties != nil { + objectMap["properties"] = rr.RoutingRuleProperties + } + if rr.Name != nil { + objectMap["name"] = rr.Name + } + if rr.ID != nil { + objectMap["id"] = rr.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for RoutingRule struct. +func (rr *RoutingRule) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var routingRuleProperties RoutingRuleProperties + err = json.Unmarshal(*v, &routingRuleProperties) + if err != nil { + return err + } + rr.RoutingRuleProperties = &routingRuleProperties + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + rr.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + rr.Type = &typeVar + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + rr.ID = &ID + } + } + } + + return nil +} + +// RoutingRuleListResult result of the request to list Routing Rules. It contains a list of Routing Rule +// objects and a URL link to get the next set of results. +type RoutingRuleListResult struct { + autorest.Response `json:"-"` + // Value - READ-ONLY; List of Routing Rules within a Front Door. + Value *[]RoutingRule `json:"value,omitempty"` + // NextLink - URL to get the next set of RoutingRule objects if there are any. + NextLink *string `json:"nextLink,omitempty"` +} + +// RoutingRuleListResultIterator provides access to a complete listing of RoutingRule values. +type RoutingRuleListResultIterator struct { + i int + page RoutingRuleListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *RoutingRuleListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RoutingRuleListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *RoutingRuleListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter RoutingRuleListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter RoutingRuleListResultIterator) Response() RoutingRuleListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter RoutingRuleListResultIterator) Value() RoutingRule { + if !iter.page.NotDone() { + return RoutingRule{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the RoutingRuleListResultIterator type. +func NewRoutingRuleListResultIterator(page RoutingRuleListResultPage) RoutingRuleListResultIterator { + return RoutingRuleListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (rrlr RoutingRuleListResult) IsEmpty() bool { + return rrlr.Value == nil || len(*rrlr.Value) == 0 +} + +// routingRuleListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (rrlr RoutingRuleListResult) routingRuleListResultPreparer(ctx context.Context) (*http.Request, error) { + if rrlr.NextLink == nil || len(to.String(rrlr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(rrlr.NextLink))) +} + +// RoutingRuleListResultPage contains a page of RoutingRule values. +type RoutingRuleListResultPage struct { + fn func(context.Context, RoutingRuleListResult) (RoutingRuleListResult, error) + rrlr RoutingRuleListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *RoutingRuleListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RoutingRuleListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.rrlr) + if err != nil { + return err + } + page.rrlr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *RoutingRuleListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page RoutingRuleListResultPage) NotDone() bool { + return !page.rrlr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page RoutingRuleListResultPage) Response() RoutingRuleListResult { + return page.rrlr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page RoutingRuleListResultPage) Values() []RoutingRule { + if page.rrlr.IsEmpty() { + return nil + } + return *page.rrlr.Value +} + +// Creates a new instance of the RoutingRuleListResultPage type. +func NewRoutingRuleListResultPage(getNextPage func(context.Context, RoutingRuleListResult) (RoutingRuleListResult, error)) RoutingRuleListResultPage { + return RoutingRuleListResultPage{fn: getNextPage} +} + +// RoutingRuleProperties the JSON object that contains the properties required to create a routing rule. +type RoutingRuleProperties struct { + // ResourceState - Resource status. Possible values include: 'ResourceStateCreating', 'ResourceStateEnabling', 'ResourceStateEnabled', 'ResourceStateDisabling', 'ResourceStateDisabled', 'ResourceStateDeleting' + ResourceState ResourceState `json:"resourceState,omitempty"` + // FrontendEndpoints - Frontend endpoints associated with this rule + FrontendEndpoints *[]SubResource `json:"frontendEndpoints,omitempty"` + // AcceptedProtocols - Protocol schemes to match for this rule + AcceptedProtocols *[]Protocol `json:"acceptedProtocols,omitempty"` + // PatternsToMatch - The route patterns of the rule. + PatternsToMatch *[]string `json:"patternsToMatch,omitempty"` + // EnabledState - Whether to enable use of this rule. Permitted values are 'Enabled' or 'Disabled'. Possible values include: 'RoutingRuleEnabledStateEnabled', 'RoutingRuleEnabledStateDisabled' + EnabledState RoutingRuleEnabledState `json:"enabledState,omitempty"` + // RouteConfiguration - A reference to the routing configuration. + RouteConfiguration BasicRouteConfiguration `json:"routeConfiguration,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for RoutingRuleProperties struct. +func (rrp *RoutingRuleProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "resourceState": + if v != nil { + var resourceState ResourceState + err = json.Unmarshal(*v, &resourceState) + if err != nil { + return err + } + rrp.ResourceState = resourceState + } + case "frontendEndpoints": + if v != nil { + var frontendEndpoints []SubResource + err = json.Unmarshal(*v, &frontendEndpoints) + if err != nil { + return err + } + rrp.FrontendEndpoints = &frontendEndpoints + } + case "acceptedProtocols": + if v != nil { + var acceptedProtocols []Protocol + err = json.Unmarshal(*v, &acceptedProtocols) + if err != nil { + return err + } + rrp.AcceptedProtocols = &acceptedProtocols + } + case "patternsToMatch": + if v != nil { + var patternsToMatch []string + err = json.Unmarshal(*v, &patternsToMatch) + if err != nil { + return err + } + rrp.PatternsToMatch = &patternsToMatch + } + case "enabledState": + if v != nil { + var enabledState RoutingRuleEnabledState + err = json.Unmarshal(*v, &enabledState) + if err != nil { + return err + } + rrp.EnabledState = enabledState + } + case "routeConfiguration": + if v != nil { + routeConfiguration, err := unmarshalBasicRouteConfiguration(*v) + if err != nil { + return err + } + rrp.RouteConfiguration = routeConfiguration + } + } + } + + return nil +} + +// RoutingRulesCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type RoutingRulesCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *RoutingRulesCreateOrUpdateFuture) Result(client RoutingRulesClient) (rr RoutingRule, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.RoutingRulesCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("frontdoor.RoutingRulesCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if rr.Response.Response, err = future.GetResult(sender); err == nil && rr.Response.Response.StatusCode != http.StatusNoContent { + rr, err = client.CreateOrUpdateResponder(rr.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.RoutingRulesCreateOrUpdateFuture", "Result", rr.Response.Response, "Failure responding to request") + } + } + return +} + +// RoutingRulesDeleteFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type RoutingRulesDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *RoutingRulesDeleteFuture) Result(client RoutingRulesClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.RoutingRulesDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("frontdoor.RoutingRulesDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// RoutingRuleUpdateParameters routing rules to apply to an endpoint +type RoutingRuleUpdateParameters struct { + // FrontendEndpoints - Frontend endpoints associated with this rule + FrontendEndpoints *[]SubResource `json:"frontendEndpoints,omitempty"` + // AcceptedProtocols - Protocol schemes to match for this rule + AcceptedProtocols *[]Protocol `json:"acceptedProtocols,omitempty"` + // PatternsToMatch - The route patterns of the rule. + PatternsToMatch *[]string `json:"patternsToMatch,omitempty"` + // EnabledState - Whether to enable use of this rule. Permitted values are 'Enabled' or 'Disabled'. Possible values include: 'RoutingRuleEnabledStateEnabled', 'RoutingRuleEnabledStateDisabled' + EnabledState RoutingRuleEnabledState `json:"enabledState,omitempty"` + // RouteConfiguration - A reference to the routing configuration. + RouteConfiguration BasicRouteConfiguration `json:"routeConfiguration,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for RoutingRuleUpdateParameters struct. +func (rrup *RoutingRuleUpdateParameters) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "frontendEndpoints": + if v != nil { + var frontendEndpoints []SubResource + err = json.Unmarshal(*v, &frontendEndpoints) + if err != nil { + return err + } + rrup.FrontendEndpoints = &frontendEndpoints + } + case "acceptedProtocols": + if v != nil { + var acceptedProtocols []Protocol + err = json.Unmarshal(*v, &acceptedProtocols) + if err != nil { + return err + } + rrup.AcceptedProtocols = &acceptedProtocols + } + case "patternsToMatch": + if v != nil { + var patternsToMatch []string + err = json.Unmarshal(*v, &patternsToMatch) + if err != nil { + return err + } + rrup.PatternsToMatch = &patternsToMatch + } + case "enabledState": + if v != nil { + var enabledState RoutingRuleEnabledState + err = json.Unmarshal(*v, &enabledState) + if err != nil { + return err + } + rrup.EnabledState = enabledState + } + case "routeConfiguration": + if v != nil { + routeConfiguration, err := unmarshalBasicRouteConfiguration(*v) + if err != nil { + return err + } + rrup.RouteConfiguration = routeConfiguration + } + } + } + + return nil +} + +// SubResource reference to another subresource. +type SubResource struct { + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// TagsObject tags object for patch operations. +type TagsObject struct { + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for TagsObject. +func (toVar TagsObject) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if toVar.Tags != nil { + objectMap["tags"] = toVar.Tags + } + return json.Marshal(objectMap) +} + +// UpdateParameters the properties needed to update a Front Door +type UpdateParameters struct { + // FriendlyName - A friendly name for the frontDoor + FriendlyName *string `json:"friendlyName,omitempty"` + // RoutingRules - Routing rules associated with this Front Door. + RoutingRules *[]RoutingRule `json:"routingRules,omitempty"` + // LoadBalancingSettings - Load balancing settings associated with this Front Door instance. + LoadBalancingSettings *[]LoadBalancingSettingsModel `json:"loadBalancingSettings,omitempty"` + // HealthProbeSettings - Health probe settings associated with this Front Door instance. + HealthProbeSettings *[]HealthProbeSettingsModel `json:"healthProbeSettings,omitempty"` + // BackendPools - Backend pools available to routing rules. + BackendPools *[]BackendPool `json:"backendPools,omitempty"` + // FrontendEndpoints - Frontend endpoints available to routing rules. + FrontendEndpoints *[]FrontendEndpoint `json:"frontendEndpoints,omitempty"` + // BackendPoolsSettings - Settings for all backendPools + BackendPoolsSettings *BackendPoolsSettings `json:"backendPoolsSettings,omitempty"` + // EnabledState - Operational status of the Front Door load balancer. Permitted values are 'Enabled' or 'Disabled'. Possible values include: 'EnabledStateEnabled', 'EnabledStateDisabled' + EnabledState EnabledState `json:"enabledState,omitempty"` +} + +// ValidateCustomDomainInput input of the custom domain to be validated for DNS mapping. +type ValidateCustomDomainInput struct { + // HostName - The host name of the custom domain. Must be a domain name. + HostName *string `json:"hostName,omitempty"` +} + +// ValidateCustomDomainOutput output of custom domain validation. +type ValidateCustomDomainOutput struct { + autorest.Response `json:"-"` + // CustomDomainValidated - READ-ONLY; Indicates whether the custom domain is valid or not. + CustomDomainValidated *bool `json:"customDomainValidated,omitempty"` + // Reason - READ-ONLY; The reason why the custom domain is not valid. + Reason *string `json:"reason,omitempty"` + // Message - READ-ONLY; Error message describing why the custom domain is not valid. + Message *string `json:"message,omitempty"` +} + +// WebApplicationFirewallPolicy defines web application firewall policy. +type WebApplicationFirewallPolicy struct { + autorest.Response `json:"-"` + // WebApplicationFirewallPolicyProperties - Properties of the web application firewall policy. + *WebApplicationFirewallPolicyProperties `json:"properties,omitempty"` + // Etag - Gets a unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - READ-ONLY; Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for WebApplicationFirewallPolicy. +func (wafp WebApplicationFirewallPolicy) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if wafp.WebApplicationFirewallPolicyProperties != nil { + objectMap["properties"] = wafp.WebApplicationFirewallPolicyProperties + } + if wafp.Etag != nil { + objectMap["etag"] = wafp.Etag + } + if wafp.Location != nil { + objectMap["location"] = wafp.Location + } + if wafp.Tags != nil { + objectMap["tags"] = wafp.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for WebApplicationFirewallPolicy struct. +func (wafp *WebApplicationFirewallPolicy) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var webApplicationFirewallPolicyProperties WebApplicationFirewallPolicyProperties + err = json.Unmarshal(*v, &webApplicationFirewallPolicyProperties) + if err != nil { + return err + } + wafp.WebApplicationFirewallPolicyProperties = &webApplicationFirewallPolicyProperties + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + wafp.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + wafp.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + wafp.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + wafp.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + wafp.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + wafp.Tags = tags + } + } + } + + return nil +} + +// WebApplicationFirewallPolicyList defines a list of WebApplicationFirewallPolicies. It contains a list of +// WebApplicationFirewallPolicy objects and a URL link to get the next set of results. +type WebApplicationFirewallPolicyList struct { + autorest.Response `json:"-"` + // Value - READ-ONLY; List of WebApplicationFirewallPolicies within a resource group. + Value *[]WebApplicationFirewallPolicy `json:"value,omitempty"` + // NextLink - URL to get the next set of WebApplicationFirewallPolicy objects if there are any. + NextLink *string `json:"nextLink,omitempty"` +} + +// WebApplicationFirewallPolicyListIterator provides access to a complete listing of +// WebApplicationFirewallPolicy values. +type WebApplicationFirewallPolicyListIterator struct { + i int + page WebApplicationFirewallPolicyListPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *WebApplicationFirewallPolicyListIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WebApplicationFirewallPolicyListIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *WebApplicationFirewallPolicyListIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter WebApplicationFirewallPolicyListIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter WebApplicationFirewallPolicyListIterator) Response() WebApplicationFirewallPolicyList { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter WebApplicationFirewallPolicyListIterator) Value() WebApplicationFirewallPolicy { + if !iter.page.NotDone() { + return WebApplicationFirewallPolicy{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the WebApplicationFirewallPolicyListIterator type. +func NewWebApplicationFirewallPolicyListIterator(page WebApplicationFirewallPolicyListPage) WebApplicationFirewallPolicyListIterator { + return WebApplicationFirewallPolicyListIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (wafpl WebApplicationFirewallPolicyList) IsEmpty() bool { + return wafpl.Value == nil || len(*wafpl.Value) == 0 +} + +// webApplicationFirewallPolicyListPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (wafpl WebApplicationFirewallPolicyList) webApplicationFirewallPolicyListPreparer(ctx context.Context) (*http.Request, error) { + if wafpl.NextLink == nil || len(to.String(wafpl.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(wafpl.NextLink))) +} + +// WebApplicationFirewallPolicyListPage contains a page of WebApplicationFirewallPolicy values. +type WebApplicationFirewallPolicyListPage struct { + fn func(context.Context, WebApplicationFirewallPolicyList) (WebApplicationFirewallPolicyList, error) + wafpl WebApplicationFirewallPolicyList +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *WebApplicationFirewallPolicyListPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WebApplicationFirewallPolicyListPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.wafpl) + if err != nil { + return err + } + page.wafpl = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *WebApplicationFirewallPolicyListPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page WebApplicationFirewallPolicyListPage) NotDone() bool { + return !page.wafpl.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page WebApplicationFirewallPolicyListPage) Response() WebApplicationFirewallPolicyList { + return page.wafpl +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page WebApplicationFirewallPolicyListPage) Values() []WebApplicationFirewallPolicy { + if page.wafpl.IsEmpty() { + return nil + } + return *page.wafpl.Value +} + +// Creates a new instance of the WebApplicationFirewallPolicyListPage type. +func NewWebApplicationFirewallPolicyListPage(getNextPage func(context.Context, WebApplicationFirewallPolicyList) (WebApplicationFirewallPolicyList, error)) WebApplicationFirewallPolicyListPage { + return WebApplicationFirewallPolicyListPage{fn: getNextPage} +} + +// WebApplicationFirewallPolicyProperties defines web application firewall policy properties. +type WebApplicationFirewallPolicyProperties struct { + // PolicySettings - Describes settings for the policy. + PolicySettings *PolicySettings `json:"policySettings,omitempty"` + // CustomRules - Describes custom rules inside the policy. + CustomRules *CustomRuleList `json:"customRules,omitempty"` + // ManagedRules - Describes managed rules inside the policy. + ManagedRules *ManagedRuleSetList `json:"managedRules,omitempty"` + // FrontendEndpointLinks - READ-ONLY; Describes Frontend Endpoints associated with this Web Application Firewall policy. + FrontendEndpointLinks *[]FrontendEndpointLink `json:"frontendEndpointLinks,omitempty"` + // ProvisioningState - READ-ONLY; Provisioning state of the policy. + ProvisioningState *string `json:"provisioningState,omitempty"` + // ResourceState - READ-ONLY; Possible values include: 'PolicyResourceStateCreating', 'PolicyResourceStateEnabling', 'PolicyResourceStateEnabled', 'PolicyResourceStateDisabling', 'PolicyResourceStateDisabled', 'PolicyResourceStateDeleting' + ResourceState PolicyResourceState `json:"resourceState,omitempty"` +} diff --git a/services/preview/frontdoor/mgmt/2019-05-01/frontdoor/policies.go b/services/preview/frontdoor/mgmt/2019-05-01/frontdoor/policies.go new file mode 100644 index 000000000000..89c4fdb4da6d --- /dev/null +++ b/services/preview/frontdoor/mgmt/2019-05-01/frontdoor/policies.go @@ -0,0 +1,433 @@ +package frontdoor + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// PoliciesClient is the frontDoor Client +type PoliciesClient struct { + BaseClient +} + +// NewPoliciesClient creates an instance of the PoliciesClient client. +func NewPoliciesClient(subscriptionID string) PoliciesClient { + return NewPoliciesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewPoliciesClientWithBaseURI creates an instance of the PoliciesClient client. +func NewPoliciesClientWithBaseURI(baseURI string, subscriptionID string) PoliciesClient { + return PoliciesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate create or update policy with specified rule set name within a resource group. +// Parameters: +// resourceGroupName - name of the Resource group within the Azure subscription. +// policyName - the name of the Web Application Firewall Policy. +// parameters - policy to be created. +func (client PoliciesClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, policyName string, parameters WebApplicationFirewallPolicy) (result PoliciesCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PoliciesClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 80, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9_\-\(\)\.]*[^\.]$`, Chain: nil}}}, + {TargetValue: policyName, + Constraints: []validation.Constraint{{Target: "policyName", Name: validation.MaxLength, Rule: 128, Chain: nil}}}, + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.WebApplicationFirewallPolicyProperties", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.WebApplicationFirewallPolicyProperties.PolicySettings", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.WebApplicationFirewallPolicyProperties.PolicySettings.CustomBlockResponseBody", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.WebApplicationFirewallPolicyProperties.PolicySettings.CustomBlockResponseBody", Name: validation.Pattern, Rule: `^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$`, Chain: nil}}}, + }}, + }}}}}); err != nil { + return result, validation.NewError("frontdoor.PoliciesClient", "CreateOrUpdate", err.Error()) + } + + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, policyName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.PoliciesClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.PoliciesClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client PoliciesClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, policyName string, parameters WebApplicationFirewallPolicy) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "policyName": autorest.Encode("path", policyName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-03-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/FrontDoorWebApplicationFirewallPolicies/{policyName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client PoliciesClient) CreateOrUpdateSender(req *http.Request) (future PoliciesCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client PoliciesClient) CreateOrUpdateResponder(resp *http.Response) (result WebApplicationFirewallPolicy, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes Policy +// Parameters: +// resourceGroupName - name of the Resource group within the Azure subscription. +// policyName - the name of the Web Application Firewall Policy. +func (client PoliciesClient) Delete(ctx context.Context, resourceGroupName string, policyName string) (result PoliciesDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PoliciesClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 80, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9_\-\(\)\.]*[^\.]$`, Chain: nil}}}, + {TargetValue: policyName, + Constraints: []validation.Constraint{{Target: "policyName", Name: validation.MaxLength, Rule: 128, Chain: nil}}}}); err != nil { + return result, validation.NewError("frontdoor.PoliciesClient", "Delete", err.Error()) + } + + req, err := client.DeletePreparer(ctx, resourceGroupName, policyName) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.PoliciesClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.PoliciesClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client PoliciesClient) DeletePreparer(ctx context.Context, resourceGroupName string, policyName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "policyName": autorest.Encode("path", policyName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-03-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/FrontDoorWebApplicationFirewallPolicies/{policyName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client PoliciesClient) DeleteSender(req *http.Request) (future PoliciesDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client PoliciesClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get retrieve protection policy with specified name within a resource group. +// Parameters: +// resourceGroupName - name of the Resource group within the Azure subscription. +// policyName - the name of the Web Application Firewall Policy. +func (client PoliciesClient) Get(ctx context.Context, resourceGroupName string, policyName string) (result WebApplicationFirewallPolicy, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PoliciesClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 80, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9_\-\(\)\.]*[^\.]$`, Chain: nil}}}, + {TargetValue: policyName, + Constraints: []validation.Constraint{{Target: "policyName", Name: validation.MaxLength, Rule: 128, Chain: nil}}}}); err != nil { + return result, validation.NewError("frontdoor.PoliciesClient", "Get", err.Error()) + } + + req, err := client.GetPreparer(ctx, resourceGroupName, policyName) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.PoliciesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "frontdoor.PoliciesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.PoliciesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client PoliciesClient) GetPreparer(ctx context.Context, resourceGroupName string, policyName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "policyName": autorest.Encode("path", policyName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-03-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/FrontDoorWebApplicationFirewallPolicies/{policyName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client PoliciesClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client PoliciesClient) GetResponder(resp *http.Response) (result WebApplicationFirewallPolicy, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List lists all of the protection policies within a resource group. +// Parameters: +// resourceGroupName - name of the Resource group within the Azure subscription. +func (client PoliciesClient) List(ctx context.Context, resourceGroupName string) (result WebApplicationFirewallPolicyListPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PoliciesClient.List") + defer func() { + sc := -1 + if result.wafpl.Response.Response != nil { + sc = result.wafpl.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 80, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9_\-\(\)\.]*[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("frontdoor.PoliciesClient", "List", err.Error()) + } + + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.PoliciesClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.wafpl.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "frontdoor.PoliciesClient", "List", resp, "Failure sending request") + return + } + + result.wafpl, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.PoliciesClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client PoliciesClient) ListPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-03-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/FrontDoorWebApplicationFirewallPolicies", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client PoliciesClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client PoliciesClient) ListResponder(resp *http.Response) (result WebApplicationFirewallPolicyList, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client PoliciesClient) listNextResults(ctx context.Context, lastResults WebApplicationFirewallPolicyList) (result WebApplicationFirewallPolicyList, err error) { + req, err := lastResults.webApplicationFirewallPolicyListPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "frontdoor.PoliciesClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "frontdoor.PoliciesClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.PoliciesClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client PoliciesClient) ListComplete(ctx context.Context, resourceGroupName string) (result WebApplicationFirewallPolicyListIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PoliciesClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName) + return +} diff --git a/services/preview/frontdoor/mgmt/2019-05-01/frontdoor/routingrules.go b/services/preview/frontdoor/mgmt/2019-05-01/frontdoor/routingrules.go new file mode 100644 index 000000000000..bdba08555973 --- /dev/null +++ b/services/preview/frontdoor/mgmt/2019-05-01/frontdoor/routingrules.go @@ -0,0 +1,457 @@ +package frontdoor + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// RoutingRulesClient is the frontDoor Client +type RoutingRulesClient struct { + BaseClient +} + +// NewRoutingRulesClient creates an instance of the RoutingRulesClient client. +func NewRoutingRulesClient(subscriptionID string) RoutingRulesClient { + return NewRoutingRulesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewRoutingRulesClientWithBaseURI creates an instance of the RoutingRulesClient client. +func NewRoutingRulesClientWithBaseURI(baseURI string, subscriptionID string) RoutingRulesClient { + return RoutingRulesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates a new Routing Rule with the specified Rule name within the specified Front Door. +// Parameters: +// resourceGroupName - name of the Resource group within the Azure subscription. +// frontDoorName - name of the Front Door which is globally unique. +// routingRuleName - name of the Routing Rule which is unique within the Front Door. +// routingRuleParameters - routing Rule properties needed to create a new Front Door. +func (client RoutingRulesClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, frontDoorName string, routingRuleName string, routingRuleParameters RoutingRule) (result RoutingRulesCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RoutingRulesClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 80, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9_\-\(\)\.]*[^\.]$`, Chain: nil}}}, + {TargetValue: frontDoorName, + Constraints: []validation.Constraint{{Target: "frontDoorName", Name: validation.MaxLength, Rule: 64, Chain: nil}, + {Target: "frontDoorName", Name: validation.MinLength, Rule: 5, Chain: nil}, + {Target: "frontDoorName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$`, Chain: nil}}}, + {TargetValue: routingRuleName, + Constraints: []validation.Constraint{{Target: "routingRuleName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "routingRuleName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "routingRuleName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("frontdoor.RoutingRulesClient", "CreateOrUpdate", err.Error()) + } + + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, frontDoorName, routingRuleName, routingRuleParameters) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.RoutingRulesClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.RoutingRulesClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client RoutingRulesClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, frontDoorName string, routingRuleName string, routingRuleParameters RoutingRule) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "frontDoorName": autorest.Encode("path", frontDoorName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "routingRuleName": autorest.Encode("path", routingRuleName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + routingRuleParameters.Type = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/routingRules/{routingRuleName}", pathParameters), + autorest.WithJSON(routingRuleParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client RoutingRulesClient) CreateOrUpdateSender(req *http.Request) (future RoutingRulesCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client RoutingRulesClient) CreateOrUpdateResponder(resp *http.Response) (result RoutingRule, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes an existing Routing Rule with the specified parameters. +// Parameters: +// resourceGroupName - name of the Resource group within the Azure subscription. +// frontDoorName - name of the Front Door which is globally unique. +// routingRuleName - name of the Routing Rule which is unique within the Front Door. +func (client RoutingRulesClient) Delete(ctx context.Context, resourceGroupName string, frontDoorName string, routingRuleName string) (result RoutingRulesDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RoutingRulesClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 80, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9_\-\(\)\.]*[^\.]$`, Chain: nil}}}, + {TargetValue: frontDoorName, + Constraints: []validation.Constraint{{Target: "frontDoorName", Name: validation.MaxLength, Rule: 64, Chain: nil}, + {Target: "frontDoorName", Name: validation.MinLength, Rule: 5, Chain: nil}, + {Target: "frontDoorName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$`, Chain: nil}}}, + {TargetValue: routingRuleName, + Constraints: []validation.Constraint{{Target: "routingRuleName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "routingRuleName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "routingRuleName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("frontdoor.RoutingRulesClient", "Delete", err.Error()) + } + + req, err := client.DeletePreparer(ctx, resourceGroupName, frontDoorName, routingRuleName) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.RoutingRulesClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.RoutingRulesClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client RoutingRulesClient) DeletePreparer(ctx context.Context, resourceGroupName string, frontDoorName string, routingRuleName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "frontDoorName": autorest.Encode("path", frontDoorName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "routingRuleName": autorest.Encode("path", routingRuleName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/routingRules/{routingRuleName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client RoutingRulesClient) DeleteSender(req *http.Request) (future RoutingRulesDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client RoutingRulesClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets a Routing Rule with the specified Rule name within the specified Front Door. +// Parameters: +// resourceGroupName - name of the Resource group within the Azure subscription. +// frontDoorName - name of the Front Door which is globally unique. +// routingRuleName - name of the Routing Rule which is unique within the Front Door. +func (client RoutingRulesClient) Get(ctx context.Context, resourceGroupName string, frontDoorName string, routingRuleName string) (result RoutingRule, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RoutingRulesClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 80, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9_\-\(\)\.]*[^\.]$`, Chain: nil}}}, + {TargetValue: frontDoorName, + Constraints: []validation.Constraint{{Target: "frontDoorName", Name: validation.MaxLength, Rule: 64, Chain: nil}, + {Target: "frontDoorName", Name: validation.MinLength, Rule: 5, Chain: nil}, + {Target: "frontDoorName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$`, Chain: nil}}}, + {TargetValue: routingRuleName, + Constraints: []validation.Constraint{{Target: "routingRuleName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "routingRuleName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "routingRuleName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("frontdoor.RoutingRulesClient", "Get", err.Error()) + } + + req, err := client.GetPreparer(ctx, resourceGroupName, frontDoorName, routingRuleName) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.RoutingRulesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "frontdoor.RoutingRulesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.RoutingRulesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client RoutingRulesClient) GetPreparer(ctx context.Context, resourceGroupName string, frontDoorName string, routingRuleName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "frontDoorName": autorest.Encode("path", frontDoorName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "routingRuleName": autorest.Encode("path", routingRuleName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/routingRules/{routingRuleName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client RoutingRulesClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client RoutingRulesClient) GetResponder(resp *http.Response) (result RoutingRule, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByFrontDoor lists all of the Routing Rules within a Front Door. +// Parameters: +// resourceGroupName - name of the Resource group within the Azure subscription. +// frontDoorName - name of the Front Door which is globally unique. +func (client RoutingRulesClient) ListByFrontDoor(ctx context.Context, resourceGroupName string, frontDoorName string) (result RoutingRuleListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RoutingRulesClient.ListByFrontDoor") + defer func() { + sc := -1 + if result.rrlr.Response.Response != nil { + sc = result.rrlr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 80, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9_\-\(\)\.]*[^\.]$`, Chain: nil}}}, + {TargetValue: frontDoorName, + Constraints: []validation.Constraint{{Target: "frontDoorName", Name: validation.MaxLength, Rule: 64, Chain: nil}, + {Target: "frontDoorName", Name: validation.MinLength, Rule: 5, Chain: nil}, + {Target: "frontDoorName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("frontdoor.RoutingRulesClient", "ListByFrontDoor", err.Error()) + } + + result.fn = client.listByFrontDoorNextResults + req, err := client.ListByFrontDoorPreparer(ctx, resourceGroupName, frontDoorName) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.RoutingRulesClient", "ListByFrontDoor", nil, "Failure preparing request") + return + } + + resp, err := client.ListByFrontDoorSender(req) + if err != nil { + result.rrlr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "frontdoor.RoutingRulesClient", "ListByFrontDoor", resp, "Failure sending request") + return + } + + result.rrlr, err = client.ListByFrontDoorResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.RoutingRulesClient", "ListByFrontDoor", resp, "Failure responding to request") + } + + return +} + +// ListByFrontDoorPreparer prepares the ListByFrontDoor request. +func (client RoutingRulesClient) ListByFrontDoorPreparer(ctx context.Context, resourceGroupName string, frontDoorName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "frontDoorName": autorest.Encode("path", frontDoorName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/routingRules", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByFrontDoorSender sends the ListByFrontDoor request. The method will close the +// http.Response Body if it receives an error. +func (client RoutingRulesClient) ListByFrontDoorSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByFrontDoorResponder handles the response to the ListByFrontDoor request. The method always +// closes the http.Response Body. +func (client RoutingRulesClient) ListByFrontDoorResponder(resp *http.Response) (result RoutingRuleListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listByFrontDoorNextResults retrieves the next set of results, if any. +func (client RoutingRulesClient) listByFrontDoorNextResults(ctx context.Context, lastResults RoutingRuleListResult) (result RoutingRuleListResult, err error) { + req, err := lastResults.routingRuleListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "frontdoor.RoutingRulesClient", "listByFrontDoorNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListByFrontDoorSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "frontdoor.RoutingRulesClient", "listByFrontDoorNextResults", resp, "Failure sending next results request") + } + result, err = client.ListByFrontDoorResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "frontdoor.RoutingRulesClient", "listByFrontDoorNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListByFrontDoorComplete enumerates all values, automatically crossing page boundaries as required. +func (client RoutingRulesClient) ListByFrontDoorComplete(ctx context.Context, resourceGroupName string, frontDoorName string) (result RoutingRuleListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RoutingRulesClient.ListByFrontDoor") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListByFrontDoor(ctx, resourceGroupName, frontDoorName) + return +} diff --git a/services/preview/frontdoor/mgmt/2019-05-01/frontdoor/version.go b/services/preview/frontdoor/mgmt/2019-05-01/frontdoor/version.go new file mode 100644 index 000000000000..fb5fbd023513 --- /dev/null +++ b/services/preview/frontdoor/mgmt/2019-05-01/frontdoor/version.go @@ -0,0 +1,30 @@ +package frontdoor + +import "github.com/Azure/azure-sdk-for-go/version" + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +// UserAgent returns the UserAgent string to use when sending http.Requests. +func UserAgent() string { + return "Azure-SDK-For-Go/" + version.Number + " frontdoor/2019-05-01" +} + +// Version returns the semantic version (see http://semver.org) of the client. +func Version() string { + return version.Number +} From 64949bc54636bbb884ae21d76c7bbfbadc88704e Mon Sep 17 00:00:00 2001 From: "openapi-bot[bot]" <37845953+openapi-bot[bot]@users.noreply.github.com> Date: Wed, 28 Aug 2019 00:57:47 +0000 Subject: [PATCH 08/12] [AutoPR resources/mgmt/2019-06-01] Adding a new api version 2019-06-01 for Microsoft.Authorization policy artifacts (#276) * Generated from edd74f0a1be6f17caa185525a63e594aef956acc Addressed review comments. * Modifications after running after_scripts --- .../latest/resources/mgmt/policy/models.go | 19 +- .../resources/mgmt/policy/policyapi/models.go | 2 +- .../preview/resources/mgmt/policy/models.go | 19 +- .../resources/mgmt/policy/policyapi/models.go | 2 +- .../mgmt/2019-06-01/policy/assignments.go | 966 ++++++++++++++++++ .../mgmt/2019-06-01/policy/client.go | 51 + .../mgmt/2019-06-01/policy/definitions.go | 910 +++++++++++++++++ .../mgmt/2019-06-01/policy/models.go | 869 ++++++++++++++++ .../2019-06-01/policy/policyapi/interfaces.go | 71 ++ .../mgmt/2019-06-01/policy/setdefinitions.go | 927 +++++++++++++++++ .../mgmt/2019-06-01/policy/version.go | 30 + 11 files changed, 3856 insertions(+), 10 deletions(-) create mode 100644 services/resources/mgmt/2019-06-01/policy/assignments.go create mode 100644 services/resources/mgmt/2019-06-01/policy/client.go create mode 100644 services/resources/mgmt/2019-06-01/policy/definitions.go create mode 100644 services/resources/mgmt/2019-06-01/policy/models.go create mode 100644 services/resources/mgmt/2019-06-01/policy/policyapi/interfaces.go create mode 100644 services/resources/mgmt/2019-06-01/policy/setdefinitions.go create mode 100644 services/resources/mgmt/2019-06-01/policy/version.go diff --git a/profiles/latest/resources/mgmt/policy/models.go b/profiles/latest/resources/mgmt/policy/models.go index 7b2a06150421..0781bbc2634f 100644 --- a/profiles/latest/resources/mgmt/policy/models.go +++ b/profiles/latest/resources/mgmt/policy/models.go @@ -22,13 +22,21 @@ package policy import ( "context" - original "github.com/Azure/azure-sdk-for-go/services/resources/mgmt/2019-01-01/policy" + original "github.com/Azure/azure-sdk-for-go/services/resources/mgmt/2019-06-01/policy" ) const ( DefaultBaseURI = original.DefaultBaseURI ) +type EnforcementMode = original.EnforcementMode + +const ( + Default EnforcementMode = original.Default + DoNotEnforce EnforcementMode = original.DoNotEnforce + NotSpecified EnforcementMode = original.NotSpecified +) + type ResourceIdentityType = original.ResourceIdentityType const ( @@ -39,9 +47,9 @@ const ( type Type = original.Type const ( - BuiltIn Type = original.BuiltIn - Custom Type = original.Custom - NotSpecified Type = original.NotSpecified + TypeBuiltIn Type = original.TypeBuiltIn + TypeCustom Type = original.TypeCustom + TypeNotSpecified Type = original.TypeNotSpecified ) type Assignment = original.Assignment @@ -110,6 +118,9 @@ func NewSetDefinitionsClientWithBaseURI(baseURI string, subscriptionID string) S func NewWithBaseURI(baseURI string, subscriptionID string) BaseClient { return original.NewWithBaseURI(baseURI, subscriptionID) } +func PossibleEnforcementModeValues() []EnforcementMode { + return original.PossibleEnforcementModeValues() +} func PossibleResourceIdentityTypeValues() []ResourceIdentityType { return original.PossibleResourceIdentityTypeValues() } diff --git a/profiles/latest/resources/mgmt/policy/policyapi/models.go b/profiles/latest/resources/mgmt/policy/policyapi/models.go index a4c9803aa76a..be7cec1ae017 100644 --- a/profiles/latest/resources/mgmt/policy/policyapi/models.go +++ b/profiles/latest/resources/mgmt/policy/policyapi/models.go @@ -19,7 +19,7 @@ package policyapi -import original "github.com/Azure/azure-sdk-for-go/services/resources/mgmt/2019-01-01/policy/policyapi" +import original "github.com/Azure/azure-sdk-for-go/services/resources/mgmt/2019-06-01/policy/policyapi" type AssignmentsClientAPI = original.AssignmentsClientAPI type DefinitionsClientAPI = original.DefinitionsClientAPI diff --git a/profiles/preview/resources/mgmt/policy/models.go b/profiles/preview/resources/mgmt/policy/models.go index 85b79b003622..193a39ae9762 100644 --- a/profiles/preview/resources/mgmt/policy/models.go +++ b/profiles/preview/resources/mgmt/policy/models.go @@ -22,13 +22,21 @@ package policy import ( "context" - original "github.com/Azure/azure-sdk-for-go/services/resources/mgmt/2019-01-01/policy" + original "github.com/Azure/azure-sdk-for-go/services/resources/mgmt/2019-06-01/policy" ) const ( DefaultBaseURI = original.DefaultBaseURI ) +type EnforcementMode = original.EnforcementMode + +const ( + Default EnforcementMode = original.Default + DoNotEnforce EnforcementMode = original.DoNotEnforce + NotSpecified EnforcementMode = original.NotSpecified +) + type ResourceIdentityType = original.ResourceIdentityType const ( @@ -39,9 +47,9 @@ const ( type Type = original.Type const ( - BuiltIn Type = original.BuiltIn - Custom Type = original.Custom - NotSpecified Type = original.NotSpecified + TypeBuiltIn Type = original.TypeBuiltIn + TypeCustom Type = original.TypeCustom + TypeNotSpecified Type = original.TypeNotSpecified ) type Assignment = original.Assignment @@ -110,6 +118,9 @@ func NewSetDefinitionsClientWithBaseURI(baseURI string, subscriptionID string) S func NewWithBaseURI(baseURI string, subscriptionID string) BaseClient { return original.NewWithBaseURI(baseURI, subscriptionID) } +func PossibleEnforcementModeValues() []EnforcementMode { + return original.PossibleEnforcementModeValues() +} func PossibleResourceIdentityTypeValues() []ResourceIdentityType { return original.PossibleResourceIdentityTypeValues() } diff --git a/profiles/preview/resources/mgmt/policy/policyapi/models.go b/profiles/preview/resources/mgmt/policy/policyapi/models.go index a4c9803aa76a..be7cec1ae017 100644 --- a/profiles/preview/resources/mgmt/policy/policyapi/models.go +++ b/profiles/preview/resources/mgmt/policy/policyapi/models.go @@ -19,7 +19,7 @@ package policyapi -import original "github.com/Azure/azure-sdk-for-go/services/resources/mgmt/2019-01-01/policy/policyapi" +import original "github.com/Azure/azure-sdk-for-go/services/resources/mgmt/2019-06-01/policy/policyapi" type AssignmentsClientAPI = original.AssignmentsClientAPI type DefinitionsClientAPI = original.DefinitionsClientAPI diff --git a/services/resources/mgmt/2019-06-01/policy/assignments.go b/services/resources/mgmt/2019-06-01/policy/assignments.go new file mode 100644 index 000000000000..0b8cb46951a2 --- /dev/null +++ b/services/resources/mgmt/2019-06-01/policy/assignments.go @@ -0,0 +1,966 @@ +package policy + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// AssignmentsClient is the to manage and control access to your resources, you can define customized policies and +// assign them at a scope. +type AssignmentsClient struct { + BaseClient +} + +// NewAssignmentsClient creates an instance of the AssignmentsClient client. +func NewAssignmentsClient(subscriptionID string) AssignmentsClient { + return NewAssignmentsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewAssignmentsClientWithBaseURI creates an instance of the AssignmentsClient client. +func NewAssignmentsClientWithBaseURI(baseURI string, subscriptionID string) AssignmentsClient { + return AssignmentsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// Create this operation creates or updates a policy assignment with the given scope and name. Policy assignments apply +// to all resources contained within their scope. For example, when you assign a policy at resource group scope, that +// policy applies to all resources in the group. +// Parameters: +// scope - the scope of the policy assignment. Valid scopes are: management group (format: +// '/providers/Microsoft.Management/managementGroups/{managementGroup}'), subscription (format: +// '/subscriptions/{subscriptionId}'), resource group (format: +// '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format: +// '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}' +// policyAssignmentName - the name of the policy assignment. +// parameters - parameters for the policy assignment. +func (client AssignmentsClient) Create(ctx context.Context, scope string, policyAssignmentName string, parameters Assignment) (result Assignment, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AssignmentsClient.Create") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.Sku", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.Sku.Name", Name: validation.Null, Rule: true, Chain: nil}}}}}}); err != nil { + return result, validation.NewError("policy.AssignmentsClient", "Create", err.Error()) + } + + req, err := client.CreatePreparer(ctx, scope, policyAssignmentName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "policy.AssignmentsClient", "Create", nil, "Failure preparing request") + return + } + + resp, err := client.CreateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "policy.AssignmentsClient", "Create", resp, "Failure sending request") + return + } + + result, err = client.CreateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policy.AssignmentsClient", "Create", resp, "Failure responding to request") + } + + return +} + +// CreatePreparer prepares the Create request. +func (client AssignmentsClient) CreatePreparer(ctx context.Context, scope string, policyAssignmentName string, parameters Assignment) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "policyAssignmentName": autorest.Encode("path", policyAssignmentName), + "scope": scope, + } + + const APIVersion = "2019-06-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + parameters.ID = nil + parameters.Type = nil + parameters.Name = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/{scope}/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateSender sends the Create request. The method will close the +// http.Response Body if it receives an error. +func (client AssignmentsClient) CreateSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// CreateResponder handles the response to the Create request. The method always +// closes the http.Response Body. +func (client AssignmentsClient) CreateResponder(resp *http.Response) (result Assignment, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// CreateByID this operation creates or updates the policy assignment with the given ID. Policy assignments made on a +// scope apply to all resources contained in that scope. For example, when you assign a policy to a resource group that +// policy applies to all resources in the group. Policy assignment IDs have this format: +// '{scope}/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}'. Valid scopes are: management +// group (format: '/providers/Microsoft.Management/managementGroups/{managementGroup}'), subscription (format: +// '/subscriptions/{subscriptionId}'), resource group (format: +// '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format: +// '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'. +// Parameters: +// policyAssignmentID - the ID of the policy assignment to create. Use the format +// '{scope}/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}'. +// parameters - parameters for policy assignment. +func (client AssignmentsClient) CreateByID(ctx context.Context, policyAssignmentID string, parameters Assignment) (result Assignment, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AssignmentsClient.CreateByID") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.Sku", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.Sku.Name", Name: validation.Null, Rule: true, Chain: nil}}}}}}); err != nil { + return result, validation.NewError("policy.AssignmentsClient", "CreateByID", err.Error()) + } + + req, err := client.CreateByIDPreparer(ctx, policyAssignmentID, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "policy.AssignmentsClient", "CreateByID", nil, "Failure preparing request") + return + } + + resp, err := client.CreateByIDSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "policy.AssignmentsClient", "CreateByID", resp, "Failure sending request") + return + } + + result, err = client.CreateByIDResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policy.AssignmentsClient", "CreateByID", resp, "Failure responding to request") + } + + return +} + +// CreateByIDPreparer prepares the CreateByID request. +func (client AssignmentsClient) CreateByIDPreparer(ctx context.Context, policyAssignmentID string, parameters Assignment) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "policyAssignmentId": policyAssignmentID, + } + + const APIVersion = "2019-06-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + parameters.ID = nil + parameters.Type = nil + parameters.Name = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/{policyAssignmentId}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateByIDSender sends the CreateByID request. The method will close the +// http.Response Body if it receives an error. +func (client AssignmentsClient) CreateByIDSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// CreateByIDResponder handles the response to the CreateByID request. The method always +// closes the http.Response Body. +func (client AssignmentsClient) CreateByIDResponder(resp *http.Response) (result Assignment, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete this operation deletes a policy assignment, given its name and the scope it was created in. The scope of a +// policy assignment is the part of its ID preceding +// '/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}'. +// Parameters: +// scope - the scope of the policy assignment. Valid scopes are: management group (format: +// '/providers/Microsoft.Management/managementGroups/{managementGroup}'), subscription (format: +// '/subscriptions/{subscriptionId}'), resource group (format: +// '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format: +// '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}' +// policyAssignmentName - the name of the policy assignment to delete. +func (client AssignmentsClient) Delete(ctx context.Context, scope string, policyAssignmentName string) (result Assignment, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AssignmentsClient.Delete") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, scope, policyAssignmentName) + if err != nil { + err = autorest.NewErrorWithError(err, "policy.AssignmentsClient", "Delete", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "policy.AssignmentsClient", "Delete", resp, "Failure sending request") + return + } + + result, err = client.DeleteResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policy.AssignmentsClient", "Delete", resp, "Failure responding to request") + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client AssignmentsClient) DeletePreparer(ctx context.Context, scope string, policyAssignmentName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "policyAssignmentName": autorest.Encode("path", policyAssignmentName), + "scope": scope, + } + + const APIVersion = "2019-06-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/{scope}/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client AssignmentsClient) DeleteSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client AssignmentsClient) DeleteResponder(resp *http.Response) (result Assignment, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// DeleteByID this operation deletes the policy with the given ID. Policy assignment IDs have this format: +// '{scope}/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}'. Valid formats for {scope} are: +// '/providers/Microsoft.Management/managementGroups/{managementGroup}' (management group), +// '/subscriptions/{subscriptionId}' (subscription), +// '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' (resource group), or +// '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}' +// (resource). +// Parameters: +// policyAssignmentID - the ID of the policy assignment to delete. Use the format +// '{scope}/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}'. +func (client AssignmentsClient) DeleteByID(ctx context.Context, policyAssignmentID string) (result Assignment, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AssignmentsClient.DeleteByID") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeleteByIDPreparer(ctx, policyAssignmentID) + if err != nil { + err = autorest.NewErrorWithError(err, "policy.AssignmentsClient", "DeleteByID", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteByIDSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "policy.AssignmentsClient", "DeleteByID", resp, "Failure sending request") + return + } + + result, err = client.DeleteByIDResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policy.AssignmentsClient", "DeleteByID", resp, "Failure responding to request") + } + + return +} + +// DeleteByIDPreparer prepares the DeleteByID request. +func (client AssignmentsClient) DeleteByIDPreparer(ctx context.Context, policyAssignmentID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "policyAssignmentId": policyAssignmentID, + } + + const APIVersion = "2019-06-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/{policyAssignmentId}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteByIDSender sends the DeleteByID request. The method will close the +// http.Response Body if it receives an error. +func (client AssignmentsClient) DeleteByIDSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeleteByIDResponder handles the response to the DeleteByID request. The method always +// closes the http.Response Body. +func (client AssignmentsClient) DeleteByIDResponder(resp *http.Response) (result Assignment, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Get this operation retrieves a single policy assignment, given its name and the scope it was created at. +// Parameters: +// scope - the scope of the policy assignment. Valid scopes are: management group (format: +// '/providers/Microsoft.Management/managementGroups/{managementGroup}'), subscription (format: +// '/subscriptions/{subscriptionId}'), resource group (format: +// '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format: +// '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}' +// policyAssignmentName - the name of the policy assignment to get. +func (client AssignmentsClient) Get(ctx context.Context, scope string, policyAssignmentName string) (result Assignment, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AssignmentsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, scope, policyAssignmentName) + if err != nil { + err = autorest.NewErrorWithError(err, "policy.AssignmentsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "policy.AssignmentsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policy.AssignmentsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client AssignmentsClient) GetPreparer(ctx context.Context, scope string, policyAssignmentName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "policyAssignmentName": autorest.Encode("path", policyAssignmentName), + "scope": scope, + } + + const APIVersion = "2019-06-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/{scope}/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client AssignmentsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client AssignmentsClient) GetResponder(resp *http.Response) (result Assignment, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetByID the operation retrieves the policy assignment with the given ID. Policy assignment IDs have this format: +// '{scope}/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}'. Valid scopes are: management +// group (format: '/providers/Microsoft.Management/managementGroups/{managementGroup}'), subscription (format: +// '/subscriptions/{subscriptionId}'), resource group (format: +// '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}', or resource (format: +// '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}'. +// Parameters: +// policyAssignmentID - the ID of the policy assignment to get. Use the format +// '{scope}/providers/Microsoft.Authorization/policyAssignments/{policyAssignmentName}'. +func (client AssignmentsClient) GetByID(ctx context.Context, policyAssignmentID string) (result Assignment, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AssignmentsClient.GetByID") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetByIDPreparer(ctx, policyAssignmentID) + if err != nil { + err = autorest.NewErrorWithError(err, "policy.AssignmentsClient", "GetByID", nil, "Failure preparing request") + return + } + + resp, err := client.GetByIDSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "policy.AssignmentsClient", "GetByID", resp, "Failure sending request") + return + } + + result, err = client.GetByIDResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policy.AssignmentsClient", "GetByID", resp, "Failure responding to request") + } + + return +} + +// GetByIDPreparer prepares the GetByID request. +func (client AssignmentsClient) GetByIDPreparer(ctx context.Context, policyAssignmentID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "policyAssignmentId": policyAssignmentID, + } + + const APIVersion = "2019-06-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/{policyAssignmentId}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetByIDSender sends the GetByID request. The method will close the +// http.Response Body if it receives an error. +func (client AssignmentsClient) GetByIDSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetByIDResponder handles the response to the GetByID request. The method always +// closes the http.Response Body. +func (client AssignmentsClient) GetByIDResponder(resp *http.Response) (result Assignment, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List this operation retrieves the list of all policy assignments associated with the given subscription that match +// the optional given $filter. Valid values for $filter are: 'atScope()' or 'policyDefinitionId eq '{value}''. If +// $filter is not provided, the unfiltered list includes all policy assignments associated with the subscription, +// including those that apply directly or from management groups that contain the given subscription, as well as any +// applied to objects contained within the subscription. If $filter=atScope() is provided, the returned list includes +// all policy assignments that apply to the subscription, which is everything in the unfiltered list except those +// applied to objects contained within the subscription. If $filter=policyDefinitionId eq '{value}' is provided, the +// returned list includes all policy assignments of the policy definition whose id is {value}. +// Parameters: +// filter - the filter to apply on the operation. Valid values for $filter are: 'atScope()' or +// 'policyDefinitionId eq '{value}''. If $filter is not provided, no filtering is performed. +func (client AssignmentsClient) List(ctx context.Context, filter string) (result AssignmentListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AssignmentsClient.List") + defer func() { + sc := -1 + if result.alr.Response.Response != nil { + sc = result.alr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, filter) + if err != nil { + err = autorest.NewErrorWithError(err, "policy.AssignmentsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.alr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "policy.AssignmentsClient", "List", resp, "Failure sending request") + return + } + + result.alr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policy.AssignmentsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client AssignmentsClient) ListPreparer(ctx context.Context, filter string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-06-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(filter) > 0 { + queryParameters["$filter"] = autorest.Encode("query", filter) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policyAssignments", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client AssignmentsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client AssignmentsClient) ListResponder(resp *http.Response) (result AssignmentListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client AssignmentsClient) listNextResults(ctx context.Context, lastResults AssignmentListResult) (result AssignmentListResult, err error) { + req, err := lastResults.assignmentListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "policy.AssignmentsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "policy.AssignmentsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policy.AssignmentsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client AssignmentsClient) ListComplete(ctx context.Context, filter string) (result AssignmentListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AssignmentsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, filter) + return +} + +// ListForResource this operation retrieves the list of all policy assignments associated with the specified resource +// in the given resource group and subscription that match the optional given $filter. Valid values for $filter are: +// 'atScope()' or 'policyDefinitionId eq '{value}''. If $filter is not provided, the unfiltered list includes all +// policy assignments associated with the resource, including those that apply directly or from all containing scopes, +// as well as any applied to resources contained within the resource. If $filter=atScope() is provided, the returned +// list includes all policy assignments that apply to the resource, which is everything in the unfiltered list except +// those applied to resources contained within the resource. If $filter=policyDefinitionId eq '{value}' is provided, +// the returned list includes all policy assignments of the policy definition whose id is {value} that apply to the +// resource. Three parameters plus the resource name are used to identify a specific resource. If the resource is not +// part of a parent resource (the more common case), the parent resource path should not be provided (or provided as +// ''). For example a web app could be specified as ({resourceProviderNamespace} == 'Microsoft.Web', +// {parentResourcePath} == '', {resourceType} == 'sites', {resourceName} == 'MyWebApp'). If the resource is part of a +// parent resource, then all parameters should be provided. For example a virtual machine DNS name could be specified +// as ({resourceProviderNamespace} == 'Microsoft.Compute', {parentResourcePath} == 'virtualMachines/MyVirtualMachine', +// {resourceType} == 'domainNames', {resourceName} == 'MyComputerName'). A convenient alternative to providing the +// namespace and type name separately is to provide both in the {resourceType} parameter, format: +// ({resourceProviderNamespace} == '', {parentResourcePath} == '', {resourceType} == 'Microsoft.Web/sites', +// {resourceName} == 'MyWebApp'). +// Parameters: +// resourceGroupName - the name of the resource group containing the resource. +// resourceProviderNamespace - the namespace of the resource provider. For example, the namespace of a virtual +// machine is Microsoft.Compute (from Microsoft.Compute/virtualMachines) +// parentResourcePath - the parent resource path. Use empty string if there is none. +// resourceType - the resource type name. For example the type name of a web app is 'sites' (from +// Microsoft.Web/sites). +// resourceName - the name of the resource. +// filter - the filter to apply on the operation. Valid values for $filter are: 'atScope()' or +// 'policyDefinitionId eq '{value}''. If $filter is not provided, no filtering is performed. +func (client AssignmentsClient) ListForResource(ctx context.Context, resourceGroupName string, resourceProviderNamespace string, parentResourcePath string, resourceType string, resourceName string, filter string) (result AssignmentListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AssignmentsClient.ListForResource") + defer func() { + sc := -1 + if result.alr.Response.Response != nil { + sc = result.alr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\p{L}\._\(\)\w]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("policy.AssignmentsClient", "ListForResource", err.Error()) + } + + result.fn = client.listForResourceNextResults + req, err := client.ListForResourcePreparer(ctx, resourceGroupName, resourceProviderNamespace, parentResourcePath, resourceType, resourceName, filter) + if err != nil { + err = autorest.NewErrorWithError(err, "policy.AssignmentsClient", "ListForResource", nil, "Failure preparing request") + return + } + + resp, err := client.ListForResourceSender(req) + if err != nil { + result.alr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "policy.AssignmentsClient", "ListForResource", resp, "Failure sending request") + return + } + + result.alr, err = client.ListForResourceResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policy.AssignmentsClient", "ListForResource", resp, "Failure responding to request") + } + + return +} + +// ListForResourcePreparer prepares the ListForResource request. +func (client AssignmentsClient) ListForResourcePreparer(ctx context.Context, resourceGroupName string, resourceProviderNamespace string, parentResourcePath string, resourceType string, resourceName string, filter string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "parentResourcePath": parentResourcePath, + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "resourceName": autorest.Encode("path", resourceName), + "resourceProviderNamespace": autorest.Encode("path", resourceProviderNamespace), + "resourceType": resourceType, + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-06-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(filter) > 0 { + queryParameters["$filter"] = autorest.Encode("query", filter) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}/providers/Microsoft.Authorization/policyAssignments", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListForResourceSender sends the ListForResource request. The method will close the +// http.Response Body if it receives an error. +func (client AssignmentsClient) ListForResourceSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListForResourceResponder handles the response to the ListForResource request. The method always +// closes the http.Response Body. +func (client AssignmentsClient) ListForResourceResponder(resp *http.Response) (result AssignmentListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listForResourceNextResults retrieves the next set of results, if any. +func (client AssignmentsClient) listForResourceNextResults(ctx context.Context, lastResults AssignmentListResult) (result AssignmentListResult, err error) { + req, err := lastResults.assignmentListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "policy.AssignmentsClient", "listForResourceNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListForResourceSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "policy.AssignmentsClient", "listForResourceNextResults", resp, "Failure sending next results request") + } + result, err = client.ListForResourceResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policy.AssignmentsClient", "listForResourceNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListForResourceComplete enumerates all values, automatically crossing page boundaries as required. +func (client AssignmentsClient) ListForResourceComplete(ctx context.Context, resourceGroupName string, resourceProviderNamespace string, parentResourcePath string, resourceType string, resourceName string, filter string) (result AssignmentListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AssignmentsClient.ListForResource") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListForResource(ctx, resourceGroupName, resourceProviderNamespace, parentResourcePath, resourceType, resourceName, filter) + return +} + +// ListForResourceGroup this operation retrieves the list of all policy assignments associated with the given resource +// group in the given subscription that match the optional given $filter. Valid values for $filter are: 'atScope()' or +// 'policyDefinitionId eq '{value}''. If $filter is not provided, the unfiltered list includes all policy assignments +// associated with the resource group, including those that apply directly or apply from containing scopes, as well as +// any applied to resources contained within the resource group. If $filter=atScope() is provided, the returned list +// includes all policy assignments that apply to the resource group, which is everything in the unfiltered list except +// those applied to resources contained within the resource group. If $filter=policyDefinitionId eq '{value}' is +// provided, the returned list includes all policy assignments of the policy definition whose id is {value} that apply +// to the resource group. +// Parameters: +// resourceGroupName - the name of the resource group that contains policy assignments. +// filter - the filter to apply on the operation. Valid values for $filter are: 'atScope()' or +// 'policyDefinitionId eq '{value}''. If $filter is not provided, no filtering is performed. +func (client AssignmentsClient) ListForResourceGroup(ctx context.Context, resourceGroupName string, filter string) (result AssignmentListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AssignmentsClient.ListForResourceGroup") + defer func() { + sc := -1 + if result.alr.Response.Response != nil { + sc = result.alr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\p{L}\._\(\)\w]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("policy.AssignmentsClient", "ListForResourceGroup", err.Error()) + } + + result.fn = client.listForResourceGroupNextResults + req, err := client.ListForResourceGroupPreparer(ctx, resourceGroupName, filter) + if err != nil { + err = autorest.NewErrorWithError(err, "policy.AssignmentsClient", "ListForResourceGroup", nil, "Failure preparing request") + return + } + + resp, err := client.ListForResourceGroupSender(req) + if err != nil { + result.alr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "policy.AssignmentsClient", "ListForResourceGroup", resp, "Failure sending request") + return + } + + result.alr, err = client.ListForResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policy.AssignmentsClient", "ListForResourceGroup", resp, "Failure responding to request") + } + + return +} + +// ListForResourceGroupPreparer prepares the ListForResourceGroup request. +func (client AssignmentsClient) ListForResourceGroupPreparer(ctx context.Context, resourceGroupName string, filter string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-06-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(filter) > 0 { + queryParameters["$filter"] = filter + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Authorization/policyAssignments", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListForResourceGroupSender sends the ListForResourceGroup request. The method will close the +// http.Response Body if it receives an error. +func (client AssignmentsClient) ListForResourceGroupSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListForResourceGroupResponder handles the response to the ListForResourceGroup request. The method always +// closes the http.Response Body. +func (client AssignmentsClient) ListForResourceGroupResponder(resp *http.Response) (result AssignmentListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listForResourceGroupNextResults retrieves the next set of results, if any. +func (client AssignmentsClient) listForResourceGroupNextResults(ctx context.Context, lastResults AssignmentListResult) (result AssignmentListResult, err error) { + req, err := lastResults.assignmentListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "policy.AssignmentsClient", "listForResourceGroupNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListForResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "policy.AssignmentsClient", "listForResourceGroupNextResults", resp, "Failure sending next results request") + } + result, err = client.ListForResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policy.AssignmentsClient", "listForResourceGroupNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListForResourceGroupComplete enumerates all values, automatically crossing page boundaries as required. +func (client AssignmentsClient) ListForResourceGroupComplete(ctx context.Context, resourceGroupName string, filter string) (result AssignmentListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AssignmentsClient.ListForResourceGroup") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListForResourceGroup(ctx, resourceGroupName, filter) + return +} diff --git a/services/resources/mgmt/2019-06-01/policy/client.go b/services/resources/mgmt/2019-06-01/policy/client.go new file mode 100644 index 000000000000..a60923b29250 --- /dev/null +++ b/services/resources/mgmt/2019-06-01/policy/client.go @@ -0,0 +1,51 @@ +// Package policy implements the Azure ARM Policy service API version 2019-06-01. +// +// To manage and control access to your resources, you can define customized policies and assign them at a scope. +package policy + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" +) + +const ( + // DefaultBaseURI is the default URI used for the service Policy + DefaultBaseURI = "https://management.azure.com" +) + +// BaseClient is the base client for Policy. +type BaseClient struct { + autorest.Client + BaseURI string + SubscriptionID string +} + +// New creates an instance of the BaseClient client. +func New(subscriptionID string) BaseClient { + return NewWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewWithBaseURI creates an instance of the BaseClient client. +func NewWithBaseURI(baseURI string, subscriptionID string) BaseClient { + return BaseClient{ + Client: autorest.NewClientWithUserAgent(UserAgent()), + BaseURI: baseURI, + SubscriptionID: subscriptionID, + } +} diff --git a/services/resources/mgmt/2019-06-01/policy/definitions.go b/services/resources/mgmt/2019-06-01/policy/definitions.go new file mode 100644 index 000000000000..0a697e0252da --- /dev/null +++ b/services/resources/mgmt/2019-06-01/policy/definitions.go @@ -0,0 +1,910 @@ +package policy + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// DefinitionsClient is the to manage and control access to your resources, you can define customized policies and +// assign them at a scope. +type DefinitionsClient struct { + BaseClient +} + +// NewDefinitionsClient creates an instance of the DefinitionsClient client. +func NewDefinitionsClient(subscriptionID string) DefinitionsClient { + return NewDefinitionsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewDefinitionsClientWithBaseURI creates an instance of the DefinitionsClient client. +func NewDefinitionsClientWithBaseURI(baseURI string, subscriptionID string) DefinitionsClient { + return DefinitionsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate this operation creates or updates a policy definition in the given subscription with the given name. +// Parameters: +// policyDefinitionName - the name of the policy definition to create. +// parameters - the policy definition properties. +func (client DefinitionsClient) CreateOrUpdate(ctx context.Context, policyDefinitionName string, parameters Definition) (result Definition, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DefinitionsClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, policyDefinitionName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "policy.DefinitionsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "policy.DefinitionsClient", "CreateOrUpdate", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policy.DefinitionsClient", "CreateOrUpdate", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client DefinitionsClient) CreateOrUpdatePreparer(ctx context.Context, policyDefinitionName string, parameters Definition) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "policyDefinitionName": autorest.Encode("path", policyDefinitionName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-06-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + parameters.ID = nil + parameters.Name = nil + parameters.Type = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policyDefinitions/{policyDefinitionName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client DefinitionsClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client DefinitionsClient) CreateOrUpdateResponder(resp *http.Response) (result Definition, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// CreateOrUpdateAtManagementGroup this operation creates or updates a policy definition in the given management group +// with the given name. +// Parameters: +// policyDefinitionName - the name of the policy definition to create. +// parameters - the policy definition properties. +// managementGroupID - the ID of the management group. +func (client DefinitionsClient) CreateOrUpdateAtManagementGroup(ctx context.Context, policyDefinitionName string, parameters Definition, managementGroupID string) (result Definition, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DefinitionsClient.CreateOrUpdateAtManagementGroup") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdateAtManagementGroupPreparer(ctx, policyDefinitionName, parameters, managementGroupID) + if err != nil { + err = autorest.NewErrorWithError(err, "policy.DefinitionsClient", "CreateOrUpdateAtManagementGroup", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateAtManagementGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "policy.DefinitionsClient", "CreateOrUpdateAtManagementGroup", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateAtManagementGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policy.DefinitionsClient", "CreateOrUpdateAtManagementGroup", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdateAtManagementGroupPreparer prepares the CreateOrUpdateAtManagementGroup request. +func (client DefinitionsClient) CreateOrUpdateAtManagementGroupPreparer(ctx context.Context, policyDefinitionName string, parameters Definition, managementGroupID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "managementGroupId": autorest.Encode("path", managementGroupID), + "policyDefinitionName": autorest.Encode("path", policyDefinitionName), + } + + const APIVersion = "2019-06-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + parameters.ID = nil + parameters.Name = nil + parameters.Type = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/providers/Microsoft.Management/managementgroups/{managementGroupId}/providers/Microsoft.Authorization/policyDefinitions/{policyDefinitionName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateAtManagementGroupSender sends the CreateOrUpdateAtManagementGroup request. The method will close the +// http.Response Body if it receives an error. +func (client DefinitionsClient) CreateOrUpdateAtManagementGroupSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// CreateOrUpdateAtManagementGroupResponder handles the response to the CreateOrUpdateAtManagementGroup request. The method always +// closes the http.Response Body. +func (client DefinitionsClient) CreateOrUpdateAtManagementGroupResponder(resp *http.Response) (result Definition, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete this operation deletes the policy definition in the given subscription with the given name. +// Parameters: +// policyDefinitionName - the name of the policy definition to delete. +func (client DefinitionsClient) Delete(ctx context.Context, policyDefinitionName string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DefinitionsClient.Delete") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, policyDefinitionName) + if err != nil { + err = autorest.NewErrorWithError(err, "policy.DefinitionsClient", "Delete", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "policy.DefinitionsClient", "Delete", resp, "Failure sending request") + return + } + + result, err = client.DeleteResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policy.DefinitionsClient", "Delete", resp, "Failure responding to request") + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client DefinitionsClient) DeletePreparer(ctx context.Context, policyDefinitionName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "policyDefinitionName": autorest.Encode("path", policyDefinitionName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-06-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policyDefinitions/{policyDefinitionName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client DefinitionsClient) DeleteSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client DefinitionsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// DeleteAtManagementGroup this operation deletes the policy definition in the given management group with the given +// name. +// Parameters: +// policyDefinitionName - the name of the policy definition to delete. +// managementGroupID - the ID of the management group. +func (client DefinitionsClient) DeleteAtManagementGroup(ctx context.Context, policyDefinitionName string, managementGroupID string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DefinitionsClient.DeleteAtManagementGroup") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeleteAtManagementGroupPreparer(ctx, policyDefinitionName, managementGroupID) + if err != nil { + err = autorest.NewErrorWithError(err, "policy.DefinitionsClient", "DeleteAtManagementGroup", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteAtManagementGroupSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "policy.DefinitionsClient", "DeleteAtManagementGroup", resp, "Failure sending request") + return + } + + result, err = client.DeleteAtManagementGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policy.DefinitionsClient", "DeleteAtManagementGroup", resp, "Failure responding to request") + } + + return +} + +// DeleteAtManagementGroupPreparer prepares the DeleteAtManagementGroup request. +func (client DefinitionsClient) DeleteAtManagementGroupPreparer(ctx context.Context, policyDefinitionName string, managementGroupID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "managementGroupId": autorest.Encode("path", managementGroupID), + "policyDefinitionName": autorest.Encode("path", policyDefinitionName), + } + + const APIVersion = "2019-06-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/providers/Microsoft.Management/managementgroups/{managementGroupId}/providers/Microsoft.Authorization/policyDefinitions/{policyDefinitionName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteAtManagementGroupSender sends the DeleteAtManagementGroup request. The method will close the +// http.Response Body if it receives an error. +func (client DefinitionsClient) DeleteAtManagementGroupSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeleteAtManagementGroupResponder handles the response to the DeleteAtManagementGroup request. The method always +// closes the http.Response Body. +func (client DefinitionsClient) DeleteAtManagementGroupResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get this operation retrieves the policy definition in the given subscription with the given name. +// Parameters: +// policyDefinitionName - the name of the policy definition to get. +func (client DefinitionsClient) Get(ctx context.Context, policyDefinitionName string) (result Definition, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DefinitionsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, policyDefinitionName) + if err != nil { + err = autorest.NewErrorWithError(err, "policy.DefinitionsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "policy.DefinitionsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policy.DefinitionsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client DefinitionsClient) GetPreparer(ctx context.Context, policyDefinitionName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "policyDefinitionName": autorest.Encode("path", policyDefinitionName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-06-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policyDefinitions/{policyDefinitionName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client DefinitionsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client DefinitionsClient) GetResponder(resp *http.Response) (result Definition, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetAtManagementGroup this operation retrieves the policy definition in the given management group with the given +// name. +// Parameters: +// policyDefinitionName - the name of the policy definition to get. +// managementGroupID - the ID of the management group. +func (client DefinitionsClient) GetAtManagementGroup(ctx context.Context, policyDefinitionName string, managementGroupID string) (result Definition, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DefinitionsClient.GetAtManagementGroup") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetAtManagementGroupPreparer(ctx, policyDefinitionName, managementGroupID) + if err != nil { + err = autorest.NewErrorWithError(err, "policy.DefinitionsClient", "GetAtManagementGroup", nil, "Failure preparing request") + return + } + + resp, err := client.GetAtManagementGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "policy.DefinitionsClient", "GetAtManagementGroup", resp, "Failure sending request") + return + } + + result, err = client.GetAtManagementGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policy.DefinitionsClient", "GetAtManagementGroup", resp, "Failure responding to request") + } + + return +} + +// GetAtManagementGroupPreparer prepares the GetAtManagementGroup request. +func (client DefinitionsClient) GetAtManagementGroupPreparer(ctx context.Context, policyDefinitionName string, managementGroupID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "managementGroupId": autorest.Encode("path", managementGroupID), + "policyDefinitionName": autorest.Encode("path", policyDefinitionName), + } + + const APIVersion = "2019-06-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/providers/Microsoft.Management/managementgroups/{managementGroupId}/providers/Microsoft.Authorization/policyDefinitions/{policyDefinitionName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetAtManagementGroupSender sends the GetAtManagementGroup request. The method will close the +// http.Response Body if it receives an error. +func (client DefinitionsClient) GetAtManagementGroupSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetAtManagementGroupResponder handles the response to the GetAtManagementGroup request. The method always +// closes the http.Response Body. +func (client DefinitionsClient) GetAtManagementGroupResponder(resp *http.Response) (result Definition, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetBuiltIn this operation retrieves the built-in policy definition with the given name. +// Parameters: +// policyDefinitionName - the name of the built-in policy definition to get. +func (client DefinitionsClient) GetBuiltIn(ctx context.Context, policyDefinitionName string) (result Definition, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DefinitionsClient.GetBuiltIn") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetBuiltInPreparer(ctx, policyDefinitionName) + if err != nil { + err = autorest.NewErrorWithError(err, "policy.DefinitionsClient", "GetBuiltIn", nil, "Failure preparing request") + return + } + + resp, err := client.GetBuiltInSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "policy.DefinitionsClient", "GetBuiltIn", resp, "Failure sending request") + return + } + + result, err = client.GetBuiltInResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policy.DefinitionsClient", "GetBuiltIn", resp, "Failure responding to request") + } + + return +} + +// GetBuiltInPreparer prepares the GetBuiltIn request. +func (client DefinitionsClient) GetBuiltInPreparer(ctx context.Context, policyDefinitionName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "policyDefinitionName": autorest.Encode("path", policyDefinitionName), + } + + const APIVersion = "2019-06-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/providers/Microsoft.Authorization/policyDefinitions/{policyDefinitionName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetBuiltInSender sends the GetBuiltIn request. The method will close the +// http.Response Body if it receives an error. +func (client DefinitionsClient) GetBuiltInSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetBuiltInResponder handles the response to the GetBuiltIn request. The method always +// closes the http.Response Body. +func (client DefinitionsClient) GetBuiltInResponder(resp *http.Response) (result Definition, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List this operation retrieves a list of all the policy definitions in a given subscription. +func (client DefinitionsClient) List(ctx context.Context) (result DefinitionListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DefinitionsClient.List") + defer func() { + sc := -1 + if result.dlr.Response.Response != nil { + sc = result.dlr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "policy.DefinitionsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.dlr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "policy.DefinitionsClient", "List", resp, "Failure sending request") + return + } + + result.dlr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policy.DefinitionsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client DefinitionsClient) ListPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-06-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policyDefinitions", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client DefinitionsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client DefinitionsClient) ListResponder(resp *http.Response) (result DefinitionListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client DefinitionsClient) listNextResults(ctx context.Context, lastResults DefinitionListResult) (result DefinitionListResult, err error) { + req, err := lastResults.definitionListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "policy.DefinitionsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "policy.DefinitionsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policy.DefinitionsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client DefinitionsClient) ListComplete(ctx context.Context) (result DefinitionListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DefinitionsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx) + return +} + +// ListBuiltIn this operation retrieves a list of all the built-in policy definitions. +func (client DefinitionsClient) ListBuiltIn(ctx context.Context) (result DefinitionListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DefinitionsClient.ListBuiltIn") + defer func() { + sc := -1 + if result.dlr.Response.Response != nil { + sc = result.dlr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listBuiltInNextResults + req, err := client.ListBuiltInPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "policy.DefinitionsClient", "ListBuiltIn", nil, "Failure preparing request") + return + } + + resp, err := client.ListBuiltInSender(req) + if err != nil { + result.dlr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "policy.DefinitionsClient", "ListBuiltIn", resp, "Failure sending request") + return + } + + result.dlr, err = client.ListBuiltInResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policy.DefinitionsClient", "ListBuiltIn", resp, "Failure responding to request") + } + + return +} + +// ListBuiltInPreparer prepares the ListBuiltIn request. +func (client DefinitionsClient) ListBuiltInPreparer(ctx context.Context) (*http.Request, error) { + const APIVersion = "2019-06-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPath("/providers/Microsoft.Authorization/policyDefinitions"), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListBuiltInSender sends the ListBuiltIn request. The method will close the +// http.Response Body if it receives an error. +func (client DefinitionsClient) ListBuiltInSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListBuiltInResponder handles the response to the ListBuiltIn request. The method always +// closes the http.Response Body. +func (client DefinitionsClient) ListBuiltInResponder(resp *http.Response) (result DefinitionListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listBuiltInNextResults retrieves the next set of results, if any. +func (client DefinitionsClient) listBuiltInNextResults(ctx context.Context, lastResults DefinitionListResult) (result DefinitionListResult, err error) { + req, err := lastResults.definitionListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "policy.DefinitionsClient", "listBuiltInNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListBuiltInSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "policy.DefinitionsClient", "listBuiltInNextResults", resp, "Failure sending next results request") + } + result, err = client.ListBuiltInResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policy.DefinitionsClient", "listBuiltInNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListBuiltInComplete enumerates all values, automatically crossing page boundaries as required. +func (client DefinitionsClient) ListBuiltInComplete(ctx context.Context) (result DefinitionListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DefinitionsClient.ListBuiltIn") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListBuiltIn(ctx) + return +} + +// ListByManagementGroup this operation retrieves a list of all the policy definitions in a given management group. +// Parameters: +// managementGroupID - the ID of the management group. +func (client DefinitionsClient) ListByManagementGroup(ctx context.Context, managementGroupID string) (result DefinitionListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DefinitionsClient.ListByManagementGroup") + defer func() { + sc := -1 + if result.dlr.Response.Response != nil { + sc = result.dlr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listByManagementGroupNextResults + req, err := client.ListByManagementGroupPreparer(ctx, managementGroupID) + if err != nil { + err = autorest.NewErrorWithError(err, "policy.DefinitionsClient", "ListByManagementGroup", nil, "Failure preparing request") + return + } + + resp, err := client.ListByManagementGroupSender(req) + if err != nil { + result.dlr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "policy.DefinitionsClient", "ListByManagementGroup", resp, "Failure sending request") + return + } + + result.dlr, err = client.ListByManagementGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policy.DefinitionsClient", "ListByManagementGroup", resp, "Failure responding to request") + } + + return +} + +// ListByManagementGroupPreparer prepares the ListByManagementGroup request. +func (client DefinitionsClient) ListByManagementGroupPreparer(ctx context.Context, managementGroupID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "managementGroupId": autorest.Encode("path", managementGroupID), + } + + const APIVersion = "2019-06-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/providers/Microsoft.Management/managementgroups/{managementGroupId}/providers/Microsoft.Authorization/policyDefinitions", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByManagementGroupSender sends the ListByManagementGroup request. The method will close the +// http.Response Body if it receives an error. +func (client DefinitionsClient) ListByManagementGroupSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByManagementGroupResponder handles the response to the ListByManagementGroup request. The method always +// closes the http.Response Body. +func (client DefinitionsClient) ListByManagementGroupResponder(resp *http.Response) (result DefinitionListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listByManagementGroupNextResults retrieves the next set of results, if any. +func (client DefinitionsClient) listByManagementGroupNextResults(ctx context.Context, lastResults DefinitionListResult) (result DefinitionListResult, err error) { + req, err := lastResults.definitionListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "policy.DefinitionsClient", "listByManagementGroupNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListByManagementGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "policy.DefinitionsClient", "listByManagementGroupNextResults", resp, "Failure sending next results request") + } + result, err = client.ListByManagementGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policy.DefinitionsClient", "listByManagementGroupNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListByManagementGroupComplete enumerates all values, automatically crossing page boundaries as required. +func (client DefinitionsClient) ListByManagementGroupComplete(ctx context.Context, managementGroupID string) (result DefinitionListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DefinitionsClient.ListByManagementGroup") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListByManagementGroup(ctx, managementGroupID) + return +} diff --git a/services/resources/mgmt/2019-06-01/policy/models.go b/services/resources/mgmt/2019-06-01/policy/models.go new file mode 100644 index 000000000000..18d9e67d6273 --- /dev/null +++ b/services/resources/mgmt/2019-06-01/policy/models.go @@ -0,0 +1,869 @@ +package policy + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "encoding/json" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/to" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// The package's fully qualified name. +const fqdn = "github.com/Azure/azure-sdk-for-go/services/resources/mgmt/2019-06-01/policy" + +// EnforcementMode enumerates the values for enforcement mode. +type EnforcementMode string + +const ( + // Default ... + Default EnforcementMode = "Default" + // DoNotEnforce ... + DoNotEnforce EnforcementMode = "DoNotEnforce" + // NotSpecified ... + NotSpecified EnforcementMode = "NotSpecified" +) + +// PossibleEnforcementModeValues returns an array of possible values for the EnforcementMode const type. +func PossibleEnforcementModeValues() []EnforcementMode { + return []EnforcementMode{Default, DoNotEnforce, NotSpecified} +} + +// ResourceIdentityType enumerates the values for resource identity type. +type ResourceIdentityType string + +const ( + // None ... + None ResourceIdentityType = "None" + // SystemAssigned ... + SystemAssigned ResourceIdentityType = "SystemAssigned" +) + +// PossibleResourceIdentityTypeValues returns an array of possible values for the ResourceIdentityType const type. +func PossibleResourceIdentityTypeValues() []ResourceIdentityType { + return []ResourceIdentityType{None, SystemAssigned} +} + +// Type enumerates the values for type. +type Type string + +const ( + // TypeBuiltIn ... + TypeBuiltIn Type = "BuiltIn" + // TypeCustom ... + TypeCustom Type = "Custom" + // TypeNotSpecified ... + TypeNotSpecified Type = "NotSpecified" +) + +// PossibleTypeValues returns an array of possible values for the Type const type. +func PossibleTypeValues() []Type { + return []Type{TypeBuiltIn, TypeCustom, TypeNotSpecified} +} + +// Assignment the policy assignment. +type Assignment struct { + autorest.Response `json:"-"` + // AssignmentProperties - Properties for the policy assignment. + *AssignmentProperties `json:"properties,omitempty"` + // ID - READ-ONLY; The ID of the policy assignment. + ID *string `json:"id,omitempty"` + // Type - READ-ONLY; The type of the policy assignment. + Type *string `json:"type,omitempty"` + // Name - READ-ONLY; The name of the policy assignment. + Name *string `json:"name,omitempty"` + // Sku - The policy sku. This property is optional, obsolete, and will be ignored. + Sku *Sku `json:"sku,omitempty"` + // Location - The location of the policy assignment. Only required when utilizing managed identity. + Location *string `json:"location,omitempty"` + // Identity - The managed identity associated with the policy assignment. + Identity *Identity `json:"identity,omitempty"` +} + +// MarshalJSON is the custom marshaler for Assignment. +func (a Assignment) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if a.AssignmentProperties != nil { + objectMap["properties"] = a.AssignmentProperties + } + if a.Sku != nil { + objectMap["sku"] = a.Sku + } + if a.Location != nil { + objectMap["location"] = a.Location + } + if a.Identity != nil { + objectMap["identity"] = a.Identity + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for Assignment struct. +func (a *Assignment) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var assignmentProperties AssignmentProperties + err = json.Unmarshal(*v, &assignmentProperties) + if err != nil { + return err + } + a.AssignmentProperties = &assignmentProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + a.ID = &ID + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + a.Type = &typeVar + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + a.Name = &name + } + case "sku": + if v != nil { + var sku Sku + err = json.Unmarshal(*v, &sku) + if err != nil { + return err + } + a.Sku = &sku + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + a.Location = &location + } + case "identity": + if v != nil { + var identity Identity + err = json.Unmarshal(*v, &identity) + if err != nil { + return err + } + a.Identity = &identity + } + } + } + + return nil +} + +// AssignmentListResult list of policy assignments. +type AssignmentListResult struct { + autorest.Response `json:"-"` + // Value - An array of policy assignments. + Value *[]Assignment `json:"value,omitempty"` + // NextLink - The URL to use for getting the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// AssignmentListResultIterator provides access to a complete listing of Assignment values. +type AssignmentListResultIterator struct { + i int + page AssignmentListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *AssignmentListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AssignmentListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *AssignmentListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter AssignmentListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter AssignmentListResultIterator) Response() AssignmentListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter AssignmentListResultIterator) Value() Assignment { + if !iter.page.NotDone() { + return Assignment{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the AssignmentListResultIterator type. +func NewAssignmentListResultIterator(page AssignmentListResultPage) AssignmentListResultIterator { + return AssignmentListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (alr AssignmentListResult) IsEmpty() bool { + return alr.Value == nil || len(*alr.Value) == 0 +} + +// assignmentListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (alr AssignmentListResult) assignmentListResultPreparer(ctx context.Context) (*http.Request, error) { + if alr.NextLink == nil || len(to.String(alr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(alr.NextLink))) +} + +// AssignmentListResultPage contains a page of Assignment values. +type AssignmentListResultPage struct { + fn func(context.Context, AssignmentListResult) (AssignmentListResult, error) + alr AssignmentListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *AssignmentListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AssignmentListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.alr) + if err != nil { + return err + } + page.alr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *AssignmentListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page AssignmentListResultPage) NotDone() bool { + return !page.alr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page AssignmentListResultPage) Response() AssignmentListResult { + return page.alr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page AssignmentListResultPage) Values() []Assignment { + if page.alr.IsEmpty() { + return nil + } + return *page.alr.Value +} + +// Creates a new instance of the AssignmentListResultPage type. +func NewAssignmentListResultPage(getNextPage func(context.Context, AssignmentListResult) (AssignmentListResult, error)) AssignmentListResultPage { + return AssignmentListResultPage{fn: getNextPage} +} + +// AssignmentProperties the policy assignment properties. +type AssignmentProperties struct { + // DisplayName - The display name of the policy assignment. + DisplayName *string `json:"displayName,omitempty"` + // PolicyDefinitionID - The ID of the policy definition or policy set definition being assigned. + PolicyDefinitionID *string `json:"policyDefinitionId,omitempty"` + // Scope - The scope for the policy assignment. + Scope *string `json:"scope,omitempty"` + // NotScopes - The policy's excluded scopes. + NotScopes *[]string `json:"notScopes,omitempty"` + // Parameters - Required if a parameter is used in policy rule. + Parameters interface{} `json:"parameters,omitempty"` + // Description - This message will be part of response in case of policy violation. + Description *string `json:"description,omitempty"` + // Metadata - The policy assignment metadata. + Metadata interface{} `json:"metadata,omitempty"` + // EnforcementMode - The policy assignment enforcement mode. Possible values are NotSpecified, Default, and DoNotEnforce. Possible values include: 'NotSpecified', 'Default', 'DoNotEnforce' + EnforcementMode EnforcementMode `json:"enforcementMode,omitempty"` +} + +// Definition the policy definition. +type Definition struct { + autorest.Response `json:"-"` + // DefinitionProperties - The policy definition properties. + *DefinitionProperties `json:"properties,omitempty"` + // ID - READ-ONLY; The ID of the policy definition. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; The name of the policy definition. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; The type of the resource (Microsoft.Authorization/policyDefinitions). + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for Definition. +func (d Definition) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if d.DefinitionProperties != nil { + objectMap["properties"] = d.DefinitionProperties + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for Definition struct. +func (d *Definition) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var definitionProperties DefinitionProperties + err = json.Unmarshal(*v, &definitionProperties) + if err != nil { + return err + } + d.DefinitionProperties = &definitionProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + d.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + d.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + d.Type = &typeVar + } + } + } + + return nil +} + +// DefinitionListResult list of policy definitions. +type DefinitionListResult struct { + autorest.Response `json:"-"` + // Value - An array of policy definitions. + Value *[]Definition `json:"value,omitempty"` + // NextLink - The URL to use for getting the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// DefinitionListResultIterator provides access to a complete listing of Definition values. +type DefinitionListResultIterator struct { + i int + page DefinitionListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *DefinitionListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DefinitionListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *DefinitionListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter DefinitionListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter DefinitionListResultIterator) Response() DefinitionListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter DefinitionListResultIterator) Value() Definition { + if !iter.page.NotDone() { + return Definition{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the DefinitionListResultIterator type. +func NewDefinitionListResultIterator(page DefinitionListResultPage) DefinitionListResultIterator { + return DefinitionListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (dlr DefinitionListResult) IsEmpty() bool { + return dlr.Value == nil || len(*dlr.Value) == 0 +} + +// definitionListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (dlr DefinitionListResult) definitionListResultPreparer(ctx context.Context) (*http.Request, error) { + if dlr.NextLink == nil || len(to.String(dlr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(dlr.NextLink))) +} + +// DefinitionListResultPage contains a page of Definition values. +type DefinitionListResultPage struct { + fn func(context.Context, DefinitionListResult) (DefinitionListResult, error) + dlr DefinitionListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *DefinitionListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DefinitionListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.dlr) + if err != nil { + return err + } + page.dlr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *DefinitionListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page DefinitionListResultPage) NotDone() bool { + return !page.dlr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page DefinitionListResultPage) Response() DefinitionListResult { + return page.dlr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page DefinitionListResultPage) Values() []Definition { + if page.dlr.IsEmpty() { + return nil + } + return *page.dlr.Value +} + +// Creates a new instance of the DefinitionListResultPage type. +func NewDefinitionListResultPage(getNextPage func(context.Context, DefinitionListResult) (DefinitionListResult, error)) DefinitionListResultPage { + return DefinitionListResultPage{fn: getNextPage} +} + +// DefinitionProperties the policy definition properties. +type DefinitionProperties struct { + // PolicyType - The type of policy definition. Possible values are NotSpecified, BuiltIn, and Custom. Possible values include: 'TypeNotSpecified', 'TypeBuiltIn', 'TypeCustom' + PolicyType Type `json:"policyType,omitempty"` + // Mode - The policy definition mode. Some examples are All, Indexed, Microsoft.KeyVault.Data. + Mode *string `json:"mode,omitempty"` + // DisplayName - The display name of the policy definition. + DisplayName *string `json:"displayName,omitempty"` + // Description - The policy definition description. + Description *string `json:"description,omitempty"` + // PolicyRule - The policy rule. + PolicyRule interface{} `json:"policyRule,omitempty"` + // Metadata - The policy definition metadata. + Metadata interface{} `json:"metadata,omitempty"` + // Parameters - Required if a parameter is used in policy rule. + Parameters interface{} `json:"parameters,omitempty"` +} + +// DefinitionReference the policy definition reference. +type DefinitionReference struct { + // PolicyDefinitionID - The ID of the policy definition or policy set definition. + PolicyDefinitionID *string `json:"policyDefinitionId,omitempty"` + // Parameters - Required if a parameter is used in policy rule. + Parameters interface{} `json:"parameters,omitempty"` +} + +// ErrorResponse error response indicates Azure Resource Manager is not able to process the incoming +// request. The reason is provided in the error message. +type ErrorResponse struct { + // HTTPStatus - Http status code. + HTTPStatus *string `json:"httpStatus,omitempty"` + // ErrorCode - Error code. + ErrorCode *string `json:"errorCode,omitempty"` + // ErrorMessage - Error message indicating why the operation failed. + ErrorMessage *string `json:"errorMessage,omitempty"` +} + +// Identity identity for the resource. +type Identity struct { + // PrincipalID - READ-ONLY; The principal ID of the resource identity. + PrincipalID *string `json:"principalId,omitempty"` + // TenantID - READ-ONLY; The tenant ID of the resource identity. + TenantID *string `json:"tenantId,omitempty"` + // Type - The identity type. Possible values include: 'SystemAssigned', 'None' + Type ResourceIdentityType `json:"type,omitempty"` +} + +// SetDefinition the policy set definition. +type SetDefinition struct { + autorest.Response `json:"-"` + // SetDefinitionProperties - The policy definition properties. + *SetDefinitionProperties `json:"properties,omitempty"` + // ID - READ-ONLY; The ID of the policy set definition. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; The name of the policy set definition. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; The type of the resource (Microsoft.Authorization/policySetDefinitions). + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for SetDefinition. +func (sd SetDefinition) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if sd.SetDefinitionProperties != nil { + objectMap["properties"] = sd.SetDefinitionProperties + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for SetDefinition struct. +func (sd *SetDefinition) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var setDefinitionProperties SetDefinitionProperties + err = json.Unmarshal(*v, &setDefinitionProperties) + if err != nil { + return err + } + sd.SetDefinitionProperties = &setDefinitionProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + sd.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + sd.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + sd.Type = &typeVar + } + } + } + + return nil +} + +// SetDefinitionListResult list of policy set definitions. +type SetDefinitionListResult struct { + autorest.Response `json:"-"` + // Value - An array of policy set definitions. + Value *[]SetDefinition `json:"value,omitempty"` + // NextLink - The URL to use for getting the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// SetDefinitionListResultIterator provides access to a complete listing of SetDefinition values. +type SetDefinitionListResultIterator struct { + i int + page SetDefinitionListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *SetDefinitionListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SetDefinitionListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *SetDefinitionListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter SetDefinitionListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter SetDefinitionListResultIterator) Response() SetDefinitionListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter SetDefinitionListResultIterator) Value() SetDefinition { + if !iter.page.NotDone() { + return SetDefinition{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the SetDefinitionListResultIterator type. +func NewSetDefinitionListResultIterator(page SetDefinitionListResultPage) SetDefinitionListResultIterator { + return SetDefinitionListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (sdlr SetDefinitionListResult) IsEmpty() bool { + return sdlr.Value == nil || len(*sdlr.Value) == 0 +} + +// setDefinitionListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (sdlr SetDefinitionListResult) setDefinitionListResultPreparer(ctx context.Context) (*http.Request, error) { + if sdlr.NextLink == nil || len(to.String(sdlr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(sdlr.NextLink))) +} + +// SetDefinitionListResultPage contains a page of SetDefinition values. +type SetDefinitionListResultPage struct { + fn func(context.Context, SetDefinitionListResult) (SetDefinitionListResult, error) + sdlr SetDefinitionListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *SetDefinitionListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SetDefinitionListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.sdlr) + if err != nil { + return err + } + page.sdlr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *SetDefinitionListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page SetDefinitionListResultPage) NotDone() bool { + return !page.sdlr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page SetDefinitionListResultPage) Response() SetDefinitionListResult { + return page.sdlr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page SetDefinitionListResultPage) Values() []SetDefinition { + if page.sdlr.IsEmpty() { + return nil + } + return *page.sdlr.Value +} + +// Creates a new instance of the SetDefinitionListResultPage type. +func NewSetDefinitionListResultPage(getNextPage func(context.Context, SetDefinitionListResult) (SetDefinitionListResult, error)) SetDefinitionListResultPage { + return SetDefinitionListResultPage{fn: getNextPage} +} + +// SetDefinitionProperties the policy set definition properties. +type SetDefinitionProperties struct { + // PolicyType - The type of policy definition. Possible values are NotSpecified, BuiltIn, and Custom. Possible values include: 'TypeNotSpecified', 'TypeBuiltIn', 'TypeCustom' + PolicyType Type `json:"policyType,omitempty"` + // DisplayName - The display name of the policy set definition. + DisplayName *string `json:"displayName,omitempty"` + // Description - The policy set definition description. + Description *string `json:"description,omitempty"` + // Metadata - The policy set definition metadata. + Metadata interface{} `json:"metadata,omitempty"` + // Parameters - The policy set definition parameters that can be used in policy definition references. + Parameters interface{} `json:"parameters,omitempty"` + // PolicyDefinitions - An array of policy definition references. + PolicyDefinitions *[]DefinitionReference `json:"policyDefinitions,omitempty"` +} + +// Sku the policy sku. This property is optional, obsolete, and will be ignored. +type Sku struct { + // Name - The name of the policy sku. Possible values are A0 and A1. + Name *string `json:"name,omitempty"` + // Tier - The policy sku tier. Possible values are Free and Standard. + Tier *string `json:"tier,omitempty"` +} diff --git a/services/resources/mgmt/2019-06-01/policy/policyapi/interfaces.go b/services/resources/mgmt/2019-06-01/policy/policyapi/interfaces.go new file mode 100644 index 000000000000..7169bcdd4700 --- /dev/null +++ b/services/resources/mgmt/2019-06-01/policy/policyapi/interfaces.go @@ -0,0 +1,71 @@ +package policyapi + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/azure-sdk-for-go/services/resources/mgmt/2019-06-01/policy" + "github.com/Azure/go-autorest/autorest" +) + +// AssignmentsClientAPI contains the set of methods on the AssignmentsClient type. +type AssignmentsClientAPI interface { + Create(ctx context.Context, scope string, policyAssignmentName string, parameters policy.Assignment) (result policy.Assignment, err error) + CreateByID(ctx context.Context, policyAssignmentID string, parameters policy.Assignment) (result policy.Assignment, err error) + Delete(ctx context.Context, scope string, policyAssignmentName string) (result policy.Assignment, err error) + DeleteByID(ctx context.Context, policyAssignmentID string) (result policy.Assignment, err error) + Get(ctx context.Context, scope string, policyAssignmentName string) (result policy.Assignment, err error) + GetByID(ctx context.Context, policyAssignmentID string) (result policy.Assignment, err error) + List(ctx context.Context, filter string) (result policy.AssignmentListResultPage, err error) + ListForResource(ctx context.Context, resourceGroupName string, resourceProviderNamespace string, parentResourcePath string, resourceType string, resourceName string, filter string) (result policy.AssignmentListResultPage, err error) + ListForResourceGroup(ctx context.Context, resourceGroupName string, filter string) (result policy.AssignmentListResultPage, err error) +} + +var _ AssignmentsClientAPI = (*policy.AssignmentsClient)(nil) + +// DefinitionsClientAPI contains the set of methods on the DefinitionsClient type. +type DefinitionsClientAPI interface { + CreateOrUpdate(ctx context.Context, policyDefinitionName string, parameters policy.Definition) (result policy.Definition, err error) + CreateOrUpdateAtManagementGroup(ctx context.Context, policyDefinitionName string, parameters policy.Definition, managementGroupID string) (result policy.Definition, err error) + Delete(ctx context.Context, policyDefinitionName string) (result autorest.Response, err error) + DeleteAtManagementGroup(ctx context.Context, policyDefinitionName string, managementGroupID string) (result autorest.Response, err error) + Get(ctx context.Context, policyDefinitionName string) (result policy.Definition, err error) + GetAtManagementGroup(ctx context.Context, policyDefinitionName string, managementGroupID string) (result policy.Definition, err error) + GetBuiltIn(ctx context.Context, policyDefinitionName string) (result policy.Definition, err error) + List(ctx context.Context) (result policy.DefinitionListResultPage, err error) + ListBuiltIn(ctx context.Context) (result policy.DefinitionListResultPage, err error) + ListByManagementGroup(ctx context.Context, managementGroupID string) (result policy.DefinitionListResultPage, err error) +} + +var _ DefinitionsClientAPI = (*policy.DefinitionsClient)(nil) + +// SetDefinitionsClientAPI contains the set of methods on the SetDefinitionsClient type. +type SetDefinitionsClientAPI interface { + CreateOrUpdate(ctx context.Context, policySetDefinitionName string, parameters policy.SetDefinition) (result policy.SetDefinition, err error) + CreateOrUpdateAtManagementGroup(ctx context.Context, policySetDefinitionName string, parameters policy.SetDefinition, managementGroupID string) (result policy.SetDefinition, err error) + Delete(ctx context.Context, policySetDefinitionName string) (result autorest.Response, err error) + DeleteAtManagementGroup(ctx context.Context, policySetDefinitionName string, managementGroupID string) (result autorest.Response, err error) + Get(ctx context.Context, policySetDefinitionName string) (result policy.SetDefinition, err error) + GetAtManagementGroup(ctx context.Context, policySetDefinitionName string, managementGroupID string) (result policy.SetDefinition, err error) + GetBuiltIn(ctx context.Context, policySetDefinitionName string) (result policy.SetDefinition, err error) + List(ctx context.Context) (result policy.SetDefinitionListResultPage, err error) + ListBuiltIn(ctx context.Context) (result policy.SetDefinitionListResultPage, err error) + ListByManagementGroup(ctx context.Context, managementGroupID string) (result policy.SetDefinitionListResultPage, err error) +} + +var _ SetDefinitionsClientAPI = (*policy.SetDefinitionsClient)(nil) diff --git a/services/resources/mgmt/2019-06-01/policy/setdefinitions.go b/services/resources/mgmt/2019-06-01/policy/setdefinitions.go new file mode 100644 index 000000000000..391db09666db --- /dev/null +++ b/services/resources/mgmt/2019-06-01/policy/setdefinitions.go @@ -0,0 +1,927 @@ +package policy + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// SetDefinitionsClient is the to manage and control access to your resources, you can define customized policies and +// assign them at a scope. +type SetDefinitionsClient struct { + BaseClient +} + +// NewSetDefinitionsClient creates an instance of the SetDefinitionsClient client. +func NewSetDefinitionsClient(subscriptionID string) SetDefinitionsClient { + return NewSetDefinitionsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewSetDefinitionsClientWithBaseURI creates an instance of the SetDefinitionsClient client. +func NewSetDefinitionsClientWithBaseURI(baseURI string, subscriptionID string) SetDefinitionsClient { + return SetDefinitionsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate this operation creates or updates a policy set definition in the given subscription with the given +// name. +// Parameters: +// policySetDefinitionName - the name of the policy set definition to create. +// parameters - the policy set definition properties. +func (client SetDefinitionsClient) CreateOrUpdate(ctx context.Context, policySetDefinitionName string, parameters SetDefinition) (result SetDefinition, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SetDefinitionsClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.SetDefinitionProperties", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.SetDefinitionProperties.PolicyDefinitions", Name: validation.Null, Rule: true, Chain: nil}}}}}}); err != nil { + return result, validation.NewError("policy.SetDefinitionsClient", "CreateOrUpdate", err.Error()) + } + + req, err := client.CreateOrUpdatePreparer(ctx, policySetDefinitionName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "policy.SetDefinitionsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "policy.SetDefinitionsClient", "CreateOrUpdate", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policy.SetDefinitionsClient", "CreateOrUpdate", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client SetDefinitionsClient) CreateOrUpdatePreparer(ctx context.Context, policySetDefinitionName string, parameters SetDefinition) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "policySetDefinitionName": autorest.Encode("path", policySetDefinitionName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-06-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + parameters.ID = nil + parameters.Name = nil + parameters.Type = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policySetDefinitions/{policySetDefinitionName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client SetDefinitionsClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client SetDefinitionsClient) CreateOrUpdateResponder(resp *http.Response) (result SetDefinition, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// CreateOrUpdateAtManagementGroup this operation creates or updates a policy set definition in the given management +// group with the given name. +// Parameters: +// policySetDefinitionName - the name of the policy set definition to create. +// parameters - the policy set definition properties. +// managementGroupID - the ID of the management group. +func (client SetDefinitionsClient) CreateOrUpdateAtManagementGroup(ctx context.Context, policySetDefinitionName string, parameters SetDefinition, managementGroupID string) (result SetDefinition, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SetDefinitionsClient.CreateOrUpdateAtManagementGroup") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.SetDefinitionProperties", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.SetDefinitionProperties.PolicyDefinitions", Name: validation.Null, Rule: true, Chain: nil}}}}}}); err != nil { + return result, validation.NewError("policy.SetDefinitionsClient", "CreateOrUpdateAtManagementGroup", err.Error()) + } + + req, err := client.CreateOrUpdateAtManagementGroupPreparer(ctx, policySetDefinitionName, parameters, managementGroupID) + if err != nil { + err = autorest.NewErrorWithError(err, "policy.SetDefinitionsClient", "CreateOrUpdateAtManagementGroup", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateAtManagementGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "policy.SetDefinitionsClient", "CreateOrUpdateAtManagementGroup", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateAtManagementGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policy.SetDefinitionsClient", "CreateOrUpdateAtManagementGroup", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdateAtManagementGroupPreparer prepares the CreateOrUpdateAtManagementGroup request. +func (client SetDefinitionsClient) CreateOrUpdateAtManagementGroupPreparer(ctx context.Context, policySetDefinitionName string, parameters SetDefinition, managementGroupID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "managementGroupId": autorest.Encode("path", managementGroupID), + "policySetDefinitionName": autorest.Encode("path", policySetDefinitionName), + } + + const APIVersion = "2019-06-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + parameters.ID = nil + parameters.Name = nil + parameters.Type = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/providers/Microsoft.Management/managementgroups/{managementGroupId}/providers/Microsoft.Authorization/policySetDefinitions/{policySetDefinitionName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateAtManagementGroupSender sends the CreateOrUpdateAtManagementGroup request. The method will close the +// http.Response Body if it receives an error. +func (client SetDefinitionsClient) CreateOrUpdateAtManagementGroupSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// CreateOrUpdateAtManagementGroupResponder handles the response to the CreateOrUpdateAtManagementGroup request. The method always +// closes the http.Response Body. +func (client SetDefinitionsClient) CreateOrUpdateAtManagementGroupResponder(resp *http.Response) (result SetDefinition, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete this operation deletes the policy set definition in the given subscription with the given name. +// Parameters: +// policySetDefinitionName - the name of the policy set definition to delete. +func (client SetDefinitionsClient) Delete(ctx context.Context, policySetDefinitionName string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SetDefinitionsClient.Delete") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, policySetDefinitionName) + if err != nil { + err = autorest.NewErrorWithError(err, "policy.SetDefinitionsClient", "Delete", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "policy.SetDefinitionsClient", "Delete", resp, "Failure sending request") + return + } + + result, err = client.DeleteResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policy.SetDefinitionsClient", "Delete", resp, "Failure responding to request") + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client SetDefinitionsClient) DeletePreparer(ctx context.Context, policySetDefinitionName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "policySetDefinitionName": autorest.Encode("path", policySetDefinitionName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-06-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policySetDefinitions/{policySetDefinitionName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client SetDefinitionsClient) DeleteSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client SetDefinitionsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// DeleteAtManagementGroup this operation deletes the policy set definition in the given management group with the +// given name. +// Parameters: +// policySetDefinitionName - the name of the policy set definition to delete. +// managementGroupID - the ID of the management group. +func (client SetDefinitionsClient) DeleteAtManagementGroup(ctx context.Context, policySetDefinitionName string, managementGroupID string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SetDefinitionsClient.DeleteAtManagementGroup") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeleteAtManagementGroupPreparer(ctx, policySetDefinitionName, managementGroupID) + if err != nil { + err = autorest.NewErrorWithError(err, "policy.SetDefinitionsClient", "DeleteAtManagementGroup", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteAtManagementGroupSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "policy.SetDefinitionsClient", "DeleteAtManagementGroup", resp, "Failure sending request") + return + } + + result, err = client.DeleteAtManagementGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policy.SetDefinitionsClient", "DeleteAtManagementGroup", resp, "Failure responding to request") + } + + return +} + +// DeleteAtManagementGroupPreparer prepares the DeleteAtManagementGroup request. +func (client SetDefinitionsClient) DeleteAtManagementGroupPreparer(ctx context.Context, policySetDefinitionName string, managementGroupID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "managementGroupId": autorest.Encode("path", managementGroupID), + "policySetDefinitionName": autorest.Encode("path", policySetDefinitionName), + } + + const APIVersion = "2019-06-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/providers/Microsoft.Management/managementgroups/{managementGroupId}/providers/Microsoft.Authorization/policySetDefinitions/{policySetDefinitionName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteAtManagementGroupSender sends the DeleteAtManagementGroup request. The method will close the +// http.Response Body if it receives an error. +func (client SetDefinitionsClient) DeleteAtManagementGroupSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeleteAtManagementGroupResponder handles the response to the DeleteAtManagementGroup request. The method always +// closes the http.Response Body. +func (client SetDefinitionsClient) DeleteAtManagementGroupResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get this operation retrieves the policy set definition in the given subscription with the given name. +// Parameters: +// policySetDefinitionName - the name of the policy set definition to get. +func (client SetDefinitionsClient) Get(ctx context.Context, policySetDefinitionName string) (result SetDefinition, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SetDefinitionsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, policySetDefinitionName) + if err != nil { + err = autorest.NewErrorWithError(err, "policy.SetDefinitionsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "policy.SetDefinitionsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policy.SetDefinitionsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client SetDefinitionsClient) GetPreparer(ctx context.Context, policySetDefinitionName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "policySetDefinitionName": autorest.Encode("path", policySetDefinitionName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-06-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policySetDefinitions/{policySetDefinitionName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client SetDefinitionsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client SetDefinitionsClient) GetResponder(resp *http.Response) (result SetDefinition, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetAtManagementGroup this operation retrieves the policy set definition in the given management group with the given +// name. +// Parameters: +// policySetDefinitionName - the name of the policy set definition to get. +// managementGroupID - the ID of the management group. +func (client SetDefinitionsClient) GetAtManagementGroup(ctx context.Context, policySetDefinitionName string, managementGroupID string) (result SetDefinition, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SetDefinitionsClient.GetAtManagementGroup") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetAtManagementGroupPreparer(ctx, policySetDefinitionName, managementGroupID) + if err != nil { + err = autorest.NewErrorWithError(err, "policy.SetDefinitionsClient", "GetAtManagementGroup", nil, "Failure preparing request") + return + } + + resp, err := client.GetAtManagementGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "policy.SetDefinitionsClient", "GetAtManagementGroup", resp, "Failure sending request") + return + } + + result, err = client.GetAtManagementGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policy.SetDefinitionsClient", "GetAtManagementGroup", resp, "Failure responding to request") + } + + return +} + +// GetAtManagementGroupPreparer prepares the GetAtManagementGroup request. +func (client SetDefinitionsClient) GetAtManagementGroupPreparer(ctx context.Context, policySetDefinitionName string, managementGroupID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "managementGroupId": autorest.Encode("path", managementGroupID), + "policySetDefinitionName": autorest.Encode("path", policySetDefinitionName), + } + + const APIVersion = "2019-06-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/providers/Microsoft.Management/managementgroups/{managementGroupId}/providers/Microsoft.Authorization/policySetDefinitions/{policySetDefinitionName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetAtManagementGroupSender sends the GetAtManagementGroup request. The method will close the +// http.Response Body if it receives an error. +func (client SetDefinitionsClient) GetAtManagementGroupSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetAtManagementGroupResponder handles the response to the GetAtManagementGroup request. The method always +// closes the http.Response Body. +func (client SetDefinitionsClient) GetAtManagementGroupResponder(resp *http.Response) (result SetDefinition, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetBuiltIn this operation retrieves the built-in policy set definition with the given name. +// Parameters: +// policySetDefinitionName - the name of the policy set definition to get. +func (client SetDefinitionsClient) GetBuiltIn(ctx context.Context, policySetDefinitionName string) (result SetDefinition, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SetDefinitionsClient.GetBuiltIn") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetBuiltInPreparer(ctx, policySetDefinitionName) + if err != nil { + err = autorest.NewErrorWithError(err, "policy.SetDefinitionsClient", "GetBuiltIn", nil, "Failure preparing request") + return + } + + resp, err := client.GetBuiltInSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "policy.SetDefinitionsClient", "GetBuiltIn", resp, "Failure sending request") + return + } + + result, err = client.GetBuiltInResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policy.SetDefinitionsClient", "GetBuiltIn", resp, "Failure responding to request") + } + + return +} + +// GetBuiltInPreparer prepares the GetBuiltIn request. +func (client SetDefinitionsClient) GetBuiltInPreparer(ctx context.Context, policySetDefinitionName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "policySetDefinitionName": autorest.Encode("path", policySetDefinitionName), + } + + const APIVersion = "2019-06-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/providers/Microsoft.Authorization/policySetDefinitions/{policySetDefinitionName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetBuiltInSender sends the GetBuiltIn request. The method will close the +// http.Response Body if it receives an error. +func (client SetDefinitionsClient) GetBuiltInSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetBuiltInResponder handles the response to the GetBuiltIn request. The method always +// closes the http.Response Body. +func (client SetDefinitionsClient) GetBuiltInResponder(resp *http.Response) (result SetDefinition, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List this operation retrieves a list of all the policy set definitions in the given subscription. +func (client SetDefinitionsClient) List(ctx context.Context) (result SetDefinitionListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SetDefinitionsClient.List") + defer func() { + sc := -1 + if result.sdlr.Response.Response != nil { + sc = result.sdlr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "policy.SetDefinitionsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.sdlr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "policy.SetDefinitionsClient", "List", resp, "Failure sending request") + return + } + + result.sdlr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policy.SetDefinitionsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client SetDefinitionsClient) ListPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-06-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policySetDefinitions", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client SetDefinitionsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client SetDefinitionsClient) ListResponder(resp *http.Response) (result SetDefinitionListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client SetDefinitionsClient) listNextResults(ctx context.Context, lastResults SetDefinitionListResult) (result SetDefinitionListResult, err error) { + req, err := lastResults.setDefinitionListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "policy.SetDefinitionsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "policy.SetDefinitionsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policy.SetDefinitionsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client SetDefinitionsClient) ListComplete(ctx context.Context) (result SetDefinitionListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SetDefinitionsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx) + return +} + +// ListBuiltIn this operation retrieves a list of all the built-in policy set definitions. +func (client SetDefinitionsClient) ListBuiltIn(ctx context.Context) (result SetDefinitionListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SetDefinitionsClient.ListBuiltIn") + defer func() { + sc := -1 + if result.sdlr.Response.Response != nil { + sc = result.sdlr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listBuiltInNextResults + req, err := client.ListBuiltInPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "policy.SetDefinitionsClient", "ListBuiltIn", nil, "Failure preparing request") + return + } + + resp, err := client.ListBuiltInSender(req) + if err != nil { + result.sdlr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "policy.SetDefinitionsClient", "ListBuiltIn", resp, "Failure sending request") + return + } + + result.sdlr, err = client.ListBuiltInResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policy.SetDefinitionsClient", "ListBuiltIn", resp, "Failure responding to request") + } + + return +} + +// ListBuiltInPreparer prepares the ListBuiltIn request. +func (client SetDefinitionsClient) ListBuiltInPreparer(ctx context.Context) (*http.Request, error) { + const APIVersion = "2019-06-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPath("/providers/Microsoft.Authorization/policySetDefinitions"), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListBuiltInSender sends the ListBuiltIn request. The method will close the +// http.Response Body if it receives an error. +func (client SetDefinitionsClient) ListBuiltInSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListBuiltInResponder handles the response to the ListBuiltIn request. The method always +// closes the http.Response Body. +func (client SetDefinitionsClient) ListBuiltInResponder(resp *http.Response) (result SetDefinitionListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listBuiltInNextResults retrieves the next set of results, if any. +func (client SetDefinitionsClient) listBuiltInNextResults(ctx context.Context, lastResults SetDefinitionListResult) (result SetDefinitionListResult, err error) { + req, err := lastResults.setDefinitionListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "policy.SetDefinitionsClient", "listBuiltInNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListBuiltInSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "policy.SetDefinitionsClient", "listBuiltInNextResults", resp, "Failure sending next results request") + } + result, err = client.ListBuiltInResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policy.SetDefinitionsClient", "listBuiltInNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListBuiltInComplete enumerates all values, automatically crossing page boundaries as required. +func (client SetDefinitionsClient) ListBuiltInComplete(ctx context.Context) (result SetDefinitionListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SetDefinitionsClient.ListBuiltIn") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListBuiltIn(ctx) + return +} + +// ListByManagementGroup this operation retrieves a list of all the a policy set definition in the given management +// group. +// Parameters: +// managementGroupID - the ID of the management group. +func (client SetDefinitionsClient) ListByManagementGroup(ctx context.Context, managementGroupID string) (result SetDefinitionListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SetDefinitionsClient.ListByManagementGroup") + defer func() { + sc := -1 + if result.sdlr.Response.Response != nil { + sc = result.sdlr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listByManagementGroupNextResults + req, err := client.ListByManagementGroupPreparer(ctx, managementGroupID) + if err != nil { + err = autorest.NewErrorWithError(err, "policy.SetDefinitionsClient", "ListByManagementGroup", nil, "Failure preparing request") + return + } + + resp, err := client.ListByManagementGroupSender(req) + if err != nil { + result.sdlr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "policy.SetDefinitionsClient", "ListByManagementGroup", resp, "Failure sending request") + return + } + + result.sdlr, err = client.ListByManagementGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policy.SetDefinitionsClient", "ListByManagementGroup", resp, "Failure responding to request") + } + + return +} + +// ListByManagementGroupPreparer prepares the ListByManagementGroup request. +func (client SetDefinitionsClient) ListByManagementGroupPreparer(ctx context.Context, managementGroupID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "managementGroupId": autorest.Encode("path", managementGroupID), + } + + const APIVersion = "2019-06-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/providers/Microsoft.Management/managementgroups/{managementGroupId}/providers/Microsoft.Authorization/policySetDefinitions", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByManagementGroupSender sends the ListByManagementGroup request. The method will close the +// http.Response Body if it receives an error. +func (client SetDefinitionsClient) ListByManagementGroupSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByManagementGroupResponder handles the response to the ListByManagementGroup request. The method always +// closes the http.Response Body. +func (client SetDefinitionsClient) ListByManagementGroupResponder(resp *http.Response) (result SetDefinitionListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listByManagementGroupNextResults retrieves the next set of results, if any. +func (client SetDefinitionsClient) listByManagementGroupNextResults(ctx context.Context, lastResults SetDefinitionListResult) (result SetDefinitionListResult, err error) { + req, err := lastResults.setDefinitionListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "policy.SetDefinitionsClient", "listByManagementGroupNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListByManagementGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "policy.SetDefinitionsClient", "listByManagementGroupNextResults", resp, "Failure sending next results request") + } + result, err = client.ListByManagementGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policy.SetDefinitionsClient", "listByManagementGroupNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListByManagementGroupComplete enumerates all values, automatically crossing page boundaries as required. +func (client SetDefinitionsClient) ListByManagementGroupComplete(ctx context.Context, managementGroupID string) (result SetDefinitionListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SetDefinitionsClient.ListByManagementGroup") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListByManagementGroup(ctx, managementGroupID) + return +} diff --git a/services/resources/mgmt/2019-06-01/policy/version.go b/services/resources/mgmt/2019-06-01/policy/version.go new file mode 100644 index 000000000000..10032e3ed295 --- /dev/null +++ b/services/resources/mgmt/2019-06-01/policy/version.go @@ -0,0 +1,30 @@ +package policy + +import "github.com/Azure/azure-sdk-for-go/version" + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +// UserAgent returns the UserAgent string to use when sending http.Requests. +func UserAgent() string { + return "Azure-SDK-For-Go/" + version.Number + " policy/2019-06-01" +} + +// Version returns the semantic version (see http://semver.org) of the client. +func Version() string { + return version.Number +} From b112c511651cc6d460d0aaef532b44367bfbc615 Mon Sep 17 00:00:00 2001 From: Azure SDK for Python bot Date: Thu, 1 Aug 2019 21:40:36 +0000 Subject: [PATCH 09/12] Generated from b3623415bfb03b5a528c8a2a20caad53aba43ce2 Adding managed resource group and log Analytics Workspace to the GET API --- .../hanaonazure/mgmt/2017-11-03-preview/hanaonazure/models.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/preview/hanaonazure/mgmt/2017-11-03-preview/hanaonazure/models.go b/services/preview/hanaonazure/mgmt/2017-11-03-preview/hanaonazure/models.go index de3e9d7519b2..b3115033fe48 100644 --- a/services/preview/hanaonazure/mgmt/2017-11-03-preview/hanaonazure/models.go +++ b/services/preview/hanaonazure/mgmt/2017-11-03-preview/hanaonazure/models.go @@ -928,7 +928,7 @@ type SapMonitorProperties struct { // ManagedResourceGroupName - READ-ONLY; The name of the resource group the SAP Monitor resources get deployed into. ManagedResourceGroupName *string `json:"managedResourceGroupName,omitempty"` // LogAnalyticsWorkspaceArmID - READ-ONLY; The ARM ID of the Log Analytics Workspace that is used for monitoring - LogAnalyticsWorkspaceArmID *string `json:"logAnalyticsWorkspaceArmId,omitempty"` + LogAnalyticsWorkspaceArmID *string `json:"logAnalyticsWorkspaceArmID,omitempty"` } // SapMonitorsCreateFuture an abstraction for monitoring and retrieving the results of a long-running From 109be3ddf53c420252746ee3106455f3aa3ba037 Mon Sep 17 00:00:00 2001 From: Azure SDK for Python bot Date: Fri, 2 Aug 2019 22:54:29 +0000 Subject: [PATCH 10/12] Generated from f1354d954d03c2283656d3c820a88dcfc2ddf79e Updating fields in the list and patch APIs --- .../hanaonazure/mgmt/2017-11-03-preview/hanaonazure/models.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/preview/hanaonazure/mgmt/2017-11-03-preview/hanaonazure/models.go b/services/preview/hanaonazure/mgmt/2017-11-03-preview/hanaonazure/models.go index b3115033fe48..de3e9d7519b2 100644 --- a/services/preview/hanaonazure/mgmt/2017-11-03-preview/hanaonazure/models.go +++ b/services/preview/hanaonazure/mgmt/2017-11-03-preview/hanaonazure/models.go @@ -928,7 +928,7 @@ type SapMonitorProperties struct { // ManagedResourceGroupName - READ-ONLY; The name of the resource group the SAP Monitor resources get deployed into. ManagedResourceGroupName *string `json:"managedResourceGroupName,omitempty"` // LogAnalyticsWorkspaceArmID - READ-ONLY; The ARM ID of the Log Analytics Workspace that is used for monitoring - LogAnalyticsWorkspaceArmID *string `json:"logAnalyticsWorkspaceArmID,omitempty"` + LogAnalyticsWorkspaceArmID *string `json:"logAnalyticsWorkspaceArmId,omitempty"` } // SapMonitorsCreateFuture an abstraction for monitoring and retrieving the results of a long-running From 7e718d462343b56276cb935b0c4dad6d02931e44 Mon Sep 17 00:00:00 2001 From: "openapi-bot[bot]" <37845953+openapi-bot[bot]@users.noreply.github.com> Date: Wed, 28 Aug 2019 00:57:47 +0000 Subject: [PATCH 11/12] [AutoPR resources/mgmt/2019-06-01] Adding a new api version 2019-06-01 for Microsoft.Authorization policy artifacts (#276) * Generated from edd74f0a1be6f17caa185525a63e594aef956acc Addressed review comments. * Modifications after running after_scripts --- .../latest/resources/mgmt/policy/models.go | 7 +++-- .../preview/resources/mgmt/policy/models.go | 7 +++-- .../mgmt/2019-06-01/policy/models.go | 28 ++++++++++--------- 3 files changed, 23 insertions(+), 19 deletions(-) diff --git a/profiles/latest/resources/mgmt/policy/models.go b/profiles/latest/resources/mgmt/policy/models.go index a192ab1aeeee..0781bbc2634f 100644 --- a/profiles/latest/resources/mgmt/policy/models.go +++ b/profiles/latest/resources/mgmt/policy/models.go @@ -34,6 +34,7 @@ type EnforcementMode = original.EnforcementMode const ( Default EnforcementMode = original.Default DoNotEnforce EnforcementMode = original.DoNotEnforce + NotSpecified EnforcementMode = original.NotSpecified ) type ResourceIdentityType = original.ResourceIdentityType @@ -46,9 +47,9 @@ const ( type Type = original.Type const ( - BuiltIn Type = original.BuiltIn - Custom Type = original.Custom - NotSpecified Type = original.NotSpecified + TypeBuiltIn Type = original.TypeBuiltIn + TypeCustom Type = original.TypeCustom + TypeNotSpecified Type = original.TypeNotSpecified ) type Assignment = original.Assignment diff --git a/profiles/preview/resources/mgmt/policy/models.go b/profiles/preview/resources/mgmt/policy/models.go index 8827d97f90d7..193a39ae9762 100644 --- a/profiles/preview/resources/mgmt/policy/models.go +++ b/profiles/preview/resources/mgmt/policy/models.go @@ -34,6 +34,7 @@ type EnforcementMode = original.EnforcementMode const ( Default EnforcementMode = original.Default DoNotEnforce EnforcementMode = original.DoNotEnforce + NotSpecified EnforcementMode = original.NotSpecified ) type ResourceIdentityType = original.ResourceIdentityType @@ -46,9 +47,9 @@ const ( type Type = original.Type const ( - BuiltIn Type = original.BuiltIn - Custom Type = original.Custom - NotSpecified Type = original.NotSpecified + TypeBuiltIn Type = original.TypeBuiltIn + TypeCustom Type = original.TypeCustom + TypeNotSpecified Type = original.TypeNotSpecified ) type Assignment = original.Assignment diff --git a/services/resources/mgmt/2019-06-01/policy/models.go b/services/resources/mgmt/2019-06-01/policy/models.go index d5cd8cd809e1..18d9e67d6273 100644 --- a/services/resources/mgmt/2019-06-01/policy/models.go +++ b/services/resources/mgmt/2019-06-01/policy/models.go @@ -33,15 +33,17 @@ const fqdn = "github.com/Azure/azure-sdk-for-go/services/resources/mgmt/2019-06- type EnforcementMode string const ( - // Default The policy effect is enforced during resource creation or update. + // Default ... Default EnforcementMode = "Default" - // DoNotEnforce The policy effect is not enforced during resource creation or update. + // DoNotEnforce ... DoNotEnforce EnforcementMode = "DoNotEnforce" + // NotSpecified ... + NotSpecified EnforcementMode = "NotSpecified" ) // PossibleEnforcementModeValues returns an array of possible values for the EnforcementMode const type. func PossibleEnforcementModeValues() []EnforcementMode { - return []EnforcementMode{Default, DoNotEnforce} + return []EnforcementMode{Default, DoNotEnforce, NotSpecified} } // ResourceIdentityType enumerates the values for resource identity type. @@ -63,17 +65,17 @@ func PossibleResourceIdentityTypeValues() []ResourceIdentityType { type Type string const ( - // BuiltIn ... - BuiltIn Type = "BuiltIn" - // Custom ... - Custom Type = "Custom" - // NotSpecified ... - NotSpecified Type = "NotSpecified" + // TypeBuiltIn ... + TypeBuiltIn Type = "BuiltIn" + // TypeCustom ... + TypeCustom Type = "Custom" + // TypeNotSpecified ... + TypeNotSpecified Type = "NotSpecified" ) // PossibleTypeValues returns an array of possible values for the Type const type. func PossibleTypeValues() []Type { - return []Type{BuiltIn, Custom, NotSpecified} + return []Type{TypeBuiltIn, TypeCustom, TypeNotSpecified} } // Assignment the policy assignment. @@ -353,7 +355,7 @@ type AssignmentProperties struct { Description *string `json:"description,omitempty"` // Metadata - The policy assignment metadata. Metadata interface{} `json:"metadata,omitempty"` - // EnforcementMode - The policy assignment enforcement mode. Possible values are Default and DoNotEnforce. Possible values include: 'Default', 'DoNotEnforce' + // EnforcementMode - The policy assignment enforcement mode. Possible values are NotSpecified, Default, and DoNotEnforce. Possible values include: 'NotSpecified', 'Default', 'DoNotEnforce' EnforcementMode EnforcementMode `json:"enforcementMode,omitempty"` } @@ -578,7 +580,7 @@ func NewDefinitionListResultPage(getNextPage func(context.Context, DefinitionLis // DefinitionProperties the policy definition properties. type DefinitionProperties struct { - // PolicyType - The type of policy definition. Possible values are NotSpecified, BuiltIn, and Custom. Possible values include: 'NotSpecified', 'BuiltIn', 'Custom' + // PolicyType - The type of policy definition. Possible values are NotSpecified, BuiltIn, and Custom. Possible values include: 'TypeNotSpecified', 'TypeBuiltIn', 'TypeCustom' PolicyType Type `json:"policyType,omitempty"` // Mode - The policy definition mode. Some examples are All, Indexed, Microsoft.KeyVault.Data. Mode *string `json:"mode,omitempty"` @@ -844,7 +846,7 @@ func NewSetDefinitionListResultPage(getNextPage func(context.Context, SetDefinit // SetDefinitionProperties the policy set definition properties. type SetDefinitionProperties struct { - // PolicyType - The type of policy definition. Possible values are NotSpecified, BuiltIn, and Custom. Possible values include: 'NotSpecified', 'BuiltIn', 'Custom' + // PolicyType - The type of policy definition. Possible values are NotSpecified, BuiltIn, and Custom. Possible values include: 'TypeNotSpecified', 'TypeBuiltIn', 'TypeCustom' PolicyType Type `json:"policyType,omitempty"` // DisplayName - The display name of the policy set definition. DisplayName *string `json:"displayName,omitempty"` From 7cf6807bbe90aaf389833dd133fdca3b8622d448 Mon Sep 17 00:00:00 2001 From: "openapi-bot[bot]" <37845953+openapi-bot[bot]@users.noreply.github.com> Date: Tue, 22 Oct 2019 02:41:28 +0000 Subject: [PATCH 12/12] [AutoPR resources/mgmt/2019-06-01] [Resources] Add Deployment scripts as a new resource type - preview - (#807) * Change log level from verbose to normal * Minor change * v33.0.0 draft * Fix vet failure * Update readme * Now major updater reads the config file * Change rel path to abs path * Fix compile error * Execute after script from config file * Refine output * [AutoPR] compute/resource-manager (#5656) * [AutoPR compute/resource-manager] removing non-ascii character (#5325) * Generated from 090b727225320af61034c7278c3ccf51dcbef8a2 removing non-ascii character * Generated from 56ccb1151588cff87c1c92eee0e6c56e42c7f2f4 corrected the description * [AutoPR compute/resource-manager] Add terminate profile and scheduled events profile to Microsoft.Compute (#5310) * Generated from 9bb1d5b7f21a0e03e97ce3817554307244d45422 Correct definition format * Generated from 49bbc9237680dc7963f9d24f7cde1d05e8f14260 Merge branch 'master' into dev/szimmer/AddTerminateProfile * [AutoPR compute/resource-manager] Add missing Gallery Application API in 2019-07-01 version (#5354) * Generated from 01293ebd64fa96d11d30d9b0ef1391cbe8e62443 Add missing Gallery Application API in 2019-07-01 version * Generated from 6637309053b80e0b62b01f1c240d72749e30f1c2 Merge branch 'master' of https://github.com/Azure/azure-rest-api-specs * [AutoPR compute/resource-manager] add HyperVGeneation in GetVMImage (#5344) * Generated from 4b3b012a4c684afd2e931bb2ac4c01bbf894eec4 add HyperVGeneation in SharedVMImageVersion * Generated from c34793bd9910de785d31e7bf8e6da1fd7e30de8b reuse HyperVGenerationType * Generated from c34793bd9910de785d31e7bf8e6da1fd7e30de8b reuse HyperVGenerationType * compute/resource-manager] Swagger: Allowing for VMSS reference during VM creation (#5408) * Generated from 547a98bc34516d8788adff951ebd929d8d5125ae Swagger: Allowing for VMSS reference during VM creation * Generated from 2723517c6c29f1c6945bdf05b9c4e42f85159011 fixing typo * [AutoPR compute/resource-manager] [Do not merge yet] DiskRP Swagger changes for 2019-03-01 (#5398) * Generated from a308b6604cb4bfdb8085d78f998aa3718cf9ae36 adding unique id * Generated from b7b0ecc49d6694ea41c66ef9936f05da9bae38f3 fixing typo * Generated from 34c96075059bf06bf052835f6f405b2d0649d1b7 removing diskSizeBytes from snapshot\disk update properties and adding a unique id for disk properties * Generated from 1ad0c2e2dd85dad2a363072eb4cdcbe250e1522b pr comments * Generated from 4f5dbad04518d0674689ac2a2388ea823d28cadf pr comments * [AutoPR compute/resource-manager] Adding low priority and variable pricing feature for standalone VMs. Added priority, eviction policy and billing profile to VirtualMachineProperties. Also, adding optional billing profile to VMSS Create and Update APIs. (#5523) * Generated from 10d72ee6c882c170c44d54928e192a421d1032a1 fixed typo * Generated from 10d72ee6c882c170c44d54928e192a421d1032a1 fixed typo * Generated from 10d72ee6c882c170c44d54928e192a421d1032a1 fixed typo * Generated from 9d5e30df16e3ea43cb3b21b5f5264373d8ed2397 (#5596) updating an incorrect description for uploadsizebytes * Generated from 79b1099e7cf1d0a077c2f5b38b4c83408b97a59b (#5652) Add missing $expand parameter to AvSet list by subscription API * Generated from 027c5530dd98ce87a84ba78c3e3cf8d2451d0c13 (#5569) Fixed the formatting * [AutoPR eventhub/resource-manager] Eventhub: added NetworkRuleSets list API (#5627) * Generated from 46cb463f5dbcd442661875e4eb9d963af3bd1225 added NetworkRuleSets list API * Generated from c09ca0cf8b2a8d98ee64b897e1858f4be8a67f95 added x-ms-pageable and formating * Generated from 8bc2a7edfeebb1a6bb30abbbb03d08bf1f8a8dbc update * Generated from 111d1bc1666fe89cebb960135cf2f5336bbcb35a (#5615) Removed rogue file * [AutoPR machinelearningservices/resource-manager] [NEED DESIGN REVIEW, DO NOT MERGE] Adding workspace level quota management APIs in version 2019-05-01 (#5641) * Generated from f5ddfe85225c2d4f86f7de8e99760b95d1dea6bf Merge branch 'master' into leizhao/workspaceQuotaManagementInVersion2019-05-01 * Generated from c89caf92470c4c334883662fd98e6bd07881807d migrate quota management from 2019-05-01 to 2019-06-01, no content changes * [AutoPR storagecache/resource-manager] Dev storagecache microsoft.storagecache 2019 06 01 preview (#5623) * Generated from 570b6f73542c34f1eb0ab0a85e44b4d929ff55b6 Fix output folder path for GO SDK and fix typo in Tag * Generated from 908e3cd2e18a38be0711e03035c7acdc7ab6d1f2 Fix version in the path of output folder for GO SDK * Generated from 10811b8f33c5e36350b618955cdd8edc9dd67c11 (#5673) Fix bad package name for storagecache in go sdk * Fix bad package name * Fix profile and fmt * Generated from 54eb3260d53865005eb6ccfdc9843e7ab10d9da5 (#5551) adding maintenanceConfiguration list and resourceId for updates * Generated from be2943341d08ab5972e4d2385b1860d34ee61f59 (#5675) Fix bad namespace in service maintenance * Fix wrong namespace * Fix profile and fmt * Generated from 3bcf3602288f763a70a2f3cb10100406e0e53257 (#5672) Addressed misspelled word and mode error * Generated from 5e1bb35d5c3314d8f4fead76c3d69a2522be026b (#5651) Update review comments * [AutoPR datafactory/resource-manager] support Express Custom Setup (#5536) * Generated from 696212c605edef333cba0f0e86d42ba344f4fc42 address the comments * Generated from 4de64a2262df8e2e971620c95f7c3a2ba91d49d9 address comments * Generated from fc0bdde313743dbbed8e8c506dd9e07107d04142 Merge branch 'master' into ivan/support-express-custom-setup-for-manged-ir * Generated from fc0bdde313743dbbed8e8c506dd9e07107d04142 Merge branch 'master' into ivan/support-express-custom-setup-for-manged-ir * [AutoPR datafactory/resource-manager] [Data Factory]Add ORC Dataset/Copy Source/Copy Sink (#5611) * Generated from 864a2b3827b7237d7cb60d77069b693dcbaf7001 [DataFactory]Add support for ORC dataset * Generated from 864a2b3827b7237d7cb60d77069b693dcbaf7001 [DataFactory]Add support for ORC dataset * Fix CI failure and conflict * [AutoPR] compute/resource-manager (#5688) * [AutoPR compute/resource-manager] removing non-ascii character (#5325) * Generated from 090b727225320af61034c7278c3ccf51dcbef8a2 removing non-ascii character * Generated from 56ccb1151588cff87c1c92eee0e6c56e42c7f2f4 corrected the description * [AutoPR compute/resource-manager] Add terminate profile and scheduled events profile to Microsoft.Compute (#5310) * Generated from 9bb1d5b7f21a0e03e97ce3817554307244d45422 Correct definition format * Generated from 49bbc9237680dc7963f9d24f7cde1d05e8f14260 Merge branch 'master' into dev/szimmer/AddTerminateProfile * [AutoPR compute/resource-manager] Add missing Gallery Application API in 2019-07-01 version (#5354) * Generated from 01293ebd64fa96d11d30d9b0ef1391cbe8e62443 Add missing Gallery Application API in 2019-07-01 version * Generated from 6637309053b80e0b62b01f1c240d72749e30f1c2 Merge branch 'master' of https://github.com/Azure/azure-rest-api-specs * [AutoPR compute/resource-manager] add HyperVGeneation in GetVMImage (#5344) * Generated from 4b3b012a4c684afd2e931bb2ac4c01bbf894eec4 add HyperVGeneation in SharedVMImageVersion * Generated from c34793bd9910de785d31e7bf8e6da1fd7e30de8b reuse HyperVGenerationType * Generated from c34793bd9910de785d31e7bf8e6da1fd7e30de8b reuse HyperVGenerationType * compute/resource-manager] Swagger: Allowing for VMSS reference during VM creation (#5408) * Generated from 547a98bc34516d8788adff951ebd929d8d5125ae Swagger: Allowing for VMSS reference during VM creation * Generated from 2723517c6c29f1c6945bdf05b9c4e42f85159011 fixing typo * [AutoPR compute/resource-manager] [Do not merge yet] DiskRP Swagger changes for 2019-03-01 (#5398) * Generated from a308b6604cb4bfdb8085d78f998aa3718cf9ae36 adding unique id * Generated from b7b0ecc49d6694ea41c66ef9936f05da9bae38f3 fixing typo * Generated from 34c96075059bf06bf052835f6f405b2d0649d1b7 removing diskSizeBytes from snapshot\disk update properties and adding a unique id for disk properties * Generated from 1ad0c2e2dd85dad2a363072eb4cdcbe250e1522b pr comments * Generated from 4f5dbad04518d0674689ac2a2388ea823d28cadf pr comments * [AutoPR compute/resource-manager] Adding low priority and variable pricing feature for standalone VMs. Added priority, eviction policy and billing profile to VirtualMachineProperties. Also, adding optional billing profile to VMSS Create and Update APIs. (#5523) * Generated from 10d72ee6c882c170c44d54928e192a421d1032a1 fixed typo * Generated from 10d72ee6c882c170c44d54928e192a421d1032a1 fixed typo * Generated from 10d72ee6c882c170c44d54928e192a421d1032a1 fixed typo * Generated from 9d5e30df16e3ea43cb3b21b5f5264373d8ed2397 (#5596) updating an incorrect description for uploadsizebytes * Generated from 79b1099e7cf1d0a077c2f5b38b4c83408b97a59b (#5652) Add missing $expand parameter to AvSet list by subscription API * [AutoPR] securityinsights/resource-manager (#5683) * Generated from 878390cbb0806c9194cc9ceaed923284d2d8f2ac (#5288) Fix mistake * [AutoPR securityinsights/resource-manager] SecurityInsights: Investigation swagger updates (#5292) * Generated from 27abe226e56bd1a6d13985c9bc8871148a8c34ad Merge branch 'master' into InvestigationSwagger * Generated from ebb1f1f5bdab7f12639fbee775adf16611d092ad removed cases changes (will be in another PR) * Generated from ab899e75a364a5b6dbf21370c1db65b769094ec8 removed bookmarkEntity from entities api (currently not supported) * [AutoPR securityinsights/resource-manager] Adding alertRuleTemplates swagger spec to securityInsight (#5504) * Generated from d731243f4645a2df9c8389e10e93be04ea78a620 Add alertRuleTemplates endpoint to securityInsight * Generated from d09f26c587fddd31fa13cb3d94d7a9bbe8d58ec8 fix merge conflict * Generated from efe14acff06c754692f29bffee877f29edb68b89 Bookmarks swagger updates * Generated from 07393c4915496b1768a08c5f408b05cdb2a27f10 fix typos * Generated from 98fdd0347934e59d39a7b6f803f170933c96d199 fix typo * Generated from e00e65896ca96c4c814528fa286e3f6e2d534122 (#5682) sort definitions and parameters by ABC * Resolved conflict manually * [AutoPR] network/resource-manager (#5692) * Generated from 3b992f9396f9c0bc7e34b11696efcffafa92575a (#5297) add network package-2019-06 to Go SDK * Generated from 36ba645d97091ead19fa04d57595069d73491c7e (#5511) Update PE/PLS * Generated from ec578e180c4515be63046f0b0991d7b9547e657d (#5522) Update description of "location" in serviceTags.json * [AutoPR network/resource-manager] chore: jsonfmt network (#5514) * Generated from 2c363ba11150b1894650db67b5d4a03166b95afd chore: jsonfmt network * Generated from 2c363ba11150b1894650db67b5d4a03166b95afd chore: jsonfmt network * Generated from 92006e420d65cb70e4b93bc5850af575da4efb78 (#5637) Mark "provisioningState" as read-only * [AutoPR network/resource-manager] Add missing read-only property "outboundRules" in LoadBalancer specs (#5647) * Generated from 658cfc162acc76fd35b81aa42b29406d9ba013cb Add missing read-only property "outboundRules" in LoadBalancer specs * Generated from 658cfc162acc76fd35b81aa42b29406d9ba013cb Add missing read-only property "outboundRules" in LoadBalancer specs * [AutoPR] storage/resource-manager (#5695) * Generated from 3acbc3b4106db3097de5be5e4df47afb38d51ec0 (#5473) Use cors definition from blob.json * Generated from 94667089d429b4f1aca38e60f85b13f5c0039219 (#5580) Align File swagger with the Blob swagger * Generated from 8264dcc49e0bc239013cd76ce9664f83f1041967 (#5678) Update Kusto.json with TSVE data format * [AutoPR eventgrid/data-plane] Create KeyVault.json (#5546) * Generated from 66c76158ca650e8f4bf0ff082bc5428e2544c457 Update readme with KeyVault.json * Generated from 7d4a2513c50a216bfe9cbf6a6f769d460d7211f4 Revert "Update readme with KeyVault.json" This reverts commit 66c76158ca650e8f4bf0ff082bc5428e2544c457. * Generated from 44674ab5aabc591e8dd6b10d326071e8fa3ccd49 Update readme.md * [AutoPR] compute/resource-manager (#5706) * [AutoPR compute/resource-manager] removing non-ascii character (#5325) * Generated from 090b727225320af61034c7278c3ccf51dcbef8a2 removing non-ascii character * Generated from 56ccb1151588cff87c1c92eee0e6c56e42c7f2f4 corrected the description * [AutoPR compute/resource-manager] Add terminate profile and scheduled events profile to Microsoft.Compute (#5310) * Generated from 9bb1d5b7f21a0e03e97ce3817554307244d45422 Correct definition format * Generated from 49bbc9237680dc7963f9d24f7cde1d05e8f14260 Merge branch 'master' into dev/szimmer/AddTerminateProfile * [AutoPR compute/resource-manager] Add missing Gallery Application API in 2019-07-01 version (#5354) * Generated from 01293ebd64fa96d11d30d9b0ef1391cbe8e62443 Add missing Gallery Application API in 2019-07-01 version * Generated from 6637309053b80e0b62b01f1c240d72749e30f1c2 Merge branch 'master' of https://github.com/Azure/azure-rest-api-specs * [AutoPR compute/resource-manager] add HyperVGeneation in GetVMImage (#5344) * Generated from 4b3b012a4c684afd2e931bb2ac4c01bbf894eec4 add HyperVGeneation in SharedVMImageVersion * Generated from c34793bd9910de785d31e7bf8e6da1fd7e30de8b reuse HyperVGenerationType * Generated from c34793bd9910de785d31e7bf8e6da1fd7e30de8b reuse HyperVGenerationType * compute/resource-manager] Swagger: Allowing for VMSS reference during VM creation (#5408) * Generated from 547a98bc34516d8788adff951ebd929d8d5125ae Swagger: Allowing for VMSS reference during VM creation * Generated from 2723517c6c29f1c6945bdf05b9c4e42f85159011 fixing typo * [AutoPR compute/resource-manager] [Do not merge yet] DiskRP Swagger changes for 2019-03-01 (#5398) * Generated from a308b6604cb4bfdb8085d78f998aa3718cf9ae36 adding unique id * Generated from b7b0ecc49d6694ea41c66ef9936f05da9bae38f3 fixing typo * Generated from 34c96075059bf06bf052835f6f405b2d0649d1b7 removing diskSizeBytes from snapshot\disk update properties and adding a unique id for disk properties * Generated from 1ad0c2e2dd85dad2a363072eb4cdcbe250e1522b pr comments * Generated from 4f5dbad04518d0674689ac2a2388ea823d28cadf pr comments * [AutoPR compute/resource-manager] Adding low priority and variable pricing feature for standalone VMs. Added priority, eviction policy and billing profile to VirtualMachineProperties. Also, adding optional billing profile to VMSS Create and Update APIs. (#5523) * Generated from 10d72ee6c882c170c44d54928e192a421d1032a1 fixed typo * Generated from 10d72ee6c882c170c44d54928e192a421d1032a1 fixed typo * Generated from 10d72ee6c882c170c44d54928e192a421d1032a1 fixed typo * Generated from 9d5e30df16e3ea43cb3b21b5f5264373d8ed2397 (#5596) updating an incorrect description for uploadsizebytes * Generated from 79b1099e7cf1d0a077c2f5b38b4c83408b97a59b (#5652) Add missing $expand parameter to AvSet list by subscription API * [AutoPR] storage/resource-manager (#5707) * Generated from 3acbc3b4106db3097de5be5e4df47afb38d51ec0 (#5473) Use cors definition from blob.json * Generated from 94667089d429b4f1aca38e60f85b13f5c0039219 (#5580) Align File swagger with the Blob swagger * [AutoPR storage/resource-manager] Add change feed properties to 2019-04-01 Storage. (#5621) * Generated from 774367438889ac553def1957b72b8ba63ad877e5 Add change feed properties to 2019-04-01 Storage. Add change feed properties to Storage Blob Services. * Generated from 774367438889ac553def1957b72b8ba63ad877e5 Add change feed properties to 2019-04-01 Storage. Add change feed properties to Storage Blob Services. * Generated from 34d744550227bee7b380604d38fc1de6c9af6397 (#5708) Update netapp.json * Merge pull request #5714 from Azure/restapi_auto_compute/resource-manager [AutoPR] compute/resource-manager * Update swagger_to_sdk_config.json Update autorest.go to new version * Generated from 5ea5da031f993e6dd8061f42abbea77d58e66020 Clarify KeyVault time as seconds since Unix epoch * Generated from b621ede227cd29651b1712782d964373fc2da6ec (#5717) Quick fix * Generated from 4eb71094207cc3188dfa1d604325731362a555a5 updating readmes * feature: support PutBlockFromURL API: https://docs.microsoft.com/en-us/rest/api/storageservices/put-block-from-url * Generated from 18efd73807c1182800e0521f67e1e5ae2ee70394 added missing packages to compute release * [AutoPR] compute/resource-manager (#5721) * [AutoPR compute/resource-manager] removing non-ascii character (#5325) * Generated from 090b727225320af61034c7278c3ccf51dcbef8a2 removing non-ascii character * Generated from 56ccb1151588cff87c1c92eee0e6c56e42c7f2f4 corrected the description * [AutoPR compute/resource-manager] Add terminate profile and scheduled events profile to Microsoft.Compute (#5310) * Generated from 9bb1d5b7f21a0e03e97ce3817554307244d45422 Correct definition format * Generated from 49bbc9237680dc7963f9d24f7cde1d05e8f14260 Merge branch 'master' into dev/szimmer/AddTerminateProfile * [AutoPR compute/resource-manager] Add missing Gallery Application API in 2019-07-01 version (#5354) * Generated from 01293ebd64fa96d11d30d9b0ef1391cbe8e62443 Add missing Gallery Application API in 2019-07-01 version * Generated from 6637309053b80e0b62b01f1c240d72749e30f1c2 Merge branch 'master' of https://github.com/Azure/azure-rest-api-specs * [AutoPR compute/resource-manager] add HyperVGeneation in GetVMImage (#5344) * Generated from 4b3b012a4c684afd2e931bb2ac4c01bbf894eec4 add HyperVGeneation in SharedVMImageVersion * Generated from c34793bd9910de785d31e7bf8e6da1fd7e30de8b reuse HyperVGenerationType * Generated from c34793bd9910de785d31e7bf8e6da1fd7e30de8b reuse HyperVGenerationType * compute/resource-manager] Swagger: Allowing for VMSS reference during VM creation (#5408) * Generated from 547a98bc34516d8788adff951ebd929d8d5125ae Swagger: Allowing for VMSS reference during VM creation * Generated from 2723517c6c29f1c6945bdf05b9c4e42f85159011 fixing typo * [AutoPR compute/resource-manager] [Do not merge yet] DiskRP Swagger changes for 2019-03-01 (#5398) * Generated from a308b6604cb4bfdb8085d78f998aa3718cf9ae36 adding unique id * Generated from b7b0ecc49d6694ea41c66ef9936f05da9bae38f3 fixing typo * Generated from 34c96075059bf06bf052835f6f405b2d0649d1b7 removing diskSizeBytes from snapshot\disk update properties and adding a unique id for disk properties * Generated from 1ad0c2e2dd85dad2a363072eb4cdcbe250e1522b pr comments * Generated from 4f5dbad04518d0674689ac2a2388ea823d28cadf pr comments * [AutoPR compute/resource-manager] Adding low priority and variable pricing feature for standalone VMs. Added priority, eviction policy and billing profile to VirtualMachineProperties. Also, adding optional billing profile to VMSS Create and Update APIs. (#5523) * Generated from 10d72ee6c882c170c44d54928e192a421d1032a1 fixed typo * Generated from 10d72ee6c882c170c44d54928e192a421d1032a1 fixed typo * Generated from 10d72ee6c882c170c44d54928e192a421d1032a1 fixed typo * Generated from 9d5e30df16e3ea43cb3b21b5f5264373d8ed2397 (#5596) updating an incorrect description for uploadsizebytes * Generated from 79b1099e7cf1d0a077c2f5b38b4c83408b97a59b (#5652) Add missing $expand parameter to AvSet list by subscription API * [AutoPR compute/resource-manager] Add VMScaleSet ScaleIn Policy (#5606) * Generated from 5968c8d1d8f53fcce6b11bc71e4be3c6bc550617 Add VMScaleSet ScaleIn Policy Adds VMScaleSet ScaleIn policy that is supported with the 2019-03-01 header but not included in Swagger * Generated from 17a6aebc538afafffc9ce87f083fc07592a6b5c3 Update compute.json Fix indentation * [AutoPR] datafactory/resource-manager (#5730) * Generated from 5e1bb35d5c3314d8f4fead76c3d69a2522be026b (#5651) Update review comments * [AutoPR datafactory/resource-manager] support Express Custom Setup (#5536) * Generated from 696212c605edef333cba0f0e86d42ba344f4fc42 address the comments * Generated from 4de64a2262df8e2e971620c95f7c3a2ba91d49d9 address comments * Generated from fc0bdde313743dbbed8e8c506dd9e07107d04142 Merge branch 'master' into ivan/support-express-custom-setup-for-manged-ir * Generated from fc0bdde313743dbbed8e8c506dd9e07107d04142 Merge branch 'master' into ivan/support-express-custom-setup-for-manged-ir * [AutoPR datafactory/resource-manager] [Data Factory]Add ORC Dataset/Copy Source/Copy Sink (#5611) * Generated from 864a2b3827b7237d7cb60d77069b693dcbaf7001 [DataFactory]Add support for ORC dataset * Generated from 864a2b3827b7237d7cb60d77069b693dcbaf7001 [DataFactory]Add support for ORC dataset * Fix CI failure and conflict * Generated from b07009df21da758efcb13fbbd25ce9e450751586 (#5729) [DataFactory] Update Databricks linked service swagger related to warm pools. * Generated from 4d7873fcb2eb980ac1eacad015893bd5634a5a37 (#5735) [ACR] Adding scopemap spec file for new SDK build For releasing ScopeMap and Token features, we need to retrieve models from the scopemap spec file. The existing SDK version doesn't incorporate changes from the scopemap spec file. Requesting a new SDK build. Please suggest changes if deemed necessary. * Generated from 68ccfd97b6bd4b29219d6988342451fff61b7031 (#5737) [Batch] Update documentation around app packages * [AutoPR servicebus/resource-manager] ServiceBus: added NetworkRuleSets list API (#5624) * Generated from 26fbb00e498d34206afb040c7c9eb7b79fa3fd5e added NetworkRuleSets list API * Generated from 87e06617e7103a97295b2fe25f4a47990371b397 added x-ms-pageable and formating * Generated from 2f83e3fb7917b9f6301fea15cf45e3e3fbeac7bb removed readonly for compatibilityLevel * [AutoPR cosmos-db/resource-manager] Add short url for all api resources (#5448) * Generated from 6b485b2047ec2cc073363b94a56778b108912940 Add short url for all api resources * Generated from d0f3adbb4578d7a5569d29a683663bf4772af38a Correct GremlinResources_ spell * Generated from a05be8787ab7cc8346e38c01ccbd45731ad95169 Add new api version * Generated from 72880ac9171c7118002c56eb2152265bb41442ba Fix spell error * Generated from 1ca1ae2151cd7248fac7b82624424ce63383a28a (#5745) fix: Double word "the" in datalake-analytics * [AutoPR] datafactory/resource-manager (#5751) * Generated from 5e1bb35d5c3314d8f4fead76c3d69a2522be026b (#5651) Update review comments * [AutoPR datafactory/resource-manager] support Express Custom Setup (#5536) * Generated from 696212c605edef333cba0f0e86d42ba344f4fc42 address the comments * Generated from 4de64a2262df8e2e971620c95f7c3a2ba91d49d9 address comments * Generated from fc0bdde313743dbbed8e8c506dd9e07107d04142 Merge branch 'master' into ivan/support-express-custom-setup-for-manged-ir * Generated from fc0bdde313743dbbed8e8c506dd9e07107d04142 Merge branch 'master' into ivan/support-express-custom-setup-for-manged-ir * [AutoPR datafactory/resource-manager] [Data Factory]Add ORC Dataset/Copy Source/Copy Sink (#5611) * Generated from 864a2b3827b7237d7cb60d77069b693dcbaf7001 [DataFactory]Add support for ORC dataset * Generated from 864a2b3827b7237d7cb60d77069b693dcbaf7001 [DataFactory]Add support for ORC dataset * Fix CI failure and conflict * Generated from b07009df21da758efcb13fbbd25ce9e450751586 (#5729) [DataFactory] Update Databricks linked service swagger related to warm pools. * Generated from 5cc2c54ac1ba7f41fd2426ff39df46f785ce55f2 (#5748) Add a clearer description. * Generated from 94dbf0ac2518371373cf8f2eb74bba657b1e7b90 (#5414) Orphan property removed * Generated from 33d64b558114a9a861b82dc17518e359758d1688 (#5686) Fix SpellCheck Swagger Specification * Generated from 81fb55e8252598b44b1d5ee4db527eacba725546 (#5687) Fix Local Search Swagger * Generated from latest specs of network * Generated from af961540f808cb651ddb1dbac08619eafc06330e (#5789) Add 2019-07 version to network go code generation * Generated from 1baa9a51ee00db62b006b2081d2811297d48d3d4 (#5761) Updated 2019-02-01-preview api version to include operation.g * Generated from 7837d7e037f47c5a2414e0a241e1472c960ff055 (#5744) fix: Double word "the" in automation * [AutoPR datamigration/resource-manager] Correct the version (#5516) * Generated from 8de2c91a547e5ab394d4569aed0dda9b814c9cce Correct the version * Generated from 8de2c91a547e5ab394d4569aed0dda9b814c9cce Correct the version * Generated from 68427c1d0294d9f4acbe7355261c31cd407a2d95 (#5727) Add purge API details. * [AutoPR] frontdoor/resource-manager (#5784) * Generated from 27e7dd3c7e4a6b855c902cfaf35380e273760cde (#5462) Update readme.md files missed from previous commit * Generated from adca4cd9eac95f46998e3b35e1d5ae600498808f (#5508) add SocketAddr matchvariable * Generated from 88294366687bc74b0efc484eb8f0d08980de3804 (#5746) fix: Double word "the" in resources * [AutoPR] datafactory/resource-manager (#5795) * Generated from 5e1bb35d5c3314d8f4fead76c3d69a2522be026b (#5651) Update review comments * [AutoPR datafactory/resource-manager] support Express Custom Setup (#5536) * Generated from 696212c605edef333cba0f0e86d42ba344f4fc42 address the comments * Generated from 4de64a2262df8e2e971620c95f7c3a2ba91d49d9 address comments * Generated from fc0bdde313743dbbed8e8c506dd9e07107d04142 Merge branch 'master' into ivan/support-express-custom-setup-for-manged-ir * Generated from fc0bdde313743dbbed8e8c506dd9e07107d04142 Merge branch 'master' into ivan/support-express-custom-setup-for-manged-ir * [AutoPR datafactory/resource-manager] [Data Factory]Add ORC Dataset/Copy Source/Copy Sink (#5611) * Generated from 864a2b3827b7237d7cb60d77069b693dcbaf7001 [DataFactory]Add support for ORC dataset * Generated from 864a2b3827b7237d7cb60d77069b693dcbaf7001 [DataFactory]Add support for ORC dataset * Fix CI failure and conflict * Generated from b07009df21da758efcb13fbbd25ce9e450751586 (#5729) [DataFactory] Update Databricks linked service swagger related to warm pools. * Generated from 5cc2c54ac1ba7f41fd2426ff39df46f785ce55f2 (#5748) Add a clearer description. * Generated from 9402dbf3fb3d5fffcb80f501b1fc857ff97ab723 (#5760) Fixing PR validation errors * Generated from 5927195a95dbda5a1729692d42a088b60c4a4a88 Adding new version of API * [AutoPR] datafactory/resource-manager (#5807) * Generated from 5e1bb35d5c3314d8f4fead76c3d69a2522be026b (#5651) Update review comments * [AutoPR datafactory/resource-manager] support Express Custom Setup (#5536) * Generated from 696212c605edef333cba0f0e86d42ba344f4fc42 address the comments * Generated from 4de64a2262df8e2e971620c95f7c3a2ba91d49d9 address comments * Generated from fc0bdde313743dbbed8e8c506dd9e07107d04142 Merge branch 'master' into ivan/support-express-custom-setup-for-manged-ir * Generated from fc0bdde313743dbbed8e8c506dd9e07107d04142 Merge branch 'master' into ivan/support-express-custom-setup-for-manged-ir * [AutoPR datafactory/resource-manager] [Data Factory]Add ORC Dataset/Copy Source/Copy Sink (#5611) * Generated from 864a2b3827b7237d7cb60d77069b693dcbaf7001 [DataFactory]Add support for ORC dataset * Generated from 864a2b3827b7237d7cb60d77069b693dcbaf7001 [DataFactory]Add support for ORC dataset * Fix CI failure and conflict * Generated from b07009df21da758efcb13fbbd25ce9e450751586 (#5729) [DataFactory] Update Databricks linked service swagger related to warm pools. * Generated from 5cc2c54ac1ba7f41fd2426ff39df46f785ce55f2 (#5748) Add a clearer description. * [AutoPR reservations/resource-manager] [Hub Generated] Review request for Microsoft.Capacity to add version preview/2019-04-01 (#5766) * Generated from f19a2e5b7f384018b74b21b7b8b8782d95b456f9 fixed x-ms-enum value * Generated from 2f56008117d578bec6cc8b8c832926f45a0fe52e fixed catalog definition * Generated from cac978330e8c7b9583812a735cfeac97fb267056 reverted breaking operation id change * update README with info on customizing SendDecorators (#5832) * Generated from f3e85bf537e973832fd8b630394c4b951badce66 (#5798) Fix eligibility typo * Generated from d3620f1cf3fda9d30555c4b0e47a1ea521ca5404 (#5799) Review 1 + remove v3.0 preview * Generated from 67a8ba34e8eb3e3c0ffa6efdd019e46391b42571 (#5812) Update readme.go.md Updated output-folder (removed `stable`) * Generated from 96e53c8b30b238235fadb02b5ebf75533039ab91 (#5773) fix getting agent pool available versions api path * [AutoPR logic/resource-manager] [LogicApps] New Api version (#5834) * Generated from acf43615d58480cc7285f4a26b1108971162fc4a Fixed error * Generated from c2f47d91b77ffe997d38994cff32f7b410b1a308 Fixed model errors * Generated from 4f11b92d108f861c21411092dacd997a32bb7076 Fixed more errors in Logic json * Generated from 7c5619dfd675cc3af284d52337539ca861732528 Fixed resource reference issue * Generated from 56286b280dda0ebf76f171c8e4f7288e5ea5141b Fixed Resubmit trigger histories * [AutoPR] datafactory/resource-manager (#5830) * Generated from 5e1bb35d5c3314d8f4fead76c3d69a2522be026b (#5651) Update review comments * [AutoPR datafactory/resource-manager] support Express Custom Setup (#5536) * Generated from 696212c605edef333cba0f0e86d42ba344f4fc42 address the comments * Generated from 4de64a2262df8e2e971620c95f7c3a2ba91d49d9 address comments * Generated from fc0bdde313743dbbed8e8c506dd9e07107d04142 Merge branch 'master' into ivan/support-express-custom-setup-for-manged-ir * Generated from fc0bdde313743dbbed8e8c506dd9e07107d04142 Merge branch 'master' into ivan/support-express-custom-setup-for-manged-ir * [AutoPR datafactory/resource-manager] [Data Factory]Add ORC Dataset/Copy Source/Copy Sink (#5611) * Generated from 864a2b3827b7237d7cb60d77069b693dcbaf7001 [DataFactory]Add support for ORC dataset * Generated from 864a2b3827b7237d7cb60d77069b693dcbaf7001 [DataFactory]Add support for ORC dataset * Fix CI failure and conflict * Generated from b07009df21da758efcb13fbbd25ce9e450751586 (#5729) [DataFactory] Update Databricks linked service swagger related to warm pools. * Generated from 5cc2c54ac1ba7f41fd2426ff39df46f785ce55f2 (#5748) Add a clearer description. * Generated from 239e696db0a17997d3bc2a77c9670180e527fcfc (#5797) Update location in ManagedNetwork * Generated from 0e25b55ea7d548f56eada51b4065224e02eab5e7 (#5815) Restoring expandChildren changes * Generated from 3ff7f07c725255fe7a891687890dd1b928c772ee enum name must be fixed here as well * Generated from 91579252e6aa0e9aa0b00749c82755240e5f5282 (#5845) Add aad domain name for windows login migration support * Generated from 0d3d4d1b56bbbb9e001f971a9ab2c7df8749a9f3 (#5850) Stablize 2019-04 and 2019-05 for frontdoor * [AutoPR sql/resource-manager] Add new APIs (two List APIs) and update examples (#5728) * Generated from b5c48e4b89006ae465040001f67683dcec790b4b Update DatabaseAuditingSettingsList.json * Generated from b5c48e4b89006ae465040001f67683dcec790b4b Update DatabaseAuditingSettingsList.json * Generated from 3ff8cd57b4a86c753b773d2dba460f7e6a62f4c1 (#5864) remove additional property for data flow enitty * Generated from 8188f2ed896ed7f345c5a324f3c62aaca926a35b (#5867) Removed one property which won't be exposed to public for now * Generated from 1cac6227f3d809cbabebc0ca1140469c9d2a7030 (#5872) remove unnecessary additional property * Generated from ad2716208f8089dd2d768faf9e9f765660fafc9c (#5873) Fixed unknown words * Generated from 51020f68a1a7cd0fd66f44a493e8a8b2a23f1e2a (#5875) Add nextLink * Generated from 16c7d5f2a872e3b7cc01c7dd8af608a586776fe9 (#5862) lowercase the collection types * Generated from edb4eee278a0a531af70668fcc2a55e04396d5b1 (#5886) update operation id on list all * [AutoPR security/resource-manager] Jit api add justification (#5866) * Generated from 162213184e0652221884ff84f11c93fe935ec78d Merge branch 'master' into jit-api-add-justification * Generated from 162213184e0652221884ff84f11c93fe935ec78d Merge branch 'master' into jit-api-add-justification * Generated from 63d0bd0751dd12efb7a19fd63807a26919c02b11 (#5868) Add support for attached databases * Generated from ebaee7c36eb7db67a4e648374f69f26a654b444f (#5885) [SRP] Add new storage account property largeFileSharesState * v34.0.0 * [AutoPR network/resource-manager] Network September release (#5940) * Generated from 10dc6bc902a0884218d9d336da7d993839599645 Add reference to Connection Monitor specs in 2019-08-01 (#7218) * Generated from 40628938c2d43d66b4cc5a778e35d470f4299727 Move new props to the end to avoid breaking changes in SDK (#7387) * Generated from d16da2ae0ccb63bad6796ad92e9f5b3deff263a1 (#5856) Removed extra file * [AutoPR compute/resource-manager] vmss: support for passing a health probe to update (#5914) * Generated from 5b6736a9b79ace44f3c0080596a48a2c5072c739 vmss: support for passing a health probe to update * Generated from 5b6736a9b79ace44f3c0080596a48a2c5072c739 vmss: support for passing a health probe to update * Generated from 907e4904d4d23c9808b0e9a1e9d6feed24a85674 (#5997) Add api version 2019-07-01 for features * Generated from 13b301ffb122a22f7c7ef6372c606bc677ebc31e (#5952) chore: jsonfmt network * Generated from acbfeadd901b2bb09d4f187e1d7d7dcb68382f0c (#5944) Add purge API details + saved search fixes * [AutoPR cdn/resource-manager] Add two match condition for CDN RulesEngine. (#5926) * Generated from e00cb79da22b7321a0d965f6516440f359180cff Add two match condition for CDN RulesEngine. * Generated from 0ce67b311a2c58faeee1f54bad56afdacc51adeb remove transfrom from HttpVersion condition * [AutoPR peering/resource-manager] API Version 2019-09-01-preview Peering (#5924) * Generated from ec35a7cbfa909dda0ae507af5db9452de833da5f updated 2019-09-01-preview * Generated from 3641a535aab99c93ab35860408e57b105dd40350 updated examples. * Generated from 5f9b9fdd92c5c96b1cb39448b7654103e8913c93 fixed comments in json. * Generated from 2f943553eee21d4184695927da52acdb469b6b43 (#5931) add signin tenant property * Generated from 15e50a07198dcba64bae4c75b4a32969fb50a882 (#5932) Fixing incorrect output of the CheckOCIDriver task. * Generated from afa8ccf350ace9279c30bc5f7df053fa3f65a476 (#5930) fix modal * Generated from aa9913e0d2ece26504f653d3b30d22a4a35a0b38 (#5946) fixing typo and indentation * Generated from faa4da7ea6662be44a9719ba392ca645bc23197b (#5927) fix password1 description * Generated from 4b1813edb7a61c029f7036506b08398a7da69221 (#5971) Add packages for API version for different languages * Generated from 71a7c364618a7112eb2ec351eb0b9827172bc120 (#5976) chore: jsonfmt mysql * Generated from ed7d3540d4a170541423dcf299d305d975442d71 (#5977) chore: jsonfmt postgresql * [AutoPR security/resource-manager] Add aggregated alert top devices information (#5960) * Generated from 235fdb6f20c94a84cda7b52321f27336106cc5e5 fix time field * Generated from 83f1e75cc7e010cba6c566f089194374933a0889 fix time field * [AutoPR recoveryservicesbackup/resource-manager] Azure Backup Version 2019-05-13 addition (#5923) * Generated from 3212ec12fc1821b1b577b0d68951cd67370846d5 Lintdiff Failure fix * Generated from 2826bc70cf4d5fb7c329219e9877b4d74f8a4c45 Semantics Failure fix * Generated from c2fc52d415140376e70e64d0e3d4703c23ec0e2a Camel casing failure * Generated from 10b920e497dd60808ea1c9f89325bf3f366af79a Update bms.json Adding azure vm workload policy back and copying IaaSVMRestoreRequest to 2017-07-01 * Generated from a2315a7436ffff90c2187103294035a4377c5fec Merge branch 'users/adit/generated' * Generated from 2ed2ddce7a58909f89fc4cd728c4fe2efe1ca0d7 Incorporating PR comments * Generated from 7f2f8e3f5b57d9fb2ab8c6731f8699a84b21ef43 Moving Get and Patch on vaultconfig to version 2019-05-13 Moving Patch and Get of vault config to 2019-05-13 * Generated from 1673d919ce100fe910b2e950b5ac297e30eb1c6a Fixing validation errors * Generated from e868833c4c6499353c9c04bbbfd3de261b750a9c Updating vault config feature flag name * Generated from 4b7c0f58757b9f9d86be85357070788cb8881978 Taken care of Ryan's comment Policy comment is still pending * Generated from f0e79eff1574dd894d881bbf697f016b0f5e8a6e Moved all policy actions to 2019-05-13 version * Generated from 94fc988ab4cbee533fa8fca60f8773a387e7f857 Mark additionalDetail as readonly * Generated from 99b812e62e2d6cb1d7634bfd393a69cf5b85f2fa (#5965) Update go & ruby for 3.1 * Generated from d3a4f2d1674a63bc9a4a57015f956833c7d40f7b (#6004) Update LUIS-Authoring.json fix semantic bugs * Generated from 2128273966bce4b74889c8d94b5f3b2cb6592bd8 (#6007) fixed spellcheck * Generated from 55e842916abe83a008e4078b3cfb384c5a49ebf6 (#6010) Modify SecureString to SecretBase * Generated from 16ff787a51dc55db850a3486cccf7780722c1e41 (#6018) Revert changes in input-files to avoid errors * Generated from 0e60fa1cd6adba0b91d7c91ebaaa4fc65c110b4b (#6017) fixing the build * Generated from fecc99c28f9ff6521a2cce0d481429b2b4ab78b5 (#6050) include property in update as well * Generated from 470b9dc33f877037875aca6fcedbbd845b88ba78 (#6028) Update advisor.json * Generated from f639fa1a11578b5cad9c3a155da216117d6e0059 (#6036) chore: jsonfmt appplatform * Generated from c7ff553c30947fdc9a3e133cc8c1ec3740abc0ac (#6046) [SRP] Support Active Directory and regenerate kerb keys * Add Go 1.13 to CI (#6061) Updated Ubuntu image to 18.04. Removed travis CI file. * [AutoPR policyinsights/resource-manager] Adding a baseline folder for PolicyInsights 2019-10-01. Contents are same as prior version, I will make changes once this PR is complete. (#6041) * Generated from 551a94e578553160c7a3ef54b75a2cdff76acc5a fix go build error * Generated from 964ec2957f79ce66ce1f0010e15d774904c753c7 Added spec json files for other resources to be added to the package. Also updated policyStates.json as per latest API changes. * Generated from 33073abb10a1576efd929ed0344af26b4db6037a Added new columns in the examples. Also, Removed metadata path. * Generated from 89e4b3f2e4d5f61efd6d0a1bdacfc1db7a912c85 (#6067) [DataFactory]Add CompressionCodec property for ORC Dataset * Generated from 7face07707cee94abd393c81397c13c71a64c161 (#6070) Fix mistakes. * Generated from 92dd4e7a8d556480e7db4c970c5463b380dfc08f (#6055) Small change - Modify the description for grace period * Add Go 1.13 to CI Updated Linux image to 18.04 Removed travis file. * add windows builds and refactor * Generated from 311c8c86d05f9dda652102cdc7803949fb4b6d17 Update specification/resources/resource-manager/readme.csharp.md update package name Co-Authored-By: Yeming Liu * Modifications after running after_scripts --- .travis.yml | 40 - Gopkg.lock | 283 +- Gopkg.toml | 2 +- README.md | 28 +- azure-pipelines.yml | 133 +- profiles/2017-03-09/generate.go | 2 +- .../resources/mgmt/resources/models.go | 4 + profiles/2018-03-01/generate.go | 2 +- .../resources/mgmt/resources/models.go | 4 + profiles/2019-03-01/generate.go | 2 +- .../resources/mgmt/resources/models.go | 4 + .../latest/advisor/mgmt/advisor/models.go | 9 +- .../latest/appinsights/insights/models.go | 229 - profiles/latest/cdn/mgmt/cdn/models.go | 41 +- .../cognitiveservices/anomalyfinder/models.go | 56 - .../customvision/training/models.go | 33 +- .../training/trainingapi/models.go | 2 +- .../luis/programmatic/models.go | 453 - .../latest/compute/mgmt/compute/models.go | 14 + .../cosmos-db/mgmt/documentdb/models.go | 12 +- .../databox/mgmt/databox/databoxapi/models.go | 2 +- .../latest/databox/mgmt/databox/models.go | 178 +- .../databoxedge/databoxedgeapi}/models.go | 5 +- .../mgmt/databoxedge}/models.go | 89 +- .../mgmt/datafactory/datafactoryapi/models.go | 2 + .../datafactory/mgmt/datafactory/models.go | 237 +- profiles/latest/eventgrid/eventgrid/models.go | 9 + .../latest/eventhub/mgmt/eventhub/models.go | 9 + .../mgmt/frontdoor/frontdoorapi/models.go | 29 + .../latest/frontdoor/mgmt/frontdoor/models.go | 561 + profiles/latest/generate.go | 2 +- .../healthcareapisapi}/models.go | 8 +- .../mgmt/healthcareapis/models.go | 154 + .../kusto/mgmt/kusto/kustoapi/models.go | 3 +- profiles/latest/kusto/mgmt/kusto/models.go | 92 +- .../machinelearningservicesapi/models.go | 1 + .../mgmt/machinelearningservices/models.go | 51 +- .../mgmt/mobileengagement/models.go | 394 - profiles/latest/netapp/mgmt/netapp/models.go | 2 +- .../netapp/mgmt/netapp/netappapi/models.go | 2 +- .../latest/network/mgmt/network/models.go | 243 +- .../network/mgmt/network/networkapi/models.go | 8 +- .../mgmt/operationalinsights/models.go | 5 - .../mgmt/policyinsights/models.go | 63 +- .../policyinsightsapi/models.go | 4 +- .../recoveryservices/mgmt/backup/models.go | 54 +- .../mgmt/features/featuresapi/models.go | 11 +- .../latest/resources/mgmt/features/models.go | 256 +- .../latest/resources/mgmt/resources/models.go | 4 + .../resources/mgmt/subscriptions/models.go | 3 +- .../subscriptions/subscriptionsapi/models.go | 2 +- .../servicebus/mgmt/servicebus/models.go | 9 + profiles/latest/sql/mgmt/sql/models.go | 592 +- profiles/latest/sql/mgmt/sql/sqlapi/models.go | 27 + .../datalake/storagedatalake/models.go | 3 +- .../storagedatalakeapi/models.go | 2 +- .../latest/storage/mgmt/storage/models.go | 42 +- profiles/latest/web/mgmt/web/models.go | 2 +- profiles/latest/web/mgmt/web/webapi/models.go | 2 +- .../preview/advisor/mgmt/advisor/models.go | 9 +- .../preview/appinsights/insights/models.go | 229 - profiles/preview/cdn/mgmt/cdn/models.go | 41 +- .../cognitiveservices/anomalyfinder/models.go | 56 - .../customvision/training/models.go | 33 +- .../training/trainingapi/models.go | 2 +- .../preview/compute/mgmt/compute/models.go | 14 + .../containerregistryapi/models.go | 2 + .../mgmt/containerregistry/models.go | 86 +- .../cosmos-db/mgmt/documentdb/models.go | 12 +- .../databox/mgmt/databox/databoxapi/models.go | 2 +- .../preview/databox/mgmt/databox/models.go | 178 +- .../databoxedge/databoxedgeapi}/models.go | 5 +- .../mgmt/databoxedge}/models.go | 89 +- .../mgmt/datafactory/datafactoryapi/models.go | 2 + .../datafactory/mgmt/datafactory/models.go | 237 +- .../preview/eventgrid/eventgrid/models.go | 9 + .../preview/eventhub/mgmt/eventhub/models.go | 9 + .../mgmt/frontdoor/frontdoorapi/models.go | 29 + .../frontdoor/mgmt/frontdoor/models.go | 561 + profiles/preview/generate.go | 2 +- .../healthcareapisapi}/models.go | 8 +- .../mgmt/healthcareapis/models.go | 154 + .../kusto/mgmt/kusto/kustoapi/models.go | 3 +- profiles/preview/kusto/mgmt/kusto/models.go | 92 +- .../machinelearningservicesapi/models.go | 1 + .../mgmt/machinelearningservices/models.go | 51 +- .../mgmt/mobileengagement/models.go | 394 - profiles/preview/netapp/mgmt/netapp/models.go | 2 +- .../netapp/mgmt/netapp/netappapi/models.go | 2 +- .../preview/network/mgmt/network/models.go | 243 +- .../network/mgmt/network/networkapi/models.go | 8 +- .../mgmt/operationalinsights/models.go | 5 - .../mgmt/policyinsights/models.go | 63 +- .../policyinsightsapi/models.go | 4 +- .../mgmt/appconfiguration/models.go | 2 + .../appplatform/appplatformapi}/models.go | 10 +- .../appplatform/mgmt/appplatform/models.go | 277 + .../luis/authoring/authoringapi/models.go | 33 + .../luis/authoring}/models.go | 128 +- .../containerserviceapi/models.go | 3 +- .../mgmt/containerservice/models.go | 92 +- .../datashare/mgmt/datashare/models.go | 24 + .../devspaces/mgmt/devspaces/models.go | 137 - .../preview/eventhub/mgmt/eventhub/models.go | 21 + .../mgmt/frontdoor/frontdoorapi/models.go | 7 +- .../frontdoor/mgmt/frontdoor/models.go | 381 +- .../hdinsight/mgmt/hdinsight/models.go | 19 - .../logic/mgmt/logic/logicapi/models.go | 7 +- .../preview/logic/mgmt/logic/models.go | 297 +- .../machinelearning/mgmt/services/models.go | 196 - .../mgmt/maintenance/maintenanceapi/models.go | 28 + .../maintenance/mgmt/maintenance/models.go | 130 + .../mgmt/managednetwork/models.go | 22 +- .../preview/mysql/mgmt/mysql/models.go | 12 + .../mysql/mgmt/mysql/mysqlapi/models.go | 1 + .../preview/peering/mgmt/peering/models.go | 17 +- .../peering/mgmt/peering/peeringapi/models.go | 3 +- .../postgresql/mgmt/postgresql/models.go | 12 + .../mgmt/postgresql/postgresqlapi/models.go | 1 + .../reservations/mgmt/reservations/models.go | 26 + .../preview/security/mgmt/security/models.go | 250 +- .../mgmt/security/securityapi/models.go | 12 +- .../mgmt/securityinsight/models.go | 445 +- .../securityinsightapi/models.go | 5 + .../mgmt/servicefabric/models.go | 2 +- .../servicefabric/servicefabricapi/models.go | 2 +- .../preview/preview/sql/mgmt/sql/models.go | 651 +- .../preview/sql/mgmt/sql/sqlapi/models.go | 26 +- .../mgmt/sqlvirtualmachine/models.go | 13 + .../storagecache/mgmt/storagecache/models.go | 217 + .../storagecache/storagecacheapi}/models.go | 10 +- .../recoveryservices/mgmt/backup/models.go | 54 +- .../mgmt/features/featuresapi/models.go | 11 +- .../preview/resources/mgmt/features/models.go | 256 +- .../resources/mgmt/resources/models.go | 4 + .../resources/mgmt/subscriptions/models.go | 3 +- .../subscriptions/subscriptionsapi/models.go | 2 +- .../servicebus/mgmt/servicebus/models.go | 9 + profiles/preview/sql/mgmt/sql/models.go | 592 +- .../preview/sql/mgmt/sql/sqlapi/models.go | 27 + .../datalake/storagedatalake/models.go | 3 +- .../storagedatalakeapi/models.go | 2 +- .../preview/storage/mgmt/storage/models.go | 42 +- profiles/preview/web/mgmt/web/models.go | 2 +- .../preview/web/mgmt/web/webapi/models.go | 2 +- .../advisor/mgmt/2017-03-31/advisor/models.go | 6 +- .../advisor/mgmt/2017-04-19/advisor/models.go | 6 +- .../mgmt/2019-01-01/apimanagement/models.go | 8 +- .../mgmt/2015-05-01/insights/components.go | 5 + services/appinsights/v1/insights/client.go | 49 - services/appinsights/v1/insights/events.go | 311 - services/appinsights/v1/insights/metrics.go | 314 - services/appinsights/v1/insights/models.go | 2554 - services/appinsights/v1/insights/query.go | 123 - .../automation/dsccompilationjob.go | 2 +- .../2015-10-31/automation/dscconfiguration.go | 2 +- .../batch/2015-12-01.2.2/batch/application.go | 240 - .../batch/2015-12-01.2.2/batch/certificate.go | 518 - .../batch/2015-12-01.2.2/batch/computenode.go | 988 - services/batch/2015-12-01.2.2/batch/file.go | 887 - services/batch/2015-12-01.2.2/batch/job.go | 1336 - .../batch/2015-12-01.2.2/batch/jobschedule.go | 1126 - services/batch/2015-12-01.2.2/batch/models.go | 2647 - services/batch/2015-12-01.2.2/batch/pool.go | 1734 - services/batch/2015-12-01.2.2/batch/task.go | 794 - .../batch/2016-02-01.3.0/batch/account.go | 157 - .../batch/2016-02-01.3.0/batch/application.go | 240 - .../batch/2016-02-01.3.0/batch/certificate.go | 518 - .../batch/2016-02-01.3.0/batch/computenode.go | 1069 - services/batch/2016-02-01.3.0/batch/file.go | 887 - services/batch/2016-02-01.3.0/batch/job.go | 1366 - .../batch/2016-02-01.3.0/batch/jobschedule.go | 1156 - services/batch/2016-02-01.3.0/batch/models.go | 3010 - services/batch/2016-02-01.3.0/batch/pool.go | 1739 - services/batch/2016-02-01.3.0/batch/task.go | 888 - .../batch/2016-07-01.3.1/batch/account.go | 173 - .../batch/2016-07-01.3.1/batch/application.go | 260 - .../batch/2016-07-01.3.1/batch/certificate.go | 554 - services/batch/2016-07-01.3.1/batch/client.go | 49 - .../batch/2016-07-01.3.1/batch/computenode.go | 1117 - services/batch/2016-07-01.3.1/batch/file.go | 935 - services/batch/2016-07-01.3.1/batch/job.go | 1489 - .../batch/2016-07-01.3.1/batch/jobschedule.go | 1228 - services/batch/2016-07-01.3.1/batch/models.go | 2839 - services/batch/2016-07-01.3.1/batch/pool.go | 1842 - services/batch/2016-07-01.3.1/batch/task.go | 1051 - .../batch/2017-01-01.4.0/batch/account.go | 174 - .../batch/2017-01-01.4.0/batch/application.go | 262 - .../batch/2017-01-01.4.0/batch/certificate.go | 555 - .../batch/2017-01-01.4.0/batch/computenode.go | 1121 - services/batch/2017-01-01.4.0/batch/file.go | 942 - services/batch/2017-01-01.4.0/batch/job.go | 1519 - .../batch/2017-01-01.4.0/batch/jobschedule.go | 1261 - services/batch/2017-01-01.4.0/batch/models.go | 2989 - services/batch/2017-01-01.4.0/batch/pool.go | 1878 - services/batch/2017-01-01.4.0/batch/task.go | 1068 - .../batch/2017-01-01.4.0/batch/version.go | 30 - .../batch/2017-06-01.5.1/batch/account.go | 174 - .../batch/2017-06-01.5.1/batch/application.go | 264 - .../batch/2017-06-01.5.1/batch/certificate.go | 555 - services/batch/2017-06-01.5.1/batch/client.go | 49 - .../batch/2017-06-01.5.1/batch/computenode.go | 1122 - services/batch/2017-06-01.5.1/batch/file.go | 942 - services/batch/2017-06-01.5.1/batch/job.go | 1625 - .../batch/2017-06-01.5.1/batch/jobschedule.go | 1269 - services/batch/2017-06-01.5.1/batch/models.go | 3293 - services/batch/2017-06-01.5.1/batch/pool.go | 1884 - services/batch/2017-06-01.5.1/batch/task.go | 1070 - .../batch/2017-06-01.5.1/batch/version.go | 30 - .../batch/2017-09-01.6.0/batch/account.go | 175 - .../batch/2017-09-01.6.0/batch/application.go | 264 - .../batch/2017-09-01.6.0/batch/certificate.go | 557 - services/batch/2017-09-01.6.0/batch/client.go | 49 - .../batch/2017-09-01.6.0/batch/computenode.go | 1124 - services/batch/2017-09-01.6.0/batch/file.go | 946 - services/batch/2017-09-01.6.0/batch/job.go | 1660 - .../batch/2017-09-01.6.0/batch/jobschedule.go | 1324 - services/batch/2017-09-01.6.0/batch/models.go | 3418 - services/batch/2017-09-01.6.0/batch/pool.go | 1897 - services/batch/2017-09-01.6.0/batch/task.go | 1081 - .../batch/2017-09-01.6.0/batch/version.go | 30 - .../2019-08-01/batch/applicationpackage.go | 7 +- services/cdn/mgmt/2019-04-15/cdn/models.go | 469 +- services/classic/management/README.md | 12 - .../management/affinitygroup/client.go | 147 - .../management/affinitygroup/entities.go | 96 - services/classic/management/client.go | 178 - services/classic/management/errors.go | 52 - services/classic/management/errors_test.go | 46 - .../management/hostedservice/client.go | 141 - .../management/hostedservice/entities.go | 74 - services/classic/management/http.go | 206 - .../classic/management/location/client.go | 46 - .../classic/management/location/entities.go | 53 - .../management/networksecuritygroup/client.go | 266 - .../networksecuritygroup/entities.go | 131 - services/classic/management/operations.go | 108 - services/classic/management/osimage/client.go | 60 - .../classic/management/osimage/entities.go | 65 - .../classic/management/publishSettings.go | 124 - services/classic/management/sql/client.go | 332 - services/classic/management/sql/entities.go | 140 - .../management/storageservice/client.go | 124 - .../management/storageservice/entities.go | 95 - .../storageservice/entities_test.go | 47 - .../management/testutils/managementclient.go | 103 - services/classic/management/util.go | 27 - .../management/virtualmachine/client.go | 606 - .../management/virtualmachine/entities.go | 626 - .../virtualmachine/entities_test.go | 315 - .../virtualmachine/resourceextensions.go | 183 - .../virtualmachine/resourceextensions_test.go | 43 - .../management/virtualmachinedisk/client.go | 246 - .../management/virtualmachinedisk/entities.go | 150 - .../management/virtualmachineimage/client.go | 126 - .../virtualmachineimage/entities.go | 111 - .../virtualmachineimage/entities_test.go | 126 - .../management/virtualnetwork/client.go | 63 - .../management/virtualnetwork/entities.go | 106 - .../management/vmutils/configurationset.go | 44 - .../classic/management/vmutils/datadisks.go | 74 - .../classic/management/vmutils/deployment.go | 107 - .../classic/management/vmutils/extensions.go | 106 - .../management/vmutils/extensions_test.go | 58 - .../management/vmutils/integration_test.go | 474 - .../classic/management/vmutils/network.go | 99 - .../classic/management/vmutils/rolesize.go | 92 - .../classic/management/vmutils/rolestate.go | 74 - .../classic/management/vmutils/vmutils.go | 193 - .../2017-04-18/cognitiveservices/client.go | 8 +- .../v1.0/computervision/client.go | 1338 - .../v1.0/computervision/models.go | 551 - .../v1.0/computervision/version.go | 30 - .../v1.0/face/largefacelist.go | 6 +- .../v1.0/face/largepersongroup.go | 3 +- .../v1.0/face/largepersongroupperson.go | 6 +- services/cognitiveservices/v1.0/face/list.go | 6 +- .../v1.0/face/persongroup.go | 3 +- .../v1.0/face/persongroupperson.go | 6 +- .../v1.0/localsearch/client.go | 2 +- .../v1.0/localsearch/local.go | 2 +- .../v1.0/spellcheck/client.go | 15 +- .../anomalyfinderapi/interfaces.go | 31 - .../v2.0/anomalyfinder/client.go | 208 - .../v2.0/anomalyfinder/models.go | 121 - .../v2.0/anomalyfinder/version.go | 30 - .../v2.0/luis/programmatic/features.go | 492 - .../v2.0/luis/programmatic/version.go | 30 - .../v3.1/customvision/training/client.go | 3930 + .../v3.1/customvision/training/models.go | 1128 + .../training/trainingapi/interfaces.go | 78 + .../v3.1/customvision/training}/version.go | 4 +- .../2015-06-15/compute/virtualmachines.go | 2 +- .../2016-03-30/compute/availabilitysets.go | 15 +- .../compute/computeapi/interfaces.go | 2 +- .../2016-03-30/compute/virtualmachines.go | 2 +- .../2017-03-30/compute/availabilitysets.go | 15 +- .../compute/computeapi/interfaces.go | 2 +- .../2017-03-30/compute/virtualmachines.go | 2 +- .../2017-12-01/compute/availabilitysets.go | 15 +- .../compute/computeapi/interfaces.go | 2 +- .../2017-12-01/compute/virtualmachines.go | 2 +- .../compute/virtualmachinescalesets.go | 3 +- .../compute/virtualmachinescalesetvms.go | 3 +- .../2018-04-01/compute/availabilitysets.go | 15 +- .../compute/computeapi/interfaces.go | 2 +- .../2018-04-01/compute/virtualmachines.go | 2 +- .../compute/virtualmachinescalesets.go | 3 +- .../compute/virtualmachinescalesetvms.go | 3 +- .../2018-06-01/compute/availabilitysets.go | 15 +- .../compute/computeapi/interfaces.go | 2 +- .../2018-06-01/compute/virtualmachines.go | 2 +- .../compute/virtualmachinescalesets.go | 3 +- .../compute/virtualmachinescalesetvms.go | 3 +- .../2018-10-01/compute/availabilitysets.go | 15 +- .../compute/computeapi/interfaces.go | 2 +- .../compute/mgmt/2018-10-01/compute/models.go | 17 + .../2018-10-01/compute/virtualmachines.go | 2 +- .../compute/virtualmachinescalesets.go | 3 +- .../compute/virtualmachinescalesetvms.go | 3 +- .../2019-03-01/compute/availabilitysets.go | 15 +- .../compute/computeapi/interfaces.go | 2 +- .../compute/mgmt/2019-03-01/compute/disks.go | 16 +- .../compute/mgmt/2019-03-01/compute/models.go | 136 +- .../mgmt/2019-03-01/compute/snapshots.go | 16 +- .../2019-03-01/compute/virtualmachines.go | 2 +- .../compute/virtualmachinescalesets.go | 3 +- .../compute/virtualmachinescalesetvms.go | 3 +- .../2019-07-01/compute/availabilitysets.go | 15 +- .../compute/computeapi/interfaces.go | 2 +- .../compute/mgmt/2019-07-01/compute/disks.go | 16 +- .../compute/mgmt/2019-07-01/compute/models.go | 136 +- .../mgmt/2019-07-01/compute/snapshots.go | 16 +- .../2019-07-01/compute/virtualmachines.go | 2 +- .../compute/virtualmachinescalesets.go | 3 +- .../compute/virtualmachinescalesetvms.go | 3 +- .../containerregistry/models.go | 56 +- .../containerregistry/scopemaps.go | 8 +- .../containerregistryapi/interfaces.go | 23 + .../containerregistry/models.go | 2246 +- .../containerregistry/registries.go | 90 + .../containerregistry/scopemaps.go | 547 + .../containerregistry/tokens.go | 544 + .../2019-06-01/containerservice/agentpools.go | 10 +- .../containerserviceapi/interfaces.go | 2 +- .../2019-08-01/containerservice/agentpools.go | 10 +- .../containerserviceapi/interfaces.go | 2 +- .../mgmt/2015-04-08/documentdb/models.go | 8 +- services/cosmos-db/mongodb/client.go | 117 - .../mgmt/2019-09-01/databox}/client.go | 10 +- .../databox/databoxapi/interfaces.go | 58 + .../databox/mgmt/2019-09-01/databox/jobs.go | 922 + .../databox/mgmt/2019-09-01/databox/models.go | 5220 + .../mgmt/2019-09-01/databox}/operations.go | 44 +- .../mgmt/2019-09-01/databox/service.go | 637 + .../mgmt/2019-09-01/databox}/version.go | 4 +- .../mgmt/2019-03-01/databoxedge}/alerts.go | 22 +- .../databoxedge}/bandwidthschedules.go | 32 +- .../mgmt/2019-03-01/databoxedge}/client.go | 8 +- .../databoxedge/databoxedgeapi}/interfaces.go | 124 +- .../mgmt/2019-03-01/databoxedge}/devices.go | 150 +- .../mgmt/2019-03-01/databoxedge}/jobs.go | 10 +- .../mgmt/2019-03-01/databoxedge}/models.go | 357 +- .../2019-03-01/databoxedge}/operations.go | 16 +- .../databoxedge}/operationsstatus.go | 10 +- .../mgmt/2019-03-01/databoxedge}/orders.go | 32 +- .../mgmt/2019-03-01/databoxedge}/roles.go | 30 +- .../mgmt/2019-03-01/databoxedge}/shares.go | 36 +- .../databoxedge}/storageaccountcredentials.go | 32 +- .../mgmt/2019-03-01/databoxedge}/triggers.go | 30 +- .../mgmt/2019-03-01/databoxedge}/users.go | 32 +- .../mgmt/2019-03-01/databoxedge}/version.go | 4 +- .../mgmt/2019-07-01/databoxedge/alerts.go | 235 + .../databoxedge/bandwidthschedules.go | 407 + .../mgmt/2019-07-01/databoxedge}/client.go | 10 +- .../databoxedge/databoxedgeapi/interfaces.go | 150 + .../mgmt/2019-07-01/databoxedge/devices.go | 1229 + .../mgmt/2019-07-01/databoxedge/jobs.go | 120 + .../mgmt/2019-07-01/databoxedge/models.go | 5203 + .../mgmt/2019-07-01/databoxedge/nodes.go | 118 + .../mgmt/2019-07-01/databoxedge/operations.go | 147 + .../databoxedge/operationsstatus.go | 120 + .../mgmt/2019-07-01/databoxedge/orders.go | 410 + .../mgmt/2019-07-01/databoxedge/roles.go | 395 + .../mgmt/2019-07-01/databoxedge/shares.go | 485 + .../databoxedge/storageaccountcredentials.go | 406 + .../mgmt/2019-07-01/databoxedge/triggers.go | 399 + .../mgmt/2019-07-01/databoxedge/users.go | 406 + .../mgmt/2019-07-01/databoxedge/version.go | 30 + .../datafactory/datafactoryapi/interfaces.go | 24 + .../datafactory/dataflowdebugsession.go | 552 + .../mgmt/2018-06-01/datafactory/dataflows.go | 471 + .../mgmt/2018-06-01/datafactory/models.go | 117220 +++++++++------ .../mgmt/2018-06-01/datafactory/triggers.go | 285 + .../2016-11-01-preview/catalog/models.go | 24 +- .../mgmt/2018-04-19/datamigration/client.go | 2 +- .../mgmt/2018-04-19/datamigration/models.go | 4 +- .../eventgrid/2018-01-01/eventgrid/models.go | 170 + .../eventhub/eventhubapi/interfaces.go | 1 + .../mgmt/2017-04-01/eventhub/models.go | 146 + .../mgmt/2017-04-01/eventhub/namespaces.go | 125 + .../mgmt/2019-04-01/frontdoor/client.go | 0 .../mgmt/2019-04-01/frontdoor/endpoints.go | 0 .../frontdoor/frontdoorapi/interfaces.go | 44 +- .../mgmt/2019-04-01/frontdoor/frontdoors.go | 0 .../2019-04-01/frontdoor/frontendendpoints.go | 193 - .../2019-04-01/frontdoor/managedrulesets.go | 0 .../mgmt/2019-04-01/frontdoor/models.go | 1052 +- .../mgmt/2019-04-01/frontdoor/policies.go | 0 .../mgmt/2019-04-01/frontdoor/version.go | 0 .../mgmt/2019-05-01/frontdoor/client.go | 0 .../mgmt/2019-05-01/frontdoor/endpoints.go | 0 .../frontdoor/frontdoorapi/interfaces.go | 44 +- .../mgmt/2019-05-01/frontdoor/frontdoors.go | 0 .../2019-05-01/frontdoor/frontendendpoints.go | 198 - .../2019-05-01/frontdoor/managedrulesets.go | 0 .../mgmt/2019-05-01/frontdoor/models.go | 990 +- .../mgmt/2019-05-01/frontdoor/policies.go | 0 .../mgmt/2019-05-01/frontdoor/version.go | 0 .../mgmt/2019-09-16/healthcareapis/client.go | 51 + .../healthcareapisapi/interfaces.go | 50 + .../mgmt/2019-09-16/healthcareapis/models.go | 708 + .../healthcareapis/operationresults.go | 118 + .../2019-09-16/healthcareapis}/operations.go | 22 +- .../2019-09-16/healthcareapis/services.go | 730 + .../mgmt/2019-09-16/healthcareapis/version.go | 30 + .../keyvault/2015-06-01/keyvault/models.go | 36 +- services/keyvault/auth/auth.go | 77 - .../kusto/mgmt/2019-05-15/kusto/models.go | 10 +- .../kusto/attacheddatabaseconfigurations.go | 370 + .../kusto/mgmt/2019-09-07/kusto/client.go | 52 + .../kusto/mgmt/2019-09-07/kusto/clusters.go | 1079 + .../kusto/mgmt/2019-09-07/kusto/databases.go | 771 + .../mgmt/2019-09-07/kusto/dataconnections.go | 623 + .../2019-09-07/kusto/kustoapi/interfaces.go | 87 + .../kusto/mgmt/2019-09-07/kusto/models.go | 2634 + .../mgmt/2019-09-07/kusto}/operations.go | 46 +- .../mgmt/2019-09-07/kusto}/version.go | 4 +- .../2016-06-01/logic/logicapi/interfaces.go | 1 + .../logic/mgmt/2016-06-01/logic/models.go | 2 +- .../mgmt/2016-06-01/logic/workflowruns.go | 78 + .../machinelearningservicesapi/interfaces.go | 10 +- .../machinelearningservices/models.go | 267 +- .../machinelearningservices/quotas.go | 245 + .../machinelearningservices/usages.go | 14 +- .../mobileengagement/appcollections.go | 195 - .../mgmt/2014-12-01/mobileengagement/apps.go | 134 - .../2014-12-01/mobileengagement/campaigns.go | 1065 - .../2014-12-01/mobileengagement/devices.go | 466 - .../mobileengagement/exporttasks.go | 1017 - .../mobileengagement/importtasks.go | 311 - .../2014-12-01/mobileengagement/models.go | 5874 - .../mobileengagement/supportedplatforms.go | 102 - .../2014-12-01/mobileengagement/version.go | 30 - .../netapp/mgmt/2019-07-01/netapp/accounts.go | 478 + .../netapp/mgmt/2019-07-01/netapp/client.go | 226 + .../netapp/mgmt/2019-07-01/netapp/models.go | 1436 + .../mgmt/2019-07-01/netapp/mounttargets.go | 131 + .../2019-07-01/netapp/netappapi/interfaces.go | 89 + .../mgmt/2019-07-01/netapp}/operations.go | 20 +- .../netapp/mgmt/2019-07-01/netapp/pools.go | 499 + .../mgmt/2019-07-01/netapp/snapshots.go | 517 + .../netapp/mgmt/2019-07-01/netapp/version.go | 30 + .../netapp/mgmt/2019-07-01/netapp/volumes.go | 521 + .../network/mgmt/2018-07-01/network/models.go | 6 +- .../network/mgmt/2018-08-01/network/models.go | 6 +- .../network/mgmt/2018-10-01/network/models.go | 6 +- .../network/mgmt/2018-11-01/network/models.go | 6 +- .../network/mgmt/2018-12-01/network/models.go | 6 +- .../network/mgmt/2019-02-01/network/models.go | 6 +- .../network/mgmt/2019-04-01/network/models.go | 110 +- .../2019-04-01/network/privateendpoints.go | 2 +- .../2019-04-01/network/privatelinkservices.go | 4 +- .../mgmt/2019-04-01/network/servicetags.go | 4 +- .../mgmt/2019-06-01/network/bastionhosts.go | 80 + .../2019-06-01/network/connectionmonitors.go | 82 + .../network/mgmt/2019-06-01/network/models.go | 29 + .../network/networkapi/interfaces.go | 2 + .../mgmt/2019-06-01/network/servicetags.go | 4 +- .../2019-07-01/network/applicationgateways.go | 1469 + .../network/applicationsecuritygroups.go | 578 + .../network/availabledelegations.go | 154 + .../network/availableendpointservices.go | 154 + .../network/availableprivateendpointtypes.go | 271 + .../availableresourcegroupdelegations.go | 158 + .../network/azurefirewallfqdntags.go | 151 + .../mgmt/2019-07-01/network/azurefirewalls.go | 579 + .../mgmt/2019-07-01/network/bastionhosts.go | 498 + .../network/bgpservicecommunities.go | 151 + .../network/mgmt/2019-07-01/network/client.go | 210 + .../2019-07-01/network/connectionmonitors.go | 685 + .../2019-07-01/network/ddoscustompolicies.go | 355 + .../2019-07-01/network/ddosprotectionplans.go | 581 + .../network/defaultsecurityrules.go | 235 + .../expressroutecircuitauthorizations.go | 400 + .../network/expressroutecircuitconnections.go | 407 + .../network/expressroutecircuitpeerings.go | 409 + .../network/expressroutecircuits.go | 979 + .../network/expressrouteconnections.go | 366 + .../expressroutecrossconnectionpeerings.go | 411 + .../network/expressroutecrossconnections.go | 749 + .../network/expressroutegateways.go | 431 + .../2019-07-01/network/expressroutelinks.go | 235 + .../2019-07-01/network/expressrouteports.go | 578 + .../network/expressrouteportslocations.go | 228 + .../network/expressrouteserviceproviders.go | 152 + .../2019-07-01/network/firewallpolicies.go | 582 + .../network/firewallpolicyrulegroups.go | 409 + .../network/hubvirtualnetworkconnections.go | 236 + .../2019-07-01/network/inboundnatrules.go | 420 + .../network/interfaceipconfigurations.go | 235 + .../network/interfaceloadbalancers.go | 156 + .../2019-07-01/network/interfacesgroup.go | 1265 + .../network/interfacetapconfigurations.go | 432 + .../loadbalancerbackendaddresspools.go | 236 + .../loadbalancerfrontendipconfigurations.go | 237 + .../network/loadbalancerloadbalancingrules.go | 236 + .../network/loadbalancernetworkinterfaces.go | 157 + .../network/loadbalanceroutboundrules.go | 235 + .../2019-07-01/network/loadbalancerprobes.go | 235 + .../mgmt/2019-07-01/network/loadbalancers.go | 581 + .../network/localnetworkgateways.go | 494 + .../network/mgmt/2019-07-01/network/models.go | 34682 +++++ .../mgmt/2019-07-01/network/natgateways.go | 581 + .../network/networkapi/interfaces.go | 941 + .../mgmt/2019-07-01/network/operations.go | 147 + .../mgmt/2019-07-01/network/p2svpngateways.go | 736 + .../network/p2svpnserverconfigurations.go | 397 + .../mgmt/2019-07-01/network/packetcaptures.go | 524 + .../peerexpressroutecircuitconnections.go | 241 + .../2019-07-01/network/privateendpoints.go | 501 + .../2019-07-01/network/privatelinkservices.go | 1053 + .../mgmt/2019-07-01/network/profiles.go | 581 + .../2019-07-01/network/publicipaddresses.go | 920 + .../2019-07-01/network/publicipprefixes.go | 581 + .../network/resourcenavigationlinks.go | 120 + .../2019-07-01/network/routefilterrules.go | 490 + .../mgmt/2019-07-01/network/routefilters.go | 585 + .../network/mgmt/2019-07-01/network/routes.go | 395 + .../mgmt/2019-07-01/network/routetables.go | 581 + .../mgmt/2019-07-01/network/securitygroups.go | 581 + .../mgmt/2019-07-01/network/securityrules.go | 395 + .../network/serviceassociationlinks.go | 120 + .../network/serviceendpointpolicies.go | 581 + .../serviceendpointpolicydefinitions.go | 397 + .../mgmt/2019-07-01/network/servicetags.go | 118 + .../mgmt/2019-07-01/network/subnets.go | 563 + .../network/mgmt/2019-07-01/network/usages.go | 161 + .../mgmt/2019-07-01/network/version.go | 30 + .../mgmt/2019-07-01/network/virtualhubs.go | 578 + .../virtualnetworkgatewayconnections.go | 907 + .../network/virtualnetworkgateways.go | 1794 + .../network/virtualnetworkpeerings.go | 396 + .../2019-07-01/network/virtualnetworks.go | 775 + .../2019-07-01/network/virtualnetworktaps.go | 609 + .../network/virtualrouterpeerings.go | 493 + .../mgmt/2019-07-01/network/virtualrouters.go | 594 + .../mgmt/2019-07-01/network/virtualwans.go | 578 + .../mgmt/2019-07-01/network/vpnconnections.go | 397 + .../mgmt/2019-07-01/network/vpngateways.go | 655 + .../2019-07-01/network/vpnlinkconnections.go | 158 + .../network/vpnsitelinkconnections.go | 122 + .../mgmt/2019-07-01/network/vpnsitelinks.go | 235 + .../mgmt/2019-07-01/network/vpnsites.go | 578 + .../network/vpnsitesconfiguration.go | 127 + .../mgmt/2019-07-01/network/watchers.go | 1552 + .../network/webapplicationfirewallpolicies.go | 517 + .../2019-08-01/network/applicationgateways.go | 1469 + .../network/applicationsecuritygroups.go | 578 + .../network/availabledelegations.go | 154 + .../network/availableendpointservices.go | 154 + .../network/availableprivateendpointtypes.go | 271 + .../availableresourcegroupdelegations.go | 158 + .../network/availableservicealiases.go | 269 + .../network/azurefirewallfqdntags.go | 151 + .../mgmt/2019-08-01/network/azurefirewalls.go | 579 + .../mgmt/2019-08-01/network/bastionhosts.go | 498 + .../network/bgpservicecommunities.go | 151 + .../network/mgmt/2019-08-01/network/client.go | 291 + .../2019-08-01/network/connectionmonitors.go | 685 + .../2019-08-01/network/ddoscustompolicies.go | 355 + .../2019-08-01/network/ddosprotectionplans.go | 581 + .../network/defaultsecurityrules.go | 235 + .../expressroutecircuitauthorizations.go | 400 + .../network/expressroutecircuitconnections.go | 407 + .../network/expressroutecircuitpeerings.go | 409 + .../network/expressroutecircuits.go | 979 + .../network/expressrouteconnections.go | 366 + .../expressroutecrossconnectionpeerings.go | 411 + .../network/expressroutecrossconnections.go | 749 + .../network/expressroutegateways.go | 431 + .../2019-08-01/network/expressroutelinks.go | 235 + .../2019-08-01/network/expressrouteports.go | 578 + .../network/expressrouteportslocations.go | 228 + .../network/expressrouteserviceproviders.go | 152 + .../2019-08-01/network/firewallpolicies.go | 582 + .../network/firewallpolicyrulegroups.go | 409 + .../network/hubvirtualnetworkconnections.go | 236 + .../2019-08-01/network/inboundnatrules.go | 420 + .../network/interfaceipconfigurations.go | 235 + .../network/interfaceloadbalancers.go | 156 + .../2019-08-01/network/interfacesgroup.go | 1265 + .../network/interfacetapconfigurations.go | 432 + .../loadbalancerbackendaddresspools.go | 236 + .../loadbalancerfrontendipconfigurations.go | 237 + .../network/loadbalancerloadbalancingrules.go | 236 + .../network/loadbalancernetworkinterfaces.go | 157 + .../network/loadbalanceroutboundrules.go | 235 + .../2019-08-01/network/loadbalancerprobes.go | 235 + .../mgmt/2019-08-01/network/loadbalancers.go | 581 + .../network/localnetworkgateways.go | 494 + .../network/mgmt/2019-08-01/network/models.go | 34965 +++++ .../mgmt/2019-08-01/network/natgateways.go | 581 + .../network/networkapi/interfaces.go | 960 + .../mgmt/2019-08-01/network/operations.go | 147 + .../mgmt/2019-08-01/network/p2svpngateways.go | 817 + .../mgmt/2019-08-01/network/packetcaptures.go | 524 + .../peerexpressroutecircuitconnections.go | 241 + .../2019-08-01/network/privateendpoints.go | 501 + .../2019-08-01/network/privatelinkservices.go | 1053 + .../mgmt/2019-08-01/network/profiles.go | 581 + .../2019-08-01/network/publicipaddresses.go | 920 + .../2019-08-01/network/publicipprefixes.go | 581 + .../network/resourcenavigationlinks.go | 120 + .../2019-08-01/network/routefilterrules.go | 490 + .../mgmt/2019-08-01/network/routefilters.go | 585 + .../network/mgmt/2019-08-01/network/routes.go | 395 + .../mgmt/2019-08-01/network/routetables.go | 581 + .../mgmt/2019-08-01/network/securitygroups.go | 581 + .../mgmt/2019-08-01/network/securityrules.go | 395 + .../network/serviceassociationlinks.go | 120 + .../network/serviceendpointpolicies.go | 581 + .../serviceendpointpolicydefinitions.go | 397 + .../mgmt/2019-08-01/network/servicetags.go | 118 + .../mgmt/2019-08-01/network/subnets.go | 563 + .../network/mgmt/2019-08-01/network/usages.go | 161 + .../mgmt/2019-08-01/network/version.go | 30 + .../mgmt/2019-08-01/network/virtualhubs.go | 578 + .../virtualnetworkgatewayconnections.go | 907 + .../network/virtualnetworkgateways.go | 1794 + .../network/virtualnetworkpeerings.go | 396 + .../2019-08-01/network/virtualnetworks.go | 785 + .../2019-08-01/network/virtualnetworktaps.go | 609 + .../network/virtualrouterpeerings.go | 493 + .../mgmt/2019-08-01/network/virtualrouters.go | 594 + .../mgmt/2019-08-01/network/virtualwans.go | 578 + .../mgmt/2019-08-01/network/vpnconnections.go | 397 + .../mgmt/2019-08-01/network/vpngateways.go | 655 + .../2019-08-01/network/vpnlinkconnections.go | 158 + .../network/vpnserverconfigurations.go | 579 + ...rconfigurationsassociatedwithvirtualwan.go | 120 + .../network/vpnsitelinkconnections.go | 122 + .../mgmt/2019-08-01/network/vpnsitelinks.go | 235 + .../mgmt/2019-08-01/network/vpnsites.go | 578 + .../network/vpnsitesconfiguration.go | 127 + .../mgmt/2019-08-01/network/watchers.go | 1552 + .../network/webapplicationfirewallpolicies.go | 530 + .../2015-03-20/operationalinsights/models.go | 75 +- .../operationalinsightsapi/interfaces.go | 3 - .../operationalinsights/savedsearches.go | 87 - .../operationalinsights/workspaces.go | 185 +- .../mgmt/2019-10-01/policyinsights}/client.go | 12 +- .../mgmt/2019-10-01/policyinsights/models.go | 1777 + .../2019-10-01/policyinsights/operations.go | 109 + .../2019-10-01/policyinsights/policyevents.go | 1049 + .../policyinsightsapi/interfaces.go | 108 + .../2019-10-01/policyinsights/policystates.go | 1813 + .../policyinsights/policytrackedresources.go | 557 + .../2019-10-01/policyinsights/remediations.go | 2308 + .../mgmt/2019-10-01/policyinsights/version.go | 30 + services/preview/README.md | 5 - .../appconfigurationapi/interfaces.go | 1 + .../appconfiguration/configurationstores.go | 90 + .../appconfiguration/models.go | 39 + .../appplatform/appplatformapi/interfaces.go | 87 + .../2019-05-01-preview/appplatform/apps.go | 598 + .../appplatform/bindings.go | 498 + .../2019-05-01-preview/appplatform}/client.go | 10 +- .../appplatform/deployments.go | 971 + .../2019-05-01-preview/appplatform/models.go | 1681 + .../appplatform/operations.go | 147 + .../appplatform/services.go | 1006 + .../2019-05-01-preview/appplatform/version.go | 30 + .../automation/dsccompilationjob.go | 2 +- .../automation/dscconfiguration.go | 2 +- .../automation/dsccompilationjob.go | 4 +- .../automation/dscconfiguration.go | 2 +- .../2018-01-15-preview/automation/dscnode.go | 2 +- .../automation/dscnodeconfiguration.go | 2 +- .../automation/dsccompilationjob.go | 4 +- .../automation/dscconfiguration.go | 2 +- .../2018-06-30-preview/automation/dscnode.go | 2 +- .../automation/dscnodeconfiguration.go | 2 +- .../v3.0/luis/authoring}/apps.go | 783 +- .../luis/authoring/authoringapi/interfaces.go | 253 + .../v3.0/luis/authoring/azureaccounts.go | 352 + .../v3.0/luis/authoring}/client.go | 18 +- .../v3.0/luis/authoring}/examples.go | 123 +- .../v3.0/luis/authoring/features.go | 969 + .../v3.0/luis/authoring}/model.go | 4443 +- .../v3.0/luis/authoring}/models.go | 667 +- .../v3.0/luis/authoring}/pattern.go | 259 +- .../v3.0/luis/authoring}/permissions.go | 111 +- .../v3.0/luis/authoring/settings.go | 195 + .../v3.0/luis/authoring}/train.go | 57 +- .../v3.0/luis/authoring/version.go | 30 + .../v3.0/luis/authoring}/versions.go | 225 +- .../compute/virtualmachines.go | 2 +- .../containerservice/agentpools.go | 621 + .../containerservice/client.go | 51 + .../containerserviceapi/interfaces.go | 84 + .../containerservice/containerservices.go | 622 + .../containerservice/managedclusters.go | 1201 + .../containerservice/models.go | 3307 + .../openshiftmanagedclusters.go | 617 + .../containerservice/operations.go | 109 + .../containerservice/version.go | 30 + .../datafactory/activityruns.go | 8 +- .../2017-09-01-preview/datafactory/models.go | 2 + .../2015-10-01-preview/catalog/models.go | 24 +- .../datamigration/models.go | 4 +- .../datamigration/models.go | 16 +- .../2018-11-01-preview/datashare/models.go | 893 +- .../devspaces/containerhostmappings.go | 118 - .../devspaces/controllers.go | 727 - .../devspaces/devspacesapi/interfaces.go | 50 - .../2018-06-01-preview/devspaces/models.go | 846 - .../2018-06-01-preview/devspaces/version.go | 30 - .../devspaces/containerhostmappings.go | 129 - .../devspaces/controllers.go | 726 - .../devspaces/devspacesapi/interfaces.go | 50 - .../2019-01-01-preview/devspaces/models.go | 824 - .../2019-01-01-preview/devspaces/version.go | 30 - .../2018-01-01-preview/eventhub/models.go | 58 + .../frontdoor/backendpools.go | 457 - .../frontdoor/frontdoorapi/interfaces.go | 42 - .../frontdoor/frontendendpoints.go | 193 - .../frontdoor/healthprobesettings.go | 457 - .../frontdoor/loadbalancingsettings.go | 457 - .../2018-08-01-preview/frontdoor/models.go | 856 +- .../frontdoor/routingrules.go | 457 - .../mgmt/2019-04-01/frontdoor/backendpools.go | 457 - .../frontdoor/healthprobesettings.go | 457 - .../frontdoor/loadbalancingsettings.go | 457 - .../mgmt/2019-04-01/frontdoor/routingrules.go | 457 - .../mgmt/2019-05-01/frontdoor/backendpools.go | 457 - .../frontdoor/healthprobesettings.go | 457 - .../frontdoor/loadbalancingsettings.go | 457 - .../mgmt/2019-05-01/frontdoor/routingrules.go | 457 - .../2015-03-01-preview/hdinsight/models.go | 34 +- .../2018-06-01-preview/hdinsight/models.go | 34 +- .../logic/logicapi/interfaces.go | 1 + .../mgmt/2018-07-01-preview/logic/models.go | 2 +- .../2018-07-01-preview/logic/workflowruns.go | 78 + .../logic/mgmt/2019-05-01/logic/client.go | 51 + .../logic/integrationaccountagreements.go | 921 + .../logic/integrationaccountassemblies.go | 445 + .../integrationaccountbatchconfigurations.go | 369 + .../logic/integrationaccountcertificates.go | 412 + .../logic/integrationaccountmaps.go | 491 + .../logic/integrationaccountpartners.go | 492 + .../2019-05-01/logic/integrationaccounts.go | 919 + .../logic/integrationaccountschemas.go | 491 + .../logic/integrationaccountsessions.go | 410 + ...nserviceenvironmentmanagedapioperations.go | 160 + ...ntegrationserviceenvironmentmanagedapis.go | 394 + ...egrationserviceenvironmentnetworkhealth.go | 120 + .../logic/integrationserviceenvironments.go | 663 + .../integrationserviceenvironmentskus.go | 158 + .../2019-05-01/logic/logicapi/interfaces.go | 292 + .../logic/mgmt/2019-05-01/logic/models.go | 8143 + .../logic/mgmt/2019-05-01/logic/operations.go | 147 + .../logic/mgmt/2019-05-01/logic/version.go | 30 + .../logic/workflowrunactionrepetitions.go | 289 + ...lowrunactionrepetitionsrequesthistories.go | 249 + .../workflowrunactionrequesthistories.go | 245 + .../2019-05-01/logic/workflowrunactions.go | 328 + .../workflowrunactionscoperepetitions.go | 207 + .../2019-05-01/logic/workflowrunoperations.go | 122 + .../mgmt/2019-05-01/logic/workflowruns.go | 322 + .../logic/mgmt/2019-05-01/logic/workflows.go | 1300 + .../logic/workflowtriggerhistories.go | 330 + .../mgmt/2019-05-01/logic/workflowtriggers.go | 646 + .../mgmt/2019-05-01/logic/workflowversions.go | 239 + .../logic/workflowversiontriggers.go | 128 + .../2018-03-01-preview/services/client.go | 51 - .../services/machinelearningcompute.go | 559 - .../2018-03-01-preview/services/models.go | 1759 - .../services/servicesapi/interfaces.go | 57 - .../2018-03-01-preview/services/version.go | 30 - .../2018-03-01-preview/services/workspaces.go | 741 - .../maintenance/applyupdates.go | 377 + .../2018-06-01-preview/maintenance/client.go | 51 + .../maintenance/configurationassignments.go | 553 + .../maintenance/configurations.go | 427 + .../maintenance/maintenanceapi/interfaces.go | 71 + .../2018-06-01-preview/maintenance/models.go | 581 + .../maintenance/operations.go | 109 + .../2018-06-01-preview/maintenance/updates.go | 207 + .../2018-06-01-preview/maintenance/version.go | 30 + .../managednetwork/models.go | 329 +- .../mgmt/2017-12-01-preview/mysql/models.go | 151 + .../mysql/mysqlapi/interfaces.go | 10 + .../mysql/serveradministrators.go | 371 + .../operationalinsights/models.go | 6 +- .../mgmt/2019-03-01-preview/peering/client.go | 51 - .../mgmt/2019-08-01-preview/peering/client.go | 4 +- .../mgmt/2019-09-01-preview/peering/client.go | 133 + .../peering/legacypeerings.go | 4 +- .../peering/locations.go | 18 +- .../peering/models.go | 1112 +- .../peering/operations.go | 4 +- .../peering/peerasns.go | 10 +- .../peering/peeringapi/interfaces.go | 47 +- .../peering/peerings.go | 14 +- .../2019-09-01-preview/peering/prefixes.go | 406 + .../peering/servicelocations.go | 151 + .../peering/serviceproviders.go | 151 + .../2019-09-01-preview/peering/services.go | 585 + .../peering/version.go | 2 +- .../2015-11-01-preview/portal/dashboards.go | 611 - .../mgmt/2015-11-01-preview/portal/models.go | 615 - .../portal/portalapi/interfaces.go | 43 - .../mgmt/2015-11-01-preview/portal/version.go | 30 - .../2017-12-01-preview/postgresql/models.go | 151 + .../postgresql/postgresqlapi/interfaces.go | 10 + .../postgresql/serveradministrators.go | 371 + .../mgmt/2019-04-01/reservations/client.go | 3 +- .../mgmt/2019-04-01/reservations/models.go | 155 +- .../mgmt/2019-04-01/reservations/order.go | 10 +- .../reservationsapi/interfaces.go | 2 +- .../managedapplications/models.go | 2 +- .../security/mgmt/v1.0/security/models.go | 1014 +- .../v1.0/security/securityapi/interfaces.go | 9 + .../mgmt/v1.0/security/subassessments.go | 348 + .../security/mgmt/v2.0/security/models.go | 1014 +- .../v2.0/security/securityapi/interfaces.go | 9 + .../mgmt/v2.0/security/subassessments.go | 348 + .../v3.0/security/devicesecuritygroups.go | 386 + .../mgmt/v3.0/security/iotsecuritysolution.go | 297 +- ...ics.go => iotsecuritysolutionanalytics.go} | 88 +- .../v3.0/security/iotsecuritysolutions.go | 163 - ...curitysolutionsanalyticsaggregatedalert.go | 199 +- ...uritysolutionsanalyticsaggregatedalerts.go | 175 - ...ecuritysolutionsanalyticsrecommendation.go | 176 +- ...curitysolutionsanalyticsrecommendations.go | 175 - .../iotsecuritysolutionsresourcegroup.go | 173 - .../security/mgmt/v3.0/security/models.go | 1735 +- .../v3.0/security/securityapi/interfaces.go | 67 +- .../mgmt/v3.0/security/subassessments.go | 348 + .../securityinsight/alertrules.go | 10 +- .../securityinsight/alertruletemplates.go | 270 + .../securityinsight/bookmarkrelations.go | 490 + .../securityinsight/bookmarks.go | 6 +- .../securityinsight/casecomments.go | 149 + .../securityinsight/caserelations.go | 490 + .../securityinsight/cases.go | 132 +- .../securityinsight/comments.go | 194 + .../securityinsight/entities.go | 99 + .../securityinsight/models.go | 9306 +- .../securityinsightapi/interfaces.go | 50 +- .../2019-03-01/servicefabric/applications.go | 441 - .../servicefabric/applicationtypes.go | 359 - .../servicefabric/applicationtypeversions.go | 375 - .../mgmt/2019-03-01/servicefabric/client.go | 51 - .../mgmt/2019-03-01/servicefabric/clusters.go | 557 - .../servicefabric/clusterversions.go | 349 - .../mgmt/2019-03-01/servicefabric/models.go | 4239 - .../servicefabricapi/interfaces.go | 95 - .../mgmt/2019-03-01/servicefabric/services.go | 451 - .../mgmt/2019-03-01/servicefabric/version.go | 30 - .../sql/databaseblobauditingpolicies.go | 118 + .../sql/encryptionprotectors.go | 79 + .../sql/mgmt/2015-05-01-preview/sql/models.go | 185 +- .../sql/sqlapi/interfaces.go | 2 + .../sql/databaseblobauditingpolicies.go | 118 + .../sql/encryptionprotectors.go | 79 + .../sql/mgmt/2017-03-01-preview/sql/models.go | 332 +- .../sql/serverblobauditingpolicies.go | 116 + .../sql/sqlapi/interfaces.go | 3 + .../managedinstanceencryptionprotectors.go | 78 + .../sql/mgmt/2017-10-01-preview/sql/models.go | 127 +- .../sql/sqlapi/interfaces.go | 1 + .../mgmt/2018-06-01-preview/sql}/client.go | 11 +- .../mgmt/2018-06-01-preview/sql/databases.go | 122 + .../sql/databasesecurityalertpolicies.go | 327 + .../2018-06-01-preview/sql/elasticpools.go | 122 + .../2018-06-01-preview/sql/instancepools.go | 596 + .../sql/manageddatabaserestoredetails.go | 125 + .../sql/manageddatabases.go | 573 + .../sql/manageddatabasesensitivitylabels.go | 732 + .../sql/managedinstances.go | 708 + ...managedinstancevulnerabilityassessments.go | 408 + .../sql/mgmt/2018-06-01-preview/sql/models.go | 3115 + .../sql/privateendpointconnections.go | 410 + .../sql/servervulnerabilityassessments.go | 407 + .../sql/sqlapi/interfaces.go | 141 + .../sql/mgmt/2018-06-01-preview/sql/usages.go | 163 + .../mgmt/2018-06-01-preview/sql/version.go | 30 + .../sqlvirtualmachine/models.go | 41 + .../sqlvirtualmachineapi/interfaces.go | 1 + .../sqlvirtualmachine/sqlvirtualmachines.go | 116 + .../2019-08-01-preview/storagecache/caches.go | 951 + .../2019-08-01-preview/storagecache/client.go | 52 + .../2019-08-01-preview/storagecache/models.go | 1480 + .../storagecache/operations.go | 148 + .../2019-08-01-preview/storagecache/skus.go | 152 + .../storagecacheapi/interfaces.go | 71 + .../storagecache/storagetargets.go | 543 + .../storagecache/usagemodels.go | 152 + .../storagecache/version.go | 30 + .../2016-12-01/backup/backupapi/interfaces.go | 62 - .../2016-12-01/backup/jobcancellations.go | 120 - .../2016-12-01/backup/joboperationresults.go | 122 - .../mgmt/2016-12-01/backup/models.go | 16905 +-- .../backup/protecteditemoperationresults.go | 127 - .../mgmt/2016-12-01/backup/protecteditems.go | 302 - .../2016-12-01/backup/protectionpolicies.go | 164 - .../protectionpolicyoperationresults.go | 123 - .../mgmt/2016-12-01/backup/recoverypoints.go | 253 - .../2016-12-01/backup/resourcevaultconfigs.go | 198 - .../mgmt/2016-12-01/backup/restores.go | 130 - .../2017-07-01/backup/backupapi/interfaces.go | 198 +- .../backup/exportjobsoperationresults.go | 2 +- .../2017-07-01/backup/jobcancellations.go | 2 +- .../mgmt/2017-07-01/backup/jobdetails.go | 2 +- .../2017-07-01/backup/joboperationresults.go | 3 +- .../mgmt/2017-07-01/backup/jobs.go | 2 +- .../mgmt/2017-07-01/backup/jobsgroup.go | 2 +- .../mgmt/2017-07-01/backup/models.go | 820 +- .../mgmt/2017-07-01/backup/operation.go | 2 +- .../mgmt/2017-07-01/backup/policies.go | 2 +- .../backup/protecteditemoperationresults.go | 2 +- .../mgmt/2017-07-01/backup/protecteditems.go | 234 +- .../2017-07-01/backup/protecteditemsgroup.go | 234 +- .../2017-07-01/backup/protectionpolicies.go | 4 +- .../protectionpolicyoperationresults.go | 2 +- .../mgmt/2017-07-01/backup/recoverypoints.go | 4 +- .../2017-07-01/backup/resourcevaultconfigs.go | 4 +- .../mgmt/2017-07-01/backup/restores.go | 2 +- services/resources/deployment.go | 63 - .../mgmt/2015-11-01/resources/deployments.go | 72 + .../mgmt/2015-11-01/resources/models.go | 37 + .../resources/resourcesapi/interfaces.go | 1 + .../mgmt/2016-02-01/resources/deployments.go | 72 + .../mgmt/2016-02-01/resources/models.go | 37 + .../resources/resourcesapi/interfaces.go | 1 + .../mgmt/2016-07-01/resources/deployments.go | 72 + .../mgmt/2016-07-01/resources/models.go | 37 + .../resources/resourcesapi/interfaces.go | 1 + .../mgmt/2016-09-01/resources/deployments.go | 72 + .../mgmt/2016-09-01/resources/models.go | 37 + .../resources/resourcesapi/interfaces.go | 1 + .../mgmt/2017-05-10/resources/deployments.go | 72 + .../mgmt/2017-05-10/resources/models.go | 37 + .../resources/resourcesapi/interfaces.go | 1 + .../mgmt/2018-02-01/resources/deployments.go | 72 + .../mgmt/2018-02-01/resources/models.go | 37 + .../resources/resourcesapi/interfaces.go | 1 + .../mgmt/2018-05-01/resources/deployments.go | 72 + .../mgmt/2018-05-01/resources/models.go | 37 + .../resources/resourcesapi/interfaces.go | 1 + .../mgmt/2019-03-01/resources/deployments.go | 72 + .../mgmt/2019-03-01/resources/models.go | 37 + .../resources/resourcesapi/interfaces.go | 1 + .../mgmt/2019-05-01/resources/deployments.go | 72 + .../mgmt/2019-05-01/resources/models.go | 37 + .../resources/resourcesapi/interfaces.go | 1 + .../mgmt/2019-06-01/subscriptions}/client.go | 14 +- .../mgmt/2019-06-01/subscriptions/models.go | 594 + .../2019-06-01/subscriptions/operations.go | 149 + .../2019-06-01/subscriptions/subscriptions.go | 298 + .../subscriptionsapi/interfaces.go | 46 + .../mgmt/2019-06-01/subscriptions/tenants.go | 149 + .../mgmt/2019-06-01/subscriptions/version.go | 30 + .../mgmt/2019-07-01/features/client.go | 51 + .../features/deploymentoperations.go | 1112 + .../mgmt/2019-07-01/features/deployments.go | 4022 + .../features/featuresapi/interfaces.go | 152 + .../mgmt/2019-07-01/features/models.go | 2504 + .../mgmt/2019-07-01/features}/operations.go | 44 +- .../mgmt/2019-07-01/features/providers.go | 588 + .../2019-07-01/features/resourcegroups.go | 676 + .../mgmt/2019-07-01/features/resources.go | 1352 + .../mgmt/2019-07-01/features/tags.go | 454 + .../mgmt/2019-07-01/features/version.go | 30 + .../mgmt/2017-04-01/servicebus/models.go | 148 +- .../mgmt/2017-04-01/servicebus/namespaces.go | 125 + .../mgmt/2017-04-01/servicebus/rules.go | 11 +- .../servicebus/servicebusapi/interfaces.go | 1 + .../sql/backuplongtermretentionpolicies.go | 298 + .../sql/backuplongtermretentionvaults.go | 292 + .../sql/mgmt/2014-04-01/sql/capabilities.go | 118 + .../mgmt/2014-04-01/sql/databaseadvisors.go | 292 + .../sql/databaseconnectionpolicies.go | 212 + services/sql/mgmt/2014-04-01/sql/databases.go | 162 + .../sql/databasetableauditingpolicies.go | 292 + .../sql/mgmt/2014-04-01/sql/databaseusages.go | 123 + .../2014-04-01/sql/datamaskingpolicies.go | 210 + .../mgmt/2014-04-01/sql/datamaskingrules.go | 223 + .../sql/disasterrecoveryconfigurations.go | 520 + .../sql/mgmt/2014-04-01/sql/elasticpools.go | 162 + .../sql/mgmt/2014-04-01/sql/extensions.go | 203 + .../mgmt/2014-04-01/sql/geobackuppolicies.go | 297 + services/sql/mgmt/2014-04-01/sql/models.go | 5355 +- .../sql/mgmt/2014-04-01/sql/operations.go | 111 + services/sql/mgmt/2014-04-01/sql/queries.go | 123 + .../mgmt/2014-04-01/sql/querystatistics.go | 125 + .../sql/mgmt/2014-04-01/sql/querytexts.go | 125 + .../2014-04-01/sql/recoverabledatabases.go | 201 + .../sql/restorabledroppeddatabases.go | 202 + .../sql/mgmt/2014-04-01/sql/restorepoints.go | 123 + .../sql/mgmt/2014-04-01/sql/serveradvisors.go | 371 + .../sql/serverazureadadministrators.go | 374 + .../sql/servercommunicationlinks.go | 373 + .../sql/serverconnectionpolicies.go | 206 + services/sql/mgmt/2014-04-01/sql/servers.go | 466 + .../sql/servertableauditingpolicies.go | 285 + .../sql/mgmt/2014-04-01/sql/serverusages.go | 121 + .../mgmt/2014-04-01/sql/serviceobjectives.go | 201 + .../mgmt/2014-04-01/sql/sqlapi/interfaces.go | 243 +- ...transparentdataencryptionconfigurations.go | 126 + .../2019-10-31/storagedatalake}/client.go | 30 +- .../2019-10-31/storagedatalake/filesystem.go | 658 + .../2019-10-31/storagedatalake/models.go | 164 + .../2019-10-31/storagedatalake/path.go | 1431 + .../storagedatalakeapi/interfaces.go | 49 + .../2019-10-31/storagedatalake/version.go | 30 + .../mgmt/2019-04-01/storage/accounts.go | 74 +- .../mgmt/2019-04-01/storage/fileservices.go | 32 +- .../mgmt/2019-04-01/storage/fileshares.go | 48 +- .../storage/mgmt/2019-04-01/storage/models.go | 378 +- .../storage/storageapi/interfaces.go | 8 +- .../web/mgmt/2016-09-01/web/diagnostics.go | 21 +- .../web/mgmt/2018-02-01/web/diagnostics.go | 21 +- services/web/mgmt/2019-08-01/web/apps.go | 33398 ++++ .../web/appservicecertificateorders.go | 1874 + .../2019-08-01/web/appserviceenvironments.go | 4729 + .../mgmt/2019-08-01/web/appserviceplans.go | 2897 + .../web/certificateregistrationprovider.go | 148 + .../web/mgmt/2019-08-01/web/certificates.go | 621 + services/web/mgmt/2019-08-01/web/client.go | 1596 + .../web/mgmt/2019-08-01/web/deletedwebapps.go | 338 + .../web/mgmt/2019-08-01/web/diagnostics.go | 2506 + .../web/domainregistrationprovider.go | 147 + services/web/mgmt/2019-08-01/web/domains.go | 1507 + services/web/mgmt/2019-08-01/web/models.go | 23210 +++ services/web/mgmt/2019-08-01/web/provider.go | 370 + .../mgmt/2019-08-01/web/recommendations.go | 1547 + .../2019-08-01/web/resourcehealthmetadata.go | 693 + .../mgmt/2019-08-01/web/topleveldomains.go | 342 + .../mgmt/2019-08-01/web}/version.go | 4 +- .../mgmt/2019-08-01/web/webapi/interfaces.go | 647 + storage/blockblob.go | 41 + storage/blockblob_test.go | 15 + .../BlockBlobSuite/TestPutBlockFromURL.yaml | 109 + swagger_to_sdk_config.json | 2 +- tools/major-updater/cmd/afterscripts.go | 54 +- tools/major-updater/cmd/autorest.go | 54 +- tools/major-updater/cmd/work.go | 17 +- tools/profileBuilder/cmd/latest.go | 2 + tools/profileBuilder/cmd/list.go | 1 + 1062 files changed, 460531 insertions(+), 191424 deletions(-) delete mode 100644 .travis.yml delete mode 100644 profiles/latest/appinsights/insights/models.go delete mode 100644 profiles/latest/cognitiveservices/anomalyfinder/models.go delete mode 100644 profiles/latest/cognitiveservices/luis/programmatic/models.go rename profiles/latest/{edgegateway/mgmt/edgegateway/edgegatewayapi => databoxedge/mgmt/databoxedge/databoxedgeapi}/models.go (88%) rename profiles/latest/{edgegateway/mgmt/edgegateway => databoxedge/mgmt/databoxedge}/models.go (91%) create mode 100644 profiles/latest/frontdoor/mgmt/frontdoor/frontdoorapi/models.go create mode 100644 profiles/latest/frontdoor/mgmt/frontdoor/models.go rename profiles/{preview/cognitiveservices/anomalyfinder/anomalyfinderapi => latest/healthcareapis/mgmt/healthcareapis/healthcareapisapi}/models.go (68%) create mode 100644 profiles/latest/healthcareapis/mgmt/healthcareapis/models.go delete mode 100644 profiles/latest/mobileengagement/mgmt/mobileengagement/models.go delete mode 100644 profiles/preview/appinsights/insights/models.go delete mode 100644 profiles/preview/cognitiveservices/anomalyfinder/models.go rename profiles/preview/{edgegateway/mgmt/edgegateway/edgegatewayapi => databoxedge/mgmt/databoxedge/databoxedgeapi}/models.go (88%) rename profiles/preview/{edgegateway/mgmt/edgegateway => databoxedge/mgmt/databoxedge}/models.go (91%) create mode 100644 profiles/preview/frontdoor/mgmt/frontdoor/frontdoorapi/models.go create mode 100644 profiles/preview/frontdoor/mgmt/frontdoor/models.go rename profiles/{latest/cognitiveservices/anomalyfinder/anomalyfinderapi => preview/healthcareapis/mgmt/healthcareapis/healthcareapisapi}/models.go (68%) create mode 100644 profiles/preview/healthcareapis/mgmt/healthcareapis/models.go delete mode 100644 profiles/preview/mobileengagement/mgmt/mobileengagement/models.go rename profiles/preview/preview/{devspaces/mgmt/devspaces/devspacesapi => appplatform/mgmt/appplatform/appplatformapi}/models.go (73%) create mode 100644 profiles/preview/preview/appplatform/mgmt/appplatform/models.go create mode 100644 profiles/preview/preview/cognitiveservices/luis/authoring/authoringapi/models.go rename profiles/preview/{cognitiveservices/luis/programmatic => preview/cognitiveservices/luis/authoring}/models.go (78%) delete mode 100644 profiles/preview/preview/devspaces/mgmt/devspaces/models.go delete mode 100644 profiles/preview/preview/machinelearning/mgmt/services/models.go create mode 100644 profiles/preview/preview/maintenance/mgmt/maintenance/maintenanceapi/models.go create mode 100644 profiles/preview/preview/maintenance/mgmt/maintenance/models.go create mode 100644 profiles/preview/preview/storagecache/mgmt/storagecache/models.go rename profiles/preview/preview/{machinelearning/mgmt/services/servicesapi => storagecache/mgmt/storagecache/storagecacheapi}/models.go (72%) delete mode 100644 services/appinsights/v1/insights/client.go delete mode 100644 services/appinsights/v1/insights/events.go delete mode 100644 services/appinsights/v1/insights/metrics.go delete mode 100644 services/appinsights/v1/insights/models.go delete mode 100644 services/appinsights/v1/insights/query.go delete mode 100644 services/batch/2015-12-01.2.2/batch/application.go delete mode 100644 services/batch/2015-12-01.2.2/batch/certificate.go delete mode 100644 services/batch/2015-12-01.2.2/batch/computenode.go delete mode 100644 services/batch/2015-12-01.2.2/batch/file.go delete mode 100644 services/batch/2015-12-01.2.2/batch/job.go delete mode 100644 services/batch/2015-12-01.2.2/batch/jobschedule.go delete mode 100644 services/batch/2015-12-01.2.2/batch/models.go delete mode 100644 services/batch/2015-12-01.2.2/batch/pool.go delete mode 100644 services/batch/2015-12-01.2.2/batch/task.go delete mode 100644 services/batch/2016-02-01.3.0/batch/account.go delete mode 100644 services/batch/2016-02-01.3.0/batch/application.go delete mode 100644 services/batch/2016-02-01.3.0/batch/certificate.go delete mode 100644 services/batch/2016-02-01.3.0/batch/computenode.go delete mode 100644 services/batch/2016-02-01.3.0/batch/file.go delete mode 100644 services/batch/2016-02-01.3.0/batch/job.go delete mode 100644 services/batch/2016-02-01.3.0/batch/jobschedule.go delete mode 100644 services/batch/2016-02-01.3.0/batch/models.go delete mode 100644 services/batch/2016-02-01.3.0/batch/pool.go delete mode 100644 services/batch/2016-02-01.3.0/batch/task.go delete mode 100644 services/batch/2016-07-01.3.1/batch/account.go delete mode 100644 services/batch/2016-07-01.3.1/batch/application.go delete mode 100644 services/batch/2016-07-01.3.1/batch/certificate.go delete mode 100644 services/batch/2016-07-01.3.1/batch/client.go delete mode 100644 services/batch/2016-07-01.3.1/batch/computenode.go delete mode 100644 services/batch/2016-07-01.3.1/batch/file.go delete mode 100644 services/batch/2016-07-01.3.1/batch/job.go delete mode 100644 services/batch/2016-07-01.3.1/batch/jobschedule.go delete mode 100644 services/batch/2016-07-01.3.1/batch/models.go delete mode 100644 services/batch/2016-07-01.3.1/batch/pool.go delete mode 100644 services/batch/2016-07-01.3.1/batch/task.go delete mode 100644 services/batch/2017-01-01.4.0/batch/account.go delete mode 100644 services/batch/2017-01-01.4.0/batch/application.go delete mode 100644 services/batch/2017-01-01.4.0/batch/certificate.go delete mode 100644 services/batch/2017-01-01.4.0/batch/computenode.go delete mode 100644 services/batch/2017-01-01.4.0/batch/file.go delete mode 100644 services/batch/2017-01-01.4.0/batch/job.go delete mode 100644 services/batch/2017-01-01.4.0/batch/jobschedule.go delete mode 100644 services/batch/2017-01-01.4.0/batch/models.go delete mode 100644 services/batch/2017-01-01.4.0/batch/pool.go delete mode 100644 services/batch/2017-01-01.4.0/batch/task.go delete mode 100644 services/batch/2017-01-01.4.0/batch/version.go delete mode 100644 services/batch/2017-06-01.5.1/batch/account.go delete mode 100644 services/batch/2017-06-01.5.1/batch/application.go delete mode 100644 services/batch/2017-06-01.5.1/batch/certificate.go delete mode 100644 services/batch/2017-06-01.5.1/batch/client.go delete mode 100644 services/batch/2017-06-01.5.1/batch/computenode.go delete mode 100644 services/batch/2017-06-01.5.1/batch/file.go delete mode 100644 services/batch/2017-06-01.5.1/batch/job.go delete mode 100644 services/batch/2017-06-01.5.1/batch/jobschedule.go delete mode 100644 services/batch/2017-06-01.5.1/batch/models.go delete mode 100644 services/batch/2017-06-01.5.1/batch/pool.go delete mode 100644 services/batch/2017-06-01.5.1/batch/task.go delete mode 100644 services/batch/2017-06-01.5.1/batch/version.go delete mode 100644 services/batch/2017-09-01.6.0/batch/account.go delete mode 100644 services/batch/2017-09-01.6.0/batch/application.go delete mode 100644 services/batch/2017-09-01.6.0/batch/certificate.go delete mode 100644 services/batch/2017-09-01.6.0/batch/client.go delete mode 100644 services/batch/2017-09-01.6.0/batch/computenode.go delete mode 100644 services/batch/2017-09-01.6.0/batch/file.go delete mode 100644 services/batch/2017-09-01.6.0/batch/job.go delete mode 100644 services/batch/2017-09-01.6.0/batch/jobschedule.go delete mode 100644 services/batch/2017-09-01.6.0/batch/models.go delete mode 100644 services/batch/2017-09-01.6.0/batch/pool.go delete mode 100644 services/batch/2017-09-01.6.0/batch/task.go delete mode 100644 services/batch/2017-09-01.6.0/batch/version.go delete mode 100644 services/classic/management/README.md delete mode 100644 services/classic/management/affinitygroup/client.go delete mode 100644 services/classic/management/affinitygroup/entities.go delete mode 100644 services/classic/management/client.go delete mode 100644 services/classic/management/errors.go delete mode 100644 services/classic/management/errors_test.go delete mode 100644 services/classic/management/hostedservice/client.go delete mode 100644 services/classic/management/hostedservice/entities.go delete mode 100644 services/classic/management/http.go delete mode 100644 services/classic/management/location/client.go delete mode 100644 services/classic/management/location/entities.go delete mode 100644 services/classic/management/networksecuritygroup/client.go delete mode 100644 services/classic/management/networksecuritygroup/entities.go delete mode 100644 services/classic/management/operations.go delete mode 100644 services/classic/management/osimage/client.go delete mode 100644 services/classic/management/osimage/entities.go delete mode 100644 services/classic/management/publishSettings.go delete mode 100644 services/classic/management/sql/client.go delete mode 100644 services/classic/management/sql/entities.go delete mode 100644 services/classic/management/storageservice/client.go delete mode 100644 services/classic/management/storageservice/entities.go delete mode 100644 services/classic/management/storageservice/entities_test.go delete mode 100644 services/classic/management/testutils/managementclient.go delete mode 100644 services/classic/management/util.go delete mode 100644 services/classic/management/virtualmachine/client.go delete mode 100644 services/classic/management/virtualmachine/entities.go delete mode 100644 services/classic/management/virtualmachine/entities_test.go delete mode 100644 services/classic/management/virtualmachine/resourceextensions.go delete mode 100644 services/classic/management/virtualmachine/resourceextensions_test.go delete mode 100644 services/classic/management/virtualmachinedisk/client.go delete mode 100644 services/classic/management/virtualmachinedisk/entities.go delete mode 100644 services/classic/management/virtualmachineimage/client.go delete mode 100644 services/classic/management/virtualmachineimage/entities.go delete mode 100644 services/classic/management/virtualmachineimage/entities_test.go delete mode 100644 services/classic/management/virtualnetwork/client.go delete mode 100644 services/classic/management/virtualnetwork/entities.go delete mode 100644 services/classic/management/vmutils/configurationset.go delete mode 100644 services/classic/management/vmutils/datadisks.go delete mode 100644 services/classic/management/vmutils/deployment.go delete mode 100644 services/classic/management/vmutils/extensions.go delete mode 100644 services/classic/management/vmutils/extensions_test.go delete mode 100644 services/classic/management/vmutils/integration_test.go delete mode 100644 services/classic/management/vmutils/network.go delete mode 100644 services/classic/management/vmutils/rolesize.go delete mode 100644 services/classic/management/vmutils/rolestate.go delete mode 100644 services/classic/management/vmutils/vmutils.go delete mode 100644 services/cognitiveservices/v1.0/computervision/client.go delete mode 100644 services/cognitiveservices/v1.0/computervision/models.go delete mode 100644 services/cognitiveservices/v1.0/computervision/version.go delete mode 100644 services/cognitiveservices/v2.0/anomalyfinder/anomalyfinderapi/interfaces.go delete mode 100644 services/cognitiveservices/v2.0/anomalyfinder/client.go delete mode 100644 services/cognitiveservices/v2.0/anomalyfinder/models.go delete mode 100644 services/cognitiveservices/v2.0/anomalyfinder/version.go delete mode 100644 services/cognitiveservices/v2.0/luis/programmatic/features.go delete mode 100644 services/cognitiveservices/v2.0/luis/programmatic/version.go create mode 100644 services/cognitiveservices/v3.1/customvision/training/client.go create mode 100644 services/cognitiveservices/v3.1/customvision/training/models.go create mode 100644 services/cognitiveservices/v3.1/customvision/training/trainingapi/interfaces.go rename services/{batch/2016-02-01.3.0/batch => cognitiveservices/v3.1/customvision/training}/version.go (92%) create mode 100644 services/containerregistry/mgmt/2019-06-01-preview/containerregistry/scopemaps.go create mode 100644 services/containerregistry/mgmt/2019-06-01-preview/containerregistry/tokens.go delete mode 100644 services/cosmos-db/mongodb/client.go rename services/{preview/devspaces/mgmt/2018-06-01-preview/devspaces => databox/mgmt/2019-09-01/databox}/client.go (84%) create mode 100644 services/databox/mgmt/2019-09-01/databox/databoxapi/interfaces.go create mode 100644 services/databox/mgmt/2019-09-01/databox/jobs.go create mode 100644 services/databox/mgmt/2019-09-01/databox/models.go rename services/{preview/portal/mgmt/2015-11-01-preview/portal => databox/mgmt/2019-09-01/databox}/operations.go (69%) create mode 100644 services/databox/mgmt/2019-09-01/databox/service.go rename services/{batch/2016-07-01.3.1/batch => databox/mgmt/2019-09-01/databox}/version.go (92%) rename services/{edgegateway/mgmt/2019-03-01/edgegateway => databoxedge/mgmt/2019-03-01/databoxedge}/alerts.go (92%) rename services/{edgegateway/mgmt/2019-03-01/edgegateway => databoxedge/mgmt/2019-03-01/databoxedge}/bandwidthschedules.go (94%) rename services/{edgegateway/mgmt/2019-03-01/edgegateway => databoxedge/mgmt/2019-03-01/databoxedge}/client.go (87%) rename services/{edgegateway/mgmt/2019-03-01/edgegateway/edgegatewayapi => databoxedge/mgmt/2019-03-01/databoxedge/databoxedgeapi}/interfaces.go (55%) rename services/{edgegateway/mgmt/2019-03-01/edgegateway => databoxedge/mgmt/2019-03-01/databoxedge}/devices.go (89%) rename services/{edgegateway/mgmt/2019-03-01/edgegateway => databoxedge/mgmt/2019-03-01/databoxedge}/jobs.go (93%) rename services/{edgegateway/mgmt/2019-03-01/edgegateway => databoxedge/mgmt/2019-03-01/databoxedge}/models.go (94%) rename services/{edgegateway/mgmt/2019-03-01/edgegateway => databoxedge/mgmt/2019-03-01/databoxedge}/operations.go (92%) rename services/{edgegateway/mgmt/2019-03-01/edgegateway => databoxedge/mgmt/2019-03-01/databoxedge}/operationsstatus.go (94%) rename services/{edgegateway/mgmt/2019-03-01/edgegateway => databoxedge/mgmt/2019-03-01/databoxedge}/orders.go (94%) rename services/{edgegateway/mgmt/2019-03-01/edgegateway => databoxedge/mgmt/2019-03-01/databoxedge}/roles.go (94%) rename services/{edgegateway/mgmt/2019-03-01/edgegateway => databoxedge/mgmt/2019-03-01/databoxedge}/shares.go (94%) rename services/{edgegateway/mgmt/2019-03-01/edgegateway => databoxedge/mgmt/2019-03-01/databoxedge}/storageaccountcredentials.go (94%) rename services/{edgegateway/mgmt/2019-03-01/edgegateway => databoxedge/mgmt/2019-03-01/databoxedge}/triggers.go (94%) rename services/{edgegateway/mgmt/2019-03-01/edgegateway => databoxedge/mgmt/2019-03-01/databoxedge}/users.go (93%) rename services/{edgegateway/mgmt/2019-03-01/edgegateway => databoxedge/mgmt/2019-03-01/databoxedge}/version.go (92%) create mode 100644 services/databoxedge/mgmt/2019-07-01/databoxedge/alerts.go create mode 100644 services/databoxedge/mgmt/2019-07-01/databoxedge/bandwidthschedules.go rename services/{preview/devspaces/mgmt/2019-01-01-preview/devspaces => databoxedge/mgmt/2019-07-01/databoxedge}/client.go (84%) create mode 100644 services/databoxedge/mgmt/2019-07-01/databoxedge/databoxedgeapi/interfaces.go create mode 100644 services/databoxedge/mgmt/2019-07-01/databoxedge/devices.go create mode 100644 services/databoxedge/mgmt/2019-07-01/databoxedge/jobs.go create mode 100644 services/databoxedge/mgmt/2019-07-01/databoxedge/models.go create mode 100644 services/databoxedge/mgmt/2019-07-01/databoxedge/nodes.go create mode 100644 services/databoxedge/mgmt/2019-07-01/databoxedge/operations.go create mode 100644 services/databoxedge/mgmt/2019-07-01/databoxedge/operationsstatus.go create mode 100644 services/databoxedge/mgmt/2019-07-01/databoxedge/orders.go create mode 100644 services/databoxedge/mgmt/2019-07-01/databoxedge/roles.go create mode 100644 services/databoxedge/mgmt/2019-07-01/databoxedge/shares.go create mode 100644 services/databoxedge/mgmt/2019-07-01/databoxedge/storageaccountcredentials.go create mode 100644 services/databoxedge/mgmt/2019-07-01/databoxedge/triggers.go create mode 100644 services/databoxedge/mgmt/2019-07-01/databoxedge/users.go create mode 100644 services/databoxedge/mgmt/2019-07-01/databoxedge/version.go create mode 100644 services/datafactory/mgmt/2018-06-01/datafactory/dataflowdebugsession.go create mode 100644 services/datafactory/mgmt/2018-06-01/datafactory/dataflows.go rename services/{preview => }/frontdoor/mgmt/2019-04-01/frontdoor/client.go (100%) rename services/{preview => }/frontdoor/mgmt/2019-04-01/frontdoor/endpoints.go (100%) rename services/{preview => }/frontdoor/mgmt/2019-04-01/frontdoor/frontdoorapi/interfaces.go (53%) rename services/{preview => }/frontdoor/mgmt/2019-04-01/frontdoor/frontdoors.go (100%) rename services/{preview => }/frontdoor/mgmt/2019-04-01/frontdoor/frontendendpoints.go (69%) rename services/{preview => }/frontdoor/mgmt/2019-04-01/frontdoor/managedrulesets.go (100%) rename services/{preview => }/frontdoor/mgmt/2019-04-01/frontdoor/models.go (78%) rename services/{preview => }/frontdoor/mgmt/2019-04-01/frontdoor/policies.go (100%) rename services/{preview => }/frontdoor/mgmt/2019-04-01/frontdoor/version.go (100%) rename services/{preview => }/frontdoor/mgmt/2019-05-01/frontdoor/client.go (100%) rename services/{preview => }/frontdoor/mgmt/2019-05-01/frontdoor/endpoints.go (100%) rename services/{preview => }/frontdoor/mgmt/2019-05-01/frontdoor/frontdoorapi/interfaces.go (53%) rename services/{preview => }/frontdoor/mgmt/2019-05-01/frontdoor/frontdoors.go (100%) rename services/{preview => }/frontdoor/mgmt/2019-05-01/frontdoor/frontendendpoints.go (68%) rename services/{preview => }/frontdoor/mgmt/2019-05-01/frontdoor/managedrulesets.go (100%) rename services/{preview => }/frontdoor/mgmt/2019-05-01/frontdoor/models.go (79%) rename services/{preview => }/frontdoor/mgmt/2019-05-01/frontdoor/policies.go (100%) rename services/{preview => }/frontdoor/mgmt/2019-05-01/frontdoor/version.go (100%) create mode 100644 services/healthcareapis/mgmt/2019-09-16/healthcareapis/client.go create mode 100644 services/healthcareapis/mgmt/2019-09-16/healthcareapis/healthcareapisapi/interfaces.go create mode 100644 services/healthcareapis/mgmt/2019-09-16/healthcareapis/models.go create mode 100644 services/healthcareapis/mgmt/2019-09-16/healthcareapis/operationresults.go rename services/{preview/servicefabric/mgmt/2019-03-01/servicefabric => healthcareapis/mgmt/2019-09-16/healthcareapis}/operations.go (80%) create mode 100644 services/healthcareapis/mgmt/2019-09-16/healthcareapis/services.go create mode 100644 services/healthcareapis/mgmt/2019-09-16/healthcareapis/version.go delete mode 100644 services/keyvault/auth/auth.go create mode 100644 services/kusto/mgmt/2019-09-07/kusto/attacheddatabaseconfigurations.go create mode 100644 services/kusto/mgmt/2019-09-07/kusto/client.go create mode 100644 services/kusto/mgmt/2019-09-07/kusto/clusters.go create mode 100644 services/kusto/mgmt/2019-09-07/kusto/databases.go create mode 100644 services/kusto/mgmt/2019-09-07/kusto/dataconnections.go create mode 100644 services/kusto/mgmt/2019-09-07/kusto/kustoapi/interfaces.go create mode 100644 services/kusto/mgmt/2019-09-07/kusto/models.go rename services/{preview/devspaces/mgmt/2019-01-01-preview/devspaces => kusto/mgmt/2019-09-07/kusto}/operations.go (67%) rename services/{batch/2015-12-01.2.2/batch => kusto/mgmt/2019-09-07/kusto}/version.go (92%) create mode 100644 services/machinelearningservices/mgmt/2019-06-01/machinelearningservices/quotas.go delete mode 100644 services/mobileengagement/mgmt/2014-12-01/mobileengagement/appcollections.go delete mode 100644 services/mobileengagement/mgmt/2014-12-01/mobileengagement/apps.go delete mode 100644 services/mobileengagement/mgmt/2014-12-01/mobileengagement/campaigns.go delete mode 100644 services/mobileengagement/mgmt/2014-12-01/mobileengagement/devices.go delete mode 100644 services/mobileengagement/mgmt/2014-12-01/mobileengagement/exporttasks.go delete mode 100644 services/mobileengagement/mgmt/2014-12-01/mobileengagement/importtasks.go delete mode 100644 services/mobileengagement/mgmt/2014-12-01/mobileengagement/models.go delete mode 100644 services/mobileengagement/mgmt/2014-12-01/mobileengagement/supportedplatforms.go delete mode 100644 services/mobileengagement/mgmt/2014-12-01/mobileengagement/version.go create mode 100644 services/netapp/mgmt/2019-07-01/netapp/accounts.go create mode 100644 services/netapp/mgmt/2019-07-01/netapp/client.go create mode 100644 services/netapp/mgmt/2019-07-01/netapp/models.go create mode 100644 services/netapp/mgmt/2019-07-01/netapp/mounttargets.go create mode 100644 services/netapp/mgmt/2019-07-01/netapp/netappapi/interfaces.go rename services/{preview/machinelearning/mgmt/2018-03-01-preview/services => netapp/mgmt/2019-07-01/netapp}/operations.go (78%) create mode 100644 services/netapp/mgmt/2019-07-01/netapp/pools.go create mode 100644 services/netapp/mgmt/2019-07-01/netapp/snapshots.go create mode 100644 services/netapp/mgmt/2019-07-01/netapp/version.go create mode 100644 services/netapp/mgmt/2019-07-01/netapp/volumes.go create mode 100644 services/network/mgmt/2019-07-01/network/applicationgateways.go create mode 100644 services/network/mgmt/2019-07-01/network/applicationsecuritygroups.go create mode 100644 services/network/mgmt/2019-07-01/network/availabledelegations.go create mode 100644 services/network/mgmt/2019-07-01/network/availableendpointservices.go create mode 100644 services/network/mgmt/2019-07-01/network/availableprivateendpointtypes.go create mode 100644 services/network/mgmt/2019-07-01/network/availableresourcegroupdelegations.go create mode 100644 services/network/mgmt/2019-07-01/network/azurefirewallfqdntags.go create mode 100644 services/network/mgmt/2019-07-01/network/azurefirewalls.go create mode 100644 services/network/mgmt/2019-07-01/network/bastionhosts.go create mode 100644 services/network/mgmt/2019-07-01/network/bgpservicecommunities.go create mode 100644 services/network/mgmt/2019-07-01/network/client.go create mode 100644 services/network/mgmt/2019-07-01/network/connectionmonitors.go create mode 100644 services/network/mgmt/2019-07-01/network/ddoscustompolicies.go create mode 100644 services/network/mgmt/2019-07-01/network/ddosprotectionplans.go create mode 100644 services/network/mgmt/2019-07-01/network/defaultsecurityrules.go create mode 100644 services/network/mgmt/2019-07-01/network/expressroutecircuitauthorizations.go create mode 100644 services/network/mgmt/2019-07-01/network/expressroutecircuitconnections.go create mode 100644 services/network/mgmt/2019-07-01/network/expressroutecircuitpeerings.go create mode 100644 services/network/mgmt/2019-07-01/network/expressroutecircuits.go create mode 100644 services/network/mgmt/2019-07-01/network/expressrouteconnections.go create mode 100644 services/network/mgmt/2019-07-01/network/expressroutecrossconnectionpeerings.go create mode 100644 services/network/mgmt/2019-07-01/network/expressroutecrossconnections.go create mode 100644 services/network/mgmt/2019-07-01/network/expressroutegateways.go create mode 100644 services/network/mgmt/2019-07-01/network/expressroutelinks.go create mode 100644 services/network/mgmt/2019-07-01/network/expressrouteports.go create mode 100644 services/network/mgmt/2019-07-01/network/expressrouteportslocations.go create mode 100644 services/network/mgmt/2019-07-01/network/expressrouteserviceproviders.go create mode 100644 services/network/mgmt/2019-07-01/network/firewallpolicies.go create mode 100644 services/network/mgmt/2019-07-01/network/firewallpolicyrulegroups.go create mode 100644 services/network/mgmt/2019-07-01/network/hubvirtualnetworkconnections.go create mode 100644 services/network/mgmt/2019-07-01/network/inboundnatrules.go create mode 100644 services/network/mgmt/2019-07-01/network/interfaceipconfigurations.go create mode 100644 services/network/mgmt/2019-07-01/network/interfaceloadbalancers.go create mode 100644 services/network/mgmt/2019-07-01/network/interfacesgroup.go create mode 100644 services/network/mgmt/2019-07-01/network/interfacetapconfigurations.go create mode 100644 services/network/mgmt/2019-07-01/network/loadbalancerbackendaddresspools.go create mode 100644 services/network/mgmt/2019-07-01/network/loadbalancerfrontendipconfigurations.go create mode 100644 services/network/mgmt/2019-07-01/network/loadbalancerloadbalancingrules.go create mode 100644 services/network/mgmt/2019-07-01/network/loadbalancernetworkinterfaces.go create mode 100644 services/network/mgmt/2019-07-01/network/loadbalanceroutboundrules.go create mode 100644 services/network/mgmt/2019-07-01/network/loadbalancerprobes.go create mode 100644 services/network/mgmt/2019-07-01/network/loadbalancers.go create mode 100644 services/network/mgmt/2019-07-01/network/localnetworkgateways.go create mode 100644 services/network/mgmt/2019-07-01/network/models.go create mode 100644 services/network/mgmt/2019-07-01/network/natgateways.go create mode 100644 services/network/mgmt/2019-07-01/network/networkapi/interfaces.go create mode 100644 services/network/mgmt/2019-07-01/network/operations.go create mode 100644 services/network/mgmt/2019-07-01/network/p2svpngateways.go create mode 100644 services/network/mgmt/2019-07-01/network/p2svpnserverconfigurations.go create mode 100644 services/network/mgmt/2019-07-01/network/packetcaptures.go create mode 100644 services/network/mgmt/2019-07-01/network/peerexpressroutecircuitconnections.go create mode 100644 services/network/mgmt/2019-07-01/network/privateendpoints.go create mode 100644 services/network/mgmt/2019-07-01/network/privatelinkservices.go create mode 100644 services/network/mgmt/2019-07-01/network/profiles.go create mode 100644 services/network/mgmt/2019-07-01/network/publicipaddresses.go create mode 100644 services/network/mgmt/2019-07-01/network/publicipprefixes.go create mode 100644 services/network/mgmt/2019-07-01/network/resourcenavigationlinks.go create mode 100644 services/network/mgmt/2019-07-01/network/routefilterrules.go create mode 100644 services/network/mgmt/2019-07-01/network/routefilters.go create mode 100644 services/network/mgmt/2019-07-01/network/routes.go create mode 100644 services/network/mgmt/2019-07-01/network/routetables.go create mode 100644 services/network/mgmt/2019-07-01/network/securitygroups.go create mode 100644 services/network/mgmt/2019-07-01/network/securityrules.go create mode 100644 services/network/mgmt/2019-07-01/network/serviceassociationlinks.go create mode 100644 services/network/mgmt/2019-07-01/network/serviceendpointpolicies.go create mode 100644 services/network/mgmt/2019-07-01/network/serviceendpointpolicydefinitions.go create mode 100644 services/network/mgmt/2019-07-01/network/servicetags.go create mode 100644 services/network/mgmt/2019-07-01/network/subnets.go create mode 100644 services/network/mgmt/2019-07-01/network/usages.go create mode 100644 services/network/mgmt/2019-07-01/network/version.go create mode 100644 services/network/mgmt/2019-07-01/network/virtualhubs.go create mode 100644 services/network/mgmt/2019-07-01/network/virtualnetworkgatewayconnections.go create mode 100644 services/network/mgmt/2019-07-01/network/virtualnetworkgateways.go create mode 100644 services/network/mgmt/2019-07-01/network/virtualnetworkpeerings.go create mode 100644 services/network/mgmt/2019-07-01/network/virtualnetworks.go create mode 100644 services/network/mgmt/2019-07-01/network/virtualnetworktaps.go create mode 100644 services/network/mgmt/2019-07-01/network/virtualrouterpeerings.go create mode 100644 services/network/mgmt/2019-07-01/network/virtualrouters.go create mode 100644 services/network/mgmt/2019-07-01/network/virtualwans.go create mode 100644 services/network/mgmt/2019-07-01/network/vpnconnections.go create mode 100644 services/network/mgmt/2019-07-01/network/vpngateways.go create mode 100644 services/network/mgmt/2019-07-01/network/vpnlinkconnections.go create mode 100644 services/network/mgmt/2019-07-01/network/vpnsitelinkconnections.go create mode 100644 services/network/mgmt/2019-07-01/network/vpnsitelinks.go create mode 100644 services/network/mgmt/2019-07-01/network/vpnsites.go create mode 100644 services/network/mgmt/2019-07-01/network/vpnsitesconfiguration.go create mode 100644 services/network/mgmt/2019-07-01/network/watchers.go create mode 100644 services/network/mgmt/2019-07-01/network/webapplicationfirewallpolicies.go create mode 100644 services/network/mgmt/2019-08-01/network/applicationgateways.go create mode 100644 services/network/mgmt/2019-08-01/network/applicationsecuritygroups.go create mode 100644 services/network/mgmt/2019-08-01/network/availabledelegations.go create mode 100644 services/network/mgmt/2019-08-01/network/availableendpointservices.go create mode 100644 services/network/mgmt/2019-08-01/network/availableprivateendpointtypes.go create mode 100644 services/network/mgmt/2019-08-01/network/availableresourcegroupdelegations.go create mode 100644 services/network/mgmt/2019-08-01/network/availableservicealiases.go create mode 100644 services/network/mgmt/2019-08-01/network/azurefirewallfqdntags.go create mode 100644 services/network/mgmt/2019-08-01/network/azurefirewalls.go create mode 100644 services/network/mgmt/2019-08-01/network/bastionhosts.go create mode 100644 services/network/mgmt/2019-08-01/network/bgpservicecommunities.go create mode 100644 services/network/mgmt/2019-08-01/network/client.go create mode 100644 services/network/mgmt/2019-08-01/network/connectionmonitors.go create mode 100644 services/network/mgmt/2019-08-01/network/ddoscustompolicies.go create mode 100644 services/network/mgmt/2019-08-01/network/ddosprotectionplans.go create mode 100644 services/network/mgmt/2019-08-01/network/defaultsecurityrules.go create mode 100644 services/network/mgmt/2019-08-01/network/expressroutecircuitauthorizations.go create mode 100644 services/network/mgmt/2019-08-01/network/expressroutecircuitconnections.go create mode 100644 services/network/mgmt/2019-08-01/network/expressroutecircuitpeerings.go create mode 100644 services/network/mgmt/2019-08-01/network/expressroutecircuits.go create mode 100644 services/network/mgmt/2019-08-01/network/expressrouteconnections.go create mode 100644 services/network/mgmt/2019-08-01/network/expressroutecrossconnectionpeerings.go create mode 100644 services/network/mgmt/2019-08-01/network/expressroutecrossconnections.go create mode 100644 services/network/mgmt/2019-08-01/network/expressroutegateways.go create mode 100644 services/network/mgmt/2019-08-01/network/expressroutelinks.go create mode 100644 services/network/mgmt/2019-08-01/network/expressrouteports.go create mode 100644 services/network/mgmt/2019-08-01/network/expressrouteportslocations.go create mode 100644 services/network/mgmt/2019-08-01/network/expressrouteserviceproviders.go create mode 100644 services/network/mgmt/2019-08-01/network/firewallpolicies.go create mode 100644 services/network/mgmt/2019-08-01/network/firewallpolicyrulegroups.go create mode 100644 services/network/mgmt/2019-08-01/network/hubvirtualnetworkconnections.go create mode 100644 services/network/mgmt/2019-08-01/network/inboundnatrules.go create mode 100644 services/network/mgmt/2019-08-01/network/interfaceipconfigurations.go create mode 100644 services/network/mgmt/2019-08-01/network/interfaceloadbalancers.go create mode 100644 services/network/mgmt/2019-08-01/network/interfacesgroup.go create mode 100644 services/network/mgmt/2019-08-01/network/interfacetapconfigurations.go create mode 100644 services/network/mgmt/2019-08-01/network/loadbalancerbackendaddresspools.go create mode 100644 services/network/mgmt/2019-08-01/network/loadbalancerfrontendipconfigurations.go create mode 100644 services/network/mgmt/2019-08-01/network/loadbalancerloadbalancingrules.go create mode 100644 services/network/mgmt/2019-08-01/network/loadbalancernetworkinterfaces.go create mode 100644 services/network/mgmt/2019-08-01/network/loadbalanceroutboundrules.go create mode 100644 services/network/mgmt/2019-08-01/network/loadbalancerprobes.go create mode 100644 services/network/mgmt/2019-08-01/network/loadbalancers.go create mode 100644 services/network/mgmt/2019-08-01/network/localnetworkgateways.go create mode 100644 services/network/mgmt/2019-08-01/network/models.go create mode 100644 services/network/mgmt/2019-08-01/network/natgateways.go create mode 100644 services/network/mgmt/2019-08-01/network/networkapi/interfaces.go create mode 100644 services/network/mgmt/2019-08-01/network/operations.go create mode 100644 services/network/mgmt/2019-08-01/network/p2svpngateways.go create mode 100644 services/network/mgmt/2019-08-01/network/packetcaptures.go create mode 100644 services/network/mgmt/2019-08-01/network/peerexpressroutecircuitconnections.go create mode 100644 services/network/mgmt/2019-08-01/network/privateendpoints.go create mode 100644 services/network/mgmt/2019-08-01/network/privatelinkservices.go create mode 100644 services/network/mgmt/2019-08-01/network/profiles.go create mode 100644 services/network/mgmt/2019-08-01/network/publicipaddresses.go create mode 100644 services/network/mgmt/2019-08-01/network/publicipprefixes.go create mode 100644 services/network/mgmt/2019-08-01/network/resourcenavigationlinks.go create mode 100644 services/network/mgmt/2019-08-01/network/routefilterrules.go create mode 100644 services/network/mgmt/2019-08-01/network/routefilters.go create mode 100644 services/network/mgmt/2019-08-01/network/routes.go create mode 100644 services/network/mgmt/2019-08-01/network/routetables.go create mode 100644 services/network/mgmt/2019-08-01/network/securitygroups.go create mode 100644 services/network/mgmt/2019-08-01/network/securityrules.go create mode 100644 services/network/mgmt/2019-08-01/network/serviceassociationlinks.go create mode 100644 services/network/mgmt/2019-08-01/network/serviceendpointpolicies.go create mode 100644 services/network/mgmt/2019-08-01/network/serviceendpointpolicydefinitions.go create mode 100644 services/network/mgmt/2019-08-01/network/servicetags.go create mode 100644 services/network/mgmt/2019-08-01/network/subnets.go create mode 100644 services/network/mgmt/2019-08-01/network/usages.go create mode 100644 services/network/mgmt/2019-08-01/network/version.go create mode 100644 services/network/mgmt/2019-08-01/network/virtualhubs.go create mode 100644 services/network/mgmt/2019-08-01/network/virtualnetworkgatewayconnections.go create mode 100644 services/network/mgmt/2019-08-01/network/virtualnetworkgateways.go create mode 100644 services/network/mgmt/2019-08-01/network/virtualnetworkpeerings.go create mode 100644 services/network/mgmt/2019-08-01/network/virtualnetworks.go create mode 100644 services/network/mgmt/2019-08-01/network/virtualnetworktaps.go create mode 100644 services/network/mgmt/2019-08-01/network/virtualrouterpeerings.go create mode 100644 services/network/mgmt/2019-08-01/network/virtualrouters.go create mode 100644 services/network/mgmt/2019-08-01/network/virtualwans.go create mode 100644 services/network/mgmt/2019-08-01/network/vpnconnections.go create mode 100644 services/network/mgmt/2019-08-01/network/vpngateways.go create mode 100644 services/network/mgmt/2019-08-01/network/vpnlinkconnections.go create mode 100644 services/network/mgmt/2019-08-01/network/vpnserverconfigurations.go create mode 100644 services/network/mgmt/2019-08-01/network/vpnserverconfigurationsassociatedwithvirtualwan.go create mode 100644 services/network/mgmt/2019-08-01/network/vpnsitelinkconnections.go create mode 100644 services/network/mgmt/2019-08-01/network/vpnsitelinks.go create mode 100644 services/network/mgmt/2019-08-01/network/vpnsites.go create mode 100644 services/network/mgmt/2019-08-01/network/vpnsitesconfiguration.go create mode 100644 services/network/mgmt/2019-08-01/network/watchers.go create mode 100644 services/network/mgmt/2019-08-01/network/webapplicationfirewallpolicies.go rename services/{batch/2017-01-01.4.0/batch => policyinsights/mgmt/2019-10-01/policyinsights}/client.go (79%) create mode 100644 services/policyinsights/mgmt/2019-10-01/policyinsights/models.go create mode 100644 services/policyinsights/mgmt/2019-10-01/policyinsights/operations.go create mode 100644 services/policyinsights/mgmt/2019-10-01/policyinsights/policyevents.go create mode 100644 services/policyinsights/mgmt/2019-10-01/policyinsights/policyinsightsapi/interfaces.go create mode 100644 services/policyinsights/mgmt/2019-10-01/policyinsights/policystates.go create mode 100644 services/policyinsights/mgmt/2019-10-01/policyinsights/policytrackedresources.go create mode 100644 services/policyinsights/mgmt/2019-10-01/policyinsights/remediations.go create mode 100644 services/policyinsights/mgmt/2019-10-01/policyinsights/version.go delete mode 100644 services/preview/README.md create mode 100644 services/preview/appplatform/mgmt/2019-05-01-preview/appplatform/appplatformapi/interfaces.go create mode 100644 services/preview/appplatform/mgmt/2019-05-01-preview/appplatform/apps.go create mode 100644 services/preview/appplatform/mgmt/2019-05-01-preview/appplatform/bindings.go rename services/preview/{portal/mgmt/2015-11-01-preview/portal => appplatform/mgmt/2019-05-01-preview/appplatform}/client.go (83%) create mode 100644 services/preview/appplatform/mgmt/2019-05-01-preview/appplatform/deployments.go create mode 100644 services/preview/appplatform/mgmt/2019-05-01-preview/appplatform/models.go create mode 100644 services/preview/appplatform/mgmt/2019-05-01-preview/appplatform/operations.go create mode 100644 services/preview/appplatform/mgmt/2019-05-01-preview/appplatform/services.go create mode 100644 services/preview/appplatform/mgmt/2019-05-01-preview/appplatform/version.go rename services/{cognitiveservices/v2.0/luis/programmatic => preview/cognitiveservices/v3.0/luis/authoring}/apps.go (52%) create mode 100644 services/preview/cognitiveservices/v3.0/luis/authoring/authoringapi/interfaces.go create mode 100644 services/preview/cognitiveservices/v3.0/luis/authoring/azureaccounts.go rename services/{cognitiveservices/v2.0/luis/programmatic => preview/cognitiveservices/v3.0/luis/authoring}/client.go (70%) rename services/{cognitiveservices/v2.0/luis/programmatic => preview/cognitiveservices/v3.0/luis/authoring}/examples.go (69%) create mode 100644 services/preview/cognitiveservices/v3.0/luis/authoring/features.go rename services/{cognitiveservices/v2.0/luis/programmatic => preview/cognitiveservices/v3.0/luis/authoring}/model.go (64%) rename services/{cognitiveservices/v2.0/luis/programmatic => preview/cognitiveservices/v3.0/luis/authoring}/models.go (69%) rename services/{cognitiveservices/v2.0/luis/programmatic => preview/cognitiveservices/v3.0/luis/authoring}/pattern.go (64%) rename services/{cognitiveservices/v2.0/luis/programmatic => preview/cognitiveservices/v3.0/luis/authoring}/permissions.go (67%) create mode 100644 services/preview/cognitiveservices/v3.0/luis/authoring/settings.go rename services/{cognitiveservices/v2.0/luis/programmatic => preview/cognitiveservices/v3.0/luis/authoring}/train.go (72%) create mode 100644 services/preview/cognitiveservices/v3.0/luis/authoring/version.go rename services/{cognitiveservices/v2.0/luis/programmatic => preview/cognitiveservices/v3.0/luis/authoring}/versions.go (67%) create mode 100644 services/preview/containerservice/mgmt/2019-09-30-preview/containerservice/agentpools.go create mode 100644 services/preview/containerservice/mgmt/2019-09-30-preview/containerservice/client.go create mode 100644 services/preview/containerservice/mgmt/2019-09-30-preview/containerservice/containerserviceapi/interfaces.go create mode 100644 services/preview/containerservice/mgmt/2019-09-30-preview/containerservice/containerservices.go create mode 100644 services/preview/containerservice/mgmt/2019-09-30-preview/containerservice/managedclusters.go create mode 100644 services/preview/containerservice/mgmt/2019-09-30-preview/containerservice/models.go create mode 100644 services/preview/containerservice/mgmt/2019-09-30-preview/containerservice/openshiftmanagedclusters.go create mode 100644 services/preview/containerservice/mgmt/2019-09-30-preview/containerservice/operations.go create mode 100644 services/preview/containerservice/mgmt/2019-09-30-preview/containerservice/version.go delete mode 100644 services/preview/devspaces/mgmt/2018-06-01-preview/devspaces/containerhostmappings.go delete mode 100644 services/preview/devspaces/mgmt/2018-06-01-preview/devspaces/controllers.go delete mode 100644 services/preview/devspaces/mgmt/2018-06-01-preview/devspaces/devspacesapi/interfaces.go delete mode 100644 services/preview/devspaces/mgmt/2018-06-01-preview/devspaces/models.go delete mode 100644 services/preview/devspaces/mgmt/2018-06-01-preview/devspaces/version.go delete mode 100644 services/preview/devspaces/mgmt/2019-01-01-preview/devspaces/containerhostmappings.go delete mode 100644 services/preview/devspaces/mgmt/2019-01-01-preview/devspaces/controllers.go delete mode 100644 services/preview/devspaces/mgmt/2019-01-01-preview/devspaces/devspacesapi/interfaces.go delete mode 100644 services/preview/devspaces/mgmt/2019-01-01-preview/devspaces/models.go delete mode 100644 services/preview/devspaces/mgmt/2019-01-01-preview/devspaces/version.go delete mode 100644 services/preview/frontdoor/mgmt/2018-08-01-preview/frontdoor/backendpools.go delete mode 100644 services/preview/frontdoor/mgmt/2018-08-01-preview/frontdoor/healthprobesettings.go delete mode 100644 services/preview/frontdoor/mgmt/2018-08-01-preview/frontdoor/loadbalancingsettings.go delete mode 100644 services/preview/frontdoor/mgmt/2018-08-01-preview/frontdoor/routingrules.go delete mode 100644 services/preview/frontdoor/mgmt/2019-04-01/frontdoor/backendpools.go delete mode 100644 services/preview/frontdoor/mgmt/2019-04-01/frontdoor/healthprobesettings.go delete mode 100644 services/preview/frontdoor/mgmt/2019-04-01/frontdoor/loadbalancingsettings.go delete mode 100644 services/preview/frontdoor/mgmt/2019-04-01/frontdoor/routingrules.go delete mode 100644 services/preview/frontdoor/mgmt/2019-05-01/frontdoor/backendpools.go delete mode 100644 services/preview/frontdoor/mgmt/2019-05-01/frontdoor/healthprobesettings.go delete mode 100644 services/preview/frontdoor/mgmt/2019-05-01/frontdoor/loadbalancingsettings.go delete mode 100644 services/preview/frontdoor/mgmt/2019-05-01/frontdoor/routingrules.go create mode 100644 services/preview/logic/mgmt/2019-05-01/logic/client.go create mode 100644 services/preview/logic/mgmt/2019-05-01/logic/integrationaccountagreements.go create mode 100644 services/preview/logic/mgmt/2019-05-01/logic/integrationaccountassemblies.go create mode 100644 services/preview/logic/mgmt/2019-05-01/logic/integrationaccountbatchconfigurations.go create mode 100644 services/preview/logic/mgmt/2019-05-01/logic/integrationaccountcertificates.go create mode 100644 services/preview/logic/mgmt/2019-05-01/logic/integrationaccountmaps.go create mode 100644 services/preview/logic/mgmt/2019-05-01/logic/integrationaccountpartners.go create mode 100644 services/preview/logic/mgmt/2019-05-01/logic/integrationaccounts.go create mode 100644 services/preview/logic/mgmt/2019-05-01/logic/integrationaccountschemas.go create mode 100644 services/preview/logic/mgmt/2019-05-01/logic/integrationaccountsessions.go create mode 100644 services/preview/logic/mgmt/2019-05-01/logic/integrationserviceenvironmentmanagedapioperations.go create mode 100644 services/preview/logic/mgmt/2019-05-01/logic/integrationserviceenvironmentmanagedapis.go create mode 100644 services/preview/logic/mgmt/2019-05-01/logic/integrationserviceenvironmentnetworkhealth.go create mode 100644 services/preview/logic/mgmt/2019-05-01/logic/integrationserviceenvironments.go create mode 100644 services/preview/logic/mgmt/2019-05-01/logic/integrationserviceenvironmentskus.go create mode 100644 services/preview/logic/mgmt/2019-05-01/logic/logicapi/interfaces.go create mode 100644 services/preview/logic/mgmt/2019-05-01/logic/models.go create mode 100644 services/preview/logic/mgmt/2019-05-01/logic/operations.go create mode 100644 services/preview/logic/mgmt/2019-05-01/logic/version.go create mode 100644 services/preview/logic/mgmt/2019-05-01/logic/workflowrunactionrepetitions.go create mode 100644 services/preview/logic/mgmt/2019-05-01/logic/workflowrunactionrepetitionsrequesthistories.go create mode 100644 services/preview/logic/mgmt/2019-05-01/logic/workflowrunactionrequesthistories.go create mode 100644 services/preview/logic/mgmt/2019-05-01/logic/workflowrunactions.go create mode 100644 services/preview/logic/mgmt/2019-05-01/logic/workflowrunactionscoperepetitions.go create mode 100644 services/preview/logic/mgmt/2019-05-01/logic/workflowrunoperations.go create mode 100644 services/preview/logic/mgmt/2019-05-01/logic/workflowruns.go create mode 100644 services/preview/logic/mgmt/2019-05-01/logic/workflows.go create mode 100644 services/preview/logic/mgmt/2019-05-01/logic/workflowtriggerhistories.go create mode 100644 services/preview/logic/mgmt/2019-05-01/logic/workflowtriggers.go create mode 100644 services/preview/logic/mgmt/2019-05-01/logic/workflowversions.go create mode 100644 services/preview/logic/mgmt/2019-05-01/logic/workflowversiontriggers.go delete mode 100644 services/preview/machinelearning/mgmt/2018-03-01-preview/services/client.go delete mode 100644 services/preview/machinelearning/mgmt/2018-03-01-preview/services/machinelearningcompute.go delete mode 100644 services/preview/machinelearning/mgmt/2018-03-01-preview/services/models.go delete mode 100644 services/preview/machinelearning/mgmt/2018-03-01-preview/services/servicesapi/interfaces.go delete mode 100644 services/preview/machinelearning/mgmt/2018-03-01-preview/services/version.go delete mode 100644 services/preview/machinelearning/mgmt/2018-03-01-preview/services/workspaces.go create mode 100755 services/preview/maintenance/mgmt/2018-06-01-preview/maintenance/applyupdates.go create mode 100755 services/preview/maintenance/mgmt/2018-06-01-preview/maintenance/client.go create mode 100755 services/preview/maintenance/mgmt/2018-06-01-preview/maintenance/configurationassignments.go create mode 100755 services/preview/maintenance/mgmt/2018-06-01-preview/maintenance/configurations.go create mode 100755 services/preview/maintenance/mgmt/2018-06-01-preview/maintenance/maintenanceapi/interfaces.go create mode 100755 services/preview/maintenance/mgmt/2018-06-01-preview/maintenance/models.go create mode 100755 services/preview/maintenance/mgmt/2018-06-01-preview/maintenance/operations.go create mode 100755 services/preview/maintenance/mgmt/2018-06-01-preview/maintenance/updates.go create mode 100755 services/preview/maintenance/mgmt/2018-06-01-preview/maintenance/version.go create mode 100644 services/preview/mysql/mgmt/2017-12-01-preview/mysql/serveradministrators.go delete mode 100644 services/preview/peering/mgmt/2019-03-01-preview/peering/client.go create mode 100644 services/preview/peering/mgmt/2019-09-01-preview/peering/client.go rename services/preview/peering/mgmt/{2019-03-01-preview => 2019-09-01-preview}/peering/legacypeerings.go (97%) rename services/preview/peering/mgmt/{2019-03-01-preview => 2019-09-01-preview}/peering/locations.go (89%) rename services/preview/peering/mgmt/{2019-03-01-preview => 2019-09-01-preview}/peering/models.go (54%) rename services/preview/peering/mgmt/{2019-03-01-preview => 2019-09-01-preview}/peering/operations.go (97%) rename services/preview/peering/mgmt/{2019-03-01-preview => 2019-09-01-preview}/peering/peerasns.go (98%) rename services/preview/peering/mgmt/{2019-03-01-preview => 2019-09-01-preview}/peering/peeringapi/interfaces.go (52%) rename services/preview/peering/mgmt/{2019-03-01-preview => 2019-09-01-preview}/peering/peerings.go (98%) create mode 100644 services/preview/peering/mgmt/2019-09-01-preview/peering/prefixes.go create mode 100644 services/preview/peering/mgmt/2019-09-01-preview/peering/servicelocations.go create mode 100644 services/preview/peering/mgmt/2019-09-01-preview/peering/serviceproviders.go create mode 100644 services/preview/peering/mgmt/2019-09-01-preview/peering/services.go rename services/preview/peering/mgmt/{2019-03-01-preview => 2019-09-01-preview}/peering/version.go (94%) delete mode 100644 services/preview/portal/mgmt/2015-11-01-preview/portal/dashboards.go delete mode 100644 services/preview/portal/mgmt/2015-11-01-preview/portal/models.go delete mode 100644 services/preview/portal/mgmt/2015-11-01-preview/portal/portalapi/interfaces.go delete mode 100644 services/preview/portal/mgmt/2015-11-01-preview/portal/version.go create mode 100644 services/preview/postgresql/mgmt/2017-12-01-preview/postgresql/serveradministrators.go create mode 100644 services/preview/security/mgmt/v1.0/security/subassessments.go create mode 100644 services/preview/security/mgmt/v2.0/security/subassessments.go create mode 100644 services/preview/security/mgmt/v3.0/security/devicesecuritygroups.go rename services/preview/security/mgmt/v3.0/security/{iotsecuritysolutionsanalytics.go => iotsecuritysolutionanalytics.go} (58%) delete mode 100644 services/preview/security/mgmt/v3.0/security/iotsecuritysolutions.go delete mode 100644 services/preview/security/mgmt/v3.0/security/iotsecuritysolutionsanalyticsaggregatedalerts.go delete mode 100644 services/preview/security/mgmt/v3.0/security/iotsecuritysolutionsanalyticsrecommendations.go delete mode 100644 services/preview/security/mgmt/v3.0/security/iotsecuritysolutionsresourcegroup.go create mode 100644 services/preview/security/mgmt/v3.0/security/subassessments.go create mode 100644 services/preview/securityinsight/mgmt/2017-08-01-preview/securityinsight/alertruletemplates.go create mode 100644 services/preview/securityinsight/mgmt/2017-08-01-preview/securityinsight/bookmarkrelations.go create mode 100644 services/preview/securityinsight/mgmt/2017-08-01-preview/securityinsight/casecomments.go create mode 100644 services/preview/securityinsight/mgmt/2017-08-01-preview/securityinsight/caserelations.go create mode 100644 services/preview/securityinsight/mgmt/2017-08-01-preview/securityinsight/comments.go delete mode 100644 services/preview/servicefabric/mgmt/2019-03-01/servicefabric/applications.go delete mode 100644 services/preview/servicefabric/mgmt/2019-03-01/servicefabric/applicationtypes.go delete mode 100644 services/preview/servicefabric/mgmt/2019-03-01/servicefabric/applicationtypeversions.go delete mode 100644 services/preview/servicefabric/mgmt/2019-03-01/servicefabric/client.go delete mode 100644 services/preview/servicefabric/mgmt/2019-03-01/servicefabric/clusters.go delete mode 100644 services/preview/servicefabric/mgmt/2019-03-01/servicefabric/clusterversions.go delete mode 100644 services/preview/servicefabric/mgmt/2019-03-01/servicefabric/models.go delete mode 100644 services/preview/servicefabric/mgmt/2019-03-01/servicefabric/servicefabricapi/interfaces.go delete mode 100644 services/preview/servicefabric/mgmt/2019-03-01/servicefabric/services.go delete mode 100644 services/preview/servicefabric/mgmt/2019-03-01/servicefabric/version.go rename services/{mobileengagement/mgmt/2014-12-01/mobileengagement => preview/sql/mgmt/2018-06-01-preview/sql}/client.go (76%) create mode 100644 services/preview/sql/mgmt/2018-06-01-preview/sql/databases.go create mode 100644 services/preview/sql/mgmt/2018-06-01-preview/sql/databasesecurityalertpolicies.go create mode 100644 services/preview/sql/mgmt/2018-06-01-preview/sql/elasticpools.go create mode 100644 services/preview/sql/mgmt/2018-06-01-preview/sql/instancepools.go create mode 100644 services/preview/sql/mgmt/2018-06-01-preview/sql/manageddatabaserestoredetails.go create mode 100644 services/preview/sql/mgmt/2018-06-01-preview/sql/manageddatabases.go create mode 100644 services/preview/sql/mgmt/2018-06-01-preview/sql/manageddatabasesensitivitylabels.go create mode 100644 services/preview/sql/mgmt/2018-06-01-preview/sql/managedinstances.go create mode 100644 services/preview/sql/mgmt/2018-06-01-preview/sql/managedinstancevulnerabilityassessments.go create mode 100644 services/preview/sql/mgmt/2018-06-01-preview/sql/models.go create mode 100644 services/preview/sql/mgmt/2018-06-01-preview/sql/privateendpointconnections.go create mode 100644 services/preview/sql/mgmt/2018-06-01-preview/sql/servervulnerabilityassessments.go create mode 100644 services/preview/sql/mgmt/2018-06-01-preview/sql/sqlapi/interfaces.go create mode 100644 services/preview/sql/mgmt/2018-06-01-preview/sql/usages.go create mode 100644 services/preview/sql/mgmt/2018-06-01-preview/sql/version.go create mode 100644 services/preview/storagecache/mgmt/2019-08-01-preview/storagecache/caches.go create mode 100644 services/preview/storagecache/mgmt/2019-08-01-preview/storagecache/client.go create mode 100644 services/preview/storagecache/mgmt/2019-08-01-preview/storagecache/models.go create mode 100644 services/preview/storagecache/mgmt/2019-08-01-preview/storagecache/operations.go create mode 100644 services/preview/storagecache/mgmt/2019-08-01-preview/storagecache/skus.go create mode 100644 services/preview/storagecache/mgmt/2019-08-01-preview/storagecache/storagecacheapi/interfaces.go create mode 100644 services/preview/storagecache/mgmt/2019-08-01-preview/storagecache/storagetargets.go create mode 100644 services/preview/storagecache/mgmt/2019-08-01-preview/storagecache/usagemodels.go create mode 100644 services/preview/storagecache/mgmt/2019-08-01-preview/storagecache/version.go delete mode 100644 services/recoveryservices/mgmt/2016-12-01/backup/jobcancellations.go delete mode 100644 services/recoveryservices/mgmt/2016-12-01/backup/joboperationresults.go delete mode 100644 services/recoveryservices/mgmt/2016-12-01/backup/protecteditemoperationresults.go delete mode 100644 services/recoveryservices/mgmt/2016-12-01/backup/protecteditems.go delete mode 100644 services/recoveryservices/mgmt/2016-12-01/backup/protectionpolicyoperationresults.go delete mode 100644 services/recoveryservices/mgmt/2016-12-01/backup/recoverypoints.go delete mode 100644 services/recoveryservices/mgmt/2016-12-01/backup/resourcevaultconfigs.go delete mode 100644 services/recoveryservices/mgmt/2016-12-01/backup/restores.go delete mode 100644 services/resources/deployment.go rename services/{batch/2015-12-01.2.2/batch => resources/mgmt/2019-06-01/subscriptions}/client.go (69%) create mode 100644 services/resources/mgmt/2019-06-01/subscriptions/models.go create mode 100644 services/resources/mgmt/2019-06-01/subscriptions/operations.go create mode 100644 services/resources/mgmt/2019-06-01/subscriptions/subscriptions.go create mode 100644 services/resources/mgmt/2019-06-01/subscriptions/subscriptionsapi/interfaces.go create mode 100644 services/resources/mgmt/2019-06-01/subscriptions/tenants.go create mode 100644 services/resources/mgmt/2019-06-01/subscriptions/version.go create mode 100644 services/resources/mgmt/2019-07-01/features/client.go create mode 100644 services/resources/mgmt/2019-07-01/features/deploymentoperations.go create mode 100644 services/resources/mgmt/2019-07-01/features/deployments.go create mode 100644 services/resources/mgmt/2019-07-01/features/featuresapi/interfaces.go create mode 100644 services/resources/mgmt/2019-07-01/features/models.go rename services/{preview/devspaces/mgmt/2018-06-01-preview/devspaces => resources/mgmt/2019-07-01/features}/operations.go (68%) create mode 100644 services/resources/mgmt/2019-07-01/features/providers.go create mode 100644 services/resources/mgmt/2019-07-01/features/resourcegroups.go create mode 100644 services/resources/mgmt/2019-07-01/features/resources.go create mode 100644 services/resources/mgmt/2019-07-01/features/tags.go create mode 100644 services/resources/mgmt/2019-07-01/features/version.go create mode 100644 services/sql/mgmt/2014-04-01/sql/backuplongtermretentionpolicies.go create mode 100644 services/sql/mgmt/2014-04-01/sql/backuplongtermretentionvaults.go create mode 100644 services/sql/mgmt/2014-04-01/sql/capabilities.go create mode 100644 services/sql/mgmt/2014-04-01/sql/databaseadvisors.go create mode 100644 services/sql/mgmt/2014-04-01/sql/databaseconnectionpolicies.go create mode 100644 services/sql/mgmt/2014-04-01/sql/databasetableauditingpolicies.go create mode 100644 services/sql/mgmt/2014-04-01/sql/databaseusages.go create mode 100644 services/sql/mgmt/2014-04-01/sql/datamaskingpolicies.go create mode 100644 services/sql/mgmt/2014-04-01/sql/datamaskingrules.go create mode 100644 services/sql/mgmt/2014-04-01/sql/disasterrecoveryconfigurations.go create mode 100644 services/sql/mgmt/2014-04-01/sql/extensions.go create mode 100644 services/sql/mgmt/2014-04-01/sql/geobackuppolicies.go create mode 100644 services/sql/mgmt/2014-04-01/sql/operations.go create mode 100644 services/sql/mgmt/2014-04-01/sql/queries.go create mode 100644 services/sql/mgmt/2014-04-01/sql/querystatistics.go create mode 100644 services/sql/mgmt/2014-04-01/sql/querytexts.go create mode 100644 services/sql/mgmt/2014-04-01/sql/recoverabledatabases.go create mode 100644 services/sql/mgmt/2014-04-01/sql/restorabledroppeddatabases.go create mode 100644 services/sql/mgmt/2014-04-01/sql/restorepoints.go create mode 100644 services/sql/mgmt/2014-04-01/sql/serveradvisors.go create mode 100644 services/sql/mgmt/2014-04-01/sql/serverazureadadministrators.go create mode 100644 services/sql/mgmt/2014-04-01/sql/servercommunicationlinks.go create mode 100644 services/sql/mgmt/2014-04-01/sql/serverconnectionpolicies.go create mode 100644 services/sql/mgmt/2014-04-01/sql/servertableauditingpolicies.go create mode 100644 services/sql/mgmt/2014-04-01/sql/serverusages.go create mode 100644 services/sql/mgmt/2014-04-01/sql/serviceobjectives.go create mode 100644 services/sql/mgmt/2014-04-01/sql/transparentdataencryptionconfigurations.go rename services/{batch/2016-02-01.3.0/batch => storage/datalake/2019-10-31/storagedatalake}/client.go (52%) create mode 100644 services/storage/datalake/2019-10-31/storagedatalake/filesystem.go create mode 100644 services/storage/datalake/2019-10-31/storagedatalake/models.go create mode 100644 services/storage/datalake/2019-10-31/storagedatalake/path.go create mode 100644 services/storage/datalake/2019-10-31/storagedatalake/storagedatalakeapi/interfaces.go create mode 100644 services/storage/datalake/2019-10-31/storagedatalake/version.go create mode 100644 services/web/mgmt/2019-08-01/web/apps.go create mode 100644 services/web/mgmt/2019-08-01/web/appservicecertificateorders.go create mode 100644 services/web/mgmt/2019-08-01/web/appserviceenvironments.go create mode 100644 services/web/mgmt/2019-08-01/web/appserviceplans.go create mode 100644 services/web/mgmt/2019-08-01/web/certificateregistrationprovider.go create mode 100644 services/web/mgmt/2019-08-01/web/certificates.go create mode 100644 services/web/mgmt/2019-08-01/web/client.go create mode 100644 services/web/mgmt/2019-08-01/web/deletedwebapps.go create mode 100644 services/web/mgmt/2019-08-01/web/diagnostics.go create mode 100644 services/web/mgmt/2019-08-01/web/domainregistrationprovider.go create mode 100644 services/web/mgmt/2019-08-01/web/domains.go create mode 100644 services/web/mgmt/2019-08-01/web/models.go create mode 100644 services/web/mgmt/2019-08-01/web/provider.go create mode 100644 services/web/mgmt/2019-08-01/web/recommendations.go create mode 100644 services/web/mgmt/2019-08-01/web/resourcehealthmetadata.go create mode 100644 services/web/mgmt/2019-08-01/web/topleveldomains.go rename services/{appinsights/v1/insights => web/mgmt/2019-08-01/web}/version.go (93%) create mode 100644 services/web/mgmt/2019-08-01/web/webapi/interfaces.go create mode 100644 storage/recordings/BlockBlobSuite/TestPutBlockFromURL.yaml diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index e2ec152676c1..000000000000 --- a/.travis.yml +++ /dev/null @@ -1,40 +0,0 @@ -sudo: false - -language: go -go: - - 1.10.x - - 1.11.x - - 1.12.x - -branches: - only: - - master - - latest - -env: - global: - - DEP_RELEASE_TAG=v0.5.1 # so the script knows which version to use - - IGNORE_BREAKING_CHANGES=true - -before_install: - - curl -sSL https://raw.githubusercontent.com/golang/dep/master/install.sh | sh - -install: - - dep ensure -v - -script: - - bash rungas.sh - - grep -L -r --include *.go --exclude-dir vendor -P "Copyright (\d{4}|\(c\)) Microsoft" ./ | tee /dev/stderr | test -z "$(< /dev/stdin)" - - echo -e "travis_fold:start:go.build\033[33;1mBuilding all packages\033[0m" - - go build -v $(go list ./... | grep -v vendor) - - echo -e "\ntravis_fold:end:go.build\r" - - if [[ $TRAVIS_GO_VERSION == 1.11* ]]; then test -z "$(go fmt $(go list ./... | grep -v vendor) | tee /dev/stderr)"; fi - - go vet $(go list ./... | grep -v vendor) - - go test $(sh ./findTestedPackages.sh) - - go run ./tools/apidiff/main.go packages ./services FETCH_HEAD~1 FETCH_HEAD --copyrepo --breakingchanges || $IGNORE_BREAKING_CHANGES - - go run ./tools/pkgchk/main.go ./services --exceptions ./tools/pkgchk/exceptions.txt - - git diff --exit-code - -cache: - directories: - - $GOPATH/pkg/dep diff --git a/Gopkg.lock b/Gopkg.lock index ba530e8934e5..e41cfb92d3a2 100644 --- a/Gopkg.lock +++ b/Gopkg.lock @@ -2,22 +2,12 @@ [[projects]] - digest = "1:6b1426cad7057b717351eacf5b6fe70f053f11aac1ce254bbf2fd72c031719eb" - name = "contrib.go.opencensus.io/exporter/ocagent" - packages = ["."] - pruneopts = "UT" - revision = "dcb33c7f3b7cfe67e8a2cea10207ede1b7c40764" - version = "v0.4.12" - -[[projects]] - digest = "1:a4431dd9598c9926ff12356c100ed73807815112de703322564f76d60c5294a4" + digest = "1:78df7dcd6d2a3e38b9fc52a47129135bdfaf1f89e8dd07001968455459666b11" name = "github.com/Azure/go-autorest" packages = [ "autorest", "autorest/adal", "autorest/azure", - "autorest/azure/auth", - "autorest/azure/cli", "autorest/date", "autorest/to", "autorest/validation", @@ -25,31 +15,16 @@ "tracing", ] pruneopts = "UT" - revision = "2913f263500c4a5b23dada1b46ccd22ac972315f" - version = "v12.3.0" + revision = "69b4126ece6b5257e2f9b0017007d2334153655f" + version = "v13.0.1" [[projects]] - digest = "1:55388fd080150b9a072912f97b1f5891eb0b50df43401f8b75fb4273d3fec9fc" + digest = "1:d37f34e1e231ee4b8657d1b6153e2696b1d7341850f648f5d78151d3bc1f677b" name = "github.com/Masterminds/semver" packages = ["."] pruneopts = "UT" - revision = "c7af12943936e8c39859482e61f0574c2fd7fc75" - version = "v1.4.2" - -[[projects]] - digest = "1:8f5acd4d4462b5136af644d25101f0968a7a94ee90fcb2059cec5b7cc42e0b20" - name = "github.com/census-instrumentation/opencensus-proto" - packages = [ - "gen-go/agent/common/v1", - "gen-go/agent/metrics/v1", - "gen-go/agent/trace/v1", - "gen-go/metrics/v1", - "gen-go/resource/v1", - "gen-go/trace/v1", - ] - pruneopts = "UT" - revision = "d89fa54de508111353cb0b06403c00569be780d8" - version = "v0.2.1" + revision = "fe7c21038085e01e67044ec1efe3afb1eaa59f75" + version = "v3.0.1" [[projects]] digest = "1:76dc72490af7174349349838f2fe118996381b31ea83243812a97e5a0fd5ed55" @@ -59,14 +34,6 @@ revision = "06ea1031745cb8b3dab3f6a236daf2b0aa468b7e" version = "v3.2.0" -[[projects]] - digest = "1:cf0d2e435fd4ce45b789e93ef24b5f08e86be0e9807a16beb3694e2d8c9af965" - name = "github.com/dimchansky/utfbom" - packages = ["."] - pruneopts = "UT" - revision = "d2133a1ce379ef6fa992b0514a77146c60db9d1c" - version = "v1.1.0" - [[projects]] branch = "master" digest = "1:052aa482c25b2d76f432c16c4b404a6a3cb9cc205a95818c7680fcec501a43b7" @@ -78,61 +45,6 @@ pruneopts = "UT" revision = "ac8906116758e03208f043a52754f16f2982f26d" -[[projects]] - branch = "master" - digest = "1:78102ee4d536347316bc42e818340cc50902e45dbd7fdd524c5a1fc0cb07b588" - name = "github.com/globalsign/mgo" - packages = [ - ".", - "bson", - "internal/json", - "internal/sasl", - "internal/scram", - ] - pruneopts = "UT" - revision = "eeefdecb41b842af6dc652aaea4026e8403e62df" - -[[projects]] - digest = "1:b532ee3f683c057e797694b5bfeb3827d89e6adf41c53dbc80e549bca76364ea" - name = "github.com/golang/protobuf" - packages = [ - "jsonpb", - "proto", - "protoc-gen-go/descriptor", - "protoc-gen-go/generator", - "protoc-gen-go/generator/internal/remap", - "protoc-gen-go/plugin", - "ptypes", - "ptypes/any", - "ptypes/duration", - "ptypes/struct", - "ptypes/timestamp", - "ptypes/wrappers", - ] - pruneopts = "UT" - revision = "6c65a5562fc06764971b7c5d05c76c75e84bdbf7" - version = "v1.3.2" - -[[projects]] - digest = "1:3b341cd71012c63aacddabfc70b9110be8e30c553349552ad3f77242843f2d03" - name = "github.com/grpc-ecosystem/grpc-gateway" - packages = [ - "internal", - "runtime", - "utilities", - ] - pruneopts = "UT" - revision = "ad529a448ba494a88058f9e5be0988713174ac86" - version = "v1.9.5" - -[[projects]] - digest = "1:7fae9ec96d10b2afce0da23c378c8b3389319b7f92fa092f2621bba3078cfb4b" - name = "github.com/hashicorp/golang-lru" - packages = ["simplelru"] - pruneopts = "UT" - revision = "7f827b33c0f158ec5dfbba01bb0b14a4541fd81d" - version = "v0.5.3" - [[projects]] digest = "1:870d441fe217b8e689d7949fef6e43efbc787e50f200cb1e70dbca9204a1d6be" name = "github.com/inconshreveable/mousetrap" @@ -157,14 +69,6 @@ revision = "e2ffdb16a802fe2bb95e2e35ff34f0e53aeef34f" version = "v0.1.0" -[[projects]] - digest = "1:5d231480e1c64a726869bc4142d270184c419749d34f167646baa21008eb0a79" - name = "github.com/mitchellh/go-homedir" - packages = ["."] - pruneopts = "UT" - revision = "af06845cf3004701891bf4fdb884bfe4920b3727" - version = "v1.1.0" - [[projects]] digest = "1:cf31692c14422fa27c83a05292eb5cbe0fb2775972e8f1f8446a71549bd8980b" name = "github.com/pkg/errors" @@ -198,111 +102,16 @@ version = "v0.0.5" [[projects]] - digest = "1:c1b1102241e7f645bc8e0c22ae352e8f0dc6484b6cb4d132fa9f24174e0119e2" + digest = "1:524b71991fc7d9246cc7dc2d9e0886ccb97648091c63e30eef619e6862c955dd" name = "github.com/spf13/pflag" packages = ["."] pruneopts = "UT" - revision = "298182f68c66c05229eb03ac171abe6e309ee79a" - version = "v1.0.3" - -[[projects]] - digest = "1:4c93890bbbb5016505e856cb06b5c5a2ff5b7217584d33f2a9071ebef4b5d473" - name = "go.opencensus.io" - packages = [ - ".", - "internal", - "internal/tagencoding", - "metric/metricdata", - "metric/metricproducer", - "plugin/ocgrpc", - "plugin/ochttp", - "plugin/ochttp/propagation/b3", - "plugin/ochttp/propagation/tracecontext", - "resource", - "stats", - "stats/internal", - "stats/view", - "tag", - "trace", - "trace/internal", - "trace/propagation", - "trace/tracestate", - ] - pruneopts = "UT" - revision = "43463a80402d8447b7fce0d2c58edf1687ff0b58" - version = "v0.19.3" - -[[projects]] - branch = "master" - digest = "1:994c4915a59f821705d08ea77b117ec7a3e6a46cc867fd194d887500dac1c3c2" - name = "golang.org/x/crypto" - packages = [ - "pkcs12", - "pkcs12/internal/rc2", - ] - pruneopts = "UT" - revision = "4def268fd1a49955bfb3dda92fe3db4f924f2285" - -[[projects]] - branch = "master" - digest = "1:d2aa096fe6b539afe74dd6ab8e9a160304707f1477b01c637b4bbe20d262a25c" - name = "golang.org/x/net" - packages = [ - "context", - "http/httpguts", - "http2", - "http2/hpack", - "idna", - "internal/timeseries", - "trace", - ] - pruneopts = "UT" - revision = "ca1201d0de80cfde86cb01aea620983605dfe99b" - -[[projects]] - branch = "master" - digest = "1:382bb5a7fb4034db3b6a2d19e5a4a6bcf52f4750530603c01ca18a172fa3089b" - name = "golang.org/x/sync" - packages = ["semaphore"] - pruneopts = "UT" - revision = "112230192c580c3556b8cee6403af37a4fc5f28c" - -[[projects]] - branch = "master" - digest = "1:ec99dad7924bf972656818f5d62216fb987b7e077d401deb86b3c1e5e1b1d4d6" - name = "golang.org/x/sys" - packages = ["unix"] - pruneopts = "UT" - revision = "fc99dfbffb4e5ed5758a37e31dd861afe285406b" - -[[projects]] - digest = "1:8d8faad6b12a3a4c819a3f9618cb6ee1fa1cfc33253abeeea8b55336721e3405" - name = "golang.org/x/text" - packages = [ - "collate", - "collate/build", - "internal/colltab", - "internal/gen", - "internal/language", - "internal/language/compact", - "internal/tag", - "internal/triegen", - "internal/ucd", - "language", - "secure/bidirule", - "transform", - "unicode/bidi", - "unicode/cldr", - "unicode/norm", - "unicode/rangetable", - ] - pruneopts = "UT" - revision = "342b2e1fbaa52c93f31447ad2c6abc048c63e475" - version = "v0.3.2" + revision = "2e9d26c8c37aae03e3f9d4e90b7116f5accb7cab" + version = "v1.0.5" [[projects]] branch = "master" - digest = "1:87f3ab7c6341b1be840c580bdf23dcce036916bf1859e8ab8667033a09ae6097" + digest = "1:18c7b936326b4919be6de0a20be857fdd3112036cdb3febfa9a5b332a4f54e27" name = "golang.org/x/tools" packages = [ "go/ast/astutil", @@ -319,77 +128,15 @@ "internal/semver", ] pruneopts = "UT" - revision = "fc6e2057e7f6701ef9b5ef49a089bff4da7f4610" - -[[projects]] - digest = "1:5f003878aabe31d7f6b842d4de32b41c46c214bb629bb485387dbcce1edf5643" - name = "google.golang.org/api" - packages = ["support/bundler"] - pruneopts = "UT" - revision = "02490b97dff7cfde1995bd77de808fd27053bc87" - version = "v0.7.0" - -[[projects]] - branch = "master" - digest = "1:3565a93b7692277a5dea355bc47bd6315754f3246ed07a224be6aec28972a805" - name = "google.golang.org/genproto" - packages = [ - "googleapis/api/httpbody", - "googleapis/rpc/status", - "protobuf/field_mask", - ] - pruneopts = "UT" - revision = "c506a9f9061087022822e8da603a52fc387115a8" - -[[projects]] - digest = "1:581c9b0fe9354faf730ff231cf3682089e0b703073cf10e3976219609d27a9ea" - name = "google.golang.org/grpc" - packages = [ - ".", - "balancer", - "balancer/base", - "balancer/roundrobin", - "binarylog/grpc_binarylog_v1", - "codes", - "connectivity", - "credentials", - "credentials/internal", - "encoding", - "encoding/proto", - "grpclog", - "internal", - "internal/backoff", - "internal/balancerload", - "internal/binarylog", - "internal/channelz", - "internal/envconfig", - "internal/grpcrand", - "internal/grpcsync", - "internal/syscall", - "internal/transport", - "keepalive", - "metadata", - "naming", - "peer", - "resolver", - "resolver/dns", - "resolver/passthrough", - "serviceconfig", - "stats", - "status", - "tap", - ] - pruneopts = "UT" - revision = "045159ad57f3781d409358e3ade910a018c16b30" - version = "v1.22.1" + revision = "e461004dd03ddc1b89596568ce4119c0e8152ce6" [[projects]] branch = "v1" - digest = "1:af715ae33cc1f5695c4b2a4e4b21d008add8802a99e15bb467ac7c32edb5000d" + digest = "1:bc88591477b5fee4520dcd3d8fa8fd26f5d78b83193ed0102a7e83552652daa4" name = "gopkg.in/check.v1" packages = ["."] pruneopts = "UT" - revision = "788fd78401277ebd861206a03c884797c6ec5541" + revision = "41f04d3bba152ddec2103e299fed053415705330" [[projects]] digest = "1:4d2e5a73dc1500038e504a8d78b986630e3626dc027bc030ba5c75da257cdb96" @@ -404,9 +151,7 @@ analyzer-version = 1 input-imports = [ "github.com/Azure/go-autorest/autorest", - "github.com/Azure/go-autorest/autorest/adal", "github.com/Azure/go-autorest/autorest/azure", - "github.com/Azure/go-autorest/autorest/azure/auth", "github.com/Azure/go-autorest/autorest/date", "github.com/Azure/go-autorest/autorest/to", "github.com/Azure/go-autorest/autorest/validation", @@ -414,12 +159,10 @@ "github.com/Masterminds/semver", "github.com/dnaeon/go-vcr/cassette", "github.com/dnaeon/go-vcr/recorder", - "github.com/globalsign/mgo", "github.com/pkg/errors", "github.com/satori/go.uuid", "github.com/shopspring/decimal", "github.com/spf13/cobra", - "golang.org/x/crypto/pkcs12", "golang.org/x/tools/imports", "gopkg.in/check.v1", ] diff --git a/Gopkg.toml b/Gopkg.toml index d418e65a1013..01b90caabc49 100644 --- a/Gopkg.toml +++ b/Gopkg.toml @@ -25,7 +25,7 @@ [[constraint]] name = "github.com/Azure/go-autorest" - version = "12.3.0" + version = "13.0.0" [[constraint]] branch = "master" diff --git a/README.md b/README.md index 93a319c70f88..c320ac68e5c2 100644 --- a/README.md +++ b/README.md @@ -452,10 +452,15 @@ All packages and the runtime are instrumented using [OpenCensus](https://opencen ### Enable -As of now, tracing is disabled by default. There are 2 ways to enable tracing: +By default, no tracing provider will be compiled into your program, and the legacy approach of setting `AZURE_SDK_TRACING_ENABLED` environment variable will no longer take effect. -- set the environment variable `AZURE_SDK_TRACING_ENABLED` (_Recommended_) -- alternatively, import the `github.com/Azure/go-autorest/tracing` package and call the `tracing.Enable()` function or `tracing.EnableWithAIForwarding()` if using the [App Insights Forwarder](https://docs.microsoft.com/en-us/azure/application-insights/opencensus-local-forwarder). +To enable tracing, you must now add the following include to your source file. + +``` go + include _ "github.com/Azure/go-autorest/tracing/opencensus" +``` + +To hook up a tracer simply call `tracing.Register()` passing in a type that satisfies the `tracing.Tracer` interface. **Note**: In future major releases of the SDK, tracing may become enabled by default. @@ -509,14 +514,25 @@ Changing one or more values will affect all subsequet API calls. The default policy is to call `autorest.DoRetryForStatusCodes()` from an API's `Sender` method. Example: ```go func (client OperationsClient) ListSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } ``` Details on how `autorest.DoRetryforStatusCodes()` works can be found in the [documentation](https://godoc.org/github.com/Azure/go-autorest/autorest#DoRetryForStatusCodes). -It is not possible to change the invoked retry policy without writing a custom `Sender` and its calling code. +The slice of `SendDecorators` used in a `Sender` method can be customized per API call by smuggling them in the context. Here's an example. + +```go +ctx := context.Background() +autorest.WithSendDecorators(ctx, []autorest.SendDecorator{ + autorest.DoRetryForStatusCodesWithCap(client.RetryAttempts, + client.RetryDuration, time.Duration(0), + autorest.StatusCodesForRetry...)}) +client.List(ctx) +``` + +This will replace the default slice of `SendDecorators` with the provided slice. The `PollingDelay` and `PollingDuration` values are used exclusively by [WaitForCompletionRef()](https://godoc.org/github.com/Azure/go-autorest/autorest/azure#Future.WaitForCompletionRef) when blocking on an async call until it completes. diff --git a/azure-pipelines.yml b/azure-pipelines.yml index d254313e0985..5ce8e1746eea 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -1,58 +1,79 @@ -pool: - vmImage: 'Ubuntu 16.04' +jobs: + - job: Build_Test + strategy: + matrix: + Linux_Go112: + vm.image: 'ubuntu-18.04' + go.version: '1.12' + GOROOT: '/usr/local/go$(go.version)' + Linux_Go113: + vm.image: 'ubuntu-18.04' + go.version: '1.13' + GOROOT: '/usr/local/go$(go.version)' + Win_Go112: + vm.image: 'windows-2019' + go.version: '1.12' + GOROOT: 'c:\go$(go.version)' + Win_Go113: + vm.image: 'windows-2019' + go.version: '1.13' + GOROOT: 'c:\go$(go.version)' -variables: - GOROOT: '/usr/local/go1.12' - GOPATH: '$(system.defaultWorkingDirectory)/work' - sdkPath: '$(GOPATH)/src/github.com/$(build.repository.name)' - IGNORE_BREAKING_CHANGES: true + pool: + vmImage: $(vm.image) -steps: -- script: | - set -e - mkdir -p '$(GOPATH)/bin' - mkdir -p '$(sdkPath)' - shopt -s dotglob extglob - mv !(work) '$(sdkPath)' - echo '##vso[task.prependpath]$(GOROOT)/bin' - echo '##vso[task.prependpath]$(GOPATH)/bin' - displayName: 'Create Go Workspace' -- script: | - set -e - curl -sSL https://raw.githubusercontent.com/golang/dep/master/install.sh | sh - dep ensure -v - go get -u golang.org/x/lint/golint - workingDirectory: '$(sdkPath)' - displayName: 'Install Dependencies' -- script: go vet $(go list ./... | grep -v vendor) - workingDirectory: '$(sdkPath)' - displayName: 'Vet' -- script: go build -v $(go list ./... | grep -v vendor) - workingDirectory: '$(sdkPath)' - displayName: 'Build' -- script: go test $(dirname $(find . -path ./vendor -prune -o -name '*_test.go' -print) | sort -u) - workingDirectory: '$(sdkPath)' - displayName: 'Run Tests' -- script: go run ./tools/apidiff/main.go packages ./services FETCH_HEAD~1 FETCH_HEAD --copyrepo --breakingchanges || $IGNORE_BREAKING_CHANGES - workingDirectory: '$(sdkPath)' - displayName: 'Display Breaking Changes' -- script: go run ./tools/pkgchk/main.go ./services --exceptions ./tools/pkgchk/exceptions.txt - workingDirectory: '$(sdkPath)' - displayName: 'Verify Package Directory' -- script: grep -L -r --include *.go --exclude-dir vendor -P "Copyright (\d{4}|\(c\)) Microsoft" ./ | tee >&2 - workingDirectory: '$(sdkPath)' - displayName: 'Copyright Header Check' - failOnStderr: true - condition: succeededOrFailed() -- script: gofmt -s -l -w $(find . -path ./vendor -prune -o -name '*.go' -print) >&2 - workingDirectory: '$(sdkPath)' - displayName: 'Format Check' - failOnStderr: true - condition: succeededOrFailed() -- script: | - golint ./storage/... >&2 - golint ./tools/... >&2 - workingDirectory: '$(sdkPath)' - displayName: 'Linter Check' - failOnStderr: true - condition: succeededOrFailed() + variables: + GOPATH: '$(system.defaultWorkingDirectory)/work' + sdkPath: '$(GOPATH)/src/github.com/$(build.repository.name)' + IGNORE_BREAKING_CHANGES: true + + steps: + - script: | + set -e + mkdir -p '$(GOPATH)/bin' + mkdir -p '$(sdkPath)' + shopt -s dotglob extglob + mv !(work) '$(sdkPath)' + echo '##vso[task.prependpath]$(GOROOT)/bin' + echo '##vso[task.prependpath]$(GOPATH)/bin' + go version + displayName: 'Create Go Workspace' + - script: | + set -e + curl -sSL https://raw.githubusercontent.com/golang/dep/master/install.sh | sh + dep ensure -v + go get -u golang.org/x/lint/golint + workingDirectory: '$(sdkPath)' + displayName: 'Install Dependencies' + - script: go vet $(go list ./... | grep -v vendor) + workingDirectory: '$(sdkPath)' + displayName: 'Vet' + - script: go build -v $(go list ./... | grep -v vendor) + workingDirectory: '$(sdkPath)' + displayName: 'Build' + - script: go test $(dirname $(find . -path ./vendor -prune -o -name '*_test.go' -print) | sort -u) + workingDirectory: '$(sdkPath)' + displayName: 'Run Tests' + - script: go run ./tools/apidiff/main.go packages ./services FETCH_HEAD~1 FETCH_HEAD --copyrepo --breakingchanges || $IGNORE_BREAKING_CHANGES + workingDirectory: '$(sdkPath)' + displayName: 'Display Breaking Changes' + - script: go run ./tools/pkgchk/main.go ./services --exceptions ./tools/pkgchk/exceptions.txt + workingDirectory: '$(sdkPath)' + displayName: 'Verify Package Directory' + - script: grep -L -r --include *.go --exclude-dir vendor -P "Copyright (\d{4}|\(c\)) Microsoft" ./ | tee >&2 + workingDirectory: '$(sdkPath)' + displayName: 'Copyright Header Check' + failOnStderr: true + condition: succeededOrFailed() + - script: gofmt -s -l -w $(find . -path ./vendor -prune -o -name '*.go' -print) >&2 + workingDirectory: '$(sdkPath)' + displayName: 'Format Check' + failOnStderr: true + condition: succeededOrFailed() + - script: | + golint ./storage/... >&2 + golint ./tools/... >&2 + workingDirectory: '$(sdkPath)' + displayName: 'Linter Check' + failOnStderr: true + condition: succeededOrFailed() diff --git a/profiles/2017-03-09/generate.go b/profiles/2017-03-09/generate.go index 80cab9b2c5af..d50e4164b43e 100644 --- a/profiles/2017-03-09/generate.go +++ b/profiles/2017-03-09/generate.go @@ -14,4 +14,4 @@ package v20170309 -//go:generate go run ../../tools/profileBuilder/main.go list --clear-output --input ./definition.json --name 2017-03-09 --output-location ./ --verbose +//go:generate go run ../../tools/profileBuilder/main.go list --clear-output --input ./definition.json --name 2017-03-09 --output-location ./ diff --git a/profiles/2017-03-09/resources/mgmt/resources/models.go b/profiles/2017-03-09/resources/mgmt/resources/models.go index c791818c4e2b..94a1a8b8e728 100644 --- a/profiles/2017-03-09/resources/mgmt/resources/models.go +++ b/profiles/2017-03-09/resources/mgmt/resources/models.go @@ -47,6 +47,7 @@ type AliasType = original.AliasType type BaseClient = original.BaseClient type BasicDependency = original.BasicDependency type Client = original.Client +type CloudError = original.CloudError type DebugSetting = original.DebugSetting type Dependency = original.Dependency type Deployment = original.Deployment @@ -68,6 +69,8 @@ type DeploymentValidateResult = original.DeploymentValidateResult type DeploymentsClient = original.DeploymentsClient type DeploymentsCreateOrUpdateFuture = original.DeploymentsCreateOrUpdateFuture type DeploymentsDeleteFuture = original.DeploymentsDeleteFuture +type ErrorAdditionalInfo = original.ErrorAdditionalInfo +type ErrorResponse = original.ErrorResponse type ExportTemplateRequest = original.ExportTemplateRequest type GenericResource = original.GenericResource type GenericResourceFilter = original.GenericResourceFilter @@ -108,6 +111,7 @@ type TagsListResult = original.TagsListResult type TagsListResultIterator = original.TagsListResultIterator type TagsListResultPage = original.TagsListResultPage type TargetResource = original.TargetResource +type TemplateHashResult = original.TemplateHashResult type TemplateLink = original.TemplateLink type UpdateFuture = original.UpdateFuture diff --git a/profiles/2018-03-01/generate.go b/profiles/2018-03-01/generate.go index 0281bf171246..e9b17f55a462 100644 --- a/profiles/2018-03-01/generate.go +++ b/profiles/2018-03-01/generate.go @@ -14,4 +14,4 @@ package v20180301 -//go:generate go run ../../tools/profileBuilder/main.go list --clear-output --input ./definition.json --name 2018-03-01 --output-location ./ --verbose +//go:generate go run ../../tools/profileBuilder/main.go list --clear-output --input ./definition.json --name 2018-03-01 --output-location ./ diff --git a/profiles/2018-03-01/resources/mgmt/resources/models.go b/profiles/2018-03-01/resources/mgmt/resources/models.go index ec792b7371b4..e23282499986 100644 --- a/profiles/2018-03-01/resources/mgmt/resources/models.go +++ b/profiles/2018-03-01/resources/mgmt/resources/models.go @@ -57,6 +57,7 @@ type AliasType = original.AliasType type BaseClient = original.BaseClient type BasicDependency = original.BasicDependency type Client = original.Client +type CloudError = original.CloudError type CreateOrUpdateByIDFuture = original.CreateOrUpdateByIDFuture type CreateOrUpdateFuture = original.CreateOrUpdateFuture type DebugSetting = original.DebugSetting @@ -82,6 +83,8 @@ type DeploymentValidateResult = original.DeploymentValidateResult type DeploymentsClient = original.DeploymentsClient type DeploymentsCreateOrUpdateFuture = original.DeploymentsCreateOrUpdateFuture type DeploymentsDeleteFuture = original.DeploymentsDeleteFuture +type ErrorAdditionalInfo = original.ErrorAdditionalInfo +type ErrorResponse = original.ErrorResponse type ExportTemplateRequest = original.ExportTemplateRequest type GenericResource = original.GenericResource type GenericResourceFilter = original.GenericResourceFilter @@ -125,6 +128,7 @@ type TagsListResult = original.TagsListResult type TagsListResultIterator = original.TagsListResultIterator type TagsListResultPage = original.TagsListResultPage type TargetResource = original.TargetResource +type TemplateHashResult = original.TemplateHashResult type TemplateLink = original.TemplateLink type UpdateByIDFuture = original.UpdateByIDFuture type UpdateFuture = original.UpdateFuture diff --git a/profiles/2019-03-01/generate.go b/profiles/2019-03-01/generate.go index 6adb2df6a225..b7558eecff01 100644 --- a/profiles/2019-03-01/generate.go +++ b/profiles/2019-03-01/generate.go @@ -14,4 +14,4 @@ package v20180301 -//go:generate go run ../../tools/profileBuilder/main.go list --clear-output --input ./definition.json --name 2019-03-01 --output-location ./ --verbose +//go:generate go run ../../tools/profileBuilder/main.go list --clear-output --input ./definition.json --name 2019-03-01 --output-location ./ diff --git a/profiles/2019-03-01/resources/mgmt/resources/models.go b/profiles/2019-03-01/resources/mgmt/resources/models.go index 9bce7be508a0..b6b068090beb 100644 --- a/profiles/2019-03-01/resources/mgmt/resources/models.go +++ b/profiles/2019-03-01/resources/mgmt/resources/models.go @@ -57,6 +57,7 @@ type AliasType = original.AliasType type BaseClient = original.BaseClient type BasicDependency = original.BasicDependency type Client = original.Client +type CloudError = original.CloudError type CreateOrUpdateByIDFuture = original.CreateOrUpdateByIDFuture type CreateOrUpdateFuture = original.CreateOrUpdateFuture type DebugSetting = original.DebugSetting @@ -84,6 +85,8 @@ type DeploymentsCreateOrUpdateAtSubscriptionScopeFuture = original.DeploymentsCr type DeploymentsCreateOrUpdateFuture = original.DeploymentsCreateOrUpdateFuture type DeploymentsDeleteAtSubscriptionScopeFuture = original.DeploymentsDeleteAtSubscriptionScopeFuture type DeploymentsDeleteFuture = original.DeploymentsDeleteFuture +type ErrorAdditionalInfo = original.ErrorAdditionalInfo +type ErrorResponse = original.ErrorResponse type ExportTemplateRequest = original.ExportTemplateRequest type GenericResource = original.GenericResource type GenericResourceFilter = original.GenericResourceFilter @@ -134,6 +137,7 @@ type TagsListResult = original.TagsListResult type TagsListResultIterator = original.TagsListResultIterator type TagsListResultPage = original.TagsListResultPage type TargetResource = original.TargetResource +type TemplateHashResult = original.TemplateHashResult type TemplateLink = original.TemplateLink type UpdateByIDFuture = original.UpdateByIDFuture type UpdateFuture = original.UpdateFuture diff --git a/profiles/latest/advisor/mgmt/advisor/models.go b/profiles/latest/advisor/mgmt/advisor/models.go index ec1fa941c29e..68a8ce3dd966 100644 --- a/profiles/latest/advisor/mgmt/advisor/models.go +++ b/profiles/latest/advisor/mgmt/advisor/models.go @@ -32,10 +32,11 @@ const ( type Category = original.Category const ( - Cost Category = original.Cost - HighAvailability Category = original.HighAvailability - Performance Category = original.Performance - Security Category = original.Security + Cost Category = original.Cost + HighAvailability Category = original.HighAvailability + OperationalExcellence Category = original.OperationalExcellence + Performance Category = original.Performance + Security Category = original.Security ) type Impact = original.Impact diff --git a/profiles/latest/appinsights/insights/models.go b/profiles/latest/appinsights/insights/models.go deleted file mode 100644 index af0714dbc2bb..000000000000 --- a/profiles/latest/appinsights/insights/models.go +++ /dev/null @@ -1,229 +0,0 @@ -// +build go1.9 - -// Copyright 2019 Microsoft Corporation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -// This code was auto-generated by: -// github.com/Azure/azure-sdk-for-go/tools/profileBuilder - -package insights - -import original "github.com/Azure/azure-sdk-for-go/services/appinsights/v1/insights" - -const ( - DefaultBaseURI = original.DefaultBaseURI -) - -type EventType = original.EventType - -const ( - All EventType = original.All - AvailabilityResults EventType = original.AvailabilityResults - BrowserTimings EventType = original.BrowserTimings - CustomEvents EventType = original.CustomEvents - CustomMetrics EventType = original.CustomMetrics - Dependencies EventType = original.Dependencies - Exceptions EventType = original.Exceptions - PageViews EventType = original.PageViews - PerformanceCounters EventType = original.PerformanceCounters - Requests EventType = original.Requests - Traces EventType = original.Traces -) - -type MetricID = original.MetricID - -const ( - AvailabilityResultsavailabilityPercentage MetricID = original.AvailabilityResultsavailabilityPercentage - AvailabilityResultsduration MetricID = original.AvailabilityResultsduration - BillingtelemetryCount MetricID = original.BillingtelemetryCount - ClientnetworkDuration MetricID = original.ClientnetworkDuration - ClientprocessingDuration MetricID = original.ClientprocessingDuration - ClientreceiveDuration MetricID = original.ClientreceiveDuration - ClientsendDuration MetricID = original.ClientsendDuration - ClienttotalDuration MetricID = original.ClienttotalDuration - CustomEventscount MetricID = original.CustomEventscount - Dependenciescount MetricID = original.Dependenciescount - Dependenciesduration MetricID = original.Dependenciesduration - Dependenciesfailed MetricID = original.Dependenciesfailed - Exceptionsbrowser MetricID = original.Exceptionsbrowser - Exceptionscount MetricID = original.Exceptionscount - Exceptionsserver MetricID = original.Exceptionsserver - PageViewscount MetricID = original.PageViewscount - PageViewsduration MetricID = original.PageViewsduration - PerformanceCountersexceptionsPerSecond MetricID = original.PerformanceCountersexceptionsPerSecond - PerformanceCountersmemoryAvailableBytes MetricID = original.PerformanceCountersmemoryAvailableBytes - PerformanceCountersprocessCPUPercentage MetricID = original.PerformanceCountersprocessCPUPercentage - PerformanceCountersprocessIOBytesPerSecond MetricID = original.PerformanceCountersprocessIOBytesPerSecond - PerformanceCountersprocessorCPUPercentage MetricID = original.PerformanceCountersprocessorCPUPercentage - PerformanceCountersprocessPrivateBytes MetricID = original.PerformanceCountersprocessPrivateBytes - PerformanceCountersrequestExecutionTime MetricID = original.PerformanceCountersrequestExecutionTime - PerformanceCountersrequestsInQueue MetricID = original.PerformanceCountersrequestsInQueue - PerformanceCountersrequestsPerSecond MetricID = original.PerformanceCountersrequestsPerSecond - Requestscount MetricID = original.Requestscount - Requestsduration MetricID = original.Requestsduration - Requestsfailed MetricID = original.Requestsfailed - Sessionscount MetricID = original.Sessionscount - Usersauthenticated MetricID = original.Usersauthenticated - Userscount MetricID = original.Userscount -) - -type MetricsAggregation = original.MetricsAggregation - -const ( - Avg MetricsAggregation = original.Avg - Count MetricsAggregation = original.Count - Max MetricsAggregation = original.Max - Min MetricsAggregation = original.Min - Sum MetricsAggregation = original.Sum - Unique MetricsAggregation = original.Unique -) - -type MetricsSegment = original.MetricsSegment - -const ( - ApplicationBuild MetricsSegment = original.ApplicationBuild - ApplicationVersion MetricsSegment = original.ApplicationVersion - AuthenticatedOrAnonymousTraffic MetricsSegment = original.AuthenticatedOrAnonymousTraffic - Browser MetricsSegment = original.Browser - BrowserVersion MetricsSegment = original.BrowserVersion - City MetricsSegment = original.City - CloudRoleName MetricsSegment = original.CloudRoleName - CloudServiceName MetricsSegment = original.CloudServiceName - Continent MetricsSegment = original.Continent - CountryOrRegion MetricsSegment = original.CountryOrRegion - DeploymentID MetricsSegment = original.DeploymentID - DeploymentUnit MetricsSegment = original.DeploymentUnit - DeviceType MetricsSegment = original.DeviceType - Environment MetricsSegment = original.Environment - HostingLocation MetricsSegment = original.HostingLocation - InstanceName MetricsSegment = original.InstanceName -) - -type Type = original.Type - -const ( - TypeAvailabilityResult Type = original.TypeAvailabilityResult - TypeBrowserTiming Type = original.TypeBrowserTiming - TypeCustomEvent Type = original.TypeCustomEvent - TypeCustomMetric Type = original.TypeCustomMetric - TypeDependency Type = original.TypeDependency - TypeEventsResultData Type = original.TypeEventsResultData - TypeException Type = original.TypeException - TypePageView Type = original.TypePageView - TypePerformanceCounter Type = original.TypePerformanceCounter - TypeRequest Type = original.TypeRequest - TypeTrace Type = original.TypeTrace -) - -type BaseClient = original.BaseClient -type BasicEventsResultData = original.BasicEventsResultData -type Column = original.Column -type ErrorDetail = original.ErrorDetail -type ErrorInfo = original.ErrorInfo -type ErrorResponse = original.ErrorResponse -type EventsAiInfo = original.EventsAiInfo -type EventsApplicationInfo = original.EventsApplicationInfo -type EventsAvailabilityResultInfo = original.EventsAvailabilityResultInfo -type EventsAvailabilityResultResult = original.EventsAvailabilityResultResult -type EventsBrowserTimingInfo = original.EventsBrowserTimingInfo -type EventsBrowserTimingResult = original.EventsBrowserTimingResult -type EventsClient = original.EventsClient -type EventsClientInfo = original.EventsClientInfo -type EventsClientPerformanceInfo = original.EventsClientPerformanceInfo -type EventsCloudInfo = original.EventsCloudInfo -type EventsCustomEventInfo = original.EventsCustomEventInfo -type EventsCustomEventResult = original.EventsCustomEventResult -type EventsCustomMetricInfo = original.EventsCustomMetricInfo -type EventsCustomMetricResult = original.EventsCustomMetricResult -type EventsDependencyInfo = original.EventsDependencyInfo -type EventsDependencyResult = original.EventsDependencyResult -type EventsExceptionDetail = original.EventsExceptionDetail -type EventsExceptionDetailsParsedStack = original.EventsExceptionDetailsParsedStack -type EventsExceptionInfo = original.EventsExceptionInfo -type EventsExceptionResult = original.EventsExceptionResult -type EventsOperationInfo = original.EventsOperationInfo -type EventsPageViewInfo = original.EventsPageViewInfo -type EventsPageViewResult = original.EventsPageViewResult -type EventsPerformanceCounterInfo = original.EventsPerformanceCounterInfo -type EventsPerformanceCounterResult = original.EventsPerformanceCounterResult -type EventsRequestInfo = original.EventsRequestInfo -type EventsRequestResult = original.EventsRequestResult -type EventsResult = original.EventsResult -type EventsResultData = original.EventsResultData -type EventsResultDataCustomDimensions = original.EventsResultDataCustomDimensions -type EventsResultDataCustomMeasurements = original.EventsResultDataCustomMeasurements -type EventsResults = original.EventsResults -type EventsSessionInfo = original.EventsSessionInfo -type EventsTraceInfo = original.EventsTraceInfo -type EventsTraceResult = original.EventsTraceResult -type EventsUserInfo = original.EventsUserInfo -type ListMetricsResultsItem = original.ListMetricsResultsItem -type MetricsClient = original.MetricsClient -type MetricsPostBodySchema = original.MetricsPostBodySchema -type MetricsPostBodySchemaParameters = original.MetricsPostBodySchemaParameters -type MetricsResult = original.MetricsResult -type MetricsResultInfo = original.MetricsResultInfo -type MetricsResultsItem = original.MetricsResultsItem -type MetricsSegmentInfo = original.MetricsSegmentInfo -type QueryBody = original.QueryBody -type QueryClient = original.QueryClient -type QueryResults = original.QueryResults -type SetObject = original.SetObject -type Table = original.Table - -func New() BaseClient { - return original.New() -} -func NewEventsClient() EventsClient { - return original.NewEventsClient() -} -func NewEventsClientWithBaseURI(baseURI string) EventsClient { - return original.NewEventsClientWithBaseURI(baseURI) -} -func NewMetricsClient() MetricsClient { - return original.NewMetricsClient() -} -func NewMetricsClientWithBaseURI(baseURI string) MetricsClient { - return original.NewMetricsClientWithBaseURI(baseURI) -} -func NewQueryClient() QueryClient { - return original.NewQueryClient() -} -func NewQueryClientWithBaseURI(baseURI string) QueryClient { - return original.NewQueryClientWithBaseURI(baseURI) -} -func NewWithBaseURI(baseURI string) BaseClient { - return original.NewWithBaseURI(baseURI) -} -func PossibleEventTypeValues() []EventType { - return original.PossibleEventTypeValues() -} -func PossibleMetricIDValues() []MetricID { - return original.PossibleMetricIDValues() -} -func PossibleMetricsAggregationValues() []MetricsAggregation { - return original.PossibleMetricsAggregationValues() -} -func PossibleMetricsSegmentValues() []MetricsSegment { - return original.PossibleMetricsSegmentValues() -} -func PossibleTypeValues() []Type { - return original.PossibleTypeValues() -} -func UserAgent() string { - return original.UserAgent() + " profiles/latest" -} -func Version() string { - return original.Version() -} diff --git a/profiles/latest/cdn/mgmt/cdn/models.go b/profiles/latest/cdn/mgmt/cdn/models.go index 27689e718e1e..695d897885a8 100644 --- a/profiles/latest/cdn/mgmt/cdn/models.go +++ b/profiles/latest/cdn/mgmt/cdn/models.go @@ -52,6 +52,20 @@ const ( Shared CertificateType = original.Shared ) +type CookiesOperator = original.CookiesOperator + +const ( + Any CookiesOperator = original.Any + BeginsWith CookiesOperator = original.BeginsWith + Contains CookiesOperator = original.Contains + EndsWith CookiesOperator = original.EndsWith + Equal CookiesOperator = original.Equal + GreaterThan CookiesOperator = original.GreaterThan + GreaterThanOrEqual CookiesOperator = original.GreaterThanOrEqual + LessThan CookiesOperator = original.LessThan + LessThanOrEqual CookiesOperator = original.LessThanOrEqual +) + type CustomDomainResourceState = original.CustomDomainResourceState const ( @@ -122,7 +136,9 @@ const ( type Name = original.Name const ( + NameCookies Name = original.NameCookies NameDeliveryRuleCondition Name = original.NameDeliveryRuleCondition + NameHTTPVersion Name = original.NameHTTPVersion NameIsDevice Name = original.NameIsDevice NamePostArgs Name = original.NamePostArgs NameQueryString Name = original.NameQueryString @@ -170,15 +186,15 @@ const ( type PostArgsOperator = original.PostArgsOperator const ( - Any PostArgsOperator = original.Any - BeginsWith PostArgsOperator = original.BeginsWith - Contains PostArgsOperator = original.Contains - EndsWith PostArgsOperator = original.EndsWith - Equal PostArgsOperator = original.Equal - GreaterThan PostArgsOperator = original.GreaterThan - GreaterThanOrEqual PostArgsOperator = original.GreaterThanOrEqual - LessThan PostArgsOperator = original.LessThan - LessThanOrEqual PostArgsOperator = original.LessThanOrEqual + PostArgsOperatorAny PostArgsOperator = original.PostArgsOperatorAny + PostArgsOperatorBeginsWith PostArgsOperator = original.PostArgsOperatorBeginsWith + PostArgsOperatorContains PostArgsOperator = original.PostArgsOperatorContains + PostArgsOperatorEndsWith PostArgsOperator = original.PostArgsOperatorEndsWith + PostArgsOperatorEqual PostArgsOperator = original.PostArgsOperatorEqual + PostArgsOperatorGreaterThan PostArgsOperator = original.PostArgsOperatorGreaterThan + PostArgsOperatorGreaterThanOrEqual PostArgsOperator = original.PostArgsOperatorGreaterThanOrEqual + PostArgsOperatorLessThan PostArgsOperator = original.PostArgsOperatorLessThan + PostArgsOperatorLessThanOrEqual PostArgsOperator = original.PostArgsOperatorLessThanOrEqual ) type ProfileResourceState = original.ProfileResourceState @@ -366,6 +382,7 @@ type CertificateSourceParameters = original.CertificateSourceParameters type CheckNameAvailabilityInput = original.CheckNameAvailabilityInput type CheckNameAvailabilityOutput = original.CheckNameAvailabilityOutput type CidrIPAddress = original.CidrIPAddress +type CookiesMatchConditionParameters = original.CookiesMatchConditionParameters type CustomDomain = original.CustomDomain type CustomDomainHTTPSParameters = original.CustomDomainHTTPSParameters type CustomDomainListResult = original.CustomDomainListResult @@ -384,6 +401,8 @@ type DeliveryRuleAction = original.DeliveryRuleAction type DeliveryRuleCacheExpirationAction = original.DeliveryRuleCacheExpirationAction type DeliveryRuleCacheKeyQueryStringAction = original.DeliveryRuleCacheKeyQueryStringAction type DeliveryRuleCondition = original.DeliveryRuleCondition +type DeliveryRuleCookiesCondition = original.DeliveryRuleCookiesCondition +type DeliveryRuleHTTPVersionCondition = original.DeliveryRuleHTTPVersionCondition type DeliveryRuleIsDeviceCondition = original.DeliveryRuleIsDeviceCondition type DeliveryRulePostArgsCondition = original.DeliveryRulePostArgsCondition type DeliveryRuleQueryStringCondition = original.DeliveryRuleQueryStringCondition @@ -422,6 +441,7 @@ type EndpointsStopFuture = original.EndpointsStopFuture type EndpointsUpdateFuture = original.EndpointsUpdateFuture type ErrorResponse = original.ErrorResponse type GeoFilter = original.GeoFilter +type HTTPVersionMatchConditionParameters = original.HTTPVersionMatchConditionParameters type HeaderActionParameters = original.HeaderActionParameters type IPAddressGroup = original.IPAddressGroup type IsDeviceMatchConditionParameters = original.IsDeviceMatchConditionParameters @@ -585,6 +605,9 @@ func PossibleCertificateSourceValues() []CertificateSource { func PossibleCertificateTypeValues() []CertificateType { return original.PossibleCertificateTypeValues() } +func PossibleCookiesOperatorValues() []CookiesOperator { + return original.PossibleCookiesOperatorValues() +} func PossibleCustomDomainResourceStateValues() []CustomDomainResourceState { return original.PossibleCustomDomainResourceStateValues() } diff --git a/profiles/latest/cognitiveservices/anomalyfinder/models.go b/profiles/latest/cognitiveservices/anomalyfinder/models.go deleted file mode 100644 index 13cea3644e49..000000000000 --- a/profiles/latest/cognitiveservices/anomalyfinder/models.go +++ /dev/null @@ -1,56 +0,0 @@ -// +build go1.9 - -// Copyright 2019 Microsoft Corporation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -// This code was auto-generated by: -// github.com/Azure/azure-sdk-for-go/tools/profileBuilder - -package anomalyfinder - -import original "github.com/Azure/azure-sdk-for-go/services/cognitiveservices/v2.0/anomalyfinder" - -type Granularity = original.Granularity - -const ( - Daily Granularity = original.Daily - Hourly Granularity = original.Hourly - Minutely Granularity = original.Minutely - Monthly Granularity = original.Monthly - Weekly Granularity = original.Weekly - Yearly Granularity = original.Yearly -) - -type APIError = original.APIError -type BaseClient = original.BaseClient -type EntireDetectResponse = original.EntireDetectResponse -type LastDetectResponse = original.LastDetectResponse -type Point = original.Point -type Request = original.Request - -func New(endpoint string) BaseClient { - return original.New(endpoint) -} -func NewWithoutDefaults(endpoint string) BaseClient { - return original.NewWithoutDefaults(endpoint) -} -func PossibleGranularityValues() []Granularity { - return original.PossibleGranularityValues() -} -func UserAgent() string { - return original.UserAgent() + " profiles/latest" -} -func Version() string { - return original.Version() -} diff --git a/profiles/latest/cognitiveservices/customvision/training/models.go b/profiles/latest/cognitiveservices/customvision/training/models.go index a46cd6cb0b11..6ac391ccc004 100644 --- a/profiles/latest/cognitiveservices/customvision/training/models.go +++ b/profiles/latest/cognitiveservices/customvision/training/models.go @@ -19,7 +19,7 @@ package training -import original "github.com/Azure/azure-sdk-for-go/services/cognitiveservices/v3.0/customvision/training" +import original "github.com/Azure/azure-sdk-for-go/services/cognitiveservices/v3.1/customvision/training" type Classifier = original.Classifier @@ -78,6 +78,7 @@ const ( BadRequestPredictionResultsExceededCount CustomVisionErrorCodes = original.BadRequestPredictionResultsExceededCount BadRequestPredictionTagsExceededCount CustomVisionErrorCodes = original.BadRequestPredictionTagsExceededCount BadRequestProjectDescription CustomVisionErrorCodes = original.BadRequestProjectDescription + BadRequestProjectImagePreprocessingSettings CustomVisionErrorCodes = original.BadRequestProjectImagePreprocessingSettings BadRequestProjectName CustomVisionErrorCodes = original.BadRequestProjectName BadRequestProjectNameNotUnique CustomVisionErrorCodes = original.BadRequestProjectNameNotUnique BadRequestProjectUnknownClassification CustomVisionErrorCodes = original.BadRequestProjectUnknownClassification @@ -156,11 +157,13 @@ const ( type ExportFlavor = original.ExportFlavor const ( - ARM ExportFlavor = original.ARM - Linux ExportFlavor = original.Linux - ONNX10 ExportFlavor = original.ONNX10 - ONNX12 ExportFlavor = original.ONNX12 - Windows ExportFlavor = original.Windows + ARM ExportFlavor = original.ARM + Linux ExportFlavor = original.Linux + ONNX10 ExportFlavor = original.ONNX10 + ONNX12 ExportFlavor = original.ONNX12 + TensorFlowLite ExportFlavor = original.TensorFlowLite + TensorFlowNormal ExportFlavor = original.TensorFlowNormal + Windows ExportFlavor = original.Windows ) type ExportPlatform = original.ExportPlatform @@ -205,6 +208,13 @@ const ( Suggested OrderBy = original.Suggested ) +type SortBy = original.SortBy + +const ( + UncertaintyAscending SortBy = original.UncertaintyAscending + UncertaintyDescending SortBy = original.UncertaintyDescending +) + type TagType = original.TagType const ( @@ -234,6 +244,7 @@ type ImageIDCreateBatch = original.ImageIDCreateBatch type ImageIDCreateEntry = original.ImageIDCreateEntry type ImagePerformance = original.ImagePerformance type ImagePrediction = original.ImagePrediction +type ImageProcessingSettings = original.ImageProcessingSettings type ImageRegion = original.ImageRegion type ImageRegionCreateBatch = original.ImageRegionCreateBatch type ImageRegionCreateEntry = original.ImageRegionCreateEntry @@ -256,6 +267,7 @@ type ListImage = original.ListImage type ListImagePerformance = original.ListImagePerformance type ListIteration = original.ListIteration type ListProject = original.ListProject +type ListSuggestedTagAndRegion = original.ListSuggestedTagAndRegion type ListTag = original.ListTag type Prediction = original.Prediction type PredictionQueryResult = original.PredictionQueryResult @@ -265,8 +277,14 @@ type Project = original.Project type ProjectSettings = original.ProjectSettings type Region = original.Region type RegionProposal = original.RegionProposal +type SetInt32 = original.SetInt32 type StoredImagePrediction = original.StoredImagePrediction +type StoredSuggestedTagAndRegion = original.StoredSuggestedTagAndRegion +type SuggestedTagAndRegion = original.SuggestedTagAndRegion +type SuggestedTagAndRegionQuery = original.SuggestedTagAndRegionQuery +type SuggestedTagAndRegionQueryToken = original.SuggestedTagAndRegionQueryToken type Tag = original.Tag +type TagFilter = original.TagFilter type TagPerformance = original.TagPerformance func New(aPIKey string, endpoint string) BaseClient { @@ -299,6 +317,9 @@ func PossibleImageCreateStatusValues() []ImageCreateStatus { func PossibleOrderByValues() []OrderBy { return original.PossibleOrderByValues() } +func PossibleSortByValues() []SortBy { + return original.PossibleSortByValues() +} func PossibleTagTypeValues() []TagType { return original.PossibleTagTypeValues() } diff --git a/profiles/latest/cognitiveservices/customvision/training/trainingapi/models.go b/profiles/latest/cognitiveservices/customvision/training/trainingapi/models.go index 0444526d782d..58513bb4fcd7 100644 --- a/profiles/latest/cognitiveservices/customvision/training/trainingapi/models.go +++ b/profiles/latest/cognitiveservices/customvision/training/trainingapi/models.go @@ -19,6 +19,6 @@ package trainingapi -import original "github.com/Azure/azure-sdk-for-go/services/cognitiveservices/v3.0/customvision/training/trainingapi" +import original "github.com/Azure/azure-sdk-for-go/services/cognitiveservices/v3.1/customvision/training/trainingapi" type BaseClientAPI = original.BaseClientAPI diff --git a/profiles/latest/cognitiveservices/luis/programmatic/models.go b/profiles/latest/cognitiveservices/luis/programmatic/models.go deleted file mode 100644 index 7cb4f4e642ef..000000000000 --- a/profiles/latest/cognitiveservices/luis/programmatic/models.go +++ /dev/null @@ -1,453 +0,0 @@ -// +build go1.9 - -// Copyright 2019 Microsoft Corporation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -// This code was auto-generated by: -// github.com/Azure/azure-sdk-for-go/tools/profileBuilder - -package programmatic - -import original "github.com/Azure/azure-sdk-for-go/services/cognitiveservices/v2.0/luis/programmatic" - -type AzureRegions = original.AzureRegions - -const ( - Australiaeast AzureRegions = original.Australiaeast - Brazilsouth AzureRegions = original.Brazilsouth - Eastasia AzureRegions = original.Eastasia - Eastus AzureRegions = original.Eastus - Eastus2 AzureRegions = original.Eastus2 - Northeurope AzureRegions = original.Northeurope - Southcentralus AzureRegions = original.Southcentralus - Southeastasia AzureRegions = original.Southeastasia - Westcentralus AzureRegions = original.Westcentralus - Westeurope AzureRegions = original.Westeurope - Westus AzureRegions = original.Westus - Westus2 AzureRegions = original.Westus2 -) - -type OperationStatusType = original.OperationStatusType - -const ( - Failed OperationStatusType = original.Failed - FAILED OperationStatusType = original.FAILED - Success OperationStatusType = original.Success -) - -type ReadableType = original.ReadableType - -const ( - ReadableTypeClosedListEntityExtractor ReadableType = original.ReadableTypeClosedListEntityExtractor - ReadableTypeCompositeEntityExtractor ReadableType = original.ReadableTypeCompositeEntityExtractor - ReadableTypeEntityExtractor ReadableType = original.ReadableTypeEntityExtractor - ReadableTypeHierarchicalChildEntityExtractor ReadableType = original.ReadableTypeHierarchicalChildEntityExtractor - ReadableTypeHierarchicalEntityExtractor ReadableType = original.ReadableTypeHierarchicalEntityExtractor - ReadableTypeIntentClassifier ReadableType = original.ReadableTypeIntentClassifier - ReadableTypePatternAnyEntityExtractor ReadableType = original.ReadableTypePatternAnyEntityExtractor - ReadableTypePrebuiltEntityExtractor ReadableType = original.ReadableTypePrebuiltEntityExtractor - ReadableTypeRegexEntityExtractor ReadableType = original.ReadableTypeRegexEntityExtractor -) - -type ReadableType1 = original.ReadableType1 - -const ( - ReadableType1ClosedListEntityExtractor ReadableType1 = original.ReadableType1ClosedListEntityExtractor - ReadableType1CompositeEntityExtractor ReadableType1 = original.ReadableType1CompositeEntityExtractor - ReadableType1EntityExtractor ReadableType1 = original.ReadableType1EntityExtractor - ReadableType1HierarchicalChildEntityExtractor ReadableType1 = original.ReadableType1HierarchicalChildEntityExtractor - ReadableType1HierarchicalEntityExtractor ReadableType1 = original.ReadableType1HierarchicalEntityExtractor - ReadableType1IntentClassifier ReadableType1 = original.ReadableType1IntentClassifier - ReadableType1PatternAnyEntityExtractor ReadableType1 = original.ReadableType1PatternAnyEntityExtractor - ReadableType1PrebuiltEntityExtractor ReadableType1 = original.ReadableType1PrebuiltEntityExtractor - ReadableType1RegexEntityExtractor ReadableType1 = original.ReadableType1RegexEntityExtractor -) - -type ReadableType10 = original.ReadableType10 - -const ( - ReadableType10ClosedListEntityExtractor ReadableType10 = original.ReadableType10ClosedListEntityExtractor - ReadableType10CompositeEntityExtractor ReadableType10 = original.ReadableType10CompositeEntityExtractor - ReadableType10EntityExtractor ReadableType10 = original.ReadableType10EntityExtractor - ReadableType10HierarchicalChildEntityExtractor ReadableType10 = original.ReadableType10HierarchicalChildEntityExtractor - ReadableType10HierarchicalEntityExtractor ReadableType10 = original.ReadableType10HierarchicalEntityExtractor - ReadableType10IntentClassifier ReadableType10 = original.ReadableType10IntentClassifier - ReadableType10PatternAnyEntityExtractor ReadableType10 = original.ReadableType10PatternAnyEntityExtractor - ReadableType10PrebuiltEntityExtractor ReadableType10 = original.ReadableType10PrebuiltEntityExtractor - ReadableType10RegexEntityExtractor ReadableType10 = original.ReadableType10RegexEntityExtractor -) - -type ReadableType2 = original.ReadableType2 - -const ( - ReadableType2ClosedListEntityExtractor ReadableType2 = original.ReadableType2ClosedListEntityExtractor - ReadableType2CompositeEntityExtractor ReadableType2 = original.ReadableType2CompositeEntityExtractor - ReadableType2EntityExtractor ReadableType2 = original.ReadableType2EntityExtractor - ReadableType2HierarchicalChildEntityExtractor ReadableType2 = original.ReadableType2HierarchicalChildEntityExtractor - ReadableType2HierarchicalEntityExtractor ReadableType2 = original.ReadableType2HierarchicalEntityExtractor - ReadableType2IntentClassifier ReadableType2 = original.ReadableType2IntentClassifier - ReadableType2PatternAnyEntityExtractor ReadableType2 = original.ReadableType2PatternAnyEntityExtractor - ReadableType2PrebuiltEntityExtractor ReadableType2 = original.ReadableType2PrebuiltEntityExtractor - ReadableType2RegexEntityExtractor ReadableType2 = original.ReadableType2RegexEntityExtractor -) - -type ReadableType3 = original.ReadableType3 - -const ( - ReadableType3ClosedListEntityExtractor ReadableType3 = original.ReadableType3ClosedListEntityExtractor - ReadableType3CompositeEntityExtractor ReadableType3 = original.ReadableType3CompositeEntityExtractor - ReadableType3EntityExtractor ReadableType3 = original.ReadableType3EntityExtractor - ReadableType3HierarchicalChildEntityExtractor ReadableType3 = original.ReadableType3HierarchicalChildEntityExtractor - ReadableType3HierarchicalEntityExtractor ReadableType3 = original.ReadableType3HierarchicalEntityExtractor - ReadableType3IntentClassifier ReadableType3 = original.ReadableType3IntentClassifier - ReadableType3PatternAnyEntityExtractor ReadableType3 = original.ReadableType3PatternAnyEntityExtractor - ReadableType3PrebuiltEntityExtractor ReadableType3 = original.ReadableType3PrebuiltEntityExtractor - ReadableType3RegexEntityExtractor ReadableType3 = original.ReadableType3RegexEntityExtractor -) - -type ReadableType4 = original.ReadableType4 - -const ( - ReadableType4ClosedListEntityExtractor ReadableType4 = original.ReadableType4ClosedListEntityExtractor - ReadableType4CompositeEntityExtractor ReadableType4 = original.ReadableType4CompositeEntityExtractor - ReadableType4EntityExtractor ReadableType4 = original.ReadableType4EntityExtractor - ReadableType4HierarchicalChildEntityExtractor ReadableType4 = original.ReadableType4HierarchicalChildEntityExtractor - ReadableType4HierarchicalEntityExtractor ReadableType4 = original.ReadableType4HierarchicalEntityExtractor - ReadableType4IntentClassifier ReadableType4 = original.ReadableType4IntentClassifier - ReadableType4PatternAnyEntityExtractor ReadableType4 = original.ReadableType4PatternAnyEntityExtractor - ReadableType4PrebuiltEntityExtractor ReadableType4 = original.ReadableType4PrebuiltEntityExtractor - ReadableType4RegexEntityExtractor ReadableType4 = original.ReadableType4RegexEntityExtractor -) - -type ReadableType5 = original.ReadableType5 - -const ( - ReadableType5ClosedListEntityExtractor ReadableType5 = original.ReadableType5ClosedListEntityExtractor - ReadableType5CompositeEntityExtractor ReadableType5 = original.ReadableType5CompositeEntityExtractor - ReadableType5EntityExtractor ReadableType5 = original.ReadableType5EntityExtractor - ReadableType5HierarchicalChildEntityExtractor ReadableType5 = original.ReadableType5HierarchicalChildEntityExtractor - ReadableType5HierarchicalEntityExtractor ReadableType5 = original.ReadableType5HierarchicalEntityExtractor - ReadableType5IntentClassifier ReadableType5 = original.ReadableType5IntentClassifier - ReadableType5PatternAnyEntityExtractor ReadableType5 = original.ReadableType5PatternAnyEntityExtractor - ReadableType5PrebuiltEntityExtractor ReadableType5 = original.ReadableType5PrebuiltEntityExtractor - ReadableType5RegexEntityExtractor ReadableType5 = original.ReadableType5RegexEntityExtractor -) - -type ReadableType6 = original.ReadableType6 - -const ( - ReadableType6ClosedListEntityExtractor ReadableType6 = original.ReadableType6ClosedListEntityExtractor - ReadableType6CompositeEntityExtractor ReadableType6 = original.ReadableType6CompositeEntityExtractor - ReadableType6EntityExtractor ReadableType6 = original.ReadableType6EntityExtractor - ReadableType6HierarchicalChildEntityExtractor ReadableType6 = original.ReadableType6HierarchicalChildEntityExtractor - ReadableType6HierarchicalEntityExtractor ReadableType6 = original.ReadableType6HierarchicalEntityExtractor - ReadableType6IntentClassifier ReadableType6 = original.ReadableType6IntentClassifier - ReadableType6PatternAnyEntityExtractor ReadableType6 = original.ReadableType6PatternAnyEntityExtractor - ReadableType6PrebuiltEntityExtractor ReadableType6 = original.ReadableType6PrebuiltEntityExtractor - ReadableType6RegexEntityExtractor ReadableType6 = original.ReadableType6RegexEntityExtractor -) - -type ReadableType7 = original.ReadableType7 - -const ( - ReadableType7ClosedListEntityExtractor ReadableType7 = original.ReadableType7ClosedListEntityExtractor - ReadableType7CompositeEntityExtractor ReadableType7 = original.ReadableType7CompositeEntityExtractor - ReadableType7EntityExtractor ReadableType7 = original.ReadableType7EntityExtractor - ReadableType7HierarchicalChildEntityExtractor ReadableType7 = original.ReadableType7HierarchicalChildEntityExtractor - ReadableType7HierarchicalEntityExtractor ReadableType7 = original.ReadableType7HierarchicalEntityExtractor - ReadableType7IntentClassifier ReadableType7 = original.ReadableType7IntentClassifier - ReadableType7PatternAnyEntityExtractor ReadableType7 = original.ReadableType7PatternAnyEntityExtractor - ReadableType7PrebuiltEntityExtractor ReadableType7 = original.ReadableType7PrebuiltEntityExtractor - ReadableType7RegexEntityExtractor ReadableType7 = original.ReadableType7RegexEntityExtractor -) - -type ReadableType8 = original.ReadableType8 - -const ( - ReadableType8ClosedListEntityExtractor ReadableType8 = original.ReadableType8ClosedListEntityExtractor - ReadableType8CompositeEntityExtractor ReadableType8 = original.ReadableType8CompositeEntityExtractor - ReadableType8EntityExtractor ReadableType8 = original.ReadableType8EntityExtractor - ReadableType8HierarchicalChildEntityExtractor ReadableType8 = original.ReadableType8HierarchicalChildEntityExtractor - ReadableType8HierarchicalEntityExtractor ReadableType8 = original.ReadableType8HierarchicalEntityExtractor - ReadableType8IntentClassifier ReadableType8 = original.ReadableType8IntentClassifier - ReadableType8PatternAnyEntityExtractor ReadableType8 = original.ReadableType8PatternAnyEntityExtractor - ReadableType8PrebuiltEntityExtractor ReadableType8 = original.ReadableType8PrebuiltEntityExtractor - ReadableType8RegexEntityExtractor ReadableType8 = original.ReadableType8RegexEntityExtractor -) - -type ReadableType9 = original.ReadableType9 - -const ( - ReadableType9ClosedListEntityExtractor ReadableType9 = original.ReadableType9ClosedListEntityExtractor - ReadableType9CompositeEntityExtractor ReadableType9 = original.ReadableType9CompositeEntityExtractor - ReadableType9EntityExtractor ReadableType9 = original.ReadableType9EntityExtractor - ReadableType9HierarchicalChildEntityExtractor ReadableType9 = original.ReadableType9HierarchicalChildEntityExtractor - ReadableType9HierarchicalEntityExtractor ReadableType9 = original.ReadableType9HierarchicalEntityExtractor - ReadableType9IntentClassifier ReadableType9 = original.ReadableType9IntentClassifier - ReadableType9PatternAnyEntityExtractor ReadableType9 = original.ReadableType9PatternAnyEntityExtractor - ReadableType9PrebuiltEntityExtractor ReadableType9 = original.ReadableType9PrebuiltEntityExtractor - ReadableType9RegexEntityExtractor ReadableType9 = original.ReadableType9RegexEntityExtractor -) - -type Status = original.Status - -const ( - StatusFail Status = original.StatusFail - StatusInProgress Status = original.StatusInProgress - StatusQueued Status = original.StatusQueued - StatusSuccess Status = original.StatusSuccess - StatusUpToDate Status = original.StatusUpToDate -) - -type Status1 = original.Status1 - -const ( - Status1Fail Status1 = original.Status1Fail - Status1InProgress Status1 = original.Status1InProgress - Status1Queued Status1 = original.Status1Queued - Status1Success Status1 = original.Status1Success - Status1UpToDate Status1 = original.Status1UpToDate -) - -type TrainingStatus = original.TrainingStatus - -const ( - InProgress TrainingStatus = original.InProgress - NeedsTraining TrainingStatus = original.NeedsTraining - Trained TrainingStatus = original.Trained -) - -type ApplicationCreateObject = original.ApplicationCreateObject -type ApplicationInfoResponse = original.ApplicationInfoResponse -type ApplicationPublishObject = original.ApplicationPublishObject -type ApplicationSettingUpdateObject = original.ApplicationSettingUpdateObject -type ApplicationSettings = original.ApplicationSettings -type ApplicationUpdateObject = original.ApplicationUpdateObject -type AppsClient = original.AppsClient -type AvailableCulture = original.AvailableCulture -type AvailablePrebuiltEntityModel = original.AvailablePrebuiltEntityModel -type BaseClient = original.BaseClient -type BatchLabelExample = original.BatchLabelExample -type ChildEntity = original.ChildEntity -type ClosedList = original.ClosedList -type ClosedListEntityExtractor = original.ClosedListEntityExtractor -type ClosedListModelCreateObject = original.ClosedListModelCreateObject -type ClosedListModelPatchObject = original.ClosedListModelPatchObject -type ClosedListModelUpdateObject = original.ClosedListModelUpdateObject -type CollaboratorsArray = original.CollaboratorsArray -type CompositeChildModelCreateObject = original.CompositeChildModelCreateObject -type CompositeEntityExtractor = original.CompositeEntityExtractor -type CompositeEntityModel = original.CompositeEntityModel -type CustomPrebuiltModel = original.CustomPrebuiltModel -type EndpointInfo = original.EndpointInfo -type EnqueueTrainingResponse = original.EnqueueTrainingResponse -type EntitiesSuggestionExample = original.EntitiesSuggestionExample -type EntityExtractor = original.EntityExtractor -type EntityLabel = original.EntityLabel -type EntityLabelObject = original.EntityLabelObject -type EntityModelInfo = original.EntityModelInfo -type EntityPrediction = original.EntityPrediction -type EntityRole = original.EntityRole -type EntityRoleCreateObject = original.EntityRoleCreateObject -type EntityRoleUpdateObject = original.EntityRoleUpdateObject -type ErrorResponse = original.ErrorResponse -type ExampleLabelObject = original.ExampleLabelObject -type ExamplesClient = original.ExamplesClient -type ExplicitListItem = original.ExplicitListItem -type ExplicitListItemCreateObject = original.ExplicitListItemCreateObject -type ExplicitListItemUpdateObject = original.ExplicitListItemUpdateObject -type FeatureInfoObject = original.FeatureInfoObject -type FeaturesClient = original.FeaturesClient -type FeaturesResponseObject = original.FeaturesResponseObject -type HierarchicalChildEntity = original.HierarchicalChildEntity -type HierarchicalChildModelCreateObject = original.HierarchicalChildModelCreateObject -type HierarchicalChildModelUpdateObject = original.HierarchicalChildModelUpdateObject -type HierarchicalEntityExtractor = original.HierarchicalEntityExtractor -type HierarchicalEntityModel = original.HierarchicalEntityModel -type HierarchicalModel = original.HierarchicalModel -type Int32 = original.Int32 -type IntentClassifier = original.IntentClassifier -type IntentPrediction = original.IntentPrediction -type IntentsSuggestionExample = original.IntentsSuggestionExample -type JSONEntity = original.JSONEntity -type JSONModelFeature = original.JSONModelFeature -type JSONRegexFeature = original.JSONRegexFeature -type JSONUtterance = original.JSONUtterance -type LabelExampleResponse = original.LabelExampleResponse -type LabeledUtterance = original.LabeledUtterance -type ListApplicationInfoResponse = original.ListApplicationInfoResponse -type ListAvailableCulture = original.ListAvailableCulture -type ListAvailablePrebuiltEntityModel = original.ListAvailablePrebuiltEntityModel -type ListBatchLabelExample = original.ListBatchLabelExample -type ListClosedListEntityExtractor = original.ListClosedListEntityExtractor -type ListCompositeEntityExtractor = original.ListCompositeEntityExtractor -type ListCustomPrebuiltModel = original.ListCustomPrebuiltModel -type ListEntitiesSuggestionExample = original.ListEntitiesSuggestionExample -type ListEntityExtractor = original.ListEntityExtractor -type ListEntityRole = original.ListEntityRole -type ListExplicitListItem = original.ListExplicitListItem -type ListHierarchicalEntityExtractor = original.ListHierarchicalEntityExtractor -type ListIntentClassifier = original.ListIntentClassifier -type ListIntentsSuggestionExample = original.ListIntentsSuggestionExample -type ListLabeledUtterance = original.ListLabeledUtterance -type ListModelInfoResponse = original.ListModelInfoResponse -type ListModelTrainingInfo = original.ListModelTrainingInfo -type ListPatternAnyEntityExtractor = original.ListPatternAnyEntityExtractor -type ListPatternRuleInfo = original.ListPatternRuleInfo -type ListPhraseListFeatureInfo = original.ListPhraseListFeatureInfo -type ListPrebuiltDomain = original.ListPrebuiltDomain -type ListPrebuiltEntityExtractor = original.ListPrebuiltEntityExtractor -type ListRegexEntityExtractor = original.ListRegexEntityExtractor -type ListString = original.ListString -type ListUUID = original.ListUUID -type ListVersionInfo = original.ListVersionInfo -type LuisApp = original.LuisApp -type ModelClient = original.ModelClient -type ModelCreateObject = original.ModelCreateObject -type ModelInfo = original.ModelInfo -type ModelInfoResponse = original.ModelInfoResponse -type ModelTrainingDetails = original.ModelTrainingDetails -type ModelTrainingInfo = original.ModelTrainingInfo -type ModelUpdateObject = original.ModelUpdateObject -type OperationError = original.OperationError -type OperationStatus = original.OperationStatus -type PatternAny = original.PatternAny -type PatternAnyEntityExtractor = original.PatternAnyEntityExtractor -type PatternAnyModelCreateObject = original.PatternAnyModelCreateObject -type PatternAnyModelUpdateObject = original.PatternAnyModelUpdateObject -type PatternClient = original.PatternClient -type PatternCreateObject = original.PatternCreateObject -type PatternFeatureInfo = original.PatternFeatureInfo -type PatternRule = original.PatternRule -type PatternRuleCreateObject = original.PatternRuleCreateObject -type PatternRuleInfo = original.PatternRuleInfo -type PatternRuleUpdateObject = original.PatternRuleUpdateObject -type PatternUpdateObject = original.PatternUpdateObject -type PermissionsClient = original.PermissionsClient -type PersonalAssistantsResponse = original.PersonalAssistantsResponse -type PhraseListFeatureInfo = original.PhraseListFeatureInfo -type PhraselistCreateObject = original.PhraselistCreateObject -type PhraselistUpdateObject = original.PhraselistUpdateObject -type PrebuiltDomain = original.PrebuiltDomain -type PrebuiltDomainCreateBaseObject = original.PrebuiltDomainCreateBaseObject -type PrebuiltDomainCreateObject = original.PrebuiltDomainCreateObject -type PrebuiltDomainItem = original.PrebuiltDomainItem -type PrebuiltDomainModelCreateObject = original.PrebuiltDomainModelCreateObject -type PrebuiltDomainObject = original.PrebuiltDomainObject -type PrebuiltEntity = original.PrebuiltEntity -type PrebuiltEntityExtractor = original.PrebuiltEntityExtractor -type ProductionOrStagingEndpointInfo = original.ProductionOrStagingEndpointInfo -type ReadCloser = original.ReadCloser -type RegexEntity = original.RegexEntity -type RegexEntityExtractor = original.RegexEntityExtractor -type RegexModelCreateObject = original.RegexModelCreateObject -type RegexModelUpdateObject = original.RegexModelUpdateObject -type SetString = original.SetString -type String = original.String -type SubClosedList = original.SubClosedList -type SubClosedListResponse = original.SubClosedListResponse -type TaskUpdateObject = original.TaskUpdateObject -type TrainClient = original.TrainClient -type UUID = original.UUID -type UserAccessList = original.UserAccessList -type UserCollaborator = original.UserCollaborator -type VersionInfo = original.VersionInfo -type VersionsClient = original.VersionsClient -type WordListBaseUpdateObject = original.WordListBaseUpdateObject -type WordListObject = original.WordListObject - -func New(azureRegion AzureRegions) BaseClient { - return original.New(azureRegion) -} -func NewAppsClient(azureRegion AzureRegions) AppsClient { - return original.NewAppsClient(azureRegion) -} -func NewExamplesClient(azureRegion AzureRegions) ExamplesClient { - return original.NewExamplesClient(azureRegion) -} -func NewFeaturesClient(azureRegion AzureRegions) FeaturesClient { - return original.NewFeaturesClient(azureRegion) -} -func NewModelClient(azureRegion AzureRegions) ModelClient { - return original.NewModelClient(azureRegion) -} -func NewPatternClient(azureRegion AzureRegions) PatternClient { - return original.NewPatternClient(azureRegion) -} -func NewPermissionsClient(azureRegion AzureRegions) PermissionsClient { - return original.NewPermissionsClient(azureRegion) -} -func NewTrainClient(azureRegion AzureRegions) TrainClient { - return original.NewTrainClient(azureRegion) -} -func NewVersionsClient(azureRegion AzureRegions) VersionsClient { - return original.NewVersionsClient(azureRegion) -} -func NewWithoutDefaults(azureRegion AzureRegions) BaseClient { - return original.NewWithoutDefaults(azureRegion) -} -func PossibleAzureRegionsValues() []AzureRegions { - return original.PossibleAzureRegionsValues() -} -func PossibleOperationStatusTypeValues() []OperationStatusType { - return original.PossibleOperationStatusTypeValues() -} -func PossibleReadableType10Values() []ReadableType10 { - return original.PossibleReadableType10Values() -} -func PossibleReadableType1Values() []ReadableType1 { - return original.PossibleReadableType1Values() -} -func PossibleReadableType2Values() []ReadableType2 { - return original.PossibleReadableType2Values() -} -func PossibleReadableType3Values() []ReadableType3 { - return original.PossibleReadableType3Values() -} -func PossibleReadableType4Values() []ReadableType4 { - return original.PossibleReadableType4Values() -} -func PossibleReadableType5Values() []ReadableType5 { - return original.PossibleReadableType5Values() -} -func PossibleReadableType6Values() []ReadableType6 { - return original.PossibleReadableType6Values() -} -func PossibleReadableType7Values() []ReadableType7 { - return original.PossibleReadableType7Values() -} -func PossibleReadableType8Values() []ReadableType8 { - return original.PossibleReadableType8Values() -} -func PossibleReadableType9Values() []ReadableType9 { - return original.PossibleReadableType9Values() -} -func PossibleReadableTypeValues() []ReadableType { - return original.PossibleReadableTypeValues() -} -func PossibleStatus1Values() []Status1 { - return original.PossibleStatus1Values() -} -func PossibleStatusValues() []Status { - return original.PossibleStatusValues() -} -func PossibleTrainingStatusValues() []TrainingStatus { - return original.PossibleTrainingStatusValues() -} -func UserAgent() string { - return original.UserAgent() + " profiles/latest" -} -func Version() string { - return original.Version() -} diff --git a/profiles/latest/compute/mgmt/compute/models.go b/profiles/latest/compute/mgmt/compute/models.go index 2c2f9e8eccc6..f9346b5c8435 100644 --- a/profiles/latest/compute/mgmt/compute/models.go +++ b/profiles/latest/compute/mgmt/compute/models.go @@ -460,6 +460,14 @@ const ( Regular VirtualMachinePriorityTypes = original.Regular ) +type VirtualMachineScaleSetScaleInRules = original.VirtualMachineScaleSetScaleInRules + +const ( + Default VirtualMachineScaleSetScaleInRules = original.Default + NewestVM VirtualMachineScaleSetScaleInRules = original.NewestVM + OldestVM VirtualMachineScaleSetScaleInRules = original.OldestVM +) + type VirtualMachineScaleSetSkuScaleType = original.VirtualMachineScaleSetSkuScaleType const ( @@ -646,6 +654,7 @@ type AdditionalCapabilities = original.AdditionalCapabilities type AdditionalUnattendContent = original.AdditionalUnattendContent type AutomaticOSUpgradePolicy = original.AutomaticOSUpgradePolicy type AutomaticOSUpgradeProperties = original.AutomaticOSUpgradeProperties +type AutomaticRepairsPolicy = original.AutomaticRepairsPolicy type AvailabilitySet = original.AvailabilitySet type AvailabilitySetListResult = original.AvailabilitySetListResult type AvailabilitySetListResultIterator = original.AvailabilitySetListResultIterator @@ -654,6 +663,7 @@ type AvailabilitySetProperties = original.AvailabilitySetProperties type AvailabilitySetUpdate = original.AvailabilitySetUpdate type AvailabilitySetsClient = original.AvailabilitySetsClient type BaseClient = original.BaseClient +type BillingProfile = original.BillingProfile type BootDiagnostics = original.BootDiagnostics type BootDiagnosticsInstanceView = original.BootDiagnosticsInstanceView type CloudError = original.CloudError @@ -865,6 +875,7 @@ type RunCommandParameterDefinition = original.RunCommandParameterDefinition type RunCommandResult = original.RunCommandResult type SSHConfiguration = original.SSHConfiguration type SSHPublicKey = original.SSHPublicKey +type ScaleInPolicy = original.ScaleInPolicy type ScheduledEventsProfile = original.ScheduledEventsProfile type Sku = original.Sku type Snapshot = original.Snapshot @@ -1507,6 +1518,9 @@ func PossibleVirtualMachineEvictionPolicyTypesValues() []VirtualMachineEvictionP func PossibleVirtualMachinePriorityTypesValues() []VirtualMachinePriorityTypes { return original.PossibleVirtualMachinePriorityTypesValues() } +func PossibleVirtualMachineScaleSetScaleInRulesValues() []VirtualMachineScaleSetScaleInRules { + return original.PossibleVirtualMachineScaleSetScaleInRulesValues() +} func PossibleVirtualMachineScaleSetSkuScaleTypeValues() []VirtualMachineScaleSetSkuScaleType { return original.PossibleVirtualMachineScaleSetSkuScaleTypeValues() } diff --git a/profiles/latest/cosmos-db/mgmt/documentdb/models.go b/profiles/latest/cosmos-db/mgmt/documentdb/models.go index c2dd112fa7dd..dfc17a427c56 100644 --- a/profiles/latest/cosmos-db/mgmt/documentdb/models.go +++ b/profiles/latest/cosmos-db/mgmt/documentdb/models.go @@ -112,12 +112,12 @@ const ( type PrimaryAggregationType = original.PrimaryAggregationType const ( - PrimaryAggregationTypeAverage PrimaryAggregationType = original.PrimaryAggregationTypeAverage - PrimaryAggregationTypeLast PrimaryAggregationType = original.PrimaryAggregationTypeLast - PrimaryAggregationTypeMaximum PrimaryAggregationType = original.PrimaryAggregationTypeMaximum - PrimaryAggregationTypeMinimimum PrimaryAggregationType = original.PrimaryAggregationTypeMinimimum - PrimaryAggregationTypeNone PrimaryAggregationType = original.PrimaryAggregationTypeNone - PrimaryAggregationTypeTotal PrimaryAggregationType = original.PrimaryAggregationTypeTotal + PrimaryAggregationTypeAverage PrimaryAggregationType = original.PrimaryAggregationTypeAverage + PrimaryAggregationTypeLast PrimaryAggregationType = original.PrimaryAggregationTypeLast + PrimaryAggregationTypeMaximum PrimaryAggregationType = original.PrimaryAggregationTypeMaximum + PrimaryAggregationTypeMinimum PrimaryAggregationType = original.PrimaryAggregationTypeMinimum + PrimaryAggregationTypeNone PrimaryAggregationType = original.PrimaryAggregationTypeNone + PrimaryAggregationTypeTotal PrimaryAggregationType = original.PrimaryAggregationTypeTotal ) type UnitType = original.UnitType diff --git a/profiles/latest/databox/mgmt/databox/databoxapi/models.go b/profiles/latest/databox/mgmt/databox/databoxapi/models.go index 4cbd950b6a9b..d1f0705c3f4b 100644 --- a/profiles/latest/databox/mgmt/databox/databoxapi/models.go +++ b/profiles/latest/databox/mgmt/databox/databoxapi/models.go @@ -19,7 +19,7 @@ package databoxapi -import original "github.com/Azure/azure-sdk-for-go/services/databox/mgmt/2018-01-01/databox/databoxapi" +import original "github.com/Azure/azure-sdk-for-go/services/databox/mgmt/2019-09-01/databox/databoxapi" type JobsClientAPI = original.JobsClientAPI type OperationsClientAPI = original.OperationsClientAPI diff --git a/profiles/latest/databox/mgmt/databox/models.go b/profiles/latest/databox/mgmt/databox/models.go index aaee28b88012..cfd5f24d7b2b 100644 --- a/profiles/latest/databox/mgmt/databox/models.go +++ b/profiles/latest/databox/mgmt/databox/models.go @@ -22,7 +22,7 @@ package databox import ( "context" - original "github.com/Azure/azure-sdk-for-go/services/databox/mgmt/2018-01-01/databox" + original "github.com/Azure/azure-sdk-for-go/services/databox/mgmt/2019-09-01/databox" ) const ( @@ -64,20 +64,39 @@ const ( type CopyStatus = original.CopyStatus const ( - Completed CopyStatus = original.Completed - CompletedWithErrors CopyStatus = original.CompletedWithErrors - Failed CopyStatus = original.Failed - InProgress CopyStatus = original.InProgress - NotReturned CopyStatus = original.NotReturned - NotStarted CopyStatus = original.NotStarted + Completed CopyStatus = original.Completed + CompletedWithErrors CopyStatus = original.CompletedWithErrors + DeviceFormatted CopyStatus = original.DeviceFormatted + DeviceMetadataModified CopyStatus = original.DeviceMetadataModified + Failed CopyStatus = original.Failed + HardwareError CopyStatus = original.HardwareError + InProgress CopyStatus = original.InProgress + NotReturned CopyStatus = original.NotReturned + NotStarted CopyStatus = original.NotStarted + StorageAccountNotAccessible CopyStatus = original.StorageAccountNotAccessible + UnsupportedData CopyStatus = original.UnsupportedData ) type DataDestinationType = original.DataDestinationType const ( - DataDestinationTypeDestinationAccountDetails DataDestinationType = original.DataDestinationTypeDestinationAccountDetails - DataDestinationTypeManagedDisk DataDestinationType = original.DataDestinationTypeManagedDisk - DataDestinationTypeStorageAccount DataDestinationType = original.DataDestinationTypeStorageAccount + ManagedDisk DataDestinationType = original.ManagedDisk + StorageAccount DataDestinationType = original.StorageAccount +) + +type DataDestinationTypeBasicDestinationAccountDetails = original.DataDestinationTypeBasicDestinationAccountDetails + +const ( + DataDestinationTypeDestinationAccountDetails DataDestinationTypeBasicDestinationAccountDetails = original.DataDestinationTypeDestinationAccountDetails + DataDestinationTypeManagedDisk DataDestinationTypeBasicDestinationAccountDetails = original.DataDestinationTypeManagedDisk + DataDestinationTypeStorageAccount DataDestinationTypeBasicDestinationAccountDetails = original.DataDestinationTypeStorageAccount +) + +type JobDeliveryType = original.JobDeliveryType + +const ( + NonScheduled JobDeliveryType = original.NonScheduled + Scheduled JobDeliveryType = original.Scheduled ) type JobDetailsTypeEnum = original.JobDetailsTypeEnum @@ -109,15 +128,23 @@ const ( PickedUp NotificationStageName = original.PickedUp ) +type OverallValidationStatus = original.OverallValidationStatus + +const ( + AllValidToProceed OverallValidationStatus = original.AllValidToProceed + CertainInputValidationsSkipped OverallValidationStatus = original.CertainInputValidationsSkipped + InputsRevisitRequired OverallValidationStatus = original.InputsRevisitRequired +) + type ShareDestinationFormatType = original.ShareDestinationFormatType const ( - AzureFile ShareDestinationFormatType = original.AzureFile - BlockBlob ShareDestinationFormatType = original.BlockBlob - HCS ShareDestinationFormatType = original.HCS - ManagedDisk ShareDestinationFormatType = original.ManagedDisk - PageBlob ShareDestinationFormatType = original.PageBlob - UnknownType ShareDestinationFormatType = original.UnknownType + ShareDestinationFormatTypeAzureFile ShareDestinationFormatType = original.ShareDestinationFormatTypeAzureFile + ShareDestinationFormatTypeBlockBlob ShareDestinationFormatType = original.ShareDestinationFormatTypeBlockBlob + ShareDestinationFormatTypeHCS ShareDestinationFormatType = original.ShareDestinationFormatTypeHCS + ShareDestinationFormatTypeManagedDisk ShareDestinationFormatType = original.ShareDestinationFormatTypeManagedDisk + ShareDestinationFormatTypePageBlob ShareDestinationFormatType = original.ShareDestinationFormatTypePageBlob + ShareDestinationFormatTypeUnknownType ShareDestinationFormatType = original.ShareDestinationFormatTypeUnknownType ) type SkuDisabledReason = original.SkuDisabledReason @@ -139,6 +166,15 @@ const ( DataBoxHeavy SkuName = original.DataBoxHeavy ) +type SkuNameBasicScheduleAvailabilityRequest = original.SkuNameBasicScheduleAvailabilityRequest + +const ( + SkuNameDataBox SkuNameBasicScheduleAvailabilityRequest = original.SkuNameDataBox + SkuNameDataBoxDisk SkuNameBasicScheduleAvailabilityRequest = original.SkuNameDataBoxDisk + SkuNameDataBoxHeavy SkuNameBasicScheduleAvailabilityRequest = original.SkuNameDataBoxHeavy + SkuNameScheduleAvailabilityRequest SkuNameBasicScheduleAvailabilityRequest = original.SkuNameScheduleAvailabilityRequest +) + type StageName = original.StageName const ( @@ -147,6 +183,7 @@ const ( StageNameCancelled StageName = original.StageNameCancelled StageNameCompleted StageName = original.StageNameCompleted StageNameCompletedWithErrors StageName = original.StageNameCompletedWithErrors + StageNameCompletedWithWarnings StageName = original.StageNameCompletedWithWarnings StageNameDataCopy StageName = original.StageNameDataCopy StageNameDelivered StageName = original.StageNameDelivered StageNameDeviceOrdered StageName = original.StageNameDeviceOrdered @@ -155,6 +192,8 @@ const ( StageNameFailedIssueDetectedAtAzureDC StageName = original.StageNameFailedIssueDetectedAtAzureDC StageNameFailedIssueReportedAtCustomer StageName = original.StageNameFailedIssueReportedAtCustomer StageNamePickedUp StageName = original.StageNamePickedUp + StageNameReadyToDispatchFromAzureDC StageName = original.StageNameReadyToDispatchFromAzureDC + StageNameReadyToReceiveAtAzureDC StageName = original.StageNameReadyToReceiveAtAzureDC ) type StageStatus = original.StageStatus @@ -169,6 +208,52 @@ const ( StageStatusSucceededWithErrors StageStatus = original.StageStatusSucceededWithErrors ) +type TransportShipmentTypes = original.TransportShipmentTypes + +const ( + CustomerManaged TransportShipmentTypes = original.CustomerManaged + MicrosoftManaged TransportShipmentTypes = original.MicrosoftManaged +) + +type ValidationCategory = original.ValidationCategory + +const ( + ValidationCategoryJobCreationValidation ValidationCategory = original.ValidationCategoryJobCreationValidation + ValidationCategoryValidationRequest ValidationCategory = original.ValidationCategoryValidationRequest +) + +type ValidationStatus = original.ValidationStatus + +const ( + ValidationStatusInvalid ValidationStatus = original.ValidationStatusInvalid + ValidationStatusSkipped ValidationStatus = original.ValidationStatusSkipped + ValidationStatusValid ValidationStatus = original.ValidationStatusValid +) + +type ValidationType = original.ValidationType + +const ( + ValidationTypeValidateAddress ValidationType = original.ValidationTypeValidateAddress + ValidationTypeValidateCreateOrderLimit ValidationType = original.ValidationTypeValidateCreateOrderLimit + ValidationTypeValidateDataDestinationDetails ValidationType = original.ValidationTypeValidateDataDestinationDetails + ValidationTypeValidatePreferences ValidationType = original.ValidationTypeValidatePreferences + ValidationTypeValidateSkuAvailability ValidationType = original.ValidationTypeValidateSkuAvailability + ValidationTypeValidateSubscriptionIsAllowedToCreateJob ValidationType = original.ValidationTypeValidateSubscriptionIsAllowedToCreateJob + ValidationTypeValidationInputRequest ValidationType = original.ValidationTypeValidationInputRequest +) + +type ValidationTypeBasicValidationInputResponse = original.ValidationTypeBasicValidationInputResponse + +const ( + ValidationTypeBasicValidationInputResponseValidationTypeValidateAddress ValidationTypeBasicValidationInputResponse = original.ValidationTypeBasicValidationInputResponseValidationTypeValidateAddress + ValidationTypeBasicValidationInputResponseValidationTypeValidateCreateOrderLimit ValidationTypeBasicValidationInputResponse = original.ValidationTypeBasicValidationInputResponseValidationTypeValidateCreateOrderLimit + ValidationTypeBasicValidationInputResponseValidationTypeValidateDataDestinationDetails ValidationTypeBasicValidationInputResponse = original.ValidationTypeBasicValidationInputResponseValidationTypeValidateDataDestinationDetails + ValidationTypeBasicValidationInputResponseValidationTypeValidatePreferences ValidationTypeBasicValidationInputResponse = original.ValidationTypeBasicValidationInputResponseValidationTypeValidatePreferences + ValidationTypeBasicValidationInputResponseValidationTypeValidateSkuAvailability ValidationTypeBasicValidationInputResponse = original.ValidationTypeBasicValidationInputResponseValidationTypeValidateSkuAvailability + ValidationTypeBasicValidationInputResponseValidationTypeValidateSubscriptionIsAllowedToCreateJob ValidationTypeBasicValidationInputResponse = original.ValidationTypeBasicValidationInputResponseValidationTypeValidateSubscriptionIsAllowedToCreateJob + ValidationTypeBasicValidationInputResponseValidationTypeValidationInputResponse ValidationTypeBasicValidationInputResponse = original.ValidationTypeBasicValidationInputResponseValidationTypeValidationInputResponse +) + type AccountCopyLogDetails = original.AccountCopyLogDetails type AccountCredentialDetails = original.AccountCredentialDetails type AddressValidationOutput = original.AddressValidationOutput @@ -184,10 +269,21 @@ type BasicCopyLogDetails = original.BasicCopyLogDetails type BasicDestinationAccountDetails = original.BasicDestinationAccountDetails type BasicJobDetails = original.BasicJobDetails type BasicJobSecrets = original.BasicJobSecrets +type BasicScheduleAvailabilityRequest = original.BasicScheduleAvailabilityRequest +type BasicValidationInputRequest = original.BasicValidationInputRequest +type BasicValidationInputResponse = original.BasicValidationInputResponse +type BasicValidationRequest = original.BasicValidationRequest type CancellationReason = original.CancellationReason +type CloudError = original.CloudError type ContactDetails = original.ContactDetails type CopyLogDetails = original.CopyLogDetails type CopyProgress = original.CopyProgress +type CreateJobValidations = original.CreateJobValidations +type CreateOrderLimitForSubscriptionValidationRequest = original.CreateOrderLimitForSubscriptionValidationRequest +type CreateOrderLimitForSubscriptionValidationResponseProperties = original.CreateOrderLimitForSubscriptionValidationResponseProperties +type DataDestinationDetailsValidationRequest = original.DataDestinationDetailsValidationRequest +type DataDestinationDetailsValidationResponseProperties = original.DataDestinationDetailsValidationResponseProperties +type DcAccessSecurityCode = original.DcAccessSecurityCode type DestinationAccountDetails = original.DestinationAccountDetails type DestinationManagedDiskDetails = original.DestinationManagedDiskDetails type DestinationStorageAccountDetails = original.DestinationStorageAccountDetails @@ -196,12 +292,15 @@ type DiskCopyLogDetails = original.DiskCopyLogDetails type DiskCopyProgress = original.DiskCopyProgress type DiskJobDetails = original.DiskJobDetails type DiskJobSecrets = original.DiskJobSecrets +type DiskScheduleAvailabilityRequest = original.DiskScheduleAvailabilityRequest type DiskSecret = original.DiskSecret type Error = original.Error type HeavyAccountCopyLogDetails = original.HeavyAccountCopyLogDetails type HeavyJobDetails = original.HeavyJobDetails type HeavyJobSecrets = original.HeavyJobSecrets +type HeavyScheduleAvailabilityRequest = original.HeavyScheduleAvailabilityRequest type HeavySecret = original.HeavySecret +type JobDeliveryInfo = original.JobDeliveryInfo type JobDetails = original.JobDetails type JobDetailsType = original.JobDetailsType type JobErrorDetails = original.JobErrorDetails @@ -227,7 +326,14 @@ type OperationListPage = original.OperationListPage type OperationsClient = original.OperationsClient type PackageShippingDetails = original.PackageShippingDetails type Preferences = original.Preferences +type PreferencesValidationRequest = original.PreferencesValidationRequest +type PreferencesValidationResponseProperties = original.PreferencesValidationResponseProperties +type RegionConfigurationRequest = original.RegionConfigurationRequest +type RegionConfigurationResponse = original.RegionConfigurationResponse type Resource = original.Resource +type ScheduleAvailabilityRequest = original.ScheduleAvailabilityRequest +type ScheduleAvailabilityRequestType = original.ScheduleAvailabilityRequestType +type ScheduleAvailabilityResponse = original.ScheduleAvailabilityResponse type Secret = original.Secret type ServiceClient = original.ServiceClient type ShareCredentialDetails = original.ShareCredentialDetails @@ -235,15 +341,28 @@ type ShipmentPickUpRequest = original.ShipmentPickUpRequest type ShipmentPickUpResponse = original.ShipmentPickUpResponse type ShippingAddress = original.ShippingAddress type Sku = original.Sku +type SkuAvailabilityValidationRequest = original.SkuAvailabilityValidationRequest +type SkuAvailabilityValidationResponseProperties = original.SkuAvailabilityValidationResponseProperties type SkuCapacity = original.SkuCapacity type SkuCost = original.SkuCost type SkuInformation = original.SkuInformation type SkuProperties = original.SkuProperties +type SubscriptionIsAllowedToCreateJobValidationRequest = original.SubscriptionIsAllowedToCreateJobValidationRequest +type SubscriptionIsAllowedToCreateJobValidationResponseProperties = original.SubscriptionIsAllowedToCreateJobValidationResponseProperties +type TransportAvailabilityDetails = original.TransportAvailabilityDetails +type TransportAvailabilityRequest = original.TransportAvailabilityRequest +type TransportAvailabilityResponse = original.TransportAvailabilityResponse +type TransportPreferences = original.TransportPreferences type UnencryptedCredentials = original.UnencryptedCredentials type UnencryptedCredentialsList = original.UnencryptedCredentialsList type UpdateJobDetails = original.UpdateJobDetails type UpdateJobProperties = original.UpdateJobProperties type ValidateAddress = original.ValidateAddress +type ValidationInputRequest = original.ValidationInputRequest +type ValidationInputResponse = original.ValidationInputResponse +type ValidationRequest = original.ValidationRequest +type ValidationResponse = original.ValidationResponse +type ValidationResponseProperties = original.ValidationResponseProperties func New(subscriptionID string) BaseClient { return original.New(subscriptionID) @@ -302,9 +421,15 @@ func PossibleCopyLogDetailsTypeValues() []CopyLogDetailsType { func PossibleCopyStatusValues() []CopyStatus { return original.PossibleCopyStatusValues() } +func PossibleDataDestinationTypeBasicDestinationAccountDetailsValues() []DataDestinationTypeBasicDestinationAccountDetails { + return original.PossibleDataDestinationTypeBasicDestinationAccountDetailsValues() +} func PossibleDataDestinationTypeValues() []DataDestinationType { return original.PossibleDataDestinationTypeValues() } +func PossibleJobDeliveryTypeValues() []JobDeliveryType { + return original.PossibleJobDeliveryTypeValues() +} func PossibleJobDetailsTypeEnumValues() []JobDetailsTypeEnum { return original.PossibleJobDetailsTypeEnumValues() } @@ -314,12 +439,18 @@ func PossibleJobSecretsTypeEnumValues() []JobSecretsTypeEnum { func PossibleNotificationStageNameValues() []NotificationStageName { return original.PossibleNotificationStageNameValues() } +func PossibleOverallValidationStatusValues() []OverallValidationStatus { + return original.PossibleOverallValidationStatusValues() +} func PossibleShareDestinationFormatTypeValues() []ShareDestinationFormatType { return original.PossibleShareDestinationFormatTypeValues() } func PossibleSkuDisabledReasonValues() []SkuDisabledReason { return original.PossibleSkuDisabledReasonValues() } +func PossibleSkuNameBasicScheduleAvailabilityRequestValues() []SkuNameBasicScheduleAvailabilityRequest { + return original.PossibleSkuNameBasicScheduleAvailabilityRequestValues() +} func PossibleSkuNameValues() []SkuName { return original.PossibleSkuNameValues() } @@ -329,6 +460,21 @@ func PossibleStageNameValues() []StageName { func PossibleStageStatusValues() []StageStatus { return original.PossibleStageStatusValues() } +func PossibleTransportShipmentTypesValues() []TransportShipmentTypes { + return original.PossibleTransportShipmentTypesValues() +} +func PossibleValidationCategoryValues() []ValidationCategory { + return original.PossibleValidationCategoryValues() +} +func PossibleValidationStatusValues() []ValidationStatus { + return original.PossibleValidationStatusValues() +} +func PossibleValidationTypeBasicValidationInputResponseValues() []ValidationTypeBasicValidationInputResponse { + return original.PossibleValidationTypeBasicValidationInputResponseValues() +} +func PossibleValidationTypeValues() []ValidationType { + return original.PossibleValidationTypeValues() +} func UserAgent() string { return original.UserAgent() + " profiles/latest" } diff --git a/profiles/latest/edgegateway/mgmt/edgegateway/edgegatewayapi/models.go b/profiles/latest/databoxedge/mgmt/databoxedge/databoxedgeapi/models.go similarity index 88% rename from profiles/latest/edgegateway/mgmt/edgegateway/edgegatewayapi/models.go rename to profiles/latest/databoxedge/mgmt/databoxedge/databoxedgeapi/models.go index c73455d1c53f..fa769db5d05e 100644 --- a/profiles/latest/edgegateway/mgmt/edgegateway/edgegatewayapi/models.go +++ b/profiles/latest/databoxedge/mgmt/databoxedge/databoxedgeapi/models.go @@ -17,14 +17,15 @@ // This code was auto-generated by: // github.com/Azure/azure-sdk-for-go/tools/profileBuilder -package edgegatewayapi +package databoxedgeapi -import original "github.com/Azure/azure-sdk-for-go/services/edgegateway/mgmt/2019-03-01/edgegateway/edgegatewayapi" +import original "github.com/Azure/azure-sdk-for-go/services/databoxedge/mgmt/2019-07-01/databoxedge/databoxedgeapi" type AlertsClientAPI = original.AlertsClientAPI type BandwidthSchedulesClientAPI = original.BandwidthSchedulesClientAPI type DevicesClientAPI = original.DevicesClientAPI type JobsClientAPI = original.JobsClientAPI +type NodesClientAPI = original.NodesClientAPI type OperationsClientAPI = original.OperationsClientAPI type OperationsStatusClientAPI = original.OperationsStatusClientAPI type OrdersClientAPI = original.OrdersClientAPI diff --git a/profiles/latest/edgegateway/mgmt/edgegateway/models.go b/profiles/latest/databoxedge/mgmt/databoxedge/models.go similarity index 91% rename from profiles/latest/edgegateway/mgmt/edgegateway/models.go rename to profiles/latest/databoxedge/mgmt/databoxedge/models.go index 24f2b3763998..3f9c78273acc 100644 --- a/profiles/latest/edgegateway/mgmt/edgegateway/models.go +++ b/profiles/latest/databoxedge/mgmt/databoxedge/models.go @@ -17,12 +17,12 @@ // This code was auto-generated by: // github.com/Azure/azure-sdk-for-go/tools/profileBuilder -package edgegateway +package databoxedge import ( "context" - original "github.com/Azure/azure-sdk-for-go/services/edgegateway/mgmt/2019-03-01/edgegateway" + original "github.com/Azure/azure-sdk-for-go/services/databoxedge/mgmt/2019-07-01/databoxedge" ) const ( @@ -67,17 +67,6 @@ const ( ReadWrite ClientPermissionType = original.ReadWrite ) -type DataBoxEdgeDeviceStatus = original.DataBoxEdgeDeviceStatus - -const ( - Disconnected DataBoxEdgeDeviceStatus = original.Disconnected - NeedsAttention DataBoxEdgeDeviceStatus = original.NeedsAttention - Offline DataBoxEdgeDeviceStatus = original.Offline - Online DataBoxEdgeDeviceStatus = original.Online - PartiallyDisconnected DataBoxEdgeDeviceStatus = original.PartiallyDisconnected - ReadyToSetup DataBoxEdgeDeviceStatus = original.ReadyToSetup -) - type DataPolicy = original.DataPolicy const ( @@ -97,10 +86,22 @@ const ( Wednesday DayOfWeek = original.Wednesday ) +type DeviceStatus = original.DeviceStatus + +const ( + Disconnected DeviceStatus = original.Disconnected + Maintenance DeviceStatus = original.Maintenance + NeedsAttention DeviceStatus = original.NeedsAttention + Offline DeviceStatus = original.Offline + Online DeviceStatus = original.Online + PartiallyDisconnected DeviceStatus = original.PartiallyDisconnected + ReadyToSetup DeviceStatus = original.ReadyToSetup +) + type DeviceType = original.DeviceType const ( - DeviceTypeDataBoxEdgeDevice DeviceType = original.DeviceTypeDataBoxEdgeDevice + DataBoxEdgeDevice DeviceType = original.DataBoxEdgeDevice ) type DownloadPhase = original.DownloadPhase @@ -233,6 +234,16 @@ const ( NetworkGroupRDMA NetworkGroup = original.NetworkGroupRDMA ) +type NodeStatus = original.NodeStatus + +const ( + NodeStatusDown NodeStatus = original.NodeStatusDown + NodeStatusRebooting NodeStatus = original.NodeStatusRebooting + NodeStatusShuttingDown NodeStatus = original.NodeStatusShuttingDown + NodeStatusUnknown NodeStatus = original.NodeStatusUnknown + NodeStatusUp NodeStatus = original.NodeStatusUp +) + type OrderState = original.OrderState const ( @@ -300,8 +311,11 @@ const ( type ShareStatus = original.ShareStatus const ( - ShareStatusOffline ShareStatus = original.ShareStatusOffline - ShareStatusOnline ShareStatus = original.ShareStatusOnline + ShareStatusNeedsAttention ShareStatus = original.ShareStatusNeedsAttention + ShareStatusOffline ShareStatus = original.ShareStatusOffline + ShareStatusOK ShareStatus = original.ShareStatusOK + ShareStatusUnknown ShareStatus = original.ShareStatusUnknown + ShareStatusUpdating ShareStatus = original.ShareStatusUpdating ) type SkuName = original.SkuName @@ -388,14 +402,14 @@ type ClientAccessRight = original.ClientAccessRight type CloudError = original.CloudError type CloudErrorBody = original.CloudErrorBody type ContactDetails = original.ContactDetails -type DataBoxEdgeDevice = original.DataBoxEdgeDevice -type DataBoxEdgeDeviceExtendedInfo = original.DataBoxEdgeDeviceExtendedInfo -type DataBoxEdgeDeviceExtendedInfoProperties = original.DataBoxEdgeDeviceExtendedInfoProperties -type DataBoxEdgeDeviceList = original.DataBoxEdgeDeviceList -type DataBoxEdgeDeviceListIterator = original.DataBoxEdgeDeviceListIterator -type DataBoxEdgeDeviceListPage = original.DataBoxEdgeDeviceListPage -type DataBoxEdgeDevicePatch = original.DataBoxEdgeDevicePatch -type DataBoxEdgeDeviceProperties = original.DataBoxEdgeDeviceProperties +type Device = original.Device +type DeviceExtendedInfo = original.DeviceExtendedInfo +type DeviceExtendedInfoProperties = original.DeviceExtendedInfoProperties +type DeviceList = original.DeviceList +type DeviceListIterator = original.DeviceListIterator +type DeviceListPage = original.DeviceListPage +type DevicePatch = original.DevicePatch +type DeviceProperties = original.DeviceProperties type DevicesClient = original.DevicesClient type DevicesCreateOrUpdateFuture = original.DevicesCreateOrUpdateFuture type DevicesCreateOrUpdateSecuritySettingsFuture = original.DevicesCreateOrUpdateSecuritySettingsFuture @@ -423,6 +437,10 @@ type NetworkAdapter = original.NetworkAdapter type NetworkAdapterPosition = original.NetworkAdapterPosition type NetworkSettings = original.NetworkSettings type NetworkSettingsProperties = original.NetworkSettingsProperties +type Node = original.Node +type NodeList = original.NodeList +type NodeProperties = original.NodeProperties +type NodesClient = original.NodesClient type Operation = original.Operation type OperationDisplay = original.OperationDisplay type OperationProperties = original.OperationProperties @@ -529,11 +547,11 @@ func NewBandwidthSchedulesListIterator(page BandwidthSchedulesListPage) Bandwidt func NewBandwidthSchedulesListPage(getNextPage func(context.Context, BandwidthSchedulesList) (BandwidthSchedulesList, error)) BandwidthSchedulesListPage { return original.NewBandwidthSchedulesListPage(getNextPage) } -func NewDataBoxEdgeDeviceListIterator(page DataBoxEdgeDeviceListPage) DataBoxEdgeDeviceListIterator { - return original.NewDataBoxEdgeDeviceListIterator(page) +func NewDeviceListIterator(page DeviceListPage) DeviceListIterator { + return original.NewDeviceListIterator(page) } -func NewDataBoxEdgeDeviceListPage(getNextPage func(context.Context, DataBoxEdgeDeviceList) (DataBoxEdgeDeviceList, error)) DataBoxEdgeDeviceListPage { - return original.NewDataBoxEdgeDeviceListPage(getNextPage) +func NewDeviceListPage(getNextPage func(context.Context, DeviceList) (DeviceList, error)) DeviceListPage { + return original.NewDeviceListPage(getNextPage) } func NewDevicesClient(subscriptionID string) DevicesClient { return original.NewDevicesClient(subscriptionID) @@ -547,6 +565,12 @@ func NewJobsClient(subscriptionID string) JobsClient { func NewJobsClientWithBaseURI(baseURI string, subscriptionID string) JobsClient { return original.NewJobsClientWithBaseURI(baseURI, subscriptionID) } +func NewNodesClient(subscriptionID string) NodesClient { + return original.NewNodesClient(subscriptionID) +} +func NewNodesClientWithBaseURI(baseURI string, subscriptionID string) NodesClient { + return original.NewNodesClientWithBaseURI(baseURI, subscriptionID) +} func NewOperationsClient(subscriptionID string) OperationsClient { return original.NewOperationsClient(subscriptionID) } @@ -655,15 +679,15 @@ func PossibleAzureContainerDataFormatValues() []AzureContainerDataFormat { func PossibleClientPermissionTypeValues() []ClientPermissionType { return original.PossibleClientPermissionTypeValues() } -func PossibleDataBoxEdgeDeviceStatusValues() []DataBoxEdgeDeviceStatus { - return original.PossibleDataBoxEdgeDeviceStatusValues() -} func PossibleDataPolicyValues() []DataPolicy { return original.PossibleDataPolicyValues() } func PossibleDayOfWeekValues() []DayOfWeek { return original.PossibleDayOfWeekValues() } +func PossibleDeviceStatusValues() []DeviceStatus { + return original.PossibleDeviceStatusValues() +} func PossibleDeviceTypeValues() []DeviceType { return original.PossibleDeviceTypeValues() } @@ -712,6 +736,9 @@ func PossibleNetworkAdapterStatusValues() []NetworkAdapterStatus { func PossibleNetworkGroupValues() []NetworkGroup { return original.PossibleNetworkGroupValues() } +func PossibleNodeStatusValues() []NodeStatus { + return original.PossibleNodeStatusValues() +} func PossibleOrderStateValues() []OrderState { return original.PossibleOrderStateValues() } diff --git a/profiles/latest/datafactory/mgmt/datafactory/datafactoryapi/models.go b/profiles/latest/datafactory/mgmt/datafactory/datafactoryapi/models.go index 2a039a860394..28f064af3a1b 100644 --- a/profiles/latest/datafactory/mgmt/datafactory/datafactoryapi/models.go +++ b/profiles/latest/datafactory/mgmt/datafactory/datafactoryapi/models.go @@ -22,6 +22,8 @@ package datafactoryapi import original "github.com/Azure/azure-sdk-for-go/services/datafactory/mgmt/2018-06-01/datafactory/datafactoryapi" type ActivityRunsClientAPI = original.ActivityRunsClientAPI +type DataFlowDebugSessionClientAPI = original.DataFlowDebugSessionClientAPI +type DataFlowsClientAPI = original.DataFlowsClientAPI type DatasetsClientAPI = original.DatasetsClientAPI type ExposureControlClientAPI = original.ExposureControlClientAPI type FactoriesClientAPI = original.FactoriesClientAPI diff --git a/profiles/latest/datafactory/mgmt/datafactory/models.go b/profiles/latest/datafactory/mgmt/datafactory/models.go index cb3995b9e211..7d563468dc89 100644 --- a/profiles/latest/datafactory/mgmt/datafactory/models.go +++ b/profiles/latest/datafactory/mgmt/datafactory/models.go @@ -97,6 +97,22 @@ const ( TWO CassandraSourceReadConsistencyLevels = original.TWO ) +type DataFlowComputeType = original.DataFlowComputeType + +const ( + ComputeOptimized DataFlowComputeType = original.ComputeOptimized + General DataFlowComputeType = original.General + MemoryOptimized DataFlowComputeType = original.MemoryOptimized +) + +type DataFlowDebugCommandType = original.DataFlowDebugCommandType + +const ( + ExecuteExpressionQuery DataFlowDebugCommandType = original.ExecuteExpressionQuery + ExecutePreviewQuery DataFlowDebugCommandType = original.ExecutePreviewQuery + ExecuteStatisticsQuery DataFlowDebugCommandType = original.ExecuteStatisticsQuery +) + type DayOfWeek = original.DayOfWeek const ( @@ -139,8 +155,9 @@ const ( type DynamicsAuthenticationType = original.DynamicsAuthenticationType const ( - Ifd DynamicsAuthenticationType = original.Ifd - Office365 DynamicsAuthenticationType = original.Office365 + AADServicePrincipal DynamicsAuthenticationType = original.AADServicePrincipal + Ifd DynamicsAuthenticationType = original.Ifd + Office365 DynamicsAuthenticationType = original.Office365 ) type DynamicsDeploymentType = original.DynamicsDeploymentType @@ -150,6 +167,16 @@ const ( OnPremisesWithIfd DynamicsDeploymentType = original.OnPremisesWithIfd ) +type EventSubscriptionStatus = original.EventSubscriptionStatus + +const ( + Deprovisioning EventSubscriptionStatus = original.Deprovisioning + Disabled EventSubscriptionStatus = original.Disabled + Enabled EventSubscriptionStatus = original.Enabled + Provisioning EventSubscriptionStatus = original.Provisioning + Unknown EventSubscriptionStatus = original.Unknown +) + type FtpAuthenticationType = original.FtpAuthenticationType const ( @@ -311,6 +338,13 @@ const ( IntegrationRuntimeUpdateResultSucceed IntegrationRuntimeUpdateResult = original.IntegrationRuntimeUpdateResultSucceed ) +type JSONWriteFilePattern = original.JSONWriteFilePattern + +const ( + ArrayOfObjects JSONWriteFilePattern = original.ArrayOfObjects + SetOfObjects JSONWriteFilePattern = original.SetOfObjects +) + type ManagedIntegrationRuntimeNodeStatus = original.ManagedIntegrationRuntimeNodeStatus const ( @@ -360,6 +394,14 @@ const ( OraclePartitionOptionPhysicalPartitionsOfTable OraclePartitionOption = original.OraclePartitionOptionPhysicalPartitionsOfTable ) +type OrcCompressionCodec = original.OrcCompressionCodec + +const ( + OrcCompressionCodecNone OrcCompressionCodec = original.OrcCompressionCodecNone + OrcCompressionCodecSnappy OrcCompressionCodec = original.OrcCompressionCodecSnappy + OrcCompressionCodecZlib OrcCompressionCodec = original.OrcCompressionCodecZlib +) + type ParameterType = original.ParameterType const ( @@ -613,9 +655,9 @@ const ( type TriggerRuntimeState = original.TriggerRuntimeState const ( - Disabled TriggerRuntimeState = original.Disabled - Started TriggerRuntimeState = original.Started - Stopped TriggerRuntimeState = original.Stopped + TriggerRuntimeStateDisabled TriggerRuntimeState = original.TriggerRuntimeStateDisabled + TriggerRuntimeStateStarted TriggerRuntimeState = original.TriggerRuntimeStateStarted + TriggerRuntimeStateStopped TriggerRuntimeState = original.TriggerRuntimeStateStopped ) type TumblingWindowFrequency = original.TumblingWindowFrequency @@ -641,6 +683,7 @@ const ( TypeAzureDataExplorerCommand TypeBasicActivity = original.TypeAzureDataExplorerCommand TypeAzureFunctionActivity TypeBasicActivity = original.TypeAzureFunctionActivity TypeAzureMLBatchExecution TypeBasicActivity = original.TypeAzureMLBatchExecution + TypeAzureMLExecutePipeline TypeBasicActivity = original.TypeAzureMLExecutePipeline TypeAzureMLUpdateResource TypeBasicActivity = original.TypeAzureMLUpdateResource TypeContainer TypeBasicActivity = original.TypeContainer TypeCopy TypeBasicActivity = original.TypeCopy @@ -650,6 +693,7 @@ const ( TypeDatabricksSparkPython TypeBasicActivity = original.TypeDatabricksSparkPython TypeDataLakeAnalyticsUSQL TypeBasicActivity = original.TypeDataLakeAnalyticsUSQL TypeDelete TypeBasicActivity = original.TypeDelete + TypeExecuteDataFlow TypeBasicActivity = original.TypeExecuteDataFlow TypeExecutePipeline TypeBasicActivity = original.TypeExecutePipeline TypeExecuteSSISPackage TypeBasicActivity = original.TypeExecuteSSISPackage TypeExecution TypeBasicActivity = original.TypeExecution @@ -665,6 +709,7 @@ const ( TypeLookup TypeBasicActivity = original.TypeLookup TypeSetVariable TypeBasicActivity = original.TypeSetVariable TypeSQLServerStoredProcedure TypeBasicActivity = original.TypeSQLServerStoredProcedure + TypeSwitch TypeBasicActivity = original.TypeSwitch TypeUntil TypeBasicActivity = original.TypeUntil TypeValidation TypeBasicActivity = original.TypeValidation TypeWait TypeBasicActivity = original.TypeWait @@ -679,6 +724,7 @@ const ( TypeAzureBlobFSSink TypeBasicCopySink = original.TypeAzureBlobFSSink TypeAzureDataExplorerSink TypeBasicCopySink = original.TypeAzureDataExplorerSink TypeAzureDataLakeStoreSink TypeBasicCopySink = original.TypeAzureDataLakeStoreSink + TypeAzureMySQLSink TypeBasicCopySink = original.TypeAzureMySQLSink TypeAzurePostgreSQLSink TypeBasicCopySink = original.TypeAzurePostgreSQLSink TypeAzureQueueSink TypeBasicCopySink = original.TypeAzureQueueSink TypeAzureSearchIndexSink TypeBasicCopySink = original.TypeAzureSearchIndexSink @@ -689,15 +735,18 @@ const ( TypeCommonDataServiceForAppsSink TypeBasicCopySink = original.TypeCommonDataServiceForAppsSink TypeCopySink TypeBasicCopySink = original.TypeCopySink TypeCosmosDbMongoDbAPISink TypeBasicCopySink = original.TypeCosmosDbMongoDbAPISink + TypeCosmosDbSQLAPISink TypeBasicCopySink = original.TypeCosmosDbSQLAPISink TypeDelimitedTextSink TypeBasicCopySink = original.TypeDelimitedTextSink TypeDocumentDbCollectionSink TypeBasicCopySink = original.TypeDocumentDbCollectionSink TypeDynamicsCrmSink TypeBasicCopySink = original.TypeDynamicsCrmSink TypeDynamicsSink TypeBasicCopySink = original.TypeDynamicsSink TypeFileSystemSink TypeBasicCopySink = original.TypeFileSystemSink TypeInformixSink TypeBasicCopySink = original.TypeInformixSink + TypeJSONSink TypeBasicCopySink = original.TypeJSONSink TypeMicrosoftAccessSink TypeBasicCopySink = original.TypeMicrosoftAccessSink TypeOdbcSink TypeBasicCopySink = original.TypeOdbcSink TypeOracleSink TypeBasicCopySink = original.TypeOracleSink + TypeOrcSink TypeBasicCopySink = original.TypeOrcSink TypeParquetSink TypeBasicCopySink = original.TypeParquetSink TypeSalesforceServiceCloudSink TypeBasicCopySink = original.TypeSalesforceServiceCloudSink TypeSalesforceSink TypeBasicCopySink = original.TypeSalesforceSink @@ -729,6 +778,7 @@ const ( TypeConcurSource TypeBasicCopySource = original.TypeConcurSource TypeCopySource TypeBasicCopySource = original.TypeCopySource TypeCosmosDbMongoDbAPISource TypeBasicCopySource = original.TypeCosmosDbMongoDbAPISource + TypeCosmosDbSQLAPISource TypeBasicCopySource = original.TypeCosmosDbSQLAPISource TypeCouchbaseSource TypeBasicCopySource = original.TypeCouchbaseSource TypeDb2Source TypeBasicCopySource = original.TypeDb2Source TypeDelimitedTextSource TypeBasicCopySource = original.TypeDelimitedTextSource @@ -750,6 +800,7 @@ const ( TypeImpalaSource TypeBasicCopySource = original.TypeImpalaSource TypeInformixSource TypeBasicCopySource = original.TypeInformixSource TypeJiraSource TypeBasicCopySource = original.TypeJiraSource + TypeJSONSource TypeBasicCopySource = original.TypeJSONSource TypeMagentoSource TypeBasicCopySource = original.TypeMagentoSource TypeMariaDBSource TypeBasicCopySource = original.TypeMariaDBSource TypeMarketoSource TypeBasicCopySource = original.TypeMarketoSource @@ -763,6 +814,7 @@ const ( TypeOffice365Source TypeBasicCopySource = original.TypeOffice365Source TypeOracleServiceCloudSource TypeBasicCopySource = original.TypeOracleServiceCloudSource TypeOracleSource TypeBasicCopySource = original.TypeOracleSource + TypeOrcSource TypeBasicCopySource = original.TypeOrcSource TypeParquetSource TypeBasicCopySource = original.TypeParquetSource TypePaypalSource TypeBasicCopySource = original.TypePaypalSource TypePhoenixSource TypeBasicCopySource = original.TypePhoenixSource @@ -790,6 +842,7 @@ const ( TypeSQLSource TypeBasicCopySource = original.TypeSQLSource TypeSquareSource TypeBasicCopySource = original.TypeSquareSource TypeSybaseSource TypeBasicCopySource = original.TypeSybaseSource + TypeTabularSource TypeBasicCopySource = original.TypeTabularSource TypeTeradataSource TypeBasicCopySource = original.TypeTeradataSource TypeVerticaSource TypeBasicCopySource = original.TypeVerticaSource TypeWebSource TypeBasicCopySource = original.TypeWebSource @@ -797,10 +850,27 @@ const ( TypeZohoSource TypeBasicCopySource = original.TypeZohoSource ) +type TypeBasicCustomSetupBase = original.TypeBasicCustomSetupBase + +const ( + TypeCmdkeySetup TypeBasicCustomSetupBase = original.TypeCmdkeySetup + TypeComponentSetup TypeBasicCustomSetupBase = original.TypeComponentSetup + TypeCustomSetupBase TypeBasicCustomSetupBase = original.TypeCustomSetupBase + TypeEnvironmentVariableSetup TypeBasicCustomSetupBase = original.TypeEnvironmentVariableSetup +) + +type TypeBasicDataFlow = original.TypeBasicDataFlow + +const ( + TypeDataFlow TypeBasicDataFlow = original.TypeDataFlow + TypeMappingDataFlow TypeBasicDataFlow = original.TypeMappingDataFlow +) + type TypeBasicDataset = original.TypeBasicDataset const ( TypeAmazonMWSObject TypeBasicDataset = original.TypeAmazonMWSObject + TypeAmazonRedshiftTable TypeBasicDataset = original.TypeAmazonRedshiftTable TypeAmazonS3Object TypeBasicDataset = original.TypeAmazonS3Object TypeAvro TypeBasicDataset = original.TypeAvro TypeAzureBlob TypeBasicDataset = original.TypeAzureBlob @@ -820,9 +890,11 @@ const ( TypeCommonDataServiceForAppsEntity TypeBasicDataset = original.TypeCommonDataServiceForAppsEntity TypeConcurObject TypeBasicDataset = original.TypeConcurObject TypeCosmosDbMongoDbAPICollection TypeBasicDataset = original.TypeCosmosDbMongoDbAPICollection + TypeCosmosDbSQLAPICollection TypeBasicDataset = original.TypeCosmosDbSQLAPICollection TypeCouchbaseTable TypeBasicDataset = original.TypeCouchbaseTable TypeCustomDataset TypeBasicDataset = original.TypeCustomDataset TypeDataset TypeBasicDataset = original.TypeDataset + TypeDb2Table TypeBasicDataset = original.TypeDb2Table TypeDelimitedText TypeBasicDataset = original.TypeDelimitedText TypeDocumentDbCollection TypeBasicDataset = original.TypeDocumentDbCollection TypeDrillTable TypeBasicDataset = original.TypeDrillTable @@ -841,6 +913,7 @@ const ( TypeImpalaObject TypeBasicDataset = original.TypeImpalaObject TypeInformixTable TypeBasicDataset = original.TypeInformixTable TypeJiraObject TypeBasicDataset = original.TypeJiraObject + TypeJSON TypeBasicDataset = original.TypeJSON TypeMagentoObject TypeBasicDataset = original.TypeMagentoObject TypeMariaDBTable TypeBasicDataset = original.TypeMariaDBTable TypeMarketoObject TypeBasicDataset = original.TypeMarketoObject @@ -854,6 +927,7 @@ const ( TypeOffice365Table TypeBasicDataset = original.TypeOffice365Table TypeOracleServiceCloudObject TypeBasicDataset = original.TypeOracleServiceCloudObject TypeOracleTable TypeBasicDataset = original.TypeOracleTable + TypeOrc TypeBasicDataset = original.TypeOrc TypeParquet TypeBasicDataset = original.TypeParquet TypePaypalObject TypeBasicDataset = original.TypePaypalObject TypePhoenixObject TypeBasicDataset = original.TypePhoenixObject @@ -952,10 +1026,12 @@ const ( TypeAzureDataExplorer TypeBasicLinkedService = original.TypeAzureDataExplorer TypeAzureDataLakeAnalytics TypeBasicLinkedService = original.TypeAzureDataLakeAnalytics TypeAzureDataLakeStore TypeBasicLinkedService = original.TypeAzureDataLakeStore + TypeAzureFileStorage TypeBasicLinkedService = original.TypeAzureFileStorage TypeAzureFunction TypeBasicLinkedService = original.TypeAzureFunction TypeAzureKeyVault TypeBasicLinkedService = original.TypeAzureKeyVault TypeAzureMariaDB TypeBasicLinkedService = original.TypeAzureMariaDB TypeAzureML TypeBasicLinkedService = original.TypeAzureML + TypeAzureMLService TypeBasicLinkedService = original.TypeAzureMLService TypeAzureMySQL TypeBasicLinkedService = original.TypeAzureMySQL TypeAzurePostgreSQL TypeBasicLinkedService = original.TypeAzurePostgreSQL TypeAzureSearch TypeBasicLinkedService = original.TypeAzureSearch @@ -981,6 +1057,7 @@ const ( TypeFtpServer TypeBasicLinkedService = original.TypeFtpServer TypeGoogleAdWords TypeBasicLinkedService = original.TypeGoogleAdWords TypeGoogleBigQuery TypeBasicLinkedService = original.TypeGoogleBigQuery + TypeGoogleCloudStorage TypeBasicLinkedService = original.TypeGoogleCloudStorage TypeGreenplum TypeBasicLinkedService = original.TypeGreenplum TypeHBase TypeBasicLinkedService = original.TypeHBase TypeHdfs TypeBasicLinkedService = original.TypeHdfs @@ -1046,11 +1123,22 @@ const ( TypeSsisObjectMetadata TypeBasicSsisObjectMetadata = original.TypeSsisObjectMetadata ) +type TypeBasicStoreWriteSettings = original.TypeBasicStoreWriteSettings + +const ( + TypeAzureBlobFSWriteSettings TypeBasicStoreWriteSettings = original.TypeAzureBlobFSWriteSettings + TypeAzureBlobStorageWriteSettings TypeBasicStoreWriteSettings = original.TypeAzureBlobStorageWriteSettings + TypeAzureDataLakeStoreWriteSettings TypeBasicStoreWriteSettings = original.TypeAzureDataLakeStoreWriteSettings + TypeFileServerWriteSettings TypeBasicStoreWriteSettings = original.TypeFileServerWriteSettings + TypeStoreWriteSettings TypeBasicStoreWriteSettings = original.TypeStoreWriteSettings +) + type TypeBasicTrigger = original.TypeBasicTrigger const ( TypeBlobEventsTrigger TypeBasicTrigger = original.TypeBlobEventsTrigger TypeBlobTrigger TypeBasicTrigger = original.TypeBlobTrigger + TypeChainingTrigger TypeBasicTrigger = original.TypeChainingTrigger TypeMultiplePipelineTrigger TypeBasicTrigger = original.TypeMultiplePipelineTrigger TypeRerunTumblingWindowTrigger TypeBasicTrigger = original.TypeRerunTumblingWindowTrigger TypeScheduleTrigger TypeBasicTrigger = original.TypeScheduleTrigger @@ -1088,6 +1176,7 @@ type ActivityPolicy = original.ActivityPolicy type ActivityRun = original.ActivityRun type ActivityRunsClient = original.ActivityRunsClient type ActivityRunsQueryResponse = original.ActivityRunsQueryResponse +type AddDataFlowToDebugSessionResponse = original.AddDataFlowToDebugSessionResponse type AmazonMWSLinkedService = original.AmazonMWSLinkedService type AmazonMWSLinkedServiceTypeProperties = original.AmazonMWSLinkedServiceTypeProperties type AmazonMWSObjectDataset = original.AmazonMWSObjectDataset @@ -1095,6 +1184,8 @@ type AmazonMWSSource = original.AmazonMWSSource type AmazonRedshiftLinkedService = original.AmazonRedshiftLinkedService type AmazonRedshiftLinkedServiceTypeProperties = original.AmazonRedshiftLinkedServiceTypeProperties type AmazonRedshiftSource = original.AmazonRedshiftSource +type AmazonRedshiftTableDataset = original.AmazonRedshiftTableDataset +type AmazonRedshiftTableDatasetTypeProperties = original.AmazonRedshiftTableDatasetTypeProperties type AmazonS3Dataset = original.AmazonS3Dataset type AmazonS3DatasetTypeProperties = original.AmazonS3DatasetTypeProperties type AmazonS3LinkedService = original.AmazonS3LinkedService @@ -1148,6 +1239,10 @@ type AzureDataLakeStoreSource = original.AzureDataLakeStoreSource type AzureDataLakeStoreWriteSettings = original.AzureDataLakeStoreWriteSettings type AzureDatabricksLinkedService = original.AzureDatabricksLinkedService type AzureDatabricksLinkedServiceTypeProperties = original.AzureDatabricksLinkedServiceTypeProperties +type AzureFileStorageLinkedService = original.AzureFileStorageLinkedService +type AzureFileStorageLinkedServiceTypeProperties = original.AzureFileStorageLinkedServiceTypeProperties +type AzureFileStorageLocation = original.AzureFileStorageLocation +type AzureFileStorageReadSettings = original.AzureFileStorageReadSettings type AzureFunctionActivity = original.AzureFunctionActivity type AzureFunctionActivityTypeProperties = original.AzureFunctionActivityTypeProperties type AzureFunctionLinkedService = original.AzureFunctionLinkedService @@ -1157,8 +1252,12 @@ type AzureKeyVaultLinkedServiceTypeProperties = original.AzureKeyVaultLinkedServ type AzureKeyVaultSecretReference = original.AzureKeyVaultSecretReference type AzureMLBatchExecutionActivity = original.AzureMLBatchExecutionActivity type AzureMLBatchExecutionActivityTypeProperties = original.AzureMLBatchExecutionActivityTypeProperties +type AzureMLExecutePipelineActivity = original.AzureMLExecutePipelineActivity +type AzureMLExecutePipelineActivityTypeProperties = original.AzureMLExecutePipelineActivityTypeProperties type AzureMLLinkedService = original.AzureMLLinkedService type AzureMLLinkedServiceTypeProperties = original.AzureMLLinkedServiceTypeProperties +type AzureMLServiceLinkedService = original.AzureMLServiceLinkedService +type AzureMLServiceLinkedServiceTypeProperties = original.AzureMLServiceLinkedServiceTypeProperties type AzureMLUpdateResourceActivity = original.AzureMLUpdateResourceActivity type AzureMLUpdateResourceActivityTypeProperties = original.AzureMLUpdateResourceActivityTypeProperties type AzureMLWebServiceFile = original.AzureMLWebServiceFile @@ -1168,6 +1267,7 @@ type AzureMariaDBSource = original.AzureMariaDBSource type AzureMariaDBTableDataset = original.AzureMariaDBTableDataset type AzureMySQLLinkedService = original.AzureMySQLLinkedService type AzureMySQLLinkedServiceTypeProperties = original.AzureMySQLLinkedServiceTypeProperties +type AzureMySQLSink = original.AzureMySQLSink type AzureMySQLSource = original.AzureMySQLSource type AzureMySQLTableDataset = original.AzureMySQLTableDataset type AzureMySQLTableDatasetTypeProperties = original.AzureMySQLTableDatasetTypeProperties @@ -1209,6 +1309,8 @@ type BasicActivity = original.BasicActivity type BasicControlActivity = original.BasicControlActivity type BasicCopySink = original.BasicCopySink type BasicCopySource = original.BasicCopySource +type BasicCustomSetupBase = original.BasicCustomSetupBase +type BasicDataFlow = original.BasicDataFlow type BasicDataset = original.BasicDataset type BasicDatasetCompression = original.BasicDatasetCompression type BasicDatasetStorageFormat = original.BasicDatasetStorageFormat @@ -1222,6 +1324,8 @@ type BasicLinkedService = original.BasicLinkedService type BasicMultiplePipelineTrigger = original.BasicMultiplePipelineTrigger type BasicSecretBase = original.BasicSecretBase type BasicSsisObjectMetadata = original.BasicSsisObjectMetadata +type BasicStoreWriteSettings = original.BasicStoreWriteSettings +type BasicTabularSource = original.BasicTabularSource type BasicTrigger = original.BasicTrigger type BasicTriggerDependencyReference = original.BasicTriggerDependencyReference type BasicWebLinkedServiceTypeProperties = original.BasicWebLinkedServiceTypeProperties @@ -1240,14 +1344,19 @@ type CassandraLinkedServiceTypeProperties = original.CassandraLinkedServiceTypeP type CassandraSource = original.CassandraSource type CassandraTableDataset = original.CassandraTableDataset type CassandraTableDatasetTypeProperties = original.CassandraTableDatasetTypeProperties +type ChainingTrigger = original.ChainingTrigger +type ChainingTriggerTypeProperties = original.ChainingTriggerTypeProperties type CloudError = original.CloudError type CloudErrorBody = original.CloudErrorBody +type CmdkeySetup = original.CmdkeySetup +type CmdkeySetupTypeProperties = original.CmdkeySetupTypeProperties type CommonDataServiceForAppsEntityDataset = original.CommonDataServiceForAppsEntityDataset type CommonDataServiceForAppsEntityDatasetTypeProperties = original.CommonDataServiceForAppsEntityDatasetTypeProperties type CommonDataServiceForAppsLinkedService = original.CommonDataServiceForAppsLinkedService type CommonDataServiceForAppsLinkedServiceTypeProperties = original.CommonDataServiceForAppsLinkedServiceTypeProperties type CommonDataServiceForAppsSink = original.CommonDataServiceForAppsSink type CommonDataServiceForAppsSource = original.CommonDataServiceForAppsSource +type ComponentSetup = original.ComponentSetup type ConcurLinkedService = original.ConcurLinkedService type ConcurLinkedServiceTypeProperties = original.ConcurLinkedServiceTypeProperties type ConcurObjectDataset = original.ConcurObjectDataset @@ -1265,10 +1374,16 @@ type CosmosDbMongoDbAPILinkedService = original.CosmosDbMongoDbAPILinkedService type CosmosDbMongoDbAPILinkedServiceTypeProperties = original.CosmosDbMongoDbAPILinkedServiceTypeProperties type CosmosDbMongoDbAPISink = original.CosmosDbMongoDbAPISink type CosmosDbMongoDbAPISource = original.CosmosDbMongoDbAPISource +type CosmosDbSQLAPICollectionDataset = original.CosmosDbSQLAPICollectionDataset +type CosmosDbSQLAPICollectionDatasetTypeProperties = original.CosmosDbSQLAPICollectionDatasetTypeProperties +type CosmosDbSQLAPISink = original.CosmosDbSQLAPISink +type CosmosDbSQLAPISource = original.CosmosDbSQLAPISource type CouchbaseLinkedService = original.CouchbaseLinkedService type CouchbaseLinkedServiceTypeProperties = original.CouchbaseLinkedServiceTypeProperties type CouchbaseSource = original.CouchbaseSource type CouchbaseTableDataset = original.CouchbaseTableDataset +type CreateDataFlowDebugSessionRequest = original.CreateDataFlowDebugSessionRequest +type CreateDataFlowDebugSessionResponse = original.CreateDataFlowDebugSessionResponse type CreateLinkedIntegrationRuntimeRequest = original.CreateLinkedIntegrationRuntimeRequest type CreateRunResponse = original.CreateRunResponse type CustomActivity = original.CustomActivity @@ -1276,6 +1391,29 @@ type CustomActivityReferenceObject = original.CustomActivityReferenceObject type CustomActivityTypeProperties = original.CustomActivityTypeProperties type CustomDataSourceLinkedService = original.CustomDataSourceLinkedService type CustomDataset = original.CustomDataset +type CustomSetupBase = original.CustomSetupBase +type DataFlow = original.DataFlow +type DataFlowDebugCommandPayload = original.DataFlowDebugCommandPayload +type DataFlowDebugCommandRequest = original.DataFlowDebugCommandRequest +type DataFlowDebugCommandResponse = original.DataFlowDebugCommandResponse +type DataFlowDebugPackage = original.DataFlowDebugPackage +type DataFlowDebugPackageDebugSettings = original.DataFlowDebugPackageDebugSettings +type DataFlowDebugResource = original.DataFlowDebugResource +type DataFlowDebugSessionClient = original.DataFlowDebugSessionClient +type DataFlowDebugSessionCreateFuture = original.DataFlowDebugSessionCreateFuture +type DataFlowDebugSessionExecuteCommandFuture = original.DataFlowDebugSessionExecuteCommandFuture +type DataFlowDebugSessionInfo = original.DataFlowDebugSessionInfo +type DataFlowFolder = original.DataFlowFolder +type DataFlowListResponse = original.DataFlowListResponse +type DataFlowListResponseIterator = original.DataFlowListResponseIterator +type DataFlowListResponsePage = original.DataFlowListResponsePage +type DataFlowReference = original.DataFlowReference +type DataFlowResource = original.DataFlowResource +type DataFlowSink = original.DataFlowSink +type DataFlowSource = original.DataFlowSource +type DataFlowSourceSetting = original.DataFlowSourceSetting +type DataFlowStagingInfo = original.DataFlowStagingInfo +type DataFlowsClient = original.DataFlowsClient type DataLakeAnalyticsUSQLActivity = original.DataLakeAnalyticsUSQLActivity type DataLakeAnalyticsUSQLActivityTypeProperties = original.DataLakeAnalyticsUSQLActivityTypeProperties type DatabricksNotebookActivity = original.DatabricksNotebookActivity @@ -1287,6 +1425,7 @@ type DatabricksSparkPythonActivityTypeProperties = original.DatabricksSparkPytho type Dataset = original.Dataset type DatasetBZip2Compression = original.DatasetBZip2Compression type DatasetCompression = original.DatasetCompression +type DatasetDebugResource = original.DatasetDebugResource type DatasetDeflateCompression = original.DatasetDeflateCompression type DatasetFolder = original.DatasetFolder type DatasetGZipCompression = original.DatasetGZipCompression @@ -1302,8 +1441,11 @@ type DatasetsClient = original.DatasetsClient type Db2LinkedService = original.Db2LinkedService type Db2LinkedServiceTypeProperties = original.Db2LinkedServiceTypeProperties type Db2Source = original.Db2Source +type Db2TableDataset = original.Db2TableDataset +type Db2TableDatasetTypeProperties = original.Db2TableDatasetTypeProperties type DeleteActivity = original.DeleteActivity type DeleteActivityTypeProperties = original.DeleteActivityTypeProperties +type DeleteDataFlowDebugSessionRequest = original.DeleteDataFlowDebugSessionRequest type DelimitedTextDataset = original.DelimitedTextDataset type DelimitedTextDatasetTypeProperties = original.DelimitedTextDatasetTypeProperties type DelimitedTextReadSettings = original.DelimitedTextReadSettings @@ -1343,6 +1485,10 @@ type EloquaLinkedServiceTypeProperties = original.EloquaLinkedServiceTypePropert type EloquaObjectDataset = original.EloquaObjectDataset type EloquaSource = original.EloquaSource type EntityReference = original.EntityReference +type EnvironmentVariableSetup = original.EnvironmentVariableSetup +type EnvironmentVariableSetupTypeProperties = original.EnvironmentVariableSetupTypeProperties +type ExecuteDataFlowActivity = original.ExecuteDataFlowActivity +type ExecuteDataFlowActivityTypeProperties = original.ExecuteDataFlowActivityTypeProperties type ExecutePipelineActivity = original.ExecutePipelineActivity type ExecutePipelineActivityTypeProperties = original.ExecutePipelineActivityTypeProperties type ExecuteSSISPackageActivity = original.ExecuteSSISPackageActivity @@ -1384,6 +1530,7 @@ type FtpServerLinkedService = original.FtpServerLinkedService type FtpServerLinkedServiceTypeProperties = original.FtpServerLinkedServiceTypeProperties type FtpServerLocation = original.FtpServerLocation type GenericDatasetTypeProperties = original.GenericDatasetTypeProperties +type GetDataFactoryOperationStatusResponse = original.GetDataFactoryOperationStatusResponse type GetMetadataActivity = original.GetMetadataActivity type GetMetadataActivityTypeProperties = original.GetMetadataActivityTypeProperties type GetSsisObjectMetadataRequest = original.GetSsisObjectMetadataRequest @@ -1398,6 +1545,10 @@ type GoogleBigQueryLinkedService = original.GoogleBigQueryLinkedService type GoogleBigQueryLinkedServiceTypeProperties = original.GoogleBigQueryLinkedServiceTypeProperties type GoogleBigQueryObjectDataset = original.GoogleBigQueryObjectDataset type GoogleBigQuerySource = original.GoogleBigQuerySource +type GoogleCloudStorageLinkedService = original.GoogleCloudStorageLinkedService +type GoogleCloudStorageLinkedServiceTypeProperties = original.GoogleCloudStorageLinkedServiceTypeProperties +type GoogleCloudStorageLocation = original.GoogleCloudStorageLocation +type GoogleCloudStorageReadSettings = original.GoogleCloudStorageReadSettings type GreenplumDatasetTypeProperties = original.GreenplumDatasetTypeProperties type GreenplumLinkedService = original.GreenplumLinkedService type GreenplumLinkedServiceTypeProperties = original.GreenplumLinkedServiceTypeProperties @@ -1460,7 +1611,9 @@ type IntegrationRuntimeAuthKeys = original.IntegrationRuntimeAuthKeys type IntegrationRuntimeComputeProperties = original.IntegrationRuntimeComputeProperties type IntegrationRuntimeConnectionInfo = original.IntegrationRuntimeConnectionInfo type IntegrationRuntimeCustomSetupScriptProperties = original.IntegrationRuntimeCustomSetupScriptProperties +type IntegrationRuntimeDataFlowProperties = original.IntegrationRuntimeDataFlowProperties type IntegrationRuntimeDataProxyProperties = original.IntegrationRuntimeDataProxyProperties +type IntegrationRuntimeDebugResource = original.IntegrationRuntimeDebugResource type IntegrationRuntimeListResponse = original.IntegrationRuntimeListResponse type IntegrationRuntimeListResponseIterator = original.IntegrationRuntimeListResponseIterator type IntegrationRuntimeListResponsePage = original.IntegrationRuntimeListResponsePage @@ -1482,17 +1635,24 @@ type IntegrationRuntimeVNetProperties = original.IntegrationRuntimeVNetPropertie type IntegrationRuntimesClient = original.IntegrationRuntimesClient type IntegrationRuntimesStartFuture = original.IntegrationRuntimesStartFuture type IntegrationRuntimesStopFuture = original.IntegrationRuntimesStopFuture +type JSONDataset = original.JSONDataset +type JSONDatasetTypeProperties = original.JSONDatasetTypeProperties type JSONFormat = original.JSONFormat +type JSONSink = original.JSONSink +type JSONSource = original.JSONSource +type JSONWriteSettings = original.JSONWriteSettings type JiraLinkedService = original.JiraLinkedService type JiraLinkedServiceTypeProperties = original.JiraLinkedServiceTypeProperties type JiraObjectDataset = original.JiraObjectDataset type JiraSource = original.JiraSource +type LicensedComponentSetupTypeProperties = original.LicensedComponentSetupTypeProperties type LinkedIntegrationRuntime = original.LinkedIntegrationRuntime type LinkedIntegrationRuntimeKeyAuthorization = original.LinkedIntegrationRuntimeKeyAuthorization type LinkedIntegrationRuntimeRbacAuthorization = original.LinkedIntegrationRuntimeRbacAuthorization type LinkedIntegrationRuntimeRequest = original.LinkedIntegrationRuntimeRequest type LinkedIntegrationRuntimeType = original.LinkedIntegrationRuntimeType type LinkedService = original.LinkedService +type LinkedServiceDebugResource = original.LinkedServiceDebugResource type LinkedServiceListResponse = original.LinkedServiceListResponse type LinkedServiceListResponseIterator = original.LinkedServiceListResponseIterator type LinkedServiceListResponsePage = original.LinkedServiceListResponsePage @@ -1513,6 +1673,8 @@ type ManagedIntegrationRuntimeOperationResult = original.ManagedIntegrationRunti type ManagedIntegrationRuntimeStatus = original.ManagedIntegrationRuntimeStatus type ManagedIntegrationRuntimeStatusTypeProperties = original.ManagedIntegrationRuntimeStatusTypeProperties type ManagedIntegrationRuntimeTypeProperties = original.ManagedIntegrationRuntimeTypeProperties +type MappingDataFlow = original.MappingDataFlow +type MappingDataFlowTypeProperties = original.MappingDataFlowTypeProperties type MariaDBLinkedService = original.MariaDBLinkedService type MariaDBLinkedServiceTypeProperties = original.MariaDBLinkedServiceTypeProperties type MariaDBSource = original.MariaDBSource @@ -1549,6 +1711,7 @@ type NetezzaLinkedServiceTypeProperties = original.NetezzaLinkedServiceTypePrope type NetezzaPartitionSettings = original.NetezzaPartitionSettings type NetezzaSource = original.NetezzaSource type NetezzaTableDataset = original.NetezzaTableDataset +type NetezzaTableDatasetTypeProperties = original.NetezzaTableDatasetTypeProperties type ODataLinkedService = original.ODataLinkedService type ODataLinkedServiceTypeProperties = original.ODataLinkedServiceTypeProperties type ODataResourceDataset = original.ODataResourceDataset @@ -1588,7 +1751,11 @@ type OracleSink = original.OracleSink type OracleSource = original.OracleSource type OracleTableDataset = original.OracleTableDataset type OracleTableDatasetTypeProperties = original.OracleTableDatasetTypeProperties +type OrcDataset = original.OrcDataset +type OrcDatasetTypeProperties = original.OrcDatasetTypeProperties type OrcFormat = original.OrcFormat +type OrcSink = original.OrcSink +type OrcSource = original.OrcSource type ParameterSpecification = original.ParameterSpecification type ParquetDataset = original.ParquetDataset type ParquetDatasetTypeProperties = original.ParquetDatasetTypeProperties @@ -1627,6 +1794,9 @@ type PrestoLinkedService = original.PrestoLinkedService type PrestoLinkedServiceTypeProperties = original.PrestoLinkedServiceTypeProperties type PrestoObjectDataset = original.PrestoObjectDataset type PrestoSource = original.PrestoSource +type QueryDataFlowDebugSessionsResponse = original.QueryDataFlowDebugSessionsResponse +type QueryDataFlowDebugSessionsResponseIterator = original.QueryDataFlowDebugSessionsResponseIterator +type QueryDataFlowDebugSessionsResponsePage = original.QueryDataFlowDebugSessionsResponsePage type QuickBooksLinkedService = original.QuickBooksLinkedService type QuickBooksLinkedServiceTypeProperties = original.QuickBooksLinkedServiceTypeProperties type QuickBooksObjectDataset = original.QuickBooksObjectDataset @@ -1782,11 +1952,16 @@ type StoreReadSettings = original.StoreReadSettings type StoreWriteSettings = original.StoreWriteSettings type StoredProcedureParameter = original.StoredProcedureParameter type SubResource = original.SubResource +type SubResourceDebugResource = original.SubResourceDebugResource +type SwitchActivity = original.SwitchActivity +type SwitchActivityTypeProperties = original.SwitchActivityTypeProperties +type SwitchCase = original.SwitchCase type SybaseLinkedService = original.SybaseLinkedService type SybaseLinkedServiceTypeProperties = original.SybaseLinkedServiceTypeProperties type SybaseSource = original.SybaseSource type SybaseTableDataset = original.SybaseTableDataset type SybaseTableDatasetTypeProperties = original.SybaseTableDatasetTypeProperties +type TabularSource = original.TabularSource type TeradataLinkedService = original.TeradataLinkedService type TeradataLinkedServiceTypeProperties = original.TeradataLinkedServiceTypeProperties type TeradataPartitionSettings = original.TeradataPartitionSettings @@ -1794,6 +1969,7 @@ type TeradataSource = original.TeradataSource type TeradataTableDataset = original.TeradataTableDataset type TeradataTableDatasetTypeProperties = original.TeradataTableDatasetTypeProperties type TextFormat = original.TextFormat +type Transformation = original.Transformation type Trigger = original.Trigger type TriggerDependencyReference = original.TriggerDependencyReference type TriggerListResponse = original.TriggerListResponse @@ -1805,9 +1981,12 @@ type TriggerResource = original.TriggerResource type TriggerRun = original.TriggerRun type TriggerRunsClient = original.TriggerRunsClient type TriggerRunsQueryResponse = original.TriggerRunsQueryResponse +type TriggerSubscriptionOperationStatus = original.TriggerSubscriptionOperationStatus type TriggersClient = original.TriggersClient type TriggersStartFuture = original.TriggersStartFuture type TriggersStopFuture = original.TriggersStopFuture +type TriggersSubscribeToEventsFuture = original.TriggersSubscribeToEventsFuture +type TriggersUnsubscribeFromEventsFuture = original.TriggersUnsubscribeFromEventsFuture type TumblingWindowTrigger = original.TumblingWindowTrigger type TumblingWindowTriggerDependencyReference = original.TumblingWindowTriggerDependencyReference type TumblingWindowTriggerTypeProperties = original.TumblingWindowTriggerTypeProperties @@ -1858,6 +2037,24 @@ func NewActivityRunsClient(subscriptionID string) ActivityRunsClient { func NewActivityRunsClientWithBaseURI(baseURI string, subscriptionID string) ActivityRunsClient { return original.NewActivityRunsClientWithBaseURI(baseURI, subscriptionID) } +func NewDataFlowDebugSessionClient(subscriptionID string) DataFlowDebugSessionClient { + return original.NewDataFlowDebugSessionClient(subscriptionID) +} +func NewDataFlowDebugSessionClientWithBaseURI(baseURI string, subscriptionID string) DataFlowDebugSessionClient { + return original.NewDataFlowDebugSessionClientWithBaseURI(baseURI, subscriptionID) +} +func NewDataFlowListResponseIterator(page DataFlowListResponsePage) DataFlowListResponseIterator { + return original.NewDataFlowListResponseIterator(page) +} +func NewDataFlowListResponsePage(getNextPage func(context.Context, DataFlowListResponse) (DataFlowListResponse, error)) DataFlowListResponsePage { + return original.NewDataFlowListResponsePage(getNextPage) +} +func NewDataFlowsClient(subscriptionID string) DataFlowsClient { + return original.NewDataFlowsClient(subscriptionID) +} +func NewDataFlowsClientWithBaseURI(baseURI string, subscriptionID string) DataFlowsClient { + return original.NewDataFlowsClientWithBaseURI(baseURI, subscriptionID) +} func NewDatasetListResponseIterator(page DatasetListResponsePage) DatasetListResponseIterator { return original.NewDatasetListResponseIterator(page) } @@ -1954,6 +2151,12 @@ func NewPipelinesClient(subscriptionID string) PipelinesClient { func NewPipelinesClientWithBaseURI(baseURI string, subscriptionID string) PipelinesClient { return original.NewPipelinesClientWithBaseURI(baseURI, subscriptionID) } +func NewQueryDataFlowDebugSessionsResponseIterator(page QueryDataFlowDebugSessionsResponsePage) QueryDataFlowDebugSessionsResponseIterator { + return original.NewQueryDataFlowDebugSessionsResponseIterator(page) +} +func NewQueryDataFlowDebugSessionsResponsePage(getNextPage func(context.Context, QueryDataFlowDebugSessionsResponse) (QueryDataFlowDebugSessionsResponse, error)) QueryDataFlowDebugSessionsResponsePage { + return original.NewQueryDataFlowDebugSessionsResponsePage(getNextPage) +} func NewRerunTriggerListResponseIterator(page RerunTriggerListResponsePage) RerunTriggerListResponseIterator { return original.NewRerunTriggerListResponseIterator(page) } @@ -2008,6 +2211,12 @@ func PossibleBlobEventTypesValues() []BlobEventTypes { func PossibleCassandraSourceReadConsistencyLevelsValues() []CassandraSourceReadConsistencyLevels { return original.PossibleCassandraSourceReadConsistencyLevelsValues() } +func PossibleDataFlowComputeTypeValues() []DataFlowComputeType { + return original.PossibleDataFlowComputeTypeValues() +} +func PossibleDataFlowDebugCommandTypeValues() []DataFlowDebugCommandType { + return original.PossibleDataFlowDebugCommandTypeValues() +} func PossibleDayOfWeekValues() []DayOfWeek { return original.PossibleDayOfWeekValues() } @@ -2026,6 +2235,9 @@ func PossibleDynamicsAuthenticationTypeValues() []DynamicsAuthenticationType { func PossibleDynamicsDeploymentTypeValues() []DynamicsDeploymentType { return original.PossibleDynamicsDeploymentTypeValues() } +func PossibleEventSubscriptionStatusValues() []EventSubscriptionStatus { + return original.PossibleEventSubscriptionStatusValues() +} func PossibleFtpAuthenticationTypeValues() []FtpAuthenticationType { return original.PossibleFtpAuthenticationTypeValues() } @@ -2086,6 +2298,9 @@ func PossibleIntegrationRuntimeTypeValues() []IntegrationRuntimeType { func PossibleIntegrationRuntimeUpdateResultValues() []IntegrationRuntimeUpdateResult { return original.PossibleIntegrationRuntimeUpdateResultValues() } +func PossibleJSONWriteFilePatternValues() []JSONWriteFilePattern { + return original.PossibleJSONWriteFilePatternValues() +} func PossibleManagedIntegrationRuntimeNodeStatusValues() []ManagedIntegrationRuntimeNodeStatus { return original.PossibleManagedIntegrationRuntimeNodeStatusValues() } @@ -2104,6 +2319,9 @@ func PossibleODataAuthenticationTypeValues() []ODataAuthenticationType { func PossibleOraclePartitionOptionValues() []OraclePartitionOption { return original.PossibleOraclePartitionOptionValues() } +func PossibleOrcCompressionCodecValues() []OrcCompressionCodec { + return original.PossibleOrcCompressionCodecValues() +} func PossibleParameterTypeValues() []ParameterType { return original.PossibleParameterTypeValues() } @@ -2203,6 +2421,12 @@ func PossibleTypeBasicCopySinkValues() []TypeBasicCopySink { func PossibleTypeBasicCopySourceValues() []TypeBasicCopySource { return original.PossibleTypeBasicCopySourceValues() } +func PossibleTypeBasicCustomSetupBaseValues() []TypeBasicCustomSetupBase { + return original.PossibleTypeBasicCustomSetupBaseValues() +} +func PossibleTypeBasicDataFlowValues() []TypeBasicDataFlow { + return original.PossibleTypeBasicDataFlowValues() +} func PossibleTypeBasicDatasetCompressionValues() []TypeBasicDatasetCompression { return original.PossibleTypeBasicDatasetCompressionValues() } @@ -2230,6 +2454,9 @@ func PossibleTypeBasicLinkedServiceValues() []TypeBasicLinkedService { func PossibleTypeBasicSsisObjectMetadataValues() []TypeBasicSsisObjectMetadata { return original.PossibleTypeBasicSsisObjectMetadataValues() } +func PossibleTypeBasicStoreWriteSettingsValues() []TypeBasicStoreWriteSettings { + return original.PossibleTypeBasicStoreWriteSettingsValues() +} func PossibleTypeBasicTriggerValues() []TypeBasicTrigger { return original.PossibleTypeBasicTriggerValues() } diff --git a/profiles/latest/eventgrid/eventgrid/models.go b/profiles/latest/eventgrid/eventgrid/models.go index 48676620e3d3..bbc94e13941c 100644 --- a/profiles/latest/eventgrid/eventgrid/models.go +++ b/profiles/latest/eventgrid/eventgrid/models.go @@ -102,6 +102,15 @@ type IotHubDeviceCreatedEventData = original.IotHubDeviceCreatedEventData type IotHubDeviceDeletedEventData = original.IotHubDeviceDeletedEventData type IotHubDeviceDisconnectedEventData = original.IotHubDeviceDisconnectedEventData type IotHubDeviceTelemetryEventData = original.IotHubDeviceTelemetryEventData +type KeyVaultCertificateExpiredEventData = original.KeyVaultCertificateExpiredEventData +type KeyVaultCertificateNearExpiryEventData = original.KeyVaultCertificateNearExpiryEventData +type KeyVaultCertificateNewVersionCreatedEventData = original.KeyVaultCertificateNewVersionCreatedEventData +type KeyVaultKeyExpiredEventData = original.KeyVaultKeyExpiredEventData +type KeyVaultKeyNearExpiryEventData = original.KeyVaultKeyNearExpiryEventData +type KeyVaultKeyNewVersionCreatedEventData = original.KeyVaultKeyNewVersionCreatedEventData +type KeyVaultSecretExpiredEventData = original.KeyVaultSecretExpiredEventData +type KeyVaultSecretNearExpiryEventData = original.KeyVaultSecretNearExpiryEventData +type KeyVaultSecretNewVersionCreatedEventData = original.KeyVaultSecretNewVersionCreatedEventData type MapsGeofenceEnteredEventData = original.MapsGeofenceEnteredEventData type MapsGeofenceEventProperties = original.MapsGeofenceEventProperties type MapsGeofenceExitedEventData = original.MapsGeofenceExitedEventData diff --git a/profiles/latest/eventhub/mgmt/eventhub/models.go b/profiles/latest/eventhub/mgmt/eventhub/models.go index 4150c90a89e2..678b8dbc2774 100644 --- a/profiles/latest/eventhub/mgmt/eventhub/models.go +++ b/profiles/latest/eventhub/mgmt/eventhub/models.go @@ -167,6 +167,9 @@ type NamespacesClient = original.NamespacesClient type NamespacesCreateOrUpdateFuture = original.NamespacesCreateOrUpdateFuture type NamespacesDeleteFuture = original.NamespacesDeleteFuture type NetworkRuleSet = original.NetworkRuleSet +type NetworkRuleSetListResult = original.NetworkRuleSetListResult +type NetworkRuleSetListResultIterator = original.NetworkRuleSetListResultIterator +type NetworkRuleSetListResultPage = original.NetworkRuleSetListResultPage type NetworkRuleSetProperties = original.NetworkRuleSetProperties type Operation = original.Operation type OperationDisplay = original.OperationDisplay @@ -245,6 +248,12 @@ func NewNamespacesClient(subscriptionID string) NamespacesClient { func NewNamespacesClientWithBaseURI(baseURI string, subscriptionID string) NamespacesClient { return original.NewNamespacesClientWithBaseURI(baseURI, subscriptionID) } +func NewNetworkRuleSetListResultIterator(page NetworkRuleSetListResultPage) NetworkRuleSetListResultIterator { + return original.NewNetworkRuleSetListResultIterator(page) +} +func NewNetworkRuleSetListResultPage(getNextPage func(context.Context, NetworkRuleSetListResult) (NetworkRuleSetListResult, error)) NetworkRuleSetListResultPage { + return original.NewNetworkRuleSetListResultPage(getNextPage) +} func NewOperationListResultIterator(page OperationListResultPage) OperationListResultIterator { return original.NewOperationListResultIterator(page) } diff --git a/profiles/latest/frontdoor/mgmt/frontdoor/frontdoorapi/models.go b/profiles/latest/frontdoor/mgmt/frontdoor/frontdoorapi/models.go new file mode 100644 index 000000000000..08954a3ee34d --- /dev/null +++ b/profiles/latest/frontdoor/mgmt/frontdoor/frontdoorapi/models.go @@ -0,0 +1,29 @@ +// +build go1.9 + +// Copyright 2019 Microsoft Corporation +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// This code was auto-generated by: +// github.com/Azure/azure-sdk-for-go/tools/profileBuilder + +package frontdoorapi + +import original "github.com/Azure/azure-sdk-for-go/services/frontdoor/mgmt/2019-05-01/frontdoor/frontdoorapi" + +type BaseClientAPI = original.BaseClientAPI +type EndpointsClientAPI = original.EndpointsClientAPI +type FrontDoorsClientAPI = original.FrontDoorsClientAPI +type FrontendEndpointsClientAPI = original.FrontendEndpointsClientAPI +type ManagedRuleSetsClientAPI = original.ManagedRuleSetsClientAPI +type PoliciesClientAPI = original.PoliciesClientAPI diff --git a/profiles/latest/frontdoor/mgmt/frontdoor/models.go b/profiles/latest/frontdoor/mgmt/frontdoor/models.go new file mode 100644 index 000000000000..501bee6917c7 --- /dev/null +++ b/profiles/latest/frontdoor/mgmt/frontdoor/models.go @@ -0,0 +1,561 @@ +// +build go1.9 + +// Copyright 2019 Microsoft Corporation +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// This code was auto-generated by: +// github.com/Azure/azure-sdk-for-go/tools/profileBuilder + +package frontdoor + +import ( + "context" + + original "github.com/Azure/azure-sdk-for-go/services/frontdoor/mgmt/2019-05-01/frontdoor" +) + +const ( + DefaultBaseURI = original.DefaultBaseURI +) + +type ActionType = original.ActionType + +const ( + Allow ActionType = original.Allow + Block ActionType = original.Block + Log ActionType = original.Log + Redirect ActionType = original.Redirect +) + +type Availability = original.Availability + +const ( + Available Availability = original.Available + Unavailable Availability = original.Unavailable +) + +type BackendEnabledState = original.BackendEnabledState + +const ( + Disabled BackendEnabledState = original.Disabled + Enabled BackendEnabledState = original.Enabled +) + +type CertificateSource = original.CertificateSource + +const ( + CertificateSourceAzureKeyVault CertificateSource = original.CertificateSourceAzureKeyVault + CertificateSourceFrontDoor CertificateSource = original.CertificateSourceFrontDoor +) + +type CertificateType = original.CertificateType + +const ( + Dedicated CertificateType = original.Dedicated +) + +type CustomHTTPSProvisioningState = original.CustomHTTPSProvisioningState + +const ( + CustomHTTPSProvisioningStateDisabled CustomHTTPSProvisioningState = original.CustomHTTPSProvisioningStateDisabled + CustomHTTPSProvisioningStateDisabling CustomHTTPSProvisioningState = original.CustomHTTPSProvisioningStateDisabling + CustomHTTPSProvisioningStateEnabled CustomHTTPSProvisioningState = original.CustomHTTPSProvisioningStateEnabled + CustomHTTPSProvisioningStateEnabling CustomHTTPSProvisioningState = original.CustomHTTPSProvisioningStateEnabling + CustomHTTPSProvisioningStateFailed CustomHTTPSProvisioningState = original.CustomHTTPSProvisioningStateFailed +) + +type CustomHTTPSProvisioningSubstate = original.CustomHTTPSProvisioningSubstate + +const ( + CertificateDeleted CustomHTTPSProvisioningSubstate = original.CertificateDeleted + CertificateDeployed CustomHTTPSProvisioningSubstate = original.CertificateDeployed + DeletingCertificate CustomHTTPSProvisioningSubstate = original.DeletingCertificate + DeployingCertificate CustomHTTPSProvisioningSubstate = original.DeployingCertificate + DomainControlValidationRequestApproved CustomHTTPSProvisioningSubstate = original.DomainControlValidationRequestApproved + DomainControlValidationRequestRejected CustomHTTPSProvisioningSubstate = original.DomainControlValidationRequestRejected + DomainControlValidationRequestTimedOut CustomHTTPSProvisioningSubstate = original.DomainControlValidationRequestTimedOut + IssuingCertificate CustomHTTPSProvisioningSubstate = original.IssuingCertificate + PendingDomainControlValidationREquestApproval CustomHTTPSProvisioningSubstate = original.PendingDomainControlValidationREquestApproval + SubmittingDomainControlValidationRequest CustomHTTPSProvisioningSubstate = original.SubmittingDomainControlValidationRequest +) + +type CustomRuleEnabledState = original.CustomRuleEnabledState + +const ( + CustomRuleEnabledStateDisabled CustomRuleEnabledState = original.CustomRuleEnabledStateDisabled + CustomRuleEnabledStateEnabled CustomRuleEnabledState = original.CustomRuleEnabledStateEnabled +) + +type DynamicCompressionEnabled = original.DynamicCompressionEnabled + +const ( + DynamicCompressionEnabledDisabled DynamicCompressionEnabled = original.DynamicCompressionEnabledDisabled + DynamicCompressionEnabledEnabled DynamicCompressionEnabled = original.DynamicCompressionEnabledEnabled +) + +type EnabledState = original.EnabledState + +const ( + EnabledStateDisabled EnabledState = original.EnabledStateDisabled + EnabledStateEnabled EnabledState = original.EnabledStateEnabled +) + +type EnforceCertificateNameCheckEnabledState = original.EnforceCertificateNameCheckEnabledState + +const ( + EnforceCertificateNameCheckEnabledStateDisabled EnforceCertificateNameCheckEnabledState = original.EnforceCertificateNameCheckEnabledStateDisabled + EnforceCertificateNameCheckEnabledStateEnabled EnforceCertificateNameCheckEnabledState = original.EnforceCertificateNameCheckEnabledStateEnabled +) + +type ForwardingProtocol = original.ForwardingProtocol + +const ( + HTTPOnly ForwardingProtocol = original.HTTPOnly + HTTPSOnly ForwardingProtocol = original.HTTPSOnly + MatchRequest ForwardingProtocol = original.MatchRequest +) + +type HealthProbeEnabled = original.HealthProbeEnabled + +const ( + HealthProbeEnabledDisabled HealthProbeEnabled = original.HealthProbeEnabledDisabled + HealthProbeEnabledEnabled HealthProbeEnabled = original.HealthProbeEnabledEnabled +) + +type HealthProbeMethod = original.HealthProbeMethod + +const ( + GET HealthProbeMethod = original.GET + HEAD HealthProbeMethod = original.HEAD +) + +type ManagedRuleEnabledState = original.ManagedRuleEnabledState + +const ( + ManagedRuleEnabledStateDisabled ManagedRuleEnabledState = original.ManagedRuleEnabledStateDisabled + ManagedRuleEnabledStateEnabled ManagedRuleEnabledState = original.ManagedRuleEnabledStateEnabled +) + +type MatchVariable = original.MatchVariable + +const ( + Cookies MatchVariable = original.Cookies + PostArgs MatchVariable = original.PostArgs + QueryString MatchVariable = original.QueryString + RemoteAddr MatchVariable = original.RemoteAddr + RequestBody MatchVariable = original.RequestBody + RequestHeader MatchVariable = original.RequestHeader + RequestMethod MatchVariable = original.RequestMethod + RequestURI MatchVariable = original.RequestURI + SocketAddr MatchVariable = original.SocketAddr +) + +type MinimumTLSVersion = original.MinimumTLSVersion + +const ( + OneFullStopTwo MinimumTLSVersion = original.OneFullStopTwo + OneFullStopZero MinimumTLSVersion = original.OneFullStopZero +) + +type NetworkOperationStatus = original.NetworkOperationStatus + +const ( + Failed NetworkOperationStatus = original.Failed + InProgress NetworkOperationStatus = original.InProgress + Succeeded NetworkOperationStatus = original.Succeeded +) + +type OdataType = original.OdataType + +const ( + OdataTypeMicrosoftAzureFrontDoorModelsFrontdoorForwardingConfiguration OdataType = original.OdataTypeMicrosoftAzureFrontDoorModelsFrontdoorForwardingConfiguration + OdataTypeMicrosoftAzureFrontDoorModelsFrontdoorRedirectConfiguration OdataType = original.OdataTypeMicrosoftAzureFrontDoorModelsFrontdoorRedirectConfiguration + OdataTypeRouteConfiguration OdataType = original.OdataTypeRouteConfiguration +) + +type Operator = original.Operator + +const ( + Any Operator = original.Any + BeginsWith Operator = original.BeginsWith + Contains Operator = original.Contains + EndsWith Operator = original.EndsWith + Equal Operator = original.Equal + GeoMatch Operator = original.GeoMatch + GreaterThan Operator = original.GreaterThan + GreaterThanOrEqual Operator = original.GreaterThanOrEqual + IPMatch Operator = original.IPMatch + LessThan Operator = original.LessThan + LessThanOrEqual Operator = original.LessThanOrEqual + RegEx Operator = original.RegEx +) + +type PolicyEnabledState = original.PolicyEnabledState + +const ( + PolicyEnabledStateDisabled PolicyEnabledState = original.PolicyEnabledStateDisabled + PolicyEnabledStateEnabled PolicyEnabledState = original.PolicyEnabledStateEnabled +) + +type PolicyMode = original.PolicyMode + +const ( + Detection PolicyMode = original.Detection + Prevention PolicyMode = original.Prevention +) + +type PolicyResourceState = original.PolicyResourceState + +const ( + PolicyResourceStateCreating PolicyResourceState = original.PolicyResourceStateCreating + PolicyResourceStateDeleting PolicyResourceState = original.PolicyResourceStateDeleting + PolicyResourceStateDisabled PolicyResourceState = original.PolicyResourceStateDisabled + PolicyResourceStateDisabling PolicyResourceState = original.PolicyResourceStateDisabling + PolicyResourceStateEnabled PolicyResourceState = original.PolicyResourceStateEnabled + PolicyResourceStateEnabling PolicyResourceState = original.PolicyResourceStateEnabling +) + +type Protocol = original.Protocol + +const ( + HTTP Protocol = original.HTTP + HTTPS Protocol = original.HTTPS +) + +type Query = original.Query + +const ( + StripAll Query = original.StripAll + StripNone Query = original.StripNone +) + +type RedirectProtocol = original.RedirectProtocol + +const ( + RedirectProtocolHTTPOnly RedirectProtocol = original.RedirectProtocolHTTPOnly + RedirectProtocolHTTPSOnly RedirectProtocol = original.RedirectProtocolHTTPSOnly + RedirectProtocolMatchRequest RedirectProtocol = original.RedirectProtocolMatchRequest +) + +type RedirectType = original.RedirectType + +const ( + Found RedirectType = original.Found + Moved RedirectType = original.Moved + PermanentRedirect RedirectType = original.PermanentRedirect + TemporaryRedirect RedirectType = original.TemporaryRedirect +) + +type ResourceState = original.ResourceState + +const ( + ResourceStateCreating ResourceState = original.ResourceStateCreating + ResourceStateDeleting ResourceState = original.ResourceStateDeleting + ResourceStateDisabled ResourceState = original.ResourceStateDisabled + ResourceStateDisabling ResourceState = original.ResourceStateDisabling + ResourceStateEnabled ResourceState = original.ResourceStateEnabled + ResourceStateEnabling ResourceState = original.ResourceStateEnabling +) + +type ResourceType = original.ResourceType + +const ( + MicrosoftNetworkfrontDoors ResourceType = original.MicrosoftNetworkfrontDoors + MicrosoftNetworkfrontDoorsfrontendEndpoints ResourceType = original.MicrosoftNetworkfrontDoorsfrontendEndpoints +) + +type RoutingRuleEnabledState = original.RoutingRuleEnabledState + +const ( + RoutingRuleEnabledStateDisabled RoutingRuleEnabledState = original.RoutingRuleEnabledStateDisabled + RoutingRuleEnabledStateEnabled RoutingRuleEnabledState = original.RoutingRuleEnabledStateEnabled +) + +type RuleType = original.RuleType + +const ( + MatchRule RuleType = original.MatchRule + RateLimitRule RuleType = original.RateLimitRule +) + +type SessionAffinityEnabledState = original.SessionAffinityEnabledState + +const ( + SessionAffinityEnabledStateDisabled SessionAffinityEnabledState = original.SessionAffinityEnabledStateDisabled + SessionAffinityEnabledStateEnabled SessionAffinityEnabledState = original.SessionAffinityEnabledStateEnabled +) + +type TransformType = original.TransformType + +const ( + Lowercase TransformType = original.Lowercase + RemoveNulls TransformType = original.RemoveNulls + Trim TransformType = original.Trim + Uppercase TransformType = original.Uppercase + URLDecode TransformType = original.URLDecode + URLEncode TransformType = original.URLEncode +) + +type AzureAsyncOperationResult = original.AzureAsyncOperationResult +type Backend = original.Backend +type BackendPool = original.BackendPool +type BackendPoolListResult = original.BackendPoolListResult +type BackendPoolProperties = original.BackendPoolProperties +type BackendPoolUpdateParameters = original.BackendPoolUpdateParameters +type BackendPoolsSettings = original.BackendPoolsSettings +type BaseClient = original.BaseClient +type BasicRouteConfiguration = original.BasicRouteConfiguration +type CacheConfiguration = original.CacheConfiguration +type CertificateSourceParameters = original.CertificateSourceParameters +type CheckNameAvailabilityInput = original.CheckNameAvailabilityInput +type CheckNameAvailabilityOutput = original.CheckNameAvailabilityOutput +type CustomHTTPSConfiguration = original.CustomHTTPSConfiguration +type CustomRule = original.CustomRule +type CustomRuleList = original.CustomRuleList +type EndpointsClient = original.EndpointsClient +type EndpointsPurgeContentFuture = original.EndpointsPurgeContentFuture +type Error = original.Error +type ErrorDetails = original.ErrorDetails +type ErrorResponse = original.ErrorResponse +type ForwardingConfiguration = original.ForwardingConfiguration +type FrontDoor = original.FrontDoor +type FrontDoorsClient = original.FrontDoorsClient +type FrontDoorsCreateOrUpdateFutureType = original.FrontDoorsCreateOrUpdateFutureType +type FrontDoorsDeleteFutureType = original.FrontDoorsDeleteFutureType +type FrontendEndpoint = original.FrontendEndpoint +type FrontendEndpointLink = original.FrontendEndpointLink +type FrontendEndpointProperties = original.FrontendEndpointProperties +type FrontendEndpointUpdateParameters = original.FrontendEndpointUpdateParameters +type FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink = original.FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink +type FrontendEndpointsClient = original.FrontendEndpointsClient +type FrontendEndpointsDisableHTTPSFuture = original.FrontendEndpointsDisableHTTPSFuture +type FrontendEndpointsEnableHTTPSFuture = original.FrontendEndpointsEnableHTTPSFuture +type FrontendEndpointsListResult = original.FrontendEndpointsListResult +type FrontendEndpointsListResultIterator = original.FrontendEndpointsListResultIterator +type FrontendEndpointsListResultPage = original.FrontendEndpointsListResultPage +type HealthProbeSettingsListResult = original.HealthProbeSettingsListResult +type HealthProbeSettingsModel = original.HealthProbeSettingsModel +type HealthProbeSettingsProperties = original.HealthProbeSettingsProperties +type HealthProbeSettingsUpdateParameters = original.HealthProbeSettingsUpdateParameters +type KeyVaultCertificateSourceParameters = original.KeyVaultCertificateSourceParameters +type KeyVaultCertificateSourceParametersVault = original.KeyVaultCertificateSourceParametersVault +type ListResult = original.ListResult +type ListResultIterator = original.ListResultIterator +type ListResultPage = original.ListResultPage +type LoadBalancingSettingsListResult = original.LoadBalancingSettingsListResult +type LoadBalancingSettingsModel = original.LoadBalancingSettingsModel +type LoadBalancingSettingsProperties = original.LoadBalancingSettingsProperties +type LoadBalancingSettingsUpdateParameters = original.LoadBalancingSettingsUpdateParameters +type ManagedRuleDefinition = original.ManagedRuleDefinition +type ManagedRuleGroupDefinition = original.ManagedRuleGroupDefinition +type ManagedRuleGroupOverride = original.ManagedRuleGroupOverride +type ManagedRuleOverride = original.ManagedRuleOverride +type ManagedRuleSet = original.ManagedRuleSet +type ManagedRuleSetDefinition = original.ManagedRuleSetDefinition +type ManagedRuleSetDefinitionList = original.ManagedRuleSetDefinitionList +type ManagedRuleSetDefinitionListIterator = original.ManagedRuleSetDefinitionListIterator +type ManagedRuleSetDefinitionListPage = original.ManagedRuleSetDefinitionListPage +type ManagedRuleSetDefinitionProperties = original.ManagedRuleSetDefinitionProperties +type ManagedRuleSetList = original.ManagedRuleSetList +type ManagedRuleSetsClient = original.ManagedRuleSetsClient +type MatchCondition = original.MatchCondition +type PoliciesClient = original.PoliciesClient +type PoliciesCreateOrUpdateFuture = original.PoliciesCreateOrUpdateFuture +type PoliciesDeleteFuture = original.PoliciesDeleteFuture +type PolicySettings = original.PolicySettings +type Properties = original.Properties +type PurgeParameters = original.PurgeParameters +type RedirectConfiguration = original.RedirectConfiguration +type Resource = original.Resource +type RouteConfiguration = original.RouteConfiguration +type RoutingRule = original.RoutingRule +type RoutingRuleListResult = original.RoutingRuleListResult +type RoutingRuleProperties = original.RoutingRuleProperties +type RoutingRuleUpdateParameters = original.RoutingRuleUpdateParameters +type SubResource = original.SubResource +type TagsObject = original.TagsObject +type UpdateParameters = original.UpdateParameters +type ValidateCustomDomainInput = original.ValidateCustomDomainInput +type ValidateCustomDomainOutput = original.ValidateCustomDomainOutput +type WebApplicationFirewallPolicy = original.WebApplicationFirewallPolicy +type WebApplicationFirewallPolicyList = original.WebApplicationFirewallPolicyList +type WebApplicationFirewallPolicyListIterator = original.WebApplicationFirewallPolicyListIterator +type WebApplicationFirewallPolicyListPage = original.WebApplicationFirewallPolicyListPage +type WebApplicationFirewallPolicyProperties = original.WebApplicationFirewallPolicyProperties + +func New(subscriptionID string) BaseClient { + return original.New(subscriptionID) +} +func NewEndpointsClient(subscriptionID string) EndpointsClient { + return original.NewEndpointsClient(subscriptionID) +} +func NewEndpointsClientWithBaseURI(baseURI string, subscriptionID string) EndpointsClient { + return original.NewEndpointsClientWithBaseURI(baseURI, subscriptionID) +} +func NewFrontDoorsClient(subscriptionID string) FrontDoorsClient { + return original.NewFrontDoorsClient(subscriptionID) +} +func NewFrontDoorsClientWithBaseURI(baseURI string, subscriptionID string) FrontDoorsClient { + return original.NewFrontDoorsClientWithBaseURI(baseURI, subscriptionID) +} +func NewFrontendEndpointsClient(subscriptionID string) FrontendEndpointsClient { + return original.NewFrontendEndpointsClient(subscriptionID) +} +func NewFrontendEndpointsClientWithBaseURI(baseURI string, subscriptionID string) FrontendEndpointsClient { + return original.NewFrontendEndpointsClientWithBaseURI(baseURI, subscriptionID) +} +func NewFrontendEndpointsListResultIterator(page FrontendEndpointsListResultPage) FrontendEndpointsListResultIterator { + return original.NewFrontendEndpointsListResultIterator(page) +} +func NewFrontendEndpointsListResultPage(getNextPage func(context.Context, FrontendEndpointsListResult) (FrontendEndpointsListResult, error)) FrontendEndpointsListResultPage { + return original.NewFrontendEndpointsListResultPage(getNextPage) +} +func NewListResultIterator(page ListResultPage) ListResultIterator { + return original.NewListResultIterator(page) +} +func NewListResultPage(getNextPage func(context.Context, ListResult) (ListResult, error)) ListResultPage { + return original.NewListResultPage(getNextPage) +} +func NewManagedRuleSetDefinitionListIterator(page ManagedRuleSetDefinitionListPage) ManagedRuleSetDefinitionListIterator { + return original.NewManagedRuleSetDefinitionListIterator(page) +} +func NewManagedRuleSetDefinitionListPage(getNextPage func(context.Context, ManagedRuleSetDefinitionList) (ManagedRuleSetDefinitionList, error)) ManagedRuleSetDefinitionListPage { + return original.NewManagedRuleSetDefinitionListPage(getNextPage) +} +func NewManagedRuleSetsClient(subscriptionID string) ManagedRuleSetsClient { + return original.NewManagedRuleSetsClient(subscriptionID) +} +func NewManagedRuleSetsClientWithBaseURI(baseURI string, subscriptionID string) ManagedRuleSetsClient { + return original.NewManagedRuleSetsClientWithBaseURI(baseURI, subscriptionID) +} +func NewPoliciesClient(subscriptionID string) PoliciesClient { + return original.NewPoliciesClient(subscriptionID) +} +func NewPoliciesClientWithBaseURI(baseURI string, subscriptionID string) PoliciesClient { + return original.NewPoliciesClientWithBaseURI(baseURI, subscriptionID) +} +func NewWebApplicationFirewallPolicyListIterator(page WebApplicationFirewallPolicyListPage) WebApplicationFirewallPolicyListIterator { + return original.NewWebApplicationFirewallPolicyListIterator(page) +} +func NewWebApplicationFirewallPolicyListPage(getNextPage func(context.Context, WebApplicationFirewallPolicyList) (WebApplicationFirewallPolicyList, error)) WebApplicationFirewallPolicyListPage { + return original.NewWebApplicationFirewallPolicyListPage(getNextPage) +} +func NewWithBaseURI(baseURI string, subscriptionID string) BaseClient { + return original.NewWithBaseURI(baseURI, subscriptionID) +} +func PossibleActionTypeValues() []ActionType { + return original.PossibleActionTypeValues() +} +func PossibleAvailabilityValues() []Availability { + return original.PossibleAvailabilityValues() +} +func PossibleBackendEnabledStateValues() []BackendEnabledState { + return original.PossibleBackendEnabledStateValues() +} +func PossibleCertificateSourceValues() []CertificateSource { + return original.PossibleCertificateSourceValues() +} +func PossibleCertificateTypeValues() []CertificateType { + return original.PossibleCertificateTypeValues() +} +func PossibleCustomHTTPSProvisioningStateValues() []CustomHTTPSProvisioningState { + return original.PossibleCustomHTTPSProvisioningStateValues() +} +func PossibleCustomHTTPSProvisioningSubstateValues() []CustomHTTPSProvisioningSubstate { + return original.PossibleCustomHTTPSProvisioningSubstateValues() +} +func PossibleCustomRuleEnabledStateValues() []CustomRuleEnabledState { + return original.PossibleCustomRuleEnabledStateValues() +} +func PossibleDynamicCompressionEnabledValues() []DynamicCompressionEnabled { + return original.PossibleDynamicCompressionEnabledValues() +} +func PossibleEnabledStateValues() []EnabledState { + return original.PossibleEnabledStateValues() +} +func PossibleEnforceCertificateNameCheckEnabledStateValues() []EnforceCertificateNameCheckEnabledState { + return original.PossibleEnforceCertificateNameCheckEnabledStateValues() +} +func PossibleForwardingProtocolValues() []ForwardingProtocol { + return original.PossibleForwardingProtocolValues() +} +func PossibleHealthProbeEnabledValues() []HealthProbeEnabled { + return original.PossibleHealthProbeEnabledValues() +} +func PossibleHealthProbeMethodValues() []HealthProbeMethod { + return original.PossibleHealthProbeMethodValues() +} +func PossibleManagedRuleEnabledStateValues() []ManagedRuleEnabledState { + return original.PossibleManagedRuleEnabledStateValues() +} +func PossibleMatchVariableValues() []MatchVariable { + return original.PossibleMatchVariableValues() +} +func PossibleMinimumTLSVersionValues() []MinimumTLSVersion { + return original.PossibleMinimumTLSVersionValues() +} +func PossibleNetworkOperationStatusValues() []NetworkOperationStatus { + return original.PossibleNetworkOperationStatusValues() +} +func PossibleOdataTypeValues() []OdataType { + return original.PossibleOdataTypeValues() +} +func PossibleOperatorValues() []Operator { + return original.PossibleOperatorValues() +} +func PossiblePolicyEnabledStateValues() []PolicyEnabledState { + return original.PossiblePolicyEnabledStateValues() +} +func PossiblePolicyModeValues() []PolicyMode { + return original.PossiblePolicyModeValues() +} +func PossiblePolicyResourceStateValues() []PolicyResourceState { + return original.PossiblePolicyResourceStateValues() +} +func PossibleProtocolValues() []Protocol { + return original.PossibleProtocolValues() +} +func PossibleQueryValues() []Query { + return original.PossibleQueryValues() +} +func PossibleRedirectProtocolValues() []RedirectProtocol { + return original.PossibleRedirectProtocolValues() +} +func PossibleRedirectTypeValues() []RedirectType { + return original.PossibleRedirectTypeValues() +} +func PossibleResourceStateValues() []ResourceState { + return original.PossibleResourceStateValues() +} +func PossibleResourceTypeValues() []ResourceType { + return original.PossibleResourceTypeValues() +} +func PossibleRoutingRuleEnabledStateValues() []RoutingRuleEnabledState { + return original.PossibleRoutingRuleEnabledStateValues() +} +func PossibleRuleTypeValues() []RuleType { + return original.PossibleRuleTypeValues() +} +func PossibleSessionAffinityEnabledStateValues() []SessionAffinityEnabledState { + return original.PossibleSessionAffinityEnabledStateValues() +} +func PossibleTransformTypeValues() []TransformType { + return original.PossibleTransformTypeValues() +} +func UserAgent() string { + return original.UserAgent() + " profiles/latest" +} +func Version() string { + return original.Version() +} diff --git a/profiles/latest/generate.go b/profiles/latest/generate.go index 4a8f0709cd96..cae43ff4afe4 100644 --- a/profiles/latest/generate.go +++ b/profiles/latest/generate.go @@ -14,4 +14,4 @@ package latest -//go:generate go run ../../tools/profileBuilder/main.go latest --clear-output --name latest --root ../../services --output-location ./ --verbose +//go:generate go run ../../tools/profileBuilder/main.go latest --clear-output --name latest --root ../../services --output-location ./ diff --git a/profiles/preview/cognitiveservices/anomalyfinder/anomalyfinderapi/models.go b/profiles/latest/healthcareapis/mgmt/healthcareapis/healthcareapisapi/models.go similarity index 68% rename from profiles/preview/cognitiveservices/anomalyfinder/anomalyfinderapi/models.go rename to profiles/latest/healthcareapis/mgmt/healthcareapis/healthcareapisapi/models.go index 497b8771a7f0..ebd9615bd1ab 100644 --- a/profiles/preview/cognitiveservices/anomalyfinder/anomalyfinderapi/models.go +++ b/profiles/latest/healthcareapis/mgmt/healthcareapis/healthcareapisapi/models.go @@ -17,8 +17,10 @@ // This code was auto-generated by: // github.com/Azure/azure-sdk-for-go/tools/profileBuilder -package anomalyfinderapi +package healthcareapisapi -import original "github.com/Azure/azure-sdk-for-go/services/cognitiveservices/v2.0/anomalyfinder/anomalyfinderapi" +import original "github.com/Azure/azure-sdk-for-go/services/healthcareapis/mgmt/2019-09-16/healthcareapis/healthcareapisapi" -type BaseClientAPI = original.BaseClientAPI +type OperationResultsClientAPI = original.OperationResultsClientAPI +type OperationsClientAPI = original.OperationsClientAPI +type ServicesClientAPI = original.ServicesClientAPI diff --git a/profiles/latest/healthcareapis/mgmt/healthcareapis/models.go b/profiles/latest/healthcareapis/mgmt/healthcareapis/models.go new file mode 100644 index 000000000000..0018a473de12 --- /dev/null +++ b/profiles/latest/healthcareapis/mgmt/healthcareapis/models.go @@ -0,0 +1,154 @@ +// +build go1.9 + +// Copyright 2019 Microsoft Corporation +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// This code was auto-generated by: +// github.com/Azure/azure-sdk-for-go/tools/profileBuilder + +package healthcareapis + +import ( + "context" + + original "github.com/Azure/azure-sdk-for-go/services/healthcareapis/mgmt/2019-09-16/healthcareapis" +) + +const ( + DefaultBaseURI = original.DefaultBaseURI +) + +type Kind = original.Kind + +const ( + Fhir Kind = original.Fhir + FhirR4 Kind = original.FhirR4 + FhirStu3 Kind = original.FhirStu3 +) + +type OperationResultStatus = original.OperationResultStatus + +const ( + Canceled OperationResultStatus = original.Canceled + Failed OperationResultStatus = original.Failed + Requested OperationResultStatus = original.Requested + Running OperationResultStatus = original.Running + Succeeded OperationResultStatus = original.Succeeded +) + +type ProvisioningState = original.ProvisioningState + +const ( + ProvisioningStateAccepted ProvisioningState = original.ProvisioningStateAccepted + ProvisioningStateCanceled ProvisioningState = original.ProvisioningStateCanceled + ProvisioningStateCreating ProvisioningState = original.ProvisioningStateCreating + ProvisioningStateDeleting ProvisioningState = original.ProvisioningStateDeleting + ProvisioningStateDeprovisioned ProvisioningState = original.ProvisioningStateDeprovisioned + ProvisioningStateFailed ProvisioningState = original.ProvisioningStateFailed + ProvisioningStateSucceeded ProvisioningState = original.ProvisioningStateSucceeded + ProvisioningStateUpdating ProvisioningState = original.ProvisioningStateUpdating + ProvisioningStateVerifying ProvisioningState = original.ProvisioningStateVerifying +) + +type ServiceNameUnavailabilityReason = original.ServiceNameUnavailabilityReason + +const ( + AlreadyExists ServiceNameUnavailabilityReason = original.AlreadyExists + Invalid ServiceNameUnavailabilityReason = original.Invalid +) + +type BaseClient = original.BaseClient +type CheckNameAvailabilityParameters = original.CheckNameAvailabilityParameters +type ErrorDetails = original.ErrorDetails +type ErrorDetailsInternal = original.ErrorDetailsInternal +type Operation = original.Operation +type OperationDisplay = original.OperationDisplay +type OperationListResult = original.OperationListResult +type OperationListResultIterator = original.OperationListResultIterator +type OperationListResultPage = original.OperationListResultPage +type OperationResultsClient = original.OperationResultsClient +type OperationResultsDescription = original.OperationResultsDescription +type OperationsClient = original.OperationsClient +type Resource = original.Resource +type ServiceAccessPolicyEntry = original.ServiceAccessPolicyEntry +type ServiceAuthenticationConfigurationInfo = original.ServiceAuthenticationConfigurationInfo +type ServiceCorsConfigurationInfo = original.ServiceCorsConfigurationInfo +type ServiceCosmosDbConfigurationInfo = original.ServiceCosmosDbConfigurationInfo +type ServicesClient = original.ServicesClient +type ServicesCreateOrUpdateFuture = original.ServicesCreateOrUpdateFuture +type ServicesDeleteFuture = original.ServicesDeleteFuture +type ServicesDescription = original.ServicesDescription +type ServicesDescriptionListResult = original.ServicesDescriptionListResult +type ServicesDescriptionListResultIterator = original.ServicesDescriptionListResultIterator +type ServicesDescriptionListResultPage = original.ServicesDescriptionListResultPage +type ServicesNameAvailabilityInfo = original.ServicesNameAvailabilityInfo +type ServicesPatchDescription = original.ServicesPatchDescription +type ServicesProperties = original.ServicesProperties +type ServicesUpdateFuture = original.ServicesUpdateFuture +type SetObject = original.SetObject + +func New(subscriptionID string) BaseClient { + return original.New(subscriptionID) +} +func NewOperationListResultIterator(page OperationListResultPage) OperationListResultIterator { + return original.NewOperationListResultIterator(page) +} +func NewOperationListResultPage(getNextPage func(context.Context, OperationListResult) (OperationListResult, error)) OperationListResultPage { + return original.NewOperationListResultPage(getNextPage) +} +func NewOperationResultsClient(subscriptionID string) OperationResultsClient { + return original.NewOperationResultsClient(subscriptionID) +} +func NewOperationResultsClientWithBaseURI(baseURI string, subscriptionID string) OperationResultsClient { + return original.NewOperationResultsClientWithBaseURI(baseURI, subscriptionID) +} +func NewOperationsClient(subscriptionID string) OperationsClient { + return original.NewOperationsClient(subscriptionID) +} +func NewOperationsClientWithBaseURI(baseURI string, subscriptionID string) OperationsClient { + return original.NewOperationsClientWithBaseURI(baseURI, subscriptionID) +} +func NewServicesClient(subscriptionID string) ServicesClient { + return original.NewServicesClient(subscriptionID) +} +func NewServicesClientWithBaseURI(baseURI string, subscriptionID string) ServicesClient { + return original.NewServicesClientWithBaseURI(baseURI, subscriptionID) +} +func NewServicesDescriptionListResultIterator(page ServicesDescriptionListResultPage) ServicesDescriptionListResultIterator { + return original.NewServicesDescriptionListResultIterator(page) +} +func NewServicesDescriptionListResultPage(getNextPage func(context.Context, ServicesDescriptionListResult) (ServicesDescriptionListResult, error)) ServicesDescriptionListResultPage { + return original.NewServicesDescriptionListResultPage(getNextPage) +} +func NewWithBaseURI(baseURI string, subscriptionID string) BaseClient { + return original.NewWithBaseURI(baseURI, subscriptionID) +} +func PossibleKindValues() []Kind { + return original.PossibleKindValues() +} +func PossibleOperationResultStatusValues() []OperationResultStatus { + return original.PossibleOperationResultStatusValues() +} +func PossibleProvisioningStateValues() []ProvisioningState { + return original.PossibleProvisioningStateValues() +} +func PossibleServiceNameUnavailabilityReasonValues() []ServiceNameUnavailabilityReason { + return original.PossibleServiceNameUnavailabilityReasonValues() +} +func UserAgent() string { + return original.UserAgent() + " profiles/latest" +} +func Version() string { + return original.Version() +} diff --git a/profiles/latest/kusto/mgmt/kusto/kustoapi/models.go b/profiles/latest/kusto/mgmt/kusto/kustoapi/models.go index 07c81eaf8dab..25b871538b2d 100644 --- a/profiles/latest/kusto/mgmt/kusto/kustoapi/models.go +++ b/profiles/latest/kusto/mgmt/kusto/kustoapi/models.go @@ -19,8 +19,9 @@ package kustoapi -import original "github.com/Azure/azure-sdk-for-go/services/kusto/mgmt/2019-05-15/kusto/kustoapi" +import original "github.com/Azure/azure-sdk-for-go/services/kusto/mgmt/2019-09-07/kusto/kustoapi" +type AttachedDatabaseConfigurationsClientAPI = original.AttachedDatabaseConfigurationsClientAPI type ClustersClientAPI = original.ClustersClientAPI type DataConnectionsClientAPI = original.DataConnectionsClientAPI type DatabasesClientAPI = original.DatabasesClientAPI diff --git a/profiles/latest/kusto/mgmt/kusto/models.go b/profiles/latest/kusto/mgmt/kusto/models.go index fa4db8764073..917855cd280e 100644 --- a/profiles/latest/kusto/mgmt/kusto/models.go +++ b/profiles/latest/kusto/mgmt/kusto/models.go @@ -22,7 +22,7 @@ package kusto import ( "context" - original "github.com/Azure/azure-sdk-for-go/services/kusto/mgmt/2019-05-15/kusto" + original "github.com/Azure/azure-sdk-for-go/services/kusto/mgmt/2019-09-07/kusto" ) const ( @@ -74,6 +74,7 @@ const ( SINGLEJSON DataFormat = original.SINGLEJSON SOHSV DataFormat = original.SOHSV TSV DataFormat = original.TSV + TSVE DataFormat = original.TSVE TXT DataFormat = original.TXT ) @@ -96,13 +97,44 @@ const ( DatabasePrincipalTypeUser DatabasePrincipalType = original.DatabasePrincipalTypeUser ) +type DefaultPrincipalsModificationKind = original.DefaultPrincipalsModificationKind + +const ( + DefaultPrincipalsModificationKindNone DefaultPrincipalsModificationKind = original.DefaultPrincipalsModificationKindNone + DefaultPrincipalsModificationKindReplace DefaultPrincipalsModificationKind = original.DefaultPrincipalsModificationKindReplace + DefaultPrincipalsModificationKindUnion DefaultPrincipalsModificationKind = original.DefaultPrincipalsModificationKindUnion +) + +type IdentityType = original.IdentityType + +const ( + IdentityTypeNone IdentityType = original.IdentityTypeNone + IdentityTypeSystemAssigned IdentityType = original.IdentityTypeSystemAssigned +) + type Kind = original.Kind const ( - KindDataConnection Kind = original.KindDataConnection - KindEventGrid Kind = original.KindEventGrid - KindEventHub Kind = original.KindEventHub - KindIotHub Kind = original.KindIotHub + KindDatabase Kind = original.KindDatabase + KindReadOnlyFollowing Kind = original.KindReadOnlyFollowing + KindReadWrite Kind = original.KindReadWrite +) + +type KindBasicDataConnection = original.KindBasicDataConnection + +const ( + KindDataConnection KindBasicDataConnection = original.KindDataConnection + KindEventGrid KindBasicDataConnection = original.KindEventGrid + KindEventHub KindBasicDataConnection = original.KindEventHub + KindIotHub KindBasicDataConnection = original.KindIotHub +) + +type PrincipalsModificationKind = original.PrincipalsModificationKind + +const ( + PrincipalsModificationKindNone PrincipalsModificationKind = original.PrincipalsModificationKindNone + PrincipalsModificationKindReplace PrincipalsModificationKind = original.PrincipalsModificationKindReplace + PrincipalsModificationKindUnion PrincipalsModificationKind = original.PrincipalsModificationKindUnion ) type ProvisioningState = original.ProvisioningState @@ -137,12 +169,27 @@ const ( StateUpdating State = original.StateUpdating ) +type Type = original.Type + +const ( + MicrosoftKustoclustersattachedDatabaseConfigurations Type = original.MicrosoftKustoclustersattachedDatabaseConfigurations + MicrosoftKustoclustersdatabases Type = original.MicrosoftKustoclustersdatabases +) + +type AttachedDatabaseConfiguration = original.AttachedDatabaseConfiguration +type AttachedDatabaseConfigurationListResult = original.AttachedDatabaseConfigurationListResult +type AttachedDatabaseConfigurationProperties = original.AttachedDatabaseConfigurationProperties +type AttachedDatabaseConfigurationsClient = original.AttachedDatabaseConfigurationsClient +type AttachedDatabaseConfigurationsCreateOrUpdateFuture = original.AttachedDatabaseConfigurationsCreateOrUpdateFuture +type AttachedDatabaseConfigurationsDeleteFuture = original.AttachedDatabaseConfigurationsDeleteFuture type AzureCapacity = original.AzureCapacity type AzureEntityResource = original.AzureEntityResource type AzureResourceSku = original.AzureResourceSku type AzureSku = original.AzureSku type BaseClient = original.BaseClient type BasicDataConnection = original.BasicDataConnection +type BasicDatabase = original.BasicDatabase +type CheckNameRequest = original.CheckNameRequest type CheckNameResult = original.CheckNameResult type CloudError = original.CloudError type CloudErrorBody = original.CloudErrorBody @@ -154,6 +201,7 @@ type ClusterUpdate = original.ClusterUpdate type ClustersClient = original.ClustersClient type ClustersCreateOrUpdateFuture = original.ClustersCreateOrUpdateFuture type ClustersDeleteFuture = original.ClustersDeleteFuture +type ClustersDetachFollowerDatabasesFuture = original.ClustersDetachFollowerDatabasesFuture type ClustersStartFuture = original.ClustersStartFuture type ClustersStopFuture = original.ClustersStopFuture type ClustersUpdateFuture = original.ClustersUpdateFuture @@ -169,14 +217,12 @@ type DataConnectionsCreateOrUpdateFuture = original.DataConnectionsCreateOrUpdat type DataConnectionsDeleteFuture = original.DataConnectionsDeleteFuture type DataConnectionsUpdateFuture = original.DataConnectionsUpdateFuture type Database = original.Database -type DatabaseCheckNameRequest = original.DatabaseCheckNameRequest type DatabaseListResult = original.DatabaseListResult +type DatabaseModel = original.DatabaseModel type DatabasePrincipal = original.DatabasePrincipal type DatabasePrincipalListRequest = original.DatabasePrincipalListRequest type DatabasePrincipalListResult = original.DatabasePrincipalListResult -type DatabaseProperties = original.DatabaseProperties type DatabaseStatistics = original.DatabaseStatistics -type DatabaseUpdate = original.DatabaseUpdate type DatabasesClient = original.DatabasesClient type DatabasesCreateOrUpdateFuture = original.DatabasesCreateOrUpdateFuture type DatabasesDeleteFuture = original.DatabasesDeleteFuture @@ -185,8 +231,13 @@ type EventGridConnectionProperties = original.EventGridConnectionProperties type EventGridDataConnection = original.EventGridDataConnection type EventHubConnectionProperties = original.EventHubConnectionProperties type EventHubDataConnection = original.EventHubDataConnection +type FollowerDatabaseDefinition = original.FollowerDatabaseDefinition +type FollowerDatabaseListResult = original.FollowerDatabaseListResult +type Identity = original.Identity +type IdentityUserAssignedIdentitiesValue = original.IdentityUserAssignedIdentitiesValue type IotHubConnectionProperties = original.IotHubConnectionProperties type IotHubDataConnection = original.IotHubDataConnection +type KeyVaultProperties = original.KeyVaultProperties type ListResourceSkusResult = original.ListResourceSkusResult type Operation = original.Operation type OperationDisplay = original.OperationDisplay @@ -196,6 +247,10 @@ type OperationListResultPage = original.OperationListResultPage type OperationsClient = original.OperationsClient type OptimizedAutoscale = original.OptimizedAutoscale type ProxyResource = original.ProxyResource +type ReadOnlyFollowingDatabase = original.ReadOnlyFollowingDatabase +type ReadOnlyFollowingDatabaseProperties = original.ReadOnlyFollowingDatabaseProperties +type ReadWriteDatabase = original.ReadWriteDatabase +type ReadWriteDatabaseProperties = original.ReadWriteDatabaseProperties type Resource = original.Resource type SkuDescription = original.SkuDescription type SkuDescriptionList = original.SkuDescriptionList @@ -207,6 +262,12 @@ type VirtualNetworkConfiguration = original.VirtualNetworkConfiguration func New(subscriptionID string) BaseClient { return original.New(subscriptionID) } +func NewAttachedDatabaseConfigurationsClient(subscriptionID string) AttachedDatabaseConfigurationsClient { + return original.NewAttachedDatabaseConfigurationsClient(subscriptionID) +} +func NewAttachedDatabaseConfigurationsClientWithBaseURI(baseURI string, subscriptionID string) AttachedDatabaseConfigurationsClient { + return original.NewAttachedDatabaseConfigurationsClientWithBaseURI(baseURI, subscriptionID) +} func NewClustersClient(subscriptionID string) ClustersClient { return original.NewClustersClient(subscriptionID) } @@ -258,9 +319,21 @@ func PossibleDatabasePrincipalRoleValues() []DatabasePrincipalRole { func PossibleDatabasePrincipalTypeValues() []DatabasePrincipalType { return original.PossibleDatabasePrincipalTypeValues() } +func PossibleDefaultPrincipalsModificationKindValues() []DefaultPrincipalsModificationKind { + return original.PossibleDefaultPrincipalsModificationKindValues() +} +func PossibleIdentityTypeValues() []IdentityType { + return original.PossibleIdentityTypeValues() +} +func PossibleKindBasicDataConnectionValues() []KindBasicDataConnection { + return original.PossibleKindBasicDataConnectionValues() +} func PossibleKindValues() []Kind { return original.PossibleKindValues() } +func PossiblePrincipalsModificationKindValues() []PrincipalsModificationKind { + return original.PossiblePrincipalsModificationKindValues() +} func PossibleProvisioningStateValues() []ProvisioningState { return original.PossibleProvisioningStateValues() } @@ -270,6 +343,9 @@ func PossibleReasonValues() []Reason { func PossibleStateValues() []State { return original.PossibleStateValues() } +func PossibleTypeValues() []Type { + return original.PossibleTypeValues() +} func UserAgent() string { return original.UserAgent() + " profiles/latest" } diff --git a/profiles/latest/machinelearningservices/mgmt/machinelearningservices/machinelearningservicesapi/models.go b/profiles/latest/machinelearningservices/mgmt/machinelearningservices/machinelearningservicesapi/models.go index 0d80dd1aa71c..7304674d88f3 100644 --- a/profiles/latest/machinelearningservices/mgmt/machinelearningservices/machinelearningservicesapi/models.go +++ b/profiles/latest/machinelearningservices/mgmt/machinelearningservices/machinelearningservicesapi/models.go @@ -23,6 +23,7 @@ import original "github.com/Azure/azure-sdk-for-go/services/machinelearningservi type MachineLearningComputeClientAPI = original.MachineLearningComputeClientAPI type OperationsClientAPI = original.OperationsClientAPI +type QuotasClientAPI = original.QuotasClientAPI type UsagesClientAPI = original.UsagesClientAPI type VirtualMachineSizesClientAPI = original.VirtualMachineSizesClientAPI type WorkspacesClientAPI = original.WorkspacesClientAPI diff --git a/profiles/latest/machinelearningservices/mgmt/machinelearningservices/models.go b/profiles/latest/machinelearningservices/mgmt/machinelearningservices/models.go index 683b49dd75be..ee20b507ed49 100644 --- a/profiles/latest/machinelearningservices/mgmt/machinelearningservices/models.go +++ b/profiles/latest/machinelearningservices/mgmt/machinelearningservices/models.go @@ -100,6 +100,12 @@ const ( Updating ProvisioningState = original.Updating ) +type QuotaUnit = original.QuotaUnit + +const ( + Count QuotaUnit = original.Count +) + type RemoteLoginPortPublicAccess = original.RemoteLoginPortPublicAccess const ( @@ -117,8 +123,19 @@ const ( type Status = original.Status const ( - StatusDisabled Status = original.StatusDisabled - StatusEnabled Status = original.StatusEnabled + Failure Status = original.Failure + InvalidQuotaBelowClusterMinimum Status = original.InvalidQuotaBelowClusterMinimum + InvalidQuotaExceedsSubscriptionLimit Status = original.InvalidQuotaExceedsSubscriptionLimit + InvalidVMFamilyName Status = original.InvalidVMFamilyName + Success Status = original.Success + Undefined Status = original.Undefined +) + +type Status1 = original.Status1 + +const ( + Status1Disabled Status1 = original.Status1Disabled + Status1Enabled Status1 = original.Status1Enabled ) type UnderlyingResourceAction = original.UnderlyingResourceAction @@ -131,7 +148,7 @@ const ( type UsageUnit = original.UsageUnit const ( - Count UsageUnit = original.Count + UsageUnitCount UsageUnit = original.UsageUnitCount ) type VMPriority = original.VMPriority @@ -176,6 +193,9 @@ type ListUsagesResult = original.ListUsagesResult type ListUsagesResultIterator = original.ListUsagesResultIterator type ListUsagesResultPage = original.ListUsagesResultPage type ListWorkspaceKeysResult = original.ListWorkspaceKeysResult +type ListWorkspaceQuotas = original.ListWorkspaceQuotas +type ListWorkspaceQuotasIterator = original.ListWorkspaceQuotasIterator +type ListWorkspaceQuotasPage = original.ListWorkspaceQuotasPage type MachineLearningComputeClient = original.MachineLearningComputeClient type MachineLearningComputeCreateOrUpdateFuture = original.MachineLearningComputeCreateOrUpdateFuture type MachineLearningComputeDeleteFuture = original.MachineLearningComputeDeleteFuture @@ -189,13 +209,20 @@ type PaginatedComputeResourcesList = original.PaginatedComputeResourcesList type PaginatedComputeResourcesListIterator = original.PaginatedComputeResourcesListIterator type PaginatedComputeResourcesListPage = original.PaginatedComputeResourcesListPage type Password = original.Password +type QuotaBaseProperties = original.QuotaBaseProperties +type QuotaUpdateParameters = original.QuotaUpdateParameters +type QuotasClient = original.QuotasClient type RegistryListCredentialsResult = original.RegistryListCredentialsResult type Resource = original.Resource type ResourceID = original.ResourceID +type ResourceName = original.ResourceName +type ResourceQuota = original.ResourceQuota type ScaleSettings = original.ScaleSettings type ServicePrincipalCredentials = original.ServicePrincipalCredentials type SslConfiguration = original.SslConfiguration type SystemService = original.SystemService +type UpdateWorkspaceQuotas = original.UpdateWorkspaceQuotas +type UpdateWorkspaceQuotasResult = original.UpdateWorkspaceQuotasResult type Usage = original.Usage type UsageName = original.UsageName type UsagesClient = original.UsagesClient @@ -225,6 +252,12 @@ func NewListUsagesResultIterator(page ListUsagesResultPage) ListUsagesResultIter func NewListUsagesResultPage(getNextPage func(context.Context, ListUsagesResult) (ListUsagesResult, error)) ListUsagesResultPage { return original.NewListUsagesResultPage(getNextPage) } +func NewListWorkspaceQuotasIterator(page ListWorkspaceQuotasPage) ListWorkspaceQuotasIterator { + return original.NewListWorkspaceQuotasIterator(page) +} +func NewListWorkspaceQuotasPage(getNextPage func(context.Context, ListWorkspaceQuotas) (ListWorkspaceQuotas, error)) ListWorkspaceQuotasPage { + return original.NewListWorkspaceQuotasPage(getNextPage) +} func NewMachineLearningComputeClient(subscriptionID string) MachineLearningComputeClient { return original.NewMachineLearningComputeClient(subscriptionID) } @@ -243,6 +276,12 @@ func NewPaginatedComputeResourcesListIterator(page PaginatedComputeResourcesList func NewPaginatedComputeResourcesListPage(getNextPage func(context.Context, PaginatedComputeResourcesList) (PaginatedComputeResourcesList, error)) PaginatedComputeResourcesListPage { return original.NewPaginatedComputeResourcesListPage(getNextPage) } +func NewQuotasClient(subscriptionID string) QuotasClient { + return original.NewQuotasClient(subscriptionID) +} +func NewQuotasClientWithBaseURI(baseURI string, subscriptionID string) QuotasClient { + return original.NewQuotasClientWithBaseURI(baseURI, subscriptionID) +} func NewUsagesClient(subscriptionID string) UsagesClient { return original.NewUsagesClient(subscriptionID) } @@ -291,12 +330,18 @@ func PossibleNodeStateValues() []NodeState { func PossibleProvisioningStateValues() []ProvisioningState { return original.PossibleProvisioningStateValues() } +func PossibleQuotaUnitValues() []QuotaUnit { + return original.PossibleQuotaUnitValues() +} func PossibleRemoteLoginPortPublicAccessValues() []RemoteLoginPortPublicAccess { return original.PossibleRemoteLoginPortPublicAccessValues() } func PossibleResourceIdentityTypeValues() []ResourceIdentityType { return original.PossibleResourceIdentityTypeValues() } +func PossibleStatus1Values() []Status1 { + return original.PossibleStatus1Values() +} func PossibleStatusValues() []Status { return original.PossibleStatusValues() } diff --git a/profiles/latest/mobileengagement/mgmt/mobileengagement/models.go b/profiles/latest/mobileengagement/mgmt/mobileengagement/models.go deleted file mode 100644 index aa0e123aae85..000000000000 --- a/profiles/latest/mobileengagement/mgmt/mobileengagement/models.go +++ /dev/null @@ -1,394 +0,0 @@ -// +build go1.9 - -// Copyright 2019 Microsoft Corporation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -// This code was auto-generated by: -// github.com/Azure/azure-sdk-for-go/tools/profileBuilder - -package mobileengagement - -import original "github.com/Azure/azure-sdk-for-go/services/mobileengagement/mgmt/2014-12-01/mobileengagement" - -const ( - DefaultBaseURI = original.DefaultBaseURI -) - -type AudienceOperators = original.AudienceOperators - -const ( - EQ AudienceOperators = original.EQ - GE AudienceOperators = original.GE - GT AudienceOperators = original.GT - LE AudienceOperators = original.LE - LT AudienceOperators = original.LT -) - -type CampaignFeedbacks = original.CampaignFeedbacks - -const ( - Actioned CampaignFeedbacks = original.Actioned - Exited CampaignFeedbacks = original.Exited - Pushed CampaignFeedbacks = original.Pushed - Replied CampaignFeedbacks = original.Replied -) - -type CampaignKinds = original.CampaignKinds - -const ( - Announcements CampaignKinds = original.Announcements - DataPushes CampaignKinds = original.DataPushes - NativePushes CampaignKinds = original.NativePushes - Polls CampaignKinds = original.Polls -) - -type CampaignStates = original.CampaignStates - -const ( - Draft CampaignStates = original.Draft - Finished CampaignStates = original.Finished - InProgress CampaignStates = original.InProgress - Queued CampaignStates = original.Queued - Scheduled CampaignStates = original.Scheduled -) - -type CampaignType = original.CampaignType - -const ( - Announcement CampaignType = original.Announcement - DataPush CampaignType = original.DataPush - NativePush CampaignType = original.NativePush - Poll CampaignType = original.Poll -) - -type CampaignTypes = original.CampaignTypes - -const ( - OnlyNotif CampaignTypes = original.OnlyNotif - Textbase64 CampaignTypes = original.Textbase64 - Texthtml CampaignTypes = original.Texthtml - Textplain CampaignTypes = original.Textplain -) - -type DeliveryTimes = original.DeliveryTimes - -const ( - Any DeliveryTimes = original.Any - Background DeliveryTimes = original.Background - Session DeliveryTimes = original.Session -) - -type ExportFormat = original.ExportFormat - -const ( - CsvBlob ExportFormat = original.CsvBlob - JSONBlob ExportFormat = original.JSONBlob -) - -type ExportState = original.ExportState - -const ( - ExportStateFailed ExportState = original.ExportStateFailed - ExportStateQueued ExportState = original.ExportStateQueued - ExportStateStarted ExportState = original.ExportStateStarted - ExportStateSucceeded ExportState = original.ExportStateSucceeded -) - -type ExportType = original.ExportType - -const ( - ExportTypeActivity ExportType = original.ExportTypeActivity - ExportTypeCrash ExportType = original.ExportTypeCrash - ExportTypeError ExportType = original.ExportTypeError - ExportTypeEvent ExportType = original.ExportTypeEvent - ExportTypeJob ExportType = original.ExportTypeJob - ExportTypePush ExportType = original.ExportTypePush - ExportTypeSession ExportType = original.ExportTypeSession - ExportTypeTag ExportType = original.ExportTypeTag - ExportTypeToken ExportType = original.ExportTypeToken -) - -type JobStates = original.JobStates - -const ( - JobStatesFailed JobStates = original.JobStatesFailed - JobStatesQueued JobStates = original.JobStatesQueued - JobStatesStarted JobStates = original.JobStatesStarted - JobStatesSucceeded JobStates = original.JobStatesSucceeded -) - -type NotificationTypes = original.NotificationTypes - -const ( - Popup NotificationTypes = original.Popup - System NotificationTypes = original.System -) - -type ProvisioningStates = original.ProvisioningStates - -const ( - Creating ProvisioningStates = original.Creating - Succeeded ProvisioningStates = original.Succeeded -) - -type PushModes = original.PushModes - -const ( - Manual PushModes = original.Manual - OneShot PushModes = original.OneShot - RealTime PushModes = original.RealTime -) - -type Type = original.Type - -const ( - TypeAnnouncementFeedback Type = original.TypeAnnouncementFeedback - TypeApplicationVersion Type = original.TypeApplicationVersion - TypeBooleanTag Type = original.TypeBooleanTag - TypeCarrierCountry Type = original.TypeCarrierCountry - TypeCarrierName Type = original.TypeCarrierName - TypeCriterion Type = original.TypeCriterion - TypeDatapushFeedback Type = original.TypeDatapushFeedback - TypeDateTag Type = original.TypeDateTag - TypeDeviceManufacturer Type = original.TypeDeviceManufacturer - TypeDeviceModel Type = original.TypeDeviceModel - TypeFirmwareVersion Type = original.TypeFirmwareVersion - TypeGeoFencing Type = original.TypeGeoFencing - TypeIntegerTag Type = original.TypeIntegerTag - TypeLanguage Type = original.TypeLanguage - TypeLocation Type = original.TypeLocation - TypeNetworkType Type = original.TypeNetworkType - TypePollAnswerFeedback Type = original.TypePollAnswerFeedback - TypePollFeedback Type = original.TypePollFeedback - TypeScreenSize Type = original.TypeScreenSize - TypeSegment Type = original.TypeSegment - TypeStringTag Type = original.TypeStringTag -) - -type TypeBasicFilter = original.TypeBasicFilter - -const ( - TypeAppInfo TypeBasicFilter = original.TypeAppInfo - TypeEngageActiveUsers TypeBasicFilter = original.TypeEngageActiveUsers - TypeEngageIdleUsers TypeBasicFilter = original.TypeEngageIdleUsers - TypeEngageNewUsers TypeBasicFilter = original.TypeEngageNewUsers - TypeEngageOldUsers TypeBasicFilter = original.TypeEngageOldUsers - TypeEngageSubset TypeBasicFilter = original.TypeEngageSubset - TypeFilter TypeBasicFilter = original.TypeFilter - TypeNativePushEnabled TypeBasicFilter = original.TypeNativePushEnabled - TypePushQuota TypeBasicFilter = original.TypePushQuota -) - -type APIError = original.APIError -type APIErrorError = original.APIErrorError -type AnnouncementFeedbackCriterion = original.AnnouncementFeedbackCriterion -type App = original.App -type AppCollection = original.AppCollection -type AppCollectionListResult = original.AppCollectionListResult -type AppCollectionListResultIterator = original.AppCollectionListResultIterator -type AppCollectionListResultPage = original.AppCollectionListResultPage -type AppCollectionNameAvailability = original.AppCollectionNameAvailability -type AppCollectionProperties = original.AppCollectionProperties -type AppCollectionsClient = original.AppCollectionsClient -type AppInfoFilter = original.AppInfoFilter -type AppListResult = original.AppListResult -type AppListResultIterator = original.AppListResultIterator -type AppListResultPage = original.AppListResultPage -type AppProperties = original.AppProperties -type ApplicationVersionCriterion = original.ApplicationVersionCriterion -type AppsClient = original.AppsClient -type BaseClient = original.BaseClient -type BasicCriterion = original.BasicCriterion -type BasicFilter = original.BasicFilter -type BooleanTagCriterion = original.BooleanTagCriterion -type Campaign = original.Campaign -type CampaignAudience = original.CampaignAudience -type CampaignListResult = original.CampaignListResult -type CampaignLocalization = original.CampaignLocalization -type CampaignPushParameters = original.CampaignPushParameters -type CampaignPushResult = original.CampaignPushResult -type CampaignResult = original.CampaignResult -type CampaignState = original.CampaignState -type CampaignStateResult = original.CampaignStateResult -type CampaignStatisticsResult = original.CampaignStatisticsResult -type CampaignTestNewParameters = original.CampaignTestNewParameters -type CampaignTestSavedParameters = original.CampaignTestSavedParameters -type CampaignsClient = original.CampaignsClient -type CampaignsListResult = original.CampaignsListResult -type CampaignsListResultIterator = original.CampaignsListResultIterator -type CampaignsListResultPage = original.CampaignsListResultPage -type CarrierCountryCriterion = original.CarrierCountryCriterion -type CarrierNameCriterion = original.CarrierNameCriterion -type Criterion = original.Criterion -type DatapushFeedbackCriterion = original.DatapushFeedbackCriterion -type DateRangeExportTaskParameter = original.DateRangeExportTaskParameter -type DateTagCriterion = original.DateTagCriterion -type Device = original.Device -type DeviceInfo = original.DeviceInfo -type DeviceLocation = original.DeviceLocation -type DeviceManufacturerCriterion = original.DeviceManufacturerCriterion -type DeviceMeta = original.DeviceMeta -type DeviceModelCriterion = original.DeviceModelCriterion -type DeviceQueryResult = original.DeviceQueryResult -type DeviceTagsParameters = original.DeviceTagsParameters -type DeviceTagsResult = original.DeviceTagsResult -type DevicesClient = original.DevicesClient -type DevicesQueryResult = original.DevicesQueryResult -type DevicesQueryResultIterator = original.DevicesQueryResultIterator -type DevicesQueryResultPage = original.DevicesQueryResultPage -type EngageActiveUsersFilter = original.EngageActiveUsersFilter -type EngageIdleUsersFilter = original.EngageIdleUsersFilter -type EngageNewUsersFilter = original.EngageNewUsersFilter -type EngageOldUsersFilter = original.EngageOldUsersFilter -type EngageSubsetFilter = original.EngageSubsetFilter -type ExportOptions = original.ExportOptions -type ExportTaskListResult = original.ExportTaskListResult -type ExportTaskListResultIterator = original.ExportTaskListResultIterator -type ExportTaskListResultPage = original.ExportTaskListResultPage -type ExportTaskParameter = original.ExportTaskParameter -type ExportTaskResult = original.ExportTaskResult -type ExportTasksClient = original.ExportTasksClient -type FeedbackByCampaignParameter = original.FeedbackByCampaignParameter -type FeedbackByDateRangeParameter = original.FeedbackByDateRangeParameter -type Filter = original.Filter -type FirmwareVersionCriterion = original.FirmwareVersionCriterion -type GeoFencingCriterion = original.GeoFencingCriterion -type ImportTask = original.ImportTask -type ImportTaskListResult = original.ImportTaskListResult -type ImportTaskListResultIterator = original.ImportTaskListResultIterator -type ImportTaskListResultPage = original.ImportTaskListResultPage -type ImportTaskResult = original.ImportTaskResult -type ImportTasksClient = original.ImportTasksClient -type IntegerTagCriterion = original.IntegerTagCriterion -type LanguageCriterion = original.LanguageCriterion -type LocationCriterion = original.LocationCriterion -type NativePushEnabledFilter = original.NativePushEnabledFilter -type NetworkTypeCriterion = original.NetworkTypeCriterion -type NotificationOptions = original.NotificationOptions -type PollAnswerFeedbackCriterion = original.PollAnswerFeedbackCriterion -type PollFeedbackCriterion = original.PollFeedbackCriterion -type PollQuestion = original.PollQuestion -type PollQuestionChoice = original.PollQuestionChoice -type PollQuestionChoiceLocalization = original.PollQuestionChoiceLocalization -type PollQuestionLocalization = original.PollQuestionLocalization -type PushQuotaFilter = original.PushQuotaFilter -type Resource = original.Resource -type ScreenSizeCriterion = original.ScreenSizeCriterion -type SegmentCriterion = original.SegmentCriterion -type StringTagCriterion = original.StringTagCriterion -type SupportedPlatformsClient = original.SupportedPlatformsClient -type SupportedPlatformsListResult = original.SupportedPlatformsListResult - -func New(subscriptionID string) BaseClient { - return original.New(subscriptionID) -} -func NewAppCollectionsClient(subscriptionID string) AppCollectionsClient { - return original.NewAppCollectionsClient(subscriptionID) -} -func NewAppCollectionsClientWithBaseURI(baseURI string, subscriptionID string) AppCollectionsClient { - return original.NewAppCollectionsClientWithBaseURI(baseURI, subscriptionID) -} -func NewAppsClient(subscriptionID string) AppsClient { - return original.NewAppsClient(subscriptionID) -} -func NewAppsClientWithBaseURI(baseURI string, subscriptionID string) AppsClient { - return original.NewAppsClientWithBaseURI(baseURI, subscriptionID) -} -func NewCampaignsClient(subscriptionID string) CampaignsClient { - return original.NewCampaignsClient(subscriptionID) -} -func NewCampaignsClientWithBaseURI(baseURI string, subscriptionID string) CampaignsClient { - return original.NewCampaignsClientWithBaseURI(baseURI, subscriptionID) -} -func NewDevicesClient(subscriptionID string) DevicesClient { - return original.NewDevicesClient(subscriptionID) -} -func NewDevicesClientWithBaseURI(baseURI string, subscriptionID string) DevicesClient { - return original.NewDevicesClientWithBaseURI(baseURI, subscriptionID) -} -func NewExportTasksClient(subscriptionID string) ExportTasksClient { - return original.NewExportTasksClient(subscriptionID) -} -func NewExportTasksClientWithBaseURI(baseURI string, subscriptionID string) ExportTasksClient { - return original.NewExportTasksClientWithBaseURI(baseURI, subscriptionID) -} -func NewImportTasksClient(subscriptionID string) ImportTasksClient { - return original.NewImportTasksClient(subscriptionID) -} -func NewImportTasksClientWithBaseURI(baseURI string, subscriptionID string) ImportTasksClient { - return original.NewImportTasksClientWithBaseURI(baseURI, subscriptionID) -} -func NewSupportedPlatformsClient(subscriptionID string) SupportedPlatformsClient { - return original.NewSupportedPlatformsClient(subscriptionID) -} -func NewSupportedPlatformsClientWithBaseURI(baseURI string, subscriptionID string) SupportedPlatformsClient { - return original.NewSupportedPlatformsClientWithBaseURI(baseURI, subscriptionID) -} -func NewWithBaseURI(baseURI string, subscriptionID string) BaseClient { - return original.NewWithBaseURI(baseURI, subscriptionID) -} -func PossibleAudienceOperatorsValues() []AudienceOperators { - return original.PossibleAudienceOperatorsValues() -} -func PossibleCampaignFeedbacksValues() []CampaignFeedbacks { - return original.PossibleCampaignFeedbacksValues() -} -func PossibleCampaignKindsValues() []CampaignKinds { - return original.PossibleCampaignKindsValues() -} -func PossibleCampaignStatesValues() []CampaignStates { - return original.PossibleCampaignStatesValues() -} -func PossibleCampaignTypeValues() []CampaignType { - return original.PossibleCampaignTypeValues() -} -func PossibleCampaignTypesValues() []CampaignTypes { - return original.PossibleCampaignTypesValues() -} -func PossibleDeliveryTimesValues() []DeliveryTimes { - return original.PossibleDeliveryTimesValues() -} -func PossibleExportFormatValues() []ExportFormat { - return original.PossibleExportFormatValues() -} -func PossibleExportStateValues() []ExportState { - return original.PossibleExportStateValues() -} -func PossibleExportTypeValues() []ExportType { - return original.PossibleExportTypeValues() -} -func PossibleJobStatesValues() []JobStates { - return original.PossibleJobStatesValues() -} -func PossibleNotificationTypesValues() []NotificationTypes { - return original.PossibleNotificationTypesValues() -} -func PossibleProvisioningStatesValues() []ProvisioningStates { - return original.PossibleProvisioningStatesValues() -} -func PossiblePushModesValues() []PushModes { - return original.PossiblePushModesValues() -} -func PossibleTypeBasicFilterValues() []TypeBasicFilter { - return original.PossibleTypeBasicFilterValues() -} -func PossibleTypeValues() []Type { - return original.PossibleTypeValues() -} -func UserAgent() string { - return original.UserAgent() + " profiles/latest" -} -func Version() string { - return original.Version() -} diff --git a/profiles/latest/netapp/mgmt/netapp/models.go b/profiles/latest/netapp/mgmt/netapp/models.go index a4556edf09b0..285768b970c2 100644 --- a/profiles/latest/netapp/mgmt/netapp/models.go +++ b/profiles/latest/netapp/mgmt/netapp/models.go @@ -19,7 +19,7 @@ package netapp -import original "github.com/Azure/azure-sdk-for-go/services/netapp/mgmt/2019-06-01/netapp" +import original "github.com/Azure/azure-sdk-for-go/services/netapp/mgmt/2019-07-01/netapp" const ( DefaultBaseURI = original.DefaultBaseURI diff --git a/profiles/latest/netapp/mgmt/netapp/netappapi/models.go b/profiles/latest/netapp/mgmt/netapp/netappapi/models.go index 5a40e1846172..6cc3b523e420 100644 --- a/profiles/latest/netapp/mgmt/netapp/netappapi/models.go +++ b/profiles/latest/netapp/mgmt/netapp/netappapi/models.go @@ -19,7 +19,7 @@ package netappapi -import original "github.com/Azure/azure-sdk-for-go/services/netapp/mgmt/2019-06-01/netapp/netappapi" +import original "github.com/Azure/azure-sdk-for-go/services/netapp/mgmt/2019-07-01/netapp/netappapi" type AccountsClientAPI = original.AccountsClientAPI type BaseClientAPI = original.BaseClientAPI diff --git a/profiles/latest/network/mgmt/network/models.go b/profiles/latest/network/mgmt/network/models.go index c2f072e3829c..25b18e53b313 100644 --- a/profiles/latest/network/mgmt/network/models.go +++ b/profiles/latest/network/mgmt/network/models.go @@ -22,7 +22,7 @@ package network import ( "context" - original "github.com/Azure/azure-sdk-for-go/services/network/mgmt/2019-06-01/network" + original "github.com/Azure/azure-sdk-for-go/services/network/mgmt/2019-08-01/network" ) const ( @@ -202,6 +202,7 @@ type AzureFirewallApplicationRuleProtocolType = original.AzureFirewallApplicatio const ( AzureFirewallApplicationRuleProtocolTypeHTTP AzureFirewallApplicationRuleProtocolType = original.AzureFirewallApplicationRuleProtocolTypeHTTP AzureFirewallApplicationRuleProtocolTypeHTTPS AzureFirewallApplicationRuleProtocolType = original.AzureFirewallApplicationRuleProtocolTypeHTTPS + AzureFirewallApplicationRuleProtocolTypeMssql AzureFirewallApplicationRuleProtocolType = original.AzureFirewallApplicationRuleProtocolTypeMssql ) type AzureFirewallNatRCActionType = original.AzureFirewallNatRCActionType @@ -227,6 +228,19 @@ const ( AzureFirewallRCActionTypeDeny AzureFirewallRCActionType = original.AzureFirewallRCActionTypeDeny ) +type AzureFirewallSkuName = original.AzureFirewallSkuName + +const ( + AZFWHub AzureFirewallSkuName = original.AZFWHub + AZFWVNet AzureFirewallSkuName = original.AZFWVNet +) + +type AzureFirewallSkuTier = original.AzureFirewallSkuTier + +const ( + Standard AzureFirewallSkuTier = original.Standard +) + type AzureFirewallThreatIntelMode = original.AzureFirewallThreatIntelMode const ( @@ -400,6 +414,13 @@ const ( SC ExpressRouteLinkConnectorType = original.SC ) +type ExpressRouteLinkMacSecCipher = original.ExpressRouteLinkMacSecCipher + +const ( + GcmAes128 ExpressRouteLinkMacSecCipher = original.GcmAes128 + GcmAes256 ExpressRouteLinkMacSecCipher = original.GcmAes256 +) + type ExpressRoutePeeringState = original.ExpressRoutePeeringState const ( @@ -425,7 +446,6 @@ const ( type FirewallPolicyFilterRuleActionType = original.FirewallPolicyFilterRuleActionType const ( - FirewallPolicyFilterRuleActionTypeAlert FirewallPolicyFilterRuleActionType = original.FirewallPolicyFilterRuleActionTypeAlert FirewallPolicyFilterRuleActionTypeAllow FirewallPolicyFilterRuleActionType = original.FirewallPolicyFilterRuleActionTypeAllow FirewallPolicyFilterRuleActionTypeDeny FirewallPolicyFilterRuleActionType = original.FirewallPolicyFilterRuleActionTypeDeny ) @@ -434,7 +454,6 @@ type FirewallPolicyNatRuleActionType = original.FirewallPolicyNatRuleActionType const ( DNAT FirewallPolicyNatRuleActionType = original.DNAT - SNAT FirewallPolicyNatRuleActionType = original.SNAT ) type FirewallPolicyRuleConditionApplicationProtocolType = original.FirewallPolicyRuleConditionApplicationProtocolType @@ -580,10 +599,16 @@ const ( LoadDistributionSourceIPProtocol LoadDistribution = original.LoadDistributionSourceIPProtocol ) +type ManagedRuleEnabledState = original.ManagedRuleEnabledState + +const ( + ManagedRuleEnabledStateDisabled ManagedRuleEnabledState = original.ManagedRuleEnabledStateDisabled +) + type NatGatewaySkuName = original.NatGatewaySkuName const ( - Standard NatGatewaySkuName = original.Standard + NatGatewaySkuNameStandard NatGatewaySkuName = original.NatGatewaySkuNameStandard ) type NextHopType = original.NextHopType @@ -622,6 +647,24 @@ const ( OriginOutbound Origin = original.OriginOutbound ) +type OwaspCrsExclusionEntryMatchVariable = original.OwaspCrsExclusionEntryMatchVariable + +const ( + RequestArgNames OwaspCrsExclusionEntryMatchVariable = original.RequestArgNames + RequestCookieNames OwaspCrsExclusionEntryMatchVariable = original.RequestCookieNames + RequestHeaderNames OwaspCrsExclusionEntryMatchVariable = original.RequestHeaderNames +) + +type OwaspCrsExclusionEntrySelectorMatchOperator = original.OwaspCrsExclusionEntrySelectorMatchOperator + +const ( + OwaspCrsExclusionEntrySelectorMatchOperatorContains OwaspCrsExclusionEntrySelectorMatchOperator = original.OwaspCrsExclusionEntrySelectorMatchOperatorContains + OwaspCrsExclusionEntrySelectorMatchOperatorEndsWith OwaspCrsExclusionEntrySelectorMatchOperator = original.OwaspCrsExclusionEntrySelectorMatchOperatorEndsWith + OwaspCrsExclusionEntrySelectorMatchOperatorEquals OwaspCrsExclusionEntrySelectorMatchOperator = original.OwaspCrsExclusionEntrySelectorMatchOperatorEquals + OwaspCrsExclusionEntrySelectorMatchOperatorEqualsAny OwaspCrsExclusionEntrySelectorMatchOperator = original.OwaspCrsExclusionEntrySelectorMatchOperatorEqualsAny + OwaspCrsExclusionEntrySelectorMatchOperatorStartsWith OwaspCrsExclusionEntrySelectorMatchOperator = original.OwaspCrsExclusionEntrySelectorMatchOperatorStartsWith +) + type PcError = original.PcError const ( @@ -762,6 +805,7 @@ const ( type SecurityRuleProtocol = original.SecurityRuleProtocol const ( + SecurityRuleProtocolAh SecurityRuleProtocol = original.SecurityRuleProtocolAh SecurityRuleProtocolAsterisk SecurityRuleProtocol = original.SecurityRuleProtocolAsterisk SecurityRuleProtocolEsp SecurityRuleProtocol = original.SecurityRuleProtocolEsp SecurityRuleProtocolIcmp SecurityRuleProtocol = original.SecurityRuleProtocolIcmp @@ -851,6 +895,10 @@ const ( VirtualNetworkGatewaySkuNameVpnGw2AZ VirtualNetworkGatewaySkuName = original.VirtualNetworkGatewaySkuNameVpnGw2AZ VirtualNetworkGatewaySkuNameVpnGw3 VirtualNetworkGatewaySkuName = original.VirtualNetworkGatewaySkuNameVpnGw3 VirtualNetworkGatewaySkuNameVpnGw3AZ VirtualNetworkGatewaySkuName = original.VirtualNetworkGatewaySkuNameVpnGw3AZ + VirtualNetworkGatewaySkuNameVpnGw4 VirtualNetworkGatewaySkuName = original.VirtualNetworkGatewaySkuNameVpnGw4 + VirtualNetworkGatewaySkuNameVpnGw4AZ VirtualNetworkGatewaySkuName = original.VirtualNetworkGatewaySkuNameVpnGw4AZ + VirtualNetworkGatewaySkuNameVpnGw5 VirtualNetworkGatewaySkuName = original.VirtualNetworkGatewaySkuNameVpnGw5 + VirtualNetworkGatewaySkuNameVpnGw5AZ VirtualNetworkGatewaySkuName = original.VirtualNetworkGatewaySkuNameVpnGw5AZ ) type VirtualNetworkGatewaySkuTier = original.VirtualNetworkGatewaySkuTier @@ -869,6 +917,10 @@ const ( VirtualNetworkGatewaySkuTierVpnGw2AZ VirtualNetworkGatewaySkuTier = original.VirtualNetworkGatewaySkuTierVpnGw2AZ VirtualNetworkGatewaySkuTierVpnGw3 VirtualNetworkGatewaySkuTier = original.VirtualNetworkGatewaySkuTierVpnGw3 VirtualNetworkGatewaySkuTierVpnGw3AZ VirtualNetworkGatewaySkuTier = original.VirtualNetworkGatewaySkuTierVpnGw3AZ + VirtualNetworkGatewaySkuTierVpnGw4 VirtualNetworkGatewaySkuTier = original.VirtualNetworkGatewaySkuTierVpnGw4 + VirtualNetworkGatewaySkuTierVpnGw4AZ VirtualNetworkGatewaySkuTier = original.VirtualNetworkGatewaySkuTierVpnGw4AZ + VirtualNetworkGatewaySkuTierVpnGw5 VirtualNetworkGatewaySkuTier = original.VirtualNetworkGatewaySkuTierVpnGw5 + VirtualNetworkGatewaySkuTierVpnGw5AZ VirtualNetworkGatewaySkuTier = original.VirtualNetworkGatewaySkuTierVpnGw5AZ ) type VirtualNetworkGatewayType = original.VirtualNetworkGatewayType @@ -893,6 +945,14 @@ const ( Native VirtualWanSecurityProviderType = original.Native ) +type VpnAuthenticationType = original.VpnAuthenticationType + +const ( + AAD VpnAuthenticationType = original.AAD + Certificate VpnAuthenticationType = original.Certificate + Radius VpnAuthenticationType = original.Radius +) + type VpnClientProtocol = original.VpnClientProtocol const ( @@ -910,6 +970,14 @@ const ( VpnConnectionStatusUnknown VpnConnectionStatus = original.VpnConnectionStatusUnknown ) +type VpnGatewayGeneration = original.VpnGatewayGeneration + +const ( + VpnGatewayGenerationGeneration1 VpnGatewayGeneration = original.VpnGatewayGenerationGeneration1 + VpnGatewayGenerationGeneration2 VpnGatewayGeneration = original.VpnGatewayGenerationGeneration2 + VpnGatewayGenerationNone VpnGatewayGeneration = original.VpnGatewayGenerationNone +) + type VpnGatewayTunnelingProtocol = original.VpnGatewayTunnelingProtocol const ( @@ -1003,6 +1071,7 @@ const ( URLEncode WebApplicationFirewallTransform = original.URLEncode ) +type AadAuthenticationParameters = original.AadAuthenticationParameters type AddressSpace = original.AddressSpace type ApplicationGateway = original.ApplicationGateway type ApplicationGatewayAuthenticationCertificate = original.ApplicationGatewayAuthenticationCertificate @@ -1115,6 +1184,11 @@ type AvailableProvidersListCountry = original.AvailableProvidersListCountry type AvailableProvidersListParameters = original.AvailableProvidersListParameters type AvailableProvidersListState = original.AvailableProvidersListState type AvailableResourceGroupDelegationsClient = original.AvailableResourceGroupDelegationsClient +type AvailableServiceAlias = original.AvailableServiceAlias +type AvailableServiceAliasesClient = original.AvailableServiceAliasesClient +type AvailableServiceAliasesResult = original.AvailableServiceAliasesResult +type AvailableServiceAliasesResultIterator = original.AvailableServiceAliasesResultIterator +type AvailableServiceAliasesResultPage = original.AvailableServiceAliasesResultPage type AzureAsyncOperationResult = original.AzureAsyncOperationResult type AzureFirewall = original.AzureFirewall type AzureFirewallApplicationRule = original.AzureFirewallApplicationRule @@ -1142,6 +1216,7 @@ type AzureFirewallNetworkRuleCollectionPropertiesFormat = original.AzureFirewall type AzureFirewallPropertiesFormat = original.AzureFirewallPropertiesFormat type AzureFirewallPublicIPAddress = original.AzureFirewallPublicIPAddress type AzureFirewallRCAction = original.AzureFirewallRCAction +type AzureFirewallSku = original.AzureFirewallSku type AzureFirewallsClient = original.AzureFirewallsClient type AzureFirewallsCreateOrUpdateFuture = original.AzureFirewallsCreateOrUpdateFuture type AzureFirewallsDeleteFuture = original.AzureFirewallsDeleteFuture @@ -1332,6 +1407,7 @@ type ExpressRouteLink = original.ExpressRouteLink type ExpressRouteLinkListResult = original.ExpressRouteLinkListResult type ExpressRouteLinkListResultIterator = original.ExpressRouteLinkListResultIterator type ExpressRouteLinkListResultPage = original.ExpressRouteLinkListResultPage +type ExpressRouteLinkMacSecConfig = original.ExpressRouteLinkMacSecConfig type ExpressRouteLinkPropertiesFormat = original.ExpressRouteLinkPropertiesFormat type ExpressRouteLinksClient = original.ExpressRouteLinksClient type ExpressRoutePort = original.ExpressRoutePort @@ -1388,6 +1464,7 @@ type FrontendIPConfiguration = original.FrontendIPConfiguration type FrontendIPConfigurationPropertiesFormat = original.FrontendIPConfigurationPropertiesFormat type GatewayRoute = original.GatewayRoute type GatewayRouteListResult = original.GatewayRouteListResult +type GeneratevirtualwanvpnserverconfigurationvpnprofileFuture = original.GeneratevirtualwanvpnserverconfigurationvpnprofileFuture type GetVpnSitesConfigurationRequest = original.GetVpnSitesConfigurationRequest type HTTPConfiguration = original.HTTPConfiguration type HTTPHeader = original.HTTPHeader @@ -1420,6 +1497,7 @@ type InterfaceIPConfiguration = original.InterfaceIPConfiguration type InterfaceIPConfigurationListResult = original.InterfaceIPConfigurationListResult type InterfaceIPConfigurationListResultIterator = original.InterfaceIPConfigurationListResultIterator type InterfaceIPConfigurationListResultPage = original.InterfaceIPConfigurationListResultPage +type InterfaceIPConfigurationPrivateLinkConnectionProperties = original.InterfaceIPConfigurationPrivateLinkConnectionProperties type InterfaceIPConfigurationPropertiesFormat = original.InterfaceIPConfigurationPropertiesFormat type InterfaceIPConfigurationsClient = original.InterfaceIPConfigurationsClient type InterfaceListResult = original.InterfaceListResult @@ -1452,9 +1530,6 @@ type ListHubVirtualNetworkConnectionsResultPage = original.ListHubVirtualNetwork type ListP2SVpnGatewaysResult = original.ListP2SVpnGatewaysResult type ListP2SVpnGatewaysResultIterator = original.ListP2SVpnGatewaysResultIterator type ListP2SVpnGatewaysResultPage = original.ListP2SVpnGatewaysResultPage -type ListP2SVpnServerConfigurationsResult = original.ListP2SVpnServerConfigurationsResult -type ListP2SVpnServerConfigurationsResultIterator = original.ListP2SVpnServerConfigurationsResultIterator -type ListP2SVpnServerConfigurationsResultPage = original.ListP2SVpnServerConfigurationsResultPage type ListString = original.ListString type ListVirtualHubsResult = original.ListVirtualHubsResult type ListVirtualHubsResultIterator = original.ListVirtualHubsResultIterator @@ -1468,6 +1543,9 @@ type ListVpnConnectionsResultPage = original.ListVpnConnectionsResultPage type ListVpnGatewaysResult = original.ListVpnGatewaysResult type ListVpnGatewaysResultIterator = original.ListVpnGatewaysResultIterator type ListVpnGatewaysResultPage = original.ListVpnGatewaysResultPage +type ListVpnServerConfigurationsResult = original.ListVpnServerConfigurationsResult +type ListVpnServerConfigurationsResultIterator = original.ListVpnServerConfigurationsResultIterator +type ListVpnServerConfigurationsResultPage = original.ListVpnServerConfigurationsResultPage type ListVpnSiteLinkConnectionsResult = original.ListVpnSiteLinkConnectionsResult type ListVpnSiteLinkConnectionsResultIterator = original.ListVpnSiteLinkConnectionsResultIterator type ListVpnSiteLinkConnectionsResultPage = original.ListVpnSiteLinkConnectionsResultPage @@ -1520,6 +1598,10 @@ type LocalNetworkGatewaysCreateOrUpdateFuture = original.LocalNetworkGatewaysCre type LocalNetworkGatewaysDeleteFuture = original.LocalNetworkGatewaysDeleteFuture type LocalNetworkGatewaysUpdateTagsFuture = original.LocalNetworkGatewaysUpdateTagsFuture type LogSpecification = original.LogSpecification +type ManagedRuleGroupOverride = original.ManagedRuleGroupOverride +type ManagedRuleOverride = original.ManagedRuleOverride +type ManagedRuleSet = original.ManagedRuleSet +type ManagedRulesDefinition = original.ManagedRulesDefinition type ManagedServiceIdentity = original.ManagedServiceIdentity type ManagedServiceIdentityUserAssignedIdentitiesValue = original.ManagedServiceIdentityUserAssignedIdentitiesValue type MatchCondition = original.MatchCondition @@ -1547,28 +1629,21 @@ type OperationPropertiesFormatServiceSpecification = original.OperationPropertie type OperationsClient = original.OperationsClient type OutboundRule = original.OutboundRule type OutboundRulePropertiesFormat = original.OutboundRulePropertiesFormat +type OwaspCrsExclusionEntry = original.OwaspCrsExclusionEntry +type P2SConnectionConfiguration = original.P2SConnectionConfiguration +type P2SConnectionConfigurationProperties = original.P2SConnectionConfigurationProperties +type P2SVpnConnectionHealth = original.P2SVpnConnectionHealth +type P2SVpnConnectionHealthRequest = original.P2SVpnConnectionHealthRequest type P2SVpnGateway = original.P2SVpnGateway type P2SVpnGatewayProperties = original.P2SVpnGatewayProperties type P2SVpnProfileParameters = original.P2SVpnProfileParameters -type P2SVpnServerConfigRadiusClientRootCertificate = original.P2SVpnServerConfigRadiusClientRootCertificate -type P2SVpnServerConfigRadiusClientRootCertificatePropertiesFormat = original.P2SVpnServerConfigRadiusClientRootCertificatePropertiesFormat -type P2SVpnServerConfigRadiusServerRootCertificate = original.P2SVpnServerConfigRadiusServerRootCertificate -type P2SVpnServerConfigRadiusServerRootCertificatePropertiesFormat = original.P2SVpnServerConfigRadiusServerRootCertificatePropertiesFormat -type P2SVpnServerConfigVpnClientRevokedCertificate = original.P2SVpnServerConfigVpnClientRevokedCertificate -type P2SVpnServerConfigVpnClientRevokedCertificatePropertiesFormat = original.P2SVpnServerConfigVpnClientRevokedCertificatePropertiesFormat -type P2SVpnServerConfigVpnClientRootCertificate = original.P2SVpnServerConfigVpnClientRootCertificate -type P2SVpnServerConfigVpnClientRootCertificatePropertiesFormat = original.P2SVpnServerConfigVpnClientRootCertificatePropertiesFormat -type P2SVpnServerConfiguration = original.P2SVpnServerConfiguration -type P2SVpnServerConfigurationProperties = original.P2SVpnServerConfigurationProperties type P2sVpnGatewaysClient = original.P2sVpnGatewaysClient type P2sVpnGatewaysCreateOrUpdateFuture = original.P2sVpnGatewaysCreateOrUpdateFuture type P2sVpnGatewaysDeleteFuture = original.P2sVpnGatewaysDeleteFuture type P2sVpnGatewaysGenerateVpnProfileFuture = original.P2sVpnGatewaysGenerateVpnProfileFuture +type P2sVpnGatewaysGetP2sVpnConnectionHealthDetailedFuture = original.P2sVpnGatewaysGetP2sVpnConnectionHealthDetailedFuture type P2sVpnGatewaysGetP2sVpnConnectionHealthFuture = original.P2sVpnGatewaysGetP2sVpnConnectionHealthFuture type P2sVpnGatewaysUpdateTagsFuture = original.P2sVpnGatewaysUpdateTagsFuture -type P2sVpnServerConfigurationsClient = original.P2sVpnServerConfigurationsClient -type P2sVpnServerConfigurationsCreateOrUpdateFuture = original.P2sVpnServerConfigurationsCreateOrUpdateFuture -type P2sVpnServerConfigurationsDeleteFuture = original.P2sVpnServerConfigurationsDeleteFuture type PacketCapture = original.PacketCapture type PacketCaptureFilter = original.PacketCaptureFilter type PacketCaptureListResult = original.PacketCaptureListResult @@ -1766,6 +1841,7 @@ type TopologyParameters = original.TopologyParameters type TopologyResource = original.TopologyResource type TrafficAnalyticsConfigurationProperties = original.TrafficAnalyticsConfigurationProperties type TrafficAnalyticsProperties = original.TrafficAnalyticsProperties +type TrafficSelectorPolicy = original.TrafficSelectorPolicy type TroubleshootingDetails = original.TroubleshootingDetails type TroubleshootingParameters = original.TroubleshootingParameters type TroubleshootingProperties = original.TroubleshootingProperties @@ -1791,6 +1867,7 @@ type VirtualHubsCreateOrUpdateFuture = original.VirtualHubsCreateOrUpdateFuture type VirtualHubsDeleteFuture = original.VirtualHubsDeleteFuture type VirtualHubsUpdateTagsFuture = original.VirtualHubsUpdateTagsFuture type VirtualNetwork = original.VirtualNetwork +type VirtualNetworkBgpCommunities = original.VirtualNetworkBgpCommunities type VirtualNetworkConnectionGatewayReference = original.VirtualNetworkConnectionGatewayReference type VirtualNetworkGateway = original.VirtualNetworkGateway type VirtualNetworkGatewayConnection = original.VirtualNetworkGatewayConnection @@ -1805,6 +1882,8 @@ type VirtualNetworkGatewayConnectionsCreateOrUpdateFuture = original.VirtualNetw type VirtualNetworkGatewayConnectionsDeleteFuture = original.VirtualNetworkGatewayConnectionsDeleteFuture type VirtualNetworkGatewayConnectionsResetSharedKeyFuture = original.VirtualNetworkGatewayConnectionsResetSharedKeyFuture type VirtualNetworkGatewayConnectionsSetSharedKeyFuture = original.VirtualNetworkGatewayConnectionsSetSharedKeyFuture +type VirtualNetworkGatewayConnectionsStartPacketCaptureFuture = original.VirtualNetworkGatewayConnectionsStartPacketCaptureFuture +type VirtualNetworkGatewayConnectionsStopPacketCaptureFuture = original.VirtualNetworkGatewayConnectionsStopPacketCaptureFuture type VirtualNetworkGatewayConnectionsUpdateTagsFuture = original.VirtualNetworkGatewayConnectionsUpdateTagsFuture type VirtualNetworkGatewayIPConfiguration = original.VirtualNetworkGatewayIPConfiguration type VirtualNetworkGatewayIPConfigurationPropertiesFormat = original.VirtualNetworkGatewayIPConfigurationPropertiesFormat @@ -1830,6 +1909,8 @@ type VirtualNetworkGatewaysGetVpnclientIpsecParametersFuture = original.VirtualN type VirtualNetworkGatewaysResetFuture = original.VirtualNetworkGatewaysResetFuture type VirtualNetworkGatewaysResetVpnClientSharedKeyFuture = original.VirtualNetworkGatewaysResetVpnClientSharedKeyFuture type VirtualNetworkGatewaysSetVpnclientIpsecParametersFuture = original.VirtualNetworkGatewaysSetVpnclientIpsecParametersFuture +type VirtualNetworkGatewaysStartPacketCaptureFuture = original.VirtualNetworkGatewaysStartPacketCaptureFuture +type VirtualNetworkGatewaysStopPacketCaptureFuture = original.VirtualNetworkGatewaysStopPacketCaptureFuture type VirtualNetworkGatewaysUpdateTagsFuture = original.VirtualNetworkGatewaysUpdateTagsFuture type VirtualNetworkListResult = original.VirtualNetworkListResult type VirtualNetworkListResultIterator = original.VirtualNetworkListResultIterator @@ -1861,10 +1942,27 @@ type VirtualNetworksClient = original.VirtualNetworksClient type VirtualNetworksCreateOrUpdateFuture = original.VirtualNetworksCreateOrUpdateFuture type VirtualNetworksDeleteFuture = original.VirtualNetworksDeleteFuture type VirtualNetworksUpdateTagsFuture = original.VirtualNetworksUpdateTagsFuture +type VirtualRouter = original.VirtualRouter +type VirtualRouterListResult = original.VirtualRouterListResult +type VirtualRouterListResultIterator = original.VirtualRouterListResultIterator +type VirtualRouterListResultPage = original.VirtualRouterListResultPage +type VirtualRouterPeering = original.VirtualRouterPeering +type VirtualRouterPeeringListResult = original.VirtualRouterPeeringListResult +type VirtualRouterPeeringListResultIterator = original.VirtualRouterPeeringListResultIterator +type VirtualRouterPeeringListResultPage = original.VirtualRouterPeeringListResultPage +type VirtualRouterPeeringProperties = original.VirtualRouterPeeringProperties +type VirtualRouterPeeringsClient = original.VirtualRouterPeeringsClient +type VirtualRouterPeeringsCreateOrUpdateFuture = original.VirtualRouterPeeringsCreateOrUpdateFuture +type VirtualRouterPeeringsDeleteFuture = original.VirtualRouterPeeringsDeleteFuture +type VirtualRouterPropertiesFormat = original.VirtualRouterPropertiesFormat +type VirtualRoutersClient = original.VirtualRoutersClient +type VirtualRoutersCreateOrUpdateFuture = original.VirtualRoutersCreateOrUpdateFuture +type VirtualRoutersDeleteFuture = original.VirtualRoutersDeleteFuture type VirtualWAN = original.VirtualWAN type VirtualWanProperties = original.VirtualWanProperties type VirtualWanSecurityProvider = original.VirtualWanSecurityProvider type VirtualWanSecurityProviders = original.VirtualWanSecurityProviders +type VirtualWanVpnProfileParameters = original.VirtualWanVpnProfileParameters type VirtualWansClient = original.VirtualWansClient type VirtualWansCreateOrUpdateFuture = original.VirtualWansCreateOrUpdateFuture type VirtualWansDeleteFuture = original.VirtualWansDeleteFuture @@ -1895,7 +1993,22 @@ type VpnGatewaysUpdateTagsFuture = original.VpnGatewaysUpdateTagsFuture type VpnLinkBgpSettings = original.VpnLinkBgpSettings type VpnLinkConnectionsClient = original.VpnLinkConnectionsClient type VpnLinkProviderProperties = original.VpnLinkProviderProperties +type VpnPacketCaptureStartParameters = original.VpnPacketCaptureStartParameters +type VpnPacketCaptureStopParameters = original.VpnPacketCaptureStopParameters type VpnProfileResponse = original.VpnProfileResponse +type VpnServerConfigRadiusClientRootCertificate = original.VpnServerConfigRadiusClientRootCertificate +type VpnServerConfigRadiusServerRootCertificate = original.VpnServerConfigRadiusServerRootCertificate +type VpnServerConfigVpnClientRevokedCertificate = original.VpnServerConfigVpnClientRevokedCertificate +type VpnServerConfigVpnClientRootCertificate = original.VpnServerConfigVpnClientRootCertificate +type VpnServerConfiguration = original.VpnServerConfiguration +type VpnServerConfigurationProperties = original.VpnServerConfigurationProperties +type VpnServerConfigurationsAssociatedWithVirtualWanClient = original.VpnServerConfigurationsAssociatedWithVirtualWanClient +type VpnServerConfigurationsAssociatedWithVirtualWanListFuture = original.VpnServerConfigurationsAssociatedWithVirtualWanListFuture +type VpnServerConfigurationsClient = original.VpnServerConfigurationsClient +type VpnServerConfigurationsCreateOrUpdateFuture = original.VpnServerConfigurationsCreateOrUpdateFuture +type VpnServerConfigurationsDeleteFuture = original.VpnServerConfigurationsDeleteFuture +type VpnServerConfigurationsResponse = original.VpnServerConfigurationsResponse +type VpnServerConfigurationsUpdateTagsFuture = original.VpnServerConfigurationsUpdateTagsFuture type VpnSite = original.VpnSite type VpnSiteID = original.VpnSiteID type VpnSiteLink = original.VpnSiteLink @@ -2017,6 +2130,18 @@ func NewAvailableResourceGroupDelegationsClient(subscriptionID string) Available func NewAvailableResourceGroupDelegationsClientWithBaseURI(baseURI string, subscriptionID string) AvailableResourceGroupDelegationsClient { return original.NewAvailableResourceGroupDelegationsClientWithBaseURI(baseURI, subscriptionID) } +func NewAvailableServiceAliasesClient(subscriptionID string) AvailableServiceAliasesClient { + return original.NewAvailableServiceAliasesClient(subscriptionID) +} +func NewAvailableServiceAliasesClientWithBaseURI(baseURI string, subscriptionID string) AvailableServiceAliasesClient { + return original.NewAvailableServiceAliasesClientWithBaseURI(baseURI, subscriptionID) +} +func NewAvailableServiceAliasesResultIterator(page AvailableServiceAliasesResultPage) AvailableServiceAliasesResultIterator { + return original.NewAvailableServiceAliasesResultIterator(page) +} +func NewAvailableServiceAliasesResultPage(getNextPage func(context.Context, AvailableServiceAliasesResult) (AvailableServiceAliasesResult, error)) AvailableServiceAliasesResultPage { + return original.NewAvailableServiceAliasesResultPage(getNextPage) +} func NewAzureFirewallFqdnTagListResultIterator(page AzureFirewallFqdnTagListResultPage) AzureFirewallFqdnTagListResultIterator { return original.NewAzureFirewallFqdnTagListResultIterator(page) } @@ -2329,12 +2454,6 @@ func NewListP2SVpnGatewaysResultIterator(page ListP2SVpnGatewaysResultPage) List func NewListP2SVpnGatewaysResultPage(getNextPage func(context.Context, ListP2SVpnGatewaysResult) (ListP2SVpnGatewaysResult, error)) ListP2SVpnGatewaysResultPage { return original.NewListP2SVpnGatewaysResultPage(getNextPage) } -func NewListP2SVpnServerConfigurationsResultIterator(page ListP2SVpnServerConfigurationsResultPage) ListP2SVpnServerConfigurationsResultIterator { - return original.NewListP2SVpnServerConfigurationsResultIterator(page) -} -func NewListP2SVpnServerConfigurationsResultPage(getNextPage func(context.Context, ListP2SVpnServerConfigurationsResult) (ListP2SVpnServerConfigurationsResult, error)) ListP2SVpnServerConfigurationsResultPage { - return original.NewListP2SVpnServerConfigurationsResultPage(getNextPage) -} func NewListVirtualHubsResultIterator(page ListVirtualHubsResultPage) ListVirtualHubsResultIterator { return original.NewListVirtualHubsResultIterator(page) } @@ -2359,6 +2478,12 @@ func NewListVpnGatewaysResultIterator(page ListVpnGatewaysResultPage) ListVpnGat func NewListVpnGatewaysResultPage(getNextPage func(context.Context, ListVpnGatewaysResult) (ListVpnGatewaysResult, error)) ListVpnGatewaysResultPage { return original.NewListVpnGatewaysResultPage(getNextPage) } +func NewListVpnServerConfigurationsResultIterator(page ListVpnServerConfigurationsResultPage) ListVpnServerConfigurationsResultIterator { + return original.NewListVpnServerConfigurationsResultIterator(page) +} +func NewListVpnServerConfigurationsResultPage(getNextPage func(context.Context, ListVpnServerConfigurationsResult) (ListVpnServerConfigurationsResult, error)) ListVpnServerConfigurationsResultPage { + return original.NewListVpnServerConfigurationsResultPage(getNextPage) +} func NewListVpnSiteLinkConnectionsResultIterator(page ListVpnSiteLinkConnectionsResultPage) ListVpnSiteLinkConnectionsResultIterator { return original.NewListVpnSiteLinkConnectionsResultIterator(page) } @@ -2497,12 +2622,6 @@ func NewP2sVpnGatewaysClient(subscriptionID string) P2sVpnGatewaysClient { func NewP2sVpnGatewaysClientWithBaseURI(baseURI string, subscriptionID string) P2sVpnGatewaysClient { return original.NewP2sVpnGatewaysClientWithBaseURI(baseURI, subscriptionID) } -func NewP2sVpnServerConfigurationsClient(subscriptionID string) P2sVpnServerConfigurationsClient { - return original.NewP2sVpnServerConfigurationsClient(subscriptionID) -} -func NewP2sVpnServerConfigurationsClientWithBaseURI(baseURI string, subscriptionID string) P2sVpnServerConfigurationsClient { - return original.NewP2sVpnServerConfigurationsClientWithBaseURI(baseURI, subscriptionID) -} func NewPacketCapturesClient(subscriptionID string) PacketCapturesClient { return original.NewPacketCapturesClient(subscriptionID) } @@ -2797,6 +2916,30 @@ func NewVirtualNetworksClient(subscriptionID string) VirtualNetworksClient { func NewVirtualNetworksClientWithBaseURI(baseURI string, subscriptionID string) VirtualNetworksClient { return original.NewVirtualNetworksClientWithBaseURI(baseURI, subscriptionID) } +func NewVirtualRouterListResultIterator(page VirtualRouterListResultPage) VirtualRouterListResultIterator { + return original.NewVirtualRouterListResultIterator(page) +} +func NewVirtualRouterListResultPage(getNextPage func(context.Context, VirtualRouterListResult) (VirtualRouterListResult, error)) VirtualRouterListResultPage { + return original.NewVirtualRouterListResultPage(getNextPage) +} +func NewVirtualRouterPeeringListResultIterator(page VirtualRouterPeeringListResultPage) VirtualRouterPeeringListResultIterator { + return original.NewVirtualRouterPeeringListResultIterator(page) +} +func NewVirtualRouterPeeringListResultPage(getNextPage func(context.Context, VirtualRouterPeeringListResult) (VirtualRouterPeeringListResult, error)) VirtualRouterPeeringListResultPage { + return original.NewVirtualRouterPeeringListResultPage(getNextPage) +} +func NewVirtualRouterPeeringsClient(subscriptionID string) VirtualRouterPeeringsClient { + return original.NewVirtualRouterPeeringsClient(subscriptionID) +} +func NewVirtualRouterPeeringsClientWithBaseURI(baseURI string, subscriptionID string) VirtualRouterPeeringsClient { + return original.NewVirtualRouterPeeringsClientWithBaseURI(baseURI, subscriptionID) +} +func NewVirtualRoutersClient(subscriptionID string) VirtualRoutersClient { + return original.NewVirtualRoutersClient(subscriptionID) +} +func NewVirtualRoutersClientWithBaseURI(baseURI string, subscriptionID string) VirtualRoutersClient { + return original.NewVirtualRoutersClientWithBaseURI(baseURI, subscriptionID) +} func NewVirtualWansClient(subscriptionID string) VirtualWansClient { return original.NewVirtualWansClient(subscriptionID) } @@ -2821,6 +2964,18 @@ func NewVpnLinkConnectionsClient(subscriptionID string) VpnLinkConnectionsClient func NewVpnLinkConnectionsClientWithBaseURI(baseURI string, subscriptionID string) VpnLinkConnectionsClient { return original.NewVpnLinkConnectionsClientWithBaseURI(baseURI, subscriptionID) } +func NewVpnServerConfigurationsAssociatedWithVirtualWanClient(subscriptionID string) VpnServerConfigurationsAssociatedWithVirtualWanClient { + return original.NewVpnServerConfigurationsAssociatedWithVirtualWanClient(subscriptionID) +} +func NewVpnServerConfigurationsAssociatedWithVirtualWanClientWithBaseURI(baseURI string, subscriptionID string) VpnServerConfigurationsAssociatedWithVirtualWanClient { + return original.NewVpnServerConfigurationsAssociatedWithVirtualWanClientWithBaseURI(baseURI, subscriptionID) +} +func NewVpnServerConfigurationsClient(subscriptionID string) VpnServerConfigurationsClient { + return original.NewVpnServerConfigurationsClient(subscriptionID) +} +func NewVpnServerConfigurationsClientWithBaseURI(baseURI string, subscriptionID string) VpnServerConfigurationsClient { + return original.NewVpnServerConfigurationsClientWithBaseURI(baseURI, subscriptionID) +} func NewVpnSiteLinkConnectionsClient(subscriptionID string) VpnSiteLinkConnectionsClient { return original.NewVpnSiteLinkConnectionsClient(subscriptionID) } @@ -2932,6 +3087,12 @@ func PossibleAzureFirewallNetworkRuleProtocolValues() []AzureFirewallNetworkRule func PossibleAzureFirewallRCActionTypeValues() []AzureFirewallRCActionType { return original.PossibleAzureFirewallRCActionTypeValues() } +func PossibleAzureFirewallSkuNameValues() []AzureFirewallSkuName { + return original.PossibleAzureFirewallSkuNameValues() +} +func PossibleAzureFirewallSkuTierValues() []AzureFirewallSkuTier { + return original.PossibleAzureFirewallSkuTierValues() +} func PossibleAzureFirewallThreatIntelModeValues() []AzureFirewallThreatIntelMode { return original.PossibleAzureFirewallThreatIntelModeValues() } @@ -2995,6 +3156,9 @@ func PossibleExpressRouteLinkAdminStateValues() []ExpressRouteLinkAdminState { func PossibleExpressRouteLinkConnectorTypeValues() []ExpressRouteLinkConnectorType { return original.PossibleExpressRouteLinkConnectorTypeValues() } +func PossibleExpressRouteLinkMacSecCipherValues() []ExpressRouteLinkMacSecCipher { + return original.PossibleExpressRouteLinkMacSecCipherValues() +} func PossibleExpressRoutePeeringStateValues() []ExpressRoutePeeringState { return original.PossibleExpressRoutePeeringStateValues() } @@ -3058,6 +3222,9 @@ func PossibleLoadBalancerSkuNameValues() []LoadBalancerSkuName { func PossibleLoadDistributionValues() []LoadDistribution { return original.PossibleLoadDistributionValues() } +func PossibleManagedRuleEnabledStateValues() []ManagedRuleEnabledState { + return original.PossibleManagedRuleEnabledStateValues() +} func PossibleNatGatewaySkuNameValues() []NatGatewaySkuName { return original.PossibleNatGatewaySkuNameValues() } @@ -3073,6 +3240,12 @@ func PossibleOperationStatusValues() []OperationStatus { func PossibleOriginValues() []Origin { return original.PossibleOriginValues() } +func PossibleOwaspCrsExclusionEntryMatchVariableValues() []OwaspCrsExclusionEntryMatchVariable { + return original.PossibleOwaspCrsExclusionEntryMatchVariableValues() +} +func PossibleOwaspCrsExclusionEntrySelectorMatchOperatorValues() []OwaspCrsExclusionEntrySelectorMatchOperator { + return original.PossibleOwaspCrsExclusionEntrySelectorMatchOperatorValues() +} func PossiblePcErrorValues() []PcError { return original.PossiblePcErrorValues() } @@ -3163,12 +3336,18 @@ func PossibleVirtualNetworkPeeringStateValues() []VirtualNetworkPeeringState { func PossibleVirtualWanSecurityProviderTypeValues() []VirtualWanSecurityProviderType { return original.PossibleVirtualWanSecurityProviderTypeValues() } +func PossibleVpnAuthenticationTypeValues() []VpnAuthenticationType { + return original.PossibleVpnAuthenticationTypeValues() +} func PossibleVpnClientProtocolValues() []VpnClientProtocol { return original.PossibleVpnClientProtocolValues() } func PossibleVpnConnectionStatusValues() []VpnConnectionStatus { return original.PossibleVpnConnectionStatusValues() } +func PossibleVpnGatewayGenerationValues() []VpnGatewayGeneration { + return original.PossibleVpnGatewayGenerationValues() +} func PossibleVpnGatewayTunnelingProtocolValues() []VpnGatewayTunnelingProtocol { return original.PossibleVpnGatewayTunnelingProtocolValues() } diff --git a/profiles/latest/network/mgmt/network/networkapi/models.go b/profiles/latest/network/mgmt/network/networkapi/models.go index 13c640036a2a..a433c700bbe2 100644 --- a/profiles/latest/network/mgmt/network/networkapi/models.go +++ b/profiles/latest/network/mgmt/network/networkapi/models.go @@ -19,7 +19,7 @@ package networkapi -import original "github.com/Azure/azure-sdk-for-go/services/network/mgmt/2019-06-01/network/networkapi" +import original "github.com/Azure/azure-sdk-for-go/services/network/mgmt/2019-08-01/network/networkapi" type ApplicationGatewaysClientAPI = original.ApplicationGatewaysClientAPI type ApplicationSecurityGroupsClientAPI = original.ApplicationSecurityGroupsClientAPI @@ -27,6 +27,7 @@ type AvailableDelegationsClientAPI = original.AvailableDelegationsClientAPI type AvailableEndpointServicesClientAPI = original.AvailableEndpointServicesClientAPI type AvailablePrivateEndpointTypesClientAPI = original.AvailablePrivateEndpointTypesClientAPI type AvailableResourceGroupDelegationsClientAPI = original.AvailableResourceGroupDelegationsClientAPI +type AvailableServiceAliasesClientAPI = original.AvailableServiceAliasesClientAPI type AzureFirewallFqdnTagsClientAPI = original.AzureFirewallFqdnTagsClientAPI type AzureFirewallsClientAPI = original.AzureFirewallsClientAPI type BaseClientAPI = original.BaseClientAPI @@ -67,7 +68,6 @@ type LocalNetworkGatewaysClientAPI = original.LocalNetworkGatewaysClientAPI type NatGatewaysClientAPI = original.NatGatewaysClientAPI type OperationsClientAPI = original.OperationsClientAPI type P2sVpnGatewaysClientAPI = original.P2sVpnGatewaysClientAPI -type P2sVpnServerConfigurationsClientAPI = original.P2sVpnServerConfigurationsClientAPI type PacketCapturesClientAPI = original.PacketCapturesClientAPI type PeerExpressRouteCircuitConnectionsClientAPI = original.PeerExpressRouteCircuitConnectionsClientAPI type PrivateEndpointsClientAPI = original.PrivateEndpointsClientAPI @@ -94,10 +94,14 @@ type VirtualNetworkGatewaysClientAPI = original.VirtualNetworkGatewaysClientAPI type VirtualNetworkPeeringsClientAPI = original.VirtualNetworkPeeringsClientAPI type VirtualNetworkTapsClientAPI = original.VirtualNetworkTapsClientAPI type VirtualNetworksClientAPI = original.VirtualNetworksClientAPI +type VirtualRouterPeeringsClientAPI = original.VirtualRouterPeeringsClientAPI +type VirtualRoutersClientAPI = original.VirtualRoutersClientAPI type VirtualWansClientAPI = original.VirtualWansClientAPI type VpnConnectionsClientAPI = original.VpnConnectionsClientAPI type VpnGatewaysClientAPI = original.VpnGatewaysClientAPI type VpnLinkConnectionsClientAPI = original.VpnLinkConnectionsClientAPI +type VpnServerConfigurationsAssociatedWithVirtualWanClientAPI = original.VpnServerConfigurationsAssociatedWithVirtualWanClientAPI +type VpnServerConfigurationsClientAPI = original.VpnServerConfigurationsClientAPI type VpnSiteLinkConnectionsClientAPI = original.VpnSiteLinkConnectionsClientAPI type VpnSiteLinksClientAPI = original.VpnSiteLinksClientAPI type VpnSitesClientAPI = original.VpnSitesClientAPI diff --git a/profiles/latest/operationalinsights/mgmt/operationalinsights/models.go b/profiles/latest/operationalinsights/mgmt/operationalinsights/models.go index d0a4679c911f..38e9078107cf 100644 --- a/profiles/latest/operationalinsights/mgmt/operationalinsights/models.go +++ b/profiles/latest/operationalinsights/mgmt/operationalinsights/models.go @@ -64,13 +64,9 @@ type SavedSearch = original.SavedSearch type SavedSearchProperties = original.SavedSearchProperties type SavedSearchesClient = original.SavedSearchesClient type SavedSearchesListResult = original.SavedSearchesListResult -type SearchError = original.SearchError type SearchGetSchemaResponse = original.SearchGetSchemaResponse -type SearchHighlight = original.SearchHighlight type SearchMetadata = original.SearchMetadata type SearchMetadataSchema = original.SearchMetadataSchema -type SearchParameters = original.SearchParameters -type SearchResultsResponse = original.SearchResultsResponse type SearchSchemaValue = original.SearchSchemaValue type SearchSort = original.SearchSort type SharedKeys = original.SharedKeys @@ -88,7 +84,6 @@ type WorkspacePurgeBodyFilters = original.WorkspacePurgeBodyFilters type WorkspacePurgeResponse = original.WorkspacePurgeResponse type WorkspacePurgeStatusResponse = original.WorkspacePurgeStatusResponse type WorkspacesClient = original.WorkspacesClient -type WorkspacesGetSearchResultsFuture = original.WorkspacesGetSearchResultsFuture func New(subscriptionID string, purgeID string) BaseClient { return original.New(subscriptionID, purgeID) diff --git a/profiles/latest/policyinsights/mgmt/policyinsights/models.go b/profiles/latest/policyinsights/mgmt/policyinsights/models.go index 86baa6dc324f..792fa9b13ca8 100644 --- a/profiles/latest/policyinsights/mgmt/policyinsights/models.go +++ b/profiles/latest/policyinsights/mgmt/policyinsights/models.go @@ -19,7 +19,11 @@ package policyinsights -import original "github.com/Azure/azure-sdk-for-go/services/policyinsights/mgmt/2018-04-04/policyinsights" +import ( + "context" + + original "github.com/Azure/azure-sdk-for-go/services/policyinsights/mgmt/2019-10-01/policyinsights" +) const ( DefaultBaseURI = original.DefaultBaseURI @@ -33,24 +37,51 @@ const ( ) type BaseClient = original.BaseClient +type ComplianceDetail = original.ComplianceDetail +type ErrorDefinition = original.ErrorDefinition +type ErrorResponse = original.ErrorResponse +type ExpressionEvaluationDetails = original.ExpressionEvaluationDetails +type IfNotExistsEvaluationDetails = original.IfNotExistsEvaluationDetails type Operation = original.Operation type OperationDisplay = original.OperationDisplay type OperationsClient = original.OperationsClient type OperationsListResults = original.OperationsListResults type PolicyAssignmentSummary = original.PolicyAssignmentSummary type PolicyDefinitionSummary = original.PolicyDefinitionSummary +type PolicyDetails = original.PolicyDetails +type PolicyEvaluationDetails = original.PolicyEvaluationDetails type PolicyEvent = original.PolicyEvent type PolicyEventsClient = original.PolicyEventsClient type PolicyEventsQueryResults = original.PolicyEventsQueryResults +type PolicyGroupSummary = original.PolicyGroupSummary type PolicyState = original.PolicyState type PolicyStatesClient = original.PolicyStatesClient type PolicyStatesQueryResults = original.PolicyStatesQueryResults +type PolicyTrackedResource = original.PolicyTrackedResource +type PolicyTrackedResourcesClient = original.PolicyTrackedResourcesClient +type PolicyTrackedResourcesQueryResults = original.PolicyTrackedResourcesQueryResults +type PolicyTrackedResourcesQueryResultsIterator = original.PolicyTrackedResourcesQueryResultsIterator +type PolicyTrackedResourcesQueryResultsPage = original.PolicyTrackedResourcesQueryResultsPage type QueryFailure = original.QueryFailure type QueryFailureError = original.QueryFailureError +type Remediation = original.Remediation +type RemediationDeployment = original.RemediationDeployment +type RemediationDeploymentSummary = original.RemediationDeploymentSummary +type RemediationDeploymentsListResult = original.RemediationDeploymentsListResult +type RemediationDeploymentsListResultIterator = original.RemediationDeploymentsListResultIterator +type RemediationDeploymentsListResultPage = original.RemediationDeploymentsListResultPage +type RemediationFilters = original.RemediationFilters +type RemediationListResult = original.RemediationListResult +type RemediationListResultIterator = original.RemediationListResultIterator +type RemediationListResultPage = original.RemediationListResultPage +type RemediationProperties = original.RemediationProperties +type RemediationsClient = original.RemediationsClient type String = original.String type SummarizeResults = original.SummarizeResults type Summary = original.Summary type SummaryResults = original.SummaryResults +type TrackedResourceModificationDetails = original.TrackedResourceModificationDetails +type TypedErrorInfo = original.TypedErrorInfo func New() BaseClient { return original.New() @@ -73,6 +104,36 @@ func NewPolicyStatesClient() PolicyStatesClient { func NewPolicyStatesClientWithBaseURI(baseURI string) PolicyStatesClient { return original.NewPolicyStatesClientWithBaseURI(baseURI) } +func NewPolicyTrackedResourcesClient() PolicyTrackedResourcesClient { + return original.NewPolicyTrackedResourcesClient() +} +func NewPolicyTrackedResourcesClientWithBaseURI(baseURI string) PolicyTrackedResourcesClient { + return original.NewPolicyTrackedResourcesClientWithBaseURI(baseURI) +} +func NewPolicyTrackedResourcesQueryResultsIterator(page PolicyTrackedResourcesQueryResultsPage) PolicyTrackedResourcesQueryResultsIterator { + return original.NewPolicyTrackedResourcesQueryResultsIterator(page) +} +func NewPolicyTrackedResourcesQueryResultsPage(getNextPage func(context.Context, PolicyTrackedResourcesQueryResults) (PolicyTrackedResourcesQueryResults, error)) PolicyTrackedResourcesQueryResultsPage { + return original.NewPolicyTrackedResourcesQueryResultsPage(getNextPage) +} +func NewRemediationDeploymentsListResultIterator(page RemediationDeploymentsListResultPage) RemediationDeploymentsListResultIterator { + return original.NewRemediationDeploymentsListResultIterator(page) +} +func NewRemediationDeploymentsListResultPage(getNextPage func(context.Context, RemediationDeploymentsListResult) (RemediationDeploymentsListResult, error)) RemediationDeploymentsListResultPage { + return original.NewRemediationDeploymentsListResultPage(getNextPage) +} +func NewRemediationListResultIterator(page RemediationListResultPage) RemediationListResultIterator { + return original.NewRemediationListResultIterator(page) +} +func NewRemediationListResultPage(getNextPage func(context.Context, RemediationListResult) (RemediationListResult, error)) RemediationListResultPage { + return original.NewRemediationListResultPage(getNextPage) +} +func NewRemediationsClient() RemediationsClient { + return original.NewRemediationsClient() +} +func NewRemediationsClientWithBaseURI(baseURI string) RemediationsClient { + return original.NewRemediationsClientWithBaseURI(baseURI) +} func NewWithBaseURI(baseURI string) BaseClient { return original.NewWithBaseURI(baseURI) } diff --git a/profiles/latest/policyinsights/mgmt/policyinsights/policyinsightsapi/models.go b/profiles/latest/policyinsights/mgmt/policyinsights/policyinsightsapi/models.go index 68f64baaefe8..3f4601162208 100644 --- a/profiles/latest/policyinsights/mgmt/policyinsights/policyinsightsapi/models.go +++ b/profiles/latest/policyinsights/mgmt/policyinsights/policyinsightsapi/models.go @@ -19,8 +19,10 @@ package policyinsightsapi -import original "github.com/Azure/azure-sdk-for-go/services/policyinsights/mgmt/2018-04-04/policyinsights/policyinsightsapi" +import original "github.com/Azure/azure-sdk-for-go/services/policyinsights/mgmt/2019-10-01/policyinsights/policyinsightsapi" type OperationsClientAPI = original.OperationsClientAPI type PolicyEventsClientAPI = original.PolicyEventsClientAPI type PolicyStatesClientAPI = original.PolicyStatesClientAPI +type PolicyTrackedResourcesClientAPI = original.PolicyTrackedResourcesClientAPI +type RemediationsClientAPI = original.RemediationsClientAPI diff --git a/profiles/latest/recoveryservices/mgmt/backup/models.go b/profiles/latest/recoveryservices/mgmt/backup/models.go index 64707fed9555..989bb6b87a7b 100644 --- a/profiles/latest/recoveryservices/mgmt/backup/models.go +++ b/profiles/latest/recoveryservices/mgmt/backup/models.go @@ -265,14 +265,16 @@ const ( type JobOperationType = original.JobOperationType const ( - JobOperationTypeBackup JobOperationType = original.JobOperationTypeBackup - JobOperationTypeConfigureBackup JobOperationType = original.JobOperationTypeConfigureBackup - JobOperationTypeDeleteBackupData JobOperationType = original.JobOperationTypeDeleteBackupData - JobOperationTypeDisableBackup JobOperationType = original.JobOperationTypeDisableBackup - JobOperationTypeInvalid JobOperationType = original.JobOperationTypeInvalid - JobOperationTypeRegister JobOperationType = original.JobOperationTypeRegister - JobOperationTypeRestore JobOperationType = original.JobOperationTypeRestore - JobOperationTypeUnRegister JobOperationType = original.JobOperationTypeUnRegister + JobOperationTypeBackup JobOperationType = original.JobOperationTypeBackup + JobOperationTypeConfigureBackup JobOperationType = original.JobOperationTypeConfigureBackup + JobOperationTypeCrossRegionRestore JobOperationType = original.JobOperationTypeCrossRegionRestore + JobOperationTypeDeleteBackupData JobOperationType = original.JobOperationTypeDeleteBackupData + JobOperationTypeDisableBackup JobOperationType = original.JobOperationTypeDisableBackup + JobOperationTypeInvalid JobOperationType = original.JobOperationTypeInvalid + JobOperationTypeRegister JobOperationType = original.JobOperationTypeRegister + JobOperationTypeRestore JobOperationType = original.JobOperationTypeRestore + JobOperationTypeUndelete JobOperationType = original.JobOperationTypeUndelete + JobOperationTypeUnRegister JobOperationType = original.JobOperationTypeUnRegister ) type JobStatus = original.JobStatus @@ -390,8 +392,9 @@ const ( type ObjectTypeBasicILRRequest = original.ObjectTypeBasicILRRequest const ( - ObjectTypeIaasVMILRRegistrationRequest ObjectTypeBasicILRRequest = original.ObjectTypeIaasVMILRRegistrationRequest - ObjectTypeILRRequest ObjectTypeBasicILRRequest = original.ObjectTypeILRRequest + ObjectTypeAzureFileShareProvisionILRRequest ObjectTypeBasicILRRequest = original.ObjectTypeAzureFileShareProvisionILRRequest + ObjectTypeIaasVMILRRegistrationRequest ObjectTypeBasicILRRequest = original.ObjectTypeIaasVMILRRegistrationRequest + ObjectTypeILRRequest ObjectTypeBasicILRRequest = original.ObjectTypeILRRequest ) type ObjectTypeBasicOperationStatusExtendedInfo = original.ObjectTypeBasicOperationStatusExtendedInfo @@ -501,7 +504,6 @@ const ( ProtectableItemTypeIaaSVMProtectableItem ProtectableItemType = original.ProtectableItemTypeIaaSVMProtectableItem ProtectableItemTypeMicrosoftClassicComputevirtualMachines ProtectableItemType = original.ProtectableItemTypeMicrosoftClassicComputevirtualMachines ProtectableItemTypeMicrosoftComputevirtualMachines ProtectableItemType = original.ProtectableItemTypeMicrosoftComputevirtualMachines - ProtectableItemTypeSAPAseDatabase ProtectableItemType = original.ProtectableItemTypeSAPAseDatabase ProtectableItemTypeSAPAseSystem ProtectableItemType = original.ProtectableItemTypeSAPAseSystem ProtectableItemTypeSAPHanaDatabase ProtectableItemType = original.ProtectableItemTypeSAPHanaDatabase ProtectableItemTypeSAPHanaSystem ProtectableItemType = original.ProtectableItemTypeSAPHanaSystem @@ -581,6 +583,14 @@ const ( ProtectionStatusProtectionFailed ProtectionStatus = original.ProtectionStatusProtectionFailed ) +type RecoveryMode = original.RecoveryMode + +const ( + RecoveryModeFileRecovery RecoveryMode = original.RecoveryModeFileRecovery + RecoveryModeInvalid RecoveryMode = original.RecoveryModeInvalid + RecoveryModeWorkloadRecovery RecoveryMode = original.RecoveryModeWorkloadRecovery +) + type RecoveryPointTierStatus = original.RecoveryPointTierStatus const ( @@ -603,6 +613,7 @@ type RecoveryType = original.RecoveryType const ( RecoveryTypeAlternateLocation RecoveryType = original.RecoveryTypeAlternateLocation RecoveryTypeInvalid RecoveryType = original.RecoveryTypeInvalid + RecoveryTypeOffline RecoveryType = original.RecoveryTypeOffline RecoveryTypeOriginalLocation RecoveryType = original.RecoveryTypeOriginalLocation RecoveryTypeRestoreDisks RecoveryType = original.RecoveryTypeRestoreDisks ) @@ -686,6 +697,14 @@ const ( ScheduleRunTypeWeekly ScheduleRunType = original.ScheduleRunTypeWeekly ) +type SoftDeleteFeatureState = original.SoftDeleteFeatureState + +const ( + SoftDeleteFeatureStateDisabled SoftDeleteFeatureState = original.SoftDeleteFeatureStateDisabled + SoftDeleteFeatureStateEnabled SoftDeleteFeatureState = original.SoftDeleteFeatureStateEnabled + SoftDeleteFeatureStateInvalid SoftDeleteFeatureState = original.SoftDeleteFeatureStateInvalid +) + type StorageType = original.StorageType const ( @@ -811,6 +830,7 @@ type AzureBackupServerEngine = original.AzureBackupServerEngine type AzureFileShareBackupRequest = original.AzureFileShareBackupRequest type AzureFileShareProtectableItem = original.AzureFileShareProtectableItem type AzureFileShareProtectionPolicy = original.AzureFileShareProtectionPolicy +type AzureFileShareProvisionILRRequest = original.AzureFileShareProvisionILRRequest type AzureFileShareRecoveryPoint = original.AzureFileShareRecoveryPoint type AzureFileShareRestoreRequest = original.AzureFileShareRestoreRequest type AzureFileshareProtectedItem = original.AzureFileshareProtectedItem @@ -851,7 +871,6 @@ type AzureVMWorkloadProtectableItem = original.AzureVMWorkloadProtectableItem type AzureVMWorkloadProtectedItem = original.AzureVMWorkloadProtectedItem type AzureVMWorkloadProtectedItemExtendedInfo = original.AzureVMWorkloadProtectedItemExtendedInfo type AzureVMWorkloadProtectionPolicy = original.AzureVMWorkloadProtectionPolicy -type AzureVMWorkloadSAPAseDatabaseProtectableItem = original.AzureVMWorkloadSAPAseDatabaseProtectableItem type AzureVMWorkloadSAPAseDatabaseProtectedItem = original.AzureVMWorkloadSAPAseDatabaseProtectedItem type AzureVMWorkloadSAPAseDatabaseWorkloadItem = original.AzureVMWorkloadSAPAseDatabaseWorkloadItem type AzureVMWorkloadSAPAseSystemProtectableItem = original.AzureVMWorkloadSAPAseSystemProtectableItem @@ -953,6 +972,8 @@ type DPMProtectedItemExtendedInfo = original.DPMProtectedItemExtendedInfo type DailyRetentionFormat = original.DailyRetentionFormat type DailyRetentionSchedule = original.DailyRetentionSchedule type Day = original.Day +type DiskExclusionProperties = original.DiskExclusionProperties +type DiskInformation = original.DiskInformation type DistributedNodesInfo = original.DistributedNodesInfo type DpmBackupEngine = original.DpmBackupEngine type DpmContainer = original.DpmContainer @@ -971,6 +992,7 @@ type EnginesClient = original.EnginesClient type ErrorDetail = original.ErrorDetail type ExportJobsOperationResultInfo = original.ExportJobsOperationResultInfo type ExportJobsOperationResultsClient = original.ExportJobsOperationResultsClient +type ExtendedProperties = original.ExtendedProperties type FeatureSupportClient = original.FeatureSupportClient type FeatureSupportRequest = original.FeatureSupportRequest type GenericContainer = original.GenericContainer @@ -990,6 +1012,7 @@ type IaasVMRestoreRequest = original.IaasVMRestoreRequest type InquiryInfo = original.InquiryInfo type InquiryValidation = original.InquiryValidation type InstantItemRecoveryTarget = original.InstantItemRecoveryTarget +type InstantRPAdditionalDetails = original.InstantRPAdditionalDetails type ItemLevelRecoveryConnectionsClient = original.ItemLevelRecoveryConnectionsClient type Job = original.Job type JobCancellationsClient = original.JobCancellationsClient @@ -1084,6 +1107,7 @@ type ProtectionPolicyResourceList = original.ProtectionPolicyResourceList type ProtectionPolicyResourceListIterator = original.ProtectionPolicyResourceListIterator type ProtectionPolicyResourceListPage = original.ProtectionPolicyResourceListPage type RecoveryPoint = original.RecoveryPoint +type RecoveryPointDiskConfiguration = original.RecoveryPointDiskConfiguration type RecoveryPointResource = original.RecoveryPointResource type RecoveryPointResourceList = original.RecoveryPointResourceList type RecoveryPointResourceListIterator = original.RecoveryPointResourceListIterator @@ -1577,6 +1601,9 @@ func PossibleProtectionStateValues() []ProtectionState { func PossibleProtectionStatusValues() []ProtectionStatus { return original.PossibleProtectionStatusValues() } +func PossibleRecoveryModeValues() []RecoveryMode { + return original.PossibleRecoveryModeValues() +} func PossibleRecoveryPointTierStatusValues() []RecoveryPointTierStatus { return original.PossibleRecoveryPointTierStatusValues() } @@ -1613,6 +1640,9 @@ func PossibleSchedulePolicyTypeValues() []SchedulePolicyType { func PossibleScheduleRunTypeValues() []ScheduleRunType { return original.PossibleScheduleRunTypeValues() } +func PossibleSoftDeleteFeatureStateValues() []SoftDeleteFeatureState { + return original.PossibleSoftDeleteFeatureStateValues() +} func PossibleStorageTypeStateValues() []StorageTypeState { return original.PossibleStorageTypeStateValues() } diff --git a/profiles/latest/resources/mgmt/features/featuresapi/models.go b/profiles/latest/resources/mgmt/features/featuresapi/models.go index 2e397b85d5a8..69fd9a5cf75a 100644 --- a/profiles/latest/resources/mgmt/features/featuresapi/models.go +++ b/profiles/latest/resources/mgmt/features/featuresapi/models.go @@ -19,7 +19,12 @@ package featuresapi -import original "github.com/Azure/azure-sdk-for-go/services/resources/mgmt/2015-12-01/features/featuresapi" +import original "github.com/Azure/azure-sdk-for-go/services/resources/mgmt/2019-07-01/features/featuresapi" -type BaseClientAPI = original.BaseClientAPI -type ClientAPI = original.ClientAPI +type DeploymentOperationsClientAPI = original.DeploymentOperationsClientAPI +type DeploymentsClientAPI = original.DeploymentsClientAPI +type OperationsClientAPI = original.OperationsClientAPI +type ProvidersClientAPI = original.ProvidersClientAPI +type ResourceGroupsClientAPI = original.ResourceGroupsClientAPI +type ResourcesClientAPI = original.ResourcesClientAPI +type TagsClientAPI = original.TagsClientAPI diff --git a/profiles/latest/resources/mgmt/features/models.go b/profiles/latest/resources/mgmt/features/models.go index c93527a34eb8..1b8b8ff7ea0c 100644 --- a/profiles/latest/resources/mgmt/features/models.go +++ b/profiles/latest/resources/mgmt/features/models.go @@ -22,34 +22,194 @@ package features import ( "context" - original "github.com/Azure/azure-sdk-for-go/services/resources/mgmt/2015-12-01/features" + original "github.com/Azure/azure-sdk-for-go/services/resources/mgmt/2019-07-01/features" ) const ( DefaultBaseURI = original.DefaultBaseURI ) +type ChangeType = original.ChangeType + +const ( + Create ChangeType = original.Create + Delete ChangeType = original.Delete + Deploy ChangeType = original.Deploy + Ignore ChangeType = original.Ignore + Modify ChangeType = original.Modify + NoChange ChangeType = original.NoChange +) + +type DeploymentMode = original.DeploymentMode + +const ( + Complete DeploymentMode = original.Complete + Incremental DeploymentMode = original.Incremental +) + +type OnErrorDeploymentType = original.OnErrorDeploymentType + +const ( + LastSuccessful OnErrorDeploymentType = original.LastSuccessful + SpecificDeployment OnErrorDeploymentType = original.SpecificDeployment +) + +type PropertyChangeType = original.PropertyChangeType + +const ( + PropertyChangeTypeArray PropertyChangeType = original.PropertyChangeTypeArray + PropertyChangeTypeCreate PropertyChangeType = original.PropertyChangeTypeCreate + PropertyChangeTypeDelete PropertyChangeType = original.PropertyChangeTypeDelete + PropertyChangeTypeModify PropertyChangeType = original.PropertyChangeTypeModify +) + +type ResourceIdentityType = original.ResourceIdentityType + +const ( + None ResourceIdentityType = original.None + SystemAssigned ResourceIdentityType = original.SystemAssigned + SystemAssignedUserAssigned ResourceIdentityType = original.SystemAssignedUserAssigned + UserAssigned ResourceIdentityType = original.UserAssigned +) + +type WhatIfResultFormat = original.WhatIfResultFormat + +const ( + FullResourcePayloads WhatIfResultFormat = original.FullResourcePayloads + ResourceIDOnly WhatIfResultFormat = original.ResourceIDOnly +) + +type AliasPathType = original.AliasPathType +type AliasType = original.AliasType type BaseClient = original.BaseClient -type Client = original.Client +type BasicDependency = original.BasicDependency +type CloudError = original.CloudError +type DebugSetting = original.DebugSetting +type Dependency = original.Dependency +type Deployment = original.Deployment +type DeploymentExportResult = original.DeploymentExportResult +type DeploymentExtended = original.DeploymentExtended +type DeploymentExtendedFilter = original.DeploymentExtendedFilter +type DeploymentListResult = original.DeploymentListResult +type DeploymentListResultIterator = original.DeploymentListResultIterator +type DeploymentListResultPage = original.DeploymentListResultPage +type DeploymentOperation = original.DeploymentOperation +type DeploymentOperationProperties = original.DeploymentOperationProperties +type DeploymentOperationsClient = original.DeploymentOperationsClient +type DeploymentOperationsListResult = original.DeploymentOperationsListResult +type DeploymentOperationsListResultIterator = original.DeploymentOperationsListResultIterator +type DeploymentOperationsListResultPage = original.DeploymentOperationsListResultPage +type DeploymentProperties = original.DeploymentProperties +type DeploymentPropertiesExtended = original.DeploymentPropertiesExtended +type DeploymentValidateResult = original.DeploymentValidateResult +type DeploymentWhatIf = original.DeploymentWhatIf +type DeploymentWhatIfProperties = original.DeploymentWhatIfProperties +type DeploymentWhatIfSettings = original.DeploymentWhatIfSettings +type DeploymentsClient = original.DeploymentsClient +type DeploymentsCreateOrUpdateAtManagementGroupScopeFuture = original.DeploymentsCreateOrUpdateAtManagementGroupScopeFuture +type DeploymentsCreateOrUpdateAtScopeFuture = original.DeploymentsCreateOrUpdateAtScopeFuture +type DeploymentsCreateOrUpdateAtSubscriptionScopeFuture = original.DeploymentsCreateOrUpdateAtSubscriptionScopeFuture +type DeploymentsCreateOrUpdateAtTenantScopeFuture = original.DeploymentsCreateOrUpdateAtTenantScopeFuture +type DeploymentsCreateOrUpdateFuture = original.DeploymentsCreateOrUpdateFuture +type DeploymentsDeleteAtManagementGroupScopeFuture = original.DeploymentsDeleteAtManagementGroupScopeFuture +type DeploymentsDeleteAtScopeFuture = original.DeploymentsDeleteAtScopeFuture +type DeploymentsDeleteAtSubscriptionScopeFuture = original.DeploymentsDeleteAtSubscriptionScopeFuture +type DeploymentsDeleteAtTenantScopeFuture = original.DeploymentsDeleteAtTenantScopeFuture +type DeploymentsDeleteFuture = original.DeploymentsDeleteFuture +type DeploymentsWhatIfAtSubscriptionScopeFuture = original.DeploymentsWhatIfAtSubscriptionScopeFuture +type DeploymentsWhatIfFuture = original.DeploymentsWhatIfFuture +type ErrorAdditionalInfo = original.ErrorAdditionalInfo +type ErrorResponse = original.ErrorResponse +type ExportTemplateRequest = original.ExportTemplateRequest +type GenericResource = original.GenericResource +type GenericResourceFilter = original.GenericResourceFilter +type HTTPMessage = original.HTTPMessage +type Identity = original.Identity +type IdentityUserAssignedIdentitiesValue = original.IdentityUserAssignedIdentitiesValue +type OnErrorDeployment = original.OnErrorDeployment +type OnErrorDeploymentExtended = original.OnErrorDeploymentExtended type Operation = original.Operation type OperationDisplay = original.OperationDisplay type OperationListResult = original.OperationListResult type OperationListResultIterator = original.OperationListResultIterator type OperationListResultPage = original.OperationListResultPage -type OperationsListResult = original.OperationsListResult -type OperationsListResultIterator = original.OperationsListResultIterator -type OperationsListResultPage = original.OperationsListResultPage -type Properties = original.Properties -type Result = original.Result +type OperationsClient = original.OperationsClient +type ParametersLink = original.ParametersLink +type Plan = original.Plan +type Provider = original.Provider +type ProviderListResult = original.ProviderListResult +type ProviderListResultIterator = original.ProviderListResultIterator +type ProviderListResultPage = original.ProviderListResultPage +type ProviderResourceType = original.ProviderResourceType +type ProvidersClient = original.ProvidersClient +type Resource = original.Resource +type ResourceGroup = original.ResourceGroup +type ResourceGroupExportResult = original.ResourceGroupExportResult +type ResourceGroupFilter = original.ResourceGroupFilter +type ResourceGroupListResult = original.ResourceGroupListResult +type ResourceGroupListResultIterator = original.ResourceGroupListResultIterator +type ResourceGroupListResultPage = original.ResourceGroupListResultPage +type ResourceGroupPatchable = original.ResourceGroupPatchable +type ResourceGroupProperties = original.ResourceGroupProperties +type ResourceGroupsClient = original.ResourceGroupsClient +type ResourceGroupsDeleteFuture = original.ResourceGroupsDeleteFuture +type ResourceListResult = original.ResourceListResult +type ResourceListResultIterator = original.ResourceListResultIterator +type ResourceListResultPage = original.ResourceListResultPage +type ResourceProviderOperationDisplayProperties = original.ResourceProviderOperationDisplayProperties +type ResourcesClient = original.ResourcesClient +type ResourcesCreateOrUpdateByIDFuture = original.ResourcesCreateOrUpdateByIDFuture +type ResourcesCreateOrUpdateFuture = original.ResourcesCreateOrUpdateFuture +type ResourcesDeleteByIDFuture = original.ResourcesDeleteByIDFuture +type ResourcesDeleteFuture = original.ResourcesDeleteFuture +type ResourcesMoveInfo = original.ResourcesMoveInfo +type ResourcesMoveResourcesFuture = original.ResourcesMoveResourcesFuture +type ResourcesUpdateByIDFuture = original.ResourcesUpdateByIDFuture +type ResourcesUpdateFuture = original.ResourcesUpdateFuture +type ResourcesValidateMoveResourcesFuture = original.ResourcesValidateMoveResourcesFuture +type Sku = original.Sku +type SubResource = original.SubResource +type TagCount = original.TagCount +type TagDetails = original.TagDetails +type TagValue = original.TagValue +type TagsClient = original.TagsClient +type TagsListResult = original.TagsListResult +type TagsListResultIterator = original.TagsListResultIterator +type TagsListResultPage = original.TagsListResultPage +type TargetResource = original.TargetResource +type TemplateHashResult = original.TemplateHashResult +type TemplateLink = original.TemplateLink +type WhatIfChange = original.WhatIfChange +type WhatIfOperationProperties = original.WhatIfOperationProperties +type WhatIfOperationResult = original.WhatIfOperationResult +type WhatIfPropertyChange = original.WhatIfPropertyChange func New(subscriptionID string) BaseClient { return original.New(subscriptionID) } -func NewClient(subscriptionID string) Client { - return original.NewClient(subscriptionID) +func NewDeploymentListResultIterator(page DeploymentListResultPage) DeploymentListResultIterator { + return original.NewDeploymentListResultIterator(page) +} +func NewDeploymentListResultPage(getNextPage func(context.Context, DeploymentListResult) (DeploymentListResult, error)) DeploymentListResultPage { + return original.NewDeploymentListResultPage(getNextPage) +} +func NewDeploymentOperationsClient(subscriptionID string) DeploymentOperationsClient { + return original.NewDeploymentOperationsClient(subscriptionID) } -func NewClientWithBaseURI(baseURI string, subscriptionID string) Client { - return original.NewClientWithBaseURI(baseURI, subscriptionID) +func NewDeploymentOperationsClientWithBaseURI(baseURI string, subscriptionID string) DeploymentOperationsClient { + return original.NewDeploymentOperationsClientWithBaseURI(baseURI, subscriptionID) +} +func NewDeploymentOperationsListResultIterator(page DeploymentOperationsListResultPage) DeploymentOperationsListResultIterator { + return original.NewDeploymentOperationsListResultIterator(page) +} +func NewDeploymentOperationsListResultPage(getNextPage func(context.Context, DeploymentOperationsListResult) (DeploymentOperationsListResult, error)) DeploymentOperationsListResultPage { + return original.NewDeploymentOperationsListResultPage(getNextPage) +} +func NewDeploymentsClient(subscriptionID string) DeploymentsClient { + return original.NewDeploymentsClient(subscriptionID) +} +func NewDeploymentsClientWithBaseURI(baseURI string, subscriptionID string) DeploymentsClient { + return original.NewDeploymentsClientWithBaseURI(baseURI, subscriptionID) } func NewOperationListResultIterator(page OperationListResultPage) OperationListResultIterator { return original.NewOperationListResultIterator(page) @@ -57,15 +217,81 @@ func NewOperationListResultIterator(page OperationListResultPage) OperationListR func NewOperationListResultPage(getNextPage func(context.Context, OperationListResult) (OperationListResult, error)) OperationListResultPage { return original.NewOperationListResultPage(getNextPage) } -func NewOperationsListResultIterator(page OperationsListResultPage) OperationsListResultIterator { - return original.NewOperationsListResultIterator(page) +func NewOperationsClient(subscriptionID string) OperationsClient { + return original.NewOperationsClient(subscriptionID) +} +func NewOperationsClientWithBaseURI(baseURI string, subscriptionID string) OperationsClient { + return original.NewOperationsClientWithBaseURI(baseURI, subscriptionID) +} +func NewProviderListResultIterator(page ProviderListResultPage) ProviderListResultIterator { + return original.NewProviderListResultIterator(page) +} +func NewProviderListResultPage(getNextPage func(context.Context, ProviderListResult) (ProviderListResult, error)) ProviderListResultPage { + return original.NewProviderListResultPage(getNextPage) +} +func NewProvidersClient(subscriptionID string) ProvidersClient { + return original.NewProvidersClient(subscriptionID) +} +func NewProvidersClientWithBaseURI(baseURI string, subscriptionID string) ProvidersClient { + return original.NewProvidersClientWithBaseURI(baseURI, subscriptionID) +} +func NewResourceGroupListResultIterator(page ResourceGroupListResultPage) ResourceGroupListResultIterator { + return original.NewResourceGroupListResultIterator(page) +} +func NewResourceGroupListResultPage(getNextPage func(context.Context, ResourceGroupListResult) (ResourceGroupListResult, error)) ResourceGroupListResultPage { + return original.NewResourceGroupListResultPage(getNextPage) +} +func NewResourceGroupsClient(subscriptionID string) ResourceGroupsClient { + return original.NewResourceGroupsClient(subscriptionID) +} +func NewResourceGroupsClientWithBaseURI(baseURI string, subscriptionID string) ResourceGroupsClient { + return original.NewResourceGroupsClientWithBaseURI(baseURI, subscriptionID) } -func NewOperationsListResultPage(getNextPage func(context.Context, OperationsListResult) (OperationsListResult, error)) OperationsListResultPage { - return original.NewOperationsListResultPage(getNextPage) +func NewResourceListResultIterator(page ResourceListResultPage) ResourceListResultIterator { + return original.NewResourceListResultIterator(page) +} +func NewResourceListResultPage(getNextPage func(context.Context, ResourceListResult) (ResourceListResult, error)) ResourceListResultPage { + return original.NewResourceListResultPage(getNextPage) +} +func NewResourcesClient(subscriptionID string) ResourcesClient { + return original.NewResourcesClient(subscriptionID) +} +func NewResourcesClientWithBaseURI(baseURI string, subscriptionID string) ResourcesClient { + return original.NewResourcesClientWithBaseURI(baseURI, subscriptionID) +} +func NewTagsClient(subscriptionID string) TagsClient { + return original.NewTagsClient(subscriptionID) +} +func NewTagsClientWithBaseURI(baseURI string, subscriptionID string) TagsClient { + return original.NewTagsClientWithBaseURI(baseURI, subscriptionID) +} +func NewTagsListResultIterator(page TagsListResultPage) TagsListResultIterator { + return original.NewTagsListResultIterator(page) +} +func NewTagsListResultPage(getNextPage func(context.Context, TagsListResult) (TagsListResult, error)) TagsListResultPage { + return original.NewTagsListResultPage(getNextPage) } func NewWithBaseURI(baseURI string, subscriptionID string) BaseClient { return original.NewWithBaseURI(baseURI, subscriptionID) } +func PossibleChangeTypeValues() []ChangeType { + return original.PossibleChangeTypeValues() +} +func PossibleDeploymentModeValues() []DeploymentMode { + return original.PossibleDeploymentModeValues() +} +func PossibleOnErrorDeploymentTypeValues() []OnErrorDeploymentType { + return original.PossibleOnErrorDeploymentTypeValues() +} +func PossiblePropertyChangeTypeValues() []PropertyChangeType { + return original.PossiblePropertyChangeTypeValues() +} +func PossibleResourceIdentityTypeValues() []ResourceIdentityType { + return original.PossibleResourceIdentityTypeValues() +} +func PossibleWhatIfResultFormatValues() []WhatIfResultFormat { + return original.PossibleWhatIfResultFormatValues() +} func UserAgent() string { return original.UserAgent() + " profiles/latest" } diff --git a/profiles/latest/resources/mgmt/resources/models.go b/profiles/latest/resources/mgmt/resources/models.go index 102c462c41fa..75481a5726dc 100644 --- a/profiles/latest/resources/mgmt/resources/models.go +++ b/profiles/latest/resources/mgmt/resources/models.go @@ -57,6 +57,7 @@ type AliasType = original.AliasType type BaseClient = original.BaseClient type BasicDependency = original.BasicDependency type Client = original.Client +type CloudError = original.CloudError type CreateOrUpdateByIDFuture = original.CreateOrUpdateByIDFuture type CreateOrUpdateFuture = original.CreateOrUpdateFuture type DebugSetting = original.DebugSetting @@ -86,6 +87,8 @@ type DeploymentsCreateOrUpdateFuture = original.DeploymentsCreateOrUpdateFuture type DeploymentsDeleteAtManagementGroupScopeFuture = original.DeploymentsDeleteAtManagementGroupScopeFuture type DeploymentsDeleteAtSubscriptionScopeFuture = original.DeploymentsDeleteAtSubscriptionScopeFuture type DeploymentsDeleteFuture = original.DeploymentsDeleteFuture +type ErrorAdditionalInfo = original.ErrorAdditionalInfo +type ErrorResponse = original.ErrorResponse type ExportTemplateRequest = original.ExportTemplateRequest type GenericResource = original.GenericResource type GenericResourceFilter = original.GenericResourceFilter @@ -136,6 +139,7 @@ type TagsListResult = original.TagsListResult type TagsListResultIterator = original.TagsListResultIterator type TagsListResultPage = original.TagsListResultPage type TargetResource = original.TargetResource +type TemplateHashResult = original.TemplateHashResult type TemplateLink = original.TemplateLink type UpdateByIDFuture = original.UpdateByIDFuture type UpdateFuture = original.UpdateFuture diff --git a/profiles/latest/resources/mgmt/subscriptions/models.go b/profiles/latest/resources/mgmt/subscriptions/models.go index ed022ca731f3..0013c129fd6f 100644 --- a/profiles/latest/resources/mgmt/subscriptions/models.go +++ b/profiles/latest/resources/mgmt/subscriptions/models.go @@ -22,7 +22,7 @@ package subscriptions import ( "context" - original "github.com/Azure/azure-sdk-for-go/services/resources/mgmt/2018-06-01/subscriptions" + original "github.com/Azure/azure-sdk-for-go/services/resources/mgmt/2019-06-01/subscriptions" ) const ( @@ -54,6 +54,7 @@ type ListResultIterator = original.ListResultIterator type ListResultPage = original.ListResultPage type Location = original.Location type LocationListResult = original.LocationListResult +type ManagedByTenant = original.ManagedByTenant type Operation = original.Operation type OperationDisplay = original.OperationDisplay type OperationListResult = original.OperationListResult diff --git a/profiles/latest/resources/mgmt/subscriptions/subscriptionsapi/models.go b/profiles/latest/resources/mgmt/subscriptions/subscriptionsapi/models.go index 310ddf1a3680..160e7606fe40 100644 --- a/profiles/latest/resources/mgmt/subscriptions/subscriptionsapi/models.go +++ b/profiles/latest/resources/mgmt/subscriptions/subscriptionsapi/models.go @@ -19,7 +19,7 @@ package subscriptionsapi -import original "github.com/Azure/azure-sdk-for-go/services/resources/mgmt/2018-06-01/subscriptions/subscriptionsapi" +import original "github.com/Azure/azure-sdk-for-go/services/resources/mgmt/2019-06-01/subscriptions/subscriptionsapi" type ClientAPI = original.ClientAPI type OperationsClientAPI = original.OperationsClientAPI diff --git a/profiles/latest/servicebus/mgmt/servicebus/models.go b/profiles/latest/servicebus/mgmt/servicebus/models.go index 74f148058c1e..fba494f170aa 100644 --- a/profiles/latest/servicebus/mgmt/servicebus/models.go +++ b/profiles/latest/servicebus/mgmt/servicebus/models.go @@ -175,6 +175,9 @@ type NamespacesClient = original.NamespacesClient type NamespacesCreateOrUpdateFuture = original.NamespacesCreateOrUpdateFuture type NamespacesDeleteFuture = original.NamespacesDeleteFuture type NetworkRuleSet = original.NetworkRuleSet +type NetworkRuleSetListResult = original.NetworkRuleSetListResult +type NetworkRuleSetListResultIterator = original.NetworkRuleSetListResultIterator +type NetworkRuleSetListResultPage = original.NetworkRuleSetListResultPage type NetworkRuleSetProperties = original.NetworkRuleSetProperties type Operation = original.Operation type OperationDisplay = original.OperationDisplay @@ -279,6 +282,12 @@ func NewNamespacesClient(subscriptionID string) NamespacesClient { func NewNamespacesClientWithBaseURI(baseURI string, subscriptionID string) NamespacesClient { return original.NewNamespacesClientWithBaseURI(baseURI, subscriptionID) } +func NewNetworkRuleSetListResultIterator(page NetworkRuleSetListResultPage) NetworkRuleSetListResultIterator { + return original.NewNetworkRuleSetListResultIterator(page) +} +func NewNetworkRuleSetListResultPage(getNextPage func(context.Context, NetworkRuleSetListResult) (NetworkRuleSetListResult, error)) NetworkRuleSetListResultPage { + return original.NewNetworkRuleSetListResultPage(getNextPage) +} func NewOperationListResultIterator(page OperationListResultPage) OperationListResultIterator { return original.NewOperationListResultIterator(page) } diff --git a/profiles/latest/sql/mgmt/sql/models.go b/profiles/latest/sql/mgmt/sql/models.go index 21281d393c61..250d9c622dff 100644 --- a/profiles/latest/sql/mgmt/sql/models.go +++ b/profiles/latest/sql/mgmt/sql/models.go @@ -25,6 +25,15 @@ const ( DefaultBaseURI = original.DefaultBaseURI ) +type AdvisorStatus = original.AdvisorStatus + +const ( + GA AdvisorStatus = original.GA + LimitedPublicPreview AdvisorStatus = original.LimitedPublicPreview + PrivatePreview AdvisorStatus = original.PrivatePreview + PublicPreview AdvisorStatus = original.PublicPreview +) + type AuthenticationType = original.AuthenticationType const ( @@ -32,6 +41,30 @@ const ( SQL AuthenticationType = original.SQL ) +type AutoExecuteStatus = original.AutoExecuteStatus + +const ( + Default AutoExecuteStatus = original.Default + Disabled AutoExecuteStatus = original.Disabled + Enabled AutoExecuteStatus = original.Enabled +) + +type BackupLongTermRetentionPolicyState = original.BackupLongTermRetentionPolicyState + +const ( + BackupLongTermRetentionPolicyStateDisabled BackupLongTermRetentionPolicyState = original.BackupLongTermRetentionPolicyStateDisabled + BackupLongTermRetentionPolicyStateEnabled BackupLongTermRetentionPolicyState = original.BackupLongTermRetentionPolicyStateEnabled +) + +type CapabilityStatus = original.CapabilityStatus + +const ( + CapabilityStatusAvailable CapabilityStatus = original.CapabilityStatusAvailable + CapabilityStatusDefault CapabilityStatus = original.CapabilityStatusDefault + CapabilityStatusDisabled CapabilityStatus = original.CapabilityStatusDisabled + CapabilityStatusVisible CapabilityStatus = original.CapabilityStatusVisible +) + type CheckNameAvailabilityReason = original.CheckNameAvailabilityReason const ( @@ -42,14 +75,39 @@ const ( type CreateMode = original.CreateMode const ( - Copy CreateMode = original.Copy - Default CreateMode = original.Default - NonReadableSecondary CreateMode = original.NonReadableSecondary - OnlineSecondary CreateMode = original.OnlineSecondary - PointInTimeRestore CreateMode = original.PointInTimeRestore - Recovery CreateMode = original.Recovery - Restore CreateMode = original.Restore - RestoreLongTermRetentionBackup CreateMode = original.RestoreLongTermRetentionBackup + CreateModeCopy CreateMode = original.CreateModeCopy + CreateModeDefault CreateMode = original.CreateModeDefault + CreateModeNonReadableSecondary CreateMode = original.CreateModeNonReadableSecondary + CreateModeOnlineSecondary CreateMode = original.CreateModeOnlineSecondary + CreateModePointInTimeRestore CreateMode = original.CreateModePointInTimeRestore + CreateModeRecovery CreateMode = original.CreateModeRecovery + CreateModeRestore CreateMode = original.CreateModeRestore + CreateModeRestoreLongTermRetentionBackup CreateMode = original.CreateModeRestoreLongTermRetentionBackup +) + +type DataMaskingFunction = original.DataMaskingFunction + +const ( + DataMaskingFunctionCCN DataMaskingFunction = original.DataMaskingFunctionCCN + DataMaskingFunctionDefault DataMaskingFunction = original.DataMaskingFunctionDefault + DataMaskingFunctionEmail DataMaskingFunction = original.DataMaskingFunctionEmail + DataMaskingFunctionNumber DataMaskingFunction = original.DataMaskingFunctionNumber + DataMaskingFunctionSSN DataMaskingFunction = original.DataMaskingFunctionSSN + DataMaskingFunctionText DataMaskingFunction = original.DataMaskingFunctionText +) + +type DataMaskingRuleState = original.DataMaskingRuleState + +const ( + DataMaskingRuleStateDisabled DataMaskingRuleState = original.DataMaskingRuleStateDisabled + DataMaskingRuleStateEnabled DataMaskingRuleState = original.DataMaskingRuleStateEnabled +) + +type DataMaskingState = original.DataMaskingState + +const ( + DataMaskingStateDisabled DataMaskingState = original.DataMaskingStateDisabled + DataMaskingStateEnabled DataMaskingState = original.DataMaskingStateEnabled ) type DatabaseEdition = original.DatabaseEdition @@ -71,6 +129,37 @@ const ( Web DatabaseEdition = original.Web ) +type DisasterRecoveryConfigurationAutoFailover = original.DisasterRecoveryConfigurationAutoFailover + +const ( + Off DisasterRecoveryConfigurationAutoFailover = original.Off + On DisasterRecoveryConfigurationAutoFailover = original.On +) + +type DisasterRecoveryConfigurationFailoverPolicy = original.DisasterRecoveryConfigurationFailoverPolicy + +const ( + Automatic DisasterRecoveryConfigurationFailoverPolicy = original.Automatic + Manual DisasterRecoveryConfigurationFailoverPolicy = original.Manual +) + +type DisasterRecoveryConfigurationRole = original.DisasterRecoveryConfigurationRole + +const ( + None DisasterRecoveryConfigurationRole = original.None + Primary DisasterRecoveryConfigurationRole = original.Primary + Secondary DisasterRecoveryConfigurationRole = original.Secondary +) + +type DisasterRecoveryConfigurationStatus = original.DisasterRecoveryConfigurationStatus + +const ( + Creating DisasterRecoveryConfigurationStatus = original.Creating + Dropping DisasterRecoveryConfigurationStatus = original.Dropping + FailingOver DisasterRecoveryConfigurationStatus = original.FailingOver + Ready DisasterRecoveryConfigurationStatus = original.Ready +) + type ElasticPoolEdition = original.ElasticPoolEdition const ( @@ -84,9 +173,79 @@ const ( type ElasticPoolState = original.ElasticPoolState const ( - Creating ElasticPoolState = original.Creating - Disabled ElasticPoolState = original.Disabled - Ready ElasticPoolState = original.Ready + ElasticPoolStateCreating ElasticPoolState = original.ElasticPoolStateCreating + ElasticPoolStateDisabled ElasticPoolState = original.ElasticPoolStateDisabled + ElasticPoolStateReady ElasticPoolState = original.ElasticPoolStateReady +) + +type GeoBackupPolicyState = original.GeoBackupPolicyState + +const ( + GeoBackupPolicyStateDisabled GeoBackupPolicyState = original.GeoBackupPolicyStateDisabled + GeoBackupPolicyStateEnabled GeoBackupPolicyState = original.GeoBackupPolicyStateEnabled +) + +type MaxSizeUnits = original.MaxSizeUnits + +const ( + Gigabytes MaxSizeUnits = original.Gigabytes + Megabytes MaxSizeUnits = original.Megabytes + Petabytes MaxSizeUnits = original.Petabytes + Terabytes MaxSizeUnits = original.Terabytes +) + +type PerformanceLevelUnit = original.PerformanceLevelUnit + +const ( + DTU PerformanceLevelUnit = original.DTU +) + +type PrimaryAggregationType = original.PrimaryAggregationType + +const ( + PrimaryAggregationTypeAverage PrimaryAggregationType = original.PrimaryAggregationTypeAverage + PrimaryAggregationTypeCount PrimaryAggregationType = original.PrimaryAggregationTypeCount + PrimaryAggregationTypeMaximum PrimaryAggregationType = original.PrimaryAggregationTypeMaximum + PrimaryAggregationTypeMinimum PrimaryAggregationType = original.PrimaryAggregationTypeMinimum + PrimaryAggregationTypeNone PrimaryAggregationType = original.PrimaryAggregationTypeNone + PrimaryAggregationTypeTotal PrimaryAggregationType = original.PrimaryAggregationTypeTotal +) + +type QueryAggregationFunction = original.QueryAggregationFunction + +const ( + Avg QueryAggregationFunction = original.Avg + Max QueryAggregationFunction = original.Max + Min QueryAggregationFunction = original.Min + Sum QueryAggregationFunction = original.Sum +) + +type QueryExecutionType = original.QueryExecutionType + +const ( + Aborted QueryExecutionType = original.Aborted + Any QueryExecutionType = original.Any + Exception QueryExecutionType = original.Exception + Irregular QueryExecutionType = original.Irregular + Regular QueryExecutionType = original.Regular +) + +type QueryMetricUnit = original.QueryMetricUnit + +const ( + KB QueryMetricUnit = original.KB + Microseconds QueryMetricUnit = original.Microseconds + Percentage QueryMetricUnit = original.Percentage +) + +type QueryObservedMetricType = original.QueryObservedMetricType + +const ( + CPU QueryObservedMetricType = original.CPU + Duration QueryObservedMetricType = original.Duration + ExecutionCount QueryObservedMetricType = original.ExecutionCount + Io QueryObservedMetricType = original.Io + Logio QueryObservedMetricType = original.Logio ) type ReadScale = original.ReadScale @@ -148,6 +307,13 @@ const ( SUSPENDED ReplicationState = original.SUSPENDED ) +type RestorePointType = original.RestorePointType + +const ( + CONTINUOUS RestorePointType = original.CONTINUOUS + DISCRETE RestorePointType = original.DISCRETE +) + type SampleName = original.SampleName const ( @@ -176,6 +342,28 @@ const ( SecurityAlertPolicyUseServerDefaultEnabled SecurityAlertPolicyUseServerDefault = original.SecurityAlertPolicyUseServerDefaultEnabled ) +type ServerConnectionType = original.ServerConnectionType + +const ( + ServerConnectionTypeDefault ServerConnectionType = original.ServerConnectionTypeDefault + ServerConnectionTypeProxy ServerConnectionType = original.ServerConnectionTypeProxy + ServerConnectionTypeRedirect ServerConnectionType = original.ServerConnectionTypeRedirect +) + +type ServerState = original.ServerState + +const ( + ServerStateDisabled ServerState = original.ServerStateDisabled + ServerStateReady ServerState = original.ServerStateReady +) + +type ServerVersion = original.ServerVersion + +const ( + OneTwoFullStopZero ServerVersion = original.OneTwoFullStopZero + TwoFullStopZero ServerVersion = original.TwoFullStopZero +) + type ServiceObjectiveName = original.ServiceObjectiveName const ( @@ -267,16 +455,70 @@ const ( TransparentDataEncryptionStatusEnabled TransparentDataEncryptionStatus = original.TransparentDataEncryptionStatusEnabled ) +type UnitDefinitionType = original.UnitDefinitionType + +const ( + Bytes UnitDefinitionType = original.Bytes + BytesPerSecond UnitDefinitionType = original.BytesPerSecond + Count UnitDefinitionType = original.Count + CountPerSecond UnitDefinitionType = original.CountPerSecond + Percent UnitDefinitionType = original.Percent + Seconds UnitDefinitionType = original.Seconds +) + +type UnitType = original.UnitType + +const ( + UnitTypeBytes UnitType = original.UnitTypeBytes + UnitTypeBytesPerSecond UnitType = original.UnitTypeBytesPerSecond + UnitTypeCount UnitType = original.UnitTypeCount + UnitTypeCountPerSecond UnitType = original.UnitTypeCountPerSecond + UnitTypePercent UnitType = original.UnitTypePercent + UnitTypeSeconds UnitType = original.UnitTypeSeconds +) + +type Advisor = original.Advisor +type AdvisorListResult = original.AdvisorListResult +type AdvisorProperties = original.AdvisorProperties +type BackupLongTermRetentionPoliciesClient = original.BackupLongTermRetentionPoliciesClient +type BackupLongTermRetentionPoliciesCreateOrUpdateFuture = original.BackupLongTermRetentionPoliciesCreateOrUpdateFuture +type BackupLongTermRetentionPolicy = original.BackupLongTermRetentionPolicy +type BackupLongTermRetentionPolicyListResult = original.BackupLongTermRetentionPolicyListResult +type BackupLongTermRetentionPolicyProperties = original.BackupLongTermRetentionPolicyProperties +type BackupLongTermRetentionVault = original.BackupLongTermRetentionVault +type BackupLongTermRetentionVaultListResult = original.BackupLongTermRetentionVaultListResult +type BackupLongTermRetentionVaultProperties = original.BackupLongTermRetentionVaultProperties +type BackupLongTermRetentionVaultsClient = original.BackupLongTermRetentionVaultsClient +type BackupLongTermRetentionVaultsCreateOrUpdateFuture = original.BackupLongTermRetentionVaultsCreateOrUpdateFuture type BaseClient = original.BaseClient +type CapabilitiesClient = original.CapabilitiesClient type CheckNameAvailabilityRequest = original.CheckNameAvailabilityRequest type CheckNameAvailabilityResponse = original.CheckNameAvailabilityResponse +type DataMaskingPoliciesClient = original.DataMaskingPoliciesClient +type DataMaskingPolicy = original.DataMaskingPolicy +type DataMaskingPolicyProperties = original.DataMaskingPolicyProperties +type DataMaskingRule = original.DataMaskingRule +type DataMaskingRuleListResult = original.DataMaskingRuleListResult +type DataMaskingRuleProperties = original.DataMaskingRuleProperties +type DataMaskingRulesClient = original.DataMaskingRulesClient type Database = original.Database +type DatabaseAdvisorsClient = original.DatabaseAdvisorsClient +type DatabaseConnectionPoliciesClient = original.DatabaseConnectionPoliciesClient +type DatabaseConnectionPolicy = original.DatabaseConnectionPolicy +type DatabaseConnectionPolicyProperties = original.DatabaseConnectionPolicyProperties type DatabaseListResult = original.DatabaseListResult type DatabaseProperties = original.DatabaseProperties type DatabaseSecurityAlertPolicy = original.DatabaseSecurityAlertPolicy type DatabaseSecurityAlertPolicyProperties = original.DatabaseSecurityAlertPolicyProperties +type DatabaseTableAuditingPoliciesClient = original.DatabaseTableAuditingPoliciesClient +type DatabaseTableAuditingPolicy = original.DatabaseTableAuditingPolicy +type DatabaseTableAuditingPolicyListResult = original.DatabaseTableAuditingPolicyListResult +type DatabaseTableAuditingPolicyProperties = original.DatabaseTableAuditingPolicyProperties type DatabaseThreatDetectionPoliciesClient = original.DatabaseThreatDetectionPoliciesClient type DatabaseUpdate = original.DatabaseUpdate +type DatabaseUsage = original.DatabaseUsage +type DatabaseUsageListResult = original.DatabaseUsageListResult +type DatabaseUsagesClient = original.DatabaseUsagesClient type DatabasesClient = original.DatabasesClient type DatabasesCreateImportOperationFuture = original.DatabasesCreateImportOperationFuture type DatabasesCreateOrUpdateFuture = original.DatabasesCreateOrUpdateFuture @@ -285,6 +527,15 @@ type DatabasesImportFuture = original.DatabasesImportFuture type DatabasesPauseFuture = original.DatabasesPauseFuture type DatabasesResumeFuture = original.DatabasesResumeFuture type DatabasesUpdateFuture = original.DatabasesUpdateFuture +type DisasterRecoveryConfiguration = original.DisasterRecoveryConfiguration +type DisasterRecoveryConfigurationListResult = original.DisasterRecoveryConfigurationListResult +type DisasterRecoveryConfigurationProperties = original.DisasterRecoveryConfigurationProperties +type DisasterRecoveryConfigurationsClient = original.DisasterRecoveryConfigurationsClient +type DisasterRecoveryConfigurationsCreateOrUpdateFuture = original.DisasterRecoveryConfigurationsCreateOrUpdateFuture +type DisasterRecoveryConfigurationsDeleteFuture = original.DisasterRecoveryConfigurationsDeleteFuture +type DisasterRecoveryConfigurationsFailoverAllowDataLossFuture = original.DisasterRecoveryConfigurationsFailoverAllowDataLossFuture +type DisasterRecoveryConfigurationsFailoverFuture = original.DisasterRecoveryConfigurationsFailoverFuture +type EditionCapability = original.EditionCapability type ElasticPool = original.ElasticPool type ElasticPoolActivitiesClient = original.ElasticPoolActivitiesClient type ElasticPoolActivity = original.ElasticPoolActivity @@ -294,24 +545,57 @@ type ElasticPoolDatabaseActivitiesClient = original.ElasticPoolDatabaseActivitie type ElasticPoolDatabaseActivity = original.ElasticPoolDatabaseActivity type ElasticPoolDatabaseActivityListResult = original.ElasticPoolDatabaseActivityListResult type ElasticPoolDatabaseActivityProperties = original.ElasticPoolDatabaseActivityProperties +type ElasticPoolDtuCapability = original.ElasticPoolDtuCapability +type ElasticPoolEditionCapability = original.ElasticPoolEditionCapability type ElasticPoolListResult = original.ElasticPoolListResult +type ElasticPoolPerDatabaseMaxDtuCapability = original.ElasticPoolPerDatabaseMaxDtuCapability +type ElasticPoolPerDatabaseMinDtuCapability = original.ElasticPoolPerDatabaseMinDtuCapability type ElasticPoolProperties = original.ElasticPoolProperties type ElasticPoolUpdate = original.ElasticPoolUpdate type ElasticPoolsClient = original.ElasticPoolsClient type ElasticPoolsCreateOrUpdateFuture = original.ElasticPoolsCreateOrUpdateFuture type ElasticPoolsUpdateFuture = original.ElasticPoolsUpdateFuture type ExportRequest = original.ExportRequest +type ExtensionListResult = original.ExtensionListResult +type ExtensionsClient = original.ExtensionsClient type FirewallRule = original.FirewallRule type FirewallRuleListResult = original.FirewallRuleListResult type FirewallRuleProperties = original.FirewallRuleProperties type FirewallRulesClient = original.FirewallRulesClient +type GeoBackupPoliciesClient = original.GeoBackupPoliciesClient +type GeoBackupPolicy = original.GeoBackupPolicy +type GeoBackupPolicyListResult = original.GeoBackupPolicyListResult +type GeoBackupPolicyProperties = original.GeoBackupPolicyProperties type ImportExportResponse = original.ImportExportResponse type ImportExportResponseProperties = original.ImportExportResponseProperties type ImportExtensionProperties = original.ImportExtensionProperties type ImportExtensionRequest = original.ImportExtensionRequest type ImportRequest = original.ImportRequest +type LocationCapabilities = original.LocationCapabilities +type MaxSizeCapability = original.MaxSizeCapability +type Metric = original.Metric +type MetricAvailability = original.MetricAvailability +type MetricDefinition = original.MetricDefinition +type MetricDefinitionListResult = original.MetricDefinitionListResult +type MetricListResult = original.MetricListResult +type MetricName = original.MetricName +type MetricValue = original.MetricValue +type Operation = original.Operation +type OperationDisplay = original.OperationDisplay type OperationImpact = original.OperationImpact +type OperationListResult = original.OperationListResult +type OperationsClient = original.OperationsClient +type PerformanceLevel = original.PerformanceLevel type ProxyResource = original.ProxyResource +type QueriesClient = original.QueriesClient +type QueryInterval = original.QueryInterval +type QueryMetric = original.QueryMetric +type QueryStatistic = original.QueryStatistic +type QueryStatisticListResult = original.QueryStatisticListResult +type QueryStatisticsClient = original.QueryStatisticsClient +type QueryText = original.QueryText +type QueryTextListResult = original.QueryTextListResult +type QueryTextsClient = original.QueryTextsClient type RecommendedElasticPool = original.RecommendedElasticPool type RecommendedElasticPoolListMetricsResult = original.RecommendedElasticPoolListMetricsResult type RecommendedElasticPoolListResult = original.RecommendedElasticPoolListResult @@ -320,6 +604,10 @@ type RecommendedElasticPoolProperties = original.RecommendedElasticPoolPropertie type RecommendedElasticPoolsClient = original.RecommendedElasticPoolsClient type RecommendedIndex = original.RecommendedIndex type RecommendedIndexProperties = original.RecommendedIndexProperties +type RecoverableDatabase = original.RecoverableDatabase +type RecoverableDatabaseListResult = original.RecoverableDatabaseListResult +type RecoverableDatabaseProperties = original.RecoverableDatabaseProperties +type RecoverableDatabasesClient = original.RecoverableDatabasesClient type ReplicationLink = original.ReplicationLink type ReplicationLinkListResult = original.ReplicationLinkListResult type ReplicationLinkProperties = original.ReplicationLinkProperties @@ -327,36 +615,141 @@ type ReplicationLinksClient = original.ReplicationLinksClient type ReplicationLinksFailoverAllowDataLossFuture = original.ReplicationLinksFailoverAllowDataLossFuture type ReplicationLinksFailoverFuture = original.ReplicationLinksFailoverFuture type Resource = original.Resource +type RestorableDroppedDatabase = original.RestorableDroppedDatabase +type RestorableDroppedDatabaseListResult = original.RestorableDroppedDatabaseListResult +type RestorableDroppedDatabaseProperties = original.RestorableDroppedDatabaseProperties +type RestorableDroppedDatabasesClient = original.RestorableDroppedDatabasesClient +type RestorePoint = original.RestorePoint +type RestorePointListResult = original.RestorePointListResult +type RestorePointProperties = original.RestorePointProperties +type RestorePointsClient = original.RestorePointsClient +type Server = original.Server +type ServerAdministratorListResult = original.ServerAdministratorListResult +type ServerAdministratorProperties = original.ServerAdministratorProperties +type ServerAdvisorsClient = original.ServerAdvisorsClient +type ServerAzureADAdministrator = original.ServerAzureADAdministrator +type ServerAzureADAdministratorsClient = original.ServerAzureADAdministratorsClient +type ServerAzureADAdministratorsCreateOrUpdateFuture = original.ServerAzureADAdministratorsCreateOrUpdateFuture +type ServerAzureADAdministratorsDeleteFuture = original.ServerAzureADAdministratorsDeleteFuture +type ServerCommunicationLink = original.ServerCommunicationLink +type ServerCommunicationLinkListResult = original.ServerCommunicationLinkListResult +type ServerCommunicationLinkProperties = original.ServerCommunicationLinkProperties +type ServerCommunicationLinksClient = original.ServerCommunicationLinksClient +type ServerCommunicationLinksCreateOrUpdateFuture = original.ServerCommunicationLinksCreateOrUpdateFuture +type ServerConnectionPoliciesClient = original.ServerConnectionPoliciesClient +type ServerConnectionPolicy = original.ServerConnectionPolicy +type ServerConnectionPolicyProperties = original.ServerConnectionPolicyProperties +type ServerListResult = original.ServerListResult +type ServerProperties = original.ServerProperties +type ServerTableAuditingPoliciesClient = original.ServerTableAuditingPoliciesClient +type ServerTableAuditingPolicy = original.ServerTableAuditingPolicy +type ServerTableAuditingPolicyListResult = original.ServerTableAuditingPolicyListResult +type ServerTableAuditingPolicyProperties = original.ServerTableAuditingPolicyProperties +type ServerUpdate = original.ServerUpdate +type ServerUsage = original.ServerUsage +type ServerUsageListResult = original.ServerUsageListResult +type ServerUsagesClient = original.ServerUsagesClient +type ServerVersionCapability = original.ServerVersionCapability type ServersClient = original.ServersClient +type ServiceObjective = original.ServiceObjective +type ServiceObjectiveCapability = original.ServiceObjectiveCapability +type ServiceObjectiveListResult = original.ServiceObjectiveListResult +type ServiceObjectiveProperties = original.ServiceObjectiveProperties +type ServiceObjectivesClient = original.ServiceObjectivesClient type ServiceTierAdvisor = original.ServiceTierAdvisor type ServiceTierAdvisorListResult = original.ServiceTierAdvisorListResult type ServiceTierAdvisorProperties = original.ServiceTierAdvisorProperties type ServiceTierAdvisorsClient = original.ServiceTierAdvisorsClient type SloUsageMetric = original.SloUsageMetric +type TableAuditingPolicyProperties = original.TableAuditingPolicyProperties +type TopQueries = original.TopQueries +type TopQueriesListResult = original.TopQueriesListResult type TrackedResource = original.TrackedResource type TransparentDataEncryption = original.TransparentDataEncryption type TransparentDataEncryptionActivitiesClient = original.TransparentDataEncryptionActivitiesClient type TransparentDataEncryptionActivity = original.TransparentDataEncryptionActivity type TransparentDataEncryptionActivityListResult = original.TransparentDataEncryptionActivityListResult type TransparentDataEncryptionActivityProperties = original.TransparentDataEncryptionActivityProperties +type TransparentDataEncryptionConfigurationsClient = original.TransparentDataEncryptionConfigurationsClient +type TransparentDataEncryptionListResult = original.TransparentDataEncryptionListResult type TransparentDataEncryptionProperties = original.TransparentDataEncryptionProperties type TransparentDataEncryptionsClient = original.TransparentDataEncryptionsClient func New(subscriptionID string) BaseClient { return original.New(subscriptionID) } +func NewBackupLongTermRetentionPoliciesClient(subscriptionID string) BackupLongTermRetentionPoliciesClient { + return original.NewBackupLongTermRetentionPoliciesClient(subscriptionID) +} +func NewBackupLongTermRetentionPoliciesClientWithBaseURI(baseURI string, subscriptionID string) BackupLongTermRetentionPoliciesClient { + return original.NewBackupLongTermRetentionPoliciesClientWithBaseURI(baseURI, subscriptionID) +} +func NewBackupLongTermRetentionVaultsClient(subscriptionID string) BackupLongTermRetentionVaultsClient { + return original.NewBackupLongTermRetentionVaultsClient(subscriptionID) +} +func NewBackupLongTermRetentionVaultsClientWithBaseURI(baseURI string, subscriptionID string) BackupLongTermRetentionVaultsClient { + return original.NewBackupLongTermRetentionVaultsClientWithBaseURI(baseURI, subscriptionID) +} +func NewCapabilitiesClient(subscriptionID string) CapabilitiesClient { + return original.NewCapabilitiesClient(subscriptionID) +} +func NewCapabilitiesClientWithBaseURI(baseURI string, subscriptionID string) CapabilitiesClient { + return original.NewCapabilitiesClientWithBaseURI(baseURI, subscriptionID) +} +func NewDataMaskingPoliciesClient(subscriptionID string) DataMaskingPoliciesClient { + return original.NewDataMaskingPoliciesClient(subscriptionID) +} +func NewDataMaskingPoliciesClientWithBaseURI(baseURI string, subscriptionID string) DataMaskingPoliciesClient { + return original.NewDataMaskingPoliciesClientWithBaseURI(baseURI, subscriptionID) +} +func NewDataMaskingRulesClient(subscriptionID string) DataMaskingRulesClient { + return original.NewDataMaskingRulesClient(subscriptionID) +} +func NewDataMaskingRulesClientWithBaseURI(baseURI string, subscriptionID string) DataMaskingRulesClient { + return original.NewDataMaskingRulesClientWithBaseURI(baseURI, subscriptionID) +} +func NewDatabaseAdvisorsClient(subscriptionID string) DatabaseAdvisorsClient { + return original.NewDatabaseAdvisorsClient(subscriptionID) +} +func NewDatabaseAdvisorsClientWithBaseURI(baseURI string, subscriptionID string) DatabaseAdvisorsClient { + return original.NewDatabaseAdvisorsClientWithBaseURI(baseURI, subscriptionID) +} +func NewDatabaseConnectionPoliciesClient(subscriptionID string) DatabaseConnectionPoliciesClient { + return original.NewDatabaseConnectionPoliciesClient(subscriptionID) +} +func NewDatabaseConnectionPoliciesClientWithBaseURI(baseURI string, subscriptionID string) DatabaseConnectionPoliciesClient { + return original.NewDatabaseConnectionPoliciesClientWithBaseURI(baseURI, subscriptionID) +} +func NewDatabaseTableAuditingPoliciesClient(subscriptionID string) DatabaseTableAuditingPoliciesClient { + return original.NewDatabaseTableAuditingPoliciesClient(subscriptionID) +} +func NewDatabaseTableAuditingPoliciesClientWithBaseURI(baseURI string, subscriptionID string) DatabaseTableAuditingPoliciesClient { + return original.NewDatabaseTableAuditingPoliciesClientWithBaseURI(baseURI, subscriptionID) +} func NewDatabaseThreatDetectionPoliciesClient(subscriptionID string) DatabaseThreatDetectionPoliciesClient { return original.NewDatabaseThreatDetectionPoliciesClient(subscriptionID) } func NewDatabaseThreatDetectionPoliciesClientWithBaseURI(baseURI string, subscriptionID string) DatabaseThreatDetectionPoliciesClient { return original.NewDatabaseThreatDetectionPoliciesClientWithBaseURI(baseURI, subscriptionID) } +func NewDatabaseUsagesClient(subscriptionID string) DatabaseUsagesClient { + return original.NewDatabaseUsagesClient(subscriptionID) +} +func NewDatabaseUsagesClientWithBaseURI(baseURI string, subscriptionID string) DatabaseUsagesClient { + return original.NewDatabaseUsagesClientWithBaseURI(baseURI, subscriptionID) +} func NewDatabasesClient(subscriptionID string) DatabasesClient { return original.NewDatabasesClient(subscriptionID) } func NewDatabasesClientWithBaseURI(baseURI string, subscriptionID string) DatabasesClient { return original.NewDatabasesClientWithBaseURI(baseURI, subscriptionID) } +func NewDisasterRecoveryConfigurationsClient(subscriptionID string) DisasterRecoveryConfigurationsClient { + return original.NewDisasterRecoveryConfigurationsClient(subscriptionID) +} +func NewDisasterRecoveryConfigurationsClientWithBaseURI(baseURI string, subscriptionID string) DisasterRecoveryConfigurationsClient { + return original.NewDisasterRecoveryConfigurationsClientWithBaseURI(baseURI, subscriptionID) +} func NewElasticPoolActivitiesClient(subscriptionID string) ElasticPoolActivitiesClient { return original.NewElasticPoolActivitiesClient(subscriptionID) } @@ -375,30 +768,126 @@ func NewElasticPoolsClient(subscriptionID string) ElasticPoolsClient { func NewElasticPoolsClientWithBaseURI(baseURI string, subscriptionID string) ElasticPoolsClient { return original.NewElasticPoolsClientWithBaseURI(baseURI, subscriptionID) } +func NewExtensionsClient(subscriptionID string) ExtensionsClient { + return original.NewExtensionsClient(subscriptionID) +} +func NewExtensionsClientWithBaseURI(baseURI string, subscriptionID string) ExtensionsClient { + return original.NewExtensionsClientWithBaseURI(baseURI, subscriptionID) +} func NewFirewallRulesClient(subscriptionID string) FirewallRulesClient { return original.NewFirewallRulesClient(subscriptionID) } func NewFirewallRulesClientWithBaseURI(baseURI string, subscriptionID string) FirewallRulesClient { return original.NewFirewallRulesClientWithBaseURI(baseURI, subscriptionID) } +func NewGeoBackupPoliciesClient(subscriptionID string) GeoBackupPoliciesClient { + return original.NewGeoBackupPoliciesClient(subscriptionID) +} +func NewGeoBackupPoliciesClientWithBaseURI(baseURI string, subscriptionID string) GeoBackupPoliciesClient { + return original.NewGeoBackupPoliciesClientWithBaseURI(baseURI, subscriptionID) +} +func NewOperationsClient(subscriptionID string) OperationsClient { + return original.NewOperationsClient(subscriptionID) +} +func NewOperationsClientWithBaseURI(baseURI string, subscriptionID string) OperationsClient { + return original.NewOperationsClientWithBaseURI(baseURI, subscriptionID) +} +func NewQueriesClient(subscriptionID string) QueriesClient { + return original.NewQueriesClient(subscriptionID) +} +func NewQueriesClientWithBaseURI(baseURI string, subscriptionID string) QueriesClient { + return original.NewQueriesClientWithBaseURI(baseURI, subscriptionID) +} +func NewQueryStatisticsClient(subscriptionID string) QueryStatisticsClient { + return original.NewQueryStatisticsClient(subscriptionID) +} +func NewQueryStatisticsClientWithBaseURI(baseURI string, subscriptionID string) QueryStatisticsClient { + return original.NewQueryStatisticsClientWithBaseURI(baseURI, subscriptionID) +} +func NewQueryTextsClient(subscriptionID string) QueryTextsClient { + return original.NewQueryTextsClient(subscriptionID) +} +func NewQueryTextsClientWithBaseURI(baseURI string, subscriptionID string) QueryTextsClient { + return original.NewQueryTextsClientWithBaseURI(baseURI, subscriptionID) +} func NewRecommendedElasticPoolsClient(subscriptionID string) RecommendedElasticPoolsClient { return original.NewRecommendedElasticPoolsClient(subscriptionID) } func NewRecommendedElasticPoolsClientWithBaseURI(baseURI string, subscriptionID string) RecommendedElasticPoolsClient { return original.NewRecommendedElasticPoolsClientWithBaseURI(baseURI, subscriptionID) } +func NewRecoverableDatabasesClient(subscriptionID string) RecoverableDatabasesClient { + return original.NewRecoverableDatabasesClient(subscriptionID) +} +func NewRecoverableDatabasesClientWithBaseURI(baseURI string, subscriptionID string) RecoverableDatabasesClient { + return original.NewRecoverableDatabasesClientWithBaseURI(baseURI, subscriptionID) +} func NewReplicationLinksClient(subscriptionID string) ReplicationLinksClient { return original.NewReplicationLinksClient(subscriptionID) } func NewReplicationLinksClientWithBaseURI(baseURI string, subscriptionID string) ReplicationLinksClient { return original.NewReplicationLinksClientWithBaseURI(baseURI, subscriptionID) } +func NewRestorableDroppedDatabasesClient(subscriptionID string) RestorableDroppedDatabasesClient { + return original.NewRestorableDroppedDatabasesClient(subscriptionID) +} +func NewRestorableDroppedDatabasesClientWithBaseURI(baseURI string, subscriptionID string) RestorableDroppedDatabasesClient { + return original.NewRestorableDroppedDatabasesClientWithBaseURI(baseURI, subscriptionID) +} +func NewRestorePointsClient(subscriptionID string) RestorePointsClient { + return original.NewRestorePointsClient(subscriptionID) +} +func NewRestorePointsClientWithBaseURI(baseURI string, subscriptionID string) RestorePointsClient { + return original.NewRestorePointsClientWithBaseURI(baseURI, subscriptionID) +} +func NewServerAdvisorsClient(subscriptionID string) ServerAdvisorsClient { + return original.NewServerAdvisorsClient(subscriptionID) +} +func NewServerAdvisorsClientWithBaseURI(baseURI string, subscriptionID string) ServerAdvisorsClient { + return original.NewServerAdvisorsClientWithBaseURI(baseURI, subscriptionID) +} +func NewServerAzureADAdministratorsClient(subscriptionID string) ServerAzureADAdministratorsClient { + return original.NewServerAzureADAdministratorsClient(subscriptionID) +} +func NewServerAzureADAdministratorsClientWithBaseURI(baseURI string, subscriptionID string) ServerAzureADAdministratorsClient { + return original.NewServerAzureADAdministratorsClientWithBaseURI(baseURI, subscriptionID) +} +func NewServerCommunicationLinksClient(subscriptionID string) ServerCommunicationLinksClient { + return original.NewServerCommunicationLinksClient(subscriptionID) +} +func NewServerCommunicationLinksClientWithBaseURI(baseURI string, subscriptionID string) ServerCommunicationLinksClient { + return original.NewServerCommunicationLinksClientWithBaseURI(baseURI, subscriptionID) +} +func NewServerConnectionPoliciesClient(subscriptionID string) ServerConnectionPoliciesClient { + return original.NewServerConnectionPoliciesClient(subscriptionID) +} +func NewServerConnectionPoliciesClientWithBaseURI(baseURI string, subscriptionID string) ServerConnectionPoliciesClient { + return original.NewServerConnectionPoliciesClientWithBaseURI(baseURI, subscriptionID) +} +func NewServerTableAuditingPoliciesClient(subscriptionID string) ServerTableAuditingPoliciesClient { + return original.NewServerTableAuditingPoliciesClient(subscriptionID) +} +func NewServerTableAuditingPoliciesClientWithBaseURI(baseURI string, subscriptionID string) ServerTableAuditingPoliciesClient { + return original.NewServerTableAuditingPoliciesClientWithBaseURI(baseURI, subscriptionID) +} +func NewServerUsagesClient(subscriptionID string) ServerUsagesClient { + return original.NewServerUsagesClient(subscriptionID) +} +func NewServerUsagesClientWithBaseURI(baseURI string, subscriptionID string) ServerUsagesClient { + return original.NewServerUsagesClientWithBaseURI(baseURI, subscriptionID) +} func NewServersClient(subscriptionID string) ServersClient { return original.NewServersClient(subscriptionID) } func NewServersClientWithBaseURI(baseURI string, subscriptionID string) ServersClient { return original.NewServersClientWithBaseURI(baseURI, subscriptionID) } +func NewServiceObjectivesClient(subscriptionID string) ServiceObjectivesClient { + return original.NewServiceObjectivesClient(subscriptionID) +} +func NewServiceObjectivesClientWithBaseURI(baseURI string, subscriptionID string) ServiceObjectivesClient { + return original.NewServiceObjectivesClientWithBaseURI(baseURI, subscriptionID) +} func NewServiceTierAdvisorsClient(subscriptionID string) ServiceTierAdvisorsClient { return original.NewServiceTierAdvisorsClient(subscriptionID) } @@ -411,6 +900,12 @@ func NewTransparentDataEncryptionActivitiesClient(subscriptionID string) Transpa func NewTransparentDataEncryptionActivitiesClientWithBaseURI(baseURI string, subscriptionID string) TransparentDataEncryptionActivitiesClient { return original.NewTransparentDataEncryptionActivitiesClientWithBaseURI(baseURI, subscriptionID) } +func NewTransparentDataEncryptionConfigurationsClient(subscriptionID string) TransparentDataEncryptionConfigurationsClient { + return original.NewTransparentDataEncryptionConfigurationsClient(subscriptionID) +} +func NewTransparentDataEncryptionConfigurationsClientWithBaseURI(baseURI string, subscriptionID string) TransparentDataEncryptionConfigurationsClient { + return original.NewTransparentDataEncryptionConfigurationsClientWithBaseURI(baseURI, subscriptionID) +} func NewTransparentDataEncryptionsClient(subscriptionID string) TransparentDataEncryptionsClient { return original.NewTransparentDataEncryptionsClient(subscriptionID) } @@ -420,24 +915,81 @@ func NewTransparentDataEncryptionsClientWithBaseURI(baseURI string, subscription func NewWithBaseURI(baseURI string, subscriptionID string) BaseClient { return original.NewWithBaseURI(baseURI, subscriptionID) } +func PossibleAdvisorStatusValues() []AdvisorStatus { + return original.PossibleAdvisorStatusValues() +} func PossibleAuthenticationTypeValues() []AuthenticationType { return original.PossibleAuthenticationTypeValues() } +func PossibleAutoExecuteStatusValues() []AutoExecuteStatus { + return original.PossibleAutoExecuteStatusValues() +} +func PossibleBackupLongTermRetentionPolicyStateValues() []BackupLongTermRetentionPolicyState { + return original.PossibleBackupLongTermRetentionPolicyStateValues() +} +func PossibleCapabilityStatusValues() []CapabilityStatus { + return original.PossibleCapabilityStatusValues() +} func PossibleCheckNameAvailabilityReasonValues() []CheckNameAvailabilityReason { return original.PossibleCheckNameAvailabilityReasonValues() } func PossibleCreateModeValues() []CreateMode { return original.PossibleCreateModeValues() } +func PossibleDataMaskingFunctionValues() []DataMaskingFunction { + return original.PossibleDataMaskingFunctionValues() +} +func PossibleDataMaskingRuleStateValues() []DataMaskingRuleState { + return original.PossibleDataMaskingRuleStateValues() +} +func PossibleDataMaskingStateValues() []DataMaskingState { + return original.PossibleDataMaskingStateValues() +} func PossibleDatabaseEditionValues() []DatabaseEdition { return original.PossibleDatabaseEditionValues() } +func PossibleDisasterRecoveryConfigurationAutoFailoverValues() []DisasterRecoveryConfigurationAutoFailover { + return original.PossibleDisasterRecoveryConfigurationAutoFailoverValues() +} +func PossibleDisasterRecoveryConfigurationFailoverPolicyValues() []DisasterRecoveryConfigurationFailoverPolicy { + return original.PossibleDisasterRecoveryConfigurationFailoverPolicyValues() +} +func PossibleDisasterRecoveryConfigurationRoleValues() []DisasterRecoveryConfigurationRole { + return original.PossibleDisasterRecoveryConfigurationRoleValues() +} +func PossibleDisasterRecoveryConfigurationStatusValues() []DisasterRecoveryConfigurationStatus { + return original.PossibleDisasterRecoveryConfigurationStatusValues() +} func PossibleElasticPoolEditionValues() []ElasticPoolEdition { return original.PossibleElasticPoolEditionValues() } func PossibleElasticPoolStateValues() []ElasticPoolState { return original.PossibleElasticPoolStateValues() } +func PossibleGeoBackupPolicyStateValues() []GeoBackupPolicyState { + return original.PossibleGeoBackupPolicyStateValues() +} +func PossibleMaxSizeUnitsValues() []MaxSizeUnits { + return original.PossibleMaxSizeUnitsValues() +} +func PossiblePerformanceLevelUnitValues() []PerformanceLevelUnit { + return original.PossiblePerformanceLevelUnitValues() +} +func PossiblePrimaryAggregationTypeValues() []PrimaryAggregationType { + return original.PossiblePrimaryAggregationTypeValues() +} +func PossibleQueryAggregationFunctionValues() []QueryAggregationFunction { + return original.PossibleQueryAggregationFunctionValues() +} +func PossibleQueryExecutionTypeValues() []QueryExecutionType { + return original.PossibleQueryExecutionTypeValues() +} +func PossibleQueryMetricUnitValues() []QueryMetricUnit { + return original.PossibleQueryMetricUnitValues() +} +func PossibleQueryObservedMetricTypeValues() []QueryObservedMetricType { + return original.PossibleQueryObservedMetricTypeValues() +} func PossibleReadScaleValues() []ReadScale { return original.PossibleReadScaleValues() } @@ -456,6 +1008,9 @@ func PossibleReplicationRoleValues() []ReplicationRole { func PossibleReplicationStateValues() []ReplicationState { return original.PossibleReplicationStateValues() } +func PossibleRestorePointTypeValues() []RestorePointType { + return original.PossibleRestorePointTypeValues() +} func PossibleSampleNameValues() []SampleName { return original.PossibleSampleNameValues() } @@ -468,6 +1023,15 @@ func PossibleSecurityAlertPolicyStateValues() []SecurityAlertPolicyState { func PossibleSecurityAlertPolicyUseServerDefaultValues() []SecurityAlertPolicyUseServerDefault { return original.PossibleSecurityAlertPolicyUseServerDefaultValues() } +func PossibleServerConnectionTypeValues() []ServerConnectionType { + return original.PossibleServerConnectionTypeValues() +} +func PossibleServerStateValues() []ServerState { + return original.PossibleServerStateValues() +} +func PossibleServerVersionValues() []ServerVersion { + return original.PossibleServerVersionValues() +} func PossibleServiceObjectiveNameValues() []ServiceObjectiveName { return original.PossibleServiceObjectiveNameValues() } @@ -480,6 +1044,12 @@ func PossibleTransparentDataEncryptionActivityStatusValues() []TransparentDataEn func PossibleTransparentDataEncryptionStatusValues() []TransparentDataEncryptionStatus { return original.PossibleTransparentDataEncryptionStatusValues() } +func PossibleUnitDefinitionTypeValues() []UnitDefinitionType { + return original.PossibleUnitDefinitionTypeValues() +} +func PossibleUnitTypeValues() []UnitType { + return original.PossibleUnitTypeValues() +} func UserAgent() string { return original.UserAgent() + " profiles/latest" } diff --git a/profiles/latest/sql/mgmt/sql/sqlapi/models.go b/profiles/latest/sql/mgmt/sql/sqlapi/models.go index 8a1a24d93635..d641097b6ea9 100644 --- a/profiles/latest/sql/mgmt/sql/sqlapi/models.go +++ b/profiles/latest/sql/mgmt/sql/sqlapi/models.go @@ -21,15 +21,42 @@ package sqlapi import original "github.com/Azure/azure-sdk-for-go/services/sql/mgmt/2014-04-01/sql/sqlapi" +type BackupLongTermRetentionPoliciesClientAPI = original.BackupLongTermRetentionPoliciesClientAPI +type BackupLongTermRetentionVaultsClientAPI = original.BackupLongTermRetentionVaultsClientAPI +type CapabilitiesClientAPI = original.CapabilitiesClientAPI +type DataMaskingPoliciesClientAPI = original.DataMaskingPoliciesClientAPI +type DataMaskingRulesClientAPI = original.DataMaskingRulesClientAPI +type DatabaseAdvisorsClientAPI = original.DatabaseAdvisorsClientAPI +type DatabaseConnectionPoliciesClientAPI = original.DatabaseConnectionPoliciesClientAPI +type DatabaseTableAuditingPoliciesClientAPI = original.DatabaseTableAuditingPoliciesClientAPI type DatabaseThreatDetectionPoliciesClientAPI = original.DatabaseThreatDetectionPoliciesClientAPI +type DatabaseUsagesClientAPI = original.DatabaseUsagesClientAPI type DatabasesClientAPI = original.DatabasesClientAPI +type DisasterRecoveryConfigurationsClientAPI = original.DisasterRecoveryConfigurationsClientAPI type ElasticPoolActivitiesClientAPI = original.ElasticPoolActivitiesClientAPI type ElasticPoolDatabaseActivitiesClientAPI = original.ElasticPoolDatabaseActivitiesClientAPI type ElasticPoolsClientAPI = original.ElasticPoolsClientAPI +type ExtensionsClientAPI = original.ExtensionsClientAPI type FirewallRulesClientAPI = original.FirewallRulesClientAPI +type GeoBackupPoliciesClientAPI = original.GeoBackupPoliciesClientAPI +type OperationsClientAPI = original.OperationsClientAPI +type QueriesClientAPI = original.QueriesClientAPI +type QueryStatisticsClientAPI = original.QueryStatisticsClientAPI +type QueryTextsClientAPI = original.QueryTextsClientAPI type RecommendedElasticPoolsClientAPI = original.RecommendedElasticPoolsClientAPI +type RecoverableDatabasesClientAPI = original.RecoverableDatabasesClientAPI type ReplicationLinksClientAPI = original.ReplicationLinksClientAPI +type RestorableDroppedDatabasesClientAPI = original.RestorableDroppedDatabasesClientAPI +type RestorePointsClientAPI = original.RestorePointsClientAPI +type ServerAdvisorsClientAPI = original.ServerAdvisorsClientAPI +type ServerAzureADAdministratorsClientAPI = original.ServerAzureADAdministratorsClientAPI +type ServerCommunicationLinksClientAPI = original.ServerCommunicationLinksClientAPI +type ServerConnectionPoliciesClientAPI = original.ServerConnectionPoliciesClientAPI +type ServerTableAuditingPoliciesClientAPI = original.ServerTableAuditingPoliciesClientAPI +type ServerUsagesClientAPI = original.ServerUsagesClientAPI type ServersClientAPI = original.ServersClientAPI +type ServiceObjectivesClientAPI = original.ServiceObjectivesClientAPI type ServiceTierAdvisorsClientAPI = original.ServiceTierAdvisorsClientAPI type TransparentDataEncryptionActivitiesClientAPI = original.TransparentDataEncryptionActivitiesClientAPI +type TransparentDataEncryptionConfigurationsClientAPI = original.TransparentDataEncryptionConfigurationsClientAPI type TransparentDataEncryptionsClientAPI = original.TransparentDataEncryptionsClientAPI diff --git a/profiles/latest/storage/datalake/storagedatalake/models.go b/profiles/latest/storage/datalake/storagedatalake/models.go index 00f7de7109ea..2c818b7bc172 100644 --- a/profiles/latest/storage/datalake/storagedatalake/models.go +++ b/profiles/latest/storage/datalake/storagedatalake/models.go @@ -19,7 +19,7 @@ package storagedatalake -import original "github.com/Azure/azure-sdk-for-go/services/storage/datalake/2018-11-09/storagedatalake" +import original "github.com/Azure/azure-sdk-for-go/services/storage/datalake/2019-10-31/storagedatalake" const ( DefaultDNSSuffix = original.DefaultDNSSuffix @@ -28,6 +28,7 @@ const ( type PathGetPropertiesAction = original.PathGetPropertiesAction const ( + CheckAccess PathGetPropertiesAction = original.CheckAccess GetAccessControl PathGetPropertiesAction = original.GetAccessControl GetStatus PathGetPropertiesAction = original.GetStatus ) diff --git a/profiles/latest/storage/datalake/storagedatalake/storagedatalakeapi/models.go b/profiles/latest/storage/datalake/storagedatalake/storagedatalakeapi/models.go index 278b9df7f518..fe6cd4856f06 100644 --- a/profiles/latest/storage/datalake/storagedatalake/storagedatalakeapi/models.go +++ b/profiles/latest/storage/datalake/storagedatalake/storagedatalakeapi/models.go @@ -19,7 +19,7 @@ package storagedatalakeapi -import original "github.com/Azure/azure-sdk-for-go/services/storage/datalake/2018-11-09/storagedatalake/storagedatalakeapi" +import original "github.com/Azure/azure-sdk-for-go/services/storage/datalake/2019-10-31/storagedatalake/storagedatalakeapi" type FilesystemClientAPI = original.FilesystemClientAPI type PathClientAPI = original.PathClientAPI diff --git a/profiles/latest/storage/mgmt/storage/models.go b/profiles/latest/storage/mgmt/storage/models.go index 3407c3e1f20f..c475a601a271 100644 --- a/profiles/latest/storage/mgmt/storage/models.go +++ b/profiles/latest/storage/mgmt/storage/models.go @@ -85,6 +85,7 @@ type DirectoryServiceOptions = original.DirectoryServiceOptions const ( DirectoryServiceOptionsAADDS DirectoryServiceOptions = original.DirectoryServiceOptionsAADDS + DirectoryServiceOptionsAD DirectoryServiceOptions = original.DirectoryServiceOptionsAD DirectoryServiceOptionsNone DirectoryServiceOptions = original.DirectoryServiceOptionsNone ) @@ -142,6 +143,13 @@ const ( StorageV2 Kind = original.StorageV2 ) +type LargeFileSharesState = original.LargeFileSharesState + +const ( + Disabled LargeFileSharesState = original.Disabled + Enabled LargeFileSharesState = original.Enabled +) + type LeaseDuration = original.LeaseDuration const ( @@ -166,6 +174,12 @@ const ( LeaseStatusUnlocked LeaseStatus = original.LeaseStatusUnlocked ) +type ListKeyExpand = original.ListKeyExpand + +const ( + Kerb ListKeyExpand = original.Kerb +) + type Permissions = original.Permissions const ( @@ -282,6 +296,8 @@ type AccountCreateParameters = original.AccountCreateParameters type AccountKey = original.AccountKey type AccountListKeysResult = original.AccountListKeysResult type AccountListResult = original.AccountListResult +type AccountListResultIterator = original.AccountListResultIterator +type AccountListResultPage = original.AccountListResultPage type AccountProperties = original.AccountProperties type AccountPropertiesCreateParameters = original.AccountPropertiesCreateParameters type AccountPropertiesUpdateParameters = original.AccountPropertiesUpdateParameters @@ -291,6 +307,7 @@ type AccountUpdateParameters = original.AccountUpdateParameters type AccountsClient = original.AccountsClient type AccountsCreateFuture = original.AccountsCreateFuture type AccountsFailoverFuture = original.AccountsFailoverFuture +type ActiveDirectoryProperties = original.ActiveDirectoryProperties type AzureEntityResource = original.AzureEntityResource type AzureFilesIdentityBasedAuthentication = original.AzureFilesIdentityBasedAuthentication type BaseClient = original.BaseClient @@ -300,7 +317,10 @@ type BlobServiceItems = original.BlobServiceItems type BlobServiceProperties = original.BlobServiceProperties type BlobServicePropertiesProperties = original.BlobServicePropertiesProperties type BlobServicesClient = original.BlobServicesClient +type ChangeFeed = original.ChangeFeed type CheckNameAvailabilityResult = original.CheckNameAvailabilityResult +type CloudError = original.CloudError +type CloudErrorBody = original.CloudErrorBody type ContainerProperties = original.ContainerProperties type CorsRule = original.CorsRule type CorsRules = original.CorsRules @@ -313,8 +333,6 @@ type Encryption = original.Encryption type EncryptionService = original.EncryptionService type EncryptionServices = original.EncryptionServices type Endpoints = original.Endpoints -type ErrorResponse = original.ErrorResponse -type ErrorResponseBody = original.ErrorResponseBody type FileServiceItems = original.FileServiceItems type FileServiceProperties = original.FileServiceProperties type FileServicePropertiesProperties = original.FileServicePropertiesProperties @@ -322,6 +340,8 @@ type FileServicesClient = original.FileServicesClient type FileShare = original.FileShare type FileShareItem = original.FileShareItem type FileShareItems = original.FileShareItems +type FileShareItemsIterator = original.FileShareItemsIterator +type FileShareItemsPage = original.FileShareItemsPage type FileShareProperties = original.FileShareProperties type FileSharesClient = original.FileSharesClient type GeoReplicationStats = original.GeoReplicationStats @@ -379,6 +399,12 @@ type VirtualNetworkRule = original.VirtualNetworkRule func New(subscriptionID string) BaseClient { return original.New(subscriptionID) } +func NewAccountListResultIterator(page AccountListResultPage) AccountListResultIterator { + return original.NewAccountListResultIterator(page) +} +func NewAccountListResultPage(getNextPage func(context.Context, AccountListResult) (AccountListResult, error)) AccountListResultPage { + return original.NewAccountListResultPage(getNextPage) +} func NewAccountsClient(subscriptionID string) AccountsClient { return original.NewAccountsClient(subscriptionID) } @@ -403,6 +429,12 @@ func NewFileServicesClient(subscriptionID string) FileServicesClient { func NewFileServicesClientWithBaseURI(baseURI string, subscriptionID string) FileServicesClient { return original.NewFileServicesClientWithBaseURI(baseURI, subscriptionID) } +func NewFileShareItemsIterator(page FileShareItemsPage) FileShareItemsIterator { + return original.NewFileShareItemsIterator(page) +} +func NewFileShareItemsPage(getNextPage func(context.Context, FileShareItems) (FileShareItems, error)) FileShareItemsPage { + return original.NewFileShareItemsPage(getNextPage) +} func NewFileSharesClient(subscriptionID string) FileSharesClient { return original.NewFileSharesClient(subscriptionID) } @@ -487,6 +519,9 @@ func PossibleKeySourceValues() []KeySource { func PossibleKindValues() []Kind { return original.PossibleKindValues() } +func PossibleLargeFileSharesStateValues() []LargeFileSharesState { + return original.PossibleLargeFileSharesStateValues() +} func PossibleLeaseDurationValues() []LeaseDuration { return original.PossibleLeaseDurationValues() } @@ -496,6 +531,9 @@ func PossibleLeaseStateValues() []LeaseState { func PossibleLeaseStatusValues() []LeaseStatus { return original.PossibleLeaseStatusValues() } +func PossibleListKeyExpandValues() []ListKeyExpand { + return original.PossibleListKeyExpandValues() +} func PossiblePermissionsValues() []Permissions { return original.PossiblePermissionsValues() } diff --git a/profiles/latest/web/mgmt/web/models.go b/profiles/latest/web/mgmt/web/models.go index fcd4c277fbe1..1e47d1d9f4e6 100644 --- a/profiles/latest/web/mgmt/web/models.go +++ b/profiles/latest/web/mgmt/web/models.go @@ -22,7 +22,7 @@ package web import ( "context" - original "github.com/Azure/azure-sdk-for-go/services/web/mgmt/2018-02-01/web" + original "github.com/Azure/azure-sdk-for-go/services/web/mgmt/2019-08-01/web" ) const ( diff --git a/profiles/latest/web/mgmt/web/webapi/models.go b/profiles/latest/web/mgmt/web/webapi/models.go index a38a27b2cc73..8f59e4c13c02 100644 --- a/profiles/latest/web/mgmt/web/webapi/models.go +++ b/profiles/latest/web/mgmt/web/webapi/models.go @@ -19,7 +19,7 @@ package webapi -import original "github.com/Azure/azure-sdk-for-go/services/web/mgmt/2018-02-01/web/webapi" +import original "github.com/Azure/azure-sdk-for-go/services/web/mgmt/2019-08-01/web/webapi" type AppServiceCertificateOrdersClientAPI = original.AppServiceCertificateOrdersClientAPI type AppServiceEnvironmentsClientAPI = original.AppServiceEnvironmentsClientAPI diff --git a/profiles/preview/advisor/mgmt/advisor/models.go b/profiles/preview/advisor/mgmt/advisor/models.go index 12185f185d4b..89c05f9f48c1 100644 --- a/profiles/preview/advisor/mgmt/advisor/models.go +++ b/profiles/preview/advisor/mgmt/advisor/models.go @@ -32,10 +32,11 @@ const ( type Category = original.Category const ( - Cost Category = original.Cost - HighAvailability Category = original.HighAvailability - Performance Category = original.Performance - Security Category = original.Security + Cost Category = original.Cost + HighAvailability Category = original.HighAvailability + OperationalExcellence Category = original.OperationalExcellence + Performance Category = original.Performance + Security Category = original.Security ) type Impact = original.Impact diff --git a/profiles/preview/appinsights/insights/models.go b/profiles/preview/appinsights/insights/models.go deleted file mode 100644 index cc63022b1de0..000000000000 --- a/profiles/preview/appinsights/insights/models.go +++ /dev/null @@ -1,229 +0,0 @@ -// +build go1.9 - -// Copyright 2019 Microsoft Corporation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -// This code was auto-generated by: -// github.com/Azure/azure-sdk-for-go/tools/profileBuilder - -package insights - -import original "github.com/Azure/azure-sdk-for-go/services/appinsights/v1/insights" - -const ( - DefaultBaseURI = original.DefaultBaseURI -) - -type EventType = original.EventType - -const ( - All EventType = original.All - AvailabilityResults EventType = original.AvailabilityResults - BrowserTimings EventType = original.BrowserTimings - CustomEvents EventType = original.CustomEvents - CustomMetrics EventType = original.CustomMetrics - Dependencies EventType = original.Dependencies - Exceptions EventType = original.Exceptions - PageViews EventType = original.PageViews - PerformanceCounters EventType = original.PerformanceCounters - Requests EventType = original.Requests - Traces EventType = original.Traces -) - -type MetricID = original.MetricID - -const ( - AvailabilityResultsavailabilityPercentage MetricID = original.AvailabilityResultsavailabilityPercentage - AvailabilityResultsduration MetricID = original.AvailabilityResultsduration - BillingtelemetryCount MetricID = original.BillingtelemetryCount - ClientnetworkDuration MetricID = original.ClientnetworkDuration - ClientprocessingDuration MetricID = original.ClientprocessingDuration - ClientreceiveDuration MetricID = original.ClientreceiveDuration - ClientsendDuration MetricID = original.ClientsendDuration - ClienttotalDuration MetricID = original.ClienttotalDuration - CustomEventscount MetricID = original.CustomEventscount - Dependenciescount MetricID = original.Dependenciescount - Dependenciesduration MetricID = original.Dependenciesduration - Dependenciesfailed MetricID = original.Dependenciesfailed - Exceptionsbrowser MetricID = original.Exceptionsbrowser - Exceptionscount MetricID = original.Exceptionscount - Exceptionsserver MetricID = original.Exceptionsserver - PageViewscount MetricID = original.PageViewscount - PageViewsduration MetricID = original.PageViewsduration - PerformanceCountersexceptionsPerSecond MetricID = original.PerformanceCountersexceptionsPerSecond - PerformanceCountersmemoryAvailableBytes MetricID = original.PerformanceCountersmemoryAvailableBytes - PerformanceCountersprocessCPUPercentage MetricID = original.PerformanceCountersprocessCPUPercentage - PerformanceCountersprocessIOBytesPerSecond MetricID = original.PerformanceCountersprocessIOBytesPerSecond - PerformanceCountersprocessorCPUPercentage MetricID = original.PerformanceCountersprocessorCPUPercentage - PerformanceCountersprocessPrivateBytes MetricID = original.PerformanceCountersprocessPrivateBytes - PerformanceCountersrequestExecutionTime MetricID = original.PerformanceCountersrequestExecutionTime - PerformanceCountersrequestsInQueue MetricID = original.PerformanceCountersrequestsInQueue - PerformanceCountersrequestsPerSecond MetricID = original.PerformanceCountersrequestsPerSecond - Requestscount MetricID = original.Requestscount - Requestsduration MetricID = original.Requestsduration - Requestsfailed MetricID = original.Requestsfailed - Sessionscount MetricID = original.Sessionscount - Usersauthenticated MetricID = original.Usersauthenticated - Userscount MetricID = original.Userscount -) - -type MetricsAggregation = original.MetricsAggregation - -const ( - Avg MetricsAggregation = original.Avg - Count MetricsAggregation = original.Count - Max MetricsAggregation = original.Max - Min MetricsAggregation = original.Min - Sum MetricsAggregation = original.Sum - Unique MetricsAggregation = original.Unique -) - -type MetricsSegment = original.MetricsSegment - -const ( - ApplicationBuild MetricsSegment = original.ApplicationBuild - ApplicationVersion MetricsSegment = original.ApplicationVersion - AuthenticatedOrAnonymousTraffic MetricsSegment = original.AuthenticatedOrAnonymousTraffic - Browser MetricsSegment = original.Browser - BrowserVersion MetricsSegment = original.BrowserVersion - City MetricsSegment = original.City - CloudRoleName MetricsSegment = original.CloudRoleName - CloudServiceName MetricsSegment = original.CloudServiceName - Continent MetricsSegment = original.Continent - CountryOrRegion MetricsSegment = original.CountryOrRegion - DeploymentID MetricsSegment = original.DeploymentID - DeploymentUnit MetricsSegment = original.DeploymentUnit - DeviceType MetricsSegment = original.DeviceType - Environment MetricsSegment = original.Environment - HostingLocation MetricsSegment = original.HostingLocation - InstanceName MetricsSegment = original.InstanceName -) - -type Type = original.Type - -const ( - TypeAvailabilityResult Type = original.TypeAvailabilityResult - TypeBrowserTiming Type = original.TypeBrowserTiming - TypeCustomEvent Type = original.TypeCustomEvent - TypeCustomMetric Type = original.TypeCustomMetric - TypeDependency Type = original.TypeDependency - TypeEventsResultData Type = original.TypeEventsResultData - TypeException Type = original.TypeException - TypePageView Type = original.TypePageView - TypePerformanceCounter Type = original.TypePerformanceCounter - TypeRequest Type = original.TypeRequest - TypeTrace Type = original.TypeTrace -) - -type BaseClient = original.BaseClient -type BasicEventsResultData = original.BasicEventsResultData -type Column = original.Column -type ErrorDetail = original.ErrorDetail -type ErrorInfo = original.ErrorInfo -type ErrorResponse = original.ErrorResponse -type EventsAiInfo = original.EventsAiInfo -type EventsApplicationInfo = original.EventsApplicationInfo -type EventsAvailabilityResultInfo = original.EventsAvailabilityResultInfo -type EventsAvailabilityResultResult = original.EventsAvailabilityResultResult -type EventsBrowserTimingInfo = original.EventsBrowserTimingInfo -type EventsBrowserTimingResult = original.EventsBrowserTimingResult -type EventsClient = original.EventsClient -type EventsClientInfo = original.EventsClientInfo -type EventsClientPerformanceInfo = original.EventsClientPerformanceInfo -type EventsCloudInfo = original.EventsCloudInfo -type EventsCustomEventInfo = original.EventsCustomEventInfo -type EventsCustomEventResult = original.EventsCustomEventResult -type EventsCustomMetricInfo = original.EventsCustomMetricInfo -type EventsCustomMetricResult = original.EventsCustomMetricResult -type EventsDependencyInfo = original.EventsDependencyInfo -type EventsDependencyResult = original.EventsDependencyResult -type EventsExceptionDetail = original.EventsExceptionDetail -type EventsExceptionDetailsParsedStack = original.EventsExceptionDetailsParsedStack -type EventsExceptionInfo = original.EventsExceptionInfo -type EventsExceptionResult = original.EventsExceptionResult -type EventsOperationInfo = original.EventsOperationInfo -type EventsPageViewInfo = original.EventsPageViewInfo -type EventsPageViewResult = original.EventsPageViewResult -type EventsPerformanceCounterInfo = original.EventsPerformanceCounterInfo -type EventsPerformanceCounterResult = original.EventsPerformanceCounterResult -type EventsRequestInfo = original.EventsRequestInfo -type EventsRequestResult = original.EventsRequestResult -type EventsResult = original.EventsResult -type EventsResultData = original.EventsResultData -type EventsResultDataCustomDimensions = original.EventsResultDataCustomDimensions -type EventsResultDataCustomMeasurements = original.EventsResultDataCustomMeasurements -type EventsResults = original.EventsResults -type EventsSessionInfo = original.EventsSessionInfo -type EventsTraceInfo = original.EventsTraceInfo -type EventsTraceResult = original.EventsTraceResult -type EventsUserInfo = original.EventsUserInfo -type ListMetricsResultsItem = original.ListMetricsResultsItem -type MetricsClient = original.MetricsClient -type MetricsPostBodySchema = original.MetricsPostBodySchema -type MetricsPostBodySchemaParameters = original.MetricsPostBodySchemaParameters -type MetricsResult = original.MetricsResult -type MetricsResultInfo = original.MetricsResultInfo -type MetricsResultsItem = original.MetricsResultsItem -type MetricsSegmentInfo = original.MetricsSegmentInfo -type QueryBody = original.QueryBody -type QueryClient = original.QueryClient -type QueryResults = original.QueryResults -type SetObject = original.SetObject -type Table = original.Table - -func New() BaseClient { - return original.New() -} -func NewEventsClient() EventsClient { - return original.NewEventsClient() -} -func NewEventsClientWithBaseURI(baseURI string) EventsClient { - return original.NewEventsClientWithBaseURI(baseURI) -} -func NewMetricsClient() MetricsClient { - return original.NewMetricsClient() -} -func NewMetricsClientWithBaseURI(baseURI string) MetricsClient { - return original.NewMetricsClientWithBaseURI(baseURI) -} -func NewQueryClient() QueryClient { - return original.NewQueryClient() -} -func NewQueryClientWithBaseURI(baseURI string) QueryClient { - return original.NewQueryClientWithBaseURI(baseURI) -} -func NewWithBaseURI(baseURI string) BaseClient { - return original.NewWithBaseURI(baseURI) -} -func PossibleEventTypeValues() []EventType { - return original.PossibleEventTypeValues() -} -func PossibleMetricIDValues() []MetricID { - return original.PossibleMetricIDValues() -} -func PossibleMetricsAggregationValues() []MetricsAggregation { - return original.PossibleMetricsAggregationValues() -} -func PossibleMetricsSegmentValues() []MetricsSegment { - return original.PossibleMetricsSegmentValues() -} -func PossibleTypeValues() []Type { - return original.PossibleTypeValues() -} -func UserAgent() string { - return original.UserAgent() + " profiles/preview" -} -func Version() string { - return original.Version() -} diff --git a/profiles/preview/cdn/mgmt/cdn/models.go b/profiles/preview/cdn/mgmt/cdn/models.go index e191eb867583..73cd3f5cb426 100644 --- a/profiles/preview/cdn/mgmt/cdn/models.go +++ b/profiles/preview/cdn/mgmt/cdn/models.go @@ -52,6 +52,20 @@ const ( Shared CertificateType = original.Shared ) +type CookiesOperator = original.CookiesOperator + +const ( + Any CookiesOperator = original.Any + BeginsWith CookiesOperator = original.BeginsWith + Contains CookiesOperator = original.Contains + EndsWith CookiesOperator = original.EndsWith + Equal CookiesOperator = original.Equal + GreaterThan CookiesOperator = original.GreaterThan + GreaterThanOrEqual CookiesOperator = original.GreaterThanOrEqual + LessThan CookiesOperator = original.LessThan + LessThanOrEqual CookiesOperator = original.LessThanOrEqual +) + type CustomDomainResourceState = original.CustomDomainResourceState const ( @@ -122,7 +136,9 @@ const ( type Name = original.Name const ( + NameCookies Name = original.NameCookies NameDeliveryRuleCondition Name = original.NameDeliveryRuleCondition + NameHTTPVersion Name = original.NameHTTPVersion NameIsDevice Name = original.NameIsDevice NamePostArgs Name = original.NamePostArgs NameQueryString Name = original.NameQueryString @@ -170,15 +186,15 @@ const ( type PostArgsOperator = original.PostArgsOperator const ( - Any PostArgsOperator = original.Any - BeginsWith PostArgsOperator = original.BeginsWith - Contains PostArgsOperator = original.Contains - EndsWith PostArgsOperator = original.EndsWith - Equal PostArgsOperator = original.Equal - GreaterThan PostArgsOperator = original.GreaterThan - GreaterThanOrEqual PostArgsOperator = original.GreaterThanOrEqual - LessThan PostArgsOperator = original.LessThan - LessThanOrEqual PostArgsOperator = original.LessThanOrEqual + PostArgsOperatorAny PostArgsOperator = original.PostArgsOperatorAny + PostArgsOperatorBeginsWith PostArgsOperator = original.PostArgsOperatorBeginsWith + PostArgsOperatorContains PostArgsOperator = original.PostArgsOperatorContains + PostArgsOperatorEndsWith PostArgsOperator = original.PostArgsOperatorEndsWith + PostArgsOperatorEqual PostArgsOperator = original.PostArgsOperatorEqual + PostArgsOperatorGreaterThan PostArgsOperator = original.PostArgsOperatorGreaterThan + PostArgsOperatorGreaterThanOrEqual PostArgsOperator = original.PostArgsOperatorGreaterThanOrEqual + PostArgsOperatorLessThan PostArgsOperator = original.PostArgsOperatorLessThan + PostArgsOperatorLessThanOrEqual PostArgsOperator = original.PostArgsOperatorLessThanOrEqual ) type ProfileResourceState = original.ProfileResourceState @@ -366,6 +382,7 @@ type CertificateSourceParameters = original.CertificateSourceParameters type CheckNameAvailabilityInput = original.CheckNameAvailabilityInput type CheckNameAvailabilityOutput = original.CheckNameAvailabilityOutput type CidrIPAddress = original.CidrIPAddress +type CookiesMatchConditionParameters = original.CookiesMatchConditionParameters type CustomDomain = original.CustomDomain type CustomDomainHTTPSParameters = original.CustomDomainHTTPSParameters type CustomDomainListResult = original.CustomDomainListResult @@ -384,6 +401,8 @@ type DeliveryRuleAction = original.DeliveryRuleAction type DeliveryRuleCacheExpirationAction = original.DeliveryRuleCacheExpirationAction type DeliveryRuleCacheKeyQueryStringAction = original.DeliveryRuleCacheKeyQueryStringAction type DeliveryRuleCondition = original.DeliveryRuleCondition +type DeliveryRuleCookiesCondition = original.DeliveryRuleCookiesCondition +type DeliveryRuleHTTPVersionCondition = original.DeliveryRuleHTTPVersionCondition type DeliveryRuleIsDeviceCondition = original.DeliveryRuleIsDeviceCondition type DeliveryRulePostArgsCondition = original.DeliveryRulePostArgsCondition type DeliveryRuleQueryStringCondition = original.DeliveryRuleQueryStringCondition @@ -422,6 +441,7 @@ type EndpointsStopFuture = original.EndpointsStopFuture type EndpointsUpdateFuture = original.EndpointsUpdateFuture type ErrorResponse = original.ErrorResponse type GeoFilter = original.GeoFilter +type HTTPVersionMatchConditionParameters = original.HTTPVersionMatchConditionParameters type HeaderActionParameters = original.HeaderActionParameters type IPAddressGroup = original.IPAddressGroup type IsDeviceMatchConditionParameters = original.IsDeviceMatchConditionParameters @@ -585,6 +605,9 @@ func PossibleCertificateSourceValues() []CertificateSource { func PossibleCertificateTypeValues() []CertificateType { return original.PossibleCertificateTypeValues() } +func PossibleCookiesOperatorValues() []CookiesOperator { + return original.PossibleCookiesOperatorValues() +} func PossibleCustomDomainResourceStateValues() []CustomDomainResourceState { return original.PossibleCustomDomainResourceStateValues() } diff --git a/profiles/preview/cognitiveservices/anomalyfinder/models.go b/profiles/preview/cognitiveservices/anomalyfinder/models.go deleted file mode 100644 index a0cb7dd25a4f..000000000000 --- a/profiles/preview/cognitiveservices/anomalyfinder/models.go +++ /dev/null @@ -1,56 +0,0 @@ -// +build go1.9 - -// Copyright 2019 Microsoft Corporation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -// This code was auto-generated by: -// github.com/Azure/azure-sdk-for-go/tools/profileBuilder - -package anomalyfinder - -import original "github.com/Azure/azure-sdk-for-go/services/cognitiveservices/v2.0/anomalyfinder" - -type Granularity = original.Granularity - -const ( - Daily Granularity = original.Daily - Hourly Granularity = original.Hourly - Minutely Granularity = original.Minutely - Monthly Granularity = original.Monthly - Weekly Granularity = original.Weekly - Yearly Granularity = original.Yearly -) - -type APIError = original.APIError -type BaseClient = original.BaseClient -type EntireDetectResponse = original.EntireDetectResponse -type LastDetectResponse = original.LastDetectResponse -type Point = original.Point -type Request = original.Request - -func New(endpoint string) BaseClient { - return original.New(endpoint) -} -func NewWithoutDefaults(endpoint string) BaseClient { - return original.NewWithoutDefaults(endpoint) -} -func PossibleGranularityValues() []Granularity { - return original.PossibleGranularityValues() -} -func UserAgent() string { - return original.UserAgent() + " profiles/preview" -} -func Version() string { - return original.Version() -} diff --git a/profiles/preview/cognitiveservices/customvision/training/models.go b/profiles/preview/cognitiveservices/customvision/training/models.go index 0a946d6d605e..70ecd6121043 100644 --- a/profiles/preview/cognitiveservices/customvision/training/models.go +++ b/profiles/preview/cognitiveservices/customvision/training/models.go @@ -19,7 +19,7 @@ package training -import original "github.com/Azure/azure-sdk-for-go/services/cognitiveservices/v3.0/customvision/training" +import original "github.com/Azure/azure-sdk-for-go/services/cognitiveservices/v3.1/customvision/training" type Classifier = original.Classifier @@ -78,6 +78,7 @@ const ( BadRequestPredictionResultsExceededCount CustomVisionErrorCodes = original.BadRequestPredictionResultsExceededCount BadRequestPredictionTagsExceededCount CustomVisionErrorCodes = original.BadRequestPredictionTagsExceededCount BadRequestProjectDescription CustomVisionErrorCodes = original.BadRequestProjectDescription + BadRequestProjectImagePreprocessingSettings CustomVisionErrorCodes = original.BadRequestProjectImagePreprocessingSettings BadRequestProjectName CustomVisionErrorCodes = original.BadRequestProjectName BadRequestProjectNameNotUnique CustomVisionErrorCodes = original.BadRequestProjectNameNotUnique BadRequestProjectUnknownClassification CustomVisionErrorCodes = original.BadRequestProjectUnknownClassification @@ -156,11 +157,13 @@ const ( type ExportFlavor = original.ExportFlavor const ( - ARM ExportFlavor = original.ARM - Linux ExportFlavor = original.Linux - ONNX10 ExportFlavor = original.ONNX10 - ONNX12 ExportFlavor = original.ONNX12 - Windows ExportFlavor = original.Windows + ARM ExportFlavor = original.ARM + Linux ExportFlavor = original.Linux + ONNX10 ExportFlavor = original.ONNX10 + ONNX12 ExportFlavor = original.ONNX12 + TensorFlowLite ExportFlavor = original.TensorFlowLite + TensorFlowNormal ExportFlavor = original.TensorFlowNormal + Windows ExportFlavor = original.Windows ) type ExportPlatform = original.ExportPlatform @@ -205,6 +208,13 @@ const ( Suggested OrderBy = original.Suggested ) +type SortBy = original.SortBy + +const ( + UncertaintyAscending SortBy = original.UncertaintyAscending + UncertaintyDescending SortBy = original.UncertaintyDescending +) + type TagType = original.TagType const ( @@ -234,6 +244,7 @@ type ImageIDCreateBatch = original.ImageIDCreateBatch type ImageIDCreateEntry = original.ImageIDCreateEntry type ImagePerformance = original.ImagePerformance type ImagePrediction = original.ImagePrediction +type ImageProcessingSettings = original.ImageProcessingSettings type ImageRegion = original.ImageRegion type ImageRegionCreateBatch = original.ImageRegionCreateBatch type ImageRegionCreateEntry = original.ImageRegionCreateEntry @@ -256,6 +267,7 @@ type ListImage = original.ListImage type ListImagePerformance = original.ListImagePerformance type ListIteration = original.ListIteration type ListProject = original.ListProject +type ListSuggestedTagAndRegion = original.ListSuggestedTagAndRegion type ListTag = original.ListTag type Prediction = original.Prediction type PredictionQueryResult = original.PredictionQueryResult @@ -265,8 +277,14 @@ type Project = original.Project type ProjectSettings = original.ProjectSettings type Region = original.Region type RegionProposal = original.RegionProposal +type SetInt32 = original.SetInt32 type StoredImagePrediction = original.StoredImagePrediction +type StoredSuggestedTagAndRegion = original.StoredSuggestedTagAndRegion +type SuggestedTagAndRegion = original.SuggestedTagAndRegion +type SuggestedTagAndRegionQuery = original.SuggestedTagAndRegionQuery +type SuggestedTagAndRegionQueryToken = original.SuggestedTagAndRegionQueryToken type Tag = original.Tag +type TagFilter = original.TagFilter type TagPerformance = original.TagPerformance func New(aPIKey string, endpoint string) BaseClient { @@ -299,6 +317,9 @@ func PossibleImageCreateStatusValues() []ImageCreateStatus { func PossibleOrderByValues() []OrderBy { return original.PossibleOrderByValues() } +func PossibleSortByValues() []SortBy { + return original.PossibleSortByValues() +} func PossibleTagTypeValues() []TagType { return original.PossibleTagTypeValues() } diff --git a/profiles/preview/cognitiveservices/customvision/training/trainingapi/models.go b/profiles/preview/cognitiveservices/customvision/training/trainingapi/models.go index 0444526d782d..58513bb4fcd7 100644 --- a/profiles/preview/cognitiveservices/customvision/training/trainingapi/models.go +++ b/profiles/preview/cognitiveservices/customvision/training/trainingapi/models.go @@ -19,6 +19,6 @@ package trainingapi -import original "github.com/Azure/azure-sdk-for-go/services/cognitiveservices/v3.0/customvision/training/trainingapi" +import original "github.com/Azure/azure-sdk-for-go/services/cognitiveservices/v3.1/customvision/training/trainingapi" type BaseClientAPI = original.BaseClientAPI diff --git a/profiles/preview/compute/mgmt/compute/models.go b/profiles/preview/compute/mgmt/compute/models.go index 64551ec21253..6c12dc6fa772 100644 --- a/profiles/preview/compute/mgmt/compute/models.go +++ b/profiles/preview/compute/mgmt/compute/models.go @@ -460,6 +460,14 @@ const ( Regular VirtualMachinePriorityTypes = original.Regular ) +type VirtualMachineScaleSetScaleInRules = original.VirtualMachineScaleSetScaleInRules + +const ( + Default VirtualMachineScaleSetScaleInRules = original.Default + NewestVM VirtualMachineScaleSetScaleInRules = original.NewestVM + OldestVM VirtualMachineScaleSetScaleInRules = original.OldestVM +) + type VirtualMachineScaleSetSkuScaleType = original.VirtualMachineScaleSetSkuScaleType const ( @@ -646,6 +654,7 @@ type AdditionalCapabilities = original.AdditionalCapabilities type AdditionalUnattendContent = original.AdditionalUnattendContent type AutomaticOSUpgradePolicy = original.AutomaticOSUpgradePolicy type AutomaticOSUpgradeProperties = original.AutomaticOSUpgradeProperties +type AutomaticRepairsPolicy = original.AutomaticRepairsPolicy type AvailabilitySet = original.AvailabilitySet type AvailabilitySetListResult = original.AvailabilitySetListResult type AvailabilitySetListResultIterator = original.AvailabilitySetListResultIterator @@ -654,6 +663,7 @@ type AvailabilitySetProperties = original.AvailabilitySetProperties type AvailabilitySetUpdate = original.AvailabilitySetUpdate type AvailabilitySetsClient = original.AvailabilitySetsClient type BaseClient = original.BaseClient +type BillingProfile = original.BillingProfile type BootDiagnostics = original.BootDiagnostics type BootDiagnosticsInstanceView = original.BootDiagnosticsInstanceView type CloudError = original.CloudError @@ -865,6 +875,7 @@ type RunCommandParameterDefinition = original.RunCommandParameterDefinition type RunCommandResult = original.RunCommandResult type SSHConfiguration = original.SSHConfiguration type SSHPublicKey = original.SSHPublicKey +type ScaleInPolicy = original.ScaleInPolicy type ScheduledEventsProfile = original.ScheduledEventsProfile type Sku = original.Sku type Snapshot = original.Snapshot @@ -1507,6 +1518,9 @@ func PossibleVirtualMachineEvictionPolicyTypesValues() []VirtualMachineEvictionP func PossibleVirtualMachinePriorityTypesValues() []VirtualMachinePriorityTypes { return original.PossibleVirtualMachinePriorityTypesValues() } +func PossibleVirtualMachineScaleSetScaleInRulesValues() []VirtualMachineScaleSetScaleInRules { + return original.PossibleVirtualMachineScaleSetScaleInRulesValues() +} func PossibleVirtualMachineScaleSetSkuScaleTypeValues() []VirtualMachineScaleSetSkuScaleType { return original.PossibleVirtualMachineScaleSetSkuScaleTypeValues() } diff --git a/profiles/preview/containerregistry/mgmt/containerregistry/containerregistryapi/models.go b/profiles/preview/containerregistry/mgmt/containerregistry/containerregistryapi/models.go index 976f96f6266c..1d33365b1341 100644 --- a/profiles/preview/containerregistry/mgmt/containerregistry/containerregistryapi/models.go +++ b/profiles/preview/containerregistry/mgmt/containerregistry/containerregistryapi/models.go @@ -25,5 +25,7 @@ type OperationsClientAPI = original.OperationsClientAPI type RegistriesClientAPI = original.RegistriesClientAPI type ReplicationsClientAPI = original.ReplicationsClientAPI type RunsClientAPI = original.RunsClientAPI +type ScopeMapsClientAPI = original.ScopeMapsClientAPI type TasksClientAPI = original.TasksClientAPI +type TokensClientAPI = original.TokensClientAPI type WebhooksClientAPI = original.WebhooksClientAPI diff --git a/profiles/preview/containerregistry/mgmt/containerregistry/models.go b/profiles/preview/containerregistry/mgmt/containerregistry/models.go index dbe09e21f9ce..39b34d0ed182 100644 --- a/profiles/preview/containerregistry/mgmt/containerregistry/models.go +++ b/profiles/preview/containerregistry/mgmt/containerregistry/models.go @@ -196,6 +196,27 @@ const ( TaskStatusEnabled TaskStatus = original.TaskStatusEnabled ) +type TokenCertificateName = original.TokenCertificateName + +const ( + Certificate1 TokenCertificateName = original.Certificate1 + Certificate2 TokenCertificateName = original.Certificate2 +) + +type TokenPasswordName = original.TokenPasswordName + +const ( + TokenPasswordNamePassword1 TokenPasswordName = original.TokenPasswordNamePassword1 + TokenPasswordNamePassword2 TokenPasswordName = original.TokenPasswordNamePassword2 +) + +type TokenStatus = original.TokenStatus + +const ( + TokenStatusDisabled TokenStatus = original.TokenStatusDisabled + TokenStatusEnabled TokenStatus = original.TokenStatusEnabled +) + type TokenType = original.TokenType const ( @@ -247,8 +268,8 @@ const ( type UpdateTriggerPayloadType = original.UpdateTriggerPayloadType const ( - Default UpdateTriggerPayloadType = original.Default - Token UpdateTriggerPayloadType = original.Token + UpdateTriggerPayloadTypeDefault UpdateTriggerPayloadType = original.UpdateTriggerPayloadTypeDefault + UpdateTriggerPayloadTypeToken UpdateTriggerPayloadType = original.UpdateTriggerPayloadTypeToken ) type Variant = original.Variant @@ -308,6 +329,8 @@ type EventResponseMessage = original.EventResponseMessage type FileTaskRunRequest = original.FileTaskRunRequest type FileTaskStep = original.FileTaskStep type FileTaskStepUpdateParameters = original.FileTaskStepUpdateParameters +type GenerateCredentialsParameters = original.GenerateCredentialsParameters +type GenerateCredentialsResult = original.GenerateCredentialsResult type IPRule = original.IPRule type IdentityProperties = original.IdentityProperties type ImageDescriptor = original.ImageDescriptor @@ -335,6 +358,7 @@ type RegenerateCredentialParameters = original.RegenerateCredentialParameters type RegistriesClient = original.RegistriesClient type RegistriesCreateFuture = original.RegistriesCreateFuture type RegistriesDeleteFuture = original.RegistriesDeleteFuture +type RegistriesGenerateCredentialsFuture = original.RegistriesGenerateCredentialsFuture type RegistriesImportImageFuture = original.RegistriesImportImageFuture type RegistriesScheduleRunFuture = original.RegistriesScheduleRunFuture type RegistriesUpdateFuture = original.RegistriesUpdateFuture @@ -376,6 +400,17 @@ type RunUpdateParameters = original.RunUpdateParameters type RunsCancelFuture = original.RunsCancelFuture type RunsClient = original.RunsClient type RunsUpdateFuture = original.RunsUpdateFuture +type ScopeMap = original.ScopeMap +type ScopeMapListResult = original.ScopeMapListResult +type ScopeMapListResultIterator = original.ScopeMapListResultIterator +type ScopeMapListResultPage = original.ScopeMapListResultPage +type ScopeMapProperties = original.ScopeMapProperties +type ScopeMapPropertiesUpdateParameters = original.ScopeMapPropertiesUpdateParameters +type ScopeMapUpdateParameters = original.ScopeMapUpdateParameters +type ScopeMapsClient = original.ScopeMapsClient +type ScopeMapsCreateFuture = original.ScopeMapsCreateFuture +type ScopeMapsDeleteFuture = original.ScopeMapsDeleteFuture +type ScopeMapsUpdateFuture = original.ScopeMapsUpdateFuture type SecretObject = original.SecretObject type SetValue = original.SetValue type Sku = original.Sku @@ -407,6 +442,20 @@ type TasksUpdateFuture = original.TasksUpdateFuture type TimerTrigger = original.TimerTrigger type TimerTriggerDescriptor = original.TimerTriggerDescriptor type TimerTriggerUpdateParameters = original.TimerTriggerUpdateParameters +type Token = original.Token +type TokenCertificate = original.TokenCertificate +type TokenCredentialsProperties = original.TokenCredentialsProperties +type TokenListResult = original.TokenListResult +type TokenListResultIterator = original.TokenListResultIterator +type TokenListResultPage = original.TokenListResultPage +type TokenPassword = original.TokenPassword +type TokenProperties = original.TokenProperties +type TokenUpdateParameters = original.TokenUpdateParameters +type TokenUpdateProperties = original.TokenUpdateProperties +type TokensClient = original.TokensClient +type TokensCreateFuture = original.TokensCreateFuture +type TokensDeleteFuture = original.TokensDeleteFuture +type TokensUpdateFuture = original.TokensUpdateFuture type TriggerProperties = original.TriggerProperties type TriggerUpdateParameters = original.TriggerUpdateParameters type TrustPolicy = original.TrustPolicy @@ -483,6 +532,18 @@ func NewRunsClient(subscriptionID string) RunsClient { func NewRunsClientWithBaseURI(baseURI string, subscriptionID string) RunsClient { return original.NewRunsClientWithBaseURI(baseURI, subscriptionID) } +func NewScopeMapListResultIterator(page ScopeMapListResultPage) ScopeMapListResultIterator { + return original.NewScopeMapListResultIterator(page) +} +func NewScopeMapListResultPage(getNextPage func(context.Context, ScopeMapListResult) (ScopeMapListResult, error)) ScopeMapListResultPage { + return original.NewScopeMapListResultPage(getNextPage) +} +func NewScopeMapsClient(subscriptionID string) ScopeMapsClient { + return original.NewScopeMapsClient(subscriptionID) +} +func NewScopeMapsClientWithBaseURI(baseURI string, subscriptionID string) ScopeMapsClient { + return original.NewScopeMapsClientWithBaseURI(baseURI, subscriptionID) +} func NewTaskListResultIterator(page TaskListResultPage) TaskListResultIterator { return original.NewTaskListResultIterator(page) } @@ -495,6 +556,18 @@ func NewTasksClient(subscriptionID string) TasksClient { func NewTasksClientWithBaseURI(baseURI string, subscriptionID string) TasksClient { return original.NewTasksClientWithBaseURI(baseURI, subscriptionID) } +func NewTokenListResultIterator(page TokenListResultPage) TokenListResultIterator { + return original.NewTokenListResultIterator(page) +} +func NewTokenListResultPage(getNextPage func(context.Context, TokenListResult) (TokenListResult, error)) TokenListResultPage { + return original.NewTokenListResultPage(getNextPage) +} +func NewTokensClient(subscriptionID string) TokensClient { + return original.NewTokensClient(subscriptionID) +} +func NewTokensClientWithBaseURI(baseURI string, subscriptionID string) TokensClient { + return original.NewTokensClientWithBaseURI(baseURI, subscriptionID) +} func NewWebhookListResultIterator(page WebhookListResultPage) WebhookListResultIterator { return original.NewWebhookListResultIterator(page) } @@ -573,6 +646,15 @@ func PossibleSourceTriggerEventValues() []SourceTriggerEvent { func PossibleTaskStatusValues() []TaskStatus { return original.PossibleTaskStatusValues() } +func PossibleTokenCertificateNameValues() []TokenCertificateName { + return original.PossibleTokenCertificateNameValues() +} +func PossibleTokenPasswordNameValues() []TokenPasswordName { + return original.PossibleTokenPasswordNameValues() +} +func PossibleTokenStatusValues() []TokenStatus { + return original.PossibleTokenStatusValues() +} func PossibleTokenTypeValues() []TokenType { return original.PossibleTokenTypeValues() } diff --git a/profiles/preview/cosmos-db/mgmt/documentdb/models.go b/profiles/preview/cosmos-db/mgmt/documentdb/models.go index 079c75b4b084..dbc3ce68bf22 100644 --- a/profiles/preview/cosmos-db/mgmt/documentdb/models.go +++ b/profiles/preview/cosmos-db/mgmt/documentdb/models.go @@ -112,12 +112,12 @@ const ( type PrimaryAggregationType = original.PrimaryAggregationType const ( - PrimaryAggregationTypeAverage PrimaryAggregationType = original.PrimaryAggregationTypeAverage - PrimaryAggregationTypeLast PrimaryAggregationType = original.PrimaryAggregationTypeLast - PrimaryAggregationTypeMaximum PrimaryAggregationType = original.PrimaryAggregationTypeMaximum - PrimaryAggregationTypeMinimimum PrimaryAggregationType = original.PrimaryAggregationTypeMinimimum - PrimaryAggregationTypeNone PrimaryAggregationType = original.PrimaryAggregationTypeNone - PrimaryAggregationTypeTotal PrimaryAggregationType = original.PrimaryAggregationTypeTotal + PrimaryAggregationTypeAverage PrimaryAggregationType = original.PrimaryAggregationTypeAverage + PrimaryAggregationTypeLast PrimaryAggregationType = original.PrimaryAggregationTypeLast + PrimaryAggregationTypeMaximum PrimaryAggregationType = original.PrimaryAggregationTypeMaximum + PrimaryAggregationTypeMinimum PrimaryAggregationType = original.PrimaryAggregationTypeMinimum + PrimaryAggregationTypeNone PrimaryAggregationType = original.PrimaryAggregationTypeNone + PrimaryAggregationTypeTotal PrimaryAggregationType = original.PrimaryAggregationTypeTotal ) type UnitType = original.UnitType diff --git a/profiles/preview/databox/mgmt/databox/databoxapi/models.go b/profiles/preview/databox/mgmt/databox/databoxapi/models.go index 4cbd950b6a9b..d1f0705c3f4b 100644 --- a/profiles/preview/databox/mgmt/databox/databoxapi/models.go +++ b/profiles/preview/databox/mgmt/databox/databoxapi/models.go @@ -19,7 +19,7 @@ package databoxapi -import original "github.com/Azure/azure-sdk-for-go/services/databox/mgmt/2018-01-01/databox/databoxapi" +import original "github.com/Azure/azure-sdk-for-go/services/databox/mgmt/2019-09-01/databox/databoxapi" type JobsClientAPI = original.JobsClientAPI type OperationsClientAPI = original.OperationsClientAPI diff --git a/profiles/preview/databox/mgmt/databox/models.go b/profiles/preview/databox/mgmt/databox/models.go index ca081e0e77d4..ab19aaa4a8f5 100644 --- a/profiles/preview/databox/mgmt/databox/models.go +++ b/profiles/preview/databox/mgmt/databox/models.go @@ -22,7 +22,7 @@ package databox import ( "context" - original "github.com/Azure/azure-sdk-for-go/services/databox/mgmt/2018-01-01/databox" + original "github.com/Azure/azure-sdk-for-go/services/databox/mgmt/2019-09-01/databox" ) const ( @@ -64,20 +64,39 @@ const ( type CopyStatus = original.CopyStatus const ( - Completed CopyStatus = original.Completed - CompletedWithErrors CopyStatus = original.CompletedWithErrors - Failed CopyStatus = original.Failed - InProgress CopyStatus = original.InProgress - NotReturned CopyStatus = original.NotReturned - NotStarted CopyStatus = original.NotStarted + Completed CopyStatus = original.Completed + CompletedWithErrors CopyStatus = original.CompletedWithErrors + DeviceFormatted CopyStatus = original.DeviceFormatted + DeviceMetadataModified CopyStatus = original.DeviceMetadataModified + Failed CopyStatus = original.Failed + HardwareError CopyStatus = original.HardwareError + InProgress CopyStatus = original.InProgress + NotReturned CopyStatus = original.NotReturned + NotStarted CopyStatus = original.NotStarted + StorageAccountNotAccessible CopyStatus = original.StorageAccountNotAccessible + UnsupportedData CopyStatus = original.UnsupportedData ) type DataDestinationType = original.DataDestinationType const ( - DataDestinationTypeDestinationAccountDetails DataDestinationType = original.DataDestinationTypeDestinationAccountDetails - DataDestinationTypeManagedDisk DataDestinationType = original.DataDestinationTypeManagedDisk - DataDestinationTypeStorageAccount DataDestinationType = original.DataDestinationTypeStorageAccount + ManagedDisk DataDestinationType = original.ManagedDisk + StorageAccount DataDestinationType = original.StorageAccount +) + +type DataDestinationTypeBasicDestinationAccountDetails = original.DataDestinationTypeBasicDestinationAccountDetails + +const ( + DataDestinationTypeDestinationAccountDetails DataDestinationTypeBasicDestinationAccountDetails = original.DataDestinationTypeDestinationAccountDetails + DataDestinationTypeManagedDisk DataDestinationTypeBasicDestinationAccountDetails = original.DataDestinationTypeManagedDisk + DataDestinationTypeStorageAccount DataDestinationTypeBasicDestinationAccountDetails = original.DataDestinationTypeStorageAccount +) + +type JobDeliveryType = original.JobDeliveryType + +const ( + NonScheduled JobDeliveryType = original.NonScheduled + Scheduled JobDeliveryType = original.Scheduled ) type JobDetailsTypeEnum = original.JobDetailsTypeEnum @@ -109,15 +128,23 @@ const ( PickedUp NotificationStageName = original.PickedUp ) +type OverallValidationStatus = original.OverallValidationStatus + +const ( + AllValidToProceed OverallValidationStatus = original.AllValidToProceed + CertainInputValidationsSkipped OverallValidationStatus = original.CertainInputValidationsSkipped + InputsRevisitRequired OverallValidationStatus = original.InputsRevisitRequired +) + type ShareDestinationFormatType = original.ShareDestinationFormatType const ( - AzureFile ShareDestinationFormatType = original.AzureFile - BlockBlob ShareDestinationFormatType = original.BlockBlob - HCS ShareDestinationFormatType = original.HCS - ManagedDisk ShareDestinationFormatType = original.ManagedDisk - PageBlob ShareDestinationFormatType = original.PageBlob - UnknownType ShareDestinationFormatType = original.UnknownType + ShareDestinationFormatTypeAzureFile ShareDestinationFormatType = original.ShareDestinationFormatTypeAzureFile + ShareDestinationFormatTypeBlockBlob ShareDestinationFormatType = original.ShareDestinationFormatTypeBlockBlob + ShareDestinationFormatTypeHCS ShareDestinationFormatType = original.ShareDestinationFormatTypeHCS + ShareDestinationFormatTypeManagedDisk ShareDestinationFormatType = original.ShareDestinationFormatTypeManagedDisk + ShareDestinationFormatTypePageBlob ShareDestinationFormatType = original.ShareDestinationFormatTypePageBlob + ShareDestinationFormatTypeUnknownType ShareDestinationFormatType = original.ShareDestinationFormatTypeUnknownType ) type SkuDisabledReason = original.SkuDisabledReason @@ -139,6 +166,15 @@ const ( DataBoxHeavy SkuName = original.DataBoxHeavy ) +type SkuNameBasicScheduleAvailabilityRequest = original.SkuNameBasicScheduleAvailabilityRequest + +const ( + SkuNameDataBox SkuNameBasicScheduleAvailabilityRequest = original.SkuNameDataBox + SkuNameDataBoxDisk SkuNameBasicScheduleAvailabilityRequest = original.SkuNameDataBoxDisk + SkuNameDataBoxHeavy SkuNameBasicScheduleAvailabilityRequest = original.SkuNameDataBoxHeavy + SkuNameScheduleAvailabilityRequest SkuNameBasicScheduleAvailabilityRequest = original.SkuNameScheduleAvailabilityRequest +) + type StageName = original.StageName const ( @@ -147,6 +183,7 @@ const ( StageNameCancelled StageName = original.StageNameCancelled StageNameCompleted StageName = original.StageNameCompleted StageNameCompletedWithErrors StageName = original.StageNameCompletedWithErrors + StageNameCompletedWithWarnings StageName = original.StageNameCompletedWithWarnings StageNameDataCopy StageName = original.StageNameDataCopy StageNameDelivered StageName = original.StageNameDelivered StageNameDeviceOrdered StageName = original.StageNameDeviceOrdered @@ -155,6 +192,8 @@ const ( StageNameFailedIssueDetectedAtAzureDC StageName = original.StageNameFailedIssueDetectedAtAzureDC StageNameFailedIssueReportedAtCustomer StageName = original.StageNameFailedIssueReportedAtCustomer StageNamePickedUp StageName = original.StageNamePickedUp + StageNameReadyToDispatchFromAzureDC StageName = original.StageNameReadyToDispatchFromAzureDC + StageNameReadyToReceiveAtAzureDC StageName = original.StageNameReadyToReceiveAtAzureDC ) type StageStatus = original.StageStatus @@ -169,6 +208,52 @@ const ( StageStatusSucceededWithErrors StageStatus = original.StageStatusSucceededWithErrors ) +type TransportShipmentTypes = original.TransportShipmentTypes + +const ( + CustomerManaged TransportShipmentTypes = original.CustomerManaged + MicrosoftManaged TransportShipmentTypes = original.MicrosoftManaged +) + +type ValidationCategory = original.ValidationCategory + +const ( + ValidationCategoryJobCreationValidation ValidationCategory = original.ValidationCategoryJobCreationValidation + ValidationCategoryValidationRequest ValidationCategory = original.ValidationCategoryValidationRequest +) + +type ValidationStatus = original.ValidationStatus + +const ( + ValidationStatusInvalid ValidationStatus = original.ValidationStatusInvalid + ValidationStatusSkipped ValidationStatus = original.ValidationStatusSkipped + ValidationStatusValid ValidationStatus = original.ValidationStatusValid +) + +type ValidationType = original.ValidationType + +const ( + ValidationTypeValidateAddress ValidationType = original.ValidationTypeValidateAddress + ValidationTypeValidateCreateOrderLimit ValidationType = original.ValidationTypeValidateCreateOrderLimit + ValidationTypeValidateDataDestinationDetails ValidationType = original.ValidationTypeValidateDataDestinationDetails + ValidationTypeValidatePreferences ValidationType = original.ValidationTypeValidatePreferences + ValidationTypeValidateSkuAvailability ValidationType = original.ValidationTypeValidateSkuAvailability + ValidationTypeValidateSubscriptionIsAllowedToCreateJob ValidationType = original.ValidationTypeValidateSubscriptionIsAllowedToCreateJob + ValidationTypeValidationInputRequest ValidationType = original.ValidationTypeValidationInputRequest +) + +type ValidationTypeBasicValidationInputResponse = original.ValidationTypeBasicValidationInputResponse + +const ( + ValidationTypeBasicValidationInputResponseValidationTypeValidateAddress ValidationTypeBasicValidationInputResponse = original.ValidationTypeBasicValidationInputResponseValidationTypeValidateAddress + ValidationTypeBasicValidationInputResponseValidationTypeValidateCreateOrderLimit ValidationTypeBasicValidationInputResponse = original.ValidationTypeBasicValidationInputResponseValidationTypeValidateCreateOrderLimit + ValidationTypeBasicValidationInputResponseValidationTypeValidateDataDestinationDetails ValidationTypeBasicValidationInputResponse = original.ValidationTypeBasicValidationInputResponseValidationTypeValidateDataDestinationDetails + ValidationTypeBasicValidationInputResponseValidationTypeValidatePreferences ValidationTypeBasicValidationInputResponse = original.ValidationTypeBasicValidationInputResponseValidationTypeValidatePreferences + ValidationTypeBasicValidationInputResponseValidationTypeValidateSkuAvailability ValidationTypeBasicValidationInputResponse = original.ValidationTypeBasicValidationInputResponseValidationTypeValidateSkuAvailability + ValidationTypeBasicValidationInputResponseValidationTypeValidateSubscriptionIsAllowedToCreateJob ValidationTypeBasicValidationInputResponse = original.ValidationTypeBasicValidationInputResponseValidationTypeValidateSubscriptionIsAllowedToCreateJob + ValidationTypeBasicValidationInputResponseValidationTypeValidationInputResponse ValidationTypeBasicValidationInputResponse = original.ValidationTypeBasicValidationInputResponseValidationTypeValidationInputResponse +) + type AccountCopyLogDetails = original.AccountCopyLogDetails type AccountCredentialDetails = original.AccountCredentialDetails type AddressValidationOutput = original.AddressValidationOutput @@ -184,10 +269,21 @@ type BasicCopyLogDetails = original.BasicCopyLogDetails type BasicDestinationAccountDetails = original.BasicDestinationAccountDetails type BasicJobDetails = original.BasicJobDetails type BasicJobSecrets = original.BasicJobSecrets +type BasicScheduleAvailabilityRequest = original.BasicScheduleAvailabilityRequest +type BasicValidationInputRequest = original.BasicValidationInputRequest +type BasicValidationInputResponse = original.BasicValidationInputResponse +type BasicValidationRequest = original.BasicValidationRequest type CancellationReason = original.CancellationReason +type CloudError = original.CloudError type ContactDetails = original.ContactDetails type CopyLogDetails = original.CopyLogDetails type CopyProgress = original.CopyProgress +type CreateJobValidations = original.CreateJobValidations +type CreateOrderLimitForSubscriptionValidationRequest = original.CreateOrderLimitForSubscriptionValidationRequest +type CreateOrderLimitForSubscriptionValidationResponseProperties = original.CreateOrderLimitForSubscriptionValidationResponseProperties +type DataDestinationDetailsValidationRequest = original.DataDestinationDetailsValidationRequest +type DataDestinationDetailsValidationResponseProperties = original.DataDestinationDetailsValidationResponseProperties +type DcAccessSecurityCode = original.DcAccessSecurityCode type DestinationAccountDetails = original.DestinationAccountDetails type DestinationManagedDiskDetails = original.DestinationManagedDiskDetails type DestinationStorageAccountDetails = original.DestinationStorageAccountDetails @@ -196,12 +292,15 @@ type DiskCopyLogDetails = original.DiskCopyLogDetails type DiskCopyProgress = original.DiskCopyProgress type DiskJobDetails = original.DiskJobDetails type DiskJobSecrets = original.DiskJobSecrets +type DiskScheduleAvailabilityRequest = original.DiskScheduleAvailabilityRequest type DiskSecret = original.DiskSecret type Error = original.Error type HeavyAccountCopyLogDetails = original.HeavyAccountCopyLogDetails type HeavyJobDetails = original.HeavyJobDetails type HeavyJobSecrets = original.HeavyJobSecrets +type HeavyScheduleAvailabilityRequest = original.HeavyScheduleAvailabilityRequest type HeavySecret = original.HeavySecret +type JobDeliveryInfo = original.JobDeliveryInfo type JobDetails = original.JobDetails type JobDetailsType = original.JobDetailsType type JobErrorDetails = original.JobErrorDetails @@ -227,7 +326,14 @@ type OperationListPage = original.OperationListPage type OperationsClient = original.OperationsClient type PackageShippingDetails = original.PackageShippingDetails type Preferences = original.Preferences +type PreferencesValidationRequest = original.PreferencesValidationRequest +type PreferencesValidationResponseProperties = original.PreferencesValidationResponseProperties +type RegionConfigurationRequest = original.RegionConfigurationRequest +type RegionConfigurationResponse = original.RegionConfigurationResponse type Resource = original.Resource +type ScheduleAvailabilityRequest = original.ScheduleAvailabilityRequest +type ScheduleAvailabilityRequestType = original.ScheduleAvailabilityRequestType +type ScheduleAvailabilityResponse = original.ScheduleAvailabilityResponse type Secret = original.Secret type ServiceClient = original.ServiceClient type ShareCredentialDetails = original.ShareCredentialDetails @@ -235,15 +341,28 @@ type ShipmentPickUpRequest = original.ShipmentPickUpRequest type ShipmentPickUpResponse = original.ShipmentPickUpResponse type ShippingAddress = original.ShippingAddress type Sku = original.Sku +type SkuAvailabilityValidationRequest = original.SkuAvailabilityValidationRequest +type SkuAvailabilityValidationResponseProperties = original.SkuAvailabilityValidationResponseProperties type SkuCapacity = original.SkuCapacity type SkuCost = original.SkuCost type SkuInformation = original.SkuInformation type SkuProperties = original.SkuProperties +type SubscriptionIsAllowedToCreateJobValidationRequest = original.SubscriptionIsAllowedToCreateJobValidationRequest +type SubscriptionIsAllowedToCreateJobValidationResponseProperties = original.SubscriptionIsAllowedToCreateJobValidationResponseProperties +type TransportAvailabilityDetails = original.TransportAvailabilityDetails +type TransportAvailabilityRequest = original.TransportAvailabilityRequest +type TransportAvailabilityResponse = original.TransportAvailabilityResponse +type TransportPreferences = original.TransportPreferences type UnencryptedCredentials = original.UnencryptedCredentials type UnencryptedCredentialsList = original.UnencryptedCredentialsList type UpdateJobDetails = original.UpdateJobDetails type UpdateJobProperties = original.UpdateJobProperties type ValidateAddress = original.ValidateAddress +type ValidationInputRequest = original.ValidationInputRequest +type ValidationInputResponse = original.ValidationInputResponse +type ValidationRequest = original.ValidationRequest +type ValidationResponse = original.ValidationResponse +type ValidationResponseProperties = original.ValidationResponseProperties func New(subscriptionID string) BaseClient { return original.New(subscriptionID) @@ -302,9 +421,15 @@ func PossibleCopyLogDetailsTypeValues() []CopyLogDetailsType { func PossibleCopyStatusValues() []CopyStatus { return original.PossibleCopyStatusValues() } +func PossibleDataDestinationTypeBasicDestinationAccountDetailsValues() []DataDestinationTypeBasicDestinationAccountDetails { + return original.PossibleDataDestinationTypeBasicDestinationAccountDetailsValues() +} func PossibleDataDestinationTypeValues() []DataDestinationType { return original.PossibleDataDestinationTypeValues() } +func PossibleJobDeliveryTypeValues() []JobDeliveryType { + return original.PossibleJobDeliveryTypeValues() +} func PossibleJobDetailsTypeEnumValues() []JobDetailsTypeEnum { return original.PossibleJobDetailsTypeEnumValues() } @@ -314,12 +439,18 @@ func PossibleJobSecretsTypeEnumValues() []JobSecretsTypeEnum { func PossibleNotificationStageNameValues() []NotificationStageName { return original.PossibleNotificationStageNameValues() } +func PossibleOverallValidationStatusValues() []OverallValidationStatus { + return original.PossibleOverallValidationStatusValues() +} func PossibleShareDestinationFormatTypeValues() []ShareDestinationFormatType { return original.PossibleShareDestinationFormatTypeValues() } func PossibleSkuDisabledReasonValues() []SkuDisabledReason { return original.PossibleSkuDisabledReasonValues() } +func PossibleSkuNameBasicScheduleAvailabilityRequestValues() []SkuNameBasicScheduleAvailabilityRequest { + return original.PossibleSkuNameBasicScheduleAvailabilityRequestValues() +} func PossibleSkuNameValues() []SkuName { return original.PossibleSkuNameValues() } @@ -329,6 +460,21 @@ func PossibleStageNameValues() []StageName { func PossibleStageStatusValues() []StageStatus { return original.PossibleStageStatusValues() } +func PossibleTransportShipmentTypesValues() []TransportShipmentTypes { + return original.PossibleTransportShipmentTypesValues() +} +func PossibleValidationCategoryValues() []ValidationCategory { + return original.PossibleValidationCategoryValues() +} +func PossibleValidationStatusValues() []ValidationStatus { + return original.PossibleValidationStatusValues() +} +func PossibleValidationTypeBasicValidationInputResponseValues() []ValidationTypeBasicValidationInputResponse { + return original.PossibleValidationTypeBasicValidationInputResponseValues() +} +func PossibleValidationTypeValues() []ValidationType { + return original.PossibleValidationTypeValues() +} func UserAgent() string { return original.UserAgent() + " profiles/preview" } diff --git a/profiles/preview/edgegateway/mgmt/edgegateway/edgegatewayapi/models.go b/profiles/preview/databoxedge/mgmt/databoxedge/databoxedgeapi/models.go similarity index 88% rename from profiles/preview/edgegateway/mgmt/edgegateway/edgegatewayapi/models.go rename to profiles/preview/databoxedge/mgmt/databoxedge/databoxedgeapi/models.go index c73455d1c53f..fa769db5d05e 100644 --- a/profiles/preview/edgegateway/mgmt/edgegateway/edgegatewayapi/models.go +++ b/profiles/preview/databoxedge/mgmt/databoxedge/databoxedgeapi/models.go @@ -17,14 +17,15 @@ // This code was auto-generated by: // github.com/Azure/azure-sdk-for-go/tools/profileBuilder -package edgegatewayapi +package databoxedgeapi -import original "github.com/Azure/azure-sdk-for-go/services/edgegateway/mgmt/2019-03-01/edgegateway/edgegatewayapi" +import original "github.com/Azure/azure-sdk-for-go/services/databoxedge/mgmt/2019-07-01/databoxedge/databoxedgeapi" type AlertsClientAPI = original.AlertsClientAPI type BandwidthSchedulesClientAPI = original.BandwidthSchedulesClientAPI type DevicesClientAPI = original.DevicesClientAPI type JobsClientAPI = original.JobsClientAPI +type NodesClientAPI = original.NodesClientAPI type OperationsClientAPI = original.OperationsClientAPI type OperationsStatusClientAPI = original.OperationsStatusClientAPI type OrdersClientAPI = original.OrdersClientAPI diff --git a/profiles/preview/edgegateway/mgmt/edgegateway/models.go b/profiles/preview/databoxedge/mgmt/databoxedge/models.go similarity index 91% rename from profiles/preview/edgegateway/mgmt/edgegateway/models.go rename to profiles/preview/databoxedge/mgmt/databoxedge/models.go index 8f963cdad2e5..873bd0836bb3 100644 --- a/profiles/preview/edgegateway/mgmt/edgegateway/models.go +++ b/profiles/preview/databoxedge/mgmt/databoxedge/models.go @@ -17,12 +17,12 @@ // This code was auto-generated by: // github.com/Azure/azure-sdk-for-go/tools/profileBuilder -package edgegateway +package databoxedge import ( "context" - original "github.com/Azure/azure-sdk-for-go/services/edgegateway/mgmt/2019-03-01/edgegateway" + original "github.com/Azure/azure-sdk-for-go/services/databoxedge/mgmt/2019-07-01/databoxedge" ) const ( @@ -67,17 +67,6 @@ const ( ReadWrite ClientPermissionType = original.ReadWrite ) -type DataBoxEdgeDeviceStatus = original.DataBoxEdgeDeviceStatus - -const ( - Disconnected DataBoxEdgeDeviceStatus = original.Disconnected - NeedsAttention DataBoxEdgeDeviceStatus = original.NeedsAttention - Offline DataBoxEdgeDeviceStatus = original.Offline - Online DataBoxEdgeDeviceStatus = original.Online - PartiallyDisconnected DataBoxEdgeDeviceStatus = original.PartiallyDisconnected - ReadyToSetup DataBoxEdgeDeviceStatus = original.ReadyToSetup -) - type DataPolicy = original.DataPolicy const ( @@ -97,10 +86,22 @@ const ( Wednesday DayOfWeek = original.Wednesday ) +type DeviceStatus = original.DeviceStatus + +const ( + Disconnected DeviceStatus = original.Disconnected + Maintenance DeviceStatus = original.Maintenance + NeedsAttention DeviceStatus = original.NeedsAttention + Offline DeviceStatus = original.Offline + Online DeviceStatus = original.Online + PartiallyDisconnected DeviceStatus = original.PartiallyDisconnected + ReadyToSetup DeviceStatus = original.ReadyToSetup +) + type DeviceType = original.DeviceType const ( - DeviceTypeDataBoxEdgeDevice DeviceType = original.DeviceTypeDataBoxEdgeDevice + DataBoxEdgeDevice DeviceType = original.DataBoxEdgeDevice ) type DownloadPhase = original.DownloadPhase @@ -233,6 +234,16 @@ const ( NetworkGroupRDMA NetworkGroup = original.NetworkGroupRDMA ) +type NodeStatus = original.NodeStatus + +const ( + NodeStatusDown NodeStatus = original.NodeStatusDown + NodeStatusRebooting NodeStatus = original.NodeStatusRebooting + NodeStatusShuttingDown NodeStatus = original.NodeStatusShuttingDown + NodeStatusUnknown NodeStatus = original.NodeStatusUnknown + NodeStatusUp NodeStatus = original.NodeStatusUp +) + type OrderState = original.OrderState const ( @@ -300,8 +311,11 @@ const ( type ShareStatus = original.ShareStatus const ( - ShareStatusOffline ShareStatus = original.ShareStatusOffline - ShareStatusOnline ShareStatus = original.ShareStatusOnline + ShareStatusNeedsAttention ShareStatus = original.ShareStatusNeedsAttention + ShareStatusOffline ShareStatus = original.ShareStatusOffline + ShareStatusOK ShareStatus = original.ShareStatusOK + ShareStatusUnknown ShareStatus = original.ShareStatusUnknown + ShareStatusUpdating ShareStatus = original.ShareStatusUpdating ) type SkuName = original.SkuName @@ -388,14 +402,14 @@ type ClientAccessRight = original.ClientAccessRight type CloudError = original.CloudError type CloudErrorBody = original.CloudErrorBody type ContactDetails = original.ContactDetails -type DataBoxEdgeDevice = original.DataBoxEdgeDevice -type DataBoxEdgeDeviceExtendedInfo = original.DataBoxEdgeDeviceExtendedInfo -type DataBoxEdgeDeviceExtendedInfoProperties = original.DataBoxEdgeDeviceExtendedInfoProperties -type DataBoxEdgeDeviceList = original.DataBoxEdgeDeviceList -type DataBoxEdgeDeviceListIterator = original.DataBoxEdgeDeviceListIterator -type DataBoxEdgeDeviceListPage = original.DataBoxEdgeDeviceListPage -type DataBoxEdgeDevicePatch = original.DataBoxEdgeDevicePatch -type DataBoxEdgeDeviceProperties = original.DataBoxEdgeDeviceProperties +type Device = original.Device +type DeviceExtendedInfo = original.DeviceExtendedInfo +type DeviceExtendedInfoProperties = original.DeviceExtendedInfoProperties +type DeviceList = original.DeviceList +type DeviceListIterator = original.DeviceListIterator +type DeviceListPage = original.DeviceListPage +type DevicePatch = original.DevicePatch +type DeviceProperties = original.DeviceProperties type DevicesClient = original.DevicesClient type DevicesCreateOrUpdateFuture = original.DevicesCreateOrUpdateFuture type DevicesCreateOrUpdateSecuritySettingsFuture = original.DevicesCreateOrUpdateSecuritySettingsFuture @@ -423,6 +437,10 @@ type NetworkAdapter = original.NetworkAdapter type NetworkAdapterPosition = original.NetworkAdapterPosition type NetworkSettings = original.NetworkSettings type NetworkSettingsProperties = original.NetworkSettingsProperties +type Node = original.Node +type NodeList = original.NodeList +type NodeProperties = original.NodeProperties +type NodesClient = original.NodesClient type Operation = original.Operation type OperationDisplay = original.OperationDisplay type OperationProperties = original.OperationProperties @@ -529,11 +547,11 @@ func NewBandwidthSchedulesListIterator(page BandwidthSchedulesListPage) Bandwidt func NewBandwidthSchedulesListPage(getNextPage func(context.Context, BandwidthSchedulesList) (BandwidthSchedulesList, error)) BandwidthSchedulesListPage { return original.NewBandwidthSchedulesListPage(getNextPage) } -func NewDataBoxEdgeDeviceListIterator(page DataBoxEdgeDeviceListPage) DataBoxEdgeDeviceListIterator { - return original.NewDataBoxEdgeDeviceListIterator(page) +func NewDeviceListIterator(page DeviceListPage) DeviceListIterator { + return original.NewDeviceListIterator(page) } -func NewDataBoxEdgeDeviceListPage(getNextPage func(context.Context, DataBoxEdgeDeviceList) (DataBoxEdgeDeviceList, error)) DataBoxEdgeDeviceListPage { - return original.NewDataBoxEdgeDeviceListPage(getNextPage) +func NewDeviceListPage(getNextPage func(context.Context, DeviceList) (DeviceList, error)) DeviceListPage { + return original.NewDeviceListPage(getNextPage) } func NewDevicesClient(subscriptionID string) DevicesClient { return original.NewDevicesClient(subscriptionID) @@ -547,6 +565,12 @@ func NewJobsClient(subscriptionID string) JobsClient { func NewJobsClientWithBaseURI(baseURI string, subscriptionID string) JobsClient { return original.NewJobsClientWithBaseURI(baseURI, subscriptionID) } +func NewNodesClient(subscriptionID string) NodesClient { + return original.NewNodesClient(subscriptionID) +} +func NewNodesClientWithBaseURI(baseURI string, subscriptionID string) NodesClient { + return original.NewNodesClientWithBaseURI(baseURI, subscriptionID) +} func NewOperationsClient(subscriptionID string) OperationsClient { return original.NewOperationsClient(subscriptionID) } @@ -655,15 +679,15 @@ func PossibleAzureContainerDataFormatValues() []AzureContainerDataFormat { func PossibleClientPermissionTypeValues() []ClientPermissionType { return original.PossibleClientPermissionTypeValues() } -func PossibleDataBoxEdgeDeviceStatusValues() []DataBoxEdgeDeviceStatus { - return original.PossibleDataBoxEdgeDeviceStatusValues() -} func PossibleDataPolicyValues() []DataPolicy { return original.PossibleDataPolicyValues() } func PossibleDayOfWeekValues() []DayOfWeek { return original.PossibleDayOfWeekValues() } +func PossibleDeviceStatusValues() []DeviceStatus { + return original.PossibleDeviceStatusValues() +} func PossibleDeviceTypeValues() []DeviceType { return original.PossibleDeviceTypeValues() } @@ -712,6 +736,9 @@ func PossibleNetworkAdapterStatusValues() []NetworkAdapterStatus { func PossibleNetworkGroupValues() []NetworkGroup { return original.PossibleNetworkGroupValues() } +func PossibleNodeStatusValues() []NodeStatus { + return original.PossibleNodeStatusValues() +} func PossibleOrderStateValues() []OrderState { return original.PossibleOrderStateValues() } diff --git a/profiles/preview/datafactory/mgmt/datafactory/datafactoryapi/models.go b/profiles/preview/datafactory/mgmt/datafactory/datafactoryapi/models.go index 2a039a860394..28f064af3a1b 100644 --- a/profiles/preview/datafactory/mgmt/datafactory/datafactoryapi/models.go +++ b/profiles/preview/datafactory/mgmt/datafactory/datafactoryapi/models.go @@ -22,6 +22,8 @@ package datafactoryapi import original "github.com/Azure/azure-sdk-for-go/services/datafactory/mgmt/2018-06-01/datafactory/datafactoryapi" type ActivityRunsClientAPI = original.ActivityRunsClientAPI +type DataFlowDebugSessionClientAPI = original.DataFlowDebugSessionClientAPI +type DataFlowsClientAPI = original.DataFlowsClientAPI type DatasetsClientAPI = original.DatasetsClientAPI type ExposureControlClientAPI = original.ExposureControlClientAPI type FactoriesClientAPI = original.FactoriesClientAPI diff --git a/profiles/preview/datafactory/mgmt/datafactory/models.go b/profiles/preview/datafactory/mgmt/datafactory/models.go index f0209c507501..49ed031c0d23 100644 --- a/profiles/preview/datafactory/mgmt/datafactory/models.go +++ b/profiles/preview/datafactory/mgmt/datafactory/models.go @@ -97,6 +97,22 @@ const ( TWO CassandraSourceReadConsistencyLevels = original.TWO ) +type DataFlowComputeType = original.DataFlowComputeType + +const ( + ComputeOptimized DataFlowComputeType = original.ComputeOptimized + General DataFlowComputeType = original.General + MemoryOptimized DataFlowComputeType = original.MemoryOptimized +) + +type DataFlowDebugCommandType = original.DataFlowDebugCommandType + +const ( + ExecuteExpressionQuery DataFlowDebugCommandType = original.ExecuteExpressionQuery + ExecutePreviewQuery DataFlowDebugCommandType = original.ExecutePreviewQuery + ExecuteStatisticsQuery DataFlowDebugCommandType = original.ExecuteStatisticsQuery +) + type DayOfWeek = original.DayOfWeek const ( @@ -139,8 +155,9 @@ const ( type DynamicsAuthenticationType = original.DynamicsAuthenticationType const ( - Ifd DynamicsAuthenticationType = original.Ifd - Office365 DynamicsAuthenticationType = original.Office365 + AADServicePrincipal DynamicsAuthenticationType = original.AADServicePrincipal + Ifd DynamicsAuthenticationType = original.Ifd + Office365 DynamicsAuthenticationType = original.Office365 ) type DynamicsDeploymentType = original.DynamicsDeploymentType @@ -150,6 +167,16 @@ const ( OnPremisesWithIfd DynamicsDeploymentType = original.OnPremisesWithIfd ) +type EventSubscriptionStatus = original.EventSubscriptionStatus + +const ( + Deprovisioning EventSubscriptionStatus = original.Deprovisioning + Disabled EventSubscriptionStatus = original.Disabled + Enabled EventSubscriptionStatus = original.Enabled + Provisioning EventSubscriptionStatus = original.Provisioning + Unknown EventSubscriptionStatus = original.Unknown +) + type FtpAuthenticationType = original.FtpAuthenticationType const ( @@ -311,6 +338,13 @@ const ( IntegrationRuntimeUpdateResultSucceed IntegrationRuntimeUpdateResult = original.IntegrationRuntimeUpdateResultSucceed ) +type JSONWriteFilePattern = original.JSONWriteFilePattern + +const ( + ArrayOfObjects JSONWriteFilePattern = original.ArrayOfObjects + SetOfObjects JSONWriteFilePattern = original.SetOfObjects +) + type ManagedIntegrationRuntimeNodeStatus = original.ManagedIntegrationRuntimeNodeStatus const ( @@ -360,6 +394,14 @@ const ( OraclePartitionOptionPhysicalPartitionsOfTable OraclePartitionOption = original.OraclePartitionOptionPhysicalPartitionsOfTable ) +type OrcCompressionCodec = original.OrcCompressionCodec + +const ( + OrcCompressionCodecNone OrcCompressionCodec = original.OrcCompressionCodecNone + OrcCompressionCodecSnappy OrcCompressionCodec = original.OrcCompressionCodecSnappy + OrcCompressionCodecZlib OrcCompressionCodec = original.OrcCompressionCodecZlib +) + type ParameterType = original.ParameterType const ( @@ -613,9 +655,9 @@ const ( type TriggerRuntimeState = original.TriggerRuntimeState const ( - Disabled TriggerRuntimeState = original.Disabled - Started TriggerRuntimeState = original.Started - Stopped TriggerRuntimeState = original.Stopped + TriggerRuntimeStateDisabled TriggerRuntimeState = original.TriggerRuntimeStateDisabled + TriggerRuntimeStateStarted TriggerRuntimeState = original.TriggerRuntimeStateStarted + TriggerRuntimeStateStopped TriggerRuntimeState = original.TriggerRuntimeStateStopped ) type TumblingWindowFrequency = original.TumblingWindowFrequency @@ -641,6 +683,7 @@ const ( TypeAzureDataExplorerCommand TypeBasicActivity = original.TypeAzureDataExplorerCommand TypeAzureFunctionActivity TypeBasicActivity = original.TypeAzureFunctionActivity TypeAzureMLBatchExecution TypeBasicActivity = original.TypeAzureMLBatchExecution + TypeAzureMLExecutePipeline TypeBasicActivity = original.TypeAzureMLExecutePipeline TypeAzureMLUpdateResource TypeBasicActivity = original.TypeAzureMLUpdateResource TypeContainer TypeBasicActivity = original.TypeContainer TypeCopy TypeBasicActivity = original.TypeCopy @@ -650,6 +693,7 @@ const ( TypeDatabricksSparkPython TypeBasicActivity = original.TypeDatabricksSparkPython TypeDataLakeAnalyticsUSQL TypeBasicActivity = original.TypeDataLakeAnalyticsUSQL TypeDelete TypeBasicActivity = original.TypeDelete + TypeExecuteDataFlow TypeBasicActivity = original.TypeExecuteDataFlow TypeExecutePipeline TypeBasicActivity = original.TypeExecutePipeline TypeExecuteSSISPackage TypeBasicActivity = original.TypeExecuteSSISPackage TypeExecution TypeBasicActivity = original.TypeExecution @@ -665,6 +709,7 @@ const ( TypeLookup TypeBasicActivity = original.TypeLookup TypeSetVariable TypeBasicActivity = original.TypeSetVariable TypeSQLServerStoredProcedure TypeBasicActivity = original.TypeSQLServerStoredProcedure + TypeSwitch TypeBasicActivity = original.TypeSwitch TypeUntil TypeBasicActivity = original.TypeUntil TypeValidation TypeBasicActivity = original.TypeValidation TypeWait TypeBasicActivity = original.TypeWait @@ -679,6 +724,7 @@ const ( TypeAzureBlobFSSink TypeBasicCopySink = original.TypeAzureBlobFSSink TypeAzureDataExplorerSink TypeBasicCopySink = original.TypeAzureDataExplorerSink TypeAzureDataLakeStoreSink TypeBasicCopySink = original.TypeAzureDataLakeStoreSink + TypeAzureMySQLSink TypeBasicCopySink = original.TypeAzureMySQLSink TypeAzurePostgreSQLSink TypeBasicCopySink = original.TypeAzurePostgreSQLSink TypeAzureQueueSink TypeBasicCopySink = original.TypeAzureQueueSink TypeAzureSearchIndexSink TypeBasicCopySink = original.TypeAzureSearchIndexSink @@ -689,15 +735,18 @@ const ( TypeCommonDataServiceForAppsSink TypeBasicCopySink = original.TypeCommonDataServiceForAppsSink TypeCopySink TypeBasicCopySink = original.TypeCopySink TypeCosmosDbMongoDbAPISink TypeBasicCopySink = original.TypeCosmosDbMongoDbAPISink + TypeCosmosDbSQLAPISink TypeBasicCopySink = original.TypeCosmosDbSQLAPISink TypeDelimitedTextSink TypeBasicCopySink = original.TypeDelimitedTextSink TypeDocumentDbCollectionSink TypeBasicCopySink = original.TypeDocumentDbCollectionSink TypeDynamicsCrmSink TypeBasicCopySink = original.TypeDynamicsCrmSink TypeDynamicsSink TypeBasicCopySink = original.TypeDynamicsSink TypeFileSystemSink TypeBasicCopySink = original.TypeFileSystemSink TypeInformixSink TypeBasicCopySink = original.TypeInformixSink + TypeJSONSink TypeBasicCopySink = original.TypeJSONSink TypeMicrosoftAccessSink TypeBasicCopySink = original.TypeMicrosoftAccessSink TypeOdbcSink TypeBasicCopySink = original.TypeOdbcSink TypeOracleSink TypeBasicCopySink = original.TypeOracleSink + TypeOrcSink TypeBasicCopySink = original.TypeOrcSink TypeParquetSink TypeBasicCopySink = original.TypeParquetSink TypeSalesforceServiceCloudSink TypeBasicCopySink = original.TypeSalesforceServiceCloudSink TypeSalesforceSink TypeBasicCopySink = original.TypeSalesforceSink @@ -729,6 +778,7 @@ const ( TypeConcurSource TypeBasicCopySource = original.TypeConcurSource TypeCopySource TypeBasicCopySource = original.TypeCopySource TypeCosmosDbMongoDbAPISource TypeBasicCopySource = original.TypeCosmosDbMongoDbAPISource + TypeCosmosDbSQLAPISource TypeBasicCopySource = original.TypeCosmosDbSQLAPISource TypeCouchbaseSource TypeBasicCopySource = original.TypeCouchbaseSource TypeDb2Source TypeBasicCopySource = original.TypeDb2Source TypeDelimitedTextSource TypeBasicCopySource = original.TypeDelimitedTextSource @@ -750,6 +800,7 @@ const ( TypeImpalaSource TypeBasicCopySource = original.TypeImpalaSource TypeInformixSource TypeBasicCopySource = original.TypeInformixSource TypeJiraSource TypeBasicCopySource = original.TypeJiraSource + TypeJSONSource TypeBasicCopySource = original.TypeJSONSource TypeMagentoSource TypeBasicCopySource = original.TypeMagentoSource TypeMariaDBSource TypeBasicCopySource = original.TypeMariaDBSource TypeMarketoSource TypeBasicCopySource = original.TypeMarketoSource @@ -763,6 +814,7 @@ const ( TypeOffice365Source TypeBasicCopySource = original.TypeOffice365Source TypeOracleServiceCloudSource TypeBasicCopySource = original.TypeOracleServiceCloudSource TypeOracleSource TypeBasicCopySource = original.TypeOracleSource + TypeOrcSource TypeBasicCopySource = original.TypeOrcSource TypeParquetSource TypeBasicCopySource = original.TypeParquetSource TypePaypalSource TypeBasicCopySource = original.TypePaypalSource TypePhoenixSource TypeBasicCopySource = original.TypePhoenixSource @@ -790,6 +842,7 @@ const ( TypeSQLSource TypeBasicCopySource = original.TypeSQLSource TypeSquareSource TypeBasicCopySource = original.TypeSquareSource TypeSybaseSource TypeBasicCopySource = original.TypeSybaseSource + TypeTabularSource TypeBasicCopySource = original.TypeTabularSource TypeTeradataSource TypeBasicCopySource = original.TypeTeradataSource TypeVerticaSource TypeBasicCopySource = original.TypeVerticaSource TypeWebSource TypeBasicCopySource = original.TypeWebSource @@ -797,10 +850,27 @@ const ( TypeZohoSource TypeBasicCopySource = original.TypeZohoSource ) +type TypeBasicCustomSetupBase = original.TypeBasicCustomSetupBase + +const ( + TypeCmdkeySetup TypeBasicCustomSetupBase = original.TypeCmdkeySetup + TypeComponentSetup TypeBasicCustomSetupBase = original.TypeComponentSetup + TypeCustomSetupBase TypeBasicCustomSetupBase = original.TypeCustomSetupBase + TypeEnvironmentVariableSetup TypeBasicCustomSetupBase = original.TypeEnvironmentVariableSetup +) + +type TypeBasicDataFlow = original.TypeBasicDataFlow + +const ( + TypeDataFlow TypeBasicDataFlow = original.TypeDataFlow + TypeMappingDataFlow TypeBasicDataFlow = original.TypeMappingDataFlow +) + type TypeBasicDataset = original.TypeBasicDataset const ( TypeAmazonMWSObject TypeBasicDataset = original.TypeAmazonMWSObject + TypeAmazonRedshiftTable TypeBasicDataset = original.TypeAmazonRedshiftTable TypeAmazonS3Object TypeBasicDataset = original.TypeAmazonS3Object TypeAvro TypeBasicDataset = original.TypeAvro TypeAzureBlob TypeBasicDataset = original.TypeAzureBlob @@ -820,9 +890,11 @@ const ( TypeCommonDataServiceForAppsEntity TypeBasicDataset = original.TypeCommonDataServiceForAppsEntity TypeConcurObject TypeBasicDataset = original.TypeConcurObject TypeCosmosDbMongoDbAPICollection TypeBasicDataset = original.TypeCosmosDbMongoDbAPICollection + TypeCosmosDbSQLAPICollection TypeBasicDataset = original.TypeCosmosDbSQLAPICollection TypeCouchbaseTable TypeBasicDataset = original.TypeCouchbaseTable TypeCustomDataset TypeBasicDataset = original.TypeCustomDataset TypeDataset TypeBasicDataset = original.TypeDataset + TypeDb2Table TypeBasicDataset = original.TypeDb2Table TypeDelimitedText TypeBasicDataset = original.TypeDelimitedText TypeDocumentDbCollection TypeBasicDataset = original.TypeDocumentDbCollection TypeDrillTable TypeBasicDataset = original.TypeDrillTable @@ -841,6 +913,7 @@ const ( TypeImpalaObject TypeBasicDataset = original.TypeImpalaObject TypeInformixTable TypeBasicDataset = original.TypeInformixTable TypeJiraObject TypeBasicDataset = original.TypeJiraObject + TypeJSON TypeBasicDataset = original.TypeJSON TypeMagentoObject TypeBasicDataset = original.TypeMagentoObject TypeMariaDBTable TypeBasicDataset = original.TypeMariaDBTable TypeMarketoObject TypeBasicDataset = original.TypeMarketoObject @@ -854,6 +927,7 @@ const ( TypeOffice365Table TypeBasicDataset = original.TypeOffice365Table TypeOracleServiceCloudObject TypeBasicDataset = original.TypeOracleServiceCloudObject TypeOracleTable TypeBasicDataset = original.TypeOracleTable + TypeOrc TypeBasicDataset = original.TypeOrc TypeParquet TypeBasicDataset = original.TypeParquet TypePaypalObject TypeBasicDataset = original.TypePaypalObject TypePhoenixObject TypeBasicDataset = original.TypePhoenixObject @@ -952,10 +1026,12 @@ const ( TypeAzureDataExplorer TypeBasicLinkedService = original.TypeAzureDataExplorer TypeAzureDataLakeAnalytics TypeBasicLinkedService = original.TypeAzureDataLakeAnalytics TypeAzureDataLakeStore TypeBasicLinkedService = original.TypeAzureDataLakeStore + TypeAzureFileStorage TypeBasicLinkedService = original.TypeAzureFileStorage TypeAzureFunction TypeBasicLinkedService = original.TypeAzureFunction TypeAzureKeyVault TypeBasicLinkedService = original.TypeAzureKeyVault TypeAzureMariaDB TypeBasicLinkedService = original.TypeAzureMariaDB TypeAzureML TypeBasicLinkedService = original.TypeAzureML + TypeAzureMLService TypeBasicLinkedService = original.TypeAzureMLService TypeAzureMySQL TypeBasicLinkedService = original.TypeAzureMySQL TypeAzurePostgreSQL TypeBasicLinkedService = original.TypeAzurePostgreSQL TypeAzureSearch TypeBasicLinkedService = original.TypeAzureSearch @@ -981,6 +1057,7 @@ const ( TypeFtpServer TypeBasicLinkedService = original.TypeFtpServer TypeGoogleAdWords TypeBasicLinkedService = original.TypeGoogleAdWords TypeGoogleBigQuery TypeBasicLinkedService = original.TypeGoogleBigQuery + TypeGoogleCloudStorage TypeBasicLinkedService = original.TypeGoogleCloudStorage TypeGreenplum TypeBasicLinkedService = original.TypeGreenplum TypeHBase TypeBasicLinkedService = original.TypeHBase TypeHdfs TypeBasicLinkedService = original.TypeHdfs @@ -1046,11 +1123,22 @@ const ( TypeSsisObjectMetadata TypeBasicSsisObjectMetadata = original.TypeSsisObjectMetadata ) +type TypeBasicStoreWriteSettings = original.TypeBasicStoreWriteSettings + +const ( + TypeAzureBlobFSWriteSettings TypeBasicStoreWriteSettings = original.TypeAzureBlobFSWriteSettings + TypeAzureBlobStorageWriteSettings TypeBasicStoreWriteSettings = original.TypeAzureBlobStorageWriteSettings + TypeAzureDataLakeStoreWriteSettings TypeBasicStoreWriteSettings = original.TypeAzureDataLakeStoreWriteSettings + TypeFileServerWriteSettings TypeBasicStoreWriteSettings = original.TypeFileServerWriteSettings + TypeStoreWriteSettings TypeBasicStoreWriteSettings = original.TypeStoreWriteSettings +) + type TypeBasicTrigger = original.TypeBasicTrigger const ( TypeBlobEventsTrigger TypeBasicTrigger = original.TypeBlobEventsTrigger TypeBlobTrigger TypeBasicTrigger = original.TypeBlobTrigger + TypeChainingTrigger TypeBasicTrigger = original.TypeChainingTrigger TypeMultiplePipelineTrigger TypeBasicTrigger = original.TypeMultiplePipelineTrigger TypeRerunTumblingWindowTrigger TypeBasicTrigger = original.TypeRerunTumblingWindowTrigger TypeScheduleTrigger TypeBasicTrigger = original.TypeScheduleTrigger @@ -1088,6 +1176,7 @@ type ActivityPolicy = original.ActivityPolicy type ActivityRun = original.ActivityRun type ActivityRunsClient = original.ActivityRunsClient type ActivityRunsQueryResponse = original.ActivityRunsQueryResponse +type AddDataFlowToDebugSessionResponse = original.AddDataFlowToDebugSessionResponse type AmazonMWSLinkedService = original.AmazonMWSLinkedService type AmazonMWSLinkedServiceTypeProperties = original.AmazonMWSLinkedServiceTypeProperties type AmazonMWSObjectDataset = original.AmazonMWSObjectDataset @@ -1095,6 +1184,8 @@ type AmazonMWSSource = original.AmazonMWSSource type AmazonRedshiftLinkedService = original.AmazonRedshiftLinkedService type AmazonRedshiftLinkedServiceTypeProperties = original.AmazonRedshiftLinkedServiceTypeProperties type AmazonRedshiftSource = original.AmazonRedshiftSource +type AmazonRedshiftTableDataset = original.AmazonRedshiftTableDataset +type AmazonRedshiftTableDatasetTypeProperties = original.AmazonRedshiftTableDatasetTypeProperties type AmazonS3Dataset = original.AmazonS3Dataset type AmazonS3DatasetTypeProperties = original.AmazonS3DatasetTypeProperties type AmazonS3LinkedService = original.AmazonS3LinkedService @@ -1148,6 +1239,10 @@ type AzureDataLakeStoreSource = original.AzureDataLakeStoreSource type AzureDataLakeStoreWriteSettings = original.AzureDataLakeStoreWriteSettings type AzureDatabricksLinkedService = original.AzureDatabricksLinkedService type AzureDatabricksLinkedServiceTypeProperties = original.AzureDatabricksLinkedServiceTypeProperties +type AzureFileStorageLinkedService = original.AzureFileStorageLinkedService +type AzureFileStorageLinkedServiceTypeProperties = original.AzureFileStorageLinkedServiceTypeProperties +type AzureFileStorageLocation = original.AzureFileStorageLocation +type AzureFileStorageReadSettings = original.AzureFileStorageReadSettings type AzureFunctionActivity = original.AzureFunctionActivity type AzureFunctionActivityTypeProperties = original.AzureFunctionActivityTypeProperties type AzureFunctionLinkedService = original.AzureFunctionLinkedService @@ -1157,8 +1252,12 @@ type AzureKeyVaultLinkedServiceTypeProperties = original.AzureKeyVaultLinkedServ type AzureKeyVaultSecretReference = original.AzureKeyVaultSecretReference type AzureMLBatchExecutionActivity = original.AzureMLBatchExecutionActivity type AzureMLBatchExecutionActivityTypeProperties = original.AzureMLBatchExecutionActivityTypeProperties +type AzureMLExecutePipelineActivity = original.AzureMLExecutePipelineActivity +type AzureMLExecutePipelineActivityTypeProperties = original.AzureMLExecutePipelineActivityTypeProperties type AzureMLLinkedService = original.AzureMLLinkedService type AzureMLLinkedServiceTypeProperties = original.AzureMLLinkedServiceTypeProperties +type AzureMLServiceLinkedService = original.AzureMLServiceLinkedService +type AzureMLServiceLinkedServiceTypeProperties = original.AzureMLServiceLinkedServiceTypeProperties type AzureMLUpdateResourceActivity = original.AzureMLUpdateResourceActivity type AzureMLUpdateResourceActivityTypeProperties = original.AzureMLUpdateResourceActivityTypeProperties type AzureMLWebServiceFile = original.AzureMLWebServiceFile @@ -1168,6 +1267,7 @@ type AzureMariaDBSource = original.AzureMariaDBSource type AzureMariaDBTableDataset = original.AzureMariaDBTableDataset type AzureMySQLLinkedService = original.AzureMySQLLinkedService type AzureMySQLLinkedServiceTypeProperties = original.AzureMySQLLinkedServiceTypeProperties +type AzureMySQLSink = original.AzureMySQLSink type AzureMySQLSource = original.AzureMySQLSource type AzureMySQLTableDataset = original.AzureMySQLTableDataset type AzureMySQLTableDatasetTypeProperties = original.AzureMySQLTableDatasetTypeProperties @@ -1209,6 +1309,8 @@ type BasicActivity = original.BasicActivity type BasicControlActivity = original.BasicControlActivity type BasicCopySink = original.BasicCopySink type BasicCopySource = original.BasicCopySource +type BasicCustomSetupBase = original.BasicCustomSetupBase +type BasicDataFlow = original.BasicDataFlow type BasicDataset = original.BasicDataset type BasicDatasetCompression = original.BasicDatasetCompression type BasicDatasetStorageFormat = original.BasicDatasetStorageFormat @@ -1222,6 +1324,8 @@ type BasicLinkedService = original.BasicLinkedService type BasicMultiplePipelineTrigger = original.BasicMultiplePipelineTrigger type BasicSecretBase = original.BasicSecretBase type BasicSsisObjectMetadata = original.BasicSsisObjectMetadata +type BasicStoreWriteSettings = original.BasicStoreWriteSettings +type BasicTabularSource = original.BasicTabularSource type BasicTrigger = original.BasicTrigger type BasicTriggerDependencyReference = original.BasicTriggerDependencyReference type BasicWebLinkedServiceTypeProperties = original.BasicWebLinkedServiceTypeProperties @@ -1240,14 +1344,19 @@ type CassandraLinkedServiceTypeProperties = original.CassandraLinkedServiceTypeP type CassandraSource = original.CassandraSource type CassandraTableDataset = original.CassandraTableDataset type CassandraTableDatasetTypeProperties = original.CassandraTableDatasetTypeProperties +type ChainingTrigger = original.ChainingTrigger +type ChainingTriggerTypeProperties = original.ChainingTriggerTypeProperties type CloudError = original.CloudError type CloudErrorBody = original.CloudErrorBody +type CmdkeySetup = original.CmdkeySetup +type CmdkeySetupTypeProperties = original.CmdkeySetupTypeProperties type CommonDataServiceForAppsEntityDataset = original.CommonDataServiceForAppsEntityDataset type CommonDataServiceForAppsEntityDatasetTypeProperties = original.CommonDataServiceForAppsEntityDatasetTypeProperties type CommonDataServiceForAppsLinkedService = original.CommonDataServiceForAppsLinkedService type CommonDataServiceForAppsLinkedServiceTypeProperties = original.CommonDataServiceForAppsLinkedServiceTypeProperties type CommonDataServiceForAppsSink = original.CommonDataServiceForAppsSink type CommonDataServiceForAppsSource = original.CommonDataServiceForAppsSource +type ComponentSetup = original.ComponentSetup type ConcurLinkedService = original.ConcurLinkedService type ConcurLinkedServiceTypeProperties = original.ConcurLinkedServiceTypeProperties type ConcurObjectDataset = original.ConcurObjectDataset @@ -1265,10 +1374,16 @@ type CosmosDbMongoDbAPILinkedService = original.CosmosDbMongoDbAPILinkedService type CosmosDbMongoDbAPILinkedServiceTypeProperties = original.CosmosDbMongoDbAPILinkedServiceTypeProperties type CosmosDbMongoDbAPISink = original.CosmosDbMongoDbAPISink type CosmosDbMongoDbAPISource = original.CosmosDbMongoDbAPISource +type CosmosDbSQLAPICollectionDataset = original.CosmosDbSQLAPICollectionDataset +type CosmosDbSQLAPICollectionDatasetTypeProperties = original.CosmosDbSQLAPICollectionDatasetTypeProperties +type CosmosDbSQLAPISink = original.CosmosDbSQLAPISink +type CosmosDbSQLAPISource = original.CosmosDbSQLAPISource type CouchbaseLinkedService = original.CouchbaseLinkedService type CouchbaseLinkedServiceTypeProperties = original.CouchbaseLinkedServiceTypeProperties type CouchbaseSource = original.CouchbaseSource type CouchbaseTableDataset = original.CouchbaseTableDataset +type CreateDataFlowDebugSessionRequest = original.CreateDataFlowDebugSessionRequest +type CreateDataFlowDebugSessionResponse = original.CreateDataFlowDebugSessionResponse type CreateLinkedIntegrationRuntimeRequest = original.CreateLinkedIntegrationRuntimeRequest type CreateRunResponse = original.CreateRunResponse type CustomActivity = original.CustomActivity @@ -1276,6 +1391,29 @@ type CustomActivityReferenceObject = original.CustomActivityReferenceObject type CustomActivityTypeProperties = original.CustomActivityTypeProperties type CustomDataSourceLinkedService = original.CustomDataSourceLinkedService type CustomDataset = original.CustomDataset +type CustomSetupBase = original.CustomSetupBase +type DataFlow = original.DataFlow +type DataFlowDebugCommandPayload = original.DataFlowDebugCommandPayload +type DataFlowDebugCommandRequest = original.DataFlowDebugCommandRequest +type DataFlowDebugCommandResponse = original.DataFlowDebugCommandResponse +type DataFlowDebugPackage = original.DataFlowDebugPackage +type DataFlowDebugPackageDebugSettings = original.DataFlowDebugPackageDebugSettings +type DataFlowDebugResource = original.DataFlowDebugResource +type DataFlowDebugSessionClient = original.DataFlowDebugSessionClient +type DataFlowDebugSessionCreateFuture = original.DataFlowDebugSessionCreateFuture +type DataFlowDebugSessionExecuteCommandFuture = original.DataFlowDebugSessionExecuteCommandFuture +type DataFlowDebugSessionInfo = original.DataFlowDebugSessionInfo +type DataFlowFolder = original.DataFlowFolder +type DataFlowListResponse = original.DataFlowListResponse +type DataFlowListResponseIterator = original.DataFlowListResponseIterator +type DataFlowListResponsePage = original.DataFlowListResponsePage +type DataFlowReference = original.DataFlowReference +type DataFlowResource = original.DataFlowResource +type DataFlowSink = original.DataFlowSink +type DataFlowSource = original.DataFlowSource +type DataFlowSourceSetting = original.DataFlowSourceSetting +type DataFlowStagingInfo = original.DataFlowStagingInfo +type DataFlowsClient = original.DataFlowsClient type DataLakeAnalyticsUSQLActivity = original.DataLakeAnalyticsUSQLActivity type DataLakeAnalyticsUSQLActivityTypeProperties = original.DataLakeAnalyticsUSQLActivityTypeProperties type DatabricksNotebookActivity = original.DatabricksNotebookActivity @@ -1287,6 +1425,7 @@ type DatabricksSparkPythonActivityTypeProperties = original.DatabricksSparkPytho type Dataset = original.Dataset type DatasetBZip2Compression = original.DatasetBZip2Compression type DatasetCompression = original.DatasetCompression +type DatasetDebugResource = original.DatasetDebugResource type DatasetDeflateCompression = original.DatasetDeflateCompression type DatasetFolder = original.DatasetFolder type DatasetGZipCompression = original.DatasetGZipCompression @@ -1302,8 +1441,11 @@ type DatasetsClient = original.DatasetsClient type Db2LinkedService = original.Db2LinkedService type Db2LinkedServiceTypeProperties = original.Db2LinkedServiceTypeProperties type Db2Source = original.Db2Source +type Db2TableDataset = original.Db2TableDataset +type Db2TableDatasetTypeProperties = original.Db2TableDatasetTypeProperties type DeleteActivity = original.DeleteActivity type DeleteActivityTypeProperties = original.DeleteActivityTypeProperties +type DeleteDataFlowDebugSessionRequest = original.DeleteDataFlowDebugSessionRequest type DelimitedTextDataset = original.DelimitedTextDataset type DelimitedTextDatasetTypeProperties = original.DelimitedTextDatasetTypeProperties type DelimitedTextReadSettings = original.DelimitedTextReadSettings @@ -1343,6 +1485,10 @@ type EloquaLinkedServiceTypeProperties = original.EloquaLinkedServiceTypePropert type EloquaObjectDataset = original.EloquaObjectDataset type EloquaSource = original.EloquaSource type EntityReference = original.EntityReference +type EnvironmentVariableSetup = original.EnvironmentVariableSetup +type EnvironmentVariableSetupTypeProperties = original.EnvironmentVariableSetupTypeProperties +type ExecuteDataFlowActivity = original.ExecuteDataFlowActivity +type ExecuteDataFlowActivityTypeProperties = original.ExecuteDataFlowActivityTypeProperties type ExecutePipelineActivity = original.ExecutePipelineActivity type ExecutePipelineActivityTypeProperties = original.ExecutePipelineActivityTypeProperties type ExecuteSSISPackageActivity = original.ExecuteSSISPackageActivity @@ -1384,6 +1530,7 @@ type FtpServerLinkedService = original.FtpServerLinkedService type FtpServerLinkedServiceTypeProperties = original.FtpServerLinkedServiceTypeProperties type FtpServerLocation = original.FtpServerLocation type GenericDatasetTypeProperties = original.GenericDatasetTypeProperties +type GetDataFactoryOperationStatusResponse = original.GetDataFactoryOperationStatusResponse type GetMetadataActivity = original.GetMetadataActivity type GetMetadataActivityTypeProperties = original.GetMetadataActivityTypeProperties type GetSsisObjectMetadataRequest = original.GetSsisObjectMetadataRequest @@ -1398,6 +1545,10 @@ type GoogleBigQueryLinkedService = original.GoogleBigQueryLinkedService type GoogleBigQueryLinkedServiceTypeProperties = original.GoogleBigQueryLinkedServiceTypeProperties type GoogleBigQueryObjectDataset = original.GoogleBigQueryObjectDataset type GoogleBigQuerySource = original.GoogleBigQuerySource +type GoogleCloudStorageLinkedService = original.GoogleCloudStorageLinkedService +type GoogleCloudStorageLinkedServiceTypeProperties = original.GoogleCloudStorageLinkedServiceTypeProperties +type GoogleCloudStorageLocation = original.GoogleCloudStorageLocation +type GoogleCloudStorageReadSettings = original.GoogleCloudStorageReadSettings type GreenplumDatasetTypeProperties = original.GreenplumDatasetTypeProperties type GreenplumLinkedService = original.GreenplumLinkedService type GreenplumLinkedServiceTypeProperties = original.GreenplumLinkedServiceTypeProperties @@ -1460,7 +1611,9 @@ type IntegrationRuntimeAuthKeys = original.IntegrationRuntimeAuthKeys type IntegrationRuntimeComputeProperties = original.IntegrationRuntimeComputeProperties type IntegrationRuntimeConnectionInfo = original.IntegrationRuntimeConnectionInfo type IntegrationRuntimeCustomSetupScriptProperties = original.IntegrationRuntimeCustomSetupScriptProperties +type IntegrationRuntimeDataFlowProperties = original.IntegrationRuntimeDataFlowProperties type IntegrationRuntimeDataProxyProperties = original.IntegrationRuntimeDataProxyProperties +type IntegrationRuntimeDebugResource = original.IntegrationRuntimeDebugResource type IntegrationRuntimeListResponse = original.IntegrationRuntimeListResponse type IntegrationRuntimeListResponseIterator = original.IntegrationRuntimeListResponseIterator type IntegrationRuntimeListResponsePage = original.IntegrationRuntimeListResponsePage @@ -1482,17 +1635,24 @@ type IntegrationRuntimeVNetProperties = original.IntegrationRuntimeVNetPropertie type IntegrationRuntimesClient = original.IntegrationRuntimesClient type IntegrationRuntimesStartFuture = original.IntegrationRuntimesStartFuture type IntegrationRuntimesStopFuture = original.IntegrationRuntimesStopFuture +type JSONDataset = original.JSONDataset +type JSONDatasetTypeProperties = original.JSONDatasetTypeProperties type JSONFormat = original.JSONFormat +type JSONSink = original.JSONSink +type JSONSource = original.JSONSource +type JSONWriteSettings = original.JSONWriteSettings type JiraLinkedService = original.JiraLinkedService type JiraLinkedServiceTypeProperties = original.JiraLinkedServiceTypeProperties type JiraObjectDataset = original.JiraObjectDataset type JiraSource = original.JiraSource +type LicensedComponentSetupTypeProperties = original.LicensedComponentSetupTypeProperties type LinkedIntegrationRuntime = original.LinkedIntegrationRuntime type LinkedIntegrationRuntimeKeyAuthorization = original.LinkedIntegrationRuntimeKeyAuthorization type LinkedIntegrationRuntimeRbacAuthorization = original.LinkedIntegrationRuntimeRbacAuthorization type LinkedIntegrationRuntimeRequest = original.LinkedIntegrationRuntimeRequest type LinkedIntegrationRuntimeType = original.LinkedIntegrationRuntimeType type LinkedService = original.LinkedService +type LinkedServiceDebugResource = original.LinkedServiceDebugResource type LinkedServiceListResponse = original.LinkedServiceListResponse type LinkedServiceListResponseIterator = original.LinkedServiceListResponseIterator type LinkedServiceListResponsePage = original.LinkedServiceListResponsePage @@ -1513,6 +1673,8 @@ type ManagedIntegrationRuntimeOperationResult = original.ManagedIntegrationRunti type ManagedIntegrationRuntimeStatus = original.ManagedIntegrationRuntimeStatus type ManagedIntegrationRuntimeStatusTypeProperties = original.ManagedIntegrationRuntimeStatusTypeProperties type ManagedIntegrationRuntimeTypeProperties = original.ManagedIntegrationRuntimeTypeProperties +type MappingDataFlow = original.MappingDataFlow +type MappingDataFlowTypeProperties = original.MappingDataFlowTypeProperties type MariaDBLinkedService = original.MariaDBLinkedService type MariaDBLinkedServiceTypeProperties = original.MariaDBLinkedServiceTypeProperties type MariaDBSource = original.MariaDBSource @@ -1549,6 +1711,7 @@ type NetezzaLinkedServiceTypeProperties = original.NetezzaLinkedServiceTypePrope type NetezzaPartitionSettings = original.NetezzaPartitionSettings type NetezzaSource = original.NetezzaSource type NetezzaTableDataset = original.NetezzaTableDataset +type NetezzaTableDatasetTypeProperties = original.NetezzaTableDatasetTypeProperties type ODataLinkedService = original.ODataLinkedService type ODataLinkedServiceTypeProperties = original.ODataLinkedServiceTypeProperties type ODataResourceDataset = original.ODataResourceDataset @@ -1588,7 +1751,11 @@ type OracleSink = original.OracleSink type OracleSource = original.OracleSource type OracleTableDataset = original.OracleTableDataset type OracleTableDatasetTypeProperties = original.OracleTableDatasetTypeProperties +type OrcDataset = original.OrcDataset +type OrcDatasetTypeProperties = original.OrcDatasetTypeProperties type OrcFormat = original.OrcFormat +type OrcSink = original.OrcSink +type OrcSource = original.OrcSource type ParameterSpecification = original.ParameterSpecification type ParquetDataset = original.ParquetDataset type ParquetDatasetTypeProperties = original.ParquetDatasetTypeProperties @@ -1627,6 +1794,9 @@ type PrestoLinkedService = original.PrestoLinkedService type PrestoLinkedServiceTypeProperties = original.PrestoLinkedServiceTypeProperties type PrestoObjectDataset = original.PrestoObjectDataset type PrestoSource = original.PrestoSource +type QueryDataFlowDebugSessionsResponse = original.QueryDataFlowDebugSessionsResponse +type QueryDataFlowDebugSessionsResponseIterator = original.QueryDataFlowDebugSessionsResponseIterator +type QueryDataFlowDebugSessionsResponsePage = original.QueryDataFlowDebugSessionsResponsePage type QuickBooksLinkedService = original.QuickBooksLinkedService type QuickBooksLinkedServiceTypeProperties = original.QuickBooksLinkedServiceTypeProperties type QuickBooksObjectDataset = original.QuickBooksObjectDataset @@ -1782,11 +1952,16 @@ type StoreReadSettings = original.StoreReadSettings type StoreWriteSettings = original.StoreWriteSettings type StoredProcedureParameter = original.StoredProcedureParameter type SubResource = original.SubResource +type SubResourceDebugResource = original.SubResourceDebugResource +type SwitchActivity = original.SwitchActivity +type SwitchActivityTypeProperties = original.SwitchActivityTypeProperties +type SwitchCase = original.SwitchCase type SybaseLinkedService = original.SybaseLinkedService type SybaseLinkedServiceTypeProperties = original.SybaseLinkedServiceTypeProperties type SybaseSource = original.SybaseSource type SybaseTableDataset = original.SybaseTableDataset type SybaseTableDatasetTypeProperties = original.SybaseTableDatasetTypeProperties +type TabularSource = original.TabularSource type TeradataLinkedService = original.TeradataLinkedService type TeradataLinkedServiceTypeProperties = original.TeradataLinkedServiceTypeProperties type TeradataPartitionSettings = original.TeradataPartitionSettings @@ -1794,6 +1969,7 @@ type TeradataSource = original.TeradataSource type TeradataTableDataset = original.TeradataTableDataset type TeradataTableDatasetTypeProperties = original.TeradataTableDatasetTypeProperties type TextFormat = original.TextFormat +type Transformation = original.Transformation type Trigger = original.Trigger type TriggerDependencyReference = original.TriggerDependencyReference type TriggerListResponse = original.TriggerListResponse @@ -1805,9 +1981,12 @@ type TriggerResource = original.TriggerResource type TriggerRun = original.TriggerRun type TriggerRunsClient = original.TriggerRunsClient type TriggerRunsQueryResponse = original.TriggerRunsQueryResponse +type TriggerSubscriptionOperationStatus = original.TriggerSubscriptionOperationStatus type TriggersClient = original.TriggersClient type TriggersStartFuture = original.TriggersStartFuture type TriggersStopFuture = original.TriggersStopFuture +type TriggersSubscribeToEventsFuture = original.TriggersSubscribeToEventsFuture +type TriggersUnsubscribeFromEventsFuture = original.TriggersUnsubscribeFromEventsFuture type TumblingWindowTrigger = original.TumblingWindowTrigger type TumblingWindowTriggerDependencyReference = original.TumblingWindowTriggerDependencyReference type TumblingWindowTriggerTypeProperties = original.TumblingWindowTriggerTypeProperties @@ -1858,6 +2037,24 @@ func NewActivityRunsClient(subscriptionID string) ActivityRunsClient { func NewActivityRunsClientWithBaseURI(baseURI string, subscriptionID string) ActivityRunsClient { return original.NewActivityRunsClientWithBaseURI(baseURI, subscriptionID) } +func NewDataFlowDebugSessionClient(subscriptionID string) DataFlowDebugSessionClient { + return original.NewDataFlowDebugSessionClient(subscriptionID) +} +func NewDataFlowDebugSessionClientWithBaseURI(baseURI string, subscriptionID string) DataFlowDebugSessionClient { + return original.NewDataFlowDebugSessionClientWithBaseURI(baseURI, subscriptionID) +} +func NewDataFlowListResponseIterator(page DataFlowListResponsePage) DataFlowListResponseIterator { + return original.NewDataFlowListResponseIterator(page) +} +func NewDataFlowListResponsePage(getNextPage func(context.Context, DataFlowListResponse) (DataFlowListResponse, error)) DataFlowListResponsePage { + return original.NewDataFlowListResponsePage(getNextPage) +} +func NewDataFlowsClient(subscriptionID string) DataFlowsClient { + return original.NewDataFlowsClient(subscriptionID) +} +func NewDataFlowsClientWithBaseURI(baseURI string, subscriptionID string) DataFlowsClient { + return original.NewDataFlowsClientWithBaseURI(baseURI, subscriptionID) +} func NewDatasetListResponseIterator(page DatasetListResponsePage) DatasetListResponseIterator { return original.NewDatasetListResponseIterator(page) } @@ -1954,6 +2151,12 @@ func NewPipelinesClient(subscriptionID string) PipelinesClient { func NewPipelinesClientWithBaseURI(baseURI string, subscriptionID string) PipelinesClient { return original.NewPipelinesClientWithBaseURI(baseURI, subscriptionID) } +func NewQueryDataFlowDebugSessionsResponseIterator(page QueryDataFlowDebugSessionsResponsePage) QueryDataFlowDebugSessionsResponseIterator { + return original.NewQueryDataFlowDebugSessionsResponseIterator(page) +} +func NewQueryDataFlowDebugSessionsResponsePage(getNextPage func(context.Context, QueryDataFlowDebugSessionsResponse) (QueryDataFlowDebugSessionsResponse, error)) QueryDataFlowDebugSessionsResponsePage { + return original.NewQueryDataFlowDebugSessionsResponsePage(getNextPage) +} func NewRerunTriggerListResponseIterator(page RerunTriggerListResponsePage) RerunTriggerListResponseIterator { return original.NewRerunTriggerListResponseIterator(page) } @@ -2008,6 +2211,12 @@ func PossibleBlobEventTypesValues() []BlobEventTypes { func PossibleCassandraSourceReadConsistencyLevelsValues() []CassandraSourceReadConsistencyLevels { return original.PossibleCassandraSourceReadConsistencyLevelsValues() } +func PossibleDataFlowComputeTypeValues() []DataFlowComputeType { + return original.PossibleDataFlowComputeTypeValues() +} +func PossibleDataFlowDebugCommandTypeValues() []DataFlowDebugCommandType { + return original.PossibleDataFlowDebugCommandTypeValues() +} func PossibleDayOfWeekValues() []DayOfWeek { return original.PossibleDayOfWeekValues() } @@ -2026,6 +2235,9 @@ func PossibleDynamicsAuthenticationTypeValues() []DynamicsAuthenticationType { func PossibleDynamicsDeploymentTypeValues() []DynamicsDeploymentType { return original.PossibleDynamicsDeploymentTypeValues() } +func PossibleEventSubscriptionStatusValues() []EventSubscriptionStatus { + return original.PossibleEventSubscriptionStatusValues() +} func PossibleFtpAuthenticationTypeValues() []FtpAuthenticationType { return original.PossibleFtpAuthenticationTypeValues() } @@ -2086,6 +2298,9 @@ func PossibleIntegrationRuntimeTypeValues() []IntegrationRuntimeType { func PossibleIntegrationRuntimeUpdateResultValues() []IntegrationRuntimeUpdateResult { return original.PossibleIntegrationRuntimeUpdateResultValues() } +func PossibleJSONWriteFilePatternValues() []JSONWriteFilePattern { + return original.PossibleJSONWriteFilePatternValues() +} func PossibleManagedIntegrationRuntimeNodeStatusValues() []ManagedIntegrationRuntimeNodeStatus { return original.PossibleManagedIntegrationRuntimeNodeStatusValues() } @@ -2104,6 +2319,9 @@ func PossibleODataAuthenticationTypeValues() []ODataAuthenticationType { func PossibleOraclePartitionOptionValues() []OraclePartitionOption { return original.PossibleOraclePartitionOptionValues() } +func PossibleOrcCompressionCodecValues() []OrcCompressionCodec { + return original.PossibleOrcCompressionCodecValues() +} func PossibleParameterTypeValues() []ParameterType { return original.PossibleParameterTypeValues() } @@ -2203,6 +2421,12 @@ func PossibleTypeBasicCopySinkValues() []TypeBasicCopySink { func PossibleTypeBasicCopySourceValues() []TypeBasicCopySource { return original.PossibleTypeBasicCopySourceValues() } +func PossibleTypeBasicCustomSetupBaseValues() []TypeBasicCustomSetupBase { + return original.PossibleTypeBasicCustomSetupBaseValues() +} +func PossibleTypeBasicDataFlowValues() []TypeBasicDataFlow { + return original.PossibleTypeBasicDataFlowValues() +} func PossibleTypeBasicDatasetCompressionValues() []TypeBasicDatasetCompression { return original.PossibleTypeBasicDatasetCompressionValues() } @@ -2230,6 +2454,9 @@ func PossibleTypeBasicLinkedServiceValues() []TypeBasicLinkedService { func PossibleTypeBasicSsisObjectMetadataValues() []TypeBasicSsisObjectMetadata { return original.PossibleTypeBasicSsisObjectMetadataValues() } +func PossibleTypeBasicStoreWriteSettingsValues() []TypeBasicStoreWriteSettings { + return original.PossibleTypeBasicStoreWriteSettingsValues() +} func PossibleTypeBasicTriggerValues() []TypeBasicTrigger { return original.PossibleTypeBasicTriggerValues() } diff --git a/profiles/preview/eventgrid/eventgrid/models.go b/profiles/preview/eventgrid/eventgrid/models.go index bbf6b0545a9a..74269b8b100a 100644 --- a/profiles/preview/eventgrid/eventgrid/models.go +++ b/profiles/preview/eventgrid/eventgrid/models.go @@ -102,6 +102,15 @@ type IotHubDeviceCreatedEventData = original.IotHubDeviceCreatedEventData type IotHubDeviceDeletedEventData = original.IotHubDeviceDeletedEventData type IotHubDeviceDisconnectedEventData = original.IotHubDeviceDisconnectedEventData type IotHubDeviceTelemetryEventData = original.IotHubDeviceTelemetryEventData +type KeyVaultCertificateExpiredEventData = original.KeyVaultCertificateExpiredEventData +type KeyVaultCertificateNearExpiryEventData = original.KeyVaultCertificateNearExpiryEventData +type KeyVaultCertificateNewVersionCreatedEventData = original.KeyVaultCertificateNewVersionCreatedEventData +type KeyVaultKeyExpiredEventData = original.KeyVaultKeyExpiredEventData +type KeyVaultKeyNearExpiryEventData = original.KeyVaultKeyNearExpiryEventData +type KeyVaultKeyNewVersionCreatedEventData = original.KeyVaultKeyNewVersionCreatedEventData +type KeyVaultSecretExpiredEventData = original.KeyVaultSecretExpiredEventData +type KeyVaultSecretNearExpiryEventData = original.KeyVaultSecretNearExpiryEventData +type KeyVaultSecretNewVersionCreatedEventData = original.KeyVaultSecretNewVersionCreatedEventData type MapsGeofenceEnteredEventData = original.MapsGeofenceEnteredEventData type MapsGeofenceEventProperties = original.MapsGeofenceEventProperties type MapsGeofenceExitedEventData = original.MapsGeofenceExitedEventData diff --git a/profiles/preview/eventhub/mgmt/eventhub/models.go b/profiles/preview/eventhub/mgmt/eventhub/models.go index ea5dbb5867e7..47ba92e0dbf1 100644 --- a/profiles/preview/eventhub/mgmt/eventhub/models.go +++ b/profiles/preview/eventhub/mgmt/eventhub/models.go @@ -167,6 +167,9 @@ type NamespacesClient = original.NamespacesClient type NamespacesCreateOrUpdateFuture = original.NamespacesCreateOrUpdateFuture type NamespacesDeleteFuture = original.NamespacesDeleteFuture type NetworkRuleSet = original.NetworkRuleSet +type NetworkRuleSetListResult = original.NetworkRuleSetListResult +type NetworkRuleSetListResultIterator = original.NetworkRuleSetListResultIterator +type NetworkRuleSetListResultPage = original.NetworkRuleSetListResultPage type NetworkRuleSetProperties = original.NetworkRuleSetProperties type Operation = original.Operation type OperationDisplay = original.OperationDisplay @@ -245,6 +248,12 @@ func NewNamespacesClient(subscriptionID string) NamespacesClient { func NewNamespacesClientWithBaseURI(baseURI string, subscriptionID string) NamespacesClient { return original.NewNamespacesClientWithBaseURI(baseURI, subscriptionID) } +func NewNetworkRuleSetListResultIterator(page NetworkRuleSetListResultPage) NetworkRuleSetListResultIterator { + return original.NewNetworkRuleSetListResultIterator(page) +} +func NewNetworkRuleSetListResultPage(getNextPage func(context.Context, NetworkRuleSetListResult) (NetworkRuleSetListResult, error)) NetworkRuleSetListResultPage { + return original.NewNetworkRuleSetListResultPage(getNextPage) +} func NewOperationListResultIterator(page OperationListResultPage) OperationListResultIterator { return original.NewOperationListResultIterator(page) } diff --git a/profiles/preview/frontdoor/mgmt/frontdoor/frontdoorapi/models.go b/profiles/preview/frontdoor/mgmt/frontdoor/frontdoorapi/models.go new file mode 100644 index 000000000000..08954a3ee34d --- /dev/null +++ b/profiles/preview/frontdoor/mgmt/frontdoor/frontdoorapi/models.go @@ -0,0 +1,29 @@ +// +build go1.9 + +// Copyright 2019 Microsoft Corporation +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// This code was auto-generated by: +// github.com/Azure/azure-sdk-for-go/tools/profileBuilder + +package frontdoorapi + +import original "github.com/Azure/azure-sdk-for-go/services/frontdoor/mgmt/2019-05-01/frontdoor/frontdoorapi" + +type BaseClientAPI = original.BaseClientAPI +type EndpointsClientAPI = original.EndpointsClientAPI +type FrontDoorsClientAPI = original.FrontDoorsClientAPI +type FrontendEndpointsClientAPI = original.FrontendEndpointsClientAPI +type ManagedRuleSetsClientAPI = original.ManagedRuleSetsClientAPI +type PoliciesClientAPI = original.PoliciesClientAPI diff --git a/profiles/preview/frontdoor/mgmt/frontdoor/models.go b/profiles/preview/frontdoor/mgmt/frontdoor/models.go new file mode 100644 index 000000000000..b2c48ed85c7f --- /dev/null +++ b/profiles/preview/frontdoor/mgmt/frontdoor/models.go @@ -0,0 +1,561 @@ +// +build go1.9 + +// Copyright 2019 Microsoft Corporation +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// This code was auto-generated by: +// github.com/Azure/azure-sdk-for-go/tools/profileBuilder + +package frontdoor + +import ( + "context" + + original "github.com/Azure/azure-sdk-for-go/services/frontdoor/mgmt/2019-05-01/frontdoor" +) + +const ( + DefaultBaseURI = original.DefaultBaseURI +) + +type ActionType = original.ActionType + +const ( + Allow ActionType = original.Allow + Block ActionType = original.Block + Log ActionType = original.Log + Redirect ActionType = original.Redirect +) + +type Availability = original.Availability + +const ( + Available Availability = original.Available + Unavailable Availability = original.Unavailable +) + +type BackendEnabledState = original.BackendEnabledState + +const ( + Disabled BackendEnabledState = original.Disabled + Enabled BackendEnabledState = original.Enabled +) + +type CertificateSource = original.CertificateSource + +const ( + CertificateSourceAzureKeyVault CertificateSource = original.CertificateSourceAzureKeyVault + CertificateSourceFrontDoor CertificateSource = original.CertificateSourceFrontDoor +) + +type CertificateType = original.CertificateType + +const ( + Dedicated CertificateType = original.Dedicated +) + +type CustomHTTPSProvisioningState = original.CustomHTTPSProvisioningState + +const ( + CustomHTTPSProvisioningStateDisabled CustomHTTPSProvisioningState = original.CustomHTTPSProvisioningStateDisabled + CustomHTTPSProvisioningStateDisabling CustomHTTPSProvisioningState = original.CustomHTTPSProvisioningStateDisabling + CustomHTTPSProvisioningStateEnabled CustomHTTPSProvisioningState = original.CustomHTTPSProvisioningStateEnabled + CustomHTTPSProvisioningStateEnabling CustomHTTPSProvisioningState = original.CustomHTTPSProvisioningStateEnabling + CustomHTTPSProvisioningStateFailed CustomHTTPSProvisioningState = original.CustomHTTPSProvisioningStateFailed +) + +type CustomHTTPSProvisioningSubstate = original.CustomHTTPSProvisioningSubstate + +const ( + CertificateDeleted CustomHTTPSProvisioningSubstate = original.CertificateDeleted + CertificateDeployed CustomHTTPSProvisioningSubstate = original.CertificateDeployed + DeletingCertificate CustomHTTPSProvisioningSubstate = original.DeletingCertificate + DeployingCertificate CustomHTTPSProvisioningSubstate = original.DeployingCertificate + DomainControlValidationRequestApproved CustomHTTPSProvisioningSubstate = original.DomainControlValidationRequestApproved + DomainControlValidationRequestRejected CustomHTTPSProvisioningSubstate = original.DomainControlValidationRequestRejected + DomainControlValidationRequestTimedOut CustomHTTPSProvisioningSubstate = original.DomainControlValidationRequestTimedOut + IssuingCertificate CustomHTTPSProvisioningSubstate = original.IssuingCertificate + PendingDomainControlValidationREquestApproval CustomHTTPSProvisioningSubstate = original.PendingDomainControlValidationREquestApproval + SubmittingDomainControlValidationRequest CustomHTTPSProvisioningSubstate = original.SubmittingDomainControlValidationRequest +) + +type CustomRuleEnabledState = original.CustomRuleEnabledState + +const ( + CustomRuleEnabledStateDisabled CustomRuleEnabledState = original.CustomRuleEnabledStateDisabled + CustomRuleEnabledStateEnabled CustomRuleEnabledState = original.CustomRuleEnabledStateEnabled +) + +type DynamicCompressionEnabled = original.DynamicCompressionEnabled + +const ( + DynamicCompressionEnabledDisabled DynamicCompressionEnabled = original.DynamicCompressionEnabledDisabled + DynamicCompressionEnabledEnabled DynamicCompressionEnabled = original.DynamicCompressionEnabledEnabled +) + +type EnabledState = original.EnabledState + +const ( + EnabledStateDisabled EnabledState = original.EnabledStateDisabled + EnabledStateEnabled EnabledState = original.EnabledStateEnabled +) + +type EnforceCertificateNameCheckEnabledState = original.EnforceCertificateNameCheckEnabledState + +const ( + EnforceCertificateNameCheckEnabledStateDisabled EnforceCertificateNameCheckEnabledState = original.EnforceCertificateNameCheckEnabledStateDisabled + EnforceCertificateNameCheckEnabledStateEnabled EnforceCertificateNameCheckEnabledState = original.EnforceCertificateNameCheckEnabledStateEnabled +) + +type ForwardingProtocol = original.ForwardingProtocol + +const ( + HTTPOnly ForwardingProtocol = original.HTTPOnly + HTTPSOnly ForwardingProtocol = original.HTTPSOnly + MatchRequest ForwardingProtocol = original.MatchRequest +) + +type HealthProbeEnabled = original.HealthProbeEnabled + +const ( + HealthProbeEnabledDisabled HealthProbeEnabled = original.HealthProbeEnabledDisabled + HealthProbeEnabledEnabled HealthProbeEnabled = original.HealthProbeEnabledEnabled +) + +type HealthProbeMethod = original.HealthProbeMethod + +const ( + GET HealthProbeMethod = original.GET + HEAD HealthProbeMethod = original.HEAD +) + +type ManagedRuleEnabledState = original.ManagedRuleEnabledState + +const ( + ManagedRuleEnabledStateDisabled ManagedRuleEnabledState = original.ManagedRuleEnabledStateDisabled + ManagedRuleEnabledStateEnabled ManagedRuleEnabledState = original.ManagedRuleEnabledStateEnabled +) + +type MatchVariable = original.MatchVariable + +const ( + Cookies MatchVariable = original.Cookies + PostArgs MatchVariable = original.PostArgs + QueryString MatchVariable = original.QueryString + RemoteAddr MatchVariable = original.RemoteAddr + RequestBody MatchVariable = original.RequestBody + RequestHeader MatchVariable = original.RequestHeader + RequestMethod MatchVariable = original.RequestMethod + RequestURI MatchVariable = original.RequestURI + SocketAddr MatchVariable = original.SocketAddr +) + +type MinimumTLSVersion = original.MinimumTLSVersion + +const ( + OneFullStopTwo MinimumTLSVersion = original.OneFullStopTwo + OneFullStopZero MinimumTLSVersion = original.OneFullStopZero +) + +type NetworkOperationStatus = original.NetworkOperationStatus + +const ( + Failed NetworkOperationStatus = original.Failed + InProgress NetworkOperationStatus = original.InProgress + Succeeded NetworkOperationStatus = original.Succeeded +) + +type OdataType = original.OdataType + +const ( + OdataTypeMicrosoftAzureFrontDoorModelsFrontdoorForwardingConfiguration OdataType = original.OdataTypeMicrosoftAzureFrontDoorModelsFrontdoorForwardingConfiguration + OdataTypeMicrosoftAzureFrontDoorModelsFrontdoorRedirectConfiguration OdataType = original.OdataTypeMicrosoftAzureFrontDoorModelsFrontdoorRedirectConfiguration + OdataTypeRouteConfiguration OdataType = original.OdataTypeRouteConfiguration +) + +type Operator = original.Operator + +const ( + Any Operator = original.Any + BeginsWith Operator = original.BeginsWith + Contains Operator = original.Contains + EndsWith Operator = original.EndsWith + Equal Operator = original.Equal + GeoMatch Operator = original.GeoMatch + GreaterThan Operator = original.GreaterThan + GreaterThanOrEqual Operator = original.GreaterThanOrEqual + IPMatch Operator = original.IPMatch + LessThan Operator = original.LessThan + LessThanOrEqual Operator = original.LessThanOrEqual + RegEx Operator = original.RegEx +) + +type PolicyEnabledState = original.PolicyEnabledState + +const ( + PolicyEnabledStateDisabled PolicyEnabledState = original.PolicyEnabledStateDisabled + PolicyEnabledStateEnabled PolicyEnabledState = original.PolicyEnabledStateEnabled +) + +type PolicyMode = original.PolicyMode + +const ( + Detection PolicyMode = original.Detection + Prevention PolicyMode = original.Prevention +) + +type PolicyResourceState = original.PolicyResourceState + +const ( + PolicyResourceStateCreating PolicyResourceState = original.PolicyResourceStateCreating + PolicyResourceStateDeleting PolicyResourceState = original.PolicyResourceStateDeleting + PolicyResourceStateDisabled PolicyResourceState = original.PolicyResourceStateDisabled + PolicyResourceStateDisabling PolicyResourceState = original.PolicyResourceStateDisabling + PolicyResourceStateEnabled PolicyResourceState = original.PolicyResourceStateEnabled + PolicyResourceStateEnabling PolicyResourceState = original.PolicyResourceStateEnabling +) + +type Protocol = original.Protocol + +const ( + HTTP Protocol = original.HTTP + HTTPS Protocol = original.HTTPS +) + +type Query = original.Query + +const ( + StripAll Query = original.StripAll + StripNone Query = original.StripNone +) + +type RedirectProtocol = original.RedirectProtocol + +const ( + RedirectProtocolHTTPOnly RedirectProtocol = original.RedirectProtocolHTTPOnly + RedirectProtocolHTTPSOnly RedirectProtocol = original.RedirectProtocolHTTPSOnly + RedirectProtocolMatchRequest RedirectProtocol = original.RedirectProtocolMatchRequest +) + +type RedirectType = original.RedirectType + +const ( + Found RedirectType = original.Found + Moved RedirectType = original.Moved + PermanentRedirect RedirectType = original.PermanentRedirect + TemporaryRedirect RedirectType = original.TemporaryRedirect +) + +type ResourceState = original.ResourceState + +const ( + ResourceStateCreating ResourceState = original.ResourceStateCreating + ResourceStateDeleting ResourceState = original.ResourceStateDeleting + ResourceStateDisabled ResourceState = original.ResourceStateDisabled + ResourceStateDisabling ResourceState = original.ResourceStateDisabling + ResourceStateEnabled ResourceState = original.ResourceStateEnabled + ResourceStateEnabling ResourceState = original.ResourceStateEnabling +) + +type ResourceType = original.ResourceType + +const ( + MicrosoftNetworkfrontDoors ResourceType = original.MicrosoftNetworkfrontDoors + MicrosoftNetworkfrontDoorsfrontendEndpoints ResourceType = original.MicrosoftNetworkfrontDoorsfrontendEndpoints +) + +type RoutingRuleEnabledState = original.RoutingRuleEnabledState + +const ( + RoutingRuleEnabledStateDisabled RoutingRuleEnabledState = original.RoutingRuleEnabledStateDisabled + RoutingRuleEnabledStateEnabled RoutingRuleEnabledState = original.RoutingRuleEnabledStateEnabled +) + +type RuleType = original.RuleType + +const ( + MatchRule RuleType = original.MatchRule + RateLimitRule RuleType = original.RateLimitRule +) + +type SessionAffinityEnabledState = original.SessionAffinityEnabledState + +const ( + SessionAffinityEnabledStateDisabled SessionAffinityEnabledState = original.SessionAffinityEnabledStateDisabled + SessionAffinityEnabledStateEnabled SessionAffinityEnabledState = original.SessionAffinityEnabledStateEnabled +) + +type TransformType = original.TransformType + +const ( + Lowercase TransformType = original.Lowercase + RemoveNulls TransformType = original.RemoveNulls + Trim TransformType = original.Trim + Uppercase TransformType = original.Uppercase + URLDecode TransformType = original.URLDecode + URLEncode TransformType = original.URLEncode +) + +type AzureAsyncOperationResult = original.AzureAsyncOperationResult +type Backend = original.Backend +type BackendPool = original.BackendPool +type BackendPoolListResult = original.BackendPoolListResult +type BackendPoolProperties = original.BackendPoolProperties +type BackendPoolUpdateParameters = original.BackendPoolUpdateParameters +type BackendPoolsSettings = original.BackendPoolsSettings +type BaseClient = original.BaseClient +type BasicRouteConfiguration = original.BasicRouteConfiguration +type CacheConfiguration = original.CacheConfiguration +type CertificateSourceParameters = original.CertificateSourceParameters +type CheckNameAvailabilityInput = original.CheckNameAvailabilityInput +type CheckNameAvailabilityOutput = original.CheckNameAvailabilityOutput +type CustomHTTPSConfiguration = original.CustomHTTPSConfiguration +type CustomRule = original.CustomRule +type CustomRuleList = original.CustomRuleList +type EndpointsClient = original.EndpointsClient +type EndpointsPurgeContentFuture = original.EndpointsPurgeContentFuture +type Error = original.Error +type ErrorDetails = original.ErrorDetails +type ErrorResponse = original.ErrorResponse +type ForwardingConfiguration = original.ForwardingConfiguration +type FrontDoor = original.FrontDoor +type FrontDoorsClient = original.FrontDoorsClient +type FrontDoorsCreateOrUpdateFutureType = original.FrontDoorsCreateOrUpdateFutureType +type FrontDoorsDeleteFutureType = original.FrontDoorsDeleteFutureType +type FrontendEndpoint = original.FrontendEndpoint +type FrontendEndpointLink = original.FrontendEndpointLink +type FrontendEndpointProperties = original.FrontendEndpointProperties +type FrontendEndpointUpdateParameters = original.FrontendEndpointUpdateParameters +type FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink = original.FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink +type FrontendEndpointsClient = original.FrontendEndpointsClient +type FrontendEndpointsDisableHTTPSFuture = original.FrontendEndpointsDisableHTTPSFuture +type FrontendEndpointsEnableHTTPSFuture = original.FrontendEndpointsEnableHTTPSFuture +type FrontendEndpointsListResult = original.FrontendEndpointsListResult +type FrontendEndpointsListResultIterator = original.FrontendEndpointsListResultIterator +type FrontendEndpointsListResultPage = original.FrontendEndpointsListResultPage +type HealthProbeSettingsListResult = original.HealthProbeSettingsListResult +type HealthProbeSettingsModel = original.HealthProbeSettingsModel +type HealthProbeSettingsProperties = original.HealthProbeSettingsProperties +type HealthProbeSettingsUpdateParameters = original.HealthProbeSettingsUpdateParameters +type KeyVaultCertificateSourceParameters = original.KeyVaultCertificateSourceParameters +type KeyVaultCertificateSourceParametersVault = original.KeyVaultCertificateSourceParametersVault +type ListResult = original.ListResult +type ListResultIterator = original.ListResultIterator +type ListResultPage = original.ListResultPage +type LoadBalancingSettingsListResult = original.LoadBalancingSettingsListResult +type LoadBalancingSettingsModel = original.LoadBalancingSettingsModel +type LoadBalancingSettingsProperties = original.LoadBalancingSettingsProperties +type LoadBalancingSettingsUpdateParameters = original.LoadBalancingSettingsUpdateParameters +type ManagedRuleDefinition = original.ManagedRuleDefinition +type ManagedRuleGroupDefinition = original.ManagedRuleGroupDefinition +type ManagedRuleGroupOverride = original.ManagedRuleGroupOverride +type ManagedRuleOverride = original.ManagedRuleOverride +type ManagedRuleSet = original.ManagedRuleSet +type ManagedRuleSetDefinition = original.ManagedRuleSetDefinition +type ManagedRuleSetDefinitionList = original.ManagedRuleSetDefinitionList +type ManagedRuleSetDefinitionListIterator = original.ManagedRuleSetDefinitionListIterator +type ManagedRuleSetDefinitionListPage = original.ManagedRuleSetDefinitionListPage +type ManagedRuleSetDefinitionProperties = original.ManagedRuleSetDefinitionProperties +type ManagedRuleSetList = original.ManagedRuleSetList +type ManagedRuleSetsClient = original.ManagedRuleSetsClient +type MatchCondition = original.MatchCondition +type PoliciesClient = original.PoliciesClient +type PoliciesCreateOrUpdateFuture = original.PoliciesCreateOrUpdateFuture +type PoliciesDeleteFuture = original.PoliciesDeleteFuture +type PolicySettings = original.PolicySettings +type Properties = original.Properties +type PurgeParameters = original.PurgeParameters +type RedirectConfiguration = original.RedirectConfiguration +type Resource = original.Resource +type RouteConfiguration = original.RouteConfiguration +type RoutingRule = original.RoutingRule +type RoutingRuleListResult = original.RoutingRuleListResult +type RoutingRuleProperties = original.RoutingRuleProperties +type RoutingRuleUpdateParameters = original.RoutingRuleUpdateParameters +type SubResource = original.SubResource +type TagsObject = original.TagsObject +type UpdateParameters = original.UpdateParameters +type ValidateCustomDomainInput = original.ValidateCustomDomainInput +type ValidateCustomDomainOutput = original.ValidateCustomDomainOutput +type WebApplicationFirewallPolicy = original.WebApplicationFirewallPolicy +type WebApplicationFirewallPolicyList = original.WebApplicationFirewallPolicyList +type WebApplicationFirewallPolicyListIterator = original.WebApplicationFirewallPolicyListIterator +type WebApplicationFirewallPolicyListPage = original.WebApplicationFirewallPolicyListPage +type WebApplicationFirewallPolicyProperties = original.WebApplicationFirewallPolicyProperties + +func New(subscriptionID string) BaseClient { + return original.New(subscriptionID) +} +func NewEndpointsClient(subscriptionID string) EndpointsClient { + return original.NewEndpointsClient(subscriptionID) +} +func NewEndpointsClientWithBaseURI(baseURI string, subscriptionID string) EndpointsClient { + return original.NewEndpointsClientWithBaseURI(baseURI, subscriptionID) +} +func NewFrontDoorsClient(subscriptionID string) FrontDoorsClient { + return original.NewFrontDoorsClient(subscriptionID) +} +func NewFrontDoorsClientWithBaseURI(baseURI string, subscriptionID string) FrontDoorsClient { + return original.NewFrontDoorsClientWithBaseURI(baseURI, subscriptionID) +} +func NewFrontendEndpointsClient(subscriptionID string) FrontendEndpointsClient { + return original.NewFrontendEndpointsClient(subscriptionID) +} +func NewFrontendEndpointsClientWithBaseURI(baseURI string, subscriptionID string) FrontendEndpointsClient { + return original.NewFrontendEndpointsClientWithBaseURI(baseURI, subscriptionID) +} +func NewFrontendEndpointsListResultIterator(page FrontendEndpointsListResultPage) FrontendEndpointsListResultIterator { + return original.NewFrontendEndpointsListResultIterator(page) +} +func NewFrontendEndpointsListResultPage(getNextPage func(context.Context, FrontendEndpointsListResult) (FrontendEndpointsListResult, error)) FrontendEndpointsListResultPage { + return original.NewFrontendEndpointsListResultPage(getNextPage) +} +func NewListResultIterator(page ListResultPage) ListResultIterator { + return original.NewListResultIterator(page) +} +func NewListResultPage(getNextPage func(context.Context, ListResult) (ListResult, error)) ListResultPage { + return original.NewListResultPage(getNextPage) +} +func NewManagedRuleSetDefinitionListIterator(page ManagedRuleSetDefinitionListPage) ManagedRuleSetDefinitionListIterator { + return original.NewManagedRuleSetDefinitionListIterator(page) +} +func NewManagedRuleSetDefinitionListPage(getNextPage func(context.Context, ManagedRuleSetDefinitionList) (ManagedRuleSetDefinitionList, error)) ManagedRuleSetDefinitionListPage { + return original.NewManagedRuleSetDefinitionListPage(getNextPage) +} +func NewManagedRuleSetsClient(subscriptionID string) ManagedRuleSetsClient { + return original.NewManagedRuleSetsClient(subscriptionID) +} +func NewManagedRuleSetsClientWithBaseURI(baseURI string, subscriptionID string) ManagedRuleSetsClient { + return original.NewManagedRuleSetsClientWithBaseURI(baseURI, subscriptionID) +} +func NewPoliciesClient(subscriptionID string) PoliciesClient { + return original.NewPoliciesClient(subscriptionID) +} +func NewPoliciesClientWithBaseURI(baseURI string, subscriptionID string) PoliciesClient { + return original.NewPoliciesClientWithBaseURI(baseURI, subscriptionID) +} +func NewWebApplicationFirewallPolicyListIterator(page WebApplicationFirewallPolicyListPage) WebApplicationFirewallPolicyListIterator { + return original.NewWebApplicationFirewallPolicyListIterator(page) +} +func NewWebApplicationFirewallPolicyListPage(getNextPage func(context.Context, WebApplicationFirewallPolicyList) (WebApplicationFirewallPolicyList, error)) WebApplicationFirewallPolicyListPage { + return original.NewWebApplicationFirewallPolicyListPage(getNextPage) +} +func NewWithBaseURI(baseURI string, subscriptionID string) BaseClient { + return original.NewWithBaseURI(baseURI, subscriptionID) +} +func PossibleActionTypeValues() []ActionType { + return original.PossibleActionTypeValues() +} +func PossibleAvailabilityValues() []Availability { + return original.PossibleAvailabilityValues() +} +func PossibleBackendEnabledStateValues() []BackendEnabledState { + return original.PossibleBackendEnabledStateValues() +} +func PossibleCertificateSourceValues() []CertificateSource { + return original.PossibleCertificateSourceValues() +} +func PossibleCertificateTypeValues() []CertificateType { + return original.PossibleCertificateTypeValues() +} +func PossibleCustomHTTPSProvisioningStateValues() []CustomHTTPSProvisioningState { + return original.PossibleCustomHTTPSProvisioningStateValues() +} +func PossibleCustomHTTPSProvisioningSubstateValues() []CustomHTTPSProvisioningSubstate { + return original.PossibleCustomHTTPSProvisioningSubstateValues() +} +func PossibleCustomRuleEnabledStateValues() []CustomRuleEnabledState { + return original.PossibleCustomRuleEnabledStateValues() +} +func PossibleDynamicCompressionEnabledValues() []DynamicCompressionEnabled { + return original.PossibleDynamicCompressionEnabledValues() +} +func PossibleEnabledStateValues() []EnabledState { + return original.PossibleEnabledStateValues() +} +func PossibleEnforceCertificateNameCheckEnabledStateValues() []EnforceCertificateNameCheckEnabledState { + return original.PossibleEnforceCertificateNameCheckEnabledStateValues() +} +func PossibleForwardingProtocolValues() []ForwardingProtocol { + return original.PossibleForwardingProtocolValues() +} +func PossibleHealthProbeEnabledValues() []HealthProbeEnabled { + return original.PossibleHealthProbeEnabledValues() +} +func PossibleHealthProbeMethodValues() []HealthProbeMethod { + return original.PossibleHealthProbeMethodValues() +} +func PossibleManagedRuleEnabledStateValues() []ManagedRuleEnabledState { + return original.PossibleManagedRuleEnabledStateValues() +} +func PossibleMatchVariableValues() []MatchVariable { + return original.PossibleMatchVariableValues() +} +func PossibleMinimumTLSVersionValues() []MinimumTLSVersion { + return original.PossibleMinimumTLSVersionValues() +} +func PossibleNetworkOperationStatusValues() []NetworkOperationStatus { + return original.PossibleNetworkOperationStatusValues() +} +func PossibleOdataTypeValues() []OdataType { + return original.PossibleOdataTypeValues() +} +func PossibleOperatorValues() []Operator { + return original.PossibleOperatorValues() +} +func PossiblePolicyEnabledStateValues() []PolicyEnabledState { + return original.PossiblePolicyEnabledStateValues() +} +func PossiblePolicyModeValues() []PolicyMode { + return original.PossiblePolicyModeValues() +} +func PossiblePolicyResourceStateValues() []PolicyResourceState { + return original.PossiblePolicyResourceStateValues() +} +func PossibleProtocolValues() []Protocol { + return original.PossibleProtocolValues() +} +func PossibleQueryValues() []Query { + return original.PossibleQueryValues() +} +func PossibleRedirectProtocolValues() []RedirectProtocol { + return original.PossibleRedirectProtocolValues() +} +func PossibleRedirectTypeValues() []RedirectType { + return original.PossibleRedirectTypeValues() +} +func PossibleResourceStateValues() []ResourceState { + return original.PossibleResourceStateValues() +} +func PossibleResourceTypeValues() []ResourceType { + return original.PossibleResourceTypeValues() +} +func PossibleRoutingRuleEnabledStateValues() []RoutingRuleEnabledState { + return original.PossibleRoutingRuleEnabledStateValues() +} +func PossibleRuleTypeValues() []RuleType { + return original.PossibleRuleTypeValues() +} +func PossibleSessionAffinityEnabledStateValues() []SessionAffinityEnabledState { + return original.PossibleSessionAffinityEnabledStateValues() +} +func PossibleTransformTypeValues() []TransformType { + return original.PossibleTransformTypeValues() +} +func UserAgent() string { + return original.UserAgent() + " profiles/preview" +} +func Version() string { + return original.Version() +} diff --git a/profiles/preview/generate.go b/profiles/preview/generate.go index 47003edbd7a2..d8d46e5bae01 100644 --- a/profiles/preview/generate.go +++ b/profiles/preview/generate.go @@ -14,4 +14,4 @@ package preview -//go:generate go run ../../tools/profileBuilder/main.go latest --clear-output --name preview --root ../../services --output-location ./ --preview --verbose +//go:generate go run ../../tools/profileBuilder/main.go latest --clear-output --name preview --root ../../services --output-location ./ --preview diff --git a/profiles/latest/cognitiveservices/anomalyfinder/anomalyfinderapi/models.go b/profiles/preview/healthcareapis/mgmt/healthcareapis/healthcareapisapi/models.go similarity index 68% rename from profiles/latest/cognitiveservices/anomalyfinder/anomalyfinderapi/models.go rename to profiles/preview/healthcareapis/mgmt/healthcareapis/healthcareapisapi/models.go index 497b8771a7f0..ebd9615bd1ab 100644 --- a/profiles/latest/cognitiveservices/anomalyfinder/anomalyfinderapi/models.go +++ b/profiles/preview/healthcareapis/mgmt/healthcareapis/healthcareapisapi/models.go @@ -17,8 +17,10 @@ // This code was auto-generated by: // github.com/Azure/azure-sdk-for-go/tools/profileBuilder -package anomalyfinderapi +package healthcareapisapi -import original "github.com/Azure/azure-sdk-for-go/services/cognitiveservices/v2.0/anomalyfinder/anomalyfinderapi" +import original "github.com/Azure/azure-sdk-for-go/services/healthcareapis/mgmt/2019-09-16/healthcareapis/healthcareapisapi" -type BaseClientAPI = original.BaseClientAPI +type OperationResultsClientAPI = original.OperationResultsClientAPI +type OperationsClientAPI = original.OperationsClientAPI +type ServicesClientAPI = original.ServicesClientAPI diff --git a/profiles/preview/healthcareapis/mgmt/healthcareapis/models.go b/profiles/preview/healthcareapis/mgmt/healthcareapis/models.go new file mode 100644 index 000000000000..13f5929787eb --- /dev/null +++ b/profiles/preview/healthcareapis/mgmt/healthcareapis/models.go @@ -0,0 +1,154 @@ +// +build go1.9 + +// Copyright 2019 Microsoft Corporation +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// This code was auto-generated by: +// github.com/Azure/azure-sdk-for-go/tools/profileBuilder + +package healthcareapis + +import ( + "context" + + original "github.com/Azure/azure-sdk-for-go/services/healthcareapis/mgmt/2019-09-16/healthcareapis" +) + +const ( + DefaultBaseURI = original.DefaultBaseURI +) + +type Kind = original.Kind + +const ( + Fhir Kind = original.Fhir + FhirR4 Kind = original.FhirR4 + FhirStu3 Kind = original.FhirStu3 +) + +type OperationResultStatus = original.OperationResultStatus + +const ( + Canceled OperationResultStatus = original.Canceled + Failed OperationResultStatus = original.Failed + Requested OperationResultStatus = original.Requested + Running OperationResultStatus = original.Running + Succeeded OperationResultStatus = original.Succeeded +) + +type ProvisioningState = original.ProvisioningState + +const ( + ProvisioningStateAccepted ProvisioningState = original.ProvisioningStateAccepted + ProvisioningStateCanceled ProvisioningState = original.ProvisioningStateCanceled + ProvisioningStateCreating ProvisioningState = original.ProvisioningStateCreating + ProvisioningStateDeleting ProvisioningState = original.ProvisioningStateDeleting + ProvisioningStateDeprovisioned ProvisioningState = original.ProvisioningStateDeprovisioned + ProvisioningStateFailed ProvisioningState = original.ProvisioningStateFailed + ProvisioningStateSucceeded ProvisioningState = original.ProvisioningStateSucceeded + ProvisioningStateUpdating ProvisioningState = original.ProvisioningStateUpdating + ProvisioningStateVerifying ProvisioningState = original.ProvisioningStateVerifying +) + +type ServiceNameUnavailabilityReason = original.ServiceNameUnavailabilityReason + +const ( + AlreadyExists ServiceNameUnavailabilityReason = original.AlreadyExists + Invalid ServiceNameUnavailabilityReason = original.Invalid +) + +type BaseClient = original.BaseClient +type CheckNameAvailabilityParameters = original.CheckNameAvailabilityParameters +type ErrorDetails = original.ErrorDetails +type ErrorDetailsInternal = original.ErrorDetailsInternal +type Operation = original.Operation +type OperationDisplay = original.OperationDisplay +type OperationListResult = original.OperationListResult +type OperationListResultIterator = original.OperationListResultIterator +type OperationListResultPage = original.OperationListResultPage +type OperationResultsClient = original.OperationResultsClient +type OperationResultsDescription = original.OperationResultsDescription +type OperationsClient = original.OperationsClient +type Resource = original.Resource +type ServiceAccessPolicyEntry = original.ServiceAccessPolicyEntry +type ServiceAuthenticationConfigurationInfo = original.ServiceAuthenticationConfigurationInfo +type ServiceCorsConfigurationInfo = original.ServiceCorsConfigurationInfo +type ServiceCosmosDbConfigurationInfo = original.ServiceCosmosDbConfigurationInfo +type ServicesClient = original.ServicesClient +type ServicesCreateOrUpdateFuture = original.ServicesCreateOrUpdateFuture +type ServicesDeleteFuture = original.ServicesDeleteFuture +type ServicesDescription = original.ServicesDescription +type ServicesDescriptionListResult = original.ServicesDescriptionListResult +type ServicesDescriptionListResultIterator = original.ServicesDescriptionListResultIterator +type ServicesDescriptionListResultPage = original.ServicesDescriptionListResultPage +type ServicesNameAvailabilityInfo = original.ServicesNameAvailabilityInfo +type ServicesPatchDescription = original.ServicesPatchDescription +type ServicesProperties = original.ServicesProperties +type ServicesUpdateFuture = original.ServicesUpdateFuture +type SetObject = original.SetObject + +func New(subscriptionID string) BaseClient { + return original.New(subscriptionID) +} +func NewOperationListResultIterator(page OperationListResultPage) OperationListResultIterator { + return original.NewOperationListResultIterator(page) +} +func NewOperationListResultPage(getNextPage func(context.Context, OperationListResult) (OperationListResult, error)) OperationListResultPage { + return original.NewOperationListResultPage(getNextPage) +} +func NewOperationResultsClient(subscriptionID string) OperationResultsClient { + return original.NewOperationResultsClient(subscriptionID) +} +func NewOperationResultsClientWithBaseURI(baseURI string, subscriptionID string) OperationResultsClient { + return original.NewOperationResultsClientWithBaseURI(baseURI, subscriptionID) +} +func NewOperationsClient(subscriptionID string) OperationsClient { + return original.NewOperationsClient(subscriptionID) +} +func NewOperationsClientWithBaseURI(baseURI string, subscriptionID string) OperationsClient { + return original.NewOperationsClientWithBaseURI(baseURI, subscriptionID) +} +func NewServicesClient(subscriptionID string) ServicesClient { + return original.NewServicesClient(subscriptionID) +} +func NewServicesClientWithBaseURI(baseURI string, subscriptionID string) ServicesClient { + return original.NewServicesClientWithBaseURI(baseURI, subscriptionID) +} +func NewServicesDescriptionListResultIterator(page ServicesDescriptionListResultPage) ServicesDescriptionListResultIterator { + return original.NewServicesDescriptionListResultIterator(page) +} +func NewServicesDescriptionListResultPage(getNextPage func(context.Context, ServicesDescriptionListResult) (ServicesDescriptionListResult, error)) ServicesDescriptionListResultPage { + return original.NewServicesDescriptionListResultPage(getNextPage) +} +func NewWithBaseURI(baseURI string, subscriptionID string) BaseClient { + return original.NewWithBaseURI(baseURI, subscriptionID) +} +func PossibleKindValues() []Kind { + return original.PossibleKindValues() +} +func PossibleOperationResultStatusValues() []OperationResultStatus { + return original.PossibleOperationResultStatusValues() +} +func PossibleProvisioningStateValues() []ProvisioningState { + return original.PossibleProvisioningStateValues() +} +func PossibleServiceNameUnavailabilityReasonValues() []ServiceNameUnavailabilityReason { + return original.PossibleServiceNameUnavailabilityReasonValues() +} +func UserAgent() string { + return original.UserAgent() + " profiles/preview" +} +func Version() string { + return original.Version() +} diff --git a/profiles/preview/kusto/mgmt/kusto/kustoapi/models.go b/profiles/preview/kusto/mgmt/kusto/kustoapi/models.go index 07c81eaf8dab..25b871538b2d 100644 --- a/profiles/preview/kusto/mgmt/kusto/kustoapi/models.go +++ b/profiles/preview/kusto/mgmt/kusto/kustoapi/models.go @@ -19,8 +19,9 @@ package kustoapi -import original "github.com/Azure/azure-sdk-for-go/services/kusto/mgmt/2019-05-15/kusto/kustoapi" +import original "github.com/Azure/azure-sdk-for-go/services/kusto/mgmt/2019-09-07/kusto/kustoapi" +type AttachedDatabaseConfigurationsClientAPI = original.AttachedDatabaseConfigurationsClientAPI type ClustersClientAPI = original.ClustersClientAPI type DataConnectionsClientAPI = original.DataConnectionsClientAPI type DatabasesClientAPI = original.DatabasesClientAPI diff --git a/profiles/preview/kusto/mgmt/kusto/models.go b/profiles/preview/kusto/mgmt/kusto/models.go index 85187acf6ee2..0683433aa011 100644 --- a/profiles/preview/kusto/mgmt/kusto/models.go +++ b/profiles/preview/kusto/mgmt/kusto/models.go @@ -22,7 +22,7 @@ package kusto import ( "context" - original "github.com/Azure/azure-sdk-for-go/services/kusto/mgmt/2019-05-15/kusto" + original "github.com/Azure/azure-sdk-for-go/services/kusto/mgmt/2019-09-07/kusto" ) const ( @@ -74,6 +74,7 @@ const ( SINGLEJSON DataFormat = original.SINGLEJSON SOHSV DataFormat = original.SOHSV TSV DataFormat = original.TSV + TSVE DataFormat = original.TSVE TXT DataFormat = original.TXT ) @@ -96,13 +97,44 @@ const ( DatabasePrincipalTypeUser DatabasePrincipalType = original.DatabasePrincipalTypeUser ) +type DefaultPrincipalsModificationKind = original.DefaultPrincipalsModificationKind + +const ( + DefaultPrincipalsModificationKindNone DefaultPrincipalsModificationKind = original.DefaultPrincipalsModificationKindNone + DefaultPrincipalsModificationKindReplace DefaultPrincipalsModificationKind = original.DefaultPrincipalsModificationKindReplace + DefaultPrincipalsModificationKindUnion DefaultPrincipalsModificationKind = original.DefaultPrincipalsModificationKindUnion +) + +type IdentityType = original.IdentityType + +const ( + IdentityTypeNone IdentityType = original.IdentityTypeNone + IdentityTypeSystemAssigned IdentityType = original.IdentityTypeSystemAssigned +) + type Kind = original.Kind const ( - KindDataConnection Kind = original.KindDataConnection - KindEventGrid Kind = original.KindEventGrid - KindEventHub Kind = original.KindEventHub - KindIotHub Kind = original.KindIotHub + KindDatabase Kind = original.KindDatabase + KindReadOnlyFollowing Kind = original.KindReadOnlyFollowing + KindReadWrite Kind = original.KindReadWrite +) + +type KindBasicDataConnection = original.KindBasicDataConnection + +const ( + KindDataConnection KindBasicDataConnection = original.KindDataConnection + KindEventGrid KindBasicDataConnection = original.KindEventGrid + KindEventHub KindBasicDataConnection = original.KindEventHub + KindIotHub KindBasicDataConnection = original.KindIotHub +) + +type PrincipalsModificationKind = original.PrincipalsModificationKind + +const ( + PrincipalsModificationKindNone PrincipalsModificationKind = original.PrincipalsModificationKindNone + PrincipalsModificationKindReplace PrincipalsModificationKind = original.PrincipalsModificationKindReplace + PrincipalsModificationKindUnion PrincipalsModificationKind = original.PrincipalsModificationKindUnion ) type ProvisioningState = original.ProvisioningState @@ -137,12 +169,27 @@ const ( StateUpdating State = original.StateUpdating ) +type Type = original.Type + +const ( + MicrosoftKustoclustersattachedDatabaseConfigurations Type = original.MicrosoftKustoclustersattachedDatabaseConfigurations + MicrosoftKustoclustersdatabases Type = original.MicrosoftKustoclustersdatabases +) + +type AttachedDatabaseConfiguration = original.AttachedDatabaseConfiguration +type AttachedDatabaseConfigurationListResult = original.AttachedDatabaseConfigurationListResult +type AttachedDatabaseConfigurationProperties = original.AttachedDatabaseConfigurationProperties +type AttachedDatabaseConfigurationsClient = original.AttachedDatabaseConfigurationsClient +type AttachedDatabaseConfigurationsCreateOrUpdateFuture = original.AttachedDatabaseConfigurationsCreateOrUpdateFuture +type AttachedDatabaseConfigurationsDeleteFuture = original.AttachedDatabaseConfigurationsDeleteFuture type AzureCapacity = original.AzureCapacity type AzureEntityResource = original.AzureEntityResource type AzureResourceSku = original.AzureResourceSku type AzureSku = original.AzureSku type BaseClient = original.BaseClient type BasicDataConnection = original.BasicDataConnection +type BasicDatabase = original.BasicDatabase +type CheckNameRequest = original.CheckNameRequest type CheckNameResult = original.CheckNameResult type CloudError = original.CloudError type CloudErrorBody = original.CloudErrorBody @@ -154,6 +201,7 @@ type ClusterUpdate = original.ClusterUpdate type ClustersClient = original.ClustersClient type ClustersCreateOrUpdateFuture = original.ClustersCreateOrUpdateFuture type ClustersDeleteFuture = original.ClustersDeleteFuture +type ClustersDetachFollowerDatabasesFuture = original.ClustersDetachFollowerDatabasesFuture type ClustersStartFuture = original.ClustersStartFuture type ClustersStopFuture = original.ClustersStopFuture type ClustersUpdateFuture = original.ClustersUpdateFuture @@ -169,14 +217,12 @@ type DataConnectionsCreateOrUpdateFuture = original.DataConnectionsCreateOrUpdat type DataConnectionsDeleteFuture = original.DataConnectionsDeleteFuture type DataConnectionsUpdateFuture = original.DataConnectionsUpdateFuture type Database = original.Database -type DatabaseCheckNameRequest = original.DatabaseCheckNameRequest type DatabaseListResult = original.DatabaseListResult +type DatabaseModel = original.DatabaseModel type DatabasePrincipal = original.DatabasePrincipal type DatabasePrincipalListRequest = original.DatabasePrincipalListRequest type DatabasePrincipalListResult = original.DatabasePrincipalListResult -type DatabaseProperties = original.DatabaseProperties type DatabaseStatistics = original.DatabaseStatistics -type DatabaseUpdate = original.DatabaseUpdate type DatabasesClient = original.DatabasesClient type DatabasesCreateOrUpdateFuture = original.DatabasesCreateOrUpdateFuture type DatabasesDeleteFuture = original.DatabasesDeleteFuture @@ -185,8 +231,13 @@ type EventGridConnectionProperties = original.EventGridConnectionProperties type EventGridDataConnection = original.EventGridDataConnection type EventHubConnectionProperties = original.EventHubConnectionProperties type EventHubDataConnection = original.EventHubDataConnection +type FollowerDatabaseDefinition = original.FollowerDatabaseDefinition +type FollowerDatabaseListResult = original.FollowerDatabaseListResult +type Identity = original.Identity +type IdentityUserAssignedIdentitiesValue = original.IdentityUserAssignedIdentitiesValue type IotHubConnectionProperties = original.IotHubConnectionProperties type IotHubDataConnection = original.IotHubDataConnection +type KeyVaultProperties = original.KeyVaultProperties type ListResourceSkusResult = original.ListResourceSkusResult type Operation = original.Operation type OperationDisplay = original.OperationDisplay @@ -196,6 +247,10 @@ type OperationListResultPage = original.OperationListResultPage type OperationsClient = original.OperationsClient type OptimizedAutoscale = original.OptimizedAutoscale type ProxyResource = original.ProxyResource +type ReadOnlyFollowingDatabase = original.ReadOnlyFollowingDatabase +type ReadOnlyFollowingDatabaseProperties = original.ReadOnlyFollowingDatabaseProperties +type ReadWriteDatabase = original.ReadWriteDatabase +type ReadWriteDatabaseProperties = original.ReadWriteDatabaseProperties type Resource = original.Resource type SkuDescription = original.SkuDescription type SkuDescriptionList = original.SkuDescriptionList @@ -207,6 +262,12 @@ type VirtualNetworkConfiguration = original.VirtualNetworkConfiguration func New(subscriptionID string) BaseClient { return original.New(subscriptionID) } +func NewAttachedDatabaseConfigurationsClient(subscriptionID string) AttachedDatabaseConfigurationsClient { + return original.NewAttachedDatabaseConfigurationsClient(subscriptionID) +} +func NewAttachedDatabaseConfigurationsClientWithBaseURI(baseURI string, subscriptionID string) AttachedDatabaseConfigurationsClient { + return original.NewAttachedDatabaseConfigurationsClientWithBaseURI(baseURI, subscriptionID) +} func NewClustersClient(subscriptionID string) ClustersClient { return original.NewClustersClient(subscriptionID) } @@ -258,9 +319,21 @@ func PossibleDatabasePrincipalRoleValues() []DatabasePrincipalRole { func PossibleDatabasePrincipalTypeValues() []DatabasePrincipalType { return original.PossibleDatabasePrincipalTypeValues() } +func PossibleDefaultPrincipalsModificationKindValues() []DefaultPrincipalsModificationKind { + return original.PossibleDefaultPrincipalsModificationKindValues() +} +func PossibleIdentityTypeValues() []IdentityType { + return original.PossibleIdentityTypeValues() +} +func PossibleKindBasicDataConnectionValues() []KindBasicDataConnection { + return original.PossibleKindBasicDataConnectionValues() +} func PossibleKindValues() []Kind { return original.PossibleKindValues() } +func PossiblePrincipalsModificationKindValues() []PrincipalsModificationKind { + return original.PossiblePrincipalsModificationKindValues() +} func PossibleProvisioningStateValues() []ProvisioningState { return original.PossibleProvisioningStateValues() } @@ -270,6 +343,9 @@ func PossibleReasonValues() []Reason { func PossibleStateValues() []State { return original.PossibleStateValues() } +func PossibleTypeValues() []Type { + return original.PossibleTypeValues() +} func UserAgent() string { return original.UserAgent() + " profiles/preview" } diff --git a/profiles/preview/machinelearningservices/mgmt/machinelearningservices/machinelearningservicesapi/models.go b/profiles/preview/machinelearningservices/mgmt/machinelearningservices/machinelearningservicesapi/models.go index 0d80dd1aa71c..7304674d88f3 100644 --- a/profiles/preview/machinelearningservices/mgmt/machinelearningservices/machinelearningservicesapi/models.go +++ b/profiles/preview/machinelearningservices/mgmt/machinelearningservices/machinelearningservicesapi/models.go @@ -23,6 +23,7 @@ import original "github.com/Azure/azure-sdk-for-go/services/machinelearningservi type MachineLearningComputeClientAPI = original.MachineLearningComputeClientAPI type OperationsClientAPI = original.OperationsClientAPI +type QuotasClientAPI = original.QuotasClientAPI type UsagesClientAPI = original.UsagesClientAPI type VirtualMachineSizesClientAPI = original.VirtualMachineSizesClientAPI type WorkspacesClientAPI = original.WorkspacesClientAPI diff --git a/profiles/preview/machinelearningservices/mgmt/machinelearningservices/models.go b/profiles/preview/machinelearningservices/mgmt/machinelearningservices/models.go index de8a0ceee1f8..d685dcb8580c 100644 --- a/profiles/preview/machinelearningservices/mgmt/machinelearningservices/models.go +++ b/profiles/preview/machinelearningservices/mgmt/machinelearningservices/models.go @@ -100,6 +100,12 @@ const ( Updating ProvisioningState = original.Updating ) +type QuotaUnit = original.QuotaUnit + +const ( + Count QuotaUnit = original.Count +) + type RemoteLoginPortPublicAccess = original.RemoteLoginPortPublicAccess const ( @@ -117,8 +123,19 @@ const ( type Status = original.Status const ( - StatusDisabled Status = original.StatusDisabled - StatusEnabled Status = original.StatusEnabled + Failure Status = original.Failure + InvalidQuotaBelowClusterMinimum Status = original.InvalidQuotaBelowClusterMinimum + InvalidQuotaExceedsSubscriptionLimit Status = original.InvalidQuotaExceedsSubscriptionLimit + InvalidVMFamilyName Status = original.InvalidVMFamilyName + Success Status = original.Success + Undefined Status = original.Undefined +) + +type Status1 = original.Status1 + +const ( + Status1Disabled Status1 = original.Status1Disabled + Status1Enabled Status1 = original.Status1Enabled ) type UnderlyingResourceAction = original.UnderlyingResourceAction @@ -131,7 +148,7 @@ const ( type UsageUnit = original.UsageUnit const ( - Count UsageUnit = original.Count + UsageUnitCount UsageUnit = original.UsageUnitCount ) type VMPriority = original.VMPriority @@ -176,6 +193,9 @@ type ListUsagesResult = original.ListUsagesResult type ListUsagesResultIterator = original.ListUsagesResultIterator type ListUsagesResultPage = original.ListUsagesResultPage type ListWorkspaceKeysResult = original.ListWorkspaceKeysResult +type ListWorkspaceQuotas = original.ListWorkspaceQuotas +type ListWorkspaceQuotasIterator = original.ListWorkspaceQuotasIterator +type ListWorkspaceQuotasPage = original.ListWorkspaceQuotasPage type MachineLearningComputeClient = original.MachineLearningComputeClient type MachineLearningComputeCreateOrUpdateFuture = original.MachineLearningComputeCreateOrUpdateFuture type MachineLearningComputeDeleteFuture = original.MachineLearningComputeDeleteFuture @@ -189,13 +209,20 @@ type PaginatedComputeResourcesList = original.PaginatedComputeResourcesList type PaginatedComputeResourcesListIterator = original.PaginatedComputeResourcesListIterator type PaginatedComputeResourcesListPage = original.PaginatedComputeResourcesListPage type Password = original.Password +type QuotaBaseProperties = original.QuotaBaseProperties +type QuotaUpdateParameters = original.QuotaUpdateParameters +type QuotasClient = original.QuotasClient type RegistryListCredentialsResult = original.RegistryListCredentialsResult type Resource = original.Resource type ResourceID = original.ResourceID +type ResourceName = original.ResourceName +type ResourceQuota = original.ResourceQuota type ScaleSettings = original.ScaleSettings type ServicePrincipalCredentials = original.ServicePrincipalCredentials type SslConfiguration = original.SslConfiguration type SystemService = original.SystemService +type UpdateWorkspaceQuotas = original.UpdateWorkspaceQuotas +type UpdateWorkspaceQuotasResult = original.UpdateWorkspaceQuotasResult type Usage = original.Usage type UsageName = original.UsageName type UsagesClient = original.UsagesClient @@ -225,6 +252,12 @@ func NewListUsagesResultIterator(page ListUsagesResultPage) ListUsagesResultIter func NewListUsagesResultPage(getNextPage func(context.Context, ListUsagesResult) (ListUsagesResult, error)) ListUsagesResultPage { return original.NewListUsagesResultPage(getNextPage) } +func NewListWorkspaceQuotasIterator(page ListWorkspaceQuotasPage) ListWorkspaceQuotasIterator { + return original.NewListWorkspaceQuotasIterator(page) +} +func NewListWorkspaceQuotasPage(getNextPage func(context.Context, ListWorkspaceQuotas) (ListWorkspaceQuotas, error)) ListWorkspaceQuotasPage { + return original.NewListWorkspaceQuotasPage(getNextPage) +} func NewMachineLearningComputeClient(subscriptionID string) MachineLearningComputeClient { return original.NewMachineLearningComputeClient(subscriptionID) } @@ -243,6 +276,12 @@ func NewPaginatedComputeResourcesListIterator(page PaginatedComputeResourcesList func NewPaginatedComputeResourcesListPage(getNextPage func(context.Context, PaginatedComputeResourcesList) (PaginatedComputeResourcesList, error)) PaginatedComputeResourcesListPage { return original.NewPaginatedComputeResourcesListPage(getNextPage) } +func NewQuotasClient(subscriptionID string) QuotasClient { + return original.NewQuotasClient(subscriptionID) +} +func NewQuotasClientWithBaseURI(baseURI string, subscriptionID string) QuotasClient { + return original.NewQuotasClientWithBaseURI(baseURI, subscriptionID) +} func NewUsagesClient(subscriptionID string) UsagesClient { return original.NewUsagesClient(subscriptionID) } @@ -291,12 +330,18 @@ func PossibleNodeStateValues() []NodeState { func PossibleProvisioningStateValues() []ProvisioningState { return original.PossibleProvisioningStateValues() } +func PossibleQuotaUnitValues() []QuotaUnit { + return original.PossibleQuotaUnitValues() +} func PossibleRemoteLoginPortPublicAccessValues() []RemoteLoginPortPublicAccess { return original.PossibleRemoteLoginPortPublicAccessValues() } func PossibleResourceIdentityTypeValues() []ResourceIdentityType { return original.PossibleResourceIdentityTypeValues() } +func PossibleStatus1Values() []Status1 { + return original.PossibleStatus1Values() +} func PossibleStatusValues() []Status { return original.PossibleStatusValues() } diff --git a/profiles/preview/mobileengagement/mgmt/mobileengagement/models.go b/profiles/preview/mobileengagement/mgmt/mobileengagement/models.go deleted file mode 100644 index d00733e2a2db..000000000000 --- a/profiles/preview/mobileengagement/mgmt/mobileengagement/models.go +++ /dev/null @@ -1,394 +0,0 @@ -// +build go1.9 - -// Copyright 2019 Microsoft Corporation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -// This code was auto-generated by: -// github.com/Azure/azure-sdk-for-go/tools/profileBuilder - -package mobileengagement - -import original "github.com/Azure/azure-sdk-for-go/services/mobileengagement/mgmt/2014-12-01/mobileengagement" - -const ( - DefaultBaseURI = original.DefaultBaseURI -) - -type AudienceOperators = original.AudienceOperators - -const ( - EQ AudienceOperators = original.EQ - GE AudienceOperators = original.GE - GT AudienceOperators = original.GT - LE AudienceOperators = original.LE - LT AudienceOperators = original.LT -) - -type CampaignFeedbacks = original.CampaignFeedbacks - -const ( - Actioned CampaignFeedbacks = original.Actioned - Exited CampaignFeedbacks = original.Exited - Pushed CampaignFeedbacks = original.Pushed - Replied CampaignFeedbacks = original.Replied -) - -type CampaignKinds = original.CampaignKinds - -const ( - Announcements CampaignKinds = original.Announcements - DataPushes CampaignKinds = original.DataPushes - NativePushes CampaignKinds = original.NativePushes - Polls CampaignKinds = original.Polls -) - -type CampaignStates = original.CampaignStates - -const ( - Draft CampaignStates = original.Draft - Finished CampaignStates = original.Finished - InProgress CampaignStates = original.InProgress - Queued CampaignStates = original.Queued - Scheduled CampaignStates = original.Scheduled -) - -type CampaignType = original.CampaignType - -const ( - Announcement CampaignType = original.Announcement - DataPush CampaignType = original.DataPush - NativePush CampaignType = original.NativePush - Poll CampaignType = original.Poll -) - -type CampaignTypes = original.CampaignTypes - -const ( - OnlyNotif CampaignTypes = original.OnlyNotif - Textbase64 CampaignTypes = original.Textbase64 - Texthtml CampaignTypes = original.Texthtml - Textplain CampaignTypes = original.Textplain -) - -type DeliveryTimes = original.DeliveryTimes - -const ( - Any DeliveryTimes = original.Any - Background DeliveryTimes = original.Background - Session DeliveryTimes = original.Session -) - -type ExportFormat = original.ExportFormat - -const ( - CsvBlob ExportFormat = original.CsvBlob - JSONBlob ExportFormat = original.JSONBlob -) - -type ExportState = original.ExportState - -const ( - ExportStateFailed ExportState = original.ExportStateFailed - ExportStateQueued ExportState = original.ExportStateQueued - ExportStateStarted ExportState = original.ExportStateStarted - ExportStateSucceeded ExportState = original.ExportStateSucceeded -) - -type ExportType = original.ExportType - -const ( - ExportTypeActivity ExportType = original.ExportTypeActivity - ExportTypeCrash ExportType = original.ExportTypeCrash - ExportTypeError ExportType = original.ExportTypeError - ExportTypeEvent ExportType = original.ExportTypeEvent - ExportTypeJob ExportType = original.ExportTypeJob - ExportTypePush ExportType = original.ExportTypePush - ExportTypeSession ExportType = original.ExportTypeSession - ExportTypeTag ExportType = original.ExportTypeTag - ExportTypeToken ExportType = original.ExportTypeToken -) - -type JobStates = original.JobStates - -const ( - JobStatesFailed JobStates = original.JobStatesFailed - JobStatesQueued JobStates = original.JobStatesQueued - JobStatesStarted JobStates = original.JobStatesStarted - JobStatesSucceeded JobStates = original.JobStatesSucceeded -) - -type NotificationTypes = original.NotificationTypes - -const ( - Popup NotificationTypes = original.Popup - System NotificationTypes = original.System -) - -type ProvisioningStates = original.ProvisioningStates - -const ( - Creating ProvisioningStates = original.Creating - Succeeded ProvisioningStates = original.Succeeded -) - -type PushModes = original.PushModes - -const ( - Manual PushModes = original.Manual - OneShot PushModes = original.OneShot - RealTime PushModes = original.RealTime -) - -type Type = original.Type - -const ( - TypeAnnouncementFeedback Type = original.TypeAnnouncementFeedback - TypeApplicationVersion Type = original.TypeApplicationVersion - TypeBooleanTag Type = original.TypeBooleanTag - TypeCarrierCountry Type = original.TypeCarrierCountry - TypeCarrierName Type = original.TypeCarrierName - TypeCriterion Type = original.TypeCriterion - TypeDatapushFeedback Type = original.TypeDatapushFeedback - TypeDateTag Type = original.TypeDateTag - TypeDeviceManufacturer Type = original.TypeDeviceManufacturer - TypeDeviceModel Type = original.TypeDeviceModel - TypeFirmwareVersion Type = original.TypeFirmwareVersion - TypeGeoFencing Type = original.TypeGeoFencing - TypeIntegerTag Type = original.TypeIntegerTag - TypeLanguage Type = original.TypeLanguage - TypeLocation Type = original.TypeLocation - TypeNetworkType Type = original.TypeNetworkType - TypePollAnswerFeedback Type = original.TypePollAnswerFeedback - TypePollFeedback Type = original.TypePollFeedback - TypeScreenSize Type = original.TypeScreenSize - TypeSegment Type = original.TypeSegment - TypeStringTag Type = original.TypeStringTag -) - -type TypeBasicFilter = original.TypeBasicFilter - -const ( - TypeAppInfo TypeBasicFilter = original.TypeAppInfo - TypeEngageActiveUsers TypeBasicFilter = original.TypeEngageActiveUsers - TypeEngageIdleUsers TypeBasicFilter = original.TypeEngageIdleUsers - TypeEngageNewUsers TypeBasicFilter = original.TypeEngageNewUsers - TypeEngageOldUsers TypeBasicFilter = original.TypeEngageOldUsers - TypeEngageSubset TypeBasicFilter = original.TypeEngageSubset - TypeFilter TypeBasicFilter = original.TypeFilter - TypeNativePushEnabled TypeBasicFilter = original.TypeNativePushEnabled - TypePushQuota TypeBasicFilter = original.TypePushQuota -) - -type APIError = original.APIError -type APIErrorError = original.APIErrorError -type AnnouncementFeedbackCriterion = original.AnnouncementFeedbackCriterion -type App = original.App -type AppCollection = original.AppCollection -type AppCollectionListResult = original.AppCollectionListResult -type AppCollectionListResultIterator = original.AppCollectionListResultIterator -type AppCollectionListResultPage = original.AppCollectionListResultPage -type AppCollectionNameAvailability = original.AppCollectionNameAvailability -type AppCollectionProperties = original.AppCollectionProperties -type AppCollectionsClient = original.AppCollectionsClient -type AppInfoFilter = original.AppInfoFilter -type AppListResult = original.AppListResult -type AppListResultIterator = original.AppListResultIterator -type AppListResultPage = original.AppListResultPage -type AppProperties = original.AppProperties -type ApplicationVersionCriterion = original.ApplicationVersionCriterion -type AppsClient = original.AppsClient -type BaseClient = original.BaseClient -type BasicCriterion = original.BasicCriterion -type BasicFilter = original.BasicFilter -type BooleanTagCriterion = original.BooleanTagCriterion -type Campaign = original.Campaign -type CampaignAudience = original.CampaignAudience -type CampaignListResult = original.CampaignListResult -type CampaignLocalization = original.CampaignLocalization -type CampaignPushParameters = original.CampaignPushParameters -type CampaignPushResult = original.CampaignPushResult -type CampaignResult = original.CampaignResult -type CampaignState = original.CampaignState -type CampaignStateResult = original.CampaignStateResult -type CampaignStatisticsResult = original.CampaignStatisticsResult -type CampaignTestNewParameters = original.CampaignTestNewParameters -type CampaignTestSavedParameters = original.CampaignTestSavedParameters -type CampaignsClient = original.CampaignsClient -type CampaignsListResult = original.CampaignsListResult -type CampaignsListResultIterator = original.CampaignsListResultIterator -type CampaignsListResultPage = original.CampaignsListResultPage -type CarrierCountryCriterion = original.CarrierCountryCriterion -type CarrierNameCriterion = original.CarrierNameCriterion -type Criterion = original.Criterion -type DatapushFeedbackCriterion = original.DatapushFeedbackCriterion -type DateRangeExportTaskParameter = original.DateRangeExportTaskParameter -type DateTagCriterion = original.DateTagCriterion -type Device = original.Device -type DeviceInfo = original.DeviceInfo -type DeviceLocation = original.DeviceLocation -type DeviceManufacturerCriterion = original.DeviceManufacturerCriterion -type DeviceMeta = original.DeviceMeta -type DeviceModelCriterion = original.DeviceModelCriterion -type DeviceQueryResult = original.DeviceQueryResult -type DeviceTagsParameters = original.DeviceTagsParameters -type DeviceTagsResult = original.DeviceTagsResult -type DevicesClient = original.DevicesClient -type DevicesQueryResult = original.DevicesQueryResult -type DevicesQueryResultIterator = original.DevicesQueryResultIterator -type DevicesQueryResultPage = original.DevicesQueryResultPage -type EngageActiveUsersFilter = original.EngageActiveUsersFilter -type EngageIdleUsersFilter = original.EngageIdleUsersFilter -type EngageNewUsersFilter = original.EngageNewUsersFilter -type EngageOldUsersFilter = original.EngageOldUsersFilter -type EngageSubsetFilter = original.EngageSubsetFilter -type ExportOptions = original.ExportOptions -type ExportTaskListResult = original.ExportTaskListResult -type ExportTaskListResultIterator = original.ExportTaskListResultIterator -type ExportTaskListResultPage = original.ExportTaskListResultPage -type ExportTaskParameter = original.ExportTaskParameter -type ExportTaskResult = original.ExportTaskResult -type ExportTasksClient = original.ExportTasksClient -type FeedbackByCampaignParameter = original.FeedbackByCampaignParameter -type FeedbackByDateRangeParameter = original.FeedbackByDateRangeParameter -type Filter = original.Filter -type FirmwareVersionCriterion = original.FirmwareVersionCriterion -type GeoFencingCriterion = original.GeoFencingCriterion -type ImportTask = original.ImportTask -type ImportTaskListResult = original.ImportTaskListResult -type ImportTaskListResultIterator = original.ImportTaskListResultIterator -type ImportTaskListResultPage = original.ImportTaskListResultPage -type ImportTaskResult = original.ImportTaskResult -type ImportTasksClient = original.ImportTasksClient -type IntegerTagCriterion = original.IntegerTagCriterion -type LanguageCriterion = original.LanguageCriterion -type LocationCriterion = original.LocationCriterion -type NativePushEnabledFilter = original.NativePushEnabledFilter -type NetworkTypeCriterion = original.NetworkTypeCriterion -type NotificationOptions = original.NotificationOptions -type PollAnswerFeedbackCriterion = original.PollAnswerFeedbackCriterion -type PollFeedbackCriterion = original.PollFeedbackCriterion -type PollQuestion = original.PollQuestion -type PollQuestionChoice = original.PollQuestionChoice -type PollQuestionChoiceLocalization = original.PollQuestionChoiceLocalization -type PollQuestionLocalization = original.PollQuestionLocalization -type PushQuotaFilter = original.PushQuotaFilter -type Resource = original.Resource -type ScreenSizeCriterion = original.ScreenSizeCriterion -type SegmentCriterion = original.SegmentCriterion -type StringTagCriterion = original.StringTagCriterion -type SupportedPlatformsClient = original.SupportedPlatformsClient -type SupportedPlatformsListResult = original.SupportedPlatformsListResult - -func New(subscriptionID string) BaseClient { - return original.New(subscriptionID) -} -func NewAppCollectionsClient(subscriptionID string) AppCollectionsClient { - return original.NewAppCollectionsClient(subscriptionID) -} -func NewAppCollectionsClientWithBaseURI(baseURI string, subscriptionID string) AppCollectionsClient { - return original.NewAppCollectionsClientWithBaseURI(baseURI, subscriptionID) -} -func NewAppsClient(subscriptionID string) AppsClient { - return original.NewAppsClient(subscriptionID) -} -func NewAppsClientWithBaseURI(baseURI string, subscriptionID string) AppsClient { - return original.NewAppsClientWithBaseURI(baseURI, subscriptionID) -} -func NewCampaignsClient(subscriptionID string) CampaignsClient { - return original.NewCampaignsClient(subscriptionID) -} -func NewCampaignsClientWithBaseURI(baseURI string, subscriptionID string) CampaignsClient { - return original.NewCampaignsClientWithBaseURI(baseURI, subscriptionID) -} -func NewDevicesClient(subscriptionID string) DevicesClient { - return original.NewDevicesClient(subscriptionID) -} -func NewDevicesClientWithBaseURI(baseURI string, subscriptionID string) DevicesClient { - return original.NewDevicesClientWithBaseURI(baseURI, subscriptionID) -} -func NewExportTasksClient(subscriptionID string) ExportTasksClient { - return original.NewExportTasksClient(subscriptionID) -} -func NewExportTasksClientWithBaseURI(baseURI string, subscriptionID string) ExportTasksClient { - return original.NewExportTasksClientWithBaseURI(baseURI, subscriptionID) -} -func NewImportTasksClient(subscriptionID string) ImportTasksClient { - return original.NewImportTasksClient(subscriptionID) -} -func NewImportTasksClientWithBaseURI(baseURI string, subscriptionID string) ImportTasksClient { - return original.NewImportTasksClientWithBaseURI(baseURI, subscriptionID) -} -func NewSupportedPlatformsClient(subscriptionID string) SupportedPlatformsClient { - return original.NewSupportedPlatformsClient(subscriptionID) -} -func NewSupportedPlatformsClientWithBaseURI(baseURI string, subscriptionID string) SupportedPlatformsClient { - return original.NewSupportedPlatformsClientWithBaseURI(baseURI, subscriptionID) -} -func NewWithBaseURI(baseURI string, subscriptionID string) BaseClient { - return original.NewWithBaseURI(baseURI, subscriptionID) -} -func PossibleAudienceOperatorsValues() []AudienceOperators { - return original.PossibleAudienceOperatorsValues() -} -func PossibleCampaignFeedbacksValues() []CampaignFeedbacks { - return original.PossibleCampaignFeedbacksValues() -} -func PossibleCampaignKindsValues() []CampaignKinds { - return original.PossibleCampaignKindsValues() -} -func PossibleCampaignStatesValues() []CampaignStates { - return original.PossibleCampaignStatesValues() -} -func PossibleCampaignTypeValues() []CampaignType { - return original.PossibleCampaignTypeValues() -} -func PossibleCampaignTypesValues() []CampaignTypes { - return original.PossibleCampaignTypesValues() -} -func PossibleDeliveryTimesValues() []DeliveryTimes { - return original.PossibleDeliveryTimesValues() -} -func PossibleExportFormatValues() []ExportFormat { - return original.PossibleExportFormatValues() -} -func PossibleExportStateValues() []ExportState { - return original.PossibleExportStateValues() -} -func PossibleExportTypeValues() []ExportType { - return original.PossibleExportTypeValues() -} -func PossibleJobStatesValues() []JobStates { - return original.PossibleJobStatesValues() -} -func PossibleNotificationTypesValues() []NotificationTypes { - return original.PossibleNotificationTypesValues() -} -func PossibleProvisioningStatesValues() []ProvisioningStates { - return original.PossibleProvisioningStatesValues() -} -func PossiblePushModesValues() []PushModes { - return original.PossiblePushModesValues() -} -func PossibleTypeBasicFilterValues() []TypeBasicFilter { - return original.PossibleTypeBasicFilterValues() -} -func PossibleTypeValues() []Type { - return original.PossibleTypeValues() -} -func UserAgent() string { - return original.UserAgent() + " profiles/preview" -} -func Version() string { - return original.Version() -} diff --git a/profiles/preview/netapp/mgmt/netapp/models.go b/profiles/preview/netapp/mgmt/netapp/models.go index e65dc662085c..aede1f50418e 100644 --- a/profiles/preview/netapp/mgmt/netapp/models.go +++ b/profiles/preview/netapp/mgmt/netapp/models.go @@ -19,7 +19,7 @@ package netapp -import original "github.com/Azure/azure-sdk-for-go/services/netapp/mgmt/2019-06-01/netapp" +import original "github.com/Azure/azure-sdk-for-go/services/netapp/mgmt/2019-07-01/netapp" const ( DefaultBaseURI = original.DefaultBaseURI diff --git a/profiles/preview/netapp/mgmt/netapp/netappapi/models.go b/profiles/preview/netapp/mgmt/netapp/netappapi/models.go index 5a40e1846172..6cc3b523e420 100644 --- a/profiles/preview/netapp/mgmt/netapp/netappapi/models.go +++ b/profiles/preview/netapp/mgmt/netapp/netappapi/models.go @@ -19,7 +19,7 @@ package netappapi -import original "github.com/Azure/azure-sdk-for-go/services/netapp/mgmt/2019-06-01/netapp/netappapi" +import original "github.com/Azure/azure-sdk-for-go/services/netapp/mgmt/2019-07-01/netapp/netappapi" type AccountsClientAPI = original.AccountsClientAPI type BaseClientAPI = original.BaseClientAPI diff --git a/profiles/preview/network/mgmt/network/models.go b/profiles/preview/network/mgmt/network/models.go index 58b973bfc48e..b5c0df6b76ac 100644 --- a/profiles/preview/network/mgmt/network/models.go +++ b/profiles/preview/network/mgmt/network/models.go @@ -22,7 +22,7 @@ package network import ( "context" - original "github.com/Azure/azure-sdk-for-go/services/network/mgmt/2019-06-01/network" + original "github.com/Azure/azure-sdk-for-go/services/network/mgmt/2019-08-01/network" ) const ( @@ -202,6 +202,7 @@ type AzureFirewallApplicationRuleProtocolType = original.AzureFirewallApplicatio const ( AzureFirewallApplicationRuleProtocolTypeHTTP AzureFirewallApplicationRuleProtocolType = original.AzureFirewallApplicationRuleProtocolTypeHTTP AzureFirewallApplicationRuleProtocolTypeHTTPS AzureFirewallApplicationRuleProtocolType = original.AzureFirewallApplicationRuleProtocolTypeHTTPS + AzureFirewallApplicationRuleProtocolTypeMssql AzureFirewallApplicationRuleProtocolType = original.AzureFirewallApplicationRuleProtocolTypeMssql ) type AzureFirewallNatRCActionType = original.AzureFirewallNatRCActionType @@ -227,6 +228,19 @@ const ( AzureFirewallRCActionTypeDeny AzureFirewallRCActionType = original.AzureFirewallRCActionTypeDeny ) +type AzureFirewallSkuName = original.AzureFirewallSkuName + +const ( + AZFWHub AzureFirewallSkuName = original.AZFWHub + AZFWVNet AzureFirewallSkuName = original.AZFWVNet +) + +type AzureFirewallSkuTier = original.AzureFirewallSkuTier + +const ( + Standard AzureFirewallSkuTier = original.Standard +) + type AzureFirewallThreatIntelMode = original.AzureFirewallThreatIntelMode const ( @@ -400,6 +414,13 @@ const ( SC ExpressRouteLinkConnectorType = original.SC ) +type ExpressRouteLinkMacSecCipher = original.ExpressRouteLinkMacSecCipher + +const ( + GcmAes128 ExpressRouteLinkMacSecCipher = original.GcmAes128 + GcmAes256 ExpressRouteLinkMacSecCipher = original.GcmAes256 +) + type ExpressRoutePeeringState = original.ExpressRoutePeeringState const ( @@ -425,7 +446,6 @@ const ( type FirewallPolicyFilterRuleActionType = original.FirewallPolicyFilterRuleActionType const ( - FirewallPolicyFilterRuleActionTypeAlert FirewallPolicyFilterRuleActionType = original.FirewallPolicyFilterRuleActionTypeAlert FirewallPolicyFilterRuleActionTypeAllow FirewallPolicyFilterRuleActionType = original.FirewallPolicyFilterRuleActionTypeAllow FirewallPolicyFilterRuleActionTypeDeny FirewallPolicyFilterRuleActionType = original.FirewallPolicyFilterRuleActionTypeDeny ) @@ -434,7 +454,6 @@ type FirewallPolicyNatRuleActionType = original.FirewallPolicyNatRuleActionType const ( DNAT FirewallPolicyNatRuleActionType = original.DNAT - SNAT FirewallPolicyNatRuleActionType = original.SNAT ) type FirewallPolicyRuleConditionApplicationProtocolType = original.FirewallPolicyRuleConditionApplicationProtocolType @@ -580,10 +599,16 @@ const ( LoadDistributionSourceIPProtocol LoadDistribution = original.LoadDistributionSourceIPProtocol ) +type ManagedRuleEnabledState = original.ManagedRuleEnabledState + +const ( + ManagedRuleEnabledStateDisabled ManagedRuleEnabledState = original.ManagedRuleEnabledStateDisabled +) + type NatGatewaySkuName = original.NatGatewaySkuName const ( - Standard NatGatewaySkuName = original.Standard + NatGatewaySkuNameStandard NatGatewaySkuName = original.NatGatewaySkuNameStandard ) type NextHopType = original.NextHopType @@ -622,6 +647,24 @@ const ( OriginOutbound Origin = original.OriginOutbound ) +type OwaspCrsExclusionEntryMatchVariable = original.OwaspCrsExclusionEntryMatchVariable + +const ( + RequestArgNames OwaspCrsExclusionEntryMatchVariable = original.RequestArgNames + RequestCookieNames OwaspCrsExclusionEntryMatchVariable = original.RequestCookieNames + RequestHeaderNames OwaspCrsExclusionEntryMatchVariable = original.RequestHeaderNames +) + +type OwaspCrsExclusionEntrySelectorMatchOperator = original.OwaspCrsExclusionEntrySelectorMatchOperator + +const ( + OwaspCrsExclusionEntrySelectorMatchOperatorContains OwaspCrsExclusionEntrySelectorMatchOperator = original.OwaspCrsExclusionEntrySelectorMatchOperatorContains + OwaspCrsExclusionEntrySelectorMatchOperatorEndsWith OwaspCrsExclusionEntrySelectorMatchOperator = original.OwaspCrsExclusionEntrySelectorMatchOperatorEndsWith + OwaspCrsExclusionEntrySelectorMatchOperatorEquals OwaspCrsExclusionEntrySelectorMatchOperator = original.OwaspCrsExclusionEntrySelectorMatchOperatorEquals + OwaspCrsExclusionEntrySelectorMatchOperatorEqualsAny OwaspCrsExclusionEntrySelectorMatchOperator = original.OwaspCrsExclusionEntrySelectorMatchOperatorEqualsAny + OwaspCrsExclusionEntrySelectorMatchOperatorStartsWith OwaspCrsExclusionEntrySelectorMatchOperator = original.OwaspCrsExclusionEntrySelectorMatchOperatorStartsWith +) + type PcError = original.PcError const ( @@ -762,6 +805,7 @@ const ( type SecurityRuleProtocol = original.SecurityRuleProtocol const ( + SecurityRuleProtocolAh SecurityRuleProtocol = original.SecurityRuleProtocolAh SecurityRuleProtocolAsterisk SecurityRuleProtocol = original.SecurityRuleProtocolAsterisk SecurityRuleProtocolEsp SecurityRuleProtocol = original.SecurityRuleProtocolEsp SecurityRuleProtocolIcmp SecurityRuleProtocol = original.SecurityRuleProtocolIcmp @@ -851,6 +895,10 @@ const ( VirtualNetworkGatewaySkuNameVpnGw2AZ VirtualNetworkGatewaySkuName = original.VirtualNetworkGatewaySkuNameVpnGw2AZ VirtualNetworkGatewaySkuNameVpnGw3 VirtualNetworkGatewaySkuName = original.VirtualNetworkGatewaySkuNameVpnGw3 VirtualNetworkGatewaySkuNameVpnGw3AZ VirtualNetworkGatewaySkuName = original.VirtualNetworkGatewaySkuNameVpnGw3AZ + VirtualNetworkGatewaySkuNameVpnGw4 VirtualNetworkGatewaySkuName = original.VirtualNetworkGatewaySkuNameVpnGw4 + VirtualNetworkGatewaySkuNameVpnGw4AZ VirtualNetworkGatewaySkuName = original.VirtualNetworkGatewaySkuNameVpnGw4AZ + VirtualNetworkGatewaySkuNameVpnGw5 VirtualNetworkGatewaySkuName = original.VirtualNetworkGatewaySkuNameVpnGw5 + VirtualNetworkGatewaySkuNameVpnGw5AZ VirtualNetworkGatewaySkuName = original.VirtualNetworkGatewaySkuNameVpnGw5AZ ) type VirtualNetworkGatewaySkuTier = original.VirtualNetworkGatewaySkuTier @@ -869,6 +917,10 @@ const ( VirtualNetworkGatewaySkuTierVpnGw2AZ VirtualNetworkGatewaySkuTier = original.VirtualNetworkGatewaySkuTierVpnGw2AZ VirtualNetworkGatewaySkuTierVpnGw3 VirtualNetworkGatewaySkuTier = original.VirtualNetworkGatewaySkuTierVpnGw3 VirtualNetworkGatewaySkuTierVpnGw3AZ VirtualNetworkGatewaySkuTier = original.VirtualNetworkGatewaySkuTierVpnGw3AZ + VirtualNetworkGatewaySkuTierVpnGw4 VirtualNetworkGatewaySkuTier = original.VirtualNetworkGatewaySkuTierVpnGw4 + VirtualNetworkGatewaySkuTierVpnGw4AZ VirtualNetworkGatewaySkuTier = original.VirtualNetworkGatewaySkuTierVpnGw4AZ + VirtualNetworkGatewaySkuTierVpnGw5 VirtualNetworkGatewaySkuTier = original.VirtualNetworkGatewaySkuTierVpnGw5 + VirtualNetworkGatewaySkuTierVpnGw5AZ VirtualNetworkGatewaySkuTier = original.VirtualNetworkGatewaySkuTierVpnGw5AZ ) type VirtualNetworkGatewayType = original.VirtualNetworkGatewayType @@ -893,6 +945,14 @@ const ( Native VirtualWanSecurityProviderType = original.Native ) +type VpnAuthenticationType = original.VpnAuthenticationType + +const ( + AAD VpnAuthenticationType = original.AAD + Certificate VpnAuthenticationType = original.Certificate + Radius VpnAuthenticationType = original.Radius +) + type VpnClientProtocol = original.VpnClientProtocol const ( @@ -910,6 +970,14 @@ const ( VpnConnectionStatusUnknown VpnConnectionStatus = original.VpnConnectionStatusUnknown ) +type VpnGatewayGeneration = original.VpnGatewayGeneration + +const ( + VpnGatewayGenerationGeneration1 VpnGatewayGeneration = original.VpnGatewayGenerationGeneration1 + VpnGatewayGenerationGeneration2 VpnGatewayGeneration = original.VpnGatewayGenerationGeneration2 + VpnGatewayGenerationNone VpnGatewayGeneration = original.VpnGatewayGenerationNone +) + type VpnGatewayTunnelingProtocol = original.VpnGatewayTunnelingProtocol const ( @@ -1003,6 +1071,7 @@ const ( URLEncode WebApplicationFirewallTransform = original.URLEncode ) +type AadAuthenticationParameters = original.AadAuthenticationParameters type AddressSpace = original.AddressSpace type ApplicationGateway = original.ApplicationGateway type ApplicationGatewayAuthenticationCertificate = original.ApplicationGatewayAuthenticationCertificate @@ -1115,6 +1184,11 @@ type AvailableProvidersListCountry = original.AvailableProvidersListCountry type AvailableProvidersListParameters = original.AvailableProvidersListParameters type AvailableProvidersListState = original.AvailableProvidersListState type AvailableResourceGroupDelegationsClient = original.AvailableResourceGroupDelegationsClient +type AvailableServiceAlias = original.AvailableServiceAlias +type AvailableServiceAliasesClient = original.AvailableServiceAliasesClient +type AvailableServiceAliasesResult = original.AvailableServiceAliasesResult +type AvailableServiceAliasesResultIterator = original.AvailableServiceAliasesResultIterator +type AvailableServiceAliasesResultPage = original.AvailableServiceAliasesResultPage type AzureAsyncOperationResult = original.AzureAsyncOperationResult type AzureFirewall = original.AzureFirewall type AzureFirewallApplicationRule = original.AzureFirewallApplicationRule @@ -1142,6 +1216,7 @@ type AzureFirewallNetworkRuleCollectionPropertiesFormat = original.AzureFirewall type AzureFirewallPropertiesFormat = original.AzureFirewallPropertiesFormat type AzureFirewallPublicIPAddress = original.AzureFirewallPublicIPAddress type AzureFirewallRCAction = original.AzureFirewallRCAction +type AzureFirewallSku = original.AzureFirewallSku type AzureFirewallsClient = original.AzureFirewallsClient type AzureFirewallsCreateOrUpdateFuture = original.AzureFirewallsCreateOrUpdateFuture type AzureFirewallsDeleteFuture = original.AzureFirewallsDeleteFuture @@ -1332,6 +1407,7 @@ type ExpressRouteLink = original.ExpressRouteLink type ExpressRouteLinkListResult = original.ExpressRouteLinkListResult type ExpressRouteLinkListResultIterator = original.ExpressRouteLinkListResultIterator type ExpressRouteLinkListResultPage = original.ExpressRouteLinkListResultPage +type ExpressRouteLinkMacSecConfig = original.ExpressRouteLinkMacSecConfig type ExpressRouteLinkPropertiesFormat = original.ExpressRouteLinkPropertiesFormat type ExpressRouteLinksClient = original.ExpressRouteLinksClient type ExpressRoutePort = original.ExpressRoutePort @@ -1388,6 +1464,7 @@ type FrontendIPConfiguration = original.FrontendIPConfiguration type FrontendIPConfigurationPropertiesFormat = original.FrontendIPConfigurationPropertiesFormat type GatewayRoute = original.GatewayRoute type GatewayRouteListResult = original.GatewayRouteListResult +type GeneratevirtualwanvpnserverconfigurationvpnprofileFuture = original.GeneratevirtualwanvpnserverconfigurationvpnprofileFuture type GetVpnSitesConfigurationRequest = original.GetVpnSitesConfigurationRequest type HTTPConfiguration = original.HTTPConfiguration type HTTPHeader = original.HTTPHeader @@ -1420,6 +1497,7 @@ type InterfaceIPConfiguration = original.InterfaceIPConfiguration type InterfaceIPConfigurationListResult = original.InterfaceIPConfigurationListResult type InterfaceIPConfigurationListResultIterator = original.InterfaceIPConfigurationListResultIterator type InterfaceIPConfigurationListResultPage = original.InterfaceIPConfigurationListResultPage +type InterfaceIPConfigurationPrivateLinkConnectionProperties = original.InterfaceIPConfigurationPrivateLinkConnectionProperties type InterfaceIPConfigurationPropertiesFormat = original.InterfaceIPConfigurationPropertiesFormat type InterfaceIPConfigurationsClient = original.InterfaceIPConfigurationsClient type InterfaceListResult = original.InterfaceListResult @@ -1452,9 +1530,6 @@ type ListHubVirtualNetworkConnectionsResultPage = original.ListHubVirtualNetwork type ListP2SVpnGatewaysResult = original.ListP2SVpnGatewaysResult type ListP2SVpnGatewaysResultIterator = original.ListP2SVpnGatewaysResultIterator type ListP2SVpnGatewaysResultPage = original.ListP2SVpnGatewaysResultPage -type ListP2SVpnServerConfigurationsResult = original.ListP2SVpnServerConfigurationsResult -type ListP2SVpnServerConfigurationsResultIterator = original.ListP2SVpnServerConfigurationsResultIterator -type ListP2SVpnServerConfigurationsResultPage = original.ListP2SVpnServerConfigurationsResultPage type ListString = original.ListString type ListVirtualHubsResult = original.ListVirtualHubsResult type ListVirtualHubsResultIterator = original.ListVirtualHubsResultIterator @@ -1468,6 +1543,9 @@ type ListVpnConnectionsResultPage = original.ListVpnConnectionsResultPage type ListVpnGatewaysResult = original.ListVpnGatewaysResult type ListVpnGatewaysResultIterator = original.ListVpnGatewaysResultIterator type ListVpnGatewaysResultPage = original.ListVpnGatewaysResultPage +type ListVpnServerConfigurationsResult = original.ListVpnServerConfigurationsResult +type ListVpnServerConfigurationsResultIterator = original.ListVpnServerConfigurationsResultIterator +type ListVpnServerConfigurationsResultPage = original.ListVpnServerConfigurationsResultPage type ListVpnSiteLinkConnectionsResult = original.ListVpnSiteLinkConnectionsResult type ListVpnSiteLinkConnectionsResultIterator = original.ListVpnSiteLinkConnectionsResultIterator type ListVpnSiteLinkConnectionsResultPage = original.ListVpnSiteLinkConnectionsResultPage @@ -1520,6 +1598,10 @@ type LocalNetworkGatewaysCreateOrUpdateFuture = original.LocalNetworkGatewaysCre type LocalNetworkGatewaysDeleteFuture = original.LocalNetworkGatewaysDeleteFuture type LocalNetworkGatewaysUpdateTagsFuture = original.LocalNetworkGatewaysUpdateTagsFuture type LogSpecification = original.LogSpecification +type ManagedRuleGroupOverride = original.ManagedRuleGroupOverride +type ManagedRuleOverride = original.ManagedRuleOverride +type ManagedRuleSet = original.ManagedRuleSet +type ManagedRulesDefinition = original.ManagedRulesDefinition type ManagedServiceIdentity = original.ManagedServiceIdentity type ManagedServiceIdentityUserAssignedIdentitiesValue = original.ManagedServiceIdentityUserAssignedIdentitiesValue type MatchCondition = original.MatchCondition @@ -1547,28 +1629,21 @@ type OperationPropertiesFormatServiceSpecification = original.OperationPropertie type OperationsClient = original.OperationsClient type OutboundRule = original.OutboundRule type OutboundRulePropertiesFormat = original.OutboundRulePropertiesFormat +type OwaspCrsExclusionEntry = original.OwaspCrsExclusionEntry +type P2SConnectionConfiguration = original.P2SConnectionConfiguration +type P2SConnectionConfigurationProperties = original.P2SConnectionConfigurationProperties +type P2SVpnConnectionHealth = original.P2SVpnConnectionHealth +type P2SVpnConnectionHealthRequest = original.P2SVpnConnectionHealthRequest type P2SVpnGateway = original.P2SVpnGateway type P2SVpnGatewayProperties = original.P2SVpnGatewayProperties type P2SVpnProfileParameters = original.P2SVpnProfileParameters -type P2SVpnServerConfigRadiusClientRootCertificate = original.P2SVpnServerConfigRadiusClientRootCertificate -type P2SVpnServerConfigRadiusClientRootCertificatePropertiesFormat = original.P2SVpnServerConfigRadiusClientRootCertificatePropertiesFormat -type P2SVpnServerConfigRadiusServerRootCertificate = original.P2SVpnServerConfigRadiusServerRootCertificate -type P2SVpnServerConfigRadiusServerRootCertificatePropertiesFormat = original.P2SVpnServerConfigRadiusServerRootCertificatePropertiesFormat -type P2SVpnServerConfigVpnClientRevokedCertificate = original.P2SVpnServerConfigVpnClientRevokedCertificate -type P2SVpnServerConfigVpnClientRevokedCertificatePropertiesFormat = original.P2SVpnServerConfigVpnClientRevokedCertificatePropertiesFormat -type P2SVpnServerConfigVpnClientRootCertificate = original.P2SVpnServerConfigVpnClientRootCertificate -type P2SVpnServerConfigVpnClientRootCertificatePropertiesFormat = original.P2SVpnServerConfigVpnClientRootCertificatePropertiesFormat -type P2SVpnServerConfiguration = original.P2SVpnServerConfiguration -type P2SVpnServerConfigurationProperties = original.P2SVpnServerConfigurationProperties type P2sVpnGatewaysClient = original.P2sVpnGatewaysClient type P2sVpnGatewaysCreateOrUpdateFuture = original.P2sVpnGatewaysCreateOrUpdateFuture type P2sVpnGatewaysDeleteFuture = original.P2sVpnGatewaysDeleteFuture type P2sVpnGatewaysGenerateVpnProfileFuture = original.P2sVpnGatewaysGenerateVpnProfileFuture +type P2sVpnGatewaysGetP2sVpnConnectionHealthDetailedFuture = original.P2sVpnGatewaysGetP2sVpnConnectionHealthDetailedFuture type P2sVpnGatewaysGetP2sVpnConnectionHealthFuture = original.P2sVpnGatewaysGetP2sVpnConnectionHealthFuture type P2sVpnGatewaysUpdateTagsFuture = original.P2sVpnGatewaysUpdateTagsFuture -type P2sVpnServerConfigurationsClient = original.P2sVpnServerConfigurationsClient -type P2sVpnServerConfigurationsCreateOrUpdateFuture = original.P2sVpnServerConfigurationsCreateOrUpdateFuture -type P2sVpnServerConfigurationsDeleteFuture = original.P2sVpnServerConfigurationsDeleteFuture type PacketCapture = original.PacketCapture type PacketCaptureFilter = original.PacketCaptureFilter type PacketCaptureListResult = original.PacketCaptureListResult @@ -1766,6 +1841,7 @@ type TopologyParameters = original.TopologyParameters type TopologyResource = original.TopologyResource type TrafficAnalyticsConfigurationProperties = original.TrafficAnalyticsConfigurationProperties type TrafficAnalyticsProperties = original.TrafficAnalyticsProperties +type TrafficSelectorPolicy = original.TrafficSelectorPolicy type TroubleshootingDetails = original.TroubleshootingDetails type TroubleshootingParameters = original.TroubleshootingParameters type TroubleshootingProperties = original.TroubleshootingProperties @@ -1791,6 +1867,7 @@ type VirtualHubsCreateOrUpdateFuture = original.VirtualHubsCreateOrUpdateFuture type VirtualHubsDeleteFuture = original.VirtualHubsDeleteFuture type VirtualHubsUpdateTagsFuture = original.VirtualHubsUpdateTagsFuture type VirtualNetwork = original.VirtualNetwork +type VirtualNetworkBgpCommunities = original.VirtualNetworkBgpCommunities type VirtualNetworkConnectionGatewayReference = original.VirtualNetworkConnectionGatewayReference type VirtualNetworkGateway = original.VirtualNetworkGateway type VirtualNetworkGatewayConnection = original.VirtualNetworkGatewayConnection @@ -1805,6 +1882,8 @@ type VirtualNetworkGatewayConnectionsCreateOrUpdateFuture = original.VirtualNetw type VirtualNetworkGatewayConnectionsDeleteFuture = original.VirtualNetworkGatewayConnectionsDeleteFuture type VirtualNetworkGatewayConnectionsResetSharedKeyFuture = original.VirtualNetworkGatewayConnectionsResetSharedKeyFuture type VirtualNetworkGatewayConnectionsSetSharedKeyFuture = original.VirtualNetworkGatewayConnectionsSetSharedKeyFuture +type VirtualNetworkGatewayConnectionsStartPacketCaptureFuture = original.VirtualNetworkGatewayConnectionsStartPacketCaptureFuture +type VirtualNetworkGatewayConnectionsStopPacketCaptureFuture = original.VirtualNetworkGatewayConnectionsStopPacketCaptureFuture type VirtualNetworkGatewayConnectionsUpdateTagsFuture = original.VirtualNetworkGatewayConnectionsUpdateTagsFuture type VirtualNetworkGatewayIPConfiguration = original.VirtualNetworkGatewayIPConfiguration type VirtualNetworkGatewayIPConfigurationPropertiesFormat = original.VirtualNetworkGatewayIPConfigurationPropertiesFormat @@ -1830,6 +1909,8 @@ type VirtualNetworkGatewaysGetVpnclientIpsecParametersFuture = original.VirtualN type VirtualNetworkGatewaysResetFuture = original.VirtualNetworkGatewaysResetFuture type VirtualNetworkGatewaysResetVpnClientSharedKeyFuture = original.VirtualNetworkGatewaysResetVpnClientSharedKeyFuture type VirtualNetworkGatewaysSetVpnclientIpsecParametersFuture = original.VirtualNetworkGatewaysSetVpnclientIpsecParametersFuture +type VirtualNetworkGatewaysStartPacketCaptureFuture = original.VirtualNetworkGatewaysStartPacketCaptureFuture +type VirtualNetworkGatewaysStopPacketCaptureFuture = original.VirtualNetworkGatewaysStopPacketCaptureFuture type VirtualNetworkGatewaysUpdateTagsFuture = original.VirtualNetworkGatewaysUpdateTagsFuture type VirtualNetworkListResult = original.VirtualNetworkListResult type VirtualNetworkListResultIterator = original.VirtualNetworkListResultIterator @@ -1861,10 +1942,27 @@ type VirtualNetworksClient = original.VirtualNetworksClient type VirtualNetworksCreateOrUpdateFuture = original.VirtualNetworksCreateOrUpdateFuture type VirtualNetworksDeleteFuture = original.VirtualNetworksDeleteFuture type VirtualNetworksUpdateTagsFuture = original.VirtualNetworksUpdateTagsFuture +type VirtualRouter = original.VirtualRouter +type VirtualRouterListResult = original.VirtualRouterListResult +type VirtualRouterListResultIterator = original.VirtualRouterListResultIterator +type VirtualRouterListResultPage = original.VirtualRouterListResultPage +type VirtualRouterPeering = original.VirtualRouterPeering +type VirtualRouterPeeringListResult = original.VirtualRouterPeeringListResult +type VirtualRouterPeeringListResultIterator = original.VirtualRouterPeeringListResultIterator +type VirtualRouterPeeringListResultPage = original.VirtualRouterPeeringListResultPage +type VirtualRouterPeeringProperties = original.VirtualRouterPeeringProperties +type VirtualRouterPeeringsClient = original.VirtualRouterPeeringsClient +type VirtualRouterPeeringsCreateOrUpdateFuture = original.VirtualRouterPeeringsCreateOrUpdateFuture +type VirtualRouterPeeringsDeleteFuture = original.VirtualRouterPeeringsDeleteFuture +type VirtualRouterPropertiesFormat = original.VirtualRouterPropertiesFormat +type VirtualRoutersClient = original.VirtualRoutersClient +type VirtualRoutersCreateOrUpdateFuture = original.VirtualRoutersCreateOrUpdateFuture +type VirtualRoutersDeleteFuture = original.VirtualRoutersDeleteFuture type VirtualWAN = original.VirtualWAN type VirtualWanProperties = original.VirtualWanProperties type VirtualWanSecurityProvider = original.VirtualWanSecurityProvider type VirtualWanSecurityProviders = original.VirtualWanSecurityProviders +type VirtualWanVpnProfileParameters = original.VirtualWanVpnProfileParameters type VirtualWansClient = original.VirtualWansClient type VirtualWansCreateOrUpdateFuture = original.VirtualWansCreateOrUpdateFuture type VirtualWansDeleteFuture = original.VirtualWansDeleteFuture @@ -1895,7 +1993,22 @@ type VpnGatewaysUpdateTagsFuture = original.VpnGatewaysUpdateTagsFuture type VpnLinkBgpSettings = original.VpnLinkBgpSettings type VpnLinkConnectionsClient = original.VpnLinkConnectionsClient type VpnLinkProviderProperties = original.VpnLinkProviderProperties +type VpnPacketCaptureStartParameters = original.VpnPacketCaptureStartParameters +type VpnPacketCaptureStopParameters = original.VpnPacketCaptureStopParameters type VpnProfileResponse = original.VpnProfileResponse +type VpnServerConfigRadiusClientRootCertificate = original.VpnServerConfigRadiusClientRootCertificate +type VpnServerConfigRadiusServerRootCertificate = original.VpnServerConfigRadiusServerRootCertificate +type VpnServerConfigVpnClientRevokedCertificate = original.VpnServerConfigVpnClientRevokedCertificate +type VpnServerConfigVpnClientRootCertificate = original.VpnServerConfigVpnClientRootCertificate +type VpnServerConfiguration = original.VpnServerConfiguration +type VpnServerConfigurationProperties = original.VpnServerConfigurationProperties +type VpnServerConfigurationsAssociatedWithVirtualWanClient = original.VpnServerConfigurationsAssociatedWithVirtualWanClient +type VpnServerConfigurationsAssociatedWithVirtualWanListFuture = original.VpnServerConfigurationsAssociatedWithVirtualWanListFuture +type VpnServerConfigurationsClient = original.VpnServerConfigurationsClient +type VpnServerConfigurationsCreateOrUpdateFuture = original.VpnServerConfigurationsCreateOrUpdateFuture +type VpnServerConfigurationsDeleteFuture = original.VpnServerConfigurationsDeleteFuture +type VpnServerConfigurationsResponse = original.VpnServerConfigurationsResponse +type VpnServerConfigurationsUpdateTagsFuture = original.VpnServerConfigurationsUpdateTagsFuture type VpnSite = original.VpnSite type VpnSiteID = original.VpnSiteID type VpnSiteLink = original.VpnSiteLink @@ -2017,6 +2130,18 @@ func NewAvailableResourceGroupDelegationsClient(subscriptionID string) Available func NewAvailableResourceGroupDelegationsClientWithBaseURI(baseURI string, subscriptionID string) AvailableResourceGroupDelegationsClient { return original.NewAvailableResourceGroupDelegationsClientWithBaseURI(baseURI, subscriptionID) } +func NewAvailableServiceAliasesClient(subscriptionID string) AvailableServiceAliasesClient { + return original.NewAvailableServiceAliasesClient(subscriptionID) +} +func NewAvailableServiceAliasesClientWithBaseURI(baseURI string, subscriptionID string) AvailableServiceAliasesClient { + return original.NewAvailableServiceAliasesClientWithBaseURI(baseURI, subscriptionID) +} +func NewAvailableServiceAliasesResultIterator(page AvailableServiceAliasesResultPage) AvailableServiceAliasesResultIterator { + return original.NewAvailableServiceAliasesResultIterator(page) +} +func NewAvailableServiceAliasesResultPage(getNextPage func(context.Context, AvailableServiceAliasesResult) (AvailableServiceAliasesResult, error)) AvailableServiceAliasesResultPage { + return original.NewAvailableServiceAliasesResultPage(getNextPage) +} func NewAzureFirewallFqdnTagListResultIterator(page AzureFirewallFqdnTagListResultPage) AzureFirewallFqdnTagListResultIterator { return original.NewAzureFirewallFqdnTagListResultIterator(page) } @@ -2329,12 +2454,6 @@ func NewListP2SVpnGatewaysResultIterator(page ListP2SVpnGatewaysResultPage) List func NewListP2SVpnGatewaysResultPage(getNextPage func(context.Context, ListP2SVpnGatewaysResult) (ListP2SVpnGatewaysResult, error)) ListP2SVpnGatewaysResultPage { return original.NewListP2SVpnGatewaysResultPage(getNextPage) } -func NewListP2SVpnServerConfigurationsResultIterator(page ListP2SVpnServerConfigurationsResultPage) ListP2SVpnServerConfigurationsResultIterator { - return original.NewListP2SVpnServerConfigurationsResultIterator(page) -} -func NewListP2SVpnServerConfigurationsResultPage(getNextPage func(context.Context, ListP2SVpnServerConfigurationsResult) (ListP2SVpnServerConfigurationsResult, error)) ListP2SVpnServerConfigurationsResultPage { - return original.NewListP2SVpnServerConfigurationsResultPage(getNextPage) -} func NewListVirtualHubsResultIterator(page ListVirtualHubsResultPage) ListVirtualHubsResultIterator { return original.NewListVirtualHubsResultIterator(page) } @@ -2359,6 +2478,12 @@ func NewListVpnGatewaysResultIterator(page ListVpnGatewaysResultPage) ListVpnGat func NewListVpnGatewaysResultPage(getNextPage func(context.Context, ListVpnGatewaysResult) (ListVpnGatewaysResult, error)) ListVpnGatewaysResultPage { return original.NewListVpnGatewaysResultPage(getNextPage) } +func NewListVpnServerConfigurationsResultIterator(page ListVpnServerConfigurationsResultPage) ListVpnServerConfigurationsResultIterator { + return original.NewListVpnServerConfigurationsResultIterator(page) +} +func NewListVpnServerConfigurationsResultPage(getNextPage func(context.Context, ListVpnServerConfigurationsResult) (ListVpnServerConfigurationsResult, error)) ListVpnServerConfigurationsResultPage { + return original.NewListVpnServerConfigurationsResultPage(getNextPage) +} func NewListVpnSiteLinkConnectionsResultIterator(page ListVpnSiteLinkConnectionsResultPage) ListVpnSiteLinkConnectionsResultIterator { return original.NewListVpnSiteLinkConnectionsResultIterator(page) } @@ -2497,12 +2622,6 @@ func NewP2sVpnGatewaysClient(subscriptionID string) P2sVpnGatewaysClient { func NewP2sVpnGatewaysClientWithBaseURI(baseURI string, subscriptionID string) P2sVpnGatewaysClient { return original.NewP2sVpnGatewaysClientWithBaseURI(baseURI, subscriptionID) } -func NewP2sVpnServerConfigurationsClient(subscriptionID string) P2sVpnServerConfigurationsClient { - return original.NewP2sVpnServerConfigurationsClient(subscriptionID) -} -func NewP2sVpnServerConfigurationsClientWithBaseURI(baseURI string, subscriptionID string) P2sVpnServerConfigurationsClient { - return original.NewP2sVpnServerConfigurationsClientWithBaseURI(baseURI, subscriptionID) -} func NewPacketCapturesClient(subscriptionID string) PacketCapturesClient { return original.NewPacketCapturesClient(subscriptionID) } @@ -2797,6 +2916,30 @@ func NewVirtualNetworksClient(subscriptionID string) VirtualNetworksClient { func NewVirtualNetworksClientWithBaseURI(baseURI string, subscriptionID string) VirtualNetworksClient { return original.NewVirtualNetworksClientWithBaseURI(baseURI, subscriptionID) } +func NewVirtualRouterListResultIterator(page VirtualRouterListResultPage) VirtualRouterListResultIterator { + return original.NewVirtualRouterListResultIterator(page) +} +func NewVirtualRouterListResultPage(getNextPage func(context.Context, VirtualRouterListResult) (VirtualRouterListResult, error)) VirtualRouterListResultPage { + return original.NewVirtualRouterListResultPage(getNextPage) +} +func NewVirtualRouterPeeringListResultIterator(page VirtualRouterPeeringListResultPage) VirtualRouterPeeringListResultIterator { + return original.NewVirtualRouterPeeringListResultIterator(page) +} +func NewVirtualRouterPeeringListResultPage(getNextPage func(context.Context, VirtualRouterPeeringListResult) (VirtualRouterPeeringListResult, error)) VirtualRouterPeeringListResultPage { + return original.NewVirtualRouterPeeringListResultPage(getNextPage) +} +func NewVirtualRouterPeeringsClient(subscriptionID string) VirtualRouterPeeringsClient { + return original.NewVirtualRouterPeeringsClient(subscriptionID) +} +func NewVirtualRouterPeeringsClientWithBaseURI(baseURI string, subscriptionID string) VirtualRouterPeeringsClient { + return original.NewVirtualRouterPeeringsClientWithBaseURI(baseURI, subscriptionID) +} +func NewVirtualRoutersClient(subscriptionID string) VirtualRoutersClient { + return original.NewVirtualRoutersClient(subscriptionID) +} +func NewVirtualRoutersClientWithBaseURI(baseURI string, subscriptionID string) VirtualRoutersClient { + return original.NewVirtualRoutersClientWithBaseURI(baseURI, subscriptionID) +} func NewVirtualWansClient(subscriptionID string) VirtualWansClient { return original.NewVirtualWansClient(subscriptionID) } @@ -2821,6 +2964,18 @@ func NewVpnLinkConnectionsClient(subscriptionID string) VpnLinkConnectionsClient func NewVpnLinkConnectionsClientWithBaseURI(baseURI string, subscriptionID string) VpnLinkConnectionsClient { return original.NewVpnLinkConnectionsClientWithBaseURI(baseURI, subscriptionID) } +func NewVpnServerConfigurationsAssociatedWithVirtualWanClient(subscriptionID string) VpnServerConfigurationsAssociatedWithVirtualWanClient { + return original.NewVpnServerConfigurationsAssociatedWithVirtualWanClient(subscriptionID) +} +func NewVpnServerConfigurationsAssociatedWithVirtualWanClientWithBaseURI(baseURI string, subscriptionID string) VpnServerConfigurationsAssociatedWithVirtualWanClient { + return original.NewVpnServerConfigurationsAssociatedWithVirtualWanClientWithBaseURI(baseURI, subscriptionID) +} +func NewVpnServerConfigurationsClient(subscriptionID string) VpnServerConfigurationsClient { + return original.NewVpnServerConfigurationsClient(subscriptionID) +} +func NewVpnServerConfigurationsClientWithBaseURI(baseURI string, subscriptionID string) VpnServerConfigurationsClient { + return original.NewVpnServerConfigurationsClientWithBaseURI(baseURI, subscriptionID) +} func NewVpnSiteLinkConnectionsClient(subscriptionID string) VpnSiteLinkConnectionsClient { return original.NewVpnSiteLinkConnectionsClient(subscriptionID) } @@ -2932,6 +3087,12 @@ func PossibleAzureFirewallNetworkRuleProtocolValues() []AzureFirewallNetworkRule func PossibleAzureFirewallRCActionTypeValues() []AzureFirewallRCActionType { return original.PossibleAzureFirewallRCActionTypeValues() } +func PossibleAzureFirewallSkuNameValues() []AzureFirewallSkuName { + return original.PossibleAzureFirewallSkuNameValues() +} +func PossibleAzureFirewallSkuTierValues() []AzureFirewallSkuTier { + return original.PossibleAzureFirewallSkuTierValues() +} func PossibleAzureFirewallThreatIntelModeValues() []AzureFirewallThreatIntelMode { return original.PossibleAzureFirewallThreatIntelModeValues() } @@ -2995,6 +3156,9 @@ func PossibleExpressRouteLinkAdminStateValues() []ExpressRouteLinkAdminState { func PossibleExpressRouteLinkConnectorTypeValues() []ExpressRouteLinkConnectorType { return original.PossibleExpressRouteLinkConnectorTypeValues() } +func PossibleExpressRouteLinkMacSecCipherValues() []ExpressRouteLinkMacSecCipher { + return original.PossibleExpressRouteLinkMacSecCipherValues() +} func PossibleExpressRoutePeeringStateValues() []ExpressRoutePeeringState { return original.PossibleExpressRoutePeeringStateValues() } @@ -3058,6 +3222,9 @@ func PossibleLoadBalancerSkuNameValues() []LoadBalancerSkuName { func PossibleLoadDistributionValues() []LoadDistribution { return original.PossibleLoadDistributionValues() } +func PossibleManagedRuleEnabledStateValues() []ManagedRuleEnabledState { + return original.PossibleManagedRuleEnabledStateValues() +} func PossibleNatGatewaySkuNameValues() []NatGatewaySkuName { return original.PossibleNatGatewaySkuNameValues() } @@ -3073,6 +3240,12 @@ func PossibleOperationStatusValues() []OperationStatus { func PossibleOriginValues() []Origin { return original.PossibleOriginValues() } +func PossibleOwaspCrsExclusionEntryMatchVariableValues() []OwaspCrsExclusionEntryMatchVariable { + return original.PossibleOwaspCrsExclusionEntryMatchVariableValues() +} +func PossibleOwaspCrsExclusionEntrySelectorMatchOperatorValues() []OwaspCrsExclusionEntrySelectorMatchOperator { + return original.PossibleOwaspCrsExclusionEntrySelectorMatchOperatorValues() +} func PossiblePcErrorValues() []PcError { return original.PossiblePcErrorValues() } @@ -3163,12 +3336,18 @@ func PossibleVirtualNetworkPeeringStateValues() []VirtualNetworkPeeringState { func PossibleVirtualWanSecurityProviderTypeValues() []VirtualWanSecurityProviderType { return original.PossibleVirtualWanSecurityProviderTypeValues() } +func PossibleVpnAuthenticationTypeValues() []VpnAuthenticationType { + return original.PossibleVpnAuthenticationTypeValues() +} func PossibleVpnClientProtocolValues() []VpnClientProtocol { return original.PossibleVpnClientProtocolValues() } func PossibleVpnConnectionStatusValues() []VpnConnectionStatus { return original.PossibleVpnConnectionStatusValues() } +func PossibleVpnGatewayGenerationValues() []VpnGatewayGeneration { + return original.PossibleVpnGatewayGenerationValues() +} func PossibleVpnGatewayTunnelingProtocolValues() []VpnGatewayTunnelingProtocol { return original.PossibleVpnGatewayTunnelingProtocolValues() } diff --git a/profiles/preview/network/mgmt/network/networkapi/models.go b/profiles/preview/network/mgmt/network/networkapi/models.go index 13c640036a2a..a433c700bbe2 100644 --- a/profiles/preview/network/mgmt/network/networkapi/models.go +++ b/profiles/preview/network/mgmt/network/networkapi/models.go @@ -19,7 +19,7 @@ package networkapi -import original "github.com/Azure/azure-sdk-for-go/services/network/mgmt/2019-06-01/network/networkapi" +import original "github.com/Azure/azure-sdk-for-go/services/network/mgmt/2019-08-01/network/networkapi" type ApplicationGatewaysClientAPI = original.ApplicationGatewaysClientAPI type ApplicationSecurityGroupsClientAPI = original.ApplicationSecurityGroupsClientAPI @@ -27,6 +27,7 @@ type AvailableDelegationsClientAPI = original.AvailableDelegationsClientAPI type AvailableEndpointServicesClientAPI = original.AvailableEndpointServicesClientAPI type AvailablePrivateEndpointTypesClientAPI = original.AvailablePrivateEndpointTypesClientAPI type AvailableResourceGroupDelegationsClientAPI = original.AvailableResourceGroupDelegationsClientAPI +type AvailableServiceAliasesClientAPI = original.AvailableServiceAliasesClientAPI type AzureFirewallFqdnTagsClientAPI = original.AzureFirewallFqdnTagsClientAPI type AzureFirewallsClientAPI = original.AzureFirewallsClientAPI type BaseClientAPI = original.BaseClientAPI @@ -67,7 +68,6 @@ type LocalNetworkGatewaysClientAPI = original.LocalNetworkGatewaysClientAPI type NatGatewaysClientAPI = original.NatGatewaysClientAPI type OperationsClientAPI = original.OperationsClientAPI type P2sVpnGatewaysClientAPI = original.P2sVpnGatewaysClientAPI -type P2sVpnServerConfigurationsClientAPI = original.P2sVpnServerConfigurationsClientAPI type PacketCapturesClientAPI = original.PacketCapturesClientAPI type PeerExpressRouteCircuitConnectionsClientAPI = original.PeerExpressRouteCircuitConnectionsClientAPI type PrivateEndpointsClientAPI = original.PrivateEndpointsClientAPI @@ -94,10 +94,14 @@ type VirtualNetworkGatewaysClientAPI = original.VirtualNetworkGatewaysClientAPI type VirtualNetworkPeeringsClientAPI = original.VirtualNetworkPeeringsClientAPI type VirtualNetworkTapsClientAPI = original.VirtualNetworkTapsClientAPI type VirtualNetworksClientAPI = original.VirtualNetworksClientAPI +type VirtualRouterPeeringsClientAPI = original.VirtualRouterPeeringsClientAPI +type VirtualRoutersClientAPI = original.VirtualRoutersClientAPI type VirtualWansClientAPI = original.VirtualWansClientAPI type VpnConnectionsClientAPI = original.VpnConnectionsClientAPI type VpnGatewaysClientAPI = original.VpnGatewaysClientAPI type VpnLinkConnectionsClientAPI = original.VpnLinkConnectionsClientAPI +type VpnServerConfigurationsAssociatedWithVirtualWanClientAPI = original.VpnServerConfigurationsAssociatedWithVirtualWanClientAPI +type VpnServerConfigurationsClientAPI = original.VpnServerConfigurationsClientAPI type VpnSiteLinkConnectionsClientAPI = original.VpnSiteLinkConnectionsClientAPI type VpnSiteLinksClientAPI = original.VpnSiteLinksClientAPI type VpnSitesClientAPI = original.VpnSitesClientAPI diff --git a/profiles/preview/operationalinsights/mgmt/operationalinsights/models.go b/profiles/preview/operationalinsights/mgmt/operationalinsights/models.go index d77d183fbf2c..072914563365 100644 --- a/profiles/preview/operationalinsights/mgmt/operationalinsights/models.go +++ b/profiles/preview/operationalinsights/mgmt/operationalinsights/models.go @@ -64,13 +64,9 @@ type SavedSearch = original.SavedSearch type SavedSearchProperties = original.SavedSearchProperties type SavedSearchesClient = original.SavedSearchesClient type SavedSearchesListResult = original.SavedSearchesListResult -type SearchError = original.SearchError type SearchGetSchemaResponse = original.SearchGetSchemaResponse -type SearchHighlight = original.SearchHighlight type SearchMetadata = original.SearchMetadata type SearchMetadataSchema = original.SearchMetadataSchema -type SearchParameters = original.SearchParameters -type SearchResultsResponse = original.SearchResultsResponse type SearchSchemaValue = original.SearchSchemaValue type SearchSort = original.SearchSort type SharedKeys = original.SharedKeys @@ -88,7 +84,6 @@ type WorkspacePurgeBodyFilters = original.WorkspacePurgeBodyFilters type WorkspacePurgeResponse = original.WorkspacePurgeResponse type WorkspacePurgeStatusResponse = original.WorkspacePurgeStatusResponse type WorkspacesClient = original.WorkspacesClient -type WorkspacesGetSearchResultsFuture = original.WorkspacesGetSearchResultsFuture func New(subscriptionID string, purgeID string) BaseClient { return original.New(subscriptionID, purgeID) diff --git a/profiles/preview/policyinsights/mgmt/policyinsights/models.go b/profiles/preview/policyinsights/mgmt/policyinsights/models.go index d6643c95eceb..b615e657622b 100644 --- a/profiles/preview/policyinsights/mgmt/policyinsights/models.go +++ b/profiles/preview/policyinsights/mgmt/policyinsights/models.go @@ -19,7 +19,11 @@ package policyinsights -import original "github.com/Azure/azure-sdk-for-go/services/policyinsights/mgmt/2018-04-04/policyinsights" +import ( + "context" + + original "github.com/Azure/azure-sdk-for-go/services/policyinsights/mgmt/2019-10-01/policyinsights" +) const ( DefaultBaseURI = original.DefaultBaseURI @@ -33,24 +37,51 @@ const ( ) type BaseClient = original.BaseClient +type ComplianceDetail = original.ComplianceDetail +type ErrorDefinition = original.ErrorDefinition +type ErrorResponse = original.ErrorResponse +type ExpressionEvaluationDetails = original.ExpressionEvaluationDetails +type IfNotExistsEvaluationDetails = original.IfNotExistsEvaluationDetails type Operation = original.Operation type OperationDisplay = original.OperationDisplay type OperationsClient = original.OperationsClient type OperationsListResults = original.OperationsListResults type PolicyAssignmentSummary = original.PolicyAssignmentSummary type PolicyDefinitionSummary = original.PolicyDefinitionSummary +type PolicyDetails = original.PolicyDetails +type PolicyEvaluationDetails = original.PolicyEvaluationDetails type PolicyEvent = original.PolicyEvent type PolicyEventsClient = original.PolicyEventsClient type PolicyEventsQueryResults = original.PolicyEventsQueryResults +type PolicyGroupSummary = original.PolicyGroupSummary type PolicyState = original.PolicyState type PolicyStatesClient = original.PolicyStatesClient type PolicyStatesQueryResults = original.PolicyStatesQueryResults +type PolicyTrackedResource = original.PolicyTrackedResource +type PolicyTrackedResourcesClient = original.PolicyTrackedResourcesClient +type PolicyTrackedResourcesQueryResults = original.PolicyTrackedResourcesQueryResults +type PolicyTrackedResourcesQueryResultsIterator = original.PolicyTrackedResourcesQueryResultsIterator +type PolicyTrackedResourcesQueryResultsPage = original.PolicyTrackedResourcesQueryResultsPage type QueryFailure = original.QueryFailure type QueryFailureError = original.QueryFailureError +type Remediation = original.Remediation +type RemediationDeployment = original.RemediationDeployment +type RemediationDeploymentSummary = original.RemediationDeploymentSummary +type RemediationDeploymentsListResult = original.RemediationDeploymentsListResult +type RemediationDeploymentsListResultIterator = original.RemediationDeploymentsListResultIterator +type RemediationDeploymentsListResultPage = original.RemediationDeploymentsListResultPage +type RemediationFilters = original.RemediationFilters +type RemediationListResult = original.RemediationListResult +type RemediationListResultIterator = original.RemediationListResultIterator +type RemediationListResultPage = original.RemediationListResultPage +type RemediationProperties = original.RemediationProperties +type RemediationsClient = original.RemediationsClient type String = original.String type SummarizeResults = original.SummarizeResults type Summary = original.Summary type SummaryResults = original.SummaryResults +type TrackedResourceModificationDetails = original.TrackedResourceModificationDetails +type TypedErrorInfo = original.TypedErrorInfo func New() BaseClient { return original.New() @@ -73,6 +104,36 @@ func NewPolicyStatesClient() PolicyStatesClient { func NewPolicyStatesClientWithBaseURI(baseURI string) PolicyStatesClient { return original.NewPolicyStatesClientWithBaseURI(baseURI) } +func NewPolicyTrackedResourcesClient() PolicyTrackedResourcesClient { + return original.NewPolicyTrackedResourcesClient() +} +func NewPolicyTrackedResourcesClientWithBaseURI(baseURI string) PolicyTrackedResourcesClient { + return original.NewPolicyTrackedResourcesClientWithBaseURI(baseURI) +} +func NewPolicyTrackedResourcesQueryResultsIterator(page PolicyTrackedResourcesQueryResultsPage) PolicyTrackedResourcesQueryResultsIterator { + return original.NewPolicyTrackedResourcesQueryResultsIterator(page) +} +func NewPolicyTrackedResourcesQueryResultsPage(getNextPage func(context.Context, PolicyTrackedResourcesQueryResults) (PolicyTrackedResourcesQueryResults, error)) PolicyTrackedResourcesQueryResultsPage { + return original.NewPolicyTrackedResourcesQueryResultsPage(getNextPage) +} +func NewRemediationDeploymentsListResultIterator(page RemediationDeploymentsListResultPage) RemediationDeploymentsListResultIterator { + return original.NewRemediationDeploymentsListResultIterator(page) +} +func NewRemediationDeploymentsListResultPage(getNextPage func(context.Context, RemediationDeploymentsListResult) (RemediationDeploymentsListResult, error)) RemediationDeploymentsListResultPage { + return original.NewRemediationDeploymentsListResultPage(getNextPage) +} +func NewRemediationListResultIterator(page RemediationListResultPage) RemediationListResultIterator { + return original.NewRemediationListResultIterator(page) +} +func NewRemediationListResultPage(getNextPage func(context.Context, RemediationListResult) (RemediationListResult, error)) RemediationListResultPage { + return original.NewRemediationListResultPage(getNextPage) +} +func NewRemediationsClient() RemediationsClient { + return original.NewRemediationsClient() +} +func NewRemediationsClientWithBaseURI(baseURI string) RemediationsClient { + return original.NewRemediationsClientWithBaseURI(baseURI) +} func NewWithBaseURI(baseURI string) BaseClient { return original.NewWithBaseURI(baseURI) } diff --git a/profiles/preview/policyinsights/mgmt/policyinsights/policyinsightsapi/models.go b/profiles/preview/policyinsights/mgmt/policyinsights/policyinsightsapi/models.go index 68f64baaefe8..3f4601162208 100644 --- a/profiles/preview/policyinsights/mgmt/policyinsights/policyinsightsapi/models.go +++ b/profiles/preview/policyinsights/mgmt/policyinsights/policyinsightsapi/models.go @@ -19,8 +19,10 @@ package policyinsightsapi -import original "github.com/Azure/azure-sdk-for-go/services/policyinsights/mgmt/2018-04-04/policyinsights/policyinsightsapi" +import original "github.com/Azure/azure-sdk-for-go/services/policyinsights/mgmt/2019-10-01/policyinsights/policyinsightsapi" type OperationsClientAPI = original.OperationsClientAPI type PolicyEventsClientAPI = original.PolicyEventsClientAPI type PolicyStatesClientAPI = original.PolicyStatesClientAPI +type PolicyTrackedResourcesClientAPI = original.PolicyTrackedResourcesClientAPI +type RemediationsClientAPI = original.RemediationsClientAPI diff --git a/profiles/preview/preview/appconfiguration/mgmt/appconfiguration/models.go b/profiles/preview/preview/appconfiguration/mgmt/appconfiguration/models.go index 6ac37bf91349..695ea51ccff1 100644 --- a/profiles/preview/preview/appconfiguration/mgmt/appconfiguration/models.go +++ b/profiles/preview/preview/appconfiguration/mgmt/appconfiguration/models.go @@ -57,6 +57,8 @@ type ConfigurationStoresCreateFuture = original.ConfigurationStoresCreateFuture type ConfigurationStoresDeleteFuture = original.ConfigurationStoresDeleteFuture type ConfigurationStoresUpdateFuture = original.ConfigurationStoresUpdateFuture type Error = original.Error +type KeyValue = original.KeyValue +type ListKeyValueParameters = original.ListKeyValueParameters type NameAvailabilityStatus = original.NameAvailabilityStatus type OperationDefinition = original.OperationDefinition type OperationDefinitionDisplay = original.OperationDefinitionDisplay diff --git a/profiles/preview/preview/devspaces/mgmt/devspaces/devspacesapi/models.go b/profiles/preview/preview/appplatform/mgmt/appplatform/appplatformapi/models.go similarity index 73% rename from profiles/preview/preview/devspaces/mgmt/devspaces/devspacesapi/models.go rename to profiles/preview/preview/appplatform/mgmt/appplatform/appplatformapi/models.go index 4950c9f77c2b..3678e5593e3e 100644 --- a/profiles/preview/preview/devspaces/mgmt/devspaces/devspacesapi/models.go +++ b/profiles/preview/preview/appplatform/mgmt/appplatform/appplatformapi/models.go @@ -17,10 +17,12 @@ // This code was auto-generated by: // github.com/Azure/azure-sdk-for-go/tools/profileBuilder -package devspacesapi +package appplatformapi -import original "github.com/Azure/azure-sdk-for-go/services/preview/devspaces/mgmt/2019-01-01-preview/devspaces/devspacesapi" +import original "github.com/Azure/azure-sdk-for-go/services/preview/appplatform/mgmt/2019-05-01-preview/appplatform/appplatformapi" -type ContainerHostMappingsClientAPI = original.ContainerHostMappingsClientAPI -type ControllersClientAPI = original.ControllersClientAPI +type AppsClientAPI = original.AppsClientAPI +type BindingsClientAPI = original.BindingsClientAPI +type DeploymentsClientAPI = original.DeploymentsClientAPI type OperationsClientAPI = original.OperationsClientAPI +type ServicesClientAPI = original.ServicesClientAPI diff --git a/profiles/preview/preview/appplatform/mgmt/appplatform/models.go b/profiles/preview/preview/appplatform/mgmt/appplatform/models.go new file mode 100644 index 000000000000..bf6f0554b541 --- /dev/null +++ b/profiles/preview/preview/appplatform/mgmt/appplatform/models.go @@ -0,0 +1,277 @@ +// +build go1.9 + +// Copyright 2019 Microsoft Corporation +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// This code was auto-generated by: +// github.com/Azure/azure-sdk-for-go/tools/profileBuilder + +package appplatform + +import ( + "context" + + original "github.com/Azure/azure-sdk-for-go/services/preview/appplatform/mgmt/2019-05-01-preview/appplatform" +) + +const ( + DefaultBaseURI = original.DefaultBaseURI +) + +type AppResourceProvisioningState = original.AppResourceProvisioningState + +const ( + Failed AppResourceProvisioningState = original.Failed + Succeeded AppResourceProvisioningState = original.Succeeded +) + +type ConfigServerState = original.ConfigServerState + +const ( + ConfigServerStateDeleted ConfigServerState = original.ConfigServerStateDeleted + ConfigServerStateFailed ConfigServerState = original.ConfigServerStateFailed + ConfigServerStateNotAvailable ConfigServerState = original.ConfigServerStateNotAvailable + ConfigServerStateSucceeded ConfigServerState = original.ConfigServerStateSucceeded + ConfigServerStateUpdating ConfigServerState = original.ConfigServerStateUpdating +) + +type DeploymentResourceProvisioningState = original.DeploymentResourceProvisioningState + +const ( + DeploymentResourceProvisioningStateCreating DeploymentResourceProvisioningState = original.DeploymentResourceProvisioningStateCreating + DeploymentResourceProvisioningStateFailed DeploymentResourceProvisioningState = original.DeploymentResourceProvisioningStateFailed + DeploymentResourceProvisioningStateProcessing DeploymentResourceProvisioningState = original.DeploymentResourceProvisioningStateProcessing + DeploymentResourceProvisioningStateSucceeded DeploymentResourceProvisioningState = original.DeploymentResourceProvisioningStateSucceeded +) + +type DeploymentResourceStatus = original.DeploymentResourceStatus + +const ( + DeploymentResourceStatusFailed DeploymentResourceStatus = original.DeploymentResourceStatusFailed + DeploymentResourceStatusProcessing DeploymentResourceStatus = original.DeploymentResourceStatusProcessing + DeploymentResourceStatusRunning DeploymentResourceStatus = original.DeploymentResourceStatusRunning + DeploymentResourceStatusStopped DeploymentResourceStatus = original.DeploymentResourceStatusStopped + DeploymentResourceStatusUnknown DeploymentResourceStatus = original.DeploymentResourceStatusUnknown +) + +type ProvisioningState = original.ProvisioningState + +const ( + ProvisioningStateCreating ProvisioningState = original.ProvisioningStateCreating + ProvisioningStateDeleted ProvisioningState = original.ProvisioningStateDeleted + ProvisioningStateDeleting ProvisioningState = original.ProvisioningStateDeleting + ProvisioningStateFailed ProvisioningState = original.ProvisioningStateFailed + ProvisioningStateMoved ProvisioningState = original.ProvisioningStateMoved + ProvisioningStateMoveFailed ProvisioningState = original.ProvisioningStateMoveFailed + ProvisioningStateMoving ProvisioningState = original.ProvisioningStateMoving + ProvisioningStateSucceeded ProvisioningState = original.ProvisioningStateSucceeded + ProvisioningStateUpdating ProvisioningState = original.ProvisioningStateUpdating +) + +type RuntimeVersion = original.RuntimeVersion + +const ( + Java11 RuntimeVersion = original.Java11 + Java8 RuntimeVersion = original.Java8 +) + +type TestKeyType = original.TestKeyType + +const ( + Primary TestKeyType = original.Primary + Secondary TestKeyType = original.Secondary +) + +type TraceProxyState = original.TraceProxyState + +const ( + TraceProxyStateFailed TraceProxyState = original.TraceProxyStateFailed + TraceProxyStateNotAvailable TraceProxyState = original.TraceProxyStateNotAvailable + TraceProxyStateSucceeded TraceProxyState = original.TraceProxyStateSucceeded + TraceProxyStateUpdating TraceProxyState = original.TraceProxyStateUpdating +) + +type UserSourceType = original.UserSourceType + +const ( + Jar UserSourceType = original.Jar + Source UserSourceType = original.Source +) + +type AppResource = original.AppResource +type AppResourceCollection = original.AppResourceCollection +type AppResourceCollectionIterator = original.AppResourceCollectionIterator +type AppResourceCollectionPage = original.AppResourceCollectionPage +type AppResourceProperties = original.AppResourceProperties +type AppsClient = original.AppsClient +type AvailableOperations = original.AvailableOperations +type AvailableOperationsIterator = original.AvailableOperationsIterator +type AvailableOperationsPage = original.AvailableOperationsPage +type BaseClient = original.BaseClient +type BindingResource = original.BindingResource +type BindingResourceCollection = original.BindingResourceCollection +type BindingResourceCollectionIterator = original.BindingResourceCollectionIterator +type BindingResourceCollectionPage = original.BindingResourceCollectionPage +type BindingResourceProperties = original.BindingResourceProperties +type BindingsClient = original.BindingsClient +type CloudError = original.CloudError +type CloudErrorBody = original.CloudErrorBody +type ClusterResourceProperties = original.ClusterResourceProperties +type ConfigServerGitProperty = original.ConfigServerGitProperty +type ConfigServerProperties = original.ConfigServerProperties +type ConfigServerSettings = original.ConfigServerSettings +type DeploymentInstance = original.DeploymentInstance +type DeploymentResource = original.DeploymentResource +type DeploymentResourceCollection = original.DeploymentResourceCollection +type DeploymentResourceCollectionIterator = original.DeploymentResourceCollectionIterator +type DeploymentResourceCollectionPage = original.DeploymentResourceCollectionPage +type DeploymentResourceProperties = original.DeploymentResourceProperties +type DeploymentSettings = original.DeploymentSettings +type DeploymentsClient = original.DeploymentsClient +type DeploymentsCreateOrUpdateFuture = original.DeploymentsCreateOrUpdateFuture +type DeploymentsRestartFuture = original.DeploymentsRestartFuture +type DeploymentsStartFuture = original.DeploymentsStartFuture +type DeploymentsStopFuture = original.DeploymentsStopFuture +type DeploymentsUpdateFuture = original.DeploymentsUpdateFuture +type Error = original.Error +type GitPatternRepository = original.GitPatternRepository +type LogFileURLResponse = original.LogFileURLResponse +type LogSpecification = original.LogSpecification +type MetricDimension = original.MetricDimension +type MetricSpecification = original.MetricSpecification +type NameAvailability = original.NameAvailability +type NameAvailabilityParameters = original.NameAvailabilityParameters +type OperationDetail = original.OperationDetail +type OperationDisplay = original.OperationDisplay +type OperationProperties = original.OperationProperties +type OperationsClient = original.OperationsClient +type PersistentDisk = original.PersistentDisk +type ProxyResource = original.ProxyResource +type RegenerateTestKeyRequestPayload = original.RegenerateTestKeyRequestPayload +type Resource = original.Resource +type ResourceUploadDefinition = original.ResourceUploadDefinition +type ServiceResource = original.ServiceResource +type ServiceResourceList = original.ServiceResourceList +type ServiceResourceListIterator = original.ServiceResourceListIterator +type ServiceResourceListPage = original.ServiceResourceListPage +type ServiceSpecification = original.ServiceSpecification +type ServicesClient = original.ServicesClient +type ServicesCreateOrUpdateFuture = original.ServicesCreateOrUpdateFuture +type ServicesDeleteFuture = original.ServicesDeleteFuture +type ServicesUpdateFuture = original.ServicesUpdateFuture +type TemporaryDisk = original.TemporaryDisk +type TestKeys = original.TestKeys +type TraceProperties = original.TraceProperties +type TrackedResource = original.TrackedResource +type UserSourceInfo = original.UserSourceInfo + +func New(subscriptionID string) BaseClient { + return original.New(subscriptionID) +} +func NewAppResourceCollectionIterator(page AppResourceCollectionPage) AppResourceCollectionIterator { + return original.NewAppResourceCollectionIterator(page) +} +func NewAppResourceCollectionPage(getNextPage func(context.Context, AppResourceCollection) (AppResourceCollection, error)) AppResourceCollectionPage { + return original.NewAppResourceCollectionPage(getNextPage) +} +func NewAppsClient(subscriptionID string) AppsClient { + return original.NewAppsClient(subscriptionID) +} +func NewAppsClientWithBaseURI(baseURI string, subscriptionID string) AppsClient { + return original.NewAppsClientWithBaseURI(baseURI, subscriptionID) +} +func NewAvailableOperationsIterator(page AvailableOperationsPage) AvailableOperationsIterator { + return original.NewAvailableOperationsIterator(page) +} +func NewAvailableOperationsPage(getNextPage func(context.Context, AvailableOperations) (AvailableOperations, error)) AvailableOperationsPage { + return original.NewAvailableOperationsPage(getNextPage) +} +func NewBindingResourceCollectionIterator(page BindingResourceCollectionPage) BindingResourceCollectionIterator { + return original.NewBindingResourceCollectionIterator(page) +} +func NewBindingResourceCollectionPage(getNextPage func(context.Context, BindingResourceCollection) (BindingResourceCollection, error)) BindingResourceCollectionPage { + return original.NewBindingResourceCollectionPage(getNextPage) +} +func NewBindingsClient(subscriptionID string) BindingsClient { + return original.NewBindingsClient(subscriptionID) +} +func NewBindingsClientWithBaseURI(baseURI string, subscriptionID string) BindingsClient { + return original.NewBindingsClientWithBaseURI(baseURI, subscriptionID) +} +func NewDeploymentResourceCollectionIterator(page DeploymentResourceCollectionPage) DeploymentResourceCollectionIterator { + return original.NewDeploymentResourceCollectionIterator(page) +} +func NewDeploymentResourceCollectionPage(getNextPage func(context.Context, DeploymentResourceCollection) (DeploymentResourceCollection, error)) DeploymentResourceCollectionPage { + return original.NewDeploymentResourceCollectionPage(getNextPage) +} +func NewDeploymentsClient(subscriptionID string) DeploymentsClient { + return original.NewDeploymentsClient(subscriptionID) +} +func NewDeploymentsClientWithBaseURI(baseURI string, subscriptionID string) DeploymentsClient { + return original.NewDeploymentsClientWithBaseURI(baseURI, subscriptionID) +} +func NewOperationsClient(subscriptionID string) OperationsClient { + return original.NewOperationsClient(subscriptionID) +} +func NewOperationsClientWithBaseURI(baseURI string, subscriptionID string) OperationsClient { + return original.NewOperationsClientWithBaseURI(baseURI, subscriptionID) +} +func NewServiceResourceListIterator(page ServiceResourceListPage) ServiceResourceListIterator { + return original.NewServiceResourceListIterator(page) +} +func NewServiceResourceListPage(getNextPage func(context.Context, ServiceResourceList) (ServiceResourceList, error)) ServiceResourceListPage { + return original.NewServiceResourceListPage(getNextPage) +} +func NewServicesClient(subscriptionID string) ServicesClient { + return original.NewServicesClient(subscriptionID) +} +func NewServicesClientWithBaseURI(baseURI string, subscriptionID string) ServicesClient { + return original.NewServicesClientWithBaseURI(baseURI, subscriptionID) +} +func NewWithBaseURI(baseURI string, subscriptionID string) BaseClient { + return original.NewWithBaseURI(baseURI, subscriptionID) +} +func PossibleAppResourceProvisioningStateValues() []AppResourceProvisioningState { + return original.PossibleAppResourceProvisioningStateValues() +} +func PossibleConfigServerStateValues() []ConfigServerState { + return original.PossibleConfigServerStateValues() +} +func PossibleDeploymentResourceProvisioningStateValues() []DeploymentResourceProvisioningState { + return original.PossibleDeploymentResourceProvisioningStateValues() +} +func PossibleDeploymentResourceStatusValues() []DeploymentResourceStatus { + return original.PossibleDeploymentResourceStatusValues() +} +func PossibleProvisioningStateValues() []ProvisioningState { + return original.PossibleProvisioningStateValues() +} +func PossibleRuntimeVersionValues() []RuntimeVersion { + return original.PossibleRuntimeVersionValues() +} +func PossibleTestKeyTypeValues() []TestKeyType { + return original.PossibleTestKeyTypeValues() +} +func PossibleTraceProxyStateValues() []TraceProxyState { + return original.PossibleTraceProxyStateValues() +} +func PossibleUserSourceTypeValues() []UserSourceType { + return original.PossibleUserSourceTypeValues() +} +func UserAgent() string { + return original.UserAgent() + " profiles/preview" +} +func Version() string { + return original.Version() +} diff --git a/profiles/preview/preview/cognitiveservices/luis/authoring/authoringapi/models.go b/profiles/preview/preview/cognitiveservices/luis/authoring/authoringapi/models.go new file mode 100644 index 000000000000..a7c3942ad949 --- /dev/null +++ b/profiles/preview/preview/cognitiveservices/luis/authoring/authoringapi/models.go @@ -0,0 +1,33 @@ +// +build go1.9 + +// Copyright 2019 Microsoft Corporation +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// This code was auto-generated by: +// github.com/Azure/azure-sdk-for-go/tools/profileBuilder + +package authoringapi + +import original "github.com/Azure/azure-sdk-for-go/services/preview/cognitiveservices/v3.0/luis/authoring/authoringapi" + +type AppsClientAPI = original.AppsClientAPI +type AzureAccountsClientAPI = original.AzureAccountsClientAPI +type ExamplesClientAPI = original.ExamplesClientAPI +type FeaturesClientAPI = original.FeaturesClientAPI +type ModelClientAPI = original.ModelClientAPI +type PatternClientAPI = original.PatternClientAPI +type PermissionsClientAPI = original.PermissionsClientAPI +type SettingsClientAPI = original.SettingsClientAPI +type TrainClientAPI = original.TrainClientAPI +type VersionsClientAPI = original.VersionsClientAPI diff --git a/profiles/preview/cognitiveservices/luis/programmatic/models.go b/profiles/preview/preview/cognitiveservices/luis/authoring/models.go similarity index 78% rename from profiles/preview/cognitiveservices/luis/programmatic/models.go rename to profiles/preview/preview/cognitiveservices/luis/authoring/models.go index bb1528ceddbc..adbce417b2c5 100644 --- a/profiles/preview/cognitiveservices/luis/programmatic/models.go +++ b/profiles/preview/preview/cognitiveservices/luis/authoring/models.go @@ -17,26 +17,9 @@ // This code was auto-generated by: // github.com/Azure/azure-sdk-for-go/tools/profileBuilder -package programmatic +package authoring -import original "github.com/Azure/azure-sdk-for-go/services/cognitiveservices/v2.0/luis/programmatic" - -type AzureRegions = original.AzureRegions - -const ( - Australiaeast AzureRegions = original.Australiaeast - Brazilsouth AzureRegions = original.Brazilsouth - Eastasia AzureRegions = original.Eastasia - Eastus AzureRegions = original.Eastus - Eastus2 AzureRegions = original.Eastus2 - Northeurope AzureRegions = original.Northeurope - Southcentralus AzureRegions = original.Southcentralus - Southeastasia AzureRegions = original.Southeastasia - Westcentralus AzureRegions = original.Westcentralus - Westeurope AzureRegions = original.Westeurope - Westus AzureRegions = original.Westus - Westus2 AzureRegions = original.Westus2 -) +import original "github.com/Azure/azure-sdk-for-go/services/preview/cognitiveservices/v3.0/luis/authoring" type OperationStatusType = original.OperationStatusType @@ -49,12 +32,14 @@ const ( type ReadableType = original.ReadableType const ( + ReadableTypeChildEntityExtractor ReadableType = original.ReadableTypeChildEntityExtractor ReadableTypeClosedListEntityExtractor ReadableType = original.ReadableTypeClosedListEntityExtractor ReadableTypeCompositeEntityExtractor ReadableType = original.ReadableTypeCompositeEntityExtractor ReadableTypeEntityExtractor ReadableType = original.ReadableTypeEntityExtractor ReadableTypeHierarchicalChildEntityExtractor ReadableType = original.ReadableTypeHierarchicalChildEntityExtractor ReadableTypeHierarchicalEntityExtractor ReadableType = original.ReadableTypeHierarchicalEntityExtractor ReadableTypeIntentClassifier ReadableType = original.ReadableTypeIntentClassifier + ReadableTypeListEntityExtractor ReadableType = original.ReadableTypeListEntityExtractor ReadableTypePatternAnyEntityExtractor ReadableType = original.ReadableTypePatternAnyEntityExtractor ReadableTypePrebuiltEntityExtractor ReadableType = original.ReadableTypePrebuiltEntityExtractor ReadableTypeRegexEntityExtractor ReadableType = original.ReadableTypeRegexEntityExtractor @@ -63,12 +48,14 @@ const ( type ReadableType1 = original.ReadableType1 const ( + ReadableType1ChildEntityExtractor ReadableType1 = original.ReadableType1ChildEntityExtractor ReadableType1ClosedListEntityExtractor ReadableType1 = original.ReadableType1ClosedListEntityExtractor ReadableType1CompositeEntityExtractor ReadableType1 = original.ReadableType1CompositeEntityExtractor ReadableType1EntityExtractor ReadableType1 = original.ReadableType1EntityExtractor ReadableType1HierarchicalChildEntityExtractor ReadableType1 = original.ReadableType1HierarchicalChildEntityExtractor ReadableType1HierarchicalEntityExtractor ReadableType1 = original.ReadableType1HierarchicalEntityExtractor ReadableType1IntentClassifier ReadableType1 = original.ReadableType1IntentClassifier + ReadableType1ListEntityExtractor ReadableType1 = original.ReadableType1ListEntityExtractor ReadableType1PatternAnyEntityExtractor ReadableType1 = original.ReadableType1PatternAnyEntityExtractor ReadableType1PrebuiltEntityExtractor ReadableType1 = original.ReadableType1PrebuiltEntityExtractor ReadableType1RegexEntityExtractor ReadableType1 = original.ReadableType1RegexEntityExtractor @@ -77,26 +64,46 @@ const ( type ReadableType10 = original.ReadableType10 const ( + ReadableType10ChildEntityExtractor ReadableType10 = original.ReadableType10ChildEntityExtractor ReadableType10ClosedListEntityExtractor ReadableType10 = original.ReadableType10ClosedListEntityExtractor ReadableType10CompositeEntityExtractor ReadableType10 = original.ReadableType10CompositeEntityExtractor ReadableType10EntityExtractor ReadableType10 = original.ReadableType10EntityExtractor ReadableType10HierarchicalChildEntityExtractor ReadableType10 = original.ReadableType10HierarchicalChildEntityExtractor ReadableType10HierarchicalEntityExtractor ReadableType10 = original.ReadableType10HierarchicalEntityExtractor ReadableType10IntentClassifier ReadableType10 = original.ReadableType10IntentClassifier + ReadableType10ListEntityExtractor ReadableType10 = original.ReadableType10ListEntityExtractor ReadableType10PatternAnyEntityExtractor ReadableType10 = original.ReadableType10PatternAnyEntityExtractor ReadableType10PrebuiltEntityExtractor ReadableType10 = original.ReadableType10PrebuiltEntityExtractor ReadableType10RegexEntityExtractor ReadableType10 = original.ReadableType10RegexEntityExtractor ) +type ReadableType11 = original.ReadableType11 + +const ( + ReadableType11ChildEntityExtractor ReadableType11 = original.ReadableType11ChildEntityExtractor + ReadableType11ClosedListEntityExtractor ReadableType11 = original.ReadableType11ClosedListEntityExtractor + ReadableType11CompositeEntityExtractor ReadableType11 = original.ReadableType11CompositeEntityExtractor + ReadableType11EntityExtractor ReadableType11 = original.ReadableType11EntityExtractor + ReadableType11HierarchicalChildEntityExtractor ReadableType11 = original.ReadableType11HierarchicalChildEntityExtractor + ReadableType11HierarchicalEntityExtractor ReadableType11 = original.ReadableType11HierarchicalEntityExtractor + ReadableType11IntentClassifier ReadableType11 = original.ReadableType11IntentClassifier + ReadableType11ListEntityExtractor ReadableType11 = original.ReadableType11ListEntityExtractor + ReadableType11PatternAnyEntityExtractor ReadableType11 = original.ReadableType11PatternAnyEntityExtractor + ReadableType11PrebuiltEntityExtractor ReadableType11 = original.ReadableType11PrebuiltEntityExtractor + ReadableType11RegexEntityExtractor ReadableType11 = original.ReadableType11RegexEntityExtractor +) + type ReadableType2 = original.ReadableType2 const ( + ReadableType2ChildEntityExtractor ReadableType2 = original.ReadableType2ChildEntityExtractor ReadableType2ClosedListEntityExtractor ReadableType2 = original.ReadableType2ClosedListEntityExtractor ReadableType2CompositeEntityExtractor ReadableType2 = original.ReadableType2CompositeEntityExtractor ReadableType2EntityExtractor ReadableType2 = original.ReadableType2EntityExtractor ReadableType2HierarchicalChildEntityExtractor ReadableType2 = original.ReadableType2HierarchicalChildEntityExtractor ReadableType2HierarchicalEntityExtractor ReadableType2 = original.ReadableType2HierarchicalEntityExtractor ReadableType2IntentClassifier ReadableType2 = original.ReadableType2IntentClassifier + ReadableType2ListEntityExtractor ReadableType2 = original.ReadableType2ListEntityExtractor ReadableType2PatternAnyEntityExtractor ReadableType2 = original.ReadableType2PatternAnyEntityExtractor ReadableType2PrebuiltEntityExtractor ReadableType2 = original.ReadableType2PrebuiltEntityExtractor ReadableType2RegexEntityExtractor ReadableType2 = original.ReadableType2RegexEntityExtractor @@ -105,12 +112,14 @@ const ( type ReadableType3 = original.ReadableType3 const ( + ReadableType3ChildEntityExtractor ReadableType3 = original.ReadableType3ChildEntityExtractor ReadableType3ClosedListEntityExtractor ReadableType3 = original.ReadableType3ClosedListEntityExtractor ReadableType3CompositeEntityExtractor ReadableType3 = original.ReadableType3CompositeEntityExtractor ReadableType3EntityExtractor ReadableType3 = original.ReadableType3EntityExtractor ReadableType3HierarchicalChildEntityExtractor ReadableType3 = original.ReadableType3HierarchicalChildEntityExtractor ReadableType3HierarchicalEntityExtractor ReadableType3 = original.ReadableType3HierarchicalEntityExtractor ReadableType3IntentClassifier ReadableType3 = original.ReadableType3IntentClassifier + ReadableType3ListEntityExtractor ReadableType3 = original.ReadableType3ListEntityExtractor ReadableType3PatternAnyEntityExtractor ReadableType3 = original.ReadableType3PatternAnyEntityExtractor ReadableType3PrebuiltEntityExtractor ReadableType3 = original.ReadableType3PrebuiltEntityExtractor ReadableType3RegexEntityExtractor ReadableType3 = original.ReadableType3RegexEntityExtractor @@ -119,12 +128,14 @@ const ( type ReadableType4 = original.ReadableType4 const ( + ReadableType4ChildEntityExtractor ReadableType4 = original.ReadableType4ChildEntityExtractor ReadableType4ClosedListEntityExtractor ReadableType4 = original.ReadableType4ClosedListEntityExtractor ReadableType4CompositeEntityExtractor ReadableType4 = original.ReadableType4CompositeEntityExtractor ReadableType4EntityExtractor ReadableType4 = original.ReadableType4EntityExtractor ReadableType4HierarchicalChildEntityExtractor ReadableType4 = original.ReadableType4HierarchicalChildEntityExtractor ReadableType4HierarchicalEntityExtractor ReadableType4 = original.ReadableType4HierarchicalEntityExtractor ReadableType4IntentClassifier ReadableType4 = original.ReadableType4IntentClassifier + ReadableType4ListEntityExtractor ReadableType4 = original.ReadableType4ListEntityExtractor ReadableType4PatternAnyEntityExtractor ReadableType4 = original.ReadableType4PatternAnyEntityExtractor ReadableType4PrebuiltEntityExtractor ReadableType4 = original.ReadableType4PrebuiltEntityExtractor ReadableType4RegexEntityExtractor ReadableType4 = original.ReadableType4RegexEntityExtractor @@ -133,12 +144,14 @@ const ( type ReadableType5 = original.ReadableType5 const ( + ReadableType5ChildEntityExtractor ReadableType5 = original.ReadableType5ChildEntityExtractor ReadableType5ClosedListEntityExtractor ReadableType5 = original.ReadableType5ClosedListEntityExtractor ReadableType5CompositeEntityExtractor ReadableType5 = original.ReadableType5CompositeEntityExtractor ReadableType5EntityExtractor ReadableType5 = original.ReadableType5EntityExtractor ReadableType5HierarchicalChildEntityExtractor ReadableType5 = original.ReadableType5HierarchicalChildEntityExtractor ReadableType5HierarchicalEntityExtractor ReadableType5 = original.ReadableType5HierarchicalEntityExtractor ReadableType5IntentClassifier ReadableType5 = original.ReadableType5IntentClassifier + ReadableType5ListEntityExtractor ReadableType5 = original.ReadableType5ListEntityExtractor ReadableType5PatternAnyEntityExtractor ReadableType5 = original.ReadableType5PatternAnyEntityExtractor ReadableType5PrebuiltEntityExtractor ReadableType5 = original.ReadableType5PrebuiltEntityExtractor ReadableType5RegexEntityExtractor ReadableType5 = original.ReadableType5RegexEntityExtractor @@ -147,12 +160,14 @@ const ( type ReadableType6 = original.ReadableType6 const ( + ReadableType6ChildEntityExtractor ReadableType6 = original.ReadableType6ChildEntityExtractor ReadableType6ClosedListEntityExtractor ReadableType6 = original.ReadableType6ClosedListEntityExtractor ReadableType6CompositeEntityExtractor ReadableType6 = original.ReadableType6CompositeEntityExtractor ReadableType6EntityExtractor ReadableType6 = original.ReadableType6EntityExtractor ReadableType6HierarchicalChildEntityExtractor ReadableType6 = original.ReadableType6HierarchicalChildEntityExtractor ReadableType6HierarchicalEntityExtractor ReadableType6 = original.ReadableType6HierarchicalEntityExtractor ReadableType6IntentClassifier ReadableType6 = original.ReadableType6IntentClassifier + ReadableType6ListEntityExtractor ReadableType6 = original.ReadableType6ListEntityExtractor ReadableType6PatternAnyEntityExtractor ReadableType6 = original.ReadableType6PatternAnyEntityExtractor ReadableType6PrebuiltEntityExtractor ReadableType6 = original.ReadableType6PrebuiltEntityExtractor ReadableType6RegexEntityExtractor ReadableType6 = original.ReadableType6RegexEntityExtractor @@ -161,12 +176,14 @@ const ( type ReadableType7 = original.ReadableType7 const ( + ReadableType7ChildEntityExtractor ReadableType7 = original.ReadableType7ChildEntityExtractor ReadableType7ClosedListEntityExtractor ReadableType7 = original.ReadableType7ClosedListEntityExtractor ReadableType7CompositeEntityExtractor ReadableType7 = original.ReadableType7CompositeEntityExtractor ReadableType7EntityExtractor ReadableType7 = original.ReadableType7EntityExtractor ReadableType7HierarchicalChildEntityExtractor ReadableType7 = original.ReadableType7HierarchicalChildEntityExtractor ReadableType7HierarchicalEntityExtractor ReadableType7 = original.ReadableType7HierarchicalEntityExtractor ReadableType7IntentClassifier ReadableType7 = original.ReadableType7IntentClassifier + ReadableType7ListEntityExtractor ReadableType7 = original.ReadableType7ListEntityExtractor ReadableType7PatternAnyEntityExtractor ReadableType7 = original.ReadableType7PatternAnyEntityExtractor ReadableType7PrebuiltEntityExtractor ReadableType7 = original.ReadableType7PrebuiltEntityExtractor ReadableType7RegexEntityExtractor ReadableType7 = original.ReadableType7RegexEntityExtractor @@ -175,12 +192,14 @@ const ( type ReadableType8 = original.ReadableType8 const ( + ReadableType8ChildEntityExtractor ReadableType8 = original.ReadableType8ChildEntityExtractor ReadableType8ClosedListEntityExtractor ReadableType8 = original.ReadableType8ClosedListEntityExtractor ReadableType8CompositeEntityExtractor ReadableType8 = original.ReadableType8CompositeEntityExtractor ReadableType8EntityExtractor ReadableType8 = original.ReadableType8EntityExtractor ReadableType8HierarchicalChildEntityExtractor ReadableType8 = original.ReadableType8HierarchicalChildEntityExtractor ReadableType8HierarchicalEntityExtractor ReadableType8 = original.ReadableType8HierarchicalEntityExtractor ReadableType8IntentClassifier ReadableType8 = original.ReadableType8IntentClassifier + ReadableType8ListEntityExtractor ReadableType8 = original.ReadableType8ListEntityExtractor ReadableType8PatternAnyEntityExtractor ReadableType8 = original.ReadableType8PatternAnyEntityExtractor ReadableType8PrebuiltEntityExtractor ReadableType8 = original.ReadableType8PrebuiltEntityExtractor ReadableType8RegexEntityExtractor ReadableType8 = original.ReadableType8RegexEntityExtractor @@ -189,12 +208,14 @@ const ( type ReadableType9 = original.ReadableType9 const ( + ReadableType9ChildEntityExtractor ReadableType9 = original.ReadableType9ChildEntityExtractor ReadableType9ClosedListEntityExtractor ReadableType9 = original.ReadableType9ClosedListEntityExtractor ReadableType9CompositeEntityExtractor ReadableType9 = original.ReadableType9CompositeEntityExtractor ReadableType9EntityExtractor ReadableType9 = original.ReadableType9EntityExtractor ReadableType9HierarchicalChildEntityExtractor ReadableType9 = original.ReadableType9HierarchicalChildEntityExtractor ReadableType9HierarchicalEntityExtractor ReadableType9 = original.ReadableType9HierarchicalEntityExtractor ReadableType9IntentClassifier ReadableType9 = original.ReadableType9IntentClassifier + ReadableType9ListEntityExtractor ReadableType9 = original.ReadableType9ListEntityExtractor ReadableType9PatternAnyEntityExtractor ReadableType9 = original.ReadableType9PatternAnyEntityExtractor ReadableType9PrebuiltEntityExtractor ReadableType9 = original.ReadableType9PrebuiltEntityExtractor ReadableType9RegexEntityExtractor ReadableType9 = original.ReadableType9RegexEntityExtractor @@ -228,6 +249,7 @@ const ( Trained TrainingStatus = original.Trained ) +type AppVersionSettingObject = original.AppVersionSettingObject type ApplicationCreateObject = original.ApplicationCreateObject type ApplicationInfoResponse = original.ApplicationInfoResponse type ApplicationPublishObject = original.ApplicationPublishObject @@ -237,9 +259,12 @@ type ApplicationUpdateObject = original.ApplicationUpdateObject type AppsClient = original.AppsClient type AvailableCulture = original.AvailableCulture type AvailablePrebuiltEntityModel = original.AvailablePrebuiltEntityModel +type AzureAccountInfoObject = original.AzureAccountInfoObject +type AzureAccountsClient = original.AzureAccountsClient type BaseClient = original.BaseClient type BatchLabelExample = original.BatchLabelExample type ChildEntity = original.ChildEntity +type ChildEntityModelCreateObject = original.ChildEntityModelCreateObject type ClosedList = original.ClosedList type ClosedListEntityExtractor = original.ClosedListEntityExtractor type ClosedListModelCreateObject = original.ClosedListModelCreateObject @@ -256,7 +281,9 @@ type EntitiesSuggestionExample = original.EntitiesSuggestionExample type EntityExtractor = original.EntityExtractor type EntityLabel = original.EntityLabel type EntityLabelObject = original.EntityLabelObject +type EntityModelCreateObject = original.EntityModelCreateObject type EntityModelInfo = original.EntityModelInfo +type EntityModelUpdateObject = original.EntityModelUpdateObject type EntityPrediction = original.EntityPrediction type EntityRole = original.EntityRole type EntityRoleCreateObject = original.EntityRoleCreateObject @@ -271,12 +298,11 @@ type FeatureInfoObject = original.FeatureInfoObject type FeaturesClient = original.FeaturesClient type FeaturesResponseObject = original.FeaturesResponseObject type HierarchicalChildEntity = original.HierarchicalChildEntity -type HierarchicalChildModelCreateObject = original.HierarchicalChildModelCreateObject type HierarchicalChildModelUpdateObject = original.HierarchicalChildModelUpdateObject type HierarchicalEntityExtractor = original.HierarchicalEntityExtractor -type HierarchicalEntityModel = original.HierarchicalEntityModel type HierarchicalModel = original.HierarchicalModel type Int32 = original.Int32 +type Int64 = original.Int64 type IntentClassifier = original.IntentClassifier type IntentPrediction = original.IntentPrediction type IntentsSuggestionExample = original.IntentsSuggestionExample @@ -285,10 +311,13 @@ type JSONModelFeature = original.JSONModelFeature type JSONRegexFeature = original.JSONRegexFeature type JSONUtterance = original.JSONUtterance type LabelExampleResponse = original.LabelExampleResponse +type LabelTextObject = original.LabelTextObject type LabeledUtterance = original.LabeledUtterance +type ListAppVersionSettingObject = original.ListAppVersionSettingObject type ListApplicationInfoResponse = original.ListApplicationInfoResponse type ListAvailableCulture = original.ListAvailableCulture type ListAvailablePrebuiltEntityModel = original.ListAvailablePrebuiltEntityModel +type ListAzureAccountInfoObject = original.ListAzureAccountInfoObject type ListBatchLabelExample = original.ListBatchLabelExample type ListClosedListEntityExtractor = original.ListClosedListEntityExtractor type ListCompositeEntityExtractor = original.ListCompositeEntityExtractor @@ -300,10 +329,13 @@ type ListExplicitListItem = original.ListExplicitListItem type ListHierarchicalEntityExtractor = original.ListHierarchicalEntityExtractor type ListIntentClassifier = original.ListIntentClassifier type ListIntentsSuggestionExample = original.ListIntentsSuggestionExample +type ListLabelTextObject = original.ListLabelTextObject type ListLabeledUtterance = original.ListLabeledUtterance type ListModelInfoResponse = original.ListModelInfoResponse type ListModelTrainingInfo = original.ListModelTrainingInfo +type ListNDepthEntityExtractor = original.ListNDepthEntityExtractor type ListPatternAnyEntityExtractor = original.ListPatternAnyEntityExtractor +type ListPatternFeatureInfo = original.ListPatternFeatureInfo type ListPatternRuleInfo = original.ListPatternRuleInfo type ListPhraseListFeatureInfo = original.ListPhraseListFeatureInfo type ListPrebuiltDomain = original.ListPrebuiltDomain @@ -320,6 +352,7 @@ type ModelInfoResponse = original.ModelInfoResponse type ModelTrainingDetails = original.ModelTrainingDetails type ModelTrainingInfo = original.ModelTrainingInfo type ModelUpdateObject = original.ModelUpdateObject +type NDepthEntityExtractor = original.NDepthEntityExtractor type OperationError = original.OperationError type OperationStatus = original.OperationStatus type PatternAny = original.PatternAny @@ -348,12 +381,15 @@ type PrebuiltDomainObject = original.PrebuiltDomainObject type PrebuiltEntity = original.PrebuiltEntity type PrebuiltEntityExtractor = original.PrebuiltEntityExtractor type ProductionOrStagingEndpointInfo = original.ProductionOrStagingEndpointInfo +type PublishSettingUpdateObject = original.PublishSettingUpdateObject +type PublishSettings = original.PublishSettings type ReadCloser = original.ReadCloser type RegexEntity = original.RegexEntity type RegexEntityExtractor = original.RegexEntityExtractor type RegexModelCreateObject = original.RegexModelCreateObject type RegexModelUpdateObject = original.RegexModelUpdateObject type SetString = original.SetString +type SettingsClient = original.SettingsClient type String = original.String type SubClosedList = original.SubClosedList type SubClosedListResponse = original.SubClosedListResponse @@ -367,38 +403,41 @@ type VersionsClient = original.VersionsClient type WordListBaseUpdateObject = original.WordListBaseUpdateObject type WordListObject = original.WordListObject -func New(azureRegion AzureRegions) BaseClient { - return original.New(azureRegion) +func New(endpoint string) BaseClient { + return original.New(endpoint) } -func NewAppsClient(azureRegion AzureRegions) AppsClient { - return original.NewAppsClient(azureRegion) +func NewAppsClient(endpoint string) AppsClient { + return original.NewAppsClient(endpoint) } -func NewExamplesClient(azureRegion AzureRegions) ExamplesClient { - return original.NewExamplesClient(azureRegion) +func NewAzureAccountsClient(endpoint string) AzureAccountsClient { + return original.NewAzureAccountsClient(endpoint) } -func NewFeaturesClient(azureRegion AzureRegions) FeaturesClient { - return original.NewFeaturesClient(azureRegion) +func NewExamplesClient(endpoint string) ExamplesClient { + return original.NewExamplesClient(endpoint) } -func NewModelClient(azureRegion AzureRegions) ModelClient { - return original.NewModelClient(azureRegion) +func NewFeaturesClient(endpoint string) FeaturesClient { + return original.NewFeaturesClient(endpoint) } -func NewPatternClient(azureRegion AzureRegions) PatternClient { - return original.NewPatternClient(azureRegion) +func NewModelClient(endpoint string) ModelClient { + return original.NewModelClient(endpoint) } -func NewPermissionsClient(azureRegion AzureRegions) PermissionsClient { - return original.NewPermissionsClient(azureRegion) +func NewPatternClient(endpoint string) PatternClient { + return original.NewPatternClient(endpoint) } -func NewTrainClient(azureRegion AzureRegions) TrainClient { - return original.NewTrainClient(azureRegion) +func NewPermissionsClient(endpoint string) PermissionsClient { + return original.NewPermissionsClient(endpoint) } -func NewVersionsClient(azureRegion AzureRegions) VersionsClient { - return original.NewVersionsClient(azureRegion) +func NewSettingsClient(endpoint string) SettingsClient { + return original.NewSettingsClient(endpoint) } -func NewWithoutDefaults(azureRegion AzureRegions) BaseClient { - return original.NewWithoutDefaults(azureRegion) +func NewTrainClient(endpoint string) TrainClient { + return original.NewTrainClient(endpoint) } -func PossibleAzureRegionsValues() []AzureRegions { - return original.PossibleAzureRegionsValues() +func NewVersionsClient(endpoint string) VersionsClient { + return original.NewVersionsClient(endpoint) +} +func NewWithoutDefaults(endpoint string) BaseClient { + return original.NewWithoutDefaults(endpoint) } func PossibleOperationStatusTypeValues() []OperationStatusType { return original.PossibleOperationStatusTypeValues() @@ -406,6 +445,9 @@ func PossibleOperationStatusTypeValues() []OperationStatusType { func PossibleReadableType10Values() []ReadableType10 { return original.PossibleReadableType10Values() } +func PossibleReadableType11Values() []ReadableType11 { + return original.PossibleReadableType11Values() +} func PossibleReadableType1Values() []ReadableType1 { return original.PossibleReadableType1Values() } diff --git a/profiles/preview/preview/containerservice/mgmt/containerservice/containerserviceapi/models.go b/profiles/preview/preview/containerservice/mgmt/containerservice/containerserviceapi/models.go index 3a3037bed8f7..a0f27d9e1c42 100644 --- a/profiles/preview/preview/containerservice/mgmt/containerservice/containerserviceapi/models.go +++ b/profiles/preview/preview/containerservice/mgmt/containerservice/containerserviceapi/models.go @@ -19,8 +19,9 @@ package containerserviceapi -import original "github.com/Azure/azure-sdk-for-go/services/preview/containerservice/mgmt/2018-09-30-preview/containerservice/containerserviceapi" +import original "github.com/Azure/azure-sdk-for-go/services/preview/containerservice/mgmt/2019-09-30-preview/containerservice/containerserviceapi" +type AgentPoolsClientAPI = original.AgentPoolsClientAPI type ContainerServicesClientAPI = original.ContainerServicesClientAPI type ManagedClustersClientAPI = original.ManagedClustersClientAPI type OpenShiftManagedClustersClientAPI = original.OpenShiftManagedClustersClientAPI diff --git a/profiles/preview/preview/containerservice/mgmt/containerservice/models.go b/profiles/preview/preview/containerservice/mgmt/containerservice/models.go index 12cc847e27ab..fdad234dfadf 100644 --- a/profiles/preview/preview/containerservice/mgmt/containerservice/models.go +++ b/profiles/preview/preview/containerservice/mgmt/containerservice/models.go @@ -22,13 +22,20 @@ package containerservice import ( "context" - original "github.com/Azure/azure-sdk-for-go/services/preview/containerservice/mgmt/2018-09-30-preview/containerservice" + original "github.com/Azure/azure-sdk-for-go/services/preview/containerservice/mgmt/2019-09-30-preview/containerservice" ) const ( DefaultBaseURI = original.DefaultBaseURI ) +type AgentPoolType = original.AgentPoolType + +const ( + AvailabilitySet AgentPoolType = original.AvailabilitySet + VirtualMachineScaleSets AgentPoolType = original.VirtualMachineScaleSets +) + type Kind = original.Kind const ( @@ -36,6 +43,13 @@ const ( KindOpenShiftManagedClusterBaseIdentityProvider Kind = original.KindOpenShiftManagedClusterBaseIdentityProvider ) +type LoadBalancerSku = original.LoadBalancerSku + +const ( + Basic LoadBalancerSku = original.Basic + Standard LoadBalancerSku = original.Standard +) + type NetworkPlugin = original.NetworkPlugin const ( @@ -46,7 +60,8 @@ const ( type NetworkPolicy = original.NetworkPolicy const ( - Calico NetworkPolicy = original.Calico + NetworkPolicyAzure NetworkPolicy = original.NetworkPolicyAzure + NetworkPolicyCalico NetworkPolicy = original.NetworkPolicyCalico ) type OSType = original.OSType @@ -111,6 +126,27 @@ const ( Swarm OrchestratorTypes = original.Swarm ) +type ResourceIdentityType = original.ResourceIdentityType + +const ( + None ResourceIdentityType = original.None + SystemAssigned ResourceIdentityType = original.SystemAssigned +) + +type ScaleSetEvictionPolicy = original.ScaleSetEvictionPolicy + +const ( + Deallocate ScaleSetEvictionPolicy = original.Deallocate + Delete ScaleSetEvictionPolicy = original.Delete +) + +type ScaleSetPriority = original.ScaleSetPriority + +const ( + Low ScaleSetPriority = original.Low + Regular ScaleSetPriority = original.Regular +) + type StorageProfileTypes = original.StorageProfileTypes const ( @@ -298,7 +334,20 @@ const ( ) type AccessProfile = original.AccessProfile +type AgentPool = original.AgentPool +type AgentPoolAvailableVersions = original.AgentPoolAvailableVersions +type AgentPoolAvailableVersionsProperties = original.AgentPoolAvailableVersionsProperties +type AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem = original.AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem +type AgentPoolListResult = original.AgentPoolListResult +type AgentPoolListResultIterator = original.AgentPoolListResultIterator +type AgentPoolListResultPage = original.AgentPoolListResultPage type AgentPoolProfile = original.AgentPoolProfile +type AgentPoolUpgradeProfile = original.AgentPoolUpgradeProfile +type AgentPoolUpgradeProfileProperties = original.AgentPoolUpgradeProfileProperties +type AgentPoolUpgradeProfilePropertiesUpgradesItem = original.AgentPoolUpgradeProfilePropertiesUpgradesItem +type AgentPoolsClient = original.AgentPoolsClient +type AgentPoolsCreateOrUpdateFuture = original.AgentPoolsCreateOrUpdateFuture +type AgentPoolsDeleteFuture = original.AgentPoolsDeleteFuture type BaseClient = original.BaseClient type BasicOpenShiftManagedClusterBaseIdentityProvider = original.BasicOpenShiftManagedClusterBaseIdentityProvider type CloudError = original.CloudError @@ -318,17 +367,26 @@ type ListResultIterator = original.ListResultIterator type ListResultPage = original.ListResultPage type ManagedCluster = original.ManagedCluster type ManagedClusterAADProfile = original.ManagedClusterAADProfile +type ManagedClusterAPIServerAccessProfile = original.ManagedClusterAPIServerAccessProfile type ManagedClusterAccessProfile = original.ManagedClusterAccessProfile type ManagedClusterAddonProfile = original.ManagedClusterAddonProfile type ManagedClusterAgentPoolProfile = original.ManagedClusterAgentPoolProfile +type ManagedClusterAgentPoolProfileProperties = original.ManagedClusterAgentPoolProfileProperties +type ManagedClusterIdentity = original.ManagedClusterIdentity type ManagedClusterListResult = original.ManagedClusterListResult type ManagedClusterListResultIterator = original.ManagedClusterListResultIterator type ManagedClusterListResultPage = original.ManagedClusterListResultPage +type ManagedClusterLoadBalancerProfile = original.ManagedClusterLoadBalancerProfile +type ManagedClusterLoadBalancerProfileManagedOutboundIPs = original.ManagedClusterLoadBalancerProfileManagedOutboundIPs +type ManagedClusterLoadBalancerProfileOutboundIPPrefixes = original.ManagedClusterLoadBalancerProfileOutboundIPPrefixes +type ManagedClusterLoadBalancerProfileOutboundIPs = original.ManagedClusterLoadBalancerProfileOutboundIPs type ManagedClusterPoolUpgradeProfile = original.ManagedClusterPoolUpgradeProfile +type ManagedClusterPoolUpgradeProfileUpgradesItem = original.ManagedClusterPoolUpgradeProfileUpgradesItem type ManagedClusterProperties = original.ManagedClusterProperties type ManagedClusterServicePrincipalProfile = original.ManagedClusterServicePrincipalProfile type ManagedClusterUpgradeProfile = original.ManagedClusterUpgradeProfile type ManagedClusterUpgradeProfileProperties = original.ManagedClusterUpgradeProfileProperties +type ManagedClusterWindowsProfile = original.ManagedClusterWindowsProfile type ManagedClustersClient = original.ManagedClustersClient type ManagedClustersCreateOrUpdateFuture = original.ManagedClustersCreateOrUpdateFuture type ManagedClustersDeleteFuture = original.ManagedClustersDeleteFuture @@ -348,6 +406,7 @@ type OpenShiftManagedClusterListResult = original.OpenShiftManagedClusterListRes type OpenShiftManagedClusterListResultIterator = original.OpenShiftManagedClusterListResultIterator type OpenShiftManagedClusterListResultPage = original.OpenShiftManagedClusterListResultPage type OpenShiftManagedClusterMasterPoolProfile = original.OpenShiftManagedClusterMasterPoolProfile +type OpenShiftManagedClusterMonitorProfile = original.OpenShiftManagedClusterMonitorProfile type OpenShiftManagedClusterProperties = original.OpenShiftManagedClusterProperties type OpenShiftManagedClustersClient = original.OpenShiftManagedClustersClient type OpenShiftManagedClustersCreateOrUpdateFuture = original.OpenShiftManagedClustersCreateOrUpdateFuture @@ -366,9 +425,11 @@ type OrchestratorVersionProfileProperties = original.OrchestratorVersionProfileP type Properties = original.Properties type PurchasePlan = original.PurchasePlan type Resource = original.Resource +type ResourceReference = original.ResourceReference type SSHConfiguration = original.SSHConfiguration type SSHPublicKey = original.SSHPublicKey type ServicePrincipalProfile = original.ServicePrincipalProfile +type SubResource = original.SubResource type TagsObject = original.TagsObject type VMDiagnostics = original.VMDiagnostics type WindowsProfile = original.WindowsProfile @@ -376,6 +437,18 @@ type WindowsProfile = original.WindowsProfile func New(subscriptionID string) BaseClient { return original.New(subscriptionID) } +func NewAgentPoolListResultIterator(page AgentPoolListResultPage) AgentPoolListResultIterator { + return original.NewAgentPoolListResultIterator(page) +} +func NewAgentPoolListResultPage(getNextPage func(context.Context, AgentPoolListResult) (AgentPoolListResult, error)) AgentPoolListResultPage { + return original.NewAgentPoolListResultPage(getNextPage) +} +func NewAgentPoolsClient(subscriptionID string) AgentPoolsClient { + return original.NewAgentPoolsClient(subscriptionID) +} +func NewAgentPoolsClientWithBaseURI(baseURI string, subscriptionID string) AgentPoolsClient { + return original.NewAgentPoolsClientWithBaseURI(baseURI, subscriptionID) +} func NewContainerServicesClient(subscriptionID string) ContainerServicesClient { return original.NewContainerServicesClient(subscriptionID) } @@ -421,9 +494,15 @@ func NewOperationsClientWithBaseURI(baseURI string, subscriptionID string) Opera func NewWithBaseURI(baseURI string, subscriptionID string) BaseClient { return original.NewWithBaseURI(baseURI, subscriptionID) } +func PossibleAgentPoolTypeValues() []AgentPoolType { + return original.PossibleAgentPoolTypeValues() +} func PossibleKindValues() []Kind { return original.PossibleKindValues() } +func PossibleLoadBalancerSkuValues() []LoadBalancerSku { + return original.PossibleLoadBalancerSkuValues() +} func PossibleNetworkPluginValues() []NetworkPlugin { return original.PossibleNetworkPluginValues() } @@ -442,6 +521,15 @@ func PossibleOpenShiftContainerServiceVMSizeValues() []OpenShiftContainerService func PossibleOrchestratorTypesValues() []OrchestratorTypes { return original.PossibleOrchestratorTypesValues() } +func PossibleResourceIdentityTypeValues() []ResourceIdentityType { + return original.PossibleResourceIdentityTypeValues() +} +func PossibleScaleSetEvictionPolicyValues() []ScaleSetEvictionPolicy { + return original.PossibleScaleSetEvictionPolicyValues() +} +func PossibleScaleSetPriorityValues() []ScaleSetPriority { + return original.PossibleScaleSetPriorityValues() +} func PossibleStorageProfileTypesValues() []StorageProfileTypes { return original.PossibleStorageProfileTypesValues() } diff --git a/profiles/preview/preview/datashare/mgmt/datashare/models.go b/profiles/preview/preview/datashare/mgmt/datashare/models.go index 1de16e97db28..a2f529f07097 100644 --- a/profiles/preview/preview/datashare/mgmt/datashare/models.go +++ b/profiles/preview/preview/datashare/mgmt/datashare/models.go @@ -47,6 +47,8 @@ const ( Blob DataSetType = original.Blob BlobFolder DataSetType = original.BlobFolder Container DataSetType = original.Container + SQLDBTable DataSetType = original.SQLDBTable + SQLDWTable DataSetType = original.SQLDWTable ) type InvitationStatus = original.InvitationStatus @@ -70,6 +72,8 @@ const ( KindBlobFolder Kind = original.KindBlobFolder KindContainer Kind = original.KindContainer KindDataSet Kind = original.KindDataSet + KindSQLDBTable Kind = original.KindSQLDBTable + KindSQLDWTable Kind = original.KindSQLDWTable ) type KindBasicDataSetMapping = original.KindBasicDataSetMapping @@ -82,6 +86,8 @@ const ( KindBasicDataSetMappingKindBlobFolder KindBasicDataSetMapping = original.KindBasicDataSetMappingKindBlobFolder KindBasicDataSetMappingKindContainer KindBasicDataSetMapping = original.KindBasicDataSetMappingKindContainer KindBasicDataSetMappingKindDataSetMapping KindBasicDataSetMapping = original.KindBasicDataSetMappingKindDataSetMapping + KindBasicDataSetMappingKindSQLDBTable KindBasicDataSetMapping = original.KindBasicDataSetMappingKindSQLDBTable + KindBasicDataSetMappingKindSQLDWTable KindBasicDataSetMapping = original.KindBasicDataSetMappingKindSQLDWTable ) type KindBasicSourceShareSynchronizationSetting = original.KindBasicSourceShareSynchronizationSetting @@ -105,6 +111,13 @@ const ( KindBasicTriggerKindTrigger KindBasicTrigger = original.KindBasicTriggerKindTrigger ) +type OutputType = original.OutputType + +const ( + Csv OutputType = original.Csv + Parquet OutputType = original.Parquet +) + type ProvisioningState = original.ProvisioningState const ( @@ -266,6 +279,14 @@ type ProviderShareSubscriptionProperties = original.ProviderShareSubscriptionPro type ProviderShareSubscriptionsClient = original.ProviderShareSubscriptionsClient type ProviderShareSubscriptionsRevokeFuture = original.ProviderShareSubscriptionsRevokeFuture type ProxyDto = original.ProxyDto +type SQLDBTableDataSet = original.SQLDBTableDataSet +type SQLDBTableDataSetMapping = original.SQLDBTableDataSetMapping +type SQLDBTableDataSetMappingProperties = original.SQLDBTableDataSetMappingProperties +type SQLDBTableProperties = original.SQLDBTableProperties +type SQLDWTableDataSet = original.SQLDWTableDataSet +type SQLDWTableDataSetMapping = original.SQLDWTableDataSetMapping +type SQLDWTableDataSetMappingProperties = original.SQLDWTableDataSetMappingProperties +type SQLDWTableProperties = original.SQLDWTableProperties type ScheduledSourceShareSynchronizationSettingProperties = original.ScheduledSourceShareSynchronizationSettingProperties type ScheduledSourceSynchronizationSetting = original.ScheduledSourceSynchronizationSetting type ScheduledSynchronizationSetting = original.ScheduledSynchronizationSetting @@ -519,6 +540,9 @@ func PossibleKindBasicTriggerValues() []KindBasicTrigger { func PossibleKindValues() []Kind { return original.PossibleKindValues() } +func PossibleOutputTypeValues() []OutputType { + return original.PossibleOutputTypeValues() +} func PossibleProvisioningStateValues() []ProvisioningState { return original.PossibleProvisioningStateValues() } diff --git a/profiles/preview/preview/devspaces/mgmt/devspaces/models.go b/profiles/preview/preview/devspaces/mgmt/devspaces/models.go deleted file mode 100644 index c083fceafe9b..000000000000 --- a/profiles/preview/preview/devspaces/mgmt/devspaces/models.go +++ /dev/null @@ -1,137 +0,0 @@ -// +build go1.9 - -// Copyright 2019 Microsoft Corporation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -// This code was auto-generated by: -// github.com/Azure/azure-sdk-for-go/tools/profileBuilder - -package devspaces - -import ( - "context" - - original "github.com/Azure/azure-sdk-for-go/services/preview/devspaces/mgmt/2019-01-01-preview/devspaces" -) - -const ( - DefaultBaseURI = original.DefaultBaseURI -) - -type InstanceType = original.InstanceType - -const ( - InstanceTypeKubernetes InstanceType = original.InstanceTypeKubernetes - InstanceTypeOrchestratorSpecificConnectionDetails InstanceType = original.InstanceTypeOrchestratorSpecificConnectionDetails -) - -type ProvisioningState = original.ProvisioningState - -const ( - Canceled ProvisioningState = original.Canceled - Creating ProvisioningState = original.Creating - Deleted ProvisioningState = original.Deleted - Deleting ProvisioningState = original.Deleting - Failed ProvisioningState = original.Failed - Succeeded ProvisioningState = original.Succeeded - Updating ProvisioningState = original.Updating -) - -type SkuTier = original.SkuTier - -const ( - Standard SkuTier = original.Standard -) - -type BaseClient = original.BaseClient -type BasicOrchestratorSpecificConnectionDetails = original.BasicOrchestratorSpecificConnectionDetails -type ContainerHostMapping = original.ContainerHostMapping -type ContainerHostMappingsClient = original.ContainerHostMappingsClient -type Controller = original.Controller -type ControllerConnectionDetails = original.ControllerConnectionDetails -type ControllerConnectionDetailsList = original.ControllerConnectionDetailsList -type ControllerList = original.ControllerList -type ControllerListIterator = original.ControllerListIterator -type ControllerListPage = original.ControllerListPage -type ControllerProperties = original.ControllerProperties -type ControllerUpdateParameters = original.ControllerUpdateParameters -type ControllersClient = original.ControllersClient -type ControllersCreateFuture = original.ControllersCreateFuture -type ControllersDeleteFuture = original.ControllersDeleteFuture -type ErrorDetails = original.ErrorDetails -type ErrorResponse = original.ErrorResponse -type KubernetesConnectionDetails = original.KubernetesConnectionDetails -type OperationsClient = original.OperationsClient -type OrchestratorSpecificConnectionDetails = original.OrchestratorSpecificConnectionDetails -type Resource = original.Resource -type ResourceProviderOperationDefinition = original.ResourceProviderOperationDefinition -type ResourceProviderOperationDisplay = original.ResourceProviderOperationDisplay -type ResourceProviderOperationList = original.ResourceProviderOperationList -type ResourceProviderOperationListIterator = original.ResourceProviderOperationListIterator -type ResourceProviderOperationListPage = original.ResourceProviderOperationListPage -type SetObject = original.SetObject -type Sku = original.Sku -type TrackedResource = original.TrackedResource - -func New(subscriptionID string) BaseClient { - return original.New(subscriptionID) -} -func NewContainerHostMappingsClient(subscriptionID string) ContainerHostMappingsClient { - return original.NewContainerHostMappingsClient(subscriptionID) -} -func NewContainerHostMappingsClientWithBaseURI(baseURI string, subscriptionID string) ContainerHostMappingsClient { - return original.NewContainerHostMappingsClientWithBaseURI(baseURI, subscriptionID) -} -func NewControllerListIterator(page ControllerListPage) ControllerListIterator { - return original.NewControllerListIterator(page) -} -func NewControllerListPage(getNextPage func(context.Context, ControllerList) (ControllerList, error)) ControllerListPage { - return original.NewControllerListPage(getNextPage) -} -func NewControllersClient(subscriptionID string) ControllersClient { - return original.NewControllersClient(subscriptionID) -} -func NewControllersClientWithBaseURI(baseURI string, subscriptionID string) ControllersClient { - return original.NewControllersClientWithBaseURI(baseURI, subscriptionID) -} -func NewOperationsClient(subscriptionID string) OperationsClient { - return original.NewOperationsClient(subscriptionID) -} -func NewOperationsClientWithBaseURI(baseURI string, subscriptionID string) OperationsClient { - return original.NewOperationsClientWithBaseURI(baseURI, subscriptionID) -} -func NewResourceProviderOperationListIterator(page ResourceProviderOperationListPage) ResourceProviderOperationListIterator { - return original.NewResourceProviderOperationListIterator(page) -} -func NewResourceProviderOperationListPage(getNextPage func(context.Context, ResourceProviderOperationList) (ResourceProviderOperationList, error)) ResourceProviderOperationListPage { - return original.NewResourceProviderOperationListPage(getNextPage) -} -func NewWithBaseURI(baseURI string, subscriptionID string) BaseClient { - return original.NewWithBaseURI(baseURI, subscriptionID) -} -func PossibleInstanceTypeValues() []InstanceType { - return original.PossibleInstanceTypeValues() -} -func PossibleProvisioningStateValues() []ProvisioningState { - return original.PossibleProvisioningStateValues() -} -func PossibleSkuTierValues() []SkuTier { - return original.PossibleSkuTierValues() -} -func UserAgent() string { - return original.UserAgent() + " profiles/preview" -} -func Version() string { - return original.Version() -} diff --git a/profiles/preview/preview/eventhub/mgmt/eventhub/models.go b/profiles/preview/preview/eventhub/mgmt/eventhub/models.go index 752727ce092e..f4cc4662efc8 100644 --- a/profiles/preview/preview/eventhub/mgmt/eventhub/models.go +++ b/profiles/preview/preview/eventhub/mgmt/eventhub/models.go @@ -43,6 +43,18 @@ const ( Reject IPAction = original.Reject ) +type IdentityType = original.IdentityType + +const ( + SystemAssigned IdentityType = original.SystemAssigned +) + +type KeySource = original.KeySource + +const ( + MicrosoftKeyVault KeySource = original.MicrosoftKeyVault +) + type NetworkRuleIPAction = original.NetworkRuleIPAction const ( @@ -85,12 +97,15 @@ type EHNamespaceListResult = original.EHNamespaceListResult type EHNamespaceListResultIterator = original.EHNamespaceListResultIterator type EHNamespaceListResultPage = original.EHNamespaceListResultPage type EHNamespaceProperties = original.EHNamespaceProperties +type Encryption = original.Encryption type ErrorResponse = original.ErrorResponse type IPFilterRule = original.IPFilterRule type IPFilterRuleListResult = original.IPFilterRuleListResult type IPFilterRuleListResultIterator = original.IPFilterRuleListResultIterator type IPFilterRuleListResultPage = original.IPFilterRuleListResultPage type IPFilterRuleProperties = original.IPFilterRuleProperties +type Identity = original.Identity +type KeyVaultProperties = original.KeyVaultProperties type NWRuleSetIPRules = original.NWRuleSetIPRules type NWRuleSetVirtualNetworkRules = original.NWRuleSetVirtualNetworkRules type NamespacesClient = original.NamespacesClient @@ -180,6 +195,12 @@ func PossibleDefaultActionValues() []DefaultAction { func PossibleIPActionValues() []IPAction { return original.PossibleIPActionValues() } +func PossibleIdentityTypeValues() []IdentityType { + return original.PossibleIdentityTypeValues() +} +func PossibleKeySourceValues() []KeySource { + return original.PossibleKeySourceValues() +} func PossibleNetworkRuleIPActionValues() []NetworkRuleIPAction { return original.PossibleNetworkRuleIPActionValues() } diff --git a/profiles/preview/preview/frontdoor/mgmt/frontdoor/frontdoorapi/models.go b/profiles/preview/preview/frontdoor/mgmt/frontdoor/frontdoorapi/models.go index b2d40a2d8b82..8a4e9fe3dfdd 100644 --- a/profiles/preview/preview/frontdoor/mgmt/frontdoor/frontdoorapi/models.go +++ b/profiles/preview/preview/frontdoor/mgmt/frontdoor/frontdoorapi/models.go @@ -19,15 +19,10 @@ package frontdoorapi -import original "github.com/Azure/azure-sdk-for-go/services/preview/frontdoor/mgmt/2019-05-01/frontdoor/frontdoorapi" +import original "github.com/Azure/azure-sdk-for-go/services/preview/frontdoor/mgmt/2018-08-01-preview/frontdoor/frontdoorapi" -type BackendPoolsClientAPI = original.BackendPoolsClientAPI type BaseClientAPI = original.BaseClientAPI type EndpointsClientAPI = original.EndpointsClientAPI type FrontDoorsClientAPI = original.FrontDoorsClientAPI type FrontendEndpointsClientAPI = original.FrontendEndpointsClientAPI -type HealthProbeSettingsClientAPI = original.HealthProbeSettingsClientAPI -type LoadBalancingSettingsClientAPI = original.LoadBalancingSettingsClientAPI -type ManagedRuleSetsClientAPI = original.ManagedRuleSetsClientAPI type PoliciesClientAPI = original.PoliciesClientAPI -type RoutingRulesClientAPI = original.RoutingRulesClientAPI diff --git a/profiles/preview/preview/frontdoor/mgmt/frontdoor/models.go b/profiles/preview/preview/frontdoor/mgmt/frontdoor/models.go index 6a94f1f4fbea..f7bfa1e2a7e0 100644 --- a/profiles/preview/preview/frontdoor/mgmt/frontdoor/models.go +++ b/profiles/preview/preview/frontdoor/mgmt/frontdoor/models.go @@ -22,20 +22,19 @@ package frontdoor import ( "context" - original "github.com/Azure/azure-sdk-for-go/services/preview/frontdoor/mgmt/2019-05-01/frontdoor" + original "github.com/Azure/azure-sdk-for-go/services/preview/frontdoor/mgmt/2018-08-01-preview/frontdoor" ) const ( DefaultBaseURI = original.DefaultBaseURI ) -type ActionType = original.ActionType +type Action = original.Action const ( - Allow ActionType = original.Allow - Block ActionType = original.Block - Log ActionType = original.Log - Redirect ActionType = original.Redirect + Allow Action = original.Allow + Block Action = original.Block + Log Action = original.Log ) type Availability = original.Availability @@ -45,13 +44,6 @@ const ( Unavailable Availability = original.Unavailable ) -type BackendEnabledState = original.BackendEnabledState - -const ( - Disabled BackendEnabledState = original.Disabled - Enabled BackendEnabledState = original.Enabled -) - type CertificateSource = original.CertificateSource const ( @@ -68,11 +60,11 @@ const ( type CustomHTTPSProvisioningState = original.CustomHTTPSProvisioningState const ( - CustomHTTPSProvisioningStateDisabled CustomHTTPSProvisioningState = original.CustomHTTPSProvisioningStateDisabled - CustomHTTPSProvisioningStateDisabling CustomHTTPSProvisioningState = original.CustomHTTPSProvisioningStateDisabling - CustomHTTPSProvisioningStateEnabled CustomHTTPSProvisioningState = original.CustomHTTPSProvisioningStateEnabled - CustomHTTPSProvisioningStateEnabling CustomHTTPSProvisioningState = original.CustomHTTPSProvisioningStateEnabling - CustomHTTPSProvisioningStateFailed CustomHTTPSProvisioningState = original.CustomHTTPSProvisioningStateFailed + Disabled CustomHTTPSProvisioningState = original.Disabled + Disabling CustomHTTPSProvisioningState = original.Disabling + Enabled CustomHTTPSProvisioningState = original.Enabled + Enabling CustomHTTPSProvisioningState = original.Enabling + Failed CustomHTTPSProvisioningState = original.Failed ) type CustomHTTPSProvisioningSubstate = original.CustomHTTPSProvisioningSubstate @@ -90,13 +82,6 @@ const ( SubmittingDomainControlValidationRequest CustomHTTPSProvisioningSubstate = original.SubmittingDomainControlValidationRequest ) -type CustomRuleEnabledState = original.CustomRuleEnabledState - -const ( - CustomRuleEnabledStateDisabled CustomRuleEnabledState = original.CustomRuleEnabledStateDisabled - CustomRuleEnabledStateEnabled CustomRuleEnabledState = original.CustomRuleEnabledStateEnabled -) - type DynamicCompressionEnabled = original.DynamicCompressionEnabled const ( @@ -111,11 +96,11 @@ const ( EnabledStateEnabled EnabledState = original.EnabledStateEnabled ) -type EnforceCertificateNameCheckEnabledState = original.EnforceCertificateNameCheckEnabledState +type EnabledStateEnum = original.EnabledStateEnum const ( - EnforceCertificateNameCheckEnabledStateDisabled EnforceCertificateNameCheckEnabledState = original.EnforceCertificateNameCheckEnabledStateDisabled - EnforceCertificateNameCheckEnabledStateEnabled EnforceCertificateNameCheckEnabledState = original.EnforceCertificateNameCheckEnabledStateEnabled + EnabledStateEnumDisabled EnabledStateEnum = original.EnabledStateEnumDisabled + EnabledStateEnumEnabled EnabledStateEnum = original.EnabledStateEnumEnabled ) type ForwardingProtocol = original.ForwardingProtocol @@ -126,61 +111,31 @@ const ( MatchRequest ForwardingProtocol = original.MatchRequest ) -type HealthProbeEnabled = original.HealthProbeEnabled - -const ( - HealthProbeEnabledDisabled HealthProbeEnabled = original.HealthProbeEnabledDisabled - HealthProbeEnabledEnabled HealthProbeEnabled = original.HealthProbeEnabledEnabled -) - -type HealthProbeMethod = original.HealthProbeMethod - -const ( - GET HealthProbeMethod = original.GET - HEAD HealthProbeMethod = original.HEAD -) - -type ManagedRuleEnabledState = original.ManagedRuleEnabledState - -const ( - ManagedRuleEnabledStateDisabled ManagedRuleEnabledState = original.ManagedRuleEnabledStateDisabled - ManagedRuleEnabledStateEnabled ManagedRuleEnabledState = original.ManagedRuleEnabledStateEnabled -) - -type MatchVariable = original.MatchVariable +type MatchCondition = original.MatchCondition const ( - Cookies MatchVariable = original.Cookies - PostArgs MatchVariable = original.PostArgs - QueryString MatchVariable = original.QueryString - RemoteAddr MatchVariable = original.RemoteAddr - RequestBody MatchVariable = original.RequestBody - RequestHeader MatchVariable = original.RequestHeader - RequestMethod MatchVariable = original.RequestMethod - RequestURI MatchVariable = original.RequestURI + PostArgs MatchCondition = original.PostArgs + QueryString MatchCondition = original.QueryString + RemoteAddr MatchCondition = original.RemoteAddr + RequestBody MatchCondition = original.RequestBody + RequestHeader MatchCondition = original.RequestHeader + RequestMethod MatchCondition = original.RequestMethod + RequestURI MatchCondition = original.RequestURI ) -type MinimumTLSVersion = original.MinimumTLSVersion +type Mode = original.Mode const ( - OneFullStopTwo MinimumTLSVersion = original.OneFullStopTwo - OneFullStopZero MinimumTLSVersion = original.OneFullStopZero + Detection Mode = original.Detection + Prevention Mode = original.Prevention ) type NetworkOperationStatus = original.NetworkOperationStatus const ( - Failed NetworkOperationStatus = original.Failed - InProgress NetworkOperationStatus = original.InProgress - Succeeded NetworkOperationStatus = original.Succeeded -) - -type OdataType = original.OdataType - -const ( - OdataTypeMicrosoftAzureFrontDoorModelsFrontdoorForwardingConfiguration OdataType = original.OdataTypeMicrosoftAzureFrontDoorModelsFrontdoorForwardingConfiguration - OdataTypeMicrosoftAzureFrontDoorModelsFrontdoorRedirectConfiguration OdataType = original.OdataTypeMicrosoftAzureFrontDoorModelsFrontdoorRedirectConfiguration - OdataTypeRouteConfiguration OdataType = original.OdataTypeRouteConfiguration + NetworkOperationStatusFailed NetworkOperationStatus = original.NetworkOperationStatusFailed + NetworkOperationStatusInProgress NetworkOperationStatus = original.NetworkOperationStatusInProgress + NetworkOperationStatusSucceeded NetworkOperationStatus = original.NetworkOperationStatusSucceeded ) type Operator = original.Operator @@ -197,32 +152,6 @@ const ( IPMatch Operator = original.IPMatch LessThan Operator = original.LessThan LessThanOrEqual Operator = original.LessThanOrEqual - RegEx Operator = original.RegEx -) - -type PolicyEnabledState = original.PolicyEnabledState - -const ( - PolicyEnabledStateDisabled PolicyEnabledState = original.PolicyEnabledStateDisabled - PolicyEnabledStateEnabled PolicyEnabledState = original.PolicyEnabledStateEnabled -) - -type PolicyMode = original.PolicyMode - -const ( - Detection PolicyMode = original.Detection - Prevention PolicyMode = original.Prevention -) - -type PolicyResourceState = original.PolicyResourceState - -const ( - PolicyResourceStateCreating PolicyResourceState = original.PolicyResourceStateCreating - PolicyResourceStateDeleting PolicyResourceState = original.PolicyResourceStateDeleting - PolicyResourceStateDisabled PolicyResourceState = original.PolicyResourceStateDisabled - PolicyResourceStateDisabling PolicyResourceState = original.PolicyResourceStateDisabling - PolicyResourceStateEnabled PolicyResourceState = original.PolicyResourceStateEnabled - PolicyResourceStateEnabling PolicyResourceState = original.PolicyResourceStateEnabling ) type Protocol = original.Protocol @@ -239,23 +168,6 @@ const ( StripNone Query = original.StripNone ) -type RedirectProtocol = original.RedirectProtocol - -const ( - RedirectProtocolHTTPOnly RedirectProtocol = original.RedirectProtocolHTTPOnly - RedirectProtocolHTTPSOnly RedirectProtocol = original.RedirectProtocolHTTPSOnly - RedirectProtocolMatchRequest RedirectProtocol = original.RedirectProtocolMatchRequest -) - -type RedirectType = original.RedirectType - -const ( - Found RedirectType = original.Found - Moved RedirectType = original.Moved - PermanentRedirect RedirectType = original.PermanentRedirect - TemporaryRedirect RedirectType = original.TemporaryRedirect -) - type ResourceState = original.ResourceState const ( @@ -274,11 +186,18 @@ const ( MicrosoftNetworkfrontDoorsfrontendEndpoints ResourceType = original.MicrosoftNetworkfrontDoorsfrontendEndpoints ) -type RoutingRuleEnabledState = original.RoutingRuleEnabledState +type RuleGroupOverride = original.RuleGroupOverride + +const ( + SQLInjection RuleGroupOverride = original.SQLInjection + XSS RuleGroupOverride = original.XSS +) + +type RuleSetType = original.RuleSetType const ( - RoutingRuleEnabledStateDisabled RoutingRuleEnabledState = original.RoutingRuleEnabledStateDisabled - RoutingRuleEnabledStateEnabled RoutingRuleEnabledState = original.RoutingRuleEnabledStateEnabled + RuleSetTypeAzureManagedRuleSet RuleSetType = original.RuleSetTypeAzureManagedRuleSet + RuleSetTypeUnknown RuleSetType = original.RuleSetTypeUnknown ) type RuleType = original.RuleType @@ -295,67 +214,72 @@ const ( SessionAffinityEnabledStateEnabled SessionAffinityEnabledState = original.SessionAffinityEnabledStateEnabled ) -type TransformType = original.TransformType +type TLSProtocolType = original.TLSProtocolType + +const ( + ServerNameIndication TLSProtocolType = original.ServerNameIndication +) + +type Transform = original.Transform + +const ( + HTMLEntityDecode Transform = original.HTMLEntityDecode + Lowercase Transform = original.Lowercase + RemoveNulls Transform = original.RemoveNulls + Trim Transform = original.Trim + Uppercase Transform = original.Uppercase + URLDecode Transform = original.URLDecode + URLEncode Transform = original.URLEncode +) + +type WebApplicationFirewallPolicy = original.WebApplicationFirewallPolicy const ( - Lowercase TransformType = original.Lowercase - RemoveNulls TransformType = original.RemoveNulls - Trim TransformType = original.Trim - Uppercase TransformType = original.Uppercase - URLDecode TransformType = original.URLDecode - URLEncode TransformType = original.URLEncode + WebApplicationFirewallPolicyCreating WebApplicationFirewallPolicy = original.WebApplicationFirewallPolicyCreating + WebApplicationFirewallPolicyDeleting WebApplicationFirewallPolicy = original.WebApplicationFirewallPolicyDeleting + WebApplicationFirewallPolicyDisabled WebApplicationFirewallPolicy = original.WebApplicationFirewallPolicyDisabled + WebApplicationFirewallPolicyDisabling WebApplicationFirewallPolicy = original.WebApplicationFirewallPolicyDisabling + WebApplicationFirewallPolicyEnabled WebApplicationFirewallPolicy = original.WebApplicationFirewallPolicyEnabled + WebApplicationFirewallPolicyEnabling WebApplicationFirewallPolicy = original.WebApplicationFirewallPolicyEnabling ) type AzureAsyncOperationResult = original.AzureAsyncOperationResult +type AzureManagedOverrideRuleGroup = original.AzureManagedOverrideRuleGroup +type AzureManagedRuleSet = original.AzureManagedRuleSet type Backend = original.Backend type BackendPool = original.BackendPool type BackendPoolListResult = original.BackendPoolListResult -type BackendPoolListResultIterator = original.BackendPoolListResultIterator -type BackendPoolListResultPage = original.BackendPoolListResultPage type BackendPoolProperties = original.BackendPoolProperties type BackendPoolUpdateParameters = original.BackendPoolUpdateParameters -type BackendPoolsClient = original.BackendPoolsClient -type BackendPoolsCreateOrUpdateFuture = original.BackendPoolsCreateOrUpdateFuture -type BackendPoolsDeleteFuture = original.BackendPoolsDeleteFuture -type BackendPoolsSettings = original.BackendPoolsSettings type BaseClient = original.BaseClient -type BasicRouteConfiguration = original.BasicRouteConfiguration +type BasicManagedRuleSet = original.BasicManagedRuleSet type CacheConfiguration = original.CacheConfiguration type CertificateSourceParameters = original.CertificateSourceParameters type CheckNameAvailabilityInput = original.CheckNameAvailabilityInput type CheckNameAvailabilityOutput = original.CheckNameAvailabilityOutput type CustomHTTPSConfiguration = original.CustomHTTPSConfiguration type CustomRule = original.CustomRule -type CustomRuleList = original.CustomRuleList +type CustomRules = original.CustomRules type EndpointsClient = original.EndpointsClient type EndpointsPurgeContentFuture = original.EndpointsPurgeContentFuture type Error = original.Error type ErrorDetails = original.ErrorDetails type ErrorResponse = original.ErrorResponse -type ForwardingConfiguration = original.ForwardingConfiguration type FrontDoor = original.FrontDoor type FrontDoorsClient = original.FrontDoorsClient type FrontDoorsCreateOrUpdateFutureType = original.FrontDoorsCreateOrUpdateFutureType type FrontDoorsDeleteFutureType = original.FrontDoorsDeleteFutureType type FrontendEndpoint = original.FrontendEndpoint -type FrontendEndpointLink = original.FrontendEndpointLink type FrontendEndpointProperties = original.FrontendEndpointProperties type FrontendEndpointUpdateParameters = original.FrontendEndpointUpdateParameters type FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink = original.FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink type FrontendEndpointsClient = original.FrontendEndpointsClient -type FrontendEndpointsCreateOrUpdateFuture = original.FrontendEndpointsCreateOrUpdateFuture -type FrontendEndpointsDeleteFuture = original.FrontendEndpointsDeleteFuture type FrontendEndpointsDisableHTTPSFuture = original.FrontendEndpointsDisableHTTPSFuture type FrontendEndpointsEnableHTTPSFuture = original.FrontendEndpointsEnableHTTPSFuture type FrontendEndpointsListResult = original.FrontendEndpointsListResult type FrontendEndpointsListResultIterator = original.FrontendEndpointsListResultIterator type FrontendEndpointsListResultPage = original.FrontendEndpointsListResultPage -type HealthProbeSettingsClient = original.HealthProbeSettingsClient -type HealthProbeSettingsCreateOrUpdateFuture = original.HealthProbeSettingsCreateOrUpdateFuture -type HealthProbeSettingsDeleteFuture = original.HealthProbeSettingsDeleteFuture type HealthProbeSettingsListResult = original.HealthProbeSettingsListResult -type HealthProbeSettingsListResultIterator = original.HealthProbeSettingsListResultIterator -type HealthProbeSettingsListResultPage = original.HealthProbeSettingsListResultPage type HealthProbeSettingsModel = original.HealthProbeSettingsModel type HealthProbeSettingsProperties = original.HealthProbeSettingsProperties type HealthProbeSettingsUpdateParameters = original.HealthProbeSettingsUpdateParameters @@ -364,72 +288,37 @@ type KeyVaultCertificateSourceParametersVault = original.KeyVaultCertificateSour type ListResult = original.ListResult type ListResultIterator = original.ListResultIterator type ListResultPage = original.ListResultPage -type LoadBalancingSettingsClient = original.LoadBalancingSettingsClient -type LoadBalancingSettingsCreateOrUpdateFuture = original.LoadBalancingSettingsCreateOrUpdateFuture -type LoadBalancingSettingsDeleteFuture = original.LoadBalancingSettingsDeleteFuture type LoadBalancingSettingsListResult = original.LoadBalancingSettingsListResult -type LoadBalancingSettingsListResultIterator = original.LoadBalancingSettingsListResultIterator -type LoadBalancingSettingsListResultPage = original.LoadBalancingSettingsListResultPage type LoadBalancingSettingsModel = original.LoadBalancingSettingsModel type LoadBalancingSettingsProperties = original.LoadBalancingSettingsProperties type LoadBalancingSettingsUpdateParameters = original.LoadBalancingSettingsUpdateParameters -type ManagedRuleDefinition = original.ManagedRuleDefinition -type ManagedRuleGroupDefinition = original.ManagedRuleGroupDefinition -type ManagedRuleGroupOverride = original.ManagedRuleGroupOverride -type ManagedRuleOverride = original.ManagedRuleOverride type ManagedRuleSet = original.ManagedRuleSet -type ManagedRuleSetDefinition = original.ManagedRuleSetDefinition -type ManagedRuleSetDefinitionList = original.ManagedRuleSetDefinitionList -type ManagedRuleSetDefinitionListIterator = original.ManagedRuleSetDefinitionListIterator -type ManagedRuleSetDefinitionListPage = original.ManagedRuleSetDefinitionListPage -type ManagedRuleSetDefinitionProperties = original.ManagedRuleSetDefinitionProperties -type ManagedRuleSetList = original.ManagedRuleSetList -type ManagedRuleSetsClient = original.ManagedRuleSetsClient -type MatchCondition = original.MatchCondition +type ManagedRuleSets = original.ManagedRuleSets +type MatchCondition1 = original.MatchCondition1 type PoliciesClient = original.PoliciesClient -type PoliciesCreateOrUpdateFuture = original.PoliciesCreateOrUpdateFuture type PoliciesDeleteFuture = original.PoliciesDeleteFuture type PolicySettings = original.PolicySettings type Properties = original.Properties type PurgeParameters = original.PurgeParameters -type RedirectConfiguration = original.RedirectConfiguration type Resource = original.Resource -type RouteConfiguration = original.RouteConfiguration type RoutingRule = original.RoutingRule type RoutingRuleListResult = original.RoutingRuleListResult -type RoutingRuleListResultIterator = original.RoutingRuleListResultIterator -type RoutingRuleListResultPage = original.RoutingRuleListResultPage type RoutingRuleProperties = original.RoutingRuleProperties type RoutingRuleUpdateParameters = original.RoutingRuleUpdateParameters -type RoutingRulesClient = original.RoutingRulesClient -type RoutingRulesCreateOrUpdateFuture = original.RoutingRulesCreateOrUpdateFuture -type RoutingRulesDeleteFuture = original.RoutingRulesDeleteFuture type SubResource = original.SubResource type TagsObject = original.TagsObject type UpdateParameters = original.UpdateParameters type ValidateCustomDomainInput = original.ValidateCustomDomainInput type ValidateCustomDomainOutput = original.ValidateCustomDomainOutput -type WebApplicationFirewallPolicy = original.WebApplicationFirewallPolicy -type WebApplicationFirewallPolicyList = original.WebApplicationFirewallPolicyList -type WebApplicationFirewallPolicyListIterator = original.WebApplicationFirewallPolicyListIterator -type WebApplicationFirewallPolicyListPage = original.WebApplicationFirewallPolicyListPage -type WebApplicationFirewallPolicyProperties = original.WebApplicationFirewallPolicyProperties +type WebApplicationFirewallPolicy1 = original.WebApplicationFirewallPolicy1 +type WebApplicationFirewallPolicyListResult = original.WebApplicationFirewallPolicyListResult +type WebApplicationFirewallPolicyListResultIterator = original.WebApplicationFirewallPolicyListResultIterator +type WebApplicationFirewallPolicyListResultPage = original.WebApplicationFirewallPolicyListResultPage +type WebApplicationFirewallPolicyPropertiesFormat = original.WebApplicationFirewallPolicyPropertiesFormat func New(subscriptionID string) BaseClient { return original.New(subscriptionID) } -func NewBackendPoolListResultIterator(page BackendPoolListResultPage) BackendPoolListResultIterator { - return original.NewBackendPoolListResultIterator(page) -} -func NewBackendPoolListResultPage(getNextPage func(context.Context, BackendPoolListResult) (BackendPoolListResult, error)) BackendPoolListResultPage { - return original.NewBackendPoolListResultPage(getNextPage) -} -func NewBackendPoolsClient(subscriptionID string) BackendPoolsClient { - return original.NewBackendPoolsClient(subscriptionID) -} -func NewBackendPoolsClientWithBaseURI(baseURI string, subscriptionID string) BackendPoolsClient { - return original.NewBackendPoolsClientWithBaseURI(baseURI, subscriptionID) -} func NewEndpointsClient(subscriptionID string) EndpointsClient { return original.NewEndpointsClient(subscriptionID) } @@ -454,84 +343,33 @@ func NewFrontendEndpointsListResultIterator(page FrontendEndpointsListResultPage func NewFrontendEndpointsListResultPage(getNextPage func(context.Context, FrontendEndpointsListResult) (FrontendEndpointsListResult, error)) FrontendEndpointsListResultPage { return original.NewFrontendEndpointsListResultPage(getNextPage) } -func NewHealthProbeSettingsClient(subscriptionID string) HealthProbeSettingsClient { - return original.NewHealthProbeSettingsClient(subscriptionID) -} -func NewHealthProbeSettingsClientWithBaseURI(baseURI string, subscriptionID string) HealthProbeSettingsClient { - return original.NewHealthProbeSettingsClientWithBaseURI(baseURI, subscriptionID) -} -func NewHealthProbeSettingsListResultIterator(page HealthProbeSettingsListResultPage) HealthProbeSettingsListResultIterator { - return original.NewHealthProbeSettingsListResultIterator(page) -} -func NewHealthProbeSettingsListResultPage(getNextPage func(context.Context, HealthProbeSettingsListResult) (HealthProbeSettingsListResult, error)) HealthProbeSettingsListResultPage { - return original.NewHealthProbeSettingsListResultPage(getNextPage) -} func NewListResultIterator(page ListResultPage) ListResultIterator { return original.NewListResultIterator(page) } func NewListResultPage(getNextPage func(context.Context, ListResult) (ListResult, error)) ListResultPage { return original.NewListResultPage(getNextPage) } -func NewLoadBalancingSettingsClient(subscriptionID string) LoadBalancingSettingsClient { - return original.NewLoadBalancingSettingsClient(subscriptionID) -} -func NewLoadBalancingSettingsClientWithBaseURI(baseURI string, subscriptionID string) LoadBalancingSettingsClient { - return original.NewLoadBalancingSettingsClientWithBaseURI(baseURI, subscriptionID) -} -func NewLoadBalancingSettingsListResultIterator(page LoadBalancingSettingsListResultPage) LoadBalancingSettingsListResultIterator { - return original.NewLoadBalancingSettingsListResultIterator(page) -} -func NewLoadBalancingSettingsListResultPage(getNextPage func(context.Context, LoadBalancingSettingsListResult) (LoadBalancingSettingsListResult, error)) LoadBalancingSettingsListResultPage { - return original.NewLoadBalancingSettingsListResultPage(getNextPage) -} -func NewManagedRuleSetDefinitionListIterator(page ManagedRuleSetDefinitionListPage) ManagedRuleSetDefinitionListIterator { - return original.NewManagedRuleSetDefinitionListIterator(page) -} -func NewManagedRuleSetDefinitionListPage(getNextPage func(context.Context, ManagedRuleSetDefinitionList) (ManagedRuleSetDefinitionList, error)) ManagedRuleSetDefinitionListPage { - return original.NewManagedRuleSetDefinitionListPage(getNextPage) -} -func NewManagedRuleSetsClient(subscriptionID string) ManagedRuleSetsClient { - return original.NewManagedRuleSetsClient(subscriptionID) -} -func NewManagedRuleSetsClientWithBaseURI(baseURI string, subscriptionID string) ManagedRuleSetsClient { - return original.NewManagedRuleSetsClientWithBaseURI(baseURI, subscriptionID) -} func NewPoliciesClient(subscriptionID string) PoliciesClient { return original.NewPoliciesClient(subscriptionID) } func NewPoliciesClientWithBaseURI(baseURI string, subscriptionID string) PoliciesClient { return original.NewPoliciesClientWithBaseURI(baseURI, subscriptionID) } -func NewRoutingRuleListResultIterator(page RoutingRuleListResultPage) RoutingRuleListResultIterator { - return original.NewRoutingRuleListResultIterator(page) -} -func NewRoutingRuleListResultPage(getNextPage func(context.Context, RoutingRuleListResult) (RoutingRuleListResult, error)) RoutingRuleListResultPage { - return original.NewRoutingRuleListResultPage(getNextPage) -} -func NewRoutingRulesClient(subscriptionID string) RoutingRulesClient { - return original.NewRoutingRulesClient(subscriptionID) +func NewWebApplicationFirewallPolicyListResultIterator(page WebApplicationFirewallPolicyListResultPage) WebApplicationFirewallPolicyListResultIterator { + return original.NewWebApplicationFirewallPolicyListResultIterator(page) } -func NewRoutingRulesClientWithBaseURI(baseURI string, subscriptionID string) RoutingRulesClient { - return original.NewRoutingRulesClientWithBaseURI(baseURI, subscriptionID) -} -func NewWebApplicationFirewallPolicyListIterator(page WebApplicationFirewallPolicyListPage) WebApplicationFirewallPolicyListIterator { - return original.NewWebApplicationFirewallPolicyListIterator(page) -} -func NewWebApplicationFirewallPolicyListPage(getNextPage func(context.Context, WebApplicationFirewallPolicyList) (WebApplicationFirewallPolicyList, error)) WebApplicationFirewallPolicyListPage { - return original.NewWebApplicationFirewallPolicyListPage(getNextPage) +func NewWebApplicationFirewallPolicyListResultPage(getNextPage func(context.Context, WebApplicationFirewallPolicyListResult) (WebApplicationFirewallPolicyListResult, error)) WebApplicationFirewallPolicyListResultPage { + return original.NewWebApplicationFirewallPolicyListResultPage(getNextPage) } func NewWithBaseURI(baseURI string, subscriptionID string) BaseClient { return original.NewWithBaseURI(baseURI, subscriptionID) } -func PossibleActionTypeValues() []ActionType { - return original.PossibleActionTypeValues() +func PossibleActionValues() []Action { + return original.PossibleActionValues() } func PossibleAvailabilityValues() []Availability { return original.PossibleAvailabilityValues() } -func PossibleBackendEnabledStateValues() []BackendEnabledState { - return original.PossibleBackendEnabledStateValues() -} func PossibleCertificateSourceValues() []CertificateSource { return original.PossibleCertificateSourceValues() } @@ -544,74 +382,47 @@ func PossibleCustomHTTPSProvisioningStateValues() []CustomHTTPSProvisioningState func PossibleCustomHTTPSProvisioningSubstateValues() []CustomHTTPSProvisioningSubstate { return original.PossibleCustomHTTPSProvisioningSubstateValues() } -func PossibleCustomRuleEnabledStateValues() []CustomRuleEnabledState { - return original.PossibleCustomRuleEnabledStateValues() -} func PossibleDynamicCompressionEnabledValues() []DynamicCompressionEnabled { return original.PossibleDynamicCompressionEnabledValues() } +func PossibleEnabledStateEnumValues() []EnabledStateEnum { + return original.PossibleEnabledStateEnumValues() +} func PossibleEnabledStateValues() []EnabledState { return original.PossibleEnabledStateValues() } -func PossibleEnforceCertificateNameCheckEnabledStateValues() []EnforceCertificateNameCheckEnabledState { - return original.PossibleEnforceCertificateNameCheckEnabledStateValues() -} func PossibleForwardingProtocolValues() []ForwardingProtocol { return original.PossibleForwardingProtocolValues() } -func PossibleHealthProbeEnabledValues() []HealthProbeEnabled { - return original.PossibleHealthProbeEnabledValues() +func PossibleMatchConditionValues() []MatchCondition { + return original.PossibleMatchConditionValues() } -func PossibleHealthProbeMethodValues() []HealthProbeMethod { - return original.PossibleHealthProbeMethodValues() -} -func PossibleManagedRuleEnabledStateValues() []ManagedRuleEnabledState { - return original.PossibleManagedRuleEnabledStateValues() -} -func PossibleMatchVariableValues() []MatchVariable { - return original.PossibleMatchVariableValues() -} -func PossibleMinimumTLSVersionValues() []MinimumTLSVersion { - return original.PossibleMinimumTLSVersionValues() +func PossibleModeValues() []Mode { + return original.PossibleModeValues() } func PossibleNetworkOperationStatusValues() []NetworkOperationStatus { return original.PossibleNetworkOperationStatusValues() } -func PossibleOdataTypeValues() []OdataType { - return original.PossibleOdataTypeValues() -} func PossibleOperatorValues() []Operator { return original.PossibleOperatorValues() } -func PossiblePolicyEnabledStateValues() []PolicyEnabledState { - return original.PossiblePolicyEnabledStateValues() -} -func PossiblePolicyModeValues() []PolicyMode { - return original.PossiblePolicyModeValues() -} -func PossiblePolicyResourceStateValues() []PolicyResourceState { - return original.PossiblePolicyResourceStateValues() -} func PossibleProtocolValues() []Protocol { return original.PossibleProtocolValues() } func PossibleQueryValues() []Query { return original.PossibleQueryValues() } -func PossibleRedirectProtocolValues() []RedirectProtocol { - return original.PossibleRedirectProtocolValues() -} -func PossibleRedirectTypeValues() []RedirectType { - return original.PossibleRedirectTypeValues() -} func PossibleResourceStateValues() []ResourceState { return original.PossibleResourceStateValues() } func PossibleResourceTypeValues() []ResourceType { return original.PossibleResourceTypeValues() } -func PossibleRoutingRuleEnabledStateValues() []RoutingRuleEnabledState { - return original.PossibleRoutingRuleEnabledStateValues() +func PossibleRuleGroupOverrideValues() []RuleGroupOverride { + return original.PossibleRuleGroupOverrideValues() +} +func PossibleRuleSetTypeValues() []RuleSetType { + return original.PossibleRuleSetTypeValues() } func PossibleRuleTypeValues() []RuleType { return original.PossibleRuleTypeValues() @@ -619,8 +430,14 @@ func PossibleRuleTypeValues() []RuleType { func PossibleSessionAffinityEnabledStateValues() []SessionAffinityEnabledState { return original.PossibleSessionAffinityEnabledStateValues() } -func PossibleTransformTypeValues() []TransformType { - return original.PossibleTransformTypeValues() +func PossibleTLSProtocolTypeValues() []TLSProtocolType { + return original.PossibleTLSProtocolTypeValues() +} +func PossibleTransformValues() []Transform { + return original.PossibleTransformValues() +} +func PossibleWebApplicationFirewallPolicyValues() []WebApplicationFirewallPolicy { + return original.PossibleWebApplicationFirewallPolicyValues() } func UserAgent() string { return original.UserAgent() + " profiles/preview" diff --git a/profiles/preview/preview/hdinsight/mgmt/hdinsight/models.go b/profiles/preview/preview/hdinsight/mgmt/hdinsight/models.go index 506072d9bc3e..88db56d34baf 100644 --- a/profiles/preview/preview/hdinsight/mgmt/hdinsight/models.go +++ b/profiles/preview/preview/hdinsight/mgmt/hdinsight/models.go @@ -29,19 +29,6 @@ const ( DefaultBaseURI = original.DefaultBaseURI ) -type ApplicationHTTPSEndpointAccessMode = original.ApplicationHTTPSEndpointAccessMode - -const ( - WebPage ApplicationHTTPSEndpointAccessMode = original.WebPage -) - -type ApplicationType = original.ApplicationType - -const ( - CustomApplication ApplicationType = original.CustomApplication - RServer ApplicationType = original.RServer -) - type AsyncOperationState = original.AsyncOperationState const ( @@ -311,12 +298,6 @@ func NewScriptExecutionHistoryClientWithBaseURI(baseURI string, subscriptionID s func NewWithBaseURI(baseURI string, subscriptionID string) BaseClient { return original.NewWithBaseURI(baseURI, subscriptionID) } -func PossibleApplicationHTTPSEndpointAccessModeValues() []ApplicationHTTPSEndpointAccessMode { - return original.PossibleApplicationHTTPSEndpointAccessModeValues() -} -func PossibleApplicationTypeValues() []ApplicationType { - return original.PossibleApplicationTypeValues() -} func PossibleAsyncOperationStateValues() []AsyncOperationState { return original.PossibleAsyncOperationStateValues() } diff --git a/profiles/preview/preview/logic/mgmt/logic/logicapi/models.go b/profiles/preview/preview/logic/mgmt/logic/logicapi/models.go index 14c12e7e0d6b..707ce253505e 100644 --- a/profiles/preview/preview/logic/mgmt/logic/logicapi/models.go +++ b/profiles/preview/preview/logic/mgmt/logic/logicapi/models.go @@ -19,7 +19,7 @@ package logicapi -import original "github.com/Azure/azure-sdk-for-go/services/preview/logic/mgmt/2018-07-01-preview/logic/logicapi" +import original "github.com/Azure/azure-sdk-for-go/services/preview/logic/mgmt/2019-05-01/logic/logicapi" type IntegrationAccountAgreementsClientAPI = original.IntegrationAccountAgreementsClientAPI type IntegrationAccountAssembliesClientAPI = original.IntegrationAccountAssembliesClientAPI @@ -30,6 +30,11 @@ type IntegrationAccountPartnersClientAPI = original.IntegrationAccountPartnersCl type IntegrationAccountSchemasClientAPI = original.IntegrationAccountSchemasClientAPI type IntegrationAccountSessionsClientAPI = original.IntegrationAccountSessionsClientAPI type IntegrationAccountsClientAPI = original.IntegrationAccountsClientAPI +type IntegrationServiceEnvironmentManagedAPIOperationsClientAPI = original.IntegrationServiceEnvironmentManagedAPIOperationsClientAPI +type IntegrationServiceEnvironmentManagedApisClientAPI = original.IntegrationServiceEnvironmentManagedApisClientAPI +type IntegrationServiceEnvironmentNetworkHealthClientAPI = original.IntegrationServiceEnvironmentNetworkHealthClientAPI +type IntegrationServiceEnvironmentSkusClientAPI = original.IntegrationServiceEnvironmentSkusClientAPI +type IntegrationServiceEnvironmentsClientAPI = original.IntegrationServiceEnvironmentsClientAPI type OperationsClientAPI = original.OperationsClientAPI type WorkflowRunActionRepetitionsClientAPI = original.WorkflowRunActionRepetitionsClientAPI type WorkflowRunActionRepetitionsRequestHistoriesClientAPI = original.WorkflowRunActionRepetitionsRequestHistoriesClientAPI diff --git a/profiles/preview/preview/logic/mgmt/logic/models.go b/profiles/preview/preview/logic/mgmt/logic/models.go index 4840cfe366c6..d440b4dcda88 100644 --- a/profiles/preview/preview/logic/mgmt/logic/models.go +++ b/profiles/preview/preview/logic/mgmt/logic/models.go @@ -22,13 +22,38 @@ package logic import ( "context" - original "github.com/Azure/azure-sdk-for-go/services/preview/logic/mgmt/2018-07-01-preview/logic" + original "github.com/Azure/azure-sdk-for-go/services/preview/logic/mgmt/2019-05-01/logic" ) const ( DefaultBaseURI = original.DefaultBaseURI ) +type APIDeploymentParameterVisibility = original.APIDeploymentParameterVisibility + +const ( + APIDeploymentParameterVisibilityDefault APIDeploymentParameterVisibility = original.APIDeploymentParameterVisibilityDefault + APIDeploymentParameterVisibilityInternal APIDeploymentParameterVisibility = original.APIDeploymentParameterVisibilityInternal + APIDeploymentParameterVisibilityNotSpecified APIDeploymentParameterVisibility = original.APIDeploymentParameterVisibilityNotSpecified +) + +type APITier = original.APITier + +const ( + APITierEnterprise APITier = original.APITierEnterprise + APITierNotSpecified APITier = original.APITierNotSpecified + APITierPremium APITier = original.APITierPremium + APITierStandard APITier = original.APITierStandard +) + +type APIType = original.APIType + +const ( + APITypeNotSpecified APIType = original.APITypeNotSpecified + APITypeRest APIType = original.APITypeRest + APITypeSoap APIType = original.APITypeSoap +) + type AgreementType = original.AgreementType const ( @@ -38,6 +63,15 @@ const ( X12 AgreementType = original.X12 ) +type AzureAsyncOperationState = original.AzureAsyncOperationState + +const ( + Canceled AzureAsyncOperationState = original.Canceled + Failed AzureAsyncOperationState = original.Failed + Pending AzureAsyncOperationState = original.Pending + Succeeded AzureAsyncOperationState = original.Succeeded +) + type DayOfWeek = original.DayOfWeek const ( @@ -102,6 +136,15 @@ const ( EncryptionAlgorithmRC2 EncryptionAlgorithm = original.EncryptionAlgorithmRC2 ) +type ErrorResponseCode = original.ErrorResponseCode + +const ( + ErrorResponseCodeIntegrationServiceEnvironmentNotFound ErrorResponseCode = original.ErrorResponseCodeIntegrationServiceEnvironmentNotFound + ErrorResponseCodeInternalServerError ErrorResponseCode = original.ErrorResponseCodeInternalServerError + ErrorResponseCodeInvalidOperationID ErrorResponseCode = original.ErrorResponseCodeInvalidOperationID + ErrorResponseCodeNotSpecified ErrorResponseCode = original.ErrorResponseCodeNotSpecified +) + type EventLevel = original.EventLevel const ( @@ -134,6 +177,65 @@ const ( IntegrationAccountSkuNameStandard IntegrationAccountSkuName = original.IntegrationAccountSkuNameStandard ) +type IntegrationServiceEnvironmentAccessEndpointType = original.IntegrationServiceEnvironmentAccessEndpointType + +const ( + IntegrationServiceEnvironmentAccessEndpointTypeExternal IntegrationServiceEnvironmentAccessEndpointType = original.IntegrationServiceEnvironmentAccessEndpointTypeExternal + IntegrationServiceEnvironmentAccessEndpointTypeInternal IntegrationServiceEnvironmentAccessEndpointType = original.IntegrationServiceEnvironmentAccessEndpointTypeInternal + IntegrationServiceEnvironmentAccessEndpointTypeNotSpecified IntegrationServiceEnvironmentAccessEndpointType = original.IntegrationServiceEnvironmentAccessEndpointTypeNotSpecified +) + +type IntegrationServiceEnvironmentNetworkDependencyCategoryType = original.IntegrationServiceEnvironmentNetworkDependencyCategoryType + +const ( + IntegrationServiceEnvironmentNetworkDependencyCategoryTypeAccessEndpoints IntegrationServiceEnvironmentNetworkDependencyCategoryType = original.IntegrationServiceEnvironmentNetworkDependencyCategoryTypeAccessEndpoints + IntegrationServiceEnvironmentNetworkDependencyCategoryTypeAzureActiveDirectory IntegrationServiceEnvironmentNetworkDependencyCategoryType = original.IntegrationServiceEnvironmentNetworkDependencyCategoryTypeAzureActiveDirectory + IntegrationServiceEnvironmentNetworkDependencyCategoryTypeAzureManagement IntegrationServiceEnvironmentNetworkDependencyCategoryType = original.IntegrationServiceEnvironmentNetworkDependencyCategoryTypeAzureManagement + IntegrationServiceEnvironmentNetworkDependencyCategoryTypeAzureStorage IntegrationServiceEnvironmentNetworkDependencyCategoryType = original.IntegrationServiceEnvironmentNetworkDependencyCategoryTypeAzureStorage + IntegrationServiceEnvironmentNetworkDependencyCategoryTypeDiagnosticLogsAndMetrics IntegrationServiceEnvironmentNetworkDependencyCategoryType = original.IntegrationServiceEnvironmentNetworkDependencyCategoryTypeDiagnosticLogsAndMetrics + IntegrationServiceEnvironmentNetworkDependencyCategoryTypeIntegrationServiceEnvironmentConnectors IntegrationServiceEnvironmentNetworkDependencyCategoryType = original.IntegrationServiceEnvironmentNetworkDependencyCategoryTypeIntegrationServiceEnvironmentConnectors + IntegrationServiceEnvironmentNetworkDependencyCategoryTypeNotSpecified IntegrationServiceEnvironmentNetworkDependencyCategoryType = original.IntegrationServiceEnvironmentNetworkDependencyCategoryTypeNotSpecified + IntegrationServiceEnvironmentNetworkDependencyCategoryTypeRecoveryService IntegrationServiceEnvironmentNetworkDependencyCategoryType = original.IntegrationServiceEnvironmentNetworkDependencyCategoryTypeRecoveryService + IntegrationServiceEnvironmentNetworkDependencyCategoryTypeRedisCache IntegrationServiceEnvironmentNetworkDependencyCategoryType = original.IntegrationServiceEnvironmentNetworkDependencyCategoryTypeRedisCache + IntegrationServiceEnvironmentNetworkDependencyCategoryTypeRegionalService IntegrationServiceEnvironmentNetworkDependencyCategoryType = original.IntegrationServiceEnvironmentNetworkDependencyCategoryTypeRegionalService + IntegrationServiceEnvironmentNetworkDependencyCategoryTypeSQL IntegrationServiceEnvironmentNetworkDependencyCategoryType = original.IntegrationServiceEnvironmentNetworkDependencyCategoryTypeSQL + IntegrationServiceEnvironmentNetworkDependencyCategoryTypeSSLCertificateVerification IntegrationServiceEnvironmentNetworkDependencyCategoryType = original.IntegrationServiceEnvironmentNetworkDependencyCategoryTypeSSLCertificateVerification +) + +type IntegrationServiceEnvironmentNetworkDependencyHealthState = original.IntegrationServiceEnvironmentNetworkDependencyHealthState + +const ( + IntegrationServiceEnvironmentNetworkDependencyHealthStateHealthy IntegrationServiceEnvironmentNetworkDependencyHealthState = original.IntegrationServiceEnvironmentNetworkDependencyHealthStateHealthy + IntegrationServiceEnvironmentNetworkDependencyHealthStateNotSpecified IntegrationServiceEnvironmentNetworkDependencyHealthState = original.IntegrationServiceEnvironmentNetworkDependencyHealthStateNotSpecified + IntegrationServiceEnvironmentNetworkDependencyHealthStateUnhealthy IntegrationServiceEnvironmentNetworkDependencyHealthState = original.IntegrationServiceEnvironmentNetworkDependencyHealthStateUnhealthy + IntegrationServiceEnvironmentNetworkDependencyHealthStateUnknown IntegrationServiceEnvironmentNetworkDependencyHealthState = original.IntegrationServiceEnvironmentNetworkDependencyHealthStateUnknown +) + +type IntegrationServiceEnvironmentNetworkEndPointAccessibilityState = original.IntegrationServiceEnvironmentNetworkEndPointAccessibilityState + +const ( + IntegrationServiceEnvironmentNetworkEndPointAccessibilityStateAvailable IntegrationServiceEnvironmentNetworkEndPointAccessibilityState = original.IntegrationServiceEnvironmentNetworkEndPointAccessibilityStateAvailable + IntegrationServiceEnvironmentNetworkEndPointAccessibilityStateNotAvailable IntegrationServiceEnvironmentNetworkEndPointAccessibilityState = original.IntegrationServiceEnvironmentNetworkEndPointAccessibilityStateNotAvailable + IntegrationServiceEnvironmentNetworkEndPointAccessibilityStateNotSpecified IntegrationServiceEnvironmentNetworkEndPointAccessibilityState = original.IntegrationServiceEnvironmentNetworkEndPointAccessibilityStateNotSpecified + IntegrationServiceEnvironmentNetworkEndPointAccessibilityStateUnknown IntegrationServiceEnvironmentNetworkEndPointAccessibilityState = original.IntegrationServiceEnvironmentNetworkEndPointAccessibilityStateUnknown +) + +type IntegrationServiceEnvironmentSkuName = original.IntegrationServiceEnvironmentSkuName + +const ( + IntegrationServiceEnvironmentSkuNameDeveloper IntegrationServiceEnvironmentSkuName = original.IntegrationServiceEnvironmentSkuNameDeveloper + IntegrationServiceEnvironmentSkuNameNotSpecified IntegrationServiceEnvironmentSkuName = original.IntegrationServiceEnvironmentSkuNameNotSpecified + IntegrationServiceEnvironmentSkuNamePremium IntegrationServiceEnvironmentSkuName = original.IntegrationServiceEnvironmentSkuNamePremium +) + +type IntegrationServiceEnvironmentSkuScaleType = original.IntegrationServiceEnvironmentSkuScaleType + +const ( + Automatic IntegrationServiceEnvironmentSkuScaleType = original.Automatic + Manual IntegrationServiceEnvironmentSkuScaleType = original.Manual + None IntegrationServiceEnvironmentSkuScaleType = original.None +) + type KeyType = original.KeyType const ( @@ -233,11 +335,32 @@ const ( SkuNameStandard SkuName = original.SkuNameStandard ) +type StatusAnnotation = original.StatusAnnotation + +const ( + StatusAnnotationNotSpecified StatusAnnotation = original.StatusAnnotationNotSpecified + StatusAnnotationPreview StatusAnnotation = original.StatusAnnotationPreview + StatusAnnotationProduction StatusAnnotation = original.StatusAnnotationProduction +) + +type SwaggerSchemaType = original.SwaggerSchemaType + +const ( + Array SwaggerSchemaType = original.Array + Boolean SwaggerSchemaType = original.Boolean + File SwaggerSchemaType = original.File + Integer SwaggerSchemaType = original.Integer + Null SwaggerSchemaType = original.Null + Number SwaggerSchemaType = original.Number + Object SwaggerSchemaType = original.Object + String SwaggerSchemaType = original.String +) + type TrackEventsOperationOptions = original.TrackEventsOperationOptions const ( - DisableSourceInfoEnrich TrackEventsOperationOptions = original.DisableSourceInfoEnrich - None TrackEventsOperationOptions = original.None + TrackEventsOperationOptionsDisableSourceInfoEnrich TrackEventsOperationOptions = original.TrackEventsOperationOptionsDisableSourceInfoEnrich + TrackEventsOperationOptionsNone TrackEventsOperationOptions = original.TrackEventsOperationOptionsNone ) type TrackingRecordType = original.TrackingRecordType @@ -354,6 +477,14 @@ const ( WorkflowTriggerProvisioningStateUpdating WorkflowTriggerProvisioningState = original.WorkflowTriggerProvisioningStateUpdating ) +type WsdlImportMethod = original.WsdlImportMethod + +const ( + WsdlImportMethodNotSpecified WsdlImportMethod = original.WsdlImportMethodNotSpecified + WsdlImportMethodSoapPassThrough WsdlImportMethod = original.WsdlImportMethodSoapPassThrough + WsdlImportMethodSoapToRest WsdlImportMethod = original.WsdlImportMethodSoapToRest +) + type X12CharacterSet = original.X12CharacterSet const ( @@ -381,6 +512,21 @@ const ( X12TimeFormatNotSpecified X12TimeFormat = original.X12TimeFormatNotSpecified ) +type APIDeploymentParameterMetadata = original.APIDeploymentParameterMetadata +type APIDeploymentParameterMetadataSet = original.APIDeploymentParameterMetadataSet +type APIOperation = original.APIOperation +type APIOperationAnnotation = original.APIOperationAnnotation +type APIOperationListResult = original.APIOperationListResult +type APIOperationListResultIterator = original.APIOperationListResultIterator +type APIOperationListResultPage = original.APIOperationListResultPage +type APIOperationPropertiesDefinition = original.APIOperationPropertiesDefinition +type APIReference = original.APIReference +type APIResourceBackendService = original.APIResourceBackendService +type APIResourceDefinitions = original.APIResourceDefinitions +type APIResourceGeneralInformation = original.APIResourceGeneralInformation +type APIResourceMetadata = original.APIResourceMetadata +type APIResourcePolicies = original.APIResourcePolicies +type APIResourceProperties = original.APIResourceProperties type AS2AcknowledgementConnectionSettings = original.AS2AcknowledgementConnectionSettings type AS2AgreementContent = original.AS2AgreementContent type AS2EnvelopeSettings = original.AS2EnvelopeSettings @@ -429,8 +575,12 @@ type ErrorResponse = original.ErrorResponse type Expression = original.Expression type ExpressionRoot = original.ExpressionRoot type ExpressionTraces = original.ExpressionTraces +type ExtendedErrorInfo = original.ExtendedErrorInfo +type FlowEndpoints = original.FlowEndpoints +type FlowEndpointsConfiguration = original.FlowEndpointsConfiguration type GenerateUpgradedDefinitionParameters = original.GenerateUpgradedDefinitionParameters type GetCallbackURLParameters = original.GetCallbackURLParameters +type IPAddress = original.IPAddress type IntegrationAccount = original.IntegrationAccount type IntegrationAccountAgreement = original.IntegrationAccountAgreement type IntegrationAccountAgreementFilter = original.IntegrationAccountAgreementFilter @@ -465,6 +615,7 @@ type IntegrationAccountPartnerListResultIterator = original.IntegrationAccountPa type IntegrationAccountPartnerListResultPage = original.IntegrationAccountPartnerListResultPage type IntegrationAccountPartnerProperties = original.IntegrationAccountPartnerProperties type IntegrationAccountPartnersClient = original.IntegrationAccountPartnersClient +type IntegrationAccountProperties = original.IntegrationAccountProperties type IntegrationAccountSchema = original.IntegrationAccountSchema type IntegrationAccountSchemaFilter = original.IntegrationAccountSchemaFilter type IntegrationAccountSchemaListResult = original.IntegrationAccountSchemaListResult @@ -481,6 +632,32 @@ type IntegrationAccountSessionProperties = original.IntegrationAccountSessionPro type IntegrationAccountSessionsClient = original.IntegrationAccountSessionsClient type IntegrationAccountSku = original.IntegrationAccountSku type IntegrationAccountsClient = original.IntegrationAccountsClient +type IntegrationServiceEnvironment = original.IntegrationServiceEnvironment +type IntegrationServiceEnvironmentAccessEndpoint = original.IntegrationServiceEnvironmentAccessEndpoint +type IntegrationServiceEnvironmentListResult = original.IntegrationServiceEnvironmentListResult +type IntegrationServiceEnvironmentListResultIterator = original.IntegrationServiceEnvironmentListResultIterator +type IntegrationServiceEnvironmentListResultPage = original.IntegrationServiceEnvironmentListResultPage +type IntegrationServiceEnvironmentManagedAPIOperationsClient = original.IntegrationServiceEnvironmentManagedAPIOperationsClient +type IntegrationServiceEnvironmentManagedApisClient = original.IntegrationServiceEnvironmentManagedApisClient +type IntegrationServiceEnvironmentManagedApisDeleteFuture = original.IntegrationServiceEnvironmentManagedApisDeleteFuture +type IntegrationServiceEnvironmentManagedApisPutFuture = original.IntegrationServiceEnvironmentManagedApisPutFuture +type IntegrationServiceEnvironmentNetworkDependency = original.IntegrationServiceEnvironmentNetworkDependency +type IntegrationServiceEnvironmentNetworkDependencyHealth = original.IntegrationServiceEnvironmentNetworkDependencyHealth +type IntegrationServiceEnvironmentNetworkEndpoint = original.IntegrationServiceEnvironmentNetworkEndpoint +type IntegrationServiceEnvironmentNetworkHealthClient = original.IntegrationServiceEnvironmentNetworkHealthClient +type IntegrationServiceEnvironmentProperties = original.IntegrationServiceEnvironmentProperties +type IntegrationServiceEnvironmentSku = original.IntegrationServiceEnvironmentSku +type IntegrationServiceEnvironmentSkuCapacity = original.IntegrationServiceEnvironmentSkuCapacity +type IntegrationServiceEnvironmentSkuDefinition = original.IntegrationServiceEnvironmentSkuDefinition +type IntegrationServiceEnvironmentSkuDefinitionSku = original.IntegrationServiceEnvironmentSkuDefinitionSku +type IntegrationServiceEnvironmentSkuList = original.IntegrationServiceEnvironmentSkuList +type IntegrationServiceEnvironmentSkuListIterator = original.IntegrationServiceEnvironmentSkuListIterator +type IntegrationServiceEnvironmentSkuListPage = original.IntegrationServiceEnvironmentSkuListPage +type IntegrationServiceEnvironmentSkusClient = original.IntegrationServiceEnvironmentSkusClient +type IntegrationServiceEnvironmentSubnetNetworkHealth = original.IntegrationServiceEnvironmentSubnetNetworkHealth +type IntegrationServiceEnvironmentsClient = original.IntegrationServiceEnvironmentsClient +type IntegrationServiceEnvironmentsCreateOrUpdateFuture = original.IntegrationServiceEnvironmentsCreateOrUpdateFuture +type IntegrationServiceEnvironmentsUpdateFuture = original.IntegrationServiceEnvironmentsUpdateFuture type JSONSchema = original.JSONSchema type KeyVaultKey = original.KeyVaultKey type KeyVaultKeyAttributes = original.KeyVaultKeyAttributes @@ -489,6 +666,11 @@ type KeyVaultKeyReference = original.KeyVaultKeyReference type KeyVaultKeyReferenceKeyVault = original.KeyVaultKeyReferenceKeyVault type KeyVaultReference = original.KeyVaultReference type ListKeyVaultKeysDefinition = original.ListKeyVaultKeysDefinition +type ManagedAPI = original.ManagedAPI +type ManagedAPIListResult = original.ManagedAPIListResult +type ManagedAPIListResultIterator = original.ManagedAPIListResultIterator +type ManagedAPIListResultPage = original.ManagedAPIListResultPage +type NetworkConfiguration = original.NetworkConfiguration type Operation = original.Operation type OperationDisplay = original.OperationDisplay type OperationListResult = original.OperationListResult @@ -514,10 +696,21 @@ type Response = original.Response type RetryHistory = original.RetryHistory type RunActionCorrelation = original.RunActionCorrelation type RunCorrelation = original.RunCorrelation +type SetIntegrationServiceEnvironmentSubnetNetworkHealth = original.SetIntegrationServiceEnvironmentSubnetNetworkHealth type SetObject = original.SetObject type SetTriggerStateActionDefinition = original.SetTriggerStateActionDefinition type Sku = original.Sku type SubResource = original.SubResource +type SwaggerCustomDynamicList = original.SwaggerCustomDynamicList +type SwaggerCustomDynamicProperties = original.SwaggerCustomDynamicProperties +type SwaggerCustomDynamicSchema = original.SwaggerCustomDynamicSchema +type SwaggerCustomDynamicTree = original.SwaggerCustomDynamicTree +type SwaggerCustomDynamicTreeCommand = original.SwaggerCustomDynamicTreeCommand +type SwaggerCustomDynamicTreeParameter = original.SwaggerCustomDynamicTreeParameter +type SwaggerCustomDynamicTreeSettings = original.SwaggerCustomDynamicTreeSettings +type SwaggerExternalDocumentation = original.SwaggerExternalDocumentation +type SwaggerSchema = original.SwaggerSchema +type SwaggerXML = original.SwaggerXML type TrackingEvent = original.TrackingEvent type TrackingEventErrorInfo = original.TrackingEventErrorInfo type TrackingEventsDefinition = original.TrackingEventsDefinition @@ -577,6 +770,8 @@ type WorkflowVersionProperties = original.WorkflowVersionProperties type WorkflowVersionTriggersClient = original.WorkflowVersionTriggersClient type WorkflowVersionsClient = original.WorkflowVersionsClient type WorkflowsClient = original.WorkflowsClient +type WorkflowsMoveFuture = original.WorkflowsMoveFuture +type WsdlService = original.WsdlService type X12AcknowledgementSettings = original.X12AcknowledgementSettings type X12AgreementContent = original.X12AgreementContent type X12DelimiterOverrides = original.X12DelimiterOverrides @@ -596,6 +791,12 @@ type X12ValidationSettings = original.X12ValidationSettings func New(subscriptionID string) BaseClient { return original.New(subscriptionID) } +func NewAPIOperationListResultIterator(page APIOperationListResultPage) APIOperationListResultIterator { + return original.NewAPIOperationListResultIterator(page) +} +func NewAPIOperationListResultPage(getNextPage func(context.Context, APIOperationListResult) (APIOperationListResult, error)) APIOperationListResultPage { + return original.NewAPIOperationListResultPage(getNextPage) +} func NewIntegrationAccountAgreementListResultIterator(page IntegrationAccountAgreementListResultPage) IntegrationAccountAgreementListResultIterator { return original.NewIntegrationAccountAgreementListResultIterator(page) } @@ -692,6 +893,54 @@ func NewIntegrationAccountsClient(subscriptionID string) IntegrationAccountsClie func NewIntegrationAccountsClientWithBaseURI(baseURI string, subscriptionID string) IntegrationAccountsClient { return original.NewIntegrationAccountsClientWithBaseURI(baseURI, subscriptionID) } +func NewIntegrationServiceEnvironmentListResultIterator(page IntegrationServiceEnvironmentListResultPage) IntegrationServiceEnvironmentListResultIterator { + return original.NewIntegrationServiceEnvironmentListResultIterator(page) +} +func NewIntegrationServiceEnvironmentListResultPage(getNextPage func(context.Context, IntegrationServiceEnvironmentListResult) (IntegrationServiceEnvironmentListResult, error)) IntegrationServiceEnvironmentListResultPage { + return original.NewIntegrationServiceEnvironmentListResultPage(getNextPage) +} +func NewIntegrationServiceEnvironmentManagedAPIOperationsClient(subscriptionID string) IntegrationServiceEnvironmentManagedAPIOperationsClient { + return original.NewIntegrationServiceEnvironmentManagedAPIOperationsClient(subscriptionID) +} +func NewIntegrationServiceEnvironmentManagedAPIOperationsClientWithBaseURI(baseURI string, subscriptionID string) IntegrationServiceEnvironmentManagedAPIOperationsClient { + return original.NewIntegrationServiceEnvironmentManagedAPIOperationsClientWithBaseURI(baseURI, subscriptionID) +} +func NewIntegrationServiceEnvironmentManagedApisClient(subscriptionID string) IntegrationServiceEnvironmentManagedApisClient { + return original.NewIntegrationServiceEnvironmentManagedApisClient(subscriptionID) +} +func NewIntegrationServiceEnvironmentManagedApisClientWithBaseURI(baseURI string, subscriptionID string) IntegrationServiceEnvironmentManagedApisClient { + return original.NewIntegrationServiceEnvironmentManagedApisClientWithBaseURI(baseURI, subscriptionID) +} +func NewIntegrationServiceEnvironmentNetworkHealthClient(subscriptionID string) IntegrationServiceEnvironmentNetworkHealthClient { + return original.NewIntegrationServiceEnvironmentNetworkHealthClient(subscriptionID) +} +func NewIntegrationServiceEnvironmentNetworkHealthClientWithBaseURI(baseURI string, subscriptionID string) IntegrationServiceEnvironmentNetworkHealthClient { + return original.NewIntegrationServiceEnvironmentNetworkHealthClientWithBaseURI(baseURI, subscriptionID) +} +func NewIntegrationServiceEnvironmentSkuListIterator(page IntegrationServiceEnvironmentSkuListPage) IntegrationServiceEnvironmentSkuListIterator { + return original.NewIntegrationServiceEnvironmentSkuListIterator(page) +} +func NewIntegrationServiceEnvironmentSkuListPage(getNextPage func(context.Context, IntegrationServiceEnvironmentSkuList) (IntegrationServiceEnvironmentSkuList, error)) IntegrationServiceEnvironmentSkuListPage { + return original.NewIntegrationServiceEnvironmentSkuListPage(getNextPage) +} +func NewIntegrationServiceEnvironmentSkusClient(subscriptionID string) IntegrationServiceEnvironmentSkusClient { + return original.NewIntegrationServiceEnvironmentSkusClient(subscriptionID) +} +func NewIntegrationServiceEnvironmentSkusClientWithBaseURI(baseURI string, subscriptionID string) IntegrationServiceEnvironmentSkusClient { + return original.NewIntegrationServiceEnvironmentSkusClientWithBaseURI(baseURI, subscriptionID) +} +func NewIntegrationServiceEnvironmentsClient(subscriptionID string) IntegrationServiceEnvironmentsClient { + return original.NewIntegrationServiceEnvironmentsClient(subscriptionID) +} +func NewIntegrationServiceEnvironmentsClientWithBaseURI(baseURI string, subscriptionID string) IntegrationServiceEnvironmentsClient { + return original.NewIntegrationServiceEnvironmentsClientWithBaseURI(baseURI, subscriptionID) +} +func NewManagedAPIListResultIterator(page ManagedAPIListResultPage) ManagedAPIListResultIterator { + return original.NewManagedAPIListResultIterator(page) +} +func NewManagedAPIListResultPage(getNextPage func(context.Context, ManagedAPIListResult) (ManagedAPIListResult, error)) ManagedAPIListResultPage { + return original.NewManagedAPIListResultPage(getNextPage) +} func NewOperationListResultIterator(page OperationListResultPage) OperationListResultIterator { return original.NewOperationListResultIterator(page) } @@ -821,9 +1070,21 @@ func NewWorkflowsClient(subscriptionID string) WorkflowsClient { func NewWorkflowsClientWithBaseURI(baseURI string, subscriptionID string) WorkflowsClient { return original.NewWorkflowsClientWithBaseURI(baseURI, subscriptionID) } +func PossibleAPIDeploymentParameterVisibilityValues() []APIDeploymentParameterVisibility { + return original.PossibleAPIDeploymentParameterVisibilityValues() +} +func PossibleAPITierValues() []APITier { + return original.PossibleAPITierValues() +} +func PossibleAPITypeValues() []APIType { + return original.PossibleAPITypeValues() +} func PossibleAgreementTypeValues() []AgreementType { return original.PossibleAgreementTypeValues() } +func PossibleAzureAsyncOperationStateValues() []AzureAsyncOperationState { + return original.PossibleAzureAsyncOperationStateValues() +} func PossibleDayOfWeekValues() []DayOfWeek { return original.PossibleDayOfWeekValues() } @@ -839,6 +1100,9 @@ func PossibleEdifactDecimalIndicatorValues() []EdifactDecimalIndicator { func PossibleEncryptionAlgorithmValues() []EncryptionAlgorithm { return original.PossibleEncryptionAlgorithmValues() } +func PossibleErrorResponseCodeValues() []ErrorResponseCode { + return original.PossibleErrorResponseCodeValues() +} func PossibleEventLevelValues() []EventLevel { return original.PossibleEventLevelValues() } @@ -848,6 +1112,24 @@ func PossibleHashingAlgorithmValues() []HashingAlgorithm { func PossibleIntegrationAccountSkuNameValues() []IntegrationAccountSkuName { return original.PossibleIntegrationAccountSkuNameValues() } +func PossibleIntegrationServiceEnvironmentAccessEndpointTypeValues() []IntegrationServiceEnvironmentAccessEndpointType { + return original.PossibleIntegrationServiceEnvironmentAccessEndpointTypeValues() +} +func PossibleIntegrationServiceEnvironmentNetworkDependencyCategoryTypeValues() []IntegrationServiceEnvironmentNetworkDependencyCategoryType { + return original.PossibleIntegrationServiceEnvironmentNetworkDependencyCategoryTypeValues() +} +func PossibleIntegrationServiceEnvironmentNetworkDependencyHealthStateValues() []IntegrationServiceEnvironmentNetworkDependencyHealthState { + return original.PossibleIntegrationServiceEnvironmentNetworkDependencyHealthStateValues() +} +func PossibleIntegrationServiceEnvironmentNetworkEndPointAccessibilityStateValues() []IntegrationServiceEnvironmentNetworkEndPointAccessibilityState { + return original.PossibleIntegrationServiceEnvironmentNetworkEndPointAccessibilityStateValues() +} +func PossibleIntegrationServiceEnvironmentSkuNameValues() []IntegrationServiceEnvironmentSkuName { + return original.PossibleIntegrationServiceEnvironmentSkuNameValues() +} +func PossibleIntegrationServiceEnvironmentSkuScaleTypeValues() []IntegrationServiceEnvironmentSkuScaleType { + return original.PossibleIntegrationServiceEnvironmentSkuScaleTypeValues() +} func PossibleKeyTypeValues() []KeyType { return original.PossibleKeyTypeValues() } @@ -878,6 +1160,12 @@ func PossibleSigningAlgorithmValues() []SigningAlgorithm { func PossibleSkuNameValues() []SkuName { return original.PossibleSkuNameValues() } +func PossibleStatusAnnotationValues() []StatusAnnotation { + return original.PossibleStatusAnnotationValues() +} +func PossibleSwaggerSchemaTypeValues() []SwaggerSchemaType { + return original.PossibleSwaggerSchemaTypeValues() +} func PossibleTrackEventsOperationOptionsValues() []TrackEventsOperationOptions { return original.PossibleTrackEventsOperationOptionsValues() } @@ -902,6 +1190,9 @@ func PossibleWorkflowStatusValues() []WorkflowStatus { func PossibleWorkflowTriggerProvisioningStateValues() []WorkflowTriggerProvisioningState { return original.PossibleWorkflowTriggerProvisioningStateValues() } +func PossibleWsdlImportMethodValues() []WsdlImportMethod { + return original.PossibleWsdlImportMethodValues() +} func PossibleX12CharacterSetValues() []X12CharacterSet { return original.PossibleX12CharacterSetValues() } diff --git a/profiles/preview/preview/machinelearning/mgmt/services/models.go b/profiles/preview/preview/machinelearning/mgmt/services/models.go deleted file mode 100644 index 467c0da43664..000000000000 --- a/profiles/preview/preview/machinelearning/mgmt/services/models.go +++ /dev/null @@ -1,196 +0,0 @@ -// +build go1.9 - -// Copyright 2019 Microsoft Corporation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -// This code was auto-generated by: -// github.com/Azure/azure-sdk-for-go/tools/profileBuilder - -package services - -import ( - "context" - - original "github.com/Azure/azure-sdk-for-go/services/preview/machinelearning/mgmt/2018-03-01-preview/services" -) - -const ( - DefaultBaseURI = original.DefaultBaseURI -) - -type ComputeType = original.ComputeType - -const ( - ComputeTypeAKS ComputeType = original.ComputeTypeAKS - ComputeTypeBatchAI ComputeType = original.ComputeTypeBatchAI - ComputeTypeDataFactory ComputeType = original.ComputeTypeDataFactory - ComputeTypeHDInsight ComputeType = original.ComputeTypeHDInsight - ComputeTypeVirtualMachine ComputeType = original.ComputeTypeVirtualMachine -) - -type ComputeTypeBasicCompute = original.ComputeTypeBasicCompute - -const ( - ComputeTypeAKS1 ComputeTypeBasicCompute = original.ComputeTypeAKS1 - ComputeTypeBatchAI1 ComputeTypeBasicCompute = original.ComputeTypeBatchAI1 - ComputeTypeCompute ComputeTypeBasicCompute = original.ComputeTypeCompute - ComputeTypeDataFactory1 ComputeTypeBasicCompute = original.ComputeTypeDataFactory1 - ComputeTypeHDInsight1 ComputeTypeBasicCompute = original.ComputeTypeHDInsight1 - ComputeTypeVirtualMachine1 ComputeTypeBasicCompute = original.ComputeTypeVirtualMachine1 -) - -type ComputeTypeBasicComputeSecrets = original.ComputeTypeBasicComputeSecrets - -const ( - ComputeTypeBasicComputeSecretsComputeTypeAKS ComputeTypeBasicComputeSecrets = original.ComputeTypeBasicComputeSecretsComputeTypeAKS - ComputeTypeBasicComputeSecretsComputeTypeComputeSecrets ComputeTypeBasicComputeSecrets = original.ComputeTypeBasicComputeSecretsComputeTypeComputeSecrets - ComputeTypeBasicComputeSecretsComputeTypeVirtualMachine ComputeTypeBasicComputeSecrets = original.ComputeTypeBasicComputeSecretsComputeTypeVirtualMachine -) - -type ProvisioningState = original.ProvisioningState - -const ( - Canceled ProvisioningState = original.Canceled - Creating ProvisioningState = original.Creating - Deleting ProvisioningState = original.Deleting - Failed ProvisioningState = original.Failed - Succeeded ProvisioningState = original.Succeeded - Unknown ProvisioningState = original.Unknown - Updating ProvisioningState = original.Updating -) - -type ResourceIdentityType = original.ResourceIdentityType - -const ( - SystemAssigned ResourceIdentityType = original.SystemAssigned -) - -type Status = original.Status - -const ( - Disabled Status = original.Disabled - Enabled Status = original.Enabled -) - -type AKS = original.AKS -type AKSProperties = original.AKSProperties -type AksComputeSecrets = original.AksComputeSecrets -type BaseClient = original.BaseClient -type BasicCompute = original.BasicCompute -type BasicComputeSecrets = original.BasicComputeSecrets -type BatchAI = original.BatchAI -type BatchAIProperties = original.BatchAIProperties -type Compute = original.Compute -type ComputeResource = original.ComputeResource -type ComputeSecrets = original.ComputeSecrets -type ComputeSecretsModel = original.ComputeSecretsModel -type DataFactory = original.DataFactory -type ErrorDetail = original.ErrorDetail -type ErrorResponse = original.ErrorResponse -type HDInsight = original.HDInsight -type HDInsightProperties = original.HDInsightProperties -type Identity = original.Identity -type ListWorkspaceKeysResult = original.ListWorkspaceKeysResult -type MachineLearningComputeClient = original.MachineLearningComputeClient -type MachineLearningComputeCreateOrUpdateFuture = original.MachineLearningComputeCreateOrUpdateFuture -type MachineLearningComputeDeleteFuture = original.MachineLearningComputeDeleteFuture -type MachineLearningComputeSystemUpdateFuture = original.MachineLearningComputeSystemUpdateFuture -type MachineLearningServiceError = original.MachineLearningServiceError -type Operation = original.Operation -type OperationDisplay = original.OperationDisplay -type OperationListResult = original.OperationListResult -type OperationsClient = original.OperationsClient -type PaginatedComputeResourcesList = original.PaginatedComputeResourcesList -type PaginatedComputeResourcesListIterator = original.PaginatedComputeResourcesListIterator -type PaginatedComputeResourcesListPage = original.PaginatedComputeResourcesListPage -type Password = original.Password -type PrincipalCredentials = original.PrincipalCredentials -type RegistryListCredentialsResult = original.RegistryListCredentialsResult -type Resource = original.Resource -type ScaleSettings = original.ScaleSettings -type SslConfiguration = original.SslConfiguration -type SystemService = original.SystemService -type VirtualMachine = original.VirtualMachine -type VirtualMachineProperties = original.VirtualMachineProperties -type VirtualMachineSSHCredentials = original.VirtualMachineSSHCredentials -type VirtualMachineSecrets = original.VirtualMachineSecrets -type Workspace = original.Workspace -type WorkspaceListResult = original.WorkspaceListResult -type WorkspaceListResultIterator = original.WorkspaceListResultIterator -type WorkspaceListResultPage = original.WorkspaceListResultPage -type WorkspaceProperties = original.WorkspaceProperties -type WorkspacePropertiesUpdateParameters = original.WorkspacePropertiesUpdateParameters -type WorkspaceUpdateParameters = original.WorkspaceUpdateParameters -type WorkspacesClient = original.WorkspacesClient - -func New(subscriptionID string) BaseClient { - return original.New(subscriptionID) -} -func NewMachineLearningComputeClient(subscriptionID string) MachineLearningComputeClient { - return original.NewMachineLearningComputeClient(subscriptionID) -} -func NewMachineLearningComputeClientWithBaseURI(baseURI string, subscriptionID string) MachineLearningComputeClient { - return original.NewMachineLearningComputeClientWithBaseURI(baseURI, subscriptionID) -} -func NewOperationsClient(subscriptionID string) OperationsClient { - return original.NewOperationsClient(subscriptionID) -} -func NewOperationsClientWithBaseURI(baseURI string, subscriptionID string) OperationsClient { - return original.NewOperationsClientWithBaseURI(baseURI, subscriptionID) -} -func NewPaginatedComputeResourcesListIterator(page PaginatedComputeResourcesListPage) PaginatedComputeResourcesListIterator { - return original.NewPaginatedComputeResourcesListIterator(page) -} -func NewPaginatedComputeResourcesListPage(getNextPage func(context.Context, PaginatedComputeResourcesList) (PaginatedComputeResourcesList, error)) PaginatedComputeResourcesListPage { - return original.NewPaginatedComputeResourcesListPage(getNextPage) -} -func NewWithBaseURI(baseURI string, subscriptionID string) BaseClient { - return original.NewWithBaseURI(baseURI, subscriptionID) -} -func NewWorkspaceListResultIterator(page WorkspaceListResultPage) WorkspaceListResultIterator { - return original.NewWorkspaceListResultIterator(page) -} -func NewWorkspaceListResultPage(getNextPage func(context.Context, WorkspaceListResult) (WorkspaceListResult, error)) WorkspaceListResultPage { - return original.NewWorkspaceListResultPage(getNextPage) -} -func NewWorkspacesClient(subscriptionID string) WorkspacesClient { - return original.NewWorkspacesClient(subscriptionID) -} -func NewWorkspacesClientWithBaseURI(baseURI string, subscriptionID string) WorkspacesClient { - return original.NewWorkspacesClientWithBaseURI(baseURI, subscriptionID) -} -func PossibleComputeTypeBasicComputeSecretsValues() []ComputeTypeBasicComputeSecrets { - return original.PossibleComputeTypeBasicComputeSecretsValues() -} -func PossibleComputeTypeBasicComputeValues() []ComputeTypeBasicCompute { - return original.PossibleComputeTypeBasicComputeValues() -} -func PossibleComputeTypeValues() []ComputeType { - return original.PossibleComputeTypeValues() -} -func PossibleProvisioningStateValues() []ProvisioningState { - return original.PossibleProvisioningStateValues() -} -func PossibleResourceIdentityTypeValues() []ResourceIdentityType { - return original.PossibleResourceIdentityTypeValues() -} -func PossibleStatusValues() []Status { - return original.PossibleStatusValues() -} -func UserAgent() string { - return original.UserAgent() + " profiles/preview" -} -func Version() string { - return original.Version() -} diff --git a/profiles/preview/preview/maintenance/mgmt/maintenance/maintenanceapi/models.go b/profiles/preview/preview/maintenance/mgmt/maintenance/maintenanceapi/models.go new file mode 100644 index 000000000000..9aae9dd8b0d4 --- /dev/null +++ b/profiles/preview/preview/maintenance/mgmt/maintenance/maintenanceapi/models.go @@ -0,0 +1,28 @@ +// +build go1.9 + +// Copyright 2019 Microsoft Corporation +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// This code was auto-generated by: +// github.com/Azure/azure-sdk-for-go/tools/profileBuilder + +package maintenanceapi + +import original "github.com/Azure/azure-sdk-for-go/services/preview/maintenance/mgmt/2018-06-01-preview/maintenance/maintenanceapi" + +type ApplyUpdatesClientAPI = original.ApplyUpdatesClientAPI +type ConfigurationAssignmentsClientAPI = original.ConfigurationAssignmentsClientAPI +type ConfigurationsClientAPI = original.ConfigurationsClientAPI +type OperationsClientAPI = original.OperationsClientAPI +type UpdatesClientAPI = original.UpdatesClientAPI diff --git a/profiles/preview/preview/maintenance/mgmt/maintenance/models.go b/profiles/preview/preview/maintenance/mgmt/maintenance/models.go new file mode 100644 index 000000000000..873254c688c5 --- /dev/null +++ b/profiles/preview/preview/maintenance/mgmt/maintenance/models.go @@ -0,0 +1,130 @@ +// +build go1.9 + +// Copyright 2019 Microsoft Corporation +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// This code was auto-generated by: +// github.com/Azure/azure-sdk-for-go/tools/profileBuilder + +package maintenance + +import original "github.com/Azure/azure-sdk-for-go/services/preview/maintenance/mgmt/2018-06-01-preview/maintenance" + +const ( + DefaultBaseURI = original.DefaultBaseURI +) + +type ImpactType = original.ImpactType + +const ( + Freeze ImpactType = original.Freeze + None ImpactType = original.None + Redeploy ImpactType = original.Redeploy + Restart ImpactType = original.Restart +) + +type Scope = original.Scope + +const ( + ScopeAll Scope = original.ScopeAll + ScopeHost Scope = original.ScopeHost + ScopeInResource Scope = original.ScopeInResource + ScopeResource Scope = original.ScopeResource +) + +type UpdateStatus = original.UpdateStatus + +const ( + Completed UpdateStatus = original.Completed + InProgress UpdateStatus = original.InProgress + Pending UpdateStatus = original.Pending + RetryLater UpdateStatus = original.RetryLater + RetryNow UpdateStatus = original.RetryNow +) + +type ApplyUpdate = original.ApplyUpdate +type ApplyUpdateProperties = original.ApplyUpdateProperties +type ApplyUpdatesClient = original.ApplyUpdatesClient +type BaseClient = original.BaseClient +type Configuration = original.Configuration +type ConfigurationAssignment = original.ConfigurationAssignment +type ConfigurationAssignmentProperties = original.ConfigurationAssignmentProperties +type ConfigurationAssignmentsClient = original.ConfigurationAssignmentsClient +type ConfigurationProperties = original.ConfigurationProperties +type ConfigurationsClient = original.ConfigurationsClient +type Error = original.Error +type ErrorDetails = original.ErrorDetails +type ListConfigurationAssignmentsResult = original.ListConfigurationAssignmentsResult +type ListMaintenanceConfigurationsResult = original.ListMaintenanceConfigurationsResult +type ListUpdatesResult = original.ListUpdatesResult +type Operation = original.Operation +type OperationInfo = original.OperationInfo +type OperationsClient = original.OperationsClient +type OperationsListResult = original.OperationsListResult +type Resource = original.Resource +type Update = original.Update +type UpdateProperties = original.UpdateProperties +type UpdatesClient = original.UpdatesClient + +func New(subscriptionID string) BaseClient { + return original.New(subscriptionID) +} +func NewApplyUpdatesClient(subscriptionID string) ApplyUpdatesClient { + return original.NewApplyUpdatesClient(subscriptionID) +} +func NewApplyUpdatesClientWithBaseURI(baseURI string, subscriptionID string) ApplyUpdatesClient { + return original.NewApplyUpdatesClientWithBaseURI(baseURI, subscriptionID) +} +func NewConfigurationAssignmentsClient(subscriptionID string) ConfigurationAssignmentsClient { + return original.NewConfigurationAssignmentsClient(subscriptionID) +} +func NewConfigurationAssignmentsClientWithBaseURI(baseURI string, subscriptionID string) ConfigurationAssignmentsClient { + return original.NewConfigurationAssignmentsClientWithBaseURI(baseURI, subscriptionID) +} +func NewConfigurationsClient(subscriptionID string) ConfigurationsClient { + return original.NewConfigurationsClient(subscriptionID) +} +func NewConfigurationsClientWithBaseURI(baseURI string, subscriptionID string) ConfigurationsClient { + return original.NewConfigurationsClientWithBaseURI(baseURI, subscriptionID) +} +func NewOperationsClient(subscriptionID string) OperationsClient { + return original.NewOperationsClient(subscriptionID) +} +func NewOperationsClientWithBaseURI(baseURI string, subscriptionID string) OperationsClient { + return original.NewOperationsClientWithBaseURI(baseURI, subscriptionID) +} +func NewUpdatesClient(subscriptionID string) UpdatesClient { + return original.NewUpdatesClient(subscriptionID) +} +func NewUpdatesClientWithBaseURI(baseURI string, subscriptionID string) UpdatesClient { + return original.NewUpdatesClientWithBaseURI(baseURI, subscriptionID) +} +func NewWithBaseURI(baseURI string, subscriptionID string) BaseClient { + return original.NewWithBaseURI(baseURI, subscriptionID) +} +func PossibleImpactTypeValues() []ImpactType { + return original.PossibleImpactTypeValues() +} +func PossibleScopeValues() []Scope { + return original.PossibleScopeValues() +} +func PossibleUpdateStatusValues() []UpdateStatus { + return original.PossibleUpdateStatusValues() +} +func UserAgent() string { + return original.UserAgent() + " profiles/preview" +} +func Version() string { + return original.Version() +} diff --git a/profiles/preview/preview/managednetwork/mgmt/managednetwork/models.go b/profiles/preview/preview/managednetwork/mgmt/managednetwork/models.go index 579ee5b72acb..d2b5de3e5177 100644 --- a/profiles/preview/preview/managednetwork/mgmt/managednetwork/models.go +++ b/profiles/preview/preview/managednetwork/mgmt/managednetwork/models.go @@ -35,14 +35,6 @@ const ( Connectivity Kind = original.Connectivity ) -type PeeringPolicyType = original.PeeringPolicyType - -const ( - PeeringPolicyTypeHubAndSpokeTopology PeeringPolicyType = original.PeeringPolicyTypeHubAndSpokeTopology - PeeringPolicyTypeManagedNetworkPeeringPolicyProperties PeeringPolicyType = original.PeeringPolicyTypeManagedNetworkPeeringPolicyProperties - PeeringPolicyTypeMeshTopology PeeringPolicyType = original.PeeringPolicyTypeMeshTopology -) - type ProvisioningState = original.ProvisioningState const ( @@ -52,8 +44,14 @@ const ( Updating ProvisioningState = original.Updating ) +type Type = original.Type + +const ( + HubAndSpokeTopology Type = original.HubAndSpokeTopology + MeshTopology Type = original.MeshTopology +) + type BaseClient = original.BaseClient -type BasicPeeringPolicyProperties = original.BasicPeeringPolicyProperties type ConnectivityCollection = original.ConnectivityCollection type ErrorResponse = original.ErrorResponse type Group = original.Group @@ -171,12 +169,12 @@ func NewWithBaseURI(baseURI string, subscriptionID string) BaseClient { func PossibleKindValues() []Kind { return original.PossibleKindValues() } -func PossiblePeeringPolicyTypeValues() []PeeringPolicyType { - return original.PossiblePeeringPolicyTypeValues() -} func PossibleProvisioningStateValues() []ProvisioningState { return original.PossibleProvisioningStateValues() } +func PossibleTypeValues() []Type { + return original.PossibleTypeValues() +} func UserAgent() string { return original.UserAgent() + " profiles/preview" } diff --git a/profiles/preview/preview/mysql/mgmt/mysql/models.go b/profiles/preview/preview/mysql/mgmt/mysql/models.go index 1b22f81ab506..6ed8532aef8c 100644 --- a/profiles/preview/preview/mysql/mgmt/mysql/models.go +++ b/profiles/preview/preview/mysql/mgmt/mysql/models.go @@ -148,6 +148,12 @@ type ProxyResource = original.ProxyResource type ReplicasClient = original.ReplicasClient type SecurityAlertPolicyProperties = original.SecurityAlertPolicyProperties type Server = original.Server +type ServerAdministratorProperties = original.ServerAdministratorProperties +type ServerAdministratorResource = original.ServerAdministratorResource +type ServerAdministratorResourceListResult = original.ServerAdministratorResourceListResult +type ServerAdministratorsClient = original.ServerAdministratorsClient +type ServerAdministratorsCreateOrUpdateFuture = original.ServerAdministratorsCreateOrUpdateFuture +type ServerAdministratorsDeleteFuture = original.ServerAdministratorsDeleteFuture type ServerForCreate = original.ServerForCreate type ServerListResult = original.ServerListResult type ServerProperties = original.ServerProperties @@ -229,6 +235,12 @@ func NewReplicasClient(subscriptionID string) ReplicasClient { func NewReplicasClientWithBaseURI(baseURI string, subscriptionID string) ReplicasClient { return original.NewReplicasClientWithBaseURI(baseURI, subscriptionID) } +func NewServerAdministratorsClient(subscriptionID string) ServerAdministratorsClient { + return original.NewServerAdministratorsClient(subscriptionID) +} +func NewServerAdministratorsClientWithBaseURI(baseURI string, subscriptionID string) ServerAdministratorsClient { + return original.NewServerAdministratorsClientWithBaseURI(baseURI, subscriptionID) +} func NewServerSecurityAlertPoliciesClient(subscriptionID string) ServerSecurityAlertPoliciesClient { return original.NewServerSecurityAlertPoliciesClient(subscriptionID) } diff --git a/profiles/preview/preview/mysql/mgmt/mysql/mysqlapi/models.go b/profiles/preview/preview/mysql/mgmt/mysql/mysqlapi/models.go index 175d2fd4fd60..d2d2d155946f 100644 --- a/profiles/preview/preview/mysql/mgmt/mysql/mysqlapi/models.go +++ b/profiles/preview/preview/mysql/mgmt/mysql/mysqlapi/models.go @@ -29,6 +29,7 @@ type LocationBasedPerformanceTierClientAPI = original.LocationBasedPerformanceTi type LogFilesClientAPI = original.LogFilesClientAPI type OperationsClientAPI = original.OperationsClientAPI type ReplicasClientAPI = original.ReplicasClientAPI +type ServerAdministratorsClientAPI = original.ServerAdministratorsClientAPI type ServerSecurityAlertPoliciesClientAPI = original.ServerSecurityAlertPoliciesClientAPI type ServersClientAPI = original.ServersClientAPI type VirtualNetworkRulesClientAPI = original.VirtualNetworkRulesClientAPI diff --git a/profiles/preview/preview/peering/mgmt/peering/models.go b/profiles/preview/preview/peering/mgmt/peering/models.go index cabe32ebf48e..80000056b1b1 100644 --- a/profiles/preview/preview/peering/mgmt/peering/models.go +++ b/profiles/preview/preview/peering/mgmt/peering/models.go @@ -22,7 +22,7 @@ package peering import ( "context" - original "github.com/Azure/azure-sdk-for-go/services/preview/peering/mgmt/2019-08-01-preview/peering" + original "github.com/Azure/azure-sdk-for-go/services/preview/peering/mgmt/2019-09-01-preview/peering" ) const ( @@ -68,9 +68,9 @@ const ( type LearnedType = original.LearnedType const ( - LearnedTypeNone LearnedType = original.LearnedTypeNone - LearnedTypeViaPartner LearnedType = original.LearnedTypeViaPartner - LearnedTypeViaSession LearnedType = original.LearnedTypeViaSession + LearnedTypeNone LearnedType = original.LearnedTypeNone + LearnedTypeViaServiceProvider LearnedType = original.LearnedTypeViaServiceProvider + LearnedTypeViaSession LearnedType = original.LearnedTypeViaSession ) type Name = original.Name @@ -93,6 +93,7 @@ const ( PrefixValidationStatePending PrefixValidationState = original.PrefixValidationStatePending PrefixValidationStateUnknown PrefixValidationState = original.PrefixValidationStateUnknown PrefixValidationStateVerified PrefixValidationState = original.PrefixValidationStateVerified + PrefixValidationStateWarning PrefixValidationState = original.PrefixValidationStateWarning ) type ProvisioningState = original.ProvisioningState @@ -220,11 +221,11 @@ type ServiceLocationListResultPage = original.ServiceLocationListResultPage type ServiceLocationProperties = original.ServiceLocationProperties type ServiceLocationsClient = original.ServiceLocationsClient type ServicePrefix = original.ServicePrefix +type ServicePrefixEvent = original.ServicePrefixEvent type ServicePrefixListResult = original.ServicePrefixListResult type ServicePrefixListResultIterator = original.ServicePrefixListResultIterator type ServicePrefixListResultPage = original.ServicePrefixListResultPage type ServicePrefixProperties = original.ServicePrefixProperties -type ServicePrefixesClient = original.ServicePrefixesClient type ServiceProperties = original.ServiceProperties type ServiceProvider = original.ServiceProvider type ServiceProviderListResult = original.ServiceProviderListResult @@ -324,12 +325,6 @@ func NewServicePrefixListResultIterator(page ServicePrefixListResultPage) Servic func NewServicePrefixListResultPage(getNextPage func(context.Context, ServicePrefixListResult) (ServicePrefixListResult, error)) ServicePrefixListResultPage { return original.NewServicePrefixListResultPage(getNextPage) } -func NewServicePrefixesClient(subscriptionID string) ServicePrefixesClient { - return original.NewServicePrefixesClient(subscriptionID) -} -func NewServicePrefixesClientWithBaseURI(baseURI string, subscriptionID string) ServicePrefixesClient { - return original.NewServicePrefixesClientWithBaseURI(baseURI, subscriptionID) -} func NewServiceProviderListResultIterator(page ServiceProviderListResultPage) ServiceProviderListResultIterator { return original.NewServiceProviderListResultIterator(page) } diff --git a/profiles/preview/preview/peering/mgmt/peering/peeringapi/models.go b/profiles/preview/preview/peering/mgmt/peering/peeringapi/models.go index d3fea5f8eafa..d6b774c37b95 100644 --- a/profiles/preview/preview/peering/mgmt/peering/peeringapi/models.go +++ b/profiles/preview/preview/peering/mgmt/peering/peeringapi/models.go @@ -19,7 +19,7 @@ package peeringapi -import original "github.com/Azure/azure-sdk-for-go/services/preview/peering/mgmt/2019-08-01-preview/peering/peeringapi" +import original "github.com/Azure/azure-sdk-for-go/services/preview/peering/mgmt/2019-09-01-preview/peering/peeringapi" type BaseClientAPI = original.BaseClientAPI type LegacyPeeringsClientAPI = original.LegacyPeeringsClientAPI @@ -29,6 +29,5 @@ type PeerAsnsClientAPI = original.PeerAsnsClientAPI type PeeringsClientAPI = original.PeeringsClientAPI type PrefixesClientAPI = original.PrefixesClientAPI type ServiceLocationsClientAPI = original.ServiceLocationsClientAPI -type ServicePrefixesClientAPI = original.ServicePrefixesClientAPI type ServiceProvidersClientAPI = original.ServiceProvidersClientAPI type ServicesClientAPI = original.ServicesClientAPI diff --git a/profiles/preview/preview/postgresql/mgmt/postgresql/models.go b/profiles/preview/preview/postgresql/mgmt/postgresql/models.go index 4bb162d2499e..bff224032dcd 100644 --- a/profiles/preview/preview/postgresql/mgmt/postgresql/models.go +++ b/profiles/preview/preview/postgresql/mgmt/postgresql/models.go @@ -152,6 +152,12 @@ type ProxyResource = original.ProxyResource type ReplicasClient = original.ReplicasClient type SecurityAlertPolicyProperties = original.SecurityAlertPolicyProperties type Server = original.Server +type ServerAdministratorProperties = original.ServerAdministratorProperties +type ServerAdministratorResource = original.ServerAdministratorResource +type ServerAdministratorResourceListResult = original.ServerAdministratorResourceListResult +type ServerAdministratorsClient = original.ServerAdministratorsClient +type ServerAdministratorsCreateOrUpdateFuture = original.ServerAdministratorsCreateOrUpdateFuture +type ServerAdministratorsDeleteFuture = original.ServerAdministratorsDeleteFuture type ServerForCreate = original.ServerForCreate type ServerListResult = original.ServerListResult type ServerProperties = original.ServerProperties @@ -233,6 +239,12 @@ func NewReplicasClient(subscriptionID string) ReplicasClient { func NewReplicasClientWithBaseURI(baseURI string, subscriptionID string) ReplicasClient { return original.NewReplicasClientWithBaseURI(baseURI, subscriptionID) } +func NewServerAdministratorsClient(subscriptionID string) ServerAdministratorsClient { + return original.NewServerAdministratorsClient(subscriptionID) +} +func NewServerAdministratorsClientWithBaseURI(baseURI string, subscriptionID string) ServerAdministratorsClient { + return original.NewServerAdministratorsClientWithBaseURI(baseURI, subscriptionID) +} func NewServerSecurityAlertPoliciesClient(subscriptionID string) ServerSecurityAlertPoliciesClient { return original.NewServerSecurityAlertPoliciesClient(subscriptionID) } diff --git a/profiles/preview/preview/postgresql/mgmt/postgresql/postgresqlapi/models.go b/profiles/preview/preview/postgresql/mgmt/postgresql/postgresqlapi/models.go index bc9ef850e1c0..a50964de6acb 100644 --- a/profiles/preview/preview/postgresql/mgmt/postgresql/postgresqlapi/models.go +++ b/profiles/preview/preview/postgresql/mgmt/postgresql/postgresqlapi/models.go @@ -29,6 +29,7 @@ type LocationBasedPerformanceTierClientAPI = original.LocationBasedPerformanceTi type LogFilesClientAPI = original.LogFilesClientAPI type OperationsClientAPI = original.OperationsClientAPI type ReplicasClientAPI = original.ReplicasClientAPI +type ServerAdministratorsClientAPI = original.ServerAdministratorsClientAPI type ServerSecurityAlertPoliciesClientAPI = original.ServerSecurityAlertPoliciesClientAPI type ServersClientAPI = original.ServersClientAPI type VirtualNetworkRulesClientAPI = original.VirtualNetworkRulesClientAPI diff --git a/profiles/preview/preview/reservations/mgmt/reservations/models.go b/profiles/preview/preview/reservations/mgmt/reservations/models.go index 56e317240017..93e8b2bf8b0f 100644 --- a/profiles/preview/preview/reservations/mgmt/reservations/models.go +++ b/profiles/preview/preview/reservations/mgmt/reservations/models.go @@ -103,6 +103,22 @@ const ( On InstanceFlexibility = original.On ) +type PaymentStatus = original.PaymentStatus + +const ( + Cancelled PaymentStatus = original.Cancelled + Failed PaymentStatus = original.Failed + Scheduled PaymentStatus = original.Scheduled + Succeeded PaymentStatus = original.Succeeded +) + +type ReservationBillingPlan = original.ReservationBillingPlan + +const ( + Monthly ReservationBillingPlan = original.Monthly + Upfront ReservationBillingPlan = original.Upfront +) + type ReservationTerm = original.ReservationTerm const ( @@ -146,6 +162,7 @@ type CalculatePriceResponseProperties = original.CalculatePriceResponsePropertie type CalculatePriceResponsePropertiesBillingCurrencyTotal = original.CalculatePriceResponsePropertiesBillingCurrencyTotal type CalculatePriceResponsePropertiesPricingCurrencyTotal = original.CalculatePriceResponsePropertiesPricingCurrencyTotal type Catalog = original.Catalog +type CatalogBillingPlansItem = original.CatalogBillingPlansItem type Client = original.Client type Error = original.Error type ExtendedErrorInfo = original.ExtendedErrorInfo @@ -164,6 +181,7 @@ type OperationList = original.OperationList type OperationListIterator = original.OperationListIterator type OperationListPage = original.OperationListPage type OperationResponse = original.OperationResponse +type OrderBillingPlanInformation = original.OrderBillingPlanInformation type OrderClient = original.OrderClient type OrderList = original.OrderList type OrderListIterator = original.OrderListIterator @@ -174,6 +192,8 @@ type OrderResponse = original.OrderResponse type Patch = original.Patch type PatchProperties = original.PatchProperties type PatchPropertiesRenewProperties = original.PatchPropertiesRenewProperties +type PaymentDetail = original.PaymentDetail +type Price = original.Price type Properties = original.Properties type PropertiesType = original.PropertiesType type PurchaseRequest = original.PurchaseRequest @@ -247,6 +267,12 @@ func PossibleErrorResponseCodeValues() []ErrorResponseCode { func PossibleInstanceFlexibilityValues() []InstanceFlexibility { return original.PossibleInstanceFlexibilityValues() } +func PossiblePaymentStatusValues() []PaymentStatus { + return original.PossiblePaymentStatusValues() +} +func PossibleReservationBillingPlanValues() []ReservationBillingPlan { + return original.PossibleReservationBillingPlanValues() +} func PossibleReservationTermValues() []ReservationTerm { return original.PossibleReservationTermValues() } diff --git a/profiles/preview/preview/security/mgmt/security/models.go b/profiles/preview/preview/security/mgmt/security/models.go index 9798ac9547d7..cf99cd57bc4e 100644 --- a/profiles/preview/preview/security/mgmt/security/models.go +++ b/profiles/preview/preview/security/mgmt/security/models.go @@ -59,6 +59,15 @@ const ( AlertsToAdminsOn AlertsToAdmins = original.AlertsToAdminsOn ) +type AssessedResourceType = original.AssessedResourceType + +const ( + AssessedResourceTypeAdditionalData AssessedResourceType = original.AssessedResourceTypeAdditionalData + AssessedResourceTypeContainerRegistryVulnerability AssessedResourceType = original.AssessedResourceTypeContainerRegistryVulnerability + AssessedResourceTypeServerVulnerabilityAssessment AssessedResourceType = original.AssessedResourceTypeServerVulnerabilityAssessment + AssessedResourceTypeSQLServerVulnerability AssessedResourceType = original.AssessedResourceTypeSQLServerVulnerability +) + type AutoProvision = original.AutoProvision const ( @@ -114,6 +123,7 @@ type EnforcementMode = original.EnforcementMode const ( Audit EnforcementMode = original.Audit Enforce EnforcementMode = original.Enforce + None EnforcementMode = original.None ) type EnforcementMode1 = original.EnforcementMode1 @@ -121,6 +131,23 @@ type EnforcementMode1 = original.EnforcementMode1 const ( EnforcementMode1Audit EnforcementMode1 = original.EnforcementMode1Audit EnforcementMode1Enforce EnforcementMode1 = original.EnforcementMode1Enforce + EnforcementMode1None EnforcementMode1 = original.EnforcementMode1None +) + +type Exe = original.Exe + +const ( + ExeAudit Exe = original.ExeAudit + ExeEnforce Exe = original.ExeEnforce + ExeNone Exe = original.ExeNone +) + +type Executable = original.Executable + +const ( + ExecutableAudit Executable = original.ExecutableAudit + ExecutableEnforce Executable = original.ExecutableEnforce + ExecutableNone Executable = original.ExecutableNone ) type ExportData = original.ExportData @@ -149,12 +176,12 @@ const ( type FileType = original.FileType const ( - Dll FileType = original.Dll - Exe FileType = original.Exe - Executable FileType = original.Executable - Msi FileType = original.Msi - Script FileType = original.Script - Unknown FileType = original.Unknown + FileTypeDll FileType = original.FileTypeDll + FileTypeExe FileType = original.FileTypeExe + FileTypeExecutable FileType = original.FileTypeExecutable + FileTypeMsi FileType = original.FileTypeMsi + FileTypeScript FileType = original.FileTypeScript + FileTypeUnknown FileType = original.FileTypeUnknown ) type Issue = original.Issue @@ -177,6 +204,14 @@ const ( KindExternalSecuritySolution KindEnum = original.KindExternalSecuritySolution ) +type Msi = original.Msi + +const ( + MsiAudit Msi = original.MsiAudit + MsiEnforce Msi = original.MsiEnforce + MsiNone Msi = original.MsiNone +) + type PricingTier = original.PricingTier const ( @@ -273,6 +308,14 @@ const ( OffByPolicy ResourceStatus = original.OffByPolicy ) +type Script = original.Script + +const ( + ScriptAudit Script = original.ScriptAudit + ScriptEnforce Script = original.ScriptEnforce + ScriptNone Script = original.ScriptNone +) + type SettingKind = original.SettingKind const ( @@ -280,6 +323,14 @@ const ( SettingKindDataExportSetting SettingKind = original.SettingKindDataExportSetting ) +type Severity = original.Severity + +const ( + SeverityHigh Severity = original.SeverityHigh + SeverityLow Severity = original.SeverityLow + SeverityMedium Severity = original.SeverityMedium +) + type SolutionStatus = original.SolutionStatus const ( @@ -287,14 +338,22 @@ const ( SolutionStatusEnabled SolutionStatus = original.SolutionStatusEnabled ) +type Source = original.Source + +const ( + SourceAws Source = original.SourceAws + SourceAzure Source = original.SourceAzure + SourceResourceDetails Source = original.SourceResourceDetails +) + type SourceSystem = original.SourceSystem const ( - AzureAppLocker SourceSystem = original.AzureAppLocker - AzureAuditD SourceSystem = original.AzureAuditD - NonAzureAppLocker SourceSystem = original.NonAzureAppLocker - NonAzureAuditD SourceSystem = original.NonAzureAuditD - None SourceSystem = original.None + SourceSystemAzureAppLocker SourceSystem = original.SourceSystemAzureAppLocker + SourceSystemAzureAuditD SourceSystem = original.SourceSystemAzureAuditD + SourceSystemNonAzureAppLocker SourceSystem = original.SourceSystemNonAzureAppLocker + SourceSystemNonAzureAuditD SourceSystem = original.SourceSystemNonAzureAuditD + SourceSystemNone SourceSystem = original.SourceSystemNone ) type State = original.State @@ -321,6 +380,14 @@ const ( UserRequested StatusReason = original.UserRequested ) +type SubAssessmentStatusCode = original.SubAssessmentStatusCode + +const ( + SubAssessmentStatusCodeHealthy SubAssessmentStatusCode = original.SubAssessmentStatusCodeHealthy + SubAssessmentStatusCodeNotApplicable SubAssessmentStatusCode = original.SubAssessmentStatusCodeNotApplicable + SubAssessmentStatusCodeUnhealthy SubAssessmentStatusCode = original.SubAssessmentStatusCodeUnhealthy +) + type Type = original.Type const ( @@ -332,10 +399,18 @@ const ( VersionAndAboveSignature Type = original.VersionAndAboveSignature ) +type ValueType = original.ValueType + +const ( + IPCidr ValueType = original.IPCidr + String ValueType = original.String +) + type AadConnectivityState1 = original.AadConnectivityState1 type AadExternalSecuritySolution = original.AadExternalSecuritySolution type AadSolutionProperties = original.AadSolutionProperties type AdaptiveApplicationControlsClient = original.AdaptiveApplicationControlsClient +type AdditionalData = original.AdditionalData type AdvancedThreatProtectionClient = original.AdvancedThreatProtectionClient type AdvancedThreatProtectionProperties = original.AdvancedThreatProtectionProperties type AdvancedThreatProtectionSetting = original.AdvancedThreatProtectionSetting @@ -353,6 +428,7 @@ type AllowedConnectionsListIterator = original.AllowedConnectionsListIterator type AllowedConnectionsListPage = original.AllowedConnectionsListPage type AllowedConnectionsResource = original.AllowedConnectionsResource type AllowedConnectionsResourceProperties = original.AllowedConnectionsResourceProperties +type AllowlistCustomAlertRule = original.AllowlistCustomAlertRule type AppWhitelistingGroup = original.AppWhitelistingGroup type AppWhitelistingGroupData = original.AppWhitelistingGroupData type AppWhitelistingGroups = original.AppWhitelistingGroups @@ -370,8 +446,14 @@ type AutoProvisioningSettingListIterator = original.AutoProvisioningSettingListI type AutoProvisioningSettingListPage = original.AutoProvisioningSettingListPage type AutoProvisioningSettingProperties = original.AutoProvisioningSettingProperties type AutoProvisioningSettingsClient = original.AutoProvisioningSettingsClient +type AwsResourceDetails = original.AwsResourceDetails +type AzureResourceDetails = original.AzureResourceDetails type BaseClient = original.BaseClient +type BasicAdditionalData = original.BasicAdditionalData type BasicExternalSecuritySolution = original.BasicExternalSecuritySolution +type BasicResourceDetails = original.BasicResourceDetails +type CVE = original.CVE +type CVSS = original.CVSS type CefExternalSecuritySolution = original.CefExternalSecuritySolution type CefSolutionProperties = original.CefSolutionProperties type CloudError = original.CloudError @@ -398,8 +480,17 @@ type ContactListIterator = original.ContactListIterator type ContactListPage = original.ContactListPage type ContactProperties = original.ContactProperties type ContactsClient = original.ContactsClient +type ContainerRegistryVulnerabilityProperties = original.ContainerRegistryVulnerabilityProperties +type CustomAlertRule = original.CustomAlertRule type DataExportSetting = original.DataExportSetting type DataExportSettingProperties = original.DataExportSettingProperties +type DenylistCustomAlertRule = original.DenylistCustomAlertRule +type DeviceSecurityGroup = original.DeviceSecurityGroup +type DeviceSecurityGroupList = original.DeviceSecurityGroupList +type DeviceSecurityGroupListIterator = original.DeviceSecurityGroupListIterator +type DeviceSecurityGroupListPage = original.DeviceSecurityGroupListPage +type DeviceSecurityGroupProperties = original.DeviceSecurityGroupProperties +type DeviceSecurityGroupsClient = original.DeviceSecurityGroupsClient type DiscoveredSecuritySolution = original.DiscoveredSecuritySolution type DiscoveredSecuritySolutionList = original.DiscoveredSecuritySolutionList type DiscoveredSecuritySolutionListIterator = original.DiscoveredSecuritySolutionListIterator @@ -427,35 +518,29 @@ type IoTSecurityAggregatedAlertList = original.IoTSecurityAggregatedAlertList type IoTSecurityAggregatedAlertListIterator = original.IoTSecurityAggregatedAlertListIterator type IoTSecurityAggregatedAlertListPage = original.IoTSecurityAggregatedAlertListPage type IoTSecurityAggregatedAlertProperties = original.IoTSecurityAggregatedAlertProperties +type IoTSecurityAggregatedAlertPropertiesTopDevicesListItem = original.IoTSecurityAggregatedAlertPropertiesTopDevicesListItem type IoTSecurityAggregatedRecommendation = original.IoTSecurityAggregatedRecommendation type IoTSecurityAggregatedRecommendationList = original.IoTSecurityAggregatedRecommendationList type IoTSecurityAggregatedRecommendationListIterator = original.IoTSecurityAggregatedRecommendationListIterator type IoTSecurityAggregatedRecommendationListPage = original.IoTSecurityAggregatedRecommendationListPage type IoTSecurityAggregatedRecommendationProperties = original.IoTSecurityAggregatedRecommendationProperties type IoTSecurityAlertedDevice = original.IoTSecurityAlertedDevice -type IoTSecurityAlertedDevicesList = original.IoTSecurityAlertedDevicesList type IoTSecurityDeviceAlert = original.IoTSecurityDeviceAlert -type IoTSecurityDeviceAlertsList = original.IoTSecurityDeviceAlertsList type IoTSecurityDeviceRecommendation = original.IoTSecurityDeviceRecommendation -type IoTSecurityDeviceRecommendationsList = original.IoTSecurityDeviceRecommendationsList type IoTSecuritySolutionAnalyticsModel = original.IoTSecuritySolutionAnalyticsModel type IoTSecuritySolutionAnalyticsModelList = original.IoTSecuritySolutionAnalyticsModelList type IoTSecuritySolutionAnalyticsModelProperties = original.IoTSecuritySolutionAnalyticsModelProperties type IoTSecuritySolutionAnalyticsModelPropertiesDevicesMetricsItem = original.IoTSecuritySolutionAnalyticsModelPropertiesDevicesMetricsItem type IoTSecuritySolutionModel = original.IoTSecuritySolutionModel type IoTSecuritySolutionProperties = original.IoTSecuritySolutionProperties -type IoTSecuritySolutionsAnalyticsAggregatedAlertClient = original.IoTSecuritySolutionsAnalyticsAggregatedAlertClient -type IoTSecuritySolutionsAnalyticsAggregatedAlertsClient = original.IoTSecuritySolutionsAnalyticsAggregatedAlertsClient -type IoTSecuritySolutionsAnalyticsClient = original.IoTSecuritySolutionsAnalyticsClient -type IoTSecuritySolutionsAnalyticsRecommendationClient = original.IoTSecuritySolutionsAnalyticsRecommendationClient -type IoTSecuritySolutionsAnalyticsRecommendationsClient = original.IoTSecuritySolutionsAnalyticsRecommendationsClient -type IoTSecuritySolutionsClient = original.IoTSecuritySolutionsClient type IoTSecuritySolutionsList = original.IoTSecuritySolutionsList type IoTSecuritySolutionsListIterator = original.IoTSecuritySolutionsListIterator type IoTSecuritySolutionsListPage = original.IoTSecuritySolutionsListPage -type IoTSecuritySolutionsResourceGroupClient = original.IoTSecuritySolutionsResourceGroupClient type IoTSeverityMetrics = original.IoTSeverityMetrics +type IotSecuritySolutionAnalyticsClient = original.IotSecuritySolutionAnalyticsClient type IotSecuritySolutionClient = original.IotSecuritySolutionClient +type IotSecuritySolutionsAnalyticsAggregatedAlertClient = original.IotSecuritySolutionsAnalyticsAggregatedAlertClient +type IotSecuritySolutionsAnalyticsRecommendationClient = original.IotSecuritySolutionsAnalyticsRecommendationClient type JitNetworkAccessPoliciesClient = original.JitNetworkAccessPoliciesClient type JitNetworkAccessPoliciesList = original.JitNetworkAccessPoliciesList type JitNetworkAccessPoliciesListIterator = original.JitNetworkAccessPoliciesListIterator @@ -471,6 +556,7 @@ type JitNetworkAccessRequest = original.JitNetworkAccessRequest type JitNetworkAccessRequestPort = original.JitNetworkAccessRequestPort type JitNetworkAccessRequestVirtualMachine = original.JitNetworkAccessRequestVirtualMachine type Kind = original.Kind +type ListCustomAlertRule = original.ListCustomAlertRule type Location = original.Location type LocationsClient = original.LocationsClient type Operation = original.Operation @@ -484,6 +570,7 @@ type Pricing = original.Pricing type PricingList = original.PricingList type PricingProperties = original.PricingProperties type PricingsClient = original.PricingsClient +type ProtectionMode = original.ProtectionMode type PublisherInfo = original.PublisherInfo type RecommendationConfigurationProperties = original.RecommendationConfigurationProperties type RegulatoryComplianceAssessment = original.RegulatoryComplianceAssessment @@ -505,17 +592,27 @@ type RegulatoryComplianceStandardListPage = original.RegulatoryComplianceStandar type RegulatoryComplianceStandardProperties = original.RegulatoryComplianceStandardProperties type RegulatoryComplianceStandardsClient = original.RegulatoryComplianceStandardsClient type Resource = original.Resource +type ResourceDetails = original.ResourceDetails +type SQLServerVulnerabilityProperties = original.SQLServerVulnerabilityProperties type SensitivityLabel = original.SensitivityLabel type ServerVulnerabilityAssessment = original.ServerVulnerabilityAssessment type ServerVulnerabilityAssessmentClient = original.ServerVulnerabilityAssessmentClient type ServerVulnerabilityAssessmentProperties = original.ServerVulnerabilityAssessmentProperties type ServerVulnerabilityAssessmentsList = original.ServerVulnerabilityAssessmentsList +type ServerVulnerabilityProperties = original.ServerVulnerabilityProperties type Setting = original.Setting type SettingResource = original.SettingResource type SettingsClient = original.SettingsClient type SettingsList = original.SettingsList type SettingsListIterator = original.SettingsListIterator type SettingsListPage = original.SettingsListPage +type SubAssessment = original.SubAssessment +type SubAssessmentList = original.SubAssessmentList +type SubAssessmentListIterator = original.SubAssessmentListIterator +type SubAssessmentListPage = original.SubAssessmentListPage +type SubAssessmentProperties = original.SubAssessmentProperties +type SubAssessmentStatus = original.SubAssessmentStatus +type SubAssessmentsClient = original.SubAssessmentsClient type TagsResource = original.TagsResource type Task = original.Task type TaskList = original.TaskList @@ -524,6 +621,8 @@ type TaskListPage = original.TaskListPage type TaskParameters = original.TaskParameters type TaskProperties = original.TaskProperties type TasksClient = original.TasksClient +type ThresholdCustomAlertRule = original.ThresholdCustomAlertRule +type TimeWindowCustomAlertRule = original.TimeWindowCustomAlertRule type TopologyClient = original.TopologyClient type TopologyList = original.TopologyList type TopologyListIterator = original.TopologyListIterator @@ -533,10 +632,12 @@ type TopologyResourceProperties = original.TopologyResourceProperties type TopologySingleResource = original.TopologySingleResource type TopologySingleResourceChild = original.TopologySingleResourceChild type TopologySingleResourceParent = original.TopologySingleResourceParent +type UpdateIoTSecuritySolutionProperties = original.UpdateIoTSecuritySolutionProperties type UpdateIotSecuritySolutionData = original.UpdateIotSecuritySolutionData type UserDefinedResourcesProperties = original.UserDefinedResourcesProperties type UserRecommendation = original.UserRecommendation type VMRecommendation = original.VMRecommendation +type VendorReference = original.VendorReference type WorkspaceSetting = original.WorkspaceSetting type WorkspaceSettingList = original.WorkspaceSettingList type WorkspaceSettingListIterator = original.WorkspaceSettingListIterator @@ -637,6 +738,18 @@ func NewContactsClient(subscriptionID string, ascLocation string) ContactsClient func NewContactsClientWithBaseURI(baseURI string, subscriptionID string, ascLocation string) ContactsClient { return original.NewContactsClientWithBaseURI(baseURI, subscriptionID, ascLocation) } +func NewDeviceSecurityGroupListIterator(page DeviceSecurityGroupListPage) DeviceSecurityGroupListIterator { + return original.NewDeviceSecurityGroupListIterator(page) +} +func NewDeviceSecurityGroupListPage(getNextPage func(context.Context, DeviceSecurityGroupList) (DeviceSecurityGroupList, error)) DeviceSecurityGroupListPage { + return original.NewDeviceSecurityGroupListPage(getNextPage) +} +func NewDeviceSecurityGroupsClient(subscriptionID string, ascLocation string) DeviceSecurityGroupsClient { + return original.NewDeviceSecurityGroupsClient(subscriptionID, ascLocation) +} +func NewDeviceSecurityGroupsClientWithBaseURI(baseURI string, subscriptionID string, ascLocation string) DeviceSecurityGroupsClient { + return original.NewDeviceSecurityGroupsClientWithBaseURI(baseURI, subscriptionID, ascLocation) +} func NewDiscoveredSecuritySolutionListIterator(page DiscoveredSecuritySolutionListPage) DiscoveredSecuritySolutionListIterator { return original.NewDiscoveredSecuritySolutionListIterator(page) } @@ -685,53 +798,17 @@ func NewIoTSecurityAggregatedRecommendationListIterator(page IoTSecurityAggregat func NewIoTSecurityAggregatedRecommendationListPage(getNextPage func(context.Context, IoTSecurityAggregatedRecommendationList) (IoTSecurityAggregatedRecommendationList, error)) IoTSecurityAggregatedRecommendationListPage { return original.NewIoTSecurityAggregatedRecommendationListPage(getNextPage) } -func NewIoTSecuritySolutionsAnalyticsAggregatedAlertClient(subscriptionID string, ascLocation string) IoTSecuritySolutionsAnalyticsAggregatedAlertClient { - return original.NewIoTSecuritySolutionsAnalyticsAggregatedAlertClient(subscriptionID, ascLocation) -} -func NewIoTSecuritySolutionsAnalyticsAggregatedAlertClientWithBaseURI(baseURI string, subscriptionID string, ascLocation string) IoTSecuritySolutionsAnalyticsAggregatedAlertClient { - return original.NewIoTSecuritySolutionsAnalyticsAggregatedAlertClientWithBaseURI(baseURI, subscriptionID, ascLocation) -} -func NewIoTSecuritySolutionsAnalyticsAggregatedAlertsClient(subscriptionID string, ascLocation string) IoTSecuritySolutionsAnalyticsAggregatedAlertsClient { - return original.NewIoTSecuritySolutionsAnalyticsAggregatedAlertsClient(subscriptionID, ascLocation) -} -func NewIoTSecuritySolutionsAnalyticsAggregatedAlertsClientWithBaseURI(baseURI string, subscriptionID string, ascLocation string) IoTSecuritySolutionsAnalyticsAggregatedAlertsClient { - return original.NewIoTSecuritySolutionsAnalyticsAggregatedAlertsClientWithBaseURI(baseURI, subscriptionID, ascLocation) -} -func NewIoTSecuritySolutionsAnalyticsClient(subscriptionID string, ascLocation string) IoTSecuritySolutionsAnalyticsClient { - return original.NewIoTSecuritySolutionsAnalyticsClient(subscriptionID, ascLocation) -} -func NewIoTSecuritySolutionsAnalyticsClientWithBaseURI(baseURI string, subscriptionID string, ascLocation string) IoTSecuritySolutionsAnalyticsClient { - return original.NewIoTSecuritySolutionsAnalyticsClientWithBaseURI(baseURI, subscriptionID, ascLocation) -} -func NewIoTSecuritySolutionsAnalyticsRecommendationClient(subscriptionID string, ascLocation string) IoTSecuritySolutionsAnalyticsRecommendationClient { - return original.NewIoTSecuritySolutionsAnalyticsRecommendationClient(subscriptionID, ascLocation) -} -func NewIoTSecuritySolutionsAnalyticsRecommendationClientWithBaseURI(baseURI string, subscriptionID string, ascLocation string) IoTSecuritySolutionsAnalyticsRecommendationClient { - return original.NewIoTSecuritySolutionsAnalyticsRecommendationClientWithBaseURI(baseURI, subscriptionID, ascLocation) -} -func NewIoTSecuritySolutionsAnalyticsRecommendationsClient(subscriptionID string, ascLocation string) IoTSecuritySolutionsAnalyticsRecommendationsClient { - return original.NewIoTSecuritySolutionsAnalyticsRecommendationsClient(subscriptionID, ascLocation) -} -func NewIoTSecuritySolutionsAnalyticsRecommendationsClientWithBaseURI(baseURI string, subscriptionID string, ascLocation string) IoTSecuritySolutionsAnalyticsRecommendationsClient { - return original.NewIoTSecuritySolutionsAnalyticsRecommendationsClientWithBaseURI(baseURI, subscriptionID, ascLocation) -} -func NewIoTSecuritySolutionsClient(subscriptionID string, ascLocation string) IoTSecuritySolutionsClient { - return original.NewIoTSecuritySolutionsClient(subscriptionID, ascLocation) -} -func NewIoTSecuritySolutionsClientWithBaseURI(baseURI string, subscriptionID string, ascLocation string) IoTSecuritySolutionsClient { - return original.NewIoTSecuritySolutionsClientWithBaseURI(baseURI, subscriptionID, ascLocation) -} func NewIoTSecuritySolutionsListIterator(page IoTSecuritySolutionsListPage) IoTSecuritySolutionsListIterator { return original.NewIoTSecuritySolutionsListIterator(page) } func NewIoTSecuritySolutionsListPage(getNextPage func(context.Context, IoTSecuritySolutionsList) (IoTSecuritySolutionsList, error)) IoTSecuritySolutionsListPage { return original.NewIoTSecuritySolutionsListPage(getNextPage) } -func NewIoTSecuritySolutionsResourceGroupClient(subscriptionID string, ascLocation string) IoTSecuritySolutionsResourceGroupClient { - return original.NewIoTSecuritySolutionsResourceGroupClient(subscriptionID, ascLocation) +func NewIotSecuritySolutionAnalyticsClient(subscriptionID string, ascLocation string) IotSecuritySolutionAnalyticsClient { + return original.NewIotSecuritySolutionAnalyticsClient(subscriptionID, ascLocation) } -func NewIoTSecuritySolutionsResourceGroupClientWithBaseURI(baseURI string, subscriptionID string, ascLocation string) IoTSecuritySolutionsResourceGroupClient { - return original.NewIoTSecuritySolutionsResourceGroupClientWithBaseURI(baseURI, subscriptionID, ascLocation) +func NewIotSecuritySolutionAnalyticsClientWithBaseURI(baseURI string, subscriptionID string, ascLocation string) IotSecuritySolutionAnalyticsClient { + return original.NewIotSecuritySolutionAnalyticsClientWithBaseURI(baseURI, subscriptionID, ascLocation) } func NewIotSecuritySolutionClient(subscriptionID string, ascLocation string) IotSecuritySolutionClient { return original.NewIotSecuritySolutionClient(subscriptionID, ascLocation) @@ -739,6 +816,18 @@ func NewIotSecuritySolutionClient(subscriptionID string, ascLocation string) Iot func NewIotSecuritySolutionClientWithBaseURI(baseURI string, subscriptionID string, ascLocation string) IotSecuritySolutionClient { return original.NewIotSecuritySolutionClientWithBaseURI(baseURI, subscriptionID, ascLocation) } +func NewIotSecuritySolutionsAnalyticsAggregatedAlertClient(subscriptionID string, ascLocation string) IotSecuritySolutionsAnalyticsAggregatedAlertClient { + return original.NewIotSecuritySolutionsAnalyticsAggregatedAlertClient(subscriptionID, ascLocation) +} +func NewIotSecuritySolutionsAnalyticsAggregatedAlertClientWithBaseURI(baseURI string, subscriptionID string, ascLocation string) IotSecuritySolutionsAnalyticsAggregatedAlertClient { + return original.NewIotSecuritySolutionsAnalyticsAggregatedAlertClientWithBaseURI(baseURI, subscriptionID, ascLocation) +} +func NewIotSecuritySolutionsAnalyticsRecommendationClient(subscriptionID string, ascLocation string) IotSecuritySolutionsAnalyticsRecommendationClient { + return original.NewIotSecuritySolutionsAnalyticsRecommendationClient(subscriptionID, ascLocation) +} +func NewIotSecuritySolutionsAnalyticsRecommendationClientWithBaseURI(baseURI string, subscriptionID string, ascLocation string) IotSecuritySolutionsAnalyticsRecommendationClient { + return original.NewIotSecuritySolutionsAnalyticsRecommendationClientWithBaseURI(baseURI, subscriptionID, ascLocation) +} func NewJitNetworkAccessPoliciesClient(subscriptionID string, ascLocation string) JitNetworkAccessPoliciesClient { return original.NewJitNetworkAccessPoliciesClient(subscriptionID, ascLocation) } @@ -829,6 +918,18 @@ func NewSettingsListIterator(page SettingsListPage) SettingsListIterator { func NewSettingsListPage(getNextPage func(context.Context, SettingsList) (SettingsList, error)) SettingsListPage { return original.NewSettingsListPage(getNextPage) } +func NewSubAssessmentListIterator(page SubAssessmentListPage) SubAssessmentListIterator { + return original.NewSubAssessmentListIterator(page) +} +func NewSubAssessmentListPage(getNextPage func(context.Context, SubAssessmentList) (SubAssessmentList, error)) SubAssessmentListPage { + return original.NewSubAssessmentListPage(getNextPage) +} +func NewSubAssessmentsClient(subscriptionID string, ascLocation string) SubAssessmentsClient { + return original.NewSubAssessmentsClient(subscriptionID, ascLocation) +} +func NewSubAssessmentsClientWithBaseURI(baseURI string, subscriptionID string, ascLocation string) SubAssessmentsClient { + return original.NewSubAssessmentsClientWithBaseURI(baseURI, subscriptionID, ascLocation) +} func NewTaskListIterator(page TaskListPage) TaskListIterator { return original.NewTaskListIterator(page) } @@ -880,6 +981,9 @@ func PossibleAlertNotificationsValues() []AlertNotifications { func PossibleAlertsToAdminsValues() []AlertsToAdmins { return original.PossibleAlertsToAdminsValues() } +func PossibleAssessedResourceTypeValues() []AssessedResourceType { + return original.PossibleAssessedResourceTypeValues() +} func PossibleAutoProvisionValues() []AutoProvision { return original.PossibleAutoProvisionValues() } @@ -904,6 +1008,12 @@ func PossibleEnforcementMode1Values() []EnforcementMode1 { func PossibleEnforcementModeValues() []EnforcementMode { return original.PossibleEnforcementModeValues() } +func PossibleExeValues() []Exe { + return original.PossibleExeValues() +} +func PossibleExecutableValues() []Executable { + return original.PossibleExecutableValues() +} func PossibleExportDataValues() []ExportData { return original.PossibleExportDataValues() } @@ -922,6 +1032,9 @@ func PossibleIssueValues() []Issue { func PossibleKindEnumValues() []KindEnum { return original.PossibleKindEnumValues() } +func PossibleMsiValues() []Msi { + return original.PossibleMsiValues() +} func PossiblePricingTierValues() []PricingTier { return original.PossiblePricingTierValues() } @@ -952,15 +1065,24 @@ func PossibleReportedSeverityValues() []ReportedSeverity { func PossibleResourceStatusValues() []ResourceStatus { return original.PossibleResourceStatusValues() } +func PossibleScriptValues() []Script { + return original.PossibleScriptValues() +} func PossibleSettingKindValues() []SettingKind { return original.PossibleSettingKindValues() } +func PossibleSeverityValues() []Severity { + return original.PossibleSeverityValues() +} func PossibleSolutionStatusValues() []SolutionStatus { return original.PossibleSolutionStatusValues() } func PossibleSourceSystemValues() []SourceSystem { return original.PossibleSourceSystemValues() } +func PossibleSourceValues() []Source { + return original.PossibleSourceValues() +} func PossibleStateValues() []State { return original.PossibleStateValues() } @@ -970,9 +1092,15 @@ func PossibleStatusReasonValues() []StatusReason { func PossibleStatusValues() []Status { return original.PossibleStatusValues() } +func PossibleSubAssessmentStatusCodeValues() []SubAssessmentStatusCode { + return original.PossibleSubAssessmentStatusCodeValues() +} func PossibleTypeValues() []Type { return original.PossibleTypeValues() } +func PossibleValueTypeValues() []ValueType { + return original.PossibleValueTypeValues() +} func UserAgent() string { return original.UserAgent() + " profiles/preview" } diff --git a/profiles/preview/preview/security/mgmt/security/securityapi/models.go b/profiles/preview/preview/security/mgmt/security/securityapi/models.go index f3f1649c0b39..6291ca8035f2 100644 --- a/profiles/preview/preview/security/mgmt/security/securityapi/models.go +++ b/profiles/preview/preview/security/mgmt/security/securityapi/models.go @@ -29,17 +29,14 @@ type AutoProvisioningSettingsClientAPI = original.AutoProvisioningSettingsClient type ComplianceResultsClientAPI = original.ComplianceResultsClientAPI type CompliancesClientAPI = original.CompliancesClientAPI type ContactsClientAPI = original.ContactsClientAPI +type DeviceSecurityGroupsClientAPI = original.DeviceSecurityGroupsClientAPI type DiscoveredSecuritySolutionsClientAPI = original.DiscoveredSecuritySolutionsClientAPI type ExternalSecuritySolutionsClientAPI = original.ExternalSecuritySolutionsClientAPI type InformationProtectionPoliciesClientAPI = original.InformationProtectionPoliciesClientAPI -type IoTSecuritySolutionsAnalyticsAggregatedAlertClientAPI = original.IoTSecuritySolutionsAnalyticsAggregatedAlertClientAPI -type IoTSecuritySolutionsAnalyticsAggregatedAlertsClientAPI = original.IoTSecuritySolutionsAnalyticsAggregatedAlertsClientAPI -type IoTSecuritySolutionsAnalyticsClientAPI = original.IoTSecuritySolutionsAnalyticsClientAPI -type IoTSecuritySolutionsAnalyticsRecommendationClientAPI = original.IoTSecuritySolutionsAnalyticsRecommendationClientAPI -type IoTSecuritySolutionsAnalyticsRecommendationsClientAPI = original.IoTSecuritySolutionsAnalyticsRecommendationsClientAPI -type IoTSecuritySolutionsClientAPI = original.IoTSecuritySolutionsClientAPI -type IoTSecuritySolutionsResourceGroupClientAPI = original.IoTSecuritySolutionsResourceGroupClientAPI +type IotSecuritySolutionAnalyticsClientAPI = original.IotSecuritySolutionAnalyticsClientAPI type IotSecuritySolutionClientAPI = original.IotSecuritySolutionClientAPI +type IotSecuritySolutionsAnalyticsAggregatedAlertClientAPI = original.IotSecuritySolutionsAnalyticsAggregatedAlertClientAPI +type IotSecuritySolutionsAnalyticsRecommendationClientAPI = original.IotSecuritySolutionsAnalyticsRecommendationClientAPI type JitNetworkAccessPoliciesClientAPI = original.JitNetworkAccessPoliciesClientAPI type LocationsClientAPI = original.LocationsClientAPI type OperationsClientAPI = original.OperationsClientAPI @@ -49,6 +46,7 @@ type RegulatoryComplianceControlsClientAPI = original.RegulatoryComplianceContro type RegulatoryComplianceStandardsClientAPI = original.RegulatoryComplianceStandardsClientAPI type ServerVulnerabilityAssessmentClientAPI = original.ServerVulnerabilityAssessmentClientAPI type SettingsClientAPI = original.SettingsClientAPI +type SubAssessmentsClientAPI = original.SubAssessmentsClientAPI type TasksClientAPI = original.TasksClientAPI type TopologyClientAPI = original.TopologyClientAPI type WorkspaceSettingsClientAPI = original.WorkspaceSettingsClientAPI diff --git a/profiles/preview/preview/securityinsight/mgmt/securityinsight/models.go b/profiles/preview/preview/securityinsight/mgmt/securityinsight/models.go index c922c6c0f486..600b5eef0a5d 100644 --- a/profiles/preview/preview/securityinsight/mgmt/securityinsight/models.go +++ b/profiles/preview/preview/securityinsight/mgmt/securityinsight/models.go @@ -38,7 +38,9 @@ const ( type AlertRuleKind = original.AlertRuleKind const ( - Scheduled AlertRuleKind = original.Scheduled + Fusion AlertRuleKind = original.Fusion + MicrosoftSecurityIncidentCreation AlertRuleKind = original.MicrosoftSecurityIncidentCreation + Scheduled AlertRuleKind = original.Scheduled ) type AlertSeverity = original.AlertSeverity @@ -50,6 +52,33 @@ const ( Medium AlertSeverity = original.Medium ) +type AlertStatus = original.AlertStatus + +const ( + AlertStatusDismissed AlertStatus = original.AlertStatusDismissed + AlertStatusInProgress AlertStatus = original.AlertStatusInProgress + AlertStatusNew AlertStatus = original.AlertStatusNew + AlertStatusResolved AlertStatus = original.AlertStatusResolved + AlertStatusUnknown AlertStatus = original.AlertStatusUnknown +) + +type AttackTactic = original.AttackTactic + +const ( + Collection AttackTactic = original.Collection + CommandAndControl AttackTactic = original.CommandAndControl + CredentialAccess AttackTactic = original.CredentialAccess + DefenseEvasion AttackTactic = original.DefenseEvasion + Discovery AttackTactic = original.Discovery + Execution AttackTactic = original.Execution + Exfiltration AttackTactic = original.Exfiltration + Impact AttackTactic = original.Impact + InitialAccess AttackTactic = original.InitialAccess + LateralMovement AttackTactic = original.LateralMovement + Persistence AttackTactic = original.Persistence + PrivilegeEscalation AttackTactic = original.PrivilegeEscalation +) + type CaseSeverity = original.CaseSeverity const ( @@ -72,22 +101,41 @@ const ( type CloseReason = original.CloseReason const ( - Dismissed CloseReason = original.Dismissed - Other CloseReason = original.Other - Resolved CloseReason = original.Resolved + Dismissed CloseReason = original.Dismissed + FalsePositive CloseReason = original.FalsePositive + Other CloseReason = original.Other + Resolved CloseReason = original.Resolved + TruePositive CloseReason = original.TruePositive +) + +type ConfidenceLevel = original.ConfidenceLevel + +const ( + ConfidenceLevelHigh ConfidenceLevel = original.ConfidenceLevelHigh + ConfidenceLevelLow ConfidenceLevel = original.ConfidenceLevelLow + ConfidenceLevelUnknown ConfidenceLevel = original.ConfidenceLevelUnknown +) + +type ConfidenceScoreStatus = original.ConfidenceScoreStatus + +const ( + Final ConfidenceScoreStatus = original.Final + InProcess ConfidenceScoreStatus = original.InProcess + NotApplicable ConfidenceScoreStatus = original.NotApplicable + NotFinal ConfidenceScoreStatus = original.NotFinal ) type DataConnectorKind = original.DataConnectorKind const ( - AmazonWebServicesCloudTrail DataConnectorKind = original.AmazonWebServicesCloudTrail - AzureActiveDirectory DataConnectorKind = original.AzureActiveDirectory - AzureAdvancedThreatProtection DataConnectorKind = original.AzureAdvancedThreatProtection - AzureSecurityCenter DataConnectorKind = original.AzureSecurityCenter - MicrosoftCloudAppSecurity DataConnectorKind = original.MicrosoftCloudAppSecurity - MicrosoftDefenderAdvancedThreatProtection DataConnectorKind = original.MicrosoftDefenderAdvancedThreatProtection - Office365 DataConnectorKind = original.Office365 - ThreatIntelligence DataConnectorKind = original.ThreatIntelligence + DataConnectorKindAmazonWebServicesCloudTrail DataConnectorKind = original.DataConnectorKindAmazonWebServicesCloudTrail + DataConnectorKindAzureActiveDirectory DataConnectorKind = original.DataConnectorKindAzureActiveDirectory + DataConnectorKindAzureAdvancedThreatProtection DataConnectorKind = original.DataConnectorKindAzureAdvancedThreatProtection + DataConnectorKindAzureSecurityCenter DataConnectorKind = original.DataConnectorKindAzureSecurityCenter + DataConnectorKindMicrosoftCloudAppSecurity DataConnectorKind = original.DataConnectorKindMicrosoftCloudAppSecurity + DataConnectorKindMicrosoftDefenderAdvancedThreatProtection DataConnectorKind = original.DataConnectorKindMicrosoftDefenderAdvancedThreatProtection + DataConnectorKindOffice365 DataConnectorKind = original.DataConnectorKindOffice365 + DataConnectorKindThreatIntelligence DataConnectorKind = original.DataConnectorKindThreatIntelligence ) type DataTypeState = original.DataTypeState @@ -97,26 +145,115 @@ const ( Enabled DataTypeState = original.Enabled ) +type DataTypeStatus = original.DataTypeStatus + +const ( + Exist DataTypeStatus = original.Exist + NotExist DataTypeStatus = original.NotExist +) + +type ElevationToken = original.ElevationToken + +const ( + Default ElevationToken = original.Default + Full ElevationToken = original.Full + Limited ElevationToken = original.Limited +) + type EntityKind = original.EntityKind const ( - Account EntityKind = original.Account - File EntityKind = original.File - Host EntityKind = original.Host + EntityKindAccount EntityKind = original.EntityKindAccount + EntityKindAzureResource EntityKind = original.EntityKindAzureResource + EntityKindBookmark EntityKind = original.EntityKindBookmark + EntityKindCloudApplication EntityKind = original.EntityKindCloudApplication + EntityKindDNSResolution EntityKind = original.EntityKindDNSResolution + EntityKindFile EntityKind = original.EntityKindFile + EntityKindFileHash EntityKind = original.EntityKindFileHash + EntityKindHost EntityKind = original.EntityKindHost + EntityKindIP EntityKind = original.EntityKindIP + EntityKindMalware EntityKind = original.EntityKindMalware + EntityKindProcess EntityKind = original.EntityKindProcess + EntityKindRegistryKey EntityKind = original.EntityKindRegistryKey + EntityKindRegistryValue EntityKind = original.EntityKindRegistryValue + EntityKindSecurityAlert EntityKind = original.EntityKindSecurityAlert + EntityKindSecurityGroup EntityKind = original.EntityKindSecurityGroup + EntityKindURL EntityKind = original.EntityKindURL +) + +type EntityType = original.EntityType + +const ( + EntityTypeAccount EntityType = original.EntityTypeAccount + EntityTypeAzureResource EntityType = original.EntityTypeAzureResource + EntityTypeCloudApplication EntityType = original.EntityTypeCloudApplication + EntityTypeDNS EntityType = original.EntityTypeDNS + EntityTypeFile EntityType = original.EntityTypeFile + EntityTypeFileHash EntityType = original.EntityTypeFileHash + EntityTypeHost EntityType = original.EntityTypeHost + EntityTypeHuntingBookmark EntityType = original.EntityTypeHuntingBookmark + EntityTypeIP EntityType = original.EntityTypeIP + EntityTypeMalware EntityType = original.EntityTypeMalware + EntityTypeProcess EntityType = original.EntityTypeProcess + EntityTypeRegistryKey EntityType = original.EntityTypeRegistryKey + EntityTypeRegistryValue EntityType = original.EntityTypeRegistryValue + EntityTypeSecurityAlert EntityType = original.EntityTypeSecurityAlert + EntityTypeSecurityGroup EntityType = original.EntityTypeSecurityGroup + EntityTypeURL EntityType = original.EntityTypeURL +) + +type FileHashAlgorithm = original.FileHashAlgorithm + +const ( + MD5 FileHashAlgorithm = original.MD5 + SHA1 FileHashAlgorithm = original.SHA1 + SHA256 FileHashAlgorithm = original.SHA256 + SHA256AC FileHashAlgorithm = original.SHA256AC + Unknown FileHashAlgorithm = original.Unknown +) + +type KillChainIntent = original.KillChainIntent + +const ( + KillChainIntentCollection KillChainIntent = original.KillChainIntentCollection + KillChainIntentCommandAndControl KillChainIntent = original.KillChainIntentCommandAndControl + KillChainIntentCredentialAccess KillChainIntent = original.KillChainIntentCredentialAccess + KillChainIntentDefenseEvasion KillChainIntent = original.KillChainIntentDefenseEvasion + KillChainIntentDiscovery KillChainIntent = original.KillChainIntentDiscovery + KillChainIntentExecution KillChainIntent = original.KillChainIntentExecution + KillChainIntentExfiltration KillChainIntent = original.KillChainIntentExfiltration + KillChainIntentExploitation KillChainIntent = original.KillChainIntentExploitation + KillChainIntentImpact KillChainIntent = original.KillChainIntentImpact + KillChainIntentLateralMovement KillChainIntent = original.KillChainIntentLateralMovement + KillChainIntentPersistence KillChainIntent = original.KillChainIntentPersistence + KillChainIntentPrivilegeEscalation KillChainIntent = original.KillChainIntentPrivilegeEscalation + KillChainIntentProbing KillChainIntent = original.KillChainIntentProbing + KillChainIntentUnknown KillChainIntent = original.KillChainIntentUnknown ) type Kind = original.Kind const ( - KindAlertRule Kind = original.KindAlertRule - KindScheduled Kind = original.KindScheduled + KindAggregations Kind = original.KindAggregations + KindCasesAggregation Kind = original.KindCasesAggregation +) + +type KindBasicAlertRule = original.KindBasicAlertRule + +const ( + KindAlertRule KindBasicAlertRule = original.KindAlertRule + KindFusion KindBasicAlertRule = original.KindFusion + KindMicrosoftSecurityIncidentCreation KindBasicAlertRule = original.KindMicrosoftSecurityIncidentCreation + KindScheduled KindBasicAlertRule = original.KindScheduled ) -type KindBasicAggregations = original.KindBasicAggregations +type KindBasicAlertRuleTemplate = original.KindBasicAlertRuleTemplate const ( - KindAggregations KindBasicAggregations = original.KindAggregations - KindCasesAggregation KindBasicAggregations = original.KindCasesAggregation + KindBasicAlertRuleTemplateKindAlertRuleTemplate KindBasicAlertRuleTemplate = original.KindBasicAlertRuleTemplateKindAlertRuleTemplate + KindBasicAlertRuleTemplateKindFusion KindBasicAlertRuleTemplate = original.KindBasicAlertRuleTemplateKindFusion + KindBasicAlertRuleTemplateKindMicrosoftSecurityIncidentCreation KindBasicAlertRuleTemplate = original.KindBasicAlertRuleTemplateKindMicrosoftSecurityIncidentCreation + KindBasicAlertRuleTemplateKindScheduled KindBasicAlertRuleTemplate = original.KindBasicAlertRuleTemplateKindScheduled ) type KindBasicDataConnector = original.KindBasicDataConnector @@ -136,10 +273,22 @@ const ( type KindBasicEntity = original.KindBasicEntity const ( - KindAccount KindBasicEntity = original.KindAccount - KindEntity KindBasicEntity = original.KindEntity - KindFile KindBasicEntity = original.KindFile - KindHost KindBasicEntity = original.KindHost + KindAccount KindBasicEntity = original.KindAccount + KindAzureResource KindBasicEntity = original.KindAzureResource + KindCloudApplication KindBasicEntity = original.KindCloudApplication + KindDNSResolution KindBasicEntity = original.KindDNSResolution + KindEntity KindBasicEntity = original.KindEntity + KindFile KindBasicEntity = original.KindFile + KindFileHash KindBasicEntity = original.KindFileHash + KindHost KindBasicEntity = original.KindHost + KindIP KindBasicEntity = original.KindIP + KindMalware KindBasicEntity = original.KindMalware + KindProcess KindBasicEntity = original.KindProcess + KindRegistryKey KindBasicEntity = original.KindRegistryKey + KindRegistryValue KindBasicEntity = original.KindRegistryValue + KindSecurityAlert KindBasicEntity = original.KindSecurityAlert + KindSecurityGroup KindBasicEntity = original.KindSecurityGroup + KindURL KindBasicEntity = original.KindURL ) type KindBasicSettings = original.KindBasicSettings @@ -157,6 +306,15 @@ const ( LicenseStatusEnabled LicenseStatus = original.LicenseStatusEnabled ) +type MicrosoftSecurityProductName = original.MicrosoftSecurityProductName + +const ( + AzureActiveDirectoryIdentityProtection MicrosoftSecurityProductName = original.AzureActiveDirectoryIdentityProtection + AzureAdvancedThreatProtection MicrosoftSecurityProductName = original.AzureAdvancedThreatProtection + AzureSecurityCenter MicrosoftSecurityProductName = original.AzureSecurityCenter + MicrosoftCloudAppSecurity MicrosoftSecurityProductName = original.MicrosoftCloudAppSecurity +) + type OSFamily = original.OSFamily const ( @@ -166,6 +324,47 @@ const ( Windows OSFamily = original.Windows ) +type RegistryHive = original.RegistryHive + +const ( + HKEYA RegistryHive = original.HKEYA + HKEYCLASSESROOT RegistryHive = original.HKEYCLASSESROOT + HKEYCURRENTCONFIG RegistryHive = original.HKEYCURRENTCONFIG + HKEYCURRENTUSER RegistryHive = original.HKEYCURRENTUSER + HKEYCURRENTUSERLOCALSETTINGS RegistryHive = original.HKEYCURRENTUSERLOCALSETTINGS + HKEYLOCALMACHINE RegistryHive = original.HKEYLOCALMACHINE + HKEYPERFORMANCEDATA RegistryHive = original.HKEYPERFORMANCEDATA + HKEYPERFORMANCENLSTEXT RegistryHive = original.HKEYPERFORMANCENLSTEXT + HKEYPERFORMANCETEXT RegistryHive = original.HKEYPERFORMANCETEXT + HKEYUSERS RegistryHive = original.HKEYUSERS +) + +type RegistryValueKind = original.RegistryValueKind + +const ( + RegistryValueKindBinary RegistryValueKind = original.RegistryValueKindBinary + RegistryValueKindDWord RegistryValueKind = original.RegistryValueKindDWord + RegistryValueKindExpandString RegistryValueKind = original.RegistryValueKindExpandString + RegistryValueKindMultiString RegistryValueKind = original.RegistryValueKindMultiString + RegistryValueKindNone RegistryValueKind = original.RegistryValueKindNone + RegistryValueKindQWord RegistryValueKind = original.RegistryValueKindQWord + RegistryValueKindString RegistryValueKind = original.RegistryValueKindString + RegistryValueKindUnknown RegistryValueKind = original.RegistryValueKindUnknown +) + +type RelationNodeKind = original.RelationNodeKind + +const ( + RelationNodeKindBookmark RelationNodeKind = original.RelationNodeKindBookmark + RelationNodeKindCase RelationNodeKind = original.RelationNodeKindCase +) + +type RelationTypes = original.RelationTypes + +const ( + CasesToBookmarks RelationTypes = original.CasesToBookmarks +) + type SettingKind = original.SettingKind const ( @@ -180,6 +379,14 @@ const ( StatusInMcasEnabled StatusInMcas = original.StatusInMcasEnabled ) +type TemplateStatus = original.TemplateStatus + +const ( + Available TemplateStatus = original.Available + Installed TemplateStatus = original.Installed + NotAvailable TemplateStatus = original.NotAvailable +) + type TriggerOperator = original.TriggerOperator const ( @@ -197,8 +404,10 @@ type ASCDataConnector = original.ASCDataConnector type ASCDataConnectorProperties = original.ASCDataConnectorProperties type AccountEntity = original.AccountEntity type AccountEntityProperties = original.AccountEntityProperties -type Action = original.Action -type ActionProperties = original.ActionProperties +type ActionRequest = original.ActionRequest +type ActionRequestProperties = original.ActionRequestProperties +type ActionResponse = original.ActionResponse +type ActionResponseProperties = original.ActionResponseProperties type ActionsClient = original.ActionsClient type ActionsList = original.ActionsList type ActionsListIterator = original.ActionsListIterator @@ -209,6 +418,13 @@ type AggregationsModel = original.AggregationsModel type AlertRule = original.AlertRule type AlertRuleKind1 = original.AlertRuleKind1 type AlertRuleModel = original.AlertRuleModel +type AlertRuleTemplate = original.AlertRuleTemplate +type AlertRuleTemplateModel = original.AlertRuleTemplateModel +type AlertRuleTemplatePropertiesBase = original.AlertRuleTemplatePropertiesBase +type AlertRuleTemplatesClient = original.AlertRuleTemplatesClient +type AlertRuleTemplatesList = original.AlertRuleTemplatesList +type AlertRuleTemplatesListIterator = original.AlertRuleTemplatesListIterator +type AlertRuleTemplatesListPage = original.AlertRuleTemplatesListPage type AlertRulesClient = original.AlertRulesClient type AlertRulesList = original.AlertRulesList type AlertRulesListIterator = original.AlertRulesListIterator @@ -219,9 +435,12 @@ type AwsCloudTrailDataConnector = original.AwsCloudTrailDataConnector type AwsCloudTrailDataConnectorDataTypes = original.AwsCloudTrailDataConnectorDataTypes type AwsCloudTrailDataConnectorDataTypesLogs = original.AwsCloudTrailDataConnectorDataTypesLogs type AwsCloudTrailDataConnectorProperties = original.AwsCloudTrailDataConnectorProperties +type AzureResourceEntity = original.AzureResourceEntity +type AzureResourceEntityProperties = original.AzureResourceEntityProperties type BaseClient = original.BaseClient type BasicAggregations = original.BasicAggregations type BasicAlertRule = original.BasicAlertRule +type BasicAlertRuleTemplate = original.BasicAlertRuleTemplate type BasicDataConnector = original.BasicDataConnector type BasicEntity = original.BasicEntity type BasicSettings = original.BasicSettings @@ -230,20 +449,43 @@ type BookmarkList = original.BookmarkList type BookmarkListIterator = original.BookmarkListIterator type BookmarkListPage = original.BookmarkListPage type BookmarkProperties = original.BookmarkProperties +type BookmarkRelation = original.BookmarkRelation +type BookmarkRelationList = original.BookmarkRelationList +type BookmarkRelationListIterator = original.BookmarkRelationListIterator +type BookmarkRelationListPage = original.BookmarkRelationListPage +type BookmarkRelationProperties = original.BookmarkRelationProperties +type BookmarkRelationsClient = original.BookmarkRelationsClient type BookmarksClient = original.BookmarksClient type Case = original.Case +type CaseComment = original.CaseComment +type CaseCommentList = original.CaseCommentList +type CaseCommentListIterator = original.CaseCommentListIterator +type CaseCommentListPage = original.CaseCommentListPage +type CaseCommentProperties = original.CaseCommentProperties +type CaseCommentsClient = original.CaseCommentsClient type CaseList = original.CaseList type CaseListIterator = original.CaseListIterator type CaseListPage = original.CaseListPage type CaseProperties = original.CaseProperties +type CaseRelation = original.CaseRelation +type CaseRelationList = original.CaseRelationList +type CaseRelationListIterator = original.CaseRelationListIterator +type CaseRelationListPage = original.CaseRelationListPage +type CaseRelationProperties = original.CaseRelationProperties +type CaseRelationsClient = original.CaseRelationsClient type CasesAggregation = original.CasesAggregation type CasesAggregationBySeverityProperties = original.CasesAggregationBySeverityProperties type CasesAggregationByStatusProperties = original.CasesAggregationByStatusProperties type CasesAggregationProperties = original.CasesAggregationProperties type CasesAggregationsClient = original.CasesAggregationsClient type CasesClient = original.CasesClient +type CloudApplicationEntity = original.CloudApplicationEntity +type CloudApplicationEntityProperties = original.CloudApplicationEntityProperties type CloudError = original.CloudError type CloudErrorBody = original.CloudErrorBody +type CommentsClient = original.CommentsClient +type DNSEntity = original.DNSEntity +type DNSEntityProperties = original.DNSEntityProperties type DataConnector = original.DataConnector type DataConnectorDataTypeCommon = original.DataConnectorDataTypeCommon type DataConnectorKind1 = original.DataConnectorKind1 @@ -251,11 +493,16 @@ type DataConnectorList = original.DataConnectorList type DataConnectorListIterator = original.DataConnectorListIterator type DataConnectorListPage = original.DataConnectorListPage type DataConnectorModel = original.DataConnectorModel +type DataConnectorStatus = original.DataConnectorStatus type DataConnectorTenantID = original.DataConnectorTenantID type DataConnectorWithAlertsProperties = original.DataConnectorWithAlertsProperties type DataConnectorsClient = original.DataConnectorsClient type EntitiesClient = original.EntitiesClient type Entity = original.Entity +type EntityCommonProperties = original.EntityCommonProperties +type EntityExpandParameters = original.EntityExpandParameters +type EntityExpandResponse = original.EntityExpandResponse +type EntityExpandResponseValue = original.EntityExpandResponseValue type EntityKind1 = original.EntityKind1 type EntityList = original.EntityList type EntityListIterator = original.EntityListIterator @@ -267,16 +514,34 @@ type EntityQueryList = original.EntityQueryList type EntityQueryListIterator = original.EntityQueryListIterator type EntityQueryListPage = original.EntityQueryListPage type EntityQueryProperties = original.EntityQueryProperties +type ExpansionResultAggregation = original.ExpansionResultAggregation +type ExpansionResultsMetadata = original.ExpansionResultsMetadata type FileEntity = original.FileEntity type FileEntityProperties = original.FileEntityProperties +type FileHashEntity = original.FileHashEntity +type FileHashEntityProperties = original.FileHashEntityProperties +type FusionAlertRule = original.FusionAlertRule +type FusionAlertRuleProperties = original.FusionAlertRuleProperties +type FusionAlertRuleTemplate = original.FusionAlertRuleTemplate +type FusionAlertRuleTemplateProperties = original.FusionAlertRuleTemplateProperties +type GeoLocation = original.GeoLocation type HostEntity = original.HostEntity type HostEntityProperties = original.HostEntityProperties +type IPEntity = original.IPEntity +type IPEntityProperties = original.IPEntityProperties type MCASDataConnector = original.MCASDataConnector type MCASDataConnectorDataTypes = original.MCASDataConnectorDataTypes type MCASDataConnectorDataTypesDiscoveryLogs = original.MCASDataConnectorDataTypesDiscoveryLogs type MCASDataConnectorProperties = original.MCASDataConnectorProperties type MDATPDataConnector = original.MDATPDataConnector type MDATPDataConnectorProperties = original.MDATPDataConnectorProperties +type MalwareEntity = original.MalwareEntity +type MalwareEntityProperties = original.MalwareEntityProperties +type MicrosoftSecurityIncidentCreationAlertRule = original.MicrosoftSecurityIncidentCreationAlertRule +type MicrosoftSecurityIncidentCreationAlertRuleCommonProperties = original.MicrosoftSecurityIncidentCreationAlertRuleCommonProperties +type MicrosoftSecurityIncidentCreationAlertRuleProperties = original.MicrosoftSecurityIncidentCreationAlertRuleProperties +type MicrosoftSecurityIncidentCreationAlertRuleTemplate = original.MicrosoftSecurityIncidentCreationAlertRuleTemplate +type MicrosoftSecurityIncidentCreationAlertRuleTemplateProperties = original.MicrosoftSecurityIncidentCreationAlertRuleTemplateProperties type OfficeConsent = original.OfficeConsent type OfficeConsentList = original.OfficeConsentList type OfficeConsentListIterator = original.OfficeConsentListIterator @@ -294,10 +559,29 @@ type OperationsClient = original.OperationsClient type OperationsList = original.OperationsList type OperationsListIterator = original.OperationsListIterator type OperationsListPage = original.OperationsListPage +type ProcessEntity = original.ProcessEntity +type ProcessEntityProperties = original.ProcessEntityProperties type ProductSettingsClient = original.ProductSettingsClient +type RegistryKeyEntity = original.RegistryKeyEntity +type RegistryKeyEntityProperties = original.RegistryKeyEntityProperties +type RegistryValueEntity = original.RegistryValueEntity +type RegistryValueEntityProperties = original.RegistryValueEntityProperties +type RelationBase = original.RelationBase +type RelationNode = original.RelationNode +type RelationsModelInput = original.RelationsModelInput +type RelationsModelInputProperties = original.RelationsModelInputProperties type Resource = original.Resource +type ResourceWithEtag = original.ResourceWithEtag type ScheduledAlertRule = original.ScheduledAlertRule +type ScheduledAlertRuleCommonProperties = original.ScheduledAlertRuleCommonProperties type ScheduledAlertRuleProperties = original.ScheduledAlertRuleProperties +type ScheduledAlertRuleTemplate = original.ScheduledAlertRuleTemplate +type ScheduledAlertRuleTemplateProperties = original.ScheduledAlertRuleTemplateProperties +type SecurityAlert = original.SecurityAlert +type SecurityAlertProperties = original.SecurityAlertProperties +type SecurityAlertPropertiesConfidenceReasonsItem = original.SecurityAlertPropertiesConfidenceReasonsItem +type SecurityGroupEntity = original.SecurityGroupEntity +type SecurityGroupEntityProperties = original.SecurityGroupEntityProperties type Settings = original.Settings type SettingsKind = original.SettingsKind type SettingsModel = original.SettingsModel @@ -305,8 +589,11 @@ type TIDataConnector = original.TIDataConnector type TIDataConnectorDataTypes = original.TIDataConnectorDataTypes type TIDataConnectorDataTypesIndicators = original.TIDataConnectorDataTypesIndicators type TIDataConnectorProperties = original.TIDataConnectorProperties +type ThreatIntelligence = original.ThreatIntelligence type ToggleSettings = original.ToggleSettings type ToggleSettingsProperties = original.ToggleSettingsProperties +type URLEntity = original.URLEntity +type URLEntityProperties = original.URLEntityProperties type UebaSettings = original.UebaSettings type UebaSettingsProperties = original.UebaSettingsProperties type UserInfo = original.UserInfo @@ -326,6 +613,18 @@ func NewActionsListIterator(page ActionsListPage) ActionsListIterator { func NewActionsListPage(getNextPage func(context.Context, ActionsList) (ActionsList, error)) ActionsListPage { return original.NewActionsListPage(getNextPage) } +func NewAlertRuleTemplatesClient(subscriptionID string) AlertRuleTemplatesClient { + return original.NewAlertRuleTemplatesClient(subscriptionID) +} +func NewAlertRuleTemplatesClientWithBaseURI(baseURI string, subscriptionID string) AlertRuleTemplatesClient { + return original.NewAlertRuleTemplatesClientWithBaseURI(baseURI, subscriptionID) +} +func NewAlertRuleTemplatesListIterator(page AlertRuleTemplatesListPage) AlertRuleTemplatesListIterator { + return original.NewAlertRuleTemplatesListIterator(page) +} +func NewAlertRuleTemplatesListPage(getNextPage func(context.Context, AlertRuleTemplatesList) (AlertRuleTemplatesList, error)) AlertRuleTemplatesListPage { + return original.NewAlertRuleTemplatesListPage(getNextPage) +} func NewAlertRulesClient(subscriptionID string) AlertRulesClient { return original.NewAlertRulesClient(subscriptionID) } @@ -344,18 +643,54 @@ func NewBookmarkListIterator(page BookmarkListPage) BookmarkListIterator { func NewBookmarkListPage(getNextPage func(context.Context, BookmarkList) (BookmarkList, error)) BookmarkListPage { return original.NewBookmarkListPage(getNextPage) } +func NewBookmarkRelationListIterator(page BookmarkRelationListPage) BookmarkRelationListIterator { + return original.NewBookmarkRelationListIterator(page) +} +func NewBookmarkRelationListPage(getNextPage func(context.Context, BookmarkRelationList) (BookmarkRelationList, error)) BookmarkRelationListPage { + return original.NewBookmarkRelationListPage(getNextPage) +} +func NewBookmarkRelationsClient(subscriptionID string) BookmarkRelationsClient { + return original.NewBookmarkRelationsClient(subscriptionID) +} +func NewBookmarkRelationsClientWithBaseURI(baseURI string, subscriptionID string) BookmarkRelationsClient { + return original.NewBookmarkRelationsClientWithBaseURI(baseURI, subscriptionID) +} func NewBookmarksClient(subscriptionID string) BookmarksClient { return original.NewBookmarksClient(subscriptionID) } func NewBookmarksClientWithBaseURI(baseURI string, subscriptionID string) BookmarksClient { return original.NewBookmarksClientWithBaseURI(baseURI, subscriptionID) } +func NewCaseCommentListIterator(page CaseCommentListPage) CaseCommentListIterator { + return original.NewCaseCommentListIterator(page) +} +func NewCaseCommentListPage(getNextPage func(context.Context, CaseCommentList) (CaseCommentList, error)) CaseCommentListPage { + return original.NewCaseCommentListPage(getNextPage) +} +func NewCaseCommentsClient(subscriptionID string) CaseCommentsClient { + return original.NewCaseCommentsClient(subscriptionID) +} +func NewCaseCommentsClientWithBaseURI(baseURI string, subscriptionID string) CaseCommentsClient { + return original.NewCaseCommentsClientWithBaseURI(baseURI, subscriptionID) +} func NewCaseListIterator(page CaseListPage) CaseListIterator { return original.NewCaseListIterator(page) } func NewCaseListPage(getNextPage func(context.Context, CaseList) (CaseList, error)) CaseListPage { return original.NewCaseListPage(getNextPage) } +func NewCaseRelationListIterator(page CaseRelationListPage) CaseRelationListIterator { + return original.NewCaseRelationListIterator(page) +} +func NewCaseRelationListPage(getNextPage func(context.Context, CaseRelationList) (CaseRelationList, error)) CaseRelationListPage { + return original.NewCaseRelationListPage(getNextPage) +} +func NewCaseRelationsClient(subscriptionID string) CaseRelationsClient { + return original.NewCaseRelationsClient(subscriptionID) +} +func NewCaseRelationsClientWithBaseURI(baseURI string, subscriptionID string) CaseRelationsClient { + return original.NewCaseRelationsClientWithBaseURI(baseURI, subscriptionID) +} func NewCasesAggregationsClient(subscriptionID string) CasesAggregationsClient { return original.NewCasesAggregationsClient(subscriptionID) } @@ -368,6 +703,12 @@ func NewCasesClient(subscriptionID string) CasesClient { func NewCasesClientWithBaseURI(baseURI string, subscriptionID string) CasesClient { return original.NewCasesClientWithBaseURI(baseURI, subscriptionID) } +func NewCommentsClient(subscriptionID string) CommentsClient { + return original.NewCommentsClient(subscriptionID) +} +func NewCommentsClientWithBaseURI(baseURI string, subscriptionID string) CommentsClient { + return original.NewCommentsClientWithBaseURI(baseURI, subscriptionID) +} func NewDataConnectorListIterator(page DataConnectorListPage) DataConnectorListIterator { return original.NewDataConnectorListIterator(page) } @@ -446,6 +787,12 @@ func PossibleAlertRuleKindValues() []AlertRuleKind { func PossibleAlertSeverityValues() []AlertSeverity { return original.PossibleAlertSeverityValues() } +func PossibleAlertStatusValues() []AlertStatus { + return original.PossibleAlertStatusValues() +} +func PossibleAttackTacticValues() []AttackTactic { + return original.PossibleAttackTacticValues() +} func PossibleCaseSeverityValues() []CaseSeverity { return original.PossibleCaseSeverityValues() } @@ -455,17 +802,41 @@ func PossibleCaseStatusValues() []CaseStatus { func PossibleCloseReasonValues() []CloseReason { return original.PossibleCloseReasonValues() } +func PossibleConfidenceLevelValues() []ConfidenceLevel { + return original.PossibleConfidenceLevelValues() +} +func PossibleConfidenceScoreStatusValues() []ConfidenceScoreStatus { + return original.PossibleConfidenceScoreStatusValues() +} func PossibleDataConnectorKindValues() []DataConnectorKind { return original.PossibleDataConnectorKindValues() } func PossibleDataTypeStateValues() []DataTypeState { return original.PossibleDataTypeStateValues() } +func PossibleDataTypeStatusValues() []DataTypeStatus { + return original.PossibleDataTypeStatusValues() +} +func PossibleElevationTokenValues() []ElevationToken { + return original.PossibleElevationTokenValues() +} func PossibleEntityKindValues() []EntityKind { return original.PossibleEntityKindValues() } -func PossibleKindBasicAggregationsValues() []KindBasicAggregations { - return original.PossibleKindBasicAggregationsValues() +func PossibleEntityTypeValues() []EntityType { + return original.PossibleEntityTypeValues() +} +func PossibleFileHashAlgorithmValues() []FileHashAlgorithm { + return original.PossibleFileHashAlgorithmValues() +} +func PossibleKillChainIntentValues() []KillChainIntent { + return original.PossibleKillChainIntentValues() +} +func PossibleKindBasicAlertRuleTemplateValues() []KindBasicAlertRuleTemplate { + return original.PossibleKindBasicAlertRuleTemplateValues() +} +func PossibleKindBasicAlertRuleValues() []KindBasicAlertRule { + return original.PossibleKindBasicAlertRuleValues() } func PossibleKindBasicDataConnectorValues() []KindBasicDataConnector { return original.PossibleKindBasicDataConnectorValues() @@ -482,15 +853,33 @@ func PossibleKindValues() []Kind { func PossibleLicenseStatusValues() []LicenseStatus { return original.PossibleLicenseStatusValues() } +func PossibleMicrosoftSecurityProductNameValues() []MicrosoftSecurityProductName { + return original.PossibleMicrosoftSecurityProductNameValues() +} func PossibleOSFamilyValues() []OSFamily { return original.PossibleOSFamilyValues() } +func PossibleRegistryHiveValues() []RegistryHive { + return original.PossibleRegistryHiveValues() +} +func PossibleRegistryValueKindValues() []RegistryValueKind { + return original.PossibleRegistryValueKindValues() +} +func PossibleRelationNodeKindValues() []RelationNodeKind { + return original.PossibleRelationNodeKindValues() +} +func PossibleRelationTypesValues() []RelationTypes { + return original.PossibleRelationTypesValues() +} func PossibleSettingKindValues() []SettingKind { return original.PossibleSettingKindValues() } func PossibleStatusInMcasValues() []StatusInMcas { return original.PossibleStatusInMcasValues() } +func PossibleTemplateStatusValues() []TemplateStatus { + return original.PossibleTemplateStatusValues() +} func PossibleTriggerOperatorValues() []TriggerOperator { return original.PossibleTriggerOperatorValues() } diff --git a/profiles/preview/preview/securityinsight/mgmt/securityinsight/securityinsightapi/models.go b/profiles/preview/preview/securityinsight/mgmt/securityinsight/securityinsightapi/models.go index 9bd2fc7dc959..bcfdeb4c208a 100644 --- a/profiles/preview/preview/securityinsight/mgmt/securityinsight/securityinsightapi/models.go +++ b/profiles/preview/preview/securityinsight/mgmt/securityinsight/securityinsightapi/models.go @@ -22,10 +22,15 @@ package securityinsightapi import original "github.com/Azure/azure-sdk-for-go/services/preview/securityinsight/mgmt/2017-08-01-preview/securityinsight/securityinsightapi" type ActionsClientAPI = original.ActionsClientAPI +type AlertRuleTemplatesClientAPI = original.AlertRuleTemplatesClientAPI type AlertRulesClientAPI = original.AlertRulesClientAPI +type BookmarkRelationsClientAPI = original.BookmarkRelationsClientAPI type BookmarksClientAPI = original.BookmarksClientAPI +type CaseCommentsClientAPI = original.CaseCommentsClientAPI +type CaseRelationsClientAPI = original.CaseRelationsClientAPI type CasesAggregationsClientAPI = original.CasesAggregationsClientAPI type CasesClientAPI = original.CasesClientAPI +type CommentsClientAPI = original.CommentsClientAPI type DataConnectorsClientAPI = original.DataConnectorsClientAPI type EntitiesClientAPI = original.EntitiesClientAPI type EntityQueriesClientAPI = original.EntityQueriesClientAPI diff --git a/profiles/preview/preview/servicefabric/mgmt/servicefabric/models.go b/profiles/preview/preview/servicefabric/mgmt/servicefabric/models.go index 4799a26cb37b..6e2171d4fdc5 100644 --- a/profiles/preview/preview/servicefabric/mgmt/servicefabric/models.go +++ b/profiles/preview/preview/servicefabric/mgmt/servicefabric/models.go @@ -22,7 +22,7 @@ package servicefabric import ( "context" - original "github.com/Azure/azure-sdk-for-go/services/preview/servicefabric/mgmt/2019-03-01/servicefabric" + original "github.com/Azure/azure-sdk-for-go/services/preview/servicefabric/mgmt/2019-03-01-preview/servicefabric" ) const ( diff --git a/profiles/preview/preview/servicefabric/mgmt/servicefabric/servicefabricapi/models.go b/profiles/preview/preview/servicefabric/mgmt/servicefabric/servicefabricapi/models.go index 3432230e9701..92bebee141b6 100644 --- a/profiles/preview/preview/servicefabric/mgmt/servicefabric/servicefabricapi/models.go +++ b/profiles/preview/preview/servicefabric/mgmt/servicefabric/servicefabricapi/models.go @@ -19,7 +19,7 @@ package servicefabricapi -import original "github.com/Azure/azure-sdk-for-go/services/preview/servicefabric/mgmt/2019-03-01/servicefabric/servicefabricapi" +import original "github.com/Azure/azure-sdk-for-go/services/preview/servicefabric/mgmt/2019-03-01-preview/servicefabric/servicefabricapi" type ApplicationTypeVersionsClientAPI = original.ApplicationTypeVersionsClientAPI type ApplicationTypesClientAPI = original.ApplicationTypesClientAPI diff --git a/profiles/preview/preview/sql/mgmt/sql/models.go b/profiles/preview/preview/sql/mgmt/sql/models.go index 9d61b25ad2d7..06ea636d3fe2 100644 --- a/profiles/preview/preview/sql/mgmt/sql/models.go +++ b/profiles/preview/preview/sql/mgmt/sql/models.go @@ -22,30 +22,13 @@ package sql import ( "context" - original "github.com/Azure/azure-sdk-for-go/services/preview/sql/mgmt/2017-10-01-preview/sql" + original "github.com/Azure/azure-sdk-for-go/services/preview/sql/mgmt/2018-06-01-preview/sql" ) const ( DefaultBaseURI = original.DefaultBaseURI ) -type CapabilityGroup = original.CapabilityGroup - -const ( - SupportedEditions CapabilityGroup = original.SupportedEditions - SupportedElasticPoolEditions CapabilityGroup = original.SupportedElasticPoolEditions - SupportedManagedInstanceVersions CapabilityGroup = original.SupportedManagedInstanceVersions -) - -type CapabilityStatus = original.CapabilityStatus - -const ( - Available CapabilityStatus = original.Available - Default CapabilityStatus = original.Default - Disabled CapabilityStatus = original.Disabled - Visible CapabilityStatus = original.Visible -) - type CatalogCollationType = original.CatalogCollationType const ( @@ -53,355 +36,178 @@ const ( SQLLatin1GeneralCP1CIAS CatalogCollationType = original.SQLLatin1GeneralCP1CIAS ) -type CreateMode = original.CreateMode - -const ( - CreateModeCopy CreateMode = original.CreateModeCopy - CreateModeDefault CreateMode = original.CreateModeDefault - CreateModeOnlineSecondary CreateMode = original.CreateModeOnlineSecondary - CreateModePointInTimeRestore CreateMode = original.CreateModePointInTimeRestore - CreateModeRecovery CreateMode = original.CreateModeRecovery - CreateModeRestore CreateMode = original.CreateModeRestore - CreateModeRestoreExternalBackup CreateMode = original.CreateModeRestoreExternalBackup - CreateModeRestoreExternalBackupSecondary CreateMode = original.CreateModeRestoreExternalBackupSecondary - CreateModeRestoreLongTermRetentionBackup CreateMode = original.CreateModeRestoreLongTermRetentionBackup - CreateModeSecondary CreateMode = original.CreateModeSecondary -) - -type DatabaseLicenseType = original.DatabaseLicenseType - -const ( - BasePrice DatabaseLicenseType = original.BasePrice - LicenseIncluded DatabaseLicenseType = original.LicenseIncluded -) - -type DatabaseReadScale = original.DatabaseReadScale - -const ( - DatabaseReadScaleDisabled DatabaseReadScale = original.DatabaseReadScaleDisabled - DatabaseReadScaleEnabled DatabaseReadScale = original.DatabaseReadScaleEnabled -) - -type DatabaseStatus = original.DatabaseStatus - -const ( - AutoClosed DatabaseStatus = original.AutoClosed - Copying DatabaseStatus = original.Copying - Creating DatabaseStatus = original.Creating - EmergencyMode DatabaseStatus = original.EmergencyMode - Inaccessible DatabaseStatus = original.Inaccessible - Offline DatabaseStatus = original.Offline - OfflineChangingDwPerformanceTiers DatabaseStatus = original.OfflineChangingDwPerformanceTiers - OfflineSecondary DatabaseStatus = original.OfflineSecondary - Online DatabaseStatus = original.Online - OnlineChangingDwPerformanceTiers DatabaseStatus = original.OnlineChangingDwPerformanceTiers - Paused DatabaseStatus = original.Paused - Pausing DatabaseStatus = original.Pausing - Recovering DatabaseStatus = original.Recovering - RecoveryPending DatabaseStatus = original.RecoveryPending - Restoring DatabaseStatus = original.Restoring - Resuming DatabaseStatus = original.Resuming - Scaling DatabaseStatus = original.Scaling - Shutdown DatabaseStatus = original.Shutdown - Standby DatabaseStatus = original.Standby - Suspect DatabaseStatus = original.Suspect -) - -type ElasticPoolLicenseType = original.ElasticPoolLicenseType +type IdentityType = original.IdentityType const ( - ElasticPoolLicenseTypeBasePrice ElasticPoolLicenseType = original.ElasticPoolLicenseTypeBasePrice - ElasticPoolLicenseTypeLicenseIncluded ElasticPoolLicenseType = original.ElasticPoolLicenseTypeLicenseIncluded + SystemAssigned IdentityType = original.SystemAssigned ) -type ElasticPoolState = original.ElasticPoolState +type InstancePoolLicenseType = original.InstancePoolLicenseType const ( - ElasticPoolStateCreating ElasticPoolState = original.ElasticPoolStateCreating - ElasticPoolStateDisabled ElasticPoolState = original.ElasticPoolStateDisabled - ElasticPoolStateReady ElasticPoolState = original.ElasticPoolStateReady + BasePrice InstancePoolLicenseType = original.BasePrice + LicenseIncluded InstancePoolLicenseType = original.LicenseIncluded ) -type InstanceFailoverGroupReplicationRole = original.InstanceFailoverGroupReplicationRole +type ManagedDatabaseCreateMode = original.ManagedDatabaseCreateMode const ( - Primary InstanceFailoverGroupReplicationRole = original.Primary - Secondary InstanceFailoverGroupReplicationRole = original.Secondary + Default ManagedDatabaseCreateMode = original.Default + PointInTimeRestore ManagedDatabaseCreateMode = original.PointInTimeRestore + Recovery ManagedDatabaseCreateMode = original.Recovery + RestoreExternalBackup ManagedDatabaseCreateMode = original.RestoreExternalBackup ) -type LogSizeUnit = original.LogSizeUnit +type ManagedDatabaseStatus = original.ManagedDatabaseStatus const ( - Gigabytes LogSizeUnit = original.Gigabytes - Megabytes LogSizeUnit = original.Megabytes - Percent LogSizeUnit = original.Percent - Petabytes LogSizeUnit = original.Petabytes - Terabytes LogSizeUnit = original.Terabytes + Creating ManagedDatabaseStatus = original.Creating + Inaccessible ManagedDatabaseStatus = original.Inaccessible + Offline ManagedDatabaseStatus = original.Offline + Online ManagedDatabaseStatus = original.Online + Restoring ManagedDatabaseStatus = original.Restoring + Shutdown ManagedDatabaseStatus = original.Shutdown + Updating ManagedDatabaseStatus = original.Updating ) -type ManagementOperationState = original.ManagementOperationState +type ManagedInstanceLicenseType = original.ManagedInstanceLicenseType const ( - CancelInProgress ManagementOperationState = original.CancelInProgress - Cancelled ManagementOperationState = original.Cancelled - Failed ManagementOperationState = original.Failed - InProgress ManagementOperationState = original.InProgress - Pending ManagementOperationState = original.Pending - Succeeded ManagementOperationState = original.Succeeded + ManagedInstanceLicenseTypeBasePrice ManagedInstanceLicenseType = original.ManagedInstanceLicenseTypeBasePrice + ManagedInstanceLicenseTypeLicenseIncluded ManagedInstanceLicenseType = original.ManagedInstanceLicenseTypeLicenseIncluded ) -type MaxSizeUnit = original.MaxSizeUnit +type ManagedInstanceProxyOverride = original.ManagedInstanceProxyOverride const ( - MaxSizeUnitGigabytes MaxSizeUnit = original.MaxSizeUnitGigabytes - MaxSizeUnitMegabytes MaxSizeUnit = original.MaxSizeUnitMegabytes - MaxSizeUnitPetabytes MaxSizeUnit = original.MaxSizeUnitPetabytes - MaxSizeUnitTerabytes MaxSizeUnit = original.MaxSizeUnitTerabytes + ManagedInstanceProxyOverrideDefault ManagedInstanceProxyOverride = original.ManagedInstanceProxyOverrideDefault + ManagedInstanceProxyOverrideProxy ManagedInstanceProxyOverride = original.ManagedInstanceProxyOverrideProxy + ManagedInstanceProxyOverrideRedirect ManagedInstanceProxyOverride = original.ManagedInstanceProxyOverrideRedirect ) -type PerformanceLevelUnit = original.PerformanceLevelUnit +type ManagedServerCreateMode = original.ManagedServerCreateMode const ( - DTU PerformanceLevelUnit = original.DTU - VCores PerformanceLevelUnit = original.VCores + ManagedServerCreateModeDefault ManagedServerCreateMode = original.ManagedServerCreateModeDefault + ManagedServerCreateModePointInTimeRestore ManagedServerCreateMode = original.ManagedServerCreateModePointInTimeRestore ) -type ReadOnlyEndpointFailoverPolicy = original.ReadOnlyEndpointFailoverPolicy +type SecurityAlertPolicyState = original.SecurityAlertPolicyState const ( - ReadOnlyEndpointFailoverPolicyDisabled ReadOnlyEndpointFailoverPolicy = original.ReadOnlyEndpointFailoverPolicyDisabled - ReadOnlyEndpointFailoverPolicyEnabled ReadOnlyEndpointFailoverPolicy = original.ReadOnlyEndpointFailoverPolicyEnabled + SecurityAlertPolicyStateDisabled SecurityAlertPolicyState = original.SecurityAlertPolicyStateDisabled + SecurityAlertPolicyStateEnabled SecurityAlertPolicyState = original.SecurityAlertPolicyStateEnabled + SecurityAlertPolicyStateNew SecurityAlertPolicyState = original.SecurityAlertPolicyStateNew ) -type ReadWriteEndpointFailoverPolicy = original.ReadWriteEndpointFailoverPolicy +type SensitivityLabelSource = original.SensitivityLabelSource const ( - Automatic ReadWriteEndpointFailoverPolicy = original.Automatic - Manual ReadWriteEndpointFailoverPolicy = original.Manual + Current SensitivityLabelSource = original.Current + Recommended SensitivityLabelSource = original.Recommended ) -type SampleName = original.SampleName - -const ( - AdventureWorksLT SampleName = original.AdventureWorksLT - WideWorldImportersFull SampleName = original.WideWorldImportersFull - WideWorldImportersStd SampleName = original.WideWorldImportersStd -) - -type ServerKeyType = original.ServerKeyType - -const ( - AzureKeyVault ServerKeyType = original.AzureKeyVault - ServiceManaged ServerKeyType = original.ServiceManaged -) - -type VulnerabilityAssessmentPolicyBaselineName = original.VulnerabilityAssessmentPolicyBaselineName - -const ( - VulnerabilityAssessmentPolicyBaselineNameDefault VulnerabilityAssessmentPolicyBaselineName = original.VulnerabilityAssessmentPolicyBaselineNameDefault - VulnerabilityAssessmentPolicyBaselineNameMaster VulnerabilityAssessmentPolicyBaselineName = original.VulnerabilityAssessmentPolicyBaselineNameMaster -) - -type VulnerabilityAssessmentScanState = original.VulnerabilityAssessmentScanState - -const ( - VulnerabilityAssessmentScanStateFailed VulnerabilityAssessmentScanState = original.VulnerabilityAssessmentScanStateFailed - VulnerabilityAssessmentScanStateFailedToRun VulnerabilityAssessmentScanState = original.VulnerabilityAssessmentScanStateFailedToRun - VulnerabilityAssessmentScanStateInProgress VulnerabilityAssessmentScanState = original.VulnerabilityAssessmentScanStateInProgress - VulnerabilityAssessmentScanStatePassed VulnerabilityAssessmentScanState = original.VulnerabilityAssessmentScanStatePassed -) - -type VulnerabilityAssessmentScanTriggerType = original.VulnerabilityAssessmentScanTriggerType - -const ( - OnDemand VulnerabilityAssessmentScanTriggerType = original.OnDemand - Recurring VulnerabilityAssessmentScanTriggerType = original.Recurring -) - -type BackupShortTermRetentionPoliciesClient = original.BackupShortTermRetentionPoliciesClient -type BackupShortTermRetentionPoliciesCreateOrUpdateFuture = original.BackupShortTermRetentionPoliciesCreateOrUpdateFuture -type BackupShortTermRetentionPoliciesUpdateFuture = original.BackupShortTermRetentionPoliciesUpdateFuture -type BackupShortTermRetentionPolicy = original.BackupShortTermRetentionPolicy -type BackupShortTermRetentionPolicyListResult = original.BackupShortTermRetentionPolicyListResult -type BackupShortTermRetentionPolicyListResultIterator = original.BackupShortTermRetentionPolicyListResultIterator -type BackupShortTermRetentionPolicyListResultPage = original.BackupShortTermRetentionPolicyListResultPage -type BackupShortTermRetentionPolicyProperties = original.BackupShortTermRetentionPolicyProperties type BaseClient = original.BaseClient -type CapabilitiesClient = original.CapabilitiesClient -type Database = original.Database -type DatabaseListResult = original.DatabaseListResult -type DatabaseListResultIterator = original.DatabaseListResultIterator -type DatabaseListResultPage = original.DatabaseListResultPage -type DatabaseOperation = original.DatabaseOperation -type DatabaseOperationListResult = original.DatabaseOperationListResult -type DatabaseOperationListResultIterator = original.DatabaseOperationListResultIterator -type DatabaseOperationListResultPage = original.DatabaseOperationListResultPage -type DatabaseOperationProperties = original.DatabaseOperationProperties -type DatabaseOperationsClient = original.DatabaseOperationsClient -type DatabaseProperties = original.DatabaseProperties -type DatabaseUpdate = original.DatabaseUpdate -type DatabaseVulnerabilityAssessment = original.DatabaseVulnerabilityAssessment -type DatabaseVulnerabilityAssessmentListResult = original.DatabaseVulnerabilityAssessmentListResult -type DatabaseVulnerabilityAssessmentListResultIterator = original.DatabaseVulnerabilityAssessmentListResultIterator -type DatabaseVulnerabilityAssessmentListResultPage = original.DatabaseVulnerabilityAssessmentListResultPage -type DatabaseVulnerabilityAssessmentProperties = original.DatabaseVulnerabilityAssessmentProperties -type DatabaseVulnerabilityAssessmentRuleBaseline = original.DatabaseVulnerabilityAssessmentRuleBaseline -type DatabaseVulnerabilityAssessmentRuleBaselineItem = original.DatabaseVulnerabilityAssessmentRuleBaselineItem -type DatabaseVulnerabilityAssessmentRuleBaselineProperties = original.DatabaseVulnerabilityAssessmentRuleBaselineProperties -type DatabaseVulnerabilityAssessmentScanExportProperties = original.DatabaseVulnerabilityAssessmentScanExportProperties -type DatabaseVulnerabilityAssessmentScansClient = original.DatabaseVulnerabilityAssessmentScansClient -type DatabaseVulnerabilityAssessmentScansExport = original.DatabaseVulnerabilityAssessmentScansExport -type DatabaseVulnerabilityAssessmentScansInitiateScanFuture = original.DatabaseVulnerabilityAssessmentScansInitiateScanFuture +type CompleteDatabaseRestoreDefinition = original.CompleteDatabaseRestoreDefinition +type DatabaseSecurityAlertListResult = original.DatabaseSecurityAlertListResult +type DatabaseSecurityAlertListResultIterator = original.DatabaseSecurityAlertListResultIterator +type DatabaseSecurityAlertListResultPage = original.DatabaseSecurityAlertListResultPage +type DatabaseSecurityAlertPoliciesClient = original.DatabaseSecurityAlertPoliciesClient +type DatabaseSecurityAlertPolicy = original.DatabaseSecurityAlertPolicy type DatabasesClient = original.DatabasesClient -type DatabasesCreateOrUpdateFuture = original.DatabasesCreateOrUpdateFuture -type DatabasesDeleteFuture = original.DatabasesDeleteFuture -type DatabasesPauseFuture = original.DatabasesPauseFuture -type DatabasesResumeFuture = original.DatabasesResumeFuture -type DatabasesUpdateFuture = original.DatabasesUpdateFuture -type DatabasesUpgradeDataWarehouseFuture = original.DatabasesUpgradeDataWarehouseFuture -type EditionCapability = original.EditionCapability -type ElasticPool = original.ElasticPool -type ElasticPoolEditionCapability = original.ElasticPoolEditionCapability -type ElasticPoolListResult = original.ElasticPoolListResult -type ElasticPoolListResultIterator = original.ElasticPoolListResultIterator -type ElasticPoolListResultPage = original.ElasticPoolListResultPage -type ElasticPoolOperation = original.ElasticPoolOperation -type ElasticPoolOperationListResult = original.ElasticPoolOperationListResult -type ElasticPoolOperationListResultIterator = original.ElasticPoolOperationListResultIterator -type ElasticPoolOperationListResultPage = original.ElasticPoolOperationListResultPage -type ElasticPoolOperationProperties = original.ElasticPoolOperationProperties -type ElasticPoolOperationsClient = original.ElasticPoolOperationsClient -type ElasticPoolPerDatabaseMaxPerformanceLevelCapability = original.ElasticPoolPerDatabaseMaxPerformanceLevelCapability -type ElasticPoolPerDatabaseMinPerformanceLevelCapability = original.ElasticPoolPerDatabaseMinPerformanceLevelCapability -type ElasticPoolPerDatabaseSettings = original.ElasticPoolPerDatabaseSettings -type ElasticPoolPerformanceLevelCapability = original.ElasticPoolPerformanceLevelCapability -type ElasticPoolProperties = original.ElasticPoolProperties -type ElasticPoolUpdate = original.ElasticPoolUpdate -type ElasticPoolUpdateProperties = original.ElasticPoolUpdateProperties +type DatabasesFailoverFuture = original.DatabasesFailoverFuture type ElasticPoolsClient = original.ElasticPoolsClient -type ElasticPoolsCreateOrUpdateFuture = original.ElasticPoolsCreateOrUpdateFuture -type ElasticPoolsDeleteFuture = original.ElasticPoolsDeleteFuture -type ElasticPoolsUpdateFuture = original.ElasticPoolsUpdateFuture -type InstanceFailoverGroup = original.InstanceFailoverGroup -type InstanceFailoverGroupListResult = original.InstanceFailoverGroupListResult -type InstanceFailoverGroupListResultIterator = original.InstanceFailoverGroupListResultIterator -type InstanceFailoverGroupListResultPage = original.InstanceFailoverGroupListResultPage -type InstanceFailoverGroupProperties = original.InstanceFailoverGroupProperties -type InstanceFailoverGroupReadOnlyEndpoint = original.InstanceFailoverGroupReadOnlyEndpoint -type InstanceFailoverGroupReadWriteEndpoint = original.InstanceFailoverGroupReadWriteEndpoint -type InstanceFailoverGroupsClient = original.InstanceFailoverGroupsClient -type InstanceFailoverGroupsCreateOrUpdateFuture = original.InstanceFailoverGroupsCreateOrUpdateFuture -type InstanceFailoverGroupsDeleteFuture = original.InstanceFailoverGroupsDeleteFuture -type InstanceFailoverGroupsFailoverFuture = original.InstanceFailoverGroupsFailoverFuture -type InstanceFailoverGroupsForceFailoverAllowDataLossFuture = original.InstanceFailoverGroupsForceFailoverAllowDataLossFuture -type LicenseTypeCapability = original.LicenseTypeCapability -type LocationCapabilities = original.LocationCapabilities -type LogSizeCapability = original.LogSizeCapability -type ManagedDatabaseVulnerabilityAssessmentRuleBaselinesClient = original.ManagedDatabaseVulnerabilityAssessmentRuleBaselinesClient -type ManagedDatabaseVulnerabilityAssessmentScansClient = original.ManagedDatabaseVulnerabilityAssessmentScansClient -type ManagedDatabaseVulnerabilityAssessmentScansInitiateScanFuture = original.ManagedDatabaseVulnerabilityAssessmentScansInitiateScanFuture -type ManagedDatabaseVulnerabilityAssessmentsClient = original.ManagedDatabaseVulnerabilityAssessmentsClient -type ManagedInstanceEditionCapability = original.ManagedInstanceEditionCapability -type ManagedInstanceEncryptionProtector = original.ManagedInstanceEncryptionProtector -type ManagedInstanceEncryptionProtectorListResult = original.ManagedInstanceEncryptionProtectorListResult -type ManagedInstanceEncryptionProtectorListResultIterator = original.ManagedInstanceEncryptionProtectorListResultIterator -type ManagedInstanceEncryptionProtectorListResultPage = original.ManagedInstanceEncryptionProtectorListResultPage -type ManagedInstanceEncryptionProtectorProperties = original.ManagedInstanceEncryptionProtectorProperties -type ManagedInstanceEncryptionProtectorsClient = original.ManagedInstanceEncryptionProtectorsClient -type ManagedInstanceEncryptionProtectorsCreateOrUpdateFuture = original.ManagedInstanceEncryptionProtectorsCreateOrUpdateFuture -type ManagedInstanceFamilyCapability = original.ManagedInstanceFamilyCapability -type ManagedInstanceKey = original.ManagedInstanceKey -type ManagedInstanceKeyListResult = original.ManagedInstanceKeyListResult -type ManagedInstanceKeyListResultIterator = original.ManagedInstanceKeyListResultIterator -type ManagedInstanceKeyListResultPage = original.ManagedInstanceKeyListResultPage -type ManagedInstanceKeyProperties = original.ManagedInstanceKeyProperties -type ManagedInstanceKeysClient = original.ManagedInstanceKeysClient -type ManagedInstanceKeysCreateOrUpdateFuture = original.ManagedInstanceKeysCreateOrUpdateFuture -type ManagedInstanceKeysDeleteFuture = original.ManagedInstanceKeysDeleteFuture -type ManagedInstancePairInfo = original.ManagedInstancePairInfo -type ManagedInstanceTdeCertificatesClient = original.ManagedInstanceTdeCertificatesClient -type ManagedInstanceTdeCertificatesCreateFuture = original.ManagedInstanceTdeCertificatesCreateFuture -type ManagedInstanceVcoresCapability = original.ManagedInstanceVcoresCapability -type ManagedInstanceVersionCapability = original.ManagedInstanceVersionCapability -type MaxSizeCapability = original.MaxSizeCapability -type MaxSizeRangeCapability = original.MaxSizeRangeCapability -type PartnerRegionInfo = original.PartnerRegionInfo -type PerformanceLevelCapability = original.PerformanceLevelCapability +type ElasticPoolsFailoverFuture = original.ElasticPoolsFailoverFuture +type InstancePool = original.InstancePool +type InstancePoolListResult = original.InstancePoolListResult +type InstancePoolListResultIterator = original.InstancePoolListResultIterator +type InstancePoolListResultPage = original.InstancePoolListResultPage +type InstancePoolProperties = original.InstancePoolProperties +type InstancePoolUpdate = original.InstancePoolUpdate +type InstancePoolsClient = original.InstancePoolsClient +type InstancePoolsCreateOrUpdateFuture = original.InstancePoolsCreateOrUpdateFuture +type InstancePoolsDeleteFuture = original.InstancePoolsDeleteFuture +type InstancePoolsUpdateFuture = original.InstancePoolsUpdateFuture +type ManagedDatabase = original.ManagedDatabase +type ManagedDatabaseListResult = original.ManagedDatabaseListResult +type ManagedDatabaseListResultIterator = original.ManagedDatabaseListResultIterator +type ManagedDatabaseListResultPage = original.ManagedDatabaseListResultPage +type ManagedDatabaseProperties = original.ManagedDatabaseProperties +type ManagedDatabaseRestoreDetailsClient = original.ManagedDatabaseRestoreDetailsClient +type ManagedDatabaseRestoreDetailsProperties = original.ManagedDatabaseRestoreDetailsProperties +type ManagedDatabaseRestoreDetailsResult = original.ManagedDatabaseRestoreDetailsResult +type ManagedDatabaseSensitivityLabelsClient = original.ManagedDatabaseSensitivityLabelsClient +type ManagedDatabaseUpdate = original.ManagedDatabaseUpdate +type ManagedDatabasesClient = original.ManagedDatabasesClient +type ManagedDatabasesCompleteRestoreFuture = original.ManagedDatabasesCompleteRestoreFuture +type ManagedDatabasesCreateOrUpdateFuture = original.ManagedDatabasesCreateOrUpdateFuture +type ManagedDatabasesDeleteFuture = original.ManagedDatabasesDeleteFuture +type ManagedDatabasesUpdateFuture = original.ManagedDatabasesUpdateFuture +type ManagedInstance = original.ManagedInstance +type ManagedInstanceListResult = original.ManagedInstanceListResult +type ManagedInstanceListResultIterator = original.ManagedInstanceListResultIterator +type ManagedInstanceListResultPage = original.ManagedInstanceListResultPage +type ManagedInstanceProperties = original.ManagedInstanceProperties +type ManagedInstanceUpdate = original.ManagedInstanceUpdate +type ManagedInstanceVulnerabilityAssessment = original.ManagedInstanceVulnerabilityAssessment +type ManagedInstanceVulnerabilityAssessmentListResult = original.ManagedInstanceVulnerabilityAssessmentListResult +type ManagedInstanceVulnerabilityAssessmentListResultIterator = original.ManagedInstanceVulnerabilityAssessmentListResultIterator +type ManagedInstanceVulnerabilityAssessmentListResultPage = original.ManagedInstanceVulnerabilityAssessmentListResultPage +type ManagedInstanceVulnerabilityAssessmentProperties = original.ManagedInstanceVulnerabilityAssessmentProperties +type ManagedInstanceVulnerabilityAssessmentsClient = original.ManagedInstanceVulnerabilityAssessmentsClient +type ManagedInstancesClient = original.ManagedInstancesClient +type ManagedInstancesCreateOrUpdateFuture = original.ManagedInstancesCreateOrUpdateFuture +type ManagedInstancesDeleteFuture = original.ManagedInstancesDeleteFuture +type ManagedInstancesUpdateFuture = original.ManagedInstancesUpdateFuture +type Name = original.Name +type PrivateEndpointConnection = original.PrivateEndpointConnection +type PrivateEndpointConnectionListResult = original.PrivateEndpointConnectionListResult +type PrivateEndpointConnectionListResultIterator = original.PrivateEndpointConnectionListResultIterator +type PrivateEndpointConnectionListResultPage = original.PrivateEndpointConnectionListResultPage +type PrivateEndpointConnectionProperties = original.PrivateEndpointConnectionProperties +type PrivateEndpointConnectionsClient = original.PrivateEndpointConnectionsClient +type PrivateEndpointConnectionsCreateOrUpdateFuture = original.PrivateEndpointConnectionsCreateOrUpdateFuture +type PrivateEndpointConnectionsDeleteFuture = original.PrivateEndpointConnectionsDeleteFuture +type PrivateEndpointProperty = original.PrivateEndpointProperty +type PrivateLinkServiceConnectionStateProperty = original.PrivateLinkServiceConnectionStateProperty type ProxyResource = original.ProxyResource -type RecoverableManagedDatabase = original.RecoverableManagedDatabase -type RecoverableManagedDatabaseListResult = original.RecoverableManagedDatabaseListResult -type RecoverableManagedDatabaseListResultIterator = original.RecoverableManagedDatabaseListResultIterator -type RecoverableManagedDatabaseListResultPage = original.RecoverableManagedDatabaseListResultPage -type RecoverableManagedDatabaseProperties = original.RecoverableManagedDatabaseProperties -type RecoverableManagedDatabasesClient = original.RecoverableManagedDatabasesClient type Resource = original.Resource -type ResourceMoveDefinition = original.ResourceMoveDefinition -type ServerVersionCapability = original.ServerVersionCapability -type ServiceObjectiveCapability = original.ServiceObjectiveCapability +type ResourceIdentity = original.ResourceIdentity +type SecurityAlertPolicyProperties = original.SecurityAlertPolicyProperties +type SensitivityLabel = original.SensitivityLabel +type SensitivityLabelListResult = original.SensitivityLabelListResult +type SensitivityLabelListResultIterator = original.SensitivityLabelListResultIterator +type SensitivityLabelListResultPage = original.SensitivityLabelListResultPage +type SensitivityLabelProperties = original.SensitivityLabelProperties +type ServerVulnerabilityAssessment = original.ServerVulnerabilityAssessment +type ServerVulnerabilityAssessmentListResult = original.ServerVulnerabilityAssessmentListResult +type ServerVulnerabilityAssessmentListResultIterator = original.ServerVulnerabilityAssessmentListResultIterator +type ServerVulnerabilityAssessmentListResultPage = original.ServerVulnerabilityAssessmentListResultPage +type ServerVulnerabilityAssessmentProperties = original.ServerVulnerabilityAssessmentProperties +type ServerVulnerabilityAssessmentsClient = original.ServerVulnerabilityAssessmentsClient type Sku = original.Sku -type TdeCertificate = original.TdeCertificate -type TdeCertificateProperties = original.TdeCertificateProperties -type TdeCertificatesClient = original.TdeCertificatesClient -type TdeCertificatesCreateFuture = original.TdeCertificatesCreateFuture type TrackedResource = original.TrackedResource +type Usage = original.Usage +type UsageListResult = original.UsageListResult +type UsageListResultIterator = original.UsageListResultIterator +type UsageListResultPage = original.UsageListResultPage +type UsagesClient = original.UsagesClient type VulnerabilityAssessmentRecurringScansProperties = original.VulnerabilityAssessmentRecurringScansProperties -type VulnerabilityAssessmentScanError = original.VulnerabilityAssessmentScanError -type VulnerabilityAssessmentScanRecord = original.VulnerabilityAssessmentScanRecord -type VulnerabilityAssessmentScanRecordListResult = original.VulnerabilityAssessmentScanRecordListResult -type VulnerabilityAssessmentScanRecordListResultIterator = original.VulnerabilityAssessmentScanRecordListResultIterator -type VulnerabilityAssessmentScanRecordListResultPage = original.VulnerabilityAssessmentScanRecordListResultPage -type VulnerabilityAssessmentScanRecordProperties = original.VulnerabilityAssessmentScanRecordProperties func New(subscriptionID string) BaseClient { return original.New(subscriptionID) } -func NewBackupShortTermRetentionPoliciesClient(subscriptionID string) BackupShortTermRetentionPoliciesClient { - return original.NewBackupShortTermRetentionPoliciesClient(subscriptionID) -} -func NewBackupShortTermRetentionPoliciesClientWithBaseURI(baseURI string, subscriptionID string) BackupShortTermRetentionPoliciesClient { - return original.NewBackupShortTermRetentionPoliciesClientWithBaseURI(baseURI, subscriptionID) -} -func NewBackupShortTermRetentionPolicyListResultIterator(page BackupShortTermRetentionPolicyListResultPage) BackupShortTermRetentionPolicyListResultIterator { - return original.NewBackupShortTermRetentionPolicyListResultIterator(page) -} -func NewBackupShortTermRetentionPolicyListResultPage(getNextPage func(context.Context, BackupShortTermRetentionPolicyListResult) (BackupShortTermRetentionPolicyListResult, error)) BackupShortTermRetentionPolicyListResultPage { - return original.NewBackupShortTermRetentionPolicyListResultPage(getNextPage) -} -func NewCapabilitiesClient(subscriptionID string) CapabilitiesClient { - return original.NewCapabilitiesClient(subscriptionID) +func NewDatabaseSecurityAlertListResultIterator(page DatabaseSecurityAlertListResultPage) DatabaseSecurityAlertListResultIterator { + return original.NewDatabaseSecurityAlertListResultIterator(page) } -func NewCapabilitiesClientWithBaseURI(baseURI string, subscriptionID string) CapabilitiesClient { - return original.NewCapabilitiesClientWithBaseURI(baseURI, subscriptionID) +func NewDatabaseSecurityAlertListResultPage(getNextPage func(context.Context, DatabaseSecurityAlertListResult) (DatabaseSecurityAlertListResult, error)) DatabaseSecurityAlertListResultPage { + return original.NewDatabaseSecurityAlertListResultPage(getNextPage) } -func NewDatabaseListResultIterator(page DatabaseListResultPage) DatabaseListResultIterator { - return original.NewDatabaseListResultIterator(page) +func NewDatabaseSecurityAlertPoliciesClient(subscriptionID string) DatabaseSecurityAlertPoliciesClient { + return original.NewDatabaseSecurityAlertPoliciesClient(subscriptionID) } -func NewDatabaseListResultPage(getNextPage func(context.Context, DatabaseListResult) (DatabaseListResult, error)) DatabaseListResultPage { - return original.NewDatabaseListResultPage(getNextPage) -} -func NewDatabaseOperationListResultIterator(page DatabaseOperationListResultPage) DatabaseOperationListResultIterator { - return original.NewDatabaseOperationListResultIterator(page) -} -func NewDatabaseOperationListResultPage(getNextPage func(context.Context, DatabaseOperationListResult) (DatabaseOperationListResult, error)) DatabaseOperationListResultPage { - return original.NewDatabaseOperationListResultPage(getNextPage) -} -func NewDatabaseOperationsClient(subscriptionID string) DatabaseOperationsClient { - return original.NewDatabaseOperationsClient(subscriptionID) -} -func NewDatabaseOperationsClientWithBaseURI(baseURI string, subscriptionID string) DatabaseOperationsClient { - return original.NewDatabaseOperationsClientWithBaseURI(baseURI, subscriptionID) -} -func NewDatabaseVulnerabilityAssessmentListResultIterator(page DatabaseVulnerabilityAssessmentListResultPage) DatabaseVulnerabilityAssessmentListResultIterator { - return original.NewDatabaseVulnerabilityAssessmentListResultIterator(page) -} -func NewDatabaseVulnerabilityAssessmentListResultPage(getNextPage func(context.Context, DatabaseVulnerabilityAssessmentListResult) (DatabaseVulnerabilityAssessmentListResult, error)) DatabaseVulnerabilityAssessmentListResultPage { - return original.NewDatabaseVulnerabilityAssessmentListResultPage(getNextPage) -} -func NewDatabaseVulnerabilityAssessmentScansClient(subscriptionID string) DatabaseVulnerabilityAssessmentScansClient { - return original.NewDatabaseVulnerabilityAssessmentScansClient(subscriptionID) -} -func NewDatabaseVulnerabilityAssessmentScansClientWithBaseURI(baseURI string, subscriptionID string) DatabaseVulnerabilityAssessmentScansClient { - return original.NewDatabaseVulnerabilityAssessmentScansClientWithBaseURI(baseURI, subscriptionID) +func NewDatabaseSecurityAlertPoliciesClientWithBaseURI(baseURI string, subscriptionID string) DatabaseSecurityAlertPoliciesClient { + return original.NewDatabaseSecurityAlertPoliciesClientWithBaseURI(baseURI, subscriptionID) } func NewDatabasesClient(subscriptionID string) DatabasesClient { return original.NewDatabasesClient(subscriptionID) @@ -409,179 +215,146 @@ func NewDatabasesClient(subscriptionID string) DatabasesClient { func NewDatabasesClientWithBaseURI(baseURI string, subscriptionID string) DatabasesClient { return original.NewDatabasesClientWithBaseURI(baseURI, subscriptionID) } -func NewElasticPoolListResultIterator(page ElasticPoolListResultPage) ElasticPoolListResultIterator { - return original.NewElasticPoolListResultIterator(page) -} -func NewElasticPoolListResultPage(getNextPage func(context.Context, ElasticPoolListResult) (ElasticPoolListResult, error)) ElasticPoolListResultPage { - return original.NewElasticPoolListResultPage(getNextPage) -} -func NewElasticPoolOperationListResultIterator(page ElasticPoolOperationListResultPage) ElasticPoolOperationListResultIterator { - return original.NewElasticPoolOperationListResultIterator(page) -} -func NewElasticPoolOperationListResultPage(getNextPage func(context.Context, ElasticPoolOperationListResult) (ElasticPoolOperationListResult, error)) ElasticPoolOperationListResultPage { - return original.NewElasticPoolOperationListResultPage(getNextPage) -} -func NewElasticPoolOperationsClient(subscriptionID string) ElasticPoolOperationsClient { - return original.NewElasticPoolOperationsClient(subscriptionID) -} -func NewElasticPoolOperationsClientWithBaseURI(baseURI string, subscriptionID string) ElasticPoolOperationsClient { - return original.NewElasticPoolOperationsClientWithBaseURI(baseURI, subscriptionID) -} func NewElasticPoolsClient(subscriptionID string) ElasticPoolsClient { return original.NewElasticPoolsClient(subscriptionID) } func NewElasticPoolsClientWithBaseURI(baseURI string, subscriptionID string) ElasticPoolsClient { return original.NewElasticPoolsClientWithBaseURI(baseURI, subscriptionID) } -func NewInstanceFailoverGroupListResultIterator(page InstanceFailoverGroupListResultPage) InstanceFailoverGroupListResultIterator { - return original.NewInstanceFailoverGroupListResultIterator(page) -} -func NewInstanceFailoverGroupListResultPage(getNextPage func(context.Context, InstanceFailoverGroupListResult) (InstanceFailoverGroupListResult, error)) InstanceFailoverGroupListResultPage { - return original.NewInstanceFailoverGroupListResultPage(getNextPage) -} -func NewInstanceFailoverGroupsClient(subscriptionID string) InstanceFailoverGroupsClient { - return original.NewInstanceFailoverGroupsClient(subscriptionID) -} -func NewInstanceFailoverGroupsClientWithBaseURI(baseURI string, subscriptionID string) InstanceFailoverGroupsClient { - return original.NewInstanceFailoverGroupsClientWithBaseURI(baseURI, subscriptionID) -} -func NewManagedDatabaseVulnerabilityAssessmentRuleBaselinesClient(subscriptionID string) ManagedDatabaseVulnerabilityAssessmentRuleBaselinesClient { - return original.NewManagedDatabaseVulnerabilityAssessmentRuleBaselinesClient(subscriptionID) +func NewInstancePoolListResultIterator(page InstancePoolListResultPage) InstancePoolListResultIterator { + return original.NewInstancePoolListResultIterator(page) } -func NewManagedDatabaseVulnerabilityAssessmentRuleBaselinesClientWithBaseURI(baseURI string, subscriptionID string) ManagedDatabaseVulnerabilityAssessmentRuleBaselinesClient { - return original.NewManagedDatabaseVulnerabilityAssessmentRuleBaselinesClientWithBaseURI(baseURI, subscriptionID) +func NewInstancePoolListResultPage(getNextPage func(context.Context, InstancePoolListResult) (InstancePoolListResult, error)) InstancePoolListResultPage { + return original.NewInstancePoolListResultPage(getNextPage) } -func NewManagedDatabaseVulnerabilityAssessmentScansClient(subscriptionID string) ManagedDatabaseVulnerabilityAssessmentScansClient { - return original.NewManagedDatabaseVulnerabilityAssessmentScansClient(subscriptionID) +func NewInstancePoolsClient(subscriptionID string) InstancePoolsClient { + return original.NewInstancePoolsClient(subscriptionID) } -func NewManagedDatabaseVulnerabilityAssessmentScansClientWithBaseURI(baseURI string, subscriptionID string) ManagedDatabaseVulnerabilityAssessmentScansClient { - return original.NewManagedDatabaseVulnerabilityAssessmentScansClientWithBaseURI(baseURI, subscriptionID) +func NewInstancePoolsClientWithBaseURI(baseURI string, subscriptionID string) InstancePoolsClient { + return original.NewInstancePoolsClientWithBaseURI(baseURI, subscriptionID) } -func NewManagedDatabaseVulnerabilityAssessmentsClient(subscriptionID string) ManagedDatabaseVulnerabilityAssessmentsClient { - return original.NewManagedDatabaseVulnerabilityAssessmentsClient(subscriptionID) +func NewManagedDatabaseListResultIterator(page ManagedDatabaseListResultPage) ManagedDatabaseListResultIterator { + return original.NewManagedDatabaseListResultIterator(page) } -func NewManagedDatabaseVulnerabilityAssessmentsClientWithBaseURI(baseURI string, subscriptionID string) ManagedDatabaseVulnerabilityAssessmentsClient { - return original.NewManagedDatabaseVulnerabilityAssessmentsClientWithBaseURI(baseURI, subscriptionID) +func NewManagedDatabaseListResultPage(getNextPage func(context.Context, ManagedDatabaseListResult) (ManagedDatabaseListResult, error)) ManagedDatabaseListResultPage { + return original.NewManagedDatabaseListResultPage(getNextPage) } -func NewManagedInstanceEncryptionProtectorListResultIterator(page ManagedInstanceEncryptionProtectorListResultPage) ManagedInstanceEncryptionProtectorListResultIterator { - return original.NewManagedInstanceEncryptionProtectorListResultIterator(page) +func NewManagedDatabaseRestoreDetailsClient(subscriptionID string) ManagedDatabaseRestoreDetailsClient { + return original.NewManagedDatabaseRestoreDetailsClient(subscriptionID) } -func NewManagedInstanceEncryptionProtectorListResultPage(getNextPage func(context.Context, ManagedInstanceEncryptionProtectorListResult) (ManagedInstanceEncryptionProtectorListResult, error)) ManagedInstanceEncryptionProtectorListResultPage { - return original.NewManagedInstanceEncryptionProtectorListResultPage(getNextPage) +func NewManagedDatabaseRestoreDetailsClientWithBaseURI(baseURI string, subscriptionID string) ManagedDatabaseRestoreDetailsClient { + return original.NewManagedDatabaseRestoreDetailsClientWithBaseURI(baseURI, subscriptionID) } -func NewManagedInstanceEncryptionProtectorsClient(subscriptionID string) ManagedInstanceEncryptionProtectorsClient { - return original.NewManagedInstanceEncryptionProtectorsClient(subscriptionID) +func NewManagedDatabaseSensitivityLabelsClient(subscriptionID string) ManagedDatabaseSensitivityLabelsClient { + return original.NewManagedDatabaseSensitivityLabelsClient(subscriptionID) } -func NewManagedInstanceEncryptionProtectorsClientWithBaseURI(baseURI string, subscriptionID string) ManagedInstanceEncryptionProtectorsClient { - return original.NewManagedInstanceEncryptionProtectorsClientWithBaseURI(baseURI, subscriptionID) +func NewManagedDatabaseSensitivityLabelsClientWithBaseURI(baseURI string, subscriptionID string) ManagedDatabaseSensitivityLabelsClient { + return original.NewManagedDatabaseSensitivityLabelsClientWithBaseURI(baseURI, subscriptionID) } -func NewManagedInstanceKeyListResultIterator(page ManagedInstanceKeyListResultPage) ManagedInstanceKeyListResultIterator { - return original.NewManagedInstanceKeyListResultIterator(page) +func NewManagedDatabasesClient(subscriptionID string) ManagedDatabasesClient { + return original.NewManagedDatabasesClient(subscriptionID) } -func NewManagedInstanceKeyListResultPage(getNextPage func(context.Context, ManagedInstanceKeyListResult) (ManagedInstanceKeyListResult, error)) ManagedInstanceKeyListResultPage { - return original.NewManagedInstanceKeyListResultPage(getNextPage) +func NewManagedDatabasesClientWithBaseURI(baseURI string, subscriptionID string) ManagedDatabasesClient { + return original.NewManagedDatabasesClientWithBaseURI(baseURI, subscriptionID) } -func NewManagedInstanceKeysClient(subscriptionID string) ManagedInstanceKeysClient { - return original.NewManagedInstanceKeysClient(subscriptionID) +func NewManagedInstanceListResultIterator(page ManagedInstanceListResultPage) ManagedInstanceListResultIterator { + return original.NewManagedInstanceListResultIterator(page) } -func NewManagedInstanceKeysClientWithBaseURI(baseURI string, subscriptionID string) ManagedInstanceKeysClient { - return original.NewManagedInstanceKeysClientWithBaseURI(baseURI, subscriptionID) +func NewManagedInstanceListResultPage(getNextPage func(context.Context, ManagedInstanceListResult) (ManagedInstanceListResult, error)) ManagedInstanceListResultPage { + return original.NewManagedInstanceListResultPage(getNextPage) } -func NewManagedInstanceTdeCertificatesClient(subscriptionID string) ManagedInstanceTdeCertificatesClient { - return original.NewManagedInstanceTdeCertificatesClient(subscriptionID) +func NewManagedInstanceVulnerabilityAssessmentListResultIterator(page ManagedInstanceVulnerabilityAssessmentListResultPage) ManagedInstanceVulnerabilityAssessmentListResultIterator { + return original.NewManagedInstanceVulnerabilityAssessmentListResultIterator(page) } -func NewManagedInstanceTdeCertificatesClientWithBaseURI(baseURI string, subscriptionID string) ManagedInstanceTdeCertificatesClient { - return original.NewManagedInstanceTdeCertificatesClientWithBaseURI(baseURI, subscriptionID) +func NewManagedInstanceVulnerabilityAssessmentListResultPage(getNextPage func(context.Context, ManagedInstanceVulnerabilityAssessmentListResult) (ManagedInstanceVulnerabilityAssessmentListResult, error)) ManagedInstanceVulnerabilityAssessmentListResultPage { + return original.NewManagedInstanceVulnerabilityAssessmentListResultPage(getNextPage) } -func NewRecoverableManagedDatabaseListResultIterator(page RecoverableManagedDatabaseListResultPage) RecoverableManagedDatabaseListResultIterator { - return original.NewRecoverableManagedDatabaseListResultIterator(page) +func NewManagedInstanceVulnerabilityAssessmentsClient(subscriptionID string) ManagedInstanceVulnerabilityAssessmentsClient { + return original.NewManagedInstanceVulnerabilityAssessmentsClient(subscriptionID) } -func NewRecoverableManagedDatabaseListResultPage(getNextPage func(context.Context, RecoverableManagedDatabaseListResult) (RecoverableManagedDatabaseListResult, error)) RecoverableManagedDatabaseListResultPage { - return original.NewRecoverableManagedDatabaseListResultPage(getNextPage) +func NewManagedInstanceVulnerabilityAssessmentsClientWithBaseURI(baseURI string, subscriptionID string) ManagedInstanceVulnerabilityAssessmentsClient { + return original.NewManagedInstanceVulnerabilityAssessmentsClientWithBaseURI(baseURI, subscriptionID) } -func NewRecoverableManagedDatabasesClient(subscriptionID string) RecoverableManagedDatabasesClient { - return original.NewRecoverableManagedDatabasesClient(subscriptionID) +func NewManagedInstancesClient(subscriptionID string) ManagedInstancesClient { + return original.NewManagedInstancesClient(subscriptionID) } -func NewRecoverableManagedDatabasesClientWithBaseURI(baseURI string, subscriptionID string) RecoverableManagedDatabasesClient { - return original.NewRecoverableManagedDatabasesClientWithBaseURI(baseURI, subscriptionID) +func NewManagedInstancesClientWithBaseURI(baseURI string, subscriptionID string) ManagedInstancesClient { + return original.NewManagedInstancesClientWithBaseURI(baseURI, subscriptionID) } -func NewTdeCertificatesClient(subscriptionID string) TdeCertificatesClient { - return original.NewTdeCertificatesClient(subscriptionID) +func NewPrivateEndpointConnectionListResultIterator(page PrivateEndpointConnectionListResultPage) PrivateEndpointConnectionListResultIterator { + return original.NewPrivateEndpointConnectionListResultIterator(page) } -func NewTdeCertificatesClientWithBaseURI(baseURI string, subscriptionID string) TdeCertificatesClient { - return original.NewTdeCertificatesClientWithBaseURI(baseURI, subscriptionID) +func NewPrivateEndpointConnectionListResultPage(getNextPage func(context.Context, PrivateEndpointConnectionListResult) (PrivateEndpointConnectionListResult, error)) PrivateEndpointConnectionListResultPage { + return original.NewPrivateEndpointConnectionListResultPage(getNextPage) } -func NewVulnerabilityAssessmentScanRecordListResultIterator(page VulnerabilityAssessmentScanRecordListResultPage) VulnerabilityAssessmentScanRecordListResultIterator { - return original.NewVulnerabilityAssessmentScanRecordListResultIterator(page) +func NewPrivateEndpointConnectionsClient(subscriptionID string) PrivateEndpointConnectionsClient { + return original.NewPrivateEndpointConnectionsClient(subscriptionID) } -func NewVulnerabilityAssessmentScanRecordListResultPage(getNextPage func(context.Context, VulnerabilityAssessmentScanRecordListResult) (VulnerabilityAssessmentScanRecordListResult, error)) VulnerabilityAssessmentScanRecordListResultPage { - return original.NewVulnerabilityAssessmentScanRecordListResultPage(getNextPage) +func NewPrivateEndpointConnectionsClientWithBaseURI(baseURI string, subscriptionID string) PrivateEndpointConnectionsClient { + return original.NewPrivateEndpointConnectionsClientWithBaseURI(baseURI, subscriptionID) } -func NewWithBaseURI(baseURI string, subscriptionID string) BaseClient { - return original.NewWithBaseURI(baseURI, subscriptionID) -} -func PossibleCapabilityGroupValues() []CapabilityGroup { - return original.PossibleCapabilityGroupValues() +func NewSensitivityLabelListResultIterator(page SensitivityLabelListResultPage) SensitivityLabelListResultIterator { + return original.NewSensitivityLabelListResultIterator(page) } -func PossibleCapabilityStatusValues() []CapabilityStatus { - return original.PossibleCapabilityStatusValues() +func NewSensitivityLabelListResultPage(getNextPage func(context.Context, SensitivityLabelListResult) (SensitivityLabelListResult, error)) SensitivityLabelListResultPage { + return original.NewSensitivityLabelListResultPage(getNextPage) } -func PossibleCatalogCollationTypeValues() []CatalogCollationType { - return original.PossibleCatalogCollationTypeValues() +func NewServerVulnerabilityAssessmentListResultIterator(page ServerVulnerabilityAssessmentListResultPage) ServerVulnerabilityAssessmentListResultIterator { + return original.NewServerVulnerabilityAssessmentListResultIterator(page) } -func PossibleCreateModeValues() []CreateMode { - return original.PossibleCreateModeValues() +func NewServerVulnerabilityAssessmentListResultPage(getNextPage func(context.Context, ServerVulnerabilityAssessmentListResult) (ServerVulnerabilityAssessmentListResult, error)) ServerVulnerabilityAssessmentListResultPage { + return original.NewServerVulnerabilityAssessmentListResultPage(getNextPage) } -func PossibleDatabaseLicenseTypeValues() []DatabaseLicenseType { - return original.PossibleDatabaseLicenseTypeValues() +func NewServerVulnerabilityAssessmentsClient(subscriptionID string) ServerVulnerabilityAssessmentsClient { + return original.NewServerVulnerabilityAssessmentsClient(subscriptionID) } -func PossibleDatabaseReadScaleValues() []DatabaseReadScale { - return original.PossibleDatabaseReadScaleValues() +func NewServerVulnerabilityAssessmentsClientWithBaseURI(baseURI string, subscriptionID string) ServerVulnerabilityAssessmentsClient { + return original.NewServerVulnerabilityAssessmentsClientWithBaseURI(baseURI, subscriptionID) } -func PossibleDatabaseStatusValues() []DatabaseStatus { - return original.PossibleDatabaseStatusValues() +func NewUsageListResultIterator(page UsageListResultPage) UsageListResultIterator { + return original.NewUsageListResultIterator(page) } -func PossibleElasticPoolLicenseTypeValues() []ElasticPoolLicenseType { - return original.PossibleElasticPoolLicenseTypeValues() +func NewUsageListResultPage(getNextPage func(context.Context, UsageListResult) (UsageListResult, error)) UsageListResultPage { + return original.NewUsageListResultPage(getNextPage) } -func PossibleElasticPoolStateValues() []ElasticPoolState { - return original.PossibleElasticPoolStateValues() +func NewUsagesClient(subscriptionID string) UsagesClient { + return original.NewUsagesClient(subscriptionID) } -func PossibleInstanceFailoverGroupReplicationRoleValues() []InstanceFailoverGroupReplicationRole { - return original.PossibleInstanceFailoverGroupReplicationRoleValues() +func NewUsagesClientWithBaseURI(baseURI string, subscriptionID string) UsagesClient { + return original.NewUsagesClientWithBaseURI(baseURI, subscriptionID) } -func PossibleLogSizeUnitValues() []LogSizeUnit { - return original.PossibleLogSizeUnitValues() +func NewWithBaseURI(baseURI string, subscriptionID string) BaseClient { + return original.NewWithBaseURI(baseURI, subscriptionID) } -func PossibleManagementOperationStateValues() []ManagementOperationState { - return original.PossibleManagementOperationStateValues() +func PossibleCatalogCollationTypeValues() []CatalogCollationType { + return original.PossibleCatalogCollationTypeValues() } -func PossibleMaxSizeUnitValues() []MaxSizeUnit { - return original.PossibleMaxSizeUnitValues() +func PossibleIdentityTypeValues() []IdentityType { + return original.PossibleIdentityTypeValues() } -func PossiblePerformanceLevelUnitValues() []PerformanceLevelUnit { - return original.PossiblePerformanceLevelUnitValues() +func PossibleInstancePoolLicenseTypeValues() []InstancePoolLicenseType { + return original.PossibleInstancePoolLicenseTypeValues() } -func PossibleReadOnlyEndpointFailoverPolicyValues() []ReadOnlyEndpointFailoverPolicy { - return original.PossibleReadOnlyEndpointFailoverPolicyValues() +func PossibleManagedDatabaseCreateModeValues() []ManagedDatabaseCreateMode { + return original.PossibleManagedDatabaseCreateModeValues() } -func PossibleReadWriteEndpointFailoverPolicyValues() []ReadWriteEndpointFailoverPolicy { - return original.PossibleReadWriteEndpointFailoverPolicyValues() +func PossibleManagedDatabaseStatusValues() []ManagedDatabaseStatus { + return original.PossibleManagedDatabaseStatusValues() } -func PossibleSampleNameValues() []SampleName { - return original.PossibleSampleNameValues() +func PossibleManagedInstanceLicenseTypeValues() []ManagedInstanceLicenseType { + return original.PossibleManagedInstanceLicenseTypeValues() } -func PossibleServerKeyTypeValues() []ServerKeyType { - return original.PossibleServerKeyTypeValues() +func PossibleManagedInstanceProxyOverrideValues() []ManagedInstanceProxyOverride { + return original.PossibleManagedInstanceProxyOverrideValues() } -func PossibleVulnerabilityAssessmentPolicyBaselineNameValues() []VulnerabilityAssessmentPolicyBaselineName { - return original.PossibleVulnerabilityAssessmentPolicyBaselineNameValues() +func PossibleManagedServerCreateModeValues() []ManagedServerCreateMode { + return original.PossibleManagedServerCreateModeValues() } -func PossibleVulnerabilityAssessmentScanStateValues() []VulnerabilityAssessmentScanState { - return original.PossibleVulnerabilityAssessmentScanStateValues() +func PossibleSecurityAlertPolicyStateValues() []SecurityAlertPolicyState { + return original.PossibleSecurityAlertPolicyStateValues() } -func PossibleVulnerabilityAssessmentScanTriggerTypeValues() []VulnerabilityAssessmentScanTriggerType { - return original.PossibleVulnerabilityAssessmentScanTriggerTypeValues() +func PossibleSensitivityLabelSourceValues() []SensitivityLabelSource { + return original.PossibleSensitivityLabelSourceValues() } func UserAgent() string { return original.UserAgent() + " profiles/preview" diff --git a/profiles/preview/preview/sql/mgmt/sql/sqlapi/models.go b/profiles/preview/preview/sql/mgmt/sql/sqlapi/models.go index 7b318febaa25..46419e0025a9 100644 --- a/profiles/preview/preview/sql/mgmt/sql/sqlapi/models.go +++ b/profiles/preview/preview/sql/mgmt/sql/sqlapi/models.go @@ -19,21 +19,17 @@ package sqlapi -import original "github.com/Azure/azure-sdk-for-go/services/preview/sql/mgmt/2017-10-01-preview/sql/sqlapi" +import original "github.com/Azure/azure-sdk-for-go/services/preview/sql/mgmt/2018-06-01-preview/sql/sqlapi" -type BackupShortTermRetentionPoliciesClientAPI = original.BackupShortTermRetentionPoliciesClientAPI -type CapabilitiesClientAPI = original.CapabilitiesClientAPI -type DatabaseOperationsClientAPI = original.DatabaseOperationsClientAPI -type DatabaseVulnerabilityAssessmentScansClientAPI = original.DatabaseVulnerabilityAssessmentScansClientAPI +type DatabaseSecurityAlertPoliciesClientAPI = original.DatabaseSecurityAlertPoliciesClientAPI type DatabasesClientAPI = original.DatabasesClientAPI -type ElasticPoolOperationsClientAPI = original.ElasticPoolOperationsClientAPI type ElasticPoolsClientAPI = original.ElasticPoolsClientAPI -type InstanceFailoverGroupsClientAPI = original.InstanceFailoverGroupsClientAPI -type ManagedDatabaseVulnerabilityAssessmentRuleBaselinesClientAPI = original.ManagedDatabaseVulnerabilityAssessmentRuleBaselinesClientAPI -type ManagedDatabaseVulnerabilityAssessmentScansClientAPI = original.ManagedDatabaseVulnerabilityAssessmentScansClientAPI -type ManagedDatabaseVulnerabilityAssessmentsClientAPI = original.ManagedDatabaseVulnerabilityAssessmentsClientAPI -type ManagedInstanceEncryptionProtectorsClientAPI = original.ManagedInstanceEncryptionProtectorsClientAPI -type ManagedInstanceKeysClientAPI = original.ManagedInstanceKeysClientAPI -type ManagedInstanceTdeCertificatesClientAPI = original.ManagedInstanceTdeCertificatesClientAPI -type RecoverableManagedDatabasesClientAPI = original.RecoverableManagedDatabasesClientAPI -type TdeCertificatesClientAPI = original.TdeCertificatesClientAPI +type InstancePoolsClientAPI = original.InstancePoolsClientAPI +type ManagedDatabaseRestoreDetailsClientAPI = original.ManagedDatabaseRestoreDetailsClientAPI +type ManagedDatabaseSensitivityLabelsClientAPI = original.ManagedDatabaseSensitivityLabelsClientAPI +type ManagedDatabasesClientAPI = original.ManagedDatabasesClientAPI +type ManagedInstanceVulnerabilityAssessmentsClientAPI = original.ManagedInstanceVulnerabilityAssessmentsClientAPI +type ManagedInstancesClientAPI = original.ManagedInstancesClientAPI +type PrivateEndpointConnectionsClientAPI = original.PrivateEndpointConnectionsClientAPI +type ServerVulnerabilityAssessmentsClientAPI = original.ServerVulnerabilityAssessmentsClientAPI +type UsagesClientAPI = original.UsagesClientAPI diff --git a/profiles/preview/preview/sqlvirtualmachine/mgmt/sqlvirtualmachine/models.go b/profiles/preview/preview/sqlvirtualmachine/mgmt/sqlvirtualmachine/models.go index 389ad50698f3..a3fb9d42db63 100644 --- a/profiles/preview/preview/sqlvirtualmachine/mgmt/sqlvirtualmachine/models.go +++ b/profiles/preview/preview/sqlvirtualmachine/mgmt/sqlvirtualmachine/models.go @@ -142,6 +142,14 @@ const ( HA ScaleType = original.HA ) +type StorageWorkloadType = original.StorageWorkloadType + +const ( + StorageWorkloadTypeDW StorageWorkloadType = original.StorageWorkloadTypeDW + StorageWorkloadTypeGENERAL StorageWorkloadType = original.StorageWorkloadTypeGENERAL + StorageWorkloadTypeOLTP StorageWorkloadType = original.StorageWorkloadTypeOLTP +) + type AdditionalFeaturesServerConfigurations = original.AdditionalFeaturesServerConfigurations type AutoBackupSettings = original.AutoBackupSettings type AutoPatchingSettings = original.AutoPatchingSettings @@ -181,6 +189,7 @@ type ProxyResource = original.ProxyResource type Resource = original.Resource type ResourceIdentity = original.ResourceIdentity type SQLConnectivityUpdateSettings = original.SQLConnectivityUpdateSettings +type SQLStorageSettings = original.SQLStorageSettings type SQLStorageUpdateSettings = original.SQLStorageUpdateSettings type SQLVirtualMachine = original.SQLVirtualMachine type SQLVirtualMachinesClient = original.SQLVirtualMachinesClient @@ -189,6 +198,7 @@ type SQLVirtualMachinesDeleteFutureType = original.SQLVirtualMachinesDeleteFutur type SQLVirtualMachinesUpdateFutureType = original.SQLVirtualMachinesUpdateFutureType type SQLWorkloadTypeUpdateSettings = original.SQLWorkloadTypeUpdateSettings type ServerConfigurationsManagementSettings = original.ServerConfigurationsManagementSettings +type StorageConfigurationSettings = original.StorageConfigurationSettings type TrackedResource = original.TrackedResource type Update = original.Update type WsfcDomainCredentials = original.WsfcDomainCredentials @@ -293,6 +303,9 @@ func PossibleSQLWorkloadTypeValues() []SQLWorkloadType { func PossibleScaleTypeValues() []ScaleType { return original.PossibleScaleTypeValues() } +func PossibleStorageWorkloadTypeValues() []StorageWorkloadType { + return original.PossibleStorageWorkloadTypeValues() +} func UserAgent() string { return original.UserAgent() + " profiles/preview" } diff --git a/profiles/preview/preview/storagecache/mgmt/storagecache/models.go b/profiles/preview/preview/storagecache/mgmt/storagecache/models.go new file mode 100644 index 000000000000..d947da0f591c --- /dev/null +++ b/profiles/preview/preview/storagecache/mgmt/storagecache/models.go @@ -0,0 +1,217 @@ +// +build go1.9 + +// Copyright 2019 Microsoft Corporation +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// This code was auto-generated by: +// github.com/Azure/azure-sdk-for-go/tools/profileBuilder + +package storagecache + +import ( + "context" + + original "github.com/Azure/azure-sdk-for-go/services/preview/storagecache/mgmt/2019-08-01-preview/storagecache" +) + +const ( + DefaultBaseURI = original.DefaultBaseURI +) + +type FirmwareStatusType = original.FirmwareStatusType + +const ( + Available FirmwareStatusType = original.Available + Unavailable FirmwareStatusType = original.Unavailable +) + +type HealthStateType = original.HealthStateType + +const ( + Degraded HealthStateType = original.Degraded + Down HealthStateType = original.Down + Flushing HealthStateType = original.Flushing + Healthy HealthStateType = original.Healthy + Stopped HealthStateType = original.Stopped + Stopping HealthStateType = original.Stopping + Transitioning HealthStateType = original.Transitioning + Unknown HealthStateType = original.Unknown + Upgrading HealthStateType = original.Upgrading +) + +type ProvisioningStateType = original.ProvisioningStateType + +const ( + Cancelled ProvisioningStateType = original.Cancelled + Creating ProvisioningStateType = original.Creating + Deleting ProvisioningStateType = original.Deleting + Failed ProvisioningStateType = original.Failed + Succeeded ProvisioningStateType = original.Succeeded + Updating ProvisioningStateType = original.Updating +) + +type ReasonCode = original.ReasonCode + +const ( + NotAvailableForSubscription ReasonCode = original.NotAvailableForSubscription + QuotaID ReasonCode = original.QuotaID +) + +type StorageTargetType = original.StorageTargetType + +const ( + StorageTargetTypeClfs StorageTargetType = original.StorageTargetTypeClfs + StorageTargetTypeNfs3 StorageTargetType = original.StorageTargetTypeNfs3 + StorageTargetTypeUnknown StorageTargetType = original.StorageTargetTypeUnknown +) + +type APIOperation = original.APIOperation +type APIOperationDisplay = original.APIOperationDisplay +type APIOperationListResult = original.APIOperationListResult +type APIOperationListResultIterator = original.APIOperationListResultIterator +type APIOperationListResultPage = original.APIOperationListResultPage +type BaseClient = original.BaseClient +type Cache = original.Cache +type CacheHealth = original.CacheHealth +type CacheProperties = original.CacheProperties +type CacheSku = original.CacheSku +type CacheUpgradeStatus = original.CacheUpgradeStatus +type CachesClient = original.CachesClient +type CachesCreateFuture = original.CachesCreateFuture +type CachesDeleteFuture = original.CachesDeleteFuture +type CachesFlushFuture = original.CachesFlushFuture +type CachesListResult = original.CachesListResult +type CachesListResultIterator = original.CachesListResultIterator +type CachesListResultPage = original.CachesListResultPage +type CachesStartFuture = original.CachesStartFuture +type CachesStopFuture = original.CachesStopFuture +type CachesUpgradeFirmwareFuture = original.CachesUpgradeFirmwareFuture +type ClfsTarget = original.ClfsTarget +type CloudError = original.CloudError +type CloudErrorBody = original.CloudErrorBody +type NamespaceJunction = original.NamespaceJunction +type Nfs3Target = original.Nfs3Target +type OperationsClient = original.OperationsClient +type ResourceSku = original.ResourceSku +type ResourceSkuCapabilities = original.ResourceSkuCapabilities +type ResourceSkuLocationInfo = original.ResourceSkuLocationInfo +type ResourceSkusResult = original.ResourceSkusResult +type ResourceSkusResultIterator = original.ResourceSkusResultIterator +type ResourceSkusResultPage = original.ResourceSkusResultPage +type Restriction = original.Restriction +type SetObject = original.SetObject +type SkusClient = original.SkusClient +type StorageTarget = original.StorageTarget +type StorageTargetProperties = original.StorageTargetProperties +type StorageTargetsClient = original.StorageTargetsClient +type StorageTargetsCreateFuture = original.StorageTargetsCreateFuture +type StorageTargetsDeleteFuture = original.StorageTargetsDeleteFuture +type StorageTargetsResult = original.StorageTargetsResult +type StorageTargetsResultIterator = original.StorageTargetsResultIterator +type StorageTargetsResultPage = original.StorageTargetsResultPage +type UnknownTarget = original.UnknownTarget +type UsageModel = original.UsageModel +type UsageModelDisplay = original.UsageModelDisplay +type UsageModelsClient = original.UsageModelsClient +type UsageModelsResult = original.UsageModelsResult +type UsageModelsResultIterator = original.UsageModelsResultIterator +type UsageModelsResultPage = original.UsageModelsResultPage + +func New(subscriptionID string) BaseClient { + return original.New(subscriptionID) +} +func NewAPIOperationListResultIterator(page APIOperationListResultPage) APIOperationListResultIterator { + return original.NewAPIOperationListResultIterator(page) +} +func NewAPIOperationListResultPage(getNextPage func(context.Context, APIOperationListResult) (APIOperationListResult, error)) APIOperationListResultPage { + return original.NewAPIOperationListResultPage(getNextPage) +} +func NewCachesClient(subscriptionID string) CachesClient { + return original.NewCachesClient(subscriptionID) +} +func NewCachesClientWithBaseURI(baseURI string, subscriptionID string) CachesClient { + return original.NewCachesClientWithBaseURI(baseURI, subscriptionID) +} +func NewCachesListResultIterator(page CachesListResultPage) CachesListResultIterator { + return original.NewCachesListResultIterator(page) +} +func NewCachesListResultPage(getNextPage func(context.Context, CachesListResult) (CachesListResult, error)) CachesListResultPage { + return original.NewCachesListResultPage(getNextPage) +} +func NewOperationsClient(subscriptionID string) OperationsClient { + return original.NewOperationsClient(subscriptionID) +} +func NewOperationsClientWithBaseURI(baseURI string, subscriptionID string) OperationsClient { + return original.NewOperationsClientWithBaseURI(baseURI, subscriptionID) +} +func NewResourceSkusResultIterator(page ResourceSkusResultPage) ResourceSkusResultIterator { + return original.NewResourceSkusResultIterator(page) +} +func NewResourceSkusResultPage(getNextPage func(context.Context, ResourceSkusResult) (ResourceSkusResult, error)) ResourceSkusResultPage { + return original.NewResourceSkusResultPage(getNextPage) +} +func NewSkusClient(subscriptionID string) SkusClient { + return original.NewSkusClient(subscriptionID) +} +func NewSkusClientWithBaseURI(baseURI string, subscriptionID string) SkusClient { + return original.NewSkusClientWithBaseURI(baseURI, subscriptionID) +} +func NewStorageTargetsClient(subscriptionID string) StorageTargetsClient { + return original.NewStorageTargetsClient(subscriptionID) +} +func NewStorageTargetsClientWithBaseURI(baseURI string, subscriptionID string) StorageTargetsClient { + return original.NewStorageTargetsClientWithBaseURI(baseURI, subscriptionID) +} +func NewStorageTargetsResultIterator(page StorageTargetsResultPage) StorageTargetsResultIterator { + return original.NewStorageTargetsResultIterator(page) +} +func NewStorageTargetsResultPage(getNextPage func(context.Context, StorageTargetsResult) (StorageTargetsResult, error)) StorageTargetsResultPage { + return original.NewStorageTargetsResultPage(getNextPage) +} +func NewUsageModelsClient(subscriptionID string) UsageModelsClient { + return original.NewUsageModelsClient(subscriptionID) +} +func NewUsageModelsClientWithBaseURI(baseURI string, subscriptionID string) UsageModelsClient { + return original.NewUsageModelsClientWithBaseURI(baseURI, subscriptionID) +} +func NewUsageModelsResultIterator(page UsageModelsResultPage) UsageModelsResultIterator { + return original.NewUsageModelsResultIterator(page) +} +func NewUsageModelsResultPage(getNextPage func(context.Context, UsageModelsResult) (UsageModelsResult, error)) UsageModelsResultPage { + return original.NewUsageModelsResultPage(getNextPage) +} +func NewWithBaseURI(baseURI string, subscriptionID string) BaseClient { + return original.NewWithBaseURI(baseURI, subscriptionID) +} +func PossibleFirmwareStatusTypeValues() []FirmwareStatusType { + return original.PossibleFirmwareStatusTypeValues() +} +func PossibleHealthStateTypeValues() []HealthStateType { + return original.PossibleHealthStateTypeValues() +} +func PossibleProvisioningStateTypeValues() []ProvisioningStateType { + return original.PossibleProvisioningStateTypeValues() +} +func PossibleReasonCodeValues() []ReasonCode { + return original.PossibleReasonCodeValues() +} +func PossibleStorageTargetTypeValues() []StorageTargetType { + return original.PossibleStorageTargetTypeValues() +} +func UserAgent() string { + return original.UserAgent() + " profiles/preview" +} +func Version() string { + return original.Version() +} diff --git a/profiles/preview/preview/machinelearning/mgmt/services/servicesapi/models.go b/profiles/preview/preview/storagecache/mgmt/storagecache/storagecacheapi/models.go similarity index 72% rename from profiles/preview/preview/machinelearning/mgmt/services/servicesapi/models.go rename to profiles/preview/preview/storagecache/mgmt/storagecache/storagecacheapi/models.go index 14f1fcfc2676..53c75c01b3f4 100644 --- a/profiles/preview/preview/machinelearning/mgmt/services/servicesapi/models.go +++ b/profiles/preview/preview/storagecache/mgmt/storagecache/storagecacheapi/models.go @@ -17,10 +17,12 @@ // This code was auto-generated by: // github.com/Azure/azure-sdk-for-go/tools/profileBuilder -package servicesapi +package storagecacheapi -import original "github.com/Azure/azure-sdk-for-go/services/preview/machinelearning/mgmt/2018-03-01-preview/services/servicesapi" +import original "github.com/Azure/azure-sdk-for-go/services/preview/storagecache/mgmt/2019-08-01-preview/storagecache/storagecacheapi" -type MachineLearningComputeClientAPI = original.MachineLearningComputeClientAPI +type CachesClientAPI = original.CachesClientAPI type OperationsClientAPI = original.OperationsClientAPI -type WorkspacesClientAPI = original.WorkspacesClientAPI +type SkusClientAPI = original.SkusClientAPI +type StorageTargetsClientAPI = original.StorageTargetsClientAPI +type UsageModelsClientAPI = original.UsageModelsClientAPI diff --git a/profiles/preview/recoveryservices/mgmt/backup/models.go b/profiles/preview/recoveryservices/mgmt/backup/models.go index f78dac9391a6..230dba59d36a 100644 --- a/profiles/preview/recoveryservices/mgmt/backup/models.go +++ b/profiles/preview/recoveryservices/mgmt/backup/models.go @@ -265,14 +265,16 @@ const ( type JobOperationType = original.JobOperationType const ( - JobOperationTypeBackup JobOperationType = original.JobOperationTypeBackup - JobOperationTypeConfigureBackup JobOperationType = original.JobOperationTypeConfigureBackup - JobOperationTypeDeleteBackupData JobOperationType = original.JobOperationTypeDeleteBackupData - JobOperationTypeDisableBackup JobOperationType = original.JobOperationTypeDisableBackup - JobOperationTypeInvalid JobOperationType = original.JobOperationTypeInvalid - JobOperationTypeRegister JobOperationType = original.JobOperationTypeRegister - JobOperationTypeRestore JobOperationType = original.JobOperationTypeRestore - JobOperationTypeUnRegister JobOperationType = original.JobOperationTypeUnRegister + JobOperationTypeBackup JobOperationType = original.JobOperationTypeBackup + JobOperationTypeConfigureBackup JobOperationType = original.JobOperationTypeConfigureBackup + JobOperationTypeCrossRegionRestore JobOperationType = original.JobOperationTypeCrossRegionRestore + JobOperationTypeDeleteBackupData JobOperationType = original.JobOperationTypeDeleteBackupData + JobOperationTypeDisableBackup JobOperationType = original.JobOperationTypeDisableBackup + JobOperationTypeInvalid JobOperationType = original.JobOperationTypeInvalid + JobOperationTypeRegister JobOperationType = original.JobOperationTypeRegister + JobOperationTypeRestore JobOperationType = original.JobOperationTypeRestore + JobOperationTypeUndelete JobOperationType = original.JobOperationTypeUndelete + JobOperationTypeUnRegister JobOperationType = original.JobOperationTypeUnRegister ) type JobStatus = original.JobStatus @@ -390,8 +392,9 @@ const ( type ObjectTypeBasicILRRequest = original.ObjectTypeBasicILRRequest const ( - ObjectTypeIaasVMILRRegistrationRequest ObjectTypeBasicILRRequest = original.ObjectTypeIaasVMILRRegistrationRequest - ObjectTypeILRRequest ObjectTypeBasicILRRequest = original.ObjectTypeILRRequest + ObjectTypeAzureFileShareProvisionILRRequest ObjectTypeBasicILRRequest = original.ObjectTypeAzureFileShareProvisionILRRequest + ObjectTypeIaasVMILRRegistrationRequest ObjectTypeBasicILRRequest = original.ObjectTypeIaasVMILRRegistrationRequest + ObjectTypeILRRequest ObjectTypeBasicILRRequest = original.ObjectTypeILRRequest ) type ObjectTypeBasicOperationStatusExtendedInfo = original.ObjectTypeBasicOperationStatusExtendedInfo @@ -501,7 +504,6 @@ const ( ProtectableItemTypeIaaSVMProtectableItem ProtectableItemType = original.ProtectableItemTypeIaaSVMProtectableItem ProtectableItemTypeMicrosoftClassicComputevirtualMachines ProtectableItemType = original.ProtectableItemTypeMicrosoftClassicComputevirtualMachines ProtectableItemTypeMicrosoftComputevirtualMachines ProtectableItemType = original.ProtectableItemTypeMicrosoftComputevirtualMachines - ProtectableItemTypeSAPAseDatabase ProtectableItemType = original.ProtectableItemTypeSAPAseDatabase ProtectableItemTypeSAPAseSystem ProtectableItemType = original.ProtectableItemTypeSAPAseSystem ProtectableItemTypeSAPHanaDatabase ProtectableItemType = original.ProtectableItemTypeSAPHanaDatabase ProtectableItemTypeSAPHanaSystem ProtectableItemType = original.ProtectableItemTypeSAPHanaSystem @@ -581,6 +583,14 @@ const ( ProtectionStatusProtectionFailed ProtectionStatus = original.ProtectionStatusProtectionFailed ) +type RecoveryMode = original.RecoveryMode + +const ( + RecoveryModeFileRecovery RecoveryMode = original.RecoveryModeFileRecovery + RecoveryModeInvalid RecoveryMode = original.RecoveryModeInvalid + RecoveryModeWorkloadRecovery RecoveryMode = original.RecoveryModeWorkloadRecovery +) + type RecoveryPointTierStatus = original.RecoveryPointTierStatus const ( @@ -603,6 +613,7 @@ type RecoveryType = original.RecoveryType const ( RecoveryTypeAlternateLocation RecoveryType = original.RecoveryTypeAlternateLocation RecoveryTypeInvalid RecoveryType = original.RecoveryTypeInvalid + RecoveryTypeOffline RecoveryType = original.RecoveryTypeOffline RecoveryTypeOriginalLocation RecoveryType = original.RecoveryTypeOriginalLocation RecoveryTypeRestoreDisks RecoveryType = original.RecoveryTypeRestoreDisks ) @@ -686,6 +697,14 @@ const ( ScheduleRunTypeWeekly ScheduleRunType = original.ScheduleRunTypeWeekly ) +type SoftDeleteFeatureState = original.SoftDeleteFeatureState + +const ( + SoftDeleteFeatureStateDisabled SoftDeleteFeatureState = original.SoftDeleteFeatureStateDisabled + SoftDeleteFeatureStateEnabled SoftDeleteFeatureState = original.SoftDeleteFeatureStateEnabled + SoftDeleteFeatureStateInvalid SoftDeleteFeatureState = original.SoftDeleteFeatureStateInvalid +) + type StorageType = original.StorageType const ( @@ -811,6 +830,7 @@ type AzureBackupServerEngine = original.AzureBackupServerEngine type AzureFileShareBackupRequest = original.AzureFileShareBackupRequest type AzureFileShareProtectableItem = original.AzureFileShareProtectableItem type AzureFileShareProtectionPolicy = original.AzureFileShareProtectionPolicy +type AzureFileShareProvisionILRRequest = original.AzureFileShareProvisionILRRequest type AzureFileShareRecoveryPoint = original.AzureFileShareRecoveryPoint type AzureFileShareRestoreRequest = original.AzureFileShareRestoreRequest type AzureFileshareProtectedItem = original.AzureFileshareProtectedItem @@ -851,7 +871,6 @@ type AzureVMWorkloadProtectableItem = original.AzureVMWorkloadProtectableItem type AzureVMWorkloadProtectedItem = original.AzureVMWorkloadProtectedItem type AzureVMWorkloadProtectedItemExtendedInfo = original.AzureVMWorkloadProtectedItemExtendedInfo type AzureVMWorkloadProtectionPolicy = original.AzureVMWorkloadProtectionPolicy -type AzureVMWorkloadSAPAseDatabaseProtectableItem = original.AzureVMWorkloadSAPAseDatabaseProtectableItem type AzureVMWorkloadSAPAseDatabaseProtectedItem = original.AzureVMWorkloadSAPAseDatabaseProtectedItem type AzureVMWorkloadSAPAseDatabaseWorkloadItem = original.AzureVMWorkloadSAPAseDatabaseWorkloadItem type AzureVMWorkloadSAPAseSystemProtectableItem = original.AzureVMWorkloadSAPAseSystemProtectableItem @@ -953,6 +972,8 @@ type DPMProtectedItemExtendedInfo = original.DPMProtectedItemExtendedInfo type DailyRetentionFormat = original.DailyRetentionFormat type DailyRetentionSchedule = original.DailyRetentionSchedule type Day = original.Day +type DiskExclusionProperties = original.DiskExclusionProperties +type DiskInformation = original.DiskInformation type DistributedNodesInfo = original.DistributedNodesInfo type DpmBackupEngine = original.DpmBackupEngine type DpmContainer = original.DpmContainer @@ -971,6 +992,7 @@ type EnginesClient = original.EnginesClient type ErrorDetail = original.ErrorDetail type ExportJobsOperationResultInfo = original.ExportJobsOperationResultInfo type ExportJobsOperationResultsClient = original.ExportJobsOperationResultsClient +type ExtendedProperties = original.ExtendedProperties type FeatureSupportClient = original.FeatureSupportClient type FeatureSupportRequest = original.FeatureSupportRequest type GenericContainer = original.GenericContainer @@ -990,6 +1012,7 @@ type IaasVMRestoreRequest = original.IaasVMRestoreRequest type InquiryInfo = original.InquiryInfo type InquiryValidation = original.InquiryValidation type InstantItemRecoveryTarget = original.InstantItemRecoveryTarget +type InstantRPAdditionalDetails = original.InstantRPAdditionalDetails type ItemLevelRecoveryConnectionsClient = original.ItemLevelRecoveryConnectionsClient type Job = original.Job type JobCancellationsClient = original.JobCancellationsClient @@ -1084,6 +1107,7 @@ type ProtectionPolicyResourceList = original.ProtectionPolicyResourceList type ProtectionPolicyResourceListIterator = original.ProtectionPolicyResourceListIterator type ProtectionPolicyResourceListPage = original.ProtectionPolicyResourceListPage type RecoveryPoint = original.RecoveryPoint +type RecoveryPointDiskConfiguration = original.RecoveryPointDiskConfiguration type RecoveryPointResource = original.RecoveryPointResource type RecoveryPointResourceList = original.RecoveryPointResourceList type RecoveryPointResourceListIterator = original.RecoveryPointResourceListIterator @@ -1577,6 +1601,9 @@ func PossibleProtectionStateValues() []ProtectionState { func PossibleProtectionStatusValues() []ProtectionStatus { return original.PossibleProtectionStatusValues() } +func PossibleRecoveryModeValues() []RecoveryMode { + return original.PossibleRecoveryModeValues() +} func PossibleRecoveryPointTierStatusValues() []RecoveryPointTierStatus { return original.PossibleRecoveryPointTierStatusValues() } @@ -1613,6 +1640,9 @@ func PossibleSchedulePolicyTypeValues() []SchedulePolicyType { func PossibleScheduleRunTypeValues() []ScheduleRunType { return original.PossibleScheduleRunTypeValues() } +func PossibleSoftDeleteFeatureStateValues() []SoftDeleteFeatureState { + return original.PossibleSoftDeleteFeatureStateValues() +} func PossibleStorageTypeStateValues() []StorageTypeState { return original.PossibleStorageTypeStateValues() } diff --git a/profiles/preview/resources/mgmt/features/featuresapi/models.go b/profiles/preview/resources/mgmt/features/featuresapi/models.go index 2e397b85d5a8..69fd9a5cf75a 100644 --- a/profiles/preview/resources/mgmt/features/featuresapi/models.go +++ b/profiles/preview/resources/mgmt/features/featuresapi/models.go @@ -19,7 +19,12 @@ package featuresapi -import original "github.com/Azure/azure-sdk-for-go/services/resources/mgmt/2015-12-01/features/featuresapi" +import original "github.com/Azure/azure-sdk-for-go/services/resources/mgmt/2019-07-01/features/featuresapi" -type BaseClientAPI = original.BaseClientAPI -type ClientAPI = original.ClientAPI +type DeploymentOperationsClientAPI = original.DeploymentOperationsClientAPI +type DeploymentsClientAPI = original.DeploymentsClientAPI +type OperationsClientAPI = original.OperationsClientAPI +type ProvidersClientAPI = original.ProvidersClientAPI +type ResourceGroupsClientAPI = original.ResourceGroupsClientAPI +type ResourcesClientAPI = original.ResourcesClientAPI +type TagsClientAPI = original.TagsClientAPI diff --git a/profiles/preview/resources/mgmt/features/models.go b/profiles/preview/resources/mgmt/features/models.go index 5f743857d96d..0061b02829ba 100644 --- a/profiles/preview/resources/mgmt/features/models.go +++ b/profiles/preview/resources/mgmt/features/models.go @@ -22,34 +22,194 @@ package features import ( "context" - original "github.com/Azure/azure-sdk-for-go/services/resources/mgmt/2015-12-01/features" + original "github.com/Azure/azure-sdk-for-go/services/resources/mgmt/2019-07-01/features" ) const ( DefaultBaseURI = original.DefaultBaseURI ) +type ChangeType = original.ChangeType + +const ( + Create ChangeType = original.Create + Delete ChangeType = original.Delete + Deploy ChangeType = original.Deploy + Ignore ChangeType = original.Ignore + Modify ChangeType = original.Modify + NoChange ChangeType = original.NoChange +) + +type DeploymentMode = original.DeploymentMode + +const ( + Complete DeploymentMode = original.Complete + Incremental DeploymentMode = original.Incremental +) + +type OnErrorDeploymentType = original.OnErrorDeploymentType + +const ( + LastSuccessful OnErrorDeploymentType = original.LastSuccessful + SpecificDeployment OnErrorDeploymentType = original.SpecificDeployment +) + +type PropertyChangeType = original.PropertyChangeType + +const ( + PropertyChangeTypeArray PropertyChangeType = original.PropertyChangeTypeArray + PropertyChangeTypeCreate PropertyChangeType = original.PropertyChangeTypeCreate + PropertyChangeTypeDelete PropertyChangeType = original.PropertyChangeTypeDelete + PropertyChangeTypeModify PropertyChangeType = original.PropertyChangeTypeModify +) + +type ResourceIdentityType = original.ResourceIdentityType + +const ( + None ResourceIdentityType = original.None + SystemAssigned ResourceIdentityType = original.SystemAssigned + SystemAssignedUserAssigned ResourceIdentityType = original.SystemAssignedUserAssigned + UserAssigned ResourceIdentityType = original.UserAssigned +) + +type WhatIfResultFormat = original.WhatIfResultFormat + +const ( + FullResourcePayloads WhatIfResultFormat = original.FullResourcePayloads + ResourceIDOnly WhatIfResultFormat = original.ResourceIDOnly +) + +type AliasPathType = original.AliasPathType +type AliasType = original.AliasType type BaseClient = original.BaseClient -type Client = original.Client +type BasicDependency = original.BasicDependency +type CloudError = original.CloudError +type DebugSetting = original.DebugSetting +type Dependency = original.Dependency +type Deployment = original.Deployment +type DeploymentExportResult = original.DeploymentExportResult +type DeploymentExtended = original.DeploymentExtended +type DeploymentExtendedFilter = original.DeploymentExtendedFilter +type DeploymentListResult = original.DeploymentListResult +type DeploymentListResultIterator = original.DeploymentListResultIterator +type DeploymentListResultPage = original.DeploymentListResultPage +type DeploymentOperation = original.DeploymentOperation +type DeploymentOperationProperties = original.DeploymentOperationProperties +type DeploymentOperationsClient = original.DeploymentOperationsClient +type DeploymentOperationsListResult = original.DeploymentOperationsListResult +type DeploymentOperationsListResultIterator = original.DeploymentOperationsListResultIterator +type DeploymentOperationsListResultPage = original.DeploymentOperationsListResultPage +type DeploymentProperties = original.DeploymentProperties +type DeploymentPropertiesExtended = original.DeploymentPropertiesExtended +type DeploymentValidateResult = original.DeploymentValidateResult +type DeploymentWhatIf = original.DeploymentWhatIf +type DeploymentWhatIfProperties = original.DeploymentWhatIfProperties +type DeploymentWhatIfSettings = original.DeploymentWhatIfSettings +type DeploymentsClient = original.DeploymentsClient +type DeploymentsCreateOrUpdateAtManagementGroupScopeFuture = original.DeploymentsCreateOrUpdateAtManagementGroupScopeFuture +type DeploymentsCreateOrUpdateAtScopeFuture = original.DeploymentsCreateOrUpdateAtScopeFuture +type DeploymentsCreateOrUpdateAtSubscriptionScopeFuture = original.DeploymentsCreateOrUpdateAtSubscriptionScopeFuture +type DeploymentsCreateOrUpdateAtTenantScopeFuture = original.DeploymentsCreateOrUpdateAtTenantScopeFuture +type DeploymentsCreateOrUpdateFuture = original.DeploymentsCreateOrUpdateFuture +type DeploymentsDeleteAtManagementGroupScopeFuture = original.DeploymentsDeleteAtManagementGroupScopeFuture +type DeploymentsDeleteAtScopeFuture = original.DeploymentsDeleteAtScopeFuture +type DeploymentsDeleteAtSubscriptionScopeFuture = original.DeploymentsDeleteAtSubscriptionScopeFuture +type DeploymentsDeleteAtTenantScopeFuture = original.DeploymentsDeleteAtTenantScopeFuture +type DeploymentsDeleteFuture = original.DeploymentsDeleteFuture +type DeploymentsWhatIfAtSubscriptionScopeFuture = original.DeploymentsWhatIfAtSubscriptionScopeFuture +type DeploymentsWhatIfFuture = original.DeploymentsWhatIfFuture +type ErrorAdditionalInfo = original.ErrorAdditionalInfo +type ErrorResponse = original.ErrorResponse +type ExportTemplateRequest = original.ExportTemplateRequest +type GenericResource = original.GenericResource +type GenericResourceFilter = original.GenericResourceFilter +type HTTPMessage = original.HTTPMessage +type Identity = original.Identity +type IdentityUserAssignedIdentitiesValue = original.IdentityUserAssignedIdentitiesValue +type OnErrorDeployment = original.OnErrorDeployment +type OnErrorDeploymentExtended = original.OnErrorDeploymentExtended type Operation = original.Operation type OperationDisplay = original.OperationDisplay type OperationListResult = original.OperationListResult type OperationListResultIterator = original.OperationListResultIterator type OperationListResultPage = original.OperationListResultPage -type OperationsListResult = original.OperationsListResult -type OperationsListResultIterator = original.OperationsListResultIterator -type OperationsListResultPage = original.OperationsListResultPage -type Properties = original.Properties -type Result = original.Result +type OperationsClient = original.OperationsClient +type ParametersLink = original.ParametersLink +type Plan = original.Plan +type Provider = original.Provider +type ProviderListResult = original.ProviderListResult +type ProviderListResultIterator = original.ProviderListResultIterator +type ProviderListResultPage = original.ProviderListResultPage +type ProviderResourceType = original.ProviderResourceType +type ProvidersClient = original.ProvidersClient +type Resource = original.Resource +type ResourceGroup = original.ResourceGroup +type ResourceGroupExportResult = original.ResourceGroupExportResult +type ResourceGroupFilter = original.ResourceGroupFilter +type ResourceGroupListResult = original.ResourceGroupListResult +type ResourceGroupListResultIterator = original.ResourceGroupListResultIterator +type ResourceGroupListResultPage = original.ResourceGroupListResultPage +type ResourceGroupPatchable = original.ResourceGroupPatchable +type ResourceGroupProperties = original.ResourceGroupProperties +type ResourceGroupsClient = original.ResourceGroupsClient +type ResourceGroupsDeleteFuture = original.ResourceGroupsDeleteFuture +type ResourceListResult = original.ResourceListResult +type ResourceListResultIterator = original.ResourceListResultIterator +type ResourceListResultPage = original.ResourceListResultPage +type ResourceProviderOperationDisplayProperties = original.ResourceProviderOperationDisplayProperties +type ResourcesClient = original.ResourcesClient +type ResourcesCreateOrUpdateByIDFuture = original.ResourcesCreateOrUpdateByIDFuture +type ResourcesCreateOrUpdateFuture = original.ResourcesCreateOrUpdateFuture +type ResourcesDeleteByIDFuture = original.ResourcesDeleteByIDFuture +type ResourcesDeleteFuture = original.ResourcesDeleteFuture +type ResourcesMoveInfo = original.ResourcesMoveInfo +type ResourcesMoveResourcesFuture = original.ResourcesMoveResourcesFuture +type ResourcesUpdateByIDFuture = original.ResourcesUpdateByIDFuture +type ResourcesUpdateFuture = original.ResourcesUpdateFuture +type ResourcesValidateMoveResourcesFuture = original.ResourcesValidateMoveResourcesFuture +type Sku = original.Sku +type SubResource = original.SubResource +type TagCount = original.TagCount +type TagDetails = original.TagDetails +type TagValue = original.TagValue +type TagsClient = original.TagsClient +type TagsListResult = original.TagsListResult +type TagsListResultIterator = original.TagsListResultIterator +type TagsListResultPage = original.TagsListResultPage +type TargetResource = original.TargetResource +type TemplateHashResult = original.TemplateHashResult +type TemplateLink = original.TemplateLink +type WhatIfChange = original.WhatIfChange +type WhatIfOperationProperties = original.WhatIfOperationProperties +type WhatIfOperationResult = original.WhatIfOperationResult +type WhatIfPropertyChange = original.WhatIfPropertyChange func New(subscriptionID string) BaseClient { return original.New(subscriptionID) } -func NewClient(subscriptionID string) Client { - return original.NewClient(subscriptionID) +func NewDeploymentListResultIterator(page DeploymentListResultPage) DeploymentListResultIterator { + return original.NewDeploymentListResultIterator(page) +} +func NewDeploymentListResultPage(getNextPage func(context.Context, DeploymentListResult) (DeploymentListResult, error)) DeploymentListResultPage { + return original.NewDeploymentListResultPage(getNextPage) +} +func NewDeploymentOperationsClient(subscriptionID string) DeploymentOperationsClient { + return original.NewDeploymentOperationsClient(subscriptionID) } -func NewClientWithBaseURI(baseURI string, subscriptionID string) Client { - return original.NewClientWithBaseURI(baseURI, subscriptionID) +func NewDeploymentOperationsClientWithBaseURI(baseURI string, subscriptionID string) DeploymentOperationsClient { + return original.NewDeploymentOperationsClientWithBaseURI(baseURI, subscriptionID) +} +func NewDeploymentOperationsListResultIterator(page DeploymentOperationsListResultPage) DeploymentOperationsListResultIterator { + return original.NewDeploymentOperationsListResultIterator(page) +} +func NewDeploymentOperationsListResultPage(getNextPage func(context.Context, DeploymentOperationsListResult) (DeploymentOperationsListResult, error)) DeploymentOperationsListResultPage { + return original.NewDeploymentOperationsListResultPage(getNextPage) +} +func NewDeploymentsClient(subscriptionID string) DeploymentsClient { + return original.NewDeploymentsClient(subscriptionID) +} +func NewDeploymentsClientWithBaseURI(baseURI string, subscriptionID string) DeploymentsClient { + return original.NewDeploymentsClientWithBaseURI(baseURI, subscriptionID) } func NewOperationListResultIterator(page OperationListResultPage) OperationListResultIterator { return original.NewOperationListResultIterator(page) @@ -57,15 +217,81 @@ func NewOperationListResultIterator(page OperationListResultPage) OperationListR func NewOperationListResultPage(getNextPage func(context.Context, OperationListResult) (OperationListResult, error)) OperationListResultPage { return original.NewOperationListResultPage(getNextPage) } -func NewOperationsListResultIterator(page OperationsListResultPage) OperationsListResultIterator { - return original.NewOperationsListResultIterator(page) +func NewOperationsClient(subscriptionID string) OperationsClient { + return original.NewOperationsClient(subscriptionID) +} +func NewOperationsClientWithBaseURI(baseURI string, subscriptionID string) OperationsClient { + return original.NewOperationsClientWithBaseURI(baseURI, subscriptionID) +} +func NewProviderListResultIterator(page ProviderListResultPage) ProviderListResultIterator { + return original.NewProviderListResultIterator(page) +} +func NewProviderListResultPage(getNextPage func(context.Context, ProviderListResult) (ProviderListResult, error)) ProviderListResultPage { + return original.NewProviderListResultPage(getNextPage) +} +func NewProvidersClient(subscriptionID string) ProvidersClient { + return original.NewProvidersClient(subscriptionID) +} +func NewProvidersClientWithBaseURI(baseURI string, subscriptionID string) ProvidersClient { + return original.NewProvidersClientWithBaseURI(baseURI, subscriptionID) +} +func NewResourceGroupListResultIterator(page ResourceGroupListResultPage) ResourceGroupListResultIterator { + return original.NewResourceGroupListResultIterator(page) +} +func NewResourceGroupListResultPage(getNextPage func(context.Context, ResourceGroupListResult) (ResourceGroupListResult, error)) ResourceGroupListResultPage { + return original.NewResourceGroupListResultPage(getNextPage) +} +func NewResourceGroupsClient(subscriptionID string) ResourceGroupsClient { + return original.NewResourceGroupsClient(subscriptionID) +} +func NewResourceGroupsClientWithBaseURI(baseURI string, subscriptionID string) ResourceGroupsClient { + return original.NewResourceGroupsClientWithBaseURI(baseURI, subscriptionID) } -func NewOperationsListResultPage(getNextPage func(context.Context, OperationsListResult) (OperationsListResult, error)) OperationsListResultPage { - return original.NewOperationsListResultPage(getNextPage) +func NewResourceListResultIterator(page ResourceListResultPage) ResourceListResultIterator { + return original.NewResourceListResultIterator(page) +} +func NewResourceListResultPage(getNextPage func(context.Context, ResourceListResult) (ResourceListResult, error)) ResourceListResultPage { + return original.NewResourceListResultPage(getNextPage) +} +func NewResourcesClient(subscriptionID string) ResourcesClient { + return original.NewResourcesClient(subscriptionID) +} +func NewResourcesClientWithBaseURI(baseURI string, subscriptionID string) ResourcesClient { + return original.NewResourcesClientWithBaseURI(baseURI, subscriptionID) +} +func NewTagsClient(subscriptionID string) TagsClient { + return original.NewTagsClient(subscriptionID) +} +func NewTagsClientWithBaseURI(baseURI string, subscriptionID string) TagsClient { + return original.NewTagsClientWithBaseURI(baseURI, subscriptionID) +} +func NewTagsListResultIterator(page TagsListResultPage) TagsListResultIterator { + return original.NewTagsListResultIterator(page) +} +func NewTagsListResultPage(getNextPage func(context.Context, TagsListResult) (TagsListResult, error)) TagsListResultPage { + return original.NewTagsListResultPage(getNextPage) } func NewWithBaseURI(baseURI string, subscriptionID string) BaseClient { return original.NewWithBaseURI(baseURI, subscriptionID) } +func PossibleChangeTypeValues() []ChangeType { + return original.PossibleChangeTypeValues() +} +func PossibleDeploymentModeValues() []DeploymentMode { + return original.PossibleDeploymentModeValues() +} +func PossibleOnErrorDeploymentTypeValues() []OnErrorDeploymentType { + return original.PossibleOnErrorDeploymentTypeValues() +} +func PossiblePropertyChangeTypeValues() []PropertyChangeType { + return original.PossiblePropertyChangeTypeValues() +} +func PossibleResourceIdentityTypeValues() []ResourceIdentityType { + return original.PossibleResourceIdentityTypeValues() +} +func PossibleWhatIfResultFormatValues() []WhatIfResultFormat { + return original.PossibleWhatIfResultFormatValues() +} func UserAgent() string { return original.UserAgent() + " profiles/preview" } diff --git a/profiles/preview/resources/mgmt/resources/models.go b/profiles/preview/resources/mgmt/resources/models.go index b25109161d78..34bfcc4a4866 100644 --- a/profiles/preview/resources/mgmt/resources/models.go +++ b/profiles/preview/resources/mgmt/resources/models.go @@ -57,6 +57,7 @@ type AliasType = original.AliasType type BaseClient = original.BaseClient type BasicDependency = original.BasicDependency type Client = original.Client +type CloudError = original.CloudError type CreateOrUpdateByIDFuture = original.CreateOrUpdateByIDFuture type CreateOrUpdateFuture = original.CreateOrUpdateFuture type DebugSetting = original.DebugSetting @@ -86,6 +87,8 @@ type DeploymentsCreateOrUpdateFuture = original.DeploymentsCreateOrUpdateFuture type DeploymentsDeleteAtManagementGroupScopeFuture = original.DeploymentsDeleteAtManagementGroupScopeFuture type DeploymentsDeleteAtSubscriptionScopeFuture = original.DeploymentsDeleteAtSubscriptionScopeFuture type DeploymentsDeleteFuture = original.DeploymentsDeleteFuture +type ErrorAdditionalInfo = original.ErrorAdditionalInfo +type ErrorResponse = original.ErrorResponse type ExportTemplateRequest = original.ExportTemplateRequest type GenericResource = original.GenericResource type GenericResourceFilter = original.GenericResourceFilter @@ -136,6 +139,7 @@ type TagsListResult = original.TagsListResult type TagsListResultIterator = original.TagsListResultIterator type TagsListResultPage = original.TagsListResultPage type TargetResource = original.TargetResource +type TemplateHashResult = original.TemplateHashResult type TemplateLink = original.TemplateLink type UpdateByIDFuture = original.UpdateByIDFuture type UpdateFuture = original.UpdateFuture diff --git a/profiles/preview/resources/mgmt/subscriptions/models.go b/profiles/preview/resources/mgmt/subscriptions/models.go index 116a1e96c80d..614c49b0119d 100644 --- a/profiles/preview/resources/mgmt/subscriptions/models.go +++ b/profiles/preview/resources/mgmt/subscriptions/models.go @@ -22,7 +22,7 @@ package subscriptions import ( "context" - original "github.com/Azure/azure-sdk-for-go/services/resources/mgmt/2018-06-01/subscriptions" + original "github.com/Azure/azure-sdk-for-go/services/resources/mgmt/2019-06-01/subscriptions" ) const ( @@ -54,6 +54,7 @@ type ListResultIterator = original.ListResultIterator type ListResultPage = original.ListResultPage type Location = original.Location type LocationListResult = original.LocationListResult +type ManagedByTenant = original.ManagedByTenant type Operation = original.Operation type OperationDisplay = original.OperationDisplay type OperationListResult = original.OperationListResult diff --git a/profiles/preview/resources/mgmt/subscriptions/subscriptionsapi/models.go b/profiles/preview/resources/mgmt/subscriptions/subscriptionsapi/models.go index 310ddf1a3680..160e7606fe40 100644 --- a/profiles/preview/resources/mgmt/subscriptions/subscriptionsapi/models.go +++ b/profiles/preview/resources/mgmt/subscriptions/subscriptionsapi/models.go @@ -19,7 +19,7 @@ package subscriptionsapi -import original "github.com/Azure/azure-sdk-for-go/services/resources/mgmt/2018-06-01/subscriptions/subscriptionsapi" +import original "github.com/Azure/azure-sdk-for-go/services/resources/mgmt/2019-06-01/subscriptions/subscriptionsapi" type ClientAPI = original.ClientAPI type OperationsClientAPI = original.OperationsClientAPI diff --git a/profiles/preview/servicebus/mgmt/servicebus/models.go b/profiles/preview/servicebus/mgmt/servicebus/models.go index 1768e406ac4f..e92dd03050c6 100644 --- a/profiles/preview/servicebus/mgmt/servicebus/models.go +++ b/profiles/preview/servicebus/mgmt/servicebus/models.go @@ -175,6 +175,9 @@ type NamespacesClient = original.NamespacesClient type NamespacesCreateOrUpdateFuture = original.NamespacesCreateOrUpdateFuture type NamespacesDeleteFuture = original.NamespacesDeleteFuture type NetworkRuleSet = original.NetworkRuleSet +type NetworkRuleSetListResult = original.NetworkRuleSetListResult +type NetworkRuleSetListResultIterator = original.NetworkRuleSetListResultIterator +type NetworkRuleSetListResultPage = original.NetworkRuleSetListResultPage type NetworkRuleSetProperties = original.NetworkRuleSetProperties type Operation = original.Operation type OperationDisplay = original.OperationDisplay @@ -279,6 +282,12 @@ func NewNamespacesClient(subscriptionID string) NamespacesClient { func NewNamespacesClientWithBaseURI(baseURI string, subscriptionID string) NamespacesClient { return original.NewNamespacesClientWithBaseURI(baseURI, subscriptionID) } +func NewNetworkRuleSetListResultIterator(page NetworkRuleSetListResultPage) NetworkRuleSetListResultIterator { + return original.NewNetworkRuleSetListResultIterator(page) +} +func NewNetworkRuleSetListResultPage(getNextPage func(context.Context, NetworkRuleSetListResult) (NetworkRuleSetListResult, error)) NetworkRuleSetListResultPage { + return original.NewNetworkRuleSetListResultPage(getNextPage) +} func NewOperationListResultIterator(page OperationListResultPage) OperationListResultIterator { return original.NewOperationListResultIterator(page) } diff --git a/profiles/preview/sql/mgmt/sql/models.go b/profiles/preview/sql/mgmt/sql/models.go index c236e3c00709..1ef18e61db29 100644 --- a/profiles/preview/sql/mgmt/sql/models.go +++ b/profiles/preview/sql/mgmt/sql/models.go @@ -25,6 +25,15 @@ const ( DefaultBaseURI = original.DefaultBaseURI ) +type AdvisorStatus = original.AdvisorStatus + +const ( + GA AdvisorStatus = original.GA + LimitedPublicPreview AdvisorStatus = original.LimitedPublicPreview + PrivatePreview AdvisorStatus = original.PrivatePreview + PublicPreview AdvisorStatus = original.PublicPreview +) + type AuthenticationType = original.AuthenticationType const ( @@ -32,6 +41,30 @@ const ( SQL AuthenticationType = original.SQL ) +type AutoExecuteStatus = original.AutoExecuteStatus + +const ( + Default AutoExecuteStatus = original.Default + Disabled AutoExecuteStatus = original.Disabled + Enabled AutoExecuteStatus = original.Enabled +) + +type BackupLongTermRetentionPolicyState = original.BackupLongTermRetentionPolicyState + +const ( + BackupLongTermRetentionPolicyStateDisabled BackupLongTermRetentionPolicyState = original.BackupLongTermRetentionPolicyStateDisabled + BackupLongTermRetentionPolicyStateEnabled BackupLongTermRetentionPolicyState = original.BackupLongTermRetentionPolicyStateEnabled +) + +type CapabilityStatus = original.CapabilityStatus + +const ( + CapabilityStatusAvailable CapabilityStatus = original.CapabilityStatusAvailable + CapabilityStatusDefault CapabilityStatus = original.CapabilityStatusDefault + CapabilityStatusDisabled CapabilityStatus = original.CapabilityStatusDisabled + CapabilityStatusVisible CapabilityStatus = original.CapabilityStatusVisible +) + type CheckNameAvailabilityReason = original.CheckNameAvailabilityReason const ( @@ -42,14 +75,39 @@ const ( type CreateMode = original.CreateMode const ( - Copy CreateMode = original.Copy - Default CreateMode = original.Default - NonReadableSecondary CreateMode = original.NonReadableSecondary - OnlineSecondary CreateMode = original.OnlineSecondary - PointInTimeRestore CreateMode = original.PointInTimeRestore - Recovery CreateMode = original.Recovery - Restore CreateMode = original.Restore - RestoreLongTermRetentionBackup CreateMode = original.RestoreLongTermRetentionBackup + CreateModeCopy CreateMode = original.CreateModeCopy + CreateModeDefault CreateMode = original.CreateModeDefault + CreateModeNonReadableSecondary CreateMode = original.CreateModeNonReadableSecondary + CreateModeOnlineSecondary CreateMode = original.CreateModeOnlineSecondary + CreateModePointInTimeRestore CreateMode = original.CreateModePointInTimeRestore + CreateModeRecovery CreateMode = original.CreateModeRecovery + CreateModeRestore CreateMode = original.CreateModeRestore + CreateModeRestoreLongTermRetentionBackup CreateMode = original.CreateModeRestoreLongTermRetentionBackup +) + +type DataMaskingFunction = original.DataMaskingFunction + +const ( + DataMaskingFunctionCCN DataMaskingFunction = original.DataMaskingFunctionCCN + DataMaskingFunctionDefault DataMaskingFunction = original.DataMaskingFunctionDefault + DataMaskingFunctionEmail DataMaskingFunction = original.DataMaskingFunctionEmail + DataMaskingFunctionNumber DataMaskingFunction = original.DataMaskingFunctionNumber + DataMaskingFunctionSSN DataMaskingFunction = original.DataMaskingFunctionSSN + DataMaskingFunctionText DataMaskingFunction = original.DataMaskingFunctionText +) + +type DataMaskingRuleState = original.DataMaskingRuleState + +const ( + DataMaskingRuleStateDisabled DataMaskingRuleState = original.DataMaskingRuleStateDisabled + DataMaskingRuleStateEnabled DataMaskingRuleState = original.DataMaskingRuleStateEnabled +) + +type DataMaskingState = original.DataMaskingState + +const ( + DataMaskingStateDisabled DataMaskingState = original.DataMaskingStateDisabled + DataMaskingStateEnabled DataMaskingState = original.DataMaskingStateEnabled ) type DatabaseEdition = original.DatabaseEdition @@ -71,6 +129,37 @@ const ( Web DatabaseEdition = original.Web ) +type DisasterRecoveryConfigurationAutoFailover = original.DisasterRecoveryConfigurationAutoFailover + +const ( + Off DisasterRecoveryConfigurationAutoFailover = original.Off + On DisasterRecoveryConfigurationAutoFailover = original.On +) + +type DisasterRecoveryConfigurationFailoverPolicy = original.DisasterRecoveryConfigurationFailoverPolicy + +const ( + Automatic DisasterRecoveryConfigurationFailoverPolicy = original.Automatic + Manual DisasterRecoveryConfigurationFailoverPolicy = original.Manual +) + +type DisasterRecoveryConfigurationRole = original.DisasterRecoveryConfigurationRole + +const ( + None DisasterRecoveryConfigurationRole = original.None + Primary DisasterRecoveryConfigurationRole = original.Primary + Secondary DisasterRecoveryConfigurationRole = original.Secondary +) + +type DisasterRecoveryConfigurationStatus = original.DisasterRecoveryConfigurationStatus + +const ( + Creating DisasterRecoveryConfigurationStatus = original.Creating + Dropping DisasterRecoveryConfigurationStatus = original.Dropping + FailingOver DisasterRecoveryConfigurationStatus = original.FailingOver + Ready DisasterRecoveryConfigurationStatus = original.Ready +) + type ElasticPoolEdition = original.ElasticPoolEdition const ( @@ -84,9 +173,79 @@ const ( type ElasticPoolState = original.ElasticPoolState const ( - Creating ElasticPoolState = original.Creating - Disabled ElasticPoolState = original.Disabled - Ready ElasticPoolState = original.Ready + ElasticPoolStateCreating ElasticPoolState = original.ElasticPoolStateCreating + ElasticPoolStateDisabled ElasticPoolState = original.ElasticPoolStateDisabled + ElasticPoolStateReady ElasticPoolState = original.ElasticPoolStateReady +) + +type GeoBackupPolicyState = original.GeoBackupPolicyState + +const ( + GeoBackupPolicyStateDisabled GeoBackupPolicyState = original.GeoBackupPolicyStateDisabled + GeoBackupPolicyStateEnabled GeoBackupPolicyState = original.GeoBackupPolicyStateEnabled +) + +type MaxSizeUnits = original.MaxSizeUnits + +const ( + Gigabytes MaxSizeUnits = original.Gigabytes + Megabytes MaxSizeUnits = original.Megabytes + Petabytes MaxSizeUnits = original.Petabytes + Terabytes MaxSizeUnits = original.Terabytes +) + +type PerformanceLevelUnit = original.PerformanceLevelUnit + +const ( + DTU PerformanceLevelUnit = original.DTU +) + +type PrimaryAggregationType = original.PrimaryAggregationType + +const ( + PrimaryAggregationTypeAverage PrimaryAggregationType = original.PrimaryAggregationTypeAverage + PrimaryAggregationTypeCount PrimaryAggregationType = original.PrimaryAggregationTypeCount + PrimaryAggregationTypeMaximum PrimaryAggregationType = original.PrimaryAggregationTypeMaximum + PrimaryAggregationTypeMinimum PrimaryAggregationType = original.PrimaryAggregationTypeMinimum + PrimaryAggregationTypeNone PrimaryAggregationType = original.PrimaryAggregationTypeNone + PrimaryAggregationTypeTotal PrimaryAggregationType = original.PrimaryAggregationTypeTotal +) + +type QueryAggregationFunction = original.QueryAggregationFunction + +const ( + Avg QueryAggregationFunction = original.Avg + Max QueryAggregationFunction = original.Max + Min QueryAggregationFunction = original.Min + Sum QueryAggregationFunction = original.Sum +) + +type QueryExecutionType = original.QueryExecutionType + +const ( + Aborted QueryExecutionType = original.Aborted + Any QueryExecutionType = original.Any + Exception QueryExecutionType = original.Exception + Irregular QueryExecutionType = original.Irregular + Regular QueryExecutionType = original.Regular +) + +type QueryMetricUnit = original.QueryMetricUnit + +const ( + KB QueryMetricUnit = original.KB + Microseconds QueryMetricUnit = original.Microseconds + Percentage QueryMetricUnit = original.Percentage +) + +type QueryObservedMetricType = original.QueryObservedMetricType + +const ( + CPU QueryObservedMetricType = original.CPU + Duration QueryObservedMetricType = original.Duration + ExecutionCount QueryObservedMetricType = original.ExecutionCount + Io QueryObservedMetricType = original.Io + Logio QueryObservedMetricType = original.Logio ) type ReadScale = original.ReadScale @@ -148,6 +307,13 @@ const ( SUSPENDED ReplicationState = original.SUSPENDED ) +type RestorePointType = original.RestorePointType + +const ( + CONTINUOUS RestorePointType = original.CONTINUOUS + DISCRETE RestorePointType = original.DISCRETE +) + type SampleName = original.SampleName const ( @@ -176,6 +342,28 @@ const ( SecurityAlertPolicyUseServerDefaultEnabled SecurityAlertPolicyUseServerDefault = original.SecurityAlertPolicyUseServerDefaultEnabled ) +type ServerConnectionType = original.ServerConnectionType + +const ( + ServerConnectionTypeDefault ServerConnectionType = original.ServerConnectionTypeDefault + ServerConnectionTypeProxy ServerConnectionType = original.ServerConnectionTypeProxy + ServerConnectionTypeRedirect ServerConnectionType = original.ServerConnectionTypeRedirect +) + +type ServerState = original.ServerState + +const ( + ServerStateDisabled ServerState = original.ServerStateDisabled + ServerStateReady ServerState = original.ServerStateReady +) + +type ServerVersion = original.ServerVersion + +const ( + OneTwoFullStopZero ServerVersion = original.OneTwoFullStopZero + TwoFullStopZero ServerVersion = original.TwoFullStopZero +) + type ServiceObjectiveName = original.ServiceObjectiveName const ( @@ -267,16 +455,70 @@ const ( TransparentDataEncryptionStatusEnabled TransparentDataEncryptionStatus = original.TransparentDataEncryptionStatusEnabled ) +type UnitDefinitionType = original.UnitDefinitionType + +const ( + Bytes UnitDefinitionType = original.Bytes + BytesPerSecond UnitDefinitionType = original.BytesPerSecond + Count UnitDefinitionType = original.Count + CountPerSecond UnitDefinitionType = original.CountPerSecond + Percent UnitDefinitionType = original.Percent + Seconds UnitDefinitionType = original.Seconds +) + +type UnitType = original.UnitType + +const ( + UnitTypeBytes UnitType = original.UnitTypeBytes + UnitTypeBytesPerSecond UnitType = original.UnitTypeBytesPerSecond + UnitTypeCount UnitType = original.UnitTypeCount + UnitTypeCountPerSecond UnitType = original.UnitTypeCountPerSecond + UnitTypePercent UnitType = original.UnitTypePercent + UnitTypeSeconds UnitType = original.UnitTypeSeconds +) + +type Advisor = original.Advisor +type AdvisorListResult = original.AdvisorListResult +type AdvisorProperties = original.AdvisorProperties +type BackupLongTermRetentionPoliciesClient = original.BackupLongTermRetentionPoliciesClient +type BackupLongTermRetentionPoliciesCreateOrUpdateFuture = original.BackupLongTermRetentionPoliciesCreateOrUpdateFuture +type BackupLongTermRetentionPolicy = original.BackupLongTermRetentionPolicy +type BackupLongTermRetentionPolicyListResult = original.BackupLongTermRetentionPolicyListResult +type BackupLongTermRetentionPolicyProperties = original.BackupLongTermRetentionPolicyProperties +type BackupLongTermRetentionVault = original.BackupLongTermRetentionVault +type BackupLongTermRetentionVaultListResult = original.BackupLongTermRetentionVaultListResult +type BackupLongTermRetentionVaultProperties = original.BackupLongTermRetentionVaultProperties +type BackupLongTermRetentionVaultsClient = original.BackupLongTermRetentionVaultsClient +type BackupLongTermRetentionVaultsCreateOrUpdateFuture = original.BackupLongTermRetentionVaultsCreateOrUpdateFuture type BaseClient = original.BaseClient +type CapabilitiesClient = original.CapabilitiesClient type CheckNameAvailabilityRequest = original.CheckNameAvailabilityRequest type CheckNameAvailabilityResponse = original.CheckNameAvailabilityResponse +type DataMaskingPoliciesClient = original.DataMaskingPoliciesClient +type DataMaskingPolicy = original.DataMaskingPolicy +type DataMaskingPolicyProperties = original.DataMaskingPolicyProperties +type DataMaskingRule = original.DataMaskingRule +type DataMaskingRuleListResult = original.DataMaskingRuleListResult +type DataMaskingRuleProperties = original.DataMaskingRuleProperties +type DataMaskingRulesClient = original.DataMaskingRulesClient type Database = original.Database +type DatabaseAdvisorsClient = original.DatabaseAdvisorsClient +type DatabaseConnectionPoliciesClient = original.DatabaseConnectionPoliciesClient +type DatabaseConnectionPolicy = original.DatabaseConnectionPolicy +type DatabaseConnectionPolicyProperties = original.DatabaseConnectionPolicyProperties type DatabaseListResult = original.DatabaseListResult type DatabaseProperties = original.DatabaseProperties type DatabaseSecurityAlertPolicy = original.DatabaseSecurityAlertPolicy type DatabaseSecurityAlertPolicyProperties = original.DatabaseSecurityAlertPolicyProperties +type DatabaseTableAuditingPoliciesClient = original.DatabaseTableAuditingPoliciesClient +type DatabaseTableAuditingPolicy = original.DatabaseTableAuditingPolicy +type DatabaseTableAuditingPolicyListResult = original.DatabaseTableAuditingPolicyListResult +type DatabaseTableAuditingPolicyProperties = original.DatabaseTableAuditingPolicyProperties type DatabaseThreatDetectionPoliciesClient = original.DatabaseThreatDetectionPoliciesClient type DatabaseUpdate = original.DatabaseUpdate +type DatabaseUsage = original.DatabaseUsage +type DatabaseUsageListResult = original.DatabaseUsageListResult +type DatabaseUsagesClient = original.DatabaseUsagesClient type DatabasesClient = original.DatabasesClient type DatabasesCreateImportOperationFuture = original.DatabasesCreateImportOperationFuture type DatabasesCreateOrUpdateFuture = original.DatabasesCreateOrUpdateFuture @@ -285,6 +527,15 @@ type DatabasesImportFuture = original.DatabasesImportFuture type DatabasesPauseFuture = original.DatabasesPauseFuture type DatabasesResumeFuture = original.DatabasesResumeFuture type DatabasesUpdateFuture = original.DatabasesUpdateFuture +type DisasterRecoveryConfiguration = original.DisasterRecoveryConfiguration +type DisasterRecoveryConfigurationListResult = original.DisasterRecoveryConfigurationListResult +type DisasterRecoveryConfigurationProperties = original.DisasterRecoveryConfigurationProperties +type DisasterRecoveryConfigurationsClient = original.DisasterRecoveryConfigurationsClient +type DisasterRecoveryConfigurationsCreateOrUpdateFuture = original.DisasterRecoveryConfigurationsCreateOrUpdateFuture +type DisasterRecoveryConfigurationsDeleteFuture = original.DisasterRecoveryConfigurationsDeleteFuture +type DisasterRecoveryConfigurationsFailoverAllowDataLossFuture = original.DisasterRecoveryConfigurationsFailoverAllowDataLossFuture +type DisasterRecoveryConfigurationsFailoverFuture = original.DisasterRecoveryConfigurationsFailoverFuture +type EditionCapability = original.EditionCapability type ElasticPool = original.ElasticPool type ElasticPoolActivitiesClient = original.ElasticPoolActivitiesClient type ElasticPoolActivity = original.ElasticPoolActivity @@ -294,24 +545,57 @@ type ElasticPoolDatabaseActivitiesClient = original.ElasticPoolDatabaseActivitie type ElasticPoolDatabaseActivity = original.ElasticPoolDatabaseActivity type ElasticPoolDatabaseActivityListResult = original.ElasticPoolDatabaseActivityListResult type ElasticPoolDatabaseActivityProperties = original.ElasticPoolDatabaseActivityProperties +type ElasticPoolDtuCapability = original.ElasticPoolDtuCapability +type ElasticPoolEditionCapability = original.ElasticPoolEditionCapability type ElasticPoolListResult = original.ElasticPoolListResult +type ElasticPoolPerDatabaseMaxDtuCapability = original.ElasticPoolPerDatabaseMaxDtuCapability +type ElasticPoolPerDatabaseMinDtuCapability = original.ElasticPoolPerDatabaseMinDtuCapability type ElasticPoolProperties = original.ElasticPoolProperties type ElasticPoolUpdate = original.ElasticPoolUpdate type ElasticPoolsClient = original.ElasticPoolsClient type ElasticPoolsCreateOrUpdateFuture = original.ElasticPoolsCreateOrUpdateFuture type ElasticPoolsUpdateFuture = original.ElasticPoolsUpdateFuture type ExportRequest = original.ExportRequest +type ExtensionListResult = original.ExtensionListResult +type ExtensionsClient = original.ExtensionsClient type FirewallRule = original.FirewallRule type FirewallRuleListResult = original.FirewallRuleListResult type FirewallRuleProperties = original.FirewallRuleProperties type FirewallRulesClient = original.FirewallRulesClient +type GeoBackupPoliciesClient = original.GeoBackupPoliciesClient +type GeoBackupPolicy = original.GeoBackupPolicy +type GeoBackupPolicyListResult = original.GeoBackupPolicyListResult +type GeoBackupPolicyProperties = original.GeoBackupPolicyProperties type ImportExportResponse = original.ImportExportResponse type ImportExportResponseProperties = original.ImportExportResponseProperties type ImportExtensionProperties = original.ImportExtensionProperties type ImportExtensionRequest = original.ImportExtensionRequest type ImportRequest = original.ImportRequest +type LocationCapabilities = original.LocationCapabilities +type MaxSizeCapability = original.MaxSizeCapability +type Metric = original.Metric +type MetricAvailability = original.MetricAvailability +type MetricDefinition = original.MetricDefinition +type MetricDefinitionListResult = original.MetricDefinitionListResult +type MetricListResult = original.MetricListResult +type MetricName = original.MetricName +type MetricValue = original.MetricValue +type Operation = original.Operation +type OperationDisplay = original.OperationDisplay type OperationImpact = original.OperationImpact +type OperationListResult = original.OperationListResult +type OperationsClient = original.OperationsClient +type PerformanceLevel = original.PerformanceLevel type ProxyResource = original.ProxyResource +type QueriesClient = original.QueriesClient +type QueryInterval = original.QueryInterval +type QueryMetric = original.QueryMetric +type QueryStatistic = original.QueryStatistic +type QueryStatisticListResult = original.QueryStatisticListResult +type QueryStatisticsClient = original.QueryStatisticsClient +type QueryText = original.QueryText +type QueryTextListResult = original.QueryTextListResult +type QueryTextsClient = original.QueryTextsClient type RecommendedElasticPool = original.RecommendedElasticPool type RecommendedElasticPoolListMetricsResult = original.RecommendedElasticPoolListMetricsResult type RecommendedElasticPoolListResult = original.RecommendedElasticPoolListResult @@ -320,6 +604,10 @@ type RecommendedElasticPoolProperties = original.RecommendedElasticPoolPropertie type RecommendedElasticPoolsClient = original.RecommendedElasticPoolsClient type RecommendedIndex = original.RecommendedIndex type RecommendedIndexProperties = original.RecommendedIndexProperties +type RecoverableDatabase = original.RecoverableDatabase +type RecoverableDatabaseListResult = original.RecoverableDatabaseListResult +type RecoverableDatabaseProperties = original.RecoverableDatabaseProperties +type RecoverableDatabasesClient = original.RecoverableDatabasesClient type ReplicationLink = original.ReplicationLink type ReplicationLinkListResult = original.ReplicationLinkListResult type ReplicationLinkProperties = original.ReplicationLinkProperties @@ -327,36 +615,141 @@ type ReplicationLinksClient = original.ReplicationLinksClient type ReplicationLinksFailoverAllowDataLossFuture = original.ReplicationLinksFailoverAllowDataLossFuture type ReplicationLinksFailoverFuture = original.ReplicationLinksFailoverFuture type Resource = original.Resource +type RestorableDroppedDatabase = original.RestorableDroppedDatabase +type RestorableDroppedDatabaseListResult = original.RestorableDroppedDatabaseListResult +type RestorableDroppedDatabaseProperties = original.RestorableDroppedDatabaseProperties +type RestorableDroppedDatabasesClient = original.RestorableDroppedDatabasesClient +type RestorePoint = original.RestorePoint +type RestorePointListResult = original.RestorePointListResult +type RestorePointProperties = original.RestorePointProperties +type RestorePointsClient = original.RestorePointsClient +type Server = original.Server +type ServerAdministratorListResult = original.ServerAdministratorListResult +type ServerAdministratorProperties = original.ServerAdministratorProperties +type ServerAdvisorsClient = original.ServerAdvisorsClient +type ServerAzureADAdministrator = original.ServerAzureADAdministrator +type ServerAzureADAdministratorsClient = original.ServerAzureADAdministratorsClient +type ServerAzureADAdministratorsCreateOrUpdateFuture = original.ServerAzureADAdministratorsCreateOrUpdateFuture +type ServerAzureADAdministratorsDeleteFuture = original.ServerAzureADAdministratorsDeleteFuture +type ServerCommunicationLink = original.ServerCommunicationLink +type ServerCommunicationLinkListResult = original.ServerCommunicationLinkListResult +type ServerCommunicationLinkProperties = original.ServerCommunicationLinkProperties +type ServerCommunicationLinksClient = original.ServerCommunicationLinksClient +type ServerCommunicationLinksCreateOrUpdateFuture = original.ServerCommunicationLinksCreateOrUpdateFuture +type ServerConnectionPoliciesClient = original.ServerConnectionPoliciesClient +type ServerConnectionPolicy = original.ServerConnectionPolicy +type ServerConnectionPolicyProperties = original.ServerConnectionPolicyProperties +type ServerListResult = original.ServerListResult +type ServerProperties = original.ServerProperties +type ServerTableAuditingPoliciesClient = original.ServerTableAuditingPoliciesClient +type ServerTableAuditingPolicy = original.ServerTableAuditingPolicy +type ServerTableAuditingPolicyListResult = original.ServerTableAuditingPolicyListResult +type ServerTableAuditingPolicyProperties = original.ServerTableAuditingPolicyProperties +type ServerUpdate = original.ServerUpdate +type ServerUsage = original.ServerUsage +type ServerUsageListResult = original.ServerUsageListResult +type ServerUsagesClient = original.ServerUsagesClient +type ServerVersionCapability = original.ServerVersionCapability type ServersClient = original.ServersClient +type ServiceObjective = original.ServiceObjective +type ServiceObjectiveCapability = original.ServiceObjectiveCapability +type ServiceObjectiveListResult = original.ServiceObjectiveListResult +type ServiceObjectiveProperties = original.ServiceObjectiveProperties +type ServiceObjectivesClient = original.ServiceObjectivesClient type ServiceTierAdvisor = original.ServiceTierAdvisor type ServiceTierAdvisorListResult = original.ServiceTierAdvisorListResult type ServiceTierAdvisorProperties = original.ServiceTierAdvisorProperties type ServiceTierAdvisorsClient = original.ServiceTierAdvisorsClient type SloUsageMetric = original.SloUsageMetric +type TableAuditingPolicyProperties = original.TableAuditingPolicyProperties +type TopQueries = original.TopQueries +type TopQueriesListResult = original.TopQueriesListResult type TrackedResource = original.TrackedResource type TransparentDataEncryption = original.TransparentDataEncryption type TransparentDataEncryptionActivitiesClient = original.TransparentDataEncryptionActivitiesClient type TransparentDataEncryptionActivity = original.TransparentDataEncryptionActivity type TransparentDataEncryptionActivityListResult = original.TransparentDataEncryptionActivityListResult type TransparentDataEncryptionActivityProperties = original.TransparentDataEncryptionActivityProperties +type TransparentDataEncryptionConfigurationsClient = original.TransparentDataEncryptionConfigurationsClient +type TransparentDataEncryptionListResult = original.TransparentDataEncryptionListResult type TransparentDataEncryptionProperties = original.TransparentDataEncryptionProperties type TransparentDataEncryptionsClient = original.TransparentDataEncryptionsClient func New(subscriptionID string) BaseClient { return original.New(subscriptionID) } +func NewBackupLongTermRetentionPoliciesClient(subscriptionID string) BackupLongTermRetentionPoliciesClient { + return original.NewBackupLongTermRetentionPoliciesClient(subscriptionID) +} +func NewBackupLongTermRetentionPoliciesClientWithBaseURI(baseURI string, subscriptionID string) BackupLongTermRetentionPoliciesClient { + return original.NewBackupLongTermRetentionPoliciesClientWithBaseURI(baseURI, subscriptionID) +} +func NewBackupLongTermRetentionVaultsClient(subscriptionID string) BackupLongTermRetentionVaultsClient { + return original.NewBackupLongTermRetentionVaultsClient(subscriptionID) +} +func NewBackupLongTermRetentionVaultsClientWithBaseURI(baseURI string, subscriptionID string) BackupLongTermRetentionVaultsClient { + return original.NewBackupLongTermRetentionVaultsClientWithBaseURI(baseURI, subscriptionID) +} +func NewCapabilitiesClient(subscriptionID string) CapabilitiesClient { + return original.NewCapabilitiesClient(subscriptionID) +} +func NewCapabilitiesClientWithBaseURI(baseURI string, subscriptionID string) CapabilitiesClient { + return original.NewCapabilitiesClientWithBaseURI(baseURI, subscriptionID) +} +func NewDataMaskingPoliciesClient(subscriptionID string) DataMaskingPoliciesClient { + return original.NewDataMaskingPoliciesClient(subscriptionID) +} +func NewDataMaskingPoliciesClientWithBaseURI(baseURI string, subscriptionID string) DataMaskingPoliciesClient { + return original.NewDataMaskingPoliciesClientWithBaseURI(baseURI, subscriptionID) +} +func NewDataMaskingRulesClient(subscriptionID string) DataMaskingRulesClient { + return original.NewDataMaskingRulesClient(subscriptionID) +} +func NewDataMaskingRulesClientWithBaseURI(baseURI string, subscriptionID string) DataMaskingRulesClient { + return original.NewDataMaskingRulesClientWithBaseURI(baseURI, subscriptionID) +} +func NewDatabaseAdvisorsClient(subscriptionID string) DatabaseAdvisorsClient { + return original.NewDatabaseAdvisorsClient(subscriptionID) +} +func NewDatabaseAdvisorsClientWithBaseURI(baseURI string, subscriptionID string) DatabaseAdvisorsClient { + return original.NewDatabaseAdvisorsClientWithBaseURI(baseURI, subscriptionID) +} +func NewDatabaseConnectionPoliciesClient(subscriptionID string) DatabaseConnectionPoliciesClient { + return original.NewDatabaseConnectionPoliciesClient(subscriptionID) +} +func NewDatabaseConnectionPoliciesClientWithBaseURI(baseURI string, subscriptionID string) DatabaseConnectionPoliciesClient { + return original.NewDatabaseConnectionPoliciesClientWithBaseURI(baseURI, subscriptionID) +} +func NewDatabaseTableAuditingPoliciesClient(subscriptionID string) DatabaseTableAuditingPoliciesClient { + return original.NewDatabaseTableAuditingPoliciesClient(subscriptionID) +} +func NewDatabaseTableAuditingPoliciesClientWithBaseURI(baseURI string, subscriptionID string) DatabaseTableAuditingPoliciesClient { + return original.NewDatabaseTableAuditingPoliciesClientWithBaseURI(baseURI, subscriptionID) +} func NewDatabaseThreatDetectionPoliciesClient(subscriptionID string) DatabaseThreatDetectionPoliciesClient { return original.NewDatabaseThreatDetectionPoliciesClient(subscriptionID) } func NewDatabaseThreatDetectionPoliciesClientWithBaseURI(baseURI string, subscriptionID string) DatabaseThreatDetectionPoliciesClient { return original.NewDatabaseThreatDetectionPoliciesClientWithBaseURI(baseURI, subscriptionID) } +func NewDatabaseUsagesClient(subscriptionID string) DatabaseUsagesClient { + return original.NewDatabaseUsagesClient(subscriptionID) +} +func NewDatabaseUsagesClientWithBaseURI(baseURI string, subscriptionID string) DatabaseUsagesClient { + return original.NewDatabaseUsagesClientWithBaseURI(baseURI, subscriptionID) +} func NewDatabasesClient(subscriptionID string) DatabasesClient { return original.NewDatabasesClient(subscriptionID) } func NewDatabasesClientWithBaseURI(baseURI string, subscriptionID string) DatabasesClient { return original.NewDatabasesClientWithBaseURI(baseURI, subscriptionID) } +func NewDisasterRecoveryConfigurationsClient(subscriptionID string) DisasterRecoveryConfigurationsClient { + return original.NewDisasterRecoveryConfigurationsClient(subscriptionID) +} +func NewDisasterRecoveryConfigurationsClientWithBaseURI(baseURI string, subscriptionID string) DisasterRecoveryConfigurationsClient { + return original.NewDisasterRecoveryConfigurationsClientWithBaseURI(baseURI, subscriptionID) +} func NewElasticPoolActivitiesClient(subscriptionID string) ElasticPoolActivitiesClient { return original.NewElasticPoolActivitiesClient(subscriptionID) } @@ -375,30 +768,126 @@ func NewElasticPoolsClient(subscriptionID string) ElasticPoolsClient { func NewElasticPoolsClientWithBaseURI(baseURI string, subscriptionID string) ElasticPoolsClient { return original.NewElasticPoolsClientWithBaseURI(baseURI, subscriptionID) } +func NewExtensionsClient(subscriptionID string) ExtensionsClient { + return original.NewExtensionsClient(subscriptionID) +} +func NewExtensionsClientWithBaseURI(baseURI string, subscriptionID string) ExtensionsClient { + return original.NewExtensionsClientWithBaseURI(baseURI, subscriptionID) +} func NewFirewallRulesClient(subscriptionID string) FirewallRulesClient { return original.NewFirewallRulesClient(subscriptionID) } func NewFirewallRulesClientWithBaseURI(baseURI string, subscriptionID string) FirewallRulesClient { return original.NewFirewallRulesClientWithBaseURI(baseURI, subscriptionID) } +func NewGeoBackupPoliciesClient(subscriptionID string) GeoBackupPoliciesClient { + return original.NewGeoBackupPoliciesClient(subscriptionID) +} +func NewGeoBackupPoliciesClientWithBaseURI(baseURI string, subscriptionID string) GeoBackupPoliciesClient { + return original.NewGeoBackupPoliciesClientWithBaseURI(baseURI, subscriptionID) +} +func NewOperationsClient(subscriptionID string) OperationsClient { + return original.NewOperationsClient(subscriptionID) +} +func NewOperationsClientWithBaseURI(baseURI string, subscriptionID string) OperationsClient { + return original.NewOperationsClientWithBaseURI(baseURI, subscriptionID) +} +func NewQueriesClient(subscriptionID string) QueriesClient { + return original.NewQueriesClient(subscriptionID) +} +func NewQueriesClientWithBaseURI(baseURI string, subscriptionID string) QueriesClient { + return original.NewQueriesClientWithBaseURI(baseURI, subscriptionID) +} +func NewQueryStatisticsClient(subscriptionID string) QueryStatisticsClient { + return original.NewQueryStatisticsClient(subscriptionID) +} +func NewQueryStatisticsClientWithBaseURI(baseURI string, subscriptionID string) QueryStatisticsClient { + return original.NewQueryStatisticsClientWithBaseURI(baseURI, subscriptionID) +} +func NewQueryTextsClient(subscriptionID string) QueryTextsClient { + return original.NewQueryTextsClient(subscriptionID) +} +func NewQueryTextsClientWithBaseURI(baseURI string, subscriptionID string) QueryTextsClient { + return original.NewQueryTextsClientWithBaseURI(baseURI, subscriptionID) +} func NewRecommendedElasticPoolsClient(subscriptionID string) RecommendedElasticPoolsClient { return original.NewRecommendedElasticPoolsClient(subscriptionID) } func NewRecommendedElasticPoolsClientWithBaseURI(baseURI string, subscriptionID string) RecommendedElasticPoolsClient { return original.NewRecommendedElasticPoolsClientWithBaseURI(baseURI, subscriptionID) } +func NewRecoverableDatabasesClient(subscriptionID string) RecoverableDatabasesClient { + return original.NewRecoverableDatabasesClient(subscriptionID) +} +func NewRecoverableDatabasesClientWithBaseURI(baseURI string, subscriptionID string) RecoverableDatabasesClient { + return original.NewRecoverableDatabasesClientWithBaseURI(baseURI, subscriptionID) +} func NewReplicationLinksClient(subscriptionID string) ReplicationLinksClient { return original.NewReplicationLinksClient(subscriptionID) } func NewReplicationLinksClientWithBaseURI(baseURI string, subscriptionID string) ReplicationLinksClient { return original.NewReplicationLinksClientWithBaseURI(baseURI, subscriptionID) } +func NewRestorableDroppedDatabasesClient(subscriptionID string) RestorableDroppedDatabasesClient { + return original.NewRestorableDroppedDatabasesClient(subscriptionID) +} +func NewRestorableDroppedDatabasesClientWithBaseURI(baseURI string, subscriptionID string) RestorableDroppedDatabasesClient { + return original.NewRestorableDroppedDatabasesClientWithBaseURI(baseURI, subscriptionID) +} +func NewRestorePointsClient(subscriptionID string) RestorePointsClient { + return original.NewRestorePointsClient(subscriptionID) +} +func NewRestorePointsClientWithBaseURI(baseURI string, subscriptionID string) RestorePointsClient { + return original.NewRestorePointsClientWithBaseURI(baseURI, subscriptionID) +} +func NewServerAdvisorsClient(subscriptionID string) ServerAdvisorsClient { + return original.NewServerAdvisorsClient(subscriptionID) +} +func NewServerAdvisorsClientWithBaseURI(baseURI string, subscriptionID string) ServerAdvisorsClient { + return original.NewServerAdvisorsClientWithBaseURI(baseURI, subscriptionID) +} +func NewServerAzureADAdministratorsClient(subscriptionID string) ServerAzureADAdministratorsClient { + return original.NewServerAzureADAdministratorsClient(subscriptionID) +} +func NewServerAzureADAdministratorsClientWithBaseURI(baseURI string, subscriptionID string) ServerAzureADAdministratorsClient { + return original.NewServerAzureADAdministratorsClientWithBaseURI(baseURI, subscriptionID) +} +func NewServerCommunicationLinksClient(subscriptionID string) ServerCommunicationLinksClient { + return original.NewServerCommunicationLinksClient(subscriptionID) +} +func NewServerCommunicationLinksClientWithBaseURI(baseURI string, subscriptionID string) ServerCommunicationLinksClient { + return original.NewServerCommunicationLinksClientWithBaseURI(baseURI, subscriptionID) +} +func NewServerConnectionPoliciesClient(subscriptionID string) ServerConnectionPoliciesClient { + return original.NewServerConnectionPoliciesClient(subscriptionID) +} +func NewServerConnectionPoliciesClientWithBaseURI(baseURI string, subscriptionID string) ServerConnectionPoliciesClient { + return original.NewServerConnectionPoliciesClientWithBaseURI(baseURI, subscriptionID) +} +func NewServerTableAuditingPoliciesClient(subscriptionID string) ServerTableAuditingPoliciesClient { + return original.NewServerTableAuditingPoliciesClient(subscriptionID) +} +func NewServerTableAuditingPoliciesClientWithBaseURI(baseURI string, subscriptionID string) ServerTableAuditingPoliciesClient { + return original.NewServerTableAuditingPoliciesClientWithBaseURI(baseURI, subscriptionID) +} +func NewServerUsagesClient(subscriptionID string) ServerUsagesClient { + return original.NewServerUsagesClient(subscriptionID) +} +func NewServerUsagesClientWithBaseURI(baseURI string, subscriptionID string) ServerUsagesClient { + return original.NewServerUsagesClientWithBaseURI(baseURI, subscriptionID) +} func NewServersClient(subscriptionID string) ServersClient { return original.NewServersClient(subscriptionID) } func NewServersClientWithBaseURI(baseURI string, subscriptionID string) ServersClient { return original.NewServersClientWithBaseURI(baseURI, subscriptionID) } +func NewServiceObjectivesClient(subscriptionID string) ServiceObjectivesClient { + return original.NewServiceObjectivesClient(subscriptionID) +} +func NewServiceObjectivesClientWithBaseURI(baseURI string, subscriptionID string) ServiceObjectivesClient { + return original.NewServiceObjectivesClientWithBaseURI(baseURI, subscriptionID) +} func NewServiceTierAdvisorsClient(subscriptionID string) ServiceTierAdvisorsClient { return original.NewServiceTierAdvisorsClient(subscriptionID) } @@ -411,6 +900,12 @@ func NewTransparentDataEncryptionActivitiesClient(subscriptionID string) Transpa func NewTransparentDataEncryptionActivitiesClientWithBaseURI(baseURI string, subscriptionID string) TransparentDataEncryptionActivitiesClient { return original.NewTransparentDataEncryptionActivitiesClientWithBaseURI(baseURI, subscriptionID) } +func NewTransparentDataEncryptionConfigurationsClient(subscriptionID string) TransparentDataEncryptionConfigurationsClient { + return original.NewTransparentDataEncryptionConfigurationsClient(subscriptionID) +} +func NewTransparentDataEncryptionConfigurationsClientWithBaseURI(baseURI string, subscriptionID string) TransparentDataEncryptionConfigurationsClient { + return original.NewTransparentDataEncryptionConfigurationsClientWithBaseURI(baseURI, subscriptionID) +} func NewTransparentDataEncryptionsClient(subscriptionID string) TransparentDataEncryptionsClient { return original.NewTransparentDataEncryptionsClient(subscriptionID) } @@ -420,24 +915,81 @@ func NewTransparentDataEncryptionsClientWithBaseURI(baseURI string, subscription func NewWithBaseURI(baseURI string, subscriptionID string) BaseClient { return original.NewWithBaseURI(baseURI, subscriptionID) } +func PossibleAdvisorStatusValues() []AdvisorStatus { + return original.PossibleAdvisorStatusValues() +} func PossibleAuthenticationTypeValues() []AuthenticationType { return original.PossibleAuthenticationTypeValues() } +func PossibleAutoExecuteStatusValues() []AutoExecuteStatus { + return original.PossibleAutoExecuteStatusValues() +} +func PossibleBackupLongTermRetentionPolicyStateValues() []BackupLongTermRetentionPolicyState { + return original.PossibleBackupLongTermRetentionPolicyStateValues() +} +func PossibleCapabilityStatusValues() []CapabilityStatus { + return original.PossibleCapabilityStatusValues() +} func PossibleCheckNameAvailabilityReasonValues() []CheckNameAvailabilityReason { return original.PossibleCheckNameAvailabilityReasonValues() } func PossibleCreateModeValues() []CreateMode { return original.PossibleCreateModeValues() } +func PossibleDataMaskingFunctionValues() []DataMaskingFunction { + return original.PossibleDataMaskingFunctionValues() +} +func PossibleDataMaskingRuleStateValues() []DataMaskingRuleState { + return original.PossibleDataMaskingRuleStateValues() +} +func PossibleDataMaskingStateValues() []DataMaskingState { + return original.PossibleDataMaskingStateValues() +} func PossibleDatabaseEditionValues() []DatabaseEdition { return original.PossibleDatabaseEditionValues() } +func PossibleDisasterRecoveryConfigurationAutoFailoverValues() []DisasterRecoveryConfigurationAutoFailover { + return original.PossibleDisasterRecoveryConfigurationAutoFailoverValues() +} +func PossibleDisasterRecoveryConfigurationFailoverPolicyValues() []DisasterRecoveryConfigurationFailoverPolicy { + return original.PossibleDisasterRecoveryConfigurationFailoverPolicyValues() +} +func PossibleDisasterRecoveryConfigurationRoleValues() []DisasterRecoveryConfigurationRole { + return original.PossibleDisasterRecoveryConfigurationRoleValues() +} +func PossibleDisasterRecoveryConfigurationStatusValues() []DisasterRecoveryConfigurationStatus { + return original.PossibleDisasterRecoveryConfigurationStatusValues() +} func PossibleElasticPoolEditionValues() []ElasticPoolEdition { return original.PossibleElasticPoolEditionValues() } func PossibleElasticPoolStateValues() []ElasticPoolState { return original.PossibleElasticPoolStateValues() } +func PossibleGeoBackupPolicyStateValues() []GeoBackupPolicyState { + return original.PossibleGeoBackupPolicyStateValues() +} +func PossibleMaxSizeUnitsValues() []MaxSizeUnits { + return original.PossibleMaxSizeUnitsValues() +} +func PossiblePerformanceLevelUnitValues() []PerformanceLevelUnit { + return original.PossiblePerformanceLevelUnitValues() +} +func PossiblePrimaryAggregationTypeValues() []PrimaryAggregationType { + return original.PossiblePrimaryAggregationTypeValues() +} +func PossibleQueryAggregationFunctionValues() []QueryAggregationFunction { + return original.PossibleQueryAggregationFunctionValues() +} +func PossibleQueryExecutionTypeValues() []QueryExecutionType { + return original.PossibleQueryExecutionTypeValues() +} +func PossibleQueryMetricUnitValues() []QueryMetricUnit { + return original.PossibleQueryMetricUnitValues() +} +func PossibleQueryObservedMetricTypeValues() []QueryObservedMetricType { + return original.PossibleQueryObservedMetricTypeValues() +} func PossibleReadScaleValues() []ReadScale { return original.PossibleReadScaleValues() } @@ -456,6 +1008,9 @@ func PossibleReplicationRoleValues() []ReplicationRole { func PossibleReplicationStateValues() []ReplicationState { return original.PossibleReplicationStateValues() } +func PossibleRestorePointTypeValues() []RestorePointType { + return original.PossibleRestorePointTypeValues() +} func PossibleSampleNameValues() []SampleName { return original.PossibleSampleNameValues() } @@ -468,6 +1023,15 @@ func PossibleSecurityAlertPolicyStateValues() []SecurityAlertPolicyState { func PossibleSecurityAlertPolicyUseServerDefaultValues() []SecurityAlertPolicyUseServerDefault { return original.PossibleSecurityAlertPolicyUseServerDefaultValues() } +func PossibleServerConnectionTypeValues() []ServerConnectionType { + return original.PossibleServerConnectionTypeValues() +} +func PossibleServerStateValues() []ServerState { + return original.PossibleServerStateValues() +} +func PossibleServerVersionValues() []ServerVersion { + return original.PossibleServerVersionValues() +} func PossibleServiceObjectiveNameValues() []ServiceObjectiveName { return original.PossibleServiceObjectiveNameValues() } @@ -480,6 +1044,12 @@ func PossibleTransparentDataEncryptionActivityStatusValues() []TransparentDataEn func PossibleTransparentDataEncryptionStatusValues() []TransparentDataEncryptionStatus { return original.PossibleTransparentDataEncryptionStatusValues() } +func PossibleUnitDefinitionTypeValues() []UnitDefinitionType { + return original.PossibleUnitDefinitionTypeValues() +} +func PossibleUnitTypeValues() []UnitType { + return original.PossibleUnitTypeValues() +} func UserAgent() string { return original.UserAgent() + " profiles/preview" } diff --git a/profiles/preview/sql/mgmt/sql/sqlapi/models.go b/profiles/preview/sql/mgmt/sql/sqlapi/models.go index 8a1a24d93635..d641097b6ea9 100644 --- a/profiles/preview/sql/mgmt/sql/sqlapi/models.go +++ b/profiles/preview/sql/mgmt/sql/sqlapi/models.go @@ -21,15 +21,42 @@ package sqlapi import original "github.com/Azure/azure-sdk-for-go/services/sql/mgmt/2014-04-01/sql/sqlapi" +type BackupLongTermRetentionPoliciesClientAPI = original.BackupLongTermRetentionPoliciesClientAPI +type BackupLongTermRetentionVaultsClientAPI = original.BackupLongTermRetentionVaultsClientAPI +type CapabilitiesClientAPI = original.CapabilitiesClientAPI +type DataMaskingPoliciesClientAPI = original.DataMaskingPoliciesClientAPI +type DataMaskingRulesClientAPI = original.DataMaskingRulesClientAPI +type DatabaseAdvisorsClientAPI = original.DatabaseAdvisorsClientAPI +type DatabaseConnectionPoliciesClientAPI = original.DatabaseConnectionPoliciesClientAPI +type DatabaseTableAuditingPoliciesClientAPI = original.DatabaseTableAuditingPoliciesClientAPI type DatabaseThreatDetectionPoliciesClientAPI = original.DatabaseThreatDetectionPoliciesClientAPI +type DatabaseUsagesClientAPI = original.DatabaseUsagesClientAPI type DatabasesClientAPI = original.DatabasesClientAPI +type DisasterRecoveryConfigurationsClientAPI = original.DisasterRecoveryConfigurationsClientAPI type ElasticPoolActivitiesClientAPI = original.ElasticPoolActivitiesClientAPI type ElasticPoolDatabaseActivitiesClientAPI = original.ElasticPoolDatabaseActivitiesClientAPI type ElasticPoolsClientAPI = original.ElasticPoolsClientAPI +type ExtensionsClientAPI = original.ExtensionsClientAPI type FirewallRulesClientAPI = original.FirewallRulesClientAPI +type GeoBackupPoliciesClientAPI = original.GeoBackupPoliciesClientAPI +type OperationsClientAPI = original.OperationsClientAPI +type QueriesClientAPI = original.QueriesClientAPI +type QueryStatisticsClientAPI = original.QueryStatisticsClientAPI +type QueryTextsClientAPI = original.QueryTextsClientAPI type RecommendedElasticPoolsClientAPI = original.RecommendedElasticPoolsClientAPI +type RecoverableDatabasesClientAPI = original.RecoverableDatabasesClientAPI type ReplicationLinksClientAPI = original.ReplicationLinksClientAPI +type RestorableDroppedDatabasesClientAPI = original.RestorableDroppedDatabasesClientAPI +type RestorePointsClientAPI = original.RestorePointsClientAPI +type ServerAdvisorsClientAPI = original.ServerAdvisorsClientAPI +type ServerAzureADAdministratorsClientAPI = original.ServerAzureADAdministratorsClientAPI +type ServerCommunicationLinksClientAPI = original.ServerCommunicationLinksClientAPI +type ServerConnectionPoliciesClientAPI = original.ServerConnectionPoliciesClientAPI +type ServerTableAuditingPoliciesClientAPI = original.ServerTableAuditingPoliciesClientAPI +type ServerUsagesClientAPI = original.ServerUsagesClientAPI type ServersClientAPI = original.ServersClientAPI +type ServiceObjectivesClientAPI = original.ServiceObjectivesClientAPI type ServiceTierAdvisorsClientAPI = original.ServiceTierAdvisorsClientAPI type TransparentDataEncryptionActivitiesClientAPI = original.TransparentDataEncryptionActivitiesClientAPI +type TransparentDataEncryptionConfigurationsClientAPI = original.TransparentDataEncryptionConfigurationsClientAPI type TransparentDataEncryptionsClientAPI = original.TransparentDataEncryptionsClientAPI diff --git a/profiles/preview/storage/datalake/storagedatalake/models.go b/profiles/preview/storage/datalake/storagedatalake/models.go index d5962ab997f3..da811c3a9849 100644 --- a/profiles/preview/storage/datalake/storagedatalake/models.go +++ b/profiles/preview/storage/datalake/storagedatalake/models.go @@ -19,7 +19,7 @@ package storagedatalake -import original "github.com/Azure/azure-sdk-for-go/services/storage/datalake/2018-11-09/storagedatalake" +import original "github.com/Azure/azure-sdk-for-go/services/storage/datalake/2019-10-31/storagedatalake" const ( DefaultDNSSuffix = original.DefaultDNSSuffix @@ -28,6 +28,7 @@ const ( type PathGetPropertiesAction = original.PathGetPropertiesAction const ( + CheckAccess PathGetPropertiesAction = original.CheckAccess GetAccessControl PathGetPropertiesAction = original.GetAccessControl GetStatus PathGetPropertiesAction = original.GetStatus ) diff --git a/profiles/preview/storage/datalake/storagedatalake/storagedatalakeapi/models.go b/profiles/preview/storage/datalake/storagedatalake/storagedatalakeapi/models.go index 278b9df7f518..fe6cd4856f06 100644 --- a/profiles/preview/storage/datalake/storagedatalake/storagedatalakeapi/models.go +++ b/profiles/preview/storage/datalake/storagedatalake/storagedatalakeapi/models.go @@ -19,7 +19,7 @@ package storagedatalakeapi -import original "github.com/Azure/azure-sdk-for-go/services/storage/datalake/2018-11-09/storagedatalake/storagedatalakeapi" +import original "github.com/Azure/azure-sdk-for-go/services/storage/datalake/2019-10-31/storagedatalake/storagedatalakeapi" type FilesystemClientAPI = original.FilesystemClientAPI type PathClientAPI = original.PathClientAPI diff --git a/profiles/preview/storage/mgmt/storage/models.go b/profiles/preview/storage/mgmt/storage/models.go index 04f1c7e46657..87e3d34ebd41 100644 --- a/profiles/preview/storage/mgmt/storage/models.go +++ b/profiles/preview/storage/mgmt/storage/models.go @@ -85,6 +85,7 @@ type DirectoryServiceOptions = original.DirectoryServiceOptions const ( DirectoryServiceOptionsAADDS DirectoryServiceOptions = original.DirectoryServiceOptionsAADDS + DirectoryServiceOptionsAD DirectoryServiceOptions = original.DirectoryServiceOptionsAD DirectoryServiceOptionsNone DirectoryServiceOptions = original.DirectoryServiceOptionsNone ) @@ -142,6 +143,13 @@ const ( StorageV2 Kind = original.StorageV2 ) +type LargeFileSharesState = original.LargeFileSharesState + +const ( + Disabled LargeFileSharesState = original.Disabled + Enabled LargeFileSharesState = original.Enabled +) + type LeaseDuration = original.LeaseDuration const ( @@ -166,6 +174,12 @@ const ( LeaseStatusUnlocked LeaseStatus = original.LeaseStatusUnlocked ) +type ListKeyExpand = original.ListKeyExpand + +const ( + Kerb ListKeyExpand = original.Kerb +) + type Permissions = original.Permissions const ( @@ -282,6 +296,8 @@ type AccountCreateParameters = original.AccountCreateParameters type AccountKey = original.AccountKey type AccountListKeysResult = original.AccountListKeysResult type AccountListResult = original.AccountListResult +type AccountListResultIterator = original.AccountListResultIterator +type AccountListResultPage = original.AccountListResultPage type AccountProperties = original.AccountProperties type AccountPropertiesCreateParameters = original.AccountPropertiesCreateParameters type AccountPropertiesUpdateParameters = original.AccountPropertiesUpdateParameters @@ -291,6 +307,7 @@ type AccountUpdateParameters = original.AccountUpdateParameters type AccountsClient = original.AccountsClient type AccountsCreateFuture = original.AccountsCreateFuture type AccountsFailoverFuture = original.AccountsFailoverFuture +type ActiveDirectoryProperties = original.ActiveDirectoryProperties type AzureEntityResource = original.AzureEntityResource type AzureFilesIdentityBasedAuthentication = original.AzureFilesIdentityBasedAuthentication type BaseClient = original.BaseClient @@ -300,7 +317,10 @@ type BlobServiceItems = original.BlobServiceItems type BlobServiceProperties = original.BlobServiceProperties type BlobServicePropertiesProperties = original.BlobServicePropertiesProperties type BlobServicesClient = original.BlobServicesClient +type ChangeFeed = original.ChangeFeed type CheckNameAvailabilityResult = original.CheckNameAvailabilityResult +type CloudError = original.CloudError +type CloudErrorBody = original.CloudErrorBody type ContainerProperties = original.ContainerProperties type CorsRule = original.CorsRule type CorsRules = original.CorsRules @@ -313,8 +333,6 @@ type Encryption = original.Encryption type EncryptionService = original.EncryptionService type EncryptionServices = original.EncryptionServices type Endpoints = original.Endpoints -type ErrorResponse = original.ErrorResponse -type ErrorResponseBody = original.ErrorResponseBody type FileServiceItems = original.FileServiceItems type FileServiceProperties = original.FileServiceProperties type FileServicePropertiesProperties = original.FileServicePropertiesProperties @@ -322,6 +340,8 @@ type FileServicesClient = original.FileServicesClient type FileShare = original.FileShare type FileShareItem = original.FileShareItem type FileShareItems = original.FileShareItems +type FileShareItemsIterator = original.FileShareItemsIterator +type FileShareItemsPage = original.FileShareItemsPage type FileShareProperties = original.FileShareProperties type FileSharesClient = original.FileSharesClient type GeoReplicationStats = original.GeoReplicationStats @@ -379,6 +399,12 @@ type VirtualNetworkRule = original.VirtualNetworkRule func New(subscriptionID string) BaseClient { return original.New(subscriptionID) } +func NewAccountListResultIterator(page AccountListResultPage) AccountListResultIterator { + return original.NewAccountListResultIterator(page) +} +func NewAccountListResultPage(getNextPage func(context.Context, AccountListResult) (AccountListResult, error)) AccountListResultPage { + return original.NewAccountListResultPage(getNextPage) +} func NewAccountsClient(subscriptionID string) AccountsClient { return original.NewAccountsClient(subscriptionID) } @@ -403,6 +429,12 @@ func NewFileServicesClient(subscriptionID string) FileServicesClient { func NewFileServicesClientWithBaseURI(baseURI string, subscriptionID string) FileServicesClient { return original.NewFileServicesClientWithBaseURI(baseURI, subscriptionID) } +func NewFileShareItemsIterator(page FileShareItemsPage) FileShareItemsIterator { + return original.NewFileShareItemsIterator(page) +} +func NewFileShareItemsPage(getNextPage func(context.Context, FileShareItems) (FileShareItems, error)) FileShareItemsPage { + return original.NewFileShareItemsPage(getNextPage) +} func NewFileSharesClient(subscriptionID string) FileSharesClient { return original.NewFileSharesClient(subscriptionID) } @@ -487,6 +519,9 @@ func PossibleKeySourceValues() []KeySource { func PossibleKindValues() []Kind { return original.PossibleKindValues() } +func PossibleLargeFileSharesStateValues() []LargeFileSharesState { + return original.PossibleLargeFileSharesStateValues() +} func PossibleLeaseDurationValues() []LeaseDuration { return original.PossibleLeaseDurationValues() } @@ -496,6 +531,9 @@ func PossibleLeaseStateValues() []LeaseState { func PossibleLeaseStatusValues() []LeaseStatus { return original.PossibleLeaseStatusValues() } +func PossibleListKeyExpandValues() []ListKeyExpand { + return original.PossibleListKeyExpandValues() +} func PossiblePermissionsValues() []Permissions { return original.PossiblePermissionsValues() } diff --git a/profiles/preview/web/mgmt/web/models.go b/profiles/preview/web/mgmt/web/models.go index 0584a6d2acb0..327ea975f9f7 100644 --- a/profiles/preview/web/mgmt/web/models.go +++ b/profiles/preview/web/mgmt/web/models.go @@ -22,7 +22,7 @@ package web import ( "context" - original "github.com/Azure/azure-sdk-for-go/services/web/mgmt/2018-02-01/web" + original "github.com/Azure/azure-sdk-for-go/services/web/mgmt/2019-08-01/web" ) const ( diff --git a/profiles/preview/web/mgmt/web/webapi/models.go b/profiles/preview/web/mgmt/web/webapi/models.go index a38a27b2cc73..8f59e4c13c02 100644 --- a/profiles/preview/web/mgmt/web/webapi/models.go +++ b/profiles/preview/web/mgmt/web/webapi/models.go @@ -19,7 +19,7 @@ package webapi -import original "github.com/Azure/azure-sdk-for-go/services/web/mgmt/2018-02-01/web/webapi" +import original "github.com/Azure/azure-sdk-for-go/services/web/mgmt/2019-08-01/web/webapi" type AppServiceCertificateOrdersClientAPI = original.AppServiceCertificateOrdersClientAPI type AppServiceEnvironmentsClientAPI = original.AppServiceEnvironmentsClientAPI diff --git a/services/advisor/mgmt/2017-03-31/advisor/models.go b/services/advisor/mgmt/2017-03-31/advisor/models.go index a418c947c64d..0e4ae546d0a6 100644 --- a/services/advisor/mgmt/2017-03-31/advisor/models.go +++ b/services/advisor/mgmt/2017-03-31/advisor/models.go @@ -39,6 +39,8 @@ const ( Cost Category = "Cost" // HighAvailability ... HighAvailability Category = "HighAvailability" + // OperationalExcellence ... + OperationalExcellence Category = "OperationalExcellence" // Performance ... Performance Category = "Performance" // Security ... @@ -47,7 +49,7 @@ const ( // PossibleCategoryValues returns an array of possible values for the Category const type. func PossibleCategoryValues() []Category { - return []Category{Cost, HighAvailability, Performance, Security} + return []Category{Cost, HighAvailability, OperationalExcellence, Performance, Security} } // Impact enumerates the values for impact. @@ -258,7 +260,7 @@ func NewOperationEntityListResultPage(getNextPage func(context.Context, Operatio // RecommendationProperties the properties of the recommendation. type RecommendationProperties struct { - // Category - The category of the recommendation. Possible values include: 'HighAvailability', 'Security', 'Performance', 'Cost' + // Category - The category of the recommendation. Possible values include: 'HighAvailability', 'Security', 'Performance', 'Cost', 'OperationalExcellence' Category Category `json:"category,omitempty"` // Impact - The business impact of the recommendation. Possible values include: 'High', 'Medium', 'Low' Impact Impact `json:"impact,omitempty"` diff --git a/services/advisor/mgmt/2017-04-19/advisor/models.go b/services/advisor/mgmt/2017-04-19/advisor/models.go index 759a2b8c7acd..788887c60712 100644 --- a/services/advisor/mgmt/2017-04-19/advisor/models.go +++ b/services/advisor/mgmt/2017-04-19/advisor/models.go @@ -39,6 +39,8 @@ const ( Cost Category = "Cost" // HighAvailability ... HighAvailability Category = "HighAvailability" + // OperationalExcellence ... + OperationalExcellence Category = "OperationalExcellence" // Performance ... Performance Category = "Performance" // Security ... @@ -47,7 +49,7 @@ const ( // PossibleCategoryValues returns an array of possible values for the Category const type. func PossibleCategoryValues() []Category { - return []Category{Cost, HighAvailability, Performance, Security} + return []Category{Cost, HighAvailability, OperationalExcellence, Performance, Security} } // Impact enumerates the values for impact. @@ -749,7 +751,7 @@ func NewOperationEntityListResultPage(getNextPage func(context.Context, Operatio // RecommendationProperties the properties of the recommendation. type RecommendationProperties struct { - // Category - The category of the recommendation. Possible values include: 'HighAvailability', 'Security', 'Performance', 'Cost' + // Category - The category of the recommendation. Possible values include: 'HighAvailability', 'Security', 'Performance', 'Cost', 'OperationalExcellence' Category Category `json:"category,omitempty"` // Impact - The business impact of the recommendation. Possible values include: 'High', 'Medium', 'Low' Impact Impact `json:"impact,omitempty"` diff --git a/services/apimanagement/mgmt/2019-01-01/apimanagement/models.go b/services/apimanagement/mgmt/2019-01-01/apimanagement/models.go index c12845902b2f..dd5b2d4daf44 100644 --- a/services/apimanagement/mgmt/2019-01-01/apimanagement/models.go +++ b/services/apimanagement/mgmt/2019-01-01/apimanagement/models.go @@ -2119,8 +2119,6 @@ type AuthenticationSettingsContract struct { OAuth2 *OAuth2AuthenticationSettingsContract `json:"oAuth2,omitempty"` // Openid - OpenID Connect Authentication Settings Openid *OpenIDAuthenticationSettingsContract `json:"openid,omitempty"` - // SubscriptionKeyRequired - Specifies whether subscription key is required during call to this API, true - API is included into closed products only, false - API is included into open products alone, null - there is a mix of products. - SubscriptionKeyRequired *bool `json:"subscriptionKeyRequired,omitempty"` } // AuthorizationServerCollection paged OAuth2 Authorization Servers list representation. @@ -4600,6 +4598,8 @@ type HTTPMessageDiagnostic struct { type IdentityProviderBaseParameters struct { // Type - Identity Provider Type identifier. Possible values include: 'Facebook', 'Google', 'Microsoft', 'Twitter', 'Aad', 'AadB2C' Type IdentityProviderType `json:"type,omitempty"` + // SigninTenant - The TenantId to use instead of Common when logging into Active Directory + SigninTenant *string `json:"signinTenant,omitempty"` // AllowedTenants - List of Allowed Tenants when configuring Azure Active Directory login. AllowedTenants *[]string `json:"allowedTenants,omitempty"` // Authority - OpenID Connect discovery endpoint hostname for AAD or AAD B2C. @@ -4697,6 +4697,8 @@ type IdentityProviderContractProperties struct { ClientSecret *string `json:"clientSecret,omitempty"` // Type - Identity Provider Type identifier. Possible values include: 'Facebook', 'Google', 'Microsoft', 'Twitter', 'Aad', 'AadB2C' Type IdentityProviderType `json:"type,omitempty"` + // SigninTenant - The TenantId to use instead of Common when logging into Active Directory + SigninTenant *string `json:"signinTenant,omitempty"` // AllowedTenants - List of Allowed Tenants when configuring Azure Active Directory login. AllowedTenants *[]string `json:"allowedTenants,omitempty"` // Authority - OpenID Connect discovery endpoint hostname for AAD or AAD B2C. @@ -4904,6 +4906,8 @@ type IdentityProviderUpdateProperties struct { ClientSecret *string `json:"clientSecret,omitempty"` // Type - Identity Provider Type identifier. Possible values include: 'Facebook', 'Google', 'Microsoft', 'Twitter', 'Aad', 'AadB2C' Type IdentityProviderType `json:"type,omitempty"` + // SigninTenant - The TenantId to use instead of Common when logging into Active Directory + SigninTenant *string `json:"signinTenant,omitempty"` // AllowedTenants - List of Allowed Tenants when configuring Azure Active Directory login. AllowedTenants *[]string `json:"allowedTenants,omitempty"` // Authority - OpenID Connect discovery endpoint hostname for AAD or AAD B2C. diff --git a/services/appinsights/mgmt/2015-05-01/insights/components.go b/services/appinsights/mgmt/2015-05-01/insights/components.go index e888411b04c6..12014255144e 100644 --- a/services/appinsights/mgmt/2015-05-01/insights/components.go +++ b/services/appinsights/mgmt/2015-05-01/insights/components.go @@ -636,6 +636,11 @@ func (client ComponentsClient) ListByResourceGroupComplete(ctx context.Context, } // Purge purges data in an Application Insights component by a set of user-defined filters. +// +// In order to manage system resources, purge requests are throttled at 50 requests per hour. You should batch the +// execution of purge requests by sending a single command whose predicate includes all user identities that require +// purging. Use the in operator to specify multiple identities. You should run the query prior to using for a purge +// request to verify that the results are expected. // Parameters: // resourceGroupName - the name of the resource group. The name is case insensitive. // resourceName - the name of the Application Insights component resource. diff --git a/services/appinsights/v1/insights/client.go b/services/appinsights/v1/insights/client.go deleted file mode 100644 index 49ccf5f10da4..000000000000 --- a/services/appinsights/v1/insights/client.go +++ /dev/null @@ -1,49 +0,0 @@ -// Package insights implements the Azure ARM Insights service API version v1. -// -// Composite Swagger for Application Insights Data Client -package insights - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "github.com/Azure/go-autorest/autorest" -) - -const ( - // DefaultBaseURI is the default URI used for the service Insights - DefaultBaseURI = "https://api.applicationinsights.io/v1" -) - -// BaseClient is the base client for Insights. -type BaseClient struct { - autorest.Client - BaseURI string -} - -// New creates an instance of the BaseClient client. -func New() BaseClient { - return NewWithBaseURI(DefaultBaseURI) -} - -// NewWithBaseURI creates an instance of the BaseClient client. -func NewWithBaseURI(baseURI string) BaseClient { - return BaseClient{ - Client: autorest.NewClientWithUserAgent(UserAgent()), - BaseURI: baseURI, - } -} diff --git a/services/appinsights/v1/insights/events.go b/services/appinsights/v1/insights/events.go deleted file mode 100644 index 64825cbc74c6..000000000000 --- a/services/appinsights/v1/insights/events.go +++ /dev/null @@ -1,311 +0,0 @@ -package insights - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/tracing" - "net/http" -) - -// EventsClient is the composite Swagger for Application Insights Data Client -type EventsClient struct { - BaseClient -} - -// NewEventsClient creates an instance of the EventsClient client. -func NewEventsClient() EventsClient { - return NewEventsClientWithBaseURI(DefaultBaseURI) -} - -// NewEventsClientWithBaseURI creates an instance of the EventsClient client. -func NewEventsClientWithBaseURI(baseURI string) EventsClient { - return EventsClient{NewWithBaseURI(baseURI)} -} - -// Get gets the data for a single event -// Parameters: -// appID - ID of the application. This is Application ID from the API Access settings blade in the Azure -// portal. -// eventType - the type of events to query; either a standard event type (`traces`, `customEvents`, -// `pageViews`, `requests`, `dependencies`, `exceptions`, `availabilityResults`) or `$all` to query across all -// event types. -// eventID - ID of event. -// timespan - optional. The timespan over which to retrieve events. This is an ISO8601 time period value. This -// timespan is applied in addition to any that are specified in the Odata expression. -func (client EventsClient) Get(ctx context.Context, appID string, eventType EventType, eventID string, timespan string) (result EventsResults, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/EventsClient.Get") - defer func() { - sc := -1 - if result.Response.Response != nil { - sc = result.Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - req, err := client.GetPreparer(ctx, appID, eventType, eventID, timespan) - if err != nil { - err = autorest.NewErrorWithError(err, "insights.EventsClient", "Get", nil, "Failure preparing request") - return - } - - resp, err := client.GetSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "insights.EventsClient", "Get", resp, "Failure sending request") - return - } - - result, err = client.GetResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "insights.EventsClient", "Get", resp, "Failure responding to request") - } - - return -} - -// GetPreparer prepares the Get request. -func (client EventsClient) GetPreparer(ctx context.Context, appID string, eventType EventType, eventID string, timespan string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "appId": autorest.Encode("path", appID), - "eventId": autorest.Encode("path", eventID), - "eventType": autorest.Encode("path", eventType), - } - - queryParameters := map[string]interface{}{} - if len(timespan) > 0 { - queryParameters["timespan"] = autorest.Encode("query", timespan) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/apps/{appId}/events/{eventType}/{eventId}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetSender sends the Get request. The method will close the -// http.Response Body if it receives an error. -func (client EventsClient) GetSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// GetResponder handles the response to the Get request. The method always -// closes the http.Response Body. -func (client EventsClient) GetResponder(resp *http.Response) (result EventsResults, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// GetByType executes an OData query for events -// Parameters: -// appID - ID of the application. This is Application ID from the API Access settings blade in the Azure -// portal. -// eventType - the type of events to query; either a standard event type (`traces`, `customEvents`, -// `pageViews`, `requests`, `dependencies`, `exceptions`, `availabilityResults`) or `$all` to query across all -// event types. -// timespan - optional. The timespan over which to retrieve events. This is an ISO8601 time period value. This -// timespan is applied in addition to any that are specified in the Odata expression. -// filter - an expression used to filter the returned events -// search - a free-text search expression to match for whether a particular event should be returned -// orderby - a comma-separated list of properties with \"asc\" (the default) or \"desc\" to control the order -// of returned events -// selectParameter - limits the properties to just those requested on each returned event -// skip - the number of items to skip over before returning events -// top - the number of events to return -// formatParameter - format for the returned events -// count - request a count of matching items included with the returned events -// apply - an expression used for aggregation over returned events -func (client EventsClient) GetByType(ctx context.Context, appID string, eventType EventType, timespan string, filter string, search string, orderby string, selectParameter string, skip *int32, top *int32, formatParameter string, count *bool, apply string) (result EventsResults, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/EventsClient.GetByType") - defer func() { - sc := -1 - if result.Response.Response != nil { - sc = result.Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - req, err := client.GetByTypePreparer(ctx, appID, eventType, timespan, filter, search, orderby, selectParameter, skip, top, formatParameter, count, apply) - if err != nil { - err = autorest.NewErrorWithError(err, "insights.EventsClient", "GetByType", nil, "Failure preparing request") - return - } - - resp, err := client.GetByTypeSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "insights.EventsClient", "GetByType", resp, "Failure sending request") - return - } - - result, err = client.GetByTypeResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "insights.EventsClient", "GetByType", resp, "Failure responding to request") - } - - return -} - -// GetByTypePreparer prepares the GetByType request. -func (client EventsClient) GetByTypePreparer(ctx context.Context, appID string, eventType EventType, timespan string, filter string, search string, orderby string, selectParameter string, skip *int32, top *int32, formatParameter string, count *bool, apply string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "appId": autorest.Encode("path", appID), - "eventType": autorest.Encode("path", eventType), - } - - queryParameters := map[string]interface{}{} - if len(timespan) > 0 { - queryParameters["timespan"] = autorest.Encode("query", timespan) - } - if len(filter) > 0 { - queryParameters["$filter"] = autorest.Encode("query", filter) - } - if len(search) > 0 { - queryParameters["$search"] = autorest.Encode("query", search) - } - if len(orderby) > 0 { - queryParameters["$orderby"] = autorest.Encode("query", orderby) - } - if len(selectParameter) > 0 { - queryParameters["$select"] = autorest.Encode("query", selectParameter) - } - if skip != nil { - queryParameters["$skip"] = autorest.Encode("query", *skip) - } - if top != nil { - queryParameters["$top"] = autorest.Encode("query", *top) - } - if len(formatParameter) > 0 { - queryParameters["$format"] = autorest.Encode("query", formatParameter) - } - if count != nil { - queryParameters["$count"] = autorest.Encode("query", *count) - } - if len(apply) > 0 { - queryParameters["$apply"] = autorest.Encode("query", apply) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/apps/{appId}/events/{eventType}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetByTypeSender sends the GetByType request. The method will close the -// http.Response Body if it receives an error. -func (client EventsClient) GetByTypeSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// GetByTypeResponder handles the response to the GetByType request. The method always -// closes the http.Response Body. -func (client EventsClient) GetByTypeResponder(resp *http.Response) (result EventsResults, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// GetOdataMetadata gets OData EDMX metadata describing the event data model -// Parameters: -// appID - ID of the application. This is Application ID from the API Access settings blade in the Azure -// portal. -func (client EventsClient) GetOdataMetadata(ctx context.Context, appID string) (result SetObject, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/EventsClient.GetOdataMetadata") - defer func() { - sc := -1 - if result.Response.Response != nil { - sc = result.Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - req, err := client.GetOdataMetadataPreparer(ctx, appID) - if err != nil { - err = autorest.NewErrorWithError(err, "insights.EventsClient", "GetOdataMetadata", nil, "Failure preparing request") - return - } - - resp, err := client.GetOdataMetadataSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "insights.EventsClient", "GetOdataMetadata", resp, "Failure sending request") - return - } - - result, err = client.GetOdataMetadataResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "insights.EventsClient", "GetOdataMetadata", resp, "Failure responding to request") - } - - return -} - -// GetOdataMetadataPreparer prepares the GetOdataMetadata request. -func (client EventsClient) GetOdataMetadataPreparer(ctx context.Context, appID string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "appId": autorest.Encode("path", appID), - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/apps/{appId}/events/$metadata", pathParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetOdataMetadataSender sends the GetOdataMetadata request. The method will close the -// http.Response Body if it receives an error. -func (client EventsClient) GetOdataMetadataSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// GetOdataMetadataResponder handles the response to the GetOdataMetadata request. The method always -// closes the http.Response Body. -func (client EventsClient) GetOdataMetadataResponder(resp *http.Response) (result SetObject, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result.Value), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} diff --git a/services/appinsights/v1/insights/metrics.go b/services/appinsights/v1/insights/metrics.go deleted file mode 100644 index 70f525fd57dc..000000000000 --- a/services/appinsights/v1/insights/metrics.go +++ /dev/null @@ -1,314 +0,0 @@ -package insights - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/autorest/validation" - "github.com/Azure/go-autorest/tracing" - "net/http" -) - -// MetricsClient is the composite Swagger for Application Insights Data Client -type MetricsClient struct { - BaseClient -} - -// NewMetricsClient creates an instance of the MetricsClient client. -func NewMetricsClient() MetricsClient { - return NewMetricsClientWithBaseURI(DefaultBaseURI) -} - -// NewMetricsClientWithBaseURI creates an instance of the MetricsClient client. -func NewMetricsClientWithBaseURI(baseURI string) MetricsClient { - return MetricsClient{NewWithBaseURI(baseURI)} -} - -// Get gets metric values for a single metric -// Parameters: -// appID - ID of the application. This is Application ID from the API Access settings blade in the Azure -// portal. -// metricID - ID of the metric. This is either a standard AI metric, or an application-specific custom metric. -// timespan - the timespan over which to retrieve metric values. This is an ISO8601 time period value. If -// timespan is omitted, a default time range of `PT12H` ("last 12 hours") is used. The actual timespan that is -// queried may be adjusted by the server based. In all cases, the actual time span used for the query is -// included in the response. -// interval - the time interval to use when retrieving metric values. This is an ISO8601 duration. If interval -// is omitted, the metric value is aggregated across the entire timespan. If interval is supplied, the server -// may adjust the interval to a more appropriate size based on the timespan used for the query. In all cases, -// the actual interval used for the query is included in the response. -// aggregation - the aggregation to use when computing the metric values. To retrieve more than one aggregation -// at a time, separate them with a comma. If no aggregation is specified, then the default aggregation for the -// metric is used. -// segment - the name of the dimension to segment the metric values by. This dimension must be applicable to -// the metric you are retrieving. To segment by more than one dimension at a time, separate them with a comma -// (,). In this case, the metric data will be segmented in the order the dimensions are listed in the -// parameter. -// top - the number of segments to return. This value is only valid when segment is specified. -// orderby - the aggregation function and direction to sort the segments by. This value is only valid when -// segment is specified. -// filter - an expression used to filter the results. This value should be a valid OData filter expression -// where the keys of each clause should be applicable dimensions for the metric you are retrieving. -func (client MetricsClient) Get(ctx context.Context, appID string, metricID MetricID, timespan string, interval *string, aggregation []MetricsAggregation, segment []MetricsSegment, top *int32, orderby string, filter string) (result MetricsResult, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/MetricsClient.Get") - defer func() { - sc := -1 - if result.Response.Response != nil { - sc = result.Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - if err := validation.Validate([]validation.Validation{ - {TargetValue: aggregation, - Constraints: []validation.Constraint{{Target: "aggregation", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "aggregation", Name: validation.MinItems, Rule: 1, Chain: nil}}}}}, - {TargetValue: segment, - Constraints: []validation.Constraint{{Target: "segment", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "segment", Name: validation.MinItems, Rule: 1, Chain: nil}}}}}}); err != nil { - return result, validation.NewError("insights.MetricsClient", "Get", err.Error()) - } - - req, err := client.GetPreparer(ctx, appID, metricID, timespan, interval, aggregation, segment, top, orderby, filter) - if err != nil { - err = autorest.NewErrorWithError(err, "insights.MetricsClient", "Get", nil, "Failure preparing request") - return - } - - resp, err := client.GetSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "insights.MetricsClient", "Get", resp, "Failure sending request") - return - } - - result, err = client.GetResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "insights.MetricsClient", "Get", resp, "Failure responding to request") - } - - return -} - -// GetPreparer prepares the Get request. -func (client MetricsClient) GetPreparer(ctx context.Context, appID string, metricID MetricID, timespan string, interval *string, aggregation []MetricsAggregation, segment []MetricsSegment, top *int32, orderby string, filter string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "appId": autorest.Encode("path", appID), - "metricId": autorest.Encode("path", metricID), - } - - queryParameters := map[string]interface{}{} - if len(timespan) > 0 { - queryParameters["timespan"] = autorest.Encode("query", timespan) - } - if interval != nil { - queryParameters["interval"] = autorest.Encode("query", *interval) - } - if aggregation != nil && len(aggregation) > 0 { - queryParameters["aggregation"] = autorest.Encode("query", aggregation, ",") - } - if segment != nil && len(segment) > 0 { - queryParameters["segment"] = autorest.Encode("query", segment, ",") - } - if top != nil { - queryParameters["top"] = autorest.Encode("query", *top) - } - if len(orderby) > 0 { - queryParameters["orderby"] = autorest.Encode("query", orderby) - } - if len(filter) > 0 { - queryParameters["filter"] = autorest.Encode("query", filter) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/apps/{appId}/metrics/{metricId}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetSender sends the Get request. The method will close the -// http.Response Body if it receives an error. -func (client MetricsClient) GetSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// GetResponder handles the response to the Get request. The method always -// closes the http.Response Body. -func (client MetricsClient) GetResponder(resp *http.Response) (result MetricsResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// GetMetadata gets metadata describing the available metrics -// Parameters: -// appID - ID of the application. This is Application ID from the API Access settings blade in the Azure -// portal. -func (client MetricsClient) GetMetadata(ctx context.Context, appID string) (result SetObject, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/MetricsClient.GetMetadata") - defer func() { - sc := -1 - if result.Response.Response != nil { - sc = result.Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - req, err := client.GetMetadataPreparer(ctx, appID) - if err != nil { - err = autorest.NewErrorWithError(err, "insights.MetricsClient", "GetMetadata", nil, "Failure preparing request") - return - } - - resp, err := client.GetMetadataSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "insights.MetricsClient", "GetMetadata", resp, "Failure sending request") - return - } - - result, err = client.GetMetadataResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "insights.MetricsClient", "GetMetadata", resp, "Failure responding to request") - } - - return -} - -// GetMetadataPreparer prepares the GetMetadata request. -func (client MetricsClient) GetMetadataPreparer(ctx context.Context, appID string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "appId": autorest.Encode("path", appID), - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/apps/{appId}/metrics/metadata", pathParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetMetadataSender sends the GetMetadata request. The method will close the -// http.Response Body if it receives an error. -func (client MetricsClient) GetMetadataSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// GetMetadataResponder handles the response to the GetMetadata request. The method always -// closes the http.Response Body. -func (client MetricsClient) GetMetadataResponder(resp *http.Response) (result SetObject, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result.Value), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// GetMultiple gets metric values for multiple metrics -// Parameters: -// appID - ID of the application. This is Application ID from the API Access settings blade in the Azure -// portal. -// body - the batched metrics query. -func (client MetricsClient) GetMultiple(ctx context.Context, appID string, body []MetricsPostBodySchema) (result ListMetricsResultsItem, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/MetricsClient.GetMultiple") - defer func() { - sc := -1 - if result.Response.Response != nil { - sc = result.Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - if err := validation.Validate([]validation.Validation{ - {TargetValue: body, - Constraints: []validation.Constraint{{Target: "body", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { - return result, validation.NewError("insights.MetricsClient", "GetMultiple", err.Error()) - } - - req, err := client.GetMultiplePreparer(ctx, appID, body) - if err != nil { - err = autorest.NewErrorWithError(err, "insights.MetricsClient", "GetMultiple", nil, "Failure preparing request") - return - } - - resp, err := client.GetMultipleSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "insights.MetricsClient", "GetMultiple", resp, "Failure sending request") - return - } - - result, err = client.GetMultipleResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "insights.MetricsClient", "GetMultiple", resp, "Failure responding to request") - } - - return -} - -// GetMultiplePreparer prepares the GetMultiple request. -func (client MetricsClient) GetMultiplePreparer(ctx context.Context, appID string, body []MetricsPostBodySchema) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "appId": autorest.Encode("path", appID), - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/apps/{appId}/metrics", pathParameters), - autorest.WithJSON(body)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetMultipleSender sends the GetMultiple request. The method will close the -// http.Response Body if it receives an error. -func (client MetricsClient) GetMultipleSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// GetMultipleResponder handles the response to the GetMultiple request. The method always -// closes the http.Response Body. -func (client MetricsClient) GetMultipleResponder(resp *http.Response) (result ListMetricsResultsItem, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result.Value), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} diff --git a/services/appinsights/v1/insights/models.go b/services/appinsights/v1/insights/models.go deleted file mode 100644 index 5165da8b8723..000000000000 --- a/services/appinsights/v1/insights/models.go +++ /dev/null @@ -1,2554 +0,0 @@ -package insights - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "encoding/json" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/date" -) - -// The package's fully qualified name. -const fqdn = "github.com/Azure/azure-sdk-for-go/services/appinsights/v1/insights" - -// EventType enumerates the values for event type. -type EventType string - -const ( - // All ... - All EventType = "$all" - // AvailabilityResults ... - AvailabilityResults EventType = "availabilityResults" - // BrowserTimings ... - BrowserTimings EventType = "browserTimings" - // CustomEvents ... - CustomEvents EventType = "customEvents" - // CustomMetrics ... - CustomMetrics EventType = "customMetrics" - // Dependencies ... - Dependencies EventType = "dependencies" - // Exceptions ... - Exceptions EventType = "exceptions" - // PageViews ... - PageViews EventType = "pageViews" - // PerformanceCounters ... - PerformanceCounters EventType = "performanceCounters" - // Requests ... - Requests EventType = "requests" - // Traces ... - Traces EventType = "traces" -) - -// PossibleEventTypeValues returns an array of possible values for the EventType const type. -func PossibleEventTypeValues() []EventType { - return []EventType{All, AvailabilityResults, BrowserTimings, CustomEvents, CustomMetrics, Dependencies, Exceptions, PageViews, PerformanceCounters, Requests, Traces} -} - -// MetricID enumerates the values for metric id. -type MetricID string - -const ( - // AvailabilityResultsavailabilityPercentage ... - AvailabilityResultsavailabilityPercentage MetricID = "availabilityResults/availabilityPercentage" - // AvailabilityResultsduration ... - AvailabilityResultsduration MetricID = "availabilityResults/duration" - // BillingtelemetryCount ... - BillingtelemetryCount MetricID = "billing/telemetryCount" - // ClientnetworkDuration ... - ClientnetworkDuration MetricID = "client/networkDuration" - // ClientprocessingDuration ... - ClientprocessingDuration MetricID = "client/processingDuration" - // ClientreceiveDuration ... - ClientreceiveDuration MetricID = "client/receiveDuration" - // ClientsendDuration ... - ClientsendDuration MetricID = "client/sendDuration" - // ClienttotalDuration ... - ClienttotalDuration MetricID = "client/totalDuration" - // CustomEventscount ... - CustomEventscount MetricID = "customEvents/count" - // Dependenciescount ... - Dependenciescount MetricID = "dependencies/count" - // Dependenciesduration ... - Dependenciesduration MetricID = "dependencies/duration" - // Dependenciesfailed ... - Dependenciesfailed MetricID = "dependencies/failed" - // Exceptionsbrowser ... - Exceptionsbrowser MetricID = "exceptions/browser" - // Exceptionscount ... - Exceptionscount MetricID = "exceptions/count" - // Exceptionsserver ... - Exceptionsserver MetricID = "exceptions/server" - // PageViewscount ... - PageViewscount MetricID = "pageViews/count" - // PageViewsduration ... - PageViewsduration MetricID = "pageViews/duration" - // PerformanceCountersexceptionsPerSecond ... - PerformanceCountersexceptionsPerSecond MetricID = "performanceCounters/exceptionsPerSecond" - // PerformanceCountersmemoryAvailableBytes ... - PerformanceCountersmemoryAvailableBytes MetricID = "performanceCounters/memoryAvailableBytes" - // PerformanceCountersprocessCPUPercentage ... - PerformanceCountersprocessCPUPercentage MetricID = "performanceCounters/processCpuPercentage" - // PerformanceCountersprocessIOBytesPerSecond ... - PerformanceCountersprocessIOBytesPerSecond MetricID = "performanceCounters/processIOBytesPerSecond" - // PerformanceCountersprocessorCPUPercentage ... - PerformanceCountersprocessorCPUPercentage MetricID = "performanceCounters/processorCpuPercentage" - // PerformanceCountersprocessPrivateBytes ... - PerformanceCountersprocessPrivateBytes MetricID = "performanceCounters/processPrivateBytes" - // PerformanceCountersrequestExecutionTime ... - PerformanceCountersrequestExecutionTime MetricID = "performanceCounters/requestExecutionTime" - // PerformanceCountersrequestsInQueue ... - PerformanceCountersrequestsInQueue MetricID = "performanceCounters/requestsInQueue" - // PerformanceCountersrequestsPerSecond ... - PerformanceCountersrequestsPerSecond MetricID = "performanceCounters/requestsPerSecond" - // Requestscount ... - Requestscount MetricID = "requests/count" - // Requestsduration ... - Requestsduration MetricID = "requests/duration" - // Requestsfailed ... - Requestsfailed MetricID = "requests/failed" - // Sessionscount ... - Sessionscount MetricID = "sessions/count" - // Usersauthenticated ... - Usersauthenticated MetricID = "users/authenticated" - // Userscount ... - Userscount MetricID = "users/count" -) - -// PossibleMetricIDValues returns an array of possible values for the MetricID const type. -func PossibleMetricIDValues() []MetricID { - return []MetricID{AvailabilityResultsavailabilityPercentage, AvailabilityResultsduration, BillingtelemetryCount, ClientnetworkDuration, ClientprocessingDuration, ClientreceiveDuration, ClientsendDuration, ClienttotalDuration, CustomEventscount, Dependenciescount, Dependenciesduration, Dependenciesfailed, Exceptionsbrowser, Exceptionscount, Exceptionsserver, PageViewscount, PageViewsduration, PerformanceCountersexceptionsPerSecond, PerformanceCountersmemoryAvailableBytes, PerformanceCountersprocessCPUPercentage, PerformanceCountersprocessIOBytesPerSecond, PerformanceCountersprocessorCPUPercentage, PerformanceCountersprocessPrivateBytes, PerformanceCountersrequestExecutionTime, PerformanceCountersrequestsInQueue, PerformanceCountersrequestsPerSecond, Requestscount, Requestsduration, Requestsfailed, Sessionscount, Usersauthenticated, Userscount} -} - -// MetricsAggregation enumerates the values for metrics aggregation. -type MetricsAggregation string - -const ( - // Avg ... - Avg MetricsAggregation = "avg" - // Count ... - Count MetricsAggregation = "count" - // Max ... - Max MetricsAggregation = "max" - // Min ... - Min MetricsAggregation = "min" - // Sum ... - Sum MetricsAggregation = "sum" - // Unique ... - Unique MetricsAggregation = "unique" -) - -// PossibleMetricsAggregationValues returns an array of possible values for the MetricsAggregation const type. -func PossibleMetricsAggregationValues() []MetricsAggregation { - return []MetricsAggregation{Avg, Count, Max, Min, Sum, Unique} -} - -// MetricsSegment enumerates the values for metrics segment. -type MetricsSegment string - -const ( - // ApplicationBuild ... - ApplicationBuild MetricsSegment = "applicationBuild" - // ApplicationVersion ... - ApplicationVersion MetricsSegment = "applicationVersion" - // AuthenticatedOrAnonymousTraffic ... - AuthenticatedOrAnonymousTraffic MetricsSegment = "authenticatedOrAnonymousTraffic" - // Browser ... - Browser MetricsSegment = "browser" - // BrowserVersion ... - BrowserVersion MetricsSegment = "browserVersion" - // City ... - City MetricsSegment = "city" - // CloudRoleName ... - CloudRoleName MetricsSegment = "cloudRoleName" - // CloudServiceName ... - CloudServiceName MetricsSegment = "cloudServiceName" - // Continent ... - Continent MetricsSegment = "continent" - // CountryOrRegion ... - CountryOrRegion MetricsSegment = "countryOrRegion" - // DeploymentID ... - DeploymentID MetricsSegment = "deploymentId" - // DeploymentUnit ... - DeploymentUnit MetricsSegment = "deploymentUnit" - // DeviceType ... - DeviceType MetricsSegment = "deviceType" - // Environment ... - Environment MetricsSegment = "environment" - // HostingLocation ... - HostingLocation MetricsSegment = "hostingLocation" - // InstanceName ... - InstanceName MetricsSegment = "instanceName" -) - -// PossibleMetricsSegmentValues returns an array of possible values for the MetricsSegment const type. -func PossibleMetricsSegmentValues() []MetricsSegment { - return []MetricsSegment{ApplicationBuild, ApplicationVersion, AuthenticatedOrAnonymousTraffic, Browser, BrowserVersion, City, CloudRoleName, CloudServiceName, Continent, CountryOrRegion, DeploymentID, DeploymentUnit, DeviceType, Environment, HostingLocation, InstanceName} -} - -// Type enumerates the values for type. -type Type string - -const ( - // TypeAvailabilityResult ... - TypeAvailabilityResult Type = "availabilityResult" - // TypeBrowserTiming ... - TypeBrowserTiming Type = "browserTiming" - // TypeCustomEvent ... - TypeCustomEvent Type = "customEvent" - // TypeCustomMetric ... - TypeCustomMetric Type = "customMetric" - // TypeDependency ... - TypeDependency Type = "dependency" - // TypeEventsResultData ... - TypeEventsResultData Type = "eventsResultData" - // TypeException ... - TypeException Type = "exception" - // TypePageView ... - TypePageView Type = "pageView" - // TypePerformanceCounter ... - TypePerformanceCounter Type = "performanceCounter" - // TypeRequest ... - TypeRequest Type = "request" - // TypeTrace ... - TypeTrace Type = "trace" -) - -// PossibleTypeValues returns an array of possible values for the Type const type. -func PossibleTypeValues() []Type { - return []Type{TypeAvailabilityResult, TypeBrowserTiming, TypeCustomEvent, TypeCustomMetric, TypeDependency, TypeEventsResultData, TypeException, TypePageView, TypePerformanceCounter, TypeRequest, TypeTrace} -} - -// Column a column in a table. -type Column struct { - // Name - The name of this column. - Name *string `json:"name,omitempty"` - // Type - The data type of this column. - Type *string `json:"type,omitempty"` -} - -// ErrorDetail ... -type ErrorDetail struct { - // Code - The error's code. - Code *string `json:"code,omitempty"` - // Message - A human readable error message. - Message *string `json:"message,omitempty"` - // Target - Indicates which property in the request is responsible for the error. - Target *string `json:"target,omitempty"` - // Value - Indicates which value in 'target' is responsible for the error. - Value *string `json:"value,omitempty"` - // Resources - Indicates resources which were responsible for the error. - Resources *[]string `json:"resources,omitempty"` - AdditionalProperties interface{} `json:"additionalProperties,omitempty"` -} - -// ErrorInfo ... -type ErrorInfo struct { - // Code - A machine readable error code. - Code *string `json:"code,omitempty"` - // Message - A human readable error message. - Message *string `json:"message,omitempty"` - // Details - error details. - Details *[]ErrorDetail `json:"details,omitempty"` - // Innererror - Inner error details if they exist. - Innererror *ErrorInfo `json:"innererror,omitempty"` - AdditionalProperties interface{} `json:"additionalProperties,omitempty"` -} - -// ErrorResponse contains details when the response code indicates an error. -type ErrorResponse struct { - // Error - The error details. - Error *ErrorInfo `json:"error,omitempty"` -} - -// EventsAiInfo AI related application info for an event result -type EventsAiInfo struct { - // IKey - iKey of the app - IKey *string `json:"iKey,omitempty"` - // AppName - Name of the application - AppName *string `json:"appName,omitempty"` - // AppID - ID of the application - AppID *string `json:"appId,omitempty"` - // SdkVersion - SDK version of the application - SdkVersion *string `json:"sdkVersion,omitempty"` -} - -// EventsApplicationInfo application info for an event result -type EventsApplicationInfo struct { - // Version - Version of the application - Version *string `json:"version,omitempty"` -} - -// EventsAvailabilityResultInfo the availability result info -type EventsAvailabilityResultInfo struct { - // Name - The name of the availability result - Name *string `json:"name,omitempty"` - // Success - Indicates if the availability result was successful - Success *string `json:"success,omitempty"` - // Duration - The duration of the availability result - Duration *int64 `json:"duration,omitempty"` - // PerformanceBucket - The performance bucket of the availability result - PerformanceBucket *string `json:"performanceBucket,omitempty"` - // Message - The message of the availability result - Message *string `json:"message,omitempty"` - // Location - The location of the availability result - Location *string `json:"location,omitempty"` - // ID - The ID of the availability result - ID *string `json:"id,omitempty"` - // Size - The size of the availability result - Size *string `json:"size,omitempty"` -} - -// EventsAvailabilityResultResult an availability result result -type EventsAvailabilityResultResult struct { - AvailabilityResult *EventsAvailabilityResultInfo `json:"availabilityResult,omitempty"` - // ID - The unique ID for this event. - ID *string `json:"id,omitempty"` - // Count - Count of the event - Count *int64 `json:"count,omitempty"` - // Timestamp - Timestamp of the event - Timestamp *date.Time `json:"timestamp,omitempty"` - // CustomDimensions - Custom dimensions of the event - CustomDimensions *EventsResultDataCustomDimensions `json:"customDimensions,omitempty"` - // CustomMeasurements - Custom measurements of the event - CustomMeasurements *EventsResultDataCustomMeasurements `json:"customMeasurements,omitempty"` - // Operation - Operation info of the event - Operation *EventsOperationInfo `json:"operation,omitempty"` - // Session - Session info of the event - Session *EventsSessionInfo `json:"session,omitempty"` - // User - User info of the event - User *EventsUserInfo `json:"user,omitempty"` - // Cloud - Cloud info of the event - Cloud *EventsCloudInfo `json:"cloud,omitempty"` - // Ai - AI info of the event - Ai *EventsAiInfo `json:"ai,omitempty"` - // Application - Application info of the event - Application *EventsApplicationInfo `json:"application,omitempty"` - // Client - Client info of the event - Client *EventsClientInfo `json:"client,omitempty"` - // Type - Possible values include: 'TypeEventsResultData', 'TypeTrace', 'TypeCustomEvent', 'TypePageView', 'TypeBrowserTiming', 'TypeRequest', 'TypeDependency', 'TypeException', 'TypeAvailabilityResult', 'TypePerformanceCounter', 'TypeCustomMetric' - Type Type `json:"type,omitempty"` -} - -// MarshalJSON is the custom marshaler for EventsAvailabilityResultResult. -func (earr EventsAvailabilityResultResult) MarshalJSON() ([]byte, error) { - earr.Type = TypeAvailabilityResult - objectMap := make(map[string]interface{}) - if earr.AvailabilityResult != nil { - objectMap["availabilityResult"] = earr.AvailabilityResult - } - if earr.ID != nil { - objectMap["id"] = earr.ID - } - if earr.Count != nil { - objectMap["count"] = earr.Count - } - if earr.Timestamp != nil { - objectMap["timestamp"] = earr.Timestamp - } - if earr.CustomDimensions != nil { - objectMap["customDimensions"] = earr.CustomDimensions - } - if earr.CustomMeasurements != nil { - objectMap["customMeasurements"] = earr.CustomMeasurements - } - if earr.Operation != nil { - objectMap["operation"] = earr.Operation - } - if earr.Session != nil { - objectMap["session"] = earr.Session - } - if earr.User != nil { - objectMap["user"] = earr.User - } - if earr.Cloud != nil { - objectMap["cloud"] = earr.Cloud - } - if earr.Ai != nil { - objectMap["ai"] = earr.Ai - } - if earr.Application != nil { - objectMap["application"] = earr.Application - } - if earr.Client != nil { - objectMap["client"] = earr.Client - } - if earr.Type != "" { - objectMap["type"] = earr.Type - } - return json.Marshal(objectMap) -} - -// AsEventsTraceResult is the BasicEventsResultData implementation for EventsAvailabilityResultResult. -func (earr EventsAvailabilityResultResult) AsEventsTraceResult() (*EventsTraceResult, bool) { - return nil, false -} - -// AsEventsCustomEventResult is the BasicEventsResultData implementation for EventsAvailabilityResultResult. -func (earr EventsAvailabilityResultResult) AsEventsCustomEventResult() (*EventsCustomEventResult, bool) { - return nil, false -} - -// AsEventsPageViewResult is the BasicEventsResultData implementation for EventsAvailabilityResultResult. -func (earr EventsAvailabilityResultResult) AsEventsPageViewResult() (*EventsPageViewResult, bool) { - return nil, false -} - -// AsEventsBrowserTimingResult is the BasicEventsResultData implementation for EventsAvailabilityResultResult. -func (earr EventsAvailabilityResultResult) AsEventsBrowserTimingResult() (*EventsBrowserTimingResult, bool) { - return nil, false -} - -// AsEventsRequestResult is the BasicEventsResultData implementation for EventsAvailabilityResultResult. -func (earr EventsAvailabilityResultResult) AsEventsRequestResult() (*EventsRequestResult, bool) { - return nil, false -} - -// AsEventsDependencyResult is the BasicEventsResultData implementation for EventsAvailabilityResultResult. -func (earr EventsAvailabilityResultResult) AsEventsDependencyResult() (*EventsDependencyResult, bool) { - return nil, false -} - -// AsEventsExceptionResult is the BasicEventsResultData implementation for EventsAvailabilityResultResult. -func (earr EventsAvailabilityResultResult) AsEventsExceptionResult() (*EventsExceptionResult, bool) { - return nil, false -} - -// AsEventsAvailabilityResultResult is the BasicEventsResultData implementation for EventsAvailabilityResultResult. -func (earr EventsAvailabilityResultResult) AsEventsAvailabilityResultResult() (*EventsAvailabilityResultResult, bool) { - return &earr, true -} - -// AsEventsPerformanceCounterResult is the BasicEventsResultData implementation for EventsAvailabilityResultResult. -func (earr EventsAvailabilityResultResult) AsEventsPerformanceCounterResult() (*EventsPerformanceCounterResult, bool) { - return nil, false -} - -// AsEventsCustomMetricResult is the BasicEventsResultData implementation for EventsAvailabilityResultResult. -func (earr EventsAvailabilityResultResult) AsEventsCustomMetricResult() (*EventsCustomMetricResult, bool) { - return nil, false -} - -// AsEventsResultData is the BasicEventsResultData implementation for EventsAvailabilityResultResult. -func (earr EventsAvailabilityResultResult) AsEventsResultData() (*EventsResultData, bool) { - return nil, false -} - -// AsBasicEventsResultData is the BasicEventsResultData implementation for EventsAvailabilityResultResult. -func (earr EventsAvailabilityResultResult) AsBasicEventsResultData() (BasicEventsResultData, bool) { - return &earr, true -} - -// EventsBrowserTimingInfo the browser timing information -type EventsBrowserTimingInfo struct { - // URLPath - The path of the URL - URLPath *string `json:"urlPath,omitempty"` - // URLHost - The host of the URL - URLHost *string `json:"urlHost,omitempty"` - // Name - The name of the page - Name *string `json:"name,omitempty"` - // URL - The url of the page - URL *string `json:"url,omitempty"` - // TotalDuration - The total duration of the load - TotalDuration *int64 `json:"totalDuration,omitempty"` - // PerformanceBucket - The performance bucket of the load - PerformanceBucket *string `json:"performanceBucket,omitempty"` - // NetworkDuration - The network duration of the load - NetworkDuration *int64 `json:"networkDuration,omitempty"` - // SendDuration - The send duration of the load - SendDuration *int64 `json:"sendDuration,omitempty"` - // ReceiveDuration - The receive duration of the load - ReceiveDuration *int64 `json:"receiveDuration,omitempty"` - // ProcessingDuration - The processing duration of the load - ProcessingDuration *int64 `json:"processingDuration,omitempty"` -} - -// EventsBrowserTimingResult a browser timing result -type EventsBrowserTimingResult struct { - BrowserTiming *EventsBrowserTimingInfo `json:"browserTiming,omitempty"` - ClientPerformance *EventsClientPerformanceInfo `json:"clientPerformance,omitempty"` - // ID - The unique ID for this event. - ID *string `json:"id,omitempty"` - // Count - Count of the event - Count *int64 `json:"count,omitempty"` - // Timestamp - Timestamp of the event - Timestamp *date.Time `json:"timestamp,omitempty"` - // CustomDimensions - Custom dimensions of the event - CustomDimensions *EventsResultDataCustomDimensions `json:"customDimensions,omitempty"` - // CustomMeasurements - Custom measurements of the event - CustomMeasurements *EventsResultDataCustomMeasurements `json:"customMeasurements,omitempty"` - // Operation - Operation info of the event - Operation *EventsOperationInfo `json:"operation,omitempty"` - // Session - Session info of the event - Session *EventsSessionInfo `json:"session,omitempty"` - // User - User info of the event - User *EventsUserInfo `json:"user,omitempty"` - // Cloud - Cloud info of the event - Cloud *EventsCloudInfo `json:"cloud,omitempty"` - // Ai - AI info of the event - Ai *EventsAiInfo `json:"ai,omitempty"` - // Application - Application info of the event - Application *EventsApplicationInfo `json:"application,omitempty"` - // Client - Client info of the event - Client *EventsClientInfo `json:"client,omitempty"` - // Type - Possible values include: 'TypeEventsResultData', 'TypeTrace', 'TypeCustomEvent', 'TypePageView', 'TypeBrowserTiming', 'TypeRequest', 'TypeDependency', 'TypeException', 'TypeAvailabilityResult', 'TypePerformanceCounter', 'TypeCustomMetric' - Type Type `json:"type,omitempty"` -} - -// MarshalJSON is the custom marshaler for EventsBrowserTimingResult. -func (ebtr EventsBrowserTimingResult) MarshalJSON() ([]byte, error) { - ebtr.Type = TypeBrowserTiming - objectMap := make(map[string]interface{}) - if ebtr.BrowserTiming != nil { - objectMap["browserTiming"] = ebtr.BrowserTiming - } - if ebtr.ClientPerformance != nil { - objectMap["clientPerformance"] = ebtr.ClientPerformance - } - if ebtr.ID != nil { - objectMap["id"] = ebtr.ID - } - if ebtr.Count != nil { - objectMap["count"] = ebtr.Count - } - if ebtr.Timestamp != nil { - objectMap["timestamp"] = ebtr.Timestamp - } - if ebtr.CustomDimensions != nil { - objectMap["customDimensions"] = ebtr.CustomDimensions - } - if ebtr.CustomMeasurements != nil { - objectMap["customMeasurements"] = ebtr.CustomMeasurements - } - if ebtr.Operation != nil { - objectMap["operation"] = ebtr.Operation - } - if ebtr.Session != nil { - objectMap["session"] = ebtr.Session - } - if ebtr.User != nil { - objectMap["user"] = ebtr.User - } - if ebtr.Cloud != nil { - objectMap["cloud"] = ebtr.Cloud - } - if ebtr.Ai != nil { - objectMap["ai"] = ebtr.Ai - } - if ebtr.Application != nil { - objectMap["application"] = ebtr.Application - } - if ebtr.Client != nil { - objectMap["client"] = ebtr.Client - } - if ebtr.Type != "" { - objectMap["type"] = ebtr.Type - } - return json.Marshal(objectMap) -} - -// AsEventsTraceResult is the BasicEventsResultData implementation for EventsBrowserTimingResult. -func (ebtr EventsBrowserTimingResult) AsEventsTraceResult() (*EventsTraceResult, bool) { - return nil, false -} - -// AsEventsCustomEventResult is the BasicEventsResultData implementation for EventsBrowserTimingResult. -func (ebtr EventsBrowserTimingResult) AsEventsCustomEventResult() (*EventsCustomEventResult, bool) { - return nil, false -} - -// AsEventsPageViewResult is the BasicEventsResultData implementation for EventsBrowserTimingResult. -func (ebtr EventsBrowserTimingResult) AsEventsPageViewResult() (*EventsPageViewResult, bool) { - return nil, false -} - -// AsEventsBrowserTimingResult is the BasicEventsResultData implementation for EventsBrowserTimingResult. -func (ebtr EventsBrowserTimingResult) AsEventsBrowserTimingResult() (*EventsBrowserTimingResult, bool) { - return &ebtr, true -} - -// AsEventsRequestResult is the BasicEventsResultData implementation for EventsBrowserTimingResult. -func (ebtr EventsBrowserTimingResult) AsEventsRequestResult() (*EventsRequestResult, bool) { - return nil, false -} - -// AsEventsDependencyResult is the BasicEventsResultData implementation for EventsBrowserTimingResult. -func (ebtr EventsBrowserTimingResult) AsEventsDependencyResult() (*EventsDependencyResult, bool) { - return nil, false -} - -// AsEventsExceptionResult is the BasicEventsResultData implementation for EventsBrowserTimingResult. -func (ebtr EventsBrowserTimingResult) AsEventsExceptionResult() (*EventsExceptionResult, bool) { - return nil, false -} - -// AsEventsAvailabilityResultResult is the BasicEventsResultData implementation for EventsBrowserTimingResult. -func (ebtr EventsBrowserTimingResult) AsEventsAvailabilityResultResult() (*EventsAvailabilityResultResult, bool) { - return nil, false -} - -// AsEventsPerformanceCounterResult is the BasicEventsResultData implementation for EventsBrowserTimingResult. -func (ebtr EventsBrowserTimingResult) AsEventsPerformanceCounterResult() (*EventsPerformanceCounterResult, bool) { - return nil, false -} - -// AsEventsCustomMetricResult is the BasicEventsResultData implementation for EventsBrowserTimingResult. -func (ebtr EventsBrowserTimingResult) AsEventsCustomMetricResult() (*EventsCustomMetricResult, bool) { - return nil, false -} - -// AsEventsResultData is the BasicEventsResultData implementation for EventsBrowserTimingResult. -func (ebtr EventsBrowserTimingResult) AsEventsResultData() (*EventsResultData, bool) { - return nil, false -} - -// AsBasicEventsResultData is the BasicEventsResultData implementation for EventsBrowserTimingResult. -func (ebtr EventsBrowserTimingResult) AsBasicEventsResultData() (BasicEventsResultData, bool) { - return &ebtr, true -} - -// EventsClientInfo client info for an event result -type EventsClientInfo struct { - // Model - Model of the client - Model *string `json:"model,omitempty"` - // Os - Operating system of the client - Os *string `json:"os,omitempty"` - // Type - Type of the client - Type *string `json:"type,omitempty"` - // Browser - Browser of the client - Browser *string `json:"browser,omitempty"` - // IP - IP address of the client - IP *string `json:"ip,omitempty"` - // City - City of the client - City *string `json:"city,omitempty"` - // StateOrProvince - State or province of the client - StateOrProvince *string `json:"stateOrProvince,omitempty"` - // CountryOrRegion - Country or region of the client - CountryOrRegion *string `json:"countryOrRegion,omitempty"` -} - -// EventsClientPerformanceInfo client performance information -type EventsClientPerformanceInfo struct { - // Name - The name of the client performance - Name *string `json:"name,omitempty"` -} - -// EventsCloudInfo cloud info for an event result -type EventsCloudInfo struct { - // RoleName - Role name of the cloud - RoleName *string `json:"roleName,omitempty"` - // RoleInstance - Role instance of the cloud - RoleInstance *string `json:"roleInstance,omitempty"` -} - -// EventsCustomEventInfo the custom event information -type EventsCustomEventInfo struct { - // Name - The name of the custom event - Name *string `json:"name,omitempty"` -} - -// EventsCustomEventResult a custom event result -type EventsCustomEventResult struct { - CustomEvent *EventsCustomEventInfo `json:"customEvent,omitempty"` - // ID - The unique ID for this event. - ID *string `json:"id,omitempty"` - // Count - Count of the event - Count *int64 `json:"count,omitempty"` - // Timestamp - Timestamp of the event - Timestamp *date.Time `json:"timestamp,omitempty"` - // CustomDimensions - Custom dimensions of the event - CustomDimensions *EventsResultDataCustomDimensions `json:"customDimensions,omitempty"` - // CustomMeasurements - Custom measurements of the event - CustomMeasurements *EventsResultDataCustomMeasurements `json:"customMeasurements,omitempty"` - // Operation - Operation info of the event - Operation *EventsOperationInfo `json:"operation,omitempty"` - // Session - Session info of the event - Session *EventsSessionInfo `json:"session,omitempty"` - // User - User info of the event - User *EventsUserInfo `json:"user,omitempty"` - // Cloud - Cloud info of the event - Cloud *EventsCloudInfo `json:"cloud,omitempty"` - // Ai - AI info of the event - Ai *EventsAiInfo `json:"ai,omitempty"` - // Application - Application info of the event - Application *EventsApplicationInfo `json:"application,omitempty"` - // Client - Client info of the event - Client *EventsClientInfo `json:"client,omitempty"` - // Type - Possible values include: 'TypeEventsResultData', 'TypeTrace', 'TypeCustomEvent', 'TypePageView', 'TypeBrowserTiming', 'TypeRequest', 'TypeDependency', 'TypeException', 'TypeAvailabilityResult', 'TypePerformanceCounter', 'TypeCustomMetric' - Type Type `json:"type,omitempty"` -} - -// MarshalJSON is the custom marshaler for EventsCustomEventResult. -func (ecer EventsCustomEventResult) MarshalJSON() ([]byte, error) { - ecer.Type = TypeCustomEvent - objectMap := make(map[string]interface{}) - if ecer.CustomEvent != nil { - objectMap["customEvent"] = ecer.CustomEvent - } - if ecer.ID != nil { - objectMap["id"] = ecer.ID - } - if ecer.Count != nil { - objectMap["count"] = ecer.Count - } - if ecer.Timestamp != nil { - objectMap["timestamp"] = ecer.Timestamp - } - if ecer.CustomDimensions != nil { - objectMap["customDimensions"] = ecer.CustomDimensions - } - if ecer.CustomMeasurements != nil { - objectMap["customMeasurements"] = ecer.CustomMeasurements - } - if ecer.Operation != nil { - objectMap["operation"] = ecer.Operation - } - if ecer.Session != nil { - objectMap["session"] = ecer.Session - } - if ecer.User != nil { - objectMap["user"] = ecer.User - } - if ecer.Cloud != nil { - objectMap["cloud"] = ecer.Cloud - } - if ecer.Ai != nil { - objectMap["ai"] = ecer.Ai - } - if ecer.Application != nil { - objectMap["application"] = ecer.Application - } - if ecer.Client != nil { - objectMap["client"] = ecer.Client - } - if ecer.Type != "" { - objectMap["type"] = ecer.Type - } - return json.Marshal(objectMap) -} - -// AsEventsTraceResult is the BasicEventsResultData implementation for EventsCustomEventResult. -func (ecer EventsCustomEventResult) AsEventsTraceResult() (*EventsTraceResult, bool) { - return nil, false -} - -// AsEventsCustomEventResult is the BasicEventsResultData implementation for EventsCustomEventResult. -func (ecer EventsCustomEventResult) AsEventsCustomEventResult() (*EventsCustomEventResult, bool) { - return &ecer, true -} - -// AsEventsPageViewResult is the BasicEventsResultData implementation for EventsCustomEventResult. -func (ecer EventsCustomEventResult) AsEventsPageViewResult() (*EventsPageViewResult, bool) { - return nil, false -} - -// AsEventsBrowserTimingResult is the BasicEventsResultData implementation for EventsCustomEventResult. -func (ecer EventsCustomEventResult) AsEventsBrowserTimingResult() (*EventsBrowserTimingResult, bool) { - return nil, false -} - -// AsEventsRequestResult is the BasicEventsResultData implementation for EventsCustomEventResult. -func (ecer EventsCustomEventResult) AsEventsRequestResult() (*EventsRequestResult, bool) { - return nil, false -} - -// AsEventsDependencyResult is the BasicEventsResultData implementation for EventsCustomEventResult. -func (ecer EventsCustomEventResult) AsEventsDependencyResult() (*EventsDependencyResult, bool) { - return nil, false -} - -// AsEventsExceptionResult is the BasicEventsResultData implementation for EventsCustomEventResult. -func (ecer EventsCustomEventResult) AsEventsExceptionResult() (*EventsExceptionResult, bool) { - return nil, false -} - -// AsEventsAvailabilityResultResult is the BasicEventsResultData implementation for EventsCustomEventResult. -func (ecer EventsCustomEventResult) AsEventsAvailabilityResultResult() (*EventsAvailabilityResultResult, bool) { - return nil, false -} - -// AsEventsPerformanceCounterResult is the BasicEventsResultData implementation for EventsCustomEventResult. -func (ecer EventsCustomEventResult) AsEventsPerformanceCounterResult() (*EventsPerformanceCounterResult, bool) { - return nil, false -} - -// AsEventsCustomMetricResult is the BasicEventsResultData implementation for EventsCustomEventResult. -func (ecer EventsCustomEventResult) AsEventsCustomMetricResult() (*EventsCustomMetricResult, bool) { - return nil, false -} - -// AsEventsResultData is the BasicEventsResultData implementation for EventsCustomEventResult. -func (ecer EventsCustomEventResult) AsEventsResultData() (*EventsResultData, bool) { - return nil, false -} - -// AsBasicEventsResultData is the BasicEventsResultData implementation for EventsCustomEventResult. -func (ecer EventsCustomEventResult) AsBasicEventsResultData() (BasicEventsResultData, bool) { - return &ecer, true -} - -// EventsCustomMetricInfo the custom metric info -type EventsCustomMetricInfo struct { - // Name - The name of the custom metric - Name *string `json:"name,omitempty"` - // Value - The value of the custom metric - Value *float64 `json:"value,omitempty"` - // ValueSum - The sum of the custom metric - ValueSum *float64 `json:"valueSum,omitempty"` - // ValueCount - The count of the custom metric - ValueCount *int32 `json:"valueCount,omitempty"` - // ValueMin - The minimum value of the custom metric - ValueMin *float64 `json:"valueMin,omitempty"` - // ValueMax - The maximum value of the custom metric - ValueMax *float64 `json:"valueMax,omitempty"` - // ValueStdDev - The standard deviation of the custom metric - ValueStdDev *float64 `json:"valueStdDev,omitempty"` -} - -// EventsCustomMetricResult a custom metric result -type EventsCustomMetricResult struct { - CustomMetric *EventsCustomMetricInfo `json:"customMetric,omitempty"` - // ID - The unique ID for this event. - ID *string `json:"id,omitempty"` - // Count - Count of the event - Count *int64 `json:"count,omitempty"` - // Timestamp - Timestamp of the event - Timestamp *date.Time `json:"timestamp,omitempty"` - // CustomDimensions - Custom dimensions of the event - CustomDimensions *EventsResultDataCustomDimensions `json:"customDimensions,omitempty"` - // CustomMeasurements - Custom measurements of the event - CustomMeasurements *EventsResultDataCustomMeasurements `json:"customMeasurements,omitempty"` - // Operation - Operation info of the event - Operation *EventsOperationInfo `json:"operation,omitempty"` - // Session - Session info of the event - Session *EventsSessionInfo `json:"session,omitempty"` - // User - User info of the event - User *EventsUserInfo `json:"user,omitempty"` - // Cloud - Cloud info of the event - Cloud *EventsCloudInfo `json:"cloud,omitempty"` - // Ai - AI info of the event - Ai *EventsAiInfo `json:"ai,omitempty"` - // Application - Application info of the event - Application *EventsApplicationInfo `json:"application,omitempty"` - // Client - Client info of the event - Client *EventsClientInfo `json:"client,omitempty"` - // Type - Possible values include: 'TypeEventsResultData', 'TypeTrace', 'TypeCustomEvent', 'TypePageView', 'TypeBrowserTiming', 'TypeRequest', 'TypeDependency', 'TypeException', 'TypeAvailabilityResult', 'TypePerformanceCounter', 'TypeCustomMetric' - Type Type `json:"type,omitempty"` -} - -// MarshalJSON is the custom marshaler for EventsCustomMetricResult. -func (ecmr EventsCustomMetricResult) MarshalJSON() ([]byte, error) { - ecmr.Type = TypeCustomMetric - objectMap := make(map[string]interface{}) - if ecmr.CustomMetric != nil { - objectMap["customMetric"] = ecmr.CustomMetric - } - if ecmr.ID != nil { - objectMap["id"] = ecmr.ID - } - if ecmr.Count != nil { - objectMap["count"] = ecmr.Count - } - if ecmr.Timestamp != nil { - objectMap["timestamp"] = ecmr.Timestamp - } - if ecmr.CustomDimensions != nil { - objectMap["customDimensions"] = ecmr.CustomDimensions - } - if ecmr.CustomMeasurements != nil { - objectMap["customMeasurements"] = ecmr.CustomMeasurements - } - if ecmr.Operation != nil { - objectMap["operation"] = ecmr.Operation - } - if ecmr.Session != nil { - objectMap["session"] = ecmr.Session - } - if ecmr.User != nil { - objectMap["user"] = ecmr.User - } - if ecmr.Cloud != nil { - objectMap["cloud"] = ecmr.Cloud - } - if ecmr.Ai != nil { - objectMap["ai"] = ecmr.Ai - } - if ecmr.Application != nil { - objectMap["application"] = ecmr.Application - } - if ecmr.Client != nil { - objectMap["client"] = ecmr.Client - } - if ecmr.Type != "" { - objectMap["type"] = ecmr.Type - } - return json.Marshal(objectMap) -} - -// AsEventsTraceResult is the BasicEventsResultData implementation for EventsCustomMetricResult. -func (ecmr EventsCustomMetricResult) AsEventsTraceResult() (*EventsTraceResult, bool) { - return nil, false -} - -// AsEventsCustomEventResult is the BasicEventsResultData implementation for EventsCustomMetricResult. -func (ecmr EventsCustomMetricResult) AsEventsCustomEventResult() (*EventsCustomEventResult, bool) { - return nil, false -} - -// AsEventsPageViewResult is the BasicEventsResultData implementation for EventsCustomMetricResult. -func (ecmr EventsCustomMetricResult) AsEventsPageViewResult() (*EventsPageViewResult, bool) { - return nil, false -} - -// AsEventsBrowserTimingResult is the BasicEventsResultData implementation for EventsCustomMetricResult. -func (ecmr EventsCustomMetricResult) AsEventsBrowserTimingResult() (*EventsBrowserTimingResult, bool) { - return nil, false -} - -// AsEventsRequestResult is the BasicEventsResultData implementation for EventsCustomMetricResult. -func (ecmr EventsCustomMetricResult) AsEventsRequestResult() (*EventsRequestResult, bool) { - return nil, false -} - -// AsEventsDependencyResult is the BasicEventsResultData implementation for EventsCustomMetricResult. -func (ecmr EventsCustomMetricResult) AsEventsDependencyResult() (*EventsDependencyResult, bool) { - return nil, false -} - -// AsEventsExceptionResult is the BasicEventsResultData implementation for EventsCustomMetricResult. -func (ecmr EventsCustomMetricResult) AsEventsExceptionResult() (*EventsExceptionResult, bool) { - return nil, false -} - -// AsEventsAvailabilityResultResult is the BasicEventsResultData implementation for EventsCustomMetricResult. -func (ecmr EventsCustomMetricResult) AsEventsAvailabilityResultResult() (*EventsAvailabilityResultResult, bool) { - return nil, false -} - -// AsEventsPerformanceCounterResult is the BasicEventsResultData implementation for EventsCustomMetricResult. -func (ecmr EventsCustomMetricResult) AsEventsPerformanceCounterResult() (*EventsPerformanceCounterResult, bool) { - return nil, false -} - -// AsEventsCustomMetricResult is the BasicEventsResultData implementation for EventsCustomMetricResult. -func (ecmr EventsCustomMetricResult) AsEventsCustomMetricResult() (*EventsCustomMetricResult, bool) { - return &ecmr, true -} - -// AsEventsResultData is the BasicEventsResultData implementation for EventsCustomMetricResult. -func (ecmr EventsCustomMetricResult) AsEventsResultData() (*EventsResultData, bool) { - return nil, false -} - -// AsBasicEventsResultData is the BasicEventsResultData implementation for EventsCustomMetricResult. -func (ecmr EventsCustomMetricResult) AsBasicEventsResultData() (BasicEventsResultData, bool) { - return &ecmr, true -} - -// EventsDependencyInfo the dependency info -type EventsDependencyInfo struct { - // Target - The target of the dependency - Target *string `json:"target,omitempty"` - // Data - The data of the dependency - Data *string `json:"data,omitempty"` - // Success - Indicates if the dependency was successful - Success *string `json:"success,omitempty"` - // Duration - The duration of the dependency - Duration *int64 `json:"duration,omitempty"` - // PerformanceBucket - The performance bucket of the dependency - PerformanceBucket *string `json:"performanceBucket,omitempty"` - // ResultCode - The result code of the dependency - ResultCode *string `json:"resultCode,omitempty"` - // Type - The type of the dependency - Type *string `json:"type,omitempty"` - // Name - The name of the dependency - Name *string `json:"name,omitempty"` - // ID - The ID of the dependency - ID *string `json:"id,omitempty"` -} - -// EventsDependencyResult a dependency result -type EventsDependencyResult struct { - Dependency *EventsDependencyInfo `json:"dependency,omitempty"` - // ID - The unique ID for this event. - ID *string `json:"id,omitempty"` - // Count - Count of the event - Count *int64 `json:"count,omitempty"` - // Timestamp - Timestamp of the event - Timestamp *date.Time `json:"timestamp,omitempty"` - // CustomDimensions - Custom dimensions of the event - CustomDimensions *EventsResultDataCustomDimensions `json:"customDimensions,omitempty"` - // CustomMeasurements - Custom measurements of the event - CustomMeasurements *EventsResultDataCustomMeasurements `json:"customMeasurements,omitempty"` - // Operation - Operation info of the event - Operation *EventsOperationInfo `json:"operation,omitempty"` - // Session - Session info of the event - Session *EventsSessionInfo `json:"session,omitempty"` - // User - User info of the event - User *EventsUserInfo `json:"user,omitempty"` - // Cloud - Cloud info of the event - Cloud *EventsCloudInfo `json:"cloud,omitempty"` - // Ai - AI info of the event - Ai *EventsAiInfo `json:"ai,omitempty"` - // Application - Application info of the event - Application *EventsApplicationInfo `json:"application,omitempty"` - // Client - Client info of the event - Client *EventsClientInfo `json:"client,omitempty"` - // Type - Possible values include: 'TypeEventsResultData', 'TypeTrace', 'TypeCustomEvent', 'TypePageView', 'TypeBrowserTiming', 'TypeRequest', 'TypeDependency', 'TypeException', 'TypeAvailabilityResult', 'TypePerformanceCounter', 'TypeCustomMetric' - Type Type `json:"type,omitempty"` -} - -// MarshalJSON is the custom marshaler for EventsDependencyResult. -func (edr EventsDependencyResult) MarshalJSON() ([]byte, error) { - edr.Type = TypeDependency - objectMap := make(map[string]interface{}) - if edr.Dependency != nil { - objectMap["dependency"] = edr.Dependency - } - if edr.ID != nil { - objectMap["id"] = edr.ID - } - if edr.Count != nil { - objectMap["count"] = edr.Count - } - if edr.Timestamp != nil { - objectMap["timestamp"] = edr.Timestamp - } - if edr.CustomDimensions != nil { - objectMap["customDimensions"] = edr.CustomDimensions - } - if edr.CustomMeasurements != nil { - objectMap["customMeasurements"] = edr.CustomMeasurements - } - if edr.Operation != nil { - objectMap["operation"] = edr.Operation - } - if edr.Session != nil { - objectMap["session"] = edr.Session - } - if edr.User != nil { - objectMap["user"] = edr.User - } - if edr.Cloud != nil { - objectMap["cloud"] = edr.Cloud - } - if edr.Ai != nil { - objectMap["ai"] = edr.Ai - } - if edr.Application != nil { - objectMap["application"] = edr.Application - } - if edr.Client != nil { - objectMap["client"] = edr.Client - } - if edr.Type != "" { - objectMap["type"] = edr.Type - } - return json.Marshal(objectMap) -} - -// AsEventsTraceResult is the BasicEventsResultData implementation for EventsDependencyResult. -func (edr EventsDependencyResult) AsEventsTraceResult() (*EventsTraceResult, bool) { - return nil, false -} - -// AsEventsCustomEventResult is the BasicEventsResultData implementation for EventsDependencyResult. -func (edr EventsDependencyResult) AsEventsCustomEventResult() (*EventsCustomEventResult, bool) { - return nil, false -} - -// AsEventsPageViewResult is the BasicEventsResultData implementation for EventsDependencyResult. -func (edr EventsDependencyResult) AsEventsPageViewResult() (*EventsPageViewResult, bool) { - return nil, false -} - -// AsEventsBrowserTimingResult is the BasicEventsResultData implementation for EventsDependencyResult. -func (edr EventsDependencyResult) AsEventsBrowserTimingResult() (*EventsBrowserTimingResult, bool) { - return nil, false -} - -// AsEventsRequestResult is the BasicEventsResultData implementation for EventsDependencyResult. -func (edr EventsDependencyResult) AsEventsRequestResult() (*EventsRequestResult, bool) { - return nil, false -} - -// AsEventsDependencyResult is the BasicEventsResultData implementation for EventsDependencyResult. -func (edr EventsDependencyResult) AsEventsDependencyResult() (*EventsDependencyResult, bool) { - return &edr, true -} - -// AsEventsExceptionResult is the BasicEventsResultData implementation for EventsDependencyResult. -func (edr EventsDependencyResult) AsEventsExceptionResult() (*EventsExceptionResult, bool) { - return nil, false -} - -// AsEventsAvailabilityResultResult is the BasicEventsResultData implementation for EventsDependencyResult. -func (edr EventsDependencyResult) AsEventsAvailabilityResultResult() (*EventsAvailabilityResultResult, bool) { - return nil, false -} - -// AsEventsPerformanceCounterResult is the BasicEventsResultData implementation for EventsDependencyResult. -func (edr EventsDependencyResult) AsEventsPerformanceCounterResult() (*EventsPerformanceCounterResult, bool) { - return nil, false -} - -// AsEventsCustomMetricResult is the BasicEventsResultData implementation for EventsDependencyResult. -func (edr EventsDependencyResult) AsEventsCustomMetricResult() (*EventsCustomMetricResult, bool) { - return nil, false -} - -// AsEventsResultData is the BasicEventsResultData implementation for EventsDependencyResult. -func (edr EventsDependencyResult) AsEventsResultData() (*EventsResultData, bool) { - return nil, false -} - -// AsBasicEventsResultData is the BasicEventsResultData implementation for EventsDependencyResult. -func (edr EventsDependencyResult) AsBasicEventsResultData() (BasicEventsResultData, bool) { - return &edr, true -} - -// EventsExceptionDetail exception details -type EventsExceptionDetail struct { - // SeverityLevel - The severity level of the exception detail - SeverityLevel *string `json:"severityLevel,omitempty"` - // OuterID - The outer ID of the exception detail - OuterID *string `json:"outerId,omitempty"` - // Message - The message of the exception detail - Message *string `json:"message,omitempty"` - // Type - The type of the exception detail - Type *string `json:"type,omitempty"` - // ID - The ID of the exception detail - ID *string `json:"id,omitempty"` - // ParsedStack - The parsed stack - ParsedStack *[]EventsExceptionDetailsParsedStack `json:"parsedStack,omitempty"` -} - -// EventsExceptionDetailsParsedStack a parsed stack entry -type EventsExceptionDetailsParsedStack struct { - // Assembly - The assembly of the stack entry - Assembly *string `json:"assembly,omitempty"` - // Method - The method of the stack entry - Method *string `json:"method,omitempty"` - // Level - The level of the stack entry - Level *int64 `json:"level,omitempty"` - // Line - The line of the stack entry - Line *int64 `json:"line,omitempty"` -} - -// EventsExceptionInfo the exception info -type EventsExceptionInfo struct { - // SeverityLevel - The severity level of the exception - SeverityLevel *int32 `json:"severityLevel,omitempty"` - // ProblemID - The problem ID of the exception - ProblemID *string `json:"problemId,omitempty"` - // HandledAt - Indicates where the exception was handled at - HandledAt *string `json:"handledAt,omitempty"` - // Assembly - The assembly which threw the exception - Assembly *string `json:"assembly,omitempty"` - // Method - The method that threw the exception - Method *string `json:"method,omitempty"` - // Message - The message of the exception - Message *string `json:"message,omitempty"` - // Type - The type of the exception - Type *string `json:"type,omitempty"` - // OuterType - The outer type of the exception - OuterType *string `json:"outerType,omitempty"` - // OuterMethod - The outer method of the exception - OuterMethod *string `json:"outerMethod,omitempty"` - // OuterAssembly - The outer assmebly of the exception - OuterAssembly *string `json:"outerAssembly,omitempty"` - // OuterMessage - The outer message of the exception - OuterMessage *string `json:"outerMessage,omitempty"` - // InnermostType - The inner most type of the exception - InnermostType *string `json:"innermostType,omitempty"` - // InnermostMessage - The inner most message of the exception - InnermostMessage *string `json:"innermostMessage,omitempty"` - // InnermostMethod - The inner most method of the exception - InnermostMethod *string `json:"innermostMethod,omitempty"` - // InnermostAssembly - The inner most assembly of the exception - InnermostAssembly *string `json:"innermostAssembly,omitempty"` - // Details - The details of the exception - Details *[]EventsExceptionDetail `json:"details,omitempty"` -} - -// EventsExceptionResult an exception result -type EventsExceptionResult struct { - Exception *EventsExceptionInfo `json:"exception,omitempty"` - // ID - The unique ID for this event. - ID *string `json:"id,omitempty"` - // Count - Count of the event - Count *int64 `json:"count,omitempty"` - // Timestamp - Timestamp of the event - Timestamp *date.Time `json:"timestamp,omitempty"` - // CustomDimensions - Custom dimensions of the event - CustomDimensions *EventsResultDataCustomDimensions `json:"customDimensions,omitempty"` - // CustomMeasurements - Custom measurements of the event - CustomMeasurements *EventsResultDataCustomMeasurements `json:"customMeasurements,omitempty"` - // Operation - Operation info of the event - Operation *EventsOperationInfo `json:"operation,omitempty"` - // Session - Session info of the event - Session *EventsSessionInfo `json:"session,omitempty"` - // User - User info of the event - User *EventsUserInfo `json:"user,omitempty"` - // Cloud - Cloud info of the event - Cloud *EventsCloudInfo `json:"cloud,omitempty"` - // Ai - AI info of the event - Ai *EventsAiInfo `json:"ai,omitempty"` - // Application - Application info of the event - Application *EventsApplicationInfo `json:"application,omitempty"` - // Client - Client info of the event - Client *EventsClientInfo `json:"client,omitempty"` - // Type - Possible values include: 'TypeEventsResultData', 'TypeTrace', 'TypeCustomEvent', 'TypePageView', 'TypeBrowserTiming', 'TypeRequest', 'TypeDependency', 'TypeException', 'TypeAvailabilityResult', 'TypePerformanceCounter', 'TypeCustomMetric' - Type Type `json:"type,omitempty"` -} - -// MarshalJSON is the custom marshaler for EventsExceptionResult. -func (eer EventsExceptionResult) MarshalJSON() ([]byte, error) { - eer.Type = TypeException - objectMap := make(map[string]interface{}) - if eer.Exception != nil { - objectMap["exception"] = eer.Exception - } - if eer.ID != nil { - objectMap["id"] = eer.ID - } - if eer.Count != nil { - objectMap["count"] = eer.Count - } - if eer.Timestamp != nil { - objectMap["timestamp"] = eer.Timestamp - } - if eer.CustomDimensions != nil { - objectMap["customDimensions"] = eer.CustomDimensions - } - if eer.CustomMeasurements != nil { - objectMap["customMeasurements"] = eer.CustomMeasurements - } - if eer.Operation != nil { - objectMap["operation"] = eer.Operation - } - if eer.Session != nil { - objectMap["session"] = eer.Session - } - if eer.User != nil { - objectMap["user"] = eer.User - } - if eer.Cloud != nil { - objectMap["cloud"] = eer.Cloud - } - if eer.Ai != nil { - objectMap["ai"] = eer.Ai - } - if eer.Application != nil { - objectMap["application"] = eer.Application - } - if eer.Client != nil { - objectMap["client"] = eer.Client - } - if eer.Type != "" { - objectMap["type"] = eer.Type - } - return json.Marshal(objectMap) -} - -// AsEventsTraceResult is the BasicEventsResultData implementation for EventsExceptionResult. -func (eer EventsExceptionResult) AsEventsTraceResult() (*EventsTraceResult, bool) { - return nil, false -} - -// AsEventsCustomEventResult is the BasicEventsResultData implementation for EventsExceptionResult. -func (eer EventsExceptionResult) AsEventsCustomEventResult() (*EventsCustomEventResult, bool) { - return nil, false -} - -// AsEventsPageViewResult is the BasicEventsResultData implementation for EventsExceptionResult. -func (eer EventsExceptionResult) AsEventsPageViewResult() (*EventsPageViewResult, bool) { - return nil, false -} - -// AsEventsBrowserTimingResult is the BasicEventsResultData implementation for EventsExceptionResult. -func (eer EventsExceptionResult) AsEventsBrowserTimingResult() (*EventsBrowserTimingResult, bool) { - return nil, false -} - -// AsEventsRequestResult is the BasicEventsResultData implementation for EventsExceptionResult. -func (eer EventsExceptionResult) AsEventsRequestResult() (*EventsRequestResult, bool) { - return nil, false -} - -// AsEventsDependencyResult is the BasicEventsResultData implementation for EventsExceptionResult. -func (eer EventsExceptionResult) AsEventsDependencyResult() (*EventsDependencyResult, bool) { - return nil, false -} - -// AsEventsExceptionResult is the BasicEventsResultData implementation for EventsExceptionResult. -func (eer EventsExceptionResult) AsEventsExceptionResult() (*EventsExceptionResult, bool) { - return &eer, true -} - -// AsEventsAvailabilityResultResult is the BasicEventsResultData implementation for EventsExceptionResult. -func (eer EventsExceptionResult) AsEventsAvailabilityResultResult() (*EventsAvailabilityResultResult, bool) { - return nil, false -} - -// AsEventsPerformanceCounterResult is the BasicEventsResultData implementation for EventsExceptionResult. -func (eer EventsExceptionResult) AsEventsPerformanceCounterResult() (*EventsPerformanceCounterResult, bool) { - return nil, false -} - -// AsEventsCustomMetricResult is the BasicEventsResultData implementation for EventsExceptionResult. -func (eer EventsExceptionResult) AsEventsCustomMetricResult() (*EventsCustomMetricResult, bool) { - return nil, false -} - -// AsEventsResultData is the BasicEventsResultData implementation for EventsExceptionResult. -func (eer EventsExceptionResult) AsEventsResultData() (*EventsResultData, bool) { - return nil, false -} - -// AsBasicEventsResultData is the BasicEventsResultData implementation for EventsExceptionResult. -func (eer EventsExceptionResult) AsBasicEventsResultData() (BasicEventsResultData, bool) { - return &eer, true -} - -// EventsOperationInfo operation info for an event result -type EventsOperationInfo struct { - // Name - Name of the operation - Name *string `json:"name,omitempty"` - // ID - ID of the operation - ID *string `json:"id,omitempty"` - // ParentID - Parent ID of the operation - ParentID *string `json:"parentId,omitempty"` - // SyntheticSource - Synthetic source of the operation - SyntheticSource *string `json:"syntheticSource,omitempty"` -} - -// EventsPageViewInfo the page view information -type EventsPageViewInfo struct { - // Name - The name of the page - Name *string `json:"name,omitempty"` - // URL - The URL of the page - URL *string `json:"url,omitempty"` - // Duration - The duration of the page view - Duration *string `json:"duration,omitempty"` - // PerformanceBucket - The performance bucket of the page view - PerformanceBucket *string `json:"performanceBucket,omitempty"` -} - -// EventsPageViewResult a page view result -type EventsPageViewResult struct { - PageView *EventsPageViewInfo `json:"pageView,omitempty"` - // ID - The unique ID for this event. - ID *string `json:"id,omitempty"` - // Count - Count of the event - Count *int64 `json:"count,omitempty"` - // Timestamp - Timestamp of the event - Timestamp *date.Time `json:"timestamp,omitempty"` - // CustomDimensions - Custom dimensions of the event - CustomDimensions *EventsResultDataCustomDimensions `json:"customDimensions,omitempty"` - // CustomMeasurements - Custom measurements of the event - CustomMeasurements *EventsResultDataCustomMeasurements `json:"customMeasurements,omitempty"` - // Operation - Operation info of the event - Operation *EventsOperationInfo `json:"operation,omitempty"` - // Session - Session info of the event - Session *EventsSessionInfo `json:"session,omitempty"` - // User - User info of the event - User *EventsUserInfo `json:"user,omitempty"` - // Cloud - Cloud info of the event - Cloud *EventsCloudInfo `json:"cloud,omitempty"` - // Ai - AI info of the event - Ai *EventsAiInfo `json:"ai,omitempty"` - // Application - Application info of the event - Application *EventsApplicationInfo `json:"application,omitempty"` - // Client - Client info of the event - Client *EventsClientInfo `json:"client,omitempty"` - // Type - Possible values include: 'TypeEventsResultData', 'TypeTrace', 'TypeCustomEvent', 'TypePageView', 'TypeBrowserTiming', 'TypeRequest', 'TypeDependency', 'TypeException', 'TypeAvailabilityResult', 'TypePerformanceCounter', 'TypeCustomMetric' - Type Type `json:"type,omitempty"` -} - -// MarshalJSON is the custom marshaler for EventsPageViewResult. -func (epvr EventsPageViewResult) MarshalJSON() ([]byte, error) { - epvr.Type = TypePageView - objectMap := make(map[string]interface{}) - if epvr.PageView != nil { - objectMap["pageView"] = epvr.PageView - } - if epvr.ID != nil { - objectMap["id"] = epvr.ID - } - if epvr.Count != nil { - objectMap["count"] = epvr.Count - } - if epvr.Timestamp != nil { - objectMap["timestamp"] = epvr.Timestamp - } - if epvr.CustomDimensions != nil { - objectMap["customDimensions"] = epvr.CustomDimensions - } - if epvr.CustomMeasurements != nil { - objectMap["customMeasurements"] = epvr.CustomMeasurements - } - if epvr.Operation != nil { - objectMap["operation"] = epvr.Operation - } - if epvr.Session != nil { - objectMap["session"] = epvr.Session - } - if epvr.User != nil { - objectMap["user"] = epvr.User - } - if epvr.Cloud != nil { - objectMap["cloud"] = epvr.Cloud - } - if epvr.Ai != nil { - objectMap["ai"] = epvr.Ai - } - if epvr.Application != nil { - objectMap["application"] = epvr.Application - } - if epvr.Client != nil { - objectMap["client"] = epvr.Client - } - if epvr.Type != "" { - objectMap["type"] = epvr.Type - } - return json.Marshal(objectMap) -} - -// AsEventsTraceResult is the BasicEventsResultData implementation for EventsPageViewResult. -func (epvr EventsPageViewResult) AsEventsTraceResult() (*EventsTraceResult, bool) { - return nil, false -} - -// AsEventsCustomEventResult is the BasicEventsResultData implementation for EventsPageViewResult. -func (epvr EventsPageViewResult) AsEventsCustomEventResult() (*EventsCustomEventResult, bool) { - return nil, false -} - -// AsEventsPageViewResult is the BasicEventsResultData implementation for EventsPageViewResult. -func (epvr EventsPageViewResult) AsEventsPageViewResult() (*EventsPageViewResult, bool) { - return &epvr, true -} - -// AsEventsBrowserTimingResult is the BasicEventsResultData implementation for EventsPageViewResult. -func (epvr EventsPageViewResult) AsEventsBrowserTimingResult() (*EventsBrowserTimingResult, bool) { - return nil, false -} - -// AsEventsRequestResult is the BasicEventsResultData implementation for EventsPageViewResult. -func (epvr EventsPageViewResult) AsEventsRequestResult() (*EventsRequestResult, bool) { - return nil, false -} - -// AsEventsDependencyResult is the BasicEventsResultData implementation for EventsPageViewResult. -func (epvr EventsPageViewResult) AsEventsDependencyResult() (*EventsDependencyResult, bool) { - return nil, false -} - -// AsEventsExceptionResult is the BasicEventsResultData implementation for EventsPageViewResult. -func (epvr EventsPageViewResult) AsEventsExceptionResult() (*EventsExceptionResult, bool) { - return nil, false -} - -// AsEventsAvailabilityResultResult is the BasicEventsResultData implementation for EventsPageViewResult. -func (epvr EventsPageViewResult) AsEventsAvailabilityResultResult() (*EventsAvailabilityResultResult, bool) { - return nil, false -} - -// AsEventsPerformanceCounterResult is the BasicEventsResultData implementation for EventsPageViewResult. -func (epvr EventsPageViewResult) AsEventsPerformanceCounterResult() (*EventsPerformanceCounterResult, bool) { - return nil, false -} - -// AsEventsCustomMetricResult is the BasicEventsResultData implementation for EventsPageViewResult. -func (epvr EventsPageViewResult) AsEventsCustomMetricResult() (*EventsCustomMetricResult, bool) { - return nil, false -} - -// AsEventsResultData is the BasicEventsResultData implementation for EventsPageViewResult. -func (epvr EventsPageViewResult) AsEventsResultData() (*EventsResultData, bool) { - return nil, false -} - -// AsBasicEventsResultData is the BasicEventsResultData implementation for EventsPageViewResult. -func (epvr EventsPageViewResult) AsBasicEventsResultData() (BasicEventsResultData, bool) { - return &epvr, true -} - -// EventsPerformanceCounterInfo the performance counter info -type EventsPerformanceCounterInfo struct { - // Value - The value of the performance counter - Value *float64 `json:"value,omitempty"` - // Name - The name of the performance counter - Name *string `json:"name,omitempty"` - // Category - The category of the performance counter - Category *string `json:"category,omitempty"` - // Counter - The counter of the performance counter - Counter *string `json:"counter,omitempty"` - // InstanceName - The instance name of the performance counter - InstanceName *string `json:"instanceName,omitempty"` - // Instance - The instance of the performance counter - Instance *string `json:"instance,omitempty"` -} - -// EventsPerformanceCounterResult a performance counter result -type EventsPerformanceCounterResult struct { - PerformanceCounter *EventsPerformanceCounterInfo `json:"performanceCounter,omitempty"` - // ID - The unique ID for this event. - ID *string `json:"id,omitempty"` - // Count - Count of the event - Count *int64 `json:"count,omitempty"` - // Timestamp - Timestamp of the event - Timestamp *date.Time `json:"timestamp,omitempty"` - // CustomDimensions - Custom dimensions of the event - CustomDimensions *EventsResultDataCustomDimensions `json:"customDimensions,omitempty"` - // CustomMeasurements - Custom measurements of the event - CustomMeasurements *EventsResultDataCustomMeasurements `json:"customMeasurements,omitempty"` - // Operation - Operation info of the event - Operation *EventsOperationInfo `json:"operation,omitempty"` - // Session - Session info of the event - Session *EventsSessionInfo `json:"session,omitempty"` - // User - User info of the event - User *EventsUserInfo `json:"user,omitempty"` - // Cloud - Cloud info of the event - Cloud *EventsCloudInfo `json:"cloud,omitempty"` - // Ai - AI info of the event - Ai *EventsAiInfo `json:"ai,omitempty"` - // Application - Application info of the event - Application *EventsApplicationInfo `json:"application,omitempty"` - // Client - Client info of the event - Client *EventsClientInfo `json:"client,omitempty"` - // Type - Possible values include: 'TypeEventsResultData', 'TypeTrace', 'TypeCustomEvent', 'TypePageView', 'TypeBrowserTiming', 'TypeRequest', 'TypeDependency', 'TypeException', 'TypeAvailabilityResult', 'TypePerformanceCounter', 'TypeCustomMetric' - Type Type `json:"type,omitempty"` -} - -// MarshalJSON is the custom marshaler for EventsPerformanceCounterResult. -func (epcr EventsPerformanceCounterResult) MarshalJSON() ([]byte, error) { - epcr.Type = TypePerformanceCounter - objectMap := make(map[string]interface{}) - if epcr.PerformanceCounter != nil { - objectMap["performanceCounter"] = epcr.PerformanceCounter - } - if epcr.ID != nil { - objectMap["id"] = epcr.ID - } - if epcr.Count != nil { - objectMap["count"] = epcr.Count - } - if epcr.Timestamp != nil { - objectMap["timestamp"] = epcr.Timestamp - } - if epcr.CustomDimensions != nil { - objectMap["customDimensions"] = epcr.CustomDimensions - } - if epcr.CustomMeasurements != nil { - objectMap["customMeasurements"] = epcr.CustomMeasurements - } - if epcr.Operation != nil { - objectMap["operation"] = epcr.Operation - } - if epcr.Session != nil { - objectMap["session"] = epcr.Session - } - if epcr.User != nil { - objectMap["user"] = epcr.User - } - if epcr.Cloud != nil { - objectMap["cloud"] = epcr.Cloud - } - if epcr.Ai != nil { - objectMap["ai"] = epcr.Ai - } - if epcr.Application != nil { - objectMap["application"] = epcr.Application - } - if epcr.Client != nil { - objectMap["client"] = epcr.Client - } - if epcr.Type != "" { - objectMap["type"] = epcr.Type - } - return json.Marshal(objectMap) -} - -// AsEventsTraceResult is the BasicEventsResultData implementation for EventsPerformanceCounterResult. -func (epcr EventsPerformanceCounterResult) AsEventsTraceResult() (*EventsTraceResult, bool) { - return nil, false -} - -// AsEventsCustomEventResult is the BasicEventsResultData implementation for EventsPerformanceCounterResult. -func (epcr EventsPerformanceCounterResult) AsEventsCustomEventResult() (*EventsCustomEventResult, bool) { - return nil, false -} - -// AsEventsPageViewResult is the BasicEventsResultData implementation for EventsPerformanceCounterResult. -func (epcr EventsPerformanceCounterResult) AsEventsPageViewResult() (*EventsPageViewResult, bool) { - return nil, false -} - -// AsEventsBrowserTimingResult is the BasicEventsResultData implementation for EventsPerformanceCounterResult. -func (epcr EventsPerformanceCounterResult) AsEventsBrowserTimingResult() (*EventsBrowserTimingResult, bool) { - return nil, false -} - -// AsEventsRequestResult is the BasicEventsResultData implementation for EventsPerformanceCounterResult. -func (epcr EventsPerformanceCounterResult) AsEventsRequestResult() (*EventsRequestResult, bool) { - return nil, false -} - -// AsEventsDependencyResult is the BasicEventsResultData implementation for EventsPerformanceCounterResult. -func (epcr EventsPerformanceCounterResult) AsEventsDependencyResult() (*EventsDependencyResult, bool) { - return nil, false -} - -// AsEventsExceptionResult is the BasicEventsResultData implementation for EventsPerformanceCounterResult. -func (epcr EventsPerformanceCounterResult) AsEventsExceptionResult() (*EventsExceptionResult, bool) { - return nil, false -} - -// AsEventsAvailabilityResultResult is the BasicEventsResultData implementation for EventsPerformanceCounterResult. -func (epcr EventsPerformanceCounterResult) AsEventsAvailabilityResultResult() (*EventsAvailabilityResultResult, bool) { - return nil, false -} - -// AsEventsPerformanceCounterResult is the BasicEventsResultData implementation for EventsPerformanceCounterResult. -func (epcr EventsPerformanceCounterResult) AsEventsPerformanceCounterResult() (*EventsPerformanceCounterResult, bool) { - return &epcr, true -} - -// AsEventsCustomMetricResult is the BasicEventsResultData implementation for EventsPerformanceCounterResult. -func (epcr EventsPerformanceCounterResult) AsEventsCustomMetricResult() (*EventsCustomMetricResult, bool) { - return nil, false -} - -// AsEventsResultData is the BasicEventsResultData implementation for EventsPerformanceCounterResult. -func (epcr EventsPerformanceCounterResult) AsEventsResultData() (*EventsResultData, bool) { - return nil, false -} - -// AsBasicEventsResultData is the BasicEventsResultData implementation for EventsPerformanceCounterResult. -func (epcr EventsPerformanceCounterResult) AsBasicEventsResultData() (BasicEventsResultData, bool) { - return &epcr, true -} - -// EventsRequestInfo the request info -type EventsRequestInfo struct { - // Name - The name of the request - Name *string `json:"name,omitempty"` - // URL - The URL of the request - URL *string `json:"url,omitempty"` - // Success - Indicates if the request was successful - Success *string `json:"success,omitempty"` - // Duration - The duration of the request - Duration *float64 `json:"duration,omitempty"` - // PerformanceBucket - The performance bucket of the request - PerformanceBucket *string `json:"performanceBucket,omitempty"` - // ResultCode - The result code of the request - ResultCode *string `json:"resultCode,omitempty"` - // Source - The source of the request - Source *string `json:"source,omitempty"` - // ID - The ID of the request - ID *string `json:"id,omitempty"` -} - -// EventsRequestResult a request result -type EventsRequestResult struct { - Request *EventsRequestInfo `json:"request,omitempty"` - // ID - The unique ID for this event. - ID *string `json:"id,omitempty"` - // Count - Count of the event - Count *int64 `json:"count,omitempty"` - // Timestamp - Timestamp of the event - Timestamp *date.Time `json:"timestamp,omitempty"` - // CustomDimensions - Custom dimensions of the event - CustomDimensions *EventsResultDataCustomDimensions `json:"customDimensions,omitempty"` - // CustomMeasurements - Custom measurements of the event - CustomMeasurements *EventsResultDataCustomMeasurements `json:"customMeasurements,omitempty"` - // Operation - Operation info of the event - Operation *EventsOperationInfo `json:"operation,omitempty"` - // Session - Session info of the event - Session *EventsSessionInfo `json:"session,omitempty"` - // User - User info of the event - User *EventsUserInfo `json:"user,omitempty"` - // Cloud - Cloud info of the event - Cloud *EventsCloudInfo `json:"cloud,omitempty"` - // Ai - AI info of the event - Ai *EventsAiInfo `json:"ai,omitempty"` - // Application - Application info of the event - Application *EventsApplicationInfo `json:"application,omitempty"` - // Client - Client info of the event - Client *EventsClientInfo `json:"client,omitempty"` - // Type - Possible values include: 'TypeEventsResultData', 'TypeTrace', 'TypeCustomEvent', 'TypePageView', 'TypeBrowserTiming', 'TypeRequest', 'TypeDependency', 'TypeException', 'TypeAvailabilityResult', 'TypePerformanceCounter', 'TypeCustomMetric' - Type Type `json:"type,omitempty"` -} - -// MarshalJSON is the custom marshaler for EventsRequestResult. -func (errVar EventsRequestResult) MarshalJSON() ([]byte, error) { - errVar.Type = TypeRequest - objectMap := make(map[string]interface{}) - if errVar.Request != nil { - objectMap["request"] = errVar.Request - } - if errVar.ID != nil { - objectMap["id"] = errVar.ID - } - if errVar.Count != nil { - objectMap["count"] = errVar.Count - } - if errVar.Timestamp != nil { - objectMap["timestamp"] = errVar.Timestamp - } - if errVar.CustomDimensions != nil { - objectMap["customDimensions"] = errVar.CustomDimensions - } - if errVar.CustomMeasurements != nil { - objectMap["customMeasurements"] = errVar.CustomMeasurements - } - if errVar.Operation != nil { - objectMap["operation"] = errVar.Operation - } - if errVar.Session != nil { - objectMap["session"] = errVar.Session - } - if errVar.User != nil { - objectMap["user"] = errVar.User - } - if errVar.Cloud != nil { - objectMap["cloud"] = errVar.Cloud - } - if errVar.Ai != nil { - objectMap["ai"] = errVar.Ai - } - if errVar.Application != nil { - objectMap["application"] = errVar.Application - } - if errVar.Client != nil { - objectMap["client"] = errVar.Client - } - if errVar.Type != "" { - objectMap["type"] = errVar.Type - } - return json.Marshal(objectMap) -} - -// AsEventsTraceResult is the BasicEventsResultData implementation for EventsRequestResult. -func (errVar EventsRequestResult) AsEventsTraceResult() (*EventsTraceResult, bool) { - return nil, false -} - -// AsEventsCustomEventResult is the BasicEventsResultData implementation for EventsRequestResult. -func (errVar EventsRequestResult) AsEventsCustomEventResult() (*EventsCustomEventResult, bool) { - return nil, false -} - -// AsEventsPageViewResult is the BasicEventsResultData implementation for EventsRequestResult. -func (errVar EventsRequestResult) AsEventsPageViewResult() (*EventsPageViewResult, bool) { - return nil, false -} - -// AsEventsBrowserTimingResult is the BasicEventsResultData implementation for EventsRequestResult. -func (errVar EventsRequestResult) AsEventsBrowserTimingResult() (*EventsBrowserTimingResult, bool) { - return nil, false -} - -// AsEventsRequestResult is the BasicEventsResultData implementation for EventsRequestResult. -func (errVar EventsRequestResult) AsEventsRequestResult() (*EventsRequestResult, bool) { - return &errVar, true -} - -// AsEventsDependencyResult is the BasicEventsResultData implementation for EventsRequestResult. -func (errVar EventsRequestResult) AsEventsDependencyResult() (*EventsDependencyResult, bool) { - return nil, false -} - -// AsEventsExceptionResult is the BasicEventsResultData implementation for EventsRequestResult. -func (errVar EventsRequestResult) AsEventsExceptionResult() (*EventsExceptionResult, bool) { - return nil, false -} - -// AsEventsAvailabilityResultResult is the BasicEventsResultData implementation for EventsRequestResult. -func (errVar EventsRequestResult) AsEventsAvailabilityResultResult() (*EventsAvailabilityResultResult, bool) { - return nil, false -} - -// AsEventsPerformanceCounterResult is the BasicEventsResultData implementation for EventsRequestResult. -func (errVar EventsRequestResult) AsEventsPerformanceCounterResult() (*EventsPerformanceCounterResult, bool) { - return nil, false -} - -// AsEventsCustomMetricResult is the BasicEventsResultData implementation for EventsRequestResult. -func (errVar EventsRequestResult) AsEventsCustomMetricResult() (*EventsCustomMetricResult, bool) { - return nil, false -} - -// AsEventsResultData is the BasicEventsResultData implementation for EventsRequestResult. -func (errVar EventsRequestResult) AsEventsResultData() (*EventsResultData, bool) { - return nil, false -} - -// AsBasicEventsResultData is the BasicEventsResultData implementation for EventsRequestResult. -func (errVar EventsRequestResult) AsBasicEventsResultData() (BasicEventsResultData, bool) { - return &errVar, true -} - -// EventsResult an event query result. -type EventsResult struct { - // AiMessages - OData messages for this response. - AiMessages *[]ErrorInfo `json:"@ai.messages,omitempty"` - Value BasicEventsResultData `json:"value,omitempty"` -} - -// UnmarshalJSON is the custom unmarshaler for EventsResult struct. -func (er *EventsResult) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - case "@ai.messages": - if v != nil { - var aiMessages []ErrorInfo - err = json.Unmarshal(*v, &aiMessages) - if err != nil { - return err - } - er.AiMessages = &aiMessages - } - case "value": - if v != nil { - value, err := unmarshalBasicEventsResultData(*v) - if err != nil { - return err - } - er.Value = value - } - } - } - - return nil -} - -// BasicEventsResultData events query result data. -type BasicEventsResultData interface { - AsEventsTraceResult() (*EventsTraceResult, bool) - AsEventsCustomEventResult() (*EventsCustomEventResult, bool) - AsEventsPageViewResult() (*EventsPageViewResult, bool) - AsEventsBrowserTimingResult() (*EventsBrowserTimingResult, bool) - AsEventsRequestResult() (*EventsRequestResult, bool) - AsEventsDependencyResult() (*EventsDependencyResult, bool) - AsEventsExceptionResult() (*EventsExceptionResult, bool) - AsEventsAvailabilityResultResult() (*EventsAvailabilityResultResult, bool) - AsEventsPerformanceCounterResult() (*EventsPerformanceCounterResult, bool) - AsEventsCustomMetricResult() (*EventsCustomMetricResult, bool) - AsEventsResultData() (*EventsResultData, bool) -} - -// EventsResultData events query result data. -type EventsResultData struct { - // ID - The unique ID for this event. - ID *string `json:"id,omitempty"` - // Count - Count of the event - Count *int64 `json:"count,omitempty"` - // Timestamp - Timestamp of the event - Timestamp *date.Time `json:"timestamp,omitempty"` - // CustomDimensions - Custom dimensions of the event - CustomDimensions *EventsResultDataCustomDimensions `json:"customDimensions,omitempty"` - // CustomMeasurements - Custom measurements of the event - CustomMeasurements *EventsResultDataCustomMeasurements `json:"customMeasurements,omitempty"` - // Operation - Operation info of the event - Operation *EventsOperationInfo `json:"operation,omitempty"` - // Session - Session info of the event - Session *EventsSessionInfo `json:"session,omitempty"` - // User - User info of the event - User *EventsUserInfo `json:"user,omitempty"` - // Cloud - Cloud info of the event - Cloud *EventsCloudInfo `json:"cloud,omitempty"` - // Ai - AI info of the event - Ai *EventsAiInfo `json:"ai,omitempty"` - // Application - Application info of the event - Application *EventsApplicationInfo `json:"application,omitempty"` - // Client - Client info of the event - Client *EventsClientInfo `json:"client,omitempty"` - // Type - Possible values include: 'TypeEventsResultData', 'TypeTrace', 'TypeCustomEvent', 'TypePageView', 'TypeBrowserTiming', 'TypeRequest', 'TypeDependency', 'TypeException', 'TypeAvailabilityResult', 'TypePerformanceCounter', 'TypeCustomMetric' - Type Type `json:"type,omitempty"` -} - -func unmarshalBasicEventsResultData(body []byte) (BasicEventsResultData, error) { - var m map[string]interface{} - err := json.Unmarshal(body, &m) - if err != nil { - return nil, err - } - - switch m["type"] { - case string(TypeTrace): - var etr EventsTraceResult - err := json.Unmarshal(body, &etr) - return etr, err - case string(TypeCustomEvent): - var ecer EventsCustomEventResult - err := json.Unmarshal(body, &ecer) - return ecer, err - case string(TypePageView): - var epvr EventsPageViewResult - err := json.Unmarshal(body, &epvr) - return epvr, err - case string(TypeBrowserTiming): - var ebtr EventsBrowserTimingResult - err := json.Unmarshal(body, &ebtr) - return ebtr, err - case string(TypeRequest): - var errVar EventsRequestResult - err := json.Unmarshal(body, &errVar) - return errVar, err - case string(TypeDependency): - var edr EventsDependencyResult - err := json.Unmarshal(body, &edr) - return edr, err - case string(TypeException): - var eer EventsExceptionResult - err := json.Unmarshal(body, &eer) - return eer, err - case string(TypeAvailabilityResult): - var earr EventsAvailabilityResultResult - err := json.Unmarshal(body, &earr) - return earr, err - case string(TypePerformanceCounter): - var epcr EventsPerformanceCounterResult - err := json.Unmarshal(body, &epcr) - return epcr, err - case string(TypeCustomMetric): - var ecmr EventsCustomMetricResult - err := json.Unmarshal(body, &ecmr) - return ecmr, err - default: - var erd EventsResultData - err := json.Unmarshal(body, &erd) - return erd, err - } -} -func unmarshalBasicEventsResultDataArray(body []byte) ([]BasicEventsResultData, error) { - var rawMessages []*json.RawMessage - err := json.Unmarshal(body, &rawMessages) - if err != nil { - return nil, err - } - - erdArray := make([]BasicEventsResultData, len(rawMessages)) - - for index, rawMessage := range rawMessages { - erd, err := unmarshalBasicEventsResultData(*rawMessage) - if err != nil { - return nil, err - } - erdArray[index] = erd - } - return erdArray, nil -} - -// MarshalJSON is the custom marshaler for EventsResultData. -func (erd EventsResultData) MarshalJSON() ([]byte, error) { - erd.Type = TypeEventsResultData - objectMap := make(map[string]interface{}) - if erd.ID != nil { - objectMap["id"] = erd.ID - } - if erd.Count != nil { - objectMap["count"] = erd.Count - } - if erd.Timestamp != nil { - objectMap["timestamp"] = erd.Timestamp - } - if erd.CustomDimensions != nil { - objectMap["customDimensions"] = erd.CustomDimensions - } - if erd.CustomMeasurements != nil { - objectMap["customMeasurements"] = erd.CustomMeasurements - } - if erd.Operation != nil { - objectMap["operation"] = erd.Operation - } - if erd.Session != nil { - objectMap["session"] = erd.Session - } - if erd.User != nil { - objectMap["user"] = erd.User - } - if erd.Cloud != nil { - objectMap["cloud"] = erd.Cloud - } - if erd.Ai != nil { - objectMap["ai"] = erd.Ai - } - if erd.Application != nil { - objectMap["application"] = erd.Application - } - if erd.Client != nil { - objectMap["client"] = erd.Client - } - if erd.Type != "" { - objectMap["type"] = erd.Type - } - return json.Marshal(objectMap) -} - -// AsEventsTraceResult is the BasicEventsResultData implementation for EventsResultData. -func (erd EventsResultData) AsEventsTraceResult() (*EventsTraceResult, bool) { - return nil, false -} - -// AsEventsCustomEventResult is the BasicEventsResultData implementation for EventsResultData. -func (erd EventsResultData) AsEventsCustomEventResult() (*EventsCustomEventResult, bool) { - return nil, false -} - -// AsEventsPageViewResult is the BasicEventsResultData implementation for EventsResultData. -func (erd EventsResultData) AsEventsPageViewResult() (*EventsPageViewResult, bool) { - return nil, false -} - -// AsEventsBrowserTimingResult is the BasicEventsResultData implementation for EventsResultData. -func (erd EventsResultData) AsEventsBrowserTimingResult() (*EventsBrowserTimingResult, bool) { - return nil, false -} - -// AsEventsRequestResult is the BasicEventsResultData implementation for EventsResultData. -func (erd EventsResultData) AsEventsRequestResult() (*EventsRequestResult, bool) { - return nil, false -} - -// AsEventsDependencyResult is the BasicEventsResultData implementation for EventsResultData. -func (erd EventsResultData) AsEventsDependencyResult() (*EventsDependencyResult, bool) { - return nil, false -} - -// AsEventsExceptionResult is the BasicEventsResultData implementation for EventsResultData. -func (erd EventsResultData) AsEventsExceptionResult() (*EventsExceptionResult, bool) { - return nil, false -} - -// AsEventsAvailabilityResultResult is the BasicEventsResultData implementation for EventsResultData. -func (erd EventsResultData) AsEventsAvailabilityResultResult() (*EventsAvailabilityResultResult, bool) { - return nil, false -} - -// AsEventsPerformanceCounterResult is the BasicEventsResultData implementation for EventsResultData. -func (erd EventsResultData) AsEventsPerformanceCounterResult() (*EventsPerformanceCounterResult, bool) { - return nil, false -} - -// AsEventsCustomMetricResult is the BasicEventsResultData implementation for EventsResultData. -func (erd EventsResultData) AsEventsCustomMetricResult() (*EventsCustomMetricResult, bool) { - return nil, false -} - -// AsEventsResultData is the BasicEventsResultData implementation for EventsResultData. -func (erd EventsResultData) AsEventsResultData() (*EventsResultData, bool) { - return &erd, true -} - -// AsBasicEventsResultData is the BasicEventsResultData implementation for EventsResultData. -func (erd EventsResultData) AsBasicEventsResultData() (BasicEventsResultData, bool) { - return &erd, true -} - -// EventsResultDataCustomDimensions custom dimensions of the event -type EventsResultDataCustomDimensions struct { - AdditionalProperties interface{} `json:"additionalProperties,omitempty"` -} - -// EventsResultDataCustomMeasurements custom measurements of the event -type EventsResultDataCustomMeasurements struct { - AdditionalProperties interface{} `json:"additionalProperties,omitempty"` -} - -// EventsResults an events query result. -type EventsResults struct { - autorest.Response `json:"-"` - // OdataContext - OData context metadata endpoint for this response - OdataContext *string `json:"@odata.context,omitempty"` - // AiMessages - OData messages for this response. - AiMessages *[]ErrorInfo `json:"@ai.messages,omitempty"` - // Value - Contents of the events query result. - Value *[]BasicEventsResultData `json:"value,omitempty"` -} - -// UnmarshalJSON is the custom unmarshaler for EventsResults struct. -func (er *EventsResults) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - case "@odata.context": - if v != nil { - var odataContext string - err = json.Unmarshal(*v, &odataContext) - if err != nil { - return err - } - er.OdataContext = &odataContext - } - case "@ai.messages": - if v != nil { - var aiMessages []ErrorInfo - err = json.Unmarshal(*v, &aiMessages) - if err != nil { - return err - } - er.AiMessages = &aiMessages - } - case "value": - if v != nil { - value, err := unmarshalBasicEventsResultDataArray(*v) - if err != nil { - return err - } - er.Value = &value - } - } - } - - return nil -} - -// EventsSessionInfo session info for an event result -type EventsSessionInfo struct { - // ID - ID of the session - ID *string `json:"id,omitempty"` -} - -// EventsTraceInfo the trace information -type EventsTraceInfo struct { - // Message - The trace message - Message *string `json:"message,omitempty"` - // SeverityLevel - The trace severity level - SeverityLevel *int32 `json:"severityLevel,omitempty"` -} - -// EventsTraceResult a trace result -type EventsTraceResult struct { - Trace *EventsTraceInfo `json:"trace,omitempty"` - // ID - The unique ID for this event. - ID *string `json:"id,omitempty"` - // Count - Count of the event - Count *int64 `json:"count,omitempty"` - // Timestamp - Timestamp of the event - Timestamp *date.Time `json:"timestamp,omitempty"` - // CustomDimensions - Custom dimensions of the event - CustomDimensions *EventsResultDataCustomDimensions `json:"customDimensions,omitempty"` - // CustomMeasurements - Custom measurements of the event - CustomMeasurements *EventsResultDataCustomMeasurements `json:"customMeasurements,omitempty"` - // Operation - Operation info of the event - Operation *EventsOperationInfo `json:"operation,omitempty"` - // Session - Session info of the event - Session *EventsSessionInfo `json:"session,omitempty"` - // User - User info of the event - User *EventsUserInfo `json:"user,omitempty"` - // Cloud - Cloud info of the event - Cloud *EventsCloudInfo `json:"cloud,omitempty"` - // Ai - AI info of the event - Ai *EventsAiInfo `json:"ai,omitempty"` - // Application - Application info of the event - Application *EventsApplicationInfo `json:"application,omitempty"` - // Client - Client info of the event - Client *EventsClientInfo `json:"client,omitempty"` - // Type - Possible values include: 'TypeEventsResultData', 'TypeTrace', 'TypeCustomEvent', 'TypePageView', 'TypeBrowserTiming', 'TypeRequest', 'TypeDependency', 'TypeException', 'TypeAvailabilityResult', 'TypePerformanceCounter', 'TypeCustomMetric' - Type Type `json:"type,omitempty"` -} - -// MarshalJSON is the custom marshaler for EventsTraceResult. -func (etr EventsTraceResult) MarshalJSON() ([]byte, error) { - etr.Type = TypeTrace - objectMap := make(map[string]interface{}) - if etr.Trace != nil { - objectMap["trace"] = etr.Trace - } - if etr.ID != nil { - objectMap["id"] = etr.ID - } - if etr.Count != nil { - objectMap["count"] = etr.Count - } - if etr.Timestamp != nil { - objectMap["timestamp"] = etr.Timestamp - } - if etr.CustomDimensions != nil { - objectMap["customDimensions"] = etr.CustomDimensions - } - if etr.CustomMeasurements != nil { - objectMap["customMeasurements"] = etr.CustomMeasurements - } - if etr.Operation != nil { - objectMap["operation"] = etr.Operation - } - if etr.Session != nil { - objectMap["session"] = etr.Session - } - if etr.User != nil { - objectMap["user"] = etr.User - } - if etr.Cloud != nil { - objectMap["cloud"] = etr.Cloud - } - if etr.Ai != nil { - objectMap["ai"] = etr.Ai - } - if etr.Application != nil { - objectMap["application"] = etr.Application - } - if etr.Client != nil { - objectMap["client"] = etr.Client - } - if etr.Type != "" { - objectMap["type"] = etr.Type - } - return json.Marshal(objectMap) -} - -// AsEventsTraceResult is the BasicEventsResultData implementation for EventsTraceResult. -func (etr EventsTraceResult) AsEventsTraceResult() (*EventsTraceResult, bool) { - return &etr, true -} - -// AsEventsCustomEventResult is the BasicEventsResultData implementation for EventsTraceResult. -func (etr EventsTraceResult) AsEventsCustomEventResult() (*EventsCustomEventResult, bool) { - return nil, false -} - -// AsEventsPageViewResult is the BasicEventsResultData implementation for EventsTraceResult. -func (etr EventsTraceResult) AsEventsPageViewResult() (*EventsPageViewResult, bool) { - return nil, false -} - -// AsEventsBrowserTimingResult is the BasicEventsResultData implementation for EventsTraceResult. -func (etr EventsTraceResult) AsEventsBrowserTimingResult() (*EventsBrowserTimingResult, bool) { - return nil, false -} - -// AsEventsRequestResult is the BasicEventsResultData implementation for EventsTraceResult. -func (etr EventsTraceResult) AsEventsRequestResult() (*EventsRequestResult, bool) { - return nil, false -} - -// AsEventsDependencyResult is the BasicEventsResultData implementation for EventsTraceResult. -func (etr EventsTraceResult) AsEventsDependencyResult() (*EventsDependencyResult, bool) { - return nil, false -} - -// AsEventsExceptionResult is the BasicEventsResultData implementation for EventsTraceResult. -func (etr EventsTraceResult) AsEventsExceptionResult() (*EventsExceptionResult, bool) { - return nil, false -} - -// AsEventsAvailabilityResultResult is the BasicEventsResultData implementation for EventsTraceResult. -func (etr EventsTraceResult) AsEventsAvailabilityResultResult() (*EventsAvailabilityResultResult, bool) { - return nil, false -} - -// AsEventsPerformanceCounterResult is the BasicEventsResultData implementation for EventsTraceResult. -func (etr EventsTraceResult) AsEventsPerformanceCounterResult() (*EventsPerformanceCounterResult, bool) { - return nil, false -} - -// AsEventsCustomMetricResult is the BasicEventsResultData implementation for EventsTraceResult. -func (etr EventsTraceResult) AsEventsCustomMetricResult() (*EventsCustomMetricResult, bool) { - return nil, false -} - -// AsEventsResultData is the BasicEventsResultData implementation for EventsTraceResult. -func (etr EventsTraceResult) AsEventsResultData() (*EventsResultData, bool) { - return nil, false -} - -// AsBasicEventsResultData is the BasicEventsResultData implementation for EventsTraceResult. -func (etr EventsTraceResult) AsBasicEventsResultData() (BasicEventsResultData, bool) { - return &etr, true -} - -// EventsUserInfo user info for an event result -type EventsUserInfo struct { - // ID - ID of the user - ID *string `json:"id,omitempty"` - // AccountID - Account ID of the user - AccountID *string `json:"accountId,omitempty"` - // AuthenticatedID - Authenticated ID of the user - AuthenticatedID *string `json:"authenticatedId,omitempty"` -} - -// ListMetricsResultsItem ... -type ListMetricsResultsItem struct { - autorest.Response `json:"-"` - Value *[]MetricsResultsItem `json:"value,omitempty"` -} - -// MetricsPostBodySchema a metric request -type MetricsPostBodySchema struct { - // ID - An identifier for this query. Must be unique within the post body of the request. This identifier will be the 'id' property of the response object representing this query. - ID *string `json:"id,omitempty"` - // Parameters - The parameters for a single metrics query - Parameters *MetricsPostBodySchemaParameters `json:"parameters,omitempty"` -} - -// MetricsPostBodySchemaParameters the parameters for a single metrics query -type MetricsPostBodySchemaParameters struct { - // MetricID - Possible values include: 'Requestscount', 'Requestsduration', 'Requestsfailed', 'Userscount', 'Usersauthenticated', 'PageViewscount', 'PageViewsduration', 'ClientprocessingDuration', 'ClientreceiveDuration', 'ClientnetworkDuration', 'ClientsendDuration', 'ClienttotalDuration', 'Dependenciescount', 'Dependenciesfailed', 'Dependenciesduration', 'Exceptionscount', 'Exceptionsbrowser', 'Exceptionsserver', 'Sessionscount', 'PerformanceCountersrequestExecutionTime', 'PerformanceCountersrequestsPerSecond', 'PerformanceCountersrequestsInQueue', 'PerformanceCountersmemoryAvailableBytes', 'PerformanceCountersexceptionsPerSecond', 'PerformanceCountersprocessCPUPercentage', 'PerformanceCountersprocessIOBytesPerSecond', 'PerformanceCountersprocessPrivateBytes', 'PerformanceCountersprocessorCPUPercentage', 'AvailabilityResultsavailabilityPercentage', 'AvailabilityResultsduration', 'BillingtelemetryCount', 'CustomEventscount' - MetricID MetricID `json:"metricId,omitempty"` - Timespan *string `json:"timespan,omitempty"` - Aggregation *[]MetricsAggregation `json:"aggregation,omitempty"` - Interval *string `json:"interval,omitempty"` - Segment *[]MetricsSegment `json:"segment,omitempty"` - Top *int32 `json:"top,omitempty"` - Orderby *string `json:"orderby,omitempty"` - Filter *string `json:"filter,omitempty"` -} - -// MetricsResult a metric result. -type MetricsResult struct { - autorest.Response `json:"-"` - Value *MetricsResultInfo `json:"value,omitempty"` -} - -// MetricsResultInfo a metric result data. -type MetricsResultInfo struct { - // AdditionalProperties - Unmatched properties from the message are deserialized this collection - AdditionalProperties map[string]interface{} `json:""` - // Start - Start time of the metric. - Start *date.Time `json:"start,omitempty"` - // End - Start time of the metric. - End *date.Time `json:"end,omitempty"` - // Interval - The interval used to segment the metric data. - Interval *string `json:"interval,omitempty"` - // Segments - Segmented metric data (if segmented). - Segments *[]MetricsSegmentInfo `json:"segments,omitempty"` -} - -// MarshalJSON is the custom marshaler for MetricsResultInfo. -func (mri MetricsResultInfo) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - if mri.Start != nil { - objectMap["start"] = mri.Start - } - if mri.End != nil { - objectMap["end"] = mri.End - } - if mri.Interval != nil { - objectMap["interval"] = mri.Interval - } - if mri.Segments != nil { - objectMap["segments"] = mri.Segments - } - for k, v := range mri.AdditionalProperties { - objectMap[k] = v - } - return json.Marshal(objectMap) -} - -// UnmarshalJSON is the custom unmarshaler for MetricsResultInfo struct. -func (mri *MetricsResultInfo) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - default: - if v != nil { - var additionalProperties interface{} - err = json.Unmarshal(*v, &additionalProperties) - if err != nil { - return err - } - if mri.AdditionalProperties == nil { - mri.AdditionalProperties = make(map[string]interface{}) - } - mri.AdditionalProperties[k] = additionalProperties - } - case "start": - if v != nil { - var start date.Time - err = json.Unmarshal(*v, &start) - if err != nil { - return err - } - mri.Start = &start - } - case "end": - if v != nil { - var end date.Time - err = json.Unmarshal(*v, &end) - if err != nil { - return err - } - mri.End = &end - } - case "interval": - if v != nil { - var interval string - err = json.Unmarshal(*v, &interval) - if err != nil { - return err - } - mri.Interval = &interval - } - case "segments": - if v != nil { - var segments []MetricsSegmentInfo - err = json.Unmarshal(*v, &segments) - if err != nil { - return err - } - mri.Segments = &segments - } - } - } - - return nil -} - -// MetricsResultsItem ... -type MetricsResultsItem struct { - // ID - The specified ID for this metric. - ID *string `json:"id,omitempty"` - // Status - The HTTP status code of this metric query. - Status *int32 `json:"status,omitempty"` - // Body - The results of this metric query. - Body *MetricsResult `json:"body,omitempty"` -} - -// MetricsSegmentInfo a metric segment -type MetricsSegmentInfo struct { - // AdditionalProperties - Unmatched properties from the message are deserialized this collection - AdditionalProperties map[string]interface{} `json:""` - // Start - Start time of the metric segment (only when an interval was specified). - Start *date.Time `json:"start,omitempty"` - // End - Start time of the metric segment (only when an interval was specified). - End *date.Time `json:"end,omitempty"` - // Segments - Segmented metric data (if further segmented). - Segments *[]MetricsSegmentInfo `json:"segments,omitempty"` -} - -// MarshalJSON is the custom marshaler for MetricsSegmentInfo. -func (msi MetricsSegmentInfo) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - if msi.Start != nil { - objectMap["start"] = msi.Start - } - if msi.End != nil { - objectMap["end"] = msi.End - } - if msi.Segments != nil { - objectMap["segments"] = msi.Segments - } - for k, v := range msi.AdditionalProperties { - objectMap[k] = v - } - return json.Marshal(objectMap) -} - -// UnmarshalJSON is the custom unmarshaler for MetricsSegmentInfo struct. -func (msi *MetricsSegmentInfo) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - default: - if v != nil { - var additionalProperties interface{} - err = json.Unmarshal(*v, &additionalProperties) - if err != nil { - return err - } - if msi.AdditionalProperties == nil { - msi.AdditionalProperties = make(map[string]interface{}) - } - msi.AdditionalProperties[k] = additionalProperties - } - case "start": - if v != nil { - var start date.Time - err = json.Unmarshal(*v, &start) - if err != nil { - return err - } - msi.Start = &start - } - case "end": - if v != nil { - var end date.Time - err = json.Unmarshal(*v, &end) - if err != nil { - return err - } - msi.End = &end - } - case "segments": - if v != nil { - var segments []MetricsSegmentInfo - err = json.Unmarshal(*v, &segments) - if err != nil { - return err - } - msi.Segments = &segments - } - } - } - - return nil -} - -// QueryBody the Analytics query. Learn more about the [Analytics query -// syntax](https://azure.microsoft.com/documentation/articles/app-insights-analytics-reference/) -type QueryBody struct { - // Query - The query to execute. - Query *string `json:"query,omitempty"` - // Timespan - Optional. The timespan over which to query data. This is an ISO8601 time period value. This timespan is applied in addition to any that are specified in the query expression. - Timespan *string `json:"timespan,omitempty"` - // Applications - A list of Application IDs for cross-application queries. - Applications *[]string `json:"applications,omitempty"` -} - -// QueryResults contains the tables, columns & rows resulting from a query. -type QueryResults struct { - autorest.Response `json:"-"` - // Tables - The list of tables, columns and rows. - Tables *[]Table `json:"tables,omitempty"` -} - -// SetObject ... -type SetObject struct { - autorest.Response `json:"-"` - Value interface{} `json:"value,omitempty"` -} - -// Table contains the columns and rows for one table in a query response. -type Table struct { - // Name - The name of the table. - Name *string `json:"name,omitempty"` - // Columns - The list of columns in this table. - Columns *[]Column `json:"columns,omitempty"` - // Rows - The resulting rows from this query. - Rows *[][]interface{} `json:"rows,omitempty"` -} diff --git a/services/appinsights/v1/insights/query.go b/services/appinsights/v1/insights/query.go deleted file mode 100644 index ae9cd261f024..000000000000 --- a/services/appinsights/v1/insights/query.go +++ /dev/null @@ -1,123 +0,0 @@ -package insights - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/autorest/validation" - "github.com/Azure/go-autorest/tracing" - "net/http" -) - -// QueryClient is the composite Swagger for Application Insights Data Client -type QueryClient struct { - BaseClient -} - -// NewQueryClient creates an instance of the QueryClient client. -func NewQueryClient() QueryClient { - return NewQueryClientWithBaseURI(DefaultBaseURI) -} - -// NewQueryClientWithBaseURI creates an instance of the QueryClient client. -func NewQueryClientWithBaseURI(baseURI string) QueryClient { - return QueryClient{NewWithBaseURI(baseURI)} -} - -// Execute executes an Analytics query for data. -// [Here](https://dev.applicationinsights.io/documentation/Using-the-API/Query) is an example for using POST with an -// Analytics query. -// Parameters: -// appID - ID of the application. This is Application ID from the API Access settings blade in the Azure -// portal. -// body - the Analytics query. Learn more about the [Analytics query -// syntax](https://azure.microsoft.com/documentation/articles/app-insights-analytics-reference/) -func (client QueryClient) Execute(ctx context.Context, appID string, body QueryBody) (result QueryResults, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/QueryClient.Execute") - defer func() { - sc := -1 - if result.Response.Response != nil { - sc = result.Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - if err := validation.Validate([]validation.Validation{ - {TargetValue: body, - Constraints: []validation.Constraint{{Target: "body.Query", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { - return result, validation.NewError("insights.QueryClient", "Execute", err.Error()) - } - - req, err := client.ExecutePreparer(ctx, appID, body) - if err != nil { - err = autorest.NewErrorWithError(err, "insights.QueryClient", "Execute", nil, "Failure preparing request") - return - } - - resp, err := client.ExecuteSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "insights.QueryClient", "Execute", resp, "Failure sending request") - return - } - - result, err = client.ExecuteResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "insights.QueryClient", "Execute", resp, "Failure responding to request") - } - - return -} - -// ExecutePreparer prepares the Execute request. -func (client QueryClient) ExecutePreparer(ctx context.Context, appID string, body QueryBody) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "appId": autorest.Encode("path", appID), - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/apps/{appId}/query", pathParameters), - autorest.WithJSON(body)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ExecuteSender sends the Execute request. The method will close the -// http.Response Body if it receives an error. -func (client QueryClient) ExecuteSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ExecuteResponder handles the response to the Execute request. The method always -// closes the http.Response Body. -func (client QueryClient) ExecuteResponder(resp *http.Response) (result QueryResults, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} diff --git a/services/automation/mgmt/2015-10-31/automation/dsccompilationjob.go b/services/automation/mgmt/2015-10-31/automation/dsccompilationjob.go index 239c0926be96..d82bca52bb16 100644 --- a/services/automation/mgmt/2015-10-31/automation/dsccompilationjob.go +++ b/services/automation/mgmt/2015-10-31/automation/dsccompilationjob.go @@ -46,7 +46,7 @@ func NewDscCompilationJobClientWithBaseURI(baseURI string, subscriptionID string // Parameters: // resourceGroupName - name of an Azure Resource group. // automationAccountName - the name of the automation account. -// compilationJobID - the the DSC configuration Id. +// compilationJobID - the DSC configuration Id. // parameters - the parameters supplied to the create compilation job operation. func (client DscCompilationJobClient) Create(ctx context.Context, resourceGroupName string, automationAccountName string, compilationJobID uuid.UUID, parameters DscCompilationJobCreateParameters) (result DscCompilationJob, err error) { if tracing.IsEnabled() { diff --git a/services/automation/mgmt/2015-10-31/automation/dscconfiguration.go b/services/automation/mgmt/2015-10-31/automation/dscconfiguration.go index 1336ef9e640c..1adb2650c6d0 100644 --- a/services/automation/mgmt/2015-10-31/automation/dscconfiguration.go +++ b/services/automation/mgmt/2015-10-31/automation/dscconfiguration.go @@ -405,7 +405,7 @@ func (client DscConfigurationClient) GetContentResponder(resp *http.Response) (r // automationAccountName - the name of the automation account. // filter - the filter to apply on the operation. // skip - the number of rows to skip. -// top - the the number of rows to take. +// top - the number of rows to take. // inlinecount - return total rows. func (client DscConfigurationClient) ListByAutomationAccount(ctx context.Context, resourceGroupName string, automationAccountName string, filter string, skip *int32, top *int32, inlinecount string) (result DscConfigurationListResultPage, err error) { if tracing.IsEnabled() { diff --git a/services/batch/2015-12-01.2.2/batch/application.go b/services/batch/2015-12-01.2.2/batch/application.go deleted file mode 100644 index 926b2b05a249..000000000000 --- a/services/batch/2015-12-01.2.2/batch/application.go +++ /dev/null @@ -1,240 +0,0 @@ -package batch - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/autorest/date" - "net/http" -) - -// ApplicationClient is the a client for issuing REST requests to the Azure Batch service. -type ApplicationClient struct { - BaseClient -} - -// NewApplicationClient creates an instance of the ApplicationClient client. -func NewApplicationClient() ApplicationClient { - return NewApplicationClientWithBaseURI(DefaultBaseURI) -} - -// NewApplicationClientWithBaseURI creates an instance of the ApplicationClient client. -func NewApplicationClientWithBaseURI(baseURI string) ApplicationClient { - return ApplicationClient{NewWithBaseURI(baseURI)} -} - -// Get gets information about the specified application. -// -// applicationID is the id of the application. timeout is sets the maximum time that the server can spend -// processing the request, in seconds. The default is 30 seconds. clientRequestID is caller generated request -// identity, in the form of a GUID with no decoration such as curly braces e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is specifies if the server should return the -// client-request-id identifier in the response. ocpDate is the time the request was issued. If not specified, this -// header will be automatically populated with the current system clock time. -func (client ApplicationClient) Get(ctx context.Context, applicationID string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result ApplicationSummary, err error) { - req, err := client.GetPreparer(ctx, applicationID, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ApplicationClient", "Get", nil, "Failure preparing request") - return - } - - resp, err := client.GetSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.ApplicationClient", "Get", resp, "Failure sending request") - return - } - - result, err = client.GetResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ApplicationClient", "Get", resp, "Failure responding to request") - } - - return -} - -// GetPreparer prepares the Get request. -func (client ApplicationClient) GetPreparer(ctx context.Context, applicationID string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "applicationId": autorest.Encode("path", applicationID), - } - - const APIVersion = "2015-12-01.2.2" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/applications/{applicationId}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetSender sends the Get request. The method will close the -// http.Response Body if it receives an error. -func (client ApplicationClient) GetSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// GetResponder handles the response to the Get request. The method always -// closes the http.Response Body. -func (client ApplicationClient) GetResponder(resp *http.Response) (result ApplicationSummary, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// List lists all of the applications available in the specified account. -// -// maxResults is sets the maximum number of items to return in the response. timeout is sets the maximum time that -// the server can spend processing the request, in seconds. The default is 30 seconds. clientRequestID is caller -// generated request identity, in the form of a GUID with no decoration such as curly braces e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is specifies if the server should return the -// client-request-id identifier in the response. ocpDate is the time the request was issued. If not specified, this -// header will be automatically populated with the current system clock time. -func (client ApplicationClient) List(ctx context.Context, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result ApplicationListResultPage, err error) { - result.fn = client.listNextResults - req, err := client.ListPreparer(ctx, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ApplicationClient", "List", nil, "Failure preparing request") - return - } - - resp, err := client.ListSender(req) - if err != nil { - result.alr.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.ApplicationClient", "List", resp, "Failure sending request") - return - } - - result.alr, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ApplicationClient", "List", resp, "Failure responding to request") - } - - return -} - -// ListPreparer prepares the List request. -func (client ApplicationClient) ListPreparer(ctx context.Context, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - const APIVersion = "2015-12-01.2.2" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if maxResults != nil { - queryParameters["maxresults"] = autorest.Encode("query", *maxResults) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPath("/applications"), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListSender sends the List request. The method will close the -// http.Response Body if it receives an error. -func (client ApplicationClient) ListSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ListResponder handles the response to the List request. The method always -// closes the http.Response Body. -func (client ApplicationClient) ListResponder(resp *http.Response) (result ApplicationListResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listNextResults retrieves the next set of results, if any. -func (client ApplicationClient) listNextResults(lastResults ApplicationListResult) (result ApplicationListResult, err error) { - req, err := lastResults.applicationListResultPreparer() - if err != nil { - return result, autorest.NewErrorWithError(err, "batch.ApplicationClient", "listNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "batch.ApplicationClient", "listNextResults", resp, "Failure sending next results request") - } - result, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ApplicationClient", "listNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListComplete enumerates all values, automatically crossing page boundaries as required. -func (client ApplicationClient) ListComplete(ctx context.Context, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result ApplicationListResultIterator, err error) { - result.page, err = client.List(ctx, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - return -} diff --git a/services/batch/2015-12-01.2.2/batch/certificate.go b/services/batch/2015-12-01.2.2/batch/certificate.go deleted file mode 100644 index 76aa9b5d68b0..000000000000 --- a/services/batch/2015-12-01.2.2/batch/certificate.go +++ /dev/null @@ -1,518 +0,0 @@ -package batch - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/autorest/date" - "github.com/Azure/go-autorest/autorest/validation" - "net/http" -) - -// CertificateClient is the a client for issuing REST requests to the Azure Batch service. -type CertificateClient struct { - BaseClient -} - -// NewCertificateClient creates an instance of the CertificateClient client. -func NewCertificateClient() CertificateClient { - return NewCertificateClientWithBaseURI(DefaultBaseURI) -} - -// NewCertificateClientWithBaseURI creates an instance of the CertificateClient client. -func NewCertificateClientWithBaseURI(baseURI string) CertificateClient { - return CertificateClient{NewWithBaseURI(baseURI)} -} - -// Add adds a certificate to the specified account. -// -// certificate is specifies the certificate to be added. timeout is sets the maximum time that the server can spend -// processing the request, in seconds. The default is 30 seconds. clientRequestID is caller generated request -// identity, in the form of a GUID with no decoration such as curly braces e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is specifies if the server should return the -// client-request-id identifier in the response. ocpDate is the time the request was issued. If not specified, this -// header will be automatically populated with the current system clock time. -func (client CertificateClient) Add(ctx context.Context, certificate CertificateAddParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: certificate, - Constraints: []validation.Constraint{{Target: "certificate.Thumbprint", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "certificate.ThumbprintAlgorithm", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "certificate.Data", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { - return result, validation.NewError("batch.CertificateClient", "Add", err.Error()) - } - - req, err := client.AddPreparer(ctx, certificate, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.CertificateClient", "Add", nil, "Failure preparing request") - return - } - - resp, err := client.AddSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.CertificateClient", "Add", resp, "Failure sending request") - return - } - - result, err = client.AddResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.CertificateClient", "Add", resp, "Failure responding to request") - } - - return -} - -// AddPreparer prepares the Add request. -func (client CertificateClient) AddPreparer(ctx context.Context, certificate CertificateAddParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - const APIVersion = "2015-12-01.2.2" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsJSON(), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPath("/certificates"), - autorest.WithJSON(certificate), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// AddSender sends the Add request. The method will close the -// http.Response Body if it receives an error. -func (client CertificateClient) AddSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// AddResponder handles the response to the Add request. The method always -// closes the http.Response Body. -func (client CertificateClient) AddResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), - autorest.ByClosing()) - result.Response = resp - return -} - -// CancelDeletion cancels a failed deletion of a certificate from the specified account. -// -// thumbprintAlgorithm is the algorithm used to derive the thumbprint parameter. This must be sha1. thumbprint is -// the thumbprint of the certificate being deleted. timeout is sets the maximum time that the server can spend -// processing the request, in seconds. The default is 30 seconds. clientRequestID is caller generated request -// identity, in the form of a GUID with no decoration such as curly braces e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is specifies if the server should return the -// client-request-id identifier in the response. ocpDate is the time the request was issued. If not specified, this -// header will be automatically populated with the current system clock time. -func (client CertificateClient) CancelDeletion(ctx context.Context, thumbprintAlgorithm string, thumbprint string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.CancelDeletionPreparer(ctx, thumbprintAlgorithm, thumbprint, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.CertificateClient", "CancelDeletion", nil, "Failure preparing request") - return - } - - resp, err := client.CancelDeletionSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.CertificateClient", "CancelDeletion", resp, "Failure sending request") - return - } - - result, err = client.CancelDeletionResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.CertificateClient", "CancelDeletion", resp, "Failure responding to request") - } - - return -} - -// CancelDeletionPreparer prepares the CancelDeletion request. -func (client CertificateClient) CancelDeletionPreparer(ctx context.Context, thumbprintAlgorithm string, thumbprint string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "thumbprint": autorest.Encode("path", thumbprint), - "thumbprintAlgorithm": autorest.Encode("path", thumbprintAlgorithm), - } - - const APIVersion = "2015-12-01.2.2" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/certificates(thumbprintAlgorithm={thumbprintAlgorithm},thumbprint={thumbprint})/canceldelete", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// CancelDeletionSender sends the CancelDeletion request. The method will close the -// http.Response Body if it receives an error. -func (client CertificateClient) CancelDeletionSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// CancelDeletionResponder handles the response to the CancelDeletion request. The method always -// closes the http.Response Body. -func (client CertificateClient) CancelDeletionResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), - autorest.ByClosing()) - result.Response = resp - return -} - -// Delete deletes a certificate from the specified account. -// -// thumbprintAlgorithm is the algorithm used to derive the thumbprint parameter. This must be sha1. thumbprint is -// the thumbprint of the certificate to be deleted. timeout is sets the maximum time that the server can spend -// processing the request, in seconds. The default is 30 seconds. clientRequestID is caller generated request -// identity, in the form of a GUID with no decoration such as curly braces e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is specifies if the server should return the -// client-request-id identifier in the response. ocpDate is the time the request was issued. If not specified, this -// header will be automatically populated with the current system clock time. -func (client CertificateClient) Delete(ctx context.Context, thumbprintAlgorithm string, thumbprint string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.DeletePreparer(ctx, thumbprintAlgorithm, thumbprint, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.CertificateClient", "Delete", nil, "Failure preparing request") - return - } - - resp, err := client.DeleteSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.CertificateClient", "Delete", resp, "Failure sending request") - return - } - - result, err = client.DeleteResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.CertificateClient", "Delete", resp, "Failure responding to request") - } - - return -} - -// DeletePreparer prepares the Delete request. -func (client CertificateClient) DeletePreparer(ctx context.Context, thumbprintAlgorithm string, thumbprint string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "thumbprint": autorest.Encode("path", thumbprint), - "thumbprintAlgorithm": autorest.Encode("path", thumbprintAlgorithm), - } - - const APIVersion = "2015-12-01.2.2" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsDelete(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/certificates(thumbprintAlgorithm={thumbprintAlgorithm},thumbprint={thumbprint})", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DeleteSender sends the Delete request. The method will close the -// http.Response Body if it receives an error. -func (client CertificateClient) DeleteSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// DeleteResponder handles the response to the Delete request. The method always -// closes the http.Response Body. -func (client CertificateClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByClosing()) - result.Response = resp - return -} - -// Get gets information about the specified certificate. -// -// thumbprintAlgorithm is the algorithm used to derive the thumbprint parameter. This must be sha1. thumbprint is -// the thumbprint of the certificate to get. selectParameter is sets an OData $select clause. timeout is sets the -// maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. -// clientRequestID is caller generated request identity, in the form of a GUID with no decoration such as curly -// braces e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is specifies if the server should return -// the client-request-id identifier in the response. ocpDate is the time the request was issued. If not specified, -// this header will be automatically populated with the current system clock time. -func (client CertificateClient) Get(ctx context.Context, thumbprintAlgorithm string, thumbprint string, selectParameter string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result Certificate, err error) { - req, err := client.GetPreparer(ctx, thumbprintAlgorithm, thumbprint, selectParameter, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.CertificateClient", "Get", nil, "Failure preparing request") - return - } - - resp, err := client.GetSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.CertificateClient", "Get", resp, "Failure sending request") - return - } - - result, err = client.GetResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.CertificateClient", "Get", resp, "Failure responding to request") - } - - return -} - -// GetPreparer prepares the Get request. -func (client CertificateClient) GetPreparer(ctx context.Context, thumbprintAlgorithm string, thumbprint string, selectParameter string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "thumbprint": autorest.Encode("path", thumbprint), - "thumbprintAlgorithm": autorest.Encode("path", thumbprintAlgorithm), - } - - const APIVersion = "2015-12-01.2.2" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(selectParameter) > 0 { - queryParameters["$select"] = autorest.Encode("query", selectParameter) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/certificates(thumbprintAlgorithm={thumbprintAlgorithm},thumbprint={thumbprint})", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetSender sends the Get request. The method will close the -// http.Response Body if it receives an error. -func (client CertificateClient) GetSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// GetResponder handles the response to the Get request. The method always -// closes the http.Response Body. -func (client CertificateClient) GetResponder(resp *http.Response) (result Certificate, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// List lists all of the certificates that have been added to the specified account. -// -// filter is sets an OData $filter clause. selectParameter is sets an OData $select clause. maxResults is sets the -// maximum number of items to return in the response. timeout is sets the maximum time that the server can spend -// processing the request, in seconds. The default is 30 seconds. clientRequestID is caller generated request -// identity, in the form of a GUID with no decoration such as curly braces e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is specifies if the server should return the -// client-request-id identifier in the response. ocpDate is the time the request was issued. If not specified, this -// header will be automatically populated with the current system clock time. -func (client CertificateClient) List(ctx context.Context, filter string, selectParameter string, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result CertificateListResultPage, err error) { - result.fn = client.listNextResults - req, err := client.ListPreparer(ctx, filter, selectParameter, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.CertificateClient", "List", nil, "Failure preparing request") - return - } - - resp, err := client.ListSender(req) - if err != nil { - result.clr.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.CertificateClient", "List", resp, "Failure sending request") - return - } - - result.clr, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.CertificateClient", "List", resp, "Failure responding to request") - } - - return -} - -// ListPreparer prepares the List request. -func (client CertificateClient) ListPreparer(ctx context.Context, filter string, selectParameter string, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - const APIVersion = "2015-12-01.2.2" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(filter) > 0 { - queryParameters["$filter"] = autorest.Encode("query", filter) - } - if len(selectParameter) > 0 { - queryParameters["$select"] = autorest.Encode("query", selectParameter) - } - if maxResults != nil { - queryParameters["maxresults"] = autorest.Encode("query", *maxResults) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPath("/certificates"), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListSender sends the List request. The method will close the -// http.Response Body if it receives an error. -func (client CertificateClient) ListSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ListResponder handles the response to the List request. The method always -// closes the http.Response Body. -func (client CertificateClient) ListResponder(resp *http.Response) (result CertificateListResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listNextResults retrieves the next set of results, if any. -func (client CertificateClient) listNextResults(lastResults CertificateListResult) (result CertificateListResult, err error) { - req, err := lastResults.certificateListResultPreparer() - if err != nil { - return result, autorest.NewErrorWithError(err, "batch.CertificateClient", "listNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "batch.CertificateClient", "listNextResults", resp, "Failure sending next results request") - } - result, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.CertificateClient", "listNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListComplete enumerates all values, automatically crossing page boundaries as required. -func (client CertificateClient) ListComplete(ctx context.Context, filter string, selectParameter string, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result CertificateListResultIterator, err error) { - result.page, err = client.List(ctx, filter, selectParameter, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - return -} diff --git a/services/batch/2015-12-01.2.2/batch/computenode.go b/services/batch/2015-12-01.2.2/batch/computenode.go deleted file mode 100644 index 58dc476b7863..000000000000 --- a/services/batch/2015-12-01.2.2/batch/computenode.go +++ /dev/null @@ -1,988 +0,0 @@ -package batch - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/autorest/date" - "github.com/Azure/go-autorest/autorest/validation" - "net/http" -) - -// ComputeNodeClient is the a client for issuing REST requests to the Azure Batch service. -type ComputeNodeClient struct { - BaseClient -} - -// NewComputeNodeClient creates an instance of the ComputeNodeClient client. -func NewComputeNodeClient() ComputeNodeClient { - return NewComputeNodeClientWithBaseURI(DefaultBaseURI) -} - -// NewComputeNodeClientWithBaseURI creates an instance of the ComputeNodeClient client. -func NewComputeNodeClientWithBaseURI(baseURI string) ComputeNodeClient { - return ComputeNodeClient{NewWithBaseURI(baseURI)} -} - -// AddUser adds a user account to the specified compute node. -// -// poolID is the id of the pool that contains the compute node. nodeID is the id of the machine on which you want -// to create a user account. userParameter is specifies the user account to be created. timeout is sets the maximum -// time that the server can spend processing the request, in seconds. The default is 30 seconds. clientRequestID is -// caller generated request identity, in the form of a GUID with no decoration such as curly braces e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is specifies if the server should return the -// client-request-id identifier in the response. ocpDate is the time the request was issued. If not specified, this -// header will be automatically populated with the current system clock time. -func (client ComputeNodeClient) AddUser(ctx context.Context, poolID string, nodeID string, userParameter ComputeNodeUser, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: userParameter, - Constraints: []validation.Constraint{{Target: "userParameter.Name", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "userParameter.Password", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { - return result, validation.NewError("batch.ComputeNodeClient", "AddUser", err.Error()) - } - - req, err := client.AddUserPreparer(ctx, poolID, nodeID, userParameter, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "AddUser", nil, "Failure preparing request") - return - } - - resp, err := client.AddUserSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "AddUser", resp, "Failure sending request") - return - } - - result, err = client.AddUserResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "AddUser", resp, "Failure responding to request") - } - - return -} - -// AddUserPreparer prepares the AddUser request. -func (client ComputeNodeClient) AddUserPreparer(ctx context.Context, poolID string, nodeID string, userParameter ComputeNodeUser, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "nodeId": autorest.Encode("path", nodeID), - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2015-12-01.2.2" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsJSON(), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/nodes/{nodeId}/users", pathParameters), - autorest.WithJSON(userParameter), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// AddUserSender sends the AddUser request. The method will close the -// http.Response Body if it receives an error. -func (client ComputeNodeClient) AddUserSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// AddUserResponder handles the response to the AddUser request. The method always -// closes the http.Response Body. -func (client ComputeNodeClient) AddUserResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), - autorest.ByClosing()) - result.Response = resp - return -} - -// DeleteUser deletes a user account from the specified compute node. -// -// poolID is the id of the pool that contains the compute node. nodeID is the id of the machine on which you want -// to delete a user account. userName is the name of the user account to delete. timeout is sets the maximum time -// that the server can spend processing the request, in seconds. The default is 30 seconds. clientRequestID is -// caller generated request identity, in the form of a GUID with no decoration such as curly braces e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is specifies if the server should return the -// client-request-id identifier in the response. ocpDate is the time the request was issued. If not specified, this -// header will be automatically populated with the current system clock time. -func (client ComputeNodeClient) DeleteUser(ctx context.Context, poolID string, nodeID string, userName string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.DeleteUserPreparer(ctx, poolID, nodeID, userName, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "DeleteUser", nil, "Failure preparing request") - return - } - - resp, err := client.DeleteUserSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "DeleteUser", resp, "Failure sending request") - return - } - - result, err = client.DeleteUserResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "DeleteUser", resp, "Failure responding to request") - } - - return -} - -// DeleteUserPreparer prepares the DeleteUser request. -func (client ComputeNodeClient) DeleteUserPreparer(ctx context.Context, poolID string, nodeID string, userName string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "nodeId": autorest.Encode("path", nodeID), - "poolId": autorest.Encode("path", poolID), - "userName": autorest.Encode("path", userName), - } - - const APIVersion = "2015-12-01.2.2" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsDelete(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/nodes/{nodeId}/users/{userName}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DeleteUserSender sends the DeleteUser request. The method will close the -// http.Response Body if it receives an error. -func (client ComputeNodeClient) DeleteUserSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// DeleteUserResponder handles the response to the DeleteUser request. The method always -// closes the http.Response Body. -func (client ComputeNodeClient) DeleteUserResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} - -// DisableScheduling disable task scheduling of the specified compute node. -// -// poolID is the id of the pool that contains the compute node. nodeID is the id of the compute node that you want -// to disable task scheduling. nodeDisableSchedulingParameter is the parameters for the request. timeout is sets -// the maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. -// clientRequestID is caller generated request identity, in the form of a GUID with no decoration such as curly -// braces e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is specifies if the server should return -// the client-request-id identifier in the response. ocpDate is the time the request was issued. If not specified, -// this header will be automatically populated with the current system clock time. -func (client ComputeNodeClient) DisableScheduling(ctx context.Context, poolID string, nodeID string, nodeDisableSchedulingParameter *NodeDisableSchedulingParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.DisableSchedulingPreparer(ctx, poolID, nodeID, nodeDisableSchedulingParameter, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "DisableScheduling", nil, "Failure preparing request") - return - } - - resp, err := client.DisableSchedulingSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "DisableScheduling", resp, "Failure sending request") - return - } - - result, err = client.DisableSchedulingResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "DisableScheduling", resp, "Failure responding to request") - } - - return -} - -// DisableSchedulingPreparer prepares the DisableScheduling request. -func (client ComputeNodeClient) DisableSchedulingPreparer(ctx context.Context, poolID string, nodeID string, nodeDisableSchedulingParameter *NodeDisableSchedulingParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "nodeId": autorest.Encode("path", nodeID), - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2015-12-01.2.2" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsJSON(), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/nodes/{nodeId}/disablescheduling", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if nodeDisableSchedulingParameter != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithJSON(nodeDisableSchedulingParameter)) - } - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DisableSchedulingSender sends the DisableScheduling request. The method will close the -// http.Response Body if it receives an error. -func (client ComputeNodeClient) DisableSchedulingSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// DisableSchedulingResponder handles the response to the DisableScheduling request. The method always -// closes the http.Response Body. -func (client ComputeNodeClient) DisableSchedulingResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} - -// EnableScheduling enable task scheduling of the specified compute node. -// -// poolID is the id of the pool that contains the compute node. nodeID is the id of the compute node that you want -// to enable task scheduling. timeout is sets the maximum time that the server can spend processing the request, in -// seconds. The default is 30 seconds. clientRequestID is caller generated request identity, in the form of a GUID -// with no decoration such as curly braces e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is -// specifies if the server should return the client-request-id identifier in the response. ocpDate is the time the -// request was issued. If not specified, this header will be automatically populated with the current system clock -// time. -func (client ComputeNodeClient) EnableScheduling(ctx context.Context, poolID string, nodeID string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.EnableSchedulingPreparer(ctx, poolID, nodeID, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "EnableScheduling", nil, "Failure preparing request") - return - } - - resp, err := client.EnableSchedulingSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "EnableScheduling", resp, "Failure sending request") - return - } - - result, err = client.EnableSchedulingResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "EnableScheduling", resp, "Failure responding to request") - } - - return -} - -// EnableSchedulingPreparer prepares the EnableScheduling request. -func (client ComputeNodeClient) EnableSchedulingPreparer(ctx context.Context, poolID string, nodeID string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "nodeId": autorest.Encode("path", nodeID), - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2015-12-01.2.2" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/nodes/{nodeId}/enablescheduling", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// EnableSchedulingSender sends the EnableScheduling request. The method will close the -// http.Response Body if it receives an error. -func (client ComputeNodeClient) EnableSchedulingSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// EnableSchedulingResponder handles the response to the EnableScheduling request. The method always -// closes the http.Response Body. -func (client ComputeNodeClient) EnableSchedulingResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} - -// Get gets information about the specified compute node. -// -// poolID is the id of the pool that contains the compute node. nodeID is the id of the compute node that you want -// to get information about. selectParameter is sets an OData $select clause. timeout is sets the maximum time that -// the server can spend processing the request, in seconds. The default is 30 seconds. clientRequestID is caller -// generated request identity, in the form of a GUID with no decoration such as curly braces e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is specifies if the server should return the -// client-request-id identifier in the response. ocpDate is the time the request was issued. If not specified, this -// header will be automatically populated with the current system clock time. -func (client ComputeNodeClient) Get(ctx context.Context, poolID string, nodeID string, selectParameter string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result ComputeNode, err error) { - req, err := client.GetPreparer(ctx, poolID, nodeID, selectParameter, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "Get", nil, "Failure preparing request") - return - } - - resp, err := client.GetSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "Get", resp, "Failure sending request") - return - } - - result, err = client.GetResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "Get", resp, "Failure responding to request") - } - - return -} - -// GetPreparer prepares the Get request. -func (client ComputeNodeClient) GetPreparer(ctx context.Context, poolID string, nodeID string, selectParameter string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "nodeId": autorest.Encode("path", nodeID), - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2015-12-01.2.2" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(selectParameter) > 0 { - queryParameters["$select"] = autorest.Encode("query", selectParameter) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/nodes/{nodeId}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetSender sends the Get request. The method will close the -// http.Response Body if it receives an error. -func (client ComputeNodeClient) GetSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// GetResponder handles the response to the Get request. The method always -// closes the http.Response Body. -func (client ComputeNodeClient) GetResponder(resp *http.Response) (result ComputeNode, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// GetRemoteDesktop gets the Remote Desktop Protocol file for the specified compute node. -// -// poolID is the id of the pool that contains the compute node. nodeID is the id of the compute node for which you -// want to get the Remote Desktop Protocol file. timeout is sets the maximum time that the server can spend -// processing the request, in seconds. The default is 30 seconds. clientRequestID is caller generated request -// identity, in the form of a GUID with no decoration such as curly braces e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is specifies if the server should return the -// client-request-id identifier in the response. ocpDate is the time the request was issued. If not specified, this -// header will be automatically populated with the current system clock time. -func (client ComputeNodeClient) GetRemoteDesktop(ctx context.Context, poolID string, nodeID string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result ReadCloser, err error) { - req, err := client.GetRemoteDesktopPreparer(ctx, poolID, nodeID, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "GetRemoteDesktop", nil, "Failure preparing request") - return - } - - resp, err := client.GetRemoteDesktopSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "GetRemoteDesktop", resp, "Failure sending request") - return - } - - result, err = client.GetRemoteDesktopResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "GetRemoteDesktop", resp, "Failure responding to request") - } - - return -} - -// GetRemoteDesktopPreparer prepares the GetRemoteDesktop request. -func (client ComputeNodeClient) GetRemoteDesktopPreparer(ctx context.Context, poolID string, nodeID string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "nodeId": autorest.Encode("path", nodeID), - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2015-12-01.2.2" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/nodes/{nodeId}/rdp", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetRemoteDesktopSender sends the GetRemoteDesktop request. The method will close the -// http.Response Body if it receives an error. -func (client ComputeNodeClient) GetRemoteDesktopSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// GetRemoteDesktopResponder handles the response to the GetRemoteDesktop request. The method always -// closes the http.Response Body. -func (client ComputeNodeClient) GetRemoteDesktopResponder(resp *http.Response) (result ReadCloser, err error) { - result.Value = &resp.Body - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK)) - result.Response = autorest.Response{Response: resp} - return -} - -// List lists the compute nodes in the specified pool. -// -// poolID is the id of the pool from which you want to list nodes. filter is sets an OData $filter clause. -// selectParameter is sets an OData $select clause. maxResults is sets the maximum number of items to return in the -// response. timeout is sets the maximum time that the server can spend processing the request, in seconds. The -// default is 30 seconds. clientRequestID is caller generated request identity, in the form of a GUID with no -// decoration such as curly braces e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is specifies if -// the server should return the client-request-id identifier in the response. ocpDate is the time the request was -// issued. If not specified, this header will be automatically populated with the current system clock time. -func (client ComputeNodeClient) List(ctx context.Context, poolID string, filter string, selectParameter string, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result ComputeNodeListResultPage, err error) { - result.fn = client.listNextResults - req, err := client.ListPreparer(ctx, poolID, filter, selectParameter, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "List", nil, "Failure preparing request") - return - } - - resp, err := client.ListSender(req) - if err != nil { - result.cnlr.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "List", resp, "Failure sending request") - return - } - - result.cnlr, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "List", resp, "Failure responding to request") - } - - return -} - -// ListPreparer prepares the List request. -func (client ComputeNodeClient) ListPreparer(ctx context.Context, poolID string, filter string, selectParameter string, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2015-12-01.2.2" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(filter) > 0 { - queryParameters["$filter"] = autorest.Encode("query", filter) - } - if len(selectParameter) > 0 { - queryParameters["$select"] = autorest.Encode("query", selectParameter) - } - if maxResults != nil { - queryParameters["maxresults"] = autorest.Encode("query", *maxResults) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/nodes", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListSender sends the List request. The method will close the -// http.Response Body if it receives an error. -func (client ComputeNodeClient) ListSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ListResponder handles the response to the List request. The method always -// closes the http.Response Body. -func (client ComputeNodeClient) ListResponder(resp *http.Response) (result ComputeNodeListResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listNextResults retrieves the next set of results, if any. -func (client ComputeNodeClient) listNextResults(lastResults ComputeNodeListResult) (result ComputeNodeListResult, err error) { - req, err := lastResults.computeNodeListResultPreparer() - if err != nil { - return result, autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "listNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "listNextResults", resp, "Failure sending next results request") - } - result, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "listNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListComplete enumerates all values, automatically crossing page boundaries as required. -func (client ComputeNodeClient) ListComplete(ctx context.Context, poolID string, filter string, selectParameter string, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result ComputeNodeListResultIterator, err error) { - result.page, err = client.List(ctx, poolID, filter, selectParameter, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - return -} - -// Reboot restarts the specified compute node. -// -// poolID is the id of the pool that contains the compute node. nodeID is the id of the compute node that you want -// to restart. nodeRebootParameter is the parameters for the request. timeout is sets the maximum time that the -// server can spend processing the request, in seconds. The default is 30 seconds. clientRequestID is caller -// generated request identity, in the form of a GUID with no decoration such as curly braces e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is specifies if the server should return the -// client-request-id identifier in the response. ocpDate is the time the request was issued. If not specified, this -// header will be automatically populated with the current system clock time. -func (client ComputeNodeClient) Reboot(ctx context.Context, poolID string, nodeID string, nodeRebootParameter *NodeRebootParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.RebootPreparer(ctx, poolID, nodeID, nodeRebootParameter, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "Reboot", nil, "Failure preparing request") - return - } - - resp, err := client.RebootSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "Reboot", resp, "Failure sending request") - return - } - - result, err = client.RebootResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "Reboot", resp, "Failure responding to request") - } - - return -} - -// RebootPreparer prepares the Reboot request. -func (client ComputeNodeClient) RebootPreparer(ctx context.Context, poolID string, nodeID string, nodeRebootParameter *NodeRebootParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "nodeId": autorest.Encode("path", nodeID), - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2015-12-01.2.2" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsJSON(), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/nodes/{nodeId}/reboot", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if nodeRebootParameter != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithJSON(nodeRebootParameter)) - } - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// RebootSender sends the Reboot request. The method will close the -// http.Response Body if it receives an error. -func (client ComputeNodeClient) RebootSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// RebootResponder handles the response to the Reboot request. The method always -// closes the http.Response Body. -func (client ComputeNodeClient) RebootResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByClosing()) - result.Response = resp - return -} - -// Reimage reinstalls the operating system on the specified compute node. -// -// poolID is the id of the pool that contains the compute node. nodeID is the id of the compute node that you want -// to restart. nodeReimageParameter is the parameters for the request. timeout is sets the maximum time that the -// server can spend processing the request, in seconds. The default is 30 seconds. clientRequestID is caller -// generated request identity, in the form of a GUID with no decoration such as curly braces e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is specifies if the server should return the -// client-request-id identifier in the response. ocpDate is the time the request was issued. If not specified, this -// header will be automatically populated with the current system clock time. -func (client ComputeNodeClient) Reimage(ctx context.Context, poolID string, nodeID string, nodeReimageParameter *NodeReimageParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.ReimagePreparer(ctx, poolID, nodeID, nodeReimageParameter, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "Reimage", nil, "Failure preparing request") - return - } - - resp, err := client.ReimageSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "Reimage", resp, "Failure sending request") - return - } - - result, err = client.ReimageResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "Reimage", resp, "Failure responding to request") - } - - return -} - -// ReimagePreparer prepares the Reimage request. -func (client ComputeNodeClient) ReimagePreparer(ctx context.Context, poolID string, nodeID string, nodeReimageParameter *NodeReimageParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "nodeId": autorest.Encode("path", nodeID), - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2015-12-01.2.2" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsJSON(), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/nodes/{nodeId}/reimage", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if nodeReimageParameter != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithJSON(nodeReimageParameter)) - } - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ReimageSender sends the Reimage request. The method will close the -// http.Response Body if it receives an error. -func (client ComputeNodeClient) ReimageSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ReimageResponder handles the response to the Reimage request. The method always -// closes the http.Response Body. -func (client ComputeNodeClient) ReimageResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByClosing()) - result.Response = resp - return -} - -// UpdateUser updates the password or expiration time of a user account on the specified compute node. -// -// poolID is the id of the pool that contains the compute node. nodeID is the id of the machine on which you want -// to update a user account. userName is the name of the user account to update. nodeUpdateUserParameter is the -// parameters for the request. timeout is sets the maximum time that the server can spend processing the request, -// in seconds. The default is 30 seconds. clientRequestID is caller generated request identity, in the form of a -// GUID with no decoration such as curly braces e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is -// specifies if the server should return the client-request-id identifier in the response. ocpDate is the time the -// request was issued. If not specified, this header will be automatically populated with the current system clock -// time. -func (client ComputeNodeClient) UpdateUser(ctx context.Context, poolID string, nodeID string, userName string, nodeUpdateUserParameter NodeUpdateUserParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: nodeUpdateUserParameter, - Constraints: []validation.Constraint{{Target: "nodeUpdateUserParameter.Password", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { - return result, validation.NewError("batch.ComputeNodeClient", "UpdateUser", err.Error()) - } - - req, err := client.UpdateUserPreparer(ctx, poolID, nodeID, userName, nodeUpdateUserParameter, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "UpdateUser", nil, "Failure preparing request") - return - } - - resp, err := client.UpdateUserSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "UpdateUser", resp, "Failure sending request") - return - } - - result, err = client.UpdateUserResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "UpdateUser", resp, "Failure responding to request") - } - - return -} - -// UpdateUserPreparer prepares the UpdateUser request. -func (client ComputeNodeClient) UpdateUserPreparer(ctx context.Context, poolID string, nodeID string, userName string, nodeUpdateUserParameter NodeUpdateUserParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "nodeId": autorest.Encode("path", nodeID), - "poolId": autorest.Encode("path", poolID), - "userName": autorest.Encode("path", userName), - } - - const APIVersion = "2015-12-01.2.2" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsJSON(), - autorest.AsPut(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/nodes/{nodeId}/users/{userName}", pathParameters), - autorest.WithJSON(nodeUpdateUserParameter), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// UpdateUserSender sends the UpdateUser request. The method will close the -// http.Response Body if it receives an error. -func (client ComputeNodeClient) UpdateUserSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// UpdateUserResponder handles the response to the UpdateUser request. The method always -// closes the http.Response Body. -func (client ComputeNodeClient) UpdateUserResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} diff --git a/services/batch/2015-12-01.2.2/batch/file.go b/services/batch/2015-12-01.2.2/batch/file.go deleted file mode 100644 index 1e8d9600094c..000000000000 --- a/services/batch/2015-12-01.2.2/batch/file.go +++ /dev/null @@ -1,887 +0,0 @@ -package batch - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/autorest/date" - "net/http" -) - -// FileClient is the a client for issuing REST requests to the Azure Batch service. -type FileClient struct { - BaseClient -} - -// NewFileClient creates an instance of the FileClient client. -func NewFileClient() FileClient { - return NewFileClientWithBaseURI(DefaultBaseURI) -} - -// NewFileClientWithBaseURI creates an instance of the FileClient client. -func NewFileClientWithBaseURI(baseURI string) FileClient { - return FileClient{NewWithBaseURI(baseURI)} -} - -// DeleteFromComputeNode deletes the specified task file from the compute node. -// -// poolID is the id of the pool that contains the compute node. nodeID is the id of the compute node from which you -// want to delete the file. fileName is the path to the file that you want to delete. recursive is sets whether to -// delete children of a directory. If the fileName parameter represents a directory instead of a file, you can set -// Recursive to true to delete the directory and all of the files and subdirectories in it. If Recursive is false -// then the directory must be empty or deletion will fail. timeout is sets the maximum time that the server can -// spend processing the request, in seconds. The default is 30 seconds. clientRequestID is caller generated request -// identity, in the form of a GUID with no decoration such as curly braces e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is specifies if the server should return the -// client-request-id identifier in the response. ocpDate is the time the request was issued. If not specified, this -// header will be automatically populated with the current system clock time. -func (client FileClient) DeleteFromComputeNode(ctx context.Context, poolID string, nodeID string, fileName string, recursive *bool, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.DeleteFromComputeNodePreparer(ctx, poolID, nodeID, fileName, recursive, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "DeleteFromComputeNode", nil, "Failure preparing request") - return - } - - resp, err := client.DeleteFromComputeNodeSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.FileClient", "DeleteFromComputeNode", resp, "Failure sending request") - return - } - - result, err = client.DeleteFromComputeNodeResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "DeleteFromComputeNode", resp, "Failure responding to request") - } - - return -} - -// DeleteFromComputeNodePreparer prepares the DeleteFromComputeNode request. -func (client FileClient) DeleteFromComputeNodePreparer(ctx context.Context, poolID string, nodeID string, fileName string, recursive *bool, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "fileName": autorest.Encode("path", fileName), - "nodeId": autorest.Encode("path", nodeID), - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2015-12-01.2.2" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if recursive != nil { - queryParameters["recursive"] = autorest.Encode("query", *recursive) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsDelete(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/nodes/{nodeId}/files/{fileName}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DeleteFromComputeNodeSender sends the DeleteFromComputeNode request. The method will close the -// http.Response Body if it receives an error. -func (client FileClient) DeleteFromComputeNodeSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// DeleteFromComputeNodeResponder handles the response to the DeleteFromComputeNode request. The method always -// closes the http.Response Body. -func (client FileClient) DeleteFromComputeNodeResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} - -// DeleteFromTask deletes the specified task file from the compute node where the task ran. -// -// jobID is the id of the job that contains the task. taskID is the id of the task whose file you want to delete. -// fileName is the path to the task file that you want to delete. recursive is sets whether to delete children of a -// directory. If the fileName parameter represents a directory instead of a file, you can set Recursive to true to -// delete the directory and all of the files and subdirectories in it. If Recursive is false then the directory -// must be empty or deletion will fail. timeout is sets the maximum time that the server can spend processing the -// request, in seconds. The default is 30 seconds. clientRequestID is caller generated request identity, in the -// form of a GUID with no decoration such as curly braces e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. -// returnClientRequestID is specifies if the server should return the client-request-id identifier in the response. -// ocpDate is the time the request was issued. If not specified, this header will be automatically populated with -// the current system clock time. -func (client FileClient) DeleteFromTask(ctx context.Context, jobID string, taskID string, fileName string, recursive *bool, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.DeleteFromTaskPreparer(ctx, jobID, taskID, fileName, recursive, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "DeleteFromTask", nil, "Failure preparing request") - return - } - - resp, err := client.DeleteFromTaskSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.FileClient", "DeleteFromTask", resp, "Failure sending request") - return - } - - result, err = client.DeleteFromTaskResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "DeleteFromTask", resp, "Failure responding to request") - } - - return -} - -// DeleteFromTaskPreparer prepares the DeleteFromTask request. -func (client FileClient) DeleteFromTaskPreparer(ctx context.Context, jobID string, taskID string, fileName string, recursive *bool, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "fileName": autorest.Encode("path", fileName), - "jobId": autorest.Encode("path", jobID), - "taskId": autorest.Encode("path", taskID), - } - - const APIVersion = "2015-12-01.2.2" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if recursive != nil { - queryParameters["recursive"] = autorest.Encode("query", *recursive) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsDelete(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}/tasks/{taskId}/files/{fileName}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DeleteFromTaskSender sends the DeleteFromTask request. The method will close the -// http.Response Body if it receives an error. -func (client FileClient) DeleteFromTaskSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// DeleteFromTaskResponder handles the response to the DeleteFromTask request. The method always -// closes the http.Response Body. -func (client FileClient) DeleteFromTaskResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} - -// GetFromComputeNode gets the content of the specified task file. -// -// poolID is the id of the pool that contains the compute node. nodeID is the id of the compute node that contains -// the file. fileName is the path to the task file that you want to get the content of. timeout is sets the maximum -// time that the server can spend processing the request, in seconds. The default is 30 seconds. clientRequestID is -// caller generated request identity, in the form of a GUID with no decoration such as curly braces e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is specifies if the server should return the -// client-request-id identifier in the response. ocpDate is the time the request was issued. If not specified, this -// header will be automatically populated with the current system clock time. ocpRange is specifies the byte range -// to be retrieved. The default is to retrieve the entire file. The format is startRange-endRange. ifModifiedSince -// is specify this header to perform the operation only if the resource has been modified since the specified -// date/time. ifUnmodifiedSince is specify this header to perform the operation only if the resource has not been -// modified since the specified date/time. -func (client FileClient) GetFromComputeNode(ctx context.Context, poolID string, nodeID string, fileName string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ocpRange string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result ReadCloser, err error) { - req, err := client.GetFromComputeNodePreparer(ctx, poolID, nodeID, fileName, timeout, clientRequestID, returnClientRequestID, ocpDate, ocpRange, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "GetFromComputeNode", nil, "Failure preparing request") - return - } - - resp, err := client.GetFromComputeNodeSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.FileClient", "GetFromComputeNode", resp, "Failure sending request") - return - } - - result, err = client.GetFromComputeNodeResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "GetFromComputeNode", resp, "Failure responding to request") - } - - return -} - -// GetFromComputeNodePreparer prepares the GetFromComputeNode request. -func (client FileClient) GetFromComputeNodePreparer(ctx context.Context, poolID string, nodeID string, fileName string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ocpRange string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "fileName": autorest.Encode("path", fileName), - "nodeId": autorest.Encode("path", nodeID), - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2015-12-01.2.2" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/nodes/{nodeId}/files/{fileName}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ocpRange) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-range", autorest.String(ocpRange))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetFromComputeNodeSender sends the GetFromComputeNode request. The method will close the -// http.Response Body if it receives an error. -func (client FileClient) GetFromComputeNodeSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// GetFromComputeNodeResponder handles the response to the GetFromComputeNode request. The method always -// closes the http.Response Body. -func (client FileClient) GetFromComputeNodeResponder(resp *http.Response) (result ReadCloser, err error) { - result.Value = &resp.Body - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK)) - result.Response = autorest.Response{Response: resp} - return -} - -// GetFromTask gets the content of the specified task file. -// -// jobID is the id of the job that contains the task. taskID is the id of the task whose file you want to retrieve. -// fileName is the path to the task file that you want to get the content of. timeout is sets the maximum time that -// the server can spend processing the request, in seconds. The default is 30 seconds. clientRequestID is caller -// generated request identity, in the form of a GUID with no decoration such as curly braces e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is specifies if the server should return the -// client-request-id identifier in the response. ocpDate is the time the request was issued. If not specified, this -// header will be automatically populated with the current system clock time. ocpRange is specifies the byte range -// to be retrieved. The default is to retrieve the entire file. The format is startRange-endRange. ifModifiedSince -// is specify this header to perform the operation only if the resource has been modified since the specified -// date/time. ifUnmodifiedSince is specify this header to perform the operation only if the resource has not been -// modified since the specified date/time. -func (client FileClient) GetFromTask(ctx context.Context, jobID string, taskID string, fileName string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ocpRange string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result ReadCloser, err error) { - req, err := client.GetFromTaskPreparer(ctx, jobID, taskID, fileName, timeout, clientRequestID, returnClientRequestID, ocpDate, ocpRange, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "GetFromTask", nil, "Failure preparing request") - return - } - - resp, err := client.GetFromTaskSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.FileClient", "GetFromTask", resp, "Failure sending request") - return - } - - result, err = client.GetFromTaskResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "GetFromTask", resp, "Failure responding to request") - } - - return -} - -// GetFromTaskPreparer prepares the GetFromTask request. -func (client FileClient) GetFromTaskPreparer(ctx context.Context, jobID string, taskID string, fileName string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ocpRange string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "fileName": autorest.Encode("path", fileName), - "jobId": autorest.Encode("path", jobID), - "taskId": autorest.Encode("path", taskID), - } - - const APIVersion = "2015-12-01.2.2" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}/tasks/{taskId}/files/{fileName}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ocpRange) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-range", autorest.String(ocpRange))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetFromTaskSender sends the GetFromTask request. The method will close the -// http.Response Body if it receives an error. -func (client FileClient) GetFromTaskSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// GetFromTaskResponder handles the response to the GetFromTask request. The method always -// closes the http.Response Body. -func (client FileClient) GetFromTaskResponder(resp *http.Response) (result ReadCloser, err error) { - result.Value = &resp.Body - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK)) - result.Response = autorest.Response{Response: resp} - return -} - -// GetNodeFilePropertiesFromComputeNode gets the properties of the specified compute node file. -// -// poolID is the id of the pool that contains the compute node. nodeID is the id of the compute node that contains -// the file. fileName is the path to the compute node file that you want to get the properties of. timeout is sets -// the maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. -// clientRequestID is caller generated request identity, in the form of a GUID with no decoration such as curly -// braces e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is specifies if the server should return -// the client-request-id identifier in the response. ocpDate is the time the request was issued. If not specified, -// this header will be automatically populated with the current system clock time. ifModifiedSince is specify this -// header to perform the operation only if the resource has been modified since the specified date/time. -// ifUnmodifiedSince is specify this header to perform the operation only if the resource has not been modified -// since the specified date/time. -func (client FileClient) GetNodeFilePropertiesFromComputeNode(ctx context.Context, poolID string, nodeID string, fileName string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.GetNodeFilePropertiesFromComputeNodePreparer(ctx, poolID, nodeID, fileName, timeout, clientRequestID, returnClientRequestID, ocpDate, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "GetNodeFilePropertiesFromComputeNode", nil, "Failure preparing request") - return - } - - resp, err := client.GetNodeFilePropertiesFromComputeNodeSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.FileClient", "GetNodeFilePropertiesFromComputeNode", resp, "Failure sending request") - return - } - - result, err = client.GetNodeFilePropertiesFromComputeNodeResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "GetNodeFilePropertiesFromComputeNode", resp, "Failure responding to request") - } - - return -} - -// GetNodeFilePropertiesFromComputeNodePreparer prepares the GetNodeFilePropertiesFromComputeNode request. -func (client FileClient) GetNodeFilePropertiesFromComputeNodePreparer(ctx context.Context, poolID string, nodeID string, fileName string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "fileName": autorest.Encode("path", fileName), - "nodeId": autorest.Encode("path", nodeID), - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2015-12-01.2.2" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsHead(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/nodes/{nodeId}/files/{fileName}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetNodeFilePropertiesFromComputeNodeSender sends the GetNodeFilePropertiesFromComputeNode request. The method will close the -// http.Response Body if it receives an error. -func (client FileClient) GetNodeFilePropertiesFromComputeNodeSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// GetNodeFilePropertiesFromComputeNodeResponder handles the response to the GetNodeFilePropertiesFromComputeNode request. The method always -// closes the http.Response Body. -func (client FileClient) GetNodeFilePropertiesFromComputeNodeResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} - -// GetNodeFilePropertiesFromTask gets the properties of the specified task file. -// -// jobID is the id of the job that contains the task. taskID is the id of the task whose file you want to get the -// properties of. fileName is the path to the task file that you want to get the properties of. timeout is sets the -// maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. -// clientRequestID is caller generated request identity, in the form of a GUID with no decoration such as curly -// braces e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is specifies if the server should return -// the client-request-id identifier in the response. ocpDate is the time the request was issued. If not specified, -// this header will be automatically populated with the current system clock time. ifModifiedSince is specify this -// header to perform the operation only if the resource has been modified since the specified date/time. -// ifUnmodifiedSince is specify this header to perform the operation only if the resource has not been modified -// since the specified date/time. -func (client FileClient) GetNodeFilePropertiesFromTask(ctx context.Context, jobID string, taskID string, fileName string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.GetNodeFilePropertiesFromTaskPreparer(ctx, jobID, taskID, fileName, timeout, clientRequestID, returnClientRequestID, ocpDate, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "GetNodeFilePropertiesFromTask", nil, "Failure preparing request") - return - } - - resp, err := client.GetNodeFilePropertiesFromTaskSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.FileClient", "GetNodeFilePropertiesFromTask", resp, "Failure sending request") - return - } - - result, err = client.GetNodeFilePropertiesFromTaskResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "GetNodeFilePropertiesFromTask", resp, "Failure responding to request") - } - - return -} - -// GetNodeFilePropertiesFromTaskPreparer prepares the GetNodeFilePropertiesFromTask request. -func (client FileClient) GetNodeFilePropertiesFromTaskPreparer(ctx context.Context, jobID string, taskID string, fileName string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "fileName": autorest.Encode("path", fileName), - "jobId": autorest.Encode("path", jobID), - "taskId": autorest.Encode("path", taskID), - } - - const APIVersion = "2015-12-01.2.2" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsHead(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}/tasks/{taskId}/files/{fileName}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetNodeFilePropertiesFromTaskSender sends the GetNodeFilePropertiesFromTask request. The method will close the -// http.Response Body if it receives an error. -func (client FileClient) GetNodeFilePropertiesFromTaskSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// GetNodeFilePropertiesFromTaskResponder handles the response to the GetNodeFilePropertiesFromTask request. The method always -// closes the http.Response Body. -func (client FileClient) GetNodeFilePropertiesFromTaskResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} - -// ListFromComputeNode lists all of the files in task directories on the specified compute node. -// -// poolID is the id of the pool that contains the compute node. nodeID is the id of the compute node whose files -// you want to list. filter is sets an OData $filter clause. recursive is sets whether to list children of a -// directory. maxResults is sets the maximum number of items to return in the response. timeout is sets the maximum -// time that the server can spend processing the request, in seconds. The default is 30 seconds. clientRequestID is -// caller generated request identity, in the form of a GUID with no decoration such as curly braces e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is specifies if the server should return the -// client-request-id identifier in the response. ocpDate is the time the request was issued. If not specified, this -// header will be automatically populated with the current system clock time. -func (client FileClient) ListFromComputeNode(ctx context.Context, poolID string, nodeID string, filter string, recursive *bool, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result NodeFileListResultPage, err error) { - result.fn = client.listFromComputeNodeNextResults - req, err := client.ListFromComputeNodePreparer(ctx, poolID, nodeID, filter, recursive, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "ListFromComputeNode", nil, "Failure preparing request") - return - } - - resp, err := client.ListFromComputeNodeSender(req) - if err != nil { - result.nflr.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.FileClient", "ListFromComputeNode", resp, "Failure sending request") - return - } - - result.nflr, err = client.ListFromComputeNodeResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "ListFromComputeNode", resp, "Failure responding to request") - } - - return -} - -// ListFromComputeNodePreparer prepares the ListFromComputeNode request. -func (client FileClient) ListFromComputeNodePreparer(ctx context.Context, poolID string, nodeID string, filter string, recursive *bool, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "nodeId": autorest.Encode("path", nodeID), - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2015-12-01.2.2" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(filter) > 0 { - queryParameters["$filter"] = autorest.Encode("query", filter) - } - if recursive != nil { - queryParameters["recursive"] = autorest.Encode("query", *recursive) - } - if maxResults != nil { - queryParameters["maxresults"] = autorest.Encode("query", *maxResults) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/nodes/{nodeId}/files", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListFromComputeNodeSender sends the ListFromComputeNode request. The method will close the -// http.Response Body if it receives an error. -func (client FileClient) ListFromComputeNodeSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ListFromComputeNodeResponder handles the response to the ListFromComputeNode request. The method always -// closes the http.Response Body. -func (client FileClient) ListFromComputeNodeResponder(resp *http.Response) (result NodeFileListResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listFromComputeNodeNextResults retrieves the next set of results, if any. -func (client FileClient) listFromComputeNodeNextResults(lastResults NodeFileListResult) (result NodeFileListResult, err error) { - req, err := lastResults.nodeFileListResultPreparer() - if err != nil { - return result, autorest.NewErrorWithError(err, "batch.FileClient", "listFromComputeNodeNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListFromComputeNodeSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "batch.FileClient", "listFromComputeNodeNextResults", resp, "Failure sending next results request") - } - result, err = client.ListFromComputeNodeResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "listFromComputeNodeNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListFromComputeNodeComplete enumerates all values, automatically crossing page boundaries as required. -func (client FileClient) ListFromComputeNodeComplete(ctx context.Context, poolID string, nodeID string, filter string, recursive *bool, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result NodeFileListResultIterator, err error) { - result.page, err = client.ListFromComputeNode(ctx, poolID, nodeID, filter, recursive, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - return -} - -// ListFromTask lists the files in a task's directory on its compute node. -// -// jobID is the id of the job that contains the task. taskID is the id of the task whose files you want to list. -// filter is sets an OData $filter clause. recursive is sets whether to list children of a directory. maxResults is -// sets the maximum number of items to return in the response. timeout is sets the maximum time that the server can -// spend processing the request, in seconds. The default is 30 seconds. clientRequestID is caller generated request -// identity, in the form of a GUID with no decoration such as curly braces e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is specifies if the server should return the -// client-request-id identifier in the response. ocpDate is the time the request was issued. If not specified, this -// header will be automatically populated with the current system clock time. -func (client FileClient) ListFromTask(ctx context.Context, jobID string, taskID string, filter string, recursive *bool, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result NodeFileListResultPage, err error) { - result.fn = client.listFromTaskNextResults - req, err := client.ListFromTaskPreparer(ctx, jobID, taskID, filter, recursive, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "ListFromTask", nil, "Failure preparing request") - return - } - - resp, err := client.ListFromTaskSender(req) - if err != nil { - result.nflr.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.FileClient", "ListFromTask", resp, "Failure sending request") - return - } - - result.nflr, err = client.ListFromTaskResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "ListFromTask", resp, "Failure responding to request") - } - - return -} - -// ListFromTaskPreparer prepares the ListFromTask request. -func (client FileClient) ListFromTaskPreparer(ctx context.Context, jobID string, taskID string, filter string, recursive *bool, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - "taskId": autorest.Encode("path", taskID), - } - - const APIVersion = "2015-12-01.2.2" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(filter) > 0 { - queryParameters["$filter"] = autorest.Encode("query", filter) - } - if recursive != nil { - queryParameters["recursive"] = autorest.Encode("query", *recursive) - } - if maxResults != nil { - queryParameters["maxresults"] = autorest.Encode("query", *maxResults) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}/tasks/{taskId}/files", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListFromTaskSender sends the ListFromTask request. The method will close the -// http.Response Body if it receives an error. -func (client FileClient) ListFromTaskSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ListFromTaskResponder handles the response to the ListFromTask request. The method always -// closes the http.Response Body. -func (client FileClient) ListFromTaskResponder(resp *http.Response) (result NodeFileListResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listFromTaskNextResults retrieves the next set of results, if any. -func (client FileClient) listFromTaskNextResults(lastResults NodeFileListResult) (result NodeFileListResult, err error) { - req, err := lastResults.nodeFileListResultPreparer() - if err != nil { - return result, autorest.NewErrorWithError(err, "batch.FileClient", "listFromTaskNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListFromTaskSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "batch.FileClient", "listFromTaskNextResults", resp, "Failure sending next results request") - } - result, err = client.ListFromTaskResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "listFromTaskNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListFromTaskComplete enumerates all values, automatically crossing page boundaries as required. -func (client FileClient) ListFromTaskComplete(ctx context.Context, jobID string, taskID string, filter string, recursive *bool, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result NodeFileListResultIterator, err error) { - result.page, err = client.ListFromTask(ctx, jobID, taskID, filter, recursive, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - return -} diff --git a/services/batch/2015-12-01.2.2/batch/job.go b/services/batch/2015-12-01.2.2/batch/job.go deleted file mode 100644 index 36cb2d332cd5..000000000000 --- a/services/batch/2015-12-01.2.2/batch/job.go +++ /dev/null @@ -1,1336 +0,0 @@ -package batch - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/autorest/date" - "github.com/Azure/go-autorest/autorest/validation" - "net/http" -) - -// JobClient is the a client for issuing REST requests to the Azure Batch service. -type JobClient struct { - BaseClient -} - -// NewJobClient creates an instance of the JobClient client. -func NewJobClient() JobClient { - return NewJobClientWithBaseURI(DefaultBaseURI) -} - -// NewJobClientWithBaseURI creates an instance of the JobClient client. -func NewJobClientWithBaseURI(baseURI string) JobClient { - return JobClient{NewWithBaseURI(baseURI)} -} - -// Add adds a job to the specified account. -// -// job is specifies the job to be added. timeout is sets the maximum time that the server can spend processing the -// request, in seconds. The default is 30 seconds. clientRequestID is caller generated request identity, in the -// form of a GUID with no decoration such as curly braces e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. -// returnClientRequestID is specifies if the server should return the client-request-id identifier in the response. -// ocpDate is the time the request was issued. If not specified, this header will be automatically populated with -// the current system clock time. -func (client JobClient) Add(ctx context.Context, job JobAddParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: job, - Constraints: []validation.Constraint{{Target: "job.ID", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "job.PoolInfo", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { - return result, validation.NewError("batch.JobClient", "Add", err.Error()) - } - - req, err := client.AddPreparer(ctx, job, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "Add", nil, "Failure preparing request") - return - } - - resp, err := client.AddSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.JobClient", "Add", resp, "Failure sending request") - return - } - - result, err = client.AddResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "Add", resp, "Failure responding to request") - } - - return -} - -// AddPreparer prepares the Add request. -func (client JobClient) AddPreparer(ctx context.Context, job JobAddParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - const APIVersion = "2015-12-01.2.2" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsJSON(), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPath("/jobs"), - autorest.WithJSON(job), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// AddSender sends the Add request. The method will close the -// http.Response Body if it receives an error. -func (client JobClient) AddSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// AddResponder handles the response to the Add request. The method always -// closes the http.Response Body. -func (client JobClient) AddResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), - autorest.ByClosing()) - result.Response = resp - return -} - -// Delete deletes a job. -// -// jobID is the id of the job to delete. timeout is sets the maximum time that the server can spend processing the -// request, in seconds. The default is 30 seconds. clientRequestID is caller generated request identity, in the -// form of a GUID with no decoration such as curly braces e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. -// returnClientRequestID is specifies if the server should return the client-request-id identifier in the response. -// ocpDate is the time the request was issued. If not specified, this header will be automatically populated with -// the current system clock time. ifMatch is an ETag is specified. Specify this header to perform the operation -// only if the resource's ETag is an exact match as specified. ifNoneMatch is an ETag is specified. Specify this -// header to perform the operation only if the resource's ETag does not match the specified ETag. ifModifiedSince -// is specify this header to perform the operation only if the resource has been modified since the specified -// date/time. ifUnmodifiedSince is specify this header to perform the operation only if the resource has not been -// modified since the specified date/time. -func (client JobClient) Delete(ctx context.Context, jobID string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.DeletePreparer(ctx, jobID, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "Delete", nil, "Failure preparing request") - return - } - - resp, err := client.DeleteSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.JobClient", "Delete", resp, "Failure sending request") - return - } - - result, err = client.DeleteResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "Delete", resp, "Failure responding to request") - } - - return -} - -// DeletePreparer prepares the Delete request. -func (client JobClient) DeletePreparer(ctx context.Context, jobID string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - } - - const APIVersion = "2015-12-01.2.2" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsDelete(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DeleteSender sends the Delete request. The method will close the -// http.Response Body if it receives an error. -func (client JobClient) DeleteSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// DeleteResponder handles the response to the Delete request. The method always -// closes the http.Response Body. -func (client JobClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByClosing()) - result.Response = resp - return -} - -// Disable disables the specified job, preventing new tasks from running. -// -// jobID is the id of the job to disable. jobDisableParameter is the parameters for the request. timeout is sets -// the maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. -// clientRequestID is caller generated request identity, in the form of a GUID with no decoration such as curly -// braces e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is specifies if the server should return -// the client-request-id identifier in the response. ocpDate is the time the request was issued. If not specified, -// this header will be automatically populated with the current system clock time. ifMatch is an ETag is specified. -// Specify this header to perform the operation only if the resource's ETag is an exact match as specified. -// ifNoneMatch is an ETag is specified. Specify this header to perform the operation only if the resource's ETag -// does not match the specified ETag. ifModifiedSince is specify this header to perform the operation only if the -// resource has been modified since the specified date/time. ifUnmodifiedSince is specify this header to perform -// the operation only if the resource has not been modified since the specified date/time. -func (client JobClient) Disable(ctx context.Context, jobID string, jobDisableParameter JobDisableParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.DisablePreparer(ctx, jobID, jobDisableParameter, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "Disable", nil, "Failure preparing request") - return - } - - resp, err := client.DisableSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.JobClient", "Disable", resp, "Failure sending request") - return - } - - result, err = client.DisableResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "Disable", resp, "Failure responding to request") - } - - return -} - -// DisablePreparer prepares the Disable request. -func (client JobClient) DisablePreparer(ctx context.Context, jobID string, jobDisableParameter JobDisableParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - } - - const APIVersion = "2015-12-01.2.2" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsJSON(), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}/disable", pathParameters), - autorest.WithJSON(jobDisableParameter), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DisableSender sends the Disable request. The method will close the -// http.Response Body if it receives an error. -func (client JobClient) DisableSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// DisableResponder handles the response to the Disable request. The method always -// closes the http.Response Body. -func (client JobClient) DisableResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByClosing()) - result.Response = resp - return -} - -// Enable enables the specified job, allowing new tasks to run. -// -// jobID is the id of the job to enable. timeout is sets the maximum time that the server can spend processing the -// request, in seconds. The default is 30 seconds. clientRequestID is caller generated request identity, in the -// form of a GUID with no decoration such as curly braces e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. -// returnClientRequestID is specifies if the server should return the client-request-id identifier in the response. -// ocpDate is the time the request was issued. If not specified, this header will be automatically populated with -// the current system clock time. ifMatch is an ETag is specified. Specify this header to perform the operation -// only if the resource's ETag is an exact match as specified. ifNoneMatch is an ETag is specified. Specify this -// header to perform the operation only if the resource's ETag does not match the specified ETag. ifModifiedSince -// is specify this header to perform the operation only if the resource has been modified since the specified -// date/time. ifUnmodifiedSince is specify this header to perform the operation only if the resource has not been -// modified since the specified date/time. -func (client JobClient) Enable(ctx context.Context, jobID string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.EnablePreparer(ctx, jobID, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "Enable", nil, "Failure preparing request") - return - } - - resp, err := client.EnableSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.JobClient", "Enable", resp, "Failure sending request") - return - } - - result, err = client.EnableResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "Enable", resp, "Failure responding to request") - } - - return -} - -// EnablePreparer prepares the Enable request. -func (client JobClient) EnablePreparer(ctx context.Context, jobID string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - } - - const APIVersion = "2015-12-01.2.2" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}/enable", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// EnableSender sends the Enable request. The method will close the -// http.Response Body if it receives an error. -func (client JobClient) EnableSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// EnableResponder handles the response to the Enable request. The method always -// closes the http.Response Body. -func (client JobClient) EnableResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByClosing()) - result.Response = resp - return -} - -// Get gets information about the specified job. -// -// jobID is the id of the job. selectParameter is sets an OData $select clause. expand is sets an OData $expand -// clause. timeout is sets the maximum time that the server can spend processing the request, in seconds. The -// default is 30 seconds. clientRequestID is caller generated request identity, in the form of a GUID with no -// decoration such as curly braces e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is specifies if -// the server should return the client-request-id identifier in the response. ocpDate is the time the request was -// issued. If not specified, this header will be automatically populated with the current system clock time. -func (client JobClient) Get(ctx context.Context, jobID string, selectParameter string, expand string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result CloudJob, err error) { - req, err := client.GetPreparer(ctx, jobID, selectParameter, expand, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "Get", nil, "Failure preparing request") - return - } - - resp, err := client.GetSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.JobClient", "Get", resp, "Failure sending request") - return - } - - result, err = client.GetResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "Get", resp, "Failure responding to request") - } - - return -} - -// GetPreparer prepares the Get request. -func (client JobClient) GetPreparer(ctx context.Context, jobID string, selectParameter string, expand string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - } - - const APIVersion = "2015-12-01.2.2" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(selectParameter) > 0 { - queryParameters["$select"] = autorest.Encode("query", selectParameter) - } - if len(expand) > 0 { - queryParameters["$expand"] = autorest.Encode("query", expand) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetSender sends the Get request. The method will close the -// http.Response Body if it receives an error. -func (client JobClient) GetSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// GetResponder handles the response to the Get request. The method always -// closes the http.Response Body. -func (client JobClient) GetResponder(resp *http.Response) (result CloudJob, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// GetAllJobsLifetimeStatistics gets lifetime summary statistics for all of the jobs in the specified account. -// Statistics are aggregated across all jobs that have ever existed in the account, from account creation to the last -// update time of the statistics. -// -// timeout is sets the maximum time that the server can spend processing the request, in seconds. The default is 30 -// seconds. clientRequestID is caller generated request identity, in the form of a GUID with no decoration such as -// curly braces e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is specifies if the server should -// return the client-request-id identifier in the response. ocpDate is the time the request was issued. If not -// specified, this header will be automatically populated with the current system clock time. -func (client JobClient) GetAllJobsLifetimeStatistics(ctx context.Context, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result JobStatistics, err error) { - req, err := client.GetAllJobsLifetimeStatisticsPreparer(ctx, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "GetAllJobsLifetimeStatistics", nil, "Failure preparing request") - return - } - - resp, err := client.GetAllJobsLifetimeStatisticsSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.JobClient", "GetAllJobsLifetimeStatistics", resp, "Failure sending request") - return - } - - result, err = client.GetAllJobsLifetimeStatisticsResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "GetAllJobsLifetimeStatistics", resp, "Failure responding to request") - } - - return -} - -// GetAllJobsLifetimeStatisticsPreparer prepares the GetAllJobsLifetimeStatistics request. -func (client JobClient) GetAllJobsLifetimeStatisticsPreparer(ctx context.Context, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - const APIVersion = "2015-12-01.2.2" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPath("/lifetimejobstats"), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetAllJobsLifetimeStatisticsSender sends the GetAllJobsLifetimeStatistics request. The method will close the -// http.Response Body if it receives an error. -func (client JobClient) GetAllJobsLifetimeStatisticsSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// GetAllJobsLifetimeStatisticsResponder handles the response to the GetAllJobsLifetimeStatistics request. The method always -// closes the http.Response Body. -func (client JobClient) GetAllJobsLifetimeStatisticsResponder(resp *http.Response) (result JobStatistics, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// List lists all of the jobs in the specified account. -// -// filter is sets an OData $filter clause. selectParameter is sets an OData $select clause. expand is sets an OData -// $expand clause. maxResults is sets the maximum number of items to return in the response. timeout is sets the -// maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. -// clientRequestID is caller generated request identity, in the form of a GUID with no decoration such as curly -// braces e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is specifies if the server should return -// the client-request-id identifier in the response. ocpDate is the time the request was issued. If not specified, -// this header will be automatically populated with the current system clock time. -func (client JobClient) List(ctx context.Context, filter string, selectParameter string, expand string, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result CloudJobListResultPage, err error) { - result.fn = client.listNextResults - req, err := client.ListPreparer(ctx, filter, selectParameter, expand, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "List", nil, "Failure preparing request") - return - } - - resp, err := client.ListSender(req) - if err != nil { - result.cjlr.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.JobClient", "List", resp, "Failure sending request") - return - } - - result.cjlr, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "List", resp, "Failure responding to request") - } - - return -} - -// ListPreparer prepares the List request. -func (client JobClient) ListPreparer(ctx context.Context, filter string, selectParameter string, expand string, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - const APIVersion = "2015-12-01.2.2" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(filter) > 0 { - queryParameters["$filter"] = autorest.Encode("query", filter) - } - if len(selectParameter) > 0 { - queryParameters["$select"] = autorest.Encode("query", selectParameter) - } - if len(expand) > 0 { - queryParameters["$expand"] = autorest.Encode("query", expand) - } - if maxResults != nil { - queryParameters["maxresults"] = autorest.Encode("query", *maxResults) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPath("/jobs"), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListSender sends the List request. The method will close the -// http.Response Body if it receives an error. -func (client JobClient) ListSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ListResponder handles the response to the List request. The method always -// closes the http.Response Body. -func (client JobClient) ListResponder(resp *http.Response) (result CloudJobListResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listNextResults retrieves the next set of results, if any. -func (client JobClient) listNextResults(lastResults CloudJobListResult) (result CloudJobListResult, err error) { - req, err := lastResults.cloudJobListResultPreparer() - if err != nil { - return result, autorest.NewErrorWithError(err, "batch.JobClient", "listNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "batch.JobClient", "listNextResults", resp, "Failure sending next results request") - } - result, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "listNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListComplete enumerates all values, automatically crossing page boundaries as required. -func (client JobClient) ListComplete(ctx context.Context, filter string, selectParameter string, expand string, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result CloudJobListResultIterator, err error) { - result.page, err = client.List(ctx, filter, selectParameter, expand, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - return -} - -// ListFromJobSchedule lists the jobs that have been created under the specified job schedule. -// -// jobScheduleID is the id of the job schedule from which you want to get a list of jobs. filter is sets an OData -// $filter clause. selectParameter is sets an OData $select clause. expand is sets an OData $expand clause. -// maxResults is sets the maximum number of items to return in the response. timeout is sets the maximum time that -// the server can spend processing the request, in seconds. The default is 30 seconds. clientRequestID is caller -// generated request identity, in the form of a GUID with no decoration such as curly braces e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is specifies if the server should return the -// client-request-id identifier in the response. ocpDate is the time the request was issued. If not specified, this -// header will be automatically populated with the current system clock time. -func (client JobClient) ListFromJobSchedule(ctx context.Context, jobScheduleID string, filter string, selectParameter string, expand string, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result CloudJobListResultPage, err error) { - result.fn = client.listFromJobScheduleNextResults - req, err := client.ListFromJobSchedulePreparer(ctx, jobScheduleID, filter, selectParameter, expand, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "ListFromJobSchedule", nil, "Failure preparing request") - return - } - - resp, err := client.ListFromJobScheduleSender(req) - if err != nil { - result.cjlr.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.JobClient", "ListFromJobSchedule", resp, "Failure sending request") - return - } - - result.cjlr, err = client.ListFromJobScheduleResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "ListFromJobSchedule", resp, "Failure responding to request") - } - - return -} - -// ListFromJobSchedulePreparer prepares the ListFromJobSchedule request. -func (client JobClient) ListFromJobSchedulePreparer(ctx context.Context, jobScheduleID string, filter string, selectParameter string, expand string, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobScheduleId": autorest.Encode("path", jobScheduleID), - } - - const APIVersion = "2015-12-01.2.2" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(filter) > 0 { - queryParameters["$filter"] = autorest.Encode("query", filter) - } - if len(selectParameter) > 0 { - queryParameters["$select"] = autorest.Encode("query", selectParameter) - } - if len(expand) > 0 { - queryParameters["$expand"] = autorest.Encode("query", expand) - } - if maxResults != nil { - queryParameters["maxresults"] = autorest.Encode("query", *maxResults) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobschedules/{jobScheduleId}/jobs", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListFromJobScheduleSender sends the ListFromJobSchedule request. The method will close the -// http.Response Body if it receives an error. -func (client JobClient) ListFromJobScheduleSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ListFromJobScheduleResponder handles the response to the ListFromJobSchedule request. The method always -// closes the http.Response Body. -func (client JobClient) ListFromJobScheduleResponder(resp *http.Response) (result CloudJobListResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listFromJobScheduleNextResults retrieves the next set of results, if any. -func (client JobClient) listFromJobScheduleNextResults(lastResults CloudJobListResult) (result CloudJobListResult, err error) { - req, err := lastResults.cloudJobListResultPreparer() - if err != nil { - return result, autorest.NewErrorWithError(err, "batch.JobClient", "listFromJobScheduleNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListFromJobScheduleSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "batch.JobClient", "listFromJobScheduleNextResults", resp, "Failure sending next results request") - } - result, err = client.ListFromJobScheduleResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "listFromJobScheduleNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListFromJobScheduleComplete enumerates all values, automatically crossing page boundaries as required. -func (client JobClient) ListFromJobScheduleComplete(ctx context.Context, jobScheduleID string, filter string, selectParameter string, expand string, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result CloudJobListResultIterator, err error) { - result.page, err = client.ListFromJobSchedule(ctx, jobScheduleID, filter, selectParameter, expand, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - return -} - -// ListPreparationAndReleaseTaskStatus lists the execution status of the Job Preparation and Job Release task for the -// specified job across the compute nodes where the job has run. -// -// jobID is the id of the job. filter is sets an OData $filter clause. selectParameter is sets an OData $select -// clause. maxResults is sets the maximum number of items to return in the response. timeout is sets the maximum -// time that the server can spend processing the request, in seconds. The default is 30 seconds. clientRequestID is -// caller generated request identity, in the form of a GUID with no decoration such as curly braces e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is specifies if the server should return the -// client-request-id identifier in the response. ocpDate is the time the request was issued. If not specified, this -// header will be automatically populated with the current system clock time. -func (client JobClient) ListPreparationAndReleaseTaskStatus(ctx context.Context, jobID string, filter string, selectParameter string, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result CloudJobListPreparationAndReleaseTaskStatusResultPage, err error) { - result.fn = client.listPreparationAndReleaseTaskStatusNextResults - req, err := client.ListPreparationAndReleaseTaskStatusPreparer(ctx, jobID, filter, selectParameter, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "ListPreparationAndReleaseTaskStatus", nil, "Failure preparing request") - return - } - - resp, err := client.ListPreparationAndReleaseTaskStatusSender(req) - if err != nil { - result.cjlpartsr.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.JobClient", "ListPreparationAndReleaseTaskStatus", resp, "Failure sending request") - return - } - - result.cjlpartsr, err = client.ListPreparationAndReleaseTaskStatusResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "ListPreparationAndReleaseTaskStatus", resp, "Failure responding to request") - } - - return -} - -// ListPreparationAndReleaseTaskStatusPreparer prepares the ListPreparationAndReleaseTaskStatus request. -func (client JobClient) ListPreparationAndReleaseTaskStatusPreparer(ctx context.Context, jobID string, filter string, selectParameter string, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - } - - const APIVersion = "2015-12-01.2.2" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(filter) > 0 { - queryParameters["$filter"] = autorest.Encode("query", filter) - } - if len(selectParameter) > 0 { - queryParameters["$select"] = autorest.Encode("query", selectParameter) - } - if maxResults != nil { - queryParameters["maxresults"] = autorest.Encode("query", *maxResults) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}/jobpreparationandreleasetaskstatus", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListPreparationAndReleaseTaskStatusSender sends the ListPreparationAndReleaseTaskStatus request. The method will close the -// http.Response Body if it receives an error. -func (client JobClient) ListPreparationAndReleaseTaskStatusSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ListPreparationAndReleaseTaskStatusResponder handles the response to the ListPreparationAndReleaseTaskStatus request. The method always -// closes the http.Response Body. -func (client JobClient) ListPreparationAndReleaseTaskStatusResponder(resp *http.Response) (result CloudJobListPreparationAndReleaseTaskStatusResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listPreparationAndReleaseTaskStatusNextResults retrieves the next set of results, if any. -func (client JobClient) listPreparationAndReleaseTaskStatusNextResults(lastResults CloudJobListPreparationAndReleaseTaskStatusResult) (result CloudJobListPreparationAndReleaseTaskStatusResult, err error) { - req, err := lastResults.cloudJobListPreparationAndReleaseTaskStatusResultPreparer() - if err != nil { - return result, autorest.NewErrorWithError(err, "batch.JobClient", "listPreparationAndReleaseTaskStatusNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListPreparationAndReleaseTaskStatusSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "batch.JobClient", "listPreparationAndReleaseTaskStatusNextResults", resp, "Failure sending next results request") - } - result, err = client.ListPreparationAndReleaseTaskStatusResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "listPreparationAndReleaseTaskStatusNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListPreparationAndReleaseTaskStatusComplete enumerates all values, automatically crossing page boundaries as required. -func (client JobClient) ListPreparationAndReleaseTaskStatusComplete(ctx context.Context, jobID string, filter string, selectParameter string, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result CloudJobListPreparationAndReleaseTaskStatusResultIterator, err error) { - result.page, err = client.ListPreparationAndReleaseTaskStatus(ctx, jobID, filter, selectParameter, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - return -} - -// Patch updates the properties of a job. -// -// jobID is the id of the job whose properties you want to update. jobPatchParameter is the parameters for the -// request. timeout is sets the maximum time that the server can spend processing the request, in seconds. The -// default is 30 seconds. clientRequestID is caller generated request identity, in the form of a GUID with no -// decoration such as curly braces e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is specifies if -// the server should return the client-request-id identifier in the response. ocpDate is the time the request was -// issued. If not specified, this header will be automatically populated with the current system clock time. -// ifMatch is an ETag is specified. Specify this header to perform the operation only if the resource's ETag is an -// exact match as specified. ifNoneMatch is an ETag is specified. Specify this header to perform the operation only -// if the resource's ETag does not match the specified ETag. ifModifiedSince is specify this header to perform the -// operation only if the resource has been modified since the specified date/time. ifUnmodifiedSince is specify -// this header to perform the operation only if the resource has not been modified since the specified date/time. -func (client JobClient) Patch(ctx context.Context, jobID string, jobPatchParameter JobPatchParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.PatchPreparer(ctx, jobID, jobPatchParameter, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "Patch", nil, "Failure preparing request") - return - } - - resp, err := client.PatchSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.JobClient", "Patch", resp, "Failure sending request") - return - } - - result, err = client.PatchResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "Patch", resp, "Failure responding to request") - } - - return -} - -// PatchPreparer prepares the Patch request. -func (client JobClient) PatchPreparer(ctx context.Context, jobID string, jobPatchParameter JobPatchParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - } - - const APIVersion = "2015-12-01.2.2" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsJSON(), - autorest.AsPatch(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}", pathParameters), - autorest.WithJSON(jobPatchParameter), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// PatchSender sends the Patch request. The method will close the -// http.Response Body if it receives an error. -func (client JobClient) PatchSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// PatchResponder handles the response to the Patch request. The method always -// closes the http.Response Body. -func (client JobClient) PatchResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} - -// Terminate terminates the specified job, marking it as completed. -// -// jobID is the id of the job to terminate. jobTerminateParameter is the parameters for the request. timeout is -// sets the maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. -// clientRequestID is caller generated request identity, in the form of a GUID with no decoration such as curly -// braces e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is specifies if the server should return -// the client-request-id identifier in the response. ocpDate is the time the request was issued. If not specified, -// this header will be automatically populated with the current system clock time. ifMatch is an ETag is specified. -// Specify this header to perform the operation only if the resource's ETag is an exact match as specified. -// ifNoneMatch is an ETag is specified. Specify this header to perform the operation only if the resource's ETag -// does not match the specified ETag. ifModifiedSince is specify this header to perform the operation only if the -// resource has been modified since the specified date/time. ifUnmodifiedSince is specify this header to perform -// the operation only if the resource has not been modified since the specified date/time. -func (client JobClient) Terminate(ctx context.Context, jobID string, jobTerminateParameter *JobTerminateParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.TerminatePreparer(ctx, jobID, jobTerminateParameter, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "Terminate", nil, "Failure preparing request") - return - } - - resp, err := client.TerminateSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.JobClient", "Terminate", resp, "Failure sending request") - return - } - - result, err = client.TerminateResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "Terminate", resp, "Failure responding to request") - } - - return -} - -// TerminatePreparer prepares the Terminate request. -func (client JobClient) TerminatePreparer(ctx context.Context, jobID string, jobTerminateParameter *JobTerminateParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - } - - const APIVersion = "2015-12-01.2.2" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsJSON(), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}/terminate", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if jobTerminateParameter != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithJSON(jobTerminateParameter)) - } - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// TerminateSender sends the Terminate request. The method will close the -// http.Response Body if it receives an error. -func (client JobClient) TerminateSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// TerminateResponder handles the response to the Terminate request. The method always -// closes the http.Response Body. -func (client JobClient) TerminateResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByClosing()) - result.Response = resp - return -} - -// Update updates the properties of a job. -// -// jobID is the id of the job whose properties you want to update. jobUpdateParameter is the parameters for the -// request. timeout is sets the maximum time that the server can spend processing the request, in seconds. The -// default is 30 seconds. clientRequestID is caller generated request identity, in the form of a GUID with no -// decoration such as curly braces e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is specifies if -// the server should return the client-request-id identifier in the response. ocpDate is the time the request was -// issued. If not specified, this header will be automatically populated with the current system clock time. -// ifMatch is an ETag is specified. Specify this header to perform the operation only if the resource's ETag is an -// exact match as specified. ifNoneMatch is an ETag is specified. Specify this header to perform the operation only -// if the resource's ETag does not match the specified ETag. ifModifiedSince is specify this header to perform the -// operation only if the resource has been modified since the specified date/time. ifUnmodifiedSince is specify -// this header to perform the operation only if the resource has not been modified since the specified date/time. -func (client JobClient) Update(ctx context.Context, jobID string, jobUpdateParameter JobUpdateParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: jobUpdateParameter, - Constraints: []validation.Constraint{{Target: "jobUpdateParameter.PoolInfo", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { - return result, validation.NewError("batch.JobClient", "Update", err.Error()) - } - - req, err := client.UpdatePreparer(ctx, jobID, jobUpdateParameter, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "Update", nil, "Failure preparing request") - return - } - - resp, err := client.UpdateSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.JobClient", "Update", resp, "Failure sending request") - return - } - - result, err = client.UpdateResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "Update", resp, "Failure responding to request") - } - - return -} - -// UpdatePreparer prepares the Update request. -func (client JobClient) UpdatePreparer(ctx context.Context, jobID string, jobUpdateParameter JobUpdateParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - } - - const APIVersion = "2015-12-01.2.2" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsJSON(), - autorest.AsPut(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}", pathParameters), - autorest.WithJSON(jobUpdateParameter), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// UpdateSender sends the Update request. The method will close the -// http.Response Body if it receives an error. -func (client JobClient) UpdateSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// UpdateResponder handles the response to the Update request. The method always -// closes the http.Response Body. -func (client JobClient) UpdateResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} diff --git a/services/batch/2015-12-01.2.2/batch/jobschedule.go b/services/batch/2015-12-01.2.2/batch/jobschedule.go deleted file mode 100644 index faf272a8ec74..000000000000 --- a/services/batch/2015-12-01.2.2/batch/jobschedule.go +++ /dev/null @@ -1,1126 +0,0 @@ -package batch - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/autorest/date" - "github.com/Azure/go-autorest/autorest/validation" - "net/http" -) - -// JobScheduleClient is the a client for issuing REST requests to the Azure Batch service. -type JobScheduleClient struct { - BaseClient -} - -// NewJobScheduleClient creates an instance of the JobScheduleClient client. -func NewJobScheduleClient() JobScheduleClient { - return NewJobScheduleClientWithBaseURI(DefaultBaseURI) -} - -// NewJobScheduleClientWithBaseURI creates an instance of the JobScheduleClient client. -func NewJobScheduleClientWithBaseURI(baseURI string) JobScheduleClient { - return JobScheduleClient{NewWithBaseURI(baseURI)} -} - -// Add adds a job schedule to the specified account. -// -// cloudJobSchedule is specifies the job schedule to be added. timeout is sets the maximum time that the server can -// spend processing the request, in seconds. The default is 30 seconds. clientRequestID is caller generated request -// identity, in the form of a GUID with no decoration such as curly braces e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is specifies if the server should return the -// client-request-id identifier in the response. ocpDate is the time the request was issued. If not specified, this -// header will be automatically populated with the current system clock time. -func (client JobScheduleClient) Add(ctx context.Context, cloudJobSchedule JobScheduleAddParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: cloudJobSchedule, - Constraints: []validation.Constraint{{Target: "cloudJobSchedule.ID", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "cloudJobSchedule.Schedule", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "cloudJobSchedule.JobSpecification", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { - return result, validation.NewError("batch.JobScheduleClient", "Add", err.Error()) - } - - req, err := client.AddPreparer(ctx, cloudJobSchedule, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Add", nil, "Failure preparing request") - return - } - - resp, err := client.AddSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Add", resp, "Failure sending request") - return - } - - result, err = client.AddResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Add", resp, "Failure responding to request") - } - - return -} - -// AddPreparer prepares the Add request. -func (client JobScheduleClient) AddPreparer(ctx context.Context, cloudJobSchedule JobScheduleAddParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - const APIVersion = "2015-12-01.2.2" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsJSON(), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPath("/jobschedules"), - autorest.WithJSON(cloudJobSchedule), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// AddSender sends the Add request. The method will close the -// http.Response Body if it receives an error. -func (client JobScheduleClient) AddSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// AddResponder handles the response to the Add request. The method always -// closes the http.Response Body. -func (client JobScheduleClient) AddResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), - autorest.ByClosing()) - result.Response = resp - return -} - -// Delete deletes a job schedule from the specified account. -// -// jobScheduleID is the id of the job schedule to delete. timeout is sets the maximum time that the server can -// spend processing the request, in seconds. The default is 30 seconds. clientRequestID is caller generated request -// identity, in the form of a GUID with no decoration such as curly braces e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is specifies if the server should return the -// client-request-id identifier in the response. ocpDate is the time the request was issued. If not specified, this -// header will be automatically populated with the current system clock time. ifMatch is an ETag is specified. -// Specify this header to perform the operation only if the resource's ETag is an exact match as specified. -// ifNoneMatch is an ETag is specified. Specify this header to perform the operation only if the resource's ETag -// does not match the specified ETag. ifModifiedSince is specify this header to perform the operation only if the -// resource has been modified since the specified date/time. ifUnmodifiedSince is specify this header to perform -// the operation only if the resource has not been modified since the specified date/time. -func (client JobScheduleClient) Delete(ctx context.Context, jobScheduleID string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.DeletePreparer(ctx, jobScheduleID, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Delete", nil, "Failure preparing request") - return - } - - resp, err := client.DeleteSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Delete", resp, "Failure sending request") - return - } - - result, err = client.DeleteResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Delete", resp, "Failure responding to request") - } - - return -} - -// DeletePreparer prepares the Delete request. -func (client JobScheduleClient) DeletePreparer(ctx context.Context, jobScheduleID string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobScheduleId": autorest.Encode("path", jobScheduleID), - } - - const APIVersion = "2015-12-01.2.2" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsDelete(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobschedules/{jobScheduleId}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DeleteSender sends the Delete request. The method will close the -// http.Response Body if it receives an error. -func (client JobScheduleClient) DeleteSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// DeleteResponder handles the response to the Delete request. The method always -// closes the http.Response Body. -func (client JobScheduleClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByClosing()) - result.Response = resp - return -} - -// Disable disables a job schedule. -// -// jobScheduleID is the id of the job schedule to disable. timeout is sets the maximum time that the server can -// spend processing the request, in seconds. The default is 30 seconds. clientRequestID is caller generated request -// identity, in the form of a GUID with no decoration such as curly braces e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is specifies if the server should return the -// client-request-id identifier in the response. ocpDate is the time the request was issued. If not specified, this -// header will be automatically populated with the current system clock time. ifMatch is an ETag is specified. -// Specify this header to perform the operation only if the resource's ETag is an exact match as specified. -// ifNoneMatch is an ETag is specified. Specify this header to perform the operation only if the resource's ETag -// does not match the specified ETag. ifModifiedSince is specify this header to perform the operation only if the -// resource has been modified since the specified date/time. ifUnmodifiedSince is specify this header to perform -// the operation only if the resource has not been modified since the specified date/time. -func (client JobScheduleClient) Disable(ctx context.Context, jobScheduleID string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.DisablePreparer(ctx, jobScheduleID, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Disable", nil, "Failure preparing request") - return - } - - resp, err := client.DisableSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Disable", resp, "Failure sending request") - return - } - - result, err = client.DisableResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Disable", resp, "Failure responding to request") - } - - return -} - -// DisablePreparer prepares the Disable request. -func (client JobScheduleClient) DisablePreparer(ctx context.Context, jobScheduleID string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobScheduleId": autorest.Encode("path", jobScheduleID), - } - - const APIVersion = "2015-12-01.2.2" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobschedules/{jobScheduleId}/disable", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DisableSender sends the Disable request. The method will close the -// http.Response Body if it receives an error. -func (client JobScheduleClient) DisableSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// DisableResponder handles the response to the Disable request. The method always -// closes the http.Response Body. -func (client JobScheduleClient) DisableResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), - autorest.ByClosing()) - result.Response = resp - return -} - -// Enable enables a job schedule. -// -// jobScheduleID is the id of the job schedule to enable. timeout is sets the maximum time that the server can -// spend processing the request, in seconds. The default is 30 seconds. clientRequestID is caller generated request -// identity, in the form of a GUID with no decoration such as curly braces e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is specifies if the server should return the -// client-request-id identifier in the response. ocpDate is the time the request was issued. If not specified, this -// header will be automatically populated with the current system clock time. ifMatch is an ETag is specified. -// Specify this header to perform the operation only if the resource's ETag is an exact match as specified. -// ifNoneMatch is an ETag is specified. Specify this header to perform the operation only if the resource's ETag -// does not match the specified ETag. ifModifiedSince is specify this header to perform the operation only if the -// resource has been modified since the specified date/time. ifUnmodifiedSince is specify this header to perform -// the operation only if the resource has not been modified since the specified date/time. -func (client JobScheduleClient) Enable(ctx context.Context, jobScheduleID string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.EnablePreparer(ctx, jobScheduleID, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Enable", nil, "Failure preparing request") - return - } - - resp, err := client.EnableSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Enable", resp, "Failure sending request") - return - } - - result, err = client.EnableResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Enable", resp, "Failure responding to request") - } - - return -} - -// EnablePreparer prepares the Enable request. -func (client JobScheduleClient) EnablePreparer(ctx context.Context, jobScheduleID string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobScheduleId": autorest.Encode("path", jobScheduleID), - } - - const APIVersion = "2015-12-01.2.2" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobschedules/{jobScheduleId}/enable", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// EnableSender sends the Enable request. The method will close the -// http.Response Body if it receives an error. -func (client JobScheduleClient) EnableSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// EnableResponder handles the response to the Enable request. The method always -// closes the http.Response Body. -func (client JobScheduleClient) EnableResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), - autorest.ByClosing()) - result.Response = resp - return -} - -// Exists checks the specified job schedule exists. -// -// jobScheduleID is the id of the job schedule which you want to check. selectParameter is sets an OData $select -// clause. timeout is sets the maximum time that the server can spend processing the request, in seconds. The -// default is 30 seconds. clientRequestID is caller generated request identity, in the form of a GUID with no -// decoration such as curly braces e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is specifies if -// the server should return the client-request-id identifier in the response. ocpDate is the time the request was -// issued. If not specified, this header will be automatically populated with the current system clock time. -// ifMatch is an ETag is specified. Specify this header to perform the operation only if the resource's ETag is an -// exact match as specified. ifNoneMatch is an ETag is specified. Specify this header to perform the operation only -// if the resource's ETag does not match the specified ETag. ifModifiedSince is specify this header to perform the -// operation only if the resource has been modified since the specified date/time. ifUnmodifiedSince is specify -// this header to perform the operation only if the resource has not been modified since the specified date/time. -func (client JobScheduleClient) Exists(ctx context.Context, jobScheduleID string, selectParameter string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.ExistsPreparer(ctx, jobScheduleID, selectParameter, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Exists", nil, "Failure preparing request") - return - } - - resp, err := client.ExistsSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Exists", resp, "Failure sending request") - return - } - - result, err = client.ExistsResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Exists", resp, "Failure responding to request") - } - - return -} - -// ExistsPreparer prepares the Exists request. -func (client JobScheduleClient) ExistsPreparer(ctx context.Context, jobScheduleID string, selectParameter string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobScheduleId": autorest.Encode("path", jobScheduleID), - } - - const APIVersion = "2015-12-01.2.2" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(selectParameter) > 0 { - queryParameters["$select"] = autorest.Encode("query", selectParameter) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsHead(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobschedules/{jobScheduleId}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ExistsSender sends the Exists request. The method will close the -// http.Response Body if it receives an error. -func (client JobScheduleClient) ExistsSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ExistsResponder handles the response to the Exists request. The method always -// closes the http.Response Body. -func (client JobScheduleClient) ExistsResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), - autorest.ByClosing()) - result.Response = resp - return -} - -// Get gets information about the specified job schedule. -// -// jobScheduleID is the id of the job schedule to get. selectParameter is sets an OData $select clause. expand is -// sets an OData $expand clause. timeout is sets the maximum time that the server can spend processing the request, -// in seconds. The default is 30 seconds. clientRequestID is caller generated request identity, in the form of a -// GUID with no decoration such as curly braces e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is -// specifies if the server should return the client-request-id identifier in the response. ocpDate is the time the -// request was issued. If not specified, this header will be automatically populated with the current system clock -// time. ifMatch is an ETag is specified. Specify this header to perform the operation only if the resource's ETag -// is an exact match as specified. ifNoneMatch is an ETag is specified. Specify this header to perform the -// operation only if the resource's ETag does not match the specified ETag. ifModifiedSince is specify this header -// to perform the operation only if the resource has been modified since the specified date/time. ifUnmodifiedSince -// is specify this header to perform the operation only if the resource has not been modified since the specified -// date/time. -func (client JobScheduleClient) Get(ctx context.Context, jobScheduleID string, selectParameter string, expand string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result CloudJobSchedule, err error) { - req, err := client.GetPreparer(ctx, jobScheduleID, selectParameter, expand, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Get", nil, "Failure preparing request") - return - } - - resp, err := client.GetSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Get", resp, "Failure sending request") - return - } - - result, err = client.GetResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Get", resp, "Failure responding to request") - } - - return -} - -// GetPreparer prepares the Get request. -func (client JobScheduleClient) GetPreparer(ctx context.Context, jobScheduleID string, selectParameter string, expand string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobScheduleId": autorest.Encode("path", jobScheduleID), - } - - const APIVersion = "2015-12-01.2.2" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(selectParameter) > 0 { - queryParameters["$select"] = autorest.Encode("query", selectParameter) - } - if len(expand) > 0 { - queryParameters["$expand"] = autorest.Encode("query", expand) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobschedules/{jobScheduleId}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetSender sends the Get request. The method will close the -// http.Response Body if it receives an error. -func (client JobScheduleClient) GetSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// GetResponder handles the response to the Get request. The method always -// closes the http.Response Body. -func (client JobScheduleClient) GetResponder(resp *http.Response) (result CloudJobSchedule, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// List lists all of the job schedules in the specified account. -// -// filter is sets an OData $filter clause. selectParameter is sets an OData $select clause. expand is sets an OData -// $expand clause. maxResults is sets the maximum number of items to return in the response. timeout is sets the -// maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. -// clientRequestID is caller generated request identity, in the form of a GUID with no decoration such as curly -// braces e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is specifies if the server should return -// the client-request-id identifier in the response. ocpDate is the time the request was issued. If not specified, -// this header will be automatically populated with the current system clock time. -func (client JobScheduleClient) List(ctx context.Context, filter string, selectParameter string, expand string, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result CloudJobScheduleListResultPage, err error) { - result.fn = client.listNextResults - req, err := client.ListPreparer(ctx, filter, selectParameter, expand, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "List", nil, "Failure preparing request") - return - } - - resp, err := client.ListSender(req) - if err != nil { - result.cjslr.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "List", resp, "Failure sending request") - return - } - - result.cjslr, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "List", resp, "Failure responding to request") - } - - return -} - -// ListPreparer prepares the List request. -func (client JobScheduleClient) ListPreparer(ctx context.Context, filter string, selectParameter string, expand string, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - const APIVersion = "2015-12-01.2.2" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(filter) > 0 { - queryParameters["$filter"] = autorest.Encode("query", filter) - } - if len(selectParameter) > 0 { - queryParameters["$select"] = autorest.Encode("query", selectParameter) - } - if len(expand) > 0 { - queryParameters["$expand"] = autorest.Encode("query", expand) - } - if maxResults != nil { - queryParameters["maxresults"] = autorest.Encode("query", *maxResults) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPath("/jobschedules"), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListSender sends the List request. The method will close the -// http.Response Body if it receives an error. -func (client JobScheduleClient) ListSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ListResponder handles the response to the List request. The method always -// closes the http.Response Body. -func (client JobScheduleClient) ListResponder(resp *http.Response) (result CloudJobScheduleListResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listNextResults retrieves the next set of results, if any. -func (client JobScheduleClient) listNextResults(lastResults CloudJobScheduleListResult) (result CloudJobScheduleListResult, err error) { - req, err := lastResults.cloudJobScheduleListResultPreparer() - if err != nil { - return result, autorest.NewErrorWithError(err, "batch.JobScheduleClient", "listNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "batch.JobScheduleClient", "listNextResults", resp, "Failure sending next results request") - } - result, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "listNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListComplete enumerates all values, automatically crossing page boundaries as required. -func (client JobScheduleClient) ListComplete(ctx context.Context, filter string, selectParameter string, expand string, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result CloudJobScheduleListResultIterator, err error) { - result.page, err = client.List(ctx, filter, selectParameter, expand, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - return -} - -// Patch updates the properties of the specified job schedule. -// -// jobScheduleID is the id of the job schedule to update. jobSchedulePatchParameter is the parameters for the -// request. timeout is sets the maximum time that the server can spend processing the request, in seconds. The -// default is 30 seconds. clientRequestID is caller generated request identity, in the form of a GUID with no -// decoration such as curly braces e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is specifies if -// the server should return the client-request-id identifier in the response. ocpDate is the time the request was -// issued. If not specified, this header will be automatically populated with the current system clock time. -// ifMatch is an ETag is specified. Specify this header to perform the operation only if the resource's ETag is an -// exact match as specified. ifNoneMatch is an ETag is specified. Specify this header to perform the operation only -// if the resource's ETag does not match the specified ETag. ifModifiedSince is specify this header to perform the -// operation only if the resource has been modified since the specified date/time. ifUnmodifiedSince is specify -// this header to perform the operation only if the resource has not been modified since the specified date/time. -func (client JobScheduleClient) Patch(ctx context.Context, jobScheduleID string, jobSchedulePatchParameter JobSchedulePatchParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.PatchPreparer(ctx, jobScheduleID, jobSchedulePatchParameter, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Patch", nil, "Failure preparing request") - return - } - - resp, err := client.PatchSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Patch", resp, "Failure sending request") - return - } - - result, err = client.PatchResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Patch", resp, "Failure responding to request") - } - - return -} - -// PatchPreparer prepares the Patch request. -func (client JobScheduleClient) PatchPreparer(ctx context.Context, jobScheduleID string, jobSchedulePatchParameter JobSchedulePatchParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobScheduleId": autorest.Encode("path", jobScheduleID), - } - - const APIVersion = "2015-12-01.2.2" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsJSON(), - autorest.AsPatch(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobschedules/{jobScheduleId}", pathParameters), - autorest.WithJSON(jobSchedulePatchParameter), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// PatchSender sends the Patch request. The method will close the -// http.Response Body if it receives an error. -func (client JobScheduleClient) PatchSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// PatchResponder handles the response to the Patch request. The method always -// closes the http.Response Body. -func (client JobScheduleClient) PatchResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} - -// Terminate terminates a job schedule. -// -// jobScheduleID is the id of the job schedule to terminates. timeout is sets the maximum time that the server can -// spend processing the request, in seconds. The default is 30 seconds. clientRequestID is caller generated request -// identity, in the form of a GUID with no decoration such as curly braces e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is specifies if the server should return the -// client-request-id identifier in the response. ocpDate is the time the request was issued. If not specified, this -// header will be automatically populated with the current system clock time. ifMatch is an ETag is specified. -// Specify this header to perform the operation only if the resource's ETag is an exact match as specified. -// ifNoneMatch is an ETag is specified. Specify this header to perform the operation only if the resource's ETag -// does not match the specified ETag. ifModifiedSince is specify this header to perform the operation only if the -// resource has been modified since the specified date/time. ifUnmodifiedSince is specify this header to perform -// the operation only if the resource has not been modified since the specified date/time. -func (client JobScheduleClient) Terminate(ctx context.Context, jobScheduleID string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.TerminatePreparer(ctx, jobScheduleID, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Terminate", nil, "Failure preparing request") - return - } - - resp, err := client.TerminateSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Terminate", resp, "Failure sending request") - return - } - - result, err = client.TerminateResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Terminate", resp, "Failure responding to request") - } - - return -} - -// TerminatePreparer prepares the Terminate request. -func (client JobScheduleClient) TerminatePreparer(ctx context.Context, jobScheduleID string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobScheduleId": autorest.Encode("path", jobScheduleID), - } - - const APIVersion = "2015-12-01.2.2" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobschedules/{jobScheduleId}/terminate", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// TerminateSender sends the Terminate request. The method will close the -// http.Response Body if it receives an error. -func (client JobScheduleClient) TerminateSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// TerminateResponder handles the response to the Terminate request. The method always -// closes the http.Response Body. -func (client JobScheduleClient) TerminateResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByClosing()) - result.Response = resp - return -} - -// Update updates the properties of the specified job schedule. -// -// jobScheduleID is the id of the job schedule to update. jobScheduleUpdateParameter is the parameters for the -// request. timeout is sets the maximum time that the server can spend processing the request, in seconds. The -// default is 30 seconds. clientRequestID is caller generated request identity, in the form of a GUID with no -// decoration such as curly braces e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is specifies if -// the server should return the client-request-id identifier in the response. ocpDate is the time the request was -// issued. If not specified, this header will be automatically populated with the current system clock time. -// ifMatch is an ETag is specified. Specify this header to perform the operation only if the resource's ETag is an -// exact match as specified. ifNoneMatch is an ETag is specified. Specify this header to perform the operation only -// if the resource's ETag does not match the specified ETag. ifModifiedSince is specify this header to perform the -// operation only if the resource has been modified since the specified date/time. ifUnmodifiedSince is specify -// this header to perform the operation only if the resource has not been modified since the specified date/time. -func (client JobScheduleClient) Update(ctx context.Context, jobScheduleID string, jobScheduleUpdateParameter JobScheduleUpdateParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: jobScheduleUpdateParameter, - Constraints: []validation.Constraint{{Target: "jobScheduleUpdateParameter.Schedule", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "jobScheduleUpdateParameter.JobSpecification", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { - return result, validation.NewError("batch.JobScheduleClient", "Update", err.Error()) - } - - req, err := client.UpdatePreparer(ctx, jobScheduleID, jobScheduleUpdateParameter, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Update", nil, "Failure preparing request") - return - } - - resp, err := client.UpdateSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Update", resp, "Failure sending request") - return - } - - result, err = client.UpdateResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Update", resp, "Failure responding to request") - } - - return -} - -// UpdatePreparer prepares the Update request. -func (client JobScheduleClient) UpdatePreparer(ctx context.Context, jobScheduleID string, jobScheduleUpdateParameter JobScheduleUpdateParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobScheduleId": autorest.Encode("path", jobScheduleID), - } - - const APIVersion = "2015-12-01.2.2" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsJSON(), - autorest.AsPut(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobschedules/{jobScheduleId}", pathParameters), - autorest.WithJSON(jobScheduleUpdateParameter), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// UpdateSender sends the Update request. The method will close the -// http.Response Body if it receives an error. -func (client JobScheduleClient) UpdateSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// UpdateResponder handles the response to the Update request. The method always -// closes the http.Response Body. -func (client JobScheduleClient) UpdateResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} diff --git a/services/batch/2015-12-01.2.2/batch/models.go b/services/batch/2015-12-01.2.2/batch/models.go deleted file mode 100644 index 17ed12b8f2fc..000000000000 --- a/services/batch/2015-12-01.2.2/batch/models.go +++ /dev/null @@ -1,2647 +0,0 @@ -package batch - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/date" - "github.com/Azure/go-autorest/autorest/to" - "io" - "net/http" -) - -// AllocationState enumerates the values for allocation state. -type AllocationState string - -const ( - // Resizing ... - Resizing AllocationState = "resizing" - // Steady ... - Steady AllocationState = "steady" - // Stopping ... - Stopping AllocationState = "stopping" -) - -// CertificateFormat enumerates the values for certificate format. -type CertificateFormat string - -const ( - // Cer ... - Cer CertificateFormat = "cer" - // Pfx ... - Pfx CertificateFormat = "pfx" - // Unmapped ... - Unmapped CertificateFormat = "unmapped" -) - -// CertificateState enumerates the values for certificate state. -type CertificateState string - -const ( - // Active ... - Active CertificateState = "active" - // Deletefailed ... - Deletefailed CertificateState = "deletefailed" - // Deleting ... - Deleting CertificateState = "deleting" -) - -// CertificateStoreLocation enumerates the values for certificate store location. -type CertificateStoreLocation string - -const ( - // CertificateStoreLocationCurrentuser ... - CertificateStoreLocationCurrentuser CertificateStoreLocation = "currentuser" - // CertificateStoreLocationLocalmachine ... - CertificateStoreLocationLocalmachine CertificateStoreLocation = "localmachine" - // CertificateStoreLocationUnmapped ... - CertificateStoreLocationUnmapped CertificateStoreLocation = "unmapped" -) - -// ComputeNodeDeallocationOption enumerates the values for compute node deallocation option. -type ComputeNodeDeallocationOption string - -const ( - // Requeue ... - Requeue ComputeNodeDeallocationOption = "requeue" - // Retaineddata ... - Retaineddata ComputeNodeDeallocationOption = "retaineddata" - // Taskcompletion ... - Taskcompletion ComputeNodeDeallocationOption = "taskcompletion" - // Terminate ... - Terminate ComputeNodeDeallocationOption = "terminate" -) - -// ComputeNodeFillType enumerates the values for compute node fill type. -type ComputeNodeFillType string - -const ( - // ComputeNodeFillTypePack ... - ComputeNodeFillTypePack ComputeNodeFillType = "pack" - // ComputeNodeFillTypeSpread ... - ComputeNodeFillTypeSpread ComputeNodeFillType = "spread" - // ComputeNodeFillTypeUnmapped ... - ComputeNodeFillTypeUnmapped ComputeNodeFillType = "unmapped" -) - -// ComputeNodeRebootOption enumerates the values for compute node reboot option. -type ComputeNodeRebootOption string - -const ( - // ComputeNodeRebootOptionRequeue ... - ComputeNodeRebootOptionRequeue ComputeNodeRebootOption = "requeue" - // ComputeNodeRebootOptionRetaineddata ... - ComputeNodeRebootOptionRetaineddata ComputeNodeRebootOption = "retaineddata" - // ComputeNodeRebootOptionTaskcompletion ... - ComputeNodeRebootOptionTaskcompletion ComputeNodeRebootOption = "taskcompletion" - // ComputeNodeRebootOptionTerminate ... - ComputeNodeRebootOptionTerminate ComputeNodeRebootOption = "terminate" -) - -// ComputeNodeReimageOption enumerates the values for compute node reimage option. -type ComputeNodeReimageOption string - -const ( - // ComputeNodeReimageOptionRequeue ... - ComputeNodeReimageOptionRequeue ComputeNodeReimageOption = "requeue" - // ComputeNodeReimageOptionRetaineddata ... - ComputeNodeReimageOptionRetaineddata ComputeNodeReimageOption = "retaineddata" - // ComputeNodeReimageOptionTaskcompletion ... - ComputeNodeReimageOptionTaskcompletion ComputeNodeReimageOption = "taskcompletion" - // ComputeNodeReimageOptionTerminate ... - ComputeNodeReimageOptionTerminate ComputeNodeReimageOption = "terminate" -) - -// ComputeNodeState enumerates the values for compute node state. -type ComputeNodeState string - -const ( - // Creating ... - Creating ComputeNodeState = "creating" - // Idle ... - Idle ComputeNodeState = "idle" - // Leavingpool ... - Leavingpool ComputeNodeState = "leavingpool" - // Offline ... - Offline ComputeNodeState = "offline" - // Rebooting ... - Rebooting ComputeNodeState = "rebooting" - // Reimaging ... - Reimaging ComputeNodeState = "reimaging" - // Running ... - Running ComputeNodeState = "running" - // Starting ... - Starting ComputeNodeState = "starting" - // Starttaskfailed ... - Starttaskfailed ComputeNodeState = "starttaskfailed" - // Unknown ... - Unknown ComputeNodeState = "unknown" - // Unusable ... - Unusable ComputeNodeState = "unusable" - // Waitingforstarttask ... - Waitingforstarttask ComputeNodeState = "waitingforstarttask" -) - -// DisableComputeNodeSchedulingOption enumerates the values for disable compute node scheduling option. -type DisableComputeNodeSchedulingOption string - -const ( - // DisableComputeNodeSchedulingOptionRequeue ... - DisableComputeNodeSchedulingOptionRequeue DisableComputeNodeSchedulingOption = "requeue" - // DisableComputeNodeSchedulingOptionTaskcompletion ... - DisableComputeNodeSchedulingOptionTaskcompletion DisableComputeNodeSchedulingOption = "taskcompletion" - // DisableComputeNodeSchedulingOptionTerminate ... - DisableComputeNodeSchedulingOptionTerminate DisableComputeNodeSchedulingOption = "terminate" -) - -// DisableJobOption enumerates the values for disable job option. -type DisableJobOption string - -const ( - // DisableJobOptionRequeue ... - DisableJobOptionRequeue DisableJobOption = "requeue" - // DisableJobOptionTerminate ... - DisableJobOptionTerminate DisableJobOption = "terminate" - // DisableJobOptionWait ... - DisableJobOptionWait DisableJobOption = "wait" -) - -// JobPreparationTaskState enumerates the values for job preparation task state. -type JobPreparationTaskState string - -const ( - // JobPreparationTaskStateCompleted ... - JobPreparationTaskStateCompleted JobPreparationTaskState = "completed" - // JobPreparationTaskStateRunning ... - JobPreparationTaskStateRunning JobPreparationTaskState = "running" -) - -// JobReleaseTaskState enumerates the values for job release task state. -type JobReleaseTaskState string - -const ( - // JobReleaseTaskStateCompleted ... - JobReleaseTaskStateCompleted JobReleaseTaskState = "completed" - // JobReleaseTaskStateRunning ... - JobReleaseTaskStateRunning JobReleaseTaskState = "running" -) - -// JobScheduleState enumerates the values for job schedule state. -type JobScheduleState string - -const ( - // JobScheduleStateActive ... - JobScheduleStateActive JobScheduleState = "active" - // JobScheduleStateCompleted ... - JobScheduleStateCompleted JobScheduleState = "completed" - // JobScheduleStateDeleting ... - JobScheduleStateDeleting JobScheduleState = "deleting" - // JobScheduleStateDisabled ... - JobScheduleStateDisabled JobScheduleState = "disabled" - // JobScheduleStateTerminating ... - JobScheduleStateTerminating JobScheduleState = "terminating" -) - -// JobState enumerates the values for job state. -type JobState string - -const ( - // JobStateActive ... - JobStateActive JobState = "active" - // JobStateCompleted ... - JobStateCompleted JobState = "completed" - // JobStateDeleting ... - JobStateDeleting JobState = "deleting" - // JobStateDisabled ... - JobStateDisabled JobState = "disabled" - // JobStateDisabling ... - JobStateDisabling JobState = "disabling" - // JobStateEnabling ... - JobStateEnabling JobState = "enabling" - // JobStateTerminating ... - JobStateTerminating JobState = "terminating" -) - -// PoolLifetimeOption enumerates the values for pool lifetime option. -type PoolLifetimeOption string - -const ( - // PoolLifetimeOptionJob ... - PoolLifetimeOptionJob PoolLifetimeOption = "job" - // PoolLifetimeOptionJobschedule ... - PoolLifetimeOptionJobschedule PoolLifetimeOption = "jobschedule" - // PoolLifetimeOptionUnmapped ... - PoolLifetimeOptionUnmapped PoolLifetimeOption = "unmapped" -) - -// PoolState enumerates the values for pool state. -type PoolState string - -const ( - // PoolStateActive ... - PoolStateActive PoolState = "active" - // PoolStateDeleting ... - PoolStateDeleting PoolState = "deleting" - // PoolStateUpgrading ... - PoolStateUpgrading PoolState = "upgrading" -) - -// SchedulingErrorCategory enumerates the values for scheduling error category. -type SchedulingErrorCategory string - -const ( - // SchedulingErrorCategoryServererror ... - SchedulingErrorCategoryServererror SchedulingErrorCategory = "servererror" - // SchedulingErrorCategoryUnmapped ... - SchedulingErrorCategoryUnmapped SchedulingErrorCategory = "unmapped" - // SchedulingErrorCategoryUsererror ... - SchedulingErrorCategoryUsererror SchedulingErrorCategory = "usererror" -) - -// SchedulingState enumerates the values for scheduling state. -type SchedulingState string - -const ( - // Disabled ... - Disabled SchedulingState = "disabled" - // Enabled ... - Enabled SchedulingState = "enabled" -) - -// StartTaskState enumerates the values for start task state. -type StartTaskState string - -const ( - // StartTaskStateCompleted ... - StartTaskStateCompleted StartTaskState = "completed" - // StartTaskStateRunning ... - StartTaskStateRunning StartTaskState = "running" -) - -// TaskState enumerates the values for task state. -type TaskState string - -const ( - // TaskStateActive ... - TaskStateActive TaskState = "active" - // TaskStateCompleted ... - TaskStateCompleted TaskState = "completed" - // TaskStatePreparing ... - TaskStatePreparing TaskState = "preparing" - // TaskStateRunning ... - TaskStateRunning TaskState = "running" -) - -// AffinityInformation a locality hint that can be used by the Batch service to select a compute node on which to -// start a task. -type AffinityInformation struct { - // AffinityID - Gets or sets an opaque string representing the location of a compute node or a task that has run previously. You can pass the AffinityId of a compute node or task to indicate that this task needs to be placed close to the node or task. - AffinityID *string `json:"affinityId,omitempty"` -} - -// ApplicationListResult response to a ApplicationOperations.List request. -type ApplicationListResult struct { - autorest.Response `json:"-"` - // Value - Gets or sets the list of applications available in the account. - Value *[]ApplicationSummary `json:"value,omitempty"` - // OdataNextLink - Gets or sets the URL to get the next set of results. - OdataNextLink *string `json:"odata.nextLink,omitempty"` -} - -// ApplicationListResultIterator provides access to a complete listing of ApplicationSummary values. -type ApplicationListResultIterator struct { - i int - page ApplicationListResultPage -} - -// Next advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -func (iter *ApplicationListResultIterator) Next() error { - iter.i++ - if iter.i < len(iter.page.Values()) { - return nil - } - err := iter.page.Next() - if err != nil { - iter.i-- - return err - } - iter.i = 0 - return nil -} - -// NotDone returns true if the enumeration should be started or is not yet complete. -func (iter ApplicationListResultIterator) NotDone() bool { - return iter.page.NotDone() && iter.i < len(iter.page.Values()) -} - -// Response returns the raw server response from the last page request. -func (iter ApplicationListResultIterator) Response() ApplicationListResult { - return iter.page.Response() -} - -// Value returns the current value or a zero-initialized value if the -// iterator has advanced beyond the end of the collection. -func (iter ApplicationListResultIterator) Value() ApplicationSummary { - if !iter.page.NotDone() { - return ApplicationSummary{} - } - return iter.page.Values()[iter.i] -} - -// IsEmpty returns true if the ListResult contains no values. -func (alr ApplicationListResult) IsEmpty() bool { - return alr.Value == nil || len(*alr.Value) == 0 -} - -// applicationListResultPreparer prepares a request to retrieve the next set of results. -// It returns nil if no more results exist. -func (alr ApplicationListResult) applicationListResultPreparer() (*http.Request, error) { - if alr.OdataNextLink == nil || len(to.String(alr.OdataNextLink)) < 1 { - return nil, nil - } - return autorest.Prepare(&http.Request{}, - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(alr.OdataNextLink))) -} - -// ApplicationListResultPage contains a page of ApplicationSummary values. -type ApplicationListResultPage struct { - fn func(ApplicationListResult) (ApplicationListResult, error) - alr ApplicationListResult -} - -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -func (page *ApplicationListResultPage) Next() error { - next, err := page.fn(page.alr) - if err != nil { - return err - } - page.alr = next - return nil -} - -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page ApplicationListResultPage) NotDone() bool { - return !page.alr.IsEmpty() -} - -// Response returns the raw server response from the last page request. -func (page ApplicationListResultPage) Response() ApplicationListResult { - return page.alr -} - -// Values returns the slice of values for the current page or nil if there are no values. -func (page ApplicationListResultPage) Values() []ApplicationSummary { - if page.alr.IsEmpty() { - return nil - } - return *page.alr.Value -} - -// ApplicationPackageReference a reference to an application package to be installed on compute nodes in a pool. -type ApplicationPackageReference struct { - // ApplicationID - Gets or sets the application package id. - ApplicationID *string `json:"applicationId,omitempty"` - // Version - Gets or sets the application package version. If not specified, the default is used. - Version *string `json:"version,omitempty"` -} - -// ApplicationSummary contains information about an application in an Azure Batch account. -type ApplicationSummary struct { - autorest.Response `json:"-"` - // ID - Gets or sets a string that uniquely identifies the application within the account. - ID *string `json:"id,omitempty"` - // DisplayName - Gets or sets the display name for the application. - DisplayName *string `json:"displayName,omitempty"` - Versions *[]string `json:"versions,omitempty"` -} - -// AutoPoolSpecification specifies characteristics for a temporary 'auto pool'. The Batch service will create this -// auto pool, run all the tasks for the job on it, and will delete the pool once the job has completed. -type AutoPoolSpecification struct { - // AutoPoolIDPrefix - Gets or sets a prefix to be added to the unique identifier when a pool is automatically created. The prefix can be up to 20 characters long. - AutoPoolIDPrefix *string `json:"autoPoolIdPrefix,omitempty"` - // PoolLifetimeOption - Gets or sets the minimum lifetime of created auto pools, and how multiple jobs on a schedule are assigned to pools. Possible values include: 'PoolLifetimeOptionJobschedule', 'PoolLifetimeOptionJob', 'PoolLifetimeOptionUnmapped' - PoolLifetimeOption PoolLifetimeOption `json:"poolLifetimeOption,omitempty"` - // KeepAlive - Gets or sets whether to keep an auto pool alive after its lifetime expires. - KeepAlive *bool `json:"keepAlive,omitempty"` - // Pool - Gets or sets the pool specification for the auto pool. - Pool *PoolSpecification `json:"pool,omitempty"` -} - -// AutoScaleRun the results and errors from an execution of a pool autoscale formula. -type AutoScaleRun struct { - autorest.Response `json:"-"` - // Timestamp - Gets or sets the time at which the autoscale formula was last evaluated. - Timestamp *date.Time `json:"timestamp,omitempty"` - // Results - Gets or sets the final values of all variables used in the evaluation of the autoscale formula. Each variable value is returned in the form $variable=value, and variables are separated by semicolons. - Results *string `json:"results,omitempty"` - // Error - Gets or sets details of the error encountered evaluating the autoscale formula on the pool, if the evaluation was unsuccessful. - Error *AutoScaleRunError `json:"error,omitempty"` -} - -// AutoScaleRunError an error that occurred when executing or evaluating a pool autoscale formula. -type AutoScaleRunError struct { - // Code - Gets or sets an identifier for the autoscale error. Codes are invariant and are intended to be consumed programmatically. - Code *string `json:"code,omitempty"` - // Message - Gets or sets a message describing the autoscale error, intended to be suitable for display in a user interface. - Message *string `json:"message,omitempty"` - // Values - Gets or sets a list of additional error details related to the autoscale error. - Values *[]NameValuePair `json:"values,omitempty"` -} - -// Certificate a certificate that can be installed on compute nodes and can be used to authenticate operations on -// the machine. -type Certificate struct { - autorest.Response `json:"-"` - // Thumbprint - Get or sets the X.509 thumbprint of the certificate. This is a sequence of up to 40 hex digits (it may include spaces but these are removed). - Thumbprint *string `json:"thumbprint,omitempty"` - // ThumbprintAlgorithm - Gets or sets the algorithm used to derive the thumbprint. This must be sha1. - ThumbprintAlgorithm *string `json:"thumbprintAlgorithm,omitempty"` - // URL - Gets or sets the URL of the certificate. - URL *string `json:"url,omitempty"` - // State - Gets or sets the current state of the certificate. Possible values include: 'Active', 'Deleting', 'Deletefailed' - State CertificateState `json:"state,omitempty"` - // StateTransitionTime - Gets or sets the time at which the certificate entered its current state. - StateTransitionTime *date.Time `json:"stateTransitionTime,omitempty"` - // PreviousState - Gets or sets the previous state of the certificate. This property is not set if the certificate is in its initial Active state. Possible values include: 'Active', 'Deleting', 'Deletefailed' - PreviousState CertificateState `json:"previousState,omitempty"` - // PreviousStateTransitionTime - Gets or sets the time at which the certificate entered its previous state. This property is not set if the certificate is in its initial Active state. - PreviousStateTransitionTime *date.Time `json:"previousStateTransitionTime,omitempty"` - // PublicData - Gets or sets the public part of the certificate as a base-64 encoded .cer file. - PublicData *string `json:"publicData,omitempty"` - // DeleteCertificateError - Gets or sets the error that occurred on the last attempt to delete this certificate. This property is set only if the certificate is in the deletefailed state. - DeleteCertificateError *DeleteCertificateError `json:"deleteCertificateError,omitempty"` -} - -// CertificateAddParameter a certificate that can be installed on compute nodes and can be used to authenticate -// operations on the machine. -type CertificateAddParameter struct { - // Thumbprint - Get or sets the X.509 thumbprint of the certificate. This is a sequence of up to 40 hex digits (it may include spaces but these are removed). - Thumbprint *string `json:"thumbprint,omitempty"` - // ThumbprintAlgorithm - Gets or sets the algorithm used to derive the thumbprint. This must be sha1. - ThumbprintAlgorithm *string `json:"thumbprintAlgorithm,omitempty"` - // Data - Gets or sets the base64-encoded contents of the .pfx file containing the certificate. The maximum size is 10KB. This property is not populated by the Get Certificate operation. - Data *string `json:"data,omitempty"` - // CertificateFormat - Gets or sets the format of the certificate data. This must be pfx. Possible values include: 'Pfx', 'Cer', 'Unmapped' - CertificateFormat CertificateFormat `json:"certificateFormat,omitempty"` - // Password - Gets or sets the password to access the certificate's private key. This property is not populated by the Get Certificate operation. - Password *string `json:"password,omitempty"` -} - -// CertificateListResult response to a CertificateOperations.List request. -type CertificateListResult struct { - autorest.Response `json:"-"` - // Value - Gets or sets the list of certificates. - Value *[]Certificate `json:"value,omitempty"` - // OdataNextLink - Gets or sets the URL to get the next set of results. - OdataNextLink *string `json:"odata.nextLink,omitempty"` -} - -// CertificateListResultIterator provides access to a complete listing of Certificate values. -type CertificateListResultIterator struct { - i int - page CertificateListResultPage -} - -// Next advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -func (iter *CertificateListResultIterator) Next() error { - iter.i++ - if iter.i < len(iter.page.Values()) { - return nil - } - err := iter.page.Next() - if err != nil { - iter.i-- - return err - } - iter.i = 0 - return nil -} - -// NotDone returns true if the enumeration should be started or is not yet complete. -func (iter CertificateListResultIterator) NotDone() bool { - return iter.page.NotDone() && iter.i < len(iter.page.Values()) -} - -// Response returns the raw server response from the last page request. -func (iter CertificateListResultIterator) Response() CertificateListResult { - return iter.page.Response() -} - -// Value returns the current value or a zero-initialized value if the -// iterator has advanced beyond the end of the collection. -func (iter CertificateListResultIterator) Value() Certificate { - if !iter.page.NotDone() { - return Certificate{} - } - return iter.page.Values()[iter.i] -} - -// IsEmpty returns true if the ListResult contains no values. -func (clr CertificateListResult) IsEmpty() bool { - return clr.Value == nil || len(*clr.Value) == 0 -} - -// certificateListResultPreparer prepares a request to retrieve the next set of results. -// It returns nil if no more results exist. -func (clr CertificateListResult) certificateListResultPreparer() (*http.Request, error) { - if clr.OdataNextLink == nil || len(to.String(clr.OdataNextLink)) < 1 { - return nil, nil - } - return autorest.Prepare(&http.Request{}, - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(clr.OdataNextLink))) -} - -// CertificateListResultPage contains a page of Certificate values. -type CertificateListResultPage struct { - fn func(CertificateListResult) (CertificateListResult, error) - clr CertificateListResult -} - -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -func (page *CertificateListResultPage) Next() error { - next, err := page.fn(page.clr) - if err != nil { - return err - } - page.clr = next - return nil -} - -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page CertificateListResultPage) NotDone() bool { - return !page.clr.IsEmpty() -} - -// Response returns the raw server response from the last page request. -func (page CertificateListResultPage) Response() CertificateListResult { - return page.clr -} - -// Values returns the slice of values for the current page or nil if there are no values. -func (page CertificateListResultPage) Values() []Certificate { - if page.clr.IsEmpty() { - return nil - } - return *page.clr.Value -} - -// CertificateReference a reference to a certificate to be installed on compute nodes in a pool. -type CertificateReference struct { - // Thumbprint - Gets or sets the thumbprint of the certificate. - Thumbprint *string `json:"thumbprint,omitempty"` - // ThumbprintAlgorithm - Gets or sets the algorithm with which the thumbprint is associated. This must be sha1. - ThumbprintAlgorithm *string `json:"thumbprintAlgorithm,omitempty"` - // StoreLocation - Gets or sets the location of the certificate store on the compute node into which to install the certificate. The default value is CurrentUser. Possible values include: 'CertificateStoreLocationCurrentuser', 'CertificateStoreLocationLocalmachine', 'CertificateStoreLocationUnmapped' - StoreLocation CertificateStoreLocation `json:"storeLocation,omitempty"` - // StoreName - Gets or sets the name of the certificate store on the compute node into which to install the certificate. The default value is My. - StoreName *string `json:"storeName,omitempty"` - // Visibility - Gets or sets which user accounts on the compute node should have access to the private data of the certificate. This may be any subset of the values 'starttask', 'task' and 'rdp', separated by commas. The default is all accounts, corresponding to the string 'starttask,task,rdp'. - Visibility *string `json:"visibility,omitempty"` -} - -// CloudJob an Azure Batch job. -type CloudJob struct { - autorest.Response `json:"-"` - // ID - Gets or sets a string that uniquely identifies the job within the account. The id can contain any combination of alphanumeric characters including hyphens and underscores, and cannot contain more than 64 characters. It is common to use a GUID for the id. - ID *string `json:"id,omitempty"` - // DisplayName - Gets or sets the display name for the job. - DisplayName *string `json:"displayName,omitempty"` - // UsesTaskDependencies - Gets or sets the flag that determines if this job will use tasks with dependencies. - UsesTaskDependencies *bool `json:"usesTaskDependencies,omitempty"` - // URL - Gets or sets the URL of the job. - URL *string `json:"url,omitempty"` - // ETag - Gets or sets the ETag of the job. - ETag *string `json:"eTag,omitempty"` - // LastModified - Gets or sets the last modified time of the job. - LastModified *date.Time `json:"lastModified,omitempty"` - // CreationTime - Gets or sets the creation time of the job. - CreationTime *date.Time `json:"creationTime,omitempty"` - // State - Gets or sets the current state of the job. Possible values include: 'JobStateActive', 'JobStateDisabling', 'JobStateDisabled', 'JobStateEnabling', 'JobStateTerminating', 'JobStateCompleted', 'JobStateDeleting' - State JobState `json:"state,omitempty"` - // StateTransitionTime - Gets or sets the time at which the job entered its current state. - StateTransitionTime *date.Time `json:"stateTransitionTime,omitempty"` - // PreviousState - Gets or sets the previous state of the job. This property is not set if the job is in its initial Active state. Possible values include: 'JobStateActive', 'JobStateDisabling', 'JobStateDisabled', 'JobStateEnabling', 'JobStateTerminating', 'JobStateCompleted', 'JobStateDeleting' - PreviousState JobState `json:"previousState,omitempty"` - // PreviousStateTransitionTime - Gets or sets the time at which the job entered its previous state. This property is not set if the job is in its initial Active state. - PreviousStateTransitionTime *date.Time `json:"previousStateTransitionTime,omitempty"` - // Priority - Gets or sets the priority of the job. Priority values can range from -1000 to 1000, with -1000 being the lowest priority and 1000 being the highest priority. The default value is 0. - Priority *int32 `json:"priority,omitempty"` - // Constraints - Gets or sets the execution constraints for the job. - Constraints *JobConstraints `json:"constraints,omitempty"` - // JobManagerTask - Gets or sets details of a Job Manager task to be launched when the job is started. - JobManagerTask *JobManagerTask `json:"jobManagerTask,omitempty"` - // JobPreparationTask - Gets or sets the Job Preparation task. - JobPreparationTask *JobPreparationTask `json:"jobPreparationTask,omitempty"` - // JobReleaseTask - Gets or sets the Job Release task. - JobReleaseTask *JobReleaseTask `json:"jobReleaseTask,omitempty"` - // CommonEnvironmentSettings - Gets or sets the list of common environment variable settings. These environment variables are set for all tasks in the job (including the Job Manager, Job Preparation and Job Release tasks). - CommonEnvironmentSettings *[]EnvironmentSetting `json:"commonEnvironmentSettings,omitempty"` - // PoolInfo - Gets or sets the pool on which the Batch service runs the job’s tasks. - PoolInfo *PoolInformation `json:"poolInfo,omitempty"` - // Metadata - Gets or sets a list of name-value pairs associated with the job as metadata. - Metadata *[]MetadataItem `json:"metadata,omitempty"` - // ExecutionInfo - Gets or sets the execution information for the job. - ExecutionInfo *JobExecutionInformation `json:"executionInfo,omitempty"` - // Stats - Gets or sets resource usage statistics for the entire lifetime of the job. - Stats *JobStatistics `json:"stats,omitempty"` -} - -// CloudJobListPreparationAndReleaseTaskStatusResult response to a -// CloudJobOperations.ListPreparationAndReleaseTaskStatus request. -type CloudJobListPreparationAndReleaseTaskStatusResult struct { - autorest.Response `json:"-"` - // Value - Gets or sets a list of Job Preparation and Job Release task execution information. - Value *[]JobPreparationAndReleaseTaskExecutionInformation `json:"value,omitempty"` - // OdataNextLink - Gets or sets the URL to get the next set of results. - OdataNextLink *string `json:"odata.nextLink,omitempty"` -} - -// CloudJobListPreparationAndReleaseTaskStatusResultIterator provides access to a complete listing of -// JobPreparationAndReleaseTaskExecutionInformation values. -type CloudJobListPreparationAndReleaseTaskStatusResultIterator struct { - i int - page CloudJobListPreparationAndReleaseTaskStatusResultPage -} - -// Next advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -func (iter *CloudJobListPreparationAndReleaseTaskStatusResultIterator) Next() error { - iter.i++ - if iter.i < len(iter.page.Values()) { - return nil - } - err := iter.page.Next() - if err != nil { - iter.i-- - return err - } - iter.i = 0 - return nil -} - -// NotDone returns true if the enumeration should be started or is not yet complete. -func (iter CloudJobListPreparationAndReleaseTaskStatusResultIterator) NotDone() bool { - return iter.page.NotDone() && iter.i < len(iter.page.Values()) -} - -// Response returns the raw server response from the last page request. -func (iter CloudJobListPreparationAndReleaseTaskStatusResultIterator) Response() CloudJobListPreparationAndReleaseTaskStatusResult { - return iter.page.Response() -} - -// Value returns the current value or a zero-initialized value if the -// iterator has advanced beyond the end of the collection. -func (iter CloudJobListPreparationAndReleaseTaskStatusResultIterator) Value() JobPreparationAndReleaseTaskExecutionInformation { - if !iter.page.NotDone() { - return JobPreparationAndReleaseTaskExecutionInformation{} - } - return iter.page.Values()[iter.i] -} - -// IsEmpty returns true if the ListResult contains no values. -func (cjlpartsr CloudJobListPreparationAndReleaseTaskStatusResult) IsEmpty() bool { - return cjlpartsr.Value == nil || len(*cjlpartsr.Value) == 0 -} - -// cloudJobListPreparationAndReleaseTaskStatusResultPreparer prepares a request to retrieve the next set of results. -// It returns nil if no more results exist. -func (cjlpartsr CloudJobListPreparationAndReleaseTaskStatusResult) cloudJobListPreparationAndReleaseTaskStatusResultPreparer() (*http.Request, error) { - if cjlpartsr.OdataNextLink == nil || len(to.String(cjlpartsr.OdataNextLink)) < 1 { - return nil, nil - } - return autorest.Prepare(&http.Request{}, - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(cjlpartsr.OdataNextLink))) -} - -// CloudJobListPreparationAndReleaseTaskStatusResultPage contains a page of -// JobPreparationAndReleaseTaskExecutionInformation values. -type CloudJobListPreparationAndReleaseTaskStatusResultPage struct { - fn func(CloudJobListPreparationAndReleaseTaskStatusResult) (CloudJobListPreparationAndReleaseTaskStatusResult, error) - cjlpartsr CloudJobListPreparationAndReleaseTaskStatusResult -} - -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -func (page *CloudJobListPreparationAndReleaseTaskStatusResultPage) Next() error { - next, err := page.fn(page.cjlpartsr) - if err != nil { - return err - } - page.cjlpartsr = next - return nil -} - -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page CloudJobListPreparationAndReleaseTaskStatusResultPage) NotDone() bool { - return !page.cjlpartsr.IsEmpty() -} - -// Response returns the raw server response from the last page request. -func (page CloudJobListPreparationAndReleaseTaskStatusResultPage) Response() CloudJobListPreparationAndReleaseTaskStatusResult { - return page.cjlpartsr -} - -// Values returns the slice of values for the current page or nil if there are no values. -func (page CloudJobListPreparationAndReleaseTaskStatusResultPage) Values() []JobPreparationAndReleaseTaskExecutionInformation { - if page.cjlpartsr.IsEmpty() { - return nil - } - return *page.cjlpartsr.Value -} - -// CloudJobListResult response to a CloudJobOperations.List or ListFromJobSchedule request. -type CloudJobListResult struct { - autorest.Response `json:"-"` - // Value - Gets or sets the list of jobs. - Value *[]CloudJob `json:"value,omitempty"` - // OdataNextLink - Gets or sets the URL to get the next set of results. - OdataNextLink *string `json:"odata.nextLink,omitempty"` -} - -// CloudJobListResultIterator provides access to a complete listing of CloudJob values. -type CloudJobListResultIterator struct { - i int - page CloudJobListResultPage -} - -// Next advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -func (iter *CloudJobListResultIterator) Next() error { - iter.i++ - if iter.i < len(iter.page.Values()) { - return nil - } - err := iter.page.Next() - if err != nil { - iter.i-- - return err - } - iter.i = 0 - return nil -} - -// NotDone returns true if the enumeration should be started or is not yet complete. -func (iter CloudJobListResultIterator) NotDone() bool { - return iter.page.NotDone() && iter.i < len(iter.page.Values()) -} - -// Response returns the raw server response from the last page request. -func (iter CloudJobListResultIterator) Response() CloudJobListResult { - return iter.page.Response() -} - -// Value returns the current value or a zero-initialized value if the -// iterator has advanced beyond the end of the collection. -func (iter CloudJobListResultIterator) Value() CloudJob { - if !iter.page.NotDone() { - return CloudJob{} - } - return iter.page.Values()[iter.i] -} - -// IsEmpty returns true if the ListResult contains no values. -func (cjlr CloudJobListResult) IsEmpty() bool { - return cjlr.Value == nil || len(*cjlr.Value) == 0 -} - -// cloudJobListResultPreparer prepares a request to retrieve the next set of results. -// It returns nil if no more results exist. -func (cjlr CloudJobListResult) cloudJobListResultPreparer() (*http.Request, error) { - if cjlr.OdataNextLink == nil || len(to.String(cjlr.OdataNextLink)) < 1 { - return nil, nil - } - return autorest.Prepare(&http.Request{}, - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(cjlr.OdataNextLink))) -} - -// CloudJobListResultPage contains a page of CloudJob values. -type CloudJobListResultPage struct { - fn func(CloudJobListResult) (CloudJobListResult, error) - cjlr CloudJobListResult -} - -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -func (page *CloudJobListResultPage) Next() error { - next, err := page.fn(page.cjlr) - if err != nil { - return err - } - page.cjlr = next - return nil -} - -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page CloudJobListResultPage) NotDone() bool { - return !page.cjlr.IsEmpty() -} - -// Response returns the raw server response from the last page request. -func (page CloudJobListResultPage) Response() CloudJobListResult { - return page.cjlr -} - -// Values returns the slice of values for the current page or nil if there are no values. -func (page CloudJobListResultPage) Values() []CloudJob { - if page.cjlr.IsEmpty() { - return nil - } - return *page.cjlr.Value -} - -// CloudJobSchedule a job schedule that allows recurring jobs by specifying when to run jobs and a specification -// used to create each job. -type CloudJobSchedule struct { - autorest.Response `json:"-"` - // ID - Gets or sets a string that uniquely identifies the schedule within the account. A GUID is recommended. - ID *string `json:"id,omitempty"` - // DisplayName - Gets or sets the display name for the schedule. - DisplayName *string `json:"displayName,omitempty"` - // URL - Gets or sets the URL of the job schedule. - URL *string `json:"url,omitempty"` - // ETag - Gets or sets the ETag of the job schedule. - ETag *string `json:"eTag,omitempty"` - // LastModified - Gets or sets the last modified time of the job schedule. - LastModified *date.Time `json:"lastModified,omitempty"` - // CreationTime - Gets or sets the creation time of the job schedule. - CreationTime *date.Time `json:"creationTime,omitempty"` - // State - Gets or sets the current state of the job schedule. Possible values include: 'JobScheduleStateActive', 'JobScheduleStateCompleted', 'JobScheduleStateDisabled', 'JobScheduleStateTerminating', 'JobScheduleStateDeleting' - State JobScheduleState `json:"state,omitempty"` - // StateTransitionTime - Gets or sets the time at which the job schedule entered the current state. - StateTransitionTime *date.Time `json:"stateTransitionTime,omitempty"` - // PreviousState - Gets or sets the previous state of the job schedule. Possible values include: 'JobScheduleStateActive', 'JobScheduleStateCompleted', 'JobScheduleStateDisabled', 'JobScheduleStateTerminating', 'JobScheduleStateDeleting' - PreviousState JobScheduleState `json:"previousState,omitempty"` - // PreviousStateTransitionTime - Gets or sets the time at which the job schedule entered its previous state. - PreviousStateTransitionTime *date.Time `json:"previousStateTransitionTime,omitempty"` - // Schedule - Gets or sets the schedule according to which jobs will be created. - Schedule *Schedule `json:"schedule,omitempty"` - // JobSpecification - Gets or sets the details of the jobs to be created on this schedule. - JobSpecification *JobSpecification `json:"jobSpecification,omitempty"` - // ExecutionInfo - Gets or sets information about jobs that have been and will be run under this schedule. - ExecutionInfo *JobScheduleExecutionInformation `json:"executionInfo,omitempty"` - // Metadata - Gets or sets a list of name-value pairs associated with the schedule as metadata. - Metadata *[]MetadataItem `json:"metadata,omitempty"` - // Stats - Gets or sets the lifetime resource usage statistics for the job schedule. - Stats *JobScheduleStatistics `json:"stats,omitempty"` -} - -// CloudJobScheduleListResult response to a CloudJobScheduleOperations.List request. -type CloudJobScheduleListResult struct { - autorest.Response `json:"-"` - // Value - Gets or sets the list of job schedules. - Value *[]CloudJobSchedule `json:"value,omitempty"` - // OdataNextLink - Gets or sets the URL to get the next set of results. - OdataNextLink *string `json:"odata.nextLink,omitempty"` -} - -// CloudJobScheduleListResultIterator provides access to a complete listing of CloudJobSchedule values. -type CloudJobScheduleListResultIterator struct { - i int - page CloudJobScheduleListResultPage -} - -// Next advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -func (iter *CloudJobScheduleListResultIterator) Next() error { - iter.i++ - if iter.i < len(iter.page.Values()) { - return nil - } - err := iter.page.Next() - if err != nil { - iter.i-- - return err - } - iter.i = 0 - return nil -} - -// NotDone returns true if the enumeration should be started or is not yet complete. -func (iter CloudJobScheduleListResultIterator) NotDone() bool { - return iter.page.NotDone() && iter.i < len(iter.page.Values()) -} - -// Response returns the raw server response from the last page request. -func (iter CloudJobScheduleListResultIterator) Response() CloudJobScheduleListResult { - return iter.page.Response() -} - -// Value returns the current value or a zero-initialized value if the -// iterator has advanced beyond the end of the collection. -func (iter CloudJobScheduleListResultIterator) Value() CloudJobSchedule { - if !iter.page.NotDone() { - return CloudJobSchedule{} - } - return iter.page.Values()[iter.i] -} - -// IsEmpty returns true if the ListResult contains no values. -func (cjslr CloudJobScheduleListResult) IsEmpty() bool { - return cjslr.Value == nil || len(*cjslr.Value) == 0 -} - -// cloudJobScheduleListResultPreparer prepares a request to retrieve the next set of results. -// It returns nil if no more results exist. -func (cjslr CloudJobScheduleListResult) cloudJobScheduleListResultPreparer() (*http.Request, error) { - if cjslr.OdataNextLink == nil || len(to.String(cjslr.OdataNextLink)) < 1 { - return nil, nil - } - return autorest.Prepare(&http.Request{}, - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(cjslr.OdataNextLink))) -} - -// CloudJobScheduleListResultPage contains a page of CloudJobSchedule values. -type CloudJobScheduleListResultPage struct { - fn func(CloudJobScheduleListResult) (CloudJobScheduleListResult, error) - cjslr CloudJobScheduleListResult -} - -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -func (page *CloudJobScheduleListResultPage) Next() error { - next, err := page.fn(page.cjslr) - if err != nil { - return err - } - page.cjslr = next - return nil -} - -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page CloudJobScheduleListResultPage) NotDone() bool { - return !page.cjslr.IsEmpty() -} - -// Response returns the raw server response from the last page request. -func (page CloudJobScheduleListResultPage) Response() CloudJobScheduleListResult { - return page.cjslr -} - -// Values returns the slice of values for the current page or nil if there are no values. -func (page CloudJobScheduleListResultPage) Values() []CloudJobSchedule { - if page.cjslr.IsEmpty() { - return nil - } - return *page.cjslr.Value -} - -// CloudPool a pool in the Azure Batch service. -type CloudPool struct { - autorest.Response `json:"-"` - // ID - Gets or sets a string that uniquely identifies the pool within the account. The id can contain any combination of alphanumeric characters including hyphens and underscores, and cannot contain more than 64 characters. - ID *string `json:"id,omitempty"` - // DisplayName - Gets or sets the display name for the pool. - DisplayName *string `json:"displayName,omitempty"` - // URL - Gets or sets the URL of the pool. - URL *string `json:"url,omitempty"` - // ETag - Gets or sets the ETag of the pool. - ETag *string `json:"eTag,omitempty"` - // LastModified - Gets or sets the last modified time of the pool. - LastModified *date.Time `json:"lastModified,omitempty"` - // CreationTime - Gets or sets the creation time of the pool. - CreationTime *date.Time `json:"creationTime,omitempty"` - // State - Gets or sets the current state of the pool. Possible values include: 'PoolStateActive', 'PoolStateDeleting', 'PoolStateUpgrading' - State PoolState `json:"state,omitempty"` - // StateTransitionTime - Gets or sets the time at which the pool entered its current state. - StateTransitionTime *date.Time `json:"stateTransitionTime,omitempty"` - // AllocationState - Gets or sets whether the pool is resizing. Possible values include: 'Steady', 'Resizing', 'Stopping' - AllocationState AllocationState `json:"allocationState,omitempty"` - // AllocationStateTransitionTime - Gets or sets the time at which the pool entered its current allocation state. - AllocationStateTransitionTime *date.Time `json:"allocationStateTransitionTime,omitempty"` - // VMSize - Gets or sets the size of virtual machines in the pool. All VMs in a pool are the same size. - VMSize *string `json:"vmSize,omitempty"` - // OsFamily - Gets or sets the Azure Guest OS family to be installed on the virtual machines in the pool. - OsFamily *string `json:"osFamily,omitempty"` - // TargetOSVersion - Gets or sets the Azure Guest OS version to be installed on the virtual machines in the pool. The default value is * which specifies the latest operating system version for the specified family. - TargetOSVersion *string `json:"targetOSVersion,omitempty"` - // CurrentOSVersion - Gets or sets the Azure Guest OS Version currently installed on the virtual machines in the pool. This may differ from TargetOSVersion if the pool state is Upgrading. - CurrentOSVersion *string `json:"currentOSVersion,omitempty"` - // ResizeTimeout - Gets or sets the timeout for allocation of compute nodes to the pool. In a Get Pool operation, this is the timeout for the most recent resize operation. The default value is 10 minutes. - ResizeTimeout *string `json:"resizeTimeout,omitempty"` - // ResizeError - Gets or sets details of any error encountered while performing the last resize on the pool. This property is set only if an error occurred during the last pool resize, and only when the pool AllocationState is Steady. - ResizeError *ResizeError `json:"resizeError,omitempty"` - // CurrentDedicated - Gets or sets the number of compute nodes currently in the pool. - CurrentDedicated *int32 `json:"currentDedicated,omitempty"` - // TargetDedicated - Gets or sets the desired number of compute nodes in the pool. This property must have the default value if EnableAutoScale is true. It is required if EnableAutoScale is false. - TargetDedicated *int32 `json:"targetDedicated,omitempty"` - // EnableAutoScale - Gets or sets whether the pool size should automatically adjust over time. If true, the AutoScaleFormula property must be set. If false, the TargetDedicated property must be set. - EnableAutoScale *bool `json:"enableAutoScale,omitempty"` - // AutoScaleFormula - Gets or sets a formula for the desired number of compute nodes in the pool. - AutoScaleFormula *string `json:"autoScaleFormula,omitempty"` - // AutoScaleEvaluationInterval - Gets or sets a time interval for the desired AutoScale evaluation period in the pool. - AutoScaleEvaluationInterval *string `json:"autoScaleEvaluationInterval,omitempty"` - // AutoScaleRun - Gets or sets the results and errors from the last execution of the autoscale formula. - AutoScaleRun *AutoScaleRun `json:"autoScaleRun,omitempty"` - // EnableInterNodeCommunication - Gets or sets whether the pool permits direct communication between nodes. - EnableInterNodeCommunication *bool `json:"enableInterNodeCommunication,omitempty"` - // StartTask - Gets or sets a task specified to run on each compute node as it joins the pool. - StartTask *StartTask `json:"startTask,omitempty"` - // CertificateReferences - Gets or sets the list of certificates to be installed on each compute node in the pool. - CertificateReferences *[]CertificateReference `json:"certificateReferences,omitempty"` - // ApplicationPackageReferences - Gets or sets the list of application packages to be installed on each compute node in the pool. - ApplicationPackageReferences *[]ApplicationPackageReference `json:"applicationPackageReferences,omitempty"` - // MaxTasksPerNode - Gets or sets the maximum number of tasks that can run concurrently on a single compute node in the pool. - MaxTasksPerNode *int32 `json:"maxTasksPerNode,omitempty"` - // TaskSchedulingPolicy - Gets or sets how the Batch service distributes tasks between compute nodes in the pool. - TaskSchedulingPolicy *TaskSchedulingPolicy `json:"taskSchedulingPolicy,omitempty"` - // Metadata - Gets or sets a list of name-value pairs associated with the pool as metadata. - Metadata *[]MetadataItem `json:"metadata,omitempty"` - // Stats - Gets or sets utilization and resource usage statistics for the entire lifetime of the pool. - Stats *PoolStatistics `json:"stats,omitempty"` -} - -// CloudPoolListResult response to a CloudPoolOperations.List request. -type CloudPoolListResult struct { - autorest.Response `json:"-"` - // Value - Gets or sets the list of pools. - Value *[]CloudPool `json:"value,omitempty"` - // OdataNextLink - Gets or sets the URL to get the next set of results. - OdataNextLink *string `json:"odata.nextLink,omitempty"` -} - -// CloudPoolListResultIterator provides access to a complete listing of CloudPool values. -type CloudPoolListResultIterator struct { - i int - page CloudPoolListResultPage -} - -// Next advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -func (iter *CloudPoolListResultIterator) Next() error { - iter.i++ - if iter.i < len(iter.page.Values()) { - return nil - } - err := iter.page.Next() - if err != nil { - iter.i-- - return err - } - iter.i = 0 - return nil -} - -// NotDone returns true if the enumeration should be started or is not yet complete. -func (iter CloudPoolListResultIterator) NotDone() bool { - return iter.page.NotDone() && iter.i < len(iter.page.Values()) -} - -// Response returns the raw server response from the last page request. -func (iter CloudPoolListResultIterator) Response() CloudPoolListResult { - return iter.page.Response() -} - -// Value returns the current value or a zero-initialized value if the -// iterator has advanced beyond the end of the collection. -func (iter CloudPoolListResultIterator) Value() CloudPool { - if !iter.page.NotDone() { - return CloudPool{} - } - return iter.page.Values()[iter.i] -} - -// IsEmpty returns true if the ListResult contains no values. -func (cplr CloudPoolListResult) IsEmpty() bool { - return cplr.Value == nil || len(*cplr.Value) == 0 -} - -// cloudPoolListResultPreparer prepares a request to retrieve the next set of results. -// It returns nil if no more results exist. -func (cplr CloudPoolListResult) cloudPoolListResultPreparer() (*http.Request, error) { - if cplr.OdataNextLink == nil || len(to.String(cplr.OdataNextLink)) < 1 { - return nil, nil - } - return autorest.Prepare(&http.Request{}, - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(cplr.OdataNextLink))) -} - -// CloudPoolListResultPage contains a page of CloudPool values. -type CloudPoolListResultPage struct { - fn func(CloudPoolListResult) (CloudPoolListResult, error) - cplr CloudPoolListResult -} - -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -func (page *CloudPoolListResultPage) Next() error { - next, err := page.fn(page.cplr) - if err != nil { - return err - } - page.cplr = next - return nil -} - -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page CloudPoolListResultPage) NotDone() bool { - return !page.cplr.IsEmpty() -} - -// Response returns the raw server response from the last page request. -func (page CloudPoolListResultPage) Response() CloudPoolListResult { - return page.cplr -} - -// Values returns the slice of values for the current page or nil if there are no values. -func (page CloudPoolListResultPage) Values() []CloudPool { - if page.cplr.IsEmpty() { - return nil - } - return *page.cplr.Value -} - -// CloudTask an Azure Batch task. -type CloudTask struct { - autorest.Response `json:"-"` - // ID - Gets or sets a string that uniquely identifies the task within the job. The id can contain any combination of alphanumeric characters including hyphens and underscores, and cannot contain more than 64 characters. - ID *string `json:"id,omitempty"` - // DisplayName - Gets or sets a display name for the task. - DisplayName *string `json:"displayName,omitempty"` - // URL - Gets or sets the URL of the task. - URL *string `json:"url,omitempty"` - // ETag - Gets or sets the ETag of the task. - ETag *string `json:"eTag,omitempty"` - // LastModified - Gets or sets the last modified time of the task. - LastModified *date.Time `json:"lastModified,omitempty"` - // CreationTime - Gets or sets the creation time of the task. - CreationTime *date.Time `json:"creationTime,omitempty"` - // State - Gets or sets the current state of the task. Possible values include: 'TaskStateActive', 'TaskStatePreparing', 'TaskStateRunning', 'TaskStateCompleted' - State TaskState `json:"state,omitempty"` - // StateTransitionTime - Gets or sets the time at which the task entered its current state. - StateTransitionTime *date.Time `json:"stateTransitionTime,omitempty"` - // PreviousState - Gets or sets the previous state of the task. This property is not set if the task is in its initial Active state. Possible values include: 'TaskStateActive', 'TaskStatePreparing', 'TaskStateRunning', 'TaskStateCompleted' - PreviousState TaskState `json:"previousState,omitempty"` - // PreviousStateTransitionTime - Gets or sets the time at which the task entered its previous state. This property is not set if the task is in its initial Active state. - PreviousStateTransitionTime *date.Time `json:"previousStateTransitionTime,omitempty"` - // CommandLine - Gets or sets the command line of the task. For multi-instance tasks, the command line is executed on the primary subtask after all the subtasks have finished executing the coordianation command line. - CommandLine *string `json:"commandLine,omitempty"` - // ResourceFiles - Gets or sets a list of files that Batch will download to the compute node before running the command line. For multi-instance tasks, the resource files will only be downloaded to the compute node on which the primary subtask is executed. - ResourceFiles *[]ResourceFile `json:"resourceFiles,omitempty"` - // EnvironmentSettings - Gets or sets a list of environment variable settings for the task. - EnvironmentSettings *[]EnvironmentSetting `json:"environmentSettings,omitempty"` - // AffinityInfo - Gets or sets a locality hint that can be used by the Batch service to select a compute node on which to start the new task. - AffinityInfo *AffinityInformation `json:"affinityInfo,omitempty"` - // Constraints - Gets or sets the execution constraints that apply to this task. - Constraints *TaskConstraints `json:"constraints,omitempty"` - // RunElevated - Gets or sets whether to run the task in elevated mode. - RunElevated *bool `json:"runElevated,omitempty"` - // ExecutionInfo - Gets or sets information about the execution of the task. - ExecutionInfo *TaskExecutionInformation `json:"executionInfo,omitempty"` - // NodeInfo - Gets or sets information about the compute node on which the task ran. - NodeInfo *ComputeNodeInformation `json:"nodeInfo,omitempty"` - // MultiInstanceSettings - Gets or sets information about how to run the multi-instance task. - MultiInstanceSettings *MultiInstanceSettings `json:"multiInstanceSettings,omitempty"` - // Stats - Gets or sets resource usage statistics for the task. - Stats *TaskStatistics `json:"stats,omitempty"` - // DependsOn - Gets or sets any dependencies this task has. - DependsOn *TaskDependencies `json:"dependsOn,omitempty"` -} - -// CloudTaskListResult response to a CloudTaskOperations.List request. -type CloudTaskListResult struct { - autorest.Response `json:"-"` - // Value - Gets or sets the list of tasks. - Value *[]CloudTask `json:"value,omitempty"` - // OdataNextLink - Gets or sets the URL to get the next set of results. - OdataNextLink *string `json:"odata.nextLink,omitempty"` -} - -// CloudTaskListResultIterator provides access to a complete listing of CloudTask values. -type CloudTaskListResultIterator struct { - i int - page CloudTaskListResultPage -} - -// Next advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -func (iter *CloudTaskListResultIterator) Next() error { - iter.i++ - if iter.i < len(iter.page.Values()) { - return nil - } - err := iter.page.Next() - if err != nil { - iter.i-- - return err - } - iter.i = 0 - return nil -} - -// NotDone returns true if the enumeration should be started or is not yet complete. -func (iter CloudTaskListResultIterator) NotDone() bool { - return iter.page.NotDone() && iter.i < len(iter.page.Values()) -} - -// Response returns the raw server response from the last page request. -func (iter CloudTaskListResultIterator) Response() CloudTaskListResult { - return iter.page.Response() -} - -// Value returns the current value or a zero-initialized value if the -// iterator has advanced beyond the end of the collection. -func (iter CloudTaskListResultIterator) Value() CloudTask { - if !iter.page.NotDone() { - return CloudTask{} - } - return iter.page.Values()[iter.i] -} - -// IsEmpty returns true if the ListResult contains no values. -func (ctlr CloudTaskListResult) IsEmpty() bool { - return ctlr.Value == nil || len(*ctlr.Value) == 0 -} - -// cloudTaskListResultPreparer prepares a request to retrieve the next set of results. -// It returns nil if no more results exist. -func (ctlr CloudTaskListResult) cloudTaskListResultPreparer() (*http.Request, error) { - if ctlr.OdataNextLink == nil || len(to.String(ctlr.OdataNextLink)) < 1 { - return nil, nil - } - return autorest.Prepare(&http.Request{}, - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(ctlr.OdataNextLink))) -} - -// CloudTaskListResultPage contains a page of CloudTask values. -type CloudTaskListResultPage struct { - fn func(CloudTaskListResult) (CloudTaskListResult, error) - ctlr CloudTaskListResult -} - -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -func (page *CloudTaskListResultPage) Next() error { - next, err := page.fn(page.ctlr) - if err != nil { - return err - } - page.ctlr = next - return nil -} - -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page CloudTaskListResultPage) NotDone() bool { - return !page.ctlr.IsEmpty() -} - -// Response returns the raw server response from the last page request. -func (page CloudTaskListResultPage) Response() CloudTaskListResult { - return page.ctlr -} - -// Values returns the slice of values for the current page or nil if there are no values. -func (page CloudTaskListResultPage) Values() []CloudTask { - if page.ctlr.IsEmpty() { - return nil - } - return *page.ctlr.Value -} - -// CloudTaskListSubtasksResult response to a CloudTaskOperations.ListSubtasks request. -type CloudTaskListSubtasksResult struct { - autorest.Response `json:"-"` - // Value - Gets or sets the list of information of subtasks. - Value *[]SubtaskInformation `json:"value,omitempty"` -} - -// ComputeNode a compute node in the Batch service. -type ComputeNode struct { - autorest.Response `json:"-"` - // ID - Gets or sets the id of the compute node. - ID *string `json:"id,omitempty"` - // URL - Gets or sets the URL of the compute node. - URL *string `json:"url,omitempty"` - // State - Gets or sets the current state of the compute node. Possible values include: 'Idle', 'Rebooting', 'Reimaging', 'Running', 'Unusable', 'Creating', 'Starting', 'Waitingforstarttask', 'Starttaskfailed', 'Unknown', 'Leavingpool', 'Offline' - State ComputeNodeState `json:"state,omitempty"` - // SchedulingState - Gets or sets whether the compute node should be available for task scheduling. Possible values include: 'Enabled', 'Disabled' - SchedulingState SchedulingState `json:"schedulingState,omitempty"` - // StateTransitionTime - Gets or sets the time at which the compute node entered its current state. - StateTransitionTime *date.Time `json:"stateTransitionTime,omitempty"` - // LastBootTime - Gets or sets the time at which the compute node was started. - LastBootTime *date.Time `json:"lastBootTime,omitempty"` - // AllocationTime - Gets or sets the time at which this compute node was allocated to the pool. - AllocationTime *date.Time `json:"allocationTime,omitempty"` - // IPAddress - Gets or sets the IP address that other compute nodes can use to communicate with this compute node. - IPAddress *string `json:"ipAddress,omitempty"` - // AffinityID - Gets or sets an identifier which can be passed in the Add Task API to request that the task be scheduled close to this compute node. - AffinityID *string `json:"affinityId,omitempty"` - // VMSize - Gets or sets the size of the virtual machine hosting the compute node. - VMSize *string `json:"vmSize,omitempty"` - // TotalTasksRun - Gets or sets the total number of job tasks completed on the compute node. This includes Job Preparation, Job Release and Job Manager tasks, but not the pool start task. - TotalTasksRun *int32 `json:"totalTasksRun,omitempty"` - // RecentTasks - Gets or sets the list of tasks that are currently running on the compute node. - RecentTasks *[]TaskInformation `json:"recentTasks,omitempty"` - // StartTask - Gets or sets the task specified to run on the compute node as it joins the pool. - StartTask *StartTask `json:"startTask,omitempty"` - // StartTaskInfo - Gets or sets runtime information about the execution of the start task on the compute node. - StartTaskInfo *StartTaskInformation `json:"startTaskInfo,omitempty"` - // CertificateReferences - Gets or sets the list of certificates installed on the compute node. - CertificateReferences *[]CertificateReference `json:"certificateReferences,omitempty"` - // Errors - Gets or sets the list of errors that are currently being encountered by the compute node. - Errors *[]ComputeNodeError `json:"errors,omitempty"` -} - -// ComputeNodeError an error encountered by a compute node. -type ComputeNodeError struct { - // Code - Gets or sets an identifier for the compute node error. Codes are invariant and are intended to be consumed programmatically. - Code *string `json:"code,omitempty"` - // Message - Gets or sets a message describing the compute node error, intended to be suitable for display in a user interface. - Message *string `json:"message,omitempty"` - // ErrorDetails - Gets or sets the list of additional error details related to the compute node error. - ErrorDetails *[]NameValuePair `json:"errorDetails,omitempty"` -} - -// ComputeNodeInformation information about the compute node on which a task ran. -type ComputeNodeInformation struct { - // AffinityID - Gets or sets an identifier for the compute node on which the task ran, which can be passed when adding a task to request that the task be scheduled close to this compute node. - AffinityID *string `json:"affinityId,omitempty"` - // NodeURL - Gets or sets the URL of the node on which the task ran. - NodeURL *string `json:"nodeUrl,omitempty"` - // PoolID - Gets or sets the id of the pool on which the task ran. - PoolID *string `json:"poolId,omitempty"` - // NodeID - Gets or sets the id of the node on which the task ran. - NodeID *string `json:"nodeId,omitempty"` - // TaskRootDirectory - Gets or sets the root directory of the task on the compute node. - TaskRootDirectory *string `json:"taskRootDirectory,omitempty"` - // TaskRootDirectoryURL - Gets or sets the URL to the root directory of the task on the compute node. - TaskRootDirectoryURL *string `json:"taskRootDirectoryUrl,omitempty"` -} - -// ComputeNodeListResult response to a ComputeNodeOperations.List request. -type ComputeNodeListResult struct { - autorest.Response `json:"-"` - // Value - Gets or sets the list of compute nodes. - Value *[]ComputeNode `json:"value,omitempty"` - // OdataNextLink - Gets or sets the URL to get the next set of results. - OdataNextLink *string `json:"odata.nextLink,omitempty"` -} - -// ComputeNodeListResultIterator provides access to a complete listing of ComputeNode values. -type ComputeNodeListResultIterator struct { - i int - page ComputeNodeListResultPage -} - -// Next advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -func (iter *ComputeNodeListResultIterator) Next() error { - iter.i++ - if iter.i < len(iter.page.Values()) { - return nil - } - err := iter.page.Next() - if err != nil { - iter.i-- - return err - } - iter.i = 0 - return nil -} - -// NotDone returns true if the enumeration should be started or is not yet complete. -func (iter ComputeNodeListResultIterator) NotDone() bool { - return iter.page.NotDone() && iter.i < len(iter.page.Values()) -} - -// Response returns the raw server response from the last page request. -func (iter ComputeNodeListResultIterator) Response() ComputeNodeListResult { - return iter.page.Response() -} - -// Value returns the current value or a zero-initialized value if the -// iterator has advanced beyond the end of the collection. -func (iter ComputeNodeListResultIterator) Value() ComputeNode { - if !iter.page.NotDone() { - return ComputeNode{} - } - return iter.page.Values()[iter.i] -} - -// IsEmpty returns true if the ListResult contains no values. -func (cnlr ComputeNodeListResult) IsEmpty() bool { - return cnlr.Value == nil || len(*cnlr.Value) == 0 -} - -// computeNodeListResultPreparer prepares a request to retrieve the next set of results. -// It returns nil if no more results exist. -func (cnlr ComputeNodeListResult) computeNodeListResultPreparer() (*http.Request, error) { - if cnlr.OdataNextLink == nil || len(to.String(cnlr.OdataNextLink)) < 1 { - return nil, nil - } - return autorest.Prepare(&http.Request{}, - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(cnlr.OdataNextLink))) -} - -// ComputeNodeListResultPage contains a page of ComputeNode values. -type ComputeNodeListResultPage struct { - fn func(ComputeNodeListResult) (ComputeNodeListResult, error) - cnlr ComputeNodeListResult -} - -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -func (page *ComputeNodeListResultPage) Next() error { - next, err := page.fn(page.cnlr) - if err != nil { - return err - } - page.cnlr = next - return nil -} - -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page ComputeNodeListResultPage) NotDone() bool { - return !page.cnlr.IsEmpty() -} - -// Response returns the raw server response from the last page request. -func (page ComputeNodeListResultPage) Response() ComputeNodeListResult { - return page.cnlr -} - -// Values returns the slice of values for the current page or nil if there are no values. -func (page ComputeNodeListResultPage) Values() []ComputeNode { - if page.cnlr.IsEmpty() { - return nil - } - return *page.cnlr.Value -} - -// ComputeNodeUser an user account on a compute node. -type ComputeNodeUser struct { - // Name - Gets or sets the user name of the account. - Name *string `json:"name,omitempty"` - // IsAdmin - Gets or sets whether the account should be an administrator on the compute node. - IsAdmin *bool `json:"isAdmin,omitempty"` - // ExpiryTime - Gets or sets the time at which the account should expire. If omitted, the default is 1 day from the current time. - ExpiryTime *date.Time `json:"expiryTime,omitempty"` - // Password - Gets or sets the password of the account. - Password *string `json:"password,omitempty"` -} - -// DeleteCertificateError an error encountered by the Batch service when deleting a certificate. -type DeleteCertificateError struct { - // Code - Gets or sets an identifier for the certificate deletion error. Codes are invariant and are intended to be consumed programmatically. - Code *string `json:"code,omitempty"` - // Message - Gets or sets a message describing the certificate deletion error, intended to be suitable for display in a user interface. - Message *string `json:"message,omitempty"` - // Values - Gets or sets a list of additional error details related to the certificate deletion error. - Values *[]NameValuePair `json:"values,omitempty"` -} - -// EnvironmentSetting an environment variable to be set on a task process. -type EnvironmentSetting struct { - // Name - Gets or sets the name of the environment variable. - Name *string `json:"name,omitempty"` - // Value - Gets or sets the value of the environment variable. - Value *string `json:"value,omitempty"` -} - -// Error an error response received from the Azure Batch service. -type Error struct { - // Code - Gets or sets an identifier for the error. Codes are invariant and are intended to be consumed programmatically. - Code *string `json:"code,omitempty"` - // Message - Gets or sets a message describing the error, intended to be suitable for display in a user interface. - Message *ErrorMessage `json:"message,omitempty"` - // Values - Gets or sets a collection of key-value pairs containing additional details about the error. - Values *[]ErrorDetail `json:"values,omitempty"` -} - -// ErrorDetail an item of additional information included in an Azure Batch error response. -type ErrorDetail struct { - // Key - Gets or sets an identifier specifying the meaning of the Value property. - Key *string `json:"key,omitempty"` - // Value - Gets or sets the additional information included with the error response. - Value *string `json:"value,omitempty"` -} - -// ErrorMessage an error message received in an Azure Batch error response. -type ErrorMessage struct { - // Lang - Gets or sets the language code of the error message - Lang *string `json:"lang,omitempty"` - // Value - Gets or sets the text of the message. - Value *string `json:"value,omitempty"` -} - -// FileProperties the properties of a file on a compute node. -type FileProperties struct { - // CreationTime - Gets or sets the file creation time. - CreationTime *date.Time `json:"creationTime,omitempty"` - // LastModified - Gets or sets the time at which the file was last modified. - LastModified *date.Time `json:"lastModified,omitempty"` - // ContentLength - Gets or sets the length of the file. - ContentLength *int64 `json:"contentLength,omitempty"` - // ContentType - Gets or sets the content type of the file. - ContentType *string `json:"contentType,omitempty"` -} - -// JobAddParameter an Azure Batch job to add. -type JobAddParameter struct { - // ID - Gets or sets a string that uniquely identifies the job within the account. The id can contain any combination of alphanumeric characters including hyphens and underscores, and cannot contain more than 64 characters. It is common to use a GUID for the id. - ID *string `json:"id,omitempty"` - // DisplayName - Gets or sets the display name for the job. - DisplayName *string `json:"displayName,omitempty"` - // Priority - Gets or sets the priority of the job. Priority values can range from -1000 to 1000, with -1000 being the lowest priority and 1000 being the highest priority. The default value is 0. - Priority *int32 `json:"priority,omitempty"` - // Constraints - Gets or sets the execution constraints for the job. - Constraints *JobConstraints `json:"constraints,omitempty"` - // JobManagerTask - Gets or sets details of a Job Manager task to be launched when the job is started. - JobManagerTask *JobManagerTask `json:"jobManagerTask,omitempty"` - // JobPreparationTask - Gets or sets the Job Preparation task. - JobPreparationTask *JobPreparationTask `json:"jobPreparationTask,omitempty"` - // JobReleaseTask - Gets or sets the Job Release task. - JobReleaseTask *JobReleaseTask `json:"jobReleaseTask,omitempty"` - // CommonEnvironmentSettings - Gets or sets the list of common environment variable settings. These environment variables are set for all tasks in the job (including the Job Manager, Job Preparation and Job Release tasks). - CommonEnvironmentSettings *[]EnvironmentSetting `json:"commonEnvironmentSettings,omitempty"` - // PoolInfo - Gets or sets the pool on which the Batch service runs the job’s tasks. - PoolInfo *PoolInformation `json:"poolInfo,omitempty"` - // Metadata - Gets or sets a list of name-value pairs associated with the job as metadata. - Metadata *[]MetadataItem `json:"metadata,omitempty"` - // UsesTaskDependencies - Gets or sets the flag that determines if this job will use tasks with dependencies. - UsesTaskDependencies *bool `json:"usesTaskDependencies,omitempty"` -} - -// JobConstraints specifies the execution constraints for jobs created on a schedule. -type JobConstraints struct { - // MaxWallClockTime - Gets or sets the maximum elapsed time that the job may run, measured from the time the job starts. If the job does not complete within the time limit, the Batch service terminates it and any tasks that are still running. - MaxWallClockTime *string `json:"maxWallClockTime,omitempty"` - // MaxTaskRetryCount - Gets or sets the maximum number of times each task may be retried. The Batch service retries a task if its exit code is nonzero. - MaxTaskRetryCount *int32 `json:"maxTaskRetryCount,omitempty"` -} - -// JobDisableParameter parameters for a CloudJobOperations.Disable request. -type JobDisableParameter struct { - // DisableTasks - Sets what to do with active tasks associated with the job. Possible values include: 'DisableJobOptionRequeue', 'DisableJobOptionTerminate', 'DisableJobOptionWait' - DisableTasks DisableJobOption `json:"disableTasks,omitempty"` -} - -// JobExecutionInformation contains information about the execution of a job in the Azure Batch service. -type JobExecutionInformation struct { - // StartTime - Gets or sets the start time of the job. - StartTime *date.Time `json:"startTime,omitempty"` - // EndTime - Gets or sets the completion time of the job. This property is set only if the job is in the completed state. - EndTime *date.Time `json:"endTime,omitempty"` - // PoolID - Gets or sets the id of the pool to which this job is assigned. - PoolID *string `json:"poolId,omitempty"` - // SchedulingError - Gets or sets details of any error encountered by the service in starting the job. - SchedulingError *JobSchedulingError `json:"schedulingError,omitempty"` - // TerminateReason - Gets or sets a string describing the reason the job ended. - TerminateReason *string `json:"terminateReason,omitempty"` -} - -// JobManagerTask specifies details of a Job Manager task. -type JobManagerTask struct { - // ID - Gets or sets a string that uniquely identifies the Job Manager task. A GUID is recommended. - ID *string `json:"id,omitempty"` - // DisplayName - Gets or sets the display name of the Job Manager task. - DisplayName *string `json:"displayName,omitempty"` - // CommandLine - Gets or sets the command line of the Job Manager task. - CommandLine *string `json:"commandLine,omitempty"` - // ResourceFiles - Gets or sets a list of files that Batch will download to the compute node before running the command line. - ResourceFiles *[]ResourceFile `json:"resourceFiles,omitempty"` - // EnvironmentSettings - Gets or sets a list of environment variable settings for the Job Manager task. - EnvironmentSettings *[]EnvironmentSetting `json:"environmentSettings,omitempty"` - // Constraints - Gets or sets constraints that apply to the Job Manager task. - Constraints *TaskConstraints `json:"constraints,omitempty"` - // KillJobOnCompletion - Gets or sets whether completion of the Job Manager task signifies completion of the entire job. - KillJobOnCompletion *bool `json:"killJobOnCompletion,omitempty"` - // RunElevated - Gets or sets whether to run the Job Manager task in elevated mode. The default value is false. - RunElevated *bool `json:"runElevated,omitempty"` - // RunExclusive - Gets or sets whether the Job Manager task requires exclusive use of the compute node where it runs. - RunExclusive *bool `json:"runExclusive,omitempty"` -} - -// JobPatchParameter parameters for a CloudJobOperations.Patch request. -type JobPatchParameter struct { - // Priority - Sets the priority of the job. Priority values can range from -1000 to 1000, with -1000 being the lowest priority and 1000 being the highest priority. If omitted, the priority of the job is left unchanged. - Priority *int32 `json:"priority,omitempty"` - // Constraints - Sets the execution constraints for the job. If omitted, the existing execution constraints are left unchanged. - Constraints *JobConstraints `json:"constraints,omitempty"` - // PoolInfo - Sets the pool on which the Batch service runs the job's tasks. If omitted, the job continues to run on its current pool. - PoolInfo *PoolInformation `json:"poolInfo,omitempty"` - // Metadata - Sets a list of name-value pairs associated with the job as metadata. If omitted, the existing job metadata is left unchanged. - Metadata *[]MetadataItem `json:"metadata,omitempty"` -} - -// JobPreparationAndReleaseTaskExecutionInformation the status of the Job Preparation and Job Release tasks on a -// particular compute node. -type JobPreparationAndReleaseTaskExecutionInformation struct { - // PoolID - Gets or sets the id of the pool containing the compute node to which this entry refers. - PoolID *string `json:"poolId,omitempty"` - // NodeID - Gets or sets the id of the compute node to which this entry refers. - NodeID *string `json:"nodeId,omitempty"` - // NodeURL - Gets or sets the URL of the compute node to which this entry refers. - NodeURL *string `json:"nodeUrl,omitempty"` - // JobPreparationTaskExecutionInfo - Gets or sets information about the execution status of the Job Preparation task on this compute node. - JobPreparationTaskExecutionInfo *JobPreparationTaskExecutionInformation `json:"jobPreparationTaskExecutionInfo,omitempty"` - // JobReleaseTaskExecutionInfo - Gets or sets information about the execution status of the Job Release task on this compute node. This property is set only if the Job Release task has run on the node. - JobReleaseTaskExecutionInfo *JobReleaseTaskExecutionInformation `json:"jobReleaseTaskExecutionInfo,omitempty"` -} - -// JobPreparationTask a Job Preparation task to run before any tasks of the job on any given compute node. -type JobPreparationTask struct { - // ID - Gets or sets a string that uniquely identifies the job preparation task within the job. The id can contain any combination of alphanumeric characters including hyphens and underscores and cannot contain more than 64 characters. - ID *string `json:"id,omitempty"` - // CommandLine - Gets or sets the command line of the Job Preparation task. - CommandLine *string `json:"commandLine,omitempty"` - // ResourceFiles - Gets or sets a list of files that Batch will download to the compute node before running the command line. - ResourceFiles *[]ResourceFile `json:"resourceFiles,omitempty"` - // EnvironmentSettings - Gets or sets a list of environment variable settings for the Job Preparation task. - EnvironmentSettings *[]EnvironmentSetting `json:"environmentSettings,omitempty"` - // Constraints - Gets or sets constraints that apply to the Job Preparation task.. - Constraints *TaskConstraints `json:"constraints,omitempty"` - // WaitForSuccess - Gets or sets whether the Batch Service should wait for the Job Preparation task to complete successfully before scheduling any other tasks of the job on the compute node. - WaitForSuccess *bool `json:"waitForSuccess,omitempty"` - // RunElevated - Gets or sets whether to run the Job Preparation task in elevated mode. The default value is false. - RunElevated *bool `json:"runElevated,omitempty"` - // RerunOnNodeRebootAfterSuccess - Gets or sets whether the Batch service should rerun the Job Preparation task after a compute node reboots. The default value is true. - RerunOnNodeRebootAfterSuccess *bool `json:"rerunOnNodeRebootAfterSuccess,omitempty"` -} - -// JobPreparationTaskExecutionInformation contains information about the execution of a Job Preparation task on a -// compute node. -type JobPreparationTaskExecutionInformation struct { - // StartTime - Gets or sets the time at which the Job Preparation task started running. - StartTime *date.Time `json:"startTime,omitempty"` - // EndTime - Gets or sets the time at which the Job Preparation task completed. This property is set only if the task is in the Completed state. - EndTime *date.Time `json:"endTime,omitempty"` - // State - Gets or sets the current running state of the Job Preparation task on the compute node. Possible values include: 'JobPreparationTaskStateRunning', 'JobPreparationTaskStateCompleted' - State JobPreparationTaskState `json:"state,omitempty"` - // TaskRootDirectory - Gets or sets the root directory of the Job Preparation task on the compute node. - TaskRootDirectory *string `json:"taskRootDirectory,omitempty"` - // TaskRootDirectoryURL - Gets or sets the URL to the root directory of the Job Preparation task on the compute node. - TaskRootDirectoryURL *string `json:"taskRootDirectoryUrl,omitempty"` - // ExitCode - Gets or sets the exit code of the Job Preparation task. This property is set only if the task is in the Completed state. - ExitCode *int32 `json:"exitCode,omitempty"` - // SchedulingError - Gets or sets any error starting the Job Preparation task. - SchedulingError *TaskSchedulingError `json:"schedulingError,omitempty"` - // RetryCount - Gets or sets the number of times the Job Preparation task has been retried by the Batch service. - RetryCount *int32 `json:"retryCount,omitempty"` - // LastRetryTime - Gets or sets the most recent time at which a retry of the Job Preparation task started running. This property is set only if the task was retried (i.e. retryCount is nonzero). - LastRetryTime *date.Time `json:"lastRetryTime,omitempty"` -} - -// JobReleaseTask a Job Release task to run on job completion on any compute node where the job has run. -type JobReleaseTask struct { - // ID - Gets or sets a string that uniquely identifies the Job Release task within the job. The id can contain any combination of alphanumeric characters including hyphens and underscores and cannot contain more than 64 characters. - ID *string `json:"id,omitempty"` - // CommandLine - Gets or sets the command line of the Job Release task. - CommandLine *string `json:"commandLine,omitempty"` - // ResourceFiles - Gets or sets a list of files that Batch will download to the compute node before running the command line. - ResourceFiles *[]ResourceFile `json:"resourceFiles,omitempty"` - // EnvironmentSettings - Gets or sets a list of environment variable settings for the Job Release task. - EnvironmentSettings *[]EnvironmentSetting `json:"environmentSettings,omitempty"` - // MaxWallClockTime - Gets or sets the maximum elapsed time that the Job Release task may run on a given compute node, measured from the time the task starts. If the task does not complete within the time limit, the Batch service terminates it. The default value is 15 minutes. - MaxWallClockTime *string `json:"maxWallClockTime,omitempty"` - // RetentionTime - Gets or sets the minimum time to retain the working directory for the Job Release task on the compute node. After this time, the Batch service may delete the working directory and all its contents. The default is infinite. - RetentionTime *string `json:"retentionTime,omitempty"` - // RunElevated - Gets or sets whether to run the Job Release task in elevated mode. The default value is false. - RunElevated *bool `json:"runElevated,omitempty"` -} - -// JobReleaseTaskExecutionInformation contains information about the execution of a Job Release task on a compute -// node. -type JobReleaseTaskExecutionInformation struct { - // StartTime - Gets or sets the time at which the Job Release task started running. - StartTime *date.Time `json:"startTime,omitempty"` - // EndTime - Gets or sets the time at which the Job Release task completed. This property is set only if the task is in the Completed state. - EndTime *date.Time `json:"endTime,omitempty"` - // State - Gets or sets the current running state of the Job Release task on the compute node. Possible values include: 'JobReleaseTaskStateRunning', 'JobReleaseTaskStateCompleted' - State JobReleaseTaskState `json:"state,omitempty"` - // TaskRootDirectory - Gets or sets the root directory of the Job Release task on the compute node. - TaskRootDirectory *string `json:"taskRootDirectory,omitempty"` - // TaskRootDirectoryURL - Gets or sets the URL to the root directory of the Job Release task on the compute node. - TaskRootDirectoryURL *string `json:"taskRootDirectoryUrl,omitempty"` - // ExitCode - Gets or sets the exit code of the Job Release task. This property is set only if the task is in the Completed state. - ExitCode *int32 `json:"exitCode,omitempty"` - // SchedulingError - Gets or sets any error starting the Job Release task. - SchedulingError *TaskSchedulingError `json:"schedulingError,omitempty"` -} - -// JobScheduleAddParameter a job schedule that allows recurring jobs by specifying when to run jobs and a -// specification used to create each job. -type JobScheduleAddParameter struct { - // ID - Gets or sets a string that uniquely identifies the schedule within the account. A GUID is recommended. - ID *string `json:"id,omitempty"` - // DisplayName - Gets or sets the display name for the schedule. - DisplayName *string `json:"displayName,omitempty"` - // Schedule - Gets or sets the schedule according to which jobs will be created. - Schedule *Schedule `json:"schedule,omitempty"` - // JobSpecification - Gets or sets the details of the jobs to be created on this schedule. - JobSpecification *JobSpecification `json:"jobSpecification,omitempty"` - // Metadata - Gets or sets a list of name-value pairs associated with the schedule as metadata. - Metadata *[]MetadataItem `json:"metadata,omitempty"` -} - -// JobScheduleExecutionInformation specifies how tasks should be run in a job associated with a job schedule. -type JobScheduleExecutionInformation struct { - // NextRunTime - Gets or sets the next time at which a job will be created under this schedule. - NextRunTime *date.Time `json:"nextRunTime,omitempty"` - // RecentJob - Gets or sets information about the most recent job under the job schedule. - RecentJob *RecentJob `json:"recentJob,omitempty"` - // EndTime - Gets or sets the time at which the schedule ended. This property is set only if the job schedule is in the completed state. - EndTime *date.Time `json:"endTime,omitempty"` -} - -// JobSchedulePatchParameter parameters for a CloudJobScheduleOperations.Patch request. -type JobSchedulePatchParameter struct { - // Schedule - Sets the schedule according to which jobs will be created. If you do not specify this element, the existing schedule is not modified. - Schedule *Schedule `json:"schedule,omitempty"` - // JobSpecification - Sets the details of the jobs to be created on this schedule. - JobSpecification *JobSpecification `json:"jobSpecification,omitempty"` - // Metadata - Sets a list of name-value pairs associated with the job schedule as metadata. - Metadata *[]MetadataItem `json:"metadata,omitempty"` -} - -// JobScheduleStatistics the lifetime resource usage statistics for a job schedule. -type JobScheduleStatistics struct { - // URL - Gets or sets the URL for the statistics. - URL *string `json:"url,omitempty"` - // StartTime - Gets or sets the start time of the time range covered by the statistics. - StartTime *date.Time `json:"startTime,omitempty"` - // LastUpdateTime - Gets or sets the time at which the statistics were last updated. All statistics are limited to the range between startTime and lastUpdateTime. - LastUpdateTime *date.Time `json:"lastUpdateTime,omitempty"` - // UserCPUTime - Gets or sets the total user mode CPU time (summed across all cores and all compute nodes) consumed by all the tasks in all the jobs created under the schedule. - UserCPUTime *string `json:"userCPUTime,omitempty"` - // KernelCPUTime - Gets or sets the total kernel mode CPU time (summed across all cores and all compute nodes) consumed by all the tasks in all the jobs created under the schedule. - KernelCPUTime *string `json:"kernelCPUTime,omitempty"` - // WallClockTime - Gets or sets the total wall clock time of all the tasks in all the jobs created under the schedule. - WallClockTime *string `json:"wallClockTime,omitempty"` - // ReadIOps - Gets or sets the total number of I/O read operations performed by all the tasks in all the jobs created under the schedule. - ReadIOps *int64 `json:"readIOps,omitempty"` - // WriteIOps - Gets or sets the total number of I/O write operations performed by all the tasks in all the jobs created under the schedule. - WriteIOps *int64 `json:"writeIOps,omitempty"` - // ReadIOGiB - Gets or sets the total amount of data in GiB of I/O read by all the tasks in all the jobs created under the schedule. - ReadIOGiB *float64 `json:"readIOGiB,omitempty"` - // WriteIOGiB - Gets or sets the total amount of data in GiB of I/O written by all the tasks in all the jobs created under the schedule. - WriteIOGiB *float64 `json:"writeIOGiB,omitempty"` - // NumSucceededTasks - Gets or sets the total number of tasks successfully completed during the given time range in jobs created under the schedule. A task completes successfully if it returns exit code 0. - NumSucceededTasks *int64 `json:"numSucceededTasks,omitempty"` - // NumFailedTasks - Gets or sets the total number of tasks that failed during the given time range in jobs created under the schedule. A task fails if it exhausts its maximum retry count without returning exit code 0. - NumFailedTasks *int64 `json:"numFailedTasks,omitempty"` - // NumTaskRetries - Gets or sets the total number of retries during the given time range on all the tasks in jobs created under the schedule. - NumTaskRetries *int64 `json:"numTaskRetries,omitempty"` - // WaitTime - Gets or sets the total wait time of all the tasks in jobs created under the schedule. - WaitTime *string `json:"waitTime,omitempty"` -} - -// JobScheduleUpdateParameter parameters for a CloudJobScheduleOperations.Update request. -type JobScheduleUpdateParameter struct { - // Schedule - Sets the schedule according to which jobs will be created. If you do not specify this element, it is equivalent to passing the default schedule: that is, a single job scheduled to run immediately. - Schedule *Schedule `json:"schedule,omitempty"` - // JobSpecification - Sets details of the jobs to be created on this schedule. - JobSpecification *JobSpecification `json:"jobSpecification,omitempty"` - // Metadata - Sets a list of name-value pairs associated with the job schedule as metadata. If you do not specify this element, it takes the default value of an empty list; in effect, any existing metadata is deleted. - Metadata *[]MetadataItem `json:"metadata,omitempty"` -} - -// JobSchedulingError an error encountered by the Batch service when scheduling a job. -type JobSchedulingError struct { - // Category - Gets or sets the category of the job scheduling error. Possible values include: 'SchedulingErrorCategoryUsererror', 'SchedulingErrorCategoryServererror', 'SchedulingErrorCategoryUnmapped' - Category SchedulingErrorCategory `json:"category,omitempty"` - // Code - Gets or sets an identifier for the job scheduling error. Codes are invariant and are intended to be consumed programmatically. - Code *string `json:"code,omitempty"` - // Message - Gets or sets a message describing the job scheduling error, intended to be suitable for display in a user interface. - Message *string `json:"message,omitempty"` - // Details - Gets or sets a list of additional error details related to the scheduling error. - Details *[]NameValuePair `json:"details,omitempty"` -} - -// JobSpecification specifies details of the jobs to be created on a schedule. -type JobSpecification struct { - // Priority - Gets or sets the priority of jobs created under this schedule. Priority values can range from -1000 to 1000, with -1000 being the lowest priority and 1000 being the highest priority. The default value is 0. - Priority *int32 `json:"priority,omitempty"` - // DisplayName - Gets or sets the display name for jobs created under this schedule. It need not be unique and can contain any Unicode characters up to a maximum length of 1024. - DisplayName *string `json:"displayName,omitempty"` - // UsesTaskDependencies - Gets or sets the flag that determines if this job will use tasks with dependencies. - UsesTaskDependencies *bool `json:"usesTaskDependencies,omitempty"` - // Constraints - Gets or sets the execution constraints for jobs created under this schedule. - Constraints *JobConstraints `json:"constraints,omitempty"` - // JobManagerTask - Gets or sets the details of a Job Manager task to be launched when a job is started under this schedule. - JobManagerTask *JobManagerTask `json:"jobManagerTask,omitempty"` - // JobPreparationTask - Gets or sets the Job Preparation task for jobs created under this schedule. - JobPreparationTask *JobPreparationTask `json:"jobPreparationTask,omitempty"` - // JobReleaseTask - Gets or sets the Job Release task for jobs created under this schedule. - JobReleaseTask *JobReleaseTask `json:"jobReleaseTask,omitempty"` - // CommonEnvironmentSettings - Gets or sets a list of common environment variable settings. These environment variables are set for all tasks in jobs created under this schedule (including the Job Manager, Job Preparation and Job Release tasks). - CommonEnvironmentSettings *[]EnvironmentSetting `json:"commonEnvironmentSettings,omitempty"` - // PoolInfo - Gets or sets the pool on which the Batch service runs the tasks of jobs created under this schedule. - PoolInfo *PoolInformation `json:"poolInfo,omitempty"` - // Metadata - Gets or sets a list of name-value pairs associated with each job created under this schedule as metadata. - Metadata *[]MetadataItem `json:"metadata,omitempty"` -} - -// JobStatistics resource usage statistics for a job. -type JobStatistics struct { - autorest.Response `json:"-"` - // URL - Gets or sets the URL for the statistics. - URL *string `json:"url,omitempty"` - // StartTime - Gets or sets the start time of the time range covered by the statistics. - StartTime *date.Time `json:"startTime,omitempty"` - // LastUpdateTime - Gets or sets the time at which the statistics were last updated. All statistics are limited to the range between StartTime and LastUpdateTime. - LastUpdateTime *date.Time `json:"lastUpdateTime,omitempty"` - // UserCPUTime - Gets or sets the total user mode CPU time (summed across all cores and all compute nodes) consumed by all the tasks in the job. - UserCPUTime *string `json:"userCPUTime,omitempty"` - // KernelCPUTime - Gets or sets the total kernel mode CPU time (summed across all cores and all compute nodes) consumed by all the tasks in the job. - KernelCPUTime *string `json:"kernelCPUTime,omitempty"` - // WallClockTime - Gets or sets the total wall clock time of all the tasks in the job. - WallClockTime *string `json:"wallClockTime,omitempty"` - // ReadIOps - Gets or sets the total number of I/O read operations performed by all the tasks in the job. - ReadIOps *int64 `json:"readIOps,omitempty"` - // WriteIOps - Gets or sets the total number of I/O write operations performed by all the tasks in the job. - WriteIOps *int64 `json:"writeIOps,omitempty"` - // ReadIOGiB - Gets or sets the total amount of data in GiB of I/O read by all the tasks in the job. - ReadIOGiB *float64 `json:"readIOGiB,omitempty"` - // WriteIOGiB - Gets or sets the total amount of data in GiB of I/O written by all the tasks in the job. - WriteIOGiB *float64 `json:"writeIOGiB,omitempty"` - // NumSucceededTasks - Gets or sets the total number of tasks successfully completed in the job during the given time range. - NumSucceededTasks *int64 `json:"numSucceededTasks,omitempty"` - // NumFailedTasks - Gets or sets the total number of tasks in the job that failed during the given time range. - NumFailedTasks *int64 `json:"numFailedTasks,omitempty"` - // NumTaskRetries - Gets or sets the total number of retries on all the tasks in the job during the given time range. - NumTaskRetries *int64 `json:"numTaskRetries,omitempty"` - // WaitTime - Gets or sets the total wait time of all the tasks in the job. The wait time for a task is defined as the elapsed time between the creation of the task creation and the start of task execution. This value is reported only in the account lifetime statistics; it is not included in individual job statistics. - WaitTime *string `json:"waitTime,omitempty"` -} - -// JobTerminateParameter parameters for a CloudJobOperations.Terminate request. -type JobTerminateParameter struct { - // TerminateReason - Sets the text you want to appear as the job's TerminateReason. The default is 'UserTerminate'. - TerminateReason *string `json:"terminateReason,omitempty"` -} - -// JobUpdateParameter parameters for a CloudJobOperations.Update request. -type JobUpdateParameter struct { - // Priority - Sets the priority of the job. Priority values can range from -1000 to 1000, with -1000 being the lowest priority and 1000 being the highest priority. If omitted, the priority of the job is left unchanged. - Priority *int32 `json:"priority,omitempty"` - // Constraints - Sets the execution constraints for the job. If omitted, the existing execution constraints are left unchanged. - Constraints *JobConstraints `json:"constraints,omitempty"` - // PoolInfo - Sets the pool on which the Batch service runs the job's tasks. If omitted, the job continues to run on its current pool. - PoolInfo *PoolInformation `json:"poolInfo,omitempty"` - // Metadata - Sets a list of name-value pairs associated with the job as metadata. If omitted, the existing job metadata is left unchanged. - Metadata *[]MetadataItem `json:"metadata,omitempty"` -} - -// MetadataItem a metadata item associated with an Azure Batch resource. The Batch service does not assign any -// meaning to metadata; it is solely for the use of user code. -type MetadataItem struct { - // Name - Gets or sets the name of the metadata item. - Name *string `json:"name,omitempty"` - // Value - Gets or sets the value of the metadata item. - Value *string `json:"value,omitempty"` -} - -// MultiInstanceSettings information about the settings required for multi-instance task. -type MultiInstanceSettings struct { - // NumberOfInstances - Gets or sets the number of compute node instances used for multi-instance task. - NumberOfInstances *int32 `json:"numberOfInstances,omitempty"` - // CoordinationCommandLine - Gets or sets the command to be run on the compute node instances to setup coordination among the subtasks. - CoordinationCommandLine *string `json:"coordinationCommandLine,omitempty"` - // CommonResourceFiles - Gets or sets a list of files that Batch will download on all subtasks. - CommonResourceFiles *[]ResourceFile `json:"commonResourceFiles,omitempty"` -} - -// NameValuePair represents a name-value pair. -type NameValuePair struct { - // Name - Gets or sets the name in the name-value pair. - Name *string `json:"name,omitempty"` - // Value - Gets or sets the value in the name-value pair. - Value *string `json:"value,omitempty"` -} - -// NodeDisableSchedulingParameter parameters for a ComputeNodeOperations.DisableScheduling request. -type NodeDisableSchedulingParameter struct { - // NodeDisableSchedulingOption - Gets or sets what to do with currently running tasks when disable task scheduling on the compute node. The default value is requeue. Possible values include: 'DisableComputeNodeSchedulingOptionRequeue', 'DisableComputeNodeSchedulingOptionTerminate', 'DisableComputeNodeSchedulingOptionTaskcompletion' - NodeDisableSchedulingOption DisableComputeNodeSchedulingOption `json:"nodeDisableSchedulingOption,omitempty"` -} - -// NodeFile information about a file or directory on a compute node. -type NodeFile struct { - // Name - Gets or sets the file path. - Name *string `json:"name,omitempty"` - // URL - Gets or sets the URL of the file. - URL *string `json:"url,omitempty"` - // IsDirectory - Gets or sets whether the object represents a directory. - IsDirectory *bool `json:"isDirectory,omitempty"` - // Properties - Gets or sets the file properties. - Properties *FileProperties `json:"properties,omitempty"` -} - -// NodeFileListResult response to a NodeFileOperations.ListFromComputeNode or NodeFileOperations.ListFromTask -// request. -type NodeFileListResult struct { - autorest.Response `json:"-"` - // Value - Gets or sets the list of files. - Value *[]NodeFile `json:"value,omitempty"` - // OdataNextLink - Gets or sets the URL to get the next set of results. - OdataNextLink *string `json:"odata.nextLink,omitempty"` -} - -// NodeFileListResultIterator provides access to a complete listing of NodeFile values. -type NodeFileListResultIterator struct { - i int - page NodeFileListResultPage -} - -// Next advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -func (iter *NodeFileListResultIterator) Next() error { - iter.i++ - if iter.i < len(iter.page.Values()) { - return nil - } - err := iter.page.Next() - if err != nil { - iter.i-- - return err - } - iter.i = 0 - return nil -} - -// NotDone returns true if the enumeration should be started or is not yet complete. -func (iter NodeFileListResultIterator) NotDone() bool { - return iter.page.NotDone() && iter.i < len(iter.page.Values()) -} - -// Response returns the raw server response from the last page request. -func (iter NodeFileListResultIterator) Response() NodeFileListResult { - return iter.page.Response() -} - -// Value returns the current value or a zero-initialized value if the -// iterator has advanced beyond the end of the collection. -func (iter NodeFileListResultIterator) Value() NodeFile { - if !iter.page.NotDone() { - return NodeFile{} - } - return iter.page.Values()[iter.i] -} - -// IsEmpty returns true if the ListResult contains no values. -func (nflr NodeFileListResult) IsEmpty() bool { - return nflr.Value == nil || len(*nflr.Value) == 0 -} - -// nodeFileListResultPreparer prepares a request to retrieve the next set of results. -// It returns nil if no more results exist. -func (nflr NodeFileListResult) nodeFileListResultPreparer() (*http.Request, error) { - if nflr.OdataNextLink == nil || len(to.String(nflr.OdataNextLink)) < 1 { - return nil, nil - } - return autorest.Prepare(&http.Request{}, - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(nflr.OdataNextLink))) -} - -// NodeFileListResultPage contains a page of NodeFile values. -type NodeFileListResultPage struct { - fn func(NodeFileListResult) (NodeFileListResult, error) - nflr NodeFileListResult -} - -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -func (page *NodeFileListResultPage) Next() error { - next, err := page.fn(page.nflr) - if err != nil { - return err - } - page.nflr = next - return nil -} - -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page NodeFileListResultPage) NotDone() bool { - return !page.nflr.IsEmpty() -} - -// Response returns the raw server response from the last page request. -func (page NodeFileListResultPage) Response() NodeFileListResult { - return page.nflr -} - -// Values returns the slice of values for the current page or nil if there are no values. -func (page NodeFileListResultPage) Values() []NodeFile { - if page.nflr.IsEmpty() { - return nil - } - return *page.nflr.Value -} - -// NodeRebootParameter parameters for a ComputeNodeOperations.Reboot request. -type NodeRebootParameter struct { - // NodeRebootOption - Sets when to reboot the compute node and what to do with currently running tasks. The default value is requeue. Possible values include: 'ComputeNodeRebootOptionRequeue', 'ComputeNodeRebootOptionTerminate', 'ComputeNodeRebootOptionTaskcompletion', 'ComputeNodeRebootOptionRetaineddata' - NodeRebootOption ComputeNodeRebootOption `json:"nodeRebootOption,omitempty"` -} - -// NodeReimageParameter parameters for a ComputeNodeOperations.Reimage request. -type NodeReimageParameter struct { - // NodeReimageOption - Sets when to reimage the compute node and what to do with currently running tasks. The default value is requeue. Possible values include: 'ComputeNodeReimageOptionRequeue', 'ComputeNodeReimageOptionTerminate', 'ComputeNodeReimageOptionTaskcompletion', 'ComputeNodeReimageOptionRetaineddata' - NodeReimageOption ComputeNodeReimageOption `json:"nodeReimageOption,omitempty"` -} - -// NodeRemoveParameter parameters for a ComputeNodeOperations.Remove request. -type NodeRemoveParameter struct { - // NodeList - Sets a list containing the id of the compute nodes to be removed from the specified pool. - NodeList *[]string `json:"nodeList,omitempty"` - // ResizeTimeout - Sets the timeout for removal of compute nodes to the pool. The default value is 10 minutes. - ResizeTimeout *string `json:"resizeTimeout,omitempty"` - // NodeDeallocationOption - Sets when compute nodes may be removed from the pool. Possible values include: 'Requeue', 'Terminate', 'Taskcompletion', 'Retaineddata' - NodeDeallocationOption ComputeNodeDeallocationOption `json:"nodeDeallocationOption,omitempty"` -} - -// NodeUpdateUserParameter parameters for a ComputeNodeOperations.UpdateUser request. -type NodeUpdateUserParameter struct { - // Password - Sets the password of the account. - Password *string `json:"password,omitempty"` - // ExpiryTime - Sets the time at which the account should expire. If omitted, the default is 1 day from the current time. - ExpiryTime *date.Time `json:"expiryTime,omitempty"` -} - -// PoolAddParameter a pool in the Azure Batch service to add. -type PoolAddParameter struct { - // ID - Gets or sets a string that uniquely identifies the pool within the account. The id can contain any combination of alphanumeric characters including hyphens and underscores, and cannot contain more than 64 characters. - ID *string `json:"id,omitempty"` - // DisplayName - Gets or sets the display name for the pool. - DisplayName *string `json:"displayName,omitempty"` - // VMSize - Gets or sets the size of virtual machines in the pool. All VMs in a pool are the same size. - VMSize *string `json:"vmSize,omitempty"` - // OsFamily - Gets or sets the Azure Guest OS family to be installed on the virtual machines in the pool. - OsFamily *string `json:"osFamily,omitempty"` - // TargetOSVersion - Gets or sets the Azure Guest OS version to be installed on the virtual machines in the pool. The default value is * which specifies the latest operating system version for the specified family. - TargetOSVersion *string `json:"targetOSVersion,omitempty"` - // ResizeTimeout - Gets or sets the timeout for allocation of compute nodes to the pool. In a Get Pool operation, this is the timeout for the most recent resize operation. The default value is 10 minutes. - ResizeTimeout *string `json:"resizeTimeout,omitempty"` - // TargetDedicated - Gets or sets the desired number of compute nodes in the pool. This property must have the default value if EnableAutoScale is true. It is required if EnableAutoScale is false. - TargetDedicated *int32 `json:"targetDedicated,omitempty"` - // EnableAutoScale - Gets or sets whether the pool size should automatically adjust over time. If true, the AutoScaleFormula property must be set. If false, the TargetDedicated property must be set. - EnableAutoScale *bool `json:"enableAutoScale,omitempty"` - // AutoScaleFormula - Gets or sets a formula for the desired number of compute nodes in the pool. - AutoScaleFormula *string `json:"autoScaleFormula,omitempty"` - // AutoScaleEvaluationInterval - Gets or sets a time interval for the desired autoscale evaluation period in the pool. - AutoScaleEvaluationInterval *string `json:"autoScaleEvaluationInterval,omitempty"` - // EnableInterNodeCommunication - Gets or sets whether the pool permits direct communication between nodes. - EnableInterNodeCommunication *bool `json:"enableInterNodeCommunication,omitempty"` - // StartTask - Gets or sets a task specified to run on each compute node as it joins the pool. - StartTask *StartTask `json:"startTask,omitempty"` - // CertificateReferences - Gets or sets the list of certificates to be installed on each compute node in the pool. - CertificateReferences *[]CertificateReference `json:"certificateReferences,omitempty"` - // ApplicationPackageReferences - Gets or sets the list of application packages to be installed on each compute node in the pool. - ApplicationPackageReferences *[]ApplicationPackageReference `json:"applicationPackageReferences,omitempty"` - // MaxTasksPerNode - Gets or sets the maximum number of tasks that can run concurrently on a single compute node in the pool. - MaxTasksPerNode *int32 `json:"maxTasksPerNode,omitempty"` - // TaskSchedulingPolicy - Gets or sets how the Batch service distributes tasks between compute nodes in the pool. - TaskSchedulingPolicy *TaskSchedulingPolicy `json:"taskSchedulingPolicy,omitempty"` - // Metadata - Gets or sets a list of name-value pairs associated with the pool as metadata. - Metadata *[]MetadataItem `json:"metadata,omitempty"` -} - -// PoolEnableAutoScaleParameter parameters for a CloudPoolOperations.EnableAutoScale request. -type PoolEnableAutoScaleParameter struct { - // AutoScaleFormula - Sets the formula for the desired number of compute nodes in the pool. - AutoScaleFormula *string `json:"autoScaleFormula,omitempty"` - // AutoScaleEvaluationInterval - Gets or sets a time interval for the desired autoscale evaluation period in the pool. - AutoScaleEvaluationInterval *string `json:"autoScaleEvaluationInterval,omitempty"` -} - -// PoolEvaluateAutoScaleParameter parameters for a CloudJobOperations.EvaluateAutoScale request. -type PoolEvaluateAutoScaleParameter struct { - // AutoScaleFormula - Sets a formula for the desired number of compute nodes in the pool. - AutoScaleFormula *string `json:"autoScaleFormula,omitempty"` -} - -// PoolInformation specifies how a job should be assigned to a pool. -type PoolInformation struct { - // PoolID - Gets or sets the id of an existing pool. All the tasks of the job will run on the specified pool. You must specify either PoolId or AutoPoolSpecification, but not both. - PoolID *string `json:"poolId,omitempty"` - // AutoPoolSpecification - Gets or sets characteristics for a temporary 'auto pool.' The Batch service will create this auto pool and run all the tasks of the job on it, and will delete the pool once the job has completed. You must specify either PoolId or AutoPoolSpecification, but not both. - AutoPoolSpecification *AutoPoolSpecification `json:"autoPoolSpecification,omitempty"` -} - -// PoolListPoolUsageMetricsResult response to an AccountOperations.ListPoolUsageMetrics request. -type PoolListPoolUsageMetricsResult struct { - autorest.Response `json:"-"` - // Value - Gets or sets the pool usage metrics data. - Value *[]PoolUsageMetrics `json:"value,omitempty"` - // OdataNextLink - Gets or sets the URL to get the next set of results. - OdataNextLink *string `json:"odata.nextLink,omitempty"` -} - -// PoolListPoolUsageMetricsResultIterator provides access to a complete listing of PoolUsageMetrics values. -type PoolListPoolUsageMetricsResultIterator struct { - i int - page PoolListPoolUsageMetricsResultPage -} - -// Next advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -func (iter *PoolListPoolUsageMetricsResultIterator) Next() error { - iter.i++ - if iter.i < len(iter.page.Values()) { - return nil - } - err := iter.page.Next() - if err != nil { - iter.i-- - return err - } - iter.i = 0 - return nil -} - -// NotDone returns true if the enumeration should be started or is not yet complete. -func (iter PoolListPoolUsageMetricsResultIterator) NotDone() bool { - return iter.page.NotDone() && iter.i < len(iter.page.Values()) -} - -// Response returns the raw server response from the last page request. -func (iter PoolListPoolUsageMetricsResultIterator) Response() PoolListPoolUsageMetricsResult { - return iter.page.Response() -} - -// Value returns the current value or a zero-initialized value if the -// iterator has advanced beyond the end of the collection. -func (iter PoolListPoolUsageMetricsResultIterator) Value() PoolUsageMetrics { - if !iter.page.NotDone() { - return PoolUsageMetrics{} - } - return iter.page.Values()[iter.i] -} - -// IsEmpty returns true if the ListResult contains no values. -func (plpumr PoolListPoolUsageMetricsResult) IsEmpty() bool { - return plpumr.Value == nil || len(*plpumr.Value) == 0 -} - -// poolListPoolUsageMetricsResultPreparer prepares a request to retrieve the next set of results. -// It returns nil if no more results exist. -func (plpumr PoolListPoolUsageMetricsResult) poolListPoolUsageMetricsResultPreparer() (*http.Request, error) { - if plpumr.OdataNextLink == nil || len(to.String(plpumr.OdataNextLink)) < 1 { - return nil, nil - } - return autorest.Prepare(&http.Request{}, - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(plpumr.OdataNextLink))) -} - -// PoolListPoolUsageMetricsResultPage contains a page of PoolUsageMetrics values. -type PoolListPoolUsageMetricsResultPage struct { - fn func(PoolListPoolUsageMetricsResult) (PoolListPoolUsageMetricsResult, error) - plpumr PoolListPoolUsageMetricsResult -} - -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -func (page *PoolListPoolUsageMetricsResultPage) Next() error { - next, err := page.fn(page.plpumr) - if err != nil { - return err - } - page.plpumr = next - return nil -} - -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page PoolListPoolUsageMetricsResultPage) NotDone() bool { - return !page.plpumr.IsEmpty() -} - -// Response returns the raw server response from the last page request. -func (page PoolListPoolUsageMetricsResultPage) Response() PoolListPoolUsageMetricsResult { - return page.plpumr -} - -// Values returns the slice of values for the current page or nil if there are no values. -func (page PoolListPoolUsageMetricsResultPage) Values() []PoolUsageMetrics { - if page.plpumr.IsEmpty() { - return nil - } - return *page.plpumr.Value -} - -// PoolPatchParameter parameters for a CloudPoolOperations.Patch request. -type PoolPatchParameter struct { - // StartTask - Sets a task to run on each compute node as it joins the pool. If omitted, any existing start task is left unchanged. - StartTask *StartTask `json:"startTask,omitempty"` - // CertificateReferences - Sets a list of certificates to be installed on each compute node in the pool. If omitted, any existing certificate references are left unchanged. - CertificateReferences *[]CertificateReference `json:"certificateReferences,omitempty"` - // ApplicationPackageReferences - Sets a list of application packages to be installed on each compute node in the pool. If omitted, any existing application package references are left unchanged. - ApplicationPackageReferences *[]ApplicationPackageReference `json:"applicationPackageReferences,omitempty"` - // Metadata - Sets a list of name-value pairs associated with the pool as metadata. If omitted, any existing metadata is left unchanged. - Metadata *[]MetadataItem `json:"metadata,omitempty"` -} - -// PoolResizeParameter parameters for a CloudPoolOperations.Resize request. -type PoolResizeParameter struct { - // TargetDedicated - Sets the desired number of compute nodes in the pool. - TargetDedicated *int32 `json:"targetDedicated,omitempty"` - // ResizeTimeout - Sets the timeout for allocation of compute nodes to the pool or removal of compute nodes from the pool. The default value is 10 minutes. - ResizeTimeout *string `json:"resizeTimeout,omitempty"` - // NodeDeallocationOption - Sets when nodes may be removed from the pool, if the pool size is decreasing. Possible values include: 'Requeue', 'Terminate', 'Taskcompletion', 'Retaineddata' - NodeDeallocationOption ComputeNodeDeallocationOption `json:"nodeDeallocationOption,omitempty"` -} - -// PoolSpecification specification for creating a new pool. -type PoolSpecification struct { - // DisplayName - Gets or sets the display name for the pool. - DisplayName *string `json:"displayName,omitempty"` - // VMSize - Gets or sets the size of the virtual machines in the pool. All VMs in a pool are the same size. - VMSize *string `json:"vmSize,omitempty"` - // OsFamily - Gets or sets the Azure Guest OS family to be installed on the virtual machines in the pool. - OsFamily *string `json:"osFamily,omitempty"` - // TargetOSVersion - Gets or sets the Azure Guest OS version to be installed on the virtual machines in the pool. - TargetOSVersion *string `json:"targetOSVersion,omitempty"` - // MaxTasksPerNode - Gets or sets the maximum number of tasks that can run concurrently on a single compute node in the pool. - MaxTasksPerNode *int32 `json:"maxTasksPerNode,omitempty"` - // TaskSchedulingPolicy - Gets or sets how tasks are distributed among compute nodes in the pool. - TaskSchedulingPolicy *TaskSchedulingPolicy `json:"taskSchedulingPolicy,omitempty"` - // ResizeTimeout - Gets or sets the timeout for allocation of compute nodes to the pool. - ResizeTimeout *string `json:"resizeTimeout,omitempty"` - // TargetDedicated - Gets or sets the desired number of compute nodes in the pool. - TargetDedicated *int32 `json:"targetDedicated,omitempty"` - // EnableAutoScale - Gets or sets whether the pool size should automatically adjust over time. - EnableAutoScale *bool `json:"enableAutoScale,omitempty"` - // AutoScaleFormula - Gets or sets the formula for the desired number of compute nodes in the pool. - AutoScaleFormula *string `json:"autoScaleFormula,omitempty"` - // AutoScaleEvaluationInterval - Gets or sets a time interval for the desired AutoScale evaluation period in the pool. - AutoScaleEvaluationInterval *string `json:"autoScaleEvaluationInterval,omitempty"` - // EnableInterNodeCommunication - Gets or sets whether the pool permits direct communication between nodes. - EnableInterNodeCommunication *bool `json:"enableInterNodeCommunication,omitempty"` - // StartTask - Gets or sets a task to run on each compute node as it joins the pool. The task runs when the node is added to the pool or when the node is restarted. - StartTask *StartTask `json:"startTask,omitempty"` - // CertificateReferences - Gets or sets a list of certificates to be installed on each compute node in the pool. - CertificateReferences *[]CertificateReference `json:"certificateReferences,omitempty"` - // ApplicationPackageReferences - Gets or sets the list of application packages to be installed on each compute node in the pool. - ApplicationPackageReferences *[]ApplicationPackageReference `json:"applicationPackageReferences,omitempty"` - // Metadata - Gets or sets a list of name-value pairs associated with the pool as metadata. - Metadata *[]MetadataItem `json:"metadata,omitempty"` -} - -// PoolStatistics contains utilization and resource usage statistics for the lifetime of a pool. -type PoolStatistics struct { - autorest.Response `json:"-"` - // URL - Gets or sets the URL for the statistics. - URL *string `json:"url,omitempty"` - // StartTime - Gets or sets the start time of the time range covered by the statistics. - StartTime *date.Time `json:"startTime,omitempty"` - // LastUpdateTime - Gets or sets the time at which the statistics were last updated. All statistics are limited to the range between startTime and lastUpdateTime. - LastUpdateTime *date.Time `json:"lastUpdateTime,omitempty"` - // UsageStats - Gets or sets statistics related to pool usage information, such as the amount of core-time used. - UsageStats *UsageStatistics `json:"usageStats,omitempty"` - // ResourceStats - Gets or sets statistics related to resource consumption by compute nodes in the pool. - ResourceStats *ResourceStatistics `json:"resourceStats,omitempty"` -} - -// PoolUpdatePropertiesParameter parameters for a CloudPoolOperations.UpdateProperties request. -type PoolUpdatePropertiesParameter struct { - // StartTask - Sets a task to run on each compute node as it joins the pool. If omitted, any existing start task is removed from the pool. - StartTask *StartTask `json:"startTask,omitempty"` - // CertificateReferences - Sets a list of certificates to be installed on each compute node in the pool. If you specify an empty collection, any existing certificate references are removed from the pool. - CertificateReferences *[]CertificateReference `json:"certificateReferences,omitempty"` - // ApplicationPackageReferences - Sets a list of application packages to be installed on each compute node in the pool. If you specify an empty collection, any existing application packages references are removed from the pool. - ApplicationPackageReferences *[]ApplicationPackageReference `json:"applicationPackageReferences,omitempty"` - // Metadata - Sets a list of name-value pairs associated with the pool as metadata. If you specify an empty collection, any existing metadata is removed from the pool. - Metadata *[]MetadataItem `json:"metadata,omitempty"` -} - -// PoolUpgradeOSParameter parameters for a CloudPoolOperations.UpgradeOS request. -type PoolUpgradeOSParameter struct { - // TargetOSVersion - Sets the Azure Guest OS version to be installed on the virtual machines in the pool. - TargetOSVersion *string `json:"targetOSVersion,omitempty"` -} - -// PoolUsageMetrics usage metrics for a pool across an aggregation interval. -type PoolUsageMetrics struct { - // PoolID - Gets or sets the id of the pool whose metrics are being aggregated. - PoolID *string `json:"poolId,omitempty"` - // StartTime - Gets or sets the start time of the aggregation interval. - StartTime *date.Time `json:"startTime,omitempty"` - // EndTime - Gets or sets the end time of the aggregation interval. - EndTime *date.Time `json:"endTime,omitempty"` - // VMSize - Gets or sets the size of virtual machines in the pool. All VMs in a pool are the same size. - VMSize *string `json:"vmSize,omitempty"` - // TotalCoreHours - Gets or sets the total core hours used in the pool during this aggregation interval. - TotalCoreHours *float64 `json:"totalCoreHours,omitempty"` - // DataIngressGiB - Gets or sets the cross data center network ingress in GiB to the pool during this interval. - DataIngressGiB *float64 `json:"dataIngressGiB,omitempty"` - // DataEgressGiB - Gets or sets the cross data center network egress in GiB from the pool during this interval. - DataEgressGiB *float64 `json:"dataEgressGiB,omitempty"` -} - -// ReadCloser ... -type ReadCloser struct { - autorest.Response `json:"-"` - Value *io.ReadCloser `json:"value,omitempty"` -} - -// RecentJob information about the most recent job to run under the job schedule. -type RecentJob struct { - // ID - Gets or sets the id of the job. - ID *string `json:"id,omitempty"` - // URL - Gets or sets the URL of the job. - URL *string `json:"url,omitempty"` -} - -// ResizeError an error that occurred when resizing a pool. -type ResizeError struct { - // Code - Gets or sets an identifier for the pool resize error. Codes are invariant and are intended to be consumed programmatically. - Code *string `json:"code,omitempty"` - // Message - Gets or sets a message describing the pool resize error, intended to be suitable for display in a user interface. - Message *string `json:"message,omitempty"` - // Values - Gets or sets a list of additional error details related to the pool resize error. - Values *[]NameValuePair `json:"values,omitempty"` -} - -// ResourceFile a file to be downloaded from Azure blob storage to a compute node. -type ResourceFile struct { - // BlobSource - Gets or sets the URL of a blob in Azure storage. The Batch service downloads the blob to the specified file path. The URL must be readable using anonymous access. - BlobSource *string `json:"blobSource,omitempty"` - // FilePath - Gets or sets the location on the compute node to which the file should be downloaded. - FilePath *string `json:"filePath,omitempty"` -} - -// ResourceStatistics statistics related to resource consumption by compute nodes in a pool. -type ResourceStatistics struct { - // StartTime - Gets or sets the start time of the time range covered by the statistics. - StartTime *date.Time `json:"startTime,omitempty"` - // LastUpdateTime - Gets or sets the time at which the statistics were last updated. All statistics are limited to the range between startTime and lastUpdateTime. - LastUpdateTime *date.Time `json:"lastUpdateTime,omitempty"` - // AvgCPUPercentage - Gets or sets the average CPU usage across all nodes in the pool (percentage per node). - AvgCPUPercentage *float64 `json:"avgCPUPercentage,omitempty"` - // AvgMemoryGiB - Gets or sets the average memory usage in GiB across all nodes in the pool. - AvgMemoryGiB *float64 `json:"avgMemoryGiB,omitempty"` - // PeakMemoryGiB - Gets or sets the peak memory usage in GiB across all nodes in the pool. - PeakMemoryGiB *float64 `json:"peakMemoryGiB,omitempty"` - // AvgDiskGiB - Gets or sets the average used disk space in GiB across all nodes in the pool. - AvgDiskGiB *float64 `json:"avgDiskGiB,omitempty"` - // PeakDiskGiB - Gets or sets the peak used disk space in GiB across all nodes in the pool. - PeakDiskGiB *float64 `json:"peakDiskGiB,omitempty"` - // DiskReadIOps - Gets or sets the total number of disk read operations across all nodes in the pool. - DiskReadIOps *int64 `json:"diskReadIOps,omitempty"` - // DiskWriteIOps - Gets or sets the total number of disk write operations across all nodes in the pool. - DiskWriteIOps *int64 `json:"diskWriteIOps,omitempty"` - // DiskReadGiB - Gets or sets the total amount of data in GiB of disk reads across all nodes in the pool. - DiskReadGiB *float64 `json:"diskReadGiB,omitempty"` - // DiskWriteGiB - Gets or sets the total amount of data in GiB of disk writes across all nodes in the pool. - DiskWriteGiB *float64 `json:"diskWriteGiB,omitempty"` - // NetworkReadGiB - Gets or sets the total amount of data in GiB of network reads across all nodes in the pool. - NetworkReadGiB *float64 `json:"networkReadGiB,omitempty"` - // NetworkWriteGiB - Gets or sets the total amount of data in GiB of network writes across all nodes in the pool. - NetworkWriteGiB *float64 `json:"networkWriteGiB,omitempty"` -} - -// Schedule the schedule according to which jobs will be created -type Schedule struct { - // DoNotRunUntil - Gets or sets the earliest time at which any job may be created under this job schedule. If you do not specify a doNotRunUntil time, the schedule becomes ready to create jobs immediately. - DoNotRunUntil *date.Time `json:"doNotRunUntil,omitempty"` - // DoNotRunAfter - Gets or sets a time after which no job will be created under this job schedule. The schedule will move to the completed state as soon as this deadline is past and there is no active job under this job schedule. - DoNotRunAfter *date.Time `json:"doNotRunAfter,omitempty"` - // StartWindow - Gets or sets the time interval, starting from the time at which the schedule indicates a job should be created, within which a job must be created. If a job is not created within the startWindow interval, then the 'opportunity' is lost; no job will be created until the next recurrence of the schedule. - StartWindow *string `json:"startWindow,omitempty"` - // RecurrenceInterval - Gets or sets the time interval between the start times of two successive jobs under the job schedule. A job schedule can have at most one active job under it at any given time. - RecurrenceInterval *string `json:"recurrenceInterval,omitempty"` -} - -// StartTask a task defined on a pool and run by compute nodes when they join the pool. -type StartTask struct { - // CommandLine - Gets or sets the command line of the start task. - CommandLine *string `json:"commandLine,omitempty"` - // ResourceFiles - Gets or sets a list of files that Batch will download to the compute node before running the command line. - ResourceFiles *[]ResourceFile `json:"resourceFiles,omitempty"` - // EnvironmentSettings - Gets or sets a list of environment variable settings for the start task. - EnvironmentSettings *[]EnvironmentSetting `json:"environmentSettings,omitempty"` - // RunElevated - Gets or sets whether to run the start task in elevated mode. The default value is false. - RunElevated *bool `json:"runElevated,omitempty"` - // MaxTaskRetryCount - Gets or sets the maximum number of times the task may be retried. - MaxTaskRetryCount *int32 `json:"maxTaskRetryCount,omitempty"` - // WaitForSuccess - Gets or sets whether the Batch Service should wait for the start task to complete successfully (that is, to exit with exit code 0) before scheduling any tasks on the compute node. - WaitForSuccess *bool `json:"waitForSuccess,omitempty"` -} - -// StartTaskInformation information about a start task running on a compute node. -type StartTaskInformation struct { - // State - Gets or sets the state of the start task on the compute node. Possible values include: 'StartTaskStateRunning', 'StartTaskStateCompleted' - State StartTaskState `json:"state,omitempty"` - // StartTime - Gets or sets the time at which the start task started running. - StartTime *date.Time `json:"startTime,omitempty"` - // EndTime - Gets or sets the time at which the start task stopped running. - EndTime *date.Time `json:"endTime,omitempty"` - // ExitCode - Gets or sets the exit code of the start task. - ExitCode *int32 `json:"exitCode,omitempty"` - // SchedulingError - Gets or sets any error encountered scheduling the start task. - SchedulingError *TaskSchedulingError `json:"schedulingError,omitempty"` - // RetryCount - Gets or sets the number of times the task has been retried by the Batch service. - RetryCount *int32 `json:"retryCount,omitempty"` - // LastRetryTime - Gets or sets the most recent time at which a retry of the task started running. - LastRetryTime *date.Time `json:"lastRetryTime,omitempty"` -} - -// SubtaskInformation information about an Azure Batch subtask. -type SubtaskInformation struct { - // ID - Gets or sets the id of the subtask. - ID *int32 `json:"id,omitempty"` - // NodeInfo - Gets or sets information about the compute node on which the subtask ran. - NodeInfo *ComputeNodeInformation `json:"nodeInfo,omitempty"` - // StartTime - Gets or sets the time at which the subtask started running. If the subtask has been restarted or retried, this is the most recent time at which the subtask started running. - StartTime *date.Time `json:"startTime,omitempty"` - // EndTime - Gets or sets the time at which the subtask completed. This property is set only if the subtask is in the Completed state. - EndTime *date.Time `json:"endTime,omitempty"` - // ExitCode - Gets or sets the exit code of the subtask. This property is set only if the subtask is in the Completed state. - ExitCode *int32 `json:"exitCode,omitempty"` - // SchedulingError - Gets or sets details of any error encountered scheduling the subtask. - SchedulingError *TaskSchedulingError `json:"schedulingError,omitempty"` - // State - Gets or sets the current state of the subtask. Possible values include: 'TaskStateActive', 'TaskStatePreparing', 'TaskStateRunning', 'TaskStateCompleted' - State TaskState `json:"state,omitempty"` - // StateTransitionTime - Gets or sets the time at which the subtask entered its current state. - StateTransitionTime *date.Time `json:"stateTransitionTime,omitempty"` - // PreviousState - Gets or sets the previous state of the subtask. This property is not set if the subtask is in its initial Active state. Possible values include: 'TaskStateActive', 'TaskStatePreparing', 'TaskStateRunning', 'TaskStateCompleted' - PreviousState TaskState `json:"previousState,omitempty"` - // PreviousStateTransitionTime - Gets or sets the time at which the subtask entered its previous state. This property is not set if the subtask is in its initial Active state. - PreviousStateTransitionTime *date.Time `json:"previousStateTransitionTime,omitempty"` -} - -// TaskAddParameter an Azure Batch task to add. -type TaskAddParameter struct { - // ID - Gets or sets a string that uniquely identifies the task within the job. The id can contain any combination of alphanumeric characters including hyphens and underscores, and cannot contain more than 64 characters. - ID *string `json:"id,omitempty"` - // DisplayName - Gets or sets a display name for the task. - DisplayName *string `json:"displayName,omitempty"` - // CommandLine - Gets or sets the command line of the task. For multi-instance tasks, the command line is executed on the primary subtask after all the subtasks have finished executing the coordianation command line. - CommandLine *string `json:"commandLine,omitempty"` - // ResourceFiles - Gets or sets a list of files that Batch will download to the compute node before running the command line. For multi-instance tasks, the resource files will only be downloaded to the compute node on which the primary subtask is executed. - ResourceFiles *[]ResourceFile `json:"resourceFiles,omitempty"` - // EnvironmentSettings - Gets or sets a list of environment variable settings for the task. - EnvironmentSettings *[]EnvironmentSetting `json:"environmentSettings,omitempty"` - // AffinityInfo - Gets or sets a locality hint that can be used by the Batch service to select a compute node on which to start the new task. - AffinityInfo *AffinityInformation `json:"affinityInfo,omitempty"` - // Constraints - Gets or sets the execution constraints that apply to this task. - Constraints *TaskConstraints `json:"constraints,omitempty"` - // RunElevated - Gets or sets whether to run the task in elevated mode. - RunElevated *bool `json:"runElevated,omitempty"` - // MultiInstanceSettings - Gets or sets information about how to run the multi-instance task. - MultiInstanceSettings *MultiInstanceSettings `json:"multiInstanceSettings,omitempty"` - // DependsOn - Gets or sets any dependencies this task has. - DependsOn *TaskDependencies `json:"dependsOn,omitempty"` -} - -// TaskConstraints constraints to apply to the Job Manager task. -type TaskConstraints struct { - // MaxWallClockTime - Gets or sets the maximum elapsed time that the task may run, measured from the time the task starts. If the task does not complete within the time limit, the Batch service terminates it. - MaxWallClockTime *string `json:"maxWallClockTime,omitempty"` - // RetentionTime - Gets or sets the minimum time to retain the working directory for the task on the compute node where it ran. After this time, the Batch service may delete the working directory and all its contents. The default is infinite. - RetentionTime *string `json:"retentionTime,omitempty"` - // MaxTaskRetryCount - Gets or sets the maximum number of times the task may be retried. The Batch service retries a task if its exit code is nonzero. - MaxTaskRetryCount *int32 `json:"maxTaskRetryCount,omitempty"` -} - -// TaskDependencies specifies any dependencies of a task. Any task that is explicitly specified or within a -// dependency range must complete before the dependant task will be scheduled. -type TaskDependencies struct { - // TaskIds - Gets or sets the list of task ids that must complete before this task can be scheduled. - TaskIds *[]string `json:"taskIds,omitempty"` - // TaskIDRanges - Gets or sets the list of task ranges that must complete before this task can be scheduled. - TaskIDRanges *[]TaskIDRange `json:"taskIdRanges,omitempty"` -} - -// TaskExecutionInformation information about the execution of a task. -type TaskExecutionInformation struct { - // StartTime - Gets or sets the time at which the task started running. If the task has been restarted or retried, this is the most recent time at which the task started running. - StartTime *date.Time `json:"startTime,omitempty"` - // EndTime - Gets or sets the time at which the task completed. This property is set only if the task is in the Completed state. - EndTime *date.Time `json:"endTime,omitempty"` - // ExitCode - Gets or sets the exit code of the task. This property is set only if the task is in completed state. - ExitCode *int32 `json:"exitCode,omitempty"` - // SchedulingError - Gets or sets details of any error encountered scheduling the task. - SchedulingError *TaskSchedulingError `json:"schedulingError,omitempty"` - // RetryCount - Gets or sets the number of times the task has been retried by the Batch service. - RetryCount *int32 `json:"retryCount,omitempty"` - // LastRetryTime - Gets or sets the most recent time at which a retry of the task started running. - LastRetryTime *date.Time `json:"lastRetryTime,omitempty"` - // RequeueCount - Gets or sets the number of times the task has been requeued by the Batch service as the result of a user request. - RequeueCount *int32 `json:"requeueCount,omitempty"` - // LastRequeueTime - Gets or sets the most recent time at which the task has been requeued by the Batch service as the result of a user request. - LastRequeueTime *date.Time `json:"lastRequeueTime,omitempty"` -} - -// TaskIDRange ... -type TaskIDRange struct { - // Start - Gets or sets the first task id in the range. - Start *int32 `json:"start,omitempty"` - // End - Gets or sets the last task id in the range. - End *int32 `json:"end,omitempty"` -} - -// TaskInformation information about a task running on a compute node. -type TaskInformation struct { - // TaskURL - Gets or sets the URL of the task. - TaskURL *string `json:"taskUrl,omitempty"` - // JobID - Gets or sets the id of the job to which the task belongs. - JobID *string `json:"jobId,omitempty"` - // TaskID - Gets or sets the id of the task. - TaskID *string `json:"taskId,omitempty"` - // SubtaskID - Gets or sets the id of the subtask if the task is a multi-instance task. - SubtaskID *int32 `json:"subtaskId,omitempty"` - // TaskState - Gets or sets the current state of the task. Possible values include: 'TaskStateActive', 'TaskStatePreparing', 'TaskStateRunning', 'TaskStateCompleted' - TaskState TaskState `json:"taskState,omitempty"` - // ExecutionInfo - Gets or sets information about the execution of the task. - ExecutionInfo *TaskExecutionInformation `json:"executionInfo,omitempty"` -} - -// TaskSchedulingError information about an error when scheduling a task. -type TaskSchedulingError struct { - // Category - Gets or sets the category of the task scheduling error. Possible values include: 'SchedulingErrorCategoryUsererror', 'SchedulingErrorCategoryServererror', 'SchedulingErrorCategoryUnmapped' - Category SchedulingErrorCategory `json:"category,omitempty"` - // Code - Gets or sets an identifier for the task scheduling error. Codes are invariant and are intended to be consumed programmatically. - Code *string `json:"code,omitempty"` - // Message - Gets or sets a message describing the task scheduling error, intended to be suitable for display in a user interface. - Message *string `json:"message,omitempty"` - // Details - Gets or sets the list of additional error details related to the scheduling error. - Details *[]NameValuePair `json:"details,omitempty"` -} - -// TaskSchedulingPolicy specifies how tasks should be distributed across compute nodes. -type TaskSchedulingPolicy struct { - // NodeFillType - Gets or sets how tasks should be distributed across compute nodes. Possible values include: 'ComputeNodeFillTypeSpread', 'ComputeNodeFillTypePack', 'ComputeNodeFillTypeUnmapped' - NodeFillType ComputeNodeFillType `json:"nodeFillType,omitempty"` -} - -// TaskStatistics resource usage statistics for a task. -type TaskStatistics struct { - // URL - Gets or sets the URL for the statistics. - URL *string `json:"url,omitempty"` - // StartTime - Gets or sets the start time of the time range covered by the statistics. - StartTime *date.Time `json:"startTime,omitempty"` - // LastUpdateTime - Gets or sets the time at which the statistics were last updated. All statistics are limited to the range between startTime and lastUpdateTime. - LastUpdateTime *date.Time `json:"lastUpdateTime,omitempty"` - // UserCPUTime - Gets or sets the total user mode CPU time (summed across all cores and all compute nodes) consumed by the task. - UserCPUTime *string `json:"userCPUTime,omitempty"` - // KernelCPUTime - Gets or sets the total kernel mode CPU time (summed across all cores and all compute nodes) consumed by the task. - KernelCPUTime *string `json:"kernelCPUTime,omitempty"` - // WallClockTime - Gets or sets the total wall clock time of the task. - WallClockTime *string `json:"wallClockTime,omitempty"` - // ReadIOps - Gets or sets the total number of I/O read operations performed by the task. - ReadIOps *int64 `json:"readIOps,omitempty"` - // WriteIOps - Gets or sets the total number of I/O write operations performed by the task. - WriteIOps *int64 `json:"writeIOps,omitempty"` - // ReadIOGiB - Gets or sets the total amount of data in GiB of I/O read by the task. - ReadIOGiB *float64 `json:"readIOGiB,omitempty"` - // WriteIOGiB - Gets or sets the total amount of data in GiB of I/O written by the task. - WriteIOGiB *float64 `json:"writeIOGiB,omitempty"` - // WaitTime - Gets or sets the elapsed time between the creation of the task and the start of task execution. - WaitTime *string `json:"waitTime,omitempty"` -} - -// TaskUpdateParameter parameters for a CloudTaskOperations.Update request. -type TaskUpdateParameter struct { - // Constraints - Sets constraints that apply to this task. If omitted, the task is given the default constraints. - Constraints *TaskConstraints `json:"constraints,omitempty"` -} - -// UsageStatistics statistics related to pool usage information. -type UsageStatistics struct { - // StartTime - Gets or sets the start time of the time range covered by the statistics. - StartTime *date.Time `json:"startTime,omitempty"` - // LastUpdateTime - Gets or sets the time at which the statistics were last updated. All statistics are limited to the range between startTime and lastUpdateTime. - LastUpdateTime *date.Time `json:"lastUpdateTime,omitempty"` - // DedicatedCoreTime - Gets or sets the aggregated wall-clock time of the dedicated compute node cores being part of the pool. - DedicatedCoreTime *string `json:"dedicatedCoreTime,omitempty"` -} diff --git a/services/batch/2015-12-01.2.2/batch/pool.go b/services/batch/2015-12-01.2.2/batch/pool.go deleted file mode 100644 index 7c8de2397578..000000000000 --- a/services/batch/2015-12-01.2.2/batch/pool.go +++ /dev/null @@ -1,1734 +0,0 @@ -package batch - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/autorest/date" - "github.com/Azure/go-autorest/autorest/validation" - "net/http" -) - -// PoolClient is the a client for issuing REST requests to the Azure Batch service. -type PoolClient struct { - BaseClient -} - -// NewPoolClient creates an instance of the PoolClient client. -func NewPoolClient() PoolClient { - return NewPoolClientWithBaseURI(DefaultBaseURI) -} - -// NewPoolClientWithBaseURI creates an instance of the PoolClient client. -func NewPoolClientWithBaseURI(baseURI string) PoolClient { - return PoolClient{NewWithBaseURI(baseURI)} -} - -// Add adds a pool to the specified account. -// -// pool is specifies the pool to be added. timeout is sets the maximum time that the server can spend processing -// the request, in seconds. The default is 30 seconds. clientRequestID is caller generated request identity, in the -// form of a GUID with no decoration such as curly braces e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. -// returnClientRequestID is specifies if the server should return the client-request-id identifier in the response. -// ocpDate is the time the request was issued. If not specified, this header will be automatically populated with -// the current system clock time. -func (client PoolClient) Add(ctx context.Context, pool PoolAddParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: pool, - Constraints: []validation.Constraint{{Target: "pool.ID", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "pool.VMSize", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "pool.OsFamily", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { - return result, validation.NewError("batch.PoolClient", "Add", err.Error()) - } - - req, err := client.AddPreparer(ctx, pool, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Add", nil, "Failure preparing request") - return - } - - resp, err := client.AddSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Add", resp, "Failure sending request") - return - } - - result, err = client.AddResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Add", resp, "Failure responding to request") - } - - return -} - -// AddPreparer prepares the Add request. -func (client PoolClient) AddPreparer(ctx context.Context, pool PoolAddParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - const APIVersion = "2015-12-01.2.2" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsJSON(), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPath("/pools"), - autorest.WithJSON(pool), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// AddSender sends the Add request. The method will close the -// http.Response Body if it receives an error. -func (client PoolClient) AddSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// AddResponder handles the response to the Add request. The method always -// closes the http.Response Body. -func (client PoolClient) AddResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), - autorest.ByClosing()) - result.Response = resp - return -} - -// Delete deletes a pool from the specified account. -// -// poolID is the id of the pool to delete. timeout is sets the maximum time that the server can spend processing -// the request, in seconds. The default is 30 seconds. clientRequestID is caller generated request identity, in the -// form of a GUID with no decoration such as curly braces e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. -// returnClientRequestID is specifies if the server should return the client-request-id identifier in the response. -// ocpDate is the time the request was issued. If not specified, this header will be automatically populated with -// the current system clock time. ifMatch is an ETag is specified. Specify this header to perform the operation -// only if the resource's ETag is an exact match as specified. ifNoneMatch is an ETag is specified. Specify this -// header to perform the operation only if the resource's ETag does not match the specified ETag. ifModifiedSince -// is specify this header to perform the operation only if the resource has been modified since the specified -// date/time. ifUnmodifiedSince is specify this header to perform the operation only if the resource has not been -// modified since the specified date/time. -func (client PoolClient) Delete(ctx context.Context, poolID string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.DeletePreparer(ctx, poolID, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Delete", nil, "Failure preparing request") - return - } - - resp, err := client.DeleteSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Delete", resp, "Failure sending request") - return - } - - result, err = client.DeleteResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Delete", resp, "Failure responding to request") - } - - return -} - -// DeletePreparer prepares the Delete request. -func (client PoolClient) DeletePreparer(ctx context.Context, poolID string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2015-12-01.2.2" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsDelete(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DeleteSender sends the Delete request. The method will close the -// http.Response Body if it receives an error. -func (client PoolClient) DeleteSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// DeleteResponder handles the response to the Delete request. The method always -// closes the http.Response Body. -func (client PoolClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByClosing()) - result.Response = resp - return -} - -// DisableAutoScale disables automatic scaling for a pool. -// -// poolID is the id of the pool on which to disable automatic scaling. timeout is sets the maximum time that the -// server can spend processing the request, in seconds. The default is 30 seconds. clientRequestID is caller -// generated request identity, in the form of a GUID with no decoration such as curly braces e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is specifies if the server should return the -// client-request-id identifier in the response. ocpDate is the time the request was issued. If not specified, this -// header will be automatically populated with the current system clock time. -func (client PoolClient) DisableAutoScale(ctx context.Context, poolID string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.DisableAutoScalePreparer(ctx, poolID, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "DisableAutoScale", nil, "Failure preparing request") - return - } - - resp, err := client.DisableAutoScaleSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.PoolClient", "DisableAutoScale", resp, "Failure sending request") - return - } - - result, err = client.DisableAutoScaleResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "DisableAutoScale", resp, "Failure responding to request") - } - - return -} - -// DisableAutoScalePreparer prepares the DisableAutoScale request. -func (client PoolClient) DisableAutoScalePreparer(ctx context.Context, poolID string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2015-12-01.2.2" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/disableautoscale", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DisableAutoScaleSender sends the DisableAutoScale request. The method will close the -// http.Response Body if it receives an error. -func (client PoolClient) DisableAutoScaleSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// DisableAutoScaleResponder handles the response to the DisableAutoScale request. The method always -// closes the http.Response Body. -func (client PoolClient) DisableAutoScaleResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} - -// EnableAutoScale enables automatic scaling for a pool. -// -// poolID is the id of the pool on which to enable automatic scaling. poolEnableAutoScaleParameter is the -// parameters for the request. timeout is sets the maximum time that the server can spend processing the request, -// in seconds. The default is 30 seconds. clientRequestID is caller generated request identity, in the form of a -// GUID with no decoration such as curly braces e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is -// specifies if the server should return the client-request-id identifier in the response. ocpDate is the time the -// request was issued. If not specified, this header will be automatically populated with the current system clock -// time. ifMatch is an ETag is specified. Specify this header to perform the operation only if the resource's ETag -// is an exact match as specified. ifNoneMatch is an ETag is specified. Specify this header to perform the -// operation only if the resource's ETag does not match the specified ETag. ifModifiedSince is specify this header -// to perform the operation only if the resource has been modified since the specified date/time. ifUnmodifiedSince -// is specify this header to perform the operation only if the resource has not been modified since the specified -// date/time. -func (client PoolClient) EnableAutoScale(ctx context.Context, poolID string, poolEnableAutoScaleParameter PoolEnableAutoScaleParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.EnableAutoScalePreparer(ctx, poolID, poolEnableAutoScaleParameter, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "EnableAutoScale", nil, "Failure preparing request") - return - } - - resp, err := client.EnableAutoScaleSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.PoolClient", "EnableAutoScale", resp, "Failure sending request") - return - } - - result, err = client.EnableAutoScaleResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "EnableAutoScale", resp, "Failure responding to request") - } - - return -} - -// EnableAutoScalePreparer prepares the EnableAutoScale request. -func (client PoolClient) EnableAutoScalePreparer(ctx context.Context, poolID string, poolEnableAutoScaleParameter PoolEnableAutoScaleParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2015-12-01.2.2" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsJSON(), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/enableautoscale", pathParameters), - autorest.WithJSON(poolEnableAutoScaleParameter), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// EnableAutoScaleSender sends the EnableAutoScale request. The method will close the -// http.Response Body if it receives an error. -func (client PoolClient) EnableAutoScaleSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// EnableAutoScaleResponder handles the response to the EnableAutoScale request. The method always -// closes the http.Response Body. -func (client PoolClient) EnableAutoScaleResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} - -// EvaluateAutoScale gets the result of evaluating an automatic scaling formula on the pool. -// -// poolID is the id of the pool on which to evaluate the automatic scaling formula. poolEvaluateAutoScaleParameter -// is the parameters for the request. timeout is sets the maximum time that the server can spend processing the -// request, in seconds. The default is 30 seconds. clientRequestID is caller generated request identity, in the -// form of a GUID with no decoration such as curly braces e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. -// returnClientRequestID is specifies if the server should return the client-request-id identifier in the response. -// ocpDate is the time the request was issued. If not specified, this header will be automatically populated with -// the current system clock time. -func (client PoolClient) EvaluateAutoScale(ctx context.Context, poolID string, poolEvaluateAutoScaleParameter PoolEvaluateAutoScaleParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result AutoScaleRun, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: poolEvaluateAutoScaleParameter, - Constraints: []validation.Constraint{{Target: "poolEvaluateAutoScaleParameter.AutoScaleFormula", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { - return result, validation.NewError("batch.PoolClient", "EvaluateAutoScale", err.Error()) - } - - req, err := client.EvaluateAutoScalePreparer(ctx, poolID, poolEvaluateAutoScaleParameter, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "EvaluateAutoScale", nil, "Failure preparing request") - return - } - - resp, err := client.EvaluateAutoScaleSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.PoolClient", "EvaluateAutoScale", resp, "Failure sending request") - return - } - - result, err = client.EvaluateAutoScaleResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "EvaluateAutoScale", resp, "Failure responding to request") - } - - return -} - -// EvaluateAutoScalePreparer prepares the EvaluateAutoScale request. -func (client PoolClient) EvaluateAutoScalePreparer(ctx context.Context, poolID string, poolEvaluateAutoScaleParameter PoolEvaluateAutoScaleParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2015-12-01.2.2" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsJSON(), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/evaluateautoscale", pathParameters), - autorest.WithJSON(poolEvaluateAutoScaleParameter), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// EvaluateAutoScaleSender sends the EvaluateAutoScale request. The method will close the -// http.Response Body if it receives an error. -func (client PoolClient) EvaluateAutoScaleSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// EvaluateAutoScaleResponder handles the response to the EvaluateAutoScale request. The method always -// closes the http.Response Body. -func (client PoolClient) EvaluateAutoScaleResponder(resp *http.Response) (result AutoScaleRun, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// Exists gets basic properties of a pool. -// -// poolID is the id of the pool to get. selectParameter is sets an OData $select clause. timeout is sets the -// maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. -// clientRequestID is caller generated request identity, in the form of a GUID with no decoration such as curly -// braces e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is specifies if the server should return -// the client-request-id identifier in the response. ocpDate is the time the request was issued. If not specified, -// this header will be automatically populated with the current system clock time. ifMatch is an ETag is specified. -// Specify this header to perform the operation only if the resource's ETag is an exact match as specified. -// ifNoneMatch is an ETag is specified. Specify this header to perform the operation only if the resource's ETag -// does not match the specified ETag. ifModifiedSince is specify this header to perform the operation only if the -// resource has been modified since the specified date/time. ifUnmodifiedSince is specify this header to perform -// the operation only if the resource has not been modified since the specified date/time. -func (client PoolClient) Exists(ctx context.Context, poolID string, selectParameter string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.ExistsPreparer(ctx, poolID, selectParameter, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Exists", nil, "Failure preparing request") - return - } - - resp, err := client.ExistsSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Exists", resp, "Failure sending request") - return - } - - result, err = client.ExistsResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Exists", resp, "Failure responding to request") - } - - return -} - -// ExistsPreparer prepares the Exists request. -func (client PoolClient) ExistsPreparer(ctx context.Context, poolID string, selectParameter string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2015-12-01.2.2" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(selectParameter) > 0 { - queryParameters["$select"] = autorest.Encode("query", selectParameter) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsHead(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ExistsSender sends the Exists request. The method will close the -// http.Response Body if it receives an error. -func (client PoolClient) ExistsSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ExistsResponder handles the response to the Exists request. The method always -// closes the http.Response Body. -func (client PoolClient) ExistsResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), - autorest.ByClosing()) - result.Response = resp - return -} - -// Get gets information about the specified pool. -// -// poolID is the id of the pool to get. selectParameter is sets an OData $select clause. expand is sets an OData -// $expand clause. timeout is sets the maximum time that the server can spend processing the request, in seconds. -// The default is 30 seconds. clientRequestID is caller generated request identity, in the form of a GUID with no -// decoration such as curly braces e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is specifies if -// the server should return the client-request-id identifier in the response. ocpDate is the time the request was -// issued. If not specified, this header will be automatically populated with the current system clock time. -// ifMatch is an ETag is specified. Specify this header to perform the operation only if the resource's ETag is an -// exact match as specified. ifNoneMatch is an ETag is specified. Specify this header to perform the operation only -// if the resource's ETag does not match the specified ETag. ifModifiedSince is specify this header to perform the -// operation only if the resource has been modified since the specified date/time. ifUnmodifiedSince is specify -// this header to perform the operation only if the resource has not been modified since the specified date/time. -func (client PoolClient) Get(ctx context.Context, poolID string, selectParameter string, expand string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result CloudPool, err error) { - req, err := client.GetPreparer(ctx, poolID, selectParameter, expand, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Get", nil, "Failure preparing request") - return - } - - resp, err := client.GetSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Get", resp, "Failure sending request") - return - } - - result, err = client.GetResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Get", resp, "Failure responding to request") - } - - return -} - -// GetPreparer prepares the Get request. -func (client PoolClient) GetPreparer(ctx context.Context, poolID string, selectParameter string, expand string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2015-12-01.2.2" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(selectParameter) > 0 { - queryParameters["$select"] = autorest.Encode("query", selectParameter) - } - if len(expand) > 0 { - queryParameters["$expand"] = autorest.Encode("query", expand) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetSender sends the Get request. The method will close the -// http.Response Body if it receives an error. -func (client PoolClient) GetSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// GetResponder handles the response to the Get request. The method always -// closes the http.Response Body. -func (client PoolClient) GetResponder(resp *http.Response) (result CloudPool, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// GetAllPoolsLifetimeStatistics gets lifetime summary statistics for all of the pools in the specified account. -// Statistics are aggregated across all pools that have ever existed in the account, from account creation to the last -// update time of the statistics. -// -// timeout is sets the maximum time that the server can spend processing the request, in seconds. The default is 30 -// seconds. clientRequestID is caller generated request identity, in the form of a GUID with no decoration such as -// curly braces e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is specifies if the server should -// return the client-request-id identifier in the response. ocpDate is the time the request was issued. If not -// specified, this header will be automatically populated with the current system clock time. -func (client PoolClient) GetAllPoolsLifetimeStatistics(ctx context.Context, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result PoolStatistics, err error) { - req, err := client.GetAllPoolsLifetimeStatisticsPreparer(ctx, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "GetAllPoolsLifetimeStatistics", nil, "Failure preparing request") - return - } - - resp, err := client.GetAllPoolsLifetimeStatisticsSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.PoolClient", "GetAllPoolsLifetimeStatistics", resp, "Failure sending request") - return - } - - result, err = client.GetAllPoolsLifetimeStatisticsResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "GetAllPoolsLifetimeStatistics", resp, "Failure responding to request") - } - - return -} - -// GetAllPoolsLifetimeStatisticsPreparer prepares the GetAllPoolsLifetimeStatistics request. -func (client PoolClient) GetAllPoolsLifetimeStatisticsPreparer(ctx context.Context, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - const APIVersion = "2015-12-01.2.2" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPath("/lifetimepoolstats"), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetAllPoolsLifetimeStatisticsSender sends the GetAllPoolsLifetimeStatistics request. The method will close the -// http.Response Body if it receives an error. -func (client PoolClient) GetAllPoolsLifetimeStatisticsSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// GetAllPoolsLifetimeStatisticsResponder handles the response to the GetAllPoolsLifetimeStatistics request. The method always -// closes the http.Response Body. -func (client PoolClient) GetAllPoolsLifetimeStatisticsResponder(resp *http.Response) (result PoolStatistics, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// List lists all of the pools in the specified account. -// -// filter is sets an OData $filter clause. selectParameter is sets an OData $select clause. expand is sets an OData -// $expand clause. maxResults is sets the maximum number of items to return in the response. timeout is sets the -// maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. -// clientRequestID is caller generated request identity, in the form of a GUID with no decoration such as curly -// braces e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is specifies if the server should return -// the client-request-id identifier in the response. ocpDate is the time the request was issued. If not specified, -// this header will be automatically populated with the current system clock time. -func (client PoolClient) List(ctx context.Context, filter string, selectParameter string, expand string, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result CloudPoolListResultPage, err error) { - result.fn = client.listNextResults - req, err := client.ListPreparer(ctx, filter, selectParameter, expand, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "List", nil, "Failure preparing request") - return - } - - resp, err := client.ListSender(req) - if err != nil { - result.cplr.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.PoolClient", "List", resp, "Failure sending request") - return - } - - result.cplr, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "List", resp, "Failure responding to request") - } - - return -} - -// ListPreparer prepares the List request. -func (client PoolClient) ListPreparer(ctx context.Context, filter string, selectParameter string, expand string, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - const APIVersion = "2015-12-01.2.2" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(filter) > 0 { - queryParameters["$filter"] = autorest.Encode("query", filter) - } - if len(selectParameter) > 0 { - queryParameters["$select"] = autorest.Encode("query", selectParameter) - } - if len(expand) > 0 { - queryParameters["$expand"] = autorest.Encode("query", expand) - } - if maxResults != nil { - queryParameters["maxresults"] = autorest.Encode("query", *maxResults) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPath("/pools"), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListSender sends the List request. The method will close the -// http.Response Body if it receives an error. -func (client PoolClient) ListSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ListResponder handles the response to the List request. The method always -// closes the http.Response Body. -func (client PoolClient) ListResponder(resp *http.Response) (result CloudPoolListResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listNextResults retrieves the next set of results, if any. -func (client PoolClient) listNextResults(lastResults CloudPoolListResult) (result CloudPoolListResult, err error) { - req, err := lastResults.cloudPoolListResultPreparer() - if err != nil { - return result, autorest.NewErrorWithError(err, "batch.PoolClient", "listNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "batch.PoolClient", "listNextResults", resp, "Failure sending next results request") - } - result, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "listNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListComplete enumerates all values, automatically crossing page boundaries as required. -func (client PoolClient) ListComplete(ctx context.Context, filter string, selectParameter string, expand string, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result CloudPoolListResultIterator, err error) { - result.page, err = client.List(ctx, filter, selectParameter, expand, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - return -} - -// ListPoolUsageMetrics lists the usage metrics, aggregated by pool across individual time intervals, for the specified -// account. -// -// startTime is the earliest time from which to include metrics. This must be at least two and a half hours before -// the current time. endTime is the latest time from which to include metrics. This must be at least two hours -// before the current time. filter is sets an OData $filter clause. maxResults is sets the maximum number of items -// to return in the response. timeout is sets the maximum time that the server can spend processing the request, in -// seconds. The default is 30 seconds. clientRequestID is caller generated request identity, in the form of a GUID -// with no decoration such as curly braces e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is -// specifies if the server should return the client-request-id identifier in the response. ocpDate is the time the -// request was issued. If not specified, this header will be automatically populated with the current system clock -// time. -func (client PoolClient) ListPoolUsageMetrics(ctx context.Context, startTime *date.Time, endTime *date.Time, filter string, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result PoolListPoolUsageMetricsResultPage, err error) { - result.fn = client.listPoolUsageMetricsNextResults - req, err := client.ListPoolUsageMetricsPreparer(ctx, startTime, endTime, filter, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "ListPoolUsageMetrics", nil, "Failure preparing request") - return - } - - resp, err := client.ListPoolUsageMetricsSender(req) - if err != nil { - result.plpumr.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.PoolClient", "ListPoolUsageMetrics", resp, "Failure sending request") - return - } - - result.plpumr, err = client.ListPoolUsageMetricsResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "ListPoolUsageMetrics", resp, "Failure responding to request") - } - - return -} - -// ListPoolUsageMetricsPreparer prepares the ListPoolUsageMetrics request. -func (client PoolClient) ListPoolUsageMetricsPreparer(ctx context.Context, startTime *date.Time, endTime *date.Time, filter string, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - const APIVersion = "2015-12-01.2.2" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if startTime != nil { - queryParameters["starttime"] = autorest.Encode("query", *startTime) - } - if endTime != nil { - queryParameters["endtime"] = autorest.Encode("query", *endTime) - } - if len(filter) > 0 { - queryParameters["$filter"] = autorest.Encode("query", filter) - } - if maxResults != nil { - queryParameters["maxresults"] = autorest.Encode("query", *maxResults) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPath("/poolusagemetrics"), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListPoolUsageMetricsSender sends the ListPoolUsageMetrics request. The method will close the -// http.Response Body if it receives an error. -func (client PoolClient) ListPoolUsageMetricsSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ListPoolUsageMetricsResponder handles the response to the ListPoolUsageMetrics request. The method always -// closes the http.Response Body. -func (client PoolClient) ListPoolUsageMetricsResponder(resp *http.Response) (result PoolListPoolUsageMetricsResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listPoolUsageMetricsNextResults retrieves the next set of results, if any. -func (client PoolClient) listPoolUsageMetricsNextResults(lastResults PoolListPoolUsageMetricsResult) (result PoolListPoolUsageMetricsResult, err error) { - req, err := lastResults.poolListPoolUsageMetricsResultPreparer() - if err != nil { - return result, autorest.NewErrorWithError(err, "batch.PoolClient", "listPoolUsageMetricsNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListPoolUsageMetricsSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "batch.PoolClient", "listPoolUsageMetricsNextResults", resp, "Failure sending next results request") - } - result, err = client.ListPoolUsageMetricsResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "listPoolUsageMetricsNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListPoolUsageMetricsComplete enumerates all values, automatically crossing page boundaries as required. -func (client PoolClient) ListPoolUsageMetricsComplete(ctx context.Context, startTime *date.Time, endTime *date.Time, filter string, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result PoolListPoolUsageMetricsResultIterator, err error) { - result.page, err = client.ListPoolUsageMetrics(ctx, startTime, endTime, filter, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - return -} - -// Patch updates the properties of a pool. -// -// poolID is the id of the pool to update. poolPatchParameter is the parameters for the request. timeout is sets -// the maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. -// clientRequestID is caller generated request identity, in the form of a GUID with no decoration such as curly -// braces e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is specifies if the server should return -// the client-request-id identifier in the response. ocpDate is the time the request was issued. If not specified, -// this header will be automatically populated with the current system clock time. ifMatch is an ETag is specified. -// Specify this header to perform the operation only if the resource's ETag is an exact match as specified. -// ifNoneMatch is an ETag is specified. Specify this header to perform the operation only if the resource's ETag -// does not match the specified ETag. ifModifiedSince is specify this header to perform the operation only if the -// resource has been modified since the specified date/time. ifUnmodifiedSince is specify this header to perform -// the operation only if the resource has not been modified since the specified date/time. -func (client PoolClient) Patch(ctx context.Context, poolID string, poolPatchParameter PoolPatchParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.PatchPreparer(ctx, poolID, poolPatchParameter, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Patch", nil, "Failure preparing request") - return - } - - resp, err := client.PatchSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Patch", resp, "Failure sending request") - return - } - - result, err = client.PatchResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Patch", resp, "Failure responding to request") - } - - return -} - -// PatchPreparer prepares the Patch request. -func (client PoolClient) PatchPreparer(ctx context.Context, poolID string, poolPatchParameter PoolPatchParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2015-12-01.2.2" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsJSON(), - autorest.AsPatch(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}", pathParameters), - autorest.WithJSON(poolPatchParameter), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// PatchSender sends the Patch request. The method will close the -// http.Response Body if it receives an error. -func (client PoolClient) PatchSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// PatchResponder handles the response to the Patch request. The method always -// closes the http.Response Body. -func (client PoolClient) PatchResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} - -// RemoveNodes removes compute nodes from the specified pool. -// -// poolID is the id of the pool from which you want to remove nodes. nodeRemoveParameter is the parameters for the -// request. timeout is sets the maximum time that the server can spend processing the request, in seconds. The -// default is 30 seconds. clientRequestID is caller generated request identity, in the form of a GUID with no -// decoration such as curly braces e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is specifies if -// the server should return the client-request-id identifier in the response. ocpDate is the time the request was -// issued. If not specified, this header will be automatically populated with the current system clock time. -// ifMatch is an ETag is specified. Specify this header to perform the operation only if the resource's ETag is an -// exact match as specified. ifNoneMatch is an ETag is specified. Specify this header to perform the operation only -// if the resource's ETag does not match the specified ETag. ifModifiedSince is specify this header to perform the -// operation only if the resource has been modified since the specified date/time. ifUnmodifiedSince is specify -// this header to perform the operation only if the resource has not been modified since the specified date/time. -func (client PoolClient) RemoveNodes(ctx context.Context, poolID string, nodeRemoveParameter NodeRemoveParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: nodeRemoveParameter, - Constraints: []validation.Constraint{{Target: "nodeRemoveParameter.NodeList", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { - return result, validation.NewError("batch.PoolClient", "RemoveNodes", err.Error()) - } - - req, err := client.RemoveNodesPreparer(ctx, poolID, nodeRemoveParameter, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "RemoveNodes", nil, "Failure preparing request") - return - } - - resp, err := client.RemoveNodesSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.PoolClient", "RemoveNodes", resp, "Failure sending request") - return - } - - result, err = client.RemoveNodesResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "RemoveNodes", resp, "Failure responding to request") - } - - return -} - -// RemoveNodesPreparer prepares the RemoveNodes request. -func (client PoolClient) RemoveNodesPreparer(ctx context.Context, poolID string, nodeRemoveParameter NodeRemoveParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2015-12-01.2.2" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsJSON(), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/removenodes", pathParameters), - autorest.WithJSON(nodeRemoveParameter), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// RemoveNodesSender sends the RemoveNodes request. The method will close the -// http.Response Body if it receives an error. -func (client PoolClient) RemoveNodesSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// RemoveNodesResponder handles the response to the RemoveNodes request. The method always -// closes the http.Response Body. -func (client PoolClient) RemoveNodesResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByClosing()) - result.Response = resp - return -} - -// Resize changes the number of compute nodes that are assigned to a pool. -// -// poolID is the id of the pool to resize. poolResizeParameter is the parameters for the request. timeout is sets -// the maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. -// clientRequestID is caller generated request identity, in the form of a GUID with no decoration such as curly -// braces e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is specifies if the server should return -// the client-request-id identifier in the response. ocpDate is the time the request was issued. If not specified, -// this header will be automatically populated with the current system clock time. ifMatch is an ETag is specified. -// Specify this header to perform the operation only if the resource's ETag is an exact match as specified. -// ifNoneMatch is an ETag is specified. Specify this header to perform the operation only if the resource's ETag -// does not match the specified ETag. ifModifiedSince is specify this header to perform the operation only if the -// resource has been modified since the specified date/time. ifUnmodifiedSince is specify this header to perform -// the operation only if the resource has not been modified since the specified date/time. -func (client PoolClient) Resize(ctx context.Context, poolID string, poolResizeParameter PoolResizeParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: poolResizeParameter, - Constraints: []validation.Constraint{{Target: "poolResizeParameter.TargetDedicated", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { - return result, validation.NewError("batch.PoolClient", "Resize", err.Error()) - } - - req, err := client.ResizePreparer(ctx, poolID, poolResizeParameter, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Resize", nil, "Failure preparing request") - return - } - - resp, err := client.ResizeSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Resize", resp, "Failure sending request") - return - } - - result, err = client.ResizeResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Resize", resp, "Failure responding to request") - } - - return -} - -// ResizePreparer prepares the Resize request. -func (client PoolClient) ResizePreparer(ctx context.Context, poolID string, poolResizeParameter PoolResizeParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2015-12-01.2.2" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsJSON(), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/resize", pathParameters), - autorest.WithJSON(poolResizeParameter), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ResizeSender sends the Resize request. The method will close the -// http.Response Body if it receives an error. -func (client PoolClient) ResizeSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ResizeResponder handles the response to the Resize request. The method always -// closes the http.Response Body. -func (client PoolClient) ResizeResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByClosing()) - result.Response = resp - return -} - -// StopResize stops an ongoing resize operation on the pool. This does not restore the pool to its previous state -// before the resize operation: it only stops any further changes being made, and the pool maintains its current state. -// -// poolID is the id of the pool whose resizing you want to stop. timeout is sets the maximum time that the server -// can spend processing the request, in seconds. The default is 30 seconds. clientRequestID is caller generated -// request identity, in the form of a GUID with no decoration such as curly braces e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is specifies if the server should return the -// client-request-id identifier in the response. ocpDate is the time the request was issued. If not specified, this -// header will be automatically populated with the current system clock time. ifMatch is an ETag is specified. -// Specify this header to perform the operation only if the resource's ETag is an exact match as specified. -// ifNoneMatch is an ETag is specified. Specify this header to perform the operation only if the resource's ETag -// does not match the specified ETag. ifModifiedSince is specify this header to perform the operation only if the -// resource has been modified since the specified date/time. ifUnmodifiedSince is specify this header to perform -// the operation only if the resource has not been modified since the specified date/time. -func (client PoolClient) StopResize(ctx context.Context, poolID string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.StopResizePreparer(ctx, poolID, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "StopResize", nil, "Failure preparing request") - return - } - - resp, err := client.StopResizeSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.PoolClient", "StopResize", resp, "Failure sending request") - return - } - - result, err = client.StopResizeResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "StopResize", resp, "Failure responding to request") - } - - return -} - -// StopResizePreparer prepares the StopResize request. -func (client PoolClient) StopResizePreparer(ctx context.Context, poolID string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2015-12-01.2.2" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/stopresize", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// StopResizeSender sends the StopResize request. The method will close the -// http.Response Body if it receives an error. -func (client PoolClient) StopResizeSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// StopResizeResponder handles the response to the StopResize request. The method always -// closes the http.Response Body. -func (client PoolClient) StopResizeResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByClosing()) - result.Response = resp - return -} - -// UpdateProperties updates the properties of a pool. -// -// poolID is the id of the pool to update. poolUpdatePropertiesParameter is the parameters for the request. timeout -// is sets the maximum time that the server can spend processing the request, in seconds. The default is 30 -// seconds. clientRequestID is caller generated request identity, in the form of a GUID with no decoration such as -// curly braces e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is specifies if the server should -// return the client-request-id identifier in the response. ocpDate is the time the request was issued. If not -// specified, this header will be automatically populated with the current system clock time. -func (client PoolClient) UpdateProperties(ctx context.Context, poolID string, poolUpdatePropertiesParameter PoolUpdatePropertiesParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: poolUpdatePropertiesParameter, - Constraints: []validation.Constraint{{Target: "poolUpdatePropertiesParameter.CertificateReferences", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "poolUpdatePropertiesParameter.ApplicationPackageReferences", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "poolUpdatePropertiesParameter.Metadata", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { - return result, validation.NewError("batch.PoolClient", "UpdateProperties", err.Error()) - } - - req, err := client.UpdatePropertiesPreparer(ctx, poolID, poolUpdatePropertiesParameter, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "UpdateProperties", nil, "Failure preparing request") - return - } - - resp, err := client.UpdatePropertiesSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.PoolClient", "UpdateProperties", resp, "Failure sending request") - return - } - - result, err = client.UpdatePropertiesResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "UpdateProperties", resp, "Failure responding to request") - } - - return -} - -// UpdatePropertiesPreparer prepares the UpdateProperties request. -func (client PoolClient) UpdatePropertiesPreparer(ctx context.Context, poolID string, poolUpdatePropertiesParameter PoolUpdatePropertiesParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2015-12-01.2.2" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsJSON(), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/updateproperties", pathParameters), - autorest.WithJSON(poolUpdatePropertiesParameter), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// UpdatePropertiesSender sends the UpdateProperties request. The method will close the -// http.Response Body if it receives an error. -func (client PoolClient) UpdatePropertiesSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// UpdatePropertiesResponder handles the response to the UpdateProperties request. The method always -// closes the http.Response Body. -func (client PoolClient) UpdatePropertiesResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), - autorest.ByClosing()) - result.Response = resp - return -} - -// UpgradeOS upgrades the operating system of the specified pool. -// -// poolID is the id of the pool to upgrade. poolUpgradeOSParameter is the parameters for the request. timeout is -// sets the maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. -// clientRequestID is caller generated request identity, in the form of a GUID with no decoration such as curly -// braces e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is specifies if the server should return -// the client-request-id identifier in the response. ocpDate is the time the request was issued. If not specified, -// this header will be automatically populated with the current system clock time. ifMatch is an ETag is specified. -// Specify this header to perform the operation only if the resource's ETag is an exact match as specified. -// ifNoneMatch is an ETag is specified. Specify this header to perform the operation only if the resource's ETag -// does not match the specified ETag. ifModifiedSince is specify this header to perform the operation only if the -// resource has been modified since the specified date/time. ifUnmodifiedSince is specify this header to perform -// the operation only if the resource has not been modified since the specified date/time. -func (client PoolClient) UpgradeOS(ctx context.Context, poolID string, poolUpgradeOSParameter PoolUpgradeOSParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: poolUpgradeOSParameter, - Constraints: []validation.Constraint{{Target: "poolUpgradeOSParameter.TargetOSVersion", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { - return result, validation.NewError("batch.PoolClient", "UpgradeOS", err.Error()) - } - - req, err := client.UpgradeOSPreparer(ctx, poolID, poolUpgradeOSParameter, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "UpgradeOS", nil, "Failure preparing request") - return - } - - resp, err := client.UpgradeOSSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.PoolClient", "UpgradeOS", resp, "Failure sending request") - return - } - - result, err = client.UpgradeOSResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "UpgradeOS", resp, "Failure responding to request") - } - - return -} - -// UpgradeOSPreparer prepares the UpgradeOS request. -func (client PoolClient) UpgradeOSPreparer(ctx context.Context, poolID string, poolUpgradeOSParameter PoolUpgradeOSParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2015-12-01.2.2" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsJSON(), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/upgradeos", pathParameters), - autorest.WithJSON(poolUpgradeOSParameter), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// UpgradeOSSender sends the UpgradeOS request. The method will close the -// http.Response Body if it receives an error. -func (client PoolClient) UpgradeOSSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// UpgradeOSResponder handles the response to the UpgradeOS request. The method always -// closes the http.Response Body. -func (client PoolClient) UpgradeOSResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByClosing()) - result.Response = resp - return -} diff --git a/services/batch/2015-12-01.2.2/batch/task.go b/services/batch/2015-12-01.2.2/batch/task.go deleted file mode 100644 index 16ee482579bd..000000000000 --- a/services/batch/2015-12-01.2.2/batch/task.go +++ /dev/null @@ -1,794 +0,0 @@ -package batch - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/autorest/date" - "github.com/Azure/go-autorest/autorest/validation" - "net/http" -) - -// TaskClient is the a client for issuing REST requests to the Azure Batch service. -type TaskClient struct { - BaseClient -} - -// NewTaskClient creates an instance of the TaskClient client. -func NewTaskClient() TaskClient { - return NewTaskClientWithBaseURI(DefaultBaseURI) -} - -// NewTaskClientWithBaseURI creates an instance of the TaskClient client. -func NewTaskClientWithBaseURI(baseURI string) TaskClient { - return TaskClient{NewWithBaseURI(baseURI)} -} - -// Add adds a task to the specified job. -// -// jobID is the id of the job to which the task is to be added. task is specifies the task to be added. timeout is -// sets the maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. -// clientRequestID is caller generated request identity, in the form of a GUID with no decoration such as curly -// braces e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is specifies if the server should return -// the client-request-id identifier in the response. ocpDate is the time the request was issued. If not specified, -// this header will be automatically populated with the current system clock time. -func (client TaskClient) Add(ctx context.Context, jobID string, task TaskAddParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: task, - Constraints: []validation.Constraint{{Target: "task.ID", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "task.CommandLine", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "task.MultiInstanceSettings", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "task.MultiInstanceSettings.NumberOfInstances", Name: validation.Null, Rule: true, Chain: nil}}}}}}); err != nil { - return result, validation.NewError("batch.TaskClient", "Add", err.Error()) - } - - req, err := client.AddPreparer(ctx, jobID, task, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "Add", nil, "Failure preparing request") - return - } - - resp, err := client.AddSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.TaskClient", "Add", resp, "Failure sending request") - return - } - - result, err = client.AddResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "Add", resp, "Failure responding to request") - } - - return -} - -// AddPreparer prepares the Add request. -func (client TaskClient) AddPreparer(ctx context.Context, jobID string, task TaskAddParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - } - - const APIVersion = "2015-12-01.2.2" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsJSON(), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}/tasks", pathParameters), - autorest.WithJSON(task), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// AddSender sends the Add request. The method will close the -// http.Response Body if it receives an error. -func (client TaskClient) AddSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// AddResponder handles the response to the Add request. The method always -// closes the http.Response Body. -func (client TaskClient) AddResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), - autorest.ByClosing()) - result.Response = resp - return -} - -// Delete deletes a task from the specified job. -// -// jobID is the id of the job from which to delete the task. taskID is the id of the task to delete. timeout is -// sets the maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. -// clientRequestID is caller generated request identity, in the form of a GUID with no decoration such as curly -// braces e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is specifies if the server should return -// the client-request-id identifier in the response. ocpDate is the time the request was issued. If not specified, -// this header will be automatically populated with the current system clock time. ifMatch is an ETag is specified. -// Specify this header to perform the operation only if the resource's ETag is an exact match as specified. -// ifNoneMatch is an ETag is specified. Specify this header to perform the operation only if the resource's ETag -// does not match the specified ETag. ifModifiedSince is specify this header to perform the operation only if the -// resource has been modified since the specified date/time. ifUnmodifiedSince is specify this header to perform -// the operation only if the resource has not been modified since the specified date/time. -func (client TaskClient) Delete(ctx context.Context, jobID string, taskID string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.DeletePreparer(ctx, jobID, taskID, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "Delete", nil, "Failure preparing request") - return - } - - resp, err := client.DeleteSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.TaskClient", "Delete", resp, "Failure sending request") - return - } - - result, err = client.DeleteResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "Delete", resp, "Failure responding to request") - } - - return -} - -// DeletePreparer prepares the Delete request. -func (client TaskClient) DeletePreparer(ctx context.Context, jobID string, taskID string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - "taskId": autorest.Encode("path", taskID), - } - - const APIVersion = "2015-12-01.2.2" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsDelete(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}/tasks/{taskId}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DeleteSender sends the Delete request. The method will close the -// http.Response Body if it receives an error. -func (client TaskClient) DeleteSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// DeleteResponder handles the response to the Delete request. The method always -// closes the http.Response Body. -func (client TaskClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} - -// Get gets information about the specified task. -// -// jobID is the id of the job that contains the task. taskID is the id of the task to get information about. -// selectParameter is sets an OData $select clause. expand is sets an OData $expand clause. timeout is sets the -// maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. -// clientRequestID is caller generated request identity, in the form of a GUID with no decoration such as curly -// braces e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is specifies if the server should return -// the client-request-id identifier in the response. ocpDate is the time the request was issued. If not specified, -// this header will be automatically populated with the current system clock time. ifMatch is an ETag is specified. -// Specify this header to perform the operation only if the resource's ETag is an exact match as specified. -// ifNoneMatch is an ETag is specified. Specify this header to perform the operation only if the resource's ETag -// does not match the specified ETag. ifModifiedSince is specify this header to perform the operation only if the -// resource has been modified since the specified date/time. ifUnmodifiedSince is specify this header to perform -// the operation only if the resource has not been modified since the specified date/time. -func (client TaskClient) Get(ctx context.Context, jobID string, taskID string, selectParameter string, expand string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result CloudTask, err error) { - req, err := client.GetPreparer(ctx, jobID, taskID, selectParameter, expand, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "Get", nil, "Failure preparing request") - return - } - - resp, err := client.GetSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.TaskClient", "Get", resp, "Failure sending request") - return - } - - result, err = client.GetResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "Get", resp, "Failure responding to request") - } - - return -} - -// GetPreparer prepares the Get request. -func (client TaskClient) GetPreparer(ctx context.Context, jobID string, taskID string, selectParameter string, expand string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - "taskId": autorest.Encode("path", taskID), - } - - const APIVersion = "2015-12-01.2.2" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(selectParameter) > 0 { - queryParameters["$select"] = autorest.Encode("query", selectParameter) - } - if len(expand) > 0 { - queryParameters["$expand"] = autorest.Encode("query", expand) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}/tasks/{taskId}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetSender sends the Get request. The method will close the -// http.Response Body if it receives an error. -func (client TaskClient) GetSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// GetResponder handles the response to the Get request. The method always -// closes the http.Response Body. -func (client TaskClient) GetResponder(resp *http.Response) (result CloudTask, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// List lists all of the tasks that are associated with the specified job. -// -// jobID is the id of the job. filter is sets an OData $filter clause. selectParameter is sets an OData $select -// clause. expand is sets an OData $expand clause. maxResults is sets the maximum number of items to return in the -// response. timeout is sets the maximum time that the server can spend processing the request, in seconds. The -// default is 30 seconds. clientRequestID is caller generated request identity, in the form of a GUID with no -// decoration such as curly braces e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is specifies if -// the server should return the client-request-id identifier in the response. ocpDate is the time the request was -// issued. If not specified, this header will be automatically populated with the current system clock time. -func (client TaskClient) List(ctx context.Context, jobID string, filter string, selectParameter string, expand string, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result CloudTaskListResultPage, err error) { - result.fn = client.listNextResults - req, err := client.ListPreparer(ctx, jobID, filter, selectParameter, expand, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "List", nil, "Failure preparing request") - return - } - - resp, err := client.ListSender(req) - if err != nil { - result.ctlr.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.TaskClient", "List", resp, "Failure sending request") - return - } - - result.ctlr, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "List", resp, "Failure responding to request") - } - - return -} - -// ListPreparer prepares the List request. -func (client TaskClient) ListPreparer(ctx context.Context, jobID string, filter string, selectParameter string, expand string, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - } - - const APIVersion = "2015-12-01.2.2" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(filter) > 0 { - queryParameters["$filter"] = autorest.Encode("query", filter) - } - if len(selectParameter) > 0 { - queryParameters["$select"] = autorest.Encode("query", selectParameter) - } - if len(expand) > 0 { - queryParameters["$expand"] = autorest.Encode("query", expand) - } - if maxResults != nil { - queryParameters["maxresults"] = autorest.Encode("query", *maxResults) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}/tasks", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListSender sends the List request. The method will close the -// http.Response Body if it receives an error. -func (client TaskClient) ListSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ListResponder handles the response to the List request. The method always -// closes the http.Response Body. -func (client TaskClient) ListResponder(resp *http.Response) (result CloudTaskListResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listNextResults retrieves the next set of results, if any. -func (client TaskClient) listNextResults(lastResults CloudTaskListResult) (result CloudTaskListResult, err error) { - req, err := lastResults.cloudTaskListResultPreparer() - if err != nil { - return result, autorest.NewErrorWithError(err, "batch.TaskClient", "listNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "batch.TaskClient", "listNextResults", resp, "Failure sending next results request") - } - result, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "listNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListComplete enumerates all values, automatically crossing page boundaries as required. -func (client TaskClient) ListComplete(ctx context.Context, jobID string, filter string, selectParameter string, expand string, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result CloudTaskListResultIterator, err error) { - result.page, err = client.List(ctx, jobID, filter, selectParameter, expand, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - return -} - -// ListSubtasks lists all of the subtasks that are associated with the specified multi-instance task. -// -// jobID is the id of the job. taskID is the id of the task. selectParameter is sets an OData $select clause. -// timeout is sets the maximum time that the server can spend processing the request, in seconds. The default is 30 -// seconds. clientRequestID is caller generated request identity, in the form of a GUID with no decoration such as -// curly braces e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is specifies if the server should -// return the client-request-id identifier in the response. ocpDate is the time the request was issued. If not -// specified, this header will be automatically populated with the current system clock time. -func (client TaskClient) ListSubtasks(ctx context.Context, jobID string, taskID string, selectParameter string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result CloudTaskListSubtasksResult, err error) { - req, err := client.ListSubtasksPreparer(ctx, jobID, taskID, selectParameter, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "ListSubtasks", nil, "Failure preparing request") - return - } - - resp, err := client.ListSubtasksSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.TaskClient", "ListSubtasks", resp, "Failure sending request") - return - } - - result, err = client.ListSubtasksResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "ListSubtasks", resp, "Failure responding to request") - } - - return -} - -// ListSubtasksPreparer prepares the ListSubtasks request. -func (client TaskClient) ListSubtasksPreparer(ctx context.Context, jobID string, taskID string, selectParameter string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - "taskId": autorest.Encode("path", taskID), - } - - const APIVersion = "2015-12-01.2.2" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(selectParameter) > 0 { - queryParameters["$select"] = autorest.Encode("query", selectParameter) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}/tasks/{taskId}/subtasksinfo", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListSubtasksSender sends the ListSubtasks request. The method will close the -// http.Response Body if it receives an error. -func (client TaskClient) ListSubtasksSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ListSubtasksResponder handles the response to the ListSubtasks request. The method always -// closes the http.Response Body. -func (client TaskClient) ListSubtasksResponder(resp *http.Response) (result CloudTaskListSubtasksResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// Terminate terminates the specified task. -// -// jobID is the id of the job containing the task. taskID is the id of the task to terminate. timeout is sets the -// maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. -// clientRequestID is caller generated request identity, in the form of a GUID with no decoration such as curly -// braces e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is specifies if the server should return -// the client-request-id identifier in the response. ocpDate is the time the request was issued. If not specified, -// this header will be automatically populated with the current system clock time. ifMatch is an ETag is specified. -// Specify this header to perform the operation only if the resource's ETag is an exact match as specified. -// ifNoneMatch is an ETag is specified. Specify this header to perform the operation only if the resource's ETag -// does not match the specified ETag. ifModifiedSince is specify this header to perform the operation only if the -// resource has been modified since the specified date/time. ifUnmodifiedSince is specify this header to perform -// the operation only if the resource has not been modified since the specified date/time. -func (client TaskClient) Terminate(ctx context.Context, jobID string, taskID string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.TerminatePreparer(ctx, jobID, taskID, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "Terminate", nil, "Failure preparing request") - return - } - - resp, err := client.TerminateSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.TaskClient", "Terminate", resp, "Failure sending request") - return - } - - result, err = client.TerminateResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "Terminate", resp, "Failure responding to request") - } - - return -} - -// TerminatePreparer prepares the Terminate request. -func (client TaskClient) TerminatePreparer(ctx context.Context, jobID string, taskID string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - "taskId": autorest.Encode("path", taskID), - } - - const APIVersion = "2015-12-01.2.2" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}/tasks/{taskId}/terminate", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// TerminateSender sends the Terminate request. The method will close the -// http.Response Body if it receives an error. -func (client TaskClient) TerminateSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// TerminateResponder handles the response to the Terminate request. The method always -// closes the http.Response Body. -func (client TaskClient) TerminateResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), - autorest.ByClosing()) - result.Response = resp - return -} - -// Update updates the properties of the specified task. -// -// jobID is the id of the job containing the task. taskID is the id of the task to update. taskUpdateParameter is -// the parameters for the request. timeout is sets the maximum time that the server can spend processing the -// request, in seconds. The default is 30 seconds. clientRequestID is caller generated request identity, in the -// form of a GUID with no decoration such as curly braces e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. -// returnClientRequestID is specifies if the server should return the client-request-id identifier in the response. -// ocpDate is the time the request was issued. If not specified, this header will be automatically populated with -// the current system clock time. ifMatch is an ETag is specified. Specify this header to perform the operation -// only if the resource's ETag is an exact match as specified. ifNoneMatch is an ETag is specified. Specify this -// header to perform the operation only if the resource's ETag does not match the specified ETag. ifModifiedSince -// is specify this header to perform the operation only if the resource has been modified since the specified -// date/time. ifUnmodifiedSince is specify this header to perform the operation only if the resource has not been -// modified since the specified date/time. -func (client TaskClient) Update(ctx context.Context, jobID string, taskID string, taskUpdateParameter TaskUpdateParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.UpdatePreparer(ctx, jobID, taskID, taskUpdateParameter, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "Update", nil, "Failure preparing request") - return - } - - resp, err := client.UpdateSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.TaskClient", "Update", resp, "Failure sending request") - return - } - - result, err = client.UpdateResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "Update", resp, "Failure responding to request") - } - - return -} - -// UpdatePreparer prepares the Update request. -func (client TaskClient) UpdatePreparer(ctx context.Context, jobID string, taskID string, taskUpdateParameter TaskUpdateParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - "taskId": autorest.Encode("path", taskID), - } - - const APIVersion = "2015-12-01.2.2" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsJSON(), - autorest.AsPut(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}/tasks/{taskId}", pathParameters), - autorest.WithJSON(taskUpdateParameter), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// UpdateSender sends the Update request. The method will close the -// http.Response Body if it receives an error. -func (client TaskClient) UpdateSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// UpdateResponder handles the response to the Update request. The method always -// closes the http.Response Body. -func (client TaskClient) UpdateResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} diff --git a/services/batch/2016-02-01.3.0/batch/account.go b/services/batch/2016-02-01.3.0/batch/account.go deleted file mode 100644 index 27490de07747..000000000000 --- a/services/batch/2016-02-01.3.0/batch/account.go +++ /dev/null @@ -1,157 +0,0 @@ -package batch - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/autorest/date" - "net/http" -) - -// AccountClient is the a client for issuing REST requests to the Azure Batch service. -type AccountClient struct { - BaseClient -} - -// NewAccountClient creates an instance of the AccountClient client. -func NewAccountClient() AccountClient { - return NewAccountClientWithBaseURI(DefaultBaseURI) -} - -// NewAccountClientWithBaseURI creates an instance of the AccountClient client. -func NewAccountClientWithBaseURI(baseURI string) AccountClient { - return AccountClient{NewWithBaseURI(baseURI)} -} - -// ListNodeAgentSkus lists all node agent SKUs supported by the Azure Batch service. -// -// filter is an OData $filter clause. maxResults is the maximum number of items to return in the response. timeout -// is the maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. -// clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such as curly -// braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id identifier in the response. ocpDate is the time the request was issued. If not specified, this -// header will be automatically populated with the current system clock time. -func (client AccountClient) ListNodeAgentSkus(ctx context.Context, filter string, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result AccountListNodeAgentSkusResultPage, err error) { - result.fn = client.listNodeAgentSkusNextResults - req, err := client.ListNodeAgentSkusPreparer(ctx, filter, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.AccountClient", "ListNodeAgentSkus", nil, "Failure preparing request") - return - } - - resp, err := client.ListNodeAgentSkusSender(req) - if err != nil { - result.alnasr.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.AccountClient", "ListNodeAgentSkus", resp, "Failure sending request") - return - } - - result.alnasr, err = client.ListNodeAgentSkusResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.AccountClient", "ListNodeAgentSkus", resp, "Failure responding to request") - } - - return -} - -// ListNodeAgentSkusPreparer prepares the ListNodeAgentSkus request. -func (client AccountClient) ListNodeAgentSkusPreparer(ctx context.Context, filter string, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - const APIVersion = "2016-02-01.3.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(filter) > 0 { - queryParameters["$filter"] = autorest.Encode("query", filter) - } - if maxResults != nil { - queryParameters["maxresults"] = autorest.Encode("query", *maxResults) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPath("/nodeagentskus"), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListNodeAgentSkusSender sends the ListNodeAgentSkus request. The method will close the -// http.Response Body if it receives an error. -func (client AccountClient) ListNodeAgentSkusSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ListNodeAgentSkusResponder handles the response to the ListNodeAgentSkus request. The method always -// closes the http.Response Body. -func (client AccountClient) ListNodeAgentSkusResponder(resp *http.Response) (result AccountListNodeAgentSkusResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listNodeAgentSkusNextResults retrieves the next set of results, if any. -func (client AccountClient) listNodeAgentSkusNextResults(lastResults AccountListNodeAgentSkusResult) (result AccountListNodeAgentSkusResult, err error) { - req, err := lastResults.accountListNodeAgentSkusResultPreparer() - if err != nil { - return result, autorest.NewErrorWithError(err, "batch.AccountClient", "listNodeAgentSkusNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListNodeAgentSkusSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "batch.AccountClient", "listNodeAgentSkusNextResults", resp, "Failure sending next results request") - } - result, err = client.ListNodeAgentSkusResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.AccountClient", "listNodeAgentSkusNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListNodeAgentSkusComplete enumerates all values, automatically crossing page boundaries as required. -func (client AccountClient) ListNodeAgentSkusComplete(ctx context.Context, filter string, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result AccountListNodeAgentSkusResultIterator, err error) { - result.page, err = client.ListNodeAgentSkus(ctx, filter, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - return -} diff --git a/services/batch/2016-02-01.3.0/batch/application.go b/services/batch/2016-02-01.3.0/batch/application.go deleted file mode 100644 index b69f0c0a3907..000000000000 --- a/services/batch/2016-02-01.3.0/batch/application.go +++ /dev/null @@ -1,240 +0,0 @@ -package batch - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/autorest/date" - "net/http" -) - -// ApplicationClient is the a client for issuing REST requests to the Azure Batch service. -type ApplicationClient struct { - BaseClient -} - -// NewApplicationClient creates an instance of the ApplicationClient client. -func NewApplicationClient() ApplicationClient { - return NewApplicationClientWithBaseURI(DefaultBaseURI) -} - -// NewApplicationClientWithBaseURI creates an instance of the ApplicationClient client. -func NewApplicationClientWithBaseURI(baseURI string) ApplicationClient { - return ApplicationClient{NewWithBaseURI(baseURI)} -} - -// Get gets information about the specified application. -// -// applicationID is the id of the application. timeout is the maximum time that the server can spend processing the -// request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated request identity, in the -// form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. -// returnClientRequestID is whether the server should return the client-request-id identifier in the response. -// ocpDate is the time the request was issued. If not specified, this header will be automatically populated with -// the current system clock time. -func (client ApplicationClient) Get(ctx context.Context, applicationID string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result ApplicationSummary, err error) { - req, err := client.GetPreparer(ctx, applicationID, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ApplicationClient", "Get", nil, "Failure preparing request") - return - } - - resp, err := client.GetSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.ApplicationClient", "Get", resp, "Failure sending request") - return - } - - result, err = client.GetResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ApplicationClient", "Get", resp, "Failure responding to request") - } - - return -} - -// GetPreparer prepares the Get request. -func (client ApplicationClient) GetPreparer(ctx context.Context, applicationID string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "applicationId": autorest.Encode("path", applicationID), - } - - const APIVersion = "2016-02-01.3.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/applications/{applicationId}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetSender sends the Get request. The method will close the -// http.Response Body if it receives an error. -func (client ApplicationClient) GetSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// GetResponder handles the response to the Get request. The method always -// closes the http.Response Body. -func (client ApplicationClient) GetResponder(resp *http.Response) (result ApplicationSummary, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// List lists all of the applications available in the specified account. -// -// maxResults is the maximum number of items to return in the response. timeout is the maximum time that the server -// can spend processing the request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated -// request identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id identifier in the response. ocpDate is the time the request was issued. If not specified, this -// header will be automatically populated with the current system clock time. -func (client ApplicationClient) List(ctx context.Context, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result ApplicationListResultPage, err error) { - result.fn = client.listNextResults - req, err := client.ListPreparer(ctx, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ApplicationClient", "List", nil, "Failure preparing request") - return - } - - resp, err := client.ListSender(req) - if err != nil { - result.alr.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.ApplicationClient", "List", resp, "Failure sending request") - return - } - - result.alr, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ApplicationClient", "List", resp, "Failure responding to request") - } - - return -} - -// ListPreparer prepares the List request. -func (client ApplicationClient) ListPreparer(ctx context.Context, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - const APIVersion = "2016-02-01.3.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if maxResults != nil { - queryParameters["maxresults"] = autorest.Encode("query", *maxResults) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPath("/applications"), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListSender sends the List request. The method will close the -// http.Response Body if it receives an error. -func (client ApplicationClient) ListSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ListResponder handles the response to the List request. The method always -// closes the http.Response Body. -func (client ApplicationClient) ListResponder(resp *http.Response) (result ApplicationListResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listNextResults retrieves the next set of results, if any. -func (client ApplicationClient) listNextResults(lastResults ApplicationListResult) (result ApplicationListResult, err error) { - req, err := lastResults.applicationListResultPreparer() - if err != nil { - return result, autorest.NewErrorWithError(err, "batch.ApplicationClient", "listNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "batch.ApplicationClient", "listNextResults", resp, "Failure sending next results request") - } - result, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ApplicationClient", "listNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListComplete enumerates all values, automatically crossing page boundaries as required. -func (client ApplicationClient) ListComplete(ctx context.Context, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result ApplicationListResultIterator, err error) { - result.page, err = client.List(ctx, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - return -} diff --git a/services/batch/2016-02-01.3.0/batch/certificate.go b/services/batch/2016-02-01.3.0/batch/certificate.go deleted file mode 100644 index 4cb6e2f0c218..000000000000 --- a/services/batch/2016-02-01.3.0/batch/certificate.go +++ /dev/null @@ -1,518 +0,0 @@ -package batch - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/autorest/date" - "github.com/Azure/go-autorest/autorest/validation" - "net/http" -) - -// CertificateClient is the a client for issuing REST requests to the Azure Batch service. -type CertificateClient struct { - BaseClient -} - -// NewCertificateClient creates an instance of the CertificateClient client. -func NewCertificateClient() CertificateClient { - return NewCertificateClientWithBaseURI(DefaultBaseURI) -} - -// NewCertificateClientWithBaseURI creates an instance of the CertificateClient client. -func NewCertificateClientWithBaseURI(baseURI string) CertificateClient { - return CertificateClient{NewWithBaseURI(baseURI)} -} - -// Add adds a certificate to the specified account. -// -// certificate is the certificate to be added. timeout is the maximum time that the server can spend processing the -// request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated request identity, in the -// form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. -// returnClientRequestID is whether the server should return the client-request-id identifier in the response. -// ocpDate is the time the request was issued. If not specified, this header will be automatically populated with -// the current system clock time. -func (client CertificateClient) Add(ctx context.Context, certificate CertificateAddParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: certificate, - Constraints: []validation.Constraint{{Target: "certificate.Thumbprint", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "certificate.ThumbprintAlgorithm", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "certificate.Data", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { - return result, validation.NewError("batch.CertificateClient", "Add", err.Error()) - } - - req, err := client.AddPreparer(ctx, certificate, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.CertificateClient", "Add", nil, "Failure preparing request") - return - } - - resp, err := client.AddSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.CertificateClient", "Add", resp, "Failure sending request") - return - } - - result, err = client.AddResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.CertificateClient", "Add", resp, "Failure responding to request") - } - - return -} - -// AddPreparer prepares the Add request. -func (client CertificateClient) AddPreparer(ctx context.Context, certificate CertificateAddParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - const APIVersion = "2016-02-01.3.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPath("/certificates"), - autorest.WithJSON(certificate), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// AddSender sends the Add request. The method will close the -// http.Response Body if it receives an error. -func (client CertificateClient) AddSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// AddResponder handles the response to the Add request. The method always -// closes the http.Response Body. -func (client CertificateClient) AddResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), - autorest.ByClosing()) - result.Response = resp - return -} - -// CancelDeletion cancels a failed deletion of a certificate from the specified account. -// -// thumbprintAlgorithm is the algorithm used to derive the thumbprint parameter. This must be sha1. thumbprint is -// the thumbprint of the certificate being deleted. timeout is the maximum time that the server can spend -// processing the request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated request -// identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id identifier in the response. ocpDate is the time the request was issued. If not specified, this -// header will be automatically populated with the current system clock time. -func (client CertificateClient) CancelDeletion(ctx context.Context, thumbprintAlgorithm string, thumbprint string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.CancelDeletionPreparer(ctx, thumbprintAlgorithm, thumbprint, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.CertificateClient", "CancelDeletion", nil, "Failure preparing request") - return - } - - resp, err := client.CancelDeletionSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.CertificateClient", "CancelDeletion", resp, "Failure sending request") - return - } - - result, err = client.CancelDeletionResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.CertificateClient", "CancelDeletion", resp, "Failure responding to request") - } - - return -} - -// CancelDeletionPreparer prepares the CancelDeletion request. -func (client CertificateClient) CancelDeletionPreparer(ctx context.Context, thumbprintAlgorithm string, thumbprint string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "thumbprint": autorest.Encode("path", thumbprint), - "thumbprintAlgorithm": autorest.Encode("path", thumbprintAlgorithm), - } - - const APIVersion = "2016-02-01.3.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/certificates(thumbprintAlgorithm={thumbprintAlgorithm},thumbprint={thumbprint})/canceldelete", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// CancelDeletionSender sends the CancelDeletion request. The method will close the -// http.Response Body if it receives an error. -func (client CertificateClient) CancelDeletionSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// CancelDeletionResponder handles the response to the CancelDeletion request. The method always -// closes the http.Response Body. -func (client CertificateClient) CancelDeletionResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), - autorest.ByClosing()) - result.Response = resp - return -} - -// Delete deletes a certificate from the specified account. -// -// thumbprintAlgorithm is the algorithm used to derive the thumbprint parameter. This must be sha1. thumbprint is -// the thumbprint of the certificate to be deleted. timeout is the maximum time that the server can spend -// processing the request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated request -// identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id identifier in the response. ocpDate is the time the request was issued. If not specified, this -// header will be automatically populated with the current system clock time. -func (client CertificateClient) Delete(ctx context.Context, thumbprintAlgorithm string, thumbprint string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.DeletePreparer(ctx, thumbprintAlgorithm, thumbprint, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.CertificateClient", "Delete", nil, "Failure preparing request") - return - } - - resp, err := client.DeleteSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.CertificateClient", "Delete", resp, "Failure sending request") - return - } - - result, err = client.DeleteResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.CertificateClient", "Delete", resp, "Failure responding to request") - } - - return -} - -// DeletePreparer prepares the Delete request. -func (client CertificateClient) DeletePreparer(ctx context.Context, thumbprintAlgorithm string, thumbprint string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "thumbprint": autorest.Encode("path", thumbprint), - "thumbprintAlgorithm": autorest.Encode("path", thumbprintAlgorithm), - } - - const APIVersion = "2016-02-01.3.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsDelete(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/certificates(thumbprintAlgorithm={thumbprintAlgorithm},thumbprint={thumbprint})", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DeleteSender sends the Delete request. The method will close the -// http.Response Body if it receives an error. -func (client CertificateClient) DeleteSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// DeleteResponder handles the response to the Delete request. The method always -// closes the http.Response Body. -func (client CertificateClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByClosing()) - result.Response = resp - return -} - -// Get gets information about the specified certificate. -// -// thumbprintAlgorithm is the algorithm used to derive the thumbprint parameter. This must be sha1. thumbprint is -// the thumbprint of the certificate to get. selectParameter is an OData $select clause. timeout is the maximum -// time that the server can spend processing the request, in seconds. The default is 30 seconds. clientRequestID is -// the caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id identifier in the response. ocpDate is the time the request was issued. If not specified, this -// header will be automatically populated with the current system clock time. -func (client CertificateClient) Get(ctx context.Context, thumbprintAlgorithm string, thumbprint string, selectParameter string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result Certificate, err error) { - req, err := client.GetPreparer(ctx, thumbprintAlgorithm, thumbprint, selectParameter, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.CertificateClient", "Get", nil, "Failure preparing request") - return - } - - resp, err := client.GetSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.CertificateClient", "Get", resp, "Failure sending request") - return - } - - result, err = client.GetResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.CertificateClient", "Get", resp, "Failure responding to request") - } - - return -} - -// GetPreparer prepares the Get request. -func (client CertificateClient) GetPreparer(ctx context.Context, thumbprintAlgorithm string, thumbprint string, selectParameter string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "thumbprint": autorest.Encode("path", thumbprint), - "thumbprintAlgorithm": autorest.Encode("path", thumbprintAlgorithm), - } - - const APIVersion = "2016-02-01.3.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(selectParameter) > 0 { - queryParameters["$select"] = autorest.Encode("query", selectParameter) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/certificates(thumbprintAlgorithm={thumbprintAlgorithm},thumbprint={thumbprint})", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetSender sends the Get request. The method will close the -// http.Response Body if it receives an error. -func (client CertificateClient) GetSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// GetResponder handles the response to the Get request. The method always -// closes the http.Response Body. -func (client CertificateClient) GetResponder(resp *http.Response) (result Certificate, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// List lists all of the certificates that have been added to the specified account. -// -// filter is an OData $filter clause. selectParameter is an OData $select clause. maxResults is the maximum number -// of items to return in the response. timeout is the maximum time that the server can spend processing the -// request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated request identity, in the -// form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. -// returnClientRequestID is whether the server should return the client-request-id identifier in the response. -// ocpDate is the time the request was issued. If not specified, this header will be automatically populated with -// the current system clock time. -func (client CertificateClient) List(ctx context.Context, filter string, selectParameter string, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result CertificateListResultPage, err error) { - result.fn = client.listNextResults - req, err := client.ListPreparer(ctx, filter, selectParameter, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.CertificateClient", "List", nil, "Failure preparing request") - return - } - - resp, err := client.ListSender(req) - if err != nil { - result.clr.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.CertificateClient", "List", resp, "Failure sending request") - return - } - - result.clr, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.CertificateClient", "List", resp, "Failure responding to request") - } - - return -} - -// ListPreparer prepares the List request. -func (client CertificateClient) ListPreparer(ctx context.Context, filter string, selectParameter string, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - const APIVersion = "2016-02-01.3.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(filter) > 0 { - queryParameters["$filter"] = autorest.Encode("query", filter) - } - if len(selectParameter) > 0 { - queryParameters["$select"] = autorest.Encode("query", selectParameter) - } - if maxResults != nil { - queryParameters["maxresults"] = autorest.Encode("query", *maxResults) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPath("/certificates"), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListSender sends the List request. The method will close the -// http.Response Body if it receives an error. -func (client CertificateClient) ListSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ListResponder handles the response to the List request. The method always -// closes the http.Response Body. -func (client CertificateClient) ListResponder(resp *http.Response) (result CertificateListResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listNextResults retrieves the next set of results, if any. -func (client CertificateClient) listNextResults(lastResults CertificateListResult) (result CertificateListResult, err error) { - req, err := lastResults.certificateListResultPreparer() - if err != nil { - return result, autorest.NewErrorWithError(err, "batch.CertificateClient", "listNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "batch.CertificateClient", "listNextResults", resp, "Failure sending next results request") - } - result, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.CertificateClient", "listNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListComplete enumerates all values, automatically crossing page boundaries as required. -func (client CertificateClient) ListComplete(ctx context.Context, filter string, selectParameter string, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result CertificateListResultIterator, err error) { - result.page, err = client.List(ctx, filter, selectParameter, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - return -} diff --git a/services/batch/2016-02-01.3.0/batch/computenode.go b/services/batch/2016-02-01.3.0/batch/computenode.go deleted file mode 100644 index 9960b36d80d9..000000000000 --- a/services/batch/2016-02-01.3.0/batch/computenode.go +++ /dev/null @@ -1,1069 +0,0 @@ -package batch - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/autorest/date" - "github.com/Azure/go-autorest/autorest/validation" - "net/http" -) - -// ComputeNodeClient is the a client for issuing REST requests to the Azure Batch service. -type ComputeNodeClient struct { - BaseClient -} - -// NewComputeNodeClient creates an instance of the ComputeNodeClient client. -func NewComputeNodeClient() ComputeNodeClient { - return NewComputeNodeClientWithBaseURI(DefaultBaseURI) -} - -// NewComputeNodeClientWithBaseURI creates an instance of the ComputeNodeClient client. -func NewComputeNodeClientWithBaseURI(baseURI string) ComputeNodeClient { - return ComputeNodeClient{NewWithBaseURI(baseURI)} -} - -// AddUser adds a user account to the specified compute node. -// -// poolID is the id of the pool that contains the compute node. nodeID is the id of the machine on which you want -// to create a user account. userParameter is the user account to be created. timeout is the maximum time that the -// server can spend processing the request, in seconds. The default is 30 seconds. clientRequestID is the -// caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id identifier in the response. ocpDate is the time the request was issued. If not specified, this -// header will be automatically populated with the current system clock time. -func (client ComputeNodeClient) AddUser(ctx context.Context, poolID string, nodeID string, userParameter ComputeNodeUser, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: userParameter, - Constraints: []validation.Constraint{{Target: "userParameter.Name", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { - return result, validation.NewError("batch.ComputeNodeClient", "AddUser", err.Error()) - } - - req, err := client.AddUserPreparer(ctx, poolID, nodeID, userParameter, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "AddUser", nil, "Failure preparing request") - return - } - - resp, err := client.AddUserSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "AddUser", resp, "Failure sending request") - return - } - - result, err = client.AddUserResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "AddUser", resp, "Failure responding to request") - } - - return -} - -// AddUserPreparer prepares the AddUser request. -func (client ComputeNodeClient) AddUserPreparer(ctx context.Context, poolID string, nodeID string, userParameter ComputeNodeUser, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "nodeId": autorest.Encode("path", nodeID), - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2016-02-01.3.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/nodes/{nodeId}/users", pathParameters), - autorest.WithJSON(userParameter), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// AddUserSender sends the AddUser request. The method will close the -// http.Response Body if it receives an error. -func (client ComputeNodeClient) AddUserSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// AddUserResponder handles the response to the AddUser request. The method always -// closes the http.Response Body. -func (client ComputeNodeClient) AddUserResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), - autorest.ByClosing()) - result.Response = resp - return -} - -// DeleteUser deletes a user account from the specified compute node. -// -// poolID is the id of the pool that contains the compute node. nodeID is the id of the machine on which you want -// to delete a user account. userName is the name of the user account to delete. timeout is the maximum time that -// the server can spend processing the request, in seconds. The default is 30 seconds. clientRequestID is the -// caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id identifier in the response. ocpDate is the time the request was issued. If not specified, this -// header will be automatically populated with the current system clock time. -func (client ComputeNodeClient) DeleteUser(ctx context.Context, poolID string, nodeID string, userName string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.DeleteUserPreparer(ctx, poolID, nodeID, userName, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "DeleteUser", nil, "Failure preparing request") - return - } - - resp, err := client.DeleteUserSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "DeleteUser", resp, "Failure sending request") - return - } - - result, err = client.DeleteUserResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "DeleteUser", resp, "Failure responding to request") - } - - return -} - -// DeleteUserPreparer prepares the DeleteUser request. -func (client ComputeNodeClient) DeleteUserPreparer(ctx context.Context, poolID string, nodeID string, userName string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "nodeId": autorest.Encode("path", nodeID), - "poolId": autorest.Encode("path", poolID), - "userName": autorest.Encode("path", userName), - } - - const APIVersion = "2016-02-01.3.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsDelete(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/nodes/{nodeId}/users/{userName}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DeleteUserSender sends the DeleteUser request. The method will close the -// http.Response Body if it receives an error. -func (client ComputeNodeClient) DeleteUserSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// DeleteUserResponder handles the response to the DeleteUser request. The method always -// closes the http.Response Body. -func (client ComputeNodeClient) DeleteUserResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} - -// DisableScheduling disable task scheduling of the specified compute node. -// -// poolID is the id of the pool that contains the compute node. nodeID is the id of the compute node that you want -// to disable task scheduling. nodeDisableSchedulingParameter is the parameters for the request. timeout is the -// maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. -// clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such as curly -// braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id identifier in the response. ocpDate is the time the request was issued. If not specified, this -// header will be automatically populated with the current system clock time. -func (client ComputeNodeClient) DisableScheduling(ctx context.Context, poolID string, nodeID string, nodeDisableSchedulingParameter *NodeDisableSchedulingParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.DisableSchedulingPreparer(ctx, poolID, nodeID, nodeDisableSchedulingParameter, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "DisableScheduling", nil, "Failure preparing request") - return - } - - resp, err := client.DisableSchedulingSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "DisableScheduling", resp, "Failure sending request") - return - } - - result, err = client.DisableSchedulingResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "DisableScheduling", resp, "Failure responding to request") - } - - return -} - -// DisableSchedulingPreparer prepares the DisableScheduling request. -func (client ComputeNodeClient) DisableSchedulingPreparer(ctx context.Context, poolID string, nodeID string, nodeDisableSchedulingParameter *NodeDisableSchedulingParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "nodeId": autorest.Encode("path", nodeID), - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2016-02-01.3.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/nodes/{nodeId}/disablescheduling", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if nodeDisableSchedulingParameter != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithJSON(nodeDisableSchedulingParameter)) - } - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DisableSchedulingSender sends the DisableScheduling request. The method will close the -// http.Response Body if it receives an error. -func (client ComputeNodeClient) DisableSchedulingSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// DisableSchedulingResponder handles the response to the DisableScheduling request. The method always -// closes the http.Response Body. -func (client ComputeNodeClient) DisableSchedulingResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} - -// EnableScheduling enable task scheduling of the specified compute node. -// -// poolID is the id of the pool that contains the compute node. nodeID is the id of the compute node that you want -// to enable task scheduling. timeout is the maximum time that the server can spend processing the request, in -// seconds. The default is 30 seconds. clientRequestID is the caller-generated request identity, in the form of a -// GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID -// is whether the server should return the client-request-id identifier in the response. ocpDate is the time the -// request was issued. If not specified, this header will be automatically populated with the current system clock -// time. -func (client ComputeNodeClient) EnableScheduling(ctx context.Context, poolID string, nodeID string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.EnableSchedulingPreparer(ctx, poolID, nodeID, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "EnableScheduling", nil, "Failure preparing request") - return - } - - resp, err := client.EnableSchedulingSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "EnableScheduling", resp, "Failure sending request") - return - } - - result, err = client.EnableSchedulingResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "EnableScheduling", resp, "Failure responding to request") - } - - return -} - -// EnableSchedulingPreparer prepares the EnableScheduling request. -func (client ComputeNodeClient) EnableSchedulingPreparer(ctx context.Context, poolID string, nodeID string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "nodeId": autorest.Encode("path", nodeID), - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2016-02-01.3.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/nodes/{nodeId}/enablescheduling", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// EnableSchedulingSender sends the EnableScheduling request. The method will close the -// http.Response Body if it receives an error. -func (client ComputeNodeClient) EnableSchedulingSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// EnableSchedulingResponder handles the response to the EnableScheduling request. The method always -// closes the http.Response Body. -func (client ComputeNodeClient) EnableSchedulingResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} - -// Get gets information about the specified compute node. -// -// poolID is the id of the pool that contains the compute node. nodeID is the id of the compute node that you want -// to get information about. selectParameter is an OData $select clause. timeout is the maximum time that the -// server can spend processing the request, in seconds. The default is 30 seconds. clientRequestID is the -// caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id identifier in the response. ocpDate is the time the request was issued. If not specified, this -// header will be automatically populated with the current system clock time. -func (client ComputeNodeClient) Get(ctx context.Context, poolID string, nodeID string, selectParameter string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result ComputeNode, err error) { - req, err := client.GetPreparer(ctx, poolID, nodeID, selectParameter, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "Get", nil, "Failure preparing request") - return - } - - resp, err := client.GetSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "Get", resp, "Failure sending request") - return - } - - result, err = client.GetResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "Get", resp, "Failure responding to request") - } - - return -} - -// GetPreparer prepares the Get request. -func (client ComputeNodeClient) GetPreparer(ctx context.Context, poolID string, nodeID string, selectParameter string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "nodeId": autorest.Encode("path", nodeID), - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2016-02-01.3.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(selectParameter) > 0 { - queryParameters["$select"] = autorest.Encode("query", selectParameter) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/nodes/{nodeId}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetSender sends the Get request. The method will close the -// http.Response Body if it receives an error. -func (client ComputeNodeClient) GetSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// GetResponder handles the response to the Get request. The method always -// closes the http.Response Body. -func (client ComputeNodeClient) GetResponder(resp *http.Response) (result ComputeNode, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// GetRemoteDesktop gets the Remote Desktop Protocol file for the specified compute node. -// -// poolID is the id of the pool that contains the compute node. nodeID is the id of the compute node for which you -// want to get the Remote Desktop Protocol file. timeout is the maximum time that the server can spend processing -// the request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated request identity, in -// the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. -// returnClientRequestID is whether the server should return the client-request-id identifier in the response. -// ocpDate is the time the request was issued. If not specified, this header will be automatically populated with -// the current system clock time. -func (client ComputeNodeClient) GetRemoteDesktop(ctx context.Context, poolID string, nodeID string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result ReadCloser, err error) { - req, err := client.GetRemoteDesktopPreparer(ctx, poolID, nodeID, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "GetRemoteDesktop", nil, "Failure preparing request") - return - } - - resp, err := client.GetRemoteDesktopSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "GetRemoteDesktop", resp, "Failure sending request") - return - } - - result, err = client.GetRemoteDesktopResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "GetRemoteDesktop", resp, "Failure responding to request") - } - - return -} - -// GetRemoteDesktopPreparer prepares the GetRemoteDesktop request. -func (client ComputeNodeClient) GetRemoteDesktopPreparer(ctx context.Context, poolID string, nodeID string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "nodeId": autorest.Encode("path", nodeID), - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2016-02-01.3.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/nodes/{nodeId}/rdp", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetRemoteDesktopSender sends the GetRemoteDesktop request. The method will close the -// http.Response Body if it receives an error. -func (client ComputeNodeClient) GetRemoteDesktopSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// GetRemoteDesktopResponder handles the response to the GetRemoteDesktop request. The method always -// closes the http.Response Body. -func (client ComputeNodeClient) GetRemoteDesktopResponder(resp *http.Response) (result ReadCloser, err error) { - result.Value = &resp.Body - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK)) - result.Response = autorest.Response{Response: resp} - return -} - -// GetRemoteLoginSettings gets the settings required for remote login to a compute node. -// -// poolID is the id of the pool that contains the compute node. nodeID is the id of the compute node for which to -// obtain the remote login settings. timeout is the maximum time that the server can spend processing the request, -// in seconds. The default is 30 seconds. clientRequestID is the caller-generated request identity, in the form of -// a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID -// is whether the server should return the client-request-id identifier in the response. ocpDate is the time the -// request was issued. If not specified, this header will be automatically populated with the current system clock -// time. -func (client ComputeNodeClient) GetRemoteLoginSettings(ctx context.Context, poolID string, nodeID string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result ComputeNodeGetRemoteLoginSettingsResult, err error) { - req, err := client.GetRemoteLoginSettingsPreparer(ctx, poolID, nodeID, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "GetRemoteLoginSettings", nil, "Failure preparing request") - return - } - - resp, err := client.GetRemoteLoginSettingsSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "GetRemoteLoginSettings", resp, "Failure sending request") - return - } - - result, err = client.GetRemoteLoginSettingsResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "GetRemoteLoginSettings", resp, "Failure responding to request") - } - - return -} - -// GetRemoteLoginSettingsPreparer prepares the GetRemoteLoginSettings request. -func (client ComputeNodeClient) GetRemoteLoginSettingsPreparer(ctx context.Context, poolID string, nodeID string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "nodeId": autorest.Encode("path", nodeID), - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2016-02-01.3.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/nodes/{nodeId}/remoteloginsettings", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetRemoteLoginSettingsSender sends the GetRemoteLoginSettings request. The method will close the -// http.Response Body if it receives an error. -func (client ComputeNodeClient) GetRemoteLoginSettingsSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// GetRemoteLoginSettingsResponder handles the response to the GetRemoteLoginSettings request. The method always -// closes the http.Response Body. -func (client ComputeNodeClient) GetRemoteLoginSettingsResponder(resp *http.Response) (result ComputeNodeGetRemoteLoginSettingsResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// List lists the compute nodes in the specified pool. -// -// poolID is the id of the pool from which you want to list nodes. filter is an OData $filter clause. -// selectParameter is an OData $select clause. maxResults is the maximum number of items to return in the response. -// timeout is the maximum time that the server can spend processing the request, in seconds. The default is 30 -// seconds. clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such -// as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should -// return the client-request-id identifier in the response. ocpDate is the time the request was issued. If not -// specified, this header will be automatically populated with the current system clock time. -func (client ComputeNodeClient) List(ctx context.Context, poolID string, filter string, selectParameter string, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result ComputeNodeListResultPage, err error) { - result.fn = client.listNextResults - req, err := client.ListPreparer(ctx, poolID, filter, selectParameter, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "List", nil, "Failure preparing request") - return - } - - resp, err := client.ListSender(req) - if err != nil { - result.cnlr.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "List", resp, "Failure sending request") - return - } - - result.cnlr, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "List", resp, "Failure responding to request") - } - - return -} - -// ListPreparer prepares the List request. -func (client ComputeNodeClient) ListPreparer(ctx context.Context, poolID string, filter string, selectParameter string, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2016-02-01.3.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(filter) > 0 { - queryParameters["$filter"] = autorest.Encode("query", filter) - } - if len(selectParameter) > 0 { - queryParameters["$select"] = autorest.Encode("query", selectParameter) - } - if maxResults != nil { - queryParameters["maxresults"] = autorest.Encode("query", *maxResults) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/nodes", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListSender sends the List request. The method will close the -// http.Response Body if it receives an error. -func (client ComputeNodeClient) ListSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ListResponder handles the response to the List request. The method always -// closes the http.Response Body. -func (client ComputeNodeClient) ListResponder(resp *http.Response) (result ComputeNodeListResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listNextResults retrieves the next set of results, if any. -func (client ComputeNodeClient) listNextResults(lastResults ComputeNodeListResult) (result ComputeNodeListResult, err error) { - req, err := lastResults.computeNodeListResultPreparer() - if err != nil { - return result, autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "listNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "listNextResults", resp, "Failure sending next results request") - } - result, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "listNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListComplete enumerates all values, automatically crossing page boundaries as required. -func (client ComputeNodeClient) ListComplete(ctx context.Context, poolID string, filter string, selectParameter string, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result ComputeNodeListResultIterator, err error) { - result.page, err = client.List(ctx, poolID, filter, selectParameter, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - return -} - -// Reboot restarts the specified compute node. -// -// poolID is the id of the pool that contains the compute node. nodeID is the id of the compute node that you want -// to restart. nodeRebootParameter is the parameters for the request. timeout is the maximum time that the server -// can spend processing the request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated -// request identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id identifier in the response. ocpDate is the time the request was issued. If not specified, this -// header will be automatically populated with the current system clock time. -func (client ComputeNodeClient) Reboot(ctx context.Context, poolID string, nodeID string, nodeRebootParameter *NodeRebootParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.RebootPreparer(ctx, poolID, nodeID, nodeRebootParameter, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "Reboot", nil, "Failure preparing request") - return - } - - resp, err := client.RebootSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "Reboot", resp, "Failure sending request") - return - } - - result, err = client.RebootResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "Reboot", resp, "Failure responding to request") - } - - return -} - -// RebootPreparer prepares the Reboot request. -func (client ComputeNodeClient) RebootPreparer(ctx context.Context, poolID string, nodeID string, nodeRebootParameter *NodeRebootParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "nodeId": autorest.Encode("path", nodeID), - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2016-02-01.3.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/nodes/{nodeId}/reboot", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if nodeRebootParameter != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithJSON(nodeRebootParameter)) - } - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// RebootSender sends the Reboot request. The method will close the -// http.Response Body if it receives an error. -func (client ComputeNodeClient) RebootSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// RebootResponder handles the response to the Reboot request. The method always -// closes the http.Response Body. -func (client ComputeNodeClient) RebootResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByClosing()) - result.Response = resp - return -} - -// Reimage reinstalls the operating system on the specified compute node. -// -// poolID is the id of the pool that contains the compute node. nodeID is the id of the compute node that you want -// to restart. nodeReimageParameter is the parameters for the request. timeout is the maximum time that the server -// can spend processing the request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated -// request identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id identifier in the response. ocpDate is the time the request was issued. If not specified, this -// header will be automatically populated with the current system clock time. -func (client ComputeNodeClient) Reimage(ctx context.Context, poolID string, nodeID string, nodeReimageParameter *NodeReimageParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.ReimagePreparer(ctx, poolID, nodeID, nodeReimageParameter, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "Reimage", nil, "Failure preparing request") - return - } - - resp, err := client.ReimageSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "Reimage", resp, "Failure sending request") - return - } - - result, err = client.ReimageResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "Reimage", resp, "Failure responding to request") - } - - return -} - -// ReimagePreparer prepares the Reimage request. -func (client ComputeNodeClient) ReimagePreparer(ctx context.Context, poolID string, nodeID string, nodeReimageParameter *NodeReimageParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "nodeId": autorest.Encode("path", nodeID), - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2016-02-01.3.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/nodes/{nodeId}/reimage", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if nodeReimageParameter != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithJSON(nodeReimageParameter)) - } - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ReimageSender sends the Reimage request. The method will close the -// http.Response Body if it receives an error. -func (client ComputeNodeClient) ReimageSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ReimageResponder handles the response to the Reimage request. The method always -// closes the http.Response Body. -func (client ComputeNodeClient) ReimageResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByClosing()) - result.Response = resp - return -} - -// UpdateUser updates the password or expiration time of a user account on the specified compute node. -// -// poolID is the id of the pool that contains the compute node. nodeID is the id of the machine on which you want -// to update a user account. userName is the name of the user account to update. nodeUpdateUserParameter is the -// parameters for the request. timeout is the maximum time that the server can spend processing the request, in -// seconds. The default is 30 seconds. clientRequestID is the caller-generated request identity, in the form of a -// GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID -// is whether the server should return the client-request-id identifier in the response. ocpDate is the time the -// request was issued. If not specified, this header will be automatically populated with the current system clock -// time. -func (client ComputeNodeClient) UpdateUser(ctx context.Context, poolID string, nodeID string, userName string, nodeUpdateUserParameter NodeUpdateUserParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.UpdateUserPreparer(ctx, poolID, nodeID, userName, nodeUpdateUserParameter, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "UpdateUser", nil, "Failure preparing request") - return - } - - resp, err := client.UpdateUserSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "UpdateUser", resp, "Failure sending request") - return - } - - result, err = client.UpdateUserResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "UpdateUser", resp, "Failure responding to request") - } - - return -} - -// UpdateUserPreparer prepares the UpdateUser request. -func (client ComputeNodeClient) UpdateUserPreparer(ctx context.Context, poolID string, nodeID string, userName string, nodeUpdateUserParameter NodeUpdateUserParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "nodeId": autorest.Encode("path", nodeID), - "poolId": autorest.Encode("path", poolID), - "userName": autorest.Encode("path", userName), - } - - const APIVersion = "2016-02-01.3.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPut(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/nodes/{nodeId}/users/{userName}", pathParameters), - autorest.WithJSON(nodeUpdateUserParameter), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// UpdateUserSender sends the UpdateUser request. The method will close the -// http.Response Body if it receives an error. -func (client ComputeNodeClient) UpdateUserSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// UpdateUserResponder handles the response to the UpdateUser request. The method always -// closes the http.Response Body. -func (client ComputeNodeClient) UpdateUserResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} diff --git a/services/batch/2016-02-01.3.0/batch/file.go b/services/batch/2016-02-01.3.0/batch/file.go deleted file mode 100644 index 925425078c27..000000000000 --- a/services/batch/2016-02-01.3.0/batch/file.go +++ /dev/null @@ -1,887 +0,0 @@ -package batch - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/autorest/date" - "net/http" -) - -// FileClient is the a client for issuing REST requests to the Azure Batch service. -type FileClient struct { - BaseClient -} - -// NewFileClient creates an instance of the FileClient client. -func NewFileClient() FileClient { - return NewFileClientWithBaseURI(DefaultBaseURI) -} - -// NewFileClientWithBaseURI creates an instance of the FileClient client. -func NewFileClientWithBaseURI(baseURI string) FileClient { - return FileClient{NewWithBaseURI(baseURI)} -} - -// DeleteFromComputeNode deletes the specified task file from the compute node. -// -// poolID is the id of the pool that contains the compute node. nodeID is the id of the compute node from which you -// want to delete the file. fileName is the path to the file that you want to delete. recursive is whether to -// delete children of a directory. If the fileName parameter represents a directory instead of a file, you can set -// Recursive to true to delete the directory and all of the files and subdirectories in it. If Recursive is false -// then the directory must be empty or deletion will fail. timeout is the maximum time that the server can spend -// processing the request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated request -// identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id identifier in the response. ocpDate is the time the request was issued. If not specified, this -// header will be automatically populated with the current system clock time. -func (client FileClient) DeleteFromComputeNode(ctx context.Context, poolID string, nodeID string, fileName string, recursive *bool, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.DeleteFromComputeNodePreparer(ctx, poolID, nodeID, fileName, recursive, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "DeleteFromComputeNode", nil, "Failure preparing request") - return - } - - resp, err := client.DeleteFromComputeNodeSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.FileClient", "DeleteFromComputeNode", resp, "Failure sending request") - return - } - - result, err = client.DeleteFromComputeNodeResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "DeleteFromComputeNode", resp, "Failure responding to request") - } - - return -} - -// DeleteFromComputeNodePreparer prepares the DeleteFromComputeNode request. -func (client FileClient) DeleteFromComputeNodePreparer(ctx context.Context, poolID string, nodeID string, fileName string, recursive *bool, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "fileName": autorest.Encode("path", fileName), - "nodeId": autorest.Encode("path", nodeID), - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2016-02-01.3.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if recursive != nil { - queryParameters["recursive"] = autorest.Encode("query", *recursive) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsDelete(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/nodes/{nodeId}/files/{fileName}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DeleteFromComputeNodeSender sends the DeleteFromComputeNode request. The method will close the -// http.Response Body if it receives an error. -func (client FileClient) DeleteFromComputeNodeSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// DeleteFromComputeNodeResponder handles the response to the DeleteFromComputeNode request. The method always -// closes the http.Response Body. -func (client FileClient) DeleteFromComputeNodeResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} - -// DeleteFromTask deletes the specified task file from the compute node where the task ran. -// -// jobID is the id of the job that contains the task. taskID is the id of the task whose file you want to delete. -// fileName is the path to the task file that you want to delete. recursive is whether to delete children of a -// directory. If the fileName parameter represents a directory instead of a file, you can set Recursive to true to -// delete the directory and all of the files and subdirectories in it. If Recursive is false then the directory -// must be empty or deletion will fail. timeout is the maximum time that the server can spend processing the -// request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated request identity, in the -// form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. -// returnClientRequestID is whether the server should return the client-request-id identifier in the response. -// ocpDate is the time the request was issued. If not specified, this header will be automatically populated with -// the current system clock time. -func (client FileClient) DeleteFromTask(ctx context.Context, jobID string, taskID string, fileName string, recursive *bool, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.DeleteFromTaskPreparer(ctx, jobID, taskID, fileName, recursive, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "DeleteFromTask", nil, "Failure preparing request") - return - } - - resp, err := client.DeleteFromTaskSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.FileClient", "DeleteFromTask", resp, "Failure sending request") - return - } - - result, err = client.DeleteFromTaskResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "DeleteFromTask", resp, "Failure responding to request") - } - - return -} - -// DeleteFromTaskPreparer prepares the DeleteFromTask request. -func (client FileClient) DeleteFromTaskPreparer(ctx context.Context, jobID string, taskID string, fileName string, recursive *bool, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "fileName": autorest.Encode("path", fileName), - "jobId": autorest.Encode("path", jobID), - "taskId": autorest.Encode("path", taskID), - } - - const APIVersion = "2016-02-01.3.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if recursive != nil { - queryParameters["recursive"] = autorest.Encode("query", *recursive) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsDelete(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}/tasks/{taskId}/files/{fileName}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DeleteFromTaskSender sends the DeleteFromTask request. The method will close the -// http.Response Body if it receives an error. -func (client FileClient) DeleteFromTaskSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// DeleteFromTaskResponder handles the response to the DeleteFromTask request. The method always -// closes the http.Response Body. -func (client FileClient) DeleteFromTaskResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} - -// GetFromComputeNode returns the content of the specified task file. -// -// poolID is the id of the pool that contains the compute node. nodeID is the id of the compute node that contains -// the file. fileName is the path to the task file that you want to get the content of. timeout is the maximum time -// that the server can spend processing the request, in seconds. The default is 30 seconds. clientRequestID is the -// caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id identifier in the response. ocpDate is the time the request was issued. If not specified, this -// header will be automatically populated with the current system clock time. ocpRange is the byte range to be -// retrieved. The default is to retrieve the entire file. The format is startRange-endRange. ifModifiedSince is -// specify this header to perform the operation only if the resource has been modified since the specified -// date/time. ifUnmodifiedSince is specify this header to perform the operation only if the resource has not been -// modified since the specified date/time. -func (client FileClient) GetFromComputeNode(ctx context.Context, poolID string, nodeID string, fileName string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ocpRange string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result ReadCloser, err error) { - req, err := client.GetFromComputeNodePreparer(ctx, poolID, nodeID, fileName, timeout, clientRequestID, returnClientRequestID, ocpDate, ocpRange, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "GetFromComputeNode", nil, "Failure preparing request") - return - } - - resp, err := client.GetFromComputeNodeSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.FileClient", "GetFromComputeNode", resp, "Failure sending request") - return - } - - result, err = client.GetFromComputeNodeResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "GetFromComputeNode", resp, "Failure responding to request") - } - - return -} - -// GetFromComputeNodePreparer prepares the GetFromComputeNode request. -func (client FileClient) GetFromComputeNodePreparer(ctx context.Context, poolID string, nodeID string, fileName string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ocpRange string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "fileName": autorest.Encode("path", fileName), - "nodeId": autorest.Encode("path", nodeID), - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2016-02-01.3.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/nodes/{nodeId}/files/{fileName}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ocpRange) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-range", autorest.String(ocpRange))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetFromComputeNodeSender sends the GetFromComputeNode request. The method will close the -// http.Response Body if it receives an error. -func (client FileClient) GetFromComputeNodeSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// GetFromComputeNodeResponder handles the response to the GetFromComputeNode request. The method always -// closes the http.Response Body. -func (client FileClient) GetFromComputeNodeResponder(resp *http.Response) (result ReadCloser, err error) { - result.Value = &resp.Body - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK)) - result.Response = autorest.Response{Response: resp} - return -} - -// GetFromTask returns the content of the specified task file. -// -// jobID is the id of the job that contains the task. taskID is the id of the task whose file you want to retrieve. -// fileName is the path to the task file that you want to get the content of. timeout is the maximum time that the -// server can spend processing the request, in seconds. The default is 30 seconds. clientRequestID is the -// caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id identifier in the response. ocpDate is the time the request was issued. If not specified, this -// header will be automatically populated with the current system clock time. ocpRange is the byte range to be -// retrieved. The default is to retrieve the entire file. The format is startRange-endRange. ifModifiedSince is -// specify this header to perform the operation only if the resource has been modified since the specified -// date/time. ifUnmodifiedSince is specify this header to perform the operation only if the resource has not been -// modified since the specified date/time. -func (client FileClient) GetFromTask(ctx context.Context, jobID string, taskID string, fileName string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ocpRange string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result ReadCloser, err error) { - req, err := client.GetFromTaskPreparer(ctx, jobID, taskID, fileName, timeout, clientRequestID, returnClientRequestID, ocpDate, ocpRange, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "GetFromTask", nil, "Failure preparing request") - return - } - - resp, err := client.GetFromTaskSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.FileClient", "GetFromTask", resp, "Failure sending request") - return - } - - result, err = client.GetFromTaskResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "GetFromTask", resp, "Failure responding to request") - } - - return -} - -// GetFromTaskPreparer prepares the GetFromTask request. -func (client FileClient) GetFromTaskPreparer(ctx context.Context, jobID string, taskID string, fileName string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ocpRange string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "fileName": autorest.Encode("path", fileName), - "jobId": autorest.Encode("path", jobID), - "taskId": autorest.Encode("path", taskID), - } - - const APIVersion = "2016-02-01.3.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}/tasks/{taskId}/files/{fileName}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ocpRange) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-range", autorest.String(ocpRange))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetFromTaskSender sends the GetFromTask request. The method will close the -// http.Response Body if it receives an error. -func (client FileClient) GetFromTaskSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// GetFromTaskResponder handles the response to the GetFromTask request. The method always -// closes the http.Response Body. -func (client FileClient) GetFromTaskResponder(resp *http.Response) (result ReadCloser, err error) { - result.Value = &resp.Body - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK)) - result.Response = autorest.Response{Response: resp} - return -} - -// GetNodeFilePropertiesFromComputeNode gets the properties of the specified compute node file. -// -// poolID is the id of the pool that contains the compute node. nodeID is the id of the compute node that contains -// the file. fileName is the path to the compute node file that you want to get the properties of. timeout is the -// maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. -// clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such as curly -// braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id identifier in the response. ocpDate is the time the request was issued. If not specified, this -// header will be automatically populated with the current system clock time. ifModifiedSince is specify this -// header to perform the operation only if the resource has been modified since the specified date/time. -// ifUnmodifiedSince is specify this header to perform the operation only if the resource has not been modified -// since the specified date/time. -func (client FileClient) GetNodeFilePropertiesFromComputeNode(ctx context.Context, poolID string, nodeID string, fileName string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.GetNodeFilePropertiesFromComputeNodePreparer(ctx, poolID, nodeID, fileName, timeout, clientRequestID, returnClientRequestID, ocpDate, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "GetNodeFilePropertiesFromComputeNode", nil, "Failure preparing request") - return - } - - resp, err := client.GetNodeFilePropertiesFromComputeNodeSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.FileClient", "GetNodeFilePropertiesFromComputeNode", resp, "Failure sending request") - return - } - - result, err = client.GetNodeFilePropertiesFromComputeNodeResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "GetNodeFilePropertiesFromComputeNode", resp, "Failure responding to request") - } - - return -} - -// GetNodeFilePropertiesFromComputeNodePreparer prepares the GetNodeFilePropertiesFromComputeNode request. -func (client FileClient) GetNodeFilePropertiesFromComputeNodePreparer(ctx context.Context, poolID string, nodeID string, fileName string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "fileName": autorest.Encode("path", fileName), - "nodeId": autorest.Encode("path", nodeID), - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2016-02-01.3.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsHead(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/nodes/{nodeId}/files/{fileName}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetNodeFilePropertiesFromComputeNodeSender sends the GetNodeFilePropertiesFromComputeNode request. The method will close the -// http.Response Body if it receives an error. -func (client FileClient) GetNodeFilePropertiesFromComputeNodeSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// GetNodeFilePropertiesFromComputeNodeResponder handles the response to the GetNodeFilePropertiesFromComputeNode request. The method always -// closes the http.Response Body. -func (client FileClient) GetNodeFilePropertiesFromComputeNodeResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} - -// GetNodeFilePropertiesFromTask gets the properties of the specified task file. -// -// jobID is the id of the job that contains the task. taskID is the id of the task whose file you want to get the -// properties of. fileName is the path to the task file that you want to get the properties of. timeout is the -// maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. -// clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such as curly -// braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id identifier in the response. ocpDate is the time the request was issued. If not specified, this -// header will be automatically populated with the current system clock time. ifModifiedSince is specify this -// header to perform the operation only if the resource has been modified since the specified date/time. -// ifUnmodifiedSince is specify this header to perform the operation only if the resource has not been modified -// since the specified date/time. -func (client FileClient) GetNodeFilePropertiesFromTask(ctx context.Context, jobID string, taskID string, fileName string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.GetNodeFilePropertiesFromTaskPreparer(ctx, jobID, taskID, fileName, timeout, clientRequestID, returnClientRequestID, ocpDate, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "GetNodeFilePropertiesFromTask", nil, "Failure preparing request") - return - } - - resp, err := client.GetNodeFilePropertiesFromTaskSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.FileClient", "GetNodeFilePropertiesFromTask", resp, "Failure sending request") - return - } - - result, err = client.GetNodeFilePropertiesFromTaskResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "GetNodeFilePropertiesFromTask", resp, "Failure responding to request") - } - - return -} - -// GetNodeFilePropertiesFromTaskPreparer prepares the GetNodeFilePropertiesFromTask request. -func (client FileClient) GetNodeFilePropertiesFromTaskPreparer(ctx context.Context, jobID string, taskID string, fileName string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "fileName": autorest.Encode("path", fileName), - "jobId": autorest.Encode("path", jobID), - "taskId": autorest.Encode("path", taskID), - } - - const APIVersion = "2016-02-01.3.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsHead(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}/tasks/{taskId}/files/{fileName}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetNodeFilePropertiesFromTaskSender sends the GetNodeFilePropertiesFromTask request. The method will close the -// http.Response Body if it receives an error. -func (client FileClient) GetNodeFilePropertiesFromTaskSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// GetNodeFilePropertiesFromTaskResponder handles the response to the GetNodeFilePropertiesFromTask request. The method always -// closes the http.Response Body. -func (client FileClient) GetNodeFilePropertiesFromTaskResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} - -// ListFromComputeNode lists all of the files in task directories on the specified compute node. -// -// poolID is the id of the pool that contains the compute node. nodeID is the id of the compute node whose files -// you want to list. filter is an OData $filter clause. recursive is whether to list children of a directory. -// maxResults is the maximum number of items to return in the response. timeout is the maximum time that the server -// can spend processing the request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated -// request identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id identifier in the response. ocpDate is the time the request was issued. If not specified, this -// header will be automatically populated with the current system clock time. -func (client FileClient) ListFromComputeNode(ctx context.Context, poolID string, nodeID string, filter string, recursive *bool, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result NodeFileListResultPage, err error) { - result.fn = client.listFromComputeNodeNextResults - req, err := client.ListFromComputeNodePreparer(ctx, poolID, nodeID, filter, recursive, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "ListFromComputeNode", nil, "Failure preparing request") - return - } - - resp, err := client.ListFromComputeNodeSender(req) - if err != nil { - result.nflr.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.FileClient", "ListFromComputeNode", resp, "Failure sending request") - return - } - - result.nflr, err = client.ListFromComputeNodeResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "ListFromComputeNode", resp, "Failure responding to request") - } - - return -} - -// ListFromComputeNodePreparer prepares the ListFromComputeNode request. -func (client FileClient) ListFromComputeNodePreparer(ctx context.Context, poolID string, nodeID string, filter string, recursive *bool, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "nodeId": autorest.Encode("path", nodeID), - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2016-02-01.3.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(filter) > 0 { - queryParameters["$filter"] = autorest.Encode("query", filter) - } - if recursive != nil { - queryParameters["recursive"] = autorest.Encode("query", *recursive) - } - if maxResults != nil { - queryParameters["maxresults"] = autorest.Encode("query", *maxResults) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/nodes/{nodeId}/files", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListFromComputeNodeSender sends the ListFromComputeNode request. The method will close the -// http.Response Body if it receives an error. -func (client FileClient) ListFromComputeNodeSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ListFromComputeNodeResponder handles the response to the ListFromComputeNode request. The method always -// closes the http.Response Body. -func (client FileClient) ListFromComputeNodeResponder(resp *http.Response) (result NodeFileListResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listFromComputeNodeNextResults retrieves the next set of results, if any. -func (client FileClient) listFromComputeNodeNextResults(lastResults NodeFileListResult) (result NodeFileListResult, err error) { - req, err := lastResults.nodeFileListResultPreparer() - if err != nil { - return result, autorest.NewErrorWithError(err, "batch.FileClient", "listFromComputeNodeNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListFromComputeNodeSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "batch.FileClient", "listFromComputeNodeNextResults", resp, "Failure sending next results request") - } - result, err = client.ListFromComputeNodeResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "listFromComputeNodeNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListFromComputeNodeComplete enumerates all values, automatically crossing page boundaries as required. -func (client FileClient) ListFromComputeNodeComplete(ctx context.Context, poolID string, nodeID string, filter string, recursive *bool, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result NodeFileListResultIterator, err error) { - result.page, err = client.ListFromComputeNode(ctx, poolID, nodeID, filter, recursive, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - return -} - -// ListFromTask lists the files in a task's directory on its compute node. -// -// jobID is the id of the job that contains the task. taskID is the id of the task whose files you want to list. -// filter is an OData $filter clause. recursive is whether to list children of a directory. maxResults is the -// maximum number of items to return in the response. timeout is the maximum time that the server can spend -// processing the request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated request -// identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id identifier in the response. ocpDate is the time the request was issued. If not specified, this -// header will be automatically populated with the current system clock time. -func (client FileClient) ListFromTask(ctx context.Context, jobID string, taskID string, filter string, recursive *bool, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result NodeFileListResultPage, err error) { - result.fn = client.listFromTaskNextResults - req, err := client.ListFromTaskPreparer(ctx, jobID, taskID, filter, recursive, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "ListFromTask", nil, "Failure preparing request") - return - } - - resp, err := client.ListFromTaskSender(req) - if err != nil { - result.nflr.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.FileClient", "ListFromTask", resp, "Failure sending request") - return - } - - result.nflr, err = client.ListFromTaskResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "ListFromTask", resp, "Failure responding to request") - } - - return -} - -// ListFromTaskPreparer prepares the ListFromTask request. -func (client FileClient) ListFromTaskPreparer(ctx context.Context, jobID string, taskID string, filter string, recursive *bool, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - "taskId": autorest.Encode("path", taskID), - } - - const APIVersion = "2016-02-01.3.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(filter) > 0 { - queryParameters["$filter"] = autorest.Encode("query", filter) - } - if recursive != nil { - queryParameters["recursive"] = autorest.Encode("query", *recursive) - } - if maxResults != nil { - queryParameters["maxresults"] = autorest.Encode("query", *maxResults) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}/tasks/{taskId}/files", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListFromTaskSender sends the ListFromTask request. The method will close the -// http.Response Body if it receives an error. -func (client FileClient) ListFromTaskSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ListFromTaskResponder handles the response to the ListFromTask request. The method always -// closes the http.Response Body. -func (client FileClient) ListFromTaskResponder(resp *http.Response) (result NodeFileListResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listFromTaskNextResults retrieves the next set of results, if any. -func (client FileClient) listFromTaskNextResults(lastResults NodeFileListResult) (result NodeFileListResult, err error) { - req, err := lastResults.nodeFileListResultPreparer() - if err != nil { - return result, autorest.NewErrorWithError(err, "batch.FileClient", "listFromTaskNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListFromTaskSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "batch.FileClient", "listFromTaskNextResults", resp, "Failure sending next results request") - } - result, err = client.ListFromTaskResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "listFromTaskNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListFromTaskComplete enumerates all values, automatically crossing page boundaries as required. -func (client FileClient) ListFromTaskComplete(ctx context.Context, jobID string, taskID string, filter string, recursive *bool, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result NodeFileListResultIterator, err error) { - result.page, err = client.ListFromTask(ctx, jobID, taskID, filter, recursive, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - return -} diff --git a/services/batch/2016-02-01.3.0/batch/job.go b/services/batch/2016-02-01.3.0/batch/job.go deleted file mode 100644 index 936189dc2f66..000000000000 --- a/services/batch/2016-02-01.3.0/batch/job.go +++ /dev/null @@ -1,1366 +0,0 @@ -package batch - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/autorest/date" - "github.com/Azure/go-autorest/autorest/validation" - "net/http" -) - -// JobClient is the a client for issuing REST requests to the Azure Batch service. -type JobClient struct { - BaseClient -} - -// NewJobClient creates an instance of the JobClient client. -func NewJobClient() JobClient { - return NewJobClientWithBaseURI(DefaultBaseURI) -} - -// NewJobClientWithBaseURI creates an instance of the JobClient client. -func NewJobClientWithBaseURI(baseURI string) JobClient { - return JobClient{NewWithBaseURI(baseURI)} -} - -// Add adds a job to the specified account. -// -// job is the job to be added. timeout is the maximum time that the server can spend processing the request, in -// seconds. The default is 30 seconds. clientRequestID is the caller-generated request identity, in the form of a -// GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID -// is whether the server should return the client-request-id identifier in the response. ocpDate is the time the -// request was issued. If not specified, this header will be automatically populated with the current system clock -// time. -func (client JobClient) Add(ctx context.Context, job JobAddParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: job, - Constraints: []validation.Constraint{{Target: "job.ID", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "job.PoolInfo", Name: validation.Null, Rule: true, - Chain: []validation.Constraint{{Target: "job.PoolInfo.AutoPoolSpecification", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "job.PoolInfo.AutoPoolSpecification.Pool", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "job.PoolInfo.AutoPoolSpecification.Pool.CloudServiceConfiguration", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "job.PoolInfo.AutoPoolSpecification.Pool.CloudServiceConfiguration.OsFamily", Name: validation.Null, Rule: true, Chain: nil}}}, - {Target: "job.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "job.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.ImageReference", Name: validation.Null, Rule: true, - Chain: []validation.Constraint{{Target: "job.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.ImageReference.Publisher", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "job.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.ImageReference.Offer", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "job.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.ImageReference.Sku", Name: validation.Null, Rule: true, Chain: nil}, - }}, - {Target: "job.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.NodeAgentSKUID", Name: validation.Null, Rule: true, Chain: nil}, - }}, - }}, - }}, - }}}}}); err != nil { - return result, validation.NewError("batch.JobClient", "Add", err.Error()) - } - - req, err := client.AddPreparer(ctx, job, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "Add", nil, "Failure preparing request") - return - } - - resp, err := client.AddSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.JobClient", "Add", resp, "Failure sending request") - return - } - - result, err = client.AddResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "Add", resp, "Failure responding to request") - } - - return -} - -// AddPreparer prepares the Add request. -func (client JobClient) AddPreparer(ctx context.Context, job JobAddParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - const APIVersion = "2016-02-01.3.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPath("/jobs"), - autorest.WithJSON(job), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// AddSender sends the Add request. The method will close the -// http.Response Body if it receives an error. -func (client JobClient) AddSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// AddResponder handles the response to the Add request. The method always -// closes the http.Response Body. -func (client JobClient) AddResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), - autorest.ByClosing()) - result.Response = resp - return -} - -// Delete deletes a job. -// -// jobID is the id of the job to delete. timeout is the maximum time that the server can spend processing the -// request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated request identity, in the -// form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. -// returnClientRequestID is whether the server should return the client-request-id identifier in the response. -// ocpDate is the time the request was issued. If not specified, this header will be automatically populated with -// the current system clock time. ifMatch is an ETag is specified. Specify this header to perform the operation -// only if the resource's ETag is an exact match as specified. ifNoneMatch is an ETag is specified. Specify this -// header to perform the operation only if the resource's ETag does not match the specified ETag. ifModifiedSince -// is specify this header to perform the operation only if the resource has been modified since the specified -// date/time. ifUnmodifiedSince is specify this header to perform the operation only if the resource has not been -// modified since the specified date/time. -func (client JobClient) Delete(ctx context.Context, jobID string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.DeletePreparer(ctx, jobID, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "Delete", nil, "Failure preparing request") - return - } - - resp, err := client.DeleteSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.JobClient", "Delete", resp, "Failure sending request") - return - } - - result, err = client.DeleteResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "Delete", resp, "Failure responding to request") - } - - return -} - -// DeletePreparer prepares the Delete request. -func (client JobClient) DeletePreparer(ctx context.Context, jobID string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - } - - const APIVersion = "2016-02-01.3.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsDelete(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DeleteSender sends the Delete request. The method will close the -// http.Response Body if it receives an error. -func (client JobClient) DeleteSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// DeleteResponder handles the response to the Delete request. The method always -// closes the http.Response Body. -func (client JobClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByClosing()) - result.Response = resp - return -} - -// Disable disables the specified job, preventing new tasks from running. -// -// jobID is the id of the job to disable. jobDisableParameter is the parameters for the request. timeout is the -// maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. -// clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such as curly -// braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id identifier in the response. ocpDate is the time the request was issued. If not specified, this -// header will be automatically populated with the current system clock time. ifMatch is an ETag is specified. -// Specify this header to perform the operation only if the resource's ETag is an exact match as specified. -// ifNoneMatch is an ETag is specified. Specify this header to perform the operation only if the resource's ETag -// does not match the specified ETag. ifModifiedSince is specify this header to perform the operation only if the -// resource has been modified since the specified date/time. ifUnmodifiedSince is specify this header to perform -// the operation only if the resource has not been modified since the specified date/time. -func (client JobClient) Disable(ctx context.Context, jobID string, jobDisableParameter JobDisableParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.DisablePreparer(ctx, jobID, jobDisableParameter, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "Disable", nil, "Failure preparing request") - return - } - - resp, err := client.DisableSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.JobClient", "Disable", resp, "Failure sending request") - return - } - - result, err = client.DisableResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "Disable", resp, "Failure responding to request") - } - - return -} - -// DisablePreparer prepares the Disable request. -func (client JobClient) DisablePreparer(ctx context.Context, jobID string, jobDisableParameter JobDisableParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - } - - const APIVersion = "2016-02-01.3.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}/disable", pathParameters), - autorest.WithJSON(jobDisableParameter), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DisableSender sends the Disable request. The method will close the -// http.Response Body if it receives an error. -func (client JobClient) DisableSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// DisableResponder handles the response to the Disable request. The method always -// closes the http.Response Body. -func (client JobClient) DisableResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByClosing()) - result.Response = resp - return -} - -// Enable enables the specified job, allowing new tasks to run. -// -// jobID is the id of the job to enable. timeout is the maximum time that the server can spend processing the -// request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated request identity, in the -// form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. -// returnClientRequestID is whether the server should return the client-request-id identifier in the response. -// ocpDate is the time the request was issued. If not specified, this header will be automatically populated with -// the current system clock time. ifMatch is an ETag is specified. Specify this header to perform the operation -// only if the resource's ETag is an exact match as specified. ifNoneMatch is an ETag is specified. Specify this -// header to perform the operation only if the resource's ETag does not match the specified ETag. ifModifiedSince -// is specify this header to perform the operation only if the resource has been modified since the specified -// date/time. ifUnmodifiedSince is specify this header to perform the operation only if the resource has not been -// modified since the specified date/time. -func (client JobClient) Enable(ctx context.Context, jobID string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.EnablePreparer(ctx, jobID, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "Enable", nil, "Failure preparing request") - return - } - - resp, err := client.EnableSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.JobClient", "Enable", resp, "Failure sending request") - return - } - - result, err = client.EnableResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "Enable", resp, "Failure responding to request") - } - - return -} - -// EnablePreparer prepares the Enable request. -func (client JobClient) EnablePreparer(ctx context.Context, jobID string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - } - - const APIVersion = "2016-02-01.3.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}/enable", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// EnableSender sends the Enable request. The method will close the -// http.Response Body if it receives an error. -func (client JobClient) EnableSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// EnableResponder handles the response to the Enable request. The method always -// closes the http.Response Body. -func (client JobClient) EnableResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByClosing()) - result.Response = resp - return -} - -// Get gets information about the specified job. -// -// jobID is the id of the job. selectParameter is an OData $select clause. expand is an OData $expand clause. -// timeout is the maximum time that the server can spend processing the request, in seconds. The default is 30 -// seconds. clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such -// as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should -// return the client-request-id identifier in the response. ocpDate is the time the request was issued. If not -// specified, this header will be automatically populated with the current system clock time. -func (client JobClient) Get(ctx context.Context, jobID string, selectParameter string, expand string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result CloudJob, err error) { - req, err := client.GetPreparer(ctx, jobID, selectParameter, expand, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "Get", nil, "Failure preparing request") - return - } - - resp, err := client.GetSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.JobClient", "Get", resp, "Failure sending request") - return - } - - result, err = client.GetResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "Get", resp, "Failure responding to request") - } - - return -} - -// GetPreparer prepares the Get request. -func (client JobClient) GetPreparer(ctx context.Context, jobID string, selectParameter string, expand string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - } - - const APIVersion = "2016-02-01.3.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(selectParameter) > 0 { - queryParameters["$select"] = autorest.Encode("query", selectParameter) - } - if len(expand) > 0 { - queryParameters["$expand"] = autorest.Encode("query", expand) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetSender sends the Get request. The method will close the -// http.Response Body if it receives an error. -func (client JobClient) GetSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// GetResponder handles the response to the Get request. The method always -// closes the http.Response Body. -func (client JobClient) GetResponder(resp *http.Response) (result CloudJob, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// GetAllJobsLifetimeStatistics gets lifetime summary statistics for all of the jobs in the specified account. -// Statistics are aggregated across all jobs that have ever existed in the account, from account creation to the last -// update time of the statistics. -// -// timeout is the maximum time that the server can spend processing the request, in seconds. The default is 30 -// seconds. clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such -// as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should -// return the client-request-id identifier in the response. ocpDate is the time the request was issued. If not -// specified, this header will be automatically populated with the current system clock time. -func (client JobClient) GetAllJobsLifetimeStatistics(ctx context.Context, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result JobStatistics, err error) { - req, err := client.GetAllJobsLifetimeStatisticsPreparer(ctx, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "GetAllJobsLifetimeStatistics", nil, "Failure preparing request") - return - } - - resp, err := client.GetAllJobsLifetimeStatisticsSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.JobClient", "GetAllJobsLifetimeStatistics", resp, "Failure sending request") - return - } - - result, err = client.GetAllJobsLifetimeStatisticsResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "GetAllJobsLifetimeStatistics", resp, "Failure responding to request") - } - - return -} - -// GetAllJobsLifetimeStatisticsPreparer prepares the GetAllJobsLifetimeStatistics request. -func (client JobClient) GetAllJobsLifetimeStatisticsPreparer(ctx context.Context, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - const APIVersion = "2016-02-01.3.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPath("/lifetimejobstats"), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetAllJobsLifetimeStatisticsSender sends the GetAllJobsLifetimeStatistics request. The method will close the -// http.Response Body if it receives an error. -func (client JobClient) GetAllJobsLifetimeStatisticsSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// GetAllJobsLifetimeStatisticsResponder handles the response to the GetAllJobsLifetimeStatistics request. The method always -// closes the http.Response Body. -func (client JobClient) GetAllJobsLifetimeStatisticsResponder(resp *http.Response) (result JobStatistics, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// List lists all of the jobs in the specified account. -// -// filter is an OData $filter clause. selectParameter is an OData $select clause. expand is an OData $expand -// clause. maxResults is the maximum number of items to return in the response. timeout is the maximum time that -// the server can spend processing the request, in seconds. The default is 30 seconds. clientRequestID is the -// caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id identifier in the response. ocpDate is the time the request was issued. If not specified, this -// header will be automatically populated with the current system clock time. -func (client JobClient) List(ctx context.Context, filter string, selectParameter string, expand string, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result CloudJobListResultPage, err error) { - result.fn = client.listNextResults - req, err := client.ListPreparer(ctx, filter, selectParameter, expand, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "List", nil, "Failure preparing request") - return - } - - resp, err := client.ListSender(req) - if err != nil { - result.cjlr.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.JobClient", "List", resp, "Failure sending request") - return - } - - result.cjlr, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "List", resp, "Failure responding to request") - } - - return -} - -// ListPreparer prepares the List request. -func (client JobClient) ListPreparer(ctx context.Context, filter string, selectParameter string, expand string, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - const APIVersion = "2016-02-01.3.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(filter) > 0 { - queryParameters["$filter"] = autorest.Encode("query", filter) - } - if len(selectParameter) > 0 { - queryParameters["$select"] = autorest.Encode("query", selectParameter) - } - if len(expand) > 0 { - queryParameters["$expand"] = autorest.Encode("query", expand) - } - if maxResults != nil { - queryParameters["maxresults"] = autorest.Encode("query", *maxResults) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPath("/jobs"), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListSender sends the List request. The method will close the -// http.Response Body if it receives an error. -func (client JobClient) ListSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ListResponder handles the response to the List request. The method always -// closes the http.Response Body. -func (client JobClient) ListResponder(resp *http.Response) (result CloudJobListResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listNextResults retrieves the next set of results, if any. -func (client JobClient) listNextResults(lastResults CloudJobListResult) (result CloudJobListResult, err error) { - req, err := lastResults.cloudJobListResultPreparer() - if err != nil { - return result, autorest.NewErrorWithError(err, "batch.JobClient", "listNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "batch.JobClient", "listNextResults", resp, "Failure sending next results request") - } - result, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "listNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListComplete enumerates all values, automatically crossing page boundaries as required. -func (client JobClient) ListComplete(ctx context.Context, filter string, selectParameter string, expand string, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result CloudJobListResultIterator, err error) { - result.page, err = client.List(ctx, filter, selectParameter, expand, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - return -} - -// ListFromJobSchedule lists the jobs that have been created under the specified job schedule. -// -// jobScheduleID is the id of the job schedule from which you want to get a list of jobs. filter is an OData -// $filter clause. selectParameter is an OData $select clause. expand is an OData $expand clause. maxResults is the -// maximum number of items to return in the response. timeout is the maximum time that the server can spend -// processing the request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated request -// identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id identifier in the response. ocpDate is the time the request was issued. If not specified, this -// header will be automatically populated with the current system clock time. -func (client JobClient) ListFromJobSchedule(ctx context.Context, jobScheduleID string, filter string, selectParameter string, expand string, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result CloudJobListResultPage, err error) { - result.fn = client.listFromJobScheduleNextResults - req, err := client.ListFromJobSchedulePreparer(ctx, jobScheduleID, filter, selectParameter, expand, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "ListFromJobSchedule", nil, "Failure preparing request") - return - } - - resp, err := client.ListFromJobScheduleSender(req) - if err != nil { - result.cjlr.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.JobClient", "ListFromJobSchedule", resp, "Failure sending request") - return - } - - result.cjlr, err = client.ListFromJobScheduleResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "ListFromJobSchedule", resp, "Failure responding to request") - } - - return -} - -// ListFromJobSchedulePreparer prepares the ListFromJobSchedule request. -func (client JobClient) ListFromJobSchedulePreparer(ctx context.Context, jobScheduleID string, filter string, selectParameter string, expand string, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobScheduleId": autorest.Encode("path", jobScheduleID), - } - - const APIVersion = "2016-02-01.3.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(filter) > 0 { - queryParameters["$filter"] = autorest.Encode("query", filter) - } - if len(selectParameter) > 0 { - queryParameters["$select"] = autorest.Encode("query", selectParameter) - } - if len(expand) > 0 { - queryParameters["$expand"] = autorest.Encode("query", expand) - } - if maxResults != nil { - queryParameters["maxresults"] = autorest.Encode("query", *maxResults) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobschedules/{jobScheduleId}/jobs", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListFromJobScheduleSender sends the ListFromJobSchedule request. The method will close the -// http.Response Body if it receives an error. -func (client JobClient) ListFromJobScheduleSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ListFromJobScheduleResponder handles the response to the ListFromJobSchedule request. The method always -// closes the http.Response Body. -func (client JobClient) ListFromJobScheduleResponder(resp *http.Response) (result CloudJobListResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listFromJobScheduleNextResults retrieves the next set of results, if any. -func (client JobClient) listFromJobScheduleNextResults(lastResults CloudJobListResult) (result CloudJobListResult, err error) { - req, err := lastResults.cloudJobListResultPreparer() - if err != nil { - return result, autorest.NewErrorWithError(err, "batch.JobClient", "listFromJobScheduleNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListFromJobScheduleSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "batch.JobClient", "listFromJobScheduleNextResults", resp, "Failure sending next results request") - } - result, err = client.ListFromJobScheduleResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "listFromJobScheduleNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListFromJobScheduleComplete enumerates all values, automatically crossing page boundaries as required. -func (client JobClient) ListFromJobScheduleComplete(ctx context.Context, jobScheduleID string, filter string, selectParameter string, expand string, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result CloudJobListResultIterator, err error) { - result.page, err = client.ListFromJobSchedule(ctx, jobScheduleID, filter, selectParameter, expand, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - return -} - -// ListPreparationAndReleaseTaskStatus lists the execution status of the Job Preparation and Job Release task for the -// specified job across the compute nodes where the job has run. -// -// jobID is the id of the job. filter is an OData $filter clause. selectParameter is an OData $select clause. -// maxResults is the maximum number of items to return in the response. timeout is the maximum time that the server -// can spend processing the request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated -// request identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id identifier in the response. ocpDate is the time the request was issued. If not specified, this -// header will be automatically populated with the current system clock time. -func (client JobClient) ListPreparationAndReleaseTaskStatus(ctx context.Context, jobID string, filter string, selectParameter string, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result CloudJobListPreparationAndReleaseTaskStatusResultPage, err error) { - result.fn = client.listPreparationAndReleaseTaskStatusNextResults - req, err := client.ListPreparationAndReleaseTaskStatusPreparer(ctx, jobID, filter, selectParameter, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "ListPreparationAndReleaseTaskStatus", nil, "Failure preparing request") - return - } - - resp, err := client.ListPreparationAndReleaseTaskStatusSender(req) - if err != nil { - result.cjlpartsr.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.JobClient", "ListPreparationAndReleaseTaskStatus", resp, "Failure sending request") - return - } - - result.cjlpartsr, err = client.ListPreparationAndReleaseTaskStatusResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "ListPreparationAndReleaseTaskStatus", resp, "Failure responding to request") - } - - return -} - -// ListPreparationAndReleaseTaskStatusPreparer prepares the ListPreparationAndReleaseTaskStatus request. -func (client JobClient) ListPreparationAndReleaseTaskStatusPreparer(ctx context.Context, jobID string, filter string, selectParameter string, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - } - - const APIVersion = "2016-02-01.3.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(filter) > 0 { - queryParameters["$filter"] = autorest.Encode("query", filter) - } - if len(selectParameter) > 0 { - queryParameters["$select"] = autorest.Encode("query", selectParameter) - } - if maxResults != nil { - queryParameters["maxresults"] = autorest.Encode("query", *maxResults) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}/jobpreparationandreleasetaskstatus", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListPreparationAndReleaseTaskStatusSender sends the ListPreparationAndReleaseTaskStatus request. The method will close the -// http.Response Body if it receives an error. -func (client JobClient) ListPreparationAndReleaseTaskStatusSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ListPreparationAndReleaseTaskStatusResponder handles the response to the ListPreparationAndReleaseTaskStatus request. The method always -// closes the http.Response Body. -func (client JobClient) ListPreparationAndReleaseTaskStatusResponder(resp *http.Response) (result CloudJobListPreparationAndReleaseTaskStatusResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listPreparationAndReleaseTaskStatusNextResults retrieves the next set of results, if any. -func (client JobClient) listPreparationAndReleaseTaskStatusNextResults(lastResults CloudJobListPreparationAndReleaseTaskStatusResult) (result CloudJobListPreparationAndReleaseTaskStatusResult, err error) { - req, err := lastResults.cloudJobListPreparationAndReleaseTaskStatusResultPreparer() - if err != nil { - return result, autorest.NewErrorWithError(err, "batch.JobClient", "listPreparationAndReleaseTaskStatusNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListPreparationAndReleaseTaskStatusSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "batch.JobClient", "listPreparationAndReleaseTaskStatusNextResults", resp, "Failure sending next results request") - } - result, err = client.ListPreparationAndReleaseTaskStatusResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "listPreparationAndReleaseTaskStatusNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListPreparationAndReleaseTaskStatusComplete enumerates all values, automatically crossing page boundaries as required. -func (client JobClient) ListPreparationAndReleaseTaskStatusComplete(ctx context.Context, jobID string, filter string, selectParameter string, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result CloudJobListPreparationAndReleaseTaskStatusResultIterator, err error) { - result.page, err = client.ListPreparationAndReleaseTaskStatus(ctx, jobID, filter, selectParameter, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - return -} - -// Patch updates the properties of a job. -// -// jobID is the id of the job whose properties you want to update. jobPatchParameter is the parameters for the -// request. timeout is the maximum time that the server can spend processing the request, in seconds. The default -// is 30 seconds. clientRequestID is the caller-generated request identity, in the form of a GUID with no -// decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the -// server should return the client-request-id identifier in the response. ocpDate is the time the request was -// issued. If not specified, this header will be automatically populated with the current system clock time. -// ifMatch is an ETag is specified. Specify this header to perform the operation only if the resource's ETag is an -// exact match as specified. ifNoneMatch is an ETag is specified. Specify this header to perform the operation only -// if the resource's ETag does not match the specified ETag. ifModifiedSince is specify this header to perform the -// operation only if the resource has been modified since the specified date/time. ifUnmodifiedSince is specify -// this header to perform the operation only if the resource has not been modified since the specified date/time. -func (client JobClient) Patch(ctx context.Context, jobID string, jobPatchParameter JobPatchParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.PatchPreparer(ctx, jobID, jobPatchParameter, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "Patch", nil, "Failure preparing request") - return - } - - resp, err := client.PatchSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.JobClient", "Patch", resp, "Failure sending request") - return - } - - result, err = client.PatchResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "Patch", resp, "Failure responding to request") - } - - return -} - -// PatchPreparer prepares the Patch request. -func (client JobClient) PatchPreparer(ctx context.Context, jobID string, jobPatchParameter JobPatchParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - } - - const APIVersion = "2016-02-01.3.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPatch(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}", pathParameters), - autorest.WithJSON(jobPatchParameter), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// PatchSender sends the Patch request. The method will close the -// http.Response Body if it receives an error. -func (client JobClient) PatchSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// PatchResponder handles the response to the Patch request. The method always -// closes the http.Response Body. -func (client JobClient) PatchResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} - -// Terminate terminates the specified job, marking it as completed. -// -// jobID is the id of the job to terminate. jobTerminateParameter is the parameters for the request. timeout is the -// maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. -// clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such as curly -// braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id identifier in the response. ocpDate is the time the request was issued. If not specified, this -// header will be automatically populated with the current system clock time. ifMatch is an ETag is specified. -// Specify this header to perform the operation only if the resource's ETag is an exact match as specified. -// ifNoneMatch is an ETag is specified. Specify this header to perform the operation only if the resource's ETag -// does not match the specified ETag. ifModifiedSince is specify this header to perform the operation only if the -// resource has been modified since the specified date/time. ifUnmodifiedSince is specify this header to perform -// the operation only if the resource has not been modified since the specified date/time. -func (client JobClient) Terminate(ctx context.Context, jobID string, jobTerminateParameter *JobTerminateParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.TerminatePreparer(ctx, jobID, jobTerminateParameter, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "Terminate", nil, "Failure preparing request") - return - } - - resp, err := client.TerminateSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.JobClient", "Terminate", resp, "Failure sending request") - return - } - - result, err = client.TerminateResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "Terminate", resp, "Failure responding to request") - } - - return -} - -// TerminatePreparer prepares the Terminate request. -func (client JobClient) TerminatePreparer(ctx context.Context, jobID string, jobTerminateParameter *JobTerminateParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - } - - const APIVersion = "2016-02-01.3.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}/terminate", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if jobTerminateParameter != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithJSON(jobTerminateParameter)) - } - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// TerminateSender sends the Terminate request. The method will close the -// http.Response Body if it receives an error. -func (client JobClient) TerminateSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// TerminateResponder handles the response to the Terminate request. The method always -// closes the http.Response Body. -func (client JobClient) TerminateResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByClosing()) - result.Response = resp - return -} - -// Update updates the properties of a job. -// -// jobID is the id of the job whose properties you want to update. jobUpdateParameter is the parameters for the -// request. timeout is the maximum time that the server can spend processing the request, in seconds. The default -// is 30 seconds. clientRequestID is the caller-generated request identity, in the form of a GUID with no -// decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the -// server should return the client-request-id identifier in the response. ocpDate is the time the request was -// issued. If not specified, this header will be automatically populated with the current system clock time. -// ifMatch is an ETag is specified. Specify this header to perform the operation only if the resource's ETag is an -// exact match as specified. ifNoneMatch is an ETag is specified. Specify this header to perform the operation only -// if the resource's ETag does not match the specified ETag. ifModifiedSince is specify this header to perform the -// operation only if the resource has been modified since the specified date/time. ifUnmodifiedSince is specify -// this header to perform the operation only if the resource has not been modified since the specified date/time. -func (client JobClient) Update(ctx context.Context, jobID string, jobUpdateParameter JobUpdateParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: jobUpdateParameter, - Constraints: []validation.Constraint{{Target: "jobUpdateParameter.PoolInfo", Name: validation.Null, Rule: true, - Chain: []validation.Constraint{{Target: "jobUpdateParameter.PoolInfo.AutoPoolSpecification", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "jobUpdateParameter.PoolInfo.AutoPoolSpecification.Pool", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "jobUpdateParameter.PoolInfo.AutoPoolSpecification.Pool.CloudServiceConfiguration", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "jobUpdateParameter.PoolInfo.AutoPoolSpecification.Pool.CloudServiceConfiguration.OsFamily", Name: validation.Null, Rule: true, Chain: nil}}}, - {Target: "jobUpdateParameter.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "jobUpdateParameter.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.ImageReference", Name: validation.Null, Rule: true, - Chain: []validation.Constraint{{Target: "jobUpdateParameter.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.ImageReference.Publisher", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "jobUpdateParameter.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.ImageReference.Offer", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "jobUpdateParameter.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.ImageReference.Sku", Name: validation.Null, Rule: true, Chain: nil}, - }}, - {Target: "jobUpdateParameter.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.NodeAgentSKUID", Name: validation.Null, Rule: true, Chain: nil}, - }}, - }}, - }}, - }}}}}); err != nil { - return result, validation.NewError("batch.JobClient", "Update", err.Error()) - } - - req, err := client.UpdatePreparer(ctx, jobID, jobUpdateParameter, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "Update", nil, "Failure preparing request") - return - } - - resp, err := client.UpdateSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.JobClient", "Update", resp, "Failure sending request") - return - } - - result, err = client.UpdateResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "Update", resp, "Failure responding to request") - } - - return -} - -// UpdatePreparer prepares the Update request. -func (client JobClient) UpdatePreparer(ctx context.Context, jobID string, jobUpdateParameter JobUpdateParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - } - - const APIVersion = "2016-02-01.3.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPut(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}", pathParameters), - autorest.WithJSON(jobUpdateParameter), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// UpdateSender sends the Update request. The method will close the -// http.Response Body if it receives an error. -func (client JobClient) UpdateSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// UpdateResponder handles the response to the Update request. The method always -// closes the http.Response Body. -func (client JobClient) UpdateResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} diff --git a/services/batch/2016-02-01.3.0/batch/jobschedule.go b/services/batch/2016-02-01.3.0/batch/jobschedule.go deleted file mode 100644 index 65831800c3d4..000000000000 --- a/services/batch/2016-02-01.3.0/batch/jobschedule.go +++ /dev/null @@ -1,1156 +0,0 @@ -package batch - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/autorest/date" - "github.com/Azure/go-autorest/autorest/validation" - "net/http" -) - -// JobScheduleClient is the a client for issuing REST requests to the Azure Batch service. -type JobScheduleClient struct { - BaseClient -} - -// NewJobScheduleClient creates an instance of the JobScheduleClient client. -func NewJobScheduleClient() JobScheduleClient { - return NewJobScheduleClientWithBaseURI(DefaultBaseURI) -} - -// NewJobScheduleClientWithBaseURI creates an instance of the JobScheduleClient client. -func NewJobScheduleClientWithBaseURI(baseURI string) JobScheduleClient { - return JobScheduleClient{NewWithBaseURI(baseURI)} -} - -// Add adds a job schedule to the specified account. -// -// cloudJobSchedule is the job schedule to be added. timeout is the maximum time that the server can spend -// processing the request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated request -// identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id identifier in the response. ocpDate is the time the request was issued. If not specified, this -// header will be automatically populated with the current system clock time. -func (client JobScheduleClient) Add(ctx context.Context, cloudJobSchedule JobScheduleAddParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: cloudJobSchedule, - Constraints: []validation.Constraint{{Target: "cloudJobSchedule.ID", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "cloudJobSchedule.Schedule", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "cloudJobSchedule.JobSpecification", Name: validation.Null, Rule: true, - Chain: []validation.Constraint{{Target: "cloudJobSchedule.JobSpecification.PoolInfo", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "cloudJobSchedule.JobSpecification.PoolInfo.AutoPoolSpecification", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "cloudJobSchedule.JobSpecification.PoolInfo.AutoPoolSpecification.Pool", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "cloudJobSchedule.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.CloudServiceConfiguration", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "cloudJobSchedule.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.CloudServiceConfiguration.OsFamily", Name: validation.Null, Rule: true, Chain: nil}}}, - {Target: "cloudJobSchedule.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "cloudJobSchedule.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.ImageReference", Name: validation.Null, Rule: true, - Chain: []validation.Constraint{{Target: "cloudJobSchedule.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.ImageReference.Publisher", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "cloudJobSchedule.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.ImageReference.Offer", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "cloudJobSchedule.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.ImageReference.Sku", Name: validation.Null, Rule: true, Chain: nil}, - }}, - {Target: "cloudJobSchedule.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.NodeAgentSKUID", Name: validation.Null, Rule: true, Chain: nil}, - }}, - }}, - }}, - }}, - }}}}}); err != nil { - return result, validation.NewError("batch.JobScheduleClient", "Add", err.Error()) - } - - req, err := client.AddPreparer(ctx, cloudJobSchedule, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Add", nil, "Failure preparing request") - return - } - - resp, err := client.AddSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Add", resp, "Failure sending request") - return - } - - result, err = client.AddResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Add", resp, "Failure responding to request") - } - - return -} - -// AddPreparer prepares the Add request. -func (client JobScheduleClient) AddPreparer(ctx context.Context, cloudJobSchedule JobScheduleAddParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - const APIVersion = "2016-02-01.3.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPath("/jobschedules"), - autorest.WithJSON(cloudJobSchedule), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// AddSender sends the Add request. The method will close the -// http.Response Body if it receives an error. -func (client JobScheduleClient) AddSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// AddResponder handles the response to the Add request. The method always -// closes the http.Response Body. -func (client JobScheduleClient) AddResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), - autorest.ByClosing()) - result.Response = resp - return -} - -// Delete deletes a job schedule from the specified account. -// -// jobScheduleID is the id of the job schedule to delete. timeout is the maximum time that the server can spend -// processing the request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated request -// identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id identifier in the response. ocpDate is the time the request was issued. If not specified, this -// header will be automatically populated with the current system clock time. ifMatch is an ETag is specified. -// Specify this header to perform the operation only if the resource's ETag is an exact match as specified. -// ifNoneMatch is an ETag is specified. Specify this header to perform the operation only if the resource's ETag -// does not match the specified ETag. ifModifiedSince is specify this header to perform the operation only if the -// resource has been modified since the specified date/time. ifUnmodifiedSince is specify this header to perform -// the operation only if the resource has not been modified since the specified date/time. -func (client JobScheduleClient) Delete(ctx context.Context, jobScheduleID string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.DeletePreparer(ctx, jobScheduleID, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Delete", nil, "Failure preparing request") - return - } - - resp, err := client.DeleteSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Delete", resp, "Failure sending request") - return - } - - result, err = client.DeleteResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Delete", resp, "Failure responding to request") - } - - return -} - -// DeletePreparer prepares the Delete request. -func (client JobScheduleClient) DeletePreparer(ctx context.Context, jobScheduleID string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobScheduleId": autorest.Encode("path", jobScheduleID), - } - - const APIVersion = "2016-02-01.3.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsDelete(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobschedules/{jobScheduleId}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DeleteSender sends the Delete request. The method will close the -// http.Response Body if it receives an error. -func (client JobScheduleClient) DeleteSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// DeleteResponder handles the response to the Delete request. The method always -// closes the http.Response Body. -func (client JobScheduleClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByClosing()) - result.Response = resp - return -} - -// Disable disables a job schedule. -// -// jobScheduleID is the id of the job schedule to disable. timeout is the maximum time that the server can spend -// processing the request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated request -// identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id identifier in the response. ocpDate is the time the request was issued. If not specified, this -// header will be automatically populated with the current system clock time. ifMatch is an ETag is specified. -// Specify this header to perform the operation only if the resource's ETag is an exact match as specified. -// ifNoneMatch is an ETag is specified. Specify this header to perform the operation only if the resource's ETag -// does not match the specified ETag. ifModifiedSince is specify this header to perform the operation only if the -// resource has been modified since the specified date/time. ifUnmodifiedSince is specify this header to perform -// the operation only if the resource has not been modified since the specified date/time. -func (client JobScheduleClient) Disable(ctx context.Context, jobScheduleID string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.DisablePreparer(ctx, jobScheduleID, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Disable", nil, "Failure preparing request") - return - } - - resp, err := client.DisableSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Disable", resp, "Failure sending request") - return - } - - result, err = client.DisableResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Disable", resp, "Failure responding to request") - } - - return -} - -// DisablePreparer prepares the Disable request. -func (client JobScheduleClient) DisablePreparer(ctx context.Context, jobScheduleID string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobScheduleId": autorest.Encode("path", jobScheduleID), - } - - const APIVersion = "2016-02-01.3.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobschedules/{jobScheduleId}/disable", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DisableSender sends the Disable request. The method will close the -// http.Response Body if it receives an error. -func (client JobScheduleClient) DisableSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// DisableResponder handles the response to the Disable request. The method always -// closes the http.Response Body. -func (client JobScheduleClient) DisableResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), - autorest.ByClosing()) - result.Response = resp - return -} - -// Enable enables a job schedule. -// -// jobScheduleID is the id of the job schedule to enable. timeout is the maximum time that the server can spend -// processing the request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated request -// identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id identifier in the response. ocpDate is the time the request was issued. If not specified, this -// header will be automatically populated with the current system clock time. ifMatch is an ETag is specified. -// Specify this header to perform the operation only if the resource's ETag is an exact match as specified. -// ifNoneMatch is an ETag is specified. Specify this header to perform the operation only if the resource's ETag -// does not match the specified ETag. ifModifiedSince is specify this header to perform the operation only if the -// resource has been modified since the specified date/time. ifUnmodifiedSince is specify this header to perform -// the operation only if the resource has not been modified since the specified date/time. -func (client JobScheduleClient) Enable(ctx context.Context, jobScheduleID string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.EnablePreparer(ctx, jobScheduleID, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Enable", nil, "Failure preparing request") - return - } - - resp, err := client.EnableSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Enable", resp, "Failure sending request") - return - } - - result, err = client.EnableResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Enable", resp, "Failure responding to request") - } - - return -} - -// EnablePreparer prepares the Enable request. -func (client JobScheduleClient) EnablePreparer(ctx context.Context, jobScheduleID string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobScheduleId": autorest.Encode("path", jobScheduleID), - } - - const APIVersion = "2016-02-01.3.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobschedules/{jobScheduleId}/enable", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// EnableSender sends the Enable request. The method will close the -// http.Response Body if it receives an error. -func (client JobScheduleClient) EnableSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// EnableResponder handles the response to the Enable request. The method always -// closes the http.Response Body. -func (client JobScheduleClient) EnableResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), - autorest.ByClosing()) - result.Response = resp - return -} - -// Exists checks the specified job schedule exists. -// -// jobScheduleID is the id of the job schedule which you want to check. timeout is the maximum time that the server -// can spend processing the request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated -// request identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id identifier in the response. ocpDate is the time the request was issued. If not specified, this -// header will be automatically populated with the current system clock time. ifMatch is an ETag is specified. -// Specify this header to perform the operation only if the resource's ETag is an exact match as specified. -// ifNoneMatch is an ETag is specified. Specify this header to perform the operation only if the resource's ETag -// does not match the specified ETag. ifModifiedSince is specify this header to perform the operation only if the -// resource has been modified since the specified date/time. ifUnmodifiedSince is specify this header to perform -// the operation only if the resource has not been modified since the specified date/time. -func (client JobScheduleClient) Exists(ctx context.Context, jobScheduleID string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.ExistsPreparer(ctx, jobScheduleID, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Exists", nil, "Failure preparing request") - return - } - - resp, err := client.ExistsSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Exists", resp, "Failure sending request") - return - } - - result, err = client.ExistsResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Exists", resp, "Failure responding to request") - } - - return -} - -// ExistsPreparer prepares the Exists request. -func (client JobScheduleClient) ExistsPreparer(ctx context.Context, jobScheduleID string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobScheduleId": autorest.Encode("path", jobScheduleID), - } - - const APIVersion = "2016-02-01.3.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsHead(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobschedules/{jobScheduleId}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ExistsSender sends the Exists request. The method will close the -// http.Response Body if it receives an error. -func (client JobScheduleClient) ExistsSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ExistsResponder handles the response to the Exists request. The method always -// closes the http.Response Body. -func (client JobScheduleClient) ExistsResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), - autorest.ByClosing()) - result.Response = resp - return -} - -// Get gets information about the specified job schedule. -// -// jobScheduleID is the id of the job schedule to get. selectParameter is an OData $select clause. expand is an -// OData $expand clause. timeout is the maximum time that the server can spend processing the request, in seconds. -// The default is 30 seconds. clientRequestID is the caller-generated request identity, in the form of a GUID with -// no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether -// the server should return the client-request-id identifier in the response. ocpDate is the time the request was -// issued. If not specified, this header will be automatically populated with the current system clock time. -// ifMatch is an ETag is specified. Specify this header to perform the operation only if the resource's ETag is an -// exact match as specified. ifNoneMatch is an ETag is specified. Specify this header to perform the operation only -// if the resource's ETag does not match the specified ETag. ifModifiedSince is specify this header to perform the -// operation only if the resource has been modified since the specified date/time. ifUnmodifiedSince is specify -// this header to perform the operation only if the resource has not been modified since the specified date/time. -func (client JobScheduleClient) Get(ctx context.Context, jobScheduleID string, selectParameter string, expand string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result CloudJobSchedule, err error) { - req, err := client.GetPreparer(ctx, jobScheduleID, selectParameter, expand, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Get", nil, "Failure preparing request") - return - } - - resp, err := client.GetSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Get", resp, "Failure sending request") - return - } - - result, err = client.GetResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Get", resp, "Failure responding to request") - } - - return -} - -// GetPreparer prepares the Get request. -func (client JobScheduleClient) GetPreparer(ctx context.Context, jobScheduleID string, selectParameter string, expand string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobScheduleId": autorest.Encode("path", jobScheduleID), - } - - const APIVersion = "2016-02-01.3.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(selectParameter) > 0 { - queryParameters["$select"] = autorest.Encode("query", selectParameter) - } - if len(expand) > 0 { - queryParameters["$expand"] = autorest.Encode("query", expand) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobschedules/{jobScheduleId}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetSender sends the Get request. The method will close the -// http.Response Body if it receives an error. -func (client JobScheduleClient) GetSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// GetResponder handles the response to the Get request. The method always -// closes the http.Response Body. -func (client JobScheduleClient) GetResponder(resp *http.Response) (result CloudJobSchedule, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// List lists all of the job schedules in the specified account. -// -// filter is an OData $filter clause. selectParameter is an OData $select clause. expand is an OData $expand -// clause. maxResults is the maximum number of items to return in the response. timeout is the maximum time that -// the server can spend processing the request, in seconds. The default is 30 seconds. clientRequestID is the -// caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id identifier in the response. ocpDate is the time the request was issued. If not specified, this -// header will be automatically populated with the current system clock time. -func (client JobScheduleClient) List(ctx context.Context, filter string, selectParameter string, expand string, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result CloudJobScheduleListResultPage, err error) { - result.fn = client.listNextResults - req, err := client.ListPreparer(ctx, filter, selectParameter, expand, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "List", nil, "Failure preparing request") - return - } - - resp, err := client.ListSender(req) - if err != nil { - result.cjslr.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "List", resp, "Failure sending request") - return - } - - result.cjslr, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "List", resp, "Failure responding to request") - } - - return -} - -// ListPreparer prepares the List request. -func (client JobScheduleClient) ListPreparer(ctx context.Context, filter string, selectParameter string, expand string, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - const APIVersion = "2016-02-01.3.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(filter) > 0 { - queryParameters["$filter"] = autorest.Encode("query", filter) - } - if len(selectParameter) > 0 { - queryParameters["$select"] = autorest.Encode("query", selectParameter) - } - if len(expand) > 0 { - queryParameters["$expand"] = autorest.Encode("query", expand) - } - if maxResults != nil { - queryParameters["maxresults"] = autorest.Encode("query", *maxResults) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPath("/jobschedules"), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListSender sends the List request. The method will close the -// http.Response Body if it receives an error. -func (client JobScheduleClient) ListSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ListResponder handles the response to the List request. The method always -// closes the http.Response Body. -func (client JobScheduleClient) ListResponder(resp *http.Response) (result CloudJobScheduleListResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listNextResults retrieves the next set of results, if any. -func (client JobScheduleClient) listNextResults(lastResults CloudJobScheduleListResult) (result CloudJobScheduleListResult, err error) { - req, err := lastResults.cloudJobScheduleListResultPreparer() - if err != nil { - return result, autorest.NewErrorWithError(err, "batch.JobScheduleClient", "listNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "batch.JobScheduleClient", "listNextResults", resp, "Failure sending next results request") - } - result, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "listNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListComplete enumerates all values, automatically crossing page boundaries as required. -func (client JobScheduleClient) ListComplete(ctx context.Context, filter string, selectParameter string, expand string, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result CloudJobScheduleListResultIterator, err error) { - result.page, err = client.List(ctx, filter, selectParameter, expand, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - return -} - -// Patch updates the properties of the specified job schedule. -// -// jobScheduleID is the id of the job schedule to update. jobSchedulePatchParameter is the parameters for the -// request. timeout is the maximum time that the server can spend processing the request, in seconds. The default -// is 30 seconds. clientRequestID is the caller-generated request identity, in the form of a GUID with no -// decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the -// server should return the client-request-id identifier in the response. ocpDate is the time the request was -// issued. If not specified, this header will be automatically populated with the current system clock time. -// ifMatch is an ETag is specified. Specify this header to perform the operation only if the resource's ETag is an -// exact match as specified. ifNoneMatch is an ETag is specified. Specify this header to perform the operation only -// if the resource's ETag does not match the specified ETag. ifModifiedSince is specify this header to perform the -// operation only if the resource has been modified since the specified date/time. ifUnmodifiedSince is specify -// this header to perform the operation only if the resource has not been modified since the specified date/time. -func (client JobScheduleClient) Patch(ctx context.Context, jobScheduleID string, jobSchedulePatchParameter JobSchedulePatchParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.PatchPreparer(ctx, jobScheduleID, jobSchedulePatchParameter, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Patch", nil, "Failure preparing request") - return - } - - resp, err := client.PatchSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Patch", resp, "Failure sending request") - return - } - - result, err = client.PatchResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Patch", resp, "Failure responding to request") - } - - return -} - -// PatchPreparer prepares the Patch request. -func (client JobScheduleClient) PatchPreparer(ctx context.Context, jobScheduleID string, jobSchedulePatchParameter JobSchedulePatchParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobScheduleId": autorest.Encode("path", jobScheduleID), - } - - const APIVersion = "2016-02-01.3.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPatch(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobschedules/{jobScheduleId}", pathParameters), - autorest.WithJSON(jobSchedulePatchParameter), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// PatchSender sends the Patch request. The method will close the -// http.Response Body if it receives an error. -func (client JobScheduleClient) PatchSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// PatchResponder handles the response to the Patch request. The method always -// closes the http.Response Body. -func (client JobScheduleClient) PatchResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} - -// Terminate terminates a job schedule. -// -// jobScheduleID is the id of the job schedule to terminates. timeout is the maximum time that the server can spend -// processing the request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated request -// identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id identifier in the response. ocpDate is the time the request was issued. If not specified, this -// header will be automatically populated with the current system clock time. ifMatch is an ETag is specified. -// Specify this header to perform the operation only if the resource's ETag is an exact match as specified. -// ifNoneMatch is an ETag is specified. Specify this header to perform the operation only if the resource's ETag -// does not match the specified ETag. ifModifiedSince is specify this header to perform the operation only if the -// resource has been modified since the specified date/time. ifUnmodifiedSince is specify this header to perform -// the operation only if the resource has not been modified since the specified date/time. -func (client JobScheduleClient) Terminate(ctx context.Context, jobScheduleID string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.TerminatePreparer(ctx, jobScheduleID, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Terminate", nil, "Failure preparing request") - return - } - - resp, err := client.TerminateSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Terminate", resp, "Failure sending request") - return - } - - result, err = client.TerminateResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Terminate", resp, "Failure responding to request") - } - - return -} - -// TerminatePreparer prepares the Terminate request. -func (client JobScheduleClient) TerminatePreparer(ctx context.Context, jobScheduleID string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobScheduleId": autorest.Encode("path", jobScheduleID), - } - - const APIVersion = "2016-02-01.3.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobschedules/{jobScheduleId}/terminate", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// TerminateSender sends the Terminate request. The method will close the -// http.Response Body if it receives an error. -func (client JobScheduleClient) TerminateSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// TerminateResponder handles the response to the Terminate request. The method always -// closes the http.Response Body. -func (client JobScheduleClient) TerminateResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByClosing()) - result.Response = resp - return -} - -// Update updates the properties of the specified job schedule. -// -// jobScheduleID is the id of the job schedule to update. jobScheduleUpdateParameter is the parameters for the -// request. timeout is the maximum time that the server can spend processing the request, in seconds. The default -// is 30 seconds. clientRequestID is the caller-generated request identity, in the form of a GUID with no -// decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the -// server should return the client-request-id identifier in the response. ocpDate is the time the request was -// issued. If not specified, this header will be automatically populated with the current system clock time. -// ifMatch is an ETag is specified. Specify this header to perform the operation only if the resource's ETag is an -// exact match as specified. ifNoneMatch is an ETag is specified. Specify this header to perform the operation only -// if the resource's ETag does not match the specified ETag. ifModifiedSince is specify this header to perform the -// operation only if the resource has been modified since the specified date/time. ifUnmodifiedSince is specify -// this header to perform the operation only if the resource has not been modified since the specified date/time. -func (client JobScheduleClient) Update(ctx context.Context, jobScheduleID string, jobScheduleUpdateParameter JobScheduleUpdateParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: jobScheduleUpdateParameter, - Constraints: []validation.Constraint{{Target: "jobScheduleUpdateParameter.Schedule", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "jobScheduleUpdateParameter.JobSpecification", Name: validation.Null, Rule: true, - Chain: []validation.Constraint{{Target: "jobScheduleUpdateParameter.JobSpecification.PoolInfo", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "jobScheduleUpdateParameter.JobSpecification.PoolInfo.AutoPoolSpecification", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "jobScheduleUpdateParameter.JobSpecification.PoolInfo.AutoPoolSpecification.Pool", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "jobScheduleUpdateParameter.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.CloudServiceConfiguration", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "jobScheduleUpdateParameter.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.CloudServiceConfiguration.OsFamily", Name: validation.Null, Rule: true, Chain: nil}}}, - {Target: "jobScheduleUpdateParameter.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "jobScheduleUpdateParameter.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.ImageReference", Name: validation.Null, Rule: true, - Chain: []validation.Constraint{{Target: "jobScheduleUpdateParameter.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.ImageReference.Publisher", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "jobScheduleUpdateParameter.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.ImageReference.Offer", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "jobScheduleUpdateParameter.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.ImageReference.Sku", Name: validation.Null, Rule: true, Chain: nil}, - }}, - {Target: "jobScheduleUpdateParameter.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.NodeAgentSKUID", Name: validation.Null, Rule: true, Chain: nil}, - }}, - }}, - }}, - }}, - }}}}}); err != nil { - return result, validation.NewError("batch.JobScheduleClient", "Update", err.Error()) - } - - req, err := client.UpdatePreparer(ctx, jobScheduleID, jobScheduleUpdateParameter, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Update", nil, "Failure preparing request") - return - } - - resp, err := client.UpdateSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Update", resp, "Failure sending request") - return - } - - result, err = client.UpdateResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Update", resp, "Failure responding to request") - } - - return -} - -// UpdatePreparer prepares the Update request. -func (client JobScheduleClient) UpdatePreparer(ctx context.Context, jobScheduleID string, jobScheduleUpdateParameter JobScheduleUpdateParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobScheduleId": autorest.Encode("path", jobScheduleID), - } - - const APIVersion = "2016-02-01.3.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPut(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobschedules/{jobScheduleId}", pathParameters), - autorest.WithJSON(jobScheduleUpdateParameter), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// UpdateSender sends the Update request. The method will close the -// http.Response Body if it receives an error. -func (client JobScheduleClient) UpdateSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// UpdateResponder handles the response to the Update request. The method always -// closes the http.Response Body. -func (client JobScheduleClient) UpdateResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} diff --git a/services/batch/2016-02-01.3.0/batch/models.go b/services/batch/2016-02-01.3.0/batch/models.go deleted file mode 100644 index 739d159e7032..000000000000 --- a/services/batch/2016-02-01.3.0/batch/models.go +++ /dev/null @@ -1,3010 +0,0 @@ -package batch - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/date" - "github.com/Azure/go-autorest/autorest/to" - "io" - "net/http" -) - -// AllocationState enumerates the values for allocation state. -type AllocationState string - -const ( - // Resizing ... - Resizing AllocationState = "resizing" - // Steady ... - Steady AllocationState = "steady" - // Stopping ... - Stopping AllocationState = "stopping" -) - -// PossibleAllocationStateValues returns an array of possible values for the AllocationState const type. -func PossibleAllocationStateValues() []AllocationState { - return []AllocationState{Resizing, Steady, Stopping} -} - -// CertificateFormat enumerates the values for certificate format. -type CertificateFormat string - -const ( - // Cer ... - Cer CertificateFormat = "cer" - // Pfx ... - Pfx CertificateFormat = "pfx" - // Unmapped ... - Unmapped CertificateFormat = "unmapped" -) - -// PossibleCertificateFormatValues returns an array of possible values for the CertificateFormat const type. -func PossibleCertificateFormatValues() []CertificateFormat { - return []CertificateFormat{Cer, Pfx, Unmapped} -} - -// CertificateState enumerates the values for certificate state. -type CertificateState string - -const ( - // Active ... - Active CertificateState = "active" - // Deletefailed ... - Deletefailed CertificateState = "deletefailed" - // Deleting ... - Deleting CertificateState = "deleting" -) - -// PossibleCertificateStateValues returns an array of possible values for the CertificateState const type. -func PossibleCertificateStateValues() []CertificateState { - return []CertificateState{Active, Deletefailed, Deleting} -} - -// CertificateStoreLocation enumerates the values for certificate store location. -type CertificateStoreLocation string - -const ( - // CertificateStoreLocationCurrentuser ... - CertificateStoreLocationCurrentuser CertificateStoreLocation = "currentuser" - // CertificateStoreLocationLocalmachine ... - CertificateStoreLocationLocalmachine CertificateStoreLocation = "localmachine" - // CertificateStoreLocationUnmapped ... - CertificateStoreLocationUnmapped CertificateStoreLocation = "unmapped" -) - -// PossibleCertificateStoreLocationValues returns an array of possible values for the CertificateStoreLocation const type. -func PossibleCertificateStoreLocationValues() []CertificateStoreLocation { - return []CertificateStoreLocation{CertificateStoreLocationCurrentuser, CertificateStoreLocationLocalmachine, CertificateStoreLocationUnmapped} -} - -// CertificateVisibility enumerates the values for certificate visibility. -type CertificateVisibility string - -const ( - // CertificateVisibilityRemoteuser ... - CertificateVisibilityRemoteuser CertificateVisibility = "remoteuser" - // CertificateVisibilityStarttask ... - CertificateVisibilityStarttask CertificateVisibility = "starttask" - // CertificateVisibilityTask ... - CertificateVisibilityTask CertificateVisibility = "task" - // CertificateVisibilityUnmapped ... - CertificateVisibilityUnmapped CertificateVisibility = "unmapped" -) - -// PossibleCertificateVisibilityValues returns an array of possible values for the CertificateVisibility const type. -func PossibleCertificateVisibilityValues() []CertificateVisibility { - return []CertificateVisibility{CertificateVisibilityRemoteuser, CertificateVisibilityStarttask, CertificateVisibilityTask, CertificateVisibilityUnmapped} -} - -// ComputeNodeDeallocationOption enumerates the values for compute node deallocation option. -type ComputeNodeDeallocationOption string - -const ( - // Requeue ... - Requeue ComputeNodeDeallocationOption = "requeue" - // Retaineddata ... - Retaineddata ComputeNodeDeallocationOption = "retaineddata" - // Taskcompletion ... - Taskcompletion ComputeNodeDeallocationOption = "taskcompletion" - // Terminate ... - Terminate ComputeNodeDeallocationOption = "terminate" -) - -// PossibleComputeNodeDeallocationOptionValues returns an array of possible values for the ComputeNodeDeallocationOption const type. -func PossibleComputeNodeDeallocationOptionValues() []ComputeNodeDeallocationOption { - return []ComputeNodeDeallocationOption{Requeue, Retaineddata, Taskcompletion, Terminate} -} - -// ComputeNodeFillType enumerates the values for compute node fill type. -type ComputeNodeFillType string - -const ( - // ComputeNodeFillTypePack ... - ComputeNodeFillTypePack ComputeNodeFillType = "pack" - // ComputeNodeFillTypeSpread ... - ComputeNodeFillTypeSpread ComputeNodeFillType = "spread" - // ComputeNodeFillTypeUnmapped ... - ComputeNodeFillTypeUnmapped ComputeNodeFillType = "unmapped" -) - -// PossibleComputeNodeFillTypeValues returns an array of possible values for the ComputeNodeFillType const type. -func PossibleComputeNodeFillTypeValues() []ComputeNodeFillType { - return []ComputeNodeFillType{ComputeNodeFillTypePack, ComputeNodeFillTypeSpread, ComputeNodeFillTypeUnmapped} -} - -// ComputeNodeRebootOption enumerates the values for compute node reboot option. -type ComputeNodeRebootOption string - -const ( - // ComputeNodeRebootOptionRequeue ... - ComputeNodeRebootOptionRequeue ComputeNodeRebootOption = "requeue" - // ComputeNodeRebootOptionRetaineddata ... - ComputeNodeRebootOptionRetaineddata ComputeNodeRebootOption = "retaineddata" - // ComputeNodeRebootOptionTaskcompletion ... - ComputeNodeRebootOptionTaskcompletion ComputeNodeRebootOption = "taskcompletion" - // ComputeNodeRebootOptionTerminate ... - ComputeNodeRebootOptionTerminate ComputeNodeRebootOption = "terminate" -) - -// PossibleComputeNodeRebootOptionValues returns an array of possible values for the ComputeNodeRebootOption const type. -func PossibleComputeNodeRebootOptionValues() []ComputeNodeRebootOption { - return []ComputeNodeRebootOption{ComputeNodeRebootOptionRequeue, ComputeNodeRebootOptionRetaineddata, ComputeNodeRebootOptionTaskcompletion, ComputeNodeRebootOptionTerminate} -} - -// ComputeNodeReimageOption enumerates the values for compute node reimage option. -type ComputeNodeReimageOption string - -const ( - // ComputeNodeReimageOptionRequeue ... - ComputeNodeReimageOptionRequeue ComputeNodeReimageOption = "requeue" - // ComputeNodeReimageOptionRetaineddata ... - ComputeNodeReimageOptionRetaineddata ComputeNodeReimageOption = "retaineddata" - // ComputeNodeReimageOptionTaskcompletion ... - ComputeNodeReimageOptionTaskcompletion ComputeNodeReimageOption = "taskcompletion" - // ComputeNodeReimageOptionTerminate ... - ComputeNodeReimageOptionTerminate ComputeNodeReimageOption = "terminate" -) - -// PossibleComputeNodeReimageOptionValues returns an array of possible values for the ComputeNodeReimageOption const type. -func PossibleComputeNodeReimageOptionValues() []ComputeNodeReimageOption { - return []ComputeNodeReimageOption{ComputeNodeReimageOptionRequeue, ComputeNodeReimageOptionRetaineddata, ComputeNodeReimageOptionTaskcompletion, ComputeNodeReimageOptionTerminate} -} - -// ComputeNodeState enumerates the values for compute node state. -type ComputeNodeState string - -const ( - // Creating ... - Creating ComputeNodeState = "creating" - // Idle ... - Idle ComputeNodeState = "idle" - // Leavingpool ... - Leavingpool ComputeNodeState = "leavingpool" - // Offline ... - Offline ComputeNodeState = "offline" - // Rebooting ... - Rebooting ComputeNodeState = "rebooting" - // Reimaging ... - Reimaging ComputeNodeState = "reimaging" - // Running ... - Running ComputeNodeState = "running" - // Starting ... - Starting ComputeNodeState = "starting" - // Starttaskfailed ... - Starttaskfailed ComputeNodeState = "starttaskfailed" - // Unknown ... - Unknown ComputeNodeState = "unknown" - // Unusable ... - Unusable ComputeNodeState = "unusable" - // Waitingforstarttask ... - Waitingforstarttask ComputeNodeState = "waitingforstarttask" -) - -// PossibleComputeNodeStateValues returns an array of possible values for the ComputeNodeState const type. -func PossibleComputeNodeStateValues() []ComputeNodeState { - return []ComputeNodeState{Creating, Idle, Leavingpool, Offline, Rebooting, Reimaging, Running, Starting, Starttaskfailed, Unknown, Unusable, Waitingforstarttask} -} - -// DisableComputeNodeSchedulingOption enumerates the values for disable compute node scheduling option. -type DisableComputeNodeSchedulingOption string - -const ( - // DisableComputeNodeSchedulingOptionRequeue ... - DisableComputeNodeSchedulingOptionRequeue DisableComputeNodeSchedulingOption = "requeue" - // DisableComputeNodeSchedulingOptionTaskcompletion ... - DisableComputeNodeSchedulingOptionTaskcompletion DisableComputeNodeSchedulingOption = "taskcompletion" - // DisableComputeNodeSchedulingOptionTerminate ... - DisableComputeNodeSchedulingOptionTerminate DisableComputeNodeSchedulingOption = "terminate" -) - -// PossibleDisableComputeNodeSchedulingOptionValues returns an array of possible values for the DisableComputeNodeSchedulingOption const type. -func PossibleDisableComputeNodeSchedulingOptionValues() []DisableComputeNodeSchedulingOption { - return []DisableComputeNodeSchedulingOption{DisableComputeNodeSchedulingOptionRequeue, DisableComputeNodeSchedulingOptionTaskcompletion, DisableComputeNodeSchedulingOptionTerminate} -} - -// DisableJobOption enumerates the values for disable job option. -type DisableJobOption string - -const ( - // DisableJobOptionRequeue ... - DisableJobOptionRequeue DisableJobOption = "requeue" - // DisableJobOptionTerminate ... - DisableJobOptionTerminate DisableJobOption = "terminate" - // DisableJobOptionWait ... - DisableJobOptionWait DisableJobOption = "wait" -) - -// PossibleDisableJobOptionValues returns an array of possible values for the DisableJobOption const type. -func PossibleDisableJobOptionValues() []DisableJobOption { - return []DisableJobOption{DisableJobOptionRequeue, DisableJobOptionTerminate, DisableJobOptionWait} -} - -// JobPreparationTaskState enumerates the values for job preparation task state. -type JobPreparationTaskState string - -const ( - // JobPreparationTaskStateCompleted ... - JobPreparationTaskStateCompleted JobPreparationTaskState = "completed" - // JobPreparationTaskStateRunning ... - JobPreparationTaskStateRunning JobPreparationTaskState = "running" -) - -// PossibleJobPreparationTaskStateValues returns an array of possible values for the JobPreparationTaskState const type. -func PossibleJobPreparationTaskStateValues() []JobPreparationTaskState { - return []JobPreparationTaskState{JobPreparationTaskStateCompleted, JobPreparationTaskStateRunning} -} - -// JobReleaseTaskState enumerates the values for job release task state. -type JobReleaseTaskState string - -const ( - // JobReleaseTaskStateCompleted ... - JobReleaseTaskStateCompleted JobReleaseTaskState = "completed" - // JobReleaseTaskStateRunning ... - JobReleaseTaskStateRunning JobReleaseTaskState = "running" -) - -// PossibleJobReleaseTaskStateValues returns an array of possible values for the JobReleaseTaskState const type. -func PossibleJobReleaseTaskStateValues() []JobReleaseTaskState { - return []JobReleaseTaskState{JobReleaseTaskStateCompleted, JobReleaseTaskStateRunning} -} - -// JobScheduleState enumerates the values for job schedule state. -type JobScheduleState string - -const ( - // JobScheduleStateActive ... - JobScheduleStateActive JobScheduleState = "active" - // JobScheduleStateCompleted ... - JobScheduleStateCompleted JobScheduleState = "completed" - // JobScheduleStateDeleting ... - JobScheduleStateDeleting JobScheduleState = "deleting" - // JobScheduleStateDisabled ... - JobScheduleStateDisabled JobScheduleState = "disabled" - // JobScheduleStateTerminating ... - JobScheduleStateTerminating JobScheduleState = "terminating" -) - -// PossibleJobScheduleStateValues returns an array of possible values for the JobScheduleState const type. -func PossibleJobScheduleStateValues() []JobScheduleState { - return []JobScheduleState{JobScheduleStateActive, JobScheduleStateCompleted, JobScheduleStateDeleting, JobScheduleStateDisabled, JobScheduleStateTerminating} -} - -// JobState enumerates the values for job state. -type JobState string - -const ( - // JobStateActive ... - JobStateActive JobState = "active" - // JobStateCompleted ... - JobStateCompleted JobState = "completed" - // JobStateDeleting ... - JobStateDeleting JobState = "deleting" - // JobStateDisabled ... - JobStateDisabled JobState = "disabled" - // JobStateDisabling ... - JobStateDisabling JobState = "disabling" - // JobStateEnabling ... - JobStateEnabling JobState = "enabling" - // JobStateTerminating ... - JobStateTerminating JobState = "terminating" -) - -// PossibleJobStateValues returns an array of possible values for the JobState const type. -func PossibleJobStateValues() []JobState { - return []JobState{JobStateActive, JobStateCompleted, JobStateDeleting, JobStateDisabled, JobStateDisabling, JobStateEnabling, JobStateTerminating} -} - -// OSType enumerates the values for os type. -type OSType string - -const ( - // OSTypeLinux ... - OSTypeLinux OSType = "linux" - // OSTypeUnmapped ... - OSTypeUnmapped OSType = "unmapped" - // OSTypeWindows ... - OSTypeWindows OSType = "windows" -) - -// PossibleOSTypeValues returns an array of possible values for the OSType const type. -func PossibleOSTypeValues() []OSType { - return []OSType{OSTypeLinux, OSTypeUnmapped, OSTypeWindows} -} - -// PoolLifetimeOption enumerates the values for pool lifetime option. -type PoolLifetimeOption string - -const ( - // PoolLifetimeOptionJob ... - PoolLifetimeOptionJob PoolLifetimeOption = "job" - // PoolLifetimeOptionJobschedule ... - PoolLifetimeOptionJobschedule PoolLifetimeOption = "jobschedule" - // PoolLifetimeOptionUnmapped ... - PoolLifetimeOptionUnmapped PoolLifetimeOption = "unmapped" -) - -// PossiblePoolLifetimeOptionValues returns an array of possible values for the PoolLifetimeOption const type. -func PossiblePoolLifetimeOptionValues() []PoolLifetimeOption { - return []PoolLifetimeOption{PoolLifetimeOptionJob, PoolLifetimeOptionJobschedule, PoolLifetimeOptionUnmapped} -} - -// PoolState enumerates the values for pool state. -type PoolState string - -const ( - // PoolStateActive ... - PoolStateActive PoolState = "active" - // PoolStateDeleting ... - PoolStateDeleting PoolState = "deleting" - // PoolStateUpgrading ... - PoolStateUpgrading PoolState = "upgrading" -) - -// PossiblePoolStateValues returns an array of possible values for the PoolState const type. -func PossiblePoolStateValues() []PoolState { - return []PoolState{PoolStateActive, PoolStateDeleting, PoolStateUpgrading} -} - -// SchedulingErrorCategory enumerates the values for scheduling error category. -type SchedulingErrorCategory string - -const ( - // SchedulingErrorCategoryServererror ... - SchedulingErrorCategoryServererror SchedulingErrorCategory = "servererror" - // SchedulingErrorCategoryUnmapped ... - SchedulingErrorCategoryUnmapped SchedulingErrorCategory = "unmapped" - // SchedulingErrorCategoryUsererror ... - SchedulingErrorCategoryUsererror SchedulingErrorCategory = "usererror" -) - -// PossibleSchedulingErrorCategoryValues returns an array of possible values for the SchedulingErrorCategory const type. -func PossibleSchedulingErrorCategoryValues() []SchedulingErrorCategory { - return []SchedulingErrorCategory{SchedulingErrorCategoryServererror, SchedulingErrorCategoryUnmapped, SchedulingErrorCategoryUsererror} -} - -// SchedulingState enumerates the values for scheduling state. -type SchedulingState string - -const ( - // Disabled ... - Disabled SchedulingState = "disabled" - // Enabled ... - Enabled SchedulingState = "enabled" -) - -// PossibleSchedulingStateValues returns an array of possible values for the SchedulingState const type. -func PossibleSchedulingStateValues() []SchedulingState { - return []SchedulingState{Disabled, Enabled} -} - -// StartTaskState enumerates the values for start task state. -type StartTaskState string - -const ( - // StartTaskStateCompleted ... - StartTaskStateCompleted StartTaskState = "completed" - // StartTaskStateRunning ... - StartTaskStateRunning StartTaskState = "running" -) - -// PossibleStartTaskStateValues returns an array of possible values for the StartTaskState const type. -func PossibleStartTaskStateValues() []StartTaskState { - return []StartTaskState{StartTaskStateCompleted, StartTaskStateRunning} -} - -// TaskAddStatus enumerates the values for task add status. -type TaskAddStatus string - -const ( - // TaskAddStatusClienterror ... - TaskAddStatusClienterror TaskAddStatus = "clienterror" - // TaskAddStatusServererror ... - TaskAddStatusServererror TaskAddStatus = "servererror" - // TaskAddStatusSuccess ... - TaskAddStatusSuccess TaskAddStatus = "success" - // TaskAddStatusUnmapped ... - TaskAddStatusUnmapped TaskAddStatus = "unmapped" -) - -// PossibleTaskAddStatusValues returns an array of possible values for the TaskAddStatus const type. -func PossibleTaskAddStatusValues() []TaskAddStatus { - return []TaskAddStatus{TaskAddStatusClienterror, TaskAddStatusServererror, TaskAddStatusSuccess, TaskAddStatusUnmapped} -} - -// TaskState enumerates the values for task state. -type TaskState string - -const ( - // TaskStateActive ... - TaskStateActive TaskState = "active" - // TaskStateCompleted ... - TaskStateCompleted TaskState = "completed" - // TaskStatePreparing ... - TaskStatePreparing TaskState = "preparing" - // TaskStateRunning ... - TaskStateRunning TaskState = "running" -) - -// PossibleTaskStateValues returns an array of possible values for the TaskState const type. -func PossibleTaskStateValues() []TaskState { - return []TaskState{TaskStateActive, TaskStateCompleted, TaskStatePreparing, TaskStateRunning} -} - -// AccountListNodeAgentSkusResult response to an AccountOperation.ListNodeAgentSkus request. -type AccountListNodeAgentSkusResult struct { - autorest.Response `json:"-"` - // Value - The list of supported node agent SKUs. - Value *[]NodeAgentSku `json:"value,omitempty"` - // OdataNextLink - The URL to get the next set of results. - OdataNextLink *string `json:"odata.nextLink,omitempty"` -} - -// AccountListNodeAgentSkusResultIterator provides access to a complete listing of NodeAgentSku values. -type AccountListNodeAgentSkusResultIterator struct { - i int - page AccountListNodeAgentSkusResultPage -} - -// Next advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -func (iter *AccountListNodeAgentSkusResultIterator) Next() error { - iter.i++ - if iter.i < len(iter.page.Values()) { - return nil - } - err := iter.page.Next() - if err != nil { - iter.i-- - return err - } - iter.i = 0 - return nil -} - -// NotDone returns true if the enumeration should be started or is not yet complete. -func (iter AccountListNodeAgentSkusResultIterator) NotDone() bool { - return iter.page.NotDone() && iter.i < len(iter.page.Values()) -} - -// Response returns the raw server response from the last page request. -func (iter AccountListNodeAgentSkusResultIterator) Response() AccountListNodeAgentSkusResult { - return iter.page.Response() -} - -// Value returns the current value or a zero-initialized value if the -// iterator has advanced beyond the end of the collection. -func (iter AccountListNodeAgentSkusResultIterator) Value() NodeAgentSku { - if !iter.page.NotDone() { - return NodeAgentSku{} - } - return iter.page.Values()[iter.i] -} - -// IsEmpty returns true if the ListResult contains no values. -func (alnasr AccountListNodeAgentSkusResult) IsEmpty() bool { - return alnasr.Value == nil || len(*alnasr.Value) == 0 -} - -// accountListNodeAgentSkusResultPreparer prepares a request to retrieve the next set of results. -// It returns nil if no more results exist. -func (alnasr AccountListNodeAgentSkusResult) accountListNodeAgentSkusResultPreparer() (*http.Request, error) { - if alnasr.OdataNextLink == nil || len(to.String(alnasr.OdataNextLink)) < 1 { - return nil, nil - } - return autorest.Prepare(&http.Request{}, - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(alnasr.OdataNextLink))) -} - -// AccountListNodeAgentSkusResultPage contains a page of NodeAgentSku values. -type AccountListNodeAgentSkusResultPage struct { - fn func(AccountListNodeAgentSkusResult) (AccountListNodeAgentSkusResult, error) - alnasr AccountListNodeAgentSkusResult -} - -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -func (page *AccountListNodeAgentSkusResultPage) Next() error { - next, err := page.fn(page.alnasr) - if err != nil { - return err - } - page.alnasr = next - return nil -} - -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page AccountListNodeAgentSkusResultPage) NotDone() bool { - return !page.alnasr.IsEmpty() -} - -// Response returns the raw server response from the last page request. -func (page AccountListNodeAgentSkusResultPage) Response() AccountListNodeAgentSkusResult { - return page.alnasr -} - -// Values returns the slice of values for the current page or nil if there are no values. -func (page AccountListNodeAgentSkusResultPage) Values() []NodeAgentSku { - if page.alnasr.IsEmpty() { - return nil - } - return *page.alnasr.Value -} - -// AffinityInformation a locality hint that can be used by the Batch service to select a compute node on which to -// start a task. -type AffinityInformation struct { - // AffinityID - An opaque string representing the location of a compute node or a task that has run previously. You can pass the AffinityId of a compute node or task to indicate that this task needs to be placed close to the node or task. - AffinityID *string `json:"affinityId,omitempty"` -} - -// ApplicationListResult response to a ApplicationOperations.List request. -type ApplicationListResult struct { - autorest.Response `json:"-"` - // Value - The list of applications available in the account. - Value *[]ApplicationSummary `json:"value,omitempty"` - // OdataNextLink - The URL to get the next set of results. - OdataNextLink *string `json:"odata.nextLink,omitempty"` -} - -// ApplicationListResultIterator provides access to a complete listing of ApplicationSummary values. -type ApplicationListResultIterator struct { - i int - page ApplicationListResultPage -} - -// Next advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -func (iter *ApplicationListResultIterator) Next() error { - iter.i++ - if iter.i < len(iter.page.Values()) { - return nil - } - err := iter.page.Next() - if err != nil { - iter.i-- - return err - } - iter.i = 0 - return nil -} - -// NotDone returns true if the enumeration should be started or is not yet complete. -func (iter ApplicationListResultIterator) NotDone() bool { - return iter.page.NotDone() && iter.i < len(iter.page.Values()) -} - -// Response returns the raw server response from the last page request. -func (iter ApplicationListResultIterator) Response() ApplicationListResult { - return iter.page.Response() -} - -// Value returns the current value or a zero-initialized value if the -// iterator has advanced beyond the end of the collection. -func (iter ApplicationListResultIterator) Value() ApplicationSummary { - if !iter.page.NotDone() { - return ApplicationSummary{} - } - return iter.page.Values()[iter.i] -} - -// IsEmpty returns true if the ListResult contains no values. -func (alr ApplicationListResult) IsEmpty() bool { - return alr.Value == nil || len(*alr.Value) == 0 -} - -// applicationListResultPreparer prepares a request to retrieve the next set of results. -// It returns nil if no more results exist. -func (alr ApplicationListResult) applicationListResultPreparer() (*http.Request, error) { - if alr.OdataNextLink == nil || len(to.String(alr.OdataNextLink)) < 1 { - return nil, nil - } - return autorest.Prepare(&http.Request{}, - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(alr.OdataNextLink))) -} - -// ApplicationListResultPage contains a page of ApplicationSummary values. -type ApplicationListResultPage struct { - fn func(ApplicationListResult) (ApplicationListResult, error) - alr ApplicationListResult -} - -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -func (page *ApplicationListResultPage) Next() error { - next, err := page.fn(page.alr) - if err != nil { - return err - } - page.alr = next - return nil -} - -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page ApplicationListResultPage) NotDone() bool { - return !page.alr.IsEmpty() -} - -// Response returns the raw server response from the last page request. -func (page ApplicationListResultPage) Response() ApplicationListResult { - return page.alr -} - -// Values returns the slice of values for the current page or nil if there are no values. -func (page ApplicationListResultPage) Values() []ApplicationSummary { - if page.alr.IsEmpty() { - return nil - } - return *page.alr.Value -} - -// ApplicationPackageReference a reference to an application package to be installed on compute nodes in a pool. -type ApplicationPackageReference struct { - // ApplicationID - The id of the application to install. - ApplicationID *string `json:"applicationId,omitempty"` - // Version - The version of the application to install. If omitted, the default version is installed. - Version *string `json:"version,omitempty"` -} - -// ApplicationSummary contains information about an application in an Azure Batch account. -type ApplicationSummary struct { - autorest.Response `json:"-"` - // ID - A string that uniquely identifies the application within the account. - ID *string `json:"id,omitempty"` - // DisplayName - The display name for the application. - DisplayName *string `json:"displayName,omitempty"` - Versions *[]string `json:"versions,omitempty"` -} - -// AutoPoolSpecification specifies characteristics for a temporary 'auto pool'. The Batch service will create this -// auto pool, run all the tasks for the job on it, and will delete the pool once the job has completed. -type AutoPoolSpecification struct { - // AutoPoolIDPrefix - A prefix to be added to the unique identifier when a pool is automatically created. The prefix can be up to 20 characters long. - AutoPoolIDPrefix *string `json:"autoPoolIdPrefix,omitempty"` - // PoolLifetimeOption - The minimum lifetime of created auto pools, and how multiple jobs on a schedule are assigned to pools. Possible values include: 'PoolLifetimeOptionJobschedule', 'PoolLifetimeOptionJob', 'PoolLifetimeOptionUnmapped' - PoolLifetimeOption PoolLifetimeOption `json:"poolLifetimeOption,omitempty"` - // KeepAlive - Whether to keep an auto pool alive after its lifetime expires. - KeepAlive *bool `json:"keepAlive,omitempty"` - // Pool - The pool specification for the auto pool. - Pool *PoolSpecification `json:"pool,omitempty"` -} - -// AutoScaleRun the results and errors from an execution of a pool autoscale formula. -type AutoScaleRun struct { - autorest.Response `json:"-"` - // Timestamp - The time at which the autoscale formula was last evaluated. - Timestamp *date.Time `json:"timestamp,omitempty"` - // Results - The final values of all variables used in the evaluation of the autoscale formula. Each variable value is returned in the form $variable=value, and variables are separated by semicolons. - Results *string `json:"results,omitempty"` - // Error - Details of the error encountered evaluating the autoscale formula on the pool, if the evaluation was unsuccessful. - Error *AutoScaleRunError `json:"error,omitempty"` -} - -// AutoScaleRunError an error that occurred when executing or evaluating a pool autoscale formula. -type AutoScaleRunError struct { - // Code - An identifier for the autoscale error. Codes are invariant and are intended to be consumed programmatically. - Code *string `json:"code,omitempty"` - // Message - A message describing the autoscale error, intended to be suitable for display in a user interface. - Message *string `json:"message,omitempty"` - // Values - A list of additional error details related to the autoscale error. - Values *[]NameValuePair `json:"values,omitempty"` -} - -// Certificate a certificate that can be installed on compute nodes and can be used to authenticate operations on -// the machine. -type Certificate struct { - autorest.Response `json:"-"` - // Thumbprint - The X.509 thumbprint of the certificate. This is a sequence of up to 40 hex digits (it may include spaces but these are removed). - Thumbprint *string `json:"thumbprint,omitempty"` - // ThumbprintAlgorithm - The algorithm used to derive the thumbprint. This must be sha1. - ThumbprintAlgorithm *string `json:"thumbprintAlgorithm,omitempty"` - // URL - The URL of the certificate. - URL *string `json:"url,omitempty"` - // State - The current state of the certificate. Possible values include: 'Active', 'Deleting', 'Deletefailed' - State CertificateState `json:"state,omitempty"` - // StateTransitionTime - The time at which the certificate entered its current state. - StateTransitionTime *date.Time `json:"stateTransitionTime,omitempty"` - // PreviousState - The previous state of the certificate. This property is not set if the certificate is in its initial Active state. Possible values include: 'Active', 'Deleting', 'Deletefailed' - PreviousState CertificateState `json:"previousState,omitempty"` - // PreviousStateTransitionTime - The time at which the certificate entered its previous state. This property is not set if the certificate is in its initial Active state. - PreviousStateTransitionTime *date.Time `json:"previousStateTransitionTime,omitempty"` - // PublicData - The public part of the certificate as a base-64 encoded .cer file. - PublicData *string `json:"publicData,omitempty"` - // DeleteCertificateError - The error that occurred on the last attempt to delete this certificate. This property is set only if the certificate is in the deletefailed state. - DeleteCertificateError *DeleteCertificateError `json:"deleteCertificateError,omitempty"` -} - -// CertificateAddParameter a certificate that can be installed on compute nodes and can be used to authenticate -// operations on the machine. -type CertificateAddParameter struct { - // Thumbprint - The X.509 thumbprint of the certificate. This is a sequence of up to 40 hex digits (it may include spaces but these are removed). - Thumbprint *string `json:"thumbprint,omitempty"` - // ThumbprintAlgorithm - The algorithm used to derive the thumbprint. This must be sha1. - ThumbprintAlgorithm *string `json:"thumbprintAlgorithm,omitempty"` - // Data - The base64-encoded contents of the certificate. The maximum size is 10KB. - Data *string `json:"data,omitempty"` - // CertificateFormat - The format of the certificate data. Possible values include: 'Pfx', 'Cer', 'Unmapped' - CertificateFormat CertificateFormat `json:"certificateFormat,omitempty"` - // Password - The password to access the certificate's private key. - Password *string `json:"password,omitempty"` -} - -// CertificateListResult response to a CertificateOperation.List request. -type CertificateListResult struct { - autorest.Response `json:"-"` - // Value - The list of certificates. - Value *[]Certificate `json:"value,omitempty"` - // OdataNextLink - The URL to get the next set of results. - OdataNextLink *string `json:"odata.nextLink,omitempty"` -} - -// CertificateListResultIterator provides access to a complete listing of Certificate values. -type CertificateListResultIterator struct { - i int - page CertificateListResultPage -} - -// Next advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -func (iter *CertificateListResultIterator) Next() error { - iter.i++ - if iter.i < len(iter.page.Values()) { - return nil - } - err := iter.page.Next() - if err != nil { - iter.i-- - return err - } - iter.i = 0 - return nil -} - -// NotDone returns true if the enumeration should be started or is not yet complete. -func (iter CertificateListResultIterator) NotDone() bool { - return iter.page.NotDone() && iter.i < len(iter.page.Values()) -} - -// Response returns the raw server response from the last page request. -func (iter CertificateListResultIterator) Response() CertificateListResult { - return iter.page.Response() -} - -// Value returns the current value or a zero-initialized value if the -// iterator has advanced beyond the end of the collection. -func (iter CertificateListResultIterator) Value() Certificate { - if !iter.page.NotDone() { - return Certificate{} - } - return iter.page.Values()[iter.i] -} - -// IsEmpty returns true if the ListResult contains no values. -func (clr CertificateListResult) IsEmpty() bool { - return clr.Value == nil || len(*clr.Value) == 0 -} - -// certificateListResultPreparer prepares a request to retrieve the next set of results. -// It returns nil if no more results exist. -func (clr CertificateListResult) certificateListResultPreparer() (*http.Request, error) { - if clr.OdataNextLink == nil || len(to.String(clr.OdataNextLink)) < 1 { - return nil, nil - } - return autorest.Prepare(&http.Request{}, - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(clr.OdataNextLink))) -} - -// CertificateListResultPage contains a page of Certificate values. -type CertificateListResultPage struct { - fn func(CertificateListResult) (CertificateListResult, error) - clr CertificateListResult -} - -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -func (page *CertificateListResultPage) Next() error { - next, err := page.fn(page.clr) - if err != nil { - return err - } - page.clr = next - return nil -} - -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page CertificateListResultPage) NotDone() bool { - return !page.clr.IsEmpty() -} - -// Response returns the raw server response from the last page request. -func (page CertificateListResultPage) Response() CertificateListResult { - return page.clr -} - -// Values returns the slice of values for the current page or nil if there are no values. -func (page CertificateListResultPage) Values() []Certificate { - if page.clr.IsEmpty() { - return nil - } - return *page.clr.Value -} - -// CertificateReference a reference to a certificate to be installed on compute nodes in a pool. -type CertificateReference struct { - // Thumbprint - The thumbprint of the certificate. - Thumbprint *string `json:"thumbprint,omitempty"` - // ThumbprintAlgorithm - The algorithm with which the thumbprint is associated. This must be sha1. - ThumbprintAlgorithm *string `json:"thumbprintAlgorithm,omitempty"` - // StoreLocation - The location of the certificate store on the compute node into which to install the certificate. The default value is CurrentUser. Possible values include: 'CertificateStoreLocationCurrentuser', 'CertificateStoreLocationLocalmachine', 'CertificateStoreLocationUnmapped' - StoreLocation CertificateStoreLocation `json:"storeLocation,omitempty"` - // StoreName - The name of the certificate store on the compute node into which to install the certificate. The default value is My. - StoreName *string `json:"storeName,omitempty"` - // Visibility - Which user accounts on the compute node should have access to the private data of the certificate. This may be any subset of the values 'starttask', 'task' and 'remoteuser', separated by commas. The default is all accounts, corresponding to the string 'starttask,task,remoteuser'. - Visibility *[]CertificateVisibility `json:"visibility,omitempty"` -} - -// CloudJob an Azure Batch job. -type CloudJob struct { - autorest.Response `json:"-"` - // ID - A string that uniquely identifies the job within the account. The id can contain any combination of alphanumeric characters including hyphens and underscores, and cannot contain more than 64 characters. It is common to use a GUID for the id. - ID *string `json:"id,omitempty"` - // DisplayName - The display name for the job. - DisplayName *string `json:"displayName,omitempty"` - // UsesTaskDependencies - The flag that determines if this job will use tasks with dependencies. - UsesTaskDependencies *bool `json:"usesTaskDependencies,omitempty"` - // URL - The URL of the job. - URL *string `json:"url,omitempty"` - // ETag - The ETag of the job. - ETag *string `json:"eTag,omitempty"` - // LastModified - The last modified time of the job. - LastModified *date.Time `json:"lastModified,omitempty"` - // CreationTime - The creation time of the job. - CreationTime *date.Time `json:"creationTime,omitempty"` - // State - The current state of the job. Possible values include: 'JobStateActive', 'JobStateDisabling', 'JobStateDisabled', 'JobStateEnabling', 'JobStateTerminating', 'JobStateCompleted', 'JobStateDeleting' - State JobState `json:"state,omitempty"` - // StateTransitionTime - The time at which the job entered its current state. - StateTransitionTime *date.Time `json:"stateTransitionTime,omitempty"` - // PreviousState - The previous state of the job. This property is not set if the job is in its initial Active state. Possible values include: 'JobStateActive', 'JobStateDisabling', 'JobStateDisabled', 'JobStateEnabling', 'JobStateTerminating', 'JobStateCompleted', 'JobStateDeleting' - PreviousState JobState `json:"previousState,omitempty"` - // PreviousStateTransitionTime - The time at which the job entered its previous state. This property is not set if the job is in its initial Active state. - PreviousStateTransitionTime *date.Time `json:"previousStateTransitionTime,omitempty"` - // Priority - The priority of the job. Priority values can range from -1000 to 1000, with -1000 being the lowest priority and 1000 being the highest priority. The default value is 0. - Priority *int32 `json:"priority,omitempty"` - // Constraints - The execution constraints for the job. - Constraints *JobConstraints `json:"constraints,omitempty"` - // JobManagerTask - Details of a Job Manager task to be launched when the job is started. - JobManagerTask *JobManagerTask `json:"jobManagerTask,omitempty"` - // JobPreparationTask - The Job Preparation task. - JobPreparationTask *JobPreparationTask `json:"jobPreparationTask,omitempty"` - // JobReleaseTask - The Job Release task. - JobReleaseTask *JobReleaseTask `json:"jobReleaseTask,omitempty"` - // CommonEnvironmentSettings - The list of common environment variable settings. These environment variables are set for all tasks in the job (including the Job Manager, Job Preparation and Job Release tasks). - CommonEnvironmentSettings *[]EnvironmentSetting `json:"commonEnvironmentSettings,omitempty"` - // PoolInfo - The pool on which the Batch service runs the job's tasks. - PoolInfo *PoolInformation `json:"poolInfo,omitempty"` - // Metadata - A list of name-value pairs associated with the job as metadata. - Metadata *[]MetadataItem `json:"metadata,omitempty"` - // ExecutionInfo - The execution information for the job. - ExecutionInfo *JobExecutionInformation `json:"executionInfo,omitempty"` - // Stats - Resource usage statistics for the entire lifetime of the job. - Stats *JobStatistics `json:"stats,omitempty"` -} - -// CloudJobListPreparationAndReleaseTaskStatusResult response to a -// CloudJobOperations.ListPreparationAndReleaseTaskStatus request. -type CloudJobListPreparationAndReleaseTaskStatusResult struct { - autorest.Response `json:"-"` - // Value - A list of Job Preparation and Job Release task execution information. - Value *[]JobPreparationAndReleaseTaskExecutionInformation `json:"value,omitempty"` - // OdataNextLink - The URL to get the next set of results. - OdataNextLink *string `json:"odata.nextLink,omitempty"` -} - -// CloudJobListPreparationAndReleaseTaskStatusResultIterator provides access to a complete listing of -// JobPreparationAndReleaseTaskExecutionInformation values. -type CloudJobListPreparationAndReleaseTaskStatusResultIterator struct { - i int - page CloudJobListPreparationAndReleaseTaskStatusResultPage -} - -// Next advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -func (iter *CloudJobListPreparationAndReleaseTaskStatusResultIterator) Next() error { - iter.i++ - if iter.i < len(iter.page.Values()) { - return nil - } - err := iter.page.Next() - if err != nil { - iter.i-- - return err - } - iter.i = 0 - return nil -} - -// NotDone returns true if the enumeration should be started or is not yet complete. -func (iter CloudJobListPreparationAndReleaseTaskStatusResultIterator) NotDone() bool { - return iter.page.NotDone() && iter.i < len(iter.page.Values()) -} - -// Response returns the raw server response from the last page request. -func (iter CloudJobListPreparationAndReleaseTaskStatusResultIterator) Response() CloudJobListPreparationAndReleaseTaskStatusResult { - return iter.page.Response() -} - -// Value returns the current value or a zero-initialized value if the -// iterator has advanced beyond the end of the collection. -func (iter CloudJobListPreparationAndReleaseTaskStatusResultIterator) Value() JobPreparationAndReleaseTaskExecutionInformation { - if !iter.page.NotDone() { - return JobPreparationAndReleaseTaskExecutionInformation{} - } - return iter.page.Values()[iter.i] -} - -// IsEmpty returns true if the ListResult contains no values. -func (cjlpartsr CloudJobListPreparationAndReleaseTaskStatusResult) IsEmpty() bool { - return cjlpartsr.Value == nil || len(*cjlpartsr.Value) == 0 -} - -// cloudJobListPreparationAndReleaseTaskStatusResultPreparer prepares a request to retrieve the next set of results. -// It returns nil if no more results exist. -func (cjlpartsr CloudJobListPreparationAndReleaseTaskStatusResult) cloudJobListPreparationAndReleaseTaskStatusResultPreparer() (*http.Request, error) { - if cjlpartsr.OdataNextLink == nil || len(to.String(cjlpartsr.OdataNextLink)) < 1 { - return nil, nil - } - return autorest.Prepare(&http.Request{}, - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(cjlpartsr.OdataNextLink))) -} - -// CloudJobListPreparationAndReleaseTaskStatusResultPage contains a page of -// JobPreparationAndReleaseTaskExecutionInformation values. -type CloudJobListPreparationAndReleaseTaskStatusResultPage struct { - fn func(CloudJobListPreparationAndReleaseTaskStatusResult) (CloudJobListPreparationAndReleaseTaskStatusResult, error) - cjlpartsr CloudJobListPreparationAndReleaseTaskStatusResult -} - -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -func (page *CloudJobListPreparationAndReleaseTaskStatusResultPage) Next() error { - next, err := page.fn(page.cjlpartsr) - if err != nil { - return err - } - page.cjlpartsr = next - return nil -} - -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page CloudJobListPreparationAndReleaseTaskStatusResultPage) NotDone() bool { - return !page.cjlpartsr.IsEmpty() -} - -// Response returns the raw server response from the last page request. -func (page CloudJobListPreparationAndReleaseTaskStatusResultPage) Response() CloudJobListPreparationAndReleaseTaskStatusResult { - return page.cjlpartsr -} - -// Values returns the slice of values for the current page or nil if there are no values. -func (page CloudJobListPreparationAndReleaseTaskStatusResultPage) Values() []JobPreparationAndReleaseTaskExecutionInformation { - if page.cjlpartsr.IsEmpty() { - return nil - } - return *page.cjlpartsr.Value -} - -// CloudJobListResult response to a CloudJobOperation.List or ListFromJobSchedule request. -type CloudJobListResult struct { - autorest.Response `json:"-"` - // Value - The list of jobs. - Value *[]CloudJob `json:"value,omitempty"` - // OdataNextLink - The URL to get the next set of results. - OdataNextLink *string `json:"odata.nextLink,omitempty"` -} - -// CloudJobListResultIterator provides access to a complete listing of CloudJob values. -type CloudJobListResultIterator struct { - i int - page CloudJobListResultPage -} - -// Next advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -func (iter *CloudJobListResultIterator) Next() error { - iter.i++ - if iter.i < len(iter.page.Values()) { - return nil - } - err := iter.page.Next() - if err != nil { - iter.i-- - return err - } - iter.i = 0 - return nil -} - -// NotDone returns true if the enumeration should be started or is not yet complete. -func (iter CloudJobListResultIterator) NotDone() bool { - return iter.page.NotDone() && iter.i < len(iter.page.Values()) -} - -// Response returns the raw server response from the last page request. -func (iter CloudJobListResultIterator) Response() CloudJobListResult { - return iter.page.Response() -} - -// Value returns the current value or a zero-initialized value if the -// iterator has advanced beyond the end of the collection. -func (iter CloudJobListResultIterator) Value() CloudJob { - if !iter.page.NotDone() { - return CloudJob{} - } - return iter.page.Values()[iter.i] -} - -// IsEmpty returns true if the ListResult contains no values. -func (cjlr CloudJobListResult) IsEmpty() bool { - return cjlr.Value == nil || len(*cjlr.Value) == 0 -} - -// cloudJobListResultPreparer prepares a request to retrieve the next set of results. -// It returns nil if no more results exist. -func (cjlr CloudJobListResult) cloudJobListResultPreparer() (*http.Request, error) { - if cjlr.OdataNextLink == nil || len(to.String(cjlr.OdataNextLink)) < 1 { - return nil, nil - } - return autorest.Prepare(&http.Request{}, - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(cjlr.OdataNextLink))) -} - -// CloudJobListResultPage contains a page of CloudJob values. -type CloudJobListResultPage struct { - fn func(CloudJobListResult) (CloudJobListResult, error) - cjlr CloudJobListResult -} - -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -func (page *CloudJobListResultPage) Next() error { - next, err := page.fn(page.cjlr) - if err != nil { - return err - } - page.cjlr = next - return nil -} - -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page CloudJobListResultPage) NotDone() bool { - return !page.cjlr.IsEmpty() -} - -// Response returns the raw server response from the last page request. -func (page CloudJobListResultPage) Response() CloudJobListResult { - return page.cjlr -} - -// Values returns the slice of values for the current page or nil if there are no values. -func (page CloudJobListResultPage) Values() []CloudJob { - if page.cjlr.IsEmpty() { - return nil - } - return *page.cjlr.Value -} - -// CloudJobSchedule a job schedule that allows recurring jobs by specifying when to run jobs and a specification -// used to create each job. -type CloudJobSchedule struct { - autorest.Response `json:"-"` - // ID - A string that uniquely identifies the schedule within the account. A GUID is recommended. - ID *string `json:"id,omitempty"` - // DisplayName - The display name for the schedule. - DisplayName *string `json:"displayName,omitempty"` - // URL - The URL of the job schedule. - URL *string `json:"url,omitempty"` - // ETag - The ETag of the job schedule. - ETag *string `json:"eTag,omitempty"` - // LastModified - The last modified time of the job schedule. - LastModified *date.Time `json:"lastModified,omitempty"` - // CreationTime - The creation time of the job schedule. - CreationTime *date.Time `json:"creationTime,omitempty"` - // State - The current state of the job schedule. Possible values include: 'JobScheduleStateActive', 'JobScheduleStateCompleted', 'JobScheduleStateDisabled', 'JobScheduleStateTerminating', 'JobScheduleStateDeleting' - State JobScheduleState `json:"state,omitempty"` - // StateTransitionTime - The time at which the job schedule entered the current state. - StateTransitionTime *date.Time `json:"stateTransitionTime,omitempty"` - // PreviousState - The previous state of the job schedule. Possible values include: 'JobScheduleStateActive', 'JobScheduleStateCompleted', 'JobScheduleStateDisabled', 'JobScheduleStateTerminating', 'JobScheduleStateDeleting' - PreviousState JobScheduleState `json:"previousState,omitempty"` - // PreviousStateTransitionTime - The time at which the job schedule entered its previous state. - PreviousStateTransitionTime *date.Time `json:"previousStateTransitionTime,omitempty"` - // Schedule - The schedule according to which jobs will be created. - Schedule *Schedule `json:"schedule,omitempty"` - // JobSpecification - The details of the jobs to be created on this schedule. - JobSpecification *JobSpecification `json:"jobSpecification,omitempty"` - // ExecutionInfo - Information about jobs that have been and will be run under this schedule. - ExecutionInfo *JobScheduleExecutionInformation `json:"executionInfo,omitempty"` - // Metadata - A list of name-value pairs associated with the schedule as metadata. - Metadata *[]MetadataItem `json:"metadata,omitempty"` - // Stats - The lifetime resource usage statistics for the job schedule. - Stats *JobScheduleStatistics `json:"stats,omitempty"` -} - -// CloudJobScheduleListResult response to a CloudJobScheduleOperation.List request. -type CloudJobScheduleListResult struct { - autorest.Response `json:"-"` - // Value - The list of job schedules. - Value *[]CloudJobSchedule `json:"value,omitempty"` - // OdataNextLink - The URL to get the next set of results. - OdataNextLink *string `json:"odata.nextLink,omitempty"` -} - -// CloudJobScheduleListResultIterator provides access to a complete listing of CloudJobSchedule values. -type CloudJobScheduleListResultIterator struct { - i int - page CloudJobScheduleListResultPage -} - -// Next advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -func (iter *CloudJobScheduleListResultIterator) Next() error { - iter.i++ - if iter.i < len(iter.page.Values()) { - return nil - } - err := iter.page.Next() - if err != nil { - iter.i-- - return err - } - iter.i = 0 - return nil -} - -// NotDone returns true if the enumeration should be started or is not yet complete. -func (iter CloudJobScheduleListResultIterator) NotDone() bool { - return iter.page.NotDone() && iter.i < len(iter.page.Values()) -} - -// Response returns the raw server response from the last page request. -func (iter CloudJobScheduleListResultIterator) Response() CloudJobScheduleListResult { - return iter.page.Response() -} - -// Value returns the current value or a zero-initialized value if the -// iterator has advanced beyond the end of the collection. -func (iter CloudJobScheduleListResultIterator) Value() CloudJobSchedule { - if !iter.page.NotDone() { - return CloudJobSchedule{} - } - return iter.page.Values()[iter.i] -} - -// IsEmpty returns true if the ListResult contains no values. -func (cjslr CloudJobScheduleListResult) IsEmpty() bool { - return cjslr.Value == nil || len(*cjslr.Value) == 0 -} - -// cloudJobScheduleListResultPreparer prepares a request to retrieve the next set of results. -// It returns nil if no more results exist. -func (cjslr CloudJobScheduleListResult) cloudJobScheduleListResultPreparer() (*http.Request, error) { - if cjslr.OdataNextLink == nil || len(to.String(cjslr.OdataNextLink)) < 1 { - return nil, nil - } - return autorest.Prepare(&http.Request{}, - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(cjslr.OdataNextLink))) -} - -// CloudJobScheduleListResultPage contains a page of CloudJobSchedule values. -type CloudJobScheduleListResultPage struct { - fn func(CloudJobScheduleListResult) (CloudJobScheduleListResult, error) - cjslr CloudJobScheduleListResult -} - -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -func (page *CloudJobScheduleListResultPage) Next() error { - next, err := page.fn(page.cjslr) - if err != nil { - return err - } - page.cjslr = next - return nil -} - -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page CloudJobScheduleListResultPage) NotDone() bool { - return !page.cjslr.IsEmpty() -} - -// Response returns the raw server response from the last page request. -func (page CloudJobScheduleListResultPage) Response() CloudJobScheduleListResult { - return page.cjslr -} - -// Values returns the slice of values for the current page or nil if there are no values. -func (page CloudJobScheduleListResultPage) Values() []CloudJobSchedule { - if page.cjslr.IsEmpty() { - return nil - } - return *page.cjslr.Value -} - -// CloudPool a pool in the Azure Batch service. -type CloudPool struct { - autorest.Response `json:"-"` - // ID - A string that uniquely identifies the pool within the account. The id can contain any combination of alphanumeric characters including hyphens and underscores, and cannot contain more than 64 characters. - ID *string `json:"id,omitempty"` - // DisplayName - The display name for the pool. - DisplayName *string `json:"displayName,omitempty"` - // URL - The URL of the pool. - URL *string `json:"url,omitempty"` - // ETag - The ETag of the pool. - ETag *string `json:"eTag,omitempty"` - // LastModified - The last modified time of the pool. - LastModified *date.Time `json:"lastModified,omitempty"` - // CreationTime - The creation time of the pool. - CreationTime *date.Time `json:"creationTime,omitempty"` - // State - The current state of the pool. Possible values include: 'PoolStateActive', 'PoolStateDeleting', 'PoolStateUpgrading' - State PoolState `json:"state,omitempty"` - // StateTransitionTime - The time at which the pool entered its current state. - StateTransitionTime *date.Time `json:"stateTransitionTime,omitempty"` - // AllocationState - Whether the pool is resizing. Possible values include: 'Steady', 'Resizing', 'Stopping' - AllocationState AllocationState `json:"allocationState,omitempty"` - // AllocationStateTransitionTime - The time at which the pool entered its current allocation state. - AllocationStateTransitionTime *date.Time `json:"allocationStateTransitionTime,omitempty"` - // VMSize - The size of virtual machines in the pool. All virtual machines in a pool are the same size. - VMSize *string `json:"vmSize,omitempty"` - // CloudServiceConfiguration - The cloud service configuration for the pool. This property and VirtualMachineConfiguration are mutually exclusive and one of the properties must be specified. - CloudServiceConfiguration *CloudServiceConfiguration `json:"cloudServiceConfiguration,omitempty"` - // VirtualMachineConfiguration - The virtual machine configuration for the pool. This property and CloudServiceConfiguration are mutually exclusive and one of the properties must be specified. - VirtualMachineConfiguration *VirtualMachineConfiguration `json:"virtualMachineConfiguration,omitempty"` - // ResizeTimeout - The timeout for allocation of compute nodes to the pool. In a Get Pool operation, this is the timeout for the most recent resize operation. The default value is 10 minutes. - ResizeTimeout *string `json:"resizeTimeout,omitempty"` - // ResizeError - Details of any error encountered while performing the last resize on the pool. This property is set only if an error occurred during the last pool resize, and only when the pool AllocationState is Steady. - ResizeError *ResizeError `json:"resizeError,omitempty"` - // CurrentDedicated - The number of compute nodes currently in the pool. - CurrentDedicated *int32 `json:"currentDedicated,omitempty"` - // TargetDedicated - The desired number of compute nodes in the pool. This property must have the default value if EnableAutoScale is true. It is required if EnableAutoScale is false. - TargetDedicated *int32 `json:"targetDedicated,omitempty"` - // EnableAutoScale - Whether the pool size should automatically adjust over time. If true, the AutoScaleFormula property must be set. If false, the TargetDedicated property must be set. - EnableAutoScale *bool `json:"enableAutoScale,omitempty"` - // AutoScaleFormula - A formula for the desired number of compute nodes in the pool. - AutoScaleFormula *string `json:"autoScaleFormula,omitempty"` - // AutoScaleEvaluationInterval - A time interval for the desired AutoScale evaluation period in the pool. - AutoScaleEvaluationInterval *string `json:"autoScaleEvaluationInterval,omitempty"` - // AutoScaleRun - The results and errors from the last execution of the autoscale formula. - AutoScaleRun *AutoScaleRun `json:"autoScaleRun,omitempty"` - // EnableInterNodeCommunication - Whether the pool permits direct communication between nodes. - EnableInterNodeCommunication *bool `json:"enableInterNodeCommunication,omitempty"` - // StartTask - A task specified to run on each compute node as it joins the pool. - StartTask *StartTask `json:"startTask,omitempty"` - // CertificateReferences - The list of certificates to be installed on each compute node in the pool. - CertificateReferences *[]CertificateReference `json:"certificateReferences,omitempty"` - // ApplicationPackageReferences - The list of application packages to be installed on each compute node in the pool. - ApplicationPackageReferences *[]ApplicationPackageReference `json:"applicationPackageReferences,omitempty"` - // MaxTasksPerNode - The maximum number of tasks that can run concurrently on a single compute node in the pool. - MaxTasksPerNode *int32 `json:"maxTasksPerNode,omitempty"` - // TaskSchedulingPolicy - How the Batch service distributes tasks between compute nodes in the pool. - TaskSchedulingPolicy *TaskSchedulingPolicy `json:"taskSchedulingPolicy,omitempty"` - // Metadata - A list of name-value pairs associated with the pool as metadata. - Metadata *[]MetadataItem `json:"metadata,omitempty"` - // Stats - Utilization and resource usage statistics for the entire lifetime of the pool. - Stats *PoolStatistics `json:"stats,omitempty"` -} - -// CloudPoolListResult response to a CloudPoolOperations.List request. -type CloudPoolListResult struct { - autorest.Response `json:"-"` - // Value - The list of pools. - Value *[]CloudPool `json:"value,omitempty"` - // OdataNextLink - The URL to get the next set of results. - OdataNextLink *string `json:"odata.nextLink,omitempty"` -} - -// CloudPoolListResultIterator provides access to a complete listing of CloudPool values. -type CloudPoolListResultIterator struct { - i int - page CloudPoolListResultPage -} - -// Next advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -func (iter *CloudPoolListResultIterator) Next() error { - iter.i++ - if iter.i < len(iter.page.Values()) { - return nil - } - err := iter.page.Next() - if err != nil { - iter.i-- - return err - } - iter.i = 0 - return nil -} - -// NotDone returns true if the enumeration should be started or is not yet complete. -func (iter CloudPoolListResultIterator) NotDone() bool { - return iter.page.NotDone() && iter.i < len(iter.page.Values()) -} - -// Response returns the raw server response from the last page request. -func (iter CloudPoolListResultIterator) Response() CloudPoolListResult { - return iter.page.Response() -} - -// Value returns the current value or a zero-initialized value if the -// iterator has advanced beyond the end of the collection. -func (iter CloudPoolListResultIterator) Value() CloudPool { - if !iter.page.NotDone() { - return CloudPool{} - } - return iter.page.Values()[iter.i] -} - -// IsEmpty returns true if the ListResult contains no values. -func (cplr CloudPoolListResult) IsEmpty() bool { - return cplr.Value == nil || len(*cplr.Value) == 0 -} - -// cloudPoolListResultPreparer prepares a request to retrieve the next set of results. -// It returns nil if no more results exist. -func (cplr CloudPoolListResult) cloudPoolListResultPreparer() (*http.Request, error) { - if cplr.OdataNextLink == nil || len(to.String(cplr.OdataNextLink)) < 1 { - return nil, nil - } - return autorest.Prepare(&http.Request{}, - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(cplr.OdataNextLink))) -} - -// CloudPoolListResultPage contains a page of CloudPool values. -type CloudPoolListResultPage struct { - fn func(CloudPoolListResult) (CloudPoolListResult, error) - cplr CloudPoolListResult -} - -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -func (page *CloudPoolListResultPage) Next() error { - next, err := page.fn(page.cplr) - if err != nil { - return err - } - page.cplr = next - return nil -} - -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page CloudPoolListResultPage) NotDone() bool { - return !page.cplr.IsEmpty() -} - -// Response returns the raw server response from the last page request. -func (page CloudPoolListResultPage) Response() CloudPoolListResult { - return page.cplr -} - -// Values returns the slice of values for the current page or nil if there are no values. -func (page CloudPoolListResultPage) Values() []CloudPool { - if page.cplr.IsEmpty() { - return nil - } - return *page.cplr.Value -} - -// CloudServiceConfiguration the configuration for nodes in a pool based on the Azure Cloud Services platform. -type CloudServiceConfiguration struct { - // OsFamily - The Azure Guest OS family to be installed on the virtual machines in the pool. - OsFamily *string `json:"osFamily,omitempty"` - // TargetOSVersion - The Azure Guest OS version to be installed on the virtual machines in the pool. The default value is * which specifies the latest operating system version for the specified OS family. - TargetOSVersion *string `json:"targetOSVersion,omitempty"` - // CurrentOSVersion - The Azure Guest OS Version currently installed on the virtual machines in the pool. This may differ from TargetOSVersion if the pool state is Upgrading. - CurrentOSVersion *string `json:"currentOSVersion,omitempty"` -} - -// CloudTask an Azure Batch task. -type CloudTask struct { - autorest.Response `json:"-"` - // ID - A string that uniquely identifies the task within the job. The id can contain any combination of alphanumeric characters including hyphens and underscores, and cannot contain more than 64 characters. - ID *string `json:"id,omitempty"` - // DisplayName - A display name for the task. - DisplayName *string `json:"displayName,omitempty"` - // URL - The URL of the task. - URL *string `json:"url,omitempty"` - // ETag - The ETag of the task. - ETag *string `json:"eTag,omitempty"` - // LastModified - The last modified time of the task. - LastModified *date.Time `json:"lastModified,omitempty"` - // CreationTime - The creation time of the task. - CreationTime *date.Time `json:"creationTime,omitempty"` - // State - The current state of the task. Possible values include: 'TaskStateActive', 'TaskStatePreparing', 'TaskStateRunning', 'TaskStateCompleted' - State TaskState `json:"state,omitempty"` - // StateTransitionTime - The time at which the task entered its current state. - StateTransitionTime *date.Time `json:"stateTransitionTime,omitempty"` - // PreviousState - The previous state of the task. This property is not set if the task is in its initial Active state. Possible values include: 'TaskStateActive', 'TaskStatePreparing', 'TaskStateRunning', 'TaskStateCompleted' - PreviousState TaskState `json:"previousState,omitempty"` - // PreviousStateTransitionTime - The time at which the task entered its previous state. This property is not set if the task is in its initial Active state. - PreviousStateTransitionTime *date.Time `json:"previousStateTransitionTime,omitempty"` - // CommandLine - The command line of the task. For multi-instance tasks, the command line is executed on the primary subtask after all the subtasks have finished executing the coordianation command line. - CommandLine *string `json:"commandLine,omitempty"` - // ResourceFiles - A list of files that the Batch service will download to the compute node before running the command line. For multi-instance tasks, the resource files will only be downloaded to the compute node on which the primary subtask is executed. - ResourceFiles *[]ResourceFile `json:"resourceFiles,omitempty"` - // EnvironmentSettings - A list of environment variable settings for the task. - EnvironmentSettings *[]EnvironmentSetting `json:"environmentSettings,omitempty"` - // AffinityInfo - A locality hint that can be used by the Batch service to select a compute node on which to start the new task. - AffinityInfo *AffinityInformation `json:"affinityInfo,omitempty"` - // Constraints - The execution constraints that apply to this task. - Constraints *TaskConstraints `json:"constraints,omitempty"` - // RunElevated - Whether to run the task in elevated mode. - RunElevated *bool `json:"runElevated,omitempty"` - // ExecutionInfo - Information about the execution of the task. - ExecutionInfo *TaskExecutionInformation `json:"executionInfo,omitempty"` - // NodeInfo - Information about the compute node on which the task ran. - NodeInfo *ComputeNodeInformation `json:"nodeInfo,omitempty"` - // MultiInstanceSettings - Information about how to run the multi-instance task. - MultiInstanceSettings *MultiInstanceSettings `json:"multiInstanceSettings,omitempty"` - // Stats - Resource usage statistics for the task. - Stats *TaskStatistics `json:"stats,omitempty"` - // DependsOn - Any dependencies this task has. - DependsOn *TaskDependencies `json:"dependsOn,omitempty"` -} - -// CloudTaskListResult response to a CloudTaskOperations.List request. -type CloudTaskListResult struct { - autorest.Response `json:"-"` - // Value - The list of tasks. - Value *[]CloudTask `json:"value,omitempty"` - // OdataNextLink - The URL to get the next set of results. - OdataNextLink *string `json:"odata.nextLink,omitempty"` -} - -// CloudTaskListResultIterator provides access to a complete listing of CloudTask values. -type CloudTaskListResultIterator struct { - i int - page CloudTaskListResultPage -} - -// Next advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -func (iter *CloudTaskListResultIterator) Next() error { - iter.i++ - if iter.i < len(iter.page.Values()) { - return nil - } - err := iter.page.Next() - if err != nil { - iter.i-- - return err - } - iter.i = 0 - return nil -} - -// NotDone returns true if the enumeration should be started or is not yet complete. -func (iter CloudTaskListResultIterator) NotDone() bool { - return iter.page.NotDone() && iter.i < len(iter.page.Values()) -} - -// Response returns the raw server response from the last page request. -func (iter CloudTaskListResultIterator) Response() CloudTaskListResult { - return iter.page.Response() -} - -// Value returns the current value or a zero-initialized value if the -// iterator has advanced beyond the end of the collection. -func (iter CloudTaskListResultIterator) Value() CloudTask { - if !iter.page.NotDone() { - return CloudTask{} - } - return iter.page.Values()[iter.i] -} - -// IsEmpty returns true if the ListResult contains no values. -func (ctlr CloudTaskListResult) IsEmpty() bool { - return ctlr.Value == nil || len(*ctlr.Value) == 0 -} - -// cloudTaskListResultPreparer prepares a request to retrieve the next set of results. -// It returns nil if no more results exist. -func (ctlr CloudTaskListResult) cloudTaskListResultPreparer() (*http.Request, error) { - if ctlr.OdataNextLink == nil || len(to.String(ctlr.OdataNextLink)) < 1 { - return nil, nil - } - return autorest.Prepare(&http.Request{}, - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(ctlr.OdataNextLink))) -} - -// CloudTaskListResultPage contains a page of CloudTask values. -type CloudTaskListResultPage struct { - fn func(CloudTaskListResult) (CloudTaskListResult, error) - ctlr CloudTaskListResult -} - -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -func (page *CloudTaskListResultPage) Next() error { - next, err := page.fn(page.ctlr) - if err != nil { - return err - } - page.ctlr = next - return nil -} - -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page CloudTaskListResultPage) NotDone() bool { - return !page.ctlr.IsEmpty() -} - -// Response returns the raw server response from the last page request. -func (page CloudTaskListResultPage) Response() CloudTaskListResult { - return page.ctlr -} - -// Values returns the slice of values for the current page or nil if there are no values. -func (page CloudTaskListResultPage) Values() []CloudTask { - if page.ctlr.IsEmpty() { - return nil - } - return *page.ctlr.Value -} - -// CloudTaskListSubtasksResult response to a CloudTaskOperations.ListSubtasks request. -type CloudTaskListSubtasksResult struct { - autorest.Response `json:"-"` - // Value - The list of information of subtasks. - Value *[]SubtaskInformation `json:"value,omitempty"` -} - -// ComputeNode a compute node in the Batch service. -type ComputeNode struct { - autorest.Response `json:"-"` - // ID - The id of the compute node. - ID *string `json:"id,omitempty"` - // URL - The URL of the compute node. - URL *string `json:"url,omitempty"` - // State - The current state of the compute node. Possible values include: 'Idle', 'Rebooting', 'Reimaging', 'Running', 'Unusable', 'Creating', 'Starting', 'Waitingforstarttask', 'Starttaskfailed', 'Unknown', 'Leavingpool', 'Offline' - State ComputeNodeState `json:"state,omitempty"` - // SchedulingState - Whether the compute node should be available for task scheduling. Possible values include: 'Enabled', 'Disabled' - SchedulingState SchedulingState `json:"schedulingState,omitempty"` - // StateTransitionTime - The time at which the compute node entered its current state. - StateTransitionTime *date.Time `json:"stateTransitionTime,omitempty"` - // LastBootTime - The time at which the compute node was started. - LastBootTime *date.Time `json:"lastBootTime,omitempty"` - // AllocationTime - The time at which this compute node was allocated to the pool. - AllocationTime *date.Time `json:"allocationTime,omitempty"` - // IPAddress - The IP address that other compute nodes can use to communicate with this compute node. - IPAddress *string `json:"ipAddress,omitempty"` - // AffinityID - An identifier which can be passed in the Add Task API to request that the task be scheduled close to this compute node. - AffinityID *string `json:"affinityId,omitempty"` - // VMSize - The size of the virtual machine hosting the compute node. - VMSize *string `json:"vmSize,omitempty"` - // TotalTasksRun - The total number of job tasks completed on the compute node. This includes Job Preparation, Job Release and Job Manager tasks, but not the pool start task. - TotalTasksRun *int32 `json:"totalTasksRun,omitempty"` - // RunningTasksCount - The total number of currently running job tasks on the compute node. This includes Job Preparation, Job Release, and Job Manager tasks, but not the pool start task. - RunningTasksCount *int32 `json:"runningTasksCount,omitempty"` - // TotalTasksSucceeded - The total number of job tasks which completed successfully (with exitCode 0) on the compute node. This includes Job Preparation, Job Release, and Job Manager tasks, but not the pool start task. - TotalTasksSucceeded *int32 `json:"totalTasksSucceeded,omitempty"` - // RecentTasks - The list of tasks that are currently running on the compute node. - RecentTasks *[]TaskInformation `json:"recentTasks,omitempty"` - // StartTask - The task specified to run on the compute node as it joins the pool. - StartTask *StartTask `json:"startTask,omitempty"` - // StartTaskInfo - Runtime information about the execution of the start task on the compute node. - StartTaskInfo *StartTaskInformation `json:"startTaskInfo,omitempty"` - // CertificateReferences - The list of certificates installed on the compute node. - CertificateReferences *[]CertificateReference `json:"certificateReferences,omitempty"` - // Errors - The list of errors that are currently being encountered by the compute node. - Errors *[]ComputeNodeError `json:"errors,omitempty"` -} - -// ComputeNodeError an error encountered by a compute node. -type ComputeNodeError struct { - // Code - An identifier for the compute node error. Codes are invariant and are intended to be consumed programmatically. - Code *string `json:"code,omitempty"` - // Message - A message describing the compute node error, intended to be suitable for display in a user interface. - Message *string `json:"message,omitempty"` - // ErrorDetails - The list of additional error details related to the compute node error. - ErrorDetails *[]NameValuePair `json:"errorDetails,omitempty"` -} - -// ComputeNodeGetRemoteLoginSettingsResult response to a ComputeNodeOperation.GetRemoteLoginSettings request. -type ComputeNodeGetRemoteLoginSettingsResult struct { - autorest.Response `json:"-"` - // RemoteLoginIPAddress - The IP address used for remote login to the compute node. - RemoteLoginIPAddress *string `json:"remoteLoginIPAddress,omitempty"` - // RemoteLoginPort - The port used for remote login to the compute node. - RemoteLoginPort *int32 `json:"remoteLoginPort,omitempty"` -} - -// ComputeNodeInformation information about the compute node on which a task ran. -type ComputeNodeInformation struct { - // AffinityID - An identifier for the compute node on which the task ran, which can be passed when adding a task to request that the task be scheduled close to this compute node. - AffinityID *string `json:"affinityId,omitempty"` - // NodeURL - The URL of the node on which the task ran. - NodeURL *string `json:"nodeUrl,omitempty"` - // PoolID - The id of the pool on which the task ran. - PoolID *string `json:"poolId,omitempty"` - // NodeID - The id of the node on which the task ran. - NodeID *string `json:"nodeId,omitempty"` - // TaskRootDirectory - The root directory of the task on the compute node. - TaskRootDirectory *string `json:"taskRootDirectory,omitempty"` - // TaskRootDirectoryURL - The URL to the root directory of the task on the compute node. - TaskRootDirectoryURL *string `json:"taskRootDirectoryUrl,omitempty"` -} - -// ComputeNodeListResult response to a ComputeNodeOperation.List request. -type ComputeNodeListResult struct { - autorest.Response `json:"-"` - // Value - The list of compute nodes. - Value *[]ComputeNode `json:"value,omitempty"` - // OdataNextLink - The URL to get the next set of results. - OdataNextLink *string `json:"odata.nextLink,omitempty"` -} - -// ComputeNodeListResultIterator provides access to a complete listing of ComputeNode values. -type ComputeNodeListResultIterator struct { - i int - page ComputeNodeListResultPage -} - -// Next advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -func (iter *ComputeNodeListResultIterator) Next() error { - iter.i++ - if iter.i < len(iter.page.Values()) { - return nil - } - err := iter.page.Next() - if err != nil { - iter.i-- - return err - } - iter.i = 0 - return nil -} - -// NotDone returns true if the enumeration should be started or is not yet complete. -func (iter ComputeNodeListResultIterator) NotDone() bool { - return iter.page.NotDone() && iter.i < len(iter.page.Values()) -} - -// Response returns the raw server response from the last page request. -func (iter ComputeNodeListResultIterator) Response() ComputeNodeListResult { - return iter.page.Response() -} - -// Value returns the current value or a zero-initialized value if the -// iterator has advanced beyond the end of the collection. -func (iter ComputeNodeListResultIterator) Value() ComputeNode { - if !iter.page.NotDone() { - return ComputeNode{} - } - return iter.page.Values()[iter.i] -} - -// IsEmpty returns true if the ListResult contains no values. -func (cnlr ComputeNodeListResult) IsEmpty() bool { - return cnlr.Value == nil || len(*cnlr.Value) == 0 -} - -// computeNodeListResultPreparer prepares a request to retrieve the next set of results. -// It returns nil if no more results exist. -func (cnlr ComputeNodeListResult) computeNodeListResultPreparer() (*http.Request, error) { - if cnlr.OdataNextLink == nil || len(to.String(cnlr.OdataNextLink)) < 1 { - return nil, nil - } - return autorest.Prepare(&http.Request{}, - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(cnlr.OdataNextLink))) -} - -// ComputeNodeListResultPage contains a page of ComputeNode values. -type ComputeNodeListResultPage struct { - fn func(ComputeNodeListResult) (ComputeNodeListResult, error) - cnlr ComputeNodeListResult -} - -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -func (page *ComputeNodeListResultPage) Next() error { - next, err := page.fn(page.cnlr) - if err != nil { - return err - } - page.cnlr = next - return nil -} - -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page ComputeNodeListResultPage) NotDone() bool { - return !page.cnlr.IsEmpty() -} - -// Response returns the raw server response from the last page request. -func (page ComputeNodeListResultPage) Response() ComputeNodeListResult { - return page.cnlr -} - -// Values returns the slice of values for the current page or nil if there are no values. -func (page ComputeNodeListResultPage) Values() []ComputeNode { - if page.cnlr.IsEmpty() { - return nil - } - return *page.cnlr.Value -} - -// ComputeNodeUser an user account on a compute node. -type ComputeNodeUser struct { - // Name - The user name of the account. - Name *string `json:"name,omitempty"` - // IsAdmin - Whether the account should be an administrator on the compute node. - IsAdmin *bool `json:"isAdmin,omitempty"` - // ExpiryTime - The time at which the account should expire. If omitted, the default is 1 day from the current time. - ExpiryTime *date.Time `json:"expiryTime,omitempty"` - // Password - The password of the account. - Password *string `json:"password,omitempty"` - // SSHPublicKey - The SSH public key that can be used for remote login to the compute node. - SSHPublicKey *string `json:"sshPublicKey,omitempty"` -} - -// DeleteCertificateError an error encountered by the Batch service when deleting a certificate. -type DeleteCertificateError struct { - // Code - An identifier for the certificate deletion error. Codes are invariant and are intended to be consumed programmatically. - Code *string `json:"code,omitempty"` - // Message - A message describing the certificate deletion error, intended to be suitable for display in a user interface. - Message *string `json:"message,omitempty"` - // Values - A list of additional error details related to the certificate deletion error. - Values *[]NameValuePair `json:"values,omitempty"` -} - -// EnvironmentSetting an environment variable to be set on a task process. -type EnvironmentSetting struct { - // Name - The name of the environment variable. - Name *string `json:"name,omitempty"` - // Value - The value of the environment variable. - Value *string `json:"value,omitempty"` -} - -// Error an error response received from the Azure Batch service. -type Error struct { - // Code - An identifier for the error. Codes are invariant and are intended to be consumed programmatically. - Code *string `json:"code,omitempty"` - // Message - A message describing the error, intended to be suitable for display in a user interface. - Message *ErrorMessage `json:"message,omitempty"` - // Values - A collection of key-value pairs containing additional details about the error. - Values *[]ErrorDetail `json:"values,omitempty"` -} - -// ErrorDetail an item of additional information included in an Azure Batch error response. -type ErrorDetail struct { - // Key - An identifier specifying the meaning of the Value property. - Key *string `json:"key,omitempty"` - // Value - The additional information included with the error response. - Value *string `json:"value,omitempty"` -} - -// ErrorMessage an error message received in an Azure Batch error response. -type ErrorMessage struct { - // Lang - The language code of the error message - Lang *string `json:"lang,omitempty"` - // Value - The text of the message. - Value *string `json:"value,omitempty"` -} - -// FileProperties the properties of a file on a compute node. -type FileProperties struct { - // CreationTime - The file creation time. - CreationTime *date.Time `json:"creationTime,omitempty"` - // LastModified - The time at which the file was last modified. - LastModified *date.Time `json:"lastModified,omitempty"` - // ContentLength - The length of the file. - ContentLength *int64 `json:"contentLength,omitempty"` - // ContentType - The content type of the file. - ContentType *string `json:"contentType,omitempty"` - // FileMode - The file mode attribute in octal format. This property will be returned only from a Linux compute node. - FileMode *string `json:"fileMode,omitempty"` -} - -// ImageReference a reference to an Azure Virtual Machines Marketplace image. -type ImageReference struct { - // Publisher - The publisher of the Azure Virtual Machines Marketplace image. For example, Canonical or MicrosoftWindowsServer. - Publisher *string `json:"publisher,omitempty"` - // Offer - The offer type of the Azure Virtual Machines Marketplace image. For example, UbuntuServer or WindowsServer. - Offer *string `json:"offer,omitempty"` - // Sku - The SKU of the Azure Virtual Machines Marketplace image. For example, 14.04.0-LTS or 2012-R2-Datacenter. - Sku *string `json:"sku,omitempty"` - // Version - The version of the Azure Virtual Machines Marketplace image. A value of 'latest' can be specified to select the latest version of an image. If omitted, the default is 'latest'. - Version *string `json:"version,omitempty"` -} - -// JobAddParameter an Azure Batch job to add. -type JobAddParameter struct { - // ID - A string that uniquely identifies the job within the account. The id can contain any combination of alphanumeric characters including hyphens and underscores, and cannot contain more than 64 characters. It is common to use a GUID for the id. - ID *string `json:"id,omitempty"` - // DisplayName - The display name for the job. - DisplayName *string `json:"displayName,omitempty"` - // Priority - The priority of the job. Priority values can range from -1000 to 1000, with -1000 being the lowest priority and 1000 being the highest priority. The default value is 0. - Priority *int32 `json:"priority,omitempty"` - // Constraints - The execution constraints for the job. - Constraints *JobConstraints `json:"constraints,omitempty"` - // JobManagerTask - Details of a Job Manager task to be launched when the job is started. - JobManagerTask *JobManagerTask `json:"jobManagerTask,omitempty"` - // JobPreparationTask - The Job Preparation task. - JobPreparationTask *JobPreparationTask `json:"jobPreparationTask,omitempty"` - // JobReleaseTask - The Job Release task. - JobReleaseTask *JobReleaseTask `json:"jobReleaseTask,omitempty"` - // CommonEnvironmentSettings - The list of common environment variable settings. These environment variables are set for all tasks in the job (including the Job Manager, Job Preparation and Job Release tasks). - CommonEnvironmentSettings *[]EnvironmentSetting `json:"commonEnvironmentSettings,omitempty"` - // PoolInfo - The pool on which the Batch service runs the job's tasks. - PoolInfo *PoolInformation `json:"poolInfo,omitempty"` - // Metadata - A list of name-value pairs associated with the job as metadata. - Metadata *[]MetadataItem `json:"metadata,omitempty"` - // UsesTaskDependencies - The flag that determines if this job will use tasks with dependencies. - UsesTaskDependencies *bool `json:"usesTaskDependencies,omitempty"` -} - -// JobConstraints specifies the execution constraints for jobs created on a schedule. -type JobConstraints struct { - // MaxWallClockTime - The maximum elapsed time that the job may run, measured from the time the job starts. If the job does not complete within the time limit, the Batch service terminates it and any tasks that are still running. - MaxWallClockTime *string `json:"maxWallClockTime,omitempty"` - // MaxTaskRetryCount - The maximum number of times each task may be retried. The Batch service retries a task if its exit code is nonzero. - MaxTaskRetryCount *int32 `json:"maxTaskRetryCount,omitempty"` -} - -// JobDisableParameter parameters for a CloudJobOperations.Disable request. -type JobDisableParameter struct { - // DisableTasks - What to do with active tasks associated with the job. Possible values include: 'DisableJobOptionRequeue', 'DisableJobOptionTerminate', 'DisableJobOptionWait' - DisableTasks DisableJobOption `json:"disableTasks,omitempty"` -} - -// JobExecutionInformation contains information about the execution of a job in the Azure Batch service. -type JobExecutionInformation struct { - // StartTime - The start time of the job. - StartTime *date.Time `json:"startTime,omitempty"` - // EndTime - The completion time of the job. This property is set only if the job is in the completed state. - EndTime *date.Time `json:"endTime,omitempty"` - // PoolID - The id of the pool to which this job is assigned. - PoolID *string `json:"poolId,omitempty"` - // SchedulingError - Details of any error encountered by the service in starting the job. - SchedulingError *JobSchedulingError `json:"schedulingError,omitempty"` - // TerminateReason - A string describing the reason the job ended. - TerminateReason *string `json:"terminateReason,omitempty"` -} - -// JobManagerTask specifies details of a Job Manager task. -type JobManagerTask struct { - // ID - A string that uniquely identifies the Job Manager task. A GUID is recommended. - ID *string `json:"id,omitempty"` - // DisplayName - The display name of the Job Manager task. - DisplayName *string `json:"displayName,omitempty"` - // CommandLine - The command line of the Job Manager task. - CommandLine *string `json:"commandLine,omitempty"` - // ResourceFiles - A list of files that the Batch service will download to the compute node before running the command line. - ResourceFiles *[]ResourceFile `json:"resourceFiles,omitempty"` - // EnvironmentSettings - A list of environment variable settings for the Job Manager task. - EnvironmentSettings *[]EnvironmentSetting `json:"environmentSettings,omitempty"` - // Constraints - Constraints that apply to the Job Manager task. - Constraints *TaskConstraints `json:"constraints,omitempty"` - // KillJobOnCompletion - Whether completion of the Job Manager task signifies completion of the entire job. - KillJobOnCompletion *bool `json:"killJobOnCompletion,omitempty"` - // RunElevated - Whether to run the Job Manager task in elevated mode. The default value is false. - RunElevated *bool `json:"runElevated,omitempty"` - // RunExclusive - Whether the Job Manager task requires exclusive use of the compute node where it runs. If true, no other tasks will run on the same compute node for as long as the Job Manager is running. If false, other tasks can run simultaneously with the Job Manager on a compute node. (The Job Manager task counts normally against the node's concurrent task limit, so this is only relevant if the node allows multiple concurrent tasks.) - RunExclusive *bool `json:"runExclusive,omitempty"` -} - -// JobPatchParameter parameters for a CloudJobOperations.Patch request. -type JobPatchParameter struct { - // Priority - The priority of the job. Priority values can range from -1000 to 1000, with -1000 being the lowest priority and 1000 being the highest priority. If omitted, the priority of the job is left unchanged. - Priority *int32 `json:"priority,omitempty"` - // Constraints - The execution constraints for the job. If omitted, the existing execution constraints are left unchanged. - Constraints *JobConstraints `json:"constraints,omitempty"` - // PoolInfo - The pool on which the Batch service runs the job's tasks. If omitted, the job continues to run on its current pool. - PoolInfo *PoolInformation `json:"poolInfo,omitempty"` - // Metadata - A list of name-value pairs associated with the job as metadata. If omitted, the existing job metadata is left unchanged. - Metadata *[]MetadataItem `json:"metadata,omitempty"` -} - -// JobPreparationAndReleaseTaskExecutionInformation the status of the Job Preparation and Job Release tasks on a -// compute node. -type JobPreparationAndReleaseTaskExecutionInformation struct { - // PoolID - The id of the pool containing the compute node to which this entry refers. - PoolID *string `json:"poolId,omitempty"` - // NodeID - The id of the compute node to which this entry refers. - NodeID *string `json:"nodeId,omitempty"` - // NodeURL - The URL of the compute node to which this entry refers. - NodeURL *string `json:"nodeUrl,omitempty"` - // JobPreparationTaskExecutionInfo - Information about the execution status of the Job Preparation task on this compute node. - JobPreparationTaskExecutionInfo *JobPreparationTaskExecutionInformation `json:"jobPreparationTaskExecutionInfo,omitempty"` - // JobReleaseTaskExecutionInfo - Information about the execution status of the Job Release task on this compute node. This property is set only if the Job Release task has run on the node. - JobReleaseTaskExecutionInfo *JobReleaseTaskExecutionInformation `json:"jobReleaseTaskExecutionInfo,omitempty"` -} - -// JobPreparationTask a Job Preparation task to run before any tasks of the job on any given compute node. -type JobPreparationTask struct { - // ID - A string that uniquely identifies the job preparation task within the job. The id can contain any combination of alphanumeric characters including hyphens and underscores and cannot contain more than 64 characters. - ID *string `json:"id,omitempty"` - // CommandLine - The command line of the Job Preparation task. - CommandLine *string `json:"commandLine,omitempty"` - // ResourceFiles - A list of files that the Batch service will download to the compute node before running the command line. - ResourceFiles *[]ResourceFile `json:"resourceFiles,omitempty"` - // EnvironmentSettings - A list of environment variable settings for the Job Preparation task. - EnvironmentSettings *[]EnvironmentSetting `json:"environmentSettings,omitempty"` - // Constraints - Constraints that apply to the Job Preparation task. - Constraints *TaskConstraints `json:"constraints,omitempty"` - // WaitForSuccess - Whether the Batch service should wait for the Job Preparation task to complete successfully before scheduling any other tasks of the job on the compute node. - WaitForSuccess *bool `json:"waitForSuccess,omitempty"` - // RunElevated - Whether to run the Job Preparation task in elevated mode. The default value is false. - RunElevated *bool `json:"runElevated,omitempty"` - // RerunOnNodeRebootAfterSuccess - Whether the Batch service should rerun the Job Preparation task after a compute node reboots. Note that the Job Preparation task should still be written to be idempotent because it can be rerun if the compute node is rebooted while Job Preparation task is still running. The default value is true. - RerunOnNodeRebootAfterSuccess *bool `json:"rerunOnNodeRebootAfterSuccess,omitempty"` -} - -// JobPreparationTaskExecutionInformation contains information about the execution of a Job Preparation task on a -// compute node. -type JobPreparationTaskExecutionInformation struct { - // StartTime - The time at which the task started running. Note that every time the task is restarted, this value is updated. - StartTime *date.Time `json:"startTime,omitempty"` - // EndTime - The time at which the Job Preparation task completed. This property is set only if the task is in the Completed state. - EndTime *date.Time `json:"endTime,omitempty"` - // State - The current state of the Job Preparation task. Possible values include: 'JobPreparationTaskStateRunning', 'JobPreparationTaskStateCompleted' - State JobPreparationTaskState `json:"state,omitempty"` - // TaskRootDirectory - The root directory of the Job Preparation task on the compute node. You can use this path to retrieve files created by the task, such as log files. - TaskRootDirectory *string `json:"taskRootDirectory,omitempty"` - // TaskRootDirectoryURL - The URL to the root directory of the Job Preparation task on the compute node. - TaskRootDirectoryURL *string `json:"taskRootDirectoryUrl,omitempty"` - // ExitCode - The exit code of the Job Preparation task. This property is set only if the task is in the Completed state. - ExitCode *int32 `json:"exitCode,omitempty"` - // SchedulingError - The error encountered by the Batch service when starting the task. - SchedulingError *TaskSchedulingError `json:"schedulingError,omitempty"` - // RetryCount - The number of times the task has been retried by the Batch service. Every time the task exits with a non-zero exit code, it is deemed a task failure. The Batch service will retry the task up to the limit specified by the constraints. - RetryCount *int32 `json:"retryCount,omitempty"` - // LastRetryTime - The most recent time at which a retry of the Job Preparation task started running. This property is set only if the task was retried (i.e. retryCount is nonzero). - LastRetryTime *date.Time `json:"lastRetryTime,omitempty"` -} - -// JobReleaseTask a Job Release task to run on job completion on any compute node where the job has run. -type JobReleaseTask struct { - // ID - A string that uniquely identifies the Job Release task within the job. The id can contain any combination of alphanumeric characters including hyphens and underscores and cannot contain more than 64 characters. - ID *string `json:"id,omitempty"` - // CommandLine - The command line of the Job Release task. - CommandLine *string `json:"commandLine,omitempty"` - // ResourceFiles - A list of files that the Batch service will download to the compute node before running the command line. - ResourceFiles *[]ResourceFile `json:"resourceFiles,omitempty"` - // EnvironmentSettings - A list of environment variable settings for the Job Release task. - EnvironmentSettings *[]EnvironmentSetting `json:"environmentSettings,omitempty"` - // MaxWallClockTime - The maximum elapsed time that the Job Release task may run on a given compute node, measured from the time the task starts. If the task does not complete within the time limit, the Batch service terminates it. The default value is 15 minutes. - MaxWallClockTime *string `json:"maxWallClockTime,omitempty"` - // RetentionTime - The minimum time to retain the working directory for the Job Release task on the compute node. After this time, the Batch service may delete the working directory and all its contents. The default is infinite. - RetentionTime *string `json:"retentionTime,omitempty"` - // RunElevated - Whether to run the Job Release task in elevated mode. The default value is false. - RunElevated *bool `json:"runElevated,omitempty"` -} - -// JobReleaseTaskExecutionInformation contains information about the execution of a Job Release task on a compute -// node. -type JobReleaseTaskExecutionInformation struct { - // StartTime - The time at which the task started running. Note that every time the task is restarted, this value is updated. - StartTime *date.Time `json:"startTime,omitempty"` - // EndTime - The time at which the Job Release task completed. This property is set only if the task is in the Completed state. - EndTime *date.Time `json:"endTime,omitempty"` - // State - The current state of the Job Release task. Possible values include: 'JobReleaseTaskStateRunning', 'JobReleaseTaskStateCompleted' - State JobReleaseTaskState `json:"state,omitempty"` - // TaskRootDirectory - The root directory of the Job Release task on the compute node. You can use this path to retrieve files created by the task, such as log files. - TaskRootDirectory *string `json:"taskRootDirectory,omitempty"` - // TaskRootDirectoryURL - The URL to the root directory of the Job Release task on the compute node. - TaskRootDirectoryURL *string `json:"taskRootDirectoryUrl,omitempty"` - // ExitCode - The exit code of the Job Release task. This property is set only if the task is in the Completed state. - ExitCode *int32 `json:"exitCode,omitempty"` - // SchedulingError - The scheduling error encountered by the Batch service when starting the task. - SchedulingError *TaskSchedulingError `json:"schedulingError,omitempty"` -} - -// JobScheduleAddParameter a job schedule that allows recurring jobs by specifying when to run jobs and a -// specification used to create each job. -type JobScheduleAddParameter struct { - // ID - A string that uniquely identifies the schedule within the account. A GUID is recommended. - ID *string `json:"id,omitempty"` - // DisplayName - The display name for the schedule. - DisplayName *string `json:"displayName,omitempty"` - // Schedule - The schedule according to which jobs will be created. - Schedule *Schedule `json:"schedule,omitempty"` - // JobSpecification - The details of the jobs to be created on this schedule. - JobSpecification *JobSpecification `json:"jobSpecification,omitempty"` - // Metadata - A list of name-value pairs associated with the schedule as metadata. - Metadata *[]MetadataItem `json:"metadata,omitempty"` -} - -// JobScheduleExecutionInformation specifies how tasks should be run in a job associated with a job schedule. -type JobScheduleExecutionInformation struct { - // NextRunTime - The next time at which a job will be created under this schedule. - NextRunTime *date.Time `json:"nextRunTime,omitempty"` - // RecentJob - Information about the most recent job under the job schedule. - RecentJob *RecentJob `json:"recentJob,omitempty"` - // EndTime - The time at which the schedule ended. This property is set only if the job schedule is in the completed state. - EndTime *date.Time `json:"endTime,omitempty"` -} - -// JobSchedulePatchParameter parameters for a CloudJobScheduleOperations.Patch request. -type JobSchedulePatchParameter struct { - // Schedule - The schedule according to which jobs will be created. If you do not specify this element, the existing schedule is not modified. - Schedule *Schedule `json:"schedule,omitempty"` - // JobSpecification - The details of the jobs to be created on this schedule. - JobSpecification *JobSpecification `json:"jobSpecification,omitempty"` - // Metadata - A list of name-value pairs associated with the job schedule as metadata. - Metadata *[]MetadataItem `json:"metadata,omitempty"` -} - -// JobScheduleStatistics resource usage statistics for a job schedule. -type JobScheduleStatistics struct { - // URL - The URL of the statistics. - URL *string `json:"url,omitempty"` - // StartTime - The start time of the time range covered by the statistics. - StartTime *date.Time `json:"startTime,omitempty"` - // LastUpdateTime - The time at which the statistics were last updated. All statistics are limited to the range between startTime and lastUpdateTime. - LastUpdateTime *date.Time `json:"lastUpdateTime,omitempty"` - // UserCPUTime - The total user mode CPU time (summed across all cores and all compute nodes) consumed by all tasks in all jobs created under the schedule. - UserCPUTime *string `json:"userCPUTime,omitempty"` - // KernelCPUTime - The total kernel mode CPU time (summed across all cores and all compute nodes) consumed by all tasks in all jobs created under the schedule. - KernelCPUTime *string `json:"kernelCPUTime,omitempty"` - // WallClockTime - The total wall clock time of all the tasks in all the jobs created under the schedule. - WallClockTime *string `json:"wallClockTime,omitempty"` - // ReadIOps - The total number of disk read operations made by all tasks in all jobs created under the schedule. - ReadIOps *int64 `json:"readIOps,omitempty"` - // WriteIOps - The total number of disk write operations made by all tasks in all jobs created under the schedule. - WriteIOps *int64 `json:"writeIOps,omitempty"` - // ReadIOGiB - The total gibibytes read from disk by all tasks in all jobs created under the schedule. - ReadIOGiB *float64 `json:"readIOGiB,omitempty"` - // WriteIOGiB - The total gibibytes written to disk by all tasks in all jobs created under the schedule. - WriteIOGiB *float64 `json:"writeIOGiB,omitempty"` - // NumSucceededTasks - The total number of tasks successfully completed during the given time range in jobs created under the schedule. A task completes successfully if it returns exit code 0. - NumSucceededTasks *int64 `json:"numSucceededTasks,omitempty"` - // NumFailedTasks - The total number of tasks that failed during the given time range in jobs created under the schedule. A task fails if it exhausts its maximum retry count without returning exit code 0. - NumFailedTasks *int64 `json:"numFailedTasks,omitempty"` - // NumTaskRetries - The total number of retries during the given time range on all tasks in all jobs created under the schedule. - NumTaskRetries *int64 `json:"numTaskRetries,omitempty"` - // WaitTime - The total wait time of all tasks in all jobs created under the schedule. The wait time for a task is defined as the elapsed time between the creation of the task and the start of task execution. (If the task is retried due to failures, the wait time is the time to the most recent task execution.) - WaitTime *string `json:"waitTime,omitempty"` -} - -// JobScheduleUpdateParameter parameters for a CloudJobScheduleOperations.Update request. -type JobScheduleUpdateParameter struct { - // Schedule - The schedule according to which jobs will be created. If you do not specify this element, it is equivalent to passing the default schedule: that is, a single job scheduled to run immediately. - Schedule *Schedule `json:"schedule,omitempty"` - // JobSpecification - Details of the jobs to be created on this schedule. - JobSpecification *JobSpecification `json:"jobSpecification,omitempty"` - // Metadata - A list of name-value pairs associated with the job schedule as metadata. If you do not specify this element, it takes the default value of an empty list; in effect, any existing metadata is deleted. - Metadata *[]MetadataItem `json:"metadata,omitempty"` -} - -// JobSchedulingError an error encountered by the Batch service when scheduling a job. -type JobSchedulingError struct { - // Category - The category of the job scheduling error. Possible values include: 'SchedulingErrorCategoryUsererror', 'SchedulingErrorCategoryServererror', 'SchedulingErrorCategoryUnmapped' - Category SchedulingErrorCategory `json:"category,omitempty"` - // Code - An identifier for the job scheduling error. Codes are invariant and are intended to be consumed programmatically. - Code *string `json:"code,omitempty"` - // Message - A message describing the job scheduling error, intended to be suitable for display in a user interface. - Message *string `json:"message,omitempty"` - // Details - A list of additional error details related to the scheduling error. - Details *[]NameValuePair `json:"details,omitempty"` -} - -// JobSpecification specifies details of the jobs to be created on a schedule. -type JobSpecification struct { - // Priority - The priority of jobs created under this schedule. Priority values can range from -1000 to 1000, with -1000 being the lowest priority and 1000 being the highest priority. The default value is 0. - Priority *int32 `json:"priority,omitempty"` - // DisplayName - The display name for jobs created under this schedule. It need not be unique and can contain any Unicode characters up to a maximum length of 1024. - DisplayName *string `json:"displayName,omitempty"` - // UsesTaskDependencies - The flag that determines if this job will use tasks with dependencies. - UsesTaskDependencies *bool `json:"usesTaskDependencies,omitempty"` - // Constraints - The execution constraints for jobs created under this schedule. - Constraints *JobConstraints `json:"constraints,omitempty"` - // JobManagerTask - The details of a Job Manager task to be launched when a job is started under this schedule. - JobManagerTask *JobManagerTask `json:"jobManagerTask,omitempty"` - // JobPreparationTask - The Job Preparation task for jobs created under this schedule. - JobPreparationTask *JobPreparationTask `json:"jobPreparationTask,omitempty"` - // JobReleaseTask - The Job Release task for jobs created under this schedule. - JobReleaseTask *JobReleaseTask `json:"jobReleaseTask,omitempty"` - // CommonEnvironmentSettings - A list of common environment variable settings. These environment variables are set for all tasks in jobs created under this schedule (including the Job Manager, Job Preparation and Job Release tasks). - CommonEnvironmentSettings *[]EnvironmentSetting `json:"commonEnvironmentSettings,omitempty"` - // PoolInfo - The pool on which the Batch service runs the tasks of jobs created under this schedule. - PoolInfo *PoolInformation `json:"poolInfo,omitempty"` - // Metadata - A list of name-value pairs associated with each job created under this schedule as metadata. - Metadata *[]MetadataItem `json:"metadata,omitempty"` -} - -// JobStatistics resource usage statistics for a job. -type JobStatistics struct { - autorest.Response `json:"-"` - // URL - The URL of the statistics. - URL *string `json:"url,omitempty"` - // StartTime - The start time of the time range covered by the statistics. - StartTime *date.Time `json:"startTime,omitempty"` - // LastUpdateTime - The time at which the statistics were last updated. All statistics are limited to the range between startTime and lastUpdateTime. - LastUpdateTime *date.Time `json:"lastUpdateTime,omitempty"` - // UserCPUTime - The total user mode CPU time (summed across all cores and all compute nodes) consumed by all tasks in the job. - UserCPUTime *string `json:"userCPUTime,omitempty"` - // KernelCPUTime - The total kernel mode CPU time (summed across all cores and all compute nodes) consumed by all tasks in the job. - KernelCPUTime *string `json:"kernelCPUTime,omitempty"` - // WallClockTime - The total wall clock time of all tasks in the job. - WallClockTime *string `json:"wallClockTime,omitempty"` - // ReadIOps - The total number of disk read operations made by all tasks in the job. - ReadIOps *int64 `json:"readIOps,omitempty"` - // WriteIOps - The total number of disk write operations made by all tasks in the job. - WriteIOps *int64 `json:"writeIOps,omitempty"` - // ReadIOGiB - The total gibibytes read from disk by all tasks in the job. - ReadIOGiB *float64 `json:"readIOGiB,omitempty"` - // WriteIOGiB - The total gibibytes written to disk by all tasks in the job. - WriteIOGiB *float64 `json:"writeIOGiB,omitempty"` - // NumSucceededTasks - The total number of tasks successfully completed in the job during the given time range. - NumSucceededTasks *int64 `json:"numSucceededTasks,omitempty"` - // NumFailedTasks - The total number of tasks in the job that failed during the given time range. - NumFailedTasks *int64 `json:"numFailedTasks,omitempty"` - // NumTaskRetries - The total number of retries on all the tasks in the job during the given time range. - NumTaskRetries *int64 `json:"numTaskRetries,omitempty"` - // WaitTime - The total wait time of all tasks in the job. The wait time for a task is defined as the elapsed time between the creation of the task and the start of task execution. (If the task is retried due to failures, the wait time is the time to the most recent task execution.) - WaitTime *string `json:"waitTime,omitempty"` -} - -// JobTerminateParameter parameters for a CloudJobOperations.Terminate request. -type JobTerminateParameter struct { - // TerminateReason - The text you want to appear as the job's TerminateReason. The default is 'UserTerminate'. - TerminateReason *string `json:"terminateReason,omitempty"` -} - -// JobUpdateParameter parameters for a CloudJobOperations.Update request. -type JobUpdateParameter struct { - // Priority - The priority of the job. Priority values can range from -1000 to 1000, with -1000 being the lowest priority and 1000 being the highest priority. If omitted, the priority of the job is left unchanged. - Priority *int32 `json:"priority,omitempty"` - // Constraints - The execution constraints for the job. If omitted, the existing execution constraints are left unchanged. - Constraints *JobConstraints `json:"constraints,omitempty"` - // PoolInfo - The pool on which the Batch service runs the job's tasks. If omitted, the job continues to run on its current pool. - PoolInfo *PoolInformation `json:"poolInfo,omitempty"` - // Metadata - A list of name-value pairs associated with the job as metadata. If omitted, the existing job metadata is left unchanged. - Metadata *[]MetadataItem `json:"metadata,omitempty"` -} - -// MetadataItem a name-value pair associated with a Batch service resource. The Batch service does not assign any -// meaning to this metadata; it is solely for the use of user code. -type MetadataItem struct { - // Name - The name of the metadata item. - Name *string `json:"name,omitempty"` - // Value - The value of the metadata item. - Value *string `json:"value,omitempty"` -} - -// MultiInstanceSettings settings which specify how to run a multi-instance task. Multi-instance tasks are commonly -// used to support MPI tasks. -type MultiInstanceSettings struct { - // NumberOfInstances - The number of compute nodes required by the multi-instance task. - NumberOfInstances *int32 `json:"numberOfInstances,omitempty"` - // CoordinationCommandLine - The command to run on the compute node instances for coordinating among the subtasks. - CoordinationCommandLine *string `json:"coordinationCommandLine,omitempty"` - // CommonResourceFiles - A list of files that the Batch service will download before running the coordination command line. The difference between common resource files and task resource files is that common resource files are downloaded for all subtasks including the primary, whereas task resource files are downloaded only for the primary. - CommonResourceFiles *[]ResourceFile `json:"commonResourceFiles,omitempty"` -} - -// NameValuePair represents a name-value pair. -type NameValuePair struct { - // Name - The name in the name-value pair. - Name *string `json:"name,omitempty"` - // Value - The value in the name-value pair. - Value *string `json:"value,omitempty"` -} - -// NodeAgentSku a node agent SKU supported by the Batch service. The Batch node agent is a program that runs on -// each node in the pool, and provides the command-and-control interface between the node and the Batch service. -// There are different implementations of the node agent, known as SKUs, for different operating systems. -type NodeAgentSku struct { - // ID - The node agent SKU id. - ID *string `json:"id,omitempty"` - // VerifiedImageReferences - The list of images verified to be compatible with this node agent SKU. This collection is not exhaustive (the node agent may be compatible with other images). - VerifiedImageReferences *[]ImageReference `json:"verifiedImageReferences,omitempty"` - // OsType - The type of operating system compatible with the node agent SKU. Possible values include: 'OSTypeLinux', 'OSTypeWindows', 'OSTypeUnmapped' - OsType OSType `json:"osType,omitempty"` -} - -// NodeDisableSchedulingParameter parameters for a ComputeNodeOperations.DisableScheduling request. -type NodeDisableSchedulingParameter struct { - // NodeDisableSchedulingOption - What to do with currently running tasks when disable task scheduling on the compute node. The default value is requeue. Possible values include: 'DisableComputeNodeSchedulingOptionRequeue', 'DisableComputeNodeSchedulingOptionTerminate', 'DisableComputeNodeSchedulingOptionTaskcompletion' - NodeDisableSchedulingOption DisableComputeNodeSchedulingOption `json:"nodeDisableSchedulingOption,omitempty"` -} - -// NodeFile information about a file or directory on a compute node. -type NodeFile struct { - // Name - The file path. - Name *string `json:"name,omitempty"` - // URL - The URL of the file. - URL *string `json:"url,omitempty"` - // IsDirectory - Whether the object represents a directory. - IsDirectory *bool `json:"isDirectory,omitempty"` - // Properties - The file properties. - Properties *FileProperties `json:"properties,omitempty"` -} - -// NodeFileListResult response to a FileOperation.ListFromComputeNode or FileOperation.ListFromTask request. -type NodeFileListResult struct { - autorest.Response `json:"-"` - // Value - The list of files. - Value *[]NodeFile `json:"value,omitempty"` - // OdataNextLink - The URL to get the next set of results. - OdataNextLink *string `json:"odata.nextLink,omitempty"` -} - -// NodeFileListResultIterator provides access to a complete listing of NodeFile values. -type NodeFileListResultIterator struct { - i int - page NodeFileListResultPage -} - -// Next advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -func (iter *NodeFileListResultIterator) Next() error { - iter.i++ - if iter.i < len(iter.page.Values()) { - return nil - } - err := iter.page.Next() - if err != nil { - iter.i-- - return err - } - iter.i = 0 - return nil -} - -// NotDone returns true if the enumeration should be started or is not yet complete. -func (iter NodeFileListResultIterator) NotDone() bool { - return iter.page.NotDone() && iter.i < len(iter.page.Values()) -} - -// Response returns the raw server response from the last page request. -func (iter NodeFileListResultIterator) Response() NodeFileListResult { - return iter.page.Response() -} - -// Value returns the current value or a zero-initialized value if the -// iterator has advanced beyond the end of the collection. -func (iter NodeFileListResultIterator) Value() NodeFile { - if !iter.page.NotDone() { - return NodeFile{} - } - return iter.page.Values()[iter.i] -} - -// IsEmpty returns true if the ListResult contains no values. -func (nflr NodeFileListResult) IsEmpty() bool { - return nflr.Value == nil || len(*nflr.Value) == 0 -} - -// nodeFileListResultPreparer prepares a request to retrieve the next set of results. -// It returns nil if no more results exist. -func (nflr NodeFileListResult) nodeFileListResultPreparer() (*http.Request, error) { - if nflr.OdataNextLink == nil || len(to.String(nflr.OdataNextLink)) < 1 { - return nil, nil - } - return autorest.Prepare(&http.Request{}, - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(nflr.OdataNextLink))) -} - -// NodeFileListResultPage contains a page of NodeFile values. -type NodeFileListResultPage struct { - fn func(NodeFileListResult) (NodeFileListResult, error) - nflr NodeFileListResult -} - -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -func (page *NodeFileListResultPage) Next() error { - next, err := page.fn(page.nflr) - if err != nil { - return err - } - page.nflr = next - return nil -} - -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page NodeFileListResultPage) NotDone() bool { - return !page.nflr.IsEmpty() -} - -// Response returns the raw server response from the last page request. -func (page NodeFileListResultPage) Response() NodeFileListResult { - return page.nflr -} - -// Values returns the slice of values for the current page or nil if there are no values. -func (page NodeFileListResultPage) Values() []NodeFile { - if page.nflr.IsEmpty() { - return nil - } - return *page.nflr.Value -} - -// NodeRebootParameter parameters for a ComputeNodeOperations.Reboot request. -type NodeRebootParameter struct { - // NodeRebootOption - When to reboot the compute node and what to do with currently running tasks. The default value is requeue. Possible values include: 'ComputeNodeRebootOptionRequeue', 'ComputeNodeRebootOptionTerminate', 'ComputeNodeRebootOptionTaskcompletion', 'ComputeNodeRebootOptionRetaineddata' - NodeRebootOption ComputeNodeRebootOption `json:"nodeRebootOption,omitempty"` -} - -// NodeReimageParameter parameters for a ComputeNodeOperations.Reimage request. -type NodeReimageParameter struct { - // NodeReimageOption - When to reimage the compute node and what to do with currently running tasks. The default value is requeue. Possible values include: 'ComputeNodeReimageOptionRequeue', 'ComputeNodeReimageOptionTerminate', 'ComputeNodeReimageOptionTaskcompletion', 'ComputeNodeReimageOptionRetaineddata' - NodeReimageOption ComputeNodeReimageOption `json:"nodeReimageOption,omitempty"` -} - -// NodeRemoveParameter parameters for a ComputeNodeOperations.Remove request. -type NodeRemoveParameter struct { - // NodeList - A list containing the id of the compute nodes to be removed from the specified pool. - NodeList *[]string `json:"nodeList,omitempty"` - // ResizeTimeout - The timeout for removal of compute nodes to the pool. The default value is 10 minutes. - ResizeTimeout *string `json:"resizeTimeout,omitempty"` - // NodeDeallocationOption - When compute nodes may be removed from the pool. Possible values include: 'Requeue', 'Terminate', 'Taskcompletion', 'Retaineddata' - NodeDeallocationOption ComputeNodeDeallocationOption `json:"nodeDeallocationOption,omitempty"` -} - -// NodeUpdateUserParameter parameters for a ComputeNodeOperations.UpdateUser request. -type NodeUpdateUserParameter struct { - // Password - The password of the account. - Password *string `json:"password,omitempty"` - // ExpiryTime - The time at which the account should expire. If omitted, the default is 1 day from the current time. - ExpiryTime *date.Time `json:"expiryTime,omitempty"` - // SSHPublicKey - The SSH public key that can be used for remote login to the compute node. - SSHPublicKey *string `json:"sshPublicKey,omitempty"` -} - -// PoolAddParameter a pool in the Azure Batch service to add. -type PoolAddParameter struct { - // ID - A string that uniquely identifies the pool within the account. The id can contain any combination of alphanumeric characters including hyphens and underscores, and cannot contain more than 64 characters. - ID *string `json:"id,omitempty"` - // DisplayName - The display name for the pool. - DisplayName *string `json:"displayName,omitempty"` - // VMSize - The size of virtual machines in the pool. All virtual machines in a pool are the same size. - VMSize *string `json:"vmSize,omitempty"` - // CloudServiceConfiguration - The cloud service configuration for the pool. This property and VirtualMachineConfiguration are mutually exclusive and one of the properties must be specified. - CloudServiceConfiguration *CloudServiceConfiguration `json:"cloudServiceConfiguration,omitempty"` - // VirtualMachineConfiguration - The virtual machine configuration for the pool. This property and CloudServiceConfiguration are mutually exclusive and one of the properties must be specified. - VirtualMachineConfiguration *VirtualMachineConfiguration `json:"virtualMachineConfiguration,omitempty"` - // ResizeTimeout - The timeout for allocation of compute nodes to the pool. In a Get Pool operation, this is the timeout for the most recent resize operation. The default value is 10 minutes. - ResizeTimeout *string `json:"resizeTimeout,omitempty"` - // TargetDedicated - The desired number of compute nodes in the pool. This property must have the default value if EnableAutoScale is true. It is required if EnableAutoScale is false. - TargetDedicated *int32 `json:"targetDedicated,omitempty"` - // EnableAutoScale - Whether the pool size should automatically adjust over time. If true, the AutoScaleFormula property must be set. If false, the TargetDedicated property must be set. - EnableAutoScale *bool `json:"enableAutoScale,omitempty"` - // AutoScaleFormula - A formula for the desired number of compute nodes in the pool. - AutoScaleFormula *string `json:"autoScaleFormula,omitempty"` - // AutoScaleEvaluationInterval - A time interval for the desired autoscale evaluation period in the pool. - AutoScaleEvaluationInterval *string `json:"autoScaleEvaluationInterval,omitempty"` - // EnableInterNodeCommunication - Whether the pool permits direct communication between nodes. - EnableInterNodeCommunication *bool `json:"enableInterNodeCommunication,omitempty"` - // StartTask - A task specified to run on each compute node as it joins the pool. - StartTask *StartTask `json:"startTask,omitempty"` - // CertificateReferences - The list of certificates to be installed on each compute node in the pool. - CertificateReferences *[]CertificateReference `json:"certificateReferences,omitempty"` - // ApplicationPackageReferences - The list of application packages to be installed on each compute node in the pool. - ApplicationPackageReferences *[]ApplicationPackageReference `json:"applicationPackageReferences,omitempty"` - // MaxTasksPerNode - The maximum number of tasks that can run concurrently on a single compute node in the pool. - MaxTasksPerNode *int32 `json:"maxTasksPerNode,omitempty"` - // TaskSchedulingPolicy - How the Batch service distributes tasks between compute nodes in the pool. - TaskSchedulingPolicy *TaskSchedulingPolicy `json:"taskSchedulingPolicy,omitempty"` - // Metadata - A list of name-value pairs associated with the pool as metadata. - Metadata *[]MetadataItem `json:"metadata,omitempty"` -} - -// PoolEnableAutoScaleParameter parameters for a CloudPoolOperations.EnableAutoScale request. -type PoolEnableAutoScaleParameter struct { - // AutoScaleFormula - The formula for the desired number of compute nodes in the pool. - AutoScaleFormula *string `json:"autoScaleFormula,omitempty"` - // AutoScaleEvaluationInterval - A time interval for the desired autoscale evaluation period in the pool. - AutoScaleEvaluationInterval *string `json:"autoScaleEvaluationInterval,omitempty"` -} - -// PoolEvaluateAutoScaleParameter parameters for a CloudJobOperations.EvaluateAutoScale request. -type PoolEvaluateAutoScaleParameter struct { - // AutoScaleFormula - A formula for the desired number of compute nodes in the pool. - AutoScaleFormula *string `json:"autoScaleFormula,omitempty"` -} - -// PoolInformation specifies how a job should be assigned to a pool. -type PoolInformation struct { - // PoolID - The id of an existing pool. All the tasks of the job will run on the specified pool. You must specify either PoolId or AutoPoolSpecification, but not both. - PoolID *string `json:"poolId,omitempty"` - // AutoPoolSpecification - Characteristics for a temporary 'auto pool'. The Batch service will create this auto pool and run all of the tasks of the job on it, and will delete the pool once the job has completed. You must specify either PoolId or AutoPoolSpecification, but not both. - AutoPoolSpecification *AutoPoolSpecification `json:"autoPoolSpecification,omitempty"` -} - -// PoolListPoolUsageMetricsResult response to an AccountOperation.ListPoolUsageMetrics request. -type PoolListPoolUsageMetricsResult struct { - autorest.Response `json:"-"` - // Value - The pool usage metrics data. - Value *[]PoolUsageMetrics `json:"value,omitempty"` - // OdataNextLink - The URL to get the next set of results. - OdataNextLink *string `json:"odata.nextLink,omitempty"` -} - -// PoolListPoolUsageMetricsResultIterator provides access to a complete listing of PoolUsageMetrics values. -type PoolListPoolUsageMetricsResultIterator struct { - i int - page PoolListPoolUsageMetricsResultPage -} - -// Next advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -func (iter *PoolListPoolUsageMetricsResultIterator) Next() error { - iter.i++ - if iter.i < len(iter.page.Values()) { - return nil - } - err := iter.page.Next() - if err != nil { - iter.i-- - return err - } - iter.i = 0 - return nil -} - -// NotDone returns true if the enumeration should be started or is not yet complete. -func (iter PoolListPoolUsageMetricsResultIterator) NotDone() bool { - return iter.page.NotDone() && iter.i < len(iter.page.Values()) -} - -// Response returns the raw server response from the last page request. -func (iter PoolListPoolUsageMetricsResultIterator) Response() PoolListPoolUsageMetricsResult { - return iter.page.Response() -} - -// Value returns the current value or a zero-initialized value if the -// iterator has advanced beyond the end of the collection. -func (iter PoolListPoolUsageMetricsResultIterator) Value() PoolUsageMetrics { - if !iter.page.NotDone() { - return PoolUsageMetrics{} - } - return iter.page.Values()[iter.i] -} - -// IsEmpty returns true if the ListResult contains no values. -func (plpumr PoolListPoolUsageMetricsResult) IsEmpty() bool { - return plpumr.Value == nil || len(*plpumr.Value) == 0 -} - -// poolListPoolUsageMetricsResultPreparer prepares a request to retrieve the next set of results. -// It returns nil if no more results exist. -func (plpumr PoolListPoolUsageMetricsResult) poolListPoolUsageMetricsResultPreparer() (*http.Request, error) { - if plpumr.OdataNextLink == nil || len(to.String(plpumr.OdataNextLink)) < 1 { - return nil, nil - } - return autorest.Prepare(&http.Request{}, - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(plpumr.OdataNextLink))) -} - -// PoolListPoolUsageMetricsResultPage contains a page of PoolUsageMetrics values. -type PoolListPoolUsageMetricsResultPage struct { - fn func(PoolListPoolUsageMetricsResult) (PoolListPoolUsageMetricsResult, error) - plpumr PoolListPoolUsageMetricsResult -} - -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -func (page *PoolListPoolUsageMetricsResultPage) Next() error { - next, err := page.fn(page.plpumr) - if err != nil { - return err - } - page.plpumr = next - return nil -} - -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page PoolListPoolUsageMetricsResultPage) NotDone() bool { - return !page.plpumr.IsEmpty() -} - -// Response returns the raw server response from the last page request. -func (page PoolListPoolUsageMetricsResultPage) Response() PoolListPoolUsageMetricsResult { - return page.plpumr -} - -// Values returns the slice of values for the current page or nil if there are no values. -func (page PoolListPoolUsageMetricsResultPage) Values() []PoolUsageMetrics { - if page.plpumr.IsEmpty() { - return nil - } - return *page.plpumr.Value -} - -// PoolPatchParameter parameters for a CloudPoolOperations.Patch request. -type PoolPatchParameter struct { - // StartTask - A task to run on each compute node as it joins the pool. If omitted, any existing start task is left unchanged. - StartTask *StartTask `json:"startTask,omitempty"` - // CertificateReferences - A list of certificates to be installed on each compute node in the pool. If omitted, any existing certificate references are left unchanged. - CertificateReferences *[]CertificateReference `json:"certificateReferences,omitempty"` - // ApplicationPackageReferences - A list of application packages to be installed on each compute node in the pool. If omitted, any existing application package references are left unchanged. - ApplicationPackageReferences *[]ApplicationPackageReference `json:"applicationPackageReferences,omitempty"` - // Metadata - A list of name-value pairs associated with the pool as metadata. If omitted, any existing metadata is left unchanged. - Metadata *[]MetadataItem `json:"metadata,omitempty"` -} - -// PoolResizeParameter parameters for a CloudPoolOperations.Resize request. -type PoolResizeParameter struct { - // TargetDedicated - The desired number of compute nodes in the pool. - TargetDedicated *int32 `json:"targetDedicated,omitempty"` - // ResizeTimeout - The timeout for allocation of compute nodes to the pool or removal of compute nodes from the pool. The default value is 10 minutes. - ResizeTimeout *string `json:"resizeTimeout,omitempty"` - // NodeDeallocationOption - When nodes may be removed from the pool, if the pool size is decreasing. Possible values include: 'Requeue', 'Terminate', 'Taskcompletion', 'Retaineddata' - NodeDeallocationOption ComputeNodeDeallocationOption `json:"nodeDeallocationOption,omitempty"` -} - -// PoolSpecification specification for creating a new pool. -type PoolSpecification struct { - // DisplayName - The display name for the pool. - DisplayName *string `json:"displayName,omitempty"` - // VMSize - The size of the virtual machines in the pool. All virtual machines in a pool are the same size. - VMSize *string `json:"vmSize,omitempty"` - // CloudServiceConfiguration - The cloud service configuration for the pool. This property and VirtualMachineConfiguration are mutually exclusive and one of the properties must be specified. - CloudServiceConfiguration *CloudServiceConfiguration `json:"cloudServiceConfiguration,omitempty"` - // VirtualMachineConfiguration - The virtual machine configuration for the pool. This property and CloudServiceConfiguration are mutually exclusive and one of the properties must be specified. - VirtualMachineConfiguration *VirtualMachineConfiguration `json:"virtualMachineConfiguration,omitempty"` - // MaxTasksPerNode - The maximum number of tasks that can run concurrently on a single compute node in the pool. - MaxTasksPerNode *int32 `json:"maxTasksPerNode,omitempty"` - // TaskSchedulingPolicy - How tasks are distributed among compute nodes in the pool. - TaskSchedulingPolicy *TaskSchedulingPolicy `json:"taskSchedulingPolicy,omitempty"` - // ResizeTimeout - The timeout for allocation of compute nodes to the pool. - ResizeTimeout *string `json:"resizeTimeout,omitempty"` - // TargetDedicated - The desired number of compute nodes in the pool. - TargetDedicated *int32 `json:"targetDedicated,omitempty"` - // EnableAutoScale - Whether the pool size should automatically adjust over time. - EnableAutoScale *bool `json:"enableAutoScale,omitempty"` - // AutoScaleFormula - The formula for the desired number of compute nodes in the pool. - AutoScaleFormula *string `json:"autoScaleFormula,omitempty"` - // AutoScaleEvaluationInterval - A time interval for the desired AutoScale evaluation period in the pool. - AutoScaleEvaluationInterval *string `json:"autoScaleEvaluationInterval,omitempty"` - // EnableInterNodeCommunication - Whether the pool permits direct communication between nodes. - EnableInterNodeCommunication *bool `json:"enableInterNodeCommunication,omitempty"` - // StartTask - A task to run on each compute node as it joins the pool. The task runs when the node is added to the pool or when the node is restarted. - StartTask *StartTask `json:"startTask,omitempty"` - // CertificateReferences - A list of certificates to be installed on each compute node in the pool. - CertificateReferences *[]CertificateReference `json:"certificateReferences,omitempty"` - // ApplicationPackageReferences - The list of application packages to be installed on each compute node in the pool. - ApplicationPackageReferences *[]ApplicationPackageReference `json:"applicationPackageReferences,omitempty"` - // Metadata - A list of name-value pairs associated with the pool as metadata. - Metadata *[]MetadataItem `json:"metadata,omitempty"` -} - -// PoolStatistics contains utilization and resource usage statistics for the lifetime of a pool. -type PoolStatistics struct { - autorest.Response `json:"-"` - // URL - The URL for the statistics. - URL *string `json:"url,omitempty"` - // StartTime - The start time of the time range covered by the statistics. - StartTime *date.Time `json:"startTime,omitempty"` - // LastUpdateTime - The time at which the statistics were last updated. All statistics are limited to the range between startTime and lastUpdateTime. - LastUpdateTime *date.Time `json:"lastUpdateTime,omitempty"` - // UsageStats - Statistics related to pool usage, such as the amount of core-time used. - UsageStats *UsageStatistics `json:"usageStats,omitempty"` - // ResourceStats - Statistics related to resource consumption by compute nodes in the pool. - ResourceStats *ResourceStatistics `json:"resourceStats,omitempty"` -} - -// PoolUpdatePropertiesParameter parameters for a CloudPoolOperations.UpdateProperties request. -type PoolUpdatePropertiesParameter struct { - // StartTask - A task to run on each compute node as it joins the pool. If omitted, any existing start task is removed from the pool. - StartTask *StartTask `json:"startTask,omitempty"` - // CertificateReferences - A list of certificates to be installed on each compute node in the pool. If you specify an empty collection, any existing certificate references are removed from the pool. - CertificateReferences *[]CertificateReference `json:"certificateReferences,omitempty"` - // ApplicationPackageReferences - A list of application packages to be installed on each compute node in the pool. If you specify an empty collection, any existing application packages references are removed from the pool. - ApplicationPackageReferences *[]ApplicationPackageReference `json:"applicationPackageReferences,omitempty"` - // Metadata - A list of name-value pairs associated with the pool as metadata. If you specify an empty collection, any existing metadata is removed from the pool. - Metadata *[]MetadataItem `json:"metadata,omitempty"` -} - -// PoolUpgradeOSParameter parameters for a CloudPoolOperations.UpgradeOS request. -type PoolUpgradeOSParameter struct { - // TargetOSVersion - The Azure Guest OS version to be installed on the virtual machines in the pool. - TargetOSVersion *string `json:"targetOSVersion,omitempty"` -} - -// PoolUsageMetrics usage metrics for a pool across an aggregation interval. -type PoolUsageMetrics struct { - // PoolID - The id of the pool whose metrics are being aggregated. - PoolID *string `json:"poolId,omitempty"` - // StartTime - The start time of the aggregation interval. - StartTime *date.Time `json:"startTime,omitempty"` - // EndTime - The end time of the aggregation interval. - EndTime *date.Time `json:"endTime,omitempty"` - // VMSize - The size of virtual machines in the pool. All VMs in a pool are the same size. - VMSize *string `json:"vmSize,omitempty"` - // TotalCoreHours - The total core hours used in the pool during this aggregation interval. - TotalCoreHours *float64 `json:"totalCoreHours,omitempty"` - // DataIngressGiB - The cross data center network ingress in GiB to the pool during this interval. - DataIngressGiB *float64 `json:"dataIngressGiB,omitempty"` - // DataEgressGiB - The cross data center network egress in GiB from the pool during this interval. - DataEgressGiB *float64 `json:"dataEgressGiB,omitempty"` -} - -// ReadCloser ... -type ReadCloser struct { - autorest.Response `json:"-"` - Value *io.ReadCloser `json:"value,omitempty"` -} - -// RecentJob information about the most recent job to run under the job schedule. -type RecentJob struct { - // ID - The id of the job. - ID *string `json:"id,omitempty"` - // URL - The URL of the job. - URL *string `json:"url,omitempty"` -} - -// ResizeError an error that occurred when resizing a pool. -type ResizeError struct { - // Code - An identifier for the pool resize error. Codes are invariant and are intended to be consumed programmatically. - Code *string `json:"code,omitempty"` - // Message - A message describing the pool resize error, intended to be suitable for display in a user interface. - Message *string `json:"message,omitempty"` - // Values - A list of additional error details related to the pool resize error. - Values *[]NameValuePair `json:"values,omitempty"` -} - -// ResourceFile a file to be downloaded from Azure blob storage to a compute node. -type ResourceFile struct { - // BlobSource - The URL of the file within Azure Blob Storage. This URL should include a shared access signature if the blob is not publicly readable. - BlobSource *string `json:"blobSource,omitempty"` - // FilePath - The location to which to download the file, relative to the task's working directory. - FilePath *string `json:"filePath,omitempty"` - // FileMode - The file mode attribute in octal format. This property will be ignored if it is specified for a resourceFile which will be downloaded to a Windows compute node. - FileMode *string `json:"fileMode,omitempty"` -} - -// ResourceStatistics statistics related to resource consumption by compute nodes in a pool. -type ResourceStatistics struct { - // StartTime - The start time of the time range covered by the statistics. - StartTime *date.Time `json:"startTime,omitempty"` - // LastUpdateTime - The time at which the statistics were last updated. All statistics are limited to the range between startTime and lastUpdateTime. - LastUpdateTime *date.Time `json:"lastUpdateTime,omitempty"` - // AvgCPUPercentage - The average CPU usage across all nodes in the pool (percentage per node). - AvgCPUPercentage *float64 `json:"avgCPUPercentage,omitempty"` - // AvgMemoryGiB - The average memory usage in GiB across all nodes in the pool. - AvgMemoryGiB *float64 `json:"avgMemoryGiB,omitempty"` - // PeakMemoryGiB - The peak memory usage in GiB across all nodes in the pool. - PeakMemoryGiB *float64 `json:"peakMemoryGiB,omitempty"` - // AvgDiskGiB - The average used disk space in GiB across all nodes in the pool. - AvgDiskGiB *float64 `json:"avgDiskGiB,omitempty"` - // PeakDiskGiB - The peak used disk space in GiB across all nodes in the pool. - PeakDiskGiB *float64 `json:"peakDiskGiB,omitempty"` - // DiskReadIOps - The total number of disk read operations across all nodes in the pool. - DiskReadIOps *int64 `json:"diskReadIOps,omitempty"` - // DiskWriteIOps - The total number of disk write operations across all nodes in the pool. - DiskWriteIOps *int64 `json:"diskWriteIOps,omitempty"` - // DiskReadGiB - The total amount of data in GiB of disk reads across all nodes in the pool. - DiskReadGiB *float64 `json:"diskReadGiB,omitempty"` - // DiskWriteGiB - The total amount of data in GiB of disk writes across all nodes in the pool. - DiskWriteGiB *float64 `json:"diskWriteGiB,omitempty"` - // NetworkReadGiB - The total amount of data in GiB of network reads across all nodes in the pool. - NetworkReadGiB *float64 `json:"networkReadGiB,omitempty"` - // NetworkWriteGiB - The total amount of data in GiB of network writes across all nodes in the pool. - NetworkWriteGiB *float64 `json:"networkWriteGiB,omitempty"` -} - -// Schedule the schedule according to which jobs will be created -type Schedule struct { - // DoNotRunUntil - The earliest time at which any job may be created under this job schedule. If you do not specify a doNotRunUntil time, the schedule becomes ready to create jobs immediately. - DoNotRunUntil *date.Time `json:"doNotRunUntil,omitempty"` - // DoNotRunAfter - A time after which no job will be created under this job schedule. The schedule will move to the completed state as soon as this deadline is past and there is no active job under this job schedule. - DoNotRunAfter *date.Time `json:"doNotRunAfter,omitempty"` - // StartWindow - The time interval, starting from the time at which the schedule indicates a job should be created, within which a job must be created. If a job is not created within the startWindow interval, then the 'opportunity' is lost; no job will be created until the next recurrence of the schedule. - StartWindow *string `json:"startWindow,omitempty"` - // RecurrenceInterval - The time interval between the start times of two successive jobs under the job schedule. A job schedule can have at most one active job under it at any given time. - RecurrenceInterval *string `json:"recurrenceInterval,omitempty"` -} - -// StartTask a task which is run when a compute node joins a pool in the Azure Batch service, or when the compute -// node is rebooted or reimaged. -type StartTask struct { - // CommandLine - The command line of the start task. - CommandLine *string `json:"commandLine,omitempty"` - // ResourceFiles - A list of files that the Batch service will download to the compute node before running the command line. - ResourceFiles *[]ResourceFile `json:"resourceFiles,omitempty"` - // EnvironmentSettings - A list of environment variable settings for the start task. - EnvironmentSettings *[]EnvironmentSetting `json:"environmentSettings,omitempty"` - // RunElevated - Whether to run the start task in elevated mode. The default value is false. - RunElevated *bool `json:"runElevated,omitempty"` - // MaxTaskRetryCount - The maximum number of times the task may be retried. - MaxTaskRetryCount *int32 `json:"maxTaskRetryCount,omitempty"` - // WaitForSuccess - Whether the Batch service should wait for the start task to complete successfully (that is, to exit with exit code 0) before scheduling any tasks on the compute node. - WaitForSuccess *bool `json:"waitForSuccess,omitempty"` -} - -// StartTaskInformation information about a start task running on a compute node. -type StartTaskInformation struct { - // State - The state of the start task on the compute node. Possible values include: 'StartTaskStateRunning', 'StartTaskStateCompleted' - State StartTaskState `json:"state,omitempty"` - // StartTime - The time at which the start task started running. - StartTime *date.Time `json:"startTime,omitempty"` - // EndTime - The time at which the start task stopped running. - EndTime *date.Time `json:"endTime,omitempty"` - // ExitCode - The exit code of the start task. - ExitCode *int32 `json:"exitCode,omitempty"` - // SchedulingError - Any error encountered scheduling the start task. - SchedulingError *TaskSchedulingError `json:"schedulingError,omitempty"` - // RetryCount - The number of times the task has been retried by the Batch service. - RetryCount *int32 `json:"retryCount,omitempty"` - // LastRetryTime - The most recent time at which a retry of the task started running. - LastRetryTime *date.Time `json:"lastRetryTime,omitempty"` -} - -// SubtaskInformation information about an Azure Batch subtask. -type SubtaskInformation struct { - // ID - The id of the subtask. - ID *int32 `json:"id,omitempty"` - // NodeInfo - Information about the compute node on which the subtask ran. - NodeInfo *ComputeNodeInformation `json:"nodeInfo,omitempty"` - // StartTime - The time at which the subtask started running. If the subtask has been restarted or retried, this is the most recent time at which the subtask started running. - StartTime *date.Time `json:"startTime,omitempty"` - // EndTime - The time at which the subtask completed. This property is set only if the subtask is in the Completed state. - EndTime *date.Time `json:"endTime,omitempty"` - // ExitCode - The exit code of the subtask. This property is set only if the subtask is in the Completed state. - ExitCode *int32 `json:"exitCode,omitempty"` - // SchedulingError - Details of any error encountered scheduling the subtask. - SchedulingError *TaskSchedulingError `json:"schedulingError,omitempty"` - // State - The current state of the subtask. Possible values include: 'TaskStateActive', 'TaskStatePreparing', 'TaskStateRunning', 'TaskStateCompleted' - State TaskState `json:"state,omitempty"` - // StateTransitionTime - The time at which the subtask entered its current state. - StateTransitionTime *date.Time `json:"stateTransitionTime,omitempty"` - // PreviousState - The previous state of the subtask. This property is not set if the subtask is in its initial Active state. Possible values include: 'TaskStateActive', 'TaskStatePreparing', 'TaskStateRunning', 'TaskStateCompleted' - PreviousState TaskState `json:"previousState,omitempty"` - // PreviousStateTransitionTime - The time at which the subtask entered its previous state. This property is not set if the subtask is in its initial Active state. - PreviousStateTransitionTime *date.Time `json:"previousStateTransitionTime,omitempty"` -} - -// TaskAddCollectionParameter a collection of Azure Batch tasks to add. -type TaskAddCollectionParameter struct { - // Value - The collection of tasks to add. - Value *[]TaskAddParameter `json:"value,omitempty"` -} - -// TaskAddCollectionResult response to a TaskOperations.AddCollection request. -type TaskAddCollectionResult struct { - autorest.Response `json:"-"` - // Value - The results of the add task collection operation. - Value *[]TaskAddResult `json:"value,omitempty"` -} - -// TaskAddParameter an Azure Batch task to add. -type TaskAddParameter struct { - // ID - A string that uniquely identifies the task within the job. The id can contain any combination of alphanumeric characters including hyphens and underscores, and cannot contain more than 64 characters. - ID *string `json:"id,omitempty"` - // DisplayName - A display name for the task. - DisplayName *string `json:"displayName,omitempty"` - // CommandLine - The command line of the task. For multi-instance tasks, the command line is executed on the primary subtask after all the subtasks have finished executing the coordianation command line. - CommandLine *string `json:"commandLine,omitempty"` - // ResourceFiles - A list of files that the Batch service will download to the compute node before running the command line. For multi-instance tasks, the resource files will only be downloaded to the compute node on which the primary subtask is executed. - ResourceFiles *[]ResourceFile `json:"resourceFiles,omitempty"` - // EnvironmentSettings - A list of environment variable settings for the task. - EnvironmentSettings *[]EnvironmentSetting `json:"environmentSettings,omitempty"` - // AffinityInfo - A locality hint that can be used by the Batch service to select a compute node on which to start the new task. - AffinityInfo *AffinityInformation `json:"affinityInfo,omitempty"` - // Constraints - The execution constraints that apply to this task. - Constraints *TaskConstraints `json:"constraints,omitempty"` - // RunElevated - Whether to run the task in elevated mode. - RunElevated *bool `json:"runElevated,omitempty"` - // MultiInstanceSettings - Information about how to run the multi-instance task. - MultiInstanceSettings *MultiInstanceSettings `json:"multiInstanceSettings,omitempty"` - // DependsOn - Any other tasks that this task depends on. - DependsOn *TaskDependencies `json:"dependsOn,omitempty"` -} - -// TaskAddResult result for a single task added as part of an add task collection operation. -type TaskAddResult struct { - // Status - The status of the add task request. Possible values include: 'TaskAddStatusSuccess', 'TaskAddStatusClienterror', 'TaskAddStatusServererror', 'TaskAddStatusUnmapped' - Status TaskAddStatus `json:"status,omitempty"` - // TaskID - The id of the task for which this is the result. - TaskID *string `json:"taskId,omitempty"` - // ETag - The ETag of the task, if the task was successfully added. - ETag *string `json:"eTag,omitempty"` - // LastModified - The last modified time of the task. - LastModified *date.Time `json:"lastModified,omitempty"` - // Location - The URL of the task, if the task was successfully added. - Location *string `json:"location,omitempty"` - // Error - The error encountered while attempting to add the task. - Error *Error `json:"error,omitempty"` -} - -// TaskConstraints constraints to apply to the Job Manager task. -type TaskConstraints struct { - // MaxWallClockTime - The maximum elapsed time that the task may run, measured from the time the task starts. If the task does not complete within the time limit, the Batch service terminates it. - MaxWallClockTime *string `json:"maxWallClockTime,omitempty"` - // RetentionTime - The minimum time to retain the working directory for the task on the compute node where it ran, from the time it completes execution. After this time, the Batch service may delete the working directory and all its contents. The default is infinite. - RetentionTime *string `json:"retentionTime,omitempty"` - // MaxTaskRetryCount - The maximum number of times the task may be retried. The Batch service retries a task if its exit code is nonzero. - MaxTaskRetryCount *int32 `json:"maxTaskRetryCount,omitempty"` -} - -// TaskDependencies specifies any dependencies of a task. Any task that is explicitly specified or within a -// dependency range must complete before the dependant task will be scheduled. -type TaskDependencies struct { - // TaskIds - The list of task ids that must complete before this task can be scheduled. - TaskIds *[]string `json:"taskIds,omitempty"` - // TaskIDRanges - The list of task ranges that must complete before this task can be scheduled. - TaskIDRanges *[]TaskIDRange `json:"taskIdRanges,omitempty"` -} - -// TaskExecutionInformation information about the execution of a task. -type TaskExecutionInformation struct { - // StartTime - The time at which the task started running. If the task has been restarted or retried, this is the most recent time at which the task started running. - StartTime *date.Time `json:"startTime,omitempty"` - // EndTime - The time at which the task completed. This property is set only if the task is in the Completed state. - EndTime *date.Time `json:"endTime,omitempty"` - // ExitCode - The exit code of the task. This property is set only if the task is in completed state. - ExitCode *int32 `json:"exitCode,omitempty"` - // SchedulingError - Details of any error encountered scheduling the task. - SchedulingError *TaskSchedulingError `json:"schedulingError,omitempty"` - // RetryCount - The number of times the task has been retried by the Batch service. - RetryCount *int32 `json:"retryCount,omitempty"` - // LastRetryTime - The most recent time at which a retry of the task started running. - LastRetryTime *date.Time `json:"lastRetryTime,omitempty"` - // RequeueCount - The number of times the task has been requeued by the Batch service as the result of a user request. - RequeueCount *int32 `json:"requeueCount,omitempty"` - // LastRequeueTime - The most recent time at which the task has been requeued by the Batch service as the result of a user request. - LastRequeueTime *date.Time `json:"lastRequeueTime,omitempty"` -} - -// TaskIDRange a range of task ids that a task can depend on. All tasks with ids in the range must complete -// successfully before the dependent task can be scheduled. -type TaskIDRange struct { - // Start - The first task id in the range. - Start *int32 `json:"start,omitempty"` - // End - The last task id in the range. - End *int32 `json:"end,omitempty"` -} - -// TaskInformation information about a task running on a compute node. -type TaskInformation struct { - // TaskURL - The URL of the task. - TaskURL *string `json:"taskUrl,omitempty"` - // JobID - The id of the job to which the task belongs. - JobID *string `json:"jobId,omitempty"` - // TaskID - The id of the task. - TaskID *string `json:"taskId,omitempty"` - // SubtaskID - The id of the subtask if the task is a multi-instance task. - SubtaskID *int32 `json:"subtaskId,omitempty"` - // TaskState - The current state of the task. Possible values include: 'TaskStateActive', 'TaskStatePreparing', 'TaskStateRunning', 'TaskStateCompleted' - TaskState TaskState `json:"taskState,omitempty"` - // ExecutionInfo - Information about the execution of the task. - ExecutionInfo *TaskExecutionInformation `json:"executionInfo,omitempty"` -} - -// TaskSchedulingError information about an error when scheduling a task. -type TaskSchedulingError struct { - // Category - The category of the task scheduling error. Possible values include: 'SchedulingErrorCategoryUsererror', 'SchedulingErrorCategoryServererror', 'SchedulingErrorCategoryUnmapped' - Category SchedulingErrorCategory `json:"category,omitempty"` - // Code - An identifier for the task scheduling error. Codes are invariant and are intended to be consumed programmatically. - Code *string `json:"code,omitempty"` - // Message - A message describing the task scheduling error, intended to be suitable for display in a user interface. - Message *string `json:"message,omitempty"` - // Details - The list of additional error details related to the scheduling error. - Details *[]NameValuePair `json:"details,omitempty"` -} - -// TaskSchedulingPolicy specifies how tasks should be distributed across compute nodes. -type TaskSchedulingPolicy struct { - // NodeFillType - How tasks should be distributed across compute nodes. Possible values include: 'ComputeNodeFillTypeSpread', 'ComputeNodeFillTypePack', 'ComputeNodeFillTypeUnmapped' - NodeFillType ComputeNodeFillType `json:"nodeFillType,omitempty"` -} - -// TaskStatistics resource usage statistics for a task. -type TaskStatistics struct { - // URL - The URL of the statistics. - URL *string `json:"url,omitempty"` - // StartTime - The start time of the time range covered by the statistics. - StartTime *date.Time `json:"startTime,omitempty"` - // LastUpdateTime - The time at which the statistics were last updated. All statistics are limited to the range between startTime and lastUpdateTime. - LastUpdateTime *date.Time `json:"lastUpdateTime,omitempty"` - // UserCPUTime - The total user mode CPU time (summed across all cores and all compute nodes) consumed by the task. - UserCPUTime *string `json:"userCPUTime,omitempty"` - // KernelCPUTime - The total kernel mode CPU time (summed across all cores and all compute nodes) consumed by the task. - KernelCPUTime *string `json:"kernelCPUTime,omitempty"` - // WallClockTime - The total wall clock time of the task. - WallClockTime *string `json:"wallClockTime,omitempty"` - // ReadIOps - The total number of disk read operations made by the task. - ReadIOps *int64 `json:"readIOps,omitempty"` - // WriteIOps - The total number of disk write operations made by the task. - WriteIOps *int64 `json:"writeIOps,omitempty"` - // ReadIOGiB - The total gibibytes read from disk by the task. - ReadIOGiB *float64 `json:"readIOGiB,omitempty"` - // WriteIOGiB - The total gibibytes written to disk by the task. - WriteIOGiB *float64 `json:"writeIOGiB,omitempty"` - // WaitTime - The total wait time of the task. The wait time for a task is defined as the elapsed time between the creation of the task and the start of task execution. (If the task is retried due to failures, the wait time is the time to the most recent task execution.) - WaitTime *string `json:"waitTime,omitempty"` -} - -// TaskUpdateParameter parameters for a CloudTaskOperations.Update request. -type TaskUpdateParameter struct { - // Constraints - Constraints that apply to this task. If omitted, the task is given the default constraints. - Constraints *TaskConstraints `json:"constraints,omitempty"` -} - -// UsageStatistics statistics related to pool usage information. -type UsageStatistics struct { - // StartTime - The start time of the time range covered by the statistics. - StartTime *date.Time `json:"startTime,omitempty"` - // LastUpdateTime - The time at which the statistics were last updated. All statistics are limited to the range between startTime and lastUpdateTime. - LastUpdateTime *date.Time `json:"lastUpdateTime,omitempty"` - // DedicatedCoreTime - The aggregated wall-clock time of the dedicated compute node cores being part of the pool. - DedicatedCoreTime *string `json:"dedicatedCoreTime,omitempty"` -} - -// VirtualMachineConfiguration the configuration for compute nodes in a pool based on the Azure Virtual Machines -// infrastructure. -type VirtualMachineConfiguration struct { - // ImageReference - A reference to the Azure Virtual Machines Marketplace image to use. - ImageReference *ImageReference `json:"imageReference,omitempty"` - // NodeAgentSKUID - The SKU of Batch Node Agent to be provisioned on the compute node. The Batch node agent is a program that runs on each node in the pool, and provides the command-and-control interface between the node and the Batch service. There are different implementations of the node agent, known as SKUs, for different operating systems. - NodeAgentSKUID *string `json:"nodeAgentSKUId,omitempty"` - // WindowsConfiguration - Windows operating system settings on the virtual machine. This property must not be specified if the ImageReference property specifies a Linux OS image. - WindowsConfiguration *WindowsConfiguration `json:"windowsConfiguration,omitempty"` -} - -// WindowsConfiguration windows operating system settings to apply to the virtual machine. -type WindowsConfiguration struct { - // EnableAutomaticUpdates - Whether automatic updates are enabled on the virtual machine. If omitted, the default value is true. - EnableAutomaticUpdates *bool `json:"enableAutomaticUpdates,omitempty"` -} diff --git a/services/batch/2016-02-01.3.0/batch/pool.go b/services/batch/2016-02-01.3.0/batch/pool.go deleted file mode 100644 index 6d76f956dd84..000000000000 --- a/services/batch/2016-02-01.3.0/batch/pool.go +++ /dev/null @@ -1,1739 +0,0 @@ -package batch - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/autorest/date" - "github.com/Azure/go-autorest/autorest/validation" - "net/http" -) - -// PoolClient is the a client for issuing REST requests to the Azure Batch service. -type PoolClient struct { - BaseClient -} - -// NewPoolClient creates an instance of the PoolClient client. -func NewPoolClient() PoolClient { - return NewPoolClientWithBaseURI(DefaultBaseURI) -} - -// NewPoolClientWithBaseURI creates an instance of the PoolClient client. -func NewPoolClientWithBaseURI(baseURI string) PoolClient { - return PoolClient{NewWithBaseURI(baseURI)} -} - -// Add adds a pool to the specified account. -// -// pool is the pool to be added. timeout is the maximum time that the server can spend processing the request, in -// seconds. The default is 30 seconds. clientRequestID is the caller-generated request identity, in the form of a -// GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID -// is whether the server should return the client-request-id identifier in the response. ocpDate is the time the -// request was issued. If not specified, this header will be automatically populated with the current system clock -// time. -func (client PoolClient) Add(ctx context.Context, pool PoolAddParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: pool, - Constraints: []validation.Constraint{{Target: "pool.ID", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "pool.VMSize", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "pool.CloudServiceConfiguration", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "pool.CloudServiceConfiguration.OsFamily", Name: validation.Null, Rule: true, Chain: nil}}}, - {Target: "pool.VirtualMachineConfiguration", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "pool.VirtualMachineConfiguration.ImageReference", Name: validation.Null, Rule: true, - Chain: []validation.Constraint{{Target: "pool.VirtualMachineConfiguration.ImageReference.Publisher", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "pool.VirtualMachineConfiguration.ImageReference.Offer", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "pool.VirtualMachineConfiguration.ImageReference.Sku", Name: validation.Null, Rule: true, Chain: nil}, - }}, - {Target: "pool.VirtualMachineConfiguration.NodeAgentSKUID", Name: validation.Null, Rule: true, Chain: nil}, - }}}}}); err != nil { - return result, validation.NewError("batch.PoolClient", "Add", err.Error()) - } - - req, err := client.AddPreparer(ctx, pool, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Add", nil, "Failure preparing request") - return - } - - resp, err := client.AddSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Add", resp, "Failure sending request") - return - } - - result, err = client.AddResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Add", resp, "Failure responding to request") - } - - return -} - -// AddPreparer prepares the Add request. -func (client PoolClient) AddPreparer(ctx context.Context, pool PoolAddParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - const APIVersion = "2016-02-01.3.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPath("/pools"), - autorest.WithJSON(pool), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// AddSender sends the Add request. The method will close the -// http.Response Body if it receives an error. -func (client PoolClient) AddSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// AddResponder handles the response to the Add request. The method always -// closes the http.Response Body. -func (client PoolClient) AddResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), - autorest.ByClosing()) - result.Response = resp - return -} - -// Delete deletes a pool from the specified account. -// -// poolID is the id of the pool to delete. timeout is the maximum time that the server can spend processing the -// request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated request identity, in the -// form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. -// returnClientRequestID is whether the server should return the client-request-id identifier in the response. -// ocpDate is the time the request was issued. If not specified, this header will be automatically populated with -// the current system clock time. ifMatch is an ETag is specified. Specify this header to perform the operation -// only if the resource's ETag is an exact match as specified. ifNoneMatch is an ETag is specified. Specify this -// header to perform the operation only if the resource's ETag does not match the specified ETag. ifModifiedSince -// is specify this header to perform the operation only if the resource has been modified since the specified -// date/time. ifUnmodifiedSince is specify this header to perform the operation only if the resource has not been -// modified since the specified date/time. -func (client PoolClient) Delete(ctx context.Context, poolID string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.DeletePreparer(ctx, poolID, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Delete", nil, "Failure preparing request") - return - } - - resp, err := client.DeleteSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Delete", resp, "Failure sending request") - return - } - - result, err = client.DeleteResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Delete", resp, "Failure responding to request") - } - - return -} - -// DeletePreparer prepares the Delete request. -func (client PoolClient) DeletePreparer(ctx context.Context, poolID string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2016-02-01.3.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsDelete(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DeleteSender sends the Delete request. The method will close the -// http.Response Body if it receives an error. -func (client PoolClient) DeleteSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// DeleteResponder handles the response to the Delete request. The method always -// closes the http.Response Body. -func (client PoolClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByClosing()) - result.Response = resp - return -} - -// DisableAutoScale disables automatic scaling for a pool. -// -// poolID is the id of the pool on which to disable automatic scaling. timeout is the maximum time that the server -// can spend processing the request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated -// request identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id identifier in the response. ocpDate is the time the request was issued. If not specified, this -// header will be automatically populated with the current system clock time. -func (client PoolClient) DisableAutoScale(ctx context.Context, poolID string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.DisableAutoScalePreparer(ctx, poolID, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "DisableAutoScale", nil, "Failure preparing request") - return - } - - resp, err := client.DisableAutoScaleSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.PoolClient", "DisableAutoScale", resp, "Failure sending request") - return - } - - result, err = client.DisableAutoScaleResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "DisableAutoScale", resp, "Failure responding to request") - } - - return -} - -// DisableAutoScalePreparer prepares the DisableAutoScale request. -func (client PoolClient) DisableAutoScalePreparer(ctx context.Context, poolID string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2016-02-01.3.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/disableautoscale", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DisableAutoScaleSender sends the DisableAutoScale request. The method will close the -// http.Response Body if it receives an error. -func (client PoolClient) DisableAutoScaleSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// DisableAutoScaleResponder handles the response to the DisableAutoScale request. The method always -// closes the http.Response Body. -func (client PoolClient) DisableAutoScaleResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} - -// EnableAutoScale enables automatic scaling for a pool. -// -// poolID is the id of the pool on which to enable automatic scaling. poolEnableAutoScaleParameter is the -// parameters for the request. timeout is the maximum time that the server can spend processing the request, in -// seconds. The default is 30 seconds. clientRequestID is the caller-generated request identity, in the form of a -// GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID -// is whether the server should return the client-request-id identifier in the response. ocpDate is the time the -// request was issued. If not specified, this header will be automatically populated with the current system clock -// time. ifMatch is an ETag is specified. Specify this header to perform the operation only if the resource's ETag -// is an exact match as specified. ifNoneMatch is an ETag is specified. Specify this header to perform the -// operation only if the resource's ETag does not match the specified ETag. ifModifiedSince is specify this header -// to perform the operation only if the resource has been modified since the specified date/time. ifUnmodifiedSince -// is specify this header to perform the operation only if the resource has not been modified since the specified -// date/time. -func (client PoolClient) EnableAutoScale(ctx context.Context, poolID string, poolEnableAutoScaleParameter PoolEnableAutoScaleParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.EnableAutoScalePreparer(ctx, poolID, poolEnableAutoScaleParameter, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "EnableAutoScale", nil, "Failure preparing request") - return - } - - resp, err := client.EnableAutoScaleSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.PoolClient", "EnableAutoScale", resp, "Failure sending request") - return - } - - result, err = client.EnableAutoScaleResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "EnableAutoScale", resp, "Failure responding to request") - } - - return -} - -// EnableAutoScalePreparer prepares the EnableAutoScale request. -func (client PoolClient) EnableAutoScalePreparer(ctx context.Context, poolID string, poolEnableAutoScaleParameter PoolEnableAutoScaleParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2016-02-01.3.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/enableautoscale", pathParameters), - autorest.WithJSON(poolEnableAutoScaleParameter), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// EnableAutoScaleSender sends the EnableAutoScale request. The method will close the -// http.Response Body if it receives an error. -func (client PoolClient) EnableAutoScaleSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// EnableAutoScaleResponder handles the response to the EnableAutoScale request. The method always -// closes the http.Response Body. -func (client PoolClient) EnableAutoScaleResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} - -// EvaluateAutoScale gets the result of evaluating an automatic scaling formula on the pool. -// -// poolID is the id of the pool on which to evaluate the automatic scaling formula. poolEvaluateAutoScaleParameter -// is the parameters for the request. timeout is the maximum time that the server can spend processing the request, -// in seconds. The default is 30 seconds. clientRequestID is the caller-generated request identity, in the form of -// a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID -// is whether the server should return the client-request-id identifier in the response. ocpDate is the time the -// request was issued. If not specified, this header will be automatically populated with the current system clock -// time. -func (client PoolClient) EvaluateAutoScale(ctx context.Context, poolID string, poolEvaluateAutoScaleParameter PoolEvaluateAutoScaleParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result AutoScaleRun, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: poolEvaluateAutoScaleParameter, - Constraints: []validation.Constraint{{Target: "poolEvaluateAutoScaleParameter.AutoScaleFormula", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { - return result, validation.NewError("batch.PoolClient", "EvaluateAutoScale", err.Error()) - } - - req, err := client.EvaluateAutoScalePreparer(ctx, poolID, poolEvaluateAutoScaleParameter, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "EvaluateAutoScale", nil, "Failure preparing request") - return - } - - resp, err := client.EvaluateAutoScaleSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.PoolClient", "EvaluateAutoScale", resp, "Failure sending request") - return - } - - result, err = client.EvaluateAutoScaleResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "EvaluateAutoScale", resp, "Failure responding to request") - } - - return -} - -// EvaluateAutoScalePreparer prepares the EvaluateAutoScale request. -func (client PoolClient) EvaluateAutoScalePreparer(ctx context.Context, poolID string, poolEvaluateAutoScaleParameter PoolEvaluateAutoScaleParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2016-02-01.3.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/evaluateautoscale", pathParameters), - autorest.WithJSON(poolEvaluateAutoScaleParameter), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// EvaluateAutoScaleSender sends the EvaluateAutoScale request. The method will close the -// http.Response Body if it receives an error. -func (client PoolClient) EvaluateAutoScaleSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// EvaluateAutoScaleResponder handles the response to the EvaluateAutoScale request. The method always -// closes the http.Response Body. -func (client PoolClient) EvaluateAutoScaleResponder(resp *http.Response) (result AutoScaleRun, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// Exists gets basic properties of a pool. -// -// poolID is the id of the pool to get. timeout is the maximum time that the server can spend processing the -// request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated request identity, in the -// form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. -// returnClientRequestID is whether the server should return the client-request-id identifier in the response. -// ocpDate is the time the request was issued. If not specified, this header will be automatically populated with -// the current system clock time. ifMatch is an ETag is specified. Specify this header to perform the operation -// only if the resource's ETag is an exact match as specified. ifNoneMatch is an ETag is specified. Specify this -// header to perform the operation only if the resource's ETag does not match the specified ETag. ifModifiedSince -// is specify this header to perform the operation only if the resource has been modified since the specified -// date/time. ifUnmodifiedSince is specify this header to perform the operation only if the resource has not been -// modified since the specified date/time. -func (client PoolClient) Exists(ctx context.Context, poolID string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.ExistsPreparer(ctx, poolID, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Exists", nil, "Failure preparing request") - return - } - - resp, err := client.ExistsSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Exists", resp, "Failure sending request") - return - } - - result, err = client.ExistsResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Exists", resp, "Failure responding to request") - } - - return -} - -// ExistsPreparer prepares the Exists request. -func (client PoolClient) ExistsPreparer(ctx context.Context, poolID string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2016-02-01.3.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsHead(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ExistsSender sends the Exists request. The method will close the -// http.Response Body if it receives an error. -func (client PoolClient) ExistsSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ExistsResponder handles the response to the Exists request. The method always -// closes the http.Response Body. -func (client PoolClient) ExistsResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), - autorest.ByClosing()) - result.Response = resp - return -} - -// Get gets information about the specified pool. -// -// poolID is the id of the pool to get. selectParameter is an OData $select clause. expand is an OData $expand -// clause. timeout is the maximum time that the server can spend processing the request, in seconds. The default is -// 30 seconds. clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration -// such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server -// should return the client-request-id identifier in the response. ocpDate is the time the request was issued. If -// not specified, this header will be automatically populated with the current system clock time. ifMatch is an -// ETag is specified. Specify this header to perform the operation only if the resource's ETag is an exact match as -// specified. ifNoneMatch is an ETag is specified. Specify this header to perform the operation only if the -// resource's ETag does not match the specified ETag. ifModifiedSince is specify this header to perform the -// operation only if the resource has been modified since the specified date/time. ifUnmodifiedSince is specify -// this header to perform the operation only if the resource has not been modified since the specified date/time. -func (client PoolClient) Get(ctx context.Context, poolID string, selectParameter string, expand string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result CloudPool, err error) { - req, err := client.GetPreparer(ctx, poolID, selectParameter, expand, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Get", nil, "Failure preparing request") - return - } - - resp, err := client.GetSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Get", resp, "Failure sending request") - return - } - - result, err = client.GetResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Get", resp, "Failure responding to request") - } - - return -} - -// GetPreparer prepares the Get request. -func (client PoolClient) GetPreparer(ctx context.Context, poolID string, selectParameter string, expand string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2016-02-01.3.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(selectParameter) > 0 { - queryParameters["$select"] = autorest.Encode("query", selectParameter) - } - if len(expand) > 0 { - queryParameters["$expand"] = autorest.Encode("query", expand) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetSender sends the Get request. The method will close the -// http.Response Body if it receives an error. -func (client PoolClient) GetSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// GetResponder handles the response to the Get request. The method always -// closes the http.Response Body. -func (client PoolClient) GetResponder(resp *http.Response) (result CloudPool, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// GetAllPoolsLifetimeStatistics gets lifetime summary statistics for all of the pools in the specified account. -// Statistics are aggregated across all pools that have ever existed in the account, from account creation to the last -// update time of the statistics. -// -// timeout is the maximum time that the server can spend processing the request, in seconds. The default is 30 -// seconds. clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such -// as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should -// return the client-request-id identifier in the response. ocpDate is the time the request was issued. If not -// specified, this header will be automatically populated with the current system clock time. -func (client PoolClient) GetAllPoolsLifetimeStatistics(ctx context.Context, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result PoolStatistics, err error) { - req, err := client.GetAllPoolsLifetimeStatisticsPreparer(ctx, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "GetAllPoolsLifetimeStatistics", nil, "Failure preparing request") - return - } - - resp, err := client.GetAllPoolsLifetimeStatisticsSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.PoolClient", "GetAllPoolsLifetimeStatistics", resp, "Failure sending request") - return - } - - result, err = client.GetAllPoolsLifetimeStatisticsResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "GetAllPoolsLifetimeStatistics", resp, "Failure responding to request") - } - - return -} - -// GetAllPoolsLifetimeStatisticsPreparer prepares the GetAllPoolsLifetimeStatistics request. -func (client PoolClient) GetAllPoolsLifetimeStatisticsPreparer(ctx context.Context, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - const APIVersion = "2016-02-01.3.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPath("/lifetimepoolstats"), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetAllPoolsLifetimeStatisticsSender sends the GetAllPoolsLifetimeStatistics request. The method will close the -// http.Response Body if it receives an error. -func (client PoolClient) GetAllPoolsLifetimeStatisticsSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// GetAllPoolsLifetimeStatisticsResponder handles the response to the GetAllPoolsLifetimeStatistics request. The method always -// closes the http.Response Body. -func (client PoolClient) GetAllPoolsLifetimeStatisticsResponder(resp *http.Response) (result PoolStatistics, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// List lists all of the pools in the specified account. -// -// filter is an OData $filter clause. selectParameter is an OData $select clause. expand is an OData $expand -// clause. maxResults is the maximum number of items to return in the response. timeout is the maximum time that -// the server can spend processing the request, in seconds. The default is 30 seconds. clientRequestID is the -// caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id identifier in the response. ocpDate is the time the request was issued. If not specified, this -// header will be automatically populated with the current system clock time. -func (client PoolClient) List(ctx context.Context, filter string, selectParameter string, expand string, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result CloudPoolListResultPage, err error) { - result.fn = client.listNextResults - req, err := client.ListPreparer(ctx, filter, selectParameter, expand, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "List", nil, "Failure preparing request") - return - } - - resp, err := client.ListSender(req) - if err != nil { - result.cplr.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.PoolClient", "List", resp, "Failure sending request") - return - } - - result.cplr, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "List", resp, "Failure responding to request") - } - - return -} - -// ListPreparer prepares the List request. -func (client PoolClient) ListPreparer(ctx context.Context, filter string, selectParameter string, expand string, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - const APIVersion = "2016-02-01.3.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(filter) > 0 { - queryParameters["$filter"] = autorest.Encode("query", filter) - } - if len(selectParameter) > 0 { - queryParameters["$select"] = autorest.Encode("query", selectParameter) - } - if len(expand) > 0 { - queryParameters["$expand"] = autorest.Encode("query", expand) - } - if maxResults != nil { - queryParameters["maxresults"] = autorest.Encode("query", *maxResults) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPath("/pools"), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListSender sends the List request. The method will close the -// http.Response Body if it receives an error. -func (client PoolClient) ListSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ListResponder handles the response to the List request. The method always -// closes the http.Response Body. -func (client PoolClient) ListResponder(resp *http.Response) (result CloudPoolListResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listNextResults retrieves the next set of results, if any. -func (client PoolClient) listNextResults(lastResults CloudPoolListResult) (result CloudPoolListResult, err error) { - req, err := lastResults.cloudPoolListResultPreparer() - if err != nil { - return result, autorest.NewErrorWithError(err, "batch.PoolClient", "listNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "batch.PoolClient", "listNextResults", resp, "Failure sending next results request") - } - result, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "listNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListComplete enumerates all values, automatically crossing page boundaries as required. -func (client PoolClient) ListComplete(ctx context.Context, filter string, selectParameter string, expand string, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result CloudPoolListResultIterator, err error) { - result.page, err = client.List(ctx, filter, selectParameter, expand, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - return -} - -// ListPoolUsageMetrics lists the usage metrics, aggregated by pool across individual time intervals, for the specified -// account. -// -// startTime is the earliest time from which to include metrics. This must be at least two and a half hours before -// the current time. endTime is the latest time from which to include metrics. This must be at least two hours -// before the current time. filter is an OData $filter clause. maxResults is the maximum number of items to return -// in the response. timeout is the maximum time that the server can spend processing the request, in seconds. The -// default is 30 seconds. clientRequestID is the caller-generated request identity, in the form of a GUID with no -// decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the -// server should return the client-request-id identifier in the response. ocpDate is the time the request was -// issued. If not specified, this header will be automatically populated with the current system clock time. -func (client PoolClient) ListPoolUsageMetrics(ctx context.Context, startTime *date.Time, endTime *date.Time, filter string, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result PoolListPoolUsageMetricsResultPage, err error) { - result.fn = client.listPoolUsageMetricsNextResults - req, err := client.ListPoolUsageMetricsPreparer(ctx, startTime, endTime, filter, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "ListPoolUsageMetrics", nil, "Failure preparing request") - return - } - - resp, err := client.ListPoolUsageMetricsSender(req) - if err != nil { - result.plpumr.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.PoolClient", "ListPoolUsageMetrics", resp, "Failure sending request") - return - } - - result.plpumr, err = client.ListPoolUsageMetricsResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "ListPoolUsageMetrics", resp, "Failure responding to request") - } - - return -} - -// ListPoolUsageMetricsPreparer prepares the ListPoolUsageMetrics request. -func (client PoolClient) ListPoolUsageMetricsPreparer(ctx context.Context, startTime *date.Time, endTime *date.Time, filter string, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - const APIVersion = "2016-02-01.3.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if startTime != nil { - queryParameters["starttime"] = autorest.Encode("query", *startTime) - } - if endTime != nil { - queryParameters["endtime"] = autorest.Encode("query", *endTime) - } - if len(filter) > 0 { - queryParameters["$filter"] = autorest.Encode("query", filter) - } - if maxResults != nil { - queryParameters["maxresults"] = autorest.Encode("query", *maxResults) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPath("/poolusagemetrics"), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListPoolUsageMetricsSender sends the ListPoolUsageMetrics request. The method will close the -// http.Response Body if it receives an error. -func (client PoolClient) ListPoolUsageMetricsSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ListPoolUsageMetricsResponder handles the response to the ListPoolUsageMetrics request. The method always -// closes the http.Response Body. -func (client PoolClient) ListPoolUsageMetricsResponder(resp *http.Response) (result PoolListPoolUsageMetricsResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listPoolUsageMetricsNextResults retrieves the next set of results, if any. -func (client PoolClient) listPoolUsageMetricsNextResults(lastResults PoolListPoolUsageMetricsResult) (result PoolListPoolUsageMetricsResult, err error) { - req, err := lastResults.poolListPoolUsageMetricsResultPreparer() - if err != nil { - return result, autorest.NewErrorWithError(err, "batch.PoolClient", "listPoolUsageMetricsNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListPoolUsageMetricsSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "batch.PoolClient", "listPoolUsageMetricsNextResults", resp, "Failure sending next results request") - } - result, err = client.ListPoolUsageMetricsResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "listPoolUsageMetricsNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListPoolUsageMetricsComplete enumerates all values, automatically crossing page boundaries as required. -func (client PoolClient) ListPoolUsageMetricsComplete(ctx context.Context, startTime *date.Time, endTime *date.Time, filter string, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result PoolListPoolUsageMetricsResultIterator, err error) { - result.page, err = client.ListPoolUsageMetrics(ctx, startTime, endTime, filter, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - return -} - -// Patch updates the properties of a pool. -// -// poolID is the id of the pool to update. poolPatchParameter is the parameters for the request. timeout is the -// maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. -// clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such as curly -// braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id identifier in the response. ocpDate is the time the request was issued. If not specified, this -// header will be automatically populated with the current system clock time. ifMatch is an ETag is specified. -// Specify this header to perform the operation only if the resource's ETag is an exact match as specified. -// ifNoneMatch is an ETag is specified. Specify this header to perform the operation only if the resource's ETag -// does not match the specified ETag. ifModifiedSince is specify this header to perform the operation only if the -// resource has been modified since the specified date/time. ifUnmodifiedSince is specify this header to perform -// the operation only if the resource has not been modified since the specified date/time. -func (client PoolClient) Patch(ctx context.Context, poolID string, poolPatchParameter PoolPatchParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.PatchPreparer(ctx, poolID, poolPatchParameter, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Patch", nil, "Failure preparing request") - return - } - - resp, err := client.PatchSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Patch", resp, "Failure sending request") - return - } - - result, err = client.PatchResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Patch", resp, "Failure responding to request") - } - - return -} - -// PatchPreparer prepares the Patch request. -func (client PoolClient) PatchPreparer(ctx context.Context, poolID string, poolPatchParameter PoolPatchParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2016-02-01.3.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPatch(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}", pathParameters), - autorest.WithJSON(poolPatchParameter), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// PatchSender sends the Patch request. The method will close the -// http.Response Body if it receives an error. -func (client PoolClient) PatchSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// PatchResponder handles the response to the Patch request. The method always -// closes the http.Response Body. -func (client PoolClient) PatchResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} - -// RemoveNodes removes compute nodes from the specified pool. -// -// poolID is the id of the pool from which you want to remove nodes. nodeRemoveParameter is the parameters for the -// request. timeout is the maximum time that the server can spend processing the request, in seconds. The default -// is 30 seconds. clientRequestID is the caller-generated request identity, in the form of a GUID with no -// decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the -// server should return the client-request-id identifier in the response. ocpDate is the time the request was -// issued. If not specified, this header will be automatically populated with the current system clock time. -// ifMatch is an ETag is specified. Specify this header to perform the operation only if the resource's ETag is an -// exact match as specified. ifNoneMatch is an ETag is specified. Specify this header to perform the operation only -// if the resource's ETag does not match the specified ETag. ifModifiedSince is specify this header to perform the -// operation only if the resource has been modified since the specified date/time. ifUnmodifiedSince is specify -// this header to perform the operation only if the resource has not been modified since the specified date/time. -func (client PoolClient) RemoveNodes(ctx context.Context, poolID string, nodeRemoveParameter NodeRemoveParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: nodeRemoveParameter, - Constraints: []validation.Constraint{{Target: "nodeRemoveParameter.NodeList", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { - return result, validation.NewError("batch.PoolClient", "RemoveNodes", err.Error()) - } - - req, err := client.RemoveNodesPreparer(ctx, poolID, nodeRemoveParameter, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "RemoveNodes", nil, "Failure preparing request") - return - } - - resp, err := client.RemoveNodesSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.PoolClient", "RemoveNodes", resp, "Failure sending request") - return - } - - result, err = client.RemoveNodesResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "RemoveNodes", resp, "Failure responding to request") - } - - return -} - -// RemoveNodesPreparer prepares the RemoveNodes request. -func (client PoolClient) RemoveNodesPreparer(ctx context.Context, poolID string, nodeRemoveParameter NodeRemoveParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2016-02-01.3.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/removenodes", pathParameters), - autorest.WithJSON(nodeRemoveParameter), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// RemoveNodesSender sends the RemoveNodes request. The method will close the -// http.Response Body if it receives an error. -func (client PoolClient) RemoveNodesSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// RemoveNodesResponder handles the response to the RemoveNodes request. The method always -// closes the http.Response Body. -func (client PoolClient) RemoveNodesResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByClosing()) - result.Response = resp - return -} - -// Resize changes the number of compute nodes that are assigned to a pool. -// -// poolID is the id of the pool to resize. poolResizeParameter is the parameters for the request. timeout is the -// maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. -// clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such as curly -// braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id identifier in the response. ocpDate is the time the request was issued. If not specified, this -// header will be automatically populated with the current system clock time. ifMatch is an ETag is specified. -// Specify this header to perform the operation only if the resource's ETag is an exact match as specified. -// ifNoneMatch is an ETag is specified. Specify this header to perform the operation only if the resource's ETag -// does not match the specified ETag. ifModifiedSince is specify this header to perform the operation only if the -// resource has been modified since the specified date/time. ifUnmodifiedSince is specify this header to perform -// the operation only if the resource has not been modified since the specified date/time. -func (client PoolClient) Resize(ctx context.Context, poolID string, poolResizeParameter PoolResizeParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: poolResizeParameter, - Constraints: []validation.Constraint{{Target: "poolResizeParameter.TargetDedicated", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { - return result, validation.NewError("batch.PoolClient", "Resize", err.Error()) - } - - req, err := client.ResizePreparer(ctx, poolID, poolResizeParameter, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Resize", nil, "Failure preparing request") - return - } - - resp, err := client.ResizeSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Resize", resp, "Failure sending request") - return - } - - result, err = client.ResizeResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Resize", resp, "Failure responding to request") - } - - return -} - -// ResizePreparer prepares the Resize request. -func (client PoolClient) ResizePreparer(ctx context.Context, poolID string, poolResizeParameter PoolResizeParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2016-02-01.3.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/resize", pathParameters), - autorest.WithJSON(poolResizeParameter), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ResizeSender sends the Resize request. The method will close the -// http.Response Body if it receives an error. -func (client PoolClient) ResizeSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ResizeResponder handles the response to the Resize request. The method always -// closes the http.Response Body. -func (client PoolClient) ResizeResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByClosing()) - result.Response = resp - return -} - -// StopResize stops an ongoing resize operation on the pool. This does not restore the pool to its previous state -// before the resize operation: it only stops any further changes being made, and the pool maintains its current state. -// -// poolID is the id of the pool whose resizing you want to stop. timeout is the maximum time that the server can -// spend processing the request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated -// request identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id identifier in the response. ocpDate is the time the request was issued. If not specified, this -// header will be automatically populated with the current system clock time. ifMatch is an ETag is specified. -// Specify this header to perform the operation only if the resource's ETag is an exact match as specified. -// ifNoneMatch is an ETag is specified. Specify this header to perform the operation only if the resource's ETag -// does not match the specified ETag. ifModifiedSince is specify this header to perform the operation only if the -// resource has been modified since the specified date/time. ifUnmodifiedSince is specify this header to perform -// the operation only if the resource has not been modified since the specified date/time. -func (client PoolClient) StopResize(ctx context.Context, poolID string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.StopResizePreparer(ctx, poolID, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "StopResize", nil, "Failure preparing request") - return - } - - resp, err := client.StopResizeSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.PoolClient", "StopResize", resp, "Failure sending request") - return - } - - result, err = client.StopResizeResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "StopResize", resp, "Failure responding to request") - } - - return -} - -// StopResizePreparer prepares the StopResize request. -func (client PoolClient) StopResizePreparer(ctx context.Context, poolID string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2016-02-01.3.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/stopresize", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// StopResizeSender sends the StopResize request. The method will close the -// http.Response Body if it receives an error. -func (client PoolClient) StopResizeSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// StopResizeResponder handles the response to the StopResize request. The method always -// closes the http.Response Body. -func (client PoolClient) StopResizeResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByClosing()) - result.Response = resp - return -} - -// UpdateProperties updates the properties of a pool. -// -// poolID is the id of the pool to update. poolUpdatePropertiesParameter is the parameters for the request. timeout -// is the maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. -// clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such as curly -// braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id identifier in the response. ocpDate is the time the request was issued. If not specified, this -// header will be automatically populated with the current system clock time. -func (client PoolClient) UpdateProperties(ctx context.Context, poolID string, poolUpdatePropertiesParameter PoolUpdatePropertiesParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: poolUpdatePropertiesParameter, - Constraints: []validation.Constraint{{Target: "poolUpdatePropertiesParameter.CertificateReferences", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "poolUpdatePropertiesParameter.ApplicationPackageReferences", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "poolUpdatePropertiesParameter.Metadata", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { - return result, validation.NewError("batch.PoolClient", "UpdateProperties", err.Error()) - } - - req, err := client.UpdatePropertiesPreparer(ctx, poolID, poolUpdatePropertiesParameter, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "UpdateProperties", nil, "Failure preparing request") - return - } - - resp, err := client.UpdatePropertiesSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.PoolClient", "UpdateProperties", resp, "Failure sending request") - return - } - - result, err = client.UpdatePropertiesResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "UpdateProperties", resp, "Failure responding to request") - } - - return -} - -// UpdatePropertiesPreparer prepares the UpdateProperties request. -func (client PoolClient) UpdatePropertiesPreparer(ctx context.Context, poolID string, poolUpdatePropertiesParameter PoolUpdatePropertiesParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2016-02-01.3.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/updateproperties", pathParameters), - autorest.WithJSON(poolUpdatePropertiesParameter), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// UpdatePropertiesSender sends the UpdateProperties request. The method will close the -// http.Response Body if it receives an error. -func (client PoolClient) UpdatePropertiesSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// UpdatePropertiesResponder handles the response to the UpdateProperties request. The method always -// closes the http.Response Body. -func (client PoolClient) UpdatePropertiesResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), - autorest.ByClosing()) - result.Response = resp - return -} - -// UpgradeOS upgrades the operating system of the specified pool. -// -// poolID is the id of the pool to upgrade. poolUpgradeOSParameter is the parameters for the request. timeout is -// the maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. -// clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such as curly -// braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id identifier in the response. ocpDate is the time the request was issued. If not specified, this -// header will be automatically populated with the current system clock time. ifMatch is an ETag is specified. -// Specify this header to perform the operation only if the resource's ETag is an exact match as specified. -// ifNoneMatch is an ETag is specified. Specify this header to perform the operation only if the resource's ETag -// does not match the specified ETag. ifModifiedSince is specify this header to perform the operation only if the -// resource has been modified since the specified date/time. ifUnmodifiedSince is specify this header to perform -// the operation only if the resource has not been modified since the specified date/time. -func (client PoolClient) UpgradeOS(ctx context.Context, poolID string, poolUpgradeOSParameter PoolUpgradeOSParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: poolUpgradeOSParameter, - Constraints: []validation.Constraint{{Target: "poolUpgradeOSParameter.TargetOSVersion", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { - return result, validation.NewError("batch.PoolClient", "UpgradeOS", err.Error()) - } - - req, err := client.UpgradeOSPreparer(ctx, poolID, poolUpgradeOSParameter, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "UpgradeOS", nil, "Failure preparing request") - return - } - - resp, err := client.UpgradeOSSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.PoolClient", "UpgradeOS", resp, "Failure sending request") - return - } - - result, err = client.UpgradeOSResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "UpgradeOS", resp, "Failure responding to request") - } - - return -} - -// UpgradeOSPreparer prepares the UpgradeOS request. -func (client PoolClient) UpgradeOSPreparer(ctx context.Context, poolID string, poolUpgradeOSParameter PoolUpgradeOSParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2016-02-01.3.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/upgradeos", pathParameters), - autorest.WithJSON(poolUpgradeOSParameter), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// UpgradeOSSender sends the UpgradeOS request. The method will close the -// http.Response Body if it receives an error. -func (client PoolClient) UpgradeOSSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// UpgradeOSResponder handles the response to the UpgradeOS request. The method always -// closes the http.Response Body. -func (client PoolClient) UpgradeOSResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByClosing()) - result.Response = resp - return -} diff --git a/services/batch/2016-02-01.3.0/batch/task.go b/services/batch/2016-02-01.3.0/batch/task.go deleted file mode 100644 index d658c82e2de6..000000000000 --- a/services/batch/2016-02-01.3.0/batch/task.go +++ /dev/null @@ -1,888 +0,0 @@ -package batch - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/autorest/date" - "github.com/Azure/go-autorest/autorest/validation" - "net/http" -) - -// TaskClient is the a client for issuing REST requests to the Azure Batch service. -type TaskClient struct { - BaseClient -} - -// NewTaskClient creates an instance of the TaskClient client. -func NewTaskClient() TaskClient { - return NewTaskClientWithBaseURI(DefaultBaseURI) -} - -// NewTaskClientWithBaseURI creates an instance of the TaskClient client. -func NewTaskClientWithBaseURI(baseURI string) TaskClient { - return TaskClient{NewWithBaseURI(baseURI)} -} - -// Add adds a task to the specified job. -// -// jobID is the id of the job to which the task is to be added. task is the task to be added. timeout is the -// maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. -// clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such as curly -// braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id identifier in the response. ocpDate is the time the request was issued. If not specified, this -// header will be automatically populated with the current system clock time. -func (client TaskClient) Add(ctx context.Context, jobID string, task TaskAddParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: task, - Constraints: []validation.Constraint{{Target: "task.ID", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "task.CommandLine", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "task.MultiInstanceSettings", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "task.MultiInstanceSettings.NumberOfInstances", Name: validation.Null, Rule: true, Chain: nil}}}}}}); err != nil { - return result, validation.NewError("batch.TaskClient", "Add", err.Error()) - } - - req, err := client.AddPreparer(ctx, jobID, task, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "Add", nil, "Failure preparing request") - return - } - - resp, err := client.AddSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.TaskClient", "Add", resp, "Failure sending request") - return - } - - result, err = client.AddResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "Add", resp, "Failure responding to request") - } - - return -} - -// AddPreparer prepares the Add request. -func (client TaskClient) AddPreparer(ctx context.Context, jobID string, task TaskAddParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - } - - const APIVersion = "2016-02-01.3.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}/tasks", pathParameters), - autorest.WithJSON(task), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// AddSender sends the Add request. The method will close the -// http.Response Body if it receives an error. -func (client TaskClient) AddSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// AddResponder handles the response to the Add request. The method always -// closes the http.Response Body. -func (client TaskClient) AddResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), - autorest.ByClosing()) - result.Response = resp - return -} - -// AddCollection adds a collection of tasks to the specified job. -// -// jobID is the id of the job to which the task collection is to be added. taskCollection is the tasks to be added. -// timeout is the maximum time that the server can spend processing the request, in seconds. The default is 30 -// seconds. clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such -// as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should -// return the client-request-id identifier in the response. ocpDate is the time the request was issued. If not -// specified, this header will be automatically populated with the current system clock time. -func (client TaskClient) AddCollection(ctx context.Context, jobID string, taskCollection TaskAddCollectionParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result TaskAddCollectionResult, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: taskCollection, - Constraints: []validation.Constraint{{Target: "taskCollection.Value", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { - return result, validation.NewError("batch.TaskClient", "AddCollection", err.Error()) - } - - req, err := client.AddCollectionPreparer(ctx, jobID, taskCollection, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "AddCollection", nil, "Failure preparing request") - return - } - - resp, err := client.AddCollectionSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.TaskClient", "AddCollection", resp, "Failure sending request") - return - } - - result, err = client.AddCollectionResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "AddCollection", resp, "Failure responding to request") - } - - return -} - -// AddCollectionPreparer prepares the AddCollection request. -func (client TaskClient) AddCollectionPreparer(ctx context.Context, jobID string, taskCollection TaskAddCollectionParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - } - - const APIVersion = "2016-02-01.3.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}/addtaskcollection", pathParameters), - autorest.WithJSON(taskCollection), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// AddCollectionSender sends the AddCollection request. The method will close the -// http.Response Body if it receives an error. -func (client TaskClient) AddCollectionSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// AddCollectionResponder handles the response to the AddCollection request. The method always -// closes the http.Response Body. -func (client TaskClient) AddCollectionResponder(resp *http.Response) (result TaskAddCollectionResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// Delete deletes a task from the specified job. -// -// jobID is the id of the job from which to delete the task. taskID is the id of the task to delete. timeout is the -// maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. -// clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such as curly -// braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id identifier in the response. ocpDate is the time the request was issued. If not specified, this -// header will be automatically populated with the current system clock time. ifMatch is an ETag is specified. -// Specify this header to perform the operation only if the resource's ETag is an exact match as specified. -// ifNoneMatch is an ETag is specified. Specify this header to perform the operation only if the resource's ETag -// does not match the specified ETag. ifModifiedSince is specify this header to perform the operation only if the -// resource has been modified since the specified date/time. ifUnmodifiedSince is specify this header to perform -// the operation only if the resource has not been modified since the specified date/time. -func (client TaskClient) Delete(ctx context.Context, jobID string, taskID string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.DeletePreparer(ctx, jobID, taskID, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "Delete", nil, "Failure preparing request") - return - } - - resp, err := client.DeleteSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.TaskClient", "Delete", resp, "Failure sending request") - return - } - - result, err = client.DeleteResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "Delete", resp, "Failure responding to request") - } - - return -} - -// DeletePreparer prepares the Delete request. -func (client TaskClient) DeletePreparer(ctx context.Context, jobID string, taskID string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - "taskId": autorest.Encode("path", taskID), - } - - const APIVersion = "2016-02-01.3.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsDelete(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}/tasks/{taskId}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DeleteSender sends the Delete request. The method will close the -// http.Response Body if it receives an error. -func (client TaskClient) DeleteSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// DeleteResponder handles the response to the Delete request. The method always -// closes the http.Response Body. -func (client TaskClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} - -// Get gets information about the specified task. -// -// jobID is the id of the job that contains the task. taskID is the id of the task to get information about. -// selectParameter is an OData $select clause. expand is an OData $expand clause. timeout is the maximum time that -// the server can spend processing the request, in seconds. The default is 30 seconds. clientRequestID is the -// caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id identifier in the response. ocpDate is the time the request was issued. If not specified, this -// header will be automatically populated with the current system clock time. ifMatch is an ETag is specified. -// Specify this header to perform the operation only if the resource's ETag is an exact match as specified. -// ifNoneMatch is an ETag is specified. Specify this header to perform the operation only if the resource's ETag -// does not match the specified ETag. ifModifiedSince is specify this header to perform the operation only if the -// resource has been modified since the specified date/time. ifUnmodifiedSince is specify this header to perform -// the operation only if the resource has not been modified since the specified date/time. -func (client TaskClient) Get(ctx context.Context, jobID string, taskID string, selectParameter string, expand string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result CloudTask, err error) { - req, err := client.GetPreparer(ctx, jobID, taskID, selectParameter, expand, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "Get", nil, "Failure preparing request") - return - } - - resp, err := client.GetSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.TaskClient", "Get", resp, "Failure sending request") - return - } - - result, err = client.GetResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "Get", resp, "Failure responding to request") - } - - return -} - -// GetPreparer prepares the Get request. -func (client TaskClient) GetPreparer(ctx context.Context, jobID string, taskID string, selectParameter string, expand string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - "taskId": autorest.Encode("path", taskID), - } - - const APIVersion = "2016-02-01.3.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(selectParameter) > 0 { - queryParameters["$select"] = autorest.Encode("query", selectParameter) - } - if len(expand) > 0 { - queryParameters["$expand"] = autorest.Encode("query", expand) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}/tasks/{taskId}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetSender sends the Get request. The method will close the -// http.Response Body if it receives an error. -func (client TaskClient) GetSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// GetResponder handles the response to the Get request. The method always -// closes the http.Response Body. -func (client TaskClient) GetResponder(resp *http.Response) (result CloudTask, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// List lists all of the tasks that are associated with the specified job. -// -// jobID is the id of the job. filter is an OData $filter clause. selectParameter is an OData $select clause. -// expand is an OData $expand clause. maxResults is the maximum number of items to return in the response. timeout -// is the maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. -// clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such as curly -// braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id identifier in the response. ocpDate is the time the request was issued. If not specified, this -// header will be automatically populated with the current system clock time. -func (client TaskClient) List(ctx context.Context, jobID string, filter string, selectParameter string, expand string, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result CloudTaskListResultPage, err error) { - result.fn = client.listNextResults - req, err := client.ListPreparer(ctx, jobID, filter, selectParameter, expand, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "List", nil, "Failure preparing request") - return - } - - resp, err := client.ListSender(req) - if err != nil { - result.ctlr.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.TaskClient", "List", resp, "Failure sending request") - return - } - - result.ctlr, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "List", resp, "Failure responding to request") - } - - return -} - -// ListPreparer prepares the List request. -func (client TaskClient) ListPreparer(ctx context.Context, jobID string, filter string, selectParameter string, expand string, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - } - - const APIVersion = "2016-02-01.3.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(filter) > 0 { - queryParameters["$filter"] = autorest.Encode("query", filter) - } - if len(selectParameter) > 0 { - queryParameters["$select"] = autorest.Encode("query", selectParameter) - } - if len(expand) > 0 { - queryParameters["$expand"] = autorest.Encode("query", expand) - } - if maxResults != nil { - queryParameters["maxresults"] = autorest.Encode("query", *maxResults) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}/tasks", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListSender sends the List request. The method will close the -// http.Response Body if it receives an error. -func (client TaskClient) ListSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ListResponder handles the response to the List request. The method always -// closes the http.Response Body. -func (client TaskClient) ListResponder(resp *http.Response) (result CloudTaskListResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listNextResults retrieves the next set of results, if any. -func (client TaskClient) listNextResults(lastResults CloudTaskListResult) (result CloudTaskListResult, err error) { - req, err := lastResults.cloudTaskListResultPreparer() - if err != nil { - return result, autorest.NewErrorWithError(err, "batch.TaskClient", "listNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "batch.TaskClient", "listNextResults", resp, "Failure sending next results request") - } - result, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "listNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListComplete enumerates all values, automatically crossing page boundaries as required. -func (client TaskClient) ListComplete(ctx context.Context, jobID string, filter string, selectParameter string, expand string, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result CloudTaskListResultIterator, err error) { - result.page, err = client.List(ctx, jobID, filter, selectParameter, expand, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - return -} - -// ListSubtasks lists all of the subtasks that are associated with the specified multi-instance task. -// -// jobID is the id of the job. taskID is the id of the task. selectParameter is an OData $select clause. timeout is -// the maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. -// clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such as curly -// braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id identifier in the response. ocpDate is the time the request was issued. If not specified, this -// header will be automatically populated with the current system clock time. -func (client TaskClient) ListSubtasks(ctx context.Context, jobID string, taskID string, selectParameter string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result CloudTaskListSubtasksResult, err error) { - req, err := client.ListSubtasksPreparer(ctx, jobID, taskID, selectParameter, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "ListSubtasks", nil, "Failure preparing request") - return - } - - resp, err := client.ListSubtasksSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.TaskClient", "ListSubtasks", resp, "Failure sending request") - return - } - - result, err = client.ListSubtasksResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "ListSubtasks", resp, "Failure responding to request") - } - - return -} - -// ListSubtasksPreparer prepares the ListSubtasks request. -func (client TaskClient) ListSubtasksPreparer(ctx context.Context, jobID string, taskID string, selectParameter string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - "taskId": autorest.Encode("path", taskID), - } - - const APIVersion = "2016-02-01.3.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(selectParameter) > 0 { - queryParameters["$select"] = autorest.Encode("query", selectParameter) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}/tasks/{taskId}/subtasksinfo", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListSubtasksSender sends the ListSubtasks request. The method will close the -// http.Response Body if it receives an error. -func (client TaskClient) ListSubtasksSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ListSubtasksResponder handles the response to the ListSubtasks request. The method always -// closes the http.Response Body. -func (client TaskClient) ListSubtasksResponder(resp *http.Response) (result CloudTaskListSubtasksResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// Terminate terminates the specified task. -// -// jobID is the id of the job containing the task. taskID is the id of the task to terminate. timeout is the -// maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. -// clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such as curly -// braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id identifier in the response. ocpDate is the time the request was issued. If not specified, this -// header will be automatically populated with the current system clock time. ifMatch is an ETag is specified. -// Specify this header to perform the operation only if the resource's ETag is an exact match as specified. -// ifNoneMatch is an ETag is specified. Specify this header to perform the operation only if the resource's ETag -// does not match the specified ETag. ifModifiedSince is specify this header to perform the operation only if the -// resource has been modified since the specified date/time. ifUnmodifiedSince is specify this header to perform -// the operation only if the resource has not been modified since the specified date/time. -func (client TaskClient) Terminate(ctx context.Context, jobID string, taskID string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.TerminatePreparer(ctx, jobID, taskID, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "Terminate", nil, "Failure preparing request") - return - } - - resp, err := client.TerminateSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.TaskClient", "Terminate", resp, "Failure sending request") - return - } - - result, err = client.TerminateResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "Terminate", resp, "Failure responding to request") - } - - return -} - -// TerminatePreparer prepares the Terminate request. -func (client TaskClient) TerminatePreparer(ctx context.Context, jobID string, taskID string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - "taskId": autorest.Encode("path", taskID), - } - - const APIVersion = "2016-02-01.3.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}/tasks/{taskId}/terminate", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// TerminateSender sends the Terminate request. The method will close the -// http.Response Body if it receives an error. -func (client TaskClient) TerminateSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// TerminateResponder handles the response to the Terminate request. The method always -// closes the http.Response Body. -func (client TaskClient) TerminateResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), - autorest.ByClosing()) - result.Response = resp - return -} - -// Update updates the properties of the specified task. -// -// jobID is the id of the job containing the task. taskID is the id of the task to update. taskUpdateParameter is -// the parameters for the request. timeout is the maximum time that the server can spend processing the request, in -// seconds. The default is 30 seconds. clientRequestID is the caller-generated request identity, in the form of a -// GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID -// is whether the server should return the client-request-id identifier in the response. ocpDate is the time the -// request was issued. If not specified, this header will be automatically populated with the current system clock -// time. ifMatch is an ETag is specified. Specify this header to perform the operation only if the resource's ETag -// is an exact match as specified. ifNoneMatch is an ETag is specified. Specify this header to perform the -// operation only if the resource's ETag does not match the specified ETag. ifModifiedSince is specify this header -// to perform the operation only if the resource has been modified since the specified date/time. ifUnmodifiedSince -// is specify this header to perform the operation only if the resource has not been modified since the specified -// date/time. -func (client TaskClient) Update(ctx context.Context, jobID string, taskID string, taskUpdateParameter TaskUpdateParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.UpdatePreparer(ctx, jobID, taskID, taskUpdateParameter, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "Update", nil, "Failure preparing request") - return - } - - resp, err := client.UpdateSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.TaskClient", "Update", resp, "Failure sending request") - return - } - - result, err = client.UpdateResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "Update", resp, "Failure responding to request") - } - - return -} - -// UpdatePreparer prepares the Update request. -func (client TaskClient) UpdatePreparer(ctx context.Context, jobID string, taskID string, taskUpdateParameter TaskUpdateParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - "taskId": autorest.Encode("path", taskID), - } - - const APIVersion = "2016-02-01.3.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPut(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}/tasks/{taskId}", pathParameters), - autorest.WithJSON(taskUpdateParameter), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// UpdateSender sends the Update request. The method will close the -// http.Response Body if it receives an error. -func (client TaskClient) UpdateSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// UpdateResponder handles the response to the Update request. The method always -// closes the http.Response Body. -func (client TaskClient) UpdateResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} diff --git a/services/batch/2016-07-01.3.1/batch/account.go b/services/batch/2016-07-01.3.1/batch/account.go deleted file mode 100644 index 766be71589d4..000000000000 --- a/services/batch/2016-07-01.3.1/batch/account.go +++ /dev/null @@ -1,173 +0,0 @@ -package batch - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/autorest/date" - "github.com/Azure/go-autorest/autorest/validation" - "net/http" -) - -// AccountClient is the a client for issuing REST requests to the Azure Batch service. -type AccountClient struct { - BaseClient -} - -// NewAccountClient creates an instance of the AccountClient client. -func NewAccountClient() AccountClient { - return NewAccountClientWithBaseURI(DefaultBaseURI) -} - -// NewAccountClientWithBaseURI creates an instance of the AccountClient client. -func NewAccountClientWithBaseURI(baseURI string) AccountClient { - return AccountClient{NewWithBaseURI(baseURI)} -} - -// ListNodeAgentSkus sends the list node agent skus request. -// -// filter is an OData $filter clause. maxResults is the maximum number of items to return in the response. A -// maximum of 1000 results will be returned. timeout is the maximum time that the server can spend processing the -// request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated request identity, in the -// form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. -// returnClientRequestID is whether the server should return the client-request-id in the response. ocpDate is the -// time the request was issued. If not specified, this header will be automatically populated with the current -// system clock time. -func (client AccountClient) ListNodeAgentSkus(ctx context.Context, filter string, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result AccountListNodeAgentSkusResultPage, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: maxResults, - Constraints: []validation.Constraint{{Target: "maxResults", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "maxResults", Name: validation.InclusiveMaximum, Rule: 1000, Chain: nil}, - {Target: "maxResults", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}, - }}}}}); err != nil { - return result, validation.NewError("batch.AccountClient", "ListNodeAgentSkus", err.Error()) - } - - result.fn = client.listNodeAgentSkusNextResults - req, err := client.ListNodeAgentSkusPreparer(ctx, filter, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.AccountClient", "ListNodeAgentSkus", nil, "Failure preparing request") - return - } - - resp, err := client.ListNodeAgentSkusSender(req) - if err != nil { - result.alnasr.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.AccountClient", "ListNodeAgentSkus", resp, "Failure sending request") - return - } - - result.alnasr, err = client.ListNodeAgentSkusResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.AccountClient", "ListNodeAgentSkus", resp, "Failure responding to request") - } - - return -} - -// ListNodeAgentSkusPreparer prepares the ListNodeAgentSkus request. -func (client AccountClient) ListNodeAgentSkusPreparer(ctx context.Context, filter string, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - const APIVersion = "2016-07-01.3.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(filter) > 0 { - queryParameters["$filter"] = autorest.Encode("query", filter) - } - if maxResults != nil { - queryParameters["maxresults"] = autorest.Encode("query", *maxResults) - } else { - queryParameters["maxresults"] = autorest.Encode("query", 1000) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPath("/nodeagentskus"), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListNodeAgentSkusSender sends the ListNodeAgentSkus request. The method will close the -// http.Response Body if it receives an error. -func (client AccountClient) ListNodeAgentSkusSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ListNodeAgentSkusResponder handles the response to the ListNodeAgentSkus request. The method always -// closes the http.Response Body. -func (client AccountClient) ListNodeAgentSkusResponder(resp *http.Response) (result AccountListNodeAgentSkusResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listNodeAgentSkusNextResults retrieves the next set of results, if any. -func (client AccountClient) listNodeAgentSkusNextResults(lastResults AccountListNodeAgentSkusResult) (result AccountListNodeAgentSkusResult, err error) { - req, err := lastResults.accountListNodeAgentSkusResultPreparer() - if err != nil { - return result, autorest.NewErrorWithError(err, "batch.AccountClient", "listNodeAgentSkusNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListNodeAgentSkusSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "batch.AccountClient", "listNodeAgentSkusNextResults", resp, "Failure sending next results request") - } - result, err = client.ListNodeAgentSkusResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.AccountClient", "listNodeAgentSkusNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListNodeAgentSkusComplete enumerates all values, automatically crossing page boundaries as required. -func (client AccountClient) ListNodeAgentSkusComplete(ctx context.Context, filter string, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result AccountListNodeAgentSkusResultIterator, err error) { - result.page, err = client.ListNodeAgentSkus(ctx, filter, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - return -} diff --git a/services/batch/2016-07-01.3.1/batch/application.go b/services/batch/2016-07-01.3.1/batch/application.go deleted file mode 100644 index 6a72e0733dc9..000000000000 --- a/services/batch/2016-07-01.3.1/batch/application.go +++ /dev/null @@ -1,260 +0,0 @@ -package batch - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/autorest/date" - "github.com/Azure/go-autorest/autorest/validation" - "net/http" -) - -// ApplicationClient is the a client for issuing REST requests to the Azure Batch service. -type ApplicationClient struct { - BaseClient -} - -// NewApplicationClient creates an instance of the ApplicationClient client. -func NewApplicationClient() ApplicationClient { - return NewApplicationClientWithBaseURI(DefaultBaseURI) -} - -// NewApplicationClientWithBaseURI creates an instance of the ApplicationClient client. -func NewApplicationClientWithBaseURI(baseURI string) ApplicationClient { - return ApplicationClient{NewWithBaseURI(baseURI)} -} - -// Get sends the get request. -// -// applicationID is the ID of the application. timeout is the maximum time that the server can spend processing the -// request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated request identity, in the -// form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. -// returnClientRequestID is whether the server should return the client-request-id in the response. ocpDate is the -// time the request was issued. If not specified, this header will be automatically populated with the current -// system clock time. -func (client ApplicationClient) Get(ctx context.Context, applicationID string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result ApplicationSummary, err error) { - req, err := client.GetPreparer(ctx, applicationID, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ApplicationClient", "Get", nil, "Failure preparing request") - return - } - - resp, err := client.GetSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.ApplicationClient", "Get", resp, "Failure sending request") - return - } - - result, err = client.GetResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ApplicationClient", "Get", resp, "Failure responding to request") - } - - return -} - -// GetPreparer prepares the Get request. -func (client ApplicationClient) GetPreparer(ctx context.Context, applicationID string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "applicationId": autorest.Encode("path", applicationID), - } - - const APIVersion = "2016-07-01.3.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/applications/{applicationId}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetSender sends the Get request. The method will close the -// http.Response Body if it receives an error. -func (client ApplicationClient) GetSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// GetResponder handles the response to the Get request. The method always -// closes the http.Response Body. -func (client ApplicationClient) GetResponder(resp *http.Response) (result ApplicationSummary, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// List this operation returns only applications and versions that are available for use on compute nodes; that is, -// that can be used in an application package reference. For administrator information about applications and versions -// that are not yet available to compute nodes, use the Azure portal or the Azure Resource Manager API. -// -// maxResults is the maximum number of items to return in the response. A maximum of 1000 applications can be -// returned. timeout is the maximum time that the server can spend processing the request, in seconds. The default -// is 30 seconds. clientRequestID is the caller-generated request identity, in the form of a GUID with no -// decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the -// server should return the client-request-id in the response. ocpDate is the time the request was issued. If not -// specified, this header will be automatically populated with the current system clock time. -func (client ApplicationClient) List(ctx context.Context, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result ApplicationListResultPage, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: maxResults, - Constraints: []validation.Constraint{{Target: "maxResults", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "maxResults", Name: validation.InclusiveMaximum, Rule: 1000, Chain: nil}, - {Target: "maxResults", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}, - }}}}}); err != nil { - return result, validation.NewError("batch.ApplicationClient", "List", err.Error()) - } - - result.fn = client.listNextResults - req, err := client.ListPreparer(ctx, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ApplicationClient", "List", nil, "Failure preparing request") - return - } - - resp, err := client.ListSender(req) - if err != nil { - result.alr.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.ApplicationClient", "List", resp, "Failure sending request") - return - } - - result.alr, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ApplicationClient", "List", resp, "Failure responding to request") - } - - return -} - -// ListPreparer prepares the List request. -func (client ApplicationClient) ListPreparer(ctx context.Context, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - const APIVersion = "2016-07-01.3.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if maxResults != nil { - queryParameters["maxresults"] = autorest.Encode("query", *maxResults) - } else { - queryParameters["maxresults"] = autorest.Encode("query", 1000) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPath("/applications"), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListSender sends the List request. The method will close the -// http.Response Body if it receives an error. -func (client ApplicationClient) ListSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ListResponder handles the response to the List request. The method always -// closes the http.Response Body. -func (client ApplicationClient) ListResponder(resp *http.Response) (result ApplicationListResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listNextResults retrieves the next set of results, if any. -func (client ApplicationClient) listNextResults(lastResults ApplicationListResult) (result ApplicationListResult, err error) { - req, err := lastResults.applicationListResultPreparer() - if err != nil { - return result, autorest.NewErrorWithError(err, "batch.ApplicationClient", "listNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "batch.ApplicationClient", "listNextResults", resp, "Failure sending next results request") - } - result, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ApplicationClient", "listNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListComplete enumerates all values, automatically crossing page boundaries as required. -func (client ApplicationClient) ListComplete(ctx context.Context, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result ApplicationListResultIterator, err error) { - result.page, err = client.List(ctx, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - return -} diff --git a/services/batch/2016-07-01.3.1/batch/certificate.go b/services/batch/2016-07-01.3.1/batch/certificate.go deleted file mode 100644 index 5498307391fd..000000000000 --- a/services/batch/2016-07-01.3.1/batch/certificate.go +++ /dev/null @@ -1,554 +0,0 @@ -package batch - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/autorest/date" - "github.com/Azure/go-autorest/autorest/validation" - "net/http" -) - -// CertificateClient is the a client for issuing REST requests to the Azure Batch service. -type CertificateClient struct { - BaseClient -} - -// NewCertificateClient creates an instance of the CertificateClient client. -func NewCertificateClient() CertificateClient { - return NewCertificateClientWithBaseURI(DefaultBaseURI) -} - -// NewCertificateClientWithBaseURI creates an instance of the CertificateClient client. -func NewCertificateClientWithBaseURI(baseURI string) CertificateClient { - return CertificateClient{NewWithBaseURI(baseURI)} -} - -// Add sends the add request. -// -// certificate is the certificate to be added. timeout is the maximum time that the server can spend processing the -// request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated request identity, in the -// form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. -// returnClientRequestID is whether the server should return the client-request-id in the response. ocpDate is the -// time the request was issued. If not specified, this header will be automatically populated with the current -// system clock time. -func (client CertificateClient) Add(ctx context.Context, certificate CertificateAddParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: certificate, - Constraints: []validation.Constraint{{Target: "certificate.Thumbprint", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "certificate.ThumbprintAlgorithm", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "certificate.Data", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { - return result, validation.NewError("batch.CertificateClient", "Add", err.Error()) - } - - req, err := client.AddPreparer(ctx, certificate, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.CertificateClient", "Add", nil, "Failure preparing request") - return - } - - resp, err := client.AddSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.CertificateClient", "Add", resp, "Failure sending request") - return - } - - result, err = client.AddResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.CertificateClient", "Add", resp, "Failure responding to request") - } - - return -} - -// AddPreparer prepares the Add request. -func (client CertificateClient) AddPreparer(ctx context.Context, certificate CertificateAddParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - const APIVersion = "2016-07-01.3.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPath("/certificates"), - autorest.WithJSON(certificate), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// AddSender sends the Add request. The method will close the -// http.Response Body if it receives an error. -func (client CertificateClient) AddSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// AddResponder handles the response to the Add request. The method always -// closes the http.Response Body. -func (client CertificateClient) AddResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), - autorest.ByClosing()) - result.Response = resp - return -} - -// CancelDeletion if you try to delete a certificate that is being used by a pool or compute node, the status of the -// certificate changes to deletefailed. If you decide that you want to continue using the certificate, you can use this -// operation to set the status of the certificate back to active. If you intend to delete the certificate, you do not -// need to run this operation after the deletion failed. You must make sure that the certificate is not being used by -// any resources, and then you can try again to delete the certificate. -// -// thumbprintAlgorithm is the algorithm used to derive the thumbprint parameter. This must be sha1. thumbprint is -// the thumbprint of the certificate being deleted. timeout is the maximum time that the server can spend -// processing the request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated request -// identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. If not specified, this header -// will be automatically populated with the current system clock time. -func (client CertificateClient) CancelDeletion(ctx context.Context, thumbprintAlgorithm string, thumbprint string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.CancelDeletionPreparer(ctx, thumbprintAlgorithm, thumbprint, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.CertificateClient", "CancelDeletion", nil, "Failure preparing request") - return - } - - resp, err := client.CancelDeletionSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.CertificateClient", "CancelDeletion", resp, "Failure sending request") - return - } - - result, err = client.CancelDeletionResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.CertificateClient", "CancelDeletion", resp, "Failure responding to request") - } - - return -} - -// CancelDeletionPreparer prepares the CancelDeletion request. -func (client CertificateClient) CancelDeletionPreparer(ctx context.Context, thumbprintAlgorithm string, thumbprint string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "thumbprint": autorest.Encode("path", thumbprint), - "thumbprintAlgorithm": autorest.Encode("path", thumbprintAlgorithm), - } - - const APIVersion = "2016-07-01.3.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/certificates(thumbprintAlgorithm={thumbprintAlgorithm},thumbprint={thumbprint})/canceldelete", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// CancelDeletionSender sends the CancelDeletion request. The method will close the -// http.Response Body if it receives an error. -func (client CertificateClient) CancelDeletionSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// CancelDeletionResponder handles the response to the CancelDeletion request. The method always -// closes the http.Response Body. -func (client CertificateClient) CancelDeletionResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), - autorest.ByClosing()) - result.Response = resp - return -} - -// Delete you cannot delete a certificate if a resource (pool or compute node) is using it. Before you can delete a -// certificate, you must therefore make sure that the certificate is not associated with any existing pools, the -// certificate is not installed on any compute nodes (even if you remove a certificate from a pool, it is not removed -// from existing compute nodes in that pool until they restart), and no running tasks depend on the certificate. If you -// try to delete a certificate that is in use, the deletion fails. The certificate status changes to deletefailed. You -// can use Cancel Delete Certificate to set the status back to active if you decide that you want to continue using the -// certificate. -// -// thumbprintAlgorithm is the algorithm used to derive the thumbprint parameter. This must be sha1. thumbprint is -// the thumbprint of the certificate to be deleted. timeout is the maximum time that the server can spend -// processing the request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated request -// identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. If not specified, this header -// will be automatically populated with the current system clock time. -func (client CertificateClient) Delete(ctx context.Context, thumbprintAlgorithm string, thumbprint string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.DeletePreparer(ctx, thumbprintAlgorithm, thumbprint, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.CertificateClient", "Delete", nil, "Failure preparing request") - return - } - - resp, err := client.DeleteSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.CertificateClient", "Delete", resp, "Failure sending request") - return - } - - result, err = client.DeleteResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.CertificateClient", "Delete", resp, "Failure responding to request") - } - - return -} - -// DeletePreparer prepares the Delete request. -func (client CertificateClient) DeletePreparer(ctx context.Context, thumbprintAlgorithm string, thumbprint string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "thumbprint": autorest.Encode("path", thumbprint), - "thumbprintAlgorithm": autorest.Encode("path", thumbprintAlgorithm), - } - - const APIVersion = "2016-07-01.3.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsDelete(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/certificates(thumbprintAlgorithm={thumbprintAlgorithm},thumbprint={thumbprint})", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DeleteSender sends the Delete request. The method will close the -// http.Response Body if it receives an error. -func (client CertificateClient) DeleteSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// DeleteResponder handles the response to the Delete request. The method always -// closes the http.Response Body. -func (client CertificateClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByClosing()) - result.Response = resp - return -} - -// Get gets information about the specified certificate. -// -// thumbprintAlgorithm is the algorithm used to derive the thumbprint parameter. This must be sha1. thumbprint is -// the thumbprint of the certificate to get. selectParameter is an OData $select clause. timeout is the maximum -// time that the server can spend processing the request, in seconds. The default is 30 seconds. clientRequestID is -// the caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. If not specified, this header -// will be automatically populated with the current system clock time. -func (client CertificateClient) Get(ctx context.Context, thumbprintAlgorithm string, thumbprint string, selectParameter string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result Certificate, err error) { - req, err := client.GetPreparer(ctx, thumbprintAlgorithm, thumbprint, selectParameter, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.CertificateClient", "Get", nil, "Failure preparing request") - return - } - - resp, err := client.GetSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.CertificateClient", "Get", resp, "Failure sending request") - return - } - - result, err = client.GetResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.CertificateClient", "Get", resp, "Failure responding to request") - } - - return -} - -// GetPreparer prepares the Get request. -func (client CertificateClient) GetPreparer(ctx context.Context, thumbprintAlgorithm string, thumbprint string, selectParameter string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "thumbprint": autorest.Encode("path", thumbprint), - "thumbprintAlgorithm": autorest.Encode("path", thumbprintAlgorithm), - } - - const APIVersion = "2016-07-01.3.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(selectParameter) > 0 { - queryParameters["$select"] = autorest.Encode("query", selectParameter) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/certificates(thumbprintAlgorithm={thumbprintAlgorithm},thumbprint={thumbprint})", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetSender sends the Get request. The method will close the -// http.Response Body if it receives an error. -func (client CertificateClient) GetSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// GetResponder handles the response to the Get request. The method always -// closes the http.Response Body. -func (client CertificateClient) GetResponder(resp *http.Response) (result Certificate, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// List sends the list request. -// -// filter is an OData $filter clause. selectParameter is an OData $select clause. maxResults is the maximum number -// of items to return in the response. A maximum of 1000 certificates can be returned. timeout is the maximum time -// that the server can spend processing the request, in seconds. The default is 30 seconds. clientRequestID is the -// caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. If not specified, this header -// will be automatically populated with the current system clock time. -func (client CertificateClient) List(ctx context.Context, filter string, selectParameter string, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result CertificateListResultPage, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: maxResults, - Constraints: []validation.Constraint{{Target: "maxResults", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "maxResults", Name: validation.InclusiveMaximum, Rule: 1000, Chain: nil}, - {Target: "maxResults", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}, - }}}}}); err != nil { - return result, validation.NewError("batch.CertificateClient", "List", err.Error()) - } - - result.fn = client.listNextResults - req, err := client.ListPreparer(ctx, filter, selectParameter, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.CertificateClient", "List", nil, "Failure preparing request") - return - } - - resp, err := client.ListSender(req) - if err != nil { - result.clr.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.CertificateClient", "List", resp, "Failure sending request") - return - } - - result.clr, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.CertificateClient", "List", resp, "Failure responding to request") - } - - return -} - -// ListPreparer prepares the List request. -func (client CertificateClient) ListPreparer(ctx context.Context, filter string, selectParameter string, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - const APIVersion = "2016-07-01.3.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(filter) > 0 { - queryParameters["$filter"] = autorest.Encode("query", filter) - } - if len(selectParameter) > 0 { - queryParameters["$select"] = autorest.Encode("query", selectParameter) - } - if maxResults != nil { - queryParameters["maxresults"] = autorest.Encode("query", *maxResults) - } else { - queryParameters["maxresults"] = autorest.Encode("query", 1000) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPath("/certificates"), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListSender sends the List request. The method will close the -// http.Response Body if it receives an error. -func (client CertificateClient) ListSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ListResponder handles the response to the List request. The method always -// closes the http.Response Body. -func (client CertificateClient) ListResponder(resp *http.Response) (result CertificateListResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listNextResults retrieves the next set of results, if any. -func (client CertificateClient) listNextResults(lastResults CertificateListResult) (result CertificateListResult, err error) { - req, err := lastResults.certificateListResultPreparer() - if err != nil { - return result, autorest.NewErrorWithError(err, "batch.CertificateClient", "listNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "batch.CertificateClient", "listNextResults", resp, "Failure sending next results request") - } - result, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.CertificateClient", "listNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListComplete enumerates all values, automatically crossing page boundaries as required. -func (client CertificateClient) ListComplete(ctx context.Context, filter string, selectParameter string, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result CertificateListResultIterator, err error) { - result.page, err = client.List(ctx, filter, selectParameter, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - return -} diff --git a/services/batch/2016-07-01.3.1/batch/client.go b/services/batch/2016-07-01.3.1/batch/client.go deleted file mode 100644 index 052769b94138..000000000000 --- a/services/batch/2016-07-01.3.1/batch/client.go +++ /dev/null @@ -1,49 +0,0 @@ -// Package batch implements the Azure ARM Batch service API version 2016-07-01.3.1. -// -// A client for issuing REST requests to the Azure Batch service. -package batch - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "github.com/Azure/go-autorest/autorest" -) - -const ( - // DefaultBaseURI is the default URI used for the service Batch - DefaultBaseURI = "https://batch.core.windows.net" -) - -// BaseClient is the base client for Batch. -type BaseClient struct { - autorest.Client - BaseURI string -} - -// New creates an instance of the BaseClient client. -func New() BaseClient { - return NewWithBaseURI(DefaultBaseURI) -} - -// NewWithBaseURI creates an instance of the BaseClient client. -func NewWithBaseURI(baseURI string) BaseClient { - return BaseClient{ - Client: autorest.NewClientWithUserAgent(UserAgent()), - BaseURI: baseURI, - } -} diff --git a/services/batch/2016-07-01.3.1/batch/computenode.go b/services/batch/2016-07-01.3.1/batch/computenode.go deleted file mode 100644 index 337fba456d4a..000000000000 --- a/services/batch/2016-07-01.3.1/batch/computenode.go +++ /dev/null @@ -1,1117 +0,0 @@ -package batch - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/autorest/date" - "github.com/Azure/go-autorest/autorest/validation" - "net/http" -) - -// ComputeNodeClient is the a client for issuing REST requests to the Azure Batch service. -type ComputeNodeClient struct { - BaseClient -} - -// NewComputeNodeClient creates an instance of the ComputeNodeClient client. -func NewComputeNodeClient() ComputeNodeClient { - return NewComputeNodeClientWithBaseURI(DefaultBaseURI) -} - -// NewComputeNodeClientWithBaseURI creates an instance of the ComputeNodeClient client. -func NewComputeNodeClientWithBaseURI(baseURI string) ComputeNodeClient { - return ComputeNodeClient{NewWithBaseURI(baseURI)} -} - -// AddUser you can add a user account to a node only when it is in the idle or running state. -// -// poolID is the ID of the pool that contains the compute node. nodeID is the ID of the machine on which you want -// to create a user account. userParameter is the user account to be created. timeout is the maximum time that the -// server can spend processing the request, in seconds. The default is 30 seconds. clientRequestID is the -// caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. If not specified, this header -// will be automatically populated with the current system clock time. -func (client ComputeNodeClient) AddUser(ctx context.Context, poolID string, nodeID string, userParameter ComputeNodeUser, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: userParameter, - Constraints: []validation.Constraint{{Target: "userParameter.Name", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { - return result, validation.NewError("batch.ComputeNodeClient", "AddUser", err.Error()) - } - - req, err := client.AddUserPreparer(ctx, poolID, nodeID, userParameter, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "AddUser", nil, "Failure preparing request") - return - } - - resp, err := client.AddUserSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "AddUser", resp, "Failure sending request") - return - } - - result, err = client.AddUserResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "AddUser", resp, "Failure responding to request") - } - - return -} - -// AddUserPreparer prepares the AddUser request. -func (client ComputeNodeClient) AddUserPreparer(ctx context.Context, poolID string, nodeID string, userParameter ComputeNodeUser, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "nodeId": autorest.Encode("path", nodeID), - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2016-07-01.3.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/nodes/{nodeId}/users", pathParameters), - autorest.WithJSON(userParameter), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// AddUserSender sends the AddUser request. The method will close the -// http.Response Body if it receives an error. -func (client ComputeNodeClient) AddUserSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// AddUserResponder handles the response to the AddUser request. The method always -// closes the http.Response Body. -func (client ComputeNodeClient) AddUserResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), - autorest.ByClosing()) - result.Response = resp - return -} - -// DeleteUser you can delete a user account to a node only when it is in the idle or running state. -// -// poolID is the ID of the pool that contains the compute node. nodeID is the ID of the machine on which you want -// to delete a user account. userName is the name of the user account to delete. timeout is the maximum time that -// the server can spend processing the request, in seconds. The default is 30 seconds. clientRequestID is the -// caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. If not specified, this header -// will be automatically populated with the current system clock time. -func (client ComputeNodeClient) DeleteUser(ctx context.Context, poolID string, nodeID string, userName string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.DeleteUserPreparer(ctx, poolID, nodeID, userName, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "DeleteUser", nil, "Failure preparing request") - return - } - - resp, err := client.DeleteUserSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "DeleteUser", resp, "Failure sending request") - return - } - - result, err = client.DeleteUserResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "DeleteUser", resp, "Failure responding to request") - } - - return -} - -// DeleteUserPreparer prepares the DeleteUser request. -func (client ComputeNodeClient) DeleteUserPreparer(ctx context.Context, poolID string, nodeID string, userName string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "nodeId": autorest.Encode("path", nodeID), - "poolId": autorest.Encode("path", poolID), - "userName": autorest.Encode("path", userName), - } - - const APIVersion = "2016-07-01.3.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsDelete(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/nodes/{nodeId}/users/{userName}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DeleteUserSender sends the DeleteUser request. The method will close the -// http.Response Body if it receives an error. -func (client ComputeNodeClient) DeleteUserSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// DeleteUserResponder handles the response to the DeleteUser request. The method always -// closes the http.Response Body. -func (client ComputeNodeClient) DeleteUserResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} - -// DisableScheduling sends the disable scheduling request. -// -// poolID is the ID of the pool that contains the compute node. nodeID is the ID of the compute node on which you -// want to disable task scheduling. nodeDisableSchedulingParameter is the parameters for the request. timeout is -// the maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. -// clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such as curly -// braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. If not specified, this header -// will be automatically populated with the current system clock time. -func (client ComputeNodeClient) DisableScheduling(ctx context.Context, poolID string, nodeID string, nodeDisableSchedulingParameter *NodeDisableSchedulingParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.DisableSchedulingPreparer(ctx, poolID, nodeID, nodeDisableSchedulingParameter, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "DisableScheduling", nil, "Failure preparing request") - return - } - - resp, err := client.DisableSchedulingSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "DisableScheduling", resp, "Failure sending request") - return - } - - result, err = client.DisableSchedulingResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "DisableScheduling", resp, "Failure responding to request") - } - - return -} - -// DisableSchedulingPreparer prepares the DisableScheduling request. -func (client ComputeNodeClient) DisableSchedulingPreparer(ctx context.Context, poolID string, nodeID string, nodeDisableSchedulingParameter *NodeDisableSchedulingParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "nodeId": autorest.Encode("path", nodeID), - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2016-07-01.3.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/nodes/{nodeId}/disablescheduling", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if nodeDisableSchedulingParameter != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithJSON(nodeDisableSchedulingParameter)) - } - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DisableSchedulingSender sends the DisableScheduling request. The method will close the -// http.Response Body if it receives an error. -func (client ComputeNodeClient) DisableSchedulingSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// DisableSchedulingResponder handles the response to the DisableScheduling request. The method always -// closes the http.Response Body. -func (client ComputeNodeClient) DisableSchedulingResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} - -// EnableScheduling sends the enable scheduling request. -// -// poolID is the ID of the pool that contains the compute node. nodeID is the ID of the compute node on which you -// want to enable task scheduling. timeout is the maximum time that the server can spend processing the request, in -// seconds. The default is 30 seconds. clientRequestID is the caller-generated request identity, in the form of a -// GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID -// is whether the server should return the client-request-id in the response. ocpDate is the time the request was -// issued. If not specified, this header will be automatically populated with the current system clock time. -func (client ComputeNodeClient) EnableScheduling(ctx context.Context, poolID string, nodeID string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.EnableSchedulingPreparer(ctx, poolID, nodeID, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "EnableScheduling", nil, "Failure preparing request") - return - } - - resp, err := client.EnableSchedulingSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "EnableScheduling", resp, "Failure sending request") - return - } - - result, err = client.EnableSchedulingResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "EnableScheduling", resp, "Failure responding to request") - } - - return -} - -// EnableSchedulingPreparer prepares the EnableScheduling request. -func (client ComputeNodeClient) EnableSchedulingPreparer(ctx context.Context, poolID string, nodeID string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "nodeId": autorest.Encode("path", nodeID), - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2016-07-01.3.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/nodes/{nodeId}/enablescheduling", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// EnableSchedulingSender sends the EnableScheduling request. The method will close the -// http.Response Body if it receives an error. -func (client ComputeNodeClient) EnableSchedulingSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// EnableSchedulingResponder handles the response to the EnableScheduling request. The method always -// closes the http.Response Body. -func (client ComputeNodeClient) EnableSchedulingResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} - -// Get sends the get request. -// -// poolID is the ID of the pool that contains the compute node. nodeID is the ID of the compute node that you want -// to get information about. selectParameter is an OData $select clause. timeout is the maximum time that the -// server can spend processing the request, in seconds. The default is 30 seconds. clientRequestID is the -// caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. If not specified, this header -// will be automatically populated with the current system clock time. -func (client ComputeNodeClient) Get(ctx context.Context, poolID string, nodeID string, selectParameter string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result ComputeNode, err error) { - req, err := client.GetPreparer(ctx, poolID, nodeID, selectParameter, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "Get", nil, "Failure preparing request") - return - } - - resp, err := client.GetSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "Get", resp, "Failure sending request") - return - } - - result, err = client.GetResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "Get", resp, "Failure responding to request") - } - - return -} - -// GetPreparer prepares the Get request. -func (client ComputeNodeClient) GetPreparer(ctx context.Context, poolID string, nodeID string, selectParameter string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "nodeId": autorest.Encode("path", nodeID), - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2016-07-01.3.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(selectParameter) > 0 { - queryParameters["$select"] = autorest.Encode("query", selectParameter) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/nodes/{nodeId}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetSender sends the Get request. The method will close the -// http.Response Body if it receives an error. -func (client ComputeNodeClient) GetSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// GetResponder handles the response to the Get request. The method always -// closes the http.Response Body. -func (client ComputeNodeClient) GetResponder(resp *http.Response) (result ComputeNode, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// GetRemoteDesktop before you can access a node by using the RDP file, you must create a user account on the node. -// This API can only be invoked on pools created with the cloud service configuration property. -// -// poolID is the ID of the pool that contains the compute node. nodeID is the ID of the compute node for which you -// want to get the Remote Desktop Protocol file. timeout is the maximum time that the server can spend processing -// the request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated request identity, in -// the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. -// returnClientRequestID is whether the server should return the client-request-id in the response. ocpDate is the -// time the request was issued. If not specified, this header will be automatically populated with the current -// system clock time. -func (client ComputeNodeClient) GetRemoteDesktop(ctx context.Context, poolID string, nodeID string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result ReadCloser, err error) { - req, err := client.GetRemoteDesktopPreparer(ctx, poolID, nodeID, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "GetRemoteDesktop", nil, "Failure preparing request") - return - } - - resp, err := client.GetRemoteDesktopSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "GetRemoteDesktop", resp, "Failure sending request") - return - } - - result, err = client.GetRemoteDesktopResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "GetRemoteDesktop", resp, "Failure responding to request") - } - - return -} - -// GetRemoteDesktopPreparer prepares the GetRemoteDesktop request. -func (client ComputeNodeClient) GetRemoteDesktopPreparer(ctx context.Context, poolID string, nodeID string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "nodeId": autorest.Encode("path", nodeID), - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2016-07-01.3.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/nodes/{nodeId}/rdp", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetRemoteDesktopSender sends the GetRemoteDesktop request. The method will close the -// http.Response Body if it receives an error. -func (client ComputeNodeClient) GetRemoteDesktopSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// GetRemoteDesktopResponder handles the response to the GetRemoteDesktop request. The method always -// closes the http.Response Body. -func (client ComputeNodeClient) GetRemoteDesktopResponder(resp *http.Response) (result ReadCloser, err error) { - result.Value = &resp.Body - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK)) - result.Response = autorest.Response{Response: resp} - return -} - -// GetRemoteLoginSettings before you can remotely login to a node using the remote login settings, you must create a -// user account on the node. This API can be invoked only on pools created with the virtual machine configuration -// property. -// -// poolID is the ID of the pool that contains the compute node. nodeID is the ID of the compute node for which to -// obtain the remote login settings. timeout is the maximum time that the server can spend processing the request, -// in seconds. The default is 30 seconds. clientRequestID is the caller-generated request identity, in the form of -// a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID -// is whether the server should return the client-request-id in the response. ocpDate is the time the request was -// issued. If not specified, this header will be automatically populated with the current system clock time. -func (client ComputeNodeClient) GetRemoteLoginSettings(ctx context.Context, poolID string, nodeID string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result ComputeNodeGetRemoteLoginSettingsResult, err error) { - req, err := client.GetRemoteLoginSettingsPreparer(ctx, poolID, nodeID, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "GetRemoteLoginSettings", nil, "Failure preparing request") - return - } - - resp, err := client.GetRemoteLoginSettingsSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "GetRemoteLoginSettings", resp, "Failure sending request") - return - } - - result, err = client.GetRemoteLoginSettingsResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "GetRemoteLoginSettings", resp, "Failure responding to request") - } - - return -} - -// GetRemoteLoginSettingsPreparer prepares the GetRemoteLoginSettings request. -func (client ComputeNodeClient) GetRemoteLoginSettingsPreparer(ctx context.Context, poolID string, nodeID string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "nodeId": autorest.Encode("path", nodeID), - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2016-07-01.3.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/nodes/{nodeId}/remoteloginsettings", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetRemoteLoginSettingsSender sends the GetRemoteLoginSettings request. The method will close the -// http.Response Body if it receives an error. -func (client ComputeNodeClient) GetRemoteLoginSettingsSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// GetRemoteLoginSettingsResponder handles the response to the GetRemoteLoginSettings request. The method always -// closes the http.Response Body. -func (client ComputeNodeClient) GetRemoteLoginSettingsResponder(resp *http.Response) (result ComputeNodeGetRemoteLoginSettingsResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// List sends the list request. -// -// poolID is the ID of the pool from which you want to list nodes. filter is an OData $filter clause.. -// selectParameter is an OData $select clause. maxResults is the maximum number of items to return in the response. -// A maximum of 1000 nodes can be returned. timeout is the maximum time that the server can spend processing the -// request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated request identity, in the -// form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. -// returnClientRequestID is whether the server should return the client-request-id in the response. ocpDate is the -// time the request was issued. If not specified, this header will be automatically populated with the current -// system clock time. -func (client ComputeNodeClient) List(ctx context.Context, poolID string, filter string, selectParameter string, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result ComputeNodeListResultPage, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: maxResults, - Constraints: []validation.Constraint{{Target: "maxResults", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "maxResults", Name: validation.InclusiveMaximum, Rule: 1000, Chain: nil}, - {Target: "maxResults", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}, - }}}}}); err != nil { - return result, validation.NewError("batch.ComputeNodeClient", "List", err.Error()) - } - - result.fn = client.listNextResults - req, err := client.ListPreparer(ctx, poolID, filter, selectParameter, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "List", nil, "Failure preparing request") - return - } - - resp, err := client.ListSender(req) - if err != nil { - result.cnlr.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "List", resp, "Failure sending request") - return - } - - result.cnlr, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "List", resp, "Failure responding to request") - } - - return -} - -// ListPreparer prepares the List request. -func (client ComputeNodeClient) ListPreparer(ctx context.Context, poolID string, filter string, selectParameter string, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2016-07-01.3.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(filter) > 0 { - queryParameters["$filter"] = autorest.Encode("query", filter) - } - if len(selectParameter) > 0 { - queryParameters["$select"] = autorest.Encode("query", selectParameter) - } - if maxResults != nil { - queryParameters["maxresults"] = autorest.Encode("query", *maxResults) - } else { - queryParameters["maxresults"] = autorest.Encode("query", 1000) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/nodes", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListSender sends the List request. The method will close the -// http.Response Body if it receives an error. -func (client ComputeNodeClient) ListSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ListResponder handles the response to the List request. The method always -// closes the http.Response Body. -func (client ComputeNodeClient) ListResponder(resp *http.Response) (result ComputeNodeListResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listNextResults retrieves the next set of results, if any. -func (client ComputeNodeClient) listNextResults(lastResults ComputeNodeListResult) (result ComputeNodeListResult, err error) { - req, err := lastResults.computeNodeListResultPreparer() - if err != nil { - return result, autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "listNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "listNextResults", resp, "Failure sending next results request") - } - result, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "listNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListComplete enumerates all values, automatically crossing page boundaries as required. -func (client ComputeNodeClient) ListComplete(ctx context.Context, poolID string, filter string, selectParameter string, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result ComputeNodeListResultIterator, err error) { - result.page, err = client.List(ctx, poolID, filter, selectParameter, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - return -} - -// Reboot you can restart a node only if it is in an idle or running state. -// -// poolID is the ID of the pool that contains the compute node. nodeID is the ID of the compute node that you want -// to restart. nodeRebootParameter is the parameters for the request. timeout is the maximum time that the server -// can spend processing the request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated -// request identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. If not specified, this header -// will be automatically populated with the current system clock time. -func (client ComputeNodeClient) Reboot(ctx context.Context, poolID string, nodeID string, nodeRebootParameter *NodeRebootParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.RebootPreparer(ctx, poolID, nodeID, nodeRebootParameter, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "Reboot", nil, "Failure preparing request") - return - } - - resp, err := client.RebootSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "Reboot", resp, "Failure sending request") - return - } - - result, err = client.RebootResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "Reboot", resp, "Failure responding to request") - } - - return -} - -// RebootPreparer prepares the Reboot request. -func (client ComputeNodeClient) RebootPreparer(ctx context.Context, poolID string, nodeID string, nodeRebootParameter *NodeRebootParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "nodeId": autorest.Encode("path", nodeID), - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2016-07-01.3.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/nodes/{nodeId}/reboot", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if nodeRebootParameter != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithJSON(nodeRebootParameter)) - } - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// RebootSender sends the Reboot request. The method will close the -// http.Response Body if it receives an error. -func (client ComputeNodeClient) RebootSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// RebootResponder handles the response to the Reboot request. The method always -// closes the http.Response Body. -func (client ComputeNodeClient) RebootResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByClosing()) - result.Response = resp - return -} - -// Reimage you can reinstall the operating system on a node only if it is in an idle or running state. This API can be -// invoked only on pools created with the cloud service configuration property. -// -// poolID is the ID of the pool that contains the compute node. nodeID is the ID of the compute node that you want -// to restart. nodeReimageParameter is the parameters for the request. timeout is the maximum time that the server -// can spend processing the request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated -// request identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. If not specified, this header -// will be automatically populated with the current system clock time. -func (client ComputeNodeClient) Reimage(ctx context.Context, poolID string, nodeID string, nodeReimageParameter *NodeReimageParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.ReimagePreparer(ctx, poolID, nodeID, nodeReimageParameter, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "Reimage", nil, "Failure preparing request") - return - } - - resp, err := client.ReimageSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "Reimage", resp, "Failure sending request") - return - } - - result, err = client.ReimageResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "Reimage", resp, "Failure responding to request") - } - - return -} - -// ReimagePreparer prepares the Reimage request. -func (client ComputeNodeClient) ReimagePreparer(ctx context.Context, poolID string, nodeID string, nodeReimageParameter *NodeReimageParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "nodeId": autorest.Encode("path", nodeID), - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2016-07-01.3.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/nodes/{nodeId}/reimage", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if nodeReimageParameter != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithJSON(nodeReimageParameter)) - } - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ReimageSender sends the Reimage request. The method will close the -// http.Response Body if it receives an error. -func (client ComputeNodeClient) ReimageSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ReimageResponder handles the response to the Reimage request. The method always -// closes the http.Response Body. -func (client ComputeNodeClient) ReimageResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByClosing()) - result.Response = resp - return -} - -// UpdateUser this operation replaces of all the updateable properties of the account. For example, if the expiryTime -// element is not specified, the current value is replaced with the default value, not left unmodified. You can update -// a user account on a node only when it is in the idle or running state. -// -// poolID is the ID of the pool that contains the compute node. nodeID is the ID of the machine on which you want -// to update a user account. userName is the name of the user account to update. nodeUpdateUserParameter is the -// parameters for the request. timeout is the maximum time that the server can spend processing the request, in -// seconds. The default is 30 seconds. clientRequestID is the caller-generated request identity, in the form of a -// GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID -// is whether the server should return the client-request-id in the response. ocpDate is the time the request was -// issued. If not specified, this header will be automatically populated with the current system clock time. -func (client ComputeNodeClient) UpdateUser(ctx context.Context, poolID string, nodeID string, userName string, nodeUpdateUserParameter NodeUpdateUserParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.UpdateUserPreparer(ctx, poolID, nodeID, userName, nodeUpdateUserParameter, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "UpdateUser", nil, "Failure preparing request") - return - } - - resp, err := client.UpdateUserSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "UpdateUser", resp, "Failure sending request") - return - } - - result, err = client.UpdateUserResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "UpdateUser", resp, "Failure responding to request") - } - - return -} - -// UpdateUserPreparer prepares the UpdateUser request. -func (client ComputeNodeClient) UpdateUserPreparer(ctx context.Context, poolID string, nodeID string, userName string, nodeUpdateUserParameter NodeUpdateUserParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "nodeId": autorest.Encode("path", nodeID), - "poolId": autorest.Encode("path", poolID), - "userName": autorest.Encode("path", userName), - } - - const APIVersion = "2016-07-01.3.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPut(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/nodes/{nodeId}/users/{userName}", pathParameters), - autorest.WithJSON(nodeUpdateUserParameter), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// UpdateUserSender sends the UpdateUser request. The method will close the -// http.Response Body if it receives an error. -func (client ComputeNodeClient) UpdateUserSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// UpdateUserResponder handles the response to the UpdateUser request. The method always -// closes the http.Response Body. -func (client ComputeNodeClient) UpdateUserResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} diff --git a/services/batch/2016-07-01.3.1/batch/file.go b/services/batch/2016-07-01.3.1/batch/file.go deleted file mode 100644 index c4e3094c8ca8..000000000000 --- a/services/batch/2016-07-01.3.1/batch/file.go +++ /dev/null @@ -1,935 +0,0 @@ -package batch - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/autorest/date" - "github.com/Azure/go-autorest/autorest/validation" - "net/http" -) - -// FileClient is the a client for issuing REST requests to the Azure Batch service. -type FileClient struct { - BaseClient -} - -// NewFileClient creates an instance of the FileClient client. -func NewFileClient() FileClient { - return NewFileClientWithBaseURI(DefaultBaseURI) -} - -// NewFileClientWithBaseURI creates an instance of the FileClient client. -func NewFileClientWithBaseURI(baseURI string) FileClient { - return FileClient{NewWithBaseURI(baseURI)} -} - -// DeleteFromComputeNode sends the delete from compute node request. -// -// poolID is the ID of the pool that contains the compute node. nodeID is the ID of the compute node from which you -// want to delete the file. fileName is the path to the file that you want to delete. recursive is whether to -// delete children of a directory. If the fileName parameter represents a directory instead of a file, you can set -// recursive to true to delete the directory and all of the files and subdirectories in it. If recursive is false -// then the directory must be empty or deletion will fail. timeout is the maximum time that the server can spend -// processing the request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated request -// identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. If not specified, this header -// will be automatically populated with the current system clock time. -func (client FileClient) DeleteFromComputeNode(ctx context.Context, poolID string, nodeID string, fileName string, recursive *bool, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.DeleteFromComputeNodePreparer(ctx, poolID, nodeID, fileName, recursive, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "DeleteFromComputeNode", nil, "Failure preparing request") - return - } - - resp, err := client.DeleteFromComputeNodeSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.FileClient", "DeleteFromComputeNode", resp, "Failure sending request") - return - } - - result, err = client.DeleteFromComputeNodeResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "DeleteFromComputeNode", resp, "Failure responding to request") - } - - return -} - -// DeleteFromComputeNodePreparer prepares the DeleteFromComputeNode request. -func (client FileClient) DeleteFromComputeNodePreparer(ctx context.Context, poolID string, nodeID string, fileName string, recursive *bool, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "fileName": autorest.Encode("path", fileName), - "nodeId": autorest.Encode("path", nodeID), - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2016-07-01.3.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if recursive != nil { - queryParameters["recursive"] = autorest.Encode("query", *recursive) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsDelete(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/nodes/{nodeId}/files/{fileName}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DeleteFromComputeNodeSender sends the DeleteFromComputeNode request. The method will close the -// http.Response Body if it receives an error. -func (client FileClient) DeleteFromComputeNodeSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// DeleteFromComputeNodeResponder handles the response to the DeleteFromComputeNode request. The method always -// closes the http.Response Body. -func (client FileClient) DeleteFromComputeNodeResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} - -// DeleteFromTask sends the delete from task request. -// -// jobID is the ID of the job that contains the task. taskID is the ID of the task whose file you want to delete. -// fileName is the path to the task file that you want to delete. recursive is whether to delete children of a -// directory. If the fileName parameter represents a directory instead of a file, you can set recursive to true to -// delete the directory and all of the files and subdirectories in it. If recursive is false then the directory -// must be empty or deletion will fail. timeout is the maximum time that the server can spend processing the -// request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated request identity, in the -// form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. -// returnClientRequestID is whether the server should return the client-request-id in the response. ocpDate is the -// time the request was issued. If not specified, this header will be automatically populated with the current -// system clock time. -func (client FileClient) DeleteFromTask(ctx context.Context, jobID string, taskID string, fileName string, recursive *bool, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.DeleteFromTaskPreparer(ctx, jobID, taskID, fileName, recursive, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "DeleteFromTask", nil, "Failure preparing request") - return - } - - resp, err := client.DeleteFromTaskSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.FileClient", "DeleteFromTask", resp, "Failure sending request") - return - } - - result, err = client.DeleteFromTaskResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "DeleteFromTask", resp, "Failure responding to request") - } - - return -} - -// DeleteFromTaskPreparer prepares the DeleteFromTask request. -func (client FileClient) DeleteFromTaskPreparer(ctx context.Context, jobID string, taskID string, fileName string, recursive *bool, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "fileName": autorest.Encode("path", fileName), - "jobId": autorest.Encode("path", jobID), - "taskId": autorest.Encode("path", taskID), - } - - const APIVersion = "2016-07-01.3.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if recursive != nil { - queryParameters["recursive"] = autorest.Encode("query", *recursive) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsDelete(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}/tasks/{taskId}/files/{fileName}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DeleteFromTaskSender sends the DeleteFromTask request. The method will close the -// http.Response Body if it receives an error. -func (client FileClient) DeleteFromTaskSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// DeleteFromTaskResponder handles the response to the DeleteFromTask request. The method always -// closes the http.Response Body. -func (client FileClient) DeleteFromTaskResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} - -// GetFromComputeNode returns the content of the specified task file. -// -// poolID is the ID of the pool that contains the compute node. nodeID is the ID of the compute node that contains -// the file. fileName is the path to the task file that you want to get the content of. timeout is the maximum time -// that the server can spend processing the request, in seconds. The default is 30 seconds. clientRequestID is the -// caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. If not specified, this header -// will be automatically populated with the current system clock time. ocpRange is the byte range to be retrieved. -// The default is to retrieve the entire file. The format is bytes=startRange-endRange. ifModifiedSince is specify -// this header to perform the operation only if the resource has been modified since the specified date/time. -// ifUnmodifiedSince is specify this header to perform the operation only if the resource has not been modified -// since the specified date/time. -func (client FileClient) GetFromComputeNode(ctx context.Context, poolID string, nodeID string, fileName string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ocpRange string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result ReadCloser, err error) { - req, err := client.GetFromComputeNodePreparer(ctx, poolID, nodeID, fileName, timeout, clientRequestID, returnClientRequestID, ocpDate, ocpRange, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "GetFromComputeNode", nil, "Failure preparing request") - return - } - - resp, err := client.GetFromComputeNodeSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.FileClient", "GetFromComputeNode", resp, "Failure sending request") - return - } - - result, err = client.GetFromComputeNodeResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "GetFromComputeNode", resp, "Failure responding to request") - } - - return -} - -// GetFromComputeNodePreparer prepares the GetFromComputeNode request. -func (client FileClient) GetFromComputeNodePreparer(ctx context.Context, poolID string, nodeID string, fileName string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ocpRange string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "fileName": autorest.Encode("path", fileName), - "nodeId": autorest.Encode("path", nodeID), - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2016-07-01.3.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/nodes/{nodeId}/files/{fileName}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ocpRange) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-range", autorest.String(ocpRange))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetFromComputeNodeSender sends the GetFromComputeNode request. The method will close the -// http.Response Body if it receives an error. -func (client FileClient) GetFromComputeNodeSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// GetFromComputeNodeResponder handles the response to the GetFromComputeNode request. The method always -// closes the http.Response Body. -func (client FileClient) GetFromComputeNodeResponder(resp *http.Response) (result ReadCloser, err error) { - result.Value = &resp.Body - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK)) - result.Response = autorest.Response{Response: resp} - return -} - -// GetFromTask returns the content of the specified task file. -// -// jobID is the ID of the job that contains the task. taskID is the ID of the task whose file you want to retrieve. -// fileName is the path to the task file that you want to get the content of. timeout is the maximum time that the -// server can spend processing the request, in seconds. The default is 30 seconds. clientRequestID is the -// caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. If not specified, this header -// will be automatically populated with the current system clock time. ocpRange is the byte range to be retrieved. -// The default is to retrieve the entire file. The format is bytes=startRange-endRange. ifModifiedSince is specify -// this header to perform the operation only if the resource has been modified since the specified date/time. -// ifUnmodifiedSince is specify this header to perform the operation only if the resource has not been modified -// since the specified date/time. -func (client FileClient) GetFromTask(ctx context.Context, jobID string, taskID string, fileName string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ocpRange string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result ReadCloser, err error) { - req, err := client.GetFromTaskPreparer(ctx, jobID, taskID, fileName, timeout, clientRequestID, returnClientRequestID, ocpDate, ocpRange, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "GetFromTask", nil, "Failure preparing request") - return - } - - resp, err := client.GetFromTaskSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.FileClient", "GetFromTask", resp, "Failure sending request") - return - } - - result, err = client.GetFromTaskResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "GetFromTask", resp, "Failure responding to request") - } - - return -} - -// GetFromTaskPreparer prepares the GetFromTask request. -func (client FileClient) GetFromTaskPreparer(ctx context.Context, jobID string, taskID string, fileName string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ocpRange string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "fileName": autorest.Encode("path", fileName), - "jobId": autorest.Encode("path", jobID), - "taskId": autorest.Encode("path", taskID), - } - - const APIVersion = "2016-07-01.3.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}/tasks/{taskId}/files/{fileName}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ocpRange) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-range", autorest.String(ocpRange))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetFromTaskSender sends the GetFromTask request. The method will close the -// http.Response Body if it receives an error. -func (client FileClient) GetFromTaskSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// GetFromTaskResponder handles the response to the GetFromTask request. The method always -// closes the http.Response Body. -func (client FileClient) GetFromTaskResponder(resp *http.Response) (result ReadCloser, err error) { - result.Value = &resp.Body - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK)) - result.Response = autorest.Response{Response: resp} - return -} - -// GetNodeFilePropertiesFromComputeNode gets the properties of the specified compute node file. -// -// poolID is the ID of the pool that contains the compute node. nodeID is the ID of the compute node that contains -// the file. fileName is the path to the compute node file that you want to get the properties of. timeout is the -// maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. -// clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such as curly -// braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. If not specified, this header -// will be automatically populated with the current system clock time. ifModifiedSince is specify this header to -// perform the operation only if the resource has been modified since the specified date/time. ifUnmodifiedSince is -// specify this header to perform the operation only if the resource has not been modified since the specified -// date/time. -func (client FileClient) GetNodeFilePropertiesFromComputeNode(ctx context.Context, poolID string, nodeID string, fileName string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.GetNodeFilePropertiesFromComputeNodePreparer(ctx, poolID, nodeID, fileName, timeout, clientRequestID, returnClientRequestID, ocpDate, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "GetNodeFilePropertiesFromComputeNode", nil, "Failure preparing request") - return - } - - resp, err := client.GetNodeFilePropertiesFromComputeNodeSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.FileClient", "GetNodeFilePropertiesFromComputeNode", resp, "Failure sending request") - return - } - - result, err = client.GetNodeFilePropertiesFromComputeNodeResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "GetNodeFilePropertiesFromComputeNode", resp, "Failure responding to request") - } - - return -} - -// GetNodeFilePropertiesFromComputeNodePreparer prepares the GetNodeFilePropertiesFromComputeNode request. -func (client FileClient) GetNodeFilePropertiesFromComputeNodePreparer(ctx context.Context, poolID string, nodeID string, fileName string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "fileName": autorest.Encode("path", fileName), - "nodeId": autorest.Encode("path", nodeID), - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2016-07-01.3.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsHead(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/nodes/{nodeId}/files/{fileName}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetNodeFilePropertiesFromComputeNodeSender sends the GetNodeFilePropertiesFromComputeNode request. The method will close the -// http.Response Body if it receives an error. -func (client FileClient) GetNodeFilePropertiesFromComputeNodeSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// GetNodeFilePropertiesFromComputeNodeResponder handles the response to the GetNodeFilePropertiesFromComputeNode request. The method always -// closes the http.Response Body. -func (client FileClient) GetNodeFilePropertiesFromComputeNodeResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} - -// GetNodeFilePropertiesFromTask gets the properties of the specified task file. -// -// jobID is the ID of the job that contains the task. taskID is the ID of the task whose file you want to get the -// properties of. fileName is the path to the task file that you want to get the properties of. timeout is the -// maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. -// clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such as curly -// braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. If not specified, this header -// will be automatically populated with the current system clock time. ifModifiedSince is specify this header to -// perform the operation only if the resource has been modified since the specified date/time. ifUnmodifiedSince is -// specify this header to perform the operation only if the resource has not been modified since the specified -// date/time. -func (client FileClient) GetNodeFilePropertiesFromTask(ctx context.Context, jobID string, taskID string, fileName string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.GetNodeFilePropertiesFromTaskPreparer(ctx, jobID, taskID, fileName, timeout, clientRequestID, returnClientRequestID, ocpDate, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "GetNodeFilePropertiesFromTask", nil, "Failure preparing request") - return - } - - resp, err := client.GetNodeFilePropertiesFromTaskSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.FileClient", "GetNodeFilePropertiesFromTask", resp, "Failure sending request") - return - } - - result, err = client.GetNodeFilePropertiesFromTaskResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "GetNodeFilePropertiesFromTask", resp, "Failure responding to request") - } - - return -} - -// GetNodeFilePropertiesFromTaskPreparer prepares the GetNodeFilePropertiesFromTask request. -func (client FileClient) GetNodeFilePropertiesFromTaskPreparer(ctx context.Context, jobID string, taskID string, fileName string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "fileName": autorest.Encode("path", fileName), - "jobId": autorest.Encode("path", jobID), - "taskId": autorest.Encode("path", taskID), - } - - const APIVersion = "2016-07-01.3.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsHead(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}/tasks/{taskId}/files/{fileName}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetNodeFilePropertiesFromTaskSender sends the GetNodeFilePropertiesFromTask request. The method will close the -// http.Response Body if it receives an error. -func (client FileClient) GetNodeFilePropertiesFromTaskSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// GetNodeFilePropertiesFromTaskResponder handles the response to the GetNodeFilePropertiesFromTask request. The method always -// closes the http.Response Body. -func (client FileClient) GetNodeFilePropertiesFromTaskResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} - -// ListFromComputeNode sends the list from compute node request. -// -// poolID is the ID of the pool that contains the compute node. nodeID is the ID of the compute node whose files -// you want to list. filter is an OData $filter clause. recursive is whether to list children of a directory. -// maxResults is the maximum number of items to return in the response. A maximum of 1000 files can be returned. -// timeout is the maximum time that the server can spend processing the request, in seconds. The default is 30 -// seconds. clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such -// as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should -// return the client-request-id in the response. ocpDate is the time the request was issued. If not specified, this -// header will be automatically populated with the current system clock time. -func (client FileClient) ListFromComputeNode(ctx context.Context, poolID string, nodeID string, filter string, recursive *bool, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result NodeFileListResultPage, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: maxResults, - Constraints: []validation.Constraint{{Target: "maxResults", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "maxResults", Name: validation.InclusiveMaximum, Rule: 1000, Chain: nil}, - {Target: "maxResults", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}, - }}}}}); err != nil { - return result, validation.NewError("batch.FileClient", "ListFromComputeNode", err.Error()) - } - - result.fn = client.listFromComputeNodeNextResults - req, err := client.ListFromComputeNodePreparer(ctx, poolID, nodeID, filter, recursive, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "ListFromComputeNode", nil, "Failure preparing request") - return - } - - resp, err := client.ListFromComputeNodeSender(req) - if err != nil { - result.nflr.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.FileClient", "ListFromComputeNode", resp, "Failure sending request") - return - } - - result.nflr, err = client.ListFromComputeNodeResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "ListFromComputeNode", resp, "Failure responding to request") - } - - return -} - -// ListFromComputeNodePreparer prepares the ListFromComputeNode request. -func (client FileClient) ListFromComputeNodePreparer(ctx context.Context, poolID string, nodeID string, filter string, recursive *bool, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "nodeId": autorest.Encode("path", nodeID), - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2016-07-01.3.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(filter) > 0 { - queryParameters["$filter"] = autorest.Encode("query", filter) - } - if recursive != nil { - queryParameters["recursive"] = autorest.Encode("query", *recursive) - } - if maxResults != nil { - queryParameters["maxresults"] = autorest.Encode("query", *maxResults) - } else { - queryParameters["maxresults"] = autorest.Encode("query", 1000) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/nodes/{nodeId}/files", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListFromComputeNodeSender sends the ListFromComputeNode request. The method will close the -// http.Response Body if it receives an error. -func (client FileClient) ListFromComputeNodeSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ListFromComputeNodeResponder handles the response to the ListFromComputeNode request. The method always -// closes the http.Response Body. -func (client FileClient) ListFromComputeNodeResponder(resp *http.Response) (result NodeFileListResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listFromComputeNodeNextResults retrieves the next set of results, if any. -func (client FileClient) listFromComputeNodeNextResults(lastResults NodeFileListResult) (result NodeFileListResult, err error) { - req, err := lastResults.nodeFileListResultPreparer() - if err != nil { - return result, autorest.NewErrorWithError(err, "batch.FileClient", "listFromComputeNodeNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListFromComputeNodeSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "batch.FileClient", "listFromComputeNodeNextResults", resp, "Failure sending next results request") - } - result, err = client.ListFromComputeNodeResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "listFromComputeNodeNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListFromComputeNodeComplete enumerates all values, automatically crossing page boundaries as required. -func (client FileClient) ListFromComputeNodeComplete(ctx context.Context, poolID string, nodeID string, filter string, recursive *bool, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result NodeFileListResultIterator, err error) { - result.page, err = client.ListFromComputeNode(ctx, poolID, nodeID, filter, recursive, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - return -} - -// ListFromTask sends the list from task request. -// -// jobID is the ID of the job that contains the task. taskID is the ID of the task whose files you want to list. -// filter is an OData $filter clause. recursive is whether to list children of a directory. This parameter can be -// used in combination with the filter parameter to list specific type of files. maxResults is the maximum number -// of items to return in the response. A maximum of 1000 files can be returned. timeout is the maximum time that -// the server can spend processing the request, in seconds. The default is 30 seconds. clientRequestID is the -// caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. If not specified, this header -// will be automatically populated with the current system clock time. -func (client FileClient) ListFromTask(ctx context.Context, jobID string, taskID string, filter string, recursive *bool, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result NodeFileListResultPage, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: maxResults, - Constraints: []validation.Constraint{{Target: "maxResults", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "maxResults", Name: validation.InclusiveMaximum, Rule: 1000, Chain: nil}, - {Target: "maxResults", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}, - }}}}}); err != nil { - return result, validation.NewError("batch.FileClient", "ListFromTask", err.Error()) - } - - result.fn = client.listFromTaskNextResults - req, err := client.ListFromTaskPreparer(ctx, jobID, taskID, filter, recursive, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "ListFromTask", nil, "Failure preparing request") - return - } - - resp, err := client.ListFromTaskSender(req) - if err != nil { - result.nflr.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.FileClient", "ListFromTask", resp, "Failure sending request") - return - } - - result.nflr, err = client.ListFromTaskResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "ListFromTask", resp, "Failure responding to request") - } - - return -} - -// ListFromTaskPreparer prepares the ListFromTask request. -func (client FileClient) ListFromTaskPreparer(ctx context.Context, jobID string, taskID string, filter string, recursive *bool, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - "taskId": autorest.Encode("path", taskID), - } - - const APIVersion = "2016-07-01.3.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(filter) > 0 { - queryParameters["$filter"] = autorest.Encode("query", filter) - } - if recursive != nil { - queryParameters["recursive"] = autorest.Encode("query", *recursive) - } - if maxResults != nil { - queryParameters["maxresults"] = autorest.Encode("query", *maxResults) - } else { - queryParameters["maxresults"] = autorest.Encode("query", 1000) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}/tasks/{taskId}/files", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListFromTaskSender sends the ListFromTask request. The method will close the -// http.Response Body if it receives an error. -func (client FileClient) ListFromTaskSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ListFromTaskResponder handles the response to the ListFromTask request. The method always -// closes the http.Response Body. -func (client FileClient) ListFromTaskResponder(resp *http.Response) (result NodeFileListResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listFromTaskNextResults retrieves the next set of results, if any. -func (client FileClient) listFromTaskNextResults(lastResults NodeFileListResult) (result NodeFileListResult, err error) { - req, err := lastResults.nodeFileListResultPreparer() - if err != nil { - return result, autorest.NewErrorWithError(err, "batch.FileClient", "listFromTaskNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListFromTaskSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "batch.FileClient", "listFromTaskNextResults", resp, "Failure sending next results request") - } - result, err = client.ListFromTaskResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "listFromTaskNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListFromTaskComplete enumerates all values, automatically crossing page boundaries as required. -func (client FileClient) ListFromTaskComplete(ctx context.Context, jobID string, taskID string, filter string, recursive *bool, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result NodeFileListResultIterator, err error) { - result.page, err = client.ListFromTask(ctx, jobID, taskID, filter, recursive, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - return -} diff --git a/services/batch/2016-07-01.3.1/batch/job.go b/services/batch/2016-07-01.3.1/batch/job.go deleted file mode 100644 index 2a1f5f5c3631..000000000000 --- a/services/batch/2016-07-01.3.1/batch/job.go +++ /dev/null @@ -1,1489 +0,0 @@ -package batch - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/autorest/date" - "github.com/Azure/go-autorest/autorest/validation" - "net/http" -) - -// JobClient is the a client for issuing REST requests to the Azure Batch service. -type JobClient struct { - BaseClient -} - -// NewJobClient creates an instance of the JobClient client. -func NewJobClient() JobClient { - return NewJobClientWithBaseURI(DefaultBaseURI) -} - -// NewJobClientWithBaseURI creates an instance of the JobClient client. -func NewJobClientWithBaseURI(baseURI string) JobClient { - return JobClient{NewWithBaseURI(baseURI)} -} - -// Add the Batch service supports two ways to control the work done as part of a job. In the first approach, the user -// specifies a Job Manager task. The Batch service launches this task when it is ready to start the job. The Job -// Manager task controls all other tasks that run under this job, by using the Task APIs. In the second approach, the -// user directly controls the execution of tasks under an active job, by using the Task APIs. Also note: when naming -// jobs, avoid including sensitive information such as user names or secret project names. This information may appear -// in telemetry logs accessible to Microsoft Support engineers. -// -// job is the job to be added. timeout is the maximum time that the server can spend processing the request, in -// seconds. The default is 30 seconds. clientRequestID is the caller-generated request identity, in the form of a -// GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID -// is whether the server should return the client-request-id in the response. ocpDate is the time the request was -// issued. If not specified, this header will be automatically populated with the current system clock time. -func (client JobClient) Add(ctx context.Context, job JobAddParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: job, - Constraints: []validation.Constraint{{Target: "job.ID", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "job.JobManagerTask", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "job.JobManagerTask.ID", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "job.JobManagerTask.CommandLine", Name: validation.Null, Rule: true, Chain: nil}, - }}, - {Target: "job.JobPreparationTask", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "job.JobPreparationTask.CommandLine", Name: validation.Null, Rule: true, Chain: nil}}}, - {Target: "job.JobReleaseTask", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "job.JobReleaseTask.CommandLine", Name: validation.Null, Rule: true, Chain: nil}}}, - {Target: "job.PoolInfo", Name: validation.Null, Rule: true, - Chain: []validation.Constraint{{Target: "job.PoolInfo.AutoPoolSpecification", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "job.PoolInfo.AutoPoolSpecification.Pool", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "job.PoolInfo.AutoPoolSpecification.Pool.VMSize", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "job.PoolInfo.AutoPoolSpecification.Pool.CloudServiceConfiguration", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "job.PoolInfo.AutoPoolSpecification.Pool.CloudServiceConfiguration.OsFamily", Name: validation.Null, Rule: true, Chain: nil}}}, - {Target: "job.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "job.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.ImageReference", Name: validation.Null, Rule: true, - Chain: []validation.Constraint{{Target: "job.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.ImageReference.Publisher", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "job.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.ImageReference.Offer", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "job.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.ImageReference.Sku", Name: validation.Null, Rule: true, Chain: nil}, - }}, - {Target: "job.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.NodeAgentSKUID", Name: validation.Null, Rule: true, Chain: nil}, - }}, - {Target: "job.PoolInfo.AutoPoolSpecification.Pool.StartTask", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "job.PoolInfo.AutoPoolSpecification.Pool.StartTask.CommandLine", Name: validation.Null, Rule: true, Chain: nil}}}, - }}, - }}, - }}}}}); err != nil { - return result, validation.NewError("batch.JobClient", "Add", err.Error()) - } - - req, err := client.AddPreparer(ctx, job, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "Add", nil, "Failure preparing request") - return - } - - resp, err := client.AddSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.JobClient", "Add", resp, "Failure sending request") - return - } - - result, err = client.AddResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "Add", resp, "Failure responding to request") - } - - return -} - -// AddPreparer prepares the Add request. -func (client JobClient) AddPreparer(ctx context.Context, job JobAddParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - const APIVersion = "2016-07-01.3.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPath("/jobs"), - autorest.WithJSON(job), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// AddSender sends the Add request. The method will close the -// http.Response Body if it receives an error. -func (client JobClient) AddSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// AddResponder handles the response to the Add request. The method always -// closes the http.Response Body. -func (client JobClient) AddResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), - autorest.ByClosing()) - result.Response = resp - return -} - -// Delete deleting a job also deletes all tasks that are part of that job, and all job statistics. This also overrides -// the retention period for task data; that is, if the job contains tasks which are still retained on compute nodes, -// the Batch services deletes those tasks' working directories and all their contents. -// -// jobID is the ID of the job to delete. timeout is the maximum time that the server can spend processing the -// request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated request identity, in the -// form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. -// returnClientRequestID is whether the server should return the client-request-id in the response. ocpDate is the -// time the request was issued. If not specified, this header will be automatically populated with the current -// system clock time. ifMatch is an ETag is specified. Specify this header to perform the operation only if the -// resource's ETag is an exact match as specified. ifNoneMatch is an ETag is specified. Specify this header to -// perform the operation only if the resource's ETag does not match the specified ETag. ifModifiedSince is specify -// this header to perform the operation only if the resource has been modified since the specified date/time. -// ifUnmodifiedSince is specify this header to perform the operation only if the resource has not been modified -// since the specified date/time. -func (client JobClient) Delete(ctx context.Context, jobID string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.DeletePreparer(ctx, jobID, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "Delete", nil, "Failure preparing request") - return - } - - resp, err := client.DeleteSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.JobClient", "Delete", resp, "Failure sending request") - return - } - - result, err = client.DeleteResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "Delete", resp, "Failure responding to request") - } - - return -} - -// DeletePreparer prepares the Delete request. -func (client JobClient) DeletePreparer(ctx context.Context, jobID string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - } - - const APIVersion = "2016-07-01.3.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsDelete(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DeleteSender sends the Delete request. The method will close the -// http.Response Body if it receives an error. -func (client JobClient) DeleteSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// DeleteResponder handles the response to the Delete request. The method always -// closes the http.Response Body. -func (client JobClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByClosing()) - result.Response = resp - return -} - -// Disable the Batch Service immediately moves the job to the disabling state. Batch then uses the disableTasks -// parameter to determine what to do with the currently running tasks of the job. The job remains in the disabling -// state until the disable operation is completed and all tasks have been dealt with according to the disableTasks -// option; the job then moves to the disabled state. No new tasks are started under the job until it moves back to -// active state. If you try to disable a job that is in any state other than active, disabling, or disabled, the -// request fails with status code 409. -// -// jobID is the ID of the job to disable. jobDisableParameter is the parameters for the request. timeout is the -// maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. -// clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such as curly -// braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. If not specified, this header -// will be automatically populated with the current system clock time. ifMatch is an ETag is specified. Specify -// this header to perform the operation only if the resource's ETag is an exact match as specified. ifNoneMatch is -// an ETag is specified. Specify this header to perform the operation only if the resource's ETag does not match -// the specified ETag. ifModifiedSince is specify this header to perform the operation only if the resource has -// been modified since the specified date/time. ifUnmodifiedSince is specify this header to perform the operation -// only if the resource has not been modified since the specified date/time. -func (client JobClient) Disable(ctx context.Context, jobID string, jobDisableParameter JobDisableParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.DisablePreparer(ctx, jobID, jobDisableParameter, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "Disable", nil, "Failure preparing request") - return - } - - resp, err := client.DisableSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.JobClient", "Disable", resp, "Failure sending request") - return - } - - result, err = client.DisableResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "Disable", resp, "Failure responding to request") - } - - return -} - -// DisablePreparer prepares the Disable request. -func (client JobClient) DisablePreparer(ctx context.Context, jobID string, jobDisableParameter JobDisableParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - } - - const APIVersion = "2016-07-01.3.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}/disable", pathParameters), - autorest.WithJSON(jobDisableParameter), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DisableSender sends the Disable request. The method will close the -// http.Response Body if it receives an error. -func (client JobClient) DisableSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// DisableResponder handles the response to the Disable request. The method always -// closes the http.Response Body. -func (client JobClient) DisableResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByClosing()) - result.Response = resp - return -} - -// Enable when you call this API, the Batch service sets a disabled job to the enabling state. After the this operation -// is completed, the job moves to the active state, and scheduling of new tasks under the job resumes. The Batch -// service does not allow a task to remain in the active state for more than 7 days. Therefore, if you enable a job -// containing active tasks which were added more than 7 days ago, those tasks will not run. -// -// jobID is the ID of the job to enable. timeout is the maximum time that the server can spend processing the -// request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated request identity, in the -// form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. -// returnClientRequestID is whether the server should return the client-request-id in the response. ocpDate is the -// time the request was issued. If not specified, this header will be automatically populated with the current -// system clock time. ifMatch is an ETag is specified. Specify this header to perform the operation only if the -// resource's ETag is an exact match as specified. ifNoneMatch is an ETag is specified. Specify this header to -// perform the operation only if the resource's ETag does not match the specified ETag. ifModifiedSince is specify -// this header to perform the operation only if the resource has been modified since the specified date/time. -// ifUnmodifiedSince is specify this header to perform the operation only if the resource has not been modified -// since the specified date/time. -func (client JobClient) Enable(ctx context.Context, jobID string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.EnablePreparer(ctx, jobID, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "Enable", nil, "Failure preparing request") - return - } - - resp, err := client.EnableSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.JobClient", "Enable", resp, "Failure sending request") - return - } - - result, err = client.EnableResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "Enable", resp, "Failure responding to request") - } - - return -} - -// EnablePreparer prepares the Enable request. -func (client JobClient) EnablePreparer(ctx context.Context, jobID string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - } - - const APIVersion = "2016-07-01.3.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}/enable", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// EnableSender sends the Enable request. The method will close the -// http.Response Body if it receives an error. -func (client JobClient) EnableSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// EnableResponder handles the response to the Enable request. The method always -// closes the http.Response Body. -func (client JobClient) EnableResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByClosing()) - result.Response = resp - return -} - -// Get sends the get request. -// -// jobID is the ID of the job. selectParameter is an OData $select clause. expand is an OData $expand clause. -// timeout is the maximum time that the server can spend processing the request, in seconds. The default is 30 -// seconds. clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such -// as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should -// return the client-request-id in the response. ocpDate is the time the request was issued. If not specified, this -// header will be automatically populated with the current system clock time. ifMatch is an ETag is specified. -// Specify this header to perform the operation only if the resource's ETag is an exact match as specified. -// ifNoneMatch is an ETag is specified. Specify this header to perform the operation only if the resource's ETag -// does not match the specified ETag. ifModifiedSince is specify this header to perform the operation only if the -// resource has been modified since the specified date/time. ifUnmodifiedSince is specify this header to perform -// the operation only if the resource has not been modified since the specified date/time. -func (client JobClient) Get(ctx context.Context, jobID string, selectParameter string, expand string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result CloudJob, err error) { - req, err := client.GetPreparer(ctx, jobID, selectParameter, expand, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "Get", nil, "Failure preparing request") - return - } - - resp, err := client.GetSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.JobClient", "Get", resp, "Failure sending request") - return - } - - result, err = client.GetResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "Get", resp, "Failure responding to request") - } - - return -} - -// GetPreparer prepares the Get request. -func (client JobClient) GetPreparer(ctx context.Context, jobID string, selectParameter string, expand string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - } - - const APIVersion = "2016-07-01.3.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(selectParameter) > 0 { - queryParameters["$select"] = autorest.Encode("query", selectParameter) - } - if len(expand) > 0 { - queryParameters["$expand"] = autorest.Encode("query", expand) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetSender sends the Get request. The method will close the -// http.Response Body if it receives an error. -func (client JobClient) GetSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// GetResponder handles the response to the Get request. The method always -// closes the http.Response Body. -func (client JobClient) GetResponder(resp *http.Response) (result CloudJob, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// GetAllJobsLifetimeStatistics statistics are aggregated across all jobs that have ever existed in the account, from -// account creation to the last update time of the statistics. -// -// timeout is the maximum time that the server can spend processing the request, in seconds. The default is 30 -// seconds. clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such -// as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should -// return the client-request-id in the response. ocpDate is the time the request was issued. If not specified, this -// header will be automatically populated with the current system clock time. -func (client JobClient) GetAllJobsLifetimeStatistics(ctx context.Context, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result JobStatistics, err error) { - req, err := client.GetAllJobsLifetimeStatisticsPreparer(ctx, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "GetAllJobsLifetimeStatistics", nil, "Failure preparing request") - return - } - - resp, err := client.GetAllJobsLifetimeStatisticsSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.JobClient", "GetAllJobsLifetimeStatistics", resp, "Failure sending request") - return - } - - result, err = client.GetAllJobsLifetimeStatisticsResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "GetAllJobsLifetimeStatistics", resp, "Failure responding to request") - } - - return -} - -// GetAllJobsLifetimeStatisticsPreparer prepares the GetAllJobsLifetimeStatistics request. -func (client JobClient) GetAllJobsLifetimeStatisticsPreparer(ctx context.Context, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - const APIVersion = "2016-07-01.3.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPath("/lifetimejobstats"), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetAllJobsLifetimeStatisticsSender sends the GetAllJobsLifetimeStatistics request. The method will close the -// http.Response Body if it receives an error. -func (client JobClient) GetAllJobsLifetimeStatisticsSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// GetAllJobsLifetimeStatisticsResponder handles the response to the GetAllJobsLifetimeStatistics request. The method always -// closes the http.Response Body. -func (client JobClient) GetAllJobsLifetimeStatisticsResponder(resp *http.Response) (result JobStatistics, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// List sends the list request. -// -// filter is an OData $filter clause. selectParameter is an OData $select clause. expand is an OData $expand -// clause. maxResults is the maximum number of items to return in the response. A maximum of 1000 jobs can be -// returned. timeout is the maximum time that the server can spend processing the request, in seconds. The default -// is 30 seconds. clientRequestID is the caller-generated request identity, in the form of a GUID with no -// decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the -// server should return the client-request-id in the response. ocpDate is the time the request was issued. If not -// specified, this header will be automatically populated with the current system clock time. -func (client JobClient) List(ctx context.Context, filter string, selectParameter string, expand string, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result CloudJobListResultPage, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: maxResults, - Constraints: []validation.Constraint{{Target: "maxResults", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "maxResults", Name: validation.InclusiveMaximum, Rule: 1000, Chain: nil}, - {Target: "maxResults", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}, - }}}}}); err != nil { - return result, validation.NewError("batch.JobClient", "List", err.Error()) - } - - result.fn = client.listNextResults - req, err := client.ListPreparer(ctx, filter, selectParameter, expand, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "List", nil, "Failure preparing request") - return - } - - resp, err := client.ListSender(req) - if err != nil { - result.cjlr.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.JobClient", "List", resp, "Failure sending request") - return - } - - result.cjlr, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "List", resp, "Failure responding to request") - } - - return -} - -// ListPreparer prepares the List request. -func (client JobClient) ListPreparer(ctx context.Context, filter string, selectParameter string, expand string, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - const APIVersion = "2016-07-01.3.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(filter) > 0 { - queryParameters["$filter"] = autorest.Encode("query", filter) - } - if len(selectParameter) > 0 { - queryParameters["$select"] = autorest.Encode("query", selectParameter) - } - if len(expand) > 0 { - queryParameters["$expand"] = autorest.Encode("query", expand) - } - if maxResults != nil { - queryParameters["maxresults"] = autorest.Encode("query", *maxResults) - } else { - queryParameters["maxresults"] = autorest.Encode("query", 1000) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPath("/jobs"), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListSender sends the List request. The method will close the -// http.Response Body if it receives an error. -func (client JobClient) ListSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ListResponder handles the response to the List request. The method always -// closes the http.Response Body. -func (client JobClient) ListResponder(resp *http.Response) (result CloudJobListResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listNextResults retrieves the next set of results, if any. -func (client JobClient) listNextResults(lastResults CloudJobListResult) (result CloudJobListResult, err error) { - req, err := lastResults.cloudJobListResultPreparer() - if err != nil { - return result, autorest.NewErrorWithError(err, "batch.JobClient", "listNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "batch.JobClient", "listNextResults", resp, "Failure sending next results request") - } - result, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "listNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListComplete enumerates all values, automatically crossing page boundaries as required. -func (client JobClient) ListComplete(ctx context.Context, filter string, selectParameter string, expand string, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result CloudJobListResultIterator, err error) { - result.page, err = client.List(ctx, filter, selectParameter, expand, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - return -} - -// ListFromJobSchedule sends the list from job schedule request. -// -// jobScheduleID is the ID of the job schedule from which you want to get a list of jobs. filter is an OData -// $filter clause. selectParameter is an OData $select clause. expand is an OData $expand clause. maxResults is the -// maximum number of items to return in the response. A maximum of 1000 jobs can be returned. timeout is the -// maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. -// clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such as curly -// braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. If not specified, this header -// will be automatically populated with the current system clock time. -func (client JobClient) ListFromJobSchedule(ctx context.Context, jobScheduleID string, filter string, selectParameter string, expand string, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result CloudJobListResultPage, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: maxResults, - Constraints: []validation.Constraint{{Target: "maxResults", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "maxResults", Name: validation.InclusiveMaximum, Rule: 1000, Chain: nil}, - {Target: "maxResults", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}, - }}}}}); err != nil { - return result, validation.NewError("batch.JobClient", "ListFromJobSchedule", err.Error()) - } - - result.fn = client.listFromJobScheduleNextResults - req, err := client.ListFromJobSchedulePreparer(ctx, jobScheduleID, filter, selectParameter, expand, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "ListFromJobSchedule", nil, "Failure preparing request") - return - } - - resp, err := client.ListFromJobScheduleSender(req) - if err != nil { - result.cjlr.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.JobClient", "ListFromJobSchedule", resp, "Failure sending request") - return - } - - result.cjlr, err = client.ListFromJobScheduleResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "ListFromJobSchedule", resp, "Failure responding to request") - } - - return -} - -// ListFromJobSchedulePreparer prepares the ListFromJobSchedule request. -func (client JobClient) ListFromJobSchedulePreparer(ctx context.Context, jobScheduleID string, filter string, selectParameter string, expand string, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobScheduleId": autorest.Encode("path", jobScheduleID), - } - - const APIVersion = "2016-07-01.3.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(filter) > 0 { - queryParameters["$filter"] = autorest.Encode("query", filter) - } - if len(selectParameter) > 0 { - queryParameters["$select"] = autorest.Encode("query", selectParameter) - } - if len(expand) > 0 { - queryParameters["$expand"] = autorest.Encode("query", expand) - } - if maxResults != nil { - queryParameters["maxresults"] = autorest.Encode("query", *maxResults) - } else { - queryParameters["maxresults"] = autorest.Encode("query", 1000) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobschedules/{jobScheduleId}/jobs", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListFromJobScheduleSender sends the ListFromJobSchedule request. The method will close the -// http.Response Body if it receives an error. -func (client JobClient) ListFromJobScheduleSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ListFromJobScheduleResponder handles the response to the ListFromJobSchedule request. The method always -// closes the http.Response Body. -func (client JobClient) ListFromJobScheduleResponder(resp *http.Response) (result CloudJobListResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listFromJobScheduleNextResults retrieves the next set of results, if any. -func (client JobClient) listFromJobScheduleNextResults(lastResults CloudJobListResult) (result CloudJobListResult, err error) { - req, err := lastResults.cloudJobListResultPreparer() - if err != nil { - return result, autorest.NewErrorWithError(err, "batch.JobClient", "listFromJobScheduleNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListFromJobScheduleSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "batch.JobClient", "listFromJobScheduleNextResults", resp, "Failure sending next results request") - } - result, err = client.ListFromJobScheduleResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "listFromJobScheduleNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListFromJobScheduleComplete enumerates all values, automatically crossing page boundaries as required. -func (client JobClient) ListFromJobScheduleComplete(ctx context.Context, jobScheduleID string, filter string, selectParameter string, expand string, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result CloudJobListResultIterator, err error) { - result.page, err = client.ListFromJobSchedule(ctx, jobScheduleID, filter, selectParameter, expand, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - return -} - -// ListPreparationAndReleaseTaskStatus this API returns the Job Preparation and Job Release task status on all compute -// nodes that have run the Job Preparation or Job Release task. This includes nodes which have since been removed from -// the pool. -// -// jobID is the ID of the job. filter is an OData $filter clause. selectParameter is an OData $select clause. -// maxResults is the maximum number of items to return in the response. A maximum of 1000 tasks can be returned. -// timeout is the maximum time that the server can spend processing the request, in seconds. The default is 30 -// seconds. clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such -// as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should -// return the client-request-id in the response. ocpDate is the time the request was issued. If not specified, this -// header will be automatically populated with the current system clock time. -func (client JobClient) ListPreparationAndReleaseTaskStatus(ctx context.Context, jobID string, filter string, selectParameter string, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result CloudJobListPreparationAndReleaseTaskStatusResultPage, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: maxResults, - Constraints: []validation.Constraint{{Target: "maxResults", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "maxResults", Name: validation.InclusiveMaximum, Rule: 1000, Chain: nil}, - {Target: "maxResults", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}, - }}}}}); err != nil { - return result, validation.NewError("batch.JobClient", "ListPreparationAndReleaseTaskStatus", err.Error()) - } - - result.fn = client.listPreparationAndReleaseTaskStatusNextResults - req, err := client.ListPreparationAndReleaseTaskStatusPreparer(ctx, jobID, filter, selectParameter, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "ListPreparationAndReleaseTaskStatus", nil, "Failure preparing request") - return - } - - resp, err := client.ListPreparationAndReleaseTaskStatusSender(req) - if err != nil { - result.cjlpartsr.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.JobClient", "ListPreparationAndReleaseTaskStatus", resp, "Failure sending request") - return - } - - result.cjlpartsr, err = client.ListPreparationAndReleaseTaskStatusResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "ListPreparationAndReleaseTaskStatus", resp, "Failure responding to request") - } - - return -} - -// ListPreparationAndReleaseTaskStatusPreparer prepares the ListPreparationAndReleaseTaskStatus request. -func (client JobClient) ListPreparationAndReleaseTaskStatusPreparer(ctx context.Context, jobID string, filter string, selectParameter string, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - } - - const APIVersion = "2016-07-01.3.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(filter) > 0 { - queryParameters["$filter"] = autorest.Encode("query", filter) - } - if len(selectParameter) > 0 { - queryParameters["$select"] = autorest.Encode("query", selectParameter) - } - if maxResults != nil { - queryParameters["maxresults"] = autorest.Encode("query", *maxResults) - } else { - queryParameters["maxresults"] = autorest.Encode("query", 1000) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}/jobpreparationandreleasetaskstatus", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListPreparationAndReleaseTaskStatusSender sends the ListPreparationAndReleaseTaskStatus request. The method will close the -// http.Response Body if it receives an error. -func (client JobClient) ListPreparationAndReleaseTaskStatusSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ListPreparationAndReleaseTaskStatusResponder handles the response to the ListPreparationAndReleaseTaskStatus request. The method always -// closes the http.Response Body. -func (client JobClient) ListPreparationAndReleaseTaskStatusResponder(resp *http.Response) (result CloudJobListPreparationAndReleaseTaskStatusResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listPreparationAndReleaseTaskStatusNextResults retrieves the next set of results, if any. -func (client JobClient) listPreparationAndReleaseTaskStatusNextResults(lastResults CloudJobListPreparationAndReleaseTaskStatusResult) (result CloudJobListPreparationAndReleaseTaskStatusResult, err error) { - req, err := lastResults.cloudJobListPreparationAndReleaseTaskStatusResultPreparer() - if err != nil { - return result, autorest.NewErrorWithError(err, "batch.JobClient", "listPreparationAndReleaseTaskStatusNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListPreparationAndReleaseTaskStatusSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "batch.JobClient", "listPreparationAndReleaseTaskStatusNextResults", resp, "Failure sending next results request") - } - result, err = client.ListPreparationAndReleaseTaskStatusResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "listPreparationAndReleaseTaskStatusNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListPreparationAndReleaseTaskStatusComplete enumerates all values, automatically crossing page boundaries as required. -func (client JobClient) ListPreparationAndReleaseTaskStatusComplete(ctx context.Context, jobID string, filter string, selectParameter string, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result CloudJobListPreparationAndReleaseTaskStatusResultIterator, err error) { - result.page, err = client.ListPreparationAndReleaseTaskStatus(ctx, jobID, filter, selectParameter, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - return -} - -// Patch this replaces only the job properties specified in the request. For example, if the job has constraints, and a -// request does not specify the constraints element, then the job keeps the existing constraints. -// -// jobID is the ID of the job whose properties you want to update. jobPatchParameter is the parameters for the -// request. timeout is the maximum time that the server can spend processing the request, in seconds. The default -// is 30 seconds. clientRequestID is the caller-generated request identity, in the form of a GUID with no -// decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the -// server should return the client-request-id in the response. ocpDate is the time the request was issued. If not -// specified, this header will be automatically populated with the current system clock time. ifMatch is an ETag is -// specified. Specify this header to perform the operation only if the resource's ETag is an exact match as -// specified. ifNoneMatch is an ETag is specified. Specify this header to perform the operation only if the -// resource's ETag does not match the specified ETag. ifModifiedSince is specify this header to perform the -// operation only if the resource has been modified since the specified date/time. ifUnmodifiedSince is specify -// this header to perform the operation only if the resource has not been modified since the specified date/time. -func (client JobClient) Patch(ctx context.Context, jobID string, jobPatchParameter JobPatchParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.PatchPreparer(ctx, jobID, jobPatchParameter, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "Patch", nil, "Failure preparing request") - return - } - - resp, err := client.PatchSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.JobClient", "Patch", resp, "Failure sending request") - return - } - - result, err = client.PatchResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "Patch", resp, "Failure responding to request") - } - - return -} - -// PatchPreparer prepares the Patch request. -func (client JobClient) PatchPreparer(ctx context.Context, jobID string, jobPatchParameter JobPatchParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - } - - const APIVersion = "2016-07-01.3.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPatch(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}", pathParameters), - autorest.WithJSON(jobPatchParameter), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// PatchSender sends the Patch request. The method will close the -// http.Response Body if it receives an error. -func (client JobClient) PatchSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// PatchResponder handles the response to the Patch request. The method always -// closes the http.Response Body. -func (client JobClient) PatchResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} - -// Terminate when a Terminate Job request is received, the Batch service sets the job to the terminating state. The -// Batch service then terminates any active or running tasks associated with the job, and runs any required Job Release -// tasks. The job then moves into the completed state. -// -// jobID is the ID of the job to terminate. jobTerminateParameter is the parameters for the request. timeout is the -// maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. -// clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such as curly -// braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. If not specified, this header -// will be automatically populated with the current system clock time. ifMatch is an ETag is specified. Specify -// this header to perform the operation only if the resource's ETag is an exact match as specified. ifNoneMatch is -// an ETag is specified. Specify this header to perform the operation only if the resource's ETag does not match -// the specified ETag. ifModifiedSince is specify this header to perform the operation only if the resource has -// been modified since the specified date/time. ifUnmodifiedSince is specify this header to perform the operation -// only if the resource has not been modified since the specified date/time. -func (client JobClient) Terminate(ctx context.Context, jobID string, jobTerminateParameter *JobTerminateParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.TerminatePreparer(ctx, jobID, jobTerminateParameter, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "Terminate", nil, "Failure preparing request") - return - } - - resp, err := client.TerminateSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.JobClient", "Terminate", resp, "Failure sending request") - return - } - - result, err = client.TerminateResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "Terminate", resp, "Failure responding to request") - } - - return -} - -// TerminatePreparer prepares the Terminate request. -func (client JobClient) TerminatePreparer(ctx context.Context, jobID string, jobTerminateParameter *JobTerminateParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - } - - const APIVersion = "2016-07-01.3.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}/terminate", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if jobTerminateParameter != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithJSON(jobTerminateParameter)) - } - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// TerminateSender sends the Terminate request. The method will close the -// http.Response Body if it receives an error. -func (client JobClient) TerminateSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// TerminateResponder handles the response to the Terminate request. The method always -// closes the http.Response Body. -func (client JobClient) TerminateResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByClosing()) - result.Response = resp - return -} - -// Update this fully replaces all the updateable properties of the job. For example, if the job has constraints -// associated with it and if constraints is not specified with this request, then the Batch service will remove the -// existing constraints. -// -// jobID is the ID of the job whose properties you want to update. jobUpdateParameter is the parameters for the -// request. timeout is the maximum time that the server can spend processing the request, in seconds. The default -// is 30 seconds. clientRequestID is the caller-generated request identity, in the form of a GUID with no -// decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the -// server should return the client-request-id in the response. ocpDate is the time the request was issued. If not -// specified, this header will be automatically populated with the current system clock time. ifMatch is an ETag is -// specified. Specify this header to perform the operation only if the resource's ETag is an exact match as -// specified. ifNoneMatch is an ETag is specified. Specify this header to perform the operation only if the -// resource's ETag does not match the specified ETag. ifModifiedSince is specify this header to perform the -// operation only if the resource has been modified since the specified date/time. ifUnmodifiedSince is specify -// this header to perform the operation only if the resource has not been modified since the specified date/time. -func (client JobClient) Update(ctx context.Context, jobID string, jobUpdateParameter JobUpdateParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: jobUpdateParameter, - Constraints: []validation.Constraint{{Target: "jobUpdateParameter.PoolInfo", Name: validation.Null, Rule: true, - Chain: []validation.Constraint{{Target: "jobUpdateParameter.PoolInfo.AutoPoolSpecification", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "jobUpdateParameter.PoolInfo.AutoPoolSpecification.Pool", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "jobUpdateParameter.PoolInfo.AutoPoolSpecification.Pool.VMSize", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "jobUpdateParameter.PoolInfo.AutoPoolSpecification.Pool.CloudServiceConfiguration", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "jobUpdateParameter.PoolInfo.AutoPoolSpecification.Pool.CloudServiceConfiguration.OsFamily", Name: validation.Null, Rule: true, Chain: nil}}}, - {Target: "jobUpdateParameter.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "jobUpdateParameter.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.ImageReference", Name: validation.Null, Rule: true, - Chain: []validation.Constraint{{Target: "jobUpdateParameter.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.ImageReference.Publisher", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "jobUpdateParameter.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.ImageReference.Offer", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "jobUpdateParameter.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.ImageReference.Sku", Name: validation.Null, Rule: true, Chain: nil}, - }}, - {Target: "jobUpdateParameter.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.NodeAgentSKUID", Name: validation.Null, Rule: true, Chain: nil}, - }}, - {Target: "jobUpdateParameter.PoolInfo.AutoPoolSpecification.Pool.StartTask", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "jobUpdateParameter.PoolInfo.AutoPoolSpecification.Pool.StartTask.CommandLine", Name: validation.Null, Rule: true, Chain: nil}}}, - }}, - }}, - }}}}}); err != nil { - return result, validation.NewError("batch.JobClient", "Update", err.Error()) - } - - req, err := client.UpdatePreparer(ctx, jobID, jobUpdateParameter, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "Update", nil, "Failure preparing request") - return - } - - resp, err := client.UpdateSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.JobClient", "Update", resp, "Failure sending request") - return - } - - result, err = client.UpdateResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "Update", resp, "Failure responding to request") - } - - return -} - -// UpdatePreparer prepares the Update request. -func (client JobClient) UpdatePreparer(ctx context.Context, jobID string, jobUpdateParameter JobUpdateParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - } - - const APIVersion = "2016-07-01.3.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPut(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}", pathParameters), - autorest.WithJSON(jobUpdateParameter), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// UpdateSender sends the Update request. The method will close the -// http.Response Body if it receives an error. -func (client JobClient) UpdateSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// UpdateResponder handles the response to the Update request. The method always -// closes the http.Response Body. -func (client JobClient) UpdateResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} diff --git a/services/batch/2016-07-01.3.1/batch/jobschedule.go b/services/batch/2016-07-01.3.1/batch/jobschedule.go deleted file mode 100644 index 11f64efc865e..000000000000 --- a/services/batch/2016-07-01.3.1/batch/jobschedule.go +++ /dev/null @@ -1,1228 +0,0 @@ -package batch - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/autorest/date" - "github.com/Azure/go-autorest/autorest/validation" - "net/http" -) - -// JobScheduleClient is the a client for issuing REST requests to the Azure Batch service. -type JobScheduleClient struct { - BaseClient -} - -// NewJobScheduleClient creates an instance of the JobScheduleClient client. -func NewJobScheduleClient() JobScheduleClient { - return NewJobScheduleClientWithBaseURI(DefaultBaseURI) -} - -// NewJobScheduleClientWithBaseURI creates an instance of the JobScheduleClient client. -func NewJobScheduleClientWithBaseURI(baseURI string) JobScheduleClient { - return JobScheduleClient{NewWithBaseURI(baseURI)} -} - -// Add sends the add request. -// -// cloudJobSchedule is the job schedule to be added. timeout is the maximum time that the server can spend -// processing the request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated request -// identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. If not specified, this header -// will be automatically populated with the current system clock time. -func (client JobScheduleClient) Add(ctx context.Context, cloudJobSchedule JobScheduleAddParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: cloudJobSchedule, - Constraints: []validation.Constraint{{Target: "cloudJobSchedule.ID", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "cloudJobSchedule.Schedule", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "cloudJobSchedule.JobSpecification", Name: validation.Null, Rule: true, - Chain: []validation.Constraint{{Target: "cloudJobSchedule.JobSpecification.JobManagerTask", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "cloudJobSchedule.JobSpecification.JobManagerTask.ID", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "cloudJobSchedule.JobSpecification.JobManagerTask.CommandLine", Name: validation.Null, Rule: true, Chain: nil}, - }}, - {Target: "cloudJobSchedule.JobSpecification.JobPreparationTask", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "cloudJobSchedule.JobSpecification.JobPreparationTask.CommandLine", Name: validation.Null, Rule: true, Chain: nil}}}, - {Target: "cloudJobSchedule.JobSpecification.JobReleaseTask", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "cloudJobSchedule.JobSpecification.JobReleaseTask.CommandLine", Name: validation.Null, Rule: true, Chain: nil}}}, - {Target: "cloudJobSchedule.JobSpecification.PoolInfo", Name: validation.Null, Rule: true, - Chain: []validation.Constraint{{Target: "cloudJobSchedule.JobSpecification.PoolInfo.AutoPoolSpecification", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "cloudJobSchedule.JobSpecification.PoolInfo.AutoPoolSpecification.Pool", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "cloudJobSchedule.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.VMSize", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "cloudJobSchedule.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.CloudServiceConfiguration", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "cloudJobSchedule.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.CloudServiceConfiguration.OsFamily", Name: validation.Null, Rule: true, Chain: nil}}}, - {Target: "cloudJobSchedule.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "cloudJobSchedule.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.ImageReference", Name: validation.Null, Rule: true, - Chain: []validation.Constraint{{Target: "cloudJobSchedule.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.ImageReference.Publisher", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "cloudJobSchedule.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.ImageReference.Offer", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "cloudJobSchedule.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.ImageReference.Sku", Name: validation.Null, Rule: true, Chain: nil}, - }}, - {Target: "cloudJobSchedule.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.NodeAgentSKUID", Name: validation.Null, Rule: true, Chain: nil}, - }}, - {Target: "cloudJobSchedule.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.StartTask", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "cloudJobSchedule.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.StartTask.CommandLine", Name: validation.Null, Rule: true, Chain: nil}}}, - }}, - }}, - }}, - }}}}}); err != nil { - return result, validation.NewError("batch.JobScheduleClient", "Add", err.Error()) - } - - req, err := client.AddPreparer(ctx, cloudJobSchedule, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Add", nil, "Failure preparing request") - return - } - - resp, err := client.AddSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Add", resp, "Failure sending request") - return - } - - result, err = client.AddResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Add", resp, "Failure responding to request") - } - - return -} - -// AddPreparer prepares the Add request. -func (client JobScheduleClient) AddPreparer(ctx context.Context, cloudJobSchedule JobScheduleAddParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - const APIVersion = "2016-07-01.3.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPath("/jobschedules"), - autorest.WithJSON(cloudJobSchedule), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// AddSender sends the Add request. The method will close the -// http.Response Body if it receives an error. -func (client JobScheduleClient) AddSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// AddResponder handles the response to the Add request. The method always -// closes the http.Response Body. -func (client JobScheduleClient) AddResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), - autorest.ByClosing()) - result.Response = resp - return -} - -// Delete when you delete a job schedule, this also deletes all jobs and tasks under that schedule. When tasks are -// deleted, all the files in their working directories on the compute nodes are also deleted (the retention period is -// ignored). The job schedule statistics are no longer accessible once the job schedule is deleted, though they are -// still counted towards account lifetime statistics. -// -// jobScheduleID is the ID of the job schedule to delete. timeout is the maximum time that the server can spend -// processing the request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated request -// identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. If not specified, this header -// will be automatically populated with the current system clock time. ifMatch is an ETag is specified. Specify -// this header to perform the operation only if the resource's ETag is an exact match as specified. ifNoneMatch is -// an ETag is specified. Specify this header to perform the operation only if the resource's ETag does not match -// the specified ETag. ifModifiedSince is specify this header to perform the operation only if the resource has -// been modified since the specified date/time. ifUnmodifiedSince is specify this header to perform the operation -// only if the resource has not been modified since the specified date/time. -func (client JobScheduleClient) Delete(ctx context.Context, jobScheduleID string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.DeletePreparer(ctx, jobScheduleID, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Delete", nil, "Failure preparing request") - return - } - - resp, err := client.DeleteSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Delete", resp, "Failure sending request") - return - } - - result, err = client.DeleteResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Delete", resp, "Failure responding to request") - } - - return -} - -// DeletePreparer prepares the Delete request. -func (client JobScheduleClient) DeletePreparer(ctx context.Context, jobScheduleID string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobScheduleId": autorest.Encode("path", jobScheduleID), - } - - const APIVersion = "2016-07-01.3.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsDelete(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobschedules/{jobScheduleId}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DeleteSender sends the Delete request. The method will close the -// http.Response Body if it receives an error. -func (client JobScheduleClient) DeleteSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// DeleteResponder handles the response to the Delete request. The method always -// closes the http.Response Body. -func (client JobScheduleClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByClosing()) - result.Response = resp - return -} - -// Disable no new jobs will be created until the job schedule is enabled again. -// -// jobScheduleID is the ID of the job schedule to disable. timeout is the maximum time that the server can spend -// processing the request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated request -// identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. If not specified, this header -// will be automatically populated with the current system clock time. ifMatch is an ETag is specified. Specify -// this header to perform the operation only if the resource's ETag is an exact match as specified. ifNoneMatch is -// an ETag is specified. Specify this header to perform the operation only if the resource's ETag does not match -// the specified ETag. ifModifiedSince is specify this header to perform the operation only if the resource has -// been modified since the specified date/time. ifUnmodifiedSince is specify this header to perform the operation -// only if the resource has not been modified since the specified date/time. -func (client JobScheduleClient) Disable(ctx context.Context, jobScheduleID string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.DisablePreparer(ctx, jobScheduleID, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Disable", nil, "Failure preparing request") - return - } - - resp, err := client.DisableSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Disable", resp, "Failure sending request") - return - } - - result, err = client.DisableResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Disable", resp, "Failure responding to request") - } - - return -} - -// DisablePreparer prepares the Disable request. -func (client JobScheduleClient) DisablePreparer(ctx context.Context, jobScheduleID string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobScheduleId": autorest.Encode("path", jobScheduleID), - } - - const APIVersion = "2016-07-01.3.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobschedules/{jobScheduleId}/disable", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DisableSender sends the Disable request. The method will close the -// http.Response Body if it receives an error. -func (client JobScheduleClient) DisableSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// DisableResponder handles the response to the Disable request. The method always -// closes the http.Response Body. -func (client JobScheduleClient) DisableResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), - autorest.ByClosing()) - result.Response = resp - return -} - -// Enable sends the enable request. -// -// jobScheduleID is the ID of the job schedule to enable. timeout is the maximum time that the server can spend -// processing the request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated request -// identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. If not specified, this header -// will be automatically populated with the current system clock time. ifMatch is an ETag is specified. Specify -// this header to perform the operation only if the resource's ETag is an exact match as specified. ifNoneMatch is -// an ETag is specified. Specify this header to perform the operation only if the resource's ETag does not match -// the specified ETag. ifModifiedSince is specify this header to perform the operation only if the resource has -// been modified since the specified date/time. ifUnmodifiedSince is specify this header to perform the operation -// only if the resource has not been modified since the specified date/time. -func (client JobScheduleClient) Enable(ctx context.Context, jobScheduleID string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.EnablePreparer(ctx, jobScheduleID, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Enable", nil, "Failure preparing request") - return - } - - resp, err := client.EnableSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Enable", resp, "Failure sending request") - return - } - - result, err = client.EnableResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Enable", resp, "Failure responding to request") - } - - return -} - -// EnablePreparer prepares the Enable request. -func (client JobScheduleClient) EnablePreparer(ctx context.Context, jobScheduleID string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobScheduleId": autorest.Encode("path", jobScheduleID), - } - - const APIVersion = "2016-07-01.3.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobschedules/{jobScheduleId}/enable", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// EnableSender sends the Enable request. The method will close the -// http.Response Body if it receives an error. -func (client JobScheduleClient) EnableSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// EnableResponder handles the response to the Enable request. The method always -// closes the http.Response Body. -func (client JobScheduleClient) EnableResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), - autorest.ByClosing()) - result.Response = resp - return -} - -// Exists sends the exists request. -// -// jobScheduleID is the ID of the job schedule which you want to check. timeout is the maximum time that the server -// can spend processing the request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated -// request identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. If not specified, this header -// will be automatically populated with the current system clock time. ifMatch is an ETag is specified. Specify -// this header to perform the operation only if the resource's ETag is an exact match as specified. ifNoneMatch is -// an ETag is specified. Specify this header to perform the operation only if the resource's ETag does not match -// the specified ETag. ifModifiedSince is specify this header to perform the operation only if the resource has -// been modified since the specified date/time. ifUnmodifiedSince is specify this header to perform the operation -// only if the resource has not been modified since the specified date/time. -func (client JobScheduleClient) Exists(ctx context.Context, jobScheduleID string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.ExistsPreparer(ctx, jobScheduleID, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Exists", nil, "Failure preparing request") - return - } - - resp, err := client.ExistsSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Exists", resp, "Failure sending request") - return - } - - result, err = client.ExistsResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Exists", resp, "Failure responding to request") - } - - return -} - -// ExistsPreparer prepares the Exists request. -func (client JobScheduleClient) ExistsPreparer(ctx context.Context, jobScheduleID string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobScheduleId": autorest.Encode("path", jobScheduleID), - } - - const APIVersion = "2016-07-01.3.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsHead(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobschedules/{jobScheduleId}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ExistsSender sends the Exists request. The method will close the -// http.Response Body if it receives an error. -func (client JobScheduleClient) ExistsSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ExistsResponder handles the response to the Exists request. The method always -// closes the http.Response Body. -func (client JobScheduleClient) ExistsResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), - autorest.ByClosing()) - result.Response = resp - return -} - -// Get gets information about the specified job schedule. -// -// jobScheduleID is the ID of the job schedule to get. selectParameter is an OData $select clause. expand is an -// OData $expand clause. timeout is the maximum time that the server can spend processing the request, in seconds. -// The default is 30 seconds. clientRequestID is the caller-generated request identity, in the form of a GUID with -// no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether -// the server should return the client-request-id in the response. ocpDate is the time the request was issued. If -// not specified, this header will be automatically populated with the current system clock time. ifMatch is an -// ETag is specified. Specify this header to perform the operation only if the resource's ETag is an exact match as -// specified. ifNoneMatch is an ETag is specified. Specify this header to perform the operation only if the -// resource's ETag does not match the specified ETag. ifModifiedSince is specify this header to perform the -// operation only if the resource has been modified since the specified date/time. ifUnmodifiedSince is specify -// this header to perform the operation only if the resource has not been modified since the specified date/time. -func (client JobScheduleClient) Get(ctx context.Context, jobScheduleID string, selectParameter string, expand string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result CloudJobSchedule, err error) { - req, err := client.GetPreparer(ctx, jobScheduleID, selectParameter, expand, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Get", nil, "Failure preparing request") - return - } - - resp, err := client.GetSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Get", resp, "Failure sending request") - return - } - - result, err = client.GetResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Get", resp, "Failure responding to request") - } - - return -} - -// GetPreparer prepares the Get request. -func (client JobScheduleClient) GetPreparer(ctx context.Context, jobScheduleID string, selectParameter string, expand string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobScheduleId": autorest.Encode("path", jobScheduleID), - } - - const APIVersion = "2016-07-01.3.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(selectParameter) > 0 { - queryParameters["$select"] = autorest.Encode("query", selectParameter) - } - if len(expand) > 0 { - queryParameters["$expand"] = autorest.Encode("query", expand) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobschedules/{jobScheduleId}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetSender sends the Get request. The method will close the -// http.Response Body if it receives an error. -func (client JobScheduleClient) GetSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// GetResponder handles the response to the Get request. The method always -// closes the http.Response Body. -func (client JobScheduleClient) GetResponder(resp *http.Response) (result CloudJobSchedule, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// List sends the list request. -// -// filter is an OData $filter clause. selectParameter is an OData $select clause. expand is an OData $expand -// clause. maxResults is the maximum number of items to return in the response. A maximum of 1000 job schedules can -// be returned. timeout is the maximum time that the server can spend processing the request, in seconds. The -// default is 30 seconds. clientRequestID is the caller-generated request identity, in the form of a GUID with no -// decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the -// server should return the client-request-id in the response. ocpDate is the time the request was issued. If not -// specified, this header will be automatically populated with the current system clock time. -func (client JobScheduleClient) List(ctx context.Context, filter string, selectParameter string, expand string, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result CloudJobScheduleListResultPage, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: maxResults, - Constraints: []validation.Constraint{{Target: "maxResults", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "maxResults", Name: validation.InclusiveMaximum, Rule: 1000, Chain: nil}, - {Target: "maxResults", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}, - }}}}}); err != nil { - return result, validation.NewError("batch.JobScheduleClient", "List", err.Error()) - } - - result.fn = client.listNextResults - req, err := client.ListPreparer(ctx, filter, selectParameter, expand, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "List", nil, "Failure preparing request") - return - } - - resp, err := client.ListSender(req) - if err != nil { - result.cjslr.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "List", resp, "Failure sending request") - return - } - - result.cjslr, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "List", resp, "Failure responding to request") - } - - return -} - -// ListPreparer prepares the List request. -func (client JobScheduleClient) ListPreparer(ctx context.Context, filter string, selectParameter string, expand string, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - const APIVersion = "2016-07-01.3.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(filter) > 0 { - queryParameters["$filter"] = autorest.Encode("query", filter) - } - if len(selectParameter) > 0 { - queryParameters["$select"] = autorest.Encode("query", selectParameter) - } - if len(expand) > 0 { - queryParameters["$expand"] = autorest.Encode("query", expand) - } - if maxResults != nil { - queryParameters["maxresults"] = autorest.Encode("query", *maxResults) - } else { - queryParameters["maxresults"] = autorest.Encode("query", 1000) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPath("/jobschedules"), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListSender sends the List request. The method will close the -// http.Response Body if it receives an error. -func (client JobScheduleClient) ListSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ListResponder handles the response to the List request. The method always -// closes the http.Response Body. -func (client JobScheduleClient) ListResponder(resp *http.Response) (result CloudJobScheduleListResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listNextResults retrieves the next set of results, if any. -func (client JobScheduleClient) listNextResults(lastResults CloudJobScheduleListResult) (result CloudJobScheduleListResult, err error) { - req, err := lastResults.cloudJobScheduleListResultPreparer() - if err != nil { - return result, autorest.NewErrorWithError(err, "batch.JobScheduleClient", "listNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "batch.JobScheduleClient", "listNextResults", resp, "Failure sending next results request") - } - result, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "listNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListComplete enumerates all values, automatically crossing page boundaries as required. -func (client JobScheduleClient) ListComplete(ctx context.Context, filter string, selectParameter string, expand string, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result CloudJobScheduleListResultIterator, err error) { - result.page, err = client.List(ctx, filter, selectParameter, expand, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - return -} - -// Patch this replaces only the job schedule properties specified in the request. For example, if the schedule property -// is not specified with this request, then the Batch service will keep the existing schedule. Changes to a job -// schedule only impact jobs created by the schedule after the update has taken place; currently running jobs are -// unaffected. -// -// jobScheduleID is the ID of the job schedule to update. jobSchedulePatchParameter is the parameters for the -// request. timeout is the maximum time that the server can spend processing the request, in seconds. The default -// is 30 seconds. clientRequestID is the caller-generated request identity, in the form of a GUID with no -// decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the -// server should return the client-request-id in the response. ocpDate is the time the request was issued. If not -// specified, this header will be automatically populated with the current system clock time. ifMatch is an ETag is -// specified. Specify this header to perform the operation only if the resource's ETag is an exact match as -// specified. ifNoneMatch is an ETag is specified. Specify this header to perform the operation only if the -// resource's ETag does not match the specified ETag. ifModifiedSince is specify this header to perform the -// operation only if the resource has been modified since the specified date/time. ifUnmodifiedSince is specify -// this header to perform the operation only if the resource has not been modified since the specified date/time. -func (client JobScheduleClient) Patch(ctx context.Context, jobScheduleID string, jobSchedulePatchParameter JobSchedulePatchParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.PatchPreparer(ctx, jobScheduleID, jobSchedulePatchParameter, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Patch", nil, "Failure preparing request") - return - } - - resp, err := client.PatchSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Patch", resp, "Failure sending request") - return - } - - result, err = client.PatchResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Patch", resp, "Failure responding to request") - } - - return -} - -// PatchPreparer prepares the Patch request. -func (client JobScheduleClient) PatchPreparer(ctx context.Context, jobScheduleID string, jobSchedulePatchParameter JobSchedulePatchParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobScheduleId": autorest.Encode("path", jobScheduleID), - } - - const APIVersion = "2016-07-01.3.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPatch(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobschedules/{jobScheduleId}", pathParameters), - autorest.WithJSON(jobSchedulePatchParameter), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// PatchSender sends the Patch request. The method will close the -// http.Response Body if it receives an error. -func (client JobScheduleClient) PatchSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// PatchResponder handles the response to the Patch request. The method always -// closes the http.Response Body. -func (client JobScheduleClient) PatchResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} - -// Terminate sends the terminate request. -// -// jobScheduleID is the ID of the job schedule to terminates. timeout is the maximum time that the server can spend -// processing the request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated request -// identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. If not specified, this header -// will be automatically populated with the current system clock time. ifMatch is an ETag is specified. Specify -// this header to perform the operation only if the resource's ETag is an exact match as specified. ifNoneMatch is -// an ETag is specified. Specify this header to perform the operation only if the resource's ETag does not match -// the specified ETag. ifModifiedSince is specify this header to perform the operation only if the resource has -// been modified since the specified date/time. ifUnmodifiedSince is specify this header to perform the operation -// only if the resource has not been modified since the specified date/time. -func (client JobScheduleClient) Terminate(ctx context.Context, jobScheduleID string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.TerminatePreparer(ctx, jobScheduleID, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Terminate", nil, "Failure preparing request") - return - } - - resp, err := client.TerminateSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Terminate", resp, "Failure sending request") - return - } - - result, err = client.TerminateResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Terminate", resp, "Failure responding to request") - } - - return -} - -// TerminatePreparer prepares the Terminate request. -func (client JobScheduleClient) TerminatePreparer(ctx context.Context, jobScheduleID string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobScheduleId": autorest.Encode("path", jobScheduleID), - } - - const APIVersion = "2016-07-01.3.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobschedules/{jobScheduleId}/terminate", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// TerminateSender sends the Terminate request. The method will close the -// http.Response Body if it receives an error. -func (client JobScheduleClient) TerminateSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// TerminateResponder handles the response to the Terminate request. The method always -// closes the http.Response Body. -func (client JobScheduleClient) TerminateResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByClosing()) - result.Response = resp - return -} - -// Update this fully replaces all the updateable properties of the job schedule. For example, if the schedule property -// is not specified with this request, then the Batch service will remove the existing schedule. Changes to a job -// schedule only impact jobs created by the schedule after the update has taken place; currently running jobs are -// unaffected. -// -// jobScheduleID is the ID of the job schedule to update. jobScheduleUpdateParameter is the parameters for the -// request. timeout is the maximum time that the server can spend processing the request, in seconds. The default -// is 30 seconds. clientRequestID is the caller-generated request identity, in the form of a GUID with no -// decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the -// server should return the client-request-id in the response. ocpDate is the time the request was issued. If not -// specified, this header will be automatically populated with the current system clock time. ifMatch is an ETag is -// specified. Specify this header to perform the operation only if the resource's ETag is an exact match as -// specified. ifNoneMatch is an ETag is specified. Specify this header to perform the operation only if the -// resource's ETag does not match the specified ETag. ifModifiedSince is specify this header to perform the -// operation only if the resource has been modified since the specified date/time. ifUnmodifiedSince is specify -// this header to perform the operation only if the resource has not been modified since the specified date/time. -func (client JobScheduleClient) Update(ctx context.Context, jobScheduleID string, jobScheduleUpdateParameter JobScheduleUpdateParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: jobScheduleUpdateParameter, - Constraints: []validation.Constraint{{Target: "jobScheduleUpdateParameter.Schedule", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "jobScheduleUpdateParameter.JobSpecification", Name: validation.Null, Rule: true, - Chain: []validation.Constraint{{Target: "jobScheduleUpdateParameter.JobSpecification.JobManagerTask", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "jobScheduleUpdateParameter.JobSpecification.JobManagerTask.ID", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "jobScheduleUpdateParameter.JobSpecification.JobManagerTask.CommandLine", Name: validation.Null, Rule: true, Chain: nil}, - }}, - {Target: "jobScheduleUpdateParameter.JobSpecification.JobPreparationTask", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "jobScheduleUpdateParameter.JobSpecification.JobPreparationTask.CommandLine", Name: validation.Null, Rule: true, Chain: nil}}}, - {Target: "jobScheduleUpdateParameter.JobSpecification.JobReleaseTask", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "jobScheduleUpdateParameter.JobSpecification.JobReleaseTask.CommandLine", Name: validation.Null, Rule: true, Chain: nil}}}, - {Target: "jobScheduleUpdateParameter.JobSpecification.PoolInfo", Name: validation.Null, Rule: true, - Chain: []validation.Constraint{{Target: "jobScheduleUpdateParameter.JobSpecification.PoolInfo.AutoPoolSpecification", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "jobScheduleUpdateParameter.JobSpecification.PoolInfo.AutoPoolSpecification.Pool", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "jobScheduleUpdateParameter.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.VMSize", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "jobScheduleUpdateParameter.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.CloudServiceConfiguration", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "jobScheduleUpdateParameter.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.CloudServiceConfiguration.OsFamily", Name: validation.Null, Rule: true, Chain: nil}}}, - {Target: "jobScheduleUpdateParameter.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "jobScheduleUpdateParameter.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.ImageReference", Name: validation.Null, Rule: true, - Chain: []validation.Constraint{{Target: "jobScheduleUpdateParameter.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.ImageReference.Publisher", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "jobScheduleUpdateParameter.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.ImageReference.Offer", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "jobScheduleUpdateParameter.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.ImageReference.Sku", Name: validation.Null, Rule: true, Chain: nil}, - }}, - {Target: "jobScheduleUpdateParameter.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.NodeAgentSKUID", Name: validation.Null, Rule: true, Chain: nil}, - }}, - {Target: "jobScheduleUpdateParameter.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.StartTask", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "jobScheduleUpdateParameter.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.StartTask.CommandLine", Name: validation.Null, Rule: true, Chain: nil}}}, - }}, - }}, - }}, - }}}}}); err != nil { - return result, validation.NewError("batch.JobScheduleClient", "Update", err.Error()) - } - - req, err := client.UpdatePreparer(ctx, jobScheduleID, jobScheduleUpdateParameter, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Update", nil, "Failure preparing request") - return - } - - resp, err := client.UpdateSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Update", resp, "Failure sending request") - return - } - - result, err = client.UpdateResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Update", resp, "Failure responding to request") - } - - return -} - -// UpdatePreparer prepares the Update request. -func (client JobScheduleClient) UpdatePreparer(ctx context.Context, jobScheduleID string, jobScheduleUpdateParameter JobScheduleUpdateParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobScheduleId": autorest.Encode("path", jobScheduleID), - } - - const APIVersion = "2016-07-01.3.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPut(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobschedules/{jobScheduleId}", pathParameters), - autorest.WithJSON(jobScheduleUpdateParameter), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// UpdateSender sends the Update request. The method will close the -// http.Response Body if it receives an error. -func (client JobScheduleClient) UpdateSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// UpdateResponder handles the response to the Update request. The method always -// closes the http.Response Body. -func (client JobScheduleClient) UpdateResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} diff --git a/services/batch/2016-07-01.3.1/batch/models.go b/services/batch/2016-07-01.3.1/batch/models.go deleted file mode 100644 index c7ca9252c86f..000000000000 --- a/services/batch/2016-07-01.3.1/batch/models.go +++ /dev/null @@ -1,2839 +0,0 @@ -package batch - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/date" - "github.com/Azure/go-autorest/autorest/to" - "io" - "net/http" -) - -// AllocationState enumerates the values for allocation state. -type AllocationState string - -const ( - // Resizing ... - Resizing AllocationState = "resizing" - // Steady ... - Steady AllocationState = "steady" - // Stopping ... - Stopping AllocationState = "stopping" -) - -// PossibleAllocationStateValues returns an array of possible values for the AllocationState const type. -func PossibleAllocationStateValues() []AllocationState { - return []AllocationState{Resizing, Steady, Stopping} -} - -// CertificateFormat enumerates the values for certificate format. -type CertificateFormat string - -const ( - // Cer ... - Cer CertificateFormat = "cer" - // Pfx ... - Pfx CertificateFormat = "pfx" - // Unmapped ... - Unmapped CertificateFormat = "unmapped" -) - -// PossibleCertificateFormatValues returns an array of possible values for the CertificateFormat const type. -func PossibleCertificateFormatValues() []CertificateFormat { - return []CertificateFormat{Cer, Pfx, Unmapped} -} - -// CertificateState enumerates the values for certificate state. -type CertificateState string - -const ( - // Active ... - Active CertificateState = "active" - // Deletefailed ... - Deletefailed CertificateState = "deletefailed" - // Deleting ... - Deleting CertificateState = "deleting" -) - -// PossibleCertificateStateValues returns an array of possible values for the CertificateState const type. -func PossibleCertificateStateValues() []CertificateState { - return []CertificateState{Active, Deletefailed, Deleting} -} - -// CertificateStoreLocation enumerates the values for certificate store location. -type CertificateStoreLocation string - -const ( - // CertificateStoreLocationCurrentuser ... - CertificateStoreLocationCurrentuser CertificateStoreLocation = "currentuser" - // CertificateStoreLocationLocalmachine ... - CertificateStoreLocationLocalmachine CertificateStoreLocation = "localmachine" - // CertificateStoreLocationUnmapped ... - CertificateStoreLocationUnmapped CertificateStoreLocation = "unmapped" -) - -// PossibleCertificateStoreLocationValues returns an array of possible values for the CertificateStoreLocation const type. -func PossibleCertificateStoreLocationValues() []CertificateStoreLocation { - return []CertificateStoreLocation{CertificateStoreLocationCurrentuser, CertificateStoreLocationLocalmachine, CertificateStoreLocationUnmapped} -} - -// CertificateVisibility enumerates the values for certificate visibility. -type CertificateVisibility string - -const ( - // CertificateVisibilityRemoteuser ... - CertificateVisibilityRemoteuser CertificateVisibility = "remoteuser" - // CertificateVisibilityStarttask ... - CertificateVisibilityStarttask CertificateVisibility = "starttask" - // CertificateVisibilityTask ... - CertificateVisibilityTask CertificateVisibility = "task" - // CertificateVisibilityUnmapped ... - CertificateVisibilityUnmapped CertificateVisibility = "unmapped" -) - -// PossibleCertificateVisibilityValues returns an array of possible values for the CertificateVisibility const type. -func PossibleCertificateVisibilityValues() []CertificateVisibility { - return []CertificateVisibility{CertificateVisibilityRemoteuser, CertificateVisibilityStarttask, CertificateVisibilityTask, CertificateVisibilityUnmapped} -} - -// ComputeNodeDeallocationOption enumerates the values for compute node deallocation option. -type ComputeNodeDeallocationOption string - -const ( - // Requeue ... - Requeue ComputeNodeDeallocationOption = "requeue" - // Retaineddata ... - Retaineddata ComputeNodeDeallocationOption = "retaineddata" - // Taskcompletion ... - Taskcompletion ComputeNodeDeallocationOption = "taskcompletion" - // Terminate ... - Terminate ComputeNodeDeallocationOption = "terminate" -) - -// PossibleComputeNodeDeallocationOptionValues returns an array of possible values for the ComputeNodeDeallocationOption const type. -func PossibleComputeNodeDeallocationOptionValues() []ComputeNodeDeallocationOption { - return []ComputeNodeDeallocationOption{Requeue, Retaineddata, Taskcompletion, Terminate} -} - -// ComputeNodeFillType enumerates the values for compute node fill type. -type ComputeNodeFillType string - -const ( - // ComputeNodeFillTypePack ... - ComputeNodeFillTypePack ComputeNodeFillType = "pack" - // ComputeNodeFillTypeSpread ... - ComputeNodeFillTypeSpread ComputeNodeFillType = "spread" - // ComputeNodeFillTypeUnmapped ... - ComputeNodeFillTypeUnmapped ComputeNodeFillType = "unmapped" -) - -// PossibleComputeNodeFillTypeValues returns an array of possible values for the ComputeNodeFillType const type. -func PossibleComputeNodeFillTypeValues() []ComputeNodeFillType { - return []ComputeNodeFillType{ComputeNodeFillTypePack, ComputeNodeFillTypeSpread, ComputeNodeFillTypeUnmapped} -} - -// ComputeNodeRebootOption enumerates the values for compute node reboot option. -type ComputeNodeRebootOption string - -const ( - // ComputeNodeRebootOptionRequeue ... - ComputeNodeRebootOptionRequeue ComputeNodeRebootOption = "requeue" - // ComputeNodeRebootOptionRetaineddata ... - ComputeNodeRebootOptionRetaineddata ComputeNodeRebootOption = "retaineddata" - // ComputeNodeRebootOptionTaskcompletion ... - ComputeNodeRebootOptionTaskcompletion ComputeNodeRebootOption = "taskcompletion" - // ComputeNodeRebootOptionTerminate ... - ComputeNodeRebootOptionTerminate ComputeNodeRebootOption = "terminate" -) - -// PossibleComputeNodeRebootOptionValues returns an array of possible values for the ComputeNodeRebootOption const type. -func PossibleComputeNodeRebootOptionValues() []ComputeNodeRebootOption { - return []ComputeNodeRebootOption{ComputeNodeRebootOptionRequeue, ComputeNodeRebootOptionRetaineddata, ComputeNodeRebootOptionTaskcompletion, ComputeNodeRebootOptionTerminate} -} - -// ComputeNodeReimageOption enumerates the values for compute node reimage option. -type ComputeNodeReimageOption string - -const ( - // ComputeNodeReimageOptionRequeue ... - ComputeNodeReimageOptionRequeue ComputeNodeReimageOption = "requeue" - // ComputeNodeReimageOptionRetaineddata ... - ComputeNodeReimageOptionRetaineddata ComputeNodeReimageOption = "retaineddata" - // ComputeNodeReimageOptionTaskcompletion ... - ComputeNodeReimageOptionTaskcompletion ComputeNodeReimageOption = "taskcompletion" - // ComputeNodeReimageOptionTerminate ... - ComputeNodeReimageOptionTerminate ComputeNodeReimageOption = "terminate" -) - -// PossibleComputeNodeReimageOptionValues returns an array of possible values for the ComputeNodeReimageOption const type. -func PossibleComputeNodeReimageOptionValues() []ComputeNodeReimageOption { - return []ComputeNodeReimageOption{ComputeNodeReimageOptionRequeue, ComputeNodeReimageOptionRetaineddata, ComputeNodeReimageOptionTaskcompletion, ComputeNodeReimageOptionTerminate} -} - -// ComputeNodeState enumerates the values for compute node state. -type ComputeNodeState string - -const ( - // Creating ... - Creating ComputeNodeState = "creating" - // Idle ... - Idle ComputeNodeState = "idle" - // Leavingpool ... - Leavingpool ComputeNodeState = "leavingpool" - // Offline ... - Offline ComputeNodeState = "offline" - // Rebooting ... - Rebooting ComputeNodeState = "rebooting" - // Reimaging ... - Reimaging ComputeNodeState = "reimaging" - // Running ... - Running ComputeNodeState = "running" - // Starting ... - Starting ComputeNodeState = "starting" - // Starttaskfailed ... - Starttaskfailed ComputeNodeState = "starttaskfailed" - // Unknown ... - Unknown ComputeNodeState = "unknown" - // Unusable ... - Unusable ComputeNodeState = "unusable" - // Waitingforstarttask ... - Waitingforstarttask ComputeNodeState = "waitingforstarttask" -) - -// PossibleComputeNodeStateValues returns an array of possible values for the ComputeNodeState const type. -func PossibleComputeNodeStateValues() []ComputeNodeState { - return []ComputeNodeState{Creating, Idle, Leavingpool, Offline, Rebooting, Reimaging, Running, Starting, Starttaskfailed, Unknown, Unusable, Waitingforstarttask} -} - -// DisableComputeNodeSchedulingOption enumerates the values for disable compute node scheduling option. -type DisableComputeNodeSchedulingOption string - -const ( - // DisableComputeNodeSchedulingOptionRequeue ... - DisableComputeNodeSchedulingOptionRequeue DisableComputeNodeSchedulingOption = "requeue" - // DisableComputeNodeSchedulingOptionTaskcompletion ... - DisableComputeNodeSchedulingOptionTaskcompletion DisableComputeNodeSchedulingOption = "taskcompletion" - // DisableComputeNodeSchedulingOptionTerminate ... - DisableComputeNodeSchedulingOptionTerminate DisableComputeNodeSchedulingOption = "terminate" -) - -// PossibleDisableComputeNodeSchedulingOptionValues returns an array of possible values for the DisableComputeNodeSchedulingOption const type. -func PossibleDisableComputeNodeSchedulingOptionValues() []DisableComputeNodeSchedulingOption { - return []DisableComputeNodeSchedulingOption{DisableComputeNodeSchedulingOptionRequeue, DisableComputeNodeSchedulingOptionTaskcompletion, DisableComputeNodeSchedulingOptionTerminate} -} - -// DisableJobOption enumerates the values for disable job option. -type DisableJobOption string - -const ( - // DisableJobOptionRequeue ... - DisableJobOptionRequeue DisableJobOption = "requeue" - // DisableJobOptionTerminate ... - DisableJobOptionTerminate DisableJobOption = "terminate" - // DisableJobOptionWait ... - DisableJobOptionWait DisableJobOption = "wait" -) - -// PossibleDisableJobOptionValues returns an array of possible values for the DisableJobOption const type. -func PossibleDisableJobOptionValues() []DisableJobOption { - return []DisableJobOption{DisableJobOptionRequeue, DisableJobOptionTerminate, DisableJobOptionWait} -} - -// JobAction enumerates the values for job action. -type JobAction string - -const ( - // JobActionDisable ... - JobActionDisable JobAction = "disable" - // JobActionNone ... - JobActionNone JobAction = "none" - // JobActionTerminate ... - JobActionTerminate JobAction = "terminate" -) - -// PossibleJobActionValues returns an array of possible values for the JobAction const type. -func PossibleJobActionValues() []JobAction { - return []JobAction{JobActionDisable, JobActionNone, JobActionTerminate} -} - -// JobPreparationTaskState enumerates the values for job preparation task state. -type JobPreparationTaskState string - -const ( - // JobPreparationTaskStateCompleted ... - JobPreparationTaskStateCompleted JobPreparationTaskState = "completed" - // JobPreparationTaskStateRunning ... - JobPreparationTaskStateRunning JobPreparationTaskState = "running" -) - -// PossibleJobPreparationTaskStateValues returns an array of possible values for the JobPreparationTaskState const type. -func PossibleJobPreparationTaskStateValues() []JobPreparationTaskState { - return []JobPreparationTaskState{JobPreparationTaskStateCompleted, JobPreparationTaskStateRunning} -} - -// JobReleaseTaskState enumerates the values for job release task state. -type JobReleaseTaskState string - -const ( - // JobReleaseTaskStateCompleted ... - JobReleaseTaskStateCompleted JobReleaseTaskState = "completed" - // JobReleaseTaskStateRunning ... - JobReleaseTaskStateRunning JobReleaseTaskState = "running" -) - -// PossibleJobReleaseTaskStateValues returns an array of possible values for the JobReleaseTaskState const type. -func PossibleJobReleaseTaskStateValues() []JobReleaseTaskState { - return []JobReleaseTaskState{JobReleaseTaskStateCompleted, JobReleaseTaskStateRunning} -} - -// JobScheduleState enumerates the values for job schedule state. -type JobScheduleState string - -const ( - // JobScheduleStateActive ... - JobScheduleStateActive JobScheduleState = "active" - // JobScheduleStateCompleted ... - JobScheduleStateCompleted JobScheduleState = "completed" - // JobScheduleStateDeleting ... - JobScheduleStateDeleting JobScheduleState = "deleting" - // JobScheduleStateDisabled ... - JobScheduleStateDisabled JobScheduleState = "disabled" - // JobScheduleStateTerminating ... - JobScheduleStateTerminating JobScheduleState = "terminating" -) - -// PossibleJobScheduleStateValues returns an array of possible values for the JobScheduleState const type. -func PossibleJobScheduleStateValues() []JobScheduleState { - return []JobScheduleState{JobScheduleStateActive, JobScheduleStateCompleted, JobScheduleStateDeleting, JobScheduleStateDisabled, JobScheduleStateTerminating} -} - -// JobState enumerates the values for job state. -type JobState string - -const ( - // JobStateActive ... - JobStateActive JobState = "active" - // JobStateCompleted ... - JobStateCompleted JobState = "completed" - // JobStateDeleting ... - JobStateDeleting JobState = "deleting" - // JobStateDisabled ... - JobStateDisabled JobState = "disabled" - // JobStateDisabling ... - JobStateDisabling JobState = "disabling" - // JobStateEnabling ... - JobStateEnabling JobState = "enabling" - // JobStateTerminating ... - JobStateTerminating JobState = "terminating" -) - -// PossibleJobStateValues returns an array of possible values for the JobState const type. -func PossibleJobStateValues() []JobState { - return []JobState{JobStateActive, JobStateCompleted, JobStateDeleting, JobStateDisabled, JobStateDisabling, JobStateEnabling, JobStateTerminating} -} - -// OnAllTasksComplete enumerates the values for on all tasks complete. -type OnAllTasksComplete string - -const ( - // NoAction ... - NoAction OnAllTasksComplete = "noAction" - // TerminateJob ... - TerminateJob OnAllTasksComplete = "terminateJob" -) - -// PossibleOnAllTasksCompleteValues returns an array of possible values for the OnAllTasksComplete const type. -func PossibleOnAllTasksCompleteValues() []OnAllTasksComplete { - return []OnAllTasksComplete{NoAction, TerminateJob} -} - -// OnTaskFailure enumerates the values for on task failure. -type OnTaskFailure string - -const ( - // OnTaskFailureNoAction ... - OnTaskFailureNoAction OnTaskFailure = "noAction" - // OnTaskFailurePerformExitOptionsJobAction ... - OnTaskFailurePerformExitOptionsJobAction OnTaskFailure = "performExitOptionsJobAction" -) - -// PossibleOnTaskFailureValues returns an array of possible values for the OnTaskFailure const type. -func PossibleOnTaskFailureValues() []OnTaskFailure { - return []OnTaskFailure{OnTaskFailureNoAction, OnTaskFailurePerformExitOptionsJobAction} -} - -// OSType enumerates the values for os type. -type OSType string - -const ( - // OSTypeLinux ... - OSTypeLinux OSType = "linux" - // OSTypeUnmapped ... - OSTypeUnmapped OSType = "unmapped" - // OSTypeWindows ... - OSTypeWindows OSType = "windows" -) - -// PossibleOSTypeValues returns an array of possible values for the OSType const type. -func PossibleOSTypeValues() []OSType { - return []OSType{OSTypeLinux, OSTypeUnmapped, OSTypeWindows} -} - -// PoolLifetimeOption enumerates the values for pool lifetime option. -type PoolLifetimeOption string - -const ( - // PoolLifetimeOptionJob ... - PoolLifetimeOptionJob PoolLifetimeOption = "job" - // PoolLifetimeOptionJobschedule ... - PoolLifetimeOptionJobschedule PoolLifetimeOption = "jobschedule" - // PoolLifetimeOptionUnmapped ... - PoolLifetimeOptionUnmapped PoolLifetimeOption = "unmapped" -) - -// PossiblePoolLifetimeOptionValues returns an array of possible values for the PoolLifetimeOption const type. -func PossiblePoolLifetimeOptionValues() []PoolLifetimeOption { - return []PoolLifetimeOption{PoolLifetimeOptionJob, PoolLifetimeOptionJobschedule, PoolLifetimeOptionUnmapped} -} - -// PoolState enumerates the values for pool state. -type PoolState string - -const ( - // PoolStateActive ... - PoolStateActive PoolState = "active" - // PoolStateDeleting ... - PoolStateDeleting PoolState = "deleting" - // PoolStateUpgrading ... - PoolStateUpgrading PoolState = "upgrading" -) - -// PossiblePoolStateValues returns an array of possible values for the PoolState const type. -func PossiblePoolStateValues() []PoolState { - return []PoolState{PoolStateActive, PoolStateDeleting, PoolStateUpgrading} -} - -// SchedulingErrorCategory enumerates the values for scheduling error category. -type SchedulingErrorCategory string - -const ( - // SchedulingErrorCategoryServererror ... - SchedulingErrorCategoryServererror SchedulingErrorCategory = "servererror" - // SchedulingErrorCategoryUnmapped ... - SchedulingErrorCategoryUnmapped SchedulingErrorCategory = "unmapped" - // SchedulingErrorCategoryUsererror ... - SchedulingErrorCategoryUsererror SchedulingErrorCategory = "usererror" -) - -// PossibleSchedulingErrorCategoryValues returns an array of possible values for the SchedulingErrorCategory const type. -func PossibleSchedulingErrorCategoryValues() []SchedulingErrorCategory { - return []SchedulingErrorCategory{SchedulingErrorCategoryServererror, SchedulingErrorCategoryUnmapped, SchedulingErrorCategoryUsererror} -} - -// SchedulingState enumerates the values for scheduling state. -type SchedulingState string - -const ( - // Disabled ... - Disabled SchedulingState = "disabled" - // Enabled ... - Enabled SchedulingState = "enabled" -) - -// PossibleSchedulingStateValues returns an array of possible values for the SchedulingState const type. -func PossibleSchedulingStateValues() []SchedulingState { - return []SchedulingState{Disabled, Enabled} -} - -// StartTaskState enumerates the values for start task state. -type StartTaskState string - -const ( - // StartTaskStateCompleted ... - StartTaskStateCompleted StartTaskState = "completed" - // StartTaskStateRunning ... - StartTaskStateRunning StartTaskState = "running" -) - -// PossibleStartTaskStateValues returns an array of possible values for the StartTaskState const type. -func PossibleStartTaskStateValues() []StartTaskState { - return []StartTaskState{StartTaskStateCompleted, StartTaskStateRunning} -} - -// TaskAddStatus enumerates the values for task add status. -type TaskAddStatus string - -const ( - // TaskAddStatusClienterror ... - TaskAddStatusClienterror TaskAddStatus = "clienterror" - // TaskAddStatusServererror ... - TaskAddStatusServererror TaskAddStatus = "servererror" - // TaskAddStatusSuccess ... - TaskAddStatusSuccess TaskAddStatus = "success" - // TaskAddStatusUnmapped ... - TaskAddStatusUnmapped TaskAddStatus = "unmapped" -) - -// PossibleTaskAddStatusValues returns an array of possible values for the TaskAddStatus const type. -func PossibleTaskAddStatusValues() []TaskAddStatus { - return []TaskAddStatus{TaskAddStatusClienterror, TaskAddStatusServererror, TaskAddStatusSuccess, TaskAddStatusUnmapped} -} - -// TaskState enumerates the values for task state. -type TaskState string - -const ( - // TaskStateActive ... - TaskStateActive TaskState = "active" - // TaskStateCompleted ... - TaskStateCompleted TaskState = "completed" - // TaskStatePreparing ... - TaskStatePreparing TaskState = "preparing" - // TaskStateRunning ... - TaskStateRunning TaskState = "running" -) - -// PossibleTaskStateValues returns an array of possible values for the TaskState const type. -func PossibleTaskStateValues() []TaskState { - return []TaskState{TaskStateActive, TaskStateCompleted, TaskStatePreparing, TaskStateRunning} -} - -// AccountListNodeAgentSkusResult ... -type AccountListNodeAgentSkusResult struct { - autorest.Response `json:"-"` - Value *[]NodeAgentSku `json:"value,omitempty"` - OdataNextLink *string `json:"odata.nextLink,omitempty"` -} - -// AccountListNodeAgentSkusResultIterator provides access to a complete listing of NodeAgentSku values. -type AccountListNodeAgentSkusResultIterator struct { - i int - page AccountListNodeAgentSkusResultPage -} - -// Next advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -func (iter *AccountListNodeAgentSkusResultIterator) Next() error { - iter.i++ - if iter.i < len(iter.page.Values()) { - return nil - } - err := iter.page.Next() - if err != nil { - iter.i-- - return err - } - iter.i = 0 - return nil -} - -// NotDone returns true if the enumeration should be started or is not yet complete. -func (iter AccountListNodeAgentSkusResultIterator) NotDone() bool { - return iter.page.NotDone() && iter.i < len(iter.page.Values()) -} - -// Response returns the raw server response from the last page request. -func (iter AccountListNodeAgentSkusResultIterator) Response() AccountListNodeAgentSkusResult { - return iter.page.Response() -} - -// Value returns the current value or a zero-initialized value if the -// iterator has advanced beyond the end of the collection. -func (iter AccountListNodeAgentSkusResultIterator) Value() NodeAgentSku { - if !iter.page.NotDone() { - return NodeAgentSku{} - } - return iter.page.Values()[iter.i] -} - -// IsEmpty returns true if the ListResult contains no values. -func (alnasr AccountListNodeAgentSkusResult) IsEmpty() bool { - return alnasr.Value == nil || len(*alnasr.Value) == 0 -} - -// accountListNodeAgentSkusResultPreparer prepares a request to retrieve the next set of results. -// It returns nil if no more results exist. -func (alnasr AccountListNodeAgentSkusResult) accountListNodeAgentSkusResultPreparer() (*http.Request, error) { - if alnasr.OdataNextLink == nil || len(to.String(alnasr.OdataNextLink)) < 1 { - return nil, nil - } - return autorest.Prepare(&http.Request{}, - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(alnasr.OdataNextLink))) -} - -// AccountListNodeAgentSkusResultPage contains a page of NodeAgentSku values. -type AccountListNodeAgentSkusResultPage struct { - fn func(AccountListNodeAgentSkusResult) (AccountListNodeAgentSkusResult, error) - alnasr AccountListNodeAgentSkusResult -} - -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -func (page *AccountListNodeAgentSkusResultPage) Next() error { - next, err := page.fn(page.alnasr) - if err != nil { - return err - } - page.alnasr = next - return nil -} - -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page AccountListNodeAgentSkusResultPage) NotDone() bool { - return !page.alnasr.IsEmpty() -} - -// Response returns the raw server response from the last page request. -func (page AccountListNodeAgentSkusResultPage) Response() AccountListNodeAgentSkusResult { - return page.alnasr -} - -// Values returns the slice of values for the current page or nil if there are no values. -func (page AccountListNodeAgentSkusResultPage) Values() []NodeAgentSku { - if page.alnasr.IsEmpty() { - return nil - } - return *page.alnasr.Value -} - -// AffinityInformation ... -type AffinityInformation struct { - // AffinityID - You can pass the affinityId of a compute node or task to indicate that this task needs to be placed close to the node or task. - AffinityID *string `json:"affinityId,omitempty"` -} - -// ApplicationListResult ... -type ApplicationListResult struct { - autorest.Response `json:"-"` - Value *[]ApplicationSummary `json:"value,omitempty"` - OdataNextLink *string `json:"odata.nextLink,omitempty"` -} - -// ApplicationListResultIterator provides access to a complete listing of ApplicationSummary values. -type ApplicationListResultIterator struct { - i int - page ApplicationListResultPage -} - -// Next advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -func (iter *ApplicationListResultIterator) Next() error { - iter.i++ - if iter.i < len(iter.page.Values()) { - return nil - } - err := iter.page.Next() - if err != nil { - iter.i-- - return err - } - iter.i = 0 - return nil -} - -// NotDone returns true if the enumeration should be started or is not yet complete. -func (iter ApplicationListResultIterator) NotDone() bool { - return iter.page.NotDone() && iter.i < len(iter.page.Values()) -} - -// Response returns the raw server response from the last page request. -func (iter ApplicationListResultIterator) Response() ApplicationListResult { - return iter.page.Response() -} - -// Value returns the current value or a zero-initialized value if the -// iterator has advanced beyond the end of the collection. -func (iter ApplicationListResultIterator) Value() ApplicationSummary { - if !iter.page.NotDone() { - return ApplicationSummary{} - } - return iter.page.Values()[iter.i] -} - -// IsEmpty returns true if the ListResult contains no values. -func (alr ApplicationListResult) IsEmpty() bool { - return alr.Value == nil || len(*alr.Value) == 0 -} - -// applicationListResultPreparer prepares a request to retrieve the next set of results. -// It returns nil if no more results exist. -func (alr ApplicationListResult) applicationListResultPreparer() (*http.Request, error) { - if alr.OdataNextLink == nil || len(to.String(alr.OdataNextLink)) < 1 { - return nil, nil - } - return autorest.Prepare(&http.Request{}, - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(alr.OdataNextLink))) -} - -// ApplicationListResultPage contains a page of ApplicationSummary values. -type ApplicationListResultPage struct { - fn func(ApplicationListResult) (ApplicationListResult, error) - alr ApplicationListResult -} - -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -func (page *ApplicationListResultPage) Next() error { - next, err := page.fn(page.alr) - if err != nil { - return err - } - page.alr = next - return nil -} - -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page ApplicationListResultPage) NotDone() bool { - return !page.alr.IsEmpty() -} - -// Response returns the raw server response from the last page request. -func (page ApplicationListResultPage) Response() ApplicationListResult { - return page.alr -} - -// Values returns the slice of values for the current page or nil if there are no values. -func (page ApplicationListResultPage) Values() []ApplicationSummary { - if page.alr.IsEmpty() { - return nil - } - return *page.alr.Value -} - -// ApplicationPackageReference ... -type ApplicationPackageReference struct { - ApplicationID *string `json:"applicationId,omitempty"` - // Version - If this is omitted, and no default version is specified for this application, the request fails with the error code InvalidApplicationPackageReferences. If you are calling the REST API directly, the HTTP status code is 409. - Version *string `json:"version,omitempty"` -} - -// ApplicationSummary ... -type ApplicationSummary struct { - autorest.Response `json:"-"` - ID *string `json:"id,omitempty"` - DisplayName *string `json:"displayName,omitempty"` - Versions *[]string `json:"versions,omitempty"` -} - -// AutoPoolSpecification ... -type AutoPoolSpecification struct { - // AutoPoolIDPrefix - The Batch service assigns each auto pool a unique identifier on creation. To distinguish between pools created for different purposes, you can specify this element to add a prefix to the id that is assigned. The prefix can be up to 20 characters long. - AutoPoolIDPrefix *string `json:"autoPoolIdPrefix,omitempty"` - // PoolLifetimeOption - When the pool lifetime scope is jobschedule level, the Batch service keeps track of the last autopool created for the jobschedule, and deletes that pool when the jobschedule completes. Batch will also delete this pool if the user updates the auto pool specification in a way that changes this lifetime. Possible values include: 'PoolLifetimeOptionJobschedule', 'PoolLifetimeOptionJob', 'PoolLifetimeOptionUnmapped' - PoolLifetimeOption PoolLifetimeOption `json:"poolLifetimeOption,omitempty"` - // KeepAlive - If false, the Batch service deletes the pool once its lifetime (as determined by the poolLifetimeOption setting) expires; that is, when the job or job schedule completes. If true, the Batch service does not delete the pool automatically. It is up to the user to delete auto pools created with this option. - KeepAlive *bool `json:"keepAlive,omitempty"` - Pool *PoolSpecification `json:"pool,omitempty"` -} - -// AutoScaleRun ... -type AutoScaleRun struct { - autorest.Response `json:"-"` - Timestamp *date.Time `json:"timestamp,omitempty"` - // Results - Each variable value is returned in the form $variable=value, and variables are separated by semicolons. - Results *string `json:"results,omitempty"` - Error *AutoScaleRunError `json:"error,omitempty"` -} - -// AutoScaleRunError ... -type AutoScaleRunError struct { - Code *string `json:"code,omitempty"` - Message *string `json:"message,omitempty"` - Values *[]NameValuePair `json:"values,omitempty"` -} - -// Certificate a certificate that can be installed on compute nodes and can be used to authenticate operations on -// the machine. -type Certificate struct { - autorest.Response `json:"-"` - Thumbprint *string `json:"thumbprint,omitempty"` - ThumbprintAlgorithm *string `json:"thumbprintAlgorithm,omitempty"` - URL *string `json:"url,omitempty"` - // State - Possible values include: 'Active', 'Deleting', 'Deletefailed' - State CertificateState `json:"state,omitempty"` - StateTransitionTime *date.Time `json:"stateTransitionTime,omitempty"` - // PreviousState - This property is not set if the certificate is in its initial Active state. Possible values include: 'Active', 'Deleting', 'Deletefailed' - PreviousState CertificateState `json:"previousState,omitempty"` - // PreviousStateTransitionTime - This property is not set if the certificate is in its initial Active state. - PreviousStateTransitionTime *date.Time `json:"previousStateTransitionTime,omitempty"` - PublicData *string `json:"publicData,omitempty"` - // DeleteCertificateError - This property is set only if the certificate is in the DeleteFailed state. - DeleteCertificateError *DeleteCertificateError `json:"deleteCertificateError,omitempty"` -} - -// CertificateAddParameter ... -type CertificateAddParameter struct { - Thumbprint *string `json:"thumbprint,omitempty"` - ThumbprintAlgorithm *string `json:"thumbprintAlgorithm,omitempty"` - Data *string `json:"data,omitempty"` - // CertificateFormat - Possible values include: 'Pfx', 'Cer', 'Unmapped' - CertificateFormat CertificateFormat `json:"certificateFormat,omitempty"` - // Password - This is required if the certificate format is pfx. It should be omitted if the certificate format is cer. - Password *string `json:"password,omitempty"` -} - -// CertificateListResult ... -type CertificateListResult struct { - autorest.Response `json:"-"` - Value *[]Certificate `json:"value,omitempty"` - OdataNextLink *string `json:"odata.nextLink,omitempty"` -} - -// CertificateListResultIterator provides access to a complete listing of Certificate values. -type CertificateListResultIterator struct { - i int - page CertificateListResultPage -} - -// Next advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -func (iter *CertificateListResultIterator) Next() error { - iter.i++ - if iter.i < len(iter.page.Values()) { - return nil - } - err := iter.page.Next() - if err != nil { - iter.i-- - return err - } - iter.i = 0 - return nil -} - -// NotDone returns true if the enumeration should be started or is not yet complete. -func (iter CertificateListResultIterator) NotDone() bool { - return iter.page.NotDone() && iter.i < len(iter.page.Values()) -} - -// Response returns the raw server response from the last page request. -func (iter CertificateListResultIterator) Response() CertificateListResult { - return iter.page.Response() -} - -// Value returns the current value or a zero-initialized value if the -// iterator has advanced beyond the end of the collection. -func (iter CertificateListResultIterator) Value() Certificate { - if !iter.page.NotDone() { - return Certificate{} - } - return iter.page.Values()[iter.i] -} - -// IsEmpty returns true if the ListResult contains no values. -func (clr CertificateListResult) IsEmpty() bool { - return clr.Value == nil || len(*clr.Value) == 0 -} - -// certificateListResultPreparer prepares a request to retrieve the next set of results. -// It returns nil if no more results exist. -func (clr CertificateListResult) certificateListResultPreparer() (*http.Request, error) { - if clr.OdataNextLink == nil || len(to.String(clr.OdataNextLink)) < 1 { - return nil, nil - } - return autorest.Prepare(&http.Request{}, - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(clr.OdataNextLink))) -} - -// CertificateListResultPage contains a page of Certificate values. -type CertificateListResultPage struct { - fn func(CertificateListResult) (CertificateListResult, error) - clr CertificateListResult -} - -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -func (page *CertificateListResultPage) Next() error { - next, err := page.fn(page.clr) - if err != nil { - return err - } - page.clr = next - return nil -} - -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page CertificateListResultPage) NotDone() bool { - return !page.clr.IsEmpty() -} - -// Response returns the raw server response from the last page request. -func (page CertificateListResultPage) Response() CertificateListResult { - return page.clr -} - -// Values returns the slice of values for the current page or nil if there are no values. -func (page CertificateListResultPage) Values() []Certificate { - if page.clr.IsEmpty() { - return nil - } - return *page.clr.Value -} - -// CertificateReference ... -type CertificateReference struct { - Thumbprint *string `json:"thumbprint,omitempty"` - ThumbprintAlgorithm *string `json:"thumbprintAlgorithm,omitempty"` - // StoreLocation - The default value is CurrentUser. This property is applicable only for pools configured with Windows nodes (that is, created with cloudServiceConfiguration, or with virtualMachineConfiguration using a Windows image reference). For Linux compute nodes, the certificates are stored in a directory inside the task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the task to query for this location. For certificates with visibility of remoteuser, a certs directory is created in the user's home directory (e.g., /home//certs) where certificates are placed. Possible values include: 'CertificateStoreLocationCurrentuser', 'CertificateStoreLocationLocalmachine', 'CertificateStoreLocationUnmapped' - StoreLocation CertificateStoreLocation `json:"storeLocation,omitempty"` - // StoreName - The default value is My. This property is applicable only for pools configured with Windows nodes (that is, created with cloudServiceConfiguration, or with virtualMachineConfiguration using a Windows image reference). - StoreName *string `json:"storeName,omitempty"` - // Visibility - The default is all accounts. - Visibility *[]CertificateVisibility `json:"visibility,omitempty"` -} - -// CloudJob ... -type CloudJob struct { - autorest.Response `json:"-"` - // ID - The ID can contain any combination of alphanumeric characters including hyphens and underscores, and cannot contain more than 64 characters. It is common to use a GUID for the id. - ID *string `json:"id,omitempty"` - DisplayName *string `json:"displayName,omitempty"` - UsesTaskDependencies *bool `json:"usesTaskDependencies,omitempty"` - URL *string `json:"url,omitempty"` - // ETag - This is an opaque string. You can use it to detect whether the job has changed between requests. In particular, you can be pass the ETag when updating a job to specify that your changes should take effect only if nobody else has modified the job in the meantime. - ETag *string `json:"eTag,omitempty"` - // LastModified - This is the last time at which the job level data, such as the job state or priority, changed. It does not factor in task-level changes such as adding new tasks or tasks changing state. - LastModified *date.Time `json:"lastModified,omitempty"` - CreationTime *date.Time `json:"creationTime,omitempty"` - // State - Possible values include: 'JobStateActive', 'JobStateDisabling', 'JobStateDisabled', 'JobStateEnabling', 'JobStateTerminating', 'JobStateCompleted', 'JobStateDeleting' - State JobState `json:"state,omitempty"` - StateTransitionTime *date.Time `json:"stateTransitionTime,omitempty"` - // PreviousState - This property is not set if the job is in its initial Active state. Possible values include: 'JobStateActive', 'JobStateDisabling', 'JobStateDisabled', 'JobStateEnabling', 'JobStateTerminating', 'JobStateCompleted', 'JobStateDeleting' - PreviousState JobState `json:"previousState,omitempty"` - // PreviousStateTransitionTime - This property is not set if the job is in its initial Active state. - PreviousStateTransitionTime *date.Time `json:"previousStateTransitionTime,omitempty"` - // Priority - Priority values can range from -1000 to 1000, with -1000 being the lowest priority and 1000 being the highest priority. The default value is 0. - Priority *int32 `json:"priority,omitempty"` - Constraints *JobConstraints `json:"constraints,omitempty"` - JobManagerTask *JobManagerTask `json:"jobManagerTask,omitempty"` - // JobPreparationTask - The Job Preparation task is a special task run on each node before any other task of the job. - JobPreparationTask *JobPreparationTask `json:"jobPreparationTask,omitempty"` - // JobReleaseTask - The Job Release task is a special task run at the end of the job on each node that has run any other task of the job. - JobReleaseTask *JobReleaseTask `json:"jobReleaseTask,omitempty"` - CommonEnvironmentSettings *[]EnvironmentSetting `json:"commonEnvironmentSettings,omitempty"` - PoolInfo *PoolInformation `json:"poolInfo,omitempty"` - // OnAllTasksComplete - Permitted values are: noaction – do nothing. The job remains active unless terminated or disabled by some other means. terminatejob – terminate the job. The job's terminateReason is set to 'AllTasksComplete'. The default is noaction. Possible values include: 'NoAction', 'TerminateJob' - OnAllTasksComplete OnAllTasksComplete `json:"onAllTasksComplete,omitempty"` - // OnTaskFailure - Permitted values are: noaction – do nothing. performexitoptionsjobaction – take the action associated with the task exit condition in the task's exitConditions collection. (This may still result in no action being taken, if that is what the task specifies.) The default is noaction. Possible values include: 'OnTaskFailureNoAction', 'OnTaskFailurePerformExitOptionsJobAction' - OnTaskFailure OnTaskFailure `json:"onTaskFailure,omitempty"` - // Metadata - The Batch service does not assign any meaning to metadata; it is solely for the use of user code. - Metadata *[]MetadataItem `json:"metadata,omitempty"` - ExecutionInfo *JobExecutionInformation `json:"executionInfo,omitempty"` - Stats *JobStatistics `json:"stats,omitempty"` -} - -// CloudJobListPreparationAndReleaseTaskStatusResult ... -type CloudJobListPreparationAndReleaseTaskStatusResult struct { - autorest.Response `json:"-"` - Value *[]JobPreparationAndReleaseTaskExecutionInformation `json:"value,omitempty"` - OdataNextLink *string `json:"odata.nextLink,omitempty"` -} - -// CloudJobListPreparationAndReleaseTaskStatusResultIterator provides access to a complete listing of -// JobPreparationAndReleaseTaskExecutionInformation values. -type CloudJobListPreparationAndReleaseTaskStatusResultIterator struct { - i int - page CloudJobListPreparationAndReleaseTaskStatusResultPage -} - -// Next advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -func (iter *CloudJobListPreparationAndReleaseTaskStatusResultIterator) Next() error { - iter.i++ - if iter.i < len(iter.page.Values()) { - return nil - } - err := iter.page.Next() - if err != nil { - iter.i-- - return err - } - iter.i = 0 - return nil -} - -// NotDone returns true if the enumeration should be started or is not yet complete. -func (iter CloudJobListPreparationAndReleaseTaskStatusResultIterator) NotDone() bool { - return iter.page.NotDone() && iter.i < len(iter.page.Values()) -} - -// Response returns the raw server response from the last page request. -func (iter CloudJobListPreparationAndReleaseTaskStatusResultIterator) Response() CloudJobListPreparationAndReleaseTaskStatusResult { - return iter.page.Response() -} - -// Value returns the current value or a zero-initialized value if the -// iterator has advanced beyond the end of the collection. -func (iter CloudJobListPreparationAndReleaseTaskStatusResultIterator) Value() JobPreparationAndReleaseTaskExecutionInformation { - if !iter.page.NotDone() { - return JobPreparationAndReleaseTaskExecutionInformation{} - } - return iter.page.Values()[iter.i] -} - -// IsEmpty returns true if the ListResult contains no values. -func (cjlpartsr CloudJobListPreparationAndReleaseTaskStatusResult) IsEmpty() bool { - return cjlpartsr.Value == nil || len(*cjlpartsr.Value) == 0 -} - -// cloudJobListPreparationAndReleaseTaskStatusResultPreparer prepares a request to retrieve the next set of results. -// It returns nil if no more results exist. -func (cjlpartsr CloudJobListPreparationAndReleaseTaskStatusResult) cloudJobListPreparationAndReleaseTaskStatusResultPreparer() (*http.Request, error) { - if cjlpartsr.OdataNextLink == nil || len(to.String(cjlpartsr.OdataNextLink)) < 1 { - return nil, nil - } - return autorest.Prepare(&http.Request{}, - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(cjlpartsr.OdataNextLink))) -} - -// CloudJobListPreparationAndReleaseTaskStatusResultPage contains a page of -// JobPreparationAndReleaseTaskExecutionInformation values. -type CloudJobListPreparationAndReleaseTaskStatusResultPage struct { - fn func(CloudJobListPreparationAndReleaseTaskStatusResult) (CloudJobListPreparationAndReleaseTaskStatusResult, error) - cjlpartsr CloudJobListPreparationAndReleaseTaskStatusResult -} - -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -func (page *CloudJobListPreparationAndReleaseTaskStatusResultPage) Next() error { - next, err := page.fn(page.cjlpartsr) - if err != nil { - return err - } - page.cjlpartsr = next - return nil -} - -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page CloudJobListPreparationAndReleaseTaskStatusResultPage) NotDone() bool { - return !page.cjlpartsr.IsEmpty() -} - -// Response returns the raw server response from the last page request. -func (page CloudJobListPreparationAndReleaseTaskStatusResultPage) Response() CloudJobListPreparationAndReleaseTaskStatusResult { - return page.cjlpartsr -} - -// Values returns the slice of values for the current page or nil if there are no values. -func (page CloudJobListPreparationAndReleaseTaskStatusResultPage) Values() []JobPreparationAndReleaseTaskExecutionInformation { - if page.cjlpartsr.IsEmpty() { - return nil - } - return *page.cjlpartsr.Value -} - -// CloudJobListResult ... -type CloudJobListResult struct { - autorest.Response `json:"-"` - Value *[]CloudJob `json:"value,omitempty"` - OdataNextLink *string `json:"odata.nextLink,omitempty"` -} - -// CloudJobListResultIterator provides access to a complete listing of CloudJob values. -type CloudJobListResultIterator struct { - i int - page CloudJobListResultPage -} - -// Next advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -func (iter *CloudJobListResultIterator) Next() error { - iter.i++ - if iter.i < len(iter.page.Values()) { - return nil - } - err := iter.page.Next() - if err != nil { - iter.i-- - return err - } - iter.i = 0 - return nil -} - -// NotDone returns true if the enumeration should be started or is not yet complete. -func (iter CloudJobListResultIterator) NotDone() bool { - return iter.page.NotDone() && iter.i < len(iter.page.Values()) -} - -// Response returns the raw server response from the last page request. -func (iter CloudJobListResultIterator) Response() CloudJobListResult { - return iter.page.Response() -} - -// Value returns the current value or a zero-initialized value if the -// iterator has advanced beyond the end of the collection. -func (iter CloudJobListResultIterator) Value() CloudJob { - if !iter.page.NotDone() { - return CloudJob{} - } - return iter.page.Values()[iter.i] -} - -// IsEmpty returns true if the ListResult contains no values. -func (cjlr CloudJobListResult) IsEmpty() bool { - return cjlr.Value == nil || len(*cjlr.Value) == 0 -} - -// cloudJobListResultPreparer prepares a request to retrieve the next set of results. -// It returns nil if no more results exist. -func (cjlr CloudJobListResult) cloudJobListResultPreparer() (*http.Request, error) { - if cjlr.OdataNextLink == nil || len(to.String(cjlr.OdataNextLink)) < 1 { - return nil, nil - } - return autorest.Prepare(&http.Request{}, - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(cjlr.OdataNextLink))) -} - -// CloudJobListResultPage contains a page of CloudJob values. -type CloudJobListResultPage struct { - fn func(CloudJobListResult) (CloudJobListResult, error) - cjlr CloudJobListResult -} - -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -func (page *CloudJobListResultPage) Next() error { - next, err := page.fn(page.cjlr) - if err != nil { - return err - } - page.cjlr = next - return nil -} - -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page CloudJobListResultPage) NotDone() bool { - return !page.cjlr.IsEmpty() -} - -// Response returns the raw server response from the last page request. -func (page CloudJobListResultPage) Response() CloudJobListResult { - return page.cjlr -} - -// Values returns the slice of values for the current page or nil if there are no values. -func (page CloudJobListResultPage) Values() []CloudJob { - if page.cjlr.IsEmpty() { - return nil - } - return *page.cjlr.Value -} - -// CloudJobSchedule ... -type CloudJobSchedule struct { - autorest.Response `json:"-"` - // ID - It is common to use a GUID for the id. - ID *string `json:"id,omitempty"` - DisplayName *string `json:"displayName,omitempty"` - URL *string `json:"url,omitempty"` - // ETag - This is an opaque string. You can use it to detect whether the job schedule has changed between requests. In particular, you can be pass the ETag with an Update Job Schedule request to specify that your changes should take effect only if nobody else has modified the schedule in the meantime. - ETag *string `json:"eTag,omitempty"` - // LastModified - This is the last time at which the schedule level data, such as the job specification or recurrence information, changed. It does not factor in job-level changes such as new jobs being created or jobs changing state. - LastModified *date.Time `json:"lastModified,omitempty"` - CreationTime *date.Time `json:"creationTime,omitempty"` - // State - Possible values include: 'JobScheduleStateActive', 'JobScheduleStateCompleted', 'JobScheduleStateDisabled', 'JobScheduleStateTerminating', 'JobScheduleStateDeleting' - State JobScheduleState `json:"state,omitempty"` - StateTransitionTime *date.Time `json:"stateTransitionTime,omitempty"` - // PreviousState - This property is not present if the job schedule is in its initial active state. Possible values include: 'JobScheduleStateActive', 'JobScheduleStateCompleted', 'JobScheduleStateDisabled', 'JobScheduleStateTerminating', 'JobScheduleStateDeleting' - PreviousState JobScheduleState `json:"previousState,omitempty"` - // PreviousStateTransitionTime - This property is not present if the job schedule is in its initial active state. - PreviousStateTransitionTime *date.Time `json:"previousStateTransitionTime,omitempty"` - Schedule *Schedule `json:"schedule,omitempty"` - JobSpecification *JobSpecification `json:"jobSpecification,omitempty"` - ExecutionInfo *JobScheduleExecutionInformation `json:"executionInfo,omitempty"` - // Metadata - The Batch service does not assign any meaning to metadata; it is solely for the use of user code. - Metadata *[]MetadataItem `json:"metadata,omitempty"` - Stats *JobScheduleStatistics `json:"stats,omitempty"` -} - -// CloudJobScheduleListResult ... -type CloudJobScheduleListResult struct { - autorest.Response `json:"-"` - Value *[]CloudJobSchedule `json:"value,omitempty"` - OdataNextLink *string `json:"odata.nextLink,omitempty"` -} - -// CloudJobScheduleListResultIterator provides access to a complete listing of CloudJobSchedule values. -type CloudJobScheduleListResultIterator struct { - i int - page CloudJobScheduleListResultPage -} - -// Next advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -func (iter *CloudJobScheduleListResultIterator) Next() error { - iter.i++ - if iter.i < len(iter.page.Values()) { - return nil - } - err := iter.page.Next() - if err != nil { - iter.i-- - return err - } - iter.i = 0 - return nil -} - -// NotDone returns true if the enumeration should be started or is not yet complete. -func (iter CloudJobScheduleListResultIterator) NotDone() bool { - return iter.page.NotDone() && iter.i < len(iter.page.Values()) -} - -// Response returns the raw server response from the last page request. -func (iter CloudJobScheduleListResultIterator) Response() CloudJobScheduleListResult { - return iter.page.Response() -} - -// Value returns the current value or a zero-initialized value if the -// iterator has advanced beyond the end of the collection. -func (iter CloudJobScheduleListResultIterator) Value() CloudJobSchedule { - if !iter.page.NotDone() { - return CloudJobSchedule{} - } - return iter.page.Values()[iter.i] -} - -// IsEmpty returns true if the ListResult contains no values. -func (cjslr CloudJobScheduleListResult) IsEmpty() bool { - return cjslr.Value == nil || len(*cjslr.Value) == 0 -} - -// cloudJobScheduleListResultPreparer prepares a request to retrieve the next set of results. -// It returns nil if no more results exist. -func (cjslr CloudJobScheduleListResult) cloudJobScheduleListResultPreparer() (*http.Request, error) { - if cjslr.OdataNextLink == nil || len(to.String(cjslr.OdataNextLink)) < 1 { - return nil, nil - } - return autorest.Prepare(&http.Request{}, - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(cjslr.OdataNextLink))) -} - -// CloudJobScheduleListResultPage contains a page of CloudJobSchedule values. -type CloudJobScheduleListResultPage struct { - fn func(CloudJobScheduleListResult) (CloudJobScheduleListResult, error) - cjslr CloudJobScheduleListResult -} - -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -func (page *CloudJobScheduleListResultPage) Next() error { - next, err := page.fn(page.cjslr) - if err != nil { - return err - } - page.cjslr = next - return nil -} - -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page CloudJobScheduleListResultPage) NotDone() bool { - return !page.cjslr.IsEmpty() -} - -// Response returns the raw server response from the last page request. -func (page CloudJobScheduleListResultPage) Response() CloudJobScheduleListResult { - return page.cjslr -} - -// Values returns the slice of values for the current page or nil if there are no values. -func (page CloudJobScheduleListResultPage) Values() []CloudJobSchedule { - if page.cjslr.IsEmpty() { - return nil - } - return *page.cjslr.Value -} - -// CloudPool ... -type CloudPool struct { - autorest.Response `json:"-"` - // ID - The ID can contain any combination of alphanumeric characters including hyphens and underscores, and cannot contain more than 64 characters. It is common to use a GUID for the id. - ID *string `json:"id,omitempty"` - // DisplayName - The display name need not be unique and can contain any Unicode characters up to a maximum length of 1024. - DisplayName *string `json:"displayName,omitempty"` - URL *string `json:"url,omitempty"` - // ETag - This is an opaque string. You can use it to detect whether the pool has changed between requests. In particular, you can be pass the ETag when updating a pool to specify that your changes should take effect only if nobody else has modified the pool in the meantime. - ETag *string `json:"eTag,omitempty"` - // LastModified - This is the last time at which the pool level data, such as the targetDedicated or enableAutoscale settings, changed. It does not factor in node-level changes such as a compute node changing state. - LastModified *date.Time `json:"lastModified,omitempty"` - CreationTime *date.Time `json:"creationTime,omitempty"` - // State - Possible values are: active – The pool is available to run tasks subject to the availability of compute nodes. deleting – The user has requested that the pool be deleted, but the delete operation has not yet completed. upgrading – The user has requested that the operating system of the pool's nodes be upgraded, but the upgrade operation has not yet completed (that is, some nodes in the pool have not yet been upgraded). While upgrading, the pool may be able to run tasks (with reduced capacity) but this is not guaranteed. Possible values include: 'PoolStateActive', 'PoolStateDeleting', 'PoolStateUpgrading' - State PoolState `json:"state,omitempty"` - StateTransitionTime *date.Time `json:"stateTransitionTime,omitempty"` - // AllocationState - Possible values are: steady – The pool is not resizing. There are no changes to the number of nodes in the pool in progress. A pool enters this state when it is created and when no operations are being performed on the pool to change the number of dedicated nodes. resizing - The pool is resizing; that is, compute nodes are being added to or removed from the pool. stopping - The pool was resizing, but the user has requested that the resize be stopped, but the stop request has not yet been completed. Possible values include: 'Steady', 'Resizing', 'Stopping' - AllocationState AllocationState `json:"allocationState,omitempty"` - AllocationStateTransitionTime *date.Time `json:"allocationStateTransitionTime,omitempty"` - // VMSize - For information about available sizes of virtual machines for Cloud Services pools (pools created with cloudServiceConfiguration), see Sizes for Cloud Services (http://azure.microsoft.com/documentation/articles/cloud-services-sizes-specs/). Batch supports all Cloud Services VM sizes except ExtraSmall. For information about available VM sizes for pools using images from the Virtual Machines Marketplace (pools created with virtualMachineConfiguration) see Sizes for Virtual Machines (Linux) (https://azure.microsoft.com/documentation/articles/virtual-machines-linux-sizes/) or Sizes for Virtual Machines (Windows) (https://azure.microsoft.com/documentation/articles/virtual-machines-windows-sizes/). Batch supports all Azure VM sizes except STANDARD_A0 and those with premium storage (STANDARD_GS, STANDARD_DS, and STANDARD_DSV2 series). - VMSize *string `json:"vmSize,omitempty"` - // CloudServiceConfiguration - This property and virtualMachineConfiguration are mutually exclusive and one of the properties must be specified. - CloudServiceConfiguration *CloudServiceConfiguration `json:"cloudServiceConfiguration,omitempty"` - // VirtualMachineConfiguration - This property and cloudServiceConfiguration are mutually exclusive and one of the properties must be specified. - VirtualMachineConfiguration *VirtualMachineConfiguration `json:"virtualMachineConfiguration,omitempty"` - // ResizeTimeout - This is the timeout for the most recent resize operation. (The initial sizing when the pool is created counts as a resize.) The default value is 15 minutes. - ResizeTimeout *string `json:"resizeTimeout,omitempty"` - // ResizeError - This property is set only if an error occurred during the last pool resize, and only when the pool allocationState is Steady. - ResizeError *ResizeError `json:"resizeError,omitempty"` - CurrentDedicated *int32 `json:"currentDedicated,omitempty"` - // TargetDedicated - This property is not set if enableAutoScale is true. It is required if enableAutoScale is false. - TargetDedicated *int32 `json:"targetDedicated,omitempty"` - // EnableAutoScale - If true, the autoScaleFormula property must be set. If false, the targetDedicated property must be set. - EnableAutoScale *bool `json:"enableAutoScale,omitempty"` - // AutoScaleFormula - This property is set only if the pool automatically scales, i.e. enableAutoScale is true. - AutoScaleFormula *string `json:"autoScaleFormula,omitempty"` - // AutoScaleEvaluationInterval - This property is set only if the pool automatically scales, i.e. enableAutoScale is true. - AutoScaleEvaluationInterval *string `json:"autoScaleEvaluationInterval,omitempty"` - // AutoScaleRun - This property is set only if the pool automatically scales, i.e. enableAutoScale is true. - AutoScaleRun *AutoScaleRun `json:"autoScaleRun,omitempty"` - // EnableInterNodeCommunication - This imposes restrictions on which nodes can be assigned to the pool. Specifying this value can reduce the chance of the requested number of nodes to be allocated in the pool. - EnableInterNodeCommunication *bool `json:"enableInterNodeCommunication,omitempty"` - NetworkConfiguration *NetworkConfiguration `json:"networkConfiguration,omitempty"` - StartTask *StartTask `json:"startTask,omitempty"` - // CertificateReferences - For Windows compute nodes, the Batch service installs the certificates to the specified certificate store and location. For Linux compute nodes, the certificates are stored in a directory inside the task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the task to query for this location. For certificates with visibility of remoteuser, a certs directory is created in the user's home directory (e.g., /home//certs) where certificates are placed. - CertificateReferences *[]CertificateReference `json:"certificateReferences,omitempty"` - ApplicationPackageReferences *[]ApplicationPackageReference `json:"applicationPackageReferences,omitempty"` - MaxTasksPerNode *int32 `json:"maxTasksPerNode,omitempty"` - TaskSchedulingPolicy *TaskSchedulingPolicy `json:"taskSchedulingPolicy,omitempty"` - Metadata *[]MetadataItem `json:"metadata,omitempty"` - Stats *PoolStatistics `json:"stats,omitempty"` -} - -// CloudPoolListResult ... -type CloudPoolListResult struct { - autorest.Response `json:"-"` - Value *[]CloudPool `json:"value,omitempty"` - OdataNextLink *string `json:"odata.nextLink,omitempty"` -} - -// CloudPoolListResultIterator provides access to a complete listing of CloudPool values. -type CloudPoolListResultIterator struct { - i int - page CloudPoolListResultPage -} - -// Next advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -func (iter *CloudPoolListResultIterator) Next() error { - iter.i++ - if iter.i < len(iter.page.Values()) { - return nil - } - err := iter.page.Next() - if err != nil { - iter.i-- - return err - } - iter.i = 0 - return nil -} - -// NotDone returns true if the enumeration should be started or is not yet complete. -func (iter CloudPoolListResultIterator) NotDone() bool { - return iter.page.NotDone() && iter.i < len(iter.page.Values()) -} - -// Response returns the raw server response from the last page request. -func (iter CloudPoolListResultIterator) Response() CloudPoolListResult { - return iter.page.Response() -} - -// Value returns the current value or a zero-initialized value if the -// iterator has advanced beyond the end of the collection. -func (iter CloudPoolListResultIterator) Value() CloudPool { - if !iter.page.NotDone() { - return CloudPool{} - } - return iter.page.Values()[iter.i] -} - -// IsEmpty returns true if the ListResult contains no values. -func (cplr CloudPoolListResult) IsEmpty() bool { - return cplr.Value == nil || len(*cplr.Value) == 0 -} - -// cloudPoolListResultPreparer prepares a request to retrieve the next set of results. -// It returns nil if no more results exist. -func (cplr CloudPoolListResult) cloudPoolListResultPreparer() (*http.Request, error) { - if cplr.OdataNextLink == nil || len(to.String(cplr.OdataNextLink)) < 1 { - return nil, nil - } - return autorest.Prepare(&http.Request{}, - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(cplr.OdataNextLink))) -} - -// CloudPoolListResultPage contains a page of CloudPool values. -type CloudPoolListResultPage struct { - fn func(CloudPoolListResult) (CloudPoolListResult, error) - cplr CloudPoolListResult -} - -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -func (page *CloudPoolListResultPage) Next() error { - next, err := page.fn(page.cplr) - if err != nil { - return err - } - page.cplr = next - return nil -} - -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page CloudPoolListResultPage) NotDone() bool { - return !page.cplr.IsEmpty() -} - -// Response returns the raw server response from the last page request. -func (page CloudPoolListResultPage) Response() CloudPoolListResult { - return page.cplr -} - -// Values returns the slice of values for the current page or nil if there are no values. -func (page CloudPoolListResultPage) Values() []CloudPool { - if page.cplr.IsEmpty() { - return nil - } - return *page.cplr.Value -} - -// CloudServiceConfiguration ... -type CloudServiceConfiguration struct { - // OsFamily - Possible values are: 2 – OS Family 2, equivalent to Windows Server 2008 R2 SP1. 3 – OS Family 3, equivalent to Windows Server 2012. 4 – OS Family 4, equivalent to Windows Server 2012 R2. For more information, see Azure Guest OS Releases (https://azure.microsoft.com/documentation/articles/cloud-services-guestos-update-matrix/#releases). - OsFamily *string `json:"osFamily,omitempty"` - // TargetOSVersion - The default value is * which specifies the latest operating system version for the specified OS family. - TargetOSVersion *string `json:"targetOSVersion,omitempty"` - // CurrentOSVersion - This may differ from targetOSVersion if the pool state is Upgrading. In this case some virtual machines may be on the targetOSVersion and some may be on the currentOSVersion during the upgrade process. Once all virtual machines have upgraded, currentOSVersion is updated to be the same as targetOSVersion. - CurrentOSVersion *string `json:"currentOSVersion,omitempty"` -} - -// CloudTask ... -type CloudTask struct { - autorest.Response `json:"-"` - // ID - The ID can contain any combination of alphanumeric characters including hyphens and underscores, and cannot contain more than 64 characters. - ID *string `json:"id,omitempty"` - // DisplayName - The display name need not be unique and can contain any Unicode characters up to a maximum length of 1024. - DisplayName *string `json:"displayName,omitempty"` - URL *string `json:"url,omitempty"` - // ETag - This is an opaque string. You can use it to detect whether the task has changed between requests. In particular, you can be pass the ETag when updating a task to specify that your changes should take effect only if nobody else has modified the task in the meantime. - ETag *string `json:"eTag,omitempty"` - LastModified *date.Time `json:"lastModified,omitempty"` - CreationTime *date.Time `json:"creationTime,omitempty"` - // ExitConditions - How the Batch service should respond when the task completes. - ExitConditions *ExitConditions `json:"exitConditions,omitempty"` - // State - Possible values include: 'TaskStateActive', 'TaskStatePreparing', 'TaskStateRunning', 'TaskStateCompleted' - State TaskState `json:"state,omitempty"` - StateTransitionTime *date.Time `json:"stateTransitionTime,omitempty"` - // PreviousState - This property is not set if the task is in its initial Active state. Possible values include: 'TaskStateActive', 'TaskStatePreparing', 'TaskStateRunning', 'TaskStateCompleted' - PreviousState TaskState `json:"previousState,omitempty"` - // PreviousStateTransitionTime - This property is not set if the task is in its initial Active state. - PreviousStateTransitionTime *date.Time `json:"previousStateTransitionTime,omitempty"` - // CommandLine - For multi-instance tasks, the command line is executed as the primary task, after the primary task and all subtasks have finished executing the coordination command line. The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example using "cmd /c MyCommand" in Windows or "/bin/sh -c MyCommand" in Linux. - CommandLine *string `json:"commandLine,omitempty"` - // ResourceFiles - For multi-instance tasks, the resource files will only be downloaded to the compute node on which the primary task is executed. - ResourceFiles *[]ResourceFile `json:"resourceFiles,omitempty"` - EnvironmentSettings *[]EnvironmentSetting `json:"environmentSettings,omitempty"` - AffinityInfo *AffinityInformation `json:"affinityInfo,omitempty"` - Constraints *TaskConstraints `json:"constraints,omitempty"` - RunElevated *bool `json:"runElevated,omitempty"` - ExecutionInfo *TaskExecutionInformation `json:"executionInfo,omitempty"` - NodeInfo *ComputeNodeInformation `json:"nodeInfo,omitempty"` - MultiInstanceSettings *MultiInstanceSettings `json:"multiInstanceSettings,omitempty"` - Stats *TaskStatistics `json:"stats,omitempty"` - // DependsOn - The task will not be scheduled until all depended-on tasks have completed successfully. (If any depended-on tasks fail and exhaust their retry counts, the task will never be scheduled.) - DependsOn *TaskDependencies `json:"dependsOn,omitempty"` - ApplicationPackageReferences *[]ApplicationPackageReference `json:"applicationPackageReferences,omitempty"` -} - -// CloudTaskListResult ... -type CloudTaskListResult struct { - autorest.Response `json:"-"` - Value *[]CloudTask `json:"value,omitempty"` - OdataNextLink *string `json:"odata.nextLink,omitempty"` -} - -// CloudTaskListResultIterator provides access to a complete listing of CloudTask values. -type CloudTaskListResultIterator struct { - i int - page CloudTaskListResultPage -} - -// Next advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -func (iter *CloudTaskListResultIterator) Next() error { - iter.i++ - if iter.i < len(iter.page.Values()) { - return nil - } - err := iter.page.Next() - if err != nil { - iter.i-- - return err - } - iter.i = 0 - return nil -} - -// NotDone returns true if the enumeration should be started or is not yet complete. -func (iter CloudTaskListResultIterator) NotDone() bool { - return iter.page.NotDone() && iter.i < len(iter.page.Values()) -} - -// Response returns the raw server response from the last page request. -func (iter CloudTaskListResultIterator) Response() CloudTaskListResult { - return iter.page.Response() -} - -// Value returns the current value or a zero-initialized value if the -// iterator has advanced beyond the end of the collection. -func (iter CloudTaskListResultIterator) Value() CloudTask { - if !iter.page.NotDone() { - return CloudTask{} - } - return iter.page.Values()[iter.i] -} - -// IsEmpty returns true if the ListResult contains no values. -func (ctlr CloudTaskListResult) IsEmpty() bool { - return ctlr.Value == nil || len(*ctlr.Value) == 0 -} - -// cloudTaskListResultPreparer prepares a request to retrieve the next set of results. -// It returns nil if no more results exist. -func (ctlr CloudTaskListResult) cloudTaskListResultPreparer() (*http.Request, error) { - if ctlr.OdataNextLink == nil || len(to.String(ctlr.OdataNextLink)) < 1 { - return nil, nil - } - return autorest.Prepare(&http.Request{}, - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(ctlr.OdataNextLink))) -} - -// CloudTaskListResultPage contains a page of CloudTask values. -type CloudTaskListResultPage struct { - fn func(CloudTaskListResult) (CloudTaskListResult, error) - ctlr CloudTaskListResult -} - -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -func (page *CloudTaskListResultPage) Next() error { - next, err := page.fn(page.ctlr) - if err != nil { - return err - } - page.ctlr = next - return nil -} - -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page CloudTaskListResultPage) NotDone() bool { - return !page.ctlr.IsEmpty() -} - -// Response returns the raw server response from the last page request. -func (page CloudTaskListResultPage) Response() CloudTaskListResult { - return page.ctlr -} - -// Values returns the slice of values for the current page or nil if there are no values. -func (page CloudTaskListResultPage) Values() []CloudTask { - if page.ctlr.IsEmpty() { - return nil - } - return *page.ctlr.Value -} - -// CloudTaskListSubtasksResult ... -type CloudTaskListSubtasksResult struct { - autorest.Response `json:"-"` - Value *[]SubtaskInformation `json:"value,omitempty"` -} - -// ComputeNode ... -type ComputeNode struct { - autorest.Response `json:"-"` - // ID - Every node that is added to a pool is assigned a unique ID. Whenever a node is removed from a pool, all of its local files are deleted, and the ID is reclaimed and could be reused for new nodes. - ID *string `json:"id,omitempty"` - URL *string `json:"url,omitempty"` - // State - Possible values include: 'Idle', 'Rebooting', 'Reimaging', 'Running', 'Unusable', 'Creating', 'Starting', 'Waitingforstarttask', 'Starttaskfailed', 'Unknown', 'Leavingpool', 'Offline' - State ComputeNodeState `json:"state,omitempty"` - // SchedulingState - Possible values are: enabled – Tasks can be scheduled on the node. disabled – No new tasks will be scheduled on the node. Tasks already running on the node may still run to completion. All nodes start with scheduling enabled. Possible values include: 'Enabled', 'Disabled' - SchedulingState SchedulingState `json:"schedulingState,omitempty"` - StateTransitionTime *date.Time `json:"stateTransitionTime,omitempty"` - // LastBootTime - This property may not be present if the node state is unusable. - LastBootTime *date.Time `json:"lastBootTime,omitempty"` - AllocationTime *date.Time `json:"allocationTime,omitempty"` - // IPAddress - Every node that is added to a pool is assigned a unique IP address. Whenever a node is removed from a pool, all of its local files are deleted, and the IP address is reclaimed and could be reused for new nodes. - IPAddress *string `json:"ipAddress,omitempty"` - AffinityID *string `json:"affinityId,omitempty"` - // VMSize - For information about available sizes of virtual machines for Cloud Services pools (pools created with cloudServiceConfiguration), see Sizes for Cloud Services (http://azure.microsoft.com/documentation/articles/cloud-services-sizes-specs/). Batch supports all Cloud Services VM sizes except ExtraSmall. For information about available VM sizes for pools using images from the Virtual Machines Marketplace (pools created with virtualMachineConfiguration) see Sizes for Virtual Machines (Linux) (https://azure.microsoft.com/documentation/articles/virtual-machines-linux-sizes/) or Sizes for Virtual Machines (Windows) (https://azure.microsoft.com/documentation/articles/virtual-machines-windows-sizes/). Batch supports all Azure VM sizes except STANDARD_A0 and those with premium storage (STANDARD_GS, STANDARD_DS, and STANDARD_DSV2 series). - VMSize *string `json:"vmSize,omitempty"` - TotalTasksRun *int32 `json:"totalTasksRun,omitempty"` - RunningTasksCount *int32 `json:"runningTasksCount,omitempty"` - TotalTasksSucceeded *int32 `json:"totalTasksSucceeded,omitempty"` - RecentTasks *[]TaskInformation `json:"recentTasks,omitempty"` - StartTask *StartTask `json:"startTask,omitempty"` - StartTaskInfo *StartTaskInformation `json:"startTaskInfo,omitempty"` - // CertificateReferences - For Windows compute nodes, the Batch service installs the certificates to the specified certificate store and location. For Linux compute nodes, the certificates are stored in a directory inside the task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the task to query for this location. For certificates with visibility of remoteuser, a certs directory is created in the user's home directory (e.g., /home//certs) where certificates are placed. - CertificateReferences *[]CertificateReference `json:"certificateReferences,omitempty"` - Errors *[]ComputeNodeError `json:"errors,omitempty"` -} - -// ComputeNodeError ... -type ComputeNodeError struct { - Code *string `json:"code,omitempty"` - Message *string `json:"message,omitempty"` - ErrorDetails *[]NameValuePair `json:"errorDetails,omitempty"` -} - -// ComputeNodeGetRemoteLoginSettingsResult ... -type ComputeNodeGetRemoteLoginSettingsResult struct { - autorest.Response `json:"-"` - RemoteLoginIPAddress *string `json:"remoteLoginIPAddress,omitempty"` - RemoteLoginPort *int32 `json:"remoteLoginPort,omitempty"` -} - -// ComputeNodeInformation ... -type ComputeNodeInformation struct { - AffinityID *string `json:"affinityId,omitempty"` - NodeURL *string `json:"nodeUrl,omitempty"` - PoolID *string `json:"poolId,omitempty"` - NodeID *string `json:"nodeId,omitempty"` - TaskRootDirectory *string `json:"taskRootDirectory,omitempty"` - TaskRootDirectoryURL *string `json:"taskRootDirectoryUrl,omitempty"` -} - -// ComputeNodeListResult ... -type ComputeNodeListResult struct { - autorest.Response `json:"-"` - Value *[]ComputeNode `json:"value,omitempty"` - OdataNextLink *string `json:"odata.nextLink,omitempty"` -} - -// ComputeNodeListResultIterator provides access to a complete listing of ComputeNode values. -type ComputeNodeListResultIterator struct { - i int - page ComputeNodeListResultPage -} - -// Next advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -func (iter *ComputeNodeListResultIterator) Next() error { - iter.i++ - if iter.i < len(iter.page.Values()) { - return nil - } - err := iter.page.Next() - if err != nil { - iter.i-- - return err - } - iter.i = 0 - return nil -} - -// NotDone returns true if the enumeration should be started or is not yet complete. -func (iter ComputeNodeListResultIterator) NotDone() bool { - return iter.page.NotDone() && iter.i < len(iter.page.Values()) -} - -// Response returns the raw server response from the last page request. -func (iter ComputeNodeListResultIterator) Response() ComputeNodeListResult { - return iter.page.Response() -} - -// Value returns the current value or a zero-initialized value if the -// iterator has advanced beyond the end of the collection. -func (iter ComputeNodeListResultIterator) Value() ComputeNode { - if !iter.page.NotDone() { - return ComputeNode{} - } - return iter.page.Values()[iter.i] -} - -// IsEmpty returns true if the ListResult contains no values. -func (cnlr ComputeNodeListResult) IsEmpty() bool { - return cnlr.Value == nil || len(*cnlr.Value) == 0 -} - -// computeNodeListResultPreparer prepares a request to retrieve the next set of results. -// It returns nil if no more results exist. -func (cnlr ComputeNodeListResult) computeNodeListResultPreparer() (*http.Request, error) { - if cnlr.OdataNextLink == nil || len(to.String(cnlr.OdataNextLink)) < 1 { - return nil, nil - } - return autorest.Prepare(&http.Request{}, - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(cnlr.OdataNextLink))) -} - -// ComputeNodeListResultPage contains a page of ComputeNode values. -type ComputeNodeListResultPage struct { - fn func(ComputeNodeListResult) (ComputeNodeListResult, error) - cnlr ComputeNodeListResult -} - -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -func (page *ComputeNodeListResultPage) Next() error { - next, err := page.fn(page.cnlr) - if err != nil { - return err - } - page.cnlr = next - return nil -} - -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page ComputeNodeListResultPage) NotDone() bool { - return !page.cnlr.IsEmpty() -} - -// Response returns the raw server response from the last page request. -func (page ComputeNodeListResultPage) Response() ComputeNodeListResult { - return page.cnlr -} - -// Values returns the slice of values for the current page or nil if there are no values. -func (page ComputeNodeListResultPage) Values() []ComputeNode { - if page.cnlr.IsEmpty() { - return nil - } - return *page.cnlr.Value -} - -// ComputeNodeUser ... -type ComputeNodeUser struct { - Name *string `json:"name,omitempty"` - // IsAdmin - The default value is false. - IsAdmin *bool `json:"isAdmin,omitempty"` - // ExpiryTime - If omitted, the default is 1 day from the current time. For Linux compute nodes, the expiryTime has a precision up to a day. - ExpiryTime *date.Time `json:"expiryTime,omitempty"` - // Password - The password is required for Windows nodes (those created with 'cloudServiceConfiguration', or created with 'virtualMachineConfiguration' using a Windows image reference). For Linux compute nodes, the password can optionally be specified along with the sshPublicKey property. - Password *string `json:"password,omitempty"` - // SSHPublicKey - The public key should be compatible with OpenSSH encoding and should be base 64 encoded. This property can be specified only for Linux nodes. If this is specified for a Windows node, then the Batch service rejects the request; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). - SSHPublicKey *string `json:"sshPublicKey,omitempty"` -} - -// DeleteCertificateError ... -type DeleteCertificateError struct { - Code *string `json:"code,omitempty"` - Message *string `json:"message,omitempty"` - // Values - This list includes details such as the active pools and nodes referencing this certificate. However, if a large number of resources reference the certificate, the list contains only about the first hundred. - Values *[]NameValuePair `json:"values,omitempty"` -} - -// EnvironmentSetting ... -type EnvironmentSetting struct { - Name *string `json:"name,omitempty"` - Value *string `json:"value,omitempty"` -} - -// Error ... -type Error struct { - Code *string `json:"code,omitempty"` - Message *ErrorMessage `json:"message,omitempty"` - Values *[]ErrorDetail `json:"values,omitempty"` -} - -// ErrorDetail ... -type ErrorDetail struct { - Key *string `json:"key,omitempty"` - Value *string `json:"value,omitempty"` -} - -// ErrorMessage ... -type ErrorMessage struct { - Lang *string `json:"lang,omitempty"` - Value *string `json:"value,omitempty"` -} - -// ExitCodeMapping ... -type ExitCodeMapping struct { - Code *int32 `json:"code,omitempty"` - ExitOptions *ExitOptions `json:"exitOptions,omitempty"` -} - -// ExitCodeRangeMapping ... -type ExitCodeRangeMapping struct { - Start *int32 `json:"start,omitempty"` - End *int32 `json:"end,omitempty"` - ExitOptions *ExitOptions `json:"exitOptions,omitempty"` -} - -// ExitConditions ... -type ExitConditions struct { - ExitCodes *[]ExitCodeMapping `json:"exitCodes,omitempty"` - ExitCodeRanges *[]ExitCodeRangeMapping `json:"exitCodeRanges,omitempty"` - SchedulingError *ExitOptions `json:"schedulingError,omitempty"` - // Default - Note that the default condition does not include exit code 0. If you want non-default behaviour on exit code 0, you must list it explicitly using the exitCodes or exitCodeRanges collection. - Default *ExitOptions `json:"default,omitempty"` -} - -// ExitOptions ... -type ExitOptions struct { - // JobAction - The default is none for exit code 0 and terminate for all other exit conditions. It is an error to specify this if the job's onTaskFailed is noaction. The add task request fails with an invalid property value error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). Possible values include: 'JobActionNone', 'JobActionDisable', 'JobActionTerminate' - JobAction JobAction `json:"jobAction,omitempty"` -} - -// FileProperties ... -type FileProperties struct { - // CreationTime - The creation time is not returned for files on Linux compute nodes. - CreationTime *date.Time `json:"creationTime,omitempty"` - LastModified *date.Time `json:"lastModified,omitempty"` - ContentLength *int64 `json:"contentLength,omitempty"` - ContentType *string `json:"contentType,omitempty"` - // FileMode - The file mode is returned only for files on Linux compute nodes. - FileMode *string `json:"fileMode,omitempty"` -} - -// ImageReference ... -type ImageReference struct { - // Publisher - For example, Canonical or MicrosoftWindowsServer. - Publisher *string `json:"publisher,omitempty"` - // Offer - For example, UbuntuServer or WindowsServer. - Offer *string `json:"offer,omitempty"` - // Sku - For example, 14.04.0-LTS or 2012-R2-Datacenter. - Sku *string `json:"sku,omitempty"` - // Version - A value of 'latest' can be specified to select the latest version of an image. If omitted, the default is 'latest'. - Version *string `json:"version,omitempty"` -} - -// JobAddParameter ... -type JobAddParameter struct { - // ID - The ID can contain any combination of alphanumeric characters including hyphens and underscores, and cannot contain more than 64 characters. It is common to use a GUID for the id. - ID *string `json:"id,omitempty"` - // DisplayName - The display name need not be unique and can contain any Unicode characters up to a maximum length of 1024. - DisplayName *string `json:"displayName,omitempty"` - // Priority - Priority values can range from -1000 to 1000, with -1000 being the lowest priority and 1000 being the highest priority. The default value is 0. - Priority *int32 `json:"priority,omitempty"` - // Constraints - The execution constraints for the job. - Constraints *JobConstraints `json:"constraints,omitempty"` - // JobManagerTask - If the job does not specify a Job Manager task, the user must explicitly add tasks to the job. If the job does specify a Job Manager task, the Batch service creates the Job Manager task when the job is created, and will try to schedule the Job Manager task before scheduling other tasks in the job. The Job Manager task's typical purpose is to control and/or monitor job execution, for example by deciding what additional tasks to run, determining when the work is complete, etc. (However, a Job Manager task is not restricted to these activities – it is a fully-fledged task in the system and perform whatever actions are required for the job.) For example, a Job Manager task might download a file specified as a parameter, analyze the contents of that file and submit additional tasks based on those contents. - JobManagerTask *JobManagerTask `json:"jobManagerTask,omitempty"` - // JobPreparationTask - If a job has a Job Preparation task, the Batch service will run the Job Preparation task on a compute node before starting any tasks of that job on that compute node. - JobPreparationTask *JobPreparationTask `json:"jobPreparationTask,omitempty"` - // JobReleaseTask - A Job Release task cannot be specified without also specifying a Job Preparation task for the job. The Batch service runs the Job Release task on the compute nodes that have run the Job Preparation task. The primary purpose of the Job Release task is to undo changes to compute nodes made by the Job Preparation task. Example activities include deleting local files, or shutting down services that were started as part of job preparation. - JobReleaseTask *JobReleaseTask `json:"jobReleaseTask,omitempty"` - CommonEnvironmentSettings *[]EnvironmentSetting `json:"commonEnvironmentSettings,omitempty"` - PoolInfo *PoolInformation `json:"poolInfo,omitempty"` - // OnAllTasksComplete - Note that if a job contains no tasks, then all tasks are considered complete. This option is therefore most commonly used with a job manager task; if you want to use automatic job termination without a job manager, you should initially set onAllTasksComplete to noaction and update the job properties to set onAllTasksComplete to terminatejob once you have finished adding tasks. Permitted values are: noaction – do nothing. The job remains active unless terminated or disabled by some other means. terminatejob – terminate the job. The job’s terminateReason is set to 'AllTasksComplete'. The default is noaction. Possible values include: 'NoAction', 'TerminateJob' - OnAllTasksComplete OnAllTasksComplete `json:"onAllTasksComplete,omitempty"` - // OnTaskFailure - Permitted values are: noaction – do nothing. performexitoptionsjobaction – take the action associated with the task exit condition in the task's exitConditions collection. (This may still result in no action being taken, if that is what the task specifies.) The default is noaction. Possible values include: 'OnTaskFailureNoAction', 'OnTaskFailurePerformExitOptionsJobAction' - OnTaskFailure OnTaskFailure `json:"onTaskFailure,omitempty"` - // Metadata - The Batch service does not assign any meaning to metadata; it is solely for the use of user code. - Metadata *[]MetadataItem `json:"metadata,omitempty"` - UsesTaskDependencies *bool `json:"usesTaskDependencies,omitempty"` -} - -// JobConstraints ... -type JobConstraints struct { - // MaxWallClockTime - If the job does not complete within the time limit, the Batch service terminates it and any tasks that are still running. In this case, the termination reason will be MaxWallClockTimeExpiry. If this property is not specified, there is no time limit on how long the job may run. - MaxWallClockTime *string `json:"maxWallClockTime,omitempty"` - // MaxTaskRetryCount - Note that this value specifically controls the number of retries. The Batch service will try each task once, and may then retry up to this limit. For example, if the maximum retry count is 3, Batch tries a task up to 4 times (one initial try and 3 retries). If the maximum retry count is 0, the Batch service does not retry tasks. If the maximum retry count is -1, the Batch service retries tasks without limit. The default value is 0 (no retries). - MaxTaskRetryCount *int32 `json:"maxTaskRetryCount,omitempty"` -} - -// JobDisableParameter ... -type JobDisableParameter struct { - // DisableTasks - Possible values are: requeue – Terminate running tasks and requeue them. The tasks will run again when the job is enabled. terminate – Terminate running tasks. The tasks will not run again. wait – Allow currently running tasks to complete. Possible values include: 'DisableJobOptionRequeue', 'DisableJobOptionTerminate', 'DisableJobOptionWait' - DisableTasks DisableJobOption `json:"disableTasks,omitempty"` -} - -// JobExecutionInformation ... -type JobExecutionInformation struct { - // StartTime - This is the time at which the job was created. - StartTime *date.Time `json:"startTime,omitempty"` - // EndTime - This property is set only if the job is in the completed state. - EndTime *date.Time `json:"endTime,omitempty"` - // PoolID - This element contains the actual pool where the job is assigned. When you get job details from the service, they also contain a poolInfo element, which contains the pool configuration data from when the job was added or updated. That poolInfo element may also contain a poolId element. If it does, the two IDs are the same. If it does not, it means the job ran on an auto pool, and this property contains the id of that auto pool. - PoolID *string `json:"poolId,omitempty"` - // SchedulingError - This property is not set if there was no error starting the job. - SchedulingError *JobSchedulingError `json:"schedulingError,omitempty"` - // TerminateReason - This property is set only if the job is in the completed state. If the Batch service terminates the job, it sets the reason as follows: JMComplete – the Job Manager task completed, and killJobOnCompletion was set to true. MaxWallClockTimeExpiry – the job reached its maxWallClockTime constraint. TerminateJobSchedule – the job ran as part of a schedule, and the schedule terminated. AllTasksComplete – the job's onAllTasksComplete attribute is set to terminatejob, and all tasks in the job are complete. TaskFailed – the job's onTaskFailure attribute is set to performexitoptionsjobaction, and a task in the job failed with an exit condition that specified a jobAction of terminatejob. Any other string is a user-defined reason specified in a call to the 'Terminate a job' operation. - TerminateReason *string `json:"terminateReason,omitempty"` -} - -// JobManagerTask ... -type JobManagerTask struct { - // ID - The id can contain any combination of alphanumeric characters including hyphens and underscores and cannot contain more than 64 characters. - ID *string `json:"id,omitempty"` - // DisplayName - It need not be unique and can contain any Unicode characters up to a maximum length of 1024. - DisplayName *string `json:"displayName,omitempty"` - // CommandLine - The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example using "cmd /c MyCommand" in Windows or "/bin/sh -c MyCommand" in Linux. - CommandLine *string `json:"commandLine,omitempty"` - // ResourceFiles - Files listed under this element are located in the task's working directory. - ResourceFiles *[]ResourceFile `json:"resourceFiles,omitempty"` - EnvironmentSettings *[]EnvironmentSetting `json:"environmentSettings,omitempty"` - Constraints *TaskConstraints `json:"constraints,omitempty"` - // KillJobOnCompletion - If true, when the Job Manager task completes, the Batch service marks the job as complete. If any tasks are still running at this time (other than Job Release), those tasks are terminated. If false, the completion of the Job Manager task does not affect the job status. In this case, you should either use the onAllTasksComplete attribute to terminate the job, or have a client or user terminate the job explicitly. An example of this is if the Job Manager creates a set of tasks but then takes no further role in their execution. The default value is true. If you are using the onAllTasksComplete and onTaskFailure attributes to control job lifetime, and using the job manager task only to create the tasks for the job (not to monitor progress), then it is important to set killJobOnCompletion to false. - KillJobOnCompletion *bool `json:"killJobOnCompletion,omitempty"` - RunElevated *bool `json:"runElevated,omitempty"` - // RunExclusive - If true, no other tasks will run on the same compute node for as long as the Job Manager is running. If false, other tasks can run simultaneously with the Job Manager on a compute node. The Job Manager task counts normally against the node's concurrent task limit, so this is only relevant if the node allows multiple concurrent tasks. The default value is true. - RunExclusive *bool `json:"runExclusive,omitempty"` - // ApplicationPackageReferences - Application packages are downloaded and deployed to a shared directory, not the task directory. Therefore, if a referenced package is already on the compute node, and is up to date, then it is not re-downloaded; the existing copy on the compute node is used. If a referenced application package cannot be installed, for example because the package has been deleted or because download failed, the task fails with a scheduling error. This property is currently not supported on jobs running on pools created using the virtualMachineConfiguration (IaaS) property. If a task specifying applicationPackageReferences runs on such a pool, it fails with a scheduling error with code TaskSchedulingConstraintFailed. - ApplicationPackageReferences *[]ApplicationPackageReference `json:"applicationPackageReferences,omitempty"` -} - -// JobPatchParameter ... -type JobPatchParameter struct { - // Priority - Priority values can range from -1000 to 1000, with -1000 being the lowest priority and 1000 being the highest priority. If omitted, the priority of the job is left unchanged. - Priority *int32 `json:"priority,omitempty"` - // OnAllTasksComplete - If omitted, the completion behavior is left unchanged. You may not change the value from terminatejob to noaction – that is, once you have engaged automatic job termination, you cannot turn it off again. If you try to do this, the request fails with an 'invalid property value' error response; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). Possible values include: 'NoAction', 'TerminateJob' - OnAllTasksComplete OnAllTasksComplete `json:"onAllTasksComplete,omitempty"` - // Constraints - If omitted, the existing execution constraints are left unchanged. - Constraints *JobConstraints `json:"constraints,omitempty"` - // PoolInfo - You may change the pool for a job only when the job is disabled. The Patch Job call will fail if you include the poolInfo element and the job is not disabled. If you specify an autoPoolSpecification specification in the poolInfo, only the keepAlive property can be updated, and then only if the auto pool has a poolLifetimeOption of job. If omitted, the job continues to run on its current pool. - PoolInfo *PoolInformation `json:"poolInfo,omitempty"` - // Metadata - If omitted, the existing job metadata is left unchanged. - Metadata *[]MetadataItem `json:"metadata,omitempty"` -} - -// JobPreparationAndReleaseTaskExecutionInformation ... -type JobPreparationAndReleaseTaskExecutionInformation struct { - PoolID *string `json:"poolId,omitempty"` - NodeID *string `json:"nodeId,omitempty"` - NodeURL *string `json:"nodeUrl,omitempty"` - JobPreparationTaskExecutionInfo *JobPreparationTaskExecutionInformation `json:"jobPreparationTaskExecutionInfo,omitempty"` - // JobReleaseTaskExecutionInfo - This property is set only if the Job Release task has run on the node. - JobReleaseTaskExecutionInfo *JobReleaseTaskExecutionInformation `json:"jobReleaseTaskExecutionInfo,omitempty"` -} - -// JobPreparationTask ... -type JobPreparationTask struct { - // ID - The ID can contain any combination of alphanumeric characters including hyphens and underscores and cannot contain more than 64 characters. If you do not specify this property, the Batch service assigns a default value of 'jobpreparation'. No other task in the job can have the same id as the Job Preparation task. If you try to submit a task with the same id, the Batch service rejects the request with error code TaskIdSameAsJobPreparationTask; if you are calling the REST API directly, the HTTP status code is 409 (Conflict). - ID *string `json:"id,omitempty"` - // CommandLine - The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example using "cmd /c MyCommand" in Windows or "/bin/sh -c MyCommand" in Linux. - CommandLine *string `json:"commandLine,omitempty"` - // ResourceFiles - Files listed under this element are located in the task's working directory. - ResourceFiles *[]ResourceFile `json:"resourceFiles,omitempty"` - EnvironmentSettings *[]EnvironmentSetting `json:"environmentSettings,omitempty"` - Constraints *TaskConstraints `json:"constraints,omitempty"` - // WaitForSuccess - If true and the Job Preparation task fails on a compute node, the Batch service retries the Job Preparation task up to its maximum retry count (as specified in the constraints element). If the task has still not completed successfully after all retries, then the Batch service will not schedule tasks of the job to the compute node. The compute node remains active and eligible to run tasks of other jobs. If false, the Batch service will not wait for the Job Preparation task to complete. In this case, other tasks of the job can start executing on the compute node while the Job Preparation task is still running; and even if the Job Preparation task fails, new tasks will continue to be scheduled on the node. The default value is true. - WaitForSuccess *bool `json:"waitForSuccess,omitempty"` - RunElevated *bool `json:"runElevated,omitempty"` - // RerunOnNodeRebootAfterSuccess - The Job Preparation task is always rerun if a compute node is reimaged, or if the Job Preparation task did not complete (e.g. because the reboot occurred while the task was running). Therefore, you should always write a Job Preparation task to be idempotent and to behave correctly if run multiple times. The default value is true. - RerunOnNodeRebootAfterSuccess *bool `json:"rerunOnNodeRebootAfterSuccess,omitempty"` -} - -// JobPreparationTaskExecutionInformation ... -type JobPreparationTaskExecutionInformation struct { - // StartTime - Note that every time the task is restarted, this value is updated. - StartTime *date.Time `json:"startTime,omitempty"` - // EndTime - This property is set only if the task is in the Completed state. - EndTime *date.Time `json:"endTime,omitempty"` - // State - Possible values are: running – the task is currently running (including retrying). completed – the task has exited with exit code 0, or the task has exhausted its retry limit, or the Batch service was unable to start the task due to scheduling errors. Possible values include: 'JobPreparationTaskStateRunning', 'JobPreparationTaskStateCompleted' - State JobPreparationTaskState `json:"state,omitempty"` - TaskRootDirectory *string `json:"taskRootDirectory,omitempty"` - TaskRootDirectoryURL *string `json:"taskRootDirectoryUrl,omitempty"` - // ExitCode - This parameter is returned only if the task is in the completed state. The exit code for a process reflects the specific convention implemented by the application developer for that process. If you use the exit code value to make decisions in your code, be sure that you know the exit code convention used by the application process. Note that the exit code may also be generated by the compute node operating system, such as when a process is forcibly terminated. - ExitCode *int32 `json:"exitCode,omitempty"` - SchedulingError *TaskSchedulingError `json:"schedulingError,omitempty"` - RetryCount *int32 `json:"retryCount,omitempty"` - // LastRetryTime - This property is set only if the task was retried (i.e. retryCount is nonzero). If present, this is typically the same as startTime, but may be different if the task has been restarted for reasons other than retry; for example, if the compute node was rebooted during a retry, then the startTime is updated but the lastRetryTime is not. - LastRetryTime *date.Time `json:"lastRetryTime,omitempty"` -} - -// JobReleaseTask ... -type JobReleaseTask struct { - // ID - The ID can contain any combination of alphanumeric characters including hyphens and underscores and cannot contain more than 64 characters. If you do not specify this property, the Batch service assigns a default value of 'jobrelease'. No other task in the job can have the same id as the Job Release task. If you try to submit a task with the same id, the Batch service rejects the request with error code TaskIdSameAsJobReleaseTask; if you are calling the REST API directly, the HTTP status code is 409 (Conflict). - ID *string `json:"id,omitempty"` - // CommandLine - The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example using "cmd /c MyCommand" in Windows or "/bin/sh -c MyCommand" in Linux. - CommandLine *string `json:"commandLine,omitempty"` - // ResourceFiles - Files listed under this element are located in the task's working directory. - ResourceFiles *[]ResourceFile `json:"resourceFiles,omitempty"` - EnvironmentSettings *[]EnvironmentSetting `json:"environmentSettings,omitempty"` - MaxWallClockTime *string `json:"maxWallClockTime,omitempty"` - // RetentionTime - The default is infinite, i.e. the task directory will be retained until the compute node is removed or reimaged. - RetentionTime *string `json:"retentionTime,omitempty"` - // RunElevated - The default value is false. - RunElevated *bool `json:"runElevated,omitempty"` -} - -// JobReleaseTaskExecutionInformation ... -type JobReleaseTaskExecutionInformation struct { - StartTime *date.Time `json:"startTime,omitempty"` - // EndTime - This property is set only if the task is in the Completed state. - EndTime *date.Time `json:"endTime,omitempty"` - // State - Possible values are: running – the task is currently running (including retrying). completed – the task has exited, or the Batch service was unable to start the task due to scheduling errors. Possible values include: 'JobReleaseTaskStateRunning', 'JobReleaseTaskStateCompleted' - State JobReleaseTaskState `json:"state,omitempty"` - TaskRootDirectory *string `json:"taskRootDirectory,omitempty"` - TaskRootDirectoryURL *string `json:"taskRootDirectoryUrl,omitempty"` - // ExitCode - This parameter is returned only if the task is in the completed state. The exit code for a process reflects the specific convention implemented by the application developer for that process. If you use the exit code value to make decisions in your code, be sure that you know the exit code convention used by the application process. Note that the exit code may also be generated by the compute node operating system, such as when a process is forcibly terminated. - ExitCode *int32 `json:"exitCode,omitempty"` - SchedulingError *TaskSchedulingError `json:"schedulingError,omitempty"` -} - -// JobScheduleAddParameter ... -type JobScheduleAddParameter struct { - // ID - The ID can contain any combination of alphanumeric characters including hyphens and underscores, and cannot contain more than 64 characters. The id is case-preserving and case-insensitive (that is, you may not have two ids within an account that differ only by case). - ID *string `json:"id,omitempty"` - // DisplayName - The display name need not be unique and can contain any Unicode characters up to a maximum length of 1024. - DisplayName *string `json:"displayName,omitempty"` - Schedule *Schedule `json:"schedule,omitempty"` - JobSpecification *JobSpecification `json:"jobSpecification,omitempty"` - // Metadata - The Batch service does not assign any meaning to metadata; it is solely for the use of user code. - Metadata *[]MetadataItem `json:"metadata,omitempty"` -} - -// JobScheduleExecutionInformation ... -type JobScheduleExecutionInformation struct { - // NextRunTime - This property is meaningful only if the schedule is in the active state when the time comes around. For example, if the schedule is disabled, no job will be created at nextRunTime unless the job is enabled before then. - NextRunTime *date.Time `json:"nextRunTime,omitempty"` - // RecentJob - This property is present only if the at least one job has run under the schedule. - RecentJob *RecentJob `json:"recentJob,omitempty"` - // EndTime - This property is set only if the job schedule is in the completed state. - EndTime *date.Time `json:"endTime,omitempty"` -} - -// JobSchedulePatchParameter ... -type JobSchedulePatchParameter struct { - // Schedule - If you do not specify this element, the existing schedule is left unchanged. - Schedule *Schedule `json:"schedule,omitempty"` - // JobSpecification - Updates affect only jobs that are started after the update has taken place. Any currently active job continues with the older specification. - JobSpecification *JobSpecification `json:"jobSpecification,omitempty"` - // Metadata - If you do not specify this element, existing metadata is left unchanged. - Metadata *[]MetadataItem `json:"metadata,omitempty"` -} - -// JobScheduleStatistics ... -type JobScheduleStatistics struct { - URL *string `json:"url,omitempty"` - StartTime *date.Time `json:"startTime,omitempty"` - LastUpdateTime *date.Time `json:"lastUpdateTime,omitempty"` - UserCPUTime *string `json:"userCPUTime,omitempty"` - KernelCPUTime *string `json:"kernelCPUTime,omitempty"` - // WallClockTime - The wall clock time is the elapsed time from when the task started running on a compute node to when it finished (or to the last time the statistics were updated, if the task had not finished by then). If a task was retried, this includes the wall clock time of all the task retries. - WallClockTime *string `json:"wallClockTime,omitempty"` - ReadIOps *int64 `json:"readIOps,omitempty"` - WriteIOps *int64 `json:"writeIOps,omitempty"` - ReadIOGiB *float64 `json:"readIOGiB,omitempty"` - WriteIOGiB *float64 `json:"writeIOGiB,omitempty"` - NumSucceededTasks *int64 `json:"numSucceededTasks,omitempty"` - NumFailedTasks *int64 `json:"numFailedTasks,omitempty"` - NumTaskRetries *int64 `json:"numTaskRetries,omitempty"` - // WaitTime - This value is only reported in the account lifetime statistics; it is not included in the job statistics. - WaitTime *string `json:"waitTime,omitempty"` -} - -// JobScheduleUpdateParameter ... -type JobScheduleUpdateParameter struct { - // Schedule - If you do not specify this element, it is equivalent to passing the default schedule: that is, a single job scheduled to run immediately. - Schedule *Schedule `json:"schedule,omitempty"` - // JobSpecification - Updates affect only jobs that are started after the update has taken place. Any currently active job continues with the older specification. - JobSpecification *JobSpecification `json:"jobSpecification,omitempty"` - // Metadata - If you do not specify this element, it takes the default value of an empty list; in effect, any existing metadata is deleted. - Metadata *[]MetadataItem `json:"metadata,omitempty"` -} - -// JobSchedulingError ... -type JobSchedulingError struct { - // Category - Possible values include: 'SchedulingErrorCategoryUsererror', 'SchedulingErrorCategoryServererror', 'SchedulingErrorCategoryUnmapped' - Category SchedulingErrorCategory `json:"category,omitempty"` - Code *string `json:"code,omitempty"` - Message *string `json:"message,omitempty"` - Details *[]NameValuePair `json:"details,omitempty"` -} - -// JobSpecification ... -type JobSpecification struct { - // Priority - Priority values can range from -1000 to 1000, with -1000 being the lowest priority and 1000 being the highest priority. The default value is 0. This priority is used as the default for all jobs under the job schedule. You can update a job's priority after it has been created using by using the update job API. - Priority *int32 `json:"priority,omitempty"` - // DisplayName - The name need not be unique and can contain any Unicode characters up to a maximum length of 1024. - DisplayName *string `json:"displayName,omitempty"` - UsesTaskDependencies *bool `json:"usesTaskDependencies,omitempty"` - // OnAllTasksComplete - Note that if a job contains no tasks, then all tasks are considered complete. This option is therefore most commonly used with a job manager task; if you want to use automatic job termination without a job manager, you should initially set onAllTasksComplete to noaction and update the job properties to set onAllTasksComplete to terminatejob once you have finished adding tasks. The default is noaction. Possible values include: 'NoAction', 'TerminateJob' - OnAllTasksComplete OnAllTasksComplete `json:"onAllTasksComplete,omitempty"` - // OnTaskFailure - The default is noaction. Possible values include: 'OnTaskFailureNoAction', 'OnTaskFailurePerformExitOptionsJobAction' - OnTaskFailure OnTaskFailure `json:"onTaskFailure,omitempty"` - Constraints *JobConstraints `json:"constraints,omitempty"` - // JobManagerTask - If the job does not specify a Job Manager task, the user must explicitly add tasks to the job using the Task API. If the job does specify a Job Manager task, the Batch service creates the Job Manager task when the job is created, and will try to schedule the Job Manager task before scheduling other tasks in the job. - JobManagerTask *JobManagerTask `json:"jobManagerTask,omitempty"` - // JobPreparationTask - If a job has a Job Preparation task, the Batch service will run the Job Preparation task on a compute node before starting any tasks of that job on that compute node. - JobPreparationTask *JobPreparationTask `json:"jobPreparationTask,omitempty"` - // JobReleaseTask - The primary purpose of the Job Release task is to undo changes to compute nodes made by the Job Preparation task. Example activities include deleting local files, or shutting down services that were started as part of job preparation. A Job Release task cannot be specified without also specifying a Job Preparation task for the job. The Batch service runs the Job Release task on the compute nodes that have run the Job Preparation task. - JobReleaseTask *JobReleaseTask `json:"jobReleaseTask,omitempty"` - // CommonEnvironmentSettings - Individual tasks can override an environment setting specified here by specifying the same setting name with a different value. - CommonEnvironmentSettings *[]EnvironmentSetting `json:"commonEnvironmentSettings,omitempty"` - PoolInfo *PoolInformation `json:"poolInfo,omitempty"` - // Metadata - The Batch service does not assign any meaning to metadata; it is solely for the use of user code. - Metadata *[]MetadataItem `json:"metadata,omitempty"` -} - -// JobStatistics ... -type JobStatistics struct { - autorest.Response `json:"-"` - URL *string `json:"url,omitempty"` - StartTime *date.Time `json:"startTime,omitempty"` - LastUpdateTime *date.Time `json:"lastUpdateTime,omitempty"` - UserCPUTime *string `json:"userCPUTime,omitempty"` - KernelCPUTime *string `json:"kernelCPUTime,omitempty"` - WallClockTime *string `json:"wallClockTime,omitempty"` - ReadIOps *int64 `json:"readIOps,omitempty"` - WriteIOps *int64 `json:"writeIOps,omitempty"` - ReadIOGiB *float64 `json:"readIOGiB,omitempty"` - WriteIOGiB *float64 `json:"writeIOGiB,omitempty"` - // NumSucceededTasks - A task completes successfully if it returns exit code 0. - NumSucceededTasks *int64 `json:"numSucceededTasks,omitempty"` - // NumFailedTasks - A task fails if it exhausts its maximum retry count without returning exit code 0. - NumFailedTasks *int64 `json:"numFailedTasks,omitempty"` - NumTaskRetries *int64 `json:"numTaskRetries,omitempty"` - // WaitTime - The wait time for a task is defined as the elapsed time between the creation of the task and the start of task execution. (If the task is retried due to failures, the wait time is the time to the most recent task execution.) This value is only reported in the account lifetime statistics; it is not included in the job statistics. - WaitTime *string `json:"waitTime,omitempty"` -} - -// JobTerminateParameter ... -type JobTerminateParameter struct { - TerminateReason *string `json:"terminateReason,omitempty"` -} - -// JobUpdateParameter ... -type JobUpdateParameter struct { - // Priority - Priority values can range from -1000 to 1000, with -1000 being the lowest priority and 1000 being the highest priority. If omitted, it is set to the default value 0. - Priority *int32 `json:"priority,omitempty"` - // Constraints - If omitted, the constraints are cleared. - Constraints *JobConstraints `json:"constraints,omitempty"` - // PoolInfo - You may change the pool for a job only when the job is disabled. The Update Job call will fail if you include the poolInfo element and the job is not disabled. If you specify an autoPoolSpecification specification in the poolInfo, only the keepAlive property can be updated, and then only if the auto pool has a poolLifetimeOption of job. - PoolInfo *PoolInformation `json:"poolInfo,omitempty"` - // Metadata - If omitted, it takes the default value of an empty list; in effect, any existing metadata is deleted. - Metadata *[]MetadataItem `json:"metadata,omitempty"` - // OnAllTasksComplete - If omitted, the completion behavior is set to noaction. If the current value is terminatejob, this is an error because a job's completion behavior may not be changed from terminatejob to noaction. Possible values include: 'NoAction', 'TerminateJob' - OnAllTasksComplete OnAllTasksComplete `json:"onAllTasksComplete,omitempty"` -} - -// MetadataItem the Batch service does not assign any meaning to this metadata; it is solely for the use of user -// code. -type MetadataItem struct { - Name *string `json:"name,omitempty"` - Value *string `json:"value,omitempty"` -} - -// MultiInstanceSettings multi-instance tasks are commonly used to support MPI tasks. -type MultiInstanceSettings struct { - NumberOfInstances *int32 `json:"numberOfInstances,omitempty"` - // CoordinationCommandLine - A typical coordination command line launches a background service and verifies that the service is ready to process inter-node messages. - CoordinationCommandLine *string `json:"coordinationCommandLine,omitempty"` - // CommonResourceFiles - The difference between common resource files and task resource files is that common resource files are downloaded for all subtasks including the primary, whereas task resource files are downloaded only for the primary. - CommonResourceFiles *[]ResourceFile `json:"commonResourceFiles,omitempty"` -} - -// NameValuePair ... -type NameValuePair struct { - Name *string `json:"name,omitempty"` - Value *string `json:"value,omitempty"` -} - -// NetworkConfiguration the network configuration for a pool. -type NetworkConfiguration struct { - // SubnetID - The virtual network must be in the same region and subscription as the Azure Batch account. The specified subnet should have enough free IP addresses to accommodate the number of nodes in the pool. If the subnet doesn't have enough free IP addresses, the pool will partially allocate compute nodes, and a resize error will occur. The 'MicrosoftAzureBatch' service principal must have the 'Classic Virtual Machine Contributor' Role-Based Access Control (RBAC) role for the specified VNet. The specified subnet must allow communication from the Azure Batch service to be able to schedule tasks on the compute nodes. This can be verified by checking if the specified VNet has any associated Network Security Groups (NSG). If communication to the compute nodes in the specified subnet is denied by an NSG, then the Batch service will set the state of the compute nodes to unusable. This property can only be specified for pools created with a cloudServiceConfiguration. - SubnetID *string `json:"subnetId,omitempty"` -} - -// NodeAgentSku the Batch node agent is a program that runs on each node in the pool, and provides the -// command-and-control interface between the node and the Batch service. There are different implementations of the -// node agent, known as SKUs, for different operating systems. -type NodeAgentSku struct { - ID *string `json:"id,omitempty"` - // VerifiedImageReferences - This collection is not exhaustive (the node agent may be compatible with other images). - VerifiedImageReferences *[]ImageReference `json:"verifiedImageReferences,omitempty"` - // OsType - Possible values include: 'OSTypeLinux', 'OSTypeWindows', 'OSTypeUnmapped' - OsType OSType `json:"osType,omitempty"` -} - -// NodeDisableSchedulingParameter ... -type NodeDisableSchedulingParameter struct { - // NodeDisableSchedulingOption - The default value is requeue. Possible values include: 'DisableComputeNodeSchedulingOptionRequeue', 'DisableComputeNodeSchedulingOptionTerminate', 'DisableComputeNodeSchedulingOptionTaskcompletion' - NodeDisableSchedulingOption DisableComputeNodeSchedulingOption `json:"nodeDisableSchedulingOption,omitempty"` -} - -// NodeFile ... -type NodeFile struct { - Name *string `json:"name,omitempty"` - URL *string `json:"url,omitempty"` - IsDirectory *bool `json:"isDirectory,omitempty"` - Properties *FileProperties `json:"properties,omitempty"` -} - -// NodeFileListResult ... -type NodeFileListResult struct { - autorest.Response `json:"-"` - Value *[]NodeFile `json:"value,omitempty"` - OdataNextLink *string `json:"odata.nextLink,omitempty"` -} - -// NodeFileListResultIterator provides access to a complete listing of NodeFile values. -type NodeFileListResultIterator struct { - i int - page NodeFileListResultPage -} - -// Next advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -func (iter *NodeFileListResultIterator) Next() error { - iter.i++ - if iter.i < len(iter.page.Values()) { - return nil - } - err := iter.page.Next() - if err != nil { - iter.i-- - return err - } - iter.i = 0 - return nil -} - -// NotDone returns true if the enumeration should be started or is not yet complete. -func (iter NodeFileListResultIterator) NotDone() bool { - return iter.page.NotDone() && iter.i < len(iter.page.Values()) -} - -// Response returns the raw server response from the last page request. -func (iter NodeFileListResultIterator) Response() NodeFileListResult { - return iter.page.Response() -} - -// Value returns the current value or a zero-initialized value if the -// iterator has advanced beyond the end of the collection. -func (iter NodeFileListResultIterator) Value() NodeFile { - if !iter.page.NotDone() { - return NodeFile{} - } - return iter.page.Values()[iter.i] -} - -// IsEmpty returns true if the ListResult contains no values. -func (nflr NodeFileListResult) IsEmpty() bool { - return nflr.Value == nil || len(*nflr.Value) == 0 -} - -// nodeFileListResultPreparer prepares a request to retrieve the next set of results. -// It returns nil if no more results exist. -func (nflr NodeFileListResult) nodeFileListResultPreparer() (*http.Request, error) { - if nflr.OdataNextLink == nil || len(to.String(nflr.OdataNextLink)) < 1 { - return nil, nil - } - return autorest.Prepare(&http.Request{}, - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(nflr.OdataNextLink))) -} - -// NodeFileListResultPage contains a page of NodeFile values. -type NodeFileListResultPage struct { - fn func(NodeFileListResult) (NodeFileListResult, error) - nflr NodeFileListResult -} - -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -func (page *NodeFileListResultPage) Next() error { - next, err := page.fn(page.nflr) - if err != nil { - return err - } - page.nflr = next - return nil -} - -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page NodeFileListResultPage) NotDone() bool { - return !page.nflr.IsEmpty() -} - -// Response returns the raw server response from the last page request. -func (page NodeFileListResultPage) Response() NodeFileListResult { - return page.nflr -} - -// Values returns the slice of values for the current page or nil if there are no values. -func (page NodeFileListResultPage) Values() []NodeFile { - if page.nflr.IsEmpty() { - return nil - } - return *page.nflr.Value -} - -// NodeRebootParameter ... -type NodeRebootParameter struct { - // NodeRebootOption - The default value is requeue. Possible values include: 'ComputeNodeRebootOptionRequeue', 'ComputeNodeRebootOptionTerminate', 'ComputeNodeRebootOptionTaskcompletion', 'ComputeNodeRebootOptionRetaineddata' - NodeRebootOption ComputeNodeRebootOption `json:"nodeRebootOption,omitempty"` -} - -// NodeReimageParameter ... -type NodeReimageParameter struct { - // NodeReimageOption - The default value is requeue. Possible values include: 'ComputeNodeReimageOptionRequeue', 'ComputeNodeReimageOptionTerminate', 'ComputeNodeReimageOptionTaskcompletion', 'ComputeNodeReimageOptionRetaineddata' - NodeReimageOption ComputeNodeReimageOption `json:"nodeReimageOption,omitempty"` -} - -// NodeRemoveParameter ... -type NodeRemoveParameter struct { - NodeList *[]string `json:"nodeList,omitempty"` - // ResizeTimeout - The default value is 15 minutes. The minimum value is 5 minutes. If you specify a value less than 5 minutes, the Batch service returns an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). - ResizeTimeout *string `json:"resizeTimeout,omitempty"` - // NodeDeallocationOption - The default value is requeue. Possible values include: 'Requeue', 'Terminate', 'Taskcompletion', 'Retaineddata' - NodeDeallocationOption ComputeNodeDeallocationOption `json:"nodeDeallocationOption,omitempty"` -} - -// NodeUpdateUserParameter ... -type NodeUpdateUserParameter struct { - // Password - The password is required for Windows nodes (those created with 'cloudServiceConfiguration', or created with 'virtualMachineConfiguration' using a Windows image reference). For Linux compute nodes, the password can optionally be specified along with the sshPublicKey property. If omitted, any existing password is removed. - Password *string `json:"password,omitempty"` - // ExpiryTime - If omitted, the default is 1 day from the current time. For Linux compute nodes, the expiryTime has a precision up to a day. - ExpiryTime *date.Time `json:"expiryTime,omitempty"` - // SSHPublicKey - The public key should be compatible with OpenSSH encoding and should be base 64 encoded. This property can be specified only for Linux nodes. If this is specified for a Windows node, then the Batch service rejects the request; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). If omitted, any existing SSH public key is removed. - SSHPublicKey *string `json:"sshPublicKey,omitempty"` -} - -// PoolAddParameter ... -type PoolAddParameter struct { - // ID - The ID can contain any combination of alphanumeric characters including hyphens and underscores, and cannot contain more than 64 characters. The ID is case-preserving and case-insensitive (that is, you may not have two pool IDs within an account that differ only by case). - ID *string `json:"id,omitempty"` - // DisplayName - The display name need not be unique and can contain any Unicode characters up to a maximum length of 1024. - DisplayName *string `json:"displayName,omitempty"` - // VMSize - For information about available sizes of virtual machines for Cloud Services pools (pools created with cloudServiceConfiguration), see Sizes for Cloud Services (http://azure.microsoft.com/documentation/articles/cloud-services-sizes-specs/). Batch supports all Cloud Services VM sizes except ExtraSmall. For information about available VM sizes for pools using images from the Virtual Machines Marketplace (pools created with virtualMachineConfiguration) see Sizes for Virtual Machines (Linux) (https://azure.microsoft.com/documentation/articles/virtual-machines-linux-sizes/) or Sizes for Virtual Machines (Windows) (https://azure.microsoft.com/documentation/articles/virtual-machines-windows-sizes/). Batch supports all Azure VM sizes except STANDARD_A0 and those with premium storage (STANDARD_GS, STANDARD_DS, and STANDARD_DSV2 series). - VMSize *string `json:"vmSize,omitempty"` - // CloudServiceConfiguration - This property and virtualMachineConfiguration are mutually exclusive and one of the properties must be specified. - CloudServiceConfiguration *CloudServiceConfiguration `json:"cloudServiceConfiguration,omitempty"` - // VirtualMachineConfiguration - This property and cloudServiceConfiguration are mutually exclusive and one of the properties must be specified. - VirtualMachineConfiguration *VirtualMachineConfiguration `json:"virtualMachineConfiguration,omitempty"` - // ResizeTimeout - This timeout applies only to manual scaling; it has no effect when enableAutoScale is set to true. The default value is 15 minutes. The minimum value is 5 minutes. If you specify a value less than 5 minutes, the Batch service returns an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). - ResizeTimeout *string `json:"resizeTimeout,omitempty"` - // TargetDedicated - This property must have the default value if enableAutoScale is true. It is required if enableAutoScale is false. - TargetDedicated *int32 `json:"targetDedicated,omitempty"` - // EnableAutoScale - If true, the autoScaleFormula property must be set. If false, the targetDedicated property must be set. The default value is false. - EnableAutoScale *bool `json:"enableAutoScale,omitempty"` - // AutoScaleFormula - This property must not be specified if enableAutoScale is set to false. It is required if enableAutoScale is set to true. The formula is checked for validity before the pool is created. If the formula is not valid, the Batch service rejects the request with detailed error information. For more information about specifying this formula, see 'Automatically scale compute nodes in an Azure Batch pool' (https://azure.microsoft.com/documentation/articles/batch-automatic-scaling/). - AutoScaleFormula *string `json:"autoScaleFormula,omitempty"` - // AutoScaleEvaluationInterval - The default value is 15 minutes. The minimum and maximum value are 5 minutes and 168 hours respectively. If you specify a value less than 5 minutes or greater than 168 hours, the Batch service returns an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). - AutoScaleEvaluationInterval *string `json:"autoScaleEvaluationInterval,omitempty"` - // EnableInterNodeCommunication - Enabling inter-node communication limits the maximum size of the pool due to deployment restrictions on the nodes of the pool. This may result in the pool not reaching its desired size. The default value is false. - EnableInterNodeCommunication *bool `json:"enableInterNodeCommunication,omitempty"` - NetworkConfiguration *NetworkConfiguration `json:"networkConfiguration,omitempty"` - // StartTask - The task runs when the node is added to the pool or when the node is restarted. - StartTask *StartTask `json:"startTask,omitempty"` - // CertificateReferences - For Windows compute nodes, the Batch service installs the certificates to the specified certificate store and location. For Linux compute nodes, the certificates are stored in a directory inside the task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the task to query for this location. For certificates with visibility of remoteuser, a certs directory is created in the user's home directory (e.g., /home//certs) where certificates are placed. - CertificateReferences *[]CertificateReference `json:"certificateReferences,omitempty"` - // ApplicationPackageReferences - This property is currently not supported on pools created using the virtualMachineConfiguration (IaaS) property. - ApplicationPackageReferences *[]ApplicationPackageReference `json:"applicationPackageReferences,omitempty"` - // MaxTasksPerNode - The default value is 1. The maximum value of this setting depends on the size of the compute nodes in the pool (the vmSize setting). - MaxTasksPerNode *int32 `json:"maxTasksPerNode,omitempty"` - TaskSchedulingPolicy *TaskSchedulingPolicy `json:"taskSchedulingPolicy,omitempty"` - // Metadata - The Batch service does not assign any meaning to metadata; it is solely for the use of user code. - Metadata *[]MetadataItem `json:"metadata,omitempty"` -} - -// PoolEnableAutoScaleParameter ... -type PoolEnableAutoScaleParameter struct { - // AutoScaleFormula - The formula is checked for validity before it is applied to the pool. If the formula is not valid, the Batch service rejects the request with detailed error information. For more information about specifying this formula, see Automatically scale compute nodes in an Azure Batch pool (https://azure.microsoft.com/en-us/documentation/articles/batch-automatic-scaling). - AutoScaleFormula *string `json:"autoScaleFormula,omitempty"` - // AutoScaleEvaluationInterval - The default value is 15 minutes. The minimum and maximum value are 5 minutes and 168 hours respectively. If you specify a value less than 5 minutes or greater than 168 hours, the Batch service rejects the request with an invalid property value error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). If you specify a new interval, then the existing autoscale evaluation schedule will be stopped and a new autoscale evaluation schedule will be started, with its starting time being the time when this request was issued. - AutoScaleEvaluationInterval *string `json:"autoScaleEvaluationInterval,omitempty"` -} - -// PoolEvaluateAutoScaleParameter ... -type PoolEvaluateAutoScaleParameter struct { - // AutoScaleFormula - The formula is validated and its results calculated, but it is not applied to the pool. To apply the formula to the pool, 'Enable automatic scaling on a pool'. For more information about specifying this formula, see Automatically scale compute nodes in an Azure Batch pool (https://azure.microsoft.com/en-us/documentation/articles/batch-automatic-scaling). - AutoScaleFormula *string `json:"autoScaleFormula,omitempty"` -} - -// PoolInformation ... -type PoolInformation struct { - // PoolID - You must ensure that the pool referenced by this property exists. If the pool does not exist at the time the Batch service tries to schedule a job, no tasks for the job will run until you create a pool with that id. Note that the Batch service will not reject the job request; it will simply not run tasks until the pool exists. You must specify either the pool ID or the auto pool specification, but not both. - PoolID *string `json:"poolId,omitempty"` - // AutoPoolSpecification - If auto pool creation fails, the Batch service moves the job to a completed state, and the pool creation error is set in the job's scheduling error property. The Batch service manages the lifetime (both creation and, unless keepAlive is specified, deletion) of the auto pool. Any user actions that affect the lifetime of the auto pool while the job is active will result in unexpected behavior. You must specify either the pool ID or the auto pool specification, but not both. - AutoPoolSpecification *AutoPoolSpecification `json:"autoPoolSpecification,omitempty"` -} - -// PoolListPoolUsageMetricsResult ... -type PoolListPoolUsageMetricsResult struct { - autorest.Response `json:"-"` - Value *[]PoolUsageMetrics `json:"value,omitempty"` - OdataNextLink *string `json:"odata.nextLink,omitempty"` -} - -// PoolListPoolUsageMetricsResultIterator provides access to a complete listing of PoolUsageMetrics values. -type PoolListPoolUsageMetricsResultIterator struct { - i int - page PoolListPoolUsageMetricsResultPage -} - -// Next advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -func (iter *PoolListPoolUsageMetricsResultIterator) Next() error { - iter.i++ - if iter.i < len(iter.page.Values()) { - return nil - } - err := iter.page.Next() - if err != nil { - iter.i-- - return err - } - iter.i = 0 - return nil -} - -// NotDone returns true if the enumeration should be started or is not yet complete. -func (iter PoolListPoolUsageMetricsResultIterator) NotDone() bool { - return iter.page.NotDone() && iter.i < len(iter.page.Values()) -} - -// Response returns the raw server response from the last page request. -func (iter PoolListPoolUsageMetricsResultIterator) Response() PoolListPoolUsageMetricsResult { - return iter.page.Response() -} - -// Value returns the current value or a zero-initialized value if the -// iterator has advanced beyond the end of the collection. -func (iter PoolListPoolUsageMetricsResultIterator) Value() PoolUsageMetrics { - if !iter.page.NotDone() { - return PoolUsageMetrics{} - } - return iter.page.Values()[iter.i] -} - -// IsEmpty returns true if the ListResult contains no values. -func (plpumr PoolListPoolUsageMetricsResult) IsEmpty() bool { - return plpumr.Value == nil || len(*plpumr.Value) == 0 -} - -// poolListPoolUsageMetricsResultPreparer prepares a request to retrieve the next set of results. -// It returns nil if no more results exist. -func (plpumr PoolListPoolUsageMetricsResult) poolListPoolUsageMetricsResultPreparer() (*http.Request, error) { - if plpumr.OdataNextLink == nil || len(to.String(plpumr.OdataNextLink)) < 1 { - return nil, nil - } - return autorest.Prepare(&http.Request{}, - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(plpumr.OdataNextLink))) -} - -// PoolListPoolUsageMetricsResultPage contains a page of PoolUsageMetrics values. -type PoolListPoolUsageMetricsResultPage struct { - fn func(PoolListPoolUsageMetricsResult) (PoolListPoolUsageMetricsResult, error) - plpumr PoolListPoolUsageMetricsResult -} - -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -func (page *PoolListPoolUsageMetricsResultPage) Next() error { - next, err := page.fn(page.plpumr) - if err != nil { - return err - } - page.plpumr = next - return nil -} - -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page PoolListPoolUsageMetricsResultPage) NotDone() bool { - return !page.plpumr.IsEmpty() -} - -// Response returns the raw server response from the last page request. -func (page PoolListPoolUsageMetricsResultPage) Response() PoolListPoolUsageMetricsResult { - return page.plpumr -} - -// Values returns the slice of values for the current page or nil if there are no values. -func (page PoolListPoolUsageMetricsResultPage) Values() []PoolUsageMetrics { - if page.plpumr.IsEmpty() { - return nil - } - return *page.plpumr.Value -} - -// PoolPatchParameter ... -type PoolPatchParameter struct { - // StartTask - If omitted, any existing start task is left unchanged. - StartTask *StartTask `json:"startTask,omitempty"` - // CertificateReferences - If omitted, any existing certificate references are left unchanged. For Windows compute nodes, the Batch service installs the certificates to the specified certificate store and location. For Linux compute nodes, the certificates are stored in a directory inside the task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the task to query for this location. For certificates with visibility of remoteuser, a certs directory is created in the user's home directory (e.g., /home//certs) where certificates are placed. - CertificateReferences *[]CertificateReference `json:"certificateReferences,omitempty"` - // ApplicationPackageReferences - Changes to application package references affect all new compute nodes joining the pool, but do not affect compute nodes that are already in the pool until they are rebooted or reimaged. If this element is present, it replaces any existing application package references. If you specify an empty collection, then all application package references are removed from the pool. If omitted, any existing application package references are left unchanged. - ApplicationPackageReferences *[]ApplicationPackageReference `json:"applicationPackageReferences,omitempty"` - // Metadata - If this element is present, it replaces any existing metadata configured on the pool. If you specify an empty collection, any metadata is removed from the pool. If omitted, any existing metadata is left unchanged. - Metadata *[]MetadataItem `json:"metadata,omitempty"` -} - -// PoolResizeParameter ... -type PoolResizeParameter struct { - TargetDedicated *int32 `json:"targetDedicated,omitempty"` - // ResizeTimeout - The default value is 15 minutes. The minimum value is 5 minutes. If you specify a value less than 5 minutes, the Batch service returns an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). - ResizeTimeout *string `json:"resizeTimeout,omitempty"` - // NodeDeallocationOption - The default value is requeue. Possible values include: 'Requeue', 'Terminate', 'Taskcompletion', 'Retaineddata' - NodeDeallocationOption ComputeNodeDeallocationOption `json:"nodeDeallocationOption,omitempty"` -} - -// PoolSpecification ... -type PoolSpecification struct { - // DisplayName - The display name need not be unique and can contain any Unicode characters up to a maximum length of 1024. - DisplayName *string `json:"displayName,omitempty"` - // VMSize - For information about available sizes of virtual machines for Cloud Services pools (pools created with cloudServiceConfiguration), see Sizes for Cloud Services (http://azure.microsoft.com/documentation/articles/cloud-services-sizes-specs/). Batch supports all Cloud Services VM sizes except ExtraSmall. For information about available VM sizes for pools using images from the Virtual Machines Marketplace (pools created with virtualMachineConfiguration) see Sizes for Virtual Machines (Linux) (https://azure.microsoft.com/documentation/articles/virtual-machines-linux-sizes/) or Sizes for Virtual Machines (Windows) (https://azure.microsoft.com/documentation/articles/virtual-machines-windows-sizes/). Batch supports all Azure VM sizes except STANDARD_A0 and those with premium storage (STANDARD_GS, STANDARD_DS, and STANDARD_DSV2 series). - VMSize *string `json:"vmSize,omitempty"` - // CloudServiceConfiguration - This property must be specified if the pool needs to be created with Azure PaaS VMs. This property and virtualMachineConfiguration are mutually exclusive and one of the properties must be specified. If neither is specified then the Batch service returns an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). - CloudServiceConfiguration *CloudServiceConfiguration `json:"cloudServiceConfiguration,omitempty"` - // VirtualMachineConfiguration - This property must be specified if the pool needs to be created with Azure IaaS VMs. This property and cloudServiceConfiguration are mutually exclusive and one of the properties must be specified. If neither is specified then the Batch service returns an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). - VirtualMachineConfiguration *VirtualMachineConfiguration `json:"virtualMachineConfiguration,omitempty"` - // MaxTasksPerNode - The default value is 1. The maximum value of this setting depends on the size of the compute nodes in the pool (the vmSize setting). - MaxTasksPerNode *int32 `json:"maxTasksPerNode,omitempty"` - // TaskSchedulingPolicy - How tasks are distributed among compute nodes in the pool. - TaskSchedulingPolicy *TaskSchedulingPolicy `json:"taskSchedulingPolicy,omitempty"` - // ResizeTimeout - This timeout applies only to manual scaling; it has no effect when enableAutoScale is set to true. The default value is 15 minutes. The minimum value is 5 minutes. If you specify a value less than 5 minutes, the Batch service rejects the request with an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). - ResizeTimeout *string `json:"resizeTimeout,omitempty"` - // TargetDedicated - This property must not be specified if enableAutoScale is set to true. It is required if enableAutoScale is set to false. - TargetDedicated *int32 `json:"targetDedicated,omitempty"` - // EnableAutoScale - If false, the targetDedicated element is required. If true, the autoScaleFormula element is required. The pool automatically resizes according to the formula. The default value is false. - EnableAutoScale *bool `json:"enableAutoScale,omitempty"` - // AutoScaleFormula - This property must not be specified if enableAutoScale is set to false. It is required if enableAutoScale is set to true. The formula is checked for validity before the pool is created. If the formula is not valid, the Batch service rejects the request with detailed error information. - AutoScaleFormula *string `json:"autoScaleFormula,omitempty"` - // AutoScaleEvaluationInterval - The default value is 15 minutes. The minimum and maximum value are 5 minutes and 168 hours respectively. If you specify a value less than 5 minutes or greater than 168 hours, the Batch service rejects the request with an invalid property value error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). - AutoScaleEvaluationInterval *string `json:"autoScaleEvaluationInterval,omitempty"` - // EnableInterNodeCommunication - Enabling inter-node communication limits the maximum size of the pool due to deployment restrictions on the nodes of the pool. This may result in the pool not reaching its desired size. The default value is false. - EnableInterNodeCommunication *bool `json:"enableInterNodeCommunication,omitempty"` - NetworkConfiguration *NetworkConfiguration `json:"networkConfiguration,omitempty"` - StartTask *StartTask `json:"startTask,omitempty"` - // CertificateReferences - For Windows compute nodes, the Batch service installs the certificates to the specified certificate store and location. For Linux compute nodes, the certificates are stored in a directory inside the task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the task to query for this location. For certificates with visibility of remoteuser, a certs directory is created in the user's home directory (e.g., /home//certs) where certificates are placed. - CertificateReferences *[]CertificateReference `json:"certificateReferences,omitempty"` - // ApplicationPackageReferences - This property is currently not supported on auto pools created with the virtualMachineConfiguration (IaaS) property. - ApplicationPackageReferences *[]ApplicationPackageReference `json:"applicationPackageReferences,omitempty"` - // Metadata - The Batch service does not assign any meaning to metadata; it is solely for the use of user code. - Metadata *[]MetadataItem `json:"metadata,omitempty"` -} - -// PoolStatistics ... -type PoolStatistics struct { - autorest.Response `json:"-"` - URL *string `json:"url,omitempty"` - StartTime *date.Time `json:"startTime,omitempty"` - LastUpdateTime *date.Time `json:"lastUpdateTime,omitempty"` - UsageStats *UsageStatistics `json:"usageStats,omitempty"` - ResourceStats *ResourceStatistics `json:"resourceStats,omitempty"` -} - -// PoolUpdatePropertiesParameter ... -type PoolUpdatePropertiesParameter struct { - // StartTask - If this element is present, it overwrites any existing start task. If omitted, any existing start task is removed from the pool. - StartTask *StartTask `json:"startTask,omitempty"` - // CertificateReferences - If you specify an empty collection, any existing certificate references are removed from the pool. For Windows compute nodes, the Batch service installs the certificates to the specified certificate store and location. For Linux compute nodes, the certificates are stored in a directory inside the task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the task to query for this location. For certificates with visibility of remoteuser, a certs directory is created in the user's home directory (e.g., /home//certs) where certificates are placed. - CertificateReferences *[]CertificateReference `json:"certificateReferences,omitempty"` - // ApplicationPackageReferences - Changes to application package references affect all new compute nodes joining the pool, but do not affect compute nodes that are already in the pool until they are rebooted or reimaged. The list replaces any existing application package references. If omitted, or if you specify an empty collection, any existing application packages references are removed from the pool. - ApplicationPackageReferences *[]ApplicationPackageReference `json:"applicationPackageReferences,omitempty"` - // Metadata - This list replaces any existing metadata configured on the pool. If omitted, or if you specify an empty collection, any existing metadata is removed from the pool. - Metadata *[]MetadataItem `json:"metadata,omitempty"` -} - -// PoolUpgradeOSParameter ... -type PoolUpgradeOSParameter struct { - TargetOSVersion *string `json:"targetOSVersion,omitempty"` -} - -// PoolUsageMetrics ... -type PoolUsageMetrics struct { - PoolID *string `json:"poolId,omitempty"` - StartTime *date.Time `json:"startTime,omitempty"` - EndTime *date.Time `json:"endTime,omitempty"` - // VMSize - For information about available sizes of virtual machines for Cloud Services pools (pools created with cloudServiceConfiguration), see Sizes for Cloud Services (http://azure.microsoft.com/documentation/articles/cloud-services-sizes-specs/). Batch supports all Cloud Services VM sizes except ExtraSmall. For information about available VM sizes for pools using images from the Virtual Machines Marketplace (pools created with virtualMachineConfiguration) see Sizes for Virtual Machines (Linux) (https://azure.microsoft.com/documentation/articles/virtual-machines-linux-sizes/) or Sizes for Virtual Machines (Windows) (https://azure.microsoft.com/documentation/articles/virtual-machines-windows-sizes/). Batch supports all Azure VM sizes except STANDARD_A0 and those with premium storage (STANDARD_GS, STANDARD_DS, and STANDARD_DSV2 series). - VMSize *string `json:"vmSize,omitempty"` - TotalCoreHours *float64 `json:"totalCoreHours,omitempty"` - DataIngressGiB *float64 `json:"dataIngressGiB,omitempty"` - DataEgressGiB *float64 `json:"dataEgressGiB,omitempty"` -} - -// ReadCloser ... -type ReadCloser struct { - autorest.Response `json:"-"` - Value *io.ReadCloser `json:"value,omitempty"` -} - -// RecentJob ... -type RecentJob struct { - ID *string `json:"id,omitempty"` - URL *string `json:"url,omitempty"` -} - -// ResizeError ... -type ResizeError struct { - Code *string `json:"code,omitempty"` - Message *string `json:"message,omitempty"` - Values *[]NameValuePair `json:"values,omitempty"` -} - -// ResourceFile ... -type ResourceFile struct { - // BlobSource - This URL must be readable using anonymous access; that is, the Batch service does not present any credentials when downloading the blob. There are two ways to get such a URL for a blob in Azure storage: include a Shared Access Signature (SAS) granting read permissions on the blob, or set the ACL for the blob or its container to allow public access. - BlobSource *string `json:"blobSource,omitempty"` - FilePath *string `json:"filePath,omitempty"` - // FileMode - This property applies only to files being downloaded to Linux compute nodes. It will be ignored if it is specified for a resourceFile which will be downloaded to a Windows node. If this property is not specified for a Linux node, then a default value of 0770 is applied to the file. - FileMode *string `json:"fileMode,omitempty"` -} - -// ResourceStatistics ... -type ResourceStatistics struct { - StartTime *date.Time `json:"startTime,omitempty"` - LastUpdateTime *date.Time `json:"lastUpdateTime,omitempty"` - AvgCPUPercentage *float64 `json:"avgCPUPercentage,omitempty"` - AvgMemoryGiB *float64 `json:"avgMemoryGiB,omitempty"` - PeakMemoryGiB *float64 `json:"peakMemoryGiB,omitempty"` - AvgDiskGiB *float64 `json:"avgDiskGiB,omitempty"` - PeakDiskGiB *float64 `json:"peakDiskGiB,omitempty"` - DiskReadIOps *int64 `json:"diskReadIOps,omitempty"` - DiskWriteIOps *int64 `json:"diskWriteIOps,omitempty"` - DiskReadGiB *float64 `json:"diskReadGiB,omitempty"` - DiskWriteGiB *float64 `json:"diskWriteGiB,omitempty"` - NetworkReadGiB *float64 `json:"networkReadGiB,omitempty"` - NetworkWriteGiB *float64 `json:"networkWriteGiB,omitempty"` -} - -// Schedule ... -type Schedule struct { - // DoNotRunUntil - If you do not specify a doNotRunUntil time, the schedule becomes ready to create jobs immediately. - DoNotRunUntil *date.Time `json:"doNotRunUntil,omitempty"` - // DoNotRunAfter - If you do not specify a doNotRunAfter time, and you are creating a recurring job schedule, the job schedule will remain active until you explicitly terminate it. - DoNotRunAfter *date.Time `json:"doNotRunAfter,omitempty"` - // StartWindow - If a job is not created within the startWindow interval, then the 'opportunity' is lost; no job will be created until the next recurrence of the schedule. If the schedule is recurring, and the startWindow is longer than the recurrence interval, then this is equivalent to an infinite startWindow, because the job that is 'due' in one recurrenceInterval is not carried forward into the next recurrence interval. The default is infinite. The minimum value is 1 minute. If you specify a lower value, the Batch service rejects the schedule with an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). - StartWindow *string `json:"startWindow,omitempty"` - // RecurrenceInterval - Because a job schedule can have at most one active job under it at any given time, if it is time to create a new job under a job schedule, but the previous job is still running, the Batch service will not create the new job until the previous job finishes. If the previous job does not finish within the startWindow period of the new recurrenceInterval, then no new job will be scheduled for that interval. For recurring jobs, you should normally specify a jobManagerTask in the jobSpecification. If you do not use jobManagerTask, you will need an external process to monitor when jobs are created, add tasks to the jobs and terminate the jobs ready for the next recurrence. The default is that the schedule does not recur: one job is created, within the startWindow after the doNotRunUntil time, and the schedule is complete as soon as that job finishes. The minimum value is 1 minute. If you specify a lower value, the Batch service rejects the schedule with an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). - RecurrenceInterval *string `json:"recurrenceInterval,omitempty"` -} - -// StartTask ... -type StartTask struct { - // CommandLine - The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example using "cmd /c MyCommand" in Windows or "/bin/sh -c MyCommand" in Linux. - CommandLine *string `json:"commandLine,omitempty"` - ResourceFiles *[]ResourceFile `json:"resourceFiles,omitempty"` - EnvironmentSettings *[]EnvironmentSetting `json:"environmentSettings,omitempty"` - RunElevated *bool `json:"runElevated,omitempty"` - // MaxTaskRetryCount - The Batch service retries a task if its exit code is nonzero. Note that this value specifically controls the number of retries. The Batch service will try the task once, and may then retry up to this limit. For example, if the maximum retry count is 3, Batch tries the task up to 4 times (one initial try and 3 retries). If the maximum retry count is 0, the Batch service does not retry the task. If the maximum retry count is -1, the Batch service retries the task without limit. - MaxTaskRetryCount *int32 `json:"maxTaskRetryCount,omitempty"` - // WaitForSuccess - If true and the start task fails on a compute node, the Batch service retries the start task up to its maximum retry count (maxTaskRetryCount). If the task has still not completed successfully after all retries, then the Batch service marks the compute node unusable, and will not schedule tasks to it. This condition can be detected via the node state and scheduling error detail. If false, the Batch service will not wait for the start task to complete. In this case, other tasks can start executing on the compute node while the start task is still running; and even if the start task fails, new tasks will continue to be scheduled on the node. The default is false. - WaitForSuccess *bool `json:"waitForSuccess,omitempty"` -} - -// StartTaskInformation ... -type StartTaskInformation struct { - // State - Possible values are: running – The start task is currently running. completed – The start task has exited with exit code 0, or the start task has failed and the retry limit has reached, or the start task process did not run due to scheduling errors. Possible values include: 'StartTaskStateRunning', 'StartTaskStateCompleted' - State StartTaskState `json:"state,omitempty"` - // StartTime - This value is reset every time the task is restarted or retried (that is, this is the most recent time at which the start task started running). - StartTime *date.Time `json:"startTime,omitempty"` - // EndTime - This is the end time of the most recent run of the start task, if that run has completed (even if that run failed and a retry is pending). This element is not present if the start task is currently running. - EndTime *date.Time `json:"endTime,omitempty"` - // ExitCode - This property is set only if the start task is in the completed state. In general, the exit code for a process reflects the specific convention implemented by the application developer for that process. If you use the exit code value to make decisions in your code, be sure that you know the exit code convention used by the application process. However, if the Batch service terminates the start task (due to timeout, or user termination via the API) you may see an operating system-defined exit code. - ExitCode *int32 `json:"exitCode,omitempty"` - SchedulingError *TaskSchedulingError `json:"schedulingError,omitempty"` - // RetryCount - The task is retried if it exits with a nonzero exit code, up to the specified MaxTaskRetryCount. - RetryCount *int32 `json:"retryCount,omitempty"` - // LastRetryTime - This element is present only if the task was retried (i.e. retryCount is nonzero). If present, this is typically the same as startTime, but may be different if the task has been restarted for reasons other than retry; for example, if the compute node was rebooted during a retry, then the startTime is updated but the lastRetryTime is not. - LastRetryTime *date.Time `json:"lastRetryTime,omitempty"` -} - -// SubtaskInformation ... -type SubtaskInformation struct { - ID *int32 `json:"id,omitempty"` - NodeInfo *ComputeNodeInformation `json:"nodeInfo,omitempty"` - StartTime *date.Time `json:"startTime,omitempty"` - // EndTime - This property is set only if the subtask is in the Completed state. - EndTime *date.Time `json:"endTime,omitempty"` - // ExitCode - This property is set only if the subtask is in the completed state. In general, the exit code for a process reflects the specific convention implemented by the application developer for that process. If you use the exit code value to make decisions in your code, be sure that you know the exit code convention used by the application process. However, if the Batch service terminates the subtask (due to timeout, or user termination via the API) you may see an operating system-defined exit code. - ExitCode *int32 `json:"exitCode,omitempty"` - SchedulingError *TaskSchedulingError `json:"schedulingError,omitempty"` - // State - Possible values include: 'TaskStateActive', 'TaskStatePreparing', 'TaskStateRunning', 'TaskStateCompleted' - State TaskState `json:"state,omitempty"` - StateTransitionTime *date.Time `json:"stateTransitionTime,omitempty"` - // PreviousState - This property is not set if the subtask is in its initial running state. Possible values include: 'TaskStateActive', 'TaskStatePreparing', 'TaskStateRunning', 'TaskStateCompleted' - PreviousState TaskState `json:"previousState,omitempty"` - // PreviousStateTransitionTime - This property is not set if the subtask is in its initial running state. - PreviousStateTransitionTime *date.Time `json:"previousStateTransitionTime,omitempty"` -} - -// TaskAddCollectionParameter ... -type TaskAddCollectionParameter struct { - Value *[]TaskAddParameter `json:"value,omitempty"` -} - -// TaskAddCollectionResult ... -type TaskAddCollectionResult struct { - autorest.Response `json:"-"` - Value *[]TaskAddResult `json:"value,omitempty"` -} - -// TaskAddParameter ... -type TaskAddParameter struct { - // ID - The ID can contain any combination of alphanumeric characters including hyphens and underscores, and cannot contain more than 64 characters. The ID is case-preserving and case-insensitive (that is, you may not have two IDs within a job that differ only by case). - ID *string `json:"id,omitempty"` - // DisplayName - The display name need not be unique and can contain any Unicode characters up to a maximum length of 1024. - DisplayName *string `json:"displayName,omitempty"` - // CommandLine - For multi-instance tasks, the command line is executed as the primary task, after the primary task and all subtasks have finished executing the coordination command line. The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example using "cmd /c MyCommand" in Windows or "/bin/sh -c MyCommand" in Linux. - CommandLine *string `json:"commandLine,omitempty"` - // ExitConditions - How the Batch service should respond when the task completes. - ExitConditions *ExitConditions `json:"exitConditions,omitempty"` - // ResourceFiles - For multi-instance tasks, the resource files will only be downloaded to the compute node on which the primary task is executed. - ResourceFiles *[]ResourceFile `json:"resourceFiles,omitempty"` - EnvironmentSettings *[]EnvironmentSetting `json:"environmentSettings,omitempty"` - AffinityInfo *AffinityInformation `json:"affinityInfo,omitempty"` - // Constraints - If you do not specify constraints, the maxTaskRetryCount is the maxTaskRetryCount specified for the job, and the maxWallClockTime and retentionTime are infinite. - Constraints *TaskConstraints `json:"constraints,omitempty"` - // RunElevated - The default value is false. - RunElevated *bool `json:"runElevated,omitempty"` - MultiInstanceSettings *MultiInstanceSettings `json:"multiInstanceSettings,omitempty"` - // DependsOn - The task will not be scheduled until all depended-on tasks have completed successfully. (If any depended-on tasks fail and exhaust their retry counts, the task will never be scheduled.) If the job does not have usesTaskDependencies set to true, and this element is present, the request fails with error code TaskDependenciesNotSpecifiedOnJob. - DependsOn *TaskDependencies `json:"dependsOn,omitempty"` - ApplicationPackageReferences *[]ApplicationPackageReference `json:"applicationPackageReferences,omitempty"` -} - -// TaskAddResult ... -type TaskAddResult struct { - // Status - Possible values include: 'TaskAddStatusSuccess', 'TaskAddStatusClienterror', 'TaskAddStatusServererror', 'TaskAddStatusUnmapped' - Status TaskAddStatus `json:"status,omitempty"` - TaskID *string `json:"taskId,omitempty"` - ETag *string `json:"eTag,omitempty"` - LastModified *date.Time `json:"lastModified,omitempty"` - Location *string `json:"location,omitempty"` - Error *Error `json:"error,omitempty"` -} - -// TaskConstraints ... -type TaskConstraints struct { - // MaxWallClockTime - If this is not specified, there is no time limit on how long the task may run. - MaxWallClockTime *string `json:"maxWallClockTime,omitempty"` - // RetentionTime - The default is infinite, i.e. the task directory will be retained until the compute node is removed or reimaged. - RetentionTime *string `json:"retentionTime,omitempty"` - // MaxTaskRetryCount - Note that this value specifically controls the number of retries. The Batch service will try the task once, and may then retry up to this limit. For example, if the maximum retry count is 3, Batch tries the task up to 4 times (one initial try and 3 retries). If the maximum retry count is 0, the Batch service does not retry the task. If the maximum retry count is -1, the Batch service retries the task without limit. - MaxTaskRetryCount *int32 `json:"maxTaskRetryCount,omitempty"` -} - -// TaskDependencies ... -type TaskDependencies struct { - TaskIds *[]string `json:"taskIds,omitempty"` - TaskIDRanges *[]TaskIDRange `json:"taskIdRanges,omitempty"` -} - -// TaskExecutionInformation ... -type TaskExecutionInformation struct { - // StartTime - 'Running' corresponds to the running state, so if the task specifies resource files or application packages, then the start time reflects the time at which the task started downloading or deploying these. If the task has been restarted or retried, this is the most recent time at which the task started running. This property is present only for tasks that are in the running or completed state. - StartTime *date.Time `json:"startTime,omitempty"` - // EndTime - This property is set only if the task is in the Completed state. - EndTime *date.Time `json:"endTime,omitempty"` - // ExitCode - This property is set only if the task is in the completed state. In general, the exit code for a process reflects the specific convention implemented by the application developer for that process. If you use the exit code value to make decisions in your code, be sure that you know the exit code convention used by the application process. However, if the Batch service terminates the task (due to timeout, or user termination via the API) you may see an operating system-defined exit code. - ExitCode *int32 `json:"exitCode,omitempty"` - // SchedulingError - This property is set only if the task is in the completed state. - SchedulingError *TaskSchedulingError `json:"schedulingError,omitempty"` - // RetryCount - The task is retried if it exits with a nonzero exit code, up to the specified maxTaskRetryCount. - RetryCount *int32 `json:"retryCount,omitempty"` - // LastRetryTime - This element is present only if the task was retried (i.e. retryCount is nonzero). If present, this is typically the same as startTime, but may be different if the task has been restarted for reasons other than retry; for example, if the compute node was rebooted during a retry, then the startTime is updated but the lastRetryTime is not. - LastRetryTime *date.Time `json:"lastRetryTime,omitempty"` - // RequeueCount - When the user removes nodes from a pool (by resizing/shrinking the pool) or when the job is being disabled, the user can specify that running tasks on the nodes be requeued for execution. This count tracks how many times the task has been requeued for these reasons. - RequeueCount *int32 `json:"requeueCount,omitempty"` - // LastRequeueTime - This property is set only if the requeueCount is nonzero. - LastRequeueTime *date.Time `json:"lastRequeueTime,omitempty"` -} - -// TaskIDRange the start and end of the range are inclusive. For example, if a range has start 9 and end 12, then -// it represents tasks '9', '10', '11' and '12'. -type TaskIDRange struct { - Start *int32 `json:"start,omitempty"` - End *int32 `json:"end,omitempty"` -} - -// TaskInformation ... -type TaskInformation struct { - TaskURL *string `json:"taskUrl,omitempty"` - JobID *string `json:"jobId,omitempty"` - TaskID *string `json:"taskId,omitempty"` - SubtaskID *int32 `json:"subtaskId,omitempty"` - // TaskState - Possible values include: 'TaskStateActive', 'TaskStatePreparing', 'TaskStateRunning', 'TaskStateCompleted' - TaskState TaskState `json:"taskState,omitempty"` - ExecutionInfo *TaskExecutionInformation `json:"executionInfo,omitempty"` -} - -// TaskSchedulingError ... -type TaskSchedulingError struct { - // Category - Possible values include: 'SchedulingErrorCategoryUsererror', 'SchedulingErrorCategoryServererror', 'SchedulingErrorCategoryUnmapped' - Category SchedulingErrorCategory `json:"category,omitempty"` - Code *string `json:"code,omitempty"` - Message *string `json:"message,omitempty"` - Details *[]NameValuePair `json:"details,omitempty"` -} - -// TaskSchedulingPolicy ... -type TaskSchedulingPolicy struct { - // NodeFillType - Possible values include: 'ComputeNodeFillTypeSpread', 'ComputeNodeFillTypePack', 'ComputeNodeFillTypeUnmapped' - NodeFillType ComputeNodeFillType `json:"nodeFillType,omitempty"` -} - -// TaskStatistics ... -type TaskStatistics struct { - URL *string `json:"url,omitempty"` - StartTime *date.Time `json:"startTime,omitempty"` - LastUpdateTime *date.Time `json:"lastUpdateTime,omitempty"` - UserCPUTime *string `json:"userCPUTime,omitempty"` - KernelCPUTime *string `json:"kernelCPUTime,omitempty"` - // WallClockTime - The wall clock time is the elapsed time from when the task started running on a compute node to when it finished (or to the last time the statistics were updated, if the task had not finished by then). If the task was retried, this includes the wall clock time of all the task retries. - WallClockTime *string `json:"wallClockTime,omitempty"` - ReadIOps *int64 `json:"readIOps,omitempty"` - WriteIOps *int64 `json:"writeIOps,omitempty"` - ReadIOGiB *float64 `json:"readIOGiB,omitempty"` - WriteIOGiB *float64 `json:"writeIOGiB,omitempty"` - WaitTime *string `json:"waitTime,omitempty"` -} - -// TaskUpdateParameter ... -type TaskUpdateParameter struct { - // Constraints - If omitted, the task is given the default constraints. - Constraints *TaskConstraints `json:"constraints,omitempty"` -} - -// UsageStatistics ... -type UsageStatistics struct { - StartTime *date.Time `json:"startTime,omitempty"` - LastUpdateTime *date.Time `json:"lastUpdateTime,omitempty"` - DedicatedCoreTime *string `json:"dedicatedCoreTime,omitempty"` -} - -// VirtualMachineConfiguration ... -type VirtualMachineConfiguration struct { - ImageReference *ImageReference `json:"imageReference,omitempty"` - // NodeAgentSKUID - The Batch node agent is a program that runs on each node in the pool, and provides the command-and-control interface between the node and the Batch service. There are different implementations of the node agent, known as SKUs, for different operating systems. You must specify a node agent SKU which matches the selected image reference. To get the list of supported node agent SKUs along with their list of verified image references, see the 'List supported node agent SKUs' operation. - NodeAgentSKUID *string `json:"nodeAgentSKUId,omitempty"` - // WindowsConfiguration - This property must not be specified if the imageReference property specifies a Linux OS image. - WindowsConfiguration *WindowsConfiguration `json:"windowsConfiguration,omitempty"` -} - -// WindowsConfiguration ... -type WindowsConfiguration struct { - // EnableAutomaticUpdates - If omitted, the default value is true. - EnableAutomaticUpdates *bool `json:"enableAutomaticUpdates,omitempty"` -} diff --git a/services/batch/2016-07-01.3.1/batch/pool.go b/services/batch/2016-07-01.3.1/batch/pool.go deleted file mode 100644 index a7f5f70c77bd..000000000000 --- a/services/batch/2016-07-01.3.1/batch/pool.go +++ /dev/null @@ -1,1842 +0,0 @@ -package batch - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/autorest/date" - "github.com/Azure/go-autorest/autorest/validation" - "net/http" -) - -// PoolClient is the a client for issuing REST requests to the Azure Batch service. -type PoolClient struct { - BaseClient -} - -// NewPoolClient creates an instance of the PoolClient client. -func NewPoolClient() PoolClient { - return NewPoolClientWithBaseURI(DefaultBaseURI) -} - -// NewPoolClientWithBaseURI creates an instance of the PoolClient client. -func NewPoolClientWithBaseURI(baseURI string) PoolClient { - return PoolClient{NewWithBaseURI(baseURI)} -} - -// Add when naming pools, avoid including sensitive information such as user names or secret project names. This -// information may appear in telemetry logs accessible to Microsoft Support engineers. -// -// pool is the pool to be added. timeout is the maximum time that the server can spend processing the request, in -// seconds. The default is 30 seconds. clientRequestID is the caller-generated request identity, in the form of a -// GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID -// is whether the server should return the client-request-id in the response. ocpDate is the time the request was -// issued. If not specified, this header will be automatically populated with the current system clock time. -func (client PoolClient) Add(ctx context.Context, pool PoolAddParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: pool, - Constraints: []validation.Constraint{{Target: "pool.ID", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "pool.VMSize", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "pool.CloudServiceConfiguration", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "pool.CloudServiceConfiguration.OsFamily", Name: validation.Null, Rule: true, Chain: nil}}}, - {Target: "pool.VirtualMachineConfiguration", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "pool.VirtualMachineConfiguration.ImageReference", Name: validation.Null, Rule: true, - Chain: []validation.Constraint{{Target: "pool.VirtualMachineConfiguration.ImageReference.Publisher", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "pool.VirtualMachineConfiguration.ImageReference.Offer", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "pool.VirtualMachineConfiguration.ImageReference.Sku", Name: validation.Null, Rule: true, Chain: nil}, - }}, - {Target: "pool.VirtualMachineConfiguration.NodeAgentSKUID", Name: validation.Null, Rule: true, Chain: nil}, - }}, - {Target: "pool.StartTask", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "pool.StartTask.CommandLine", Name: validation.Null, Rule: true, Chain: nil}}}}}}); err != nil { - return result, validation.NewError("batch.PoolClient", "Add", err.Error()) - } - - req, err := client.AddPreparer(ctx, pool, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Add", nil, "Failure preparing request") - return - } - - resp, err := client.AddSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Add", resp, "Failure sending request") - return - } - - result, err = client.AddResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Add", resp, "Failure responding to request") - } - - return -} - -// AddPreparer prepares the Add request. -func (client PoolClient) AddPreparer(ctx context.Context, pool PoolAddParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - const APIVersion = "2016-07-01.3.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPath("/pools"), - autorest.WithJSON(pool), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// AddSender sends the Add request. The method will close the -// http.Response Body if it receives an error. -func (client PoolClient) AddSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// AddResponder handles the response to the Add request. The method always -// closes the http.Response Body. -func (client PoolClient) AddResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), - autorest.ByClosing()) - result.Response = resp - return -} - -// Delete when you request that a pool be deleted, the following actions occur: the pool state is set to deleting; any -// ongoing resize operation on the pool are stopped; the Batch service starts resizing the pool to zero nodes; any -// tasks running on existing nodes are terminated and requeued (as if a resize pool operation had been requested with -// the default requeue option); finally, the pool is removed from the system. Because running tasks are requeued, the -// user can rerun these tasks by updating their job to target a different pool. The tasks can then run on the new pool. -// If you want to override the requeue behavior, then you should call resize pool explicitly to shrink the pool to zero -// size before deleting the pool. If you call an Update, Patch or Delete API on a pool in the deleting state, it will -// fail with HTTP status code 409 with error code PoolBeingDeleted. -// -// poolID is the ID of the pool to delete. timeout is the maximum time that the server can spend processing the -// request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated request identity, in the -// form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. -// returnClientRequestID is whether the server should return the client-request-id in the response. ocpDate is the -// time the request was issued. If not specified, this header will be automatically populated with the current -// system clock time. ifMatch is an ETag is specified. Specify this header to perform the operation only if the -// resource's ETag is an exact match as specified. ifNoneMatch is an ETag is specified. Specify this header to -// perform the operation only if the resource's ETag does not match the specified ETag. ifModifiedSince is specify -// this header to perform the operation only if the resource has been modified since the specified date/time. -// ifUnmodifiedSince is specify this header to perform the operation only if the resource has not been modified -// since the specified date/time. -func (client PoolClient) Delete(ctx context.Context, poolID string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.DeletePreparer(ctx, poolID, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Delete", nil, "Failure preparing request") - return - } - - resp, err := client.DeleteSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Delete", resp, "Failure sending request") - return - } - - result, err = client.DeleteResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Delete", resp, "Failure responding to request") - } - - return -} - -// DeletePreparer prepares the Delete request. -func (client PoolClient) DeletePreparer(ctx context.Context, poolID string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2016-07-01.3.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsDelete(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DeleteSender sends the Delete request. The method will close the -// http.Response Body if it receives an error. -func (client PoolClient) DeleteSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// DeleteResponder handles the response to the Delete request. The method always -// closes the http.Response Body. -func (client PoolClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByClosing()) - result.Response = resp - return -} - -// DisableAutoScale sends the disable auto scale request. -// -// poolID is the ID of the pool on which to disable automatic scaling. timeout is the maximum time that the server -// can spend processing the request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated -// request identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. If not specified, this header -// will be automatically populated with the current system clock time. -func (client PoolClient) DisableAutoScale(ctx context.Context, poolID string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.DisableAutoScalePreparer(ctx, poolID, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "DisableAutoScale", nil, "Failure preparing request") - return - } - - resp, err := client.DisableAutoScaleSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.PoolClient", "DisableAutoScale", resp, "Failure sending request") - return - } - - result, err = client.DisableAutoScaleResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "DisableAutoScale", resp, "Failure responding to request") - } - - return -} - -// DisableAutoScalePreparer prepares the DisableAutoScale request. -func (client PoolClient) DisableAutoScalePreparer(ctx context.Context, poolID string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2016-07-01.3.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/disableautoscale", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DisableAutoScaleSender sends the DisableAutoScale request. The method will close the -// http.Response Body if it receives an error. -func (client PoolClient) DisableAutoScaleSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// DisableAutoScaleResponder handles the response to the DisableAutoScale request. The method always -// closes the http.Response Body. -func (client PoolClient) DisableAutoScaleResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} - -// EnableAutoScale you cannot enable automatic scaling on a pool if a resize operation is in progress on the pool. If -// automatic scaling of the pool is currently disabled, you must specify a valid autoscale formula as part of the -// request. If automatic scaling of the pool is already enabled, you may specify a new autoscale formula and/or a new -// evaluation interval. You cannot call this API for the same pool more than once every 30 seconds. -// -// poolID is the ID of the pool on which to enable automatic scaling. poolEnableAutoScaleParameter is the -// parameters for the request. timeout is the maximum time that the server can spend processing the request, in -// seconds. The default is 30 seconds. clientRequestID is the caller-generated request identity, in the form of a -// GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID -// is whether the server should return the client-request-id in the response. ocpDate is the time the request was -// issued. If not specified, this header will be automatically populated with the current system clock time. -// ifMatch is an ETag is specified. Specify this header to perform the operation only if the resource's ETag is an -// exact match as specified. ifNoneMatch is an ETag is specified. Specify this header to perform the operation only -// if the resource's ETag does not match the specified ETag. ifModifiedSince is specify this header to perform the -// operation only if the resource has been modified since the specified date/time. ifUnmodifiedSince is specify -// this header to perform the operation only if the resource has not been modified since the specified date/time. -func (client PoolClient) EnableAutoScale(ctx context.Context, poolID string, poolEnableAutoScaleParameter PoolEnableAutoScaleParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.EnableAutoScalePreparer(ctx, poolID, poolEnableAutoScaleParameter, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "EnableAutoScale", nil, "Failure preparing request") - return - } - - resp, err := client.EnableAutoScaleSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.PoolClient", "EnableAutoScale", resp, "Failure sending request") - return - } - - result, err = client.EnableAutoScaleResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "EnableAutoScale", resp, "Failure responding to request") - } - - return -} - -// EnableAutoScalePreparer prepares the EnableAutoScale request. -func (client PoolClient) EnableAutoScalePreparer(ctx context.Context, poolID string, poolEnableAutoScaleParameter PoolEnableAutoScaleParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2016-07-01.3.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/enableautoscale", pathParameters), - autorest.WithJSON(poolEnableAutoScaleParameter), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// EnableAutoScaleSender sends the EnableAutoScale request. The method will close the -// http.Response Body if it receives an error. -func (client PoolClient) EnableAutoScaleSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// EnableAutoScaleResponder handles the response to the EnableAutoScale request. The method always -// closes the http.Response Body. -func (client PoolClient) EnableAutoScaleResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} - -// EvaluateAutoScale this API is primarily for validating an autoscale formula, as it simply returns the result without -// applying the formula to the pool. -// -// poolID is the ID of the pool on which to evaluate the automatic scaling formula. poolEvaluateAutoScaleParameter -// is the parameters for the request. timeout is the maximum time that the server can spend processing the request, -// in seconds. The default is 30 seconds. clientRequestID is the caller-generated request identity, in the form of -// a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID -// is whether the server should return the client-request-id in the response. ocpDate is the time the request was -// issued. If not specified, this header will be automatically populated with the current system clock time. -func (client PoolClient) EvaluateAutoScale(ctx context.Context, poolID string, poolEvaluateAutoScaleParameter PoolEvaluateAutoScaleParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result AutoScaleRun, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: poolEvaluateAutoScaleParameter, - Constraints: []validation.Constraint{{Target: "poolEvaluateAutoScaleParameter.AutoScaleFormula", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { - return result, validation.NewError("batch.PoolClient", "EvaluateAutoScale", err.Error()) - } - - req, err := client.EvaluateAutoScalePreparer(ctx, poolID, poolEvaluateAutoScaleParameter, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "EvaluateAutoScale", nil, "Failure preparing request") - return - } - - resp, err := client.EvaluateAutoScaleSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.PoolClient", "EvaluateAutoScale", resp, "Failure sending request") - return - } - - result, err = client.EvaluateAutoScaleResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "EvaluateAutoScale", resp, "Failure responding to request") - } - - return -} - -// EvaluateAutoScalePreparer prepares the EvaluateAutoScale request. -func (client PoolClient) EvaluateAutoScalePreparer(ctx context.Context, poolID string, poolEvaluateAutoScaleParameter PoolEvaluateAutoScaleParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2016-07-01.3.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/evaluateautoscale", pathParameters), - autorest.WithJSON(poolEvaluateAutoScaleParameter), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// EvaluateAutoScaleSender sends the EvaluateAutoScale request. The method will close the -// http.Response Body if it receives an error. -func (client PoolClient) EvaluateAutoScaleSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// EvaluateAutoScaleResponder handles the response to the EvaluateAutoScale request. The method always -// closes the http.Response Body. -func (client PoolClient) EvaluateAutoScaleResponder(resp *http.Response) (result AutoScaleRun, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// Exists gets basic properties of a pool. -// -// poolID is the ID of the pool to get. timeout is the maximum time that the server can spend processing the -// request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated request identity, in the -// form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. -// returnClientRequestID is whether the server should return the client-request-id in the response. ocpDate is the -// time the request was issued. If not specified, this header will be automatically populated with the current -// system clock time. ifMatch is an ETag is specified. Specify this header to perform the operation only if the -// resource's ETag is an exact match as specified. ifNoneMatch is an ETag is specified. Specify this header to -// perform the operation only if the resource's ETag does not match the specified ETag. ifModifiedSince is specify -// this header to perform the operation only if the resource has been modified since the specified date/time. -// ifUnmodifiedSince is specify this header to perform the operation only if the resource has not been modified -// since the specified date/time. -func (client PoolClient) Exists(ctx context.Context, poolID string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.ExistsPreparer(ctx, poolID, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Exists", nil, "Failure preparing request") - return - } - - resp, err := client.ExistsSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Exists", resp, "Failure sending request") - return - } - - result, err = client.ExistsResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Exists", resp, "Failure responding to request") - } - - return -} - -// ExistsPreparer prepares the Exists request. -func (client PoolClient) ExistsPreparer(ctx context.Context, poolID string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2016-07-01.3.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsHead(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ExistsSender sends the Exists request. The method will close the -// http.Response Body if it receives an error. -func (client PoolClient) ExistsSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ExistsResponder handles the response to the Exists request. The method always -// closes the http.Response Body. -func (client PoolClient) ExistsResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), - autorest.ByClosing()) - result.Response = resp - return -} - -// Get gets information about the specified pool. -// -// poolID is the ID of the pool to get. selectParameter is an OData $select clause. expand is an OData $expand -// clause. timeout is the maximum time that the server can spend processing the request, in seconds. The default is -// 30 seconds. clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration -// such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server -// should return the client-request-id in the response. ocpDate is the time the request was issued. If not -// specified, this header will be automatically populated with the current system clock time. ifMatch is an ETag is -// specified. Specify this header to perform the operation only if the resource's ETag is an exact match as -// specified. ifNoneMatch is an ETag is specified. Specify this header to perform the operation only if the -// resource's ETag does not match the specified ETag. ifModifiedSince is specify this header to perform the -// operation only if the resource has been modified since the specified date/time. ifUnmodifiedSince is specify -// this header to perform the operation only if the resource has not been modified since the specified date/time. -func (client PoolClient) Get(ctx context.Context, poolID string, selectParameter string, expand string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result CloudPool, err error) { - req, err := client.GetPreparer(ctx, poolID, selectParameter, expand, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Get", nil, "Failure preparing request") - return - } - - resp, err := client.GetSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Get", resp, "Failure sending request") - return - } - - result, err = client.GetResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Get", resp, "Failure responding to request") - } - - return -} - -// GetPreparer prepares the Get request. -func (client PoolClient) GetPreparer(ctx context.Context, poolID string, selectParameter string, expand string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2016-07-01.3.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(selectParameter) > 0 { - queryParameters["$select"] = autorest.Encode("query", selectParameter) - } - if len(expand) > 0 { - queryParameters["$expand"] = autorest.Encode("query", expand) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetSender sends the Get request. The method will close the -// http.Response Body if it receives an error. -func (client PoolClient) GetSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// GetResponder handles the response to the Get request. The method always -// closes the http.Response Body. -func (client PoolClient) GetResponder(resp *http.Response) (result CloudPool, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// GetAllPoolsLifetimeStatistics statistics are aggregated across all pools that have ever existed in the account, from -// account creation to the last update time of the statistics. -// -// timeout is the maximum time that the server can spend processing the request, in seconds. The default is 30 -// seconds. clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such -// as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should -// return the client-request-id in the response. ocpDate is the time the request was issued. If not specified, this -// header will be automatically populated with the current system clock time. -func (client PoolClient) GetAllPoolsLifetimeStatistics(ctx context.Context, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result PoolStatistics, err error) { - req, err := client.GetAllPoolsLifetimeStatisticsPreparer(ctx, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "GetAllPoolsLifetimeStatistics", nil, "Failure preparing request") - return - } - - resp, err := client.GetAllPoolsLifetimeStatisticsSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.PoolClient", "GetAllPoolsLifetimeStatistics", resp, "Failure sending request") - return - } - - result, err = client.GetAllPoolsLifetimeStatisticsResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "GetAllPoolsLifetimeStatistics", resp, "Failure responding to request") - } - - return -} - -// GetAllPoolsLifetimeStatisticsPreparer prepares the GetAllPoolsLifetimeStatistics request. -func (client PoolClient) GetAllPoolsLifetimeStatisticsPreparer(ctx context.Context, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - const APIVersion = "2016-07-01.3.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPath("/lifetimepoolstats"), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetAllPoolsLifetimeStatisticsSender sends the GetAllPoolsLifetimeStatistics request. The method will close the -// http.Response Body if it receives an error. -func (client PoolClient) GetAllPoolsLifetimeStatisticsSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// GetAllPoolsLifetimeStatisticsResponder handles the response to the GetAllPoolsLifetimeStatistics request. The method always -// closes the http.Response Body. -func (client PoolClient) GetAllPoolsLifetimeStatisticsResponder(resp *http.Response) (result PoolStatistics, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// List sends the list request. -// -// filter is an OData $filter clause. selectParameter is an OData $select clause. expand is an OData $expand -// clause. maxResults is the maximum number of items to return in the response. A maximum of 1000 pools can be -// returned. timeout is the maximum time that the server can spend processing the request, in seconds. The default -// is 30 seconds. clientRequestID is the caller-generated request identity, in the form of a GUID with no -// decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the -// server should return the client-request-id in the response. ocpDate is the time the request was issued. If not -// specified, this header will be automatically populated with the current system clock time. -func (client PoolClient) List(ctx context.Context, filter string, selectParameter string, expand string, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result CloudPoolListResultPage, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: maxResults, - Constraints: []validation.Constraint{{Target: "maxResults", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "maxResults", Name: validation.InclusiveMaximum, Rule: 1000, Chain: nil}, - {Target: "maxResults", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}, - }}}}}); err != nil { - return result, validation.NewError("batch.PoolClient", "List", err.Error()) - } - - result.fn = client.listNextResults - req, err := client.ListPreparer(ctx, filter, selectParameter, expand, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "List", nil, "Failure preparing request") - return - } - - resp, err := client.ListSender(req) - if err != nil { - result.cplr.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.PoolClient", "List", resp, "Failure sending request") - return - } - - result.cplr, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "List", resp, "Failure responding to request") - } - - return -} - -// ListPreparer prepares the List request. -func (client PoolClient) ListPreparer(ctx context.Context, filter string, selectParameter string, expand string, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - const APIVersion = "2016-07-01.3.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(filter) > 0 { - queryParameters["$filter"] = autorest.Encode("query", filter) - } - if len(selectParameter) > 0 { - queryParameters["$select"] = autorest.Encode("query", selectParameter) - } - if len(expand) > 0 { - queryParameters["$expand"] = autorest.Encode("query", expand) - } - if maxResults != nil { - queryParameters["maxresults"] = autorest.Encode("query", *maxResults) - } else { - queryParameters["maxresults"] = autorest.Encode("query", 1000) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPath("/pools"), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListSender sends the List request. The method will close the -// http.Response Body if it receives an error. -func (client PoolClient) ListSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ListResponder handles the response to the List request. The method always -// closes the http.Response Body. -func (client PoolClient) ListResponder(resp *http.Response) (result CloudPoolListResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listNextResults retrieves the next set of results, if any. -func (client PoolClient) listNextResults(lastResults CloudPoolListResult) (result CloudPoolListResult, err error) { - req, err := lastResults.cloudPoolListResultPreparer() - if err != nil { - return result, autorest.NewErrorWithError(err, "batch.PoolClient", "listNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "batch.PoolClient", "listNextResults", resp, "Failure sending next results request") - } - result, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "listNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListComplete enumerates all values, automatically crossing page boundaries as required. -func (client PoolClient) ListComplete(ctx context.Context, filter string, selectParameter string, expand string, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result CloudPoolListResultIterator, err error) { - result.page, err = client.List(ctx, filter, selectParameter, expand, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - return -} - -// ListPoolUsageMetrics if you do not specify a $filter clause including a poolId, the response includes all pools that -// existed in the account in the time range of the returned aggregation intervals. -// -// startTime is the earliest time from which to include metrics. This must be at least two and a half hours before -// the current time. If not specified this defaults to the start time of the last aggregation interval currently -// available. endTime is the latest time from which to include metrics. This must be at least two hours before the -// current time. If not specified this defaults to the end time of the last aggregation interval currently -// available. filter is an OData $filter clause. If this is not specified the response includes all pools that -// existed in the account in the time range of the returned aggregation intervals. maxResults is the maximum number -// of items to return in the response. A maximum of 1000 results will be returned. timeout is the maximum time that -// the server can spend processing the request, in seconds. The default is 30 seconds. clientRequestID is the -// caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. If not specified, this header -// will be automatically populated with the current system clock time. -func (client PoolClient) ListPoolUsageMetrics(ctx context.Context, startTime *date.Time, endTime *date.Time, filter string, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result PoolListPoolUsageMetricsResultPage, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: maxResults, - Constraints: []validation.Constraint{{Target: "maxResults", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "maxResults", Name: validation.InclusiveMaximum, Rule: 1000, Chain: nil}, - {Target: "maxResults", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}, - }}}}}); err != nil { - return result, validation.NewError("batch.PoolClient", "ListPoolUsageMetrics", err.Error()) - } - - result.fn = client.listPoolUsageMetricsNextResults - req, err := client.ListPoolUsageMetricsPreparer(ctx, startTime, endTime, filter, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "ListPoolUsageMetrics", nil, "Failure preparing request") - return - } - - resp, err := client.ListPoolUsageMetricsSender(req) - if err != nil { - result.plpumr.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.PoolClient", "ListPoolUsageMetrics", resp, "Failure sending request") - return - } - - result.plpumr, err = client.ListPoolUsageMetricsResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "ListPoolUsageMetrics", resp, "Failure responding to request") - } - - return -} - -// ListPoolUsageMetricsPreparer prepares the ListPoolUsageMetrics request. -func (client PoolClient) ListPoolUsageMetricsPreparer(ctx context.Context, startTime *date.Time, endTime *date.Time, filter string, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - const APIVersion = "2016-07-01.3.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if startTime != nil { - queryParameters["starttime"] = autorest.Encode("query", *startTime) - } - if endTime != nil { - queryParameters["endtime"] = autorest.Encode("query", *endTime) - } - if len(filter) > 0 { - queryParameters["$filter"] = autorest.Encode("query", filter) - } - if maxResults != nil { - queryParameters["maxresults"] = autorest.Encode("query", *maxResults) - } else { - queryParameters["maxresults"] = autorest.Encode("query", 1000) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPath("/poolusagemetrics"), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListPoolUsageMetricsSender sends the ListPoolUsageMetrics request. The method will close the -// http.Response Body if it receives an error. -func (client PoolClient) ListPoolUsageMetricsSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ListPoolUsageMetricsResponder handles the response to the ListPoolUsageMetrics request. The method always -// closes the http.Response Body. -func (client PoolClient) ListPoolUsageMetricsResponder(resp *http.Response) (result PoolListPoolUsageMetricsResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listPoolUsageMetricsNextResults retrieves the next set of results, if any. -func (client PoolClient) listPoolUsageMetricsNextResults(lastResults PoolListPoolUsageMetricsResult) (result PoolListPoolUsageMetricsResult, err error) { - req, err := lastResults.poolListPoolUsageMetricsResultPreparer() - if err != nil { - return result, autorest.NewErrorWithError(err, "batch.PoolClient", "listPoolUsageMetricsNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListPoolUsageMetricsSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "batch.PoolClient", "listPoolUsageMetricsNextResults", resp, "Failure sending next results request") - } - result, err = client.ListPoolUsageMetricsResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "listPoolUsageMetricsNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListPoolUsageMetricsComplete enumerates all values, automatically crossing page boundaries as required. -func (client PoolClient) ListPoolUsageMetricsComplete(ctx context.Context, startTime *date.Time, endTime *date.Time, filter string, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result PoolListPoolUsageMetricsResultIterator, err error) { - result.page, err = client.ListPoolUsageMetrics(ctx, startTime, endTime, filter, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - return -} - -// Patch this only replaces the pool properties specified in the request. For example, if the pool has a start task -// associated with it, and a request does not specify a start task element, then the pool keeps the existing start -// task. -// -// poolID is the ID of the pool to update. poolPatchParameter is the parameters for the request. timeout is the -// maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. -// clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such as curly -// braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. If not specified, this header -// will be automatically populated with the current system clock time. ifMatch is an ETag is specified. Specify -// this header to perform the operation only if the resource's ETag is an exact match as specified. ifNoneMatch is -// an ETag is specified. Specify this header to perform the operation only if the resource's ETag does not match -// the specified ETag. ifModifiedSince is specify this header to perform the operation only if the resource has -// been modified since the specified date/time. ifUnmodifiedSince is specify this header to perform the operation -// only if the resource has not been modified since the specified date/time. -func (client PoolClient) Patch(ctx context.Context, poolID string, poolPatchParameter PoolPatchParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.PatchPreparer(ctx, poolID, poolPatchParameter, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Patch", nil, "Failure preparing request") - return - } - - resp, err := client.PatchSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Patch", resp, "Failure sending request") - return - } - - result, err = client.PatchResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Patch", resp, "Failure responding to request") - } - - return -} - -// PatchPreparer prepares the Patch request. -func (client PoolClient) PatchPreparer(ctx context.Context, poolID string, poolPatchParameter PoolPatchParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2016-07-01.3.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPatch(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}", pathParameters), - autorest.WithJSON(poolPatchParameter), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// PatchSender sends the Patch request. The method will close the -// http.Response Body if it receives an error. -func (client PoolClient) PatchSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// PatchResponder handles the response to the Patch request. The method always -// closes the http.Response Body. -func (client PoolClient) PatchResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} - -// RemoveNodes this operation can only run when the allocation state of the pool is steady. When this operation runs, -// the allocation state changes from steady to resizing. -// -// poolID is the ID of the pool from which you want to remove nodes. nodeRemoveParameter is the parameters for the -// request. timeout is the maximum time that the server can spend processing the request, in seconds. The default -// is 30 seconds. clientRequestID is the caller-generated request identity, in the form of a GUID with no -// decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the -// server should return the client-request-id in the response. ocpDate is the time the request was issued. If not -// specified, this header will be automatically populated with the current system clock time. ifMatch is an ETag is -// specified. Specify this header to perform the operation only if the resource's ETag is an exact match as -// specified. ifNoneMatch is an ETag is specified. Specify this header to perform the operation only if the -// resource's ETag does not match the specified ETag. ifModifiedSince is specify this header to perform the -// operation only if the resource has been modified since the specified date/time. ifUnmodifiedSince is specify -// this header to perform the operation only if the resource has not been modified since the specified date/time. -func (client PoolClient) RemoveNodes(ctx context.Context, poolID string, nodeRemoveParameter NodeRemoveParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: nodeRemoveParameter, - Constraints: []validation.Constraint{{Target: "nodeRemoveParameter.NodeList", Name: validation.Null, Rule: true, - Chain: []validation.Constraint{{Target: "nodeRemoveParameter.NodeList", Name: validation.MaxItems, Rule: 100, Chain: nil}}}}}}); err != nil { - return result, validation.NewError("batch.PoolClient", "RemoveNodes", err.Error()) - } - - req, err := client.RemoveNodesPreparer(ctx, poolID, nodeRemoveParameter, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "RemoveNodes", nil, "Failure preparing request") - return - } - - resp, err := client.RemoveNodesSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.PoolClient", "RemoveNodes", resp, "Failure sending request") - return - } - - result, err = client.RemoveNodesResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "RemoveNodes", resp, "Failure responding to request") - } - - return -} - -// RemoveNodesPreparer prepares the RemoveNodes request. -func (client PoolClient) RemoveNodesPreparer(ctx context.Context, poolID string, nodeRemoveParameter NodeRemoveParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2016-07-01.3.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/removenodes", pathParameters), - autorest.WithJSON(nodeRemoveParameter), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// RemoveNodesSender sends the RemoveNodes request. The method will close the -// http.Response Body if it receives an error. -func (client PoolClient) RemoveNodesSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// RemoveNodesResponder handles the response to the RemoveNodes request. The method always -// closes the http.Response Body. -func (client PoolClient) RemoveNodesResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByClosing()) - result.Response = resp - return -} - -// Resize you can only resize a pool when its allocation state is steady. If the pool is already resizing, the request -// fails with status code 409. When you resize a pool, the pool's allocation state changes from steady to resizing. You -// cannot resize pools which are configured for automatic scaling. If you try to do this, the Batch service returns an -// error 409. If you resize a pool downwards, the Batch service chooses which nodes to remove. To remove specific -// nodes, use the pool remove nodes API instead. -// -// poolID is the ID of the pool to resize. poolResizeParameter is the parameters for the request. timeout is the -// maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. -// clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such as curly -// braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. If not specified, this header -// will be automatically populated with the current system clock time. ifMatch is an ETag is specified. Specify -// this header to perform the operation only if the resource's ETag is an exact match as specified. ifNoneMatch is -// an ETag is specified. Specify this header to perform the operation only if the resource's ETag does not match -// the specified ETag. ifModifiedSince is specify this header to perform the operation only if the resource has -// been modified since the specified date/time. ifUnmodifiedSince is specify this header to perform the operation -// only if the resource has not been modified since the specified date/time. -func (client PoolClient) Resize(ctx context.Context, poolID string, poolResizeParameter PoolResizeParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: poolResizeParameter, - Constraints: []validation.Constraint{{Target: "poolResizeParameter.TargetDedicated", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { - return result, validation.NewError("batch.PoolClient", "Resize", err.Error()) - } - - req, err := client.ResizePreparer(ctx, poolID, poolResizeParameter, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Resize", nil, "Failure preparing request") - return - } - - resp, err := client.ResizeSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Resize", resp, "Failure sending request") - return - } - - result, err = client.ResizeResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Resize", resp, "Failure responding to request") - } - - return -} - -// ResizePreparer prepares the Resize request. -func (client PoolClient) ResizePreparer(ctx context.Context, poolID string, poolResizeParameter PoolResizeParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2016-07-01.3.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/resize", pathParameters), - autorest.WithJSON(poolResizeParameter), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ResizeSender sends the Resize request. The method will close the -// http.Response Body if it receives an error. -func (client PoolClient) ResizeSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ResizeResponder handles the response to the Resize request. The method always -// closes the http.Response Body. -func (client PoolClient) ResizeResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByClosing()) - result.Response = resp - return -} - -// StopResize this does not restore the pool to its previous state before the resize operation: it only stops any -// further changes being made, and the pool maintains its current state. A resize operation need not be an explicit -// resize pool request; this API can also be used to halt the initial sizing of the pool when it is created. -// -// poolID is the ID of the pool whose resizing you want to stop. timeout is the maximum time that the server can -// spend processing the request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated -// request identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. If not specified, this header -// will be automatically populated with the current system clock time. ifMatch is an ETag is specified. Specify -// this header to perform the operation only if the resource's ETag is an exact match as specified. ifNoneMatch is -// an ETag is specified. Specify this header to perform the operation only if the resource's ETag does not match -// the specified ETag. ifModifiedSince is specify this header to perform the operation only if the resource has -// been modified since the specified date/time. ifUnmodifiedSince is specify this header to perform the operation -// only if the resource has not been modified since the specified date/time. -func (client PoolClient) StopResize(ctx context.Context, poolID string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.StopResizePreparer(ctx, poolID, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "StopResize", nil, "Failure preparing request") - return - } - - resp, err := client.StopResizeSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.PoolClient", "StopResize", resp, "Failure sending request") - return - } - - result, err = client.StopResizeResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "StopResize", resp, "Failure responding to request") - } - - return -} - -// StopResizePreparer prepares the StopResize request. -func (client PoolClient) StopResizePreparer(ctx context.Context, poolID string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2016-07-01.3.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/stopresize", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// StopResizeSender sends the StopResize request. The method will close the -// http.Response Body if it receives an error. -func (client PoolClient) StopResizeSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// StopResizeResponder handles the response to the StopResize request. The method always -// closes the http.Response Body. -func (client PoolClient) StopResizeResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByClosing()) - result.Response = resp - return -} - -// UpdateProperties this fully replaces all the updateable properties of the pool. For example, if the pool has a start -// task associated with it and if start task is not specified with this request, then the Batch service will remove the -// existing start task. -// -// poolID is the ID of the pool to update. poolUpdatePropertiesParameter is the parameters for the request. timeout -// is the maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. -// clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such as curly -// braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. If not specified, this header -// will be automatically populated with the current system clock time. -func (client PoolClient) UpdateProperties(ctx context.Context, poolID string, poolUpdatePropertiesParameter PoolUpdatePropertiesParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: poolUpdatePropertiesParameter, - Constraints: []validation.Constraint{{Target: "poolUpdatePropertiesParameter.StartTask", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "poolUpdatePropertiesParameter.StartTask.CommandLine", Name: validation.Null, Rule: true, Chain: nil}}}, - {Target: "poolUpdatePropertiesParameter.CertificateReferences", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "poolUpdatePropertiesParameter.ApplicationPackageReferences", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "poolUpdatePropertiesParameter.Metadata", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { - return result, validation.NewError("batch.PoolClient", "UpdateProperties", err.Error()) - } - - req, err := client.UpdatePropertiesPreparer(ctx, poolID, poolUpdatePropertiesParameter, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "UpdateProperties", nil, "Failure preparing request") - return - } - - resp, err := client.UpdatePropertiesSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.PoolClient", "UpdateProperties", resp, "Failure sending request") - return - } - - result, err = client.UpdatePropertiesResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "UpdateProperties", resp, "Failure responding to request") - } - - return -} - -// UpdatePropertiesPreparer prepares the UpdateProperties request. -func (client PoolClient) UpdatePropertiesPreparer(ctx context.Context, poolID string, poolUpdatePropertiesParameter PoolUpdatePropertiesParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2016-07-01.3.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/updateproperties", pathParameters), - autorest.WithJSON(poolUpdatePropertiesParameter), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// UpdatePropertiesSender sends the UpdateProperties request. The method will close the -// http.Response Body if it receives an error. -func (client PoolClient) UpdatePropertiesSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// UpdatePropertiesResponder handles the response to the UpdateProperties request. The method always -// closes the http.Response Body. -func (client PoolClient) UpdatePropertiesResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), - autorest.ByClosing()) - result.Response = resp - return -} - -// UpgradeOS during an upgrade, the Batch service upgrades each compute node in the pool. When a compute node is chosen -// for upgrade, any tasks running on that node are removed from the node and returned to the queue to be rerun later -// (or on a different compute node). The node will be unavailable until the upgrade is complete. This operation results -// in temporarily reduced pool capacity as nodes are taken out of service to be upgraded. Although the Batch service -// tries to avoid upgrading all compute nodes at the same time, it does not guarantee to do this (particularly on small -// pools); therefore, the pool may be temporarily unavailable to run tasks. When this operation runs, the pool state -// changes to upgrading. When all compute nodes have finished upgrading, the pool state returns to active. -// -// poolID is the ID of the pool to upgrade. poolUpgradeOSParameter is the parameters for the request. timeout is -// the maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. -// clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such as curly -// braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. If not specified, this header -// will be automatically populated with the current system clock time. ifMatch is an ETag is specified. Specify -// this header to perform the operation only if the resource's ETag is an exact match as specified. ifNoneMatch is -// an ETag is specified. Specify this header to perform the operation only if the resource's ETag does not match -// the specified ETag. ifModifiedSince is specify this header to perform the operation only if the resource has -// been modified since the specified date/time. ifUnmodifiedSince is specify this header to perform the operation -// only if the resource has not been modified since the specified date/time. -func (client PoolClient) UpgradeOS(ctx context.Context, poolID string, poolUpgradeOSParameter PoolUpgradeOSParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: poolUpgradeOSParameter, - Constraints: []validation.Constraint{{Target: "poolUpgradeOSParameter.TargetOSVersion", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { - return result, validation.NewError("batch.PoolClient", "UpgradeOS", err.Error()) - } - - req, err := client.UpgradeOSPreparer(ctx, poolID, poolUpgradeOSParameter, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "UpgradeOS", nil, "Failure preparing request") - return - } - - resp, err := client.UpgradeOSSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.PoolClient", "UpgradeOS", resp, "Failure sending request") - return - } - - result, err = client.UpgradeOSResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "UpgradeOS", resp, "Failure responding to request") - } - - return -} - -// UpgradeOSPreparer prepares the UpgradeOS request. -func (client PoolClient) UpgradeOSPreparer(ctx context.Context, poolID string, poolUpgradeOSParameter PoolUpgradeOSParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2016-07-01.3.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/upgradeos", pathParameters), - autorest.WithJSON(poolUpgradeOSParameter), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// UpgradeOSSender sends the UpgradeOS request. The method will close the -// http.Response Body if it receives an error. -func (client PoolClient) UpgradeOSSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// UpgradeOSResponder handles the response to the UpgradeOS request. The method always -// closes the http.Response Body. -func (client PoolClient) UpgradeOSResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByClosing()) - result.Response = resp - return -} diff --git a/services/batch/2016-07-01.3.1/batch/task.go b/services/batch/2016-07-01.3.1/batch/task.go deleted file mode 100644 index add2cd69a295..000000000000 --- a/services/batch/2016-07-01.3.1/batch/task.go +++ /dev/null @@ -1,1051 +0,0 @@ -package batch - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/autorest/date" - "github.com/Azure/go-autorest/autorest/validation" - "net/http" -) - -// TaskClient is the a client for issuing REST requests to the Azure Batch service. -type TaskClient struct { - BaseClient -} - -// NewTaskClient creates an instance of the TaskClient client. -func NewTaskClient() TaskClient { - return NewTaskClientWithBaseURI(DefaultBaseURI) -} - -// NewTaskClientWithBaseURI creates an instance of the TaskClient client. -func NewTaskClientWithBaseURI(baseURI string) TaskClient { - return TaskClient{NewWithBaseURI(baseURI)} -} - -// Add sends the add request. -// -// jobID is the ID of the job to which the task is to be added. task is the task to be added. timeout is the -// maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. -// clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such as curly -// braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. If not specified, this header -// will be automatically populated with the current system clock time. -func (client TaskClient) Add(ctx context.Context, jobID string, task TaskAddParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: task, - Constraints: []validation.Constraint{{Target: "task.ID", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "task.CommandLine", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "task.AffinityInfo", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "task.AffinityInfo.AffinityID", Name: validation.Null, Rule: true, Chain: nil}}}, - {Target: "task.MultiInstanceSettings", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "task.MultiInstanceSettings.NumberOfInstances", Name: validation.Null, Rule: true, Chain: nil}}}}}}); err != nil { - return result, validation.NewError("batch.TaskClient", "Add", err.Error()) - } - - req, err := client.AddPreparer(ctx, jobID, task, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "Add", nil, "Failure preparing request") - return - } - - resp, err := client.AddSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.TaskClient", "Add", resp, "Failure sending request") - return - } - - result, err = client.AddResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "Add", resp, "Failure responding to request") - } - - return -} - -// AddPreparer prepares the Add request. -func (client TaskClient) AddPreparer(ctx context.Context, jobID string, task TaskAddParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - } - - const APIVersion = "2016-07-01.3.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}/tasks", pathParameters), - autorest.WithJSON(task), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// AddSender sends the Add request. The method will close the -// http.Response Body if it receives an error. -func (client TaskClient) AddSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// AddResponder handles the response to the Add request. The method always -// closes the http.Response Body. -func (client TaskClient) AddResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), - autorest.ByClosing()) - result.Response = resp - return -} - -// AddCollection note that each task must have a unique ID. The Batch service may not return the results for each task -// in the same order the tasks were submitted in this request. If the server times out or the connection is closed -// during the request, the request may have been partially or fully processed, or not at all. In such cases, the user -// should re-issue the request. Note that it is up to the user to correctly handle failures when re-issuing a request. -// For example, you should use the same task ids during a retry so that if the prior operation succeeded, the retry -// will not create extra tasks unexpectedly. -// -// jobID is the ID of the job to which the task collection is to be added. taskCollection is the tasks to be added. -// timeout is the maximum time that the server can spend processing the request, in seconds. The default is 30 -// seconds. clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such -// as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should -// return the client-request-id in the response. ocpDate is the time the request was issued. If not specified, this -// header will be automatically populated with the current system clock time. -func (client TaskClient) AddCollection(ctx context.Context, jobID string, taskCollection TaskAddCollectionParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result TaskAddCollectionResult, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: taskCollection, - Constraints: []validation.Constraint{{Target: "taskCollection.Value", Name: validation.Null, Rule: true, - Chain: []validation.Constraint{{Target: "taskCollection.Value", Name: validation.MaxItems, Rule: 100, Chain: nil}}}}}}); err != nil { - return result, validation.NewError("batch.TaskClient", "AddCollection", err.Error()) - } - - req, err := client.AddCollectionPreparer(ctx, jobID, taskCollection, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "AddCollection", nil, "Failure preparing request") - return - } - - resp, err := client.AddCollectionSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.TaskClient", "AddCollection", resp, "Failure sending request") - return - } - - result, err = client.AddCollectionResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "AddCollection", resp, "Failure responding to request") - } - - return -} - -// AddCollectionPreparer prepares the AddCollection request. -func (client TaskClient) AddCollectionPreparer(ctx context.Context, jobID string, taskCollection TaskAddCollectionParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - } - - const APIVersion = "2016-07-01.3.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}/addtaskcollection", pathParameters), - autorest.WithJSON(taskCollection), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// AddCollectionSender sends the AddCollection request. The method will close the -// http.Response Body if it receives an error. -func (client TaskClient) AddCollectionSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// AddCollectionResponder handles the response to the AddCollection request. The method always -// closes the http.Response Body. -func (client TaskClient) AddCollectionResponder(resp *http.Response) (result TaskAddCollectionResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// Delete when a task is deleted, all of the files in its directory on the compute node where it ran are also deleted -// (regardless of the retention time). For multi-instance tasks, the delete task operation applies synchronously to the -// primary task; subtasks and their files are then deleted asynchronously in the background. -// -// jobID is the ID of the job from which to delete the task. taskID is the ID of the task to delete. timeout is the -// maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. -// clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such as curly -// braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. If not specified, this header -// will be automatically populated with the current system clock time. ifMatch is an ETag is specified. Specify -// this header to perform the operation only if the resource's ETag is an exact match as specified. ifNoneMatch is -// an ETag is specified. Specify this header to perform the operation only if the resource's ETag does not match -// the specified ETag. ifModifiedSince is specify this header to perform the operation only if the resource has -// been modified since the specified date/time. ifUnmodifiedSince is specify this header to perform the operation -// only if the resource has not been modified since the specified date/time. -func (client TaskClient) Delete(ctx context.Context, jobID string, taskID string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.DeletePreparer(ctx, jobID, taskID, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "Delete", nil, "Failure preparing request") - return - } - - resp, err := client.DeleteSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.TaskClient", "Delete", resp, "Failure sending request") - return - } - - result, err = client.DeleteResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "Delete", resp, "Failure responding to request") - } - - return -} - -// DeletePreparer prepares the Delete request. -func (client TaskClient) DeletePreparer(ctx context.Context, jobID string, taskID string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - "taskId": autorest.Encode("path", taskID), - } - - const APIVersion = "2016-07-01.3.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsDelete(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}/tasks/{taskId}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DeleteSender sends the Delete request. The method will close the -// http.Response Body if it receives an error. -func (client TaskClient) DeleteSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// DeleteResponder handles the response to the Delete request. The method always -// closes the http.Response Body. -func (client TaskClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} - -// Get for multi-instance tasks, information such as affinityId, executionInfo and nodeInfo refer to the primary task. -// Use the list subtasks API to retrieve information about subtasks. -// -// jobID is the ID of the job that contains the task. taskID is the ID of the task to get information about. -// selectParameter is an OData $select clause. expand is an OData $expand clause. timeout is the maximum time that -// the server can spend processing the request, in seconds. The default is 30 seconds. clientRequestID is the -// caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. If not specified, this header -// will be automatically populated with the current system clock time. ifMatch is an ETag is specified. Specify -// this header to perform the operation only if the resource's ETag is an exact match as specified. ifNoneMatch is -// an ETag is specified. Specify this header to perform the operation only if the resource's ETag does not match -// the specified ETag. ifModifiedSince is specify this header to perform the operation only if the resource has -// been modified since the specified date/time. ifUnmodifiedSince is specify this header to perform the operation -// only if the resource has not been modified since the specified date/time. -func (client TaskClient) Get(ctx context.Context, jobID string, taskID string, selectParameter string, expand string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result CloudTask, err error) { - req, err := client.GetPreparer(ctx, jobID, taskID, selectParameter, expand, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "Get", nil, "Failure preparing request") - return - } - - resp, err := client.GetSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.TaskClient", "Get", resp, "Failure sending request") - return - } - - result, err = client.GetResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "Get", resp, "Failure responding to request") - } - - return -} - -// GetPreparer prepares the Get request. -func (client TaskClient) GetPreparer(ctx context.Context, jobID string, taskID string, selectParameter string, expand string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - "taskId": autorest.Encode("path", taskID), - } - - const APIVersion = "2016-07-01.3.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(selectParameter) > 0 { - queryParameters["$select"] = autorest.Encode("query", selectParameter) - } - if len(expand) > 0 { - queryParameters["$expand"] = autorest.Encode("query", expand) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}/tasks/{taskId}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetSender sends the Get request. The method will close the -// http.Response Body if it receives an error. -func (client TaskClient) GetSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// GetResponder handles the response to the Get request. The method always -// closes the http.Response Body. -func (client TaskClient) GetResponder(resp *http.Response) (result CloudTask, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// List for multi-instance tasks, information such as affinityId, executionInfo and nodeInfo refer to the primary task. -// Use the list subtasks API to retrieve information about subtasks. -// -// jobID is the ID of the job. filter is an OData $filter clause. selectParameter is an OData $select clause. -// expand is an OData $expand clause. maxResults is the maximum number of items to return in the response. A -// maximum of 1000 tasks can be returned. timeout is the maximum time that the server can spend processing the -// request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated request identity, in the -// form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. -// returnClientRequestID is whether the server should return the client-request-id in the response. ocpDate is the -// time the request was issued. If not specified, this header will be automatically populated with the current -// system clock time. -func (client TaskClient) List(ctx context.Context, jobID string, filter string, selectParameter string, expand string, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result CloudTaskListResultPage, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: maxResults, - Constraints: []validation.Constraint{{Target: "maxResults", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "maxResults", Name: validation.InclusiveMaximum, Rule: 1000, Chain: nil}, - {Target: "maxResults", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}, - }}}}}); err != nil { - return result, validation.NewError("batch.TaskClient", "List", err.Error()) - } - - result.fn = client.listNextResults - req, err := client.ListPreparer(ctx, jobID, filter, selectParameter, expand, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "List", nil, "Failure preparing request") - return - } - - resp, err := client.ListSender(req) - if err != nil { - result.ctlr.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.TaskClient", "List", resp, "Failure sending request") - return - } - - result.ctlr, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "List", resp, "Failure responding to request") - } - - return -} - -// ListPreparer prepares the List request. -func (client TaskClient) ListPreparer(ctx context.Context, jobID string, filter string, selectParameter string, expand string, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - } - - const APIVersion = "2016-07-01.3.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(filter) > 0 { - queryParameters["$filter"] = autorest.Encode("query", filter) - } - if len(selectParameter) > 0 { - queryParameters["$select"] = autorest.Encode("query", selectParameter) - } - if len(expand) > 0 { - queryParameters["$expand"] = autorest.Encode("query", expand) - } - if maxResults != nil { - queryParameters["maxresults"] = autorest.Encode("query", *maxResults) - } else { - queryParameters["maxresults"] = autorest.Encode("query", 1000) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}/tasks", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListSender sends the List request. The method will close the -// http.Response Body if it receives an error. -func (client TaskClient) ListSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ListResponder handles the response to the List request. The method always -// closes the http.Response Body. -func (client TaskClient) ListResponder(resp *http.Response) (result CloudTaskListResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listNextResults retrieves the next set of results, if any. -func (client TaskClient) listNextResults(lastResults CloudTaskListResult) (result CloudTaskListResult, err error) { - req, err := lastResults.cloudTaskListResultPreparer() - if err != nil { - return result, autorest.NewErrorWithError(err, "batch.TaskClient", "listNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "batch.TaskClient", "listNextResults", resp, "Failure sending next results request") - } - result, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "listNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListComplete enumerates all values, automatically crossing page boundaries as required. -func (client TaskClient) ListComplete(ctx context.Context, jobID string, filter string, selectParameter string, expand string, maxResults *int32, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result CloudTaskListResultIterator, err error) { - result.page, err = client.List(ctx, jobID, filter, selectParameter, expand, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - return -} - -// ListSubtasks if the task is not a multi-instance task then this returns an empty collection. -// -// jobID is the ID of the job. taskID is the ID of the task. selectParameter is an OData $select clause. timeout is -// the maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. -// clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such as curly -// braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. If not specified, this header -// will be automatically populated with the current system clock time. -func (client TaskClient) ListSubtasks(ctx context.Context, jobID string, taskID string, selectParameter string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result CloudTaskListSubtasksResult, err error) { - req, err := client.ListSubtasksPreparer(ctx, jobID, taskID, selectParameter, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "ListSubtasks", nil, "Failure preparing request") - return - } - - resp, err := client.ListSubtasksSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.TaskClient", "ListSubtasks", resp, "Failure sending request") - return - } - - result, err = client.ListSubtasksResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "ListSubtasks", resp, "Failure responding to request") - } - - return -} - -// ListSubtasksPreparer prepares the ListSubtasks request. -func (client TaskClient) ListSubtasksPreparer(ctx context.Context, jobID string, taskID string, selectParameter string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - "taskId": autorest.Encode("path", taskID), - } - - const APIVersion = "2016-07-01.3.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(selectParameter) > 0 { - queryParameters["$select"] = autorest.Encode("query", selectParameter) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}/tasks/{taskId}/subtasksinfo", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListSubtasksSender sends the ListSubtasks request. The method will close the -// http.Response Body if it receives an error. -func (client TaskClient) ListSubtasksSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ListSubtasksResponder handles the response to the ListSubtasks request. The method always -// closes the http.Response Body. -func (client TaskClient) ListSubtasksResponder(resp *http.Response) (result CloudTaskListSubtasksResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// Reactivate reactivation makes a task eligible to be retried again up to its maximum retry count. The task's state is -// changed to active. As the task is no longer in the completed state, any previous exit code or scheduling error is no -// longer available after reactivation. This will fail for tasks that are not completed or that previously completed -// successfully (with an exit code of 0). Additionally, this will fail if the job has completed (or is terminating or -// deleting). -// -// jobID is the ID of the job containing the task. taskID is the ID of the task to reactivate. timeout is the -// maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. -// clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such as curly -// braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. If not specified, this header -// will be automatically populated with the current system clock time. ifMatch is an ETag is specified. Specify -// this header to perform the operation only if the resource's ETag is an exact match as specified. ifNoneMatch is -// an ETag is specified. Specify this header to perform the operation only if the resource's ETag does not match -// the specified ETag. ifModifiedSince is specify this header to perform the operation only if the resource has -// been modified since the specified date/time. ifUnmodifiedSince is specify this header to perform the operation -// only if the resource has not been modified since the specified date/time. -func (client TaskClient) Reactivate(ctx context.Context, jobID string, taskID string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.ReactivatePreparer(ctx, jobID, taskID, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "Reactivate", nil, "Failure preparing request") - return - } - - resp, err := client.ReactivateSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.TaskClient", "Reactivate", resp, "Failure sending request") - return - } - - result, err = client.ReactivateResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "Reactivate", resp, "Failure responding to request") - } - - return -} - -// ReactivatePreparer prepares the Reactivate request. -func (client TaskClient) ReactivatePreparer(ctx context.Context, jobID string, taskID string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - "taskId": autorest.Encode("path", taskID), - } - - const APIVersion = "2016-07-01.3.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}/tasks/{taskId}/reactivate", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ReactivateSender sends the Reactivate request. The method will close the -// http.Response Body if it receives an error. -func (client TaskClient) ReactivateSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ReactivateResponder handles the response to the Reactivate request. The method always -// closes the http.Response Body. -func (client TaskClient) ReactivateResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), - autorest.ByClosing()) - result.Response = resp - return -} - -// Terminate when the task has been terminated, it moves to the completed state. For multi-instance tasks, the -// terminate task operation applies synchronously to the primary task; subtasks are then terminated asynchronously in -// the background. -// -// jobID is the ID of the job containing the task. taskID is the ID of the task to terminate. timeout is the -// maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. -// clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such as curly -// braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. If not specified, this header -// will be automatically populated with the current system clock time. ifMatch is an ETag is specified. Specify -// this header to perform the operation only if the resource's ETag is an exact match as specified. ifNoneMatch is -// an ETag is specified. Specify this header to perform the operation only if the resource's ETag does not match -// the specified ETag. ifModifiedSince is specify this header to perform the operation only if the resource has -// been modified since the specified date/time. ifUnmodifiedSince is specify this header to perform the operation -// only if the resource has not been modified since the specified date/time. -func (client TaskClient) Terminate(ctx context.Context, jobID string, taskID string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.TerminatePreparer(ctx, jobID, taskID, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "Terminate", nil, "Failure preparing request") - return - } - - resp, err := client.TerminateSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.TaskClient", "Terminate", resp, "Failure sending request") - return - } - - result, err = client.TerminateResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "Terminate", resp, "Failure responding to request") - } - - return -} - -// TerminatePreparer prepares the Terminate request. -func (client TaskClient) TerminatePreparer(ctx context.Context, jobID string, taskID string, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - "taskId": autorest.Encode("path", taskID), - } - - const APIVersion = "2016-07-01.3.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}/tasks/{taskId}/terminate", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// TerminateSender sends the Terminate request. The method will close the -// http.Response Body if it receives an error. -func (client TaskClient) TerminateSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// TerminateResponder handles the response to the Terminate request. The method always -// closes the http.Response Body. -func (client TaskClient) TerminateResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), - autorest.ByClosing()) - result.Response = resp - return -} - -// Update updates the properties of the specified task. -// -// jobID is the ID of the job containing the task. taskID is the ID of the task to update. taskUpdateParameter is -// the parameters for the request. timeout is the maximum time that the server can spend processing the request, in -// seconds. The default is 30 seconds. clientRequestID is the caller-generated request identity, in the form of a -// GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID -// is whether the server should return the client-request-id in the response. ocpDate is the time the request was -// issued. If not specified, this header will be automatically populated with the current system clock time. -// ifMatch is an ETag is specified. Specify this header to perform the operation only if the resource's ETag is an -// exact match as specified. ifNoneMatch is an ETag is specified. Specify this header to perform the operation only -// if the resource's ETag does not match the specified ETag. ifModifiedSince is specify this header to perform the -// operation only if the resource has been modified since the specified date/time. ifUnmodifiedSince is specify -// this header to perform the operation only if the resource has not been modified since the specified date/time. -func (client TaskClient) Update(ctx context.Context, jobID string, taskID string, taskUpdateParameter TaskUpdateParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.UpdatePreparer(ctx, jobID, taskID, taskUpdateParameter, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "Update", nil, "Failure preparing request") - return - } - - resp, err := client.UpdateSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.TaskClient", "Update", resp, "Failure sending request") - return - } - - result, err = client.UpdateResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "Update", resp, "Failure responding to request") - } - - return -} - -// UpdatePreparer prepares the Update request. -func (client TaskClient) UpdatePreparer(ctx context.Context, jobID string, taskID string, taskUpdateParameter TaskUpdateParameter, timeout *int32, clientRequestID string, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - "taskId": autorest.Encode("path", taskID), - } - - const APIVersion = "2016-07-01.3.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPut(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}/tasks/{taskId}", pathParameters), - autorest.WithJSON(taskUpdateParameter), - autorest.WithQueryParameters(queryParameters)) - if len(clientRequestID) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// UpdateSender sends the Update request. The method will close the -// http.Response Body if it receives an error. -func (client TaskClient) UpdateSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// UpdateResponder handles the response to the Update request. The method always -// closes the http.Response Body. -func (client TaskClient) UpdateResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} diff --git a/services/batch/2017-01-01.4.0/batch/account.go b/services/batch/2017-01-01.4.0/batch/account.go deleted file mode 100644 index 0c3f3b055069..000000000000 --- a/services/batch/2017-01-01.4.0/batch/account.go +++ /dev/null @@ -1,174 +0,0 @@ -package batch - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/autorest/date" - "github.com/Azure/go-autorest/autorest/validation" - "github.com/satori/go.uuid" - "net/http" -) - -// AccountClient is the a client for issuing REST requests to the Azure Batch service. -type AccountClient struct { - BaseClient -} - -// NewAccountClient creates an instance of the AccountClient client. -func NewAccountClient() AccountClient { - return NewAccountClientWithBaseURI(DefaultBaseURI) -} - -// NewAccountClientWithBaseURI creates an instance of the AccountClient client. -func NewAccountClientWithBaseURI(baseURI string) AccountClient { - return AccountClient{NewWithBaseURI(baseURI)} -} - -// ListNodeAgentSkus sends the list node agent skus request. -// -// filter is an OData $filter clause. maxResults is the maximum number of items to return in the response. A -// maximum of 1000 results will be returned. timeout is the maximum time that the server can spend processing the -// request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated request identity, in the -// form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. -// returnClientRequestID is whether the server should return the client-request-id in the response. ocpDate is the -// time the request was issued. Client libraries typically set this to the current system clock time; set it -// explicitly if you are calling the REST API directly. -func (client AccountClient) ListNodeAgentSkus(ctx context.Context, filter string, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result AccountListNodeAgentSkusResultPage, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: maxResults, - Constraints: []validation.Constraint{{Target: "maxResults", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "maxResults", Name: validation.InclusiveMaximum, Rule: 1000, Chain: nil}, - {Target: "maxResults", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}, - }}}}}); err != nil { - return result, validation.NewError("batch.AccountClient", "ListNodeAgentSkus", err.Error()) - } - - result.fn = client.listNodeAgentSkusNextResults - req, err := client.ListNodeAgentSkusPreparer(ctx, filter, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.AccountClient", "ListNodeAgentSkus", nil, "Failure preparing request") - return - } - - resp, err := client.ListNodeAgentSkusSender(req) - if err != nil { - result.alnasr.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.AccountClient", "ListNodeAgentSkus", resp, "Failure sending request") - return - } - - result.alnasr, err = client.ListNodeAgentSkusResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.AccountClient", "ListNodeAgentSkus", resp, "Failure responding to request") - } - - return -} - -// ListNodeAgentSkusPreparer prepares the ListNodeAgentSkus request. -func (client AccountClient) ListNodeAgentSkusPreparer(ctx context.Context, filter string, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - const APIVersion = "2017-01-01.4.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(filter) > 0 { - queryParameters["$filter"] = autorest.Encode("query", filter) - } - if maxResults != nil { - queryParameters["maxresults"] = autorest.Encode("query", *maxResults) - } else { - queryParameters["maxresults"] = autorest.Encode("query", 1000) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPath("/nodeagentskus"), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListNodeAgentSkusSender sends the ListNodeAgentSkus request. The method will close the -// http.Response Body if it receives an error. -func (client AccountClient) ListNodeAgentSkusSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ListNodeAgentSkusResponder handles the response to the ListNodeAgentSkus request. The method always -// closes the http.Response Body. -func (client AccountClient) ListNodeAgentSkusResponder(resp *http.Response) (result AccountListNodeAgentSkusResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listNodeAgentSkusNextResults retrieves the next set of results, if any. -func (client AccountClient) listNodeAgentSkusNextResults(lastResults AccountListNodeAgentSkusResult) (result AccountListNodeAgentSkusResult, err error) { - req, err := lastResults.accountListNodeAgentSkusResultPreparer() - if err != nil { - return result, autorest.NewErrorWithError(err, "batch.AccountClient", "listNodeAgentSkusNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListNodeAgentSkusSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "batch.AccountClient", "listNodeAgentSkusNextResults", resp, "Failure sending next results request") - } - result, err = client.ListNodeAgentSkusResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.AccountClient", "listNodeAgentSkusNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListNodeAgentSkusComplete enumerates all values, automatically crossing page boundaries as required. -func (client AccountClient) ListNodeAgentSkusComplete(ctx context.Context, filter string, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result AccountListNodeAgentSkusResultIterator, err error) { - result.page, err = client.ListNodeAgentSkus(ctx, filter, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - return -} diff --git a/services/batch/2017-01-01.4.0/batch/application.go b/services/batch/2017-01-01.4.0/batch/application.go deleted file mode 100644 index 4a444aa78ab3..000000000000 --- a/services/batch/2017-01-01.4.0/batch/application.go +++ /dev/null @@ -1,262 +0,0 @@ -package batch - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/autorest/date" - "github.com/Azure/go-autorest/autorest/validation" - "github.com/satori/go.uuid" - "net/http" -) - -// ApplicationClient is the a client for issuing REST requests to the Azure Batch service. -type ApplicationClient struct { - BaseClient -} - -// NewApplicationClient creates an instance of the ApplicationClient client. -func NewApplicationClient() ApplicationClient { - return NewApplicationClientWithBaseURI(DefaultBaseURI) -} - -// NewApplicationClientWithBaseURI creates an instance of the ApplicationClient client. -func NewApplicationClientWithBaseURI(baseURI string) ApplicationClient { - return ApplicationClient{NewWithBaseURI(baseURI)} -} - -// Get sends the get request. -// -// applicationID is the ID of the application. timeout is the maximum time that the server can spend processing the -// request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated request identity, in the -// form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. -// returnClientRequestID is whether the server should return the client-request-id in the response. ocpDate is the -// time the request was issued. Client libraries typically set this to the current system clock time; set it -// explicitly if you are calling the REST API directly. -func (client ApplicationClient) Get(ctx context.Context, applicationID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result ApplicationSummary, err error) { - req, err := client.GetPreparer(ctx, applicationID, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ApplicationClient", "Get", nil, "Failure preparing request") - return - } - - resp, err := client.GetSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.ApplicationClient", "Get", resp, "Failure sending request") - return - } - - result, err = client.GetResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ApplicationClient", "Get", resp, "Failure responding to request") - } - - return -} - -// GetPreparer prepares the Get request. -func (client ApplicationClient) GetPreparer(ctx context.Context, applicationID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "applicationId": autorest.Encode("path", applicationID), - } - - const APIVersion = "2017-01-01.4.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/applications/{applicationId}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetSender sends the Get request. The method will close the -// http.Response Body if it receives an error. -func (client ApplicationClient) GetSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// GetResponder handles the response to the Get request. The method always -// closes the http.Response Body. -func (client ApplicationClient) GetResponder(resp *http.Response) (result ApplicationSummary, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// List this operation returns only applications and versions that are available for use on compute nodes; that is, -// that can be used in an application package reference. For administrator information about applications and versions -// that are not yet available to compute nodes, use the Azure portal or the Azure Resource Manager API. -// -// maxResults is the maximum number of items to return in the response. A maximum of 1000 applications can be -// returned. timeout is the maximum time that the server can spend processing the request, in seconds. The default -// is 30 seconds. clientRequestID is the caller-generated request identity, in the form of a GUID with no -// decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the -// server should return the client-request-id in the response. ocpDate is the time the request was issued. Client -// libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API -// directly. -func (client ApplicationClient) List(ctx context.Context, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result ApplicationListResultPage, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: maxResults, - Constraints: []validation.Constraint{{Target: "maxResults", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "maxResults", Name: validation.InclusiveMaximum, Rule: 1000, Chain: nil}, - {Target: "maxResults", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}, - }}}}}); err != nil { - return result, validation.NewError("batch.ApplicationClient", "List", err.Error()) - } - - result.fn = client.listNextResults - req, err := client.ListPreparer(ctx, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ApplicationClient", "List", nil, "Failure preparing request") - return - } - - resp, err := client.ListSender(req) - if err != nil { - result.alr.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.ApplicationClient", "List", resp, "Failure sending request") - return - } - - result.alr, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ApplicationClient", "List", resp, "Failure responding to request") - } - - return -} - -// ListPreparer prepares the List request. -func (client ApplicationClient) ListPreparer(ctx context.Context, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - const APIVersion = "2017-01-01.4.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if maxResults != nil { - queryParameters["maxresults"] = autorest.Encode("query", *maxResults) - } else { - queryParameters["maxresults"] = autorest.Encode("query", 1000) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPath("/applications"), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListSender sends the List request. The method will close the -// http.Response Body if it receives an error. -func (client ApplicationClient) ListSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ListResponder handles the response to the List request. The method always -// closes the http.Response Body. -func (client ApplicationClient) ListResponder(resp *http.Response) (result ApplicationListResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listNextResults retrieves the next set of results, if any. -func (client ApplicationClient) listNextResults(lastResults ApplicationListResult) (result ApplicationListResult, err error) { - req, err := lastResults.applicationListResultPreparer() - if err != nil { - return result, autorest.NewErrorWithError(err, "batch.ApplicationClient", "listNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "batch.ApplicationClient", "listNextResults", resp, "Failure sending next results request") - } - result, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ApplicationClient", "listNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListComplete enumerates all values, automatically crossing page boundaries as required. -func (client ApplicationClient) ListComplete(ctx context.Context, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result ApplicationListResultIterator, err error) { - result.page, err = client.List(ctx, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - return -} diff --git a/services/batch/2017-01-01.4.0/batch/certificate.go b/services/batch/2017-01-01.4.0/batch/certificate.go deleted file mode 100644 index 83f1dddd501e..000000000000 --- a/services/batch/2017-01-01.4.0/batch/certificate.go +++ /dev/null @@ -1,555 +0,0 @@ -package batch - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/autorest/date" - "github.com/Azure/go-autorest/autorest/validation" - "github.com/satori/go.uuid" - "net/http" -) - -// CertificateClient is the a client for issuing REST requests to the Azure Batch service. -type CertificateClient struct { - BaseClient -} - -// NewCertificateClient creates an instance of the CertificateClient client. -func NewCertificateClient() CertificateClient { - return NewCertificateClientWithBaseURI(DefaultBaseURI) -} - -// NewCertificateClientWithBaseURI creates an instance of the CertificateClient client. -func NewCertificateClientWithBaseURI(baseURI string) CertificateClient { - return CertificateClient{NewWithBaseURI(baseURI)} -} - -// Add sends the add request. -// -// certificate is the certificate to be added. timeout is the maximum time that the server can spend processing the -// request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated request identity, in the -// form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. -// returnClientRequestID is whether the server should return the client-request-id in the response. ocpDate is the -// time the request was issued. Client libraries typically set this to the current system clock time; set it -// explicitly if you are calling the REST API directly. -func (client CertificateClient) Add(ctx context.Context, certificate CertificateAddParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: certificate, - Constraints: []validation.Constraint{{Target: "certificate.Thumbprint", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "certificate.ThumbprintAlgorithm", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "certificate.Data", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { - return result, validation.NewError("batch.CertificateClient", "Add", err.Error()) - } - - req, err := client.AddPreparer(ctx, certificate, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.CertificateClient", "Add", nil, "Failure preparing request") - return - } - - resp, err := client.AddSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.CertificateClient", "Add", resp, "Failure sending request") - return - } - - result, err = client.AddResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.CertificateClient", "Add", resp, "Failure responding to request") - } - - return -} - -// AddPreparer prepares the Add request. -func (client CertificateClient) AddPreparer(ctx context.Context, certificate CertificateAddParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - const APIVersion = "2017-01-01.4.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPath("/certificates"), - autorest.WithJSON(certificate), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// AddSender sends the Add request. The method will close the -// http.Response Body if it receives an error. -func (client CertificateClient) AddSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// AddResponder handles the response to the Add request. The method always -// closes the http.Response Body. -func (client CertificateClient) AddResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), - autorest.ByClosing()) - result.Response = resp - return -} - -// CancelDeletion if you try to delete a certificate that is being used by a pool or compute node, the status of the -// certificate changes to deleteFailed. If you decide that you want to continue using the certificate, you can use this -// operation to set the status of the certificate back to active. If you intend to delete the certificate, you do not -// need to run this operation after the deletion failed. You must make sure that the certificate is not being used by -// any resources, and then you can try again to delete the certificate. -// -// thumbprintAlgorithm is the algorithm used to derive the thumbprint parameter. This must be sha1. thumbprint is -// the thumbprint of the certificate being deleted. timeout is the maximum time that the server can spend -// processing the request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated request -// identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. -func (client CertificateClient) CancelDeletion(ctx context.Context, thumbprintAlgorithm string, thumbprint string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.CancelDeletionPreparer(ctx, thumbprintAlgorithm, thumbprint, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.CertificateClient", "CancelDeletion", nil, "Failure preparing request") - return - } - - resp, err := client.CancelDeletionSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.CertificateClient", "CancelDeletion", resp, "Failure sending request") - return - } - - result, err = client.CancelDeletionResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.CertificateClient", "CancelDeletion", resp, "Failure responding to request") - } - - return -} - -// CancelDeletionPreparer prepares the CancelDeletion request. -func (client CertificateClient) CancelDeletionPreparer(ctx context.Context, thumbprintAlgorithm string, thumbprint string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "thumbprint": autorest.Encode("path", thumbprint), - "thumbprintAlgorithm": autorest.Encode("path", thumbprintAlgorithm), - } - - const APIVersion = "2017-01-01.4.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/certificates(thumbprintAlgorithm={thumbprintAlgorithm},thumbprint={thumbprint})/canceldelete", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// CancelDeletionSender sends the CancelDeletion request. The method will close the -// http.Response Body if it receives an error. -func (client CertificateClient) CancelDeletionSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// CancelDeletionResponder handles the response to the CancelDeletion request. The method always -// closes the http.Response Body. -func (client CertificateClient) CancelDeletionResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), - autorest.ByClosing()) - result.Response = resp - return -} - -// Delete you cannot delete a certificate if a resource (pool or compute node) is using it. Before you can delete a -// certificate, you must therefore make sure that the certificate is not associated with any existing pools, the -// certificate is not installed on any compute nodes (even if you remove a certificate from a pool, it is not removed -// from existing compute nodes in that pool until they restart), and no running tasks depend on the certificate. If you -// try to delete a certificate that is in use, the deletion fails. The certificate status changes to deleteFailed. You -// can use Cancel Delete Certificate to set the status back to active if you decide that you want to continue using the -// certificate. -// -// thumbprintAlgorithm is the algorithm used to derive the thumbprint parameter. This must be sha1. thumbprint is -// the thumbprint of the certificate to be deleted. timeout is the maximum time that the server can spend -// processing the request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated request -// identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. -func (client CertificateClient) Delete(ctx context.Context, thumbprintAlgorithm string, thumbprint string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.DeletePreparer(ctx, thumbprintAlgorithm, thumbprint, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.CertificateClient", "Delete", nil, "Failure preparing request") - return - } - - resp, err := client.DeleteSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.CertificateClient", "Delete", resp, "Failure sending request") - return - } - - result, err = client.DeleteResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.CertificateClient", "Delete", resp, "Failure responding to request") - } - - return -} - -// DeletePreparer prepares the Delete request. -func (client CertificateClient) DeletePreparer(ctx context.Context, thumbprintAlgorithm string, thumbprint string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "thumbprint": autorest.Encode("path", thumbprint), - "thumbprintAlgorithm": autorest.Encode("path", thumbprintAlgorithm), - } - - const APIVersion = "2017-01-01.4.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsDelete(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/certificates(thumbprintAlgorithm={thumbprintAlgorithm},thumbprint={thumbprint})", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DeleteSender sends the Delete request. The method will close the -// http.Response Body if it receives an error. -func (client CertificateClient) DeleteSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// DeleteResponder handles the response to the Delete request. The method always -// closes the http.Response Body. -func (client CertificateClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByClosing()) - result.Response = resp - return -} - -// Get gets information about the specified certificate. -// -// thumbprintAlgorithm is the algorithm used to derive the thumbprint parameter. This must be sha1. thumbprint is -// the thumbprint of the certificate to get. selectParameter is an OData $select clause. timeout is the maximum -// time that the server can spend processing the request, in seconds. The default is 30 seconds. clientRequestID is -// the caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. -func (client CertificateClient) Get(ctx context.Context, thumbprintAlgorithm string, thumbprint string, selectParameter string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result Certificate, err error) { - req, err := client.GetPreparer(ctx, thumbprintAlgorithm, thumbprint, selectParameter, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.CertificateClient", "Get", nil, "Failure preparing request") - return - } - - resp, err := client.GetSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.CertificateClient", "Get", resp, "Failure sending request") - return - } - - result, err = client.GetResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.CertificateClient", "Get", resp, "Failure responding to request") - } - - return -} - -// GetPreparer prepares the Get request. -func (client CertificateClient) GetPreparer(ctx context.Context, thumbprintAlgorithm string, thumbprint string, selectParameter string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "thumbprint": autorest.Encode("path", thumbprint), - "thumbprintAlgorithm": autorest.Encode("path", thumbprintAlgorithm), - } - - const APIVersion = "2017-01-01.4.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(selectParameter) > 0 { - queryParameters["$select"] = autorest.Encode("query", selectParameter) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/certificates(thumbprintAlgorithm={thumbprintAlgorithm},thumbprint={thumbprint})", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetSender sends the Get request. The method will close the -// http.Response Body if it receives an error. -func (client CertificateClient) GetSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// GetResponder handles the response to the Get request. The method always -// closes the http.Response Body. -func (client CertificateClient) GetResponder(resp *http.Response) (result Certificate, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// List sends the list request. -// -// filter is an OData $filter clause. selectParameter is an OData $select clause. maxResults is the maximum number -// of items to return in the response. A maximum of 1000 certificates can be returned. timeout is the maximum time -// that the server can spend processing the request, in seconds. The default is 30 seconds. clientRequestID is the -// caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. -func (client CertificateClient) List(ctx context.Context, filter string, selectParameter string, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result CertificateListResultPage, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: maxResults, - Constraints: []validation.Constraint{{Target: "maxResults", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "maxResults", Name: validation.InclusiveMaximum, Rule: 1000, Chain: nil}, - {Target: "maxResults", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}, - }}}}}); err != nil { - return result, validation.NewError("batch.CertificateClient", "List", err.Error()) - } - - result.fn = client.listNextResults - req, err := client.ListPreparer(ctx, filter, selectParameter, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.CertificateClient", "List", nil, "Failure preparing request") - return - } - - resp, err := client.ListSender(req) - if err != nil { - result.clr.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.CertificateClient", "List", resp, "Failure sending request") - return - } - - result.clr, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.CertificateClient", "List", resp, "Failure responding to request") - } - - return -} - -// ListPreparer prepares the List request. -func (client CertificateClient) ListPreparer(ctx context.Context, filter string, selectParameter string, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - const APIVersion = "2017-01-01.4.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(filter) > 0 { - queryParameters["$filter"] = autorest.Encode("query", filter) - } - if len(selectParameter) > 0 { - queryParameters["$select"] = autorest.Encode("query", selectParameter) - } - if maxResults != nil { - queryParameters["maxresults"] = autorest.Encode("query", *maxResults) - } else { - queryParameters["maxresults"] = autorest.Encode("query", 1000) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPath("/certificates"), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListSender sends the List request. The method will close the -// http.Response Body if it receives an error. -func (client CertificateClient) ListSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ListResponder handles the response to the List request. The method always -// closes the http.Response Body. -func (client CertificateClient) ListResponder(resp *http.Response) (result CertificateListResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listNextResults retrieves the next set of results, if any. -func (client CertificateClient) listNextResults(lastResults CertificateListResult) (result CertificateListResult, err error) { - req, err := lastResults.certificateListResultPreparer() - if err != nil { - return result, autorest.NewErrorWithError(err, "batch.CertificateClient", "listNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "batch.CertificateClient", "listNextResults", resp, "Failure sending next results request") - } - result, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.CertificateClient", "listNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListComplete enumerates all values, automatically crossing page boundaries as required. -func (client CertificateClient) ListComplete(ctx context.Context, filter string, selectParameter string, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result CertificateListResultIterator, err error) { - result.page, err = client.List(ctx, filter, selectParameter, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - return -} diff --git a/services/batch/2017-01-01.4.0/batch/computenode.go b/services/batch/2017-01-01.4.0/batch/computenode.go deleted file mode 100644 index ea4a9afffd81..000000000000 --- a/services/batch/2017-01-01.4.0/batch/computenode.go +++ /dev/null @@ -1,1121 +0,0 @@ -package batch - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/autorest/date" - "github.com/Azure/go-autorest/autorest/validation" - "github.com/satori/go.uuid" - "net/http" -) - -// ComputeNodeClient is the a client for issuing REST requests to the Azure Batch service. -type ComputeNodeClient struct { - BaseClient -} - -// NewComputeNodeClient creates an instance of the ComputeNodeClient client. -func NewComputeNodeClient() ComputeNodeClient { - return NewComputeNodeClientWithBaseURI(DefaultBaseURI) -} - -// NewComputeNodeClientWithBaseURI creates an instance of the ComputeNodeClient client. -func NewComputeNodeClientWithBaseURI(baseURI string) ComputeNodeClient { - return ComputeNodeClient{NewWithBaseURI(baseURI)} -} - -// AddUser you can add a user account to a node only when it is in the idle or running state. -// -// poolID is the ID of the pool that contains the compute node. nodeID is the ID of the machine on which you want -// to create a user account. userParameter is the user account to be created. timeout is the maximum time that the -// server can spend processing the request, in seconds. The default is 30 seconds. clientRequestID is the -// caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. -func (client ComputeNodeClient) AddUser(ctx context.Context, poolID string, nodeID string, userParameter ComputeNodeUser, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: userParameter, - Constraints: []validation.Constraint{{Target: "userParameter.Name", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { - return result, validation.NewError("batch.ComputeNodeClient", "AddUser", err.Error()) - } - - req, err := client.AddUserPreparer(ctx, poolID, nodeID, userParameter, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "AddUser", nil, "Failure preparing request") - return - } - - resp, err := client.AddUserSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "AddUser", resp, "Failure sending request") - return - } - - result, err = client.AddUserResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "AddUser", resp, "Failure responding to request") - } - - return -} - -// AddUserPreparer prepares the AddUser request. -func (client ComputeNodeClient) AddUserPreparer(ctx context.Context, poolID string, nodeID string, userParameter ComputeNodeUser, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "nodeId": autorest.Encode("path", nodeID), - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2017-01-01.4.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/nodes/{nodeId}/users", pathParameters), - autorest.WithJSON(userParameter), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// AddUserSender sends the AddUser request. The method will close the -// http.Response Body if it receives an error. -func (client ComputeNodeClient) AddUserSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// AddUserResponder handles the response to the AddUser request. The method always -// closes the http.Response Body. -func (client ComputeNodeClient) AddUserResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), - autorest.ByClosing()) - result.Response = resp - return -} - -// DeleteUser you can delete a user account to a node only when it is in the idle or running state. -// -// poolID is the ID of the pool that contains the compute node. nodeID is the ID of the machine on which you want -// to delete a user account. userName is the name of the user account to delete. timeout is the maximum time that -// the server can spend processing the request, in seconds. The default is 30 seconds. clientRequestID is the -// caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. -func (client ComputeNodeClient) DeleteUser(ctx context.Context, poolID string, nodeID string, userName string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.DeleteUserPreparer(ctx, poolID, nodeID, userName, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "DeleteUser", nil, "Failure preparing request") - return - } - - resp, err := client.DeleteUserSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "DeleteUser", resp, "Failure sending request") - return - } - - result, err = client.DeleteUserResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "DeleteUser", resp, "Failure responding to request") - } - - return -} - -// DeleteUserPreparer prepares the DeleteUser request. -func (client ComputeNodeClient) DeleteUserPreparer(ctx context.Context, poolID string, nodeID string, userName string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "nodeId": autorest.Encode("path", nodeID), - "poolId": autorest.Encode("path", poolID), - "userName": autorest.Encode("path", userName), - } - - const APIVersion = "2017-01-01.4.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsDelete(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/nodes/{nodeId}/users/{userName}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DeleteUserSender sends the DeleteUser request. The method will close the -// http.Response Body if it receives an error. -func (client ComputeNodeClient) DeleteUserSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// DeleteUserResponder handles the response to the DeleteUser request. The method always -// closes the http.Response Body. -func (client ComputeNodeClient) DeleteUserResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} - -// DisableScheduling sends the disable scheduling request. -// -// poolID is the ID of the pool that contains the compute node. nodeID is the ID of the compute node on which you -// want to disable task scheduling. nodeDisableSchedulingParameter is the parameters for the request. timeout is -// the maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. -// clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such as curly -// braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. -func (client ComputeNodeClient) DisableScheduling(ctx context.Context, poolID string, nodeID string, nodeDisableSchedulingParameter *NodeDisableSchedulingParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.DisableSchedulingPreparer(ctx, poolID, nodeID, nodeDisableSchedulingParameter, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "DisableScheduling", nil, "Failure preparing request") - return - } - - resp, err := client.DisableSchedulingSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "DisableScheduling", resp, "Failure sending request") - return - } - - result, err = client.DisableSchedulingResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "DisableScheduling", resp, "Failure responding to request") - } - - return -} - -// DisableSchedulingPreparer prepares the DisableScheduling request. -func (client ComputeNodeClient) DisableSchedulingPreparer(ctx context.Context, poolID string, nodeID string, nodeDisableSchedulingParameter *NodeDisableSchedulingParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "nodeId": autorest.Encode("path", nodeID), - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2017-01-01.4.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/nodes/{nodeId}/disablescheduling", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if nodeDisableSchedulingParameter != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithJSON(nodeDisableSchedulingParameter)) - } - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DisableSchedulingSender sends the DisableScheduling request. The method will close the -// http.Response Body if it receives an error. -func (client ComputeNodeClient) DisableSchedulingSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// DisableSchedulingResponder handles the response to the DisableScheduling request. The method always -// closes the http.Response Body. -func (client ComputeNodeClient) DisableSchedulingResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} - -// EnableScheduling sends the enable scheduling request. -// -// poolID is the ID of the pool that contains the compute node. nodeID is the ID of the compute node on which you -// want to enable task scheduling. timeout is the maximum time that the server can spend processing the request, in -// seconds. The default is 30 seconds. clientRequestID is the caller-generated request identity, in the form of a -// GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID -// is whether the server should return the client-request-id in the response. ocpDate is the time the request was -// issued. Client libraries typically set this to the current system clock time; set it explicitly if you are -// calling the REST API directly. -func (client ComputeNodeClient) EnableScheduling(ctx context.Context, poolID string, nodeID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.EnableSchedulingPreparer(ctx, poolID, nodeID, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "EnableScheduling", nil, "Failure preparing request") - return - } - - resp, err := client.EnableSchedulingSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "EnableScheduling", resp, "Failure sending request") - return - } - - result, err = client.EnableSchedulingResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "EnableScheduling", resp, "Failure responding to request") - } - - return -} - -// EnableSchedulingPreparer prepares the EnableScheduling request. -func (client ComputeNodeClient) EnableSchedulingPreparer(ctx context.Context, poolID string, nodeID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "nodeId": autorest.Encode("path", nodeID), - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2017-01-01.4.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/nodes/{nodeId}/enablescheduling", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// EnableSchedulingSender sends the EnableScheduling request. The method will close the -// http.Response Body if it receives an error. -func (client ComputeNodeClient) EnableSchedulingSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// EnableSchedulingResponder handles the response to the EnableScheduling request. The method always -// closes the http.Response Body. -func (client ComputeNodeClient) EnableSchedulingResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} - -// Get sends the get request. -// -// poolID is the ID of the pool that contains the compute node. nodeID is the ID of the compute node that you want -// to get information about. selectParameter is an OData $select clause. timeout is the maximum time that the -// server can spend processing the request, in seconds. The default is 30 seconds. clientRequestID is the -// caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. -func (client ComputeNodeClient) Get(ctx context.Context, poolID string, nodeID string, selectParameter string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result ComputeNode, err error) { - req, err := client.GetPreparer(ctx, poolID, nodeID, selectParameter, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "Get", nil, "Failure preparing request") - return - } - - resp, err := client.GetSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "Get", resp, "Failure sending request") - return - } - - result, err = client.GetResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "Get", resp, "Failure responding to request") - } - - return -} - -// GetPreparer prepares the Get request. -func (client ComputeNodeClient) GetPreparer(ctx context.Context, poolID string, nodeID string, selectParameter string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "nodeId": autorest.Encode("path", nodeID), - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2017-01-01.4.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(selectParameter) > 0 { - queryParameters["$select"] = autorest.Encode("query", selectParameter) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/nodes/{nodeId}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetSender sends the Get request. The method will close the -// http.Response Body if it receives an error. -func (client ComputeNodeClient) GetSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// GetResponder handles the response to the Get request. The method always -// closes the http.Response Body. -func (client ComputeNodeClient) GetResponder(resp *http.Response) (result ComputeNode, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// GetRemoteDesktop before you can access a node by using the RDP file, you must create a user account on the node. -// This API can only be invoked on pools created with the cloud service configuration property. -// -// poolID is the ID of the pool that contains the compute node. nodeID is the ID of the compute node for which you -// want to get the Remote Desktop Protocol file. timeout is the maximum time that the server can spend processing -// the request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated request identity, in -// the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. -// returnClientRequestID is whether the server should return the client-request-id in the response. ocpDate is the -// time the request was issued. Client libraries typically set this to the current system clock time; set it -// explicitly if you are calling the REST API directly. -func (client ComputeNodeClient) GetRemoteDesktop(ctx context.Context, poolID string, nodeID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result ReadCloser, err error) { - req, err := client.GetRemoteDesktopPreparer(ctx, poolID, nodeID, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "GetRemoteDesktop", nil, "Failure preparing request") - return - } - - resp, err := client.GetRemoteDesktopSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "GetRemoteDesktop", resp, "Failure sending request") - return - } - - result, err = client.GetRemoteDesktopResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "GetRemoteDesktop", resp, "Failure responding to request") - } - - return -} - -// GetRemoteDesktopPreparer prepares the GetRemoteDesktop request. -func (client ComputeNodeClient) GetRemoteDesktopPreparer(ctx context.Context, poolID string, nodeID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "nodeId": autorest.Encode("path", nodeID), - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2017-01-01.4.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/nodes/{nodeId}/rdp", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetRemoteDesktopSender sends the GetRemoteDesktop request. The method will close the -// http.Response Body if it receives an error. -func (client ComputeNodeClient) GetRemoteDesktopSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// GetRemoteDesktopResponder handles the response to the GetRemoteDesktop request. The method always -// closes the http.Response Body. -func (client ComputeNodeClient) GetRemoteDesktopResponder(resp *http.Response) (result ReadCloser, err error) { - result.Value = &resp.Body - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK)) - result.Response = autorest.Response{Response: resp} - return -} - -// GetRemoteLoginSettings before you can remotely login to a node using the remote login settings, you must create a -// user account on the node. This API can be invoked only on pools created with the virtual machine configuration -// property. -// -// poolID is the ID of the pool that contains the compute node. nodeID is the ID of the compute node for which to -// obtain the remote login settings. timeout is the maximum time that the server can spend processing the request, -// in seconds. The default is 30 seconds. clientRequestID is the caller-generated request identity, in the form of -// a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID -// is whether the server should return the client-request-id in the response. ocpDate is the time the request was -// issued. Client libraries typically set this to the current system clock time; set it explicitly if you are -// calling the REST API directly. -func (client ComputeNodeClient) GetRemoteLoginSettings(ctx context.Context, poolID string, nodeID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result ComputeNodeGetRemoteLoginSettingsResult, err error) { - req, err := client.GetRemoteLoginSettingsPreparer(ctx, poolID, nodeID, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "GetRemoteLoginSettings", nil, "Failure preparing request") - return - } - - resp, err := client.GetRemoteLoginSettingsSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "GetRemoteLoginSettings", resp, "Failure sending request") - return - } - - result, err = client.GetRemoteLoginSettingsResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "GetRemoteLoginSettings", resp, "Failure responding to request") - } - - return -} - -// GetRemoteLoginSettingsPreparer prepares the GetRemoteLoginSettings request. -func (client ComputeNodeClient) GetRemoteLoginSettingsPreparer(ctx context.Context, poolID string, nodeID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "nodeId": autorest.Encode("path", nodeID), - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2017-01-01.4.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/nodes/{nodeId}/remoteloginsettings", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetRemoteLoginSettingsSender sends the GetRemoteLoginSettings request. The method will close the -// http.Response Body if it receives an error. -func (client ComputeNodeClient) GetRemoteLoginSettingsSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// GetRemoteLoginSettingsResponder handles the response to the GetRemoteLoginSettings request. The method always -// closes the http.Response Body. -func (client ComputeNodeClient) GetRemoteLoginSettingsResponder(resp *http.Response) (result ComputeNodeGetRemoteLoginSettingsResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// List sends the list request. -// -// poolID is the ID of the pool from which you want to list nodes. filter is an OData $filter clause.. -// selectParameter is an OData $select clause. maxResults is the maximum number of items to return in the response. -// A maximum of 1000 nodes can be returned. timeout is the maximum time that the server can spend processing the -// request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated request identity, in the -// form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. -// returnClientRequestID is whether the server should return the client-request-id in the response. ocpDate is the -// time the request was issued. Client libraries typically set this to the current system clock time; set it -// explicitly if you are calling the REST API directly. -func (client ComputeNodeClient) List(ctx context.Context, poolID string, filter string, selectParameter string, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result ComputeNodeListResultPage, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: maxResults, - Constraints: []validation.Constraint{{Target: "maxResults", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "maxResults", Name: validation.InclusiveMaximum, Rule: 1000, Chain: nil}, - {Target: "maxResults", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}, - }}}}}); err != nil { - return result, validation.NewError("batch.ComputeNodeClient", "List", err.Error()) - } - - result.fn = client.listNextResults - req, err := client.ListPreparer(ctx, poolID, filter, selectParameter, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "List", nil, "Failure preparing request") - return - } - - resp, err := client.ListSender(req) - if err != nil { - result.cnlr.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "List", resp, "Failure sending request") - return - } - - result.cnlr, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "List", resp, "Failure responding to request") - } - - return -} - -// ListPreparer prepares the List request. -func (client ComputeNodeClient) ListPreparer(ctx context.Context, poolID string, filter string, selectParameter string, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2017-01-01.4.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(filter) > 0 { - queryParameters["$filter"] = autorest.Encode("query", filter) - } - if len(selectParameter) > 0 { - queryParameters["$select"] = autorest.Encode("query", selectParameter) - } - if maxResults != nil { - queryParameters["maxresults"] = autorest.Encode("query", *maxResults) - } else { - queryParameters["maxresults"] = autorest.Encode("query", 1000) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/nodes", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListSender sends the List request. The method will close the -// http.Response Body if it receives an error. -func (client ComputeNodeClient) ListSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ListResponder handles the response to the List request. The method always -// closes the http.Response Body. -func (client ComputeNodeClient) ListResponder(resp *http.Response) (result ComputeNodeListResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listNextResults retrieves the next set of results, if any. -func (client ComputeNodeClient) listNextResults(lastResults ComputeNodeListResult) (result ComputeNodeListResult, err error) { - req, err := lastResults.computeNodeListResultPreparer() - if err != nil { - return result, autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "listNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "listNextResults", resp, "Failure sending next results request") - } - result, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "listNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListComplete enumerates all values, automatically crossing page boundaries as required. -func (client ComputeNodeClient) ListComplete(ctx context.Context, poolID string, filter string, selectParameter string, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result ComputeNodeListResultIterator, err error) { - result.page, err = client.List(ctx, poolID, filter, selectParameter, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - return -} - -// Reboot you can restart a node only if it is in an idle or running state. -// -// poolID is the ID of the pool that contains the compute node. nodeID is the ID of the compute node that you want -// to restart. nodeRebootParameter is the parameters for the request. timeout is the maximum time that the server -// can spend processing the request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated -// request identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. -func (client ComputeNodeClient) Reboot(ctx context.Context, poolID string, nodeID string, nodeRebootParameter *NodeRebootParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.RebootPreparer(ctx, poolID, nodeID, nodeRebootParameter, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "Reboot", nil, "Failure preparing request") - return - } - - resp, err := client.RebootSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "Reboot", resp, "Failure sending request") - return - } - - result, err = client.RebootResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "Reboot", resp, "Failure responding to request") - } - - return -} - -// RebootPreparer prepares the Reboot request. -func (client ComputeNodeClient) RebootPreparer(ctx context.Context, poolID string, nodeID string, nodeRebootParameter *NodeRebootParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "nodeId": autorest.Encode("path", nodeID), - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2017-01-01.4.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/nodes/{nodeId}/reboot", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if nodeRebootParameter != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithJSON(nodeRebootParameter)) - } - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// RebootSender sends the Reboot request. The method will close the -// http.Response Body if it receives an error. -func (client ComputeNodeClient) RebootSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// RebootResponder handles the response to the Reboot request. The method always -// closes the http.Response Body. -func (client ComputeNodeClient) RebootResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByClosing()) - result.Response = resp - return -} - -// Reimage you can reinstall the operating system on a node only if it is in an idle or running state. This API can be -// invoked only on pools created with the cloud service configuration property. -// -// poolID is the ID of the pool that contains the compute node. nodeID is the ID of the compute node that you want -// to restart. nodeReimageParameter is the parameters for the request. timeout is the maximum time that the server -// can spend processing the request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated -// request identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. -func (client ComputeNodeClient) Reimage(ctx context.Context, poolID string, nodeID string, nodeReimageParameter *NodeReimageParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.ReimagePreparer(ctx, poolID, nodeID, nodeReimageParameter, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "Reimage", nil, "Failure preparing request") - return - } - - resp, err := client.ReimageSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "Reimage", resp, "Failure sending request") - return - } - - result, err = client.ReimageResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "Reimage", resp, "Failure responding to request") - } - - return -} - -// ReimagePreparer prepares the Reimage request. -func (client ComputeNodeClient) ReimagePreparer(ctx context.Context, poolID string, nodeID string, nodeReimageParameter *NodeReimageParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "nodeId": autorest.Encode("path", nodeID), - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2017-01-01.4.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/nodes/{nodeId}/reimage", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if nodeReimageParameter != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithJSON(nodeReimageParameter)) - } - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ReimageSender sends the Reimage request. The method will close the -// http.Response Body if it receives an error. -func (client ComputeNodeClient) ReimageSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ReimageResponder handles the response to the Reimage request. The method always -// closes the http.Response Body. -func (client ComputeNodeClient) ReimageResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByClosing()) - result.Response = resp - return -} - -// UpdateUser this operation replaces of all the updateable properties of the account. For example, if the expiryTime -// element is not specified, the current value is replaced with the default value, not left unmodified. You can update -// a user account on a node only when it is in the idle or running state. -// -// poolID is the ID of the pool that contains the compute node. nodeID is the ID of the machine on which you want -// to update a user account. userName is the name of the user account to update. nodeUpdateUserParameter is the -// parameters for the request. timeout is the maximum time that the server can spend processing the request, in -// seconds. The default is 30 seconds. clientRequestID is the caller-generated request identity, in the form of a -// GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID -// is whether the server should return the client-request-id in the response. ocpDate is the time the request was -// issued. Client libraries typically set this to the current system clock time; set it explicitly if you are -// calling the REST API directly. -func (client ComputeNodeClient) UpdateUser(ctx context.Context, poolID string, nodeID string, userName string, nodeUpdateUserParameter NodeUpdateUserParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.UpdateUserPreparer(ctx, poolID, nodeID, userName, nodeUpdateUserParameter, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "UpdateUser", nil, "Failure preparing request") - return - } - - resp, err := client.UpdateUserSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "UpdateUser", resp, "Failure sending request") - return - } - - result, err = client.UpdateUserResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "UpdateUser", resp, "Failure responding to request") - } - - return -} - -// UpdateUserPreparer prepares the UpdateUser request. -func (client ComputeNodeClient) UpdateUserPreparer(ctx context.Context, poolID string, nodeID string, userName string, nodeUpdateUserParameter NodeUpdateUserParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "nodeId": autorest.Encode("path", nodeID), - "poolId": autorest.Encode("path", poolID), - "userName": autorest.Encode("path", userName), - } - - const APIVersion = "2017-01-01.4.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPut(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/nodes/{nodeId}/users/{userName}", pathParameters), - autorest.WithJSON(nodeUpdateUserParameter), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// UpdateUserSender sends the UpdateUser request. The method will close the -// http.Response Body if it receives an error. -func (client ComputeNodeClient) UpdateUserSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// UpdateUserResponder handles the response to the UpdateUser request. The method always -// closes the http.Response Body. -func (client ComputeNodeClient) UpdateUserResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} diff --git a/services/batch/2017-01-01.4.0/batch/file.go b/services/batch/2017-01-01.4.0/batch/file.go deleted file mode 100644 index f5aebe769c6a..000000000000 --- a/services/batch/2017-01-01.4.0/batch/file.go +++ /dev/null @@ -1,942 +0,0 @@ -package batch - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/autorest/date" - "github.com/Azure/go-autorest/autorest/validation" - "github.com/satori/go.uuid" - "net/http" -) - -// FileClient is the a client for issuing REST requests to the Azure Batch service. -type FileClient struct { - BaseClient -} - -// NewFileClient creates an instance of the FileClient client. -func NewFileClient() FileClient { - return NewFileClientWithBaseURI(DefaultBaseURI) -} - -// NewFileClientWithBaseURI creates an instance of the FileClient client. -func NewFileClientWithBaseURI(baseURI string) FileClient { - return FileClient{NewWithBaseURI(baseURI)} -} - -// DeleteFromComputeNode sends the delete from compute node request. -// -// poolID is the ID of the pool that contains the compute node. nodeID is the ID of the compute node from which you -// want to delete the file. filePath is the path to the file that you want to delete. recursive is whether to -// delete children of a directory. If the filePath parameter represents a directory instead of a file, you can set -// recursive to true to delete the directory and all of the files and subdirectories in it. If recursive is false -// then the directory must be empty or deletion will fail. timeout is the maximum time that the server can spend -// processing the request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated request -// identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. -func (client FileClient) DeleteFromComputeNode(ctx context.Context, poolID string, nodeID string, filePath string, recursive *bool, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.DeleteFromComputeNodePreparer(ctx, poolID, nodeID, filePath, recursive, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "DeleteFromComputeNode", nil, "Failure preparing request") - return - } - - resp, err := client.DeleteFromComputeNodeSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.FileClient", "DeleteFromComputeNode", resp, "Failure sending request") - return - } - - result, err = client.DeleteFromComputeNodeResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "DeleteFromComputeNode", resp, "Failure responding to request") - } - - return -} - -// DeleteFromComputeNodePreparer prepares the DeleteFromComputeNode request. -func (client FileClient) DeleteFromComputeNodePreparer(ctx context.Context, poolID string, nodeID string, filePath string, recursive *bool, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "filePath": autorest.Encode("path", filePath), - "nodeId": autorest.Encode("path", nodeID), - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2017-01-01.4.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if recursive != nil { - queryParameters["recursive"] = autorest.Encode("query", *recursive) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsDelete(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/nodes/{nodeId}/files/{filePath}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DeleteFromComputeNodeSender sends the DeleteFromComputeNode request. The method will close the -// http.Response Body if it receives an error. -func (client FileClient) DeleteFromComputeNodeSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// DeleteFromComputeNodeResponder handles the response to the DeleteFromComputeNode request. The method always -// closes the http.Response Body. -func (client FileClient) DeleteFromComputeNodeResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} - -// DeleteFromTask sends the delete from task request. -// -// jobID is the ID of the job that contains the task. taskID is the ID of the task whose file you want to delete. -// filePath is the path to the task file that you want to delete. recursive is whether to delete children of a -// directory. If the filePath parameter represents a directory instead of a file, you can set recursive to true to -// delete the directory and all of the files and subdirectories in it. If recursive is false then the directory -// must be empty or deletion will fail. timeout is the maximum time that the server can spend processing the -// request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated request identity, in the -// form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. -// returnClientRequestID is whether the server should return the client-request-id in the response. ocpDate is the -// time the request was issued. Client libraries typically set this to the current system clock time; set it -// explicitly if you are calling the REST API directly. -func (client FileClient) DeleteFromTask(ctx context.Context, jobID string, taskID string, filePath string, recursive *bool, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.DeleteFromTaskPreparer(ctx, jobID, taskID, filePath, recursive, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "DeleteFromTask", nil, "Failure preparing request") - return - } - - resp, err := client.DeleteFromTaskSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.FileClient", "DeleteFromTask", resp, "Failure sending request") - return - } - - result, err = client.DeleteFromTaskResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "DeleteFromTask", resp, "Failure responding to request") - } - - return -} - -// DeleteFromTaskPreparer prepares the DeleteFromTask request. -func (client FileClient) DeleteFromTaskPreparer(ctx context.Context, jobID string, taskID string, filePath string, recursive *bool, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "filePath": autorest.Encode("path", filePath), - "jobId": autorest.Encode("path", jobID), - "taskId": autorest.Encode("path", taskID), - } - - const APIVersion = "2017-01-01.4.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if recursive != nil { - queryParameters["recursive"] = autorest.Encode("query", *recursive) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsDelete(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}/tasks/{taskId}/files/{filePath}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DeleteFromTaskSender sends the DeleteFromTask request. The method will close the -// http.Response Body if it receives an error. -func (client FileClient) DeleteFromTaskSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// DeleteFromTaskResponder handles the response to the DeleteFromTask request. The method always -// closes the http.Response Body. -func (client FileClient) DeleteFromTaskResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} - -// GetFromComputeNode returns the content of the specified compute node file. -// -// poolID is the ID of the pool that contains the compute node. nodeID is the ID of the compute node that contains -// the file. filePath is the path to the compute node file that you want to get the content of. timeout is the -// maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. -// clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such as curly -// braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. ocpRange is -// the byte range to be retrieved. The default is to retrieve the entire file. The format is -// bytes=startRange-endRange. ifModifiedSince is a timestamp indicating the last modified time of the resource -// known to the client. The operation will be performed only if the resource on the service has been modified since -// the specified time. ifUnmodifiedSince is a timestamp indicating the last modified time of the resource known to -// the client. The operation will be performed only if the resource on the service has not been modified since the -// specified time. -func (client FileClient) GetFromComputeNode(ctx context.Context, poolID string, nodeID string, filePath string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ocpRange string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result ReadCloser, err error) { - req, err := client.GetFromComputeNodePreparer(ctx, poolID, nodeID, filePath, timeout, clientRequestID, returnClientRequestID, ocpDate, ocpRange, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "GetFromComputeNode", nil, "Failure preparing request") - return - } - - resp, err := client.GetFromComputeNodeSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.FileClient", "GetFromComputeNode", resp, "Failure sending request") - return - } - - result, err = client.GetFromComputeNodeResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "GetFromComputeNode", resp, "Failure responding to request") - } - - return -} - -// GetFromComputeNodePreparer prepares the GetFromComputeNode request. -func (client FileClient) GetFromComputeNodePreparer(ctx context.Context, poolID string, nodeID string, filePath string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ocpRange string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "filePath": autorest.Encode("path", filePath), - "nodeId": autorest.Encode("path", nodeID), - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2017-01-01.4.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/nodes/{nodeId}/files/{filePath}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ocpRange) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-range", autorest.String(ocpRange))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetFromComputeNodeSender sends the GetFromComputeNode request. The method will close the -// http.Response Body if it receives an error. -func (client FileClient) GetFromComputeNodeSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// GetFromComputeNodeResponder handles the response to the GetFromComputeNode request. The method always -// closes the http.Response Body. -func (client FileClient) GetFromComputeNodeResponder(resp *http.Response) (result ReadCloser, err error) { - result.Value = &resp.Body - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK)) - result.Response = autorest.Response{Response: resp} - return -} - -// GetFromTask returns the content of the specified task file. -// -// jobID is the ID of the job that contains the task. taskID is the ID of the task whose file you want to retrieve. -// filePath is the path to the task file that you want to get the content of. timeout is the maximum time that the -// server can spend processing the request, in seconds. The default is 30 seconds. clientRequestID is the -// caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. ocpRange is -// the byte range to be retrieved. The default is to retrieve the entire file. The format is -// bytes=startRange-endRange. ifModifiedSince is a timestamp indicating the last modified time of the resource -// known to the client. The operation will be performed only if the resource on the service has been modified since -// the specified time. ifUnmodifiedSince is a timestamp indicating the last modified time of the resource known to -// the client. The operation will be performed only if the resource on the service has not been modified since the -// specified time. -func (client FileClient) GetFromTask(ctx context.Context, jobID string, taskID string, filePath string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ocpRange string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result ReadCloser, err error) { - req, err := client.GetFromTaskPreparer(ctx, jobID, taskID, filePath, timeout, clientRequestID, returnClientRequestID, ocpDate, ocpRange, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "GetFromTask", nil, "Failure preparing request") - return - } - - resp, err := client.GetFromTaskSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.FileClient", "GetFromTask", resp, "Failure sending request") - return - } - - result, err = client.GetFromTaskResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "GetFromTask", resp, "Failure responding to request") - } - - return -} - -// GetFromTaskPreparer prepares the GetFromTask request. -func (client FileClient) GetFromTaskPreparer(ctx context.Context, jobID string, taskID string, filePath string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ocpRange string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "filePath": autorest.Encode("path", filePath), - "jobId": autorest.Encode("path", jobID), - "taskId": autorest.Encode("path", taskID), - } - - const APIVersion = "2017-01-01.4.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}/tasks/{taskId}/files/{filePath}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ocpRange) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-range", autorest.String(ocpRange))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetFromTaskSender sends the GetFromTask request. The method will close the -// http.Response Body if it receives an error. -func (client FileClient) GetFromTaskSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// GetFromTaskResponder handles the response to the GetFromTask request. The method always -// closes the http.Response Body. -func (client FileClient) GetFromTaskResponder(resp *http.Response) (result ReadCloser, err error) { - result.Value = &resp.Body - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK)) - result.Response = autorest.Response{Response: resp} - return -} - -// GetPropertiesFromComputeNode gets the properties of the specified compute node file. -// -// poolID is the ID of the pool that contains the compute node. nodeID is the ID of the compute node that contains -// the file. filePath is the path to the compute node file that you want to get the properties of. timeout is the -// maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. -// clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such as curly -// braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. -// ifModifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has been modified since the specified time. -// ifUnmodifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has not been modified since the specified time. -func (client FileClient) GetPropertiesFromComputeNode(ctx context.Context, poolID string, nodeID string, filePath string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.GetPropertiesFromComputeNodePreparer(ctx, poolID, nodeID, filePath, timeout, clientRequestID, returnClientRequestID, ocpDate, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "GetPropertiesFromComputeNode", nil, "Failure preparing request") - return - } - - resp, err := client.GetPropertiesFromComputeNodeSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.FileClient", "GetPropertiesFromComputeNode", resp, "Failure sending request") - return - } - - result, err = client.GetPropertiesFromComputeNodeResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "GetPropertiesFromComputeNode", resp, "Failure responding to request") - } - - return -} - -// GetPropertiesFromComputeNodePreparer prepares the GetPropertiesFromComputeNode request. -func (client FileClient) GetPropertiesFromComputeNodePreparer(ctx context.Context, poolID string, nodeID string, filePath string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "filePath": autorest.Encode("path", filePath), - "nodeId": autorest.Encode("path", nodeID), - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2017-01-01.4.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsHead(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/nodes/{nodeId}/files/{filePath}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetPropertiesFromComputeNodeSender sends the GetPropertiesFromComputeNode request. The method will close the -// http.Response Body if it receives an error. -func (client FileClient) GetPropertiesFromComputeNodeSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// GetPropertiesFromComputeNodeResponder handles the response to the GetPropertiesFromComputeNode request. The method always -// closes the http.Response Body. -func (client FileClient) GetPropertiesFromComputeNodeResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} - -// GetPropertiesFromTask gets the properties of the specified task file. -// -// jobID is the ID of the job that contains the task. taskID is the ID of the task whose file you want to get the -// properties of. filePath is the path to the task file that you want to get the properties of. timeout is the -// maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. -// clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such as curly -// braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. -// ifModifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has been modified since the specified time. -// ifUnmodifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has not been modified since the specified time. -func (client FileClient) GetPropertiesFromTask(ctx context.Context, jobID string, taskID string, filePath string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.GetPropertiesFromTaskPreparer(ctx, jobID, taskID, filePath, timeout, clientRequestID, returnClientRequestID, ocpDate, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "GetPropertiesFromTask", nil, "Failure preparing request") - return - } - - resp, err := client.GetPropertiesFromTaskSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.FileClient", "GetPropertiesFromTask", resp, "Failure sending request") - return - } - - result, err = client.GetPropertiesFromTaskResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "GetPropertiesFromTask", resp, "Failure responding to request") - } - - return -} - -// GetPropertiesFromTaskPreparer prepares the GetPropertiesFromTask request. -func (client FileClient) GetPropertiesFromTaskPreparer(ctx context.Context, jobID string, taskID string, filePath string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "filePath": autorest.Encode("path", filePath), - "jobId": autorest.Encode("path", jobID), - "taskId": autorest.Encode("path", taskID), - } - - const APIVersion = "2017-01-01.4.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsHead(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}/tasks/{taskId}/files/{filePath}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetPropertiesFromTaskSender sends the GetPropertiesFromTask request. The method will close the -// http.Response Body if it receives an error. -func (client FileClient) GetPropertiesFromTaskSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// GetPropertiesFromTaskResponder handles the response to the GetPropertiesFromTask request. The method always -// closes the http.Response Body. -func (client FileClient) GetPropertiesFromTaskResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} - -// ListFromComputeNode sends the list from compute node request. -// -// poolID is the ID of the pool that contains the compute node. nodeID is the ID of the compute node whose files -// you want to list. filter is an OData $filter clause. recursive is whether to list children of a directory. -// maxResults is the maximum number of items to return in the response. A maximum of 1000 files can be returned. -// timeout is the maximum time that the server can spend processing the request, in seconds. The default is 30 -// seconds. clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such -// as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should -// return the client-request-id in the response. ocpDate is the time the request was issued. Client libraries -// typically set this to the current system clock time; set it explicitly if you are calling the REST API directly. -func (client FileClient) ListFromComputeNode(ctx context.Context, poolID string, nodeID string, filter string, recursive *bool, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result NodeFileListResultPage, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: maxResults, - Constraints: []validation.Constraint{{Target: "maxResults", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "maxResults", Name: validation.InclusiveMaximum, Rule: 1000, Chain: nil}, - {Target: "maxResults", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}, - }}}}}); err != nil { - return result, validation.NewError("batch.FileClient", "ListFromComputeNode", err.Error()) - } - - result.fn = client.listFromComputeNodeNextResults - req, err := client.ListFromComputeNodePreparer(ctx, poolID, nodeID, filter, recursive, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "ListFromComputeNode", nil, "Failure preparing request") - return - } - - resp, err := client.ListFromComputeNodeSender(req) - if err != nil { - result.nflr.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.FileClient", "ListFromComputeNode", resp, "Failure sending request") - return - } - - result.nflr, err = client.ListFromComputeNodeResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "ListFromComputeNode", resp, "Failure responding to request") - } - - return -} - -// ListFromComputeNodePreparer prepares the ListFromComputeNode request. -func (client FileClient) ListFromComputeNodePreparer(ctx context.Context, poolID string, nodeID string, filter string, recursive *bool, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "nodeId": autorest.Encode("path", nodeID), - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2017-01-01.4.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(filter) > 0 { - queryParameters["$filter"] = autorest.Encode("query", filter) - } - if recursive != nil { - queryParameters["recursive"] = autorest.Encode("query", *recursive) - } - if maxResults != nil { - queryParameters["maxresults"] = autorest.Encode("query", *maxResults) - } else { - queryParameters["maxresults"] = autorest.Encode("query", 1000) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/nodes/{nodeId}/files", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListFromComputeNodeSender sends the ListFromComputeNode request. The method will close the -// http.Response Body if it receives an error. -func (client FileClient) ListFromComputeNodeSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ListFromComputeNodeResponder handles the response to the ListFromComputeNode request. The method always -// closes the http.Response Body. -func (client FileClient) ListFromComputeNodeResponder(resp *http.Response) (result NodeFileListResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listFromComputeNodeNextResults retrieves the next set of results, if any. -func (client FileClient) listFromComputeNodeNextResults(lastResults NodeFileListResult) (result NodeFileListResult, err error) { - req, err := lastResults.nodeFileListResultPreparer() - if err != nil { - return result, autorest.NewErrorWithError(err, "batch.FileClient", "listFromComputeNodeNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListFromComputeNodeSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "batch.FileClient", "listFromComputeNodeNextResults", resp, "Failure sending next results request") - } - result, err = client.ListFromComputeNodeResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "listFromComputeNodeNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListFromComputeNodeComplete enumerates all values, automatically crossing page boundaries as required. -func (client FileClient) ListFromComputeNodeComplete(ctx context.Context, poolID string, nodeID string, filter string, recursive *bool, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result NodeFileListResultIterator, err error) { - result.page, err = client.ListFromComputeNode(ctx, poolID, nodeID, filter, recursive, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - return -} - -// ListFromTask sends the list from task request. -// -// jobID is the ID of the job that contains the task. taskID is the ID of the task whose files you want to list. -// filter is an OData $filter clause. recursive is whether to list children of a directory. This parameter can be -// used in combination with the filter parameter to list specific type of files. maxResults is the maximum number -// of items to return in the response. A maximum of 1000 files can be returned. timeout is the maximum time that -// the server can spend processing the request, in seconds. The default is 30 seconds. clientRequestID is the -// caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. -func (client FileClient) ListFromTask(ctx context.Context, jobID string, taskID string, filter string, recursive *bool, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result NodeFileListResultPage, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: maxResults, - Constraints: []validation.Constraint{{Target: "maxResults", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "maxResults", Name: validation.InclusiveMaximum, Rule: 1000, Chain: nil}, - {Target: "maxResults", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}, - }}}}}); err != nil { - return result, validation.NewError("batch.FileClient", "ListFromTask", err.Error()) - } - - result.fn = client.listFromTaskNextResults - req, err := client.ListFromTaskPreparer(ctx, jobID, taskID, filter, recursive, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "ListFromTask", nil, "Failure preparing request") - return - } - - resp, err := client.ListFromTaskSender(req) - if err != nil { - result.nflr.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.FileClient", "ListFromTask", resp, "Failure sending request") - return - } - - result.nflr, err = client.ListFromTaskResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "ListFromTask", resp, "Failure responding to request") - } - - return -} - -// ListFromTaskPreparer prepares the ListFromTask request. -func (client FileClient) ListFromTaskPreparer(ctx context.Context, jobID string, taskID string, filter string, recursive *bool, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - "taskId": autorest.Encode("path", taskID), - } - - const APIVersion = "2017-01-01.4.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(filter) > 0 { - queryParameters["$filter"] = autorest.Encode("query", filter) - } - if recursive != nil { - queryParameters["recursive"] = autorest.Encode("query", *recursive) - } - if maxResults != nil { - queryParameters["maxresults"] = autorest.Encode("query", *maxResults) - } else { - queryParameters["maxresults"] = autorest.Encode("query", 1000) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}/tasks/{taskId}/files", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListFromTaskSender sends the ListFromTask request. The method will close the -// http.Response Body if it receives an error. -func (client FileClient) ListFromTaskSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ListFromTaskResponder handles the response to the ListFromTask request. The method always -// closes the http.Response Body. -func (client FileClient) ListFromTaskResponder(resp *http.Response) (result NodeFileListResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listFromTaskNextResults retrieves the next set of results, if any. -func (client FileClient) listFromTaskNextResults(lastResults NodeFileListResult) (result NodeFileListResult, err error) { - req, err := lastResults.nodeFileListResultPreparer() - if err != nil { - return result, autorest.NewErrorWithError(err, "batch.FileClient", "listFromTaskNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListFromTaskSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "batch.FileClient", "listFromTaskNextResults", resp, "Failure sending next results request") - } - result, err = client.ListFromTaskResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "listFromTaskNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListFromTaskComplete enumerates all values, automatically crossing page boundaries as required. -func (client FileClient) ListFromTaskComplete(ctx context.Context, jobID string, taskID string, filter string, recursive *bool, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result NodeFileListResultIterator, err error) { - result.page, err = client.ListFromTask(ctx, jobID, taskID, filter, recursive, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - return -} diff --git a/services/batch/2017-01-01.4.0/batch/job.go b/services/batch/2017-01-01.4.0/batch/job.go deleted file mode 100644 index 77ac65a2f627..000000000000 --- a/services/batch/2017-01-01.4.0/batch/job.go +++ /dev/null @@ -1,1519 +0,0 @@ -package batch - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/autorest/date" - "github.com/Azure/go-autorest/autorest/validation" - "github.com/satori/go.uuid" - "net/http" -) - -// JobClient is the a client for issuing REST requests to the Azure Batch service. -type JobClient struct { - BaseClient -} - -// NewJobClient creates an instance of the JobClient client. -func NewJobClient() JobClient { - return NewJobClientWithBaseURI(DefaultBaseURI) -} - -// NewJobClientWithBaseURI creates an instance of the JobClient client. -func NewJobClientWithBaseURI(baseURI string) JobClient { - return JobClient{NewWithBaseURI(baseURI)} -} - -// Add the Batch service supports two ways to control the work done as part of a job. In the first approach, the user -// specifies a Job Manager task. The Batch service launches this task when it is ready to start the job. The Job -// Manager task controls all other tasks that run under this job, by using the Task APIs. In the second approach, the -// user directly controls the execution of tasks under an active job, by using the Task APIs. Also note: when naming -// jobs, avoid including sensitive information such as user names or secret project names. This information may appear -// in telemetry logs accessible to Microsoft Support engineers. -// -// job is the job to be added. timeout is the maximum time that the server can spend processing the request, in -// seconds. The default is 30 seconds. clientRequestID is the caller-generated request identity, in the form of a -// GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID -// is whether the server should return the client-request-id in the response. ocpDate is the time the request was -// issued. Client libraries typically set this to the current system clock time; set it explicitly if you are -// calling the REST API directly. -func (client JobClient) Add(ctx context.Context, job JobAddParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: job, - Constraints: []validation.Constraint{{Target: "job.ID", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "job.JobManagerTask", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "job.JobManagerTask.ID", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "job.JobManagerTask.CommandLine", Name: validation.Null, Rule: true, Chain: nil}, - }}, - {Target: "job.JobPreparationTask", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "job.JobPreparationTask.CommandLine", Name: validation.Null, Rule: true, Chain: nil}}}, - {Target: "job.JobReleaseTask", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "job.JobReleaseTask.CommandLine", Name: validation.Null, Rule: true, Chain: nil}}}, - {Target: "job.PoolInfo", Name: validation.Null, Rule: true, - Chain: []validation.Constraint{{Target: "job.PoolInfo.AutoPoolSpecification", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "job.PoolInfo.AutoPoolSpecification.Pool", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "job.PoolInfo.AutoPoolSpecification.Pool.VMSize", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "job.PoolInfo.AutoPoolSpecification.Pool.CloudServiceConfiguration", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "job.PoolInfo.AutoPoolSpecification.Pool.CloudServiceConfiguration.OsFamily", Name: validation.Null, Rule: true, Chain: nil}}}, - {Target: "job.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "job.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.ImageReference", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "job.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.ImageReference.Publisher", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "job.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.ImageReference.Offer", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "job.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.ImageReference.Sku", Name: validation.Null, Rule: true, Chain: nil}, - }}, - {Target: "job.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.OsDisk", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "job.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.OsDisk.ImageUris", Name: validation.Null, Rule: true, Chain: nil}}}, - {Target: "job.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.NodeAgentSKUID", Name: validation.Null, Rule: true, Chain: nil}, - }}, - {Target: "job.PoolInfo.AutoPoolSpecification.Pool.StartTask", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "job.PoolInfo.AutoPoolSpecification.Pool.StartTask.CommandLine", Name: validation.Null, Rule: true, Chain: nil}}}, - }}, - }}, - }}}}}); err != nil { - return result, validation.NewError("batch.JobClient", "Add", err.Error()) - } - - req, err := client.AddPreparer(ctx, job, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "Add", nil, "Failure preparing request") - return - } - - resp, err := client.AddSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.JobClient", "Add", resp, "Failure sending request") - return - } - - result, err = client.AddResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "Add", resp, "Failure responding to request") - } - - return -} - -// AddPreparer prepares the Add request. -func (client JobClient) AddPreparer(ctx context.Context, job JobAddParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - const APIVersion = "2017-01-01.4.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPath("/jobs"), - autorest.WithJSON(job), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// AddSender sends the Add request. The method will close the -// http.Response Body if it receives an error. -func (client JobClient) AddSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// AddResponder handles the response to the Add request. The method always -// closes the http.Response Body. -func (client JobClient) AddResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), - autorest.ByClosing()) - result.Response = resp - return -} - -// Delete deleting a job also deletes all tasks that are part of that job, and all job statistics. This also overrides -// the retention period for task data; that is, if the job contains tasks which are still retained on compute nodes, -// the Batch services deletes those tasks' working directories and all their contents. -// -// jobID is the ID of the job to delete. timeout is the maximum time that the server can spend processing the -// request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated request identity, in the -// form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. -// returnClientRequestID is whether the server should return the client-request-id in the response. ocpDate is the -// time the request was issued. Client libraries typically set this to the current system clock time; set it -// explicitly if you are calling the REST API directly. ifMatch is an ETag value associated with the version of the -// resource known to the client. The operation will be performed only if the resource's current ETag on the service -// exactly matches the value specified by the client. ifNoneMatch is an ETag value associated with the version of -// the resource known to the client. The operation will be performed only if the resource's current ETag on the -// service does not match the value specified by the client. ifModifiedSince is a timestamp indicating the last -// modified time of the resource known to the client. The operation will be performed only if the resource on the -// service has been modified since the specified time. ifUnmodifiedSince is a timestamp indicating the last -// modified time of the resource known to the client. The operation will be performed only if the resource on the -// service has not been modified since the specified time. -func (client JobClient) Delete(ctx context.Context, jobID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.DeletePreparer(ctx, jobID, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "Delete", nil, "Failure preparing request") - return - } - - resp, err := client.DeleteSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.JobClient", "Delete", resp, "Failure sending request") - return - } - - result, err = client.DeleteResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "Delete", resp, "Failure responding to request") - } - - return -} - -// DeletePreparer prepares the Delete request. -func (client JobClient) DeletePreparer(ctx context.Context, jobID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - } - - const APIVersion = "2017-01-01.4.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsDelete(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DeleteSender sends the Delete request. The method will close the -// http.Response Body if it receives an error. -func (client JobClient) DeleteSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// DeleteResponder handles the response to the Delete request. The method always -// closes the http.Response Body. -func (client JobClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByClosing()) - result.Response = resp - return -} - -// Disable the Batch Service immediately moves the job to the disabling state. Batch then uses the disableTasks -// parameter to determine what to do with the currently running tasks of the job. The job remains in the disabling -// state until the disable operation is completed and all tasks have been dealt with according to the disableTasks -// option; the job then moves to the disabled state. No new tasks are started under the job until it moves back to -// active state. If you try to disable a job that is in any state other than active, disabling, or disabled, the -// request fails with status code 409. -// -// jobID is the ID of the job to disable. jobDisableParameter is the parameters for the request. timeout is the -// maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. -// clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such as curly -// braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. ifMatch is an -// ETag value associated with the version of the resource known to the client. The operation will be performed only -// if the resource's current ETag on the service exactly matches the value specified by the client. ifNoneMatch is -// an ETag value associated with the version of the resource known to the client. The operation will be performed -// only if the resource's current ETag on the service does not match the value specified by the client. -// ifModifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has been modified since the specified time. -// ifUnmodifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has not been modified since the specified time. -func (client JobClient) Disable(ctx context.Context, jobID string, jobDisableParameter JobDisableParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.DisablePreparer(ctx, jobID, jobDisableParameter, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "Disable", nil, "Failure preparing request") - return - } - - resp, err := client.DisableSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.JobClient", "Disable", resp, "Failure sending request") - return - } - - result, err = client.DisableResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "Disable", resp, "Failure responding to request") - } - - return -} - -// DisablePreparer prepares the Disable request. -func (client JobClient) DisablePreparer(ctx context.Context, jobID string, jobDisableParameter JobDisableParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - } - - const APIVersion = "2017-01-01.4.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}/disable", pathParameters), - autorest.WithJSON(jobDisableParameter), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DisableSender sends the Disable request. The method will close the -// http.Response Body if it receives an error. -func (client JobClient) DisableSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// DisableResponder handles the response to the Disable request. The method always -// closes the http.Response Body. -func (client JobClient) DisableResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByClosing()) - result.Response = resp - return -} - -// Enable when you call this API, the Batch service sets a disabled job to the enabling state. After the this operation -// is completed, the job moves to the active state, and scheduling of new tasks under the job resumes. The Batch -// service does not allow a task to remain in the active state for more than 7 days. Therefore, if you enable a job -// containing active tasks which were added more than 7 days ago, those tasks will not run. -// -// jobID is the ID of the job to enable. timeout is the maximum time that the server can spend processing the -// request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated request identity, in the -// form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. -// returnClientRequestID is whether the server should return the client-request-id in the response. ocpDate is the -// time the request was issued. Client libraries typically set this to the current system clock time; set it -// explicitly if you are calling the REST API directly. ifMatch is an ETag value associated with the version of the -// resource known to the client. The operation will be performed only if the resource's current ETag on the service -// exactly matches the value specified by the client. ifNoneMatch is an ETag value associated with the version of -// the resource known to the client. The operation will be performed only if the resource's current ETag on the -// service does not match the value specified by the client. ifModifiedSince is a timestamp indicating the last -// modified time of the resource known to the client. The operation will be performed only if the resource on the -// service has been modified since the specified time. ifUnmodifiedSince is a timestamp indicating the last -// modified time of the resource known to the client. The operation will be performed only if the resource on the -// service has not been modified since the specified time. -func (client JobClient) Enable(ctx context.Context, jobID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.EnablePreparer(ctx, jobID, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "Enable", nil, "Failure preparing request") - return - } - - resp, err := client.EnableSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.JobClient", "Enable", resp, "Failure sending request") - return - } - - result, err = client.EnableResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "Enable", resp, "Failure responding to request") - } - - return -} - -// EnablePreparer prepares the Enable request. -func (client JobClient) EnablePreparer(ctx context.Context, jobID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - } - - const APIVersion = "2017-01-01.4.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}/enable", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// EnableSender sends the Enable request. The method will close the -// http.Response Body if it receives an error. -func (client JobClient) EnableSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// EnableResponder handles the response to the Enable request. The method always -// closes the http.Response Body. -func (client JobClient) EnableResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByClosing()) - result.Response = resp - return -} - -// Get sends the get request. -// -// jobID is the ID of the job. selectParameter is an OData $select clause. expand is an OData $expand clause. -// timeout is the maximum time that the server can spend processing the request, in seconds. The default is 30 -// seconds. clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such -// as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should -// return the client-request-id in the response. ocpDate is the time the request was issued. Client libraries -// typically set this to the current system clock time; set it explicitly if you are calling the REST API directly. -// ifMatch is an ETag value associated with the version of the resource known to the client. The operation will be -// performed only if the resource's current ETag on the service exactly matches the value specified by the client. -// ifNoneMatch is an ETag value associated with the version of the resource known to the client. The operation will -// be performed only if the resource's current ETag on the service does not match the value specified by the -// client. ifModifiedSince is a timestamp indicating the last modified time of the resource known to the client. -// The operation will be performed only if the resource on the service has been modified since the specified time. -// ifUnmodifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has not been modified since the specified time. -func (client JobClient) Get(ctx context.Context, jobID string, selectParameter string, expand string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result CloudJob, err error) { - req, err := client.GetPreparer(ctx, jobID, selectParameter, expand, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "Get", nil, "Failure preparing request") - return - } - - resp, err := client.GetSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.JobClient", "Get", resp, "Failure sending request") - return - } - - result, err = client.GetResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "Get", resp, "Failure responding to request") - } - - return -} - -// GetPreparer prepares the Get request. -func (client JobClient) GetPreparer(ctx context.Context, jobID string, selectParameter string, expand string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - } - - const APIVersion = "2017-01-01.4.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(selectParameter) > 0 { - queryParameters["$select"] = autorest.Encode("query", selectParameter) - } - if len(expand) > 0 { - queryParameters["$expand"] = autorest.Encode("query", expand) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetSender sends the Get request. The method will close the -// http.Response Body if it receives an error. -func (client JobClient) GetSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// GetResponder handles the response to the Get request. The method always -// closes the http.Response Body. -func (client JobClient) GetResponder(resp *http.Response) (result CloudJob, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// GetAllLifetimeStatistics statistics are aggregated across all jobs that have ever existed in the account, from -// account creation to the last update time of the statistics. -// -// timeout is the maximum time that the server can spend processing the request, in seconds. The default is 30 -// seconds. clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such -// as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should -// return the client-request-id in the response. ocpDate is the time the request was issued. Client libraries -// typically set this to the current system clock time; set it explicitly if you are calling the REST API directly. -func (client JobClient) GetAllLifetimeStatistics(ctx context.Context, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result JobStatistics, err error) { - req, err := client.GetAllLifetimeStatisticsPreparer(ctx, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "GetAllLifetimeStatistics", nil, "Failure preparing request") - return - } - - resp, err := client.GetAllLifetimeStatisticsSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.JobClient", "GetAllLifetimeStatistics", resp, "Failure sending request") - return - } - - result, err = client.GetAllLifetimeStatisticsResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "GetAllLifetimeStatistics", resp, "Failure responding to request") - } - - return -} - -// GetAllLifetimeStatisticsPreparer prepares the GetAllLifetimeStatistics request. -func (client JobClient) GetAllLifetimeStatisticsPreparer(ctx context.Context, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - const APIVersion = "2017-01-01.4.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPath("/lifetimejobstats"), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetAllLifetimeStatisticsSender sends the GetAllLifetimeStatistics request. The method will close the -// http.Response Body if it receives an error. -func (client JobClient) GetAllLifetimeStatisticsSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// GetAllLifetimeStatisticsResponder handles the response to the GetAllLifetimeStatistics request. The method always -// closes the http.Response Body. -func (client JobClient) GetAllLifetimeStatisticsResponder(resp *http.Response) (result JobStatistics, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// List sends the list request. -// -// filter is an OData $filter clause. selectParameter is an OData $select clause. expand is an OData $expand -// clause. maxResults is the maximum number of items to return in the response. A maximum of 1000 jobs can be -// returned. timeout is the maximum time that the server can spend processing the request, in seconds. The default -// is 30 seconds. clientRequestID is the caller-generated request identity, in the form of a GUID with no -// decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the -// server should return the client-request-id in the response. ocpDate is the time the request was issued. Client -// libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API -// directly. -func (client JobClient) List(ctx context.Context, filter string, selectParameter string, expand string, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result CloudJobListResultPage, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: maxResults, - Constraints: []validation.Constraint{{Target: "maxResults", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "maxResults", Name: validation.InclusiveMaximum, Rule: 1000, Chain: nil}, - {Target: "maxResults", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}, - }}}}}); err != nil { - return result, validation.NewError("batch.JobClient", "List", err.Error()) - } - - result.fn = client.listNextResults - req, err := client.ListPreparer(ctx, filter, selectParameter, expand, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "List", nil, "Failure preparing request") - return - } - - resp, err := client.ListSender(req) - if err != nil { - result.cjlr.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.JobClient", "List", resp, "Failure sending request") - return - } - - result.cjlr, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "List", resp, "Failure responding to request") - } - - return -} - -// ListPreparer prepares the List request. -func (client JobClient) ListPreparer(ctx context.Context, filter string, selectParameter string, expand string, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - const APIVersion = "2017-01-01.4.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(filter) > 0 { - queryParameters["$filter"] = autorest.Encode("query", filter) - } - if len(selectParameter) > 0 { - queryParameters["$select"] = autorest.Encode("query", selectParameter) - } - if len(expand) > 0 { - queryParameters["$expand"] = autorest.Encode("query", expand) - } - if maxResults != nil { - queryParameters["maxresults"] = autorest.Encode("query", *maxResults) - } else { - queryParameters["maxresults"] = autorest.Encode("query", 1000) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPath("/jobs"), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListSender sends the List request. The method will close the -// http.Response Body if it receives an error. -func (client JobClient) ListSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ListResponder handles the response to the List request. The method always -// closes the http.Response Body. -func (client JobClient) ListResponder(resp *http.Response) (result CloudJobListResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listNextResults retrieves the next set of results, if any. -func (client JobClient) listNextResults(lastResults CloudJobListResult) (result CloudJobListResult, err error) { - req, err := lastResults.cloudJobListResultPreparer() - if err != nil { - return result, autorest.NewErrorWithError(err, "batch.JobClient", "listNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "batch.JobClient", "listNextResults", resp, "Failure sending next results request") - } - result, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "listNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListComplete enumerates all values, automatically crossing page boundaries as required. -func (client JobClient) ListComplete(ctx context.Context, filter string, selectParameter string, expand string, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result CloudJobListResultIterator, err error) { - result.page, err = client.List(ctx, filter, selectParameter, expand, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - return -} - -// ListFromJobSchedule sends the list from job schedule request. -// -// jobScheduleID is the ID of the job schedule from which you want to get a list of jobs. filter is an OData -// $filter clause. selectParameter is an OData $select clause. expand is an OData $expand clause. maxResults is the -// maximum number of items to return in the response. A maximum of 1000 jobs can be returned. timeout is the -// maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. -// clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such as curly -// braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. -func (client JobClient) ListFromJobSchedule(ctx context.Context, jobScheduleID string, filter string, selectParameter string, expand string, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result CloudJobListResultPage, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: maxResults, - Constraints: []validation.Constraint{{Target: "maxResults", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "maxResults", Name: validation.InclusiveMaximum, Rule: 1000, Chain: nil}, - {Target: "maxResults", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}, - }}}}}); err != nil { - return result, validation.NewError("batch.JobClient", "ListFromJobSchedule", err.Error()) - } - - result.fn = client.listFromJobScheduleNextResults - req, err := client.ListFromJobSchedulePreparer(ctx, jobScheduleID, filter, selectParameter, expand, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "ListFromJobSchedule", nil, "Failure preparing request") - return - } - - resp, err := client.ListFromJobScheduleSender(req) - if err != nil { - result.cjlr.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.JobClient", "ListFromJobSchedule", resp, "Failure sending request") - return - } - - result.cjlr, err = client.ListFromJobScheduleResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "ListFromJobSchedule", resp, "Failure responding to request") - } - - return -} - -// ListFromJobSchedulePreparer prepares the ListFromJobSchedule request. -func (client JobClient) ListFromJobSchedulePreparer(ctx context.Context, jobScheduleID string, filter string, selectParameter string, expand string, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobScheduleId": autorest.Encode("path", jobScheduleID), - } - - const APIVersion = "2017-01-01.4.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(filter) > 0 { - queryParameters["$filter"] = autorest.Encode("query", filter) - } - if len(selectParameter) > 0 { - queryParameters["$select"] = autorest.Encode("query", selectParameter) - } - if len(expand) > 0 { - queryParameters["$expand"] = autorest.Encode("query", expand) - } - if maxResults != nil { - queryParameters["maxresults"] = autorest.Encode("query", *maxResults) - } else { - queryParameters["maxresults"] = autorest.Encode("query", 1000) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobschedules/{jobScheduleId}/jobs", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListFromJobScheduleSender sends the ListFromJobSchedule request. The method will close the -// http.Response Body if it receives an error. -func (client JobClient) ListFromJobScheduleSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ListFromJobScheduleResponder handles the response to the ListFromJobSchedule request. The method always -// closes the http.Response Body. -func (client JobClient) ListFromJobScheduleResponder(resp *http.Response) (result CloudJobListResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listFromJobScheduleNextResults retrieves the next set of results, if any. -func (client JobClient) listFromJobScheduleNextResults(lastResults CloudJobListResult) (result CloudJobListResult, err error) { - req, err := lastResults.cloudJobListResultPreparer() - if err != nil { - return result, autorest.NewErrorWithError(err, "batch.JobClient", "listFromJobScheduleNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListFromJobScheduleSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "batch.JobClient", "listFromJobScheduleNextResults", resp, "Failure sending next results request") - } - result, err = client.ListFromJobScheduleResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "listFromJobScheduleNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListFromJobScheduleComplete enumerates all values, automatically crossing page boundaries as required. -func (client JobClient) ListFromJobScheduleComplete(ctx context.Context, jobScheduleID string, filter string, selectParameter string, expand string, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result CloudJobListResultIterator, err error) { - result.page, err = client.ListFromJobSchedule(ctx, jobScheduleID, filter, selectParameter, expand, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - return -} - -// ListPreparationAndReleaseTaskStatus this API returns the Job Preparation and Job Release task status on all compute -// nodes that have run the Job Preparation or Job Release task. This includes nodes which have since been removed from -// the pool. -// -// jobID is the ID of the job. filter is an OData $filter clause. selectParameter is an OData $select clause. -// maxResults is the maximum number of items to return in the response. A maximum of 1000 tasks can be returned. -// timeout is the maximum time that the server can spend processing the request, in seconds. The default is 30 -// seconds. clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such -// as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should -// return the client-request-id in the response. ocpDate is the time the request was issued. Client libraries -// typically set this to the current system clock time; set it explicitly if you are calling the REST API directly. -func (client JobClient) ListPreparationAndReleaseTaskStatus(ctx context.Context, jobID string, filter string, selectParameter string, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result CloudJobListPreparationAndReleaseTaskStatusResultPage, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: maxResults, - Constraints: []validation.Constraint{{Target: "maxResults", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "maxResults", Name: validation.InclusiveMaximum, Rule: 1000, Chain: nil}, - {Target: "maxResults", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}, - }}}}}); err != nil { - return result, validation.NewError("batch.JobClient", "ListPreparationAndReleaseTaskStatus", err.Error()) - } - - result.fn = client.listPreparationAndReleaseTaskStatusNextResults - req, err := client.ListPreparationAndReleaseTaskStatusPreparer(ctx, jobID, filter, selectParameter, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "ListPreparationAndReleaseTaskStatus", nil, "Failure preparing request") - return - } - - resp, err := client.ListPreparationAndReleaseTaskStatusSender(req) - if err != nil { - result.cjlpartsr.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.JobClient", "ListPreparationAndReleaseTaskStatus", resp, "Failure sending request") - return - } - - result.cjlpartsr, err = client.ListPreparationAndReleaseTaskStatusResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "ListPreparationAndReleaseTaskStatus", resp, "Failure responding to request") - } - - return -} - -// ListPreparationAndReleaseTaskStatusPreparer prepares the ListPreparationAndReleaseTaskStatus request. -func (client JobClient) ListPreparationAndReleaseTaskStatusPreparer(ctx context.Context, jobID string, filter string, selectParameter string, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - } - - const APIVersion = "2017-01-01.4.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(filter) > 0 { - queryParameters["$filter"] = autorest.Encode("query", filter) - } - if len(selectParameter) > 0 { - queryParameters["$select"] = autorest.Encode("query", selectParameter) - } - if maxResults != nil { - queryParameters["maxresults"] = autorest.Encode("query", *maxResults) - } else { - queryParameters["maxresults"] = autorest.Encode("query", 1000) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}/jobpreparationandreleasetaskstatus", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListPreparationAndReleaseTaskStatusSender sends the ListPreparationAndReleaseTaskStatus request. The method will close the -// http.Response Body if it receives an error. -func (client JobClient) ListPreparationAndReleaseTaskStatusSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ListPreparationAndReleaseTaskStatusResponder handles the response to the ListPreparationAndReleaseTaskStatus request. The method always -// closes the http.Response Body. -func (client JobClient) ListPreparationAndReleaseTaskStatusResponder(resp *http.Response) (result CloudJobListPreparationAndReleaseTaskStatusResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listPreparationAndReleaseTaskStatusNextResults retrieves the next set of results, if any. -func (client JobClient) listPreparationAndReleaseTaskStatusNextResults(lastResults CloudJobListPreparationAndReleaseTaskStatusResult) (result CloudJobListPreparationAndReleaseTaskStatusResult, err error) { - req, err := lastResults.cloudJobListPreparationAndReleaseTaskStatusResultPreparer() - if err != nil { - return result, autorest.NewErrorWithError(err, "batch.JobClient", "listPreparationAndReleaseTaskStatusNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListPreparationAndReleaseTaskStatusSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "batch.JobClient", "listPreparationAndReleaseTaskStatusNextResults", resp, "Failure sending next results request") - } - result, err = client.ListPreparationAndReleaseTaskStatusResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "listPreparationAndReleaseTaskStatusNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListPreparationAndReleaseTaskStatusComplete enumerates all values, automatically crossing page boundaries as required. -func (client JobClient) ListPreparationAndReleaseTaskStatusComplete(ctx context.Context, jobID string, filter string, selectParameter string, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result CloudJobListPreparationAndReleaseTaskStatusResultIterator, err error) { - result.page, err = client.ListPreparationAndReleaseTaskStatus(ctx, jobID, filter, selectParameter, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - return -} - -// Patch this replaces only the job properties specified in the request. For example, if the job has constraints, and a -// request does not specify the constraints element, then the job keeps the existing constraints. -// -// jobID is the ID of the job whose properties you want to update. jobPatchParameter is the parameters for the -// request. timeout is the maximum time that the server can spend processing the request, in seconds. The default -// is 30 seconds. clientRequestID is the caller-generated request identity, in the form of a GUID with no -// decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the -// server should return the client-request-id in the response. ocpDate is the time the request was issued. Client -// libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API -// directly. ifMatch is an ETag value associated with the version of the resource known to the client. The -// operation will be performed only if the resource's current ETag on the service exactly matches the value -// specified by the client. ifNoneMatch is an ETag value associated with the version of the resource known to the -// client. The operation will be performed only if the resource's current ETag on the service does not match the -// value specified by the client. ifModifiedSince is a timestamp indicating the last modified time of the resource -// known to the client. The operation will be performed only if the resource on the service has been modified since -// the specified time. ifUnmodifiedSince is a timestamp indicating the last modified time of the resource known to -// the client. The operation will be performed only if the resource on the service has not been modified since the -// specified time. -func (client JobClient) Patch(ctx context.Context, jobID string, jobPatchParameter JobPatchParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.PatchPreparer(ctx, jobID, jobPatchParameter, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "Patch", nil, "Failure preparing request") - return - } - - resp, err := client.PatchSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.JobClient", "Patch", resp, "Failure sending request") - return - } - - result, err = client.PatchResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "Patch", resp, "Failure responding to request") - } - - return -} - -// PatchPreparer prepares the Patch request. -func (client JobClient) PatchPreparer(ctx context.Context, jobID string, jobPatchParameter JobPatchParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - } - - const APIVersion = "2017-01-01.4.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPatch(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}", pathParameters), - autorest.WithJSON(jobPatchParameter), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// PatchSender sends the Patch request. The method will close the -// http.Response Body if it receives an error. -func (client JobClient) PatchSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// PatchResponder handles the response to the Patch request. The method always -// closes the http.Response Body. -func (client JobClient) PatchResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} - -// Terminate when a Terminate Job request is received, the Batch service sets the job to the terminating state. The -// Batch service then terminates any active or running tasks associated with the job, and runs any required Job Release -// tasks. The job then moves into the completed state. -// -// jobID is the ID of the job to terminate. jobTerminateParameter is the parameters for the request. timeout is the -// maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. -// clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such as curly -// braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. ifMatch is an -// ETag value associated with the version of the resource known to the client. The operation will be performed only -// if the resource's current ETag on the service exactly matches the value specified by the client. ifNoneMatch is -// an ETag value associated with the version of the resource known to the client. The operation will be performed -// only if the resource's current ETag on the service does not match the value specified by the client. -// ifModifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has been modified since the specified time. -// ifUnmodifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has not been modified since the specified time. -func (client JobClient) Terminate(ctx context.Context, jobID string, jobTerminateParameter *JobTerminateParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.TerminatePreparer(ctx, jobID, jobTerminateParameter, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "Terminate", nil, "Failure preparing request") - return - } - - resp, err := client.TerminateSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.JobClient", "Terminate", resp, "Failure sending request") - return - } - - result, err = client.TerminateResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "Terminate", resp, "Failure responding to request") - } - - return -} - -// TerminatePreparer prepares the Terminate request. -func (client JobClient) TerminatePreparer(ctx context.Context, jobID string, jobTerminateParameter *JobTerminateParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - } - - const APIVersion = "2017-01-01.4.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}/terminate", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if jobTerminateParameter != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithJSON(jobTerminateParameter)) - } - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// TerminateSender sends the Terminate request. The method will close the -// http.Response Body if it receives an error. -func (client JobClient) TerminateSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// TerminateResponder handles the response to the Terminate request. The method always -// closes the http.Response Body. -func (client JobClient) TerminateResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByClosing()) - result.Response = resp - return -} - -// Update this fully replaces all the updateable properties of the job. For example, if the job has constraints -// associated with it and if constraints is not specified with this request, then the Batch service will remove the -// existing constraints. -// -// jobID is the ID of the job whose properties you want to update. jobUpdateParameter is the parameters for the -// request. timeout is the maximum time that the server can spend processing the request, in seconds. The default -// is 30 seconds. clientRequestID is the caller-generated request identity, in the form of a GUID with no -// decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the -// server should return the client-request-id in the response. ocpDate is the time the request was issued. Client -// libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API -// directly. ifMatch is an ETag value associated with the version of the resource known to the client. The -// operation will be performed only if the resource's current ETag on the service exactly matches the value -// specified by the client. ifNoneMatch is an ETag value associated with the version of the resource known to the -// client. The operation will be performed only if the resource's current ETag on the service does not match the -// value specified by the client. ifModifiedSince is a timestamp indicating the last modified time of the resource -// known to the client. The operation will be performed only if the resource on the service has been modified since -// the specified time. ifUnmodifiedSince is a timestamp indicating the last modified time of the resource known to -// the client. The operation will be performed only if the resource on the service has not been modified since the -// specified time. -func (client JobClient) Update(ctx context.Context, jobID string, jobUpdateParameter JobUpdateParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: jobUpdateParameter, - Constraints: []validation.Constraint{{Target: "jobUpdateParameter.PoolInfo", Name: validation.Null, Rule: true, - Chain: []validation.Constraint{{Target: "jobUpdateParameter.PoolInfo.AutoPoolSpecification", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "jobUpdateParameter.PoolInfo.AutoPoolSpecification.Pool", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "jobUpdateParameter.PoolInfo.AutoPoolSpecification.Pool.VMSize", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "jobUpdateParameter.PoolInfo.AutoPoolSpecification.Pool.CloudServiceConfiguration", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "jobUpdateParameter.PoolInfo.AutoPoolSpecification.Pool.CloudServiceConfiguration.OsFamily", Name: validation.Null, Rule: true, Chain: nil}}}, - {Target: "jobUpdateParameter.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "jobUpdateParameter.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.ImageReference", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "jobUpdateParameter.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.ImageReference.Publisher", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "jobUpdateParameter.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.ImageReference.Offer", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "jobUpdateParameter.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.ImageReference.Sku", Name: validation.Null, Rule: true, Chain: nil}, - }}, - {Target: "jobUpdateParameter.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.OsDisk", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "jobUpdateParameter.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.OsDisk.ImageUris", Name: validation.Null, Rule: true, Chain: nil}}}, - {Target: "jobUpdateParameter.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.NodeAgentSKUID", Name: validation.Null, Rule: true, Chain: nil}, - }}, - {Target: "jobUpdateParameter.PoolInfo.AutoPoolSpecification.Pool.StartTask", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "jobUpdateParameter.PoolInfo.AutoPoolSpecification.Pool.StartTask.CommandLine", Name: validation.Null, Rule: true, Chain: nil}}}, - }}, - }}, - }}}}}); err != nil { - return result, validation.NewError("batch.JobClient", "Update", err.Error()) - } - - req, err := client.UpdatePreparer(ctx, jobID, jobUpdateParameter, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "Update", nil, "Failure preparing request") - return - } - - resp, err := client.UpdateSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.JobClient", "Update", resp, "Failure sending request") - return - } - - result, err = client.UpdateResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "Update", resp, "Failure responding to request") - } - - return -} - -// UpdatePreparer prepares the Update request. -func (client JobClient) UpdatePreparer(ctx context.Context, jobID string, jobUpdateParameter JobUpdateParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - } - - const APIVersion = "2017-01-01.4.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPut(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}", pathParameters), - autorest.WithJSON(jobUpdateParameter), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// UpdateSender sends the Update request. The method will close the -// http.Response Body if it receives an error. -func (client JobClient) UpdateSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// UpdateResponder handles the response to the Update request. The method always -// closes the http.Response Body. -func (client JobClient) UpdateResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} diff --git a/services/batch/2017-01-01.4.0/batch/jobschedule.go b/services/batch/2017-01-01.4.0/batch/jobschedule.go deleted file mode 100644 index 317390eb4d5d..000000000000 --- a/services/batch/2017-01-01.4.0/batch/jobschedule.go +++ /dev/null @@ -1,1261 +0,0 @@ -package batch - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/autorest/date" - "github.com/Azure/go-autorest/autorest/validation" - "github.com/satori/go.uuid" - "net/http" -) - -// JobScheduleClient is the a client for issuing REST requests to the Azure Batch service. -type JobScheduleClient struct { - BaseClient -} - -// NewJobScheduleClient creates an instance of the JobScheduleClient client. -func NewJobScheduleClient() JobScheduleClient { - return NewJobScheduleClientWithBaseURI(DefaultBaseURI) -} - -// NewJobScheduleClientWithBaseURI creates an instance of the JobScheduleClient client. -func NewJobScheduleClientWithBaseURI(baseURI string) JobScheduleClient { - return JobScheduleClient{NewWithBaseURI(baseURI)} -} - -// Add sends the add request. -// -// cloudJobSchedule is the job schedule to be added. timeout is the maximum time that the server can spend -// processing the request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated request -// identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. -func (client JobScheduleClient) Add(ctx context.Context, cloudJobSchedule JobScheduleAddParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: cloudJobSchedule, - Constraints: []validation.Constraint{{Target: "cloudJobSchedule.ID", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "cloudJobSchedule.Schedule", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "cloudJobSchedule.JobSpecification", Name: validation.Null, Rule: true, - Chain: []validation.Constraint{{Target: "cloudJobSchedule.JobSpecification.JobManagerTask", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "cloudJobSchedule.JobSpecification.JobManagerTask.ID", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "cloudJobSchedule.JobSpecification.JobManagerTask.CommandLine", Name: validation.Null, Rule: true, Chain: nil}, - }}, - {Target: "cloudJobSchedule.JobSpecification.JobPreparationTask", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "cloudJobSchedule.JobSpecification.JobPreparationTask.CommandLine", Name: validation.Null, Rule: true, Chain: nil}}}, - {Target: "cloudJobSchedule.JobSpecification.JobReleaseTask", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "cloudJobSchedule.JobSpecification.JobReleaseTask.CommandLine", Name: validation.Null, Rule: true, Chain: nil}}}, - {Target: "cloudJobSchedule.JobSpecification.PoolInfo", Name: validation.Null, Rule: true, - Chain: []validation.Constraint{{Target: "cloudJobSchedule.JobSpecification.PoolInfo.AutoPoolSpecification", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "cloudJobSchedule.JobSpecification.PoolInfo.AutoPoolSpecification.Pool", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "cloudJobSchedule.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.VMSize", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "cloudJobSchedule.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.CloudServiceConfiguration", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "cloudJobSchedule.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.CloudServiceConfiguration.OsFamily", Name: validation.Null, Rule: true, Chain: nil}}}, - {Target: "cloudJobSchedule.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "cloudJobSchedule.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.ImageReference", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "cloudJobSchedule.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.ImageReference.Publisher", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "cloudJobSchedule.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.ImageReference.Offer", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "cloudJobSchedule.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.ImageReference.Sku", Name: validation.Null, Rule: true, Chain: nil}, - }}, - {Target: "cloudJobSchedule.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.OsDisk", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "cloudJobSchedule.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.OsDisk.ImageUris", Name: validation.Null, Rule: true, Chain: nil}}}, - {Target: "cloudJobSchedule.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.NodeAgentSKUID", Name: validation.Null, Rule: true, Chain: nil}, - }}, - {Target: "cloudJobSchedule.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.StartTask", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "cloudJobSchedule.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.StartTask.CommandLine", Name: validation.Null, Rule: true, Chain: nil}}}, - }}, - }}, - }}, - }}}}}); err != nil { - return result, validation.NewError("batch.JobScheduleClient", "Add", err.Error()) - } - - req, err := client.AddPreparer(ctx, cloudJobSchedule, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Add", nil, "Failure preparing request") - return - } - - resp, err := client.AddSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Add", resp, "Failure sending request") - return - } - - result, err = client.AddResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Add", resp, "Failure responding to request") - } - - return -} - -// AddPreparer prepares the Add request. -func (client JobScheduleClient) AddPreparer(ctx context.Context, cloudJobSchedule JobScheduleAddParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - const APIVersion = "2017-01-01.4.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPath("/jobschedules"), - autorest.WithJSON(cloudJobSchedule), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// AddSender sends the Add request. The method will close the -// http.Response Body if it receives an error. -func (client JobScheduleClient) AddSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// AddResponder handles the response to the Add request. The method always -// closes the http.Response Body. -func (client JobScheduleClient) AddResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), - autorest.ByClosing()) - result.Response = resp - return -} - -// Delete when you delete a job schedule, this also deletes all jobs and tasks under that schedule. When tasks are -// deleted, all the files in their working directories on the compute nodes are also deleted (the retention period is -// ignored). The job schedule statistics are no longer accessible once the job schedule is deleted, though they are -// still counted towards account lifetime statistics. -// -// jobScheduleID is the ID of the job schedule to delete. timeout is the maximum time that the server can spend -// processing the request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated request -// identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. ifMatch is an -// ETag value associated with the version of the resource known to the client. The operation will be performed only -// if the resource's current ETag on the service exactly matches the value specified by the client. ifNoneMatch is -// an ETag value associated with the version of the resource known to the client. The operation will be performed -// only if the resource's current ETag on the service does not match the value specified by the client. -// ifModifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has been modified since the specified time. -// ifUnmodifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has not been modified since the specified time. -func (client JobScheduleClient) Delete(ctx context.Context, jobScheduleID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.DeletePreparer(ctx, jobScheduleID, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Delete", nil, "Failure preparing request") - return - } - - resp, err := client.DeleteSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Delete", resp, "Failure sending request") - return - } - - result, err = client.DeleteResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Delete", resp, "Failure responding to request") - } - - return -} - -// DeletePreparer prepares the Delete request. -func (client JobScheduleClient) DeletePreparer(ctx context.Context, jobScheduleID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobScheduleId": autorest.Encode("path", jobScheduleID), - } - - const APIVersion = "2017-01-01.4.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsDelete(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobschedules/{jobScheduleId}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DeleteSender sends the Delete request. The method will close the -// http.Response Body if it receives an error. -func (client JobScheduleClient) DeleteSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// DeleteResponder handles the response to the Delete request. The method always -// closes the http.Response Body. -func (client JobScheduleClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByClosing()) - result.Response = resp - return -} - -// Disable no new jobs will be created until the job schedule is enabled again. -// -// jobScheduleID is the ID of the job schedule to disable. timeout is the maximum time that the server can spend -// processing the request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated request -// identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. ifMatch is an -// ETag value associated with the version of the resource known to the client. The operation will be performed only -// if the resource's current ETag on the service exactly matches the value specified by the client. ifNoneMatch is -// an ETag value associated with the version of the resource known to the client. The operation will be performed -// only if the resource's current ETag on the service does not match the value specified by the client. -// ifModifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has been modified since the specified time. -// ifUnmodifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has not been modified since the specified time. -func (client JobScheduleClient) Disable(ctx context.Context, jobScheduleID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.DisablePreparer(ctx, jobScheduleID, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Disable", nil, "Failure preparing request") - return - } - - resp, err := client.DisableSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Disable", resp, "Failure sending request") - return - } - - result, err = client.DisableResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Disable", resp, "Failure responding to request") - } - - return -} - -// DisablePreparer prepares the Disable request. -func (client JobScheduleClient) DisablePreparer(ctx context.Context, jobScheduleID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobScheduleId": autorest.Encode("path", jobScheduleID), - } - - const APIVersion = "2017-01-01.4.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobschedules/{jobScheduleId}/disable", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DisableSender sends the Disable request. The method will close the -// http.Response Body if it receives an error. -func (client JobScheduleClient) DisableSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// DisableResponder handles the response to the Disable request. The method always -// closes the http.Response Body. -func (client JobScheduleClient) DisableResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), - autorest.ByClosing()) - result.Response = resp - return -} - -// Enable sends the enable request. -// -// jobScheduleID is the ID of the job schedule to enable. timeout is the maximum time that the server can spend -// processing the request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated request -// identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. ifMatch is an -// ETag value associated with the version of the resource known to the client. The operation will be performed only -// if the resource's current ETag on the service exactly matches the value specified by the client. ifNoneMatch is -// an ETag value associated with the version of the resource known to the client. The operation will be performed -// only if the resource's current ETag on the service does not match the value specified by the client. -// ifModifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has been modified since the specified time. -// ifUnmodifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has not been modified since the specified time. -func (client JobScheduleClient) Enable(ctx context.Context, jobScheduleID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.EnablePreparer(ctx, jobScheduleID, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Enable", nil, "Failure preparing request") - return - } - - resp, err := client.EnableSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Enable", resp, "Failure sending request") - return - } - - result, err = client.EnableResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Enable", resp, "Failure responding to request") - } - - return -} - -// EnablePreparer prepares the Enable request. -func (client JobScheduleClient) EnablePreparer(ctx context.Context, jobScheduleID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobScheduleId": autorest.Encode("path", jobScheduleID), - } - - const APIVersion = "2017-01-01.4.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobschedules/{jobScheduleId}/enable", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// EnableSender sends the Enable request. The method will close the -// http.Response Body if it receives an error. -func (client JobScheduleClient) EnableSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// EnableResponder handles the response to the Enable request. The method always -// closes the http.Response Body. -func (client JobScheduleClient) EnableResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), - autorest.ByClosing()) - result.Response = resp - return -} - -// Exists sends the exists request. -// -// jobScheduleID is the ID of the job schedule which you want to check. timeout is the maximum time that the server -// can spend processing the request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated -// request identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. ifMatch is an -// ETag value associated with the version of the resource known to the client. The operation will be performed only -// if the resource's current ETag on the service exactly matches the value specified by the client. ifNoneMatch is -// an ETag value associated with the version of the resource known to the client. The operation will be performed -// only if the resource's current ETag on the service does not match the value specified by the client. -// ifModifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has been modified since the specified time. -// ifUnmodifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has not been modified since the specified time. -func (client JobScheduleClient) Exists(ctx context.Context, jobScheduleID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.ExistsPreparer(ctx, jobScheduleID, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Exists", nil, "Failure preparing request") - return - } - - resp, err := client.ExistsSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Exists", resp, "Failure sending request") - return - } - - result, err = client.ExistsResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Exists", resp, "Failure responding to request") - } - - return -} - -// ExistsPreparer prepares the Exists request. -func (client JobScheduleClient) ExistsPreparer(ctx context.Context, jobScheduleID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobScheduleId": autorest.Encode("path", jobScheduleID), - } - - const APIVersion = "2017-01-01.4.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsHead(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobschedules/{jobScheduleId}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ExistsSender sends the Exists request. The method will close the -// http.Response Body if it receives an error. -func (client JobScheduleClient) ExistsSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ExistsResponder handles the response to the Exists request. The method always -// closes the http.Response Body. -func (client JobScheduleClient) ExistsResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), - autorest.ByClosing()) - result.Response = resp - return -} - -// Get gets information about the specified job schedule. -// -// jobScheduleID is the ID of the job schedule to get. selectParameter is an OData $select clause. expand is an -// OData $expand clause. timeout is the maximum time that the server can spend processing the request, in seconds. -// The default is 30 seconds. clientRequestID is the caller-generated request identity, in the form of a GUID with -// no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether -// the server should return the client-request-id in the response. ocpDate is the time the request was issued. -// Client libraries typically set this to the current system clock time; set it explicitly if you are calling the -// REST API directly. ifMatch is an ETag value associated with the version of the resource known to the client. The -// operation will be performed only if the resource's current ETag on the service exactly matches the value -// specified by the client. ifNoneMatch is an ETag value associated with the version of the resource known to the -// client. The operation will be performed only if the resource's current ETag on the service does not match the -// value specified by the client. ifModifiedSince is a timestamp indicating the last modified time of the resource -// known to the client. The operation will be performed only if the resource on the service has been modified since -// the specified time. ifUnmodifiedSince is a timestamp indicating the last modified time of the resource known to -// the client. The operation will be performed only if the resource on the service has not been modified since the -// specified time. -func (client JobScheduleClient) Get(ctx context.Context, jobScheduleID string, selectParameter string, expand string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result CloudJobSchedule, err error) { - req, err := client.GetPreparer(ctx, jobScheduleID, selectParameter, expand, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Get", nil, "Failure preparing request") - return - } - - resp, err := client.GetSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Get", resp, "Failure sending request") - return - } - - result, err = client.GetResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Get", resp, "Failure responding to request") - } - - return -} - -// GetPreparer prepares the Get request. -func (client JobScheduleClient) GetPreparer(ctx context.Context, jobScheduleID string, selectParameter string, expand string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobScheduleId": autorest.Encode("path", jobScheduleID), - } - - const APIVersion = "2017-01-01.4.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(selectParameter) > 0 { - queryParameters["$select"] = autorest.Encode("query", selectParameter) - } - if len(expand) > 0 { - queryParameters["$expand"] = autorest.Encode("query", expand) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobschedules/{jobScheduleId}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetSender sends the Get request. The method will close the -// http.Response Body if it receives an error. -func (client JobScheduleClient) GetSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// GetResponder handles the response to the Get request. The method always -// closes the http.Response Body. -func (client JobScheduleClient) GetResponder(resp *http.Response) (result CloudJobSchedule, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// List sends the list request. -// -// filter is an OData $filter clause. selectParameter is an OData $select clause. expand is an OData $expand -// clause. maxResults is the maximum number of items to return in the response. A maximum of 1000 job schedules can -// be returned. timeout is the maximum time that the server can spend processing the request, in seconds. The -// default is 30 seconds. clientRequestID is the caller-generated request identity, in the form of a GUID with no -// decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the -// server should return the client-request-id in the response. ocpDate is the time the request was issued. Client -// libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API -// directly. -func (client JobScheduleClient) List(ctx context.Context, filter string, selectParameter string, expand string, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result CloudJobScheduleListResultPage, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: maxResults, - Constraints: []validation.Constraint{{Target: "maxResults", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "maxResults", Name: validation.InclusiveMaximum, Rule: 1000, Chain: nil}, - {Target: "maxResults", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}, - }}}}}); err != nil { - return result, validation.NewError("batch.JobScheduleClient", "List", err.Error()) - } - - result.fn = client.listNextResults - req, err := client.ListPreparer(ctx, filter, selectParameter, expand, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "List", nil, "Failure preparing request") - return - } - - resp, err := client.ListSender(req) - if err != nil { - result.cjslr.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "List", resp, "Failure sending request") - return - } - - result.cjslr, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "List", resp, "Failure responding to request") - } - - return -} - -// ListPreparer prepares the List request. -func (client JobScheduleClient) ListPreparer(ctx context.Context, filter string, selectParameter string, expand string, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - const APIVersion = "2017-01-01.4.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(filter) > 0 { - queryParameters["$filter"] = autorest.Encode("query", filter) - } - if len(selectParameter) > 0 { - queryParameters["$select"] = autorest.Encode("query", selectParameter) - } - if len(expand) > 0 { - queryParameters["$expand"] = autorest.Encode("query", expand) - } - if maxResults != nil { - queryParameters["maxresults"] = autorest.Encode("query", *maxResults) - } else { - queryParameters["maxresults"] = autorest.Encode("query", 1000) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPath("/jobschedules"), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListSender sends the List request. The method will close the -// http.Response Body if it receives an error. -func (client JobScheduleClient) ListSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ListResponder handles the response to the List request. The method always -// closes the http.Response Body. -func (client JobScheduleClient) ListResponder(resp *http.Response) (result CloudJobScheduleListResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listNextResults retrieves the next set of results, if any. -func (client JobScheduleClient) listNextResults(lastResults CloudJobScheduleListResult) (result CloudJobScheduleListResult, err error) { - req, err := lastResults.cloudJobScheduleListResultPreparer() - if err != nil { - return result, autorest.NewErrorWithError(err, "batch.JobScheduleClient", "listNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "batch.JobScheduleClient", "listNextResults", resp, "Failure sending next results request") - } - result, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "listNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListComplete enumerates all values, automatically crossing page boundaries as required. -func (client JobScheduleClient) ListComplete(ctx context.Context, filter string, selectParameter string, expand string, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result CloudJobScheduleListResultIterator, err error) { - result.page, err = client.List(ctx, filter, selectParameter, expand, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - return -} - -// Patch this replaces only the job schedule properties specified in the request. For example, if the schedule property -// is not specified with this request, then the Batch service will keep the existing schedule. Changes to a job -// schedule only impact jobs created by the schedule after the update has taken place; currently running jobs are -// unaffected. -// -// jobScheduleID is the ID of the job schedule to update. jobSchedulePatchParameter is the parameters for the -// request. timeout is the maximum time that the server can spend processing the request, in seconds. The default -// is 30 seconds. clientRequestID is the caller-generated request identity, in the form of a GUID with no -// decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the -// server should return the client-request-id in the response. ocpDate is the time the request was issued. Client -// libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API -// directly. ifMatch is an ETag value associated with the version of the resource known to the client. The -// operation will be performed only if the resource's current ETag on the service exactly matches the value -// specified by the client. ifNoneMatch is an ETag value associated with the version of the resource known to the -// client. The operation will be performed only if the resource's current ETag on the service does not match the -// value specified by the client. ifModifiedSince is a timestamp indicating the last modified time of the resource -// known to the client. The operation will be performed only if the resource on the service has been modified since -// the specified time. ifUnmodifiedSince is a timestamp indicating the last modified time of the resource known to -// the client. The operation will be performed only if the resource on the service has not been modified since the -// specified time. -func (client JobScheduleClient) Patch(ctx context.Context, jobScheduleID string, jobSchedulePatchParameter JobSchedulePatchParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.PatchPreparer(ctx, jobScheduleID, jobSchedulePatchParameter, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Patch", nil, "Failure preparing request") - return - } - - resp, err := client.PatchSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Patch", resp, "Failure sending request") - return - } - - result, err = client.PatchResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Patch", resp, "Failure responding to request") - } - - return -} - -// PatchPreparer prepares the Patch request. -func (client JobScheduleClient) PatchPreparer(ctx context.Context, jobScheduleID string, jobSchedulePatchParameter JobSchedulePatchParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobScheduleId": autorest.Encode("path", jobScheduleID), - } - - const APIVersion = "2017-01-01.4.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPatch(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobschedules/{jobScheduleId}", pathParameters), - autorest.WithJSON(jobSchedulePatchParameter), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// PatchSender sends the Patch request. The method will close the -// http.Response Body if it receives an error. -func (client JobScheduleClient) PatchSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// PatchResponder handles the response to the Patch request. The method always -// closes the http.Response Body. -func (client JobScheduleClient) PatchResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} - -// Terminate sends the terminate request. -// -// jobScheduleID is the ID of the job schedule to terminates. timeout is the maximum time that the server can spend -// processing the request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated request -// identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. ifMatch is an -// ETag value associated with the version of the resource known to the client. The operation will be performed only -// if the resource's current ETag on the service exactly matches the value specified by the client. ifNoneMatch is -// an ETag value associated with the version of the resource known to the client. The operation will be performed -// only if the resource's current ETag on the service does not match the value specified by the client. -// ifModifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has been modified since the specified time. -// ifUnmodifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has not been modified since the specified time. -func (client JobScheduleClient) Terminate(ctx context.Context, jobScheduleID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.TerminatePreparer(ctx, jobScheduleID, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Terminate", nil, "Failure preparing request") - return - } - - resp, err := client.TerminateSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Terminate", resp, "Failure sending request") - return - } - - result, err = client.TerminateResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Terminate", resp, "Failure responding to request") - } - - return -} - -// TerminatePreparer prepares the Terminate request. -func (client JobScheduleClient) TerminatePreparer(ctx context.Context, jobScheduleID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobScheduleId": autorest.Encode("path", jobScheduleID), - } - - const APIVersion = "2017-01-01.4.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobschedules/{jobScheduleId}/terminate", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// TerminateSender sends the Terminate request. The method will close the -// http.Response Body if it receives an error. -func (client JobScheduleClient) TerminateSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// TerminateResponder handles the response to the Terminate request. The method always -// closes the http.Response Body. -func (client JobScheduleClient) TerminateResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByClosing()) - result.Response = resp - return -} - -// Update this fully replaces all the updateable properties of the job schedule. For example, if the schedule property -// is not specified with this request, then the Batch service will remove the existing schedule. Changes to a job -// schedule only impact jobs created by the schedule after the update has taken place; currently running jobs are -// unaffected. -// -// jobScheduleID is the ID of the job schedule to update. jobScheduleUpdateParameter is the parameters for the -// request. timeout is the maximum time that the server can spend processing the request, in seconds. The default -// is 30 seconds. clientRequestID is the caller-generated request identity, in the form of a GUID with no -// decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the -// server should return the client-request-id in the response. ocpDate is the time the request was issued. Client -// libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API -// directly. ifMatch is an ETag value associated with the version of the resource known to the client. The -// operation will be performed only if the resource's current ETag on the service exactly matches the value -// specified by the client. ifNoneMatch is an ETag value associated with the version of the resource known to the -// client. The operation will be performed only if the resource's current ETag on the service does not match the -// value specified by the client. ifModifiedSince is a timestamp indicating the last modified time of the resource -// known to the client. The operation will be performed only if the resource on the service has been modified since -// the specified time. ifUnmodifiedSince is a timestamp indicating the last modified time of the resource known to -// the client. The operation will be performed only if the resource on the service has not been modified since the -// specified time. -func (client JobScheduleClient) Update(ctx context.Context, jobScheduleID string, jobScheduleUpdateParameter JobScheduleUpdateParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: jobScheduleUpdateParameter, - Constraints: []validation.Constraint{{Target: "jobScheduleUpdateParameter.Schedule", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "jobScheduleUpdateParameter.JobSpecification", Name: validation.Null, Rule: true, - Chain: []validation.Constraint{{Target: "jobScheduleUpdateParameter.JobSpecification.JobManagerTask", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "jobScheduleUpdateParameter.JobSpecification.JobManagerTask.ID", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "jobScheduleUpdateParameter.JobSpecification.JobManagerTask.CommandLine", Name: validation.Null, Rule: true, Chain: nil}, - }}, - {Target: "jobScheduleUpdateParameter.JobSpecification.JobPreparationTask", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "jobScheduleUpdateParameter.JobSpecification.JobPreparationTask.CommandLine", Name: validation.Null, Rule: true, Chain: nil}}}, - {Target: "jobScheduleUpdateParameter.JobSpecification.JobReleaseTask", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "jobScheduleUpdateParameter.JobSpecification.JobReleaseTask.CommandLine", Name: validation.Null, Rule: true, Chain: nil}}}, - {Target: "jobScheduleUpdateParameter.JobSpecification.PoolInfo", Name: validation.Null, Rule: true, - Chain: []validation.Constraint{{Target: "jobScheduleUpdateParameter.JobSpecification.PoolInfo.AutoPoolSpecification", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "jobScheduleUpdateParameter.JobSpecification.PoolInfo.AutoPoolSpecification.Pool", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "jobScheduleUpdateParameter.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.VMSize", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "jobScheduleUpdateParameter.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.CloudServiceConfiguration", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "jobScheduleUpdateParameter.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.CloudServiceConfiguration.OsFamily", Name: validation.Null, Rule: true, Chain: nil}}}, - {Target: "jobScheduleUpdateParameter.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "jobScheduleUpdateParameter.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.ImageReference", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "jobScheduleUpdateParameter.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.ImageReference.Publisher", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "jobScheduleUpdateParameter.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.ImageReference.Offer", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "jobScheduleUpdateParameter.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.ImageReference.Sku", Name: validation.Null, Rule: true, Chain: nil}, - }}, - {Target: "jobScheduleUpdateParameter.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.OsDisk", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "jobScheduleUpdateParameter.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.OsDisk.ImageUris", Name: validation.Null, Rule: true, Chain: nil}}}, - {Target: "jobScheduleUpdateParameter.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.NodeAgentSKUID", Name: validation.Null, Rule: true, Chain: nil}, - }}, - {Target: "jobScheduleUpdateParameter.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.StartTask", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "jobScheduleUpdateParameter.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.StartTask.CommandLine", Name: validation.Null, Rule: true, Chain: nil}}}, - }}, - }}, - }}, - }}}}}); err != nil { - return result, validation.NewError("batch.JobScheduleClient", "Update", err.Error()) - } - - req, err := client.UpdatePreparer(ctx, jobScheduleID, jobScheduleUpdateParameter, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Update", nil, "Failure preparing request") - return - } - - resp, err := client.UpdateSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Update", resp, "Failure sending request") - return - } - - result, err = client.UpdateResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Update", resp, "Failure responding to request") - } - - return -} - -// UpdatePreparer prepares the Update request. -func (client JobScheduleClient) UpdatePreparer(ctx context.Context, jobScheduleID string, jobScheduleUpdateParameter JobScheduleUpdateParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobScheduleId": autorest.Encode("path", jobScheduleID), - } - - const APIVersion = "2017-01-01.4.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPut(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobschedules/{jobScheduleId}", pathParameters), - autorest.WithJSON(jobScheduleUpdateParameter), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// UpdateSender sends the Update request. The method will close the -// http.Response Body if it receives an error. -func (client JobScheduleClient) UpdateSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// UpdateResponder handles the response to the Update request. The method always -// closes the http.Response Body. -func (client JobScheduleClient) UpdateResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} diff --git a/services/batch/2017-01-01.4.0/batch/models.go b/services/batch/2017-01-01.4.0/batch/models.go deleted file mode 100644 index b2ed4b95987d..000000000000 --- a/services/batch/2017-01-01.4.0/batch/models.go +++ /dev/null @@ -1,2989 +0,0 @@ -package batch - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/date" - "github.com/Azure/go-autorest/autorest/to" - "io" - "net/http" -) - -// AccessScope enumerates the values for access scope. -type AccessScope string - -const ( - // Job ... - Job AccessScope = "job" -) - -// PossibleAccessScopeValues returns an array of possible values for the AccessScope const type. -func PossibleAccessScopeValues() []AccessScope { - return []AccessScope{Job} -} - -// AllocationState enumerates the values for allocation state. -type AllocationState string - -const ( - // Resizing ... - Resizing AllocationState = "resizing" - // Steady ... - Steady AllocationState = "steady" - // Stopping ... - Stopping AllocationState = "stopping" -) - -// PossibleAllocationStateValues returns an array of possible values for the AllocationState const type. -func PossibleAllocationStateValues() []AllocationState { - return []AllocationState{Resizing, Steady, Stopping} -} - -// AutoUserScope enumerates the values for auto user scope. -type AutoUserScope string - -const ( - // Pool ... - Pool AutoUserScope = "pool" - // Task ... - Task AutoUserScope = "task" -) - -// PossibleAutoUserScopeValues returns an array of possible values for the AutoUserScope const type. -func PossibleAutoUserScopeValues() []AutoUserScope { - return []AutoUserScope{Pool, Task} -} - -// CachingType enumerates the values for caching type. -type CachingType string - -const ( - // None ... - None CachingType = "none" - // ReadOnly ... - ReadOnly CachingType = "readOnly" - // ReadWrite ... - ReadWrite CachingType = "readWrite" -) - -// PossibleCachingTypeValues returns an array of possible values for the CachingType const type. -func PossibleCachingTypeValues() []CachingType { - return []CachingType{None, ReadOnly, ReadWrite} -} - -// CertificateFormat enumerates the values for certificate format. -type CertificateFormat string - -const ( - // Cer ... - Cer CertificateFormat = "cer" - // Pfx ... - Pfx CertificateFormat = "pfx" - // Unmapped ... - Unmapped CertificateFormat = "unmapped" -) - -// PossibleCertificateFormatValues returns an array of possible values for the CertificateFormat const type. -func PossibleCertificateFormatValues() []CertificateFormat { - return []CertificateFormat{Cer, Pfx, Unmapped} -} - -// CertificateState enumerates the values for certificate state. -type CertificateState string - -const ( - // Active ... - Active CertificateState = "active" - // DeleteFailed ... - DeleteFailed CertificateState = "deleteFailed" - // Deleting ... - Deleting CertificateState = "deleting" -) - -// PossibleCertificateStateValues returns an array of possible values for the CertificateState const type. -func PossibleCertificateStateValues() []CertificateState { - return []CertificateState{Active, DeleteFailed, Deleting} -} - -// CertificateStoreLocation enumerates the values for certificate store location. -type CertificateStoreLocation string - -const ( - // CertificateStoreLocationCurrentUser ... - CertificateStoreLocationCurrentUser CertificateStoreLocation = "currentUser" - // CertificateStoreLocationLocalMachine ... - CertificateStoreLocationLocalMachine CertificateStoreLocation = "localMachine" - // CertificateStoreLocationUnmapped ... - CertificateStoreLocationUnmapped CertificateStoreLocation = "unmapped" -) - -// PossibleCertificateStoreLocationValues returns an array of possible values for the CertificateStoreLocation const type. -func PossibleCertificateStoreLocationValues() []CertificateStoreLocation { - return []CertificateStoreLocation{CertificateStoreLocationCurrentUser, CertificateStoreLocationLocalMachine, CertificateStoreLocationUnmapped} -} - -// CertificateVisibility enumerates the values for certificate visibility. -type CertificateVisibility string - -const ( - // CertificateVisibilityRemoteUser ... - CertificateVisibilityRemoteUser CertificateVisibility = "remoteUser" - // CertificateVisibilityStartTask ... - CertificateVisibilityStartTask CertificateVisibility = "startTask" - // CertificateVisibilityTask ... - CertificateVisibilityTask CertificateVisibility = "task" - // CertificateVisibilityUnmapped ... - CertificateVisibilityUnmapped CertificateVisibility = "unmapped" -) - -// PossibleCertificateVisibilityValues returns an array of possible values for the CertificateVisibility const type. -func PossibleCertificateVisibilityValues() []CertificateVisibility { - return []CertificateVisibility{CertificateVisibilityRemoteUser, CertificateVisibilityStartTask, CertificateVisibilityTask, CertificateVisibilityUnmapped} -} - -// ComputeNodeDeallocationOption enumerates the values for compute node deallocation option. -type ComputeNodeDeallocationOption string - -const ( - // Requeue ... - Requeue ComputeNodeDeallocationOption = "requeue" - // RetainedData ... - RetainedData ComputeNodeDeallocationOption = "retainedData" - // TaskCompletion ... - TaskCompletion ComputeNodeDeallocationOption = "taskCompletion" - // Terminate ... - Terminate ComputeNodeDeallocationOption = "terminate" -) - -// PossibleComputeNodeDeallocationOptionValues returns an array of possible values for the ComputeNodeDeallocationOption const type. -func PossibleComputeNodeDeallocationOptionValues() []ComputeNodeDeallocationOption { - return []ComputeNodeDeallocationOption{Requeue, RetainedData, TaskCompletion, Terminate} -} - -// ComputeNodeFillType enumerates the values for compute node fill type. -type ComputeNodeFillType string - -const ( - // ComputeNodeFillTypePack ... - ComputeNodeFillTypePack ComputeNodeFillType = "pack" - // ComputeNodeFillTypeSpread ... - ComputeNodeFillTypeSpread ComputeNodeFillType = "spread" - // ComputeNodeFillTypeUnmapped ... - ComputeNodeFillTypeUnmapped ComputeNodeFillType = "unmapped" -) - -// PossibleComputeNodeFillTypeValues returns an array of possible values for the ComputeNodeFillType const type. -func PossibleComputeNodeFillTypeValues() []ComputeNodeFillType { - return []ComputeNodeFillType{ComputeNodeFillTypePack, ComputeNodeFillTypeSpread, ComputeNodeFillTypeUnmapped} -} - -// ComputeNodeRebootOption enumerates the values for compute node reboot option. -type ComputeNodeRebootOption string - -const ( - // ComputeNodeRebootOptionRequeue ... - ComputeNodeRebootOptionRequeue ComputeNodeRebootOption = "requeue" - // ComputeNodeRebootOptionRetainedData ... - ComputeNodeRebootOptionRetainedData ComputeNodeRebootOption = "retainedData" - // ComputeNodeRebootOptionTaskCompletion ... - ComputeNodeRebootOptionTaskCompletion ComputeNodeRebootOption = "taskCompletion" - // ComputeNodeRebootOptionTerminate ... - ComputeNodeRebootOptionTerminate ComputeNodeRebootOption = "terminate" -) - -// PossibleComputeNodeRebootOptionValues returns an array of possible values for the ComputeNodeRebootOption const type. -func PossibleComputeNodeRebootOptionValues() []ComputeNodeRebootOption { - return []ComputeNodeRebootOption{ComputeNodeRebootOptionRequeue, ComputeNodeRebootOptionRetainedData, ComputeNodeRebootOptionTaskCompletion, ComputeNodeRebootOptionTerminate} -} - -// ComputeNodeReimageOption enumerates the values for compute node reimage option. -type ComputeNodeReimageOption string - -const ( - // ComputeNodeReimageOptionRequeue ... - ComputeNodeReimageOptionRequeue ComputeNodeReimageOption = "requeue" - // ComputeNodeReimageOptionRetainedData ... - ComputeNodeReimageOptionRetainedData ComputeNodeReimageOption = "retainedData" - // ComputeNodeReimageOptionTaskCompletion ... - ComputeNodeReimageOptionTaskCompletion ComputeNodeReimageOption = "taskCompletion" - // ComputeNodeReimageOptionTerminate ... - ComputeNodeReimageOptionTerminate ComputeNodeReimageOption = "terminate" -) - -// PossibleComputeNodeReimageOptionValues returns an array of possible values for the ComputeNodeReimageOption const type. -func PossibleComputeNodeReimageOptionValues() []ComputeNodeReimageOption { - return []ComputeNodeReimageOption{ComputeNodeReimageOptionRequeue, ComputeNodeReimageOptionRetainedData, ComputeNodeReimageOptionTaskCompletion, ComputeNodeReimageOptionTerminate} -} - -// ComputeNodeState enumerates the values for compute node state. -type ComputeNodeState string - -const ( - // Creating ... - Creating ComputeNodeState = "creating" - // Idle ... - Idle ComputeNodeState = "idle" - // LeavingPool ... - LeavingPool ComputeNodeState = "leavingPool" - // Offline ... - Offline ComputeNodeState = "offline" - // Rebooting ... - Rebooting ComputeNodeState = "rebooting" - // Reimaging ... - Reimaging ComputeNodeState = "reimaging" - // Running ... - Running ComputeNodeState = "running" - // Starting ... - Starting ComputeNodeState = "starting" - // StartTaskFailed ... - StartTaskFailed ComputeNodeState = "startTaskFailed" - // Unknown ... - Unknown ComputeNodeState = "unknown" - // Unusable ... - Unusable ComputeNodeState = "unusable" - // WaitingForStartTask ... - WaitingForStartTask ComputeNodeState = "waitingForStartTask" -) - -// PossibleComputeNodeStateValues returns an array of possible values for the ComputeNodeState const type. -func PossibleComputeNodeStateValues() []ComputeNodeState { - return []ComputeNodeState{Creating, Idle, LeavingPool, Offline, Rebooting, Reimaging, Running, Starting, StartTaskFailed, Unknown, Unusable, WaitingForStartTask} -} - -// DependencyAction enumerates the values for dependency action. -type DependencyAction string - -const ( - // Block ... - Block DependencyAction = "block" - // Satisfy ... - Satisfy DependencyAction = "satisfy" -) - -// PossibleDependencyActionValues returns an array of possible values for the DependencyAction const type. -func PossibleDependencyActionValues() []DependencyAction { - return []DependencyAction{Block, Satisfy} -} - -// DisableComputeNodeSchedulingOption enumerates the values for disable compute node scheduling option. -type DisableComputeNodeSchedulingOption string - -const ( - // DisableComputeNodeSchedulingOptionRequeue ... - DisableComputeNodeSchedulingOptionRequeue DisableComputeNodeSchedulingOption = "requeue" - // DisableComputeNodeSchedulingOptionTaskCompletion ... - DisableComputeNodeSchedulingOptionTaskCompletion DisableComputeNodeSchedulingOption = "taskCompletion" - // DisableComputeNodeSchedulingOptionTerminate ... - DisableComputeNodeSchedulingOptionTerminate DisableComputeNodeSchedulingOption = "terminate" -) - -// PossibleDisableComputeNodeSchedulingOptionValues returns an array of possible values for the DisableComputeNodeSchedulingOption const type. -func PossibleDisableComputeNodeSchedulingOptionValues() []DisableComputeNodeSchedulingOption { - return []DisableComputeNodeSchedulingOption{DisableComputeNodeSchedulingOptionRequeue, DisableComputeNodeSchedulingOptionTaskCompletion, DisableComputeNodeSchedulingOptionTerminate} -} - -// DisableJobOption enumerates the values for disable job option. -type DisableJobOption string - -const ( - // DisableJobOptionRequeue ... - DisableJobOptionRequeue DisableJobOption = "requeue" - // DisableJobOptionTerminate ... - DisableJobOptionTerminate DisableJobOption = "terminate" - // DisableJobOptionWait ... - DisableJobOptionWait DisableJobOption = "wait" -) - -// PossibleDisableJobOptionValues returns an array of possible values for the DisableJobOption const type. -func PossibleDisableJobOptionValues() []DisableJobOption { - return []DisableJobOption{DisableJobOptionRequeue, DisableJobOptionTerminate, DisableJobOptionWait} -} - -// ElevationLevel enumerates the values for elevation level. -type ElevationLevel string - -const ( - // Admin ... - Admin ElevationLevel = "admin" - // NonAdmin ... - NonAdmin ElevationLevel = "nonAdmin" -) - -// PossibleElevationLevelValues returns an array of possible values for the ElevationLevel const type. -func PossibleElevationLevelValues() []ElevationLevel { - return []ElevationLevel{Admin, NonAdmin} -} - -// JobAction enumerates the values for job action. -type JobAction string - -const ( - // JobActionDisable ... - JobActionDisable JobAction = "disable" - // JobActionNone ... - JobActionNone JobAction = "none" - // JobActionTerminate ... - JobActionTerminate JobAction = "terminate" -) - -// PossibleJobActionValues returns an array of possible values for the JobAction const type. -func PossibleJobActionValues() []JobAction { - return []JobAction{JobActionDisable, JobActionNone, JobActionTerminate} -} - -// JobPreparationTaskState enumerates the values for job preparation task state. -type JobPreparationTaskState string - -const ( - // JobPreparationTaskStateCompleted ... - JobPreparationTaskStateCompleted JobPreparationTaskState = "completed" - // JobPreparationTaskStateRunning ... - JobPreparationTaskStateRunning JobPreparationTaskState = "running" -) - -// PossibleJobPreparationTaskStateValues returns an array of possible values for the JobPreparationTaskState const type. -func PossibleJobPreparationTaskStateValues() []JobPreparationTaskState { - return []JobPreparationTaskState{JobPreparationTaskStateCompleted, JobPreparationTaskStateRunning} -} - -// JobReleaseTaskState enumerates the values for job release task state. -type JobReleaseTaskState string - -const ( - // JobReleaseTaskStateCompleted ... - JobReleaseTaskStateCompleted JobReleaseTaskState = "completed" - // JobReleaseTaskStateRunning ... - JobReleaseTaskStateRunning JobReleaseTaskState = "running" -) - -// PossibleJobReleaseTaskStateValues returns an array of possible values for the JobReleaseTaskState const type. -func PossibleJobReleaseTaskStateValues() []JobReleaseTaskState { - return []JobReleaseTaskState{JobReleaseTaskStateCompleted, JobReleaseTaskStateRunning} -} - -// JobScheduleState enumerates the values for job schedule state. -type JobScheduleState string - -const ( - // JobScheduleStateActive ... - JobScheduleStateActive JobScheduleState = "active" - // JobScheduleStateCompleted ... - JobScheduleStateCompleted JobScheduleState = "completed" - // JobScheduleStateDeleting ... - JobScheduleStateDeleting JobScheduleState = "deleting" - // JobScheduleStateDisabled ... - JobScheduleStateDisabled JobScheduleState = "disabled" - // JobScheduleStateTerminating ... - JobScheduleStateTerminating JobScheduleState = "terminating" -) - -// PossibleJobScheduleStateValues returns an array of possible values for the JobScheduleState const type. -func PossibleJobScheduleStateValues() []JobScheduleState { - return []JobScheduleState{JobScheduleStateActive, JobScheduleStateCompleted, JobScheduleStateDeleting, JobScheduleStateDisabled, JobScheduleStateTerminating} -} - -// JobState enumerates the values for job state. -type JobState string - -const ( - // JobStateActive ... - JobStateActive JobState = "active" - // JobStateCompleted ... - JobStateCompleted JobState = "completed" - // JobStateDeleting ... - JobStateDeleting JobState = "deleting" - // JobStateDisabled ... - JobStateDisabled JobState = "disabled" - // JobStateDisabling ... - JobStateDisabling JobState = "disabling" - // JobStateEnabling ... - JobStateEnabling JobState = "enabling" - // JobStateTerminating ... - JobStateTerminating JobState = "terminating" -) - -// PossibleJobStateValues returns an array of possible values for the JobState const type. -func PossibleJobStateValues() []JobState { - return []JobState{JobStateActive, JobStateCompleted, JobStateDeleting, JobStateDisabled, JobStateDisabling, JobStateEnabling, JobStateTerminating} -} - -// OnAllTasksComplete enumerates the values for on all tasks complete. -type OnAllTasksComplete string - -const ( - // NoAction ... - NoAction OnAllTasksComplete = "noAction" - // TerminateJob ... - TerminateJob OnAllTasksComplete = "terminateJob" -) - -// PossibleOnAllTasksCompleteValues returns an array of possible values for the OnAllTasksComplete const type. -func PossibleOnAllTasksCompleteValues() []OnAllTasksComplete { - return []OnAllTasksComplete{NoAction, TerminateJob} -} - -// OnTaskFailure enumerates the values for on task failure. -type OnTaskFailure string - -const ( - // OnTaskFailureNoAction ... - OnTaskFailureNoAction OnTaskFailure = "noAction" - // OnTaskFailurePerformExitOptionsJobAction ... - OnTaskFailurePerformExitOptionsJobAction OnTaskFailure = "performExitOptionsJobAction" -) - -// PossibleOnTaskFailureValues returns an array of possible values for the OnTaskFailure const type. -func PossibleOnTaskFailureValues() []OnTaskFailure { - return []OnTaskFailure{OnTaskFailureNoAction, OnTaskFailurePerformExitOptionsJobAction} -} - -// OSType enumerates the values for os type. -type OSType string - -const ( - // OSTypeLinux ... - OSTypeLinux OSType = "linux" - // OSTypeUnmapped ... - OSTypeUnmapped OSType = "unmapped" - // OSTypeWindows ... - OSTypeWindows OSType = "windows" -) - -// PossibleOSTypeValues returns an array of possible values for the OSType const type. -func PossibleOSTypeValues() []OSType { - return []OSType{OSTypeLinux, OSTypeUnmapped, OSTypeWindows} -} - -// PoolLifetimeOption enumerates the values for pool lifetime option. -type PoolLifetimeOption string - -const ( - // PoolLifetimeOptionJob ... - PoolLifetimeOptionJob PoolLifetimeOption = "job" - // PoolLifetimeOptionJobSchedule ... - PoolLifetimeOptionJobSchedule PoolLifetimeOption = "jobSchedule" - // PoolLifetimeOptionUnmapped ... - PoolLifetimeOptionUnmapped PoolLifetimeOption = "unmapped" -) - -// PossiblePoolLifetimeOptionValues returns an array of possible values for the PoolLifetimeOption const type. -func PossiblePoolLifetimeOptionValues() []PoolLifetimeOption { - return []PoolLifetimeOption{PoolLifetimeOptionJob, PoolLifetimeOptionJobSchedule, PoolLifetimeOptionUnmapped} -} - -// PoolState enumerates the values for pool state. -type PoolState string - -const ( - // PoolStateActive ... - PoolStateActive PoolState = "active" - // PoolStateDeleting ... - PoolStateDeleting PoolState = "deleting" - // PoolStateUpgrading ... - PoolStateUpgrading PoolState = "upgrading" -) - -// PossiblePoolStateValues returns an array of possible values for the PoolState const type. -func PossiblePoolStateValues() []PoolState { - return []PoolState{PoolStateActive, PoolStateDeleting, PoolStateUpgrading} -} - -// SchedulingErrorCategory enumerates the values for scheduling error category. -type SchedulingErrorCategory string - -const ( - // SchedulingErrorCategoryServerError ... - SchedulingErrorCategoryServerError SchedulingErrorCategory = "serverError" - // SchedulingErrorCategoryUnmapped ... - SchedulingErrorCategoryUnmapped SchedulingErrorCategory = "unmapped" - // SchedulingErrorCategoryUserError ... - SchedulingErrorCategoryUserError SchedulingErrorCategory = "userError" -) - -// PossibleSchedulingErrorCategoryValues returns an array of possible values for the SchedulingErrorCategory const type. -func PossibleSchedulingErrorCategoryValues() []SchedulingErrorCategory { - return []SchedulingErrorCategory{SchedulingErrorCategoryServerError, SchedulingErrorCategoryUnmapped, SchedulingErrorCategoryUserError} -} - -// SchedulingState enumerates the values for scheduling state. -type SchedulingState string - -const ( - // Disabled ... - Disabled SchedulingState = "disabled" - // Enabled ... - Enabled SchedulingState = "enabled" -) - -// PossibleSchedulingStateValues returns an array of possible values for the SchedulingState const type. -func PossibleSchedulingStateValues() []SchedulingState { - return []SchedulingState{Disabled, Enabled} -} - -// StartTaskState enumerates the values for start task state. -type StartTaskState string - -const ( - // StartTaskStateCompleted ... - StartTaskStateCompleted StartTaskState = "completed" - // StartTaskStateRunning ... - StartTaskStateRunning StartTaskState = "running" -) - -// PossibleStartTaskStateValues returns an array of possible values for the StartTaskState const type. -func PossibleStartTaskStateValues() []StartTaskState { - return []StartTaskState{StartTaskStateCompleted, StartTaskStateRunning} -} - -// SubtaskState enumerates the values for subtask state. -type SubtaskState string - -const ( - // SubtaskStateCompleted ... - SubtaskStateCompleted SubtaskState = "completed" - // SubtaskStatePreparing ... - SubtaskStatePreparing SubtaskState = "preparing" - // SubtaskStateRunning ... - SubtaskStateRunning SubtaskState = "running" -) - -// PossibleSubtaskStateValues returns an array of possible values for the SubtaskState const type. -func PossibleSubtaskStateValues() []SubtaskState { - return []SubtaskState{SubtaskStateCompleted, SubtaskStatePreparing, SubtaskStateRunning} -} - -// TaskAddStatus enumerates the values for task add status. -type TaskAddStatus string - -const ( - // TaskAddStatusClientError ... - TaskAddStatusClientError TaskAddStatus = "clientError" - // TaskAddStatusServerError ... - TaskAddStatusServerError TaskAddStatus = "serverError" - // TaskAddStatusSuccess ... - TaskAddStatusSuccess TaskAddStatus = "success" - // TaskAddStatusUnmapped ... - TaskAddStatusUnmapped TaskAddStatus = "unmapped" -) - -// PossibleTaskAddStatusValues returns an array of possible values for the TaskAddStatus const type. -func PossibleTaskAddStatusValues() []TaskAddStatus { - return []TaskAddStatus{TaskAddStatusClientError, TaskAddStatusServerError, TaskAddStatusSuccess, TaskAddStatusUnmapped} -} - -// TaskState enumerates the values for task state. -type TaskState string - -const ( - // TaskStateActive ... - TaskStateActive TaskState = "active" - // TaskStateCompleted ... - TaskStateCompleted TaskState = "completed" - // TaskStatePreparing ... - TaskStatePreparing TaskState = "preparing" - // TaskStateRunning ... - TaskStateRunning TaskState = "running" -) - -// PossibleTaskStateValues returns an array of possible values for the TaskState const type. -func PossibleTaskStateValues() []TaskState { - return []TaskState{TaskStateActive, TaskStateCompleted, TaskStatePreparing, TaskStateRunning} -} - -// AccountListNodeAgentSkusResult ... -type AccountListNodeAgentSkusResult struct { - autorest.Response `json:"-"` - Value *[]NodeAgentSku `json:"value,omitempty"` - OdataNextLink *string `json:"odata.nextLink,omitempty"` -} - -// AccountListNodeAgentSkusResultIterator provides access to a complete listing of NodeAgentSku values. -type AccountListNodeAgentSkusResultIterator struct { - i int - page AccountListNodeAgentSkusResultPage -} - -// Next advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -func (iter *AccountListNodeAgentSkusResultIterator) Next() error { - iter.i++ - if iter.i < len(iter.page.Values()) { - return nil - } - err := iter.page.Next() - if err != nil { - iter.i-- - return err - } - iter.i = 0 - return nil -} - -// NotDone returns true if the enumeration should be started or is not yet complete. -func (iter AccountListNodeAgentSkusResultIterator) NotDone() bool { - return iter.page.NotDone() && iter.i < len(iter.page.Values()) -} - -// Response returns the raw server response from the last page request. -func (iter AccountListNodeAgentSkusResultIterator) Response() AccountListNodeAgentSkusResult { - return iter.page.Response() -} - -// Value returns the current value or a zero-initialized value if the -// iterator has advanced beyond the end of the collection. -func (iter AccountListNodeAgentSkusResultIterator) Value() NodeAgentSku { - if !iter.page.NotDone() { - return NodeAgentSku{} - } - return iter.page.Values()[iter.i] -} - -// IsEmpty returns true if the ListResult contains no values. -func (alnasr AccountListNodeAgentSkusResult) IsEmpty() bool { - return alnasr.Value == nil || len(*alnasr.Value) == 0 -} - -// accountListNodeAgentSkusResultPreparer prepares a request to retrieve the next set of results. -// It returns nil if no more results exist. -func (alnasr AccountListNodeAgentSkusResult) accountListNodeAgentSkusResultPreparer() (*http.Request, error) { - if alnasr.OdataNextLink == nil || len(to.String(alnasr.OdataNextLink)) < 1 { - return nil, nil - } - return autorest.Prepare(&http.Request{}, - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(alnasr.OdataNextLink))) -} - -// AccountListNodeAgentSkusResultPage contains a page of NodeAgentSku values. -type AccountListNodeAgentSkusResultPage struct { - fn func(AccountListNodeAgentSkusResult) (AccountListNodeAgentSkusResult, error) - alnasr AccountListNodeAgentSkusResult -} - -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -func (page *AccountListNodeAgentSkusResultPage) Next() error { - next, err := page.fn(page.alnasr) - if err != nil { - return err - } - page.alnasr = next - return nil -} - -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page AccountListNodeAgentSkusResultPage) NotDone() bool { - return !page.alnasr.IsEmpty() -} - -// Response returns the raw server response from the last page request. -func (page AccountListNodeAgentSkusResultPage) Response() AccountListNodeAgentSkusResult { - return page.alnasr -} - -// Values returns the slice of values for the current page or nil if there are no values. -func (page AccountListNodeAgentSkusResultPage) Values() []NodeAgentSku { - if page.alnasr.IsEmpty() { - return nil - } - return *page.alnasr.Value -} - -// AffinityInformation ... -type AffinityInformation struct { - // AffinityID - You can pass the affinityId of a compute node or task to indicate that this task needs to be placed close to the node or task. - AffinityID *string `json:"affinityId,omitempty"` -} - -// ApplicationListResult ... -type ApplicationListResult struct { - autorest.Response `json:"-"` - Value *[]ApplicationSummary `json:"value,omitempty"` - OdataNextLink *string `json:"odata.nextLink,omitempty"` -} - -// ApplicationListResultIterator provides access to a complete listing of ApplicationSummary values. -type ApplicationListResultIterator struct { - i int - page ApplicationListResultPage -} - -// Next advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -func (iter *ApplicationListResultIterator) Next() error { - iter.i++ - if iter.i < len(iter.page.Values()) { - return nil - } - err := iter.page.Next() - if err != nil { - iter.i-- - return err - } - iter.i = 0 - return nil -} - -// NotDone returns true if the enumeration should be started or is not yet complete. -func (iter ApplicationListResultIterator) NotDone() bool { - return iter.page.NotDone() && iter.i < len(iter.page.Values()) -} - -// Response returns the raw server response from the last page request. -func (iter ApplicationListResultIterator) Response() ApplicationListResult { - return iter.page.Response() -} - -// Value returns the current value or a zero-initialized value if the -// iterator has advanced beyond the end of the collection. -func (iter ApplicationListResultIterator) Value() ApplicationSummary { - if !iter.page.NotDone() { - return ApplicationSummary{} - } - return iter.page.Values()[iter.i] -} - -// IsEmpty returns true if the ListResult contains no values. -func (alr ApplicationListResult) IsEmpty() bool { - return alr.Value == nil || len(*alr.Value) == 0 -} - -// applicationListResultPreparer prepares a request to retrieve the next set of results. -// It returns nil if no more results exist. -func (alr ApplicationListResult) applicationListResultPreparer() (*http.Request, error) { - if alr.OdataNextLink == nil || len(to.String(alr.OdataNextLink)) < 1 { - return nil, nil - } - return autorest.Prepare(&http.Request{}, - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(alr.OdataNextLink))) -} - -// ApplicationListResultPage contains a page of ApplicationSummary values. -type ApplicationListResultPage struct { - fn func(ApplicationListResult) (ApplicationListResult, error) - alr ApplicationListResult -} - -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -func (page *ApplicationListResultPage) Next() error { - next, err := page.fn(page.alr) - if err != nil { - return err - } - page.alr = next - return nil -} - -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page ApplicationListResultPage) NotDone() bool { - return !page.alr.IsEmpty() -} - -// Response returns the raw server response from the last page request. -func (page ApplicationListResultPage) Response() ApplicationListResult { - return page.alr -} - -// Values returns the slice of values for the current page or nil if there are no values. -func (page ApplicationListResultPage) Values() []ApplicationSummary { - if page.alr.IsEmpty() { - return nil - } - return *page.alr.Value -} - -// ApplicationPackageReference ... -type ApplicationPackageReference struct { - ApplicationID *string `json:"applicationId,omitempty"` - // Version - If this is omitted, and no default version is specified for this application, the request fails with the error code InvalidApplicationPackageReferences. If you are calling the REST API directly, the HTTP status code is 409. - Version *string `json:"version,omitempty"` -} - -// ApplicationSummary ... -type ApplicationSummary struct { - autorest.Response `json:"-"` - ID *string `json:"id,omitempty"` - DisplayName *string `json:"displayName,omitempty"` - Versions *[]string `json:"versions,omitempty"` -} - -// AuthenticationTokenSettings ... -type AuthenticationTokenSettings struct { - // Access - The authentication token grants access to a limited set of Batch service operations. Currently the only supported value for the access property is 'job', which grants access to all operations related to the job which contains the task. - Access *[]AccessScope `json:"access,omitempty"` -} - -// AutoPoolSpecification ... -type AutoPoolSpecification struct { - // AutoPoolIDPrefix - The Batch service assigns each auto pool a unique identifier on creation. To distinguish between pools created for different purposes, you can specify this element to add a prefix to the id that is assigned. The prefix can be up to 20 characters long. - AutoPoolIDPrefix *string `json:"autoPoolIdPrefix,omitempty"` - // PoolLifetimeOption - When the pool lifetime scope is jobSchedule level, the Batch service keeps track of the last autopool created for the job schedule, and deletes that pool when the job schedule completes. Batch will also delete this pool if the user updates the auto pool specification in a way that changes this lifetime. Possible values include: 'PoolLifetimeOptionJobSchedule', 'PoolLifetimeOptionJob', 'PoolLifetimeOptionUnmapped' - PoolLifetimeOption PoolLifetimeOption `json:"poolLifetimeOption,omitempty"` - // KeepAlive - If false, the Batch service deletes the pool once its lifetime (as determined by the poolLifetimeOption setting) expires; that is, when the job or job schedule completes. If true, the Batch service does not delete the pool automatically. It is up to the user to delete auto pools created with this option. - KeepAlive *bool `json:"keepAlive,omitempty"` - Pool *PoolSpecification `json:"pool,omitempty"` -} - -// AutoScaleRun ... -type AutoScaleRun struct { - autorest.Response `json:"-"` - Timestamp *date.Time `json:"timestamp,omitempty"` - // Results - Each variable value is returned in the form $variable=value, and variables are separated by semicolons. - Results *string `json:"results,omitempty"` - Error *AutoScaleRunError `json:"error,omitempty"` -} - -// AutoScaleRunError ... -type AutoScaleRunError struct { - Code *string `json:"code,omitempty"` - Message *string `json:"message,omitempty"` - Values *[]NameValuePair `json:"values,omitempty"` -} - -// AutoUserSpecification ... -type AutoUserSpecification struct { - // Scope - pool - specifies that the task runs as the common auto user account which is created on every node in a pool. task - specifies that the service should create a new user for the task. The default value is task. Possible values include: 'Task', 'Pool' - Scope AutoUserScope `json:"scope,omitempty"` - // ElevationLevel - nonAdmin - The auto user is a standard user without elevated access. admin - The auto user is a user with elevated access and operates with full Administrator permissions. The default value is nonAdmin. Possible values include: 'NonAdmin', 'Admin' - ElevationLevel ElevationLevel `json:"elevationLevel,omitempty"` -} - -// Certificate a certificate that can be installed on compute nodes and can be used to authenticate operations on -// the machine. -type Certificate struct { - autorest.Response `json:"-"` - Thumbprint *string `json:"thumbprint,omitempty"` - ThumbprintAlgorithm *string `json:"thumbprintAlgorithm,omitempty"` - URL *string `json:"url,omitempty"` - // State - Possible values include: 'Active', 'Deleting', 'DeleteFailed' - State CertificateState `json:"state,omitempty"` - StateTransitionTime *date.Time `json:"stateTransitionTime,omitempty"` - // PreviousState - This property is not set if the certificate is in its initial active state. Possible values include: 'Active', 'Deleting', 'DeleteFailed' - PreviousState CertificateState `json:"previousState,omitempty"` - // PreviousStateTransitionTime - This property is not set if the certificate is in its initial Active state. - PreviousStateTransitionTime *date.Time `json:"previousStateTransitionTime,omitempty"` - PublicData *string `json:"publicData,omitempty"` - // DeleteCertificateError - This property is set only if the certificate is in the DeleteFailed state. - DeleteCertificateError *DeleteCertificateError `json:"deleteCertificateError,omitempty"` -} - -// CertificateAddParameter ... -type CertificateAddParameter struct { - Thumbprint *string `json:"thumbprint,omitempty"` - ThumbprintAlgorithm *string `json:"thumbprintAlgorithm,omitempty"` - Data *string `json:"data,omitempty"` - // CertificateFormat - Possible values include: 'Pfx', 'Cer', 'Unmapped' - CertificateFormat CertificateFormat `json:"certificateFormat,omitempty"` - // Password - This is required if the certificate format is pfx. It should be omitted if the certificate format is cer. - Password *string `json:"password,omitempty"` -} - -// CertificateListResult ... -type CertificateListResult struct { - autorest.Response `json:"-"` - Value *[]Certificate `json:"value,omitempty"` - OdataNextLink *string `json:"odata.nextLink,omitempty"` -} - -// CertificateListResultIterator provides access to a complete listing of Certificate values. -type CertificateListResultIterator struct { - i int - page CertificateListResultPage -} - -// Next advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -func (iter *CertificateListResultIterator) Next() error { - iter.i++ - if iter.i < len(iter.page.Values()) { - return nil - } - err := iter.page.Next() - if err != nil { - iter.i-- - return err - } - iter.i = 0 - return nil -} - -// NotDone returns true if the enumeration should be started or is not yet complete. -func (iter CertificateListResultIterator) NotDone() bool { - return iter.page.NotDone() && iter.i < len(iter.page.Values()) -} - -// Response returns the raw server response from the last page request. -func (iter CertificateListResultIterator) Response() CertificateListResult { - return iter.page.Response() -} - -// Value returns the current value or a zero-initialized value if the -// iterator has advanced beyond the end of the collection. -func (iter CertificateListResultIterator) Value() Certificate { - if !iter.page.NotDone() { - return Certificate{} - } - return iter.page.Values()[iter.i] -} - -// IsEmpty returns true if the ListResult contains no values. -func (clr CertificateListResult) IsEmpty() bool { - return clr.Value == nil || len(*clr.Value) == 0 -} - -// certificateListResultPreparer prepares a request to retrieve the next set of results. -// It returns nil if no more results exist. -func (clr CertificateListResult) certificateListResultPreparer() (*http.Request, error) { - if clr.OdataNextLink == nil || len(to.String(clr.OdataNextLink)) < 1 { - return nil, nil - } - return autorest.Prepare(&http.Request{}, - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(clr.OdataNextLink))) -} - -// CertificateListResultPage contains a page of Certificate values. -type CertificateListResultPage struct { - fn func(CertificateListResult) (CertificateListResult, error) - clr CertificateListResult -} - -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -func (page *CertificateListResultPage) Next() error { - next, err := page.fn(page.clr) - if err != nil { - return err - } - page.clr = next - return nil -} - -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page CertificateListResultPage) NotDone() bool { - return !page.clr.IsEmpty() -} - -// Response returns the raw server response from the last page request. -func (page CertificateListResultPage) Response() CertificateListResult { - return page.clr -} - -// Values returns the slice of values for the current page or nil if there are no values. -func (page CertificateListResultPage) Values() []Certificate { - if page.clr.IsEmpty() { - return nil - } - return *page.clr.Value -} - -// CertificateReference ... -type CertificateReference struct { - Thumbprint *string `json:"thumbprint,omitempty"` - ThumbprintAlgorithm *string `json:"thumbprintAlgorithm,omitempty"` - // StoreLocation - The default value is currentUser. This property is applicable only for pools configured with Windows nodes (that is, created with cloudServiceConfiguration, or with virtualMachineConfiguration using a Windows image reference). For Linux compute nodes, the certificates are stored in a directory inside the task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the task to query for this location. For certificates with visibility of 'remoteUser', a 'certs' directory is created in the user's home directory (e.g., /home/{user-name}/certs) and certificates are placed in that directory. Possible values include: 'CertificateStoreLocationCurrentUser', 'CertificateStoreLocationLocalMachine', 'CertificateStoreLocationUnmapped' - StoreLocation CertificateStoreLocation `json:"storeLocation,omitempty"` - // StoreName - The default value is My. This property is applicable only for pools configured with Windows nodes (that is, created with cloudServiceConfiguration, or with virtualMachineConfiguration using a Windows image reference). - StoreName *string `json:"storeName,omitempty"` - // Visibility - The default is all accounts. - Visibility *[]CertificateVisibility `json:"visibility,omitempty"` -} - -// CloudJob ... -type CloudJob struct { - autorest.Response `json:"-"` - // ID - The ID can contain any combination of alphanumeric characters including hyphens and underscores, and cannot contain more than 64 characters. It is common to use a GUID for the id. - ID *string `json:"id,omitempty"` - DisplayName *string `json:"displayName,omitempty"` - UsesTaskDependencies *bool `json:"usesTaskDependencies,omitempty"` - URL *string `json:"url,omitempty"` - // ETag - This is an opaque string. You can use it to detect whether the job has changed between requests. In particular, you can be pass the ETag when updating a job to specify that your changes should take effect only if nobody else has modified the job in the meantime. - ETag *string `json:"eTag,omitempty"` - // LastModified - This is the last time at which the job level data, such as the job state or priority, changed. It does not factor in task-level changes such as adding new tasks or tasks changing state. - LastModified *date.Time `json:"lastModified,omitempty"` - CreationTime *date.Time `json:"creationTime,omitempty"` - // State - Possible values include: 'JobStateActive', 'JobStateDisabling', 'JobStateDisabled', 'JobStateEnabling', 'JobStateTerminating', 'JobStateCompleted', 'JobStateDeleting' - State JobState `json:"state,omitempty"` - StateTransitionTime *date.Time `json:"stateTransitionTime,omitempty"` - // PreviousState - This property is not set if the job is in its initial Active state. Possible values include: 'JobStateActive', 'JobStateDisabling', 'JobStateDisabled', 'JobStateEnabling', 'JobStateTerminating', 'JobStateCompleted', 'JobStateDeleting' - PreviousState JobState `json:"previousState,omitempty"` - // PreviousStateTransitionTime - This property is not set if the job is in its initial Active state. - PreviousStateTransitionTime *date.Time `json:"previousStateTransitionTime,omitempty"` - // Priority - Priority values can range from -1000 to 1000, with -1000 being the lowest priority and 1000 being the highest priority. The default value is 0. - Priority *int32 `json:"priority,omitempty"` - Constraints *JobConstraints `json:"constraints,omitempty"` - JobManagerTask *JobManagerTask `json:"jobManagerTask,omitempty"` - // JobPreparationTask - The Job Preparation task is a special task run on each node before any other task of the job. - JobPreparationTask *JobPreparationTask `json:"jobPreparationTask,omitempty"` - // JobReleaseTask - The Job Release task is a special task run at the end of the job on each node that has run any other task of the job. - JobReleaseTask *JobReleaseTask `json:"jobReleaseTask,omitempty"` - CommonEnvironmentSettings *[]EnvironmentSetting `json:"commonEnvironmentSettings,omitempty"` - PoolInfo *PoolInformation `json:"poolInfo,omitempty"` - // OnAllTasksComplete - noAction - do nothing. The job remains active unless terminated or disabled by some other means. terminateJob - terminate the job. The job's terminateReason is set to 'AllTasksComplete'. The default is noAction. Possible values include: 'NoAction', 'TerminateJob' - OnAllTasksComplete OnAllTasksComplete `json:"onAllTasksComplete,omitempty"` - // OnTaskFailure - noAction - do nothing. performExitOptionsJobAction - take the action associated with the task exit condition in the task's exitConditions collection. (This may still result in no action being taken, if that is what the task specifies.) The default is noAction. Possible values include: 'OnTaskFailureNoAction', 'OnTaskFailurePerformExitOptionsJobAction' - OnTaskFailure OnTaskFailure `json:"onTaskFailure,omitempty"` - // Metadata - The Batch service does not assign any meaning to metadata; it is solely for the use of user code. - Metadata *[]MetadataItem `json:"metadata,omitempty"` - ExecutionInfo *JobExecutionInformation `json:"executionInfo,omitempty"` - Stats *JobStatistics `json:"stats,omitempty"` -} - -// CloudJobListPreparationAndReleaseTaskStatusResult ... -type CloudJobListPreparationAndReleaseTaskStatusResult struct { - autorest.Response `json:"-"` - Value *[]JobPreparationAndReleaseTaskExecutionInformation `json:"value,omitempty"` - OdataNextLink *string `json:"odata.nextLink,omitempty"` -} - -// CloudJobListPreparationAndReleaseTaskStatusResultIterator provides access to a complete listing of -// JobPreparationAndReleaseTaskExecutionInformation values. -type CloudJobListPreparationAndReleaseTaskStatusResultIterator struct { - i int - page CloudJobListPreparationAndReleaseTaskStatusResultPage -} - -// Next advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -func (iter *CloudJobListPreparationAndReleaseTaskStatusResultIterator) Next() error { - iter.i++ - if iter.i < len(iter.page.Values()) { - return nil - } - err := iter.page.Next() - if err != nil { - iter.i-- - return err - } - iter.i = 0 - return nil -} - -// NotDone returns true if the enumeration should be started or is not yet complete. -func (iter CloudJobListPreparationAndReleaseTaskStatusResultIterator) NotDone() bool { - return iter.page.NotDone() && iter.i < len(iter.page.Values()) -} - -// Response returns the raw server response from the last page request. -func (iter CloudJobListPreparationAndReleaseTaskStatusResultIterator) Response() CloudJobListPreparationAndReleaseTaskStatusResult { - return iter.page.Response() -} - -// Value returns the current value or a zero-initialized value if the -// iterator has advanced beyond the end of the collection. -func (iter CloudJobListPreparationAndReleaseTaskStatusResultIterator) Value() JobPreparationAndReleaseTaskExecutionInformation { - if !iter.page.NotDone() { - return JobPreparationAndReleaseTaskExecutionInformation{} - } - return iter.page.Values()[iter.i] -} - -// IsEmpty returns true if the ListResult contains no values. -func (cjlpartsr CloudJobListPreparationAndReleaseTaskStatusResult) IsEmpty() bool { - return cjlpartsr.Value == nil || len(*cjlpartsr.Value) == 0 -} - -// cloudJobListPreparationAndReleaseTaskStatusResultPreparer prepares a request to retrieve the next set of results. -// It returns nil if no more results exist. -func (cjlpartsr CloudJobListPreparationAndReleaseTaskStatusResult) cloudJobListPreparationAndReleaseTaskStatusResultPreparer() (*http.Request, error) { - if cjlpartsr.OdataNextLink == nil || len(to.String(cjlpartsr.OdataNextLink)) < 1 { - return nil, nil - } - return autorest.Prepare(&http.Request{}, - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(cjlpartsr.OdataNextLink))) -} - -// CloudJobListPreparationAndReleaseTaskStatusResultPage contains a page of -// JobPreparationAndReleaseTaskExecutionInformation values. -type CloudJobListPreparationAndReleaseTaskStatusResultPage struct { - fn func(CloudJobListPreparationAndReleaseTaskStatusResult) (CloudJobListPreparationAndReleaseTaskStatusResult, error) - cjlpartsr CloudJobListPreparationAndReleaseTaskStatusResult -} - -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -func (page *CloudJobListPreparationAndReleaseTaskStatusResultPage) Next() error { - next, err := page.fn(page.cjlpartsr) - if err != nil { - return err - } - page.cjlpartsr = next - return nil -} - -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page CloudJobListPreparationAndReleaseTaskStatusResultPage) NotDone() bool { - return !page.cjlpartsr.IsEmpty() -} - -// Response returns the raw server response from the last page request. -func (page CloudJobListPreparationAndReleaseTaskStatusResultPage) Response() CloudJobListPreparationAndReleaseTaskStatusResult { - return page.cjlpartsr -} - -// Values returns the slice of values for the current page or nil if there are no values. -func (page CloudJobListPreparationAndReleaseTaskStatusResultPage) Values() []JobPreparationAndReleaseTaskExecutionInformation { - if page.cjlpartsr.IsEmpty() { - return nil - } - return *page.cjlpartsr.Value -} - -// CloudJobListResult ... -type CloudJobListResult struct { - autorest.Response `json:"-"` - Value *[]CloudJob `json:"value,omitempty"` - OdataNextLink *string `json:"odata.nextLink,omitempty"` -} - -// CloudJobListResultIterator provides access to a complete listing of CloudJob values. -type CloudJobListResultIterator struct { - i int - page CloudJobListResultPage -} - -// Next advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -func (iter *CloudJobListResultIterator) Next() error { - iter.i++ - if iter.i < len(iter.page.Values()) { - return nil - } - err := iter.page.Next() - if err != nil { - iter.i-- - return err - } - iter.i = 0 - return nil -} - -// NotDone returns true if the enumeration should be started or is not yet complete. -func (iter CloudJobListResultIterator) NotDone() bool { - return iter.page.NotDone() && iter.i < len(iter.page.Values()) -} - -// Response returns the raw server response from the last page request. -func (iter CloudJobListResultIterator) Response() CloudJobListResult { - return iter.page.Response() -} - -// Value returns the current value or a zero-initialized value if the -// iterator has advanced beyond the end of the collection. -func (iter CloudJobListResultIterator) Value() CloudJob { - if !iter.page.NotDone() { - return CloudJob{} - } - return iter.page.Values()[iter.i] -} - -// IsEmpty returns true if the ListResult contains no values. -func (cjlr CloudJobListResult) IsEmpty() bool { - return cjlr.Value == nil || len(*cjlr.Value) == 0 -} - -// cloudJobListResultPreparer prepares a request to retrieve the next set of results. -// It returns nil if no more results exist. -func (cjlr CloudJobListResult) cloudJobListResultPreparer() (*http.Request, error) { - if cjlr.OdataNextLink == nil || len(to.String(cjlr.OdataNextLink)) < 1 { - return nil, nil - } - return autorest.Prepare(&http.Request{}, - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(cjlr.OdataNextLink))) -} - -// CloudJobListResultPage contains a page of CloudJob values. -type CloudJobListResultPage struct { - fn func(CloudJobListResult) (CloudJobListResult, error) - cjlr CloudJobListResult -} - -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -func (page *CloudJobListResultPage) Next() error { - next, err := page.fn(page.cjlr) - if err != nil { - return err - } - page.cjlr = next - return nil -} - -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page CloudJobListResultPage) NotDone() bool { - return !page.cjlr.IsEmpty() -} - -// Response returns the raw server response from the last page request. -func (page CloudJobListResultPage) Response() CloudJobListResult { - return page.cjlr -} - -// Values returns the slice of values for the current page or nil if there are no values. -func (page CloudJobListResultPage) Values() []CloudJob { - if page.cjlr.IsEmpty() { - return nil - } - return *page.cjlr.Value -} - -// CloudJobSchedule ... -type CloudJobSchedule struct { - autorest.Response `json:"-"` - // ID - It is common to use a GUID for the id. - ID *string `json:"id,omitempty"` - DisplayName *string `json:"displayName,omitempty"` - URL *string `json:"url,omitempty"` - // ETag - This is an opaque string. You can use it to detect whether the job schedule has changed between requests. In particular, you can be pass the ETag with an Update Job Schedule request to specify that your changes should take effect only if nobody else has modified the schedule in the meantime. - ETag *string `json:"eTag,omitempty"` - // LastModified - This is the last time at which the schedule level data, such as the job specification or recurrence information, changed. It does not factor in job-level changes such as new jobs being created or jobs changing state. - LastModified *date.Time `json:"lastModified,omitempty"` - CreationTime *date.Time `json:"creationTime,omitempty"` - // State - Possible values include: 'JobScheduleStateActive', 'JobScheduleStateCompleted', 'JobScheduleStateDisabled', 'JobScheduleStateTerminating', 'JobScheduleStateDeleting' - State JobScheduleState `json:"state,omitempty"` - StateTransitionTime *date.Time `json:"stateTransitionTime,omitempty"` - // PreviousState - This property is not present if the job schedule is in its initial active state. Possible values include: 'JobScheduleStateActive', 'JobScheduleStateCompleted', 'JobScheduleStateDisabled', 'JobScheduleStateTerminating', 'JobScheduleStateDeleting' - PreviousState JobScheduleState `json:"previousState,omitempty"` - // PreviousStateTransitionTime - This property is not present if the job schedule is in its initial active state. - PreviousStateTransitionTime *date.Time `json:"previousStateTransitionTime,omitempty"` - Schedule *Schedule `json:"schedule,omitempty"` - JobSpecification *JobSpecification `json:"jobSpecification,omitempty"` - ExecutionInfo *JobScheduleExecutionInformation `json:"executionInfo,omitempty"` - // Metadata - The Batch service does not assign any meaning to metadata; it is solely for the use of user code. - Metadata *[]MetadataItem `json:"metadata,omitempty"` - Stats *JobScheduleStatistics `json:"stats,omitempty"` -} - -// CloudJobScheduleListResult ... -type CloudJobScheduleListResult struct { - autorest.Response `json:"-"` - Value *[]CloudJobSchedule `json:"value,omitempty"` - OdataNextLink *string `json:"odata.nextLink,omitempty"` -} - -// CloudJobScheduleListResultIterator provides access to a complete listing of CloudJobSchedule values. -type CloudJobScheduleListResultIterator struct { - i int - page CloudJobScheduleListResultPage -} - -// Next advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -func (iter *CloudJobScheduleListResultIterator) Next() error { - iter.i++ - if iter.i < len(iter.page.Values()) { - return nil - } - err := iter.page.Next() - if err != nil { - iter.i-- - return err - } - iter.i = 0 - return nil -} - -// NotDone returns true if the enumeration should be started or is not yet complete. -func (iter CloudJobScheduleListResultIterator) NotDone() bool { - return iter.page.NotDone() && iter.i < len(iter.page.Values()) -} - -// Response returns the raw server response from the last page request. -func (iter CloudJobScheduleListResultIterator) Response() CloudJobScheduleListResult { - return iter.page.Response() -} - -// Value returns the current value or a zero-initialized value if the -// iterator has advanced beyond the end of the collection. -func (iter CloudJobScheduleListResultIterator) Value() CloudJobSchedule { - if !iter.page.NotDone() { - return CloudJobSchedule{} - } - return iter.page.Values()[iter.i] -} - -// IsEmpty returns true if the ListResult contains no values. -func (cjslr CloudJobScheduleListResult) IsEmpty() bool { - return cjslr.Value == nil || len(*cjslr.Value) == 0 -} - -// cloudJobScheduleListResultPreparer prepares a request to retrieve the next set of results. -// It returns nil if no more results exist. -func (cjslr CloudJobScheduleListResult) cloudJobScheduleListResultPreparer() (*http.Request, error) { - if cjslr.OdataNextLink == nil || len(to.String(cjslr.OdataNextLink)) < 1 { - return nil, nil - } - return autorest.Prepare(&http.Request{}, - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(cjslr.OdataNextLink))) -} - -// CloudJobScheduleListResultPage contains a page of CloudJobSchedule values. -type CloudJobScheduleListResultPage struct { - fn func(CloudJobScheduleListResult) (CloudJobScheduleListResult, error) - cjslr CloudJobScheduleListResult -} - -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -func (page *CloudJobScheduleListResultPage) Next() error { - next, err := page.fn(page.cjslr) - if err != nil { - return err - } - page.cjslr = next - return nil -} - -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page CloudJobScheduleListResultPage) NotDone() bool { - return !page.cjslr.IsEmpty() -} - -// Response returns the raw server response from the last page request. -func (page CloudJobScheduleListResultPage) Response() CloudJobScheduleListResult { - return page.cjslr -} - -// Values returns the slice of values for the current page or nil if there are no values. -func (page CloudJobScheduleListResultPage) Values() []CloudJobSchedule { - if page.cjslr.IsEmpty() { - return nil - } - return *page.cjslr.Value -} - -// CloudPool ... -type CloudPool struct { - autorest.Response `json:"-"` - // ID - The ID can contain any combination of alphanumeric characters including hyphens and underscores, and cannot contain more than 64 characters. It is common to use a GUID for the id. - ID *string `json:"id,omitempty"` - // DisplayName - The display name need not be unique and can contain any Unicode characters up to a maximum length of 1024. - DisplayName *string `json:"displayName,omitempty"` - URL *string `json:"url,omitempty"` - // ETag - This is an opaque string. You can use it to detect whether the pool has changed between requests. In particular, you can be pass the ETag when updating a pool to specify that your changes should take effect only if nobody else has modified the pool in the meantime. - ETag *string `json:"eTag,omitempty"` - // LastModified - This is the last time at which the pool level data, such as the targetDedicated or enableAutoscale settings, changed. It does not factor in node-level changes such as a compute node changing state. - LastModified *date.Time `json:"lastModified,omitempty"` - CreationTime *date.Time `json:"creationTime,omitempty"` - // State - active - The pool is available to run tasks subject to the availability of compute nodes. deleting - The user has requested that the pool be deleted, but the delete operation has not yet completed. upgrading - The user has requested that the operating system of the pool's nodes be upgraded, but the upgrade operation has not yet completed (that is, some nodes in the pool have not yet been upgraded). While upgrading, the pool may be able to run tasks (with reduced capacity) but this is not guaranteed. Possible values include: 'PoolStateActive', 'PoolStateDeleting', 'PoolStateUpgrading' - State PoolState `json:"state,omitempty"` - StateTransitionTime *date.Time `json:"stateTransitionTime,omitempty"` - // AllocationState - steady - The pool is not resizing. There are no changes to the number of nodes in the pool in progress. A pool enters this state when it is created and when no operations are being performed on the pool to change the number of dedicated nodes. resizing - The pool is resizing; that is, compute nodes are being added to or removed from the pool. stopping - The pool was resizing, but the user has requested that the resize be stopped, but the stop request has not yet been completed. Possible values include: 'Steady', 'Resizing', 'Stopping' - AllocationState AllocationState `json:"allocationState,omitempty"` - AllocationStateTransitionTime *date.Time `json:"allocationStateTransitionTime,omitempty"` - // VMSize - For information about available sizes of virtual machines for Cloud Services pools (pools created with cloudServiceConfiguration), see Sizes for Cloud Services (http://azure.microsoft.com/documentation/articles/cloud-services-sizes-specs/). Batch supports all Cloud Services VM sizes except ExtraSmall. For information about available VM sizes for pools using images from the Virtual Machines Marketplace (pools created with virtualMachineConfiguration) see Sizes for Virtual Machines (Linux) (https://azure.microsoft.com/documentation/articles/virtual-machines-linux-sizes/) or Sizes for Virtual Machines (Windows) (https://azure.microsoft.com/documentation/articles/virtual-machines-windows-sizes/). Batch supports all Azure VM sizes except STANDARD_A0 and those with premium storage (STANDARD_GS, STANDARD_DS, and STANDARD_DSV2 series). - VMSize *string `json:"vmSize,omitempty"` - // CloudServiceConfiguration - This property and virtualMachineConfiguration are mutually exclusive and one of the properties must be specified. This property cannot be specified if the Batch account was created with its poolAllocationMode property set to 'UserSubscription'. - CloudServiceConfiguration *CloudServiceConfiguration `json:"cloudServiceConfiguration,omitempty"` - // VirtualMachineConfiguration - This property and cloudServiceConfiguration are mutually exclusive and one of the properties must be specified. - VirtualMachineConfiguration *VirtualMachineConfiguration `json:"virtualMachineConfiguration,omitempty"` - // ResizeTimeout - This is the timeout for the most recent resize operation. (The initial sizing when the pool is created counts as a resize.) The default value is 15 minutes. - ResizeTimeout *string `json:"resizeTimeout,omitempty"` - // ResizeError - This property is set only if an error occurred during the last pool resize, and only when the pool allocationState is Steady. - ResizeError *ResizeError `json:"resizeError,omitempty"` - CurrentDedicated *int32 `json:"currentDedicated,omitempty"` - // TargetDedicated - This property is not set if enableAutoScale is true. It is required if enableAutoScale is false. - TargetDedicated *int32 `json:"targetDedicated,omitempty"` - // EnableAutoScale - If true, the autoScaleFormula property must be set. If false, the targetDedicated property must be set. - EnableAutoScale *bool `json:"enableAutoScale,omitempty"` - // AutoScaleFormula - This property is set only if the pool automatically scales, i.e. enableAutoScale is true. - AutoScaleFormula *string `json:"autoScaleFormula,omitempty"` - // AutoScaleEvaluationInterval - This property is set only if the pool automatically scales, i.e. enableAutoScale is true. - AutoScaleEvaluationInterval *string `json:"autoScaleEvaluationInterval,omitempty"` - // AutoScaleRun - This property is set only if the pool automatically scales, i.e. enableAutoScale is true. - AutoScaleRun *AutoScaleRun `json:"autoScaleRun,omitempty"` - // EnableInterNodeCommunication - This imposes restrictions on which nodes can be assigned to the pool. Specifying this value can reduce the chance of the requested number of nodes to be allocated in the pool. - EnableInterNodeCommunication *bool `json:"enableInterNodeCommunication,omitempty"` - NetworkConfiguration *NetworkConfiguration `json:"networkConfiguration,omitempty"` - StartTask *StartTask `json:"startTask,omitempty"` - // CertificateReferences - For Windows compute nodes, the Batch service installs the certificates to the specified certificate store and location. For Linux compute nodes, the certificates are stored in a directory inside the task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the task to query for this location. For certificates with visibility of 'remoteUser', a 'certs' directory is created in the user's home directory (e.g., /home/{user-name}/certs) and certificates are placed in that directory. - CertificateReferences *[]CertificateReference `json:"certificateReferences,omitempty"` - ApplicationPackageReferences *[]ApplicationPackageReference `json:"applicationPackageReferences,omitempty"` - MaxTasksPerNode *int32 `json:"maxTasksPerNode,omitempty"` - TaskSchedulingPolicy *TaskSchedulingPolicy `json:"taskSchedulingPolicy,omitempty"` - UserAccounts *[]UserAccount `json:"userAccounts,omitempty"` - Metadata *[]MetadataItem `json:"metadata,omitempty"` - Stats *PoolStatistics `json:"stats,omitempty"` -} - -// CloudPoolListResult ... -type CloudPoolListResult struct { - autorest.Response `json:"-"` - Value *[]CloudPool `json:"value,omitempty"` - OdataNextLink *string `json:"odata.nextLink,omitempty"` -} - -// CloudPoolListResultIterator provides access to a complete listing of CloudPool values. -type CloudPoolListResultIterator struct { - i int - page CloudPoolListResultPage -} - -// Next advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -func (iter *CloudPoolListResultIterator) Next() error { - iter.i++ - if iter.i < len(iter.page.Values()) { - return nil - } - err := iter.page.Next() - if err != nil { - iter.i-- - return err - } - iter.i = 0 - return nil -} - -// NotDone returns true if the enumeration should be started or is not yet complete. -func (iter CloudPoolListResultIterator) NotDone() bool { - return iter.page.NotDone() && iter.i < len(iter.page.Values()) -} - -// Response returns the raw server response from the last page request. -func (iter CloudPoolListResultIterator) Response() CloudPoolListResult { - return iter.page.Response() -} - -// Value returns the current value or a zero-initialized value if the -// iterator has advanced beyond the end of the collection. -func (iter CloudPoolListResultIterator) Value() CloudPool { - if !iter.page.NotDone() { - return CloudPool{} - } - return iter.page.Values()[iter.i] -} - -// IsEmpty returns true if the ListResult contains no values. -func (cplr CloudPoolListResult) IsEmpty() bool { - return cplr.Value == nil || len(*cplr.Value) == 0 -} - -// cloudPoolListResultPreparer prepares a request to retrieve the next set of results. -// It returns nil if no more results exist. -func (cplr CloudPoolListResult) cloudPoolListResultPreparer() (*http.Request, error) { - if cplr.OdataNextLink == nil || len(to.String(cplr.OdataNextLink)) < 1 { - return nil, nil - } - return autorest.Prepare(&http.Request{}, - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(cplr.OdataNextLink))) -} - -// CloudPoolListResultPage contains a page of CloudPool values. -type CloudPoolListResultPage struct { - fn func(CloudPoolListResult) (CloudPoolListResult, error) - cplr CloudPoolListResult -} - -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -func (page *CloudPoolListResultPage) Next() error { - next, err := page.fn(page.cplr) - if err != nil { - return err - } - page.cplr = next - return nil -} - -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page CloudPoolListResultPage) NotDone() bool { - return !page.cplr.IsEmpty() -} - -// Response returns the raw server response from the last page request. -func (page CloudPoolListResultPage) Response() CloudPoolListResult { - return page.cplr -} - -// Values returns the slice of values for the current page or nil if there are no values. -func (page CloudPoolListResultPage) Values() []CloudPool { - if page.cplr.IsEmpty() { - return nil - } - return *page.cplr.Value -} - -// CloudServiceConfiguration ... -type CloudServiceConfiguration struct { - // OsFamily - Possible values are: 2 - OS Family 2, equivalent to Windows Server 2008 R2 SP1. 3 - OS Family 3, equivalent to Windows Server 2012. 4 - OS Family 4, equivalent to Windows Server 2012 R2. 5 - OS Family 5, equivalent to Windows Server 2016. For more information, see Azure Guest OS Releases (https://azure.microsoft.com/documentation/articles/cloud-services-guestos-update-matrix/#releases). - OsFamily *string `json:"osFamily,omitempty"` - // TargetOSVersion - The default value is * which specifies the latest operating system version for the specified OS family. - TargetOSVersion *string `json:"targetOSVersion,omitempty"` - // CurrentOSVersion - This may differ from targetOSVersion if the pool state is Upgrading. In this case some virtual machines may be on the targetOSVersion and some may be on the currentOSVersion during the upgrade process. Once all virtual machines have upgraded, currentOSVersion is updated to be the same as targetOSVersion. - CurrentOSVersion *string `json:"currentOSVersion,omitempty"` -} - -// CloudTask ... -type CloudTask struct { - autorest.Response `json:"-"` - // ID - The ID can contain any combination of alphanumeric characters including hyphens and underscores, and cannot contain more than 64 characters. - ID *string `json:"id,omitempty"` - // DisplayName - The display name need not be unique and can contain any Unicode characters up to a maximum length of 1024. - DisplayName *string `json:"displayName,omitempty"` - URL *string `json:"url,omitempty"` - // ETag - This is an opaque string. You can use it to detect whether the task has changed between requests. In particular, you can be pass the ETag when updating a task to specify that your changes should take effect only if nobody else has modified the task in the meantime. - ETag *string `json:"eTag,omitempty"` - LastModified *date.Time `json:"lastModified,omitempty"` - CreationTime *date.Time `json:"creationTime,omitempty"` - // ExitConditions - How the Batch service should respond when the task completes. - ExitConditions *ExitConditions `json:"exitConditions,omitempty"` - // State - Possible values include: 'TaskStateActive', 'TaskStatePreparing', 'TaskStateRunning', 'TaskStateCompleted' - State TaskState `json:"state,omitempty"` - StateTransitionTime *date.Time `json:"stateTransitionTime,omitempty"` - // PreviousState - This property is not set if the task is in its initial Active state. Possible values include: 'TaskStateActive', 'TaskStatePreparing', 'TaskStateRunning', 'TaskStateCompleted' - PreviousState TaskState `json:"previousState,omitempty"` - // PreviousStateTransitionTime - This property is not set if the task is in its initial Active state. - PreviousStateTransitionTime *date.Time `json:"previousStateTransitionTime,omitempty"` - // CommandLine - For multi-instance tasks, the command line is executed as the primary task, after the primary task and all subtasks have finished executing the coordination command line. The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example using "cmd /c MyCommand" in Windows or "/bin/sh -c MyCommand" in Linux. - CommandLine *string `json:"commandLine,omitempty"` - // ResourceFiles - For multi-instance tasks, the resource files will only be downloaded to the compute node on which the primary task is executed. - ResourceFiles *[]ResourceFile `json:"resourceFiles,omitempty"` - EnvironmentSettings *[]EnvironmentSetting `json:"environmentSettings,omitempty"` - AffinityInfo *AffinityInformation `json:"affinityInfo,omitempty"` - Constraints *TaskConstraints `json:"constraints,omitempty"` - // UserIdentity - If omitted, the task runs as a non-administrative user unique to the task. - UserIdentity *UserIdentity `json:"userIdentity,omitempty"` - ExecutionInfo *TaskExecutionInformation `json:"executionInfo,omitempty"` - NodeInfo *ComputeNodeInformation `json:"nodeInfo,omitempty"` - MultiInstanceSettings *MultiInstanceSettings `json:"multiInstanceSettings,omitempty"` - Stats *TaskStatistics `json:"stats,omitempty"` - // DependsOn - This task will not be scheduled until all tasks that it depends on have completed successfully. If any of those tasks fail and exhaust their retry counts, this task will never be scheduled. - DependsOn *TaskDependencies `json:"dependsOn,omitempty"` - ApplicationPackageReferences *[]ApplicationPackageReference `json:"applicationPackageReferences,omitempty"` - // AuthenticationTokenSettings - If this property is set, the Batch service provides the task with an authentication token which can be used to authenticate Batch service operations without requiring an account access key. The token is provided via the AZ_BATCH_AUTHENTICATION_TOKEN environment variable. The operations that the task can carry out using the token depend on the settings. For example, a task can request job permissions in order to add other tasks to the job, or check the status of the job or of other tasks under the job. - AuthenticationTokenSettings *AuthenticationTokenSettings `json:"authenticationTokenSettings,omitempty"` -} - -// CloudTaskListResult ... -type CloudTaskListResult struct { - autorest.Response `json:"-"` - Value *[]CloudTask `json:"value,omitempty"` - OdataNextLink *string `json:"odata.nextLink,omitempty"` -} - -// CloudTaskListResultIterator provides access to a complete listing of CloudTask values. -type CloudTaskListResultIterator struct { - i int - page CloudTaskListResultPage -} - -// Next advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -func (iter *CloudTaskListResultIterator) Next() error { - iter.i++ - if iter.i < len(iter.page.Values()) { - return nil - } - err := iter.page.Next() - if err != nil { - iter.i-- - return err - } - iter.i = 0 - return nil -} - -// NotDone returns true if the enumeration should be started or is not yet complete. -func (iter CloudTaskListResultIterator) NotDone() bool { - return iter.page.NotDone() && iter.i < len(iter.page.Values()) -} - -// Response returns the raw server response from the last page request. -func (iter CloudTaskListResultIterator) Response() CloudTaskListResult { - return iter.page.Response() -} - -// Value returns the current value or a zero-initialized value if the -// iterator has advanced beyond the end of the collection. -func (iter CloudTaskListResultIterator) Value() CloudTask { - if !iter.page.NotDone() { - return CloudTask{} - } - return iter.page.Values()[iter.i] -} - -// IsEmpty returns true if the ListResult contains no values. -func (ctlr CloudTaskListResult) IsEmpty() bool { - return ctlr.Value == nil || len(*ctlr.Value) == 0 -} - -// cloudTaskListResultPreparer prepares a request to retrieve the next set of results. -// It returns nil if no more results exist. -func (ctlr CloudTaskListResult) cloudTaskListResultPreparer() (*http.Request, error) { - if ctlr.OdataNextLink == nil || len(to.String(ctlr.OdataNextLink)) < 1 { - return nil, nil - } - return autorest.Prepare(&http.Request{}, - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(ctlr.OdataNextLink))) -} - -// CloudTaskListResultPage contains a page of CloudTask values. -type CloudTaskListResultPage struct { - fn func(CloudTaskListResult) (CloudTaskListResult, error) - ctlr CloudTaskListResult -} - -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -func (page *CloudTaskListResultPage) Next() error { - next, err := page.fn(page.ctlr) - if err != nil { - return err - } - page.ctlr = next - return nil -} - -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page CloudTaskListResultPage) NotDone() bool { - return !page.ctlr.IsEmpty() -} - -// Response returns the raw server response from the last page request. -func (page CloudTaskListResultPage) Response() CloudTaskListResult { - return page.ctlr -} - -// Values returns the slice of values for the current page or nil if there are no values. -func (page CloudTaskListResultPage) Values() []CloudTask { - if page.ctlr.IsEmpty() { - return nil - } - return *page.ctlr.Value -} - -// CloudTaskListSubtasksResult ... -type CloudTaskListSubtasksResult struct { - autorest.Response `json:"-"` - Value *[]SubtaskInformation `json:"value,omitempty"` -} - -// ComputeNode ... -type ComputeNode struct { - autorest.Response `json:"-"` - // ID - Every node that is added to a pool is assigned a unique ID. Whenever a node is removed from a pool, all of its local files are deleted, and the ID is reclaimed and could be reused for new nodes. - ID *string `json:"id,omitempty"` - URL *string `json:"url,omitempty"` - // State - Possible values include: 'Idle', 'Rebooting', 'Reimaging', 'Running', 'Unusable', 'Creating', 'Starting', 'WaitingForStartTask', 'StartTaskFailed', 'Unknown', 'LeavingPool', 'Offline' - State ComputeNodeState `json:"state,omitempty"` - // SchedulingState - enabled - Tasks can be scheduled on the node. disabled - No new tasks will be scheduled on the node. Tasks already running on the node may still run to completion. All nodes start with scheduling enabled. Possible values include: 'Enabled', 'Disabled' - SchedulingState SchedulingState `json:"schedulingState,omitempty"` - StateTransitionTime *date.Time `json:"stateTransitionTime,omitempty"` - // LastBootTime - This property may not be present if the node state is unusable. - LastBootTime *date.Time `json:"lastBootTime,omitempty"` - AllocationTime *date.Time `json:"allocationTime,omitempty"` - // IPAddress - Every node that is added to a pool is assigned a unique IP address. Whenever a node is removed from a pool, all of its local files are deleted, and the IP address is reclaimed and could be reused for new nodes. - IPAddress *string `json:"ipAddress,omitempty"` - AffinityID *string `json:"affinityId,omitempty"` - // VMSize - For information about available sizes of virtual machines for Cloud Services pools (pools created with cloudServiceConfiguration), see Sizes for Cloud Services (http://azure.microsoft.com/documentation/articles/cloud-services-sizes-specs/). Batch supports all Cloud Services VM sizes except ExtraSmall. For information about available VM sizes for pools using images from the Virtual Machines Marketplace (pools created with virtualMachineConfiguration) see Sizes for Virtual Machines (Linux) (https://azure.microsoft.com/documentation/articles/virtual-machines-linux-sizes/) or Sizes for Virtual Machines (Windows) (https://azure.microsoft.com/documentation/articles/virtual-machines-windows-sizes/). Batch supports all Azure VM sizes except STANDARD_A0 and those with premium storage (STANDARD_GS, STANDARD_DS, and STANDARD_DSV2 series). - VMSize *string `json:"vmSize,omitempty"` - TotalTasksRun *int32 `json:"totalTasksRun,omitempty"` - RunningTasksCount *int32 `json:"runningTasksCount,omitempty"` - TotalTasksSucceeded *int32 `json:"totalTasksSucceeded,omitempty"` - RecentTasks *[]TaskInformation `json:"recentTasks,omitempty"` - StartTask *StartTask `json:"startTask,omitempty"` - StartTaskInfo *StartTaskInformation `json:"startTaskInfo,omitempty"` - // CertificateReferences - For Windows compute nodes, the Batch service installs the certificates to the specified certificate store and location. For Linux compute nodes, the certificates are stored in a directory inside the task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the task to query for this location. For certificates with visibility of 'remoteUser', a 'certs' directory is created in the user's home directory (e.g., /home/{user-name}/certs) and certificates are placed in that directory. - CertificateReferences *[]CertificateReference `json:"certificateReferences,omitempty"` - Errors *[]ComputeNodeError `json:"errors,omitempty"` -} - -// ComputeNodeError ... -type ComputeNodeError struct { - Code *string `json:"code,omitempty"` - Message *string `json:"message,omitempty"` - ErrorDetails *[]NameValuePair `json:"errorDetails,omitempty"` -} - -// ComputeNodeGetRemoteLoginSettingsResult ... -type ComputeNodeGetRemoteLoginSettingsResult struct { - autorest.Response `json:"-"` - RemoteLoginIPAddress *string `json:"remoteLoginIPAddress,omitempty"` - RemoteLoginPort *int32 `json:"remoteLoginPort,omitempty"` -} - -// ComputeNodeInformation ... -type ComputeNodeInformation struct { - AffinityID *string `json:"affinityId,omitempty"` - NodeURL *string `json:"nodeUrl,omitempty"` - PoolID *string `json:"poolId,omitempty"` - NodeID *string `json:"nodeId,omitempty"` - TaskRootDirectory *string `json:"taskRootDirectory,omitempty"` - TaskRootDirectoryURL *string `json:"taskRootDirectoryUrl,omitempty"` -} - -// ComputeNodeListResult ... -type ComputeNodeListResult struct { - autorest.Response `json:"-"` - Value *[]ComputeNode `json:"value,omitempty"` - OdataNextLink *string `json:"odata.nextLink,omitempty"` -} - -// ComputeNodeListResultIterator provides access to a complete listing of ComputeNode values. -type ComputeNodeListResultIterator struct { - i int - page ComputeNodeListResultPage -} - -// Next advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -func (iter *ComputeNodeListResultIterator) Next() error { - iter.i++ - if iter.i < len(iter.page.Values()) { - return nil - } - err := iter.page.Next() - if err != nil { - iter.i-- - return err - } - iter.i = 0 - return nil -} - -// NotDone returns true if the enumeration should be started or is not yet complete. -func (iter ComputeNodeListResultIterator) NotDone() bool { - return iter.page.NotDone() && iter.i < len(iter.page.Values()) -} - -// Response returns the raw server response from the last page request. -func (iter ComputeNodeListResultIterator) Response() ComputeNodeListResult { - return iter.page.Response() -} - -// Value returns the current value or a zero-initialized value if the -// iterator has advanced beyond the end of the collection. -func (iter ComputeNodeListResultIterator) Value() ComputeNode { - if !iter.page.NotDone() { - return ComputeNode{} - } - return iter.page.Values()[iter.i] -} - -// IsEmpty returns true if the ListResult contains no values. -func (cnlr ComputeNodeListResult) IsEmpty() bool { - return cnlr.Value == nil || len(*cnlr.Value) == 0 -} - -// computeNodeListResultPreparer prepares a request to retrieve the next set of results. -// It returns nil if no more results exist. -func (cnlr ComputeNodeListResult) computeNodeListResultPreparer() (*http.Request, error) { - if cnlr.OdataNextLink == nil || len(to.String(cnlr.OdataNextLink)) < 1 { - return nil, nil - } - return autorest.Prepare(&http.Request{}, - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(cnlr.OdataNextLink))) -} - -// ComputeNodeListResultPage contains a page of ComputeNode values. -type ComputeNodeListResultPage struct { - fn func(ComputeNodeListResult) (ComputeNodeListResult, error) - cnlr ComputeNodeListResult -} - -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -func (page *ComputeNodeListResultPage) Next() error { - next, err := page.fn(page.cnlr) - if err != nil { - return err - } - page.cnlr = next - return nil -} - -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page ComputeNodeListResultPage) NotDone() bool { - return !page.cnlr.IsEmpty() -} - -// Response returns the raw server response from the last page request. -func (page ComputeNodeListResultPage) Response() ComputeNodeListResult { - return page.cnlr -} - -// Values returns the slice of values for the current page or nil if there are no values. -func (page ComputeNodeListResultPage) Values() []ComputeNode { - if page.cnlr.IsEmpty() { - return nil - } - return *page.cnlr.Value -} - -// ComputeNodeUser ... -type ComputeNodeUser struct { - Name *string `json:"name,omitempty"` - // IsAdmin - The default value is false. - IsAdmin *bool `json:"isAdmin,omitempty"` - // ExpiryTime - If omitted, the default is 1 day from the current time. For Linux compute nodes, the expiryTime has a precision up to a day. - ExpiryTime *date.Time `json:"expiryTime,omitempty"` - // Password - The password is required for Windows nodes (those created with 'cloudServiceConfiguration', or created with 'virtualMachineConfiguration' using a Windows image reference). For Linux compute nodes, the password can optionally be specified along with the sshPublicKey property. - Password *string `json:"password,omitempty"` - // SSHPublicKey - The public key should be compatible with OpenSSH encoding and should be base 64 encoded. This property can be specified only for Linux nodes. If this is specified for a Windows node, then the Batch service rejects the request; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). - SSHPublicKey *string `json:"sshPublicKey,omitempty"` -} - -// DeleteCertificateError ... -type DeleteCertificateError struct { - Code *string `json:"code,omitempty"` - Message *string `json:"message,omitempty"` - // Values - This list includes details such as the active pools and nodes referencing this certificate. However, if a large number of resources reference the certificate, the list contains only about the first hundred. - Values *[]NameValuePair `json:"values,omitempty"` -} - -// EnvironmentSetting ... -type EnvironmentSetting struct { - Name *string `json:"name,omitempty"` - Value *string `json:"value,omitempty"` -} - -// Error ... -type Error struct { - Code *string `json:"code,omitempty"` - Message *ErrorMessage `json:"message,omitempty"` - Values *[]ErrorDetail `json:"values,omitempty"` -} - -// ErrorDetail ... -type ErrorDetail struct { - Key *string `json:"key,omitempty"` - Value *string `json:"value,omitempty"` -} - -// ErrorMessage ... -type ErrorMessage struct { - Lang *string `json:"lang,omitempty"` - Value *string `json:"value,omitempty"` -} - -// ExitCodeMapping ... -type ExitCodeMapping struct { - Code *int32 `json:"code,omitempty"` - ExitOptions *ExitOptions `json:"exitOptions,omitempty"` -} - -// ExitCodeRangeMapping ... -type ExitCodeRangeMapping struct { - Start *int32 `json:"start,omitempty"` - End *int32 `json:"end,omitempty"` - ExitOptions *ExitOptions `json:"exitOptions,omitempty"` -} - -// ExitConditions ... -type ExitConditions struct { - ExitCodes *[]ExitCodeMapping `json:"exitCodes,omitempty"` - ExitCodeRanges *[]ExitCodeRangeMapping `json:"exitCodeRanges,omitempty"` - SchedulingError *ExitOptions `json:"schedulingError,omitempty"` - // Default - Note that the default condition does not include exit code 0. If you want non-default behaviour on exit code 0, you must list it explicitly using the exitCodes or exitCodeRanges collection. - Default *ExitOptions `json:"default,omitempty"` -} - -// ExitOptions ... -type ExitOptions struct { - // JobAction - The default is none for exit code 0 and terminate for all other exit conditions. If the job's onTaskFailed property is noAction, then specify this property returns an error. The add task request fails with an invalid property value error;; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). Possible values include: 'JobActionNone', 'JobActionDisable', 'JobActionTerminate' - JobAction JobAction `json:"jobAction,omitempty"` - // DependencyAction - The default is 'satisfy' for exit code 0, and 'block' for all other exit conditions. If the job's usesTaskDependencies property is set to false, then specifying the dependencyAction property returns an error. The add task request fails with an invalid property value error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). Possible values include: 'Satisfy', 'Block' - DependencyAction DependencyAction `json:"dependencyAction,omitempty"` -} - -// FileProperties ... -type FileProperties struct { - // CreationTime - The creation time is not returned for files on Linux compute nodes. - CreationTime *date.Time `json:"creationTime,omitempty"` - LastModified *date.Time `json:"lastModified,omitempty"` - ContentLength *int64 `json:"contentLength,omitempty"` - ContentType *string `json:"contentType,omitempty"` - // FileMode - The file mode is returned only for files on Linux compute nodes. - FileMode *string `json:"fileMode,omitempty"` -} - -// ImageReference ... -type ImageReference struct { - // Publisher - For example, Canonical or MicrosoftWindowsServer. - Publisher *string `json:"publisher,omitempty"` - // Offer - For example, UbuntuServer or WindowsServer. - Offer *string `json:"offer,omitempty"` - // Sku - For example, 14.04.0-LTS or 2012-R2-Datacenter. - Sku *string `json:"sku,omitempty"` - // Version - A value of 'latest' can be specified to select the latest version of an image. If omitted, the default is 'latest'. - Version *string `json:"version,omitempty"` -} - -// JobAddParameter ... -type JobAddParameter struct { - // ID - The ID can contain any combination of alphanumeric characters including hyphens and underscores, and cannot contain more than 64 characters. It is common to use a GUID for the id. - ID *string `json:"id,omitempty"` - // DisplayName - The display name need not be unique and can contain any Unicode characters up to a maximum length of 1024. - DisplayName *string `json:"displayName,omitempty"` - // Priority - Priority values can range from -1000 to 1000, with -1000 being the lowest priority and 1000 being the highest priority. The default value is 0. - Priority *int32 `json:"priority,omitempty"` - // Constraints - The execution constraints for the job. - Constraints *JobConstraints `json:"constraints,omitempty"` - // JobManagerTask - If the job does not specify a Job Manager task, the user must explicitly add tasks to the job. If the job does specify a Job Manager task, the Batch service creates the Job Manager task when the job is created, and will try to schedule the Job Manager task before scheduling other tasks in the job. The Job Manager task's typical purpose is to control and/or monitor job execution, for example by deciding what additional tasks to run, determining when the work is complete, etc. (However, a Job Manager task is not restricted to these activities - it is a fully-fledged task in the system and perform whatever actions are required for the job.) For example, a Job Manager task might download a file specified as a parameter, analyze the contents of that file and submit additional tasks based on those contents. - JobManagerTask *JobManagerTask `json:"jobManagerTask,omitempty"` - // JobPreparationTask - If a job has a Job Preparation task, the Batch service will run the Job Preparation task on a compute node before starting any tasks of that job on that compute node. - JobPreparationTask *JobPreparationTask `json:"jobPreparationTask,omitempty"` - // JobReleaseTask - A Job Release task cannot be specified without also specifying a Job Preparation task for the job. The Batch service runs the Job Release task on the compute nodes that have run the Job Preparation task. The primary purpose of the Job Release task is to undo changes to compute nodes made by the Job Preparation task. Example activities include deleting local files, or shutting down services that were started as part of job preparation. - JobReleaseTask *JobReleaseTask `json:"jobReleaseTask,omitempty"` - CommonEnvironmentSettings *[]EnvironmentSetting `json:"commonEnvironmentSettings,omitempty"` - PoolInfo *PoolInformation `json:"poolInfo,omitempty"` - // OnAllTasksComplete - Note that if a job contains no tasks, then all tasks are considered complete. This option is therefore most commonly used with a Job Manager task; if you want to use automatic job termination without a Job Manager, you should initially set onAllTasksComplete to noAction and update the job properties to set onAllTasksComplete to terminateJob once you have finished adding tasks. Permitted values are: noAction - do nothing. The job remains active unless terminated or disabled by some other means. terminateJob - terminate the job. The job's terminateReason is set to 'AllTasksComplete'. The default is noAction. Possible values include: 'NoAction', 'TerminateJob' - OnAllTasksComplete OnAllTasksComplete `json:"onAllTasksComplete,omitempty"` - // OnTaskFailure - noAction - do nothing. performExitOptionsJobAction - take the action associated with the task exit condition in the task's exitConditions collection. (This may still result in no action being taken, if that is what the task specifies.) The default is noAction. Possible values include: 'OnTaskFailureNoAction', 'OnTaskFailurePerformExitOptionsJobAction' - OnTaskFailure OnTaskFailure `json:"onTaskFailure,omitempty"` - // Metadata - The Batch service does not assign any meaning to metadata; it is solely for the use of user code. - Metadata *[]MetadataItem `json:"metadata,omitempty"` - UsesTaskDependencies *bool `json:"usesTaskDependencies,omitempty"` -} - -// JobConstraints ... -type JobConstraints struct { - // MaxWallClockTime - If the job does not complete within the time limit, the Batch service terminates it and any tasks that are still running. In this case, the termination reason will be MaxWallClockTimeExpiry. If this property is not specified, there is no time limit on how long the job may run. - MaxWallClockTime *string `json:"maxWallClockTime,omitempty"` - // MaxTaskRetryCount - Note that this value specifically controls the number of retries. The Batch service will try each task once, and may then retry up to this limit. For example, if the maximum retry count is 3, Batch tries a task up to 4 times (one initial try and 3 retries). If the maximum retry count is 0, the Batch service does not retry tasks. If the maximum retry count is -1, the Batch service retries tasks without limit. The default value is 0 (no retries). - MaxTaskRetryCount *int32 `json:"maxTaskRetryCount,omitempty"` -} - -// JobDisableParameter ... -type JobDisableParameter struct { - // DisableTasks - requeue - Terminate running tasks and requeue them. The tasks will run again when the job is enabled. terminate - Terminate running tasks. The tasks will not run again. wait - Allow currently running tasks to complete. Possible values include: 'DisableJobOptionRequeue', 'DisableJobOptionTerminate', 'DisableJobOptionWait' - DisableTasks DisableJobOption `json:"disableTasks,omitempty"` -} - -// JobExecutionInformation ... -type JobExecutionInformation struct { - // StartTime - This is the time at which the job was created. - StartTime *date.Time `json:"startTime,omitempty"` - // EndTime - This property is set only if the job is in the completed state. - EndTime *date.Time `json:"endTime,omitempty"` - // PoolID - This element contains the actual pool where the job is assigned. When you get job details from the service, they also contain a poolInfo element, which contains the pool configuration data from when the job was added or updated. That poolInfo element may also contain a poolId element. If it does, the two IDs are the same. If it does not, it means the job ran on an auto pool, and this property contains the id of that auto pool. - PoolID *string `json:"poolId,omitempty"` - // SchedulingError - This property is not set if there was no error starting the job. - SchedulingError *JobSchedulingError `json:"schedulingError,omitempty"` - // TerminateReason - This property is set only if the job is in the completed state. If the Batch service terminates the job, it sets the reason as follows: JMComplete - the Job Manager task completed, and killJobOnCompletion was set to true. MaxWallClockTimeExpiry - the job reached its maxWallClockTime constraint. TerminateJobSchedule - the job ran as part of a schedule, and the schedule terminated. AllTasksComplete - the job's onAllTasksComplete attribute is set to terminateJob, and all tasks in the job are complete. TaskFailed - the job's onTaskFailure attribute is set to performExitOptionsJobAction, and a task in the job failed with an exit condition that specified a jobAction of terminateJob. Any other string is a user-defined reason specified in a call to the 'Terminate a job' operation. - TerminateReason *string `json:"terminateReason,omitempty"` -} - -// JobManagerTask ... -type JobManagerTask struct { - // ID - The id can contain any combination of alphanumeric characters including hyphens and underscores and cannot contain more than 64 characters. - ID *string `json:"id,omitempty"` - // DisplayName - It need not be unique and can contain any Unicode characters up to a maximum length of 1024. - DisplayName *string `json:"displayName,omitempty"` - // CommandLine - The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example using "cmd /c MyCommand" in Windows or "/bin/sh -c MyCommand" in Linux. - CommandLine *string `json:"commandLine,omitempty"` - // ResourceFiles - Files listed under this element are located in the task's working directory. - ResourceFiles *[]ResourceFile `json:"resourceFiles,omitempty"` - EnvironmentSettings *[]EnvironmentSetting `json:"environmentSettings,omitempty"` - Constraints *TaskConstraints `json:"constraints,omitempty"` - // KillJobOnCompletion - If true, when the Job Manager task completes, the Batch service marks the job as complete. If any tasks are still running at this time (other than Job Release), those tasks are terminated. If false, the completion of the Job Manager task does not affect the job status. In this case, you should either use the onAllTasksComplete attribute to terminate the job, or have a client or user terminate the job explicitly. An example of this is if the Job Manager creates a set of tasks but then takes no further role in their execution. The default value is true. If you are using the onAllTasksComplete and onTaskFailure attributes to control job lifetime, and using the Job Manager task only to create the tasks for the job (not to monitor progress), then it is important to set killJobOnCompletion to false. - KillJobOnCompletion *bool `json:"killJobOnCompletion,omitempty"` - // UserIdentity - If omitted, the task runs as a non-administrative user unique to the task. - UserIdentity *UserIdentity `json:"userIdentity,omitempty"` - // RunExclusive - If true, no other tasks will run on the same compute node for as long as the Job Manager is running. If false, other tasks can run simultaneously with the Job Manager on a compute node. The Job Manager task counts normally against the node's concurrent task limit, so this is only relevant if the node allows multiple concurrent tasks. The default value is true. - RunExclusive *bool `json:"runExclusive,omitempty"` - // ApplicationPackageReferences - Application packages are downloaded and deployed to a shared directory, not the task directory. Therefore, if a referenced package is already on the compute node, and is up to date, then it is not re-downloaded; the existing copy on the compute node is used. If a referenced application package cannot be installed, for example because the package has been deleted or because download failed, the task fails with a scheduling error. This property is currently not supported on jobs running on pools created using the virtualMachineConfiguration (IaaS) property. If a task specifying applicationPackageReferences runs on such a pool, it fails with a scheduling error with code TaskSchedulingConstraintFailed. - ApplicationPackageReferences *[]ApplicationPackageReference `json:"applicationPackageReferences,omitempty"` - // AuthenticationTokenSettings - If this property is set, the Batch service provides the task with an authentication token which can be used to authenticate Batch service operations without requiring an account access key. The token is provided via the AZ_BATCH_AUTHENTICATION_TOKEN environment variable. The operations that the task can carry out using the token depend on the settings. For example, a task can request job permissions in order to add other tasks to the job, or check the status of the job or of other tasks under the job. - AuthenticationTokenSettings *AuthenticationTokenSettings `json:"authenticationTokenSettings,omitempty"` -} - -// JobPatchParameter ... -type JobPatchParameter struct { - // Priority - Priority values can range from -1000 to 1000, with -1000 being the lowest priority and 1000 being the highest priority. If omitted, the priority of the job is left unchanged. - Priority *int32 `json:"priority,omitempty"` - // OnAllTasksComplete - If omitted, the completion behavior is left unchanged. You may not change the value from terminateJob to noAction - that is, once you have engaged automatic job termination, you cannot turn it off again. If you try to do this, the request fails with an 'invalid property value' error response; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). Possible values include: 'NoAction', 'TerminateJob' - OnAllTasksComplete OnAllTasksComplete `json:"onAllTasksComplete,omitempty"` - // Constraints - If omitted, the existing execution constraints are left unchanged. - Constraints *JobConstraints `json:"constraints,omitempty"` - // PoolInfo - You may change the pool for a job only when the job is disabled. The Patch Job call will fail if you include the poolInfo element and the job is not disabled. If you specify an autoPoolSpecification specification in the poolInfo, only the keepAlive property can be updated, and then only if the auto pool has a poolLifetimeOption of job. If omitted, the job continues to run on its current pool. - PoolInfo *PoolInformation `json:"poolInfo,omitempty"` - // Metadata - If omitted, the existing job metadata is left unchanged. - Metadata *[]MetadataItem `json:"metadata,omitempty"` -} - -// JobPreparationAndReleaseTaskExecutionInformation ... -type JobPreparationAndReleaseTaskExecutionInformation struct { - PoolID *string `json:"poolId,omitempty"` - NodeID *string `json:"nodeId,omitempty"` - NodeURL *string `json:"nodeUrl,omitempty"` - JobPreparationTaskExecutionInfo *JobPreparationTaskExecutionInformation `json:"jobPreparationTaskExecutionInfo,omitempty"` - // JobReleaseTaskExecutionInfo - This property is set only if the Job Release task has run on the node. - JobReleaseTaskExecutionInfo *JobReleaseTaskExecutionInformation `json:"jobReleaseTaskExecutionInfo,omitempty"` -} - -// JobPreparationTask ... -type JobPreparationTask struct { - // ID - The ID can contain any combination of alphanumeric characters including hyphens and underscores and cannot contain more than 64 characters. If you do not specify this property, the Batch service assigns a default value of 'jobpreparation'. No other task in the job can have the same id as the Job Preparation task. If you try to submit a task with the same id, the Batch service rejects the request with error code TaskIdSameAsJobPreparationTask; if you are calling the REST API directly, the HTTP status code is 409 (Conflict). - ID *string `json:"id,omitempty"` - // CommandLine - The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example using "cmd /c MyCommand" in Windows or "/bin/sh -c MyCommand" in Linux. - CommandLine *string `json:"commandLine,omitempty"` - // ResourceFiles - Files listed under this element are located in the task's working directory. - ResourceFiles *[]ResourceFile `json:"resourceFiles,omitempty"` - EnvironmentSettings *[]EnvironmentSetting `json:"environmentSettings,omitempty"` - Constraints *TaskConstraints `json:"constraints,omitempty"` - // WaitForSuccess - If true and the Job Preparation task fails on a compute node, the Batch service retries the Job Preparation task up to its maximum retry count (as specified in the constraints element). If the task has still not completed successfully after all retries, then the Batch service will not schedule tasks of the job to the compute node. The compute node remains active and eligible to run tasks of other jobs. If false, the Batch service will not wait for the Job Preparation task to complete. In this case, other tasks of the job can start executing on the compute node while the Job Preparation task is still running; and even if the Job Preparation task fails, new tasks will continue to be scheduled on the node. The default value is true. - WaitForSuccess *bool `json:"waitForSuccess,omitempty"` - // UserIdentity - If omitted, the task runs as a non-administrative user unique to the task. - UserIdentity *UserIdentity `json:"userIdentity,omitempty"` - // RerunOnNodeRebootAfterSuccess - The Job Preparation task is always rerun if a compute node is reimaged, or if the Job Preparation task did not complete (e.g. because the reboot occurred while the task was running). Therefore, you should always write a Job Preparation task to be idempotent and to behave correctly if run multiple times. The default value is true. - RerunOnNodeRebootAfterSuccess *bool `json:"rerunOnNodeRebootAfterSuccess,omitempty"` -} - -// JobPreparationTaskExecutionInformation ... -type JobPreparationTaskExecutionInformation struct { - // StartTime - Note that every time the task is restarted, this value is updated. - StartTime *date.Time `json:"startTime,omitempty"` - // EndTime - This property is set only if the task is in the Completed state. - EndTime *date.Time `json:"endTime,omitempty"` - // State - running - the task is currently running (including retrying). completed - the task has exited with exit code 0, or the task has exhausted its retry limit, or the Batch service was unable to start the task due to scheduling errors. Possible values include: 'JobPreparationTaskStateRunning', 'JobPreparationTaskStateCompleted' - State JobPreparationTaskState `json:"state,omitempty"` - TaskRootDirectory *string `json:"taskRootDirectory,omitempty"` - TaskRootDirectoryURL *string `json:"taskRootDirectoryUrl,omitempty"` - // ExitCode - This parameter is returned only if the task is in the completed state. The exit code for a process reflects the specific convention implemented by the application developer for that process. If you use the exit code value to make decisions in your code, be sure that you know the exit code convention used by the application process. Note that the exit code may also be generated by the compute node operating system, such as when a process is forcibly terminated. - ExitCode *int32 `json:"exitCode,omitempty"` - SchedulingError *TaskSchedulingError `json:"schedulingError,omitempty"` - RetryCount *int32 `json:"retryCount,omitempty"` - // LastRetryTime - This property is set only if the task was retried (i.e. retryCount is nonzero). If present, this is typically the same as startTime, but may be different if the task has been restarted for reasons other than retry; for example, if the compute node was rebooted during a retry, then the startTime is updated but the lastRetryTime is not. - LastRetryTime *date.Time `json:"lastRetryTime,omitempty"` -} - -// JobReleaseTask ... -type JobReleaseTask struct { - // ID - The ID can contain any combination of alphanumeric characters including hyphens and underscores and cannot contain more than 64 characters. If you do not specify this property, the Batch service assigns a default value of 'jobrelease'. No other task in the job can have the same id as the Job Release task. If you try to submit a task with the same id, the Batch service rejects the request with error code TaskIdSameAsJobReleaseTask; if you are calling the REST API directly, the HTTP status code is 409 (Conflict). - ID *string `json:"id,omitempty"` - // CommandLine - The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example using "cmd /c MyCommand" in Windows or "/bin/sh -c MyCommand" in Linux. - CommandLine *string `json:"commandLine,omitempty"` - // ResourceFiles - Files listed under this element are located in the task's working directory. - ResourceFiles *[]ResourceFile `json:"resourceFiles,omitempty"` - EnvironmentSettings *[]EnvironmentSetting `json:"environmentSettings,omitempty"` - MaxWallClockTime *string `json:"maxWallClockTime,omitempty"` - // RetentionTime - The default is infinite, i.e. the task directory will be retained until the compute node is removed or reimaged. - RetentionTime *string `json:"retentionTime,omitempty"` - // UserIdentity - If omitted, the task runs as a non-administrative user unique to the task. - UserIdentity *UserIdentity `json:"userIdentity,omitempty"` -} - -// JobReleaseTaskExecutionInformation ... -type JobReleaseTaskExecutionInformation struct { - StartTime *date.Time `json:"startTime,omitempty"` - // EndTime - This property is set only if the task is in the Completed state. - EndTime *date.Time `json:"endTime,omitempty"` - // State - running - the task is currently running (including retrying). completed - the task has exited, or the Batch service was unable to start the task due to scheduling errors. Possible values include: 'JobReleaseTaskStateRunning', 'JobReleaseTaskStateCompleted' - State JobReleaseTaskState `json:"state,omitempty"` - TaskRootDirectory *string `json:"taskRootDirectory,omitempty"` - TaskRootDirectoryURL *string `json:"taskRootDirectoryUrl,omitempty"` - // ExitCode - This parameter is returned only if the task is in the completed state. The exit code for a process reflects the specific convention implemented by the application developer for that process. If you use the exit code value to make decisions in your code, be sure that you know the exit code convention used by the application process. Note that the exit code may also be generated by the compute node operating system, such as when a process is forcibly terminated. - ExitCode *int32 `json:"exitCode,omitempty"` - SchedulingError *TaskSchedulingError `json:"schedulingError,omitempty"` -} - -// JobScheduleAddParameter ... -type JobScheduleAddParameter struct { - // ID - The ID can contain any combination of alphanumeric characters including hyphens and underscores, and cannot contain more than 64 characters. The id is case-preserving and case-insensitive (that is, you may not have two ids within an account that differ only by case). - ID *string `json:"id,omitempty"` - // DisplayName - The display name need not be unique and can contain any Unicode characters up to a maximum length of 1024. - DisplayName *string `json:"displayName,omitempty"` - Schedule *Schedule `json:"schedule,omitempty"` - JobSpecification *JobSpecification `json:"jobSpecification,omitempty"` - // Metadata - The Batch service does not assign any meaning to metadata; it is solely for the use of user code. - Metadata *[]MetadataItem `json:"metadata,omitempty"` -} - -// JobScheduleExecutionInformation ... -type JobScheduleExecutionInformation struct { - // NextRunTime - This property is meaningful only if the schedule is in the active state when the time comes around. For example, if the schedule is disabled, no job will be created at nextRunTime unless the job is enabled before then. - NextRunTime *date.Time `json:"nextRunTime,omitempty"` - // RecentJob - This property is present only if the at least one job has run under the schedule. - RecentJob *RecentJob `json:"recentJob,omitempty"` - // EndTime - This property is set only if the job schedule is in the completed state. - EndTime *date.Time `json:"endTime,omitempty"` -} - -// JobSchedulePatchParameter ... -type JobSchedulePatchParameter struct { - // Schedule - If you do not specify this element, the existing schedule is left unchanged. - Schedule *Schedule `json:"schedule,omitempty"` - // JobSpecification - Updates affect only jobs that are started after the update has taken place. Any currently active job continues with the older specification. - JobSpecification *JobSpecification `json:"jobSpecification,omitempty"` - // Metadata - If you do not specify this element, existing metadata is left unchanged. - Metadata *[]MetadataItem `json:"metadata,omitempty"` -} - -// JobScheduleStatistics ... -type JobScheduleStatistics struct { - URL *string `json:"url,omitempty"` - StartTime *date.Time `json:"startTime,omitempty"` - LastUpdateTime *date.Time `json:"lastUpdateTime,omitempty"` - UserCPUTime *string `json:"userCPUTime,omitempty"` - KernelCPUTime *string `json:"kernelCPUTime,omitempty"` - // WallClockTime - The wall clock time is the elapsed time from when the task started running on a compute node to when it finished (or to the last time the statistics were updated, if the task had not finished by then). If a task was retried, this includes the wall clock time of all the task retries. - WallClockTime *string `json:"wallClockTime,omitempty"` - ReadIOps *int64 `json:"readIOps,omitempty"` - WriteIOps *int64 `json:"writeIOps,omitempty"` - ReadIOGiB *float64 `json:"readIOGiB,omitempty"` - WriteIOGiB *float64 `json:"writeIOGiB,omitempty"` - NumSucceededTasks *int64 `json:"numSucceededTasks,omitempty"` - NumFailedTasks *int64 `json:"numFailedTasks,omitempty"` - NumTaskRetries *int64 `json:"numTaskRetries,omitempty"` - // WaitTime - This value is only reported in the account lifetime statistics; it is not included in the job statistics. - WaitTime *string `json:"waitTime,omitempty"` -} - -// JobScheduleUpdateParameter ... -type JobScheduleUpdateParameter struct { - // Schedule - If you do not specify this element, it is equivalent to passing the default schedule: that is, a single job scheduled to run immediately. - Schedule *Schedule `json:"schedule,omitempty"` - // JobSpecification - Updates affect only jobs that are started after the update has taken place. Any currently active job continues with the older specification. - JobSpecification *JobSpecification `json:"jobSpecification,omitempty"` - // Metadata - If you do not specify this element, it takes the default value of an empty list; in effect, any existing metadata is deleted. - Metadata *[]MetadataItem `json:"metadata,omitempty"` -} - -// JobSchedulingError ... -type JobSchedulingError struct { - // Category - Possible values include: 'SchedulingErrorCategoryUserError', 'SchedulingErrorCategoryServerError', 'SchedulingErrorCategoryUnmapped' - Category SchedulingErrorCategory `json:"category,omitempty"` - Code *string `json:"code,omitempty"` - Message *string `json:"message,omitempty"` - Details *[]NameValuePair `json:"details,omitempty"` -} - -// JobSpecification ... -type JobSpecification struct { - // Priority - Priority values can range from -1000 to 1000, with -1000 being the lowest priority and 1000 being the highest priority. The default value is 0. This priority is used as the default for all jobs under the job schedule. You can update a job's priority after it has been created using by using the update job API. - Priority *int32 `json:"priority,omitempty"` - // DisplayName - The name need not be unique and can contain any Unicode characters up to a maximum length of 1024. - DisplayName *string `json:"displayName,omitempty"` - UsesTaskDependencies *bool `json:"usesTaskDependencies,omitempty"` - // OnAllTasksComplete - Note that if a job contains no tasks, then all tasks are considered complete. This option is therefore most commonly used with a Job Manager task; if you want to use automatic job termination without a Job Manager, you should initially set onAllTasksComplete to noAction and update the job properties to set onAllTasksComplete to terminateJob once you have finished adding tasks. The default is noAction. Possible values include: 'NoAction', 'TerminateJob' - OnAllTasksComplete OnAllTasksComplete `json:"onAllTasksComplete,omitempty"` - // OnTaskFailure - The default is noAction. Possible values include: 'OnTaskFailureNoAction', 'OnTaskFailurePerformExitOptionsJobAction' - OnTaskFailure OnTaskFailure `json:"onTaskFailure,omitempty"` - Constraints *JobConstraints `json:"constraints,omitempty"` - // JobManagerTask - If the job does not specify a Job Manager task, the user must explicitly add tasks to the job using the Task API. If the job does specify a Job Manager task, the Batch service creates the Job Manager task when the job is created, and will try to schedule the Job Manager task before scheduling other tasks in the job. - JobManagerTask *JobManagerTask `json:"jobManagerTask,omitempty"` - // JobPreparationTask - If a job has a Job Preparation task, the Batch service will run the Job Preparation task on a compute node before starting any tasks of that job on that compute node. - JobPreparationTask *JobPreparationTask `json:"jobPreparationTask,omitempty"` - // JobReleaseTask - The primary purpose of the Job Release task is to undo changes to compute nodes made by the Job Preparation task. Example activities include deleting local files, or shutting down services that were started as part of job preparation. A Job Release task cannot be specified without also specifying a Job Preparation task for the job. The Batch service runs the Job Release task on the compute nodes that have run the Job Preparation task. - JobReleaseTask *JobReleaseTask `json:"jobReleaseTask,omitempty"` - // CommonEnvironmentSettings - Individual tasks can override an environment setting specified here by specifying the same setting name with a different value. - CommonEnvironmentSettings *[]EnvironmentSetting `json:"commonEnvironmentSettings,omitempty"` - PoolInfo *PoolInformation `json:"poolInfo,omitempty"` - // Metadata - The Batch service does not assign any meaning to metadata; it is solely for the use of user code. - Metadata *[]MetadataItem `json:"metadata,omitempty"` -} - -// JobStatistics ... -type JobStatistics struct { - autorest.Response `json:"-"` - URL *string `json:"url,omitempty"` - StartTime *date.Time `json:"startTime,omitempty"` - LastUpdateTime *date.Time `json:"lastUpdateTime,omitempty"` - UserCPUTime *string `json:"userCPUTime,omitempty"` - KernelCPUTime *string `json:"kernelCPUTime,omitempty"` - WallClockTime *string `json:"wallClockTime,omitempty"` - ReadIOps *int64 `json:"readIOps,omitempty"` - WriteIOps *int64 `json:"writeIOps,omitempty"` - ReadIOGiB *float64 `json:"readIOGiB,omitempty"` - WriteIOGiB *float64 `json:"writeIOGiB,omitempty"` - // NumSucceededTasks - A task completes successfully if it returns exit code 0. - NumSucceededTasks *int64 `json:"numSucceededTasks,omitempty"` - // NumFailedTasks - A task fails if it exhausts its maximum retry count without returning exit code 0. - NumFailedTasks *int64 `json:"numFailedTasks,omitempty"` - NumTaskRetries *int64 `json:"numTaskRetries,omitempty"` - // WaitTime - The wait time for a task is defined as the elapsed time between the creation of the task and the start of task execution. (If the task is retried due to failures, the wait time is the time to the most recent task execution.) This value is only reported in the account lifetime statistics; it is not included in the job statistics. - WaitTime *string `json:"waitTime,omitempty"` -} - -// JobTerminateParameter ... -type JobTerminateParameter struct { - TerminateReason *string `json:"terminateReason,omitempty"` -} - -// JobUpdateParameter ... -type JobUpdateParameter struct { - // Priority - Priority values can range from -1000 to 1000, with -1000 being the lowest priority and 1000 being the highest priority. If omitted, it is set to the default value 0. - Priority *int32 `json:"priority,omitempty"` - // Constraints - If omitted, the constraints are cleared. - Constraints *JobConstraints `json:"constraints,omitempty"` - // PoolInfo - You may change the pool for a job only when the job is disabled. The Update Job call will fail if you include the poolInfo element and the job is not disabled. If you specify an autoPoolSpecification specification in the poolInfo, only the keepAlive property can be updated, and then only if the auto pool has a poolLifetimeOption of job. - PoolInfo *PoolInformation `json:"poolInfo,omitempty"` - // Metadata - If omitted, it takes the default value of an empty list; in effect, any existing metadata is deleted. - Metadata *[]MetadataItem `json:"metadata,omitempty"` - // OnAllTasksComplete - If omitted, the completion behavior is set to noAction. If the current value is terminateJob, this is an error because a job's completion behavior may not be changed from terminateJob to noAction. Possible values include: 'NoAction', 'TerminateJob' - OnAllTasksComplete OnAllTasksComplete `json:"onAllTasksComplete,omitempty"` -} - -// MetadataItem the Batch service does not assign any meaning to this metadata; it is solely for the use of user -// code. -type MetadataItem struct { - Name *string `json:"name,omitempty"` - Value *string `json:"value,omitempty"` -} - -// MultiInstanceSettings multi-instance tasks are commonly used to support MPI tasks. -type MultiInstanceSettings struct { - NumberOfInstances *int32 `json:"numberOfInstances,omitempty"` - // CoordinationCommandLine - A typical coordination command line launches a background service and verifies that the service is ready to process inter-node messages. - CoordinationCommandLine *string `json:"coordinationCommandLine,omitempty"` - // CommonResourceFiles - The difference between common resource files and task resource files is that common resource files are downloaded for all subtasks including the primary, whereas task resource files are downloaded only for the primary. - CommonResourceFiles *[]ResourceFile `json:"commonResourceFiles,omitempty"` -} - -// NameValuePair ... -type NameValuePair struct { - Name *string `json:"name,omitempty"` - Value *string `json:"value,omitempty"` -} - -// NetworkConfiguration the network configuration for a pool. -type NetworkConfiguration struct { - // SubnetID - The virtual network must be in the same region and subscription as the Azure Batch account. The specified subnet should have enough free IP addresses to accommodate the number of nodes in the pool. If the subnet doesn't have enough free IP addresses, the pool will partially allocate compute nodes, and a resize error will occur. The 'MicrosoftAzureBatch' service principal must have the 'Classic Virtual Machine Contributor' Role-Based Access Control (RBAC) role for the specified VNet. The specified subnet must allow communication from the Azure Batch service to be able to schedule tasks on the compute nodes. This can be verified by checking if the specified VNet has any associated Network Security Groups (NSG). If communication to the compute nodes in the specified subnet is denied by an NSG, then the Batch service will set the state of the compute nodes to unusable. This property can only be specified for pools created with a cloudServiceConfiguration. - SubnetID *string `json:"subnetId,omitempty"` -} - -// NodeAgentSku the Batch node agent is a program that runs on each node in the pool, and provides the -// command-and-control interface between the node and the Batch service. There are different implementations of the -// node agent, known as SKUs, for different operating systems. -type NodeAgentSku struct { - ID *string `json:"id,omitempty"` - // VerifiedImageReferences - This collection is not exhaustive (the node agent may be compatible with other images). - VerifiedImageReferences *[]ImageReference `json:"verifiedImageReferences,omitempty"` - // OsType - Possible values include: 'OSTypeLinux', 'OSTypeWindows', 'OSTypeUnmapped' - OsType OSType `json:"osType,omitempty"` -} - -// NodeDisableSchedulingParameter ... -type NodeDisableSchedulingParameter struct { - // NodeDisableSchedulingOption - The default value is requeue. Possible values include: 'DisableComputeNodeSchedulingOptionRequeue', 'DisableComputeNodeSchedulingOptionTerminate', 'DisableComputeNodeSchedulingOptionTaskCompletion' - NodeDisableSchedulingOption DisableComputeNodeSchedulingOption `json:"nodeDisableSchedulingOption,omitempty"` -} - -// NodeFile ... -type NodeFile struct { - Name *string `json:"name,omitempty"` - URL *string `json:"url,omitempty"` - IsDirectory *bool `json:"isDirectory,omitempty"` - Properties *FileProperties `json:"properties,omitempty"` -} - -// NodeFileListResult ... -type NodeFileListResult struct { - autorest.Response `json:"-"` - Value *[]NodeFile `json:"value,omitempty"` - OdataNextLink *string `json:"odata.nextLink,omitempty"` -} - -// NodeFileListResultIterator provides access to a complete listing of NodeFile values. -type NodeFileListResultIterator struct { - i int - page NodeFileListResultPage -} - -// Next advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -func (iter *NodeFileListResultIterator) Next() error { - iter.i++ - if iter.i < len(iter.page.Values()) { - return nil - } - err := iter.page.Next() - if err != nil { - iter.i-- - return err - } - iter.i = 0 - return nil -} - -// NotDone returns true if the enumeration should be started or is not yet complete. -func (iter NodeFileListResultIterator) NotDone() bool { - return iter.page.NotDone() && iter.i < len(iter.page.Values()) -} - -// Response returns the raw server response from the last page request. -func (iter NodeFileListResultIterator) Response() NodeFileListResult { - return iter.page.Response() -} - -// Value returns the current value or a zero-initialized value if the -// iterator has advanced beyond the end of the collection. -func (iter NodeFileListResultIterator) Value() NodeFile { - if !iter.page.NotDone() { - return NodeFile{} - } - return iter.page.Values()[iter.i] -} - -// IsEmpty returns true if the ListResult contains no values. -func (nflr NodeFileListResult) IsEmpty() bool { - return nflr.Value == nil || len(*nflr.Value) == 0 -} - -// nodeFileListResultPreparer prepares a request to retrieve the next set of results. -// It returns nil if no more results exist. -func (nflr NodeFileListResult) nodeFileListResultPreparer() (*http.Request, error) { - if nflr.OdataNextLink == nil || len(to.String(nflr.OdataNextLink)) < 1 { - return nil, nil - } - return autorest.Prepare(&http.Request{}, - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(nflr.OdataNextLink))) -} - -// NodeFileListResultPage contains a page of NodeFile values. -type NodeFileListResultPage struct { - fn func(NodeFileListResult) (NodeFileListResult, error) - nflr NodeFileListResult -} - -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -func (page *NodeFileListResultPage) Next() error { - next, err := page.fn(page.nflr) - if err != nil { - return err - } - page.nflr = next - return nil -} - -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page NodeFileListResultPage) NotDone() bool { - return !page.nflr.IsEmpty() -} - -// Response returns the raw server response from the last page request. -func (page NodeFileListResultPage) Response() NodeFileListResult { - return page.nflr -} - -// Values returns the slice of values for the current page or nil if there are no values. -func (page NodeFileListResultPage) Values() []NodeFile { - if page.nflr.IsEmpty() { - return nil - } - return *page.nflr.Value -} - -// NodeRebootParameter ... -type NodeRebootParameter struct { - // NodeRebootOption - The default value is requeue. Possible values include: 'ComputeNodeRebootOptionRequeue', 'ComputeNodeRebootOptionTerminate', 'ComputeNodeRebootOptionTaskCompletion', 'ComputeNodeRebootOptionRetainedData' - NodeRebootOption ComputeNodeRebootOption `json:"nodeRebootOption,omitempty"` -} - -// NodeReimageParameter ... -type NodeReimageParameter struct { - // NodeReimageOption - The default value is requeue. Possible values include: 'ComputeNodeReimageOptionRequeue', 'ComputeNodeReimageOptionTerminate', 'ComputeNodeReimageOptionTaskCompletion', 'ComputeNodeReimageOptionRetainedData' - NodeReimageOption ComputeNodeReimageOption `json:"nodeReimageOption,omitempty"` -} - -// NodeRemoveParameter ... -type NodeRemoveParameter struct { - NodeList *[]string `json:"nodeList,omitempty"` - // ResizeTimeout - The default value is 15 minutes. The minimum value is 5 minutes. If you specify a value less than 5 minutes, the Batch service returns an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). - ResizeTimeout *string `json:"resizeTimeout,omitempty"` - // NodeDeallocationOption - The default value is requeue. Possible values include: 'Requeue', 'Terminate', 'TaskCompletion', 'RetainedData' - NodeDeallocationOption ComputeNodeDeallocationOption `json:"nodeDeallocationOption,omitempty"` -} - -// NodeUpdateUserParameter ... -type NodeUpdateUserParameter struct { - // Password - The password is required for Windows nodes (those created with 'cloudServiceConfiguration', or created with 'virtualMachineConfiguration' using a Windows image reference). For Linux compute nodes, the password can optionally be specified along with the sshPublicKey property. If omitted, any existing password is removed. - Password *string `json:"password,omitempty"` - // ExpiryTime - If omitted, the default is 1 day from the current time. For Linux compute nodes, the expiryTime has a precision up to a day. - ExpiryTime *date.Time `json:"expiryTime,omitempty"` - // SSHPublicKey - The public key should be compatible with OpenSSH encoding and should be base 64 encoded. This property can be specified only for Linux nodes. If this is specified for a Windows node, then the Batch service rejects the request; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). If omitted, any existing SSH public key is removed. - SSHPublicKey *string `json:"sshPublicKey,omitempty"` -} - -// OSDisk ... -type OSDisk struct { - // ImageUris - All the VHDs must be identical and must reside in an Azure Storage account within the same subscription and same region as the Batch account. For best performance, it is recommended that each VHD resides in a separate Azure Storage account. Each VHD can serve upto 20 Windows compute nodes or 40 Linux compute nodes. You must supply enough VHD URIs to satisfy the 'targetDedicated' property of the pool. If you do not supply enough VHD URIs, the pool will partially allocate compute nodes, and a resize error will occur. - ImageUris *[]string `json:"imageUris,omitempty"` - // Caching - none - The caching mode for the disk is not enabled. readOnly - The caching mode for the disk is read only. readWrite - The caching mode for the disk is read and write. The default value for caching is none. For information about the caching options see: https://blogs.msdn.microsoft.com/windowsazurestorage/2012/06/27/exploring-windows-azure-drives-disks-and-images/. Possible values include: 'None', 'ReadOnly', 'ReadWrite' - Caching CachingType `json:"caching,omitempty"` -} - -// PoolAddParameter ... -type PoolAddParameter struct { - // ID - The ID can contain any combination of alphanumeric characters including hyphens and underscores, and cannot contain more than 64 characters. The ID is case-preserving and case-insensitive (that is, you may not have two pool IDs within an account that differ only by case). - ID *string `json:"id,omitempty"` - // DisplayName - The display name need not be unique and can contain any Unicode characters up to a maximum length of 1024. - DisplayName *string `json:"displayName,omitempty"` - // VMSize - For information about available sizes of virtual machines for Cloud Services pools (pools created with cloudServiceConfiguration), see Sizes for Cloud Services (http://azure.microsoft.com/documentation/articles/cloud-services-sizes-specs/). Batch supports all Cloud Services VM sizes except ExtraSmall. For information about available VM sizes for pools using images from the Virtual Machines Marketplace (pools created with virtualMachineConfiguration) see Sizes for Virtual Machines (Linux) (https://azure.microsoft.com/documentation/articles/virtual-machines-linux-sizes/) or Sizes for Virtual Machines (Windows) (https://azure.microsoft.com/documentation/articles/virtual-machines-windows-sizes/). Batch supports all Azure VM sizes except STANDARD_A0 and those with premium storage (STANDARD_GS, STANDARD_DS, and STANDARD_DSV2 series). - VMSize *string `json:"vmSize,omitempty"` - // CloudServiceConfiguration - This property and virtualMachineConfiguration are mutually exclusive and one of the properties must be specified. This property cannot be specified if the Batch account was created with its poolAllocationMode property set to 'UserSubscription'. - CloudServiceConfiguration *CloudServiceConfiguration `json:"cloudServiceConfiguration,omitempty"` - // VirtualMachineConfiguration - This property and cloudServiceConfiguration are mutually exclusive and one of the properties must be specified. - VirtualMachineConfiguration *VirtualMachineConfiguration `json:"virtualMachineConfiguration,omitempty"` - // ResizeTimeout - This timeout applies only to manual scaling; it has no effect when enableAutoScale is set to true. The default value is 15 minutes. The minimum value is 5 minutes. If you specify a value less than 5 minutes, the Batch service returns an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). - ResizeTimeout *string `json:"resizeTimeout,omitempty"` - // TargetDedicated - This property must have the default value if enableAutoScale is true. It is required if enableAutoScale is false. - TargetDedicated *int32 `json:"targetDedicated,omitempty"` - // EnableAutoScale - If true, the autoScaleFormula property must be set. If false, the targetDedicated property must be set. The default value is false. - EnableAutoScale *bool `json:"enableAutoScale,omitempty"` - // AutoScaleFormula - This property must not be specified if enableAutoScale is set to false. It is required if enableAutoScale is set to true. The formula is checked for validity before the pool is created. If the formula is not valid, the Batch service rejects the request with detailed error information. For more information about specifying this formula, see 'Automatically scale compute nodes in an Azure Batch pool' (https://azure.microsoft.com/documentation/articles/batch-automatic-scaling/). - AutoScaleFormula *string `json:"autoScaleFormula,omitempty"` - // AutoScaleEvaluationInterval - The default value is 15 minutes. The minimum and maximum value are 5 minutes and 168 hours respectively. If you specify a value less than 5 minutes or greater than 168 hours, the Batch service returns an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). - AutoScaleEvaluationInterval *string `json:"autoScaleEvaluationInterval,omitempty"` - // EnableInterNodeCommunication - Enabling inter-node communication limits the maximum size of the pool due to deployment restrictions on the nodes of the pool. This may result in the pool not reaching its desired size. The default value is false. - EnableInterNodeCommunication *bool `json:"enableInterNodeCommunication,omitempty"` - NetworkConfiguration *NetworkConfiguration `json:"networkConfiguration,omitempty"` - // StartTask - The task runs when the node is added to the pool or when the node is restarted. - StartTask *StartTask `json:"startTask,omitempty"` - // CertificateReferences - For Windows compute nodes, the Batch service installs the certificates to the specified certificate store and location. For Linux compute nodes, the certificates are stored in a directory inside the task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the task to query for this location. For certificates with visibility of 'remoteUser', a 'certs' directory is created in the user's home directory (e.g., /home/{user-name}/certs) and certificates are placed in that directory. - CertificateReferences *[]CertificateReference `json:"certificateReferences,omitempty"` - // ApplicationPackageReferences - This property is currently not supported on pools created using the virtualMachineConfiguration (IaaS) property. - ApplicationPackageReferences *[]ApplicationPackageReference `json:"applicationPackageReferences,omitempty"` - // MaxTasksPerNode - The default value is 1. The maximum value of this setting depends on the size of the compute nodes in the pool (the vmSize setting). - MaxTasksPerNode *int32 `json:"maxTasksPerNode,omitempty"` - TaskSchedulingPolicy *TaskSchedulingPolicy `json:"taskSchedulingPolicy,omitempty"` - UserAccounts *[]UserAccount `json:"userAccounts,omitempty"` - // Metadata - The Batch service does not assign any meaning to metadata; it is solely for the use of user code. - Metadata *[]MetadataItem `json:"metadata,omitempty"` -} - -// PoolEnableAutoScaleParameter ... -type PoolEnableAutoScaleParameter struct { - // AutoScaleFormula - The formula is checked for validity before it is applied to the pool. If the formula is not valid, the Batch service rejects the request with detailed error information. For more information about specifying this formula, see Automatically scale compute nodes in an Azure Batch pool (https://azure.microsoft.com/en-us/documentation/articles/batch-automatic-scaling). - AutoScaleFormula *string `json:"autoScaleFormula,omitempty"` - // AutoScaleEvaluationInterval - The default value is 15 minutes. The minimum and maximum value are 5 minutes and 168 hours respectively. If you specify a value less than 5 minutes or greater than 168 hours, the Batch service rejects the request with an invalid property value error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). If you specify a new interval, then the existing autoscale evaluation schedule will be stopped and a new autoscale evaluation schedule will be started, with its starting time being the time when this request was issued. - AutoScaleEvaluationInterval *string `json:"autoScaleEvaluationInterval,omitempty"` -} - -// PoolEvaluateAutoScaleParameter ... -type PoolEvaluateAutoScaleParameter struct { - // AutoScaleFormula - The formula is validated and its results calculated, but it is not applied to the pool. To apply the formula to the pool, 'Enable automatic scaling on a pool'. For more information about specifying this formula, see Automatically scale compute nodes in an Azure Batch pool (https://azure.microsoft.com/en-us/documentation/articles/batch-automatic-scaling). - AutoScaleFormula *string `json:"autoScaleFormula,omitempty"` -} - -// PoolInformation ... -type PoolInformation struct { - // PoolID - You must ensure that the pool referenced by this property exists. If the pool does not exist at the time the Batch service tries to schedule a job, no tasks for the job will run until you create a pool with that id. Note that the Batch service will not reject the job request; it will simply not run tasks until the pool exists. You must specify either the pool ID or the auto pool specification, but not both. - PoolID *string `json:"poolId,omitempty"` - // AutoPoolSpecification - If auto pool creation fails, the Batch service moves the job to a completed state, and the pool creation error is set in the job's scheduling error property. The Batch service manages the lifetime (both creation and, unless keepAlive is specified, deletion) of the auto pool. Any user actions that affect the lifetime of the auto pool while the job is active will result in unexpected behavior. You must specify either the pool ID or the auto pool specification, but not both. - AutoPoolSpecification *AutoPoolSpecification `json:"autoPoolSpecification,omitempty"` -} - -// PoolListUsageMetricsResult ... -type PoolListUsageMetricsResult struct { - autorest.Response `json:"-"` - Value *[]PoolUsageMetrics `json:"value,omitempty"` - OdataNextLink *string `json:"odata.nextLink,omitempty"` -} - -// PoolListUsageMetricsResultIterator provides access to a complete listing of PoolUsageMetrics values. -type PoolListUsageMetricsResultIterator struct { - i int - page PoolListUsageMetricsResultPage -} - -// Next advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -func (iter *PoolListUsageMetricsResultIterator) Next() error { - iter.i++ - if iter.i < len(iter.page.Values()) { - return nil - } - err := iter.page.Next() - if err != nil { - iter.i-- - return err - } - iter.i = 0 - return nil -} - -// NotDone returns true if the enumeration should be started or is not yet complete. -func (iter PoolListUsageMetricsResultIterator) NotDone() bool { - return iter.page.NotDone() && iter.i < len(iter.page.Values()) -} - -// Response returns the raw server response from the last page request. -func (iter PoolListUsageMetricsResultIterator) Response() PoolListUsageMetricsResult { - return iter.page.Response() -} - -// Value returns the current value or a zero-initialized value if the -// iterator has advanced beyond the end of the collection. -func (iter PoolListUsageMetricsResultIterator) Value() PoolUsageMetrics { - if !iter.page.NotDone() { - return PoolUsageMetrics{} - } - return iter.page.Values()[iter.i] -} - -// IsEmpty returns true if the ListResult contains no values. -func (plumr PoolListUsageMetricsResult) IsEmpty() bool { - return plumr.Value == nil || len(*plumr.Value) == 0 -} - -// poolListUsageMetricsResultPreparer prepares a request to retrieve the next set of results. -// It returns nil if no more results exist. -func (plumr PoolListUsageMetricsResult) poolListUsageMetricsResultPreparer() (*http.Request, error) { - if plumr.OdataNextLink == nil || len(to.String(plumr.OdataNextLink)) < 1 { - return nil, nil - } - return autorest.Prepare(&http.Request{}, - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(plumr.OdataNextLink))) -} - -// PoolListUsageMetricsResultPage contains a page of PoolUsageMetrics values. -type PoolListUsageMetricsResultPage struct { - fn func(PoolListUsageMetricsResult) (PoolListUsageMetricsResult, error) - plumr PoolListUsageMetricsResult -} - -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -func (page *PoolListUsageMetricsResultPage) Next() error { - next, err := page.fn(page.plumr) - if err != nil { - return err - } - page.plumr = next - return nil -} - -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page PoolListUsageMetricsResultPage) NotDone() bool { - return !page.plumr.IsEmpty() -} - -// Response returns the raw server response from the last page request. -func (page PoolListUsageMetricsResultPage) Response() PoolListUsageMetricsResult { - return page.plumr -} - -// Values returns the slice of values for the current page or nil if there are no values. -func (page PoolListUsageMetricsResultPage) Values() []PoolUsageMetrics { - if page.plumr.IsEmpty() { - return nil - } - return *page.plumr.Value -} - -// PoolPatchParameter ... -type PoolPatchParameter struct { - // StartTask - If omitted, any existing start task is left unchanged. - StartTask *StartTask `json:"startTask,omitempty"` - // CertificateReferences - If omitted, any existing certificate references are left unchanged. For Windows compute nodes, the Batch service installs the certificates to the specified certificate store and location. For Linux compute nodes, the certificates are stored in a directory inside the task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the task to query for this location. For certificates with visibility of 'remoteUser', a 'certs' directory is created in the user's home directory (e.g., /home/{user-name}/certs) and certificates are placed in that directory. - CertificateReferences *[]CertificateReference `json:"certificateReferences,omitempty"` - // ApplicationPackageReferences - Changes to application package references affect all new compute nodes joining the pool, but do not affect compute nodes that are already in the pool until they are rebooted or reimaged. If this element is present, it replaces any existing application package references. If you specify an empty collection, then all application package references are removed from the pool. If omitted, any existing application package references are left unchanged. - ApplicationPackageReferences *[]ApplicationPackageReference `json:"applicationPackageReferences,omitempty"` - // Metadata - If this element is present, it replaces any existing metadata configured on the pool. If you specify an empty collection, any metadata is removed from the pool. If omitted, any existing metadata is left unchanged. - Metadata *[]MetadataItem `json:"metadata,omitempty"` -} - -// PoolResizeParameter ... -type PoolResizeParameter struct { - TargetDedicated *int32 `json:"targetDedicated,omitempty"` - // ResizeTimeout - The default value is 15 minutes. The minimum value is 5 minutes. If you specify a value less than 5 minutes, the Batch service returns an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). - ResizeTimeout *string `json:"resizeTimeout,omitempty"` - // NodeDeallocationOption - The default value is requeue. Possible values include: 'Requeue', 'Terminate', 'TaskCompletion', 'RetainedData' - NodeDeallocationOption ComputeNodeDeallocationOption `json:"nodeDeallocationOption,omitempty"` -} - -// PoolSpecification ... -type PoolSpecification struct { - // DisplayName - The display name need not be unique and can contain any Unicode characters up to a maximum length of 1024. - DisplayName *string `json:"displayName,omitempty"` - // VMSize - For information about available sizes of virtual machines for Cloud Services pools (pools created with cloudServiceConfiguration), see Sizes for Cloud Services (http://azure.microsoft.com/documentation/articles/cloud-services-sizes-specs/). Batch supports all Cloud Services VM sizes except ExtraSmall. For information about available VM sizes for pools using images from the Virtual Machines Marketplace (pools created with virtualMachineConfiguration) see Sizes for Virtual Machines (Linux) (https://azure.microsoft.com/documentation/articles/virtual-machines-linux-sizes/) or Sizes for Virtual Machines (Windows) (https://azure.microsoft.com/documentation/articles/virtual-machines-windows-sizes/). Batch supports all Azure VM sizes except STANDARD_A0 and those with premium storage (STANDARD_GS, STANDARD_DS, and STANDARD_DSV2 series). - VMSize *string `json:"vmSize,omitempty"` - // CloudServiceConfiguration - This property must be specified if the pool needs to be created with Azure PaaS VMs. This property and virtualMachineConfiguration are mutually exclusive and one of the properties must be specified. If neither is specified then the Batch service returns an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). This property cannot be specified if the Batch account was created with its poolAllocationMode property set to 'UserSubscription'. - CloudServiceConfiguration *CloudServiceConfiguration `json:"cloudServiceConfiguration,omitempty"` - // VirtualMachineConfiguration - This property must be specified if the pool needs to be created with Azure IaaS VMs. This property and cloudServiceConfiguration are mutually exclusive and one of the properties must be specified. If neither is specified then the Batch service returns an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). - VirtualMachineConfiguration *VirtualMachineConfiguration `json:"virtualMachineConfiguration,omitempty"` - // MaxTasksPerNode - The default value is 1. The maximum value of this setting depends on the size of the compute nodes in the pool (the vmSize setting). - MaxTasksPerNode *int32 `json:"maxTasksPerNode,omitempty"` - // TaskSchedulingPolicy - How tasks are distributed among compute nodes in the pool. - TaskSchedulingPolicy *TaskSchedulingPolicy `json:"taskSchedulingPolicy,omitempty"` - // ResizeTimeout - This timeout applies only to manual scaling; it has no effect when enableAutoScale is set to true. The default value is 15 minutes. The minimum value is 5 minutes. If you specify a value less than 5 minutes, the Batch service rejects the request with an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). - ResizeTimeout *string `json:"resizeTimeout,omitempty"` - // TargetDedicated - This property must not be specified if enableAutoScale is set to true. It is required if enableAutoScale is set to false. - TargetDedicated *int32 `json:"targetDedicated,omitempty"` - // EnableAutoScale - If false, the targetDedicated element is required. If true, the autoScaleFormula element is required. The pool automatically resizes according to the formula. The default value is false. - EnableAutoScale *bool `json:"enableAutoScale,omitempty"` - // AutoScaleFormula - This property must not be specified if enableAutoScale is set to false. It is required if enableAutoScale is set to true. The formula is checked for validity before the pool is created. If the formula is not valid, the Batch service rejects the request with detailed error information. - AutoScaleFormula *string `json:"autoScaleFormula,omitempty"` - // AutoScaleEvaluationInterval - The default value is 15 minutes. The minimum and maximum value are 5 minutes and 168 hours respectively. If you specify a value less than 5 minutes or greater than 168 hours, the Batch service rejects the request with an invalid property value error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). - AutoScaleEvaluationInterval *string `json:"autoScaleEvaluationInterval,omitempty"` - // EnableInterNodeCommunication - Enabling inter-node communication limits the maximum size of the pool due to deployment restrictions on the nodes of the pool. This may result in the pool not reaching its desired size. The default value is false. - EnableInterNodeCommunication *bool `json:"enableInterNodeCommunication,omitempty"` - NetworkConfiguration *NetworkConfiguration `json:"networkConfiguration,omitempty"` - StartTask *StartTask `json:"startTask,omitempty"` - // CertificateReferences - For Windows compute nodes, the Batch service installs the certificates to the specified certificate store and location. For Linux compute nodes, the certificates are stored in a directory inside the task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the task to query for this location. For certificates with visibility of 'remoteUser', a 'certs' directory is created in the user's home directory (e.g., /home/{user-name}/certs) and certificates are placed in that directory. - CertificateReferences *[]CertificateReference `json:"certificateReferences,omitempty"` - // ApplicationPackageReferences - This property is currently not supported on auto pools created with the virtualMachineConfiguration (IaaS) property. - ApplicationPackageReferences *[]ApplicationPackageReference `json:"applicationPackageReferences,omitempty"` - UserAccounts *[]UserAccount `json:"userAccounts,omitempty"` - // Metadata - The Batch service does not assign any meaning to metadata; it is solely for the use of user code. - Metadata *[]MetadataItem `json:"metadata,omitempty"` -} - -// PoolStatistics ... -type PoolStatistics struct { - autorest.Response `json:"-"` - URL *string `json:"url,omitempty"` - StartTime *date.Time `json:"startTime,omitempty"` - LastUpdateTime *date.Time `json:"lastUpdateTime,omitempty"` - UsageStats *UsageStatistics `json:"usageStats,omitempty"` - ResourceStats *ResourceStatistics `json:"resourceStats,omitempty"` -} - -// PoolUpdatePropertiesParameter ... -type PoolUpdatePropertiesParameter struct { - // StartTask - If this element is present, it overwrites any existing start task. If omitted, any existing start task is removed from the pool. - StartTask *StartTask `json:"startTask,omitempty"` - // CertificateReferences - If you specify an empty collection, any existing certificate references are removed from the pool. For Windows compute nodes, the Batch service installs the certificates to the specified certificate store and location. For Linux compute nodes, the certificates are stored in a directory inside the task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the task to query for this location. For certificates with visibility of 'remoteUser', a 'certs' directory is created in the user's home directory (e.g., /home/{user-name}/certs) and certificates are placed in that directory. - CertificateReferences *[]CertificateReference `json:"certificateReferences,omitempty"` - // ApplicationPackageReferences - Changes to application package references affect all new compute nodes joining the pool, but do not affect compute nodes that are already in the pool until they are rebooted or reimaged. The list replaces any existing application package references. If omitted, or if you specify an empty collection, any existing application packages references are removed from the pool. - ApplicationPackageReferences *[]ApplicationPackageReference `json:"applicationPackageReferences,omitempty"` - // Metadata - This list replaces any existing metadata configured on the pool. If omitted, or if you specify an empty collection, any existing metadata is removed from the pool. - Metadata *[]MetadataItem `json:"metadata,omitempty"` -} - -// PoolUpgradeOSParameter ... -type PoolUpgradeOSParameter struct { - TargetOSVersion *string `json:"targetOSVersion,omitempty"` -} - -// PoolUsageMetrics ... -type PoolUsageMetrics struct { - PoolID *string `json:"poolId,omitempty"` - StartTime *date.Time `json:"startTime,omitempty"` - EndTime *date.Time `json:"endTime,omitempty"` - // VMSize - For information about available sizes of virtual machines for Cloud Services pools (pools created with cloudServiceConfiguration), see Sizes for Cloud Services (http://azure.microsoft.com/documentation/articles/cloud-services-sizes-specs/). Batch supports all Cloud Services VM sizes except ExtraSmall. For information about available VM sizes for pools using images from the Virtual Machines Marketplace (pools created with virtualMachineConfiguration) see Sizes for Virtual Machines (Linux) (https://azure.microsoft.com/documentation/articles/virtual-machines-linux-sizes/) or Sizes for Virtual Machines (Windows) (https://azure.microsoft.com/documentation/articles/virtual-machines-windows-sizes/). Batch supports all Azure VM sizes except STANDARD_A0 and those with premium storage (STANDARD_GS, STANDARD_DS, and STANDARD_DSV2 series). - VMSize *string `json:"vmSize,omitempty"` - TotalCoreHours *float64 `json:"totalCoreHours,omitempty"` - DataIngressGiB *float64 `json:"dataIngressGiB,omitempty"` - DataEgressGiB *float64 `json:"dataEgressGiB,omitempty"` -} - -// ReadCloser ... -type ReadCloser struct { - autorest.Response `json:"-"` - Value *io.ReadCloser `json:"value,omitempty"` -} - -// RecentJob ... -type RecentJob struct { - ID *string `json:"id,omitempty"` - URL *string `json:"url,omitempty"` -} - -// ResizeError ... -type ResizeError struct { - Code *string `json:"code,omitempty"` - Message *string `json:"message,omitempty"` - Values *[]NameValuePair `json:"values,omitempty"` -} - -// ResourceFile ... -type ResourceFile struct { - // BlobSource - This URL must be readable using anonymous access; that is, the Batch service does not present any credentials when downloading the blob. There are two ways to get such a URL for a blob in Azure storage: include a Shared Access Signature (SAS) granting read permissions on the blob, or set the ACL for the blob or its container to allow public access. - BlobSource *string `json:"blobSource,omitempty"` - FilePath *string `json:"filePath,omitempty"` - // FileMode - This property applies only to files being downloaded to Linux compute nodes. It will be ignored if it is specified for a resourceFile which will be downloaded to a Windows node. If this property is not specified for a Linux node, then a default value of 0770 is applied to the file. - FileMode *string `json:"fileMode,omitempty"` -} - -// ResourceStatistics ... -type ResourceStatistics struct { - StartTime *date.Time `json:"startTime,omitempty"` - LastUpdateTime *date.Time `json:"lastUpdateTime,omitempty"` - AvgCPUPercentage *float64 `json:"avgCPUPercentage,omitempty"` - AvgMemoryGiB *float64 `json:"avgMemoryGiB,omitempty"` - PeakMemoryGiB *float64 `json:"peakMemoryGiB,omitempty"` - AvgDiskGiB *float64 `json:"avgDiskGiB,omitempty"` - PeakDiskGiB *float64 `json:"peakDiskGiB,omitempty"` - DiskReadIOps *int64 `json:"diskReadIOps,omitempty"` - DiskWriteIOps *int64 `json:"diskWriteIOps,omitempty"` - DiskReadGiB *float64 `json:"diskReadGiB,omitempty"` - DiskWriteGiB *float64 `json:"diskWriteGiB,omitempty"` - NetworkReadGiB *float64 `json:"networkReadGiB,omitempty"` - NetworkWriteGiB *float64 `json:"networkWriteGiB,omitempty"` -} - -// Schedule ... -type Schedule struct { - // DoNotRunUntil - If you do not specify a doNotRunUntil time, the schedule becomes ready to create jobs immediately. - DoNotRunUntil *date.Time `json:"doNotRunUntil,omitempty"` - // DoNotRunAfter - If you do not specify a doNotRunAfter time, and you are creating a recurring job schedule, the job schedule will remain active until you explicitly terminate it. - DoNotRunAfter *date.Time `json:"doNotRunAfter,omitempty"` - // StartWindow - If a job is not created within the startWindow interval, then the 'opportunity' is lost; no job will be created until the next recurrence of the schedule. If the schedule is recurring, and the startWindow is longer than the recurrence interval, then this is equivalent to an infinite startWindow, because the job that is 'due' in one recurrenceInterval is not carried forward into the next recurrence interval. The default is infinite. The minimum value is 1 minute. If you specify a lower value, the Batch service rejects the schedule with an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). - StartWindow *string `json:"startWindow,omitempty"` - // RecurrenceInterval - Because a job schedule can have at most one active job under it at any given time, if it is time to create a new job under a job schedule, but the previous job is still running, the Batch service will not create the new job until the previous job finishes. If the previous job does not finish within the startWindow period of the new recurrenceInterval, then no new job will be scheduled for that interval. For recurring jobs, you should normally specify a jobManagerTask in the jobSpecification. If you do not use jobManagerTask, you will need an external process to monitor when jobs are created, add tasks to the jobs and terminate the jobs ready for the next recurrence. The default is that the schedule does not recur: one job is created, within the startWindow after the doNotRunUntil time, and the schedule is complete as soon as that job finishes. The minimum value is 1 minute. If you specify a lower value, the Batch service rejects the schedule with an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). - RecurrenceInterval *string `json:"recurrenceInterval,omitempty"` -} - -// StartTask ... -type StartTask struct { - // CommandLine - The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example using "cmd /c MyCommand" in Windows or "/bin/sh -c MyCommand" in Linux. - CommandLine *string `json:"commandLine,omitempty"` - ResourceFiles *[]ResourceFile `json:"resourceFiles,omitempty"` - EnvironmentSettings *[]EnvironmentSetting `json:"environmentSettings,omitempty"` - // UserIdentity - If omitted, the task runs as a non-administrative user unique to the task. - UserIdentity *UserIdentity `json:"userIdentity,omitempty"` - // MaxTaskRetryCount - The Batch service retries a task if its exit code is nonzero. Note that this value specifically controls the number of retries. The Batch service will try the task once, and may then retry up to this limit. For example, if the maximum retry count is 3, Batch tries the task up to 4 times (one initial try and 3 retries). If the maximum retry count is 0, the Batch service does not retry the task. If the maximum retry count is -1, the Batch service retries the task without limit. - MaxTaskRetryCount *int32 `json:"maxTaskRetryCount,omitempty"` - // WaitForSuccess - If true and the start task fails on a compute node, the Batch service retries the start task up to its maximum retry count (maxTaskRetryCount). If the task has still not completed successfully after all retries, then the Batch service marks the compute node unusable, and will not schedule tasks to it. This condition can be detected via the node state and scheduling error detail. If false, the Batch service will not wait for the start task to complete. In this case, other tasks can start executing on the compute node while the start task is still running; and even if the start task fails, new tasks will continue to be scheduled on the node. The default is false. - WaitForSuccess *bool `json:"waitForSuccess,omitempty"` -} - -// StartTaskInformation ... -type StartTaskInformation struct { - // State - running - The start task is currently running. completed - The start task has exited with exit code 0, or the start task has failed and the retry limit has reached, or the start task process did not run due to scheduling errors. Possible values include: 'StartTaskStateRunning', 'StartTaskStateCompleted' - State StartTaskState `json:"state,omitempty"` - // StartTime - This value is reset every time the task is restarted or retried (that is, this is the most recent time at which the start task started running). - StartTime *date.Time `json:"startTime,omitempty"` - // EndTime - This is the end time of the most recent run of the start task, if that run has completed (even if that run failed and a retry is pending). This element is not present if the start task is currently running. - EndTime *date.Time `json:"endTime,omitempty"` - // ExitCode - This property is set only if the start task is in the completed state. In general, the exit code for a process reflects the specific convention implemented by the application developer for that process. If you use the exit code value to make decisions in your code, be sure that you know the exit code convention used by the application process. However, if the Batch service terminates the start task (due to timeout, or user termination via the API) you may see an operating system-defined exit code. - ExitCode *int32 `json:"exitCode,omitempty"` - SchedulingError *TaskSchedulingError `json:"schedulingError,omitempty"` - // RetryCount - The task is retried if it exits with a nonzero exit code, up to the specified MaxTaskRetryCount. - RetryCount *int32 `json:"retryCount,omitempty"` - // LastRetryTime - This element is present only if the task was retried (i.e. retryCount is nonzero). If present, this is typically the same as startTime, but may be different if the task has been restarted for reasons other than retry; for example, if the compute node was rebooted during a retry, then the startTime is updated but the lastRetryTime is not. - LastRetryTime *date.Time `json:"lastRetryTime,omitempty"` -} - -// SubtaskInformation ... -type SubtaskInformation struct { - ID *int32 `json:"id,omitempty"` - NodeInfo *ComputeNodeInformation `json:"nodeInfo,omitempty"` - StartTime *date.Time `json:"startTime,omitempty"` - // EndTime - This property is set only if the subtask is in the Completed state. - EndTime *date.Time `json:"endTime,omitempty"` - // ExitCode - This property is set only if the subtask is in the completed state. In general, the exit code for a process reflects the specific convention implemented by the application developer for that process. If you use the exit code value to make decisions in your code, be sure that you know the exit code convention used by the application process. However, if the Batch service terminates the subtask (due to timeout, or user termination via the API) you may see an operating system-defined exit code. - ExitCode *int32 `json:"exitCode,omitempty"` - SchedulingError *TaskSchedulingError `json:"schedulingError,omitempty"` - // State - Possible values include: 'SubtaskStatePreparing', 'SubtaskStateRunning', 'SubtaskStateCompleted' - State SubtaskState `json:"state,omitempty"` - StateTransitionTime *date.Time `json:"stateTransitionTime,omitempty"` - // PreviousState - This property is not set if the subtask is in its initial running state. Possible values include: 'SubtaskStatePreparing', 'SubtaskStateRunning', 'SubtaskStateCompleted' - PreviousState SubtaskState `json:"previousState,omitempty"` - // PreviousStateTransitionTime - This property is not set if the subtask is in its initial running state. - PreviousStateTransitionTime *date.Time `json:"previousStateTransitionTime,omitempty"` -} - -// TaskAddCollectionParameter ... -type TaskAddCollectionParameter struct { - Value *[]TaskAddParameter `json:"value,omitempty"` -} - -// TaskAddCollectionResult ... -type TaskAddCollectionResult struct { - autorest.Response `json:"-"` - Value *[]TaskAddResult `json:"value,omitempty"` -} - -// TaskAddParameter ... -type TaskAddParameter struct { - // ID - The ID can contain any combination of alphanumeric characters including hyphens and underscores, and cannot contain more than 64 characters. The ID is case-preserving and case-insensitive (that is, you may not have two IDs within a job that differ only by case). - ID *string `json:"id,omitempty"` - // DisplayName - The display name need not be unique and can contain any Unicode characters up to a maximum length of 1024. - DisplayName *string `json:"displayName,omitempty"` - // CommandLine - For multi-instance tasks, the command line is executed as the primary task, after the primary task and all subtasks have finished executing the coordination command line. The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example using "cmd /c MyCommand" in Windows or "/bin/sh -c MyCommand" in Linux. - CommandLine *string `json:"commandLine,omitempty"` - // ExitConditions - How the Batch service should respond when the task completes. - ExitConditions *ExitConditions `json:"exitConditions,omitempty"` - // ResourceFiles - For multi-instance tasks, the resource files will only be downloaded to the compute node on which the primary task is executed. - ResourceFiles *[]ResourceFile `json:"resourceFiles,omitempty"` - EnvironmentSettings *[]EnvironmentSetting `json:"environmentSettings,omitempty"` - AffinityInfo *AffinityInformation `json:"affinityInfo,omitempty"` - // Constraints - If you do not specify constraints, the maxTaskRetryCount is the maxTaskRetryCount specified for the job, and the maxWallClockTime and retentionTime are infinite. - Constraints *TaskConstraints `json:"constraints,omitempty"` - // UserIdentity - If omitted, the task runs as a non-administrative user unique to the task. - UserIdentity *UserIdentity `json:"userIdentity,omitempty"` - MultiInstanceSettings *MultiInstanceSettings `json:"multiInstanceSettings,omitempty"` - // DependsOn - This task will not be scheduled until all tasks that it depends on have completed successfully. If any of those tasks fail and exhaust their retry counts, this task will never be scheduled. If the job does not have usesTaskDependencies set to true, and this element is present, the request fails with error code TaskDependenciesNotSpecifiedOnJob. - DependsOn *TaskDependencies `json:"dependsOn,omitempty"` - ApplicationPackageReferences *[]ApplicationPackageReference `json:"applicationPackageReferences,omitempty"` - // AuthenticationTokenSettings - If this property is set, the Batch service provides the task with an authentication token which can be used to authenticate Batch service operations without requiring an account access key. The token is provided via the AZ_BATCH_AUTHENTICATION_TOKEN environment variable. The operations that the task can carry out using the token depend on the settings. For example, a task can request job permissions in order to add other tasks to the job, or check the status of the job or of other tasks under the job. - AuthenticationTokenSettings *AuthenticationTokenSettings `json:"authenticationTokenSettings,omitempty"` -} - -// TaskAddResult ... -type TaskAddResult struct { - // Status - Possible values include: 'TaskAddStatusSuccess', 'TaskAddStatusClientError', 'TaskAddStatusServerError', 'TaskAddStatusUnmapped' - Status TaskAddStatus `json:"status,omitempty"` - TaskID *string `json:"taskId,omitempty"` - ETag *string `json:"eTag,omitempty"` - LastModified *date.Time `json:"lastModified,omitempty"` - Location *string `json:"location,omitempty"` - Error *Error `json:"error,omitempty"` -} - -// TaskConstraints ... -type TaskConstraints struct { - // MaxWallClockTime - If this is not specified, there is no time limit on how long the task may run. - MaxWallClockTime *string `json:"maxWallClockTime,omitempty"` - // RetentionTime - The default is infinite, i.e. the task directory will be retained until the compute node is removed or reimaged. - RetentionTime *string `json:"retentionTime,omitempty"` - // MaxTaskRetryCount - Note that this value specifically controls the number of retries. The Batch service will try the task once, and may then retry up to this limit. For example, if the maximum retry count is 3, Batch tries the task up to 4 times (one initial try and 3 retries). If the maximum retry count is 0, the Batch service does not retry the task. If the maximum retry count is -1, the Batch service retries the task without limit. - MaxTaskRetryCount *int32 `json:"maxTaskRetryCount,omitempty"` -} - -// TaskDependencies ... -type TaskDependencies struct { - TaskIds *[]string `json:"taskIds,omitempty"` - TaskIDRanges *[]TaskIDRange `json:"taskIdRanges,omitempty"` -} - -// TaskExecutionInformation ... -type TaskExecutionInformation struct { - // StartTime - 'Running' corresponds to the running state, so if the task specifies resource files or application packages, then the start time reflects the time at which the task started downloading or deploying these. If the task has been restarted or retried, this is the most recent time at which the task started running. This property is present only for tasks that are in the running or completed state. - StartTime *date.Time `json:"startTime,omitempty"` - // EndTime - This property is set only if the task is in the Completed state. - EndTime *date.Time `json:"endTime,omitempty"` - // ExitCode - This property is set only if the task is in the completed state. In general, the exit code for a process reflects the specific convention implemented by the application developer for that process. If you use the exit code value to make decisions in your code, be sure that you know the exit code convention used by the application process. However, if the Batch service terminates the task (due to timeout, or user termination via the API) you may see an operating system-defined exit code. - ExitCode *int32 `json:"exitCode,omitempty"` - // SchedulingError - This property is set only if the task is in the completed state. - SchedulingError *TaskSchedulingError `json:"schedulingError,omitempty"` - // RetryCount - The task is retried if it exits with a nonzero exit code, up to the specified maxTaskRetryCount. - RetryCount *int32 `json:"retryCount,omitempty"` - // LastRetryTime - This element is present only if the task was retried (i.e. retryCount is nonzero). If present, this is typically the same as startTime, but may be different if the task has been restarted for reasons other than retry; for example, if the compute node was rebooted during a retry, then the startTime is updated but the lastRetryTime is not. - LastRetryTime *date.Time `json:"lastRetryTime,omitempty"` - // RequeueCount - When the user removes nodes from a pool (by resizing/shrinking the pool) or when the job is being disabled, the user can specify that running tasks on the nodes be requeued for execution. This count tracks how many times the task has been requeued for these reasons. - RequeueCount *int32 `json:"requeueCount,omitempty"` - // LastRequeueTime - This property is set only if the requeueCount is nonzero. - LastRequeueTime *date.Time `json:"lastRequeueTime,omitempty"` -} - -// TaskIDRange the start and end of the range are inclusive. For example, if a range has start 9 and end 12, then -// it represents tasks '9', '10', '11' and '12'. -type TaskIDRange struct { - Start *int32 `json:"start,omitempty"` - End *int32 `json:"end,omitempty"` -} - -// TaskInformation ... -type TaskInformation struct { - TaskURL *string `json:"taskUrl,omitempty"` - JobID *string `json:"jobId,omitempty"` - TaskID *string `json:"taskId,omitempty"` - SubtaskID *int32 `json:"subtaskId,omitempty"` - // TaskState - Possible values include: 'TaskStateActive', 'TaskStatePreparing', 'TaskStateRunning', 'TaskStateCompleted' - TaskState TaskState `json:"taskState,omitempty"` - ExecutionInfo *TaskExecutionInformation `json:"executionInfo,omitempty"` -} - -// TaskSchedulingError ... -type TaskSchedulingError struct { - // Category - Possible values include: 'SchedulingErrorCategoryUserError', 'SchedulingErrorCategoryServerError', 'SchedulingErrorCategoryUnmapped' - Category SchedulingErrorCategory `json:"category,omitempty"` - Code *string `json:"code,omitempty"` - Message *string `json:"message,omitempty"` - Details *[]NameValuePair `json:"details,omitempty"` -} - -// TaskSchedulingPolicy ... -type TaskSchedulingPolicy struct { - // NodeFillType - Possible values include: 'ComputeNodeFillTypeSpread', 'ComputeNodeFillTypePack', 'ComputeNodeFillTypeUnmapped' - NodeFillType ComputeNodeFillType `json:"nodeFillType,omitempty"` -} - -// TaskStatistics ... -type TaskStatistics struct { - URL *string `json:"url,omitempty"` - StartTime *date.Time `json:"startTime,omitempty"` - LastUpdateTime *date.Time `json:"lastUpdateTime,omitempty"` - UserCPUTime *string `json:"userCPUTime,omitempty"` - KernelCPUTime *string `json:"kernelCPUTime,omitempty"` - // WallClockTime - The wall clock time is the elapsed time from when the task started running on a compute node to when it finished (or to the last time the statistics were updated, if the task had not finished by then). If the task was retried, this includes the wall clock time of all the task retries. - WallClockTime *string `json:"wallClockTime,omitempty"` - ReadIOps *int64 `json:"readIOps,omitempty"` - WriteIOps *int64 `json:"writeIOps,omitempty"` - ReadIOGiB *float64 `json:"readIOGiB,omitempty"` - WriteIOGiB *float64 `json:"writeIOGiB,omitempty"` - WaitTime *string `json:"waitTime,omitempty"` -} - -// TaskUpdateParameter ... -type TaskUpdateParameter struct { - // Constraints - If omitted, the task is given the default constraints. - Constraints *TaskConstraints `json:"constraints,omitempty"` -} - -// UsageStatistics ... -type UsageStatistics struct { - StartTime *date.Time `json:"startTime,omitempty"` - LastUpdateTime *date.Time `json:"lastUpdateTime,omitempty"` - DedicatedCoreTime *string `json:"dedicatedCoreTime,omitempty"` -} - -// UserAccount ... -type UserAccount struct { - Name *string `json:"name,omitempty"` - Password *string `json:"password,omitempty"` - // ElevationLevel - nonAdmin - The auto user is a standard user without elevated access. admin - The auto user is a user with elevated access and operates with full Administrator permissions. The default value is nonAdmin. Possible values include: 'NonAdmin', 'Admin' - ElevationLevel ElevationLevel `json:"elevationLevel,omitempty"` - // SSHPrivateKey - The SSH private key establishes password-less SSH between nodes in a Linux pool when the pool's enableInterNodeCommunication property is true. This property will be ignored in a Windows pool. - SSHPrivateKey *string `json:"sshPrivateKey,omitempty"` -} - -// UserIdentity specify either the userName or autoUser property, but not both. -type UserIdentity struct { - // UserName - The userName and autoUser properties are mutually exclusive; you must specify one but not both. - UserName *string `json:"username,omitempty"` - // AutoUser - The userName and autoUser properties are mutually exclusive; you must specify one but not both. - AutoUser *AutoUserSpecification `json:"autoUser,omitempty"` -} - -// VirtualMachineConfiguration ... -type VirtualMachineConfiguration struct { - // ImageReference - This property and osDisk are mutually exclusive and one of the properties must be specified. - ImageReference *ImageReference `json:"imageReference,omitempty"` - // OsDisk - This property can be specified only if the Batch account was created with its poolAllocationMode property set to 'UserSubscription'. This property and imageReference are mutually exclusive and one of the properties must be specified. - OsDisk *OSDisk `json:"osDisk,omitempty"` - // NodeAgentSKUID - The Batch node agent is a program that runs on each node in the pool, and provides the command-and-control interface between the node and the Batch service. There are different implementations of the node agent, known as SKUs, for different operating systems. You must specify a node agent SKU which matches the selected image reference. To get the list of supported node agent SKUs along with their list of verified image references, see the 'List supported node agent SKUs' operation. - NodeAgentSKUID *string `json:"nodeAgentSKUId,omitempty"` - // WindowsConfiguration - This property must not be specified if the imageReference or osDisk property specifies a Linux OS image. - WindowsConfiguration *WindowsConfiguration `json:"windowsConfiguration,omitempty"` -} - -// WindowsConfiguration ... -type WindowsConfiguration struct { - // EnableAutomaticUpdates - If omitted, the default value is true. - EnableAutomaticUpdates *bool `json:"enableAutomaticUpdates,omitempty"` -} diff --git a/services/batch/2017-01-01.4.0/batch/pool.go b/services/batch/2017-01-01.4.0/batch/pool.go deleted file mode 100644 index a43ed39b7eee..000000000000 --- a/services/batch/2017-01-01.4.0/batch/pool.go +++ /dev/null @@ -1,1878 +0,0 @@ -package batch - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/autorest/date" - "github.com/Azure/go-autorest/autorest/validation" - "github.com/satori/go.uuid" - "net/http" -) - -// PoolClient is the a client for issuing REST requests to the Azure Batch service. -type PoolClient struct { - BaseClient -} - -// NewPoolClient creates an instance of the PoolClient client. -func NewPoolClient() PoolClient { - return NewPoolClientWithBaseURI(DefaultBaseURI) -} - -// NewPoolClientWithBaseURI creates an instance of the PoolClient client. -func NewPoolClientWithBaseURI(baseURI string) PoolClient { - return PoolClient{NewWithBaseURI(baseURI)} -} - -// Add when naming pools, avoid including sensitive information such as user names or secret project names. This -// information may appear in telemetry logs accessible to Microsoft Support engineers. -// -// pool is the pool to be added. timeout is the maximum time that the server can spend processing the request, in -// seconds. The default is 30 seconds. clientRequestID is the caller-generated request identity, in the form of a -// GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID -// is whether the server should return the client-request-id in the response. ocpDate is the time the request was -// issued. Client libraries typically set this to the current system clock time; set it explicitly if you are -// calling the REST API directly. -func (client PoolClient) Add(ctx context.Context, pool PoolAddParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: pool, - Constraints: []validation.Constraint{{Target: "pool.ID", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "pool.VMSize", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "pool.CloudServiceConfiguration", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "pool.CloudServiceConfiguration.OsFamily", Name: validation.Null, Rule: true, Chain: nil}}}, - {Target: "pool.VirtualMachineConfiguration", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "pool.VirtualMachineConfiguration.ImageReference", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "pool.VirtualMachineConfiguration.ImageReference.Publisher", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "pool.VirtualMachineConfiguration.ImageReference.Offer", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "pool.VirtualMachineConfiguration.ImageReference.Sku", Name: validation.Null, Rule: true, Chain: nil}, - }}, - {Target: "pool.VirtualMachineConfiguration.OsDisk", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "pool.VirtualMachineConfiguration.OsDisk.ImageUris", Name: validation.Null, Rule: true, Chain: nil}}}, - {Target: "pool.VirtualMachineConfiguration.NodeAgentSKUID", Name: validation.Null, Rule: true, Chain: nil}, - }}, - {Target: "pool.StartTask", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "pool.StartTask.CommandLine", Name: validation.Null, Rule: true, Chain: nil}}}}}}); err != nil { - return result, validation.NewError("batch.PoolClient", "Add", err.Error()) - } - - req, err := client.AddPreparer(ctx, pool, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Add", nil, "Failure preparing request") - return - } - - resp, err := client.AddSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Add", resp, "Failure sending request") - return - } - - result, err = client.AddResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Add", resp, "Failure responding to request") - } - - return -} - -// AddPreparer prepares the Add request. -func (client PoolClient) AddPreparer(ctx context.Context, pool PoolAddParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - const APIVersion = "2017-01-01.4.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPath("/pools"), - autorest.WithJSON(pool), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// AddSender sends the Add request. The method will close the -// http.Response Body if it receives an error. -func (client PoolClient) AddSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// AddResponder handles the response to the Add request. The method always -// closes the http.Response Body. -func (client PoolClient) AddResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), - autorest.ByClosing()) - result.Response = resp - return -} - -// Delete when you request that a pool be deleted, the following actions occur: the pool state is set to deleting; any -// ongoing resize operation on the pool are stopped; the Batch service starts resizing the pool to zero nodes; any -// tasks running on existing nodes are terminated and requeued (as if a resize pool operation had been requested with -// the default requeue option); finally, the pool is removed from the system. Because running tasks are requeued, the -// user can rerun these tasks by updating their job to target a different pool. The tasks can then run on the new pool. -// If you want to override the requeue behavior, then you should call resize pool explicitly to shrink the pool to zero -// size before deleting the pool. If you call an Update, Patch or Delete API on a pool in the deleting state, it will -// fail with HTTP status code 409 with error code PoolBeingDeleted. -// -// poolID is the ID of the pool to delete. timeout is the maximum time that the server can spend processing the -// request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated request identity, in the -// form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. -// returnClientRequestID is whether the server should return the client-request-id in the response. ocpDate is the -// time the request was issued. Client libraries typically set this to the current system clock time; set it -// explicitly if you are calling the REST API directly. ifMatch is an ETag value associated with the version of the -// resource known to the client. The operation will be performed only if the resource's current ETag on the service -// exactly matches the value specified by the client. ifNoneMatch is an ETag value associated with the version of -// the resource known to the client. The operation will be performed only if the resource's current ETag on the -// service does not match the value specified by the client. ifModifiedSince is a timestamp indicating the last -// modified time of the resource known to the client. The operation will be performed only if the resource on the -// service has been modified since the specified time. ifUnmodifiedSince is a timestamp indicating the last -// modified time of the resource known to the client. The operation will be performed only if the resource on the -// service has not been modified since the specified time. -func (client PoolClient) Delete(ctx context.Context, poolID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.DeletePreparer(ctx, poolID, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Delete", nil, "Failure preparing request") - return - } - - resp, err := client.DeleteSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Delete", resp, "Failure sending request") - return - } - - result, err = client.DeleteResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Delete", resp, "Failure responding to request") - } - - return -} - -// DeletePreparer prepares the Delete request. -func (client PoolClient) DeletePreparer(ctx context.Context, poolID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2017-01-01.4.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsDelete(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DeleteSender sends the Delete request. The method will close the -// http.Response Body if it receives an error. -func (client PoolClient) DeleteSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// DeleteResponder handles the response to the Delete request. The method always -// closes the http.Response Body. -func (client PoolClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByClosing()) - result.Response = resp - return -} - -// DisableAutoScale sends the disable auto scale request. -// -// poolID is the ID of the pool on which to disable automatic scaling. timeout is the maximum time that the server -// can spend processing the request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated -// request identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. -func (client PoolClient) DisableAutoScale(ctx context.Context, poolID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.DisableAutoScalePreparer(ctx, poolID, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "DisableAutoScale", nil, "Failure preparing request") - return - } - - resp, err := client.DisableAutoScaleSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.PoolClient", "DisableAutoScale", resp, "Failure sending request") - return - } - - result, err = client.DisableAutoScaleResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "DisableAutoScale", resp, "Failure responding to request") - } - - return -} - -// DisableAutoScalePreparer prepares the DisableAutoScale request. -func (client PoolClient) DisableAutoScalePreparer(ctx context.Context, poolID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2017-01-01.4.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/disableautoscale", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DisableAutoScaleSender sends the DisableAutoScale request. The method will close the -// http.Response Body if it receives an error. -func (client PoolClient) DisableAutoScaleSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// DisableAutoScaleResponder handles the response to the DisableAutoScale request. The method always -// closes the http.Response Body. -func (client PoolClient) DisableAutoScaleResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} - -// EnableAutoScale you cannot enable automatic scaling on a pool if a resize operation is in progress on the pool. If -// automatic scaling of the pool is currently disabled, you must specify a valid autoscale formula as part of the -// request. If automatic scaling of the pool is already enabled, you may specify a new autoscale formula and/or a new -// evaluation interval. You cannot call this API for the same pool more than once every 30 seconds. -// -// poolID is the ID of the pool on which to enable automatic scaling. poolEnableAutoScaleParameter is the -// parameters for the request. timeout is the maximum time that the server can spend processing the request, in -// seconds. The default is 30 seconds. clientRequestID is the caller-generated request identity, in the form of a -// GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID -// is whether the server should return the client-request-id in the response. ocpDate is the time the request was -// issued. Client libraries typically set this to the current system clock time; set it explicitly if you are -// calling the REST API directly. ifMatch is an ETag value associated with the version of the resource known to the -// client. The operation will be performed only if the resource's current ETag on the service exactly matches the -// value specified by the client. ifNoneMatch is an ETag value associated with the version of the resource known to -// the client. The operation will be performed only if the resource's current ETag on the service does not match -// the value specified by the client. ifModifiedSince is a timestamp indicating the last modified time of the -// resource known to the client. The operation will be performed only if the resource on the service has been -// modified since the specified time. ifUnmodifiedSince is a timestamp indicating the last modified time of the -// resource known to the client. The operation will be performed only if the resource on the service has not been -// modified since the specified time. -func (client PoolClient) EnableAutoScale(ctx context.Context, poolID string, poolEnableAutoScaleParameter PoolEnableAutoScaleParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.EnableAutoScalePreparer(ctx, poolID, poolEnableAutoScaleParameter, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "EnableAutoScale", nil, "Failure preparing request") - return - } - - resp, err := client.EnableAutoScaleSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.PoolClient", "EnableAutoScale", resp, "Failure sending request") - return - } - - result, err = client.EnableAutoScaleResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "EnableAutoScale", resp, "Failure responding to request") - } - - return -} - -// EnableAutoScalePreparer prepares the EnableAutoScale request. -func (client PoolClient) EnableAutoScalePreparer(ctx context.Context, poolID string, poolEnableAutoScaleParameter PoolEnableAutoScaleParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2017-01-01.4.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/enableautoscale", pathParameters), - autorest.WithJSON(poolEnableAutoScaleParameter), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// EnableAutoScaleSender sends the EnableAutoScale request. The method will close the -// http.Response Body if it receives an error. -func (client PoolClient) EnableAutoScaleSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// EnableAutoScaleResponder handles the response to the EnableAutoScale request. The method always -// closes the http.Response Body. -func (client PoolClient) EnableAutoScaleResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} - -// EvaluateAutoScale this API is primarily for validating an autoscale formula, as it simply returns the result without -// applying the formula to the pool. -// -// poolID is the ID of the pool on which to evaluate the automatic scaling formula. poolEvaluateAutoScaleParameter -// is the parameters for the request. timeout is the maximum time that the server can spend processing the request, -// in seconds. The default is 30 seconds. clientRequestID is the caller-generated request identity, in the form of -// a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID -// is whether the server should return the client-request-id in the response. ocpDate is the time the request was -// issued. Client libraries typically set this to the current system clock time; set it explicitly if you are -// calling the REST API directly. -func (client PoolClient) EvaluateAutoScale(ctx context.Context, poolID string, poolEvaluateAutoScaleParameter PoolEvaluateAutoScaleParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result AutoScaleRun, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: poolEvaluateAutoScaleParameter, - Constraints: []validation.Constraint{{Target: "poolEvaluateAutoScaleParameter.AutoScaleFormula", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { - return result, validation.NewError("batch.PoolClient", "EvaluateAutoScale", err.Error()) - } - - req, err := client.EvaluateAutoScalePreparer(ctx, poolID, poolEvaluateAutoScaleParameter, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "EvaluateAutoScale", nil, "Failure preparing request") - return - } - - resp, err := client.EvaluateAutoScaleSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.PoolClient", "EvaluateAutoScale", resp, "Failure sending request") - return - } - - result, err = client.EvaluateAutoScaleResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "EvaluateAutoScale", resp, "Failure responding to request") - } - - return -} - -// EvaluateAutoScalePreparer prepares the EvaluateAutoScale request. -func (client PoolClient) EvaluateAutoScalePreparer(ctx context.Context, poolID string, poolEvaluateAutoScaleParameter PoolEvaluateAutoScaleParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2017-01-01.4.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/evaluateautoscale", pathParameters), - autorest.WithJSON(poolEvaluateAutoScaleParameter), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// EvaluateAutoScaleSender sends the EvaluateAutoScale request. The method will close the -// http.Response Body if it receives an error. -func (client PoolClient) EvaluateAutoScaleSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// EvaluateAutoScaleResponder handles the response to the EvaluateAutoScale request. The method always -// closes the http.Response Body. -func (client PoolClient) EvaluateAutoScaleResponder(resp *http.Response) (result AutoScaleRun, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// Exists gets basic properties of a pool. -// -// poolID is the ID of the pool to get. timeout is the maximum time that the server can spend processing the -// request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated request identity, in the -// form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. -// returnClientRequestID is whether the server should return the client-request-id in the response. ocpDate is the -// time the request was issued. Client libraries typically set this to the current system clock time; set it -// explicitly if you are calling the REST API directly. ifMatch is an ETag value associated with the version of the -// resource known to the client. The operation will be performed only if the resource's current ETag on the service -// exactly matches the value specified by the client. ifNoneMatch is an ETag value associated with the version of -// the resource known to the client. The operation will be performed only if the resource's current ETag on the -// service does not match the value specified by the client. ifModifiedSince is a timestamp indicating the last -// modified time of the resource known to the client. The operation will be performed only if the resource on the -// service has been modified since the specified time. ifUnmodifiedSince is a timestamp indicating the last -// modified time of the resource known to the client. The operation will be performed only if the resource on the -// service has not been modified since the specified time. -func (client PoolClient) Exists(ctx context.Context, poolID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.ExistsPreparer(ctx, poolID, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Exists", nil, "Failure preparing request") - return - } - - resp, err := client.ExistsSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Exists", resp, "Failure sending request") - return - } - - result, err = client.ExistsResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Exists", resp, "Failure responding to request") - } - - return -} - -// ExistsPreparer prepares the Exists request. -func (client PoolClient) ExistsPreparer(ctx context.Context, poolID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2017-01-01.4.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsHead(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ExistsSender sends the Exists request. The method will close the -// http.Response Body if it receives an error. -func (client PoolClient) ExistsSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ExistsResponder handles the response to the Exists request. The method always -// closes the http.Response Body. -func (client PoolClient) ExistsResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), - autorest.ByClosing()) - result.Response = resp - return -} - -// Get gets information about the specified pool. -// -// poolID is the ID of the pool to get. selectParameter is an OData $select clause. expand is an OData $expand -// clause. timeout is the maximum time that the server can spend processing the request, in seconds. The default is -// 30 seconds. clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration -// such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server -// should return the client-request-id in the response. ocpDate is the time the request was issued. Client -// libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API -// directly. ifMatch is an ETag value associated with the version of the resource known to the client. The -// operation will be performed only if the resource's current ETag on the service exactly matches the value -// specified by the client. ifNoneMatch is an ETag value associated with the version of the resource known to the -// client. The operation will be performed only if the resource's current ETag on the service does not match the -// value specified by the client. ifModifiedSince is a timestamp indicating the last modified time of the resource -// known to the client. The operation will be performed only if the resource on the service has been modified since -// the specified time. ifUnmodifiedSince is a timestamp indicating the last modified time of the resource known to -// the client. The operation will be performed only if the resource on the service has not been modified since the -// specified time. -func (client PoolClient) Get(ctx context.Context, poolID string, selectParameter string, expand string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result CloudPool, err error) { - req, err := client.GetPreparer(ctx, poolID, selectParameter, expand, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Get", nil, "Failure preparing request") - return - } - - resp, err := client.GetSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Get", resp, "Failure sending request") - return - } - - result, err = client.GetResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Get", resp, "Failure responding to request") - } - - return -} - -// GetPreparer prepares the Get request. -func (client PoolClient) GetPreparer(ctx context.Context, poolID string, selectParameter string, expand string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2017-01-01.4.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(selectParameter) > 0 { - queryParameters["$select"] = autorest.Encode("query", selectParameter) - } - if len(expand) > 0 { - queryParameters["$expand"] = autorest.Encode("query", expand) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetSender sends the Get request. The method will close the -// http.Response Body if it receives an error. -func (client PoolClient) GetSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// GetResponder handles the response to the Get request. The method always -// closes the http.Response Body. -func (client PoolClient) GetResponder(resp *http.Response) (result CloudPool, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// GetAllLifetimeStatistics statistics are aggregated across all pools that have ever existed in the account, from -// account creation to the last update time of the statistics. -// -// timeout is the maximum time that the server can spend processing the request, in seconds. The default is 30 -// seconds. clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such -// as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should -// return the client-request-id in the response. ocpDate is the time the request was issued. Client libraries -// typically set this to the current system clock time; set it explicitly if you are calling the REST API directly. -func (client PoolClient) GetAllLifetimeStatistics(ctx context.Context, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result PoolStatistics, err error) { - req, err := client.GetAllLifetimeStatisticsPreparer(ctx, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "GetAllLifetimeStatistics", nil, "Failure preparing request") - return - } - - resp, err := client.GetAllLifetimeStatisticsSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.PoolClient", "GetAllLifetimeStatistics", resp, "Failure sending request") - return - } - - result, err = client.GetAllLifetimeStatisticsResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "GetAllLifetimeStatistics", resp, "Failure responding to request") - } - - return -} - -// GetAllLifetimeStatisticsPreparer prepares the GetAllLifetimeStatistics request. -func (client PoolClient) GetAllLifetimeStatisticsPreparer(ctx context.Context, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - const APIVersion = "2017-01-01.4.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPath("/lifetimepoolstats"), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetAllLifetimeStatisticsSender sends the GetAllLifetimeStatistics request. The method will close the -// http.Response Body if it receives an error. -func (client PoolClient) GetAllLifetimeStatisticsSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// GetAllLifetimeStatisticsResponder handles the response to the GetAllLifetimeStatistics request. The method always -// closes the http.Response Body. -func (client PoolClient) GetAllLifetimeStatisticsResponder(resp *http.Response) (result PoolStatistics, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// List sends the list request. -// -// filter is an OData $filter clause. selectParameter is an OData $select clause. expand is an OData $expand -// clause. maxResults is the maximum number of items to return in the response. A maximum of 1000 pools can be -// returned. timeout is the maximum time that the server can spend processing the request, in seconds. The default -// is 30 seconds. clientRequestID is the caller-generated request identity, in the form of a GUID with no -// decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the -// server should return the client-request-id in the response. ocpDate is the time the request was issued. Client -// libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API -// directly. -func (client PoolClient) List(ctx context.Context, filter string, selectParameter string, expand string, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result CloudPoolListResultPage, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: maxResults, - Constraints: []validation.Constraint{{Target: "maxResults", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "maxResults", Name: validation.InclusiveMaximum, Rule: 1000, Chain: nil}, - {Target: "maxResults", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}, - }}}}}); err != nil { - return result, validation.NewError("batch.PoolClient", "List", err.Error()) - } - - result.fn = client.listNextResults - req, err := client.ListPreparer(ctx, filter, selectParameter, expand, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "List", nil, "Failure preparing request") - return - } - - resp, err := client.ListSender(req) - if err != nil { - result.cplr.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.PoolClient", "List", resp, "Failure sending request") - return - } - - result.cplr, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "List", resp, "Failure responding to request") - } - - return -} - -// ListPreparer prepares the List request. -func (client PoolClient) ListPreparer(ctx context.Context, filter string, selectParameter string, expand string, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - const APIVersion = "2017-01-01.4.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(filter) > 0 { - queryParameters["$filter"] = autorest.Encode("query", filter) - } - if len(selectParameter) > 0 { - queryParameters["$select"] = autorest.Encode("query", selectParameter) - } - if len(expand) > 0 { - queryParameters["$expand"] = autorest.Encode("query", expand) - } - if maxResults != nil { - queryParameters["maxresults"] = autorest.Encode("query", *maxResults) - } else { - queryParameters["maxresults"] = autorest.Encode("query", 1000) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPath("/pools"), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListSender sends the List request. The method will close the -// http.Response Body if it receives an error. -func (client PoolClient) ListSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ListResponder handles the response to the List request. The method always -// closes the http.Response Body. -func (client PoolClient) ListResponder(resp *http.Response) (result CloudPoolListResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listNextResults retrieves the next set of results, if any. -func (client PoolClient) listNextResults(lastResults CloudPoolListResult) (result CloudPoolListResult, err error) { - req, err := lastResults.cloudPoolListResultPreparer() - if err != nil { - return result, autorest.NewErrorWithError(err, "batch.PoolClient", "listNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "batch.PoolClient", "listNextResults", resp, "Failure sending next results request") - } - result, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "listNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListComplete enumerates all values, automatically crossing page boundaries as required. -func (client PoolClient) ListComplete(ctx context.Context, filter string, selectParameter string, expand string, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result CloudPoolListResultIterator, err error) { - result.page, err = client.List(ctx, filter, selectParameter, expand, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - return -} - -// ListUsageMetrics if you do not specify a $filter clause including a poolId, the response includes all pools that -// existed in the account in the time range of the returned aggregation intervals. -// -// startTime is the earliest time from which to include metrics. This must be at least two and a half hours before -// the current time. If not specified this defaults to the start time of the last aggregation interval currently -// available. endTime is the latest time from which to include metrics. This must be at least two hours before the -// current time. If not specified this defaults to the end time of the last aggregation interval currently -// available. filter is an OData $filter clause. If this is not specified the response includes all pools that -// existed in the account in the time range of the returned aggregation intervals. maxResults is the maximum number -// of items to return in the response. A maximum of 1000 results will be returned. timeout is the maximum time that -// the server can spend processing the request, in seconds. The default is 30 seconds. clientRequestID is the -// caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. -func (client PoolClient) ListUsageMetrics(ctx context.Context, startTime *date.Time, endTime *date.Time, filter string, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result PoolListUsageMetricsResultPage, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: maxResults, - Constraints: []validation.Constraint{{Target: "maxResults", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "maxResults", Name: validation.InclusiveMaximum, Rule: 1000, Chain: nil}, - {Target: "maxResults", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}, - }}}}}); err != nil { - return result, validation.NewError("batch.PoolClient", "ListUsageMetrics", err.Error()) - } - - result.fn = client.listUsageMetricsNextResults - req, err := client.ListUsageMetricsPreparer(ctx, startTime, endTime, filter, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "ListUsageMetrics", nil, "Failure preparing request") - return - } - - resp, err := client.ListUsageMetricsSender(req) - if err != nil { - result.plumr.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.PoolClient", "ListUsageMetrics", resp, "Failure sending request") - return - } - - result.plumr, err = client.ListUsageMetricsResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "ListUsageMetrics", resp, "Failure responding to request") - } - - return -} - -// ListUsageMetricsPreparer prepares the ListUsageMetrics request. -func (client PoolClient) ListUsageMetricsPreparer(ctx context.Context, startTime *date.Time, endTime *date.Time, filter string, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - const APIVersion = "2017-01-01.4.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if startTime != nil { - queryParameters["starttime"] = autorest.Encode("query", *startTime) - } - if endTime != nil { - queryParameters["endtime"] = autorest.Encode("query", *endTime) - } - if len(filter) > 0 { - queryParameters["$filter"] = autorest.Encode("query", filter) - } - if maxResults != nil { - queryParameters["maxresults"] = autorest.Encode("query", *maxResults) - } else { - queryParameters["maxresults"] = autorest.Encode("query", 1000) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPath("/poolusagemetrics"), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListUsageMetricsSender sends the ListUsageMetrics request. The method will close the -// http.Response Body if it receives an error. -func (client PoolClient) ListUsageMetricsSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ListUsageMetricsResponder handles the response to the ListUsageMetrics request. The method always -// closes the http.Response Body. -func (client PoolClient) ListUsageMetricsResponder(resp *http.Response) (result PoolListUsageMetricsResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listUsageMetricsNextResults retrieves the next set of results, if any. -func (client PoolClient) listUsageMetricsNextResults(lastResults PoolListUsageMetricsResult) (result PoolListUsageMetricsResult, err error) { - req, err := lastResults.poolListUsageMetricsResultPreparer() - if err != nil { - return result, autorest.NewErrorWithError(err, "batch.PoolClient", "listUsageMetricsNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListUsageMetricsSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "batch.PoolClient", "listUsageMetricsNextResults", resp, "Failure sending next results request") - } - result, err = client.ListUsageMetricsResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "listUsageMetricsNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListUsageMetricsComplete enumerates all values, automatically crossing page boundaries as required. -func (client PoolClient) ListUsageMetricsComplete(ctx context.Context, startTime *date.Time, endTime *date.Time, filter string, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result PoolListUsageMetricsResultIterator, err error) { - result.page, err = client.ListUsageMetrics(ctx, startTime, endTime, filter, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - return -} - -// Patch this only replaces the pool properties specified in the request. For example, if the pool has a start task -// associated with it, and a request does not specify a start task element, then the pool keeps the existing start -// task. -// -// poolID is the ID of the pool to update. poolPatchParameter is the parameters for the request. timeout is the -// maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. -// clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such as curly -// braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. ifMatch is an -// ETag value associated with the version of the resource known to the client. The operation will be performed only -// if the resource's current ETag on the service exactly matches the value specified by the client. ifNoneMatch is -// an ETag value associated with the version of the resource known to the client. The operation will be performed -// only if the resource's current ETag on the service does not match the value specified by the client. -// ifModifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has been modified since the specified time. -// ifUnmodifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has not been modified since the specified time. -func (client PoolClient) Patch(ctx context.Context, poolID string, poolPatchParameter PoolPatchParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.PatchPreparer(ctx, poolID, poolPatchParameter, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Patch", nil, "Failure preparing request") - return - } - - resp, err := client.PatchSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Patch", resp, "Failure sending request") - return - } - - result, err = client.PatchResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Patch", resp, "Failure responding to request") - } - - return -} - -// PatchPreparer prepares the Patch request. -func (client PoolClient) PatchPreparer(ctx context.Context, poolID string, poolPatchParameter PoolPatchParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2017-01-01.4.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPatch(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}", pathParameters), - autorest.WithJSON(poolPatchParameter), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// PatchSender sends the Patch request. The method will close the -// http.Response Body if it receives an error. -func (client PoolClient) PatchSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// PatchResponder handles the response to the Patch request. The method always -// closes the http.Response Body. -func (client PoolClient) PatchResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} - -// RemoveNodes this operation can only run when the allocation state of the pool is steady. When this operation runs, -// the allocation state changes from steady to resizing. -// -// poolID is the ID of the pool from which you want to remove nodes. nodeRemoveParameter is the parameters for the -// request. timeout is the maximum time that the server can spend processing the request, in seconds. The default -// is 30 seconds. clientRequestID is the caller-generated request identity, in the form of a GUID with no -// decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the -// server should return the client-request-id in the response. ocpDate is the time the request was issued. Client -// libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API -// directly. ifMatch is an ETag value associated with the version of the resource known to the client. The -// operation will be performed only if the resource's current ETag on the service exactly matches the value -// specified by the client. ifNoneMatch is an ETag value associated with the version of the resource known to the -// client. The operation will be performed only if the resource's current ETag on the service does not match the -// value specified by the client. ifModifiedSince is a timestamp indicating the last modified time of the resource -// known to the client. The operation will be performed only if the resource on the service has been modified since -// the specified time. ifUnmodifiedSince is a timestamp indicating the last modified time of the resource known to -// the client. The operation will be performed only if the resource on the service has not been modified since the -// specified time. -func (client PoolClient) RemoveNodes(ctx context.Context, poolID string, nodeRemoveParameter NodeRemoveParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: nodeRemoveParameter, - Constraints: []validation.Constraint{{Target: "nodeRemoveParameter.NodeList", Name: validation.Null, Rule: true, - Chain: []validation.Constraint{{Target: "nodeRemoveParameter.NodeList", Name: validation.MaxItems, Rule: 100, Chain: nil}}}}}}); err != nil { - return result, validation.NewError("batch.PoolClient", "RemoveNodes", err.Error()) - } - - req, err := client.RemoveNodesPreparer(ctx, poolID, nodeRemoveParameter, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "RemoveNodes", nil, "Failure preparing request") - return - } - - resp, err := client.RemoveNodesSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.PoolClient", "RemoveNodes", resp, "Failure sending request") - return - } - - result, err = client.RemoveNodesResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "RemoveNodes", resp, "Failure responding to request") - } - - return -} - -// RemoveNodesPreparer prepares the RemoveNodes request. -func (client PoolClient) RemoveNodesPreparer(ctx context.Context, poolID string, nodeRemoveParameter NodeRemoveParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2017-01-01.4.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/removenodes", pathParameters), - autorest.WithJSON(nodeRemoveParameter), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// RemoveNodesSender sends the RemoveNodes request. The method will close the -// http.Response Body if it receives an error. -func (client PoolClient) RemoveNodesSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// RemoveNodesResponder handles the response to the RemoveNodes request. The method always -// closes the http.Response Body. -func (client PoolClient) RemoveNodesResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByClosing()) - result.Response = resp - return -} - -// Resize you can only resize a pool when its allocation state is steady. If the pool is already resizing, the request -// fails with status code 409. When you resize a pool, the pool's allocation state changes from steady to resizing. You -// cannot resize pools which are configured for automatic scaling. If you try to do this, the Batch service returns an -// error 409. If you resize a pool downwards, the Batch service chooses which nodes to remove. To remove specific -// nodes, use the pool remove nodes API instead. -// -// poolID is the ID of the pool to resize. poolResizeParameter is the parameters for the request. timeout is the -// maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. -// clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such as curly -// braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. ifMatch is an -// ETag value associated with the version of the resource known to the client. The operation will be performed only -// if the resource's current ETag on the service exactly matches the value specified by the client. ifNoneMatch is -// an ETag value associated with the version of the resource known to the client. The operation will be performed -// only if the resource's current ETag on the service does not match the value specified by the client. -// ifModifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has been modified since the specified time. -// ifUnmodifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has not been modified since the specified time. -func (client PoolClient) Resize(ctx context.Context, poolID string, poolResizeParameter PoolResizeParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: poolResizeParameter, - Constraints: []validation.Constraint{{Target: "poolResizeParameter.TargetDedicated", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { - return result, validation.NewError("batch.PoolClient", "Resize", err.Error()) - } - - req, err := client.ResizePreparer(ctx, poolID, poolResizeParameter, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Resize", nil, "Failure preparing request") - return - } - - resp, err := client.ResizeSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Resize", resp, "Failure sending request") - return - } - - result, err = client.ResizeResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Resize", resp, "Failure responding to request") - } - - return -} - -// ResizePreparer prepares the Resize request. -func (client PoolClient) ResizePreparer(ctx context.Context, poolID string, poolResizeParameter PoolResizeParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2017-01-01.4.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/resize", pathParameters), - autorest.WithJSON(poolResizeParameter), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ResizeSender sends the Resize request. The method will close the -// http.Response Body if it receives an error. -func (client PoolClient) ResizeSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ResizeResponder handles the response to the Resize request. The method always -// closes the http.Response Body. -func (client PoolClient) ResizeResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByClosing()) - result.Response = resp - return -} - -// StopResize this does not restore the pool to its previous state before the resize operation: it only stops any -// further changes being made, and the pool maintains its current state. A resize operation need not be an explicit -// resize pool request; this API can also be used to halt the initial sizing of the pool when it is created. -// -// poolID is the ID of the pool whose resizing you want to stop. timeout is the maximum time that the server can -// spend processing the request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated -// request identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. ifMatch is an -// ETag value associated with the version of the resource known to the client. The operation will be performed only -// if the resource's current ETag on the service exactly matches the value specified by the client. ifNoneMatch is -// an ETag value associated with the version of the resource known to the client. The operation will be performed -// only if the resource's current ETag on the service does not match the value specified by the client. -// ifModifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has been modified since the specified time. -// ifUnmodifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has not been modified since the specified time. -func (client PoolClient) StopResize(ctx context.Context, poolID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.StopResizePreparer(ctx, poolID, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "StopResize", nil, "Failure preparing request") - return - } - - resp, err := client.StopResizeSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.PoolClient", "StopResize", resp, "Failure sending request") - return - } - - result, err = client.StopResizeResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "StopResize", resp, "Failure responding to request") - } - - return -} - -// StopResizePreparer prepares the StopResize request. -func (client PoolClient) StopResizePreparer(ctx context.Context, poolID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2017-01-01.4.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/stopresize", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// StopResizeSender sends the StopResize request. The method will close the -// http.Response Body if it receives an error. -func (client PoolClient) StopResizeSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// StopResizeResponder handles the response to the StopResize request. The method always -// closes the http.Response Body. -func (client PoolClient) StopResizeResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByClosing()) - result.Response = resp - return -} - -// UpdateProperties this fully replaces all the updateable properties of the pool. For example, if the pool has a start -// task associated with it and if start task is not specified with this request, then the Batch service will remove the -// existing start task. -// -// poolID is the ID of the pool to update. poolUpdatePropertiesParameter is the parameters for the request. timeout -// is the maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. -// clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such as curly -// braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. -func (client PoolClient) UpdateProperties(ctx context.Context, poolID string, poolUpdatePropertiesParameter PoolUpdatePropertiesParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: poolUpdatePropertiesParameter, - Constraints: []validation.Constraint{{Target: "poolUpdatePropertiesParameter.StartTask", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "poolUpdatePropertiesParameter.StartTask.CommandLine", Name: validation.Null, Rule: true, Chain: nil}}}, - {Target: "poolUpdatePropertiesParameter.CertificateReferences", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "poolUpdatePropertiesParameter.ApplicationPackageReferences", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "poolUpdatePropertiesParameter.Metadata", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { - return result, validation.NewError("batch.PoolClient", "UpdateProperties", err.Error()) - } - - req, err := client.UpdatePropertiesPreparer(ctx, poolID, poolUpdatePropertiesParameter, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "UpdateProperties", nil, "Failure preparing request") - return - } - - resp, err := client.UpdatePropertiesSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.PoolClient", "UpdateProperties", resp, "Failure sending request") - return - } - - result, err = client.UpdatePropertiesResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "UpdateProperties", resp, "Failure responding to request") - } - - return -} - -// UpdatePropertiesPreparer prepares the UpdateProperties request. -func (client PoolClient) UpdatePropertiesPreparer(ctx context.Context, poolID string, poolUpdatePropertiesParameter PoolUpdatePropertiesParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2017-01-01.4.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/updateproperties", pathParameters), - autorest.WithJSON(poolUpdatePropertiesParameter), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// UpdatePropertiesSender sends the UpdateProperties request. The method will close the -// http.Response Body if it receives an error. -func (client PoolClient) UpdatePropertiesSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// UpdatePropertiesResponder handles the response to the UpdateProperties request. The method always -// closes the http.Response Body. -func (client PoolClient) UpdatePropertiesResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), - autorest.ByClosing()) - result.Response = resp - return -} - -// UpgradeOS during an upgrade, the Batch service upgrades each compute node in the pool. When a compute node is chosen -// for upgrade, any tasks running on that node are removed from the node and returned to the queue to be rerun later -// (or on a different compute node). The node will be unavailable until the upgrade is complete. This operation results -// in temporarily reduced pool capacity as nodes are taken out of service to be upgraded. Although the Batch service -// tries to avoid upgrading all compute nodes at the same time, it does not guarantee to do this (particularly on small -// pools); therefore, the pool may be temporarily unavailable to run tasks. When this operation runs, the pool state -// changes to upgrading. When all compute nodes have finished upgrading, the pool state returns to active. -// -// poolID is the ID of the pool to upgrade. poolUpgradeOSParameter is the parameters for the request. timeout is -// the maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. -// clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such as curly -// braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. ifMatch is an -// ETag value associated with the version of the resource known to the client. The operation will be performed only -// if the resource's current ETag on the service exactly matches the value specified by the client. ifNoneMatch is -// an ETag value associated with the version of the resource known to the client. The operation will be performed -// only if the resource's current ETag on the service does not match the value specified by the client. -// ifModifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has been modified since the specified time. -// ifUnmodifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has not been modified since the specified time. -func (client PoolClient) UpgradeOS(ctx context.Context, poolID string, poolUpgradeOSParameter PoolUpgradeOSParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: poolUpgradeOSParameter, - Constraints: []validation.Constraint{{Target: "poolUpgradeOSParameter.TargetOSVersion", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { - return result, validation.NewError("batch.PoolClient", "UpgradeOS", err.Error()) - } - - req, err := client.UpgradeOSPreparer(ctx, poolID, poolUpgradeOSParameter, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "UpgradeOS", nil, "Failure preparing request") - return - } - - resp, err := client.UpgradeOSSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.PoolClient", "UpgradeOS", resp, "Failure sending request") - return - } - - result, err = client.UpgradeOSResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "UpgradeOS", resp, "Failure responding to request") - } - - return -} - -// UpgradeOSPreparer prepares the UpgradeOS request. -func (client PoolClient) UpgradeOSPreparer(ctx context.Context, poolID string, poolUpgradeOSParameter PoolUpgradeOSParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2017-01-01.4.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/upgradeos", pathParameters), - autorest.WithJSON(poolUpgradeOSParameter), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// UpgradeOSSender sends the UpgradeOS request. The method will close the -// http.Response Body if it receives an error. -func (client PoolClient) UpgradeOSSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// UpgradeOSResponder handles the response to the UpgradeOS request. The method always -// closes the http.Response Body. -func (client PoolClient) UpgradeOSResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByClosing()) - result.Response = resp - return -} diff --git a/services/batch/2017-01-01.4.0/batch/task.go b/services/batch/2017-01-01.4.0/batch/task.go deleted file mode 100644 index 8d068742ac73..000000000000 --- a/services/batch/2017-01-01.4.0/batch/task.go +++ /dev/null @@ -1,1068 +0,0 @@ -package batch - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/autorest/date" - "github.com/Azure/go-autorest/autorest/validation" - "github.com/satori/go.uuid" - "net/http" -) - -// TaskClient is the a client for issuing REST requests to the Azure Batch service. -type TaskClient struct { - BaseClient -} - -// NewTaskClient creates an instance of the TaskClient client. -func NewTaskClient() TaskClient { - return NewTaskClientWithBaseURI(DefaultBaseURI) -} - -// NewTaskClientWithBaseURI creates an instance of the TaskClient client. -func NewTaskClientWithBaseURI(baseURI string) TaskClient { - return TaskClient{NewWithBaseURI(baseURI)} -} - -// Add sends the add request. -// -// jobID is the ID of the job to which the task is to be added. task is the task to be added. timeout is the -// maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. -// clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such as curly -// braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. -func (client TaskClient) Add(ctx context.Context, jobID string, task TaskAddParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: task, - Constraints: []validation.Constraint{{Target: "task.ID", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "task.CommandLine", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "task.AffinityInfo", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "task.AffinityInfo.AffinityID", Name: validation.Null, Rule: true, Chain: nil}}}, - {Target: "task.MultiInstanceSettings", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "task.MultiInstanceSettings.NumberOfInstances", Name: validation.Null, Rule: true, Chain: nil}}}}}}); err != nil { - return result, validation.NewError("batch.TaskClient", "Add", err.Error()) - } - - req, err := client.AddPreparer(ctx, jobID, task, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "Add", nil, "Failure preparing request") - return - } - - resp, err := client.AddSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.TaskClient", "Add", resp, "Failure sending request") - return - } - - result, err = client.AddResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "Add", resp, "Failure responding to request") - } - - return -} - -// AddPreparer prepares the Add request. -func (client TaskClient) AddPreparer(ctx context.Context, jobID string, task TaskAddParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - } - - const APIVersion = "2017-01-01.4.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}/tasks", pathParameters), - autorest.WithJSON(task), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// AddSender sends the Add request. The method will close the -// http.Response Body if it receives an error. -func (client TaskClient) AddSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// AddResponder handles the response to the Add request. The method always -// closes the http.Response Body. -func (client TaskClient) AddResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), - autorest.ByClosing()) - result.Response = resp - return -} - -// AddCollection note that each task must have a unique ID. The Batch service may not return the results for each task -// in the same order the tasks were submitted in this request. If the server times out or the connection is closed -// during the request, the request may have been partially or fully processed, or not at all. In such cases, the user -// should re-issue the request. Note that it is up to the user to correctly handle failures when re-issuing a request. -// For example, you should use the same task ids during a retry so that if the prior operation succeeded, the retry -// will not create extra tasks unexpectedly. -// -// jobID is the ID of the job to which the task collection is to be added. taskCollection is the tasks to be added. -// timeout is the maximum time that the server can spend processing the request, in seconds. The default is 30 -// seconds. clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such -// as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should -// return the client-request-id in the response. ocpDate is the time the request was issued. Client libraries -// typically set this to the current system clock time; set it explicitly if you are calling the REST API directly. -func (client TaskClient) AddCollection(ctx context.Context, jobID string, taskCollection TaskAddCollectionParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result TaskAddCollectionResult, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: taskCollection, - Constraints: []validation.Constraint{{Target: "taskCollection.Value", Name: validation.Null, Rule: true, - Chain: []validation.Constraint{{Target: "taskCollection.Value", Name: validation.MaxItems, Rule: 100, Chain: nil}}}}}}); err != nil { - return result, validation.NewError("batch.TaskClient", "AddCollection", err.Error()) - } - - req, err := client.AddCollectionPreparer(ctx, jobID, taskCollection, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "AddCollection", nil, "Failure preparing request") - return - } - - resp, err := client.AddCollectionSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.TaskClient", "AddCollection", resp, "Failure sending request") - return - } - - result, err = client.AddCollectionResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "AddCollection", resp, "Failure responding to request") - } - - return -} - -// AddCollectionPreparer prepares the AddCollection request. -func (client TaskClient) AddCollectionPreparer(ctx context.Context, jobID string, taskCollection TaskAddCollectionParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - } - - const APIVersion = "2017-01-01.4.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}/addtaskcollection", pathParameters), - autorest.WithJSON(taskCollection), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// AddCollectionSender sends the AddCollection request. The method will close the -// http.Response Body if it receives an error. -func (client TaskClient) AddCollectionSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// AddCollectionResponder handles the response to the AddCollection request. The method always -// closes the http.Response Body. -func (client TaskClient) AddCollectionResponder(resp *http.Response) (result TaskAddCollectionResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// Delete when a task is deleted, all of the files in its directory on the compute node where it ran are also deleted -// (regardless of the retention time). For multi-instance tasks, the delete task operation applies synchronously to the -// primary task; subtasks and their files are then deleted asynchronously in the background. -// -// jobID is the ID of the job from which to delete the task. taskID is the ID of the task to delete. timeout is the -// maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. -// clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such as curly -// braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. ifMatch is an -// ETag value associated with the version of the resource known to the client. The operation will be performed only -// if the resource's current ETag on the service exactly matches the value specified by the client. ifNoneMatch is -// an ETag value associated with the version of the resource known to the client. The operation will be performed -// only if the resource's current ETag on the service does not match the value specified by the client. -// ifModifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has been modified since the specified time. -// ifUnmodifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has not been modified since the specified time. -func (client TaskClient) Delete(ctx context.Context, jobID string, taskID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.DeletePreparer(ctx, jobID, taskID, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "Delete", nil, "Failure preparing request") - return - } - - resp, err := client.DeleteSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.TaskClient", "Delete", resp, "Failure sending request") - return - } - - result, err = client.DeleteResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "Delete", resp, "Failure responding to request") - } - - return -} - -// DeletePreparer prepares the Delete request. -func (client TaskClient) DeletePreparer(ctx context.Context, jobID string, taskID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - "taskId": autorest.Encode("path", taskID), - } - - const APIVersion = "2017-01-01.4.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsDelete(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}/tasks/{taskId}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DeleteSender sends the Delete request. The method will close the -// http.Response Body if it receives an error. -func (client TaskClient) DeleteSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// DeleteResponder handles the response to the Delete request. The method always -// closes the http.Response Body. -func (client TaskClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} - -// Get for multi-instance tasks, information such as affinityId, executionInfo and nodeInfo refer to the primary task. -// Use the list subtasks API to retrieve information about subtasks. -// -// jobID is the ID of the job that contains the task. taskID is the ID of the task to get information about. -// selectParameter is an OData $select clause. expand is an OData $expand clause. timeout is the maximum time that -// the server can spend processing the request, in seconds. The default is 30 seconds. clientRequestID is the -// caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. ifMatch is an -// ETag value associated with the version of the resource known to the client. The operation will be performed only -// if the resource's current ETag on the service exactly matches the value specified by the client. ifNoneMatch is -// an ETag value associated with the version of the resource known to the client. The operation will be performed -// only if the resource's current ETag on the service does not match the value specified by the client. -// ifModifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has been modified since the specified time. -// ifUnmodifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has not been modified since the specified time. -func (client TaskClient) Get(ctx context.Context, jobID string, taskID string, selectParameter string, expand string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result CloudTask, err error) { - req, err := client.GetPreparer(ctx, jobID, taskID, selectParameter, expand, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "Get", nil, "Failure preparing request") - return - } - - resp, err := client.GetSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.TaskClient", "Get", resp, "Failure sending request") - return - } - - result, err = client.GetResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "Get", resp, "Failure responding to request") - } - - return -} - -// GetPreparer prepares the Get request. -func (client TaskClient) GetPreparer(ctx context.Context, jobID string, taskID string, selectParameter string, expand string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - "taskId": autorest.Encode("path", taskID), - } - - const APIVersion = "2017-01-01.4.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(selectParameter) > 0 { - queryParameters["$select"] = autorest.Encode("query", selectParameter) - } - if len(expand) > 0 { - queryParameters["$expand"] = autorest.Encode("query", expand) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}/tasks/{taskId}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetSender sends the Get request. The method will close the -// http.Response Body if it receives an error. -func (client TaskClient) GetSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// GetResponder handles the response to the Get request. The method always -// closes the http.Response Body. -func (client TaskClient) GetResponder(resp *http.Response) (result CloudTask, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// List for multi-instance tasks, information such as affinityId, executionInfo and nodeInfo refer to the primary task. -// Use the list subtasks API to retrieve information about subtasks. -// -// jobID is the ID of the job. filter is an OData $filter clause. selectParameter is an OData $select clause. -// expand is an OData $expand clause. maxResults is the maximum number of items to return in the response. A -// maximum of 1000 tasks can be returned. timeout is the maximum time that the server can spend processing the -// request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated request identity, in the -// form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. -// returnClientRequestID is whether the server should return the client-request-id in the response. ocpDate is the -// time the request was issued. Client libraries typically set this to the current system clock time; set it -// explicitly if you are calling the REST API directly. -func (client TaskClient) List(ctx context.Context, jobID string, filter string, selectParameter string, expand string, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result CloudTaskListResultPage, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: maxResults, - Constraints: []validation.Constraint{{Target: "maxResults", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "maxResults", Name: validation.InclusiveMaximum, Rule: 1000, Chain: nil}, - {Target: "maxResults", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}, - }}}}}); err != nil { - return result, validation.NewError("batch.TaskClient", "List", err.Error()) - } - - result.fn = client.listNextResults - req, err := client.ListPreparer(ctx, jobID, filter, selectParameter, expand, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "List", nil, "Failure preparing request") - return - } - - resp, err := client.ListSender(req) - if err != nil { - result.ctlr.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.TaskClient", "List", resp, "Failure sending request") - return - } - - result.ctlr, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "List", resp, "Failure responding to request") - } - - return -} - -// ListPreparer prepares the List request. -func (client TaskClient) ListPreparer(ctx context.Context, jobID string, filter string, selectParameter string, expand string, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - } - - const APIVersion = "2017-01-01.4.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(filter) > 0 { - queryParameters["$filter"] = autorest.Encode("query", filter) - } - if len(selectParameter) > 0 { - queryParameters["$select"] = autorest.Encode("query", selectParameter) - } - if len(expand) > 0 { - queryParameters["$expand"] = autorest.Encode("query", expand) - } - if maxResults != nil { - queryParameters["maxresults"] = autorest.Encode("query", *maxResults) - } else { - queryParameters["maxresults"] = autorest.Encode("query", 1000) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}/tasks", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListSender sends the List request. The method will close the -// http.Response Body if it receives an error. -func (client TaskClient) ListSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ListResponder handles the response to the List request. The method always -// closes the http.Response Body. -func (client TaskClient) ListResponder(resp *http.Response) (result CloudTaskListResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listNextResults retrieves the next set of results, if any. -func (client TaskClient) listNextResults(lastResults CloudTaskListResult) (result CloudTaskListResult, err error) { - req, err := lastResults.cloudTaskListResultPreparer() - if err != nil { - return result, autorest.NewErrorWithError(err, "batch.TaskClient", "listNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "batch.TaskClient", "listNextResults", resp, "Failure sending next results request") - } - result, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "listNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListComplete enumerates all values, automatically crossing page boundaries as required. -func (client TaskClient) ListComplete(ctx context.Context, jobID string, filter string, selectParameter string, expand string, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result CloudTaskListResultIterator, err error) { - result.page, err = client.List(ctx, jobID, filter, selectParameter, expand, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - return -} - -// ListSubtasks if the task is not a multi-instance task then this returns an empty collection. -// -// jobID is the ID of the job. taskID is the ID of the task. selectParameter is an OData $select clause. timeout is -// the maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. -// clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such as curly -// braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. -func (client TaskClient) ListSubtasks(ctx context.Context, jobID string, taskID string, selectParameter string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result CloudTaskListSubtasksResult, err error) { - req, err := client.ListSubtasksPreparer(ctx, jobID, taskID, selectParameter, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "ListSubtasks", nil, "Failure preparing request") - return - } - - resp, err := client.ListSubtasksSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.TaskClient", "ListSubtasks", resp, "Failure sending request") - return - } - - result, err = client.ListSubtasksResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "ListSubtasks", resp, "Failure responding to request") - } - - return -} - -// ListSubtasksPreparer prepares the ListSubtasks request. -func (client TaskClient) ListSubtasksPreparer(ctx context.Context, jobID string, taskID string, selectParameter string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - "taskId": autorest.Encode("path", taskID), - } - - const APIVersion = "2017-01-01.4.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(selectParameter) > 0 { - queryParameters["$select"] = autorest.Encode("query", selectParameter) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}/tasks/{taskId}/subtasksinfo", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListSubtasksSender sends the ListSubtasks request. The method will close the -// http.Response Body if it receives an error. -func (client TaskClient) ListSubtasksSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ListSubtasksResponder handles the response to the ListSubtasks request. The method always -// closes the http.Response Body. -func (client TaskClient) ListSubtasksResponder(resp *http.Response) (result CloudTaskListSubtasksResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// Reactivate reactivation makes a task eligible to be retried again up to its maximum retry count. The task's state is -// changed to active. As the task is no longer in the completed state, any previous exit code or scheduling error is no -// longer available after reactivation. This will fail for tasks that are not completed or that previously completed -// successfully (with an exit code of 0). Additionally, this will fail if the job has completed (or is terminating or -// deleting). -// -// jobID is the ID of the job containing the task. taskID is the ID of the task to reactivate. timeout is the -// maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. -// clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such as curly -// braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. ifMatch is an -// ETag value associated with the version of the resource known to the client. The operation will be performed only -// if the resource's current ETag on the service exactly matches the value specified by the client. ifNoneMatch is -// an ETag value associated with the version of the resource known to the client. The operation will be performed -// only if the resource's current ETag on the service does not match the value specified by the client. -// ifModifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has been modified since the specified time. -// ifUnmodifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has not been modified since the specified time. -func (client TaskClient) Reactivate(ctx context.Context, jobID string, taskID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.ReactivatePreparer(ctx, jobID, taskID, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "Reactivate", nil, "Failure preparing request") - return - } - - resp, err := client.ReactivateSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.TaskClient", "Reactivate", resp, "Failure sending request") - return - } - - result, err = client.ReactivateResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "Reactivate", resp, "Failure responding to request") - } - - return -} - -// ReactivatePreparer prepares the Reactivate request. -func (client TaskClient) ReactivatePreparer(ctx context.Context, jobID string, taskID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - "taskId": autorest.Encode("path", taskID), - } - - const APIVersion = "2017-01-01.4.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}/tasks/{taskId}/reactivate", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ReactivateSender sends the Reactivate request. The method will close the -// http.Response Body if it receives an error. -func (client TaskClient) ReactivateSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ReactivateResponder handles the response to the Reactivate request. The method always -// closes the http.Response Body. -func (client TaskClient) ReactivateResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), - autorest.ByClosing()) - result.Response = resp - return -} - -// Terminate when the task has been terminated, it moves to the completed state. For multi-instance tasks, the -// terminate task operation applies synchronously to the primary task; subtasks are then terminated asynchronously in -// the background. -// -// jobID is the ID of the job containing the task. taskID is the ID of the task to terminate. timeout is the -// maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. -// clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such as curly -// braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. ifMatch is an -// ETag value associated with the version of the resource known to the client. The operation will be performed only -// if the resource's current ETag on the service exactly matches the value specified by the client. ifNoneMatch is -// an ETag value associated with the version of the resource known to the client. The operation will be performed -// only if the resource's current ETag on the service does not match the value specified by the client. -// ifModifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has been modified since the specified time. -// ifUnmodifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has not been modified since the specified time. -func (client TaskClient) Terminate(ctx context.Context, jobID string, taskID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.TerminatePreparer(ctx, jobID, taskID, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "Terminate", nil, "Failure preparing request") - return - } - - resp, err := client.TerminateSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.TaskClient", "Terminate", resp, "Failure sending request") - return - } - - result, err = client.TerminateResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "Terminate", resp, "Failure responding to request") - } - - return -} - -// TerminatePreparer prepares the Terminate request. -func (client TaskClient) TerminatePreparer(ctx context.Context, jobID string, taskID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - "taskId": autorest.Encode("path", taskID), - } - - const APIVersion = "2017-01-01.4.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}/tasks/{taskId}/terminate", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// TerminateSender sends the Terminate request. The method will close the -// http.Response Body if it receives an error. -func (client TaskClient) TerminateSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// TerminateResponder handles the response to the Terminate request. The method always -// closes the http.Response Body. -func (client TaskClient) TerminateResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), - autorest.ByClosing()) - result.Response = resp - return -} - -// Update updates the properties of the specified task. -// -// jobID is the ID of the job containing the task. taskID is the ID of the task to update. taskUpdateParameter is -// the parameters for the request. timeout is the maximum time that the server can spend processing the request, in -// seconds. The default is 30 seconds. clientRequestID is the caller-generated request identity, in the form of a -// GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID -// is whether the server should return the client-request-id in the response. ocpDate is the time the request was -// issued. Client libraries typically set this to the current system clock time; set it explicitly if you are -// calling the REST API directly. ifMatch is an ETag value associated with the version of the resource known to the -// client. The operation will be performed only if the resource's current ETag on the service exactly matches the -// value specified by the client. ifNoneMatch is an ETag value associated with the version of the resource known to -// the client. The operation will be performed only if the resource's current ETag on the service does not match -// the value specified by the client. ifModifiedSince is a timestamp indicating the last modified time of the -// resource known to the client. The operation will be performed only if the resource on the service has been -// modified since the specified time. ifUnmodifiedSince is a timestamp indicating the last modified time of the -// resource known to the client. The operation will be performed only if the resource on the service has not been -// modified since the specified time. -func (client TaskClient) Update(ctx context.Context, jobID string, taskID string, taskUpdateParameter TaskUpdateParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.UpdatePreparer(ctx, jobID, taskID, taskUpdateParameter, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "Update", nil, "Failure preparing request") - return - } - - resp, err := client.UpdateSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.TaskClient", "Update", resp, "Failure sending request") - return - } - - result, err = client.UpdateResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "Update", resp, "Failure responding to request") - } - - return -} - -// UpdatePreparer prepares the Update request. -func (client TaskClient) UpdatePreparer(ctx context.Context, jobID string, taskID string, taskUpdateParameter TaskUpdateParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - "taskId": autorest.Encode("path", taskID), - } - - const APIVersion = "2017-01-01.4.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPut(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}/tasks/{taskId}", pathParameters), - autorest.WithJSON(taskUpdateParameter), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// UpdateSender sends the Update request. The method will close the -// http.Response Body if it receives an error. -func (client TaskClient) UpdateSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// UpdateResponder handles the response to the Update request. The method always -// closes the http.Response Body. -func (client TaskClient) UpdateResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} diff --git a/services/batch/2017-01-01.4.0/batch/version.go b/services/batch/2017-01-01.4.0/batch/version.go deleted file mode 100644 index e9ce3c3a44d0..000000000000 --- a/services/batch/2017-01-01.4.0/batch/version.go +++ /dev/null @@ -1,30 +0,0 @@ -package batch - -import "github.com/Azure/azure-sdk-for-go/version" - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -// UserAgent returns the UserAgent string to use when sending http.Requests. -func UserAgent() string { - return "Azure-SDK-For-Go/" + version.Number + " batch/2017-01-01.4.0" -} - -// Version returns the semantic version (see http://semver.org) of the client. -func Version() string { - return version.Number -} diff --git a/services/batch/2017-06-01.5.1/batch/account.go b/services/batch/2017-06-01.5.1/batch/account.go deleted file mode 100644 index 081728c758e3..000000000000 --- a/services/batch/2017-06-01.5.1/batch/account.go +++ /dev/null @@ -1,174 +0,0 @@ -package batch - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/autorest/date" - "github.com/Azure/go-autorest/autorest/validation" - "github.com/satori/go.uuid" - "net/http" -) - -// AccountClient is the a client for issuing REST requests to the Azure Batch service. -type AccountClient struct { - BaseClient -} - -// NewAccountClient creates an instance of the AccountClient client. -func NewAccountClient() AccountClient { - return NewAccountClientWithBaseURI(DefaultBaseURI) -} - -// NewAccountClientWithBaseURI creates an instance of the AccountClient client. -func NewAccountClientWithBaseURI(baseURI string) AccountClient { - return AccountClient{NewWithBaseURI(baseURI)} -} - -// ListNodeAgentSkus sends the list node agent skus request. -// -// filter is an OData $filter clause. maxResults is the maximum number of items to return in the response. A -// maximum of 1000 results will be returned. timeout is the maximum time that the server can spend processing the -// request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated request identity, in the -// form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. -// returnClientRequestID is whether the server should return the client-request-id in the response. ocpDate is the -// time the request was issued. Client libraries typically set this to the current system clock time; set it -// explicitly if you are calling the REST API directly. -func (client AccountClient) ListNodeAgentSkus(ctx context.Context, filter string, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result AccountListNodeAgentSkusResultPage, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: maxResults, - Constraints: []validation.Constraint{{Target: "maxResults", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "maxResults", Name: validation.InclusiveMaximum, Rule: 1000, Chain: nil}, - {Target: "maxResults", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}, - }}}}}); err != nil { - return result, validation.NewError("batch.AccountClient", "ListNodeAgentSkus", err.Error()) - } - - result.fn = client.listNodeAgentSkusNextResults - req, err := client.ListNodeAgentSkusPreparer(ctx, filter, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.AccountClient", "ListNodeAgentSkus", nil, "Failure preparing request") - return - } - - resp, err := client.ListNodeAgentSkusSender(req) - if err != nil { - result.alnasr.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.AccountClient", "ListNodeAgentSkus", resp, "Failure sending request") - return - } - - result.alnasr, err = client.ListNodeAgentSkusResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.AccountClient", "ListNodeAgentSkus", resp, "Failure responding to request") - } - - return -} - -// ListNodeAgentSkusPreparer prepares the ListNodeAgentSkus request. -func (client AccountClient) ListNodeAgentSkusPreparer(ctx context.Context, filter string, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - const APIVersion = "2017-06-01.5.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(filter) > 0 { - queryParameters["$filter"] = autorest.Encode("query", filter) - } - if maxResults != nil { - queryParameters["maxresults"] = autorest.Encode("query", *maxResults) - } else { - queryParameters["maxresults"] = autorest.Encode("query", 1000) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPath("/nodeagentskus"), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListNodeAgentSkusSender sends the ListNodeAgentSkus request. The method will close the -// http.Response Body if it receives an error. -func (client AccountClient) ListNodeAgentSkusSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ListNodeAgentSkusResponder handles the response to the ListNodeAgentSkus request. The method always -// closes the http.Response Body. -func (client AccountClient) ListNodeAgentSkusResponder(resp *http.Response) (result AccountListNodeAgentSkusResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listNodeAgentSkusNextResults retrieves the next set of results, if any. -func (client AccountClient) listNodeAgentSkusNextResults(lastResults AccountListNodeAgentSkusResult) (result AccountListNodeAgentSkusResult, err error) { - req, err := lastResults.accountListNodeAgentSkusResultPreparer() - if err != nil { - return result, autorest.NewErrorWithError(err, "batch.AccountClient", "listNodeAgentSkusNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListNodeAgentSkusSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "batch.AccountClient", "listNodeAgentSkusNextResults", resp, "Failure sending next results request") - } - result, err = client.ListNodeAgentSkusResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.AccountClient", "listNodeAgentSkusNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListNodeAgentSkusComplete enumerates all values, automatically crossing page boundaries as required. -func (client AccountClient) ListNodeAgentSkusComplete(ctx context.Context, filter string, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result AccountListNodeAgentSkusResultIterator, err error) { - result.page, err = client.ListNodeAgentSkus(ctx, filter, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - return -} diff --git a/services/batch/2017-06-01.5.1/batch/application.go b/services/batch/2017-06-01.5.1/batch/application.go deleted file mode 100644 index 9b10977be59d..000000000000 --- a/services/batch/2017-06-01.5.1/batch/application.go +++ /dev/null @@ -1,264 +0,0 @@ -package batch - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/autorest/date" - "github.com/Azure/go-autorest/autorest/validation" - "github.com/satori/go.uuid" - "net/http" -) - -// ApplicationClient is the a client for issuing REST requests to the Azure Batch service. -type ApplicationClient struct { - BaseClient -} - -// NewApplicationClient creates an instance of the ApplicationClient client. -func NewApplicationClient() ApplicationClient { - return NewApplicationClientWithBaseURI(DefaultBaseURI) -} - -// NewApplicationClientWithBaseURI creates an instance of the ApplicationClient client. -func NewApplicationClientWithBaseURI(baseURI string) ApplicationClient { - return ApplicationClient{NewWithBaseURI(baseURI)} -} - -// Get this operation returns only applications and versions that are available for use on compute nodes; that is, that -// can be used in an application package reference. For administrator information about applications and versions that -// are not yet available to compute nodes, use the Azure portal or the Azure Resource Manager API. -// -// applicationID is the ID of the application. timeout is the maximum time that the server can spend processing the -// request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated request identity, in the -// form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. -// returnClientRequestID is whether the server should return the client-request-id in the response. ocpDate is the -// time the request was issued. Client libraries typically set this to the current system clock time; set it -// explicitly if you are calling the REST API directly. -func (client ApplicationClient) Get(ctx context.Context, applicationID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result ApplicationSummary, err error) { - req, err := client.GetPreparer(ctx, applicationID, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ApplicationClient", "Get", nil, "Failure preparing request") - return - } - - resp, err := client.GetSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.ApplicationClient", "Get", resp, "Failure sending request") - return - } - - result, err = client.GetResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ApplicationClient", "Get", resp, "Failure responding to request") - } - - return -} - -// GetPreparer prepares the Get request. -func (client ApplicationClient) GetPreparer(ctx context.Context, applicationID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "applicationId": autorest.Encode("path", applicationID), - } - - const APIVersion = "2017-06-01.5.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/applications/{applicationId}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetSender sends the Get request. The method will close the -// http.Response Body if it receives an error. -func (client ApplicationClient) GetSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// GetResponder handles the response to the Get request. The method always -// closes the http.Response Body. -func (client ApplicationClient) GetResponder(resp *http.Response) (result ApplicationSummary, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// List this operation returns only applications and versions that are available for use on compute nodes; that is, -// that can be used in an application package reference. For administrator information about applications and versions -// that are not yet available to compute nodes, use the Azure portal or the Azure Resource Manager API. -// -// maxResults is the maximum number of items to return in the response. A maximum of 1000 applications can be -// returned. timeout is the maximum time that the server can spend processing the request, in seconds. The default -// is 30 seconds. clientRequestID is the caller-generated request identity, in the form of a GUID with no -// decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the -// server should return the client-request-id in the response. ocpDate is the time the request was issued. Client -// libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API -// directly. -func (client ApplicationClient) List(ctx context.Context, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result ApplicationListResultPage, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: maxResults, - Constraints: []validation.Constraint{{Target: "maxResults", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "maxResults", Name: validation.InclusiveMaximum, Rule: 1000, Chain: nil}, - {Target: "maxResults", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}, - }}}}}); err != nil { - return result, validation.NewError("batch.ApplicationClient", "List", err.Error()) - } - - result.fn = client.listNextResults - req, err := client.ListPreparer(ctx, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ApplicationClient", "List", nil, "Failure preparing request") - return - } - - resp, err := client.ListSender(req) - if err != nil { - result.alr.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.ApplicationClient", "List", resp, "Failure sending request") - return - } - - result.alr, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ApplicationClient", "List", resp, "Failure responding to request") - } - - return -} - -// ListPreparer prepares the List request. -func (client ApplicationClient) ListPreparer(ctx context.Context, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - const APIVersion = "2017-06-01.5.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if maxResults != nil { - queryParameters["maxresults"] = autorest.Encode("query", *maxResults) - } else { - queryParameters["maxresults"] = autorest.Encode("query", 1000) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPath("/applications"), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListSender sends the List request. The method will close the -// http.Response Body if it receives an error. -func (client ApplicationClient) ListSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ListResponder handles the response to the List request. The method always -// closes the http.Response Body. -func (client ApplicationClient) ListResponder(resp *http.Response) (result ApplicationListResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listNextResults retrieves the next set of results, if any. -func (client ApplicationClient) listNextResults(lastResults ApplicationListResult) (result ApplicationListResult, err error) { - req, err := lastResults.applicationListResultPreparer() - if err != nil { - return result, autorest.NewErrorWithError(err, "batch.ApplicationClient", "listNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "batch.ApplicationClient", "listNextResults", resp, "Failure sending next results request") - } - result, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ApplicationClient", "listNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListComplete enumerates all values, automatically crossing page boundaries as required. -func (client ApplicationClient) ListComplete(ctx context.Context, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result ApplicationListResultIterator, err error) { - result.page, err = client.List(ctx, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - return -} diff --git a/services/batch/2017-06-01.5.1/batch/certificate.go b/services/batch/2017-06-01.5.1/batch/certificate.go deleted file mode 100644 index 8dc630d474a5..000000000000 --- a/services/batch/2017-06-01.5.1/batch/certificate.go +++ /dev/null @@ -1,555 +0,0 @@ -package batch - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/autorest/date" - "github.com/Azure/go-autorest/autorest/validation" - "github.com/satori/go.uuid" - "net/http" -) - -// CertificateClient is the a client for issuing REST requests to the Azure Batch service. -type CertificateClient struct { - BaseClient -} - -// NewCertificateClient creates an instance of the CertificateClient client. -func NewCertificateClient() CertificateClient { - return NewCertificateClientWithBaseURI(DefaultBaseURI) -} - -// NewCertificateClientWithBaseURI creates an instance of the CertificateClient client. -func NewCertificateClientWithBaseURI(baseURI string) CertificateClient { - return CertificateClient{NewWithBaseURI(baseURI)} -} - -// Add sends the add request. -// -// certificate is the certificate to be added. timeout is the maximum time that the server can spend processing the -// request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated request identity, in the -// form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. -// returnClientRequestID is whether the server should return the client-request-id in the response. ocpDate is the -// time the request was issued. Client libraries typically set this to the current system clock time; set it -// explicitly if you are calling the REST API directly. -func (client CertificateClient) Add(ctx context.Context, certificate CertificateAddParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: certificate, - Constraints: []validation.Constraint{{Target: "certificate.Thumbprint", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "certificate.ThumbprintAlgorithm", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "certificate.Data", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { - return result, validation.NewError("batch.CertificateClient", "Add", err.Error()) - } - - req, err := client.AddPreparer(ctx, certificate, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.CertificateClient", "Add", nil, "Failure preparing request") - return - } - - resp, err := client.AddSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.CertificateClient", "Add", resp, "Failure sending request") - return - } - - result, err = client.AddResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.CertificateClient", "Add", resp, "Failure responding to request") - } - - return -} - -// AddPreparer prepares the Add request. -func (client CertificateClient) AddPreparer(ctx context.Context, certificate CertificateAddParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - const APIVersion = "2017-06-01.5.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPath("/certificates"), - autorest.WithJSON(certificate), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// AddSender sends the Add request. The method will close the -// http.Response Body if it receives an error. -func (client CertificateClient) AddSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// AddResponder handles the response to the Add request. The method always -// closes the http.Response Body. -func (client CertificateClient) AddResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), - autorest.ByClosing()) - result.Response = resp - return -} - -// CancelDeletion if you try to delete a certificate that is being used by a pool or compute node, the status of the -// certificate changes to deleteFailed. If you decide that you want to continue using the certificate, you can use this -// operation to set the status of the certificate back to active. If you intend to delete the certificate, you do not -// need to run this operation after the deletion failed. You must make sure that the certificate is not being used by -// any resources, and then you can try again to delete the certificate. -// -// thumbprintAlgorithm is the algorithm used to derive the thumbprint parameter. This must be sha1. thumbprint is -// the thumbprint of the certificate being deleted. timeout is the maximum time that the server can spend -// processing the request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated request -// identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. -func (client CertificateClient) CancelDeletion(ctx context.Context, thumbprintAlgorithm string, thumbprint string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.CancelDeletionPreparer(ctx, thumbprintAlgorithm, thumbprint, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.CertificateClient", "CancelDeletion", nil, "Failure preparing request") - return - } - - resp, err := client.CancelDeletionSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.CertificateClient", "CancelDeletion", resp, "Failure sending request") - return - } - - result, err = client.CancelDeletionResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.CertificateClient", "CancelDeletion", resp, "Failure responding to request") - } - - return -} - -// CancelDeletionPreparer prepares the CancelDeletion request. -func (client CertificateClient) CancelDeletionPreparer(ctx context.Context, thumbprintAlgorithm string, thumbprint string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "thumbprint": autorest.Encode("path", thumbprint), - "thumbprintAlgorithm": autorest.Encode("path", thumbprintAlgorithm), - } - - const APIVersion = "2017-06-01.5.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/certificates(thumbprintAlgorithm={thumbprintAlgorithm},thumbprint={thumbprint})/canceldelete", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// CancelDeletionSender sends the CancelDeletion request. The method will close the -// http.Response Body if it receives an error. -func (client CertificateClient) CancelDeletionSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// CancelDeletionResponder handles the response to the CancelDeletion request. The method always -// closes the http.Response Body. -func (client CertificateClient) CancelDeletionResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), - autorest.ByClosing()) - result.Response = resp - return -} - -// Delete you cannot delete a certificate if a resource (pool or compute node) is using it. Before you can delete a -// certificate, you must therefore make sure that the certificate is not associated with any existing pools, the -// certificate is not installed on any compute nodes (even if you remove a certificate from a pool, it is not removed -// from existing compute nodes in that pool until they restart), and no running tasks depend on the certificate. If you -// try to delete a certificate that is in use, the deletion fails. The certificate status changes to deleteFailed. You -// can use Cancel Delete Certificate to set the status back to active if you decide that you want to continue using the -// certificate. -// -// thumbprintAlgorithm is the algorithm used to derive the thumbprint parameter. This must be sha1. thumbprint is -// the thumbprint of the certificate to be deleted. timeout is the maximum time that the server can spend -// processing the request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated request -// identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. -func (client CertificateClient) Delete(ctx context.Context, thumbprintAlgorithm string, thumbprint string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.DeletePreparer(ctx, thumbprintAlgorithm, thumbprint, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.CertificateClient", "Delete", nil, "Failure preparing request") - return - } - - resp, err := client.DeleteSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.CertificateClient", "Delete", resp, "Failure sending request") - return - } - - result, err = client.DeleteResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.CertificateClient", "Delete", resp, "Failure responding to request") - } - - return -} - -// DeletePreparer prepares the Delete request. -func (client CertificateClient) DeletePreparer(ctx context.Context, thumbprintAlgorithm string, thumbprint string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "thumbprint": autorest.Encode("path", thumbprint), - "thumbprintAlgorithm": autorest.Encode("path", thumbprintAlgorithm), - } - - const APIVersion = "2017-06-01.5.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsDelete(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/certificates(thumbprintAlgorithm={thumbprintAlgorithm},thumbprint={thumbprint})", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DeleteSender sends the Delete request. The method will close the -// http.Response Body if it receives an error. -func (client CertificateClient) DeleteSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// DeleteResponder handles the response to the Delete request. The method always -// closes the http.Response Body. -func (client CertificateClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByClosing()) - result.Response = resp - return -} - -// Get gets information about the specified certificate. -// -// thumbprintAlgorithm is the algorithm used to derive the thumbprint parameter. This must be sha1. thumbprint is -// the thumbprint of the certificate to get. selectParameter is an OData $select clause. timeout is the maximum -// time that the server can spend processing the request, in seconds. The default is 30 seconds. clientRequestID is -// the caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. -func (client CertificateClient) Get(ctx context.Context, thumbprintAlgorithm string, thumbprint string, selectParameter string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result Certificate, err error) { - req, err := client.GetPreparer(ctx, thumbprintAlgorithm, thumbprint, selectParameter, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.CertificateClient", "Get", nil, "Failure preparing request") - return - } - - resp, err := client.GetSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.CertificateClient", "Get", resp, "Failure sending request") - return - } - - result, err = client.GetResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.CertificateClient", "Get", resp, "Failure responding to request") - } - - return -} - -// GetPreparer prepares the Get request. -func (client CertificateClient) GetPreparer(ctx context.Context, thumbprintAlgorithm string, thumbprint string, selectParameter string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "thumbprint": autorest.Encode("path", thumbprint), - "thumbprintAlgorithm": autorest.Encode("path", thumbprintAlgorithm), - } - - const APIVersion = "2017-06-01.5.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(selectParameter) > 0 { - queryParameters["$select"] = autorest.Encode("query", selectParameter) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/certificates(thumbprintAlgorithm={thumbprintAlgorithm},thumbprint={thumbprint})", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetSender sends the Get request. The method will close the -// http.Response Body if it receives an error. -func (client CertificateClient) GetSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// GetResponder handles the response to the Get request. The method always -// closes the http.Response Body. -func (client CertificateClient) GetResponder(resp *http.Response) (result Certificate, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// List sends the list request. -// -// filter is an OData $filter clause. selectParameter is an OData $select clause. maxResults is the maximum number -// of items to return in the response. A maximum of 1000 certificates can be returned. timeout is the maximum time -// that the server can spend processing the request, in seconds. The default is 30 seconds. clientRequestID is the -// caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. -func (client CertificateClient) List(ctx context.Context, filter string, selectParameter string, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result CertificateListResultPage, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: maxResults, - Constraints: []validation.Constraint{{Target: "maxResults", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "maxResults", Name: validation.InclusiveMaximum, Rule: 1000, Chain: nil}, - {Target: "maxResults", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}, - }}}}}); err != nil { - return result, validation.NewError("batch.CertificateClient", "List", err.Error()) - } - - result.fn = client.listNextResults - req, err := client.ListPreparer(ctx, filter, selectParameter, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.CertificateClient", "List", nil, "Failure preparing request") - return - } - - resp, err := client.ListSender(req) - if err != nil { - result.clr.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.CertificateClient", "List", resp, "Failure sending request") - return - } - - result.clr, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.CertificateClient", "List", resp, "Failure responding to request") - } - - return -} - -// ListPreparer prepares the List request. -func (client CertificateClient) ListPreparer(ctx context.Context, filter string, selectParameter string, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - const APIVersion = "2017-06-01.5.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(filter) > 0 { - queryParameters["$filter"] = autorest.Encode("query", filter) - } - if len(selectParameter) > 0 { - queryParameters["$select"] = autorest.Encode("query", selectParameter) - } - if maxResults != nil { - queryParameters["maxresults"] = autorest.Encode("query", *maxResults) - } else { - queryParameters["maxresults"] = autorest.Encode("query", 1000) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPath("/certificates"), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListSender sends the List request. The method will close the -// http.Response Body if it receives an error. -func (client CertificateClient) ListSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ListResponder handles the response to the List request. The method always -// closes the http.Response Body. -func (client CertificateClient) ListResponder(resp *http.Response) (result CertificateListResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listNextResults retrieves the next set of results, if any. -func (client CertificateClient) listNextResults(lastResults CertificateListResult) (result CertificateListResult, err error) { - req, err := lastResults.certificateListResultPreparer() - if err != nil { - return result, autorest.NewErrorWithError(err, "batch.CertificateClient", "listNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "batch.CertificateClient", "listNextResults", resp, "Failure sending next results request") - } - result, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.CertificateClient", "listNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListComplete enumerates all values, automatically crossing page boundaries as required. -func (client CertificateClient) ListComplete(ctx context.Context, filter string, selectParameter string, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result CertificateListResultIterator, err error) { - result.page, err = client.List(ctx, filter, selectParameter, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - return -} diff --git a/services/batch/2017-06-01.5.1/batch/client.go b/services/batch/2017-06-01.5.1/batch/client.go deleted file mode 100644 index 4cbdacf8cdcf..000000000000 --- a/services/batch/2017-06-01.5.1/batch/client.go +++ /dev/null @@ -1,49 +0,0 @@ -// Package batch implements the Azure ARM Batch service API version 2017-06-01.5.1. -// -// A client for issuing REST requests to the Azure Batch service. -package batch - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "github.com/Azure/go-autorest/autorest" -) - -const ( - // DefaultBaseURI is the default URI used for the service Batch - DefaultBaseURI = "https://batch.core.windows.net" -) - -// BaseClient is the base client for Batch. -type BaseClient struct { - autorest.Client - BaseURI string -} - -// New creates an instance of the BaseClient client. -func New() BaseClient { - return NewWithBaseURI(DefaultBaseURI) -} - -// NewWithBaseURI creates an instance of the BaseClient client. -func NewWithBaseURI(baseURI string) BaseClient { - return BaseClient{ - Client: autorest.NewClientWithUserAgent(UserAgent()), - BaseURI: baseURI, - } -} diff --git a/services/batch/2017-06-01.5.1/batch/computenode.go b/services/batch/2017-06-01.5.1/batch/computenode.go deleted file mode 100644 index 8ce773c2a9a4..000000000000 --- a/services/batch/2017-06-01.5.1/batch/computenode.go +++ /dev/null @@ -1,1122 +0,0 @@ -package batch - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/autorest/date" - "github.com/Azure/go-autorest/autorest/validation" - "github.com/satori/go.uuid" - "net/http" -) - -// ComputeNodeClient is the a client for issuing REST requests to the Azure Batch service. -type ComputeNodeClient struct { - BaseClient -} - -// NewComputeNodeClient creates an instance of the ComputeNodeClient client. -func NewComputeNodeClient() ComputeNodeClient { - return NewComputeNodeClientWithBaseURI(DefaultBaseURI) -} - -// NewComputeNodeClientWithBaseURI creates an instance of the ComputeNodeClient client. -func NewComputeNodeClientWithBaseURI(baseURI string) ComputeNodeClient { - return ComputeNodeClient{NewWithBaseURI(baseURI)} -} - -// AddUser you can add a user account to a node only when it is in the idle or running state. -// -// poolID is the ID of the pool that contains the compute node. nodeID is the ID of the machine on which you want -// to create a user account. userParameter is the user account to be created. timeout is the maximum time that the -// server can spend processing the request, in seconds. The default is 30 seconds. clientRequestID is the -// caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. -func (client ComputeNodeClient) AddUser(ctx context.Context, poolID string, nodeID string, userParameter ComputeNodeUser, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: userParameter, - Constraints: []validation.Constraint{{Target: "userParameter.Name", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { - return result, validation.NewError("batch.ComputeNodeClient", "AddUser", err.Error()) - } - - req, err := client.AddUserPreparer(ctx, poolID, nodeID, userParameter, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "AddUser", nil, "Failure preparing request") - return - } - - resp, err := client.AddUserSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "AddUser", resp, "Failure sending request") - return - } - - result, err = client.AddUserResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "AddUser", resp, "Failure responding to request") - } - - return -} - -// AddUserPreparer prepares the AddUser request. -func (client ComputeNodeClient) AddUserPreparer(ctx context.Context, poolID string, nodeID string, userParameter ComputeNodeUser, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "nodeId": autorest.Encode("path", nodeID), - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2017-06-01.5.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/nodes/{nodeId}/users", pathParameters), - autorest.WithJSON(userParameter), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// AddUserSender sends the AddUser request. The method will close the -// http.Response Body if it receives an error. -func (client ComputeNodeClient) AddUserSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// AddUserResponder handles the response to the AddUser request. The method always -// closes the http.Response Body. -func (client ComputeNodeClient) AddUserResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), - autorest.ByClosing()) - result.Response = resp - return -} - -// DeleteUser you can delete a user account to a node only when it is in the idle or running state. -// -// poolID is the ID of the pool that contains the compute node. nodeID is the ID of the machine on which you want -// to delete a user account. userName is the name of the user account to delete. timeout is the maximum time that -// the server can spend processing the request, in seconds. The default is 30 seconds. clientRequestID is the -// caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. -func (client ComputeNodeClient) DeleteUser(ctx context.Context, poolID string, nodeID string, userName string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.DeleteUserPreparer(ctx, poolID, nodeID, userName, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "DeleteUser", nil, "Failure preparing request") - return - } - - resp, err := client.DeleteUserSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "DeleteUser", resp, "Failure sending request") - return - } - - result, err = client.DeleteUserResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "DeleteUser", resp, "Failure responding to request") - } - - return -} - -// DeleteUserPreparer prepares the DeleteUser request. -func (client ComputeNodeClient) DeleteUserPreparer(ctx context.Context, poolID string, nodeID string, userName string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "nodeId": autorest.Encode("path", nodeID), - "poolId": autorest.Encode("path", poolID), - "userName": autorest.Encode("path", userName), - } - - const APIVersion = "2017-06-01.5.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsDelete(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/nodes/{nodeId}/users/{userName}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DeleteUserSender sends the DeleteUser request. The method will close the -// http.Response Body if it receives an error. -func (client ComputeNodeClient) DeleteUserSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// DeleteUserResponder handles the response to the DeleteUser request. The method always -// closes the http.Response Body. -func (client ComputeNodeClient) DeleteUserResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} - -// DisableScheduling you can disable task scheduling on a node only if its current scheduling state is enabled. -// -// poolID is the ID of the pool that contains the compute node. nodeID is the ID of the compute node on which you -// want to disable task scheduling. nodeDisableSchedulingParameter is the parameters for the request. timeout is -// the maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. -// clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such as curly -// braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. -func (client ComputeNodeClient) DisableScheduling(ctx context.Context, poolID string, nodeID string, nodeDisableSchedulingParameter *NodeDisableSchedulingParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.DisableSchedulingPreparer(ctx, poolID, nodeID, nodeDisableSchedulingParameter, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "DisableScheduling", nil, "Failure preparing request") - return - } - - resp, err := client.DisableSchedulingSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "DisableScheduling", resp, "Failure sending request") - return - } - - result, err = client.DisableSchedulingResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "DisableScheduling", resp, "Failure responding to request") - } - - return -} - -// DisableSchedulingPreparer prepares the DisableScheduling request. -func (client ComputeNodeClient) DisableSchedulingPreparer(ctx context.Context, poolID string, nodeID string, nodeDisableSchedulingParameter *NodeDisableSchedulingParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "nodeId": autorest.Encode("path", nodeID), - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2017-06-01.5.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/nodes/{nodeId}/disablescheduling", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if nodeDisableSchedulingParameter != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithJSON(nodeDisableSchedulingParameter)) - } - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DisableSchedulingSender sends the DisableScheduling request. The method will close the -// http.Response Body if it receives an error. -func (client ComputeNodeClient) DisableSchedulingSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// DisableSchedulingResponder handles the response to the DisableScheduling request. The method always -// closes the http.Response Body. -func (client ComputeNodeClient) DisableSchedulingResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} - -// EnableScheduling you can enable task scheduling on a node only if its current scheduling state is disabled -// -// poolID is the ID of the pool that contains the compute node. nodeID is the ID of the compute node on which you -// want to enable task scheduling. timeout is the maximum time that the server can spend processing the request, in -// seconds. The default is 30 seconds. clientRequestID is the caller-generated request identity, in the form of a -// GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID -// is whether the server should return the client-request-id in the response. ocpDate is the time the request was -// issued. Client libraries typically set this to the current system clock time; set it explicitly if you are -// calling the REST API directly. -func (client ComputeNodeClient) EnableScheduling(ctx context.Context, poolID string, nodeID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.EnableSchedulingPreparer(ctx, poolID, nodeID, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "EnableScheduling", nil, "Failure preparing request") - return - } - - resp, err := client.EnableSchedulingSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "EnableScheduling", resp, "Failure sending request") - return - } - - result, err = client.EnableSchedulingResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "EnableScheduling", resp, "Failure responding to request") - } - - return -} - -// EnableSchedulingPreparer prepares the EnableScheduling request. -func (client ComputeNodeClient) EnableSchedulingPreparer(ctx context.Context, poolID string, nodeID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "nodeId": autorest.Encode("path", nodeID), - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2017-06-01.5.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/nodes/{nodeId}/enablescheduling", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// EnableSchedulingSender sends the EnableScheduling request. The method will close the -// http.Response Body if it receives an error. -func (client ComputeNodeClient) EnableSchedulingSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// EnableSchedulingResponder handles the response to the EnableScheduling request. The method always -// closes the http.Response Body. -func (client ComputeNodeClient) EnableSchedulingResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} - -// Get sends the get request. -// -// poolID is the ID of the pool that contains the compute node. nodeID is the ID of the compute node that you want -// to get information about. selectParameter is an OData $select clause. timeout is the maximum time that the -// server can spend processing the request, in seconds. The default is 30 seconds. clientRequestID is the -// caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. -func (client ComputeNodeClient) Get(ctx context.Context, poolID string, nodeID string, selectParameter string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result ComputeNode, err error) { - req, err := client.GetPreparer(ctx, poolID, nodeID, selectParameter, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "Get", nil, "Failure preparing request") - return - } - - resp, err := client.GetSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "Get", resp, "Failure sending request") - return - } - - result, err = client.GetResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "Get", resp, "Failure responding to request") - } - - return -} - -// GetPreparer prepares the Get request. -func (client ComputeNodeClient) GetPreparer(ctx context.Context, poolID string, nodeID string, selectParameter string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "nodeId": autorest.Encode("path", nodeID), - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2017-06-01.5.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(selectParameter) > 0 { - queryParameters["$select"] = autorest.Encode("query", selectParameter) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/nodes/{nodeId}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetSender sends the Get request. The method will close the -// http.Response Body if it receives an error. -func (client ComputeNodeClient) GetSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// GetResponder handles the response to the Get request. The method always -// closes the http.Response Body. -func (client ComputeNodeClient) GetResponder(resp *http.Response) (result ComputeNode, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// GetRemoteDesktop before you can access a node by using the RDP file, you must create a user account on the node. -// This API can only be invoked on pools created with a cloud service configuration. For pools created with a virtual -// machine configuration, see the GetRemoteLoginSettings API. -// -// poolID is the ID of the pool that contains the compute node. nodeID is the ID of the compute node for which you -// want to get the Remote Desktop Protocol file. timeout is the maximum time that the server can spend processing -// the request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated request identity, in -// the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. -// returnClientRequestID is whether the server should return the client-request-id in the response. ocpDate is the -// time the request was issued. Client libraries typically set this to the current system clock time; set it -// explicitly if you are calling the REST API directly. -func (client ComputeNodeClient) GetRemoteDesktop(ctx context.Context, poolID string, nodeID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result ReadCloser, err error) { - req, err := client.GetRemoteDesktopPreparer(ctx, poolID, nodeID, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "GetRemoteDesktop", nil, "Failure preparing request") - return - } - - resp, err := client.GetRemoteDesktopSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "GetRemoteDesktop", resp, "Failure sending request") - return - } - - result, err = client.GetRemoteDesktopResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "GetRemoteDesktop", resp, "Failure responding to request") - } - - return -} - -// GetRemoteDesktopPreparer prepares the GetRemoteDesktop request. -func (client ComputeNodeClient) GetRemoteDesktopPreparer(ctx context.Context, poolID string, nodeID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "nodeId": autorest.Encode("path", nodeID), - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2017-06-01.5.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/nodes/{nodeId}/rdp", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetRemoteDesktopSender sends the GetRemoteDesktop request. The method will close the -// http.Response Body if it receives an error. -func (client ComputeNodeClient) GetRemoteDesktopSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// GetRemoteDesktopResponder handles the response to the GetRemoteDesktop request. The method always -// closes the http.Response Body. -func (client ComputeNodeClient) GetRemoteDesktopResponder(resp *http.Response) (result ReadCloser, err error) { - result.Value = &resp.Body - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK)) - result.Response = autorest.Response{Response: resp} - return -} - -// GetRemoteLoginSettings before you can remotely login to a node using the remote login settings, you must create a -// user account on the node. This API can be invoked only on pools created with the virtual machine configuration -// property. For pools created with a cloud service configuration, see the GetRemoteDesktop API. -// -// poolID is the ID of the pool that contains the compute node. nodeID is the ID of the compute node for which to -// obtain the remote login settings. timeout is the maximum time that the server can spend processing the request, -// in seconds. The default is 30 seconds. clientRequestID is the caller-generated request identity, in the form of -// a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID -// is whether the server should return the client-request-id in the response. ocpDate is the time the request was -// issued. Client libraries typically set this to the current system clock time; set it explicitly if you are -// calling the REST API directly. -func (client ComputeNodeClient) GetRemoteLoginSettings(ctx context.Context, poolID string, nodeID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result ComputeNodeGetRemoteLoginSettingsResult, err error) { - req, err := client.GetRemoteLoginSettingsPreparer(ctx, poolID, nodeID, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "GetRemoteLoginSettings", nil, "Failure preparing request") - return - } - - resp, err := client.GetRemoteLoginSettingsSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "GetRemoteLoginSettings", resp, "Failure sending request") - return - } - - result, err = client.GetRemoteLoginSettingsResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "GetRemoteLoginSettings", resp, "Failure responding to request") - } - - return -} - -// GetRemoteLoginSettingsPreparer prepares the GetRemoteLoginSettings request. -func (client ComputeNodeClient) GetRemoteLoginSettingsPreparer(ctx context.Context, poolID string, nodeID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "nodeId": autorest.Encode("path", nodeID), - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2017-06-01.5.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/nodes/{nodeId}/remoteloginsettings", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetRemoteLoginSettingsSender sends the GetRemoteLoginSettings request. The method will close the -// http.Response Body if it receives an error. -func (client ComputeNodeClient) GetRemoteLoginSettingsSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// GetRemoteLoginSettingsResponder handles the response to the GetRemoteLoginSettings request. The method always -// closes the http.Response Body. -func (client ComputeNodeClient) GetRemoteLoginSettingsResponder(resp *http.Response) (result ComputeNodeGetRemoteLoginSettingsResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// List sends the list request. -// -// poolID is the ID of the pool from which you want to list nodes. filter is an OData $filter clause.. -// selectParameter is an OData $select clause. maxResults is the maximum number of items to return in the response. -// A maximum of 1000 nodes can be returned. timeout is the maximum time that the server can spend processing the -// request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated request identity, in the -// form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. -// returnClientRequestID is whether the server should return the client-request-id in the response. ocpDate is the -// time the request was issued. Client libraries typically set this to the current system clock time; set it -// explicitly if you are calling the REST API directly. -func (client ComputeNodeClient) List(ctx context.Context, poolID string, filter string, selectParameter string, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result ComputeNodeListResultPage, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: maxResults, - Constraints: []validation.Constraint{{Target: "maxResults", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "maxResults", Name: validation.InclusiveMaximum, Rule: 1000, Chain: nil}, - {Target: "maxResults", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}, - }}}}}); err != nil { - return result, validation.NewError("batch.ComputeNodeClient", "List", err.Error()) - } - - result.fn = client.listNextResults - req, err := client.ListPreparer(ctx, poolID, filter, selectParameter, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "List", nil, "Failure preparing request") - return - } - - resp, err := client.ListSender(req) - if err != nil { - result.cnlr.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "List", resp, "Failure sending request") - return - } - - result.cnlr, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "List", resp, "Failure responding to request") - } - - return -} - -// ListPreparer prepares the List request. -func (client ComputeNodeClient) ListPreparer(ctx context.Context, poolID string, filter string, selectParameter string, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2017-06-01.5.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(filter) > 0 { - queryParameters["$filter"] = autorest.Encode("query", filter) - } - if len(selectParameter) > 0 { - queryParameters["$select"] = autorest.Encode("query", selectParameter) - } - if maxResults != nil { - queryParameters["maxresults"] = autorest.Encode("query", *maxResults) - } else { - queryParameters["maxresults"] = autorest.Encode("query", 1000) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/nodes", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListSender sends the List request. The method will close the -// http.Response Body if it receives an error. -func (client ComputeNodeClient) ListSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ListResponder handles the response to the List request. The method always -// closes the http.Response Body. -func (client ComputeNodeClient) ListResponder(resp *http.Response) (result ComputeNodeListResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listNextResults retrieves the next set of results, if any. -func (client ComputeNodeClient) listNextResults(lastResults ComputeNodeListResult) (result ComputeNodeListResult, err error) { - req, err := lastResults.computeNodeListResultPreparer() - if err != nil { - return result, autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "listNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "listNextResults", resp, "Failure sending next results request") - } - result, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "listNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListComplete enumerates all values, automatically crossing page boundaries as required. -func (client ComputeNodeClient) ListComplete(ctx context.Context, poolID string, filter string, selectParameter string, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result ComputeNodeListResultIterator, err error) { - result.page, err = client.List(ctx, poolID, filter, selectParameter, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - return -} - -// Reboot you can restart a node only if it is in an idle or running state. -// -// poolID is the ID of the pool that contains the compute node. nodeID is the ID of the compute node that you want -// to restart. nodeRebootParameter is the parameters for the request. timeout is the maximum time that the server -// can spend processing the request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated -// request identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. -func (client ComputeNodeClient) Reboot(ctx context.Context, poolID string, nodeID string, nodeRebootParameter *NodeRebootParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.RebootPreparer(ctx, poolID, nodeID, nodeRebootParameter, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "Reboot", nil, "Failure preparing request") - return - } - - resp, err := client.RebootSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "Reboot", resp, "Failure sending request") - return - } - - result, err = client.RebootResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "Reboot", resp, "Failure responding to request") - } - - return -} - -// RebootPreparer prepares the Reboot request. -func (client ComputeNodeClient) RebootPreparer(ctx context.Context, poolID string, nodeID string, nodeRebootParameter *NodeRebootParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "nodeId": autorest.Encode("path", nodeID), - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2017-06-01.5.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/nodes/{nodeId}/reboot", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if nodeRebootParameter != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithJSON(nodeRebootParameter)) - } - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// RebootSender sends the Reboot request. The method will close the -// http.Response Body if it receives an error. -func (client ComputeNodeClient) RebootSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// RebootResponder handles the response to the Reboot request. The method always -// closes the http.Response Body. -func (client ComputeNodeClient) RebootResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByClosing()) - result.Response = resp - return -} - -// Reimage you can reinstall the operating system on a node only if it is in an idle or running state. This API can be -// invoked only on pools created with the cloud service configuration property. -// -// poolID is the ID of the pool that contains the compute node. nodeID is the ID of the compute node that you want -// to restart. nodeReimageParameter is the parameters for the request. timeout is the maximum time that the server -// can spend processing the request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated -// request identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. -func (client ComputeNodeClient) Reimage(ctx context.Context, poolID string, nodeID string, nodeReimageParameter *NodeReimageParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.ReimagePreparer(ctx, poolID, nodeID, nodeReimageParameter, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "Reimage", nil, "Failure preparing request") - return - } - - resp, err := client.ReimageSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "Reimage", resp, "Failure sending request") - return - } - - result, err = client.ReimageResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "Reimage", resp, "Failure responding to request") - } - - return -} - -// ReimagePreparer prepares the Reimage request. -func (client ComputeNodeClient) ReimagePreparer(ctx context.Context, poolID string, nodeID string, nodeReimageParameter *NodeReimageParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "nodeId": autorest.Encode("path", nodeID), - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2017-06-01.5.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/nodes/{nodeId}/reimage", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if nodeReimageParameter != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithJSON(nodeReimageParameter)) - } - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ReimageSender sends the Reimage request. The method will close the -// http.Response Body if it receives an error. -func (client ComputeNodeClient) ReimageSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ReimageResponder handles the response to the Reimage request. The method always -// closes the http.Response Body. -func (client ComputeNodeClient) ReimageResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByClosing()) - result.Response = resp - return -} - -// UpdateUser this operation replaces of all the updateable properties of the account. For example, if the expiryTime -// element is not specified, the current value is replaced with the default value, not left unmodified. You can update -// a user account on a node only when it is in the idle or running state. -// -// poolID is the ID of the pool that contains the compute node. nodeID is the ID of the machine on which you want -// to update a user account. userName is the name of the user account to update. nodeUpdateUserParameter is the -// parameters for the request. timeout is the maximum time that the server can spend processing the request, in -// seconds. The default is 30 seconds. clientRequestID is the caller-generated request identity, in the form of a -// GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID -// is whether the server should return the client-request-id in the response. ocpDate is the time the request was -// issued. Client libraries typically set this to the current system clock time; set it explicitly if you are -// calling the REST API directly. -func (client ComputeNodeClient) UpdateUser(ctx context.Context, poolID string, nodeID string, userName string, nodeUpdateUserParameter NodeUpdateUserParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.UpdateUserPreparer(ctx, poolID, nodeID, userName, nodeUpdateUserParameter, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "UpdateUser", nil, "Failure preparing request") - return - } - - resp, err := client.UpdateUserSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "UpdateUser", resp, "Failure sending request") - return - } - - result, err = client.UpdateUserResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "UpdateUser", resp, "Failure responding to request") - } - - return -} - -// UpdateUserPreparer prepares the UpdateUser request. -func (client ComputeNodeClient) UpdateUserPreparer(ctx context.Context, poolID string, nodeID string, userName string, nodeUpdateUserParameter NodeUpdateUserParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "nodeId": autorest.Encode("path", nodeID), - "poolId": autorest.Encode("path", poolID), - "userName": autorest.Encode("path", userName), - } - - const APIVersion = "2017-06-01.5.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPut(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/nodes/{nodeId}/users/{userName}", pathParameters), - autorest.WithJSON(nodeUpdateUserParameter), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// UpdateUserSender sends the UpdateUser request. The method will close the -// http.Response Body if it receives an error. -func (client ComputeNodeClient) UpdateUserSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// UpdateUserResponder handles the response to the UpdateUser request. The method always -// closes the http.Response Body. -func (client ComputeNodeClient) UpdateUserResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} diff --git a/services/batch/2017-06-01.5.1/batch/file.go b/services/batch/2017-06-01.5.1/batch/file.go deleted file mode 100644 index 0049b60508f8..000000000000 --- a/services/batch/2017-06-01.5.1/batch/file.go +++ /dev/null @@ -1,942 +0,0 @@ -package batch - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/autorest/date" - "github.com/Azure/go-autorest/autorest/validation" - "github.com/satori/go.uuid" - "net/http" -) - -// FileClient is the a client for issuing REST requests to the Azure Batch service. -type FileClient struct { - BaseClient -} - -// NewFileClient creates an instance of the FileClient client. -func NewFileClient() FileClient { - return NewFileClientWithBaseURI(DefaultBaseURI) -} - -// NewFileClientWithBaseURI creates an instance of the FileClient client. -func NewFileClientWithBaseURI(baseURI string) FileClient { - return FileClient{NewWithBaseURI(baseURI)} -} - -// DeleteFromComputeNode sends the delete from compute node request. -// -// poolID is the ID of the pool that contains the compute node. nodeID is the ID of the compute node from which you -// want to delete the file. filePath is the path to the file or directory that you want to delete. recursive is -// whether to delete children of a directory. If the filePath parameter represents a directory instead of a file, -// you can set recursive to true to delete the directory and all of the files and subdirectories in it. If -// recursive is false then the directory must be empty or deletion will fail. timeout is the maximum time that the -// server can spend processing the request, in seconds. The default is 30 seconds. clientRequestID is the -// caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. -func (client FileClient) DeleteFromComputeNode(ctx context.Context, poolID string, nodeID string, filePath string, recursive *bool, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.DeleteFromComputeNodePreparer(ctx, poolID, nodeID, filePath, recursive, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "DeleteFromComputeNode", nil, "Failure preparing request") - return - } - - resp, err := client.DeleteFromComputeNodeSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.FileClient", "DeleteFromComputeNode", resp, "Failure sending request") - return - } - - result, err = client.DeleteFromComputeNodeResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "DeleteFromComputeNode", resp, "Failure responding to request") - } - - return -} - -// DeleteFromComputeNodePreparer prepares the DeleteFromComputeNode request. -func (client FileClient) DeleteFromComputeNodePreparer(ctx context.Context, poolID string, nodeID string, filePath string, recursive *bool, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "filePath": autorest.Encode("path", filePath), - "nodeId": autorest.Encode("path", nodeID), - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2017-06-01.5.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if recursive != nil { - queryParameters["recursive"] = autorest.Encode("query", *recursive) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsDelete(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/nodes/{nodeId}/files/{filePath}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DeleteFromComputeNodeSender sends the DeleteFromComputeNode request. The method will close the -// http.Response Body if it receives an error. -func (client FileClient) DeleteFromComputeNodeSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// DeleteFromComputeNodeResponder handles the response to the DeleteFromComputeNode request. The method always -// closes the http.Response Body. -func (client FileClient) DeleteFromComputeNodeResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} - -// DeleteFromTask sends the delete from task request. -// -// jobID is the ID of the job that contains the task. taskID is the ID of the task whose file you want to delete. -// filePath is the path to the task file or directory that you want to delete. recursive is whether to delete -// children of a directory. If the filePath parameter represents a directory instead of a file, you can set -// recursive to true to delete the directory and all of the files and subdirectories in it. If recursive is false -// then the directory must be empty or deletion will fail. timeout is the maximum time that the server can spend -// processing the request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated request -// identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. -func (client FileClient) DeleteFromTask(ctx context.Context, jobID string, taskID string, filePath string, recursive *bool, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.DeleteFromTaskPreparer(ctx, jobID, taskID, filePath, recursive, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "DeleteFromTask", nil, "Failure preparing request") - return - } - - resp, err := client.DeleteFromTaskSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.FileClient", "DeleteFromTask", resp, "Failure sending request") - return - } - - result, err = client.DeleteFromTaskResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "DeleteFromTask", resp, "Failure responding to request") - } - - return -} - -// DeleteFromTaskPreparer prepares the DeleteFromTask request. -func (client FileClient) DeleteFromTaskPreparer(ctx context.Context, jobID string, taskID string, filePath string, recursive *bool, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "filePath": autorest.Encode("path", filePath), - "jobId": autorest.Encode("path", jobID), - "taskId": autorest.Encode("path", taskID), - } - - const APIVersion = "2017-06-01.5.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if recursive != nil { - queryParameters["recursive"] = autorest.Encode("query", *recursive) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsDelete(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}/tasks/{taskId}/files/{filePath}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DeleteFromTaskSender sends the DeleteFromTask request. The method will close the -// http.Response Body if it receives an error. -func (client FileClient) DeleteFromTaskSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// DeleteFromTaskResponder handles the response to the DeleteFromTask request. The method always -// closes the http.Response Body. -func (client FileClient) DeleteFromTaskResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} - -// GetFromComputeNode returns the content of the specified compute node file. -// -// poolID is the ID of the pool that contains the compute node. nodeID is the ID of the compute node that contains -// the file. filePath is the path to the compute node file that you want to get the content of. timeout is the -// maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. -// clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such as curly -// braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. ocpRange is -// the byte range to be retrieved. The default is to retrieve the entire file. The format is -// bytes=startRange-endRange. ifModifiedSince is a timestamp indicating the last modified time of the resource -// known to the client. The operation will be performed only if the resource on the service has been modified since -// the specified time. ifUnmodifiedSince is a timestamp indicating the last modified time of the resource known to -// the client. The operation will be performed only if the resource on the service has not been modified since the -// specified time. -func (client FileClient) GetFromComputeNode(ctx context.Context, poolID string, nodeID string, filePath string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ocpRange string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result ReadCloser, err error) { - req, err := client.GetFromComputeNodePreparer(ctx, poolID, nodeID, filePath, timeout, clientRequestID, returnClientRequestID, ocpDate, ocpRange, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "GetFromComputeNode", nil, "Failure preparing request") - return - } - - resp, err := client.GetFromComputeNodeSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.FileClient", "GetFromComputeNode", resp, "Failure sending request") - return - } - - result, err = client.GetFromComputeNodeResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "GetFromComputeNode", resp, "Failure responding to request") - } - - return -} - -// GetFromComputeNodePreparer prepares the GetFromComputeNode request. -func (client FileClient) GetFromComputeNodePreparer(ctx context.Context, poolID string, nodeID string, filePath string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ocpRange string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "filePath": autorest.Encode("path", filePath), - "nodeId": autorest.Encode("path", nodeID), - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2017-06-01.5.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/nodes/{nodeId}/files/{filePath}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ocpRange) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-range", autorest.String(ocpRange))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetFromComputeNodeSender sends the GetFromComputeNode request. The method will close the -// http.Response Body if it receives an error. -func (client FileClient) GetFromComputeNodeSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// GetFromComputeNodeResponder handles the response to the GetFromComputeNode request. The method always -// closes the http.Response Body. -func (client FileClient) GetFromComputeNodeResponder(resp *http.Response) (result ReadCloser, err error) { - result.Value = &resp.Body - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK)) - result.Response = autorest.Response{Response: resp} - return -} - -// GetFromTask returns the content of the specified task file. -// -// jobID is the ID of the job that contains the task. taskID is the ID of the task whose file you want to retrieve. -// filePath is the path to the task file that you want to get the content of. timeout is the maximum time that the -// server can spend processing the request, in seconds. The default is 30 seconds. clientRequestID is the -// caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. ocpRange is -// the byte range to be retrieved. The default is to retrieve the entire file. The format is -// bytes=startRange-endRange. ifModifiedSince is a timestamp indicating the last modified time of the resource -// known to the client. The operation will be performed only if the resource on the service has been modified since -// the specified time. ifUnmodifiedSince is a timestamp indicating the last modified time of the resource known to -// the client. The operation will be performed only if the resource on the service has not been modified since the -// specified time. -func (client FileClient) GetFromTask(ctx context.Context, jobID string, taskID string, filePath string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ocpRange string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result ReadCloser, err error) { - req, err := client.GetFromTaskPreparer(ctx, jobID, taskID, filePath, timeout, clientRequestID, returnClientRequestID, ocpDate, ocpRange, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "GetFromTask", nil, "Failure preparing request") - return - } - - resp, err := client.GetFromTaskSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.FileClient", "GetFromTask", resp, "Failure sending request") - return - } - - result, err = client.GetFromTaskResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "GetFromTask", resp, "Failure responding to request") - } - - return -} - -// GetFromTaskPreparer prepares the GetFromTask request. -func (client FileClient) GetFromTaskPreparer(ctx context.Context, jobID string, taskID string, filePath string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ocpRange string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "filePath": autorest.Encode("path", filePath), - "jobId": autorest.Encode("path", jobID), - "taskId": autorest.Encode("path", taskID), - } - - const APIVersion = "2017-06-01.5.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}/tasks/{taskId}/files/{filePath}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ocpRange) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-range", autorest.String(ocpRange))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetFromTaskSender sends the GetFromTask request. The method will close the -// http.Response Body if it receives an error. -func (client FileClient) GetFromTaskSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// GetFromTaskResponder handles the response to the GetFromTask request. The method always -// closes the http.Response Body. -func (client FileClient) GetFromTaskResponder(resp *http.Response) (result ReadCloser, err error) { - result.Value = &resp.Body - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK)) - result.Response = autorest.Response{Response: resp} - return -} - -// GetPropertiesFromComputeNode gets the properties of the specified compute node file. -// -// poolID is the ID of the pool that contains the compute node. nodeID is the ID of the compute node that contains -// the file. filePath is the path to the compute node file that you want to get the properties of. timeout is the -// maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. -// clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such as curly -// braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. -// ifModifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has been modified since the specified time. -// ifUnmodifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has not been modified since the specified time. -func (client FileClient) GetPropertiesFromComputeNode(ctx context.Context, poolID string, nodeID string, filePath string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.GetPropertiesFromComputeNodePreparer(ctx, poolID, nodeID, filePath, timeout, clientRequestID, returnClientRequestID, ocpDate, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "GetPropertiesFromComputeNode", nil, "Failure preparing request") - return - } - - resp, err := client.GetPropertiesFromComputeNodeSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.FileClient", "GetPropertiesFromComputeNode", resp, "Failure sending request") - return - } - - result, err = client.GetPropertiesFromComputeNodeResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "GetPropertiesFromComputeNode", resp, "Failure responding to request") - } - - return -} - -// GetPropertiesFromComputeNodePreparer prepares the GetPropertiesFromComputeNode request. -func (client FileClient) GetPropertiesFromComputeNodePreparer(ctx context.Context, poolID string, nodeID string, filePath string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "filePath": autorest.Encode("path", filePath), - "nodeId": autorest.Encode("path", nodeID), - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2017-06-01.5.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsHead(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/nodes/{nodeId}/files/{filePath}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetPropertiesFromComputeNodeSender sends the GetPropertiesFromComputeNode request. The method will close the -// http.Response Body if it receives an error. -func (client FileClient) GetPropertiesFromComputeNodeSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// GetPropertiesFromComputeNodeResponder handles the response to the GetPropertiesFromComputeNode request. The method always -// closes the http.Response Body. -func (client FileClient) GetPropertiesFromComputeNodeResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} - -// GetPropertiesFromTask gets the properties of the specified task file. -// -// jobID is the ID of the job that contains the task. taskID is the ID of the task whose file you want to get the -// properties of. filePath is the path to the task file that you want to get the properties of. timeout is the -// maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. -// clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such as curly -// braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. -// ifModifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has been modified since the specified time. -// ifUnmodifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has not been modified since the specified time. -func (client FileClient) GetPropertiesFromTask(ctx context.Context, jobID string, taskID string, filePath string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.GetPropertiesFromTaskPreparer(ctx, jobID, taskID, filePath, timeout, clientRequestID, returnClientRequestID, ocpDate, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "GetPropertiesFromTask", nil, "Failure preparing request") - return - } - - resp, err := client.GetPropertiesFromTaskSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.FileClient", "GetPropertiesFromTask", resp, "Failure sending request") - return - } - - result, err = client.GetPropertiesFromTaskResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "GetPropertiesFromTask", resp, "Failure responding to request") - } - - return -} - -// GetPropertiesFromTaskPreparer prepares the GetPropertiesFromTask request. -func (client FileClient) GetPropertiesFromTaskPreparer(ctx context.Context, jobID string, taskID string, filePath string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "filePath": autorest.Encode("path", filePath), - "jobId": autorest.Encode("path", jobID), - "taskId": autorest.Encode("path", taskID), - } - - const APIVersion = "2017-06-01.5.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsHead(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}/tasks/{taskId}/files/{filePath}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetPropertiesFromTaskSender sends the GetPropertiesFromTask request. The method will close the -// http.Response Body if it receives an error. -func (client FileClient) GetPropertiesFromTaskSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// GetPropertiesFromTaskResponder handles the response to the GetPropertiesFromTask request. The method always -// closes the http.Response Body. -func (client FileClient) GetPropertiesFromTaskResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} - -// ListFromComputeNode sends the list from compute node request. -// -// poolID is the ID of the pool that contains the compute node. nodeID is the ID of the compute node whose files -// you want to list. filter is an OData $filter clause. recursive is whether to list children of a directory. -// maxResults is the maximum number of items to return in the response. A maximum of 1000 files can be returned. -// timeout is the maximum time that the server can spend processing the request, in seconds. The default is 30 -// seconds. clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such -// as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should -// return the client-request-id in the response. ocpDate is the time the request was issued. Client libraries -// typically set this to the current system clock time; set it explicitly if you are calling the REST API directly. -func (client FileClient) ListFromComputeNode(ctx context.Context, poolID string, nodeID string, filter string, recursive *bool, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result NodeFileListResultPage, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: maxResults, - Constraints: []validation.Constraint{{Target: "maxResults", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "maxResults", Name: validation.InclusiveMaximum, Rule: 1000, Chain: nil}, - {Target: "maxResults", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}, - }}}}}); err != nil { - return result, validation.NewError("batch.FileClient", "ListFromComputeNode", err.Error()) - } - - result.fn = client.listFromComputeNodeNextResults - req, err := client.ListFromComputeNodePreparer(ctx, poolID, nodeID, filter, recursive, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "ListFromComputeNode", nil, "Failure preparing request") - return - } - - resp, err := client.ListFromComputeNodeSender(req) - if err != nil { - result.nflr.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.FileClient", "ListFromComputeNode", resp, "Failure sending request") - return - } - - result.nflr, err = client.ListFromComputeNodeResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "ListFromComputeNode", resp, "Failure responding to request") - } - - return -} - -// ListFromComputeNodePreparer prepares the ListFromComputeNode request. -func (client FileClient) ListFromComputeNodePreparer(ctx context.Context, poolID string, nodeID string, filter string, recursive *bool, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "nodeId": autorest.Encode("path", nodeID), - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2017-06-01.5.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(filter) > 0 { - queryParameters["$filter"] = autorest.Encode("query", filter) - } - if recursive != nil { - queryParameters["recursive"] = autorest.Encode("query", *recursive) - } - if maxResults != nil { - queryParameters["maxresults"] = autorest.Encode("query", *maxResults) - } else { - queryParameters["maxresults"] = autorest.Encode("query", 1000) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/nodes/{nodeId}/files", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListFromComputeNodeSender sends the ListFromComputeNode request. The method will close the -// http.Response Body if it receives an error. -func (client FileClient) ListFromComputeNodeSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ListFromComputeNodeResponder handles the response to the ListFromComputeNode request. The method always -// closes the http.Response Body. -func (client FileClient) ListFromComputeNodeResponder(resp *http.Response) (result NodeFileListResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listFromComputeNodeNextResults retrieves the next set of results, if any. -func (client FileClient) listFromComputeNodeNextResults(lastResults NodeFileListResult) (result NodeFileListResult, err error) { - req, err := lastResults.nodeFileListResultPreparer() - if err != nil { - return result, autorest.NewErrorWithError(err, "batch.FileClient", "listFromComputeNodeNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListFromComputeNodeSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "batch.FileClient", "listFromComputeNodeNextResults", resp, "Failure sending next results request") - } - result, err = client.ListFromComputeNodeResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "listFromComputeNodeNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListFromComputeNodeComplete enumerates all values, automatically crossing page boundaries as required. -func (client FileClient) ListFromComputeNodeComplete(ctx context.Context, poolID string, nodeID string, filter string, recursive *bool, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result NodeFileListResultIterator, err error) { - result.page, err = client.ListFromComputeNode(ctx, poolID, nodeID, filter, recursive, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - return -} - -// ListFromTask sends the list from task request. -// -// jobID is the ID of the job that contains the task. taskID is the ID of the task whose files you want to list. -// filter is an OData $filter clause. recursive is whether to list children of the task directory. This parameter -// can be used in combination with the filter parameter to list specific type of files. maxResults is the maximum -// number of items to return in the response. A maximum of 1000 files can be returned. timeout is the maximum time -// that the server can spend processing the request, in seconds. The default is 30 seconds. clientRequestID is the -// caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. -func (client FileClient) ListFromTask(ctx context.Context, jobID string, taskID string, filter string, recursive *bool, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result NodeFileListResultPage, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: maxResults, - Constraints: []validation.Constraint{{Target: "maxResults", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "maxResults", Name: validation.InclusiveMaximum, Rule: 1000, Chain: nil}, - {Target: "maxResults", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}, - }}}}}); err != nil { - return result, validation.NewError("batch.FileClient", "ListFromTask", err.Error()) - } - - result.fn = client.listFromTaskNextResults - req, err := client.ListFromTaskPreparer(ctx, jobID, taskID, filter, recursive, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "ListFromTask", nil, "Failure preparing request") - return - } - - resp, err := client.ListFromTaskSender(req) - if err != nil { - result.nflr.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.FileClient", "ListFromTask", resp, "Failure sending request") - return - } - - result.nflr, err = client.ListFromTaskResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "ListFromTask", resp, "Failure responding to request") - } - - return -} - -// ListFromTaskPreparer prepares the ListFromTask request. -func (client FileClient) ListFromTaskPreparer(ctx context.Context, jobID string, taskID string, filter string, recursive *bool, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - "taskId": autorest.Encode("path", taskID), - } - - const APIVersion = "2017-06-01.5.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(filter) > 0 { - queryParameters["$filter"] = autorest.Encode("query", filter) - } - if recursive != nil { - queryParameters["recursive"] = autorest.Encode("query", *recursive) - } - if maxResults != nil { - queryParameters["maxresults"] = autorest.Encode("query", *maxResults) - } else { - queryParameters["maxresults"] = autorest.Encode("query", 1000) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}/tasks/{taskId}/files", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListFromTaskSender sends the ListFromTask request. The method will close the -// http.Response Body if it receives an error. -func (client FileClient) ListFromTaskSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ListFromTaskResponder handles the response to the ListFromTask request. The method always -// closes the http.Response Body. -func (client FileClient) ListFromTaskResponder(resp *http.Response) (result NodeFileListResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listFromTaskNextResults retrieves the next set of results, if any. -func (client FileClient) listFromTaskNextResults(lastResults NodeFileListResult) (result NodeFileListResult, err error) { - req, err := lastResults.nodeFileListResultPreparer() - if err != nil { - return result, autorest.NewErrorWithError(err, "batch.FileClient", "listFromTaskNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListFromTaskSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "batch.FileClient", "listFromTaskNextResults", resp, "Failure sending next results request") - } - result, err = client.ListFromTaskResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "listFromTaskNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListFromTaskComplete enumerates all values, automatically crossing page boundaries as required. -func (client FileClient) ListFromTaskComplete(ctx context.Context, jobID string, taskID string, filter string, recursive *bool, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result NodeFileListResultIterator, err error) { - result.page, err = client.ListFromTask(ctx, jobID, taskID, filter, recursive, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - return -} diff --git a/services/batch/2017-06-01.5.1/batch/job.go b/services/batch/2017-06-01.5.1/batch/job.go deleted file mode 100644 index 03e165045e9d..000000000000 --- a/services/batch/2017-06-01.5.1/batch/job.go +++ /dev/null @@ -1,1625 +0,0 @@ -package batch - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/autorest/date" - "github.com/Azure/go-autorest/autorest/validation" - "github.com/satori/go.uuid" - "net/http" -) - -// JobClient is the a client for issuing REST requests to the Azure Batch service. -type JobClient struct { - BaseClient -} - -// NewJobClient creates an instance of the JobClient client. -func NewJobClient() JobClient { - return NewJobClientWithBaseURI(DefaultBaseURI) -} - -// NewJobClientWithBaseURI creates an instance of the JobClient client. -func NewJobClientWithBaseURI(baseURI string) JobClient { - return JobClient{NewWithBaseURI(baseURI)} -} - -// Add the Batch service supports two ways to control the work done as part of a job. In the first approach, the user -// specifies a Job Manager task. The Batch service launches this task when it is ready to start the job. The Job -// Manager task controls all other tasks that run under this job, by using the Task APIs. In the second approach, the -// user directly controls the execution of tasks under an active job, by using the Task APIs. Also note: when naming -// jobs, avoid including sensitive information such as user names or secret project names. This information may appear -// in telemetry logs accessible to Microsoft Support engineers. -// -// job is the job to be added. timeout is the maximum time that the server can spend processing the request, in -// seconds. The default is 30 seconds. clientRequestID is the caller-generated request identity, in the form of a -// GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID -// is whether the server should return the client-request-id in the response. ocpDate is the time the request was -// issued. Client libraries typically set this to the current system clock time; set it explicitly if you are -// calling the REST API directly. -func (client JobClient) Add(ctx context.Context, job JobAddParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: job, - Constraints: []validation.Constraint{{Target: "job.ID", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "job.JobManagerTask", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "job.JobManagerTask.ID", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "job.JobManagerTask.CommandLine", Name: validation.Null, Rule: true, Chain: nil}, - }}, - {Target: "job.JobPreparationTask", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "job.JobPreparationTask.CommandLine", Name: validation.Null, Rule: true, Chain: nil}}}, - {Target: "job.JobReleaseTask", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "job.JobReleaseTask.CommandLine", Name: validation.Null, Rule: true, Chain: nil}}}, - {Target: "job.PoolInfo", Name: validation.Null, Rule: true, - Chain: []validation.Constraint{{Target: "job.PoolInfo.AutoPoolSpecification", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "job.PoolInfo.AutoPoolSpecification.Pool", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "job.PoolInfo.AutoPoolSpecification.Pool.VMSize", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "job.PoolInfo.AutoPoolSpecification.Pool.CloudServiceConfiguration", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "job.PoolInfo.AutoPoolSpecification.Pool.CloudServiceConfiguration.OsFamily", Name: validation.Null, Rule: true, Chain: nil}}}, - {Target: "job.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "job.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.ImageReference", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "job.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.ImageReference.Publisher", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "job.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.ImageReference.Offer", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "job.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.ImageReference.Sku", Name: validation.Null, Rule: true, Chain: nil}, - }}, - {Target: "job.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.OsDisk", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "job.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.OsDisk.ImageUris", Name: validation.Null, Rule: true, Chain: nil}}}, - {Target: "job.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.NodeAgentSKUID", Name: validation.Null, Rule: true, Chain: nil}, - }}, - {Target: "job.PoolInfo.AutoPoolSpecification.Pool.NetworkConfiguration", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "job.PoolInfo.AutoPoolSpecification.Pool.NetworkConfiguration.EndpointConfiguration", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "job.PoolInfo.AutoPoolSpecification.Pool.NetworkConfiguration.EndpointConfiguration.InboundNATPools", Name: validation.Null, Rule: true, Chain: nil}}}, - }}, - {Target: "job.PoolInfo.AutoPoolSpecification.Pool.StartTask", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "job.PoolInfo.AutoPoolSpecification.Pool.StartTask.CommandLine", Name: validation.Null, Rule: true, Chain: nil}}}, - }}, - }}, - }}}}}); err != nil { - return result, validation.NewError("batch.JobClient", "Add", err.Error()) - } - - req, err := client.AddPreparer(ctx, job, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "Add", nil, "Failure preparing request") - return - } - - resp, err := client.AddSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.JobClient", "Add", resp, "Failure sending request") - return - } - - result, err = client.AddResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "Add", resp, "Failure responding to request") - } - - return -} - -// AddPreparer prepares the Add request. -func (client JobClient) AddPreparer(ctx context.Context, job JobAddParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - const APIVersion = "2017-06-01.5.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPath("/jobs"), - autorest.WithJSON(job), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// AddSender sends the Add request. The method will close the -// http.Response Body if it receives an error. -func (client JobClient) AddSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// AddResponder handles the response to the Add request. The method always -// closes the http.Response Body. -func (client JobClient) AddResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), - autorest.ByClosing()) - result.Response = resp - return -} - -// Delete deleting a job also deletes all tasks that are part of that job, and all job statistics. This also overrides -// the retention period for task data; that is, if the job contains tasks which are still retained on compute nodes, -// the Batch services deletes those tasks' working directories and all their contents. When a Delete Job request is -// received, the Batch service sets the job to the deleting state. All update operations on a job that is in deleting -// state will fail with status code 409 (Conflict), with additional information indicating that the job is being -// deleted. -// -// jobID is the ID of the job to delete. timeout is the maximum time that the server can spend processing the -// request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated request identity, in the -// form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. -// returnClientRequestID is whether the server should return the client-request-id in the response. ocpDate is the -// time the request was issued. Client libraries typically set this to the current system clock time; set it -// explicitly if you are calling the REST API directly. ifMatch is an ETag value associated with the version of the -// resource known to the client. The operation will be performed only if the resource's current ETag on the service -// exactly matches the value specified by the client. ifNoneMatch is an ETag value associated with the version of -// the resource known to the client. The operation will be performed only if the resource's current ETag on the -// service does not match the value specified by the client. ifModifiedSince is a timestamp indicating the last -// modified time of the resource known to the client. The operation will be performed only if the resource on the -// service has been modified since the specified time. ifUnmodifiedSince is a timestamp indicating the last -// modified time of the resource known to the client. The operation will be performed only if the resource on the -// service has not been modified since the specified time. -func (client JobClient) Delete(ctx context.Context, jobID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.DeletePreparer(ctx, jobID, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "Delete", nil, "Failure preparing request") - return - } - - resp, err := client.DeleteSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.JobClient", "Delete", resp, "Failure sending request") - return - } - - result, err = client.DeleteResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "Delete", resp, "Failure responding to request") - } - - return -} - -// DeletePreparer prepares the Delete request. -func (client JobClient) DeletePreparer(ctx context.Context, jobID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - } - - const APIVersion = "2017-06-01.5.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsDelete(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DeleteSender sends the Delete request. The method will close the -// http.Response Body if it receives an error. -func (client JobClient) DeleteSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// DeleteResponder handles the response to the Delete request. The method always -// closes the http.Response Body. -func (client JobClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByClosing()) - result.Response = resp - return -} - -// Disable the Batch Service immediately moves the job to the disabling state. Batch then uses the disableTasks -// parameter to determine what to do with the currently running tasks of the job. The job remains in the disabling -// state until the disable operation is completed and all tasks have been dealt with according to the disableTasks -// option; the job then moves to the disabled state. No new tasks are started under the job until it moves back to -// active state. If you try to disable a job that is in any state other than active, disabling, or disabled, the -// request fails with status code 409. -// -// jobID is the ID of the job to disable. jobDisableParameter is the parameters for the request. timeout is the -// maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. -// clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such as curly -// braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. ifMatch is an -// ETag value associated with the version of the resource known to the client. The operation will be performed only -// if the resource's current ETag on the service exactly matches the value specified by the client. ifNoneMatch is -// an ETag value associated with the version of the resource known to the client. The operation will be performed -// only if the resource's current ETag on the service does not match the value specified by the client. -// ifModifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has been modified since the specified time. -// ifUnmodifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has not been modified since the specified time. -func (client JobClient) Disable(ctx context.Context, jobID string, jobDisableParameter JobDisableParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.DisablePreparer(ctx, jobID, jobDisableParameter, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "Disable", nil, "Failure preparing request") - return - } - - resp, err := client.DisableSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.JobClient", "Disable", resp, "Failure sending request") - return - } - - result, err = client.DisableResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "Disable", resp, "Failure responding to request") - } - - return -} - -// DisablePreparer prepares the Disable request. -func (client JobClient) DisablePreparer(ctx context.Context, jobID string, jobDisableParameter JobDisableParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - } - - const APIVersion = "2017-06-01.5.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}/disable", pathParameters), - autorest.WithJSON(jobDisableParameter), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DisableSender sends the Disable request. The method will close the -// http.Response Body if it receives an error. -func (client JobClient) DisableSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// DisableResponder handles the response to the Disable request. The method always -// closes the http.Response Body. -func (client JobClient) DisableResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByClosing()) - result.Response = resp - return -} - -// Enable when you call this API, the Batch service sets a disabled job to the enabling state. After the this operation -// is completed, the job moves to the active state, and scheduling of new tasks under the job resumes. The Batch -// service does not allow a task to remain in the active state for more than 7 days. Therefore, if you enable a job -// containing active tasks which were added more than 7 days ago, those tasks will not run. -// -// jobID is the ID of the job to enable. timeout is the maximum time that the server can spend processing the -// request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated request identity, in the -// form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. -// returnClientRequestID is whether the server should return the client-request-id in the response. ocpDate is the -// time the request was issued. Client libraries typically set this to the current system clock time; set it -// explicitly if you are calling the REST API directly. ifMatch is an ETag value associated with the version of the -// resource known to the client. The operation will be performed only if the resource's current ETag on the service -// exactly matches the value specified by the client. ifNoneMatch is an ETag value associated with the version of -// the resource known to the client. The operation will be performed only if the resource's current ETag on the -// service does not match the value specified by the client. ifModifiedSince is a timestamp indicating the last -// modified time of the resource known to the client. The operation will be performed only if the resource on the -// service has been modified since the specified time. ifUnmodifiedSince is a timestamp indicating the last -// modified time of the resource known to the client. The operation will be performed only if the resource on the -// service has not been modified since the specified time. -func (client JobClient) Enable(ctx context.Context, jobID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.EnablePreparer(ctx, jobID, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "Enable", nil, "Failure preparing request") - return - } - - resp, err := client.EnableSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.JobClient", "Enable", resp, "Failure sending request") - return - } - - result, err = client.EnableResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "Enable", resp, "Failure responding to request") - } - - return -} - -// EnablePreparer prepares the Enable request. -func (client JobClient) EnablePreparer(ctx context.Context, jobID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - } - - const APIVersion = "2017-06-01.5.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}/enable", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// EnableSender sends the Enable request. The method will close the -// http.Response Body if it receives an error. -func (client JobClient) EnableSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// EnableResponder handles the response to the Enable request. The method always -// closes the http.Response Body. -func (client JobClient) EnableResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByClosing()) - result.Response = resp - return -} - -// Get sends the get request. -// -// jobID is the ID of the job. selectParameter is an OData $select clause. expand is an OData $expand clause. -// timeout is the maximum time that the server can spend processing the request, in seconds. The default is 30 -// seconds. clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such -// as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should -// return the client-request-id in the response. ocpDate is the time the request was issued. Client libraries -// typically set this to the current system clock time; set it explicitly if you are calling the REST API directly. -// ifMatch is an ETag value associated with the version of the resource known to the client. The operation will be -// performed only if the resource's current ETag on the service exactly matches the value specified by the client. -// ifNoneMatch is an ETag value associated with the version of the resource known to the client. The operation will -// be performed only if the resource's current ETag on the service does not match the value specified by the -// client. ifModifiedSince is a timestamp indicating the last modified time of the resource known to the client. -// The operation will be performed only if the resource on the service has been modified since the specified time. -// ifUnmodifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has not been modified since the specified time. -func (client JobClient) Get(ctx context.Context, jobID string, selectParameter string, expand string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result CloudJob, err error) { - req, err := client.GetPreparer(ctx, jobID, selectParameter, expand, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "Get", nil, "Failure preparing request") - return - } - - resp, err := client.GetSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.JobClient", "Get", resp, "Failure sending request") - return - } - - result, err = client.GetResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "Get", resp, "Failure responding to request") - } - - return -} - -// GetPreparer prepares the Get request. -func (client JobClient) GetPreparer(ctx context.Context, jobID string, selectParameter string, expand string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - } - - const APIVersion = "2017-06-01.5.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(selectParameter) > 0 { - queryParameters["$select"] = autorest.Encode("query", selectParameter) - } - if len(expand) > 0 { - queryParameters["$expand"] = autorest.Encode("query", expand) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetSender sends the Get request. The method will close the -// http.Response Body if it receives an error. -func (client JobClient) GetSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// GetResponder handles the response to the Get request. The method always -// closes the http.Response Body. -func (client JobClient) GetResponder(resp *http.Response) (result CloudJob, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// GetAllLifetimeStatistics statistics are aggregated across all jobs that have ever existed in the account, from -// account creation to the last update time of the statistics. -// -// timeout is the maximum time that the server can spend processing the request, in seconds. The default is 30 -// seconds. clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such -// as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should -// return the client-request-id in the response. ocpDate is the time the request was issued. Client libraries -// typically set this to the current system clock time; set it explicitly if you are calling the REST API directly. -func (client JobClient) GetAllLifetimeStatistics(ctx context.Context, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result JobStatistics, err error) { - req, err := client.GetAllLifetimeStatisticsPreparer(ctx, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "GetAllLifetimeStatistics", nil, "Failure preparing request") - return - } - - resp, err := client.GetAllLifetimeStatisticsSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.JobClient", "GetAllLifetimeStatistics", resp, "Failure sending request") - return - } - - result, err = client.GetAllLifetimeStatisticsResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "GetAllLifetimeStatistics", resp, "Failure responding to request") - } - - return -} - -// GetAllLifetimeStatisticsPreparer prepares the GetAllLifetimeStatistics request. -func (client JobClient) GetAllLifetimeStatisticsPreparer(ctx context.Context, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - const APIVersion = "2017-06-01.5.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPath("/lifetimejobstats"), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetAllLifetimeStatisticsSender sends the GetAllLifetimeStatistics request. The method will close the -// http.Response Body if it receives an error. -func (client JobClient) GetAllLifetimeStatisticsSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// GetAllLifetimeStatisticsResponder handles the response to the GetAllLifetimeStatistics request. The method always -// closes the http.Response Body. -func (client JobClient) GetAllLifetimeStatisticsResponder(resp *http.Response) (result JobStatistics, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// GetTaskCounts task counts provide a count of the tasks by active, running or completed task state, and a count of -// tasks which succeeded or failed. Tasks in the preparing state are counted as running. If the validationStatus is -// unvalidated, then the Batch service has not been able to check state counts against the task states as reported in -// the List Tasks API. The validationStatus may be unvalidated if the job contains more than 200,000 tasks. -// -// jobID is the ID of the job. timeout is the maximum time that the server can spend processing the request, in -// seconds. The default is 30 seconds. clientRequestID is the caller-generated request identity, in the form of a -// GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID -// is whether the server should return the client-request-id in the response. ocpDate is the time the request was -// issued. Client libraries typically set this to the current system clock time; set it explicitly if you are -// calling the REST API directly. -func (client JobClient) GetTaskCounts(ctx context.Context, jobID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result TaskCounts, err error) { - req, err := client.GetTaskCountsPreparer(ctx, jobID, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "GetTaskCounts", nil, "Failure preparing request") - return - } - - resp, err := client.GetTaskCountsSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.JobClient", "GetTaskCounts", resp, "Failure sending request") - return - } - - result, err = client.GetTaskCountsResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "GetTaskCounts", resp, "Failure responding to request") - } - - return -} - -// GetTaskCountsPreparer prepares the GetTaskCounts request. -func (client JobClient) GetTaskCountsPreparer(ctx context.Context, jobID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - } - - const APIVersion = "2017-06-01.5.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}/taskcounts", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetTaskCountsSender sends the GetTaskCounts request. The method will close the -// http.Response Body if it receives an error. -func (client JobClient) GetTaskCountsSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// GetTaskCountsResponder handles the response to the GetTaskCounts request. The method always -// closes the http.Response Body. -func (client JobClient) GetTaskCountsResponder(resp *http.Response) (result TaskCounts, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// List sends the list request. -// -// filter is an OData $filter clause. selectParameter is an OData $select clause. expand is an OData $expand -// clause. maxResults is the maximum number of items to return in the response. A maximum of 1000 jobs can be -// returned. timeout is the maximum time that the server can spend processing the request, in seconds. The default -// is 30 seconds. clientRequestID is the caller-generated request identity, in the form of a GUID with no -// decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the -// server should return the client-request-id in the response. ocpDate is the time the request was issued. Client -// libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API -// directly. -func (client JobClient) List(ctx context.Context, filter string, selectParameter string, expand string, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result CloudJobListResultPage, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: maxResults, - Constraints: []validation.Constraint{{Target: "maxResults", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "maxResults", Name: validation.InclusiveMaximum, Rule: 1000, Chain: nil}, - {Target: "maxResults", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}, - }}}}}); err != nil { - return result, validation.NewError("batch.JobClient", "List", err.Error()) - } - - result.fn = client.listNextResults - req, err := client.ListPreparer(ctx, filter, selectParameter, expand, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "List", nil, "Failure preparing request") - return - } - - resp, err := client.ListSender(req) - if err != nil { - result.cjlr.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.JobClient", "List", resp, "Failure sending request") - return - } - - result.cjlr, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "List", resp, "Failure responding to request") - } - - return -} - -// ListPreparer prepares the List request. -func (client JobClient) ListPreparer(ctx context.Context, filter string, selectParameter string, expand string, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - const APIVersion = "2017-06-01.5.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(filter) > 0 { - queryParameters["$filter"] = autorest.Encode("query", filter) - } - if len(selectParameter) > 0 { - queryParameters["$select"] = autorest.Encode("query", selectParameter) - } - if len(expand) > 0 { - queryParameters["$expand"] = autorest.Encode("query", expand) - } - if maxResults != nil { - queryParameters["maxresults"] = autorest.Encode("query", *maxResults) - } else { - queryParameters["maxresults"] = autorest.Encode("query", 1000) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPath("/jobs"), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListSender sends the List request. The method will close the -// http.Response Body if it receives an error. -func (client JobClient) ListSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ListResponder handles the response to the List request. The method always -// closes the http.Response Body. -func (client JobClient) ListResponder(resp *http.Response) (result CloudJobListResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listNextResults retrieves the next set of results, if any. -func (client JobClient) listNextResults(lastResults CloudJobListResult) (result CloudJobListResult, err error) { - req, err := lastResults.cloudJobListResultPreparer() - if err != nil { - return result, autorest.NewErrorWithError(err, "batch.JobClient", "listNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "batch.JobClient", "listNextResults", resp, "Failure sending next results request") - } - result, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "listNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListComplete enumerates all values, automatically crossing page boundaries as required. -func (client JobClient) ListComplete(ctx context.Context, filter string, selectParameter string, expand string, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result CloudJobListResultIterator, err error) { - result.page, err = client.List(ctx, filter, selectParameter, expand, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - return -} - -// ListFromJobSchedule sends the list from job schedule request. -// -// jobScheduleID is the ID of the job schedule from which you want to get a list of jobs. filter is an OData -// $filter clause. selectParameter is an OData $select clause. expand is an OData $expand clause. maxResults is the -// maximum number of items to return in the response. A maximum of 1000 jobs can be returned. timeout is the -// maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. -// clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such as curly -// braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. -func (client JobClient) ListFromJobSchedule(ctx context.Context, jobScheduleID string, filter string, selectParameter string, expand string, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result CloudJobListResultPage, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: maxResults, - Constraints: []validation.Constraint{{Target: "maxResults", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "maxResults", Name: validation.InclusiveMaximum, Rule: 1000, Chain: nil}, - {Target: "maxResults", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}, - }}}}}); err != nil { - return result, validation.NewError("batch.JobClient", "ListFromJobSchedule", err.Error()) - } - - result.fn = client.listFromJobScheduleNextResults - req, err := client.ListFromJobSchedulePreparer(ctx, jobScheduleID, filter, selectParameter, expand, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "ListFromJobSchedule", nil, "Failure preparing request") - return - } - - resp, err := client.ListFromJobScheduleSender(req) - if err != nil { - result.cjlr.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.JobClient", "ListFromJobSchedule", resp, "Failure sending request") - return - } - - result.cjlr, err = client.ListFromJobScheduleResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "ListFromJobSchedule", resp, "Failure responding to request") - } - - return -} - -// ListFromJobSchedulePreparer prepares the ListFromJobSchedule request. -func (client JobClient) ListFromJobSchedulePreparer(ctx context.Context, jobScheduleID string, filter string, selectParameter string, expand string, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobScheduleId": autorest.Encode("path", jobScheduleID), - } - - const APIVersion = "2017-06-01.5.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(filter) > 0 { - queryParameters["$filter"] = autorest.Encode("query", filter) - } - if len(selectParameter) > 0 { - queryParameters["$select"] = autorest.Encode("query", selectParameter) - } - if len(expand) > 0 { - queryParameters["$expand"] = autorest.Encode("query", expand) - } - if maxResults != nil { - queryParameters["maxresults"] = autorest.Encode("query", *maxResults) - } else { - queryParameters["maxresults"] = autorest.Encode("query", 1000) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobschedules/{jobScheduleId}/jobs", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListFromJobScheduleSender sends the ListFromJobSchedule request. The method will close the -// http.Response Body if it receives an error. -func (client JobClient) ListFromJobScheduleSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ListFromJobScheduleResponder handles the response to the ListFromJobSchedule request. The method always -// closes the http.Response Body. -func (client JobClient) ListFromJobScheduleResponder(resp *http.Response) (result CloudJobListResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listFromJobScheduleNextResults retrieves the next set of results, if any. -func (client JobClient) listFromJobScheduleNextResults(lastResults CloudJobListResult) (result CloudJobListResult, err error) { - req, err := lastResults.cloudJobListResultPreparer() - if err != nil { - return result, autorest.NewErrorWithError(err, "batch.JobClient", "listFromJobScheduleNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListFromJobScheduleSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "batch.JobClient", "listFromJobScheduleNextResults", resp, "Failure sending next results request") - } - result, err = client.ListFromJobScheduleResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "listFromJobScheduleNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListFromJobScheduleComplete enumerates all values, automatically crossing page boundaries as required. -func (client JobClient) ListFromJobScheduleComplete(ctx context.Context, jobScheduleID string, filter string, selectParameter string, expand string, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result CloudJobListResultIterator, err error) { - result.page, err = client.ListFromJobSchedule(ctx, jobScheduleID, filter, selectParameter, expand, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - return -} - -// ListPreparationAndReleaseTaskStatus this API returns the Job Preparation and Job Release task status on all compute -// nodes that have run the Job Preparation or Job Release task. This includes nodes which have since been removed from -// the pool. If this API is invoked on a job which has no Job Preparation or Job Release task, the Batch service -// returns HTTP status code 409 (Conflict) with an error code of JobPreparationTaskNotSpecified. -// -// jobID is the ID of the job. filter is an OData $filter clause. To get the status of the Job Preparation and Job -// Release tasks on a specific compute node, use "nodeId eq '{desired-node-id}'" selectParameter is an OData -// $select clause. maxResults is the maximum number of items to return in the response. A maximum of 1000 tasks can -// be returned. timeout is the maximum time that the server can spend processing the request, in seconds. The -// default is 30 seconds. clientRequestID is the caller-generated request identity, in the form of a GUID with no -// decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the -// server should return the client-request-id in the response. ocpDate is the time the request was issued. Client -// libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API -// directly. -func (client JobClient) ListPreparationAndReleaseTaskStatus(ctx context.Context, jobID string, filter string, selectParameter string, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result CloudJobListPreparationAndReleaseTaskStatusResultPage, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: maxResults, - Constraints: []validation.Constraint{{Target: "maxResults", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "maxResults", Name: validation.InclusiveMaximum, Rule: 1000, Chain: nil}, - {Target: "maxResults", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}, - }}}}}); err != nil { - return result, validation.NewError("batch.JobClient", "ListPreparationAndReleaseTaskStatus", err.Error()) - } - - result.fn = client.listPreparationAndReleaseTaskStatusNextResults - req, err := client.ListPreparationAndReleaseTaskStatusPreparer(ctx, jobID, filter, selectParameter, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "ListPreparationAndReleaseTaskStatus", nil, "Failure preparing request") - return - } - - resp, err := client.ListPreparationAndReleaseTaskStatusSender(req) - if err != nil { - result.cjlpartsr.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.JobClient", "ListPreparationAndReleaseTaskStatus", resp, "Failure sending request") - return - } - - result.cjlpartsr, err = client.ListPreparationAndReleaseTaskStatusResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "ListPreparationAndReleaseTaskStatus", resp, "Failure responding to request") - } - - return -} - -// ListPreparationAndReleaseTaskStatusPreparer prepares the ListPreparationAndReleaseTaskStatus request. -func (client JobClient) ListPreparationAndReleaseTaskStatusPreparer(ctx context.Context, jobID string, filter string, selectParameter string, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - } - - const APIVersion = "2017-06-01.5.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(filter) > 0 { - queryParameters["$filter"] = autorest.Encode("query", filter) - } - if len(selectParameter) > 0 { - queryParameters["$select"] = autorest.Encode("query", selectParameter) - } - if maxResults != nil { - queryParameters["maxresults"] = autorest.Encode("query", *maxResults) - } else { - queryParameters["maxresults"] = autorest.Encode("query", 1000) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}/jobpreparationandreleasetaskstatus", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListPreparationAndReleaseTaskStatusSender sends the ListPreparationAndReleaseTaskStatus request. The method will close the -// http.Response Body if it receives an error. -func (client JobClient) ListPreparationAndReleaseTaskStatusSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ListPreparationAndReleaseTaskStatusResponder handles the response to the ListPreparationAndReleaseTaskStatus request. The method always -// closes the http.Response Body. -func (client JobClient) ListPreparationAndReleaseTaskStatusResponder(resp *http.Response) (result CloudJobListPreparationAndReleaseTaskStatusResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listPreparationAndReleaseTaskStatusNextResults retrieves the next set of results, if any. -func (client JobClient) listPreparationAndReleaseTaskStatusNextResults(lastResults CloudJobListPreparationAndReleaseTaskStatusResult) (result CloudJobListPreparationAndReleaseTaskStatusResult, err error) { - req, err := lastResults.cloudJobListPreparationAndReleaseTaskStatusResultPreparer() - if err != nil { - return result, autorest.NewErrorWithError(err, "batch.JobClient", "listPreparationAndReleaseTaskStatusNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListPreparationAndReleaseTaskStatusSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "batch.JobClient", "listPreparationAndReleaseTaskStatusNextResults", resp, "Failure sending next results request") - } - result, err = client.ListPreparationAndReleaseTaskStatusResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "listPreparationAndReleaseTaskStatusNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListPreparationAndReleaseTaskStatusComplete enumerates all values, automatically crossing page boundaries as required. -func (client JobClient) ListPreparationAndReleaseTaskStatusComplete(ctx context.Context, jobID string, filter string, selectParameter string, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result CloudJobListPreparationAndReleaseTaskStatusResultIterator, err error) { - result.page, err = client.ListPreparationAndReleaseTaskStatus(ctx, jobID, filter, selectParameter, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - return -} - -// Patch this replaces only the job properties specified in the request. For example, if the job has constraints, and a -// request does not specify the constraints element, then the job keeps the existing constraints. -// -// jobID is the ID of the job whose properties you want to update. jobPatchParameter is the parameters for the -// request. timeout is the maximum time that the server can spend processing the request, in seconds. The default -// is 30 seconds. clientRequestID is the caller-generated request identity, in the form of a GUID with no -// decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the -// server should return the client-request-id in the response. ocpDate is the time the request was issued. Client -// libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API -// directly. ifMatch is an ETag value associated with the version of the resource known to the client. The -// operation will be performed only if the resource's current ETag on the service exactly matches the value -// specified by the client. ifNoneMatch is an ETag value associated with the version of the resource known to the -// client. The operation will be performed only if the resource's current ETag on the service does not match the -// value specified by the client. ifModifiedSince is a timestamp indicating the last modified time of the resource -// known to the client. The operation will be performed only if the resource on the service has been modified since -// the specified time. ifUnmodifiedSince is a timestamp indicating the last modified time of the resource known to -// the client. The operation will be performed only if the resource on the service has not been modified since the -// specified time. -func (client JobClient) Patch(ctx context.Context, jobID string, jobPatchParameter JobPatchParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.PatchPreparer(ctx, jobID, jobPatchParameter, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "Patch", nil, "Failure preparing request") - return - } - - resp, err := client.PatchSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.JobClient", "Patch", resp, "Failure sending request") - return - } - - result, err = client.PatchResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "Patch", resp, "Failure responding to request") - } - - return -} - -// PatchPreparer prepares the Patch request. -func (client JobClient) PatchPreparer(ctx context.Context, jobID string, jobPatchParameter JobPatchParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - } - - const APIVersion = "2017-06-01.5.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPatch(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}", pathParameters), - autorest.WithJSON(jobPatchParameter), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// PatchSender sends the Patch request. The method will close the -// http.Response Body if it receives an error. -func (client JobClient) PatchSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// PatchResponder handles the response to the Patch request. The method always -// closes the http.Response Body. -func (client JobClient) PatchResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} - -// Terminate when a Terminate Job request is received, the Batch service sets the job to the terminating state. The -// Batch service then terminates any active or running tasks associated with the job, and runs any required Job Release -// tasks. The job then moves into the completed state. -// -// jobID is the ID of the job to terminate. jobTerminateParameter is the parameters for the request. timeout is the -// maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. -// clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such as curly -// braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. ifMatch is an -// ETag value associated with the version of the resource known to the client. The operation will be performed only -// if the resource's current ETag on the service exactly matches the value specified by the client. ifNoneMatch is -// an ETag value associated with the version of the resource known to the client. The operation will be performed -// only if the resource's current ETag on the service does not match the value specified by the client. -// ifModifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has been modified since the specified time. -// ifUnmodifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has not been modified since the specified time. -func (client JobClient) Terminate(ctx context.Context, jobID string, jobTerminateParameter *JobTerminateParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.TerminatePreparer(ctx, jobID, jobTerminateParameter, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "Terminate", nil, "Failure preparing request") - return - } - - resp, err := client.TerminateSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.JobClient", "Terminate", resp, "Failure sending request") - return - } - - result, err = client.TerminateResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "Terminate", resp, "Failure responding to request") - } - - return -} - -// TerminatePreparer prepares the Terminate request. -func (client JobClient) TerminatePreparer(ctx context.Context, jobID string, jobTerminateParameter *JobTerminateParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - } - - const APIVersion = "2017-06-01.5.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}/terminate", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if jobTerminateParameter != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithJSON(jobTerminateParameter)) - } - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// TerminateSender sends the Terminate request. The method will close the -// http.Response Body if it receives an error. -func (client JobClient) TerminateSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// TerminateResponder handles the response to the Terminate request. The method always -// closes the http.Response Body. -func (client JobClient) TerminateResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByClosing()) - result.Response = resp - return -} - -// Update this fully replaces all the updateable properties of the job. For example, if the job has constraints -// associated with it and if constraints is not specified with this request, then the Batch service will remove the -// existing constraints. -// -// jobID is the ID of the job whose properties you want to update. jobUpdateParameter is the parameters for the -// request. timeout is the maximum time that the server can spend processing the request, in seconds. The default -// is 30 seconds. clientRequestID is the caller-generated request identity, in the form of a GUID with no -// decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the -// server should return the client-request-id in the response. ocpDate is the time the request was issued. Client -// libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API -// directly. ifMatch is an ETag value associated with the version of the resource known to the client. The -// operation will be performed only if the resource's current ETag on the service exactly matches the value -// specified by the client. ifNoneMatch is an ETag value associated with the version of the resource known to the -// client. The operation will be performed only if the resource's current ETag on the service does not match the -// value specified by the client. ifModifiedSince is a timestamp indicating the last modified time of the resource -// known to the client. The operation will be performed only if the resource on the service has been modified since -// the specified time. ifUnmodifiedSince is a timestamp indicating the last modified time of the resource known to -// the client. The operation will be performed only if the resource on the service has not been modified since the -// specified time. -func (client JobClient) Update(ctx context.Context, jobID string, jobUpdateParameter JobUpdateParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: jobUpdateParameter, - Constraints: []validation.Constraint{{Target: "jobUpdateParameter.PoolInfo", Name: validation.Null, Rule: true, - Chain: []validation.Constraint{{Target: "jobUpdateParameter.PoolInfo.AutoPoolSpecification", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "jobUpdateParameter.PoolInfo.AutoPoolSpecification.Pool", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "jobUpdateParameter.PoolInfo.AutoPoolSpecification.Pool.VMSize", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "jobUpdateParameter.PoolInfo.AutoPoolSpecification.Pool.CloudServiceConfiguration", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "jobUpdateParameter.PoolInfo.AutoPoolSpecification.Pool.CloudServiceConfiguration.OsFamily", Name: validation.Null, Rule: true, Chain: nil}}}, - {Target: "jobUpdateParameter.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "jobUpdateParameter.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.ImageReference", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "jobUpdateParameter.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.ImageReference.Publisher", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "jobUpdateParameter.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.ImageReference.Offer", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "jobUpdateParameter.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.ImageReference.Sku", Name: validation.Null, Rule: true, Chain: nil}, - }}, - {Target: "jobUpdateParameter.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.OsDisk", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "jobUpdateParameter.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.OsDisk.ImageUris", Name: validation.Null, Rule: true, Chain: nil}}}, - {Target: "jobUpdateParameter.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.NodeAgentSKUID", Name: validation.Null, Rule: true, Chain: nil}, - }}, - {Target: "jobUpdateParameter.PoolInfo.AutoPoolSpecification.Pool.NetworkConfiguration", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "jobUpdateParameter.PoolInfo.AutoPoolSpecification.Pool.NetworkConfiguration.EndpointConfiguration", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "jobUpdateParameter.PoolInfo.AutoPoolSpecification.Pool.NetworkConfiguration.EndpointConfiguration.InboundNATPools", Name: validation.Null, Rule: true, Chain: nil}}}, - }}, - {Target: "jobUpdateParameter.PoolInfo.AutoPoolSpecification.Pool.StartTask", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "jobUpdateParameter.PoolInfo.AutoPoolSpecification.Pool.StartTask.CommandLine", Name: validation.Null, Rule: true, Chain: nil}}}, - }}, - }}, - }}}}}); err != nil { - return result, validation.NewError("batch.JobClient", "Update", err.Error()) - } - - req, err := client.UpdatePreparer(ctx, jobID, jobUpdateParameter, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "Update", nil, "Failure preparing request") - return - } - - resp, err := client.UpdateSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.JobClient", "Update", resp, "Failure sending request") - return - } - - result, err = client.UpdateResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "Update", resp, "Failure responding to request") - } - - return -} - -// UpdatePreparer prepares the Update request. -func (client JobClient) UpdatePreparer(ctx context.Context, jobID string, jobUpdateParameter JobUpdateParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - } - - const APIVersion = "2017-06-01.5.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPut(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}", pathParameters), - autorest.WithJSON(jobUpdateParameter), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// UpdateSender sends the Update request. The method will close the -// http.Response Body if it receives an error. -func (client JobClient) UpdateSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// UpdateResponder handles the response to the Update request. The method always -// closes the http.Response Body. -func (client JobClient) UpdateResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} diff --git a/services/batch/2017-06-01.5.1/batch/jobschedule.go b/services/batch/2017-06-01.5.1/batch/jobschedule.go deleted file mode 100644 index 7b93a9483216..000000000000 --- a/services/batch/2017-06-01.5.1/batch/jobschedule.go +++ /dev/null @@ -1,1269 +0,0 @@ -package batch - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/autorest/date" - "github.com/Azure/go-autorest/autorest/validation" - "github.com/satori/go.uuid" - "net/http" -) - -// JobScheduleClient is the a client for issuing REST requests to the Azure Batch service. -type JobScheduleClient struct { - BaseClient -} - -// NewJobScheduleClient creates an instance of the JobScheduleClient client. -func NewJobScheduleClient() JobScheduleClient { - return NewJobScheduleClientWithBaseURI(DefaultBaseURI) -} - -// NewJobScheduleClientWithBaseURI creates an instance of the JobScheduleClient client. -func NewJobScheduleClientWithBaseURI(baseURI string) JobScheduleClient { - return JobScheduleClient{NewWithBaseURI(baseURI)} -} - -// Add sends the add request. -// -// cloudJobSchedule is the job schedule to be added. timeout is the maximum time that the server can spend -// processing the request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated request -// identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. -func (client JobScheduleClient) Add(ctx context.Context, cloudJobSchedule JobScheduleAddParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: cloudJobSchedule, - Constraints: []validation.Constraint{{Target: "cloudJobSchedule.ID", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "cloudJobSchedule.Schedule", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "cloudJobSchedule.JobSpecification", Name: validation.Null, Rule: true, - Chain: []validation.Constraint{{Target: "cloudJobSchedule.JobSpecification.JobManagerTask", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "cloudJobSchedule.JobSpecification.JobManagerTask.ID", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "cloudJobSchedule.JobSpecification.JobManagerTask.CommandLine", Name: validation.Null, Rule: true, Chain: nil}, - }}, - {Target: "cloudJobSchedule.JobSpecification.JobPreparationTask", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "cloudJobSchedule.JobSpecification.JobPreparationTask.CommandLine", Name: validation.Null, Rule: true, Chain: nil}}}, - {Target: "cloudJobSchedule.JobSpecification.JobReleaseTask", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "cloudJobSchedule.JobSpecification.JobReleaseTask.CommandLine", Name: validation.Null, Rule: true, Chain: nil}}}, - {Target: "cloudJobSchedule.JobSpecification.PoolInfo", Name: validation.Null, Rule: true, - Chain: []validation.Constraint{{Target: "cloudJobSchedule.JobSpecification.PoolInfo.AutoPoolSpecification", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "cloudJobSchedule.JobSpecification.PoolInfo.AutoPoolSpecification.Pool", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "cloudJobSchedule.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.VMSize", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "cloudJobSchedule.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.CloudServiceConfiguration", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "cloudJobSchedule.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.CloudServiceConfiguration.OsFamily", Name: validation.Null, Rule: true, Chain: nil}}}, - {Target: "cloudJobSchedule.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "cloudJobSchedule.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.ImageReference", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "cloudJobSchedule.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.ImageReference.Publisher", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "cloudJobSchedule.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.ImageReference.Offer", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "cloudJobSchedule.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.ImageReference.Sku", Name: validation.Null, Rule: true, Chain: nil}, - }}, - {Target: "cloudJobSchedule.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.OsDisk", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "cloudJobSchedule.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.OsDisk.ImageUris", Name: validation.Null, Rule: true, Chain: nil}}}, - {Target: "cloudJobSchedule.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.NodeAgentSKUID", Name: validation.Null, Rule: true, Chain: nil}, - }}, - {Target: "cloudJobSchedule.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.NetworkConfiguration", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "cloudJobSchedule.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.NetworkConfiguration.EndpointConfiguration", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "cloudJobSchedule.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.NetworkConfiguration.EndpointConfiguration.InboundNATPools", Name: validation.Null, Rule: true, Chain: nil}}}, - }}, - {Target: "cloudJobSchedule.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.StartTask", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "cloudJobSchedule.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.StartTask.CommandLine", Name: validation.Null, Rule: true, Chain: nil}}}, - }}, - }}, - }}, - }}}}}); err != nil { - return result, validation.NewError("batch.JobScheduleClient", "Add", err.Error()) - } - - req, err := client.AddPreparer(ctx, cloudJobSchedule, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Add", nil, "Failure preparing request") - return - } - - resp, err := client.AddSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Add", resp, "Failure sending request") - return - } - - result, err = client.AddResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Add", resp, "Failure responding to request") - } - - return -} - -// AddPreparer prepares the Add request. -func (client JobScheduleClient) AddPreparer(ctx context.Context, cloudJobSchedule JobScheduleAddParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - const APIVersion = "2017-06-01.5.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPath("/jobschedules"), - autorest.WithJSON(cloudJobSchedule), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// AddSender sends the Add request. The method will close the -// http.Response Body if it receives an error. -func (client JobScheduleClient) AddSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// AddResponder handles the response to the Add request. The method always -// closes the http.Response Body. -func (client JobScheduleClient) AddResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), - autorest.ByClosing()) - result.Response = resp - return -} - -// Delete when you delete a job schedule, this also deletes all jobs and tasks under that schedule. When tasks are -// deleted, all the files in their working directories on the compute nodes are also deleted (the retention period is -// ignored). The job schedule statistics are no longer accessible once the job schedule is deleted, though they are -// still counted towards account lifetime statistics. -// -// jobScheduleID is the ID of the job schedule to delete. timeout is the maximum time that the server can spend -// processing the request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated request -// identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. ifMatch is an -// ETag value associated with the version of the resource known to the client. The operation will be performed only -// if the resource's current ETag on the service exactly matches the value specified by the client. ifNoneMatch is -// an ETag value associated with the version of the resource known to the client. The operation will be performed -// only if the resource's current ETag on the service does not match the value specified by the client. -// ifModifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has been modified since the specified time. -// ifUnmodifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has not been modified since the specified time. -func (client JobScheduleClient) Delete(ctx context.Context, jobScheduleID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.DeletePreparer(ctx, jobScheduleID, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Delete", nil, "Failure preparing request") - return - } - - resp, err := client.DeleteSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Delete", resp, "Failure sending request") - return - } - - result, err = client.DeleteResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Delete", resp, "Failure responding to request") - } - - return -} - -// DeletePreparer prepares the Delete request. -func (client JobScheduleClient) DeletePreparer(ctx context.Context, jobScheduleID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobScheduleId": autorest.Encode("path", jobScheduleID), - } - - const APIVersion = "2017-06-01.5.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsDelete(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobschedules/{jobScheduleId}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DeleteSender sends the Delete request. The method will close the -// http.Response Body if it receives an error. -func (client JobScheduleClient) DeleteSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// DeleteResponder handles the response to the Delete request. The method always -// closes the http.Response Body. -func (client JobScheduleClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByClosing()) - result.Response = resp - return -} - -// Disable no new jobs will be created until the job schedule is enabled again. -// -// jobScheduleID is the ID of the job schedule to disable. timeout is the maximum time that the server can spend -// processing the request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated request -// identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. ifMatch is an -// ETag value associated with the version of the resource known to the client. The operation will be performed only -// if the resource's current ETag on the service exactly matches the value specified by the client. ifNoneMatch is -// an ETag value associated with the version of the resource known to the client. The operation will be performed -// only if the resource's current ETag on the service does not match the value specified by the client. -// ifModifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has been modified since the specified time. -// ifUnmodifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has not been modified since the specified time. -func (client JobScheduleClient) Disable(ctx context.Context, jobScheduleID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.DisablePreparer(ctx, jobScheduleID, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Disable", nil, "Failure preparing request") - return - } - - resp, err := client.DisableSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Disable", resp, "Failure sending request") - return - } - - result, err = client.DisableResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Disable", resp, "Failure responding to request") - } - - return -} - -// DisablePreparer prepares the Disable request. -func (client JobScheduleClient) DisablePreparer(ctx context.Context, jobScheduleID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobScheduleId": autorest.Encode("path", jobScheduleID), - } - - const APIVersion = "2017-06-01.5.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobschedules/{jobScheduleId}/disable", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DisableSender sends the Disable request. The method will close the -// http.Response Body if it receives an error. -func (client JobScheduleClient) DisableSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// DisableResponder handles the response to the Disable request. The method always -// closes the http.Response Body. -func (client JobScheduleClient) DisableResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), - autorest.ByClosing()) - result.Response = resp - return -} - -// Enable sends the enable request. -// -// jobScheduleID is the ID of the job schedule to enable. timeout is the maximum time that the server can spend -// processing the request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated request -// identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. ifMatch is an -// ETag value associated with the version of the resource known to the client. The operation will be performed only -// if the resource's current ETag on the service exactly matches the value specified by the client. ifNoneMatch is -// an ETag value associated with the version of the resource known to the client. The operation will be performed -// only if the resource's current ETag on the service does not match the value specified by the client. -// ifModifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has been modified since the specified time. -// ifUnmodifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has not been modified since the specified time. -func (client JobScheduleClient) Enable(ctx context.Context, jobScheduleID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.EnablePreparer(ctx, jobScheduleID, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Enable", nil, "Failure preparing request") - return - } - - resp, err := client.EnableSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Enable", resp, "Failure sending request") - return - } - - result, err = client.EnableResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Enable", resp, "Failure responding to request") - } - - return -} - -// EnablePreparer prepares the Enable request. -func (client JobScheduleClient) EnablePreparer(ctx context.Context, jobScheduleID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobScheduleId": autorest.Encode("path", jobScheduleID), - } - - const APIVersion = "2017-06-01.5.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobschedules/{jobScheduleId}/enable", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// EnableSender sends the Enable request. The method will close the -// http.Response Body if it receives an error. -func (client JobScheduleClient) EnableSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// EnableResponder handles the response to the Enable request. The method always -// closes the http.Response Body. -func (client JobScheduleClient) EnableResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), - autorest.ByClosing()) - result.Response = resp - return -} - -// Exists sends the exists request. -// -// jobScheduleID is the ID of the job schedule which you want to check. timeout is the maximum time that the server -// can spend processing the request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated -// request identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. ifMatch is an -// ETag value associated with the version of the resource known to the client. The operation will be performed only -// if the resource's current ETag on the service exactly matches the value specified by the client. ifNoneMatch is -// an ETag value associated with the version of the resource known to the client. The operation will be performed -// only if the resource's current ETag on the service does not match the value specified by the client. -// ifModifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has been modified since the specified time. -// ifUnmodifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has not been modified since the specified time. -func (client JobScheduleClient) Exists(ctx context.Context, jobScheduleID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.ExistsPreparer(ctx, jobScheduleID, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Exists", nil, "Failure preparing request") - return - } - - resp, err := client.ExistsSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Exists", resp, "Failure sending request") - return - } - - result, err = client.ExistsResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Exists", resp, "Failure responding to request") - } - - return -} - -// ExistsPreparer prepares the Exists request. -func (client JobScheduleClient) ExistsPreparer(ctx context.Context, jobScheduleID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobScheduleId": autorest.Encode("path", jobScheduleID), - } - - const APIVersion = "2017-06-01.5.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsHead(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobschedules/{jobScheduleId}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ExistsSender sends the Exists request. The method will close the -// http.Response Body if it receives an error. -func (client JobScheduleClient) ExistsSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ExistsResponder handles the response to the Exists request. The method always -// closes the http.Response Body. -func (client JobScheduleClient) ExistsResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), - autorest.ByClosing()) - result.Response = resp - return -} - -// Get gets information about the specified job schedule. -// -// jobScheduleID is the ID of the job schedule to get. selectParameter is an OData $select clause. expand is an -// OData $expand clause. timeout is the maximum time that the server can spend processing the request, in seconds. -// The default is 30 seconds. clientRequestID is the caller-generated request identity, in the form of a GUID with -// no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether -// the server should return the client-request-id in the response. ocpDate is the time the request was issued. -// Client libraries typically set this to the current system clock time; set it explicitly if you are calling the -// REST API directly. ifMatch is an ETag value associated with the version of the resource known to the client. The -// operation will be performed only if the resource's current ETag on the service exactly matches the value -// specified by the client. ifNoneMatch is an ETag value associated with the version of the resource known to the -// client. The operation will be performed only if the resource's current ETag on the service does not match the -// value specified by the client. ifModifiedSince is a timestamp indicating the last modified time of the resource -// known to the client. The operation will be performed only if the resource on the service has been modified since -// the specified time. ifUnmodifiedSince is a timestamp indicating the last modified time of the resource known to -// the client. The operation will be performed only if the resource on the service has not been modified since the -// specified time. -func (client JobScheduleClient) Get(ctx context.Context, jobScheduleID string, selectParameter string, expand string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result CloudJobSchedule, err error) { - req, err := client.GetPreparer(ctx, jobScheduleID, selectParameter, expand, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Get", nil, "Failure preparing request") - return - } - - resp, err := client.GetSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Get", resp, "Failure sending request") - return - } - - result, err = client.GetResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Get", resp, "Failure responding to request") - } - - return -} - -// GetPreparer prepares the Get request. -func (client JobScheduleClient) GetPreparer(ctx context.Context, jobScheduleID string, selectParameter string, expand string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobScheduleId": autorest.Encode("path", jobScheduleID), - } - - const APIVersion = "2017-06-01.5.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(selectParameter) > 0 { - queryParameters["$select"] = autorest.Encode("query", selectParameter) - } - if len(expand) > 0 { - queryParameters["$expand"] = autorest.Encode("query", expand) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobschedules/{jobScheduleId}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetSender sends the Get request. The method will close the -// http.Response Body if it receives an error. -func (client JobScheduleClient) GetSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// GetResponder handles the response to the Get request. The method always -// closes the http.Response Body. -func (client JobScheduleClient) GetResponder(resp *http.Response) (result CloudJobSchedule, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// List sends the list request. -// -// filter is an OData $filter clause. selectParameter is an OData $select clause. expand is an OData $expand -// clause. maxResults is the maximum number of items to return in the response. A maximum of 1000 job schedules can -// be returned. timeout is the maximum time that the server can spend processing the request, in seconds. The -// default is 30 seconds. clientRequestID is the caller-generated request identity, in the form of a GUID with no -// decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the -// server should return the client-request-id in the response. ocpDate is the time the request was issued. Client -// libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API -// directly. -func (client JobScheduleClient) List(ctx context.Context, filter string, selectParameter string, expand string, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result CloudJobScheduleListResultPage, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: maxResults, - Constraints: []validation.Constraint{{Target: "maxResults", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "maxResults", Name: validation.InclusiveMaximum, Rule: 1000, Chain: nil}, - {Target: "maxResults", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}, - }}}}}); err != nil { - return result, validation.NewError("batch.JobScheduleClient", "List", err.Error()) - } - - result.fn = client.listNextResults - req, err := client.ListPreparer(ctx, filter, selectParameter, expand, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "List", nil, "Failure preparing request") - return - } - - resp, err := client.ListSender(req) - if err != nil { - result.cjslr.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "List", resp, "Failure sending request") - return - } - - result.cjslr, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "List", resp, "Failure responding to request") - } - - return -} - -// ListPreparer prepares the List request. -func (client JobScheduleClient) ListPreparer(ctx context.Context, filter string, selectParameter string, expand string, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - const APIVersion = "2017-06-01.5.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(filter) > 0 { - queryParameters["$filter"] = autorest.Encode("query", filter) - } - if len(selectParameter) > 0 { - queryParameters["$select"] = autorest.Encode("query", selectParameter) - } - if len(expand) > 0 { - queryParameters["$expand"] = autorest.Encode("query", expand) - } - if maxResults != nil { - queryParameters["maxresults"] = autorest.Encode("query", *maxResults) - } else { - queryParameters["maxresults"] = autorest.Encode("query", 1000) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPath("/jobschedules"), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListSender sends the List request. The method will close the -// http.Response Body if it receives an error. -func (client JobScheduleClient) ListSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ListResponder handles the response to the List request. The method always -// closes the http.Response Body. -func (client JobScheduleClient) ListResponder(resp *http.Response) (result CloudJobScheduleListResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listNextResults retrieves the next set of results, if any. -func (client JobScheduleClient) listNextResults(lastResults CloudJobScheduleListResult) (result CloudJobScheduleListResult, err error) { - req, err := lastResults.cloudJobScheduleListResultPreparer() - if err != nil { - return result, autorest.NewErrorWithError(err, "batch.JobScheduleClient", "listNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "batch.JobScheduleClient", "listNextResults", resp, "Failure sending next results request") - } - result, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "listNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListComplete enumerates all values, automatically crossing page boundaries as required. -func (client JobScheduleClient) ListComplete(ctx context.Context, filter string, selectParameter string, expand string, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result CloudJobScheduleListResultIterator, err error) { - result.page, err = client.List(ctx, filter, selectParameter, expand, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - return -} - -// Patch this replaces only the job schedule properties specified in the request. For example, if the schedule property -// is not specified with this request, then the Batch service will keep the existing schedule. Changes to a job -// schedule only impact jobs created by the schedule after the update has taken place; currently running jobs are -// unaffected. -// -// jobScheduleID is the ID of the job schedule to update. jobSchedulePatchParameter is the parameters for the -// request. timeout is the maximum time that the server can spend processing the request, in seconds. The default -// is 30 seconds. clientRequestID is the caller-generated request identity, in the form of a GUID with no -// decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the -// server should return the client-request-id in the response. ocpDate is the time the request was issued. Client -// libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API -// directly. ifMatch is an ETag value associated with the version of the resource known to the client. The -// operation will be performed only if the resource's current ETag on the service exactly matches the value -// specified by the client. ifNoneMatch is an ETag value associated with the version of the resource known to the -// client. The operation will be performed only if the resource's current ETag on the service does not match the -// value specified by the client. ifModifiedSince is a timestamp indicating the last modified time of the resource -// known to the client. The operation will be performed only if the resource on the service has been modified since -// the specified time. ifUnmodifiedSince is a timestamp indicating the last modified time of the resource known to -// the client. The operation will be performed only if the resource on the service has not been modified since the -// specified time. -func (client JobScheduleClient) Patch(ctx context.Context, jobScheduleID string, jobSchedulePatchParameter JobSchedulePatchParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.PatchPreparer(ctx, jobScheduleID, jobSchedulePatchParameter, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Patch", nil, "Failure preparing request") - return - } - - resp, err := client.PatchSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Patch", resp, "Failure sending request") - return - } - - result, err = client.PatchResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Patch", resp, "Failure responding to request") - } - - return -} - -// PatchPreparer prepares the Patch request. -func (client JobScheduleClient) PatchPreparer(ctx context.Context, jobScheduleID string, jobSchedulePatchParameter JobSchedulePatchParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobScheduleId": autorest.Encode("path", jobScheduleID), - } - - const APIVersion = "2017-06-01.5.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPatch(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobschedules/{jobScheduleId}", pathParameters), - autorest.WithJSON(jobSchedulePatchParameter), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// PatchSender sends the Patch request. The method will close the -// http.Response Body if it receives an error. -func (client JobScheduleClient) PatchSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// PatchResponder handles the response to the Patch request. The method always -// closes the http.Response Body. -func (client JobScheduleClient) PatchResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} - -// Terminate sends the terminate request. -// -// jobScheduleID is the ID of the job schedule to terminates. timeout is the maximum time that the server can spend -// processing the request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated request -// identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. ifMatch is an -// ETag value associated with the version of the resource known to the client. The operation will be performed only -// if the resource's current ETag on the service exactly matches the value specified by the client. ifNoneMatch is -// an ETag value associated with the version of the resource known to the client. The operation will be performed -// only if the resource's current ETag on the service does not match the value specified by the client. -// ifModifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has been modified since the specified time. -// ifUnmodifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has not been modified since the specified time. -func (client JobScheduleClient) Terminate(ctx context.Context, jobScheduleID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.TerminatePreparer(ctx, jobScheduleID, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Terminate", nil, "Failure preparing request") - return - } - - resp, err := client.TerminateSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Terminate", resp, "Failure sending request") - return - } - - result, err = client.TerminateResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Terminate", resp, "Failure responding to request") - } - - return -} - -// TerminatePreparer prepares the Terminate request. -func (client JobScheduleClient) TerminatePreparer(ctx context.Context, jobScheduleID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobScheduleId": autorest.Encode("path", jobScheduleID), - } - - const APIVersion = "2017-06-01.5.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobschedules/{jobScheduleId}/terminate", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// TerminateSender sends the Terminate request. The method will close the -// http.Response Body if it receives an error. -func (client JobScheduleClient) TerminateSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// TerminateResponder handles the response to the Terminate request. The method always -// closes the http.Response Body. -func (client JobScheduleClient) TerminateResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByClosing()) - result.Response = resp - return -} - -// Update this fully replaces all the updateable properties of the job schedule. For example, if the schedule property -// is not specified with this request, then the Batch service will remove the existing schedule. Changes to a job -// schedule only impact jobs created by the schedule after the update has taken place; currently running jobs are -// unaffected. -// -// jobScheduleID is the ID of the job schedule to update. jobScheduleUpdateParameter is the parameters for the -// request. timeout is the maximum time that the server can spend processing the request, in seconds. The default -// is 30 seconds. clientRequestID is the caller-generated request identity, in the form of a GUID with no -// decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the -// server should return the client-request-id in the response. ocpDate is the time the request was issued. Client -// libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API -// directly. ifMatch is an ETag value associated with the version of the resource known to the client. The -// operation will be performed only if the resource's current ETag on the service exactly matches the value -// specified by the client. ifNoneMatch is an ETag value associated with the version of the resource known to the -// client. The operation will be performed only if the resource's current ETag on the service does not match the -// value specified by the client. ifModifiedSince is a timestamp indicating the last modified time of the resource -// known to the client. The operation will be performed only if the resource on the service has been modified since -// the specified time. ifUnmodifiedSince is a timestamp indicating the last modified time of the resource known to -// the client. The operation will be performed only if the resource on the service has not been modified since the -// specified time. -func (client JobScheduleClient) Update(ctx context.Context, jobScheduleID string, jobScheduleUpdateParameter JobScheduleUpdateParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: jobScheduleUpdateParameter, - Constraints: []validation.Constraint{{Target: "jobScheduleUpdateParameter.Schedule", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "jobScheduleUpdateParameter.JobSpecification", Name: validation.Null, Rule: true, - Chain: []validation.Constraint{{Target: "jobScheduleUpdateParameter.JobSpecification.JobManagerTask", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "jobScheduleUpdateParameter.JobSpecification.JobManagerTask.ID", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "jobScheduleUpdateParameter.JobSpecification.JobManagerTask.CommandLine", Name: validation.Null, Rule: true, Chain: nil}, - }}, - {Target: "jobScheduleUpdateParameter.JobSpecification.JobPreparationTask", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "jobScheduleUpdateParameter.JobSpecification.JobPreparationTask.CommandLine", Name: validation.Null, Rule: true, Chain: nil}}}, - {Target: "jobScheduleUpdateParameter.JobSpecification.JobReleaseTask", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "jobScheduleUpdateParameter.JobSpecification.JobReleaseTask.CommandLine", Name: validation.Null, Rule: true, Chain: nil}}}, - {Target: "jobScheduleUpdateParameter.JobSpecification.PoolInfo", Name: validation.Null, Rule: true, - Chain: []validation.Constraint{{Target: "jobScheduleUpdateParameter.JobSpecification.PoolInfo.AutoPoolSpecification", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "jobScheduleUpdateParameter.JobSpecification.PoolInfo.AutoPoolSpecification.Pool", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "jobScheduleUpdateParameter.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.VMSize", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "jobScheduleUpdateParameter.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.CloudServiceConfiguration", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "jobScheduleUpdateParameter.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.CloudServiceConfiguration.OsFamily", Name: validation.Null, Rule: true, Chain: nil}}}, - {Target: "jobScheduleUpdateParameter.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "jobScheduleUpdateParameter.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.ImageReference", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "jobScheduleUpdateParameter.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.ImageReference.Publisher", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "jobScheduleUpdateParameter.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.ImageReference.Offer", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "jobScheduleUpdateParameter.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.ImageReference.Sku", Name: validation.Null, Rule: true, Chain: nil}, - }}, - {Target: "jobScheduleUpdateParameter.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.OsDisk", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "jobScheduleUpdateParameter.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.OsDisk.ImageUris", Name: validation.Null, Rule: true, Chain: nil}}}, - {Target: "jobScheduleUpdateParameter.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.NodeAgentSKUID", Name: validation.Null, Rule: true, Chain: nil}, - }}, - {Target: "jobScheduleUpdateParameter.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.NetworkConfiguration", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "jobScheduleUpdateParameter.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.NetworkConfiguration.EndpointConfiguration", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "jobScheduleUpdateParameter.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.NetworkConfiguration.EndpointConfiguration.InboundNATPools", Name: validation.Null, Rule: true, Chain: nil}}}, - }}, - {Target: "jobScheduleUpdateParameter.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.StartTask", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "jobScheduleUpdateParameter.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.StartTask.CommandLine", Name: validation.Null, Rule: true, Chain: nil}}}, - }}, - }}, - }}, - }}}}}); err != nil { - return result, validation.NewError("batch.JobScheduleClient", "Update", err.Error()) - } - - req, err := client.UpdatePreparer(ctx, jobScheduleID, jobScheduleUpdateParameter, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Update", nil, "Failure preparing request") - return - } - - resp, err := client.UpdateSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Update", resp, "Failure sending request") - return - } - - result, err = client.UpdateResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Update", resp, "Failure responding to request") - } - - return -} - -// UpdatePreparer prepares the Update request. -func (client JobScheduleClient) UpdatePreparer(ctx context.Context, jobScheduleID string, jobScheduleUpdateParameter JobScheduleUpdateParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobScheduleId": autorest.Encode("path", jobScheduleID), - } - - const APIVersion = "2017-06-01.5.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPut(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobschedules/{jobScheduleId}", pathParameters), - autorest.WithJSON(jobScheduleUpdateParameter), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// UpdateSender sends the Update request. The method will close the -// http.Response Body if it receives an error. -func (client JobScheduleClient) UpdateSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// UpdateResponder handles the response to the Update request. The method always -// closes the http.Response Body. -func (client JobScheduleClient) UpdateResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} diff --git a/services/batch/2017-06-01.5.1/batch/models.go b/services/batch/2017-06-01.5.1/batch/models.go deleted file mode 100644 index f40101979dfd..000000000000 --- a/services/batch/2017-06-01.5.1/batch/models.go +++ /dev/null @@ -1,3293 +0,0 @@ -package batch - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/date" - "github.com/Azure/go-autorest/autorest/to" - "io" - "net/http" -) - -// AccessScope enumerates the values for access scope. -type AccessScope string - -const ( - // Job ... - Job AccessScope = "job" -) - -// PossibleAccessScopeValues returns an array of possible values for the AccessScope const type. -func PossibleAccessScopeValues() []AccessScope { - return []AccessScope{Job} -} - -// AllocationState enumerates the values for allocation state. -type AllocationState string - -const ( - // Resizing ... - Resizing AllocationState = "resizing" - // Steady ... - Steady AllocationState = "steady" - // Stopping ... - Stopping AllocationState = "stopping" -) - -// PossibleAllocationStateValues returns an array of possible values for the AllocationState const type. -func PossibleAllocationStateValues() []AllocationState { - return []AllocationState{Resizing, Steady, Stopping} -} - -// AutoUserScope enumerates the values for auto user scope. -type AutoUserScope string - -const ( - // Pool ... - Pool AutoUserScope = "pool" - // Task ... - Task AutoUserScope = "task" -) - -// PossibleAutoUserScopeValues returns an array of possible values for the AutoUserScope const type. -func PossibleAutoUserScopeValues() []AutoUserScope { - return []AutoUserScope{Pool, Task} -} - -// CachingType enumerates the values for caching type. -type CachingType string - -const ( - // None ... - None CachingType = "none" - // ReadOnly ... - ReadOnly CachingType = "readOnly" - // ReadWrite ... - ReadWrite CachingType = "readWrite" -) - -// PossibleCachingTypeValues returns an array of possible values for the CachingType const type. -func PossibleCachingTypeValues() []CachingType { - return []CachingType{None, ReadOnly, ReadWrite} -} - -// CertificateFormat enumerates the values for certificate format. -type CertificateFormat string - -const ( - // Cer ... - Cer CertificateFormat = "cer" - // Pfx ... - Pfx CertificateFormat = "pfx" -) - -// PossibleCertificateFormatValues returns an array of possible values for the CertificateFormat const type. -func PossibleCertificateFormatValues() []CertificateFormat { - return []CertificateFormat{Cer, Pfx} -} - -// CertificateState enumerates the values for certificate state. -type CertificateState string - -const ( - // Active ... - Active CertificateState = "active" - // DeleteFailed ... - DeleteFailed CertificateState = "deleteFailed" - // Deleting ... - Deleting CertificateState = "deleting" -) - -// PossibleCertificateStateValues returns an array of possible values for the CertificateState const type. -func PossibleCertificateStateValues() []CertificateState { - return []CertificateState{Active, DeleteFailed, Deleting} -} - -// CertificateStoreLocation enumerates the values for certificate store location. -type CertificateStoreLocation string - -const ( - // CurrentUser ... - CurrentUser CertificateStoreLocation = "currentUser" - // LocalMachine ... - LocalMachine CertificateStoreLocation = "localMachine" -) - -// PossibleCertificateStoreLocationValues returns an array of possible values for the CertificateStoreLocation const type. -func PossibleCertificateStoreLocationValues() []CertificateStoreLocation { - return []CertificateStoreLocation{CurrentUser, LocalMachine} -} - -// CertificateVisibility enumerates the values for certificate visibility. -type CertificateVisibility string - -const ( - // CertificateVisibilityRemoteUser ... - CertificateVisibilityRemoteUser CertificateVisibility = "remoteUser" - // CertificateVisibilityStartTask ... - CertificateVisibilityStartTask CertificateVisibility = "startTask" - // CertificateVisibilityTask ... - CertificateVisibilityTask CertificateVisibility = "task" -) - -// PossibleCertificateVisibilityValues returns an array of possible values for the CertificateVisibility const type. -func PossibleCertificateVisibilityValues() []CertificateVisibility { - return []CertificateVisibility{CertificateVisibilityRemoteUser, CertificateVisibilityStartTask, CertificateVisibilityTask} -} - -// ComputeNodeDeallocationOption enumerates the values for compute node deallocation option. -type ComputeNodeDeallocationOption string - -const ( - // Requeue ... - Requeue ComputeNodeDeallocationOption = "requeue" - // RetainedData ... - RetainedData ComputeNodeDeallocationOption = "retainedData" - // TaskCompletion ... - TaskCompletion ComputeNodeDeallocationOption = "taskCompletion" - // Terminate ... - Terminate ComputeNodeDeallocationOption = "terminate" -) - -// PossibleComputeNodeDeallocationOptionValues returns an array of possible values for the ComputeNodeDeallocationOption const type. -func PossibleComputeNodeDeallocationOptionValues() []ComputeNodeDeallocationOption { - return []ComputeNodeDeallocationOption{Requeue, RetainedData, TaskCompletion, Terminate} -} - -// ComputeNodeFillType enumerates the values for compute node fill type. -type ComputeNodeFillType string - -const ( - // Pack ... - Pack ComputeNodeFillType = "pack" - // Spread ... - Spread ComputeNodeFillType = "spread" -) - -// PossibleComputeNodeFillTypeValues returns an array of possible values for the ComputeNodeFillType const type. -func PossibleComputeNodeFillTypeValues() []ComputeNodeFillType { - return []ComputeNodeFillType{Pack, Spread} -} - -// ComputeNodeRebootOption enumerates the values for compute node reboot option. -type ComputeNodeRebootOption string - -const ( - // ComputeNodeRebootOptionRequeue ... - ComputeNodeRebootOptionRequeue ComputeNodeRebootOption = "requeue" - // ComputeNodeRebootOptionRetainedData ... - ComputeNodeRebootOptionRetainedData ComputeNodeRebootOption = "retainedData" - // ComputeNodeRebootOptionTaskCompletion ... - ComputeNodeRebootOptionTaskCompletion ComputeNodeRebootOption = "taskCompletion" - // ComputeNodeRebootOptionTerminate ... - ComputeNodeRebootOptionTerminate ComputeNodeRebootOption = "terminate" -) - -// PossibleComputeNodeRebootOptionValues returns an array of possible values for the ComputeNodeRebootOption const type. -func PossibleComputeNodeRebootOptionValues() []ComputeNodeRebootOption { - return []ComputeNodeRebootOption{ComputeNodeRebootOptionRequeue, ComputeNodeRebootOptionRetainedData, ComputeNodeRebootOptionTaskCompletion, ComputeNodeRebootOptionTerminate} -} - -// ComputeNodeReimageOption enumerates the values for compute node reimage option. -type ComputeNodeReimageOption string - -const ( - // ComputeNodeReimageOptionRequeue ... - ComputeNodeReimageOptionRequeue ComputeNodeReimageOption = "requeue" - // ComputeNodeReimageOptionRetainedData ... - ComputeNodeReimageOptionRetainedData ComputeNodeReimageOption = "retainedData" - // ComputeNodeReimageOptionTaskCompletion ... - ComputeNodeReimageOptionTaskCompletion ComputeNodeReimageOption = "taskCompletion" - // ComputeNodeReimageOptionTerminate ... - ComputeNodeReimageOptionTerminate ComputeNodeReimageOption = "terminate" -) - -// PossibleComputeNodeReimageOptionValues returns an array of possible values for the ComputeNodeReimageOption const type. -func PossibleComputeNodeReimageOptionValues() []ComputeNodeReimageOption { - return []ComputeNodeReimageOption{ComputeNodeReimageOptionRequeue, ComputeNodeReimageOptionRetainedData, ComputeNodeReimageOptionTaskCompletion, ComputeNodeReimageOptionTerminate} -} - -// ComputeNodeState enumerates the values for compute node state. -type ComputeNodeState string - -const ( - // Creating ... - Creating ComputeNodeState = "creating" - // Idle ... - Idle ComputeNodeState = "idle" - // LeavingPool ... - LeavingPool ComputeNodeState = "leavingPool" - // Offline ... - Offline ComputeNodeState = "offline" - // Preempted ... - Preempted ComputeNodeState = "preempted" - // Rebooting ... - Rebooting ComputeNodeState = "rebooting" - // Reimaging ... - Reimaging ComputeNodeState = "reimaging" - // Running ... - Running ComputeNodeState = "running" - // Starting ... - Starting ComputeNodeState = "starting" - // StartTaskFailed ... - StartTaskFailed ComputeNodeState = "startTaskFailed" - // Unknown ... - Unknown ComputeNodeState = "unknown" - // Unusable ... - Unusable ComputeNodeState = "unusable" - // WaitingForStartTask ... - WaitingForStartTask ComputeNodeState = "waitingForStartTask" -) - -// PossibleComputeNodeStateValues returns an array of possible values for the ComputeNodeState const type. -func PossibleComputeNodeStateValues() []ComputeNodeState { - return []ComputeNodeState{Creating, Idle, LeavingPool, Offline, Preempted, Rebooting, Reimaging, Running, Starting, StartTaskFailed, Unknown, Unusable, WaitingForStartTask} -} - -// DependencyAction enumerates the values for dependency action. -type DependencyAction string - -const ( - // Block ... - Block DependencyAction = "block" - // Satisfy ... - Satisfy DependencyAction = "satisfy" -) - -// PossibleDependencyActionValues returns an array of possible values for the DependencyAction const type. -func PossibleDependencyActionValues() []DependencyAction { - return []DependencyAction{Block, Satisfy} -} - -// DisableComputeNodeSchedulingOption enumerates the values for disable compute node scheduling option. -type DisableComputeNodeSchedulingOption string - -const ( - // DisableComputeNodeSchedulingOptionRequeue ... - DisableComputeNodeSchedulingOptionRequeue DisableComputeNodeSchedulingOption = "requeue" - // DisableComputeNodeSchedulingOptionTaskCompletion ... - DisableComputeNodeSchedulingOptionTaskCompletion DisableComputeNodeSchedulingOption = "taskCompletion" - // DisableComputeNodeSchedulingOptionTerminate ... - DisableComputeNodeSchedulingOptionTerminate DisableComputeNodeSchedulingOption = "terminate" -) - -// PossibleDisableComputeNodeSchedulingOptionValues returns an array of possible values for the DisableComputeNodeSchedulingOption const type. -func PossibleDisableComputeNodeSchedulingOptionValues() []DisableComputeNodeSchedulingOption { - return []DisableComputeNodeSchedulingOption{DisableComputeNodeSchedulingOptionRequeue, DisableComputeNodeSchedulingOptionTaskCompletion, DisableComputeNodeSchedulingOptionTerminate} -} - -// DisableJobOption enumerates the values for disable job option. -type DisableJobOption string - -const ( - // DisableJobOptionRequeue ... - DisableJobOptionRequeue DisableJobOption = "requeue" - // DisableJobOptionTerminate ... - DisableJobOptionTerminate DisableJobOption = "terminate" - // DisableJobOptionWait ... - DisableJobOptionWait DisableJobOption = "wait" -) - -// PossibleDisableJobOptionValues returns an array of possible values for the DisableJobOption const type. -func PossibleDisableJobOptionValues() []DisableJobOption { - return []DisableJobOption{DisableJobOptionRequeue, DisableJobOptionTerminate, DisableJobOptionWait} -} - -// ElevationLevel enumerates the values for elevation level. -type ElevationLevel string - -const ( - // Admin ... - Admin ElevationLevel = "admin" - // NonAdmin ... - NonAdmin ElevationLevel = "nonAdmin" -) - -// PossibleElevationLevelValues returns an array of possible values for the ElevationLevel const type. -func PossibleElevationLevelValues() []ElevationLevel { - return []ElevationLevel{Admin, NonAdmin} -} - -// ErrorCategory enumerates the values for error category. -type ErrorCategory string - -const ( - // ServerError ... - ServerError ErrorCategory = "serverError" - // UserError ... - UserError ErrorCategory = "userError" -) - -// PossibleErrorCategoryValues returns an array of possible values for the ErrorCategory const type. -func PossibleErrorCategoryValues() []ErrorCategory { - return []ErrorCategory{ServerError, UserError} -} - -// InboundEndpointProtocol enumerates the values for inbound endpoint protocol. -type InboundEndpointProtocol string - -const ( - // TCP ... - TCP InboundEndpointProtocol = "tcp" - // UDP ... - UDP InboundEndpointProtocol = "udp" -) - -// PossibleInboundEndpointProtocolValues returns an array of possible values for the InboundEndpointProtocol const type. -func PossibleInboundEndpointProtocolValues() []InboundEndpointProtocol { - return []InboundEndpointProtocol{TCP, UDP} -} - -// JobAction enumerates the values for job action. -type JobAction string - -const ( - // JobActionDisable ... - JobActionDisable JobAction = "disable" - // JobActionNone ... - JobActionNone JobAction = "none" - // JobActionTerminate ... - JobActionTerminate JobAction = "terminate" -) - -// PossibleJobActionValues returns an array of possible values for the JobAction const type. -func PossibleJobActionValues() []JobAction { - return []JobAction{JobActionDisable, JobActionNone, JobActionTerminate} -} - -// JobPreparationTaskState enumerates the values for job preparation task state. -type JobPreparationTaskState string - -const ( - // JobPreparationTaskStateCompleted ... - JobPreparationTaskStateCompleted JobPreparationTaskState = "completed" - // JobPreparationTaskStateRunning ... - JobPreparationTaskStateRunning JobPreparationTaskState = "running" -) - -// PossibleJobPreparationTaskStateValues returns an array of possible values for the JobPreparationTaskState const type. -func PossibleJobPreparationTaskStateValues() []JobPreparationTaskState { - return []JobPreparationTaskState{JobPreparationTaskStateCompleted, JobPreparationTaskStateRunning} -} - -// JobReleaseTaskState enumerates the values for job release task state. -type JobReleaseTaskState string - -const ( - // JobReleaseTaskStateCompleted ... - JobReleaseTaskStateCompleted JobReleaseTaskState = "completed" - // JobReleaseTaskStateRunning ... - JobReleaseTaskStateRunning JobReleaseTaskState = "running" -) - -// PossibleJobReleaseTaskStateValues returns an array of possible values for the JobReleaseTaskState const type. -func PossibleJobReleaseTaskStateValues() []JobReleaseTaskState { - return []JobReleaseTaskState{JobReleaseTaskStateCompleted, JobReleaseTaskStateRunning} -} - -// JobScheduleState enumerates the values for job schedule state. -type JobScheduleState string - -const ( - // JobScheduleStateActive ... - JobScheduleStateActive JobScheduleState = "active" - // JobScheduleStateCompleted ... - JobScheduleStateCompleted JobScheduleState = "completed" - // JobScheduleStateDeleting ... - JobScheduleStateDeleting JobScheduleState = "deleting" - // JobScheduleStateDisabled ... - JobScheduleStateDisabled JobScheduleState = "disabled" - // JobScheduleStateTerminating ... - JobScheduleStateTerminating JobScheduleState = "terminating" -) - -// PossibleJobScheduleStateValues returns an array of possible values for the JobScheduleState const type. -func PossibleJobScheduleStateValues() []JobScheduleState { - return []JobScheduleState{JobScheduleStateActive, JobScheduleStateCompleted, JobScheduleStateDeleting, JobScheduleStateDisabled, JobScheduleStateTerminating} -} - -// JobState enumerates the values for job state. -type JobState string - -const ( - // JobStateActive ... - JobStateActive JobState = "active" - // JobStateCompleted ... - JobStateCompleted JobState = "completed" - // JobStateDeleting ... - JobStateDeleting JobState = "deleting" - // JobStateDisabled ... - JobStateDisabled JobState = "disabled" - // JobStateDisabling ... - JobStateDisabling JobState = "disabling" - // JobStateEnabling ... - JobStateEnabling JobState = "enabling" - // JobStateTerminating ... - JobStateTerminating JobState = "terminating" -) - -// PossibleJobStateValues returns an array of possible values for the JobState const type. -func PossibleJobStateValues() []JobState { - return []JobState{JobStateActive, JobStateCompleted, JobStateDeleting, JobStateDisabled, JobStateDisabling, JobStateEnabling, JobStateTerminating} -} - -// NetworkSecurityGroupRuleAccess enumerates the values for network security group rule access. -type NetworkSecurityGroupRuleAccess string - -const ( - // Allow ... - Allow NetworkSecurityGroupRuleAccess = "allow" - // Deny ... - Deny NetworkSecurityGroupRuleAccess = "deny" -) - -// PossibleNetworkSecurityGroupRuleAccessValues returns an array of possible values for the NetworkSecurityGroupRuleAccess const type. -func PossibleNetworkSecurityGroupRuleAccessValues() []NetworkSecurityGroupRuleAccess { - return []NetworkSecurityGroupRuleAccess{Allow, Deny} -} - -// OnAllTasksComplete enumerates the values for on all tasks complete. -type OnAllTasksComplete string - -const ( - // NoAction ... - NoAction OnAllTasksComplete = "noAction" - // TerminateJob ... - TerminateJob OnAllTasksComplete = "terminateJob" -) - -// PossibleOnAllTasksCompleteValues returns an array of possible values for the OnAllTasksComplete const type. -func PossibleOnAllTasksCompleteValues() []OnAllTasksComplete { - return []OnAllTasksComplete{NoAction, TerminateJob} -} - -// OnTaskFailure enumerates the values for on task failure. -type OnTaskFailure string - -const ( - // OnTaskFailureNoAction ... - OnTaskFailureNoAction OnTaskFailure = "noAction" - // OnTaskFailurePerformExitOptionsJobAction ... - OnTaskFailurePerformExitOptionsJobAction OnTaskFailure = "performExitOptionsJobAction" -) - -// PossibleOnTaskFailureValues returns an array of possible values for the OnTaskFailure const type. -func PossibleOnTaskFailureValues() []OnTaskFailure { - return []OnTaskFailure{OnTaskFailureNoAction, OnTaskFailurePerformExitOptionsJobAction} -} - -// OSType enumerates the values for os type. -type OSType string - -const ( - // Linux ... - Linux OSType = "linux" - // Windows ... - Windows OSType = "windows" -) - -// PossibleOSTypeValues returns an array of possible values for the OSType const type. -func PossibleOSTypeValues() []OSType { - return []OSType{Linux, Windows} -} - -// OutputFileUploadCondition enumerates the values for output file upload condition. -type OutputFileUploadCondition string - -const ( - // OutputFileUploadConditionTaskCompletion ... - OutputFileUploadConditionTaskCompletion OutputFileUploadCondition = "taskCompletion" - // OutputFileUploadConditionTaskFailure ... - OutputFileUploadConditionTaskFailure OutputFileUploadCondition = "taskFailure" - // OutputFileUploadConditionTaskSuccess ... - OutputFileUploadConditionTaskSuccess OutputFileUploadCondition = "taskSuccess" -) - -// PossibleOutputFileUploadConditionValues returns an array of possible values for the OutputFileUploadCondition const type. -func PossibleOutputFileUploadConditionValues() []OutputFileUploadCondition { - return []OutputFileUploadCondition{OutputFileUploadConditionTaskCompletion, OutputFileUploadConditionTaskFailure, OutputFileUploadConditionTaskSuccess} -} - -// PoolLifetimeOption enumerates the values for pool lifetime option. -type PoolLifetimeOption string - -const ( - // PoolLifetimeOptionJob ... - PoolLifetimeOptionJob PoolLifetimeOption = "job" - // PoolLifetimeOptionJobSchedule ... - PoolLifetimeOptionJobSchedule PoolLifetimeOption = "jobSchedule" -) - -// PossiblePoolLifetimeOptionValues returns an array of possible values for the PoolLifetimeOption const type. -func PossiblePoolLifetimeOptionValues() []PoolLifetimeOption { - return []PoolLifetimeOption{PoolLifetimeOptionJob, PoolLifetimeOptionJobSchedule} -} - -// PoolState enumerates the values for pool state. -type PoolState string - -const ( - // PoolStateActive ... - PoolStateActive PoolState = "active" - // PoolStateDeleting ... - PoolStateDeleting PoolState = "deleting" - // PoolStateUpgrading ... - PoolStateUpgrading PoolState = "upgrading" -) - -// PossiblePoolStateValues returns an array of possible values for the PoolState const type. -func PossiblePoolStateValues() []PoolState { - return []PoolState{PoolStateActive, PoolStateDeleting, PoolStateUpgrading} -} - -// SchedulingState enumerates the values for scheduling state. -type SchedulingState string - -const ( - // Disabled ... - Disabled SchedulingState = "disabled" - // Enabled ... - Enabled SchedulingState = "enabled" -) - -// PossibleSchedulingStateValues returns an array of possible values for the SchedulingState const type. -func PossibleSchedulingStateValues() []SchedulingState { - return []SchedulingState{Disabled, Enabled} -} - -// StartTaskState enumerates the values for start task state. -type StartTaskState string - -const ( - // StartTaskStateCompleted ... - StartTaskStateCompleted StartTaskState = "completed" - // StartTaskStateRunning ... - StartTaskStateRunning StartTaskState = "running" -) - -// PossibleStartTaskStateValues returns an array of possible values for the StartTaskState const type. -func PossibleStartTaskStateValues() []StartTaskState { - return []StartTaskState{StartTaskStateCompleted, StartTaskStateRunning} -} - -// SubtaskState enumerates the values for subtask state. -type SubtaskState string - -const ( - // SubtaskStateCompleted ... - SubtaskStateCompleted SubtaskState = "completed" - // SubtaskStatePreparing ... - SubtaskStatePreparing SubtaskState = "preparing" - // SubtaskStateRunning ... - SubtaskStateRunning SubtaskState = "running" -) - -// PossibleSubtaskStateValues returns an array of possible values for the SubtaskState const type. -func PossibleSubtaskStateValues() []SubtaskState { - return []SubtaskState{SubtaskStateCompleted, SubtaskStatePreparing, SubtaskStateRunning} -} - -// TaskAddStatus enumerates the values for task add status. -type TaskAddStatus string - -const ( - // TaskAddStatusClientError ... - TaskAddStatusClientError TaskAddStatus = "clientError" - // TaskAddStatusServerError ... - TaskAddStatusServerError TaskAddStatus = "serverError" - // TaskAddStatusSuccess ... - TaskAddStatusSuccess TaskAddStatus = "success" -) - -// PossibleTaskAddStatusValues returns an array of possible values for the TaskAddStatus const type. -func PossibleTaskAddStatusValues() []TaskAddStatus { - return []TaskAddStatus{TaskAddStatusClientError, TaskAddStatusServerError, TaskAddStatusSuccess} -} - -// TaskCountValidationStatus enumerates the values for task count validation status. -type TaskCountValidationStatus string - -const ( - // Unvalidated ... - Unvalidated TaskCountValidationStatus = "unvalidated" - // Validated ... - Validated TaskCountValidationStatus = "validated" -) - -// PossibleTaskCountValidationStatusValues returns an array of possible values for the TaskCountValidationStatus const type. -func PossibleTaskCountValidationStatusValues() []TaskCountValidationStatus { - return []TaskCountValidationStatus{Unvalidated, Validated} -} - -// TaskExecutionResult enumerates the values for task execution result. -type TaskExecutionResult string - -const ( - // Failure ... - Failure TaskExecutionResult = "failure" - // Success ... - Success TaskExecutionResult = "success" -) - -// PossibleTaskExecutionResultValues returns an array of possible values for the TaskExecutionResult const type. -func PossibleTaskExecutionResultValues() []TaskExecutionResult { - return []TaskExecutionResult{Failure, Success} -} - -// TaskState enumerates the values for task state. -type TaskState string - -const ( - // TaskStateActive ... - TaskStateActive TaskState = "active" - // TaskStateCompleted ... - TaskStateCompleted TaskState = "completed" - // TaskStatePreparing ... - TaskStatePreparing TaskState = "preparing" - // TaskStateRunning ... - TaskStateRunning TaskState = "running" -) - -// PossibleTaskStateValues returns an array of possible values for the TaskState const type. -func PossibleTaskStateValues() []TaskState { - return []TaskState{TaskStateActive, TaskStateCompleted, TaskStatePreparing, TaskStateRunning} -} - -// AccountListNodeAgentSkusResult ... -type AccountListNodeAgentSkusResult struct { - autorest.Response `json:"-"` - Value *[]NodeAgentSku `json:"value,omitempty"` - OdataNextLink *string `json:"odata.nextLink,omitempty"` -} - -// AccountListNodeAgentSkusResultIterator provides access to a complete listing of NodeAgentSku values. -type AccountListNodeAgentSkusResultIterator struct { - i int - page AccountListNodeAgentSkusResultPage -} - -// Next advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -func (iter *AccountListNodeAgentSkusResultIterator) Next() error { - iter.i++ - if iter.i < len(iter.page.Values()) { - return nil - } - err := iter.page.Next() - if err != nil { - iter.i-- - return err - } - iter.i = 0 - return nil -} - -// NotDone returns true if the enumeration should be started or is not yet complete. -func (iter AccountListNodeAgentSkusResultIterator) NotDone() bool { - return iter.page.NotDone() && iter.i < len(iter.page.Values()) -} - -// Response returns the raw server response from the last page request. -func (iter AccountListNodeAgentSkusResultIterator) Response() AccountListNodeAgentSkusResult { - return iter.page.Response() -} - -// Value returns the current value or a zero-initialized value if the -// iterator has advanced beyond the end of the collection. -func (iter AccountListNodeAgentSkusResultIterator) Value() NodeAgentSku { - if !iter.page.NotDone() { - return NodeAgentSku{} - } - return iter.page.Values()[iter.i] -} - -// IsEmpty returns true if the ListResult contains no values. -func (alnasr AccountListNodeAgentSkusResult) IsEmpty() bool { - return alnasr.Value == nil || len(*alnasr.Value) == 0 -} - -// accountListNodeAgentSkusResultPreparer prepares a request to retrieve the next set of results. -// It returns nil if no more results exist. -func (alnasr AccountListNodeAgentSkusResult) accountListNodeAgentSkusResultPreparer() (*http.Request, error) { - if alnasr.OdataNextLink == nil || len(to.String(alnasr.OdataNextLink)) < 1 { - return nil, nil - } - return autorest.Prepare(&http.Request{}, - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(alnasr.OdataNextLink))) -} - -// AccountListNodeAgentSkusResultPage contains a page of NodeAgentSku values. -type AccountListNodeAgentSkusResultPage struct { - fn func(AccountListNodeAgentSkusResult) (AccountListNodeAgentSkusResult, error) - alnasr AccountListNodeAgentSkusResult -} - -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -func (page *AccountListNodeAgentSkusResultPage) Next() error { - next, err := page.fn(page.alnasr) - if err != nil { - return err - } - page.alnasr = next - return nil -} - -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page AccountListNodeAgentSkusResultPage) NotDone() bool { - return !page.alnasr.IsEmpty() -} - -// Response returns the raw server response from the last page request. -func (page AccountListNodeAgentSkusResultPage) Response() AccountListNodeAgentSkusResult { - return page.alnasr -} - -// Values returns the slice of values for the current page or nil if there are no values. -func (page AccountListNodeAgentSkusResultPage) Values() []NodeAgentSku { - if page.alnasr.IsEmpty() { - return nil - } - return *page.alnasr.Value -} - -// AffinityInformation ... -type AffinityInformation struct { - // AffinityID - You can pass the affinityId of a compute node to indicate that this task needs to run on that compute node. Note that this is just a soft affinity. If the target node is busy or unavailable at the time the task is scheduled, then the task will be scheduled elsewhere. - AffinityID *string `json:"affinityId,omitempty"` -} - -// ApplicationListResult ... -type ApplicationListResult struct { - autorest.Response `json:"-"` - Value *[]ApplicationSummary `json:"value,omitempty"` - OdataNextLink *string `json:"odata.nextLink,omitempty"` -} - -// ApplicationListResultIterator provides access to a complete listing of ApplicationSummary values. -type ApplicationListResultIterator struct { - i int - page ApplicationListResultPage -} - -// Next advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -func (iter *ApplicationListResultIterator) Next() error { - iter.i++ - if iter.i < len(iter.page.Values()) { - return nil - } - err := iter.page.Next() - if err != nil { - iter.i-- - return err - } - iter.i = 0 - return nil -} - -// NotDone returns true if the enumeration should be started or is not yet complete. -func (iter ApplicationListResultIterator) NotDone() bool { - return iter.page.NotDone() && iter.i < len(iter.page.Values()) -} - -// Response returns the raw server response from the last page request. -func (iter ApplicationListResultIterator) Response() ApplicationListResult { - return iter.page.Response() -} - -// Value returns the current value or a zero-initialized value if the -// iterator has advanced beyond the end of the collection. -func (iter ApplicationListResultIterator) Value() ApplicationSummary { - if !iter.page.NotDone() { - return ApplicationSummary{} - } - return iter.page.Values()[iter.i] -} - -// IsEmpty returns true if the ListResult contains no values. -func (alr ApplicationListResult) IsEmpty() bool { - return alr.Value == nil || len(*alr.Value) == 0 -} - -// applicationListResultPreparer prepares a request to retrieve the next set of results. -// It returns nil if no more results exist. -func (alr ApplicationListResult) applicationListResultPreparer() (*http.Request, error) { - if alr.OdataNextLink == nil || len(to.String(alr.OdataNextLink)) < 1 { - return nil, nil - } - return autorest.Prepare(&http.Request{}, - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(alr.OdataNextLink))) -} - -// ApplicationListResultPage contains a page of ApplicationSummary values. -type ApplicationListResultPage struct { - fn func(ApplicationListResult) (ApplicationListResult, error) - alr ApplicationListResult -} - -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -func (page *ApplicationListResultPage) Next() error { - next, err := page.fn(page.alr) - if err != nil { - return err - } - page.alr = next - return nil -} - -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page ApplicationListResultPage) NotDone() bool { - return !page.alr.IsEmpty() -} - -// Response returns the raw server response from the last page request. -func (page ApplicationListResultPage) Response() ApplicationListResult { - return page.alr -} - -// Values returns the slice of values for the current page or nil if there are no values. -func (page ApplicationListResultPage) Values() []ApplicationSummary { - if page.alr.IsEmpty() { - return nil - } - return *page.alr.Value -} - -// ApplicationPackageReference ... -type ApplicationPackageReference struct { - ApplicationID *string `json:"applicationId,omitempty"` - // Version - If this is omitted on a pool, and no default version is specified for this application, the request fails with the error code InvalidApplicationPackageReferences and HTTP status code 409. If this is omitted on a task, and no default version is specified for this application, the task fails with a pre-processing error. - Version *string `json:"version,omitempty"` -} - -// ApplicationSummary ... -type ApplicationSummary struct { - autorest.Response `json:"-"` - ID *string `json:"id,omitempty"` - DisplayName *string `json:"displayName,omitempty"` - Versions *[]string `json:"versions,omitempty"` -} - -// AuthenticationTokenSettings ... -type AuthenticationTokenSettings struct { - // Access - The authentication token grants access to a limited set of Batch service operations. Currently the only supported value for the access property is 'job', which grants access to all operations related to the job which contains the task. - Access *[]AccessScope `json:"access,omitempty"` -} - -// AutoPoolSpecification ... -type AutoPoolSpecification struct { - // AutoPoolIDPrefix - The Batch service assigns each auto pool a unique identifier on creation. To distinguish between pools created for different purposes, you can specify this element to add a prefix to the ID that is assigned. The prefix can be up to 20 characters long. - AutoPoolIDPrefix *string `json:"autoPoolIdPrefix,omitempty"` - // PoolLifetimeOption - When the pool lifetime is jobSchedule the pool exists for the lifetime of the job schedule. The Batch Service creates the pool when it creates the first job on the schedule. You may apply this option only to job schedules, not to jobs. When the pool lifetime is job the pool exists for the lifetime of the job to which it is dedicated. The Batch service creates the pool when it creates the job. If the 'job' option is applied to a job schedule, the Batch service creates a new auto pool for every job created on the schedule. Possible values include: 'PoolLifetimeOptionJobSchedule', 'PoolLifetimeOptionJob' - PoolLifetimeOption PoolLifetimeOption `json:"poolLifetimeOption,omitempty"` - // KeepAlive - If false, the Batch service deletes the pool once its lifetime (as determined by the poolLifetimeOption setting) expires; that is, when the job or job schedule completes. If true, the Batch service does not delete the pool automatically. It is up to the user to delete auto pools created with this option. - KeepAlive *bool `json:"keepAlive,omitempty"` - Pool *PoolSpecification `json:"pool,omitempty"` -} - -// AutoScaleRun ... -type AutoScaleRun struct { - autorest.Response `json:"-"` - Timestamp *date.Time `json:"timestamp,omitempty"` - // Results - Each variable value is returned in the form $variable=value, and variables are separated by semicolons. - Results *string `json:"results,omitempty"` - Error *AutoScaleRunError `json:"error,omitempty"` -} - -// AutoScaleRunError ... -type AutoScaleRunError struct { - Code *string `json:"code,omitempty"` - Message *string `json:"message,omitempty"` - Values *[]NameValuePair `json:"values,omitempty"` -} - -// AutoUserSpecification ... -type AutoUserSpecification struct { - // Scope - Values are: - // pool - specifies that the task runs as the common auto user account which is created on every node in a pool. - // task - specifies that the service should create a new user for the task. - // The default value is task. Possible values include: 'Task', 'Pool' - Scope AutoUserScope `json:"scope,omitempty"` - // ElevationLevel - nonAdmin - The auto user is a standard user without elevated access. admin - The auto user is a user with elevated access and operates with full Administrator permissions. The default value is nonAdmin. Possible values include: 'NonAdmin', 'Admin' - ElevationLevel ElevationLevel `json:"elevationLevel,omitempty"` -} - -// Certificate a certificate that can be installed on compute nodes and can be used to authenticate operations on -// the machine. -type Certificate struct { - autorest.Response `json:"-"` - Thumbprint *string `json:"thumbprint,omitempty"` - ThumbprintAlgorithm *string `json:"thumbprintAlgorithm,omitempty"` - URL *string `json:"url,omitempty"` - // State - Possible values include: 'Active', 'Deleting', 'DeleteFailed' - State CertificateState `json:"state,omitempty"` - StateTransitionTime *date.Time `json:"stateTransitionTime,omitempty"` - // PreviousState - This property is not set if the certificate is in its initial active state. Possible values include: 'Active', 'Deleting', 'DeleteFailed' - PreviousState CertificateState `json:"previousState,omitempty"` - // PreviousStateTransitionTime - This property is not set if the certificate is in its initial Active state. - PreviousStateTransitionTime *date.Time `json:"previousStateTransitionTime,omitempty"` - PublicData *string `json:"publicData,omitempty"` - // DeleteCertificateError - This property is set only if the certificate is in the DeleteFailed state. - DeleteCertificateError *DeleteCertificateError `json:"deleteCertificateError,omitempty"` -} - -// CertificateAddParameter ... -type CertificateAddParameter struct { - Thumbprint *string `json:"thumbprint,omitempty"` - ThumbprintAlgorithm *string `json:"thumbprintAlgorithm,omitempty"` - Data *string `json:"data,omitempty"` - // CertificateFormat - Possible values include: 'Pfx', 'Cer' - CertificateFormat CertificateFormat `json:"certificateFormat,omitempty"` - // Password - This is required if the certificate format is pfx. It should be omitted if the certificate format is cer. - Password *string `json:"password,omitempty"` -} - -// CertificateListResult ... -type CertificateListResult struct { - autorest.Response `json:"-"` - Value *[]Certificate `json:"value,omitempty"` - OdataNextLink *string `json:"odata.nextLink,omitempty"` -} - -// CertificateListResultIterator provides access to a complete listing of Certificate values. -type CertificateListResultIterator struct { - i int - page CertificateListResultPage -} - -// Next advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -func (iter *CertificateListResultIterator) Next() error { - iter.i++ - if iter.i < len(iter.page.Values()) { - return nil - } - err := iter.page.Next() - if err != nil { - iter.i-- - return err - } - iter.i = 0 - return nil -} - -// NotDone returns true if the enumeration should be started or is not yet complete. -func (iter CertificateListResultIterator) NotDone() bool { - return iter.page.NotDone() && iter.i < len(iter.page.Values()) -} - -// Response returns the raw server response from the last page request. -func (iter CertificateListResultIterator) Response() CertificateListResult { - return iter.page.Response() -} - -// Value returns the current value or a zero-initialized value if the -// iterator has advanced beyond the end of the collection. -func (iter CertificateListResultIterator) Value() Certificate { - if !iter.page.NotDone() { - return Certificate{} - } - return iter.page.Values()[iter.i] -} - -// IsEmpty returns true if the ListResult contains no values. -func (clr CertificateListResult) IsEmpty() bool { - return clr.Value == nil || len(*clr.Value) == 0 -} - -// certificateListResultPreparer prepares a request to retrieve the next set of results. -// It returns nil if no more results exist. -func (clr CertificateListResult) certificateListResultPreparer() (*http.Request, error) { - if clr.OdataNextLink == nil || len(to.String(clr.OdataNextLink)) < 1 { - return nil, nil - } - return autorest.Prepare(&http.Request{}, - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(clr.OdataNextLink))) -} - -// CertificateListResultPage contains a page of Certificate values. -type CertificateListResultPage struct { - fn func(CertificateListResult) (CertificateListResult, error) - clr CertificateListResult -} - -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -func (page *CertificateListResultPage) Next() error { - next, err := page.fn(page.clr) - if err != nil { - return err - } - page.clr = next - return nil -} - -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page CertificateListResultPage) NotDone() bool { - return !page.clr.IsEmpty() -} - -// Response returns the raw server response from the last page request. -func (page CertificateListResultPage) Response() CertificateListResult { - return page.clr -} - -// Values returns the slice of values for the current page or nil if there are no values. -func (page CertificateListResultPage) Values() []Certificate { - if page.clr.IsEmpty() { - return nil - } - return *page.clr.Value -} - -// CertificateReference ... -type CertificateReference struct { - Thumbprint *string `json:"thumbprint,omitempty"` - ThumbprintAlgorithm *string `json:"thumbprintAlgorithm,omitempty"` - // StoreLocation - The default value is currentUser. This property is applicable only for pools configured with Windows nodes (that is, created with cloudServiceConfiguration, or with virtualMachineConfiguration using a Windows image reference). For Linux compute nodes, the certificates are stored in a directory inside the task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the task to query for this location. For certificates with visibility of 'remoteUser', a 'certs' directory is created in the user's home directory (e.g., /home/{user-name}/certs) and certificates are placed in that directory. Possible values include: 'CurrentUser', 'LocalMachine' - StoreLocation CertificateStoreLocation `json:"storeLocation,omitempty"` - // StoreName - This property is applicable only for pools configured with Windows nodes (that is, created with cloudServiceConfiguration, or with virtualMachineConfiguration using a Windows image reference). Common store names include: My, Root, CA, Trust, Disallowed, TrustedPeople, TrustedPublisher, AuthRoot, AddressBook, but any custom store name can also be used. The default value is My. - StoreName *string `json:"storeName,omitempty"` - // Visibility - Values are: - // starttask - The user account under which the start task is run. - // task - The accounts under which job tasks are run. - // remoteuser - The accounts under which users remotely access the node. - // You can specify more than one visibility in this collection. The default is all accounts. - Visibility *[]CertificateVisibility `json:"visibility,omitempty"` -} - -// CloudJob ... -type CloudJob struct { - autorest.Response `json:"-"` - // ID - The ID is case-preserving and case-insensitive (that is, you may not have two IDs within an account that differ only by case). - ID *string `json:"id,omitempty"` - DisplayName *string `json:"displayName,omitempty"` - UsesTaskDependencies *bool `json:"usesTaskDependencies,omitempty"` - URL *string `json:"url,omitempty"` - // ETag - This is an opaque string. You can use it to detect whether the job has changed between requests. In particular, you can be pass the ETag when updating a job to specify that your changes should take effect only if nobody else has modified the job in the meantime. - ETag *string `json:"eTag,omitempty"` - // LastModified - This is the last time at which the job level data, such as the job state or priority, changed. It does not factor in task-level changes such as adding new tasks or tasks changing state. - LastModified *date.Time `json:"lastModified,omitempty"` - CreationTime *date.Time `json:"creationTime,omitempty"` - // State - Possible values include: 'JobStateActive', 'JobStateDisabling', 'JobStateDisabled', 'JobStateEnabling', 'JobStateTerminating', 'JobStateCompleted', 'JobStateDeleting' - State JobState `json:"state,omitempty"` - StateTransitionTime *date.Time `json:"stateTransitionTime,omitempty"` - // PreviousState - This property is not set if the job is in its initial Active state. Possible values include: 'JobStateActive', 'JobStateDisabling', 'JobStateDisabled', 'JobStateEnabling', 'JobStateTerminating', 'JobStateCompleted', 'JobStateDeleting' - PreviousState JobState `json:"previousState,omitempty"` - // PreviousStateTransitionTime - This property is not set if the job is in its initial Active state. - PreviousStateTransitionTime *date.Time `json:"previousStateTransitionTime,omitempty"` - // Priority - Priority values can range from -1000 to 1000, with -1000 being the lowest priority and 1000 being the highest priority. The default value is 0. - Priority *int32 `json:"priority,omitempty"` - Constraints *JobConstraints `json:"constraints,omitempty"` - JobManagerTask *JobManagerTask `json:"jobManagerTask,omitempty"` - // JobPreparationTask - The Job Preparation task is a special task run on each node before any other task of the job. - JobPreparationTask *JobPreparationTask `json:"jobPreparationTask,omitempty"` - // JobReleaseTask - The Job Release task is a special task run at the end of the job on each node that has run any other task of the job. - JobReleaseTask *JobReleaseTask `json:"jobReleaseTask,omitempty"` - // CommonEnvironmentSettings - Individual tasks can override an environment setting specified here by specifying the same setting name with a different value. - CommonEnvironmentSettings *[]EnvironmentSetting `json:"commonEnvironmentSettings,omitempty"` - PoolInfo *PoolInformation `json:"poolInfo,omitempty"` - // OnAllTasksComplete - noAction - do nothing. The job remains active unless terminated or disabled by some other means. terminateJob - terminate the job. The job's terminateReason is set to 'AllTasksComplete'. The default is noAction. Possible values include: 'NoAction', 'TerminateJob' - OnAllTasksComplete OnAllTasksComplete `json:"onAllTasksComplete,omitempty"` - // OnTaskFailure - A task is considered to have failed if has a failureInfo. A failureInfo is set if the task completes with a non-zero exit code after exhausting its retry count, or if there was an error starting the task, for example due to a resource file download error. noAction - do nothing. performExitOptionsJobAction - take the action associated with the task exit condition in the task's exitConditions collection. (This may still result in no action being taken, if that is what the task specifies.) The default is noAction. Possible values include: 'OnTaskFailureNoAction', 'OnTaskFailurePerformExitOptionsJobAction' - OnTaskFailure OnTaskFailure `json:"onTaskFailure,omitempty"` - // Metadata - The Batch service does not assign any meaning to metadata; it is solely for the use of user code. - Metadata *[]MetadataItem `json:"metadata,omitempty"` - ExecutionInfo *JobExecutionInformation `json:"executionInfo,omitempty"` - Stats *JobStatistics `json:"stats,omitempty"` -} - -// CloudJobListPreparationAndReleaseTaskStatusResult ... -type CloudJobListPreparationAndReleaseTaskStatusResult struct { - autorest.Response `json:"-"` - Value *[]JobPreparationAndReleaseTaskExecutionInformation `json:"value,omitempty"` - OdataNextLink *string `json:"odata.nextLink,omitempty"` -} - -// CloudJobListPreparationAndReleaseTaskStatusResultIterator provides access to a complete listing of -// JobPreparationAndReleaseTaskExecutionInformation values. -type CloudJobListPreparationAndReleaseTaskStatusResultIterator struct { - i int - page CloudJobListPreparationAndReleaseTaskStatusResultPage -} - -// Next advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -func (iter *CloudJobListPreparationAndReleaseTaskStatusResultIterator) Next() error { - iter.i++ - if iter.i < len(iter.page.Values()) { - return nil - } - err := iter.page.Next() - if err != nil { - iter.i-- - return err - } - iter.i = 0 - return nil -} - -// NotDone returns true if the enumeration should be started or is not yet complete. -func (iter CloudJobListPreparationAndReleaseTaskStatusResultIterator) NotDone() bool { - return iter.page.NotDone() && iter.i < len(iter.page.Values()) -} - -// Response returns the raw server response from the last page request. -func (iter CloudJobListPreparationAndReleaseTaskStatusResultIterator) Response() CloudJobListPreparationAndReleaseTaskStatusResult { - return iter.page.Response() -} - -// Value returns the current value or a zero-initialized value if the -// iterator has advanced beyond the end of the collection. -func (iter CloudJobListPreparationAndReleaseTaskStatusResultIterator) Value() JobPreparationAndReleaseTaskExecutionInformation { - if !iter.page.NotDone() { - return JobPreparationAndReleaseTaskExecutionInformation{} - } - return iter.page.Values()[iter.i] -} - -// IsEmpty returns true if the ListResult contains no values. -func (cjlpartsr CloudJobListPreparationAndReleaseTaskStatusResult) IsEmpty() bool { - return cjlpartsr.Value == nil || len(*cjlpartsr.Value) == 0 -} - -// cloudJobListPreparationAndReleaseTaskStatusResultPreparer prepares a request to retrieve the next set of results. -// It returns nil if no more results exist. -func (cjlpartsr CloudJobListPreparationAndReleaseTaskStatusResult) cloudJobListPreparationAndReleaseTaskStatusResultPreparer() (*http.Request, error) { - if cjlpartsr.OdataNextLink == nil || len(to.String(cjlpartsr.OdataNextLink)) < 1 { - return nil, nil - } - return autorest.Prepare(&http.Request{}, - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(cjlpartsr.OdataNextLink))) -} - -// CloudJobListPreparationAndReleaseTaskStatusResultPage contains a page of -// JobPreparationAndReleaseTaskExecutionInformation values. -type CloudJobListPreparationAndReleaseTaskStatusResultPage struct { - fn func(CloudJobListPreparationAndReleaseTaskStatusResult) (CloudJobListPreparationAndReleaseTaskStatusResult, error) - cjlpartsr CloudJobListPreparationAndReleaseTaskStatusResult -} - -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -func (page *CloudJobListPreparationAndReleaseTaskStatusResultPage) Next() error { - next, err := page.fn(page.cjlpartsr) - if err != nil { - return err - } - page.cjlpartsr = next - return nil -} - -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page CloudJobListPreparationAndReleaseTaskStatusResultPage) NotDone() bool { - return !page.cjlpartsr.IsEmpty() -} - -// Response returns the raw server response from the last page request. -func (page CloudJobListPreparationAndReleaseTaskStatusResultPage) Response() CloudJobListPreparationAndReleaseTaskStatusResult { - return page.cjlpartsr -} - -// Values returns the slice of values for the current page or nil if there are no values. -func (page CloudJobListPreparationAndReleaseTaskStatusResultPage) Values() []JobPreparationAndReleaseTaskExecutionInformation { - if page.cjlpartsr.IsEmpty() { - return nil - } - return *page.cjlpartsr.Value -} - -// CloudJobListResult ... -type CloudJobListResult struct { - autorest.Response `json:"-"` - Value *[]CloudJob `json:"value,omitempty"` - OdataNextLink *string `json:"odata.nextLink,omitempty"` -} - -// CloudJobListResultIterator provides access to a complete listing of CloudJob values. -type CloudJobListResultIterator struct { - i int - page CloudJobListResultPage -} - -// Next advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -func (iter *CloudJobListResultIterator) Next() error { - iter.i++ - if iter.i < len(iter.page.Values()) { - return nil - } - err := iter.page.Next() - if err != nil { - iter.i-- - return err - } - iter.i = 0 - return nil -} - -// NotDone returns true if the enumeration should be started or is not yet complete. -func (iter CloudJobListResultIterator) NotDone() bool { - return iter.page.NotDone() && iter.i < len(iter.page.Values()) -} - -// Response returns the raw server response from the last page request. -func (iter CloudJobListResultIterator) Response() CloudJobListResult { - return iter.page.Response() -} - -// Value returns the current value or a zero-initialized value if the -// iterator has advanced beyond the end of the collection. -func (iter CloudJobListResultIterator) Value() CloudJob { - if !iter.page.NotDone() { - return CloudJob{} - } - return iter.page.Values()[iter.i] -} - -// IsEmpty returns true if the ListResult contains no values. -func (cjlr CloudJobListResult) IsEmpty() bool { - return cjlr.Value == nil || len(*cjlr.Value) == 0 -} - -// cloudJobListResultPreparer prepares a request to retrieve the next set of results. -// It returns nil if no more results exist. -func (cjlr CloudJobListResult) cloudJobListResultPreparer() (*http.Request, error) { - if cjlr.OdataNextLink == nil || len(to.String(cjlr.OdataNextLink)) < 1 { - return nil, nil - } - return autorest.Prepare(&http.Request{}, - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(cjlr.OdataNextLink))) -} - -// CloudJobListResultPage contains a page of CloudJob values. -type CloudJobListResultPage struct { - fn func(CloudJobListResult) (CloudJobListResult, error) - cjlr CloudJobListResult -} - -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -func (page *CloudJobListResultPage) Next() error { - next, err := page.fn(page.cjlr) - if err != nil { - return err - } - page.cjlr = next - return nil -} - -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page CloudJobListResultPage) NotDone() bool { - return !page.cjlr.IsEmpty() -} - -// Response returns the raw server response from the last page request. -func (page CloudJobListResultPage) Response() CloudJobListResult { - return page.cjlr -} - -// Values returns the slice of values for the current page or nil if there are no values. -func (page CloudJobListResultPage) Values() []CloudJob { - if page.cjlr.IsEmpty() { - return nil - } - return *page.cjlr.Value -} - -// CloudJobSchedule ... -type CloudJobSchedule struct { - autorest.Response `json:"-"` - ID *string `json:"id,omitempty"` - DisplayName *string `json:"displayName,omitempty"` - URL *string `json:"url,omitempty"` - // ETag - This is an opaque string. You can use it to detect whether the job schedule has changed between requests. In particular, you can be pass the ETag with an Update Job Schedule request to specify that your changes should take effect only if nobody else has modified the schedule in the meantime. - ETag *string `json:"eTag,omitempty"` - // LastModified - This is the last time at which the schedule level data, such as the job specification or recurrence information, changed. It does not factor in job-level changes such as new jobs being created or jobs changing state. - LastModified *date.Time `json:"lastModified,omitempty"` - CreationTime *date.Time `json:"creationTime,omitempty"` - // State - Possible values include: 'JobScheduleStateActive', 'JobScheduleStateCompleted', 'JobScheduleStateDisabled', 'JobScheduleStateTerminating', 'JobScheduleStateDeleting' - State JobScheduleState `json:"state,omitempty"` - StateTransitionTime *date.Time `json:"stateTransitionTime,omitempty"` - // PreviousState - This property is not present if the job schedule is in its initial active state. Possible values include: 'JobScheduleStateActive', 'JobScheduleStateCompleted', 'JobScheduleStateDisabled', 'JobScheduleStateTerminating', 'JobScheduleStateDeleting' - PreviousState JobScheduleState `json:"previousState,omitempty"` - // PreviousStateTransitionTime - This property is not present if the job schedule is in its initial active state. - PreviousStateTransitionTime *date.Time `json:"previousStateTransitionTime,omitempty"` - Schedule *Schedule `json:"schedule,omitempty"` - JobSpecification *JobSpecification `json:"jobSpecification,omitempty"` - ExecutionInfo *JobScheduleExecutionInformation `json:"executionInfo,omitempty"` - // Metadata - The Batch service does not assign any meaning to metadata; it is solely for the use of user code. - Metadata *[]MetadataItem `json:"metadata,omitempty"` - Stats *JobScheduleStatistics `json:"stats,omitempty"` -} - -// CloudJobScheduleListResult ... -type CloudJobScheduleListResult struct { - autorest.Response `json:"-"` - Value *[]CloudJobSchedule `json:"value,omitempty"` - OdataNextLink *string `json:"odata.nextLink,omitempty"` -} - -// CloudJobScheduleListResultIterator provides access to a complete listing of CloudJobSchedule values. -type CloudJobScheduleListResultIterator struct { - i int - page CloudJobScheduleListResultPage -} - -// Next advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -func (iter *CloudJobScheduleListResultIterator) Next() error { - iter.i++ - if iter.i < len(iter.page.Values()) { - return nil - } - err := iter.page.Next() - if err != nil { - iter.i-- - return err - } - iter.i = 0 - return nil -} - -// NotDone returns true if the enumeration should be started or is not yet complete. -func (iter CloudJobScheduleListResultIterator) NotDone() bool { - return iter.page.NotDone() && iter.i < len(iter.page.Values()) -} - -// Response returns the raw server response from the last page request. -func (iter CloudJobScheduleListResultIterator) Response() CloudJobScheduleListResult { - return iter.page.Response() -} - -// Value returns the current value or a zero-initialized value if the -// iterator has advanced beyond the end of the collection. -func (iter CloudJobScheduleListResultIterator) Value() CloudJobSchedule { - if !iter.page.NotDone() { - return CloudJobSchedule{} - } - return iter.page.Values()[iter.i] -} - -// IsEmpty returns true if the ListResult contains no values. -func (cjslr CloudJobScheduleListResult) IsEmpty() bool { - return cjslr.Value == nil || len(*cjslr.Value) == 0 -} - -// cloudJobScheduleListResultPreparer prepares a request to retrieve the next set of results. -// It returns nil if no more results exist. -func (cjslr CloudJobScheduleListResult) cloudJobScheduleListResultPreparer() (*http.Request, error) { - if cjslr.OdataNextLink == nil || len(to.String(cjslr.OdataNextLink)) < 1 { - return nil, nil - } - return autorest.Prepare(&http.Request{}, - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(cjslr.OdataNextLink))) -} - -// CloudJobScheduleListResultPage contains a page of CloudJobSchedule values. -type CloudJobScheduleListResultPage struct { - fn func(CloudJobScheduleListResult) (CloudJobScheduleListResult, error) - cjslr CloudJobScheduleListResult -} - -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -func (page *CloudJobScheduleListResultPage) Next() error { - next, err := page.fn(page.cjslr) - if err != nil { - return err - } - page.cjslr = next - return nil -} - -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page CloudJobScheduleListResultPage) NotDone() bool { - return !page.cjslr.IsEmpty() -} - -// Response returns the raw server response from the last page request. -func (page CloudJobScheduleListResultPage) Response() CloudJobScheduleListResult { - return page.cjslr -} - -// Values returns the slice of values for the current page or nil if there are no values. -func (page CloudJobScheduleListResultPage) Values() []CloudJobSchedule { - if page.cjslr.IsEmpty() { - return nil - } - return *page.cjslr.Value -} - -// CloudPool ... -type CloudPool struct { - autorest.Response `json:"-"` - // ID - The ID can contain any combination of alphanumeric characters including hyphens and underscores, and cannot contain more than 64 characters. The ID is case-preserving and case-insensitive (that is, you may not have two IDs within an account that differ only by case). - ID *string `json:"id,omitempty"` - // DisplayName - The display name need not be unique and can contain any Unicode characters up to a maximum length of 1024. - DisplayName *string `json:"displayName,omitempty"` - URL *string `json:"url,omitempty"` - // ETag - This is an opaque string. You can use it to detect whether the pool has changed between requests. In particular, you can be pass the ETag when updating a pool to specify that your changes should take effect only if nobody else has modified the pool in the meantime. - ETag *string `json:"eTag,omitempty"` - // LastModified - This is the last time at which the pool level data, such as the targetDedicatedNodes or enableAutoscale settings, changed. It does not factor in node-level changes such as a compute node changing state. - LastModified *date.Time `json:"lastModified,omitempty"` - CreationTime *date.Time `json:"creationTime,omitempty"` - // State - Values are: - // active - The pool is available to run tasks subject to the availability of compute nodes. - // deleting - The user has requested that the pool be deleted, but the delete operation has not yet completed. - // upgrading - The user has requested that the operating system of the pool's nodes be upgraded, but the upgrade operation has not yet completed (that is, some nodes in the pool have not yet been upgraded). While upgrading, the pool may be able to run tasks (with reduced capacity) but this is not guaranteed. Possible values include: 'PoolStateActive', 'PoolStateDeleting', 'PoolStateUpgrading' - State PoolState `json:"state,omitempty"` - StateTransitionTime *date.Time `json:"stateTransitionTime,omitempty"` - // AllocationState - Values are: - // steady - The pool is not resizing. There are no changes to the number of nodes in the pool in progress. A pool enters this state when it is created and when no operations are being performed on the pool to change the number of dedicated nodes. - // resizing - The pool is resizing; that is, compute nodes are being added to or removed from the pool. - // stopping - The pool was resizing, but the user has requested that the resize be stopped, but the stop request has not yet been completed. Possible values include: 'Steady', 'Resizing', 'Stopping' - AllocationState AllocationState `json:"allocationState,omitempty"` - AllocationStateTransitionTime *date.Time `json:"allocationStateTransitionTime,omitempty"` - // VMSize - For information about available sizes of virtual machines for Cloud Services pools (pools created with cloudServiceConfiguration), see Sizes for Cloud Services (http://azure.microsoft.com/documentation/articles/cloud-services-sizes-specs/). Batch supports all Cloud Services VM sizes except ExtraSmall, A1V2 and A2V2. For information about available VM sizes for pools using images from the Virtual Machines Marketplace (pools created with virtualMachineConfiguration) see Sizes for Virtual Machines (Linux) (https://azure.microsoft.com/documentation/articles/virtual-machines-linux-sizes/) or Sizes for Virtual Machines (Windows) (https://azure.microsoft.com/documentation/articles/virtual-machines-windows-sizes/). Batch supports all Azure VM sizes except STANDARD_A0 and those with premium storage (STANDARD_GS, STANDARD_DS, and STANDARD_DSV2 series). - VMSize *string `json:"vmSize,omitempty"` - // CloudServiceConfiguration - This property and virtualMachineConfiguration are mutually exclusive and one of the properties must be specified. This property cannot be specified if the Batch account was created with its poolAllocationMode property set to 'UserSubscription'. - CloudServiceConfiguration *CloudServiceConfiguration `json:"cloudServiceConfiguration,omitempty"` - // VirtualMachineConfiguration - This property and cloudServiceConfiguration are mutually exclusive and one of the properties must be specified. - VirtualMachineConfiguration *VirtualMachineConfiguration `json:"virtualMachineConfiguration,omitempty"` - // ResizeTimeout - This is the timeout for the most recent resize operation. (The initial sizing when the pool is created counts as a resize.) The default value is 15 minutes. - ResizeTimeout *string `json:"resizeTimeout,omitempty"` - // ResizeErrors - This property is set only if one or more errors occurred during the last pool resize, and only when the pool allocationState is Steady. - ResizeErrors *[]ResizeError `json:"resizeErrors,omitempty"` - CurrentDedicatedNodes *int32 `json:"currentDedicatedNodes,omitempty"` - // CurrentLowPriorityNodes - Low-priority compute nodes which have been preempted are included in this count. - CurrentLowPriorityNodes *int32 `json:"currentLowPriorityNodes,omitempty"` - TargetDedicatedNodes *int32 `json:"targetDedicatedNodes,omitempty"` - TargetLowPriorityNodes *int32 `json:"targetLowPriorityNodes,omitempty"` - // EnableAutoScale - If false, at least one of targetDedicateNodes and targetLowPriorityNodes must be specified. If true, the autoScaleFormula property is required and the pool automatically resizes according to the formula. The default value is false. - EnableAutoScale *bool `json:"enableAutoScale,omitempty"` - // AutoScaleFormula - This property is set only if the pool automatically scales, i.e. enableAutoScale is true. - AutoScaleFormula *string `json:"autoScaleFormula,omitempty"` - // AutoScaleEvaluationInterval - This property is set only if the pool automatically scales, i.e. enableAutoScale is true. - AutoScaleEvaluationInterval *string `json:"autoScaleEvaluationInterval,omitempty"` - // AutoScaleRun - This property is set only if the pool automatically scales, i.e. enableAutoScale is true. - AutoScaleRun *AutoScaleRun `json:"autoScaleRun,omitempty"` - // EnableInterNodeCommunication - This imposes restrictions on which nodes can be assigned to the pool. Specifying this value can reduce the chance of the requested number of nodes to be allocated in the pool. - EnableInterNodeCommunication *bool `json:"enableInterNodeCommunication,omitempty"` - NetworkConfiguration *NetworkConfiguration `json:"networkConfiguration,omitempty"` - StartTask *StartTask `json:"startTask,omitempty"` - // CertificateReferences - For Windows compute nodes, the Batch service installs the certificates to the specified certificate store and location. For Linux compute nodes, the certificates are stored in a directory inside the task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the task to query for this location. For certificates with visibility of 'remoteUser', a 'certs' directory is created in the user's home directory (e.g., /home/{user-name}/certs) and certificates are placed in that directory. - CertificateReferences *[]CertificateReference `json:"certificateReferences,omitempty"` - ApplicationPackageReferences *[]ApplicationPackageReference `json:"applicationPackageReferences,omitempty"` - // ApplicationLicenses - The list of application licenses must be a subset of available Batch service application licenses. If a license is requested which is not supported, pool creation will fail. - ApplicationLicenses *[]string `json:"applicationLicenses,omitempty"` - MaxTasksPerNode *int32 `json:"maxTasksPerNode,omitempty"` - TaskSchedulingPolicy *TaskSchedulingPolicy `json:"taskSchedulingPolicy,omitempty"` - UserAccounts *[]UserAccount `json:"userAccounts,omitempty"` - Metadata *[]MetadataItem `json:"metadata,omitempty"` - Stats *PoolStatistics `json:"stats,omitempty"` -} - -// CloudPoolListResult ... -type CloudPoolListResult struct { - autorest.Response `json:"-"` - Value *[]CloudPool `json:"value,omitempty"` - OdataNextLink *string `json:"odata.nextLink,omitempty"` -} - -// CloudPoolListResultIterator provides access to a complete listing of CloudPool values. -type CloudPoolListResultIterator struct { - i int - page CloudPoolListResultPage -} - -// Next advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -func (iter *CloudPoolListResultIterator) Next() error { - iter.i++ - if iter.i < len(iter.page.Values()) { - return nil - } - err := iter.page.Next() - if err != nil { - iter.i-- - return err - } - iter.i = 0 - return nil -} - -// NotDone returns true if the enumeration should be started or is not yet complete. -func (iter CloudPoolListResultIterator) NotDone() bool { - return iter.page.NotDone() && iter.i < len(iter.page.Values()) -} - -// Response returns the raw server response from the last page request. -func (iter CloudPoolListResultIterator) Response() CloudPoolListResult { - return iter.page.Response() -} - -// Value returns the current value or a zero-initialized value if the -// iterator has advanced beyond the end of the collection. -func (iter CloudPoolListResultIterator) Value() CloudPool { - if !iter.page.NotDone() { - return CloudPool{} - } - return iter.page.Values()[iter.i] -} - -// IsEmpty returns true if the ListResult contains no values. -func (cplr CloudPoolListResult) IsEmpty() bool { - return cplr.Value == nil || len(*cplr.Value) == 0 -} - -// cloudPoolListResultPreparer prepares a request to retrieve the next set of results. -// It returns nil if no more results exist. -func (cplr CloudPoolListResult) cloudPoolListResultPreparer() (*http.Request, error) { - if cplr.OdataNextLink == nil || len(to.String(cplr.OdataNextLink)) < 1 { - return nil, nil - } - return autorest.Prepare(&http.Request{}, - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(cplr.OdataNextLink))) -} - -// CloudPoolListResultPage contains a page of CloudPool values. -type CloudPoolListResultPage struct { - fn func(CloudPoolListResult) (CloudPoolListResult, error) - cplr CloudPoolListResult -} - -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -func (page *CloudPoolListResultPage) Next() error { - next, err := page.fn(page.cplr) - if err != nil { - return err - } - page.cplr = next - return nil -} - -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page CloudPoolListResultPage) NotDone() bool { - return !page.cplr.IsEmpty() -} - -// Response returns the raw server response from the last page request. -func (page CloudPoolListResultPage) Response() CloudPoolListResult { - return page.cplr -} - -// Values returns the slice of values for the current page or nil if there are no values. -func (page CloudPoolListResultPage) Values() []CloudPool { - if page.cplr.IsEmpty() { - return nil - } - return *page.cplr.Value -} - -// CloudServiceConfiguration ... -type CloudServiceConfiguration struct { - // OsFamily - Possible values are: 2 - OS Family 2, equivalent to Windows Server 2008 R2 SP1. 3 - OS Family 3, equivalent to Windows Server 2012. 4 - OS Family 4, equivalent to Windows Server 2012 R2. 5 - OS Family 5, equivalent to Windows Server 2016. For more information, see Azure Guest OS Releases (https://azure.microsoft.com/documentation/articles/cloud-services-guestos-update-matrix/#releases). - OsFamily *string `json:"osFamily,omitempty"` - // TargetOSVersion - The default value is * which specifies the latest operating system version for the specified OS family. - TargetOSVersion *string `json:"targetOSVersion,omitempty"` - // CurrentOSVersion - This may differ from targetOSVersion if the pool state is Upgrading. In this case some virtual machines may be on the targetOSVersion and some may be on the currentOSVersion during the upgrade process. Once all virtual machines have upgraded, currentOSVersion is updated to be the same as targetOSVersion. - CurrentOSVersion *string `json:"currentOSVersion,omitempty"` -} - -// CloudTask ... -type CloudTask struct { - autorest.Response `json:"-"` - // ID - The ID can contain any combination of alphanumeric characters including hyphens and underscores, and cannot contain more than 64 characters. - ID *string `json:"id,omitempty"` - // DisplayName - The display name need not be unique and can contain any Unicode characters up to a maximum length of 1024. - DisplayName *string `json:"displayName,omitempty"` - URL *string `json:"url,omitempty"` - // ETag - This is an opaque string. You can use it to detect whether the task has changed between requests. In particular, you can be pass the ETag when updating a task to specify that your changes should take effect only if nobody else has modified the task in the meantime. - ETag *string `json:"eTag,omitempty"` - LastModified *date.Time `json:"lastModified,omitempty"` - CreationTime *date.Time `json:"creationTime,omitempty"` - // ExitConditions - How the Batch service should respond when the task completes. - ExitConditions *ExitConditions `json:"exitConditions,omitempty"` - // State - Possible values include: 'TaskStateActive', 'TaskStatePreparing', 'TaskStateRunning', 'TaskStateCompleted' - State TaskState `json:"state,omitempty"` - StateTransitionTime *date.Time `json:"stateTransitionTime,omitempty"` - // PreviousState - This property is not set if the task is in its initial Active state. Possible values include: 'TaskStateActive', 'TaskStatePreparing', 'TaskStateRunning', 'TaskStateCompleted' - PreviousState TaskState `json:"previousState,omitempty"` - // PreviousStateTransitionTime - This property is not set if the task is in its initial Active state. - PreviousStateTransitionTime *date.Time `json:"previousStateTransitionTime,omitempty"` - // CommandLine - For multi-instance tasks, the command line is executed as the primary task, after the primary task and all subtasks have finished executing the coordination command line. The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example using "cmd /c MyCommand" in Windows or "/bin/sh -c MyCommand" in Linux. - CommandLine *string `json:"commandLine,omitempty"` - // ResourceFiles - For multi-instance tasks, the resource files will only be downloaded to the compute node on which the primary task is executed. - ResourceFiles *[]ResourceFile `json:"resourceFiles,omitempty"` - // OutputFiles - For multi-instance tasks, the files will only be uploaded from the compute node on which the primary task is executed. - OutputFiles *[]OutputFile `json:"outputFiles,omitempty"` - EnvironmentSettings *[]EnvironmentSetting `json:"environmentSettings,omitempty"` - AffinityInfo *AffinityInformation `json:"affinityInfo,omitempty"` - Constraints *TaskConstraints `json:"constraints,omitempty"` - // UserIdentity - If omitted, the task runs as a non-administrative user unique to the task. - UserIdentity *UserIdentity `json:"userIdentity,omitempty"` - ExecutionInfo *TaskExecutionInformation `json:"executionInfo,omitempty"` - NodeInfo *ComputeNodeInformation `json:"nodeInfo,omitempty"` - MultiInstanceSettings *MultiInstanceSettings `json:"multiInstanceSettings,omitempty"` - Stats *TaskStatistics `json:"stats,omitempty"` - // DependsOn - This task will not be scheduled until all tasks that it depends on have completed successfully. If any of those tasks fail and exhaust their retry counts, this task will never be scheduled. - DependsOn *TaskDependencies `json:"dependsOn,omitempty"` - // ApplicationPackageReferences - Application packages are downloaded and deployed to a shared directory, not the task working directory. Therefore, if a referenced package is already on the compute node, and is up to date, then it is not re-downloaded; the existing copy on the compute node is used. If a referenced application package cannot be installed, for example because the package has been deleted or because download failed, the task fails. - ApplicationPackageReferences *[]ApplicationPackageReference `json:"applicationPackageReferences,omitempty"` - // AuthenticationTokenSettings - If this property is set, the Batch service provides the task with an authentication token which can be used to authenticate Batch service operations without requiring an account access key. The token is provided via the AZ_BATCH_AUTHENTICATION_TOKEN environment variable. The operations that the task can carry out using the token depend on the settings. For example, a task can request job permissions in order to add other tasks to the job, or check the status of the job or of other tasks under the job. - AuthenticationTokenSettings *AuthenticationTokenSettings `json:"authenticationTokenSettings,omitempty"` -} - -// CloudTaskListResult ... -type CloudTaskListResult struct { - autorest.Response `json:"-"` - Value *[]CloudTask `json:"value,omitempty"` - OdataNextLink *string `json:"odata.nextLink,omitempty"` -} - -// CloudTaskListResultIterator provides access to a complete listing of CloudTask values. -type CloudTaskListResultIterator struct { - i int - page CloudTaskListResultPage -} - -// Next advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -func (iter *CloudTaskListResultIterator) Next() error { - iter.i++ - if iter.i < len(iter.page.Values()) { - return nil - } - err := iter.page.Next() - if err != nil { - iter.i-- - return err - } - iter.i = 0 - return nil -} - -// NotDone returns true if the enumeration should be started or is not yet complete. -func (iter CloudTaskListResultIterator) NotDone() bool { - return iter.page.NotDone() && iter.i < len(iter.page.Values()) -} - -// Response returns the raw server response from the last page request. -func (iter CloudTaskListResultIterator) Response() CloudTaskListResult { - return iter.page.Response() -} - -// Value returns the current value or a zero-initialized value if the -// iterator has advanced beyond the end of the collection. -func (iter CloudTaskListResultIterator) Value() CloudTask { - if !iter.page.NotDone() { - return CloudTask{} - } - return iter.page.Values()[iter.i] -} - -// IsEmpty returns true if the ListResult contains no values. -func (ctlr CloudTaskListResult) IsEmpty() bool { - return ctlr.Value == nil || len(*ctlr.Value) == 0 -} - -// cloudTaskListResultPreparer prepares a request to retrieve the next set of results. -// It returns nil if no more results exist. -func (ctlr CloudTaskListResult) cloudTaskListResultPreparer() (*http.Request, error) { - if ctlr.OdataNextLink == nil || len(to.String(ctlr.OdataNextLink)) < 1 { - return nil, nil - } - return autorest.Prepare(&http.Request{}, - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(ctlr.OdataNextLink))) -} - -// CloudTaskListResultPage contains a page of CloudTask values. -type CloudTaskListResultPage struct { - fn func(CloudTaskListResult) (CloudTaskListResult, error) - ctlr CloudTaskListResult -} - -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -func (page *CloudTaskListResultPage) Next() error { - next, err := page.fn(page.ctlr) - if err != nil { - return err - } - page.ctlr = next - return nil -} - -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page CloudTaskListResultPage) NotDone() bool { - return !page.ctlr.IsEmpty() -} - -// Response returns the raw server response from the last page request. -func (page CloudTaskListResultPage) Response() CloudTaskListResult { - return page.ctlr -} - -// Values returns the slice of values for the current page or nil if there are no values. -func (page CloudTaskListResultPage) Values() []CloudTask { - if page.ctlr.IsEmpty() { - return nil - } - return *page.ctlr.Value -} - -// CloudTaskListSubtasksResult ... -type CloudTaskListSubtasksResult struct { - autorest.Response `json:"-"` - Value *[]SubtaskInformation `json:"value,omitempty"` -} - -// ComputeNode ... -type ComputeNode struct { - autorest.Response `json:"-"` - // ID - Every node that is added to a pool is assigned a unique ID. Whenever a node is removed from a pool, all of its local files are deleted, and the ID is reclaimed and could be reused for new nodes. - ID *string `json:"id,omitempty"` - URL *string `json:"url,omitempty"` - // State - Values are: - // idle - The node is not currently running a task. - // rebooting - The node is rebooting. - // reimaging - The node is reimaging. - // running - The node is running one or more tasks (other than a start task). - // unusable - The node cannot be used for task execution due to errors. - // creating - The Batch service has obtained the underlying virtual machine from Azure Compute, but it has not yet started to join the pool. - // starting - the Batch service is starting on the underlying virtual machine. - // waitingforstarttask - The start task has started running on the compute node, but waitForSuccess is set and the start task has not yet completed. - // starttaskfailed - The start task has failed on the compute node (and exhausted all retries), and waitForSuccess is set. The node is not usable for running tasks. - // unknown - The Batch service has lost contact with the node, and does not know its true state. - // leavingpool - The node is leaving the pool, either because the user explicitly removed it or because the pool is resizing or autoscaling down. - // offline - The node is not currently running a task, and scheduling of new tasks to the node is disabled. - // preempted - The low-priority node has been preempted. Tasks which were running on the node when it was pre-empted will be rescheduled when another node becomes available. Possible values include: 'Idle', 'Rebooting', 'Reimaging', 'Running', 'Unusable', 'Creating', 'Starting', 'WaitingForStartTask', 'StartTaskFailed', 'Unknown', 'LeavingPool', 'Offline', 'Preempted' - State ComputeNodeState `json:"state,omitempty"` - // SchedulingState - Values are: - // enabled - Tasks can be scheduled on the node. - // disabled - No new tasks will be scheduled on the node. Tasks already running on the node may still run to completion. All nodes start with scheduling enabled. Possible values include: 'Enabled', 'Disabled' - SchedulingState SchedulingState `json:"schedulingState,omitempty"` - StateTransitionTime *date.Time `json:"stateTransitionTime,omitempty"` - // LastBootTime - This property may not be present if the node state is unusable. - LastBootTime *date.Time `json:"lastBootTime,omitempty"` - AllocationTime *date.Time `json:"allocationTime,omitempty"` - // IPAddress - Every node that is added to a pool is assigned a unique IP address. Whenever a node is removed from a pool, all of its local files are deleted, and the IP address is reclaimed and could be reused for new nodes. - IPAddress *string `json:"ipAddress,omitempty"` - // AffinityID - Note that this is just a soft affinity. If the target node is busy or unavailable at the time the task is scheduled, then the task will be scheduled elsewhere. - AffinityID *string `json:"affinityId,omitempty"` - // VMSize - For information about available sizes of virtual machines for Cloud Services pools (pools created with cloudServiceConfiguration), see Sizes for Cloud Services (http://azure.microsoft.com/documentation/articles/cloud-services-sizes-specs/). Batch supports all Cloud Services VM sizes except ExtraSmall, A1V2 and A2V2. For information about available VM sizes for pools using images from the Virtual Machines Marketplace (pools created with virtualMachineConfiguration) see Sizes for Virtual Machines (Linux) (https://azure.microsoft.com/documentation/articles/virtual-machines-linux-sizes/) or Sizes for Virtual Machines (Windows) (https://azure.microsoft.com/documentation/articles/virtual-machines-windows-sizes/). Batch supports all Azure VM sizes except STANDARD_A0 and those with premium storage (STANDARD_GS, STANDARD_DS, and STANDARD_DSV2 series). - VMSize *string `json:"vmSize,omitempty"` - TotalTasksRun *int32 `json:"totalTasksRun,omitempty"` - RunningTasksCount *int32 `json:"runningTasksCount,omitempty"` - TotalTasksSucceeded *int32 `json:"totalTasksSucceeded,omitempty"` - // RecentTasks - This property is present only if at least one task has run on this node since it was assigned to the pool. - RecentTasks *[]TaskInformation `json:"recentTasks,omitempty"` - StartTask *StartTask `json:"startTask,omitempty"` - StartTaskInfo *StartTaskInformation `json:"startTaskInfo,omitempty"` - // CertificateReferences - For Windows compute nodes, the Batch service installs the certificates to the specified certificate store and location. For Linux compute nodes, the certificates are stored in a directory inside the task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the task to query for this location. For certificates with visibility of 'remoteUser', a 'certs' directory is created in the user's home directory (e.g., /home/{user-name}/certs) and certificates are placed in that directory. - CertificateReferences *[]CertificateReference `json:"certificateReferences,omitempty"` - Errors *[]ComputeNodeError `json:"errors,omitempty"` - IsDedicated *bool `json:"isDedicated,omitempty"` - EndpointConfiguration *ComputeNodeEndpointConfiguration `json:"endpointConfiguration,omitempty"` -} - -// ComputeNodeEndpointConfiguration ... -type ComputeNodeEndpointConfiguration struct { - InboundEndpoints *[]InboundEndpoint `json:"inboundEndpoints,omitempty"` -} - -// ComputeNodeError ... -type ComputeNodeError struct { - Code *string `json:"code,omitempty"` - Message *string `json:"message,omitempty"` - ErrorDetails *[]NameValuePair `json:"errorDetails,omitempty"` -} - -// ComputeNodeGetRemoteLoginSettingsResult ... -type ComputeNodeGetRemoteLoginSettingsResult struct { - autorest.Response `json:"-"` - RemoteLoginIPAddress *string `json:"remoteLoginIPAddress,omitempty"` - RemoteLoginPort *int32 `json:"remoteLoginPort,omitempty"` -} - -// ComputeNodeInformation ... -type ComputeNodeInformation struct { - AffinityID *string `json:"affinityId,omitempty"` - NodeURL *string `json:"nodeUrl,omitempty"` - PoolID *string `json:"poolId,omitempty"` - NodeID *string `json:"nodeId,omitempty"` - TaskRootDirectory *string `json:"taskRootDirectory,omitempty"` - TaskRootDirectoryURL *string `json:"taskRootDirectoryUrl,omitempty"` -} - -// ComputeNodeListResult ... -type ComputeNodeListResult struct { - autorest.Response `json:"-"` - Value *[]ComputeNode `json:"value,omitempty"` - OdataNextLink *string `json:"odata.nextLink,omitempty"` -} - -// ComputeNodeListResultIterator provides access to a complete listing of ComputeNode values. -type ComputeNodeListResultIterator struct { - i int - page ComputeNodeListResultPage -} - -// Next advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -func (iter *ComputeNodeListResultIterator) Next() error { - iter.i++ - if iter.i < len(iter.page.Values()) { - return nil - } - err := iter.page.Next() - if err != nil { - iter.i-- - return err - } - iter.i = 0 - return nil -} - -// NotDone returns true if the enumeration should be started or is not yet complete. -func (iter ComputeNodeListResultIterator) NotDone() bool { - return iter.page.NotDone() && iter.i < len(iter.page.Values()) -} - -// Response returns the raw server response from the last page request. -func (iter ComputeNodeListResultIterator) Response() ComputeNodeListResult { - return iter.page.Response() -} - -// Value returns the current value or a zero-initialized value if the -// iterator has advanced beyond the end of the collection. -func (iter ComputeNodeListResultIterator) Value() ComputeNode { - if !iter.page.NotDone() { - return ComputeNode{} - } - return iter.page.Values()[iter.i] -} - -// IsEmpty returns true if the ListResult contains no values. -func (cnlr ComputeNodeListResult) IsEmpty() bool { - return cnlr.Value == nil || len(*cnlr.Value) == 0 -} - -// computeNodeListResultPreparer prepares a request to retrieve the next set of results. -// It returns nil if no more results exist. -func (cnlr ComputeNodeListResult) computeNodeListResultPreparer() (*http.Request, error) { - if cnlr.OdataNextLink == nil || len(to.String(cnlr.OdataNextLink)) < 1 { - return nil, nil - } - return autorest.Prepare(&http.Request{}, - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(cnlr.OdataNextLink))) -} - -// ComputeNodeListResultPage contains a page of ComputeNode values. -type ComputeNodeListResultPage struct { - fn func(ComputeNodeListResult) (ComputeNodeListResult, error) - cnlr ComputeNodeListResult -} - -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -func (page *ComputeNodeListResultPage) Next() error { - next, err := page.fn(page.cnlr) - if err != nil { - return err - } - page.cnlr = next - return nil -} - -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page ComputeNodeListResultPage) NotDone() bool { - return !page.cnlr.IsEmpty() -} - -// Response returns the raw server response from the last page request. -func (page ComputeNodeListResultPage) Response() ComputeNodeListResult { - return page.cnlr -} - -// Values returns the slice of values for the current page or nil if there are no values. -func (page ComputeNodeListResultPage) Values() []ComputeNode { - if page.cnlr.IsEmpty() { - return nil - } - return *page.cnlr.Value -} - -// ComputeNodeUser ... -type ComputeNodeUser struct { - Name *string `json:"name,omitempty"` - // IsAdmin - The default value is false. - IsAdmin *bool `json:"isAdmin,omitempty"` - // ExpiryTime - If omitted, the default is 1 day from the current time. For Linux compute nodes, the expiryTime has a precision up to a day. - ExpiryTime *date.Time `json:"expiryTime,omitempty"` - // Password - The password is required for Windows nodes (those created with 'cloudServiceConfiguration', or created with 'virtualMachineConfiguration' using a Windows image reference). For Linux compute nodes, the password can optionally be specified along with the sshPublicKey property. - Password *string `json:"password,omitempty"` - // SSHPublicKey - The public key should be compatible with OpenSSH encoding and should be base 64 encoded. This property can be specified only for Linux nodes. If this is specified for a Windows node, then the Batch service rejects the request; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). - SSHPublicKey *string `json:"sshPublicKey,omitempty"` -} - -// DeleteCertificateError ... -type DeleteCertificateError struct { - Code *string `json:"code,omitempty"` - Message *string `json:"message,omitempty"` - // Values - This list includes details such as the active pools and nodes referencing this certificate. However, if a large number of resources reference the certificate, the list contains only about the first hundred. - Values *[]NameValuePair `json:"values,omitempty"` -} - -// EnvironmentSetting ... -type EnvironmentSetting struct { - Name *string `json:"name,omitempty"` - Value *string `json:"value,omitempty"` -} - -// Error ... -type Error struct { - Code *string `json:"code,omitempty"` - Message *ErrorMessage `json:"message,omitempty"` - Values *[]ErrorDetail `json:"values,omitempty"` -} - -// ErrorDetail ... -type ErrorDetail struct { - Key *string `json:"key,omitempty"` - Value *string `json:"value,omitempty"` -} - -// ErrorMessage ... -type ErrorMessage struct { - Lang *string `json:"lang,omitempty"` - Value *string `json:"value,omitempty"` -} - -// ExitCodeMapping ... -type ExitCodeMapping struct { - Code *int32 `json:"code,omitempty"` - ExitOptions *ExitOptions `json:"exitOptions,omitempty"` -} - -// ExitCodeRangeMapping ... -type ExitCodeRangeMapping struct { - Start *int32 `json:"start,omitempty"` - End *int32 `json:"end,omitempty"` - ExitOptions *ExitOptions `json:"exitOptions,omitempty"` -} - -// ExitConditions ... -type ExitConditions struct { - ExitCodes *[]ExitCodeMapping `json:"exitCodes,omitempty"` - ExitCodeRanges *[]ExitCodeRangeMapping `json:"exitCodeRanges,omitempty"` - PreProcessingError *ExitOptions `json:"preProcessingError,omitempty"` - // FileUploadError - If the task exited with an exit code that was specified via exitCodes or exitCodeRanges, and then encountered a file upload error, then the action specified by the exit code takes precedence. - FileUploadError *ExitOptions `json:"fileUploadError,omitempty"` - // Default - This value is used if the task exits with any nonzero exit code not listed in the exitCodes or exitCodeRanges collection, with a pre-processing error if the preProcessingError property is not present, or with a file upload error if the fileUploadError property is not present. If you want non-default behaviour on exit code 0, you must list it explicitly using the exitCodes or exitCodeRanges collection. - Default *ExitOptions `json:"default,omitempty"` -} - -// ExitOptions ... -type ExitOptions struct { - // JobAction - Values are: - // none - Take no action. - // disable - Disable the job. This is equivalent to calling the disable job API, with a disableTasks value of requeue. - // terminate - Terminate the job. The terminateReason in the job's executionInfo is set to "TaskFailed". The default is none for exit code 0 and terminate for all other exit conditions. - // If the job's onTaskFailed property is noAction, then specifying this property returns an error and the add task request fails with an invalid property value error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). Possible values include: 'JobActionNone', 'JobActionDisable', 'JobActionTerminate' - JobAction JobAction `json:"jobAction,omitempty"` - // DependencyAction - Values are: - // satisfy - Satisfy the task's dependencies. - // block - Block the task's dependencies. - // The default is 'satisfy' for exit code 0, and 'block' for all other exit conditions. If the job's usesTaskDependencies property is set to false, then specifying the dependencyAction property returns an erro and the add task request fails with an invalid property value error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). Possible values include: 'Satisfy', 'Block' - DependencyAction DependencyAction `json:"dependencyAction,omitempty"` -} - -// FileProperties ... -type FileProperties struct { - // CreationTime - The creation time is not returned for files on Linux compute nodes. - CreationTime *date.Time `json:"creationTime,omitempty"` - LastModified *date.Time `json:"lastModified,omitempty"` - ContentLength *int64 `json:"contentLength,omitempty"` - ContentType *string `json:"contentType,omitempty"` - // FileMode - The file mode is returned only for files on Linux compute nodes. - FileMode *string `json:"fileMode,omitempty"` -} - -// ImageReference ... -type ImageReference struct { - // Publisher - For example, Canonical or MicrosoftWindowsServer. - Publisher *string `json:"publisher,omitempty"` - // Offer - For example, UbuntuServer or WindowsServer. - Offer *string `json:"offer,omitempty"` - // Sku - For example, 14.04.0-LTS or 2012-R2-Datacenter. - Sku *string `json:"sku,omitempty"` - // Version - A value of 'latest' can be specified to select the latest version of an image. If omitted, the default is 'latest'. - Version *string `json:"version,omitempty"` -} - -// InboundEndpoint ... -type InboundEndpoint struct { - Name *string `json:"name,omitempty"` - // Protocol - Possible values include: 'TCP', 'UDP' - Protocol InboundEndpointProtocol `json:"protocol,omitempty"` - PublicIPAddress *string `json:"publicIPAddress,omitempty"` - PublicFQDN *string `json:"publicFQDN,omitempty"` - FrontendPort *int32 `json:"frontendPort,omitempty"` - BackendPort *int32 `json:"backendPort,omitempty"` -} - -// InboundNATPool ... -type InboundNATPool struct { - // Name - The name must be unique within a Batch pool, can contain letters, numbers, underscores, periods, and hyphens. Names must start with a letter or number, must end with a letter, number, or underscore, and cannot exceed 77 characters. If any invalid values are provided the request fails with HTTP status code 400. - Name *string `json:"name,omitempty"` - // Protocol - Possible values include: 'TCP', 'UDP' - Protocol InboundEndpointProtocol `json:"protocol,omitempty"` - // BackendPort - This must be unique within a Batch pool. Acceptable values are between 1 and 65535 except for 22, 3389, 29876 and 29877 as these are reserved. If any reserved values are provided the request fails with HTTP status code 400. - BackendPort *int32 `json:"backendPort,omitempty"` - // FrontendPortRangeStart - Acceptable values range between 1 and 65534 except ports from 50000 to 55000 which are reserved. All ranges within a pool must be distinct and cannot overlap. If any reserved or overlapping values are provided the request fails with HTTP status code 400. - FrontendPortRangeStart *int32 `json:"frontendPortRangeStart,omitempty"` - // FrontendPortRangeEnd - Acceptable values range between 1 and 65534 except ports from 50000 to 55000 which are reserved by the Batch service. All ranges within a pool must be distinct and cannot overlap. If any reserved or overlapping values are provided the request fails with HTTP status code 400. - FrontendPortRangeEnd *int32 `json:"frontendPortRangeEnd,omitempty"` - // NetworkSecurityGroupRules - The maximum number of rules that can be specified across all the endpoints on a Batch pool is 25. If no network security group rules are specified, a default rule will be created to allow inbound access to the specified backendPort. If the maximum number of network security group rules is exceeded the request fails with HTTP status code 400. - NetworkSecurityGroupRules *[]NetworkSecurityGroupRule `json:"networkSecurityGroupRules,omitempty"` -} - -// JobAddParameter ... -type JobAddParameter struct { - // ID - The ID can contain any combination of alphanumeric characters including hyphens and underscores, and cannot contain more than 64 characters. The ID is case-preserving and case-insensitive (that is, you may not have two IDs within an account that differ only by case). - ID *string `json:"id,omitempty"` - // DisplayName - The display name need not be unique and can contain any Unicode characters up to a maximum length of 1024. - DisplayName *string `json:"displayName,omitempty"` - // Priority - Priority values can range from -1000 to 1000, with -1000 being the lowest priority and 1000 being the highest priority. The default value is 0. - Priority *int32 `json:"priority,omitempty"` - // Constraints - The execution constraints for the job. - Constraints *JobConstraints `json:"constraints,omitempty"` - // JobManagerTask - If the job does not specify a Job Manager task, the user must explicitly add tasks to the job. If the job does specify a Job Manager task, the Batch service creates the Job Manager task when the job is created, and will try to schedule the Job Manager task before scheduling other tasks in the job. The Job Manager task's typical purpose is to control and/or monitor job execution, for example by deciding what additional tasks to run, determining when the work is complete, etc. (However, a Job Manager task is not restricted to these activities - it is a fully-fledged task in the system and perform whatever actions are required for the job.) For example, a Job Manager task might download a file specified as a parameter, analyze the contents of that file and submit additional tasks based on those contents. - JobManagerTask *JobManagerTask `json:"jobManagerTask,omitempty"` - // JobPreparationTask - If a job has a Job Preparation task, the Batch service will run the Job Preparation task on a compute node before starting any tasks of that job on that compute node. - JobPreparationTask *JobPreparationTask `json:"jobPreparationTask,omitempty"` - // JobReleaseTask - A Job Release task cannot be specified without also specifying a Job Preparation task for the job. The Batch service runs the Job Release task on the compute nodes that have run the Job Preparation task. The primary purpose of the Job Release task is to undo changes to compute nodes made by the Job Preparation task. Example activities include deleting local files, or shutting down services that were started as part of job preparation. - JobReleaseTask *JobReleaseTask `json:"jobReleaseTask,omitempty"` - // CommonEnvironmentSettings - Individual tasks can override an environment setting specified here by specifying the same setting name with a different value. - CommonEnvironmentSettings *[]EnvironmentSetting `json:"commonEnvironmentSettings,omitempty"` - PoolInfo *PoolInformation `json:"poolInfo,omitempty"` - // OnAllTasksComplete - Note that if a job contains no tasks, then all tasks are considered complete. This option is therefore most commonly used with a Job Manager task; if you want to use automatic job termination without a Job Manager, you should initially set onAllTasksComplete to noAction and update the job properties to set onAllTasksComplete to terminateJob once you have finished adding tasks. Permitted values are: noAction - do nothing. The job remains active unless terminated or disabled by some other means. terminateJob - terminate the job. The job's terminateReason is set to 'AllTasksComplete'. The default is noAction. Possible values include: 'NoAction', 'TerminateJob' - OnAllTasksComplete OnAllTasksComplete `json:"onAllTasksComplete,omitempty"` - // OnTaskFailure - A task is considered to have failed if has a failureInfo. A failureInfo is set if the task completes with a non-zero exit code after exhausting its retry count, or if there was an error starting the task, for example due to a resource file download error. noAction - do nothing. performExitOptionsJobAction - take the action associated with the task exit condition in the task's exitConditions collection. (This may still result in no action being taken, if that is what the task specifies.) The default is noAction. Possible values include: 'OnTaskFailureNoAction', 'OnTaskFailurePerformExitOptionsJobAction' - OnTaskFailure OnTaskFailure `json:"onTaskFailure,omitempty"` - // Metadata - The Batch service does not assign any meaning to metadata; it is solely for the use of user code. - Metadata *[]MetadataItem `json:"metadata,omitempty"` - UsesTaskDependencies *bool `json:"usesTaskDependencies,omitempty"` -} - -// JobConstraints ... -type JobConstraints struct { - // MaxWallClockTime - If the job does not complete within the time limit, the Batch service terminates it and any tasks that are still running. In this case, the termination reason will be MaxWallClockTimeExpiry. If this property is not specified, there is no time limit on how long the job may run. - MaxWallClockTime *string `json:"maxWallClockTime,omitempty"` - // MaxTaskRetryCount - Note that this value specifically controls the number of retries. The Batch service will try each task once, and may then retry up to this limit. For example, if the maximum retry count is 3, Batch tries a task up to 4 times (one initial try and 3 retries). If the maximum retry count is 0, the Batch service does not retry tasks. If the maximum retry count is -1, the Batch service retries tasks without limit. The default value is 0 (no retries). - MaxTaskRetryCount *int32 `json:"maxTaskRetryCount,omitempty"` -} - -// JobDisableParameter ... -type JobDisableParameter struct { - // DisableTasks - Values are: - // requeue - Terminate running tasks and requeue them. The tasks will run again when the job is enabled. - // terminate - Terminate running tasks. The tasks will not run again. - // wait - Allow currently running tasks to complete. Possible values include: 'DisableJobOptionRequeue', 'DisableJobOptionTerminate', 'DisableJobOptionWait' - DisableTasks DisableJobOption `json:"disableTasks,omitempty"` -} - -// JobExecutionInformation ... -type JobExecutionInformation struct { - // StartTime - This is the time at which the job was created. - StartTime *date.Time `json:"startTime,omitempty"` - // EndTime - This property is set only if the job is in the completed state. - EndTime *date.Time `json:"endTime,omitempty"` - // PoolID - This element contains the actual pool where the job is assigned. When you get job details from the service, they also contain a poolInfo element, which contains the pool configuration data from when the job was added or updated. That poolInfo element may also contain a poolId element. If it does, the two IDs are the same. If it does not, it means the job ran on an auto pool, and this property contains the ID of that auto pool. - PoolID *string `json:"poolId,omitempty"` - // SchedulingError - This property is not set if there was no error starting the job. - SchedulingError *JobSchedulingError `json:"schedulingError,omitempty"` - // TerminateReason - This property is set only if the job is in the completed state. If the Batch service terminates the job, it sets the reason as follows: JMComplete - the Job Manager task completed, and killJobOnCompletion was set to true. MaxWallClockTimeExpiry - the job reached its maxWallClockTime constraint. TerminateJobSchedule - the job ran as part of a schedule, and the schedule terminated. AllTasksComplete - the job's onAllTasksComplete attribute is set to terminateJob, and all tasks in the job are complete. TaskFailed - the job's onTaskFailure attribute is set to performExitOptionsJobAction, and a task in the job failed with an exit condition that specified a jobAction of terminateJob. Any other string is a user-defined reason specified in a call to the 'Terminate a job' operation. - TerminateReason *string `json:"terminateReason,omitempty"` -} - -// JobManagerTask the Job Manager task is automatically started when the job is created. The Batch service tries to -// schedule the Job Manager task before any other tasks in the job. When shrinking a pool, the Batch service tries -// to preserve compute nodes where Job Manager tasks are running for as long as possible (that is, nodes running -// 'normal' tasks are removed before nodes running Job Manager tasks). When a Job Manager task fails and needs to -// be restarted, the system tries to schedule it at the highest priority. If there are no idle nodes available, the -// system may terminate one of the running tasks in the pool and return it to the queue in order to make room for -// the Job Manager task to restart. Note that a Job Manager task in one job does not have priority over tasks in -// other jobs. Across jobs, only job level priorities are observed. For example, if a Job Manager in a priority 0 -// job needs to be restarted, it will not displace tasks of a priority 1 job. -type JobManagerTask struct { - // ID - The ID can contain any combination of alphanumeric characters including hyphens and underscores and cannot contain more than 64 characters. - ID *string `json:"id,omitempty"` - // DisplayName - It need not be unique and can contain any Unicode characters up to a maximum length of 1024. - DisplayName *string `json:"displayName,omitempty"` - // CommandLine - The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example using "cmd /c MyCommand" in Windows or "/bin/sh -c MyCommand" in Linux. - CommandLine *string `json:"commandLine,omitempty"` - // ResourceFiles - Files listed under this element are located in the task's working directory. - ResourceFiles *[]ResourceFile `json:"resourceFiles,omitempty"` - // OutputFiles - For multi-instance tasks, the files will only be uploaded from the compute node on which the primary task is executed. - OutputFiles *[]OutputFile `json:"outputFiles,omitempty"` - EnvironmentSettings *[]EnvironmentSetting `json:"environmentSettings,omitempty"` - Constraints *TaskConstraints `json:"constraints,omitempty"` - // KillJobOnCompletion - If true, when the Job Manager task completes, the Batch service marks the job as complete. If any tasks are still running at this time (other than Job Release), those tasks are terminated. If false, the completion of the Job Manager task does not affect the job status. In this case, you should either use the onAllTasksComplete attribute to terminate the job, or have a client or user terminate the job explicitly. An example of this is if the Job Manager creates a set of tasks but then takes no further role in their execution. The default value is true. If you are using the onAllTasksComplete and onTaskFailure attributes to control job lifetime, and using the Job Manager task only to create the tasks for the job (not to monitor progress), then it is important to set killJobOnCompletion to false. - KillJobOnCompletion *bool `json:"killJobOnCompletion,omitempty"` - // UserIdentity - If omitted, the task runs as a non-administrative user unique to the task. - UserIdentity *UserIdentity `json:"userIdentity,omitempty"` - // RunExclusive - If true, no other tasks will run on the same compute node for as long as the Job Manager is running. If false, other tasks can run simultaneously with the Job Manager on a compute node. The Job Manager task counts normally against the node's concurrent task limit, so this is only relevant if the node allows multiple concurrent tasks. The default value is true. - RunExclusive *bool `json:"runExclusive,omitempty"` - // ApplicationPackageReferences - Application packages are downloaded and deployed to a shared directory, not the task working directory. Therefore, if a referenced package is already on the compute node, and is up to date, then it is not re-downloaded; the existing copy on the compute node is used. If a referenced application package cannot be installed, for example because the package has been deleted or because download failed, the task fails. - ApplicationPackageReferences *[]ApplicationPackageReference `json:"applicationPackageReferences,omitempty"` - // AuthenticationTokenSettings - If this property is set, the Batch service provides the task with an authentication token which can be used to authenticate Batch service operations without requiring an account access key. The token is provided via the AZ_BATCH_AUTHENTICATION_TOKEN environment variable. The operations that the task can carry out using the token depend on the settings. For example, a task can request job permissions in order to add other tasks to the job, or check the status of the job or of other tasks under the job. - AuthenticationTokenSettings *AuthenticationTokenSettings `json:"authenticationTokenSettings,omitempty"` - // AllowLowPriorityNode - The default value is false. - AllowLowPriorityNode *bool `json:"allowLowPriorityNode,omitempty"` -} - -// JobPatchParameter ... -type JobPatchParameter struct { - // Priority - Priority values can range from -1000 to 1000, with -1000 being the lowest priority and 1000 being the highest priority. If omitted, the priority of the job is left unchanged. - Priority *int32 `json:"priority,omitempty"` - // OnAllTasksComplete - If omitted, the completion behavior is left unchanged. You may not change the value from terminateJob to noAction - that is, once you have engaged automatic job termination, you cannot turn it off again. If you try to do this, the request fails with an 'invalid property value' error response; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). Possible values include: 'NoAction', 'TerminateJob' - OnAllTasksComplete OnAllTasksComplete `json:"onAllTasksComplete,omitempty"` - // Constraints - If omitted, the existing execution constraints are left unchanged. - Constraints *JobConstraints `json:"constraints,omitempty"` - // PoolInfo - You may change the pool for a job only when the job is disabled. The Patch Job call will fail if you include the poolInfo element and the job is not disabled. If you specify an autoPoolSpecification specification in the poolInfo, only the keepAlive property can be updated, and then only if the auto pool has a poolLifetimeOption of job. If omitted, the job continues to run on its current pool. - PoolInfo *PoolInformation `json:"poolInfo,omitempty"` - // Metadata - If omitted, the existing job metadata is left unchanged. - Metadata *[]MetadataItem `json:"metadata,omitempty"` -} - -// JobPreparationAndReleaseTaskExecutionInformation ... -type JobPreparationAndReleaseTaskExecutionInformation struct { - PoolID *string `json:"poolId,omitempty"` - NodeID *string `json:"nodeId,omitempty"` - NodeURL *string `json:"nodeUrl,omitempty"` - JobPreparationTaskExecutionInfo *JobPreparationTaskExecutionInformation `json:"jobPreparationTaskExecutionInfo,omitempty"` - // JobReleaseTaskExecutionInfo - This property is set only if the Job Release task has run on the node. - JobReleaseTaskExecutionInfo *JobReleaseTaskExecutionInformation `json:"jobReleaseTaskExecutionInfo,omitempty"` -} - -// JobPreparationTask you can use Job Preparation to prepare a compute node to run tasks for the job. Activities -// commonly performed in Job Preparation include: Downloading common resource files used by all the tasks in the -// job. The Job Preparation task can download these common resource files to the shared location on the compute -// node. (AZ_BATCH_NODE_ROOT_DIR\shared), or starting a local service on the compute node so that all tasks of that -// job can communicate with it. If the Job Preparation task fails (that is, exhausts its retry count before exiting -// with exit code 0), Batch will not run tasks of this job on the compute node. The node remains ineligible to run -// tasks of this job until it is reimaged. The node remains active and can be used for other jobs. The Job -// Preparation task can run multiple times on the same compute node. Therefore, you should write the Job -// Preparation task to handle re-execution. If the compute node is rebooted, the Job Preparation task is run again -// on the node before scheduling any other task of the job, if rerunOnNodeRebootAfterSuccess is true or if the Job -// Preparation task did not previously complete. If the compute node is reimaged, the Job Preparation task is run -// again before scheduling any task of the job. -type JobPreparationTask struct { - // ID - The ID can contain any combination of alphanumeric characters including hyphens and underscores and cannot contain more than 64 characters. If you do not specify this property, the Batch service assigns a default value of 'jobpreparation'. No other task in the job can have the same ID as the Job Preparation task. If you try to submit a task with the same id, the Batch service rejects the request with error code TaskIdSameAsJobPreparationTask; if you are calling the REST API directly, the HTTP status code is 409 (Conflict). - ID *string `json:"id,omitempty"` - // CommandLine - The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example using "cmd /c MyCommand" in Windows or "/bin/sh -c MyCommand" in Linux. - CommandLine *string `json:"commandLine,omitempty"` - // ResourceFiles - Files listed under this element are located in the task's working directory. - ResourceFiles *[]ResourceFile `json:"resourceFiles,omitempty"` - EnvironmentSettings *[]EnvironmentSetting `json:"environmentSettings,omitempty"` - Constraints *TaskConstraints `json:"constraints,omitempty"` - // WaitForSuccess - If true and the Job Preparation task fails on a compute node, the Batch service retries the Job Preparation task up to its maximum retry count (as specified in the constraints element). If the task has still not completed successfully after all retries, then the Batch service will not schedule tasks of the job to the compute node. The compute node remains active and eligible to run tasks of other jobs. If false, the Batch service will not wait for the Job Preparation task to complete. In this case, other tasks of the job can start executing on the compute node while the Job Preparation task is still running; and even if the Job Preparation task fails, new tasks will continue to be scheduled on the node. The default value is true. - WaitForSuccess *bool `json:"waitForSuccess,omitempty"` - // UserIdentity - If omitted, the task runs as a non-administrative user unique to the task on Windows nodes, or a a non-administrative user unique to the pool on Linux nodes. - UserIdentity *UserIdentity `json:"userIdentity,omitempty"` - // RerunOnNodeRebootAfterSuccess - The Job Preparation task is always rerun if a compute node is reimaged, or if the Job Preparation task did not complete (e.g. because the reboot occurred while the task was running). Therefore, you should always write a Job Preparation task to be idempotent and to behave correctly if run multiple times. The default value is true. - RerunOnNodeRebootAfterSuccess *bool `json:"rerunOnNodeRebootAfterSuccess,omitempty"` -} - -// JobPreparationTaskExecutionInformation ... -type JobPreparationTaskExecutionInformation struct { - // StartTime - If the task has been restarted or retried, this is the most recent time at which the task started running. - StartTime *date.Time `json:"startTime,omitempty"` - // EndTime - This property is set only if the task is in the Completed state. - EndTime *date.Time `json:"endTime,omitempty"` - // State - Values are: - // running - the task is currently running (including retrying). - // completed - the task has exited with exit code 0, or the task has exhausted its retry limit, or the Batch service was unable to start the task due to task preparation errors (such as resource file download failures). Possible values include: 'JobPreparationTaskStateRunning', 'JobPreparationTaskStateCompleted' - State JobPreparationTaskState `json:"state,omitempty"` - TaskRootDirectory *string `json:"taskRootDirectory,omitempty"` - TaskRootDirectoryURL *string `json:"taskRootDirectoryUrl,omitempty"` - // ExitCode - This parameter is returned only if the task is in the completed state. The exit code for a process reflects the specific convention implemented by the application developer for that process. If you use the exit code value to make decisions in your code, be sure that you know the exit code convention used by the application process. Note that the exit code may also be generated by the compute node operating system, such as when a process is forcibly terminated. - ExitCode *int32 `json:"exitCode,omitempty"` - // FailureInfo - This property is set only if the task is in the completed state and encountered a failure. - FailureInfo *TaskFailureInformation `json:"failureInfo,omitempty"` - // RetryCount - Task application failures (non-zero exit code) are retried, pre-processing errors (the task could not be run) and file upload errors are not retried. The Batch service will retry the task up to the limit specified by the constraints. - RetryCount *int32 `json:"retryCount,omitempty"` - // LastRetryTime - This property is set only if the task was retried (i.e. retryCount is nonzero). If present, this is typically the same as startTime, but may be different if the task has been restarted for reasons other than retry; for example, if the compute node was rebooted during a retry, then the startTime is updated but the lastRetryTime is not. - LastRetryTime *date.Time `json:"lastRetryTime,omitempty"` - // Result - If the value is 'failed', then the details of the failure can be found in the failureInfo property. Possible values include: 'Success', 'Failure' - Result TaskExecutionResult `json:"result,omitempty"` -} - -// JobReleaseTask the Job Release task runs when the job ends, because of one of the following: The user calls the -// Terminate Job API, or the Delete Job API while the job is still active, the job's maximum wall clock time -// constraint is reached, and the job is still active, or the job's Job Manager task completed, and the job is -// configured to terminate when the Job Manager completes. The Job Release task runs on each compute node where -// tasks of the job have run and the Job Preparation task ran and completed. If you reimage a compute node after it -// has run the Job Preparation task, and the job ends without any further tasks of the job running on that compute -// node (and hence the Job Preparation task does not re-run), then the Job Release task does not run on that node. -// If a compute node reboots while the Job Release task is still running, the Job Release task runs again when the -// compute node starts up. The job is not marked as complete until all Job Release tasks have completed. The Job -// Release task runs in the background. It does not occupy a scheduling slot; that is, it does not count towards -// the maxTasksPerNode limit specified on the pool. -type JobReleaseTask struct { - // ID - The ID can contain any combination of alphanumeric characters including hyphens and underscores and cannot contain more than 64 characters. If you do not specify this property, the Batch service assigns a default value of 'jobrelease'. No other task in the job can have the same ID as the Job Release task. If you try to submit a task with the same id, the Batch service rejects the request with error code TaskIdSameAsJobReleaseTask; if you are calling the REST API directly, the HTTP status code is 409 (Conflict). - ID *string `json:"id,omitempty"` - // CommandLine - The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example using "cmd /c MyCommand" in Windows or "/bin/sh -c MyCommand" in Linux. - CommandLine *string `json:"commandLine,omitempty"` - // ResourceFiles - Files listed under this element are located in the task's working directory. - ResourceFiles *[]ResourceFile `json:"resourceFiles,omitempty"` - EnvironmentSettings *[]EnvironmentSetting `json:"environmentSettings,omitempty"` - MaxWallClockTime *string `json:"maxWallClockTime,omitempty"` - // RetentionTime - The default is infinite, i.e. the task directory will be retained until the compute node is removed or reimaged. - RetentionTime *string `json:"retentionTime,omitempty"` - // UserIdentity - If omitted, the task runs as a non-administrative user unique to the task. - UserIdentity *UserIdentity `json:"userIdentity,omitempty"` -} - -// JobReleaseTaskExecutionInformation ... -type JobReleaseTaskExecutionInformation struct { - // StartTime - If the task has been restarted or retried, this is the most recent time at which the task started running. - StartTime *date.Time `json:"startTime,omitempty"` - // EndTime - This property is set only if the task is in the Completed state. - EndTime *date.Time `json:"endTime,omitempty"` - // State - Values are: - // running - the task is currently running (including retrying). - // completed - the task has exited, or the Batch service was unable to start the task due to task preparation errors (such as resource file download failures). Possible values include: 'JobReleaseTaskStateRunning', 'JobReleaseTaskStateCompleted' - State JobReleaseTaskState `json:"state,omitempty"` - TaskRootDirectory *string `json:"taskRootDirectory,omitempty"` - TaskRootDirectoryURL *string `json:"taskRootDirectoryUrl,omitempty"` - // ExitCode - This parameter is returned only if the task is in the completed state. The exit code for a process reflects the specific convention implemented by the application developer for that process. If you use the exit code value to make decisions in your code, be sure that you know the exit code convention used by the application process. Note that the exit code may also be generated by the compute node operating system, such as when a process is forcibly terminated. - ExitCode *int32 `json:"exitCode,omitempty"` - // FailureInfo - This property is set only if the task is in the completed state and encountered a failure. - FailureInfo *TaskFailureInformation `json:"failureInfo,omitempty"` - // Result - If the value is 'failed', then the details of the failure can be found in the failureInfo property. Possible values include: 'Success', 'Failure' - Result TaskExecutionResult `json:"result,omitempty"` -} - -// JobScheduleAddParameter ... -type JobScheduleAddParameter struct { - // ID - The ID can contain any combination of alphanumeric characters including hyphens and underscores, and cannot contain more than 64 characters. The ID is case-preserving and case-insensitive (that is, you may not have two IDs within an account that differ only by case). - ID *string `json:"id,omitempty"` - // DisplayName - The display name need not be unique and can contain any Unicode characters up to a maximum length of 1024. - DisplayName *string `json:"displayName,omitempty"` - Schedule *Schedule `json:"schedule,omitempty"` - JobSpecification *JobSpecification `json:"jobSpecification,omitempty"` - // Metadata - The Batch service does not assign any meaning to metadata; it is solely for the use of user code. - Metadata *[]MetadataItem `json:"metadata,omitempty"` -} - -// JobScheduleExecutionInformation ... -type JobScheduleExecutionInformation struct { - // NextRunTime - This property is meaningful only if the schedule is in the active state when the time comes around. For example, if the schedule is disabled, no job will be created at nextRunTime unless the job is enabled before then. - NextRunTime *date.Time `json:"nextRunTime,omitempty"` - // RecentJob - This property is present only if the at least one job has run under the schedule. - RecentJob *RecentJob `json:"recentJob,omitempty"` - // EndTime - This property is set only if the job schedule is in the completed state. - EndTime *date.Time `json:"endTime,omitempty"` -} - -// JobSchedulePatchParameter ... -type JobSchedulePatchParameter struct { - // Schedule - If you do not specify this element, the existing schedule is left unchanged. - Schedule *Schedule `json:"schedule,omitempty"` - // JobSpecification - Updates affect only jobs that are started after the update has taken place. Any currently active job continues with the older specification. - JobSpecification *JobSpecification `json:"jobSpecification,omitempty"` - // Metadata - If you do not specify this element, existing metadata is left unchanged. - Metadata *[]MetadataItem `json:"metadata,omitempty"` -} - -// JobScheduleStatistics ... -type JobScheduleStatistics struct { - URL *string `json:"url,omitempty"` - StartTime *date.Time `json:"startTime,omitempty"` - LastUpdateTime *date.Time `json:"lastUpdateTime,omitempty"` - UserCPUTime *string `json:"userCPUTime,omitempty"` - KernelCPUTime *string `json:"kernelCPUTime,omitempty"` - // WallClockTime - The wall clock time is the elapsed time from when the task started running on a compute node to when it finished (or to the last time the statistics were updated, if the task had not finished by then). If a task was retried, this includes the wall clock time of all the task retries. - WallClockTime *string `json:"wallClockTime,omitempty"` - ReadIOps *int64 `json:"readIOps,omitempty"` - WriteIOps *int64 `json:"writeIOps,omitempty"` - ReadIOGiB *float64 `json:"readIOGiB,omitempty"` - WriteIOGiB *float64 `json:"writeIOGiB,omitempty"` - NumSucceededTasks *int64 `json:"numSucceededTasks,omitempty"` - NumFailedTasks *int64 `json:"numFailedTasks,omitempty"` - NumTaskRetries *int64 `json:"numTaskRetries,omitempty"` - // WaitTime - This value is only reported in the account lifetime statistics; it is not included in the job statistics. - WaitTime *string `json:"waitTime,omitempty"` -} - -// JobScheduleUpdateParameter ... -type JobScheduleUpdateParameter struct { - // Schedule - If you do not specify this element, it is equivalent to passing the default schedule: that is, a single job scheduled to run immediately. - Schedule *Schedule `json:"schedule,omitempty"` - // JobSpecification - Updates affect only jobs that are started after the update has taken place. Any currently active job continues with the older specification. - JobSpecification *JobSpecification `json:"jobSpecification,omitempty"` - // Metadata - If you do not specify this element, it takes the default value of an empty list; in effect, any existing metadata is deleted. - Metadata *[]MetadataItem `json:"metadata,omitempty"` -} - -// JobSchedulingError ... -type JobSchedulingError struct { - // Category - Possible values include: 'UserError', 'ServerError' - Category ErrorCategory `json:"category,omitempty"` - Code *string `json:"code,omitempty"` - Message *string `json:"message,omitempty"` - Details *[]NameValuePair `json:"details,omitempty"` -} - -// JobSpecification ... -type JobSpecification struct { - // Priority - Priority values can range from -1000 to 1000, with -1000 being the lowest priority and 1000 being the highest priority. The default value is 0. This priority is used as the default for all jobs under the job schedule. You can update a job's priority after it has been created using by using the update job API. - Priority *int32 `json:"priority,omitempty"` - // DisplayName - The name need not be unique and can contain any Unicode characters up to a maximum length of 1024. - DisplayName *string `json:"displayName,omitempty"` - UsesTaskDependencies *bool `json:"usesTaskDependencies,omitempty"` - // OnAllTasksComplete - Note that if a job contains no tasks, then all tasks are considered complete. This option is therefore most commonly used with a Job Manager task; if you want to use automatic job termination without a Job Manager, you should initially set onAllTasksComplete to noAction and update the job properties to set onAllTasksComplete to terminateJob once you have finished adding tasks. The default is noAction. Possible values include: 'NoAction', 'TerminateJob' - OnAllTasksComplete OnAllTasksComplete `json:"onAllTasksComplete,omitempty"` - // OnTaskFailure - The default is noAction. Possible values include: 'OnTaskFailureNoAction', 'OnTaskFailurePerformExitOptionsJobAction' - OnTaskFailure OnTaskFailure `json:"onTaskFailure,omitempty"` - Constraints *JobConstraints `json:"constraints,omitempty"` - // JobManagerTask - If the job does not specify a Job Manager task, the user must explicitly add tasks to the job using the Task API. If the job does specify a Job Manager task, the Batch service creates the Job Manager task when the job is created, and will try to schedule the Job Manager task before scheduling other tasks in the job. - JobManagerTask *JobManagerTask `json:"jobManagerTask,omitempty"` - // JobPreparationTask - If a job has a Job Preparation task, the Batch service will run the Job Preparation task on a compute node before starting any tasks of that job on that compute node. - JobPreparationTask *JobPreparationTask `json:"jobPreparationTask,omitempty"` - // JobReleaseTask - The primary purpose of the Job Release task is to undo changes to compute nodes made by the Job Preparation task. Example activities include deleting local files, or shutting down services that were started as part of job preparation. A Job Release task cannot be specified without also specifying a Job Preparation task for the job. The Batch service runs the Job Release task on the compute nodes that have run the Job Preparation task. - JobReleaseTask *JobReleaseTask `json:"jobReleaseTask,omitempty"` - // CommonEnvironmentSettings - Individual tasks can override an environment setting specified here by specifying the same setting name with a different value. - CommonEnvironmentSettings *[]EnvironmentSetting `json:"commonEnvironmentSettings,omitempty"` - PoolInfo *PoolInformation `json:"poolInfo,omitempty"` - // Metadata - The Batch service does not assign any meaning to metadata; it is solely for the use of user code. - Metadata *[]MetadataItem `json:"metadata,omitempty"` -} - -// JobStatistics ... -type JobStatistics struct { - autorest.Response `json:"-"` - URL *string `json:"url,omitempty"` - StartTime *date.Time `json:"startTime,omitempty"` - LastUpdateTime *date.Time `json:"lastUpdateTime,omitempty"` - UserCPUTime *string `json:"userCPUTime,omitempty"` - KernelCPUTime *string `json:"kernelCPUTime,omitempty"` - // WallClockTime - The wall clock time is the elapsed time from when the task started running on a compute node to when it finished (or to the last time the statistics were updated, if the task had not finished by then). If a task was retried, this includes the wall clock time of all the task retries. - WallClockTime *string `json:"wallClockTime,omitempty"` - ReadIOps *int64 `json:"readIOps,omitempty"` - WriteIOps *int64 `json:"writeIOps,omitempty"` - ReadIOGiB *float64 `json:"readIOGiB,omitempty"` - WriteIOGiB *float64 `json:"writeIOGiB,omitempty"` - // NumSucceededTasks - A task completes successfully if it returns exit code 0. - NumSucceededTasks *int64 `json:"numSucceededTasks,omitempty"` - // NumFailedTasks - A task fails if it exhausts its maximum retry count without returning exit code 0. - NumFailedTasks *int64 `json:"numFailedTasks,omitempty"` - NumTaskRetries *int64 `json:"numTaskRetries,omitempty"` - // WaitTime - The wait time for a task is defined as the elapsed time between the creation of the task and the start of task execution. (If the task is retried due to failures, the wait time is the time to the most recent task execution.) This value is only reported in the account lifetime statistics; it is not included in the job statistics. - WaitTime *string `json:"waitTime,omitempty"` -} - -// JobTerminateParameter ... -type JobTerminateParameter struct { - TerminateReason *string `json:"terminateReason,omitempty"` -} - -// JobUpdateParameter ... -type JobUpdateParameter struct { - // Priority - Priority values can range from -1000 to 1000, with -1000 being the lowest priority and 1000 being the highest priority. If omitted, it is set to the default value 0. - Priority *int32 `json:"priority,omitempty"` - // Constraints - If omitted, the constraints are cleared. - Constraints *JobConstraints `json:"constraints,omitempty"` - // PoolInfo - You may change the pool for a job only when the job is disabled. The Update Job call will fail if you include the poolInfo element and the job is not disabled. If you specify an autoPoolSpecification specification in the poolInfo, only the keepAlive property can be updated, and then only if the auto pool has a poolLifetimeOption of job. - PoolInfo *PoolInformation `json:"poolInfo,omitempty"` - // Metadata - If omitted, it takes the default value of an empty list; in effect, any existing metadata is deleted. - Metadata *[]MetadataItem `json:"metadata,omitempty"` - // OnAllTasksComplete - If omitted, the completion behavior is set to noAction. If the current value is terminateJob, this is an error because a job's completion behavior may not be changed from terminateJob to noAction. You may not change the value from terminatejob to noaction - that is, once you have engaged automatic job termination, you cannot turn it off again. If you try to do this, the request fails and Batch returns status code 400 (Bad Request) and an 'invalid property value' error response. If you do not specify this element in a PUT request, it is equivalent to passing noaction. This is an error if the current value is terminatejob. Possible values include: 'NoAction', 'TerminateJob' - OnAllTasksComplete OnAllTasksComplete `json:"onAllTasksComplete,omitempty"` -} - -// LinuxUserConfiguration ... -type LinuxUserConfiguration struct { - // UID - The uid and gid properties must be specified together or not at all. If not specified the underlying operating system picks the uid. - UID *int32 `json:"uid,omitempty"` - // Gid - The uid and gid properties must be specified together or not at all. If not specified the underlying operating system picks the gid. - Gid *int32 `json:"gid,omitempty"` - // SSHPrivateKey - The private key must not be password protected. The private key is used to automatically configure asymmetric-key based authentication for SSH between nodes in a Linux pool when the pool's enableInterNodeCommunication property is true (it is ignored if enableInterNodeCommunication is false). It does this by placing the key pair into the user's .ssh directory. If not specified, password-less SSH is not configured between nodes (no modification of the user's .ssh directory is done). - SSHPrivateKey *string `json:"sshPrivateKey,omitempty"` -} - -// MetadataItem the Batch service does not assign any meaning to this metadata; it is solely for the use of user -// code. -type MetadataItem struct { - Name *string `json:"name,omitempty"` - Value *string `json:"value,omitempty"` -} - -// MultiInstanceSettings multi-instance tasks are commonly used to support MPI tasks. -type MultiInstanceSettings struct { - NumberOfInstances *int32 `json:"numberOfInstances,omitempty"` - // CoordinationCommandLine - A typical coordination command line launches a background service and verifies that the service is ready to process inter-node messages. - CoordinationCommandLine *string `json:"coordinationCommandLine,omitempty"` - // CommonResourceFiles - The difference between common resource files and task resource files is that common resource files are downloaded for all subtasks including the primary, whereas task resource files are downloaded only for the primary. Also note that these resource files are not downloaded to the task working directory, but instead are downloaded to the task root directory (one directory above the working directory). - CommonResourceFiles *[]ResourceFile `json:"commonResourceFiles,omitempty"` -} - -// NameValuePair ... -type NameValuePair struct { - Name *string `json:"name,omitempty"` - Value *string `json:"value,omitempty"` -} - -// NetworkConfiguration the network configuration for a pool. -type NetworkConfiguration struct { - // SubnetID - The virtual network must be in the same region and subscription as the Azure Batch account. The specified subnet should have enough free IP addresses to accommodate the number of nodes in the pool. If the subnet doesn't have enough free IP addresses, the pool will partially allocate compute nodes, and a resize error will occur. The 'MicrosoftAzureBatch' service principal must have the 'Classic Virtual Machine Contributor' Role-Based Access Control (RBAC) role for the specified VNet. The specified subnet must allow communication from the Azure Batch service to be able to schedule tasks on the compute nodes. This can be verified by checking if the specified VNet has any associated Network Security Groups (NSG). If communication to the compute nodes in the specified subnet is denied by an NSG, then the Batch service will set the state of the compute nodes to unusable. For pools created via virtualMachineConfiguration the Batch account must have poolAllocationMode userSubscription in order to use a VNet. If the specified VNet has any associated Network Security Groups (NSG), then a few reserved system ports must be enabled for inbound communication. For pools created with a virtual machine configuration, enable ports 29876 and 29877, as well as port 22 for Linux and port 3389 for Windows. For pools created with a cloud service configuration, enable ports 10100, 20100, and 30100. Also enable outbound connections to Azure Storage on port 443. For more details see: https://docs.microsoft.com/en-us/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration - SubnetID *string `json:"subnetId,omitempty"` - // EndpointConfiguration - Pool endpoint configuration is only supported on pools with the virtualMachineConfiguration property. - EndpointConfiguration *PoolEndpointConfiguration `json:"endpointConfiguration,omitempty"` -} - -// NetworkSecurityGroupRule ... -type NetworkSecurityGroupRule struct { - // Priority - Priorities within a pool must be unique and are evaluated in order of priority. The lower the number the higher the priority. For example, rules could be specified with order numbers of 150, 250, and 350. The rule with the order number of 150 takes precedence over the rule that has an order of 250. Allowed priorities are 150 to 3500. If any reserved or duplicate values are provided the request fails with HTTP status code 400. - Priority *int32 `json:"priority,omitempty"` - // Access - Possible values include: 'Allow', 'Deny' - Access NetworkSecurityGroupRuleAccess `json:"access,omitempty"` - // SourceAddressPrefix - Valid values are a single IP address (i.e. 10.10.10.10), IP subnet (i.e. 192.168.1.0/24), default tag, or * (for all addresses). If any other values are provided the request fails with HTTP status code 400. - SourceAddressPrefix *string `json:"sourceAddressPrefix,omitempty"` -} - -// NodeAgentSku the Batch node agent is a program that runs on each node in the pool, and provides the -// command-and-control interface between the node and the Batch service. There are different implementations of the -// node agent, known as SKUs, for different operating systems. -type NodeAgentSku struct { - ID *string `json:"id,omitempty"` - // VerifiedImageReferences - This collection is not exhaustive (the node agent may be compatible with other images). - VerifiedImageReferences *[]ImageReference `json:"verifiedImageReferences,omitempty"` - // OsType - Possible values include: 'Linux', 'Windows' - OsType OSType `json:"osType,omitempty"` -} - -// NodeDisableSchedulingParameter ... -type NodeDisableSchedulingParameter struct { - // NodeDisableSchedulingOption - Values are: - // requeue - Terminate running task processes and requeue the tasks. The tasks may run again on other compute nodes, or when task scheduling is re-enabled on this node. Enter offline state as soon as tasks have been terminated. - // terminate - Terminate running tasks. The tasks will not run again. Enter offline state as soon as tasks have been terminated. - // taskcompletion - Allow currently running tasks to complete. Schedule no new tasks while waiting. Enter offline state when all tasks have completed. - // The default value is requeue. Possible values include: 'DisableComputeNodeSchedulingOptionRequeue', 'DisableComputeNodeSchedulingOptionTerminate', 'DisableComputeNodeSchedulingOptionTaskCompletion' - NodeDisableSchedulingOption DisableComputeNodeSchedulingOption `json:"nodeDisableSchedulingOption,omitempty"` -} - -// NodeFile ... -type NodeFile struct { - Name *string `json:"name,omitempty"` - URL *string `json:"url,omitempty"` - IsDirectory *bool `json:"isDirectory,omitempty"` - Properties *FileProperties `json:"properties,omitempty"` -} - -// NodeFileListResult ... -type NodeFileListResult struct { - autorest.Response `json:"-"` - Value *[]NodeFile `json:"value,omitempty"` - OdataNextLink *string `json:"odata.nextLink,omitempty"` -} - -// NodeFileListResultIterator provides access to a complete listing of NodeFile values. -type NodeFileListResultIterator struct { - i int - page NodeFileListResultPage -} - -// Next advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -func (iter *NodeFileListResultIterator) Next() error { - iter.i++ - if iter.i < len(iter.page.Values()) { - return nil - } - err := iter.page.Next() - if err != nil { - iter.i-- - return err - } - iter.i = 0 - return nil -} - -// NotDone returns true if the enumeration should be started or is not yet complete. -func (iter NodeFileListResultIterator) NotDone() bool { - return iter.page.NotDone() && iter.i < len(iter.page.Values()) -} - -// Response returns the raw server response from the last page request. -func (iter NodeFileListResultIterator) Response() NodeFileListResult { - return iter.page.Response() -} - -// Value returns the current value or a zero-initialized value if the -// iterator has advanced beyond the end of the collection. -func (iter NodeFileListResultIterator) Value() NodeFile { - if !iter.page.NotDone() { - return NodeFile{} - } - return iter.page.Values()[iter.i] -} - -// IsEmpty returns true if the ListResult contains no values. -func (nflr NodeFileListResult) IsEmpty() bool { - return nflr.Value == nil || len(*nflr.Value) == 0 -} - -// nodeFileListResultPreparer prepares a request to retrieve the next set of results. -// It returns nil if no more results exist. -func (nflr NodeFileListResult) nodeFileListResultPreparer() (*http.Request, error) { - if nflr.OdataNextLink == nil || len(to.String(nflr.OdataNextLink)) < 1 { - return nil, nil - } - return autorest.Prepare(&http.Request{}, - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(nflr.OdataNextLink))) -} - -// NodeFileListResultPage contains a page of NodeFile values. -type NodeFileListResultPage struct { - fn func(NodeFileListResult) (NodeFileListResult, error) - nflr NodeFileListResult -} - -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -func (page *NodeFileListResultPage) Next() error { - next, err := page.fn(page.nflr) - if err != nil { - return err - } - page.nflr = next - return nil -} - -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page NodeFileListResultPage) NotDone() bool { - return !page.nflr.IsEmpty() -} - -// Response returns the raw server response from the last page request. -func (page NodeFileListResultPage) Response() NodeFileListResult { - return page.nflr -} - -// Values returns the slice of values for the current page or nil if there are no values. -func (page NodeFileListResultPage) Values() []NodeFile { - if page.nflr.IsEmpty() { - return nil - } - return *page.nflr.Value -} - -// NodeRebootParameter ... -type NodeRebootParameter struct { - // NodeRebootOption - Values are: - // requeue - Terminate running task processes and requeue the tasks. The tasks will run again when a node is available. Restart the node as soon as tasks have been terminated. - // terminate - Terminate running tasks. The tasks will not run again. Restart the node as soon as tasks have been terminated. - // taskcompletion - Allow currently running tasks to complete. Schedule no new tasks while waiting. Restart the node when all tasks have completed. - // retaineddata - Allow currently running tasks to complete, then wait for all task data retention periods to expire. Schedule no new tasks while waiting. Restart the node when all task retention periods have expired. - // The default value is requeue. Possible values include: 'ComputeNodeRebootOptionRequeue', 'ComputeNodeRebootOptionTerminate', 'ComputeNodeRebootOptionTaskCompletion', 'ComputeNodeRebootOptionRetainedData' - NodeRebootOption ComputeNodeRebootOption `json:"nodeRebootOption,omitempty"` -} - -// NodeReimageParameter ... -type NodeReimageParameter struct { - // NodeReimageOption - Values are: - // requeue - Terminate running task processes and requeue the tasks. The tasks will run again when a node is available. Reimage the node as soon as tasks have been terminated. - // terminate - Terminate running tasks. The tasks will not run again. Reimage the node as soon as tasks have been terminated. - // taskcompletion - Allow currently running tasks to complete. Schedule no new tasks while waiting. Reimage the node when all tasks have completed. - // retaineddata - Allow currently running tasks to complete, then wait for all task data retention periods to expire. Schedule no new tasks while waiting. Reimage the node when all task retention periods have expired. - // The default value is requeue. Possible values include: 'ComputeNodeReimageOptionRequeue', 'ComputeNodeReimageOptionTerminate', 'ComputeNodeReimageOptionTaskCompletion', 'ComputeNodeReimageOptionRetainedData' - NodeReimageOption ComputeNodeReimageOption `json:"nodeReimageOption,omitempty"` -} - -// NodeRemoveParameter ... -type NodeRemoveParameter struct { - NodeList *[]string `json:"nodeList,omitempty"` - // ResizeTimeout - The default value is 15 minutes. The minimum value is 5 minutes. If you specify a value less than 5 minutes, the Batch service returns an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). - ResizeTimeout *string `json:"resizeTimeout,omitempty"` - // NodeDeallocationOption - The default value is requeue. Possible values include: 'Requeue', 'Terminate', 'TaskCompletion', 'RetainedData' - NodeDeallocationOption ComputeNodeDeallocationOption `json:"nodeDeallocationOption,omitempty"` -} - -// NodeUpdateUserParameter ... -type NodeUpdateUserParameter struct { - // Password - The password is required for Windows nodes (those created with 'cloudServiceConfiguration', or created with 'virtualMachineConfiguration' using a Windows image reference). For Linux compute nodes, the password can optionally be specified along with the sshPublicKey property. If omitted, any existing password is removed. - Password *string `json:"password,omitempty"` - // ExpiryTime - If omitted, the default is 1 day from the current time. For Linux compute nodes, the expiryTime has a precision up to a day. - ExpiryTime *date.Time `json:"expiryTime,omitempty"` - // SSHPublicKey - The public key should be compatible with OpenSSH encoding and should be base 64 encoded. This property can be specified only for Linux nodes. If this is specified for a Windows node, then the Batch service rejects the request; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). If omitted, any existing SSH public key is removed. - SSHPublicKey *string `json:"sshPublicKey,omitempty"` -} - -// OSDisk ... -type OSDisk struct { - // ImageUris - All the VHDs must be identical and must reside in an Azure Storage account within the same subscription and same region as the Batch account. For best performance, it is recommended that each VHD resides in a separate Azure Storage account. Each VHD can serve upto 20 Windows compute nodes or 40 Linux compute nodes. You must supply enough VHD URIs to satisfy the 'targetDedicated' property of the pool. If you do not supply enough VHD URIs, the pool will partially allocate compute nodes, and a resize error will occur. - ImageUris *[]string `json:"imageUris,omitempty"` - // Caching - Values are: - // none - The caching mode for the disk is not enabled. - // readOnly - The caching mode for the disk is read only. - // readWrite - The caching mode for the disk is read and write. - // The default value for caching is none. For information about the caching options see: https://blogs.msdn.microsoft.com/windowsazurestorage/2012/06/27/exploring-windows-azure-drives-disks-and-images/. Possible values include: 'None', 'ReadOnly', 'ReadWrite' - Caching CachingType `json:"caching,omitempty"` -} - -// OutputFile ... -type OutputFile struct { - // FilePattern - Both relative and absolute paths are supported. Relative paths are relative to the task working directory. The following wildcards are supported: * matches 0 or more characters (for example pattern abc* would match abc or abcdef), ** matches any directory, ? matches any single character, [abc] matches one character in the brackets, and [a-c] matches one character in the range. Brackets can include a negation to match any character not specified (for example [!abc] matches any character but a, b, or c). If a file name starts with "." it is ignored by default but may be matched by specifying it explicitly (for example *.gif will not match .a.gif, but .*.gif will). A simple example: **\*.txt matches any file that does not start in '.' and ends with .txt in the task working directory or any subdirectory. If the filename contains a wildcard character it can be escaped using brackets (for example abc[*] would match a file named abc*). Note that both \ and / are treated as directory separators on Windows, but only / is on Linux. Environment variables (%var% on Windows or $var on Linux) are expanded prior to the pattern being applied. - FilePattern *string `json:"filePattern,omitempty"` - Destination *OutputFileDestination `json:"destination,omitempty"` - UploadOptions *OutputFileUploadOptions `json:"uploadOptions,omitempty"` -} - -// OutputFileBlobContainerDestination ... -type OutputFileBlobContainerDestination struct { - // Path - If filePattern refers to a specific file (i.e. contains no wildcards), then path is the name of the blob to which to upload that file. If filePattern contains one or more wildcards (and therefore may match multiple files), then path is the name of the blob virtual directory (which is prepended to each blob name) to which to upload the file(s). If omitted, file(s) are uploaded to the root of the container with a blob name matching their file name. - Path *string `json:"path,omitempty"` - // ContainerURL - The URL must include a Shared Access Signature (SAS) granting write permissions to the container. - ContainerURL *string `json:"containerUrl,omitempty"` -} - -// OutputFileDestination ... -type OutputFileDestination struct { - Container *OutputFileBlobContainerDestination `json:"container,omitempty"` -} - -// OutputFileUploadOptions ... -type OutputFileUploadOptions struct { - // UploadCondition - The default is taskCompletion. Possible values include: 'OutputFileUploadConditionTaskSuccess', 'OutputFileUploadConditionTaskFailure', 'OutputFileUploadConditionTaskCompletion' - UploadCondition OutputFileUploadCondition `json:"uploadCondition,omitempty"` -} - -// PoolAddParameter ... -type PoolAddParameter struct { - // ID - The ID can contain any combination of alphanumeric characters including hyphens and underscores, and cannot contain more than 64 characters. The ID is case-preserving and case-insensitive (that is, you may not have two pool IDs within an account that differ only by case). - ID *string `json:"id,omitempty"` - // DisplayName - The display name need not be unique and can contain any Unicode characters up to a maximum length of 1024. - DisplayName *string `json:"displayName,omitempty"` - // VMSize - For information about available sizes of virtual machines for Cloud Services pools (pools created with cloudServiceConfiguration), see Sizes for Cloud Services (http://azure.microsoft.com/documentation/articles/cloud-services-sizes-specs/). Batch supports all Cloud Services VM sizes except ExtraSmall, A1V2 and A2V2. For information about available VM sizes for pools using images from the Virtual Machines Marketplace (pools created with virtualMachineConfiguration) see Sizes for Virtual Machines (Linux) (https://azure.microsoft.com/documentation/articles/virtual-machines-linux-sizes/) or Sizes for Virtual Machines (Windows) (https://azure.microsoft.com/documentation/articles/virtual-machines-windows-sizes/). Batch supports all Azure VM sizes except STANDARD_A0 and those with premium storage (STANDARD_GS, STANDARD_DS, and STANDARD_DSV2 series). - VMSize *string `json:"vmSize,omitempty"` - // CloudServiceConfiguration - This property and virtualMachineConfiguration are mutually exclusive and one of the properties must be specified. This property cannot be specified if the Batch account was created with its poolAllocationMode property set to 'UserSubscription'. - CloudServiceConfiguration *CloudServiceConfiguration `json:"cloudServiceConfiguration,omitempty"` - // VirtualMachineConfiguration - This property and cloudServiceConfiguration are mutually exclusive and one of the properties must be specified. - VirtualMachineConfiguration *VirtualMachineConfiguration `json:"virtualMachineConfiguration,omitempty"` - // ResizeTimeout - This timeout applies only to manual scaling; it has no effect when enableAutoScale is set to true. The default value is 15 minutes. The minimum value is 5 minutes. If you specify a value less than 5 minutes, the Batch service returns an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). - ResizeTimeout *string `json:"resizeTimeout,omitempty"` - // TargetDedicatedNodes - This property must not be specified if enableAutoScale is set to true. If enableAutoScale is set to false, then you must set either targetDedicatedNodes, targetLowPriorityNodes, or both. - TargetDedicatedNodes *int32 `json:"targetDedicatedNodes,omitempty"` - // TargetLowPriorityNodes - This property must not be specified if enableAutoScale is set to true. If enableAutoScale is set to false, then you must set either targetDedicatedNodes, targetLowPriorityNodes, or both. - TargetLowPriorityNodes *int32 `json:"targetLowPriorityNodes,omitempty"` - // EnableAutoScale - If false, at least one of targetDedicateNodes and targetLowPriorityNodes must be specified. If true, the autoScaleFormula property is required and the pool automatically resizes according to the formula. The default value is false. - EnableAutoScale *bool `json:"enableAutoScale,omitempty"` - // AutoScaleFormula - This property must not be specified if enableAutoScale is set to false. It is required if enableAutoScale is set to true. The formula is checked for validity before the pool is created. If the formula is not valid, the Batch service rejects the request with detailed error information. For more information about specifying this formula, see 'Automatically scale compute nodes in an Azure Batch pool' (https://azure.microsoft.com/documentation/articles/batch-automatic-scaling/). - AutoScaleFormula *string `json:"autoScaleFormula,omitempty"` - // AutoScaleEvaluationInterval - The default value is 15 minutes. The minimum and maximum value are 5 minutes and 168 hours respectively. If you specify a value less than 5 minutes or greater than 168 hours, the Batch service returns an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). - AutoScaleEvaluationInterval *string `json:"autoScaleEvaluationInterval,omitempty"` - // EnableInterNodeCommunication - Enabling inter-node communication limits the maximum size of the pool due to deployment restrictions on the nodes of the pool. This may result in the pool not reaching its desired size. The default value is false. - EnableInterNodeCommunication *bool `json:"enableInterNodeCommunication,omitempty"` - NetworkConfiguration *NetworkConfiguration `json:"networkConfiguration,omitempty"` - // StartTask - The task runs when the node is added to the pool or when the node is restarted. - StartTask *StartTask `json:"startTask,omitempty"` - // CertificateReferences - For Windows compute nodes, the Batch service installs the certificates to the specified certificate store and location. For Linux compute nodes, the certificates are stored in a directory inside the task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the task to query for this location. For certificates with visibility of 'remoteUser', a 'certs' directory is created in the user's home directory (e.g., /home/{user-name}/certs) and certificates are placed in that directory. - CertificateReferences *[]CertificateReference `json:"certificateReferences,omitempty"` - ApplicationPackageReferences *[]ApplicationPackageReference `json:"applicationPackageReferences,omitempty"` - // ApplicationLicenses - The list of application licenses must be a subset of available Batch service application licenses. If a license is requested which is not supported, pool creation will fail. - ApplicationLicenses *[]string `json:"applicationLicenses,omitempty"` - // MaxTasksPerNode - The default value is 1. The maximum value of this setting depends on the size of the compute nodes in the pool (the vmSize setting). - MaxTasksPerNode *int32 `json:"maxTasksPerNode,omitempty"` - TaskSchedulingPolicy *TaskSchedulingPolicy `json:"taskSchedulingPolicy,omitempty"` - UserAccounts *[]UserAccount `json:"userAccounts,omitempty"` - // Metadata - The Batch service does not assign any meaning to metadata; it is solely for the use of user code. - Metadata *[]MetadataItem `json:"metadata,omitempty"` -} - -// PoolEnableAutoScaleParameter ... -type PoolEnableAutoScaleParameter struct { - // AutoScaleFormula - The formula is checked for validity before it is applied to the pool. If the formula is not valid, the Batch service rejects the request with detailed error information. For more information about specifying this formula, see Automatically scale compute nodes in an Azure Batch pool (https://azure.microsoft.com/en-us/documentation/articles/batch-automatic-scaling). - AutoScaleFormula *string `json:"autoScaleFormula,omitempty"` - // AutoScaleEvaluationInterval - The default value is 15 minutes. The minimum and maximum value are 5 minutes and 168 hours respectively. If you specify a value less than 5 minutes or greater than 168 hours, the Batch service rejects the request with an invalid property value error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). If you specify a new interval, then the existing autoscale evaluation schedule will be stopped and a new autoscale evaluation schedule will be started, with its starting time being the time when this request was issued. - AutoScaleEvaluationInterval *string `json:"autoScaleEvaluationInterval,omitempty"` -} - -// PoolEndpointConfiguration ... -type PoolEndpointConfiguration struct { - // InboundNATPools - The maximum number of inbound NAT pools per Batch pool is 5. If the maximum number of inbound NAT pools is exceeded the request fails with HTTP status code 400. - InboundNATPools *[]InboundNATPool `json:"inboundNATPools,omitempty"` -} - -// PoolEvaluateAutoScaleParameter ... -type PoolEvaluateAutoScaleParameter struct { - // AutoScaleFormula - The formula is validated and its results calculated, but it is not applied to the pool. To apply the formula to the pool, 'Enable automatic scaling on a pool'. For more information about specifying this formula, see Automatically scale compute nodes in an Azure Batch pool (https://azure.microsoft.com/en-us/documentation/articles/batch-automatic-scaling). - AutoScaleFormula *string `json:"autoScaleFormula,omitempty"` -} - -// PoolInformation ... -type PoolInformation struct { - // PoolID - You must ensure that the pool referenced by this property exists. If the pool does not exist at the time the Batch service tries to schedule a job, no tasks for the job will run until you create a pool with that id. Note that the Batch service will not reject the job request; it will simply not run tasks until the pool exists. You must specify either the pool ID or the auto pool specification, but not both. - PoolID *string `json:"poolId,omitempty"` - // AutoPoolSpecification - If auto pool creation fails, the Batch service moves the job to a completed state, and the pool creation error is set in the job's scheduling error property. The Batch service manages the lifetime (both creation and, unless keepAlive is specified, deletion) of the auto pool. Any user actions that affect the lifetime of the auto pool while the job is active will result in unexpected behavior. You must specify either the pool ID or the auto pool specification, but not both. - AutoPoolSpecification *AutoPoolSpecification `json:"autoPoolSpecification,omitempty"` -} - -// PoolListUsageMetricsResult ... -type PoolListUsageMetricsResult struct { - autorest.Response `json:"-"` - Value *[]PoolUsageMetrics `json:"value,omitempty"` - OdataNextLink *string `json:"odata.nextLink,omitempty"` -} - -// PoolListUsageMetricsResultIterator provides access to a complete listing of PoolUsageMetrics values. -type PoolListUsageMetricsResultIterator struct { - i int - page PoolListUsageMetricsResultPage -} - -// Next advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -func (iter *PoolListUsageMetricsResultIterator) Next() error { - iter.i++ - if iter.i < len(iter.page.Values()) { - return nil - } - err := iter.page.Next() - if err != nil { - iter.i-- - return err - } - iter.i = 0 - return nil -} - -// NotDone returns true if the enumeration should be started or is not yet complete. -func (iter PoolListUsageMetricsResultIterator) NotDone() bool { - return iter.page.NotDone() && iter.i < len(iter.page.Values()) -} - -// Response returns the raw server response from the last page request. -func (iter PoolListUsageMetricsResultIterator) Response() PoolListUsageMetricsResult { - return iter.page.Response() -} - -// Value returns the current value or a zero-initialized value if the -// iterator has advanced beyond the end of the collection. -func (iter PoolListUsageMetricsResultIterator) Value() PoolUsageMetrics { - if !iter.page.NotDone() { - return PoolUsageMetrics{} - } - return iter.page.Values()[iter.i] -} - -// IsEmpty returns true if the ListResult contains no values. -func (plumr PoolListUsageMetricsResult) IsEmpty() bool { - return plumr.Value == nil || len(*plumr.Value) == 0 -} - -// poolListUsageMetricsResultPreparer prepares a request to retrieve the next set of results. -// It returns nil if no more results exist. -func (plumr PoolListUsageMetricsResult) poolListUsageMetricsResultPreparer() (*http.Request, error) { - if plumr.OdataNextLink == nil || len(to.String(plumr.OdataNextLink)) < 1 { - return nil, nil - } - return autorest.Prepare(&http.Request{}, - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(plumr.OdataNextLink))) -} - -// PoolListUsageMetricsResultPage contains a page of PoolUsageMetrics values. -type PoolListUsageMetricsResultPage struct { - fn func(PoolListUsageMetricsResult) (PoolListUsageMetricsResult, error) - plumr PoolListUsageMetricsResult -} - -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -func (page *PoolListUsageMetricsResultPage) Next() error { - next, err := page.fn(page.plumr) - if err != nil { - return err - } - page.plumr = next - return nil -} - -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page PoolListUsageMetricsResultPage) NotDone() bool { - return !page.plumr.IsEmpty() -} - -// Response returns the raw server response from the last page request. -func (page PoolListUsageMetricsResultPage) Response() PoolListUsageMetricsResult { - return page.plumr -} - -// Values returns the slice of values for the current page or nil if there are no values. -func (page PoolListUsageMetricsResultPage) Values() []PoolUsageMetrics { - if page.plumr.IsEmpty() { - return nil - } - return *page.plumr.Value -} - -// PoolPatchParameter ... -type PoolPatchParameter struct { - // StartTask - If this element is present, it overwrites any existing start task. If omitted, any existing start task is left unchanged. - StartTask *StartTask `json:"startTask,omitempty"` - // CertificateReferences - If this element is present, it replaces any existing certificate references configured on the pool. If omitted, any existing certificate references are left unchanged. For Windows compute nodes, the Batch service installs the certificates to the specified certificate store and location. For Linux compute nodes, the certificates are stored in a directory inside the task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the task to query for this location. For certificates with visibility of 'remoteUser', a 'certs' directory is created in the user's home directory (e.g., /home/{user-name}/certs) and certificates are placed in that directory. - CertificateReferences *[]CertificateReference `json:"certificateReferences,omitempty"` - // ApplicationPackageReferences - Changes to application package references affect all new compute nodes joining the pool, but do not affect compute nodes that are already in the pool until they are rebooted or reimaged. If this element is present, it replaces any existing application package references. If you specify an empty collection, then all application package references are removed from the pool. If omitted, any existing application package references are left unchanged. - ApplicationPackageReferences *[]ApplicationPackageReference `json:"applicationPackageReferences,omitempty"` - // Metadata - If this element is present, it replaces any existing metadata configured on the pool. If you specify an empty collection, any metadata is removed from the pool. If omitted, any existing metadata is left unchanged. - Metadata *[]MetadataItem `json:"metadata,omitempty"` -} - -// PoolResizeParameter ... -type PoolResizeParameter struct { - TargetDedicatedNodes *int32 `json:"targetDedicatedNodes,omitempty"` - TargetLowPriorityNodes *int32 `json:"targetLowPriorityNodes,omitempty"` - // ResizeTimeout - The default value is 15 minutes. The minimum value is 5 minutes. If you specify a value less than 5 minutes, the Batch service returns an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). - ResizeTimeout *string `json:"resizeTimeout,omitempty"` - // NodeDeallocationOption - The default value is requeue. Possible values include: 'Requeue', 'Terminate', 'TaskCompletion', 'RetainedData' - NodeDeallocationOption ComputeNodeDeallocationOption `json:"nodeDeallocationOption,omitempty"` -} - -// PoolSpecification ... -type PoolSpecification struct { - // DisplayName - The display name need not be unique and can contain any Unicode characters up to a maximum length of 1024. - DisplayName *string `json:"displayName,omitempty"` - // VMSize - For information about available sizes of virtual machines for Cloud Services pools (pools created with cloudServiceConfiguration), see Sizes for Cloud Services (http://azure.microsoft.com/documentation/articles/cloud-services-sizes-specs/). Batch supports all Cloud Services VM sizes except ExtraSmall, A1V2 and A2V2. For information about available VM sizes for pools using images from the Virtual Machines Marketplace (pools created with virtualMachineConfiguration) see Sizes for Virtual Machines (Linux) (https://azure.microsoft.com/documentation/articles/virtual-machines-linux-sizes/) or Sizes for Virtual Machines (Windows) (https://azure.microsoft.com/documentation/articles/virtual-machines-windows-sizes/). Batch supports all Azure VM sizes except STANDARD_A0 and those with premium storage (STANDARD_GS, STANDARD_DS, and STANDARD_DSV2 series). - VMSize *string `json:"vmSize,omitempty"` - // CloudServiceConfiguration - This property must be specified if the pool needs to be created with Azure PaaS VMs. This property and virtualMachineConfiguration are mutually exclusive and one of the properties must be specified. If neither is specified then the Batch service returns an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). This property cannot be specified if the Batch account was created with its poolAllocationMode property set to 'UserSubscription'. - CloudServiceConfiguration *CloudServiceConfiguration `json:"cloudServiceConfiguration,omitempty"` - // VirtualMachineConfiguration - This property must be specified if the pool needs to be created with Azure IaaS VMs. This property and cloudServiceConfiguration are mutually exclusive and one of the properties must be specified. If neither is specified then the Batch service returns an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). - VirtualMachineConfiguration *VirtualMachineConfiguration `json:"virtualMachineConfiguration,omitempty"` - // MaxTasksPerNode - The default value is 1. The maximum value of this setting depends on the size of the compute nodes in the pool (the vmSize setting). - MaxTasksPerNode *int32 `json:"maxTasksPerNode,omitempty"` - TaskSchedulingPolicy *TaskSchedulingPolicy `json:"taskSchedulingPolicy,omitempty"` - // ResizeTimeout - This timeout applies only to manual scaling; it has no effect when enableAutoScale is set to true. The default value is 15 minutes. The minimum value is 5 minutes. If you specify a value less than 5 minutes, the Batch service rejects the request with an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). - ResizeTimeout *string `json:"resizeTimeout,omitempty"` - // TargetDedicatedNodes - This property must not be specified if enableAutoScale is set to true. If enableAutoScale is set to false, then you must set either targetDedicatedNodes, targetLowPriorityNodes, or both. - TargetDedicatedNodes *int32 `json:"targetDedicatedNodes,omitempty"` - // TargetLowPriorityNodes - This property must not be specified if enableAutoScale is set to true. If enableAutoScale is set to false, then you must set either targetDedicatedNodes, targetLowPriorityNodes, or both. - TargetLowPriorityNodes *int32 `json:"targetLowPriorityNodes,omitempty"` - // EnableAutoScale - If false, at least one of targetDedicateNodes and targetLowPriorityNodes must be specified. If true, the autoScaleFormula element is required. The pool automatically resizes according to the formula. The default value is false. - EnableAutoScale *bool `json:"enableAutoScale,omitempty"` - // AutoScaleFormula - This property must not be specified if enableAutoScale is set to false. It is required if enableAutoScale is set to true. The formula is checked for validity before the pool is created. If the formula is not valid, the Batch service rejects the request with detailed error information. - AutoScaleFormula *string `json:"autoScaleFormula,omitempty"` - // AutoScaleEvaluationInterval - The default value is 15 minutes. The minimum and maximum value are 5 minutes and 168 hours respectively. If you specify a value less than 5 minutes or greater than 168 hours, the Batch service rejects the request with an invalid property value error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). - AutoScaleEvaluationInterval *string `json:"autoScaleEvaluationInterval,omitempty"` - // EnableInterNodeCommunication - Enabling inter-node communication limits the maximum size of the pool due to deployment restrictions on the nodes of the pool. This may result in the pool not reaching its desired size. The default value is false. - EnableInterNodeCommunication *bool `json:"enableInterNodeCommunication,omitempty"` - NetworkConfiguration *NetworkConfiguration `json:"networkConfiguration,omitempty"` - StartTask *StartTask `json:"startTask,omitempty"` - // CertificateReferences - For Windows compute nodes, the Batch service installs the certificates to the specified certificate store and location. For Linux compute nodes, the certificates are stored in a directory inside the task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the task to query for this location. For certificates with visibility of 'remoteUser', a 'certs' directory is created in the user's home directory (e.g., /home/{user-name}/certs) and certificates are placed in that directory. - CertificateReferences *[]CertificateReference `json:"certificateReferences,omitempty"` - ApplicationPackageReferences *[]ApplicationPackageReference `json:"applicationPackageReferences,omitempty"` - // ApplicationLicenses - The list of application licenses must be a subset of available Batch service application licenses. If a license is requested which is not supported, pool creation will fail. - ApplicationLicenses *[]string `json:"applicationLicenses,omitempty"` - UserAccounts *[]UserAccount `json:"userAccounts,omitempty"` - // Metadata - The Batch service does not assign any meaning to metadata; it is solely for the use of user code. - Metadata *[]MetadataItem `json:"metadata,omitempty"` -} - -// PoolStatistics ... -type PoolStatistics struct { - autorest.Response `json:"-"` - URL *string `json:"url,omitempty"` - StartTime *date.Time `json:"startTime,omitempty"` - LastUpdateTime *date.Time `json:"lastUpdateTime,omitempty"` - UsageStats *UsageStatistics `json:"usageStats,omitempty"` - ResourceStats *ResourceStatistics `json:"resourceStats,omitempty"` -} - -// PoolUpdatePropertiesParameter ... -type PoolUpdatePropertiesParameter struct { - // StartTask - If this element is present, it overwrites any existing start task. If omitted, any existing start task is removed from the pool. - StartTask *StartTask `json:"startTask,omitempty"` - // CertificateReferences - This list replaces any existing certificate references configured on the pool. If you specify an empty collection, any existing certificate references are removed from the pool. For Windows compute nodes, the Batch service installs the certificates to the specified certificate store and location. For Linux compute nodes, the certificates are stored in a directory inside the task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the task to query for this location. For certificates with visibility of 'remoteUser', a 'certs' directory is created in the user's home directory (e.g., /home/{user-name}/certs) and certificates are placed in that directory. - CertificateReferences *[]CertificateReference `json:"certificateReferences,omitempty"` - // ApplicationPackageReferences - The list replaces any existing application package references on the pool. Changes to application package references affect all new compute nodes joining the pool, but do not affect compute nodes that are already in the pool until they are rebooted or reimaged. If omitted, or if you specify an empty collection, any existing application packages references are removed from the pool. - ApplicationPackageReferences *[]ApplicationPackageReference `json:"applicationPackageReferences,omitempty"` - // Metadata - This list replaces any existing metadata configured on the pool. If omitted, or if you specify an empty collection, any existing metadata is removed from the pool. - Metadata *[]MetadataItem `json:"metadata,omitempty"` -} - -// PoolUpgradeOSParameter ... -type PoolUpgradeOSParameter struct { - TargetOSVersion *string `json:"targetOSVersion,omitempty"` -} - -// PoolUsageMetrics ... -type PoolUsageMetrics struct { - PoolID *string `json:"poolId,omitempty"` - StartTime *date.Time `json:"startTime,omitempty"` - EndTime *date.Time `json:"endTime,omitempty"` - // VMSize - For information about available sizes of virtual machines for Cloud Services pools (pools created with cloudServiceConfiguration), see Sizes for Cloud Services (http://azure.microsoft.com/documentation/articles/cloud-services-sizes-specs/). Batch supports all Cloud Services VM sizes except ExtraSmall, STANDARD_A1_V2 and STANDARD_A2_V2. For information about available VM sizes for pools using images from the Virtual Machines Marketplace (pools created with virtualMachineConfiguration) see Sizes for Virtual Machines (Linux) (https://azure.microsoft.com/documentation/articles/virtual-machines-linux-sizes/) or Sizes for Virtual Machines (Windows) (https://azure.microsoft.com/documentation/articles/virtual-machines-windows-sizes/). Batch supports all Azure VM sizes except STANDARD_A0 and those with premium storage (STANDARD_GS, STANDARD_DS, and STANDARD_DSV2 series). - VMSize *string `json:"vmSize,omitempty"` - TotalCoreHours *float64 `json:"totalCoreHours,omitempty"` - DataIngressGiB *float64 `json:"dataIngressGiB,omitempty"` - DataEgressGiB *float64 `json:"dataEgressGiB,omitempty"` -} - -// ReadCloser ... -type ReadCloser struct { - autorest.Response `json:"-"` - Value *io.ReadCloser `json:"value,omitempty"` -} - -// RecentJob ... -type RecentJob struct { - ID *string `json:"id,omitempty"` - URL *string `json:"url,omitempty"` -} - -// ResizeError ... -type ResizeError struct { - Code *string `json:"code,omitempty"` - Message *string `json:"message,omitempty"` - Values *[]NameValuePair `json:"values,omitempty"` -} - -// ResourceFile ... -type ResourceFile struct { - // BlobSource - This URL must be readable using anonymous access; that is, the Batch service does not present any credentials when downloading the blob. There are two ways to get such a URL for a blob in Azure storage: include a Shared Access Signature (SAS) granting read permissions on the blob, or set the ACL for the blob or its container to allow public access. - BlobSource *string `json:"blobSource,omitempty"` - FilePath *string `json:"filePath,omitempty"` - // FileMode - This property applies only to files being downloaded to Linux compute nodes. It will be ignored if it is specified for a resourceFile which will be downloaded to a Windows node. If this property is not specified for a Linux node, then a default value of 0770 is applied to the file. - FileMode *string `json:"fileMode,omitempty"` -} - -// ResourceStatistics ... -type ResourceStatistics struct { - StartTime *date.Time `json:"startTime,omitempty"` - LastUpdateTime *date.Time `json:"lastUpdateTime,omitempty"` - AvgCPUPercentage *float64 `json:"avgCPUPercentage,omitempty"` - AvgMemoryGiB *float64 `json:"avgMemoryGiB,omitempty"` - PeakMemoryGiB *float64 `json:"peakMemoryGiB,omitempty"` - AvgDiskGiB *float64 `json:"avgDiskGiB,omitempty"` - PeakDiskGiB *float64 `json:"peakDiskGiB,omitempty"` - DiskReadIOps *int64 `json:"diskReadIOps,omitempty"` - DiskWriteIOps *int64 `json:"diskWriteIOps,omitempty"` - DiskReadGiB *float64 `json:"diskReadGiB,omitempty"` - DiskWriteGiB *float64 `json:"diskWriteGiB,omitempty"` - NetworkReadGiB *float64 `json:"networkReadGiB,omitempty"` - NetworkWriteGiB *float64 `json:"networkWriteGiB,omitempty"` -} - -// Schedule ... -type Schedule struct { - // DoNotRunUntil - If you do not specify a doNotRunUntil time, the schedule becomes ready to create jobs immediately. - DoNotRunUntil *date.Time `json:"doNotRunUntil,omitempty"` - // DoNotRunAfter - If you do not specify a doNotRunAfter time, and you are creating a recurring job schedule, the job schedule will remain active until you explicitly terminate it. - DoNotRunAfter *date.Time `json:"doNotRunAfter,omitempty"` - // StartWindow - If a job is not created within the startWindow interval, then the 'opportunity' is lost; no job will be created until the next recurrence of the schedule. If the schedule is recurring, and the startWindow is longer than the recurrence interval, then this is equivalent to an infinite startWindow, because the job that is 'due' in one recurrenceInterval is not carried forward into the next recurrence interval. The default is infinite. The minimum value is 1 minute. If you specify a lower value, the Batch service rejects the schedule with an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). - StartWindow *string `json:"startWindow,omitempty"` - // RecurrenceInterval - Because a job schedule can have at most one active job under it at any given time, if it is time to create a new job under a job schedule, but the previous job is still running, the Batch service will not create the new job until the previous job finishes. If the previous job does not finish within the startWindow period of the new recurrenceInterval, then no new job will be scheduled for that interval. For recurring jobs, you should normally specify a jobManagerTask in the jobSpecification. If you do not use jobManagerTask, you will need an external process to monitor when jobs are created, add tasks to the jobs and terminate the jobs ready for the next recurrence. The default is that the schedule does not recur: one job is created, within the startWindow after the doNotRunUntil time, and the schedule is complete as soon as that job finishes. The minimum value is 1 minute. If you specify a lower value, the Batch service rejects the schedule with an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). - RecurrenceInterval *string `json:"recurrenceInterval,omitempty"` -} - -// StartTask ... -type StartTask struct { - // CommandLine - The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example using "cmd /c MyCommand" in Windows or "/bin/sh -c MyCommand" in Linux. - CommandLine *string `json:"commandLine,omitempty"` - // ResourceFiles - Files listed under this element are located in the task's working directory. - ResourceFiles *[]ResourceFile `json:"resourceFiles,omitempty"` - EnvironmentSettings *[]EnvironmentSetting `json:"environmentSettings,omitempty"` - // UserIdentity - If omitted, the task runs as a non-administrative user unique to the task. - UserIdentity *UserIdentity `json:"userIdentity,omitempty"` - // MaxTaskRetryCount - The Batch service retries a task if its exit code is nonzero. Note that this value specifically controls the number of retries. The Batch service will try the task once, and may then retry up to this limit. For example, if the maximum retry count is 3, Batch tries the task up to 4 times (one initial try and 3 retries). If the maximum retry count is 0, the Batch service does not retry the task. If the maximum retry count is -1, the Batch service retries the task without limit. - MaxTaskRetryCount *int32 `json:"maxTaskRetryCount,omitempty"` - // WaitForSuccess - If true and the start task fails on a compute node, the Batch service retries the start task up to its maximum retry count (maxTaskRetryCount). If the task has still not completed successfully after all retries, then the Batch service marks the compute node unusable, and will not schedule tasks to it. This condition can be detected via the node state and failure info details. If false, the Batch service will not wait for the start task to complete. In this case, other tasks can start executing on the compute node while the start task is still running; and even if the start task fails, new tasks will continue to be scheduled on the node. The default is false. - WaitForSuccess *bool `json:"waitForSuccess,omitempty"` -} - -// StartTaskInformation ... -type StartTaskInformation struct { - // State - Values are: - // running - The start task is currently running. - // completed - The start task has exited with exit code 0, or the start task has failed and the retry limit has reached, or the start task process did not run due to task preparation errors (such as resource file download failures). Possible values include: 'StartTaskStateRunning', 'StartTaskStateCompleted' - State StartTaskState `json:"state,omitempty"` - // StartTime - This value is reset every time the task is restarted or retried (that is, this is the most recent time at which the start task started running). - StartTime *date.Time `json:"startTime,omitempty"` - // EndTime - This is the end time of the most recent run of the start task, if that run has completed (even if that run failed and a retry is pending). This element is not present if the start task is currently running. - EndTime *date.Time `json:"endTime,omitempty"` - // ExitCode - This property is set only if the start task is in the completed state. In general, the exit code for a process reflects the specific convention implemented by the application developer for that process. If you use the exit code value to make decisions in your code, be sure that you know the exit code convention used by the application process. However, if the Batch service terminates the start task (due to timeout, or user termination via the API) you may see an operating system-defined exit code. - ExitCode *int32 `json:"exitCode,omitempty"` - // FailureInfo - This property is set only if the task is in the completed state and encountered a failure. - FailureInfo *TaskFailureInformation `json:"failureInfo,omitempty"` - // RetryCount - Task application failures (non-zero exit code) are retried, pre-processing errors (the task could not be run) and file upload errors are not retried. The Batch service will retry the task up to the limit specified by the constraints. - RetryCount *int32 `json:"retryCount,omitempty"` - // LastRetryTime - This element is present only if the task was retried (i.e. retryCount is nonzero). If present, this is typically the same as startTime, but may be different if the task has been restarted for reasons other than retry; for example, if the compute node was rebooted during a retry, then the startTime is updated but the lastRetryTime is not. - LastRetryTime *date.Time `json:"lastRetryTime,omitempty"` - // Result - If the value is 'failed', then the details of the failure can be found in the failureInfo property. Possible values include: 'Success', 'Failure' - Result TaskExecutionResult `json:"result,omitempty"` -} - -// SubtaskInformation ... -type SubtaskInformation struct { - ID *int32 `json:"id,omitempty"` - NodeInfo *ComputeNodeInformation `json:"nodeInfo,omitempty"` - StartTime *date.Time `json:"startTime,omitempty"` - // EndTime - This property is set only if the subtask is in the Completed state. - EndTime *date.Time `json:"endTime,omitempty"` - // ExitCode - This property is set only if the subtask is in the completed state. In general, the exit code for a process reflects the specific convention implemented by the application developer for that process. If you use the exit code value to make decisions in your code, be sure that you know the exit code convention used by the application process. However, if the Batch service terminates the subtask (due to timeout, or user termination via the API) you may see an operating system-defined exit code. - ExitCode *int32 `json:"exitCode,omitempty"` - // FailureInfo - This property is set only if the task is in the completed state and encountered a failure. - FailureInfo *TaskFailureInformation `json:"failureInfo,omitempty"` - // State - Possible values include: 'SubtaskStatePreparing', 'SubtaskStateRunning', 'SubtaskStateCompleted' - State SubtaskState `json:"state,omitempty"` - StateTransitionTime *date.Time `json:"stateTransitionTime,omitempty"` - // PreviousState - This property is not set if the subtask is in its initial running state. Possible values include: 'SubtaskStatePreparing', 'SubtaskStateRunning', 'SubtaskStateCompleted' - PreviousState SubtaskState `json:"previousState,omitempty"` - // PreviousStateTransitionTime - This property is not set if the subtask is in its initial running state. - PreviousStateTransitionTime *date.Time `json:"previousStateTransitionTime,omitempty"` - // Result - If the value is 'failed', then the details of the failure can be found in the failureInfo property. Possible values include: 'Success', 'Failure' - Result TaskExecutionResult `json:"result,omitempty"` -} - -// TaskAddCollectionParameter ... -type TaskAddCollectionParameter struct { - // Value - The total serialized size of this collection must be less than 4MB. If it is greater than 4MB (for example if each task has 100's of resource files or environment variables), the request will fail with code 'RequestBodyTooLarge' and should be retried again with fewer tasks. - Value *[]TaskAddParameter `json:"value,omitempty"` -} - -// TaskAddCollectionResult ... -type TaskAddCollectionResult struct { - autorest.Response `json:"-"` - Value *[]TaskAddResult `json:"value,omitempty"` -} - -// TaskAddParameter ... -type TaskAddParameter struct { - // ID - The ID can contain any combination of alphanumeric characters including hyphens and underscores, and cannot contain more than 64 characters. The ID is case-preserving and case-insensitive (that is, you may not have two IDs within a job that differ only by case). - ID *string `json:"id,omitempty"` - // DisplayName - The display name need not be unique and can contain any Unicode characters up to a maximum length of 1024. - DisplayName *string `json:"displayName,omitempty"` - // CommandLine - For multi-instance tasks, the command line is executed as the primary task, after the primary task and all subtasks have finished executing the coordination command line. The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example using "cmd /c MyCommand" in Windows or "/bin/sh -c MyCommand" in Linux. - CommandLine *string `json:"commandLine,omitempty"` - // ExitConditions - How the Batch service should respond when the task completes. - ExitConditions *ExitConditions `json:"exitConditions,omitempty"` - // ResourceFiles - For multi-instance tasks, the resource files will only be downloaded to the compute node on which the primary task is executed. - ResourceFiles *[]ResourceFile `json:"resourceFiles,omitempty"` - // OutputFiles - For multi-instance tasks, the files will only be uploaded from the compute node on which the primary task is executed. - OutputFiles *[]OutputFile `json:"outputFiles,omitempty"` - EnvironmentSettings *[]EnvironmentSetting `json:"environmentSettings,omitempty"` - AffinityInfo *AffinityInformation `json:"affinityInfo,omitempty"` - // Constraints - If you do not specify constraints, the maxTaskRetryCount is the maxTaskRetryCount specified for the job, and the maxWallClockTime and retentionTime are infinite. - Constraints *TaskConstraints `json:"constraints,omitempty"` - // UserIdentity - If omitted, the task runs as a non-administrative user unique to the task. - UserIdentity *UserIdentity `json:"userIdentity,omitempty"` - MultiInstanceSettings *MultiInstanceSettings `json:"multiInstanceSettings,omitempty"` - // DependsOn - This task will not be scheduled until all tasks that it depends on have completed successfully. If any of those tasks fail and exhaust their retry counts, this task will never be scheduled. If the job does not have usesTaskDependencies set to true, and this element is present, the request fails with error code TaskDependenciesNotSpecifiedOnJob. - DependsOn *TaskDependencies `json:"dependsOn,omitempty"` - // ApplicationPackageReferences - Application packages are downloaded and deployed to a shared directory, not the task working directory. Therefore, if a referenced package is already on the compute node, and is up to date, then it is not re-downloaded; the existing copy on the compute node is used. If a referenced application package cannot be installed, for example because the package has been deleted or because download failed, the task fails. - ApplicationPackageReferences *[]ApplicationPackageReference `json:"applicationPackageReferences,omitempty"` - // AuthenticationTokenSettings - If this property is set, the Batch service provides the task with an authentication token which can be used to authenticate Batch service operations without requiring an account access key. The token is provided via the AZ_BATCH_AUTHENTICATION_TOKEN environment variable. The operations that the task can carry out using the token depend on the settings. For example, a task can request job permissions in order to add other tasks to the job, or check the status of the job or of other tasks under the job. - AuthenticationTokenSettings *AuthenticationTokenSettings `json:"authenticationTokenSettings,omitempty"` -} - -// TaskAddResult ... -type TaskAddResult struct { - // Status - Values are: - // success - Task was added successfully. - // clienterror - Task failed to add due to a client error and should not be retried without modifying the request as appropriate. - // servererror - Task failed to add due to a server error and can be retried without modification. Possible values include: 'TaskAddStatusSuccess', 'TaskAddStatusClientError', 'TaskAddStatusServerError' - Status TaskAddStatus `json:"status,omitempty"` - TaskID *string `json:"taskId,omitempty"` - // ETag - You can use this to detect whether the task has changed between requests. In particular, you can be pass the ETag with an Update Task request to specify that your changes should take effect only if nobody else has modified the job in the meantime. - ETag *string `json:"eTag,omitempty"` - LastModified *date.Time `json:"lastModified,omitempty"` - Location *string `json:"location,omitempty"` - Error *Error `json:"error,omitempty"` -} - -// TaskConstraints ... -type TaskConstraints struct { - // MaxWallClockTime - If this is not specified, there is no time limit on how long the task may run. - MaxWallClockTime *string `json:"maxWallClockTime,omitempty"` - // RetentionTime - The default is infinite, i.e. the task directory will be retained until the compute node is removed or reimaged. - RetentionTime *string `json:"retentionTime,omitempty"` - // MaxTaskRetryCount - Note that this value specifically controls the number of retries. The Batch service will try the task once, and may then retry up to this limit. For example, if the maximum retry count is 3, Batch tries the task up to 4 times (one initial try and 3 retries). If the maximum retry count is 0, the Batch service does not retry the task. If the maximum retry count is -1, the Batch service retries the task without limit. - MaxTaskRetryCount *int32 `json:"maxTaskRetryCount,omitempty"` -} - -// TaskCounts ... -type TaskCounts struct { - autorest.Response `json:"-"` - Active *int32 `json:"active,omitempty"` - Running *int32 `json:"running,omitempty"` - Completed *int32 `json:"completed,omitempty"` - Succeeded *int32 `json:"succeeded,omitempty"` - Failed *int32 `json:"failed,omitempty"` - // ValidationStatus - If the validationStatus is unvalidated, then the Batch service has not been able to check state counts against the task states as reported in the List Tasks API. The validationStatus may be unvalidated if the job contains more than 200,000 tasks. Possible values include: 'Validated', 'Unvalidated' - ValidationStatus TaskCountValidationStatus `json:"validationStatus,omitempty"` -} - -// TaskDependencies ... -type TaskDependencies struct { - // TaskIds - The taskIds collection is limited to 64000 characters total (i.e. the combined length of all task IDs). If the taskIds collection exceeds the maximum length, the Add Task request fails with error code TaskDependencyListTooLong. In this case consider using task ID ranges instead. - TaskIds *[]string `json:"taskIds,omitempty"` - TaskIDRanges *[]TaskIDRange `json:"taskIdRanges,omitempty"` -} - -// TaskExecutionInformation ... -type TaskExecutionInformation struct { - // StartTime - 'Running' corresponds to the running state, so if the task specifies resource files or application packages, then the start time reflects the time at which the task started downloading or deploying these. If the task has been restarted or retried, this is the most recent time at which the task started running. This property is present only for tasks that are in the running or completed state. - StartTime *date.Time `json:"startTime,omitempty"` - // EndTime - This property is set only if the task is in the Completed state. - EndTime *date.Time `json:"endTime,omitempty"` - // ExitCode - This property is set only if the task is in the completed state. In general, the exit code for a process reflects the specific convention implemented by the application developer for that process. If you use the exit code value to make decisions in your code, be sure that you know the exit code convention used by the application process. However, if the Batch service terminates the task (due to timeout, or user termination via the API) you may see an operating system-defined exit code. - ExitCode *int32 `json:"exitCode,omitempty"` - // FailureInfo - This property is set only if the task is in the completed state and encountered a failure. - FailureInfo *TaskFailureInformation `json:"failureInfo,omitempty"` - // RetryCount - Task application failures (non-zero exit code) are retried, pre-processing errors (the task could not be run) and file upload errors are not retried. The Batch service will retry the task up to the limit specified by the constraints. - RetryCount *int32 `json:"retryCount,omitempty"` - // LastRetryTime - This element is present only if the task was retried (i.e. retryCount is nonzero). If present, this is typically the same as startTime, but may be different if the task has been restarted for reasons other than retry; for example, if the compute node was rebooted during a retry, then the startTime is updated but the lastRetryTime is not. - LastRetryTime *date.Time `json:"lastRetryTime,omitempty"` - // RequeueCount - When the user removes nodes from a pool (by resizing/shrinking the pool) or when the job is being disabled, the user can specify that running tasks on the nodes be requeued for execution. This count tracks how many times the task has been requeued for these reasons. - RequeueCount *int32 `json:"requeueCount,omitempty"` - // LastRequeueTime - This property is set only if the requeueCount is nonzero. - LastRequeueTime *date.Time `json:"lastRequeueTime,omitempty"` - // Result - If the value is 'failed', then the details of the failure can be found in the failureInfo property. Possible values include: 'Success', 'Failure' - Result TaskExecutionResult `json:"result,omitempty"` -} - -// TaskFailureInformation ... -type TaskFailureInformation struct { - // Category - Possible values include: 'UserError', 'ServerError' - Category ErrorCategory `json:"category,omitempty"` - Code *string `json:"code,omitempty"` - Message *string `json:"message,omitempty"` - Details *[]NameValuePair `json:"details,omitempty"` -} - -// TaskIDRange the start and end of the range are inclusive. For example, if a range has start 9 and end 12, then -// it represents tasks '9', '10', '11' and '12'. -type TaskIDRange struct { - Start *int32 `json:"start,omitempty"` - End *int32 `json:"end,omitempty"` -} - -// TaskInformation ... -type TaskInformation struct { - TaskURL *string `json:"taskUrl,omitempty"` - JobID *string `json:"jobId,omitempty"` - TaskID *string `json:"taskId,omitempty"` - SubtaskID *int32 `json:"subtaskId,omitempty"` - // TaskState - Possible values include: 'TaskStateActive', 'TaskStatePreparing', 'TaskStateRunning', 'TaskStateCompleted' - TaskState TaskState `json:"taskState,omitempty"` - ExecutionInfo *TaskExecutionInformation `json:"executionInfo,omitempty"` -} - -// TaskSchedulingPolicy ... -type TaskSchedulingPolicy struct { - // NodeFillType - Possible values include: 'Spread', 'Pack' - NodeFillType ComputeNodeFillType `json:"nodeFillType,omitempty"` -} - -// TaskStatistics ... -type TaskStatistics struct { - URL *string `json:"url,omitempty"` - StartTime *date.Time `json:"startTime,omitempty"` - LastUpdateTime *date.Time `json:"lastUpdateTime,omitempty"` - UserCPUTime *string `json:"userCPUTime,omitempty"` - KernelCPUTime *string `json:"kernelCPUTime,omitempty"` - // WallClockTime - The wall clock time is the elapsed time from when the task started running on a compute node to when it finished (or to the last time the statistics were updated, if the task had not finished by then). If the task was retried, this includes the wall clock time of all the task retries. - WallClockTime *string `json:"wallClockTime,omitempty"` - ReadIOps *int64 `json:"readIOps,omitempty"` - WriteIOps *int64 `json:"writeIOps,omitempty"` - ReadIOGiB *float64 `json:"readIOGiB,omitempty"` - WriteIOGiB *float64 `json:"writeIOGiB,omitempty"` - WaitTime *string `json:"waitTime,omitempty"` -} - -// TaskUpdateParameter ... -type TaskUpdateParameter struct { - // Constraints - If omitted, the task is given the default constraints. For multi-instance tasks, updating the retention time applies only to the primary task and not subtasks. - Constraints *TaskConstraints `json:"constraints,omitempty"` -} - -// UsageStatistics ... -type UsageStatistics struct { - StartTime *date.Time `json:"startTime,omitempty"` - LastUpdateTime *date.Time `json:"lastUpdateTime,omitempty"` - DedicatedCoreTime *string `json:"dedicatedCoreTime,omitempty"` -} - -// UserAccount ... -type UserAccount struct { - Name *string `json:"name,omitempty"` - Password *string `json:"password,omitempty"` - // ElevationLevel - nonAdmin - The auto user is a standard user without elevated access. admin - The auto user is a user with elevated access and operates with full Administrator permissions. The default value is nonAdmin. Possible values include: 'NonAdmin', 'Admin' - ElevationLevel ElevationLevel `json:"elevationLevel,omitempty"` - // LinuxUserConfiguration - This property is ignored if specified on a Windows pool. If not specified, the user is created with the default options. - LinuxUserConfiguration *LinuxUserConfiguration `json:"linuxUserConfiguration,omitempty"` -} - -// UserIdentity specify either the userName or autoUser property, but not both. -type UserIdentity struct { - // UserName - The userName and autoUser properties are mutually exclusive; you must specify one but not both. - UserName *string `json:"username,omitempty"` - // AutoUser - The userName and autoUser properties are mutually exclusive; you must specify one but not both. - AutoUser *AutoUserSpecification `json:"autoUser,omitempty"` -} - -// VirtualMachineConfiguration ... -type VirtualMachineConfiguration struct { - // ImageReference - This property and osDisk are mutually exclusive and one of the properties must be specified. - ImageReference *ImageReference `json:"imageReference,omitempty"` - // OsDisk - This property can be specified only if the Batch account was created with its poolAllocationMode property set to 'UserSubscription'. This property and imageReference are mutually exclusive and one of the properties must be specified. - OsDisk *OSDisk `json:"osDisk,omitempty"` - // NodeAgentSKUID - The Batch node agent is a program that runs on each node in the pool, and provides the command-and-control interface between the node and the Batch service. There are different implementations of the node agent, known as SKUs, for different operating systems. You must specify a node agent SKU which matches the selected image reference. To get the list of supported node agent SKUs along with their list of verified image references, see the 'List supported node agent SKUs' operation. - NodeAgentSKUID *string `json:"nodeAgentSKUId,omitempty"` - // WindowsConfiguration - This property must not be specified if the imageReference or osDisk property specifies a Linux OS image. - WindowsConfiguration *WindowsConfiguration `json:"windowsConfiguration,omitempty"` -} - -// WindowsConfiguration ... -type WindowsConfiguration struct { - // EnableAutomaticUpdates - If omitted, the default value is true. - EnableAutomaticUpdates *bool `json:"enableAutomaticUpdates,omitempty"` -} diff --git a/services/batch/2017-06-01.5.1/batch/pool.go b/services/batch/2017-06-01.5.1/batch/pool.go deleted file mode 100644 index e24802b02cab..000000000000 --- a/services/batch/2017-06-01.5.1/batch/pool.go +++ /dev/null @@ -1,1884 +0,0 @@ -package batch - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/autorest/date" - "github.com/Azure/go-autorest/autorest/validation" - "github.com/satori/go.uuid" - "net/http" -) - -// PoolClient is the a client for issuing REST requests to the Azure Batch service. -type PoolClient struct { - BaseClient -} - -// NewPoolClient creates an instance of the PoolClient client. -func NewPoolClient() PoolClient { - return NewPoolClientWithBaseURI(DefaultBaseURI) -} - -// NewPoolClientWithBaseURI creates an instance of the PoolClient client. -func NewPoolClientWithBaseURI(baseURI string) PoolClient { - return PoolClient{NewWithBaseURI(baseURI)} -} - -// Add when naming pools, avoid including sensitive information such as user names or secret project names. This -// information may appear in telemetry logs accessible to Microsoft Support engineers. -// -// pool is the pool to be added. timeout is the maximum time that the server can spend processing the request, in -// seconds. The default is 30 seconds. clientRequestID is the caller-generated request identity, in the form of a -// GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID -// is whether the server should return the client-request-id in the response. ocpDate is the time the request was -// issued. Client libraries typically set this to the current system clock time; set it explicitly if you are -// calling the REST API directly. -func (client PoolClient) Add(ctx context.Context, pool PoolAddParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: pool, - Constraints: []validation.Constraint{{Target: "pool.ID", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "pool.VMSize", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "pool.CloudServiceConfiguration", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "pool.CloudServiceConfiguration.OsFamily", Name: validation.Null, Rule: true, Chain: nil}}}, - {Target: "pool.VirtualMachineConfiguration", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "pool.VirtualMachineConfiguration.ImageReference", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "pool.VirtualMachineConfiguration.ImageReference.Publisher", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "pool.VirtualMachineConfiguration.ImageReference.Offer", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "pool.VirtualMachineConfiguration.ImageReference.Sku", Name: validation.Null, Rule: true, Chain: nil}, - }}, - {Target: "pool.VirtualMachineConfiguration.OsDisk", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "pool.VirtualMachineConfiguration.OsDisk.ImageUris", Name: validation.Null, Rule: true, Chain: nil}}}, - {Target: "pool.VirtualMachineConfiguration.NodeAgentSKUID", Name: validation.Null, Rule: true, Chain: nil}, - }}, - {Target: "pool.NetworkConfiguration", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "pool.NetworkConfiguration.EndpointConfiguration", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "pool.NetworkConfiguration.EndpointConfiguration.InboundNATPools", Name: validation.Null, Rule: true, Chain: nil}}}, - }}, - {Target: "pool.StartTask", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "pool.StartTask.CommandLine", Name: validation.Null, Rule: true, Chain: nil}}}}}}); err != nil { - return result, validation.NewError("batch.PoolClient", "Add", err.Error()) - } - - req, err := client.AddPreparer(ctx, pool, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Add", nil, "Failure preparing request") - return - } - - resp, err := client.AddSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Add", resp, "Failure sending request") - return - } - - result, err = client.AddResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Add", resp, "Failure responding to request") - } - - return -} - -// AddPreparer prepares the Add request. -func (client PoolClient) AddPreparer(ctx context.Context, pool PoolAddParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - const APIVersion = "2017-06-01.5.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPath("/pools"), - autorest.WithJSON(pool), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// AddSender sends the Add request. The method will close the -// http.Response Body if it receives an error. -func (client PoolClient) AddSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// AddResponder handles the response to the Add request. The method always -// closes the http.Response Body. -func (client PoolClient) AddResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), - autorest.ByClosing()) - result.Response = resp - return -} - -// Delete when you request that a pool be deleted, the following actions occur: the pool state is set to deleting; any -// ongoing resize operation on the pool are stopped; the Batch service starts resizing the pool to zero nodes; any -// tasks running on existing nodes are terminated and requeued (as if a resize pool operation had been requested with -// the default requeue option); finally, the pool is removed from the system. Because running tasks are requeued, the -// user can rerun these tasks by updating their job to target a different pool. The tasks can then run on the new pool. -// If you want to override the requeue behavior, then you should call resize pool explicitly to shrink the pool to zero -// size before deleting the pool. If you call an Update, Patch or Delete API on a pool in the deleting state, it will -// fail with HTTP status code 409 with error code PoolBeingDeleted. -// -// poolID is the ID of the pool to delete. timeout is the maximum time that the server can spend processing the -// request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated request identity, in the -// form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. -// returnClientRequestID is whether the server should return the client-request-id in the response. ocpDate is the -// time the request was issued. Client libraries typically set this to the current system clock time; set it -// explicitly if you are calling the REST API directly. ifMatch is an ETag value associated with the version of the -// resource known to the client. The operation will be performed only if the resource's current ETag on the service -// exactly matches the value specified by the client. ifNoneMatch is an ETag value associated with the version of -// the resource known to the client. The operation will be performed only if the resource's current ETag on the -// service does not match the value specified by the client. ifModifiedSince is a timestamp indicating the last -// modified time of the resource known to the client. The operation will be performed only if the resource on the -// service has been modified since the specified time. ifUnmodifiedSince is a timestamp indicating the last -// modified time of the resource known to the client. The operation will be performed only if the resource on the -// service has not been modified since the specified time. -func (client PoolClient) Delete(ctx context.Context, poolID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.DeletePreparer(ctx, poolID, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Delete", nil, "Failure preparing request") - return - } - - resp, err := client.DeleteSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Delete", resp, "Failure sending request") - return - } - - result, err = client.DeleteResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Delete", resp, "Failure responding to request") - } - - return -} - -// DeletePreparer prepares the Delete request. -func (client PoolClient) DeletePreparer(ctx context.Context, poolID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2017-06-01.5.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsDelete(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DeleteSender sends the Delete request. The method will close the -// http.Response Body if it receives an error. -func (client PoolClient) DeleteSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// DeleteResponder handles the response to the Delete request. The method always -// closes the http.Response Body. -func (client PoolClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByClosing()) - result.Response = resp - return -} - -// DisableAutoScale sends the disable auto scale request. -// -// poolID is the ID of the pool on which to disable automatic scaling. timeout is the maximum time that the server -// can spend processing the request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated -// request identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. -func (client PoolClient) DisableAutoScale(ctx context.Context, poolID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.DisableAutoScalePreparer(ctx, poolID, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "DisableAutoScale", nil, "Failure preparing request") - return - } - - resp, err := client.DisableAutoScaleSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.PoolClient", "DisableAutoScale", resp, "Failure sending request") - return - } - - result, err = client.DisableAutoScaleResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "DisableAutoScale", resp, "Failure responding to request") - } - - return -} - -// DisableAutoScalePreparer prepares the DisableAutoScale request. -func (client PoolClient) DisableAutoScalePreparer(ctx context.Context, poolID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2017-06-01.5.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/disableautoscale", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DisableAutoScaleSender sends the DisableAutoScale request. The method will close the -// http.Response Body if it receives an error. -func (client PoolClient) DisableAutoScaleSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// DisableAutoScaleResponder handles the response to the DisableAutoScale request. The method always -// closes the http.Response Body. -func (client PoolClient) DisableAutoScaleResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} - -// EnableAutoScale you cannot enable automatic scaling on a pool if a resize operation is in progress on the pool. If -// automatic scaling of the pool is currently disabled, you must specify a valid autoscale formula as part of the -// request. If automatic scaling of the pool is already enabled, you may specify a new autoscale formula and/or a new -// evaluation interval. You cannot call this API for the same pool more than once every 30 seconds. -// -// poolID is the ID of the pool on which to enable automatic scaling. poolEnableAutoScaleParameter is the -// parameters for the request. timeout is the maximum time that the server can spend processing the request, in -// seconds. The default is 30 seconds. clientRequestID is the caller-generated request identity, in the form of a -// GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID -// is whether the server should return the client-request-id in the response. ocpDate is the time the request was -// issued. Client libraries typically set this to the current system clock time; set it explicitly if you are -// calling the REST API directly. ifMatch is an ETag value associated with the version of the resource known to the -// client. The operation will be performed only if the resource's current ETag on the service exactly matches the -// value specified by the client. ifNoneMatch is an ETag value associated with the version of the resource known to -// the client. The operation will be performed only if the resource's current ETag on the service does not match -// the value specified by the client. ifModifiedSince is a timestamp indicating the last modified time of the -// resource known to the client. The operation will be performed only if the resource on the service has been -// modified since the specified time. ifUnmodifiedSince is a timestamp indicating the last modified time of the -// resource known to the client. The operation will be performed only if the resource on the service has not been -// modified since the specified time. -func (client PoolClient) EnableAutoScale(ctx context.Context, poolID string, poolEnableAutoScaleParameter PoolEnableAutoScaleParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.EnableAutoScalePreparer(ctx, poolID, poolEnableAutoScaleParameter, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "EnableAutoScale", nil, "Failure preparing request") - return - } - - resp, err := client.EnableAutoScaleSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.PoolClient", "EnableAutoScale", resp, "Failure sending request") - return - } - - result, err = client.EnableAutoScaleResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "EnableAutoScale", resp, "Failure responding to request") - } - - return -} - -// EnableAutoScalePreparer prepares the EnableAutoScale request. -func (client PoolClient) EnableAutoScalePreparer(ctx context.Context, poolID string, poolEnableAutoScaleParameter PoolEnableAutoScaleParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2017-06-01.5.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/enableautoscale", pathParameters), - autorest.WithJSON(poolEnableAutoScaleParameter), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// EnableAutoScaleSender sends the EnableAutoScale request. The method will close the -// http.Response Body if it receives an error. -func (client PoolClient) EnableAutoScaleSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// EnableAutoScaleResponder handles the response to the EnableAutoScale request. The method always -// closes the http.Response Body. -func (client PoolClient) EnableAutoScaleResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} - -// EvaluateAutoScale this API is primarily for validating an autoscale formula, as it simply returns the result without -// applying the formula to the pool. The pool must have auto scaling enabled in order to evaluate a formula. -// -// poolID is the ID of the pool on which to evaluate the automatic scaling formula. poolEvaluateAutoScaleParameter -// is the parameters for the request. timeout is the maximum time that the server can spend processing the request, -// in seconds. The default is 30 seconds. clientRequestID is the caller-generated request identity, in the form of -// a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID -// is whether the server should return the client-request-id in the response. ocpDate is the time the request was -// issued. Client libraries typically set this to the current system clock time; set it explicitly if you are -// calling the REST API directly. -func (client PoolClient) EvaluateAutoScale(ctx context.Context, poolID string, poolEvaluateAutoScaleParameter PoolEvaluateAutoScaleParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result AutoScaleRun, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: poolEvaluateAutoScaleParameter, - Constraints: []validation.Constraint{{Target: "poolEvaluateAutoScaleParameter.AutoScaleFormula", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { - return result, validation.NewError("batch.PoolClient", "EvaluateAutoScale", err.Error()) - } - - req, err := client.EvaluateAutoScalePreparer(ctx, poolID, poolEvaluateAutoScaleParameter, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "EvaluateAutoScale", nil, "Failure preparing request") - return - } - - resp, err := client.EvaluateAutoScaleSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.PoolClient", "EvaluateAutoScale", resp, "Failure sending request") - return - } - - result, err = client.EvaluateAutoScaleResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "EvaluateAutoScale", resp, "Failure responding to request") - } - - return -} - -// EvaluateAutoScalePreparer prepares the EvaluateAutoScale request. -func (client PoolClient) EvaluateAutoScalePreparer(ctx context.Context, poolID string, poolEvaluateAutoScaleParameter PoolEvaluateAutoScaleParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2017-06-01.5.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/evaluateautoscale", pathParameters), - autorest.WithJSON(poolEvaluateAutoScaleParameter), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// EvaluateAutoScaleSender sends the EvaluateAutoScale request. The method will close the -// http.Response Body if it receives an error. -func (client PoolClient) EvaluateAutoScaleSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// EvaluateAutoScaleResponder handles the response to the EvaluateAutoScale request. The method always -// closes the http.Response Body. -func (client PoolClient) EvaluateAutoScaleResponder(resp *http.Response) (result AutoScaleRun, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// Exists gets basic properties of a pool. -// -// poolID is the ID of the pool to get. timeout is the maximum time that the server can spend processing the -// request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated request identity, in the -// form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. -// returnClientRequestID is whether the server should return the client-request-id in the response. ocpDate is the -// time the request was issued. Client libraries typically set this to the current system clock time; set it -// explicitly if you are calling the REST API directly. ifMatch is an ETag value associated with the version of the -// resource known to the client. The operation will be performed only if the resource's current ETag on the service -// exactly matches the value specified by the client. ifNoneMatch is an ETag value associated with the version of -// the resource known to the client. The operation will be performed only if the resource's current ETag on the -// service does not match the value specified by the client. ifModifiedSince is a timestamp indicating the last -// modified time of the resource known to the client. The operation will be performed only if the resource on the -// service has been modified since the specified time. ifUnmodifiedSince is a timestamp indicating the last -// modified time of the resource known to the client. The operation will be performed only if the resource on the -// service has not been modified since the specified time. -func (client PoolClient) Exists(ctx context.Context, poolID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.ExistsPreparer(ctx, poolID, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Exists", nil, "Failure preparing request") - return - } - - resp, err := client.ExistsSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Exists", resp, "Failure sending request") - return - } - - result, err = client.ExistsResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Exists", resp, "Failure responding to request") - } - - return -} - -// ExistsPreparer prepares the Exists request. -func (client PoolClient) ExistsPreparer(ctx context.Context, poolID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2017-06-01.5.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsHead(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ExistsSender sends the Exists request. The method will close the -// http.Response Body if it receives an error. -func (client PoolClient) ExistsSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ExistsResponder handles the response to the Exists request. The method always -// closes the http.Response Body. -func (client PoolClient) ExistsResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), - autorest.ByClosing()) - result.Response = resp - return -} - -// Get gets information about the specified pool. -// -// poolID is the ID of the pool to get. selectParameter is an OData $select clause. expand is an OData $expand -// clause. timeout is the maximum time that the server can spend processing the request, in seconds. The default is -// 30 seconds. clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration -// such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server -// should return the client-request-id in the response. ocpDate is the time the request was issued. Client -// libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API -// directly. ifMatch is an ETag value associated with the version of the resource known to the client. The -// operation will be performed only if the resource's current ETag on the service exactly matches the value -// specified by the client. ifNoneMatch is an ETag value associated with the version of the resource known to the -// client. The operation will be performed only if the resource's current ETag on the service does not match the -// value specified by the client. ifModifiedSince is a timestamp indicating the last modified time of the resource -// known to the client. The operation will be performed only if the resource on the service has been modified since -// the specified time. ifUnmodifiedSince is a timestamp indicating the last modified time of the resource known to -// the client. The operation will be performed only if the resource on the service has not been modified since the -// specified time. -func (client PoolClient) Get(ctx context.Context, poolID string, selectParameter string, expand string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result CloudPool, err error) { - req, err := client.GetPreparer(ctx, poolID, selectParameter, expand, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Get", nil, "Failure preparing request") - return - } - - resp, err := client.GetSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Get", resp, "Failure sending request") - return - } - - result, err = client.GetResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Get", resp, "Failure responding to request") - } - - return -} - -// GetPreparer prepares the Get request. -func (client PoolClient) GetPreparer(ctx context.Context, poolID string, selectParameter string, expand string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2017-06-01.5.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(selectParameter) > 0 { - queryParameters["$select"] = autorest.Encode("query", selectParameter) - } - if len(expand) > 0 { - queryParameters["$expand"] = autorest.Encode("query", expand) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetSender sends the Get request. The method will close the -// http.Response Body if it receives an error. -func (client PoolClient) GetSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// GetResponder handles the response to the Get request. The method always -// closes the http.Response Body. -func (client PoolClient) GetResponder(resp *http.Response) (result CloudPool, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// GetAllLifetimeStatistics statistics are aggregated across all pools that have ever existed in the account, from -// account creation to the last update time of the statistics. -// -// timeout is the maximum time that the server can spend processing the request, in seconds. The default is 30 -// seconds. clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such -// as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should -// return the client-request-id in the response. ocpDate is the time the request was issued. Client libraries -// typically set this to the current system clock time; set it explicitly if you are calling the REST API directly. -func (client PoolClient) GetAllLifetimeStatistics(ctx context.Context, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result PoolStatistics, err error) { - req, err := client.GetAllLifetimeStatisticsPreparer(ctx, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "GetAllLifetimeStatistics", nil, "Failure preparing request") - return - } - - resp, err := client.GetAllLifetimeStatisticsSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.PoolClient", "GetAllLifetimeStatistics", resp, "Failure sending request") - return - } - - result, err = client.GetAllLifetimeStatisticsResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "GetAllLifetimeStatistics", resp, "Failure responding to request") - } - - return -} - -// GetAllLifetimeStatisticsPreparer prepares the GetAllLifetimeStatistics request. -func (client PoolClient) GetAllLifetimeStatisticsPreparer(ctx context.Context, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - const APIVersion = "2017-06-01.5.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPath("/lifetimepoolstats"), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetAllLifetimeStatisticsSender sends the GetAllLifetimeStatistics request. The method will close the -// http.Response Body if it receives an error. -func (client PoolClient) GetAllLifetimeStatisticsSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// GetAllLifetimeStatisticsResponder handles the response to the GetAllLifetimeStatistics request. The method always -// closes the http.Response Body. -func (client PoolClient) GetAllLifetimeStatisticsResponder(resp *http.Response) (result PoolStatistics, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// List sends the list request. -// -// filter is an OData $filter clause. selectParameter is an OData $select clause. expand is an OData $expand -// clause. maxResults is the maximum number of items to return in the response. A maximum of 1000 pools can be -// returned. timeout is the maximum time that the server can spend processing the request, in seconds. The default -// is 30 seconds. clientRequestID is the caller-generated request identity, in the form of a GUID with no -// decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the -// server should return the client-request-id in the response. ocpDate is the time the request was issued. Client -// libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API -// directly. -func (client PoolClient) List(ctx context.Context, filter string, selectParameter string, expand string, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result CloudPoolListResultPage, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: maxResults, - Constraints: []validation.Constraint{{Target: "maxResults", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "maxResults", Name: validation.InclusiveMaximum, Rule: 1000, Chain: nil}, - {Target: "maxResults", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}, - }}}}}); err != nil { - return result, validation.NewError("batch.PoolClient", "List", err.Error()) - } - - result.fn = client.listNextResults - req, err := client.ListPreparer(ctx, filter, selectParameter, expand, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "List", nil, "Failure preparing request") - return - } - - resp, err := client.ListSender(req) - if err != nil { - result.cplr.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.PoolClient", "List", resp, "Failure sending request") - return - } - - result.cplr, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "List", resp, "Failure responding to request") - } - - return -} - -// ListPreparer prepares the List request. -func (client PoolClient) ListPreparer(ctx context.Context, filter string, selectParameter string, expand string, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - const APIVersion = "2017-06-01.5.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(filter) > 0 { - queryParameters["$filter"] = autorest.Encode("query", filter) - } - if len(selectParameter) > 0 { - queryParameters["$select"] = autorest.Encode("query", selectParameter) - } - if len(expand) > 0 { - queryParameters["$expand"] = autorest.Encode("query", expand) - } - if maxResults != nil { - queryParameters["maxresults"] = autorest.Encode("query", *maxResults) - } else { - queryParameters["maxresults"] = autorest.Encode("query", 1000) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPath("/pools"), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListSender sends the List request. The method will close the -// http.Response Body if it receives an error. -func (client PoolClient) ListSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ListResponder handles the response to the List request. The method always -// closes the http.Response Body. -func (client PoolClient) ListResponder(resp *http.Response) (result CloudPoolListResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listNextResults retrieves the next set of results, if any. -func (client PoolClient) listNextResults(lastResults CloudPoolListResult) (result CloudPoolListResult, err error) { - req, err := lastResults.cloudPoolListResultPreparer() - if err != nil { - return result, autorest.NewErrorWithError(err, "batch.PoolClient", "listNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "batch.PoolClient", "listNextResults", resp, "Failure sending next results request") - } - result, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "listNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListComplete enumerates all values, automatically crossing page boundaries as required. -func (client PoolClient) ListComplete(ctx context.Context, filter string, selectParameter string, expand string, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result CloudPoolListResultIterator, err error) { - result.page, err = client.List(ctx, filter, selectParameter, expand, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - return -} - -// ListUsageMetrics if you do not specify a $filter clause including a poolId, the response includes all pools that -// existed in the account in the time range of the returned aggregation intervals. If you do not specify a $filter -// clause including a startTime or endTime these filters default to the start and end times of the last aggregation -// interval currently available; that is, only the last aggregation interval is returned. -// -// startTime is the earliest time from which to include metrics. This must be at least two and a half hours before -// the current time. If not specified this defaults to the start time of the last aggregation interval currently -// available. endTime is the latest time from which to include metrics. This must be at least two hours before the -// current time. If not specified this defaults to the end time of the last aggregation interval currently -// available. filter is an OData $filter clause. If this is not specified the response includes all pools that -// existed in the account in the time range of the returned aggregation intervals. maxResults is the maximum number -// of items to return in the response. A maximum of 1000 results will be returned. timeout is the maximum time that -// the server can spend processing the request, in seconds. The default is 30 seconds. clientRequestID is the -// caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. -func (client PoolClient) ListUsageMetrics(ctx context.Context, startTime *date.Time, endTime *date.Time, filter string, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result PoolListUsageMetricsResultPage, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: maxResults, - Constraints: []validation.Constraint{{Target: "maxResults", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "maxResults", Name: validation.InclusiveMaximum, Rule: 1000, Chain: nil}, - {Target: "maxResults", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}, - }}}}}); err != nil { - return result, validation.NewError("batch.PoolClient", "ListUsageMetrics", err.Error()) - } - - result.fn = client.listUsageMetricsNextResults - req, err := client.ListUsageMetricsPreparer(ctx, startTime, endTime, filter, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "ListUsageMetrics", nil, "Failure preparing request") - return - } - - resp, err := client.ListUsageMetricsSender(req) - if err != nil { - result.plumr.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.PoolClient", "ListUsageMetrics", resp, "Failure sending request") - return - } - - result.plumr, err = client.ListUsageMetricsResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "ListUsageMetrics", resp, "Failure responding to request") - } - - return -} - -// ListUsageMetricsPreparer prepares the ListUsageMetrics request. -func (client PoolClient) ListUsageMetricsPreparer(ctx context.Context, startTime *date.Time, endTime *date.Time, filter string, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - const APIVersion = "2017-06-01.5.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if startTime != nil { - queryParameters["starttime"] = autorest.Encode("query", *startTime) - } - if endTime != nil { - queryParameters["endtime"] = autorest.Encode("query", *endTime) - } - if len(filter) > 0 { - queryParameters["$filter"] = autorest.Encode("query", filter) - } - if maxResults != nil { - queryParameters["maxresults"] = autorest.Encode("query", *maxResults) - } else { - queryParameters["maxresults"] = autorest.Encode("query", 1000) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPath("/poolusagemetrics"), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListUsageMetricsSender sends the ListUsageMetrics request. The method will close the -// http.Response Body if it receives an error. -func (client PoolClient) ListUsageMetricsSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ListUsageMetricsResponder handles the response to the ListUsageMetrics request. The method always -// closes the http.Response Body. -func (client PoolClient) ListUsageMetricsResponder(resp *http.Response) (result PoolListUsageMetricsResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listUsageMetricsNextResults retrieves the next set of results, if any. -func (client PoolClient) listUsageMetricsNextResults(lastResults PoolListUsageMetricsResult) (result PoolListUsageMetricsResult, err error) { - req, err := lastResults.poolListUsageMetricsResultPreparer() - if err != nil { - return result, autorest.NewErrorWithError(err, "batch.PoolClient", "listUsageMetricsNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListUsageMetricsSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "batch.PoolClient", "listUsageMetricsNextResults", resp, "Failure sending next results request") - } - result, err = client.ListUsageMetricsResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "listUsageMetricsNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListUsageMetricsComplete enumerates all values, automatically crossing page boundaries as required. -func (client PoolClient) ListUsageMetricsComplete(ctx context.Context, startTime *date.Time, endTime *date.Time, filter string, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result PoolListUsageMetricsResultIterator, err error) { - result.page, err = client.ListUsageMetrics(ctx, startTime, endTime, filter, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - return -} - -// Patch this only replaces the pool properties specified in the request. For example, if the pool has a start task -// associated with it, and a request does not specify a start task element, then the pool keeps the existing start -// task. -// -// poolID is the ID of the pool to update. poolPatchParameter is the parameters for the request. timeout is the -// maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. -// clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such as curly -// braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. ifMatch is an -// ETag value associated with the version of the resource known to the client. The operation will be performed only -// if the resource's current ETag on the service exactly matches the value specified by the client. ifNoneMatch is -// an ETag value associated with the version of the resource known to the client. The operation will be performed -// only if the resource's current ETag on the service does not match the value specified by the client. -// ifModifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has been modified since the specified time. -// ifUnmodifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has not been modified since the specified time. -func (client PoolClient) Patch(ctx context.Context, poolID string, poolPatchParameter PoolPatchParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.PatchPreparer(ctx, poolID, poolPatchParameter, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Patch", nil, "Failure preparing request") - return - } - - resp, err := client.PatchSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Patch", resp, "Failure sending request") - return - } - - result, err = client.PatchResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Patch", resp, "Failure responding to request") - } - - return -} - -// PatchPreparer prepares the Patch request. -func (client PoolClient) PatchPreparer(ctx context.Context, poolID string, poolPatchParameter PoolPatchParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2017-06-01.5.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPatch(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}", pathParameters), - autorest.WithJSON(poolPatchParameter), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// PatchSender sends the Patch request. The method will close the -// http.Response Body if it receives an error. -func (client PoolClient) PatchSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// PatchResponder handles the response to the Patch request. The method always -// closes the http.Response Body. -func (client PoolClient) PatchResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} - -// RemoveNodes this operation can only run when the allocation state of the pool is steady. When this operation runs, -// the allocation state changes from steady to resizing. -// -// poolID is the ID of the pool from which you want to remove nodes. nodeRemoveParameter is the parameters for the -// request. timeout is the maximum time that the server can spend processing the request, in seconds. The default -// is 30 seconds. clientRequestID is the caller-generated request identity, in the form of a GUID with no -// decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the -// server should return the client-request-id in the response. ocpDate is the time the request was issued. Client -// libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API -// directly. ifMatch is an ETag value associated with the version of the resource known to the client. The -// operation will be performed only if the resource's current ETag on the service exactly matches the value -// specified by the client. ifNoneMatch is an ETag value associated with the version of the resource known to the -// client. The operation will be performed only if the resource's current ETag on the service does not match the -// value specified by the client. ifModifiedSince is a timestamp indicating the last modified time of the resource -// known to the client. The operation will be performed only if the resource on the service has been modified since -// the specified time. ifUnmodifiedSince is a timestamp indicating the last modified time of the resource known to -// the client. The operation will be performed only if the resource on the service has not been modified since the -// specified time. -func (client PoolClient) RemoveNodes(ctx context.Context, poolID string, nodeRemoveParameter NodeRemoveParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: nodeRemoveParameter, - Constraints: []validation.Constraint{{Target: "nodeRemoveParameter.NodeList", Name: validation.Null, Rule: true, - Chain: []validation.Constraint{{Target: "nodeRemoveParameter.NodeList", Name: validation.MaxItems, Rule: 100, Chain: nil}}}}}}); err != nil { - return result, validation.NewError("batch.PoolClient", "RemoveNodes", err.Error()) - } - - req, err := client.RemoveNodesPreparer(ctx, poolID, nodeRemoveParameter, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "RemoveNodes", nil, "Failure preparing request") - return - } - - resp, err := client.RemoveNodesSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.PoolClient", "RemoveNodes", resp, "Failure sending request") - return - } - - result, err = client.RemoveNodesResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "RemoveNodes", resp, "Failure responding to request") - } - - return -} - -// RemoveNodesPreparer prepares the RemoveNodes request. -func (client PoolClient) RemoveNodesPreparer(ctx context.Context, poolID string, nodeRemoveParameter NodeRemoveParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2017-06-01.5.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/removenodes", pathParameters), - autorest.WithJSON(nodeRemoveParameter), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// RemoveNodesSender sends the RemoveNodes request. The method will close the -// http.Response Body if it receives an error. -func (client PoolClient) RemoveNodesSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// RemoveNodesResponder handles the response to the RemoveNodes request. The method always -// closes the http.Response Body. -func (client PoolClient) RemoveNodesResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByClosing()) - result.Response = resp - return -} - -// Resize you can only resize a pool when its allocation state is steady. If the pool is already resizing, the request -// fails with status code 409. When you resize a pool, the pool's allocation state changes from steady to resizing. You -// cannot resize pools which are configured for automatic scaling. If you try to do this, the Batch service returns an -// error 409. If you resize a pool downwards, the Batch service chooses which nodes to remove. To remove specific -// nodes, use the pool remove nodes API instead. -// -// poolID is the ID of the pool to resize. poolResizeParameter is the parameters for the request. timeout is the -// maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. -// clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such as curly -// braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. ifMatch is an -// ETag value associated with the version of the resource known to the client. The operation will be performed only -// if the resource's current ETag on the service exactly matches the value specified by the client. ifNoneMatch is -// an ETag value associated with the version of the resource known to the client. The operation will be performed -// only if the resource's current ETag on the service does not match the value specified by the client. -// ifModifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has been modified since the specified time. -// ifUnmodifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has not been modified since the specified time. -func (client PoolClient) Resize(ctx context.Context, poolID string, poolResizeParameter PoolResizeParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.ResizePreparer(ctx, poolID, poolResizeParameter, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Resize", nil, "Failure preparing request") - return - } - - resp, err := client.ResizeSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Resize", resp, "Failure sending request") - return - } - - result, err = client.ResizeResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Resize", resp, "Failure responding to request") - } - - return -} - -// ResizePreparer prepares the Resize request. -func (client PoolClient) ResizePreparer(ctx context.Context, poolID string, poolResizeParameter PoolResizeParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2017-06-01.5.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/resize", pathParameters), - autorest.WithJSON(poolResizeParameter), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ResizeSender sends the Resize request. The method will close the -// http.Response Body if it receives an error. -func (client PoolClient) ResizeSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ResizeResponder handles the response to the Resize request. The method always -// closes the http.Response Body. -func (client PoolClient) ResizeResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByClosing()) - result.Response = resp - return -} - -// StopResize this does not restore the pool to its previous state before the resize operation: it only stops any -// further changes being made, and the pool maintains its current state. After stopping, the pool stabilizes at the -// number of nodes it was at when the stop operation was done. During the stop operation, the pool allocation state -// changes first to stopping and then to steady. A resize operation need not be an explicit resize pool request; this -// API can also be used to halt the initial sizing of the pool when it is created. -// -// poolID is the ID of the pool whose resizing you want to stop. timeout is the maximum time that the server can -// spend processing the request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated -// request identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. ifMatch is an -// ETag value associated with the version of the resource known to the client. The operation will be performed only -// if the resource's current ETag on the service exactly matches the value specified by the client. ifNoneMatch is -// an ETag value associated with the version of the resource known to the client. The operation will be performed -// only if the resource's current ETag on the service does not match the value specified by the client. -// ifModifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has been modified since the specified time. -// ifUnmodifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has not been modified since the specified time. -func (client PoolClient) StopResize(ctx context.Context, poolID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.StopResizePreparer(ctx, poolID, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "StopResize", nil, "Failure preparing request") - return - } - - resp, err := client.StopResizeSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.PoolClient", "StopResize", resp, "Failure sending request") - return - } - - result, err = client.StopResizeResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "StopResize", resp, "Failure responding to request") - } - - return -} - -// StopResizePreparer prepares the StopResize request. -func (client PoolClient) StopResizePreparer(ctx context.Context, poolID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2017-06-01.5.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/stopresize", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// StopResizeSender sends the StopResize request. The method will close the -// http.Response Body if it receives an error. -func (client PoolClient) StopResizeSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// StopResizeResponder handles the response to the StopResize request. The method always -// closes the http.Response Body. -func (client PoolClient) StopResizeResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByClosing()) - result.Response = resp - return -} - -// UpdateProperties this fully replaces all the updateable properties of the pool. For example, if the pool has a start -// task associated with it and if start task is not specified with this request, then the Batch service will remove the -// existing start task. -// -// poolID is the ID of the pool to update. poolUpdatePropertiesParameter is the parameters for the request. timeout -// is the maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. -// clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such as curly -// braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. -func (client PoolClient) UpdateProperties(ctx context.Context, poolID string, poolUpdatePropertiesParameter PoolUpdatePropertiesParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: poolUpdatePropertiesParameter, - Constraints: []validation.Constraint{{Target: "poolUpdatePropertiesParameter.StartTask", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "poolUpdatePropertiesParameter.StartTask.CommandLine", Name: validation.Null, Rule: true, Chain: nil}}}, - {Target: "poolUpdatePropertiesParameter.CertificateReferences", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "poolUpdatePropertiesParameter.ApplicationPackageReferences", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "poolUpdatePropertiesParameter.Metadata", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { - return result, validation.NewError("batch.PoolClient", "UpdateProperties", err.Error()) - } - - req, err := client.UpdatePropertiesPreparer(ctx, poolID, poolUpdatePropertiesParameter, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "UpdateProperties", nil, "Failure preparing request") - return - } - - resp, err := client.UpdatePropertiesSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.PoolClient", "UpdateProperties", resp, "Failure sending request") - return - } - - result, err = client.UpdatePropertiesResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "UpdateProperties", resp, "Failure responding to request") - } - - return -} - -// UpdatePropertiesPreparer prepares the UpdateProperties request. -func (client PoolClient) UpdatePropertiesPreparer(ctx context.Context, poolID string, poolUpdatePropertiesParameter PoolUpdatePropertiesParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2017-06-01.5.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/updateproperties", pathParameters), - autorest.WithJSON(poolUpdatePropertiesParameter), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// UpdatePropertiesSender sends the UpdateProperties request. The method will close the -// http.Response Body if it receives an error. -func (client PoolClient) UpdatePropertiesSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// UpdatePropertiesResponder handles the response to the UpdateProperties request. The method always -// closes the http.Response Body. -func (client PoolClient) UpdatePropertiesResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), - autorest.ByClosing()) - result.Response = resp - return -} - -// UpgradeOS during an upgrade, the Batch service upgrades each compute node in the pool. When a compute node is chosen -// for upgrade, any tasks running on that node are removed from the node and returned to the queue to be rerun later -// (or on a different compute node). The node will be unavailable until the upgrade is complete. This operation results -// in temporarily reduced pool capacity as nodes are taken out of service to be upgraded. Although the Batch service -// tries to avoid upgrading all compute nodes at the same time, it does not guarantee to do this (particularly on small -// pools); therefore, the pool may be temporarily unavailable to run tasks. When this operation runs, the pool state -// changes to upgrading. When all compute nodes have finished upgrading, the pool state returns to active. While the -// upgrade is in progress, the pool's currentOSVersion reflects the OS version that nodes are upgrading from, and -// targetOSVersion reflects the OS version that nodes are upgrading to. Once the upgrade is complete, currentOSVersion -// is updated to reflect the OS version now running on all nodes. This operation can only be invoked on pools created -// with the cloudServiceConfiguration property. -// -// poolID is the ID of the pool to upgrade. poolUpgradeOSParameter is the parameters for the request. timeout is -// the maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. -// clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such as curly -// braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. ifMatch is an -// ETag value associated with the version of the resource known to the client. The operation will be performed only -// if the resource's current ETag on the service exactly matches the value specified by the client. ifNoneMatch is -// an ETag value associated with the version of the resource known to the client. The operation will be performed -// only if the resource's current ETag on the service does not match the value specified by the client. -// ifModifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has been modified since the specified time. -// ifUnmodifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has not been modified since the specified time. -func (client PoolClient) UpgradeOS(ctx context.Context, poolID string, poolUpgradeOSParameter PoolUpgradeOSParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: poolUpgradeOSParameter, - Constraints: []validation.Constraint{{Target: "poolUpgradeOSParameter.TargetOSVersion", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { - return result, validation.NewError("batch.PoolClient", "UpgradeOS", err.Error()) - } - - req, err := client.UpgradeOSPreparer(ctx, poolID, poolUpgradeOSParameter, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "UpgradeOS", nil, "Failure preparing request") - return - } - - resp, err := client.UpgradeOSSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.PoolClient", "UpgradeOS", resp, "Failure sending request") - return - } - - result, err = client.UpgradeOSResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "UpgradeOS", resp, "Failure responding to request") - } - - return -} - -// UpgradeOSPreparer prepares the UpgradeOS request. -func (client PoolClient) UpgradeOSPreparer(ctx context.Context, poolID string, poolUpgradeOSParameter PoolUpgradeOSParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2017-06-01.5.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/upgradeos", pathParameters), - autorest.WithJSON(poolUpgradeOSParameter), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// UpgradeOSSender sends the UpgradeOS request. The method will close the -// http.Response Body if it receives an error. -func (client PoolClient) UpgradeOSSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// UpgradeOSResponder handles the response to the UpgradeOS request. The method always -// closes the http.Response Body. -func (client PoolClient) UpgradeOSResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByClosing()) - result.Response = resp - return -} diff --git a/services/batch/2017-06-01.5.1/batch/task.go b/services/batch/2017-06-01.5.1/batch/task.go deleted file mode 100644 index dd8c9edb081e..000000000000 --- a/services/batch/2017-06-01.5.1/batch/task.go +++ /dev/null @@ -1,1070 +0,0 @@ -package batch - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/autorest/date" - "github.com/Azure/go-autorest/autorest/validation" - "github.com/satori/go.uuid" - "net/http" -) - -// TaskClient is the a client for issuing REST requests to the Azure Batch service. -type TaskClient struct { - BaseClient -} - -// NewTaskClient creates an instance of the TaskClient client. -func NewTaskClient() TaskClient { - return NewTaskClientWithBaseURI(DefaultBaseURI) -} - -// NewTaskClientWithBaseURI creates an instance of the TaskClient client. -func NewTaskClientWithBaseURI(baseURI string) TaskClient { - return TaskClient{NewWithBaseURI(baseURI)} -} - -// Add sends the add request. -// -// jobID is the ID of the job to which the task is to be added. task is the task to be added. timeout is the -// maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. -// clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such as curly -// braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. -func (client TaskClient) Add(ctx context.Context, jobID string, task TaskAddParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: task, - Constraints: []validation.Constraint{{Target: "task.ID", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "task.CommandLine", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "task.AffinityInfo", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "task.AffinityInfo.AffinityID", Name: validation.Null, Rule: true, Chain: nil}}}, - {Target: "task.MultiInstanceSettings", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "task.MultiInstanceSettings.NumberOfInstances", Name: validation.Null, Rule: true, Chain: nil}}}}}}); err != nil { - return result, validation.NewError("batch.TaskClient", "Add", err.Error()) - } - - req, err := client.AddPreparer(ctx, jobID, task, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "Add", nil, "Failure preparing request") - return - } - - resp, err := client.AddSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.TaskClient", "Add", resp, "Failure sending request") - return - } - - result, err = client.AddResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "Add", resp, "Failure responding to request") - } - - return -} - -// AddPreparer prepares the Add request. -func (client TaskClient) AddPreparer(ctx context.Context, jobID string, task TaskAddParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - } - - const APIVersion = "2017-06-01.5.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}/tasks", pathParameters), - autorest.WithJSON(task), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// AddSender sends the Add request. The method will close the -// http.Response Body if it receives an error. -func (client TaskClient) AddSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// AddResponder handles the response to the Add request. The method always -// closes the http.Response Body. -func (client TaskClient) AddResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), - autorest.ByClosing()) - result.Response = resp - return -} - -// AddCollection note that each task must have a unique ID. The Batch service may not return the results for each task -// in the same order the tasks were submitted in this request. If the server times out or the connection is closed -// during the request, the request may have been partially or fully processed, or not at all. In such cases, the user -// should re-issue the request. Note that it is up to the user to correctly handle failures when re-issuing a request. -// For example, you should use the same task IDs during a retry so that if the prior operation succeeded, the retry -// will not create extra tasks unexpectedly. If the response contains any tasks which failed to add, a client can retry -// the request. In a retry, it is most efficient to resubmit only tasks that failed to add, and to omit tasks that were -// successfully added on the first attempt. -// -// jobID is the ID of the job to which the task collection is to be added. taskCollection is the tasks to be added. -// timeout is the maximum time that the server can spend processing the request, in seconds. The default is 30 -// seconds. clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such -// as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should -// return the client-request-id in the response. ocpDate is the time the request was issued. Client libraries -// typically set this to the current system clock time; set it explicitly if you are calling the REST API directly. -func (client TaskClient) AddCollection(ctx context.Context, jobID string, taskCollection TaskAddCollectionParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result TaskAddCollectionResult, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: taskCollection, - Constraints: []validation.Constraint{{Target: "taskCollection.Value", Name: validation.Null, Rule: true, - Chain: []validation.Constraint{{Target: "taskCollection.Value", Name: validation.MaxItems, Rule: 100, Chain: nil}}}}}}); err != nil { - return result, validation.NewError("batch.TaskClient", "AddCollection", err.Error()) - } - - req, err := client.AddCollectionPreparer(ctx, jobID, taskCollection, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "AddCollection", nil, "Failure preparing request") - return - } - - resp, err := client.AddCollectionSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.TaskClient", "AddCollection", resp, "Failure sending request") - return - } - - result, err = client.AddCollectionResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "AddCollection", resp, "Failure responding to request") - } - - return -} - -// AddCollectionPreparer prepares the AddCollection request. -func (client TaskClient) AddCollectionPreparer(ctx context.Context, jobID string, taskCollection TaskAddCollectionParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - } - - const APIVersion = "2017-06-01.5.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}/addtaskcollection", pathParameters), - autorest.WithJSON(taskCollection), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// AddCollectionSender sends the AddCollection request. The method will close the -// http.Response Body if it receives an error. -func (client TaskClient) AddCollectionSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// AddCollectionResponder handles the response to the AddCollection request. The method always -// closes the http.Response Body. -func (client TaskClient) AddCollectionResponder(resp *http.Response) (result TaskAddCollectionResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// Delete when a task is deleted, all of the files in its directory on the compute node where it ran are also deleted -// (regardless of the retention time). For multi-instance tasks, the delete task operation applies synchronously to the -// primary task; subtasks and their files are then deleted asynchronously in the background. -// -// jobID is the ID of the job from which to delete the task. taskID is the ID of the task to delete. timeout is the -// maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. -// clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such as curly -// braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. ifMatch is an -// ETag value associated with the version of the resource known to the client. The operation will be performed only -// if the resource's current ETag on the service exactly matches the value specified by the client. ifNoneMatch is -// an ETag value associated with the version of the resource known to the client. The operation will be performed -// only if the resource's current ETag on the service does not match the value specified by the client. -// ifModifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has been modified since the specified time. -// ifUnmodifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has not been modified since the specified time. -func (client TaskClient) Delete(ctx context.Context, jobID string, taskID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.DeletePreparer(ctx, jobID, taskID, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "Delete", nil, "Failure preparing request") - return - } - - resp, err := client.DeleteSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.TaskClient", "Delete", resp, "Failure sending request") - return - } - - result, err = client.DeleteResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "Delete", resp, "Failure responding to request") - } - - return -} - -// DeletePreparer prepares the Delete request. -func (client TaskClient) DeletePreparer(ctx context.Context, jobID string, taskID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - "taskId": autorest.Encode("path", taskID), - } - - const APIVersion = "2017-06-01.5.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsDelete(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}/tasks/{taskId}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DeleteSender sends the Delete request. The method will close the -// http.Response Body if it receives an error. -func (client TaskClient) DeleteSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// DeleteResponder handles the response to the Delete request. The method always -// closes the http.Response Body. -func (client TaskClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} - -// Get for multi-instance tasks, information such as affinityId, executionInfo and nodeInfo refer to the primary task. -// Use the list subtasks API to retrieve information about subtasks. -// -// jobID is the ID of the job that contains the task. taskID is the ID of the task to get information about. -// selectParameter is an OData $select clause. expand is an OData $expand clause. timeout is the maximum time that -// the server can spend processing the request, in seconds. The default is 30 seconds. clientRequestID is the -// caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. ifMatch is an -// ETag value associated with the version of the resource known to the client. The operation will be performed only -// if the resource's current ETag on the service exactly matches the value specified by the client. ifNoneMatch is -// an ETag value associated with the version of the resource known to the client. The operation will be performed -// only if the resource's current ETag on the service does not match the value specified by the client. -// ifModifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has been modified since the specified time. -// ifUnmodifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has not been modified since the specified time. -func (client TaskClient) Get(ctx context.Context, jobID string, taskID string, selectParameter string, expand string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result CloudTask, err error) { - req, err := client.GetPreparer(ctx, jobID, taskID, selectParameter, expand, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "Get", nil, "Failure preparing request") - return - } - - resp, err := client.GetSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.TaskClient", "Get", resp, "Failure sending request") - return - } - - result, err = client.GetResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "Get", resp, "Failure responding to request") - } - - return -} - -// GetPreparer prepares the Get request. -func (client TaskClient) GetPreparer(ctx context.Context, jobID string, taskID string, selectParameter string, expand string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - "taskId": autorest.Encode("path", taskID), - } - - const APIVersion = "2017-06-01.5.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(selectParameter) > 0 { - queryParameters["$select"] = autorest.Encode("query", selectParameter) - } - if len(expand) > 0 { - queryParameters["$expand"] = autorest.Encode("query", expand) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}/tasks/{taskId}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetSender sends the Get request. The method will close the -// http.Response Body if it receives an error. -func (client TaskClient) GetSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// GetResponder handles the response to the Get request. The method always -// closes the http.Response Body. -func (client TaskClient) GetResponder(resp *http.Response) (result CloudTask, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// List for multi-instance tasks, information such as affinityId, executionInfo and nodeInfo refer to the primary task. -// Use the list subtasks API to retrieve information about subtasks. -// -// jobID is the ID of the job. filter is an OData $filter clause. selectParameter is an OData $select clause. -// expand is an OData $expand clause. maxResults is the maximum number of items to return in the response. A -// maximum of 1000 tasks can be returned. timeout is the maximum time that the server can spend processing the -// request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated request identity, in the -// form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. -// returnClientRequestID is whether the server should return the client-request-id in the response. ocpDate is the -// time the request was issued. Client libraries typically set this to the current system clock time; set it -// explicitly if you are calling the REST API directly. -func (client TaskClient) List(ctx context.Context, jobID string, filter string, selectParameter string, expand string, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result CloudTaskListResultPage, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: maxResults, - Constraints: []validation.Constraint{{Target: "maxResults", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "maxResults", Name: validation.InclusiveMaximum, Rule: 1000, Chain: nil}, - {Target: "maxResults", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}, - }}}}}); err != nil { - return result, validation.NewError("batch.TaskClient", "List", err.Error()) - } - - result.fn = client.listNextResults - req, err := client.ListPreparer(ctx, jobID, filter, selectParameter, expand, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "List", nil, "Failure preparing request") - return - } - - resp, err := client.ListSender(req) - if err != nil { - result.ctlr.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.TaskClient", "List", resp, "Failure sending request") - return - } - - result.ctlr, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "List", resp, "Failure responding to request") - } - - return -} - -// ListPreparer prepares the List request. -func (client TaskClient) ListPreparer(ctx context.Context, jobID string, filter string, selectParameter string, expand string, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - } - - const APIVersion = "2017-06-01.5.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(filter) > 0 { - queryParameters["$filter"] = autorest.Encode("query", filter) - } - if len(selectParameter) > 0 { - queryParameters["$select"] = autorest.Encode("query", selectParameter) - } - if len(expand) > 0 { - queryParameters["$expand"] = autorest.Encode("query", expand) - } - if maxResults != nil { - queryParameters["maxresults"] = autorest.Encode("query", *maxResults) - } else { - queryParameters["maxresults"] = autorest.Encode("query", 1000) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}/tasks", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListSender sends the List request. The method will close the -// http.Response Body if it receives an error. -func (client TaskClient) ListSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ListResponder handles the response to the List request. The method always -// closes the http.Response Body. -func (client TaskClient) ListResponder(resp *http.Response) (result CloudTaskListResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listNextResults retrieves the next set of results, if any. -func (client TaskClient) listNextResults(lastResults CloudTaskListResult) (result CloudTaskListResult, err error) { - req, err := lastResults.cloudTaskListResultPreparer() - if err != nil { - return result, autorest.NewErrorWithError(err, "batch.TaskClient", "listNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "batch.TaskClient", "listNextResults", resp, "Failure sending next results request") - } - result, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "listNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListComplete enumerates all values, automatically crossing page boundaries as required. -func (client TaskClient) ListComplete(ctx context.Context, jobID string, filter string, selectParameter string, expand string, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result CloudTaskListResultIterator, err error) { - result.page, err = client.List(ctx, jobID, filter, selectParameter, expand, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - return -} - -// ListSubtasks if the task is not a multi-instance task then this returns an empty collection. -// -// jobID is the ID of the job. taskID is the ID of the task. selectParameter is an OData $select clause. timeout is -// the maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. -// clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such as curly -// braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. -func (client TaskClient) ListSubtasks(ctx context.Context, jobID string, taskID string, selectParameter string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result CloudTaskListSubtasksResult, err error) { - req, err := client.ListSubtasksPreparer(ctx, jobID, taskID, selectParameter, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "ListSubtasks", nil, "Failure preparing request") - return - } - - resp, err := client.ListSubtasksSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.TaskClient", "ListSubtasks", resp, "Failure sending request") - return - } - - result, err = client.ListSubtasksResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "ListSubtasks", resp, "Failure responding to request") - } - - return -} - -// ListSubtasksPreparer prepares the ListSubtasks request. -func (client TaskClient) ListSubtasksPreparer(ctx context.Context, jobID string, taskID string, selectParameter string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - "taskId": autorest.Encode("path", taskID), - } - - const APIVersion = "2017-06-01.5.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(selectParameter) > 0 { - queryParameters["$select"] = autorest.Encode("query", selectParameter) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}/tasks/{taskId}/subtasksinfo", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListSubtasksSender sends the ListSubtasks request. The method will close the -// http.Response Body if it receives an error. -func (client TaskClient) ListSubtasksSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ListSubtasksResponder handles the response to the ListSubtasks request. The method always -// closes the http.Response Body. -func (client TaskClient) ListSubtasksResponder(resp *http.Response) (result CloudTaskListSubtasksResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// Reactivate reactivation makes a task eligible to be retried again up to its maximum retry count. The task's state is -// changed to active. As the task is no longer in the completed state, any previous exit code or failure information is -// no longer available after reactivation. Each time a task is reactivated, its retry count is reset to 0. Reactivation -// will fail for tasks that are not completed or that previously completed successfully (with an exit code of 0). -// Additionally, it will fail if the job has completed (or is terminating or deleting). -// -// jobID is the ID of the job containing the task. taskID is the ID of the task to reactivate. timeout is the -// maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. -// clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such as curly -// braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. ifMatch is an -// ETag value associated with the version of the resource known to the client. The operation will be performed only -// if the resource's current ETag on the service exactly matches the value specified by the client. ifNoneMatch is -// an ETag value associated with the version of the resource known to the client. The operation will be performed -// only if the resource's current ETag on the service does not match the value specified by the client. -// ifModifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has been modified since the specified time. -// ifUnmodifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has not been modified since the specified time. -func (client TaskClient) Reactivate(ctx context.Context, jobID string, taskID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.ReactivatePreparer(ctx, jobID, taskID, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "Reactivate", nil, "Failure preparing request") - return - } - - resp, err := client.ReactivateSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.TaskClient", "Reactivate", resp, "Failure sending request") - return - } - - result, err = client.ReactivateResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "Reactivate", resp, "Failure responding to request") - } - - return -} - -// ReactivatePreparer prepares the Reactivate request. -func (client TaskClient) ReactivatePreparer(ctx context.Context, jobID string, taskID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - "taskId": autorest.Encode("path", taskID), - } - - const APIVersion = "2017-06-01.5.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}/tasks/{taskId}/reactivate", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ReactivateSender sends the Reactivate request. The method will close the -// http.Response Body if it receives an error. -func (client TaskClient) ReactivateSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ReactivateResponder handles the response to the Reactivate request. The method always -// closes the http.Response Body. -func (client TaskClient) ReactivateResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), - autorest.ByClosing()) - result.Response = resp - return -} - -// Terminate when the task has been terminated, it moves to the completed state. For multi-instance tasks, the -// terminate task operation applies synchronously to the primary task; subtasks are then terminated asynchronously in -// the background. -// -// jobID is the ID of the job containing the task. taskID is the ID of the task to terminate. timeout is the -// maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. -// clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such as curly -// braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. ifMatch is an -// ETag value associated with the version of the resource known to the client. The operation will be performed only -// if the resource's current ETag on the service exactly matches the value specified by the client. ifNoneMatch is -// an ETag value associated with the version of the resource known to the client. The operation will be performed -// only if the resource's current ETag on the service does not match the value specified by the client. -// ifModifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has been modified since the specified time. -// ifUnmodifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has not been modified since the specified time. -func (client TaskClient) Terminate(ctx context.Context, jobID string, taskID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.TerminatePreparer(ctx, jobID, taskID, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "Terminate", nil, "Failure preparing request") - return - } - - resp, err := client.TerminateSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.TaskClient", "Terminate", resp, "Failure sending request") - return - } - - result, err = client.TerminateResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "Terminate", resp, "Failure responding to request") - } - - return -} - -// TerminatePreparer prepares the Terminate request. -func (client TaskClient) TerminatePreparer(ctx context.Context, jobID string, taskID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - "taskId": autorest.Encode("path", taskID), - } - - const APIVersion = "2017-06-01.5.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}/tasks/{taskId}/terminate", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// TerminateSender sends the Terminate request. The method will close the -// http.Response Body if it receives an error. -func (client TaskClient) TerminateSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// TerminateResponder handles the response to the Terminate request. The method always -// closes the http.Response Body. -func (client TaskClient) TerminateResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), - autorest.ByClosing()) - result.Response = resp - return -} - -// Update updates the properties of the specified task. -// -// jobID is the ID of the job containing the task. taskID is the ID of the task to update. taskUpdateParameter is -// the parameters for the request. timeout is the maximum time that the server can spend processing the request, in -// seconds. The default is 30 seconds. clientRequestID is the caller-generated request identity, in the form of a -// GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID -// is whether the server should return the client-request-id in the response. ocpDate is the time the request was -// issued. Client libraries typically set this to the current system clock time; set it explicitly if you are -// calling the REST API directly. ifMatch is an ETag value associated with the version of the resource known to the -// client. The operation will be performed only if the resource's current ETag on the service exactly matches the -// value specified by the client. ifNoneMatch is an ETag value associated with the version of the resource known to -// the client. The operation will be performed only if the resource's current ETag on the service does not match -// the value specified by the client. ifModifiedSince is a timestamp indicating the last modified time of the -// resource known to the client. The operation will be performed only if the resource on the service has been -// modified since the specified time. ifUnmodifiedSince is a timestamp indicating the last modified time of the -// resource known to the client. The operation will be performed only if the resource on the service has not been -// modified since the specified time. -func (client TaskClient) Update(ctx context.Context, jobID string, taskID string, taskUpdateParameter TaskUpdateParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.UpdatePreparer(ctx, jobID, taskID, taskUpdateParameter, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "Update", nil, "Failure preparing request") - return - } - - resp, err := client.UpdateSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.TaskClient", "Update", resp, "Failure sending request") - return - } - - result, err = client.UpdateResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "Update", resp, "Failure responding to request") - } - - return -} - -// UpdatePreparer prepares the Update request. -func (client TaskClient) UpdatePreparer(ctx context.Context, jobID string, taskID string, taskUpdateParameter TaskUpdateParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - "taskId": autorest.Encode("path", taskID), - } - - const APIVersion = "2017-06-01.5.1" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPut(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}/tasks/{taskId}", pathParameters), - autorest.WithJSON(taskUpdateParameter), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// UpdateSender sends the Update request. The method will close the -// http.Response Body if it receives an error. -func (client TaskClient) UpdateSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// UpdateResponder handles the response to the Update request. The method always -// closes the http.Response Body. -func (client TaskClient) UpdateResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} diff --git a/services/batch/2017-06-01.5.1/batch/version.go b/services/batch/2017-06-01.5.1/batch/version.go deleted file mode 100644 index fb1f35fb5b21..000000000000 --- a/services/batch/2017-06-01.5.1/batch/version.go +++ /dev/null @@ -1,30 +0,0 @@ -package batch - -import "github.com/Azure/azure-sdk-for-go/version" - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -// UserAgent returns the UserAgent string to use when sending http.Requests. -func UserAgent() string { - return "Azure-SDK-For-Go/" + version.Number + " batch/2017-06-01.5.1" -} - -// Version returns the semantic version (see http://semver.org) of the client. -func Version() string { - return version.Number -} diff --git a/services/batch/2017-09-01.6.0/batch/account.go b/services/batch/2017-09-01.6.0/batch/account.go deleted file mode 100644 index 1e4fba835806..000000000000 --- a/services/batch/2017-09-01.6.0/batch/account.go +++ /dev/null @@ -1,175 +0,0 @@ -package batch - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/autorest/date" - "github.com/Azure/go-autorest/autorest/validation" - "github.com/satori/go.uuid" - "net/http" -) - -// AccountClient is the a client for issuing REST requests to the Azure Batch service. -type AccountClient struct { - BaseClient -} - -// NewAccountClient creates an instance of the AccountClient client. -func NewAccountClient() AccountClient { - return NewAccountClientWithBaseURI(DefaultBaseURI) -} - -// NewAccountClientWithBaseURI creates an instance of the AccountClient client. -func NewAccountClientWithBaseURI(baseURI string) AccountClient { - return AccountClient{NewWithBaseURI(baseURI)} -} - -// ListNodeAgentSkus sends the list node agent skus request. -// -// filter is an OData $filter clause. For more information on constructing this filter, see -// https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-node-agent-skus. maxResults -// is the maximum number of items to return in the response. A maximum of 1000 results will be returned. timeout is -// the maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. -// clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such as curly -// braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. -func (client AccountClient) ListNodeAgentSkus(ctx context.Context, filter string, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result AccountListNodeAgentSkusResultPage, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: maxResults, - Constraints: []validation.Constraint{{Target: "maxResults", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "maxResults", Name: validation.InclusiveMaximum, Rule: 1000, Chain: nil}, - {Target: "maxResults", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}, - }}}}}); err != nil { - return result, validation.NewError("batch.AccountClient", "ListNodeAgentSkus", err.Error()) - } - - result.fn = client.listNodeAgentSkusNextResults - req, err := client.ListNodeAgentSkusPreparer(ctx, filter, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.AccountClient", "ListNodeAgentSkus", nil, "Failure preparing request") - return - } - - resp, err := client.ListNodeAgentSkusSender(req) - if err != nil { - result.alnasr.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.AccountClient", "ListNodeAgentSkus", resp, "Failure sending request") - return - } - - result.alnasr, err = client.ListNodeAgentSkusResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.AccountClient", "ListNodeAgentSkus", resp, "Failure responding to request") - } - - return -} - -// ListNodeAgentSkusPreparer prepares the ListNodeAgentSkus request. -func (client AccountClient) ListNodeAgentSkusPreparer(ctx context.Context, filter string, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - const APIVersion = "2017-09-01.6.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(filter) > 0 { - queryParameters["$filter"] = autorest.Encode("query", filter) - } - if maxResults != nil { - queryParameters["maxresults"] = autorest.Encode("query", *maxResults) - } else { - queryParameters["maxresults"] = autorest.Encode("query", 1000) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPath("/nodeagentskus"), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListNodeAgentSkusSender sends the ListNodeAgentSkus request. The method will close the -// http.Response Body if it receives an error. -func (client AccountClient) ListNodeAgentSkusSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ListNodeAgentSkusResponder handles the response to the ListNodeAgentSkus request. The method always -// closes the http.Response Body. -func (client AccountClient) ListNodeAgentSkusResponder(resp *http.Response) (result AccountListNodeAgentSkusResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listNodeAgentSkusNextResults retrieves the next set of results, if any. -func (client AccountClient) listNodeAgentSkusNextResults(lastResults AccountListNodeAgentSkusResult) (result AccountListNodeAgentSkusResult, err error) { - req, err := lastResults.accountListNodeAgentSkusResultPreparer() - if err != nil { - return result, autorest.NewErrorWithError(err, "batch.AccountClient", "listNodeAgentSkusNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListNodeAgentSkusSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "batch.AccountClient", "listNodeAgentSkusNextResults", resp, "Failure sending next results request") - } - result, err = client.ListNodeAgentSkusResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.AccountClient", "listNodeAgentSkusNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListNodeAgentSkusComplete enumerates all values, automatically crossing page boundaries as required. -func (client AccountClient) ListNodeAgentSkusComplete(ctx context.Context, filter string, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result AccountListNodeAgentSkusResultIterator, err error) { - result.page, err = client.ListNodeAgentSkus(ctx, filter, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - return -} diff --git a/services/batch/2017-09-01.6.0/batch/application.go b/services/batch/2017-09-01.6.0/batch/application.go deleted file mode 100644 index de66c6d66086..000000000000 --- a/services/batch/2017-09-01.6.0/batch/application.go +++ /dev/null @@ -1,264 +0,0 @@ -package batch - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/autorest/date" - "github.com/Azure/go-autorest/autorest/validation" - "github.com/satori/go.uuid" - "net/http" -) - -// ApplicationClient is the a client for issuing REST requests to the Azure Batch service. -type ApplicationClient struct { - BaseClient -} - -// NewApplicationClient creates an instance of the ApplicationClient client. -func NewApplicationClient() ApplicationClient { - return NewApplicationClientWithBaseURI(DefaultBaseURI) -} - -// NewApplicationClientWithBaseURI creates an instance of the ApplicationClient client. -func NewApplicationClientWithBaseURI(baseURI string) ApplicationClient { - return ApplicationClient{NewWithBaseURI(baseURI)} -} - -// Get this operation returns only applications and versions that are available for use on compute nodes; that is, that -// can be used in an application package reference. For administrator information about applications and versions that -// are not yet available to compute nodes, use the Azure portal or the Azure Resource Manager API. -// -// applicationID is the ID of the application. timeout is the maximum time that the server can spend processing the -// request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated request identity, in the -// form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. -// returnClientRequestID is whether the server should return the client-request-id in the response. ocpDate is the -// time the request was issued. Client libraries typically set this to the current system clock time; set it -// explicitly if you are calling the REST API directly. -func (client ApplicationClient) Get(ctx context.Context, applicationID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result ApplicationSummary, err error) { - req, err := client.GetPreparer(ctx, applicationID, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ApplicationClient", "Get", nil, "Failure preparing request") - return - } - - resp, err := client.GetSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.ApplicationClient", "Get", resp, "Failure sending request") - return - } - - result, err = client.GetResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ApplicationClient", "Get", resp, "Failure responding to request") - } - - return -} - -// GetPreparer prepares the Get request. -func (client ApplicationClient) GetPreparer(ctx context.Context, applicationID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "applicationId": autorest.Encode("path", applicationID), - } - - const APIVersion = "2017-09-01.6.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/applications/{applicationId}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetSender sends the Get request. The method will close the -// http.Response Body if it receives an error. -func (client ApplicationClient) GetSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// GetResponder handles the response to the Get request. The method always -// closes the http.Response Body. -func (client ApplicationClient) GetResponder(resp *http.Response) (result ApplicationSummary, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// List this operation returns only applications and versions that are available for use on compute nodes; that is, -// that can be used in an application package reference. For administrator information about applications and versions -// that are not yet available to compute nodes, use the Azure portal or the Azure Resource Manager API. -// -// maxResults is the maximum number of items to return in the response. A maximum of 1000 applications can be -// returned. timeout is the maximum time that the server can spend processing the request, in seconds. The default -// is 30 seconds. clientRequestID is the caller-generated request identity, in the form of a GUID with no -// decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the -// server should return the client-request-id in the response. ocpDate is the time the request was issued. Client -// libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API -// directly. -func (client ApplicationClient) List(ctx context.Context, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result ApplicationListResultPage, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: maxResults, - Constraints: []validation.Constraint{{Target: "maxResults", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "maxResults", Name: validation.InclusiveMaximum, Rule: 1000, Chain: nil}, - {Target: "maxResults", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}, - }}}}}); err != nil { - return result, validation.NewError("batch.ApplicationClient", "List", err.Error()) - } - - result.fn = client.listNextResults - req, err := client.ListPreparer(ctx, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ApplicationClient", "List", nil, "Failure preparing request") - return - } - - resp, err := client.ListSender(req) - if err != nil { - result.alr.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.ApplicationClient", "List", resp, "Failure sending request") - return - } - - result.alr, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ApplicationClient", "List", resp, "Failure responding to request") - } - - return -} - -// ListPreparer prepares the List request. -func (client ApplicationClient) ListPreparer(ctx context.Context, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - const APIVersion = "2017-09-01.6.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if maxResults != nil { - queryParameters["maxresults"] = autorest.Encode("query", *maxResults) - } else { - queryParameters["maxresults"] = autorest.Encode("query", 1000) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPath("/applications"), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListSender sends the List request. The method will close the -// http.Response Body if it receives an error. -func (client ApplicationClient) ListSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ListResponder handles the response to the List request. The method always -// closes the http.Response Body. -func (client ApplicationClient) ListResponder(resp *http.Response) (result ApplicationListResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listNextResults retrieves the next set of results, if any. -func (client ApplicationClient) listNextResults(lastResults ApplicationListResult) (result ApplicationListResult, err error) { - req, err := lastResults.applicationListResultPreparer() - if err != nil { - return result, autorest.NewErrorWithError(err, "batch.ApplicationClient", "listNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "batch.ApplicationClient", "listNextResults", resp, "Failure sending next results request") - } - result, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ApplicationClient", "listNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListComplete enumerates all values, automatically crossing page boundaries as required. -func (client ApplicationClient) ListComplete(ctx context.Context, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result ApplicationListResultIterator, err error) { - result.page, err = client.List(ctx, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - return -} diff --git a/services/batch/2017-09-01.6.0/batch/certificate.go b/services/batch/2017-09-01.6.0/batch/certificate.go deleted file mode 100644 index 28e2724ee7e6..000000000000 --- a/services/batch/2017-09-01.6.0/batch/certificate.go +++ /dev/null @@ -1,557 +0,0 @@ -package batch - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/autorest/date" - "github.com/Azure/go-autorest/autorest/validation" - "github.com/satori/go.uuid" - "net/http" -) - -// CertificateClient is the a client for issuing REST requests to the Azure Batch service. -type CertificateClient struct { - BaseClient -} - -// NewCertificateClient creates an instance of the CertificateClient client. -func NewCertificateClient() CertificateClient { - return NewCertificateClientWithBaseURI(DefaultBaseURI) -} - -// NewCertificateClientWithBaseURI creates an instance of the CertificateClient client. -func NewCertificateClientWithBaseURI(baseURI string) CertificateClient { - return CertificateClient{NewWithBaseURI(baseURI)} -} - -// Add sends the add request. -// -// certificate is the certificate to be added. timeout is the maximum time that the server can spend processing the -// request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated request identity, in the -// form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. -// returnClientRequestID is whether the server should return the client-request-id in the response. ocpDate is the -// time the request was issued. Client libraries typically set this to the current system clock time; set it -// explicitly if you are calling the REST API directly. -func (client CertificateClient) Add(ctx context.Context, certificate CertificateAddParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: certificate, - Constraints: []validation.Constraint{{Target: "certificate.Thumbprint", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "certificate.ThumbprintAlgorithm", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "certificate.Data", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { - return result, validation.NewError("batch.CertificateClient", "Add", err.Error()) - } - - req, err := client.AddPreparer(ctx, certificate, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.CertificateClient", "Add", nil, "Failure preparing request") - return - } - - resp, err := client.AddSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.CertificateClient", "Add", resp, "Failure sending request") - return - } - - result, err = client.AddResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.CertificateClient", "Add", resp, "Failure responding to request") - } - - return -} - -// AddPreparer prepares the Add request. -func (client CertificateClient) AddPreparer(ctx context.Context, certificate CertificateAddParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - const APIVersion = "2017-09-01.6.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPath("/certificates"), - autorest.WithJSON(certificate), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// AddSender sends the Add request. The method will close the -// http.Response Body if it receives an error. -func (client CertificateClient) AddSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// AddResponder handles the response to the Add request. The method always -// closes the http.Response Body. -func (client CertificateClient) AddResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), - autorest.ByClosing()) - result.Response = resp - return -} - -// CancelDeletion if you try to delete a certificate that is being used by a pool or compute node, the status of the -// certificate changes to deleteFailed. If you decide that you want to continue using the certificate, you can use this -// operation to set the status of the certificate back to active. If you intend to delete the certificate, you do not -// need to run this operation after the deletion failed. You must make sure that the certificate is not being used by -// any resources, and then you can try again to delete the certificate. -// -// thumbprintAlgorithm is the algorithm used to derive the thumbprint parameter. This must be sha1. thumbprint is -// the thumbprint of the certificate being deleted. timeout is the maximum time that the server can spend -// processing the request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated request -// identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. -func (client CertificateClient) CancelDeletion(ctx context.Context, thumbprintAlgorithm string, thumbprint string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.CancelDeletionPreparer(ctx, thumbprintAlgorithm, thumbprint, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.CertificateClient", "CancelDeletion", nil, "Failure preparing request") - return - } - - resp, err := client.CancelDeletionSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.CertificateClient", "CancelDeletion", resp, "Failure sending request") - return - } - - result, err = client.CancelDeletionResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.CertificateClient", "CancelDeletion", resp, "Failure responding to request") - } - - return -} - -// CancelDeletionPreparer prepares the CancelDeletion request. -func (client CertificateClient) CancelDeletionPreparer(ctx context.Context, thumbprintAlgorithm string, thumbprint string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "thumbprint": autorest.Encode("path", thumbprint), - "thumbprintAlgorithm": autorest.Encode("path", thumbprintAlgorithm), - } - - const APIVersion = "2017-09-01.6.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/certificates(thumbprintAlgorithm={thumbprintAlgorithm},thumbprint={thumbprint})/canceldelete", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// CancelDeletionSender sends the CancelDeletion request. The method will close the -// http.Response Body if it receives an error. -func (client CertificateClient) CancelDeletionSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// CancelDeletionResponder handles the response to the CancelDeletion request. The method always -// closes the http.Response Body. -func (client CertificateClient) CancelDeletionResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), - autorest.ByClosing()) - result.Response = resp - return -} - -// Delete you cannot delete a certificate if a resource (pool or compute node) is using it. Before you can delete a -// certificate, you must therefore make sure that the certificate is not associated with any existing pools, the -// certificate is not installed on any compute nodes (even if you remove a certificate from a pool, it is not removed -// from existing compute nodes in that pool until they restart), and no running tasks depend on the certificate. If you -// try to delete a certificate that is in use, the deletion fails. The certificate status changes to deleteFailed. You -// can use Cancel Delete Certificate to set the status back to active if you decide that you want to continue using the -// certificate. -// -// thumbprintAlgorithm is the algorithm used to derive the thumbprint parameter. This must be sha1. thumbprint is -// the thumbprint of the certificate to be deleted. timeout is the maximum time that the server can spend -// processing the request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated request -// identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. -func (client CertificateClient) Delete(ctx context.Context, thumbprintAlgorithm string, thumbprint string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.DeletePreparer(ctx, thumbprintAlgorithm, thumbprint, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.CertificateClient", "Delete", nil, "Failure preparing request") - return - } - - resp, err := client.DeleteSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.CertificateClient", "Delete", resp, "Failure sending request") - return - } - - result, err = client.DeleteResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.CertificateClient", "Delete", resp, "Failure responding to request") - } - - return -} - -// DeletePreparer prepares the Delete request. -func (client CertificateClient) DeletePreparer(ctx context.Context, thumbprintAlgorithm string, thumbprint string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "thumbprint": autorest.Encode("path", thumbprint), - "thumbprintAlgorithm": autorest.Encode("path", thumbprintAlgorithm), - } - - const APIVersion = "2017-09-01.6.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsDelete(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/certificates(thumbprintAlgorithm={thumbprintAlgorithm},thumbprint={thumbprint})", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DeleteSender sends the Delete request. The method will close the -// http.Response Body if it receives an error. -func (client CertificateClient) DeleteSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// DeleteResponder handles the response to the Delete request. The method always -// closes the http.Response Body. -func (client CertificateClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByClosing()) - result.Response = resp - return -} - -// Get gets information about the specified certificate. -// -// thumbprintAlgorithm is the algorithm used to derive the thumbprint parameter. This must be sha1. thumbprint is -// the thumbprint of the certificate to get. selectParameter is an OData $select clause. timeout is the maximum -// time that the server can spend processing the request, in seconds. The default is 30 seconds. clientRequestID is -// the caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. -func (client CertificateClient) Get(ctx context.Context, thumbprintAlgorithm string, thumbprint string, selectParameter string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result Certificate, err error) { - req, err := client.GetPreparer(ctx, thumbprintAlgorithm, thumbprint, selectParameter, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.CertificateClient", "Get", nil, "Failure preparing request") - return - } - - resp, err := client.GetSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.CertificateClient", "Get", resp, "Failure sending request") - return - } - - result, err = client.GetResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.CertificateClient", "Get", resp, "Failure responding to request") - } - - return -} - -// GetPreparer prepares the Get request. -func (client CertificateClient) GetPreparer(ctx context.Context, thumbprintAlgorithm string, thumbprint string, selectParameter string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "thumbprint": autorest.Encode("path", thumbprint), - "thumbprintAlgorithm": autorest.Encode("path", thumbprintAlgorithm), - } - - const APIVersion = "2017-09-01.6.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(selectParameter) > 0 { - queryParameters["$select"] = autorest.Encode("query", selectParameter) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/certificates(thumbprintAlgorithm={thumbprintAlgorithm},thumbprint={thumbprint})", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetSender sends the Get request. The method will close the -// http.Response Body if it receives an error. -func (client CertificateClient) GetSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// GetResponder handles the response to the Get request. The method always -// closes the http.Response Body. -func (client CertificateClient) GetResponder(resp *http.Response) (result Certificate, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// List sends the list request. -// -// filter is an OData $filter clause. For more information on constructing this filter, see -// https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-certificates. selectParameter -// is an OData $select clause. maxResults is the maximum number of items to return in the response. A maximum of -// 1000 certificates can be returned. timeout is the maximum time that the server can spend processing the request, -// in seconds. The default is 30 seconds. clientRequestID is the caller-generated request identity, in the form of -// a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID -// is whether the server should return the client-request-id in the response. ocpDate is the time the request was -// issued. Client libraries typically set this to the current system clock time; set it explicitly if you are -// calling the REST API directly. -func (client CertificateClient) List(ctx context.Context, filter string, selectParameter string, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result CertificateListResultPage, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: maxResults, - Constraints: []validation.Constraint{{Target: "maxResults", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "maxResults", Name: validation.InclusiveMaximum, Rule: 1000, Chain: nil}, - {Target: "maxResults", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}, - }}}}}); err != nil { - return result, validation.NewError("batch.CertificateClient", "List", err.Error()) - } - - result.fn = client.listNextResults - req, err := client.ListPreparer(ctx, filter, selectParameter, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.CertificateClient", "List", nil, "Failure preparing request") - return - } - - resp, err := client.ListSender(req) - if err != nil { - result.clr.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.CertificateClient", "List", resp, "Failure sending request") - return - } - - result.clr, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.CertificateClient", "List", resp, "Failure responding to request") - } - - return -} - -// ListPreparer prepares the List request. -func (client CertificateClient) ListPreparer(ctx context.Context, filter string, selectParameter string, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - const APIVersion = "2017-09-01.6.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(filter) > 0 { - queryParameters["$filter"] = autorest.Encode("query", filter) - } - if len(selectParameter) > 0 { - queryParameters["$select"] = autorest.Encode("query", selectParameter) - } - if maxResults != nil { - queryParameters["maxresults"] = autorest.Encode("query", *maxResults) - } else { - queryParameters["maxresults"] = autorest.Encode("query", 1000) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPath("/certificates"), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListSender sends the List request. The method will close the -// http.Response Body if it receives an error. -func (client CertificateClient) ListSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ListResponder handles the response to the List request. The method always -// closes the http.Response Body. -func (client CertificateClient) ListResponder(resp *http.Response) (result CertificateListResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listNextResults retrieves the next set of results, if any. -func (client CertificateClient) listNextResults(lastResults CertificateListResult) (result CertificateListResult, err error) { - req, err := lastResults.certificateListResultPreparer() - if err != nil { - return result, autorest.NewErrorWithError(err, "batch.CertificateClient", "listNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "batch.CertificateClient", "listNextResults", resp, "Failure sending next results request") - } - result, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.CertificateClient", "listNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListComplete enumerates all values, automatically crossing page boundaries as required. -func (client CertificateClient) ListComplete(ctx context.Context, filter string, selectParameter string, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result CertificateListResultIterator, err error) { - result.page, err = client.List(ctx, filter, selectParameter, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - return -} diff --git a/services/batch/2017-09-01.6.0/batch/client.go b/services/batch/2017-09-01.6.0/batch/client.go deleted file mode 100644 index 87ffc1ecd65a..000000000000 --- a/services/batch/2017-09-01.6.0/batch/client.go +++ /dev/null @@ -1,49 +0,0 @@ -// Package batch implements the Azure ARM Batch service API version 2017-09-01.6.0. -// -// A client for issuing REST requests to the Azure Batch service. -package batch - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "github.com/Azure/go-autorest/autorest" -) - -const ( - // DefaultBaseURI is the default URI used for the service Batch - DefaultBaseURI = "https://batch.core.windows.net" -) - -// BaseClient is the base client for Batch. -type BaseClient struct { - autorest.Client - BaseURI string -} - -// New creates an instance of the BaseClient client. -func New() BaseClient { - return NewWithBaseURI(DefaultBaseURI) -} - -// NewWithBaseURI creates an instance of the BaseClient client. -func NewWithBaseURI(baseURI string) BaseClient { - return BaseClient{ - Client: autorest.NewClientWithUserAgent(UserAgent()), - BaseURI: baseURI, - } -} diff --git a/services/batch/2017-09-01.6.0/batch/computenode.go b/services/batch/2017-09-01.6.0/batch/computenode.go deleted file mode 100644 index f28823c047f1..000000000000 --- a/services/batch/2017-09-01.6.0/batch/computenode.go +++ /dev/null @@ -1,1124 +0,0 @@ -package batch - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/autorest/date" - "github.com/Azure/go-autorest/autorest/validation" - "github.com/satori/go.uuid" - "net/http" -) - -// ComputeNodeClient is the a client for issuing REST requests to the Azure Batch service. -type ComputeNodeClient struct { - BaseClient -} - -// NewComputeNodeClient creates an instance of the ComputeNodeClient client. -func NewComputeNodeClient() ComputeNodeClient { - return NewComputeNodeClientWithBaseURI(DefaultBaseURI) -} - -// NewComputeNodeClientWithBaseURI creates an instance of the ComputeNodeClient client. -func NewComputeNodeClientWithBaseURI(baseURI string) ComputeNodeClient { - return ComputeNodeClient{NewWithBaseURI(baseURI)} -} - -// AddUser you can add a user account to a node only when it is in the idle or running state. -// -// poolID is the ID of the pool that contains the compute node. nodeID is the ID of the machine on which you want -// to create a user account. userParameter is the user account to be created. timeout is the maximum time that the -// server can spend processing the request, in seconds. The default is 30 seconds. clientRequestID is the -// caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. -func (client ComputeNodeClient) AddUser(ctx context.Context, poolID string, nodeID string, userParameter ComputeNodeUser, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: userParameter, - Constraints: []validation.Constraint{{Target: "userParameter.Name", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { - return result, validation.NewError("batch.ComputeNodeClient", "AddUser", err.Error()) - } - - req, err := client.AddUserPreparer(ctx, poolID, nodeID, userParameter, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "AddUser", nil, "Failure preparing request") - return - } - - resp, err := client.AddUserSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "AddUser", resp, "Failure sending request") - return - } - - result, err = client.AddUserResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "AddUser", resp, "Failure responding to request") - } - - return -} - -// AddUserPreparer prepares the AddUser request. -func (client ComputeNodeClient) AddUserPreparer(ctx context.Context, poolID string, nodeID string, userParameter ComputeNodeUser, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "nodeId": autorest.Encode("path", nodeID), - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2017-09-01.6.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/nodes/{nodeId}/users", pathParameters), - autorest.WithJSON(userParameter), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// AddUserSender sends the AddUser request. The method will close the -// http.Response Body if it receives an error. -func (client ComputeNodeClient) AddUserSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// AddUserResponder handles the response to the AddUser request. The method always -// closes the http.Response Body. -func (client ComputeNodeClient) AddUserResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), - autorest.ByClosing()) - result.Response = resp - return -} - -// DeleteUser you can delete a user account to a node only when it is in the idle or running state. -// -// poolID is the ID of the pool that contains the compute node. nodeID is the ID of the machine on which you want -// to delete a user account. userName is the name of the user account to delete. timeout is the maximum time that -// the server can spend processing the request, in seconds. The default is 30 seconds. clientRequestID is the -// caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. -func (client ComputeNodeClient) DeleteUser(ctx context.Context, poolID string, nodeID string, userName string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.DeleteUserPreparer(ctx, poolID, nodeID, userName, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "DeleteUser", nil, "Failure preparing request") - return - } - - resp, err := client.DeleteUserSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "DeleteUser", resp, "Failure sending request") - return - } - - result, err = client.DeleteUserResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "DeleteUser", resp, "Failure responding to request") - } - - return -} - -// DeleteUserPreparer prepares the DeleteUser request. -func (client ComputeNodeClient) DeleteUserPreparer(ctx context.Context, poolID string, nodeID string, userName string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "nodeId": autorest.Encode("path", nodeID), - "poolId": autorest.Encode("path", poolID), - "userName": autorest.Encode("path", userName), - } - - const APIVersion = "2017-09-01.6.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsDelete(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/nodes/{nodeId}/users/{userName}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DeleteUserSender sends the DeleteUser request. The method will close the -// http.Response Body if it receives an error. -func (client ComputeNodeClient) DeleteUserSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// DeleteUserResponder handles the response to the DeleteUser request. The method always -// closes the http.Response Body. -func (client ComputeNodeClient) DeleteUserResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} - -// DisableScheduling you can disable task scheduling on a node only if its current scheduling state is enabled. -// -// poolID is the ID of the pool that contains the compute node. nodeID is the ID of the compute node on which you -// want to disable task scheduling. nodeDisableSchedulingParameter is the parameters for the request. timeout is -// the maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. -// clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such as curly -// braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. -func (client ComputeNodeClient) DisableScheduling(ctx context.Context, poolID string, nodeID string, nodeDisableSchedulingParameter *NodeDisableSchedulingParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.DisableSchedulingPreparer(ctx, poolID, nodeID, nodeDisableSchedulingParameter, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "DisableScheduling", nil, "Failure preparing request") - return - } - - resp, err := client.DisableSchedulingSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "DisableScheduling", resp, "Failure sending request") - return - } - - result, err = client.DisableSchedulingResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "DisableScheduling", resp, "Failure responding to request") - } - - return -} - -// DisableSchedulingPreparer prepares the DisableScheduling request. -func (client ComputeNodeClient) DisableSchedulingPreparer(ctx context.Context, poolID string, nodeID string, nodeDisableSchedulingParameter *NodeDisableSchedulingParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "nodeId": autorest.Encode("path", nodeID), - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2017-09-01.6.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/nodes/{nodeId}/disablescheduling", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if nodeDisableSchedulingParameter != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithJSON(nodeDisableSchedulingParameter)) - } - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DisableSchedulingSender sends the DisableScheduling request. The method will close the -// http.Response Body if it receives an error. -func (client ComputeNodeClient) DisableSchedulingSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// DisableSchedulingResponder handles the response to the DisableScheduling request. The method always -// closes the http.Response Body. -func (client ComputeNodeClient) DisableSchedulingResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} - -// EnableScheduling you can enable task scheduling on a node only if its current scheduling state is disabled -// -// poolID is the ID of the pool that contains the compute node. nodeID is the ID of the compute node on which you -// want to enable task scheduling. timeout is the maximum time that the server can spend processing the request, in -// seconds. The default is 30 seconds. clientRequestID is the caller-generated request identity, in the form of a -// GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID -// is whether the server should return the client-request-id in the response. ocpDate is the time the request was -// issued. Client libraries typically set this to the current system clock time; set it explicitly if you are -// calling the REST API directly. -func (client ComputeNodeClient) EnableScheduling(ctx context.Context, poolID string, nodeID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.EnableSchedulingPreparer(ctx, poolID, nodeID, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "EnableScheduling", nil, "Failure preparing request") - return - } - - resp, err := client.EnableSchedulingSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "EnableScheduling", resp, "Failure sending request") - return - } - - result, err = client.EnableSchedulingResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "EnableScheduling", resp, "Failure responding to request") - } - - return -} - -// EnableSchedulingPreparer prepares the EnableScheduling request. -func (client ComputeNodeClient) EnableSchedulingPreparer(ctx context.Context, poolID string, nodeID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "nodeId": autorest.Encode("path", nodeID), - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2017-09-01.6.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/nodes/{nodeId}/enablescheduling", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// EnableSchedulingSender sends the EnableScheduling request. The method will close the -// http.Response Body if it receives an error. -func (client ComputeNodeClient) EnableSchedulingSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// EnableSchedulingResponder handles the response to the EnableScheduling request. The method always -// closes the http.Response Body. -func (client ComputeNodeClient) EnableSchedulingResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} - -// Get sends the get request. -// -// poolID is the ID of the pool that contains the compute node. nodeID is the ID of the compute node that you want -// to get information about. selectParameter is an OData $select clause. timeout is the maximum time that the -// server can spend processing the request, in seconds. The default is 30 seconds. clientRequestID is the -// caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. -func (client ComputeNodeClient) Get(ctx context.Context, poolID string, nodeID string, selectParameter string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result ComputeNode, err error) { - req, err := client.GetPreparer(ctx, poolID, nodeID, selectParameter, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "Get", nil, "Failure preparing request") - return - } - - resp, err := client.GetSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "Get", resp, "Failure sending request") - return - } - - result, err = client.GetResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "Get", resp, "Failure responding to request") - } - - return -} - -// GetPreparer prepares the Get request. -func (client ComputeNodeClient) GetPreparer(ctx context.Context, poolID string, nodeID string, selectParameter string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "nodeId": autorest.Encode("path", nodeID), - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2017-09-01.6.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(selectParameter) > 0 { - queryParameters["$select"] = autorest.Encode("query", selectParameter) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/nodes/{nodeId}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetSender sends the Get request. The method will close the -// http.Response Body if it receives an error. -func (client ComputeNodeClient) GetSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// GetResponder handles the response to the Get request. The method always -// closes the http.Response Body. -func (client ComputeNodeClient) GetResponder(resp *http.Response) (result ComputeNode, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// GetRemoteDesktop before you can access a node by using the RDP file, you must create a user account on the node. -// This API can only be invoked on pools created with a cloud service configuration. For pools created with a virtual -// machine configuration, see the GetRemoteLoginSettings API. -// -// poolID is the ID of the pool that contains the compute node. nodeID is the ID of the compute node for which you -// want to get the Remote Desktop Protocol file. timeout is the maximum time that the server can spend processing -// the request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated request identity, in -// the form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. -// returnClientRequestID is whether the server should return the client-request-id in the response. ocpDate is the -// time the request was issued. Client libraries typically set this to the current system clock time; set it -// explicitly if you are calling the REST API directly. -func (client ComputeNodeClient) GetRemoteDesktop(ctx context.Context, poolID string, nodeID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result ReadCloser, err error) { - req, err := client.GetRemoteDesktopPreparer(ctx, poolID, nodeID, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "GetRemoteDesktop", nil, "Failure preparing request") - return - } - - resp, err := client.GetRemoteDesktopSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "GetRemoteDesktop", resp, "Failure sending request") - return - } - - result, err = client.GetRemoteDesktopResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "GetRemoteDesktop", resp, "Failure responding to request") - } - - return -} - -// GetRemoteDesktopPreparer prepares the GetRemoteDesktop request. -func (client ComputeNodeClient) GetRemoteDesktopPreparer(ctx context.Context, poolID string, nodeID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "nodeId": autorest.Encode("path", nodeID), - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2017-09-01.6.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/nodes/{nodeId}/rdp", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetRemoteDesktopSender sends the GetRemoteDesktop request. The method will close the -// http.Response Body if it receives an error. -func (client ComputeNodeClient) GetRemoteDesktopSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// GetRemoteDesktopResponder handles the response to the GetRemoteDesktop request. The method always -// closes the http.Response Body. -func (client ComputeNodeClient) GetRemoteDesktopResponder(resp *http.Response) (result ReadCloser, err error) { - result.Value = &resp.Body - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK)) - result.Response = autorest.Response{Response: resp} - return -} - -// GetRemoteLoginSettings before you can remotely login to a node using the remote login settings, you must create a -// user account on the node. This API can be invoked only on pools created with the virtual machine configuration -// property. For pools created with a cloud service configuration, see the GetRemoteDesktop API. -// -// poolID is the ID of the pool that contains the compute node. nodeID is the ID of the compute node for which to -// obtain the remote login settings. timeout is the maximum time that the server can spend processing the request, -// in seconds. The default is 30 seconds. clientRequestID is the caller-generated request identity, in the form of -// a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID -// is whether the server should return the client-request-id in the response. ocpDate is the time the request was -// issued. Client libraries typically set this to the current system clock time; set it explicitly if you are -// calling the REST API directly. -func (client ComputeNodeClient) GetRemoteLoginSettings(ctx context.Context, poolID string, nodeID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result ComputeNodeGetRemoteLoginSettingsResult, err error) { - req, err := client.GetRemoteLoginSettingsPreparer(ctx, poolID, nodeID, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "GetRemoteLoginSettings", nil, "Failure preparing request") - return - } - - resp, err := client.GetRemoteLoginSettingsSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "GetRemoteLoginSettings", resp, "Failure sending request") - return - } - - result, err = client.GetRemoteLoginSettingsResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "GetRemoteLoginSettings", resp, "Failure responding to request") - } - - return -} - -// GetRemoteLoginSettingsPreparer prepares the GetRemoteLoginSettings request. -func (client ComputeNodeClient) GetRemoteLoginSettingsPreparer(ctx context.Context, poolID string, nodeID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "nodeId": autorest.Encode("path", nodeID), - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2017-09-01.6.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/nodes/{nodeId}/remoteloginsettings", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetRemoteLoginSettingsSender sends the GetRemoteLoginSettings request. The method will close the -// http.Response Body if it receives an error. -func (client ComputeNodeClient) GetRemoteLoginSettingsSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// GetRemoteLoginSettingsResponder handles the response to the GetRemoteLoginSettings request. The method always -// closes the http.Response Body. -func (client ComputeNodeClient) GetRemoteLoginSettingsResponder(resp *http.Response) (result ComputeNodeGetRemoteLoginSettingsResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// List sends the list request. -// -// poolID is the ID of the pool from which you want to list nodes. filter is an OData $filter clause. For more -// information on constructing this filter, see -// https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-nodes-in-a-pool. -// selectParameter is an OData $select clause. maxResults is the maximum number of items to return in the response. -// A maximum of 1000 nodes can be returned. timeout is the maximum time that the server can spend processing the -// request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated request identity, in the -// form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. -// returnClientRequestID is whether the server should return the client-request-id in the response. ocpDate is the -// time the request was issued. Client libraries typically set this to the current system clock time; set it -// explicitly if you are calling the REST API directly. -func (client ComputeNodeClient) List(ctx context.Context, poolID string, filter string, selectParameter string, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result ComputeNodeListResultPage, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: maxResults, - Constraints: []validation.Constraint{{Target: "maxResults", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "maxResults", Name: validation.InclusiveMaximum, Rule: 1000, Chain: nil}, - {Target: "maxResults", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}, - }}}}}); err != nil { - return result, validation.NewError("batch.ComputeNodeClient", "List", err.Error()) - } - - result.fn = client.listNextResults - req, err := client.ListPreparer(ctx, poolID, filter, selectParameter, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "List", nil, "Failure preparing request") - return - } - - resp, err := client.ListSender(req) - if err != nil { - result.cnlr.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "List", resp, "Failure sending request") - return - } - - result.cnlr, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "List", resp, "Failure responding to request") - } - - return -} - -// ListPreparer prepares the List request. -func (client ComputeNodeClient) ListPreparer(ctx context.Context, poolID string, filter string, selectParameter string, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2017-09-01.6.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(filter) > 0 { - queryParameters["$filter"] = autorest.Encode("query", filter) - } - if len(selectParameter) > 0 { - queryParameters["$select"] = autorest.Encode("query", selectParameter) - } - if maxResults != nil { - queryParameters["maxresults"] = autorest.Encode("query", *maxResults) - } else { - queryParameters["maxresults"] = autorest.Encode("query", 1000) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/nodes", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListSender sends the List request. The method will close the -// http.Response Body if it receives an error. -func (client ComputeNodeClient) ListSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ListResponder handles the response to the List request. The method always -// closes the http.Response Body. -func (client ComputeNodeClient) ListResponder(resp *http.Response) (result ComputeNodeListResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listNextResults retrieves the next set of results, if any. -func (client ComputeNodeClient) listNextResults(lastResults ComputeNodeListResult) (result ComputeNodeListResult, err error) { - req, err := lastResults.computeNodeListResultPreparer() - if err != nil { - return result, autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "listNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "listNextResults", resp, "Failure sending next results request") - } - result, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "listNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListComplete enumerates all values, automatically crossing page boundaries as required. -func (client ComputeNodeClient) ListComplete(ctx context.Context, poolID string, filter string, selectParameter string, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result ComputeNodeListResultIterator, err error) { - result.page, err = client.List(ctx, poolID, filter, selectParameter, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - return -} - -// Reboot you can restart a node only if it is in an idle or running state. -// -// poolID is the ID of the pool that contains the compute node. nodeID is the ID of the compute node that you want -// to restart. nodeRebootParameter is the parameters for the request. timeout is the maximum time that the server -// can spend processing the request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated -// request identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. -func (client ComputeNodeClient) Reboot(ctx context.Context, poolID string, nodeID string, nodeRebootParameter *NodeRebootParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.RebootPreparer(ctx, poolID, nodeID, nodeRebootParameter, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "Reboot", nil, "Failure preparing request") - return - } - - resp, err := client.RebootSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "Reboot", resp, "Failure sending request") - return - } - - result, err = client.RebootResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "Reboot", resp, "Failure responding to request") - } - - return -} - -// RebootPreparer prepares the Reboot request. -func (client ComputeNodeClient) RebootPreparer(ctx context.Context, poolID string, nodeID string, nodeRebootParameter *NodeRebootParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "nodeId": autorest.Encode("path", nodeID), - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2017-09-01.6.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/nodes/{nodeId}/reboot", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if nodeRebootParameter != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithJSON(nodeRebootParameter)) - } - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// RebootSender sends the Reboot request. The method will close the -// http.Response Body if it receives an error. -func (client ComputeNodeClient) RebootSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// RebootResponder handles the response to the Reboot request. The method always -// closes the http.Response Body. -func (client ComputeNodeClient) RebootResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByClosing()) - result.Response = resp - return -} - -// Reimage you can reinstall the operating system on a node only if it is in an idle or running state. This API can be -// invoked only on pools created with the cloud service configuration property. -// -// poolID is the ID of the pool that contains the compute node. nodeID is the ID of the compute node that you want -// to restart. nodeReimageParameter is the parameters for the request. timeout is the maximum time that the server -// can spend processing the request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated -// request identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. -func (client ComputeNodeClient) Reimage(ctx context.Context, poolID string, nodeID string, nodeReimageParameter *NodeReimageParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.ReimagePreparer(ctx, poolID, nodeID, nodeReimageParameter, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "Reimage", nil, "Failure preparing request") - return - } - - resp, err := client.ReimageSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "Reimage", resp, "Failure sending request") - return - } - - result, err = client.ReimageResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "Reimage", resp, "Failure responding to request") - } - - return -} - -// ReimagePreparer prepares the Reimage request. -func (client ComputeNodeClient) ReimagePreparer(ctx context.Context, poolID string, nodeID string, nodeReimageParameter *NodeReimageParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "nodeId": autorest.Encode("path", nodeID), - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2017-09-01.6.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/nodes/{nodeId}/reimage", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if nodeReimageParameter != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithJSON(nodeReimageParameter)) - } - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ReimageSender sends the Reimage request. The method will close the -// http.Response Body if it receives an error. -func (client ComputeNodeClient) ReimageSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ReimageResponder handles the response to the Reimage request. The method always -// closes the http.Response Body. -func (client ComputeNodeClient) ReimageResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByClosing()) - result.Response = resp - return -} - -// UpdateUser this operation replaces of all the updateable properties of the account. For example, if the expiryTime -// element is not specified, the current value is replaced with the default value, not left unmodified. You can update -// a user account on a node only when it is in the idle or running state. -// -// poolID is the ID of the pool that contains the compute node. nodeID is the ID of the machine on which you want -// to update a user account. userName is the name of the user account to update. nodeUpdateUserParameter is the -// parameters for the request. timeout is the maximum time that the server can spend processing the request, in -// seconds. The default is 30 seconds. clientRequestID is the caller-generated request identity, in the form of a -// GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID -// is whether the server should return the client-request-id in the response. ocpDate is the time the request was -// issued. Client libraries typically set this to the current system clock time; set it explicitly if you are -// calling the REST API directly. -func (client ComputeNodeClient) UpdateUser(ctx context.Context, poolID string, nodeID string, userName string, nodeUpdateUserParameter NodeUpdateUserParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.UpdateUserPreparer(ctx, poolID, nodeID, userName, nodeUpdateUserParameter, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "UpdateUser", nil, "Failure preparing request") - return - } - - resp, err := client.UpdateUserSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "UpdateUser", resp, "Failure sending request") - return - } - - result, err = client.UpdateUserResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.ComputeNodeClient", "UpdateUser", resp, "Failure responding to request") - } - - return -} - -// UpdateUserPreparer prepares the UpdateUser request. -func (client ComputeNodeClient) UpdateUserPreparer(ctx context.Context, poolID string, nodeID string, userName string, nodeUpdateUserParameter NodeUpdateUserParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "nodeId": autorest.Encode("path", nodeID), - "poolId": autorest.Encode("path", poolID), - "userName": autorest.Encode("path", userName), - } - - const APIVersion = "2017-09-01.6.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPut(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/nodes/{nodeId}/users/{userName}", pathParameters), - autorest.WithJSON(nodeUpdateUserParameter), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// UpdateUserSender sends the UpdateUser request. The method will close the -// http.Response Body if it receives an error. -func (client ComputeNodeClient) UpdateUserSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// UpdateUserResponder handles the response to the UpdateUser request. The method always -// closes the http.Response Body. -func (client ComputeNodeClient) UpdateUserResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} diff --git a/services/batch/2017-09-01.6.0/batch/file.go b/services/batch/2017-09-01.6.0/batch/file.go deleted file mode 100644 index d05993078297..000000000000 --- a/services/batch/2017-09-01.6.0/batch/file.go +++ /dev/null @@ -1,946 +0,0 @@ -package batch - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/autorest/date" - "github.com/Azure/go-autorest/autorest/validation" - "github.com/satori/go.uuid" - "net/http" -) - -// FileClient is the a client for issuing REST requests to the Azure Batch service. -type FileClient struct { - BaseClient -} - -// NewFileClient creates an instance of the FileClient client. -func NewFileClient() FileClient { - return NewFileClientWithBaseURI(DefaultBaseURI) -} - -// NewFileClientWithBaseURI creates an instance of the FileClient client. -func NewFileClientWithBaseURI(baseURI string) FileClient { - return FileClient{NewWithBaseURI(baseURI)} -} - -// DeleteFromComputeNode sends the delete from compute node request. -// -// poolID is the ID of the pool that contains the compute node. nodeID is the ID of the compute node from which you -// want to delete the file. filePath is the path to the file or directory that you want to delete. recursive is -// whether to delete children of a directory. If the filePath parameter represents a directory instead of a file, -// you can set recursive to true to delete the directory and all of the files and subdirectories in it. If -// recursive is false then the directory must be empty or deletion will fail. timeout is the maximum time that the -// server can spend processing the request, in seconds. The default is 30 seconds. clientRequestID is the -// caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. -func (client FileClient) DeleteFromComputeNode(ctx context.Context, poolID string, nodeID string, filePath string, recursive *bool, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.DeleteFromComputeNodePreparer(ctx, poolID, nodeID, filePath, recursive, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "DeleteFromComputeNode", nil, "Failure preparing request") - return - } - - resp, err := client.DeleteFromComputeNodeSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.FileClient", "DeleteFromComputeNode", resp, "Failure sending request") - return - } - - result, err = client.DeleteFromComputeNodeResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "DeleteFromComputeNode", resp, "Failure responding to request") - } - - return -} - -// DeleteFromComputeNodePreparer prepares the DeleteFromComputeNode request. -func (client FileClient) DeleteFromComputeNodePreparer(ctx context.Context, poolID string, nodeID string, filePath string, recursive *bool, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "filePath": autorest.Encode("path", filePath), - "nodeId": autorest.Encode("path", nodeID), - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2017-09-01.6.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if recursive != nil { - queryParameters["recursive"] = autorest.Encode("query", *recursive) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsDelete(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/nodes/{nodeId}/files/{filePath}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DeleteFromComputeNodeSender sends the DeleteFromComputeNode request. The method will close the -// http.Response Body if it receives an error. -func (client FileClient) DeleteFromComputeNodeSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// DeleteFromComputeNodeResponder handles the response to the DeleteFromComputeNode request. The method always -// closes the http.Response Body. -func (client FileClient) DeleteFromComputeNodeResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} - -// DeleteFromTask sends the delete from task request. -// -// jobID is the ID of the job that contains the task. taskID is the ID of the task whose file you want to delete. -// filePath is the path to the task file or directory that you want to delete. recursive is whether to delete -// children of a directory. If the filePath parameter represents a directory instead of a file, you can set -// recursive to true to delete the directory and all of the files and subdirectories in it. If recursive is false -// then the directory must be empty or deletion will fail. timeout is the maximum time that the server can spend -// processing the request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated request -// identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. -func (client FileClient) DeleteFromTask(ctx context.Context, jobID string, taskID string, filePath string, recursive *bool, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.DeleteFromTaskPreparer(ctx, jobID, taskID, filePath, recursive, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "DeleteFromTask", nil, "Failure preparing request") - return - } - - resp, err := client.DeleteFromTaskSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.FileClient", "DeleteFromTask", resp, "Failure sending request") - return - } - - result, err = client.DeleteFromTaskResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "DeleteFromTask", resp, "Failure responding to request") - } - - return -} - -// DeleteFromTaskPreparer prepares the DeleteFromTask request. -func (client FileClient) DeleteFromTaskPreparer(ctx context.Context, jobID string, taskID string, filePath string, recursive *bool, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "filePath": autorest.Encode("path", filePath), - "jobId": autorest.Encode("path", jobID), - "taskId": autorest.Encode("path", taskID), - } - - const APIVersion = "2017-09-01.6.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if recursive != nil { - queryParameters["recursive"] = autorest.Encode("query", *recursive) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsDelete(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}/tasks/{taskId}/files/{filePath}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DeleteFromTaskSender sends the DeleteFromTask request. The method will close the -// http.Response Body if it receives an error. -func (client FileClient) DeleteFromTaskSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// DeleteFromTaskResponder handles the response to the DeleteFromTask request. The method always -// closes the http.Response Body. -func (client FileClient) DeleteFromTaskResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} - -// GetFromComputeNode returns the content of the specified compute node file. -// -// poolID is the ID of the pool that contains the compute node. nodeID is the ID of the compute node that contains -// the file. filePath is the path to the compute node file that you want to get the content of. timeout is the -// maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. -// clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such as curly -// braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. ocpRange is -// the byte range to be retrieved. The default is to retrieve the entire file. The format is -// bytes=startRange-endRange. ifModifiedSince is a timestamp indicating the last modified time of the resource -// known to the client. The operation will be performed only if the resource on the service has been modified since -// the specified time. ifUnmodifiedSince is a timestamp indicating the last modified time of the resource known to -// the client. The operation will be performed only if the resource on the service has not been modified since the -// specified time. -func (client FileClient) GetFromComputeNode(ctx context.Context, poolID string, nodeID string, filePath string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ocpRange string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result ReadCloser, err error) { - req, err := client.GetFromComputeNodePreparer(ctx, poolID, nodeID, filePath, timeout, clientRequestID, returnClientRequestID, ocpDate, ocpRange, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "GetFromComputeNode", nil, "Failure preparing request") - return - } - - resp, err := client.GetFromComputeNodeSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.FileClient", "GetFromComputeNode", resp, "Failure sending request") - return - } - - result, err = client.GetFromComputeNodeResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "GetFromComputeNode", resp, "Failure responding to request") - } - - return -} - -// GetFromComputeNodePreparer prepares the GetFromComputeNode request. -func (client FileClient) GetFromComputeNodePreparer(ctx context.Context, poolID string, nodeID string, filePath string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ocpRange string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "filePath": autorest.Encode("path", filePath), - "nodeId": autorest.Encode("path", nodeID), - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2017-09-01.6.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/nodes/{nodeId}/files/{filePath}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ocpRange) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-range", autorest.String(ocpRange))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetFromComputeNodeSender sends the GetFromComputeNode request. The method will close the -// http.Response Body if it receives an error. -func (client FileClient) GetFromComputeNodeSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// GetFromComputeNodeResponder handles the response to the GetFromComputeNode request. The method always -// closes the http.Response Body. -func (client FileClient) GetFromComputeNodeResponder(resp *http.Response) (result ReadCloser, err error) { - result.Value = &resp.Body - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK)) - result.Response = autorest.Response{Response: resp} - return -} - -// GetFromTask returns the content of the specified task file. -// -// jobID is the ID of the job that contains the task. taskID is the ID of the task whose file you want to retrieve. -// filePath is the path to the task file that you want to get the content of. timeout is the maximum time that the -// server can spend processing the request, in seconds. The default is 30 seconds. clientRequestID is the -// caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. ocpRange is -// the byte range to be retrieved. The default is to retrieve the entire file. The format is -// bytes=startRange-endRange. ifModifiedSince is a timestamp indicating the last modified time of the resource -// known to the client. The operation will be performed only if the resource on the service has been modified since -// the specified time. ifUnmodifiedSince is a timestamp indicating the last modified time of the resource known to -// the client. The operation will be performed only if the resource on the service has not been modified since the -// specified time. -func (client FileClient) GetFromTask(ctx context.Context, jobID string, taskID string, filePath string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ocpRange string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result ReadCloser, err error) { - req, err := client.GetFromTaskPreparer(ctx, jobID, taskID, filePath, timeout, clientRequestID, returnClientRequestID, ocpDate, ocpRange, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "GetFromTask", nil, "Failure preparing request") - return - } - - resp, err := client.GetFromTaskSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.FileClient", "GetFromTask", resp, "Failure sending request") - return - } - - result, err = client.GetFromTaskResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "GetFromTask", resp, "Failure responding to request") - } - - return -} - -// GetFromTaskPreparer prepares the GetFromTask request. -func (client FileClient) GetFromTaskPreparer(ctx context.Context, jobID string, taskID string, filePath string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ocpRange string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "filePath": autorest.Encode("path", filePath), - "jobId": autorest.Encode("path", jobID), - "taskId": autorest.Encode("path", taskID), - } - - const APIVersion = "2017-09-01.6.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}/tasks/{taskId}/files/{filePath}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ocpRange) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-range", autorest.String(ocpRange))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetFromTaskSender sends the GetFromTask request. The method will close the -// http.Response Body if it receives an error. -func (client FileClient) GetFromTaskSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// GetFromTaskResponder handles the response to the GetFromTask request. The method always -// closes the http.Response Body. -func (client FileClient) GetFromTaskResponder(resp *http.Response) (result ReadCloser, err error) { - result.Value = &resp.Body - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK)) - result.Response = autorest.Response{Response: resp} - return -} - -// GetPropertiesFromComputeNode gets the properties of the specified compute node file. -// -// poolID is the ID of the pool that contains the compute node. nodeID is the ID of the compute node that contains -// the file. filePath is the path to the compute node file that you want to get the properties of. timeout is the -// maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. -// clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such as curly -// braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. -// ifModifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has been modified since the specified time. -// ifUnmodifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has not been modified since the specified time. -func (client FileClient) GetPropertiesFromComputeNode(ctx context.Context, poolID string, nodeID string, filePath string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.GetPropertiesFromComputeNodePreparer(ctx, poolID, nodeID, filePath, timeout, clientRequestID, returnClientRequestID, ocpDate, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "GetPropertiesFromComputeNode", nil, "Failure preparing request") - return - } - - resp, err := client.GetPropertiesFromComputeNodeSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.FileClient", "GetPropertiesFromComputeNode", resp, "Failure sending request") - return - } - - result, err = client.GetPropertiesFromComputeNodeResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "GetPropertiesFromComputeNode", resp, "Failure responding to request") - } - - return -} - -// GetPropertiesFromComputeNodePreparer prepares the GetPropertiesFromComputeNode request. -func (client FileClient) GetPropertiesFromComputeNodePreparer(ctx context.Context, poolID string, nodeID string, filePath string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "filePath": autorest.Encode("path", filePath), - "nodeId": autorest.Encode("path", nodeID), - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2017-09-01.6.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsHead(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/nodes/{nodeId}/files/{filePath}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetPropertiesFromComputeNodeSender sends the GetPropertiesFromComputeNode request. The method will close the -// http.Response Body if it receives an error. -func (client FileClient) GetPropertiesFromComputeNodeSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// GetPropertiesFromComputeNodeResponder handles the response to the GetPropertiesFromComputeNode request. The method always -// closes the http.Response Body. -func (client FileClient) GetPropertiesFromComputeNodeResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} - -// GetPropertiesFromTask gets the properties of the specified task file. -// -// jobID is the ID of the job that contains the task. taskID is the ID of the task whose file you want to get the -// properties of. filePath is the path to the task file that you want to get the properties of. timeout is the -// maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. -// clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such as curly -// braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. -// ifModifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has been modified since the specified time. -// ifUnmodifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has not been modified since the specified time. -func (client FileClient) GetPropertiesFromTask(ctx context.Context, jobID string, taskID string, filePath string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.GetPropertiesFromTaskPreparer(ctx, jobID, taskID, filePath, timeout, clientRequestID, returnClientRequestID, ocpDate, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "GetPropertiesFromTask", nil, "Failure preparing request") - return - } - - resp, err := client.GetPropertiesFromTaskSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.FileClient", "GetPropertiesFromTask", resp, "Failure sending request") - return - } - - result, err = client.GetPropertiesFromTaskResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "GetPropertiesFromTask", resp, "Failure responding to request") - } - - return -} - -// GetPropertiesFromTaskPreparer prepares the GetPropertiesFromTask request. -func (client FileClient) GetPropertiesFromTaskPreparer(ctx context.Context, jobID string, taskID string, filePath string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "filePath": autorest.Encode("path", filePath), - "jobId": autorest.Encode("path", jobID), - "taskId": autorest.Encode("path", taskID), - } - - const APIVersion = "2017-09-01.6.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsHead(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}/tasks/{taskId}/files/{filePath}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetPropertiesFromTaskSender sends the GetPropertiesFromTask request. The method will close the -// http.Response Body if it receives an error. -func (client FileClient) GetPropertiesFromTaskSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// GetPropertiesFromTaskResponder handles the response to the GetPropertiesFromTask request. The method always -// closes the http.Response Body. -func (client FileClient) GetPropertiesFromTaskResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} - -// ListFromComputeNode sends the list from compute node request. -// -// poolID is the ID of the pool that contains the compute node. nodeID is the ID of the compute node whose files -// you want to list. filter is an OData $filter clause. For more information on constructing this filter, see -// https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-compute-node-files. recursive -// is whether to list children of a directory. maxResults is the maximum number of items to return in the response. -// A maximum of 1000 files can be returned. timeout is the maximum time that the server can spend processing the -// request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated request identity, in the -// form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. -// returnClientRequestID is whether the server should return the client-request-id in the response. ocpDate is the -// time the request was issued. Client libraries typically set this to the current system clock time; set it -// explicitly if you are calling the REST API directly. -func (client FileClient) ListFromComputeNode(ctx context.Context, poolID string, nodeID string, filter string, recursive *bool, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result NodeFileListResultPage, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: maxResults, - Constraints: []validation.Constraint{{Target: "maxResults", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "maxResults", Name: validation.InclusiveMaximum, Rule: 1000, Chain: nil}, - {Target: "maxResults", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}, - }}}}}); err != nil { - return result, validation.NewError("batch.FileClient", "ListFromComputeNode", err.Error()) - } - - result.fn = client.listFromComputeNodeNextResults - req, err := client.ListFromComputeNodePreparer(ctx, poolID, nodeID, filter, recursive, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "ListFromComputeNode", nil, "Failure preparing request") - return - } - - resp, err := client.ListFromComputeNodeSender(req) - if err != nil { - result.nflr.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.FileClient", "ListFromComputeNode", resp, "Failure sending request") - return - } - - result.nflr, err = client.ListFromComputeNodeResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "ListFromComputeNode", resp, "Failure responding to request") - } - - return -} - -// ListFromComputeNodePreparer prepares the ListFromComputeNode request. -func (client FileClient) ListFromComputeNodePreparer(ctx context.Context, poolID string, nodeID string, filter string, recursive *bool, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "nodeId": autorest.Encode("path", nodeID), - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2017-09-01.6.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(filter) > 0 { - queryParameters["$filter"] = autorest.Encode("query", filter) - } - if recursive != nil { - queryParameters["recursive"] = autorest.Encode("query", *recursive) - } - if maxResults != nil { - queryParameters["maxresults"] = autorest.Encode("query", *maxResults) - } else { - queryParameters["maxresults"] = autorest.Encode("query", 1000) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/nodes/{nodeId}/files", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListFromComputeNodeSender sends the ListFromComputeNode request. The method will close the -// http.Response Body if it receives an error. -func (client FileClient) ListFromComputeNodeSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ListFromComputeNodeResponder handles the response to the ListFromComputeNode request. The method always -// closes the http.Response Body. -func (client FileClient) ListFromComputeNodeResponder(resp *http.Response) (result NodeFileListResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listFromComputeNodeNextResults retrieves the next set of results, if any. -func (client FileClient) listFromComputeNodeNextResults(lastResults NodeFileListResult) (result NodeFileListResult, err error) { - req, err := lastResults.nodeFileListResultPreparer() - if err != nil { - return result, autorest.NewErrorWithError(err, "batch.FileClient", "listFromComputeNodeNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListFromComputeNodeSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "batch.FileClient", "listFromComputeNodeNextResults", resp, "Failure sending next results request") - } - result, err = client.ListFromComputeNodeResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "listFromComputeNodeNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListFromComputeNodeComplete enumerates all values, automatically crossing page boundaries as required. -func (client FileClient) ListFromComputeNodeComplete(ctx context.Context, poolID string, nodeID string, filter string, recursive *bool, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result NodeFileListResultIterator, err error) { - result.page, err = client.ListFromComputeNode(ctx, poolID, nodeID, filter, recursive, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - return -} - -// ListFromTask sends the list from task request. -// -// jobID is the ID of the job that contains the task. taskID is the ID of the task whose files you want to list. -// filter is an OData $filter clause. For more information on constructing this filter, see -// https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-task-files. recursive is -// whether to list children of the task directory. This parameter can be used in combination with the filter -// parameter to list specific type of files. maxResults is the maximum number of items to return in the response. A -// maximum of 1000 files can be returned. timeout is the maximum time that the server can spend processing the -// request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated request identity, in the -// form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. -// returnClientRequestID is whether the server should return the client-request-id in the response. ocpDate is the -// time the request was issued. Client libraries typically set this to the current system clock time; set it -// explicitly if you are calling the REST API directly. -func (client FileClient) ListFromTask(ctx context.Context, jobID string, taskID string, filter string, recursive *bool, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result NodeFileListResultPage, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: maxResults, - Constraints: []validation.Constraint{{Target: "maxResults", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "maxResults", Name: validation.InclusiveMaximum, Rule: 1000, Chain: nil}, - {Target: "maxResults", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}, - }}}}}); err != nil { - return result, validation.NewError("batch.FileClient", "ListFromTask", err.Error()) - } - - result.fn = client.listFromTaskNextResults - req, err := client.ListFromTaskPreparer(ctx, jobID, taskID, filter, recursive, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "ListFromTask", nil, "Failure preparing request") - return - } - - resp, err := client.ListFromTaskSender(req) - if err != nil { - result.nflr.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.FileClient", "ListFromTask", resp, "Failure sending request") - return - } - - result.nflr, err = client.ListFromTaskResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "ListFromTask", resp, "Failure responding to request") - } - - return -} - -// ListFromTaskPreparer prepares the ListFromTask request. -func (client FileClient) ListFromTaskPreparer(ctx context.Context, jobID string, taskID string, filter string, recursive *bool, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - "taskId": autorest.Encode("path", taskID), - } - - const APIVersion = "2017-09-01.6.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(filter) > 0 { - queryParameters["$filter"] = autorest.Encode("query", filter) - } - if recursive != nil { - queryParameters["recursive"] = autorest.Encode("query", *recursive) - } - if maxResults != nil { - queryParameters["maxresults"] = autorest.Encode("query", *maxResults) - } else { - queryParameters["maxresults"] = autorest.Encode("query", 1000) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}/tasks/{taskId}/files", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListFromTaskSender sends the ListFromTask request. The method will close the -// http.Response Body if it receives an error. -func (client FileClient) ListFromTaskSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ListFromTaskResponder handles the response to the ListFromTask request. The method always -// closes the http.Response Body. -func (client FileClient) ListFromTaskResponder(resp *http.Response) (result NodeFileListResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listFromTaskNextResults retrieves the next set of results, if any. -func (client FileClient) listFromTaskNextResults(lastResults NodeFileListResult) (result NodeFileListResult, err error) { - req, err := lastResults.nodeFileListResultPreparer() - if err != nil { - return result, autorest.NewErrorWithError(err, "batch.FileClient", "listFromTaskNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListFromTaskSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "batch.FileClient", "listFromTaskNextResults", resp, "Failure sending next results request") - } - result, err = client.ListFromTaskResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.FileClient", "listFromTaskNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListFromTaskComplete enumerates all values, automatically crossing page boundaries as required. -func (client FileClient) ListFromTaskComplete(ctx context.Context, jobID string, taskID string, filter string, recursive *bool, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result NodeFileListResultIterator, err error) { - result.page, err = client.ListFromTask(ctx, jobID, taskID, filter, recursive, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - return -} diff --git a/services/batch/2017-09-01.6.0/batch/job.go b/services/batch/2017-09-01.6.0/batch/job.go deleted file mode 100644 index a1ce513e8337..000000000000 --- a/services/batch/2017-09-01.6.0/batch/job.go +++ /dev/null @@ -1,1660 +0,0 @@ -package batch - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/autorest/date" - "github.com/Azure/go-autorest/autorest/validation" - "github.com/satori/go.uuid" - "net/http" -) - -// JobClient is the a client for issuing REST requests to the Azure Batch service. -type JobClient struct { - BaseClient -} - -// NewJobClient creates an instance of the JobClient client. -func NewJobClient() JobClient { - return NewJobClientWithBaseURI(DefaultBaseURI) -} - -// NewJobClientWithBaseURI creates an instance of the JobClient client. -func NewJobClientWithBaseURI(baseURI string) JobClient { - return JobClient{NewWithBaseURI(baseURI)} -} - -// Add the Batch service supports two ways to control the work done as part of a job. In the first approach, the user -// specifies a Job Manager task. The Batch service launches this task when it is ready to start the job. The Job -// Manager task controls all other tasks that run under this job, by using the Task APIs. In the second approach, the -// user directly controls the execution of tasks under an active job, by using the Task APIs. Also note: when naming -// jobs, avoid including sensitive information such as user names or secret project names. This information may appear -// in telemetry logs accessible to Microsoft Support engineers. -// -// job is the job to be added. timeout is the maximum time that the server can spend processing the request, in -// seconds. The default is 30 seconds. clientRequestID is the caller-generated request identity, in the form of a -// GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID -// is whether the server should return the client-request-id in the response. ocpDate is the time the request was -// issued. Client libraries typically set this to the current system clock time; set it explicitly if you are -// calling the REST API directly. -func (client JobClient) Add(ctx context.Context, job JobAddParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: job, - Constraints: []validation.Constraint{{Target: "job.ID", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "job.JobManagerTask", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "job.JobManagerTask.ID", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "job.JobManagerTask.CommandLine", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "job.JobManagerTask.ContainerSettings", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "job.JobManagerTask.ContainerSettings.ImageName", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "job.JobManagerTask.ContainerSettings.Registry", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "job.JobManagerTask.ContainerSettings.Registry.UserName", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "job.JobManagerTask.ContainerSettings.Registry.Password", Name: validation.Null, Rule: true, Chain: nil}, - }}, - }}, - }}, - {Target: "job.JobPreparationTask", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "job.JobPreparationTask.CommandLine", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "job.JobPreparationTask.ContainerSettings", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "job.JobPreparationTask.ContainerSettings.ImageName", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "job.JobPreparationTask.ContainerSettings.Registry", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "job.JobPreparationTask.ContainerSettings.Registry.UserName", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "job.JobPreparationTask.ContainerSettings.Registry.Password", Name: validation.Null, Rule: true, Chain: nil}, - }}, - }}, - }}, - {Target: "job.JobReleaseTask", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "job.JobReleaseTask.CommandLine", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "job.JobReleaseTask.ContainerSettings", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "job.JobReleaseTask.ContainerSettings.ImageName", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "job.JobReleaseTask.ContainerSettings.Registry", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "job.JobReleaseTask.ContainerSettings.Registry.UserName", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "job.JobReleaseTask.ContainerSettings.Registry.Password", Name: validation.Null, Rule: true, Chain: nil}, - }}, - }}, - }}, - {Target: "job.PoolInfo", Name: validation.Null, Rule: true, - Chain: []validation.Constraint{{Target: "job.PoolInfo.AutoPoolSpecification", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "job.PoolInfo.AutoPoolSpecification.Pool", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "job.PoolInfo.AutoPoolSpecification.Pool.VMSize", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "job.PoolInfo.AutoPoolSpecification.Pool.CloudServiceConfiguration", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "job.PoolInfo.AutoPoolSpecification.Pool.CloudServiceConfiguration.OsFamily", Name: validation.Null, Rule: true, Chain: nil}}}, - {Target: "job.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "job.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.ImageReference", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "job.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.NodeAgentSKUID", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "job.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.ContainerConfiguration", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "job.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.ContainerConfiguration.Type", Name: validation.Null, Rule: true, Chain: nil}}}, - }}, - {Target: "job.PoolInfo.AutoPoolSpecification.Pool.NetworkConfiguration", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "job.PoolInfo.AutoPoolSpecification.Pool.NetworkConfiguration.EndpointConfiguration", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "job.PoolInfo.AutoPoolSpecification.Pool.NetworkConfiguration.EndpointConfiguration.InboundNATPools", Name: validation.Null, Rule: true, Chain: nil}}}, - }}, - {Target: "job.PoolInfo.AutoPoolSpecification.Pool.StartTask", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "job.PoolInfo.AutoPoolSpecification.Pool.StartTask.CommandLine", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "job.PoolInfo.AutoPoolSpecification.Pool.StartTask.ContainerSettings", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "job.PoolInfo.AutoPoolSpecification.Pool.StartTask.ContainerSettings.ImageName", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "job.PoolInfo.AutoPoolSpecification.Pool.StartTask.ContainerSettings.Registry", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "job.PoolInfo.AutoPoolSpecification.Pool.StartTask.ContainerSettings.Registry.UserName", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "job.PoolInfo.AutoPoolSpecification.Pool.StartTask.ContainerSettings.Registry.Password", Name: validation.Null, Rule: true, Chain: nil}, - }}, - }}, - }}, - }}, - }}, - }}}}}); err != nil { - return result, validation.NewError("batch.JobClient", "Add", err.Error()) - } - - req, err := client.AddPreparer(ctx, job, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "Add", nil, "Failure preparing request") - return - } - - resp, err := client.AddSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.JobClient", "Add", resp, "Failure sending request") - return - } - - result, err = client.AddResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "Add", resp, "Failure responding to request") - } - - return -} - -// AddPreparer prepares the Add request. -func (client JobClient) AddPreparer(ctx context.Context, job JobAddParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - const APIVersion = "2017-09-01.6.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPath("/jobs"), - autorest.WithJSON(job), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// AddSender sends the Add request. The method will close the -// http.Response Body if it receives an error. -func (client JobClient) AddSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// AddResponder handles the response to the Add request. The method always -// closes the http.Response Body. -func (client JobClient) AddResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), - autorest.ByClosing()) - result.Response = resp - return -} - -// Delete deleting a job also deletes all tasks that are part of that job, and all job statistics. This also overrides -// the retention period for task data; that is, if the job contains tasks which are still retained on compute nodes, -// the Batch services deletes those tasks' working directories and all their contents. When a Delete Job request is -// received, the Batch service sets the job to the deleting state. All update operations on a job that is in deleting -// state will fail with status code 409 (Conflict), with additional information indicating that the job is being -// deleted. -// -// jobID is the ID of the job to delete. timeout is the maximum time that the server can spend processing the -// request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated request identity, in the -// form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. -// returnClientRequestID is whether the server should return the client-request-id in the response. ocpDate is the -// time the request was issued. Client libraries typically set this to the current system clock time; set it -// explicitly if you are calling the REST API directly. ifMatch is an ETag value associated with the version of the -// resource known to the client. The operation will be performed only if the resource's current ETag on the service -// exactly matches the value specified by the client. ifNoneMatch is an ETag value associated with the version of -// the resource known to the client. The operation will be performed only if the resource's current ETag on the -// service does not match the value specified by the client. ifModifiedSince is a timestamp indicating the last -// modified time of the resource known to the client. The operation will be performed only if the resource on the -// service has been modified since the specified time. ifUnmodifiedSince is a timestamp indicating the last -// modified time of the resource known to the client. The operation will be performed only if the resource on the -// service has not been modified since the specified time. -func (client JobClient) Delete(ctx context.Context, jobID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.DeletePreparer(ctx, jobID, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "Delete", nil, "Failure preparing request") - return - } - - resp, err := client.DeleteSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.JobClient", "Delete", resp, "Failure sending request") - return - } - - result, err = client.DeleteResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "Delete", resp, "Failure responding to request") - } - - return -} - -// DeletePreparer prepares the Delete request. -func (client JobClient) DeletePreparer(ctx context.Context, jobID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - } - - const APIVersion = "2017-09-01.6.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsDelete(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DeleteSender sends the Delete request. The method will close the -// http.Response Body if it receives an error. -func (client JobClient) DeleteSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// DeleteResponder handles the response to the Delete request. The method always -// closes the http.Response Body. -func (client JobClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByClosing()) - result.Response = resp - return -} - -// Disable the Batch Service immediately moves the job to the disabling state. Batch then uses the disableTasks -// parameter to determine what to do with the currently running tasks of the job. The job remains in the disabling -// state until the disable operation is completed and all tasks have been dealt with according to the disableTasks -// option; the job then moves to the disabled state. No new tasks are started under the job until it moves back to -// active state. If you try to disable a job that is in any state other than active, disabling, or disabled, the -// request fails with status code 409. -// -// jobID is the ID of the job to disable. jobDisableParameter is the parameters for the request. timeout is the -// maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. -// clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such as curly -// braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. ifMatch is an -// ETag value associated with the version of the resource known to the client. The operation will be performed only -// if the resource's current ETag on the service exactly matches the value specified by the client. ifNoneMatch is -// an ETag value associated with the version of the resource known to the client. The operation will be performed -// only if the resource's current ETag on the service does not match the value specified by the client. -// ifModifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has been modified since the specified time. -// ifUnmodifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has not been modified since the specified time. -func (client JobClient) Disable(ctx context.Context, jobID string, jobDisableParameter JobDisableParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.DisablePreparer(ctx, jobID, jobDisableParameter, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "Disable", nil, "Failure preparing request") - return - } - - resp, err := client.DisableSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.JobClient", "Disable", resp, "Failure sending request") - return - } - - result, err = client.DisableResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "Disable", resp, "Failure responding to request") - } - - return -} - -// DisablePreparer prepares the Disable request. -func (client JobClient) DisablePreparer(ctx context.Context, jobID string, jobDisableParameter JobDisableParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - } - - const APIVersion = "2017-09-01.6.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}/disable", pathParameters), - autorest.WithJSON(jobDisableParameter), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DisableSender sends the Disable request. The method will close the -// http.Response Body if it receives an error. -func (client JobClient) DisableSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// DisableResponder handles the response to the Disable request. The method always -// closes the http.Response Body. -func (client JobClient) DisableResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByClosing()) - result.Response = resp - return -} - -// Enable when you call this API, the Batch service sets a disabled job to the enabling state. After the this operation -// is completed, the job moves to the active state, and scheduling of new tasks under the job resumes. The Batch -// service does not allow a task to remain in the active state for more than 7 days. Therefore, if you enable a job -// containing active tasks which were added more than 7 days ago, those tasks will not run. -// -// jobID is the ID of the job to enable. timeout is the maximum time that the server can spend processing the -// request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated request identity, in the -// form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. -// returnClientRequestID is whether the server should return the client-request-id in the response. ocpDate is the -// time the request was issued. Client libraries typically set this to the current system clock time; set it -// explicitly if you are calling the REST API directly. ifMatch is an ETag value associated with the version of the -// resource known to the client. The operation will be performed only if the resource's current ETag on the service -// exactly matches the value specified by the client. ifNoneMatch is an ETag value associated with the version of -// the resource known to the client. The operation will be performed only if the resource's current ETag on the -// service does not match the value specified by the client. ifModifiedSince is a timestamp indicating the last -// modified time of the resource known to the client. The operation will be performed only if the resource on the -// service has been modified since the specified time. ifUnmodifiedSince is a timestamp indicating the last -// modified time of the resource known to the client. The operation will be performed only if the resource on the -// service has not been modified since the specified time. -func (client JobClient) Enable(ctx context.Context, jobID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.EnablePreparer(ctx, jobID, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "Enable", nil, "Failure preparing request") - return - } - - resp, err := client.EnableSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.JobClient", "Enable", resp, "Failure sending request") - return - } - - result, err = client.EnableResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "Enable", resp, "Failure responding to request") - } - - return -} - -// EnablePreparer prepares the Enable request. -func (client JobClient) EnablePreparer(ctx context.Context, jobID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - } - - const APIVersion = "2017-09-01.6.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}/enable", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// EnableSender sends the Enable request. The method will close the -// http.Response Body if it receives an error. -func (client JobClient) EnableSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// EnableResponder handles the response to the Enable request. The method always -// closes the http.Response Body. -func (client JobClient) EnableResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByClosing()) - result.Response = resp - return -} - -// Get sends the get request. -// -// jobID is the ID of the job. selectParameter is an OData $select clause. expand is an OData $expand clause. -// timeout is the maximum time that the server can spend processing the request, in seconds. The default is 30 -// seconds. clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such -// as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should -// return the client-request-id in the response. ocpDate is the time the request was issued. Client libraries -// typically set this to the current system clock time; set it explicitly if you are calling the REST API directly. -// ifMatch is an ETag value associated with the version of the resource known to the client. The operation will be -// performed only if the resource's current ETag on the service exactly matches the value specified by the client. -// ifNoneMatch is an ETag value associated with the version of the resource known to the client. The operation will -// be performed only if the resource's current ETag on the service does not match the value specified by the -// client. ifModifiedSince is a timestamp indicating the last modified time of the resource known to the client. -// The operation will be performed only if the resource on the service has been modified since the specified time. -// ifUnmodifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has not been modified since the specified time. -func (client JobClient) Get(ctx context.Context, jobID string, selectParameter string, expand string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result CloudJob, err error) { - req, err := client.GetPreparer(ctx, jobID, selectParameter, expand, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "Get", nil, "Failure preparing request") - return - } - - resp, err := client.GetSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.JobClient", "Get", resp, "Failure sending request") - return - } - - result, err = client.GetResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "Get", resp, "Failure responding to request") - } - - return -} - -// GetPreparer prepares the Get request. -func (client JobClient) GetPreparer(ctx context.Context, jobID string, selectParameter string, expand string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - } - - const APIVersion = "2017-09-01.6.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(selectParameter) > 0 { - queryParameters["$select"] = autorest.Encode("query", selectParameter) - } - if len(expand) > 0 { - queryParameters["$expand"] = autorest.Encode("query", expand) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetSender sends the Get request. The method will close the -// http.Response Body if it receives an error. -func (client JobClient) GetSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// GetResponder handles the response to the Get request. The method always -// closes the http.Response Body. -func (client JobClient) GetResponder(resp *http.Response) (result CloudJob, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// GetAllLifetimeStatistics statistics are aggregated across all jobs that have ever existed in the account, from -// account creation to the last update time of the statistics. -// -// timeout is the maximum time that the server can spend processing the request, in seconds. The default is 30 -// seconds. clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such -// as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should -// return the client-request-id in the response. ocpDate is the time the request was issued. Client libraries -// typically set this to the current system clock time; set it explicitly if you are calling the REST API directly. -func (client JobClient) GetAllLifetimeStatistics(ctx context.Context, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result JobStatistics, err error) { - req, err := client.GetAllLifetimeStatisticsPreparer(ctx, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "GetAllLifetimeStatistics", nil, "Failure preparing request") - return - } - - resp, err := client.GetAllLifetimeStatisticsSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.JobClient", "GetAllLifetimeStatistics", resp, "Failure sending request") - return - } - - result, err = client.GetAllLifetimeStatisticsResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "GetAllLifetimeStatistics", resp, "Failure responding to request") - } - - return -} - -// GetAllLifetimeStatisticsPreparer prepares the GetAllLifetimeStatistics request. -func (client JobClient) GetAllLifetimeStatisticsPreparer(ctx context.Context, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - const APIVersion = "2017-09-01.6.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPath("/lifetimejobstats"), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetAllLifetimeStatisticsSender sends the GetAllLifetimeStatistics request. The method will close the -// http.Response Body if it receives an error. -func (client JobClient) GetAllLifetimeStatisticsSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// GetAllLifetimeStatisticsResponder handles the response to the GetAllLifetimeStatistics request. The method always -// closes the http.Response Body. -func (client JobClient) GetAllLifetimeStatisticsResponder(resp *http.Response) (result JobStatistics, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// GetTaskCounts task counts provide a count of the tasks by active, running or completed task state, and a count of -// tasks which succeeded or failed. Tasks in the preparing state are counted as running. If the validationStatus is -// unvalidated, then the Batch service has not been able to check state counts against the task states as reported in -// the List Tasks API. The validationStatus may be unvalidated if the job contains more than 200,000 tasks. -// -// jobID is the ID of the job. timeout is the maximum time that the server can spend processing the request, in -// seconds. The default is 30 seconds. clientRequestID is the caller-generated request identity, in the form of a -// GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID -// is whether the server should return the client-request-id in the response. ocpDate is the time the request was -// issued. Client libraries typically set this to the current system clock time; set it explicitly if you are -// calling the REST API directly. -func (client JobClient) GetTaskCounts(ctx context.Context, jobID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result TaskCounts, err error) { - req, err := client.GetTaskCountsPreparer(ctx, jobID, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "GetTaskCounts", nil, "Failure preparing request") - return - } - - resp, err := client.GetTaskCountsSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.JobClient", "GetTaskCounts", resp, "Failure sending request") - return - } - - result, err = client.GetTaskCountsResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "GetTaskCounts", resp, "Failure responding to request") - } - - return -} - -// GetTaskCountsPreparer prepares the GetTaskCounts request. -func (client JobClient) GetTaskCountsPreparer(ctx context.Context, jobID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - } - - const APIVersion = "2017-09-01.6.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}/taskcounts", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetTaskCountsSender sends the GetTaskCounts request. The method will close the -// http.Response Body if it receives an error. -func (client JobClient) GetTaskCountsSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// GetTaskCountsResponder handles the response to the GetTaskCounts request. The method always -// closes the http.Response Body. -func (client JobClient) GetTaskCountsResponder(resp *http.Response) (result TaskCounts, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// List sends the list request. -// -// filter is an OData $filter clause. For more information on constructing this filter, see -// https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-jobs. selectParameter is an -// OData $select clause. expand is an OData $expand clause. maxResults is the maximum number of items to return in -// the response. A maximum of 1000 jobs can be returned. timeout is the maximum time that the server can spend -// processing the request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated request -// identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. -func (client JobClient) List(ctx context.Context, filter string, selectParameter string, expand string, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result CloudJobListResultPage, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: maxResults, - Constraints: []validation.Constraint{{Target: "maxResults", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "maxResults", Name: validation.InclusiveMaximum, Rule: 1000, Chain: nil}, - {Target: "maxResults", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}, - }}}}}); err != nil { - return result, validation.NewError("batch.JobClient", "List", err.Error()) - } - - result.fn = client.listNextResults - req, err := client.ListPreparer(ctx, filter, selectParameter, expand, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "List", nil, "Failure preparing request") - return - } - - resp, err := client.ListSender(req) - if err != nil { - result.cjlr.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.JobClient", "List", resp, "Failure sending request") - return - } - - result.cjlr, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "List", resp, "Failure responding to request") - } - - return -} - -// ListPreparer prepares the List request. -func (client JobClient) ListPreparer(ctx context.Context, filter string, selectParameter string, expand string, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - const APIVersion = "2017-09-01.6.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(filter) > 0 { - queryParameters["$filter"] = autorest.Encode("query", filter) - } - if len(selectParameter) > 0 { - queryParameters["$select"] = autorest.Encode("query", selectParameter) - } - if len(expand) > 0 { - queryParameters["$expand"] = autorest.Encode("query", expand) - } - if maxResults != nil { - queryParameters["maxresults"] = autorest.Encode("query", *maxResults) - } else { - queryParameters["maxresults"] = autorest.Encode("query", 1000) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPath("/jobs"), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListSender sends the List request. The method will close the -// http.Response Body if it receives an error. -func (client JobClient) ListSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ListResponder handles the response to the List request. The method always -// closes the http.Response Body. -func (client JobClient) ListResponder(resp *http.Response) (result CloudJobListResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listNextResults retrieves the next set of results, if any. -func (client JobClient) listNextResults(lastResults CloudJobListResult) (result CloudJobListResult, err error) { - req, err := lastResults.cloudJobListResultPreparer() - if err != nil { - return result, autorest.NewErrorWithError(err, "batch.JobClient", "listNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "batch.JobClient", "listNextResults", resp, "Failure sending next results request") - } - result, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "listNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListComplete enumerates all values, automatically crossing page boundaries as required. -func (client JobClient) ListComplete(ctx context.Context, filter string, selectParameter string, expand string, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result CloudJobListResultIterator, err error) { - result.page, err = client.List(ctx, filter, selectParameter, expand, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - return -} - -// ListFromJobSchedule sends the list from job schedule request. -// -// jobScheduleID is the ID of the job schedule from which you want to get a list of jobs. filter is an OData -// $filter clause. For more information on constructing this filter, see -// https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-jobs-in-a-job-schedule. -// selectParameter is an OData $select clause. expand is an OData $expand clause. maxResults is the maximum number -// of items to return in the response. A maximum of 1000 jobs can be returned. timeout is the maximum time that the -// server can spend processing the request, in seconds. The default is 30 seconds. clientRequestID is the -// caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. -func (client JobClient) ListFromJobSchedule(ctx context.Context, jobScheduleID string, filter string, selectParameter string, expand string, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result CloudJobListResultPage, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: maxResults, - Constraints: []validation.Constraint{{Target: "maxResults", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "maxResults", Name: validation.InclusiveMaximum, Rule: 1000, Chain: nil}, - {Target: "maxResults", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}, - }}}}}); err != nil { - return result, validation.NewError("batch.JobClient", "ListFromJobSchedule", err.Error()) - } - - result.fn = client.listFromJobScheduleNextResults - req, err := client.ListFromJobSchedulePreparer(ctx, jobScheduleID, filter, selectParameter, expand, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "ListFromJobSchedule", nil, "Failure preparing request") - return - } - - resp, err := client.ListFromJobScheduleSender(req) - if err != nil { - result.cjlr.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.JobClient", "ListFromJobSchedule", resp, "Failure sending request") - return - } - - result.cjlr, err = client.ListFromJobScheduleResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "ListFromJobSchedule", resp, "Failure responding to request") - } - - return -} - -// ListFromJobSchedulePreparer prepares the ListFromJobSchedule request. -func (client JobClient) ListFromJobSchedulePreparer(ctx context.Context, jobScheduleID string, filter string, selectParameter string, expand string, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobScheduleId": autorest.Encode("path", jobScheduleID), - } - - const APIVersion = "2017-09-01.6.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(filter) > 0 { - queryParameters["$filter"] = autorest.Encode("query", filter) - } - if len(selectParameter) > 0 { - queryParameters["$select"] = autorest.Encode("query", selectParameter) - } - if len(expand) > 0 { - queryParameters["$expand"] = autorest.Encode("query", expand) - } - if maxResults != nil { - queryParameters["maxresults"] = autorest.Encode("query", *maxResults) - } else { - queryParameters["maxresults"] = autorest.Encode("query", 1000) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobschedules/{jobScheduleId}/jobs", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListFromJobScheduleSender sends the ListFromJobSchedule request. The method will close the -// http.Response Body if it receives an error. -func (client JobClient) ListFromJobScheduleSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ListFromJobScheduleResponder handles the response to the ListFromJobSchedule request. The method always -// closes the http.Response Body. -func (client JobClient) ListFromJobScheduleResponder(resp *http.Response) (result CloudJobListResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listFromJobScheduleNextResults retrieves the next set of results, if any. -func (client JobClient) listFromJobScheduleNextResults(lastResults CloudJobListResult) (result CloudJobListResult, err error) { - req, err := lastResults.cloudJobListResultPreparer() - if err != nil { - return result, autorest.NewErrorWithError(err, "batch.JobClient", "listFromJobScheduleNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListFromJobScheduleSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "batch.JobClient", "listFromJobScheduleNextResults", resp, "Failure sending next results request") - } - result, err = client.ListFromJobScheduleResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "listFromJobScheduleNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListFromJobScheduleComplete enumerates all values, automatically crossing page boundaries as required. -func (client JobClient) ListFromJobScheduleComplete(ctx context.Context, jobScheduleID string, filter string, selectParameter string, expand string, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result CloudJobListResultIterator, err error) { - result.page, err = client.ListFromJobSchedule(ctx, jobScheduleID, filter, selectParameter, expand, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - return -} - -// ListPreparationAndReleaseTaskStatus this API returns the Job Preparation and Job Release task status on all compute -// nodes that have run the Job Preparation or Job Release task. This includes nodes which have since been removed from -// the pool. If this API is invoked on a job which has no Job Preparation or Job Release task, the Batch service -// returns HTTP status code 409 (Conflict) with an error code of JobPreparationTaskNotSpecified. -// -// jobID is the ID of the job. filter is an OData $filter clause. For more information on constructing this filter, -// see -// https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-job-preparation-and-release-status. -// selectParameter is an OData $select clause. maxResults is the maximum number of items to return in the response. -// A maximum of 1000 tasks can be returned. timeout is the maximum time that the server can spend processing the -// request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated request identity, in the -// form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. -// returnClientRequestID is whether the server should return the client-request-id in the response. ocpDate is the -// time the request was issued. Client libraries typically set this to the current system clock time; set it -// explicitly if you are calling the REST API directly. -func (client JobClient) ListPreparationAndReleaseTaskStatus(ctx context.Context, jobID string, filter string, selectParameter string, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result CloudJobListPreparationAndReleaseTaskStatusResultPage, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: maxResults, - Constraints: []validation.Constraint{{Target: "maxResults", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "maxResults", Name: validation.InclusiveMaximum, Rule: 1000, Chain: nil}, - {Target: "maxResults", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}, - }}}}}); err != nil { - return result, validation.NewError("batch.JobClient", "ListPreparationAndReleaseTaskStatus", err.Error()) - } - - result.fn = client.listPreparationAndReleaseTaskStatusNextResults - req, err := client.ListPreparationAndReleaseTaskStatusPreparer(ctx, jobID, filter, selectParameter, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "ListPreparationAndReleaseTaskStatus", nil, "Failure preparing request") - return - } - - resp, err := client.ListPreparationAndReleaseTaskStatusSender(req) - if err != nil { - result.cjlpartsr.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.JobClient", "ListPreparationAndReleaseTaskStatus", resp, "Failure sending request") - return - } - - result.cjlpartsr, err = client.ListPreparationAndReleaseTaskStatusResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "ListPreparationAndReleaseTaskStatus", resp, "Failure responding to request") - } - - return -} - -// ListPreparationAndReleaseTaskStatusPreparer prepares the ListPreparationAndReleaseTaskStatus request. -func (client JobClient) ListPreparationAndReleaseTaskStatusPreparer(ctx context.Context, jobID string, filter string, selectParameter string, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - } - - const APIVersion = "2017-09-01.6.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(filter) > 0 { - queryParameters["$filter"] = autorest.Encode("query", filter) - } - if len(selectParameter) > 0 { - queryParameters["$select"] = autorest.Encode("query", selectParameter) - } - if maxResults != nil { - queryParameters["maxresults"] = autorest.Encode("query", *maxResults) - } else { - queryParameters["maxresults"] = autorest.Encode("query", 1000) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}/jobpreparationandreleasetaskstatus", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListPreparationAndReleaseTaskStatusSender sends the ListPreparationAndReleaseTaskStatus request. The method will close the -// http.Response Body if it receives an error. -func (client JobClient) ListPreparationAndReleaseTaskStatusSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ListPreparationAndReleaseTaskStatusResponder handles the response to the ListPreparationAndReleaseTaskStatus request. The method always -// closes the http.Response Body. -func (client JobClient) ListPreparationAndReleaseTaskStatusResponder(resp *http.Response) (result CloudJobListPreparationAndReleaseTaskStatusResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listPreparationAndReleaseTaskStatusNextResults retrieves the next set of results, if any. -func (client JobClient) listPreparationAndReleaseTaskStatusNextResults(lastResults CloudJobListPreparationAndReleaseTaskStatusResult) (result CloudJobListPreparationAndReleaseTaskStatusResult, err error) { - req, err := lastResults.cloudJobListPreparationAndReleaseTaskStatusResultPreparer() - if err != nil { - return result, autorest.NewErrorWithError(err, "batch.JobClient", "listPreparationAndReleaseTaskStatusNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListPreparationAndReleaseTaskStatusSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "batch.JobClient", "listPreparationAndReleaseTaskStatusNextResults", resp, "Failure sending next results request") - } - result, err = client.ListPreparationAndReleaseTaskStatusResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "listPreparationAndReleaseTaskStatusNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListPreparationAndReleaseTaskStatusComplete enumerates all values, automatically crossing page boundaries as required. -func (client JobClient) ListPreparationAndReleaseTaskStatusComplete(ctx context.Context, jobID string, filter string, selectParameter string, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result CloudJobListPreparationAndReleaseTaskStatusResultIterator, err error) { - result.page, err = client.ListPreparationAndReleaseTaskStatus(ctx, jobID, filter, selectParameter, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - return -} - -// Patch this replaces only the job properties specified in the request. For example, if the job has constraints, and a -// request does not specify the constraints element, then the job keeps the existing constraints. -// -// jobID is the ID of the job whose properties you want to update. jobPatchParameter is the parameters for the -// request. timeout is the maximum time that the server can spend processing the request, in seconds. The default -// is 30 seconds. clientRequestID is the caller-generated request identity, in the form of a GUID with no -// decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the -// server should return the client-request-id in the response. ocpDate is the time the request was issued. Client -// libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API -// directly. ifMatch is an ETag value associated with the version of the resource known to the client. The -// operation will be performed only if the resource's current ETag on the service exactly matches the value -// specified by the client. ifNoneMatch is an ETag value associated with the version of the resource known to the -// client. The operation will be performed only if the resource's current ETag on the service does not match the -// value specified by the client. ifModifiedSince is a timestamp indicating the last modified time of the resource -// known to the client. The operation will be performed only if the resource on the service has been modified since -// the specified time. ifUnmodifiedSince is a timestamp indicating the last modified time of the resource known to -// the client. The operation will be performed only if the resource on the service has not been modified since the -// specified time. -func (client JobClient) Patch(ctx context.Context, jobID string, jobPatchParameter JobPatchParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.PatchPreparer(ctx, jobID, jobPatchParameter, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "Patch", nil, "Failure preparing request") - return - } - - resp, err := client.PatchSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.JobClient", "Patch", resp, "Failure sending request") - return - } - - result, err = client.PatchResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "Patch", resp, "Failure responding to request") - } - - return -} - -// PatchPreparer prepares the Patch request. -func (client JobClient) PatchPreparer(ctx context.Context, jobID string, jobPatchParameter JobPatchParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - } - - const APIVersion = "2017-09-01.6.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPatch(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}", pathParameters), - autorest.WithJSON(jobPatchParameter), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// PatchSender sends the Patch request. The method will close the -// http.Response Body if it receives an error. -func (client JobClient) PatchSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// PatchResponder handles the response to the Patch request. The method always -// closes the http.Response Body. -func (client JobClient) PatchResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} - -// Terminate when a Terminate Job request is received, the Batch service sets the job to the terminating state. The -// Batch service then terminates any active or running tasks associated with the job, and runs any required Job Release -// tasks. The job then moves into the completed state. -// -// jobID is the ID of the job to terminate. jobTerminateParameter is the parameters for the request. timeout is the -// maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. -// clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such as curly -// braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. ifMatch is an -// ETag value associated with the version of the resource known to the client. The operation will be performed only -// if the resource's current ETag on the service exactly matches the value specified by the client. ifNoneMatch is -// an ETag value associated with the version of the resource known to the client. The operation will be performed -// only if the resource's current ETag on the service does not match the value specified by the client. -// ifModifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has been modified since the specified time. -// ifUnmodifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has not been modified since the specified time. -func (client JobClient) Terminate(ctx context.Context, jobID string, jobTerminateParameter *JobTerminateParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.TerminatePreparer(ctx, jobID, jobTerminateParameter, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "Terminate", nil, "Failure preparing request") - return - } - - resp, err := client.TerminateSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.JobClient", "Terminate", resp, "Failure sending request") - return - } - - result, err = client.TerminateResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "Terminate", resp, "Failure responding to request") - } - - return -} - -// TerminatePreparer prepares the Terminate request. -func (client JobClient) TerminatePreparer(ctx context.Context, jobID string, jobTerminateParameter *JobTerminateParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - } - - const APIVersion = "2017-09-01.6.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}/terminate", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if jobTerminateParameter != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithJSON(jobTerminateParameter)) - } - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// TerminateSender sends the Terminate request. The method will close the -// http.Response Body if it receives an error. -func (client JobClient) TerminateSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// TerminateResponder handles the response to the Terminate request. The method always -// closes the http.Response Body. -func (client JobClient) TerminateResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByClosing()) - result.Response = resp - return -} - -// Update this fully replaces all the updateable properties of the job. For example, if the job has constraints -// associated with it and if constraints is not specified with this request, then the Batch service will remove the -// existing constraints. -// -// jobID is the ID of the job whose properties you want to update. jobUpdateParameter is the parameters for the -// request. timeout is the maximum time that the server can spend processing the request, in seconds. The default -// is 30 seconds. clientRequestID is the caller-generated request identity, in the form of a GUID with no -// decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the -// server should return the client-request-id in the response. ocpDate is the time the request was issued. Client -// libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API -// directly. ifMatch is an ETag value associated with the version of the resource known to the client. The -// operation will be performed only if the resource's current ETag on the service exactly matches the value -// specified by the client. ifNoneMatch is an ETag value associated with the version of the resource known to the -// client. The operation will be performed only if the resource's current ETag on the service does not match the -// value specified by the client. ifModifiedSince is a timestamp indicating the last modified time of the resource -// known to the client. The operation will be performed only if the resource on the service has been modified since -// the specified time. ifUnmodifiedSince is a timestamp indicating the last modified time of the resource known to -// the client. The operation will be performed only if the resource on the service has not been modified since the -// specified time. -func (client JobClient) Update(ctx context.Context, jobID string, jobUpdateParameter JobUpdateParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: jobUpdateParameter, - Constraints: []validation.Constraint{{Target: "jobUpdateParameter.PoolInfo", Name: validation.Null, Rule: true, - Chain: []validation.Constraint{{Target: "jobUpdateParameter.PoolInfo.AutoPoolSpecification", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "jobUpdateParameter.PoolInfo.AutoPoolSpecification.Pool", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "jobUpdateParameter.PoolInfo.AutoPoolSpecification.Pool.VMSize", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "jobUpdateParameter.PoolInfo.AutoPoolSpecification.Pool.CloudServiceConfiguration", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "jobUpdateParameter.PoolInfo.AutoPoolSpecification.Pool.CloudServiceConfiguration.OsFamily", Name: validation.Null, Rule: true, Chain: nil}}}, - {Target: "jobUpdateParameter.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "jobUpdateParameter.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.ImageReference", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "jobUpdateParameter.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.NodeAgentSKUID", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "jobUpdateParameter.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.ContainerConfiguration", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "jobUpdateParameter.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.ContainerConfiguration.Type", Name: validation.Null, Rule: true, Chain: nil}}}, - }}, - {Target: "jobUpdateParameter.PoolInfo.AutoPoolSpecification.Pool.NetworkConfiguration", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "jobUpdateParameter.PoolInfo.AutoPoolSpecification.Pool.NetworkConfiguration.EndpointConfiguration", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "jobUpdateParameter.PoolInfo.AutoPoolSpecification.Pool.NetworkConfiguration.EndpointConfiguration.InboundNATPools", Name: validation.Null, Rule: true, Chain: nil}}}, - }}, - {Target: "jobUpdateParameter.PoolInfo.AutoPoolSpecification.Pool.StartTask", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "jobUpdateParameter.PoolInfo.AutoPoolSpecification.Pool.StartTask.CommandLine", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "jobUpdateParameter.PoolInfo.AutoPoolSpecification.Pool.StartTask.ContainerSettings", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "jobUpdateParameter.PoolInfo.AutoPoolSpecification.Pool.StartTask.ContainerSettings.ImageName", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "jobUpdateParameter.PoolInfo.AutoPoolSpecification.Pool.StartTask.ContainerSettings.Registry", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "jobUpdateParameter.PoolInfo.AutoPoolSpecification.Pool.StartTask.ContainerSettings.Registry.UserName", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "jobUpdateParameter.PoolInfo.AutoPoolSpecification.Pool.StartTask.ContainerSettings.Registry.Password", Name: validation.Null, Rule: true, Chain: nil}, - }}, - }}, - }}, - }}, - }}, - }}}}}); err != nil { - return result, validation.NewError("batch.JobClient", "Update", err.Error()) - } - - req, err := client.UpdatePreparer(ctx, jobID, jobUpdateParameter, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "Update", nil, "Failure preparing request") - return - } - - resp, err := client.UpdateSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.JobClient", "Update", resp, "Failure sending request") - return - } - - result, err = client.UpdateResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobClient", "Update", resp, "Failure responding to request") - } - - return -} - -// UpdatePreparer prepares the Update request. -func (client JobClient) UpdatePreparer(ctx context.Context, jobID string, jobUpdateParameter JobUpdateParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - } - - const APIVersion = "2017-09-01.6.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPut(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}", pathParameters), - autorest.WithJSON(jobUpdateParameter), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// UpdateSender sends the Update request. The method will close the -// http.Response Body if it receives an error. -func (client JobClient) UpdateSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// UpdateResponder handles the response to the Update request. The method always -// closes the http.Response Body. -func (client JobClient) UpdateResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} diff --git a/services/batch/2017-09-01.6.0/batch/jobschedule.go b/services/batch/2017-09-01.6.0/batch/jobschedule.go deleted file mode 100644 index f6e83fb3368f..000000000000 --- a/services/batch/2017-09-01.6.0/batch/jobschedule.go +++ /dev/null @@ -1,1324 +0,0 @@ -package batch - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/autorest/date" - "github.com/Azure/go-autorest/autorest/validation" - "github.com/satori/go.uuid" - "net/http" -) - -// JobScheduleClient is the a client for issuing REST requests to the Azure Batch service. -type JobScheduleClient struct { - BaseClient -} - -// NewJobScheduleClient creates an instance of the JobScheduleClient client. -func NewJobScheduleClient() JobScheduleClient { - return NewJobScheduleClientWithBaseURI(DefaultBaseURI) -} - -// NewJobScheduleClientWithBaseURI creates an instance of the JobScheduleClient client. -func NewJobScheduleClientWithBaseURI(baseURI string) JobScheduleClient { - return JobScheduleClient{NewWithBaseURI(baseURI)} -} - -// Add sends the add request. -// -// cloudJobSchedule is the job schedule to be added. timeout is the maximum time that the server can spend -// processing the request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated request -// identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. -func (client JobScheduleClient) Add(ctx context.Context, cloudJobSchedule JobScheduleAddParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: cloudJobSchedule, - Constraints: []validation.Constraint{{Target: "cloudJobSchedule.ID", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "cloudJobSchedule.Schedule", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "cloudJobSchedule.JobSpecification", Name: validation.Null, Rule: true, - Chain: []validation.Constraint{{Target: "cloudJobSchedule.JobSpecification.JobManagerTask", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "cloudJobSchedule.JobSpecification.JobManagerTask.ID", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "cloudJobSchedule.JobSpecification.JobManagerTask.CommandLine", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "cloudJobSchedule.JobSpecification.JobManagerTask.ContainerSettings", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "cloudJobSchedule.JobSpecification.JobManagerTask.ContainerSettings.ImageName", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "cloudJobSchedule.JobSpecification.JobManagerTask.ContainerSettings.Registry", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "cloudJobSchedule.JobSpecification.JobManagerTask.ContainerSettings.Registry.UserName", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "cloudJobSchedule.JobSpecification.JobManagerTask.ContainerSettings.Registry.Password", Name: validation.Null, Rule: true, Chain: nil}, - }}, - }}, - }}, - {Target: "cloudJobSchedule.JobSpecification.JobPreparationTask", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "cloudJobSchedule.JobSpecification.JobPreparationTask.CommandLine", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "cloudJobSchedule.JobSpecification.JobPreparationTask.ContainerSettings", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "cloudJobSchedule.JobSpecification.JobPreparationTask.ContainerSettings.ImageName", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "cloudJobSchedule.JobSpecification.JobPreparationTask.ContainerSettings.Registry", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "cloudJobSchedule.JobSpecification.JobPreparationTask.ContainerSettings.Registry.UserName", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "cloudJobSchedule.JobSpecification.JobPreparationTask.ContainerSettings.Registry.Password", Name: validation.Null, Rule: true, Chain: nil}, - }}, - }}, - }}, - {Target: "cloudJobSchedule.JobSpecification.JobReleaseTask", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "cloudJobSchedule.JobSpecification.JobReleaseTask.CommandLine", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "cloudJobSchedule.JobSpecification.JobReleaseTask.ContainerSettings", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "cloudJobSchedule.JobSpecification.JobReleaseTask.ContainerSettings.ImageName", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "cloudJobSchedule.JobSpecification.JobReleaseTask.ContainerSettings.Registry", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "cloudJobSchedule.JobSpecification.JobReleaseTask.ContainerSettings.Registry.UserName", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "cloudJobSchedule.JobSpecification.JobReleaseTask.ContainerSettings.Registry.Password", Name: validation.Null, Rule: true, Chain: nil}, - }}, - }}, - }}, - {Target: "cloudJobSchedule.JobSpecification.PoolInfo", Name: validation.Null, Rule: true, - Chain: []validation.Constraint{{Target: "cloudJobSchedule.JobSpecification.PoolInfo.AutoPoolSpecification", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "cloudJobSchedule.JobSpecification.PoolInfo.AutoPoolSpecification.Pool", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "cloudJobSchedule.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.VMSize", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "cloudJobSchedule.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.CloudServiceConfiguration", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "cloudJobSchedule.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.CloudServiceConfiguration.OsFamily", Name: validation.Null, Rule: true, Chain: nil}}}, - {Target: "cloudJobSchedule.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "cloudJobSchedule.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.ImageReference", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "cloudJobSchedule.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.NodeAgentSKUID", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "cloudJobSchedule.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.ContainerConfiguration", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "cloudJobSchedule.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.ContainerConfiguration.Type", Name: validation.Null, Rule: true, Chain: nil}}}, - }}, - {Target: "cloudJobSchedule.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.NetworkConfiguration", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "cloudJobSchedule.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.NetworkConfiguration.EndpointConfiguration", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "cloudJobSchedule.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.NetworkConfiguration.EndpointConfiguration.InboundNATPools", Name: validation.Null, Rule: true, Chain: nil}}}, - }}, - {Target: "cloudJobSchedule.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.StartTask", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "cloudJobSchedule.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.StartTask.CommandLine", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "cloudJobSchedule.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.StartTask.ContainerSettings", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "cloudJobSchedule.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.StartTask.ContainerSettings.ImageName", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "cloudJobSchedule.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.StartTask.ContainerSettings.Registry", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "cloudJobSchedule.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.StartTask.ContainerSettings.Registry.UserName", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "cloudJobSchedule.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.StartTask.ContainerSettings.Registry.Password", Name: validation.Null, Rule: true, Chain: nil}, - }}, - }}, - }}, - }}, - }}, - }}, - }}}}}); err != nil { - return result, validation.NewError("batch.JobScheduleClient", "Add", err.Error()) - } - - req, err := client.AddPreparer(ctx, cloudJobSchedule, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Add", nil, "Failure preparing request") - return - } - - resp, err := client.AddSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Add", resp, "Failure sending request") - return - } - - result, err = client.AddResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Add", resp, "Failure responding to request") - } - - return -} - -// AddPreparer prepares the Add request. -func (client JobScheduleClient) AddPreparer(ctx context.Context, cloudJobSchedule JobScheduleAddParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - const APIVersion = "2017-09-01.6.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPath("/jobschedules"), - autorest.WithJSON(cloudJobSchedule), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// AddSender sends the Add request. The method will close the -// http.Response Body if it receives an error. -func (client JobScheduleClient) AddSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// AddResponder handles the response to the Add request. The method always -// closes the http.Response Body. -func (client JobScheduleClient) AddResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), - autorest.ByClosing()) - result.Response = resp - return -} - -// Delete when you delete a job schedule, this also deletes all jobs and tasks under that schedule. When tasks are -// deleted, all the files in their working directories on the compute nodes are also deleted (the retention period is -// ignored). The job schedule statistics are no longer accessible once the job schedule is deleted, though they are -// still counted towards account lifetime statistics. -// -// jobScheduleID is the ID of the job schedule to delete. timeout is the maximum time that the server can spend -// processing the request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated request -// identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. ifMatch is an -// ETag value associated with the version of the resource known to the client. The operation will be performed only -// if the resource's current ETag on the service exactly matches the value specified by the client. ifNoneMatch is -// an ETag value associated with the version of the resource known to the client. The operation will be performed -// only if the resource's current ETag on the service does not match the value specified by the client. -// ifModifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has been modified since the specified time. -// ifUnmodifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has not been modified since the specified time. -func (client JobScheduleClient) Delete(ctx context.Context, jobScheduleID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.DeletePreparer(ctx, jobScheduleID, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Delete", nil, "Failure preparing request") - return - } - - resp, err := client.DeleteSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Delete", resp, "Failure sending request") - return - } - - result, err = client.DeleteResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Delete", resp, "Failure responding to request") - } - - return -} - -// DeletePreparer prepares the Delete request. -func (client JobScheduleClient) DeletePreparer(ctx context.Context, jobScheduleID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobScheduleId": autorest.Encode("path", jobScheduleID), - } - - const APIVersion = "2017-09-01.6.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsDelete(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobschedules/{jobScheduleId}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DeleteSender sends the Delete request. The method will close the -// http.Response Body if it receives an error. -func (client JobScheduleClient) DeleteSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// DeleteResponder handles the response to the Delete request. The method always -// closes the http.Response Body. -func (client JobScheduleClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByClosing()) - result.Response = resp - return -} - -// Disable no new jobs will be created until the job schedule is enabled again. -// -// jobScheduleID is the ID of the job schedule to disable. timeout is the maximum time that the server can spend -// processing the request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated request -// identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. ifMatch is an -// ETag value associated with the version of the resource known to the client. The operation will be performed only -// if the resource's current ETag on the service exactly matches the value specified by the client. ifNoneMatch is -// an ETag value associated with the version of the resource known to the client. The operation will be performed -// only if the resource's current ETag on the service does not match the value specified by the client. -// ifModifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has been modified since the specified time. -// ifUnmodifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has not been modified since the specified time. -func (client JobScheduleClient) Disable(ctx context.Context, jobScheduleID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.DisablePreparer(ctx, jobScheduleID, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Disable", nil, "Failure preparing request") - return - } - - resp, err := client.DisableSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Disable", resp, "Failure sending request") - return - } - - result, err = client.DisableResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Disable", resp, "Failure responding to request") - } - - return -} - -// DisablePreparer prepares the Disable request. -func (client JobScheduleClient) DisablePreparer(ctx context.Context, jobScheduleID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobScheduleId": autorest.Encode("path", jobScheduleID), - } - - const APIVersion = "2017-09-01.6.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobschedules/{jobScheduleId}/disable", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DisableSender sends the Disable request. The method will close the -// http.Response Body if it receives an error. -func (client JobScheduleClient) DisableSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// DisableResponder handles the response to the Disable request. The method always -// closes the http.Response Body. -func (client JobScheduleClient) DisableResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), - autorest.ByClosing()) - result.Response = resp - return -} - -// Enable sends the enable request. -// -// jobScheduleID is the ID of the job schedule to enable. timeout is the maximum time that the server can spend -// processing the request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated request -// identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. ifMatch is an -// ETag value associated with the version of the resource known to the client. The operation will be performed only -// if the resource's current ETag on the service exactly matches the value specified by the client. ifNoneMatch is -// an ETag value associated with the version of the resource known to the client. The operation will be performed -// only if the resource's current ETag on the service does not match the value specified by the client. -// ifModifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has been modified since the specified time. -// ifUnmodifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has not been modified since the specified time. -func (client JobScheduleClient) Enable(ctx context.Context, jobScheduleID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.EnablePreparer(ctx, jobScheduleID, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Enable", nil, "Failure preparing request") - return - } - - resp, err := client.EnableSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Enable", resp, "Failure sending request") - return - } - - result, err = client.EnableResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Enable", resp, "Failure responding to request") - } - - return -} - -// EnablePreparer prepares the Enable request. -func (client JobScheduleClient) EnablePreparer(ctx context.Context, jobScheduleID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobScheduleId": autorest.Encode("path", jobScheduleID), - } - - const APIVersion = "2017-09-01.6.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobschedules/{jobScheduleId}/enable", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// EnableSender sends the Enable request. The method will close the -// http.Response Body if it receives an error. -func (client JobScheduleClient) EnableSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// EnableResponder handles the response to the Enable request. The method always -// closes the http.Response Body. -func (client JobScheduleClient) EnableResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), - autorest.ByClosing()) - result.Response = resp - return -} - -// Exists sends the exists request. -// -// jobScheduleID is the ID of the job schedule which you want to check. timeout is the maximum time that the server -// can spend processing the request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated -// request identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. ifMatch is an -// ETag value associated with the version of the resource known to the client. The operation will be performed only -// if the resource's current ETag on the service exactly matches the value specified by the client. ifNoneMatch is -// an ETag value associated with the version of the resource known to the client. The operation will be performed -// only if the resource's current ETag on the service does not match the value specified by the client. -// ifModifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has been modified since the specified time. -// ifUnmodifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has not been modified since the specified time. -func (client JobScheduleClient) Exists(ctx context.Context, jobScheduleID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.ExistsPreparer(ctx, jobScheduleID, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Exists", nil, "Failure preparing request") - return - } - - resp, err := client.ExistsSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Exists", resp, "Failure sending request") - return - } - - result, err = client.ExistsResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Exists", resp, "Failure responding to request") - } - - return -} - -// ExistsPreparer prepares the Exists request. -func (client JobScheduleClient) ExistsPreparer(ctx context.Context, jobScheduleID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobScheduleId": autorest.Encode("path", jobScheduleID), - } - - const APIVersion = "2017-09-01.6.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsHead(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobschedules/{jobScheduleId}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ExistsSender sends the Exists request. The method will close the -// http.Response Body if it receives an error. -func (client JobScheduleClient) ExistsSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ExistsResponder handles the response to the Exists request. The method always -// closes the http.Response Body. -func (client JobScheduleClient) ExistsResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), - autorest.ByClosing()) - result.Response = resp - return -} - -// Get gets information about the specified job schedule. -// -// jobScheduleID is the ID of the job schedule to get. selectParameter is an OData $select clause. expand is an -// OData $expand clause. timeout is the maximum time that the server can spend processing the request, in seconds. -// The default is 30 seconds. clientRequestID is the caller-generated request identity, in the form of a GUID with -// no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether -// the server should return the client-request-id in the response. ocpDate is the time the request was issued. -// Client libraries typically set this to the current system clock time; set it explicitly if you are calling the -// REST API directly. ifMatch is an ETag value associated with the version of the resource known to the client. The -// operation will be performed only if the resource's current ETag on the service exactly matches the value -// specified by the client. ifNoneMatch is an ETag value associated with the version of the resource known to the -// client. The operation will be performed only if the resource's current ETag on the service does not match the -// value specified by the client. ifModifiedSince is a timestamp indicating the last modified time of the resource -// known to the client. The operation will be performed only if the resource on the service has been modified since -// the specified time. ifUnmodifiedSince is a timestamp indicating the last modified time of the resource known to -// the client. The operation will be performed only if the resource on the service has not been modified since the -// specified time. -func (client JobScheduleClient) Get(ctx context.Context, jobScheduleID string, selectParameter string, expand string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result CloudJobSchedule, err error) { - req, err := client.GetPreparer(ctx, jobScheduleID, selectParameter, expand, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Get", nil, "Failure preparing request") - return - } - - resp, err := client.GetSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Get", resp, "Failure sending request") - return - } - - result, err = client.GetResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Get", resp, "Failure responding to request") - } - - return -} - -// GetPreparer prepares the Get request. -func (client JobScheduleClient) GetPreparer(ctx context.Context, jobScheduleID string, selectParameter string, expand string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobScheduleId": autorest.Encode("path", jobScheduleID), - } - - const APIVersion = "2017-09-01.6.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(selectParameter) > 0 { - queryParameters["$select"] = autorest.Encode("query", selectParameter) - } - if len(expand) > 0 { - queryParameters["$expand"] = autorest.Encode("query", expand) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobschedules/{jobScheduleId}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetSender sends the Get request. The method will close the -// http.Response Body if it receives an error. -func (client JobScheduleClient) GetSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// GetResponder handles the response to the Get request. The method always -// closes the http.Response Body. -func (client JobScheduleClient) GetResponder(resp *http.Response) (result CloudJobSchedule, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// List sends the list request. -// -// filter is an OData $filter clause. For more information on constructing this filter, see -// https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-job-schedules. -// selectParameter is an OData $select clause. expand is an OData $expand clause. maxResults is the maximum number -// of items to return in the response. A maximum of 1000 job schedules can be returned. timeout is the maximum time -// that the server can spend processing the request, in seconds. The default is 30 seconds. clientRequestID is the -// caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. -func (client JobScheduleClient) List(ctx context.Context, filter string, selectParameter string, expand string, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result CloudJobScheduleListResultPage, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: maxResults, - Constraints: []validation.Constraint{{Target: "maxResults", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "maxResults", Name: validation.InclusiveMaximum, Rule: 1000, Chain: nil}, - {Target: "maxResults", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}, - }}}}}); err != nil { - return result, validation.NewError("batch.JobScheduleClient", "List", err.Error()) - } - - result.fn = client.listNextResults - req, err := client.ListPreparer(ctx, filter, selectParameter, expand, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "List", nil, "Failure preparing request") - return - } - - resp, err := client.ListSender(req) - if err != nil { - result.cjslr.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "List", resp, "Failure sending request") - return - } - - result.cjslr, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "List", resp, "Failure responding to request") - } - - return -} - -// ListPreparer prepares the List request. -func (client JobScheduleClient) ListPreparer(ctx context.Context, filter string, selectParameter string, expand string, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - const APIVersion = "2017-09-01.6.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(filter) > 0 { - queryParameters["$filter"] = autorest.Encode("query", filter) - } - if len(selectParameter) > 0 { - queryParameters["$select"] = autorest.Encode("query", selectParameter) - } - if len(expand) > 0 { - queryParameters["$expand"] = autorest.Encode("query", expand) - } - if maxResults != nil { - queryParameters["maxresults"] = autorest.Encode("query", *maxResults) - } else { - queryParameters["maxresults"] = autorest.Encode("query", 1000) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPath("/jobschedules"), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListSender sends the List request. The method will close the -// http.Response Body if it receives an error. -func (client JobScheduleClient) ListSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ListResponder handles the response to the List request. The method always -// closes the http.Response Body. -func (client JobScheduleClient) ListResponder(resp *http.Response) (result CloudJobScheduleListResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listNextResults retrieves the next set of results, if any. -func (client JobScheduleClient) listNextResults(lastResults CloudJobScheduleListResult) (result CloudJobScheduleListResult, err error) { - req, err := lastResults.cloudJobScheduleListResultPreparer() - if err != nil { - return result, autorest.NewErrorWithError(err, "batch.JobScheduleClient", "listNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "batch.JobScheduleClient", "listNextResults", resp, "Failure sending next results request") - } - result, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "listNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListComplete enumerates all values, automatically crossing page boundaries as required. -func (client JobScheduleClient) ListComplete(ctx context.Context, filter string, selectParameter string, expand string, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result CloudJobScheduleListResultIterator, err error) { - result.page, err = client.List(ctx, filter, selectParameter, expand, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - return -} - -// Patch this replaces only the job schedule properties specified in the request. For example, if the schedule property -// is not specified with this request, then the Batch service will keep the existing schedule. Changes to a job -// schedule only impact jobs created by the schedule after the update has taken place; currently running jobs are -// unaffected. -// -// jobScheduleID is the ID of the job schedule to update. jobSchedulePatchParameter is the parameters for the -// request. timeout is the maximum time that the server can spend processing the request, in seconds. The default -// is 30 seconds. clientRequestID is the caller-generated request identity, in the form of a GUID with no -// decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the -// server should return the client-request-id in the response. ocpDate is the time the request was issued. Client -// libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API -// directly. ifMatch is an ETag value associated with the version of the resource known to the client. The -// operation will be performed only if the resource's current ETag on the service exactly matches the value -// specified by the client. ifNoneMatch is an ETag value associated with the version of the resource known to the -// client. The operation will be performed only if the resource's current ETag on the service does not match the -// value specified by the client. ifModifiedSince is a timestamp indicating the last modified time of the resource -// known to the client. The operation will be performed only if the resource on the service has been modified since -// the specified time. ifUnmodifiedSince is a timestamp indicating the last modified time of the resource known to -// the client. The operation will be performed only if the resource on the service has not been modified since the -// specified time. -func (client JobScheduleClient) Patch(ctx context.Context, jobScheduleID string, jobSchedulePatchParameter JobSchedulePatchParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.PatchPreparer(ctx, jobScheduleID, jobSchedulePatchParameter, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Patch", nil, "Failure preparing request") - return - } - - resp, err := client.PatchSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Patch", resp, "Failure sending request") - return - } - - result, err = client.PatchResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Patch", resp, "Failure responding to request") - } - - return -} - -// PatchPreparer prepares the Patch request. -func (client JobScheduleClient) PatchPreparer(ctx context.Context, jobScheduleID string, jobSchedulePatchParameter JobSchedulePatchParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobScheduleId": autorest.Encode("path", jobScheduleID), - } - - const APIVersion = "2017-09-01.6.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPatch(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobschedules/{jobScheduleId}", pathParameters), - autorest.WithJSON(jobSchedulePatchParameter), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// PatchSender sends the Patch request. The method will close the -// http.Response Body if it receives an error. -func (client JobScheduleClient) PatchSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// PatchResponder handles the response to the Patch request. The method always -// closes the http.Response Body. -func (client JobScheduleClient) PatchResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} - -// Terminate sends the terminate request. -// -// jobScheduleID is the ID of the job schedule to terminates. timeout is the maximum time that the server can spend -// processing the request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated request -// identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. ifMatch is an -// ETag value associated with the version of the resource known to the client. The operation will be performed only -// if the resource's current ETag on the service exactly matches the value specified by the client. ifNoneMatch is -// an ETag value associated with the version of the resource known to the client. The operation will be performed -// only if the resource's current ETag on the service does not match the value specified by the client. -// ifModifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has been modified since the specified time. -// ifUnmodifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has not been modified since the specified time. -func (client JobScheduleClient) Terminate(ctx context.Context, jobScheduleID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.TerminatePreparer(ctx, jobScheduleID, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Terminate", nil, "Failure preparing request") - return - } - - resp, err := client.TerminateSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Terminate", resp, "Failure sending request") - return - } - - result, err = client.TerminateResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Terminate", resp, "Failure responding to request") - } - - return -} - -// TerminatePreparer prepares the Terminate request. -func (client JobScheduleClient) TerminatePreparer(ctx context.Context, jobScheduleID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobScheduleId": autorest.Encode("path", jobScheduleID), - } - - const APIVersion = "2017-09-01.6.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobschedules/{jobScheduleId}/terminate", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// TerminateSender sends the Terminate request. The method will close the -// http.Response Body if it receives an error. -func (client JobScheduleClient) TerminateSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// TerminateResponder handles the response to the Terminate request. The method always -// closes the http.Response Body. -func (client JobScheduleClient) TerminateResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByClosing()) - result.Response = resp - return -} - -// Update this fully replaces all the updateable properties of the job schedule. For example, if the schedule property -// is not specified with this request, then the Batch service will remove the existing schedule. Changes to a job -// schedule only impact jobs created by the schedule after the update has taken place; currently running jobs are -// unaffected. -// -// jobScheduleID is the ID of the job schedule to update. jobScheduleUpdateParameter is the parameters for the -// request. timeout is the maximum time that the server can spend processing the request, in seconds. The default -// is 30 seconds. clientRequestID is the caller-generated request identity, in the form of a GUID with no -// decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the -// server should return the client-request-id in the response. ocpDate is the time the request was issued. Client -// libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API -// directly. ifMatch is an ETag value associated with the version of the resource known to the client. The -// operation will be performed only if the resource's current ETag on the service exactly matches the value -// specified by the client. ifNoneMatch is an ETag value associated with the version of the resource known to the -// client. The operation will be performed only if the resource's current ETag on the service does not match the -// value specified by the client. ifModifiedSince is a timestamp indicating the last modified time of the resource -// known to the client. The operation will be performed only if the resource on the service has been modified since -// the specified time. ifUnmodifiedSince is a timestamp indicating the last modified time of the resource known to -// the client. The operation will be performed only if the resource on the service has not been modified since the -// specified time. -func (client JobScheduleClient) Update(ctx context.Context, jobScheduleID string, jobScheduleUpdateParameter JobScheduleUpdateParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: jobScheduleUpdateParameter, - Constraints: []validation.Constraint{{Target: "jobScheduleUpdateParameter.Schedule", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "jobScheduleUpdateParameter.JobSpecification", Name: validation.Null, Rule: true, - Chain: []validation.Constraint{{Target: "jobScheduleUpdateParameter.JobSpecification.JobManagerTask", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "jobScheduleUpdateParameter.JobSpecification.JobManagerTask.ID", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "jobScheduleUpdateParameter.JobSpecification.JobManagerTask.CommandLine", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "jobScheduleUpdateParameter.JobSpecification.JobManagerTask.ContainerSettings", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "jobScheduleUpdateParameter.JobSpecification.JobManagerTask.ContainerSettings.ImageName", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "jobScheduleUpdateParameter.JobSpecification.JobManagerTask.ContainerSettings.Registry", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "jobScheduleUpdateParameter.JobSpecification.JobManagerTask.ContainerSettings.Registry.UserName", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "jobScheduleUpdateParameter.JobSpecification.JobManagerTask.ContainerSettings.Registry.Password", Name: validation.Null, Rule: true, Chain: nil}, - }}, - }}, - }}, - {Target: "jobScheduleUpdateParameter.JobSpecification.JobPreparationTask", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "jobScheduleUpdateParameter.JobSpecification.JobPreparationTask.CommandLine", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "jobScheduleUpdateParameter.JobSpecification.JobPreparationTask.ContainerSettings", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "jobScheduleUpdateParameter.JobSpecification.JobPreparationTask.ContainerSettings.ImageName", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "jobScheduleUpdateParameter.JobSpecification.JobPreparationTask.ContainerSettings.Registry", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "jobScheduleUpdateParameter.JobSpecification.JobPreparationTask.ContainerSettings.Registry.UserName", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "jobScheduleUpdateParameter.JobSpecification.JobPreparationTask.ContainerSettings.Registry.Password", Name: validation.Null, Rule: true, Chain: nil}, - }}, - }}, - }}, - {Target: "jobScheduleUpdateParameter.JobSpecification.JobReleaseTask", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "jobScheduleUpdateParameter.JobSpecification.JobReleaseTask.CommandLine", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "jobScheduleUpdateParameter.JobSpecification.JobReleaseTask.ContainerSettings", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "jobScheduleUpdateParameter.JobSpecification.JobReleaseTask.ContainerSettings.ImageName", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "jobScheduleUpdateParameter.JobSpecification.JobReleaseTask.ContainerSettings.Registry", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "jobScheduleUpdateParameter.JobSpecification.JobReleaseTask.ContainerSettings.Registry.UserName", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "jobScheduleUpdateParameter.JobSpecification.JobReleaseTask.ContainerSettings.Registry.Password", Name: validation.Null, Rule: true, Chain: nil}, - }}, - }}, - }}, - {Target: "jobScheduleUpdateParameter.JobSpecification.PoolInfo", Name: validation.Null, Rule: true, - Chain: []validation.Constraint{{Target: "jobScheduleUpdateParameter.JobSpecification.PoolInfo.AutoPoolSpecification", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "jobScheduleUpdateParameter.JobSpecification.PoolInfo.AutoPoolSpecification.Pool", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "jobScheduleUpdateParameter.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.VMSize", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "jobScheduleUpdateParameter.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.CloudServiceConfiguration", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "jobScheduleUpdateParameter.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.CloudServiceConfiguration.OsFamily", Name: validation.Null, Rule: true, Chain: nil}}}, - {Target: "jobScheduleUpdateParameter.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "jobScheduleUpdateParameter.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.ImageReference", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "jobScheduleUpdateParameter.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.NodeAgentSKUID", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "jobScheduleUpdateParameter.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.ContainerConfiguration", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "jobScheduleUpdateParameter.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.VirtualMachineConfiguration.ContainerConfiguration.Type", Name: validation.Null, Rule: true, Chain: nil}}}, - }}, - {Target: "jobScheduleUpdateParameter.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.NetworkConfiguration", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "jobScheduleUpdateParameter.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.NetworkConfiguration.EndpointConfiguration", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "jobScheduleUpdateParameter.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.NetworkConfiguration.EndpointConfiguration.InboundNATPools", Name: validation.Null, Rule: true, Chain: nil}}}, - }}, - {Target: "jobScheduleUpdateParameter.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.StartTask", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "jobScheduleUpdateParameter.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.StartTask.CommandLine", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "jobScheduleUpdateParameter.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.StartTask.ContainerSettings", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "jobScheduleUpdateParameter.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.StartTask.ContainerSettings.ImageName", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "jobScheduleUpdateParameter.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.StartTask.ContainerSettings.Registry", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "jobScheduleUpdateParameter.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.StartTask.ContainerSettings.Registry.UserName", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "jobScheduleUpdateParameter.JobSpecification.PoolInfo.AutoPoolSpecification.Pool.StartTask.ContainerSettings.Registry.Password", Name: validation.Null, Rule: true, Chain: nil}, - }}, - }}, - }}, - }}, - }}, - }}, - }}}}}); err != nil { - return result, validation.NewError("batch.JobScheduleClient", "Update", err.Error()) - } - - req, err := client.UpdatePreparer(ctx, jobScheduleID, jobScheduleUpdateParameter, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Update", nil, "Failure preparing request") - return - } - - resp, err := client.UpdateSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Update", resp, "Failure sending request") - return - } - - result, err = client.UpdateResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.JobScheduleClient", "Update", resp, "Failure responding to request") - } - - return -} - -// UpdatePreparer prepares the Update request. -func (client JobScheduleClient) UpdatePreparer(ctx context.Context, jobScheduleID string, jobScheduleUpdateParameter JobScheduleUpdateParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobScheduleId": autorest.Encode("path", jobScheduleID), - } - - const APIVersion = "2017-09-01.6.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPut(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobschedules/{jobScheduleId}", pathParameters), - autorest.WithJSON(jobScheduleUpdateParameter), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// UpdateSender sends the Update request. The method will close the -// http.Response Body if it receives an error. -func (client JobScheduleClient) UpdateSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// UpdateResponder handles the response to the Update request. The method always -// closes the http.Response Body. -func (client JobScheduleClient) UpdateResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} diff --git a/services/batch/2017-09-01.6.0/batch/models.go b/services/batch/2017-09-01.6.0/batch/models.go deleted file mode 100644 index d75557cf0e08..000000000000 --- a/services/batch/2017-09-01.6.0/batch/models.go +++ /dev/null @@ -1,3418 +0,0 @@ -package batch - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/date" - "github.com/Azure/go-autorest/autorest/to" - "io" - "net/http" -) - -// AccessScope enumerates the values for access scope. -type AccessScope string - -const ( - // Job Grants access to perform all operations on the job containing the task. - Job AccessScope = "job" -) - -// PossibleAccessScopeValues returns an array of possible values for the AccessScope const type. -func PossibleAccessScopeValues() []AccessScope { - return []AccessScope{Job} -} - -// AllocationState enumerates the values for allocation state. -type AllocationState string - -const ( - // Resizing The pool is resizing; that is, compute nodes are being added to or removed from the pool. - Resizing AllocationState = "resizing" - // Steady The pool is not resizing. There are no changes to the number of nodes in the pool in progress. A - // pool enters this state when it is created and when no operations are being performed on the pool to - // change the number of nodes. - Steady AllocationState = "steady" - // Stopping The pool was resizing, but the user has requested that the resize be stopped, but the stop - // request has not yet been completed. - Stopping AllocationState = "stopping" -) - -// PossibleAllocationStateValues returns an array of possible values for the AllocationState const type. -func PossibleAllocationStateValues() []AllocationState { - return []AllocationState{Resizing, Steady, Stopping} -} - -// AutoUserScope enumerates the values for auto user scope. -type AutoUserScope string - -const ( - // Pool Specifies that the task runs as the common auto user account which is created on every node in a - // pool. - Pool AutoUserScope = "pool" - // Task Specifies that the service should create a new user for the task. - Task AutoUserScope = "task" -) - -// PossibleAutoUserScopeValues returns an array of possible values for the AutoUserScope const type. -func PossibleAutoUserScopeValues() []AutoUserScope { - return []AutoUserScope{Pool, Task} -} - -// CachingType enumerates the values for caching type. -type CachingType string - -const ( - // None The caching mode for the disk is not enabled. - None CachingType = "none" - // ReadOnly The caching mode for the disk is read only. - ReadOnly CachingType = "readonly" - // ReadWrite The caching mode for the disk is read and write. - ReadWrite CachingType = "readwrite" -) - -// PossibleCachingTypeValues returns an array of possible values for the CachingType const type. -func PossibleCachingTypeValues() []CachingType { - return []CachingType{None, ReadOnly, ReadWrite} -} - -// CertificateFormat enumerates the values for certificate format. -type CertificateFormat string - -const ( - // Cer The certificate is a base64-encoded X.509 certificate. - Cer CertificateFormat = "cer" - // Pfx The certificate is a PFX (PKCS#12) formatted certificate or certificate chain. - Pfx CertificateFormat = "pfx" -) - -// PossibleCertificateFormatValues returns an array of possible values for the CertificateFormat const type. -func PossibleCertificateFormatValues() []CertificateFormat { - return []CertificateFormat{Cer, Pfx} -} - -// CertificateState enumerates the values for certificate state. -type CertificateState string - -const ( - // Active The certificate is available for use in pools. - Active CertificateState = "active" - // DeleteFailed The user requested that the certificate be deleted, but there are pools that still have - // references to the certificate, or it is still installed on one or more compute nodes. (The latter can - // occur if the certificate has been removed from the pool, but the node has not yet restarted. Nodes - // refresh their certificates only when they restart.) You may use the cancel certificate delete operation - // to cancel the delete, or the delete certificate operation to retry the delete. - DeleteFailed CertificateState = "deletefailed" - // Deleting The user has requested that the certificate be deleted, but the delete operation has not yet - // completed. You may not reference the certificate when creating or updating pools. - Deleting CertificateState = "deleting" -) - -// PossibleCertificateStateValues returns an array of possible values for the CertificateState const type. -func PossibleCertificateStateValues() []CertificateState { - return []CertificateState{Active, DeleteFailed, Deleting} -} - -// CertificateStoreLocation enumerates the values for certificate store location. -type CertificateStoreLocation string - -const ( - // CurrentUser Certificates should be installed to the CurrentUser certificate store. - CurrentUser CertificateStoreLocation = "currentuser" - // LocalMachine Certificates should be installed to the LocalMachine certificate store. - LocalMachine CertificateStoreLocation = "localmachine" -) - -// PossibleCertificateStoreLocationValues returns an array of possible values for the CertificateStoreLocation const type. -func PossibleCertificateStoreLocationValues() []CertificateStoreLocation { - return []CertificateStoreLocation{CurrentUser, LocalMachine} -} - -// CertificateVisibility enumerates the values for certificate visibility. -type CertificateVisibility string - -const ( - // CertificateVisibilityRemoteUser The certificate should be visibile to the user accounts under which - // users remotely access the node. - CertificateVisibilityRemoteUser CertificateVisibility = "remoteuser" - // CertificateVisibilityStartTask The certificate should be visible to the user account under which the - // start task is run. - CertificateVisibilityStartTask CertificateVisibility = "starttask" - // CertificateVisibilityTask The certificate should be visibile to the user accounts under which job tasks - // are run. - CertificateVisibilityTask CertificateVisibility = "task" -) - -// PossibleCertificateVisibilityValues returns an array of possible values for the CertificateVisibility const type. -func PossibleCertificateVisibilityValues() []CertificateVisibility { - return []CertificateVisibility{CertificateVisibilityRemoteUser, CertificateVisibilityStartTask, CertificateVisibilityTask} -} - -// ComputeNodeDeallocationOption enumerates the values for compute node deallocation option. -type ComputeNodeDeallocationOption string - -const ( - // Requeue Terminate running task processes and requeue the tasks. The tasks will run again when a node is - // available. Remove nodes as soon as tasks have been terminated. - Requeue ComputeNodeDeallocationOption = "requeue" - // RetainedData Allow currently running tasks to complete, then wait for all task data retention periods to - // expire. Schedule no new tasks while waiting. Remove nodes when all task retention periods have expired. - RetainedData ComputeNodeDeallocationOption = "retaineddata" - // TaskCompletion Allow currently running tasks to complete. Schedule no new tasks while waiting. Remove - // nodes when all tasks have completed. - TaskCompletion ComputeNodeDeallocationOption = "taskcompletion" - // Terminate Terminate running tasks. The tasks will be completed with failureInfo indicating that they - // were terminated, and will not run again. Remove nodes as soon as tasks have been terminated. - Terminate ComputeNodeDeallocationOption = "terminate" -) - -// PossibleComputeNodeDeallocationOptionValues returns an array of possible values for the ComputeNodeDeallocationOption const type. -func PossibleComputeNodeDeallocationOptionValues() []ComputeNodeDeallocationOption { - return []ComputeNodeDeallocationOption{Requeue, RetainedData, TaskCompletion, Terminate} -} - -// ComputeNodeFillType enumerates the values for compute node fill type. -type ComputeNodeFillType string - -const ( - // Pack As many tasks as possible (maxTasksPerNode) should be assigned to each node in the pool before any - // tasks are assigned to the next node in the pool. - Pack ComputeNodeFillType = "pack" - // Spread Tasks should be assigned evenly across all nodes in the pool. - Spread ComputeNodeFillType = "spread" -) - -// PossibleComputeNodeFillTypeValues returns an array of possible values for the ComputeNodeFillType const type. -func PossibleComputeNodeFillTypeValues() []ComputeNodeFillType { - return []ComputeNodeFillType{Pack, Spread} -} - -// ComputeNodeRebootOption enumerates the values for compute node reboot option. -type ComputeNodeRebootOption string - -const ( - // ComputeNodeRebootOptionRequeue Terminate running task processes and requeue the tasks. The tasks will - // run again when a node is available. Restart the node as soon as tasks have been terminated. - ComputeNodeRebootOptionRequeue ComputeNodeRebootOption = "requeue" - // ComputeNodeRebootOptionRetainedData Allow currently running tasks to complete, then wait for all task - // data retention periods to expire. Schedule no new tasks while waiting. Restart the node when all task - // retention periods have expired. - ComputeNodeRebootOptionRetainedData ComputeNodeRebootOption = "retaineddata" - // ComputeNodeRebootOptionTaskCompletion Allow currently running tasks to complete. Schedule no new tasks - // while waiting. Restart the node when all tasks have completed. - ComputeNodeRebootOptionTaskCompletion ComputeNodeRebootOption = "taskcompletion" - // ComputeNodeRebootOptionTerminate Terminate running tasks. The tasks will be completed with failureInfo - // indicating that they were terminated, and will not run again. Restart the node as soon as tasks have - // been terminated. - ComputeNodeRebootOptionTerminate ComputeNodeRebootOption = "terminate" -) - -// PossibleComputeNodeRebootOptionValues returns an array of possible values for the ComputeNodeRebootOption const type. -func PossibleComputeNodeRebootOptionValues() []ComputeNodeRebootOption { - return []ComputeNodeRebootOption{ComputeNodeRebootOptionRequeue, ComputeNodeRebootOptionRetainedData, ComputeNodeRebootOptionTaskCompletion, ComputeNodeRebootOptionTerminate} -} - -// ComputeNodeReimageOption enumerates the values for compute node reimage option. -type ComputeNodeReimageOption string - -const ( - // ComputeNodeReimageOptionRequeue Terminate running task processes and requeue the tasks. The tasks will - // run again when a node is available. Reimage the node as soon as tasks have been terminated. - ComputeNodeReimageOptionRequeue ComputeNodeReimageOption = "requeue" - // ComputeNodeReimageOptionRetainedData Allow currently running tasks to complete, then wait for all task - // data retention periods to expire. Schedule no new tasks while waiting. Reimage the node when all task - // retention periods have expired. - ComputeNodeReimageOptionRetainedData ComputeNodeReimageOption = "retaineddata" - // ComputeNodeReimageOptionTaskCompletion Allow currently running tasks to complete. Schedule no new tasks - // while waiting. Reimage the node when all tasks have completed. - ComputeNodeReimageOptionTaskCompletion ComputeNodeReimageOption = "taskcompletion" - // ComputeNodeReimageOptionTerminate Terminate running tasks. The tasks will be completed with failureInfo - // indicating that they were terminated, and will not run again. Reimage the node as soon as tasks have - // been terminated. - ComputeNodeReimageOptionTerminate ComputeNodeReimageOption = "terminate" -) - -// PossibleComputeNodeReimageOptionValues returns an array of possible values for the ComputeNodeReimageOption const type. -func PossibleComputeNodeReimageOptionValues() []ComputeNodeReimageOption { - return []ComputeNodeReimageOption{ComputeNodeReimageOptionRequeue, ComputeNodeReimageOptionRetainedData, ComputeNodeReimageOptionTaskCompletion, ComputeNodeReimageOptionTerminate} -} - -// ComputeNodeState enumerates the values for compute node state. -type ComputeNodeState string - -const ( - // Creating The Batch service has obtained the underlying virtual machine from Azure Compute, but it has - // not yet started to join the pool. - Creating ComputeNodeState = "creating" - // Idle The node is not currently running a task. - Idle ComputeNodeState = "idle" - // LeavingPool The node is leaving the pool, either because the user explicitly removed it or because the - // pool is resizing or autoscaling down. - LeavingPool ComputeNodeState = "leavingpool" - // Offline The node is not currently running a task, and scheduling of new tasks to the node is disabled. - Offline ComputeNodeState = "offline" - // Preempted The low-priority node has been preempted. Tasks which were running on the node when it was - // pre-empted will be rescheduled when another node becomes available. - Preempted ComputeNodeState = "preempted" - // Rebooting The node is rebooting. - Rebooting ComputeNodeState = "rebooting" - // Reimaging The node is reimaging. - Reimaging ComputeNodeState = "reimaging" - // Running The node is running one or more tasks (other than a start task). - Running ComputeNodeState = "running" - // Starting The Batch service is starting on the underlying virtual machine. - Starting ComputeNodeState = "starting" - // StartTaskFailed The start task has failed on the compute node (and exhausted all retries), and - // waitForSuccess is set. The node is not usable for running tasks. - StartTaskFailed ComputeNodeState = "starttaskfailed" - // Unknown The Batch service has lost contact with the node, and does not know its true state. - Unknown ComputeNodeState = "unknown" - // Unusable The node cannot be used for task execution due to errors. - Unusable ComputeNodeState = "unusable" - // WaitingForStartTask The start task has started running on the compute node, but waitForSuccess is set - // and the start task has not yet completed. - WaitingForStartTask ComputeNodeState = "waitingforstarttask" -) - -// PossibleComputeNodeStateValues returns an array of possible values for the ComputeNodeState const type. -func PossibleComputeNodeStateValues() []ComputeNodeState { - return []ComputeNodeState{Creating, Idle, LeavingPool, Offline, Preempted, Rebooting, Reimaging, Running, Starting, StartTaskFailed, Unknown, Unusable, WaitingForStartTask} -} - -// DependencyAction enumerates the values for dependency action. -type DependencyAction string - -const ( - // Block Block the task's dependencies. - Block DependencyAction = "block" - // Satisfy Satisfy the task's dependencies. - Satisfy DependencyAction = "satisfy" -) - -// PossibleDependencyActionValues returns an array of possible values for the DependencyAction const type. -func PossibleDependencyActionValues() []DependencyAction { - return []DependencyAction{Block, Satisfy} -} - -// DisableComputeNodeSchedulingOption enumerates the values for disable compute node scheduling option. -type DisableComputeNodeSchedulingOption string - -const ( - // DisableComputeNodeSchedulingOptionRequeue Terminate running task processes and requeue the tasks. The - // tasks may run again on other compute nodes, or when task scheduling is re-enabled on this node. Enter - // offline state as soon as tasks have been terminated. - DisableComputeNodeSchedulingOptionRequeue DisableComputeNodeSchedulingOption = "requeue" - // DisableComputeNodeSchedulingOptionTaskCompletion Allow currently running tasks to complete. Schedule no - // new tasks while waiting. Enter offline state when all tasks have completed. - DisableComputeNodeSchedulingOptionTaskCompletion DisableComputeNodeSchedulingOption = "taskcompletion" - // DisableComputeNodeSchedulingOptionTerminate Terminate running tasks. The tasks will be completed with - // failureInfo indicating that they were terminated, and will not run again. Enter offline state as soon as - // tasks have been terminated. - DisableComputeNodeSchedulingOptionTerminate DisableComputeNodeSchedulingOption = "terminate" -) - -// PossibleDisableComputeNodeSchedulingOptionValues returns an array of possible values for the DisableComputeNodeSchedulingOption const type. -func PossibleDisableComputeNodeSchedulingOptionValues() []DisableComputeNodeSchedulingOption { - return []DisableComputeNodeSchedulingOption{DisableComputeNodeSchedulingOptionRequeue, DisableComputeNodeSchedulingOptionTaskCompletion, DisableComputeNodeSchedulingOptionTerminate} -} - -// DisableJobOption enumerates the values for disable job option. -type DisableJobOption string - -const ( - // DisableJobOptionRequeue Terminate running tasks and requeue them. The tasks will run again when the job - // is enabled. - DisableJobOptionRequeue DisableJobOption = "requeue" - // DisableJobOptionTerminate Terminate running tasks. The tasks will be completed with failureInfo - // indicating that they were terminated, and will not run again. - DisableJobOptionTerminate DisableJobOption = "terminate" - // DisableJobOptionWait Allow currently running tasks to complete. - DisableJobOptionWait DisableJobOption = "wait" -) - -// PossibleDisableJobOptionValues returns an array of possible values for the DisableJobOption const type. -func PossibleDisableJobOptionValues() []DisableJobOption { - return []DisableJobOption{DisableJobOptionRequeue, DisableJobOptionTerminate, DisableJobOptionWait} -} - -// ElevationLevel enumerates the values for elevation level. -type ElevationLevel string - -const ( - // Admin The user is a user with elevated access and operates with full Administrator permissions. - Admin ElevationLevel = "admin" - // NonAdmin The user is a standard user without elevated access. - NonAdmin ElevationLevel = "nonadmin" -) - -// PossibleElevationLevelValues returns an array of possible values for the ElevationLevel const type. -func PossibleElevationLevelValues() []ElevationLevel { - return []ElevationLevel{Admin, NonAdmin} -} - -// ErrorCategory enumerates the values for error category. -type ErrorCategory string - -const ( - // ServerError The error is due to an internal server issue. - ServerError ErrorCategory = "servererror" - // UserError The error is due to a user issue, such as misconfiguration. - UserError ErrorCategory = "usererror" -) - -// PossibleErrorCategoryValues returns an array of possible values for the ErrorCategory const type. -func PossibleErrorCategoryValues() []ErrorCategory { - return []ErrorCategory{ServerError, UserError} -} - -// InboundEndpointProtocol enumerates the values for inbound endpoint protocol. -type InboundEndpointProtocol string - -const ( - // TCP Use TCP for the endpoint. - TCP InboundEndpointProtocol = "tcp" - // UDP Use UDP for the endpoint. - UDP InboundEndpointProtocol = "udp" -) - -// PossibleInboundEndpointProtocolValues returns an array of possible values for the InboundEndpointProtocol const type. -func PossibleInboundEndpointProtocolValues() []InboundEndpointProtocol { - return []InboundEndpointProtocol{TCP, UDP} -} - -// JobAction enumerates the values for job action. -type JobAction string - -const ( - // JobActionDisable Disable the job. This is equivalent to calling the disable job API, with a disableTasks - // value of requeue. - JobActionDisable JobAction = "disable" - // JobActionNone Take no action. - JobActionNone JobAction = "none" - // JobActionTerminate Terminate the job. The terminateReason in the job's executionInfo is set to - // "TaskFailed". - JobActionTerminate JobAction = "terminate" -) - -// PossibleJobActionValues returns an array of possible values for the JobAction const type. -func PossibleJobActionValues() []JobAction { - return []JobAction{JobActionDisable, JobActionNone, JobActionTerminate} -} - -// JobPreparationTaskState enumerates the values for job preparation task state. -type JobPreparationTaskState string - -const ( - // JobPreparationTaskStateCompleted The task has exited with exit code 0, or the task has exhausted its - // retry limit, or the Batch service was unable to start the task due to task preparation errors (such as - // resource file download failures). - JobPreparationTaskStateCompleted JobPreparationTaskState = "completed" - // JobPreparationTaskStateRunning The task is currently running (including retrying). - JobPreparationTaskStateRunning JobPreparationTaskState = "running" -) - -// PossibleJobPreparationTaskStateValues returns an array of possible values for the JobPreparationTaskState const type. -func PossibleJobPreparationTaskStateValues() []JobPreparationTaskState { - return []JobPreparationTaskState{JobPreparationTaskStateCompleted, JobPreparationTaskStateRunning} -} - -// JobReleaseTaskState enumerates the values for job release task state. -type JobReleaseTaskState string - -const ( - // JobReleaseTaskStateCompleted The task has exited with exit code 0, or the task has exhausted its retry - // limit, or the Batch service was unable to start the task due to task preparation errors (such as - // resource file download failures). - JobReleaseTaskStateCompleted JobReleaseTaskState = "completed" - // JobReleaseTaskStateRunning The task is currently running (including retrying). - JobReleaseTaskStateRunning JobReleaseTaskState = "running" -) - -// PossibleJobReleaseTaskStateValues returns an array of possible values for the JobReleaseTaskState const type. -func PossibleJobReleaseTaskStateValues() []JobReleaseTaskState { - return []JobReleaseTaskState{JobReleaseTaskStateCompleted, JobReleaseTaskStateRunning} -} - -// JobScheduleState enumerates the values for job schedule state. -type JobScheduleState string - -const ( - // JobScheduleStateActive The job schedule is active and will create jobs as per its schedule. - JobScheduleStateActive JobScheduleState = "active" - // JobScheduleStateCompleted The schedule has terminated, either by reaching its end time or by the user - // terminating it explicitly. - JobScheduleStateCompleted JobScheduleState = "completed" - // JobScheduleStateDeleting The user has requested that the schedule be deleted, but the delete operation - // is still in progress. The scheduler will not initiate any new jobs for this schedule, and will delete - // any existing jobs and tasks under the schedule, including any active job. The schedule will be deleted - // when all jobs and tasks under the schedule have been deleted. - JobScheduleStateDeleting JobScheduleState = "deleting" - // JobScheduleStateDisabled The user has disabled the schedule. The scheduler will not initiate any new - // jobs will on this schedule, but any existing active job will continue to run. - JobScheduleStateDisabled JobScheduleState = "disabled" - // JobScheduleStateTerminating The schedule has no more work to do, or has been explicitly terminated by - // the user, but the termination operation is still in progress. The scheduler will not initiate any new - // jobs for this schedule, nor is any existing job active. - JobScheduleStateTerminating JobScheduleState = "terminating" -) - -// PossibleJobScheduleStateValues returns an array of possible values for the JobScheduleState const type. -func PossibleJobScheduleStateValues() []JobScheduleState { - return []JobScheduleState{JobScheduleStateActive, JobScheduleStateCompleted, JobScheduleStateDeleting, JobScheduleStateDisabled, JobScheduleStateTerminating} -} - -// JobState enumerates the values for job state. -type JobState string - -const ( - // JobStateActive The job is available to have tasks scheduled. - JobStateActive JobState = "active" - // JobStateCompleted All tasks have terminated, and the system will not accept any more tasks or any - // further changes to the job. - JobStateCompleted JobState = "completed" - // JobStateDeleting A user has requested that the job be deleted, but the delete operation is still in - // progress (for example, because the system is still terminating running tasks). - JobStateDeleting JobState = "deleting" - // JobStateDisabled A user has disabled the job. No tasks are running, and no new tasks will be scheduled. - JobStateDisabled JobState = "disabled" - // JobStateDisabling A user has requested that the job be disabled, but the disable operation is still in - // progress (for example, waiting for tasks to terminate). - JobStateDisabling JobState = "disabling" - // JobStateEnabling A user has requested that the job be enabled, but the enable operation is still in - // progress. - JobStateEnabling JobState = "enabling" - // JobStateTerminating The job is about to complete, either because a Job Manager task has completed or - // because the user has terminated the job, but the terminate operation is still in progress (for example, - // because Job Release tasks are running). - JobStateTerminating JobState = "terminating" -) - -// PossibleJobStateValues returns an array of possible values for the JobState const type. -func PossibleJobStateValues() []JobState { - return []JobState{JobStateActive, JobStateCompleted, JobStateDeleting, JobStateDisabled, JobStateDisabling, JobStateEnabling, JobStateTerminating} -} - -// NetworkSecurityGroupRuleAccess enumerates the values for network security group rule access. -type NetworkSecurityGroupRuleAccess string - -const ( - // Allow Allow access. - Allow NetworkSecurityGroupRuleAccess = "allow" - // Deny Deny access. - Deny NetworkSecurityGroupRuleAccess = "deny" -) - -// PossibleNetworkSecurityGroupRuleAccessValues returns an array of possible values for the NetworkSecurityGroupRuleAccess const type. -func PossibleNetworkSecurityGroupRuleAccessValues() []NetworkSecurityGroupRuleAccess { - return []NetworkSecurityGroupRuleAccess{Allow, Deny} -} - -// OnAllTasksComplete enumerates the values for on all tasks complete. -type OnAllTasksComplete string - -const ( - // NoAction Do nothing. The job remains active unless terminated or disabled by some other means. - NoAction OnAllTasksComplete = "noaction" - // TerminateJob Terminate the job. The job's terminateReason is set to 'AllTasksComplete'. - TerminateJob OnAllTasksComplete = "terminatejob" -) - -// PossibleOnAllTasksCompleteValues returns an array of possible values for the OnAllTasksComplete const type. -func PossibleOnAllTasksCompleteValues() []OnAllTasksComplete { - return []OnAllTasksComplete{NoAction, TerminateJob} -} - -// OnTaskFailure enumerates the values for on task failure. -type OnTaskFailure string - -const ( - // OnTaskFailureNoAction Do nothing. The job remains active unless terminated or disabled by some other - // means. - OnTaskFailureNoAction OnTaskFailure = "noaction" - // OnTaskFailurePerformExitOptionsJobAction Take the action associated with the task exit condition in the - // task's exitConditions collection. (This may still result in no action being taken, if that is what the - // task specifies.) - OnTaskFailurePerformExitOptionsJobAction OnTaskFailure = "performexitoptionsjobaction" -) - -// PossibleOnTaskFailureValues returns an array of possible values for the OnTaskFailure const type. -func PossibleOnTaskFailureValues() []OnTaskFailure { - return []OnTaskFailure{OnTaskFailureNoAction, OnTaskFailurePerformExitOptionsJobAction} -} - -// OSType enumerates the values for os type. -type OSType string - -const ( - // Linux The Linux operating system. - Linux OSType = "linux" - // Windows The Windows operating system. - Windows OSType = "windows" -) - -// PossibleOSTypeValues returns an array of possible values for the OSType const type. -func PossibleOSTypeValues() []OSType { - return []OSType{Linux, Windows} -} - -// OutputFileUploadCondition enumerates the values for output file upload condition. -type OutputFileUploadCondition string - -const ( - // OutputFileUploadConditionTaskCompletion Upload the file(s) after the task process exits, no matter what - // the exit code was. - OutputFileUploadConditionTaskCompletion OutputFileUploadCondition = "taskcompletion" - // OutputFileUploadConditionTaskFailure Upload the file(s) only after the task process exits with a nonzero - // exit code. - OutputFileUploadConditionTaskFailure OutputFileUploadCondition = "taskfailure" - // OutputFileUploadConditionTaskSuccess Upload the file(s) only after the task process exits with an exit - // code of 0. - OutputFileUploadConditionTaskSuccess OutputFileUploadCondition = "tasksuccess" -) - -// PossibleOutputFileUploadConditionValues returns an array of possible values for the OutputFileUploadCondition const type. -func PossibleOutputFileUploadConditionValues() []OutputFileUploadCondition { - return []OutputFileUploadCondition{OutputFileUploadConditionTaskCompletion, OutputFileUploadConditionTaskFailure, OutputFileUploadConditionTaskSuccess} -} - -// PoolLifetimeOption enumerates the values for pool lifetime option. -type PoolLifetimeOption string - -const ( - // PoolLifetimeOptionJob The pool exists for the lifetime of the job to which it is dedicated. The Batch - // service creates the pool when it creates the job. If the 'job' option is applied to a job schedule, the - // Batch service creates a new auto pool for every job created on the schedule. - PoolLifetimeOptionJob PoolLifetimeOption = "job" - // PoolLifetimeOptionJobSchedule The pool exists for the lifetime of the job schedule. The Batch Service - // creates the pool when it creates the first job on the schedule. You may apply this option only to job - // schedules, not to jobs. - PoolLifetimeOptionJobSchedule PoolLifetimeOption = "jobschedule" -) - -// PossiblePoolLifetimeOptionValues returns an array of possible values for the PoolLifetimeOption const type. -func PossiblePoolLifetimeOptionValues() []PoolLifetimeOption { - return []PoolLifetimeOption{PoolLifetimeOptionJob, PoolLifetimeOptionJobSchedule} -} - -// PoolState enumerates the values for pool state. -type PoolState string - -const ( - // PoolStateActive The pool is available to run tasks subject to the availability of compute nodes. - PoolStateActive PoolState = "active" - // PoolStateDeleting The user has requested that the pool be deleted, but the delete operation has not yet - // completed. - PoolStateDeleting PoolState = "deleting" - // PoolStateUpgrading The user has requested that the operating system of the pool's nodes be upgraded, but - // the upgrade operation has not yet completed (that is, some nodes in the pool have not yet been - // upgraded). While upgrading, the pool may be able to run tasks (with reduced capacity) but this is not - // guaranteed. - PoolStateUpgrading PoolState = "upgrading" -) - -// PossiblePoolStateValues returns an array of possible values for the PoolState const type. -func PossiblePoolStateValues() []PoolState { - return []PoolState{PoolStateActive, PoolStateDeleting, PoolStateUpgrading} -} - -// SchedulingState enumerates the values for scheduling state. -type SchedulingState string - -const ( - // Disabled No new tasks will be scheduled on the node. Tasks already running on the node may still run to - // completion. All nodes start with scheduling enabled. - Disabled SchedulingState = "disabled" - // Enabled Tasks can be scheduled on the node. - Enabled SchedulingState = "enabled" -) - -// PossibleSchedulingStateValues returns an array of possible values for the SchedulingState const type. -func PossibleSchedulingStateValues() []SchedulingState { - return []SchedulingState{Disabled, Enabled} -} - -// StartTaskState enumerates the values for start task state. -type StartTaskState string - -const ( - // StartTaskStateCompleted The start task has exited with exit code 0, or the start task has failed and the - // retry limit has reached, or the start task process did not run due to task preparation errors (such as - // resource file download failures). - StartTaskStateCompleted StartTaskState = "completed" - // StartTaskStateRunning The start task is currently running. - StartTaskStateRunning StartTaskState = "running" -) - -// PossibleStartTaskStateValues returns an array of possible values for the StartTaskState const type. -func PossibleStartTaskStateValues() []StartTaskState { - return []StartTaskState{StartTaskStateCompleted, StartTaskStateRunning} -} - -// StorageAccountType enumerates the values for storage account type. -type StorageAccountType string - -const ( - // PremiumLRS The data disk should use premium locally redundant storage. - PremiumLRS StorageAccountType = "premium_lrs" - // StandardLRS The data disk should use standard locally redundant storage. - StandardLRS StorageAccountType = "standard_lrs" -) - -// PossibleStorageAccountTypeValues returns an array of possible values for the StorageAccountType const type. -func PossibleStorageAccountTypeValues() []StorageAccountType { - return []StorageAccountType{PremiumLRS, StandardLRS} -} - -// SubtaskState enumerates the values for subtask state. -type SubtaskState string - -const ( - // SubtaskStateCompleted The task is no longer eligible to run, usually because the task has finished - // successfully, or the task has finished unsuccessfully and has exhausted its retry limit. A task is also - // marked as completed if an error occurred launching the task, or when the task has been terminated. - SubtaskStateCompleted SubtaskState = "completed" - // SubtaskStatePreparing The task has been assigned to a compute node, but is waiting for a required Job - // Preparation task to complete on the node. If the Job Preparation task succeeds, the task will move to - // running. If the Job Preparation task fails, the task will return to active and will be eligible to be - // assigned to a different node. - SubtaskStatePreparing SubtaskState = "preparing" - // SubtaskStateRunning The task is running on a compute node. This includes task-level preparation such as - // downloading resource files or deploying application packages specified on the task - it does not - // necessarily mean that the task command line has started executing. - SubtaskStateRunning SubtaskState = "running" -) - -// PossibleSubtaskStateValues returns an array of possible values for the SubtaskState const type. -func PossibleSubtaskStateValues() []SubtaskState { - return []SubtaskState{SubtaskStateCompleted, SubtaskStatePreparing, SubtaskStateRunning} -} - -// TaskAddStatus enumerates the values for task add status. -type TaskAddStatus string - -const ( - // TaskAddStatusClientError The task failed to add due to a client error and should not be retried without - // modifying the request as appropriate. - TaskAddStatusClientError TaskAddStatus = "clienterror" - // TaskAddStatusServerError Task failed to add due to a server error and can be retried without - // modification. - TaskAddStatusServerError TaskAddStatus = "servererror" - // TaskAddStatusSuccess The task was added successfully. - TaskAddStatusSuccess TaskAddStatus = "success" -) - -// PossibleTaskAddStatusValues returns an array of possible values for the TaskAddStatus const type. -func PossibleTaskAddStatusValues() []TaskAddStatus { - return []TaskAddStatus{TaskAddStatusClientError, TaskAddStatusServerError, TaskAddStatusSuccess} -} - -// TaskCountValidationStatus enumerates the values for task count validation status. -type TaskCountValidationStatus string - -const ( - // Unvalidated The Batch service has not been able to check state counts against the task states as - // reported in the List Tasks API. The validationStatus may be unvalidated if the job contains more than - // 200,000 tasks. - Unvalidated TaskCountValidationStatus = "unvalidated" - // Validated The Batch service has validated the state counts against the task states as reported in the - // List Tasks API. - Validated TaskCountValidationStatus = "validated" -) - -// PossibleTaskCountValidationStatusValues returns an array of possible values for the TaskCountValidationStatus const type. -func PossibleTaskCountValidationStatusValues() []TaskCountValidationStatus { - return []TaskCountValidationStatus{Unvalidated, Validated} -} - -// TaskExecutionResult enumerates the values for task execution result. -type TaskExecutionResult string - -const ( - // Failure There was an error during processing of the task. The failure may have occurred before the task - // process was launched, while the task process was executing, or after the task process exited. - Failure TaskExecutionResult = "failure" - // Success The task ran successfully. - Success TaskExecutionResult = "success" -) - -// PossibleTaskExecutionResultValues returns an array of possible values for the TaskExecutionResult const type. -func PossibleTaskExecutionResultValues() []TaskExecutionResult { - return []TaskExecutionResult{Failure, Success} -} - -// TaskState enumerates the values for task state. -type TaskState string - -const ( - // TaskStateActive The task is queued and able to run, but is not currently assigned to a compute node. A - // task enters this state when it is created, when it is enabled after being disabled, or when it is - // awaiting a retry after a failed run. - TaskStateActive TaskState = "active" - // TaskStateCompleted The task is no longer eligible to run, usually because the task has finished - // successfully, or the task has finished unsuccessfully and has exhausted its retry limit. A task is also - // marked as completed if an error occurred launching the task, or when the task has been terminated. - TaskStateCompleted TaskState = "completed" - // TaskStatePreparing The task has been assigned to a compute node, but is waiting for a required Job - // Preparation task to complete on the node. If the Job Preparation task succeeds, the task will move to - // running. If the Job Preparation task fails, the task will return to active and will be eligible to be - // assigned to a different node. - TaskStatePreparing TaskState = "preparing" - // TaskStateRunning The task is running on a compute node. This includes task-level preparation such as - // downloading resource files or deploying application packages specified on the task - it does not - // necessarily mean that the task command line has started executing. - TaskStateRunning TaskState = "running" -) - -// PossibleTaskStateValues returns an array of possible values for the TaskState const type. -func PossibleTaskStateValues() []TaskState { - return []TaskState{TaskStateActive, TaskStateCompleted, TaskStatePreparing, TaskStateRunning} -} - -// AccountListNodeAgentSkusResult ... -type AccountListNodeAgentSkusResult struct { - autorest.Response `json:"-"` - Value *[]NodeAgentSku `json:"value,omitempty"` - OdataNextLink *string `json:"odata.nextLink,omitempty"` -} - -// AccountListNodeAgentSkusResultIterator provides access to a complete listing of NodeAgentSku values. -type AccountListNodeAgentSkusResultIterator struct { - i int - page AccountListNodeAgentSkusResultPage -} - -// Next advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -func (iter *AccountListNodeAgentSkusResultIterator) Next() error { - iter.i++ - if iter.i < len(iter.page.Values()) { - return nil - } - err := iter.page.Next() - if err != nil { - iter.i-- - return err - } - iter.i = 0 - return nil -} - -// NotDone returns true if the enumeration should be started or is not yet complete. -func (iter AccountListNodeAgentSkusResultIterator) NotDone() bool { - return iter.page.NotDone() && iter.i < len(iter.page.Values()) -} - -// Response returns the raw server response from the last page request. -func (iter AccountListNodeAgentSkusResultIterator) Response() AccountListNodeAgentSkusResult { - return iter.page.Response() -} - -// Value returns the current value or a zero-initialized value if the -// iterator has advanced beyond the end of the collection. -func (iter AccountListNodeAgentSkusResultIterator) Value() NodeAgentSku { - if !iter.page.NotDone() { - return NodeAgentSku{} - } - return iter.page.Values()[iter.i] -} - -// IsEmpty returns true if the ListResult contains no values. -func (alnasr AccountListNodeAgentSkusResult) IsEmpty() bool { - return alnasr.Value == nil || len(*alnasr.Value) == 0 -} - -// accountListNodeAgentSkusResultPreparer prepares a request to retrieve the next set of results. -// It returns nil if no more results exist. -func (alnasr AccountListNodeAgentSkusResult) accountListNodeAgentSkusResultPreparer() (*http.Request, error) { - if alnasr.OdataNextLink == nil || len(to.String(alnasr.OdataNextLink)) < 1 { - return nil, nil - } - return autorest.Prepare(&http.Request{}, - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(alnasr.OdataNextLink))) -} - -// AccountListNodeAgentSkusResultPage contains a page of NodeAgentSku values. -type AccountListNodeAgentSkusResultPage struct { - fn func(AccountListNodeAgentSkusResult) (AccountListNodeAgentSkusResult, error) - alnasr AccountListNodeAgentSkusResult -} - -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -func (page *AccountListNodeAgentSkusResultPage) Next() error { - next, err := page.fn(page.alnasr) - if err != nil { - return err - } - page.alnasr = next - return nil -} - -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page AccountListNodeAgentSkusResultPage) NotDone() bool { - return !page.alnasr.IsEmpty() -} - -// Response returns the raw server response from the last page request. -func (page AccountListNodeAgentSkusResultPage) Response() AccountListNodeAgentSkusResult { - return page.alnasr -} - -// Values returns the slice of values for the current page or nil if there are no values. -func (page AccountListNodeAgentSkusResultPage) Values() []NodeAgentSku { - if page.alnasr.IsEmpty() { - return nil - } - return *page.alnasr.Value -} - -// AffinityInformation ... -type AffinityInformation struct { - // AffinityID - You can pass the affinityId of a compute node to indicate that this task needs to run on that compute node. Note that this is just a soft affinity. If the target node is busy or unavailable at the time the task is scheduled, then the task will be scheduled elsewhere. - AffinityID *string `json:"affinityId,omitempty"` -} - -// ApplicationListResult ... -type ApplicationListResult struct { - autorest.Response `json:"-"` - Value *[]ApplicationSummary `json:"value,omitempty"` - OdataNextLink *string `json:"odata.nextLink,omitempty"` -} - -// ApplicationListResultIterator provides access to a complete listing of ApplicationSummary values. -type ApplicationListResultIterator struct { - i int - page ApplicationListResultPage -} - -// Next advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -func (iter *ApplicationListResultIterator) Next() error { - iter.i++ - if iter.i < len(iter.page.Values()) { - return nil - } - err := iter.page.Next() - if err != nil { - iter.i-- - return err - } - iter.i = 0 - return nil -} - -// NotDone returns true if the enumeration should be started or is not yet complete. -func (iter ApplicationListResultIterator) NotDone() bool { - return iter.page.NotDone() && iter.i < len(iter.page.Values()) -} - -// Response returns the raw server response from the last page request. -func (iter ApplicationListResultIterator) Response() ApplicationListResult { - return iter.page.Response() -} - -// Value returns the current value or a zero-initialized value if the -// iterator has advanced beyond the end of the collection. -func (iter ApplicationListResultIterator) Value() ApplicationSummary { - if !iter.page.NotDone() { - return ApplicationSummary{} - } - return iter.page.Values()[iter.i] -} - -// IsEmpty returns true if the ListResult contains no values. -func (alr ApplicationListResult) IsEmpty() bool { - return alr.Value == nil || len(*alr.Value) == 0 -} - -// applicationListResultPreparer prepares a request to retrieve the next set of results. -// It returns nil if no more results exist. -func (alr ApplicationListResult) applicationListResultPreparer() (*http.Request, error) { - if alr.OdataNextLink == nil || len(to.String(alr.OdataNextLink)) < 1 { - return nil, nil - } - return autorest.Prepare(&http.Request{}, - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(alr.OdataNextLink))) -} - -// ApplicationListResultPage contains a page of ApplicationSummary values. -type ApplicationListResultPage struct { - fn func(ApplicationListResult) (ApplicationListResult, error) - alr ApplicationListResult -} - -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -func (page *ApplicationListResultPage) Next() error { - next, err := page.fn(page.alr) - if err != nil { - return err - } - page.alr = next - return nil -} - -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page ApplicationListResultPage) NotDone() bool { - return !page.alr.IsEmpty() -} - -// Response returns the raw server response from the last page request. -func (page ApplicationListResultPage) Response() ApplicationListResult { - return page.alr -} - -// Values returns the slice of values for the current page or nil if there are no values. -func (page ApplicationListResultPage) Values() []ApplicationSummary { - if page.alr.IsEmpty() { - return nil - } - return *page.alr.Value -} - -// ApplicationPackageReference ... -type ApplicationPackageReference struct { - ApplicationID *string `json:"applicationId,omitempty"` - // Version - If this is omitted on a pool, and no default version is specified for this application, the request fails with the error code InvalidApplicationPackageReferences and HTTP status code 409. If this is omitted on a task, and no default version is specified for this application, the task fails with a pre-processing error. - Version *string `json:"version,omitempty"` -} - -// ApplicationSummary ... -type ApplicationSummary struct { - autorest.Response `json:"-"` - ID *string `json:"id,omitempty"` - DisplayName *string `json:"displayName,omitempty"` - Versions *[]string `json:"versions,omitempty"` -} - -// AuthenticationTokenSettings ... -type AuthenticationTokenSettings struct { - // Access - The authentication token grants access to a limited set of Batch service operations. Currently the only supported value for the access property is 'job', which grants access to all operations related to the job which contains the task. - Access *[]AccessScope `json:"access,omitempty"` -} - -// AutoPoolSpecification ... -type AutoPoolSpecification struct { - // AutoPoolIDPrefix - The Batch service assigns each auto pool a unique identifier on creation. To distinguish between pools created for different purposes, you can specify this element to add a prefix to the ID that is assigned. The prefix can be up to 20 characters long. - AutoPoolIDPrefix *string `json:"autoPoolIdPrefix,omitempty"` - // PoolLifetimeOption - Possible values include: 'PoolLifetimeOptionJobSchedule', 'PoolLifetimeOptionJob' - PoolLifetimeOption PoolLifetimeOption `json:"poolLifetimeOption,omitempty"` - // KeepAlive - If false, the Batch service deletes the pool once its lifetime (as determined by the poolLifetimeOption setting) expires; that is, when the job or job schedule completes. If true, the Batch service does not delete the pool automatically. It is up to the user to delete auto pools created with this option. - KeepAlive *bool `json:"keepAlive,omitempty"` - Pool *PoolSpecification `json:"pool,omitempty"` -} - -// AutoScaleRun ... -type AutoScaleRun struct { - autorest.Response `json:"-"` - Timestamp *date.Time `json:"timestamp,omitempty"` - // Results - Each variable value is returned in the form $variable=value, and variables are separated by semicolons. - Results *string `json:"results,omitempty"` - Error *AutoScaleRunError `json:"error,omitempty"` -} - -// AutoScaleRunError ... -type AutoScaleRunError struct { - Code *string `json:"code,omitempty"` - Message *string `json:"message,omitempty"` - Values *[]NameValuePair `json:"values,omitempty"` -} - -// AutoUserSpecification ... -type AutoUserSpecification struct { - // Scope - The default value is task. Possible values include: 'Task', 'Pool' - Scope AutoUserScope `json:"scope,omitempty"` - // ElevationLevel - nonAdmin - The auto user is a standard user without elevated access. admin - The auto user is a user with elevated access and operates with full Administrator permissions. The default value is nonAdmin. Possible values include: 'NonAdmin', 'Admin' - ElevationLevel ElevationLevel `json:"elevationLevel,omitempty"` -} - -// Certificate a certificate that can be installed on compute nodes and can be used to authenticate operations on -// the machine. -type Certificate struct { - autorest.Response `json:"-"` - Thumbprint *string `json:"thumbprint,omitempty"` - ThumbprintAlgorithm *string `json:"thumbprintAlgorithm,omitempty"` - URL *string `json:"url,omitempty"` - // State - Possible values include: 'Active', 'Deleting', 'DeleteFailed' - State CertificateState `json:"state,omitempty"` - StateTransitionTime *date.Time `json:"stateTransitionTime,omitempty"` - // PreviousState - This property is not set if the certificate is in its initial active state. Possible values include: 'Active', 'Deleting', 'DeleteFailed' - PreviousState CertificateState `json:"previousState,omitempty"` - // PreviousStateTransitionTime - This property is not set if the certificate is in its initial Active state. - PreviousStateTransitionTime *date.Time `json:"previousStateTransitionTime,omitempty"` - PublicData *string `json:"publicData,omitempty"` - // DeleteCertificateError - This property is set only if the certificate is in the DeleteFailed state. - DeleteCertificateError *DeleteCertificateError `json:"deleteCertificateError,omitempty"` -} - -// CertificateAddParameter ... -type CertificateAddParameter struct { - Thumbprint *string `json:"thumbprint,omitempty"` - ThumbprintAlgorithm *string `json:"thumbprintAlgorithm,omitempty"` - Data *string `json:"data,omitempty"` - // CertificateFormat - Possible values include: 'Pfx', 'Cer' - CertificateFormat CertificateFormat `json:"certificateFormat,omitempty"` - // Password - This is required if the certificate format is pfx. It should be omitted if the certificate format is cer. - Password *string `json:"password,omitempty"` -} - -// CertificateListResult ... -type CertificateListResult struct { - autorest.Response `json:"-"` - Value *[]Certificate `json:"value,omitempty"` - OdataNextLink *string `json:"odata.nextLink,omitempty"` -} - -// CertificateListResultIterator provides access to a complete listing of Certificate values. -type CertificateListResultIterator struct { - i int - page CertificateListResultPage -} - -// Next advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -func (iter *CertificateListResultIterator) Next() error { - iter.i++ - if iter.i < len(iter.page.Values()) { - return nil - } - err := iter.page.Next() - if err != nil { - iter.i-- - return err - } - iter.i = 0 - return nil -} - -// NotDone returns true if the enumeration should be started or is not yet complete. -func (iter CertificateListResultIterator) NotDone() bool { - return iter.page.NotDone() && iter.i < len(iter.page.Values()) -} - -// Response returns the raw server response from the last page request. -func (iter CertificateListResultIterator) Response() CertificateListResult { - return iter.page.Response() -} - -// Value returns the current value or a zero-initialized value if the -// iterator has advanced beyond the end of the collection. -func (iter CertificateListResultIterator) Value() Certificate { - if !iter.page.NotDone() { - return Certificate{} - } - return iter.page.Values()[iter.i] -} - -// IsEmpty returns true if the ListResult contains no values. -func (clr CertificateListResult) IsEmpty() bool { - return clr.Value == nil || len(*clr.Value) == 0 -} - -// certificateListResultPreparer prepares a request to retrieve the next set of results. -// It returns nil if no more results exist. -func (clr CertificateListResult) certificateListResultPreparer() (*http.Request, error) { - if clr.OdataNextLink == nil || len(to.String(clr.OdataNextLink)) < 1 { - return nil, nil - } - return autorest.Prepare(&http.Request{}, - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(clr.OdataNextLink))) -} - -// CertificateListResultPage contains a page of Certificate values. -type CertificateListResultPage struct { - fn func(CertificateListResult) (CertificateListResult, error) - clr CertificateListResult -} - -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -func (page *CertificateListResultPage) Next() error { - next, err := page.fn(page.clr) - if err != nil { - return err - } - page.clr = next - return nil -} - -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page CertificateListResultPage) NotDone() bool { - return !page.clr.IsEmpty() -} - -// Response returns the raw server response from the last page request. -func (page CertificateListResultPage) Response() CertificateListResult { - return page.clr -} - -// Values returns the slice of values for the current page or nil if there are no values. -func (page CertificateListResultPage) Values() []Certificate { - if page.clr.IsEmpty() { - return nil - } - return *page.clr.Value -} - -// CertificateReference ... -type CertificateReference struct { - Thumbprint *string `json:"thumbprint,omitempty"` - ThumbprintAlgorithm *string `json:"thumbprintAlgorithm,omitempty"` - // StoreLocation - The default value is currentuser. This property is applicable only for pools configured with Windows nodes (that is, created with cloudServiceConfiguration, or with virtualMachineConfiguration using a Windows image reference). For Linux compute nodes, the certificates are stored in a directory inside the task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the task to query for this location. For certificates with visibility of 'remoteUser', a 'certs' directory is created in the user's home directory (e.g., /home/{user-name}/certs) and certificates are placed in that directory. Possible values include: 'CurrentUser', 'LocalMachine' - StoreLocation CertificateStoreLocation `json:"storeLocation,omitempty"` - // StoreName - This property is applicable only for pools configured with Windows nodes (that is, created with cloudServiceConfiguration, or with virtualMachineConfiguration using a Windows image reference). Common store names include: My, Root, CA, Trust, Disallowed, TrustedPeople, TrustedPublisher, AuthRoot, AddressBook, but any custom store name can also be used. The default value is My. - StoreName *string `json:"storeName,omitempty"` - // Visibility - You can specify more than one visibility in this collection. The default is all accounts. - Visibility *[]CertificateVisibility `json:"visibility,omitempty"` -} - -// CloudJob ... -type CloudJob struct { - autorest.Response `json:"-"` - // ID - The ID is case-preserving and case-insensitive (that is, you may not have two IDs within an account that differ only by case). - ID *string `json:"id,omitempty"` - DisplayName *string `json:"displayName,omitempty"` - UsesTaskDependencies *bool `json:"usesTaskDependencies,omitempty"` - URL *string `json:"url,omitempty"` - // ETag - This is an opaque string. You can use it to detect whether the job has changed between requests. In particular, you can be pass the ETag when updating a job to specify that your changes should take effect only if nobody else has modified the job in the meantime. - ETag *string `json:"eTag,omitempty"` - // LastModified - This is the last time at which the job level data, such as the job state or priority, changed. It does not factor in task-level changes such as adding new tasks or tasks changing state. - LastModified *date.Time `json:"lastModified,omitempty"` - CreationTime *date.Time `json:"creationTime,omitempty"` - // State - Possible values include: 'JobStateActive', 'JobStateDisabling', 'JobStateDisabled', 'JobStateEnabling', 'JobStateTerminating', 'JobStateCompleted', 'JobStateDeleting' - State JobState `json:"state,omitempty"` - StateTransitionTime *date.Time `json:"stateTransitionTime,omitempty"` - // PreviousState - This property is not set if the job is in its initial Active state. Possible values include: 'JobStateActive', 'JobStateDisabling', 'JobStateDisabled', 'JobStateEnabling', 'JobStateTerminating', 'JobStateCompleted', 'JobStateDeleting' - PreviousState JobState `json:"previousState,omitempty"` - // PreviousStateTransitionTime - This property is not set if the job is in its initial Active state. - PreviousStateTransitionTime *date.Time `json:"previousStateTransitionTime,omitempty"` - // Priority - Priority values can range from -1000 to 1000, with -1000 being the lowest priority and 1000 being the highest priority. The default value is 0. - Priority *int32 `json:"priority,omitempty"` - Constraints *JobConstraints `json:"constraints,omitempty"` - JobManagerTask *JobManagerTask `json:"jobManagerTask,omitempty"` - // JobPreparationTask - The Job Preparation task is a special task run on each node before any other task of the job. - JobPreparationTask *JobPreparationTask `json:"jobPreparationTask,omitempty"` - // JobReleaseTask - The Job Release task is a special task run at the end of the job on each node that has run any other task of the job. - JobReleaseTask *JobReleaseTask `json:"jobReleaseTask,omitempty"` - // CommonEnvironmentSettings - Individual tasks can override an environment setting specified here by specifying the same setting name with a different value. - CommonEnvironmentSettings *[]EnvironmentSetting `json:"commonEnvironmentSettings,omitempty"` - PoolInfo *PoolInformation `json:"poolInfo,omitempty"` - // OnAllTasksComplete - The default is noaction. Possible values include: 'NoAction', 'TerminateJob' - OnAllTasksComplete OnAllTasksComplete `json:"onAllTasksComplete,omitempty"` - // OnTaskFailure - A task is considered to have failed if has a failureInfo. A failureInfo is set if the task completes with a non-zero exit code after exhausting its retry count, or if there was an error starting the task, for example due to a resource file download error. The default is noaction. Possible values include: 'OnTaskFailureNoAction', 'OnTaskFailurePerformExitOptionsJobAction' - OnTaskFailure OnTaskFailure `json:"onTaskFailure,omitempty"` - // Metadata - The Batch service does not assign any meaning to metadata; it is solely for the use of user code. - Metadata *[]MetadataItem `json:"metadata,omitempty"` - ExecutionInfo *JobExecutionInformation `json:"executionInfo,omitempty"` - Stats *JobStatistics `json:"stats,omitempty"` -} - -// CloudJobListPreparationAndReleaseTaskStatusResult ... -type CloudJobListPreparationAndReleaseTaskStatusResult struct { - autorest.Response `json:"-"` - Value *[]JobPreparationAndReleaseTaskExecutionInformation `json:"value,omitempty"` - OdataNextLink *string `json:"odata.nextLink,omitempty"` -} - -// CloudJobListPreparationAndReleaseTaskStatusResultIterator provides access to a complete listing of -// JobPreparationAndReleaseTaskExecutionInformation values. -type CloudJobListPreparationAndReleaseTaskStatusResultIterator struct { - i int - page CloudJobListPreparationAndReleaseTaskStatusResultPage -} - -// Next advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -func (iter *CloudJobListPreparationAndReleaseTaskStatusResultIterator) Next() error { - iter.i++ - if iter.i < len(iter.page.Values()) { - return nil - } - err := iter.page.Next() - if err != nil { - iter.i-- - return err - } - iter.i = 0 - return nil -} - -// NotDone returns true if the enumeration should be started or is not yet complete. -func (iter CloudJobListPreparationAndReleaseTaskStatusResultIterator) NotDone() bool { - return iter.page.NotDone() && iter.i < len(iter.page.Values()) -} - -// Response returns the raw server response from the last page request. -func (iter CloudJobListPreparationAndReleaseTaskStatusResultIterator) Response() CloudJobListPreparationAndReleaseTaskStatusResult { - return iter.page.Response() -} - -// Value returns the current value or a zero-initialized value if the -// iterator has advanced beyond the end of the collection. -func (iter CloudJobListPreparationAndReleaseTaskStatusResultIterator) Value() JobPreparationAndReleaseTaskExecutionInformation { - if !iter.page.NotDone() { - return JobPreparationAndReleaseTaskExecutionInformation{} - } - return iter.page.Values()[iter.i] -} - -// IsEmpty returns true if the ListResult contains no values. -func (cjlpartsr CloudJobListPreparationAndReleaseTaskStatusResult) IsEmpty() bool { - return cjlpartsr.Value == nil || len(*cjlpartsr.Value) == 0 -} - -// cloudJobListPreparationAndReleaseTaskStatusResultPreparer prepares a request to retrieve the next set of results. -// It returns nil if no more results exist. -func (cjlpartsr CloudJobListPreparationAndReleaseTaskStatusResult) cloudJobListPreparationAndReleaseTaskStatusResultPreparer() (*http.Request, error) { - if cjlpartsr.OdataNextLink == nil || len(to.String(cjlpartsr.OdataNextLink)) < 1 { - return nil, nil - } - return autorest.Prepare(&http.Request{}, - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(cjlpartsr.OdataNextLink))) -} - -// CloudJobListPreparationAndReleaseTaskStatusResultPage contains a page of -// JobPreparationAndReleaseTaskExecutionInformation values. -type CloudJobListPreparationAndReleaseTaskStatusResultPage struct { - fn func(CloudJobListPreparationAndReleaseTaskStatusResult) (CloudJobListPreparationAndReleaseTaskStatusResult, error) - cjlpartsr CloudJobListPreparationAndReleaseTaskStatusResult -} - -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -func (page *CloudJobListPreparationAndReleaseTaskStatusResultPage) Next() error { - next, err := page.fn(page.cjlpartsr) - if err != nil { - return err - } - page.cjlpartsr = next - return nil -} - -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page CloudJobListPreparationAndReleaseTaskStatusResultPage) NotDone() bool { - return !page.cjlpartsr.IsEmpty() -} - -// Response returns the raw server response from the last page request. -func (page CloudJobListPreparationAndReleaseTaskStatusResultPage) Response() CloudJobListPreparationAndReleaseTaskStatusResult { - return page.cjlpartsr -} - -// Values returns the slice of values for the current page or nil if there are no values. -func (page CloudJobListPreparationAndReleaseTaskStatusResultPage) Values() []JobPreparationAndReleaseTaskExecutionInformation { - if page.cjlpartsr.IsEmpty() { - return nil - } - return *page.cjlpartsr.Value -} - -// CloudJobListResult ... -type CloudJobListResult struct { - autorest.Response `json:"-"` - Value *[]CloudJob `json:"value,omitempty"` - OdataNextLink *string `json:"odata.nextLink,omitempty"` -} - -// CloudJobListResultIterator provides access to a complete listing of CloudJob values. -type CloudJobListResultIterator struct { - i int - page CloudJobListResultPage -} - -// Next advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -func (iter *CloudJobListResultIterator) Next() error { - iter.i++ - if iter.i < len(iter.page.Values()) { - return nil - } - err := iter.page.Next() - if err != nil { - iter.i-- - return err - } - iter.i = 0 - return nil -} - -// NotDone returns true if the enumeration should be started or is not yet complete. -func (iter CloudJobListResultIterator) NotDone() bool { - return iter.page.NotDone() && iter.i < len(iter.page.Values()) -} - -// Response returns the raw server response from the last page request. -func (iter CloudJobListResultIterator) Response() CloudJobListResult { - return iter.page.Response() -} - -// Value returns the current value or a zero-initialized value if the -// iterator has advanced beyond the end of the collection. -func (iter CloudJobListResultIterator) Value() CloudJob { - if !iter.page.NotDone() { - return CloudJob{} - } - return iter.page.Values()[iter.i] -} - -// IsEmpty returns true if the ListResult contains no values. -func (cjlr CloudJobListResult) IsEmpty() bool { - return cjlr.Value == nil || len(*cjlr.Value) == 0 -} - -// cloudJobListResultPreparer prepares a request to retrieve the next set of results. -// It returns nil if no more results exist. -func (cjlr CloudJobListResult) cloudJobListResultPreparer() (*http.Request, error) { - if cjlr.OdataNextLink == nil || len(to.String(cjlr.OdataNextLink)) < 1 { - return nil, nil - } - return autorest.Prepare(&http.Request{}, - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(cjlr.OdataNextLink))) -} - -// CloudJobListResultPage contains a page of CloudJob values. -type CloudJobListResultPage struct { - fn func(CloudJobListResult) (CloudJobListResult, error) - cjlr CloudJobListResult -} - -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -func (page *CloudJobListResultPage) Next() error { - next, err := page.fn(page.cjlr) - if err != nil { - return err - } - page.cjlr = next - return nil -} - -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page CloudJobListResultPage) NotDone() bool { - return !page.cjlr.IsEmpty() -} - -// Response returns the raw server response from the last page request. -func (page CloudJobListResultPage) Response() CloudJobListResult { - return page.cjlr -} - -// Values returns the slice of values for the current page or nil if there are no values. -func (page CloudJobListResultPage) Values() []CloudJob { - if page.cjlr.IsEmpty() { - return nil - } - return *page.cjlr.Value -} - -// CloudJobSchedule ... -type CloudJobSchedule struct { - autorest.Response `json:"-"` - ID *string `json:"id,omitempty"` - DisplayName *string `json:"displayName,omitempty"` - URL *string `json:"url,omitempty"` - // ETag - This is an opaque string. You can use it to detect whether the job schedule has changed between requests. In particular, you can be pass the ETag with an Update Job Schedule request to specify that your changes should take effect only if nobody else has modified the schedule in the meantime. - ETag *string `json:"eTag,omitempty"` - // LastModified - This is the last time at which the schedule level data, such as the job specification or recurrence information, changed. It does not factor in job-level changes such as new jobs being created or jobs changing state. - LastModified *date.Time `json:"lastModified,omitempty"` - CreationTime *date.Time `json:"creationTime,omitempty"` - // State - Possible values include: 'JobScheduleStateActive', 'JobScheduleStateCompleted', 'JobScheduleStateDisabled', 'JobScheduleStateTerminating', 'JobScheduleStateDeleting' - State JobScheduleState `json:"state,omitempty"` - StateTransitionTime *date.Time `json:"stateTransitionTime,omitempty"` - // PreviousState - This property is not present if the job schedule is in its initial active state. Possible values include: 'JobScheduleStateActive', 'JobScheduleStateCompleted', 'JobScheduleStateDisabled', 'JobScheduleStateTerminating', 'JobScheduleStateDeleting' - PreviousState JobScheduleState `json:"previousState,omitempty"` - // PreviousStateTransitionTime - This property is not present if the job schedule is in its initial active state. - PreviousStateTransitionTime *date.Time `json:"previousStateTransitionTime,omitempty"` - Schedule *Schedule `json:"schedule,omitempty"` - JobSpecification *JobSpecification `json:"jobSpecification,omitempty"` - ExecutionInfo *JobScheduleExecutionInformation `json:"executionInfo,omitempty"` - // Metadata - The Batch service does not assign any meaning to metadata; it is solely for the use of user code. - Metadata *[]MetadataItem `json:"metadata,omitempty"` - Stats *JobScheduleStatistics `json:"stats,omitempty"` -} - -// CloudJobScheduleListResult ... -type CloudJobScheduleListResult struct { - autorest.Response `json:"-"` - Value *[]CloudJobSchedule `json:"value,omitempty"` - OdataNextLink *string `json:"odata.nextLink,omitempty"` -} - -// CloudJobScheduleListResultIterator provides access to a complete listing of CloudJobSchedule values. -type CloudJobScheduleListResultIterator struct { - i int - page CloudJobScheduleListResultPage -} - -// Next advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -func (iter *CloudJobScheduleListResultIterator) Next() error { - iter.i++ - if iter.i < len(iter.page.Values()) { - return nil - } - err := iter.page.Next() - if err != nil { - iter.i-- - return err - } - iter.i = 0 - return nil -} - -// NotDone returns true if the enumeration should be started or is not yet complete. -func (iter CloudJobScheduleListResultIterator) NotDone() bool { - return iter.page.NotDone() && iter.i < len(iter.page.Values()) -} - -// Response returns the raw server response from the last page request. -func (iter CloudJobScheduleListResultIterator) Response() CloudJobScheduleListResult { - return iter.page.Response() -} - -// Value returns the current value or a zero-initialized value if the -// iterator has advanced beyond the end of the collection. -func (iter CloudJobScheduleListResultIterator) Value() CloudJobSchedule { - if !iter.page.NotDone() { - return CloudJobSchedule{} - } - return iter.page.Values()[iter.i] -} - -// IsEmpty returns true if the ListResult contains no values. -func (cjslr CloudJobScheduleListResult) IsEmpty() bool { - return cjslr.Value == nil || len(*cjslr.Value) == 0 -} - -// cloudJobScheduleListResultPreparer prepares a request to retrieve the next set of results. -// It returns nil if no more results exist. -func (cjslr CloudJobScheduleListResult) cloudJobScheduleListResultPreparer() (*http.Request, error) { - if cjslr.OdataNextLink == nil || len(to.String(cjslr.OdataNextLink)) < 1 { - return nil, nil - } - return autorest.Prepare(&http.Request{}, - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(cjslr.OdataNextLink))) -} - -// CloudJobScheduleListResultPage contains a page of CloudJobSchedule values. -type CloudJobScheduleListResultPage struct { - fn func(CloudJobScheduleListResult) (CloudJobScheduleListResult, error) - cjslr CloudJobScheduleListResult -} - -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -func (page *CloudJobScheduleListResultPage) Next() error { - next, err := page.fn(page.cjslr) - if err != nil { - return err - } - page.cjslr = next - return nil -} - -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page CloudJobScheduleListResultPage) NotDone() bool { - return !page.cjslr.IsEmpty() -} - -// Response returns the raw server response from the last page request. -func (page CloudJobScheduleListResultPage) Response() CloudJobScheduleListResult { - return page.cjslr -} - -// Values returns the slice of values for the current page or nil if there are no values. -func (page CloudJobScheduleListResultPage) Values() []CloudJobSchedule { - if page.cjslr.IsEmpty() { - return nil - } - return *page.cjslr.Value -} - -// CloudPool ... -type CloudPool struct { - autorest.Response `json:"-"` - // ID - The ID can contain any combination of alphanumeric characters including hyphens and underscores, and cannot contain more than 64 characters. The ID is case-preserving and case-insensitive (that is, you may not have two IDs within an account that differ only by case). - ID *string `json:"id,omitempty"` - // DisplayName - The display name need not be unique and can contain any Unicode characters up to a maximum length of 1024. - DisplayName *string `json:"displayName,omitempty"` - URL *string `json:"url,omitempty"` - // ETag - This is an opaque string. You can use it to detect whether the pool has changed between requests. In particular, you can be pass the ETag when updating a pool to specify that your changes should take effect only if nobody else has modified the pool in the meantime. - ETag *string `json:"eTag,omitempty"` - // LastModified - This is the last time at which the pool level data, such as the targetDedicatedNodes or enableAutoscale settings, changed. It does not factor in node-level changes such as a compute node changing state. - LastModified *date.Time `json:"lastModified,omitempty"` - CreationTime *date.Time `json:"creationTime,omitempty"` - // State - Possible values include: 'PoolStateActive', 'PoolStateDeleting', 'PoolStateUpgrading' - State PoolState `json:"state,omitempty"` - StateTransitionTime *date.Time `json:"stateTransitionTime,omitempty"` - // AllocationState - Possible values include: 'Steady', 'Resizing', 'Stopping' - AllocationState AllocationState `json:"allocationState,omitempty"` - AllocationStateTransitionTime *date.Time `json:"allocationStateTransitionTime,omitempty"` - // VMSize - For information about available sizes of virtual machines for Cloud Services pools (pools created with cloudServiceConfiguration), see Sizes for Cloud Services (http://azure.microsoft.com/documentation/articles/cloud-services-sizes-specs/). Batch supports all Cloud Services VM sizes except ExtraSmall, A1V2 and A2V2. For information about available VM sizes for pools using images from the Virtual Machines Marketplace (pools created with virtualMachineConfiguration) see Sizes for Virtual Machines (Linux) (https://azure.microsoft.com/documentation/articles/virtual-machines-linux-sizes/) or Sizes for Virtual Machines (Windows) (https://azure.microsoft.com/documentation/articles/virtual-machines-windows-sizes/). Batch supports all Azure VM sizes except STANDARD_A0 and those with premium storage (STANDARD_GS, STANDARD_DS, and STANDARD_DSV2 series). - VMSize *string `json:"vmSize,omitempty"` - // CloudServiceConfiguration - This property and virtualMachineConfiguration are mutually exclusive and one of the properties must be specified. This property cannot be specified if the Batch account was created with its poolAllocationMode property set to 'UserSubscription'. - CloudServiceConfiguration *CloudServiceConfiguration `json:"cloudServiceConfiguration,omitempty"` - // VirtualMachineConfiguration - This property and cloudServiceConfiguration are mutually exclusive and one of the properties must be specified. - VirtualMachineConfiguration *VirtualMachineConfiguration `json:"virtualMachineConfiguration,omitempty"` - // ResizeTimeout - This is the timeout for the most recent resize operation. (The initial sizing when the pool is created counts as a resize.) The default value is 15 minutes. - ResizeTimeout *string `json:"resizeTimeout,omitempty"` - // ResizeErrors - This property is set only if one or more errors occurred during the last pool resize, and only when the pool allocationState is Steady. - ResizeErrors *[]ResizeError `json:"resizeErrors,omitempty"` - CurrentDedicatedNodes *int32 `json:"currentDedicatedNodes,omitempty"` - // CurrentLowPriorityNodes - Low-priority compute nodes which have been preempted are included in this count. - CurrentLowPriorityNodes *int32 `json:"currentLowPriorityNodes,omitempty"` - TargetDedicatedNodes *int32 `json:"targetDedicatedNodes,omitempty"` - TargetLowPriorityNodes *int32 `json:"targetLowPriorityNodes,omitempty"` - // EnableAutoScale - If false, at least one of targetDedicateNodes and targetLowPriorityNodes must be specified. If true, the autoScaleFormula property is required and the pool automatically resizes according to the formula. The default value is false. - EnableAutoScale *bool `json:"enableAutoScale,omitempty"` - // AutoScaleFormula - This property is set only if the pool automatically scales, i.e. enableAutoScale is true. - AutoScaleFormula *string `json:"autoScaleFormula,omitempty"` - // AutoScaleEvaluationInterval - This property is set only if the pool automatically scales, i.e. enableAutoScale is true. - AutoScaleEvaluationInterval *string `json:"autoScaleEvaluationInterval,omitempty"` - // AutoScaleRun - This property is set only if the pool automatically scales, i.e. enableAutoScale is true. - AutoScaleRun *AutoScaleRun `json:"autoScaleRun,omitempty"` - // EnableInterNodeCommunication - This imposes restrictions on which nodes can be assigned to the pool. Specifying this value can reduce the chance of the requested number of nodes to be allocated in the pool. - EnableInterNodeCommunication *bool `json:"enableInterNodeCommunication,omitempty"` - NetworkConfiguration *NetworkConfiguration `json:"networkConfiguration,omitempty"` - StartTask *StartTask `json:"startTask,omitempty"` - // CertificateReferences - For Windows compute nodes, the Batch service installs the certificates to the specified certificate store and location. For Linux compute nodes, the certificates are stored in a directory inside the task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the task to query for this location. For certificates with visibility of 'remoteUser', a 'certs' directory is created in the user's home directory (e.g., /home/{user-name}/certs) and certificates are placed in that directory. - CertificateReferences *[]CertificateReference `json:"certificateReferences,omitempty"` - ApplicationPackageReferences *[]ApplicationPackageReference `json:"applicationPackageReferences,omitempty"` - // ApplicationLicenses - The list of application licenses must be a subset of available Batch service application licenses. If a license is requested which is not supported, pool creation will fail. - ApplicationLicenses *[]string `json:"applicationLicenses,omitempty"` - MaxTasksPerNode *int32 `json:"maxTasksPerNode,omitempty"` - TaskSchedulingPolicy *TaskSchedulingPolicy `json:"taskSchedulingPolicy,omitempty"` - UserAccounts *[]UserAccount `json:"userAccounts,omitempty"` - Metadata *[]MetadataItem `json:"metadata,omitempty"` - Stats *PoolStatistics `json:"stats,omitempty"` -} - -// CloudPoolListResult ... -type CloudPoolListResult struct { - autorest.Response `json:"-"` - Value *[]CloudPool `json:"value,omitempty"` - OdataNextLink *string `json:"odata.nextLink,omitempty"` -} - -// CloudPoolListResultIterator provides access to a complete listing of CloudPool values. -type CloudPoolListResultIterator struct { - i int - page CloudPoolListResultPage -} - -// Next advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -func (iter *CloudPoolListResultIterator) Next() error { - iter.i++ - if iter.i < len(iter.page.Values()) { - return nil - } - err := iter.page.Next() - if err != nil { - iter.i-- - return err - } - iter.i = 0 - return nil -} - -// NotDone returns true if the enumeration should be started or is not yet complete. -func (iter CloudPoolListResultIterator) NotDone() bool { - return iter.page.NotDone() && iter.i < len(iter.page.Values()) -} - -// Response returns the raw server response from the last page request. -func (iter CloudPoolListResultIterator) Response() CloudPoolListResult { - return iter.page.Response() -} - -// Value returns the current value or a zero-initialized value if the -// iterator has advanced beyond the end of the collection. -func (iter CloudPoolListResultIterator) Value() CloudPool { - if !iter.page.NotDone() { - return CloudPool{} - } - return iter.page.Values()[iter.i] -} - -// IsEmpty returns true if the ListResult contains no values. -func (cplr CloudPoolListResult) IsEmpty() bool { - return cplr.Value == nil || len(*cplr.Value) == 0 -} - -// cloudPoolListResultPreparer prepares a request to retrieve the next set of results. -// It returns nil if no more results exist. -func (cplr CloudPoolListResult) cloudPoolListResultPreparer() (*http.Request, error) { - if cplr.OdataNextLink == nil || len(to.String(cplr.OdataNextLink)) < 1 { - return nil, nil - } - return autorest.Prepare(&http.Request{}, - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(cplr.OdataNextLink))) -} - -// CloudPoolListResultPage contains a page of CloudPool values. -type CloudPoolListResultPage struct { - fn func(CloudPoolListResult) (CloudPoolListResult, error) - cplr CloudPoolListResult -} - -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -func (page *CloudPoolListResultPage) Next() error { - next, err := page.fn(page.cplr) - if err != nil { - return err - } - page.cplr = next - return nil -} - -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page CloudPoolListResultPage) NotDone() bool { - return !page.cplr.IsEmpty() -} - -// Response returns the raw server response from the last page request. -func (page CloudPoolListResultPage) Response() CloudPoolListResult { - return page.cplr -} - -// Values returns the slice of values for the current page or nil if there are no values. -func (page CloudPoolListResultPage) Values() []CloudPool { - if page.cplr.IsEmpty() { - return nil - } - return *page.cplr.Value -} - -// CloudServiceConfiguration ... -type CloudServiceConfiguration struct { - // OsFamily - Possible values are: 2 - OS Family 2, equivalent to Windows Server 2008 R2 SP1. 3 - OS Family 3, equivalent to Windows Server 2012. 4 - OS Family 4, equivalent to Windows Server 2012 R2. 5 - OS Family 5, equivalent to Windows Server 2016. For more information, see Azure Guest OS Releases (https://azure.microsoft.com/documentation/articles/cloud-services-guestos-update-matrix/#releases). - OsFamily *string `json:"osFamily,omitempty"` - // TargetOSVersion - The default value is * which specifies the latest operating system version for the specified OS family. - TargetOSVersion *string `json:"targetOSVersion,omitempty"` - // CurrentOSVersion - This may differ from targetOSVersion if the pool state is Upgrading. In this case some virtual machines may be on the targetOSVersion and some may be on the currentOSVersion during the upgrade process. Once all virtual machines have upgraded, currentOSVersion is updated to be the same as targetOSVersion. - CurrentOSVersion *string `json:"currentOSVersion,omitempty"` -} - -// CloudTask ... -type CloudTask struct { - autorest.Response `json:"-"` - // ID - The ID can contain any combination of alphanumeric characters including hyphens and underscores, and cannot contain more than 64 characters. - ID *string `json:"id,omitempty"` - // DisplayName - The display name need not be unique and can contain any Unicode characters up to a maximum length of 1024. - DisplayName *string `json:"displayName,omitempty"` - URL *string `json:"url,omitempty"` - // ETag - This is an opaque string. You can use it to detect whether the task has changed between requests. In particular, you can be pass the ETag when updating a task to specify that your changes should take effect only if nobody else has modified the task in the meantime. - ETag *string `json:"eTag,omitempty"` - LastModified *date.Time `json:"lastModified,omitempty"` - CreationTime *date.Time `json:"creationTime,omitempty"` - // ExitConditions - How the Batch service should respond when the task completes. - ExitConditions *ExitConditions `json:"exitConditions,omitempty"` - // State - Possible values include: 'TaskStateActive', 'TaskStatePreparing', 'TaskStateRunning', 'TaskStateCompleted' - State TaskState `json:"state,omitempty"` - StateTransitionTime *date.Time `json:"stateTransitionTime,omitempty"` - // PreviousState - This property is not set if the task is in its initial Active state. Possible values include: 'TaskStateActive', 'TaskStatePreparing', 'TaskStateRunning', 'TaskStateCompleted' - PreviousState TaskState `json:"previousState,omitempty"` - // PreviousStateTransitionTime - This property is not set if the task is in its initial Active state. - PreviousStateTransitionTime *date.Time `json:"previousStateTransitionTime,omitempty"` - // CommandLine - For multi-instance tasks, the command line is executed as the primary task, after the primary task and all subtasks have finished executing the coordination command line. The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example using "cmd /c MyCommand" in Windows or "/bin/sh -c MyCommand" in Linux. - CommandLine *string `json:"commandLine,omitempty"` - // ContainerSettings - If the pool that will run this task has containerConfiguration set, this must be set as well. If the pool that will run this task doesn't have containerConfiguration set, this must not be set. When this is specified, all directories recursively below the AZ_BATCH_NODE_ROOT_DIR (the root of Azure Batch directories on the node) are mapped into the container, all task environment variables are mapped into the container, and the task command line is executed in the container. - ContainerSettings *TaskContainerSettings `json:"containerSettings,omitempty"` - // ResourceFiles - For multi-instance tasks, the resource files will only be downloaded to the compute node on which the primary task is executed. - ResourceFiles *[]ResourceFile `json:"resourceFiles,omitempty"` - // OutputFiles - For multi-instance tasks, the files will only be uploaded from the compute node on which the primary task is executed. - OutputFiles *[]OutputFile `json:"outputFiles,omitempty"` - EnvironmentSettings *[]EnvironmentSetting `json:"environmentSettings,omitempty"` - AffinityInfo *AffinityInformation `json:"affinityInfo,omitempty"` - Constraints *TaskConstraints `json:"constraints,omitempty"` - // UserIdentity - If omitted, the task runs as a non-administrative user unique to the task. - UserIdentity *UserIdentity `json:"userIdentity,omitempty"` - ExecutionInfo *TaskExecutionInformation `json:"executionInfo,omitempty"` - NodeInfo *ComputeNodeInformation `json:"nodeInfo,omitempty"` - MultiInstanceSettings *MultiInstanceSettings `json:"multiInstanceSettings,omitempty"` - Stats *TaskStatistics `json:"stats,omitempty"` - // DependsOn - This task will not be scheduled until all tasks that it depends on have completed successfully. If any of those tasks fail and exhaust their retry counts, this task will never be scheduled. - DependsOn *TaskDependencies `json:"dependsOn,omitempty"` - // ApplicationPackageReferences - Application packages are downloaded and deployed to a shared directory, not the task working directory. Therefore, if a referenced package is already on the compute node, and is up to date, then it is not re-downloaded; the existing copy on the compute node is used. If a referenced application package cannot be installed, for example because the package has been deleted or because download failed, the task fails. - ApplicationPackageReferences *[]ApplicationPackageReference `json:"applicationPackageReferences,omitempty"` - // AuthenticationTokenSettings - If this property is set, the Batch service provides the task with an authentication token which can be used to authenticate Batch service operations without requiring an account access key. The token is provided via the AZ_BATCH_AUTHENTICATION_TOKEN environment variable. The operations that the task can carry out using the token depend on the settings. For example, a task can request job permissions in order to add other tasks to the job, or check the status of the job or of other tasks under the job. - AuthenticationTokenSettings *AuthenticationTokenSettings `json:"authenticationTokenSettings,omitempty"` -} - -// CloudTaskListResult ... -type CloudTaskListResult struct { - autorest.Response `json:"-"` - Value *[]CloudTask `json:"value,omitempty"` - OdataNextLink *string `json:"odata.nextLink,omitempty"` -} - -// CloudTaskListResultIterator provides access to a complete listing of CloudTask values. -type CloudTaskListResultIterator struct { - i int - page CloudTaskListResultPage -} - -// Next advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -func (iter *CloudTaskListResultIterator) Next() error { - iter.i++ - if iter.i < len(iter.page.Values()) { - return nil - } - err := iter.page.Next() - if err != nil { - iter.i-- - return err - } - iter.i = 0 - return nil -} - -// NotDone returns true if the enumeration should be started or is not yet complete. -func (iter CloudTaskListResultIterator) NotDone() bool { - return iter.page.NotDone() && iter.i < len(iter.page.Values()) -} - -// Response returns the raw server response from the last page request. -func (iter CloudTaskListResultIterator) Response() CloudTaskListResult { - return iter.page.Response() -} - -// Value returns the current value or a zero-initialized value if the -// iterator has advanced beyond the end of the collection. -func (iter CloudTaskListResultIterator) Value() CloudTask { - if !iter.page.NotDone() { - return CloudTask{} - } - return iter.page.Values()[iter.i] -} - -// IsEmpty returns true if the ListResult contains no values. -func (ctlr CloudTaskListResult) IsEmpty() bool { - return ctlr.Value == nil || len(*ctlr.Value) == 0 -} - -// cloudTaskListResultPreparer prepares a request to retrieve the next set of results. -// It returns nil if no more results exist. -func (ctlr CloudTaskListResult) cloudTaskListResultPreparer() (*http.Request, error) { - if ctlr.OdataNextLink == nil || len(to.String(ctlr.OdataNextLink)) < 1 { - return nil, nil - } - return autorest.Prepare(&http.Request{}, - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(ctlr.OdataNextLink))) -} - -// CloudTaskListResultPage contains a page of CloudTask values. -type CloudTaskListResultPage struct { - fn func(CloudTaskListResult) (CloudTaskListResult, error) - ctlr CloudTaskListResult -} - -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -func (page *CloudTaskListResultPage) Next() error { - next, err := page.fn(page.ctlr) - if err != nil { - return err - } - page.ctlr = next - return nil -} - -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page CloudTaskListResultPage) NotDone() bool { - return !page.ctlr.IsEmpty() -} - -// Response returns the raw server response from the last page request. -func (page CloudTaskListResultPage) Response() CloudTaskListResult { - return page.ctlr -} - -// Values returns the slice of values for the current page or nil if there are no values. -func (page CloudTaskListResultPage) Values() []CloudTask { - if page.ctlr.IsEmpty() { - return nil - } - return *page.ctlr.Value -} - -// CloudTaskListSubtasksResult ... -type CloudTaskListSubtasksResult struct { - autorest.Response `json:"-"` - Value *[]SubtaskInformation `json:"value,omitempty"` -} - -// ComputeNode ... -type ComputeNode struct { - autorest.Response `json:"-"` - // ID - Every node that is added to a pool is assigned a unique ID. Whenever a node is removed from a pool, all of its local files are deleted, and the ID is reclaimed and could be reused for new nodes. - ID *string `json:"id,omitempty"` - URL *string `json:"url,omitempty"` - // State - The low-priority node has been preempted. Tasks which were running on the node when it was pre-empted will be rescheduled when another node becomes available. Possible values include: 'Idle', 'Rebooting', 'Reimaging', 'Running', 'Unusable', 'Creating', 'Starting', 'WaitingForStartTask', 'StartTaskFailed', 'Unknown', 'LeavingPool', 'Offline', 'Preempted' - State ComputeNodeState `json:"state,omitempty"` - // SchedulingState - Possible values include: 'Enabled', 'Disabled' - SchedulingState SchedulingState `json:"schedulingState,omitempty"` - StateTransitionTime *date.Time `json:"stateTransitionTime,omitempty"` - // LastBootTime - This property may not be present if the node state is unusable. - LastBootTime *date.Time `json:"lastBootTime,omitempty"` - AllocationTime *date.Time `json:"allocationTime,omitempty"` - // IPAddress - Every node that is added to a pool is assigned a unique IP address. Whenever a node is removed from a pool, all of its local files are deleted, and the IP address is reclaimed and could be reused for new nodes. - IPAddress *string `json:"ipAddress,omitempty"` - // AffinityID - Note that this is just a soft affinity. If the target node is busy or unavailable at the time the task is scheduled, then the task will be scheduled elsewhere. - AffinityID *string `json:"affinityId,omitempty"` - // VMSize - For information about available sizes of virtual machines for Cloud Services pools (pools created with cloudServiceConfiguration), see Sizes for Cloud Services (http://azure.microsoft.com/documentation/articles/cloud-services-sizes-specs/). Batch supports all Cloud Services VM sizes except ExtraSmall, A1V2 and A2V2. For information about available VM sizes for pools using images from the Virtual Machines Marketplace (pools created with virtualMachineConfiguration) see Sizes for Virtual Machines (Linux) (https://azure.microsoft.com/documentation/articles/virtual-machines-linux-sizes/) or Sizes for Virtual Machines (Windows) (https://azure.microsoft.com/documentation/articles/virtual-machines-windows-sizes/). Batch supports all Azure VM sizes except STANDARD_A0 and those with premium storage (STANDARD_GS, STANDARD_DS, and STANDARD_DSV2 series). - VMSize *string `json:"vmSize,omitempty"` - TotalTasksRun *int32 `json:"totalTasksRun,omitempty"` - RunningTasksCount *int32 `json:"runningTasksCount,omitempty"` - TotalTasksSucceeded *int32 `json:"totalTasksSucceeded,omitempty"` - // RecentTasks - This property is present only if at least one task has run on this node since it was assigned to the pool. - RecentTasks *[]TaskInformation `json:"recentTasks,omitempty"` - StartTask *StartTask `json:"startTask,omitempty"` - StartTaskInfo *StartTaskInformation `json:"startTaskInfo,omitempty"` - // CertificateReferences - For Windows compute nodes, the Batch service installs the certificates to the specified certificate store and location. For Linux compute nodes, the certificates are stored in a directory inside the task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the task to query for this location. For certificates with visibility of 'remoteUser', a 'certs' directory is created in the user's home directory (e.g., /home/{user-name}/certs) and certificates are placed in that directory. - CertificateReferences *[]CertificateReference `json:"certificateReferences,omitempty"` - Errors *[]ComputeNodeError `json:"errors,omitempty"` - IsDedicated *bool `json:"isDedicated,omitempty"` - EndpointConfiguration *ComputeNodeEndpointConfiguration `json:"endpointConfiguration,omitempty"` -} - -// ComputeNodeEndpointConfiguration ... -type ComputeNodeEndpointConfiguration struct { - InboundEndpoints *[]InboundEndpoint `json:"inboundEndpoints,omitempty"` -} - -// ComputeNodeError ... -type ComputeNodeError struct { - Code *string `json:"code,omitempty"` - Message *string `json:"message,omitempty"` - ErrorDetails *[]NameValuePair `json:"errorDetails,omitempty"` -} - -// ComputeNodeGetRemoteLoginSettingsResult ... -type ComputeNodeGetRemoteLoginSettingsResult struct { - autorest.Response `json:"-"` - RemoteLoginIPAddress *string `json:"remoteLoginIPAddress,omitempty"` - RemoteLoginPort *int32 `json:"remoteLoginPort,omitempty"` -} - -// ComputeNodeInformation ... -type ComputeNodeInformation struct { - AffinityID *string `json:"affinityId,omitempty"` - NodeURL *string `json:"nodeUrl,omitempty"` - PoolID *string `json:"poolId,omitempty"` - NodeID *string `json:"nodeId,omitempty"` - TaskRootDirectory *string `json:"taskRootDirectory,omitempty"` - TaskRootDirectoryURL *string `json:"taskRootDirectoryUrl,omitempty"` -} - -// ComputeNodeListResult ... -type ComputeNodeListResult struct { - autorest.Response `json:"-"` - Value *[]ComputeNode `json:"value,omitempty"` - OdataNextLink *string `json:"odata.nextLink,omitempty"` -} - -// ComputeNodeListResultIterator provides access to a complete listing of ComputeNode values. -type ComputeNodeListResultIterator struct { - i int - page ComputeNodeListResultPage -} - -// Next advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -func (iter *ComputeNodeListResultIterator) Next() error { - iter.i++ - if iter.i < len(iter.page.Values()) { - return nil - } - err := iter.page.Next() - if err != nil { - iter.i-- - return err - } - iter.i = 0 - return nil -} - -// NotDone returns true if the enumeration should be started or is not yet complete. -func (iter ComputeNodeListResultIterator) NotDone() bool { - return iter.page.NotDone() && iter.i < len(iter.page.Values()) -} - -// Response returns the raw server response from the last page request. -func (iter ComputeNodeListResultIterator) Response() ComputeNodeListResult { - return iter.page.Response() -} - -// Value returns the current value or a zero-initialized value if the -// iterator has advanced beyond the end of the collection. -func (iter ComputeNodeListResultIterator) Value() ComputeNode { - if !iter.page.NotDone() { - return ComputeNode{} - } - return iter.page.Values()[iter.i] -} - -// IsEmpty returns true if the ListResult contains no values. -func (cnlr ComputeNodeListResult) IsEmpty() bool { - return cnlr.Value == nil || len(*cnlr.Value) == 0 -} - -// computeNodeListResultPreparer prepares a request to retrieve the next set of results. -// It returns nil if no more results exist. -func (cnlr ComputeNodeListResult) computeNodeListResultPreparer() (*http.Request, error) { - if cnlr.OdataNextLink == nil || len(to.String(cnlr.OdataNextLink)) < 1 { - return nil, nil - } - return autorest.Prepare(&http.Request{}, - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(cnlr.OdataNextLink))) -} - -// ComputeNodeListResultPage contains a page of ComputeNode values. -type ComputeNodeListResultPage struct { - fn func(ComputeNodeListResult) (ComputeNodeListResult, error) - cnlr ComputeNodeListResult -} - -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -func (page *ComputeNodeListResultPage) Next() error { - next, err := page.fn(page.cnlr) - if err != nil { - return err - } - page.cnlr = next - return nil -} - -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page ComputeNodeListResultPage) NotDone() bool { - return !page.cnlr.IsEmpty() -} - -// Response returns the raw server response from the last page request. -func (page ComputeNodeListResultPage) Response() ComputeNodeListResult { - return page.cnlr -} - -// Values returns the slice of values for the current page or nil if there are no values. -func (page ComputeNodeListResultPage) Values() []ComputeNode { - if page.cnlr.IsEmpty() { - return nil - } - return *page.cnlr.Value -} - -// ComputeNodeUser ... -type ComputeNodeUser struct { - Name *string `json:"name,omitempty"` - // IsAdmin - The default value is false. - IsAdmin *bool `json:"isAdmin,omitempty"` - // ExpiryTime - If omitted, the default is 1 day from the current time. For Linux compute nodes, the expiryTime has a precision up to a day. - ExpiryTime *date.Time `json:"expiryTime,omitempty"` - // Password - The password is required for Windows nodes (those created with 'cloudServiceConfiguration', or created with 'virtualMachineConfiguration' using a Windows image reference). For Linux compute nodes, the password can optionally be specified along with the sshPublicKey property. - Password *string `json:"password,omitempty"` - // SSHPublicKey - The public key should be compatible with OpenSSH encoding and should be base 64 encoded. This property can be specified only for Linux nodes. If this is specified for a Windows node, then the Batch service rejects the request; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). - SSHPublicKey *string `json:"sshPublicKey,omitempty"` -} - -// ContainerConfiguration ... -type ContainerConfiguration struct { - Type *string `json:"type,omitempty"` - // ContainerImageNames - This is the full image reference, as would be specified to "docker pull". An image will be sourced from the default Docker registry unless the image is fully qualified with an alternative registry. - ContainerImageNames *[]string `json:"containerImageNames,omitempty"` - // ContainerRegistries - If any images must be downloaded from a private registry which requires credentials, then those credentials must be provided here. - ContainerRegistries *[]ContainerRegistry `json:"containerRegistries,omitempty"` -} - -// ContainerRegistry ... -type ContainerRegistry struct { - // RegistryServer - If omitted, the default is "docker.io". - RegistryServer *string `json:"registryServer,omitempty"` - UserName *string `json:"username,omitempty"` - Password *string `json:"password,omitempty"` -} - -// DataDisk ... -type DataDisk struct { - // Lun - The lun is used to uniquely identify each data disk. If attaching multiple disks, each should have a distinct lun. - Lun *int32 `json:"lun,omitempty"` - // Caching - The default value for caching is none. For information about the caching options see: https://blogs.msdn.microsoft.com/windowsazurestorage/2012/06/27/exploring-windows-azure-drives-disks-and-images/. Possible values include: 'None', 'ReadOnly', 'ReadWrite' - Caching CachingType `json:"caching,omitempty"` - DiskSizeGB *int32 `json:"diskSizeGB,omitempty"` - // StorageAccountType - If omitted, the default is "standard_lrs". Possible values include: 'StandardLRS', 'PremiumLRS' - StorageAccountType StorageAccountType `json:"storageAccountType,omitempty"` -} - -// DeleteCertificateError ... -type DeleteCertificateError struct { - Code *string `json:"code,omitempty"` - Message *string `json:"message,omitempty"` - // Values - This list includes details such as the active pools and nodes referencing this certificate. However, if a large number of resources reference the certificate, the list contains only about the first hundred. - Values *[]NameValuePair `json:"values,omitempty"` -} - -// EnvironmentSetting ... -type EnvironmentSetting struct { - Name *string `json:"name,omitempty"` - Value *string `json:"value,omitempty"` -} - -// Error ... -type Error struct { - Code *string `json:"code,omitempty"` - Message *ErrorMessage `json:"message,omitempty"` - Values *[]ErrorDetail `json:"values,omitempty"` -} - -// ErrorDetail ... -type ErrorDetail struct { - Key *string `json:"key,omitempty"` - Value *string `json:"value,omitempty"` -} - -// ErrorMessage ... -type ErrorMessage struct { - Lang *string `json:"lang,omitempty"` - Value *string `json:"value,omitempty"` -} - -// ExitCodeMapping ... -type ExitCodeMapping struct { - Code *int32 `json:"code,omitempty"` - ExitOptions *ExitOptions `json:"exitOptions,omitempty"` -} - -// ExitCodeRangeMapping ... -type ExitCodeRangeMapping struct { - Start *int32 `json:"start,omitempty"` - End *int32 `json:"end,omitempty"` - ExitOptions *ExitOptions `json:"exitOptions,omitempty"` -} - -// ExitConditions ... -type ExitConditions struct { - ExitCodes *[]ExitCodeMapping `json:"exitCodes,omitempty"` - ExitCodeRanges *[]ExitCodeRangeMapping `json:"exitCodeRanges,omitempty"` - PreProcessingError *ExitOptions `json:"preProcessingError,omitempty"` - // FileUploadError - If the task exited with an exit code that was specified via exitCodes or exitCodeRanges, and then encountered a file upload error, then the action specified by the exit code takes precedence. - FileUploadError *ExitOptions `json:"fileUploadError,omitempty"` - // Default - This value is used if the task exits with any nonzero exit code not listed in the exitCodes or exitCodeRanges collection, with a pre-processing error if the preProcessingError property is not present, or with a file upload error if the fileUploadError property is not present. If you want non-default behaviour on exit code 0, you must list it explicitly using the exitCodes or exitCodeRanges collection. - Default *ExitOptions `json:"default,omitempty"` -} - -// ExitOptions ... -type ExitOptions struct { - // JobAction - The default is none for exit code 0 and terminate for all other exit conditions. If the job's onTaskFailed property is noaction, then specifying this property returns an error and the add task request fails with an invalid property value error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). Possible values include: 'JobActionNone', 'JobActionDisable', 'JobActionTerminate' - JobAction JobAction `json:"jobAction,omitempty"` - // DependencyAction - The default is 'satisfy' for exit code 0, and 'block' for all other exit conditions. If the job's usesTaskDependencies property is set to false, then specifying the dependencyAction property returns an error and the add task request fails with an invalid property value error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). Possible values include: 'Satisfy', 'Block' - DependencyAction DependencyAction `json:"dependencyAction,omitempty"` -} - -// FileProperties ... -type FileProperties struct { - // CreationTime - The creation time is not returned for files on Linux compute nodes. - CreationTime *date.Time `json:"creationTime,omitempty"` - LastModified *date.Time `json:"lastModified,omitempty"` - ContentLength *int64 `json:"contentLength,omitempty"` - ContentType *string `json:"contentType,omitempty"` - // FileMode - The file mode is returned only for files on Linux compute nodes. - FileMode *string `json:"fileMode,omitempty"` -} - -// ImageReference ... -type ImageReference struct { - // Publisher - For example, Canonical or MicrosoftWindowsServer. - Publisher *string `json:"publisher,omitempty"` - // Offer - For example, UbuntuServer or WindowsServer. - Offer *string `json:"offer,omitempty"` - // Sku - For example, 14.04.0-LTS or 2012-R2-Datacenter. - Sku *string `json:"sku,omitempty"` - // Version - A value of 'latest' can be specified to select the latest version of an image. If omitted, the default is 'latest'. - Version *string `json:"version,omitempty"` - // VirtualMachineImageID - This property is mutually exclusive with other ImageReference properties. The virtual machine image must be in the same region and subscription as the Azure Batch account. For information about the firewall settings for the Batch node agent to communicate with the Batch service see https://docs.microsoft.com/en-us/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration. - VirtualMachineImageID *string `json:"virtualMachineImageId,omitempty"` -} - -// InboundEndpoint ... -type InboundEndpoint struct { - Name *string `json:"name,omitempty"` - // Protocol - Possible values include: 'TCP', 'UDP' - Protocol InboundEndpointProtocol `json:"protocol,omitempty"` - PublicIPAddress *string `json:"publicIPAddress,omitempty"` - PublicFQDN *string `json:"publicFQDN,omitempty"` - FrontendPort *int32 `json:"frontendPort,omitempty"` - BackendPort *int32 `json:"backendPort,omitempty"` -} - -// InboundNATPool ... -type InboundNATPool struct { - // Name - The name must be unique within a Batch pool, can contain letters, numbers, underscores, periods, and hyphens. Names must start with a letter or number, must end with a letter, number, or underscore, and cannot exceed 77 characters. If any invalid values are provided the request fails with HTTP status code 400. - Name *string `json:"name,omitempty"` - // Protocol - Possible values include: 'TCP', 'UDP' - Protocol InboundEndpointProtocol `json:"protocol,omitempty"` - // BackendPort - This must be unique within a Batch pool. Acceptable values are between 1 and 65535 except for 22, 3389, 29876 and 29877 as these are reserved. If any reserved values are provided the request fails with HTTP status code 400. - BackendPort *int32 `json:"backendPort,omitempty"` - // FrontendPortRangeStart - Acceptable values range between 1 and 65534 except ports from 50000 to 55000 which are reserved. All ranges within a pool must be distinct and cannot overlap. Each range must contain at least 40 ports. If any reserved or overlapping values are provided the request fails with HTTP status code 400. - FrontendPortRangeStart *int32 `json:"frontendPortRangeStart,omitempty"` - // FrontendPortRangeEnd - Acceptable values range between 1 and 65534 except ports from 50000 to 55000 which are reserved by the Batch service. All ranges within a pool must be distinct and cannot overlap. Each range must contain at least 40 ports. If any reserved or overlapping values are provided the request fails with HTTP status code 400. - FrontendPortRangeEnd *int32 `json:"frontendPortRangeEnd,omitempty"` - // NetworkSecurityGroupRules - The maximum number of rules that can be specified across all the endpoints on a Batch pool is 25. If no network security group rules are specified, a default rule will be created to allow inbound access to the specified backendPort. If the maximum number of network security group rules is exceeded the request fails with HTTP status code 400. - NetworkSecurityGroupRules *[]NetworkSecurityGroupRule `json:"networkSecurityGroupRules,omitempty"` -} - -// JobAddParameter ... -type JobAddParameter struct { - // ID - The ID can contain any combination of alphanumeric characters including hyphens and underscores, and cannot contain more than 64 characters. The ID is case-preserving and case-insensitive (that is, you may not have two IDs within an account that differ only by case). - ID *string `json:"id,omitempty"` - // DisplayName - The display name need not be unique and can contain any Unicode characters up to a maximum length of 1024. - DisplayName *string `json:"displayName,omitempty"` - // Priority - Priority values can range from -1000 to 1000, with -1000 being the lowest priority and 1000 being the highest priority. The default value is 0. - Priority *int32 `json:"priority,omitempty"` - // Constraints - The execution constraints for the job. - Constraints *JobConstraints `json:"constraints,omitempty"` - // JobManagerTask - If the job does not specify a Job Manager task, the user must explicitly add tasks to the job. If the job does specify a Job Manager task, the Batch service creates the Job Manager task when the job is created, and will try to schedule the Job Manager task before scheduling other tasks in the job. The Job Manager task's typical purpose is to control and/or monitor job execution, for example by deciding what additional tasks to run, determining when the work is complete, etc. (However, a Job Manager task is not restricted to these activities - it is a fully-fledged task in the system and perform whatever actions are required for the job.) For example, a Job Manager task might download a file specified as a parameter, analyze the contents of that file and submit additional tasks based on those contents. - JobManagerTask *JobManagerTask `json:"jobManagerTask,omitempty"` - // JobPreparationTask - If a job has a Job Preparation task, the Batch service will run the Job Preparation task on a compute node before starting any tasks of that job on that compute node. - JobPreparationTask *JobPreparationTask `json:"jobPreparationTask,omitempty"` - // JobReleaseTask - A Job Release task cannot be specified without also specifying a Job Preparation task for the job. The Batch service runs the Job Release task on the compute nodes that have run the Job Preparation task. The primary purpose of the Job Release task is to undo changes to compute nodes made by the Job Preparation task. Example activities include deleting local files, or shutting down services that were started as part of job preparation. - JobReleaseTask *JobReleaseTask `json:"jobReleaseTask,omitempty"` - // CommonEnvironmentSettings - Individual tasks can override an environment setting specified here by specifying the same setting name with a different value. - CommonEnvironmentSettings *[]EnvironmentSetting `json:"commonEnvironmentSettings,omitempty"` - PoolInfo *PoolInformation `json:"poolInfo,omitempty"` - // OnAllTasksComplete - Note that if a job contains no tasks, then all tasks are considered complete. This option is therefore most commonly used with a Job Manager task; if you want to use automatic job termination without a Job Manager, you should initially set onAllTasksComplete to noaction and update the job properties to set onAllTasksComplete to terminatejob once you have finished adding tasks. The default is noaction. Possible values include: 'NoAction', 'TerminateJob' - OnAllTasksComplete OnAllTasksComplete `json:"onAllTasksComplete,omitempty"` - // OnTaskFailure - A task is considered to have failed if has a failureInfo. A failureInfo is set if the task completes with a non-zero exit code after exhausting its retry count, or if there was an error starting the task, for example due to a resource file download error. The default is noaction. Possible values include: 'OnTaskFailureNoAction', 'OnTaskFailurePerformExitOptionsJobAction' - OnTaskFailure OnTaskFailure `json:"onTaskFailure,omitempty"` - // Metadata - The Batch service does not assign any meaning to metadata; it is solely for the use of user code. - Metadata *[]MetadataItem `json:"metadata,omitempty"` - UsesTaskDependencies *bool `json:"usesTaskDependencies,omitempty"` -} - -// JobConstraints ... -type JobConstraints struct { - // MaxWallClockTime - If the job does not complete within the time limit, the Batch service terminates it and any tasks that are still running. In this case, the termination reason will be MaxWallClockTimeExpiry. If this property is not specified, there is no time limit on how long the job may run. - MaxWallClockTime *string `json:"maxWallClockTime,omitempty"` - // MaxTaskRetryCount - Note that this value specifically controls the number of retries. The Batch service will try each task once, and may then retry up to this limit. For example, if the maximum retry count is 3, Batch tries a task up to 4 times (one initial try and 3 retries). If the maximum retry count is 0, the Batch service does not retry tasks. If the maximum retry count is -1, the Batch service retries tasks without limit. The default value is 0 (no retries). - MaxTaskRetryCount *int32 `json:"maxTaskRetryCount,omitempty"` -} - -// JobDisableParameter ... -type JobDisableParameter struct { - // DisableTasks - Possible values include: 'DisableJobOptionRequeue', 'DisableJobOptionTerminate', 'DisableJobOptionWait' - DisableTasks DisableJobOption `json:"disableTasks,omitempty"` -} - -// JobExecutionInformation ... -type JobExecutionInformation struct { - // StartTime - This is the time at which the job was created. - StartTime *date.Time `json:"startTime,omitempty"` - // EndTime - This property is set only if the job is in the completed state. - EndTime *date.Time `json:"endTime,omitempty"` - // PoolID - This element contains the actual pool where the job is assigned. When you get job details from the service, they also contain a poolInfo element, which contains the pool configuration data from when the job was added or updated. That poolInfo element may also contain a poolId element. If it does, the two IDs are the same. If it does not, it means the job ran on an auto pool, and this property contains the ID of that auto pool. - PoolID *string `json:"poolId,omitempty"` - // SchedulingError - This property is not set if there was no error starting the job. - SchedulingError *JobSchedulingError `json:"schedulingError,omitempty"` - // TerminateReason - This property is set only if the job is in the completed state. If the Batch service terminates the job, it sets the reason as follows: JMComplete - the Job Manager task completed, and killJobOnCompletion was set to true. MaxWallClockTimeExpiry - the job reached its maxWallClockTime constraint. TerminateJobSchedule - the job ran as part of a schedule, and the schedule terminated. AllTasksComplete - the job's onAllTasksComplete attribute is set to terminatejob, and all tasks in the job are complete. TaskFailed - the job's onTaskFailure attribute is set to performExitOptionsJobAction, and a task in the job failed with an exit condition that specified a jobAction of terminatejob. Any other string is a user-defined reason specified in a call to the 'Terminate a job' operation. - TerminateReason *string `json:"terminateReason,omitempty"` -} - -// JobManagerTask the Job Manager task is automatically started when the job is created. The Batch service tries to -// schedule the Job Manager task before any other tasks in the job. When shrinking a pool, the Batch service tries -// to preserve compute nodes where Job Manager tasks are running for as long as possible (that is, nodes running -// 'normal' tasks are removed before nodes running Job Manager tasks). When a Job Manager task fails and needs to -// be restarted, the system tries to schedule it at the highest priority. If there are no idle nodes available, the -// system may terminate one of the running tasks in the pool and return it to the queue in order to make room for -// the Job Manager task to restart. Note that a Job Manager task in one job does not have priority over tasks in -// other jobs. Across jobs, only job level priorities are observed. For example, if a Job Manager in a priority 0 -// job needs to be restarted, it will not displace tasks of a priority 1 job. -type JobManagerTask struct { - // ID - The ID can contain any combination of alphanumeric characters including hyphens and underscores and cannot contain more than 64 characters. - ID *string `json:"id,omitempty"` - // DisplayName - It need not be unique and can contain any Unicode characters up to a maximum length of 1024. - DisplayName *string `json:"displayName,omitempty"` - // CommandLine - The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example using "cmd /c MyCommand" in Windows or "/bin/sh -c MyCommand" in Linux. - CommandLine *string `json:"commandLine,omitempty"` - // ContainerSettings - If the pool that will run this task has containerConfiguration set, this must be set as well. If the pool that will run this task doesn't have containerConfiguration set, this must not be set. When this is specified, all directories recursively below the AZ_BATCH_NODE_ROOT_DIR (the root of Azure Batch directories on the node) are mapped into the container, all task environment variables are mapped into the container, and the task command line is executed in the container. - ContainerSettings *TaskContainerSettings `json:"containerSettings,omitempty"` - // ResourceFiles - Files listed under this element are located in the task's working directory. - ResourceFiles *[]ResourceFile `json:"resourceFiles,omitempty"` - // OutputFiles - For multi-instance tasks, the files will only be uploaded from the compute node on which the primary task is executed. - OutputFiles *[]OutputFile `json:"outputFiles,omitempty"` - EnvironmentSettings *[]EnvironmentSetting `json:"environmentSettings,omitempty"` - Constraints *TaskConstraints `json:"constraints,omitempty"` - // KillJobOnCompletion - If true, when the Job Manager task completes, the Batch service marks the job as complete. If any tasks are still running at this time (other than Job Release), those tasks are terminated. If false, the completion of the Job Manager task does not affect the job status. In this case, you should either use the onAllTasksComplete attribute to terminate the job, or have a client or user terminate the job explicitly. An example of this is if the Job Manager creates a set of tasks but then takes no further role in their execution. The default value is true. If you are using the onAllTasksComplete and onTaskFailure attributes to control job lifetime, and using the Job Manager task only to create the tasks for the job (not to monitor progress), then it is important to set killJobOnCompletion to false. - KillJobOnCompletion *bool `json:"killJobOnCompletion,omitempty"` - // UserIdentity - If omitted, the task runs as a non-administrative user unique to the task. - UserIdentity *UserIdentity `json:"userIdentity,omitempty"` - // RunExclusive - If true, no other tasks will run on the same compute node for as long as the Job Manager is running. If false, other tasks can run simultaneously with the Job Manager on a compute node. The Job Manager task counts normally against the node's concurrent task limit, so this is only relevant if the node allows multiple concurrent tasks. The default value is true. - RunExclusive *bool `json:"runExclusive,omitempty"` - // ApplicationPackageReferences - Application packages are downloaded and deployed to a shared directory, not the task working directory. Therefore, if a referenced package is already on the compute node, and is up to date, then it is not re-downloaded; the existing copy on the compute node is used. If a referenced application package cannot be installed, for example because the package has been deleted or because download failed, the task fails. - ApplicationPackageReferences *[]ApplicationPackageReference `json:"applicationPackageReferences,omitempty"` - // AuthenticationTokenSettings - If this property is set, the Batch service provides the task with an authentication token which can be used to authenticate Batch service operations without requiring an account access key. The token is provided via the AZ_BATCH_AUTHENTICATION_TOKEN environment variable. The operations that the task can carry out using the token depend on the settings. For example, a task can request job permissions in order to add other tasks to the job, or check the status of the job or of other tasks under the job. - AuthenticationTokenSettings *AuthenticationTokenSettings `json:"authenticationTokenSettings,omitempty"` - // AllowLowPriorityNode - The default value is false. - AllowLowPriorityNode *bool `json:"allowLowPriorityNode,omitempty"` -} - -// JobPatchParameter ... -type JobPatchParameter struct { - // Priority - Priority values can range from -1000 to 1000, with -1000 being the lowest priority and 1000 being the highest priority. If omitted, the priority of the job is left unchanged. - Priority *int32 `json:"priority,omitempty"` - // OnAllTasksComplete - If omitted, the completion behavior is left unchanged. You may not change the value from terminatejob to noaction - that is, once you have engaged automatic job termination, you cannot turn it off again. If you try to do this, the request fails with an 'invalid property value' error response; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). Possible values include: 'NoAction', 'TerminateJob' - OnAllTasksComplete OnAllTasksComplete `json:"onAllTasksComplete,omitempty"` - // Constraints - If omitted, the existing execution constraints are left unchanged. - Constraints *JobConstraints `json:"constraints,omitempty"` - // PoolInfo - You may change the pool for a job only when the job is disabled. The Patch Job call will fail if you include the poolInfo element and the job is not disabled. If you specify an autoPoolSpecification specification in the poolInfo, only the keepAlive property can be updated, and then only if the auto pool has a poolLifetimeOption of job. If omitted, the job continues to run on its current pool. - PoolInfo *PoolInformation `json:"poolInfo,omitempty"` - // Metadata - If omitted, the existing job metadata is left unchanged. - Metadata *[]MetadataItem `json:"metadata,omitempty"` -} - -// JobPreparationAndReleaseTaskExecutionInformation ... -type JobPreparationAndReleaseTaskExecutionInformation struct { - PoolID *string `json:"poolId,omitempty"` - NodeID *string `json:"nodeId,omitempty"` - NodeURL *string `json:"nodeUrl,omitempty"` - JobPreparationTaskExecutionInfo *JobPreparationTaskExecutionInformation `json:"jobPreparationTaskExecutionInfo,omitempty"` - // JobReleaseTaskExecutionInfo - This property is set only if the Job Release task has run on the node. - JobReleaseTaskExecutionInfo *JobReleaseTaskExecutionInformation `json:"jobReleaseTaskExecutionInfo,omitempty"` -} - -// JobPreparationTask you can use Job Preparation to prepare a compute node to run tasks for the job. Activities -// commonly performed in Job Preparation include: Downloading common resource files used by all the tasks in the -// job. The Job Preparation task can download these common resource files to the shared location on the compute -// node. (AZ_BATCH_NODE_ROOT_DIR\shared), or starting a local service on the compute node so that all tasks of that -// job can communicate with it. If the Job Preparation task fails (that is, exhausts its retry count before exiting -// with exit code 0), Batch will not run tasks of this job on the compute node. The node remains ineligible to run -// tasks of this job until it is reimaged. The node remains active and can be used for other jobs. The Job -// Preparation task can run multiple times on the same compute node. Therefore, you should write the Job -// Preparation task to handle re-execution. If the compute node is rebooted, the Job Preparation task is run again -// on the node before scheduling any other task of the job, if rerunOnNodeRebootAfterSuccess is true or if the Job -// Preparation task did not previously complete. If the compute node is reimaged, the Job Preparation task is run -// again before scheduling any task of the job. -type JobPreparationTask struct { - // ID - The ID can contain any combination of alphanumeric characters including hyphens and underscores and cannot contain more than 64 characters. If you do not specify this property, the Batch service assigns a default value of 'jobpreparation'. No other task in the job can have the same ID as the Job Preparation task. If you try to submit a task with the same id, the Batch service rejects the request with error code TaskIdSameAsJobPreparationTask; if you are calling the REST API directly, the HTTP status code is 409 (Conflict). - ID *string `json:"id,omitempty"` - // CommandLine - The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example using "cmd /c MyCommand" in Windows or "/bin/sh -c MyCommand" in Linux. - CommandLine *string `json:"commandLine,omitempty"` - // ContainerSettings - When this is specified, all directories recursively below the AZ_BATCH_NODE_ROOT_DIR (the root of Azure Batch directories on the node) are mapped into the container, all task environment variables are mapped into the container, and the task command line is executed in the container. - ContainerSettings *TaskContainerSettings `json:"containerSettings,omitempty"` - // ResourceFiles - Files listed under this element are located in the task's working directory. - ResourceFiles *[]ResourceFile `json:"resourceFiles,omitempty"` - EnvironmentSettings *[]EnvironmentSetting `json:"environmentSettings,omitempty"` - Constraints *TaskConstraints `json:"constraints,omitempty"` - // WaitForSuccess - If true and the Job Preparation task fails on a compute node, the Batch service retries the Job Preparation task up to its maximum retry count (as specified in the constraints element). If the task has still not completed successfully after all retries, then the Batch service will not schedule tasks of the job to the compute node. The compute node remains active and eligible to run tasks of other jobs. If false, the Batch service will not wait for the Job Preparation task to complete. In this case, other tasks of the job can start executing on the compute node while the Job Preparation task is still running; and even if the Job Preparation task fails, new tasks will continue to be scheduled on the node. The default value is true. - WaitForSuccess *bool `json:"waitForSuccess,omitempty"` - // UserIdentity - If omitted, the task runs as a non-administrative user unique to the task on Windows nodes, or a a non-administrative user unique to the pool on Linux nodes. - UserIdentity *UserIdentity `json:"userIdentity,omitempty"` - // RerunOnNodeRebootAfterSuccess - The Job Preparation task is always rerun if a compute node is reimaged, or if the Job Preparation task did not complete (e.g. because the reboot occurred while the task was running). Therefore, you should always write a Job Preparation task to be idempotent and to behave correctly if run multiple times. The default value is true. - RerunOnNodeRebootAfterSuccess *bool `json:"rerunOnNodeRebootAfterSuccess,omitempty"` -} - -// JobPreparationTaskExecutionInformation ... -type JobPreparationTaskExecutionInformation struct { - // StartTime - If the task has been restarted or retried, this is the most recent time at which the task started running. - StartTime *date.Time `json:"startTime,omitempty"` - // EndTime - This property is set only if the task is in the Completed state. - EndTime *date.Time `json:"endTime,omitempty"` - // State - Possible values include: 'JobPreparationTaskStateRunning', 'JobPreparationTaskStateCompleted' - State JobPreparationTaskState `json:"state,omitempty"` - TaskRootDirectory *string `json:"taskRootDirectory,omitempty"` - TaskRootDirectoryURL *string `json:"taskRootDirectoryUrl,omitempty"` - // ExitCode - This parameter is returned only if the task is in the completed state. The exit code for a process reflects the specific convention implemented by the application developer for that process. If you use the exit code value to make decisions in your code, be sure that you know the exit code convention used by the application process. Note that the exit code may also be generated by the compute node operating system, such as when a process is forcibly terminated. - ExitCode *int32 `json:"exitCode,omitempty"` - // ContainerInfo - This property is set only if the task runs in a container context. - ContainerInfo *TaskContainerExecutionInformation `json:"containerInfo,omitempty"` - // FailureInfo - This property is set only if the task is in the completed state and encountered a failure. - FailureInfo *TaskFailureInformation `json:"failureInfo,omitempty"` - // RetryCount - Task application failures (non-zero exit code) are retried, pre-processing errors (the task could not be run) and file upload errors are not retried. The Batch service will retry the task up to the limit specified by the constraints. - RetryCount *int32 `json:"retryCount,omitempty"` - // LastRetryTime - This property is set only if the task was retried (i.e. retryCount is nonzero). If present, this is typically the same as startTime, but may be different if the task has been restarted for reasons other than retry; for example, if the compute node was rebooted during a retry, then the startTime is updated but the lastRetryTime is not. - LastRetryTime *date.Time `json:"lastRetryTime,omitempty"` - // Result - If the value is 'failed', then the details of the failure can be found in the failureInfo property. Possible values include: 'Success', 'Failure' - Result TaskExecutionResult `json:"result,omitempty"` -} - -// JobReleaseTask the Job Release task runs when the job ends, because of one of the following: The user calls the -// Terminate Job API, or the Delete Job API while the job is still active, the job's maximum wall clock time -// constraint is reached, and the job is still active, or the job's Job Manager task completed, and the job is -// configured to terminate when the Job Manager completes. The Job Release task runs on each compute node where -// tasks of the job have run and the Job Preparation task ran and completed. If you reimage a compute node after it -// has run the Job Preparation task, and the job ends without any further tasks of the job running on that compute -// node (and hence the Job Preparation task does not re-run), then the Job Release task does not run on that node. -// If a compute node reboots while the Job Release task is still running, the Job Release task runs again when the -// compute node starts up. The job is not marked as complete until all Job Release tasks have completed. The Job -// Release task runs in the background. It does not occupy a scheduling slot; that is, it does not count towards -// the maxTasksPerNode limit specified on the pool. -type JobReleaseTask struct { - // ID - The ID can contain any combination of alphanumeric characters including hyphens and underscores and cannot contain more than 64 characters. If you do not specify this property, the Batch service assigns a default value of 'jobrelease'. No other task in the job can have the same ID as the Job Release task. If you try to submit a task with the same id, the Batch service rejects the request with error code TaskIdSameAsJobReleaseTask; if you are calling the REST API directly, the HTTP status code is 409 (Conflict). - ID *string `json:"id,omitempty"` - // CommandLine - The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example using "cmd /c MyCommand" in Windows or "/bin/sh -c MyCommand" in Linux. - CommandLine *string `json:"commandLine,omitempty"` - // ContainerSettings - When this is specified, all directories recursively below the AZ_BATCH_NODE_ROOT_DIR (the root of Azure Batch directories on the node) are mapped into the container, all task environment variables are mapped into the container, and the task command line is executed in the container. - ContainerSettings *TaskContainerSettings `json:"containerSettings,omitempty"` - // ResourceFiles - Files listed under this element are located in the task's working directory. - ResourceFiles *[]ResourceFile `json:"resourceFiles,omitempty"` - EnvironmentSettings *[]EnvironmentSetting `json:"environmentSettings,omitempty"` - MaxWallClockTime *string `json:"maxWallClockTime,omitempty"` - // RetentionTime - The default is infinite, i.e. the task directory will be retained until the compute node is removed or reimaged. - RetentionTime *string `json:"retentionTime,omitempty"` - // UserIdentity - If omitted, the task runs as a non-administrative user unique to the task. - UserIdentity *UserIdentity `json:"userIdentity,omitempty"` -} - -// JobReleaseTaskExecutionInformation ... -type JobReleaseTaskExecutionInformation struct { - // StartTime - If the task has been restarted or retried, this is the most recent time at which the task started running. - StartTime *date.Time `json:"startTime,omitempty"` - // EndTime - This property is set only if the task is in the Completed state. - EndTime *date.Time `json:"endTime,omitempty"` - // State - Possible values include: 'JobReleaseTaskStateRunning', 'JobReleaseTaskStateCompleted' - State JobReleaseTaskState `json:"state,omitempty"` - TaskRootDirectory *string `json:"taskRootDirectory,omitempty"` - TaskRootDirectoryURL *string `json:"taskRootDirectoryUrl,omitempty"` - // ExitCode - This parameter is returned only if the task is in the completed state. The exit code for a process reflects the specific convention implemented by the application developer for that process. If you use the exit code value to make decisions in your code, be sure that you know the exit code convention used by the application process. Note that the exit code may also be generated by the compute node operating system, such as when a process is forcibly terminated. - ExitCode *int32 `json:"exitCode,omitempty"` - // ContainerInfo - This property is set only if the task runs in a container context. - ContainerInfo *TaskContainerExecutionInformation `json:"containerInfo,omitempty"` - // FailureInfo - This property is set only if the task is in the completed state and encountered a failure. - FailureInfo *TaskFailureInformation `json:"failureInfo,omitempty"` - // Result - If the value is 'failed', then the details of the failure can be found in the failureInfo property. Possible values include: 'Success', 'Failure' - Result TaskExecutionResult `json:"result,omitempty"` -} - -// JobScheduleAddParameter ... -type JobScheduleAddParameter struct { - // ID - The ID can contain any combination of alphanumeric characters including hyphens and underscores, and cannot contain more than 64 characters. The ID is case-preserving and case-insensitive (that is, you may not have two IDs within an account that differ only by case). - ID *string `json:"id,omitempty"` - // DisplayName - The display name need not be unique and can contain any Unicode characters up to a maximum length of 1024. - DisplayName *string `json:"displayName,omitempty"` - Schedule *Schedule `json:"schedule,omitempty"` - JobSpecification *JobSpecification `json:"jobSpecification,omitempty"` - // Metadata - The Batch service does not assign any meaning to metadata; it is solely for the use of user code. - Metadata *[]MetadataItem `json:"metadata,omitempty"` -} - -// JobScheduleExecutionInformation ... -type JobScheduleExecutionInformation struct { - // NextRunTime - This property is meaningful only if the schedule is in the active state when the time comes around. For example, if the schedule is disabled, no job will be created at nextRunTime unless the job is enabled before then. - NextRunTime *date.Time `json:"nextRunTime,omitempty"` - // RecentJob - This property is present only if the at least one job has run under the schedule. - RecentJob *RecentJob `json:"recentJob,omitempty"` - // EndTime - This property is set only if the job schedule is in the completed state. - EndTime *date.Time `json:"endTime,omitempty"` -} - -// JobSchedulePatchParameter ... -type JobSchedulePatchParameter struct { - // Schedule - If you do not specify this element, the existing schedule is left unchanged. - Schedule *Schedule `json:"schedule,omitempty"` - // JobSpecification - Updates affect only jobs that are started after the update has taken place. Any currently active job continues with the older specification. - JobSpecification *JobSpecification `json:"jobSpecification,omitempty"` - // Metadata - If you do not specify this element, existing metadata is left unchanged. - Metadata *[]MetadataItem `json:"metadata,omitempty"` -} - -// JobScheduleStatistics ... -type JobScheduleStatistics struct { - URL *string `json:"url,omitempty"` - StartTime *date.Time `json:"startTime,omitempty"` - LastUpdateTime *date.Time `json:"lastUpdateTime,omitempty"` - UserCPUTime *string `json:"userCPUTime,omitempty"` - KernelCPUTime *string `json:"kernelCPUTime,omitempty"` - // WallClockTime - The wall clock time is the elapsed time from when the task started running on a compute node to when it finished (or to the last time the statistics were updated, if the task had not finished by then). If a task was retried, this includes the wall clock time of all the task retries. - WallClockTime *string `json:"wallClockTime,omitempty"` - ReadIOps *int64 `json:"readIOps,omitempty"` - WriteIOps *int64 `json:"writeIOps,omitempty"` - ReadIOGiB *float64 `json:"readIOGiB,omitempty"` - WriteIOGiB *float64 `json:"writeIOGiB,omitempty"` - NumSucceededTasks *int64 `json:"numSucceededTasks,omitempty"` - NumFailedTasks *int64 `json:"numFailedTasks,omitempty"` - NumTaskRetries *int64 `json:"numTaskRetries,omitempty"` - // WaitTime - This value is only reported in the account lifetime statistics; it is not included in the job statistics. - WaitTime *string `json:"waitTime,omitempty"` -} - -// JobScheduleUpdateParameter ... -type JobScheduleUpdateParameter struct { - // Schedule - If you do not specify this element, it is equivalent to passing the default schedule: that is, a single job scheduled to run immediately. - Schedule *Schedule `json:"schedule,omitempty"` - // JobSpecification - Updates affect only jobs that are started after the update has taken place. Any currently active job continues with the older specification. - JobSpecification *JobSpecification `json:"jobSpecification,omitempty"` - // Metadata - If you do not specify this element, it takes the default value of an empty list; in effect, any existing metadata is deleted. - Metadata *[]MetadataItem `json:"metadata,omitempty"` -} - -// JobSchedulingError ... -type JobSchedulingError struct { - // Category - Possible values include: 'UserError', 'ServerError' - Category ErrorCategory `json:"category,omitempty"` - Code *string `json:"code,omitempty"` - Message *string `json:"message,omitempty"` - Details *[]NameValuePair `json:"details,omitempty"` -} - -// JobSpecification ... -type JobSpecification struct { - // Priority - Priority values can range from -1000 to 1000, with -1000 being the lowest priority and 1000 being the highest priority. The default value is 0. This priority is used as the default for all jobs under the job schedule. You can update a job's priority after it has been created using by using the update job API. - Priority *int32 `json:"priority,omitempty"` - // DisplayName - The name need not be unique and can contain any Unicode characters up to a maximum length of 1024. - DisplayName *string `json:"displayName,omitempty"` - UsesTaskDependencies *bool `json:"usesTaskDependencies,omitempty"` - // OnAllTasksComplete - Note that if a job contains no tasks, then all tasks are considered complete. This option is therefore most commonly used with a Job Manager task; if you want to use automatic job termination without a Job Manager, you should initially set onAllTasksComplete to noaction and update the job properties to set onAllTasksComplete to terminatejob once you have finished adding tasks. The default is noaction. Possible values include: 'NoAction', 'TerminateJob' - OnAllTasksComplete OnAllTasksComplete `json:"onAllTasksComplete,omitempty"` - // OnTaskFailure - The default is noaction. Possible values include: 'OnTaskFailureNoAction', 'OnTaskFailurePerformExitOptionsJobAction' - OnTaskFailure OnTaskFailure `json:"onTaskFailure,omitempty"` - Constraints *JobConstraints `json:"constraints,omitempty"` - // JobManagerTask - If the job does not specify a Job Manager task, the user must explicitly add tasks to the job using the Task API. If the job does specify a Job Manager task, the Batch service creates the Job Manager task when the job is created, and will try to schedule the Job Manager task before scheduling other tasks in the job. - JobManagerTask *JobManagerTask `json:"jobManagerTask,omitempty"` - // JobPreparationTask - If a job has a Job Preparation task, the Batch service will run the Job Preparation task on a compute node before starting any tasks of that job on that compute node. - JobPreparationTask *JobPreparationTask `json:"jobPreparationTask,omitempty"` - // JobReleaseTask - The primary purpose of the Job Release task is to undo changes to compute nodes made by the Job Preparation task. Example activities include deleting local files, or shutting down services that were started as part of job preparation. A Job Release task cannot be specified without also specifying a Job Preparation task for the job. The Batch service runs the Job Release task on the compute nodes that have run the Job Preparation task. - JobReleaseTask *JobReleaseTask `json:"jobReleaseTask,omitempty"` - // CommonEnvironmentSettings - Individual tasks can override an environment setting specified here by specifying the same setting name with a different value. - CommonEnvironmentSettings *[]EnvironmentSetting `json:"commonEnvironmentSettings,omitempty"` - PoolInfo *PoolInformation `json:"poolInfo,omitempty"` - // Metadata - The Batch service does not assign any meaning to metadata; it is solely for the use of user code. - Metadata *[]MetadataItem `json:"metadata,omitempty"` -} - -// JobStatistics ... -type JobStatistics struct { - autorest.Response `json:"-"` - URL *string `json:"url,omitempty"` - StartTime *date.Time `json:"startTime,omitempty"` - LastUpdateTime *date.Time `json:"lastUpdateTime,omitempty"` - UserCPUTime *string `json:"userCPUTime,omitempty"` - KernelCPUTime *string `json:"kernelCPUTime,omitempty"` - // WallClockTime - The wall clock time is the elapsed time from when the task started running on a compute node to when it finished (or to the last time the statistics were updated, if the task had not finished by then). If a task was retried, this includes the wall clock time of all the task retries. - WallClockTime *string `json:"wallClockTime,omitempty"` - ReadIOps *int64 `json:"readIOps,omitempty"` - WriteIOps *int64 `json:"writeIOps,omitempty"` - ReadIOGiB *float64 `json:"readIOGiB,omitempty"` - WriteIOGiB *float64 `json:"writeIOGiB,omitempty"` - // NumSucceededTasks - A task completes successfully if it returns exit code 0. - NumSucceededTasks *int64 `json:"numSucceededTasks,omitempty"` - // NumFailedTasks - A task fails if it exhausts its maximum retry count without returning exit code 0. - NumFailedTasks *int64 `json:"numFailedTasks,omitempty"` - NumTaskRetries *int64 `json:"numTaskRetries,omitempty"` - // WaitTime - The wait time for a task is defined as the elapsed time between the creation of the task and the start of task execution. (If the task is retried due to failures, the wait time is the time to the most recent task execution.) This value is only reported in the account lifetime statistics; it is not included in the job statistics. - WaitTime *string `json:"waitTime,omitempty"` -} - -// JobTerminateParameter ... -type JobTerminateParameter struct { - TerminateReason *string `json:"terminateReason,omitempty"` -} - -// JobUpdateParameter ... -type JobUpdateParameter struct { - // Priority - Priority values can range from -1000 to 1000, with -1000 being the lowest priority and 1000 being the highest priority. If omitted, it is set to the default value 0. - Priority *int32 `json:"priority,omitempty"` - // Constraints - If omitted, the constraints are cleared. - Constraints *JobConstraints `json:"constraints,omitempty"` - // PoolInfo - You may change the pool for a job only when the job is disabled. The Update Job call will fail if you include the poolInfo element and the job is not disabled. If you specify an autoPoolSpecification specification in the poolInfo, only the keepAlive property can be updated, and then only if the auto pool has a poolLifetimeOption of job. - PoolInfo *PoolInformation `json:"poolInfo,omitempty"` - // Metadata - If omitted, it takes the default value of an empty list; in effect, any existing metadata is deleted. - Metadata *[]MetadataItem `json:"metadata,omitempty"` - // OnAllTasksComplete - If omitted, the completion behavior is set to noaction. If the current value is terminatejob, this is an error because a job's completion behavior may not be changed from terminatejob to noaction. You may not change the value from terminatejob to noaction - that is, once you have engaged automatic job termination, you cannot turn it off again. If you try to do this, the request fails and Batch returns status code 400 (Bad Request) and an 'invalid property value' error response. If you do not specify this element in a PUT request, it is equivalent to passing noaction. This is an error if the current value is terminatejob. Possible values include: 'NoAction', 'TerminateJob' - OnAllTasksComplete OnAllTasksComplete `json:"onAllTasksComplete,omitempty"` -} - -// LinuxUserConfiguration ... -type LinuxUserConfiguration struct { - // UID - The uid and gid properties must be specified together or not at all. If not specified the underlying operating system picks the uid. - UID *int32 `json:"uid,omitempty"` - // Gid - The uid and gid properties must be specified together or not at all. If not specified the underlying operating system picks the gid. - Gid *int32 `json:"gid,omitempty"` - // SSHPrivateKey - The private key must not be password protected. The private key is used to automatically configure asymmetric-key based authentication for SSH between nodes in a Linux pool when the pool's enableInterNodeCommunication property is true (it is ignored if enableInterNodeCommunication is false). It does this by placing the key pair into the user's .ssh directory. If not specified, password-less SSH is not configured between nodes (no modification of the user's .ssh directory is done). - SSHPrivateKey *string `json:"sshPrivateKey,omitempty"` -} - -// MetadataItem the Batch service does not assign any meaning to this metadata; it is solely for the use of user -// code. -type MetadataItem struct { - Name *string `json:"name,omitempty"` - Value *string `json:"value,omitempty"` -} - -// MultiInstanceSettings multi-instance tasks are commonly used to support MPI tasks. -type MultiInstanceSettings struct { - // NumberOfInstances - If omitted, the default is 1. - NumberOfInstances *int32 `json:"numberOfInstances,omitempty"` - // CoordinationCommandLine - A typical coordination command line launches a background service and verifies that the service is ready to process inter-node messages. - CoordinationCommandLine *string `json:"coordinationCommandLine,omitempty"` - // CommonResourceFiles - The difference between common resource files and task resource files is that common resource files are downloaded for all subtasks including the primary, whereas task resource files are downloaded only for the primary. Also note that these resource files are not downloaded to the task working directory, but instead are downloaded to the task root directory (one directory above the working directory). - CommonResourceFiles *[]ResourceFile `json:"commonResourceFiles,omitempty"` -} - -// NameValuePair ... -type NameValuePair struct { - Name *string `json:"name,omitempty"` - Value *string `json:"value,omitempty"` -} - -// NetworkConfiguration the network configuration for a pool. -type NetworkConfiguration struct { - // SubnetID - The virtual network must be in the same region and subscription as the Azure Batch account. The specified subnet should have enough free IP addresses to accommodate the number of nodes in the pool. If the subnet doesn't have enough free IP addresses, the pool will partially allocate compute nodes, and a resize error will occur. The 'MicrosoftAzureBatch' service principal must have the 'Classic Virtual Machine Contributor' Role-Based Access Control (RBAC) role for the specified VNet. The specified subnet must allow communication from the Azure Batch service to be able to schedule tasks on the compute nodes. This can be verified by checking if the specified VNet has any associated Network Security Groups (NSG). If communication to the compute nodes in the specified subnet is denied by an NSG, then the Batch service will set the state of the compute nodes to unusable. For pools created with virtualMachineConfiguration only ARM virtual networks ('Microsoft.Network/virtualNetworks') are supported, but for pools created with cloudServiceConfiguration both ARM and classic virtual networks are supported. If the specified VNet has any associated Network Security Groups (NSG), then a few reserved system ports must be enabled for inbound communication. For pools created with a virtual machine configuration, enable ports 29876 and 29877, as well as port 22 for Linux and port 3389 for Windows. For pools created with a cloud service configuration, enable ports 10100, 20100, and 30100. Also enable outbound connections to Azure Storage on port 443. For more details see: https://docs.microsoft.com/en-us/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration - SubnetID *string `json:"subnetId,omitempty"` - // EndpointConfiguration - Pool endpoint configuration is only supported on pools with the virtualMachineConfiguration property. - EndpointConfiguration *PoolEndpointConfiguration `json:"endpointConfiguration,omitempty"` -} - -// NetworkSecurityGroupRule ... -type NetworkSecurityGroupRule struct { - // Priority - Priorities within a pool must be unique and are evaluated in order of priority. The lower the number the higher the priority. For example, rules could be specified with order numbers of 150, 250, and 350. The rule with the order number of 150 takes precedence over the rule that has an order of 250. Allowed priorities are 150 to 3500. If any reserved or duplicate values are provided the request fails with HTTP status code 400. - Priority *int32 `json:"priority,omitempty"` - // Access - Possible values include: 'Allow', 'Deny' - Access NetworkSecurityGroupRuleAccess `json:"access,omitempty"` - // SourceAddressPrefix - Valid values are a single IP address (i.e. 10.10.10.10), IP subnet (i.e. 192.168.1.0/24), default tag, or * (for all addresses). If any other values are provided the request fails with HTTP status code 400. - SourceAddressPrefix *string `json:"sourceAddressPrefix,omitempty"` -} - -// NodeAgentSku the Batch node agent is a program that runs on each node in the pool, and provides the -// command-and-control interface between the node and the Batch service. There are different implementations of the -// node agent, known as SKUs, for different operating systems. -type NodeAgentSku struct { - ID *string `json:"id,omitempty"` - // VerifiedImageReferences - This collection is not exhaustive (the node agent may be compatible with other images). - VerifiedImageReferences *[]ImageReference `json:"verifiedImageReferences,omitempty"` - // OsType - Possible values include: 'Linux', 'Windows' - OsType OSType `json:"osType,omitempty"` -} - -// NodeDisableSchedulingParameter ... -type NodeDisableSchedulingParameter struct { - // NodeDisableSchedulingOption - The default value is requeue. Possible values include: 'DisableComputeNodeSchedulingOptionRequeue', 'DisableComputeNodeSchedulingOptionTerminate', 'DisableComputeNodeSchedulingOptionTaskCompletion' - NodeDisableSchedulingOption DisableComputeNodeSchedulingOption `json:"nodeDisableSchedulingOption,omitempty"` -} - -// NodeFile ... -type NodeFile struct { - Name *string `json:"name,omitempty"` - URL *string `json:"url,omitempty"` - IsDirectory *bool `json:"isDirectory,omitempty"` - Properties *FileProperties `json:"properties,omitempty"` -} - -// NodeFileListResult ... -type NodeFileListResult struct { - autorest.Response `json:"-"` - Value *[]NodeFile `json:"value,omitempty"` - OdataNextLink *string `json:"odata.nextLink,omitempty"` -} - -// NodeFileListResultIterator provides access to a complete listing of NodeFile values. -type NodeFileListResultIterator struct { - i int - page NodeFileListResultPage -} - -// Next advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -func (iter *NodeFileListResultIterator) Next() error { - iter.i++ - if iter.i < len(iter.page.Values()) { - return nil - } - err := iter.page.Next() - if err != nil { - iter.i-- - return err - } - iter.i = 0 - return nil -} - -// NotDone returns true if the enumeration should be started or is not yet complete. -func (iter NodeFileListResultIterator) NotDone() bool { - return iter.page.NotDone() && iter.i < len(iter.page.Values()) -} - -// Response returns the raw server response from the last page request. -func (iter NodeFileListResultIterator) Response() NodeFileListResult { - return iter.page.Response() -} - -// Value returns the current value or a zero-initialized value if the -// iterator has advanced beyond the end of the collection. -func (iter NodeFileListResultIterator) Value() NodeFile { - if !iter.page.NotDone() { - return NodeFile{} - } - return iter.page.Values()[iter.i] -} - -// IsEmpty returns true if the ListResult contains no values. -func (nflr NodeFileListResult) IsEmpty() bool { - return nflr.Value == nil || len(*nflr.Value) == 0 -} - -// nodeFileListResultPreparer prepares a request to retrieve the next set of results. -// It returns nil if no more results exist. -func (nflr NodeFileListResult) nodeFileListResultPreparer() (*http.Request, error) { - if nflr.OdataNextLink == nil || len(to.String(nflr.OdataNextLink)) < 1 { - return nil, nil - } - return autorest.Prepare(&http.Request{}, - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(nflr.OdataNextLink))) -} - -// NodeFileListResultPage contains a page of NodeFile values. -type NodeFileListResultPage struct { - fn func(NodeFileListResult) (NodeFileListResult, error) - nflr NodeFileListResult -} - -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -func (page *NodeFileListResultPage) Next() error { - next, err := page.fn(page.nflr) - if err != nil { - return err - } - page.nflr = next - return nil -} - -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page NodeFileListResultPage) NotDone() bool { - return !page.nflr.IsEmpty() -} - -// Response returns the raw server response from the last page request. -func (page NodeFileListResultPage) Response() NodeFileListResult { - return page.nflr -} - -// Values returns the slice of values for the current page or nil if there are no values. -func (page NodeFileListResultPage) Values() []NodeFile { - if page.nflr.IsEmpty() { - return nil - } - return *page.nflr.Value -} - -// NodeRebootParameter ... -type NodeRebootParameter struct { - // NodeRebootOption - The default value is requeue. Possible values include: 'ComputeNodeRebootOptionRequeue', 'ComputeNodeRebootOptionTerminate', 'ComputeNodeRebootOptionTaskCompletion', 'ComputeNodeRebootOptionRetainedData' - NodeRebootOption ComputeNodeRebootOption `json:"nodeRebootOption,omitempty"` -} - -// NodeReimageParameter ... -type NodeReimageParameter struct { - // NodeReimageOption - The default value is requeue. Possible values include: 'ComputeNodeReimageOptionRequeue', 'ComputeNodeReimageOptionTerminate', 'ComputeNodeReimageOptionTaskCompletion', 'ComputeNodeReimageOptionRetainedData' - NodeReimageOption ComputeNodeReimageOption `json:"nodeReimageOption,omitempty"` -} - -// NodeRemoveParameter ... -type NodeRemoveParameter struct { - NodeList *[]string `json:"nodeList,omitempty"` - // ResizeTimeout - The default value is 15 minutes. The minimum value is 5 minutes. If you specify a value less than 5 minutes, the Batch service returns an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). - ResizeTimeout *string `json:"resizeTimeout,omitempty"` - // NodeDeallocationOption - The default value is requeue. Possible values include: 'Requeue', 'Terminate', 'TaskCompletion', 'RetainedData' - NodeDeallocationOption ComputeNodeDeallocationOption `json:"nodeDeallocationOption,omitempty"` -} - -// NodeUpdateUserParameter ... -type NodeUpdateUserParameter struct { - // Password - The password is required for Windows nodes (those created with 'cloudServiceConfiguration', or created with 'virtualMachineConfiguration' using a Windows image reference). For Linux compute nodes, the password can optionally be specified along with the sshPublicKey property. If omitted, any existing password is removed. - Password *string `json:"password,omitempty"` - // ExpiryTime - If omitted, the default is 1 day from the current time. For Linux compute nodes, the expiryTime has a precision up to a day. - ExpiryTime *date.Time `json:"expiryTime,omitempty"` - // SSHPublicKey - The public key should be compatible with OpenSSH encoding and should be base 64 encoded. This property can be specified only for Linux nodes. If this is specified for a Windows node, then the Batch service rejects the request; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). If omitted, any existing SSH public key is removed. - SSHPublicKey *string `json:"sshPublicKey,omitempty"` -} - -// OSDisk ... -type OSDisk struct { - // Caching - The default value for caching is none. For information about the caching options see: https://blogs.msdn.microsoft.com/windowsazurestorage/2012/06/27/exploring-windows-azure-drives-disks-and-images/. Possible values include: 'None', 'ReadOnly', 'ReadWrite' - Caching CachingType `json:"caching,omitempty"` -} - -// OutputFile ... -type OutputFile struct { - // FilePattern - Both relative and absolute paths are supported. Relative paths are relative to the task working directory. The following wildcards are supported: * matches 0 or more characters (for example pattern abc* would match abc or abcdef), ** matches any directory, ? matches any single character, [abc] matches one character in the brackets, and [a-c] matches one character in the range. Brackets can include a negation to match any character not specified (for example [!abc] matches any character but a, b, or c). If a file name starts with "." it is ignored by default but may be matched by specifying it explicitly (for example *.gif will not match .a.gif, but .*.gif will). A simple example: **\*.txt matches any file that does not start in '.' and ends with .txt in the task working directory or any subdirectory. If the filename contains a wildcard character it can be escaped using brackets (for example abc[*] would match a file named abc*). Note that both \ and / are treated as directory separators on Windows, but only / is on Linux. Environment variables (%var% on Windows or $var on Linux) are expanded prior to the pattern being applied. - FilePattern *string `json:"filePattern,omitempty"` - Destination *OutputFileDestination `json:"destination,omitempty"` - UploadOptions *OutputFileUploadOptions `json:"uploadOptions,omitempty"` -} - -// OutputFileBlobContainerDestination ... -type OutputFileBlobContainerDestination struct { - // Path - If filePattern refers to a specific file (i.e. contains no wildcards), then path is the name of the blob to which to upload that file. If filePattern contains one or more wildcards (and therefore may match multiple files), then path is the name of the blob virtual directory (which is prepended to each blob name) to which to upload the file(s). If omitted, file(s) are uploaded to the root of the container with a blob name matching their file name. - Path *string `json:"path,omitempty"` - // ContainerURL - The URL must include a Shared Access Signature (SAS) granting write permissions to the container. - ContainerURL *string `json:"containerUrl,omitempty"` -} - -// OutputFileDestination ... -type OutputFileDestination struct { - Container *OutputFileBlobContainerDestination `json:"container,omitempty"` -} - -// OutputFileUploadOptions ... -type OutputFileUploadOptions struct { - // UploadCondition - The default is taskcompletion. Possible values include: 'OutputFileUploadConditionTaskSuccess', 'OutputFileUploadConditionTaskFailure', 'OutputFileUploadConditionTaskCompletion' - UploadCondition OutputFileUploadCondition `json:"uploadCondition,omitempty"` -} - -// PoolAddParameter ... -type PoolAddParameter struct { - // ID - The ID can contain any combination of alphanumeric characters including hyphens and underscores, and cannot contain more than 64 characters. The ID is case-preserving and case-insensitive (that is, you may not have two pool IDs within an account that differ only by case). - ID *string `json:"id,omitempty"` - // DisplayName - The display name need not be unique and can contain any Unicode characters up to a maximum length of 1024. - DisplayName *string `json:"displayName,omitempty"` - // VMSize - For information about available sizes of virtual machines for Cloud Services pools (pools created with cloudServiceConfiguration), see Sizes for Cloud Services (http://azure.microsoft.com/documentation/articles/cloud-services-sizes-specs/). Batch supports all Cloud Services VM sizes except ExtraSmall, A1V2 and A2V2. For information about available VM sizes for pools using images from the Virtual Machines Marketplace (pools created with virtualMachineConfiguration) see Sizes for Virtual Machines (Linux) (https://azure.microsoft.com/documentation/articles/virtual-machines-linux-sizes/) or Sizes for Virtual Machines (Windows) (https://azure.microsoft.com/documentation/articles/virtual-machines-windows-sizes/). Batch supports all Azure VM sizes except STANDARD_A0 and those with premium storage (STANDARD_GS, STANDARD_DS, and STANDARD_DSV2 series). - VMSize *string `json:"vmSize,omitempty"` - // CloudServiceConfiguration - This property and virtualMachineConfiguration are mutually exclusive and one of the properties must be specified. This property cannot be specified if the Batch account was created with its poolAllocationMode property set to 'UserSubscription'. - CloudServiceConfiguration *CloudServiceConfiguration `json:"cloudServiceConfiguration,omitempty"` - // VirtualMachineConfiguration - This property and cloudServiceConfiguration are mutually exclusive and one of the properties must be specified. - VirtualMachineConfiguration *VirtualMachineConfiguration `json:"virtualMachineConfiguration,omitempty"` - // ResizeTimeout - This timeout applies only to manual scaling; it has no effect when enableAutoScale is set to true. The default value is 15 minutes. The minimum value is 5 minutes. If you specify a value less than 5 minutes, the Batch service returns an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). - ResizeTimeout *string `json:"resizeTimeout,omitempty"` - // TargetDedicatedNodes - This property must not be specified if enableAutoScale is set to true. If enableAutoScale is set to false, then you must set either targetDedicatedNodes, targetLowPriorityNodes, or both. - TargetDedicatedNodes *int32 `json:"targetDedicatedNodes,omitempty"` - // TargetLowPriorityNodes - This property must not be specified if enableAutoScale is set to true. If enableAutoScale is set to false, then you must set either targetDedicatedNodes, targetLowPriorityNodes, or both. - TargetLowPriorityNodes *int32 `json:"targetLowPriorityNodes,omitempty"` - // EnableAutoScale - If false, at least one of targetDedicateNodes and targetLowPriorityNodes must be specified. If true, the autoScaleFormula property is required and the pool automatically resizes according to the formula. The default value is false. - EnableAutoScale *bool `json:"enableAutoScale,omitempty"` - // AutoScaleFormula - This property must not be specified if enableAutoScale is set to false. It is required if enableAutoScale is set to true. The formula is checked for validity before the pool is created. If the formula is not valid, the Batch service rejects the request with detailed error information. For more information about specifying this formula, see 'Automatically scale compute nodes in an Azure Batch pool' (https://azure.microsoft.com/documentation/articles/batch-automatic-scaling/). - AutoScaleFormula *string `json:"autoScaleFormula,omitempty"` - // AutoScaleEvaluationInterval - The default value is 15 minutes. The minimum and maximum value are 5 minutes and 168 hours respectively. If you specify a value less than 5 minutes or greater than 168 hours, the Batch service returns an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). - AutoScaleEvaluationInterval *string `json:"autoScaleEvaluationInterval,omitempty"` - // EnableInterNodeCommunication - Enabling inter-node communication limits the maximum size of the pool due to deployment restrictions on the nodes of the pool. This may result in the pool not reaching its desired size. The default value is false. - EnableInterNodeCommunication *bool `json:"enableInterNodeCommunication,omitempty"` - NetworkConfiguration *NetworkConfiguration `json:"networkConfiguration,omitempty"` - // StartTask - The task runs when the node is added to the pool or when the node is restarted. - StartTask *StartTask `json:"startTask,omitempty"` - // CertificateReferences - For Windows compute nodes, the Batch service installs the certificates to the specified certificate store and location. For Linux compute nodes, the certificates are stored in a directory inside the task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the task to query for this location. For certificates with visibility of 'remoteUser', a 'certs' directory is created in the user's home directory (e.g., /home/{user-name}/certs) and certificates are placed in that directory. - CertificateReferences *[]CertificateReference `json:"certificateReferences,omitempty"` - ApplicationPackageReferences *[]ApplicationPackageReference `json:"applicationPackageReferences,omitempty"` - // ApplicationLicenses - The list of application licenses must be a subset of available Batch service application licenses. If a license is requested which is not supported, pool creation will fail. - ApplicationLicenses *[]string `json:"applicationLicenses,omitempty"` - // MaxTasksPerNode - The default value is 1. The maximum value of this setting depends on the size of the compute nodes in the pool (the vmSize setting). - MaxTasksPerNode *int32 `json:"maxTasksPerNode,omitempty"` - TaskSchedulingPolicy *TaskSchedulingPolicy `json:"taskSchedulingPolicy,omitempty"` - UserAccounts *[]UserAccount `json:"userAccounts,omitempty"` - // Metadata - The Batch service does not assign any meaning to metadata; it is solely for the use of user code. - Metadata *[]MetadataItem `json:"metadata,omitempty"` -} - -// PoolEnableAutoScaleParameter ... -type PoolEnableAutoScaleParameter struct { - // AutoScaleFormula - The formula is checked for validity before it is applied to the pool. If the formula is not valid, the Batch service rejects the request with detailed error information. For more information about specifying this formula, see Automatically scale compute nodes in an Azure Batch pool (https://azure.microsoft.com/en-us/documentation/articles/batch-automatic-scaling). - AutoScaleFormula *string `json:"autoScaleFormula,omitempty"` - // AutoScaleEvaluationInterval - The default value is 15 minutes. The minimum and maximum value are 5 minutes and 168 hours respectively. If you specify a value less than 5 minutes or greater than 168 hours, the Batch service rejects the request with an invalid property value error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). If you specify a new interval, then the existing autoscale evaluation schedule will be stopped and a new autoscale evaluation schedule will be started, with its starting time being the time when this request was issued. - AutoScaleEvaluationInterval *string `json:"autoScaleEvaluationInterval,omitempty"` -} - -// PoolEndpointConfiguration ... -type PoolEndpointConfiguration struct { - // InboundNATPools - The maximum number of inbound NAT pools per Batch pool is 5. If the maximum number of inbound NAT pools is exceeded the request fails with HTTP status code 400. - InboundNATPools *[]InboundNATPool `json:"inboundNATPools,omitempty"` -} - -// PoolEvaluateAutoScaleParameter ... -type PoolEvaluateAutoScaleParameter struct { - // AutoScaleFormula - The formula is validated and its results calculated, but it is not applied to the pool. To apply the formula to the pool, 'Enable automatic scaling on a pool'. For more information about specifying this formula, see Automatically scale compute nodes in an Azure Batch pool (https://azure.microsoft.com/en-us/documentation/articles/batch-automatic-scaling). - AutoScaleFormula *string `json:"autoScaleFormula,omitempty"` -} - -// PoolInformation ... -type PoolInformation struct { - // PoolID - You must ensure that the pool referenced by this property exists. If the pool does not exist at the time the Batch service tries to schedule a job, no tasks for the job will run until you create a pool with that id. Note that the Batch service will not reject the job request; it will simply not run tasks until the pool exists. You must specify either the pool ID or the auto pool specification, but not both. - PoolID *string `json:"poolId,omitempty"` - // AutoPoolSpecification - If auto pool creation fails, the Batch service moves the job to a completed state, and the pool creation error is set in the job's scheduling error property. The Batch service manages the lifetime (both creation and, unless keepAlive is specified, deletion) of the auto pool. Any user actions that affect the lifetime of the auto pool while the job is active will result in unexpected behavior. You must specify either the pool ID or the auto pool specification, but not both. - AutoPoolSpecification *AutoPoolSpecification `json:"autoPoolSpecification,omitempty"` -} - -// PoolListUsageMetricsResult ... -type PoolListUsageMetricsResult struct { - autorest.Response `json:"-"` - Value *[]PoolUsageMetrics `json:"value,omitempty"` - OdataNextLink *string `json:"odata.nextLink,omitempty"` -} - -// PoolListUsageMetricsResultIterator provides access to a complete listing of PoolUsageMetrics values. -type PoolListUsageMetricsResultIterator struct { - i int - page PoolListUsageMetricsResultPage -} - -// Next advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -func (iter *PoolListUsageMetricsResultIterator) Next() error { - iter.i++ - if iter.i < len(iter.page.Values()) { - return nil - } - err := iter.page.Next() - if err != nil { - iter.i-- - return err - } - iter.i = 0 - return nil -} - -// NotDone returns true if the enumeration should be started or is not yet complete. -func (iter PoolListUsageMetricsResultIterator) NotDone() bool { - return iter.page.NotDone() && iter.i < len(iter.page.Values()) -} - -// Response returns the raw server response from the last page request. -func (iter PoolListUsageMetricsResultIterator) Response() PoolListUsageMetricsResult { - return iter.page.Response() -} - -// Value returns the current value or a zero-initialized value if the -// iterator has advanced beyond the end of the collection. -func (iter PoolListUsageMetricsResultIterator) Value() PoolUsageMetrics { - if !iter.page.NotDone() { - return PoolUsageMetrics{} - } - return iter.page.Values()[iter.i] -} - -// IsEmpty returns true if the ListResult contains no values. -func (plumr PoolListUsageMetricsResult) IsEmpty() bool { - return plumr.Value == nil || len(*plumr.Value) == 0 -} - -// poolListUsageMetricsResultPreparer prepares a request to retrieve the next set of results. -// It returns nil if no more results exist. -func (plumr PoolListUsageMetricsResult) poolListUsageMetricsResultPreparer() (*http.Request, error) { - if plumr.OdataNextLink == nil || len(to.String(plumr.OdataNextLink)) < 1 { - return nil, nil - } - return autorest.Prepare(&http.Request{}, - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(plumr.OdataNextLink))) -} - -// PoolListUsageMetricsResultPage contains a page of PoolUsageMetrics values. -type PoolListUsageMetricsResultPage struct { - fn func(PoolListUsageMetricsResult) (PoolListUsageMetricsResult, error) - plumr PoolListUsageMetricsResult -} - -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -func (page *PoolListUsageMetricsResultPage) Next() error { - next, err := page.fn(page.plumr) - if err != nil { - return err - } - page.plumr = next - return nil -} - -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page PoolListUsageMetricsResultPage) NotDone() bool { - return !page.plumr.IsEmpty() -} - -// Response returns the raw server response from the last page request. -func (page PoolListUsageMetricsResultPage) Response() PoolListUsageMetricsResult { - return page.plumr -} - -// Values returns the slice of values for the current page or nil if there are no values. -func (page PoolListUsageMetricsResultPage) Values() []PoolUsageMetrics { - if page.plumr.IsEmpty() { - return nil - } - return *page.plumr.Value -} - -// PoolPatchParameter ... -type PoolPatchParameter struct { - // StartTask - If this element is present, it overwrites any existing start task. If omitted, any existing start task is left unchanged. - StartTask *StartTask `json:"startTask,omitempty"` - // CertificateReferences - If this element is present, it replaces any existing certificate references configured on the pool. If omitted, any existing certificate references are left unchanged. For Windows compute nodes, the Batch service installs the certificates to the specified certificate store and location. For Linux compute nodes, the certificates are stored in a directory inside the task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the task to query for this location. For certificates with visibility of 'remoteUser', a 'certs' directory is created in the user's home directory (e.g., /home/{user-name}/certs) and certificates are placed in that directory. - CertificateReferences *[]CertificateReference `json:"certificateReferences,omitempty"` - // ApplicationPackageReferences - Changes to application package references affect all new compute nodes joining the pool, but do not affect compute nodes that are already in the pool until they are rebooted or reimaged. If this element is present, it replaces any existing application package references. If you specify an empty collection, then all application package references are removed from the pool. If omitted, any existing application package references are left unchanged. - ApplicationPackageReferences *[]ApplicationPackageReference `json:"applicationPackageReferences,omitempty"` - // Metadata - If this element is present, it replaces any existing metadata configured on the pool. If you specify an empty collection, any metadata is removed from the pool. If omitted, any existing metadata is left unchanged. - Metadata *[]MetadataItem `json:"metadata,omitempty"` -} - -// PoolResizeParameter ... -type PoolResizeParameter struct { - TargetDedicatedNodes *int32 `json:"targetDedicatedNodes,omitempty"` - TargetLowPriorityNodes *int32 `json:"targetLowPriorityNodes,omitempty"` - // ResizeTimeout - The default value is 15 minutes. The minimum value is 5 minutes. If you specify a value less than 5 minutes, the Batch service returns an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). - ResizeTimeout *string `json:"resizeTimeout,omitempty"` - // NodeDeallocationOption - The default value is requeue. Possible values include: 'Requeue', 'Terminate', 'TaskCompletion', 'RetainedData' - NodeDeallocationOption ComputeNodeDeallocationOption `json:"nodeDeallocationOption,omitempty"` -} - -// PoolSpecification ... -type PoolSpecification struct { - // DisplayName - The display name need not be unique and can contain any Unicode characters up to a maximum length of 1024. - DisplayName *string `json:"displayName,omitempty"` - // VMSize - For information about available sizes of virtual machines for Cloud Services pools (pools created with cloudServiceConfiguration), see Sizes for Cloud Services (http://azure.microsoft.com/documentation/articles/cloud-services-sizes-specs/). Batch supports all Cloud Services VM sizes except ExtraSmall, A1V2 and A2V2. For information about available VM sizes for pools using images from the Virtual Machines Marketplace (pools created with virtualMachineConfiguration) see Sizes for Virtual Machines (Linux) (https://azure.microsoft.com/documentation/articles/virtual-machines-linux-sizes/) or Sizes for Virtual Machines (Windows) (https://azure.microsoft.com/documentation/articles/virtual-machines-windows-sizes/). Batch supports all Azure VM sizes except STANDARD_A0 and those with premium storage (STANDARD_GS, STANDARD_DS, and STANDARD_DSV2 series). - VMSize *string `json:"vmSize,omitempty"` - // CloudServiceConfiguration - This property must be specified if the pool needs to be created with Azure PaaS VMs. This property and virtualMachineConfiguration are mutually exclusive and one of the properties must be specified. If neither is specified then the Batch service returns an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). This property cannot be specified if the Batch account was created with its poolAllocationMode property set to 'UserSubscription'. - CloudServiceConfiguration *CloudServiceConfiguration `json:"cloudServiceConfiguration,omitempty"` - // VirtualMachineConfiguration - This property must be specified if the pool needs to be created with Azure IaaS VMs. This property and cloudServiceConfiguration are mutually exclusive and one of the properties must be specified. If neither is specified then the Batch service returns an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). - VirtualMachineConfiguration *VirtualMachineConfiguration `json:"virtualMachineConfiguration,omitempty"` - // MaxTasksPerNode - The default value is 1. The maximum value of this setting depends on the size of the compute nodes in the pool (the vmSize setting). - MaxTasksPerNode *int32 `json:"maxTasksPerNode,omitempty"` - TaskSchedulingPolicy *TaskSchedulingPolicy `json:"taskSchedulingPolicy,omitempty"` - // ResizeTimeout - This timeout applies only to manual scaling; it has no effect when enableAutoScale is set to true. The default value is 15 minutes. The minimum value is 5 minutes. If you specify a value less than 5 minutes, the Batch service rejects the request with an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). - ResizeTimeout *string `json:"resizeTimeout,omitempty"` - // TargetDedicatedNodes - This property must not be specified if enableAutoScale is set to true. If enableAutoScale is set to false, then you must set either targetDedicatedNodes, targetLowPriorityNodes, or both. - TargetDedicatedNodes *int32 `json:"targetDedicatedNodes,omitempty"` - // TargetLowPriorityNodes - This property must not be specified if enableAutoScale is set to true. If enableAutoScale is set to false, then you must set either targetDedicatedNodes, targetLowPriorityNodes, or both. - TargetLowPriorityNodes *int32 `json:"targetLowPriorityNodes,omitempty"` - // EnableAutoScale - If false, at least one of targetDedicateNodes and targetLowPriorityNodes must be specified. If true, the autoScaleFormula element is required. The pool automatically resizes according to the formula. The default value is false. - EnableAutoScale *bool `json:"enableAutoScale,omitempty"` - // AutoScaleFormula - This property must not be specified if enableAutoScale is set to false. It is required if enableAutoScale is set to true. The formula is checked for validity before the pool is created. If the formula is not valid, the Batch service rejects the request with detailed error information. - AutoScaleFormula *string `json:"autoScaleFormula,omitempty"` - // AutoScaleEvaluationInterval - The default value is 15 minutes. The minimum and maximum value are 5 minutes and 168 hours respectively. If you specify a value less than 5 minutes or greater than 168 hours, the Batch service rejects the request with an invalid property value error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). - AutoScaleEvaluationInterval *string `json:"autoScaleEvaluationInterval,omitempty"` - // EnableInterNodeCommunication - Enabling inter-node communication limits the maximum size of the pool due to deployment restrictions on the nodes of the pool. This may result in the pool not reaching its desired size. The default value is false. - EnableInterNodeCommunication *bool `json:"enableInterNodeCommunication,omitempty"` - NetworkConfiguration *NetworkConfiguration `json:"networkConfiguration,omitempty"` - StartTask *StartTask `json:"startTask,omitempty"` - // CertificateReferences - For Windows compute nodes, the Batch service installs the certificates to the specified certificate store and location. For Linux compute nodes, the certificates are stored in a directory inside the task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the task to query for this location. For certificates with visibility of 'remoteUser', a 'certs' directory is created in the user's home directory (e.g., /home/{user-name}/certs) and certificates are placed in that directory. - CertificateReferences *[]CertificateReference `json:"certificateReferences,omitempty"` - ApplicationPackageReferences *[]ApplicationPackageReference `json:"applicationPackageReferences,omitempty"` - // ApplicationLicenses - The list of application licenses must be a subset of available Batch service application licenses. If a license is requested which is not supported, pool creation will fail. - ApplicationLicenses *[]string `json:"applicationLicenses,omitempty"` - UserAccounts *[]UserAccount `json:"userAccounts,omitempty"` - // Metadata - The Batch service does not assign any meaning to metadata; it is solely for the use of user code. - Metadata *[]MetadataItem `json:"metadata,omitempty"` -} - -// PoolStatistics ... -type PoolStatistics struct { - autorest.Response `json:"-"` - URL *string `json:"url,omitempty"` - StartTime *date.Time `json:"startTime,omitempty"` - LastUpdateTime *date.Time `json:"lastUpdateTime,omitempty"` - UsageStats *UsageStatistics `json:"usageStats,omitempty"` - ResourceStats *ResourceStatistics `json:"resourceStats,omitempty"` -} - -// PoolUpdatePropertiesParameter ... -type PoolUpdatePropertiesParameter struct { - // StartTask - If this element is present, it overwrites any existing start task. If omitted, any existing start task is removed from the pool. - StartTask *StartTask `json:"startTask,omitempty"` - // CertificateReferences - This list replaces any existing certificate references configured on the pool. If you specify an empty collection, any existing certificate references are removed from the pool. For Windows compute nodes, the Batch service installs the certificates to the specified certificate store and location. For Linux compute nodes, the certificates are stored in a directory inside the task working directory and an environment variable AZ_BATCH_CERTIFICATES_DIR is supplied to the task to query for this location. For certificates with visibility of 'remoteUser', a 'certs' directory is created in the user's home directory (e.g., /home/{user-name}/certs) and certificates are placed in that directory. - CertificateReferences *[]CertificateReference `json:"certificateReferences,omitempty"` - // ApplicationPackageReferences - The list replaces any existing application package references on the pool. Changes to application package references affect all new compute nodes joining the pool, but do not affect compute nodes that are already in the pool until they are rebooted or reimaged. If omitted, or if you specify an empty collection, any existing application packages references are removed from the pool. - ApplicationPackageReferences *[]ApplicationPackageReference `json:"applicationPackageReferences,omitempty"` - // Metadata - This list replaces any existing metadata configured on the pool. If omitted, or if you specify an empty collection, any existing metadata is removed from the pool. - Metadata *[]MetadataItem `json:"metadata,omitempty"` -} - -// PoolUpgradeOSParameter ... -type PoolUpgradeOSParameter struct { - TargetOSVersion *string `json:"targetOSVersion,omitempty"` -} - -// PoolUsageMetrics ... -type PoolUsageMetrics struct { - PoolID *string `json:"poolId,omitempty"` - StartTime *date.Time `json:"startTime,omitempty"` - EndTime *date.Time `json:"endTime,omitempty"` - // VMSize - For information about available sizes of virtual machines for Cloud Services pools (pools created with cloudServiceConfiguration), see Sizes for Cloud Services (http://azure.microsoft.com/documentation/articles/cloud-services-sizes-specs/). Batch supports all Cloud Services VM sizes except ExtraSmall, STANDARD_A1_V2 and STANDARD_A2_V2. For information about available VM sizes for pools using images from the Virtual Machines Marketplace (pools created with virtualMachineConfiguration) see Sizes for Virtual Machines (Linux) (https://azure.microsoft.com/documentation/articles/virtual-machines-linux-sizes/) or Sizes for Virtual Machines (Windows) (https://azure.microsoft.com/documentation/articles/virtual-machines-windows-sizes/). Batch supports all Azure VM sizes except STANDARD_A0 and those with premium storage (STANDARD_GS, STANDARD_DS, and STANDARD_DSV2 series). - VMSize *string `json:"vmSize,omitempty"` - TotalCoreHours *float64 `json:"totalCoreHours,omitempty"` - DataIngressGiB *float64 `json:"dataIngressGiB,omitempty"` - DataEgressGiB *float64 `json:"dataEgressGiB,omitempty"` -} - -// ReadCloser ... -type ReadCloser struct { - autorest.Response `json:"-"` - Value *io.ReadCloser `json:"value,omitempty"` -} - -// RecentJob ... -type RecentJob struct { - ID *string `json:"id,omitempty"` - URL *string `json:"url,omitempty"` -} - -// ResizeError ... -type ResizeError struct { - Code *string `json:"code,omitempty"` - Message *string `json:"message,omitempty"` - Values *[]NameValuePair `json:"values,omitempty"` -} - -// ResourceFile ... -type ResourceFile struct { - // BlobSource - This URL must be readable using anonymous access; that is, the Batch service does not present any credentials when downloading the blob. There are two ways to get such a URL for a blob in Azure storage: include a Shared Access Signature (SAS) granting read permissions on the blob, or set the ACL for the blob or its container to allow public access. - BlobSource *string `json:"blobSource,omitempty"` - FilePath *string `json:"filePath,omitempty"` - // FileMode - This property applies only to files being downloaded to Linux compute nodes. It will be ignored if it is specified for a resourceFile which will be downloaded to a Windows node. If this property is not specified for a Linux node, then a default value of 0770 is applied to the file. - FileMode *string `json:"fileMode,omitempty"` -} - -// ResourceStatistics ... -type ResourceStatistics struct { - StartTime *date.Time `json:"startTime,omitempty"` - LastUpdateTime *date.Time `json:"lastUpdateTime,omitempty"` - AvgCPUPercentage *float64 `json:"avgCPUPercentage,omitempty"` - AvgMemoryGiB *float64 `json:"avgMemoryGiB,omitempty"` - PeakMemoryGiB *float64 `json:"peakMemoryGiB,omitempty"` - AvgDiskGiB *float64 `json:"avgDiskGiB,omitempty"` - PeakDiskGiB *float64 `json:"peakDiskGiB,omitempty"` - DiskReadIOps *int64 `json:"diskReadIOps,omitempty"` - DiskWriteIOps *int64 `json:"diskWriteIOps,omitempty"` - DiskReadGiB *float64 `json:"diskReadGiB,omitempty"` - DiskWriteGiB *float64 `json:"diskWriteGiB,omitempty"` - NetworkReadGiB *float64 `json:"networkReadGiB,omitempty"` - NetworkWriteGiB *float64 `json:"networkWriteGiB,omitempty"` -} - -// Schedule ... -type Schedule struct { - // DoNotRunUntil - If you do not specify a doNotRunUntil time, the schedule becomes ready to create jobs immediately. - DoNotRunUntil *date.Time `json:"doNotRunUntil,omitempty"` - // DoNotRunAfter - If you do not specify a doNotRunAfter time, and you are creating a recurring job schedule, the job schedule will remain active until you explicitly terminate it. - DoNotRunAfter *date.Time `json:"doNotRunAfter,omitempty"` - // StartWindow - If a job is not created within the startWindow interval, then the 'opportunity' is lost; no job will be created until the next recurrence of the schedule. If the schedule is recurring, and the startWindow is longer than the recurrence interval, then this is equivalent to an infinite startWindow, because the job that is 'due' in one recurrenceInterval is not carried forward into the next recurrence interval. The default is infinite. The minimum value is 1 minute. If you specify a lower value, the Batch service rejects the schedule with an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). - StartWindow *string `json:"startWindow,omitempty"` - // RecurrenceInterval - Because a job schedule can have at most one active job under it at any given time, if it is time to create a new job under a job schedule, but the previous job is still running, the Batch service will not create the new job until the previous job finishes. If the previous job does not finish within the startWindow period of the new recurrenceInterval, then no new job will be scheduled for that interval. For recurring jobs, you should normally specify a jobManagerTask in the jobSpecification. If you do not use jobManagerTask, you will need an external process to monitor when jobs are created, add tasks to the jobs and terminate the jobs ready for the next recurrence. The default is that the schedule does not recur: one job is created, within the startWindow after the doNotRunUntil time, and the schedule is complete as soon as that job finishes. The minimum value is 1 minute. If you specify a lower value, the Batch service rejects the schedule with an error; if you are calling the REST API directly, the HTTP status code is 400 (Bad Request). - RecurrenceInterval *string `json:"recurrenceInterval,omitempty"` -} - -// StartTask ... -type StartTask struct { - // CommandLine - The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example using "cmd /c MyCommand" in Windows or "/bin/sh -c MyCommand" in Linux. - CommandLine *string `json:"commandLine,omitempty"` - // ContainerSettings - When this is specified, all directories recursively below the AZ_BATCH_NODE_ROOT_DIR (the root of Azure Batch directories on the node) are mapped into the container, all task environment variables are mapped into the container, and the task command line is executed in the container. - ContainerSettings *TaskContainerSettings `json:"containerSettings,omitempty"` - // ResourceFiles - Files listed under this element are located in the task's working directory. - ResourceFiles *[]ResourceFile `json:"resourceFiles,omitempty"` - EnvironmentSettings *[]EnvironmentSetting `json:"environmentSettings,omitempty"` - // UserIdentity - If omitted, the task runs as a non-administrative user unique to the task. - UserIdentity *UserIdentity `json:"userIdentity,omitempty"` - // MaxTaskRetryCount - The Batch service retries a task if its exit code is nonzero. Note that this value specifically controls the number of retries. The Batch service will try the task once, and may then retry up to this limit. For example, if the maximum retry count is 3, Batch tries the task up to 4 times (one initial try and 3 retries). If the maximum retry count is 0, the Batch service does not retry the task. If the maximum retry count is -1, the Batch service retries the task without limit. - MaxTaskRetryCount *int32 `json:"maxTaskRetryCount,omitempty"` - // WaitForSuccess - If true and the start task fails on a compute node, the Batch service retries the start task up to its maximum retry count (maxTaskRetryCount). If the task has still not completed successfully after all retries, then the Batch service marks the compute node unusable, and will not schedule tasks to it. This condition can be detected via the node state and failure info details. If false, the Batch service will not wait for the start task to complete. In this case, other tasks can start executing on the compute node while the start task is still running; and even if the start task fails, new tasks will continue to be scheduled on the node. The default is false. - WaitForSuccess *bool `json:"waitForSuccess,omitempty"` -} - -// StartTaskInformation ... -type StartTaskInformation struct { - // State - Possible values include: 'StartTaskStateRunning', 'StartTaskStateCompleted' - State StartTaskState `json:"state,omitempty"` - // StartTime - This value is reset every time the task is restarted or retried (that is, this is the most recent time at which the start task started running). - StartTime *date.Time `json:"startTime,omitempty"` - // EndTime - This is the end time of the most recent run of the start task, if that run has completed (even if that run failed and a retry is pending). This element is not present if the start task is currently running. - EndTime *date.Time `json:"endTime,omitempty"` - // ExitCode - This property is set only if the start task is in the completed state. In general, the exit code for a process reflects the specific convention implemented by the application developer for that process. If you use the exit code value to make decisions in your code, be sure that you know the exit code convention used by the application process. However, if the Batch service terminates the start task (due to timeout, or user termination via the API) you may see an operating system-defined exit code. - ExitCode *int32 `json:"exitCode,omitempty"` - // ContainerInfo - This property is set only if the task runs in a container context. - ContainerInfo *TaskContainerExecutionInformation `json:"containerInfo,omitempty"` - // FailureInfo - This property is set only if the task is in the completed state and encountered a failure. - FailureInfo *TaskFailureInformation `json:"failureInfo,omitempty"` - // RetryCount - Task application failures (non-zero exit code) are retried, pre-processing errors (the task could not be run) and file upload errors are not retried. The Batch service will retry the task up to the limit specified by the constraints. - RetryCount *int32 `json:"retryCount,omitempty"` - // LastRetryTime - This element is present only if the task was retried (i.e. retryCount is nonzero). If present, this is typically the same as startTime, but may be different if the task has been restarted for reasons other than retry; for example, if the compute node was rebooted during a retry, then the startTime is updated but the lastRetryTime is not. - LastRetryTime *date.Time `json:"lastRetryTime,omitempty"` - // Result - If the value is 'failed', then the details of the failure can be found in the failureInfo property. Possible values include: 'Success', 'Failure' - Result TaskExecutionResult `json:"result,omitempty"` -} - -// SubtaskInformation ... -type SubtaskInformation struct { - ID *int32 `json:"id,omitempty"` - NodeInfo *ComputeNodeInformation `json:"nodeInfo,omitempty"` - StartTime *date.Time `json:"startTime,omitempty"` - // EndTime - This property is set only if the subtask is in the Completed state. - EndTime *date.Time `json:"endTime,omitempty"` - // ExitCode - This property is set only if the subtask is in the completed state. In general, the exit code for a process reflects the specific convention implemented by the application developer for that process. If you use the exit code value to make decisions in your code, be sure that you know the exit code convention used by the application process. However, if the Batch service terminates the subtask (due to timeout, or user termination via the API) you may see an operating system-defined exit code. - ExitCode *int32 `json:"exitCode,omitempty"` - // ContainerInfo - This property is set only if the task runs in a container context. - ContainerInfo *TaskContainerExecutionInformation `json:"containerInfo,omitempty"` - // FailureInfo - This property is set only if the task is in the completed state and encountered a failure. - FailureInfo *TaskFailureInformation `json:"failureInfo,omitempty"` - // State - Possible values include: 'SubtaskStatePreparing', 'SubtaskStateRunning', 'SubtaskStateCompleted' - State SubtaskState `json:"state,omitempty"` - StateTransitionTime *date.Time `json:"stateTransitionTime,omitempty"` - // PreviousState - This property is not set if the subtask is in its initial running state. Possible values include: 'SubtaskStatePreparing', 'SubtaskStateRunning', 'SubtaskStateCompleted' - PreviousState SubtaskState `json:"previousState,omitempty"` - // PreviousStateTransitionTime - This property is not set if the subtask is in its initial running state. - PreviousStateTransitionTime *date.Time `json:"previousStateTransitionTime,omitempty"` - // Result - If the value is 'failed', then the details of the failure can be found in the failureInfo property. Possible values include: 'Success', 'Failure' - Result TaskExecutionResult `json:"result,omitempty"` -} - -// TaskAddCollectionParameter ... -type TaskAddCollectionParameter struct { - // Value - The total serialized size of this collection must be less than 4MB. If it is greater than 4MB (for example if each task has 100's of resource files or environment variables), the request will fail with code 'RequestBodyTooLarge' and should be retried again with fewer tasks. - Value *[]TaskAddParameter `json:"value,omitempty"` -} - -// TaskAddCollectionResult ... -type TaskAddCollectionResult struct { - autorest.Response `json:"-"` - Value *[]TaskAddResult `json:"value,omitempty"` -} - -// TaskAddParameter ... -type TaskAddParameter struct { - // ID - The ID can contain any combination of alphanumeric characters including hyphens and underscores, and cannot contain more than 64 characters. The ID is case-preserving and case-insensitive (that is, you may not have two IDs within a job that differ only by case). - ID *string `json:"id,omitempty"` - // DisplayName - The display name need not be unique and can contain any Unicode characters up to a maximum length of 1024. - DisplayName *string `json:"displayName,omitempty"` - // CommandLine - For multi-instance tasks, the command line is executed as the primary task, after the primary task and all subtasks have finished executing the coordination command line. The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example using "cmd /c MyCommand" in Windows or "/bin/sh -c MyCommand" in Linux. - CommandLine *string `json:"commandLine,omitempty"` - // ContainerSettings - If the pool that will run this task has containerConfiguration set, this must be set as well. If the pool that will run this task doesn't have containerConfiguration set, this must not be set. When this is specified, all directories recursively below the AZ_BATCH_NODE_ROOT_DIR (the root of Azure Batch directories on the node) are mapped into the container, all task environment variables are mapped into the container, and the task command line is executed in the container. - ContainerSettings *TaskContainerSettings `json:"containerSettings,omitempty"` - // ExitConditions - How the Batch service should respond when the task completes. - ExitConditions *ExitConditions `json:"exitConditions,omitempty"` - // ResourceFiles - For multi-instance tasks, the resource files will only be downloaded to the compute node on which the primary task is executed. - ResourceFiles *[]ResourceFile `json:"resourceFiles,omitempty"` - // OutputFiles - For multi-instance tasks, the files will only be uploaded from the compute node on which the primary task is executed. - OutputFiles *[]OutputFile `json:"outputFiles,omitempty"` - EnvironmentSettings *[]EnvironmentSetting `json:"environmentSettings,omitempty"` - AffinityInfo *AffinityInformation `json:"affinityInfo,omitempty"` - // Constraints - If you do not specify constraints, the maxTaskRetryCount is the maxTaskRetryCount specified for the job, and the maxWallClockTime and retentionTime are infinite. - Constraints *TaskConstraints `json:"constraints,omitempty"` - // UserIdentity - If omitted, the task runs as a non-administrative user unique to the task. - UserIdentity *UserIdentity `json:"userIdentity,omitempty"` - MultiInstanceSettings *MultiInstanceSettings `json:"multiInstanceSettings,omitempty"` - // DependsOn - This task will not be scheduled until all tasks that it depends on have completed successfully. If any of those tasks fail and exhaust their retry counts, this task will never be scheduled. If the job does not have usesTaskDependencies set to true, and this element is present, the request fails with error code TaskDependenciesNotSpecifiedOnJob. - DependsOn *TaskDependencies `json:"dependsOn,omitempty"` - // ApplicationPackageReferences - Application packages are downloaded and deployed to a shared directory, not the task working directory. Therefore, if a referenced package is already on the compute node, and is up to date, then it is not re-downloaded; the existing copy on the compute node is used. If a referenced application package cannot be installed, for example because the package has been deleted or because download failed, the task fails. - ApplicationPackageReferences *[]ApplicationPackageReference `json:"applicationPackageReferences,omitempty"` - // AuthenticationTokenSettings - If this property is set, the Batch service provides the task with an authentication token which can be used to authenticate Batch service operations without requiring an account access key. The token is provided via the AZ_BATCH_AUTHENTICATION_TOKEN environment variable. The operations that the task can carry out using the token depend on the settings. For example, a task can request job permissions in order to add other tasks to the job, or check the status of the job or of other tasks under the job. - AuthenticationTokenSettings *AuthenticationTokenSettings `json:"authenticationTokenSettings,omitempty"` -} - -// TaskAddResult ... -type TaskAddResult struct { - // Status - Possible values include: 'TaskAddStatusSuccess', 'TaskAddStatusClientError', 'TaskAddStatusServerError' - Status TaskAddStatus `json:"status,omitempty"` - TaskID *string `json:"taskId,omitempty"` - // ETag - You can use this to detect whether the task has changed between requests. In particular, you can be pass the ETag with an Update Task request to specify that your changes should take effect only if nobody else has modified the job in the meantime. - ETag *string `json:"eTag,omitempty"` - LastModified *date.Time `json:"lastModified,omitempty"` - Location *string `json:"location,omitempty"` - Error *Error `json:"error,omitempty"` -} - -// TaskConstraints ... -type TaskConstraints struct { - // MaxWallClockTime - If this is not specified, there is no time limit on how long the task may run. - MaxWallClockTime *string `json:"maxWallClockTime,omitempty"` - // RetentionTime - The default is infinite, i.e. the task directory will be retained until the compute node is removed or reimaged. - RetentionTime *string `json:"retentionTime,omitempty"` - // MaxTaskRetryCount - Note that this value specifically controls the number of retries. The Batch service will try the task once, and may then retry up to this limit. For example, if the maximum retry count is 3, Batch tries the task up to 4 times (one initial try and 3 retries). If the maximum retry count is 0, the Batch service does not retry the task. If the maximum retry count is -1, the Batch service retries the task without limit. - MaxTaskRetryCount *int32 `json:"maxTaskRetryCount,omitempty"` -} - -// TaskContainerExecutionInformation ... -type TaskContainerExecutionInformation struct { - ContainerID *string `json:"containerId,omitempty"` - // State - This is the state of the container according to the Docker service. It is equivalent to the status field returned by "docker inspect". - State *string `json:"state,omitempty"` - // Error - This is the detailed error string from the Docker service, if available. It is equivalent to the error field returned by "docker inspect". - Error *string `json:"error,omitempty"` -} - -// TaskContainerSettings ... -type TaskContainerSettings struct { - // ContainerRunOptions - These additional options are supplied as arguments to the "docker create" command, in addition to those controlled by the Batch Service. - ContainerRunOptions *string `json:"containerRunOptions,omitempty"` - // ImageName - This is the full image reference, as would be specified to "docker pull". If no tag is provided as part of the image name, the tag ":latest" is used as a default. - ImageName *string `json:"imageName,omitempty"` - // Registry - This setting can be omitted if was already provided at pool creation. - Registry *ContainerRegistry `json:"registry,omitempty"` -} - -// TaskCounts ... -type TaskCounts struct { - autorest.Response `json:"-"` - Active *int32 `json:"active,omitempty"` - Running *int32 `json:"running,omitempty"` - Completed *int32 `json:"completed,omitempty"` - Succeeded *int32 `json:"succeeded,omitempty"` - Failed *int32 `json:"failed,omitempty"` - // ValidationStatus - Possible values include: 'Validated', 'Unvalidated' - ValidationStatus TaskCountValidationStatus `json:"validationStatus,omitempty"` -} - -// TaskDependencies ... -type TaskDependencies struct { - // TaskIds - The taskIds collection is limited to 64000 characters total (i.e. the combined length of all task IDs). If the taskIds collection exceeds the maximum length, the Add Task request fails with error code TaskDependencyListTooLong. In this case consider using task ID ranges instead. - TaskIds *[]string `json:"taskIds,omitempty"` - TaskIDRanges *[]TaskIDRange `json:"taskIdRanges,omitempty"` -} - -// TaskExecutionInformation ... -type TaskExecutionInformation struct { - // StartTime - 'Running' corresponds to the running state, so if the task specifies resource files or application packages, then the start time reflects the time at which the task started downloading or deploying these. If the task has been restarted or retried, this is the most recent time at which the task started running. This property is present only for tasks that are in the running or completed state. - StartTime *date.Time `json:"startTime,omitempty"` - // EndTime - This property is set only if the task is in the Completed state. - EndTime *date.Time `json:"endTime,omitempty"` - // ExitCode - This property is set only if the task is in the completed state. In general, the exit code for a process reflects the specific convention implemented by the application developer for that process. If you use the exit code value to make decisions in your code, be sure that you know the exit code convention used by the application process. However, if the Batch service terminates the task (due to timeout, or user termination via the API) you may see an operating system-defined exit code. - ExitCode *int32 `json:"exitCode,omitempty"` - // ContainerInfo - This property is set only if the task runs in a container context. - ContainerInfo *TaskContainerExecutionInformation `json:"containerInfo,omitempty"` - // FailureInfo - This property is set only if the task is in the completed state and encountered a failure. - FailureInfo *TaskFailureInformation `json:"failureInfo,omitempty"` - // RetryCount - Task application failures (non-zero exit code) are retried, pre-processing errors (the task could not be run) and file upload errors are not retried. The Batch service will retry the task up to the limit specified by the constraints. - RetryCount *int32 `json:"retryCount,omitempty"` - // LastRetryTime - This element is present only if the task was retried (i.e. retryCount is nonzero). If present, this is typically the same as startTime, but may be different if the task has been restarted for reasons other than retry; for example, if the compute node was rebooted during a retry, then the startTime is updated but the lastRetryTime is not. - LastRetryTime *date.Time `json:"lastRetryTime,omitempty"` - // RequeueCount - When the user removes nodes from a pool (by resizing/shrinking the pool) or when the job is being disabled, the user can specify that running tasks on the nodes be requeued for execution. This count tracks how many times the task has been requeued for these reasons. - RequeueCount *int32 `json:"requeueCount,omitempty"` - // LastRequeueTime - This property is set only if the requeueCount is nonzero. - LastRequeueTime *date.Time `json:"lastRequeueTime,omitempty"` - // Result - If the value is 'failed', then the details of the failure can be found in the failureInfo property. Possible values include: 'Success', 'Failure' - Result TaskExecutionResult `json:"result,omitempty"` -} - -// TaskFailureInformation ... -type TaskFailureInformation struct { - // Category - Possible values include: 'UserError', 'ServerError' - Category ErrorCategory `json:"category,omitempty"` - Code *string `json:"code,omitempty"` - Message *string `json:"message,omitempty"` - Details *[]NameValuePair `json:"details,omitempty"` -} - -// TaskIDRange the start and end of the range are inclusive. For example, if a range has start 9 and end 12, then -// it represents tasks '9', '10', '11' and '12'. -type TaskIDRange struct { - Start *int32 `json:"start,omitempty"` - End *int32 `json:"end,omitempty"` -} - -// TaskInformation ... -type TaskInformation struct { - TaskURL *string `json:"taskUrl,omitempty"` - JobID *string `json:"jobId,omitempty"` - TaskID *string `json:"taskId,omitempty"` - SubtaskID *int32 `json:"subtaskId,omitempty"` - // TaskState - Possible values include: 'TaskStateActive', 'TaskStatePreparing', 'TaskStateRunning', 'TaskStateCompleted' - TaskState TaskState `json:"taskState,omitempty"` - ExecutionInfo *TaskExecutionInformation `json:"executionInfo,omitempty"` -} - -// TaskSchedulingPolicy ... -type TaskSchedulingPolicy struct { - // NodeFillType - Possible values include: 'Spread', 'Pack' - NodeFillType ComputeNodeFillType `json:"nodeFillType,omitempty"` -} - -// TaskStatistics ... -type TaskStatistics struct { - URL *string `json:"url,omitempty"` - StartTime *date.Time `json:"startTime,omitempty"` - LastUpdateTime *date.Time `json:"lastUpdateTime,omitempty"` - UserCPUTime *string `json:"userCPUTime,omitempty"` - KernelCPUTime *string `json:"kernelCPUTime,omitempty"` - // WallClockTime - The wall clock time is the elapsed time from when the task started running on a compute node to when it finished (or to the last time the statistics were updated, if the task had not finished by then). If the task was retried, this includes the wall clock time of all the task retries. - WallClockTime *string `json:"wallClockTime,omitempty"` - ReadIOps *int64 `json:"readIOps,omitempty"` - WriteIOps *int64 `json:"writeIOps,omitempty"` - ReadIOGiB *float64 `json:"readIOGiB,omitempty"` - WriteIOGiB *float64 `json:"writeIOGiB,omitempty"` - WaitTime *string `json:"waitTime,omitempty"` -} - -// TaskUpdateParameter ... -type TaskUpdateParameter struct { - // Constraints - If omitted, the task is given the default constraints. For multi-instance tasks, updating the retention time applies only to the primary task and not subtasks. - Constraints *TaskConstraints `json:"constraints,omitempty"` -} - -// UsageStatistics ... -type UsageStatistics struct { - StartTime *date.Time `json:"startTime,omitempty"` - LastUpdateTime *date.Time `json:"lastUpdateTime,omitempty"` - DedicatedCoreTime *string `json:"dedicatedCoreTime,omitempty"` -} - -// UserAccount ... -type UserAccount struct { - Name *string `json:"name,omitempty"` - Password *string `json:"password,omitempty"` - // ElevationLevel - nonAdmin - The auto user is a standard user without elevated access. admin - The auto user is a user with elevated access and operates with full Administrator permissions. The default value is nonAdmin. Possible values include: 'NonAdmin', 'Admin' - ElevationLevel ElevationLevel `json:"elevationLevel,omitempty"` - // LinuxUserConfiguration - This property is ignored if specified on a Windows pool. If not specified, the user is created with the default options. - LinuxUserConfiguration *LinuxUserConfiguration `json:"linuxUserConfiguration,omitempty"` -} - -// UserIdentity specify either the userName or autoUser property, but not both. -type UserIdentity struct { - // UserName - The userName and autoUser properties are mutually exclusive; you must specify one but not both. - UserName *string `json:"username,omitempty"` - // AutoUser - The userName and autoUser properties are mutually exclusive; you must specify one but not both. - AutoUser *AutoUserSpecification `json:"autoUser,omitempty"` -} - -// VirtualMachineConfiguration ... -type VirtualMachineConfiguration struct { - ImageReference *ImageReference `json:"imageReference,omitempty"` - OsDisk *OSDisk `json:"osDisk,omitempty"` - // NodeAgentSKUID - The Batch node agent is a program that runs on each node in the pool, and provides the command-and-control interface between the node and the Batch service. There are different implementations of the node agent, known as SKUs, for different operating systems. You must specify a node agent SKU which matches the selected image reference. To get the list of supported node agent SKUs along with their list of verified image references, see the 'List supported node agent SKUs' operation. - NodeAgentSKUID *string `json:"nodeAgentSKUId,omitempty"` - // WindowsConfiguration - This property must not be specified if the imageReference or osDisk property specifies a Linux OS image. - WindowsConfiguration *WindowsConfiguration `json:"windowsConfiguration,omitempty"` - // DataDisks - This property must be specified if the compute nodes in the pool need to have empty data disks attached to them. This cannot be updated. Each node gets its own disk (the disk is not a file share). Existing disks cannot be attached, each attached disk is empty. When the node is removed from the pool, the disk and all data associated with it is also deleted. The disk is not formatted after being attached, it must be formatted before use - for more information see https://docs.microsoft.com/en-us/azure/virtual-machines/linux/classic/attach-disk#initialize-a-new-data-disk-in-linux and https://docs.microsoft.com/en-us/azure/virtual-machines/windows/attach-disk-ps#add-an-empty-data-disk-to-a-virtual-machine. - DataDisks *[]DataDisk `json:"dataDisks,omitempty"` - // LicenseType - This only applies to images that contain the Windows operating system, and should only be used when you hold valid on-premises licenses for the nodes which will be deployed. If omitted, no on-premises licensing discount is applied. Values are: - // Windows_Server - The on-premises license is for Windows Server. - // Windows_Client - The on-premises license is for Windows Client. - LicenseType *string `json:"licenseType,omitempty"` - // ContainerConfiguration - If specified, setup is performed on each node in the pool to allow tasks to run in containers. All regular tasks and job manager tasks run on this pool must specify the containerSettings property, and all other tasks may specify it. - ContainerConfiguration *ContainerConfiguration `json:"containerConfiguration,omitempty"` -} - -// WindowsConfiguration ... -type WindowsConfiguration struct { - // EnableAutomaticUpdates - If omitted, the default value is true. - EnableAutomaticUpdates *bool `json:"enableAutomaticUpdates,omitempty"` -} diff --git a/services/batch/2017-09-01.6.0/batch/pool.go b/services/batch/2017-09-01.6.0/batch/pool.go deleted file mode 100644 index b9846a345fb4..000000000000 --- a/services/batch/2017-09-01.6.0/batch/pool.go +++ /dev/null @@ -1,1897 +0,0 @@ -package batch - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/autorest/date" - "github.com/Azure/go-autorest/autorest/validation" - "github.com/satori/go.uuid" - "net/http" -) - -// PoolClient is the a client for issuing REST requests to the Azure Batch service. -type PoolClient struct { - BaseClient -} - -// NewPoolClient creates an instance of the PoolClient client. -func NewPoolClient() PoolClient { - return NewPoolClientWithBaseURI(DefaultBaseURI) -} - -// NewPoolClientWithBaseURI creates an instance of the PoolClient client. -func NewPoolClientWithBaseURI(baseURI string) PoolClient { - return PoolClient{NewWithBaseURI(baseURI)} -} - -// Add when naming pools, avoid including sensitive information such as user names or secret project names. This -// information may appear in telemetry logs accessible to Microsoft Support engineers. -// -// pool is the pool to be added. timeout is the maximum time that the server can spend processing the request, in -// seconds. The default is 30 seconds. clientRequestID is the caller-generated request identity, in the form of a -// GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID -// is whether the server should return the client-request-id in the response. ocpDate is the time the request was -// issued. Client libraries typically set this to the current system clock time; set it explicitly if you are -// calling the REST API directly. -func (client PoolClient) Add(ctx context.Context, pool PoolAddParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: pool, - Constraints: []validation.Constraint{{Target: "pool.ID", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "pool.VMSize", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "pool.CloudServiceConfiguration", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "pool.CloudServiceConfiguration.OsFamily", Name: validation.Null, Rule: true, Chain: nil}}}, - {Target: "pool.VirtualMachineConfiguration", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "pool.VirtualMachineConfiguration.ImageReference", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "pool.VirtualMachineConfiguration.NodeAgentSKUID", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "pool.VirtualMachineConfiguration.ContainerConfiguration", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "pool.VirtualMachineConfiguration.ContainerConfiguration.Type", Name: validation.Null, Rule: true, Chain: nil}}}, - }}, - {Target: "pool.NetworkConfiguration", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "pool.NetworkConfiguration.EndpointConfiguration", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "pool.NetworkConfiguration.EndpointConfiguration.InboundNATPools", Name: validation.Null, Rule: true, Chain: nil}}}, - }}, - {Target: "pool.StartTask", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "pool.StartTask.CommandLine", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "pool.StartTask.ContainerSettings", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "pool.StartTask.ContainerSettings.ImageName", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "pool.StartTask.ContainerSettings.Registry", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "pool.StartTask.ContainerSettings.Registry.UserName", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "pool.StartTask.ContainerSettings.Registry.Password", Name: validation.Null, Rule: true, Chain: nil}, - }}, - }}, - }}}}}); err != nil { - return result, validation.NewError("batch.PoolClient", "Add", err.Error()) - } - - req, err := client.AddPreparer(ctx, pool, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Add", nil, "Failure preparing request") - return - } - - resp, err := client.AddSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Add", resp, "Failure sending request") - return - } - - result, err = client.AddResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Add", resp, "Failure responding to request") - } - - return -} - -// AddPreparer prepares the Add request. -func (client PoolClient) AddPreparer(ctx context.Context, pool PoolAddParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - const APIVersion = "2017-09-01.6.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPath("/pools"), - autorest.WithJSON(pool), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// AddSender sends the Add request. The method will close the -// http.Response Body if it receives an error. -func (client PoolClient) AddSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// AddResponder handles the response to the Add request. The method always -// closes the http.Response Body. -func (client PoolClient) AddResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), - autorest.ByClosing()) - result.Response = resp - return -} - -// Delete when you request that a pool be deleted, the following actions occur: the pool state is set to deleting; any -// ongoing resize operation on the pool are stopped; the Batch service starts resizing the pool to zero nodes; any -// tasks running on existing nodes are terminated and requeued (as if a resize pool operation had been requested with -// the default requeue option); finally, the pool is removed from the system. Because running tasks are requeued, the -// user can rerun these tasks by updating their job to target a different pool. The tasks can then run on the new pool. -// If you want to override the requeue behavior, then you should call resize pool explicitly to shrink the pool to zero -// size before deleting the pool. If you call an Update, Patch or Delete API on a pool in the deleting state, it will -// fail with HTTP status code 409 with error code PoolBeingDeleted. -// -// poolID is the ID of the pool to delete. timeout is the maximum time that the server can spend processing the -// request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated request identity, in the -// form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. -// returnClientRequestID is whether the server should return the client-request-id in the response. ocpDate is the -// time the request was issued. Client libraries typically set this to the current system clock time; set it -// explicitly if you are calling the REST API directly. ifMatch is an ETag value associated with the version of the -// resource known to the client. The operation will be performed only if the resource's current ETag on the service -// exactly matches the value specified by the client. ifNoneMatch is an ETag value associated with the version of -// the resource known to the client. The operation will be performed only if the resource's current ETag on the -// service does not match the value specified by the client. ifModifiedSince is a timestamp indicating the last -// modified time of the resource known to the client. The operation will be performed only if the resource on the -// service has been modified since the specified time. ifUnmodifiedSince is a timestamp indicating the last -// modified time of the resource known to the client. The operation will be performed only if the resource on the -// service has not been modified since the specified time. -func (client PoolClient) Delete(ctx context.Context, poolID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.DeletePreparer(ctx, poolID, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Delete", nil, "Failure preparing request") - return - } - - resp, err := client.DeleteSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Delete", resp, "Failure sending request") - return - } - - result, err = client.DeleteResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Delete", resp, "Failure responding to request") - } - - return -} - -// DeletePreparer prepares the Delete request. -func (client PoolClient) DeletePreparer(ctx context.Context, poolID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2017-09-01.6.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsDelete(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DeleteSender sends the Delete request. The method will close the -// http.Response Body if it receives an error. -func (client PoolClient) DeleteSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// DeleteResponder handles the response to the Delete request. The method always -// closes the http.Response Body. -func (client PoolClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByClosing()) - result.Response = resp - return -} - -// DisableAutoScale sends the disable auto scale request. -// -// poolID is the ID of the pool on which to disable automatic scaling. timeout is the maximum time that the server -// can spend processing the request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated -// request identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. -func (client PoolClient) DisableAutoScale(ctx context.Context, poolID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.DisableAutoScalePreparer(ctx, poolID, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "DisableAutoScale", nil, "Failure preparing request") - return - } - - resp, err := client.DisableAutoScaleSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.PoolClient", "DisableAutoScale", resp, "Failure sending request") - return - } - - result, err = client.DisableAutoScaleResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "DisableAutoScale", resp, "Failure responding to request") - } - - return -} - -// DisableAutoScalePreparer prepares the DisableAutoScale request. -func (client PoolClient) DisableAutoScalePreparer(ctx context.Context, poolID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2017-09-01.6.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/disableautoscale", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DisableAutoScaleSender sends the DisableAutoScale request. The method will close the -// http.Response Body if it receives an error. -func (client PoolClient) DisableAutoScaleSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// DisableAutoScaleResponder handles the response to the DisableAutoScale request. The method always -// closes the http.Response Body. -func (client PoolClient) DisableAutoScaleResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} - -// EnableAutoScale you cannot enable automatic scaling on a pool if a resize operation is in progress on the pool. If -// automatic scaling of the pool is currently disabled, you must specify a valid autoscale formula as part of the -// request. If automatic scaling of the pool is already enabled, you may specify a new autoscale formula and/or a new -// evaluation interval. You cannot call this API for the same pool more than once every 30 seconds. -// -// poolID is the ID of the pool on which to enable automatic scaling. poolEnableAutoScaleParameter is the -// parameters for the request. timeout is the maximum time that the server can spend processing the request, in -// seconds. The default is 30 seconds. clientRequestID is the caller-generated request identity, in the form of a -// GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID -// is whether the server should return the client-request-id in the response. ocpDate is the time the request was -// issued. Client libraries typically set this to the current system clock time; set it explicitly if you are -// calling the REST API directly. ifMatch is an ETag value associated with the version of the resource known to the -// client. The operation will be performed only if the resource's current ETag on the service exactly matches the -// value specified by the client. ifNoneMatch is an ETag value associated with the version of the resource known to -// the client. The operation will be performed only if the resource's current ETag on the service does not match -// the value specified by the client. ifModifiedSince is a timestamp indicating the last modified time of the -// resource known to the client. The operation will be performed only if the resource on the service has been -// modified since the specified time. ifUnmodifiedSince is a timestamp indicating the last modified time of the -// resource known to the client. The operation will be performed only if the resource on the service has not been -// modified since the specified time. -func (client PoolClient) EnableAutoScale(ctx context.Context, poolID string, poolEnableAutoScaleParameter PoolEnableAutoScaleParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.EnableAutoScalePreparer(ctx, poolID, poolEnableAutoScaleParameter, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "EnableAutoScale", nil, "Failure preparing request") - return - } - - resp, err := client.EnableAutoScaleSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.PoolClient", "EnableAutoScale", resp, "Failure sending request") - return - } - - result, err = client.EnableAutoScaleResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "EnableAutoScale", resp, "Failure responding to request") - } - - return -} - -// EnableAutoScalePreparer prepares the EnableAutoScale request. -func (client PoolClient) EnableAutoScalePreparer(ctx context.Context, poolID string, poolEnableAutoScaleParameter PoolEnableAutoScaleParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2017-09-01.6.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/enableautoscale", pathParameters), - autorest.WithJSON(poolEnableAutoScaleParameter), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// EnableAutoScaleSender sends the EnableAutoScale request. The method will close the -// http.Response Body if it receives an error. -func (client PoolClient) EnableAutoScaleSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// EnableAutoScaleResponder handles the response to the EnableAutoScale request. The method always -// closes the http.Response Body. -func (client PoolClient) EnableAutoScaleResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} - -// EvaluateAutoScale this API is primarily for validating an autoscale formula, as it simply returns the result without -// applying the formula to the pool. The pool must have auto scaling enabled in order to evaluate a formula. -// -// poolID is the ID of the pool on which to evaluate the automatic scaling formula. poolEvaluateAutoScaleParameter -// is the parameters for the request. timeout is the maximum time that the server can spend processing the request, -// in seconds. The default is 30 seconds. clientRequestID is the caller-generated request identity, in the form of -// a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID -// is whether the server should return the client-request-id in the response. ocpDate is the time the request was -// issued. Client libraries typically set this to the current system clock time; set it explicitly if you are -// calling the REST API directly. -func (client PoolClient) EvaluateAutoScale(ctx context.Context, poolID string, poolEvaluateAutoScaleParameter PoolEvaluateAutoScaleParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result AutoScaleRun, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: poolEvaluateAutoScaleParameter, - Constraints: []validation.Constraint{{Target: "poolEvaluateAutoScaleParameter.AutoScaleFormula", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { - return result, validation.NewError("batch.PoolClient", "EvaluateAutoScale", err.Error()) - } - - req, err := client.EvaluateAutoScalePreparer(ctx, poolID, poolEvaluateAutoScaleParameter, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "EvaluateAutoScale", nil, "Failure preparing request") - return - } - - resp, err := client.EvaluateAutoScaleSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.PoolClient", "EvaluateAutoScale", resp, "Failure sending request") - return - } - - result, err = client.EvaluateAutoScaleResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "EvaluateAutoScale", resp, "Failure responding to request") - } - - return -} - -// EvaluateAutoScalePreparer prepares the EvaluateAutoScale request. -func (client PoolClient) EvaluateAutoScalePreparer(ctx context.Context, poolID string, poolEvaluateAutoScaleParameter PoolEvaluateAutoScaleParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2017-09-01.6.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/evaluateautoscale", pathParameters), - autorest.WithJSON(poolEvaluateAutoScaleParameter), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// EvaluateAutoScaleSender sends the EvaluateAutoScale request. The method will close the -// http.Response Body if it receives an error. -func (client PoolClient) EvaluateAutoScaleSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// EvaluateAutoScaleResponder handles the response to the EvaluateAutoScale request. The method always -// closes the http.Response Body. -func (client PoolClient) EvaluateAutoScaleResponder(resp *http.Response) (result AutoScaleRun, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// Exists gets basic properties of a pool. -// -// poolID is the ID of the pool to get. timeout is the maximum time that the server can spend processing the -// request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated request identity, in the -// form of a GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. -// returnClientRequestID is whether the server should return the client-request-id in the response. ocpDate is the -// time the request was issued. Client libraries typically set this to the current system clock time; set it -// explicitly if you are calling the REST API directly. ifMatch is an ETag value associated with the version of the -// resource known to the client. The operation will be performed only if the resource's current ETag on the service -// exactly matches the value specified by the client. ifNoneMatch is an ETag value associated with the version of -// the resource known to the client. The operation will be performed only if the resource's current ETag on the -// service does not match the value specified by the client. ifModifiedSince is a timestamp indicating the last -// modified time of the resource known to the client. The operation will be performed only if the resource on the -// service has been modified since the specified time. ifUnmodifiedSince is a timestamp indicating the last -// modified time of the resource known to the client. The operation will be performed only if the resource on the -// service has not been modified since the specified time. -func (client PoolClient) Exists(ctx context.Context, poolID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.ExistsPreparer(ctx, poolID, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Exists", nil, "Failure preparing request") - return - } - - resp, err := client.ExistsSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Exists", resp, "Failure sending request") - return - } - - result, err = client.ExistsResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Exists", resp, "Failure responding to request") - } - - return -} - -// ExistsPreparer prepares the Exists request. -func (client PoolClient) ExistsPreparer(ctx context.Context, poolID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2017-09-01.6.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsHead(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ExistsSender sends the Exists request. The method will close the -// http.Response Body if it receives an error. -func (client PoolClient) ExistsSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ExistsResponder handles the response to the Exists request. The method always -// closes the http.Response Body. -func (client PoolClient) ExistsResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), - autorest.ByClosing()) - result.Response = resp - return -} - -// Get gets information about the specified pool. -// -// poolID is the ID of the pool to get. selectParameter is an OData $select clause. expand is an OData $expand -// clause. timeout is the maximum time that the server can spend processing the request, in seconds. The default is -// 30 seconds. clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration -// such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server -// should return the client-request-id in the response. ocpDate is the time the request was issued. Client -// libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API -// directly. ifMatch is an ETag value associated with the version of the resource known to the client. The -// operation will be performed only if the resource's current ETag on the service exactly matches the value -// specified by the client. ifNoneMatch is an ETag value associated with the version of the resource known to the -// client. The operation will be performed only if the resource's current ETag on the service does not match the -// value specified by the client. ifModifiedSince is a timestamp indicating the last modified time of the resource -// known to the client. The operation will be performed only if the resource on the service has been modified since -// the specified time. ifUnmodifiedSince is a timestamp indicating the last modified time of the resource known to -// the client. The operation will be performed only if the resource on the service has not been modified since the -// specified time. -func (client PoolClient) Get(ctx context.Context, poolID string, selectParameter string, expand string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result CloudPool, err error) { - req, err := client.GetPreparer(ctx, poolID, selectParameter, expand, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Get", nil, "Failure preparing request") - return - } - - resp, err := client.GetSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Get", resp, "Failure sending request") - return - } - - result, err = client.GetResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Get", resp, "Failure responding to request") - } - - return -} - -// GetPreparer prepares the Get request. -func (client PoolClient) GetPreparer(ctx context.Context, poolID string, selectParameter string, expand string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2017-09-01.6.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(selectParameter) > 0 { - queryParameters["$select"] = autorest.Encode("query", selectParameter) - } - if len(expand) > 0 { - queryParameters["$expand"] = autorest.Encode("query", expand) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetSender sends the Get request. The method will close the -// http.Response Body if it receives an error. -func (client PoolClient) GetSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// GetResponder handles the response to the Get request. The method always -// closes the http.Response Body. -func (client PoolClient) GetResponder(resp *http.Response) (result CloudPool, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// GetAllLifetimeStatistics statistics are aggregated across all pools that have ever existed in the account, from -// account creation to the last update time of the statistics. -// -// timeout is the maximum time that the server can spend processing the request, in seconds. The default is 30 -// seconds. clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such -// as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should -// return the client-request-id in the response. ocpDate is the time the request was issued. Client libraries -// typically set this to the current system clock time; set it explicitly if you are calling the REST API directly. -func (client PoolClient) GetAllLifetimeStatistics(ctx context.Context, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result PoolStatistics, err error) { - req, err := client.GetAllLifetimeStatisticsPreparer(ctx, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "GetAllLifetimeStatistics", nil, "Failure preparing request") - return - } - - resp, err := client.GetAllLifetimeStatisticsSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.PoolClient", "GetAllLifetimeStatistics", resp, "Failure sending request") - return - } - - result, err = client.GetAllLifetimeStatisticsResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "GetAllLifetimeStatistics", resp, "Failure responding to request") - } - - return -} - -// GetAllLifetimeStatisticsPreparer prepares the GetAllLifetimeStatistics request. -func (client PoolClient) GetAllLifetimeStatisticsPreparer(ctx context.Context, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - const APIVersion = "2017-09-01.6.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPath("/lifetimepoolstats"), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetAllLifetimeStatisticsSender sends the GetAllLifetimeStatistics request. The method will close the -// http.Response Body if it receives an error. -func (client PoolClient) GetAllLifetimeStatisticsSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// GetAllLifetimeStatisticsResponder handles the response to the GetAllLifetimeStatistics request. The method always -// closes the http.Response Body. -func (client PoolClient) GetAllLifetimeStatisticsResponder(resp *http.Response) (result PoolStatistics, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// List sends the list request. -// -// filter is an OData $filter clause. For more information on constructing this filter, see -// https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-pools. selectParameter is an -// OData $select clause. expand is an OData $expand clause. maxResults is the maximum number of items to return in -// the response. A maximum of 1000 pools can be returned. timeout is the maximum time that the server can spend -// processing the request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated request -// identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. -func (client PoolClient) List(ctx context.Context, filter string, selectParameter string, expand string, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result CloudPoolListResultPage, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: maxResults, - Constraints: []validation.Constraint{{Target: "maxResults", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "maxResults", Name: validation.InclusiveMaximum, Rule: 1000, Chain: nil}, - {Target: "maxResults", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}, - }}}}}); err != nil { - return result, validation.NewError("batch.PoolClient", "List", err.Error()) - } - - result.fn = client.listNextResults - req, err := client.ListPreparer(ctx, filter, selectParameter, expand, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "List", nil, "Failure preparing request") - return - } - - resp, err := client.ListSender(req) - if err != nil { - result.cplr.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.PoolClient", "List", resp, "Failure sending request") - return - } - - result.cplr, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "List", resp, "Failure responding to request") - } - - return -} - -// ListPreparer prepares the List request. -func (client PoolClient) ListPreparer(ctx context.Context, filter string, selectParameter string, expand string, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - const APIVersion = "2017-09-01.6.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(filter) > 0 { - queryParameters["$filter"] = autorest.Encode("query", filter) - } - if len(selectParameter) > 0 { - queryParameters["$select"] = autorest.Encode("query", selectParameter) - } - if len(expand) > 0 { - queryParameters["$expand"] = autorest.Encode("query", expand) - } - if maxResults != nil { - queryParameters["maxresults"] = autorest.Encode("query", *maxResults) - } else { - queryParameters["maxresults"] = autorest.Encode("query", 1000) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPath("/pools"), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListSender sends the List request. The method will close the -// http.Response Body if it receives an error. -func (client PoolClient) ListSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ListResponder handles the response to the List request. The method always -// closes the http.Response Body. -func (client PoolClient) ListResponder(resp *http.Response) (result CloudPoolListResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listNextResults retrieves the next set of results, if any. -func (client PoolClient) listNextResults(lastResults CloudPoolListResult) (result CloudPoolListResult, err error) { - req, err := lastResults.cloudPoolListResultPreparer() - if err != nil { - return result, autorest.NewErrorWithError(err, "batch.PoolClient", "listNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "batch.PoolClient", "listNextResults", resp, "Failure sending next results request") - } - result, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "listNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListComplete enumerates all values, automatically crossing page boundaries as required. -func (client PoolClient) ListComplete(ctx context.Context, filter string, selectParameter string, expand string, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result CloudPoolListResultIterator, err error) { - result.page, err = client.List(ctx, filter, selectParameter, expand, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - return -} - -// ListUsageMetrics if you do not specify a $filter clause including a poolId, the response includes all pools that -// existed in the account in the time range of the returned aggregation intervals. If you do not specify a $filter -// clause including a startTime or endTime these filters default to the start and end times of the last aggregation -// interval currently available; that is, only the last aggregation interval is returned. -// -// startTime is the earliest time from which to include metrics. This must be at least two and a half hours before -// the current time. If not specified this defaults to the start time of the last aggregation interval currently -// available. endTime is the latest time from which to include metrics. This must be at least two hours before the -// current time. If not specified this defaults to the end time of the last aggregation interval currently -// available. filter is an OData $filter clause. For more information on constructing this filter, see -// https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-account-usage-metrics. -// maxResults is the maximum number of items to return in the response. A maximum of 1000 results will be returned. -// timeout is the maximum time that the server can spend processing the request, in seconds. The default is 30 -// seconds. clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such -// as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should -// return the client-request-id in the response. ocpDate is the time the request was issued. Client libraries -// typically set this to the current system clock time; set it explicitly if you are calling the REST API directly. -func (client PoolClient) ListUsageMetrics(ctx context.Context, startTime *date.Time, endTime *date.Time, filter string, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result PoolListUsageMetricsResultPage, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: maxResults, - Constraints: []validation.Constraint{{Target: "maxResults", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "maxResults", Name: validation.InclusiveMaximum, Rule: 1000, Chain: nil}, - {Target: "maxResults", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}, - }}}}}); err != nil { - return result, validation.NewError("batch.PoolClient", "ListUsageMetrics", err.Error()) - } - - result.fn = client.listUsageMetricsNextResults - req, err := client.ListUsageMetricsPreparer(ctx, startTime, endTime, filter, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "ListUsageMetrics", nil, "Failure preparing request") - return - } - - resp, err := client.ListUsageMetricsSender(req) - if err != nil { - result.plumr.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.PoolClient", "ListUsageMetrics", resp, "Failure sending request") - return - } - - result.plumr, err = client.ListUsageMetricsResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "ListUsageMetrics", resp, "Failure responding to request") - } - - return -} - -// ListUsageMetricsPreparer prepares the ListUsageMetrics request. -func (client PoolClient) ListUsageMetricsPreparer(ctx context.Context, startTime *date.Time, endTime *date.Time, filter string, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - const APIVersion = "2017-09-01.6.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if startTime != nil { - queryParameters["starttime"] = autorest.Encode("query", *startTime) - } - if endTime != nil { - queryParameters["endtime"] = autorest.Encode("query", *endTime) - } - if len(filter) > 0 { - queryParameters["$filter"] = autorest.Encode("query", filter) - } - if maxResults != nil { - queryParameters["maxresults"] = autorest.Encode("query", *maxResults) - } else { - queryParameters["maxresults"] = autorest.Encode("query", 1000) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPath("/poolusagemetrics"), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListUsageMetricsSender sends the ListUsageMetrics request. The method will close the -// http.Response Body if it receives an error. -func (client PoolClient) ListUsageMetricsSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ListUsageMetricsResponder handles the response to the ListUsageMetrics request. The method always -// closes the http.Response Body. -func (client PoolClient) ListUsageMetricsResponder(resp *http.Response) (result PoolListUsageMetricsResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listUsageMetricsNextResults retrieves the next set of results, if any. -func (client PoolClient) listUsageMetricsNextResults(lastResults PoolListUsageMetricsResult) (result PoolListUsageMetricsResult, err error) { - req, err := lastResults.poolListUsageMetricsResultPreparer() - if err != nil { - return result, autorest.NewErrorWithError(err, "batch.PoolClient", "listUsageMetricsNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListUsageMetricsSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "batch.PoolClient", "listUsageMetricsNextResults", resp, "Failure sending next results request") - } - result, err = client.ListUsageMetricsResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "listUsageMetricsNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListUsageMetricsComplete enumerates all values, automatically crossing page boundaries as required. -func (client PoolClient) ListUsageMetricsComplete(ctx context.Context, startTime *date.Time, endTime *date.Time, filter string, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result PoolListUsageMetricsResultIterator, err error) { - result.page, err = client.ListUsageMetrics(ctx, startTime, endTime, filter, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - return -} - -// Patch this only replaces the pool properties specified in the request. For example, if the pool has a start task -// associated with it, and a request does not specify a start task element, then the pool keeps the existing start -// task. -// -// poolID is the ID of the pool to update. poolPatchParameter is the parameters for the request. timeout is the -// maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. -// clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such as curly -// braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. ifMatch is an -// ETag value associated with the version of the resource known to the client. The operation will be performed only -// if the resource's current ETag on the service exactly matches the value specified by the client. ifNoneMatch is -// an ETag value associated with the version of the resource known to the client. The operation will be performed -// only if the resource's current ETag on the service does not match the value specified by the client. -// ifModifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has been modified since the specified time. -// ifUnmodifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has not been modified since the specified time. -func (client PoolClient) Patch(ctx context.Context, poolID string, poolPatchParameter PoolPatchParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.PatchPreparer(ctx, poolID, poolPatchParameter, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Patch", nil, "Failure preparing request") - return - } - - resp, err := client.PatchSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Patch", resp, "Failure sending request") - return - } - - result, err = client.PatchResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Patch", resp, "Failure responding to request") - } - - return -} - -// PatchPreparer prepares the Patch request. -func (client PoolClient) PatchPreparer(ctx context.Context, poolID string, poolPatchParameter PoolPatchParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2017-09-01.6.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPatch(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}", pathParameters), - autorest.WithJSON(poolPatchParameter), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// PatchSender sends the Patch request. The method will close the -// http.Response Body if it receives an error. -func (client PoolClient) PatchSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// PatchResponder handles the response to the Patch request. The method always -// closes the http.Response Body. -func (client PoolClient) PatchResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} - -// RemoveNodes this operation can only run when the allocation state of the pool is steady. When this operation runs, -// the allocation state changes from steady to resizing. -// -// poolID is the ID of the pool from which you want to remove nodes. nodeRemoveParameter is the parameters for the -// request. timeout is the maximum time that the server can spend processing the request, in seconds. The default -// is 30 seconds. clientRequestID is the caller-generated request identity, in the form of a GUID with no -// decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the -// server should return the client-request-id in the response. ocpDate is the time the request was issued. Client -// libraries typically set this to the current system clock time; set it explicitly if you are calling the REST API -// directly. ifMatch is an ETag value associated with the version of the resource known to the client. The -// operation will be performed only if the resource's current ETag on the service exactly matches the value -// specified by the client. ifNoneMatch is an ETag value associated with the version of the resource known to the -// client. The operation will be performed only if the resource's current ETag on the service does not match the -// value specified by the client. ifModifiedSince is a timestamp indicating the last modified time of the resource -// known to the client. The operation will be performed only if the resource on the service has been modified since -// the specified time. ifUnmodifiedSince is a timestamp indicating the last modified time of the resource known to -// the client. The operation will be performed only if the resource on the service has not been modified since the -// specified time. -func (client PoolClient) RemoveNodes(ctx context.Context, poolID string, nodeRemoveParameter NodeRemoveParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: nodeRemoveParameter, - Constraints: []validation.Constraint{{Target: "nodeRemoveParameter.NodeList", Name: validation.Null, Rule: true, - Chain: []validation.Constraint{{Target: "nodeRemoveParameter.NodeList", Name: validation.MaxItems, Rule: 100, Chain: nil}}}}}}); err != nil { - return result, validation.NewError("batch.PoolClient", "RemoveNodes", err.Error()) - } - - req, err := client.RemoveNodesPreparer(ctx, poolID, nodeRemoveParameter, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "RemoveNodes", nil, "Failure preparing request") - return - } - - resp, err := client.RemoveNodesSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.PoolClient", "RemoveNodes", resp, "Failure sending request") - return - } - - result, err = client.RemoveNodesResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "RemoveNodes", resp, "Failure responding to request") - } - - return -} - -// RemoveNodesPreparer prepares the RemoveNodes request. -func (client PoolClient) RemoveNodesPreparer(ctx context.Context, poolID string, nodeRemoveParameter NodeRemoveParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2017-09-01.6.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/removenodes", pathParameters), - autorest.WithJSON(nodeRemoveParameter), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// RemoveNodesSender sends the RemoveNodes request. The method will close the -// http.Response Body if it receives an error. -func (client PoolClient) RemoveNodesSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// RemoveNodesResponder handles the response to the RemoveNodes request. The method always -// closes the http.Response Body. -func (client PoolClient) RemoveNodesResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByClosing()) - result.Response = resp - return -} - -// Resize you can only resize a pool when its allocation state is steady. If the pool is already resizing, the request -// fails with status code 409. When you resize a pool, the pool's allocation state changes from steady to resizing. You -// cannot resize pools which are configured for automatic scaling. If you try to do this, the Batch service returns an -// error 409. If you resize a pool downwards, the Batch service chooses which nodes to remove. To remove specific -// nodes, use the pool remove nodes API instead. -// -// poolID is the ID of the pool to resize. poolResizeParameter is the parameters for the request. timeout is the -// maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. -// clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such as curly -// braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. ifMatch is an -// ETag value associated with the version of the resource known to the client. The operation will be performed only -// if the resource's current ETag on the service exactly matches the value specified by the client. ifNoneMatch is -// an ETag value associated with the version of the resource known to the client. The operation will be performed -// only if the resource's current ETag on the service does not match the value specified by the client. -// ifModifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has been modified since the specified time. -// ifUnmodifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has not been modified since the specified time. -func (client PoolClient) Resize(ctx context.Context, poolID string, poolResizeParameter PoolResizeParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.ResizePreparer(ctx, poolID, poolResizeParameter, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Resize", nil, "Failure preparing request") - return - } - - resp, err := client.ResizeSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Resize", resp, "Failure sending request") - return - } - - result, err = client.ResizeResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "Resize", resp, "Failure responding to request") - } - - return -} - -// ResizePreparer prepares the Resize request. -func (client PoolClient) ResizePreparer(ctx context.Context, poolID string, poolResizeParameter PoolResizeParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2017-09-01.6.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/resize", pathParameters), - autorest.WithJSON(poolResizeParameter), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ResizeSender sends the Resize request. The method will close the -// http.Response Body if it receives an error. -func (client PoolClient) ResizeSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ResizeResponder handles the response to the Resize request. The method always -// closes the http.Response Body. -func (client PoolClient) ResizeResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByClosing()) - result.Response = resp - return -} - -// StopResize this does not restore the pool to its previous state before the resize operation: it only stops any -// further changes being made, and the pool maintains its current state. After stopping, the pool stabilizes at the -// number of nodes it was at when the stop operation was done. During the stop operation, the pool allocation state -// changes first to stopping and then to steady. A resize operation need not be an explicit resize pool request; this -// API can also be used to halt the initial sizing of the pool when it is created. -// -// poolID is the ID of the pool whose resizing you want to stop. timeout is the maximum time that the server can -// spend processing the request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated -// request identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. ifMatch is an -// ETag value associated with the version of the resource known to the client. The operation will be performed only -// if the resource's current ETag on the service exactly matches the value specified by the client. ifNoneMatch is -// an ETag value associated with the version of the resource known to the client. The operation will be performed -// only if the resource's current ETag on the service does not match the value specified by the client. -// ifModifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has been modified since the specified time. -// ifUnmodifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has not been modified since the specified time. -func (client PoolClient) StopResize(ctx context.Context, poolID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.StopResizePreparer(ctx, poolID, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "StopResize", nil, "Failure preparing request") - return - } - - resp, err := client.StopResizeSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.PoolClient", "StopResize", resp, "Failure sending request") - return - } - - result, err = client.StopResizeResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "StopResize", resp, "Failure responding to request") - } - - return -} - -// StopResizePreparer prepares the StopResize request. -func (client PoolClient) StopResizePreparer(ctx context.Context, poolID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2017-09-01.6.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/stopresize", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// StopResizeSender sends the StopResize request. The method will close the -// http.Response Body if it receives an error. -func (client PoolClient) StopResizeSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// StopResizeResponder handles the response to the StopResize request. The method always -// closes the http.Response Body. -func (client PoolClient) StopResizeResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByClosing()) - result.Response = resp - return -} - -// UpdateProperties this fully replaces all the updateable properties of the pool. For example, if the pool has a start -// task associated with it and if start task is not specified with this request, then the Batch service will remove the -// existing start task. -// -// poolID is the ID of the pool to update. poolUpdatePropertiesParameter is the parameters for the request. timeout -// is the maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. -// clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such as curly -// braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. -func (client PoolClient) UpdateProperties(ctx context.Context, poolID string, poolUpdatePropertiesParameter PoolUpdatePropertiesParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: poolUpdatePropertiesParameter, - Constraints: []validation.Constraint{{Target: "poolUpdatePropertiesParameter.StartTask", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "poolUpdatePropertiesParameter.StartTask.CommandLine", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "poolUpdatePropertiesParameter.StartTask.ContainerSettings", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "poolUpdatePropertiesParameter.StartTask.ContainerSettings.ImageName", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "poolUpdatePropertiesParameter.StartTask.ContainerSettings.Registry", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "poolUpdatePropertiesParameter.StartTask.ContainerSettings.Registry.UserName", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "poolUpdatePropertiesParameter.StartTask.ContainerSettings.Registry.Password", Name: validation.Null, Rule: true, Chain: nil}, - }}, - }}, - }}, - {Target: "poolUpdatePropertiesParameter.CertificateReferences", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "poolUpdatePropertiesParameter.ApplicationPackageReferences", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "poolUpdatePropertiesParameter.Metadata", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { - return result, validation.NewError("batch.PoolClient", "UpdateProperties", err.Error()) - } - - req, err := client.UpdatePropertiesPreparer(ctx, poolID, poolUpdatePropertiesParameter, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "UpdateProperties", nil, "Failure preparing request") - return - } - - resp, err := client.UpdatePropertiesSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.PoolClient", "UpdateProperties", resp, "Failure sending request") - return - } - - result, err = client.UpdatePropertiesResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "UpdateProperties", resp, "Failure responding to request") - } - - return -} - -// UpdatePropertiesPreparer prepares the UpdateProperties request. -func (client PoolClient) UpdatePropertiesPreparer(ctx context.Context, poolID string, poolUpdatePropertiesParameter PoolUpdatePropertiesParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2017-09-01.6.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/updateproperties", pathParameters), - autorest.WithJSON(poolUpdatePropertiesParameter), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// UpdatePropertiesSender sends the UpdateProperties request. The method will close the -// http.Response Body if it receives an error. -func (client PoolClient) UpdatePropertiesSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// UpdatePropertiesResponder handles the response to the UpdateProperties request. The method always -// closes the http.Response Body. -func (client PoolClient) UpdatePropertiesResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), - autorest.ByClosing()) - result.Response = resp - return -} - -// UpgradeOS during an upgrade, the Batch service upgrades each compute node in the pool. When a compute node is chosen -// for upgrade, any tasks running on that node are removed from the node and returned to the queue to be rerun later -// (or on a different compute node). The node will be unavailable until the upgrade is complete. This operation results -// in temporarily reduced pool capacity as nodes are taken out of service to be upgraded. Although the Batch service -// tries to avoid upgrading all compute nodes at the same time, it does not guarantee to do this (particularly on small -// pools); therefore, the pool may be temporarily unavailable to run tasks. When this operation runs, the pool state -// changes to upgrading. When all compute nodes have finished upgrading, the pool state returns to active. While the -// upgrade is in progress, the pool's currentOSVersion reflects the OS version that nodes are upgrading from, and -// targetOSVersion reflects the OS version that nodes are upgrading to. Once the upgrade is complete, currentOSVersion -// is updated to reflect the OS version now running on all nodes. This operation can only be invoked on pools created -// with the cloudServiceConfiguration property. -// -// poolID is the ID of the pool to upgrade. poolUpgradeOSParameter is the parameters for the request. timeout is -// the maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. -// clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such as curly -// braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. ifMatch is an -// ETag value associated with the version of the resource known to the client. The operation will be performed only -// if the resource's current ETag on the service exactly matches the value specified by the client. ifNoneMatch is -// an ETag value associated with the version of the resource known to the client. The operation will be performed -// only if the resource's current ETag on the service does not match the value specified by the client. -// ifModifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has been modified since the specified time. -// ifUnmodifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has not been modified since the specified time. -func (client PoolClient) UpgradeOS(ctx context.Context, poolID string, poolUpgradeOSParameter PoolUpgradeOSParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: poolUpgradeOSParameter, - Constraints: []validation.Constraint{{Target: "poolUpgradeOSParameter.TargetOSVersion", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { - return result, validation.NewError("batch.PoolClient", "UpgradeOS", err.Error()) - } - - req, err := client.UpgradeOSPreparer(ctx, poolID, poolUpgradeOSParameter, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "UpgradeOS", nil, "Failure preparing request") - return - } - - resp, err := client.UpgradeOSSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.PoolClient", "UpgradeOS", resp, "Failure sending request") - return - } - - result, err = client.UpgradeOSResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.PoolClient", "UpgradeOS", resp, "Failure responding to request") - } - - return -} - -// UpgradeOSPreparer prepares the UpgradeOS request. -func (client PoolClient) UpgradeOSPreparer(ctx context.Context, poolID string, poolUpgradeOSParameter PoolUpgradeOSParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "poolId": autorest.Encode("path", poolID), - } - - const APIVersion = "2017-09-01.6.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/pools/{poolId}/upgradeos", pathParameters), - autorest.WithJSON(poolUpgradeOSParameter), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// UpgradeOSSender sends the UpgradeOS request. The method will close the -// http.Response Body if it receives an error. -func (client PoolClient) UpgradeOSSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// UpgradeOSResponder handles the response to the UpgradeOS request. The method always -// closes the http.Response Body. -func (client PoolClient) UpgradeOSResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByClosing()) - result.Response = resp - return -} diff --git a/services/batch/2017-09-01.6.0/batch/task.go b/services/batch/2017-09-01.6.0/batch/task.go deleted file mode 100644 index f2f82a81ff7b..000000000000 --- a/services/batch/2017-09-01.6.0/batch/task.go +++ /dev/null @@ -1,1081 +0,0 @@ -package batch - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/autorest/date" - "github.com/Azure/go-autorest/autorest/validation" - "github.com/satori/go.uuid" - "net/http" -) - -// TaskClient is the a client for issuing REST requests to the Azure Batch service. -type TaskClient struct { - BaseClient -} - -// NewTaskClient creates an instance of the TaskClient client. -func NewTaskClient() TaskClient { - return NewTaskClientWithBaseURI(DefaultBaseURI) -} - -// NewTaskClientWithBaseURI creates an instance of the TaskClient client. -func NewTaskClientWithBaseURI(baseURI string) TaskClient { - return TaskClient{NewWithBaseURI(baseURI)} -} - -// Add the maximum lifetime of a task from addition to completion is 7 days. If a task has not completed within 7 days -// of being added it will be terminated by the Batch service and left in whatever state it was in at that time. -// -// jobID is the ID of the job to which the task is to be added. task is the task to be added. timeout is the -// maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. -// clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such as curly -// braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. -func (client TaskClient) Add(ctx context.Context, jobID string, task TaskAddParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result autorest.Response, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: task, - Constraints: []validation.Constraint{{Target: "task.ID", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "task.CommandLine", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "task.ContainerSettings", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "task.ContainerSettings.ImageName", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "task.ContainerSettings.Registry", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "task.ContainerSettings.Registry.UserName", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "task.ContainerSettings.Registry.Password", Name: validation.Null, Rule: true, Chain: nil}, - }}, - }}, - {Target: "task.AffinityInfo", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "task.AffinityInfo.AffinityID", Name: validation.Null, Rule: true, Chain: nil}}}, - {Target: "task.MultiInstanceSettings", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "task.MultiInstanceSettings.CoordinationCommandLine", Name: validation.Null, Rule: true, Chain: nil}}}}}}); err != nil { - return result, validation.NewError("batch.TaskClient", "Add", err.Error()) - } - - req, err := client.AddPreparer(ctx, jobID, task, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "Add", nil, "Failure preparing request") - return - } - - resp, err := client.AddSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.TaskClient", "Add", resp, "Failure sending request") - return - } - - result, err = client.AddResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "Add", resp, "Failure responding to request") - } - - return -} - -// AddPreparer prepares the Add request. -func (client TaskClient) AddPreparer(ctx context.Context, jobID string, task TaskAddParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - } - - const APIVersion = "2017-09-01.6.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}/tasks", pathParameters), - autorest.WithJSON(task), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// AddSender sends the Add request. The method will close the -// http.Response Body if it receives an error. -func (client TaskClient) AddSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// AddResponder handles the response to the Add request. The method always -// closes the http.Response Body. -func (client TaskClient) AddResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), - autorest.ByClosing()) - result.Response = resp - return -} - -// AddCollection note that each task must have a unique ID. The Batch service may not return the results for each task -// in the same order the tasks were submitted in this request. If the server times out or the connection is closed -// during the request, the request may have been partially or fully processed, or not at all. In such cases, the user -// should re-issue the request. Note that it is up to the user to correctly handle failures when re-issuing a request. -// For example, you should use the same task IDs during a retry so that if the prior operation succeeded, the retry -// will not create extra tasks unexpectedly. If the response contains any tasks which failed to add, a client can retry -// the request. In a retry, it is most efficient to resubmit only tasks that failed to add, and to omit tasks that were -// successfully added on the first attempt. The maximum lifetime of a task from addition to completion is 7 days. If a -// task has not completed within 7 days of being added it will be terminated by the Batch service and left in whatever -// state it was in at that time. -// -// jobID is the ID of the job to which the task collection is to be added. taskCollection is the tasks to be added. -// timeout is the maximum time that the server can spend processing the request, in seconds. The default is 30 -// seconds. clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such -// as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should -// return the client-request-id in the response. ocpDate is the time the request was issued. Client libraries -// typically set this to the current system clock time; set it explicitly if you are calling the REST API directly. -func (client TaskClient) AddCollection(ctx context.Context, jobID string, taskCollection TaskAddCollectionParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result TaskAddCollectionResult, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: taskCollection, - Constraints: []validation.Constraint{{Target: "taskCollection.Value", Name: validation.Null, Rule: true, - Chain: []validation.Constraint{{Target: "taskCollection.Value", Name: validation.MaxItems, Rule: 100, Chain: nil}}}}}}); err != nil { - return result, validation.NewError("batch.TaskClient", "AddCollection", err.Error()) - } - - req, err := client.AddCollectionPreparer(ctx, jobID, taskCollection, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "AddCollection", nil, "Failure preparing request") - return - } - - resp, err := client.AddCollectionSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.TaskClient", "AddCollection", resp, "Failure sending request") - return - } - - result, err = client.AddCollectionResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "AddCollection", resp, "Failure responding to request") - } - - return -} - -// AddCollectionPreparer prepares the AddCollection request. -func (client TaskClient) AddCollectionPreparer(ctx context.Context, jobID string, taskCollection TaskAddCollectionParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - } - - const APIVersion = "2017-09-01.6.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}/addtaskcollection", pathParameters), - autorest.WithJSON(taskCollection), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// AddCollectionSender sends the AddCollection request. The method will close the -// http.Response Body if it receives an error. -func (client TaskClient) AddCollectionSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// AddCollectionResponder handles the response to the AddCollection request. The method always -// closes the http.Response Body. -func (client TaskClient) AddCollectionResponder(resp *http.Response) (result TaskAddCollectionResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// Delete when a task is deleted, all of the files in its directory on the compute node where it ran are also deleted -// (regardless of the retention time). For multi-instance tasks, the delete task operation applies synchronously to the -// primary task; subtasks and their files are then deleted asynchronously in the background. -// -// jobID is the ID of the job from which to delete the task. taskID is the ID of the task to delete. timeout is the -// maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. -// clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such as curly -// braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. ifMatch is an -// ETag value associated with the version of the resource known to the client. The operation will be performed only -// if the resource's current ETag on the service exactly matches the value specified by the client. ifNoneMatch is -// an ETag value associated with the version of the resource known to the client. The operation will be performed -// only if the resource's current ETag on the service does not match the value specified by the client. -// ifModifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has been modified since the specified time. -// ifUnmodifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has not been modified since the specified time. -func (client TaskClient) Delete(ctx context.Context, jobID string, taskID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.DeletePreparer(ctx, jobID, taskID, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "Delete", nil, "Failure preparing request") - return - } - - resp, err := client.DeleteSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.TaskClient", "Delete", resp, "Failure sending request") - return - } - - result, err = client.DeleteResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "Delete", resp, "Failure responding to request") - } - - return -} - -// DeletePreparer prepares the Delete request. -func (client TaskClient) DeletePreparer(ctx context.Context, jobID string, taskID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - "taskId": autorest.Encode("path", taskID), - } - - const APIVersion = "2017-09-01.6.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsDelete(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}/tasks/{taskId}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DeleteSender sends the Delete request. The method will close the -// http.Response Body if it receives an error. -func (client TaskClient) DeleteSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// DeleteResponder handles the response to the Delete request. The method always -// closes the http.Response Body. -func (client TaskClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} - -// Get for multi-instance tasks, information such as affinityId, executionInfo and nodeInfo refer to the primary task. -// Use the list subtasks API to retrieve information about subtasks. -// -// jobID is the ID of the job that contains the task. taskID is the ID of the task to get information about. -// selectParameter is an OData $select clause. expand is an OData $expand clause. timeout is the maximum time that -// the server can spend processing the request, in seconds. The default is 30 seconds. clientRequestID is the -// caller-generated request identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. ifMatch is an -// ETag value associated with the version of the resource known to the client. The operation will be performed only -// if the resource's current ETag on the service exactly matches the value specified by the client. ifNoneMatch is -// an ETag value associated with the version of the resource known to the client. The operation will be performed -// only if the resource's current ETag on the service does not match the value specified by the client. -// ifModifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has been modified since the specified time. -// ifUnmodifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has not been modified since the specified time. -func (client TaskClient) Get(ctx context.Context, jobID string, taskID string, selectParameter string, expand string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result CloudTask, err error) { - req, err := client.GetPreparer(ctx, jobID, taskID, selectParameter, expand, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "Get", nil, "Failure preparing request") - return - } - - resp, err := client.GetSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.TaskClient", "Get", resp, "Failure sending request") - return - } - - result, err = client.GetResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "Get", resp, "Failure responding to request") - } - - return -} - -// GetPreparer prepares the Get request. -func (client TaskClient) GetPreparer(ctx context.Context, jobID string, taskID string, selectParameter string, expand string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - "taskId": autorest.Encode("path", taskID), - } - - const APIVersion = "2017-09-01.6.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(selectParameter) > 0 { - queryParameters["$select"] = autorest.Encode("query", selectParameter) - } - if len(expand) > 0 { - queryParameters["$expand"] = autorest.Encode("query", expand) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}/tasks/{taskId}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetSender sends the Get request. The method will close the -// http.Response Body if it receives an error. -func (client TaskClient) GetSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// GetResponder handles the response to the Get request. The method always -// closes the http.Response Body. -func (client TaskClient) GetResponder(resp *http.Response) (result CloudTask, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// List for multi-instance tasks, information such as affinityId, executionInfo and nodeInfo refer to the primary task. -// Use the list subtasks API to retrieve information about subtasks. -// -// jobID is the ID of the job. filter is an OData $filter clause. For more information on constructing this filter, -// see https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-tasks. selectParameter is -// an OData $select clause. expand is an OData $expand clause. maxResults is the maximum number of items to return -// in the response. A maximum of 1000 tasks can be returned. timeout is the maximum time that the server can spend -// processing the request, in seconds. The default is 30 seconds. clientRequestID is the caller-generated request -// identity, in the form of a GUID with no decoration such as curly braces, e.g. -// 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. -func (client TaskClient) List(ctx context.Context, jobID string, filter string, selectParameter string, expand string, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result CloudTaskListResultPage, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: maxResults, - Constraints: []validation.Constraint{{Target: "maxResults", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "maxResults", Name: validation.InclusiveMaximum, Rule: 1000, Chain: nil}, - {Target: "maxResults", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}, - }}}}}); err != nil { - return result, validation.NewError("batch.TaskClient", "List", err.Error()) - } - - result.fn = client.listNextResults - req, err := client.ListPreparer(ctx, jobID, filter, selectParameter, expand, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "List", nil, "Failure preparing request") - return - } - - resp, err := client.ListSender(req) - if err != nil { - result.ctlr.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.TaskClient", "List", resp, "Failure sending request") - return - } - - result.ctlr, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "List", resp, "Failure responding to request") - } - - return -} - -// ListPreparer prepares the List request. -func (client TaskClient) ListPreparer(ctx context.Context, jobID string, filter string, selectParameter string, expand string, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - } - - const APIVersion = "2017-09-01.6.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(filter) > 0 { - queryParameters["$filter"] = autorest.Encode("query", filter) - } - if len(selectParameter) > 0 { - queryParameters["$select"] = autorest.Encode("query", selectParameter) - } - if len(expand) > 0 { - queryParameters["$expand"] = autorest.Encode("query", expand) - } - if maxResults != nil { - queryParameters["maxresults"] = autorest.Encode("query", *maxResults) - } else { - queryParameters["maxresults"] = autorest.Encode("query", 1000) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}/tasks", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListSender sends the List request. The method will close the -// http.Response Body if it receives an error. -func (client TaskClient) ListSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ListResponder handles the response to the List request. The method always -// closes the http.Response Body. -func (client TaskClient) ListResponder(resp *http.Response) (result CloudTaskListResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listNextResults retrieves the next set of results, if any. -func (client TaskClient) listNextResults(lastResults CloudTaskListResult) (result CloudTaskListResult, err error) { - req, err := lastResults.cloudTaskListResultPreparer() - if err != nil { - return result, autorest.NewErrorWithError(err, "batch.TaskClient", "listNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "batch.TaskClient", "listNextResults", resp, "Failure sending next results request") - } - result, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "listNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListComplete enumerates all values, automatically crossing page boundaries as required. -func (client TaskClient) ListComplete(ctx context.Context, jobID string, filter string, selectParameter string, expand string, maxResults *int32, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result CloudTaskListResultIterator, err error) { - result.page, err = client.List(ctx, jobID, filter, selectParameter, expand, maxResults, timeout, clientRequestID, returnClientRequestID, ocpDate) - return -} - -// ListSubtasks if the task is not a multi-instance task then this returns an empty collection. -// -// jobID is the ID of the job. taskID is the ID of the task. selectParameter is an OData $select clause. timeout is -// the maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. -// clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such as curly -// braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. -func (client TaskClient) ListSubtasks(ctx context.Context, jobID string, taskID string, selectParameter string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (result CloudTaskListSubtasksResult, err error) { - req, err := client.ListSubtasksPreparer(ctx, jobID, taskID, selectParameter, timeout, clientRequestID, returnClientRequestID, ocpDate) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "ListSubtasks", nil, "Failure preparing request") - return - } - - resp, err := client.ListSubtasksSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "batch.TaskClient", "ListSubtasks", resp, "Failure sending request") - return - } - - result, err = client.ListSubtasksResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "ListSubtasks", resp, "Failure responding to request") - } - - return -} - -// ListSubtasksPreparer prepares the ListSubtasks request. -func (client TaskClient) ListSubtasksPreparer(ctx context.Context, jobID string, taskID string, selectParameter string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - "taskId": autorest.Encode("path", taskID), - } - - const APIVersion = "2017-09-01.6.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(selectParameter) > 0 { - queryParameters["$select"] = autorest.Encode("query", selectParameter) - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}/tasks/{taskId}/subtasksinfo", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListSubtasksSender sends the ListSubtasks request. The method will close the -// http.Response Body if it receives an error. -func (client TaskClient) ListSubtasksSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ListSubtasksResponder handles the response to the ListSubtasks request. The method always -// closes the http.Response Body. -func (client TaskClient) ListSubtasksResponder(resp *http.Response) (result CloudTaskListSubtasksResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// Reactivate reactivation makes a task eligible to be retried again up to its maximum retry count. The task's state is -// changed to active. As the task is no longer in the completed state, any previous exit code or failure information is -// no longer available after reactivation. Each time a task is reactivated, its retry count is reset to 0. Reactivation -// will fail for tasks that are not completed or that previously completed successfully (with an exit code of 0). -// Additionally, it will fail if the job has completed (or is terminating or deleting). -// -// jobID is the ID of the job containing the task. taskID is the ID of the task to reactivate. timeout is the -// maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. -// clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such as curly -// braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. ifMatch is an -// ETag value associated with the version of the resource known to the client. The operation will be performed only -// if the resource's current ETag on the service exactly matches the value specified by the client. ifNoneMatch is -// an ETag value associated with the version of the resource known to the client. The operation will be performed -// only if the resource's current ETag on the service does not match the value specified by the client. -// ifModifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has been modified since the specified time. -// ifUnmodifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has not been modified since the specified time. -func (client TaskClient) Reactivate(ctx context.Context, jobID string, taskID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.ReactivatePreparer(ctx, jobID, taskID, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "Reactivate", nil, "Failure preparing request") - return - } - - resp, err := client.ReactivateSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.TaskClient", "Reactivate", resp, "Failure sending request") - return - } - - result, err = client.ReactivateResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "Reactivate", resp, "Failure responding to request") - } - - return -} - -// ReactivatePreparer prepares the Reactivate request. -func (client TaskClient) ReactivatePreparer(ctx context.Context, jobID string, taskID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - "taskId": autorest.Encode("path", taskID), - } - - const APIVersion = "2017-09-01.6.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}/tasks/{taskId}/reactivate", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ReactivateSender sends the Reactivate request. The method will close the -// http.Response Body if it receives an error. -func (client TaskClient) ReactivateSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ReactivateResponder handles the response to the Reactivate request. The method always -// closes the http.Response Body. -func (client TaskClient) ReactivateResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), - autorest.ByClosing()) - result.Response = resp - return -} - -// Terminate when the task has been terminated, it moves to the completed state. For multi-instance tasks, the -// terminate task operation applies synchronously to the primary task; subtasks are then terminated asynchronously in -// the background. -// -// jobID is the ID of the job containing the task. taskID is the ID of the task to terminate. timeout is the -// maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. -// clientRequestID is the caller-generated request identity, in the form of a GUID with no decoration such as curly -// braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID is whether the server should return the -// client-request-id in the response. ocpDate is the time the request was issued. Client libraries typically set -// this to the current system clock time; set it explicitly if you are calling the REST API directly. ifMatch is an -// ETag value associated with the version of the resource known to the client. The operation will be performed only -// if the resource's current ETag on the service exactly matches the value specified by the client. ifNoneMatch is -// an ETag value associated with the version of the resource known to the client. The operation will be performed -// only if the resource's current ETag on the service does not match the value specified by the client. -// ifModifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has been modified since the specified time. -// ifUnmodifiedSince is a timestamp indicating the last modified time of the resource known to the client. The -// operation will be performed only if the resource on the service has not been modified since the specified time. -func (client TaskClient) Terminate(ctx context.Context, jobID string, taskID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.TerminatePreparer(ctx, jobID, taskID, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "Terminate", nil, "Failure preparing request") - return - } - - resp, err := client.TerminateSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.TaskClient", "Terminate", resp, "Failure sending request") - return - } - - result, err = client.TerminateResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "Terminate", resp, "Failure responding to request") - } - - return -} - -// TerminatePreparer prepares the Terminate request. -func (client TaskClient) TerminatePreparer(ctx context.Context, jobID string, taskID string, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - "taskId": autorest.Encode("path", taskID), - } - - const APIVersion = "2017-09-01.6.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}/tasks/{taskId}/terminate", pathParameters), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// TerminateSender sends the Terminate request. The method will close the -// http.Response Body if it receives an error. -func (client TaskClient) TerminateSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// TerminateResponder handles the response to the Terminate request. The method always -// closes the http.Response Body. -func (client TaskClient) TerminateResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), - autorest.ByClosing()) - result.Response = resp - return -} - -// Update updates the properties of the specified task. -// -// jobID is the ID of the job containing the task. taskID is the ID of the task to update. taskUpdateParameter is -// the parameters for the request. timeout is the maximum time that the server can spend processing the request, in -// seconds. The default is 30 seconds. clientRequestID is the caller-generated request identity, in the form of a -// GUID with no decoration such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. returnClientRequestID -// is whether the server should return the client-request-id in the response. ocpDate is the time the request was -// issued. Client libraries typically set this to the current system clock time; set it explicitly if you are -// calling the REST API directly. ifMatch is an ETag value associated with the version of the resource known to the -// client. The operation will be performed only if the resource's current ETag on the service exactly matches the -// value specified by the client. ifNoneMatch is an ETag value associated with the version of the resource known to -// the client. The operation will be performed only if the resource's current ETag on the service does not match -// the value specified by the client. ifModifiedSince is a timestamp indicating the last modified time of the -// resource known to the client. The operation will be performed only if the resource on the service has been -// modified since the specified time. ifUnmodifiedSince is a timestamp indicating the last modified time of the -// resource known to the client. The operation will be performed only if the resource on the service has not been -// modified since the specified time. -func (client TaskClient) Update(ctx context.Context, jobID string, taskID string, taskUpdateParameter TaskUpdateParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (result autorest.Response, err error) { - req, err := client.UpdatePreparer(ctx, jobID, taskID, taskUpdateParameter, timeout, clientRequestID, returnClientRequestID, ocpDate, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "Update", nil, "Failure preparing request") - return - } - - resp, err := client.UpdateSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "batch.TaskClient", "Update", resp, "Failure sending request") - return - } - - result, err = client.UpdateResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "batch.TaskClient", "Update", resp, "Failure responding to request") - } - - return -} - -// UpdatePreparer prepares the Update request. -func (client TaskClient) UpdatePreparer(ctx context.Context, jobID string, taskID string, taskUpdateParameter TaskUpdateParameter, timeout *int32, clientRequestID *uuid.UUID, returnClientRequestID *bool, ocpDate *date.TimeRFC1123, ifMatch string, ifNoneMatch string, ifModifiedSince *date.TimeRFC1123, ifUnmodifiedSince *date.TimeRFC1123) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobId": autorest.Encode("path", jobID), - "taskId": autorest.Encode("path", taskID), - } - - const APIVersion = "2017-09-01.6.0" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if timeout != nil { - queryParameters["timeout"] = autorest.Encode("query", *timeout) - } else { - queryParameters["timeout"] = autorest.Encode("query", 30) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; odata=minimalmetadata; charset=utf-8"), - autorest.AsPut(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/jobs/{jobId}/tasks/{taskId}", pathParameters), - autorest.WithJSON(taskUpdateParameter), - autorest.WithQueryParameters(queryParameters)) - if clientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("client-request-id", autorest.String(clientRequestID))) - } - if returnClientRequestID != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(returnClientRequestID))) - } else { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("return-client-request-id", autorest.String(false))) - } - if ocpDate != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("ocp-date", autorest.String(ocpDate))) - } - if len(ifMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Match", autorest.String(ifMatch))) - } - if len(ifNoneMatch) > 0 { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) - } - if ifModifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) - } - if ifUnmodifiedSince != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// UpdateSender sends the Update request. The method will close the -// http.Response Body if it receives an error. -func (client TaskClient) UpdateSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// UpdateResponder handles the response to the Update request. The method always -// closes the http.Response Body. -func (client TaskClient) UpdateResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} diff --git a/services/batch/2017-09-01.6.0/batch/version.go b/services/batch/2017-09-01.6.0/batch/version.go deleted file mode 100644 index 836672bf5620..000000000000 --- a/services/batch/2017-09-01.6.0/batch/version.go +++ /dev/null @@ -1,30 +0,0 @@ -package batch - -import "github.com/Azure/azure-sdk-for-go/version" - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -// UserAgent returns the UserAgent string to use when sending http.Requests. -func UserAgent() string { - return "Azure-SDK-For-Go/" + version.Number + " batch/2017-09-01.6.0" -} - -// Version returns the semantic version (see http://semver.org) of the client. -func Version() string { - return version.Number -} diff --git a/services/batch/mgmt/2019-08-01/batch/applicationpackage.go b/services/batch/mgmt/2019-08-01/batch/applicationpackage.go index a210f623ea73..b4611bcdad58 100644 --- a/services/batch/mgmt/2019-08-01/batch/applicationpackage.go +++ b/services/batch/mgmt/2019-08-01/batch/applicationpackage.go @@ -41,7 +41,8 @@ func NewApplicationPackageClientWithBaseURI(baseURI string, subscriptionID strin return ApplicationPackageClient{NewWithBaseURI(baseURI, subscriptionID)} } -// Activate activates the specified application package. +// Activate activates the specified application package. This should be done after the `ApplicationPackage` was created +// and uploaded. This needs to be done before an `ApplicationPackage` can be used on Pools or Tasks // Parameters: // resourceGroupName - the name of the resource group that contains the Batch account. // accountName - the name of the Batch account. @@ -143,7 +144,9 @@ func (client ApplicationPackageClient) ActivateResponder(resp *http.Response) (r return } -// Create creates an application package record. +// Create creates an application package record. The record contains the SAS where the package should be uploaded to. +// Once it is uploaded the `ApplicationPackage` needs to be activated using `ApplicationPackageActive` before it can be +// used. // Parameters: // resourceGroupName - the name of the resource group that contains the Batch account. // accountName - the name of the Batch account. diff --git a/services/cdn/mgmt/2019-04-15/cdn/models.go b/services/cdn/mgmt/2019-04-15/cdn/models.go index 504a6cac16d5..8d810a11a371 100644 --- a/services/cdn/mgmt/2019-04-15/cdn/models.go +++ b/services/cdn/mgmt/2019-04-15/cdn/models.go @@ -79,6 +79,35 @@ func PossibleCertificateTypeValues() []CertificateType { return []CertificateType{Dedicated, Shared} } +// CookiesOperator enumerates the values for cookies operator. +type CookiesOperator string + +const ( + // Any ... + Any CookiesOperator = "Any" + // BeginsWith ... + BeginsWith CookiesOperator = "BeginsWith" + // Contains ... + Contains CookiesOperator = "Contains" + // EndsWith ... + EndsWith CookiesOperator = "EndsWith" + // Equal ... + Equal CookiesOperator = "Equal" + // GreaterThan ... + GreaterThan CookiesOperator = "GreaterThan" + // GreaterThanOrEqual ... + GreaterThanOrEqual CookiesOperator = "GreaterThanOrEqual" + // LessThan ... + LessThan CookiesOperator = "LessThan" + // LessThanOrEqual ... + LessThanOrEqual CookiesOperator = "LessThanOrEqual" +) + +// PossibleCookiesOperatorValues returns an array of possible values for the CookiesOperator const type. +func PossibleCookiesOperatorValues() []CookiesOperator { + return []CookiesOperator{Any, BeginsWith, Contains, EndsWith, Equal, GreaterThan, GreaterThanOrEqual, LessThan, LessThanOrEqual} +} + // CustomDomainResourceState enumerates the values for custom domain resource state. type CustomDomainResourceState string @@ -224,8 +253,12 @@ func PossibleHeaderActionValues() []HeaderAction { type Name string const ( + // NameCookies ... + NameCookies Name = "Cookies" // NameDeliveryRuleCondition ... NameDeliveryRuleCondition Name = "DeliveryRuleCondition" + // NameHTTPVersion ... + NameHTTPVersion Name = "HttpVersion" // NameIsDevice ... NameIsDevice Name = "IsDevice" // NamePostArgs ... @@ -254,7 +287,7 @@ const ( // PossibleNameValues returns an array of possible values for the Name const type. func PossibleNameValues() []Name { - return []Name{NameDeliveryRuleCondition, NameIsDevice, NamePostArgs, NameQueryString, NameRemoteAddress, NameRequestBody, NameRequestHeader, NameRequestMethod, NameRequestScheme, NameRequestURI, NameURLFileExtension, NameURLFileName, NameURLPath} + return []Name{NameCookies, NameDeliveryRuleCondition, NameHTTPVersion, NameIsDevice, NamePostArgs, NameQueryString, NameRemoteAddress, NameRequestBody, NameRequestHeader, NameRequestMethod, NameRequestScheme, NameRequestURI, NameURLFileExtension, NameURLFileName, NameURLPath} } // NameBasicDeliveryRuleAction enumerates the values for name basic delivery rule action. @@ -324,29 +357,29 @@ func PossibleOriginResourceStateValues() []OriginResourceState { type PostArgsOperator string const ( - // Any ... - Any PostArgsOperator = "Any" - // BeginsWith ... - BeginsWith PostArgsOperator = "BeginsWith" - // Contains ... - Contains PostArgsOperator = "Contains" - // EndsWith ... - EndsWith PostArgsOperator = "EndsWith" - // Equal ... - Equal PostArgsOperator = "Equal" - // GreaterThan ... - GreaterThan PostArgsOperator = "GreaterThan" - // GreaterThanOrEqual ... - GreaterThanOrEqual PostArgsOperator = "GreaterThanOrEqual" - // LessThan ... - LessThan PostArgsOperator = "LessThan" - // LessThanOrEqual ... - LessThanOrEqual PostArgsOperator = "LessThanOrEqual" + // PostArgsOperatorAny ... + PostArgsOperatorAny PostArgsOperator = "Any" + // PostArgsOperatorBeginsWith ... + PostArgsOperatorBeginsWith PostArgsOperator = "BeginsWith" + // PostArgsOperatorContains ... + PostArgsOperatorContains PostArgsOperator = "Contains" + // PostArgsOperatorEndsWith ... + PostArgsOperatorEndsWith PostArgsOperator = "EndsWith" + // PostArgsOperatorEqual ... + PostArgsOperatorEqual PostArgsOperator = "Equal" + // PostArgsOperatorGreaterThan ... + PostArgsOperatorGreaterThan PostArgsOperator = "GreaterThan" + // PostArgsOperatorGreaterThanOrEqual ... + PostArgsOperatorGreaterThanOrEqual PostArgsOperator = "GreaterThanOrEqual" + // PostArgsOperatorLessThan ... + PostArgsOperatorLessThan PostArgsOperator = "LessThan" + // PostArgsOperatorLessThanOrEqual ... + PostArgsOperatorLessThanOrEqual PostArgsOperator = "LessThanOrEqual" ) // PossiblePostArgsOperatorValues returns an array of possible values for the PostArgsOperator const type. func PossiblePostArgsOperatorValues() []PostArgsOperator { - return []PostArgsOperator{Any, BeginsWith, Contains, EndsWith, Equal, GreaterThan, GreaterThanOrEqual, LessThan, LessThanOrEqual} + return []PostArgsOperator{PostArgsOperatorAny, PostArgsOperatorBeginsWith, PostArgsOperatorContains, PostArgsOperatorEndsWith, PostArgsOperatorEqual, PostArgsOperatorGreaterThan, PostArgsOperatorGreaterThanOrEqual, PostArgsOperatorLessThan, PostArgsOperatorLessThanOrEqual} } // ProfileResourceState enumerates the values for profile resource state. @@ -770,6 +803,21 @@ type CidrIPAddress struct { PrefixLength *int32 `json:"prefixLength,omitempty"` } +// CookiesMatchConditionParameters defines the parameters for Cookies match conditions +type CookiesMatchConditionParameters struct { + OdataType *string `json:"@odata.type,omitempty"` + // Selector - Name of Cookies to be matched + Selector *string `json:"selector,omitempty"` + // Operator - Describes operator to be matched. Possible values include: 'Any', 'Equal', 'Contains', 'BeginsWith', 'EndsWith', 'LessThan', 'LessThanOrEqual', 'GreaterThan', 'GreaterThanOrEqual' + Operator CookiesOperator `json:"operator,omitempty"` + // NegateCondition - Describes if this is negate condition or not + NegateCondition *bool `json:"negateCondition,omitempty"` + // MatchValues - The match value for the condition of the delivery rule + MatchValues *[]string `json:"matchValues,omitempty"` + // Transforms - List of transforms + Transforms *[]Transform `json:"transforms,omitempty"` +} + // CustomDomain friendly domain name mapping to the endpoint hostname that the customer provides for // branding purposes, e.g. www.contoso.com. type CustomDomain struct { @@ -1580,13 +1628,15 @@ type BasicDeliveryRuleCondition interface { AsDeliveryRuleURLPathCondition() (*DeliveryRuleURLPathCondition, bool) AsDeliveryRuleURLFileExtensionCondition() (*DeliveryRuleURLFileExtensionCondition, bool) AsDeliveryRuleURLFileNameCondition() (*DeliveryRuleURLFileNameCondition, bool) + AsDeliveryRuleHTTPVersionCondition() (*DeliveryRuleHTTPVersionCondition, bool) + AsDeliveryRuleCookiesCondition() (*DeliveryRuleCookiesCondition, bool) AsDeliveryRuleIsDeviceCondition() (*DeliveryRuleIsDeviceCondition, bool) AsDeliveryRuleCondition() (*DeliveryRuleCondition, bool) } // DeliveryRuleCondition a condition for the delivery rule. type DeliveryRuleCondition struct { - // Name - Possible values include: 'NameDeliveryRuleCondition', 'NameRemoteAddress', 'NameRequestMethod', 'NameQueryString', 'NamePostArgs', 'NameRequestURI', 'NameRequestHeader', 'NameRequestBody', 'NameRequestScheme', 'NameURLPath', 'NameURLFileExtension', 'NameURLFileName', 'NameIsDevice' + // Name - Possible values include: 'NameDeliveryRuleCondition', 'NameRemoteAddress', 'NameRequestMethod', 'NameQueryString', 'NamePostArgs', 'NameRequestURI', 'NameRequestHeader', 'NameRequestBody', 'NameRequestScheme', 'NameURLPath', 'NameURLFileExtension', 'NameURLFileName', 'NameHTTPVersion', 'NameCookies', 'NameIsDevice' Name Name `json:"name,omitempty"` } @@ -1642,6 +1692,14 @@ func unmarshalBasicDeliveryRuleCondition(body []byte) (BasicDeliveryRuleConditio var drufnc DeliveryRuleURLFileNameCondition err := json.Unmarshal(body, &drufnc) return drufnc, err + case string(NameHTTPVersion): + var drhvc DeliveryRuleHTTPVersionCondition + err := json.Unmarshal(body, &drhvc) + return drhvc, err + case string(NameCookies): + var drcc DeliveryRuleCookiesCondition + err := json.Unmarshal(body, &drcc) + return drcc, err case string(NameIsDevice): var dridc DeliveryRuleIsDeviceCondition err := json.Unmarshal(body, &dridc) @@ -1736,6 +1794,16 @@ func (drc DeliveryRuleCondition) AsDeliveryRuleURLFileNameCondition() (*Delivery return nil, false } +// AsDeliveryRuleHTTPVersionCondition is the BasicDeliveryRuleCondition implementation for DeliveryRuleCondition. +func (drc DeliveryRuleCondition) AsDeliveryRuleHTTPVersionCondition() (*DeliveryRuleHTTPVersionCondition, bool) { + return nil, false +} + +// AsDeliveryRuleCookiesCondition is the BasicDeliveryRuleCondition implementation for DeliveryRuleCondition. +func (drc DeliveryRuleCondition) AsDeliveryRuleCookiesCondition() (*DeliveryRuleCookiesCondition, bool) { + return nil, false +} + // AsDeliveryRuleIsDeviceCondition is the BasicDeliveryRuleCondition implementation for DeliveryRuleCondition. func (drc DeliveryRuleCondition) AsDeliveryRuleIsDeviceCondition() (*DeliveryRuleIsDeviceCondition, bool) { return nil, false @@ -1751,11 +1819,213 @@ func (drc DeliveryRuleCondition) AsBasicDeliveryRuleCondition() (BasicDeliveryRu return &drc, true } +// DeliveryRuleCookiesCondition defines the Cookies condition for the delivery rule. +type DeliveryRuleCookiesCondition struct { + // Parameters - Defines the parameters for the condition. + Parameters *CookiesMatchConditionParameters `json:"parameters,omitempty"` + // Name - Possible values include: 'NameDeliveryRuleCondition', 'NameRemoteAddress', 'NameRequestMethod', 'NameQueryString', 'NamePostArgs', 'NameRequestURI', 'NameRequestHeader', 'NameRequestBody', 'NameRequestScheme', 'NameURLPath', 'NameURLFileExtension', 'NameURLFileName', 'NameHTTPVersion', 'NameCookies', 'NameIsDevice' + Name Name `json:"name,omitempty"` +} + +// MarshalJSON is the custom marshaler for DeliveryRuleCookiesCondition. +func (drcc DeliveryRuleCookiesCondition) MarshalJSON() ([]byte, error) { + drcc.Name = NameCookies + objectMap := make(map[string]interface{}) + if drcc.Parameters != nil { + objectMap["parameters"] = drcc.Parameters + } + if drcc.Name != "" { + objectMap["name"] = drcc.Name + } + return json.Marshal(objectMap) +} + +// AsDeliveryRuleRemoteAddressCondition is the BasicDeliveryRuleCondition implementation for DeliveryRuleCookiesCondition. +func (drcc DeliveryRuleCookiesCondition) AsDeliveryRuleRemoteAddressCondition() (*DeliveryRuleRemoteAddressCondition, bool) { + return nil, false +} + +// AsDeliveryRuleRequestMethodCondition is the BasicDeliveryRuleCondition implementation for DeliveryRuleCookiesCondition. +func (drcc DeliveryRuleCookiesCondition) AsDeliveryRuleRequestMethodCondition() (*DeliveryRuleRequestMethodCondition, bool) { + return nil, false +} + +// AsDeliveryRuleQueryStringCondition is the BasicDeliveryRuleCondition implementation for DeliveryRuleCookiesCondition. +func (drcc DeliveryRuleCookiesCondition) AsDeliveryRuleQueryStringCondition() (*DeliveryRuleQueryStringCondition, bool) { + return nil, false +} + +// AsDeliveryRulePostArgsCondition is the BasicDeliveryRuleCondition implementation for DeliveryRuleCookiesCondition. +func (drcc DeliveryRuleCookiesCondition) AsDeliveryRulePostArgsCondition() (*DeliveryRulePostArgsCondition, bool) { + return nil, false +} + +// AsDeliveryRuleRequestURICondition is the BasicDeliveryRuleCondition implementation for DeliveryRuleCookiesCondition. +func (drcc DeliveryRuleCookiesCondition) AsDeliveryRuleRequestURICondition() (*DeliveryRuleRequestURICondition, bool) { + return nil, false +} + +// AsDeliveryRuleRequestHeaderCondition is the BasicDeliveryRuleCondition implementation for DeliveryRuleCookiesCondition. +func (drcc DeliveryRuleCookiesCondition) AsDeliveryRuleRequestHeaderCondition() (*DeliveryRuleRequestHeaderCondition, bool) { + return nil, false +} + +// AsDeliveryRuleRequestBodyCondition is the BasicDeliveryRuleCondition implementation for DeliveryRuleCookiesCondition. +func (drcc DeliveryRuleCookiesCondition) AsDeliveryRuleRequestBodyCondition() (*DeliveryRuleRequestBodyCondition, bool) { + return nil, false +} + +// AsDeliveryRuleRequestSchemeCondition is the BasicDeliveryRuleCondition implementation for DeliveryRuleCookiesCondition. +func (drcc DeliveryRuleCookiesCondition) AsDeliveryRuleRequestSchemeCondition() (*DeliveryRuleRequestSchemeCondition, bool) { + return nil, false +} + +// AsDeliveryRuleURLPathCondition is the BasicDeliveryRuleCondition implementation for DeliveryRuleCookiesCondition. +func (drcc DeliveryRuleCookiesCondition) AsDeliveryRuleURLPathCondition() (*DeliveryRuleURLPathCondition, bool) { + return nil, false +} + +// AsDeliveryRuleURLFileExtensionCondition is the BasicDeliveryRuleCondition implementation for DeliveryRuleCookiesCondition. +func (drcc DeliveryRuleCookiesCondition) AsDeliveryRuleURLFileExtensionCondition() (*DeliveryRuleURLFileExtensionCondition, bool) { + return nil, false +} + +// AsDeliveryRuleURLFileNameCondition is the BasicDeliveryRuleCondition implementation for DeliveryRuleCookiesCondition. +func (drcc DeliveryRuleCookiesCondition) AsDeliveryRuleURLFileNameCondition() (*DeliveryRuleURLFileNameCondition, bool) { + return nil, false +} + +// AsDeliveryRuleHTTPVersionCondition is the BasicDeliveryRuleCondition implementation for DeliveryRuleCookiesCondition. +func (drcc DeliveryRuleCookiesCondition) AsDeliveryRuleHTTPVersionCondition() (*DeliveryRuleHTTPVersionCondition, bool) { + return nil, false +} + +// AsDeliveryRuleCookiesCondition is the BasicDeliveryRuleCondition implementation for DeliveryRuleCookiesCondition. +func (drcc DeliveryRuleCookiesCondition) AsDeliveryRuleCookiesCondition() (*DeliveryRuleCookiesCondition, bool) { + return &drcc, true +} + +// AsDeliveryRuleIsDeviceCondition is the BasicDeliveryRuleCondition implementation for DeliveryRuleCookiesCondition. +func (drcc DeliveryRuleCookiesCondition) AsDeliveryRuleIsDeviceCondition() (*DeliveryRuleIsDeviceCondition, bool) { + return nil, false +} + +// AsDeliveryRuleCondition is the BasicDeliveryRuleCondition implementation for DeliveryRuleCookiesCondition. +func (drcc DeliveryRuleCookiesCondition) AsDeliveryRuleCondition() (*DeliveryRuleCondition, bool) { + return nil, false +} + +// AsBasicDeliveryRuleCondition is the BasicDeliveryRuleCondition implementation for DeliveryRuleCookiesCondition. +func (drcc DeliveryRuleCookiesCondition) AsBasicDeliveryRuleCondition() (BasicDeliveryRuleCondition, bool) { + return &drcc, true +} + +// DeliveryRuleHTTPVersionCondition defines the HttpVersion condition for the delivery rule. +type DeliveryRuleHTTPVersionCondition struct { + // Parameters - Defines the parameters for the condition. + Parameters *HTTPVersionMatchConditionParameters `json:"parameters,omitempty"` + // Name - Possible values include: 'NameDeliveryRuleCondition', 'NameRemoteAddress', 'NameRequestMethod', 'NameQueryString', 'NamePostArgs', 'NameRequestURI', 'NameRequestHeader', 'NameRequestBody', 'NameRequestScheme', 'NameURLPath', 'NameURLFileExtension', 'NameURLFileName', 'NameHTTPVersion', 'NameCookies', 'NameIsDevice' + Name Name `json:"name,omitempty"` +} + +// MarshalJSON is the custom marshaler for DeliveryRuleHTTPVersionCondition. +func (drhvc DeliveryRuleHTTPVersionCondition) MarshalJSON() ([]byte, error) { + drhvc.Name = NameHTTPVersion + objectMap := make(map[string]interface{}) + if drhvc.Parameters != nil { + objectMap["parameters"] = drhvc.Parameters + } + if drhvc.Name != "" { + objectMap["name"] = drhvc.Name + } + return json.Marshal(objectMap) +} + +// AsDeliveryRuleRemoteAddressCondition is the BasicDeliveryRuleCondition implementation for DeliveryRuleHTTPVersionCondition. +func (drhvc DeliveryRuleHTTPVersionCondition) AsDeliveryRuleRemoteAddressCondition() (*DeliveryRuleRemoteAddressCondition, bool) { + return nil, false +} + +// AsDeliveryRuleRequestMethodCondition is the BasicDeliveryRuleCondition implementation for DeliveryRuleHTTPVersionCondition. +func (drhvc DeliveryRuleHTTPVersionCondition) AsDeliveryRuleRequestMethodCondition() (*DeliveryRuleRequestMethodCondition, bool) { + return nil, false +} + +// AsDeliveryRuleQueryStringCondition is the BasicDeliveryRuleCondition implementation for DeliveryRuleHTTPVersionCondition. +func (drhvc DeliveryRuleHTTPVersionCondition) AsDeliveryRuleQueryStringCondition() (*DeliveryRuleQueryStringCondition, bool) { + return nil, false +} + +// AsDeliveryRulePostArgsCondition is the BasicDeliveryRuleCondition implementation for DeliveryRuleHTTPVersionCondition. +func (drhvc DeliveryRuleHTTPVersionCondition) AsDeliveryRulePostArgsCondition() (*DeliveryRulePostArgsCondition, bool) { + return nil, false +} + +// AsDeliveryRuleRequestURICondition is the BasicDeliveryRuleCondition implementation for DeliveryRuleHTTPVersionCondition. +func (drhvc DeliveryRuleHTTPVersionCondition) AsDeliveryRuleRequestURICondition() (*DeliveryRuleRequestURICondition, bool) { + return nil, false +} + +// AsDeliveryRuleRequestHeaderCondition is the BasicDeliveryRuleCondition implementation for DeliveryRuleHTTPVersionCondition. +func (drhvc DeliveryRuleHTTPVersionCondition) AsDeliveryRuleRequestHeaderCondition() (*DeliveryRuleRequestHeaderCondition, bool) { + return nil, false +} + +// AsDeliveryRuleRequestBodyCondition is the BasicDeliveryRuleCondition implementation for DeliveryRuleHTTPVersionCondition. +func (drhvc DeliveryRuleHTTPVersionCondition) AsDeliveryRuleRequestBodyCondition() (*DeliveryRuleRequestBodyCondition, bool) { + return nil, false +} + +// AsDeliveryRuleRequestSchemeCondition is the BasicDeliveryRuleCondition implementation for DeliveryRuleHTTPVersionCondition. +func (drhvc DeliveryRuleHTTPVersionCondition) AsDeliveryRuleRequestSchemeCondition() (*DeliveryRuleRequestSchemeCondition, bool) { + return nil, false +} + +// AsDeliveryRuleURLPathCondition is the BasicDeliveryRuleCondition implementation for DeliveryRuleHTTPVersionCondition. +func (drhvc DeliveryRuleHTTPVersionCondition) AsDeliveryRuleURLPathCondition() (*DeliveryRuleURLPathCondition, bool) { + return nil, false +} + +// AsDeliveryRuleURLFileExtensionCondition is the BasicDeliveryRuleCondition implementation for DeliveryRuleHTTPVersionCondition. +func (drhvc DeliveryRuleHTTPVersionCondition) AsDeliveryRuleURLFileExtensionCondition() (*DeliveryRuleURLFileExtensionCondition, bool) { + return nil, false +} + +// AsDeliveryRuleURLFileNameCondition is the BasicDeliveryRuleCondition implementation for DeliveryRuleHTTPVersionCondition. +func (drhvc DeliveryRuleHTTPVersionCondition) AsDeliveryRuleURLFileNameCondition() (*DeliveryRuleURLFileNameCondition, bool) { + return nil, false +} + +// AsDeliveryRuleHTTPVersionCondition is the BasicDeliveryRuleCondition implementation for DeliveryRuleHTTPVersionCondition. +func (drhvc DeliveryRuleHTTPVersionCondition) AsDeliveryRuleHTTPVersionCondition() (*DeliveryRuleHTTPVersionCondition, bool) { + return &drhvc, true +} + +// AsDeliveryRuleCookiesCondition is the BasicDeliveryRuleCondition implementation for DeliveryRuleHTTPVersionCondition. +func (drhvc DeliveryRuleHTTPVersionCondition) AsDeliveryRuleCookiesCondition() (*DeliveryRuleCookiesCondition, bool) { + return nil, false +} + +// AsDeliveryRuleIsDeviceCondition is the BasicDeliveryRuleCondition implementation for DeliveryRuleHTTPVersionCondition. +func (drhvc DeliveryRuleHTTPVersionCondition) AsDeliveryRuleIsDeviceCondition() (*DeliveryRuleIsDeviceCondition, bool) { + return nil, false +} + +// AsDeliveryRuleCondition is the BasicDeliveryRuleCondition implementation for DeliveryRuleHTTPVersionCondition. +func (drhvc DeliveryRuleHTTPVersionCondition) AsDeliveryRuleCondition() (*DeliveryRuleCondition, bool) { + return nil, false +} + +// AsBasicDeliveryRuleCondition is the BasicDeliveryRuleCondition implementation for DeliveryRuleHTTPVersionCondition. +func (drhvc DeliveryRuleHTTPVersionCondition) AsBasicDeliveryRuleCondition() (BasicDeliveryRuleCondition, bool) { + return &drhvc, true +} + // DeliveryRuleIsDeviceCondition defines the IsDevice condition for the delivery rule. type DeliveryRuleIsDeviceCondition struct { // Parameters - Defines the parameters for the condition. Parameters *IsDeviceMatchConditionParameters `json:"parameters,omitempty"` - // Name - Possible values include: 'NameDeliveryRuleCondition', 'NameRemoteAddress', 'NameRequestMethod', 'NameQueryString', 'NamePostArgs', 'NameRequestURI', 'NameRequestHeader', 'NameRequestBody', 'NameRequestScheme', 'NameURLPath', 'NameURLFileExtension', 'NameURLFileName', 'NameIsDevice' + // Name - Possible values include: 'NameDeliveryRuleCondition', 'NameRemoteAddress', 'NameRequestMethod', 'NameQueryString', 'NamePostArgs', 'NameRequestURI', 'NameRequestHeader', 'NameRequestBody', 'NameRequestScheme', 'NameURLPath', 'NameURLFileExtension', 'NameURLFileName', 'NameHTTPVersion', 'NameCookies', 'NameIsDevice' Name Name `json:"name,omitempty"` } @@ -1827,6 +2097,16 @@ func (dridc DeliveryRuleIsDeviceCondition) AsDeliveryRuleURLFileNameCondition() return nil, false } +// AsDeliveryRuleHTTPVersionCondition is the BasicDeliveryRuleCondition implementation for DeliveryRuleIsDeviceCondition. +func (dridc DeliveryRuleIsDeviceCondition) AsDeliveryRuleHTTPVersionCondition() (*DeliveryRuleHTTPVersionCondition, bool) { + return nil, false +} + +// AsDeliveryRuleCookiesCondition is the BasicDeliveryRuleCondition implementation for DeliveryRuleIsDeviceCondition. +func (dridc DeliveryRuleIsDeviceCondition) AsDeliveryRuleCookiesCondition() (*DeliveryRuleCookiesCondition, bool) { + return nil, false +} + // AsDeliveryRuleIsDeviceCondition is the BasicDeliveryRuleCondition implementation for DeliveryRuleIsDeviceCondition. func (dridc DeliveryRuleIsDeviceCondition) AsDeliveryRuleIsDeviceCondition() (*DeliveryRuleIsDeviceCondition, bool) { return &dridc, true @@ -1846,7 +2126,7 @@ func (dridc DeliveryRuleIsDeviceCondition) AsBasicDeliveryRuleCondition() (Basic type DeliveryRulePostArgsCondition struct { // Parameters - Defines the parameters for the condition. Parameters *PostArgsMatchConditionParameters `json:"parameters,omitempty"` - // Name - Possible values include: 'NameDeliveryRuleCondition', 'NameRemoteAddress', 'NameRequestMethod', 'NameQueryString', 'NamePostArgs', 'NameRequestURI', 'NameRequestHeader', 'NameRequestBody', 'NameRequestScheme', 'NameURLPath', 'NameURLFileExtension', 'NameURLFileName', 'NameIsDevice' + // Name - Possible values include: 'NameDeliveryRuleCondition', 'NameRemoteAddress', 'NameRequestMethod', 'NameQueryString', 'NamePostArgs', 'NameRequestURI', 'NameRequestHeader', 'NameRequestBody', 'NameRequestScheme', 'NameURLPath', 'NameURLFileExtension', 'NameURLFileName', 'NameHTTPVersion', 'NameCookies', 'NameIsDevice' Name Name `json:"name,omitempty"` } @@ -1918,6 +2198,16 @@ func (drpac DeliveryRulePostArgsCondition) AsDeliveryRuleURLFileNameCondition() return nil, false } +// AsDeliveryRuleHTTPVersionCondition is the BasicDeliveryRuleCondition implementation for DeliveryRulePostArgsCondition. +func (drpac DeliveryRulePostArgsCondition) AsDeliveryRuleHTTPVersionCondition() (*DeliveryRuleHTTPVersionCondition, bool) { + return nil, false +} + +// AsDeliveryRuleCookiesCondition is the BasicDeliveryRuleCondition implementation for DeliveryRulePostArgsCondition. +func (drpac DeliveryRulePostArgsCondition) AsDeliveryRuleCookiesCondition() (*DeliveryRuleCookiesCondition, bool) { + return nil, false +} + // AsDeliveryRuleIsDeviceCondition is the BasicDeliveryRuleCondition implementation for DeliveryRulePostArgsCondition. func (drpac DeliveryRulePostArgsCondition) AsDeliveryRuleIsDeviceCondition() (*DeliveryRuleIsDeviceCondition, bool) { return nil, false @@ -1937,7 +2227,7 @@ func (drpac DeliveryRulePostArgsCondition) AsBasicDeliveryRuleCondition() (Basic type DeliveryRuleQueryStringCondition struct { // Parameters - Defines the parameters for the condition. Parameters *QueryStringMatchConditionParameters `json:"parameters,omitempty"` - // Name - Possible values include: 'NameDeliveryRuleCondition', 'NameRemoteAddress', 'NameRequestMethod', 'NameQueryString', 'NamePostArgs', 'NameRequestURI', 'NameRequestHeader', 'NameRequestBody', 'NameRequestScheme', 'NameURLPath', 'NameURLFileExtension', 'NameURLFileName', 'NameIsDevice' + // Name - Possible values include: 'NameDeliveryRuleCondition', 'NameRemoteAddress', 'NameRequestMethod', 'NameQueryString', 'NamePostArgs', 'NameRequestURI', 'NameRequestHeader', 'NameRequestBody', 'NameRequestScheme', 'NameURLPath', 'NameURLFileExtension', 'NameURLFileName', 'NameHTTPVersion', 'NameCookies', 'NameIsDevice' Name Name `json:"name,omitempty"` } @@ -2009,6 +2299,16 @@ func (drqsc DeliveryRuleQueryStringCondition) AsDeliveryRuleURLFileNameCondition return nil, false } +// AsDeliveryRuleHTTPVersionCondition is the BasicDeliveryRuleCondition implementation for DeliveryRuleQueryStringCondition. +func (drqsc DeliveryRuleQueryStringCondition) AsDeliveryRuleHTTPVersionCondition() (*DeliveryRuleHTTPVersionCondition, bool) { + return nil, false +} + +// AsDeliveryRuleCookiesCondition is the BasicDeliveryRuleCondition implementation for DeliveryRuleQueryStringCondition. +func (drqsc DeliveryRuleQueryStringCondition) AsDeliveryRuleCookiesCondition() (*DeliveryRuleCookiesCondition, bool) { + return nil, false +} + // AsDeliveryRuleIsDeviceCondition is the BasicDeliveryRuleCondition implementation for DeliveryRuleQueryStringCondition. func (drqsc DeliveryRuleQueryStringCondition) AsDeliveryRuleIsDeviceCondition() (*DeliveryRuleIsDeviceCondition, bool) { return nil, false @@ -2028,7 +2328,7 @@ func (drqsc DeliveryRuleQueryStringCondition) AsBasicDeliveryRuleCondition() (Ba type DeliveryRuleRemoteAddressCondition struct { // Parameters - Defines the parameters for the condition. Parameters *RemoteAddressMatchConditionParameters `json:"parameters,omitempty"` - // Name - Possible values include: 'NameDeliveryRuleCondition', 'NameRemoteAddress', 'NameRequestMethod', 'NameQueryString', 'NamePostArgs', 'NameRequestURI', 'NameRequestHeader', 'NameRequestBody', 'NameRequestScheme', 'NameURLPath', 'NameURLFileExtension', 'NameURLFileName', 'NameIsDevice' + // Name - Possible values include: 'NameDeliveryRuleCondition', 'NameRemoteAddress', 'NameRequestMethod', 'NameQueryString', 'NamePostArgs', 'NameRequestURI', 'NameRequestHeader', 'NameRequestBody', 'NameRequestScheme', 'NameURLPath', 'NameURLFileExtension', 'NameURLFileName', 'NameHTTPVersion', 'NameCookies', 'NameIsDevice' Name Name `json:"name,omitempty"` } @@ -2100,6 +2400,16 @@ func (drrac DeliveryRuleRemoteAddressCondition) AsDeliveryRuleURLFileNameConditi return nil, false } +// AsDeliveryRuleHTTPVersionCondition is the BasicDeliveryRuleCondition implementation for DeliveryRuleRemoteAddressCondition. +func (drrac DeliveryRuleRemoteAddressCondition) AsDeliveryRuleHTTPVersionCondition() (*DeliveryRuleHTTPVersionCondition, bool) { + return nil, false +} + +// AsDeliveryRuleCookiesCondition is the BasicDeliveryRuleCondition implementation for DeliveryRuleRemoteAddressCondition. +func (drrac DeliveryRuleRemoteAddressCondition) AsDeliveryRuleCookiesCondition() (*DeliveryRuleCookiesCondition, bool) { + return nil, false +} + // AsDeliveryRuleIsDeviceCondition is the BasicDeliveryRuleCondition implementation for DeliveryRuleRemoteAddressCondition. func (drrac DeliveryRuleRemoteAddressCondition) AsDeliveryRuleIsDeviceCondition() (*DeliveryRuleIsDeviceCondition, bool) { return nil, false @@ -2119,7 +2429,7 @@ func (drrac DeliveryRuleRemoteAddressCondition) AsBasicDeliveryRuleCondition() ( type DeliveryRuleRequestBodyCondition struct { // Parameters - Defines the parameters for the condition. Parameters *RequestBodyMatchConditionParameters `json:"parameters,omitempty"` - // Name - Possible values include: 'NameDeliveryRuleCondition', 'NameRemoteAddress', 'NameRequestMethod', 'NameQueryString', 'NamePostArgs', 'NameRequestURI', 'NameRequestHeader', 'NameRequestBody', 'NameRequestScheme', 'NameURLPath', 'NameURLFileExtension', 'NameURLFileName', 'NameIsDevice' + // Name - Possible values include: 'NameDeliveryRuleCondition', 'NameRemoteAddress', 'NameRequestMethod', 'NameQueryString', 'NamePostArgs', 'NameRequestURI', 'NameRequestHeader', 'NameRequestBody', 'NameRequestScheme', 'NameURLPath', 'NameURLFileExtension', 'NameURLFileName', 'NameHTTPVersion', 'NameCookies', 'NameIsDevice' Name Name `json:"name,omitempty"` } @@ -2191,6 +2501,16 @@ func (drrbc DeliveryRuleRequestBodyCondition) AsDeliveryRuleURLFileNameCondition return nil, false } +// AsDeliveryRuleHTTPVersionCondition is the BasicDeliveryRuleCondition implementation for DeliveryRuleRequestBodyCondition. +func (drrbc DeliveryRuleRequestBodyCondition) AsDeliveryRuleHTTPVersionCondition() (*DeliveryRuleHTTPVersionCondition, bool) { + return nil, false +} + +// AsDeliveryRuleCookiesCondition is the BasicDeliveryRuleCondition implementation for DeliveryRuleRequestBodyCondition. +func (drrbc DeliveryRuleRequestBodyCondition) AsDeliveryRuleCookiesCondition() (*DeliveryRuleCookiesCondition, bool) { + return nil, false +} + // AsDeliveryRuleIsDeviceCondition is the BasicDeliveryRuleCondition implementation for DeliveryRuleRequestBodyCondition. func (drrbc DeliveryRuleRequestBodyCondition) AsDeliveryRuleIsDeviceCondition() (*DeliveryRuleIsDeviceCondition, bool) { return nil, false @@ -2271,7 +2591,7 @@ func (drrha DeliveryRuleRequestHeaderAction) AsBasicDeliveryRuleAction() (BasicD type DeliveryRuleRequestHeaderCondition struct { // Parameters - Defines the parameters for the condition. Parameters *RequestHeaderMatchConditionParameters `json:"parameters,omitempty"` - // Name - Possible values include: 'NameDeliveryRuleCondition', 'NameRemoteAddress', 'NameRequestMethod', 'NameQueryString', 'NamePostArgs', 'NameRequestURI', 'NameRequestHeader', 'NameRequestBody', 'NameRequestScheme', 'NameURLPath', 'NameURLFileExtension', 'NameURLFileName', 'NameIsDevice' + // Name - Possible values include: 'NameDeliveryRuleCondition', 'NameRemoteAddress', 'NameRequestMethod', 'NameQueryString', 'NamePostArgs', 'NameRequestURI', 'NameRequestHeader', 'NameRequestBody', 'NameRequestScheme', 'NameURLPath', 'NameURLFileExtension', 'NameURLFileName', 'NameHTTPVersion', 'NameCookies', 'NameIsDevice' Name Name `json:"name,omitempty"` } @@ -2343,6 +2663,16 @@ func (drrhc DeliveryRuleRequestHeaderCondition) AsDeliveryRuleURLFileNameConditi return nil, false } +// AsDeliveryRuleHTTPVersionCondition is the BasicDeliveryRuleCondition implementation for DeliveryRuleRequestHeaderCondition. +func (drrhc DeliveryRuleRequestHeaderCondition) AsDeliveryRuleHTTPVersionCondition() (*DeliveryRuleHTTPVersionCondition, bool) { + return nil, false +} + +// AsDeliveryRuleCookiesCondition is the BasicDeliveryRuleCondition implementation for DeliveryRuleRequestHeaderCondition. +func (drrhc DeliveryRuleRequestHeaderCondition) AsDeliveryRuleCookiesCondition() (*DeliveryRuleCookiesCondition, bool) { + return nil, false +} + // AsDeliveryRuleIsDeviceCondition is the BasicDeliveryRuleCondition implementation for DeliveryRuleRequestHeaderCondition. func (drrhc DeliveryRuleRequestHeaderCondition) AsDeliveryRuleIsDeviceCondition() (*DeliveryRuleIsDeviceCondition, bool) { return nil, false @@ -2362,7 +2692,7 @@ func (drrhc DeliveryRuleRequestHeaderCondition) AsBasicDeliveryRuleCondition() ( type DeliveryRuleRequestMethodCondition struct { // Parameters - Defines the parameters for the condition. Parameters *RequestMethodMatchConditionParameters `json:"parameters,omitempty"` - // Name - Possible values include: 'NameDeliveryRuleCondition', 'NameRemoteAddress', 'NameRequestMethod', 'NameQueryString', 'NamePostArgs', 'NameRequestURI', 'NameRequestHeader', 'NameRequestBody', 'NameRequestScheme', 'NameURLPath', 'NameURLFileExtension', 'NameURLFileName', 'NameIsDevice' + // Name - Possible values include: 'NameDeliveryRuleCondition', 'NameRemoteAddress', 'NameRequestMethod', 'NameQueryString', 'NamePostArgs', 'NameRequestURI', 'NameRequestHeader', 'NameRequestBody', 'NameRequestScheme', 'NameURLPath', 'NameURLFileExtension', 'NameURLFileName', 'NameHTTPVersion', 'NameCookies', 'NameIsDevice' Name Name `json:"name,omitempty"` } @@ -2434,6 +2764,16 @@ func (drrmc DeliveryRuleRequestMethodCondition) AsDeliveryRuleURLFileNameConditi return nil, false } +// AsDeliveryRuleHTTPVersionCondition is the BasicDeliveryRuleCondition implementation for DeliveryRuleRequestMethodCondition. +func (drrmc DeliveryRuleRequestMethodCondition) AsDeliveryRuleHTTPVersionCondition() (*DeliveryRuleHTTPVersionCondition, bool) { + return nil, false +} + +// AsDeliveryRuleCookiesCondition is the BasicDeliveryRuleCondition implementation for DeliveryRuleRequestMethodCondition. +func (drrmc DeliveryRuleRequestMethodCondition) AsDeliveryRuleCookiesCondition() (*DeliveryRuleCookiesCondition, bool) { + return nil, false +} + // AsDeliveryRuleIsDeviceCondition is the BasicDeliveryRuleCondition implementation for DeliveryRuleRequestMethodCondition. func (drrmc DeliveryRuleRequestMethodCondition) AsDeliveryRuleIsDeviceCondition() (*DeliveryRuleIsDeviceCondition, bool) { return nil, false @@ -2453,7 +2793,7 @@ func (drrmc DeliveryRuleRequestMethodCondition) AsBasicDeliveryRuleCondition() ( type DeliveryRuleRequestSchemeCondition struct { // Parameters - Defines the parameters for the condition. Parameters *RequestSchemeMatchConditionParameters `json:"parameters,omitempty"` - // Name - Possible values include: 'NameDeliveryRuleCondition', 'NameRemoteAddress', 'NameRequestMethod', 'NameQueryString', 'NamePostArgs', 'NameRequestURI', 'NameRequestHeader', 'NameRequestBody', 'NameRequestScheme', 'NameURLPath', 'NameURLFileExtension', 'NameURLFileName', 'NameIsDevice' + // Name - Possible values include: 'NameDeliveryRuleCondition', 'NameRemoteAddress', 'NameRequestMethod', 'NameQueryString', 'NamePostArgs', 'NameRequestURI', 'NameRequestHeader', 'NameRequestBody', 'NameRequestScheme', 'NameURLPath', 'NameURLFileExtension', 'NameURLFileName', 'NameHTTPVersion', 'NameCookies', 'NameIsDevice' Name Name `json:"name,omitempty"` } @@ -2525,6 +2865,16 @@ func (drrsc DeliveryRuleRequestSchemeCondition) AsDeliveryRuleURLFileNameConditi return nil, false } +// AsDeliveryRuleHTTPVersionCondition is the BasicDeliveryRuleCondition implementation for DeliveryRuleRequestSchemeCondition. +func (drrsc DeliveryRuleRequestSchemeCondition) AsDeliveryRuleHTTPVersionCondition() (*DeliveryRuleHTTPVersionCondition, bool) { + return nil, false +} + +// AsDeliveryRuleCookiesCondition is the BasicDeliveryRuleCondition implementation for DeliveryRuleRequestSchemeCondition. +func (drrsc DeliveryRuleRequestSchemeCondition) AsDeliveryRuleCookiesCondition() (*DeliveryRuleCookiesCondition, bool) { + return nil, false +} + // AsDeliveryRuleIsDeviceCondition is the BasicDeliveryRuleCondition implementation for DeliveryRuleRequestSchemeCondition. func (drrsc DeliveryRuleRequestSchemeCondition) AsDeliveryRuleIsDeviceCondition() (*DeliveryRuleIsDeviceCondition, bool) { return nil, false @@ -2544,7 +2894,7 @@ func (drrsc DeliveryRuleRequestSchemeCondition) AsBasicDeliveryRuleCondition() ( type DeliveryRuleRequestURICondition struct { // Parameters - Defines the parameters for the condition. Parameters *RequestURIMatchConditionParameters `json:"parameters,omitempty"` - // Name - Possible values include: 'NameDeliveryRuleCondition', 'NameRemoteAddress', 'NameRequestMethod', 'NameQueryString', 'NamePostArgs', 'NameRequestURI', 'NameRequestHeader', 'NameRequestBody', 'NameRequestScheme', 'NameURLPath', 'NameURLFileExtension', 'NameURLFileName', 'NameIsDevice' + // Name - Possible values include: 'NameDeliveryRuleCondition', 'NameRemoteAddress', 'NameRequestMethod', 'NameQueryString', 'NamePostArgs', 'NameRequestURI', 'NameRequestHeader', 'NameRequestBody', 'NameRequestScheme', 'NameURLPath', 'NameURLFileExtension', 'NameURLFileName', 'NameHTTPVersion', 'NameCookies', 'NameIsDevice' Name Name `json:"name,omitempty"` } @@ -2616,6 +2966,16 @@ func (drruc DeliveryRuleRequestURICondition) AsDeliveryRuleURLFileNameCondition( return nil, false } +// AsDeliveryRuleHTTPVersionCondition is the BasicDeliveryRuleCondition implementation for DeliveryRuleRequestURICondition. +func (drruc DeliveryRuleRequestURICondition) AsDeliveryRuleHTTPVersionCondition() (*DeliveryRuleHTTPVersionCondition, bool) { + return nil, false +} + +// AsDeliveryRuleCookiesCondition is the BasicDeliveryRuleCondition implementation for DeliveryRuleRequestURICondition. +func (drruc DeliveryRuleRequestURICondition) AsDeliveryRuleCookiesCondition() (*DeliveryRuleCookiesCondition, bool) { + return nil, false +} + // AsDeliveryRuleIsDeviceCondition is the BasicDeliveryRuleCondition implementation for DeliveryRuleRequestURICondition. func (drruc DeliveryRuleRequestURICondition) AsDeliveryRuleIsDeviceCondition() (*DeliveryRuleIsDeviceCondition, bool) { return nil, false @@ -2696,7 +3056,7 @@ func (drrha DeliveryRuleResponseHeaderAction) AsBasicDeliveryRuleAction() (Basic type DeliveryRuleURLFileExtensionCondition struct { // Parameters - Defines the parameters for the condition. Parameters *URLFileExtensionMatchConditionParameters `json:"parameters,omitempty"` - // Name - Possible values include: 'NameDeliveryRuleCondition', 'NameRemoteAddress', 'NameRequestMethod', 'NameQueryString', 'NamePostArgs', 'NameRequestURI', 'NameRequestHeader', 'NameRequestBody', 'NameRequestScheme', 'NameURLPath', 'NameURLFileExtension', 'NameURLFileName', 'NameIsDevice' + // Name - Possible values include: 'NameDeliveryRuleCondition', 'NameRemoteAddress', 'NameRequestMethod', 'NameQueryString', 'NamePostArgs', 'NameRequestURI', 'NameRequestHeader', 'NameRequestBody', 'NameRequestScheme', 'NameURLPath', 'NameURLFileExtension', 'NameURLFileName', 'NameHTTPVersion', 'NameCookies', 'NameIsDevice' Name Name `json:"name,omitempty"` } @@ -2768,6 +3128,16 @@ func (drufec DeliveryRuleURLFileExtensionCondition) AsDeliveryRuleURLFileNameCon return nil, false } +// AsDeliveryRuleHTTPVersionCondition is the BasicDeliveryRuleCondition implementation for DeliveryRuleURLFileExtensionCondition. +func (drufec DeliveryRuleURLFileExtensionCondition) AsDeliveryRuleHTTPVersionCondition() (*DeliveryRuleHTTPVersionCondition, bool) { + return nil, false +} + +// AsDeliveryRuleCookiesCondition is the BasicDeliveryRuleCondition implementation for DeliveryRuleURLFileExtensionCondition. +func (drufec DeliveryRuleURLFileExtensionCondition) AsDeliveryRuleCookiesCondition() (*DeliveryRuleCookiesCondition, bool) { + return nil, false +} + // AsDeliveryRuleIsDeviceCondition is the BasicDeliveryRuleCondition implementation for DeliveryRuleURLFileExtensionCondition. func (drufec DeliveryRuleURLFileExtensionCondition) AsDeliveryRuleIsDeviceCondition() (*DeliveryRuleIsDeviceCondition, bool) { return nil, false @@ -2787,7 +3157,7 @@ func (drufec DeliveryRuleURLFileExtensionCondition) AsBasicDeliveryRuleCondition type DeliveryRuleURLFileNameCondition struct { // Parameters - Defines the parameters for the condition. Parameters *URLFileNameMatchConditionParameters `json:"parameters,omitempty"` - // Name - Possible values include: 'NameDeliveryRuleCondition', 'NameRemoteAddress', 'NameRequestMethod', 'NameQueryString', 'NamePostArgs', 'NameRequestURI', 'NameRequestHeader', 'NameRequestBody', 'NameRequestScheme', 'NameURLPath', 'NameURLFileExtension', 'NameURLFileName', 'NameIsDevice' + // Name - Possible values include: 'NameDeliveryRuleCondition', 'NameRemoteAddress', 'NameRequestMethod', 'NameQueryString', 'NamePostArgs', 'NameRequestURI', 'NameRequestHeader', 'NameRequestBody', 'NameRequestScheme', 'NameURLPath', 'NameURLFileExtension', 'NameURLFileName', 'NameHTTPVersion', 'NameCookies', 'NameIsDevice' Name Name `json:"name,omitempty"` } @@ -2859,6 +3229,16 @@ func (drufnc DeliveryRuleURLFileNameCondition) AsDeliveryRuleURLFileNameConditio return &drufnc, true } +// AsDeliveryRuleHTTPVersionCondition is the BasicDeliveryRuleCondition implementation for DeliveryRuleURLFileNameCondition. +func (drufnc DeliveryRuleURLFileNameCondition) AsDeliveryRuleHTTPVersionCondition() (*DeliveryRuleHTTPVersionCondition, bool) { + return nil, false +} + +// AsDeliveryRuleCookiesCondition is the BasicDeliveryRuleCondition implementation for DeliveryRuleURLFileNameCondition. +func (drufnc DeliveryRuleURLFileNameCondition) AsDeliveryRuleCookiesCondition() (*DeliveryRuleCookiesCondition, bool) { + return nil, false +} + // AsDeliveryRuleIsDeviceCondition is the BasicDeliveryRuleCondition implementation for DeliveryRuleURLFileNameCondition. func (drufnc DeliveryRuleURLFileNameCondition) AsDeliveryRuleIsDeviceCondition() (*DeliveryRuleIsDeviceCondition, bool) { return nil, false @@ -2878,7 +3258,7 @@ func (drufnc DeliveryRuleURLFileNameCondition) AsBasicDeliveryRuleCondition() (B type DeliveryRuleURLPathCondition struct { // Parameters - Defines the parameters for the condition. Parameters *URLPathMatchConditionParameters `json:"parameters,omitempty"` - // Name - Possible values include: 'NameDeliveryRuleCondition', 'NameRemoteAddress', 'NameRequestMethod', 'NameQueryString', 'NamePostArgs', 'NameRequestURI', 'NameRequestHeader', 'NameRequestBody', 'NameRequestScheme', 'NameURLPath', 'NameURLFileExtension', 'NameURLFileName', 'NameIsDevice' + // Name - Possible values include: 'NameDeliveryRuleCondition', 'NameRemoteAddress', 'NameRequestMethod', 'NameQueryString', 'NamePostArgs', 'NameRequestURI', 'NameRequestHeader', 'NameRequestBody', 'NameRequestScheme', 'NameURLPath', 'NameURLFileExtension', 'NameURLFileName', 'NameHTTPVersion', 'NameCookies', 'NameIsDevice' Name Name `json:"name,omitempty"` } @@ -2950,6 +3330,16 @@ func (drupc DeliveryRuleURLPathCondition) AsDeliveryRuleURLFileNameCondition() ( return nil, false } +// AsDeliveryRuleHTTPVersionCondition is the BasicDeliveryRuleCondition implementation for DeliveryRuleURLPathCondition. +func (drupc DeliveryRuleURLPathCondition) AsDeliveryRuleHTTPVersionCondition() (*DeliveryRuleHTTPVersionCondition, bool) { + return nil, false +} + +// AsDeliveryRuleCookiesCondition is the BasicDeliveryRuleCondition implementation for DeliveryRuleURLPathCondition. +func (drupc DeliveryRuleURLPathCondition) AsDeliveryRuleCookiesCondition() (*DeliveryRuleCookiesCondition, bool) { + return nil, false +} + // AsDeliveryRuleIsDeviceCondition is the BasicDeliveryRuleCondition implementation for DeliveryRuleURLPathCondition. func (drupc DeliveryRuleURLPathCondition) AsDeliveryRuleIsDeviceCondition() (*DeliveryRuleIsDeviceCondition, bool) { return nil, false @@ -3774,6 +4164,17 @@ type HeaderActionParameters struct { Value *string `json:"value,omitempty"` } +// HTTPVersionMatchConditionParameters defines the parameters for HttpVersion match conditions +type HTTPVersionMatchConditionParameters struct { + OdataType *string `json:"@odata.type,omitempty"` + // Operator - Describes operator to be matched + Operator *string `json:"operator,omitempty"` + // NegateCondition - Describes if this is negate condition or not + NegateCondition *bool `json:"negateCondition,omitempty"` + // MatchValues - The match value for the condition of the delivery rule + MatchValues *[]string `json:"matchValues,omitempty"` +} + // IPAddressGroup CDN Ip address group type IPAddressGroup struct { // DeliveryRegion - The delivery region of the ip address group @@ -4380,7 +4781,7 @@ type PostArgsMatchConditionParameters struct { OdataType *string `json:"@odata.type,omitempty"` // Selector - Name of PostArg to be matched Selector *string `json:"selector,omitempty"` - // Operator - Describes operator to be matched. Possible values include: 'Any', 'Equal', 'Contains', 'BeginsWith', 'EndsWith', 'LessThan', 'LessThanOrEqual', 'GreaterThan', 'GreaterThanOrEqual' + // Operator - Describes operator to be matched. Possible values include: 'PostArgsOperatorAny', 'PostArgsOperatorEqual', 'PostArgsOperatorContains', 'PostArgsOperatorBeginsWith', 'PostArgsOperatorEndsWith', 'PostArgsOperatorLessThan', 'PostArgsOperatorLessThanOrEqual', 'PostArgsOperatorGreaterThan', 'PostArgsOperatorGreaterThanOrEqual' Operator PostArgsOperator `json:"operator,omitempty"` // NegateCondition - Describes if this is negate condition or not NegateCondition *bool `json:"negateCondition,omitempty"` diff --git a/services/classic/management/README.md b/services/classic/management/README.md deleted file mode 100644 index d9518b59666f..000000000000 --- a/services/classic/management/README.md +++ /dev/null @@ -1,12 +0,0 @@ -# Azure Service Management packages for Go - -The `github.com/Azure/azure-sdk-for-go/services/classic/management` packages are used to perform operations using the Azure Service Management (ASM), aka classic deployment model. Read more about [Azure Resource Manager vs. classic deployment](https://azure.microsoft.com/documentation/articles/resource-manager-deployment-model/). Packages for Azure Resource Manager are in the [arm](../arm) folder. -Note that this package requires Go 1.7+ to build. -This package is in mainteinance mode and will only receive bug fixes. It is recommended to [migrate to Azure Resource Manager](https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-manager-deployment-model) deployment model. - -## First a Sidenote: Authentication and the Azure Service Manager - -The client currently supports authentication to the Service Management -API with certificates or Azure `.publishSettings` file. You can -download the `.publishSettings` file for your subscriptions -[here](https://manage.windowsazure.com/publishsettings). diff --git a/services/classic/management/affinitygroup/client.go b/services/classic/management/affinitygroup/client.go deleted file mode 100644 index d527d6d2ac78..000000000000 --- a/services/classic/management/affinitygroup/client.go +++ /dev/null @@ -1,147 +0,0 @@ -// +build go1.7 - -package affinitygroup - -// Copyright 2017 Microsoft Corporation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -import ( - "encoding/base64" - "encoding/xml" - "fmt" - - "github.com/Azure/azure-sdk-for-go/services/classic/management" -) - -const ( - azureCreateAffinityGroupURL = "/affinitygroups" - azureGetAffinityGroupURL = "/affinitygroups/%s" - azureListAffinityGroupsURL = "/affinitygroups" - azureUpdateAffinityGroupURL = "/affinitygroups/%s" - azureDeleteAffinityGroupURL = "/affinitygroups/%s" - - errParameterNotSpecified = "Parameter %s not specified." -) - -// AffinityGroupClient simply contains a management.Client and has -// methods for doing all affinity group-related API calls to Azure. -type AffinityGroupClient struct { - mgmtClient management.Client -} - -// NewClient returns an AffinityGroupClient with the given management.Client. -func NewClient(mgmtClient management.Client) AffinityGroupClient { - return AffinityGroupClient{mgmtClient} -} - -// CreateAffinityGroup creates a new affinity group. -// -// https://msdn.microsoft.com/en-us/library/azure/gg715317.aspx -func (c AffinityGroupClient) CreateAffinityGroup(params CreateAffinityGroupParams) error { - params.Label = encodeLabel(params.Label) - - req, err := xml.Marshal(params) - if err != nil { - return err - } - - _, err = c.mgmtClient.SendAzurePostRequest(azureCreateAffinityGroupURL, req) - return err -} - -// GetAffinityGroup returns the system properties that are associated with the -// specified affinity group. -// -// https://msdn.microsoft.com/en-us/library/azure/ee460789.aspx -func (c AffinityGroupClient) GetAffinityGroup(name string) (AffinityGroup, error) { - var affgroup AffinityGroup - if name == "" { - return affgroup, fmt.Errorf(errParameterNotSpecified, "name") - } - - url := fmt.Sprintf(azureGetAffinityGroupURL, name) - resp, err := c.mgmtClient.SendAzureGetRequest(url) - if err != nil { - return affgroup, err - } - - err = xml.Unmarshal(resp, &affgroup) - affgroup.Label = decodeLabel(affgroup.Label) - return affgroup, err -} - -// ListAffinityGroups lists the affinity groups off Azure. -// -// https://msdn.microsoft.com/en-us/library/azure/ee460797.aspx -func (c AffinityGroupClient) ListAffinityGroups() (ListAffinityGroupsResponse, error) { - var affinitygroups ListAffinityGroupsResponse - - resp, err := c.mgmtClient.SendAzureGetRequest(azureListAffinityGroupsURL) - if err != nil { - return affinitygroups, err - } - - err = xml.Unmarshal(resp, &affinitygroups) - - for i, grp := range affinitygroups.AffinityGroups { - affinitygroups.AffinityGroups[i].Label = decodeLabel(grp.Label) - } - - return affinitygroups, err -} - -// UpdateAffinityGroup updates the label or description for an the group. -// -// https://msdn.microsoft.com/en-us/library/azure/gg715316.aspx -func (c AffinityGroupClient) UpdateAffinityGroup(name string, params UpdateAffinityGroupParams) error { - if name == "" { - return fmt.Errorf(errParameterNotSpecified, "name") - } - - params.Label = encodeLabel(params.Label) - req, err := xml.Marshal(params) - if err != nil { - return err - } - - url := fmt.Sprintf(azureUpdateAffinityGroupURL, name) - _, err = c.mgmtClient.SendAzurePutRequest(url, "text/xml", req) - return err -} - -// DeleteAffinityGroup deletes the given affinity group. -// -// https://msdn.microsoft.com/en-us/library/azure/gg715314.aspx -func (c AffinityGroupClient) DeleteAffinityGroup(name string) error { - if name == "" { - return fmt.Errorf(errParameterNotSpecified, name) - } - - url := fmt.Sprintf(azureDeleteAffinityGroupURL, name) - _, err := c.mgmtClient.SendAzureDeleteRequest(url) - return err -} - -// encodeLabel is a helper function which encodes the given string -// to the base64 string which will be sent to Azure as a Label. -func encodeLabel(label string) string { - return base64.StdEncoding.EncodeToString([]byte(label)) -} - -// decodeLabel is a helper function which decodes the base64 encoded -// label received from Azure into standard encoding. -func decodeLabel(label string) string { - res, _ := base64.StdEncoding.DecodeString(label) - return string(res) -} diff --git a/services/classic/management/affinitygroup/entities.go b/services/classic/management/affinitygroup/entities.go deleted file mode 100644 index 3c810a000c40..000000000000 --- a/services/classic/management/affinitygroup/entities.go +++ /dev/null @@ -1,96 +0,0 @@ -// +build go1.7 - -package affinitygroup - -// Copyright 2017 Microsoft Corporation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -import ( - "encoding/xml" -) - -// CreateAffinityGroupParams respresents the set of parameters required for -// creating an affinity group creation request to Azure. -// -// https://msdn.microsoft.com/en-us/library/azure/gg715317.aspx -type CreateAffinityGroupParams struct { - XMLName xml.Name `xml:"http://schemas.microsoft.com/windowsazure CreateAffinityGroup"` - Name string - Label string - Description string `xml:",omitempty"` - Location string -} - -// HostedService is a struct containing details about a hosted service that is -// part of an affinity group on Azure. -type HostedService struct { - URL string `xml:"Url"` - ServiceName string -} - -// StorageService is a struct containing details about a storage service that is -// part of an affinity group on Azure. -type StorageService struct { - URL string `xml:"Url"` - ServiceName string -} - -// AffinityGroup respresents the properties of an affinity group on Azure. -// -// https://msdn.microsoft.com/en-us/library/azure/ee460789.aspx -type AffinityGroup struct { - Name string - Label string - Description string - Location string - HostedServices []HostedService - StorageServices []StorageService - Capabilities []string -} - -// ComputeCapabilities represents the sets of capabilities of an affinity group -// obtained from an affinity group list call to Azure. -type ComputeCapabilities struct { - VirtualMachineRoleSizes []string - WebWorkerRoleSizes []string -} - -// AffinityGroupListResponse represents the properties obtained for each -// affinity group listed off Azure. -// -// https://msdn.microsoft.com/en-us/library/azure/ee460797.aspx -type AffinityGroupListResponse struct { - Name string - Label string - Description string - Location string - Capabilities []string - ComputeCapabilities ComputeCapabilities -} - -// ListAffinityGroupsResponse contains all the affinity groups obtained from a -// call to the Azure API to list all affinity groups. -type ListAffinityGroupsResponse struct { - AffinityGroups []AffinityGroupListResponse `xml:"AffinityGroup"` -} - -// UpdateAffinityGroupParams if the set of parameters required to update an -// affinity group on Azure. -// -// https://msdn.microsoft.com/en-us/library/azure/gg715316.aspx -type UpdateAffinityGroupParams struct { - XMLName xml.Name `xml:"http://schemas.microsoft.com/windowsazure UpdateAffinityGroup"` - Label string `xml:",omitempty"` - Description string `xml:",omitempty"` -} diff --git a/services/classic/management/client.go b/services/classic/management/client.go deleted file mode 100644 index 6d3d350b6e47..000000000000 --- a/services/classic/management/client.go +++ /dev/null @@ -1,178 +0,0 @@ -// +build go1.7 - -// Package management provides the main API client to construct other clients -// and make requests to the Microsoft Azure Service Management REST API. -package management - -// Copyright 2017 Microsoft Corporation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -import ( - "errors" - "fmt" - "net/http" - "runtime" - "time" - - "github.com/Azure/azure-sdk-for-go/version" -) - -var ( - DefaultUserAgent = userAgent() -) - -const ( - DefaultAzureManagementURL = "https://management.core.windows.net" - DefaultOperationPollInterval = time.Second * 30 - DefaultAPIVersion = "2014-10-01" - - errPublishSettingsConfiguration = "PublishSettingsFilePath is set. Consequently ManagementCertificatePath and SubscriptionId must not be set." - errManagementCertificateConfiguration = "Both ManagementCertificatePath and SubscriptionId should be set, and PublishSettingsFilePath must not be set." - errParamNotSpecified = "Parameter %s is not specified." -) - -type client struct { - publishSettings publishSettings - config ClientConfig - httpClient *http.Client -} - -// Client is the base Azure Service Management API client instance that -// can be used to construct client instances for various services. -type Client interface { - // SendAzureGetRequest sends a request to the management API using the HTTP GET method - // and returns the response body or an error. - SendAzureGetRequest(url string) ([]byte, error) - - // SendAzurePostRequest sends a request to the management API using the HTTP POST method - // and returns the request ID or an error. - SendAzurePostRequest(url string, data []byte) (OperationID, error) - - // SendAzurePostRequestWithReturnedResponse sends a request to the management API using - // the HTTP POST method and returns the response body or an error. - SendAzurePostRequestWithReturnedResponse(url string, data []byte) ([]byte, error) - - // SendAzurePutRequest sends a request to the management API using the HTTP PUT method - // and returns the request ID or an error. The content type can be specified, however - // if an empty string is passed, the default of "application/xml" will be used. - SendAzurePutRequest(url, contentType string, data []byte) (OperationID, error) - - // SendAzureDeleteRequest sends a request to the management API using the HTTP DELETE method - // and returns the request ID or an error. - SendAzureDeleteRequest(url string) (OperationID, error) - - // GetOperationStatus gets the status of operation with given Operation ID. - // WaitForOperation utility method can be used for polling for operation status. - GetOperationStatus(operationID OperationID) (GetOperationStatusResponse, error) - - // WaitForOperation polls the Azure API for given operation ID indefinitely - // until the operation is completed with either success or failure. - // It is meant to be used for waiting for the result of the methods that - // return an OperationID value (meaning a long running operation has started). - // - // Cancellation of the polling loop (for instance, timing out) is done through - // cancel channel. If the user does not want to cancel, a nil chan can be provided. - // To cancel the method, it is recommended to close the channel provided to this - // method. - // - // If the operation was not successful or cancelling is signaled, an error - // is returned. - WaitForOperation(operationID OperationID, cancel chan struct{}) error -} - -// ClientConfig provides a configuration for use by a Client. -type ClientConfig struct { - ManagementURL string - OperationPollInterval time.Duration - UserAgent string - APIVersion string -} - -// NewAnonymousClient creates a new azure.Client with no credentials set. -func NewAnonymousClient() Client { - return client{} -} - -// DefaultConfig returns the default client configuration used to construct -// a client. This value can be used to make modifications on the default API -// configuration. -func DefaultConfig() ClientConfig { - return ClientConfig{ - ManagementURL: DefaultAzureManagementURL, - OperationPollInterval: DefaultOperationPollInterval, - APIVersion: DefaultAPIVersion, - UserAgent: DefaultUserAgent, - } -} - -// NewClient creates a new Client using the given subscription ID and -// management certificate. -func NewClient(subscriptionID string, managementCert []byte) (Client, error) { - return NewClientFromConfig(subscriptionID, managementCert, DefaultConfig()) -} - -// NewClientFromConfig creates a new Client using a given ClientConfig. -func NewClientFromConfig(subscriptionID string, managementCert []byte, config ClientConfig) (Client, error) { - return makeClient(subscriptionID, managementCert, config) -} - -func makeClient(subscriptionID string, managementCert []byte, config ClientConfig) (Client, error) { - var c client - - if subscriptionID == "" { - return c, errors.New("azure: subscription ID required") - } - - if len(managementCert) == 0 { - return c, errors.New("azure: management certificate required") - } - - publishSettings := publishSettings{ - SubscriptionID: subscriptionID, - SubscriptionCert: managementCert, - SubscriptionKey: managementCert, - } - - // Validate client configuration - switch { - case config.ManagementURL == "": - return c, errors.New("azure: base URL required") - case config.OperationPollInterval <= 0: - return c, errors.New("azure: operation polling interval must be a positive duration") - case config.APIVersion == "": - return c, errors.New("azure: client configuration must specify an API version") - case config.UserAgent == "": - config.UserAgent = DefaultUserAgent - } - - clientObj := client{ - publishSettings: publishSettings, - config: config, - } - var err error - clientObj.httpClient, err = clientObj.createHTTPClient() - if err != nil { - return nil, err - } - return clientObj, nil -} - -func userAgent() string { - return fmt.Sprintf("Go/%s (%s-%s) Azure-SDK-For-Go/%s asm/%s", - runtime.Version(), - runtime.GOARCH, - runtime.GOOS, - version.Number, - DefaultAPIVersion) -} diff --git a/services/classic/management/errors.go b/services/classic/management/errors.go deleted file mode 100644 index eca555cb4518..000000000000 --- a/services/classic/management/errors.go +++ /dev/null @@ -1,52 +0,0 @@ -// +build go1.7 - -package management - -// Copyright 2017 Microsoft Corporation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -import ( - "encoding/xml" - "fmt" -) - -// AzureError represents an error returned by the management API. It has an error -// code (for example, ResourceNotFound) and a descriptive message. -type AzureError struct { - Code string - Message string -} - -//Error implements the error interface for the AzureError type. -func (e AzureError) Error() string { - return fmt.Sprintf("Error response from Azure. Code: %s, Message: %s", e.Code, e.Message) -} - -// IsResourceNotFoundError returns true if the provided error is an AzureError -// reporting that a given resource has not been found. -func IsResourceNotFoundError(err error) bool { - azureErr, ok := err.(AzureError) - return ok && azureErr.Code == "ResourceNotFound" -} - -// getAzureError converts an error response body into an AzureError instance. -func getAzureError(responseBody []byte) error { - var azErr AzureError - err := xml.Unmarshal(responseBody, &azErr) - if err != nil { - return fmt.Errorf("Failed parsing contents to AzureError format: %v", err) - } - return azErr - -} diff --git a/services/classic/management/errors_test.go b/services/classic/management/errors_test.go deleted file mode 100644 index d58a987d2b3a..000000000000 --- a/services/classic/management/errors_test.go +++ /dev/null @@ -1,46 +0,0 @@ -// +build go1.7 - -package management_test - -// Copyright 2017 Microsoft Corporation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -import ( - "fmt" - "testing" - - "github.com/Azure/azure-sdk-for-go/services/classic/management" -) - -// TestIsResourceNotFoundError tests IsResourceNotFoundError with the -// set of given test cases. -func TestIsResourceNotFoundError(t *testing.T) { - // isResourceNotFoundTestCases is a set of structs comprising of the error - // IsResourceNotFoundError should test and the expected result. - var isResourceNotFoundTestCases = []struct { - err error - expected bool - }{ - {nil, false}, - {fmt.Errorf("Some other random error."), false}, - {management.AzureError{Code: "ResourceNotFound"}, true}, - {management.AzureError{Code: "NotAResourceNotFound"}, false}, - } - - for i, testCase := range isResourceNotFoundTestCases { - if res := management.IsResourceNotFoundError(testCase.err); res != testCase.expected { - t.Fatalf("Test %d: error %s - expected %t - got %t", i+1, testCase.err, testCase.expected, res) - } - } -} diff --git a/services/classic/management/hostedservice/client.go b/services/classic/management/hostedservice/client.go deleted file mode 100644 index f6d2a712abc2..000000000000 --- a/services/classic/management/hostedservice/client.go +++ /dev/null @@ -1,141 +0,0 @@ -// +build go1.7 - -// Package hostedservice provides a client for Hosted Services. -package hostedservice - -// Copyright 2017 Microsoft Corporation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -import ( - "encoding/base64" - "encoding/xml" - "fmt" - - "github.com/Azure/azure-sdk-for-go/services/classic/management" -) - -const ( - azureXmlns = "http://schemas.microsoft.com/windowsazure" - azureDeploymentListURL = "services/hostedservices/%s/deployments" - azureHostedServiceListURL = "services/hostedservices" - azureHostedServiceAvailabilityURL = "services/hostedservices/operations/isavailable/%s" - azureDeploymentURL = "services/hostedservices/%s/deployments/%s" - deleteAzureDeploymentURL = "services/hostedservices/%s/deployments/%s" - getHostedServicePropertiesURL = "services/hostedservices/%s" - azureServiceCertificateURL = "services/hostedservices/%s/certificates" - - errParamNotSpecified = "Parameter %s is not specified." -) - -//NewClient is used to return a handle to the HostedService API -func NewClient(client management.Client) HostedServiceClient { - return HostedServiceClient{client: client} -} - -func (h HostedServiceClient) CreateHostedService(params CreateHostedServiceParameters) error { - req, err := xml.Marshal(params) - if err != nil { - return err - } - - _, err = h.client.SendAzurePostRequest(azureHostedServiceListURL, req) // not a long running operation - return err -} - -func (h HostedServiceClient) CheckHostedServiceNameAvailability(dnsName string) (AvailabilityResponse, error) { - var r AvailabilityResponse - if dnsName == "" { - return r, fmt.Errorf(errParamNotSpecified, "dnsName") - } - - requestURL := fmt.Sprintf(azureHostedServiceAvailabilityURL, dnsName) - response, err := h.client.SendAzureGetRequest(requestURL) - if err != nil { - return r, err - } - - err = xml.Unmarshal(response, &r) - return r, err -} - -func (h HostedServiceClient) DeleteHostedService(dnsName string, deleteDisksAndBlobs bool) (management.OperationID, error) { - if dnsName == "" { - return "", fmt.Errorf(errParamNotSpecified, "dnsName") - } - - requestURL := fmt.Sprintf(getHostedServicePropertiesURL, dnsName) - if deleteDisksAndBlobs { - requestURL += "?comp=media" - } - return h.client.SendAzureDeleteRequest(requestURL) -} - -func (h HostedServiceClient) GetHostedService(name string) (HostedService, error) { - hostedService := HostedService{} - if name == "" { - return hostedService, fmt.Errorf(errParamNotSpecified, "name") - } - - requestURL := fmt.Sprintf(getHostedServicePropertiesURL, name) - response, err := h.client.SendAzureGetRequest(requestURL) - if err != nil { - return hostedService, err - } - - err = xml.Unmarshal(response, &hostedService) - if err != nil { - return hostedService, err - } - - decodedLabel, err := base64.StdEncoding.DecodeString(hostedService.LabelBase64) - if err != nil { - return hostedService, err - } - hostedService.Label = string(decodedLabel) - return hostedService, nil -} - -func (h HostedServiceClient) ListHostedServices() (ListHostedServicesResponse, error) { - var response ListHostedServicesResponse - - data, err := h.client.SendAzureGetRequest(azureHostedServiceListURL) - if err != nil { - return response, err - } - - err = xml.Unmarshal(data, &response) - return response, err -} - -func (h HostedServiceClient) AddCertificate(dnsName string, certData []byte, certificateFormat CertificateFormat, password string) (management.OperationID, error) { - if dnsName == "" { - return "", fmt.Errorf(errParamNotSpecified, "dnsName") - } - - certBase64 := base64.StdEncoding.EncodeToString(certData) - - addCertificate := CertificateFile{ - Data: certBase64, - CertificateFormat: certificateFormat, - Password: password, - Xmlns: azureXmlns, - } - buffer, err := xml.Marshal(addCertificate) - if err != nil { - return "", err - } - - requestURL := fmt.Sprintf(azureServiceCertificateURL, dnsName) - return h.client.SendAzurePostRequest(requestURL, buffer) -} diff --git a/services/classic/management/hostedservice/entities.go b/services/classic/management/hostedservice/entities.go deleted file mode 100644 index aa5b994515b7..000000000000 --- a/services/classic/management/hostedservice/entities.go +++ /dev/null @@ -1,74 +0,0 @@ -// +build go1.7 - -package hostedservice - -// Copyright 2017 Microsoft Corporation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -import ( - "encoding/xml" - - "github.com/Azure/azure-sdk-for-go/services/classic/management" -) - -//HostedServiceClient is used to perform operations on Azure Hosted Services -type HostedServiceClient struct { - client management.Client -} - -type CreateHostedServiceParameters struct { - XMLName xml.Name `xml:"http://schemas.microsoft.com/windowsazure CreateHostedService"` - ServiceName string - Label string - Description string - Location string - ReverseDNSFqdn string `xml:"ReverseDnsFqdn,omitempty"` -} - -type AvailabilityResponse struct { - Xmlns string `xml:"xmlns,attr"` - Result bool - Reason string -} - -type HostedService struct { - URL string `xml:"Url"` - ServiceName string - Description string `xml:"HostedServiceProperties>Description"` - AffinityGroup string `xml:"HostedServiceProperties>AffinityGroup"` - Location string `xml:"HostedServiceProperties>Location"` - LabelBase64 string `xml:"HostedServiceProperties>Label"` - Label string - Status string `xml:"HostedServiceProperties>Status"` - ReverseDNSFqdn string `xml:"HostedServiceProperties>ReverseDnsFqdn"` - DefaultWinRmCertificateThumbprint string -} - -type CertificateFile struct { - Xmlns string `xml:"xmlns,attr"` - Data string - CertificateFormat CertificateFormat - Password string `xml:",omitempty"` -} - -type CertificateFormat string - -const ( - CertificateFormatPfx = CertificateFormat("pfx") - CertificateFormatCer = CertificateFormat("cer") -) - -type ListHostedServicesResponse struct { - HostedServices []HostedService `xml:"HostedService"` -} diff --git a/services/classic/management/http.go b/services/classic/management/http.go deleted file mode 100644 index a12f8a156ded..000000000000 --- a/services/classic/management/http.go +++ /dev/null @@ -1,206 +0,0 @@ -// +build go1.7 - -package management - -// Copyright 2017 Microsoft Corporation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -import ( - "bytes" - "crypto/tls" - "fmt" - "net/http" - "time" -) - -const ( - msVersionHeader = "x-ms-version" - requestIDHeader = "x-ms-request-id" - uaHeader = "User-Agent" - contentHeader = "Content-Type" - defaultContentHeaderValue = "application/xml" -) - -func (client client) SendAzureGetRequest(url string) ([]byte, error) { - resp, err := client.sendAzureRequest("GET", url, "", nil) - if err != nil { - return nil, err - } - return getResponseBody(resp) -} - -func (client client) SendAzurePostRequest(url string, data []byte) (OperationID, error) { - return client.doAzureOperation("POST", url, "", data) -} - -func (client client) SendAzurePostRequestWithReturnedResponse(url string, data []byte) ([]byte, error) { - resp, err := client.sendAzureRequest("POST", url, "", data) - if err != nil { - return nil, err - } - - return getResponseBody(resp) -} - -func (client client) SendAzurePutRequest(url, contentType string, data []byte) (OperationID, error) { - return client.doAzureOperation("PUT", url, contentType, data) -} - -func (client client) SendAzureDeleteRequest(url string) (OperationID, error) { - return client.doAzureOperation("DELETE", url, "", nil) -} - -func (client client) doAzureOperation(method, url, contentType string, data []byte) (OperationID, error) { - response, err := client.sendAzureRequest(method, url, contentType, data) - if err != nil { - return "", err - } - return getOperationID(response) -} - -func getOperationID(response *http.Response) (OperationID, error) { - requestID := response.Header.Get(requestIDHeader) - if requestID == "" { - return "", fmt.Errorf("Could not retrieve operation id from %q header", requestIDHeader) - } - return OperationID(requestID), nil -} - -// sendAzureRequest constructs an HTTP client for the request, sends it to the -// management API and returns the response or an error. -func (client client) sendAzureRequest(method, url, contentType string, data []byte) (*http.Response, error) { - if method == "" { - return nil, fmt.Errorf(errParamNotSpecified, "method") - } - if url == "" { - return nil, fmt.Errorf(errParamNotSpecified, "url") - } - - response, err := client.sendRequest(client.httpClient, url, method, contentType, data, 5) - if err != nil { - return nil, err - } - - return response, nil -} - -// createHTTPClient creates an HTTP Client configured with the key pair for -// the subscription for this client. -func (client client) createHTTPClient() (*http.Client, error) { - cert, err := tls.X509KeyPair(client.publishSettings.SubscriptionCert, client.publishSettings.SubscriptionKey) - if err != nil { - return nil, err - } - - return &http.Client{ - Transport: &http.Transport{ - Proxy: http.ProxyFromEnvironment, - TLSClientConfig: &tls.Config{ - Renegotiation: tls.RenegotiateOnceAsClient, - Certificates: []tls.Certificate{cert}, - }, - }, - }, nil -} - -// sendRequest sends a request to the Azure management API using the given -// HTTP client and parameters. It returns the response from the call or an -// error. -func (client client) sendRequest(httpClient *http.Client, url, requestType, contentType string, data []byte, numberOfRetries int) (*http.Response, error) { - - absURI := client.createAzureRequestURI(url) - - for { - request, reqErr := client.createAzureRequest(absURI, requestType, contentType, data) - if reqErr != nil { - return nil, reqErr - } - - response, err := httpClient.Do(request) - if err != nil { - if numberOfRetries == 0 { - return nil, err - } - - return client.sendRequest(httpClient, url, requestType, contentType, data, numberOfRetries-1) - } - if response.StatusCode == http.StatusTemporaryRedirect { - // ASM's way of moving traffic around, see https://msdn.microsoft.com/en-us/library/azure/ee460801.aspx - // Only handled automatically for GET/HEAD requests. This is for the rest of the http verbs. - u, err := response.Location() - if err != nil { - return response, fmt.Errorf("Redirect requested but location header could not be retrieved: %v", err) - } - absURI = u.String() - continue // re-issue request - } - - if response.StatusCode >= http.StatusBadRequest { - body, err := getResponseBody(response) - if err != nil { - // Failed to read the response body - return nil, err - } - azureErr := getAzureError(body) - if azureErr != nil { - if numberOfRetries == 0 { - return nil, azureErr - } - if response.StatusCode == http.StatusServiceUnavailable || response.StatusCode == http.StatusTooManyRequests { - // Wait before retrying the operation - time.Sleep(client.config.OperationPollInterval) - } - - return client.sendRequest(httpClient, url, requestType, contentType, data, numberOfRetries-1) - } - } - - return response, nil - } -} - -// createAzureRequestURI constructs the request uri using the management API endpoint and -// subscription ID associated with the client. -func (client client) createAzureRequestURI(url string) string { - return fmt.Sprintf("%s/%s/%s", client.config.ManagementURL, client.publishSettings.SubscriptionID, url) -} - -// createAzureRequest packages up the request with the correct set of headers and returns -// the request object or an error. -func (client client) createAzureRequest(url string, requestType string, contentType string, data []byte) (*http.Request, error) { - var request *http.Request - var err error - - if data != nil { - body := bytes.NewBuffer(data) - request, err = http.NewRequest(requestType, url, body) - } else { - request, err = http.NewRequest(requestType, url, nil) - } - - if err != nil { - return nil, err - } - - request.Header.Set(msVersionHeader, client.config.APIVersion) - request.Header.Set(uaHeader, client.config.UserAgent) - - if contentType != "" { - request.Header.Set(contentHeader, contentType) - } else { - request.Header.Set(contentHeader, defaultContentHeaderValue) - } - - return request, nil -} diff --git a/services/classic/management/location/client.go b/services/classic/management/location/client.go deleted file mode 100644 index aa735a20a5db..000000000000 --- a/services/classic/management/location/client.go +++ /dev/null @@ -1,46 +0,0 @@ -// +build go1.7 - -// Package location provides a client for Locations. -package location - -// Copyright 2017 Microsoft Corporation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -import ( - "encoding/xml" - - "github.com/Azure/azure-sdk-for-go/services/classic/management" -) - -const ( - azureLocationListURL = "locations" - errParamNotSpecified = "Parameter %s is not specified." -) - -//NewClient is used to instantiate a new LocationClient from an Azure client -func NewClient(client management.Client) LocationClient { - return LocationClient{client: client} -} - -func (c LocationClient) ListLocations() (ListLocationsResponse, error) { - var l ListLocationsResponse - - response, err := c.client.SendAzureGetRequest(azureLocationListURL) - if err != nil { - return l, err - } - - err = xml.Unmarshal(response, &l) - return l, err -} diff --git a/services/classic/management/location/entities.go b/services/classic/management/location/entities.go deleted file mode 100644 index 7b12c1079d8c..000000000000 --- a/services/classic/management/location/entities.go +++ /dev/null @@ -1,53 +0,0 @@ -// +build go1.7 - -package location - -// Copyright 2017 Microsoft Corporation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -import ( - "bytes" - "encoding/xml" - "fmt" - "strings" - - "github.com/Azure/azure-sdk-for-go/services/classic/management" -) - -//LocationClient is used to perform operations on Azure Locations -type LocationClient struct { - client management.Client -} - -type ListLocationsResponse struct { - XMLName xml.Name `xml:"Locations"` - Locations []Location `xml:"Location"` -} - -type Location struct { - Name string - DisplayName string - AvailableServices []string `xml:"AvailableServices>AvailableService"` - WebWorkerRoleSizes []string `xml:"ComputeCapabilities>WebWorkerRoleSizes>RoleSize"` - VirtualMachineRoleSizes []string `xml:"ComputeCapabilities>VirtualMachinesRoleSizes>RoleSize"` -} - -func (ll ListLocationsResponse) String() string { - var buf bytes.Buffer - for _, l := range ll.Locations { - fmt.Fprintf(&buf, "%s, ", l.Name) - } - - return strings.Trim(buf.String(), ", ") -} diff --git a/services/classic/management/networksecuritygroup/client.go b/services/classic/management/networksecuritygroup/client.go deleted file mode 100644 index 6c7f9ce9c7ab..000000000000 --- a/services/classic/management/networksecuritygroup/client.go +++ /dev/null @@ -1,266 +0,0 @@ -// +build go1.7 - -// Package networksecuritygroup provides a client for Network Security Groups. -package networksecuritygroup - -// Copyright 2017 Microsoft Corporation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -import ( - "encoding/xml" - "fmt" - - "github.com/Azure/azure-sdk-for-go/services/classic/management" -) - -const ( - createSecurityGroupURL = "services/networking/networksecuritygroups" - deleteSecurityGroupURL = "services/networking/networksecuritygroups/%s" - getSecurityGroupURL = "services/networking/networksecuritygroups/%s?detaillevel=full" - listSecurityGroupsURL = "services/networking/networksecuritygroups" - addSecurityGroupToSubnetURL = "services/networking/virtualnetwork/%s/subnets/%s/networksecuritygroups" - getSecurityGroupForSubnetURL = "services/networking/virtualnetwork/%s/subnets/%s/networksecuritygroups" - removeSecurityGroupFromSubnetURL = "services/networking/virtualnetwork/%s/subnets/%s/networksecuritygroups/%s" - setSecurityGroupRuleURL = "services/networking/networksecuritygroups/%s/rules/%s" - deleteSecurityGroupRuleURL = "services/networking/networksecuritygroups/%s/rules/%s" - - errParamNotSpecified = "Parameter %s is not specified." -) - -// NewClient is used to instantiate a new SecurityGroupClient from an Azure client -func NewClient(client management.Client) SecurityGroupClient { - return SecurityGroupClient{client: client} -} - -// CreateNetworkSecurityGroup creates a new network security group within -// the context of the specified subscription -// -// https://msdn.microsoft.com/en-us/library/azure/dn913818.aspx -func (sg SecurityGroupClient) CreateNetworkSecurityGroup( - name string, - label string, - location string) (management.OperationID, error) { - if name == "" { - return "", fmt.Errorf(errParamNotSpecified, "name") - } - if location == "" { - return "", fmt.Errorf(errParamNotSpecified, "location") - } - - data, err := xml.Marshal(SecurityGroupRequest{ - Name: name, - Label: label, - Location: location, - }) - if err != nil { - return "", err - } - - requestURL := fmt.Sprintf(createSecurityGroupURL) - return sg.client.SendAzurePostRequest(requestURL, data) -} - -// DeleteNetworkSecurityGroup deletes the specified network security group from the subscription -// -// https://msdn.microsoft.com/en-us/library/azure/dn913825.aspx -func (sg SecurityGroupClient) DeleteNetworkSecurityGroup( - name string) (management.OperationID, error) { - if name == "" { - return "", fmt.Errorf(errParamNotSpecified, "name") - } - - requestURL := fmt.Sprintf(deleteSecurityGroupURL, name) - return sg.client.SendAzureDeleteRequest(requestURL) -} - -// GetNetworkSecurityGroup returns information about the specified network security group -// -// https://msdn.microsoft.com/en-us/library/azure/dn913821.aspx -func (sg SecurityGroupClient) GetNetworkSecurityGroup(name string) (SecurityGroupResponse, error) { - if name == "" { - return SecurityGroupResponse{}, fmt.Errorf(errParamNotSpecified, "name") - } - - var securityGroup SecurityGroupResponse - - requestURL := fmt.Sprintf(getSecurityGroupURL, name) - response, err := sg.client.SendAzureGetRequest(requestURL) - if err != nil { - return securityGroup, err - } - - err = xml.Unmarshal(response, &securityGroup) - return securityGroup, err -} - -// ListNetworkSecurityGroups returns a list of the network security groups -// in the specified subscription -// -// https://msdn.microsoft.com/en-us/library/azure/dn913815.aspx -func (sg SecurityGroupClient) ListNetworkSecurityGroups() (SecurityGroupList, error) { - // the list of NetworkSecurityGroup items is wrapped in a NetworkSecurityGroups - // element so we need an outer struct representing this element. - type NetworkSecurityGroups struct { - SecurityGroupList SecurityGroupList `xml:"http://schemas.microsoft.com/windowsazure NetworkSecurityGroup"` - } - var securityGroups NetworkSecurityGroups - - response, err := sg.client.SendAzureGetRequest(listSecurityGroupsURL) - if err != nil { - return securityGroups.SecurityGroupList, err - } - - err = xml.Unmarshal(response, &securityGroups) - return securityGroups.SecurityGroupList, err -} - -// AddNetworkSecurityToSubnet associates the network security group with -// specified subnet in a virtual network -// -// https://msdn.microsoft.com/en-us/library/azure/dn913822.aspx -func (sg SecurityGroupClient) AddNetworkSecurityToSubnet( - name string, - subnet string, - virtualNetwork string) (management.OperationID, error) { - if name == "" { - return "", fmt.Errorf(errParamNotSpecified, "name") - } - if subnet == "" { - return "", fmt.Errorf(errParamNotSpecified, "subnet") - } - if virtualNetwork == "" { - return "", fmt.Errorf(errParamNotSpecified, "virtualNetwork") - } - - data, err := xml.Marshal(SecurityGroupRequest{Name: name}) - if err != nil { - return "", err - } - - requestURL := fmt.Sprintf(addSecurityGroupToSubnetURL, virtualNetwork, subnet) - return sg.client.SendAzurePostRequest(requestURL, data) -} - -// GetNetworkSecurityGroupForSubnet returns information about the network -// security group associated with a subnet -// -// https://msdn.microsoft.com/en-us/library/azure/dn913817.aspx -func (sg SecurityGroupClient) GetNetworkSecurityGroupForSubnet( - subnet string, - virtualNetwork string) (SecurityGroupResponse, error) { - if subnet == "" { - return SecurityGroupResponse{}, fmt.Errorf(errParamNotSpecified, "subnet") - } - if virtualNetwork == "" { - return SecurityGroupResponse{}, fmt.Errorf(errParamNotSpecified, "virtualNetwork") - } - - var securityGroup SecurityGroupResponse - - requestURL := fmt.Sprintf(getSecurityGroupForSubnetURL, virtualNetwork, subnet) - response, err := sg.client.SendAzureGetRequest(requestURL) - if err != nil { - return securityGroup, err - } - - err = xml.Unmarshal(response, &securityGroup) - return securityGroup, err -} - -// RemoveNetworkSecurityGroupFromSubnet removes the association of the -// specified network security group from the specified subnet -// -// https://msdn.microsoft.com/en-us/library/azure/dn913820.aspx -func (sg SecurityGroupClient) RemoveNetworkSecurityGroupFromSubnet( - name string, - subnet string, - virtualNetwork string) (management.OperationID, error) { - if name == "" { - return "", fmt.Errorf(errParamNotSpecified, "name") - } - if subnet == "" { - return "", fmt.Errorf(errParamNotSpecified, "subnet") - } - if virtualNetwork == "" { - return "", fmt.Errorf(errParamNotSpecified, "virtualNetwork") - } - - requestURL := fmt.Sprintf(removeSecurityGroupFromSubnetURL, virtualNetwork, subnet, name) - return sg.client.SendAzureDeleteRequest(requestURL) -} - -// SetNetworkSecurityGroupRule adds or updates a network security rule that -// is associated with the specified network security group -// -// https://msdn.microsoft.com/en-us/library/azure/dn913819.aspx -func (sg SecurityGroupClient) SetNetworkSecurityGroupRule( - securityGroup string, - rule RuleRequest) (management.OperationID, error) { - if securityGroup == "" { - return "", fmt.Errorf(errParamNotSpecified, "securityGroup") - } - if rule.Name == "" { - return "", fmt.Errorf(errParamNotSpecified, "Name") - } - if rule.Type == "" { - return "", fmt.Errorf(errParamNotSpecified, "Type") - } - if rule.Priority == 0 { - return "", fmt.Errorf(errParamNotSpecified, "Priority") - } - if rule.Action == "" { - return "", fmt.Errorf(errParamNotSpecified, "Action") - } - if rule.SourceAddressPrefix == "" { - return "", fmt.Errorf(errParamNotSpecified, "SourceAddressPrefix") - } - if rule.SourcePortRange == "" { - return "", fmt.Errorf(errParamNotSpecified, "SourcePortRange") - } - if rule.DestinationAddressPrefix == "" { - return "", fmt.Errorf(errParamNotSpecified, "DestinationAddressPrefix") - } - if rule.DestinationPortRange == "" { - return "", fmt.Errorf(errParamNotSpecified, "DestinationPortRange") - } - if rule.Protocol == "" { - return "", fmt.Errorf(errParamNotSpecified, "Protocol") - } - - data, err := xml.Marshal(rule) - if err != nil { - return "", err - } - - requestURL := fmt.Sprintf(setSecurityGroupRuleURL, securityGroup, rule.Name) - return sg.client.SendAzurePutRequest(requestURL, "", data) -} - -// DeleteNetworkSecurityGroupRule deletes a network security group rule from -// the specified network security group -// -// https://msdn.microsoft.com/en-us/library/azure/dn913816.aspx -func (sg SecurityGroupClient) DeleteNetworkSecurityGroupRule( - securityGroup string, - rule string) (management.OperationID, error) { - if securityGroup == "" { - return "", fmt.Errorf(errParamNotSpecified, "securityGroup") - } - if rule == "" { - return "", fmt.Errorf(errParamNotSpecified, "rule") - } - - requestURL := fmt.Sprintf(deleteSecurityGroupRuleURL, securityGroup, rule) - return sg.client.SendAzureDeleteRequest(requestURL) -} diff --git a/services/classic/management/networksecuritygroup/entities.go b/services/classic/management/networksecuritygroup/entities.go deleted file mode 100644 index 1073eac79e2c..000000000000 --- a/services/classic/management/networksecuritygroup/entities.go +++ /dev/null @@ -1,131 +0,0 @@ -// +build go1.7 - -// Package networksecuritygroup implements operations for managing network security groups -// using the Service Management REST API -// -// https://msdn.microsoft.com/en-us/library/azure/dn913824.aspx -package networksecuritygroup - -// Copyright 2017 Microsoft Corporation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -import ( - "encoding/xml" - - "github.com/Azure/azure-sdk-for-go/services/classic/management" -) - -// SecurityGroupClient is used to perform operations on network security groups -type SecurityGroupClient struct { - client management.Client -} - -// SecurityGroupRequest represents a network security group -// -// https://msdn.microsoft.com/en-us/library/azure/dn913821.aspx -type SecurityGroupRequest struct { - XMLName xml.Name `xml:"http://schemas.microsoft.com/windowsazure NetworkSecurityGroup"` - Name string - Label string `xml:",omitempty"` - Location string `xml:",omitempty"` -} - -// SecurityGroupResponse represents a network security group -// -// https://msdn.microsoft.com/en-us/library/azure/dn913821.aspx -type SecurityGroupResponse struct { - XMLName xml.Name `xml:"http://schemas.microsoft.com/windowsazure NetworkSecurityGroup"` - Name string - Label string `xml:",omitempty"` - Location string `xml:",omitempty"` - State SecurityGroupState `xml:",omitempty"` - Rules []RuleResponse `xml:">Rule,omitempty"` -} - -// SecurityGroupList represents a list of security groups -type SecurityGroupList []SecurityGroupResponse - -// SecurityGroupState represents a security group state -type SecurityGroupState string - -// These constants represent the possible security group states -const ( - SecurityGroupStateCreated SecurityGroupState = "Created" - SecurityGroupStateCreating SecurityGroupState = "Creating" - SecurityGroupStateUpdating SecurityGroupState = "Updating" - SecurityGroupStateDeleting SecurityGroupState = "Deleting" - SecurityGroupStateUnavailable SecurityGroupState = "Unavailable" -) - -// RuleRequest represents a single rule of a network security group -// -// https://msdn.microsoft.com/en-us/library/azure/dn913821.aspx#bk_rules -type RuleRequest struct { - XMLName xml.Name `xml:"http://schemas.microsoft.com/windowsazure Rule"` - Name string - Type RuleType - Priority int - Action RuleAction - SourceAddressPrefix string - SourcePortRange string - DestinationAddressPrefix string - DestinationPortRange string - Protocol RuleProtocol -} - -// RuleResponse represents a single rule of a network security group -// -// https://msdn.microsoft.com/en-us/library/azure/dn913821.aspx#bk_rules -type RuleResponse struct { - XMLName xml.Name `xml:"http://schemas.microsoft.com/windowsazure Rule"` - Name string - Type RuleType - Priority int - Action RuleAction - SourceAddressPrefix string - SourcePortRange string - DestinationAddressPrefix string - DestinationPortRange string - Protocol RuleProtocol - State string `xml:",omitempty"` - IsDefault bool `xml:",omitempty"` -} - -// RuleType represents a rule type -type RuleType string - -// These constants represent the possible rule types -const ( - RuleTypeInbound RuleType = "Inbound" - RuleTypeOutbound RuleType = "Outbound" -) - -// RuleAction represents a rule action -type RuleAction string - -// These constants represent the possible rule actions -const ( - RuleActionAllow RuleAction = "Allow" - RuleActionDeny RuleAction = "Deny" -) - -// RuleProtocol represents a rule protocol -type RuleProtocol string - -// These constants represent the possible rule types -const ( - RuleProtocolTCP RuleProtocol = "TCP" - RuleProtocolUDP RuleProtocol = "UDP" - RuleProtocolAll RuleProtocol = "*" -) diff --git a/services/classic/management/operations.go b/services/classic/management/operations.go deleted file mode 100644 index eb306b8b14bd..000000000000 --- a/services/classic/management/operations.go +++ /dev/null @@ -1,108 +0,0 @@ -// +build go1.7 - -package management - -// Copyright 2017 Microsoft Corporation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -import ( - "encoding/xml" - "errors" - "fmt" - "time" -) - -var ( - // ErrOperationCancelled from WaitForOperation when the polling loop is - // cancelled through signaling the channel. - ErrOperationCancelled = errors.New("Polling for operation status cancelled") -) - -// GetOperationStatusResponse represents an in-flight operation. Use -// client.GetOperationStatus() to get the operation given the operation ID, or -// use WaitForOperation() to poll and wait until the operation has completed. -// See https://msdn.microsoft.com/en-us/library/azure/ee460783.aspx -type GetOperationStatusResponse struct { - XMLName xml.Name `xml:"http://schemas.microsoft.com/windowsazure Operation"` - ID string - Status OperationStatus - HTTPStatusCode string - Error *AzureError -} - -// OperationStatus describes the states an Microsoft Azure Service Management -// operation an be in. -type OperationStatus string - -// List of states an operation can be reported as -const ( - OperationStatusInProgress OperationStatus = "InProgress" - OperationStatusSucceeded OperationStatus = "Succeeded" - OperationStatusFailed OperationStatus = "Failed" -) - -// OperationID is assigned by Azure API and can be used to look up the status of -// an operation -type OperationID string - -func (c client) GetOperationStatus(operationID OperationID) (GetOperationStatusResponse, error) { - operation := GetOperationStatusResponse{} - if operationID == "" { - return operation, fmt.Errorf(errParamNotSpecified, "operationID") - } - - url := fmt.Sprintf("operations/%s", operationID) - response, azureErr := c.SendAzureGetRequest(url) - if azureErr != nil { - return operation, azureErr - } - - err := xml.Unmarshal(response, &operation) - return operation, err -} - -func (c client) WaitForOperation(operationID OperationID, cancel chan struct{}) error { - for { - done, err := c.checkOperationStatus(operationID) - if err != nil || done { - return err - } - select { - case <-time.After(c.config.OperationPollInterval): - case <-cancel: - return ErrOperationCancelled - } - } -} - -func (c client) checkOperationStatus(id OperationID) (done bool, err error) { - op, err := c.GetOperationStatus(id) - if err != nil { - return false, fmt.Errorf("Failed to get operation status '%s': %v", id, err) - } - - switch op.Status { - case OperationStatusSucceeded: - return true, nil - case OperationStatusFailed: - if op.Error != nil { - return true, op.Error - } - return true, fmt.Errorf("Azure Operation (x-ms-request-id=%s) has failed", id) - case OperationStatusInProgress: - return false, nil - default: - return false, fmt.Errorf("Unknown operation status returned from API: %s (x-ms-request-id=%s)", op.Status, id) - } -} diff --git a/services/classic/management/osimage/client.go b/services/classic/management/osimage/client.go deleted file mode 100644 index 3726abd88634..000000000000 --- a/services/classic/management/osimage/client.go +++ /dev/null @@ -1,60 +0,0 @@ -// +build go1.7 - -// Package osimage provides a client for Operating System Images. -package osimage - -// Copyright 2017 Microsoft Corporation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -import ( - "encoding/xml" - - "github.com/Azure/azure-sdk-for-go/services/classic/management" -) - -const ( - azureImageListURL = "services/images" - errInvalidImage = "Can not find image %s in specified subscription, please specify another image name." - errParamNotSpecified = "Parameter %s is not specified." -) - -// NewClient is used to instantiate a new OSImageClient from an Azure client. -func NewClient(client management.Client) OSImageClient { - return OSImageClient{client: client} -} - -func (c OSImageClient) ListOSImages() (ListOSImagesResponse, error) { - var l ListOSImagesResponse - - response, err := c.client.SendAzureGetRequest(azureImageListURL) - if err != nil { - return l, err - } - - err = xml.Unmarshal(response, &l) - return l, err -} - -// AddOSImage adds an operating system image to the image repository that is associated with the specified subscription. -// -// See https://msdn.microsoft.com/en-us/library/azure/jj157192.aspx for details. -func (c OSImageClient) AddOSImage(osi *OSImage) (management.OperationID, error) { - data, err := xml.Marshal(osi) - if err != nil { - return "", err - } - - return c.client.SendAzurePostRequest(azureImageListURL, data) - -} diff --git a/services/classic/management/osimage/entities.go b/services/classic/management/osimage/entities.go deleted file mode 100644 index 970f131e8959..000000000000 --- a/services/classic/management/osimage/entities.go +++ /dev/null @@ -1,65 +0,0 @@ -// +build go1.7 - -package osimage - -// Copyright 2017 Microsoft Corporation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -import ( - "encoding/xml" - - "github.com/Azure/azure-sdk-for-go/services/classic/management" -) - -// OSImageClient is used to perform operations on Azure Locations -type OSImageClient struct { - client management.Client -} - -type ListOSImagesResponse struct { - XMLName xml.Name `xml:"Images"` - OSImages []OSImage `xml:"OSImage"` -} - -type OSImage struct { - XMLName xml.Name `xml:"http://schemas.microsoft.com/windowsazure OSImage"` - Category string // Public || Private || MSDN - Label string // Specifies an identifier for the image. - LogicalSizeInGB float64 //Specifies the size, in GB, of the image. - Name string // Specifies the name of the operating system image. This is the name that is used when creating one or more virtual machines using the image. - OS string // Linux || Windows - Eula string // Specifies the End User License Agreement that is associated with the image. The value for this element is a string, but it is recommended that the value be a URL that points to a EULA. - Description string // Specifies the description of the image. - Location string // The geo-location in which this media is located. The Location value is derived from storage account that contains the blob in which the media is located. If the storage account belongs to an affinity group the value is NULL. - AffinityGroup string // Specifies the affinity in which the media is located. The AffinityGroup value is derived from storage account that contains the blob in which the media is located. If the storage account does not belong to an affinity group the value is NULL and the element is not displayed in the response. This value is NULL for platform images. - MediaLink string // Specifies the location of the vhd file for the image. The storage account where the vhd is located must be associated with the specified subscription. - ImageFamily string // Specifies a value that can be used to group images. - PublishedDate string // Specifies the date when the image was added to the image repository. - IsPremium string // Indicates whether the image contains software or associated services that will incur charges above the core price for the virtual machine. For additional details, see the PricingDetailLink element. - PrivacyURI string `xml:"PrivacyUri"` // Specifies the URI that points to a document that contains the privacy policy related to the image. - RecommendedVMSize string // Specifies the size to use for the virtual machine that is created from the image. - PublisherName string // The name of the publisher of the image. All user images have a publisher name of User. - PricingDetailLink string // Specifies a URL for an image with IsPremium set to true, which contains the pricing details for a virtual machine that is created from the image. - IconURI string `xml:"IconUri"` // Specifies the Uri to the icon that is displayed for the image in the Management Portal. - SmallIconURI string `xml:"SmallIconUri"` // Specifies the URI to the small icon that is displayed when the image is presented in the Microsoft Azure Management Portal. - Language string // Specifies the language of the image. - IOType IOType // Provisioned || Standard -} - -type IOType string - -const ( - IOTypeProvisioned IOType = "Provisioned" - IOTypeStandard IOType = "Standard" -) diff --git a/services/classic/management/publishSettings.go b/services/classic/management/publishSettings.go deleted file mode 100644 index 8effb38eb8c6..000000000000 --- a/services/classic/management/publishSettings.go +++ /dev/null @@ -1,124 +0,0 @@ -// +build go1.7 - -package management - -// Copyright 2017 Microsoft Corporation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -import ( - "encoding/base64" - "encoding/pem" - "encoding/xml" - "fmt" - "io/ioutil" - - "golang.org/x/crypto/pkcs12" -) - -// ClientFromPublishSettingsData unmarshalls the contents of a publish settings file -// from https://manage.windowsazure.com/publishsettings. -// If subscriptionID is left empty, the first subscription in the file is used. -func ClientFromPublishSettingsData(settingsData []byte, subscriptionID string) (client Client, err error) { - return ClientFromPublishSettingsDataWithConfig(settingsData, subscriptionID, DefaultConfig()) -} - -// ClientFromPublishSettingsFile reads a publish settings file downloaded from https://manage.windowsazure.com/publishsettings. -// If subscriptionID is left empty, the first subscription in the file is used. -func ClientFromPublishSettingsFile(filePath, subscriptionID string) (client Client, err error) { - return ClientFromPublishSettingsFileWithConfig(filePath, subscriptionID, DefaultConfig()) -} - -// ClientFromPublishSettingsFileWithConfig reads a publish settings file downloaded from https://manage.windowsazure.com/publishsettings. -// If subscriptionID is left empty, the first subscription in the file is used. -func ClientFromPublishSettingsFileWithConfig(filePath, subscriptionID string, config ClientConfig) (client Client, err error) { - if filePath == "" { - return client, fmt.Errorf(errParamNotSpecified, "filePath") - } - - publishSettingsContent, err := ioutil.ReadFile(filePath) - if err != nil { - return client, err - } - - return ClientFromPublishSettingsDataWithConfig(publishSettingsContent, subscriptionID, config) -} - -// ClientFromPublishSettingsDataWithConfig unmarshalls the contents of a publish settings file -// from https://manage.windowsazure.com/publishsettings. -// If subscriptionID is left empty, the first subscription in the string is used. -func ClientFromPublishSettingsDataWithConfig(data []byte, subscriptionID string, config ClientConfig) (client Client, err error) { - publishData := publishData{} - if err = xml.Unmarshal(data, &publishData); err != nil { - return client, err - } - - for _, profile := range publishData.PublishProfiles { - for _, sub := range profile.Subscriptions { - if sub.ID == subscriptionID || subscriptionID == "" { - base64Cert := sub.ManagementCertificate - if base64Cert == "" { - base64Cert = profile.ManagementCertificate - } - - pfxData, err := base64.StdEncoding.DecodeString(base64Cert) - if err != nil { - return client, err - } - - pems, err := pkcs12.ToPEM(pfxData, "") - if err != nil { - return client, err - } - - cert := []byte{} - for _, b := range pems { - cert = append(cert, pem.EncodeToMemory(b)...) - } - - config.ManagementURL = sub.ServiceManagementURL - return makeClient(sub.ID, cert, config) - } - } - } - - return client, fmt.Errorf("could not find subscription '%s' in settings provided", subscriptionID) -} - -type publishSettings struct { - SubscriptionID string - SubscriptionCert []byte - SubscriptionKey []byte -} - -type publishData struct { - XMLName xml.Name `xml:"PublishData"` - PublishProfiles []publishProfile `xml:"PublishProfile"` -} - -type publishProfile struct { - XMLName xml.Name `xml:"PublishProfile"` - SchemaVersion string `xml:",attr"` - PublishMethod string `xml:",attr"` - URL string `xml:"Url,attr"` - ManagementCertificate string `xml:",attr"` - Subscriptions []subscription `xml:"Subscription"` -} - -type subscription struct { - XMLName xml.Name `xml:"Subscription"` - ServiceManagementURL string `xml:"ServiceManagementUrl,attr"` - ID string `xml:"Id,attr"` - Name string `xml:",attr"` - ManagementCertificate string `xml:",attr"` -} diff --git a/services/classic/management/sql/client.go b/services/classic/management/sql/client.go deleted file mode 100644 index 483428a47a07..000000000000 --- a/services/classic/management/sql/client.go +++ /dev/null @@ -1,332 +0,0 @@ -// +build go1.7 - -package sql - -// Copyright 2017 Microsoft Corporation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -import ( - "encoding/xml" - "fmt" - "time" - - "github.com/Azure/azure-sdk-for-go/services/classic/management" -) - -// Definitions of numerous constants representing API endpoints. -const ( - azureCreateDatabaseServerURL = "services/sqlservers/servers" - azureListDatabaseServersURL = "services/sqlservers/servers" - azureDeleteDatabaseServerURL = "services/sqlservers/servers/%s" - - azureCreateFirewallRuleURL = "services/sqlservers/servers/%s/firewallrules" - azureGetFirewallRuleURL = "services/sqlservers/servers/%s/firewallrules/%s" - azureListFirewallRulesURL = "services/sqlservers/servers/%s/firewallrules" - azureUpdateFirewallRuleURL = "services/sqlservers/servers/%s/firewallrules/%s" - azureDeleteFirewallRuleURL = "services/sqlservers/servers/%s/firewallrules/%s" - - azureCreateDatabaseURL = "services/sqlservers/servers/%s/databases" - azureGetDatabaseURL = "services/sqlservers/servers/%s/databases/%s" - azureListDatabasesURL = "services/sqlservers/servers/%s/databases?contentview=generic" - azureUpdateDatabaseURL = "services/sqlservers/servers/%s/databases/%s" - azureDeleteDatabaseURL = "services/sqlservers/servers/%s/databases/%s" - - errParamNotSpecified = "Parameter %s was not specified." - - DatabaseStateCreating = "Creating" -) - -// SQLDatabaseClient defines various database CRUD operations. -// It contains a management.Client for making the actual http calls. -type SQLDatabaseClient struct { - mgmtClient management.Client -} - -// NewClient returns a new SQLDatabaseClient struct with the provided -// management.Client as the underlying client. -func NewClient(mgmtClient management.Client) SQLDatabaseClient { - return SQLDatabaseClient{mgmtClient} -} - -// CreateServer creates a new Azure SQL Database server and return its name. -// -// https://msdn.microsoft.com/en-us/library/azure/dn505699.aspx -func (c SQLDatabaseClient) CreateServer(params DatabaseServerCreateParams) (string, error) { - req, err := xml.Marshal(params) - if err != nil { - return "", err - } - - resp, err := c.mgmtClient.SendAzurePostRequestWithReturnedResponse(azureCreateDatabaseServerURL, req) - if err != nil { - return "", err - } - - var name string - err = xml.Unmarshal(resp, &name) - - return name, err -} - -// ListServers retrieves the Azure SQL Database servers for this subscription. -// -// https://msdn.microsoft.com/en-us/library/azure/dn505702.aspx -func (c SQLDatabaseClient) ListServers() (ListServersResponse, error) { - var resp ListServersResponse - - data, err := c.mgmtClient.SendAzureGetRequest(azureListDatabaseServersURL) - if err != nil { - return resp, err - } - - err = xml.Unmarshal(data, &resp) - return resp, err -} - -// DeleteServer deletes an Azure SQL Database server (including all its databases). -// -// https://msdn.microsoft.com/en-us/library/azure/dn505695.aspx -func (c SQLDatabaseClient) DeleteServer(name string) error { - if name == "" { - return fmt.Errorf(errParamNotSpecified, "name") - } - - url := fmt.Sprintf(azureDeleteDatabaseServerURL, name) - _, err := c.mgmtClient.SendAzureDeleteRequest(url) - return err -} - -// CreateFirewallRule creates an Azure SQL Database server -// firewall rule. -// -// https://msdn.microsoft.com/en-us/library/azure/dn505712.aspx -func (c SQLDatabaseClient) CreateFirewallRule(server string, params FirewallRuleCreateParams) error { - if server == "" { - return fmt.Errorf(errParamNotSpecified, "server") - } - - req, err := xml.Marshal(params) - if err != nil { - return err - } - - url := fmt.Sprintf(azureCreateFirewallRuleURL, server) - - _, err = c.mgmtClient.SendAzurePostRequest(url, req) - return err -} - -// GetFirewallRule gets the details of an Azure SQL Database Server firewall rule. -// -// https://msdn.microsoft.com/en-us/library/azure/dn505698.aspx -func (c SQLDatabaseClient) GetFirewallRule(server, ruleName string) (FirewallRuleResponse, error) { - var rule FirewallRuleResponse - - if server == "" { - return rule, fmt.Errorf(errParamNotSpecified, "server") - } - if ruleName == "" { - return rule, fmt.Errorf(errParamNotSpecified, "ruleName") - } - - url := fmt.Sprintf(azureGetFirewallRuleURL, server, ruleName) - resp, err := c.mgmtClient.SendAzureGetRequest(url) - if err != nil { - return rule, err - } - - err = xml.Unmarshal(resp, &rule) - return rule, err -} - -// ListFirewallRules retrieves the set of firewall rules for an Azure SQL -// Database Server. -// -// https://msdn.microsoft.com/en-us/library/azure/dn505715.aspx -func (c SQLDatabaseClient) ListFirewallRules(server string) (ListFirewallRulesResponse, error) { - var rules ListFirewallRulesResponse - - if server == "" { - return rules, fmt.Errorf(errParamNotSpecified, "server") - } - - url := fmt.Sprintf(azureListFirewallRulesURL, server) - resp, err := c.mgmtClient.SendAzureGetRequest(url) - if err != nil { - return rules, err - } - - err = xml.Unmarshal(resp, &rules) - return rules, err -} - -// UpdateFirewallRule update a firewall rule for an Azure SQL Database server. -// -// https://msdn.microsoft.com/en-us/library/azure/dn505707.aspx -func (c SQLDatabaseClient) UpdateFirewallRule(server, ruleName string, params FirewallRuleUpdateParams) error { - if server == "" { - return fmt.Errorf(errParamNotSpecified, "server") - } - if ruleName == "" { - return fmt.Errorf(errParamNotSpecified, "ruleName") - } - - req, err := xml.Marshal(params) - if err != nil { - return err - } - - url := fmt.Sprintf(azureUpdateFirewallRuleURL, server, ruleName) - _, err = c.mgmtClient.SendAzurePutRequest(url, "text/xml", req) - return err -} - -// DeleteFirewallRule deletes an Azure SQL Database server firewall rule. -// -// https://msdn.microsoft.com/en-us/library/azure/dn505706.aspx -func (c SQLDatabaseClient) DeleteFirewallRule(server, ruleName string) error { - if server == "" { - return fmt.Errorf(errParamNotSpecified, "server") - } - if ruleName == "" { - return fmt.Errorf(errParamNotSpecified, "ruleName") - } - - url := fmt.Sprintf(azureDeleteFirewallRuleURL, server, ruleName) - - _, err := c.mgmtClient.SendAzureDeleteRequest(url) - return err -} - -// CreateDatabase creates a new Microsoft Azure SQL Database on the given database server. -// -// https://msdn.microsoft.com/en-us/library/azure/dn505701.aspx -func (c SQLDatabaseClient) CreateDatabase(server string, params DatabaseCreateParams) error { - if server == "" { - return fmt.Errorf(errParamNotSpecified, "server") - } - - req, err := xml.Marshal(params) - if err != nil { - return err - } - - target := fmt.Sprintf(azureCreateDatabaseURL, server) - _, err = c.mgmtClient.SendAzurePostRequest(target, req) - return err -} - -// WaitForDatabaseCreation is a helper method which waits -// for the creation of the database on the given server. -func (c SQLDatabaseClient) WaitForDatabaseCreation( - server, database string, - cancel chan struct{}) error { - for { - stat, err := c.GetDatabase(server, database) - if err != nil { - return err - } - if stat.State != DatabaseStateCreating { - return nil - } - - select { - case <-time.After(management.DefaultOperationPollInterval): - case <-cancel: - return management.ErrOperationCancelled - } - } -} - -// GetDatabase gets the details for an Azure SQL Database. -// -// https://msdn.microsoft.com/en-us/library/azure/dn505708.aspx -func (c SQLDatabaseClient) GetDatabase(server, database string) (ServiceResource, error) { - var db ServiceResource - - if database == "" { - return db, fmt.Errorf(errParamNotSpecified, "database") - } - if server == "" { - return db, fmt.Errorf(errParamNotSpecified, "server") - } - - url := fmt.Sprintf(azureGetDatabaseURL, server, database) - resp, err := c.mgmtClient.SendAzureGetRequest(url) - if err != nil { - return db, err - } - - err = xml.Unmarshal(resp, &db) - return db, err -} - -// ListDatabases returns a list of Azure SQL Databases on the given server. -// -// https://msdn.microsoft.com/en-us/library/azure/dn505711.aspx -func (c SQLDatabaseClient) ListDatabases(server string) (ListDatabasesResponse, error) { - var databases ListDatabasesResponse - if server == "" { - return databases, fmt.Errorf(errParamNotSpecified, "server name") - } - - url := fmt.Sprintf(azureListDatabasesURL, server) - resp, err := c.mgmtClient.SendAzureGetRequest(url) - if err != nil { - return databases, err - } - - err = xml.Unmarshal(resp, &databases) - return databases, err -} - -// UpdateDatabase updates the details of the given Database off the given server. -// -// https://msdn.microsoft.com/en-us/library/azure/dn505718.aspx -func (c SQLDatabaseClient) UpdateDatabase( - server, database string, - params ServiceResourceUpdateParams) (management.OperationID, error) { - if database == "" { - return "", fmt.Errorf(errParamNotSpecified, "database") - } - if server == "" { - return "", fmt.Errorf(errParamNotSpecified, "server") - } - - url := fmt.Sprintf(azureUpdateDatabaseURL, server, database) - req, err := xml.Marshal(params) - if err != nil { - return "", err - } - - return c.mgmtClient.SendAzurePutRequest(url, "text/xml", req) -} - -// DeleteDatabase deletes the Azure SQL Database off the given server. -// -// https://msdn.microsoft.com/en-us/library/azure/dn505705.aspx -func (c SQLDatabaseClient) DeleteDatabase(server, database string) error { - if database == "" { - return fmt.Errorf(errParamNotSpecified, "database") - } - if server == "" { - return fmt.Errorf(errParamNotSpecified, "server") - } - - url := fmt.Sprintf(azureDeleteDatabaseURL, server, database) - - _, err := c.mgmtClient.SendAzureDeleteRequest(url) - - return err -} diff --git a/services/classic/management/sql/entities.go b/services/classic/management/sql/entities.go deleted file mode 100644 index 7006e81697c7..000000000000 --- a/services/classic/management/sql/entities.go +++ /dev/null @@ -1,140 +0,0 @@ -// +build go1.7 - -package sql - -// Copyright 2017 Microsoft Corporation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -import ( - "encoding/xml" -) - -// DatabaseServerCreateParams represents the set of possible parameters -// when issuing a database server creation request to Azure. -// -// https://msdn.microsoft.com/en-us/library/azure/dn505699.aspx -type DatabaseServerCreateParams struct { - XMLName xml.Name `xml:"http://schemas.microsoft.com/sqlazure/2010/12/ Server"` - AdministratorLogin string - AdministratorLoginPassword string - Location string - Version string -} - -// DatabaseServerCreateResponse represents the response following the creation of -// a database server on Azure. -type DatabaseServerCreateResponse struct { - ServerName string -} - -const ( - DatabaseServerVersion11 = "2.0" - DatabaseServerVersion12 = "12.0" -) - -// DatabaseServer represents the set of data received from -// a database server list operation. -// -// https://msdn.microsoft.com/en-us/library/azure/dn505702.aspx -type DatabaseServer struct { - Name string - AdministratorLogin string - Location string - FullyQualifiedDomainName string - Version string - State string -} - -type ListServersResponse struct { - DatabaseServers []DatabaseServer `xml:"Server"` -} - -// FirewallRuleCreateParams represents the set of possible -// parameters when creating a firewall rule on an Azure database server. -// -// https://msdn.microsoft.com/en-us/library/azure/dn505712.aspx -type FirewallRuleCreateParams struct { - XMLName xml.Name `xml:"http://schemas.microsoft.com/windowsazure ServiceResource"` - Name string - StartIPAddress string - EndIPAddress string -} - -// FirewallRuleResponse represents the set of data received from -// an Azure database server firewall rule get response. -// -// https://msdn.microsoft.com/en-us/library/azure/dn505698.aspx -type FirewallRuleResponse struct { - Name string - StartIPAddress string - EndIPAddress string -} - -type ListFirewallRulesResponse struct { - FirewallRules []FirewallRuleResponse `xml:"ServiceResource"` -} - -// FirewallRuleUpdateParams represents the set of possible -// parameters when issuing an update of a database server firewall rule. -// -// https://msdn.microsoft.com/en-us/library/azure/dn505707.aspx -type FirewallRuleUpdateParams struct { - XMLName xml.Name `xml:"http://schemas.microsoft.com/windowsazure ServiceResource"` - Name string - StartIPAddress string - EndIPAddress string -} - -// DatabaseCreateParams represents the set of possible parameters when issuing -// a database creation to Azure, and reading a list response from Azure. -// -// https://msdn.microsoft.com/en-us/library/azure/dn505701.aspx -type DatabaseCreateParams struct { - XMLName xml.Name `xml:"http://schemas.microsoft.com/windowsazure ServiceResource"` - Name string - Edition string `xml:",omitempty"` - CollationName string `xml:",omitempty"` - MaxSizeBytes int64 `xml:",omitempty"` - ServiceObjectiveID string `xml:"ServiceObjectiveId,omitempty"` -} - -// ServiceResource represents the set of parameters obtained from a database -// get or list call. -// -// https://msdn.microsoft.com/en-us/library/azure/dn505708.aspx -type ServiceResource struct { - Name string - State string - SelfLink string - Edition string - CollationName string - MaxSizeBytes int64 - ServiceObjectiveID string `xml:"ServiceObjectiveId,omitempty"` -} - -type ListDatabasesResponse struct { - ServiceResources []ServiceResource `xml:"ServiceResource"` -} - -// ServiceResourceUpdateParams represents the set of parameters available -// for a database service update operation. -// -// https://msdn.microsoft.com/en-us/library/azure/dn505718.aspx -type ServiceResourceUpdateParams struct { - XMLName xml.Name `xml:"http://schemas.microsoft.com/windowsazure ServiceResource"` - Name string - Edition string `xml:",omitempty"` - MaxSizeBytes int64 `xml:",omitempty"` - ServiceObjectiveID string `xml:"ServiceObjectiveId,omitempty"` -} diff --git a/services/classic/management/storageservice/client.go b/services/classic/management/storageservice/client.go deleted file mode 100644 index fb08c1403104..000000000000 --- a/services/classic/management/storageservice/client.go +++ /dev/null @@ -1,124 +0,0 @@ -// +build go1.7 - -// Package storageservice provides a client for Storage Services. -package storageservice - -// Copyright 2017 Microsoft Corporation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -import ( - "encoding/xml" - "fmt" - - "github.com/Azure/azure-sdk-for-go/services/classic/management" -) - -const ( - azureStorageServiceListURL = "services/storageservices" - azureStorageServiceURL = "services/storageservices/%s" - azureStorageServiceKeysURL = "services/storageservices/%s/keys" - azureStorageAccountAvailabilityURL = "services/storageservices/operations/isavailable/%s" - - azureXmlns = "http://schemas.microsoft.com/windowsazure" - - errParamNotSpecified = "Parameter %s is not specified." -) - -// NewClient is used to instantiate a new StorageServiceClient from an Azure -// client. -func NewClient(s management.Client) StorageServiceClient { - return StorageServiceClient{client: s} -} - -func (s StorageServiceClient) ListStorageServices() (ListStorageServicesResponse, error) { - var l ListStorageServicesResponse - response, err := s.client.SendAzureGetRequest(azureStorageServiceListURL) - if err != nil { - return l, err - } - - err = xml.Unmarshal(response, &l) - return l, err -} - -func (s StorageServiceClient) GetStorageService(serviceName string) (StorageServiceResponse, error) { - var svc StorageServiceResponse - if serviceName == "" { - return svc, fmt.Errorf(errParamNotSpecified, "serviceName") - } - - requestURL := fmt.Sprintf(azureStorageServiceURL, serviceName) - response, err := s.client.SendAzureGetRequest(requestURL) - if err != nil { - return svc, err - } - - err = xml.Unmarshal(response, &svc) - return svc, err -} - -func (s StorageServiceClient) GetStorageServiceKeys(serviceName string) (GetStorageServiceKeysResponse, error) { - var r GetStorageServiceKeysResponse - if serviceName == "" { - return r, fmt.Errorf(errParamNotSpecified, "serviceName") - } - - requestURL := fmt.Sprintf(azureStorageServiceKeysURL, serviceName) - data, err := s.client.SendAzureGetRequest(requestURL) - if err != nil { - return r, err - } - - err = xml.Unmarshal(data, &r) - return r, err -} - -func (s StorageServiceClient) CreateStorageService(parameters StorageAccountCreateParameters) (management.OperationID, error) { - data, err := xml.Marshal(CreateStorageServiceInput{ - StorageAccountCreateParameters: parameters}) - if err != nil { - return "", err - } - - return s.client.SendAzurePostRequest(azureStorageServiceListURL, data) -} - -func (s StorageServiceClient) DeleteStorageService(serviceName string) (management.OperationID, error) { - if serviceName == "" { - return "", fmt.Errorf(errParamNotSpecified, "serviceName") - } - - requestURL := fmt.Sprintf(azureStorageServiceURL, serviceName) - return s.client.SendAzureDeleteRequest(requestURL) -} - -// CheckStorageAccountNameAvailability checks to if the specified storage account -// name is available. -// -// See https://msdn.microsoft.com/en-us/library/azure/jj154125.aspx -func (s StorageServiceClient) CheckStorageAccountNameAvailability(name string) (AvailabilityResponse, error) { - var r AvailabilityResponse - if name == "" { - return r, fmt.Errorf(errParamNotSpecified, "name") - } - - requestURL := fmt.Sprintf(azureStorageAccountAvailabilityURL, name) - response, err := s.client.SendAzureGetRequest(requestURL) - if err != nil { - return r, err - } - - err = xml.Unmarshal(response, &r) - return r, err -} diff --git a/services/classic/management/storageservice/entities.go b/services/classic/management/storageservice/entities.go deleted file mode 100644 index 0d928a280eec..000000000000 --- a/services/classic/management/storageservice/entities.go +++ /dev/null @@ -1,95 +0,0 @@ -// +build go1.7 - -package storageservice - -// Copyright 2017 Microsoft Corporation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -import ( - "encoding/xml" - - "github.com/Azure/azure-sdk-for-go/services/classic/management" -) - -// StorageServiceClient is used to perform operations on Azure Storage -type StorageServiceClient struct { - client management.Client -} - -type ListStorageServicesResponse struct { - StorageServices []StorageServiceResponse `xml:"StorageService"` -} - -type StorageServiceResponse struct { - URL string `xml:"Url"` - ServiceName string - StorageServiceProperties StorageServiceProperties -} - -type StorageServiceProperties struct { - Description string - Location string - Label string - Status string - Endpoints []string `xml:"Endpoints>Endpoint"` - GeoReplicationEnabled string - GeoPrimaryRegion string -} - -type GetStorageServiceKeysResponse struct { - URL string `xml:"Url"` - PrimaryKey string `xml:"StorageServiceKeys>Primary"` - SecondaryKey string `xml:"StorageServiceKeys>Secondary"` -} - -type CreateStorageServiceInput struct { - XMLName xml.Name `xml:"http://schemas.microsoft.com/windowsazure CreateStorageServiceInput"` - StorageAccountCreateParameters -} - -type StorageAccountCreateParameters struct { - ServiceName string - Description string `xml:",omitempty"` - Label string - AffinityGroup string `xml:",omitempty"` - Location string `xml:",omitempty"` - ExtendedProperties ExtendedPropertyList - AccountType AccountType -} - -type AccountType string - -const ( - AccountTypeStandardLRS AccountType = "Standard_LRS" - AccountTypeStandardZRS AccountType = "Standard_ZRS" - AccountTypeStandardGRS AccountType = "Standard_GRS" - AccountTypeStandardRAGRS AccountType = "Standard_RAGRS" - AccountTypePremiumLRS AccountType = "Premium_LRS" -) - -type ExtendedPropertyList struct { - ExtendedProperty []ExtendedProperty -} - -type ExtendedProperty struct { - Name string - Value string -} - -type AvailabilityResponse struct { - XMLName xml.Name `xml:"AvailabilityResponse"` - Xmlns string `xml:"xmlns,attr"` - Result bool - Reason string -} diff --git a/services/classic/management/storageservice/entities_test.go b/services/classic/management/storageservice/entities_test.go deleted file mode 100644 index 23a6e9afc850..000000000000 --- a/services/classic/management/storageservice/entities_test.go +++ /dev/null @@ -1,47 +0,0 @@ -// +build go1.7 - -package storageservice - -// Copyright 2017 Microsoft Corporation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -import ( - "encoding/xml" - "testing" -) - -func Test_StorageServiceKeysResponse_Unmarshal(t *testing.T) { - // from https://msdn.microsoft.com/en-us/library/azure/ee460785.aspx - response := []byte(` - - storage-service-url - - primary-key - secondary-key - - `) - - keysResponse := GetStorageServiceKeysResponse{} - err := xml.Unmarshal(response, &keysResponse) - if err != nil { - t.Fatal(err) - } - - if expected := "primary-key"; keysResponse.PrimaryKey != expected { - t.Fatalf("Expected %q but got %q", expected, keysResponse.PrimaryKey) - } - if expected := "secondary-key"; keysResponse.SecondaryKey != expected { - t.Fatalf("Expected %q but got %q", expected, keysResponse.SecondaryKey) - } -} diff --git a/services/classic/management/testutils/managementclient.go b/services/classic/management/testutils/managementclient.go deleted file mode 100644 index 693c9bd15822..000000000000 --- a/services/classic/management/testutils/managementclient.go +++ /dev/null @@ -1,103 +0,0 @@ -// +build go1.7 - -// Package testutils contains some test utilities for the Azure SDK -package testutils - -// Copyright 2017 Microsoft Corporation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -import ( - "encoding/base64" - "os" - "testing" - - "github.com/Azure/azure-sdk-for-go/services/classic/management" -) - -// GetTestClient returns a management Client for testing. Expects -// AZSUBSCRIPTIONID and AZCERTDATA to be present in the environment. AZCERTDATA -// is the base64encoded binary representation of the PEM certificate data. -func GetTestClient(t *testing.T) management.Client { - subid := os.Getenv("AZSUBSCRIPTIONID") - certdata := os.Getenv("AZCERTDATA") - if subid == "" || certdata == "" { - t.Skip("AZSUBSCRIPTIONID or AZCERTDATA not set, skipping test") - } - cert, err := base64.StdEncoding.DecodeString(certdata) - if err != nil { - t.Fatal(err) - } - - client, err := management.NewClient(subid, cert) - if err != nil { - t.Fatal(err) - } - return testClient{client, t} -} - -type testClient struct { - management.Client - t *testing.T -} - -func chop(d []byte) string { - const maxlen = 5000 - - s := string(d) - - if len(s) > maxlen { - return s[:maxlen] + "..." - } - return s -} - -func (l testClient) SendAzureGetRequest(url string) ([]byte, error) { - d, err := l.Client.SendAzureGetRequest(url) - logOperation(l.t, "GET", url, nil, d, "", err) - return d, err -} - -func (l testClient) SendAzurePostRequest(url string, data []byte) (management.OperationID, error) { - oid, err := l.Client.SendAzurePostRequest(url, data) - logOperation(l.t, "POST", url, data, nil, oid, err) - return oid, err -} - -func (l testClient) SendAzurePutRequest(url string, contentType string, data []byte) (management.OperationID, error) { - oid, err := l.Client.SendAzurePutRequest(url, contentType, data) - logOperation(l.t, "PUT", url, data, nil, oid, err) - return oid, err -} - -func (l testClient) SendAzureDeleteRequest(url string) (management.OperationID, error) { - oid, err := l.Client.SendAzureDeleteRequest(url) - logOperation(l.t, "DELETE", url, nil, nil, oid, err) - return oid, err -} - -func logOperation(t *testing.T, method, url string, requestData, responseData []byte, oid management.OperationID, err error) { - t.Logf("AZURE> %s %s\n", method, url) - if requestData != nil { - t.Logf(" >>> %s\n", chop(requestData)) - } - if err != nil { - t.Logf(" <<< ERROR: %+v\n", err) - } else { - if responseData != nil { - t.Logf(" <<< %s\n", chop(responseData)) - } else { - t.Logf(" <<< OperationID: %s\n", oid) - } - } -} diff --git a/services/classic/management/util.go b/services/classic/management/util.go deleted file mode 100644 index 9a32f20eabae..000000000000 --- a/services/classic/management/util.go +++ /dev/null @@ -1,27 +0,0 @@ -// +build go1.7 - -package management - -// Copyright 2017 Microsoft Corporation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -import ( - "io/ioutil" - "net/http" -) - -func getResponseBody(response *http.Response) ([]byte, error) { - defer response.Body.Close() - return ioutil.ReadAll(response.Body) -} diff --git a/services/classic/management/virtualmachine/client.go b/services/classic/management/virtualmachine/client.go deleted file mode 100644 index b9533c8410c7..000000000000 --- a/services/classic/management/virtualmachine/client.go +++ /dev/null @@ -1,606 +0,0 @@ -// +build go1.7 - -// Package virtualmachine provides a client for Virtual Machines. -package virtualmachine - -// Copyright 2017 Microsoft Corporation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -import ( - "encoding/xml" - "fmt" - - "github.com/Azure/azure-sdk-for-go/services/classic/management" -) - -const ( - azureDeploymentListURL = "services/hostedservices/%s/deployments" - azureDeploymentURL = "services/hostedservices/%s/deployments/%s" - azureUpdateDeploymentURL = "services/hostedservices/%s/deployments/%s?comp=%s" - azureDeploymentSlotSwapURL = "services/hostedservices/%s" - azureDeploymentSlotURL = "services/hostedservices/%s/deploymentslots/%s" - azureUpdateDeploymentSlotConfigurationURL = "services/hostedservices/%s/deploymentslots/%s?comp=%s" - deleteAzureDeploymentURL = "services/hostedservices/%s/deployments/%s?comp=media" - azureDeleteDeploymentBySlotURL = "services/hostedservices/%s/deploymentslots/%s" - azureAddRoleURL = "services/hostedservices/%s/deployments/%s/roles" - azureRoleURL = "services/hostedservices/%s/deployments/%s/roles/%s" - azureOperationsURL = "services/hostedservices/%s/deployments/%s/roleinstances/%s/Operations" - azureRoleSizeListURL = "rolesizes" - - errParamNotSpecified = "Parameter %s is not specified." -) - -//NewClient is used to instantiate a new VirtualMachineClient from an Azure client -func NewClient(client management.Client) VirtualMachineClient { - return VirtualMachineClient{client: client} -} - -// CreateDeploymentOptions can be used to create a customized deployement request -type CreateDeploymentOptions struct { - DNSServers []DNSServer - LoadBalancers []LoadBalancer - ReservedIPName string - VirtualNetworkName string -} - -// CreateDeployment creates a deployment and then creates a virtual machine -// in the deployment based on the specified configuration. -// -// https://msdn.microsoft.com/en-us/library/azure/jj157194.aspx -func (vm VirtualMachineClient) CreateDeployment( - role Role, - cloudServiceName string, - options CreateDeploymentOptions) (management.OperationID, error) { - - req := DeploymentRequest{ - Name: role.RoleName, - DeploymentSlot: "Production", - Label: role.RoleName, - RoleList: []Role{role}, - DNSServers: options.DNSServers, - LoadBalancers: options.LoadBalancers, - ReservedIPName: options.ReservedIPName, - VirtualNetworkName: options.VirtualNetworkName, - } - - data, err := xml.Marshal(req) - if err != nil { - return "", err - } - - requestURL := fmt.Sprintf(azureDeploymentListURL, cloudServiceName) - return vm.client.SendAzurePostRequest(requestURL, data) -} - -// CreateDeploymentFromPackageOptions can be used to create a customized deployement request -type CreateDeploymentFromPackageOptions struct { - Name string - PackageURL string - Label string - Configuration string - StartDeployment bool - TreatWarningsAsError bool - ExtendedProperties []ExtendedProperty - ExtensionConfiguration ExtensionConfiguration -} - -// CreateDeploymentRequest is the type for creating a deployment of a cloud service package -// in the deployment based on the specified configuration. See -// https://docs.microsoft.com/en-us/rest/api/compute/cloudservices/rest-create-deployment -type CreateDeploymentRequest struct { - XMLName xml.Name `xml:"http://schemas.microsoft.com/windowsazure CreateDeployment"` - // Required parameters: - Name string `` // Specifies the name of the deployment. - PackageURL string `xml:"PackageUrl"` // Specifies a URL that refers to the location of the service package in the Blob service. The service package can be located either in a storage account beneath the same subscription or a Shared Access Signature (SAS) URI from any storage account. - Label string `` // Specifies an identifier for the deployment that is base-64 encoded. The identifier can be up to 100 characters in length. It is recommended that the label be unique within the subscription. The label can be used for your tracking purposes. - Configuration string `` // Specifies the base-64 encoded service configuration file for the deployment. - // Optional parameters: - StartDeployment bool `` // Indicates whether to start the deployment immediately after it is created. The default value is false - TreatWarningsAsError bool `` // Indicates whether to treat package validation warnings as errors. The default value is false. If set to true, the Created Deployment operation fails if there are validation warnings on the service package. - ExtendedProperties []ExtendedProperty `xml:">ExtendedProperty,omitempty"` // Array of ExtendedProprties. Each extended property must have both a defined name and value. You can have a maximum of 25 extended property name and value pairs. - ExtensionConfiguration ExtensionConfiguration `xml:",omitempty"` -} - -// CreateDeploymentFromPackage creates a deployment from a cloud services package (.cspkg) and configuration file (.cscfg) -func (vm VirtualMachineClient) CreateDeploymentFromPackage( - cloudServiceName string, - deploymentSlot DeploymentSlot, - options CreateDeploymentFromPackageOptions) (management.OperationID, error) { - - if cloudServiceName == "" { - return "", fmt.Errorf(errParamNotSpecified, "cloudServiceName") - } - - req := CreateDeploymentRequest{ - Name: options.Name, - Label: options.Label, - Configuration: options.Configuration, - PackageURL: options.PackageURL, - StartDeployment: options.StartDeployment, - TreatWarningsAsError: options.TreatWarningsAsError, - ExtendedProperties: options.ExtendedProperties, - ExtensionConfiguration: options.ExtensionConfiguration, - } - - data, err := xml.Marshal(req) - if err != nil { - return "", err - } - - requestURL := fmt.Sprintf(azureDeploymentSlotURL, cloudServiceName, deploymentSlot) - return vm.client.SendAzurePostRequest(requestURL, data) -} - -// SwapDeploymentRequest is the type used for specifying information to swap the deployments in -// a cloud service -// https://docs.microsoft.com/en-us/rest/api/compute/cloudservices/rest-swap-deployment -type SwapDeploymentRequest struct { - XMLName xml.Name `xml:"http://schemas.microsoft.com/windowsazure Swap"` - // Required parameters: - Production string - SourceDeployment string -} - -// SwapDeployment initiates a virtual IP address swap between the staging and production deployment environments for a service. -// If the service is currently running in the staging environment, it will be swapped to the production environment. -// If it is running in the production environment, it will be swapped to staging. -func (vm VirtualMachineClient) SwapDeployment( - cloudServiceName string) (management.OperationID, error) { - - if cloudServiceName == "" { - return "", fmt.Errorf(errParamNotSpecified, "cloudServiceName") - } - - productionDeploymentName, err := vm.GetDeploymentNameForSlot(cloudServiceName, DeploymentSlotProduction) - if err != nil { - return "", err - } - - stagingDeploymentName, err := vm.GetDeploymentNameForSlot(cloudServiceName, DeploymentSlotStaging) - if err != nil { - return "", err - } - - req := SwapDeploymentRequest{ - Production: productionDeploymentName, - SourceDeployment: stagingDeploymentName, - } - - data, err := xml.Marshal(req) - if err != nil { - return "", err - } - - requestURL := fmt.Sprintf(azureDeploymentSlotSwapURL, cloudServiceName) - return vm.client.SendAzurePostRequest(requestURL, data) -} - -// ChangeDeploymentConfigurationRequestOptions can be used to update configuration of a deployment -type ChangeDeploymentConfigurationRequestOptions struct { - Mode UpgradeType - Configuration string - TreatWarningsAsError bool - ExtendedProperties []ExtendedProperty - ExtensionConfiguration ExtensionConfiguration -} - -// ChangeDeploymentConfigurationRequest is the type for changing the configuration of a deployment of a cloud service p -// https://docs.microsoft.com/en-us/rest/api/compute/cloudservices/rest-change-deployment-configuration -type ChangeDeploymentConfigurationRequest struct { - XMLName xml.Name `xml:"http://schemas.microsoft.com/windowsazure ChangeConfiguration"` - // Required parameters: - Configuration string `` // Specifies the base-64 encoded service configuration file for the deployment. - // Optional parameters: - Mode UpgradeType `` // Specifies the type of Upgrade (Auto | Manual | Simultaneous) . - TreatWarningsAsError bool `` // Indicates whether to treat package validation warnings as errors. The default value is false. If set to true, the Created Deployment operation fails if there are validation warnings on the service package. - ExtendedProperties []ExtendedProperty `xml:">ExtendedProperty,omitempty"` // Array of ExtendedProprties. Each extended property must have both a defined name and value. You can have a maximum of 25 extended property name and value pairs. - ExtensionConfiguration ExtensionConfiguration `xml:",omitempty"` -} - -// ChangeDeploymentConfiguration updates the configuration for a deployment from a configuration file (.cscfg) -func (vm VirtualMachineClient) ChangeDeploymentConfiguration( - cloudServiceName string, - deploymentSlot DeploymentSlot, - options ChangeDeploymentConfigurationRequestOptions) (management.OperationID, error) { - - if cloudServiceName == "" { - return "", fmt.Errorf(errParamNotSpecified, "cloudServiceName") - } - - req := ChangeDeploymentConfigurationRequest{ - Mode: options.Mode, - Configuration: options.Configuration, - TreatWarningsAsError: options.TreatWarningsAsError, - ExtendedProperties: options.ExtendedProperties, - ExtensionConfiguration: options.ExtensionConfiguration, - } - if req.Mode == "" { - req.Mode = UpgradeTypeAuto - } - - data, err := xml.Marshal(req) - if err != nil { - return "", err - } - - requestURL := fmt.Sprintf(azureUpdateDeploymentSlotConfigurationURL, cloudServiceName, deploymentSlot, "config") - return vm.client.SendAzurePostRequest(requestURL, data) -} - -// UpdateDeploymentStatusRequest is the type used to make UpdateDeploymentStatus requests -type UpdateDeploymentStatusRequest struct { - XMLName xml.Name `xml:"http://schemas.microsoft.com/windowsazure UpdateDeploymentStatus"` - // Required parameters: - Status string -} - -// UpdateDeploymentStatus changes the running status of a deployment. The status of a deployment can be running or suspended. -// https://docs.microsoft.com/en-us/rest/api/compute/cloudservices/rest-update-deployment-status -func (vm VirtualMachineClient) UpdateDeploymentStatus( - cloudServiceName string, - deploymentSlot DeploymentSlot, - status string) (management.OperationID, error) { - - if cloudServiceName == "" { - return "", fmt.Errorf(errParamNotSpecified, "cloudServiceName") - } - - if status != "Running" && status != "Suspended" { - return "", fmt.Errorf("Invalid status provided") - } - - req := UpdateDeploymentStatusRequest{ - Status: status, - } - - data, err := xml.Marshal(req) - if err != nil { - return "", err - } - - requestURL := fmt.Sprintf(azureUpdateDeploymentSlotConfigurationURL, cloudServiceName, deploymentSlot, "status") - return vm.client.SendAzurePostRequest(requestURL, data) -} - -// UpdateDeploymentStatusByName changes the running status of a deployment. The status of a deployment can be running or suspended. -// https://docs.microsoft.com/en-us/rest/api/compute/cloudservices/rest-update-deployment-status -func (vm VirtualMachineClient) UpdateDeploymentStatusByName( - cloudServiceName string, - deploymentName string, - status string) (management.OperationID, error) { - - if cloudServiceName == "" { - return "", fmt.Errorf(errParamNotSpecified, "cloudServiceName") - } - - if status != "Running" && status != "Suspended" { - return "", fmt.Errorf("Invalid status provided") - } - - req := UpdateDeploymentStatusRequest{ - Status: status, - } - - data, err := xml.Marshal(req) - if err != nil { - return "", err - } - - requestURL := fmt.Sprintf(azureUpdateDeploymentURL, cloudServiceName, deploymentName, "status") - return vm.client.SendAzurePostRequest(requestURL, data) -} - -// GetDeploymentName queries an existing Azure cloud service for the name of the Deployment, -// if any, in its 'Production' slot (the only slot possible). If none exists, it returns empty -// string but no error -// -//https://msdn.microsoft.com/en-us/library/azure/ee460804.aspx -func (vm VirtualMachineClient) GetDeploymentName(cloudServiceName string) (string, error) { - return vm.GetDeploymentNameForSlot(cloudServiceName, DeploymentSlotProduction) -} - -// GetDeploymentNameForSlot queries an existing Azure cloud service for the name of the Deployment, -// in a given slot. If none exists, it returns empty -// string but no error -// -//https://msdn.microsoft.com/en-us/library/azure/ee460804.aspx -func (vm VirtualMachineClient) GetDeploymentNameForSlot(cloudServiceName string, deploymentSlot DeploymentSlot) (string, error) { - var deployment DeploymentResponse - if cloudServiceName == "" { - return "", fmt.Errorf(errParamNotSpecified, "cloudServiceName") - } - requestURL := fmt.Sprintf(azureDeploymentSlotURL, cloudServiceName, deploymentSlot) - response, err := vm.client.SendAzureGetRequest(requestURL) - if err != nil { - if management.IsResourceNotFoundError(err) { - return "", nil - } - return "", err - } - err = xml.Unmarshal(response, &deployment) - if err != nil { - return "", err - } - - return deployment.Name, nil -} - -func (vm VirtualMachineClient) GetDeployment(cloudServiceName, deploymentName string) (DeploymentResponse, error) { - var deployment DeploymentResponse - if cloudServiceName == "" { - return deployment, fmt.Errorf(errParamNotSpecified, "cloudServiceName") - } - if deploymentName == "" { - return deployment, fmt.Errorf(errParamNotSpecified, "deploymentName") - } - requestURL := fmt.Sprintf(azureDeploymentURL, cloudServiceName, deploymentName) - response, azureErr := vm.client.SendAzureGetRequest(requestURL) - if azureErr != nil { - return deployment, azureErr - } - - err := xml.Unmarshal(response, &deployment) - return deployment, err -} - -// GetDeploymentBySlot used to retrieve deployment events for a single deployment slot (staging or production) -func (vm VirtualMachineClient) GetDeploymentBySlot(cloudServiceName string, deploymentSlot DeploymentSlot) (DeploymentResponse, error) { - var deployment DeploymentResponse - if cloudServiceName == "" { - return deployment, fmt.Errorf(errParamNotSpecified, "cloudServiceName") - } - if deploymentSlot == "" { - return deployment, fmt.Errorf(errParamNotSpecified, "deploymentSlot") - } - requestURL := fmt.Sprintf(azureDeploymentSlotURL, cloudServiceName, deploymentSlot) - response, azureErr := vm.client.SendAzureGetRequest(requestURL) - if azureErr != nil { - return deployment, azureErr - } - - err := xml.Unmarshal(response, &deployment) - return deployment, err -} - -func (vm VirtualMachineClient) DeleteDeployment(cloudServiceName, deploymentName string) (management.OperationID, error) { - if cloudServiceName == "" { - return "", fmt.Errorf(errParamNotSpecified, "cloudServiceName") - } - if deploymentName == "" { - return "", fmt.Errorf(errParamNotSpecified, "deploymentName") - } - - requestURL := fmt.Sprintf(deleteAzureDeploymentURL, cloudServiceName, deploymentName) - return vm.client.SendAzureDeleteRequest(requestURL) -} - -func (vm VirtualMachineClient) DeleteDeploymentBySlot(cloudServiceName string, deploymentSlot DeploymentSlot) (management.OperationID, error) { - if cloudServiceName == "" { - return "", fmt.Errorf(errParamNotSpecified, "cloudServiceName") - } - if deploymentSlot == "" { - return "", fmt.Errorf(errParamNotSpecified, "deploymentSlot") - } - - requestURL := fmt.Sprintf(azureDeleteDeploymentBySlotURL, cloudServiceName, deploymentSlot) - return vm.client.SendAzureDeleteRequest(requestURL) -} - -func (vm VirtualMachineClient) GetRole(cloudServiceName, deploymentName, roleName string) (*Role, error) { - if cloudServiceName == "" { - return nil, fmt.Errorf(errParamNotSpecified, "cloudServiceName") - } - if deploymentName == "" { - return nil, fmt.Errorf(errParamNotSpecified, "deploymentName") - } - if roleName == "" { - return nil, fmt.Errorf(errParamNotSpecified, "roleName") - } - - role := new(Role) - - requestURL := fmt.Sprintf(azureRoleURL, cloudServiceName, deploymentName, roleName) - response, azureErr := vm.client.SendAzureGetRequest(requestURL) - if azureErr != nil { - return nil, azureErr - } - - err := xml.Unmarshal(response, role) - if err != nil { - return nil, err - } - - return role, nil -} - -// AddRole adds a Virtual Machine to a deployment of Virtual Machines, where role name = VM name -// See https://msdn.microsoft.com/en-us/library/azure/jj157186.aspx -func (vm VirtualMachineClient) AddRole(cloudServiceName string, deploymentName string, role Role) (management.OperationID, error) { - if cloudServiceName == "" { - return "", fmt.Errorf(errParamNotSpecified, "cloudServiceName") - } - if deploymentName == "" { - return "", fmt.Errorf(errParamNotSpecified, "deploymentName") - } - - data, err := xml.Marshal(PersistentVMRole{Role: role}) - if err != nil { - return "", err - } - - requestURL := fmt.Sprintf(azureAddRoleURL, cloudServiceName, deploymentName) - return vm.client.SendAzurePostRequest(requestURL, data) -} - -// UpdateRole updates the configuration of the specified virtual machine -// See https://msdn.microsoft.com/en-us/library/azure/jj157187.aspx -func (vm VirtualMachineClient) UpdateRole(cloudServiceName, deploymentName, roleName string, role Role) (management.OperationID, error) { - if cloudServiceName == "" { - return "", fmt.Errorf(errParamNotSpecified, "cloudServiceName") - } - if deploymentName == "" { - return "", fmt.Errorf(errParamNotSpecified, "deploymentName") - } - if roleName == "" { - return "", fmt.Errorf(errParamNotSpecified, "roleName") - } - - data, err := xml.Marshal(PersistentVMRole{Role: role}) - if err != nil { - return "", err - } - - requestURL := fmt.Sprintf(azureRoleURL, cloudServiceName, deploymentName, roleName) - return vm.client.SendAzurePutRequest(requestURL, "text/xml", data) -} - -func (vm VirtualMachineClient) StartRole(cloudServiceName, deploymentName, roleName string) (management.OperationID, error) { - if cloudServiceName == "" { - return "", fmt.Errorf(errParamNotSpecified, "cloudServiceName") - } - if deploymentName == "" { - return "", fmt.Errorf(errParamNotSpecified, "deploymentName") - } - if roleName == "" { - return "", fmt.Errorf(errParamNotSpecified, "roleName") - } - - startRoleOperationBytes, err := xml.Marshal(StartRoleOperation{ - OperationType: "StartRoleOperation", - }) - if err != nil { - return "", err - } - - requestURL := fmt.Sprintf(azureOperationsURL, cloudServiceName, deploymentName, roleName) - return vm.client.SendAzurePostRequest(requestURL, startRoleOperationBytes) -} - -func (vm VirtualMachineClient) ShutdownRole(cloudServiceName, deploymentName, roleName string, postaction PostShutdownAction) (management.OperationID, error) { - if cloudServiceName == "" { - return "", fmt.Errorf(errParamNotSpecified, "cloudServiceName") - } - if deploymentName == "" { - return "", fmt.Errorf(errParamNotSpecified, "deploymentName") - } - if roleName == "" { - return "", fmt.Errorf(errParamNotSpecified, "roleName") - } - - shutdownRoleOperationBytes, err := xml.Marshal(ShutdownRoleOperation{ - OperationType: "ShutdownRoleOperation", - PostShutdownAction: postaction, - }) - if err != nil { - return "", err - } - - requestURL := fmt.Sprintf(azureOperationsURL, cloudServiceName, deploymentName, roleName) - return vm.client.SendAzurePostRequest(requestURL, shutdownRoleOperationBytes) -} - -func (vm VirtualMachineClient) RestartRole(cloudServiceName, deploymentName, roleName string) (management.OperationID, error) { - if cloudServiceName == "" { - return "", fmt.Errorf(errParamNotSpecified, "cloudServiceName") - } - if deploymentName == "" { - return "", fmt.Errorf(errParamNotSpecified, "deploymentName") - } - if roleName == "" { - return "", fmt.Errorf(errParamNotSpecified, "roleName") - } - - restartRoleOperationBytes, err := xml.Marshal(RestartRoleOperation{ - OperationType: "RestartRoleOperation", - }) - if err != nil { - return "", err - } - - requestURL := fmt.Sprintf(azureOperationsURL, cloudServiceName, deploymentName, roleName) - return vm.client.SendAzurePostRequest(requestURL, restartRoleOperationBytes) -} - -func (vm VirtualMachineClient) DeleteRole(cloudServiceName, deploymentName, roleName string, deleteVHD bool) (management.OperationID, error) { - if cloudServiceName == "" { - return "", fmt.Errorf(errParamNotSpecified, "cloudServiceName") - } - if deploymentName == "" { - return "", fmt.Errorf(errParamNotSpecified, "deploymentName") - } - if roleName == "" { - return "", fmt.Errorf(errParamNotSpecified, "roleName") - } - - requestURL := fmt.Sprintf(azureRoleURL, cloudServiceName, deploymentName, roleName) - if deleteVHD { - requestURL += "?comp=media" - } - return vm.client.SendAzureDeleteRequest(requestURL) -} - -func (vm VirtualMachineClient) GetRoleSizeList() (RoleSizeList, error) { - roleSizeList := RoleSizeList{} - - response, err := vm.client.SendAzureGetRequest(azureRoleSizeListURL) - if err != nil { - return roleSizeList, err - } - - err = xml.Unmarshal(response, &roleSizeList) - return roleSizeList, err -} - -// CaptureRole captures a VM role. If reprovisioningConfigurationSet is non-nil, -// the VM role is redeployed after capturing the image, otherwise, the original -// VM role is deleted. -// -// NOTE: an image resulting from this operation shows up in -// osimage.GetImageList() as images with Category "User". -func (vm VirtualMachineClient) CaptureRole(cloudServiceName, deploymentName, roleName, imageName, imageLabel string, - reprovisioningConfigurationSet *ConfigurationSet) (management.OperationID, error) { - if cloudServiceName == "" { - return "", fmt.Errorf(errParamNotSpecified, "cloudServiceName") - } - if deploymentName == "" { - return "", fmt.Errorf(errParamNotSpecified, "deploymentName") - } - if roleName == "" { - return "", fmt.Errorf(errParamNotSpecified, "roleName") - } - - if reprovisioningConfigurationSet != nil && - !(reprovisioningConfigurationSet.ConfigurationSetType == ConfigurationSetTypeLinuxProvisioning || - reprovisioningConfigurationSet.ConfigurationSetType == ConfigurationSetTypeWindowsProvisioning) { - return "", fmt.Errorf("ConfigurationSet type can only be WindowsProvisioningConfiguration or LinuxProvisioningConfiguration") - } - - operation := CaptureRoleOperation{ - OperationType: "CaptureRoleOperation", - PostCaptureAction: PostCaptureActionReprovision, - ProvisioningConfiguration: reprovisioningConfigurationSet, - TargetImageLabel: imageLabel, - TargetImageName: imageName, - } - if reprovisioningConfigurationSet == nil { - operation.PostCaptureAction = PostCaptureActionDelete - } - - data, err := xml.Marshal(operation) - if err != nil { - return "", err - } - - return vm.client.SendAzurePostRequest(fmt.Sprintf(azureOperationsURL, cloudServiceName, deploymentName, roleName), data) -} diff --git a/services/classic/management/virtualmachine/entities.go b/services/classic/management/virtualmachine/entities.go deleted file mode 100644 index 25360223b36e..000000000000 --- a/services/classic/management/virtualmachine/entities.go +++ /dev/null @@ -1,626 +0,0 @@ -// +build go1.7 - -package virtualmachine - -// Copyright 2017 Microsoft Corporation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -import ( - "encoding/xml" - - "github.com/Azure/azure-sdk-for-go/services/classic/management" - vmdisk "github.com/Azure/azure-sdk-for-go/services/classic/management/virtualmachinedisk" -) - -// VirtualMachineClient is used to perform operations on Azure Virtual Machines -type VirtualMachineClient struct { - client management.Client -} - -// DeploymentRequest is the type for creating a deployment and Virtual Machine -// in the deployment based on the specified configuration. See -// https://msdn.microsoft.com/en-us/library/azure/jj157194.aspx -type DeploymentRequest struct { - XMLName xml.Name `xml:"http://schemas.microsoft.com/windowsazure Deployment"` - // Required parameters: - Name string `` // Specifies a name for the deployment. The deployment name must be unique among other deployments for the cloud service. - DeploymentSlot string `` // Specifies the environment in which the Virtual Machine is to be deployed. The only allowable value is Production. - Label string `` // Specifies an identifier for the deployment. The label can be up to 100 characters long. The label can be used for tracking purposes. - RoleList []Role `xml:">Role"` // Contains information about the Virtual Machines that are to be deployed. - // Optional parameters: - VirtualNetworkName string `xml:",omitempty"` // Specifies the name of an existing virtual network to which the deployment will belong. - DNSServers []DNSServer `xml:"Dns>DnsServers>DnsServer,omitempty"` // Contains a list of DNS servers to associate with the Virtual Machine. - LoadBalancers []LoadBalancer `xml:">LoadBalancer,omitempty"` // Contains a list of internal load balancers that can be assigned to input endpoints. - ReservedIPName string `xml:",omitempty"` // Specifies the name of a reserved IP address that is to be assigned to the deployment. -} - -// DeploymentResponse is the type for receiving deployment information -// See https://msdn.microsoft.com/en-us/library/azure/ee460804.aspx -type DeploymentResponse struct { - XMLName xml.Name `xml:"http://schemas.microsoft.com/windowsazure Deployment"` - - Name string - DeploymentSlot string - PrivateID string - Status DeploymentStatus - Label string - URL string `xml:"Url"` - Configuration string - RoleInstanceList []RoleInstance `xml:">RoleInstance"` - UpgradeStatus UpgradeStatus - UpgradeDomainCount int - RoleList []Role `xml:">Role"` - SdkVersion string - Locked bool - RollbackAllowed bool - CreatedTime string - LastModifiedTime string - VirtualNetworkName string - DNSServers []DNSServer `xml:"Dns>DnsServers>DnsServer"` - LoadBalancers []LoadBalancer `xml:">LoadBalancer"` - ExtendedProperties []ExtendedProperty `xml:">ExtendedProperty"` - PersistentVMDowntime PersistentVMDowntime - VirtualIPs []VirtualIP `xml:">VirtualIP"` - ExtensionConfiguration ExtensionConfiguration - ReservedIPName string - InternalDNSSuffix string `xml:"InternalDnsSuffix"` -} - -type DeploymentStatus string - -const ( - DeploymentStatusRunning DeploymentStatus = "Running" - DeploymentStatusSuspended DeploymentStatus = "Suspended" - DeploymentStatusRunningTransitioning DeploymentStatus = "RunningTransitioning" - DeploymentStatusSuspendedTransitioning DeploymentStatus = "SuspendedTransitioning" - DeploymentStatusStarting DeploymentStatus = "Starting" - DeploymentStatusSuspending DeploymentStatus = "Suspending" - DeploymentStatusDeploying DeploymentStatus = "Deploying" - DeploymentStatusDeleting DeploymentStatus = "Deleting" -) - -// DeploymentSlot for cloud services are either Production or Staging Slots -type DeploymentSlot string - -const ( - // DeploymentSlotProduction represents the Production slot of a cloud service - DeploymentSlotProduction DeploymentSlot = "Production" - // DeploymentSlotStaging represents the Staging slot of a cloud service - DeploymentSlotStaging DeploymentSlot = "Staging" -) - -type RoleInstance struct { - RoleName string - InstanceName string - InstanceStatus InstanceStatus - ExtendedInstanceStatus string - InstanceUpgradeDomain int - InstanceFaultDomain int - InstanceSize string - InstanceStateDetails string - InstanceErrorCode string - IPAddress string `xml:"IpAddress"` - InstanceEndpoints []InstanceEndpoint `xml:">InstanceEndpoint"` - PowerState PowerState - HostName string - RemoteAccessCertificateThumbprint string - GuestAgentStatus string // todo: implement - ResourceExtensionStatusList []ResourceExtensionStatus `xml:">ResourceExtensionStatus"` - PublicIPs []PublicIP `xml:">PublicIP"` -} - -type InstanceStatus string - -const ( - InstanceStatusUnknown = "Unknown" - InstanceStatusCreatingVM = "CreatingVM" - InstanceStatusStartingVM = "StartingVM" - InstanceStatusCreatingRole = "CreatingRole" - InstanceStatusStartingRole = "StartingRole" - InstanceStatusReadyRole = "ReadyRole" - InstanceStatusBusyRole = "BusyRole" - InstanceStatusStoppingRole = "StoppingRole" - InstanceStatusStoppingVM = "StoppingVM" - InstanceStatusDeletingVM = "DeletingVM" - InstanceStatusStoppedVM = "StoppedVM" - InstanceStatusRestartingRole = "RestartingRole" - InstanceStatusCyclingRole = "CyclingRole" - InstanceStatusFailedStartingRole = "FailedStartingRole" - InstanceStatusFailedStartingVM = "FailedStartingVM" - InstanceStatusUnresponsiveRole = "UnresponsiveRole" - InstanceStatusStoppedDeallocated = "StoppedDeallocated" - InstanceStatusPreparing = "Preparing" -) - -type InstanceEndpoint struct { - Name string - Vip string - PublicPort int - LocalPort int - Protocol InputEndpointProtocol -} - -type PowerState string - -const ( - PowerStateStarting PowerState = "Starting" - PowerStateStarted PowerState = "Started" - PowerStateStopping PowerState = "Stopping" - PowerStateStopped PowerState = "Stopped" - PowerStateUnknown PowerState = "Unknown" -) - -type ResourceExtensionStatus struct { - HandlerName string - Version string - Status ResourceExtensionState - Code string - FormattedMessage FormattedMessage - ExtensionSettingStatus ExtensionSettingStatus -} - -type ResourceExtensionState string - -const ( - ResourceExtensionStateInstalling ResourceExtensionState = "Installing" - ResourceExtensionStateReady ResourceExtensionState = "Ready" - ResourceExtensionStateNotReady ResourceExtensionState = "NotReady" - ResourceExtensionStateUnresponsive ResourceExtensionState = "Unresponsive" -) - -type FormattedMessage struct { - Language string - Message string -} - -type ExtensionSettingStatus struct { - Timestamp string - Name string - Operation string - Status ExtensionSettingState - Code string - FormattedMessage FormattedMessage - SubStatusList []SubStatus `xml:">SubStatus"` -} - -type ExtensionSettingState string - -const ( - ExtensionSettingStateTransitioning ExtensionSettingState = "transitioning" - ExtensionSettingStateError ExtensionSettingState = "error" - ExtensionSettingStateSuccess ExtensionSettingState = "success" - ExtensionSettingStateWarning ExtensionSettingState = "warning" -) - -type SubStatus struct { - Name string - Status ExtensionSettingState - FormattedMessage FormattedMessage -} - -type UpgradeStatus struct { - UpgradeType UpgradeType - CurrentUpgradeDomainState CurrentUpgradeDomainState - CurrentUpgradeDomain int -} - -type UpgradeType string - -const ( - UpgradeTypeAuto UpgradeType = "Auto" - UpgradeTypeManual UpgradeType = "Manual" - UpgradeTypeSimultaneous UpgradeType = "Simultaneous" -) - -type CurrentUpgradeDomainState string - -const ( - CurrentUpgradeDomainStateBefore CurrentUpgradeDomainState = "Before" - CurrentUpgradeDomainStateDuring CurrentUpgradeDomainState = "During" -) - -type ExtendedProperty struct { - Name string - Value string -} - -type PersistentVMDowntime struct { - StartTime string - EndTime string - Status string -} - -type VirtualIP struct { - Address string - IsReserved bool - ReservedIPName string - Type IPAddressType -} - -// Role contains the configuration sets that are used to create virtual -// machines. -type Role struct { - RoleName string `xml:",omitempty"` // Specifies the name for the Virtual Machine. - RoleType string `xml:",omitempty"` // Specifies the type of role to use. For Virtual Machines, this must be PersistentVMRole. - ConfigurationSets []ConfigurationSet `xml:"ConfigurationSets>ConfigurationSet,omitempty"` - ResourceExtensionReferences *[]ResourceExtensionReference `xml:"ResourceExtensionReferences>ResourceExtensionReference,omitempty"` - VMImageName string `xml:",omitempty"` // Specifies the name of the VM Image that is to be used to create the Virtual Machine. If this element is used, the ConfigurationSets element is not used. - MediaLocation string `xml:",omitempty"` // Required if the Virtual Machine is being created from a published VM Image. Specifies the location of the VHD file that is created when VMImageName specifies a published VM Image. - AvailabilitySetName string `xml:",omitempty"` // Specifies the name of a collection of Virtual Machines. Virtual Machines specified in the same availability set are allocated to different nodes to maximize availability. - DataVirtualHardDisks []DataVirtualHardDisk `xml:"DataVirtualHardDisks>DataVirtualHardDisk,omitempty"` // Contains the parameters that are used to add a data disk to a Virtual Machine. If you are creating a Virtual Machine by using a VM Image, this element is not used. - OSVirtualHardDisk *OSVirtualHardDisk `xml:",omitempty"` // Contains the parameters that are used to create the operating system disk for a Virtual Machine. If you are creating a Virtual Machine by using a VM Image, this element is not used. - RoleSize string `xml:",omitempty"` // Specifies the size of the Virtual Machine. The default size is Small. - ProvisionGuestAgent bool `xml:",omitempty"` // Indicates whether the VM Agent is installed on the Virtual Machine. To run a resource extension in a Virtual Machine, this service must be installed. - VMImageInput *VMImageInput `xml:",omitempty"` // When a VM Image is used to create a new PersistentVMRole, the DiskConfigurations in the VM Image are used to create new Disks for the new VM. This parameter can be used to resize the newly created Disks to a larger size than the underlying DiskConfigurations in the VM Image. - - UseCertAuth bool `xml:"-"` - CertPath string `xml:"-"` -} - -// VMImageInput is for when a VM Image is used to create a new PersistantVMRole, -// the DiskConfigurations in the VM Image are used to create new Disks for the -// new VM. This parameter can be used to resize the newly created Disks to a -// larger size than the underlying DiskConfigurations in the VM Image. -type VMImageInput struct { - OSDiskConfiguration *OSDiskConfiguration `xml:",omitempty"` // This corresponds to the OSDiskConfiguration of the VM Image used to create a new role. The OSDiskConfiguration element is only available using version 2014-10-01 or higher. - DataDiskConfigurations []DataDiskConfiguration `xml:">DataDiskConfiguration,omitempty"` // This corresponds to the DataDiskConfigurations of the VM Image used to create a new role. The DataDiskConfigurations element is only available using version 2014-10-01 or higher. -} - -// OSDiskConfiguration is used to resize the OS disk of a new VM created from a -// previously saved VM image. -type OSDiskConfiguration struct { - ResizedSizeInGB int -} - -// DataDiskConfiguration is used to resize the data disks of a new VM created -// from a previously saved VM image. -type DataDiskConfiguration struct { - OSDiskConfiguration - Name string // The Name of the DataDiskConfiguration being referenced to. - -} - -// ExtensionConfiguration Contains extensions that are added to the cloud service. -// https://docs.microsoft.com/en-us/rest/api/compute/cloudservices/rest-get-deployment#bk_extensionconfig -type ExtensionConfiguration struct { - NamedRoles []NamedRole `xml:"NamedRoles>Role,omitempty"` -} - -// NamedRole specifies a list of extensions that are applied to specific roles in a deployment. -// https://docs.microsoft.com/en-us/rest/api/compute/cloudservices/rest-get-deployment#bk_namedroles -type NamedRole struct { - RoleName string `xml:",omitempty"` - Extensions []Extension `xml:"Extensions>Extension,omitempty"` -} - -// Extension Specifies an extension that is to be deployed to a role in a cloud service. -// https://docs.microsoft.com/en-us/rest/api/compute/cloudservices/rest-get-deployment#bk_extension -type Extension struct { - ID string `xml:"Id"` - State string -} - -// ResourceExtensionReference contains a collection of resource extensions that -// are to be installed on the Virtual Machine. The VM Agent must be installed on -// the Virtual Machine to install resource extensions. For more information, see -// Manage Extensions: -// -// https://msdn.microsoft.com/en-us/library/dn606311.aspx. -type ResourceExtensionReference struct { - ReferenceName string - Publisher string - Name string - Version string - ParameterValues []ResourceExtensionParameter `xml:"ResourceExtensionParameterValues>ResourceExtensionParameterValue,omitempty"` - State string -} - -// ResourceExtensionParameter specifies the key, value, and type of a parameter that is passed to the -// resource extension when it is installed. -type ResourceExtensionParameter struct { - Key string - Value string - Type ResourceExtensionParameterType // If this value is set to Private, the parameter will not be returned by Get Deployment (). -} - -type ResourceExtensionParameterType string - -// Enum values for ResourceExtensionParameterType -const ( - ResourceExtensionParameterTypePublic ResourceExtensionParameterType = "Public" - ResourceExtensionParameterTypePrivate ResourceExtensionParameterType = "Private" -) - -// DataVirtualHardDisk specifies the properties that are used to create a data -// disk. -type DataVirtualHardDisk struct { - HostCaching vmdisk.HostCachingType `xml:",omitempty"` // Specifies the caching mode of the data disk. The default value is None. - DiskLabel string `xml:",omitempty"` // If the disk that is being added is already registered in the subscription, this element is ignored. If a new disk is being created, this element is used to provide a description of the disk. The value of this element is only obtained programmatically and does not appear in the Management Portal. - DiskName string `xml:",omitempty"` // If the disk that is being added is already registered in the subscription, this element is used to identify the disk to add. If a new disk and the associated VHD are being created by Azure, this element is not used and Azure assigns a unique name that is a combination of the deployment name, role name, and identifying number. The name of the disk must contain only alphanumeric characters, underscores, periods, or dashes. The name must not be longer than 256 characters. The name must not end with period or dash. - Lun int `xml:",omitempty"` // Specifies the Logical Unit Number (LUN) for the data disk. If the disk is the first disk that is added, this element is optional and the default value of 0 is used. If more than one disk is being added, this element is required. Valid LUN values are 0 through 31. - LogicalDiskSizeInGB int `xml:",omitempty"` // Specifies the size, in GB, of an empty disk to be attached to the Virtual Machine. If the disk that is being added is already registered in the subscription, this element is ignored. If the disk and VHD is being created by Azure as it is added, this element defines the size of the new disk. - MediaLink string `xml:",omitempty"` // If the disk that is being added is already registered in the subscription or the VHD for the disk already exists in blob storage, this element is ignored. If a VHD file does not exist in blob storage, this element defines the location of the new VHD that is created when the new disk is added. - SourceMediaLink string `xml:",omitempty"` // If the disk that is being added is already registered in the subscription or the VHD for the disk does not exist in blob storage, this element is ignored. If the VHD file exists in blob storage, this element defines the path to the VHD and a disk is registered from it and attached to the virtual machine. -} - -// OSVirtualHardDisk specifies the properties that are used to create an OS -// disk. -type OSVirtualHardDisk struct { - HostCaching vmdisk.HostCachingType `xml:",omitempty"` // Specifies the caching mode of the data disk. The default value is None. - DiskLabel string `xml:",omitempty"` // If the disk that is being added is already registered in the subscription, this element is ignored. If a new disk is being created, this element is used to provide a description of the disk. The value of this element is only obtained programmatically and does not appear in the Management Portal. - DiskName string `xml:",omitempty"` // If the disk that is being added is already registered in the subscription, this element is used to identify the disk to add. If a new disk and the associated VHD are being created by Azure, this element is not used and Azure assigns a unique name that is a combination of the deployment name, role name, and identifying number. The name of the disk must contain only alphanumeric characters, underscores, periods, or dashes. The name must not be longer than 256 characters. The name must not end with period or dash. - MediaLink string `xml:",omitempty"` // If the disk that is being added is already registered in the subscription or the VHD for the disk already exists in blob storage, this element is ignored. If a VHD file does not exist in blob storage, this element defines the location of the new VHD that is created when the new disk is added. - SourceImageName string `xml:",omitempty"` - OS string `xml:",omitempty"` - RemoteSourceImageLink string `xml:",omitempty"` // Specifies a publicly accessible URI or a SAS URI to the location where an OS image is stored that is used to create the Virtual Machine. This location can be a different location than the user or platform image repositories in Azure. An image is always associated with a VHD, which is a .vhd file stored as a page blob in a storage account in Azure. If you specify the path to an image with this element, an associated VHD is created and you must use the MediaLink element to specify the location in storage where the VHD will be located. If this element is used, SourceImageName is not used. - ResizedSizeInGB int `xml:",omitempty"` -} - -// ConfigurationSet specifies the configuration elements of the Virtual Machine. -// The type attribute is required to prevent the administrator password from -// being written to the operation history file. -type ConfigurationSet struct { - ConfigurationSetType ConfigurationSetType - - // Windows provisioning: - ComputerName string `xml:",omitempty"` // Optional. Specifies the computer name for the Virtual Machine. If you do not specify a computer name, one is assigned that is a combination of the deployment name, role name, and identifying number. Computer names must be 1 to 15 characters long. - AdminPassword string `xml:",omitempty"` // Optional. Specifies the password to use for an administrator account on the Virtual Machine that is being created. If you are creating a Virtual Machine using an image, you must specify a name of an administrator account to be created on the machine using the AdminUsername element. You must use the AdminPassword element to specify the password of the administrator account that is being created. If you are creating a Virtual Machine using an existing specialized disk, this element is not used because the account should already exist on the disk. - EnableAutomaticUpdates bool `xml:",omitempty"` // Optional. Specifies whether automatic updates are enabled for the Virtual Machine. The default value is true. - TimeZone string `xml:",omitempty"` // Optional. Specifies the time zone for the Virtual Machine. - DomainJoin *DomainJoin `xml:",omitempty"` // Optional. Contains properties that define a domain to which the Virtual Machine will be joined. - StoredCertificateSettings []CertificateSetting `xml:">StoredCertificateSetting,omitempty"` // Optional. Contains a list of service certificates with which to provision to the new Virtual Machine. - WinRMListeners *[]WinRMListener `xml:"WinRM>Listeners>Listener,omitempty"` // Optional. Contains configuration settings for the Windows Remote Management service on the Virtual Machine. This enables remote Windows PowerShell. - AdminUsername string `xml:",omitempty"` // Optional. Specifies the name of the administrator account that is created to access the Virtual Machine. If you are creating a Virtual Machine using an image, you must specify a name of an administrator account to be created by using this element. You must use the AdminPassword element to specify the password of the administrator account that is being created. If you are creating a Virtual Machine using an existing specialized disk, this element is not used because the account should already exist on the disk. - AdditionalUnattendContent string `xml:",omitempty"` // Specifies additional base-64 encoded XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup. - - // Linux provisioning: - HostName string `xml:",omitempty"` // Required. Specifies the host name for the Virtual Machine. Host names must be 1 to 64 characters long. - UserName string `xml:",omitempty"` // Required. Specifies the name of a user account to be created in the sudoer group of the Virtual Machine. User account names must be 1 to 32 characters long. - UserPassword string `xml:",omitempty"` // Required. Specifies the password for the user account. Passwords must be 6 to 72 characters long. - DisableSSHPasswordAuthentication string `xml:"DisableSshPasswordAuthentication,omitempty"` // Optional. Specifies whether SSH password authentication is disabled. By default this value is set to true. - SSH *SSH `xml:",omitempty"` // Optional. Specifies the SSH public keys and key pairs to use with the Virtual Machine. - - // In WindowsProvisioningConfiguration: The base-64 encoded string is decoded to a binary array that is saved as a file on the Virtual Machine. The maximum length of the binary array is 65535 bytes. The file is saved to %SYSTEMDRIVE%\AzureData\CustomData.bin. If the file exists, it is overwritten. The security on directory is set to System:Full Control and Administrators:Full Control. - // In LinuxProvisioningConfiguration: The base-64 encoded string is located in the ovf-env.xml file on the ISO of the Virtual Machine. The file is copied to /var/lib/waagent/ovf-env.xml by the Azure Linux Agent. The Azure Linux Agent will also place the base-64 encoded data in /var/lib/waagent/CustomData during provisioning. The maximum length of the binary array is 65535 bytes. - CustomData string `xml:",omitempty"` // Specifies a base-64 encoded string of custom data. - - // Network configuration: - InputEndpoints []InputEndpoint `xml:">InputEndpoint,omitempty"` // Optional in NetworkConfiguration. Contains a collection of external endpoints for the Virtual Machine. - SubnetNames []string `xml:">SubnetName,omitempty"` // Required if StaticVirtualNetworkIPAddress is specified; otherwise, optional in NetworkConfiguration. Contains a list of subnets to which the Virtual Machine will belong. - StaticVirtualNetworkIPAddress string `xml:",omitempty"` // Specifies the internal IP address for the Virtual Machine in a Virtual Network. If you specify this element, you must also specify the SubnetNames element with only one subnet defined. The IP address specified in this element must belong to the subnet that is defined in SubnetNames and it should not be the one of the first four IP addresses or the last IP address in the subnet. Deploying web roles or worker roles into a subnet that has Virtual Machines with StaticVirtualNetworkIPAddress defined is not supported. - NetworkSecurityGroup string `xml:",omitempty"` // Optional in NetworkConfiguration. Represents the name of the Network Security Group that will be associated with the Virtual Machine. Network Security Group must exist in the context of subscription and be created in same region to which the virtual machine will be deployed. - PublicIPs []PublicIP `xml:">PublicIP,omitempty"` // Contains a public IP address that can be used in addition to the default virtual IP address for the Virtual Machine. -} - -type ConfigurationSetType string - -// Enum values for ConfigurationSetType -const ( - ConfigurationSetTypeWindowsProvisioning ConfigurationSetType = "WindowsProvisioningConfiguration" - ConfigurationSetTypeLinuxProvisioning ConfigurationSetType = "LinuxProvisioningConfiguration" - ConfigurationSetTypeNetwork ConfigurationSetType = "NetworkConfiguration" -) - -// DomainJoin contains properties that define a domain to which the Virtual -// Machine will be joined. -type DomainJoin struct { - Credentials Credentials `xml:",omitempty"` // Specifies the credentials to use to join the Virtual Machine to the domain. - JoinDomain string `xml:",omitempty"` // Specifies the domain to join. - MachineObjectOU string `xml:",omitempty"` // Specifies the Lightweight Directory Access Protocol (LDAP) X 500-distinguished name of the organizational unit (OU) in which the computer account is created. This account is in Active Directory on a domain controller in the domain to which the computer is being joined. -} - -// Credentials specifies the credentials to use to join the Virtual Machine to -// the domain. If Domain is not specified, Username must specify the user -// principal name (UPN) format (user@fully-qualified-DNS-domain) or the fully- -// qualified-DNS-domain\username format. -type Credentials struct { - Domain string // Specifies the name of the domain used to authenticate an account. The value is a fully qualified DNS domain. - Username string // Specifies a user name in the domain that can be used to join the domain. - Password string // Specifies the password to use to join the domain. -} - -// CertificateSetting specifies the parameters for the certificate which to -// provision to the new Virtual Machine. -type CertificateSetting struct { - StoreLocation string // Required. Specifies the certificate store location on the Virtual Machine. The only supported value is "LocalMachine". - StoreName string // Required. Specifies the name of the certificate store from which the certificate is retrieved. For example, "My". - Thumbprint string // Required. Specifies the thumbprint of the certificate. The thumbprint must specify an existing service certificate. -} - -// WinRMListener specifies the protocol and certificate information for a WinRM -// listener. -type WinRMListener struct { - Protocol WinRMProtocol // Specifies the protocol of listener. - CertificateThumbprint string `xml:",omitempty"` // Specifies the certificate thumbprint for the secure connection. If this value is not specified, a self-signed certificate is generated and used for the Virtual Machine. -} - -type WinRMProtocol string - -// Enum values for WinRMProtocol -const ( - WinRMProtocolHTTP WinRMProtocol = "Http" - WinRMProtocolHTTPS WinRMProtocol = "Https" -) - -// SSH specifies the SSH public keys and key pairs to use with the Virtual Machine. -type SSH struct { - PublicKeys []PublicKey `xml:">PublicKey"` - KeyPairs []KeyPair `xml:">KeyPair"` -} - -// PublicKey specifies a public SSH key. -type PublicKey struct { - Fingerprint string // Specifies the SHA1 fingerprint of an X509 certificate associated with the cloud service and includes the SSH public key. - // Specifies the full path of a file, on the Virtual Machine, where the SSH public key is stored. If - // the file already exists, the specified key is appended to the file. - Path string // Usually /home/username/.ssh/authorized_keys -} - -// KeyPair specifies an SSH keypair. -type KeyPair struct { - Fingerprint string // Specifies the SHA1 fingerprint of an X509 certificate that is associated with the cloud service and includes the SSH keypair. - // Specifies the full path of a file, on the virtual machine, which stores the SSH private key. The - // file is overwritten when multiple keys are written to it. The SSH public key is stored in the same - // directory and has the same name as the private key file with .pub suffix. - Path string // Usually /home/username/.ssh/id_rsa -} - -// InputEndpoint specifies the properties that define an external endpoint for -// the Virtual Machine. -type InputEndpoint struct { - LocalPort int // Specifies the internal port on which the Virtual Machine is listening. - Name string // Specifies the name of the external endpoint. - Port int // Specifies the external port to use for the endpoint. - Protocol InputEndpointProtocol //Specifies the transport protocol for the endpoint. - Vip string `xml:",omitempty"` -} - -type InputEndpointProtocol string - -// Enum values for InputEndpointProtocol -const ( - InputEndpointProtocolTCP InputEndpointProtocol = "TCP" - InputEndpointProtocolUDP InputEndpointProtocol = "UDP" -) - -// PublicIP contains a public IP address that can be used in addition to default -// virtual IP address for the Virtual Machine. -type PublicIP struct { - Name string // Specifies the name of the public IP address. - Address string // Specifies the IP address. - IdleTimeoutInMinutes int `xml:",omitempty"` // Specifies the timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The default value is 4 minutes. This element is only used when the protocol is set to TCP. -} - -// ServiceCertificate contains a certificate for adding it to a hosted service -type ServiceCertificate struct { - XMLName xml.Name `xml:"CertificateFile"` - Data string - CertificateFormat string - Password string `xml:",omitempty"` -} - -// StartRoleOperation contains the information for starting a Role. -type StartRoleOperation struct { - XMLName xml.Name `xml:"http://schemas.microsoft.com/windowsazure StartRoleOperation"` - OperationType string -} - -type PostShutdownAction string - -// Enum values for PostShutdownAction -const ( - PostShutdownActionStopped PostShutdownAction = "Stopped" - PostShutdownActionStoppedDeallocated PostShutdownAction = "StoppedDeallocated" -) - -// ShutdownRoleOperation contains the information for shutting down a Role. -type ShutdownRoleOperation struct { - XMLName xml.Name `xml:"http://schemas.microsoft.com/windowsazure ShutdownRoleOperation"` - OperationType string - PostShutdownAction PostShutdownAction -} - -// RestartRoleOperation contains the information for restarting a Role. -type RestartRoleOperation struct { - XMLName xml.Name `xml:"http://schemas.microsoft.com/windowsazure RestartRoleOperation"` - OperationType string -} - -// CaptureRoleOperation contains the information for capturing a Role -type CaptureRoleOperation struct { - XMLName xml.Name `xml:"http://schemas.microsoft.com/windowsazure CaptureRoleOperation"` - OperationType string - PostCaptureAction PostCaptureAction - ProvisioningConfiguration *ConfigurationSet `xml:",omitempty"` - TargetImageLabel string - TargetImageName string -} - -type PostCaptureAction string - -// Enum values for PostCaptureAction -const ( - PostCaptureActionDelete PostCaptureAction = "Delete" - PostCaptureActionReprovision PostCaptureAction = "Reprovision" -) - -// RoleSizeList contains a list of the available role sizes -type RoleSizeList struct { - XMLName xml.Name `xml:"RoleSizes"` - RoleSizes []RoleSize `xml:"RoleSize"` -} - -// RoleSize contains a detailed explanation of a role size -type RoleSize struct { - Name string - Label string - Cores int - MemoryInMb int - SupportedByWebWorkerRoles bool - SupportedByVirtualMachines bool - MaxDataDiskCount int - WebWorkerResourceDiskSizeInMb int - VirtualMachineResourceDiskSizeInMb int -} - -// DNSServer contains the definition of a DNS server for virtual machine deployment -type DNSServer struct { - Name string - Address string -} - -// LoadBalancer contains the definition of a load balancer for virtual machine deployment -type LoadBalancer struct { - Name string // Specifies the name of the internal load balancer. - Type IPAddressType `xml:"FrontendIpConfiguration>Type"` // Specifies the type of virtual IP address that is provided by the load balancer. The only allowable value is Private. - SubnetName string `xml:"FrontendIpConfiguration>SubnetName,omitempty"` // Required if the deployment exists in a virtual network and a StaticVirtualNetworkIPAddress is assigned. Specifies the subnet of the virtual network that the load balancer uses. The virtual IP address that is managed by the load balancer is contained in this subnet. - StaticVirtualNetworkIPAddress string `xml:"FrontendIpConfiguration>StaticVirtualNetworkIPAddress,omitempty"` // Specifies a specific virtual IP address that the load balancer uses from the subnet in the virtual network. -} - -type IPAddressType string - -// Enum values for IPAddressType -const ( - IPAddressTypePrivate IPAddressType = "Private" // Only allowed value (currently) for IPAddressType -) - -type ResourceExtensions struct { - List []ResourceExtension `xml:"ResourceExtension"` -} - -type ResourceExtension struct { - Publisher string - Name string - Version string - Label string - Description string - PublicConfigurationSchema string - PrivateConfigurationSchema string - SampleConfig string - ReplicationCompleted string - Eula string - PrivacyURI string `xml:"PrivacyUri"` - HomepageURI string `xml:"HomepageUri"` - IsJSONExtension bool `xml:"IsJsonExtension"` - IsInternalExtension bool - DisallowMajorVersionUpgrade bool - CompanyName string - SupportedOS string - PublishedDate string -} - -type PersistentVMRole struct { - XMLName xml.Name `xml:"http://schemas.microsoft.com/windowsazure PersistentVMRole"` - Role -} diff --git a/services/classic/management/virtualmachine/entities_test.go b/services/classic/management/virtualmachine/entities_test.go deleted file mode 100644 index 75002e6f8f80..000000000000 --- a/services/classic/management/virtualmachine/entities_test.go +++ /dev/null @@ -1,315 +0,0 @@ -// +build go1.7 - -package virtualmachine - -// Copyright 2017 Microsoft Corporation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -import ( - "encoding/xml" - "testing" -) - -func TestDocumentedDeploymentRequest(t *testing.T) { - // xml based on https://msdn.microsoft.com/en-us/library/azure/jj157194.aspx - // fixed typos, replaced strongly typed fields with values of correct type - xmlString := ` - name-of-deployment - deployment-environment - - - - name-of-the-virtual-machine - PersistentVMRole - - - WindowsProvisioningConfiguration - name-of-computer - administrator-password - true - time-zone - - - domain-to-join - user-name-in-the-domain - password-for-the-user-name - - domain-to-join - distinguished-name-of-the-ou - - - - LocalMachine - name-of-store-on-the-machine - certificate-thumbprint - - - - - - listener-protocol - - - certificate-thumbprint - listener-protocol - - - - name-of-administrator-account - base-64-encoded-data - - - - name-of-pass - - - name-of-component - - - name-of-setting - base-64-encoded-XML-content - - - - - - - - - - LinuxProvisioningConfiguration - host-name-for-the-virtual-machine - new-user-name - password-for-the-new-user - true - - - - certificate-fingerprint - SSH-public-key-storage-location - - - - - certificate-fingerprint - SSH-public-key-storage-location - - - - base-64-encoded-data - - - NetworkConfiguration - - - name-of-load-balanced-set - 22 - ZZH - 33 - - /probe/me - 80 - http - 30 - 5 - - endpoint-protocol - enable-direct-server-return - - - - priority-of-the-rule - permit-rule - subnet-of-the-rule - description-of-the-rule - - - - name-of-internal-loadbalancer - 9 - - - - name-of-subnet - - ip-address - - - name-of-public-ip - 11 - - - - - - - name-of-reference - name-of-publisher - name-of-extension - version-of-extension - - - name-of-parameter-key - parameter-value - type-of-parameter - - - state-of-resource - - - certificate-thumbprint - certificate-algorithm - - - - - name-of-vm-image - path-to-vhd - name-of-availability-set - - - caching-mode - label-of-data-disk - name-of-disk - 0 - 50 - path-to-vhd - - - - caching-mode - label-of-operating-system-disk - name-of-disk - path-to-vhd - name-of-source-image - operating-system-of-image - path-to-source-image - 125 - - size-of-virtual-machine - true - - - 126 - - - - disk-name - 127 - - - - - - name-of-virtual-network - - - - dns-name -
dns-ip-address
-
-
-
- name-of-reserved-ip - - - name-of-internal-load-balancer - - Private - name-of-subnet - static-ip-address - - - -
` - - deployment := DeploymentRequest{} - if err := xml.Unmarshal([]byte(xmlString), &deployment); err != nil { - t.Fatal(err) - } - - if deployment.Name != "name-of-deployment" { - t.Fatalf("Expected deployment.Name=\"name-of-deployment\", but got \"%s\"", - deployment.Name) - } - - // ====== - - t.Logf("deployment.RoleList[0]: %+v", deployment.RoleList[0]) - if expected := "name-of-the-virtual-machine"; deployment.RoleList[0].RoleName != expected { - t.Fatalf("Expected deployment.RoleList[0].RoleName=%v, but got %v", expected, deployment.RoleList[0].RoleName) - } - - // ====== - - t.Logf("deployment.DNSServers[0]: %+v", deployment.DNSServers[0]) - if deployment.DNSServers[0].Name != "dns-name" { - t.Fatalf("Expected deployment.DNSServers[0].Name=\"dns-name\", but got \"%s\"", - deployment.DNSServers[0].Name) - } - - // ====== - - t.Logf("deployment.LoadBalancers[0]: %+v", deployment.LoadBalancers[0]) - if deployment.LoadBalancers[0].Name != "name-of-internal-load-balancer" { - t.Fatalf("Expected deployment.LoadBalancers[0].Name=\"name-of-internal-load-balancer\", but got \"%s\"", - deployment.LoadBalancers[0].Name) - } - - if deployment.LoadBalancers[0].Type != IPAddressTypePrivate { - t.Fatalf("Expected deployment.LoadBalancers[0].Type=IPAddressTypePrivate, but got \"%s\"", - deployment.LoadBalancers[0].Type) - } - - if deployment.LoadBalancers[0].StaticVirtualNetworkIPAddress != "static-ip-address" { - t.Fatalf("Expected deployment.LoadBalancers[0].StaticVirtualNetworkIPAddress=\"static-ip-address\", but got \"%s\"", - deployment.LoadBalancers[0].StaticVirtualNetworkIPAddress) - } - - // ====== - - extensionReferences := (*deployment.RoleList[0].ResourceExtensionReferences) - t.Logf("(*deployment.RoleList[0].ResourceExtensionReferences)[0]: %+v", extensionReferences[0]) - if extensionReferences[0].Name != "name-of-extension" { - t.Fatalf("Expected (*deployment.RoleList[0].ResourceExtensionReferences)[0].Name=\"name-of-extension\", but got \"%s\"", - extensionReferences[0].Name) - } - - if extensionReferences[0].ParameterValues[0].Key != "name-of-parameter-key" { - t.Fatalf("Expected (*deployment.RoleList[0].ResourceExtensionReferences)[0].ParameterValues[0].Key=\"name-of-parameter-key\", but got %v", - extensionReferences[0].ParameterValues[0].Key) - } - - // ====== - - if deployment.RoleList[0].VMImageInput.DataDiskConfigurations[0].ResizedSizeInGB != 127 { - t.Fatalf("Expected deployment.RoleList[0].VMImageInput.DataDiskConfigurations[0].ResizedSizeInGB=127, but got %v", - deployment.RoleList[0].VMImageInput.DataDiskConfigurations[0].ResizedSizeInGB) - } - - // ====== - - winRMlisteners := *deployment.RoleList[0].ConfigurationSets[0].WinRMListeners - if string(winRMlisteners[0].Protocol) != "listener-protocol" { - t.Fatalf("Expected winRMlisteners[0].Protocol to be listener-protocol, but got %s", - string(winRMlisteners[0].Protocol)) - } - - winRMlisteners2 := *deployment.RoleList[0].ConfigurationSets[0].WinRMListeners - if winRMlisteners2[1].CertificateThumbprint != "certificate-thumbprint" { - t.Fatalf("Expected winRMlisteners2[1].CertificateThumbprint to be certificate-thumbprint, but got %s", - winRMlisteners2[1].CertificateThumbprint) - } - -} diff --git a/services/classic/management/virtualmachine/resourceextensions.go b/services/classic/management/virtualmachine/resourceextensions.go deleted file mode 100644 index 03135f95c3df..000000000000 --- a/services/classic/management/virtualmachine/resourceextensions.go +++ /dev/null @@ -1,183 +0,0 @@ -// +build go1.7 - -package virtualmachine - -// Copyright 2017 Microsoft Corporation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -import ( - "encoding/xml" - "fmt" - - "github.com/Azure/azure-sdk-for-go/services/classic/management" -) - -const ( - azureResourceExtensionsURL = "services/resourceextensions" - azureCloudServiceExtensionsURL = "services/hostedservices/%s/extensions" - azureCloudServiceExtensionURL = "services/hostedservices/%s/extensions/%s" -) - -// GetResourceExtensions lists the resource extensions that are available to add -// to a virtual machine. -// -// See https://msdn.microsoft.com/en-us/library/azure/dn495441.aspx -func (c VirtualMachineClient) GetResourceExtensions() (extensions []ResourceExtension, err error) { - data, err := c.client.SendAzureGetRequest(azureResourceExtensionsURL) - if err != nil { - return extensions, err - } - - var response ResourceExtensions - err = xml.Unmarshal(data, &response) - extensions = response.List - return -} - -// Extensions is a list of extensions returned by the ListExtensions response -type Extensions struct { - XMLName xml.Name `xml:"http://schemas.microsoft.com/windowsazure Extensions"` - Extensions []ExtensionInfo `xml:"Extension"` -} - -// ExtensionInfo defined the type retured by GetExtension -// https://docs.microsoft.com/en-us/rest/api/compute/cloudservices/rest-get-extension -type ExtensionInfo struct { - XMLName xml.Name `xml:"http://schemas.microsoft.com/windowsazure Extension"` - ProviderNameSpace string - Type string - ID string `xml:"Id"` - Version string - Thumbprint string - PublicConfigurationSchema string - ThumbprintAlgorithm string - IsJSONExtension bool `xml:"IsJsonExtension"` - DisallowMajorVersionUpgrade bool -} - -// GetExtension retrieves information about a specified extension that was added to a cloud service. -// https://docs.microsoft.com/en-us/rest/api/compute/cloudservices/rest-get-extension -func (c VirtualMachineClient) GetExtension(cloudServiceName string, extensionID string) (extension ExtensionInfo, err error) { - - if cloudServiceName == "" { - return ExtensionInfo{}, fmt.Errorf(errParamNotSpecified, "cloudServiceName") - } - if extensionID == "" { - return ExtensionInfo{}, fmt.Errorf(errParamNotSpecified, "extensionID") - } - - requestURL := fmt.Sprintf(azureCloudServiceExtensionURL, cloudServiceName, extensionID) - data, err := c.client.SendAzureGetRequest(requestURL) - if err != nil { - return ExtensionInfo{}, err - } - err = xml.Unmarshal(data, &extension) - return -} - -// ListExtensions lists all of the extensions that were added to a cloud service. -// https://docs.microsoft.com/en-us/rest/api/compute/cloudservices/rest-list-extensions -func (c VirtualMachineClient) ListExtensions(cloudServiceName string) (extensions []ExtensionInfo, err error) { - - if cloudServiceName == "" { - return []ExtensionInfo{}, fmt.Errorf(errParamNotSpecified, "cloudServiceName") - } - - requestURL := fmt.Sprintf(azureCloudServiceExtensionsURL, cloudServiceName) - data, err := c.client.SendAzureGetRequest(requestURL) - if err != nil { - return []ExtensionInfo{}, err - } - var response Extensions - err = xml.Unmarshal(data, &response) - extensions = response.Extensions - return -} - -// AddExtensionOptions defines the options available for adding extensions to a cloud service -type AddExtensionOptions struct { - ProviderNameSpace string - Type string - ID string - Thumbprint string - ThumbprintAlgorithm string - PublicConfiguration string - PrivateConfiguration string - Version string -} - -// AddExtensionRequest is the type used to submit AddExtension requests -type AddExtensionRequest struct { - XMLName xml.Name `xml:"http://schemas.microsoft.com/windowsazure Extension"` - ProviderNameSpace string - Type string - ID string `xml:"Id"` - Thumbprint string - ThumbprintAlgorithm string - PublicConfiguration string - PrivateConfiguration string - Version string -} - -// AddExtension addes an extension to the cloud service -// https://docs.microsoft.com/en-us/rest/api/compute/cloudservices/rest-add-extension -func (c VirtualMachineClient) AddExtension(cloudServiceName string, options AddExtensionOptions) (management.OperationID, error) { - - if cloudServiceName == "" { - return "", fmt.Errorf(errParamNotSpecified, "cloudServiceName") - } - if options.ID == "" { - return "", fmt.Errorf(errParamNotSpecified, "options.ID") - } - if options.ProviderNameSpace == "" { - return "", fmt.Errorf(errParamNotSpecified, "options.ProviderNameSpace") - } - if options.Type == "" { - return "", fmt.Errorf(errParamNotSpecified, "options.Type") - } - - req := AddExtensionRequest{ - ProviderNameSpace: options.ProviderNameSpace, - Type: options.Type, - ID: options.ID, - Thumbprint: options.Thumbprint, - ThumbprintAlgorithm: options.ThumbprintAlgorithm, - PublicConfiguration: options.PublicConfiguration, - PrivateConfiguration: options.PrivateConfiguration, - Version: options.Version, - } - - data, err := xml.Marshal(req) - if err != nil { - return "", err - } - - requestURL := fmt.Sprintf(azureCloudServiceExtensionsURL, cloudServiceName) - return c.client.SendAzurePostRequest(requestURL, data) -} - -// DeleteExtension deletes the specified extension from a cloud service. -// https://docs.microsoft.com/en-us/rest/api/compute/cloudservices/rest-delete-extension -func (c VirtualMachineClient) DeleteExtension(cloudServiceName string, extensionID string) (management.OperationID, error) { - - if cloudServiceName == "" { - return "", fmt.Errorf(errParamNotSpecified, "cloudServiceName") - } - if extensionID == "" { - return "", fmt.Errorf(errParamNotSpecified, "extensionID") - } - - requestURL := fmt.Sprintf(azureCloudServiceExtensionURL, cloudServiceName, extensionID) - return c.client.SendAzureDeleteRequest(requestURL) -} diff --git a/services/classic/management/virtualmachine/resourceextensions_test.go b/services/classic/management/virtualmachine/resourceextensions_test.go deleted file mode 100644 index a8e6a84032e1..000000000000 --- a/services/classic/management/virtualmachine/resourceextensions_test.go +++ /dev/null @@ -1,43 +0,0 @@ -// +build go1.7 - -package virtualmachine - -// Copyright 2017 Microsoft Corporation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -import ( - "testing" - - "github.com/Azure/azure-sdk-for-go/services/classic/management/testutils" -) - -func TestAzureGetResourceExtensions(t *testing.T) { - client := testutils.GetTestClient(t) - - list, err := NewClient(client).GetResourceExtensions() - if err != nil { - t.Fatal(err) - } - - t.Logf("Found %d extensions", len(list)) - if len(list) == 0 { - t.Fatal("Huh, no resource extensions at all? Something must be wrong.") - } - - for _, extension := range list { - if extension.Name == "" { - t.Fatalf("Resource with empty name? Something must have gone wrong with serialization: %+v", extension) - } - } -} diff --git a/services/classic/management/virtualmachinedisk/client.go b/services/classic/management/virtualmachinedisk/client.go deleted file mode 100644 index 89cb7161a303..000000000000 --- a/services/classic/management/virtualmachinedisk/client.go +++ /dev/null @@ -1,246 +0,0 @@ -// +build go1.7 - -// Package virtualmachinedisk provides a client for Virtual Machine Disks. -package virtualmachinedisk - -// Copyright 2017 Microsoft Corporation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -import ( - "encoding/xml" - "fmt" - - "github.com/Azure/azure-sdk-for-go/services/classic/management" -) - -const ( - addDataDiskURL = "services/hostedservices/%s/deployments/%s/roles/%s/DataDisks" - addDiskURL = "services/disks" - deleteDataDiskURL = "services/hostedservices/%s/deployments/%s/roles/%s/DataDisks/%d" - deleteDiskURL = "services/disks/%s" - getDataDiskURL = "services/hostedservices/%s/deployments/%s/roles/%s/DataDisks/%d" - getDiskURL = "services/disks/%s" - listDisksURL = "services/disks" - updateDataDiskURL = "services/hostedservices/%s/deployments/%s/roles/%s/DataDisks/%d" - updateDiskURL = "services/disks/%s" - - errParamNotSpecified = "Parameter %s is not specified." -) - -//NewClient is used to instantiate a new DiskClient from an Azure client -func NewClient(client management.Client) DiskClient { - return DiskClient{client: client} -} - -// AddDataDisk adds a data disk to a Virtual Machine -// -// https://msdn.microsoft.com/en-us/library/azure/jj157199.aspx -func (c DiskClient) AddDataDisk( - service string, - deployment string, - role string, - params CreateDataDiskParameters) (management.OperationID, error) { - if service == "" { - return "", fmt.Errorf(errParamNotSpecified, "service") - } - if deployment == "" { - return "", fmt.Errorf(errParamNotSpecified, "deployment") - } - if role == "" { - return "", fmt.Errorf(errParamNotSpecified, "role") - } - - requestURL := fmt.Sprintf(addDataDiskURL, service, deployment, role) - - req, err := xml.Marshal(params) - if err != nil { - return "", err - } - - return c.client.SendAzurePostRequest(requestURL, req) -} - -// AddDisk adds an operating system disk or data disk to the user image repository -// -// https://msdn.microsoft.com/en-us/library/azure/jj157178.aspx -func (c DiskClient) AddDisk(params CreateDiskParameters) (management.OperationID, error) { - req, err := xml.Marshal(params) - if err != nil { - return "", err - } - - return c.client.SendAzurePostRequest(addDiskURL, req) -} - -// DeleteDataDisk removes the specified data disk from a Virtual Machine -// -// https://msdn.microsoft.com/en-us/library/azure/jj157179.aspx -func (c DiskClient) DeleteDataDisk( - service string, - deployment string, - role string, - lun int, - deleteVHD bool) (management.OperationID, error) { - if service == "" { - return "", fmt.Errorf(errParamNotSpecified, "service") - } - if deployment == "" { - return "", fmt.Errorf(errParamNotSpecified, "deployment") - } - if role == "" { - return "", fmt.Errorf(errParamNotSpecified, "role") - } - - requestURL := fmt.Sprintf(deleteDataDiskURL, service, deployment, role, lun) - if deleteVHD { - requestURL += "?comp=media" - } - - return c.client.SendAzureDeleteRequest(requestURL) -} - -// DeleteDisk deletes the specified data or operating system disk from the image -// repository that is associated with the specified subscription -// -// https://msdn.microsoft.com/en-us/library/azure/jj157200.aspx -func (c DiskClient) DeleteDisk(name string, deleteVHD bool) error { - if name == "" { - return fmt.Errorf(errParamNotSpecified, "name") - } - - requestURL := fmt.Sprintf(deleteDiskURL, name) - if deleteVHD { - requestURL += "?comp=media" - } - - _, err := c.client.SendAzureDeleteRequest(requestURL) // request is handled synchronously - return err -} - -// GetDataDisk retrieves the specified data disk from a Virtual Machine -// -// https://msdn.microsoft.com/en-us/library/azure/jj157180.aspx -func (c DiskClient) GetDataDisk( - service string, - deployment string, - role string, - lun int) (DataDiskResponse, error) { - var response DataDiskResponse - if service == "" { - return response, fmt.Errorf(errParamNotSpecified, "service") - } - if deployment == "" { - return response, fmt.Errorf(errParamNotSpecified, "deployment") - } - if role == "" { - return response, fmt.Errorf(errParamNotSpecified, "role") - } - - requestURL := fmt.Sprintf(getDataDiskURL, service, deployment, role, lun) - - data, err := c.client.SendAzureGetRequest(requestURL) - if err != nil { - return response, err - } - - err = xml.Unmarshal(data, &response) - return response, err -} - -// GetDisk retrieves information about the specified disk -// -// https://msdn.microsoft.com/en-us/library/azure/dn775053.aspx -func (c DiskClient) GetDisk(name string) (DiskResponse, error) { - var response DiskResponse - if name == "" { - return response, fmt.Errorf(errParamNotSpecified, "name") - } - - requestURL := fmt.Sprintf(getDiskURL, name) - - data, err := c.client.SendAzureGetRequest(requestURL) - if err != nil { - return response, err - } - - err = xml.Unmarshal(data, &response) - return response, err -} - -// ListDisks retrieves a list of the disks in the image repository that is associated -// with the specified subscription -// -// https://msdn.microsoft.com/en-us/library/azure/jj157176.aspx -func (c DiskClient) ListDisks() (ListDiskResponse, error) { - var response ListDiskResponse - - data, err := c.client.SendAzureGetRequest(listDisksURL) - if err != nil { - return response, err - } - - err = xml.Unmarshal(data, &response) - return response, err -} - -// UpdateDataDisk updates the configuration of the specified data disk that is -// attached to the specified Virtual Machine -// -// https://msdn.microsoft.com/en-us/library/azure/jj157190.aspx -func (c DiskClient) UpdateDataDisk( - service string, - deployment string, - role string, - lun int, - params UpdateDataDiskParameters) (management.OperationID, error) { - if service == "" { - return "", fmt.Errorf(errParamNotSpecified, "service") - } - if deployment == "" { - return "", fmt.Errorf(errParamNotSpecified, "deployment") - } - if role == "" { - return "", fmt.Errorf(errParamNotSpecified, "role") - } - - requestURL := fmt.Sprintf(updateDataDiskURL, service, deployment, role, lun) - - req, err := xml.Marshal(params) - if err != nil { - return "", err - } - - return c.client.SendAzurePutRequest(requestURL, "", req) -} - -// UpdateDisk updates the label of an existing disk in the image repository that is -// associated with the specified subscription -// -// https://msdn.microsoft.com/en-us/library/azure/jj157205.aspx -func (c DiskClient) UpdateDisk( - name string, - params UpdateDiskParameters) (management.OperationID, error) { - if name == "" { - return "", fmt.Errorf(errParamNotSpecified, "name") - } - - requestURL := fmt.Sprintf(updateDiskURL, name) - - req, err := xml.Marshal(params) - if err != nil { - return "", err - } - - return c.client.SendAzurePutRequest(requestURL, "", req) -} diff --git a/services/classic/management/virtualmachinedisk/entities.go b/services/classic/management/virtualmachinedisk/entities.go deleted file mode 100644 index ff558e29e29e..000000000000 --- a/services/classic/management/virtualmachinedisk/entities.go +++ /dev/null @@ -1,150 +0,0 @@ -// +build go1.7 - -package virtualmachinedisk - -// Copyright 2017 Microsoft Corporation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -import ( - "encoding/xml" - - "github.com/Azure/azure-sdk-for-go/services/classic/management" -) - -// DiskClient is used to perform operations on Azure Disks -type DiskClient struct { - client management.Client -} - -// CreateDiskParameters represents a disk -// -// https://msdn.microsoft.com/en-us/library/azure/jj157188.aspx -type CreateDiskParameters struct { - XMLName xml.Name `xml:"http://schemas.microsoft.com/windowsazure Disk"` - OS OperatingSystemType `xml:",omitempty"` - Label string - MediaLink string `xml:",omitempty"` - Name string -} - -// UpdateDiskParameters represents a disk -// -// https://msdn.microsoft.com/en-us/library/azure/jj157188.aspx -type UpdateDiskParameters struct { - XMLName xml.Name `xml:"http://schemas.microsoft.com/windowsazure Disk"` - Label string `xml:",omitempty"` - Name string - ResizedSizeInGB int `xml:",omitempty"` -} - -// ListDiskResponse represents a disk -// -// https://msdn.microsoft.com/en-us/library/azure/jj157188.aspx -type ListDiskResponse struct { - XMLName xml.Name `xml:"http://schemas.microsoft.com/windowsazure Disks"` - Disk []DiskResponse -} - -// DiskResponse represents a disk -// -// https://msdn.microsoft.com/en-us/library/azure/jj157188.aspx -type DiskResponse struct { - XMLName xml.Name `xml:"http://schemas.microsoft.com/windowsazure Disk"` - AffinityGroup string - AttachedTo Resource - IsCorrupted bool - OS OperatingSystemType - Location string - LogicalDiskSizeInGB int - MediaLink string - Name string - SourceImageName string - CreatedTime string - IOType IOType -} - -// Resource describes the resource details a disk is currently attached to -type Resource struct { - XMLName xml.Name `xml:"http://schemas.microsoft.com/windowsazure AttachedTo"` - DeploymentName string - HostedServiceName string - RoleName string -} - -// IOType represents an IO type -type IOType string - -// These constants represent the possible IO types -const ( - IOTypeProvisioned IOType = "Provisioned" - IOTypeStandard IOType = "Standard" -) - -// OperatingSystemType represents an operating system type -type OperatingSystemType string - -// These constants represent the valid operating system types -const ( - OperatingSystemTypeNull OperatingSystemType = "NULL" - OperatingSystemTypeLinux OperatingSystemType = "Linux" - OperatingSystemTypeWindows OperatingSystemType = "Windows" -) - -// CreateDataDiskParameters represents a data disk -// -// https://msdn.microsoft.com/en-us/library/azure/jj157188.aspx -type CreateDataDiskParameters struct { - XMLName xml.Name `xml:"http://schemas.microsoft.com/windowsazure DataVirtualHardDisk"` - HostCaching HostCachingType `xml:",omitempty"` - DiskLabel string `xml:",omitempty"` - DiskName string `xml:",omitempty"` - Lun int `xml:",omitempty"` - LogicalDiskSizeInGB int `xml:",omitempty"` - MediaLink string - SourceMediaLink string `xml:",omitempty"` -} - -// UpdateDataDiskParameters represents a data disk -// -// https://msdn.microsoft.com/en-us/library/azure/jj157188.aspx -type UpdateDataDiskParameters struct { - XMLName xml.Name `xml:"http://schemas.microsoft.com/windowsazure DataVirtualHardDisk"` - HostCaching HostCachingType `xml:",omitempty"` - DiskName string - Lun int - MediaLink string -} - -// DataDiskResponse represents a data disk -// -// https://msdn.microsoft.com/en-us/library/azure/jj157188.aspx -type DataDiskResponse struct { - XMLName xml.Name `xml:"http://schemas.microsoft.com/windowsazure DataVirtualHardDisk"` - HostCaching HostCachingType - DiskLabel string - DiskName string - Lun int - LogicalDiskSizeInGB int - MediaLink string -} - -// HostCachingType represents a host caching type -type HostCachingType string - -// These constants represent the valid host caching types -const ( - HostCachingTypeNone HostCachingType = "None" - HostCachingTypeReadOnly HostCachingType = "ReadOnly" - HostCachingTypeReadWrite HostCachingType = "ReadWrite" -) diff --git a/services/classic/management/virtualmachineimage/client.go b/services/classic/management/virtualmachineimage/client.go deleted file mode 100644 index 47f14f23cf78..000000000000 --- a/services/classic/management/virtualmachineimage/client.go +++ /dev/null @@ -1,126 +0,0 @@ -// +build go1.7 - -// Package virtualmachineimage provides a client for Virtual Machine Images. -package virtualmachineimage - -// Copyright 2017 Microsoft Corporation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -import ( - "encoding/xml" - "fmt" - "net/url" - - "github.com/Azure/azure-sdk-for-go/services/classic/management" -) - -const ( - azureImageListURL = "services/vmimages" - azureImageDeleteURLformat = "services/vmimages/%s" - azureRoleOperationsURL = "services/hostedservices/%s/deployments/%s/roleinstances/%s/operations" - errParamNotSpecified = "Parameter %s is not specified." -) - -//NewClient is used to instantiate a new Client from an Azure client -func NewClient(client management.Client) Client { - return Client{client} -} - -//ListVirtualMachineImages lists the available VM images, filtered by the optional parameters. -//See https://msdn.microsoft.com/en-us/library/azure/dn499770.aspx -func (c Client) ListVirtualMachineImages(parameters ListParameters) (ListVirtualMachineImagesResponse, error) { - var imageList ListVirtualMachineImagesResponse - - listURL := azureImageListURL - - v := url.Values{} - if parameters.Location != "" { - v.Add("location", parameters.Location) - } - - if parameters.Publisher != "" { - v.Add("publisher", parameters.Publisher) - } - - if parameters.Category != "" { - v.Add("category", parameters.Category) - } - - query := v.Encode() - if query != "" { - listURL = listURL + "?" + query - } - - response, err := c.SendAzureGetRequest(listURL) - if err != nil { - return imageList, err - } - err = xml.Unmarshal(response, &imageList) - return imageList, err -} - -//DeleteVirtualMachineImage deletes the named VM image. If deleteVHDs is specified, -//the referenced OS and data disks are also deleted. -//See https://msdn.microsoft.com/en-us/library/azure/dn499769.aspx -func (c Client) DeleteVirtualMachineImage(name string, deleteVHDs bool) error { - if name == "" { - return fmt.Errorf(errParamNotSpecified, "name") - } - - uri := fmt.Sprintf(azureImageDeleteURLformat, name) - - if deleteVHDs { - uri = uri + "?comp=media" - } - - _, err := c.SendAzureDeleteRequest(uri) // delete is synchronous for this operation - return err -} - -type ListParameters struct { - Location string - Publisher string - Category string -} - -const CategoryUser = "User" - -//Capture captures a VM into a VM image. The VM has to be shut down previously. -//See https://msdn.microsoft.com/en-us/library/azure/dn499768.aspx -func (c Client) Capture(cloudServiceName, deploymentName, roleName string, - name, label string, osState OSState, parameters CaptureParameters) (management.OperationID, error) { - if cloudServiceName == "" { - return "", fmt.Errorf(errParamNotSpecified, "cloudServiceName") - } - if deploymentName == "" { - return "", fmt.Errorf(errParamNotSpecified, "deploymentName") - } - if roleName == "" { - return "", fmt.Errorf(errParamNotSpecified, "roleName") - } - - request := CaptureRoleAsVMImageOperation{ - VMImageName: name, - VMImageLabel: label, - OSState: osState, - CaptureParameters: parameters, - } - data, err := xml.Marshal(request) - if err != nil { - return "", err - } - - return c.SendAzurePostRequest(fmt.Sprintf(azureRoleOperationsURL, - cloudServiceName, deploymentName, roleName), data) -} diff --git a/services/classic/management/virtualmachineimage/entities.go b/services/classic/management/virtualmachineimage/entities.go deleted file mode 100644 index ebc868e6b17d..000000000000 --- a/services/classic/management/virtualmachineimage/entities.go +++ /dev/null @@ -1,111 +0,0 @@ -// +build go1.7 - -package virtualmachineimage - -// Copyright 2017 Microsoft Corporation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -import ( - "encoding/xml" - - "github.com/Azure/azure-sdk-for-go/services/classic/management" - vmdisk "github.com/Azure/azure-sdk-for-go/services/classic/management/virtualmachinedisk" -) - -// Client is used to perform operations on Azure VM Images. -type Client struct { - management.Client -} - -type ListVirtualMachineImagesResponse struct { - VMImages []VMImage `xml:"VMImage"` -} - -type VMImage struct { - Name string // Specifies the name of the image. - Label string // Specifies an identifier for the image. - Category string // Specifies the repository classification of the image. All user images have the category User. - Description string // Specifies the description of the image. - OSDiskConfiguration OSDiskConfiguration // Specifies configuration information for the operating system disk that is associated with the image. - DataDiskConfigurations []DataDiskConfiguration `xml:">DataDiskConfiguration"` // Specifies configuration information for the data disks that are associated with the image. A VM Image might not have data disks associated with it. - ServiceName string // Specifies the name of the cloud service that contained the Virtual Machine from which the image was created. - DeploymentName string // Specifies the name of the deployment that contained the Virtual Machine from which the image was created. - RoleName string // Specifies the name of the Virtual Machine from which the image was created. - Location string // Specifies the geo-location in which the media is located. The Location value is derived from the storage account that contains the blob in which the media is located. If the storage account belongs to an affinity group the value is NULL and the element is not displayed in the response. - AffinityGroup string // Specifies the affinity group in which the media is located. The AffinityGroup value is derived from the storage account that contains the blob in which the media is located. If the storage account does not belong to an affinity group the value is NULL and the element is not displayed in the response. - CreatedTime string // Specifies the time that the image was created. - ModifiedTime string // Specifies the time that the image was last updated. - Language string // Specifies the language of the image. - ImageFamily string // Specifies a value that can be used to group VM Images. - RecommendedVMSize string // Optional. Specifies the size to use for the Virtual Machine that is created from the VM Image. - IsPremium string // Indicates whether the image contains software or associated services that will incur charges above the core price for the virtual machine. For additional details, see the PricingDetailLink element. - Eula string // Specifies the End User License Agreement that is associated with the image. The value for this element is a string, but it is recommended that the value be a URL that points to a EULA. - IconURI string `xml:"IconUri"` // Specifies the URI to the icon that is displayed for the image in the Management Portal. - SmallIconURI string `xml:"SmallIconUri"` // Specifies the URI to the small icon that is displayed for the image in the Management Portal. - PrivacyURI string `xml:"PrivacyUri"` // Specifies the URI that points to a document that contains the privacy policy related to the image. - PublishedDate string // Specifies the date when the image was added to the image repository. -} - -type OSState string - -const ( - OSStateGeneralized OSState = "Generalized" - OSStateSpecialized OSState = "Specialized" -) - -type IOType string - -const ( - IOTypeProvisioned IOType = "Provisioned" - IOTypeStandard IOType = "Standard" -) - -// OSDiskConfiguration specifies configuration information for the operating -// system disk that is associated with the image. -type OSDiskConfiguration struct { - Name string // Specifies the name of the operating system disk. - HostCaching vmdisk.HostCachingType // Specifies the caching behavior of the operating system disk. - OSState OSState // Specifies the state of the operating system in the image. - OS string // Specifies the operating system type of the image. - MediaLink string // Specifies the location of the blob in Azure storage. The blob location belongs to a storage account in the subscription specified by the value in the operation call. - LogicalSizeInGB float64 // Specifies the size, in GB, of the operating system disk. - IOType IOType // Identifies the type of the storage account for the backing VHD. If the backing VHD is in an Provisioned Storage account, “Provisioned” is returned otherwise “Standard” is returned. -} - -// DataDiskConfiguration specifies configuration information for the data disks -// that are associated with the image. -type DataDiskConfiguration struct { - Name string // Specifies the name of the data disk. - HostCaching vmdisk.HostCachingType // Specifies the caching behavior of the data disk. - Lun string // Specifies the Logical Unit Number (LUN) for the data disk. - MediaLink string // Specifies the location of the blob in Azure storage. The blob location belongs to a storage account in the subscription specified by the value in the operation call. - LogicalSizeInGB float64 // Specifies the size, in GB, of the data disk. - IOType IOType // Identifies the type of the storage account for the backing VHD. If the backing VHD is in an Provisioned Storage account, “Provisioned” is returned otherwise “Standard” is returned. -} - -type CaptureRoleAsVMImageOperation struct { - XMLName xml.Name `xml:"http://schemas.microsoft.com/windowsazure CaptureRoleAsVMImageOperation"` - OperationType string //CaptureRoleAsVMImageOperation - OSState OSState - VMImageName string - VMImageLabel string - CaptureParameters -} - -type CaptureParameters struct { - Description string `xml:",omitempty"` - Language string `xml:",omitempty"` - ImageFamily string `xml:",omitempty"` - RecommendedVMSize string `xml:",omitempty"` -} diff --git a/services/classic/management/virtualmachineimage/entities_test.go b/services/classic/management/virtualmachineimage/entities_test.go deleted file mode 100644 index b1b7f0f78a3e..000000000000 --- a/services/classic/management/virtualmachineimage/entities_test.go +++ /dev/null @@ -1,126 +0,0 @@ -// +build go1.7 - -package virtualmachineimage - -// Copyright 2017 Microsoft Corporation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -import ( - "encoding/xml" - "testing" -) - -const xml1 = ` - - imgName - - User - packer made image - - OSDisk - ReadWrite - Generalized - Linux - https://sa.blob.core.windows.net/images/PackerMade_Ubuntu_Serv14_2015-12-12.vhd - 30 - Standard - - - PkrSrvf3mz03u4mi - PkrVMf3mz03u4mi - PkrVMf3mz03u4mi - Central US - 2015-12-12T08:59:29.1936858Z - 2015-12-12T08:59:29.1936858Z - PackerMade - Small - false - VMImageReadyForUse - StoppedVM - Small -` -const xml2 = ` - - imgName - - User - packer made image - - OSDisk - ReadWrite - Generalized - Linux - https://sa.blob.core.windows.net/images/PackerMade_Ubuntu_Serv14_2015-12-12.vhd - 30 - Standard - - - - DataDisk1 - ReadWrite - https://sa.blob.core.windows.net/images/PackerMade_Ubuntu_Serv14_2015-12-12-dd1.vhd - 31 - Standard - - - DataDisk2 - ReadWrite - https://sa.blob.core.windows.net/images/PackerMade_Ubuntu_Serv14_2015-12-12-dd2.vhd - 32 - Standard - - - PkrSrvf3mz03u4mi - PkrVMf3mz03u4mi - PkrVMf3mz03u4mi - Central US - 2015-12-12T08:59:29.1936858Z - 2015-12-12T08:59:29.1936858Z - PackerMade - Small - false - VMImageReadyForUse - StoppedVM - Small -` - -func Test_NoDataDisksUnmarshal(t *testing.T) { - var image VMImage - if err := xml.Unmarshal([]byte(xml1), &image); err != nil { - t.Fatal(err) - } - - check := checker{t} - check.Equal(0, len(image.DataDiskConfigurations)) -} - -func Test_DataDiskCountUnmarshal(t *testing.T) { - var image VMImage - if err := xml.Unmarshal([]byte(xml2), &image); err != nil { - t.Fatal(err) - } - - check := checker{t} - check.Equal(2, len(image.DataDiskConfigurations)) - check.Equal("DataDisk1", image.DataDiskConfigurations[0].Name) - check.Equal("DataDisk2", image.DataDiskConfigurations[1].Name) -} - -type checker struct{ *testing.T } - -func (a *checker) Equal(expected, actual interface{}) { - if expected != actual { - a.T.Fatalf("Expected %q, but got %q", expected, actual) - } -} diff --git a/services/classic/management/virtualnetwork/client.go b/services/classic/management/virtualnetwork/client.go deleted file mode 100644 index 5c8dc2d8c2ef..000000000000 --- a/services/classic/management/virtualnetwork/client.go +++ /dev/null @@ -1,63 +0,0 @@ -// +build go1.7 - -// Package virtualnetwork provides a client for Virtual Networks. -package virtualnetwork - -// Copyright 2017 Microsoft Corporation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -import ( - "encoding/xml" - - "github.com/Azure/azure-sdk-for-go/services/classic/management" -) - -const ( - azureNetworkConfigurationURL = "services/networking/media" -) - -// NewClient is used to return new VirtualNetworkClient instance -func NewClient(client management.Client) VirtualNetworkClient { - return VirtualNetworkClient{client: client} -} - -// GetVirtualNetworkConfiguration retreives the current virtual network -// configuration for the currently active subscription. Note that the -// underlying Azure API means that network related operations are not safe -// for running concurrently. -func (c VirtualNetworkClient) GetVirtualNetworkConfiguration() (NetworkConfiguration, error) { - networkConfiguration := c.NewNetworkConfiguration() - response, err := c.client.SendAzureGetRequest(azureNetworkConfigurationURL) - if err != nil { - return networkConfiguration, err - } - - err = xml.Unmarshal(response, &networkConfiguration) - return networkConfiguration, err - -} - -// SetVirtualNetworkConfiguration configures the virtual networks for the -// currently active subscription according to the NetworkConfiguration given. -// Note that the underlying Azure API means that network related operations -// are not safe for running concurrently. -func (c VirtualNetworkClient) SetVirtualNetworkConfiguration(networkConfiguration NetworkConfiguration) (management.OperationID, error) { - networkConfiguration.setXMLNamespaces() - networkConfigurationBytes, err := xml.Marshal(networkConfiguration) - if err != nil { - return "", err - } - - return c.client.SendAzurePutRequest(azureNetworkConfigurationURL, "text/plain", networkConfigurationBytes) -} diff --git a/services/classic/management/virtualnetwork/entities.go b/services/classic/management/virtualnetwork/entities.go deleted file mode 100644 index 3cb0c9b70a5f..000000000000 --- a/services/classic/management/virtualnetwork/entities.go +++ /dev/null @@ -1,106 +0,0 @@ -// +build go1.7 - -package virtualnetwork - -// Copyright 2017 Microsoft Corporation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -import ( - "encoding/xml" - - "github.com/Azure/azure-sdk-for-go/services/classic/management" -) - -const xmlNamespace = "http://schemas.microsoft.com/ServiceHosting/2011/07/NetworkConfiguration" -const xmlNamespaceXsd = "http://www.w3.org/2001/XMLSchema" -const xmlNamespaceXsi = "http://www.w3.org/2001/XMLSchema-instance" - -// VirtualNetworkClient is used to perform operations on Virtual Networks. -type VirtualNetworkClient struct { - client management.Client -} - -// NetworkConfiguration represents the network configuration for an entire Azure -// subscription. -type NetworkConfiguration struct { - XMLName xml.Name `xml:"NetworkConfiguration"` - XMLNamespaceXsd string `xml:"xmlns:xsd,attr"` - XMLNamespaceXsi string `xml:"xmlns:xsi,attr"` - XMLNs string `xml:"xmlns,attr"` - Configuration VirtualNetworkConfiguration `xml:"VirtualNetworkConfiguration"` - - // TODO: Nicer builder methods for these that abstract away the - // underlying structure. -} - -// NewNetworkConfiguration creates a new empty NetworkConfiguration structure -// for further configuration. The XML namespaces are already set correctly. -func (client *VirtualNetworkClient) NewNetworkConfiguration() NetworkConfiguration { - networkConfiguration := NetworkConfiguration{} - networkConfiguration.setXMLNamespaces() - return networkConfiguration -} - -// setXMLNamespaces ensure that all of the required namespaces are set. It -// should be called prior to marshalling the structure to XML for use with the -// Azure REST endpoint. It is used internally prior to submitting requests, but -// since it is idempotent there is no harm in repeat calls. -func (n *NetworkConfiguration) setXMLNamespaces() { - n.XMLNamespaceXsd = xmlNamespaceXsd - n.XMLNamespaceXsi = xmlNamespaceXsi - n.XMLNs = xmlNamespace -} - -type VirtualNetworkConfiguration struct { - DNS DNS `xml:"Dns,omitempty"` - LocalNetworkSites []LocalNetworkSite `xml:"LocalNetworkSites>LocalNetworkSite"` - VirtualNetworkSites []VirtualNetworkSite `xml:"VirtualNetworkSites>VirtualNetworkSite"` -} - -type DNS struct { - DNSServers []DNSServer `xml:"DnsServers>DnsServer,omitempty"` -} - -type DNSServer struct { - XMLName xml.Name `xml:"DnsServer"` - Name string `xml:"name,attr"` - IPAddress string `xml:"IPAddress,attr"` -} - -type DNSServerRef struct { - Name string `xml:"name,attr"` -} - -type VirtualNetworkSite struct { - Name string `xml:"name,attr"` - Location string `xml:"Location,attr"` - AddressSpace AddressSpace `xml:"AddressSpace"` - Subnets []Subnet `xml:"Subnets>Subnet"` - DNSServersRef []DNSServerRef `xml:"DnsServersRef>DnsServerRef,omitempty"` -} - -type LocalNetworkSite struct { - Name string `xml:"name,attr"` - VPNGatewayAddress string - AddressSpace AddressSpace -} - -type AddressSpace struct { - AddressPrefix []string -} - -type Subnet struct { - Name string `xml:"name,attr"` - AddressPrefix string -} diff --git a/services/classic/management/vmutils/configurationset.go b/services/classic/management/vmutils/configurationset.go deleted file mode 100644 index 623a394ff82b..000000000000 --- a/services/classic/management/vmutils/configurationset.go +++ /dev/null @@ -1,44 +0,0 @@ -// +build go1.7 - -package vmutils - -// Copyright 2017 Microsoft Corporation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -import ( - vm "github.com/Azure/azure-sdk-for-go/services/classic/management/virtualmachine" -) - -func updateOrAddConfig(configs []vm.ConfigurationSet, configType vm.ConfigurationSetType, update func(*vm.ConfigurationSet)) []vm.ConfigurationSet { - config := findConfig(configs, configType) - if config == nil { - configs = append(configs, vm.ConfigurationSet{ConfigurationSetType: configType}) - config = findConfig(configs, configType) - } - update(config) - - return configs -} - -func findConfig(configs []vm.ConfigurationSet, configType vm.ConfigurationSetType) *vm.ConfigurationSet { - for i, config := range configs { - if config.ConfigurationSetType == configType { - // need to return a pointer to the original set in configs, - // not the copy made by the range iterator - return &configs[i] - } - } - - return nil -} diff --git a/services/classic/management/vmutils/datadisks.go b/services/classic/management/vmutils/datadisks.go deleted file mode 100644 index 5e463a3ab1af..000000000000 --- a/services/classic/management/vmutils/datadisks.go +++ /dev/null @@ -1,74 +0,0 @@ -// +build go1.7 - -package vmutils - -// Copyright 2017 Microsoft Corporation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -import ( - "fmt" - - vm "github.com/Azure/azure-sdk-for-go/services/classic/management/virtualmachine" - vmdisk "github.com/Azure/azure-sdk-for-go/services/classic/management/virtualmachinedisk" -) - -// ConfigureWithNewDataDisk adds configuration for a new (empty) data disk -func ConfigureWithNewDataDisk(role *vm.Role, label, destinationVhdStorageURL string, sizeInGB int, cachingType vmdisk.HostCachingType) error { - if role == nil { - return fmt.Errorf(errParamNotSpecified, "role") - } - - appendDataDisk(role, vm.DataVirtualHardDisk{ - DiskLabel: label, - HostCaching: cachingType, - LogicalDiskSizeInGB: sizeInGB, - MediaLink: destinationVhdStorageURL, - }) - - return nil -} - -// ConfigureWithExistingDataDisk adds configuration for an existing data disk -func ConfigureWithExistingDataDisk(role *vm.Role, diskName string, cachingType vmdisk.HostCachingType) error { - if role == nil { - return fmt.Errorf(errParamNotSpecified, "role") - } - - appendDataDisk(role, vm.DataVirtualHardDisk{ - DiskName: diskName, - HostCaching: cachingType, - }) - - return nil -} - -// ConfigureWithVhdDataDisk adds configuration for adding a vhd in a storage -// account as a data disk -func ConfigureWithVhdDataDisk(role *vm.Role, sourceVhdStorageURL string, cachingType vmdisk.HostCachingType) error { - if role == nil { - return fmt.Errorf(errParamNotSpecified, "role") - } - - appendDataDisk(role, vm.DataVirtualHardDisk{ - SourceMediaLink: sourceVhdStorageURL, - HostCaching: cachingType, - }) - - return nil -} - -func appendDataDisk(role *vm.Role, disk vm.DataVirtualHardDisk) { - disk.Lun = len(role.DataVirtualHardDisks) - role.DataVirtualHardDisks = append(role.DataVirtualHardDisks, disk) -} diff --git a/services/classic/management/vmutils/deployment.go b/services/classic/management/vmutils/deployment.go deleted file mode 100644 index 403897c73e89..000000000000 --- a/services/classic/management/vmutils/deployment.go +++ /dev/null @@ -1,107 +0,0 @@ -// +build go1.7 - -package vmutils - -// Copyright 2017 Microsoft Corporation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -import ( - "fmt" - - vm "github.com/Azure/azure-sdk-for-go/services/classic/management/virtualmachine" -) - -// ConfigureDeploymentFromRemoteImage configures VM Role to deploy from a remote -// image source. "remoteImageSourceURL" can be any publically accessible URL to -// a VHD file, including but not limited to a SAS Azure Storage blob url. "os" -// needs to be either "Linux" or "Windows". "label" is optional. -func ConfigureDeploymentFromRemoteImage( - role *vm.Role, - remoteImageSourceURL string, - os string, - newDiskName string, - destinationVhdStorageURL string, - label string) error { - if role == nil { - return fmt.Errorf(errParamNotSpecified, "role") - } - - role.OSVirtualHardDisk = &vm.OSVirtualHardDisk{ - RemoteSourceImageLink: remoteImageSourceURL, - MediaLink: destinationVhdStorageURL, - DiskName: newDiskName, - OS: os, - DiskLabel: label, - } - return nil -} - -// ConfigureDeploymentFromPlatformImage configures VM Role to deploy from a -// platform image. See osimage package for methods to retrieve a list of the -// available platform images. "label" is optional. -func ConfigureDeploymentFromPlatformImage( - role *vm.Role, - imageName string, - mediaLink string, - label string) error { - if role == nil { - return fmt.Errorf(errParamNotSpecified, "role") - } - - role.OSVirtualHardDisk = &vm.OSVirtualHardDisk{ - SourceImageName: imageName, - MediaLink: mediaLink, - } - return nil -} - -// ConfigureDeploymentFromPublishedVMImage configures VM Role to deploy from -// a published (public) VM image. -func ConfigureDeploymentFromPublishedVMImage( - role *vm.Role, - vmImageName string, - mediaLocation string, - provisionGuestAgent bool) error { - if role == nil { - return fmt.Errorf(errParamNotSpecified, "role") - } - - role.VMImageName = vmImageName - role.MediaLocation = mediaLocation - role.ProvisionGuestAgent = provisionGuestAgent - return nil -} - -// ConfigureDeploymentFromUserVMImage configures VM Role to deploy from a previously -// captured (user generated) VM image. -func ConfigureDeploymentFromUserVMImage( - role *vm.Role, - vmImageName string) error { - if role == nil { - return fmt.Errorf(errParamNotSpecified, "role") - } - - role.VMImageName = vmImageName - return nil -} - -// ConfigureDeploymentFromExistingOSDisk configures VM Role to deploy from an -// existing disk. 'label' is optional. -func ConfigureDeploymentFromExistingOSDisk(role *vm.Role, osDiskName, label string) error { - role.OSVirtualHardDisk = &vm.OSVirtualHardDisk{ - DiskName: osDiskName, - DiskLabel: label, - } - return nil -} diff --git a/services/classic/management/vmutils/extensions.go b/services/classic/management/vmutils/extensions.go deleted file mode 100644 index e96668dedec6..000000000000 --- a/services/classic/management/vmutils/extensions.go +++ /dev/null @@ -1,106 +0,0 @@ -// +build go1.7 - -package vmutils - -// Copyright 2017 Microsoft Corporation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -import ( - "encoding/base64" - "encoding/json" - "fmt" - - vm "github.com/Azure/azure-sdk-for-go/services/classic/management/virtualmachine" -) - -const ( - dockerPublicConfigVersion = 2 -) - -func AddAzureVMExtensionConfiguration(role *vm.Role, name, publisher, version, referenceName, state string, - publicConfigurationValue, privateConfigurationValue []byte) error { - if role == nil { - return fmt.Errorf(errParamNotSpecified, "role") - } - - extension := vm.ResourceExtensionReference{ - Name: name, - Publisher: publisher, - Version: version, - ReferenceName: referenceName, - State: state, - } - - if len(privateConfigurationValue) != 0 { - extension.ParameterValues = append(extension.ParameterValues, vm.ResourceExtensionParameter{ - Key: "ignored", - Value: base64.StdEncoding.EncodeToString(privateConfigurationValue), - Type: "Private", - }) - } - - if len(publicConfigurationValue) != 0 { - extension.ParameterValues = append(extension.ParameterValues, vm.ResourceExtensionParameter{ - Key: "ignored", - Value: base64.StdEncoding.EncodeToString(publicConfigurationValue), - Type: "Public", - }) - } - - if role.ResourceExtensionReferences == nil { - role.ResourceExtensionReferences = &[]vm.ResourceExtensionReference{} - } - extensionList := append(*role.ResourceExtensionReferences, extension) - role.ResourceExtensionReferences = &extensionList - return nil -} - -// AddAzureDockerVMExtensionConfiguration adds the DockerExtension to the role -// configuratioon and opens a port "dockerPort" -// TODO(ahmetalpbalkan) Deprecate this and move to 'docker-machine' codebase. -func AddAzureDockerVMExtensionConfiguration(role *vm.Role, dockerPort int, version string) error { - if role == nil { - return fmt.Errorf(errParamNotSpecified, "role") - } - - if err := ConfigureWithExternalPort(role, "docker", dockerPort, dockerPort, vm.InputEndpointProtocolTCP); err != nil { - return err - } - - publicConfiguration, err := createDockerPublicConfig(dockerPort) - if err != nil { - return err - } - - privateConfiguration, err := json.Marshal(dockerPrivateConfig{}) - if err != nil { - return err - } - - return AddAzureVMExtensionConfiguration(role, - "DockerExtension", "MSOpenTech.Extensions", - version, "DockerExtension", "enable", - publicConfiguration, privateConfiguration) -} - -func createDockerPublicConfig(dockerPort int) ([]byte, error) { - return json.Marshal(dockerPublicConfig{DockerPort: dockerPort, Version: dockerPublicConfigVersion}) -} - -type dockerPublicConfig struct { - DockerPort int `json:"dockerport"` - Version int `json:"version"` -} - -type dockerPrivateConfig struct{} diff --git a/services/classic/management/vmutils/extensions_test.go b/services/classic/management/vmutils/extensions_test.go deleted file mode 100644 index eb158450e7b3..000000000000 --- a/services/classic/management/vmutils/extensions_test.go +++ /dev/null @@ -1,58 +0,0 @@ -// +build go1.7 - -package vmutils - -// Copyright 2017 Microsoft Corporation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -import ( - "encoding/xml" - "testing" - - vm "github.com/Azure/azure-sdk-for-go/services/classic/management/virtualmachine" -) - -func Test_AddAzureVMExtensionConfiguration(t *testing.T) { - - role := vm.Role{} - AddAzureVMExtensionConfiguration(&role, - "nameOfExtension", "nameOfPublisher", "versionOfExtension", "nameOfReference", "state", []byte{1, 2, 3}, []byte{}) - - data, err := xml.MarshalIndent(role, "", " ") - if err != nil { - t.Fatal(err) - } - if expected := ` - - - - nameOfReference - nameOfPublisher - nameOfExtension - versionOfExtension - - - ignored - AQID - Public - - - state - - - -`; string(data) != expected { - t.Fatalf("Expected %q, but got %q", expected, string(data)) - } -} diff --git a/services/classic/management/vmutils/integration_test.go b/services/classic/management/vmutils/integration_test.go deleted file mode 100644 index 5fbc9051435a..000000000000 --- a/services/classic/management/vmutils/integration_test.go +++ /dev/null @@ -1,474 +0,0 @@ -// +build go1.7 - -package vmutils - -// Copyright 2017 Microsoft Corporation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -import ( - "encoding/base64" - "fmt" - "math/rand" - "testing" - "time" - - "github.com/Azure/azure-sdk-for-go/services/classic/management" - "github.com/Azure/azure-sdk-for-go/services/classic/management/hostedservice" - "github.com/Azure/azure-sdk-for-go/services/classic/management/location" - "github.com/Azure/azure-sdk-for-go/services/classic/management/osimage" - storage "github.com/Azure/azure-sdk-for-go/services/classic/management/storageservice" - "github.com/Azure/azure-sdk-for-go/services/classic/management/testutils" - vm "github.com/Azure/azure-sdk-for-go/services/classic/management/virtualmachine" - vmimage "github.com/Azure/azure-sdk-for-go/services/classic/management/virtualmachineimage" -) - -func TestDeployPlatformImage(t *testing.T) { - client := testutils.GetTestClient(t) - vmname := GenerateName() - sa := GetTestStorageAccount(t, client) - location := sa.StorageServiceProperties.Location - - role := NewVMConfiguration(vmname, "Standard_D3") - ConfigureDeploymentFromPlatformImage(&role, - GetLinuxTestImage(t, client).Name, - fmt.Sprintf("http://%s.blob.core.windows.net/sdktest/%s.vhd", sa.ServiceName, vmname), - GenerateName()) - ConfigureForLinux(&role, "myvm", "azureuser", GeneratePassword()) - ConfigureWithPublicSSH(&role) - - testRoleConfiguration(t, client, role, location) -} - -func TestDeployPlatformWindowsImage(t *testing.T) { - client := testutils.GetTestClient(t) - vmname := GenerateName() - sa := GetTestStorageAccount(t, client) - location := sa.StorageServiceProperties.Location - - role := NewVMConfiguration(vmname, "Standard_D3") - ConfigureDeploymentFromPlatformImage(&role, - GetWindowsTestImage(t, client).Name, - fmt.Sprintf("http://%s.blob.core.windows.net/sdktest/%s.vhd", sa.ServiceName, vmname), - GenerateName()) - ConfigureForWindows(&role, vmname, "azureuser", GeneratePassword(), true, "") - ConfigureWinRMOverHTTP(&role) - ConfigureWinRMOverHTTPS(&role, "") - - testRoleConfiguration(t, client, role, location) -} - -func TestVMImageList(t *testing.T) { - client := testutils.GetTestClient(t) - vmic := vmimage.NewClient(client) - il, _ := vmic.ListVirtualMachineImages(vmimage.ListParameters{}) - for _, im := range il.VMImages { - t.Logf("%s -%s", im.Name, im.Description) - } -} - -func TestDeployPlatformOSImageCaptureRedeploy(t *testing.T) { - client := testutils.GetTestClient(t) - vmname := GenerateName() - sa := GetTestStorageAccount(t, client) - location := sa.StorageServiceProperties.Location - - role := NewVMConfiguration(vmname, "Standard_D3") - ConfigureDeploymentFromPlatformImage(&role, - GetLinuxTestImage(t, client).Name, - fmt.Sprintf("http://%s.blob.core.windows.net/sdktest/%s.vhd", sa.ServiceName, vmname), - GenerateName()) - ConfigureForLinux(&role, "myvm", "azureuser", GeneratePassword()) - ConfigureWithPublicSSH(&role) - - t.Logf("Deploying VM: %s", vmname) - createRoleConfiguration(t, client, role, location) - - t.Logf("Wait for deployment to enter running state") - vmc := vm.NewClient(client) - status := vm.DeploymentStatusDeploying - for status != vm.DeploymentStatusRunning { - deployment, err := vmc.GetDeployment(vmname, vmname) - if err != nil { - t.Error(err) - break - } - status = deployment.Status - } - - t.Logf("Shutting down VM: %s", vmname) - if err := Await(client, func() (management.OperationID, error) { - return vmc.ShutdownRole(vmname, vmname, vmname, vm.PostShutdownActionStopped) - }); err != nil { - t.Error(err) - } - - if err := WaitForDeploymentPowerState(client, vmname, vmname, vm.PowerStateStopped); err != nil { - t.Fatal(err) - } - - imagename := GenerateName() - t.Logf("Capturing OSImage: %s", imagename) - if err := Await(client, func() (management.OperationID, error) { - return vmc.CaptureRole(vmname, vmname, vmname, imagename, imagename, nil) - }); err != nil { - t.Error(err) - } - - im := GetUserOSImage(t, client, imagename) - t.Logf("Found image: %+v", im) - - newvmname := GenerateName() - role = NewVMConfiguration(newvmname, "Standard_D3") - ConfigureDeploymentFromPlatformImage(&role, - im.Name, - fmt.Sprintf("http://%s.blob.core.windows.net/sdktest/%s.vhd", sa.ServiceName, newvmname), - GenerateName()) - ConfigureForLinux(&role, newvmname, "azureuser", GeneratePassword()) - ConfigureWithPublicSSH(&role) - - t.Logf("Deploying new VM from freshly captured OS image: %s", newvmname) - if err := Await(client, func() (management.OperationID, error) { - return vmc.CreateDeployment(role, vmname, vm.CreateDeploymentOptions{}) - }); err != nil { - t.Error(err) - } - - deleteHostedService(t, client, vmname) -} - -func TestDeployPlatformVMImageCaptureRedeploy(t *testing.T) { - client := testutils.GetTestClient(t) - vmname := GenerateName() - sa := GetTestStorageAccount(t, client) - location := sa.StorageServiceProperties.Location - - role := NewVMConfiguration(vmname, "Standard_D3") - ConfigureDeploymentFromPlatformImage(&role, - GetLinuxTestImage(t, client).Name, - fmt.Sprintf("http://%s.blob.core.windows.net/sdktest/%s.vhd", sa.ServiceName, vmname), - GenerateName()) - ConfigureForLinux(&role, "myvm", "azureuser", GeneratePassword()) - ConfigureWithPublicSSH(&role) - - t.Logf("Deploying VM: %s", vmname) - createRoleConfiguration(t, client, role, location) - - t.Logf("Wait for deployment to enter running state") - vmc := vm.NewClient(client) - status := vm.DeploymentStatusDeploying - for status != vm.DeploymentStatusRunning { - deployment, err := vmc.GetDeployment(vmname, vmname) - if err != nil { - t.Error(err) - break - } - status = deployment.Status - } - - t.Logf("Shutting down VM: %s", vmname) - if err := Await(client, func() (management.OperationID, error) { - return vmc.ShutdownRole(vmname, vmname, vmname, vm.PostShutdownActionStopped) - }); err != nil { - t.Error(err) - } - - if err := WaitForDeploymentInstanceStatus(client, vmname, vmname, vm.InstanceStatusStoppedVM); err != nil { - t.Fatal(err) - } - - imagename := GenerateName() - t.Logf("Capturing VMImage: %s", imagename) - if err := Await(client, func() (management.OperationID, error) { - return vmimage.NewClient(client).Capture(vmname, vmname, vmname, imagename, imagename, vmimage.OSStateGeneralized, vmimage.CaptureParameters{}) - }); err != nil { - t.Error(err) - } - - im := GetUserVMImage(t, client, imagename) - t.Logf("Found image: %+v", im) - - newvmname := GenerateName() - role = NewVMConfiguration(newvmname, "Standard_D3") - ConfigureDeploymentFromUserVMImage(&role, im.Name) - ConfigureForLinux(&role, newvmname, "azureuser", GeneratePassword()) - ConfigureWithPublicSSH(&role) - - t.Logf("Deploying new VM from freshly captured VM image: %s", newvmname) - if err := Await(client, func() (management.OperationID, error) { - return vmc.CreateDeployment(role, vmname, vm.CreateDeploymentOptions{}) - }); err != nil { - t.Error(err) - } - - deleteHostedService(t, client, vmname) -} - -func TestDeployFromPublishedVmImage(t *testing.T) { - client := testutils.GetTestClient(t) - vmname := GenerateName() - sa := GetTestStorageAccount(t, client) - location := sa.StorageServiceProperties.Location - - im := GetVMImage(t, client, func(im vmimage.VMImage) bool { - return im.Name == - "fb83b3509582419d99629ce476bcb5c8__SQL-Server-2014-RTM-12.0.2430.0-OLTP-ENU-Win2012R2-cy14su11" - }) - - role := NewVMConfiguration(vmname, "Standard_D4") - ConfigureDeploymentFromPublishedVMImage(&role, im.Name, - fmt.Sprintf("http://%s.blob.core.windows.net/%s", sa.ServiceName, vmname), false) - ConfigureForWindows(&role, vmname, "azureuser", GeneratePassword(), true, "") - ConfigureWithPublicSSH(&role) - - testRoleConfiguration(t, client, role, location) -} - -func TestRoleStateOperations(t *testing.T) { - client := testutils.GetTestClient(t) - vmname := GenerateName() - sa := GetTestStorageAccount(t, client) - location := sa.StorageServiceProperties.Location - - role := NewVMConfiguration(vmname, "Standard_D3") - ConfigureDeploymentFromPlatformImage(&role, - GetLinuxTestImage(t, client).Name, - fmt.Sprintf("http://%s.blob.core.windows.net/sdktest/%s.vhd", sa.ServiceName, vmname), - GenerateName()) - ConfigureForLinux(&role, "myvm", "azureuser", GeneratePassword()) - - createRoleConfiguration(t, client, role, location) - - vmc := vm.NewClient(client) - if err := Await(client, func() (management.OperationID, error) { - return vmc.ShutdownRole(vmname, vmname, vmname, vm.PostShutdownActionStopped) - }); err != nil { - t.Error(err) - } - if err := Await(client, func() (management.OperationID, error) { - return vmc.StartRole(vmname, vmname, vmname) - }); err != nil { - t.Error(err) - } - if err := Await(client, func() (management.OperationID, error) { - return vmc.RestartRole(vmname, vmname, vmname) - }); err != nil { - t.Error(err) - } - - deleteHostedService(t, client, vmname) -} - -func testRoleConfiguration(t *testing.T, client management.Client, role vm.Role, location string) { - createRoleConfiguration(t, client, role, location) - - deleteHostedService(t, client, role.RoleName) -} - -func createRoleConfiguration(t *testing.T, client management.Client, role vm.Role, location string) { - vmc := vm.NewClient(client) - hsc := hostedservice.NewClient(client) - vmname := role.RoleName - - if err := hsc.CreateHostedService(hostedservice.CreateHostedServiceParameters{ - ServiceName: vmname, Location: location, - Label: base64.StdEncoding.EncodeToString([]byte(vmname))}); err != nil { - t.Error(err) - } - - if err := Await(client, func() (management.OperationID, error) { - return vmc.CreateDeployment(role, vmname, vm.CreateDeploymentOptions{}) - }); err != nil { - t.Error(err) - } -} - -func deleteHostedService(t *testing.T, client management.Client, vmname string) { - t.Logf("Deleting hosted service: %s", vmname) - if err := Await(client, func() (management.OperationID, error) { - return hostedservice.NewClient(client).DeleteHostedService(vmname, true) - }); err != nil { - t.Error(err) - } -} - -// === utility funcs === - -func GetTestStorageAccount(t *testing.T, client management.Client) storage.StorageServiceResponse { - t.Log("Retrieving storage account") - sc := storage.NewClient(client) - var sa storage.StorageServiceResponse - ssl, err := sc.ListStorageServices() - if err != nil { - t.Fatal(err) - } - rnd := rand.New(rand.NewSource(time.Now().UnixNano())) - - if len(ssl.StorageServices) == 0 { - t.Log("No storage accounts found, creating a new one") - lc := location.NewClient(client) - ll, err := lc.ListLocations() - if err != nil { - t.Fatal(err) - } - loc := ll.Locations[rnd.Intn(len(ll.Locations))].Name - - t.Logf("Location for new storage account: %s", loc) - name := GenerateName() - op, err := sc.CreateStorageService(storage.StorageAccountCreateParameters{ - ServiceName: name, - Label: base64.StdEncoding.EncodeToString([]byte(name)), - Location: loc, - AccountType: storage.AccountTypeStandardLRS}) - if err != nil { - t.Fatal(err) - } - if err := client.WaitForOperation(op, nil); err != nil { - t.Fatal(err) - } - sa, err = sc.GetStorageService(name) - if err != nil { - t.Fatal(err) - } - } else { - - sa = ssl.StorageServices[rnd.Intn(len(ssl.StorageServices))] - } - - t.Logf("Selected storage account '%s' in location '%s'", - sa.ServiceName, sa.StorageServiceProperties.Location) - - return sa -} - -func GetLinuxTestImage(t *testing.T, client management.Client) osimage.OSImage { - return GetOSImage(t, client, func(im osimage.OSImage) bool { - return im.Category == "Public" && im.ImageFamily == "Ubuntu Server 14.04 LTS" - }) -} - -func GetWindowsTestImage(t *testing.T, client management.Client) osimage.OSImage { - return GetOSImage(t, client, func(im osimage.OSImage) bool { - return im.Category == "Public" && im.ImageFamily == "Windows Server 2012 R2 Datacenter" - }) -} - -func GetUserOSImage(t *testing.T, client management.Client, name string) osimage.OSImage { - return GetOSImage(t, client, func(im osimage.OSImage) bool { - return im.Category == "User" && im.Name == name - }) -} - -func GetOSImage( - t *testing.T, - client management.Client, - filter func(osimage.OSImage) bool) osimage.OSImage { - t.Log("Selecting OS image") - osc := osimage.NewClient(client) - allimages, err := osc.ListOSImages() - if err != nil { - t.Fatal(err) - } - filtered := []osimage.OSImage{} - for _, im := range allimages.OSImages { - if filter(im) { - filtered = append(filtered, im) - } - } - if len(filtered) == 0 { - t.Fatal("Filter too restrictive, no images left?") - } - - image := filtered[0] - for _, im := range filtered { - if im.PublishedDate > image.PublishedDate { - image = im - } - } - - t.Logf("Selecting image '%s'", image.Name) - return image -} - -func GetUserVMImage(t *testing.T, client management.Client, name string) vmimage.VMImage { - return GetVMImage(t, client, func(im vmimage.VMImage) bool { - return im.Category == "User" && im.Name == name - }) -} - -func GetVMImage( - t *testing.T, - client management.Client, - filter func(vmimage.VMImage) bool) vmimage.VMImage { - t.Log("Selecting VM image") - allimages, err := vmimage.NewClient(client).ListVirtualMachineImages(vmimage.ListParameters{}) - if err != nil { - t.Fatal(err) - } - filtered := []vmimage.VMImage{} - for _, im := range allimages.VMImages { - if filter(im) { - filtered = append(filtered, im) - } - } - if len(filtered) == 0 { - t.Fatal("Filter too restrictive, no images left?") - } - - image := filtered[0] - for _, im := range filtered { - if im.PublishedDate > image.PublishedDate { - image = im - } - } - - t.Logf("Selecting image '%s'", image.Name) - return image -} - -func GenerateName() string { - from := "1234567890abcdefghijklmnopqrstuvwxyz" - return "sdk" + GenerateString(12, from) -} - -func GeneratePassword() string { - pw := GenerateString(20, "1234567890") + - GenerateString(20, "abcdefghijklmnopqrstuvwxyz") + - GenerateString(20, "ABCDEFGHIJKLMNOPQRSTUVWXYZ") - - rnd := rand.New(rand.NewSource(time.Now().UnixNano())) - i := rnd.Intn(len(pw)-2) + 1 - - pw = string(append([]uint8(pw[i:]), pw[:i-1]...)) - - return pw -} - -func GenerateString(length int, from string) string { - str := "" - rnd := rand.New(rand.NewSource(time.Now().UnixNano())) - for len(str) < length { - str += string(from[rnd.Intn(len(from))]) - } - return str -} - -type asyncFunc func() (operationId management.OperationID, err error) - -func Await(client management.Client, async asyncFunc) error { - requestID, err := async() - if err != nil { - return err - } - return client.WaitForOperation(requestID, nil) -} diff --git a/services/classic/management/vmutils/network.go b/services/classic/management/vmutils/network.go deleted file mode 100644 index f2145b6878da..000000000000 --- a/services/classic/management/vmutils/network.go +++ /dev/null @@ -1,99 +0,0 @@ -// +build go1.7 - -package vmutils - -// Copyright 2017 Microsoft Corporation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -import ( - "fmt" - - vm "github.com/Azure/azure-sdk-for-go/services/classic/management/virtualmachine" -) - -// ConfigureWithPublicSSH adds configuration exposing port 22 externally -func ConfigureWithPublicSSH(role *vm.Role) error { - if role == nil { - return fmt.Errorf(errParamNotSpecified, "role") - } - - return ConfigureWithExternalPort(role, "SSH", 22, 22, vm.InputEndpointProtocolTCP) -} - -// ConfigureWithPublicRDP adds configuration exposing port 3389 externally -func ConfigureWithPublicRDP(role *vm.Role) error { - if role == nil { - return fmt.Errorf(errParamNotSpecified, "role") - } - - return ConfigureWithExternalPort(role, "RDP", 3389, 3389, vm.InputEndpointProtocolTCP) -} - -// ConfigureWithPublicPowerShell adds configuration exposing port 5986 -// externally -func ConfigureWithPublicPowerShell(role *vm.Role) error { - if role == nil { - return fmt.Errorf(errParamNotSpecified, "role") - } - - return ConfigureWithExternalPort(role, "PowerShell", 5986, 5986, vm.InputEndpointProtocolTCP) -} - -// ConfigureWithExternalPort adds a new InputEndpoint to the Role, exposing a -// port externally -func ConfigureWithExternalPort(role *vm.Role, name string, localport, externalport int, protocol vm.InputEndpointProtocol) error { - if role == nil { - return fmt.Errorf(errParamNotSpecified, "role") - } - - role.ConfigurationSets = updateOrAddConfig(role.ConfigurationSets, vm.ConfigurationSetTypeNetwork, - func(config *vm.ConfigurationSet) { - config.InputEndpoints = append(config.InputEndpoints, vm.InputEndpoint{ - LocalPort: localport, - Name: name, - Port: externalport, - Protocol: protocol, - }) - }) - - return nil -} - -// ConfigureWithSecurityGroup associates the Role with a specific network security group -func ConfigureWithSecurityGroup(role *vm.Role, networkSecurityGroup string) error { - if role == nil { - return fmt.Errorf(errParamNotSpecified, "role") - } - - role.ConfigurationSets = updateOrAddConfig(role.ConfigurationSets, vm.ConfigurationSetTypeNetwork, - func(config *vm.ConfigurationSet) { - config.NetworkSecurityGroup = networkSecurityGroup - }) - - return nil -} - -// ConfigureWithSubnet associates the Role with a specific subnet -func ConfigureWithSubnet(role *vm.Role, subnet string) error { - if role == nil { - return fmt.Errorf(errParamNotSpecified, "role") - } - - role.ConfigurationSets = updateOrAddConfig(role.ConfigurationSets, vm.ConfigurationSetTypeNetwork, - func(config *vm.ConfigurationSet) { - config.SubnetNames = append(config.SubnetNames, subnet) - }) - - return nil -} diff --git a/services/classic/management/vmutils/rolesize.go b/services/classic/management/vmutils/rolesize.go deleted file mode 100644 index a381ca3e73e6..000000000000 --- a/services/classic/management/vmutils/rolesize.go +++ /dev/null @@ -1,92 +0,0 @@ -// +build go1.7 - -package vmutils - -// Copyright 2017 Microsoft Corporation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -import ( - "fmt" - - "github.com/Azure/azure-sdk-for-go/services/classic/management" - lc "github.com/Azure/azure-sdk-for-go/services/classic/management/location" - vm "github.com/Azure/azure-sdk-for-go/services/classic/management/virtualmachine" -) - -// IsRoleSizeValid retrieves the available rolesizes using -// vmclient.GetRoleSizeList() and returns whether that the provided roleSizeName -// is part of that list -func IsRoleSizeValid(vmclient vm.VirtualMachineClient, roleSizeName string) (bool, error) { - if roleSizeName == "" { - return false, fmt.Errorf(errParamNotSpecified, "roleSizeName") - } - - roleSizeList, err := vmclient.GetRoleSizeList() - if err != nil { - return false, err - } - - for _, roleSize := range roleSizeList.RoleSizes { - if roleSize.Name == roleSizeName { - return true, nil - } - } - - return false, nil -} - -// IsRoleSizeAvailableInLocation retrieves all available sizes in the specified -// location and returns whether that the provided roleSizeName is part of that list. -func IsRoleSizeAvailableInLocation(managementclient management.Client, location, roleSizeName string) (bool, error) { - if location == "" { - return false, fmt.Errorf(errParamNotSpecified, "location") - } - if roleSizeName == "" { - return false, fmt.Errorf(errParamNotSpecified, "roleSizeName") - } - - locationClient := lc.NewClient(managementclient) - locationInfo, err := getLocation(locationClient, location) - if err != nil { - return false, err - } - - for _, availableRoleSize := range locationInfo.VirtualMachineRoleSizes { - if availableRoleSize == roleSizeName { - return true, nil - } - } - - return false, nil -} - -func getLocation(c lc.LocationClient, location string) (*lc.Location, error) { - if location == "" { - return nil, fmt.Errorf(errParamNotSpecified, "location") - } - - locations, err := c.ListLocations() - if err != nil { - return nil, err - } - - for _, existingLocation := range locations.Locations { - if existingLocation.Name != location { - continue - } - - return &existingLocation, nil - } - return nil, fmt.Errorf("Invalid location: %s. Available locations: %s", location, locations) -} diff --git a/services/classic/management/vmutils/rolestate.go b/services/classic/management/vmutils/rolestate.go deleted file mode 100644 index 4ae604cd3e91..000000000000 --- a/services/classic/management/vmutils/rolestate.go +++ /dev/null @@ -1,74 +0,0 @@ -// +build go1.7 - -package vmutils - -// Copyright 2017 Microsoft Corporation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -import ( - "time" - - "github.com/Azure/azure-sdk-for-go/services/classic/management" - vm "github.com/Azure/azure-sdk-for-go/services/classic/management/virtualmachine" -) - -// WaitForDeploymentPowerState blocks until all role instances in deployment -// reach desired power state. -func WaitForDeploymentPowerState(client management.Client, cloudServiceName, deploymentName string, desiredPowerstate vm.PowerState) error { - for { - deployment, err := vm.NewClient(client).GetDeployment(cloudServiceName, deploymentName) - if err != nil { - return err - } - if allInstancesInPowerState(deployment.RoleInstanceList, desiredPowerstate) { - return nil - } - time.Sleep(2 * time.Second) - } -} - -func allInstancesInPowerState(instances []vm.RoleInstance, desiredPowerstate vm.PowerState) bool { - for _, r := range instances { - if r.PowerState != desiredPowerstate { - return false - } - } - - return true -} - -// WaitForDeploymentInstanceStatus blocks until all role instances in deployment -// reach desired InstanceStatus. -func WaitForDeploymentInstanceStatus(client management.Client, cloudServiceName, deploymentName string, desiredInstanceStatus vm.InstanceStatus) error { - for { - deployment, err := vm.NewClient(client).GetDeployment(cloudServiceName, deploymentName) - if err != nil { - return err - } - if allInstancesInInstanceStatus(deployment.RoleInstanceList, desiredInstanceStatus) { - return nil - } - time.Sleep(2 * time.Second) - } -} - -func allInstancesInInstanceStatus(instances []vm.RoleInstance, desiredInstancestatus vm.InstanceStatus) bool { - for _, r := range instances { - if r.InstanceStatus != desiredInstancestatus { - return false - } - } - - return true -} diff --git a/services/classic/management/vmutils/vmutils.go b/services/classic/management/vmutils/vmutils.go deleted file mode 100644 index 812851a6c201..000000000000 --- a/services/classic/management/vmutils/vmutils.go +++ /dev/null @@ -1,193 +0,0 @@ -// +build go1.7 - -// Package vmutils provides convenience methods for creating Virtual -// Machine Role configurations. -package vmutils - -// Copyright 2017 Microsoft Corporation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -import ( - "fmt" - - vm "github.com/Azure/azure-sdk-for-go/services/classic/management/virtualmachine" -) - -const ( - errParamNotSpecified = "Parameter %s is not specified." -) - -// NewVMConfiguration creates configuration for a new virtual machine Role. -func NewVMConfiguration(name string, roleSize string) vm.Role { - return vm.Role{ - RoleName: name, - RoleType: "PersistentVMRole", - RoleSize: roleSize, - ProvisionGuestAgent: true, - } -} - -// ConfigureForLinux adds configuration when deploying a generalized Linux -// image. If "password" is left empty, SSH password security will be disabled by -// default. Certificates with SSH public keys should already be uploaded to the -// cloud service where the VM will be deployed and referenced here only by their -// thumbprint. -func ConfigureForLinux(role *vm.Role, hostname, user, password string, sshPubkeyCertificateThumbprint ...string) error { - if role == nil { - return fmt.Errorf(errParamNotSpecified, "role") - } - - role.ConfigurationSets = updateOrAddConfig(role.ConfigurationSets, vm.ConfigurationSetTypeLinuxProvisioning, - func(config *vm.ConfigurationSet) { - config.HostName = hostname - config.UserName = user - config.UserPassword = password - if password != "" { - config.DisableSSHPasswordAuthentication = "false" - } - if len(sshPubkeyCertificateThumbprint) != 0 { - config.SSH = &vm.SSH{} - for _, k := range sshPubkeyCertificateThumbprint { - config.SSH.PublicKeys = append(config.SSH.PublicKeys, - vm.PublicKey{ - Fingerprint: k, - Path: "/home/" + user + "/.ssh/authorized_keys", - }, - ) - } - } - }, - ) - - return nil -} - -// ConfigureForWindows adds configuration when deploying a generalized -// Windows image. timeZone can be left empty. For a complete list of supported -// time zone entries, you can either refer to the values listed in the registry -// entry "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time -// Zones" or you can use the tzutil command-line tool to list the valid time. -func ConfigureForWindows(role *vm.Role, hostname, user, password string, enableAutomaticUpdates bool, timeZone string) error { - if role == nil { - return fmt.Errorf(errParamNotSpecified, "role") - } - - role.ConfigurationSets = updateOrAddConfig(role.ConfigurationSets, vm.ConfigurationSetTypeWindowsProvisioning, - func(config *vm.ConfigurationSet) { - config.ComputerName = hostname - config.AdminUsername = user - config.AdminPassword = password - config.EnableAutomaticUpdates = enableAutomaticUpdates - config.TimeZone = timeZone - }, - ) - - return nil -} - -// ConfigureWithCustomDataForLinux configures custom data for Linux-based images. -// The customData contains either cloud-init or shell script to be executed upon start. -// -// The function expects the customData to be base64-encoded. -func ConfigureWithCustomDataForLinux(role *vm.Role, customData string) error { - return configureWithCustomData(role, customData, vm.ConfigurationSetTypeLinuxProvisioning) -} - -// ConfigureWithCustomDataForWindows configures custom data for Windows-based images. -// The customData contains either cloud-init or shell script to be executed upon start. -// -// The function expects the customData to be base64-encoded. -func ConfigureWithCustomDataForWindows(role *vm.Role, customData string) error { - return configureWithCustomData(role, customData, vm.ConfigurationSetTypeWindowsProvisioning) -} - -func configureWithCustomData(role *vm.Role, customData string, typ vm.ConfigurationSetType) error { - if role == nil { - return fmt.Errorf(errParamNotSpecified, "role") - } - - role.ConfigurationSets = updateOrAddConfig(role.ConfigurationSets, typ, - func(config *vm.ConfigurationSet) { - config.CustomData = customData - }) - - return nil -} - -// ConfigureWindowsToJoinDomain adds configuration to join a new Windows vm to a -// domain. "username" must be in UPN form (user@domain.com), "machineOU" can be -// left empty -func ConfigureWindowsToJoinDomain(role *vm.Role, username, password, domainToJoin, machineOU string) error { - if role == nil { - return fmt.Errorf(errParamNotSpecified, "role") - } - - winconfig := findConfig(role.ConfigurationSets, vm.ConfigurationSetTypeWindowsProvisioning) - if winconfig != nil { - winconfig.DomainJoin = &vm.DomainJoin{ - Credentials: vm.Credentials{Username: username, Password: password}, - JoinDomain: domainToJoin, - MachineObjectOU: machineOU, - } - } - - return nil -} - -func ConfigureWinRMListener(role *vm.Role, protocol vm.WinRMProtocol, certificateThumbprint string) error { - - if role == nil { - return fmt.Errorf(errParamNotSpecified, "role") - } - - winconfig := findConfig(role.ConfigurationSets, vm.ConfigurationSetTypeWindowsProvisioning) - - if winconfig != nil { - - listener := vm.WinRMListener{ - Protocol: protocol, - CertificateThumbprint: certificateThumbprint, - } - - if winconfig.WinRMListeners == nil { - winconfig.WinRMListeners = &[]vm.WinRMListener{} - } - - currentListeners := *winconfig.WinRMListeners - - // replace existing listener if it's already configured - for i, existingListener := range currentListeners { - if existingListener.Protocol == protocol { - currentListeners[i] = listener - return nil - } - } - - // otherwise append to list of listeners - newListeners := append(currentListeners, listener) - winconfig.WinRMListeners = &newListeners - - return nil - } - - return fmt.Errorf("WindowsProvisioningConfigurationSet not found in 'role'") -} - -func ConfigureWinRMOverHTTP(role *vm.Role) error { - return ConfigureWinRMListener(role, vm.WinRMProtocolHTTP, "") -} - -func ConfigureWinRMOverHTTPS(role *vm.Role, certificateThumbprint string) error { - return ConfigureWinRMListener(role, vm.WinRMProtocolHTTPS, certificateThumbprint) -} diff --git a/services/cognitiveservices/mgmt/2017-04-18/cognitiveservices/client.go b/services/cognitiveservices/mgmt/2017-04-18/cognitiveservices/client.go index a64fa4de7483..ba2be90e1e99 100644 --- a/services/cognitiveservices/mgmt/2017-04-18/cognitiveservices/client.go +++ b/services/cognitiveservices/mgmt/2017-04-18/cognitiveservices/client.go @@ -99,6 +99,10 @@ func (client BaseClient) CheckDomainAvailability(ctx context.Context, parameters // CheckDomainAvailabilityPreparer prepares the CheckDomainAvailability request. func (client BaseClient) CheckDomainAvailabilityPreparer(ctx context.Context, parameters CheckDomainAvailabilityParameter) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + const APIVersion = "2017-04-18" queryParameters := map[string]interface{}{ "api-version": APIVersion, @@ -108,7 +112,7 @@ func (client BaseClient) CheckDomainAvailabilityPreparer(ctx context.Context, pa autorest.AsContentType("application/json; charset=utf-8"), autorest.AsPost(), autorest.WithBaseURL(client.BaseURI), - autorest.WithPath("/providers/Microsoft.CognitiveServices/checkDomainAvailability"), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.CognitiveServices/checkDomainAvailability", pathParameters), autorest.WithJSON(parameters), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) @@ -117,7 +121,7 @@ func (client BaseClient) CheckDomainAvailabilityPreparer(ctx context.Context, pa // CheckDomainAvailabilitySender sends the CheckDomainAvailability request. The method will close the // http.Response Body if it receives an error. func (client BaseClient) CheckDomainAvailabilitySender(req *http.Request) (*http.Response, error) { - sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) return autorest.SendWithSender(client, req, sd...) } diff --git a/services/cognitiveservices/v1.0/computervision/client.go b/services/cognitiveservices/v1.0/computervision/client.go deleted file mode 100644 index 495cefecccd7..000000000000 --- a/services/cognitiveservices/v1.0/computervision/client.go +++ /dev/null @@ -1,1338 +0,0 @@ -// Package computervision implements the Azure ARM Computervision service API version 1.0. -// -// The Computer Vision API provides state-of-the-art algorithms to process images and return information. For example, -// it can be used to determine if an image contains mature content, or it can be used to find all the faces in an -// image. It also has other features like estimating dominant and accent colors, categorizing the content of images, -// and describing an image with complete English sentences. Additionally, it can also intelligently generate images -// thumbnails for displaying large images effectively. -package computervision - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/autorest/validation" - "io" - "net/http" -) - -// BaseClient is the base client for Computervision. -type BaseClient struct { - autorest.Client - AzureRegion AzureRegions -} - -// New creates an instance of the BaseClient client. -func New(azureRegion AzureRegions) BaseClient { - return NewWithoutDefaults(azureRegion) -} - -// NewWithoutDefaults creates an instance of the BaseClient client. -func NewWithoutDefaults(azureRegion AzureRegions) BaseClient { - return BaseClient{ - Client: autorest.NewClientWithUserAgent(UserAgent()), - AzureRegion: azureRegion, - } -} - -// AnalyzeImage this operation extracts a rich set of visual features based on the image content. Two input methods are -// supported -- (1) Uploading an image or (2) specifying an image URL. Within your request, there is an optional -// parameter to allow you to choose which features to return. By default, image categories are returned in the -// response. -// Parameters: -// imageURL - a JSON document with a URL pointing to the image that is to be analyzed. -// visualFeatures - a string indicating what visual feature types to return. Multiple values should be -// comma-separated. Valid visual feature types include:Categories - categorizes image content according to a -// taxonomy defined in documentation. Tags - tags the image with a detailed list of words related to the image -// content. Description - describes the image content with a complete English sentence. Faces - detects if -// faces are present. If present, generate coordinates, gender and age. ImageType - detects if image is clipart -// or a line drawing. Color - determines the accent color, dominant color, and whether an image is -// black&white.Adult - detects if the image is pornographic in nature (depicts nudity or a sex act). Sexually -// suggestive content is also detected. -// details - a string indicating which domain-specific details to return. Multiple values should be -// comma-separated. Valid visual feature types include:Celebrities - identifies celebrities if detected in the -// image. -// language - the desired language for output generation. If this parameter is not specified, the default value -// is "en".Supported languages:en - English, Default. es - Spanish, ja - Japanese, pt - Portuguese, -// zh - Simplified Chinese. -func (client BaseClient) AnalyzeImage(ctx context.Context, imageURL ImageURL, visualFeatures []VisualFeatureTypes, details []Details, language string) (result ImageAnalysis, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: imageURL, - Constraints: []validation.Constraint{{Target: "imageURL.URL", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { - return result, validation.NewError("computervision.BaseClient", "AnalyzeImage", err.Error()) - } - - req, err := client.AnalyzeImagePreparer(ctx, imageURL, visualFeatures, details, language) - if err != nil { - err = autorest.NewErrorWithError(err, "computervision.BaseClient", "AnalyzeImage", nil, "Failure preparing request") - return - } - - resp, err := client.AnalyzeImageSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "computervision.BaseClient", "AnalyzeImage", resp, "Failure sending request") - return - } - - result, err = client.AnalyzeImageResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "computervision.BaseClient", "AnalyzeImage", resp, "Failure responding to request") - } - - return -} - -// AnalyzeImagePreparer prepares the AnalyzeImage request. -func (client BaseClient) AnalyzeImagePreparer(ctx context.Context, imageURL ImageURL, visualFeatures []VisualFeatureTypes, details []Details, language string) (*http.Request, error) { - urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, - } - - queryParameters := map[string]interface{}{} - if visualFeatures != nil && len(visualFeatures) > 0 { - queryParameters["visualFeatures"] = autorest.Encode("query", visualFeatures, ",") - } - if details != nil && len(details) > 0 { - queryParameters["details"] = autorest.Encode("query", details, ",") - } - if len(string(language)) > 0 { - queryParameters["language"] = autorest.Encode("query", language) - } else { - queryParameters["language"] = autorest.Encode("query", "en") - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; charset=utf-8"), - autorest.AsPost(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/vision/v1.0", urlParameters), - autorest.WithPath("/analyze"), - autorest.WithJSON(imageURL), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// AnalyzeImageSender sends the AnalyzeImage request. The method will close the -// http.Response Body if it receives an error. -func (client BaseClient) AnalyzeImageSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// AnalyzeImageResponder handles the response to the AnalyzeImage request. The method always -// closes the http.Response Body. -func (client BaseClient) AnalyzeImageResponder(resp *http.Response) (result ImageAnalysis, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// AnalyzeImageByDomain this operation recognizes content within an image by applying a domain-specific model. The -// list of domain-specific models that are supported by the Computer Vision API can be retrieved using the /models GET -// request. Currently, the API only provides a single domain-specific model: celebrities. Two input methods are -// supported -- (1) Uploading an image or (2) specifying an image URL. A successful response will be returned in JSON. -// If the request failed, the response will contain an error code and a message to help understand what went wrong. -// Parameters: -// model - the domain-specific content to recognize. -// imageURL - a JSON document with a URL pointing to the image that is to be analyzed. -// language - the desired language for output generation. If this parameter is not specified, the default value -// is "en".Supported languages:en - English, Default. es - Spanish, ja - Japanese, pt - Portuguese, -// zh - Simplified Chinese. -func (client BaseClient) AnalyzeImageByDomain(ctx context.Context, model string, imageURL ImageURL, language string) (result DomainModelResults, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: imageURL, - Constraints: []validation.Constraint{{Target: "imageURL.URL", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { - return result, validation.NewError("computervision.BaseClient", "AnalyzeImageByDomain", err.Error()) - } - - req, err := client.AnalyzeImageByDomainPreparer(ctx, model, imageURL, language) - if err != nil { - err = autorest.NewErrorWithError(err, "computervision.BaseClient", "AnalyzeImageByDomain", nil, "Failure preparing request") - return - } - - resp, err := client.AnalyzeImageByDomainSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "computervision.BaseClient", "AnalyzeImageByDomain", resp, "Failure sending request") - return - } - - result, err = client.AnalyzeImageByDomainResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "computervision.BaseClient", "AnalyzeImageByDomain", resp, "Failure responding to request") - } - - return -} - -// AnalyzeImageByDomainPreparer prepares the AnalyzeImageByDomain request. -func (client BaseClient) AnalyzeImageByDomainPreparer(ctx context.Context, model string, imageURL ImageURL, language string) (*http.Request, error) { - urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, - } - - pathParameters := map[string]interface{}{ - "model": autorest.Encode("path", model), - } - - queryParameters := map[string]interface{}{} - if len(string(language)) > 0 { - queryParameters["language"] = autorest.Encode("query", language) - } else { - queryParameters["language"] = autorest.Encode("query", "en") - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; charset=utf-8"), - autorest.AsPost(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/vision/v1.0", urlParameters), - autorest.WithPathParameters("/models/{model}/analyze", pathParameters), - autorest.WithJSON(imageURL), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// AnalyzeImageByDomainSender sends the AnalyzeImageByDomain request. The method will close the -// http.Response Body if it receives an error. -func (client BaseClient) AnalyzeImageByDomainSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// AnalyzeImageByDomainResponder handles the response to the AnalyzeImageByDomain request. The method always -// closes the http.Response Body. -func (client BaseClient) AnalyzeImageByDomainResponder(resp *http.Response) (result DomainModelResults, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// AnalyzeImageByDomainInStream this operation recognizes content within an image by applying a domain-specific model. -// The list of domain-specific models that are supported by the Computer Vision API can be retrieved using the /models -// GET request. Currently, the API only provides a single domain-specific model: celebrities. Two input methods are -// supported -- (1) Uploading an image or (2) specifying an image URL. A successful response will be returned in JSON. -// If the request failed, the response will contain an error code and a message to help understand what went wrong. -// Parameters: -// model - the domain-specific content to recognize. -// imageParameter - an image stream. -// language - the desired language for output generation. If this parameter is not specified, the default value -// is "en".Supported languages:en - English, Default. es - Spanish, ja - Japanese, pt - Portuguese, -// zh - Simplified Chinese. -func (client BaseClient) AnalyzeImageByDomainInStream(ctx context.Context, model string, imageParameter io.ReadCloser, language string) (result DomainModelResults, err error) { - req, err := client.AnalyzeImageByDomainInStreamPreparer(ctx, model, imageParameter, language) - if err != nil { - err = autorest.NewErrorWithError(err, "computervision.BaseClient", "AnalyzeImageByDomainInStream", nil, "Failure preparing request") - return - } - - resp, err := client.AnalyzeImageByDomainInStreamSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "computervision.BaseClient", "AnalyzeImageByDomainInStream", resp, "Failure sending request") - return - } - - result, err = client.AnalyzeImageByDomainInStreamResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "computervision.BaseClient", "AnalyzeImageByDomainInStream", resp, "Failure responding to request") - } - - return -} - -// AnalyzeImageByDomainInStreamPreparer prepares the AnalyzeImageByDomainInStream request. -func (client BaseClient) AnalyzeImageByDomainInStreamPreparer(ctx context.Context, model string, imageParameter io.ReadCloser, language string) (*http.Request, error) { - urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, - } - - pathParameters := map[string]interface{}{ - "model": autorest.Encode("path", model), - } - - queryParameters := map[string]interface{}{} - if len(string(language)) > 0 { - queryParameters["language"] = autorest.Encode("query", language) - } else { - queryParameters["language"] = autorest.Encode("query", "en") - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/octet-stream"), - autorest.AsPost(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/vision/v1.0", urlParameters), - autorest.WithPathParameters("/models/{model}/analyze", pathParameters), - autorest.WithFile(imageParameter), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// AnalyzeImageByDomainInStreamSender sends the AnalyzeImageByDomainInStream request. The method will close the -// http.Response Body if it receives an error. -func (client BaseClient) AnalyzeImageByDomainInStreamSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// AnalyzeImageByDomainInStreamResponder handles the response to the AnalyzeImageByDomainInStream request. The method always -// closes the http.Response Body. -func (client BaseClient) AnalyzeImageByDomainInStreamResponder(resp *http.Response) (result DomainModelResults, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// AnalyzeImageInStream this operation extracts a rich set of visual features based on the image content. -// Parameters: -// imageParameter - an image stream. -// visualFeatures - a string indicating what visual feature types to return. Multiple values should be -// comma-separated. Valid visual feature types include:Categories - categorizes image content according to a -// taxonomy defined in documentation. Tags - tags the image with a detailed list of words related to the image -// content. Description - describes the image content with a complete English sentence. Faces - detects if -// faces are present. If present, generate coordinates, gender and age. ImageType - detects if image is clipart -// or a line drawing. Color - determines the accent color, dominant color, and whether an image is -// black&white.Adult - detects if the image is pornographic in nature (depicts nudity or a sex act). Sexually -// suggestive content is also detected. -// details - a string indicating which domain-specific details to return. Multiple values should be -// comma-separated. Valid visual feature types include:Celebrities - identifies celebrities if detected in the -// image. -// language - the desired language for output generation. If this parameter is not specified, the default value -// is "en".Supported languages:en - English, Default. es - Spanish, ja - Japanese, pt - Portuguese, -// zh - Simplified Chinese. -func (client BaseClient) AnalyzeImageInStream(ctx context.Context, imageParameter io.ReadCloser, visualFeatures []VisualFeatureTypes, details string, language string) (result ImageAnalysis, err error) { - req, err := client.AnalyzeImageInStreamPreparer(ctx, imageParameter, visualFeatures, details, language) - if err != nil { - err = autorest.NewErrorWithError(err, "computervision.BaseClient", "AnalyzeImageInStream", nil, "Failure preparing request") - return - } - - resp, err := client.AnalyzeImageInStreamSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "computervision.BaseClient", "AnalyzeImageInStream", resp, "Failure sending request") - return - } - - result, err = client.AnalyzeImageInStreamResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "computervision.BaseClient", "AnalyzeImageInStream", resp, "Failure responding to request") - } - - return -} - -// AnalyzeImageInStreamPreparer prepares the AnalyzeImageInStream request. -func (client BaseClient) AnalyzeImageInStreamPreparer(ctx context.Context, imageParameter io.ReadCloser, visualFeatures []VisualFeatureTypes, details string, language string) (*http.Request, error) { - urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, - } - - queryParameters := map[string]interface{}{} - if visualFeatures != nil && len(visualFeatures) > 0 { - queryParameters["visualFeatures"] = autorest.Encode("query", visualFeatures, ",") - } - if len(string(details)) > 0 { - queryParameters["details"] = autorest.Encode("query", details) - } - if len(string(language)) > 0 { - queryParameters["language"] = autorest.Encode("query", language) - } else { - queryParameters["language"] = autorest.Encode("query", "en") - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/octet-stream"), - autorest.AsPost(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/vision/v1.0", urlParameters), - autorest.WithPath("/analyze"), - autorest.WithFile(imageParameter), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// AnalyzeImageInStreamSender sends the AnalyzeImageInStream request. The method will close the -// http.Response Body if it receives an error. -func (client BaseClient) AnalyzeImageInStreamSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// AnalyzeImageInStreamResponder handles the response to the AnalyzeImageInStream request. The method always -// closes the http.Response Body. -func (client BaseClient) AnalyzeImageInStreamResponder(resp *http.Response) (result ImageAnalysis, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// DescribeImage this operation generates a description of an image in human readable language with complete sentences. -// The description is based on a collection of content tags, which are also returned by the operation. More than one -// description can be generated for each image. Descriptions are ordered by their confidence score. All descriptions -// are in English. Two input methods are supported -- (1) Uploading an image or (2) specifying an image URL.A -// successful response will be returned in JSON. If the request failed, the response will contain an error code and a -// message to help understand what went wrong. -// Parameters: -// imageURL - a JSON document with a URL pointing to the image that is to be analyzed. -// maxCandidates - maximum number of candidate descriptions to be returned. The default is 1. -// language - the desired language for output generation. If this parameter is not specified, the default value -// is "en".Supported languages:en - English, Default. es - Spanish, ja - Japanese, pt - Portuguese, -// zh - Simplified Chinese. -func (client BaseClient) DescribeImage(ctx context.Context, imageURL ImageURL, maxCandidates string, language string) (result ImageDescription, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: imageURL, - Constraints: []validation.Constraint{{Target: "imageURL.URL", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { - return result, validation.NewError("computervision.BaseClient", "DescribeImage", err.Error()) - } - - req, err := client.DescribeImagePreparer(ctx, imageURL, maxCandidates, language) - if err != nil { - err = autorest.NewErrorWithError(err, "computervision.BaseClient", "DescribeImage", nil, "Failure preparing request") - return - } - - resp, err := client.DescribeImageSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "computervision.BaseClient", "DescribeImage", resp, "Failure sending request") - return - } - - result, err = client.DescribeImageResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "computervision.BaseClient", "DescribeImage", resp, "Failure responding to request") - } - - return -} - -// DescribeImagePreparer prepares the DescribeImage request. -func (client BaseClient) DescribeImagePreparer(ctx context.Context, imageURL ImageURL, maxCandidates string, language string) (*http.Request, error) { - urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, - } - - queryParameters := map[string]interface{}{} - if len(maxCandidates) > 0 { - queryParameters["maxCandidates"] = autorest.Encode("query", maxCandidates) - } else { - queryParameters["maxCandidates"] = autorest.Encode("query", "1") - } - if len(string(language)) > 0 { - queryParameters["language"] = autorest.Encode("query", language) - } else { - queryParameters["language"] = autorest.Encode("query", "en") - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; charset=utf-8"), - autorest.AsPost(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/vision/v1.0", urlParameters), - autorest.WithPath("/describe"), - autorest.WithJSON(imageURL), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DescribeImageSender sends the DescribeImage request. The method will close the -// http.Response Body if it receives an error. -func (client BaseClient) DescribeImageSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// DescribeImageResponder handles the response to the DescribeImage request. The method always -// closes the http.Response Body. -func (client BaseClient) DescribeImageResponder(resp *http.Response) (result ImageDescription, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// DescribeImageInStream this operation generates a description of an image in human readable language with complete -// sentences. The description is based on a collection of content tags, which are also returned by the operation. More -// than one description can be generated for each image. Descriptions are ordered by their confidence score. All -// descriptions are in English. Two input methods are supported -- (1) Uploading an image or (2) specifying an image -// URL.A successful response will be returned in JSON. If the request failed, the response will contain an error code -// and a message to help understand what went wrong. -// Parameters: -// imageParameter - an image stream. -// maxCandidates - maximum number of candidate descriptions to be returned. The default is 1. -// language - the desired language for output generation. If this parameter is not specified, the default value -// is "en".Supported languages:en - English, Default. es - Spanish, ja - Japanese, pt - Portuguese, -// zh - Simplified Chinese. -func (client BaseClient) DescribeImageInStream(ctx context.Context, imageParameter io.ReadCloser, maxCandidates string, language string) (result ImageDescription, err error) { - req, err := client.DescribeImageInStreamPreparer(ctx, imageParameter, maxCandidates, language) - if err != nil { - err = autorest.NewErrorWithError(err, "computervision.BaseClient", "DescribeImageInStream", nil, "Failure preparing request") - return - } - - resp, err := client.DescribeImageInStreamSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "computervision.BaseClient", "DescribeImageInStream", resp, "Failure sending request") - return - } - - result, err = client.DescribeImageInStreamResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "computervision.BaseClient", "DescribeImageInStream", resp, "Failure responding to request") - } - - return -} - -// DescribeImageInStreamPreparer prepares the DescribeImageInStream request. -func (client BaseClient) DescribeImageInStreamPreparer(ctx context.Context, imageParameter io.ReadCloser, maxCandidates string, language string) (*http.Request, error) { - urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, - } - - queryParameters := map[string]interface{}{} - if len(maxCandidates) > 0 { - queryParameters["maxCandidates"] = autorest.Encode("query", maxCandidates) - } else { - queryParameters["maxCandidates"] = autorest.Encode("query", "1") - } - if len(string(language)) > 0 { - queryParameters["language"] = autorest.Encode("query", language) - } else { - queryParameters["language"] = autorest.Encode("query", "en") - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/octet-stream"), - autorest.AsPost(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/vision/v1.0", urlParameters), - autorest.WithPath("/describe"), - autorest.WithFile(imageParameter), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DescribeImageInStreamSender sends the DescribeImageInStream request. The method will close the -// http.Response Body if it receives an error. -func (client BaseClient) DescribeImageInStreamSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// DescribeImageInStreamResponder handles the response to the DescribeImageInStream request. The method always -// closes the http.Response Body. -func (client BaseClient) DescribeImageInStreamResponder(resp *http.Response) (result ImageDescription, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// GenerateThumbnail this operation generates a thumbnail image with the user-specified width and height. By default, -// the service analyzes the image, identifies the region of interest (ROI), and generates smart cropping coordinates -// based on the ROI. Smart cropping helps when you specify an aspect ratio that differs from that of the input image. A -// successful response contains the thumbnail image binary. If the request failed, the response contains an error code -// and a message to help determine what went wrong. -// Parameters: -// width - width of the thumbnail. It must be between 1 and 1024. Recommended minimum of 50. -// height - height of the thumbnail. It must be between 1 and 1024. Recommended minimum of 50. -// imageURL - a JSON document with a URL pointing to the image that is to be analyzed. -// smartCropping - boolean flag for enabling smart cropping. -func (client BaseClient) GenerateThumbnail(ctx context.Context, width int32, height int32, imageURL ImageURL, smartCropping *bool) (result ReadCloser, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: width, - Constraints: []validation.Constraint{{Target: "width", Name: validation.InclusiveMaximum, Rule: 1023, Chain: nil}, - {Target: "width", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}}}, - {TargetValue: height, - Constraints: []validation.Constraint{{Target: "height", Name: validation.InclusiveMaximum, Rule: 1023, Chain: nil}, - {Target: "height", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}}}, - {TargetValue: imageURL, - Constraints: []validation.Constraint{{Target: "imageURL.URL", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { - return result, validation.NewError("computervision.BaseClient", "GenerateThumbnail", err.Error()) - } - - req, err := client.GenerateThumbnailPreparer(ctx, width, height, imageURL, smartCropping) - if err != nil { - err = autorest.NewErrorWithError(err, "computervision.BaseClient", "GenerateThumbnail", nil, "Failure preparing request") - return - } - - resp, err := client.GenerateThumbnailSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "computervision.BaseClient", "GenerateThumbnail", resp, "Failure sending request") - return - } - - result, err = client.GenerateThumbnailResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "computervision.BaseClient", "GenerateThumbnail", resp, "Failure responding to request") - } - - return -} - -// GenerateThumbnailPreparer prepares the GenerateThumbnail request. -func (client BaseClient) GenerateThumbnailPreparer(ctx context.Context, width int32, height int32, imageURL ImageURL, smartCropping *bool) (*http.Request, error) { - urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, - } - - queryParameters := map[string]interface{}{ - "height": autorest.Encode("query", height), - "width": autorest.Encode("query", width), - } - if smartCropping != nil { - queryParameters["smartCropping"] = autorest.Encode("query", *smartCropping) - } else { - queryParameters["smartCropping"] = autorest.Encode("query", false) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; charset=utf-8"), - autorest.AsPost(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/vision/v1.0", urlParameters), - autorest.WithPath("/generateThumbnail"), - autorest.WithJSON(imageURL), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GenerateThumbnailSender sends the GenerateThumbnail request. The method will close the -// http.Response Body if it receives an error. -func (client BaseClient) GenerateThumbnailSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// GenerateThumbnailResponder handles the response to the GenerateThumbnail request. The method always -// closes the http.Response Body. -func (client BaseClient) GenerateThumbnailResponder(resp *http.Response) (result ReadCloser, err error) { - result.Value = &resp.Body - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK)) - result.Response = autorest.Response{Response: resp} - return -} - -// GenerateThumbnailInStream this operation generates a thumbnail image with the user-specified width and height. By -// default, the service analyzes the image, identifies the region of interest (ROI), and generates smart cropping -// coordinates based on the ROI. Smart cropping helps when you specify an aspect ratio that differs from that of the -// input image. A successful response contains the thumbnail image binary. If the request failed, the response contains -// an error code and a message to help determine what went wrong. -// Parameters: -// width - width of the thumbnail. It must be between 1 and 1024. Recommended minimum of 50. -// height - height of the thumbnail. It must be between 1 and 1024. Recommended minimum of 50. -// imageParameter - an image stream. -// smartCropping - boolean flag for enabling smart cropping. -func (client BaseClient) GenerateThumbnailInStream(ctx context.Context, width int32, height int32, imageParameter io.ReadCloser, smartCropping *bool) (result ReadCloser, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: width, - Constraints: []validation.Constraint{{Target: "width", Name: validation.InclusiveMaximum, Rule: 1023, Chain: nil}, - {Target: "width", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}}}, - {TargetValue: height, - Constraints: []validation.Constraint{{Target: "height", Name: validation.InclusiveMaximum, Rule: 1023, Chain: nil}, - {Target: "height", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}}}}); err != nil { - return result, validation.NewError("computervision.BaseClient", "GenerateThumbnailInStream", err.Error()) - } - - req, err := client.GenerateThumbnailInStreamPreparer(ctx, width, height, imageParameter, smartCropping) - if err != nil { - err = autorest.NewErrorWithError(err, "computervision.BaseClient", "GenerateThumbnailInStream", nil, "Failure preparing request") - return - } - - resp, err := client.GenerateThumbnailInStreamSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "computervision.BaseClient", "GenerateThumbnailInStream", resp, "Failure sending request") - return - } - - result, err = client.GenerateThumbnailInStreamResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "computervision.BaseClient", "GenerateThumbnailInStream", resp, "Failure responding to request") - } - - return -} - -// GenerateThumbnailInStreamPreparer prepares the GenerateThumbnailInStream request. -func (client BaseClient) GenerateThumbnailInStreamPreparer(ctx context.Context, width int32, height int32, imageParameter io.ReadCloser, smartCropping *bool) (*http.Request, error) { - urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, - } - - queryParameters := map[string]interface{}{ - "height": autorest.Encode("query", height), - "width": autorest.Encode("query", width), - } - if smartCropping != nil { - queryParameters["smartCropping"] = autorest.Encode("query", *smartCropping) - } else { - queryParameters["smartCropping"] = autorest.Encode("query", false) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/octet-stream"), - autorest.AsPost(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/vision/v1.0", urlParameters), - autorest.WithPath("/generateThumbnail"), - autorest.WithFile(imageParameter), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GenerateThumbnailInStreamSender sends the GenerateThumbnailInStream request. The method will close the -// http.Response Body if it receives an error. -func (client BaseClient) GenerateThumbnailInStreamSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// GenerateThumbnailInStreamResponder handles the response to the GenerateThumbnailInStream request. The method always -// closes the http.Response Body. -func (client BaseClient) GenerateThumbnailInStreamResponder(resp *http.Response) (result ReadCloser, err error) { - result.Value = &resp.Body - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK)) - result.Response = autorest.Response{Response: resp} - return -} - -// GetTextOperationResult this interface is used for getting text operation result. The URL to this interface should be -// retrieved from 'Operation-Location' field returned from Recognize Text interface. -// Parameters: -// operationID - id of the text operation returned in the response of the 'Recognize Handwritten Text' -func (client BaseClient) GetTextOperationResult(ctx context.Context, operationID string) (result TextOperationResult, err error) { - req, err := client.GetTextOperationResultPreparer(ctx, operationID) - if err != nil { - err = autorest.NewErrorWithError(err, "computervision.BaseClient", "GetTextOperationResult", nil, "Failure preparing request") - return - } - - resp, err := client.GetTextOperationResultSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "computervision.BaseClient", "GetTextOperationResult", resp, "Failure sending request") - return - } - - result, err = client.GetTextOperationResultResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "computervision.BaseClient", "GetTextOperationResult", resp, "Failure responding to request") - } - - return -} - -// GetTextOperationResultPreparer prepares the GetTextOperationResult request. -func (client BaseClient) GetTextOperationResultPreparer(ctx context.Context, operationID string) (*http.Request, error) { - urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, - } - - pathParameters := map[string]interface{}{ - "operationId": autorest.Encode("path", operationID), - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/vision/v1.0", urlParameters), - autorest.WithPathParameters("/textOperations/{operationId}", pathParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetTextOperationResultSender sends the GetTextOperationResult request. The method will close the -// http.Response Body if it receives an error. -func (client BaseClient) GetTextOperationResultSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// GetTextOperationResultResponder handles the response to the GetTextOperationResult request. The method always -// closes the http.Response Body. -func (client BaseClient) GetTextOperationResultResponder(resp *http.Response) (result TextOperationResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// ListModels this operation returns the list of domain-specific models that are supported by the Computer Vision API. -// Currently, the API only supports one domain-specific model: a celebrity recognizer. A successful response will be -// returned in JSON. If the request failed, the response will contain an error code and a message to help understand -// what went wrong. -func (client BaseClient) ListModels(ctx context.Context) (result ListModelsResult, err error) { - req, err := client.ListModelsPreparer(ctx) - if err != nil { - err = autorest.NewErrorWithError(err, "computervision.BaseClient", "ListModels", nil, "Failure preparing request") - return - } - - resp, err := client.ListModelsSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "computervision.BaseClient", "ListModels", resp, "Failure sending request") - return - } - - result, err = client.ListModelsResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "computervision.BaseClient", "ListModels", resp, "Failure responding to request") - } - - return -} - -// ListModelsPreparer prepares the ListModels request. -func (client BaseClient) ListModelsPreparer(ctx context.Context) (*http.Request, error) { - urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/vision/v1.0", urlParameters), - autorest.WithPath("/models")) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListModelsSender sends the ListModels request. The method will close the -// http.Response Body if it receives an error. -func (client BaseClient) ListModelsSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ListModelsResponder handles the response to the ListModels request. The method always -// closes the http.Response Body. -func (client BaseClient) ListModelsResponder(resp *http.Response) (result ListModelsResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// RecognizePrintedText optical Character Recognition (OCR) detects printed text in an image and extracts the -// recognized characters into a machine-usable character stream. Upon success, the OCR results will be returned. Upon -// failure, the error code together with an error message will be returned. The error code can be one of -// InvalidImageUrl, InvalidImageFormat, InvalidImageSize, NotSupportedImage, NotSupportedLanguage, or -// InternalServerError. -// Parameters: -// detectOrientation - whether detect the text orientation in the image. With detectOrientation=true the OCR -// service tries to detect the image orientation and correct it before further processing (e.g. if it's -// upside-down). -// imageURL - a JSON document with a URL pointing to the image that is to be analyzed. -// language - the BCP-47 language code of the text to be detected in the image. The default value is 'unk' -func (client BaseClient) RecognizePrintedText(ctx context.Context, detectOrientation bool, imageURL ImageURL, language OcrLanguages) (result OcrResult, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: imageURL, - Constraints: []validation.Constraint{{Target: "imageURL.URL", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { - return result, validation.NewError("computervision.BaseClient", "RecognizePrintedText", err.Error()) - } - - req, err := client.RecognizePrintedTextPreparer(ctx, detectOrientation, imageURL, language) - if err != nil { - err = autorest.NewErrorWithError(err, "computervision.BaseClient", "RecognizePrintedText", nil, "Failure preparing request") - return - } - - resp, err := client.RecognizePrintedTextSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "computervision.BaseClient", "RecognizePrintedText", resp, "Failure sending request") - return - } - - result, err = client.RecognizePrintedTextResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "computervision.BaseClient", "RecognizePrintedText", resp, "Failure responding to request") - } - - return -} - -// RecognizePrintedTextPreparer prepares the RecognizePrintedText request. -func (client BaseClient) RecognizePrintedTextPreparer(ctx context.Context, detectOrientation bool, imageURL ImageURL, language OcrLanguages) (*http.Request, error) { - urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, - } - - queryParameters := map[string]interface{}{ - "detectOrientation": autorest.Encode("query", detectOrientation), - } - if len(string(language)) > 0 { - queryParameters["language"] = autorest.Encode("query", language) - } else { - queryParameters["language"] = autorest.Encode("query", "unk") - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; charset=utf-8"), - autorest.AsPost(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/vision/v1.0", urlParameters), - autorest.WithPath("/ocr"), - autorest.WithJSON(imageURL), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// RecognizePrintedTextSender sends the RecognizePrintedText request. The method will close the -// http.Response Body if it receives an error. -func (client BaseClient) RecognizePrintedTextSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// RecognizePrintedTextResponder handles the response to the RecognizePrintedText request. The method always -// closes the http.Response Body. -func (client BaseClient) RecognizePrintedTextResponder(resp *http.Response) (result OcrResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// RecognizePrintedTextInStream optical Character Recognition (OCR) detects printed text in an image and extracts the -// recognized characters into a machine-usable character stream. Upon success, the OCR results will be returned. Upon -// failure, the error code together with an error message will be returned. The error code can be one of -// InvalidImageUrl, InvalidImageFormat, InvalidImageSize, NotSupportedImage, NotSupportedLanguage, or -// InternalServerError. -// Parameters: -// detectOrientation - whether detect the text orientation in the image. With detectOrientation=true the OCR -// service tries to detect the image orientation and correct it before further processing (e.g. if it's -// upside-down). -// imageParameter - an image stream. -// language - the BCP-47 language code of the text to be detected in the image. The default value is 'unk' -func (client BaseClient) RecognizePrintedTextInStream(ctx context.Context, detectOrientation bool, imageParameter io.ReadCloser, language OcrLanguages) (result OcrResult, err error) { - req, err := client.RecognizePrintedTextInStreamPreparer(ctx, detectOrientation, imageParameter, language) - if err != nil { - err = autorest.NewErrorWithError(err, "computervision.BaseClient", "RecognizePrintedTextInStream", nil, "Failure preparing request") - return - } - - resp, err := client.RecognizePrintedTextInStreamSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "computervision.BaseClient", "RecognizePrintedTextInStream", resp, "Failure sending request") - return - } - - result, err = client.RecognizePrintedTextInStreamResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "computervision.BaseClient", "RecognizePrintedTextInStream", resp, "Failure responding to request") - } - - return -} - -// RecognizePrintedTextInStreamPreparer prepares the RecognizePrintedTextInStream request. -func (client BaseClient) RecognizePrintedTextInStreamPreparer(ctx context.Context, detectOrientation bool, imageParameter io.ReadCloser, language OcrLanguages) (*http.Request, error) { - urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, - } - - queryParameters := map[string]interface{}{ - "detectOrientation": autorest.Encode("query", detectOrientation), - } - if len(string(language)) > 0 { - queryParameters["language"] = autorest.Encode("query", language) - } else { - queryParameters["language"] = autorest.Encode("query", "unk") - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/octet-stream"), - autorest.AsPost(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/vision/v1.0", urlParameters), - autorest.WithPath("/ocr"), - autorest.WithFile(imageParameter), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// RecognizePrintedTextInStreamSender sends the RecognizePrintedTextInStream request. The method will close the -// http.Response Body if it receives an error. -func (client BaseClient) RecognizePrintedTextInStreamSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// RecognizePrintedTextInStreamResponder handles the response to the RecognizePrintedTextInStream request. The method always -// closes the http.Response Body. -func (client BaseClient) RecognizePrintedTextInStreamResponder(resp *http.Response) (result OcrResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// RecognizeText recognize Text operation. When you use the Recognize Text interface, the response contains a field -// called 'Operation-Location'. The 'Operation-Location' field contains the URL that you must use for your Get -// Handwritten Text Operation Result operation. -// Parameters: -// imageURL - a JSON document with a URL pointing to the image that is to be analyzed. -// detectHandwriting - if 'true' is specified, handwriting recognition is performed. If this parameter is set -// to 'false' or is not specified, printed text recognition is performed. -func (client BaseClient) RecognizeText(ctx context.Context, imageURL ImageURL, detectHandwriting *bool) (result autorest.Response, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: imageURL, - Constraints: []validation.Constraint{{Target: "imageURL.URL", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { - return result, validation.NewError("computervision.BaseClient", "RecognizeText", err.Error()) - } - - req, err := client.RecognizeTextPreparer(ctx, imageURL, detectHandwriting) - if err != nil { - err = autorest.NewErrorWithError(err, "computervision.BaseClient", "RecognizeText", nil, "Failure preparing request") - return - } - - resp, err := client.RecognizeTextSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "computervision.BaseClient", "RecognizeText", resp, "Failure sending request") - return - } - - result, err = client.RecognizeTextResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "computervision.BaseClient", "RecognizeText", resp, "Failure responding to request") - } - - return -} - -// RecognizeTextPreparer prepares the RecognizeText request. -func (client BaseClient) RecognizeTextPreparer(ctx context.Context, imageURL ImageURL, detectHandwriting *bool) (*http.Request, error) { - urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, - } - - queryParameters := map[string]interface{}{} - if detectHandwriting != nil { - queryParameters["detectHandwriting"] = autorest.Encode("query", *detectHandwriting) - } else { - queryParameters["detectHandwriting"] = autorest.Encode("query", false) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; charset=utf-8"), - autorest.AsPost(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/vision/v1.0", urlParameters), - autorest.WithPath("/recognizeText"), - autorest.WithJSON(imageURL), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// RecognizeTextSender sends the RecognizeText request. The method will close the -// http.Response Body if it receives an error. -func (client BaseClient) RecognizeTextSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// RecognizeTextResponder handles the response to the RecognizeText request. The method always -// closes the http.Response Body. -func (client BaseClient) RecognizeTextResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByClosing()) - result.Response = resp - return -} - -// RecognizeTextInStream recognize Text operation. When you use the Recognize Text interface, the response contains a -// field called 'Operation-Location'. The 'Operation-Location' field contains the URL that you must use for your Get -// Handwritten Text Operation Result operation. -// Parameters: -// imageParameter - an image stream. -// detectHandwriting - if 'true' is specified, handwriting recognition is performed. If this parameter is set -// to 'false' or is not specified, printed text recognition is performed. -func (client BaseClient) RecognizeTextInStream(ctx context.Context, imageParameter io.ReadCloser, detectHandwriting *bool) (result autorest.Response, err error) { - req, err := client.RecognizeTextInStreamPreparer(ctx, imageParameter, detectHandwriting) - if err != nil { - err = autorest.NewErrorWithError(err, "computervision.BaseClient", "RecognizeTextInStream", nil, "Failure preparing request") - return - } - - resp, err := client.RecognizeTextInStreamSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "computervision.BaseClient", "RecognizeTextInStream", resp, "Failure sending request") - return - } - - result, err = client.RecognizeTextInStreamResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "computervision.BaseClient", "RecognizeTextInStream", resp, "Failure responding to request") - } - - return -} - -// RecognizeTextInStreamPreparer prepares the RecognizeTextInStream request. -func (client BaseClient) RecognizeTextInStreamPreparer(ctx context.Context, imageParameter io.ReadCloser, detectHandwriting *bool) (*http.Request, error) { - urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, - } - - queryParameters := map[string]interface{}{} - if detectHandwriting != nil { - queryParameters["detectHandwriting"] = autorest.Encode("query", *detectHandwriting) - } else { - queryParameters["detectHandwriting"] = autorest.Encode("query", false) - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/octet-stream"), - autorest.AsPost(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/vision/v1.0", urlParameters), - autorest.WithPath("/recognizeText"), - autorest.WithFile(imageParameter), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// RecognizeTextInStreamSender sends the RecognizeTextInStream request. The method will close the -// http.Response Body if it receives an error. -func (client BaseClient) RecognizeTextInStreamSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// RecognizeTextInStreamResponder handles the response to the RecognizeTextInStream request. The method always -// closes the http.Response Body. -func (client BaseClient) RecognizeTextInStreamResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByClosing()) - result.Response = resp - return -} - -// TagImage this operation generates a list of words, or tags, that are relevant to the content of the supplied image. -// The Computer Vision API can return tags based on objects, living beings, scenery or actions found in images. Unlike -// categories, tags are not organized according to a hierarchical classification system, but correspond to image -// content. Tags may contain hints to avoid ambiguity or provide context, for example the tag 'cello' may be -// accompanied by the hint 'musical instrument'. All tags are in English. -// Parameters: -// imageURL - a JSON document with a URL pointing to the image that is to be analyzed. -// language - the desired language for output generation. If this parameter is not specified, the default value -// is "en".Supported languages:en - English, Default. es - Spanish, ja - Japanese, pt - Portuguese, -// zh - Simplified Chinese. -func (client BaseClient) TagImage(ctx context.Context, imageURL ImageURL, language string) (result TagResult, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: imageURL, - Constraints: []validation.Constraint{{Target: "imageURL.URL", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { - return result, validation.NewError("computervision.BaseClient", "TagImage", err.Error()) - } - - req, err := client.TagImagePreparer(ctx, imageURL, language) - if err != nil { - err = autorest.NewErrorWithError(err, "computervision.BaseClient", "TagImage", nil, "Failure preparing request") - return - } - - resp, err := client.TagImageSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "computervision.BaseClient", "TagImage", resp, "Failure sending request") - return - } - - result, err = client.TagImageResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "computervision.BaseClient", "TagImage", resp, "Failure responding to request") - } - - return -} - -// TagImagePreparer prepares the TagImage request. -func (client BaseClient) TagImagePreparer(ctx context.Context, imageURL ImageURL, language string) (*http.Request, error) { - urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, - } - - queryParameters := map[string]interface{}{} - if len(string(language)) > 0 { - queryParameters["language"] = autorest.Encode("query", language) - } else { - queryParameters["language"] = autorest.Encode("query", "en") - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; charset=utf-8"), - autorest.AsPost(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/vision/v1.0", urlParameters), - autorest.WithPath("/tag"), - autorest.WithJSON(imageURL), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// TagImageSender sends the TagImage request. The method will close the -// http.Response Body if it receives an error. -func (client BaseClient) TagImageSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// TagImageResponder handles the response to the TagImage request. The method always -// closes the http.Response Body. -func (client BaseClient) TagImageResponder(resp *http.Response) (result TagResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// TagImageInStream this operation generates a list of words, or tags, that are relevant to the content of the supplied -// image. The Computer Vision API can return tags based on objects, living beings, scenery or actions found in images. -// Unlike categories, tags are not organized according to a hierarchical classification system, but correspond to image -// content. Tags may contain hints to avoid ambiguity or provide context, for example the tag 'cello' may be -// accompanied by the hint 'musical instrument'. All tags are in English. -// Parameters: -// imageParameter - an image stream. -// language - the desired language for output generation. If this parameter is not specified, the default value -// is "en".Supported languages:en - English, Default. es - Spanish, ja - Japanese, pt - Portuguese, -// zh - Simplified Chinese. -func (client BaseClient) TagImageInStream(ctx context.Context, imageParameter io.ReadCloser, language string) (result TagResult, err error) { - req, err := client.TagImageInStreamPreparer(ctx, imageParameter, language) - if err != nil { - err = autorest.NewErrorWithError(err, "computervision.BaseClient", "TagImageInStream", nil, "Failure preparing request") - return - } - - resp, err := client.TagImageInStreamSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "computervision.BaseClient", "TagImageInStream", resp, "Failure sending request") - return - } - - result, err = client.TagImageInStreamResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "computervision.BaseClient", "TagImageInStream", resp, "Failure responding to request") - } - - return -} - -// TagImageInStreamPreparer prepares the TagImageInStream request. -func (client BaseClient) TagImageInStreamPreparer(ctx context.Context, imageParameter io.ReadCloser, language string) (*http.Request, error) { - urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, - } - - queryParameters := map[string]interface{}{} - if len(string(language)) > 0 { - queryParameters["language"] = autorest.Encode("query", language) - } else { - queryParameters["language"] = autorest.Encode("query", "en") - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/octet-stream"), - autorest.AsPost(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/vision/v1.0", urlParameters), - autorest.WithPath("/tag"), - autorest.WithFile(imageParameter), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// TagImageInStreamSender sends the TagImageInStream request. The method will close the -// http.Response Body if it receives an error. -func (client BaseClient) TagImageInStreamSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// TagImageInStreamResponder handles the response to the TagImageInStream request. The method always -// closes the http.Response Body. -func (client BaseClient) TagImageInStreamResponder(resp *http.Response) (result TagResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} diff --git a/services/cognitiveservices/v1.0/computervision/models.go b/services/cognitiveservices/v1.0/computervision/models.go deleted file mode 100644 index d740047c3945..000000000000 --- a/services/cognitiveservices/v1.0/computervision/models.go +++ /dev/null @@ -1,551 +0,0 @@ -package computervision - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "encoding/json" - "github.com/Azure/go-autorest/autorest" - "io" -) - -// AzureRegions enumerates the values for azure regions. -type AzureRegions string - -const ( - // Australiaeast ... - Australiaeast AzureRegions = "australiaeast" - // Brazilsouth ... - Brazilsouth AzureRegions = "brazilsouth" - // Eastasia ... - Eastasia AzureRegions = "eastasia" - // Eastus ... - Eastus AzureRegions = "eastus" - // Eastus2 ... - Eastus2 AzureRegions = "eastus2" - // Northeurope ... - Northeurope AzureRegions = "northeurope" - // Southcentralus ... - Southcentralus AzureRegions = "southcentralus" - // Southeastasia ... - Southeastasia AzureRegions = "southeastasia" - // Westcentralus ... - Westcentralus AzureRegions = "westcentralus" - // Westeurope ... - Westeurope AzureRegions = "westeurope" - // Westus ... - Westus AzureRegions = "westus" - // Westus2 ... - Westus2 AzureRegions = "westus2" -) - -// PossibleAzureRegionsValues returns an array of possible values for the AzureRegions const type. -func PossibleAzureRegionsValues() []AzureRegions { - return []AzureRegions{Australiaeast, Brazilsouth, Eastasia, Eastus, Eastus2, Northeurope, Southcentralus, Southeastasia, Westcentralus, Westeurope, Westus, Westus2} -} - -// Details enumerates the values for details. -type Details string - -const ( - // Celebrities ... - Celebrities Details = "Celebrities" - // Landmarks ... - Landmarks Details = "Landmarks" -) - -// PossibleDetailsValues returns an array of possible values for the Details const type. -func PossibleDetailsValues() []Details { - return []Details{Celebrities, Landmarks} -} - -// ErrorCodes enumerates the values for error codes. -type ErrorCodes string - -const ( - // BadArgument ... - BadArgument ErrorCodes = "BadArgument" - // FailedToProcess ... - FailedToProcess ErrorCodes = "FailedToProcess" - // InternalServerError ... - InternalServerError ErrorCodes = "InternalServerError" - // InvalidDetails ... - InvalidDetails ErrorCodes = "InvalidDetails" - // InvalidImageFormat ... - InvalidImageFormat ErrorCodes = "InvalidImageFormat" - // InvalidImageSize ... - InvalidImageSize ErrorCodes = "InvalidImageSize" - // InvalidImageURL ... - InvalidImageURL ErrorCodes = "InvalidImageUrl" - // NotSupportedImage ... - NotSupportedImage ErrorCodes = "NotSupportedImage" - // NotSupportedLanguage ... - NotSupportedLanguage ErrorCodes = "NotSupportedLanguage" - // NotSupportedVisualFeature ... - NotSupportedVisualFeature ErrorCodes = "NotSupportedVisualFeature" - // StorageException ... - StorageException ErrorCodes = "StorageException" - // Timeout ... - Timeout ErrorCodes = "Timeout" - // Unspecified ... - Unspecified ErrorCodes = "Unspecified" -) - -// PossibleErrorCodesValues returns an array of possible values for the ErrorCodes const type. -func PossibleErrorCodesValues() []ErrorCodes { - return []ErrorCodes{BadArgument, FailedToProcess, InternalServerError, InvalidDetails, InvalidImageFormat, InvalidImageSize, InvalidImageURL, NotSupportedImage, NotSupportedLanguage, NotSupportedVisualFeature, StorageException, Timeout, Unspecified} -} - -// Gender enumerates the values for gender. -type Gender string - -const ( - // Female ... - Female Gender = "Female" - // Male ... - Male Gender = "Male" -) - -// PossibleGenderValues returns an array of possible values for the Gender const type. -func PossibleGenderValues() []Gender { - return []Gender{Female, Male} -} - -// OcrLanguages enumerates the values for ocr languages. -type OcrLanguages string - -const ( - // Ar ... - Ar OcrLanguages = "ar" - // Cs ... - Cs OcrLanguages = "cs" - // Da ... - Da OcrLanguages = "da" - // De ... - De OcrLanguages = "de" - // El ... - El OcrLanguages = "el" - // En ... - En OcrLanguages = "en" - // Es ... - Es OcrLanguages = "es" - // Fi ... - Fi OcrLanguages = "fi" - // Fr ... - Fr OcrLanguages = "fr" - // Hu ... - Hu OcrLanguages = "hu" - // It ... - It OcrLanguages = "it" - // Ja ... - Ja OcrLanguages = "ja" - // Ko ... - Ko OcrLanguages = "ko" - // Nb ... - Nb OcrLanguages = "nb" - // Nl ... - Nl OcrLanguages = "nl" - // Pl ... - Pl OcrLanguages = "pl" - // Pt ... - Pt OcrLanguages = "pt" - // Ro ... - Ro OcrLanguages = "ro" - // Ru ... - Ru OcrLanguages = "ru" - // Sk ... - Sk OcrLanguages = "sk" - // SrCyrl ... - SrCyrl OcrLanguages = "sr-Cyrl" - // SrLatn ... - SrLatn OcrLanguages = "sr-Latn" - // Sv ... - Sv OcrLanguages = "sv" - // Tr ... - Tr OcrLanguages = "tr" - // Unk ... - Unk OcrLanguages = "unk" - // ZhHans ... - ZhHans OcrLanguages = "zh-Hans" - // ZhHant ... - ZhHant OcrLanguages = "zh-Hant" -) - -// PossibleOcrLanguagesValues returns an array of possible values for the OcrLanguages const type. -func PossibleOcrLanguagesValues() []OcrLanguages { - return []OcrLanguages{Ar, Cs, Da, De, El, En, Es, Fi, Fr, Hu, It, Ja, Ko, Nb, Nl, Pl, Pt, Ro, Ru, Sk, SrCyrl, SrLatn, Sv, Tr, Unk, ZhHans, ZhHant} -} - -// TextOperationStatusCodes enumerates the values for text operation status codes. -type TextOperationStatusCodes string - -const ( - // Failed ... - Failed TextOperationStatusCodes = "Failed" - // NotStarted ... - NotStarted TextOperationStatusCodes = "Not Started" - // Running ... - Running TextOperationStatusCodes = "Running" - // Succeeded ... - Succeeded TextOperationStatusCodes = "Succeeded" -) - -// PossibleTextOperationStatusCodesValues returns an array of possible values for the TextOperationStatusCodes const type. -func PossibleTextOperationStatusCodesValues() []TextOperationStatusCodes { - return []TextOperationStatusCodes{Failed, NotStarted, Running, Succeeded} -} - -// VisualFeatureTypes enumerates the values for visual feature types. -type VisualFeatureTypes string - -const ( - // VisualFeatureTypesAdult ... - VisualFeatureTypesAdult VisualFeatureTypes = "Adult" - // VisualFeatureTypesCategories ... - VisualFeatureTypesCategories VisualFeatureTypes = "Categories" - // VisualFeatureTypesColor ... - VisualFeatureTypesColor VisualFeatureTypes = "Color" - // VisualFeatureTypesDescription ... - VisualFeatureTypesDescription VisualFeatureTypes = "Description" - // VisualFeatureTypesFaces ... - VisualFeatureTypesFaces VisualFeatureTypes = "Faces" - // VisualFeatureTypesImageType ... - VisualFeatureTypesImageType VisualFeatureTypes = "ImageType" - // VisualFeatureTypesTags ... - VisualFeatureTypesTags VisualFeatureTypes = "Tags" -) - -// PossibleVisualFeatureTypesValues returns an array of possible values for the VisualFeatureTypes const type. -func PossibleVisualFeatureTypesValues() []VisualFeatureTypes { - return []VisualFeatureTypes{VisualFeatureTypesAdult, VisualFeatureTypesCategories, VisualFeatureTypesColor, VisualFeatureTypesDescription, VisualFeatureTypesFaces, VisualFeatureTypesImageType, VisualFeatureTypesTags} -} - -// AdultInfo an object describing whether the image contains adult-oriented content and/or is racy. -type AdultInfo struct { - // IsAdultContent - A value indicating if the image contains adult-oriented content. - IsAdultContent *bool `json:"isAdultContent,omitempty"` - // IsRacyContent - A value indicating if the image is race. - IsRacyContent *bool `json:"isRacyContent,omitempty"` - // AdultScore - Score from 0 to 1 that indicates how much of adult content is within the image. - AdultScore *float64 `json:"adultScore,omitempty"` - // RacyScore - Score from 0 to 1 that indicates how suggestive is the image. - RacyScore *float64 `json:"racyScore,omitempty"` -} - -// Category an object describing identified category. -type Category struct { - // Name - Name of the category. - Name *string `json:"name,omitempty"` - // Score - Scoring of the category. - Score *float64 `json:"score,omitempty"` - Detail *CategoryDetail `json:"detail,omitempty"` -} - -// CategoryDetail an object describing additional category details. -type CategoryDetail struct { - // Celebrities - An array of celebrities if any identified. - Celebrities *[]CelebritiesModel `json:"celebrities,omitempty"` -} - -// CelebritiesModel an object describing possible celebrity identification. -type CelebritiesModel struct { - // Name - Name of the celebrity. - Name *string `json:"name,omitempty"` - // Confidence - Level of confidence ranging from 0 to 1. - Confidence *float64 `json:"confidence,omitempty"` - FaceRectangle *FaceRectangle `json:"faceRectangle,omitempty"` -} - -// CelebrityResults list of celebrities recognized in the image. -type CelebrityResults struct { - Celebrities *[]CelebritiesModel `json:"celebrities,omitempty"` - // RequestID - Id of the REST API request. - RequestID *string `json:"requestId,omitempty"` - Metadata *ImageMetadata `json:"metadata,omitempty"` -} - -// ColorInfo an object providing additional metadata describing color attributes. -type ColorInfo struct { - // DominantColorForeground - Possible dominant foreground color. - DominantColorForeground *string `json:"dominantColorForeground,omitempty"` - // DominantColorBackground - Possible dominant background color. - DominantColorBackground *string `json:"dominantColorBackground,omitempty"` - // DominantColors - An array of possible dominant colors. - DominantColors *[]string `json:"dominantColors,omitempty"` - // AccentColor - Possible accent color. - AccentColor *string `json:"accentColor,omitempty"` - // IsBWImg - A value indicating if the image is black and white. - IsBWImg *bool `json:"isBWImg,omitempty"` -} - -// DomainModelResults result of image analysis using a specific domain model including additional metadata. -type DomainModelResults struct { - autorest.Response `json:"-"` - // Result - Model-specific response - Result interface{} `json:"result,omitempty"` - // RequestID - Id of the REST API request. - RequestID *string `json:"requestId,omitempty"` - Metadata *ImageMetadata `json:"metadata,omitempty"` -} - -// Error ... -type Error struct { - // Code - The error code. Possible values include: 'InvalidImageURL', 'InvalidImageFormat', 'InvalidImageSize', 'NotSupportedVisualFeature', 'NotSupportedImage', 'InvalidDetails', 'NotSupportedLanguage', 'BadArgument', 'FailedToProcess', 'Timeout', 'InternalServerError', 'Unspecified', 'StorageException' - Code ErrorCodes `json:"code,omitempty"` - // Message - A message explaining the error reported by the service. - Message *string `json:"message,omitempty"` - // RequestID - A unique request identifier. - RequestID *string `json:"requestId,omitempty"` -} - -// FaceDescription an object describing a face identified in the image. -type FaceDescription struct { - // Age - Possible age of the face. - Age *int32 `json:"age,omitempty"` - // Gender - Possible gender of the face. Possible values include: 'Male', 'Female' - Gender Gender `json:"gender,omitempty"` - FaceRectangle *FaceRectangle `json:"faceRectangle,omitempty"` -} - -// FaceRectangle an object describing face rectangle. -type FaceRectangle struct { - // Left - X-coordinate of the top left point of the face. - Left *int32 `json:"left,omitempty"` - // Top - Y-coordinate of the top left point of the face. - Top *int32 `json:"top,omitempty"` - // Width - Width measured from the top-left point of the face. - Width *int32 `json:"width,omitempty"` - // Height - Height measured from the top-left point of the face. - Height *int32 `json:"height,omitempty"` -} - -// ImageAnalysis result of AnalyzeImage operation. -type ImageAnalysis struct { - autorest.Response `json:"-"` - // Categories - An array indicating identified categories. - Categories *[]Category `json:"categories,omitempty"` - Adult *AdultInfo `json:"adult,omitempty"` - Color *ColorInfo `json:"color,omitempty"` - ImageType *ImageType `json:"imageType,omitempty"` - // Tags - A list of tags with confidence level. - Tags *[]ImageTag `json:"tags,omitempty"` - Description *ImageDescriptionDetails `json:"description,omitempty"` - // Faces - An array of possible faces within the image. - Faces *[]FaceDescription `json:"faces,omitempty"` - // RequestID - Id of the request for tracking purposes. - RequestID *string `json:"requestId,omitempty"` - Metadata *ImageMetadata `json:"metadata,omitempty"` -} - -// ImageCaption an image caption, i.e. a brief description of what the image depicts. -type ImageCaption struct { - // Text - The text of the caption - Text *string `json:"text,omitempty"` - // Confidence - The level of confidence the service has in the caption - Confidence *float64 `json:"confidence,omitempty"` -} - -// ImageDescription a collection of content tags, along with a list of captions sorted by confidence level, and -// image metadata. -type ImageDescription struct { - autorest.Response `json:"-"` - *ImageDescriptionDetails `json:"description,omitempty"` -} - -// MarshalJSON is the custom marshaler for ImageDescription. -func (ID ImageDescription) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - if ID.ImageDescriptionDetails != nil { - objectMap["description"] = ID.ImageDescriptionDetails - } - return json.Marshal(objectMap) -} - -// UnmarshalJSON is the custom unmarshaler for ImageDescription struct. -func (ID *ImageDescription) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - case "description": - if v != nil { - var imageDescriptionDetails ImageDescriptionDetails - err = json.Unmarshal(*v, &imageDescriptionDetails) - if err != nil { - return err - } - ID.ImageDescriptionDetails = &imageDescriptionDetails - } - } - } - - return nil -} - -// ImageDescriptionDetails a collection of content tags, along with a list of captions sorted by confidence level, -// and image metadata. -type ImageDescriptionDetails struct { - // Tags - A collection of image tags. - Tags *[]string `json:"tags,omitempty"` - // Captions - A list of captions, sorted by confidence level. - Captions *[]ImageCaption `json:"captions,omitempty"` - // RequestID - Id of the REST API request. - RequestID *string `json:"requestId,omitempty"` - Metadata *ImageMetadata `json:"metadata,omitempty"` -} - -// ImageMetadata image metadata -type ImageMetadata struct { - // Width - Image width - Width *int32 `json:"width,omitempty"` - // Height - Image height - Height *int32 `json:"height,omitempty"` - // Format - Image format - Format *string `json:"format,omitempty"` -} - -// ImageTag an image caption, i.e. a brief description of what the image depicts. -type ImageTag struct { - // Name - The tag value - Name *string `json:"name,omitempty"` - // Confidence - The level of confidence the service has in the caption - Confidence *float64 `json:"confidence,omitempty"` -} - -// ImageType an object providing possible image types and matching confidence levels. -type ImageType struct { - // ClipArtType - Confidence level that the image is a clip art. - ClipArtType *float64 `json:"clipArtType,omitempty"` - // LineDrawingType - Confidence level that the image is a line drawing. - LineDrawingType *float64 `json:"lineDrawingType,omitempty"` -} - -// ImageURL ... -type ImageURL struct { - // URL - Publicly reachable URL of an image - URL *string `json:"url,omitempty"` -} - -// LandmarkResults list of landmarks recognized in the image. -type LandmarkResults struct { - Landmarks *[]LandmarkResultsLandmarksItem `json:"landmarks,omitempty"` - // RequestID - Id of the REST API request. - RequestID *string `json:"requestId,omitempty"` - Metadata *ImageMetadata `json:"metadata,omitempty"` -} - -// LandmarkResultsLandmarksItem a landmark recognized in the image -type LandmarkResultsLandmarksItem struct { - // Name - Name of the landmark. - Name *string `json:"name,omitempty"` - // Confidence - Confidence level for the landmark recognition. - Confidence *float64 `json:"confidence,omitempty"` -} - -// Line ... -type Line struct { - BoundingBox *[]int32 `json:"boundingBox,omitempty"` - Text *string `json:"text,omitempty"` - Words *[]Word `json:"words,omitempty"` -} - -// ListModelsResult result of the List Domain Models operation. -type ListModelsResult struct { - autorest.Response `json:"-"` - // ModelsProperty - An array of supported models. - ModelsProperty *[]ModelDescription `json:"models,omitempty"` -} - -// ModelDescription an object describing supported model by name and categories. -type ModelDescription struct { - Name *string `json:"name,omitempty"` - Categories *[]string `json:"categories,omitempty"` -} - -// OcrLine an object describing a single recognized line of text. -type OcrLine struct { - // BoundingBox - Bounding box of a recognized line. The four integers represent the x-coordinate of the left edge, the y-coordinate of the top edge, width, and height of the bounding box, in the coordinate system of the input image, after it has been rotated around its center according to the detected text angle (see textAngle property), with the origin at the top-left corner, and the y-axis pointing down. - BoundingBox *string `json:"boundingBox,omitempty"` - // Words - An array of objects, where each object represents a recognized word. - Words *[]OcrWord `json:"words,omitempty"` -} - -// OcrRegion a region consists of multiple lines (e.g. a column of text in a multi-column document). -type OcrRegion struct { - // BoundingBox - Bounding box of a recognized region. The four integers represent the x-coordinate of the left edge, the y-coordinate of the top edge, width, and height of the bounding box, in the coordinate system of the input image, after it has been rotated around its center according to the detected text angle (see textAngle property), with the origin at the top-left corner, and the y-axis pointing down. - BoundingBox *string `json:"boundingBox,omitempty"` - Lines *[]OcrLine `json:"lines,omitempty"` -} - -// OcrResult ... -type OcrResult struct { - autorest.Response `json:"-"` - // Language - The BCP-47 language code of the text in the image. - Language *string `json:"language,omitempty"` - // TextAngle - The angle, in degrees, of the detected text with respect to the closest horizontal or vertical direction. After rotating the input image clockwise by this angle, the recognized text lines become horizontal or vertical. In combination with the orientation property it can be used to overlay recognition results correctly on the original image, by rotating either the original image or recognition results by a suitable angle around the center of the original image. If the angle cannot be confidently detected, this property is not present. If the image contains text at different angles, only part of the text will be recognized correctly. - TextAngle *float64 `json:"textAngle,omitempty"` - // Orientation - Orientation of the text recognized in the image. The value (up,down,left, or right) refers to the direction that the top of the recognized text is facing, after the image has been rotated around its center according to the detected text angle (see textAngle property). - Orientation *string `json:"orientation,omitempty"` - // Regions - An array of objects, where each object represents a region of recognized text. - Regions *[]OcrRegion `json:"regions,omitempty"` -} - -// OcrWord information on a recognized word. -type OcrWord struct { - // BoundingBox - Bounding box of a recognized word. The four integers represent the x-coordinate of the left edge, the y-coordinate of the top edge, width, and height of the bounding box, in the coordinate system of the input image, after it has been rotated around its center according to the detected text angle (see textAngle property), with the origin at the top-left corner, and the y-axis pointing down. - BoundingBox *string `json:"boundingBox,omitempty"` - // Text - String value of a recognized word. - Text *string `json:"text,omitempty"` -} - -// ReadCloser ... -type ReadCloser struct { - autorest.Response `json:"-"` - Value *io.ReadCloser `json:"value,omitempty"` -} - -// RecognitionResult ... -type RecognitionResult struct { - Lines *[]Line `json:"lines,omitempty"` -} - -// TagResult the results of a image tag operation, including any tags and image metadata. -type TagResult struct { - autorest.Response `json:"-"` - // Tags - A list of tags with confidence level. - Tags *[]ImageTag `json:"tags,omitempty"` - // RequestID - Id of the REST API request. - RequestID *string `json:"requestId,omitempty"` - Metadata *ImageMetadata `json:"metadata,omitempty"` -} - -// TextOperationResult ... -type TextOperationResult struct { - autorest.Response `json:"-"` - // Status - Status of the text operation. Possible values include: 'NotStarted', 'Running', 'Failed', 'Succeeded' - Status TextOperationStatusCodes `json:"status,omitempty"` - RecognitionResult *RecognitionResult `json:"recognitionResult,omitempty"` -} - -// Word ... -type Word struct { - BoundingBox *[]int32 `json:"boundingBox,omitempty"` - Text *string `json:"text,omitempty"` -} diff --git a/services/cognitiveservices/v1.0/computervision/version.go b/services/cognitiveservices/v1.0/computervision/version.go deleted file mode 100644 index a25f5e0a9ea2..000000000000 --- a/services/cognitiveservices/v1.0/computervision/version.go +++ /dev/null @@ -1,30 +0,0 @@ -package computervision - -import "github.com/Azure/azure-sdk-for-go/version" - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -// UserAgent returns the UserAgent string to use when sending http.Requests. -func UserAgent() string { - return "Azure-SDK-For-Go/" + version.Number + " computervision/1.0" -} - -// Version returns the semantic version (see http://semver.org) of the client. -func Version() string { - return version.Number -} diff --git a/services/cognitiveservices/v1.0/face/largefacelist.go b/services/cognitiveservices/v1.0/face/largefacelist.go index c55edd5bd3c5..115594d8f745 100644 --- a/services/cognitiveservices/v1.0/face/largefacelist.go +++ b/services/cognitiveservices/v1.0/face/largefacelist.go @@ -101,7 +101,8 @@ func (client LargeFaceListClient) AddFaceFromStream(ctx context.Context, largeFa Constraints: []validation.Constraint{{Target: "largeFaceListID", Name: validation.MaxLength, Rule: 64, Chain: nil}, {Target: "largeFaceListID", Name: validation.Pattern, Rule: `^[a-z0-9-_]+$`, Chain: nil}}}, {TargetValue: userData, - Constraints: []validation.Constraint{{Target: "userData", Name: validation.MaxLength, Rule: 1024, Chain: nil}}}}); err != nil { + Constraints: []validation.Constraint{{Target: "userData", Name: validation.Empty, Rule: false, + Chain: []validation.Constraint{{Target: "userData", Name: validation.MaxLength, Rule: 1024, Chain: nil}}}}}}); err != nil { return result, validation.NewError("face.LargeFaceListClient", "AddFaceFromStream", err.Error()) } @@ -242,7 +243,8 @@ func (client LargeFaceListClient) AddFaceFromURL(ctx context.Context, largeFaceL Constraints: []validation.Constraint{{Target: "largeFaceListID", Name: validation.MaxLength, Rule: 64, Chain: nil}, {Target: "largeFaceListID", Name: validation.Pattern, Rule: `^[a-z0-9-_]+$`, Chain: nil}}}, {TargetValue: userData, - Constraints: []validation.Constraint{{Target: "userData", Name: validation.MaxLength, Rule: 1024, Chain: nil}}}, + Constraints: []validation.Constraint{{Target: "userData", Name: validation.Empty, Rule: false, + Chain: []validation.Constraint{{Target: "userData", Name: validation.MaxLength, Rule: 1024, Chain: nil}}}}}, {TargetValue: imageURL, Constraints: []validation.Constraint{{Target: "imageURL.URL", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { return result, validation.NewError("face.LargeFaceListClient", "AddFaceFromURL", err.Error()) diff --git a/services/cognitiveservices/v1.0/face/largepersongroup.go b/services/cognitiveservices/v1.0/face/largepersongroup.go index d90105be18dd..46e06f289f1b 100644 --- a/services/cognitiveservices/v1.0/face/largepersongroup.go +++ b/services/cognitiveservices/v1.0/face/largepersongroup.go @@ -423,7 +423,8 @@ func (client LargePersonGroupClient) List(ctx context.Context, start string, top } if err := validation.Validate([]validation.Validation{ {TargetValue: start, - Constraints: []validation.Constraint{{Target: "start", Name: validation.MaxLength, Rule: 64, Chain: nil}}}, + Constraints: []validation.Constraint{{Target: "start", Name: validation.Empty, Rule: false, + Chain: []validation.Constraint{{Target: "start", Name: validation.MaxLength, Rule: 64, Chain: nil}}}}}, {TargetValue: top, Constraints: []validation.Constraint{{Target: "top", Name: validation.Null, Rule: false, Chain: []validation.Constraint{{Target: "top", Name: validation.InclusiveMaximum, Rule: int64(1000), Chain: nil}, diff --git a/services/cognitiveservices/v1.0/face/largepersongroupperson.go b/services/cognitiveservices/v1.0/face/largepersongroupperson.go index 0ce7061197c4..9b91259e4402 100644 --- a/services/cognitiveservices/v1.0/face/largepersongroupperson.go +++ b/services/cognitiveservices/v1.0/face/largepersongroupperson.go @@ -100,7 +100,8 @@ func (client LargePersonGroupPersonClient) AddFaceFromStream(ctx context.Context Constraints: []validation.Constraint{{Target: "largePersonGroupID", Name: validation.MaxLength, Rule: 64, Chain: nil}, {Target: "largePersonGroupID", Name: validation.Pattern, Rule: `^[a-z0-9-_]+$`, Chain: nil}}}, {TargetValue: userData, - Constraints: []validation.Constraint{{Target: "userData", Name: validation.MaxLength, Rule: 1024, Chain: nil}}}}); err != nil { + Constraints: []validation.Constraint{{Target: "userData", Name: validation.Empty, Rule: false, + Chain: []validation.Constraint{{Target: "userData", Name: validation.MaxLength, Rule: 1024, Chain: nil}}}}}}); err != nil { return result, validation.NewError("face.LargePersonGroupPersonClient", "AddFaceFromStream", err.Error()) } @@ -241,7 +242,8 @@ func (client LargePersonGroupPersonClient) AddFaceFromURL(ctx context.Context, l Constraints: []validation.Constraint{{Target: "largePersonGroupID", Name: validation.MaxLength, Rule: 64, Chain: nil}, {Target: "largePersonGroupID", Name: validation.Pattern, Rule: `^[a-z0-9-_]+$`, Chain: nil}}}, {TargetValue: userData, - Constraints: []validation.Constraint{{Target: "userData", Name: validation.MaxLength, Rule: 1024, Chain: nil}}}, + Constraints: []validation.Constraint{{Target: "userData", Name: validation.Empty, Rule: false, + Chain: []validation.Constraint{{Target: "userData", Name: validation.MaxLength, Rule: 1024, Chain: nil}}}}}, {TargetValue: imageURL, Constraints: []validation.Constraint{{Target: "imageURL.URL", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { return result, validation.NewError("face.LargePersonGroupPersonClient", "AddFaceFromURL", err.Error()) diff --git a/services/cognitiveservices/v1.0/face/list.go b/services/cognitiveservices/v1.0/face/list.go index 9b844fe990e0..3d8db7995409 100644 --- a/services/cognitiveservices/v1.0/face/list.go +++ b/services/cognitiveservices/v1.0/face/list.go @@ -97,7 +97,8 @@ func (client ListClient) AddFaceFromStream(ctx context.Context, faceListID strin Constraints: []validation.Constraint{{Target: "faceListID", Name: validation.MaxLength, Rule: 64, Chain: nil}, {Target: "faceListID", Name: validation.Pattern, Rule: `^[a-z0-9-_]+$`, Chain: nil}}}, {TargetValue: userData, - Constraints: []validation.Constraint{{Target: "userData", Name: validation.MaxLength, Rule: 1024, Chain: nil}}}}); err != nil { + Constraints: []validation.Constraint{{Target: "userData", Name: validation.Empty, Rule: false, + Chain: []validation.Constraint{{Target: "userData", Name: validation.MaxLength, Rule: 1024, Chain: nil}}}}}}); err != nil { return result, validation.NewError("face.ListClient", "AddFaceFromStream", err.Error()) } @@ -234,7 +235,8 @@ func (client ListClient) AddFaceFromURL(ctx context.Context, faceListID string, Constraints: []validation.Constraint{{Target: "faceListID", Name: validation.MaxLength, Rule: 64, Chain: nil}, {Target: "faceListID", Name: validation.Pattern, Rule: `^[a-z0-9-_]+$`, Chain: nil}}}, {TargetValue: userData, - Constraints: []validation.Constraint{{Target: "userData", Name: validation.MaxLength, Rule: 1024, Chain: nil}}}, + Constraints: []validation.Constraint{{Target: "userData", Name: validation.Empty, Rule: false, + Chain: []validation.Constraint{{Target: "userData", Name: validation.MaxLength, Rule: 1024, Chain: nil}}}}}, {TargetValue: imageURL, Constraints: []validation.Constraint{{Target: "imageURL.URL", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { return result, validation.NewError("face.ListClient", "AddFaceFromURL", err.Error()) diff --git a/services/cognitiveservices/v1.0/face/persongroup.go b/services/cognitiveservices/v1.0/face/persongroup.go index 123455686495..4fcae71db274 100644 --- a/services/cognitiveservices/v1.0/face/persongroup.go +++ b/services/cognitiveservices/v1.0/face/persongroup.go @@ -419,7 +419,8 @@ func (client PersonGroupClient) List(ctx context.Context, start string, top *int } if err := validation.Validate([]validation.Validation{ {TargetValue: start, - Constraints: []validation.Constraint{{Target: "start", Name: validation.MaxLength, Rule: 64, Chain: nil}}}, + Constraints: []validation.Constraint{{Target: "start", Name: validation.Empty, Rule: false, + Chain: []validation.Constraint{{Target: "start", Name: validation.MaxLength, Rule: 64, Chain: nil}}}}}, {TargetValue: top, Constraints: []validation.Constraint{{Target: "top", Name: validation.Null, Rule: false, Chain: []validation.Constraint{{Target: "top", Name: validation.InclusiveMaximum, Rule: int64(1000), Chain: nil}, diff --git a/services/cognitiveservices/v1.0/face/persongroupperson.go b/services/cognitiveservices/v1.0/face/persongroupperson.go index ca1a8baa1867..dd908336cb90 100644 --- a/services/cognitiveservices/v1.0/face/persongroupperson.go +++ b/services/cognitiveservices/v1.0/face/persongroupperson.go @@ -101,7 +101,8 @@ func (client PersonGroupPersonClient) AddFaceFromStream(ctx context.Context, per Constraints: []validation.Constraint{{Target: "personGroupID", Name: validation.MaxLength, Rule: 64, Chain: nil}, {Target: "personGroupID", Name: validation.Pattern, Rule: `^[a-z0-9-_]+$`, Chain: nil}}}, {TargetValue: userData, - Constraints: []validation.Constraint{{Target: "userData", Name: validation.MaxLength, Rule: 1024, Chain: nil}}}}); err != nil { + Constraints: []validation.Constraint{{Target: "userData", Name: validation.Empty, Rule: false, + Chain: []validation.Constraint{{Target: "userData", Name: validation.MaxLength, Rule: 1024, Chain: nil}}}}}}); err != nil { return result, validation.NewError("face.PersonGroupPersonClient", "AddFaceFromStream", err.Error()) } @@ -243,7 +244,8 @@ func (client PersonGroupPersonClient) AddFaceFromURL(ctx context.Context, person Constraints: []validation.Constraint{{Target: "personGroupID", Name: validation.MaxLength, Rule: 64, Chain: nil}, {Target: "personGroupID", Name: validation.Pattern, Rule: `^[a-z0-9-_]+$`, Chain: nil}}}, {TargetValue: userData, - Constraints: []validation.Constraint{{Target: "userData", Name: validation.MaxLength, Rule: 1024, Chain: nil}}}, + Constraints: []validation.Constraint{{Target: "userData", Name: validation.Empty, Rule: false, + Chain: []validation.Constraint{{Target: "userData", Name: validation.MaxLength, Rule: 1024, Chain: nil}}}}}, {TargetValue: imageURL, Constraints: []validation.Constraint{{Target: "imageURL.URL", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { return result, validation.NewError("face.PersonGroupPersonClient", "AddFaceFromURL", err.Error()) diff --git a/services/cognitiveservices/v1.0/localsearch/client.go b/services/cognitiveservices/v1.0/localsearch/client.go index b23863673898..13b2c0290c80 100644 --- a/services/cognitiveservices/v1.0/localsearch/client.go +++ b/services/cognitiveservices/v1.0/localsearch/client.go @@ -28,7 +28,7 @@ import ( const ( // DefaultBaseURI is the default URI used for the service Localsearch - DefaultBaseURI = "https://api.cognitive.microsoft.com/localbusinesses/v7.0/search" + DefaultBaseURI = "https://api.cognitive.microsoft.com/bing" ) // BaseClient is the base client for Localsearch. diff --git a/services/cognitiveservices/v1.0/localsearch/local.go b/services/cognitiveservices/v1.0/localsearch/local.go index eac55bbe6914..667c0df99d1b 100644 --- a/services/cognitiveservices/v1.0/localsearch/local.go +++ b/services/cognitiveservices/v1.0/localsearch/local.go @@ -226,7 +226,7 @@ func (client LocalClient) SearchPreparer(ctx context.Context, query string, acce preparer := autorest.CreatePreparer( autorest.AsGet(), autorest.WithBaseURL(client.BaseURI), - autorest.WithPath("/localbusinesses/v7.0/search"), + autorest.WithPath("/v7.0/localbusinesses/search"), autorest.WithQueryParameters(queryParameters), autorest.WithHeader("X-BingApis-SDK", "true")) if len(acceptLanguage) > 0 { diff --git a/services/cognitiveservices/v1.0/spellcheck/client.go b/services/cognitiveservices/v1.0/spellcheck/client.go index b76d0d64281b..89cc236c1f2e 100644 --- a/services/cognitiveservices/v1.0/spellcheck/client.go +++ b/services/cognitiveservices/v1.0/spellcheck/client.go @@ -216,7 +216,9 @@ func (client BaseClient) SpellCheckerMethodPreparer(ctx context.Context, textPar "Endpoint": client.Endpoint, } - queryParameters := map[string]interface{}{} + queryParameters := map[string]interface{}{ + "Text": autorest.Encode("query", textParameter), + } if len(string(actionType)) > 0 { queryParameters["ActionType"] = autorest.Encode("query", actionType) } @@ -244,18 +246,14 @@ func (client BaseClient) SpellCheckerMethodPreparer(ctx context.Context, textPar if len(userID) > 0 { queryParameters["UserId"] = autorest.Encode("query", userID) } - - formDataParameters := map[string]interface{}{ - "Text": textParameter, - } if len(string(mode)) > 0 { - formDataParameters["Mode"] = mode + queryParameters["Mode"] = autorest.Encode("query", mode) } if len(preContextText) > 0 { - formDataParameters["PreContextText"] = preContextText + queryParameters["PreContextText"] = autorest.Encode("query", preContextText) } if len(postContextText) > 0 { - formDataParameters["PostContextText"] = postContextText + queryParameters["PostContextText"] = autorest.Encode("query", postContextText) } preparer := autorest.CreatePreparer( @@ -263,7 +261,6 @@ func (client BaseClient) SpellCheckerMethodPreparer(ctx context.Context, textPar autorest.WithCustomBaseURL("{Endpoint}/bing/v7.0", urlParameters), autorest.WithPath("/spellcheck"), autorest.WithQueryParameters(queryParameters), - autorest.WithFormData(autorest.MapToValues(formDataParameters)), autorest.WithHeader("X-BingApis-SDK", "true")) if len(acceptLanguage) > 0 { preparer = autorest.DecoratePreparer(preparer, diff --git a/services/cognitiveservices/v2.0/anomalyfinder/anomalyfinderapi/interfaces.go b/services/cognitiveservices/v2.0/anomalyfinder/anomalyfinderapi/interfaces.go deleted file mode 100644 index 8207746acb0f..000000000000 --- a/services/cognitiveservices/v2.0/anomalyfinder/anomalyfinderapi/interfaces.go +++ /dev/null @@ -1,31 +0,0 @@ -package anomalyfinderapi - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/azure-sdk-for-go/services/cognitiveservices/v2.0/anomalyfinder" -) - -// BaseClientAPI contains the set of methods on the BaseClient type. -type BaseClientAPI interface { - EntireDetect(ctx context.Context, body anomalyfinder.Request) (result anomalyfinder.EntireDetectResponse, err error) - LastDetect(ctx context.Context, body anomalyfinder.Request) (result anomalyfinder.LastDetectResponse, err error) -} - -var _ BaseClientAPI = (*anomalyfinder.BaseClient)(nil) diff --git a/services/cognitiveservices/v2.0/anomalyfinder/client.go b/services/cognitiveservices/v2.0/anomalyfinder/client.go deleted file mode 100644 index b02ba0768ddd..000000000000 --- a/services/cognitiveservices/v2.0/anomalyfinder/client.go +++ /dev/null @@ -1,208 +0,0 @@ -// Package anomalyfinder implements the Azure ARM Anomalyfinder service API version 2.0. -// -// The Anomaly Finder API detects anomalies automatically in time series data. It supports two functionalities, one is -// for detecting the whole series with model trained by the timeseries, another is detecting last point with model -// trained by points before. By using this service, business customers can discover incidents and establish a logic -// flow for root cause analysis. -package anomalyfinder - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/autorest/validation" - "github.com/Azure/go-autorest/tracing" - "net/http" -) - -// BaseClient is the base client for Anomalyfinder. -type BaseClient struct { - autorest.Client - Endpoint string -} - -// New creates an instance of the BaseClient client. -func New(endpoint string) BaseClient { - return NewWithoutDefaults(endpoint) -} - -// NewWithoutDefaults creates an instance of the BaseClient client. -func NewWithoutDefaults(endpoint string) BaseClient { - return BaseClient{ - Client: autorest.NewClientWithUserAgent(UserAgent()), - Endpoint: endpoint, - } -} - -// EntireDetect the operation will generate a model using the entire series, each point will be detected with the same -// model. In this method, points before and after a certain point will be used to determine whether it's an anomaly. -// The entire detection can give user an overall status of the time series. -// Parameters: -// body - time series points and period if needed. Advanced model parameters can also be set in the request. -func (client BaseClient) EntireDetect(ctx context.Context, body Request) (result EntireDetectResponse, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.EntireDetect") - defer func() { - sc := -1 - if result.Response.Response != nil { - sc = result.Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - if err := validation.Validate([]validation.Validation{ - {TargetValue: body, - Constraints: []validation.Constraint{{Target: "body.Series", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { - return result, validation.NewError("anomalyfinder.BaseClient", "EntireDetect", err.Error()) - } - - req, err := client.EntireDetectPreparer(ctx, body) - if err != nil { - err = autorest.NewErrorWithError(err, "anomalyfinder.BaseClient", "EntireDetect", nil, "Failure preparing request") - return - } - - resp, err := client.EntireDetectSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "anomalyfinder.BaseClient", "EntireDetect", resp, "Failure sending request") - return - } - - result, err = client.EntireDetectResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "anomalyfinder.BaseClient", "EntireDetect", resp, "Failure responding to request") - } - - return -} - -// EntireDetectPreparer prepares the EntireDetect request. -func (client BaseClient) EntireDetectPreparer(ctx context.Context, body Request) (*http.Request, error) { - urlParameters := map[string]interface{}{ - "Endpoint": client.Endpoint, - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; charset=utf-8"), - autorest.AsPost(), - autorest.WithCustomBaseURL("{Endpoint}/anomalyfinder/v2.0", urlParameters), - autorest.WithPath("/timeseries/entire/detect"), - autorest.WithJSON(body)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// EntireDetectSender sends the EntireDetect request. The method will close the -// http.Response Body if it receives an error. -func (client BaseClient) EntireDetectSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// EntireDetectResponder handles the response to the EntireDetect request. The method always -// closes the http.Response Body. -func (client BaseClient) EntireDetectResponder(resp *http.Response) (result EntireDetectResponse, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// LastDetect the operation will generate a model using points before the latest one, In this method, only history -// points are used for determine whether the target point is an anomaly. Latest point detecting matches the scenario of -// real-time monitoring of business metrics. -// Parameters: -// body - time series points and period if needed. Advanced model parameters can also be set in the request. -func (client BaseClient) LastDetect(ctx context.Context, body Request) (result LastDetectResponse, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.LastDetect") - defer func() { - sc := -1 - if result.Response.Response != nil { - sc = result.Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - if err := validation.Validate([]validation.Validation{ - {TargetValue: body, - Constraints: []validation.Constraint{{Target: "body.Series", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { - return result, validation.NewError("anomalyfinder.BaseClient", "LastDetect", err.Error()) - } - - req, err := client.LastDetectPreparer(ctx, body) - if err != nil { - err = autorest.NewErrorWithError(err, "anomalyfinder.BaseClient", "LastDetect", nil, "Failure preparing request") - return - } - - resp, err := client.LastDetectSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "anomalyfinder.BaseClient", "LastDetect", resp, "Failure sending request") - return - } - - result, err = client.LastDetectResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "anomalyfinder.BaseClient", "LastDetect", resp, "Failure responding to request") - } - - return -} - -// LastDetectPreparer prepares the LastDetect request. -func (client BaseClient) LastDetectPreparer(ctx context.Context, body Request) (*http.Request, error) { - urlParameters := map[string]interface{}{ - "Endpoint": client.Endpoint, - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; charset=utf-8"), - autorest.AsPost(), - autorest.WithCustomBaseURL("{Endpoint}/anomalyfinder/v2.0", urlParameters), - autorest.WithPath("/timeseries/last/detect"), - autorest.WithJSON(body)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// LastDetectSender sends the LastDetect request. The method will close the -// http.Response Body if it receives an error. -func (client BaseClient) LastDetectSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// LastDetectResponder handles the response to the LastDetect request. The method always -// closes the http.Response Body. -func (client BaseClient) LastDetectResponder(resp *http.Response) (result LastDetectResponse, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} diff --git a/services/cognitiveservices/v2.0/anomalyfinder/models.go b/services/cognitiveservices/v2.0/anomalyfinder/models.go deleted file mode 100644 index 8ea88ea46f2b..000000000000 --- a/services/cognitiveservices/v2.0/anomalyfinder/models.go +++ /dev/null @@ -1,121 +0,0 @@ -package anomalyfinder - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/date" -) - -// The package's fully qualified name. -const fqdn = "github.com/Azure/azure-sdk-for-go/services/cognitiveservices/v2.0/anomalyfinder" - -// Granularity enumerates the values for granularity. -type Granularity string - -const ( - // Daily ... - Daily Granularity = "daily" - // Hourly ... - Hourly Granularity = "hourly" - // Minutely ... - Minutely Granularity = "minutely" - // Monthly ... - Monthly Granularity = "monthly" - // Weekly ... - Weekly Granularity = "weekly" - // Yearly ... - Yearly Granularity = "yearly" -) - -// PossibleGranularityValues returns an array of possible values for the Granularity const type. -func PossibleGranularityValues() []Granularity { - return []Granularity{Daily, Hourly, Minutely, Monthly, Weekly, Yearly} -} - -// APIError error information returned by the API. -type APIError struct { - // Code - The error code. - Code interface{} `json:"code,omitempty"` - // Message - A message explaining the error reported by the service. - Message *string `json:"message,omitempty"` -} - -// EntireDetectResponse ... -type EntireDetectResponse struct { - autorest.Response `json:"-"` - // Period - Frequency extracted from the series, zero means no recurrent pattern has been found. - Period *int32 `json:"period,omitempty"` - // ExpectedValues - ExpectedValues contain expected value for each input point. The index of the array is consistent with the input series. - ExpectedValues *[]float64 `json:"expectedValues,omitempty"` - // UpperMargins - UpperMargins contain upper margin of each input point. UpperMargin is used to calculate upperBoundary, which equals to expectedValue + (100 - sensitivity)*upperMargin. Anomalies in response can be filtered by upperBoundary and lowerBoundary. By adjusting sensitivity value, less significant anomalies can be filtered in client side. The index of the array is consistent with the input series. - UpperMargins *[]float64 `json:"upperMargins,omitempty"` - // LowerMargins - LowerMargins contain lower margin of each input point. LowerMargin is used to calculate lowerBoundary, which equals to expectedValue - (100 - sensitivity)*lowerMargin. Points between the boundary can be marked as normal ones in client side. The index of the array is consistent with the input series. - LowerMargins *[]float64 `json:"lowerMargins,omitempty"` - // IsAnomaly - IsAnomaly contains anomaly properties for each input point. True means an anomaly either negative or positive has been detected. The index of the array is consistent with the input series. - IsAnomaly *[]bool `json:"isAnomaly,omitempty"` - // IsNegativeAnomaly - IsNegativeAnomaly contains anomaly status in negative direction for each input point. True means a negative anomaly has been detected. A negative anomaly means the point is detected as an anomaly and its real value is smaller than the expected one. The index of the array is consistent with the input series. - IsNegativeAnomaly *[]bool `json:"isNegativeAnomaly,omitempty"` - // IsPositiveAnomaly - IsPositiveAnomaly contain anomaly status in positive direction for each input point. True means a positive anomaly has been detected. A positive anomaly means the point is detected as an anomaly and its real value is larger than the expected one. The index of the array is consistent with the input series. - IsPositiveAnomaly *[]bool `json:"isPositiveAnomaly,omitempty"` -} - -// LastDetectResponse ... -type LastDetectResponse struct { - autorest.Response `json:"-"` - // Period - Frequency extracted from the series, zero means no recurrent pattern has been found. - Period *int32 `json:"period,omitempty"` - // SuggestedWindow - Suggested input series points needed for detecting the latest point. - SuggestedWindow *int32 `json:"suggestedWindow,omitempty"` - // ExpectedValue - Expected value of the latest point. - ExpectedValue *float64 `json:"expectedValue,omitempty"` - // UpperMargin - Upper margin of the latest point. UpperMargin is used to calculate upperBoundary, which equals to expectedValue + (100 - sensitivity)*upperMargin. If the value of latest point is between upperBoundary and lowerBoundary, it should be treated as normal value. By adjusting sensitivity value, anomaly status of latest point can be changed. - UpperMargin *float64 `json:"upperMargin,omitempty"` - // LowerMargin - Lower margin of the latest point. LowerMargin is used to calculate lowerBoundary, which equals to expectedValue - (100 - sensitivity)*lowerMargin. - LowerMargin *float64 `json:"lowerMargin,omitempty"` - // IsAnomaly - Anomaly status of the latest point, true means the latest point is an anomaly either in negative direction or positive direction. - IsAnomaly *bool `json:"isAnomaly,omitempty"` - // IsNegativeAnomaly - Anomaly status in negative direction of the latest point. True means the latest point is an anomaly and its real value is smaller than the expected one. - IsNegativeAnomaly *bool `json:"isNegativeAnomaly,omitempty"` - // IsPositiveAnomaly - Anomaly status in positive direction of the latest point. True means the latest point is an anomaly and its real value is larger than the expected one. - IsPositiveAnomaly *bool `json:"isPositiveAnomaly,omitempty"` -} - -// Point ... -type Point struct { - // Timestamp - Timestamp of a data point (ISO8601 format). - Timestamp *date.Time `json:"timestamp,omitempty"` - // Value - The measurement of that point, should be float. - Value *float64 `json:"value,omitempty"` -} - -// Request ... -type Request struct { - // Series - Time series data points. Points should be sorted by timestamp in ascending order to match the anomaly detection result. If the data is not sorted correctly or there is duplicated timestamp, the API will not work. In such case, an error message will be returned. - Series *[]Point `json:"series,omitempty"` - // Granularity - Can only be one of yearly, monthly, weekly, daily, hourly or minutely. Granularity is used for verify whether input series is valid. Possible values include: 'Yearly', 'Monthly', 'Weekly', 'Daily', 'Hourly', 'Minutely' - Granularity Granularity `json:"granularity,omitempty"` - // CustomInterval - Custom Interval is used to set non-standard time interval, for example, if the series is 5 minutes, request can be set as {"granularity":"minutely", "customInterval":5}. - CustomInterval *int32 `json:"customInterval,omitempty"` - // Period - Optional argument, periodic value of a time series. If the value is null or does not present, the API will determine the period automatically. - Period *int32 `json:"period,omitempty"` - // MaxAnomalyRatio - Optional argument, advanced model parameter, max anomaly ratio in a time series. - MaxAnomalyRatio *float64 `json:"maxAnomalyRatio,omitempty"` - // Sensitivity - Optional argument, advanced model parameter, between 0-99, the lower the value is, the larger the margin value will be which means less anomalies will be accepted. - Sensitivity *int32 `json:"sensitivity,omitempty"` -} diff --git a/services/cognitiveservices/v2.0/anomalyfinder/version.go b/services/cognitiveservices/v2.0/anomalyfinder/version.go deleted file mode 100644 index 1d6689bd944f..000000000000 --- a/services/cognitiveservices/v2.0/anomalyfinder/version.go +++ /dev/null @@ -1,30 +0,0 @@ -package anomalyfinder - -import "github.com/Azure/azure-sdk-for-go/version" - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -// UserAgent returns the UserAgent string to use when sending http.Requests. -func UserAgent() string { - return "Azure-SDK-For-Go/" + version.Number + " anomalyfinder/2.0" -} - -// Version returns the semantic version (see http://semver.org) of the client. -func Version() string { - return version.Number -} diff --git a/services/cognitiveservices/v2.0/luis/programmatic/features.go b/services/cognitiveservices/v2.0/luis/programmatic/features.go deleted file mode 100644 index 794806e2c662..000000000000 --- a/services/cognitiveservices/v2.0/luis/programmatic/features.go +++ /dev/null @@ -1,492 +0,0 @@ -package programmatic - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/autorest/validation" - "github.com/satori/go.uuid" - "net/http" -) - -// FeaturesClient is the client for the Features methods of the Programmatic service. -type FeaturesClient struct { - BaseClient -} - -// NewFeaturesClient creates an instance of the FeaturesClient client. -func NewFeaturesClient(azureRegion AzureRegions) FeaturesClient { - return FeaturesClient{New(azureRegion)} -} - -// AddPhraseList creates a new phraselist feature. -// Parameters: -// appID - the application ID. -// versionID - the version ID. -// phraselistCreateObject - a Phraselist object containing Name, comma-separated Phrases and the isExchangeable -// boolean. Default value for isExchangeable is true. -func (client FeaturesClient) AddPhraseList(ctx context.Context, appID uuid.UUID, versionID string, phraselistCreateObject PhraselistCreateObject) (result Int32, err error) { - req, err := client.AddPhraseListPreparer(ctx, appID, versionID, phraselistCreateObject) - if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.FeaturesClient", "AddPhraseList", nil, "Failure preparing request") - return - } - - resp, err := client.AddPhraseListSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.FeaturesClient", "AddPhraseList", resp, "Failure sending request") - return - } - - result, err = client.AddPhraseListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.FeaturesClient", "AddPhraseList", resp, "Failure responding to request") - } - - return -} - -// AddPhraseListPreparer prepares the AddPhraseList request. -func (client FeaturesClient) AddPhraseListPreparer(ctx context.Context, appID uuid.UUID, versionID string, phraselistCreateObject PhraselistCreateObject) (*http.Request, error) { - urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, - } - - pathParameters := map[string]interface{}{ - "appId": autorest.Encode("path", appID), - "versionId": autorest.Encode("path", versionID), - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; charset=utf-8"), - autorest.AsPost(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), - autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/phraselists", pathParameters), - autorest.WithJSON(phraselistCreateObject)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// AddPhraseListSender sends the AddPhraseList request. The method will close the -// http.Response Body if it receives an error. -func (client FeaturesClient) AddPhraseListSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// AddPhraseListResponder handles the response to the AddPhraseList request. The method always -// closes the http.Response Body. -func (client FeaturesClient) AddPhraseListResponder(resp *http.Response) (result Int32, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), - autorest.ByUnmarshallingJSON(&result.Value), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// DeletePhraseList deletes a phraselist feature. -// Parameters: -// appID - the application ID. -// versionID - the version ID. -// phraselistID - the ID of the feature to be deleted. -func (client FeaturesClient) DeletePhraseList(ctx context.Context, appID uuid.UUID, versionID string, phraselistID int32) (result OperationStatus, err error) { - req, err := client.DeletePhraseListPreparer(ctx, appID, versionID, phraselistID) - if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.FeaturesClient", "DeletePhraseList", nil, "Failure preparing request") - return - } - - resp, err := client.DeletePhraseListSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.FeaturesClient", "DeletePhraseList", resp, "Failure sending request") - return - } - - result, err = client.DeletePhraseListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.FeaturesClient", "DeletePhraseList", resp, "Failure responding to request") - } - - return -} - -// DeletePhraseListPreparer prepares the DeletePhraseList request. -func (client FeaturesClient) DeletePhraseListPreparer(ctx context.Context, appID uuid.UUID, versionID string, phraselistID int32) (*http.Request, error) { - urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, - } - - pathParameters := map[string]interface{}{ - "appId": autorest.Encode("path", appID), - "phraselistId": autorest.Encode("path", phraselistID), - "versionId": autorest.Encode("path", versionID), - } - - preparer := autorest.CreatePreparer( - autorest.AsDelete(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), - autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/phraselists/{phraselistId}", pathParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DeletePhraseListSender sends the DeletePhraseList request. The method will close the -// http.Response Body if it receives an error. -func (client FeaturesClient) DeletePhraseListSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// DeletePhraseListResponder handles the response to the DeletePhraseList request. The method always -// closes the http.Response Body. -func (client FeaturesClient) DeletePhraseListResponder(resp *http.Response) (result OperationStatus, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// GetPhraseList gets phraselist feature info. -// Parameters: -// appID - the application ID. -// versionID - the version ID. -// phraselistID - the ID of the feature to be retrieved. -func (client FeaturesClient) GetPhraseList(ctx context.Context, appID uuid.UUID, versionID string, phraselistID int32) (result PhraseListFeatureInfo, err error) { - req, err := client.GetPhraseListPreparer(ctx, appID, versionID, phraselistID) - if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.FeaturesClient", "GetPhraseList", nil, "Failure preparing request") - return - } - - resp, err := client.GetPhraseListSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.FeaturesClient", "GetPhraseList", resp, "Failure sending request") - return - } - - result, err = client.GetPhraseListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.FeaturesClient", "GetPhraseList", resp, "Failure responding to request") - } - - return -} - -// GetPhraseListPreparer prepares the GetPhraseList request. -func (client FeaturesClient) GetPhraseListPreparer(ctx context.Context, appID uuid.UUID, versionID string, phraselistID int32) (*http.Request, error) { - urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, - } - - pathParameters := map[string]interface{}{ - "appId": autorest.Encode("path", appID), - "phraselistId": autorest.Encode("path", phraselistID), - "versionId": autorest.Encode("path", versionID), - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), - autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/phraselists/{phraselistId}", pathParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetPhraseListSender sends the GetPhraseList request. The method will close the -// http.Response Body if it receives an error. -func (client FeaturesClient) GetPhraseListSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// GetPhraseListResponder handles the response to the GetPhraseList request. The method always -// closes the http.Response Body. -func (client FeaturesClient) GetPhraseListResponder(resp *http.Response) (result PhraseListFeatureInfo, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// List gets all the extraction features for the specified application version. -// Parameters: -// appID - the application ID. -// versionID - the version ID. -// skip - the number of entries to skip. Default value is 0. -// take - the number of entries to return. Maximum page size is 500. Default is 100. -func (client FeaturesClient) List(ctx context.Context, appID uuid.UUID, versionID string, skip *int32, take *int32) (result FeaturesResponseObject, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: skip, - Constraints: []validation.Constraint{{Target: "skip", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "skip", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}}}}}, - {TargetValue: take, - Constraints: []validation.Constraint{{Target: "take", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "take", Name: validation.InclusiveMaximum, Rule: 500, Chain: nil}, - {Target: "take", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}, - }}}}}); err != nil { - return result, validation.NewError("programmatic.FeaturesClient", "List", err.Error()) - } - - req, err := client.ListPreparer(ctx, appID, versionID, skip, take) - if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.FeaturesClient", "List", nil, "Failure preparing request") - return - } - - resp, err := client.ListSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.FeaturesClient", "List", resp, "Failure sending request") - return - } - - result, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.FeaturesClient", "List", resp, "Failure responding to request") - } - - return -} - -// ListPreparer prepares the List request. -func (client FeaturesClient) ListPreparer(ctx context.Context, appID uuid.UUID, versionID string, skip *int32, take *int32) (*http.Request, error) { - urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, - } - - pathParameters := map[string]interface{}{ - "appId": autorest.Encode("path", appID), - "versionId": autorest.Encode("path", versionID), - } - - queryParameters := map[string]interface{}{} - if skip != nil { - queryParameters["skip"] = autorest.Encode("query", *skip) - } else { - queryParameters["skip"] = autorest.Encode("query", 0) - } - if take != nil { - queryParameters["take"] = autorest.Encode("query", *take) - } else { - queryParameters["take"] = autorest.Encode("query", 100) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), - autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/features", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListSender sends the List request. The method will close the -// http.Response Body if it receives an error. -func (client FeaturesClient) ListSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ListResponder handles the response to the List request. The method always -// closes the http.Response Body. -func (client FeaturesClient) ListResponder(resp *http.Response) (result FeaturesResponseObject, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// ListPhraseLists gets all the phraselist features. -// Parameters: -// appID - the application ID. -// versionID - the version ID. -// skip - the number of entries to skip. Default value is 0. -// take - the number of entries to return. Maximum page size is 500. Default is 100. -func (client FeaturesClient) ListPhraseLists(ctx context.Context, appID uuid.UUID, versionID string, skip *int32, take *int32) (result ListPhraseListFeatureInfo, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: skip, - Constraints: []validation.Constraint{{Target: "skip", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "skip", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}}}}}, - {TargetValue: take, - Constraints: []validation.Constraint{{Target: "take", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "take", Name: validation.InclusiveMaximum, Rule: 500, Chain: nil}, - {Target: "take", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}, - }}}}}); err != nil { - return result, validation.NewError("programmatic.FeaturesClient", "ListPhraseLists", err.Error()) - } - - req, err := client.ListPhraseListsPreparer(ctx, appID, versionID, skip, take) - if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.FeaturesClient", "ListPhraseLists", nil, "Failure preparing request") - return - } - - resp, err := client.ListPhraseListsSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.FeaturesClient", "ListPhraseLists", resp, "Failure sending request") - return - } - - result, err = client.ListPhraseListsResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.FeaturesClient", "ListPhraseLists", resp, "Failure responding to request") - } - - return -} - -// ListPhraseListsPreparer prepares the ListPhraseLists request. -func (client FeaturesClient) ListPhraseListsPreparer(ctx context.Context, appID uuid.UUID, versionID string, skip *int32, take *int32) (*http.Request, error) { - urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, - } - - pathParameters := map[string]interface{}{ - "appId": autorest.Encode("path", appID), - "versionId": autorest.Encode("path", versionID), - } - - queryParameters := map[string]interface{}{} - if skip != nil { - queryParameters["skip"] = autorest.Encode("query", *skip) - } else { - queryParameters["skip"] = autorest.Encode("query", 0) - } - if take != nil { - queryParameters["take"] = autorest.Encode("query", *take) - } else { - queryParameters["take"] = autorest.Encode("query", 100) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), - autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/phraselists", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListPhraseListsSender sends the ListPhraseLists request. The method will close the -// http.Response Body if it receives an error. -func (client FeaturesClient) ListPhraseListsSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ListPhraseListsResponder handles the response to the ListPhraseLists request. The method always -// closes the http.Response Body. -func (client FeaturesClient) ListPhraseListsResponder(resp *http.Response) (result ListPhraseListFeatureInfo, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result.Value), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// UpdatePhraseList updates the phrases, the state and the name of the phraselist feature. -// Parameters: -// appID - the application ID. -// versionID - the version ID. -// phraselistID - the ID of the feature to be updated. -// phraselistUpdateObject - the new values for: - Just a boolean called IsActive, in which case the status of -// the feature will be changed. - Name, Pattern, Mode, and a boolean called IsActive to update the feature. -func (client FeaturesClient) UpdatePhraseList(ctx context.Context, appID uuid.UUID, versionID string, phraselistID int32, phraselistUpdateObject *PhraselistUpdateObject) (result OperationStatus, err error) { - req, err := client.UpdatePhraseListPreparer(ctx, appID, versionID, phraselistID, phraselistUpdateObject) - if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.FeaturesClient", "UpdatePhraseList", nil, "Failure preparing request") - return - } - - resp, err := client.UpdatePhraseListSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.FeaturesClient", "UpdatePhraseList", resp, "Failure sending request") - return - } - - result, err = client.UpdatePhraseListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.FeaturesClient", "UpdatePhraseList", resp, "Failure responding to request") - } - - return -} - -// UpdatePhraseListPreparer prepares the UpdatePhraseList request. -func (client FeaturesClient) UpdatePhraseListPreparer(ctx context.Context, appID uuid.UUID, versionID string, phraselistID int32, phraselistUpdateObject *PhraselistUpdateObject) (*http.Request, error) { - urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, - } - - pathParameters := map[string]interface{}{ - "appId": autorest.Encode("path", appID), - "phraselistId": autorest.Encode("path", phraselistID), - "versionId": autorest.Encode("path", versionID), - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; charset=utf-8"), - autorest.AsPut(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), - autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/phraselists/{phraselistId}", pathParameters)) - if phraselistUpdateObject != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithJSON(phraselistUpdateObject)) - } - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// UpdatePhraseListSender sends the UpdatePhraseList request. The method will close the -// http.Response Body if it receives an error. -func (client FeaturesClient) UpdatePhraseListSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// UpdatePhraseListResponder handles the response to the UpdatePhraseList request. The method always -// closes the http.Response Body. -func (client FeaturesClient) UpdatePhraseListResponder(resp *http.Response) (result OperationStatus, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} diff --git a/services/cognitiveservices/v2.0/luis/programmatic/version.go b/services/cognitiveservices/v2.0/luis/programmatic/version.go deleted file mode 100644 index 5531b718a2f7..000000000000 --- a/services/cognitiveservices/v2.0/luis/programmatic/version.go +++ /dev/null @@ -1,30 +0,0 @@ -package programmatic - -import "github.com/Azure/azure-sdk-for-go/version" - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -// UserAgent returns the UserAgent string to use when sending http.Requests. -func UserAgent() string { - return "Azure-SDK-For-Go/" + version.Number + " programmatic/v2.0 preview" -} - -// Version returns the semantic version (see http://semver.org) of the client. -func Version() string { - return version.Number -} diff --git a/services/cognitiveservices/v3.1/customvision/training/client.go b/services/cognitiveservices/v3.1/customvision/training/client.go new file mode 100644 index 000000000000..d2e44f28285d --- /dev/null +++ b/services/cognitiveservices/v3.1/customvision/training/client.go @@ -0,0 +1,3930 @@ +// Package training implements the Azure ARM Training service API version 3.1. +// +// +package training + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "github.com/satori/go.uuid" + "io" + "net/http" +) + +// BaseClient is the base client for Training. +type BaseClient struct { + autorest.Client + APIKey string + Endpoint string +} + +// New creates an instance of the BaseClient client. +func New(aPIKey string, endpoint string) BaseClient { + return NewWithoutDefaults(aPIKey, endpoint) +} + +// NewWithoutDefaults creates an instance of the BaseClient client. +func NewWithoutDefaults(aPIKey string, endpoint string) BaseClient { + return BaseClient{ + Client: autorest.NewClientWithUserAgent(UserAgent()), + APIKey: aPIKey, + Endpoint: endpoint, + } +} + +// CreateImageRegions this API accepts a batch of image regions, and optionally tags, to update existing images with +// region information. +// There is a limit of 64 entries in the batch. +// Parameters: +// projectID - the project id. +// batch - batch of image regions which include a tag and bounding box. Limited to 64. +func (client BaseClient) CreateImageRegions(ctx context.Context, projectID uuid.UUID, batch ImageRegionCreateBatch) (result ImageRegionCreateSummary, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.CreateImageRegions") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateImageRegionsPreparer(ctx, projectID, batch) + if err != nil { + err = autorest.NewErrorWithError(err, "training.BaseClient", "CreateImageRegions", nil, "Failure preparing request") + return + } + + resp, err := client.CreateImageRegionsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "training.BaseClient", "CreateImageRegions", resp, "Failure sending request") + return + } + + result, err = client.CreateImageRegionsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "training.BaseClient", "CreateImageRegions", resp, "Failure responding to request") + } + + return +} + +// CreateImageRegionsPreparer prepares the CreateImageRegions request. +func (client BaseClient) CreateImageRegionsPreparer(ctx context.Context, projectID uuid.UUID, batch ImageRegionCreateBatch) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "Endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "projectId": autorest.Encode("path", projectID), + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithCustomBaseURL("{Endpoint}/customvision/v3.1/training", urlParameters), + autorest.WithPathParameters("/projects/{projectId}/images/regions", pathParameters), + autorest.WithJSON(batch), + autorest.WithHeader("Training-Key", client.APIKey)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateImageRegionsSender sends the CreateImageRegions request. The method will close the +// http.Response Body if it receives an error. +func (client BaseClient) CreateImageRegionsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// CreateImageRegionsResponder handles the response to the CreateImageRegions request. The method always +// closes the http.Response Body. +func (client BaseClient) CreateImageRegionsResponder(resp *http.Response) (result ImageRegionCreateSummary, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// CreateImagesFromData this API accepts body content as multipart/form-data and application/octet-stream. When using +// multipart +// multiple image files can be sent at once, with a maximum of 64 files +// Parameters: +// projectID - the project id. +// imageData - binary image data. Supported formats are JPEG, GIF, PNG, and BMP. Supports images up to 6MB. +// tagIds - the tags ids with which to tag each image. Limited to 20. +func (client BaseClient) CreateImagesFromData(ctx context.Context, projectID uuid.UUID, imageData io.ReadCloser, tagIds []uuid.UUID) (result ImageCreateSummary, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.CreateImagesFromData") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: tagIds, + Constraints: []validation.Constraint{{Target: "tagIds", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "tagIds", Name: validation.MaxItems, Rule: 20, Chain: nil}, + {Target: "tagIds", Name: validation.MinItems, Rule: 0, Chain: nil}, + }}}}}); err != nil { + return result, validation.NewError("training.BaseClient", "CreateImagesFromData", err.Error()) + } + + req, err := client.CreateImagesFromDataPreparer(ctx, projectID, imageData, tagIds) + if err != nil { + err = autorest.NewErrorWithError(err, "training.BaseClient", "CreateImagesFromData", nil, "Failure preparing request") + return + } + + resp, err := client.CreateImagesFromDataSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "training.BaseClient", "CreateImagesFromData", resp, "Failure sending request") + return + } + + result, err = client.CreateImagesFromDataResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "training.BaseClient", "CreateImagesFromData", resp, "Failure responding to request") + } + + return +} + +// CreateImagesFromDataPreparer prepares the CreateImagesFromData request. +func (client BaseClient) CreateImagesFromDataPreparer(ctx context.Context, projectID uuid.UUID, imageData io.ReadCloser, tagIds []uuid.UUID) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "Endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "projectId": autorest.Encode("path", projectID), + } + + queryParameters := map[string]interface{}{} + if tagIds != nil && len(tagIds) > 0 { + queryParameters["tagIds"] = autorest.Encode("query", tagIds, ",") + } + + formDataParameters := map[string]interface{}{ + "imageData": imageData, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithCustomBaseURL("{Endpoint}/customvision/v3.1/training", urlParameters), + autorest.WithPathParameters("/projects/{projectId}/images", pathParameters), + autorest.WithQueryParameters(queryParameters), + autorest.WithMultiPartFormData(formDataParameters), + autorest.WithHeader("Training-Key", client.APIKey)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateImagesFromDataSender sends the CreateImagesFromData request. The method will close the +// http.Response Body if it receives an error. +func (client BaseClient) CreateImagesFromDataSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// CreateImagesFromDataResponder handles the response to the CreateImagesFromData request. The method always +// closes the http.Response Body. +func (client BaseClient) CreateImagesFromDataResponder(resp *http.Response) (result ImageCreateSummary, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// CreateImagesFromFiles this API accepts a batch of files, and optionally tags, to create images. There is a limit of +// 64 images and 20 tags. +// Parameters: +// projectID - the project id. +// batch - the batch of image files to add. Limited to 64 images and 20 tags per batch. +func (client BaseClient) CreateImagesFromFiles(ctx context.Context, projectID uuid.UUID, batch ImageFileCreateBatch) (result ImageCreateSummary, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.CreateImagesFromFiles") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateImagesFromFilesPreparer(ctx, projectID, batch) + if err != nil { + err = autorest.NewErrorWithError(err, "training.BaseClient", "CreateImagesFromFiles", nil, "Failure preparing request") + return + } + + resp, err := client.CreateImagesFromFilesSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "training.BaseClient", "CreateImagesFromFiles", resp, "Failure sending request") + return + } + + result, err = client.CreateImagesFromFilesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "training.BaseClient", "CreateImagesFromFiles", resp, "Failure responding to request") + } + + return +} + +// CreateImagesFromFilesPreparer prepares the CreateImagesFromFiles request. +func (client BaseClient) CreateImagesFromFilesPreparer(ctx context.Context, projectID uuid.UUID, batch ImageFileCreateBatch) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "Endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "projectId": autorest.Encode("path", projectID), + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithCustomBaseURL("{Endpoint}/customvision/v3.1/training", urlParameters), + autorest.WithPathParameters("/projects/{projectId}/images/files", pathParameters), + autorest.WithJSON(batch), + autorest.WithHeader("Training-Key", client.APIKey)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateImagesFromFilesSender sends the CreateImagesFromFiles request. The method will close the +// http.Response Body if it receives an error. +func (client BaseClient) CreateImagesFromFilesSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// CreateImagesFromFilesResponder handles the response to the CreateImagesFromFiles request. The method always +// closes the http.Response Body. +func (client BaseClient) CreateImagesFromFilesResponder(resp *http.Response) (result ImageCreateSummary, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// CreateImagesFromPredictions this API creates a batch of images from predicted images specified. There is a limit of +// 64 images and 20 tags. +// Parameters: +// projectID - the project id. +// batch - image and tag ids. Limited to 64 images and 20 tags per batch. +func (client BaseClient) CreateImagesFromPredictions(ctx context.Context, projectID uuid.UUID, batch ImageIDCreateBatch) (result ImageCreateSummary, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.CreateImagesFromPredictions") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateImagesFromPredictionsPreparer(ctx, projectID, batch) + if err != nil { + err = autorest.NewErrorWithError(err, "training.BaseClient", "CreateImagesFromPredictions", nil, "Failure preparing request") + return + } + + resp, err := client.CreateImagesFromPredictionsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "training.BaseClient", "CreateImagesFromPredictions", resp, "Failure sending request") + return + } + + result, err = client.CreateImagesFromPredictionsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "training.BaseClient", "CreateImagesFromPredictions", resp, "Failure responding to request") + } + + return +} + +// CreateImagesFromPredictionsPreparer prepares the CreateImagesFromPredictions request. +func (client BaseClient) CreateImagesFromPredictionsPreparer(ctx context.Context, projectID uuid.UUID, batch ImageIDCreateBatch) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "Endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "projectId": autorest.Encode("path", projectID), + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithCustomBaseURL("{Endpoint}/customvision/v3.1/training", urlParameters), + autorest.WithPathParameters("/projects/{projectId}/images/predictions", pathParameters), + autorest.WithJSON(batch), + autorest.WithHeader("Training-Key", client.APIKey)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateImagesFromPredictionsSender sends the CreateImagesFromPredictions request. The method will close the +// http.Response Body if it receives an error. +func (client BaseClient) CreateImagesFromPredictionsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// CreateImagesFromPredictionsResponder handles the response to the CreateImagesFromPredictions request. The method always +// closes the http.Response Body. +func (client BaseClient) CreateImagesFromPredictionsResponder(resp *http.Response) (result ImageCreateSummary, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// CreateImagesFromUrls this API accepts a batch of urls, and optionally tags, to create images. There is a limit of 64 +// images and 20 tags. +// Parameters: +// projectID - the project id. +// batch - image urls and tag ids. Limited to 64 images and 20 tags per batch. +func (client BaseClient) CreateImagesFromUrls(ctx context.Context, projectID uuid.UUID, batch ImageURLCreateBatch) (result ImageCreateSummary, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.CreateImagesFromUrls") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateImagesFromUrlsPreparer(ctx, projectID, batch) + if err != nil { + err = autorest.NewErrorWithError(err, "training.BaseClient", "CreateImagesFromUrls", nil, "Failure preparing request") + return + } + + resp, err := client.CreateImagesFromUrlsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "training.BaseClient", "CreateImagesFromUrls", resp, "Failure sending request") + return + } + + result, err = client.CreateImagesFromUrlsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "training.BaseClient", "CreateImagesFromUrls", resp, "Failure responding to request") + } + + return +} + +// CreateImagesFromUrlsPreparer prepares the CreateImagesFromUrls request. +func (client BaseClient) CreateImagesFromUrlsPreparer(ctx context.Context, projectID uuid.UUID, batch ImageURLCreateBatch) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "Endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "projectId": autorest.Encode("path", projectID), + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithCustomBaseURL("{Endpoint}/customvision/v3.1/training", urlParameters), + autorest.WithPathParameters("/projects/{projectId}/images/urls", pathParameters), + autorest.WithJSON(batch), + autorest.WithHeader("Training-Key", client.APIKey)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateImagesFromUrlsSender sends the CreateImagesFromUrls request. The method will close the +// http.Response Body if it receives an error. +func (client BaseClient) CreateImagesFromUrlsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// CreateImagesFromUrlsResponder handles the response to the CreateImagesFromUrls request. The method always +// closes the http.Response Body. +func (client BaseClient) CreateImagesFromUrlsResponder(resp *http.Response) (result ImageCreateSummary, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// CreateImageTags sends the create image tags request. +// Parameters: +// projectID - the project id. +// batch - batch of image tags. Limited to 128 tags per batch. +func (client BaseClient) CreateImageTags(ctx context.Context, projectID uuid.UUID, batch ImageTagCreateBatch) (result ImageTagCreateSummary, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.CreateImageTags") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateImageTagsPreparer(ctx, projectID, batch) + if err != nil { + err = autorest.NewErrorWithError(err, "training.BaseClient", "CreateImageTags", nil, "Failure preparing request") + return + } + + resp, err := client.CreateImageTagsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "training.BaseClient", "CreateImageTags", resp, "Failure sending request") + return + } + + result, err = client.CreateImageTagsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "training.BaseClient", "CreateImageTags", resp, "Failure responding to request") + } + + return +} + +// CreateImageTagsPreparer prepares the CreateImageTags request. +func (client BaseClient) CreateImageTagsPreparer(ctx context.Context, projectID uuid.UUID, batch ImageTagCreateBatch) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "Endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "projectId": autorest.Encode("path", projectID), + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithCustomBaseURL("{Endpoint}/customvision/v3.1/training", urlParameters), + autorest.WithPathParameters("/projects/{projectId}/images/tags", pathParameters), + autorest.WithJSON(batch), + autorest.WithHeader("Training-Key", client.APIKey)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateImageTagsSender sends the CreateImageTags request. The method will close the +// http.Response Body if it receives an error. +func (client BaseClient) CreateImageTagsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// CreateImageTagsResponder handles the response to the CreateImageTags request. The method always +// closes the http.Response Body. +func (client BaseClient) CreateImageTagsResponder(resp *http.Response) (result ImageTagCreateSummary, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// CreateProject sends the create project request. +// Parameters: +// name - name of the project. +// description - the description of the project. +// domainID - the id of the domain to use for this project. Defaults to General. +// classificationType - the type of classifier to create for this project. +// targetExportPlatforms - list of platforms the trained model is intending exporting to. +func (client BaseClient) CreateProject(ctx context.Context, name string, description string, domainID *uuid.UUID, classificationType string, targetExportPlatforms []string) (result Project, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.CreateProject") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateProjectPreparer(ctx, name, description, domainID, classificationType, targetExportPlatforms) + if err != nil { + err = autorest.NewErrorWithError(err, "training.BaseClient", "CreateProject", nil, "Failure preparing request") + return + } + + resp, err := client.CreateProjectSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "training.BaseClient", "CreateProject", resp, "Failure sending request") + return + } + + result, err = client.CreateProjectResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "training.BaseClient", "CreateProject", resp, "Failure responding to request") + } + + return +} + +// CreateProjectPreparer prepares the CreateProject request. +func (client BaseClient) CreateProjectPreparer(ctx context.Context, name string, description string, domainID *uuid.UUID, classificationType string, targetExportPlatforms []string) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "Endpoint": client.Endpoint, + } + + queryParameters := map[string]interface{}{ + "name": autorest.Encode("query", name), + } + if len(description) > 0 { + queryParameters["description"] = autorest.Encode("query", description) + } + if domainID != nil { + queryParameters["domainId"] = autorest.Encode("query", *domainID) + } + if len(string(classificationType)) > 0 { + queryParameters["classificationType"] = autorest.Encode("query", classificationType) + } + if targetExportPlatforms != nil && len(targetExportPlatforms) > 0 { + queryParameters["targetExportPlatforms"] = autorest.Encode("query", targetExportPlatforms, ",") + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithCustomBaseURL("{Endpoint}/customvision/v3.1/training", urlParameters), + autorest.WithPath("/projects"), + autorest.WithQueryParameters(queryParameters), + autorest.WithHeader("Training-Key", client.APIKey)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateProjectSender sends the CreateProject request. The method will close the +// http.Response Body if it receives an error. +func (client BaseClient) CreateProjectSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// CreateProjectResponder handles the response to the CreateProject request. The method always +// closes the http.Response Body. +func (client BaseClient) CreateProjectResponder(resp *http.Response) (result Project, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// CreateTag sends the create tag request. +// Parameters: +// projectID - the project id. +// name - the tag name. +// description - optional description for the tag. +// typeParameter - optional type for the tag. +func (client BaseClient) CreateTag(ctx context.Context, projectID uuid.UUID, name string, description string, typeParameter string) (result Tag, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.CreateTag") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateTagPreparer(ctx, projectID, name, description, typeParameter) + if err != nil { + err = autorest.NewErrorWithError(err, "training.BaseClient", "CreateTag", nil, "Failure preparing request") + return + } + + resp, err := client.CreateTagSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "training.BaseClient", "CreateTag", resp, "Failure sending request") + return + } + + result, err = client.CreateTagResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "training.BaseClient", "CreateTag", resp, "Failure responding to request") + } + + return +} + +// CreateTagPreparer prepares the CreateTag request. +func (client BaseClient) CreateTagPreparer(ctx context.Context, projectID uuid.UUID, name string, description string, typeParameter string) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "Endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "projectId": autorest.Encode("path", projectID), + } + + queryParameters := map[string]interface{}{ + "name": autorest.Encode("query", name), + } + if len(description) > 0 { + queryParameters["description"] = autorest.Encode("query", description) + } + if len(string(typeParameter)) > 0 { + queryParameters["type"] = autorest.Encode("query", typeParameter) + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithCustomBaseURL("{Endpoint}/customvision/v3.1/training", urlParameters), + autorest.WithPathParameters("/projects/{projectId}/tags", pathParameters), + autorest.WithQueryParameters(queryParameters), + autorest.WithHeader("Training-Key", client.APIKey)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateTagSender sends the CreateTag request. The method will close the +// http.Response Body if it receives an error. +func (client BaseClient) CreateTagSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// CreateTagResponder handles the response to the CreateTag request. The method always +// closes the http.Response Body. +func (client BaseClient) CreateTagResponder(resp *http.Response) (result Tag, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// DeleteImageRegions sends the delete image regions request. +// Parameters: +// projectID - the project id. +// regionIds - regions to delete. Limited to 64. +func (client BaseClient) DeleteImageRegions(ctx context.Context, projectID uuid.UUID, regionIds []uuid.UUID) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.DeleteImageRegions") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: regionIds, + Constraints: []validation.Constraint{{Target: "regionIds", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "regionIds", Name: validation.MaxItems, Rule: 64, Chain: nil}, + {Target: "regionIds", Name: validation.MinItems, Rule: 0, Chain: nil}, + }}}}}); err != nil { + return result, validation.NewError("training.BaseClient", "DeleteImageRegions", err.Error()) + } + + req, err := client.DeleteImageRegionsPreparer(ctx, projectID, regionIds) + if err != nil { + err = autorest.NewErrorWithError(err, "training.BaseClient", "DeleteImageRegions", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteImageRegionsSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "training.BaseClient", "DeleteImageRegions", resp, "Failure sending request") + return + } + + result, err = client.DeleteImageRegionsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "training.BaseClient", "DeleteImageRegions", resp, "Failure responding to request") + } + + return +} + +// DeleteImageRegionsPreparer prepares the DeleteImageRegions request. +func (client BaseClient) DeleteImageRegionsPreparer(ctx context.Context, projectID uuid.UUID, regionIds []uuid.UUID) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "Endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "projectId": autorest.Encode("path", projectID), + } + + queryParameters := map[string]interface{}{ + "regionIds": autorest.Encode("query", regionIds, ","), + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithCustomBaseURL("{Endpoint}/customvision/v3.1/training", urlParameters), + autorest.WithPathParameters("/projects/{projectId}/images/regions", pathParameters), + autorest.WithQueryParameters(queryParameters), + autorest.WithHeader("Training-Key", client.APIKey)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteImageRegionsSender sends the DeleteImageRegions request. The method will close the +// http.Response Body if it receives an error. +func (client BaseClient) DeleteImageRegionsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeleteImageRegionsResponder handles the response to the DeleteImageRegions request. The method always +// closes the http.Response Body. +func (client BaseClient) DeleteImageRegionsResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// DeleteImages sends the delete images request. +// Parameters: +// projectID - the project id. +// imageIds - ids of the images to be deleted. Limited to 256 images per batch. +// allImages - flag to specify delete all images, specify this flag or a list of images. Using this flag will +// return a 202 response to indicate the images are being deleted. +// allIterations - removes these images from all iterations, not just the current workspace. Using this flag +// will return a 202 response to indicate the images are being deleted. +func (client BaseClient) DeleteImages(ctx context.Context, projectID uuid.UUID, imageIds []uuid.UUID, allImages *bool, allIterations *bool) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.DeleteImages") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: imageIds, + Constraints: []validation.Constraint{{Target: "imageIds", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "imageIds", Name: validation.MaxItems, Rule: 256, Chain: nil}, + {Target: "imageIds", Name: validation.MinItems, Rule: 0, Chain: nil}, + }}}}}); err != nil { + return result, validation.NewError("training.BaseClient", "DeleteImages", err.Error()) + } + + req, err := client.DeleteImagesPreparer(ctx, projectID, imageIds, allImages, allIterations) + if err != nil { + err = autorest.NewErrorWithError(err, "training.BaseClient", "DeleteImages", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteImagesSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "training.BaseClient", "DeleteImages", resp, "Failure sending request") + return + } + + result, err = client.DeleteImagesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "training.BaseClient", "DeleteImages", resp, "Failure responding to request") + } + + return +} + +// DeleteImagesPreparer prepares the DeleteImages request. +func (client BaseClient) DeleteImagesPreparer(ctx context.Context, projectID uuid.UUID, imageIds []uuid.UUID, allImages *bool, allIterations *bool) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "Endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "projectId": autorest.Encode("path", projectID), + } + + queryParameters := map[string]interface{}{} + if imageIds != nil && len(imageIds) > 0 { + queryParameters["imageIds"] = autorest.Encode("query", imageIds, ",") + } + if allImages != nil { + queryParameters["allImages"] = autorest.Encode("query", *allImages) + } + if allIterations != nil { + queryParameters["allIterations"] = autorest.Encode("query", *allIterations) + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithCustomBaseURL("{Endpoint}/customvision/v3.1/training", urlParameters), + autorest.WithPathParameters("/projects/{projectId}/images", pathParameters), + autorest.WithQueryParameters(queryParameters), + autorest.WithHeader("Training-Key", client.APIKey)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteImagesSender sends the DeleteImages request. The method will close the +// http.Response Body if it receives an error. +func (client BaseClient) DeleteImagesSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeleteImagesResponder handles the response to the DeleteImages request. The method always +// closes the http.Response Body. +func (client BaseClient) DeleteImagesResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// DeleteImageTags sends the delete image tags request. +// Parameters: +// projectID - the project id. +// imageIds - image ids. Limited to 64 images. +// tagIds - tags to be deleted from the specified images. Limited to 20 tags. +func (client BaseClient) DeleteImageTags(ctx context.Context, projectID uuid.UUID, imageIds []uuid.UUID, tagIds []uuid.UUID) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.DeleteImageTags") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: imageIds, + Constraints: []validation.Constraint{{Target: "imageIds", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "imageIds", Name: validation.MaxItems, Rule: 64, Chain: nil}, + {Target: "imageIds", Name: validation.MinItems, Rule: 0, Chain: nil}, + }}}}, + {TargetValue: tagIds, + Constraints: []validation.Constraint{{Target: "tagIds", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "tagIds", Name: validation.MaxItems, Rule: 20, Chain: nil}, + {Target: "tagIds", Name: validation.MinItems, Rule: 0, Chain: nil}, + }}}}}); err != nil { + return result, validation.NewError("training.BaseClient", "DeleteImageTags", err.Error()) + } + + req, err := client.DeleteImageTagsPreparer(ctx, projectID, imageIds, tagIds) + if err != nil { + err = autorest.NewErrorWithError(err, "training.BaseClient", "DeleteImageTags", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteImageTagsSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "training.BaseClient", "DeleteImageTags", resp, "Failure sending request") + return + } + + result, err = client.DeleteImageTagsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "training.BaseClient", "DeleteImageTags", resp, "Failure responding to request") + } + + return +} + +// DeleteImageTagsPreparer prepares the DeleteImageTags request. +func (client BaseClient) DeleteImageTagsPreparer(ctx context.Context, projectID uuid.UUID, imageIds []uuid.UUID, tagIds []uuid.UUID) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "Endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "projectId": autorest.Encode("path", projectID), + } + + queryParameters := map[string]interface{}{ + "imageIds": autorest.Encode("query", imageIds, ","), + "tagIds": autorest.Encode("query", tagIds, ","), + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithCustomBaseURL("{Endpoint}/customvision/v3.1/training", urlParameters), + autorest.WithPathParameters("/projects/{projectId}/images/tags", pathParameters), + autorest.WithQueryParameters(queryParameters), + autorest.WithHeader("Training-Key", client.APIKey)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteImageTagsSender sends the DeleteImageTags request. The method will close the +// http.Response Body if it receives an error. +func (client BaseClient) DeleteImageTagsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeleteImageTagsResponder handles the response to the DeleteImageTags request. The method always +// closes the http.Response Body. +func (client BaseClient) DeleteImageTagsResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// DeleteIteration sends the delete iteration request. +// Parameters: +// projectID - the project id. +// iterationID - the iteration id. +func (client BaseClient) DeleteIteration(ctx context.Context, projectID uuid.UUID, iterationID uuid.UUID) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.DeleteIteration") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeleteIterationPreparer(ctx, projectID, iterationID) + if err != nil { + err = autorest.NewErrorWithError(err, "training.BaseClient", "DeleteIteration", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteIterationSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "training.BaseClient", "DeleteIteration", resp, "Failure sending request") + return + } + + result, err = client.DeleteIterationResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "training.BaseClient", "DeleteIteration", resp, "Failure responding to request") + } + + return +} + +// DeleteIterationPreparer prepares the DeleteIteration request. +func (client BaseClient) DeleteIterationPreparer(ctx context.Context, projectID uuid.UUID, iterationID uuid.UUID) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "Endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "iterationId": autorest.Encode("path", iterationID), + "projectId": autorest.Encode("path", projectID), + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithCustomBaseURL("{Endpoint}/customvision/v3.1/training", urlParameters), + autorest.WithPathParameters("/projects/{projectId}/iterations/{iterationId}", pathParameters), + autorest.WithHeader("Training-Key", client.APIKey)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteIterationSender sends the DeleteIteration request. The method will close the +// http.Response Body if it receives an error. +func (client BaseClient) DeleteIterationSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeleteIterationResponder handles the response to the DeleteIteration request. The method always +// closes the http.Response Body. +func (client BaseClient) DeleteIterationResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// DeletePrediction sends the delete prediction request. +// Parameters: +// projectID - the project id. +// ids - the prediction ids. Limited to 64. +func (client BaseClient) DeletePrediction(ctx context.Context, projectID uuid.UUID, ids []uuid.UUID) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.DeletePrediction") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: ids, + Constraints: []validation.Constraint{{Target: "ids", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "ids", Name: validation.MaxItems, Rule: 64, Chain: nil}, + {Target: "ids", Name: validation.MinItems, Rule: 0, Chain: nil}, + }}}}}); err != nil { + return result, validation.NewError("training.BaseClient", "DeletePrediction", err.Error()) + } + + req, err := client.DeletePredictionPreparer(ctx, projectID, ids) + if err != nil { + err = autorest.NewErrorWithError(err, "training.BaseClient", "DeletePrediction", nil, "Failure preparing request") + return + } + + resp, err := client.DeletePredictionSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "training.BaseClient", "DeletePrediction", resp, "Failure sending request") + return + } + + result, err = client.DeletePredictionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "training.BaseClient", "DeletePrediction", resp, "Failure responding to request") + } + + return +} + +// DeletePredictionPreparer prepares the DeletePrediction request. +func (client BaseClient) DeletePredictionPreparer(ctx context.Context, projectID uuid.UUID, ids []uuid.UUID) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "Endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "projectId": autorest.Encode("path", projectID), + } + + queryParameters := map[string]interface{}{ + "ids": autorest.Encode("query", ids, ","), + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithCustomBaseURL("{Endpoint}/customvision/v3.1/training", urlParameters), + autorest.WithPathParameters("/projects/{projectId}/predictions", pathParameters), + autorest.WithQueryParameters(queryParameters), + autorest.WithHeader("Training-Key", client.APIKey)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeletePredictionSender sends the DeletePrediction request. The method will close the +// http.Response Body if it receives an error. +func (client BaseClient) DeletePredictionSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeletePredictionResponder handles the response to the DeletePrediction request. The method always +// closes the http.Response Body. +func (client BaseClient) DeletePredictionResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// DeleteProject sends the delete project request. +// Parameters: +// projectID - the project id. +func (client BaseClient) DeleteProject(ctx context.Context, projectID uuid.UUID) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.DeleteProject") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeleteProjectPreparer(ctx, projectID) + if err != nil { + err = autorest.NewErrorWithError(err, "training.BaseClient", "DeleteProject", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteProjectSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "training.BaseClient", "DeleteProject", resp, "Failure sending request") + return + } + + result, err = client.DeleteProjectResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "training.BaseClient", "DeleteProject", resp, "Failure responding to request") + } + + return +} + +// DeleteProjectPreparer prepares the DeleteProject request. +func (client BaseClient) DeleteProjectPreparer(ctx context.Context, projectID uuid.UUID) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "Endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "projectId": autorest.Encode("path", projectID), + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithCustomBaseURL("{Endpoint}/customvision/v3.1/training", urlParameters), + autorest.WithPathParameters("/projects/{projectId}", pathParameters), + autorest.WithHeader("Training-Key", client.APIKey)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteProjectSender sends the DeleteProject request. The method will close the +// http.Response Body if it receives an error. +func (client BaseClient) DeleteProjectSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeleteProjectResponder handles the response to the DeleteProject request. The method always +// closes the http.Response Body. +func (client BaseClient) DeleteProjectResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// DeleteTag sends the delete tag request. +// Parameters: +// projectID - the project id. +// tagID - id of the tag to be deleted. +func (client BaseClient) DeleteTag(ctx context.Context, projectID uuid.UUID, tagID uuid.UUID) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.DeleteTag") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeleteTagPreparer(ctx, projectID, tagID) + if err != nil { + err = autorest.NewErrorWithError(err, "training.BaseClient", "DeleteTag", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteTagSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "training.BaseClient", "DeleteTag", resp, "Failure sending request") + return + } + + result, err = client.DeleteTagResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "training.BaseClient", "DeleteTag", resp, "Failure responding to request") + } + + return +} + +// DeleteTagPreparer prepares the DeleteTag request. +func (client BaseClient) DeleteTagPreparer(ctx context.Context, projectID uuid.UUID, tagID uuid.UUID) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "Endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "projectId": autorest.Encode("path", projectID), + "tagId": autorest.Encode("path", tagID), + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithCustomBaseURL("{Endpoint}/customvision/v3.1/training", urlParameters), + autorest.WithPathParameters("/projects/{projectId}/tags/{tagId}", pathParameters), + autorest.WithHeader("Training-Key", client.APIKey)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteTagSender sends the DeleteTag request. The method will close the +// http.Response Body if it receives an error. +func (client BaseClient) DeleteTagSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeleteTagResponder handles the response to the DeleteTag request. The method always +// closes the http.Response Body. +func (client BaseClient) DeleteTagResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// ExportIteration sends the export iteration request. +// Parameters: +// projectID - the project id. +// iterationID - the iteration id. +// platform - the target platform. +// flavor - the flavor of the target platform. +func (client BaseClient) ExportIteration(ctx context.Context, projectID uuid.UUID, iterationID uuid.UUID, platform string, flavor string) (result Export, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.ExportIteration") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ExportIterationPreparer(ctx, projectID, iterationID, platform, flavor) + if err != nil { + err = autorest.NewErrorWithError(err, "training.BaseClient", "ExportIteration", nil, "Failure preparing request") + return + } + + resp, err := client.ExportIterationSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "training.BaseClient", "ExportIteration", resp, "Failure sending request") + return + } + + result, err = client.ExportIterationResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "training.BaseClient", "ExportIteration", resp, "Failure responding to request") + } + + return +} + +// ExportIterationPreparer prepares the ExportIteration request. +func (client BaseClient) ExportIterationPreparer(ctx context.Context, projectID uuid.UUID, iterationID uuid.UUID, platform string, flavor string) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "Endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "iterationId": autorest.Encode("path", iterationID), + "projectId": autorest.Encode("path", projectID), + } + + queryParameters := map[string]interface{}{ + "platform": autorest.Encode("query", platform), + } + if len(string(flavor)) > 0 { + queryParameters["flavor"] = autorest.Encode("query", flavor) + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithCustomBaseURL("{Endpoint}/customvision/v3.1/training", urlParameters), + autorest.WithPathParameters("/projects/{projectId}/iterations/{iterationId}/export", pathParameters), + autorest.WithQueryParameters(queryParameters), + autorest.WithHeader("Training-Key", client.APIKey)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ExportIterationSender sends the ExportIteration request. The method will close the +// http.Response Body if it receives an error. +func (client BaseClient) ExportIterationSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// ExportIterationResponder handles the response to the ExportIteration request. The method always +// closes the http.Response Body. +func (client BaseClient) ExportIterationResponder(resp *http.Response) (result Export, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetDomain sends the get domain request. +// Parameters: +// domainID - the id of the domain to get information about. +func (client BaseClient) GetDomain(ctx context.Context, domainID uuid.UUID) (result Domain, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.GetDomain") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetDomainPreparer(ctx, domainID) + if err != nil { + err = autorest.NewErrorWithError(err, "training.BaseClient", "GetDomain", nil, "Failure preparing request") + return + } + + resp, err := client.GetDomainSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "training.BaseClient", "GetDomain", resp, "Failure sending request") + return + } + + result, err = client.GetDomainResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "training.BaseClient", "GetDomain", resp, "Failure responding to request") + } + + return +} + +// GetDomainPreparer prepares the GetDomain request. +func (client BaseClient) GetDomainPreparer(ctx context.Context, domainID uuid.UUID) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "Endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "domainId": autorest.Encode("path", domainID), + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithCustomBaseURL("{Endpoint}/customvision/v3.1/training", urlParameters), + autorest.WithPathParameters("/domains/{domainId}", pathParameters), + autorest.WithHeader("Training-Key", client.APIKey)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetDomainSender sends the GetDomain request. The method will close the +// http.Response Body if it receives an error. +func (client BaseClient) GetDomainSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetDomainResponder handles the response to the GetDomain request. The method always +// closes the http.Response Body. +func (client BaseClient) GetDomainResponder(resp *http.Response) (result Domain, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetDomains sends the get domains request. +func (client BaseClient) GetDomains(ctx context.Context) (result ListDomain, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.GetDomains") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetDomainsPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "training.BaseClient", "GetDomains", nil, "Failure preparing request") + return + } + + resp, err := client.GetDomainsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "training.BaseClient", "GetDomains", resp, "Failure sending request") + return + } + + result, err = client.GetDomainsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "training.BaseClient", "GetDomains", resp, "Failure responding to request") + } + + return +} + +// GetDomainsPreparer prepares the GetDomains request. +func (client BaseClient) GetDomainsPreparer(ctx context.Context) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "Endpoint": client.Endpoint, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithCustomBaseURL("{Endpoint}/customvision/v3.1/training", urlParameters), + autorest.WithPath("/domains"), + autorest.WithHeader("Training-Key", client.APIKey)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetDomainsSender sends the GetDomains request. The method will close the +// http.Response Body if it receives an error. +func (client BaseClient) GetDomainsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetDomainsResponder handles the response to the GetDomains request. The method always +// closes the http.Response Body. +func (client BaseClient) GetDomainsResponder(resp *http.Response) (result ListDomain, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result.Value), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetExports sends the get exports request. +// Parameters: +// projectID - the project id. +// iterationID - the iteration id. +func (client BaseClient) GetExports(ctx context.Context, projectID uuid.UUID, iterationID uuid.UUID) (result ListExport, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.GetExports") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetExportsPreparer(ctx, projectID, iterationID) + if err != nil { + err = autorest.NewErrorWithError(err, "training.BaseClient", "GetExports", nil, "Failure preparing request") + return + } + + resp, err := client.GetExportsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "training.BaseClient", "GetExports", resp, "Failure sending request") + return + } + + result, err = client.GetExportsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "training.BaseClient", "GetExports", resp, "Failure responding to request") + } + + return +} + +// GetExportsPreparer prepares the GetExports request. +func (client BaseClient) GetExportsPreparer(ctx context.Context, projectID uuid.UUID, iterationID uuid.UUID) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "Endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "iterationId": autorest.Encode("path", iterationID), + "projectId": autorest.Encode("path", projectID), + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithCustomBaseURL("{Endpoint}/customvision/v3.1/training", urlParameters), + autorest.WithPathParameters("/projects/{projectId}/iterations/{iterationId}/export", pathParameters), + autorest.WithHeader("Training-Key", client.APIKey)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetExportsSender sends the GetExports request. The method will close the +// http.Response Body if it receives an error. +func (client BaseClient) GetExportsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetExportsResponder handles the response to the GetExports request. The method always +// closes the http.Response Body. +func (client BaseClient) GetExportsResponder(resp *http.Response) (result ListExport, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result.Value), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetImagePerformanceCount the filtering is on an and/or relationship. For example, if the provided tag ids are for +// the "Dog" and +// "Cat" tags, then only images tagged with Dog and/or Cat will be returned +// Parameters: +// projectID - the project id. +// iterationID - the iteration id. Defaults to workspace. +// tagIds - a list of tags ids to filter the images to count. Defaults to all tags when null. +func (client BaseClient) GetImagePerformanceCount(ctx context.Context, projectID uuid.UUID, iterationID uuid.UUID, tagIds []uuid.UUID) (result Int32, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.GetImagePerformanceCount") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetImagePerformanceCountPreparer(ctx, projectID, iterationID, tagIds) + if err != nil { + err = autorest.NewErrorWithError(err, "training.BaseClient", "GetImagePerformanceCount", nil, "Failure preparing request") + return + } + + resp, err := client.GetImagePerformanceCountSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "training.BaseClient", "GetImagePerformanceCount", resp, "Failure sending request") + return + } + + result, err = client.GetImagePerformanceCountResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "training.BaseClient", "GetImagePerformanceCount", resp, "Failure responding to request") + } + + return +} + +// GetImagePerformanceCountPreparer prepares the GetImagePerformanceCount request. +func (client BaseClient) GetImagePerformanceCountPreparer(ctx context.Context, projectID uuid.UUID, iterationID uuid.UUID, tagIds []uuid.UUID) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "Endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "iterationId": autorest.Encode("path", iterationID), + "projectId": autorest.Encode("path", projectID), + } + + queryParameters := map[string]interface{}{} + if tagIds != nil && len(tagIds) > 0 { + queryParameters["tagIds"] = autorest.Encode("query", tagIds, ",") + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithCustomBaseURL("{Endpoint}/customvision/v3.1/training", urlParameters), + autorest.WithPathParameters("/projects/{projectId}/iterations/{iterationId}/performance/images/count", pathParameters), + autorest.WithQueryParameters(queryParameters), + autorest.WithHeader("Training-Key", client.APIKey)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetImagePerformanceCountSender sends the GetImagePerformanceCount request. The method will close the +// http.Response Body if it receives an error. +func (client BaseClient) GetImagePerformanceCountSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetImagePerformanceCountResponder handles the response to the GetImagePerformanceCount request. The method always +// closes the http.Response Body. +func (client BaseClient) GetImagePerformanceCountResponder(resp *http.Response) (result Int32, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result.Value), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetImagePerformances this API supports batching and range selection. By default it will only return first 50 images +// matching images. +// Use the {take} and {skip} parameters to control how many images to return in a given batch. +// The filtering is on an and/or relationship. For example, if the provided tag ids are for the "Dog" and +// "Cat" tags, then only images tagged with Dog and/or Cat will be returned +// Parameters: +// projectID - the project id. +// iterationID - the iteration id. Defaults to workspace. +// tagIds - a list of tags ids to filter the images. Defaults to all tagged images when null. Limited to 20. +// orderBy - the ordering. Defaults to newest. +// take - maximum number of images to return. Defaults to 50, limited to 256. +// skip - number of images to skip before beginning the image batch. Defaults to 0. +func (client BaseClient) GetImagePerformances(ctx context.Context, projectID uuid.UUID, iterationID uuid.UUID, tagIds []uuid.UUID, orderBy string, take *int32, skip *int32) (result ListImagePerformance, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.GetImagePerformances") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: tagIds, + Constraints: []validation.Constraint{{Target: "tagIds", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "tagIds", Name: validation.MaxItems, Rule: 20, Chain: nil}, + {Target: "tagIds", Name: validation.MinItems, Rule: 0, Chain: nil}, + }}}}, + {TargetValue: take, + Constraints: []validation.Constraint{{Target: "take", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "take", Name: validation.InclusiveMaximum, Rule: int64(256), Chain: nil}, + {Target: "take", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}, + }}}}}); err != nil { + return result, validation.NewError("training.BaseClient", "GetImagePerformances", err.Error()) + } + + req, err := client.GetImagePerformancesPreparer(ctx, projectID, iterationID, tagIds, orderBy, take, skip) + if err != nil { + err = autorest.NewErrorWithError(err, "training.BaseClient", "GetImagePerformances", nil, "Failure preparing request") + return + } + + resp, err := client.GetImagePerformancesSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "training.BaseClient", "GetImagePerformances", resp, "Failure sending request") + return + } + + result, err = client.GetImagePerformancesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "training.BaseClient", "GetImagePerformances", resp, "Failure responding to request") + } + + return +} + +// GetImagePerformancesPreparer prepares the GetImagePerformances request. +func (client BaseClient) GetImagePerformancesPreparer(ctx context.Context, projectID uuid.UUID, iterationID uuid.UUID, tagIds []uuid.UUID, orderBy string, take *int32, skip *int32) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "Endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "iterationId": autorest.Encode("path", iterationID), + "projectId": autorest.Encode("path", projectID), + } + + queryParameters := map[string]interface{}{} + if tagIds != nil && len(tagIds) > 0 { + queryParameters["tagIds"] = autorest.Encode("query", tagIds, ",") + } + if len(string(orderBy)) > 0 { + queryParameters["orderBy"] = autorest.Encode("query", orderBy) + } + if take != nil { + queryParameters["take"] = autorest.Encode("query", *take) + } else { + queryParameters["take"] = autorest.Encode("query", 50) + } + if skip != nil { + queryParameters["skip"] = autorest.Encode("query", *skip) + } else { + queryParameters["skip"] = autorest.Encode("query", 0) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithCustomBaseURL("{Endpoint}/customvision/v3.1/training", urlParameters), + autorest.WithPathParameters("/projects/{projectId}/iterations/{iterationId}/performance/images", pathParameters), + autorest.WithQueryParameters(queryParameters), + autorest.WithHeader("Training-Key", client.APIKey)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetImagePerformancesSender sends the GetImagePerformances request. The method will close the +// http.Response Body if it receives an error. +func (client BaseClient) GetImagePerformancesSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetImagePerformancesResponder handles the response to the GetImagePerformances request. The method always +// closes the http.Response Body. +func (client BaseClient) GetImagePerformancesResponder(resp *http.Response) (result ListImagePerformance, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result.Value), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetImageRegionProposals this API will get region proposals for an image along with confidences for the region. It +// returns an empty array if no proposals are found. +// Parameters: +// projectID - the project id. +// imageID - the image id. +func (client BaseClient) GetImageRegionProposals(ctx context.Context, projectID uuid.UUID, imageID uuid.UUID) (result ImageRegionProposal, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.GetImageRegionProposals") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetImageRegionProposalsPreparer(ctx, projectID, imageID) + if err != nil { + err = autorest.NewErrorWithError(err, "training.BaseClient", "GetImageRegionProposals", nil, "Failure preparing request") + return + } + + resp, err := client.GetImageRegionProposalsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "training.BaseClient", "GetImageRegionProposals", resp, "Failure sending request") + return + } + + result, err = client.GetImageRegionProposalsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "training.BaseClient", "GetImageRegionProposals", resp, "Failure responding to request") + } + + return +} + +// GetImageRegionProposalsPreparer prepares the GetImageRegionProposals request. +func (client BaseClient) GetImageRegionProposalsPreparer(ctx context.Context, projectID uuid.UUID, imageID uuid.UUID) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "Endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "imageId": autorest.Encode("path", imageID), + "projectId": autorest.Encode("path", projectID), + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithCustomBaseURL("{Endpoint}/customvision/v3.1/training", urlParameters), + autorest.WithPathParameters("/projects/{projectId}/images/{imageId}/regionproposals", pathParameters), + autorest.WithHeader("Training-Key", client.APIKey)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetImageRegionProposalsSender sends the GetImageRegionProposals request. The method will close the +// http.Response Body if it receives an error. +func (client BaseClient) GetImageRegionProposalsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetImageRegionProposalsResponder handles the response to the GetImageRegionProposals request. The method always +// closes the http.Response Body. +func (client BaseClient) GetImageRegionProposalsResponder(resp *http.Response) (result ImageRegionProposal, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetImagesByIds this API will return a set of Images for the specified tags and optionally iteration. If no iteration +// is specified the +// current workspace is used. +// Parameters: +// projectID - the project id. +// imageIds - the list of image ids to retrieve. Limited to 256. +// iterationID - the iteration id. Defaults to workspace. +func (client BaseClient) GetImagesByIds(ctx context.Context, projectID uuid.UUID, imageIds []uuid.UUID, iterationID *uuid.UUID) (result ListImage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.GetImagesByIds") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: imageIds, + Constraints: []validation.Constraint{{Target: "imageIds", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "imageIds", Name: validation.MaxItems, Rule: 256, Chain: nil}, + {Target: "imageIds", Name: validation.MinItems, Rule: 0, Chain: nil}, + }}}}}); err != nil { + return result, validation.NewError("training.BaseClient", "GetImagesByIds", err.Error()) + } + + req, err := client.GetImagesByIdsPreparer(ctx, projectID, imageIds, iterationID) + if err != nil { + err = autorest.NewErrorWithError(err, "training.BaseClient", "GetImagesByIds", nil, "Failure preparing request") + return + } + + resp, err := client.GetImagesByIdsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "training.BaseClient", "GetImagesByIds", resp, "Failure sending request") + return + } + + result, err = client.GetImagesByIdsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "training.BaseClient", "GetImagesByIds", resp, "Failure responding to request") + } + + return +} + +// GetImagesByIdsPreparer prepares the GetImagesByIds request. +func (client BaseClient) GetImagesByIdsPreparer(ctx context.Context, projectID uuid.UUID, imageIds []uuid.UUID, iterationID *uuid.UUID) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "Endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "projectId": autorest.Encode("path", projectID), + } + + queryParameters := map[string]interface{}{} + if imageIds != nil && len(imageIds) > 0 { + queryParameters["imageIds"] = autorest.Encode("query", imageIds, ",") + } + if iterationID != nil { + queryParameters["iterationId"] = autorest.Encode("query", *iterationID) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithCustomBaseURL("{Endpoint}/customvision/v3.1/training", urlParameters), + autorest.WithPathParameters("/projects/{projectId}/images/id", pathParameters), + autorest.WithQueryParameters(queryParameters), + autorest.WithHeader("Training-Key", client.APIKey)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetImagesByIdsSender sends the GetImagesByIds request. The method will close the +// http.Response Body if it receives an error. +func (client BaseClient) GetImagesByIdsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetImagesByIdsResponder handles the response to the GetImagesByIds request. The method always +// closes the http.Response Body. +func (client BaseClient) GetImagesByIdsResponder(resp *http.Response) (result ListImage, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result.Value), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetIteration sends the get iteration request. +// Parameters: +// projectID - the id of the project the iteration belongs to. +// iterationID - the id of the iteration to get. +func (client BaseClient) GetIteration(ctx context.Context, projectID uuid.UUID, iterationID uuid.UUID) (result Iteration, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.GetIteration") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetIterationPreparer(ctx, projectID, iterationID) + if err != nil { + err = autorest.NewErrorWithError(err, "training.BaseClient", "GetIteration", nil, "Failure preparing request") + return + } + + resp, err := client.GetIterationSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "training.BaseClient", "GetIteration", resp, "Failure sending request") + return + } + + result, err = client.GetIterationResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "training.BaseClient", "GetIteration", resp, "Failure responding to request") + } + + return +} + +// GetIterationPreparer prepares the GetIteration request. +func (client BaseClient) GetIterationPreparer(ctx context.Context, projectID uuid.UUID, iterationID uuid.UUID) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "Endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "iterationId": autorest.Encode("path", iterationID), + "projectId": autorest.Encode("path", projectID), + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithCustomBaseURL("{Endpoint}/customvision/v3.1/training", urlParameters), + autorest.WithPathParameters("/projects/{projectId}/iterations/{iterationId}", pathParameters), + autorest.WithHeader("Training-Key", client.APIKey)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetIterationSender sends the GetIteration request. The method will close the +// http.Response Body if it receives an error. +func (client BaseClient) GetIterationSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetIterationResponder handles the response to the GetIteration request. The method always +// closes the http.Response Body. +func (client BaseClient) GetIterationResponder(resp *http.Response) (result Iteration, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetIterationPerformance sends the get iteration performance request. +// Parameters: +// projectID - the id of the project the iteration belongs to. +// iterationID - the id of the iteration to get. +// threshold - the threshold used to determine true predictions. +// overlapThreshold - if applicable, the bounding box overlap threshold used to determine true predictions. +func (client BaseClient) GetIterationPerformance(ctx context.Context, projectID uuid.UUID, iterationID uuid.UUID, threshold *float64, overlapThreshold *float64) (result IterationPerformance, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.GetIterationPerformance") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetIterationPerformancePreparer(ctx, projectID, iterationID, threshold, overlapThreshold) + if err != nil { + err = autorest.NewErrorWithError(err, "training.BaseClient", "GetIterationPerformance", nil, "Failure preparing request") + return + } + + resp, err := client.GetIterationPerformanceSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "training.BaseClient", "GetIterationPerformance", resp, "Failure sending request") + return + } + + result, err = client.GetIterationPerformanceResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "training.BaseClient", "GetIterationPerformance", resp, "Failure responding to request") + } + + return +} + +// GetIterationPerformancePreparer prepares the GetIterationPerformance request. +func (client BaseClient) GetIterationPerformancePreparer(ctx context.Context, projectID uuid.UUID, iterationID uuid.UUID, threshold *float64, overlapThreshold *float64) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "Endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "iterationId": autorest.Encode("path", iterationID), + "projectId": autorest.Encode("path", projectID), + } + + queryParameters := map[string]interface{}{} + if threshold != nil { + queryParameters["threshold"] = autorest.Encode("query", *threshold) + } + if overlapThreshold != nil { + queryParameters["overlapThreshold"] = autorest.Encode("query", *overlapThreshold) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithCustomBaseURL("{Endpoint}/customvision/v3.1/training", urlParameters), + autorest.WithPathParameters("/projects/{projectId}/iterations/{iterationId}/performance", pathParameters), + autorest.WithQueryParameters(queryParameters), + autorest.WithHeader("Training-Key", client.APIKey)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetIterationPerformanceSender sends the GetIterationPerformance request. The method will close the +// http.Response Body if it receives an error. +func (client BaseClient) GetIterationPerformanceSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetIterationPerformanceResponder handles the response to the GetIterationPerformance request. The method always +// closes the http.Response Body. +func (client BaseClient) GetIterationPerformanceResponder(resp *http.Response) (result IterationPerformance, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetIterations sends the get iterations request. +// Parameters: +// projectID - the project id. +func (client BaseClient) GetIterations(ctx context.Context, projectID uuid.UUID) (result ListIteration, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.GetIterations") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetIterationsPreparer(ctx, projectID) + if err != nil { + err = autorest.NewErrorWithError(err, "training.BaseClient", "GetIterations", nil, "Failure preparing request") + return + } + + resp, err := client.GetIterationsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "training.BaseClient", "GetIterations", resp, "Failure sending request") + return + } + + result, err = client.GetIterationsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "training.BaseClient", "GetIterations", resp, "Failure responding to request") + } + + return +} + +// GetIterationsPreparer prepares the GetIterations request. +func (client BaseClient) GetIterationsPreparer(ctx context.Context, projectID uuid.UUID) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "Endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "projectId": autorest.Encode("path", projectID), + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithCustomBaseURL("{Endpoint}/customvision/v3.1/training", urlParameters), + autorest.WithPathParameters("/projects/{projectId}/iterations", pathParameters), + autorest.WithHeader("Training-Key", client.APIKey)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetIterationsSender sends the GetIterations request. The method will close the +// http.Response Body if it receives an error. +func (client BaseClient) GetIterationsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetIterationsResponder handles the response to the GetIterations request. The method always +// closes the http.Response Body. +func (client BaseClient) GetIterationsResponder(resp *http.Response) (result ListIteration, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result.Value), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetProject sends the get project request. +// Parameters: +// projectID - the id of the project to get. +func (client BaseClient) GetProject(ctx context.Context, projectID uuid.UUID) (result Project, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.GetProject") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetProjectPreparer(ctx, projectID) + if err != nil { + err = autorest.NewErrorWithError(err, "training.BaseClient", "GetProject", nil, "Failure preparing request") + return + } + + resp, err := client.GetProjectSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "training.BaseClient", "GetProject", resp, "Failure sending request") + return + } + + result, err = client.GetProjectResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "training.BaseClient", "GetProject", resp, "Failure responding to request") + } + + return +} + +// GetProjectPreparer prepares the GetProject request. +func (client BaseClient) GetProjectPreparer(ctx context.Context, projectID uuid.UUID) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "Endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "projectId": autorest.Encode("path", projectID), + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithCustomBaseURL("{Endpoint}/customvision/v3.1/training", urlParameters), + autorest.WithPathParameters("/projects/{projectId}", pathParameters), + autorest.WithHeader("Training-Key", client.APIKey)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetProjectSender sends the GetProject request. The method will close the +// http.Response Body if it receives an error. +func (client BaseClient) GetProjectSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetProjectResponder handles the response to the GetProject request. The method always +// closes the http.Response Body. +func (client BaseClient) GetProjectResponder(resp *http.Response) (result Project, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetProjects sends the get projects request. +func (client BaseClient) GetProjects(ctx context.Context) (result ListProject, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.GetProjects") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetProjectsPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "training.BaseClient", "GetProjects", nil, "Failure preparing request") + return + } + + resp, err := client.GetProjectsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "training.BaseClient", "GetProjects", resp, "Failure sending request") + return + } + + result, err = client.GetProjectsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "training.BaseClient", "GetProjects", resp, "Failure responding to request") + } + + return +} + +// GetProjectsPreparer prepares the GetProjects request. +func (client BaseClient) GetProjectsPreparer(ctx context.Context) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "Endpoint": client.Endpoint, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithCustomBaseURL("{Endpoint}/customvision/v3.1/training", urlParameters), + autorest.WithPath("/projects"), + autorest.WithHeader("Training-Key", client.APIKey)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetProjectsSender sends the GetProjects request. The method will close the +// http.Response Body if it receives an error. +func (client BaseClient) GetProjectsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetProjectsResponder handles the response to the GetProjects request. The method always +// closes the http.Response Body. +func (client BaseClient) GetProjectsResponder(resp *http.Response) (result ListProject, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result.Value), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetTag sends the get tag request. +// Parameters: +// projectID - the project this tag belongs to. +// tagID - the tag id. +// iterationID - the iteration to retrieve this tag from. Optional, defaults to current training set. +func (client BaseClient) GetTag(ctx context.Context, projectID uuid.UUID, tagID uuid.UUID, iterationID *uuid.UUID) (result Tag, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.GetTag") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetTagPreparer(ctx, projectID, tagID, iterationID) + if err != nil { + err = autorest.NewErrorWithError(err, "training.BaseClient", "GetTag", nil, "Failure preparing request") + return + } + + resp, err := client.GetTagSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "training.BaseClient", "GetTag", resp, "Failure sending request") + return + } + + result, err = client.GetTagResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "training.BaseClient", "GetTag", resp, "Failure responding to request") + } + + return +} + +// GetTagPreparer prepares the GetTag request. +func (client BaseClient) GetTagPreparer(ctx context.Context, projectID uuid.UUID, tagID uuid.UUID, iterationID *uuid.UUID) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "Endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "projectId": autorest.Encode("path", projectID), + "tagId": autorest.Encode("path", tagID), + } + + queryParameters := map[string]interface{}{} + if iterationID != nil { + queryParameters["iterationId"] = autorest.Encode("query", *iterationID) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithCustomBaseURL("{Endpoint}/customvision/v3.1/training", urlParameters), + autorest.WithPathParameters("/projects/{projectId}/tags/{tagId}", pathParameters), + autorest.WithQueryParameters(queryParameters), + autorest.WithHeader("Training-Key", client.APIKey)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetTagSender sends the GetTag request. The method will close the +// http.Response Body if it receives an error. +func (client BaseClient) GetTagSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetTagResponder handles the response to the GetTag request. The method always +// closes the http.Response Body. +func (client BaseClient) GetTagResponder(resp *http.Response) (result Tag, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetTaggedImageCount the filtering is on an and/or relationship. For example, if the provided tag ids are for the +// "Dog" and +// "Cat" tags, then only images tagged with Dog and/or Cat will be returned +// Parameters: +// projectID - the project id. +// iterationID - the iteration id. Defaults to workspace. +// tagIds - a list of tags ids to filter the images to count. Defaults to all tags when null. +func (client BaseClient) GetTaggedImageCount(ctx context.Context, projectID uuid.UUID, iterationID *uuid.UUID, tagIds []uuid.UUID) (result Int32, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.GetTaggedImageCount") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetTaggedImageCountPreparer(ctx, projectID, iterationID, tagIds) + if err != nil { + err = autorest.NewErrorWithError(err, "training.BaseClient", "GetTaggedImageCount", nil, "Failure preparing request") + return + } + + resp, err := client.GetTaggedImageCountSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "training.BaseClient", "GetTaggedImageCount", resp, "Failure sending request") + return + } + + result, err = client.GetTaggedImageCountResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "training.BaseClient", "GetTaggedImageCount", resp, "Failure responding to request") + } + + return +} + +// GetTaggedImageCountPreparer prepares the GetTaggedImageCount request. +func (client BaseClient) GetTaggedImageCountPreparer(ctx context.Context, projectID uuid.UUID, iterationID *uuid.UUID, tagIds []uuid.UUID) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "Endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "projectId": autorest.Encode("path", projectID), + } + + queryParameters := map[string]interface{}{} + if iterationID != nil { + queryParameters["iterationId"] = autorest.Encode("query", *iterationID) + } + if tagIds != nil && len(tagIds) > 0 { + queryParameters["tagIds"] = autorest.Encode("query", tagIds, ",") + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithCustomBaseURL("{Endpoint}/customvision/v3.1/training", urlParameters), + autorest.WithPathParameters("/projects/{projectId}/images/tagged/count", pathParameters), + autorest.WithQueryParameters(queryParameters), + autorest.WithHeader("Training-Key", client.APIKey)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetTaggedImageCountSender sends the GetTaggedImageCount request. The method will close the +// http.Response Body if it receives an error. +func (client BaseClient) GetTaggedImageCountSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetTaggedImageCountResponder handles the response to the GetTaggedImageCount request. The method always +// closes the http.Response Body. +func (client BaseClient) GetTaggedImageCountResponder(resp *http.Response) (result Int32, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result.Value), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetTaggedImages this API supports batching and range selection. By default it will only return first 50 images +// matching images. +// Use the {take} and {skip} parameters to control how many images to return in a given batch. +// The filtering is on an and/or relationship. For example, if the provided tag ids are for the "Dog" and +// "Cat" tags, then only images tagged with Dog and/or Cat will be returned +// Parameters: +// projectID - the project id. +// iterationID - the iteration id. Defaults to workspace. +// tagIds - a list of tags ids to filter the images. Defaults to all tagged images when null. Limited to 20. +// orderBy - the ordering. Defaults to newest. +// take - maximum number of images to return. Defaults to 50, limited to 256. +// skip - number of images to skip before beginning the image batch. Defaults to 0. +func (client BaseClient) GetTaggedImages(ctx context.Context, projectID uuid.UUID, iterationID *uuid.UUID, tagIds []uuid.UUID, orderBy string, take *int32, skip *int32) (result ListImage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.GetTaggedImages") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: tagIds, + Constraints: []validation.Constraint{{Target: "tagIds", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "tagIds", Name: validation.MaxItems, Rule: 20, Chain: nil}, + {Target: "tagIds", Name: validation.MinItems, Rule: 0, Chain: nil}, + }}}}, + {TargetValue: take, + Constraints: []validation.Constraint{{Target: "take", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "take", Name: validation.InclusiveMaximum, Rule: int64(256), Chain: nil}, + {Target: "take", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}, + }}}}}); err != nil { + return result, validation.NewError("training.BaseClient", "GetTaggedImages", err.Error()) + } + + req, err := client.GetTaggedImagesPreparer(ctx, projectID, iterationID, tagIds, orderBy, take, skip) + if err != nil { + err = autorest.NewErrorWithError(err, "training.BaseClient", "GetTaggedImages", nil, "Failure preparing request") + return + } + + resp, err := client.GetTaggedImagesSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "training.BaseClient", "GetTaggedImages", resp, "Failure sending request") + return + } + + result, err = client.GetTaggedImagesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "training.BaseClient", "GetTaggedImages", resp, "Failure responding to request") + } + + return +} + +// GetTaggedImagesPreparer prepares the GetTaggedImages request. +func (client BaseClient) GetTaggedImagesPreparer(ctx context.Context, projectID uuid.UUID, iterationID *uuid.UUID, tagIds []uuid.UUID, orderBy string, take *int32, skip *int32) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "Endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "projectId": autorest.Encode("path", projectID), + } + + queryParameters := map[string]interface{}{} + if iterationID != nil { + queryParameters["iterationId"] = autorest.Encode("query", *iterationID) + } + if tagIds != nil && len(tagIds) > 0 { + queryParameters["tagIds"] = autorest.Encode("query", tagIds, ",") + } + if len(string(orderBy)) > 0 { + queryParameters["orderBy"] = autorest.Encode("query", orderBy) + } + if take != nil { + queryParameters["take"] = autorest.Encode("query", *take) + } else { + queryParameters["take"] = autorest.Encode("query", 50) + } + if skip != nil { + queryParameters["skip"] = autorest.Encode("query", *skip) + } else { + queryParameters["skip"] = autorest.Encode("query", 0) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithCustomBaseURL("{Endpoint}/customvision/v3.1/training", urlParameters), + autorest.WithPathParameters("/projects/{projectId}/images/tagged", pathParameters), + autorest.WithQueryParameters(queryParameters), + autorest.WithHeader("Training-Key", client.APIKey)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetTaggedImagesSender sends the GetTaggedImages request. The method will close the +// http.Response Body if it receives an error. +func (client BaseClient) GetTaggedImagesSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetTaggedImagesResponder handles the response to the GetTaggedImages request. The method always +// closes the http.Response Body. +func (client BaseClient) GetTaggedImagesResponder(resp *http.Response) (result ListImage, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result.Value), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetTags sends the get tags request. +// Parameters: +// projectID - the project id. +// iterationID - the iteration id. Defaults to workspace. +func (client BaseClient) GetTags(ctx context.Context, projectID uuid.UUID, iterationID *uuid.UUID) (result ListTag, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.GetTags") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetTagsPreparer(ctx, projectID, iterationID) + if err != nil { + err = autorest.NewErrorWithError(err, "training.BaseClient", "GetTags", nil, "Failure preparing request") + return + } + + resp, err := client.GetTagsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "training.BaseClient", "GetTags", resp, "Failure sending request") + return + } + + result, err = client.GetTagsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "training.BaseClient", "GetTags", resp, "Failure responding to request") + } + + return +} + +// GetTagsPreparer prepares the GetTags request. +func (client BaseClient) GetTagsPreparer(ctx context.Context, projectID uuid.UUID, iterationID *uuid.UUID) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "Endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "projectId": autorest.Encode("path", projectID), + } + + queryParameters := map[string]interface{}{} + if iterationID != nil { + queryParameters["iterationId"] = autorest.Encode("query", *iterationID) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithCustomBaseURL("{Endpoint}/customvision/v3.1/training", urlParameters), + autorest.WithPathParameters("/projects/{projectId}/tags", pathParameters), + autorest.WithQueryParameters(queryParameters), + autorest.WithHeader("Training-Key", client.APIKey)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetTagsSender sends the GetTags request. The method will close the +// http.Response Body if it receives an error. +func (client BaseClient) GetTagsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetTagsResponder handles the response to the GetTags request. The method always +// closes the http.Response Body. +func (client BaseClient) GetTagsResponder(resp *http.Response) (result ListTag, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result.Value), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetUntaggedImageCount this API returns the images which have no tags for a given project and optionally an +// iteration. If no iteration is specified the +// current workspace is used. +// Parameters: +// projectID - the project id. +// iterationID - the iteration id. Defaults to workspace. +func (client BaseClient) GetUntaggedImageCount(ctx context.Context, projectID uuid.UUID, iterationID *uuid.UUID) (result Int32, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.GetUntaggedImageCount") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetUntaggedImageCountPreparer(ctx, projectID, iterationID) + if err != nil { + err = autorest.NewErrorWithError(err, "training.BaseClient", "GetUntaggedImageCount", nil, "Failure preparing request") + return + } + + resp, err := client.GetUntaggedImageCountSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "training.BaseClient", "GetUntaggedImageCount", resp, "Failure sending request") + return + } + + result, err = client.GetUntaggedImageCountResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "training.BaseClient", "GetUntaggedImageCount", resp, "Failure responding to request") + } + + return +} + +// GetUntaggedImageCountPreparer prepares the GetUntaggedImageCount request. +func (client BaseClient) GetUntaggedImageCountPreparer(ctx context.Context, projectID uuid.UUID, iterationID *uuid.UUID) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "Endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "projectId": autorest.Encode("path", projectID), + } + + queryParameters := map[string]interface{}{} + if iterationID != nil { + queryParameters["iterationId"] = autorest.Encode("query", *iterationID) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithCustomBaseURL("{Endpoint}/customvision/v3.1/training", urlParameters), + autorest.WithPathParameters("/projects/{projectId}/images/untagged/count", pathParameters), + autorest.WithQueryParameters(queryParameters), + autorest.WithHeader("Training-Key", client.APIKey)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetUntaggedImageCountSender sends the GetUntaggedImageCount request. The method will close the +// http.Response Body if it receives an error. +func (client BaseClient) GetUntaggedImageCountSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetUntaggedImageCountResponder handles the response to the GetUntaggedImageCount request. The method always +// closes the http.Response Body. +func (client BaseClient) GetUntaggedImageCountResponder(resp *http.Response) (result Int32, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result.Value), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetUntaggedImages this API supports batching and range selection. By default it will only return first 50 images +// matching images. +// Use the {take} and {skip} parameters to control how many images to return in a given batch. +// Parameters: +// projectID - the project id. +// iterationID - the iteration id. Defaults to workspace. +// orderBy - the ordering. Defaults to newest. +// take - maximum number of images to return. Defaults to 50, limited to 256. +// skip - number of images to skip before beginning the image batch. Defaults to 0. +func (client BaseClient) GetUntaggedImages(ctx context.Context, projectID uuid.UUID, iterationID *uuid.UUID, orderBy string, take *int32, skip *int32) (result ListImage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.GetUntaggedImages") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: take, + Constraints: []validation.Constraint{{Target: "take", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "take", Name: validation.InclusiveMaximum, Rule: int64(256), Chain: nil}, + {Target: "take", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}, + }}}}}); err != nil { + return result, validation.NewError("training.BaseClient", "GetUntaggedImages", err.Error()) + } + + req, err := client.GetUntaggedImagesPreparer(ctx, projectID, iterationID, orderBy, take, skip) + if err != nil { + err = autorest.NewErrorWithError(err, "training.BaseClient", "GetUntaggedImages", nil, "Failure preparing request") + return + } + + resp, err := client.GetUntaggedImagesSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "training.BaseClient", "GetUntaggedImages", resp, "Failure sending request") + return + } + + result, err = client.GetUntaggedImagesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "training.BaseClient", "GetUntaggedImages", resp, "Failure responding to request") + } + + return +} + +// GetUntaggedImagesPreparer prepares the GetUntaggedImages request. +func (client BaseClient) GetUntaggedImagesPreparer(ctx context.Context, projectID uuid.UUID, iterationID *uuid.UUID, orderBy string, take *int32, skip *int32) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "Endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "projectId": autorest.Encode("path", projectID), + } + + queryParameters := map[string]interface{}{} + if iterationID != nil { + queryParameters["iterationId"] = autorest.Encode("query", *iterationID) + } + if len(string(orderBy)) > 0 { + queryParameters["orderBy"] = autorest.Encode("query", orderBy) + } + if take != nil { + queryParameters["take"] = autorest.Encode("query", *take) + } else { + queryParameters["take"] = autorest.Encode("query", 50) + } + if skip != nil { + queryParameters["skip"] = autorest.Encode("query", *skip) + } else { + queryParameters["skip"] = autorest.Encode("query", 0) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithCustomBaseURL("{Endpoint}/customvision/v3.1/training", urlParameters), + autorest.WithPathParameters("/projects/{projectId}/images/untagged", pathParameters), + autorest.WithQueryParameters(queryParameters), + autorest.WithHeader("Training-Key", client.APIKey)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetUntaggedImagesSender sends the GetUntaggedImages request. The method will close the +// http.Response Body if it receives an error. +func (client BaseClient) GetUntaggedImagesSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetUntaggedImagesResponder handles the response to the GetUntaggedImages request. The method always +// closes the http.Response Body. +func (client BaseClient) GetUntaggedImagesResponder(resp *http.Response) (result ListImage, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result.Value), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// PublishIteration sends the publish iteration request. +// Parameters: +// projectID - the project id. +// iterationID - the iteration id. +// publishName - the name to give the published iteration. +// predictionID - the id of the prediction resource to publish to. +func (client BaseClient) PublishIteration(ctx context.Context, projectID uuid.UUID, iterationID uuid.UUID, publishName string, predictionID string) (result Bool, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.PublishIteration") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.PublishIterationPreparer(ctx, projectID, iterationID, publishName, predictionID) + if err != nil { + err = autorest.NewErrorWithError(err, "training.BaseClient", "PublishIteration", nil, "Failure preparing request") + return + } + + resp, err := client.PublishIterationSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "training.BaseClient", "PublishIteration", resp, "Failure sending request") + return + } + + result, err = client.PublishIterationResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "training.BaseClient", "PublishIteration", resp, "Failure responding to request") + } + + return +} + +// PublishIterationPreparer prepares the PublishIteration request. +func (client BaseClient) PublishIterationPreparer(ctx context.Context, projectID uuid.UUID, iterationID uuid.UUID, publishName string, predictionID string) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "Endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "iterationId": autorest.Encode("path", iterationID), + "projectId": autorest.Encode("path", projectID), + } + + queryParameters := map[string]interface{}{ + "predictionId": autorest.Encode("query", predictionID), + "publishName": autorest.Encode("query", publishName), + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithCustomBaseURL("{Endpoint}/customvision/v3.1/training", urlParameters), + autorest.WithPathParameters("/projects/{projectId}/iterations/{iterationId}/publish", pathParameters), + autorest.WithQueryParameters(queryParameters), + autorest.WithHeader("Training-Key", client.APIKey)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// PublishIterationSender sends the PublishIteration request. The method will close the +// http.Response Body if it receives an error. +func (client BaseClient) PublishIterationSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// PublishIterationResponder handles the response to the PublishIteration request. The method always +// closes the http.Response Body. +func (client BaseClient) PublishIterationResponder(resp *http.Response) (result Bool, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result.Value), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// QueryPredictions sends the query predictions request. +// Parameters: +// projectID - the project id. +// query - parameters used to query the predictions. Limited to combining 2 tags. +func (client BaseClient) QueryPredictions(ctx context.Context, projectID uuid.UUID, query PredictionQueryToken) (result PredictionQueryResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.QueryPredictions") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.QueryPredictionsPreparer(ctx, projectID, query) + if err != nil { + err = autorest.NewErrorWithError(err, "training.BaseClient", "QueryPredictions", nil, "Failure preparing request") + return + } + + resp, err := client.QueryPredictionsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "training.BaseClient", "QueryPredictions", resp, "Failure sending request") + return + } + + result, err = client.QueryPredictionsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "training.BaseClient", "QueryPredictions", resp, "Failure responding to request") + } + + return +} + +// QueryPredictionsPreparer prepares the QueryPredictions request. +func (client BaseClient) QueryPredictionsPreparer(ctx context.Context, projectID uuid.UUID, query PredictionQueryToken) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "Endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "projectId": autorest.Encode("path", projectID), + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithCustomBaseURL("{Endpoint}/customvision/v3.1/training", urlParameters), + autorest.WithPathParameters("/projects/{projectId}/predictions/query", pathParameters), + autorest.WithJSON(query), + autorest.WithHeader("Training-Key", client.APIKey)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// QueryPredictionsSender sends the QueryPredictions request. The method will close the +// http.Response Body if it receives an error. +func (client BaseClient) QueryPredictionsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// QueryPredictionsResponder handles the response to the QueryPredictions request. The method always +// closes the http.Response Body. +func (client BaseClient) QueryPredictionsResponder(resp *http.Response) (result PredictionQueryResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// QuerySuggestedImageCount this API takes in tagIds to get count of untagged images per suggested tags for a given +// threshold. +// Parameters: +// projectID - the project id. +// iterationID - iterationId to use for the suggested tags and regions. +// query - model that contains tagIds, threshold and projectType to query by. +func (client BaseClient) QuerySuggestedImageCount(ctx context.Context, projectID uuid.UUID, iterationID uuid.UUID, query TagFilter) (result SetInt32, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.QuerySuggestedImageCount") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.QuerySuggestedImageCountPreparer(ctx, projectID, iterationID, query) + if err != nil { + err = autorest.NewErrorWithError(err, "training.BaseClient", "QuerySuggestedImageCount", nil, "Failure preparing request") + return + } + + resp, err := client.QuerySuggestedImageCountSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "training.BaseClient", "QuerySuggestedImageCount", resp, "Failure sending request") + return + } + + result, err = client.QuerySuggestedImageCountResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "training.BaseClient", "QuerySuggestedImageCount", resp, "Failure responding to request") + } + + return +} + +// QuerySuggestedImageCountPreparer prepares the QuerySuggestedImageCount request. +func (client BaseClient) QuerySuggestedImageCountPreparer(ctx context.Context, projectID uuid.UUID, iterationID uuid.UUID, query TagFilter) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "Endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "projectId": autorest.Encode("path", projectID), + } + + queryParameters := map[string]interface{}{ + "iterationId": autorest.Encode("query", iterationID), + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithCustomBaseURL("{Endpoint}/customvision/v3.1/training", urlParameters), + autorest.WithPathParameters("/projects/{projectId}/images/suggested/count", pathParameters), + autorest.WithJSON(query), + autorest.WithQueryParameters(queryParameters), + autorest.WithHeader("Training-Key", client.APIKey)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// QuerySuggestedImageCountSender sends the QuerySuggestedImageCount request. The method will close the +// http.Response Body if it receives an error. +func (client BaseClient) QuerySuggestedImageCountSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// QuerySuggestedImageCountResponder handles the response to the QuerySuggestedImageCount request. The method always +// closes the http.Response Body. +func (client BaseClient) QuerySuggestedImageCountResponder(resp *http.Response) (result SetInt32, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result.Value), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// QuerySuggestedImages this API will fetch untagged images filtered by suggested tags Ids. It returns an empty array +// if no images are found. +// Parameters: +// projectID - the project id. +// iterationID - iterationId to use for the suggested tags and regions. +// query - contains properties we need to query suggested images. +func (client BaseClient) QuerySuggestedImages(ctx context.Context, projectID uuid.UUID, iterationID uuid.UUID, query SuggestedTagAndRegionQueryToken) (result SuggestedTagAndRegionQuery, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.QuerySuggestedImages") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.QuerySuggestedImagesPreparer(ctx, projectID, iterationID, query) + if err != nil { + err = autorest.NewErrorWithError(err, "training.BaseClient", "QuerySuggestedImages", nil, "Failure preparing request") + return + } + + resp, err := client.QuerySuggestedImagesSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "training.BaseClient", "QuerySuggestedImages", resp, "Failure sending request") + return + } + + result, err = client.QuerySuggestedImagesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "training.BaseClient", "QuerySuggestedImages", resp, "Failure responding to request") + } + + return +} + +// QuerySuggestedImagesPreparer prepares the QuerySuggestedImages request. +func (client BaseClient) QuerySuggestedImagesPreparer(ctx context.Context, projectID uuid.UUID, iterationID uuid.UUID, query SuggestedTagAndRegionQueryToken) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "Endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "projectId": autorest.Encode("path", projectID), + } + + queryParameters := map[string]interface{}{ + "iterationId": autorest.Encode("query", iterationID), + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithCustomBaseURL("{Endpoint}/customvision/v3.1/training", urlParameters), + autorest.WithPathParameters("/projects/{projectId}/images/suggested", pathParameters), + autorest.WithJSON(query), + autorest.WithQueryParameters(queryParameters), + autorest.WithHeader("Training-Key", client.APIKey)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// QuerySuggestedImagesSender sends the QuerySuggestedImages request. The method will close the +// http.Response Body if it receives an error. +func (client BaseClient) QuerySuggestedImagesSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// QuerySuggestedImagesResponder handles the response to the QuerySuggestedImages request. The method always +// closes the http.Response Body. +func (client BaseClient) QuerySuggestedImagesResponder(resp *http.Response) (result SuggestedTagAndRegionQuery, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// QuickTestImage sends the quick test image request. +// Parameters: +// projectID - the project id. +// imageData - binary image data. Supported formats are JPEG, GIF, PNG, and BMP. Supports images up to 6MB. +// iterationID - optional. Specifies the id of a particular iteration to evaluate against. +// The default iteration for the project will be used when not specified. +// store - optional. Specifies whether or not to store the result of this prediction. The default is true, to +// store. +func (client BaseClient) QuickTestImage(ctx context.Context, projectID uuid.UUID, imageData io.ReadCloser, iterationID *uuid.UUID, store *bool) (result ImagePrediction, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.QuickTestImage") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.QuickTestImagePreparer(ctx, projectID, imageData, iterationID, store) + if err != nil { + err = autorest.NewErrorWithError(err, "training.BaseClient", "QuickTestImage", nil, "Failure preparing request") + return + } + + resp, err := client.QuickTestImageSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "training.BaseClient", "QuickTestImage", resp, "Failure sending request") + return + } + + result, err = client.QuickTestImageResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "training.BaseClient", "QuickTestImage", resp, "Failure responding to request") + } + + return +} + +// QuickTestImagePreparer prepares the QuickTestImage request. +func (client BaseClient) QuickTestImagePreparer(ctx context.Context, projectID uuid.UUID, imageData io.ReadCloser, iterationID *uuid.UUID, store *bool) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "Endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "projectId": autorest.Encode("path", projectID), + } + + queryParameters := map[string]interface{}{} + if iterationID != nil { + queryParameters["iterationId"] = autorest.Encode("query", *iterationID) + } + if store != nil { + queryParameters["store"] = autorest.Encode("query", *store) + } else { + queryParameters["store"] = autorest.Encode("query", true) + } + + formDataParameters := map[string]interface{}{ + "imageData": imageData, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithCustomBaseURL("{Endpoint}/customvision/v3.1/training", urlParameters), + autorest.WithPathParameters("/projects/{projectId}/quicktest/image", pathParameters), + autorest.WithQueryParameters(queryParameters), + autorest.WithMultiPartFormData(formDataParameters), + autorest.WithHeader("Training-Key", client.APIKey)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// QuickTestImageSender sends the QuickTestImage request. The method will close the +// http.Response Body if it receives an error. +func (client BaseClient) QuickTestImageSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// QuickTestImageResponder handles the response to the QuickTestImage request. The method always +// closes the http.Response Body. +func (client BaseClient) QuickTestImageResponder(resp *http.Response) (result ImagePrediction, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// QuickTestImageURL sends the quick test image url request. +// Parameters: +// projectID - the project to evaluate against. +// imageURL - an ImageUrl that contains the url of the image to be evaluated. +// iterationID - optional. Specifies the id of a particular iteration to evaluate against. +// The default iteration for the project will be used when not specified. +// store - optional. Specifies whether or not to store the result of this prediction. The default is true, to +// store. +func (client BaseClient) QuickTestImageURL(ctx context.Context, projectID uuid.UUID, imageURL ImageURL, iterationID *uuid.UUID, store *bool) (result ImagePrediction, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.QuickTestImageURL") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: imageURL, + Constraints: []validation.Constraint{{Target: "imageURL.URL", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + return result, validation.NewError("training.BaseClient", "QuickTestImageURL", err.Error()) + } + + req, err := client.QuickTestImageURLPreparer(ctx, projectID, imageURL, iterationID, store) + if err != nil { + err = autorest.NewErrorWithError(err, "training.BaseClient", "QuickTestImageURL", nil, "Failure preparing request") + return + } + + resp, err := client.QuickTestImageURLSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "training.BaseClient", "QuickTestImageURL", resp, "Failure sending request") + return + } + + result, err = client.QuickTestImageURLResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "training.BaseClient", "QuickTestImageURL", resp, "Failure responding to request") + } + + return +} + +// QuickTestImageURLPreparer prepares the QuickTestImageURL request. +func (client BaseClient) QuickTestImageURLPreparer(ctx context.Context, projectID uuid.UUID, imageURL ImageURL, iterationID *uuid.UUID, store *bool) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "Endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "projectId": autorest.Encode("path", projectID), + } + + queryParameters := map[string]interface{}{} + if iterationID != nil { + queryParameters["iterationId"] = autorest.Encode("query", *iterationID) + } + if store != nil { + queryParameters["store"] = autorest.Encode("query", *store) + } else { + queryParameters["store"] = autorest.Encode("query", true) + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithCustomBaseURL("{Endpoint}/customvision/v3.1/training", urlParameters), + autorest.WithPathParameters("/projects/{projectId}/quicktest/url", pathParameters), + autorest.WithJSON(imageURL), + autorest.WithQueryParameters(queryParameters), + autorest.WithHeader("Training-Key", client.APIKey)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// QuickTestImageURLSender sends the QuickTestImageURL request. The method will close the +// http.Response Body if it receives an error. +func (client BaseClient) QuickTestImageURLSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// QuickTestImageURLResponder handles the response to the QuickTestImageURL request. The method always +// closes the http.Response Body. +func (client BaseClient) QuickTestImageURLResponder(resp *http.Response) (result ImagePrediction, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// SuggestTagsAndRegions this API will get suggested tags and regions for an array/batch of untagged images along with +// confidences for the tags. It returns an empty array if no tags are found. +// There is a limit of 64 images in the batch. +// Parameters: +// projectID - the project id. +// iterationID - iterationId to use for tag and region suggestion. +// imageIds - array of image ids tag suggestion are needed for. Use GetUntaggedImages API to get imageIds. +func (client BaseClient) SuggestTagsAndRegions(ctx context.Context, projectID uuid.UUID, iterationID uuid.UUID, imageIds []uuid.UUID) (result ListSuggestedTagAndRegion, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.SuggestTagsAndRegions") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: imageIds, + Constraints: []validation.Constraint{{Target: "imageIds", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "imageIds", Name: validation.MaxItems, Rule: 64, Chain: nil}, + {Target: "imageIds", Name: validation.MinItems, Rule: 0, Chain: nil}, + }}}}}); err != nil { + return result, validation.NewError("training.BaseClient", "SuggestTagsAndRegions", err.Error()) + } + + req, err := client.SuggestTagsAndRegionsPreparer(ctx, projectID, iterationID, imageIds) + if err != nil { + err = autorest.NewErrorWithError(err, "training.BaseClient", "SuggestTagsAndRegions", nil, "Failure preparing request") + return + } + + resp, err := client.SuggestTagsAndRegionsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "training.BaseClient", "SuggestTagsAndRegions", resp, "Failure sending request") + return + } + + result, err = client.SuggestTagsAndRegionsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "training.BaseClient", "SuggestTagsAndRegions", resp, "Failure responding to request") + } + + return +} + +// SuggestTagsAndRegionsPreparer prepares the SuggestTagsAndRegions request. +func (client BaseClient) SuggestTagsAndRegionsPreparer(ctx context.Context, projectID uuid.UUID, iterationID uuid.UUID, imageIds []uuid.UUID) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "Endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "projectId": autorest.Encode("path", projectID), + } + + queryParameters := map[string]interface{}{ + "imageIds": autorest.Encode("query", imageIds, ","), + "iterationId": autorest.Encode("query", iterationID), + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithCustomBaseURL("{Endpoint}/customvision/v3.1/training", urlParameters), + autorest.WithPathParameters("/projects/{projectId}/tagsandregions/suggestions", pathParameters), + autorest.WithQueryParameters(queryParameters), + autorest.WithHeader("Training-Key", client.APIKey)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// SuggestTagsAndRegionsSender sends the SuggestTagsAndRegions request. The method will close the +// http.Response Body if it receives an error. +func (client BaseClient) SuggestTagsAndRegionsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// SuggestTagsAndRegionsResponder handles the response to the SuggestTagsAndRegions request. The method always +// closes the http.Response Body. +func (client BaseClient) SuggestTagsAndRegionsResponder(resp *http.Response) (result ListSuggestedTagAndRegion, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result.Value), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// TrainProject sends the train project request. +// Parameters: +// projectID - the project id. +// trainingType - the type of training to use to train the project (default: Regular). +// reservedBudgetInHours - the number of hours reserved as budget for training (if applicable). +// forceTrain - whether to force train even if dataset and configuration does not change (default: false). +// notificationEmailAddress - the email address to send notification to when training finishes (default: null). +func (client BaseClient) TrainProject(ctx context.Context, projectID uuid.UUID, trainingType string, reservedBudgetInHours *int32, forceTrain *bool, notificationEmailAddress string) (result Iteration, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.TrainProject") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.TrainProjectPreparer(ctx, projectID, trainingType, reservedBudgetInHours, forceTrain, notificationEmailAddress) + if err != nil { + err = autorest.NewErrorWithError(err, "training.BaseClient", "TrainProject", nil, "Failure preparing request") + return + } + + resp, err := client.TrainProjectSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "training.BaseClient", "TrainProject", resp, "Failure sending request") + return + } + + result, err = client.TrainProjectResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "training.BaseClient", "TrainProject", resp, "Failure responding to request") + } + + return +} + +// TrainProjectPreparer prepares the TrainProject request. +func (client BaseClient) TrainProjectPreparer(ctx context.Context, projectID uuid.UUID, trainingType string, reservedBudgetInHours *int32, forceTrain *bool, notificationEmailAddress string) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "Endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "projectId": autorest.Encode("path", projectID), + } + + queryParameters := map[string]interface{}{} + if len(string(trainingType)) > 0 { + queryParameters["trainingType"] = autorest.Encode("query", trainingType) + } + if reservedBudgetInHours != nil { + queryParameters["reservedBudgetInHours"] = autorest.Encode("query", *reservedBudgetInHours) + } else { + queryParameters["reservedBudgetInHours"] = autorest.Encode("query", 0) + } + if forceTrain != nil { + queryParameters["forceTrain"] = autorest.Encode("query", *forceTrain) + } else { + queryParameters["forceTrain"] = autorest.Encode("query", false) + } + if len(notificationEmailAddress) > 0 { + queryParameters["notificationEmailAddress"] = autorest.Encode("query", notificationEmailAddress) + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithCustomBaseURL("{Endpoint}/customvision/v3.1/training", urlParameters), + autorest.WithPathParameters("/projects/{projectId}/train", pathParameters), + autorest.WithQueryParameters(queryParameters), + autorest.WithHeader("Training-Key", client.APIKey)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// TrainProjectSender sends the TrainProject request. The method will close the +// http.Response Body if it receives an error. +func (client BaseClient) TrainProjectSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// TrainProjectResponder handles the response to the TrainProject request. The method always +// closes the http.Response Body. +func (client BaseClient) TrainProjectResponder(resp *http.Response) (result Iteration, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// UnpublishIteration sends the unpublish iteration request. +// Parameters: +// projectID - the project id. +// iterationID - the iteration id. +func (client BaseClient) UnpublishIteration(ctx context.Context, projectID uuid.UUID, iterationID uuid.UUID) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.UnpublishIteration") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UnpublishIterationPreparer(ctx, projectID, iterationID) + if err != nil { + err = autorest.NewErrorWithError(err, "training.BaseClient", "UnpublishIteration", nil, "Failure preparing request") + return + } + + resp, err := client.UnpublishIterationSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "training.BaseClient", "UnpublishIteration", resp, "Failure sending request") + return + } + + result, err = client.UnpublishIterationResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "training.BaseClient", "UnpublishIteration", resp, "Failure responding to request") + } + + return +} + +// UnpublishIterationPreparer prepares the UnpublishIteration request. +func (client BaseClient) UnpublishIterationPreparer(ctx context.Context, projectID uuid.UUID, iterationID uuid.UUID) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "Endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "iterationId": autorest.Encode("path", iterationID), + "projectId": autorest.Encode("path", projectID), + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithCustomBaseURL("{Endpoint}/customvision/v3.1/training", urlParameters), + autorest.WithPathParameters("/projects/{projectId}/iterations/{iterationId}/publish", pathParameters), + autorest.WithHeader("Training-Key", client.APIKey)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UnpublishIterationSender sends the UnpublishIteration request. The method will close the +// http.Response Body if it receives an error. +func (client BaseClient) UnpublishIterationSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// UnpublishIterationResponder handles the response to the UnpublishIteration request. The method always +// closes the http.Response Body. +func (client BaseClient) UnpublishIterationResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// UpdateIteration sends the update iteration request. +// Parameters: +// projectID - project id. +// iterationID - iteration id. +// updatedIteration - the updated iteration model. +func (client BaseClient) UpdateIteration(ctx context.Context, projectID uuid.UUID, iterationID uuid.UUID, updatedIteration Iteration) (result Iteration, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.UpdateIteration") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdateIterationPreparer(ctx, projectID, iterationID, updatedIteration) + if err != nil { + err = autorest.NewErrorWithError(err, "training.BaseClient", "UpdateIteration", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateIterationSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "training.BaseClient", "UpdateIteration", resp, "Failure sending request") + return + } + + result, err = client.UpdateIterationResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "training.BaseClient", "UpdateIteration", resp, "Failure responding to request") + } + + return +} + +// UpdateIterationPreparer prepares the UpdateIteration request. +func (client BaseClient) UpdateIterationPreparer(ctx context.Context, projectID uuid.UUID, iterationID uuid.UUID, updatedIteration Iteration) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "Endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "iterationId": autorest.Encode("path", iterationID), + "projectId": autorest.Encode("path", projectID), + } + + updatedIteration.ID = nil + updatedIteration.Status = nil + updatedIteration.Created = nil + updatedIteration.LastModified = nil + updatedIteration.TrainedAt = nil + updatedIteration.ProjectID = nil + updatedIteration.Exportable = nil + updatedIteration.ExportableTo = nil + updatedIteration.DomainID = nil + updatedIteration.ClassificationType = "" + updatedIteration.TrainingType = "" + updatedIteration.ReservedBudgetInHours = nil + updatedIteration.TrainingTimeInMinutes = nil + updatedIteration.PublishName = nil + updatedIteration.OriginalPublishResourceID = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithCustomBaseURL("{Endpoint}/customvision/v3.1/training", urlParameters), + autorest.WithPathParameters("/projects/{projectId}/iterations/{iterationId}", pathParameters), + autorest.WithJSON(updatedIteration), + autorest.WithHeader("Training-Key", client.APIKey)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateIterationSender sends the UpdateIteration request. The method will close the +// http.Response Body if it receives an error. +func (client BaseClient) UpdateIterationSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// UpdateIterationResponder handles the response to the UpdateIteration request. The method always +// closes the http.Response Body. +func (client BaseClient) UpdateIterationResponder(resp *http.Response) (result Iteration, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// UpdateProject sends the update project request. +// Parameters: +// projectID - the id of the project to update. +// updatedProject - the updated project model. +func (client BaseClient) UpdateProject(ctx context.Context, projectID uuid.UUID, updatedProject Project) (result Project, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.UpdateProject") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdateProjectPreparer(ctx, projectID, updatedProject) + if err != nil { + err = autorest.NewErrorWithError(err, "training.BaseClient", "UpdateProject", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateProjectSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "training.BaseClient", "UpdateProject", resp, "Failure sending request") + return + } + + result, err = client.UpdateProjectResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "training.BaseClient", "UpdateProject", resp, "Failure responding to request") + } + + return +} + +// UpdateProjectPreparer prepares the UpdateProject request. +func (client BaseClient) UpdateProjectPreparer(ctx context.Context, projectID uuid.UUID, updatedProject Project) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "Endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "projectId": autorest.Encode("path", projectID), + } + + updatedProject.ID = nil + updatedProject.Created = nil + updatedProject.LastModified = nil + updatedProject.ThumbnailURI = nil + updatedProject.DrModeEnabled = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithCustomBaseURL("{Endpoint}/customvision/v3.1/training", urlParameters), + autorest.WithPathParameters("/projects/{projectId}", pathParameters), + autorest.WithJSON(updatedProject), + autorest.WithHeader("Training-Key", client.APIKey)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateProjectSender sends the UpdateProject request. The method will close the +// http.Response Body if it receives an error. +func (client BaseClient) UpdateProjectSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// UpdateProjectResponder handles the response to the UpdateProject request. The method always +// closes the http.Response Body. +func (client BaseClient) UpdateProjectResponder(resp *http.Response) (result Project, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// UpdateTag sends the update tag request. +// Parameters: +// projectID - the project id. +// tagID - the id of the target tag. +// updatedTag - the updated tag model. +func (client BaseClient) UpdateTag(ctx context.Context, projectID uuid.UUID, tagID uuid.UUID, updatedTag Tag) (result Tag, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.UpdateTag") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdateTagPreparer(ctx, projectID, tagID, updatedTag) + if err != nil { + err = autorest.NewErrorWithError(err, "training.BaseClient", "UpdateTag", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateTagSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "training.BaseClient", "UpdateTag", resp, "Failure sending request") + return + } + + result, err = client.UpdateTagResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "training.BaseClient", "UpdateTag", resp, "Failure responding to request") + } + + return +} + +// UpdateTagPreparer prepares the UpdateTag request. +func (client BaseClient) UpdateTagPreparer(ctx context.Context, projectID uuid.UUID, tagID uuid.UUID, updatedTag Tag) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "Endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "projectId": autorest.Encode("path", projectID), + "tagId": autorest.Encode("path", tagID), + } + + updatedTag.ID = nil + updatedTag.ImageCount = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithCustomBaseURL("{Endpoint}/customvision/v3.1/training", urlParameters), + autorest.WithPathParameters("/projects/{projectId}/tags/{tagId}", pathParameters), + autorest.WithJSON(updatedTag), + autorest.WithHeader("Training-Key", client.APIKey)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateTagSender sends the UpdateTag request. The method will close the +// http.Response Body if it receives an error. +func (client BaseClient) UpdateTagSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// UpdateTagResponder handles the response to the UpdateTag request. The method always +// closes the http.Response Body. +func (client BaseClient) UpdateTagResponder(resp *http.Response) (result Tag, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/cognitiveservices/v3.1/customvision/training/models.go b/services/cognitiveservices/v3.1/customvision/training/models.go new file mode 100644 index 000000000000..4bf92ebc7dd9 --- /dev/null +++ b/services/cognitiveservices/v3.1/customvision/training/models.go @@ -0,0 +1,1128 @@ +package training + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "encoding/json" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/date" + "github.com/satori/go.uuid" +) + +// The package's fully qualified name. +const fqdn = "github.com/Azure/azure-sdk-for-go/services/cognitiveservices/v3.1/customvision/training" + +// Classifier enumerates the values for classifier. +type Classifier string + +const ( + // Multiclass ... + Multiclass Classifier = "Multiclass" + // Multilabel ... + Multilabel Classifier = "Multilabel" +) + +// PossibleClassifierValues returns an array of possible values for the Classifier const type. +func PossibleClassifierValues() []Classifier { + return []Classifier{Multiclass, Multilabel} +} + +// CustomVisionErrorCodes enumerates the values for custom vision error codes. +type CustomVisionErrorCodes string + +const ( + // BadRequest ... + BadRequest CustomVisionErrorCodes = "BadRequest" + // BadRequestCannotMigrateProjectWithName ... + BadRequestCannotMigrateProjectWithName CustomVisionErrorCodes = "BadRequestCannotMigrateProjectWithName" + // BadRequestClassificationTrainingValidationFailed ... + BadRequestClassificationTrainingValidationFailed CustomVisionErrorCodes = "BadRequestClassificationTrainingValidationFailed" + // BadRequestDetectionTrainingNotAllowNegativeTag ... + BadRequestDetectionTrainingNotAllowNegativeTag CustomVisionErrorCodes = "BadRequestDetectionTrainingNotAllowNegativeTag" + // BadRequestDetectionTrainingValidationFailed ... + BadRequestDetectionTrainingValidationFailed CustomVisionErrorCodes = "BadRequestDetectionTrainingValidationFailed" + // BadRequestDomainNotSupportedForAdvancedTraining ... + BadRequestDomainNotSupportedForAdvancedTraining CustomVisionErrorCodes = "BadRequestDomainNotSupportedForAdvancedTraining" + // BadRequestExceededBatchSize ... + BadRequestExceededBatchSize CustomVisionErrorCodes = "BadRequestExceededBatchSize" + // BadRequestExceededQuota ... + BadRequestExceededQuota CustomVisionErrorCodes = "BadRequestExceededQuota" + // BadRequestExceedIterationPerProjectLimit ... + BadRequestExceedIterationPerProjectLimit CustomVisionErrorCodes = "BadRequestExceedIterationPerProjectLimit" + // BadRequestExceedProjectLimit ... + BadRequestExceedProjectLimit CustomVisionErrorCodes = "BadRequestExceedProjectLimit" + // BadRequestExceedTagPerImageLimit ... + BadRequestExceedTagPerImageLimit CustomVisionErrorCodes = "BadRequestExceedTagPerImageLimit" + // BadRequestExceedTagPerProjectLimit ... + BadRequestExceedTagPerProjectLimit CustomVisionErrorCodes = "BadRequestExceedTagPerProjectLimit" + // BadRequestExportAlreadyInProgress ... + BadRequestExportAlreadyInProgress CustomVisionErrorCodes = "BadRequestExportAlreadyInProgress" + // BadRequestExportPlatformNotSupportedForAdvancedTraining ... + BadRequestExportPlatformNotSupportedForAdvancedTraining CustomVisionErrorCodes = "BadRequestExportPlatformNotSupportedForAdvancedTraining" + // BadRequestExportValidationFailed ... + BadRequestExportValidationFailed CustomVisionErrorCodes = "BadRequestExportValidationFailed" + // BadRequestImageBatch ... + BadRequestImageBatch CustomVisionErrorCodes = "BadRequestImageBatch" + // BadRequestImageExceededCount ... + BadRequestImageExceededCount CustomVisionErrorCodes = "BadRequestImageExceededCount" + // BadRequestImageFormat ... + BadRequestImageFormat CustomVisionErrorCodes = "BadRequestImageFormat" + // BadRequestImageRegions ... + BadRequestImageRegions CustomVisionErrorCodes = "BadRequestImageRegions" + // BadRequestImageSizeBytes ... + BadRequestImageSizeBytes CustomVisionErrorCodes = "BadRequestImageSizeBytes" + // BadRequestImageStream ... + BadRequestImageStream CustomVisionErrorCodes = "BadRequestImageStream" + // BadRequestImageTags ... + BadRequestImageTags CustomVisionErrorCodes = "BadRequestImageTags" + // BadRequestImageURL ... + BadRequestImageURL CustomVisionErrorCodes = "BadRequestImageUrl" + // BadRequestInvalid ... + BadRequestInvalid CustomVisionErrorCodes = "BadRequestInvalid" + // BadRequestInvalidEmailAddress ... + BadRequestInvalidEmailAddress CustomVisionErrorCodes = "BadRequestInvalidEmailAddress" + // BadRequestInvalidIds ... + BadRequestInvalidIds CustomVisionErrorCodes = "BadRequestInvalidIds" + // BadRequestInvalidPublishName ... + BadRequestInvalidPublishName CustomVisionErrorCodes = "BadRequestInvalidPublishName" + // BadRequestInvalidPublishTarget ... + BadRequestInvalidPublishTarget CustomVisionErrorCodes = "BadRequestInvalidPublishTarget" + // BadRequestIterationDescription ... + BadRequestIterationDescription CustomVisionErrorCodes = "BadRequestIterationDescription" + // BadRequestIterationIsNotTrained ... + BadRequestIterationIsNotTrained CustomVisionErrorCodes = "BadRequestIterationIsNotTrained" + // BadRequestIterationIsPublished ... + BadRequestIterationIsPublished CustomVisionErrorCodes = "BadRequestIterationIsPublished" + // BadRequestIterationName ... + BadRequestIterationName CustomVisionErrorCodes = "BadRequestIterationName" + // BadRequestIterationNameNotUnique ... + BadRequestIterationNameNotUnique CustomVisionErrorCodes = "BadRequestIterationNameNotUnique" + // BadRequestIterationNotPublished ... + BadRequestIterationNotPublished CustomVisionErrorCodes = "BadRequestIterationNotPublished" + // BadRequestMultiClassClassificationTrainingValidationFailed ... + BadRequestMultiClassClassificationTrainingValidationFailed CustomVisionErrorCodes = "BadRequestMultiClassClassificationTrainingValidationFailed" + // BadRequestMultiLabelClassificationTrainingValidationFailed ... + BadRequestMultiLabelClassificationTrainingValidationFailed CustomVisionErrorCodes = "BadRequestMultiLabelClassificationTrainingValidationFailed" + // BadRequestMultipleNegativeTag ... + BadRequestMultipleNegativeTag CustomVisionErrorCodes = "BadRequestMultipleNegativeTag" + // BadRequestNegativeAndRegularTagOnSameImage ... + BadRequestNegativeAndRegularTagOnSameImage CustomVisionErrorCodes = "BadRequestNegativeAndRegularTagOnSameImage" + // BadRequestNotLimitedTrial ... + BadRequestNotLimitedTrial CustomVisionErrorCodes = "BadRequestNotLimitedTrial" + // BadRequestNotSupported ... + BadRequestNotSupported CustomVisionErrorCodes = "BadRequestNotSupported" + // BadRequestPredictionIdsExceededCount ... + BadRequestPredictionIdsExceededCount CustomVisionErrorCodes = "BadRequestPredictionIdsExceededCount" + // BadRequestPredictionIdsMissing ... + BadRequestPredictionIdsMissing CustomVisionErrorCodes = "BadRequestPredictionIdsMissing" + // BadRequestPredictionInvalidApplicationName ... + BadRequestPredictionInvalidApplicationName CustomVisionErrorCodes = "BadRequestPredictionInvalidApplicationName" + // BadRequestPredictionInvalidQueryParameters ... + BadRequestPredictionInvalidQueryParameters CustomVisionErrorCodes = "BadRequestPredictionInvalidQueryParameters" + // BadRequestPredictionResultsExceededCount ... + BadRequestPredictionResultsExceededCount CustomVisionErrorCodes = "BadRequestPredictionResultsExceededCount" + // BadRequestPredictionTagsExceededCount ... + BadRequestPredictionTagsExceededCount CustomVisionErrorCodes = "BadRequestPredictionTagsExceededCount" + // BadRequestProjectDescription ... + BadRequestProjectDescription CustomVisionErrorCodes = "BadRequestProjectDescription" + // BadRequestProjectImagePreprocessingSettings ... + BadRequestProjectImagePreprocessingSettings CustomVisionErrorCodes = "BadRequestProjectImagePreprocessingSettings" + // BadRequestProjectName ... + BadRequestProjectName CustomVisionErrorCodes = "BadRequestProjectName" + // BadRequestProjectNameNotUnique ... + BadRequestProjectNameNotUnique CustomVisionErrorCodes = "BadRequestProjectNameNotUnique" + // BadRequestProjectUnknownClassification ... + BadRequestProjectUnknownClassification CustomVisionErrorCodes = "BadRequestProjectUnknownClassification" + // BadRequestProjectUnknownDomain ... + BadRequestProjectUnknownDomain CustomVisionErrorCodes = "BadRequestProjectUnknownDomain" + // BadRequestProjectUnsupportedDomainTypeChange ... + BadRequestProjectUnsupportedDomainTypeChange CustomVisionErrorCodes = "BadRequestProjectUnsupportedDomainTypeChange" + // BadRequestProjectUnsupportedExportPlatform ... + BadRequestProjectUnsupportedExportPlatform CustomVisionErrorCodes = "BadRequestProjectUnsupportedExportPlatform" + // BadRequestRequiredParamIsNull ... + BadRequestRequiredParamIsNull CustomVisionErrorCodes = "BadRequestRequiredParamIsNull" + // BadRequestReservedBudgetInHoursNotEnoughForAdvancedTraining ... + BadRequestReservedBudgetInHoursNotEnoughForAdvancedTraining CustomVisionErrorCodes = "BadRequestReservedBudgetInHoursNotEnoughForAdvancedTraining" + // BadRequestSubscriptionAPI ... + BadRequestSubscriptionAPI CustomVisionErrorCodes = "BadRequestSubscriptionApi" + // BadRequestTagDescription ... + BadRequestTagDescription CustomVisionErrorCodes = "BadRequestTagDescription" + // BadRequestTagName ... + BadRequestTagName CustomVisionErrorCodes = "BadRequestTagName" + // BadRequestTagNameNotUnique ... + BadRequestTagNameNotUnique CustomVisionErrorCodes = "BadRequestTagNameNotUnique" + // BadRequestTagType ... + BadRequestTagType CustomVisionErrorCodes = "BadRequestTagType" + // BadRequestTrainingAlreadyInProgress ... + BadRequestTrainingAlreadyInProgress CustomVisionErrorCodes = "BadRequestTrainingAlreadyInProgress" + // BadRequestTrainingNotNeeded ... + BadRequestTrainingNotNeeded CustomVisionErrorCodes = "BadRequestTrainingNotNeeded" + // BadRequestTrainingNotNeededButTrainingPipelineUpdated ... + BadRequestTrainingNotNeededButTrainingPipelineUpdated CustomVisionErrorCodes = "BadRequestTrainingNotNeededButTrainingPipelineUpdated" + // BadRequestTrainingValidationFailed ... + BadRequestTrainingValidationFailed CustomVisionErrorCodes = "BadRequestTrainingValidationFailed" + // BadRequestUnpublishFailed ... + BadRequestUnpublishFailed CustomVisionErrorCodes = "BadRequestUnpublishFailed" + // BadRequestWorkspaceCannotBeModified ... + BadRequestWorkspaceCannotBeModified CustomVisionErrorCodes = "BadRequestWorkspaceCannotBeModified" + // BadRequestWorkspaceNotDeletable ... + BadRequestWorkspaceNotDeletable CustomVisionErrorCodes = "BadRequestWorkspaceNotDeletable" + // Conflict ... + Conflict CustomVisionErrorCodes = "Conflict" + // ConflictInvalid ... + ConflictInvalid CustomVisionErrorCodes = "ConflictInvalid" + // ErrorExporterInvalidClassifier ... + ErrorExporterInvalidClassifier CustomVisionErrorCodes = "ErrorExporterInvalidClassifier" + // ErrorExporterInvalidFeaturizer ... + ErrorExporterInvalidFeaturizer CustomVisionErrorCodes = "ErrorExporterInvalidFeaturizer" + // ErrorExporterInvalidPlatform ... + ErrorExporterInvalidPlatform CustomVisionErrorCodes = "ErrorExporterInvalidPlatform" + // ErrorFeaturizationAugmentationError ... + ErrorFeaturizationAugmentationError CustomVisionErrorCodes = "ErrorFeaturizationAugmentationError" + // ErrorFeaturizationAugmentationUnavailable ... + ErrorFeaturizationAugmentationUnavailable CustomVisionErrorCodes = "ErrorFeaturizationAugmentationUnavailable" + // ErrorFeaturizationInvalidFeaturizer ... + ErrorFeaturizationInvalidFeaturizer CustomVisionErrorCodes = "ErrorFeaturizationInvalidFeaturizer" + // ErrorFeaturizationQueueTimeout ... + ErrorFeaturizationQueueTimeout CustomVisionErrorCodes = "ErrorFeaturizationQueueTimeout" + // ErrorFeaturizationServiceUnavailable ... + ErrorFeaturizationServiceUnavailable CustomVisionErrorCodes = "ErrorFeaturizationServiceUnavailable" + // ErrorFeaturizationUnrecognizedJob ... + ErrorFeaturizationUnrecognizedJob CustomVisionErrorCodes = "ErrorFeaturizationUnrecognizedJob" + // ErrorInvalid ... + ErrorInvalid CustomVisionErrorCodes = "ErrorInvalid" + // ErrorPrediction ... + ErrorPrediction CustomVisionErrorCodes = "ErrorPrediction" + // ErrorPredictionModelNotCached ... + ErrorPredictionModelNotCached CustomVisionErrorCodes = "ErrorPredictionModelNotCached" + // ErrorPredictionModelNotFound ... + ErrorPredictionModelNotFound CustomVisionErrorCodes = "ErrorPredictionModelNotFound" + // ErrorPredictionServiceUnavailable ... + ErrorPredictionServiceUnavailable CustomVisionErrorCodes = "ErrorPredictionServiceUnavailable" + // ErrorPredictionStorage ... + ErrorPredictionStorage CustomVisionErrorCodes = "ErrorPredictionStorage" + // ErrorProjectExportRequestFailed ... + ErrorProjectExportRequestFailed CustomVisionErrorCodes = "ErrorProjectExportRequestFailed" + // ErrorProjectInvalidDomain ... + ErrorProjectInvalidDomain CustomVisionErrorCodes = "ErrorProjectInvalidDomain" + // ErrorProjectInvalidPipelineConfiguration ... + ErrorProjectInvalidPipelineConfiguration CustomVisionErrorCodes = "ErrorProjectInvalidPipelineConfiguration" + // ErrorProjectInvalidWorkspace ... + ErrorProjectInvalidWorkspace CustomVisionErrorCodes = "ErrorProjectInvalidWorkspace" + // ErrorProjectTrainingRequestFailed ... + ErrorProjectTrainingRequestFailed CustomVisionErrorCodes = "ErrorProjectTrainingRequestFailed" + // ErrorRegionProposal ... + ErrorRegionProposal CustomVisionErrorCodes = "ErrorRegionProposal" + // ErrorUnknown ... + ErrorUnknown CustomVisionErrorCodes = "ErrorUnknown" + // Forbidden ... + Forbidden CustomVisionErrorCodes = "Forbidden" + // ForbiddenDRModeEnabled ... + ForbiddenDRModeEnabled CustomVisionErrorCodes = "ForbiddenDRModeEnabled" + // ForbiddenInvalid ... + ForbiddenInvalid CustomVisionErrorCodes = "ForbiddenInvalid" + // ForbiddenUser ... + ForbiddenUser CustomVisionErrorCodes = "ForbiddenUser" + // ForbiddenUserDisabled ... + ForbiddenUserDisabled CustomVisionErrorCodes = "ForbiddenUserDisabled" + // ForbiddenUserDoesNotExist ... + ForbiddenUserDoesNotExist CustomVisionErrorCodes = "ForbiddenUserDoesNotExist" + // ForbiddenUserInsufficientCapability ... + ForbiddenUserInsufficientCapability CustomVisionErrorCodes = "ForbiddenUserInsufficientCapability" + // ForbiddenUserResource ... + ForbiddenUserResource CustomVisionErrorCodes = "ForbiddenUserResource" + // ForbiddenUserSignupAllowanceExceeded ... + ForbiddenUserSignupAllowanceExceeded CustomVisionErrorCodes = "ForbiddenUserSignupAllowanceExceeded" + // ForbiddenUserSignupDisabled ... + ForbiddenUserSignupDisabled CustomVisionErrorCodes = "ForbiddenUserSignupDisabled" + // NoError ... + NoError CustomVisionErrorCodes = "NoError" + // NotFound ... + NotFound CustomVisionErrorCodes = "NotFound" + // NotFoundApimSubscription ... + NotFoundApimSubscription CustomVisionErrorCodes = "NotFoundApimSubscription" + // NotFoundDomain ... + NotFoundDomain CustomVisionErrorCodes = "NotFoundDomain" + // NotFoundImage ... + NotFoundImage CustomVisionErrorCodes = "NotFoundImage" + // NotFoundInvalid ... + NotFoundInvalid CustomVisionErrorCodes = "NotFoundInvalid" + // NotFoundIteration ... + NotFoundIteration CustomVisionErrorCodes = "NotFoundIteration" + // NotFoundIterationPerformance ... + NotFoundIterationPerformance CustomVisionErrorCodes = "NotFoundIterationPerformance" + // NotFoundProject ... + NotFoundProject CustomVisionErrorCodes = "NotFoundProject" + // NotFoundProjectDefaultIteration ... + NotFoundProjectDefaultIteration CustomVisionErrorCodes = "NotFoundProjectDefaultIteration" + // NotFoundTag ... + NotFoundTag CustomVisionErrorCodes = "NotFoundTag" + // UnsupportedMediaType ... + UnsupportedMediaType CustomVisionErrorCodes = "UnsupportedMediaType" +) + +// PossibleCustomVisionErrorCodesValues returns an array of possible values for the CustomVisionErrorCodes const type. +func PossibleCustomVisionErrorCodesValues() []CustomVisionErrorCodes { + return []CustomVisionErrorCodes{BadRequest, BadRequestCannotMigrateProjectWithName, BadRequestClassificationTrainingValidationFailed, BadRequestDetectionTrainingNotAllowNegativeTag, BadRequestDetectionTrainingValidationFailed, BadRequestDomainNotSupportedForAdvancedTraining, BadRequestExceededBatchSize, BadRequestExceededQuota, BadRequestExceedIterationPerProjectLimit, BadRequestExceedProjectLimit, BadRequestExceedTagPerImageLimit, BadRequestExceedTagPerProjectLimit, BadRequestExportAlreadyInProgress, BadRequestExportPlatformNotSupportedForAdvancedTraining, BadRequestExportValidationFailed, BadRequestImageBatch, BadRequestImageExceededCount, BadRequestImageFormat, BadRequestImageRegions, BadRequestImageSizeBytes, BadRequestImageStream, BadRequestImageTags, BadRequestImageURL, BadRequestInvalid, BadRequestInvalidEmailAddress, BadRequestInvalidIds, BadRequestInvalidPublishName, BadRequestInvalidPublishTarget, BadRequestIterationDescription, BadRequestIterationIsNotTrained, BadRequestIterationIsPublished, BadRequestIterationName, BadRequestIterationNameNotUnique, BadRequestIterationNotPublished, BadRequestMultiClassClassificationTrainingValidationFailed, BadRequestMultiLabelClassificationTrainingValidationFailed, BadRequestMultipleNegativeTag, BadRequestNegativeAndRegularTagOnSameImage, BadRequestNotLimitedTrial, BadRequestNotSupported, BadRequestPredictionIdsExceededCount, BadRequestPredictionIdsMissing, BadRequestPredictionInvalidApplicationName, BadRequestPredictionInvalidQueryParameters, BadRequestPredictionResultsExceededCount, BadRequestPredictionTagsExceededCount, BadRequestProjectDescription, BadRequestProjectImagePreprocessingSettings, BadRequestProjectName, BadRequestProjectNameNotUnique, BadRequestProjectUnknownClassification, BadRequestProjectUnknownDomain, BadRequestProjectUnsupportedDomainTypeChange, BadRequestProjectUnsupportedExportPlatform, BadRequestRequiredParamIsNull, BadRequestReservedBudgetInHoursNotEnoughForAdvancedTraining, BadRequestSubscriptionAPI, BadRequestTagDescription, BadRequestTagName, BadRequestTagNameNotUnique, BadRequestTagType, BadRequestTrainingAlreadyInProgress, BadRequestTrainingNotNeeded, BadRequestTrainingNotNeededButTrainingPipelineUpdated, BadRequestTrainingValidationFailed, BadRequestUnpublishFailed, BadRequestWorkspaceCannotBeModified, BadRequestWorkspaceNotDeletable, Conflict, ConflictInvalid, ErrorExporterInvalidClassifier, ErrorExporterInvalidFeaturizer, ErrorExporterInvalidPlatform, ErrorFeaturizationAugmentationError, ErrorFeaturizationAugmentationUnavailable, ErrorFeaturizationInvalidFeaturizer, ErrorFeaturizationQueueTimeout, ErrorFeaturizationServiceUnavailable, ErrorFeaturizationUnrecognizedJob, ErrorInvalid, ErrorPrediction, ErrorPredictionModelNotCached, ErrorPredictionModelNotFound, ErrorPredictionServiceUnavailable, ErrorPredictionStorage, ErrorProjectExportRequestFailed, ErrorProjectInvalidDomain, ErrorProjectInvalidPipelineConfiguration, ErrorProjectInvalidWorkspace, ErrorProjectTrainingRequestFailed, ErrorRegionProposal, ErrorUnknown, Forbidden, ForbiddenDRModeEnabled, ForbiddenInvalid, ForbiddenUser, ForbiddenUserDisabled, ForbiddenUserDoesNotExist, ForbiddenUserInsufficientCapability, ForbiddenUserResource, ForbiddenUserSignupAllowanceExceeded, ForbiddenUserSignupDisabled, NoError, NotFound, NotFoundApimSubscription, NotFoundDomain, NotFoundImage, NotFoundInvalid, NotFoundIteration, NotFoundIterationPerformance, NotFoundProject, NotFoundProjectDefaultIteration, NotFoundTag, UnsupportedMediaType} +} + +// DomainType enumerates the values for domain type. +type DomainType string + +const ( + // Classification ... + Classification DomainType = "Classification" + // ObjectDetection ... + ObjectDetection DomainType = "ObjectDetection" +) + +// PossibleDomainTypeValues returns an array of possible values for the DomainType const type. +func PossibleDomainTypeValues() []DomainType { + return []DomainType{Classification, ObjectDetection} +} + +// ExportFlavor enumerates the values for export flavor. +type ExportFlavor string + +const ( + // ARM ... + ARM ExportFlavor = "ARM" + // Linux ... + Linux ExportFlavor = "Linux" + // ONNX10 ... + ONNX10 ExportFlavor = "ONNX10" + // ONNX12 ... + ONNX12 ExportFlavor = "ONNX12" + // TensorFlowLite ... + TensorFlowLite ExportFlavor = "TensorFlowLite" + // TensorFlowNormal ... + TensorFlowNormal ExportFlavor = "TensorFlowNormal" + // Windows ... + Windows ExportFlavor = "Windows" +) + +// PossibleExportFlavorValues returns an array of possible values for the ExportFlavor const type. +func PossibleExportFlavorValues() []ExportFlavor { + return []ExportFlavor{ARM, Linux, ONNX10, ONNX12, TensorFlowLite, TensorFlowNormal, Windows} +} + +// ExportPlatform enumerates the values for export platform. +type ExportPlatform string + +const ( + // CoreML ... + CoreML ExportPlatform = "CoreML" + // DockerFile ... + DockerFile ExportPlatform = "DockerFile" + // ONNX ... + ONNX ExportPlatform = "ONNX" + // TensorFlow ... + TensorFlow ExportPlatform = "TensorFlow" + // VAIDK ... + VAIDK ExportPlatform = "VAIDK" +) + +// PossibleExportPlatformValues returns an array of possible values for the ExportPlatform const type. +func PossibleExportPlatformValues() []ExportPlatform { + return []ExportPlatform{CoreML, DockerFile, ONNX, TensorFlow, VAIDK} +} + +// ExportStatus enumerates the values for export status. +type ExportStatus string + +const ( + // Done ... + Done ExportStatus = "Done" + // Exporting ... + Exporting ExportStatus = "Exporting" + // Failed ... + Failed ExportStatus = "Failed" +) + +// PossibleExportStatusValues returns an array of possible values for the ExportStatus const type. +func PossibleExportStatusValues() []ExportStatus { + return []ExportStatus{Done, Exporting, Failed} +} + +// ImageCreateStatus enumerates the values for image create status. +type ImageCreateStatus string + +const ( + // ImageCreateStatusErrorImageFormat ... + ImageCreateStatusErrorImageFormat ImageCreateStatus = "ErrorImageFormat" + // ImageCreateStatusErrorImageSize ... + ImageCreateStatusErrorImageSize ImageCreateStatus = "ErrorImageSize" + // ImageCreateStatusErrorLimitExceed ... + ImageCreateStatusErrorLimitExceed ImageCreateStatus = "ErrorLimitExceed" + // ImageCreateStatusErrorNegativeAndRegularTagOnSameImage ... + ImageCreateStatusErrorNegativeAndRegularTagOnSameImage ImageCreateStatus = "ErrorNegativeAndRegularTagOnSameImage" + // ImageCreateStatusErrorRegionLimitExceed ... + ImageCreateStatusErrorRegionLimitExceed ImageCreateStatus = "ErrorRegionLimitExceed" + // ImageCreateStatusErrorSource ... + ImageCreateStatusErrorSource ImageCreateStatus = "ErrorSource" + // ImageCreateStatusErrorStorage ... + ImageCreateStatusErrorStorage ImageCreateStatus = "ErrorStorage" + // ImageCreateStatusErrorTagLimitExceed ... + ImageCreateStatusErrorTagLimitExceed ImageCreateStatus = "ErrorTagLimitExceed" + // ImageCreateStatusErrorUnknown ... + ImageCreateStatusErrorUnknown ImageCreateStatus = "ErrorUnknown" + // ImageCreateStatusOK ... + ImageCreateStatusOK ImageCreateStatus = "OK" + // ImageCreateStatusOKDuplicate ... + ImageCreateStatusOKDuplicate ImageCreateStatus = "OKDuplicate" +) + +// PossibleImageCreateStatusValues returns an array of possible values for the ImageCreateStatus const type. +func PossibleImageCreateStatusValues() []ImageCreateStatus { + return []ImageCreateStatus{ImageCreateStatusErrorImageFormat, ImageCreateStatusErrorImageSize, ImageCreateStatusErrorLimitExceed, ImageCreateStatusErrorNegativeAndRegularTagOnSameImage, ImageCreateStatusErrorRegionLimitExceed, ImageCreateStatusErrorSource, ImageCreateStatusErrorStorage, ImageCreateStatusErrorTagLimitExceed, ImageCreateStatusErrorUnknown, ImageCreateStatusOK, ImageCreateStatusOKDuplicate} +} + +// OrderBy enumerates the values for order by. +type OrderBy string + +const ( + // Newest ... + Newest OrderBy = "Newest" + // Oldest ... + Oldest OrderBy = "Oldest" + // Suggested ... + Suggested OrderBy = "Suggested" +) + +// PossibleOrderByValues returns an array of possible values for the OrderBy const type. +func PossibleOrderByValues() []OrderBy { + return []OrderBy{Newest, Oldest, Suggested} +} + +// SortBy enumerates the values for sort by. +type SortBy string + +const ( + // UncertaintyAscending ... + UncertaintyAscending SortBy = "UncertaintyAscending" + // UncertaintyDescending ... + UncertaintyDescending SortBy = "UncertaintyDescending" +) + +// PossibleSortByValues returns an array of possible values for the SortBy const type. +func PossibleSortByValues() []SortBy { + return []SortBy{UncertaintyAscending, UncertaintyDescending} +} + +// TagType enumerates the values for tag type. +type TagType string + +const ( + // Negative ... + Negative TagType = "Negative" + // Regular ... + Regular TagType = "Regular" +) + +// PossibleTagTypeValues returns an array of possible values for the TagType const type. +func PossibleTagTypeValues() []TagType { + return []TagType{Negative, Regular} +} + +// Type enumerates the values for type. +type Type string + +const ( + // TypeAdvanced ... + TypeAdvanced Type = "Advanced" + // TypeRegular ... + TypeRegular Type = "Regular" +) + +// PossibleTypeValues returns an array of possible values for the Type const type. +func PossibleTypeValues() []Type { + return []Type{TypeAdvanced, TypeRegular} +} + +// Bool ... +type Bool struct { + autorest.Response `json:"-"` + Value *bool `json:"value,omitempty"` +} + +// BoundingBox bounding box that defines a region of an image. +type BoundingBox struct { + // Left - Coordinate of the left boundary. + Left *float64 `json:"left,omitempty"` + // Top - Coordinate of the top boundary. + Top *float64 `json:"top,omitempty"` + // Width - Width. + Width *float64 `json:"width,omitempty"` + // Height - Height. + Height *float64 `json:"height,omitempty"` +} + +// CustomVisionError ... +type CustomVisionError struct { + // Code - The error code. Possible values include: 'NoError', 'BadRequest', 'BadRequestExceededBatchSize', 'BadRequestNotSupported', 'BadRequestInvalidIds', 'BadRequestProjectName', 'BadRequestProjectNameNotUnique', 'BadRequestProjectDescription', 'BadRequestProjectUnknownDomain', 'BadRequestProjectUnknownClassification', 'BadRequestProjectUnsupportedDomainTypeChange', 'BadRequestProjectUnsupportedExportPlatform', 'BadRequestProjectImagePreprocessingSettings', 'BadRequestIterationName', 'BadRequestIterationNameNotUnique', 'BadRequestIterationDescription', 'BadRequestIterationIsNotTrained', 'BadRequestWorkspaceCannotBeModified', 'BadRequestWorkspaceNotDeletable', 'BadRequestTagName', 'BadRequestTagNameNotUnique', 'BadRequestTagDescription', 'BadRequestTagType', 'BadRequestMultipleNegativeTag', 'BadRequestImageTags', 'BadRequestImageRegions', 'BadRequestNegativeAndRegularTagOnSameImage', 'BadRequestRequiredParamIsNull', 'BadRequestIterationIsPublished', 'BadRequestInvalidPublishName', 'BadRequestInvalidPublishTarget', 'BadRequestUnpublishFailed', 'BadRequestIterationNotPublished', 'BadRequestSubscriptionAPI', 'BadRequestExceedProjectLimit', 'BadRequestExceedIterationPerProjectLimit', 'BadRequestExceedTagPerProjectLimit', 'BadRequestExceedTagPerImageLimit', 'BadRequestExceededQuota', 'BadRequestCannotMigrateProjectWithName', 'BadRequestNotLimitedTrial', 'BadRequestImageBatch', 'BadRequestImageStream', 'BadRequestImageURL', 'BadRequestImageFormat', 'BadRequestImageSizeBytes', 'BadRequestImageExceededCount', 'BadRequestTrainingNotNeeded', 'BadRequestTrainingNotNeededButTrainingPipelineUpdated', 'BadRequestTrainingValidationFailed', 'BadRequestClassificationTrainingValidationFailed', 'BadRequestMultiClassClassificationTrainingValidationFailed', 'BadRequestMultiLabelClassificationTrainingValidationFailed', 'BadRequestDetectionTrainingValidationFailed', 'BadRequestTrainingAlreadyInProgress', 'BadRequestDetectionTrainingNotAllowNegativeTag', 'BadRequestInvalidEmailAddress', 'BadRequestDomainNotSupportedForAdvancedTraining', 'BadRequestExportPlatformNotSupportedForAdvancedTraining', 'BadRequestReservedBudgetInHoursNotEnoughForAdvancedTraining', 'BadRequestExportValidationFailed', 'BadRequestExportAlreadyInProgress', 'BadRequestPredictionIdsMissing', 'BadRequestPredictionIdsExceededCount', 'BadRequestPredictionTagsExceededCount', 'BadRequestPredictionResultsExceededCount', 'BadRequestPredictionInvalidApplicationName', 'BadRequestPredictionInvalidQueryParameters', 'BadRequestInvalid', 'UnsupportedMediaType', 'Forbidden', 'ForbiddenUser', 'ForbiddenUserResource', 'ForbiddenUserSignupDisabled', 'ForbiddenUserSignupAllowanceExceeded', 'ForbiddenUserDoesNotExist', 'ForbiddenUserDisabled', 'ForbiddenUserInsufficientCapability', 'ForbiddenDRModeEnabled', 'ForbiddenInvalid', 'NotFound', 'NotFoundProject', 'NotFoundProjectDefaultIteration', 'NotFoundIteration', 'NotFoundIterationPerformance', 'NotFoundTag', 'NotFoundImage', 'NotFoundDomain', 'NotFoundApimSubscription', 'NotFoundInvalid', 'Conflict', 'ConflictInvalid', 'ErrorUnknown', 'ErrorProjectInvalidWorkspace', 'ErrorProjectInvalidPipelineConfiguration', 'ErrorProjectInvalidDomain', 'ErrorProjectTrainingRequestFailed', 'ErrorProjectExportRequestFailed', 'ErrorFeaturizationServiceUnavailable', 'ErrorFeaturizationQueueTimeout', 'ErrorFeaturizationInvalidFeaturizer', 'ErrorFeaturizationAugmentationUnavailable', 'ErrorFeaturizationUnrecognizedJob', 'ErrorFeaturizationAugmentationError', 'ErrorExporterInvalidPlatform', 'ErrorExporterInvalidFeaturizer', 'ErrorExporterInvalidClassifier', 'ErrorPredictionServiceUnavailable', 'ErrorPredictionModelNotFound', 'ErrorPredictionModelNotCached', 'ErrorPrediction', 'ErrorPredictionStorage', 'ErrorRegionProposal', 'ErrorInvalid' + Code CustomVisionErrorCodes `json:"code,omitempty"` + // Message - A message explaining the error reported by the service. + Message *string `json:"message,omitempty"` +} + +// Domain ... +type Domain struct { + autorest.Response `json:"-"` + // ID - READ-ONLY + ID *uuid.UUID `json:"id,omitempty"` + // Name - READ-ONLY + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Possible values include: 'Classification', 'ObjectDetection' + Type DomainType `json:"type,omitempty"` + // Exportable - READ-ONLY + Exportable *bool `json:"exportable,omitempty"` + // Enabled - READ-ONLY + Enabled *bool `json:"enabled,omitempty"` +} + +// Export ... +type Export struct { + autorest.Response `json:"-"` + // Platform - READ-ONLY; Platform of the export. Possible values include: 'CoreML', 'TensorFlow', 'DockerFile', 'ONNX', 'VAIDK' + Platform ExportPlatform `json:"platform,omitempty"` + // Status - READ-ONLY; Status of the export. Possible values include: 'Exporting', 'Failed', 'Done' + Status ExportStatus `json:"status,omitempty"` + // DownloadURI - READ-ONLY; URI used to download the model. + DownloadURI *string `json:"downloadUri,omitempty"` + // Flavor - READ-ONLY; Flavor of the export. Possible values include: 'Linux', 'Windows', 'ONNX10', 'ONNX12', 'ARM', 'TensorFlowNormal', 'TensorFlowLite' + Flavor ExportFlavor `json:"flavor,omitempty"` + // NewerVersionAvailable - READ-ONLY; Indicates an updated version of the export package is available and should be re-exported for the latest changes. + NewerVersionAvailable *bool `json:"newerVersionAvailable,omitempty"` +} + +// Image image model to be sent as JSON. +type Image struct { + // ID - READ-ONLY; Id of the image. + ID *uuid.UUID `json:"id,omitempty"` + // Created - READ-ONLY; Date the image was created. + Created *date.Time `json:"created,omitempty"` + // Width - READ-ONLY; Width of the image. + Width *int32 `json:"width,omitempty"` + // Height - READ-ONLY; Height of the image. + Height *int32 `json:"height,omitempty"` + // ResizedImageURI - READ-ONLY; The URI to the (resized) image used for training. + ResizedImageURI *string `json:"resizedImageUri,omitempty"` + // ThumbnailURI - READ-ONLY; The URI to the thumbnail of the original image. + ThumbnailURI *string `json:"thumbnailUri,omitempty"` + // OriginalImageURI - READ-ONLY; The URI to the original uploaded image. + OriginalImageURI *string `json:"originalImageUri,omitempty"` + // Tags - READ-ONLY; Tags associated with this image. + Tags *[]ImageTag `json:"tags,omitempty"` + // Regions - READ-ONLY; Regions associated with this image. + Regions *[]ImageRegion `json:"regions,omitempty"` +} + +// ImageCreateResult ... +type ImageCreateResult struct { + // SourceURL - READ-ONLY; Source URL of the image. + SourceURL *string `json:"sourceUrl,omitempty"` + // Status - READ-ONLY; Status of the image creation. Possible values include: 'ImageCreateStatusOK', 'ImageCreateStatusOKDuplicate', 'ImageCreateStatusErrorSource', 'ImageCreateStatusErrorImageFormat', 'ImageCreateStatusErrorImageSize', 'ImageCreateStatusErrorStorage', 'ImageCreateStatusErrorLimitExceed', 'ImageCreateStatusErrorTagLimitExceed', 'ImageCreateStatusErrorRegionLimitExceed', 'ImageCreateStatusErrorUnknown', 'ImageCreateStatusErrorNegativeAndRegularTagOnSameImage' + Status ImageCreateStatus `json:"status,omitempty"` + // Image - READ-ONLY; The image. + Image *Image `json:"image,omitempty"` +} + +// ImageCreateSummary ... +type ImageCreateSummary struct { + autorest.Response `json:"-"` + // IsBatchSuccessful - READ-ONLY; True if all of the images in the batch were created successfully, otherwise false. + IsBatchSuccessful *bool `json:"isBatchSuccessful,omitempty"` + // Images - READ-ONLY; List of the image creation results. + Images *[]ImageCreateResult `json:"images,omitempty"` +} + +// ImageFileCreateBatch ... +type ImageFileCreateBatch struct { + Images *[]ImageFileCreateEntry `json:"images,omitempty"` + TagIds *[]uuid.UUID `json:"tagIds,omitempty"` +} + +// ImageFileCreateEntry ... +type ImageFileCreateEntry struct { + Name *string `json:"name,omitempty"` + Contents *[]byte `json:"contents,omitempty"` + TagIds *[]uuid.UUID `json:"tagIds,omitempty"` + Regions *[]Region `json:"regions,omitempty"` +} + +// ImageIDCreateBatch ... +type ImageIDCreateBatch struct { + Images *[]ImageIDCreateEntry `json:"images,omitempty"` + TagIds *[]uuid.UUID `json:"tagIds,omitempty"` +} + +// ImageIDCreateEntry ... +type ImageIDCreateEntry struct { + // ID - Id of the image. + ID *uuid.UUID `json:"id,omitempty"` + TagIds *[]uuid.UUID `json:"tagIds,omitempty"` + Regions *[]Region `json:"regions,omitempty"` +} + +// ImagePerformance image performance model. +type ImagePerformance struct { + // Predictions - READ-ONLY + Predictions *[]Prediction `json:"predictions,omitempty"` + // ID - READ-ONLY + ID *uuid.UUID `json:"id,omitempty"` + // Created - READ-ONLY + Created *date.Time `json:"created,omitempty"` + // Width - READ-ONLY + Width *int32 `json:"width,omitempty"` + // Height - READ-ONLY + Height *int32 `json:"height,omitempty"` + // ImageURI - READ-ONLY + ImageURI *string `json:"imageUri,omitempty"` + // ThumbnailURI - READ-ONLY + ThumbnailURI *string `json:"thumbnailUri,omitempty"` + // Tags - READ-ONLY + Tags *[]ImageTag `json:"tags,omitempty"` + // Regions - READ-ONLY + Regions *[]ImageRegion `json:"regions,omitempty"` +} + +// ImagePrediction result of an image prediction request. +type ImagePrediction struct { + autorest.Response `json:"-"` + // ID - READ-ONLY; Prediction Id. + ID *uuid.UUID `json:"id,omitempty"` + // Project - READ-ONLY; Project Id. + Project *uuid.UUID `json:"project,omitempty"` + // Iteration - READ-ONLY; Iteration Id. + Iteration *uuid.UUID `json:"iteration,omitempty"` + // Created - READ-ONLY; Date this prediction was created. + Created *date.Time `json:"created,omitempty"` + // Predictions - READ-ONLY; List of predictions. + Predictions *[]Prediction `json:"predictions,omitempty"` +} + +// ImageProcessingSettings represents image preprocessing settings used by image augmentation. +type ImageProcessingSettings struct { + // AugmentationMethods - Gets or sets enabled image transforms. The key corresponds to the transform name. If value is set to true, then correspondent transform is enabled. Otherwise this transform will not be used. + // Augmentation will be uniformly distributed among enabled transforms. + AugmentationMethods map[string]*bool `json:"augmentationMethods"` +} + +// MarshalJSON is the custom marshaler for ImageProcessingSettings. +func (ips ImageProcessingSettings) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if ips.AugmentationMethods != nil { + objectMap["augmentationMethods"] = ips.AugmentationMethods + } + return json.Marshal(objectMap) +} + +// ImageRegion ... +type ImageRegion struct { + // RegionID - READ-ONLY + RegionID *uuid.UUID `json:"regionId,omitempty"` + // TagName - READ-ONLY + TagName *string `json:"tagName,omitempty"` + // Created - READ-ONLY + Created *date.Time `json:"created,omitempty"` + // TagID - Id of the tag associated with this region. + TagID *uuid.UUID `json:"tagId,omitempty"` + // Left - Coordinate of the left boundary. + Left *float64 `json:"left,omitempty"` + // Top - Coordinate of the top boundary. + Top *float64 `json:"top,omitempty"` + // Width - Width. + Width *float64 `json:"width,omitempty"` + // Height - Height. + Height *float64 `json:"height,omitempty"` +} + +// ImageRegionCreateBatch batch of image region information to create. +type ImageRegionCreateBatch struct { + Regions *[]ImageRegionCreateEntry `json:"regions,omitempty"` +} + +// ImageRegionCreateEntry entry associating a region to an image. +type ImageRegionCreateEntry struct { + // ImageID - Id of the image. + ImageID *uuid.UUID `json:"imageId,omitempty"` + // TagID - Id of the tag associated with this region. + TagID *uuid.UUID `json:"tagId,omitempty"` + // Left - Coordinate of the left boundary. + Left *float64 `json:"left,omitempty"` + // Top - Coordinate of the top boundary. + Top *float64 `json:"top,omitempty"` + // Width - Width. + Width *float64 `json:"width,omitempty"` + // Height - Height. + Height *float64 `json:"height,omitempty"` +} + +// ImageRegionCreateResult ... +type ImageRegionCreateResult struct { + // ImageID - READ-ONLY + ImageID *uuid.UUID `json:"imageId,omitempty"` + // RegionID - READ-ONLY + RegionID *uuid.UUID `json:"regionId,omitempty"` + // TagName - READ-ONLY + TagName *string `json:"tagName,omitempty"` + // Created - READ-ONLY + Created *date.Time `json:"created,omitempty"` + // TagID - Id of the tag associated with this region. + TagID *uuid.UUID `json:"tagId,omitempty"` + // Left - Coordinate of the left boundary. + Left *float64 `json:"left,omitempty"` + // Top - Coordinate of the top boundary. + Top *float64 `json:"top,omitempty"` + // Width - Width. + Width *float64 `json:"width,omitempty"` + // Height - Height. + Height *float64 `json:"height,omitempty"` +} + +// ImageRegionCreateSummary ... +type ImageRegionCreateSummary struct { + autorest.Response `json:"-"` + Created *[]ImageRegionCreateResult `json:"created,omitempty"` + Duplicated *[]ImageRegionCreateEntry `json:"duplicated,omitempty"` + Exceeded *[]ImageRegionCreateEntry `json:"exceeded,omitempty"` +} + +// ImageRegionProposal ... +type ImageRegionProposal struct { + autorest.Response `json:"-"` + // ProjectID - READ-ONLY + ProjectID *uuid.UUID `json:"projectId,omitempty"` + // ImageID - READ-ONLY + ImageID *uuid.UUID `json:"imageId,omitempty"` + // Proposals - READ-ONLY + Proposals *[]RegionProposal `json:"proposals,omitempty"` +} + +// ImageTag ... +type ImageTag struct { + // TagID - READ-ONLY + TagID *uuid.UUID `json:"tagId,omitempty"` + // TagName - READ-ONLY + TagName *string `json:"tagName,omitempty"` + // Created - READ-ONLY + Created *date.Time `json:"created,omitempty"` +} + +// ImageTagCreateBatch batch of image tags. +type ImageTagCreateBatch struct { + // Tags - Image Tag entries to include in this batch. + Tags *[]ImageTagCreateEntry `json:"tags,omitempty"` +} + +// ImageTagCreateEntry entry associating a tag to an image. +type ImageTagCreateEntry struct { + // ImageID - Id of the image. + ImageID *uuid.UUID `json:"imageId,omitempty"` + // TagID - Id of the tag. + TagID *uuid.UUID `json:"tagId,omitempty"` +} + +// ImageTagCreateSummary ... +type ImageTagCreateSummary struct { + autorest.Response `json:"-"` + Created *[]ImageTagCreateEntry `json:"created,omitempty"` + Duplicated *[]ImageTagCreateEntry `json:"duplicated,omitempty"` + Exceeded *[]ImageTagCreateEntry `json:"exceeded,omitempty"` +} + +// ImageURL image url. +type ImageURL struct { + // URL - Url of the image. + URL *string `json:"url,omitempty"` +} + +// ImageURLCreateBatch ... +type ImageURLCreateBatch struct { + Images *[]ImageURLCreateEntry `json:"images,omitempty"` + TagIds *[]uuid.UUID `json:"tagIds,omitempty"` +} + +// ImageURLCreateEntry ... +type ImageURLCreateEntry struct { + // URL - Url of the image. + URL *string `json:"url,omitempty"` + TagIds *[]uuid.UUID `json:"tagIds,omitempty"` + Regions *[]Region `json:"regions,omitempty"` +} + +// Int32 ... +type Int32 struct { + autorest.Response `json:"-"` + Value *int32 `json:"value,omitempty"` +} + +// Iteration iteration model to be sent over JSON. +type Iteration struct { + autorest.Response `json:"-"` + // ID - READ-ONLY; Gets the id of the iteration. + ID *uuid.UUID `json:"id,omitempty"` + // Name - Gets or sets the name of the iteration. + Name *string `json:"name,omitempty"` + // Status - READ-ONLY; Gets the current iteration status. + Status *string `json:"status,omitempty"` + // Created - READ-ONLY; Gets the time this iteration was completed. + Created *date.Time `json:"created,omitempty"` + // LastModified - READ-ONLY; Gets the time this iteration was last modified. + LastModified *date.Time `json:"lastModified,omitempty"` + // TrainedAt - READ-ONLY; Gets the time this iteration was last modified. + TrainedAt *date.Time `json:"trainedAt,omitempty"` + // ProjectID - READ-ONLY; Gets the project id of the iteration. + ProjectID *uuid.UUID `json:"projectId,omitempty"` + // Exportable - READ-ONLY; Whether the iteration can be exported to another format for download. + Exportable *bool `json:"exportable,omitempty"` + // ExportableTo - READ-ONLY; A set of platforms this iteration can export to. + ExportableTo *[]string `json:"exportableTo,omitempty"` + // DomainID - READ-ONLY; Get or sets a guid of the domain the iteration has been trained on. + DomainID *uuid.UUID `json:"domainId,omitempty"` + // ClassificationType - READ-ONLY; Gets the classification type of the project. Possible values include: 'Multiclass', 'Multilabel' + ClassificationType Classifier `json:"classificationType,omitempty"` + // TrainingType - READ-ONLY; Gets the training type of the iteration. Possible values include: 'TypeRegular', 'TypeAdvanced' + TrainingType Type `json:"trainingType,omitempty"` + // ReservedBudgetInHours - READ-ONLY; Gets the reserved advanced training budget for the iteration. + ReservedBudgetInHours *int32 `json:"reservedBudgetInHours,omitempty"` + // TrainingTimeInMinutes - READ-ONLY; Gets the training time for the iteration. + TrainingTimeInMinutes *int32 `json:"trainingTimeInMinutes,omitempty"` + // PublishName - READ-ONLY; Name of the published model. + PublishName *string `json:"publishName,omitempty"` + // OriginalPublishResourceID - READ-ONLY; Resource Provider Id this iteration was originally published to. + OriginalPublishResourceID *string `json:"originalPublishResourceId,omitempty"` +} + +// IterationPerformance represents the detailed performance data for a trained iteration. +type IterationPerformance struct { + autorest.Response `json:"-"` + // PerTagPerformance - READ-ONLY; Gets the per-tag performance details for this iteration. + PerTagPerformance *[]TagPerformance `json:"perTagPerformance,omitempty"` + // Precision - READ-ONLY; Gets the precision. + Precision *float64 `json:"precision,omitempty"` + // PrecisionStdDeviation - READ-ONLY; Gets the standard deviation for the precision. + PrecisionStdDeviation *float64 `json:"precisionStdDeviation,omitempty"` + // Recall - READ-ONLY; Gets the recall. + Recall *float64 `json:"recall,omitempty"` + // RecallStdDeviation - READ-ONLY; Gets the standard deviation for the recall. + RecallStdDeviation *float64 `json:"recallStdDeviation,omitempty"` + // AveragePrecision - READ-ONLY; Gets the average precision when applicable. + AveragePrecision *float64 `json:"averagePrecision,omitempty"` +} + +// ListDomain ... +type ListDomain struct { + autorest.Response `json:"-"` + Value *[]Domain `json:"value,omitempty"` +} + +// ListExport ... +type ListExport struct { + autorest.Response `json:"-"` + Value *[]Export `json:"value,omitempty"` +} + +// ListImage ... +type ListImage struct { + autorest.Response `json:"-"` + Value *[]Image `json:"value,omitempty"` +} + +// ListImagePerformance ... +type ListImagePerformance struct { + autorest.Response `json:"-"` + Value *[]ImagePerformance `json:"value,omitempty"` +} + +// ListIteration ... +type ListIteration struct { + autorest.Response `json:"-"` + Value *[]Iteration `json:"value,omitempty"` +} + +// ListProject ... +type ListProject struct { + autorest.Response `json:"-"` + Value *[]Project `json:"value,omitempty"` +} + +// ListSuggestedTagAndRegion ... +type ListSuggestedTagAndRegion struct { + autorest.Response `json:"-"` + Value *[]SuggestedTagAndRegion `json:"value,omitempty"` +} + +// ListTag ... +type ListTag struct { + autorest.Response `json:"-"` + Value *[]Tag `json:"value,omitempty"` +} + +// Prediction prediction result. +type Prediction struct { + // Probability - READ-ONLY; Probability of the tag. + Probability *float64 `json:"probability,omitempty"` + // TagID - READ-ONLY; Id of the predicted tag. + TagID *uuid.UUID `json:"tagId,omitempty"` + // TagName - READ-ONLY; Name of the predicted tag. + TagName *string `json:"tagName,omitempty"` + // BoundingBox - READ-ONLY; Bounding box of the prediction. + BoundingBox *BoundingBox `json:"boundingBox,omitempty"` +} + +// PredictionQueryResult query result of the prediction images that were sent to your prediction endpoint. +type PredictionQueryResult struct { + autorest.Response `json:"-"` + // Token - Prediction Query Token. + Token *PredictionQueryToken `json:"token,omitempty"` + // Results - READ-ONLY; Result of an prediction request. + Results *[]StoredImagePrediction `json:"results,omitempty"` +} + +// PredictionQueryTag ... +type PredictionQueryTag struct { + ID *uuid.UUID `json:"id,omitempty"` + MinThreshold *float64 `json:"minThreshold,omitempty"` + MaxThreshold *float64 `json:"maxThreshold,omitempty"` +} + +// PredictionQueryToken ... +type PredictionQueryToken struct { + Session *string `json:"session,omitempty"` + Continuation *string `json:"continuation,omitempty"` + MaxCount *int32 `json:"maxCount,omitempty"` + // OrderBy - Possible values include: 'Newest', 'Oldest', 'Suggested' + OrderBy OrderBy `json:"orderBy,omitempty"` + Tags *[]PredictionQueryTag `json:"tags,omitempty"` + IterationID *uuid.UUID `json:"iterationId,omitempty"` + StartTime *date.Time `json:"startTime,omitempty"` + EndTime *date.Time `json:"endTime,omitempty"` + Application *string `json:"application,omitempty"` +} + +// Project represents a project. +type Project struct { + autorest.Response `json:"-"` + // ID - READ-ONLY; Gets the project id. + ID *uuid.UUID `json:"id,omitempty"` + // Name - Gets or sets the name of the project. + Name *string `json:"name,omitempty"` + // Description - Gets or sets the description of the project. + Description *string `json:"description,omitempty"` + // Settings - Gets or sets the project settings. + Settings *ProjectSettings `json:"settings,omitempty"` + // Created - READ-ONLY; Gets the date this project was created. + Created *date.Time `json:"created,omitempty"` + // LastModified - READ-ONLY; Gets the date this project was last modified. + LastModified *date.Time `json:"lastModified,omitempty"` + // ThumbnailURI - READ-ONLY; Gets the thumbnail url representing the image. + ThumbnailURI *string `json:"thumbnailUri,omitempty"` + // DrModeEnabled - READ-ONLY; Gets if the Disaster Recovery (DR) mode is on, indicating the project is temporarily read-only. + DrModeEnabled *bool `json:"drModeEnabled,omitempty"` +} + +// ProjectSettings represents settings associated with a project. +type ProjectSettings struct { + // DomainID - Gets or sets the id of the Domain to use with this project. + DomainID *uuid.UUID `json:"domainId,omitempty"` + // ClassificationType - Gets or sets the classification type of the project. Possible values include: 'Multiclass', 'Multilabel' + ClassificationType Classifier `json:"classificationType,omitempty"` + // TargetExportPlatforms - A list of ExportPlatform that the trained model should be able to support. + TargetExportPlatforms *[]string `json:"targetExportPlatforms,omitempty"` + // UseNegativeSet - READ-ONLY; Indicates if negative set is being used. + UseNegativeSet *bool `json:"useNegativeSet,omitempty"` + // DetectionParameters - READ-ONLY; Detection parameters in use, if any. + DetectionParameters *string `json:"detectionParameters,omitempty"` + // ImageProcessingSettings - Gets or sets image preprocessing settings. + ImageProcessingSettings *ImageProcessingSettings `json:"imageProcessingSettings,omitempty"` +} + +// Region ... +type Region struct { + // TagID - Id of the tag associated with this region. + TagID *uuid.UUID `json:"tagId,omitempty"` + // Left - Coordinate of the left boundary. + Left *float64 `json:"left,omitempty"` + // Top - Coordinate of the top boundary. + Top *float64 `json:"top,omitempty"` + // Width - Width. + Width *float64 `json:"width,omitempty"` + // Height - Height. + Height *float64 `json:"height,omitempty"` +} + +// RegionProposal ... +type RegionProposal struct { + // Confidence - READ-ONLY + Confidence *float64 `json:"confidence,omitempty"` + // BoundingBox - READ-ONLY + BoundingBox *BoundingBox `json:"boundingBox,omitempty"` +} + +// SetInt32 ... +type SetInt32 struct { + autorest.Response `json:"-"` + Value map[string]*int32 `json:"value"` +} + +// MarshalJSON is the custom marshaler for SetInt32. +func (si3 SetInt32) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if si3.Value != nil { + objectMap["value"] = si3.Value + } + return json.Marshal(objectMap) +} + +// StoredImagePrediction result of an image prediction request. +type StoredImagePrediction struct { + // ResizedImageURI - READ-ONLY; The URI to the (resized) prediction image. + ResizedImageURI *string `json:"resizedImageUri,omitempty"` + // ThumbnailURI - READ-ONLY; The URI to the thumbnail of the original prediction image. + ThumbnailURI *string `json:"thumbnailUri,omitempty"` + // OriginalImageURI - READ-ONLY; The URI to the original prediction image. + OriginalImageURI *string `json:"originalImageUri,omitempty"` + // Domain - READ-ONLY; Domain used for the prediction. + Domain *uuid.UUID `json:"domain,omitempty"` + // ID - READ-ONLY; Prediction Id. + ID *uuid.UUID `json:"id,omitempty"` + // Project - READ-ONLY; Project Id. + Project *uuid.UUID `json:"project,omitempty"` + // Iteration - READ-ONLY; Iteration Id. + Iteration *uuid.UUID `json:"iteration,omitempty"` + // Created - READ-ONLY; Date this prediction was created. + Created *date.Time `json:"created,omitempty"` + // Predictions - READ-ONLY; List of predictions. + Predictions *[]Prediction `json:"predictions,omitempty"` +} + +// StoredSuggestedTagAndRegion result of a suggested tags and regions request of the untagged image. +type StoredSuggestedTagAndRegion struct { + // Width - READ-ONLY; Width of the resized image. + Width *int32 `json:"width,omitempty"` + // Height - READ-ONLY; Height of the resized image. + Height *int32 `json:"height,omitempty"` + // ResizedImageURI - READ-ONLY; The URI to the (resized) prediction image. + ResizedImageURI *string `json:"resizedImageUri,omitempty"` + // ThumbnailURI - READ-ONLY; The URI to the thumbnail of the original prediction image. + ThumbnailURI *string `json:"thumbnailUri,omitempty"` + // OriginalImageURI - READ-ONLY; The URI to the original prediction image. + OriginalImageURI *string `json:"originalImageUri,omitempty"` + // Domain - READ-ONLY; Domain used for the prediction. + Domain *uuid.UUID `json:"domain,omitempty"` + // ID - READ-ONLY; Prediction Id. + ID *uuid.UUID `json:"id,omitempty"` + // Project - READ-ONLY; Project Id. + Project *uuid.UUID `json:"project,omitempty"` + // Iteration - READ-ONLY; Iteration Id. + Iteration *uuid.UUID `json:"iteration,omitempty"` + // Created - READ-ONLY; Date this prediction was created. + Created *date.Time `json:"created,omitempty"` + // Predictions - READ-ONLY; List of predictions. + Predictions *[]Prediction `json:"predictions,omitempty"` + // PredictionUncertainty - READ-ONLY; Uncertainty (entropy) of suggested tags or regions per image. + PredictionUncertainty *float64 `json:"predictionUncertainty,omitempty"` +} + +// SuggestedTagAndRegion result of a suggested tags and regions request. +type SuggestedTagAndRegion struct { + // ID - READ-ONLY; Prediction Id. + ID *uuid.UUID `json:"id,omitempty"` + // Project - READ-ONLY; Project Id. + Project *uuid.UUID `json:"project,omitempty"` + // Iteration - READ-ONLY; Iteration Id. + Iteration *uuid.UUID `json:"iteration,omitempty"` + // Created - READ-ONLY; Date this prediction was created. + Created *date.Time `json:"created,omitempty"` + // Predictions - READ-ONLY; List of predictions. + Predictions *[]Prediction `json:"predictions,omitempty"` + // PredictionUncertainty - READ-ONLY; Uncertainty (entropy) of suggested tags or regions per image. + PredictionUncertainty *float64 `json:"predictionUncertainty,omitempty"` +} + +// SuggestedTagAndRegionQuery the array of result images and token containing session and continuation Ids +// for the next query. +type SuggestedTagAndRegionQuery struct { + autorest.Response `json:"-"` + // Token - Contains properties we need to fetch suggested tags for. + Token *SuggestedTagAndRegionQueryToken `json:"token,omitempty"` + // Results - READ-ONLY; Result of a suggested tags and regions request of the untagged image. + Results *[]StoredSuggestedTagAndRegion `json:"results,omitempty"` +} + +// SuggestedTagAndRegionQueryToken contains properties we need to fetch suggested tags for. For the first +// call, Session and continuation set to null. +// Then on subsequent calls, uses the session/continuation from the previous SuggestedTagAndRegionQuery +// result to fetch additional results. +type SuggestedTagAndRegionQueryToken struct { + // TagIds - Existing TagIds in project to filter suggested tags on. + TagIds *[]uuid.UUID `json:"tagIds,omitempty"` + // Threshold - Confidence threshold to filter suggested tags on. + Threshold *float64 `json:"threshold,omitempty"` + // Session - SessionId for database query. Initially set to null but later used to paginate. + Session *string `json:"session,omitempty"` + // Continuation - Continuation Id for database pagination. Initially null but later used to paginate. + Continuation *string `json:"continuation,omitempty"` + // MaxCount - Maximum number of results you want to be returned in the response. + MaxCount *int32 `json:"maxCount,omitempty"` + // SortBy - OrderBy. Ordering mechanism for your results. Possible values include: 'UncertaintyAscending', 'UncertaintyDescending' + SortBy SortBy `json:"sortBy,omitempty"` +} + +// Tag represents a Tag. +type Tag struct { + autorest.Response `json:"-"` + // ID - READ-ONLY; Gets the Tag ID. + ID *uuid.UUID `json:"id,omitempty"` + // Name - Gets or sets the name of the tag. + Name *string `json:"name,omitempty"` + // Description - Gets or sets the description of the tag. + Description *string `json:"description,omitempty"` + // Type - Gets or sets the type of the tag. Possible values include: 'Regular', 'Negative' + Type TagType `json:"type,omitempty"` + // ImageCount - READ-ONLY; Gets the number of images with this tag. + ImageCount *int32 `json:"imageCount,omitempty"` +} + +// TagFilter model that query for counting of images whose suggested tags match given tags and their +// probability are greater than or equal to the given threshold. +type TagFilter struct { + // TagIds - Existing TagIds in project to get suggested tags count for. + TagIds *[]uuid.UUID `json:"tagIds,omitempty"` + // Threshold - Confidence threshold to filter suggested tags on. + Threshold *float64 `json:"threshold,omitempty"` +} + +// TagPerformance represents performance data for a particular tag in a trained iteration. +type TagPerformance struct { + // ID - READ-ONLY + ID *uuid.UUID `json:"id,omitempty"` + // Name - READ-ONLY + Name *string `json:"name,omitempty"` + // Precision - READ-ONLY; Gets the precision. + Precision *float64 `json:"precision,omitempty"` + // PrecisionStdDeviation - READ-ONLY; Gets the standard deviation for the precision. + PrecisionStdDeviation *float64 `json:"precisionStdDeviation,omitempty"` + // Recall - READ-ONLY; Gets the recall. + Recall *float64 `json:"recall,omitempty"` + // RecallStdDeviation - READ-ONLY; Gets the standard deviation for the recall. + RecallStdDeviation *float64 `json:"recallStdDeviation,omitempty"` + // AveragePrecision - READ-ONLY; Gets the average precision when applicable. + AveragePrecision *float64 `json:"averagePrecision,omitempty"` +} diff --git a/services/cognitiveservices/v3.1/customvision/training/trainingapi/interfaces.go b/services/cognitiveservices/v3.1/customvision/training/trainingapi/interfaces.go new file mode 100644 index 000000000000..a8daec99beba --- /dev/null +++ b/services/cognitiveservices/v3.1/customvision/training/trainingapi/interfaces.go @@ -0,0 +1,78 @@ +package trainingapi + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/azure-sdk-for-go/services/cognitiveservices/v3.1/customvision/training" + "github.com/Azure/go-autorest/autorest" + "github.com/satori/go.uuid" + "io" +) + +// BaseClientAPI contains the set of methods on the BaseClient type. +type BaseClientAPI interface { + CreateImageRegions(ctx context.Context, projectID uuid.UUID, batch training.ImageRegionCreateBatch) (result training.ImageRegionCreateSummary, err error) + CreateImagesFromData(ctx context.Context, projectID uuid.UUID, imageData io.ReadCloser, tagIds []uuid.UUID) (result training.ImageCreateSummary, err error) + CreateImagesFromFiles(ctx context.Context, projectID uuid.UUID, batch training.ImageFileCreateBatch) (result training.ImageCreateSummary, err error) + CreateImagesFromPredictions(ctx context.Context, projectID uuid.UUID, batch training.ImageIDCreateBatch) (result training.ImageCreateSummary, err error) + CreateImagesFromUrls(ctx context.Context, projectID uuid.UUID, batch training.ImageURLCreateBatch) (result training.ImageCreateSummary, err error) + CreateImageTags(ctx context.Context, projectID uuid.UUID, batch training.ImageTagCreateBatch) (result training.ImageTagCreateSummary, err error) + CreateProject(ctx context.Context, name string, description string, domainID *uuid.UUID, classificationType string, targetExportPlatforms []string) (result training.Project, err error) + CreateTag(ctx context.Context, projectID uuid.UUID, name string, description string, typeParameter string) (result training.Tag, err error) + DeleteImageRegions(ctx context.Context, projectID uuid.UUID, regionIds []uuid.UUID) (result autorest.Response, err error) + DeleteImages(ctx context.Context, projectID uuid.UUID, imageIds []uuid.UUID, allImages *bool, allIterations *bool) (result autorest.Response, err error) + DeleteImageTags(ctx context.Context, projectID uuid.UUID, imageIds []uuid.UUID, tagIds []uuid.UUID) (result autorest.Response, err error) + DeleteIteration(ctx context.Context, projectID uuid.UUID, iterationID uuid.UUID) (result autorest.Response, err error) + DeletePrediction(ctx context.Context, projectID uuid.UUID, ids []uuid.UUID) (result autorest.Response, err error) + DeleteProject(ctx context.Context, projectID uuid.UUID) (result autorest.Response, err error) + DeleteTag(ctx context.Context, projectID uuid.UUID, tagID uuid.UUID) (result autorest.Response, err error) + ExportIteration(ctx context.Context, projectID uuid.UUID, iterationID uuid.UUID, platform string, flavor string) (result training.Export, err error) + GetDomain(ctx context.Context, domainID uuid.UUID) (result training.Domain, err error) + GetDomains(ctx context.Context) (result training.ListDomain, err error) + GetExports(ctx context.Context, projectID uuid.UUID, iterationID uuid.UUID) (result training.ListExport, err error) + GetImagePerformanceCount(ctx context.Context, projectID uuid.UUID, iterationID uuid.UUID, tagIds []uuid.UUID) (result training.Int32, err error) + GetImagePerformances(ctx context.Context, projectID uuid.UUID, iterationID uuid.UUID, tagIds []uuid.UUID, orderBy string, take *int32, skip *int32) (result training.ListImagePerformance, err error) + GetImageRegionProposals(ctx context.Context, projectID uuid.UUID, imageID uuid.UUID) (result training.ImageRegionProposal, err error) + GetImagesByIds(ctx context.Context, projectID uuid.UUID, imageIds []uuid.UUID, iterationID *uuid.UUID) (result training.ListImage, err error) + GetIteration(ctx context.Context, projectID uuid.UUID, iterationID uuid.UUID) (result training.Iteration, err error) + GetIterationPerformance(ctx context.Context, projectID uuid.UUID, iterationID uuid.UUID, threshold *float64, overlapThreshold *float64) (result training.IterationPerformance, err error) + GetIterations(ctx context.Context, projectID uuid.UUID) (result training.ListIteration, err error) + GetProject(ctx context.Context, projectID uuid.UUID) (result training.Project, err error) + GetProjects(ctx context.Context) (result training.ListProject, err error) + GetTag(ctx context.Context, projectID uuid.UUID, tagID uuid.UUID, iterationID *uuid.UUID) (result training.Tag, err error) + GetTaggedImageCount(ctx context.Context, projectID uuid.UUID, iterationID *uuid.UUID, tagIds []uuid.UUID) (result training.Int32, err error) + GetTaggedImages(ctx context.Context, projectID uuid.UUID, iterationID *uuid.UUID, tagIds []uuid.UUID, orderBy string, take *int32, skip *int32) (result training.ListImage, err error) + GetTags(ctx context.Context, projectID uuid.UUID, iterationID *uuid.UUID) (result training.ListTag, err error) + GetUntaggedImageCount(ctx context.Context, projectID uuid.UUID, iterationID *uuid.UUID) (result training.Int32, err error) + GetUntaggedImages(ctx context.Context, projectID uuid.UUID, iterationID *uuid.UUID, orderBy string, take *int32, skip *int32) (result training.ListImage, err error) + PublishIteration(ctx context.Context, projectID uuid.UUID, iterationID uuid.UUID, publishName string, predictionID string) (result training.Bool, err error) + QueryPredictions(ctx context.Context, projectID uuid.UUID, query training.PredictionQueryToken) (result training.PredictionQueryResult, err error) + QuerySuggestedImageCount(ctx context.Context, projectID uuid.UUID, iterationID uuid.UUID, query training.TagFilter) (result training.SetInt32, err error) + QuerySuggestedImages(ctx context.Context, projectID uuid.UUID, iterationID uuid.UUID, query training.SuggestedTagAndRegionQueryToken) (result training.SuggestedTagAndRegionQuery, err error) + QuickTestImage(ctx context.Context, projectID uuid.UUID, imageData io.ReadCloser, iterationID *uuid.UUID, store *bool) (result training.ImagePrediction, err error) + QuickTestImageURL(ctx context.Context, projectID uuid.UUID, imageURL training.ImageURL, iterationID *uuid.UUID, store *bool) (result training.ImagePrediction, err error) + SuggestTagsAndRegions(ctx context.Context, projectID uuid.UUID, iterationID uuid.UUID, imageIds []uuid.UUID) (result training.ListSuggestedTagAndRegion, err error) + TrainProject(ctx context.Context, projectID uuid.UUID, trainingType string, reservedBudgetInHours *int32, forceTrain *bool, notificationEmailAddress string) (result training.Iteration, err error) + UnpublishIteration(ctx context.Context, projectID uuid.UUID, iterationID uuid.UUID) (result autorest.Response, err error) + UpdateIteration(ctx context.Context, projectID uuid.UUID, iterationID uuid.UUID, updatedIteration training.Iteration) (result training.Iteration, err error) + UpdateProject(ctx context.Context, projectID uuid.UUID, updatedProject training.Project) (result training.Project, err error) + UpdateTag(ctx context.Context, projectID uuid.UUID, tagID uuid.UUID, updatedTag training.Tag) (result training.Tag, err error) +} + +var _ BaseClientAPI = (*training.BaseClient)(nil) diff --git a/services/batch/2016-02-01.3.0/batch/version.go b/services/cognitiveservices/v3.1/customvision/training/version.go similarity index 92% rename from services/batch/2016-02-01.3.0/batch/version.go rename to services/cognitiveservices/v3.1/customvision/training/version.go index 5acaa3accc99..9d1a5a43ec13 100644 --- a/services/batch/2016-02-01.3.0/batch/version.go +++ b/services/cognitiveservices/v3.1/customvision/training/version.go @@ -1,4 +1,4 @@ -package batch +package training import "github.com/Azure/azure-sdk-for-go/version" @@ -21,7 +21,7 @@ import "github.com/Azure/azure-sdk-for-go/version" // UserAgent returns the UserAgent string to use when sending http.Requests. func UserAgent() string { - return "Azure-SDK-For-Go/" + version.Number + " batch/2016-02-01.3.0" + return "Azure-SDK-For-Go/" + version.Number + " training/3.1" } // Version returns the semantic version (see http://semver.org) of the client. diff --git a/services/compute/mgmt/2015-06-15/compute/virtualmachines.go b/services/compute/mgmt/2015-06-15/compute/virtualmachines.go index 6e51288d611b..369640339b26 100644 --- a/services/compute/mgmt/2015-06-15/compute/virtualmachines.go +++ b/services/compute/mgmt/2015-06-15/compute/virtualmachines.go @@ -927,7 +927,7 @@ func (client VirtualMachinesClient) PowerOffResponder(resp *http.Response) (resu return } -// Redeploy the operation to redeploy a virtual machine. +// Redeploy shuts down the virtual machine, moves it to a new node, and powers it back on. // Parameters: // resourceGroupName - the name of the resource group. // VMName - the name of the virtual machine. diff --git a/services/compute/mgmt/2016-03-30/compute/availabilitysets.go b/services/compute/mgmt/2016-03-30/compute/availabilitysets.go index 39084c30026d..031e9a021fef 100644 --- a/services/compute/mgmt/2016-03-30/compute/availabilitysets.go +++ b/services/compute/mgmt/2016-03-30/compute/availabilitysets.go @@ -466,7 +466,9 @@ func (client AvailabilitySetsClient) ListAvailableSizesResponder(resp *http.Resp } // ListBySubscription lists all availability sets in a subscription. -func (client AvailabilitySetsClient) ListBySubscription(ctx context.Context) (result AvailabilitySetListResultPage, err error) { +// Parameters: +// expand - the expand expression to apply to the operation. +func (client AvailabilitySetsClient) ListBySubscription(ctx context.Context, expand string) (result AvailabilitySetListResultPage, err error) { if tracing.IsEnabled() { ctx = tracing.StartSpan(ctx, fqdn+"/AvailabilitySetsClient.ListBySubscription") defer func() { @@ -478,7 +480,7 @@ func (client AvailabilitySetsClient) ListBySubscription(ctx context.Context) (re }() } result.fn = client.listBySubscriptionNextResults - req, err := client.ListBySubscriptionPreparer(ctx) + req, err := client.ListBySubscriptionPreparer(ctx, expand) if err != nil { err = autorest.NewErrorWithError(err, "compute.AvailabilitySetsClient", "ListBySubscription", nil, "Failure preparing request") return @@ -500,7 +502,7 @@ func (client AvailabilitySetsClient) ListBySubscription(ctx context.Context) (re } // ListBySubscriptionPreparer prepares the ListBySubscription request. -func (client AvailabilitySetsClient) ListBySubscriptionPreparer(ctx context.Context) (*http.Request, error) { +func (client AvailabilitySetsClient) ListBySubscriptionPreparer(ctx context.Context, expand string) (*http.Request, error) { pathParameters := map[string]interface{}{ "subscriptionId": autorest.Encode("path", client.SubscriptionID), } @@ -509,6 +511,9 @@ func (client AvailabilitySetsClient) ListBySubscriptionPreparer(ctx context.Cont queryParameters := map[string]interface{}{ "api-version": APIVersion, } + if len(expand) > 0 { + queryParameters["$expand"] = autorest.Encode("query", expand) + } preparer := autorest.CreatePreparer( autorest.AsGet(), @@ -560,7 +565,7 @@ func (client AvailabilitySetsClient) listBySubscriptionNextResults(ctx context.C } // ListBySubscriptionComplete enumerates all values, automatically crossing page boundaries as required. -func (client AvailabilitySetsClient) ListBySubscriptionComplete(ctx context.Context) (result AvailabilitySetListResultIterator, err error) { +func (client AvailabilitySetsClient) ListBySubscriptionComplete(ctx context.Context, expand string) (result AvailabilitySetListResultIterator, err error) { if tracing.IsEnabled() { ctx = tracing.StartSpan(ctx, fqdn+"/AvailabilitySetsClient.ListBySubscription") defer func() { @@ -571,6 +576,6 @@ func (client AvailabilitySetsClient) ListBySubscriptionComplete(ctx context.Cont tracing.EndSpan(ctx, sc, err) }() } - result.page, err = client.ListBySubscription(ctx) + result.page, err = client.ListBySubscription(ctx, expand) return } diff --git a/services/compute/mgmt/2016-03-30/compute/computeapi/interfaces.go b/services/compute/mgmt/2016-03-30/compute/computeapi/interfaces.go index e7c54a8d1607..f5203bf82a83 100644 --- a/services/compute/mgmt/2016-03-30/compute/computeapi/interfaces.go +++ b/services/compute/mgmt/2016-03-30/compute/computeapi/interfaces.go @@ -29,7 +29,7 @@ type AvailabilitySetsClientAPI interface { Get(ctx context.Context, resourceGroupName string, availabilitySetName string) (result compute.AvailabilitySet, err error) List(ctx context.Context, resourceGroupName string) (result compute.AvailabilitySetListResultPage, err error) ListAvailableSizes(ctx context.Context, resourceGroupName string, availabilitySetName string) (result compute.VirtualMachineSizeListResult, err error) - ListBySubscription(ctx context.Context) (result compute.AvailabilitySetListResultPage, err error) + ListBySubscription(ctx context.Context, expand string) (result compute.AvailabilitySetListResultPage, err error) } var _ AvailabilitySetsClientAPI = (*compute.AvailabilitySetsClient)(nil) diff --git a/services/compute/mgmt/2016-03-30/compute/virtualmachines.go b/services/compute/mgmt/2016-03-30/compute/virtualmachines.go index 6d15b823530d..149aa811fb84 100644 --- a/services/compute/mgmt/2016-03-30/compute/virtualmachines.go +++ b/services/compute/mgmt/2016-03-30/compute/virtualmachines.go @@ -1008,7 +1008,7 @@ func (client VirtualMachinesClient) PowerOffResponder(resp *http.Response) (resu return } -// Redeploy the operation to redeploy a virtual machine. +// Redeploy shuts down the virtual machine, moves it to a new node, and powers it back on. // Parameters: // resourceGroupName - the name of the resource group. // VMName - the name of the virtual machine. diff --git a/services/compute/mgmt/2017-03-30/compute/availabilitysets.go b/services/compute/mgmt/2017-03-30/compute/availabilitysets.go index 573ffd10687b..f5a559caa404 100644 --- a/services/compute/mgmt/2017-03-30/compute/availabilitysets.go +++ b/services/compute/mgmt/2017-03-30/compute/availabilitysets.go @@ -466,7 +466,9 @@ func (client AvailabilitySetsClient) ListAvailableSizesResponder(resp *http.Resp } // ListBySubscription lists all availability sets in a subscription. -func (client AvailabilitySetsClient) ListBySubscription(ctx context.Context) (result AvailabilitySetListResultPage, err error) { +// Parameters: +// expand - the expand expression to apply to the operation. +func (client AvailabilitySetsClient) ListBySubscription(ctx context.Context, expand string) (result AvailabilitySetListResultPage, err error) { if tracing.IsEnabled() { ctx = tracing.StartSpan(ctx, fqdn+"/AvailabilitySetsClient.ListBySubscription") defer func() { @@ -478,7 +480,7 @@ func (client AvailabilitySetsClient) ListBySubscription(ctx context.Context) (re }() } result.fn = client.listBySubscriptionNextResults - req, err := client.ListBySubscriptionPreparer(ctx) + req, err := client.ListBySubscriptionPreparer(ctx, expand) if err != nil { err = autorest.NewErrorWithError(err, "compute.AvailabilitySetsClient", "ListBySubscription", nil, "Failure preparing request") return @@ -500,7 +502,7 @@ func (client AvailabilitySetsClient) ListBySubscription(ctx context.Context) (re } // ListBySubscriptionPreparer prepares the ListBySubscription request. -func (client AvailabilitySetsClient) ListBySubscriptionPreparer(ctx context.Context) (*http.Request, error) { +func (client AvailabilitySetsClient) ListBySubscriptionPreparer(ctx context.Context, expand string) (*http.Request, error) { pathParameters := map[string]interface{}{ "subscriptionId": autorest.Encode("path", client.SubscriptionID), } @@ -509,6 +511,9 @@ func (client AvailabilitySetsClient) ListBySubscriptionPreparer(ctx context.Cont queryParameters := map[string]interface{}{ "api-version": APIVersion, } + if len(expand) > 0 { + queryParameters["$expand"] = autorest.Encode("query", expand) + } preparer := autorest.CreatePreparer( autorest.AsGet(), @@ -560,7 +565,7 @@ func (client AvailabilitySetsClient) listBySubscriptionNextResults(ctx context.C } // ListBySubscriptionComplete enumerates all values, automatically crossing page boundaries as required. -func (client AvailabilitySetsClient) ListBySubscriptionComplete(ctx context.Context) (result AvailabilitySetListResultIterator, err error) { +func (client AvailabilitySetsClient) ListBySubscriptionComplete(ctx context.Context, expand string) (result AvailabilitySetListResultIterator, err error) { if tracing.IsEnabled() { ctx = tracing.StartSpan(ctx, fqdn+"/AvailabilitySetsClient.ListBySubscription") defer func() { @@ -571,6 +576,6 @@ func (client AvailabilitySetsClient) ListBySubscriptionComplete(ctx context.Cont tracing.EndSpan(ctx, sc, err) }() } - result.page, err = client.ListBySubscription(ctx) + result.page, err = client.ListBySubscription(ctx, expand) return } diff --git a/services/compute/mgmt/2017-03-30/compute/computeapi/interfaces.go b/services/compute/mgmt/2017-03-30/compute/computeapi/interfaces.go index 74509248f485..ffd16dcf7368 100644 --- a/services/compute/mgmt/2017-03-30/compute/computeapi/interfaces.go +++ b/services/compute/mgmt/2017-03-30/compute/computeapi/interfaces.go @@ -29,7 +29,7 @@ type AvailabilitySetsClientAPI interface { Get(ctx context.Context, resourceGroupName string, availabilitySetName string) (result compute.AvailabilitySet, err error) List(ctx context.Context, resourceGroupName string) (result compute.AvailabilitySetListResultPage, err error) ListAvailableSizes(ctx context.Context, resourceGroupName string, availabilitySetName string) (result compute.VirtualMachineSizeListResult, err error) - ListBySubscription(ctx context.Context) (result compute.AvailabilitySetListResultPage, err error) + ListBySubscription(ctx context.Context, expand string) (result compute.AvailabilitySetListResultPage, err error) } var _ AvailabilitySetsClientAPI = (*compute.AvailabilitySetsClient)(nil) diff --git a/services/compute/mgmt/2017-03-30/compute/virtualmachines.go b/services/compute/mgmt/2017-03-30/compute/virtualmachines.go index a8695f07bf25..f1d48123ae3d 100644 --- a/services/compute/mgmt/2017-03-30/compute/virtualmachines.go +++ b/services/compute/mgmt/2017-03-30/compute/virtualmachines.go @@ -1357,7 +1357,7 @@ func (client VirtualMachinesClient) PowerOffResponder(resp *http.Response) (resu return } -// Redeploy the operation to redeploy a virtual machine. +// Redeploy shuts down the virtual machine, moves it to a new node, and powers it back on. // Parameters: // resourceGroupName - the name of the resource group. // VMName - the name of the virtual machine. diff --git a/services/compute/mgmt/2017-12-01/compute/availabilitysets.go b/services/compute/mgmt/2017-12-01/compute/availabilitysets.go index d46ad7a984a6..e849b7225857 100644 --- a/services/compute/mgmt/2017-12-01/compute/availabilitysets.go +++ b/services/compute/mgmt/2017-12-01/compute/availabilitysets.go @@ -466,7 +466,9 @@ func (client AvailabilitySetsClient) ListAvailableSizesResponder(resp *http.Resp } // ListBySubscription lists all availability sets in a subscription. -func (client AvailabilitySetsClient) ListBySubscription(ctx context.Context) (result AvailabilitySetListResultPage, err error) { +// Parameters: +// expand - the expand expression to apply to the operation. +func (client AvailabilitySetsClient) ListBySubscription(ctx context.Context, expand string) (result AvailabilitySetListResultPage, err error) { if tracing.IsEnabled() { ctx = tracing.StartSpan(ctx, fqdn+"/AvailabilitySetsClient.ListBySubscription") defer func() { @@ -478,7 +480,7 @@ func (client AvailabilitySetsClient) ListBySubscription(ctx context.Context) (re }() } result.fn = client.listBySubscriptionNextResults - req, err := client.ListBySubscriptionPreparer(ctx) + req, err := client.ListBySubscriptionPreparer(ctx, expand) if err != nil { err = autorest.NewErrorWithError(err, "compute.AvailabilitySetsClient", "ListBySubscription", nil, "Failure preparing request") return @@ -500,7 +502,7 @@ func (client AvailabilitySetsClient) ListBySubscription(ctx context.Context) (re } // ListBySubscriptionPreparer prepares the ListBySubscription request. -func (client AvailabilitySetsClient) ListBySubscriptionPreparer(ctx context.Context) (*http.Request, error) { +func (client AvailabilitySetsClient) ListBySubscriptionPreparer(ctx context.Context, expand string) (*http.Request, error) { pathParameters := map[string]interface{}{ "subscriptionId": autorest.Encode("path", client.SubscriptionID), } @@ -509,6 +511,9 @@ func (client AvailabilitySetsClient) ListBySubscriptionPreparer(ctx context.Cont queryParameters := map[string]interface{}{ "api-version": APIVersion, } + if len(expand) > 0 { + queryParameters["$expand"] = autorest.Encode("query", expand) + } preparer := autorest.CreatePreparer( autorest.AsGet(), @@ -560,7 +565,7 @@ func (client AvailabilitySetsClient) listBySubscriptionNextResults(ctx context.C } // ListBySubscriptionComplete enumerates all values, automatically crossing page boundaries as required. -func (client AvailabilitySetsClient) ListBySubscriptionComplete(ctx context.Context) (result AvailabilitySetListResultIterator, err error) { +func (client AvailabilitySetsClient) ListBySubscriptionComplete(ctx context.Context, expand string) (result AvailabilitySetListResultIterator, err error) { if tracing.IsEnabled() { ctx = tracing.StartSpan(ctx, fqdn+"/AvailabilitySetsClient.ListBySubscription") defer func() { @@ -571,7 +576,7 @@ func (client AvailabilitySetsClient) ListBySubscriptionComplete(ctx context.Cont tracing.EndSpan(ctx, sc, err) }() } - result.page, err = client.ListBySubscription(ctx) + result.page, err = client.ListBySubscription(ctx, expand) return } diff --git a/services/compute/mgmt/2017-12-01/compute/computeapi/interfaces.go b/services/compute/mgmt/2017-12-01/compute/computeapi/interfaces.go index 1c71e948ee6a..7f26ac6fec7d 100644 --- a/services/compute/mgmt/2017-12-01/compute/computeapi/interfaces.go +++ b/services/compute/mgmt/2017-12-01/compute/computeapi/interfaces.go @@ -36,7 +36,7 @@ type AvailabilitySetsClientAPI interface { Get(ctx context.Context, resourceGroupName string, availabilitySetName string) (result compute.AvailabilitySet, err error) List(ctx context.Context, resourceGroupName string) (result compute.AvailabilitySetListResultPage, err error) ListAvailableSizes(ctx context.Context, resourceGroupName string, availabilitySetName string) (result compute.VirtualMachineSizeListResult, err error) - ListBySubscription(ctx context.Context) (result compute.AvailabilitySetListResultPage, err error) + ListBySubscription(ctx context.Context, expand string) (result compute.AvailabilitySetListResultPage, err error) Update(ctx context.Context, resourceGroupName string, availabilitySetName string, parameters compute.AvailabilitySetUpdate) (result compute.AvailabilitySet, err error) } diff --git a/services/compute/mgmt/2017-12-01/compute/virtualmachines.go b/services/compute/mgmt/2017-12-01/compute/virtualmachines.go index 83667bb43ef4..f84acb1ef8b4 100644 --- a/services/compute/mgmt/2017-12-01/compute/virtualmachines.go +++ b/services/compute/mgmt/2017-12-01/compute/virtualmachines.go @@ -1357,7 +1357,7 @@ func (client VirtualMachinesClient) PowerOffResponder(resp *http.Response) (resu return } -// Redeploy the operation to redeploy a virtual machine. +// Redeploy shuts down the virtual machine, moves it to a new node, and powers it back on. // Parameters: // resourceGroupName - the name of the resource group. // VMName - the name of the virtual machine. diff --git a/services/compute/mgmt/2017-12-01/compute/virtualmachinescalesets.go b/services/compute/mgmt/2017-12-01/compute/virtualmachinescalesets.go index c14ef024c7f2..a4dab609e1cd 100644 --- a/services/compute/mgmt/2017-12-01/compute/virtualmachinescalesets.go +++ b/services/compute/mgmt/2017-12-01/compute/virtualmachinescalesets.go @@ -1250,7 +1250,8 @@ func (client VirtualMachineScaleSetsClient) PowerOffResponder(resp *http.Respons return } -// Redeploy redeploy one or more virtual machines in a VM scale set. +// Redeploy shuts down all the virtual machines in the virtual machine scale set, moves them to a new node, and powers +// them back on. // Parameters: // resourceGroupName - the name of the resource group. // VMScaleSetName - the name of the VM scale set. diff --git a/services/compute/mgmt/2017-12-01/compute/virtualmachinescalesetvms.go b/services/compute/mgmt/2017-12-01/compute/virtualmachinescalesetvms.go index 278542090cbb..ec5de8760a4b 100644 --- a/services/compute/mgmt/2017-12-01/compute/virtualmachinescalesetvms.go +++ b/services/compute/mgmt/2017-12-01/compute/virtualmachinescalesetvms.go @@ -645,7 +645,8 @@ func (client VirtualMachineScaleSetVMsClient) PowerOffResponder(resp *http.Respo return } -// Redeploy redeploys a virtual machine in a VM scale set. +// Redeploy shuts down the virtual machine in the virtual machine scale set, moves it to a new node, and powers it back +// on. // Parameters: // resourceGroupName - the name of the resource group. // VMScaleSetName - the name of the VM scale set. diff --git a/services/compute/mgmt/2018-04-01/compute/availabilitysets.go b/services/compute/mgmt/2018-04-01/compute/availabilitysets.go index 59e0e4e9e637..a5c179497f06 100644 --- a/services/compute/mgmt/2018-04-01/compute/availabilitysets.go +++ b/services/compute/mgmt/2018-04-01/compute/availabilitysets.go @@ -465,7 +465,9 @@ func (client AvailabilitySetsClient) ListAvailableSizesResponder(resp *http.Resp } // ListBySubscription lists all availability sets in a subscription. -func (client AvailabilitySetsClient) ListBySubscription(ctx context.Context) (result AvailabilitySetListResultPage, err error) { +// Parameters: +// expand - the expand expression to apply to the operation. +func (client AvailabilitySetsClient) ListBySubscription(ctx context.Context, expand string) (result AvailabilitySetListResultPage, err error) { if tracing.IsEnabled() { ctx = tracing.StartSpan(ctx, fqdn+"/AvailabilitySetsClient.ListBySubscription") defer func() { @@ -477,7 +479,7 @@ func (client AvailabilitySetsClient) ListBySubscription(ctx context.Context) (re }() } result.fn = client.listBySubscriptionNextResults - req, err := client.ListBySubscriptionPreparer(ctx) + req, err := client.ListBySubscriptionPreparer(ctx, expand) if err != nil { err = autorest.NewErrorWithError(err, "compute.AvailabilitySetsClient", "ListBySubscription", nil, "Failure preparing request") return @@ -499,7 +501,7 @@ func (client AvailabilitySetsClient) ListBySubscription(ctx context.Context) (re } // ListBySubscriptionPreparer prepares the ListBySubscription request. -func (client AvailabilitySetsClient) ListBySubscriptionPreparer(ctx context.Context) (*http.Request, error) { +func (client AvailabilitySetsClient) ListBySubscriptionPreparer(ctx context.Context, expand string) (*http.Request, error) { pathParameters := map[string]interface{}{ "subscriptionId": autorest.Encode("path", client.SubscriptionID), } @@ -508,6 +510,9 @@ func (client AvailabilitySetsClient) ListBySubscriptionPreparer(ctx context.Cont queryParameters := map[string]interface{}{ "api-version": APIVersion, } + if len(expand) > 0 { + queryParameters["$expand"] = autorest.Encode("query", expand) + } preparer := autorest.CreatePreparer( autorest.AsGet(), @@ -559,7 +564,7 @@ func (client AvailabilitySetsClient) listBySubscriptionNextResults(ctx context.C } // ListBySubscriptionComplete enumerates all values, automatically crossing page boundaries as required. -func (client AvailabilitySetsClient) ListBySubscriptionComplete(ctx context.Context) (result AvailabilitySetListResultIterator, err error) { +func (client AvailabilitySetsClient) ListBySubscriptionComplete(ctx context.Context, expand string) (result AvailabilitySetListResultIterator, err error) { if tracing.IsEnabled() { ctx = tracing.StartSpan(ctx, fqdn+"/AvailabilitySetsClient.ListBySubscription") defer func() { @@ -570,7 +575,7 @@ func (client AvailabilitySetsClient) ListBySubscriptionComplete(ctx context.Cont tracing.EndSpan(ctx, sc, err) }() } - result.page, err = client.ListBySubscription(ctx) + result.page, err = client.ListBySubscription(ctx, expand) return } diff --git a/services/compute/mgmt/2018-04-01/compute/computeapi/interfaces.go b/services/compute/mgmt/2018-04-01/compute/computeapi/interfaces.go index cd7eec093716..22f6cd41b575 100644 --- a/services/compute/mgmt/2018-04-01/compute/computeapi/interfaces.go +++ b/services/compute/mgmt/2018-04-01/compute/computeapi/interfaces.go @@ -37,7 +37,7 @@ type AvailabilitySetsClientAPI interface { Get(ctx context.Context, resourceGroupName string, availabilitySetName string) (result compute.AvailabilitySet, err error) List(ctx context.Context, resourceGroupName string) (result compute.AvailabilitySetListResultPage, err error) ListAvailableSizes(ctx context.Context, resourceGroupName string, availabilitySetName string) (result compute.VirtualMachineSizeListResult, err error) - ListBySubscription(ctx context.Context) (result compute.AvailabilitySetListResultPage, err error) + ListBySubscription(ctx context.Context, expand string) (result compute.AvailabilitySetListResultPage, err error) Update(ctx context.Context, resourceGroupName string, availabilitySetName string, parameters compute.AvailabilitySetUpdate) (result compute.AvailabilitySet, err error) } diff --git a/services/compute/mgmt/2018-04-01/compute/virtualmachines.go b/services/compute/mgmt/2018-04-01/compute/virtualmachines.go index 9282b0cee191..021db01cba18 100644 --- a/services/compute/mgmt/2018-04-01/compute/virtualmachines.go +++ b/services/compute/mgmt/2018-04-01/compute/virtualmachines.go @@ -1270,7 +1270,7 @@ func (client VirtualMachinesClient) PowerOffResponder(resp *http.Response) (resu return } -// Redeploy the operation to redeploy a virtual machine. +// Redeploy shuts down the virtual machine, moves it to a new node, and powers it back on. // Parameters: // resourceGroupName - the name of the resource group. // VMName - the name of the virtual machine. diff --git a/services/compute/mgmt/2018-04-01/compute/virtualmachinescalesets.go b/services/compute/mgmt/2018-04-01/compute/virtualmachinescalesets.go index ea762c9a61ca..035bc098973c 100644 --- a/services/compute/mgmt/2018-04-01/compute/virtualmachinescalesets.go +++ b/services/compute/mgmt/2018-04-01/compute/virtualmachinescalesets.go @@ -1245,7 +1245,8 @@ func (client VirtualMachineScaleSetsClient) PowerOffResponder(resp *http.Respons return } -// Redeploy redeploy one or more virtual machines in a VM scale set. +// Redeploy shuts down all the virtual machines in the virtual machine scale set, moves them to a new node, and powers +// them back on. // Parameters: // resourceGroupName - the name of the resource group. // VMScaleSetName - the name of the VM scale set. diff --git a/services/compute/mgmt/2018-04-01/compute/virtualmachinescalesetvms.go b/services/compute/mgmt/2018-04-01/compute/virtualmachinescalesetvms.go index 2375cef48eb1..2d64cef58bf7 100644 --- a/services/compute/mgmt/2018-04-01/compute/virtualmachinescalesetvms.go +++ b/services/compute/mgmt/2018-04-01/compute/virtualmachinescalesetvms.go @@ -641,7 +641,8 @@ func (client VirtualMachineScaleSetVMsClient) PowerOffResponder(resp *http.Respo return } -// Redeploy redeploys a virtual machine in a VM scale set. +// Redeploy shuts down the virtual machine in the virtual machine scale set, moves it to a new node, and powers it back +// on. // Parameters: // resourceGroupName - the name of the resource group. // VMScaleSetName - the name of the VM scale set. diff --git a/services/compute/mgmt/2018-06-01/compute/availabilitysets.go b/services/compute/mgmt/2018-06-01/compute/availabilitysets.go index c9acfdd39b65..e5ba6c3c6832 100644 --- a/services/compute/mgmt/2018-06-01/compute/availabilitysets.go +++ b/services/compute/mgmt/2018-06-01/compute/availabilitysets.go @@ -465,7 +465,9 @@ func (client AvailabilitySetsClient) ListAvailableSizesResponder(resp *http.Resp } // ListBySubscription lists all availability sets in a subscription. -func (client AvailabilitySetsClient) ListBySubscription(ctx context.Context) (result AvailabilitySetListResultPage, err error) { +// Parameters: +// expand - the expand expression to apply to the operation. +func (client AvailabilitySetsClient) ListBySubscription(ctx context.Context, expand string) (result AvailabilitySetListResultPage, err error) { if tracing.IsEnabled() { ctx = tracing.StartSpan(ctx, fqdn+"/AvailabilitySetsClient.ListBySubscription") defer func() { @@ -477,7 +479,7 @@ func (client AvailabilitySetsClient) ListBySubscription(ctx context.Context) (re }() } result.fn = client.listBySubscriptionNextResults - req, err := client.ListBySubscriptionPreparer(ctx) + req, err := client.ListBySubscriptionPreparer(ctx, expand) if err != nil { err = autorest.NewErrorWithError(err, "compute.AvailabilitySetsClient", "ListBySubscription", nil, "Failure preparing request") return @@ -499,7 +501,7 @@ func (client AvailabilitySetsClient) ListBySubscription(ctx context.Context) (re } // ListBySubscriptionPreparer prepares the ListBySubscription request. -func (client AvailabilitySetsClient) ListBySubscriptionPreparer(ctx context.Context) (*http.Request, error) { +func (client AvailabilitySetsClient) ListBySubscriptionPreparer(ctx context.Context, expand string) (*http.Request, error) { pathParameters := map[string]interface{}{ "subscriptionId": autorest.Encode("path", client.SubscriptionID), } @@ -508,6 +510,9 @@ func (client AvailabilitySetsClient) ListBySubscriptionPreparer(ctx context.Cont queryParameters := map[string]interface{}{ "api-version": APIVersion, } + if len(expand) > 0 { + queryParameters["$expand"] = autorest.Encode("query", expand) + } preparer := autorest.CreatePreparer( autorest.AsGet(), @@ -559,7 +564,7 @@ func (client AvailabilitySetsClient) listBySubscriptionNextResults(ctx context.C } // ListBySubscriptionComplete enumerates all values, automatically crossing page boundaries as required. -func (client AvailabilitySetsClient) ListBySubscriptionComplete(ctx context.Context) (result AvailabilitySetListResultIterator, err error) { +func (client AvailabilitySetsClient) ListBySubscriptionComplete(ctx context.Context, expand string) (result AvailabilitySetListResultIterator, err error) { if tracing.IsEnabled() { ctx = tracing.StartSpan(ctx, fqdn+"/AvailabilitySetsClient.ListBySubscription") defer func() { @@ -570,7 +575,7 @@ func (client AvailabilitySetsClient) ListBySubscriptionComplete(ctx context.Cont tracing.EndSpan(ctx, sc, err) }() } - result.page, err = client.ListBySubscription(ctx) + result.page, err = client.ListBySubscription(ctx, expand) return } diff --git a/services/compute/mgmt/2018-06-01/compute/computeapi/interfaces.go b/services/compute/mgmt/2018-06-01/compute/computeapi/interfaces.go index 2e9ac9575fd3..2e815c1740a8 100644 --- a/services/compute/mgmt/2018-06-01/compute/computeapi/interfaces.go +++ b/services/compute/mgmt/2018-06-01/compute/computeapi/interfaces.go @@ -37,7 +37,7 @@ type AvailabilitySetsClientAPI interface { Get(ctx context.Context, resourceGroupName string, availabilitySetName string) (result compute.AvailabilitySet, err error) List(ctx context.Context, resourceGroupName string) (result compute.AvailabilitySetListResultPage, err error) ListAvailableSizes(ctx context.Context, resourceGroupName string, availabilitySetName string) (result compute.VirtualMachineSizeListResult, err error) - ListBySubscription(ctx context.Context) (result compute.AvailabilitySetListResultPage, err error) + ListBySubscription(ctx context.Context, expand string) (result compute.AvailabilitySetListResultPage, err error) Update(ctx context.Context, resourceGroupName string, availabilitySetName string, parameters compute.AvailabilitySetUpdate) (result compute.AvailabilitySet, err error) } diff --git a/services/compute/mgmt/2018-06-01/compute/virtualmachines.go b/services/compute/mgmt/2018-06-01/compute/virtualmachines.go index 7d7c52fa511e..5951c03e434c 100644 --- a/services/compute/mgmt/2018-06-01/compute/virtualmachines.go +++ b/services/compute/mgmt/2018-06-01/compute/virtualmachines.go @@ -1270,7 +1270,7 @@ func (client VirtualMachinesClient) PowerOffResponder(resp *http.Response) (resu return } -// Redeploy the operation to redeploy a virtual machine. +// Redeploy shuts down the virtual machine, moves it to a new node, and powers it back on. // Parameters: // resourceGroupName - the name of the resource group. // VMName - the name of the virtual machine. diff --git a/services/compute/mgmt/2018-06-01/compute/virtualmachinescalesets.go b/services/compute/mgmt/2018-06-01/compute/virtualmachinescalesets.go index c59b69733337..4035822ecc4a 100644 --- a/services/compute/mgmt/2018-06-01/compute/virtualmachinescalesets.go +++ b/services/compute/mgmt/2018-06-01/compute/virtualmachinescalesets.go @@ -1245,7 +1245,8 @@ func (client VirtualMachineScaleSetsClient) PowerOffResponder(resp *http.Respons return } -// Redeploy redeploy one or more virtual machines in a VM scale set. +// Redeploy shuts down all the virtual machines in the virtual machine scale set, moves them to a new node, and powers +// them back on. // Parameters: // resourceGroupName - the name of the resource group. // VMScaleSetName - the name of the VM scale set. diff --git a/services/compute/mgmt/2018-06-01/compute/virtualmachinescalesetvms.go b/services/compute/mgmt/2018-06-01/compute/virtualmachinescalesetvms.go index fd2323baafe6..843ddfce35ba 100644 --- a/services/compute/mgmt/2018-06-01/compute/virtualmachinescalesetvms.go +++ b/services/compute/mgmt/2018-06-01/compute/virtualmachinescalesetvms.go @@ -641,7 +641,8 @@ func (client VirtualMachineScaleSetVMsClient) PowerOffResponder(resp *http.Respo return } -// Redeploy redeploys a virtual machine in a VM scale set. +// Redeploy shuts down the virtual machine in the virtual machine scale set, moves it to a new node, and powers it back +// on. // Parameters: // resourceGroupName - the name of the resource group. // VMScaleSetName - the name of the VM scale set. diff --git a/services/compute/mgmt/2018-10-01/compute/availabilitysets.go b/services/compute/mgmt/2018-10-01/compute/availabilitysets.go index 008185e15961..d8e9208e34d2 100644 --- a/services/compute/mgmt/2018-10-01/compute/availabilitysets.go +++ b/services/compute/mgmt/2018-10-01/compute/availabilitysets.go @@ -465,7 +465,9 @@ func (client AvailabilitySetsClient) ListAvailableSizesResponder(resp *http.Resp } // ListBySubscription lists all availability sets in a subscription. -func (client AvailabilitySetsClient) ListBySubscription(ctx context.Context) (result AvailabilitySetListResultPage, err error) { +// Parameters: +// expand - the expand expression to apply to the operation. +func (client AvailabilitySetsClient) ListBySubscription(ctx context.Context, expand string) (result AvailabilitySetListResultPage, err error) { if tracing.IsEnabled() { ctx = tracing.StartSpan(ctx, fqdn+"/AvailabilitySetsClient.ListBySubscription") defer func() { @@ -477,7 +479,7 @@ func (client AvailabilitySetsClient) ListBySubscription(ctx context.Context) (re }() } result.fn = client.listBySubscriptionNextResults - req, err := client.ListBySubscriptionPreparer(ctx) + req, err := client.ListBySubscriptionPreparer(ctx, expand) if err != nil { err = autorest.NewErrorWithError(err, "compute.AvailabilitySetsClient", "ListBySubscription", nil, "Failure preparing request") return @@ -499,7 +501,7 @@ func (client AvailabilitySetsClient) ListBySubscription(ctx context.Context) (re } // ListBySubscriptionPreparer prepares the ListBySubscription request. -func (client AvailabilitySetsClient) ListBySubscriptionPreparer(ctx context.Context) (*http.Request, error) { +func (client AvailabilitySetsClient) ListBySubscriptionPreparer(ctx context.Context, expand string) (*http.Request, error) { pathParameters := map[string]interface{}{ "subscriptionId": autorest.Encode("path", client.SubscriptionID), } @@ -508,6 +510,9 @@ func (client AvailabilitySetsClient) ListBySubscriptionPreparer(ctx context.Cont queryParameters := map[string]interface{}{ "api-version": APIVersion, } + if len(expand) > 0 { + queryParameters["$expand"] = autorest.Encode("query", expand) + } preparer := autorest.CreatePreparer( autorest.AsGet(), @@ -559,7 +564,7 @@ func (client AvailabilitySetsClient) listBySubscriptionNextResults(ctx context.C } // ListBySubscriptionComplete enumerates all values, automatically crossing page boundaries as required. -func (client AvailabilitySetsClient) ListBySubscriptionComplete(ctx context.Context) (result AvailabilitySetListResultIterator, err error) { +func (client AvailabilitySetsClient) ListBySubscriptionComplete(ctx context.Context, expand string) (result AvailabilitySetListResultIterator, err error) { if tracing.IsEnabled() { ctx = tracing.StartSpan(ctx, fqdn+"/AvailabilitySetsClient.ListBySubscription") defer func() { @@ -570,7 +575,7 @@ func (client AvailabilitySetsClient) ListBySubscriptionComplete(ctx context.Cont tracing.EndSpan(ctx, sc, err) }() } - result.page, err = client.ListBySubscription(ctx) + result.page, err = client.ListBySubscription(ctx, expand) return } diff --git a/services/compute/mgmt/2018-10-01/compute/computeapi/interfaces.go b/services/compute/mgmt/2018-10-01/compute/computeapi/interfaces.go index 3ddbabda869a..790c917d8016 100644 --- a/services/compute/mgmt/2018-10-01/compute/computeapi/interfaces.go +++ b/services/compute/mgmt/2018-10-01/compute/computeapi/interfaces.go @@ -37,7 +37,7 @@ type AvailabilitySetsClientAPI interface { Get(ctx context.Context, resourceGroupName string, availabilitySetName string) (result compute.AvailabilitySet, err error) List(ctx context.Context, resourceGroupName string) (result compute.AvailabilitySetListResultPage, err error) ListAvailableSizes(ctx context.Context, resourceGroupName string, availabilitySetName string) (result compute.VirtualMachineSizeListResult, err error) - ListBySubscription(ctx context.Context) (result compute.AvailabilitySetListResultPage, err error) + ListBySubscription(ctx context.Context, expand string) (result compute.AvailabilitySetListResultPage, err error) Update(ctx context.Context, resourceGroupName string, availabilitySetName string, parameters compute.AvailabilitySetUpdate) (result compute.AvailabilitySet, err error) } diff --git a/services/compute/mgmt/2018-10-01/compute/models.go b/services/compute/mgmt/2018-10-01/compute/models.go index 5f691d90cfa7..8e8a1ec5ffe2 100644 --- a/services/compute/mgmt/2018-10-01/compute/models.go +++ b/services/compute/mgmt/2018-10-01/compute/models.go @@ -1244,6 +1244,17 @@ type AutomaticOSUpgradeProperties struct { AutomaticOSUpgradeSupported *bool `json:"automaticOSUpgradeSupported,omitempty"` } +// AutomaticRepairsPolicy specifies the configuration parameters for automatic repairs on the virtual +// machine scale set. +type AutomaticRepairsPolicy struct { + // Enabled - Specifies whether automatic repairs should be enabled on the virtual machine scale set. The default value is false. + Enabled *bool `json:"enabled,omitempty"` + // GracePeriod - The amount of time for which automatic repairs are suspended due to a state change on VM. The grace time starts after the state change has completed. This helps avoid premature or accidental repairs. The time duration should be specified in ISO 8601 format. The default value is 5 minutes (PT5M). + GracePeriod *string `json:"gracePeriod,omitempty"` + // MaxInstanceRepairsPercent - The percentage (capacity of scaleset) of virtual machines that will be simultaneously repaired. The default value is 20%. + MaxInstanceRepairsPercent *int32 `json:"maxInstanceRepairsPercent,omitempty"` +} + // AvailabilitySet specifies information about the availability set that the virtual machine should be // assigned to. Virtual machines specified in the same availability set are allocated to different nodes to // maximize availability. For more information about availability sets, see [Manage the availability of @@ -8709,6 +8720,8 @@ type VirtualMachineScaleSetOSProfile struct { type VirtualMachineScaleSetProperties struct { // UpgradePolicy - The upgrade policy. UpgradePolicy *UpgradePolicy `json:"upgradePolicy,omitempty"` + // AutomaticRepairsPolicy - Policy for automatic repairs. + AutomaticRepairsPolicy *AutomaticRepairsPolicy `json:"automaticRepairsPolicy,omitempty"` // VirtualMachineProfile - The virtual machine profile. VirtualMachineProfile *VirtualMachineScaleSetVMProfile `json:"virtualMachineProfile,omitempty"` // ProvisioningState - READ-ONLY; The provisioning state, which only appears in the response. @@ -9528,10 +9541,14 @@ type VirtualMachineScaleSetUpdateOSProfile struct { type VirtualMachineScaleSetUpdateProperties struct { // UpgradePolicy - The upgrade policy. UpgradePolicy *UpgradePolicy `json:"upgradePolicy,omitempty"` + // AutomaticRepairsPolicy - Policy for automatic repairs. + AutomaticRepairsPolicy *AutomaticRepairsPolicy `json:"automaticRepairsPolicy,omitempty"` // VirtualMachineProfile - The virtual machine profile. VirtualMachineProfile *VirtualMachineScaleSetUpdateVMProfile `json:"virtualMachineProfile,omitempty"` // Overprovision - Specifies whether the Virtual Machine Scale Set should be overprovisioned. Overprovision *bool `json:"overprovision,omitempty"` + // DoNotRunExtensionsOnOverprovisionedVMs - When Overprovision is enabled, extensions are launched only on the requested number of VMs which are finally kept. This property will hence ensure that the extensions do not run on the extra overprovisioned VMs. + DoNotRunExtensionsOnOverprovisionedVMs *bool `json:"doNotRunExtensionsOnOverprovisionedVMs,omitempty"` // SinglePlacementGroup - When true this limits the scale set to a single placement group, of max size 100 virtual machines. SinglePlacementGroup *bool `json:"singlePlacementGroup,omitempty"` } diff --git a/services/compute/mgmt/2018-10-01/compute/virtualmachines.go b/services/compute/mgmt/2018-10-01/compute/virtualmachines.go index 715a2683736b..0a51c651aeb1 100644 --- a/services/compute/mgmt/2018-10-01/compute/virtualmachines.go +++ b/services/compute/mgmt/2018-10-01/compute/virtualmachines.go @@ -1270,7 +1270,7 @@ func (client VirtualMachinesClient) PowerOffResponder(resp *http.Response) (resu return } -// Redeploy the operation to redeploy a virtual machine. +// Redeploy shuts down the virtual machine, moves it to a new node, and powers it back on. // Parameters: // resourceGroupName - the name of the resource group. // VMName - the name of the virtual machine. diff --git a/services/compute/mgmt/2018-10-01/compute/virtualmachinescalesets.go b/services/compute/mgmt/2018-10-01/compute/virtualmachinescalesets.go index 78fb28af43d9..0d1b297012c8 100644 --- a/services/compute/mgmt/2018-10-01/compute/virtualmachinescalesets.go +++ b/services/compute/mgmt/2018-10-01/compute/virtualmachinescalesets.go @@ -1245,7 +1245,8 @@ func (client VirtualMachineScaleSetsClient) PowerOffResponder(resp *http.Respons return } -// Redeploy redeploy one or more virtual machines in a VM scale set. +// Redeploy shuts down all the virtual machines in the virtual machine scale set, moves them to a new node, and powers +// them back on. // Parameters: // resourceGroupName - the name of the resource group. // VMScaleSetName - the name of the VM scale set. diff --git a/services/compute/mgmt/2018-10-01/compute/virtualmachinescalesetvms.go b/services/compute/mgmt/2018-10-01/compute/virtualmachinescalesetvms.go index 60eeef78643a..8c9375d700d9 100644 --- a/services/compute/mgmt/2018-10-01/compute/virtualmachinescalesetvms.go +++ b/services/compute/mgmt/2018-10-01/compute/virtualmachinescalesetvms.go @@ -641,7 +641,8 @@ func (client VirtualMachineScaleSetVMsClient) PowerOffResponder(resp *http.Respo return } -// Redeploy redeploys a virtual machine in a VM scale set. +// Redeploy shuts down the virtual machine in the virtual machine scale set, moves it to a new node, and powers it back +// on. // Parameters: // resourceGroupName - the name of the resource group. // VMScaleSetName - the name of the VM scale set. diff --git a/services/compute/mgmt/2019-03-01/compute/availabilitysets.go b/services/compute/mgmt/2019-03-01/compute/availabilitysets.go index 8a6bbaa4a195..853abfc1c95c 100644 --- a/services/compute/mgmt/2019-03-01/compute/availabilitysets.go +++ b/services/compute/mgmt/2019-03-01/compute/availabilitysets.go @@ -465,7 +465,9 @@ func (client AvailabilitySetsClient) ListAvailableSizesResponder(resp *http.Resp } // ListBySubscription lists all availability sets in a subscription. -func (client AvailabilitySetsClient) ListBySubscription(ctx context.Context) (result AvailabilitySetListResultPage, err error) { +// Parameters: +// expand - the expand expression to apply to the operation. +func (client AvailabilitySetsClient) ListBySubscription(ctx context.Context, expand string) (result AvailabilitySetListResultPage, err error) { if tracing.IsEnabled() { ctx = tracing.StartSpan(ctx, fqdn+"/AvailabilitySetsClient.ListBySubscription") defer func() { @@ -477,7 +479,7 @@ func (client AvailabilitySetsClient) ListBySubscription(ctx context.Context) (re }() } result.fn = client.listBySubscriptionNextResults - req, err := client.ListBySubscriptionPreparer(ctx) + req, err := client.ListBySubscriptionPreparer(ctx, expand) if err != nil { err = autorest.NewErrorWithError(err, "compute.AvailabilitySetsClient", "ListBySubscription", nil, "Failure preparing request") return @@ -499,7 +501,7 @@ func (client AvailabilitySetsClient) ListBySubscription(ctx context.Context) (re } // ListBySubscriptionPreparer prepares the ListBySubscription request. -func (client AvailabilitySetsClient) ListBySubscriptionPreparer(ctx context.Context) (*http.Request, error) { +func (client AvailabilitySetsClient) ListBySubscriptionPreparer(ctx context.Context, expand string) (*http.Request, error) { pathParameters := map[string]interface{}{ "subscriptionId": autorest.Encode("path", client.SubscriptionID), } @@ -508,6 +510,9 @@ func (client AvailabilitySetsClient) ListBySubscriptionPreparer(ctx context.Cont queryParameters := map[string]interface{}{ "api-version": APIVersion, } + if len(expand) > 0 { + queryParameters["$expand"] = autorest.Encode("query", expand) + } preparer := autorest.CreatePreparer( autorest.AsGet(), @@ -559,7 +564,7 @@ func (client AvailabilitySetsClient) listBySubscriptionNextResults(ctx context.C } // ListBySubscriptionComplete enumerates all values, automatically crossing page boundaries as required. -func (client AvailabilitySetsClient) ListBySubscriptionComplete(ctx context.Context) (result AvailabilitySetListResultIterator, err error) { +func (client AvailabilitySetsClient) ListBySubscriptionComplete(ctx context.Context, expand string) (result AvailabilitySetListResultIterator, err error) { if tracing.IsEnabled() { ctx = tracing.StartSpan(ctx, fqdn+"/AvailabilitySetsClient.ListBySubscription") defer func() { @@ -570,7 +575,7 @@ func (client AvailabilitySetsClient) ListBySubscriptionComplete(ctx context.Cont tracing.EndSpan(ctx, sc, err) }() } - result.page, err = client.ListBySubscription(ctx) + result.page, err = client.ListBySubscription(ctx, expand) return } diff --git a/services/compute/mgmt/2019-03-01/compute/computeapi/interfaces.go b/services/compute/mgmt/2019-03-01/compute/computeapi/interfaces.go index 9dd226f0493a..b9cb016a868d 100644 --- a/services/compute/mgmt/2019-03-01/compute/computeapi/interfaces.go +++ b/services/compute/mgmt/2019-03-01/compute/computeapi/interfaces.go @@ -37,7 +37,7 @@ type AvailabilitySetsClientAPI interface { Get(ctx context.Context, resourceGroupName string, availabilitySetName string) (result compute.AvailabilitySet, err error) List(ctx context.Context, resourceGroupName string) (result compute.AvailabilitySetListResultPage, err error) ListAvailableSizes(ctx context.Context, resourceGroupName string, availabilitySetName string) (result compute.VirtualMachineSizeListResult, err error) - ListBySubscription(ctx context.Context) (result compute.AvailabilitySetListResultPage, err error) + ListBySubscription(ctx context.Context, expand string) (result compute.AvailabilitySetListResultPage, err error) Update(ctx context.Context, resourceGroupName string, availabilitySetName string, parameters compute.AvailabilitySetUpdate) (result compute.AvailabilitySet, err error) } diff --git a/services/compute/mgmt/2019-03-01/compute/disks.go b/services/compute/mgmt/2019-03-01/compute/disks.go index 2dee9d74dad5..31ee32f12f42 100644 --- a/services/compute/mgmt/2019-03-01/compute/disks.go +++ b/services/compute/mgmt/2019-03-01/compute/disks.go @@ -95,7 +95,7 @@ func (client DisksClient) CreateOrUpdatePreparer(ctx context.Context, resourceGr "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2018-09-30" + const APIVersion = "2019-03-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -177,7 +177,7 @@ func (client DisksClient) DeletePreparer(ctx context.Context, resourceGroupName "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2018-09-30" + const APIVersion = "2019-03-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -261,7 +261,7 @@ func (client DisksClient) GetPreparer(ctx context.Context, resourceGroupName str "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2018-09-30" + const APIVersion = "2019-03-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -341,7 +341,7 @@ func (client DisksClient) GrantAccessPreparer(ctx context.Context, resourceGroup "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2018-09-30" + const APIVersion = "2019-03-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -422,7 +422,7 @@ func (client DisksClient) ListPreparer(ctx context.Context) (*http.Request, erro "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2018-09-30" + const APIVersion = "2019-03-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -535,7 +535,7 @@ func (client DisksClient) ListByResourceGroupPreparer(ctx context.Context, resou "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2018-09-30" + const APIVersion = "2019-03-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -645,7 +645,7 @@ func (client DisksClient) RevokeAccessPreparer(ctx context.Context, resourceGrou "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2018-09-30" + const APIVersion = "2019-03-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -724,7 +724,7 @@ func (client DisksClient) UpdatePreparer(ctx context.Context, resourceGroupName "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2018-09-30" + const APIVersion = "2019-03-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } diff --git a/services/compute/mgmt/2019-03-01/compute/models.go b/services/compute/mgmt/2019-03-01/compute/models.go index 54286239053c..f7461a488238 100644 --- a/services/compute/mgmt/2019-03-01/compute/models.go +++ b/services/compute/mgmt/2019-03-01/compute/models.go @@ -270,19 +270,22 @@ func PossibleDiffDiskOptionsValues() []DiffDiskOptions { type DiskCreateOption string const ( - // Attach ... + // Attach Disk will be attached to a VM. Attach DiskCreateOption = "Attach" - // Copy ... + // Copy Create a new disk or snapshot by copying from a disk or snapshot specified by the given + // sourceResourceId. Copy DiskCreateOption = "Copy" - // Empty ... + // Empty Create an empty data disk of a size given by diskSizeGB. Empty DiskCreateOption = "Empty" - // FromImage ... + // FromImage Create a new disk from a platform image specified by the given imageReference. FromImage DiskCreateOption = "FromImage" - // Import ... + // Import Create a disk by importing from a blob specified by a sourceUri in a storage account specified by + // storageAccountId. Import DiskCreateOption = "Import" - // Restore ... + // Restore Create a new disk by copying from a backup recovery point. Restore DiskCreateOption = "Restore" - // Upload ... + // Upload Create a new disk by obtaining a write token and using it to directly upload the contents of the + // disk. Upload DiskCreateOption = "Upload" ) @@ -312,17 +315,17 @@ func PossibleDiskCreateOptionTypesValues() []DiskCreateOptionTypes { type DiskState string const ( - // ActiveSAS ... + // ActiveSAS The disk currently has an Active SAS Uri associated with it. ActiveSAS DiskState = "ActiveSAS" - // ActiveUpload ... + // ActiveUpload A disk is created for upload and a write token has been issued for uploading to it. ActiveUpload DiskState = "ActiveUpload" - // Attached ... + // Attached The disk is currently mounted to a running VM. Attached DiskState = "Attached" - // ReadyToUpload ... + // ReadyToUpload A disk is ready to be created by upload by requesting a write token. ReadyToUpload DiskState = "ReadyToUpload" - // Reserved ... + // Reserved The disk is mounted to a stopped-deallocated VM Reserved DiskState = "Reserved" - // Unattached ... + // Unattached The disk is not being used and can be attached to a VM. Unattached DiskState = "Unattached" ) @@ -335,13 +338,17 @@ func PossibleDiskStateValues() []DiskState { type DiskStorageAccountTypes string const ( - // PremiumLRS ... + // PremiumLRS Premium SSD locally redundant storage. Best for production and performance sensitive + // workloads. PremiumLRS DiskStorageAccountTypes = "Premium_LRS" - // StandardLRS ... + // StandardLRS Standard HDD locally redundant storage. Best for backup, non-critical, and infrequent + // access. StandardLRS DiskStorageAccountTypes = "Standard_LRS" - // StandardSSDLRS ... + // StandardSSDLRS Standard SSD locally redundant storage. Best for web servers, lightly used enterprise + // applications and dev/test. StandardSSDLRS DiskStorageAccountTypes = "StandardSSD_LRS" - // UltraSSDLRS ... + // UltraSSDLRS Ultra SSD locally redundant storage. Best for IO-intensive workloads such as SAP HANA, top + // tier databases (for example, SQL, Oracle), and other transaction-heavy workloads. UltraSSDLRS DiskStorageAccountTypes = "UltraSSD_LRS" ) @@ -794,11 +801,11 @@ func PossibleSettingNamesValues() []SettingNames { type SnapshotStorageAccountTypes string const ( - // SnapshotStorageAccountTypesPremiumLRS ... + // SnapshotStorageAccountTypesPremiumLRS Premium SSD locally redundant storage SnapshotStorageAccountTypesPremiumLRS SnapshotStorageAccountTypes = "Premium_LRS" - // SnapshotStorageAccountTypesStandardLRS ... + // SnapshotStorageAccountTypesStandardLRS Standard HDD locally redundant storage SnapshotStorageAccountTypesStandardLRS SnapshotStorageAccountTypes = "Standard_LRS" - // SnapshotStorageAccountTypesStandardZRS ... + // SnapshotStorageAccountTypesStandardZRS Standard zone redundant storage SnapshotStorageAccountTypesStandardZRS SnapshotStorageAccountTypes = "Standard_ZRS" ) @@ -941,6 +948,23 @@ func PossibleVirtualMachinePriorityTypesValues() []VirtualMachinePriorityTypes { return []VirtualMachinePriorityTypes{Low, Regular} } +// VirtualMachineScaleSetScaleInRules enumerates the values for virtual machine scale set scale in rules. +type VirtualMachineScaleSetScaleInRules string + +const ( + // Default ... + Default VirtualMachineScaleSetScaleInRules = "Default" + // NewestVM ... + NewestVM VirtualMachineScaleSetScaleInRules = "NewestVM" + // OldestVM ... + OldestVM VirtualMachineScaleSetScaleInRules = "OldestVM" +) + +// PossibleVirtualMachineScaleSetScaleInRulesValues returns an array of possible values for the VirtualMachineScaleSetScaleInRules const type. +func PossibleVirtualMachineScaleSetScaleInRulesValues() []VirtualMachineScaleSetScaleInRules { + return []VirtualMachineScaleSetScaleInRules{Default, NewestVM, OldestVM} +} + // VirtualMachineScaleSetSkuScaleType enumerates the values for virtual machine scale set sku scale type. type VirtualMachineScaleSetSkuScaleType string @@ -1371,6 +1395,17 @@ type AutomaticOSUpgradeProperties struct { AutomaticOSUpgradeSupported *bool `json:"automaticOSUpgradeSupported,omitempty"` } +// AutomaticRepairsPolicy specifies the configuration parameters for automatic repairs on the virtual +// machine scale set. +type AutomaticRepairsPolicy struct { + // Enabled - Specifies whether automatic repairs should be enabled on the virtual machine scale set. The default value is false. + Enabled *bool `json:"enabled,omitempty"` + // GracePeriod - The amount of time for which automatic repairs are suspended due to a state change on VM. The grace time starts after the state change has completed. This helps avoid premature or accidental repairs. The time duration should be specified in ISO 8601 format. The default value is 5 minutes (PT5M). + GracePeriod *string `json:"gracePeriod,omitempty"` + // MaxInstanceRepairsPercent - The percentage (capacity of scaleset) of virtual machines that will be simultaneously repaired. The default value is 20%. + MaxInstanceRepairsPercent *int32 `json:"maxInstanceRepairsPercent,omitempty"` +} + // AvailabilitySet specifies information about the availability set that the virtual machine should be // assigned to. Virtual machines specified in the same availability set are allocated to different nodes to // maximize availability. For more information about availability sets, see [Manage the availability of @@ -1721,6 +1756,13 @@ func (asu *AvailabilitySetUpdate) UnmarshalJSON(body []byte) error { return nil } +// BillingProfile specifies the billing related details of a low priority VM or VMSS.

Minimum +// api-version: 2019-03-01. +type BillingProfile struct { + // MaxPrice - Specifies the maximum price you are willing to pay for a low priority VM/VMSS. This price is in US Dollars.

This price will be compared with the current low priority price for the VM size. Also, the prices are compared at the time of create/update of low priority VM/VMSS and the operation will only succeed if the maxPrice is greater than the current low priority price.

The maxPrice will also be used for evicting a low priority VM/VMSS if the current low priority price goes beyond the maxPrice after creation of VM/VMSS.

Possible values are:

- Any decimal value greater than zero. Example: $0.01538

-1 – indicates default price to be up-to on-demand.

You can set the maxPrice to -1 to indicate that the low priority VM/VMSS should not be evicted for price reasons. Also, the default max price is -1 if it is not provided by you.

Minimum api-version: 2019-03-01. + MaxPrice *float64 `json:"maxPrice,omitempty"` +} + // BootDiagnostics boot Diagnostics is a debugging feature which allows you to view Console Output and // Screenshot to diagnose VM status.

You can easily view the output of your console log.

// Azure also enables you to see a screenshot of the VM from the hypervisor. @@ -2165,6 +2207,10 @@ type CreationData struct { SourceURI *string `json:"sourceUri,omitempty"` // SourceResourceID - If createOption is Copy, this is the ARM id of the source snapshot or disk. SourceResourceID *string `json:"sourceResourceId,omitempty"` + // SourceUniqueID - READ-ONLY; If this field is set, this is the unique id identifying the source of this resource. + SourceUniqueID *string `json:"sourceUniqueId,omitempty"` + // UploadSizeBytes - If createOption is Upload, this is the size of the contents of the upload including the VHD footer. This value should be between 20972032 (20 MiB + 512 bytes for the VHD footer) and 35183298347520 bytes (32 TiB + 512 bytes for the VHD footer). + UploadSizeBytes *int64 `json:"uploadSizeBytes,omitempty"` } // DataDisk describes a data disk. @@ -3307,8 +3353,12 @@ type DiskProperties struct { HyperVGeneration HyperVGeneration `json:"hyperVGeneration,omitempty"` // CreationData - Disk source information. CreationData information cannot be changed after the disk has been created. CreationData *CreationData `json:"creationData,omitempty"` - // DiskSizeGB - If creationData.createOption is Empty, this field is mandatory and it indicates the size of the VHD to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size. + // DiskSizeGB - If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size. DiskSizeGB *int32 `json:"diskSizeGB,omitempty"` + // DiskSizeBytes - READ-ONLY; The size of the disk in bytes. This field is read only. + DiskSizeBytes *int64 `json:"diskSizeBytes,omitempty"` + // UniqueID - READ-ONLY; Unique Guid identifying the resource. + UniqueID *string `json:"uniqueId,omitempty"` // EncryptionSettingsCollection - Encryption settings collection used for Azure Disk Encryption, can contain multiple encryption settings per disk or snapshot. EncryptionSettingsCollection *EncryptionSettingsCollection `json:"encryptionSettingsCollection,omitempty"` // ProvisioningState - READ-ONLY; The disk provisioning state. @@ -3529,7 +3579,7 @@ func (du *DiskUpdate) UnmarshalJSON(body []byte) error { type DiskUpdateProperties struct { // OsType - the Operating System type. Possible values include: 'Windows', 'Linux' OsType OperatingSystemTypes `json:"osType,omitempty"` - // DiskSizeGB - If creationData.createOption is Empty, this field is mandatory and it indicates the size of the VHD to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size. + // DiskSizeGB - If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size. DiskSizeGB *int32 `json:"diskSizeGB,omitempty"` // EncryptionSettingsCollection - Encryption settings collection used be Azure Disk Encryption, can contain multiple encryption settings per disk or snapshot. EncryptionSettingsCollection *EncryptionSettingsCollection `json:"encryptionSettingsCollection,omitempty"` @@ -3545,6 +3595,8 @@ type EncryptionSettingsCollection struct { Enabled *bool `json:"enabled,omitempty"` // EncryptionSettings - A collection of encryption settings, one for each disk volume. EncryptionSettings *[]EncryptionSettingsElement `json:"encryptionSettings,omitempty"` + // EncryptionSettingsVersion - Describes what type of encryption is used for the disks. Once this field is set, it cannot be overwritten. '1.0' corresponds to Azure Disk Encryption with AAD app.'1.1' corresponds to Azure Disk Encryption. + EncryptionSettingsVersion *string `json:"encryptionSettingsVersion,omitempty"` } // EncryptionSettingsElement encryption settings for one disk volume. @@ -6257,6 +6309,8 @@ type OSProfile struct { Secrets *[]VaultSecretGroup `json:"secrets,omitempty"` // AllowExtensionOperations - Specifies whether extension operations should be allowed on the virtual machine.

This may only be set to False when no extensions are present on the virtual machine. AllowExtensionOperations *bool `json:"allowExtensionOperations,omitempty"` + // RequireGuestProvisionSignal - Specifies whether the guest provision signal is required from the virtual machine. + RequireGuestProvisionSignal *bool `json:"requireGuestProvisionSignal,omitempty"` } // Plan specifies information about the marketplace image used to create the virtual machine. This element @@ -7267,6 +7321,12 @@ type RunCommandResult struct { Value *[]InstanceViewStatus `json:"value,omitempty"` } +// ScaleInPolicy describes a scale-in policy for a virtual machine scale set. +type ScaleInPolicy struct { + // Rules - The rules to be followed when scaling-in a virtual machine scale set.

Possible values are:

**Default** When a virtual machine scale set is scaled in, the scale set will first be balanced across zones if it is a zonal scale set. Then, it will be balanced across Fault Domains as far as possible. Within each Fault Domain, the virtual machines chosen for removal will be the newest ones that are not protected from scale-in.

**OldestVM** When a virtual machine scale set is being scaled-in, the oldest virtual machines that are not protected from scale-in will be chosen for removal. For zonal virtual machine scale sets, the scale set will first be balanced across zones. Within each zone, the oldest virtual machines that are not protected will be chosen for removal.

**NewestVM** When a virtual machine scale set is being scaled-in, the newest virtual machines that are not protected from scale-in will be chosen for removal. For zonal virtual machine scale sets, the scale set will first be balanced across zones. Within each zone, the newest virtual machines that are not protected will be chosen for removal.

+ Rules *[]VirtualMachineScaleSetScaleInRules `json:"rules,omitempty"` +} + // ScheduledEventsProfile ... type ScheduledEventsProfile struct { // TerminateNotificationProfile - Specifies Terminate Scheduled Event related configurations. @@ -7563,12 +7623,18 @@ type SnapshotProperties struct { HyperVGeneration HyperVGeneration `json:"hyperVGeneration,omitempty"` // CreationData - Disk source information. CreationData information cannot be changed after the disk has been created. CreationData *CreationData `json:"creationData,omitempty"` - // DiskSizeGB - If creationData.createOption is Empty, this field is mandatory and it indicates the size of the VHD to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size. + // DiskSizeGB - If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size. DiskSizeGB *int32 `json:"diskSizeGB,omitempty"` + // DiskSizeBytes - READ-ONLY; The size of the disk in bytes. This field is read only. + DiskSizeBytes *int64 `json:"diskSizeBytes,omitempty"` + // UniqueID - READ-ONLY; Unique Guid identifying the resource. + UniqueID *string `json:"uniqueId,omitempty"` // EncryptionSettingsCollection - Encryption settings collection used be Azure Disk Encryption, can contain multiple encryption settings per disk or snapshot. EncryptionSettingsCollection *EncryptionSettingsCollection `json:"encryptionSettingsCollection,omitempty"` // ProvisioningState - READ-ONLY; The disk provisioning state. ProvisioningState *string `json:"provisioningState,omitempty"` + // Incremental - Whether a snapshot is incremental. Incremental snapshots on the same disk occupy less space than full snapshots and can be diffed. + Incremental *bool `json:"incremental,omitempty"` } // SnapshotsCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a long-running @@ -7781,7 +7847,7 @@ func (su *SnapshotUpdate) UnmarshalJSON(body []byte) error { type SnapshotUpdateProperties struct { // OsType - the Operating System type. Possible values include: 'Windows', 'Linux' OsType OperatingSystemTypes `json:"osType,omitempty"` - // DiskSizeGB - If creationData.createOption is Empty, this field is mandatory and it indicates the size of the VHD to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size. + // DiskSizeGB - If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size. DiskSizeGB *int32 `json:"diskSizeGB,omitempty"` // EncryptionSettingsCollection - Encryption settings collection used be Azure Disk Encryption, can contain multiple encryption settings per disk or snapshot. EncryptionSettingsCollection *EncryptionSettingsCollection `json:"encryptionSettingsCollection,omitempty"` @@ -8954,6 +9020,12 @@ type VirtualMachineProperties struct { VirtualMachineScaleSet *SubResource `json:"virtualMachineScaleSet,omitempty"` // ProximityPlacementGroup - Specifies information about the proximity placement group that the virtual machine should be assigned to.

Minimum api-version: 2018-04-01. ProximityPlacementGroup *SubResource `json:"proximityPlacementGroup,omitempty"` + // Priority - Specifies the priority for the virtual machine.

Minimum api-version: 2019-03-01. Possible values include: 'Regular', 'Low' + Priority VirtualMachinePriorityTypes `json:"priority,omitempty"` + // EvictionPolicy - Specifies the eviction policy for the low priority virtual machine. Only supported value is 'Deallocate'.

Minimum api-version: 2019-03-01. Possible values include: 'Deallocate', 'Delete' + EvictionPolicy VirtualMachineEvictionPolicyTypes `json:"evictionPolicy,omitempty"` + // BillingProfile - Specifies the billing related details of a low priority virtual machine.

Minimum api-version: 2019-03-01. + BillingProfile *BillingProfile `json:"billingProfile,omitempty"` // Host - Specifies information about the dedicated host that the virtual machine resides in.

Minimum api-version: 2018-10-01. Host *SubResource `json:"host,omitempty"` // ProvisioningState - READ-ONLY; The provisioning state, which only appears in the response. @@ -10326,6 +10398,8 @@ type VirtualMachineScaleSetOSProfile struct { type VirtualMachineScaleSetProperties struct { // UpgradePolicy - The upgrade policy. UpgradePolicy *UpgradePolicy `json:"upgradePolicy,omitempty"` + // AutomaticRepairsPolicy - Policy for automatic repairs. + AutomaticRepairsPolicy *AutomaticRepairsPolicy `json:"automaticRepairsPolicy,omitempty"` // VirtualMachineProfile - The virtual machine profile. VirtualMachineProfile *VirtualMachineScaleSetVMProfile `json:"virtualMachineProfile,omitempty"` // ProvisioningState - READ-ONLY; The provisioning state, which only appears in the response. @@ -10346,6 +10420,8 @@ type VirtualMachineScaleSetProperties struct { ProximityPlacementGroup *SubResource `json:"proximityPlacementGroup,omitempty"` // AdditionalCapabilities - Specifies additional capabilities enabled or disabled on the Virtual Machines in the Virtual Machine Scale Set. For instance: whether the Virtual Machines have the capability to support attaching managed data disks with UltraSSD_LRS storage account type. AdditionalCapabilities *AdditionalCapabilities `json:"additionalCapabilities,omitempty"` + // ScaleInPolicy - Specifies the scale-in policy that decides which virtual machines are chosen for removal when a Virtual Machine Scale Set is scaled-in. + ScaleInPolicy *ScaleInPolicy `json:"scaleInPolicy,omitempty"` } // VirtualMachineScaleSetPublicIPAddressConfiguration describes a virtual machines scale set IP @@ -11110,6 +11186,8 @@ type VirtualMachineScaleSetUpdateNetworkConfigurationProperties struct { // VirtualMachineScaleSetUpdateNetworkProfile describes a virtual machine scale set network profile. type VirtualMachineScaleSetUpdateNetworkProfile struct { + // HealthProbe - A reference to a load balancer probe used to determine the health of an instance in the virtual machine scale set. The reference will be in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes/{probeName}'. + HealthProbe *APIEntityReference `json:"healthProbe,omitempty"` // NetworkInterfaceConfigurations - The list of network configurations. NetworkInterfaceConfigurations *[]VirtualMachineScaleSetUpdateNetworkConfiguration `json:"networkInterfaceConfigurations,omitempty"` } @@ -11147,14 +11225,20 @@ type VirtualMachineScaleSetUpdateOSProfile struct { type VirtualMachineScaleSetUpdateProperties struct { // UpgradePolicy - The upgrade policy. UpgradePolicy *UpgradePolicy `json:"upgradePolicy,omitempty"` + // AutomaticRepairsPolicy - Policy for automatic repairs. + AutomaticRepairsPolicy *AutomaticRepairsPolicy `json:"automaticRepairsPolicy,omitempty"` // VirtualMachineProfile - The virtual machine profile. VirtualMachineProfile *VirtualMachineScaleSetUpdateVMProfile `json:"virtualMachineProfile,omitempty"` // Overprovision - Specifies whether the Virtual Machine Scale Set should be overprovisioned. Overprovision *bool `json:"overprovision,omitempty"` + // DoNotRunExtensionsOnOverprovisionedVMs - When Overprovision is enabled, extensions are launched only on the requested number of VMs which are finally kept. This property will hence ensure that the extensions do not run on the extra overprovisioned VMs. + DoNotRunExtensionsOnOverprovisionedVMs *bool `json:"doNotRunExtensionsOnOverprovisionedVMs,omitempty"` // SinglePlacementGroup - When true this limits the scale set to a single placement group, of max size 100 virtual machines. SinglePlacementGroup *bool `json:"singlePlacementGroup,omitempty"` // AdditionalCapabilities - Specifies additional capabilities enabled or disabled on the Virtual Machines in the Virtual Machine Scale Set. For instance: whether the Virtual Machines have the capability to support attaching managed data disks with UltraSSD_LRS storage account type. AdditionalCapabilities *AdditionalCapabilities `json:"additionalCapabilities,omitempty"` + // ScaleInPolicy - Specifies the scale-in policy that decides which virtual machines are chosen for removal when a Virtual Machine Scale Set is scaled-in. + ScaleInPolicy *ScaleInPolicy `json:"scaleInPolicy,omitempty"` } // VirtualMachineScaleSetUpdatePublicIPAddressConfiguration describes a virtual machines scale set IP @@ -11243,6 +11327,8 @@ type VirtualMachineScaleSetUpdateVMProfile struct { ExtensionProfile *VirtualMachineScaleSetExtensionProfile `json:"extensionProfile,omitempty"` // LicenseType - The license type, which is for bring your own license scenario. LicenseType *string `json:"licenseType,omitempty"` + // BillingProfile - Specifies the billing related details of a low priority VMSS.

Minimum api-version: 2019-03-01. + BillingProfile *BillingProfile `json:"billingProfile,omitempty"` // ScheduledEventsProfile - Specifies Scheduled Event related configurations. ScheduledEventsProfile *ScheduledEventsProfile `json:"scheduledEventsProfile,omitempty"` } @@ -11627,6 +11713,8 @@ type VirtualMachineScaleSetVMProfile struct { Priority VirtualMachinePriorityTypes `json:"priority,omitempty"` // EvictionPolicy - Specifies the eviction policy for virtual machines in a low priority scale set.

Minimum api-version: 2017-10-30-preview. Possible values include: 'Deallocate', 'Delete' EvictionPolicy VirtualMachineEvictionPolicyTypes `json:"evictionPolicy,omitempty"` + // BillingProfile - Specifies the billing related details of a low priority VMSS.

Minimum api-version: 2019-03-01. + BillingProfile *BillingProfile `json:"billingProfile,omitempty"` // ScheduledEventsProfile - Specifies Scheduled Event related configurations. ScheduledEventsProfile *ScheduledEventsProfile `json:"scheduledEventsProfile,omitempty"` } diff --git a/services/compute/mgmt/2019-03-01/compute/snapshots.go b/services/compute/mgmt/2019-03-01/compute/snapshots.go index dc153b65164e..5fca4e7acd7f 100644 --- a/services/compute/mgmt/2019-03-01/compute/snapshots.go +++ b/services/compute/mgmt/2019-03-01/compute/snapshots.go @@ -94,7 +94,7 @@ func (client SnapshotsClient) CreateOrUpdatePreparer(ctx context.Context, resour "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2018-09-30" + const APIVersion = "2019-03-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -175,7 +175,7 @@ func (client SnapshotsClient) DeletePreparer(ctx context.Context, resourceGroupN "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2018-09-30" + const APIVersion = "2019-03-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -258,7 +258,7 @@ func (client SnapshotsClient) GetPreparer(ctx context.Context, resourceGroupName "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2018-09-30" + const APIVersion = "2019-03-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -337,7 +337,7 @@ func (client SnapshotsClient) GrantAccessPreparer(ctx context.Context, resourceG "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2018-09-30" + const APIVersion = "2019-03-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -418,7 +418,7 @@ func (client SnapshotsClient) ListPreparer(ctx context.Context) (*http.Request, "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2018-09-30" + const APIVersion = "2019-03-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -531,7 +531,7 @@ func (client SnapshotsClient) ListByResourceGroupPreparer(ctx context.Context, r "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2018-09-30" + const APIVersion = "2019-03-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -640,7 +640,7 @@ func (client SnapshotsClient) RevokeAccessPreparer(ctx context.Context, resource "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2018-09-30" + const APIVersion = "2019-03-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -718,7 +718,7 @@ func (client SnapshotsClient) UpdatePreparer(ctx context.Context, resourceGroupN "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2018-09-30" + const APIVersion = "2019-03-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } diff --git a/services/compute/mgmt/2019-03-01/compute/virtualmachines.go b/services/compute/mgmt/2019-03-01/compute/virtualmachines.go index dedeebb8deb9..206e7f4d7257 100644 --- a/services/compute/mgmt/2019-03-01/compute/virtualmachines.go +++ b/services/compute/mgmt/2019-03-01/compute/virtualmachines.go @@ -1278,7 +1278,7 @@ func (client VirtualMachinesClient) PowerOffResponder(resp *http.Response) (resu return } -// Redeploy the operation to redeploy a virtual machine. +// Redeploy shuts down the virtual machine, moves it to a new node, and powers it back on. // Parameters: // resourceGroupName - the name of the resource group. // VMName - the name of the virtual machine. diff --git a/services/compute/mgmt/2019-03-01/compute/virtualmachinescalesets.go b/services/compute/mgmt/2019-03-01/compute/virtualmachinescalesets.go index 97916d2125d0..660464e05780 100644 --- a/services/compute/mgmt/2019-03-01/compute/virtualmachinescalesets.go +++ b/services/compute/mgmt/2019-03-01/compute/virtualmachinescalesets.go @@ -1327,7 +1327,8 @@ func (client VirtualMachineScaleSetsClient) PowerOffResponder(resp *http.Respons return } -// Redeploy redeploy one or more virtual machines in a VM scale set. +// Redeploy shuts down all the virtual machines in the virtual machine scale set, moves them to a new node, and powers +// them back on. // Parameters: // resourceGroupName - the name of the resource group. // VMScaleSetName - the name of the VM scale set. diff --git a/services/compute/mgmt/2019-03-01/compute/virtualmachinescalesetvms.go b/services/compute/mgmt/2019-03-01/compute/virtualmachinescalesetvms.go index 011068c7ad89..6015078f439d 100644 --- a/services/compute/mgmt/2019-03-01/compute/virtualmachinescalesetvms.go +++ b/services/compute/mgmt/2019-03-01/compute/virtualmachinescalesetvms.go @@ -653,7 +653,8 @@ func (client VirtualMachineScaleSetVMsClient) PowerOffResponder(resp *http.Respo return } -// Redeploy redeploys a virtual machine in a VM scale set. +// Redeploy shuts down the virtual machine in the virtual machine scale set, moves it to a new node, and powers it back +// on. // Parameters: // resourceGroupName - the name of the resource group. // VMScaleSetName - the name of the VM scale set. diff --git a/services/compute/mgmt/2019-07-01/compute/availabilitysets.go b/services/compute/mgmt/2019-07-01/compute/availabilitysets.go index 8a6bbaa4a195..853abfc1c95c 100644 --- a/services/compute/mgmt/2019-07-01/compute/availabilitysets.go +++ b/services/compute/mgmt/2019-07-01/compute/availabilitysets.go @@ -465,7 +465,9 @@ func (client AvailabilitySetsClient) ListAvailableSizesResponder(resp *http.Resp } // ListBySubscription lists all availability sets in a subscription. -func (client AvailabilitySetsClient) ListBySubscription(ctx context.Context) (result AvailabilitySetListResultPage, err error) { +// Parameters: +// expand - the expand expression to apply to the operation. +func (client AvailabilitySetsClient) ListBySubscription(ctx context.Context, expand string) (result AvailabilitySetListResultPage, err error) { if tracing.IsEnabled() { ctx = tracing.StartSpan(ctx, fqdn+"/AvailabilitySetsClient.ListBySubscription") defer func() { @@ -477,7 +479,7 @@ func (client AvailabilitySetsClient) ListBySubscription(ctx context.Context) (re }() } result.fn = client.listBySubscriptionNextResults - req, err := client.ListBySubscriptionPreparer(ctx) + req, err := client.ListBySubscriptionPreparer(ctx, expand) if err != nil { err = autorest.NewErrorWithError(err, "compute.AvailabilitySetsClient", "ListBySubscription", nil, "Failure preparing request") return @@ -499,7 +501,7 @@ func (client AvailabilitySetsClient) ListBySubscription(ctx context.Context) (re } // ListBySubscriptionPreparer prepares the ListBySubscription request. -func (client AvailabilitySetsClient) ListBySubscriptionPreparer(ctx context.Context) (*http.Request, error) { +func (client AvailabilitySetsClient) ListBySubscriptionPreparer(ctx context.Context, expand string) (*http.Request, error) { pathParameters := map[string]interface{}{ "subscriptionId": autorest.Encode("path", client.SubscriptionID), } @@ -508,6 +510,9 @@ func (client AvailabilitySetsClient) ListBySubscriptionPreparer(ctx context.Cont queryParameters := map[string]interface{}{ "api-version": APIVersion, } + if len(expand) > 0 { + queryParameters["$expand"] = autorest.Encode("query", expand) + } preparer := autorest.CreatePreparer( autorest.AsGet(), @@ -559,7 +564,7 @@ func (client AvailabilitySetsClient) listBySubscriptionNextResults(ctx context.C } // ListBySubscriptionComplete enumerates all values, automatically crossing page boundaries as required. -func (client AvailabilitySetsClient) ListBySubscriptionComplete(ctx context.Context) (result AvailabilitySetListResultIterator, err error) { +func (client AvailabilitySetsClient) ListBySubscriptionComplete(ctx context.Context, expand string) (result AvailabilitySetListResultIterator, err error) { if tracing.IsEnabled() { ctx = tracing.StartSpan(ctx, fqdn+"/AvailabilitySetsClient.ListBySubscription") defer func() { @@ -570,7 +575,7 @@ func (client AvailabilitySetsClient) ListBySubscriptionComplete(ctx context.Cont tracing.EndSpan(ctx, sc, err) }() } - result.page, err = client.ListBySubscription(ctx) + result.page, err = client.ListBySubscription(ctx, expand) return } diff --git a/services/compute/mgmt/2019-07-01/compute/computeapi/interfaces.go b/services/compute/mgmt/2019-07-01/compute/computeapi/interfaces.go index f4658b1dfc43..1a3fc7f1d25a 100644 --- a/services/compute/mgmt/2019-07-01/compute/computeapi/interfaces.go +++ b/services/compute/mgmt/2019-07-01/compute/computeapi/interfaces.go @@ -37,7 +37,7 @@ type AvailabilitySetsClientAPI interface { Get(ctx context.Context, resourceGroupName string, availabilitySetName string) (result compute.AvailabilitySet, err error) List(ctx context.Context, resourceGroupName string) (result compute.AvailabilitySetListResultPage, err error) ListAvailableSizes(ctx context.Context, resourceGroupName string, availabilitySetName string) (result compute.VirtualMachineSizeListResult, err error) - ListBySubscription(ctx context.Context) (result compute.AvailabilitySetListResultPage, err error) + ListBySubscription(ctx context.Context, expand string) (result compute.AvailabilitySetListResultPage, err error) Update(ctx context.Context, resourceGroupName string, availabilitySetName string, parameters compute.AvailabilitySetUpdate) (result compute.AvailabilitySet, err error) } diff --git a/services/compute/mgmt/2019-07-01/compute/disks.go b/services/compute/mgmt/2019-07-01/compute/disks.go index 2dee9d74dad5..31ee32f12f42 100644 --- a/services/compute/mgmt/2019-07-01/compute/disks.go +++ b/services/compute/mgmt/2019-07-01/compute/disks.go @@ -95,7 +95,7 @@ func (client DisksClient) CreateOrUpdatePreparer(ctx context.Context, resourceGr "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2018-09-30" + const APIVersion = "2019-03-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -177,7 +177,7 @@ func (client DisksClient) DeletePreparer(ctx context.Context, resourceGroupName "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2018-09-30" + const APIVersion = "2019-03-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -261,7 +261,7 @@ func (client DisksClient) GetPreparer(ctx context.Context, resourceGroupName str "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2018-09-30" + const APIVersion = "2019-03-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -341,7 +341,7 @@ func (client DisksClient) GrantAccessPreparer(ctx context.Context, resourceGroup "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2018-09-30" + const APIVersion = "2019-03-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -422,7 +422,7 @@ func (client DisksClient) ListPreparer(ctx context.Context) (*http.Request, erro "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2018-09-30" + const APIVersion = "2019-03-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -535,7 +535,7 @@ func (client DisksClient) ListByResourceGroupPreparer(ctx context.Context, resou "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2018-09-30" + const APIVersion = "2019-03-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -645,7 +645,7 @@ func (client DisksClient) RevokeAccessPreparer(ctx context.Context, resourceGrou "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2018-09-30" + const APIVersion = "2019-03-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -724,7 +724,7 @@ func (client DisksClient) UpdatePreparer(ctx context.Context, resourceGroupName "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2018-09-30" + const APIVersion = "2019-03-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } diff --git a/services/compute/mgmt/2019-07-01/compute/models.go b/services/compute/mgmt/2019-07-01/compute/models.go index 4e92e58d1ab6..d9f11ecfb2b5 100644 --- a/services/compute/mgmt/2019-07-01/compute/models.go +++ b/services/compute/mgmt/2019-07-01/compute/models.go @@ -270,19 +270,22 @@ func PossibleDiffDiskOptionsValues() []DiffDiskOptions { type DiskCreateOption string const ( - // Attach ... + // Attach Disk will be attached to a VM. Attach DiskCreateOption = "Attach" - // Copy ... + // Copy Create a new disk or snapshot by copying from a disk or snapshot specified by the given + // sourceResourceId. Copy DiskCreateOption = "Copy" - // Empty ... + // Empty Create an empty data disk of a size given by diskSizeGB. Empty DiskCreateOption = "Empty" - // FromImage ... + // FromImage Create a new disk from a platform image specified by the given imageReference. FromImage DiskCreateOption = "FromImage" - // Import ... + // Import Create a disk by importing from a blob specified by a sourceUri in a storage account specified by + // storageAccountId. Import DiskCreateOption = "Import" - // Restore ... + // Restore Create a new disk by copying from a backup recovery point. Restore DiskCreateOption = "Restore" - // Upload ... + // Upload Create a new disk by obtaining a write token and using it to directly upload the contents of the + // disk. Upload DiskCreateOption = "Upload" ) @@ -312,17 +315,17 @@ func PossibleDiskCreateOptionTypesValues() []DiskCreateOptionTypes { type DiskState string const ( - // ActiveSAS ... + // ActiveSAS The disk currently has an Active SAS Uri associated with it. ActiveSAS DiskState = "ActiveSAS" - // ActiveUpload ... + // ActiveUpload A disk is created for upload and a write token has been issued for uploading to it. ActiveUpload DiskState = "ActiveUpload" - // Attached ... + // Attached The disk is currently mounted to a running VM. Attached DiskState = "Attached" - // ReadyToUpload ... + // ReadyToUpload A disk is ready to be created by upload by requesting a write token. ReadyToUpload DiskState = "ReadyToUpload" - // Reserved ... + // Reserved The disk is mounted to a stopped-deallocated VM Reserved DiskState = "Reserved" - // Unattached ... + // Unattached The disk is not being used and can be attached to a VM. Unattached DiskState = "Unattached" ) @@ -335,13 +338,17 @@ func PossibleDiskStateValues() []DiskState { type DiskStorageAccountTypes string const ( - // PremiumLRS ... + // PremiumLRS Premium SSD locally redundant storage. Best for production and performance sensitive + // workloads. PremiumLRS DiskStorageAccountTypes = "Premium_LRS" - // StandardLRS ... + // StandardLRS Standard HDD locally redundant storage. Best for backup, non-critical, and infrequent + // access. StandardLRS DiskStorageAccountTypes = "Standard_LRS" - // StandardSSDLRS ... + // StandardSSDLRS Standard SSD locally redundant storage. Best for web servers, lightly used enterprise + // applications and dev/test. StandardSSDLRS DiskStorageAccountTypes = "StandardSSD_LRS" - // UltraSSDLRS ... + // UltraSSDLRS Ultra SSD locally redundant storage. Best for IO-intensive workloads such as SAP HANA, top + // tier databases (for example, SQL, Oracle), and other transaction-heavy workloads. UltraSSDLRS DiskStorageAccountTypes = "UltraSSD_LRS" ) @@ -794,11 +801,11 @@ func PossibleSettingNamesValues() []SettingNames { type SnapshotStorageAccountTypes string const ( - // SnapshotStorageAccountTypesPremiumLRS ... + // SnapshotStorageAccountTypesPremiumLRS Premium SSD locally redundant storage SnapshotStorageAccountTypesPremiumLRS SnapshotStorageAccountTypes = "Premium_LRS" - // SnapshotStorageAccountTypesStandardLRS ... + // SnapshotStorageAccountTypesStandardLRS Standard HDD locally redundant storage SnapshotStorageAccountTypesStandardLRS SnapshotStorageAccountTypes = "Standard_LRS" - // SnapshotStorageAccountTypesStandardZRS ... + // SnapshotStorageAccountTypesStandardZRS Standard zone redundant storage SnapshotStorageAccountTypesStandardZRS SnapshotStorageAccountTypes = "Standard_ZRS" ) @@ -941,6 +948,23 @@ func PossibleVirtualMachinePriorityTypesValues() []VirtualMachinePriorityTypes { return []VirtualMachinePriorityTypes{Low, Regular} } +// VirtualMachineScaleSetScaleInRules enumerates the values for virtual machine scale set scale in rules. +type VirtualMachineScaleSetScaleInRules string + +const ( + // Default ... + Default VirtualMachineScaleSetScaleInRules = "Default" + // NewestVM ... + NewestVM VirtualMachineScaleSetScaleInRules = "NewestVM" + // OldestVM ... + OldestVM VirtualMachineScaleSetScaleInRules = "OldestVM" +) + +// PossibleVirtualMachineScaleSetScaleInRulesValues returns an array of possible values for the VirtualMachineScaleSetScaleInRules const type. +func PossibleVirtualMachineScaleSetScaleInRulesValues() []VirtualMachineScaleSetScaleInRules { + return []VirtualMachineScaleSetScaleInRules{Default, NewestVM, OldestVM} +} + // VirtualMachineScaleSetSkuScaleType enumerates the values for virtual machine scale set sku scale type. type VirtualMachineScaleSetSkuScaleType string @@ -1371,6 +1395,17 @@ type AutomaticOSUpgradeProperties struct { AutomaticOSUpgradeSupported *bool `json:"automaticOSUpgradeSupported,omitempty"` } +// AutomaticRepairsPolicy specifies the configuration parameters for automatic repairs on the virtual +// machine scale set. +type AutomaticRepairsPolicy struct { + // Enabled - Specifies whether automatic repairs should be enabled on the virtual machine scale set. The default value is false. + Enabled *bool `json:"enabled,omitempty"` + // GracePeriod - The amount of time for which automatic repairs are suspended due to a state change on VM. The grace time starts after the state change has completed. This helps avoid premature or accidental repairs. The time duration should be specified in ISO 8601 format. The default value is 5 minutes (PT5M). + GracePeriod *string `json:"gracePeriod,omitempty"` + // MaxInstanceRepairsPercent - The percentage (capacity of scaleset) of virtual machines that will be simultaneously repaired. The default value is 20%. + MaxInstanceRepairsPercent *int32 `json:"maxInstanceRepairsPercent,omitempty"` +} + // AvailabilitySet specifies information about the availability set that the virtual machine should be // assigned to. Virtual machines specified in the same availability set are allocated to different nodes to // maximize availability. For more information about availability sets, see [Manage the availability of @@ -1721,6 +1756,13 @@ func (asu *AvailabilitySetUpdate) UnmarshalJSON(body []byte) error { return nil } +// BillingProfile specifies the billing related details of a low priority VM or VMSS.

Minimum +// api-version: 2019-03-01. +type BillingProfile struct { + // MaxPrice - Specifies the maximum price you are willing to pay for a low priority VM/VMSS. This price is in US Dollars.

This price will be compared with the current low priority price for the VM size. Also, the prices are compared at the time of create/update of low priority VM/VMSS and the operation will only succeed if the maxPrice is greater than the current low priority price.

The maxPrice will also be used for evicting a low priority VM/VMSS if the current low priority price goes beyond the maxPrice after creation of VM/VMSS.

Possible values are:

- Any decimal value greater than zero. Example: $0.01538

-1 – indicates default price to be up-to on-demand.

You can set the maxPrice to -1 to indicate that the low priority VM/VMSS should not be evicted for price reasons. Also, the default max price is -1 if it is not provided by you.

Minimum api-version: 2019-03-01. + MaxPrice *float64 `json:"maxPrice,omitempty"` +} + // BootDiagnostics boot Diagnostics is a debugging feature which allows you to view Console Output and // Screenshot to diagnose VM status.

You can easily view the output of your console log.

// Azure also enables you to see a screenshot of the VM from the hypervisor. @@ -2165,6 +2207,10 @@ type CreationData struct { SourceURI *string `json:"sourceUri,omitempty"` // SourceResourceID - If createOption is Copy, this is the ARM id of the source snapshot or disk. SourceResourceID *string `json:"sourceResourceId,omitempty"` + // SourceUniqueID - READ-ONLY; If this field is set, this is the unique id identifying the source of this resource. + SourceUniqueID *string `json:"sourceUniqueId,omitempty"` + // UploadSizeBytes - If createOption is Upload, this is the size of the contents of the upload including the VHD footer. This value should be between 20972032 (20 MiB + 512 bytes for the VHD footer) and 35183298347520 bytes (32 TiB + 512 bytes for the VHD footer). + UploadSizeBytes *int64 `json:"uploadSizeBytes,omitempty"` } // DataDisk describes a data disk. @@ -3307,8 +3353,12 @@ type DiskProperties struct { HyperVGeneration HyperVGeneration `json:"hyperVGeneration,omitempty"` // CreationData - Disk source information. CreationData information cannot be changed after the disk has been created. CreationData *CreationData `json:"creationData,omitempty"` - // DiskSizeGB - If creationData.createOption is Empty, this field is mandatory and it indicates the size of the VHD to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size. + // DiskSizeGB - If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size. DiskSizeGB *int32 `json:"diskSizeGB,omitempty"` + // DiskSizeBytes - READ-ONLY; The size of the disk in bytes. This field is read only. + DiskSizeBytes *int64 `json:"diskSizeBytes,omitempty"` + // UniqueID - READ-ONLY; Unique Guid identifying the resource. + UniqueID *string `json:"uniqueId,omitempty"` // EncryptionSettingsCollection - Encryption settings collection used for Azure Disk Encryption, can contain multiple encryption settings per disk or snapshot. EncryptionSettingsCollection *EncryptionSettingsCollection `json:"encryptionSettingsCollection,omitempty"` // ProvisioningState - READ-ONLY; The disk provisioning state. @@ -3529,7 +3579,7 @@ func (du *DiskUpdate) UnmarshalJSON(body []byte) error { type DiskUpdateProperties struct { // OsType - the Operating System type. Possible values include: 'Windows', 'Linux' OsType OperatingSystemTypes `json:"osType,omitempty"` - // DiskSizeGB - If creationData.createOption is Empty, this field is mandatory and it indicates the size of the VHD to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size. + // DiskSizeGB - If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size. DiskSizeGB *int32 `json:"diskSizeGB,omitempty"` // EncryptionSettingsCollection - Encryption settings collection used be Azure Disk Encryption, can contain multiple encryption settings per disk or snapshot. EncryptionSettingsCollection *EncryptionSettingsCollection `json:"encryptionSettingsCollection,omitempty"` @@ -3545,6 +3595,8 @@ type EncryptionSettingsCollection struct { Enabled *bool `json:"enabled,omitempty"` // EncryptionSettings - A collection of encryption settings, one for each disk volume. EncryptionSettings *[]EncryptionSettingsElement `json:"encryptionSettings,omitempty"` + // EncryptionSettingsVersion - Describes what type of encryption is used for the disks. Once this field is set, it cannot be overwritten. '1.0' corresponds to Azure Disk Encryption with AAD app.'1.1' corresponds to Azure Disk Encryption. + EncryptionSettingsVersion *string `json:"encryptionSettingsVersion,omitempty"` } // EncryptionSettingsElement encryption settings for one disk volume. @@ -6266,6 +6318,8 @@ type OSProfile struct { Secrets *[]VaultSecretGroup `json:"secrets,omitempty"` // AllowExtensionOperations - Specifies whether extension operations should be allowed on the virtual machine.

This may only be set to False when no extensions are present on the virtual machine. AllowExtensionOperations *bool `json:"allowExtensionOperations,omitempty"` + // RequireGuestProvisionSignal - Specifies whether the guest provision signal is required from the virtual machine. + RequireGuestProvisionSignal *bool `json:"requireGuestProvisionSignal,omitempty"` } // Plan specifies information about the marketplace image used to create the virtual machine. This element @@ -7276,6 +7330,12 @@ type RunCommandResult struct { Value *[]InstanceViewStatus `json:"value,omitempty"` } +// ScaleInPolicy describes a scale-in policy for a virtual machine scale set. +type ScaleInPolicy struct { + // Rules - The rules to be followed when scaling-in a virtual machine scale set.

Possible values are:

**Default** When a virtual machine scale set is scaled in, the scale set will first be balanced across zones if it is a zonal scale set. Then, it will be balanced across Fault Domains as far as possible. Within each Fault Domain, the virtual machines chosen for removal will be the newest ones that are not protected from scale-in.

**OldestVM** When a virtual machine scale set is being scaled-in, the oldest virtual machines that are not protected from scale-in will be chosen for removal. For zonal virtual machine scale sets, the scale set will first be balanced across zones. Within each zone, the oldest virtual machines that are not protected will be chosen for removal.

**NewestVM** When a virtual machine scale set is being scaled-in, the newest virtual machines that are not protected from scale-in will be chosen for removal. For zonal virtual machine scale sets, the scale set will first be balanced across zones. Within each zone, the newest virtual machines that are not protected will be chosen for removal.

+ Rules *[]VirtualMachineScaleSetScaleInRules `json:"rules,omitempty"` +} + // ScheduledEventsProfile ... type ScheduledEventsProfile struct { // TerminateNotificationProfile - Specifies Terminate Scheduled Event related configurations. @@ -7572,12 +7632,18 @@ type SnapshotProperties struct { HyperVGeneration HyperVGeneration `json:"hyperVGeneration,omitempty"` // CreationData - Disk source information. CreationData information cannot be changed after the disk has been created. CreationData *CreationData `json:"creationData,omitempty"` - // DiskSizeGB - If creationData.createOption is Empty, this field is mandatory and it indicates the size of the VHD to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size. + // DiskSizeGB - If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size. DiskSizeGB *int32 `json:"diskSizeGB,omitempty"` + // DiskSizeBytes - READ-ONLY; The size of the disk in bytes. This field is read only. + DiskSizeBytes *int64 `json:"diskSizeBytes,omitempty"` + // UniqueID - READ-ONLY; Unique Guid identifying the resource. + UniqueID *string `json:"uniqueId,omitempty"` // EncryptionSettingsCollection - Encryption settings collection used be Azure Disk Encryption, can contain multiple encryption settings per disk or snapshot. EncryptionSettingsCollection *EncryptionSettingsCollection `json:"encryptionSettingsCollection,omitempty"` // ProvisioningState - READ-ONLY; The disk provisioning state. ProvisioningState *string `json:"provisioningState,omitempty"` + // Incremental - Whether a snapshot is incremental. Incremental snapshots on the same disk occupy less space than full snapshots and can be diffed. + Incremental *bool `json:"incremental,omitempty"` } // SnapshotsCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a long-running @@ -7790,7 +7856,7 @@ func (su *SnapshotUpdate) UnmarshalJSON(body []byte) error { type SnapshotUpdateProperties struct { // OsType - the Operating System type. Possible values include: 'Windows', 'Linux' OsType OperatingSystemTypes `json:"osType,omitempty"` - // DiskSizeGB - If creationData.createOption is Empty, this field is mandatory and it indicates the size of the VHD to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size. + // DiskSizeGB - If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size. DiskSizeGB *int32 `json:"diskSizeGB,omitempty"` // EncryptionSettingsCollection - Encryption settings collection used be Azure Disk Encryption, can contain multiple encryption settings per disk or snapshot. EncryptionSettingsCollection *EncryptionSettingsCollection `json:"encryptionSettingsCollection,omitempty"` @@ -8963,6 +9029,12 @@ type VirtualMachineProperties struct { VirtualMachineScaleSet *SubResource `json:"virtualMachineScaleSet,omitempty"` // ProximityPlacementGroup - Specifies information about the proximity placement group that the virtual machine should be assigned to.

Minimum api-version: 2018-04-01. ProximityPlacementGroup *SubResource `json:"proximityPlacementGroup,omitempty"` + // Priority - Specifies the priority for the virtual machine.

Minimum api-version: 2019-03-01. Possible values include: 'Regular', 'Low' + Priority VirtualMachinePriorityTypes `json:"priority,omitempty"` + // EvictionPolicy - Specifies the eviction policy for the low priority virtual machine. Only supported value is 'Deallocate'.

Minimum api-version: 2019-03-01. Possible values include: 'Deallocate', 'Delete' + EvictionPolicy VirtualMachineEvictionPolicyTypes `json:"evictionPolicy,omitempty"` + // BillingProfile - Specifies the billing related details of a low priority virtual machine.

Minimum api-version: 2019-03-01. + BillingProfile *BillingProfile `json:"billingProfile,omitempty"` // Host - Specifies information about the dedicated host that the virtual machine resides in.

Minimum api-version: 2018-10-01. Host *SubResource `json:"host,omitempty"` // ProvisioningState - READ-ONLY; The provisioning state, which only appears in the response. @@ -10335,6 +10407,8 @@ type VirtualMachineScaleSetOSProfile struct { type VirtualMachineScaleSetProperties struct { // UpgradePolicy - The upgrade policy. UpgradePolicy *UpgradePolicy `json:"upgradePolicy,omitempty"` + // AutomaticRepairsPolicy - Policy for automatic repairs. + AutomaticRepairsPolicy *AutomaticRepairsPolicy `json:"automaticRepairsPolicy,omitempty"` // VirtualMachineProfile - The virtual machine profile. VirtualMachineProfile *VirtualMachineScaleSetVMProfile `json:"virtualMachineProfile,omitempty"` // ProvisioningState - READ-ONLY; The provisioning state, which only appears in the response. @@ -10355,6 +10429,8 @@ type VirtualMachineScaleSetProperties struct { ProximityPlacementGroup *SubResource `json:"proximityPlacementGroup,omitempty"` // AdditionalCapabilities - Specifies additional capabilities enabled or disabled on the Virtual Machines in the Virtual Machine Scale Set. For instance: whether the Virtual Machines have the capability to support attaching managed data disks with UltraSSD_LRS storage account type. AdditionalCapabilities *AdditionalCapabilities `json:"additionalCapabilities,omitempty"` + // ScaleInPolicy - Specifies the scale-in policy that decides which virtual machines are chosen for removal when a Virtual Machine Scale Set is scaled-in. + ScaleInPolicy *ScaleInPolicy `json:"scaleInPolicy,omitempty"` } // VirtualMachineScaleSetPublicIPAddressConfiguration describes a virtual machines scale set IP @@ -11119,6 +11195,8 @@ type VirtualMachineScaleSetUpdateNetworkConfigurationProperties struct { // VirtualMachineScaleSetUpdateNetworkProfile describes a virtual machine scale set network profile. type VirtualMachineScaleSetUpdateNetworkProfile struct { + // HealthProbe - A reference to a load balancer probe used to determine the health of an instance in the virtual machine scale set. The reference will be in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes/{probeName}'. + HealthProbe *APIEntityReference `json:"healthProbe,omitempty"` // NetworkInterfaceConfigurations - The list of network configurations. NetworkInterfaceConfigurations *[]VirtualMachineScaleSetUpdateNetworkConfiguration `json:"networkInterfaceConfigurations,omitempty"` } @@ -11156,14 +11234,20 @@ type VirtualMachineScaleSetUpdateOSProfile struct { type VirtualMachineScaleSetUpdateProperties struct { // UpgradePolicy - The upgrade policy. UpgradePolicy *UpgradePolicy `json:"upgradePolicy,omitempty"` + // AutomaticRepairsPolicy - Policy for automatic repairs. + AutomaticRepairsPolicy *AutomaticRepairsPolicy `json:"automaticRepairsPolicy,omitempty"` // VirtualMachineProfile - The virtual machine profile. VirtualMachineProfile *VirtualMachineScaleSetUpdateVMProfile `json:"virtualMachineProfile,omitempty"` // Overprovision - Specifies whether the Virtual Machine Scale Set should be overprovisioned. Overprovision *bool `json:"overprovision,omitempty"` + // DoNotRunExtensionsOnOverprovisionedVMs - When Overprovision is enabled, extensions are launched only on the requested number of VMs which are finally kept. This property will hence ensure that the extensions do not run on the extra overprovisioned VMs. + DoNotRunExtensionsOnOverprovisionedVMs *bool `json:"doNotRunExtensionsOnOverprovisionedVMs,omitempty"` // SinglePlacementGroup - When true this limits the scale set to a single placement group, of max size 100 virtual machines. SinglePlacementGroup *bool `json:"singlePlacementGroup,omitempty"` // AdditionalCapabilities - Specifies additional capabilities enabled or disabled on the Virtual Machines in the Virtual Machine Scale Set. For instance: whether the Virtual Machines have the capability to support attaching managed data disks with UltraSSD_LRS storage account type. AdditionalCapabilities *AdditionalCapabilities `json:"additionalCapabilities,omitempty"` + // ScaleInPolicy - Specifies the scale-in policy that decides which virtual machines are chosen for removal when a Virtual Machine Scale Set is scaled-in. + ScaleInPolicy *ScaleInPolicy `json:"scaleInPolicy,omitempty"` } // VirtualMachineScaleSetUpdatePublicIPAddressConfiguration describes a virtual machines scale set IP @@ -11252,6 +11336,8 @@ type VirtualMachineScaleSetUpdateVMProfile struct { ExtensionProfile *VirtualMachineScaleSetExtensionProfile `json:"extensionProfile,omitempty"` // LicenseType - The license type, which is for bring your own license scenario. LicenseType *string `json:"licenseType,omitempty"` + // BillingProfile - Specifies the billing related details of a low priority VMSS.

Minimum api-version: 2019-03-01. + BillingProfile *BillingProfile `json:"billingProfile,omitempty"` // ScheduledEventsProfile - Specifies Scheduled Event related configurations. ScheduledEventsProfile *ScheduledEventsProfile `json:"scheduledEventsProfile,omitempty"` } @@ -11636,6 +11722,8 @@ type VirtualMachineScaleSetVMProfile struct { Priority VirtualMachinePriorityTypes `json:"priority,omitempty"` // EvictionPolicy - Specifies the eviction policy for virtual machines in a low priority scale set.

Minimum api-version: 2017-10-30-preview. Possible values include: 'Deallocate', 'Delete' EvictionPolicy VirtualMachineEvictionPolicyTypes `json:"evictionPolicy,omitempty"` + // BillingProfile - Specifies the billing related details of a low priority VMSS.

Minimum api-version: 2019-03-01. + BillingProfile *BillingProfile `json:"billingProfile,omitempty"` // ScheduledEventsProfile - Specifies Scheduled Event related configurations. ScheduledEventsProfile *ScheduledEventsProfile `json:"scheduledEventsProfile,omitempty"` } diff --git a/services/compute/mgmt/2019-07-01/compute/snapshots.go b/services/compute/mgmt/2019-07-01/compute/snapshots.go index dc153b65164e..5fca4e7acd7f 100644 --- a/services/compute/mgmt/2019-07-01/compute/snapshots.go +++ b/services/compute/mgmt/2019-07-01/compute/snapshots.go @@ -94,7 +94,7 @@ func (client SnapshotsClient) CreateOrUpdatePreparer(ctx context.Context, resour "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2018-09-30" + const APIVersion = "2019-03-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -175,7 +175,7 @@ func (client SnapshotsClient) DeletePreparer(ctx context.Context, resourceGroupN "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2018-09-30" + const APIVersion = "2019-03-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -258,7 +258,7 @@ func (client SnapshotsClient) GetPreparer(ctx context.Context, resourceGroupName "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2018-09-30" + const APIVersion = "2019-03-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -337,7 +337,7 @@ func (client SnapshotsClient) GrantAccessPreparer(ctx context.Context, resourceG "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2018-09-30" + const APIVersion = "2019-03-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -418,7 +418,7 @@ func (client SnapshotsClient) ListPreparer(ctx context.Context) (*http.Request, "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2018-09-30" + const APIVersion = "2019-03-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -531,7 +531,7 @@ func (client SnapshotsClient) ListByResourceGroupPreparer(ctx context.Context, r "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2018-09-30" + const APIVersion = "2019-03-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -640,7 +640,7 @@ func (client SnapshotsClient) RevokeAccessPreparer(ctx context.Context, resource "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2018-09-30" + const APIVersion = "2019-03-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -718,7 +718,7 @@ func (client SnapshotsClient) UpdatePreparer(ctx context.Context, resourceGroupN "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2018-09-30" + const APIVersion = "2019-03-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } diff --git a/services/compute/mgmt/2019-07-01/compute/virtualmachines.go b/services/compute/mgmt/2019-07-01/compute/virtualmachines.go index dedeebb8deb9..206e7f4d7257 100644 --- a/services/compute/mgmt/2019-07-01/compute/virtualmachines.go +++ b/services/compute/mgmt/2019-07-01/compute/virtualmachines.go @@ -1278,7 +1278,7 @@ func (client VirtualMachinesClient) PowerOffResponder(resp *http.Response) (resu return } -// Redeploy the operation to redeploy a virtual machine. +// Redeploy shuts down the virtual machine, moves it to a new node, and powers it back on. // Parameters: // resourceGroupName - the name of the resource group. // VMName - the name of the virtual machine. diff --git a/services/compute/mgmt/2019-07-01/compute/virtualmachinescalesets.go b/services/compute/mgmt/2019-07-01/compute/virtualmachinescalesets.go index 97916d2125d0..660464e05780 100644 --- a/services/compute/mgmt/2019-07-01/compute/virtualmachinescalesets.go +++ b/services/compute/mgmt/2019-07-01/compute/virtualmachinescalesets.go @@ -1327,7 +1327,8 @@ func (client VirtualMachineScaleSetsClient) PowerOffResponder(resp *http.Respons return } -// Redeploy redeploy one or more virtual machines in a VM scale set. +// Redeploy shuts down all the virtual machines in the virtual machine scale set, moves them to a new node, and powers +// them back on. // Parameters: // resourceGroupName - the name of the resource group. // VMScaleSetName - the name of the VM scale set. diff --git a/services/compute/mgmt/2019-07-01/compute/virtualmachinescalesetvms.go b/services/compute/mgmt/2019-07-01/compute/virtualmachinescalesetvms.go index 011068c7ad89..6015078f439d 100644 --- a/services/compute/mgmt/2019-07-01/compute/virtualmachinescalesetvms.go +++ b/services/compute/mgmt/2019-07-01/compute/virtualmachinescalesetvms.go @@ -653,7 +653,8 @@ func (client VirtualMachineScaleSetVMsClient) PowerOffResponder(resp *http.Respo return } -// Redeploy redeploys a virtual machine in a VM scale set. +// Redeploy shuts down the virtual machine in the virtual machine scale set, moves it to a new node, and powers it back +// on. // Parameters: // resourceGroupName - the name of the resource group. // VMScaleSetName - the name of the VM scale set. diff --git a/services/containerregistry/mgmt/2019-05-01-preview/containerregistry/models.go b/services/containerregistry/mgmt/2019-05-01-preview/containerregistry/models.go index 8078a0cdfe2e..f1e48788ddb2 100644 --- a/services/containerregistry/mgmt/2019-05-01-preview/containerregistry/models.go +++ b/services/containerregistry/mgmt/2019-05-01-preview/containerregistry/models.go @@ -180,21 +180,6 @@ func PossibleSkuTierValues() []SkuTier { return []SkuTier{SkuTierBasic, SkuTierClassic, SkuTierPremium, SkuTierStandard} } -// Status enumerates the values for status. -type Status string - -const ( - // StatusDisabled ... - StatusDisabled Status = "disabled" - // StatusEnabled ... - StatusEnabled Status = "enabled" -) - -// PossibleStatusValues returns an array of possible values for the Status const type. -func PossibleStatusValues() []Status { - return []Status{StatusDisabled, StatusEnabled} -} - // TokenCertificateName enumerates the values for token certificate name. type TokenCertificateName string @@ -225,6 +210,21 @@ func PossibleTokenPasswordNameValues() []TokenPasswordName { return []TokenPasswordName{TokenPasswordNamePassword1, TokenPasswordNamePassword2} } +// TokenStatus enumerates the values for token status. +type TokenStatus string + +const ( + // TokenStatusDisabled ... + TokenStatusDisabled TokenStatus = "disabled" + // TokenStatusEnabled ... + TokenStatusEnabled TokenStatus = "enabled" +) + +// PossibleTokenStatusValues returns an array of possible values for the TokenStatus const type. +func PossibleTokenStatusValues() []TokenStatus { + return []TokenStatus{TokenStatusDisabled, TokenStatusEnabled} +} + // TrustPolicyType enumerates the values for trust policy type. type TrustPolicyType string @@ -560,7 +560,7 @@ type GenerateCredentialsParameters struct { TokenID *string `json:"tokenId,omitempty"` // Expiry - The expiry date of the generated credentials after which the credentials become invalid. Expiry *date.Time `json:"expiry,omitempty"` - // Name - Specifies name of the password which should be regenerated if any -- password or password2. Possible values include: 'TokenPasswordNamePassword1', 'TokenPasswordNamePassword2' + // Name - Specifies name of the password which should be regenerated if any -- password1 or password2. Possible values include: 'TokenPasswordNamePassword1', 'TokenPasswordNamePassword2' Name TokenPasswordName `json:"name,omitempty"` } @@ -1393,7 +1393,7 @@ type RegistryProperties struct { // ProvisioningState - READ-ONLY; The provisioning state of the container registry at the time the operation was called. Possible values include: 'Creating', 'Updating', 'Deleting', 'Succeeded', 'Failed', 'Canceled' ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` // Status - READ-ONLY; The status of the container registry at the time the operation was called. - Status *Status1 `json:"status,omitempty"` + Status *Status `json:"status,omitempty"` // AdminUserEnabled - The value that indicates whether the admin user is enabled. AdminUserEnabled *bool `json:"adminUserEnabled,omitempty"` // StorageAccount - The properties of the storage account for the container registry. Only applicable to Classic SKU. @@ -1750,7 +1750,7 @@ type ReplicationProperties struct { // ProvisioningState - READ-ONLY; The provisioning state of the replication at the time the operation was called. Possible values include: 'Creating', 'Updating', 'Deleting', 'Succeeded', 'Failed', 'Canceled' ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` // Status - READ-ONLY; The status of the replication at the time the operation was called. - Status *Status1 `json:"status,omitempty"` + Status *Status `json:"status,omitempty"` } // ReplicationsCreateFuture an abstraction for monitoring and retrieving the results of a long-running @@ -2119,8 +2119,8 @@ type ScopeMapProperties struct { // ProvisioningState - READ-ONLY; Provisioning state of the resource. Possible values include: 'Creating', 'Updating', 'Deleting', 'Succeeded', 'Failed', 'Canceled' ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` // Actions - The list of scoped permissions for registry artifacts. - // E.g. repositories/repository-name/pull, - // repositories/repository-name/delete + // E.g. repositories/repository-name/content/read, + // repositories/repository-name/metadata/write Actions *[]string `json:"actions,omitempty"` } @@ -2271,8 +2271,8 @@ type Source struct { InstanceID *string `json:"instanceID,omitempty"` } -// Status1 the status of an Azure resource at the time the operation was called. -type Status1 struct { +// Status the status of an Azure resource at the time the operation was called. +type Status struct { // DisplayStatus - READ-ONLY; The short label for the status. DisplayStatus *string `json:"displayStatus,omitempty"` // Message - READ-ONLY; The detailed message for the status, including alerts and error messages. @@ -2550,11 +2550,11 @@ func NewTokenListResultPage(getNextPage func(context.Context, TokenListResult) ( // TokenPassword the password that will be used for authenticating the token of a container registry. type TokenPassword struct { - // CreationTime - The password created datetime of the password. + // CreationTime - The creation datetime of the password. CreationTime *date.Time `json:"creationTime,omitempty"` // Expiry - The expiry datetime of the password. Expiry *date.Time `json:"expiry,omitempty"` - // Name - The password name "password" or "password2". Possible values include: 'TokenPasswordNamePassword1', 'TokenPasswordNamePassword2' + // Name - The password name "password1" or "password2". Possible values include: 'TokenPasswordNamePassword1', 'TokenPasswordNamePassword2' Name TokenPasswordName `json:"name,omitempty"` // Value - READ-ONLY; The password value. Value *string `json:"value,omitempty"` @@ -2572,8 +2572,8 @@ type TokenProperties struct { ObjectID *string `json:"objectId,omitempty"` // Credentials - The credentials that can be used for authenticating the token. Credentials *TokenCredentialsProperties `json:"credentials,omitempty"` - // Status - The status of the token example enabled or disabled. Possible values include: 'StatusEnabled', 'StatusDisabled' - Status Status `json:"status,omitempty"` + // Status - The status of the token example enabled or disabled. Possible values include: 'TokenStatusEnabled', 'TokenStatusDisabled' + Status TokenStatus `json:"status,omitempty"` } // TokensCreateFuture an abstraction for monitoring and retrieving the results of a long-running operation. @@ -2697,8 +2697,8 @@ func (tup *TokenUpdateParameters) UnmarshalJSON(body []byte) error { type TokenUpdateProperties struct { // ScopeMapID - The resource ID of the scope map to which the token will be associated with. ScopeMapID *string `json:"scopeMapId,omitempty"` - // Status - The status of the token example enabled or disabled. Possible values include: 'StatusEnabled', 'StatusDisabled' - Status Status `json:"status,omitempty"` + // Status - The status of the token example enabled or disabled. Possible values include: 'TokenStatusEnabled', 'TokenStatusDisabled' + Status TokenStatus `json:"status,omitempty"` // Credentials - The credentials that can be used for authenticating the token. Credentials *TokenCredentialsProperties `json:"credentials,omitempty"` } diff --git a/services/containerregistry/mgmt/2019-05-01-preview/containerregistry/scopemaps.go b/services/containerregistry/mgmt/2019-05-01-preview/containerregistry/scopemaps.go index 90bd1a9ff108..0872a95f4632 100644 --- a/services/containerregistry/mgmt/2019-05-01-preview/containerregistry/scopemaps.go +++ b/services/containerregistry/mgmt/2019-05-01-preview/containerregistry/scopemaps.go @@ -68,7 +68,7 @@ func (client ScopeMapsClient) Create(ctx context.Context, resourceGroupName stri {TargetValue: scopeMapName, Constraints: []validation.Constraint{{Target: "scopeMapName", Name: validation.MaxLength, Rule: 50, Chain: nil}, {Target: "scopeMapName", Name: validation.MinLength, Rule: 5, Chain: nil}, - {Target: "scopeMapName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9-]*$`, Chain: nil}}}, + {Target: "scopeMapName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9-_]*$`, Chain: nil}}}, {TargetValue: scopeMapCreateParameters, Constraints: []validation.Constraint{{Target: "scopeMapCreateParameters.ScopeMapProperties", Name: validation.Null, Rule: false, Chain: []validation.Constraint{{Target: "scopeMapCreateParameters.ScopeMapProperties.Actions", Name: validation.Null, Rule: true, Chain: nil}}}}}}); err != nil { @@ -166,7 +166,7 @@ func (client ScopeMapsClient) Delete(ctx context.Context, resourceGroupName stri {TargetValue: scopeMapName, Constraints: []validation.Constraint{{Target: "scopeMapName", Name: validation.MaxLength, Rule: 50, Chain: nil}, {Target: "scopeMapName", Name: validation.MinLength, Rule: 5, Chain: nil}, - {Target: "scopeMapName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9-]*$`, Chain: nil}}}}); err != nil { + {Target: "scopeMapName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9-_]*$`, Chain: nil}}}}); err != nil { return result, validation.NewError("containerregistry.ScopeMapsClient", "Delete", err.Error()) } @@ -258,7 +258,7 @@ func (client ScopeMapsClient) Get(ctx context.Context, resourceGroupName string, {TargetValue: scopeMapName, Constraints: []validation.Constraint{{Target: "scopeMapName", Name: validation.MaxLength, Rule: 50, Chain: nil}, {Target: "scopeMapName", Name: validation.MinLength, Rule: 5, Chain: nil}, - {Target: "scopeMapName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9-]*$`, Chain: nil}}}}); err != nil { + {Target: "scopeMapName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9-_]*$`, Chain: nil}}}}); err != nil { return result, validation.NewError("containerregistry.ScopeMapsClient", "Get", err.Error()) } @@ -477,7 +477,7 @@ func (client ScopeMapsClient) Update(ctx context.Context, resourceGroupName stri {TargetValue: scopeMapName, Constraints: []validation.Constraint{{Target: "scopeMapName", Name: validation.MaxLength, Rule: 50, Chain: nil}, {Target: "scopeMapName", Name: validation.MinLength, Rule: 5, Chain: nil}, - {Target: "scopeMapName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9-]*$`, Chain: nil}}}}); err != nil { + {Target: "scopeMapName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9-_]*$`, Chain: nil}}}}); err != nil { return result, validation.NewError("containerregistry.ScopeMapsClient", "Update", err.Error()) } diff --git a/services/containerregistry/mgmt/2019-06-01-preview/containerregistry/containerregistryapi/interfaces.go b/services/containerregistry/mgmt/2019-06-01-preview/containerregistry/containerregistryapi/interfaces.go index 8a80b2ae34d6..56d3e1d0610d 100644 --- a/services/containerregistry/mgmt/2019-06-01-preview/containerregistry/containerregistryapi/interfaces.go +++ b/services/containerregistry/mgmt/2019-06-01-preview/containerregistry/containerregistryapi/interfaces.go @@ -27,6 +27,7 @@ type RegistriesClientAPI interface { CheckNameAvailability(ctx context.Context, registryNameCheckRequest containerregistry.RegistryNameCheckRequest) (result containerregistry.RegistryNameStatus, err error) Create(ctx context.Context, resourceGroupName string, registryName string, registry containerregistry.Registry) (result containerregistry.RegistriesCreateFuture, err error) Delete(ctx context.Context, resourceGroupName string, registryName string) (result containerregistry.RegistriesDeleteFuture, err error) + GenerateCredentials(ctx context.Context, resourceGroupName string, registryName string, generateCredentialsParameters containerregistry.GenerateCredentialsParameters) (result containerregistry.RegistriesGenerateCredentialsFuture, err error) Get(ctx context.Context, resourceGroupName string, registryName string) (result containerregistry.Registry, err error) GetBuildSourceUploadURL(ctx context.Context, resourceGroupName string, registryName string) (result containerregistry.SourceUploadDefinition, err error) ImportImage(ctx context.Context, resourceGroupName string, registryName string, parameters containerregistry.ImportImageParameters) (result containerregistry.RegistriesImportImageFuture, err error) @@ -95,3 +96,25 @@ type TasksClientAPI interface { } var _ TasksClientAPI = (*containerregistry.TasksClient)(nil) + +// ScopeMapsClientAPI contains the set of methods on the ScopeMapsClient type. +type ScopeMapsClientAPI interface { + Create(ctx context.Context, resourceGroupName string, registryName string, scopeMapName string, scopeMapCreateParameters containerregistry.ScopeMap) (result containerregistry.ScopeMapsCreateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, registryName string, scopeMapName string) (result containerregistry.ScopeMapsDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, registryName string, scopeMapName string) (result containerregistry.ScopeMap, err error) + List(ctx context.Context, resourceGroupName string, registryName string) (result containerregistry.ScopeMapListResultPage, err error) + Update(ctx context.Context, resourceGroupName string, registryName string, scopeMapName string, scopeMapUpdateParameters containerregistry.ScopeMapUpdateParameters) (result containerregistry.ScopeMapsUpdateFuture, err error) +} + +var _ ScopeMapsClientAPI = (*containerregistry.ScopeMapsClient)(nil) + +// TokensClientAPI contains the set of methods on the TokensClient type. +type TokensClientAPI interface { + Create(ctx context.Context, resourceGroupName string, registryName string, tokenName string, tokenCreateParameters containerregistry.Token) (result containerregistry.TokensCreateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, registryName string, tokenName string) (result containerregistry.TokensDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, registryName string, tokenName string) (result containerregistry.Token, err error) + List(ctx context.Context, resourceGroupName string, registryName string) (result containerregistry.TokenListResultPage, err error) + Update(ctx context.Context, resourceGroupName string, registryName string, tokenName string, tokenUpdateParameters containerregistry.TokenUpdateParameters) (result containerregistry.TokensUpdateFuture, err error) +} + +var _ TokensClientAPI = (*containerregistry.TokensClient)(nil) diff --git a/services/containerregistry/mgmt/2019-06-01-preview/containerregistry/models.go b/services/containerregistry/mgmt/2019-06-01-preview/containerregistry/models.go index f3c40cb85d90..2985cd7f36d1 100644 --- a/services/containerregistry/mgmt/2019-06-01-preview/containerregistry/models.go +++ b/services/containerregistry/mgmt/2019-06-01-preview/containerregistry/models.go @@ -386,6 +386,51 @@ func PossibleTaskStatusValues() []TaskStatus { return []TaskStatus{TaskStatusDisabled, TaskStatusEnabled} } +// TokenCertificateName enumerates the values for token certificate name. +type TokenCertificateName string + +const ( + // Certificate1 ... + Certificate1 TokenCertificateName = "certificate1" + // Certificate2 ... + Certificate2 TokenCertificateName = "certificate2" +) + +// PossibleTokenCertificateNameValues returns an array of possible values for the TokenCertificateName const type. +func PossibleTokenCertificateNameValues() []TokenCertificateName { + return []TokenCertificateName{Certificate1, Certificate2} +} + +// TokenPasswordName enumerates the values for token password name. +type TokenPasswordName string + +const ( + // TokenPasswordNamePassword1 ... + TokenPasswordNamePassword1 TokenPasswordName = "password1" + // TokenPasswordNamePassword2 ... + TokenPasswordNamePassword2 TokenPasswordName = "password2" +) + +// PossibleTokenPasswordNameValues returns an array of possible values for the TokenPasswordName const type. +func PossibleTokenPasswordNameValues() []TokenPasswordName { + return []TokenPasswordName{TokenPasswordNamePassword1, TokenPasswordNamePassword2} +} + +// TokenStatus enumerates the values for token status. +type TokenStatus string + +const ( + // TokenStatusDisabled ... + TokenStatusDisabled TokenStatus = "disabled" + // TokenStatusEnabled ... + TokenStatusEnabled TokenStatus = "enabled" +) + +// PossibleTokenStatusValues returns an array of possible values for the TokenStatus const type. +func PossibleTokenStatusValues() []TokenStatus { + return []TokenStatus{TokenStatusDisabled, TokenStatusEnabled} +} + // TokenType enumerates the values for token type. type TokenType string @@ -492,15 +537,15 @@ func PossibleTypeBasicTaskStepUpdateParametersValues() []TypeBasicTaskStepUpdate type UpdateTriggerPayloadType string const ( - // Default ... - Default UpdateTriggerPayloadType = "Default" - // Token ... - Token UpdateTriggerPayloadType = "Token" + // UpdateTriggerPayloadTypeDefault ... + UpdateTriggerPayloadTypeDefault UpdateTriggerPayloadType = "Default" + // UpdateTriggerPayloadTypeToken ... + UpdateTriggerPayloadTypeToken UpdateTriggerPayloadType = "Token" ) // PossibleUpdateTriggerPayloadTypeValues returns an array of possible values for the UpdateTriggerPayloadType const type. func PossibleUpdateTriggerPayloadTypeValues() []UpdateTriggerPayloadType { - return []UpdateTriggerPayloadType{Default, Token} + return []UpdateTriggerPayloadType{UpdateTriggerPayloadTypeDefault, UpdateTriggerPayloadTypeToken} } // Variant enumerates the values for variant. @@ -627,7 +672,7 @@ type BaseImageTrigger struct { BaseImageTriggerType BaseImageTriggerType `json:"baseImageTriggerType,omitempty"` // UpdateTriggerEndpoint - The endpoint URL for receiving update triggers. UpdateTriggerEndpoint *string `json:"updateTriggerEndpoint,omitempty"` - // UpdateTriggerPayloadType - Type of Payload body for Base image update triggers. Possible values include: 'Default', 'Token' + // UpdateTriggerPayloadType - Type of Payload body for Base image update triggers. Possible values include: 'UpdateTriggerPayloadTypeDefault', 'UpdateTriggerPayloadTypeToken' UpdateTriggerPayloadType UpdateTriggerPayloadType `json:"updateTriggerPayloadType,omitempty"` // Status - The current status of trigger. Possible values include: 'TriggerStatusDisabled', 'TriggerStatusEnabled' Status TriggerStatus `json:"status,omitempty"` @@ -641,7 +686,7 @@ type BaseImageTriggerUpdateParameters struct { BaseImageTriggerType BaseImageTriggerType `json:"baseImageTriggerType,omitempty"` // UpdateTriggerEndpoint - The endpoint URL for receiving update triggers. UpdateTriggerEndpoint *string `json:"updateTriggerEndpoint,omitempty"` - // UpdateTriggerPayloadType - Type of Payload body for Base image update triggers. Possible values include: 'Default', 'Token' + // UpdateTriggerPayloadType - Type of Payload body for Base image update triggers. Possible values include: 'UpdateTriggerPayloadTypeDefault', 'UpdateTriggerPayloadTypeToken' UpdateTriggerPayloadType UpdateTriggerPayloadType `json:"updateTriggerPayloadType,omitempty"` // Status - The current status of trigger. Possible values include: 'TriggerStatusDisabled', 'TriggerStatusEnabled' Status TriggerStatus `json:"status,omitempty"` @@ -1682,6 +1727,26 @@ func (ftsup FileTaskStepUpdateParameters) AsBasicTaskStepUpdateParameters() (Bas return &ftsup, true } +// GenerateCredentialsParameters the parameters used to generate credentials for a specified token or user +// of a container registry. +type GenerateCredentialsParameters struct { + // TokenID - The resource ID of the token for which credentials have to be generated. + TokenID *string `json:"tokenId,omitempty"` + // Expiry - The expiry date of the generated credentials after which the credentials become invalid. + Expiry *date.Time `json:"expiry,omitempty"` + // Name - Specifies name of the password which should be regenerated if any -- password1 or password2. Possible values include: 'TokenPasswordNamePassword1', 'TokenPasswordNamePassword2' + Name TokenPasswordName `json:"name,omitempty"` +} + +// GenerateCredentialsResult the response from the GenerateCredentials operation. +type GenerateCredentialsResult struct { + autorest.Response `json:"-"` + // Username - The username for a container registry. + Username *string `json:"username,omitempty"` + // Passwords - The list of passwords for a container registry. + Passwords *[]TokenPassword `json:"passwords,omitempty"` +} + // IdentityProperties managed identity for the resource. type IdentityProperties struct { // PrincipalID - The principal ID of resource identity. @@ -2179,6 +2244,35 @@ func (future *RegistriesDeleteFuture) Result(client RegistriesClient) (ar autore return } +// RegistriesGenerateCredentialsFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type RegistriesGenerateCredentialsFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *RegistriesGenerateCredentialsFuture) Result(client RegistriesClient) (gcr GenerateCredentialsResult, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "containerregistry.RegistriesGenerateCredentialsFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("containerregistry.RegistriesGenerateCredentialsFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if gcr.Response.Response, err = future.GetResult(sender); err == nil && gcr.Response.Response.StatusCode != http.StatusNoContent { + gcr, err = client.GenerateCredentialsResponder(gcr.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "containerregistry.RegistriesGenerateCredentialsFuture", "Result", gcr.Response.Response, "Failure responding to request") + } + } + return +} + // RegistriesImportImageFuture an abstraction for monitoring and retrieving the results of a long-running // operation. type RegistriesImportImageFuture struct { @@ -3530,208 +3624,30 @@ type RunUpdateParameters struct { IsArchiveEnabled *bool `json:"isArchiveEnabled,omitempty"` } -// SecretObject describes the properties of a secret object value. -type SecretObject struct { - // Value - The value of the secret. The format of this value will be determined - // based on the type of the secret object. If the type is Opaque, the value will be - // used as is without any modification. - Value *string `json:"value,omitempty"` - // Type - The type of the secret object which determines how the value of the secret object has to be - // interpreted. Possible values include: 'Opaque', 'Vaultsecret' - Type SecretObjectType `json:"type,omitempty"` -} - -// SetValue the properties of a overridable value that can be passed to a task template. -type SetValue struct { - // Name - The name of the overridable value. - Name *string `json:"name,omitempty"` - // Value - The overridable value. - Value *string `json:"value,omitempty"` - // IsSecret - Flag to indicate whether the value represents a secret or not. - IsSecret *bool `json:"isSecret,omitempty"` -} - -// Sku the SKU of a container registry. -type Sku struct { - // Name - The SKU name of the container registry. Required for registry creation. Possible values include: 'Classic', 'Basic', 'Standard', 'Premium' - Name SkuName `json:"name,omitempty"` - // Tier - READ-ONLY; The SKU tier based on the SKU name. Possible values include: 'SkuTierClassic', 'SkuTierBasic', 'SkuTierStandard', 'SkuTierPremium' - Tier SkuTier `json:"tier,omitempty"` -} - -// Source the registry node that generated the event. Put differently, while the actor initiates the event, -// the source generates it. -type Source struct { - // Addr - The IP or hostname and the port of the registry node that generated the event. Generally, this will be resolved by os.Hostname() along with the running port. - Addr *string `json:"addr,omitempty"` - // InstanceID - The running instance of an application. Changes after each restart. - InstanceID *string `json:"instanceID,omitempty"` -} - -// SourceProperties the properties of the source code repository. -type SourceProperties struct { - // SourceControlType - The type of source control service. Possible values include: 'Github', 'VisualStudioTeamService' - SourceControlType SourceControlType `json:"sourceControlType,omitempty"` - // RepositoryURL - The full URL to the source code repository - RepositoryURL *string `json:"repositoryUrl,omitempty"` - // Branch - The branch name of the source code. - Branch *string `json:"branch,omitempty"` - // SourceControlAuthProperties - The authorization properties for accessing the source code repository and to set up - // webhooks for notifications. - SourceControlAuthProperties *AuthInfo `json:"sourceControlAuthProperties,omitempty"` -} - -// SourceRegistryCredentials describes the credential parameters for accessing the source registry. -type SourceRegistryCredentials struct { - // LoginMode - The authentication mode which determines the source registry login scope. The credentials for the source registry - // will be generated using the given scope. These credentials will be used to login to - // the source registry during the run. Possible values include: 'SourceRegistryLoginModeNone', 'SourceRegistryLoginModeDefault' - LoginMode SourceRegistryLoginMode `json:"loginMode,omitempty"` -} - -// SourceTrigger the properties of a source based trigger. -type SourceTrigger struct { - // SourceRepository - The properties that describes the source(code) for the task. - SourceRepository *SourceProperties `json:"sourceRepository,omitempty"` - // SourceTriggerEvents - The source event corresponding to the trigger. - SourceTriggerEvents *[]SourceTriggerEvent `json:"sourceTriggerEvents,omitempty"` - // Status - The current status of trigger. Possible values include: 'TriggerStatusDisabled', 'TriggerStatusEnabled' - Status TriggerStatus `json:"status,omitempty"` - // Name - The name of the trigger. - Name *string `json:"name,omitempty"` -} - -// SourceTriggerDescriptor the source trigger that caused a run. -type SourceTriggerDescriptor struct { - // ID - The unique ID of the trigger. - ID *string `json:"id,omitempty"` - // EventType - The event type of the trigger. - EventType *string `json:"eventType,omitempty"` - // CommitID - The unique ID that identifies a commit. - CommitID *string `json:"commitId,omitempty"` - // PullRequestID - The unique ID that identifies pull request. - PullRequestID *string `json:"pullRequestId,omitempty"` - // RepositoryURL - The repository URL. - RepositoryURL *string `json:"repositoryUrl,omitempty"` - // BranchName - The branch name in the repository. - BranchName *string `json:"branchName,omitempty"` - // ProviderType - The source control provider type. - ProviderType *string `json:"providerType,omitempty"` -} - -// SourceTriggerUpdateParameters the properties for updating a source based trigger. -type SourceTriggerUpdateParameters struct { - // SourceRepository - The properties that describes the source(code) for the task. - SourceRepository *SourceUpdateParameters `json:"sourceRepository,omitempty"` - // SourceTriggerEvents - The source event corresponding to the trigger. - SourceTriggerEvents *[]SourceTriggerEvent `json:"sourceTriggerEvents,omitempty"` - // Status - The current status of trigger. Possible values include: 'TriggerStatusDisabled', 'TriggerStatusEnabled' - Status TriggerStatus `json:"status,omitempty"` - // Name - The name of the trigger. - Name *string `json:"name,omitempty"` -} - -// SourceUpdateParameters the properties for updating the source code repository. -type SourceUpdateParameters struct { - // SourceControlType - The type of source control service. Possible values include: 'Github', 'VisualStudioTeamService' - SourceControlType SourceControlType `json:"sourceControlType,omitempty"` - // RepositoryURL - The full URL to the source code repository - RepositoryURL *string `json:"repositoryUrl,omitempty"` - // Branch - The branch name of the source code. - Branch *string `json:"branch,omitempty"` - // SourceControlAuthProperties - The authorization properties for accessing the source code repository and to set up - // webhooks for notifications. - SourceControlAuthProperties *AuthInfoUpdateParameters `json:"sourceControlAuthProperties,omitempty"` -} - -// SourceUploadDefinition the properties of a response to source upload request. -type SourceUploadDefinition struct { - autorest.Response `json:"-"` - // UploadURL - The URL where the client can upload the source. - UploadURL *string `json:"uploadUrl,omitempty"` - // RelativePath - The relative path to the source. This is used to submit the subsequent queue build request. - RelativePath *string `json:"relativePath,omitempty"` -} - -// Status the status of an Azure resource at the time the operation was called. -type Status struct { - // DisplayStatus - READ-ONLY; The short label for the status. - DisplayStatus *string `json:"displayStatus,omitempty"` - // Message - READ-ONLY; The detailed message for the status, including alerts and error messages. - Message *string `json:"message,omitempty"` - // Timestamp - READ-ONLY; The timestamp when the status was changed to the current value. - Timestamp *date.Time `json:"timestamp,omitempty"` -} - -// StorageAccountProperties the properties of a storage account for a container registry. Only applicable -// to Classic SKU. -type StorageAccountProperties struct { - // ID - The resource ID of the storage account. - ID *string `json:"id,omitempty"` -} - -// Target the target of the event. -type Target struct { - // MediaType - The MIME type of the referenced object. - MediaType *string `json:"mediaType,omitempty"` - // Size - The number of bytes of the content. Same as Length field. - Size *int64 `json:"size,omitempty"` - // Digest - The digest of the content, as defined by the Registry V2 HTTP API Specification. - Digest *string `json:"digest,omitempty"` - // Length - The number of bytes of the content. Same as Size field. - Length *int64 `json:"length,omitempty"` - // Repository - The repository name. - Repository *string `json:"repository,omitempty"` - // URL - The direct URL to the content. - URL *string `json:"url,omitempty"` - // Tag - The tag name. - Tag *string `json:"tag,omitempty"` - // Name - The name of the artifact. - Name *string `json:"name,omitempty"` - // Version - The version of the artifact. - Version *string `json:"version,omitempty"` -} - -// Task the task that has the ARM resource and task properties. -// The task will have all information to schedule a run against it. -type Task struct { +// ScopeMap an object that represents a scope map for a container registry. +type ScopeMap struct { autorest.Response `json:"-"` - // Identity - Identity for the resource. - Identity *IdentityProperties `json:"identity,omitempty"` - // TaskProperties - The properties of a task. - *TaskProperties `json:"properties,omitempty"` + // ScopeMapProperties - The properties of the scope map. + *ScopeMapProperties `json:"properties,omitempty"` // ID - READ-ONLY; The resource ID. ID *string `json:"id,omitempty"` // Name - READ-ONLY; The name of the resource. Name *string `json:"name,omitempty"` // Type - READ-ONLY; The type of the resource. Type *string `json:"type,omitempty"` - // Location - The location of the resource. This cannot be changed after the resource is created. - Location *string `json:"location,omitempty"` - // Tags - The tags of the resource. - Tags map[string]*string `json:"tags"` } -// MarshalJSON is the custom marshaler for Task. -func (t Task) MarshalJSON() ([]byte, error) { +// MarshalJSON is the custom marshaler for ScopeMap. +func (sm ScopeMap) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) - if t.Identity != nil { - objectMap["identity"] = t.Identity - } - if t.TaskProperties != nil { - objectMap["properties"] = t.TaskProperties - } - if t.Location != nil { - objectMap["location"] = t.Location - } - if t.Tags != nil { - objectMap["tags"] = t.Tags + if sm.ScopeMapProperties != nil { + objectMap["properties"] = sm.ScopeMapProperties } return json.Marshal(objectMap) } -// UnmarshalJSON is the custom unmarshaler for Task struct. -func (t *Task) UnmarshalJSON(body []byte) error { +// UnmarshalJSON is the custom unmarshaler for ScopeMap struct. +func (sm *ScopeMap) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -3739,23 +3655,14 @@ func (t *Task) UnmarshalJSON(body []byte) error { } for k, v := range m { switch k { - case "identity": - if v != nil { - var identity IdentityProperties - err = json.Unmarshal(*v, &identity) - if err != nil { - return err - } - t.Identity = &identity - } case "properties": if v != nil { - var taskProperties TaskProperties - err = json.Unmarshal(*v, &taskProperties) + var scopeMapProperties ScopeMapProperties + err = json.Unmarshal(*v, &scopeMapProperties) if err != nil { return err } - t.TaskProperties = &taskProperties + sm.ScopeMapProperties = &scopeMapProperties } case "id": if v != nil { @@ -3764,7 +3671,7 @@ func (t *Task) UnmarshalJSON(body []byte) error { if err != nil { return err } - t.ID = &ID + sm.ID = &ID } case "name": if v != nil { @@ -3773,7 +3680,7 @@ func (t *Task) UnmarshalJSON(body []byte) error { if err != nil { return err } - t.Name = &name + sm.Name = &name } case "type": if v != nil { @@ -3782,25 +3689,7 @@ func (t *Task) UnmarshalJSON(body []byte) error { if err != nil { return err } - t.Type = &typeVar - } - case "location": - if v != nil { - var location string - err = json.Unmarshal(*v, &location) - if err != nil { - return err - } - t.Location = &location - } - case "tags": - if v != nil { - var tags map[string]*string - err = json.Unmarshal(*v, &tags) - if err != nil { - return err - } - t.Tags = tags + sm.Type = &typeVar } } } @@ -3808,26 +3697,26 @@ func (t *Task) UnmarshalJSON(body []byte) error { return nil } -// TaskListResult the collection of tasks. -type TaskListResult struct { +// ScopeMapListResult the result of a request to list scope maps for a container registry. +type ScopeMapListResult struct { autorest.Response `json:"-"` - // Value - The collection value. - Value *[]Task `json:"value,omitempty"` - // NextLink - The URI that can be used to request the next set of paged results. + // Value - The list of scope maps. Since this list may be incomplete, the nextLink field should be used to request the next list of scope maps. + Value *[]ScopeMap `json:"value,omitempty"` + // NextLink - The URI that can be used to request the next list of scope maps. NextLink *string `json:"nextLink,omitempty"` } -// TaskListResultIterator provides access to a complete listing of Task values. -type TaskListResultIterator struct { +// ScopeMapListResultIterator provides access to a complete listing of ScopeMap values. +type ScopeMapListResultIterator struct { i int - page TaskListResultPage + page ScopeMapListResultPage } // NextWithContext advances to the next value. If there was an error making // the request the iterator does not advance and the error is returned. -func (iter *TaskListResultIterator) NextWithContext(ctx context.Context) (err error) { +func (iter *ScopeMapListResultIterator) NextWithContext(ctx context.Context) (err error) { if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/TaskListResultIterator.NextWithContext") + ctx = tracing.StartSpan(ctx, fqdn+"/ScopeMapListResultIterator.NextWithContext") defer func() { sc := -1 if iter.Response().Response.Response != nil { @@ -3852,62 +3741,62 @@ func (iter *TaskListResultIterator) NextWithContext(ctx context.Context) (err er // Next advances to the next value. If there was an error making // the request the iterator does not advance and the error is returned. // Deprecated: Use NextWithContext() instead. -func (iter *TaskListResultIterator) Next() error { +func (iter *ScopeMapListResultIterator) Next() error { return iter.NextWithContext(context.Background()) } // NotDone returns true if the enumeration should be started or is not yet complete. -func (iter TaskListResultIterator) NotDone() bool { +func (iter ScopeMapListResultIterator) NotDone() bool { return iter.page.NotDone() && iter.i < len(iter.page.Values()) } // Response returns the raw server response from the last page request. -func (iter TaskListResultIterator) Response() TaskListResult { +func (iter ScopeMapListResultIterator) Response() ScopeMapListResult { return iter.page.Response() } // Value returns the current value or a zero-initialized value if the // iterator has advanced beyond the end of the collection. -func (iter TaskListResultIterator) Value() Task { +func (iter ScopeMapListResultIterator) Value() ScopeMap { if !iter.page.NotDone() { - return Task{} + return ScopeMap{} } return iter.page.Values()[iter.i] } -// Creates a new instance of the TaskListResultIterator type. -func NewTaskListResultIterator(page TaskListResultPage) TaskListResultIterator { - return TaskListResultIterator{page: page} +// Creates a new instance of the ScopeMapListResultIterator type. +func NewScopeMapListResultIterator(page ScopeMapListResultPage) ScopeMapListResultIterator { + return ScopeMapListResultIterator{page: page} } // IsEmpty returns true if the ListResult contains no values. -func (tlr TaskListResult) IsEmpty() bool { - return tlr.Value == nil || len(*tlr.Value) == 0 +func (smlr ScopeMapListResult) IsEmpty() bool { + return smlr.Value == nil || len(*smlr.Value) == 0 } -// taskListResultPreparer prepares a request to retrieve the next set of results. +// scopeMapListResultPreparer prepares a request to retrieve the next set of results. // It returns nil if no more results exist. -func (tlr TaskListResult) taskListResultPreparer(ctx context.Context) (*http.Request, error) { - if tlr.NextLink == nil || len(to.String(tlr.NextLink)) < 1 { +func (smlr ScopeMapListResult) scopeMapListResultPreparer(ctx context.Context) (*http.Request, error) { + if smlr.NextLink == nil || len(to.String(smlr.NextLink)) < 1 { return nil, nil } return autorest.Prepare((&http.Request{}).WithContext(ctx), autorest.AsJSON(), autorest.AsGet(), - autorest.WithBaseURL(to.String(tlr.NextLink))) + autorest.WithBaseURL(to.String(smlr.NextLink))) } -// TaskListResultPage contains a page of Task values. -type TaskListResultPage struct { - fn func(context.Context, TaskListResult) (TaskListResult, error) - tlr TaskListResult +// ScopeMapListResultPage contains a page of ScopeMap values. +type ScopeMapListResultPage struct { + fn func(context.Context, ScopeMapListResult) (ScopeMapListResult, error) + smlr ScopeMapListResult } // NextWithContext advances to the next page of values. If there was an error making // the request the page does not advance and the error is returned. -func (page *TaskListResultPage) NextWithContext(ctx context.Context) (err error) { +func (page *ScopeMapListResultPage) NextWithContext(ctx context.Context) (err error) { if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/TaskListResultPage.NextWithContext") + ctx = tracing.StartSpan(ctx, fqdn+"/ScopeMapListResultPage.NextWithContext") defer func() { sc := -1 if page.Response().Response.Response != nil { @@ -3916,181 +3805,168 @@ func (page *TaskListResultPage) NextWithContext(ctx context.Context) (err error) tracing.EndSpan(ctx, sc, err) }() } - next, err := page.fn(ctx, page.tlr) + next, err := page.fn(ctx, page.smlr) if err != nil { return err } - page.tlr = next + page.smlr = next return nil } // Next advances to the next page of values. If there was an error making // the request the page does not advance and the error is returned. // Deprecated: Use NextWithContext() instead. -func (page *TaskListResultPage) Next() error { +func (page *ScopeMapListResultPage) Next() error { return page.NextWithContext(context.Background()) } // NotDone returns true if the page enumeration should be started or is not yet complete. -func (page TaskListResultPage) NotDone() bool { - return !page.tlr.IsEmpty() +func (page ScopeMapListResultPage) NotDone() bool { + return !page.smlr.IsEmpty() } // Response returns the raw server response from the last page request. -func (page TaskListResultPage) Response() TaskListResult { - return page.tlr +func (page ScopeMapListResultPage) Response() ScopeMapListResult { + return page.smlr } // Values returns the slice of values for the current page or nil if there are no values. -func (page TaskListResultPage) Values() []Task { - if page.tlr.IsEmpty() { +func (page ScopeMapListResultPage) Values() []ScopeMap { + if page.smlr.IsEmpty() { return nil } - return *page.tlr.Value + return *page.smlr.Value } -// Creates a new instance of the TaskListResultPage type. -func NewTaskListResultPage(getNextPage func(context.Context, TaskListResult) (TaskListResult, error)) TaskListResultPage { - return TaskListResultPage{fn: getNextPage} +// Creates a new instance of the ScopeMapListResultPage type. +func NewScopeMapListResultPage(getNextPage func(context.Context, ScopeMapListResult) (ScopeMapListResult, error)) ScopeMapListResultPage { + return ScopeMapListResultPage{fn: getNextPage} } -// TaskProperties the properties of a task. -type TaskProperties struct { - // ProvisioningState - READ-ONLY; The provisioning state of the task. Possible values include: 'Creating', 'Updating', 'Deleting', 'Succeeded', 'Failed', 'Canceled' - ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` - // CreationDate - READ-ONLY; The creation date of task. +// ScopeMapProperties the properties of a scope map. +type ScopeMapProperties struct { + // Description - The user friendly description of the scope map. + Description *string `json:"description,omitempty"` + // Type - READ-ONLY; The type of the scope map. E.g. BuildIn scope map. + Type *string `json:"type,omitempty"` + // CreationDate - READ-ONLY; The creation date of scope map. CreationDate *date.Time `json:"creationDate,omitempty"` - // Status - The current status of task. Possible values include: 'TaskStatusDisabled', 'TaskStatusEnabled' - Status TaskStatus `json:"status,omitempty"` - // Platform - The platform properties against which the run has to happen. - Platform *PlatformProperties `json:"platform,omitempty"` - // AgentConfiguration - The machine configuration of the run agent. - AgentConfiguration *AgentProperties `json:"agentConfiguration,omitempty"` - // Timeout - Run timeout in seconds. - Timeout *int32 `json:"timeout,omitempty"` - // Step - The properties of a task step. - Step BasicTaskStepProperties `json:"step,omitempty"` - // Trigger - The properties that describe all triggers for the task. - Trigger *TriggerProperties `json:"trigger,omitempty"` - // Credentials - The properties that describes a set of credentials that will be used when this run is invoked. - Credentials *Credentials `json:"credentials,omitempty"` + // ProvisioningState - READ-ONLY; Provisioning state of the resource. Possible values include: 'Creating', 'Updating', 'Deleting', 'Succeeded', 'Failed', 'Canceled' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + // Actions - The list of scoped permissions for registry artifacts. + // E.g. repositories/repository-name/content/read, + // repositories/repository-name/metadata/write + Actions *[]string `json:"actions,omitempty"` } -// UnmarshalJSON is the custom unmarshaler for TaskProperties struct. -func (tp *TaskProperties) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) +// ScopeMapPropertiesUpdateParameters the update parameters for scope map properties. +type ScopeMapPropertiesUpdateParameters struct { + // Description - The user friendly description of the scope map. + Description *string `json:"description,omitempty"` + // Actions - The list of scope permissions for registry artifacts. + // E.g. repositories/repository-name/pull, + // repositories/repository-name/delete + Actions *[]string `json:"actions,omitempty"` +} + +// ScopeMapsCreateFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type ScopeMapsCreateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ScopeMapsCreateFuture) Result(client ScopeMapsClient) (sm ScopeMap, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) if err != nil { - return err + err = autorest.NewErrorWithError(err, "containerregistry.ScopeMapsCreateFuture", "Result", future.Response(), "Polling failure") + return } - for k, v := range m { - switch k { - case "provisioningState": - if v != nil { - var provisioningState ProvisioningState - err = json.Unmarshal(*v, &provisioningState) - if err != nil { - return err - } - tp.ProvisioningState = provisioningState - } - case "creationDate": - if v != nil { - var creationDate date.Time - err = json.Unmarshal(*v, &creationDate) - if err != nil { - return err - } - tp.CreationDate = &creationDate - } - case "status": - if v != nil { - var status TaskStatus - err = json.Unmarshal(*v, &status) - if err != nil { - return err - } - tp.Status = status - } - case "platform": - if v != nil { - var platform PlatformProperties - err = json.Unmarshal(*v, &platform) - if err != nil { - return err - } - tp.Platform = &platform - } - case "agentConfiguration": - if v != nil { - var agentConfiguration AgentProperties - err = json.Unmarshal(*v, &agentConfiguration) - if err != nil { - return err - } - tp.AgentConfiguration = &agentConfiguration - } - case "timeout": - if v != nil { - var timeout int32 - err = json.Unmarshal(*v, &timeout) - if err != nil { - return err - } - tp.Timeout = &timeout - } - case "step": - if v != nil { - step, err := unmarshalBasicTaskStepProperties(*v) - if err != nil { - return err - } - tp.Step = step - } - case "trigger": - if v != nil { - var trigger TriggerProperties - err = json.Unmarshal(*v, &trigger) - if err != nil { - return err - } - tp.Trigger = &trigger - } - case "credentials": - if v != nil { - var credentials Credentials - err = json.Unmarshal(*v, &credentials) - if err != nil { - return err - } - tp.Credentials = &credentials - } + if !done { + err = azure.NewAsyncOpIncompleteError("containerregistry.ScopeMapsCreateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if sm.Response.Response, err = future.GetResult(sender); err == nil && sm.Response.Response.StatusCode != http.StatusNoContent { + sm, err = client.CreateResponder(sm.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "containerregistry.ScopeMapsCreateFuture", "Result", sm.Response.Response, "Failure responding to request") } } + return +} - return nil +// ScopeMapsDeleteFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type ScopeMapsDeleteFuture struct { + azure.Future } -// TaskPropertiesUpdateParameters the properties for updating a task. -type TaskPropertiesUpdateParameters struct { - // Status - The current status of task. Possible values include: 'TaskStatusDisabled', 'TaskStatusEnabled' - Status TaskStatus `json:"status,omitempty"` - // Platform - The platform properties against which the run has to happen. - Platform *PlatformUpdateParameters `json:"platform,omitempty"` - // AgentConfiguration - The machine configuration of the run agent. - AgentConfiguration *AgentProperties `json:"agentConfiguration,omitempty"` - // Timeout - Run timeout in seconds. - Timeout *int32 `json:"timeout,omitempty"` - // Step - The properties for updating a task step. - Step BasicTaskStepUpdateParameters `json:"step,omitempty"` - // Trigger - The properties for updating trigger properties. - Trigger *TriggerUpdateParameters `json:"trigger,omitempty"` - // Credentials - The parameters that describes a set of credentials that will be used when this run is invoked. - Credentials *Credentials `json:"credentials,omitempty"` +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ScopeMapsDeleteFuture) Result(client ScopeMapsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "containerregistry.ScopeMapsDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("containerregistry.ScopeMapsDeleteFuture") + return + } + ar.Response = future.Response() + return } -// UnmarshalJSON is the custom unmarshaler for TaskPropertiesUpdateParameters struct. -func (tpup *TaskPropertiesUpdateParameters) UnmarshalJSON(body []byte) error { +// ScopeMapsUpdateFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type ScopeMapsUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ScopeMapsUpdateFuture) Result(client ScopeMapsClient) (sm ScopeMap, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "containerregistry.ScopeMapsUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("containerregistry.ScopeMapsUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if sm.Response.Response, err = future.GetResult(sender); err == nil && sm.Response.Response.StatusCode != http.StatusNoContent { + sm, err = client.UpdateResponder(sm.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "containerregistry.ScopeMapsUpdateFuture", "Result", sm.Response.Response, "Failure responding to request") + } + } + return +} + +// ScopeMapUpdateParameters the properties for updating the scope map. +type ScopeMapUpdateParameters struct { + // ScopeMapPropertiesUpdateParameters - The update parameters for scope map properties. + *ScopeMapPropertiesUpdateParameters `json:"properties,omitempty"` +} + +// MarshalJSON is the custom marshaler for ScopeMapUpdateParameters. +func (smup ScopeMapUpdateParameters) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if smup.ScopeMapPropertiesUpdateParameters != nil { + objectMap["properties"] = smup.ScopeMapPropertiesUpdateParameters + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ScopeMapUpdateParameters struct. +func (smup *ScopeMapUpdateParameters) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -4098,23 +3974,606 @@ func (tpup *TaskPropertiesUpdateParameters) UnmarshalJSON(body []byte) error { } for k, v := range m { switch k { - case "status": + case "properties": if v != nil { - var status TaskStatus - err = json.Unmarshal(*v, &status) + var scopeMapPropertiesUpdateParameters ScopeMapPropertiesUpdateParameters + err = json.Unmarshal(*v, &scopeMapPropertiesUpdateParameters) if err != nil { return err } - tpup.Status = status + smup.ScopeMapPropertiesUpdateParameters = &scopeMapPropertiesUpdateParameters } - case "platform": - if v != nil { - var platform PlatformUpdateParameters - err = json.Unmarshal(*v, &platform) - if err != nil { - return err - } - tpup.Platform = &platform + } + } + + return nil +} + +// SecretObject describes the properties of a secret object value. +type SecretObject struct { + // Value - The value of the secret. The format of this value will be determined + // based on the type of the secret object. If the type is Opaque, the value will be + // used as is without any modification. + Value *string `json:"value,omitempty"` + // Type - The type of the secret object which determines how the value of the secret object has to be + // interpreted. Possible values include: 'Opaque', 'Vaultsecret' + Type SecretObjectType `json:"type,omitempty"` +} + +// SetValue the properties of a overridable value that can be passed to a task template. +type SetValue struct { + // Name - The name of the overridable value. + Name *string `json:"name,omitempty"` + // Value - The overridable value. + Value *string `json:"value,omitempty"` + // IsSecret - Flag to indicate whether the value represents a secret or not. + IsSecret *bool `json:"isSecret,omitempty"` +} + +// Sku the SKU of a container registry. +type Sku struct { + // Name - The SKU name of the container registry. Required for registry creation. Possible values include: 'Classic', 'Basic', 'Standard', 'Premium' + Name SkuName `json:"name,omitempty"` + // Tier - READ-ONLY; The SKU tier based on the SKU name. Possible values include: 'SkuTierClassic', 'SkuTierBasic', 'SkuTierStandard', 'SkuTierPremium' + Tier SkuTier `json:"tier,omitempty"` +} + +// Source the registry node that generated the event. Put differently, while the actor initiates the event, +// the source generates it. +type Source struct { + // Addr - The IP or hostname and the port of the registry node that generated the event. Generally, this will be resolved by os.Hostname() along with the running port. + Addr *string `json:"addr,omitempty"` + // InstanceID - The running instance of an application. Changes after each restart. + InstanceID *string `json:"instanceID,omitempty"` +} + +// SourceProperties the properties of the source code repository. +type SourceProperties struct { + // SourceControlType - The type of source control service. Possible values include: 'Github', 'VisualStudioTeamService' + SourceControlType SourceControlType `json:"sourceControlType,omitempty"` + // RepositoryURL - The full URL to the source code repository + RepositoryURL *string `json:"repositoryUrl,omitempty"` + // Branch - The branch name of the source code. + Branch *string `json:"branch,omitempty"` + // SourceControlAuthProperties - The authorization properties for accessing the source code repository and to set up + // webhooks for notifications. + SourceControlAuthProperties *AuthInfo `json:"sourceControlAuthProperties,omitempty"` +} + +// SourceRegistryCredentials describes the credential parameters for accessing the source registry. +type SourceRegistryCredentials struct { + // LoginMode - The authentication mode which determines the source registry login scope. The credentials for the source registry + // will be generated using the given scope. These credentials will be used to login to + // the source registry during the run. Possible values include: 'SourceRegistryLoginModeNone', 'SourceRegistryLoginModeDefault' + LoginMode SourceRegistryLoginMode `json:"loginMode,omitempty"` +} + +// SourceTrigger the properties of a source based trigger. +type SourceTrigger struct { + // SourceRepository - The properties that describes the source(code) for the task. + SourceRepository *SourceProperties `json:"sourceRepository,omitempty"` + // SourceTriggerEvents - The source event corresponding to the trigger. + SourceTriggerEvents *[]SourceTriggerEvent `json:"sourceTriggerEvents,omitempty"` + // Status - The current status of trigger. Possible values include: 'TriggerStatusDisabled', 'TriggerStatusEnabled' + Status TriggerStatus `json:"status,omitempty"` + // Name - The name of the trigger. + Name *string `json:"name,omitempty"` +} + +// SourceTriggerDescriptor the source trigger that caused a run. +type SourceTriggerDescriptor struct { + // ID - The unique ID of the trigger. + ID *string `json:"id,omitempty"` + // EventType - The event type of the trigger. + EventType *string `json:"eventType,omitempty"` + // CommitID - The unique ID that identifies a commit. + CommitID *string `json:"commitId,omitempty"` + // PullRequestID - The unique ID that identifies pull request. + PullRequestID *string `json:"pullRequestId,omitempty"` + // RepositoryURL - The repository URL. + RepositoryURL *string `json:"repositoryUrl,omitempty"` + // BranchName - The branch name in the repository. + BranchName *string `json:"branchName,omitempty"` + // ProviderType - The source control provider type. + ProviderType *string `json:"providerType,omitempty"` +} + +// SourceTriggerUpdateParameters the properties for updating a source based trigger. +type SourceTriggerUpdateParameters struct { + // SourceRepository - The properties that describes the source(code) for the task. + SourceRepository *SourceUpdateParameters `json:"sourceRepository,omitempty"` + // SourceTriggerEvents - The source event corresponding to the trigger. + SourceTriggerEvents *[]SourceTriggerEvent `json:"sourceTriggerEvents,omitempty"` + // Status - The current status of trigger. Possible values include: 'TriggerStatusDisabled', 'TriggerStatusEnabled' + Status TriggerStatus `json:"status,omitempty"` + // Name - The name of the trigger. + Name *string `json:"name,omitempty"` +} + +// SourceUpdateParameters the properties for updating the source code repository. +type SourceUpdateParameters struct { + // SourceControlType - The type of source control service. Possible values include: 'Github', 'VisualStudioTeamService' + SourceControlType SourceControlType `json:"sourceControlType,omitempty"` + // RepositoryURL - The full URL to the source code repository + RepositoryURL *string `json:"repositoryUrl,omitempty"` + // Branch - The branch name of the source code. + Branch *string `json:"branch,omitempty"` + // SourceControlAuthProperties - The authorization properties for accessing the source code repository and to set up + // webhooks for notifications. + SourceControlAuthProperties *AuthInfoUpdateParameters `json:"sourceControlAuthProperties,omitempty"` +} + +// SourceUploadDefinition the properties of a response to source upload request. +type SourceUploadDefinition struct { + autorest.Response `json:"-"` + // UploadURL - The URL where the client can upload the source. + UploadURL *string `json:"uploadUrl,omitempty"` + // RelativePath - The relative path to the source. This is used to submit the subsequent queue build request. + RelativePath *string `json:"relativePath,omitempty"` +} + +// Status the status of an Azure resource at the time the operation was called. +type Status struct { + // DisplayStatus - READ-ONLY; The short label for the status. + DisplayStatus *string `json:"displayStatus,omitempty"` + // Message - READ-ONLY; The detailed message for the status, including alerts and error messages. + Message *string `json:"message,omitempty"` + // Timestamp - READ-ONLY; The timestamp when the status was changed to the current value. + Timestamp *date.Time `json:"timestamp,omitempty"` +} + +// StorageAccountProperties the properties of a storage account for a container registry. Only applicable +// to Classic SKU. +type StorageAccountProperties struct { + // ID - The resource ID of the storage account. + ID *string `json:"id,omitempty"` +} + +// Target the target of the event. +type Target struct { + // MediaType - The MIME type of the referenced object. + MediaType *string `json:"mediaType,omitempty"` + // Size - The number of bytes of the content. Same as Length field. + Size *int64 `json:"size,omitempty"` + // Digest - The digest of the content, as defined by the Registry V2 HTTP API Specification. + Digest *string `json:"digest,omitempty"` + // Length - The number of bytes of the content. Same as Size field. + Length *int64 `json:"length,omitempty"` + // Repository - The repository name. + Repository *string `json:"repository,omitempty"` + // URL - The direct URL to the content. + URL *string `json:"url,omitempty"` + // Tag - The tag name. + Tag *string `json:"tag,omitempty"` + // Name - The name of the artifact. + Name *string `json:"name,omitempty"` + // Version - The version of the artifact. + Version *string `json:"version,omitempty"` +} + +// Task the task that has the ARM resource and task properties. +// The task will have all information to schedule a run against it. +type Task struct { + autorest.Response `json:"-"` + // Identity - Identity for the resource. + Identity *IdentityProperties `json:"identity,omitempty"` + // TaskProperties - The properties of a task. + *TaskProperties `json:"properties,omitempty"` + // ID - READ-ONLY; The resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; The name of the resource. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; The type of the resource. + Type *string `json:"type,omitempty"` + // Location - The location of the resource. This cannot be changed after the resource is created. + Location *string `json:"location,omitempty"` + // Tags - The tags of the resource. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for Task. +func (t Task) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if t.Identity != nil { + objectMap["identity"] = t.Identity + } + if t.TaskProperties != nil { + objectMap["properties"] = t.TaskProperties + } + if t.Location != nil { + objectMap["location"] = t.Location + } + if t.Tags != nil { + objectMap["tags"] = t.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for Task struct. +func (t *Task) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "identity": + if v != nil { + var identity IdentityProperties + err = json.Unmarshal(*v, &identity) + if err != nil { + return err + } + t.Identity = &identity + } + case "properties": + if v != nil { + var taskProperties TaskProperties + err = json.Unmarshal(*v, &taskProperties) + if err != nil { + return err + } + t.TaskProperties = &taskProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + t.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + t.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + t.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + t.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + t.Tags = tags + } + } + } + + return nil +} + +// TaskListResult the collection of tasks. +type TaskListResult struct { + autorest.Response `json:"-"` + // Value - The collection value. + Value *[]Task `json:"value,omitempty"` + // NextLink - The URI that can be used to request the next set of paged results. + NextLink *string `json:"nextLink,omitempty"` +} + +// TaskListResultIterator provides access to a complete listing of Task values. +type TaskListResultIterator struct { + i int + page TaskListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *TaskListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/TaskListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *TaskListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter TaskListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter TaskListResultIterator) Response() TaskListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter TaskListResultIterator) Value() Task { + if !iter.page.NotDone() { + return Task{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the TaskListResultIterator type. +func NewTaskListResultIterator(page TaskListResultPage) TaskListResultIterator { + return TaskListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (tlr TaskListResult) IsEmpty() bool { + return tlr.Value == nil || len(*tlr.Value) == 0 +} + +// taskListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (tlr TaskListResult) taskListResultPreparer(ctx context.Context) (*http.Request, error) { + if tlr.NextLink == nil || len(to.String(tlr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(tlr.NextLink))) +} + +// TaskListResultPage contains a page of Task values. +type TaskListResultPage struct { + fn func(context.Context, TaskListResult) (TaskListResult, error) + tlr TaskListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *TaskListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/TaskListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.tlr) + if err != nil { + return err + } + page.tlr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *TaskListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page TaskListResultPage) NotDone() bool { + return !page.tlr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page TaskListResultPage) Response() TaskListResult { + return page.tlr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page TaskListResultPage) Values() []Task { + if page.tlr.IsEmpty() { + return nil + } + return *page.tlr.Value +} + +// Creates a new instance of the TaskListResultPage type. +func NewTaskListResultPage(getNextPage func(context.Context, TaskListResult) (TaskListResult, error)) TaskListResultPage { + return TaskListResultPage{fn: getNextPage} +} + +// TaskProperties the properties of a task. +type TaskProperties struct { + // ProvisioningState - READ-ONLY; The provisioning state of the task. Possible values include: 'Creating', 'Updating', 'Deleting', 'Succeeded', 'Failed', 'Canceled' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + // CreationDate - READ-ONLY; The creation date of task. + CreationDate *date.Time `json:"creationDate,omitempty"` + // Status - The current status of task. Possible values include: 'TaskStatusDisabled', 'TaskStatusEnabled' + Status TaskStatus `json:"status,omitempty"` + // Platform - The platform properties against which the run has to happen. + Platform *PlatformProperties `json:"platform,omitempty"` + // AgentConfiguration - The machine configuration of the run agent. + AgentConfiguration *AgentProperties `json:"agentConfiguration,omitempty"` + // Timeout - Run timeout in seconds. + Timeout *int32 `json:"timeout,omitempty"` + // Step - The properties of a task step. + Step BasicTaskStepProperties `json:"step,omitempty"` + // Trigger - The properties that describe all triggers for the task. + Trigger *TriggerProperties `json:"trigger,omitempty"` + // Credentials - The properties that describes a set of credentials that will be used when this run is invoked. + Credentials *Credentials `json:"credentials,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for TaskProperties struct. +func (tp *TaskProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "provisioningState": + if v != nil { + var provisioningState ProvisioningState + err = json.Unmarshal(*v, &provisioningState) + if err != nil { + return err + } + tp.ProvisioningState = provisioningState + } + case "creationDate": + if v != nil { + var creationDate date.Time + err = json.Unmarshal(*v, &creationDate) + if err != nil { + return err + } + tp.CreationDate = &creationDate + } + case "status": + if v != nil { + var status TaskStatus + err = json.Unmarshal(*v, &status) + if err != nil { + return err + } + tp.Status = status + } + case "platform": + if v != nil { + var platform PlatformProperties + err = json.Unmarshal(*v, &platform) + if err != nil { + return err + } + tp.Platform = &platform + } + case "agentConfiguration": + if v != nil { + var agentConfiguration AgentProperties + err = json.Unmarshal(*v, &agentConfiguration) + if err != nil { + return err + } + tp.AgentConfiguration = &agentConfiguration + } + case "timeout": + if v != nil { + var timeout int32 + err = json.Unmarshal(*v, &timeout) + if err != nil { + return err + } + tp.Timeout = &timeout + } + case "step": + if v != nil { + step, err := unmarshalBasicTaskStepProperties(*v) + if err != nil { + return err + } + tp.Step = step + } + case "trigger": + if v != nil { + var trigger TriggerProperties + err = json.Unmarshal(*v, &trigger) + if err != nil { + return err + } + tp.Trigger = &trigger + } + case "credentials": + if v != nil { + var credentials Credentials + err = json.Unmarshal(*v, &credentials) + if err != nil { + return err + } + tp.Credentials = &credentials + } + } + } + + return nil +} + +// TaskPropertiesUpdateParameters the properties for updating a task. +type TaskPropertiesUpdateParameters struct { + // Status - The current status of task. Possible values include: 'TaskStatusDisabled', 'TaskStatusEnabled' + Status TaskStatus `json:"status,omitempty"` + // Platform - The platform properties against which the run has to happen. + Platform *PlatformUpdateParameters `json:"platform,omitempty"` + // AgentConfiguration - The machine configuration of the run agent. + AgentConfiguration *AgentProperties `json:"agentConfiguration,omitempty"` + // Timeout - Run timeout in seconds. + Timeout *int32 `json:"timeout,omitempty"` + // Step - The properties for updating a task step. + Step BasicTaskStepUpdateParameters `json:"step,omitempty"` + // Trigger - The properties for updating trigger properties. + Trigger *TriggerUpdateParameters `json:"trigger,omitempty"` + // Credentials - The parameters that describes a set of credentials that will be used when this run is invoked. + Credentials *Credentials `json:"credentials,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for TaskPropertiesUpdateParameters struct. +func (tpup *TaskPropertiesUpdateParameters) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "status": + if v != nil { + var status TaskStatus + err = json.Unmarshal(*v, &status) + if err != nil { + return err + } + tpup.Status = status + } + case "platform": + if v != nil { + var platform PlatformUpdateParameters + err = json.Unmarshal(*v, &platform) + if err != nil { + return err + } + tpup.Platform = &platform } case "agentConfiguration": if v != nil { @@ -4163,385 +4622,814 @@ func (tpup *TaskPropertiesUpdateParameters) UnmarshalJSON(body []byte) error { } } - return nil + return nil +} + +// TaskRunRequest the parameters for a task run request. +type TaskRunRequest struct { + // TaskID - The resource ID of task against which run has to be queued. + TaskID *string `json:"taskId,omitempty"` + // OverrideTaskStepProperties - Set of overridable parameters that can be passed when running a Task. + OverrideTaskStepProperties *OverrideTaskStepProperties `json:"overrideTaskStepProperties,omitempty"` + // IsArchiveEnabled - The value that indicates whether archiving is enabled for the run or not. + IsArchiveEnabled *bool `json:"isArchiveEnabled,omitempty"` + // Type - Possible values include: 'TypeRunRequest', 'TypeDockerBuildRequest', 'TypeFileTaskRunRequest', 'TypeTaskRunRequest', 'TypeEncodedTaskRunRequest' + Type Type `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for TaskRunRequest. +func (trr TaskRunRequest) MarshalJSON() ([]byte, error) { + trr.Type = TypeTaskRunRequest + objectMap := make(map[string]interface{}) + if trr.TaskID != nil { + objectMap["taskId"] = trr.TaskID + } + if trr.OverrideTaskStepProperties != nil { + objectMap["overrideTaskStepProperties"] = trr.OverrideTaskStepProperties + } + if trr.IsArchiveEnabled != nil { + objectMap["isArchiveEnabled"] = trr.IsArchiveEnabled + } + if trr.Type != "" { + objectMap["type"] = trr.Type + } + return json.Marshal(objectMap) +} + +// AsDockerBuildRequest is the BasicRunRequest implementation for TaskRunRequest. +func (trr TaskRunRequest) AsDockerBuildRequest() (*DockerBuildRequest, bool) { + return nil, false +} + +// AsFileTaskRunRequest is the BasicRunRequest implementation for TaskRunRequest. +func (trr TaskRunRequest) AsFileTaskRunRequest() (*FileTaskRunRequest, bool) { + return nil, false +} + +// AsTaskRunRequest is the BasicRunRequest implementation for TaskRunRequest. +func (trr TaskRunRequest) AsTaskRunRequest() (*TaskRunRequest, bool) { + return &trr, true +} + +// AsEncodedTaskRunRequest is the BasicRunRequest implementation for TaskRunRequest. +func (trr TaskRunRequest) AsEncodedTaskRunRequest() (*EncodedTaskRunRequest, bool) { + return nil, false +} + +// AsRunRequest is the BasicRunRequest implementation for TaskRunRequest. +func (trr TaskRunRequest) AsRunRequest() (*RunRequest, bool) { + return nil, false +} + +// AsBasicRunRequest is the BasicRunRequest implementation for TaskRunRequest. +func (trr TaskRunRequest) AsBasicRunRequest() (BasicRunRequest, bool) { + return &trr, true +} + +// TasksCreateFuture an abstraction for monitoring and retrieving the results of a long-running operation. +type TasksCreateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *TasksCreateFuture) Result(client TasksClient) (t Task, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "containerregistry.TasksCreateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("containerregistry.TasksCreateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if t.Response.Response, err = future.GetResult(sender); err == nil && t.Response.Response.StatusCode != http.StatusNoContent { + t, err = client.CreateResponder(t.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "containerregistry.TasksCreateFuture", "Result", t.Response.Response, "Failure responding to request") + } + } + return +} + +// TasksDeleteFuture an abstraction for monitoring and retrieving the results of a long-running operation. +type TasksDeleteFuture struct { + azure.Future } -// TaskRunRequest the parameters for a task run request. -type TaskRunRequest struct { - // TaskID - The resource ID of task against which run has to be queued. - TaskID *string `json:"taskId,omitempty"` - // OverrideTaskStepProperties - Set of overridable parameters that can be passed when running a Task. - OverrideTaskStepProperties *OverrideTaskStepProperties `json:"overrideTaskStepProperties,omitempty"` - // IsArchiveEnabled - The value that indicates whether archiving is enabled for the run or not. - IsArchiveEnabled *bool `json:"isArchiveEnabled,omitempty"` - // Type - Possible values include: 'TypeRunRequest', 'TypeDockerBuildRequest', 'TypeFileTaskRunRequest', 'TypeTaskRunRequest', 'TypeEncodedTaskRunRequest' - Type Type `json:"type,omitempty"` +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *TasksDeleteFuture) Result(client TasksClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "containerregistry.TasksDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("containerregistry.TasksDeleteFuture") + return + } + ar.Response = future.Response() + return } -// MarshalJSON is the custom marshaler for TaskRunRequest. -func (trr TaskRunRequest) MarshalJSON() ([]byte, error) { - trr.Type = TypeTaskRunRequest - objectMap := make(map[string]interface{}) - if trr.TaskID != nil { - objectMap["taskId"] = trr.TaskID +// BasicTaskStepProperties base properties for any task step. +type BasicTaskStepProperties interface { + AsDockerBuildStep() (*DockerBuildStep, bool) + AsFileTaskStep() (*FileTaskStep, bool) + AsEncodedTaskStep() (*EncodedTaskStep, bool) + AsTaskStepProperties() (*TaskStepProperties, bool) +} + +// TaskStepProperties base properties for any task step. +type TaskStepProperties struct { + // BaseImageDependencies - READ-ONLY; List of base image dependencies for a step. + BaseImageDependencies *[]BaseImageDependency `json:"baseImageDependencies,omitempty"` + // ContextPath - The URL(absolute or relative) of the source context for the task step. + ContextPath *string `json:"contextPath,omitempty"` + // ContextAccessToken - The token (git PAT or SAS token of storage account blob) associated with the context for a step. + ContextAccessToken *string `json:"contextAccessToken,omitempty"` + // Type - Possible values include: 'TypeTaskStepProperties', 'TypeDocker', 'TypeFileTask', 'TypeEncodedTask' + Type TypeBasicTaskStepProperties `json:"type,omitempty"` +} + +func unmarshalBasicTaskStepProperties(body []byte) (BasicTaskStepProperties, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err } - if trr.OverrideTaskStepProperties != nil { - objectMap["overrideTaskStepProperties"] = trr.OverrideTaskStepProperties + + switch m["type"] { + case string(TypeDocker): + var dbs DockerBuildStep + err := json.Unmarshal(body, &dbs) + return dbs, err + case string(TypeFileTask): + var fts FileTaskStep + err := json.Unmarshal(body, &fts) + return fts, err + case string(TypeEncodedTask): + var ets EncodedTaskStep + err := json.Unmarshal(body, &ets) + return ets, err + default: + var tsp TaskStepProperties + err := json.Unmarshal(body, &tsp) + return tsp, err } - if trr.IsArchiveEnabled != nil { - objectMap["isArchiveEnabled"] = trr.IsArchiveEnabled +} +func unmarshalBasicTaskStepPropertiesArray(body []byte) ([]BasicTaskStepProperties, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err } - if trr.Type != "" { - objectMap["type"] = trr.Type + + tspArray := make([]BasicTaskStepProperties, len(rawMessages)) + + for index, rawMessage := range rawMessages { + tsp, err := unmarshalBasicTaskStepProperties(*rawMessage) + if err != nil { + return nil, err + } + tspArray[index] = tsp + } + return tspArray, nil +} + +// MarshalJSON is the custom marshaler for TaskStepProperties. +func (tsp TaskStepProperties) MarshalJSON() ([]byte, error) { + tsp.Type = TypeTaskStepProperties + objectMap := make(map[string]interface{}) + if tsp.ContextPath != nil { + objectMap["contextPath"] = tsp.ContextPath + } + if tsp.ContextAccessToken != nil { + objectMap["contextAccessToken"] = tsp.ContextAccessToken + } + if tsp.Type != "" { + objectMap["type"] = tsp.Type } return json.Marshal(objectMap) } -// AsDockerBuildRequest is the BasicRunRequest implementation for TaskRunRequest. -func (trr TaskRunRequest) AsDockerBuildRequest() (*DockerBuildRequest, bool) { +// AsDockerBuildStep is the BasicTaskStepProperties implementation for TaskStepProperties. +func (tsp TaskStepProperties) AsDockerBuildStep() (*DockerBuildStep, bool) { return nil, false } -// AsFileTaskRunRequest is the BasicRunRequest implementation for TaskRunRequest. -func (trr TaskRunRequest) AsFileTaskRunRequest() (*FileTaskRunRequest, bool) { +// AsFileTaskStep is the BasicTaskStepProperties implementation for TaskStepProperties. +func (tsp TaskStepProperties) AsFileTaskStep() (*FileTaskStep, bool) { return nil, false } -// AsTaskRunRequest is the BasicRunRequest implementation for TaskRunRequest. -func (trr TaskRunRequest) AsTaskRunRequest() (*TaskRunRequest, bool) { - return &trr, true +// AsEncodedTaskStep is the BasicTaskStepProperties implementation for TaskStepProperties. +func (tsp TaskStepProperties) AsEncodedTaskStep() (*EncodedTaskStep, bool) { + return nil, false } -// AsEncodedTaskRunRequest is the BasicRunRequest implementation for TaskRunRequest. -func (trr TaskRunRequest) AsEncodedTaskRunRequest() (*EncodedTaskRunRequest, bool) { +// AsTaskStepProperties is the BasicTaskStepProperties implementation for TaskStepProperties. +func (tsp TaskStepProperties) AsTaskStepProperties() (*TaskStepProperties, bool) { + return &tsp, true +} + +// AsBasicTaskStepProperties is the BasicTaskStepProperties implementation for TaskStepProperties. +func (tsp TaskStepProperties) AsBasicTaskStepProperties() (BasicTaskStepProperties, bool) { + return &tsp, true +} + +// BasicTaskStepUpdateParameters base properties for updating any task step. +type BasicTaskStepUpdateParameters interface { + AsDockerBuildStepUpdateParameters() (*DockerBuildStepUpdateParameters, bool) + AsFileTaskStepUpdateParameters() (*FileTaskStepUpdateParameters, bool) + AsEncodedTaskStepUpdateParameters() (*EncodedTaskStepUpdateParameters, bool) + AsTaskStepUpdateParameters() (*TaskStepUpdateParameters, bool) +} + +// TaskStepUpdateParameters base properties for updating any task step. +type TaskStepUpdateParameters struct { + // ContextPath - The URL(absolute or relative) of the source context for the task step. + ContextPath *string `json:"contextPath,omitempty"` + // ContextAccessToken - The token (git PAT or SAS token of storage account blob) associated with the context for a step. + ContextAccessToken *string `json:"contextAccessToken,omitempty"` + // Type - Possible values include: 'TypeBasicTaskStepUpdateParametersTypeTaskStepUpdateParameters', 'TypeBasicTaskStepUpdateParametersTypeDocker', 'TypeBasicTaskStepUpdateParametersTypeFileTask', 'TypeBasicTaskStepUpdateParametersTypeEncodedTask' + Type TypeBasicTaskStepUpdateParameters `json:"type,omitempty"` +} + +func unmarshalBasicTaskStepUpdateParameters(body []byte) (BasicTaskStepUpdateParameters, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["type"] { + case string(TypeBasicTaskStepUpdateParametersTypeDocker): + var dbsup DockerBuildStepUpdateParameters + err := json.Unmarshal(body, &dbsup) + return dbsup, err + case string(TypeBasicTaskStepUpdateParametersTypeFileTask): + var ftsup FileTaskStepUpdateParameters + err := json.Unmarshal(body, &ftsup) + return ftsup, err + case string(TypeBasicTaskStepUpdateParametersTypeEncodedTask): + var etsup EncodedTaskStepUpdateParameters + err := json.Unmarshal(body, &etsup) + return etsup, err + default: + var tsup TaskStepUpdateParameters + err := json.Unmarshal(body, &tsup) + return tsup, err + } +} +func unmarshalBasicTaskStepUpdateParametersArray(body []byte) ([]BasicTaskStepUpdateParameters, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + tsupArray := make([]BasicTaskStepUpdateParameters, len(rawMessages)) + + for index, rawMessage := range rawMessages { + tsup, err := unmarshalBasicTaskStepUpdateParameters(*rawMessage) + if err != nil { + return nil, err + } + tsupArray[index] = tsup + } + return tsupArray, nil +} + +// MarshalJSON is the custom marshaler for TaskStepUpdateParameters. +func (tsup TaskStepUpdateParameters) MarshalJSON() ([]byte, error) { + tsup.Type = TypeBasicTaskStepUpdateParametersTypeTaskStepUpdateParameters + objectMap := make(map[string]interface{}) + if tsup.ContextPath != nil { + objectMap["contextPath"] = tsup.ContextPath + } + if tsup.ContextAccessToken != nil { + objectMap["contextAccessToken"] = tsup.ContextAccessToken + } + if tsup.Type != "" { + objectMap["type"] = tsup.Type + } + return json.Marshal(objectMap) +} + +// AsDockerBuildStepUpdateParameters is the BasicTaskStepUpdateParameters implementation for TaskStepUpdateParameters. +func (tsup TaskStepUpdateParameters) AsDockerBuildStepUpdateParameters() (*DockerBuildStepUpdateParameters, bool) { return nil, false } -// AsRunRequest is the BasicRunRequest implementation for TaskRunRequest. -func (trr TaskRunRequest) AsRunRequest() (*RunRequest, bool) { +// AsFileTaskStepUpdateParameters is the BasicTaskStepUpdateParameters implementation for TaskStepUpdateParameters. +func (tsup TaskStepUpdateParameters) AsFileTaskStepUpdateParameters() (*FileTaskStepUpdateParameters, bool) { return nil, false } -// AsBasicRunRequest is the BasicRunRequest implementation for TaskRunRequest. -func (trr TaskRunRequest) AsBasicRunRequest() (BasicRunRequest, bool) { - return &trr, true +// AsEncodedTaskStepUpdateParameters is the BasicTaskStepUpdateParameters implementation for TaskStepUpdateParameters. +func (tsup TaskStepUpdateParameters) AsEncodedTaskStepUpdateParameters() (*EncodedTaskStepUpdateParameters, bool) { + return nil, false } -// TasksCreateFuture an abstraction for monitoring and retrieving the results of a long-running operation. -type TasksCreateFuture struct { +// AsTaskStepUpdateParameters is the BasicTaskStepUpdateParameters implementation for TaskStepUpdateParameters. +func (tsup TaskStepUpdateParameters) AsTaskStepUpdateParameters() (*TaskStepUpdateParameters, bool) { + return &tsup, true +} + +// AsBasicTaskStepUpdateParameters is the BasicTaskStepUpdateParameters implementation for TaskStepUpdateParameters. +func (tsup TaskStepUpdateParameters) AsBasicTaskStepUpdateParameters() (BasicTaskStepUpdateParameters, bool) { + return &tsup, true +} + +// TasksUpdateFuture an abstraction for monitoring and retrieving the results of a long-running operation. +type TasksUpdateFuture struct { azure.Future } // Result returns the result of the asynchronous operation. // If the operation has not completed it will return an error. -func (future *TasksCreateFuture) Result(client TasksClient) (t Task, err error) { +func (future *TasksUpdateFuture) Result(client TasksClient) (t Task, err error) { var done bool done, err = future.DoneWithContext(context.Background(), client) if err != nil { - err = autorest.NewErrorWithError(err, "containerregistry.TasksCreateFuture", "Result", future.Response(), "Polling failure") + err = autorest.NewErrorWithError(err, "containerregistry.TasksUpdateFuture", "Result", future.Response(), "Polling failure") return } if !done { - err = azure.NewAsyncOpIncompleteError("containerregistry.TasksCreateFuture") + err = azure.NewAsyncOpIncompleteError("containerregistry.TasksUpdateFuture") return } sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) if t.Response.Response, err = future.GetResult(sender); err == nil && t.Response.Response.StatusCode != http.StatusNoContent { - t, err = client.CreateResponder(t.Response.Response) + t, err = client.UpdateResponder(t.Response.Response) if err != nil { - err = autorest.NewErrorWithError(err, "containerregistry.TasksCreateFuture", "Result", t.Response.Response, "Failure responding to request") + err = autorest.NewErrorWithError(err, "containerregistry.TasksUpdateFuture", "Result", t.Response.Response, "Failure responding to request") } } return } -// TasksDeleteFuture an abstraction for monitoring and retrieving the results of a long-running operation. -type TasksDeleteFuture struct { - azure.Future +// TaskUpdateParameters the parameters for updating a task. +type TaskUpdateParameters struct { + // Identity - Identity for the resource. + Identity *IdentityProperties `json:"identity,omitempty"` + // TaskPropertiesUpdateParameters - The properties for updating a task. + *TaskPropertiesUpdateParameters `json:"properties,omitempty"` + // Tags - The ARM resource tags. + Tags map[string]*string `json:"tags"` } -// Result returns the result of the asynchronous operation. -// If the operation has not completed it will return an error. -func (future *TasksDeleteFuture) Result(client TasksClient) (ar autorest.Response, err error) { - var done bool - done, err = future.DoneWithContext(context.Background(), client) +// MarshalJSON is the custom marshaler for TaskUpdateParameters. +func (tup TaskUpdateParameters) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if tup.Identity != nil { + objectMap["identity"] = tup.Identity + } + if tup.TaskPropertiesUpdateParameters != nil { + objectMap["properties"] = tup.TaskPropertiesUpdateParameters + } + if tup.Tags != nil { + objectMap["tags"] = tup.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for TaskUpdateParameters struct. +func (tup *TaskUpdateParameters) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) if err != nil { - err = autorest.NewErrorWithError(err, "containerregistry.TasksDeleteFuture", "Result", future.Response(), "Polling failure") - return + return err } - if !done { - err = azure.NewAsyncOpIncompleteError("containerregistry.TasksDeleteFuture") - return + for k, v := range m { + switch k { + case "identity": + if v != nil { + var identity IdentityProperties + err = json.Unmarshal(*v, &identity) + if err != nil { + return err + } + tup.Identity = &identity + } + case "properties": + if v != nil { + var taskPropertiesUpdateParameters TaskPropertiesUpdateParameters + err = json.Unmarshal(*v, &taskPropertiesUpdateParameters) + if err != nil { + return err + } + tup.TaskPropertiesUpdateParameters = &taskPropertiesUpdateParameters + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + tup.Tags = tags + } + } } - ar.Response = future.Response() - return + + return nil } -// BasicTaskStepProperties base properties for any task step. -type BasicTaskStepProperties interface { - AsDockerBuildStep() (*DockerBuildStep, bool) - AsFileTaskStep() (*FileTaskStep, bool) - AsEncodedTaskStep() (*EncodedTaskStep, bool) - AsTaskStepProperties() (*TaskStepProperties, bool) +// TimerTrigger the properties of a timer trigger. +type TimerTrigger struct { + // Schedule - The CRON expression for the task schedule + Schedule *string `json:"schedule,omitempty"` + // Status - The current status of trigger. Possible values include: 'TriggerStatusDisabled', 'TriggerStatusEnabled' + Status TriggerStatus `json:"status,omitempty"` + // Name - The name of the trigger. + Name *string `json:"name,omitempty"` } -// TaskStepProperties base properties for any task step. -type TaskStepProperties struct { - // BaseImageDependencies - READ-ONLY; List of base image dependencies for a step. - BaseImageDependencies *[]BaseImageDependency `json:"baseImageDependencies,omitempty"` - // ContextPath - The URL(absolute or relative) of the source context for the task step. - ContextPath *string `json:"contextPath,omitempty"` - // ContextAccessToken - The token (git PAT or SAS token of storage account blob) associated with the context for a step. - ContextAccessToken *string `json:"contextAccessToken,omitempty"` - // Type - Possible values include: 'TypeTaskStepProperties', 'TypeDocker', 'TypeFileTask', 'TypeEncodedTask' - Type TypeBasicTaskStepProperties `json:"type,omitempty"` +// TimerTriggerDescriptor ... +type TimerTriggerDescriptor struct { + // TimerTriggerName - The timer trigger name that caused the run. + TimerTriggerName *string `json:"timerTriggerName,omitempty"` + // ScheduleOccurrence - The occurrence that triggered the run. + ScheduleOccurrence *string `json:"scheduleOccurrence,omitempty"` } -func unmarshalBasicTaskStepProperties(body []byte) (BasicTaskStepProperties, error) { - var m map[string]interface{} - err := json.Unmarshal(body, &m) - if err != nil { - return nil, err - } +// TimerTriggerUpdateParameters the properties for updating a timer trigger. +type TimerTriggerUpdateParameters struct { + // Schedule - The CRON expression for the task schedule + Schedule *string `json:"schedule,omitempty"` + // Status - The current status of trigger. Possible values include: 'TriggerStatusDisabled', 'TriggerStatusEnabled' + Status TriggerStatus `json:"status,omitempty"` + // Name - The name of the trigger. + Name *string `json:"name,omitempty"` +} - switch m["type"] { - case string(TypeDocker): - var dbs DockerBuildStep - err := json.Unmarshal(body, &dbs) - return dbs, err - case string(TypeFileTask): - var fts FileTaskStep - err := json.Unmarshal(body, &fts) - return fts, err - case string(TypeEncodedTask): - var ets EncodedTaskStep - err := json.Unmarshal(body, &ets) - return ets, err - default: - var tsp TaskStepProperties - err := json.Unmarshal(body, &tsp) - return tsp, err +// Token an object that represents a token for a container registry. +type Token struct { + autorest.Response `json:"-"` + // TokenProperties - The properties of the token. + *TokenProperties `json:"properties,omitempty"` + // ID - READ-ONLY; The resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; The name of the resource. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; The type of the resource. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for Token. +func (t Token) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if t.TokenProperties != nil { + objectMap["properties"] = t.TokenProperties } + return json.Marshal(objectMap) } -func unmarshalBasicTaskStepPropertiesArray(body []byte) ([]BasicTaskStepProperties, error) { - var rawMessages []*json.RawMessage - err := json.Unmarshal(body, &rawMessages) + +// UnmarshalJSON is the custom unmarshaler for Token struct. +func (t *Token) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) if err != nil { - return nil, err + return err } - - tspArray := make([]BasicTaskStepProperties, len(rawMessages)) - - for index, rawMessage := range rawMessages { - tsp, err := unmarshalBasicTaskStepProperties(*rawMessage) - if err != nil { - return nil, err + for k, v := range m { + switch k { + case "properties": + if v != nil { + var tokenProperties TokenProperties + err = json.Unmarshal(*v, &tokenProperties) + if err != nil { + return err + } + t.TokenProperties = &tokenProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + t.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + t.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + t.Type = &typeVar + } } - tspArray[index] = tsp } - return tspArray, nil + + return nil } -// MarshalJSON is the custom marshaler for TaskStepProperties. -func (tsp TaskStepProperties) MarshalJSON() ([]byte, error) { - tsp.Type = TypeTaskStepProperties - objectMap := make(map[string]interface{}) - if tsp.ContextPath != nil { - objectMap["contextPath"] = tsp.ContextPath +// TokenCertificate the properties of a certificate used for authenticating a token. +type TokenCertificate struct { + // Name - Possible values include: 'Certificate1', 'Certificate2' + Name TokenCertificateName `json:"name,omitempty"` + // Expiry - The expiry datetime of the certificate. + Expiry *date.Time `json:"expiry,omitempty"` + // Thumbprint - The thumbprint of the certificate. + Thumbprint *string `json:"thumbprint,omitempty"` + // EncodedPemCertificate - Base 64 encoded string of the public certificate1 in PEM format that will be used for authenticating the token. + EncodedPemCertificate *string `json:"encodedPemCertificate,omitempty"` +} + +// TokenCredentialsProperties the properties of the credentials that can be used for authenticating the +// token. +type TokenCredentialsProperties struct { + Certificates *[]TokenCertificate `json:"certificates,omitempty"` + Passwords *[]TokenPassword `json:"passwords,omitempty"` +} + +// TokenListResult the result of a request to list tokens for a container registry. +type TokenListResult struct { + autorest.Response `json:"-"` + // Value - The list of tokens. Since this list may be incomplete, the nextLink field should be used to request the next list of tokens. + Value *[]Token `json:"value,omitempty"` + // NextLink - The URI that can be used to request the next list of tokens. + NextLink *string `json:"nextLink,omitempty"` +} + +// TokenListResultIterator provides access to a complete listing of Token values. +type TokenListResultIterator struct { + i int + page TokenListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *TokenListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/TokenListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() } - if tsp.ContextAccessToken != nil { - objectMap["contextAccessToken"] = tsp.ContextAccessToken + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil } - if tsp.Type != "" { - objectMap["type"] = tsp.Type + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err } - return json.Marshal(objectMap) + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *TokenListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) } -// AsDockerBuildStep is the BasicTaskStepProperties implementation for TaskStepProperties. -func (tsp TaskStepProperties) AsDockerBuildStep() (*DockerBuildStep, bool) { - return nil, false +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter TokenListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) } -// AsFileTaskStep is the BasicTaskStepProperties implementation for TaskStepProperties. -func (tsp TaskStepProperties) AsFileTaskStep() (*FileTaskStep, bool) { - return nil, false +// Response returns the raw server response from the last page request. +func (iter TokenListResultIterator) Response() TokenListResult { + return iter.page.Response() } -// AsEncodedTaskStep is the BasicTaskStepProperties implementation for TaskStepProperties. -func (tsp TaskStepProperties) AsEncodedTaskStep() (*EncodedTaskStep, bool) { - return nil, false +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter TokenListResultIterator) Value() Token { + if !iter.page.NotDone() { + return Token{} + } + return iter.page.Values()[iter.i] } -// AsTaskStepProperties is the BasicTaskStepProperties implementation for TaskStepProperties. -func (tsp TaskStepProperties) AsTaskStepProperties() (*TaskStepProperties, bool) { - return &tsp, true +// Creates a new instance of the TokenListResultIterator type. +func NewTokenListResultIterator(page TokenListResultPage) TokenListResultIterator { + return TokenListResultIterator{page: page} } -// AsBasicTaskStepProperties is the BasicTaskStepProperties implementation for TaskStepProperties. -func (tsp TaskStepProperties) AsBasicTaskStepProperties() (BasicTaskStepProperties, bool) { - return &tsp, true +// IsEmpty returns true if the ListResult contains no values. +func (tlr TokenListResult) IsEmpty() bool { + return tlr.Value == nil || len(*tlr.Value) == 0 } -// BasicTaskStepUpdateParameters base properties for updating any task step. -type BasicTaskStepUpdateParameters interface { - AsDockerBuildStepUpdateParameters() (*DockerBuildStepUpdateParameters, bool) - AsFileTaskStepUpdateParameters() (*FileTaskStepUpdateParameters, bool) - AsEncodedTaskStepUpdateParameters() (*EncodedTaskStepUpdateParameters, bool) - AsTaskStepUpdateParameters() (*TaskStepUpdateParameters, bool) +// tokenListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (tlr TokenListResult) tokenListResultPreparer(ctx context.Context) (*http.Request, error) { + if tlr.NextLink == nil || len(to.String(tlr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(tlr.NextLink))) } -// TaskStepUpdateParameters base properties for updating any task step. -type TaskStepUpdateParameters struct { - // ContextPath - The URL(absolute or relative) of the source context for the task step. - ContextPath *string `json:"contextPath,omitempty"` - // ContextAccessToken - The token (git PAT or SAS token of storage account blob) associated with the context for a step. - ContextAccessToken *string `json:"contextAccessToken,omitempty"` - // Type - Possible values include: 'TypeBasicTaskStepUpdateParametersTypeTaskStepUpdateParameters', 'TypeBasicTaskStepUpdateParametersTypeDocker', 'TypeBasicTaskStepUpdateParametersTypeFileTask', 'TypeBasicTaskStepUpdateParametersTypeEncodedTask' - Type TypeBasicTaskStepUpdateParameters `json:"type,omitempty"` +// TokenListResultPage contains a page of Token values. +type TokenListResultPage struct { + fn func(context.Context, TokenListResult) (TokenListResult, error) + tlr TokenListResult } -func unmarshalBasicTaskStepUpdateParameters(body []byte) (BasicTaskStepUpdateParameters, error) { - var m map[string]interface{} - err := json.Unmarshal(body, &m) +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *TokenListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/TokenListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.tlr) if err != nil { - return nil, err + return err } + page.tlr = next + return nil +} - switch m["type"] { - case string(TypeBasicTaskStepUpdateParametersTypeDocker): - var dbsup DockerBuildStepUpdateParameters - err := json.Unmarshal(body, &dbsup) - return dbsup, err - case string(TypeBasicTaskStepUpdateParametersTypeFileTask): - var ftsup FileTaskStepUpdateParameters - err := json.Unmarshal(body, &ftsup) - return ftsup, err - case string(TypeBasicTaskStepUpdateParametersTypeEncodedTask): - var etsup EncodedTaskStepUpdateParameters - err := json.Unmarshal(body, &etsup) - return etsup, err - default: - var tsup TaskStepUpdateParameters - err := json.Unmarshal(body, &tsup) - return tsup, err - } +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *TokenListResultPage) Next() error { + return page.NextWithContext(context.Background()) } -func unmarshalBasicTaskStepUpdateParametersArray(body []byte) ([]BasicTaskStepUpdateParameters, error) { - var rawMessages []*json.RawMessage - err := json.Unmarshal(body, &rawMessages) - if err != nil { - return nil, err - } - tsupArray := make([]BasicTaskStepUpdateParameters, len(rawMessages)) +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page TokenListResultPage) NotDone() bool { + return !page.tlr.IsEmpty() +} - for index, rawMessage := range rawMessages { - tsup, err := unmarshalBasicTaskStepUpdateParameters(*rawMessage) - if err != nil { - return nil, err - } - tsupArray[index] = tsup - } - return tsupArray, nil +// Response returns the raw server response from the last page request. +func (page TokenListResultPage) Response() TokenListResult { + return page.tlr } -// MarshalJSON is the custom marshaler for TaskStepUpdateParameters. -func (tsup TaskStepUpdateParameters) MarshalJSON() ([]byte, error) { - tsup.Type = TypeBasicTaskStepUpdateParametersTypeTaskStepUpdateParameters - objectMap := make(map[string]interface{}) - if tsup.ContextPath != nil { - objectMap["contextPath"] = tsup.ContextPath - } - if tsup.ContextAccessToken != nil { - objectMap["contextAccessToken"] = tsup.ContextAccessToken - } - if tsup.Type != "" { - objectMap["type"] = tsup.Type +// Values returns the slice of values for the current page or nil if there are no values. +func (page TokenListResultPage) Values() []Token { + if page.tlr.IsEmpty() { + return nil } - return json.Marshal(objectMap) + return *page.tlr.Value } -// AsDockerBuildStepUpdateParameters is the BasicTaskStepUpdateParameters implementation for TaskStepUpdateParameters. -func (tsup TaskStepUpdateParameters) AsDockerBuildStepUpdateParameters() (*DockerBuildStepUpdateParameters, bool) { - return nil, false +// Creates a new instance of the TokenListResultPage type. +func NewTokenListResultPage(getNextPage func(context.Context, TokenListResult) (TokenListResult, error)) TokenListResultPage { + return TokenListResultPage{fn: getNextPage} } -// AsFileTaskStepUpdateParameters is the BasicTaskStepUpdateParameters implementation for TaskStepUpdateParameters. -func (tsup TaskStepUpdateParameters) AsFileTaskStepUpdateParameters() (*FileTaskStepUpdateParameters, bool) { - return nil, false +// TokenPassword the password that will be used for authenticating the token of a container registry. +type TokenPassword struct { + // CreationTime - The creation datetime of the password. + CreationTime *date.Time `json:"creationTime,omitempty"` + // Expiry - The expiry datetime of the password. + Expiry *date.Time `json:"expiry,omitempty"` + // Name - The password name "password1" or "password2". Possible values include: 'TokenPasswordNamePassword1', 'TokenPasswordNamePassword2' + Name TokenPasswordName `json:"name,omitempty"` + // Value - READ-ONLY; The password value. + Value *string `json:"value,omitempty"` } -// AsEncodedTaskStepUpdateParameters is the BasicTaskStepUpdateParameters implementation for TaskStepUpdateParameters. -func (tsup TaskStepUpdateParameters) AsEncodedTaskStepUpdateParameters() (*EncodedTaskStepUpdateParameters, bool) { - return nil, false +// TokenProperties the properties of a token. +type TokenProperties struct { + // CreationDate - READ-ONLY; The creation date of scope map. + CreationDate *date.Time `json:"creationDate,omitempty"` + // ProvisioningState - READ-ONLY; Provisioning state of the resource. Possible values include: 'Creating', 'Updating', 'Deleting', 'Succeeded', 'Failed', 'Canceled' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + // ScopeMapID - The resource ID of the scope map to which the token will be associated with. + ScopeMapID *string `json:"scopeMapId,omitempty"` + // ObjectID - The user/group/application object ID for which the token has to be created. + ObjectID *string `json:"objectId,omitempty"` + // Credentials - The credentials that can be used for authenticating the token. + Credentials *TokenCredentialsProperties `json:"credentials,omitempty"` + // Status - The status of the token example enabled or disabled. Possible values include: 'TokenStatusEnabled', 'TokenStatusDisabled' + Status TokenStatus `json:"status,omitempty"` +} + +// TokensCreateFuture an abstraction for monitoring and retrieving the results of a long-running operation. +type TokensCreateFuture struct { + azure.Future } -// AsTaskStepUpdateParameters is the BasicTaskStepUpdateParameters implementation for TaskStepUpdateParameters. -func (tsup TaskStepUpdateParameters) AsTaskStepUpdateParameters() (*TaskStepUpdateParameters, bool) { - return &tsup, true +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *TokensCreateFuture) Result(client TokensClient) (t Token, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "containerregistry.TokensCreateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("containerregistry.TokensCreateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if t.Response.Response, err = future.GetResult(sender); err == nil && t.Response.Response.StatusCode != http.StatusNoContent { + t, err = client.CreateResponder(t.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "containerregistry.TokensCreateFuture", "Result", t.Response.Response, "Failure responding to request") + } + } + return } -// AsBasicTaskStepUpdateParameters is the BasicTaskStepUpdateParameters implementation for TaskStepUpdateParameters. -func (tsup TaskStepUpdateParameters) AsBasicTaskStepUpdateParameters() (BasicTaskStepUpdateParameters, bool) { - return &tsup, true +// TokensDeleteFuture an abstraction for monitoring and retrieving the results of a long-running operation. +type TokensDeleteFuture struct { + azure.Future } -// TasksUpdateFuture an abstraction for monitoring and retrieving the results of a long-running operation. -type TasksUpdateFuture struct { +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *TokensDeleteFuture) Result(client TokensClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "containerregistry.TokensDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("containerregistry.TokensDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// TokensUpdateFuture an abstraction for monitoring and retrieving the results of a long-running operation. +type TokensUpdateFuture struct { azure.Future } // Result returns the result of the asynchronous operation. // If the operation has not completed it will return an error. -func (future *TasksUpdateFuture) Result(client TasksClient) (t Task, err error) { +func (future *TokensUpdateFuture) Result(client TokensClient) (t Token, err error) { var done bool done, err = future.DoneWithContext(context.Background(), client) if err != nil { - err = autorest.NewErrorWithError(err, "containerregistry.TasksUpdateFuture", "Result", future.Response(), "Polling failure") + err = autorest.NewErrorWithError(err, "containerregistry.TokensUpdateFuture", "Result", future.Response(), "Polling failure") return } if !done { - err = azure.NewAsyncOpIncompleteError("containerregistry.TasksUpdateFuture") + err = azure.NewAsyncOpIncompleteError("containerregistry.TokensUpdateFuture") return } sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) if t.Response.Response, err = future.GetResult(sender); err == nil && t.Response.Response.StatusCode != http.StatusNoContent { t, err = client.UpdateResponder(t.Response.Response) if err != nil { - err = autorest.NewErrorWithError(err, "containerregistry.TasksUpdateFuture", "Result", t.Response.Response, "Failure responding to request") + err = autorest.NewErrorWithError(err, "containerregistry.TokensUpdateFuture", "Result", t.Response.Response, "Failure responding to request") } } return } -// TaskUpdateParameters the parameters for updating a task. -type TaskUpdateParameters struct { - // Identity - Identity for the resource. - Identity *IdentityProperties `json:"identity,omitempty"` - // TaskPropertiesUpdateParameters - The properties for updating a task. - *TaskPropertiesUpdateParameters `json:"properties,omitempty"` - // Tags - The ARM resource tags. - Tags map[string]*string `json:"tags"` +// TokenUpdateParameters the parameters for updating a token. +type TokenUpdateParameters struct { + // TokenUpdateProperties - The properties of the token update parameters. + *TokenUpdateProperties `json:"properties,omitempty"` } -// MarshalJSON is the custom marshaler for TaskUpdateParameters. -func (tup TaskUpdateParameters) MarshalJSON() ([]byte, error) { +// MarshalJSON is the custom marshaler for TokenUpdateParameters. +func (tup TokenUpdateParameters) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) - if tup.Identity != nil { - objectMap["identity"] = tup.Identity - } - if tup.TaskPropertiesUpdateParameters != nil { - objectMap["properties"] = tup.TaskPropertiesUpdateParameters - } - if tup.Tags != nil { - objectMap["tags"] = tup.Tags + if tup.TokenUpdateProperties != nil { + objectMap["properties"] = tup.TokenUpdateProperties } return json.Marshal(objectMap) } -// UnmarshalJSON is the custom unmarshaler for TaskUpdateParameters struct. -func (tup *TaskUpdateParameters) UnmarshalJSON(body []byte) error { +// UnmarshalJSON is the custom unmarshaler for TokenUpdateParameters struct. +func (tup *TokenUpdateParameters) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -4549,32 +5437,14 @@ func (tup *TaskUpdateParameters) UnmarshalJSON(body []byte) error { } for k, v := range m { switch k { - case "identity": - if v != nil { - var identity IdentityProperties - err = json.Unmarshal(*v, &identity) - if err != nil { - return err - } - tup.Identity = &identity - } case "properties": if v != nil { - var taskPropertiesUpdateParameters TaskPropertiesUpdateParameters - err = json.Unmarshal(*v, &taskPropertiesUpdateParameters) - if err != nil { - return err - } - tup.TaskPropertiesUpdateParameters = &taskPropertiesUpdateParameters - } - case "tags": - if v != nil { - var tags map[string]*string - err = json.Unmarshal(*v, &tags) + var tokenUpdateProperties TokenUpdateProperties + err = json.Unmarshal(*v, &tokenUpdateProperties) if err != nil { return err } - tup.Tags = tags + tup.TokenUpdateProperties = &tokenUpdateProperties } } } @@ -4582,32 +5452,14 @@ func (tup *TaskUpdateParameters) UnmarshalJSON(body []byte) error { return nil } -// TimerTrigger the properties of a timer trigger. -type TimerTrigger struct { - // Schedule - The CRON expression for the task schedule - Schedule *string `json:"schedule,omitempty"` - // Status - The current status of trigger. Possible values include: 'TriggerStatusDisabled', 'TriggerStatusEnabled' - Status TriggerStatus `json:"status,omitempty"` - // Name - The name of the trigger. - Name *string `json:"name,omitempty"` -} - -// TimerTriggerDescriptor ... -type TimerTriggerDescriptor struct { - // TimerTriggerName - The timer trigger name that caused the run. - TimerTriggerName *string `json:"timerTriggerName,omitempty"` - // ScheduleOccurrence - The occurrence that triggered the run. - ScheduleOccurrence *string `json:"scheduleOccurrence,omitempty"` -} - -// TimerTriggerUpdateParameters the properties for updating a timer trigger. -type TimerTriggerUpdateParameters struct { - // Schedule - The CRON expression for the task schedule - Schedule *string `json:"schedule,omitempty"` - // Status - The current status of trigger. Possible values include: 'TriggerStatusDisabled', 'TriggerStatusEnabled' - Status TriggerStatus `json:"status,omitempty"` - // Name - The name of the trigger. - Name *string `json:"name,omitempty"` +// TokenUpdateProperties the parameters for updating token properties. +type TokenUpdateProperties struct { + // ScopeMapID - The resource ID of the scope map to which the token will be associated with. + ScopeMapID *string `json:"scopeMapId,omitempty"` + // Status - The status of the token example enabled or disabled. Possible values include: 'TokenStatusEnabled', 'TokenStatusDisabled' + Status TokenStatus `json:"status,omitempty"` + // Credentials - The credentials that can be used for authenticating the token. + Credentials *TokenCredentialsProperties `json:"credentials,omitempty"` } // TriggerProperties the properties of a trigger. diff --git a/services/containerregistry/mgmt/2019-06-01-preview/containerregistry/registries.go b/services/containerregistry/mgmt/2019-06-01-preview/containerregistry/registries.go index 355fe2dcddb9..16cf6c62c4fa 100644 --- a/services/containerregistry/mgmt/2019-06-01-preview/containerregistry/registries.go +++ b/services/containerregistry/mgmt/2019-06-01-preview/containerregistry/registries.go @@ -311,6 +311,96 @@ func (client RegistriesClient) DeleteResponder(resp *http.Response) (result auto return } +// GenerateCredentials generate keys for a token of a specified container registry. +// Parameters: +// resourceGroupName - the name of the resource group to which the container registry belongs. +// registryName - the name of the container registry. +// generateCredentialsParameters - the parameters for generating credentials. +func (client RegistriesClient) GenerateCredentials(ctx context.Context, resourceGroupName string, registryName string, generateCredentialsParameters GenerateCredentialsParameters) (result RegistriesGenerateCredentialsFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RegistriesClient.GenerateCredentials") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, + {TargetValue: registryName, + Constraints: []validation.Constraint{{Target: "registryName", Name: validation.MaxLength, Rule: 50, Chain: nil}, + {Target: "registryName", Name: validation.MinLength, Rule: 5, Chain: nil}, + {Target: "registryName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]*$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("containerregistry.RegistriesClient", "GenerateCredentials", err.Error()) + } + + req, err := client.GenerateCredentialsPreparer(ctx, resourceGroupName, registryName, generateCredentialsParameters) + if err != nil { + err = autorest.NewErrorWithError(err, "containerregistry.RegistriesClient", "GenerateCredentials", nil, "Failure preparing request") + return + } + + result, err = client.GenerateCredentialsSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "containerregistry.RegistriesClient", "GenerateCredentials", result.Response(), "Failure sending request") + return + } + + return +} + +// GenerateCredentialsPreparer prepares the GenerateCredentials request. +func (client RegistriesClient) GenerateCredentialsPreparer(ctx context.Context, resourceGroupName string, registryName string, generateCredentialsParameters GenerateCredentialsParameters) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "registryName": autorest.Encode("path", registryName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/generateCredentials", pathParameters), + autorest.WithJSON(generateCredentialsParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GenerateCredentialsSender sends the GenerateCredentials request. The method will close the +// http.Response Body if it receives an error. +func (client RegistriesClient) GenerateCredentialsSender(req *http.Request) (future RegistriesGenerateCredentialsFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// GenerateCredentialsResponder handles the response to the GenerateCredentials request. The method always +// closes the http.Response Body. +func (client RegistriesClient) GenerateCredentialsResponder(resp *http.Response) (result GenerateCredentialsResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + // Get gets the properties of the specified container registry. // Parameters: // resourceGroupName - the name of the resource group to which the container registry belongs. diff --git a/services/containerregistry/mgmt/2019-06-01-preview/containerregistry/scopemaps.go b/services/containerregistry/mgmt/2019-06-01-preview/containerregistry/scopemaps.go new file mode 100644 index 000000000000..0872a95f4632 --- /dev/null +++ b/services/containerregistry/mgmt/2019-06-01-preview/containerregistry/scopemaps.go @@ -0,0 +1,547 @@ +package containerregistry + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// ScopeMapsClient is the client for the ScopeMaps methods of the Containerregistry service. +type ScopeMapsClient struct { + BaseClient +} + +// NewScopeMapsClient creates an instance of the ScopeMapsClient client. +func NewScopeMapsClient(subscriptionID string) ScopeMapsClient { + return NewScopeMapsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewScopeMapsClientWithBaseURI creates an instance of the ScopeMapsClient client. +func NewScopeMapsClientWithBaseURI(baseURI string, subscriptionID string) ScopeMapsClient { + return ScopeMapsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// Create creates a scope map for a container registry with the specified parameters. +// Parameters: +// resourceGroupName - the name of the resource group to which the container registry belongs. +// registryName - the name of the container registry. +// scopeMapName - the name of the scope map. +// scopeMapCreateParameters - the parameters for creating a scope map. +func (client ScopeMapsClient) Create(ctx context.Context, resourceGroupName string, registryName string, scopeMapName string, scopeMapCreateParameters ScopeMap) (result ScopeMapsCreateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ScopeMapsClient.Create") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, + {TargetValue: registryName, + Constraints: []validation.Constraint{{Target: "registryName", Name: validation.MaxLength, Rule: 50, Chain: nil}, + {Target: "registryName", Name: validation.MinLength, Rule: 5, Chain: nil}, + {Target: "registryName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]*$`, Chain: nil}}}, + {TargetValue: scopeMapName, + Constraints: []validation.Constraint{{Target: "scopeMapName", Name: validation.MaxLength, Rule: 50, Chain: nil}, + {Target: "scopeMapName", Name: validation.MinLength, Rule: 5, Chain: nil}, + {Target: "scopeMapName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9-_]*$`, Chain: nil}}}, + {TargetValue: scopeMapCreateParameters, + Constraints: []validation.Constraint{{Target: "scopeMapCreateParameters.ScopeMapProperties", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "scopeMapCreateParameters.ScopeMapProperties.Actions", Name: validation.Null, Rule: true, Chain: nil}}}}}}); err != nil { + return result, validation.NewError("containerregistry.ScopeMapsClient", "Create", err.Error()) + } + + req, err := client.CreatePreparer(ctx, resourceGroupName, registryName, scopeMapName, scopeMapCreateParameters) + if err != nil { + err = autorest.NewErrorWithError(err, "containerregistry.ScopeMapsClient", "Create", nil, "Failure preparing request") + return + } + + result, err = client.CreateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "containerregistry.ScopeMapsClient", "Create", result.Response(), "Failure sending request") + return + } + + return +} + +// CreatePreparer prepares the Create request. +func (client ScopeMapsClient) CreatePreparer(ctx context.Context, resourceGroupName string, registryName string, scopeMapName string, scopeMapCreateParameters ScopeMap) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "registryName": autorest.Encode("path", registryName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "scopeMapName": autorest.Encode("path", scopeMapName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/scopeMaps/{scopeMapName}", pathParameters), + autorest.WithJSON(scopeMapCreateParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateSender sends the Create request. The method will close the +// http.Response Body if it receives an error. +func (client ScopeMapsClient) CreateSender(req *http.Request) (future ScopeMapsCreateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateResponder handles the response to the Create request. The method always +// closes the http.Response Body. +func (client ScopeMapsClient) CreateResponder(resp *http.Response) (result ScopeMap, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes a scope map from a container registry. +// Parameters: +// resourceGroupName - the name of the resource group to which the container registry belongs. +// registryName - the name of the container registry. +// scopeMapName - the name of the scope map. +func (client ScopeMapsClient) Delete(ctx context.Context, resourceGroupName string, registryName string, scopeMapName string) (result ScopeMapsDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ScopeMapsClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, + {TargetValue: registryName, + Constraints: []validation.Constraint{{Target: "registryName", Name: validation.MaxLength, Rule: 50, Chain: nil}, + {Target: "registryName", Name: validation.MinLength, Rule: 5, Chain: nil}, + {Target: "registryName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]*$`, Chain: nil}}}, + {TargetValue: scopeMapName, + Constraints: []validation.Constraint{{Target: "scopeMapName", Name: validation.MaxLength, Rule: 50, Chain: nil}, + {Target: "scopeMapName", Name: validation.MinLength, Rule: 5, Chain: nil}, + {Target: "scopeMapName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9-_]*$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("containerregistry.ScopeMapsClient", "Delete", err.Error()) + } + + req, err := client.DeletePreparer(ctx, resourceGroupName, registryName, scopeMapName) + if err != nil { + err = autorest.NewErrorWithError(err, "containerregistry.ScopeMapsClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "containerregistry.ScopeMapsClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client ScopeMapsClient) DeletePreparer(ctx context.Context, resourceGroupName string, registryName string, scopeMapName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "registryName": autorest.Encode("path", registryName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "scopeMapName": autorest.Encode("path", scopeMapName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/scopeMaps/{scopeMapName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client ScopeMapsClient) DeleteSender(req *http.Request) (future ScopeMapsDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client ScopeMapsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets the properties of the specified scope map. +// Parameters: +// resourceGroupName - the name of the resource group to which the container registry belongs. +// registryName - the name of the container registry. +// scopeMapName - the name of the scope map. +func (client ScopeMapsClient) Get(ctx context.Context, resourceGroupName string, registryName string, scopeMapName string) (result ScopeMap, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ScopeMapsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, + {TargetValue: registryName, + Constraints: []validation.Constraint{{Target: "registryName", Name: validation.MaxLength, Rule: 50, Chain: nil}, + {Target: "registryName", Name: validation.MinLength, Rule: 5, Chain: nil}, + {Target: "registryName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]*$`, Chain: nil}}}, + {TargetValue: scopeMapName, + Constraints: []validation.Constraint{{Target: "scopeMapName", Name: validation.MaxLength, Rule: 50, Chain: nil}, + {Target: "scopeMapName", Name: validation.MinLength, Rule: 5, Chain: nil}, + {Target: "scopeMapName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9-_]*$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("containerregistry.ScopeMapsClient", "Get", err.Error()) + } + + req, err := client.GetPreparer(ctx, resourceGroupName, registryName, scopeMapName) + if err != nil { + err = autorest.NewErrorWithError(err, "containerregistry.ScopeMapsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "containerregistry.ScopeMapsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "containerregistry.ScopeMapsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client ScopeMapsClient) GetPreparer(ctx context.Context, resourceGroupName string, registryName string, scopeMapName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "registryName": autorest.Encode("path", registryName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "scopeMapName": autorest.Encode("path", scopeMapName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/scopeMaps/{scopeMapName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client ScopeMapsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client ScopeMapsClient) GetResponder(resp *http.Response) (result ScopeMap, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List lists all the scope maps for the specified container registry. +// Parameters: +// resourceGroupName - the name of the resource group to which the container registry belongs. +// registryName - the name of the container registry. +func (client ScopeMapsClient) List(ctx context.Context, resourceGroupName string, registryName string) (result ScopeMapListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ScopeMapsClient.List") + defer func() { + sc := -1 + if result.smlr.Response.Response != nil { + sc = result.smlr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, + {TargetValue: registryName, + Constraints: []validation.Constraint{{Target: "registryName", Name: validation.MaxLength, Rule: 50, Chain: nil}, + {Target: "registryName", Name: validation.MinLength, Rule: 5, Chain: nil}, + {Target: "registryName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]*$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("containerregistry.ScopeMapsClient", "List", err.Error()) + } + + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName, registryName) + if err != nil { + err = autorest.NewErrorWithError(err, "containerregistry.ScopeMapsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.smlr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "containerregistry.ScopeMapsClient", "List", resp, "Failure sending request") + return + } + + result.smlr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "containerregistry.ScopeMapsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client ScopeMapsClient) ListPreparer(ctx context.Context, resourceGroupName string, registryName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "registryName": autorest.Encode("path", registryName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/scopeMaps", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client ScopeMapsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client ScopeMapsClient) ListResponder(resp *http.Response) (result ScopeMapListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client ScopeMapsClient) listNextResults(ctx context.Context, lastResults ScopeMapListResult) (result ScopeMapListResult, err error) { + req, err := lastResults.scopeMapListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "containerregistry.ScopeMapsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "containerregistry.ScopeMapsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "containerregistry.ScopeMapsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client ScopeMapsClient) ListComplete(ctx context.Context, resourceGroupName string, registryName string) (result ScopeMapListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ScopeMapsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName, registryName) + return +} + +// Update updates a scope map with the specified parameters. +// Parameters: +// resourceGroupName - the name of the resource group to which the container registry belongs. +// registryName - the name of the container registry. +// scopeMapName - the name of the scope map. +// scopeMapUpdateParameters - the parameters for updating a scope map. +func (client ScopeMapsClient) Update(ctx context.Context, resourceGroupName string, registryName string, scopeMapName string, scopeMapUpdateParameters ScopeMapUpdateParameters) (result ScopeMapsUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ScopeMapsClient.Update") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, + {TargetValue: registryName, + Constraints: []validation.Constraint{{Target: "registryName", Name: validation.MaxLength, Rule: 50, Chain: nil}, + {Target: "registryName", Name: validation.MinLength, Rule: 5, Chain: nil}, + {Target: "registryName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]*$`, Chain: nil}}}, + {TargetValue: scopeMapName, + Constraints: []validation.Constraint{{Target: "scopeMapName", Name: validation.MaxLength, Rule: 50, Chain: nil}, + {Target: "scopeMapName", Name: validation.MinLength, Rule: 5, Chain: nil}, + {Target: "scopeMapName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9-_]*$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("containerregistry.ScopeMapsClient", "Update", err.Error()) + } + + req, err := client.UpdatePreparer(ctx, resourceGroupName, registryName, scopeMapName, scopeMapUpdateParameters) + if err != nil { + err = autorest.NewErrorWithError(err, "containerregistry.ScopeMapsClient", "Update", nil, "Failure preparing request") + return + } + + result, err = client.UpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "containerregistry.ScopeMapsClient", "Update", result.Response(), "Failure sending request") + return + } + + return +} + +// UpdatePreparer prepares the Update request. +func (client ScopeMapsClient) UpdatePreparer(ctx context.Context, resourceGroupName string, registryName string, scopeMapName string, scopeMapUpdateParameters ScopeMapUpdateParameters) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "registryName": autorest.Encode("path", registryName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "scopeMapName": autorest.Encode("path", scopeMapName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/scopeMaps/{scopeMapName}", pathParameters), + autorest.WithJSON(scopeMapUpdateParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateSender sends the Update request. The method will close the +// http.Response Body if it receives an error. +func (client ScopeMapsClient) UpdateSender(req *http.Request) (future ScopeMapsUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// UpdateResponder handles the response to the Update request. The method always +// closes the http.Response Body. +func (client ScopeMapsClient) UpdateResponder(resp *http.Response) (result ScopeMap, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/containerregistry/mgmt/2019-06-01-preview/containerregistry/tokens.go b/services/containerregistry/mgmt/2019-06-01-preview/containerregistry/tokens.go new file mode 100644 index 000000000000..8a3dafead703 --- /dev/null +++ b/services/containerregistry/mgmt/2019-06-01-preview/containerregistry/tokens.go @@ -0,0 +1,544 @@ +package containerregistry + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// TokensClient is the client for the Tokens methods of the Containerregistry service. +type TokensClient struct { + BaseClient +} + +// NewTokensClient creates an instance of the TokensClient client. +func NewTokensClient(subscriptionID string) TokensClient { + return NewTokensClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewTokensClientWithBaseURI creates an instance of the TokensClient client. +func NewTokensClientWithBaseURI(baseURI string, subscriptionID string) TokensClient { + return TokensClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// Create creates a token for a container registry with the specified parameters. +// Parameters: +// resourceGroupName - the name of the resource group to which the container registry belongs. +// registryName - the name of the container registry. +// tokenName - the name of the token. +// tokenCreateParameters - the parameters for creating a token. +func (client TokensClient) Create(ctx context.Context, resourceGroupName string, registryName string, tokenName string, tokenCreateParameters Token) (result TokensCreateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/TokensClient.Create") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, + {TargetValue: registryName, + Constraints: []validation.Constraint{{Target: "registryName", Name: validation.MaxLength, Rule: 50, Chain: nil}, + {Target: "registryName", Name: validation.MinLength, Rule: 5, Chain: nil}, + {Target: "registryName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]*$`, Chain: nil}}}, + {TargetValue: tokenName, + Constraints: []validation.Constraint{{Target: "tokenName", Name: validation.MaxLength, Rule: 50, Chain: nil}, + {Target: "tokenName", Name: validation.MinLength, Rule: 5, Chain: nil}, + {Target: "tokenName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9-]*$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("containerregistry.TokensClient", "Create", err.Error()) + } + + req, err := client.CreatePreparer(ctx, resourceGroupName, registryName, tokenName, tokenCreateParameters) + if err != nil { + err = autorest.NewErrorWithError(err, "containerregistry.TokensClient", "Create", nil, "Failure preparing request") + return + } + + result, err = client.CreateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "containerregistry.TokensClient", "Create", result.Response(), "Failure sending request") + return + } + + return +} + +// CreatePreparer prepares the Create request. +func (client TokensClient) CreatePreparer(ctx context.Context, resourceGroupName string, registryName string, tokenName string, tokenCreateParameters Token) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "registryName": autorest.Encode("path", registryName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "tokenName": autorest.Encode("path", tokenName), + } + + const APIVersion = "2019-05-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/tokens/{tokenName}", pathParameters), + autorest.WithJSON(tokenCreateParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateSender sends the Create request. The method will close the +// http.Response Body if it receives an error. +func (client TokensClient) CreateSender(req *http.Request) (future TokensCreateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateResponder handles the response to the Create request. The method always +// closes the http.Response Body. +func (client TokensClient) CreateResponder(resp *http.Response) (result Token, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes a token from a container registry. +// Parameters: +// resourceGroupName - the name of the resource group to which the container registry belongs. +// registryName - the name of the container registry. +// tokenName - the name of the token. +func (client TokensClient) Delete(ctx context.Context, resourceGroupName string, registryName string, tokenName string) (result TokensDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/TokensClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, + {TargetValue: registryName, + Constraints: []validation.Constraint{{Target: "registryName", Name: validation.MaxLength, Rule: 50, Chain: nil}, + {Target: "registryName", Name: validation.MinLength, Rule: 5, Chain: nil}, + {Target: "registryName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]*$`, Chain: nil}}}, + {TargetValue: tokenName, + Constraints: []validation.Constraint{{Target: "tokenName", Name: validation.MaxLength, Rule: 50, Chain: nil}, + {Target: "tokenName", Name: validation.MinLength, Rule: 5, Chain: nil}, + {Target: "tokenName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9-]*$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("containerregistry.TokensClient", "Delete", err.Error()) + } + + req, err := client.DeletePreparer(ctx, resourceGroupName, registryName, tokenName) + if err != nil { + err = autorest.NewErrorWithError(err, "containerregistry.TokensClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "containerregistry.TokensClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client TokensClient) DeletePreparer(ctx context.Context, resourceGroupName string, registryName string, tokenName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "registryName": autorest.Encode("path", registryName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "tokenName": autorest.Encode("path", tokenName), + } + + const APIVersion = "2019-05-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/tokens/{tokenName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client TokensClient) DeleteSender(req *http.Request) (future TokensDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client TokensClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets the properties of the specified token. +// Parameters: +// resourceGroupName - the name of the resource group to which the container registry belongs. +// registryName - the name of the container registry. +// tokenName - the name of the token. +func (client TokensClient) Get(ctx context.Context, resourceGroupName string, registryName string, tokenName string) (result Token, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/TokensClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, + {TargetValue: registryName, + Constraints: []validation.Constraint{{Target: "registryName", Name: validation.MaxLength, Rule: 50, Chain: nil}, + {Target: "registryName", Name: validation.MinLength, Rule: 5, Chain: nil}, + {Target: "registryName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]*$`, Chain: nil}}}, + {TargetValue: tokenName, + Constraints: []validation.Constraint{{Target: "tokenName", Name: validation.MaxLength, Rule: 50, Chain: nil}, + {Target: "tokenName", Name: validation.MinLength, Rule: 5, Chain: nil}, + {Target: "tokenName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9-]*$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("containerregistry.TokensClient", "Get", err.Error()) + } + + req, err := client.GetPreparer(ctx, resourceGroupName, registryName, tokenName) + if err != nil { + err = autorest.NewErrorWithError(err, "containerregistry.TokensClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "containerregistry.TokensClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "containerregistry.TokensClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client TokensClient) GetPreparer(ctx context.Context, resourceGroupName string, registryName string, tokenName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "registryName": autorest.Encode("path", registryName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "tokenName": autorest.Encode("path", tokenName), + } + + const APIVersion = "2019-05-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/tokens/{tokenName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client TokensClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client TokensClient) GetResponder(resp *http.Response) (result Token, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List lists all the tokens for the specified container registry. +// Parameters: +// resourceGroupName - the name of the resource group to which the container registry belongs. +// registryName - the name of the container registry. +func (client TokensClient) List(ctx context.Context, resourceGroupName string, registryName string) (result TokenListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/TokensClient.List") + defer func() { + sc := -1 + if result.tlr.Response.Response != nil { + sc = result.tlr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, + {TargetValue: registryName, + Constraints: []validation.Constraint{{Target: "registryName", Name: validation.MaxLength, Rule: 50, Chain: nil}, + {Target: "registryName", Name: validation.MinLength, Rule: 5, Chain: nil}, + {Target: "registryName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]*$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("containerregistry.TokensClient", "List", err.Error()) + } + + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName, registryName) + if err != nil { + err = autorest.NewErrorWithError(err, "containerregistry.TokensClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.tlr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "containerregistry.TokensClient", "List", resp, "Failure sending request") + return + } + + result.tlr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "containerregistry.TokensClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client TokensClient) ListPreparer(ctx context.Context, resourceGroupName string, registryName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "registryName": autorest.Encode("path", registryName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/tokens", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client TokensClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client TokensClient) ListResponder(resp *http.Response) (result TokenListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client TokensClient) listNextResults(ctx context.Context, lastResults TokenListResult) (result TokenListResult, err error) { + req, err := lastResults.tokenListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "containerregistry.TokensClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "containerregistry.TokensClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "containerregistry.TokensClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client TokensClient) ListComplete(ctx context.Context, resourceGroupName string, registryName string) (result TokenListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/TokensClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName, registryName) + return +} + +// Update updates a token with the specified parameters. +// Parameters: +// resourceGroupName - the name of the resource group to which the container registry belongs. +// registryName - the name of the container registry. +// tokenName - the name of the token. +// tokenUpdateParameters - the parameters for updating a token. +func (client TokensClient) Update(ctx context.Context, resourceGroupName string, registryName string, tokenName string, tokenUpdateParameters TokenUpdateParameters) (result TokensUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/TokensClient.Update") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, + {TargetValue: registryName, + Constraints: []validation.Constraint{{Target: "registryName", Name: validation.MaxLength, Rule: 50, Chain: nil}, + {Target: "registryName", Name: validation.MinLength, Rule: 5, Chain: nil}, + {Target: "registryName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]*$`, Chain: nil}}}, + {TargetValue: tokenName, + Constraints: []validation.Constraint{{Target: "tokenName", Name: validation.MaxLength, Rule: 50, Chain: nil}, + {Target: "tokenName", Name: validation.MinLength, Rule: 5, Chain: nil}, + {Target: "tokenName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9-]*$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("containerregistry.TokensClient", "Update", err.Error()) + } + + req, err := client.UpdatePreparer(ctx, resourceGroupName, registryName, tokenName, tokenUpdateParameters) + if err != nil { + err = autorest.NewErrorWithError(err, "containerregistry.TokensClient", "Update", nil, "Failure preparing request") + return + } + + result, err = client.UpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "containerregistry.TokensClient", "Update", result.Response(), "Failure sending request") + return + } + + return +} + +// UpdatePreparer prepares the Update request. +func (client TokensClient) UpdatePreparer(ctx context.Context, resourceGroupName string, registryName string, tokenName string, tokenUpdateParameters TokenUpdateParameters) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "registryName": autorest.Encode("path", registryName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "tokenName": autorest.Encode("path", tokenName), + } + + const APIVersion = "2019-05-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerRegistry/registries/{registryName}/tokens/{tokenName}", pathParameters), + autorest.WithJSON(tokenUpdateParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateSender sends the Update request. The method will close the +// http.Response Body if it receives an error. +func (client TokensClient) UpdateSender(req *http.Request) (future TokensUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// UpdateResponder handles the response to the Update request. The method always +// closes the http.Response Body. +func (client TokensClient) UpdateResponder(resp *http.Response) (result Token, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/containerservice/mgmt/2019-06-01/containerservice/agentpools.go b/services/containerservice/mgmt/2019-06-01/containerservice/agentpools.go index 2c081639c1c3..da2471917fa4 100644 --- a/services/containerservice/mgmt/2019-06-01/containerservice/agentpools.go +++ b/services/containerservice/mgmt/2019-06-01/containerservice/agentpools.go @@ -321,8 +321,7 @@ func (client AgentPoolsClient) GetResponder(resp *http.Response) (result AgentPo // Parameters: // resourceGroupName - the name of the resource group. // resourceName - the name of the managed cluster resource. -// agentPoolName - the name of the agent pool. -func (client AgentPoolsClient) GetAvailableAgentPoolVersions(ctx context.Context, resourceGroupName string, resourceName string, agentPoolName string) (result AgentPoolAvailableVersions, err error) { +func (client AgentPoolsClient) GetAvailableAgentPoolVersions(ctx context.Context, resourceGroupName string, resourceName string) (result AgentPoolAvailableVersions, err error) { if tracing.IsEnabled() { ctx = tracing.StartSpan(ctx, fqdn+"/AgentPoolsClient.GetAvailableAgentPoolVersions") defer func() { @@ -343,7 +342,7 @@ func (client AgentPoolsClient) GetAvailableAgentPoolVersions(ctx context.Context return result, validation.NewError("containerservice.AgentPoolsClient", "GetAvailableAgentPoolVersions", err.Error()) } - req, err := client.GetAvailableAgentPoolVersionsPreparer(ctx, resourceGroupName, resourceName, agentPoolName) + req, err := client.GetAvailableAgentPoolVersionsPreparer(ctx, resourceGroupName, resourceName) if err != nil { err = autorest.NewErrorWithError(err, "containerservice.AgentPoolsClient", "GetAvailableAgentPoolVersions", nil, "Failure preparing request") return @@ -365,9 +364,8 @@ func (client AgentPoolsClient) GetAvailableAgentPoolVersions(ctx context.Context } // GetAvailableAgentPoolVersionsPreparer prepares the GetAvailableAgentPoolVersions request. -func (client AgentPoolsClient) GetAvailableAgentPoolVersionsPreparer(ctx context.Context, resourceGroupName string, resourceName string, agentPoolName string) (*http.Request, error) { +func (client AgentPoolsClient) GetAvailableAgentPoolVersionsPreparer(ctx context.Context, resourceGroupName string, resourceName string) (*http.Request, error) { pathParameters := map[string]interface{}{ - "agentPoolName": autorest.Encode("path", agentPoolName), "resourceGroupName": autorest.Encode("path", resourceGroupName), "resourceName": autorest.Encode("path", resourceName), "subscriptionId": autorest.Encode("path", client.SubscriptionID), @@ -381,7 +379,7 @@ func (client AgentPoolsClient) GetAvailableAgentPoolVersionsPreparer(ctx context preparer := autorest.CreatePreparer( autorest.AsGet(), autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/availableAgentPoolVersions", pathParameters), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/availableAgentPoolVersions", pathParameters), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) } diff --git a/services/containerservice/mgmt/2019-06-01/containerservice/containerserviceapi/interfaces.go b/services/containerservice/mgmt/2019-06-01/containerservice/containerserviceapi/interfaces.go index b0b214fa4c91..124d366f18ae 100644 --- a/services/containerservice/mgmt/2019-06-01/containerservice/containerserviceapi/interfaces.go +++ b/services/containerservice/mgmt/2019-06-01/containerservice/containerserviceapi/interfaces.go @@ -76,7 +76,7 @@ type AgentPoolsClientAPI interface { CreateOrUpdate(ctx context.Context, resourceGroupName string, resourceName string, agentPoolName string, parameters containerservice.AgentPool) (result containerservice.AgentPoolsCreateOrUpdateFuture, err error) Delete(ctx context.Context, resourceGroupName string, resourceName string, agentPoolName string) (result containerservice.AgentPoolsDeleteFuture, err error) Get(ctx context.Context, resourceGroupName string, resourceName string, agentPoolName string) (result containerservice.AgentPool, err error) - GetAvailableAgentPoolVersions(ctx context.Context, resourceGroupName string, resourceName string, agentPoolName string) (result containerservice.AgentPoolAvailableVersions, err error) + GetAvailableAgentPoolVersions(ctx context.Context, resourceGroupName string, resourceName string) (result containerservice.AgentPoolAvailableVersions, err error) GetUpgradeProfile(ctx context.Context, resourceGroupName string, resourceName string, agentPoolName string) (result containerservice.AgentPoolUpgradeProfile, err error) List(ctx context.Context, resourceGroupName string, resourceName string) (result containerservice.AgentPoolListResultPage, err error) } diff --git a/services/containerservice/mgmt/2019-08-01/containerservice/agentpools.go b/services/containerservice/mgmt/2019-08-01/containerservice/agentpools.go index 9a6f1e9c79a6..0deeb2385425 100644 --- a/services/containerservice/mgmt/2019-08-01/containerservice/agentpools.go +++ b/services/containerservice/mgmt/2019-08-01/containerservice/agentpools.go @@ -321,8 +321,7 @@ func (client AgentPoolsClient) GetResponder(resp *http.Response) (result AgentPo // Parameters: // resourceGroupName - the name of the resource group. // resourceName - the name of the managed cluster resource. -// agentPoolName - the name of the agent pool. -func (client AgentPoolsClient) GetAvailableAgentPoolVersions(ctx context.Context, resourceGroupName string, resourceName string, agentPoolName string) (result AgentPoolAvailableVersions, err error) { +func (client AgentPoolsClient) GetAvailableAgentPoolVersions(ctx context.Context, resourceGroupName string, resourceName string) (result AgentPoolAvailableVersions, err error) { if tracing.IsEnabled() { ctx = tracing.StartSpan(ctx, fqdn+"/AgentPoolsClient.GetAvailableAgentPoolVersions") defer func() { @@ -343,7 +342,7 @@ func (client AgentPoolsClient) GetAvailableAgentPoolVersions(ctx context.Context return result, validation.NewError("containerservice.AgentPoolsClient", "GetAvailableAgentPoolVersions", err.Error()) } - req, err := client.GetAvailableAgentPoolVersionsPreparer(ctx, resourceGroupName, resourceName, agentPoolName) + req, err := client.GetAvailableAgentPoolVersionsPreparer(ctx, resourceGroupName, resourceName) if err != nil { err = autorest.NewErrorWithError(err, "containerservice.AgentPoolsClient", "GetAvailableAgentPoolVersions", nil, "Failure preparing request") return @@ -365,9 +364,8 @@ func (client AgentPoolsClient) GetAvailableAgentPoolVersions(ctx context.Context } // GetAvailableAgentPoolVersionsPreparer prepares the GetAvailableAgentPoolVersions request. -func (client AgentPoolsClient) GetAvailableAgentPoolVersionsPreparer(ctx context.Context, resourceGroupName string, resourceName string, agentPoolName string) (*http.Request, error) { +func (client AgentPoolsClient) GetAvailableAgentPoolVersionsPreparer(ctx context.Context, resourceGroupName string, resourceName string) (*http.Request, error) { pathParameters := map[string]interface{}{ - "agentPoolName": autorest.Encode("path", agentPoolName), "resourceGroupName": autorest.Encode("path", resourceGroupName), "resourceName": autorest.Encode("path", resourceName), "subscriptionId": autorest.Encode("path", client.SubscriptionID), @@ -381,7 +379,7 @@ func (client AgentPoolsClient) GetAvailableAgentPoolVersionsPreparer(ctx context preparer := autorest.CreatePreparer( autorest.AsGet(), autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/availableAgentPoolVersions", pathParameters), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/availableAgentPoolVersions", pathParameters), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) } diff --git a/services/containerservice/mgmt/2019-08-01/containerservice/containerserviceapi/interfaces.go b/services/containerservice/mgmt/2019-08-01/containerservice/containerserviceapi/interfaces.go index 562e17423989..73b71104a658 100644 --- a/services/containerservice/mgmt/2019-08-01/containerservice/containerserviceapi/interfaces.go +++ b/services/containerservice/mgmt/2019-08-01/containerservice/containerserviceapi/interfaces.go @@ -76,7 +76,7 @@ type AgentPoolsClientAPI interface { CreateOrUpdate(ctx context.Context, resourceGroupName string, resourceName string, agentPoolName string, parameters containerservice.AgentPool) (result containerservice.AgentPoolsCreateOrUpdateFuture, err error) Delete(ctx context.Context, resourceGroupName string, resourceName string, agentPoolName string) (result containerservice.AgentPoolsDeleteFuture, err error) Get(ctx context.Context, resourceGroupName string, resourceName string, agentPoolName string) (result containerservice.AgentPool, err error) - GetAvailableAgentPoolVersions(ctx context.Context, resourceGroupName string, resourceName string, agentPoolName string) (result containerservice.AgentPoolAvailableVersions, err error) + GetAvailableAgentPoolVersions(ctx context.Context, resourceGroupName string, resourceName string) (result containerservice.AgentPoolAvailableVersions, err error) GetUpgradeProfile(ctx context.Context, resourceGroupName string, resourceName string, agentPoolName string) (result containerservice.AgentPoolUpgradeProfile, err error) List(ctx context.Context, resourceGroupName string, resourceName string) (result containerservice.AgentPoolListResultPage, err error) } diff --git a/services/cosmos-db/mgmt/2015-04-08/documentdb/models.go b/services/cosmos-db/mgmt/2015-04-08/documentdb/models.go index a5a9a238d4f1..16b7c393ebe4 100644 --- a/services/cosmos-db/mgmt/2015-04-08/documentdb/models.go +++ b/services/cosmos-db/mgmt/2015-04-08/documentdb/models.go @@ -211,8 +211,8 @@ const ( PrimaryAggregationTypeLast PrimaryAggregationType = "Last" // PrimaryAggregationTypeMaximum ... PrimaryAggregationTypeMaximum PrimaryAggregationType = "Maximum" - // PrimaryAggregationTypeMinimimum ... - PrimaryAggregationTypeMinimimum PrimaryAggregationType = "Minimimum" + // PrimaryAggregationTypeMinimum ... + PrimaryAggregationTypeMinimum PrimaryAggregationType = "Minimum" // PrimaryAggregationTypeNone ... PrimaryAggregationTypeNone PrimaryAggregationType = "None" // PrimaryAggregationTypeTotal ... @@ -221,7 +221,7 @@ const ( // PossiblePrimaryAggregationTypeValues returns an array of possible values for the PrimaryAggregationType const type. func PossiblePrimaryAggregationTypeValues() []PrimaryAggregationType { - return []PrimaryAggregationType{PrimaryAggregationTypeAverage, PrimaryAggregationTypeLast, PrimaryAggregationTypeMaximum, PrimaryAggregationTypeMinimimum, PrimaryAggregationTypeNone, PrimaryAggregationTypeTotal} + return []PrimaryAggregationType{PrimaryAggregationTypeAverage, PrimaryAggregationTypeLast, PrimaryAggregationTypeMaximum, PrimaryAggregationTypeMinimum, PrimaryAggregationTypeNone, PrimaryAggregationTypeTotal} } // UnitType enumerates the values for unit type. @@ -2480,7 +2480,7 @@ type MetricAvailability struct { type MetricDefinition struct { // MetricAvailabilities - READ-ONLY; The list of metric availabilities for the account. MetricAvailabilities *[]MetricAvailability `json:"metricAvailabilities,omitempty"` - // PrimaryAggregationType - READ-ONLY; The primary aggregation type of the metric. Possible values include: 'PrimaryAggregationTypeNone', 'PrimaryAggregationTypeAverage', 'PrimaryAggregationTypeTotal', 'PrimaryAggregationTypeMinimimum', 'PrimaryAggregationTypeMaximum', 'PrimaryAggregationTypeLast' + // PrimaryAggregationType - READ-ONLY; The primary aggregation type of the metric. Possible values include: 'PrimaryAggregationTypeNone', 'PrimaryAggregationTypeAverage', 'PrimaryAggregationTypeTotal', 'PrimaryAggregationTypeMinimum', 'PrimaryAggregationTypeMaximum', 'PrimaryAggregationTypeLast' PrimaryAggregationType PrimaryAggregationType `json:"primaryAggregationType,omitempty"` // Unit - The unit of the metric. Possible values include: 'Count', 'Bytes', 'Seconds', 'Percent', 'CountPerSecond', 'BytesPerSecond', 'Milliseconds' Unit UnitType `json:"unit,omitempty"` diff --git a/services/cosmos-db/mongodb/client.go b/services/cosmos-db/mongodb/client.go deleted file mode 100644 index 50ac8ae55acd..000000000000 --- a/services/cosmos-db/mongodb/client.go +++ /dev/null @@ -1,117 +0,0 @@ -// Package mongodb provides Mongo DB dataplane clients for Microsoft Azure CosmosDb Services. -package mongodb - -// Copyright 2017 Microsoft Corporation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -import ( - "context" - "crypto/tls" - "fmt" - "net" - "strings" - - "github.com/Azure/azure-sdk-for-go/services/cosmos-db/mgmt/2015-04-08/documentdb" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/adal" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/globalsign/mgo" -) - -const ( - cosmosDbConnectionPort = 10255 -) - -// NewMongoDBClientWithConnectionString returns a MongoDb session to communicate with CosmosDB using a connection string. -func NewMongoDBClientWithConnectionString(connectionString string) (*mgo.Session, error) { - - // strip out the "ssl=true" option as MongoDb driver does not support by default SSL. - connectionString = strings.Replace(connectionString, "ssl=true", "", -1) - dialInfo, err := mgo.ParseURL(connectionString) - - if err != nil { - return nil, err - } - - return NewMongoDBClient(dialInfo) -} - -// NewMongoDBClientWithCredentials returns a MongoDb session to communicate with CosmosDB using a username and a password. -func NewMongoDBClientWithCredentials(username, password, host string) (*mgo.Session, error) { - - dialInfo := &mgo.DialInfo{ - Addrs: []string{fmt.Sprintf("%s:%d", host, cosmosDbConnectionPort)}, - Username: username, - Password: password, - } - - return NewMongoDBClient(dialInfo) -} - -// NewMongoDBClientWithSPToken returns a session to communicate with CosmosDB using an auth token. -func NewMongoDBClientWithSPToken(spToken *adal.ServicePrincipalToken, subscriptionID, resourceGroup, account string, environment azure.Environment) (*mgo.Session, error) { - - authorizer := autorest.NewBearerAuthorizer(spToken) - - cosmosDbClient := documentdb.NewDatabaseAccountsClientWithBaseURI(environment.ResourceManagerEndpoint, subscriptionID) - cosmosDbClient.Authorizer = authorizer - cosmosDbClient.AddToUserAgent("dataplane mongodb") - - result, err := cosmosDbClient.ListConnectionStrings(context.Background(), resourceGroup, account) - - if err != nil { - return nil, err - } - - connectionStrings := *result.ConnectionStrings - - for _, connectionString := range connectionStrings { - session, err := NewMongoDBClientWithConnectionString(*connectionString.ConnectionString) - - if session != nil && err == nil { - return session, nil - } - } - - return nil, err -} - -// NewMongoDBClientWithMSI returns a MongoDB session to communicate with CosmosDB using MSI. -func NewMongoDBClientWithMSI(subscriptionID, resourceGroup, account string, environment azure.Environment) (*mgo.Session, error) { - - msiEndpoint, err := adal.GetMSIVMEndpoint() - spToken, err := adal.NewServicePrincipalTokenFromMSI(msiEndpoint, environment.ResourceManagerEndpoint) - - if err != nil { - return nil, err - } - - return NewMongoDBClientWithSPToken(spToken, subscriptionID, resourceGroup, account, environment) -} - -// NewMongoDBClient returns a MongoDB session to communicate with CosmosDB. -func NewMongoDBClient(dialInfo *mgo.DialInfo) (*mgo.Session, error) { - - dialInfo.DialServer = func(addr *mgo.ServerAddr) (net.Conn, error) { - return tls.Dial("tcp", addr.String(), &tls.Config{}) - } - - session, err := mgo.DialWithInfo(dialInfo) - - if err != nil { - return nil, err - } - - return session, nil -} diff --git a/services/preview/devspaces/mgmt/2018-06-01-preview/devspaces/client.go b/services/databox/mgmt/2019-09-01/databox/client.go similarity index 84% rename from services/preview/devspaces/mgmt/2018-06-01-preview/devspaces/client.go rename to services/databox/mgmt/2019-09-01/databox/client.go index ee2fccaf0732..48425d265a05 100644 --- a/services/preview/devspaces/mgmt/2018-06-01-preview/devspaces/client.go +++ b/services/databox/mgmt/2019-09-01/databox/client.go @@ -1,7 +1,7 @@ -// Package devspaces implements the Azure ARM Devspaces service API version 2018-06-01-preview. +// Package databox implements the Azure ARM Databox service API version 2019-09-01. // -// Dev Spaces Client -package devspaces +// +package databox // Copyright (c) Microsoft and contributors. All rights reserved. // @@ -25,11 +25,11 @@ import ( ) const ( - // DefaultBaseURI is the default URI used for the service Devspaces + // DefaultBaseURI is the default URI used for the service Databox DefaultBaseURI = "https://management.azure.com" ) -// BaseClient is the base client for Devspaces. +// BaseClient is the base client for Databox. type BaseClient struct { autorest.Client BaseURI string diff --git a/services/databox/mgmt/2019-09-01/databox/databoxapi/interfaces.go b/services/databox/mgmt/2019-09-01/databox/databoxapi/interfaces.go new file mode 100644 index 000000000000..6a3e0c9c84da --- /dev/null +++ b/services/databox/mgmt/2019-09-01/databox/databoxapi/interfaces.go @@ -0,0 +1,58 @@ +package databoxapi + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/azure-sdk-for-go/services/databox/mgmt/2019-09-01/databox" + "github.com/Azure/go-autorest/autorest" +) + +// OperationsClientAPI contains the set of methods on the OperationsClient type. +type OperationsClientAPI interface { + List(ctx context.Context) (result databox.OperationListPage, err error) +} + +var _ OperationsClientAPI = (*databox.OperationsClient)(nil) + +// JobsClientAPI contains the set of methods on the JobsClient type. +type JobsClientAPI interface { + BookShipmentPickUp(ctx context.Context, resourceGroupName string, jobName string, shipmentPickUpRequest databox.ShipmentPickUpRequest) (result databox.ShipmentPickUpResponse, err error) + Cancel(ctx context.Context, resourceGroupName string, jobName string, cancellationReason databox.CancellationReason) (result autorest.Response, err error) + Create(ctx context.Context, resourceGroupName string, jobName string, jobResource databox.JobResource) (result databox.JobsCreateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, jobName string) (result databox.JobsDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, jobName string, expand string) (result databox.JobResource, err error) + List(ctx context.Context, skipToken string) (result databox.JobResourceListPage, err error) + ListByResourceGroup(ctx context.Context, resourceGroupName string, skipToken string) (result databox.JobResourceListPage, err error) + ListCredentials(ctx context.Context, resourceGroupName string, jobName string) (result databox.UnencryptedCredentialsList, err error) + Update(ctx context.Context, resourceGroupName string, jobName string, jobResourceUpdateParameter databox.JobResourceUpdateParameter, ifMatch string) (result databox.JobsUpdateFuture, err error) +} + +var _ JobsClientAPI = (*databox.JobsClient)(nil) + +// ServiceClientAPI contains the set of methods on the ServiceClient type. +type ServiceClientAPI interface { + ListAvailableSkus(ctx context.Context, location string, availableSkuRequest databox.AvailableSkuRequest) (result databox.AvailableSkusResultPage, err error) + ListAvailableSkusByResourceGroup(ctx context.Context, resourceGroupName string, location string, availableSkuRequest databox.AvailableSkuRequest) (result databox.AvailableSkusResultPage, err error) + RegionConfiguration(ctx context.Context, location string, regionConfigurationRequest databox.RegionConfigurationRequest) (result databox.RegionConfigurationResponse, err error) + ValidateAddressMethod(ctx context.Context, location string, validateAddress databox.ValidateAddress) (result databox.AddressValidationOutput, err error) + ValidateInputs(ctx context.Context, location string, validationRequest databox.BasicValidationRequest) (result databox.ValidationResponse, err error) + ValidateInputsByResourceGroup(ctx context.Context, resourceGroupName string, location string, validationRequest databox.BasicValidationRequest) (result databox.ValidationResponse, err error) +} + +var _ ServiceClientAPI = (*databox.ServiceClient)(nil) diff --git a/services/databox/mgmt/2019-09-01/databox/jobs.go b/services/databox/mgmt/2019-09-01/databox/jobs.go new file mode 100644 index 000000000000..485c00ed6310 --- /dev/null +++ b/services/databox/mgmt/2019-09-01/databox/jobs.go @@ -0,0 +1,922 @@ +package databox + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// JobsClient is the client for the Jobs methods of the Databox service. +type JobsClient struct { + BaseClient +} + +// NewJobsClient creates an instance of the JobsClient client. +func NewJobsClient(subscriptionID string) JobsClient { + return NewJobsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewJobsClientWithBaseURI creates an instance of the JobsClient client. +func NewJobsClientWithBaseURI(baseURI string, subscriptionID string) JobsClient { + return JobsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// BookShipmentPickUp book shipment pick up. +// Parameters: +// resourceGroupName - the Resource Group Name +// jobName - the name of the job Resource within the specified resource group. job names must be between 3 and +// 24 characters in length and use any alphanumeric and underscore only +// shipmentPickUpRequest - details of shipment pick up request. +func (client JobsClient) BookShipmentPickUp(ctx context.Context, resourceGroupName string, jobName string, shipmentPickUpRequest ShipmentPickUpRequest) (result ShipmentPickUpResponse, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/JobsClient.BookShipmentPickUp") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: jobName, + Constraints: []validation.Constraint{{Target: "jobName", Name: validation.MaxLength, Rule: 24, Chain: nil}, + {Target: "jobName", Name: validation.MinLength, Rule: 3, Chain: nil}, + {Target: "jobName", Name: validation.Pattern, Rule: `^[-\w\.]+$`, Chain: nil}}}, + {TargetValue: shipmentPickUpRequest, + Constraints: []validation.Constraint{{Target: "shipmentPickUpRequest.StartTime", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "shipmentPickUpRequest.EndTime", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "shipmentPickUpRequest.ShipmentLocation", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + return result, validation.NewError("databox.JobsClient", "BookShipmentPickUp", err.Error()) + } + + req, err := client.BookShipmentPickUpPreparer(ctx, resourceGroupName, jobName, shipmentPickUpRequest) + if err != nil { + err = autorest.NewErrorWithError(err, "databox.JobsClient", "BookShipmentPickUp", nil, "Failure preparing request") + return + } + + resp, err := client.BookShipmentPickUpSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "databox.JobsClient", "BookShipmentPickUp", resp, "Failure sending request") + return + } + + result, err = client.BookShipmentPickUpResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "databox.JobsClient", "BookShipmentPickUp", resp, "Failure responding to request") + } + + return +} + +// BookShipmentPickUpPreparer prepares the BookShipmentPickUp request. +func (client JobsClient) BookShipmentPickUpPreparer(ctx context.Context, resourceGroupName string, jobName string, shipmentPickUpRequest ShipmentPickUpRequest) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "jobName": autorest.Encode("path", jobName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-09-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}/bookShipmentPickUp", pathParameters), + autorest.WithJSON(shipmentPickUpRequest), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// BookShipmentPickUpSender sends the BookShipmentPickUp request. The method will close the +// http.Response Body if it receives an error. +func (client JobsClient) BookShipmentPickUpSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// BookShipmentPickUpResponder handles the response to the BookShipmentPickUp request. The method always +// closes the http.Response Body. +func (client JobsClient) BookShipmentPickUpResponder(resp *http.Response) (result ShipmentPickUpResponse, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Cancel cancelJob. +// Parameters: +// resourceGroupName - the Resource Group Name +// jobName - the name of the job Resource within the specified resource group. job names must be between 3 and +// 24 characters in length and use any alphanumeric and underscore only +// cancellationReason - reason for cancellation. +func (client JobsClient) Cancel(ctx context.Context, resourceGroupName string, jobName string, cancellationReason CancellationReason) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/JobsClient.Cancel") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: jobName, + Constraints: []validation.Constraint{{Target: "jobName", Name: validation.MaxLength, Rule: 24, Chain: nil}, + {Target: "jobName", Name: validation.MinLength, Rule: 3, Chain: nil}, + {Target: "jobName", Name: validation.Pattern, Rule: `^[-\w\.]+$`, Chain: nil}}}, + {TargetValue: cancellationReason, + Constraints: []validation.Constraint{{Target: "cancellationReason.Reason", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + return result, validation.NewError("databox.JobsClient", "Cancel", err.Error()) + } + + req, err := client.CancelPreparer(ctx, resourceGroupName, jobName, cancellationReason) + if err != nil { + err = autorest.NewErrorWithError(err, "databox.JobsClient", "Cancel", nil, "Failure preparing request") + return + } + + resp, err := client.CancelSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "databox.JobsClient", "Cancel", resp, "Failure sending request") + return + } + + result, err = client.CancelResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "databox.JobsClient", "Cancel", resp, "Failure responding to request") + } + + return +} + +// CancelPreparer prepares the Cancel request. +func (client JobsClient) CancelPreparer(ctx context.Context, resourceGroupName string, jobName string, cancellationReason CancellationReason) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "jobName": autorest.Encode("path", jobName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-09-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}/cancel", pathParameters), + autorest.WithJSON(cancellationReason), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CancelSender sends the Cancel request. The method will close the +// http.Response Body if it receives an error. +func (client JobsClient) CancelSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CancelResponder handles the response to the Cancel request. The method always +// closes the http.Response Body. +func (client JobsClient) CancelResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Create creates a new job with the specified parameters. Existing job cannot be updated with this API and should +// instead be updated with the Update job API. +// Parameters: +// resourceGroupName - the Resource Group Name +// jobName - the name of the job Resource within the specified resource group. job names must be between 3 and +// 24 characters in length and use any alphanumeric and underscore only +// jobResource - job details from request body. +func (client JobsClient) Create(ctx context.Context, resourceGroupName string, jobName string, jobResource JobResource) (result JobsCreateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/JobsClient.Create") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: jobName, + Constraints: []validation.Constraint{{Target: "jobName", Name: validation.MaxLength, Rule: 24, Chain: nil}, + {Target: "jobName", Name: validation.MinLength, Rule: 3, Chain: nil}, + {Target: "jobName", Name: validation.Pattern, Rule: `^[-\w\.]+$`, Chain: nil}}}, + {TargetValue: jobResource, + Constraints: []validation.Constraint{{Target: "jobResource.JobProperties", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "jobResource.JobProperties.Details", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "jobResource.JobProperties.Details.ContactDetails", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "jobResource.JobProperties.Details.ContactDetails.ContactName", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "jobResource.JobProperties.Details.ContactDetails.Phone", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "jobResource.JobProperties.Details.ContactDetails.EmailList", Name: validation.Null, Rule: true, Chain: nil}, + }}, + {Target: "jobResource.JobProperties.Details.ShippingAddress", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "jobResource.JobProperties.Details.ShippingAddress.StreetAddress1", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "jobResource.JobProperties.Details.ShippingAddress.Country", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "jobResource.JobProperties.Details.ShippingAddress.PostalCode", Name: validation.Null, Rule: true, Chain: nil}, + }}, + {Target: "jobResource.JobProperties.Details.DestinationAccountDetails", Name: validation.Null, Rule: true, Chain: nil}, + }}, + }}}}}); err != nil { + return result, validation.NewError("databox.JobsClient", "Create", err.Error()) + } + + req, err := client.CreatePreparer(ctx, resourceGroupName, jobName, jobResource) + if err != nil { + err = autorest.NewErrorWithError(err, "databox.JobsClient", "Create", nil, "Failure preparing request") + return + } + + result, err = client.CreateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "databox.JobsClient", "Create", result.Response(), "Failure sending request") + return + } + + return +} + +// CreatePreparer prepares the Create request. +func (client JobsClient) CreatePreparer(ctx context.Context, resourceGroupName string, jobName string, jobResource JobResource) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "jobName": autorest.Encode("path", jobName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-09-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + jobResource.Name = nil + jobResource.ID = nil + jobResource.Type = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}", pathParameters), + autorest.WithJSON(jobResource), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateSender sends the Create request. The method will close the +// http.Response Body if it receives an error. +func (client JobsClient) CreateSender(req *http.Request) (future JobsCreateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateResponder handles the response to the Create request. The method always +// closes the http.Response Body. +func (client JobsClient) CreateResponder(resp *http.Response) (result JobResource, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes a job. +// Parameters: +// resourceGroupName - the Resource Group Name +// jobName - the name of the job Resource within the specified resource group. job names must be between 3 and +// 24 characters in length and use any alphanumeric and underscore only +func (client JobsClient) Delete(ctx context.Context, resourceGroupName string, jobName string) (result JobsDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/JobsClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: jobName, + Constraints: []validation.Constraint{{Target: "jobName", Name: validation.MaxLength, Rule: 24, Chain: nil}, + {Target: "jobName", Name: validation.MinLength, Rule: 3, Chain: nil}, + {Target: "jobName", Name: validation.Pattern, Rule: `^[-\w\.]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("databox.JobsClient", "Delete", err.Error()) + } + + req, err := client.DeletePreparer(ctx, resourceGroupName, jobName) + if err != nil { + err = autorest.NewErrorWithError(err, "databox.JobsClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "databox.JobsClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client JobsClient) DeletePreparer(ctx context.Context, resourceGroupName string, jobName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "jobName": autorest.Encode("path", jobName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-09-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client JobsClient) DeleteSender(req *http.Request) (future JobsDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client JobsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets information about the specified job. +// Parameters: +// resourceGroupName - the Resource Group Name +// jobName - the name of the job Resource within the specified resource group. job names must be between 3 and +// 24 characters in length and use any alphanumeric and underscore only +// expand - $expand is supported on details parameter for job, which provides details on the job stages. +func (client JobsClient) Get(ctx context.Context, resourceGroupName string, jobName string, expand string) (result JobResource, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/JobsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: jobName, + Constraints: []validation.Constraint{{Target: "jobName", Name: validation.MaxLength, Rule: 24, Chain: nil}, + {Target: "jobName", Name: validation.MinLength, Rule: 3, Chain: nil}, + {Target: "jobName", Name: validation.Pattern, Rule: `^[-\w\.]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("databox.JobsClient", "Get", err.Error()) + } + + req, err := client.GetPreparer(ctx, resourceGroupName, jobName, expand) + if err != nil { + err = autorest.NewErrorWithError(err, "databox.JobsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "databox.JobsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "databox.JobsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client JobsClient) GetPreparer(ctx context.Context, resourceGroupName string, jobName string, expand string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "jobName": autorest.Encode("path", jobName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-09-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(expand) > 0 { + queryParameters["$expand"] = autorest.Encode("query", expand) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client JobsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client JobsClient) GetResponder(resp *http.Response) (result JobResource, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List lists all the jobs available under the subscription. +// Parameters: +// skipToken - $skipToken is supported on Get list of jobs, which provides the next page in the list of jobs. +func (client JobsClient) List(ctx context.Context, skipToken string) (result JobResourceListPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/JobsClient.List") + defer func() { + sc := -1 + if result.jrl.Response.Response != nil { + sc = result.jrl.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, skipToken) + if err != nil { + err = autorest.NewErrorWithError(err, "databox.JobsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.jrl.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "databox.JobsClient", "List", resp, "Failure sending request") + return + } + + result.jrl, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "databox.JobsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client JobsClient) ListPreparer(ctx context.Context, skipToken string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-09-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(skipToken) > 0 { + queryParameters["$skipToken"] = autorest.Encode("query", skipToken) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.DataBox/jobs", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client JobsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client JobsClient) ListResponder(resp *http.Response) (result JobResourceList, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client JobsClient) listNextResults(ctx context.Context, lastResults JobResourceList) (result JobResourceList, err error) { + req, err := lastResults.jobResourceListPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "databox.JobsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "databox.JobsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "databox.JobsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client JobsClient) ListComplete(ctx context.Context, skipToken string) (result JobResourceListIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/JobsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, skipToken) + return +} + +// ListByResourceGroup lists all the jobs available under the given resource group. +// Parameters: +// resourceGroupName - the Resource Group Name +// skipToken - $skipToken is supported on Get list of jobs, which provides the next page in the list of jobs. +func (client JobsClient) ListByResourceGroup(ctx context.Context, resourceGroupName string, skipToken string) (result JobResourceListPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/JobsClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.jrl.Response.Response != nil { + sc = result.jrl.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listByResourceGroupNextResults + req, err := client.ListByResourceGroupPreparer(ctx, resourceGroupName, skipToken) + if err != nil { + err = autorest.NewErrorWithError(err, "databox.JobsClient", "ListByResourceGroup", nil, "Failure preparing request") + return + } + + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.jrl.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "databox.JobsClient", "ListByResourceGroup", resp, "Failure sending request") + return + } + + result.jrl, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "databox.JobsClient", "ListByResourceGroup", resp, "Failure responding to request") + } + + return +} + +// ListByResourceGroupPreparer prepares the ListByResourceGroup request. +func (client JobsClient) ListByResourceGroupPreparer(ctx context.Context, resourceGroupName string, skipToken string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-09-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(skipToken) > 0 { + queryParameters["$skipToken"] = autorest.Encode("query", skipToken) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByResourceGroupSender sends the ListByResourceGroup request. The method will close the +// http.Response Body if it receives an error. +func (client JobsClient) ListByResourceGroupSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByResourceGroupResponder handles the response to the ListByResourceGroup request. The method always +// closes the http.Response Body. +func (client JobsClient) ListByResourceGroupResponder(resp *http.Response) (result JobResourceList, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listByResourceGroupNextResults retrieves the next set of results, if any. +func (client JobsClient) listByResourceGroupNextResults(ctx context.Context, lastResults JobResourceList) (result JobResourceList, err error) { + req, err := lastResults.jobResourceListPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "databox.JobsClient", "listByResourceGroupNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "databox.JobsClient", "listByResourceGroupNextResults", resp, "Failure sending next results request") + } + result, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "databox.JobsClient", "listByResourceGroupNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListByResourceGroupComplete enumerates all values, automatically crossing page boundaries as required. +func (client JobsClient) ListByResourceGroupComplete(ctx context.Context, resourceGroupName string, skipToken string) (result JobResourceListIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/JobsClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListByResourceGroup(ctx, resourceGroupName, skipToken) + return +} + +// ListCredentials this method gets the unencrypted secrets related to the job. +// Parameters: +// resourceGroupName - the Resource Group Name +// jobName - the name of the job Resource within the specified resource group. job names must be between 3 and +// 24 characters in length and use any alphanumeric and underscore only +func (client JobsClient) ListCredentials(ctx context.Context, resourceGroupName string, jobName string) (result UnencryptedCredentialsList, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/JobsClient.ListCredentials") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: jobName, + Constraints: []validation.Constraint{{Target: "jobName", Name: validation.MaxLength, Rule: 24, Chain: nil}, + {Target: "jobName", Name: validation.MinLength, Rule: 3, Chain: nil}, + {Target: "jobName", Name: validation.Pattern, Rule: `^[-\w\.]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("databox.JobsClient", "ListCredentials", err.Error()) + } + + req, err := client.ListCredentialsPreparer(ctx, resourceGroupName, jobName) + if err != nil { + err = autorest.NewErrorWithError(err, "databox.JobsClient", "ListCredentials", nil, "Failure preparing request") + return + } + + resp, err := client.ListCredentialsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "databox.JobsClient", "ListCredentials", resp, "Failure sending request") + return + } + + result, err = client.ListCredentialsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "databox.JobsClient", "ListCredentials", resp, "Failure responding to request") + } + + return +} + +// ListCredentialsPreparer prepares the ListCredentials request. +func (client JobsClient) ListCredentialsPreparer(ctx context.Context, resourceGroupName string, jobName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "jobName": autorest.Encode("path", jobName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-09-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}/listCredentials", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListCredentialsSender sends the ListCredentials request. The method will close the +// http.Response Body if it receives an error. +func (client JobsClient) ListCredentialsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListCredentialsResponder handles the response to the ListCredentials request. The method always +// closes the http.Response Body. +func (client JobsClient) ListCredentialsResponder(resp *http.Response) (result UnencryptedCredentialsList, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Update updates the properties of an existing job. +// Parameters: +// resourceGroupName - the Resource Group Name +// jobName - the name of the job Resource within the specified resource group. job names must be between 3 and +// 24 characters in length and use any alphanumeric and underscore only +// jobResourceUpdateParameter - job update parameters from request body. +// ifMatch - defines the If-Match condition. The patch will be performed only if the ETag of the job on the +// server matches this value. +func (client JobsClient) Update(ctx context.Context, resourceGroupName string, jobName string, jobResourceUpdateParameter JobResourceUpdateParameter, ifMatch string) (result JobsUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/JobsClient.Update") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: jobName, + Constraints: []validation.Constraint{{Target: "jobName", Name: validation.MaxLength, Rule: 24, Chain: nil}, + {Target: "jobName", Name: validation.MinLength, Rule: 3, Chain: nil}, + {Target: "jobName", Name: validation.Pattern, Rule: `^[-\w\.]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("databox.JobsClient", "Update", err.Error()) + } + + req, err := client.UpdatePreparer(ctx, resourceGroupName, jobName, jobResourceUpdateParameter, ifMatch) + if err != nil { + err = autorest.NewErrorWithError(err, "databox.JobsClient", "Update", nil, "Failure preparing request") + return + } + + result, err = client.UpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "databox.JobsClient", "Update", result.Response(), "Failure sending request") + return + } + + return +} + +// UpdatePreparer prepares the Update request. +func (client JobsClient) UpdatePreparer(ctx context.Context, resourceGroupName string, jobName string, jobResourceUpdateParameter JobResourceUpdateParameter, ifMatch string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "jobName": autorest.Encode("path", jobName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-09-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/jobs/{jobName}", pathParameters), + autorest.WithJSON(jobResourceUpdateParameter), + autorest.WithQueryParameters(queryParameters)) + if len(ifMatch) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("If-Match", autorest.String(ifMatch))) + } + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateSender sends the Update request. The method will close the +// http.Response Body if it receives an error. +func (client JobsClient) UpdateSender(req *http.Request) (future JobsUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// UpdateResponder handles the response to the Update request. The method always +// closes the http.Response Body. +func (client JobsClient) UpdateResponder(resp *http.Response) (result JobResource, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/databox/mgmt/2019-09-01/databox/models.go b/services/databox/mgmt/2019-09-01/databox/models.go new file mode 100644 index 000000000000..31c896fda21d --- /dev/null +++ b/services/databox/mgmt/2019-09-01/databox/models.go @@ -0,0 +1,5220 @@ +package databox + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "encoding/json" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/date" + "github.com/Azure/go-autorest/autorest/to" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// The package's fully qualified name. +const fqdn = "github.com/Azure/azure-sdk-for-go/services/databox/mgmt/2019-09-01/databox" + +// AccessProtocol enumerates the values for access protocol. +type AccessProtocol string + +const ( + // NFS Network File System protocol(NFS). + NFS AccessProtocol = "NFS" + // SMB Server Message Block protocol(SMB). + SMB AccessProtocol = "SMB" +) + +// PossibleAccessProtocolValues returns an array of possible values for the AccessProtocol const type. +func PossibleAccessProtocolValues() []AccessProtocol { + return []AccessProtocol{NFS, SMB} +} + +// AddressType enumerates the values for address type. +type AddressType string + +const ( + // Commercial Commercial Address. + Commercial AddressType = "Commercial" + // None Address type not known. + None AddressType = "None" + // Residential Residential Address. + Residential AddressType = "Residential" +) + +// PossibleAddressTypeValues returns an array of possible values for the AddressType const type. +func PossibleAddressTypeValues() []AddressType { + return []AddressType{Commercial, None, Residential} +} + +// AddressValidationStatus enumerates the values for address validation status. +type AddressValidationStatus string + +const ( + // Ambiguous Address provided is ambiguous, please choose one of the alternate addresses returned. + Ambiguous AddressValidationStatus = "Ambiguous" + // Invalid Address provided is invalid or not supported. + Invalid AddressValidationStatus = "Invalid" + // Valid Address provided is valid. + Valid AddressValidationStatus = "Valid" +) + +// PossibleAddressValidationStatusValues returns an array of possible values for the AddressValidationStatus const type. +func PossibleAddressValidationStatusValues() []AddressValidationStatus { + return []AddressValidationStatus{Ambiguous, Invalid, Valid} +} + +// CopyLogDetailsType enumerates the values for copy log details type. +type CopyLogDetailsType string + +const ( + // CopyLogDetailsTypeCopyLogDetails ... + CopyLogDetailsTypeCopyLogDetails CopyLogDetailsType = "CopyLogDetails" + // CopyLogDetailsTypeDataBox ... + CopyLogDetailsTypeDataBox CopyLogDetailsType = "DataBox" + // CopyLogDetailsTypeDataBoxDisk ... + CopyLogDetailsTypeDataBoxDisk CopyLogDetailsType = "DataBoxDisk" + // CopyLogDetailsTypeDataBoxHeavy ... + CopyLogDetailsTypeDataBoxHeavy CopyLogDetailsType = "DataBoxHeavy" +) + +// PossibleCopyLogDetailsTypeValues returns an array of possible values for the CopyLogDetailsType const type. +func PossibleCopyLogDetailsTypeValues() []CopyLogDetailsType { + return []CopyLogDetailsType{CopyLogDetailsTypeCopyLogDetails, CopyLogDetailsTypeDataBox, CopyLogDetailsTypeDataBoxDisk, CopyLogDetailsTypeDataBoxHeavy} +} + +// CopyStatus enumerates the values for copy status. +type CopyStatus string + +const ( + // Completed Data copy completed. + Completed CopyStatus = "Completed" + // CompletedWithErrors Data copy completed with errors. + CompletedWithErrors CopyStatus = "CompletedWithErrors" + // DeviceFormatted Data copy failed. The Device was formatted by user. + DeviceFormatted CopyStatus = "DeviceFormatted" + // DeviceMetadataModified Data copy failed. Device metadata was modified by user. + DeviceMetadataModified CopyStatus = "DeviceMetadataModified" + // Failed Data copy failed. No data was copied. + Failed CopyStatus = "Failed" + // HardwareError The Device has hit hardware issues. + HardwareError CopyStatus = "HardwareError" + // InProgress Data copy is in progress. + InProgress CopyStatus = "InProgress" + // NotReturned No copy triggered as device was not returned. + NotReturned CopyStatus = "NotReturned" + // NotStarted Data copy hasn't started yet. + NotStarted CopyStatus = "NotStarted" + // StorageAccountNotAccessible Data copy failed. Storage Account was not accessible during copy. + StorageAccountNotAccessible CopyStatus = "StorageAccountNotAccessible" + // UnsupportedData Data copy failed. The Device data content is not supported. + UnsupportedData CopyStatus = "UnsupportedData" +) + +// PossibleCopyStatusValues returns an array of possible values for the CopyStatus const type. +func PossibleCopyStatusValues() []CopyStatus { + return []CopyStatus{Completed, CompletedWithErrors, DeviceFormatted, DeviceMetadataModified, Failed, HardwareError, InProgress, NotReturned, NotStarted, StorageAccountNotAccessible, UnsupportedData} +} + +// DataDestinationType enumerates the values for data destination type. +type DataDestinationType string + +const ( + // ManagedDisk Azure Managed disk storage. + ManagedDisk DataDestinationType = "ManagedDisk" + // StorageAccount Storage Accounts . + StorageAccount DataDestinationType = "StorageAccount" +) + +// PossibleDataDestinationTypeValues returns an array of possible values for the DataDestinationType const type. +func PossibleDataDestinationTypeValues() []DataDestinationType { + return []DataDestinationType{ManagedDisk, StorageAccount} +} + +// DataDestinationTypeBasicDestinationAccountDetails enumerates the values for data destination type basic +// destination account details. +type DataDestinationTypeBasicDestinationAccountDetails string + +const ( + // DataDestinationTypeDestinationAccountDetails ... + DataDestinationTypeDestinationAccountDetails DataDestinationTypeBasicDestinationAccountDetails = "DestinationAccountDetails" + // DataDestinationTypeManagedDisk ... + DataDestinationTypeManagedDisk DataDestinationTypeBasicDestinationAccountDetails = "ManagedDisk" + // DataDestinationTypeStorageAccount ... + DataDestinationTypeStorageAccount DataDestinationTypeBasicDestinationAccountDetails = "StorageAccount" +) + +// PossibleDataDestinationTypeBasicDestinationAccountDetailsValues returns an array of possible values for the DataDestinationTypeBasicDestinationAccountDetails const type. +func PossibleDataDestinationTypeBasicDestinationAccountDetailsValues() []DataDestinationTypeBasicDestinationAccountDetails { + return []DataDestinationTypeBasicDestinationAccountDetails{DataDestinationTypeDestinationAccountDetails, DataDestinationTypeManagedDisk, DataDestinationTypeStorageAccount} +} + +// JobDeliveryType enumerates the values for job delivery type. +type JobDeliveryType string + +const ( + // NonScheduled Non Scheduled job. + NonScheduled JobDeliveryType = "NonScheduled" + // Scheduled Scheduled job. + Scheduled JobDeliveryType = "Scheduled" +) + +// PossibleJobDeliveryTypeValues returns an array of possible values for the JobDeliveryType const type. +func PossibleJobDeliveryTypeValues() []JobDeliveryType { + return []JobDeliveryType{NonScheduled, Scheduled} +} + +// JobDetailsTypeEnum enumerates the values for job details type enum. +type JobDetailsTypeEnum string + +const ( + // JobDetailsTypeDataBox ... + JobDetailsTypeDataBox JobDetailsTypeEnum = "DataBox" + // JobDetailsTypeDataBoxDisk ... + JobDetailsTypeDataBoxDisk JobDetailsTypeEnum = "DataBoxDisk" + // JobDetailsTypeDataBoxHeavy ... + JobDetailsTypeDataBoxHeavy JobDetailsTypeEnum = "DataBoxHeavy" + // JobDetailsTypeJobDetails ... + JobDetailsTypeJobDetails JobDetailsTypeEnum = "JobDetails" +) + +// PossibleJobDetailsTypeEnumValues returns an array of possible values for the JobDetailsTypeEnum const type. +func PossibleJobDetailsTypeEnumValues() []JobDetailsTypeEnum { + return []JobDetailsTypeEnum{JobDetailsTypeDataBox, JobDetailsTypeDataBoxDisk, JobDetailsTypeDataBoxHeavy, JobDetailsTypeJobDetails} +} + +// JobSecretsTypeEnum enumerates the values for job secrets type enum. +type JobSecretsTypeEnum string + +const ( + // JobSecretsTypeDataBox ... + JobSecretsTypeDataBox JobSecretsTypeEnum = "DataBox" + // JobSecretsTypeDataBoxDisk ... + JobSecretsTypeDataBoxDisk JobSecretsTypeEnum = "DataBoxDisk" + // JobSecretsTypeDataBoxHeavy ... + JobSecretsTypeDataBoxHeavy JobSecretsTypeEnum = "DataBoxHeavy" + // JobSecretsTypeJobSecrets ... + JobSecretsTypeJobSecrets JobSecretsTypeEnum = "JobSecrets" +) + +// PossibleJobSecretsTypeEnumValues returns an array of possible values for the JobSecretsTypeEnum const type. +func PossibleJobSecretsTypeEnumValues() []JobSecretsTypeEnum { + return []JobSecretsTypeEnum{JobSecretsTypeDataBox, JobSecretsTypeDataBoxDisk, JobSecretsTypeDataBoxHeavy, JobSecretsTypeJobSecrets} +} + +// NotificationStageName enumerates the values for notification stage name. +type NotificationStageName string + +const ( + // AtAzureDC Notification at device received at azure datacenter stage. + AtAzureDC NotificationStageName = "AtAzureDC" + // DataCopy Notification at data copy started stage. + DataCopy NotificationStageName = "DataCopy" + // Delivered Notification at device delivered stage. + Delivered NotificationStageName = "Delivered" + // DevicePrepared Notification at device prepared stage. + DevicePrepared NotificationStageName = "DevicePrepared" + // Dispatched Notification at device dispatched stage. + Dispatched NotificationStageName = "Dispatched" + // PickedUp Notification at device picked up from user stage. + PickedUp NotificationStageName = "PickedUp" +) + +// PossibleNotificationStageNameValues returns an array of possible values for the NotificationStageName const type. +func PossibleNotificationStageNameValues() []NotificationStageName { + return []NotificationStageName{AtAzureDC, DataCopy, Delivered, DevicePrepared, Dispatched, PickedUp} +} + +// OverallValidationStatus enumerates the values for overall validation status. +type OverallValidationStatus string + +const ( + // AllValidToProceed Every input request is valid. + AllValidToProceed OverallValidationStatus = "AllValidToProceed" + // CertainInputValidationsSkipped Certain input validations skipped. + CertainInputValidationsSkipped OverallValidationStatus = "CertainInputValidationsSkipped" + // InputsRevisitRequired Some input requests are not valid. + InputsRevisitRequired OverallValidationStatus = "InputsRevisitRequired" +) + +// PossibleOverallValidationStatusValues returns an array of possible values for the OverallValidationStatus const type. +func PossibleOverallValidationStatusValues() []OverallValidationStatus { + return []OverallValidationStatus{AllValidToProceed, CertainInputValidationsSkipped, InputsRevisitRequired} +} + +// ShareDestinationFormatType enumerates the values for share destination format type. +type ShareDestinationFormatType string + +const ( + // ShareDestinationFormatTypeAzureFile Azure storage file format. + ShareDestinationFormatTypeAzureFile ShareDestinationFormatType = "AzureFile" + // ShareDestinationFormatTypeBlockBlob Azure storage block blob format. + ShareDestinationFormatTypeBlockBlob ShareDestinationFormatType = "BlockBlob" + // ShareDestinationFormatTypeHCS Storsimple data format. + ShareDestinationFormatTypeHCS ShareDestinationFormatType = "HCS" + // ShareDestinationFormatTypeManagedDisk Azure Compute Disk. + ShareDestinationFormatTypeManagedDisk ShareDestinationFormatType = "ManagedDisk" + // ShareDestinationFormatTypePageBlob Azure storage page blob format. + ShareDestinationFormatTypePageBlob ShareDestinationFormatType = "PageBlob" + // ShareDestinationFormatTypeUnknownType Unknown format. + ShareDestinationFormatTypeUnknownType ShareDestinationFormatType = "UnknownType" +) + +// PossibleShareDestinationFormatTypeValues returns an array of possible values for the ShareDestinationFormatType const type. +func PossibleShareDestinationFormatTypeValues() []ShareDestinationFormatType { + return []ShareDestinationFormatType{ShareDestinationFormatTypeAzureFile, ShareDestinationFormatTypeBlockBlob, ShareDestinationFormatTypeHCS, ShareDestinationFormatTypeManagedDisk, ShareDestinationFormatTypePageBlob, ShareDestinationFormatTypeUnknownType} +} + +// SkuDisabledReason enumerates the values for sku disabled reason. +type SkuDisabledReason string + +const ( + // SkuDisabledReasonCountry SKU is not available in the requested country. + SkuDisabledReasonCountry SkuDisabledReason = "Country" + // SkuDisabledReasonFeature Required features are not enabled for the SKU. + SkuDisabledReasonFeature SkuDisabledReason = "Feature" + // SkuDisabledReasonNone SKU is not disabled. + SkuDisabledReasonNone SkuDisabledReason = "None" + // SkuDisabledReasonNoSubscriptionInfo Subscription has not registered to Microsoft.DataBox and Service + // does not have the subscription notification. + SkuDisabledReasonNoSubscriptionInfo SkuDisabledReason = "NoSubscriptionInfo" + // SkuDisabledReasonOfferType Subscription does not have required offer types for the SKU. + SkuDisabledReasonOfferType SkuDisabledReason = "OfferType" + // SkuDisabledReasonRegion SKU is not available to push data to the requested Azure region. + SkuDisabledReasonRegion SkuDisabledReason = "Region" +) + +// PossibleSkuDisabledReasonValues returns an array of possible values for the SkuDisabledReason const type. +func PossibleSkuDisabledReasonValues() []SkuDisabledReason { + return []SkuDisabledReason{SkuDisabledReasonCountry, SkuDisabledReasonFeature, SkuDisabledReasonNone, SkuDisabledReasonNoSubscriptionInfo, SkuDisabledReasonOfferType, SkuDisabledReasonRegion} +} + +// SkuName enumerates the values for sku name. +type SkuName string + +const ( + // DataBox Databox. + DataBox SkuName = "DataBox" + // DataBoxDisk DataboxDisk. + DataBoxDisk SkuName = "DataBoxDisk" + // DataBoxHeavy DataboxHeavy. + DataBoxHeavy SkuName = "DataBoxHeavy" +) + +// PossibleSkuNameValues returns an array of possible values for the SkuName const type. +func PossibleSkuNameValues() []SkuName { + return []SkuName{DataBox, DataBoxDisk, DataBoxHeavy} +} + +// SkuNameBasicScheduleAvailabilityRequest enumerates the values for sku name basic schedule availability +// request. +type SkuNameBasicScheduleAvailabilityRequest string + +const ( + // SkuNameDataBox ... + SkuNameDataBox SkuNameBasicScheduleAvailabilityRequest = "DataBox" + // SkuNameDataBoxDisk ... + SkuNameDataBoxDisk SkuNameBasicScheduleAvailabilityRequest = "DataBoxDisk" + // SkuNameDataBoxHeavy ... + SkuNameDataBoxHeavy SkuNameBasicScheduleAvailabilityRequest = "DataBoxHeavy" + // SkuNameScheduleAvailabilityRequest ... + SkuNameScheduleAvailabilityRequest SkuNameBasicScheduleAvailabilityRequest = "ScheduleAvailabilityRequest" +) + +// PossibleSkuNameBasicScheduleAvailabilityRequestValues returns an array of possible values for the SkuNameBasicScheduleAvailabilityRequest const type. +func PossibleSkuNameBasicScheduleAvailabilityRequestValues() []SkuNameBasicScheduleAvailabilityRequest { + return []SkuNameBasicScheduleAvailabilityRequest{SkuNameDataBox, SkuNameDataBoxDisk, SkuNameDataBoxHeavy, SkuNameScheduleAvailabilityRequest} +} + +// StageName enumerates the values for stage name. +type StageName string + +const ( + // StageNameAborted Order has been aborted. + StageNameAborted StageName = "Aborted" + // StageNameAtAzureDC Device has been received at azure datacenter from the user. + StageNameAtAzureDC StageName = "AtAzureDC" + // StageNameCancelled Order has been cancelled. + StageNameCancelled StageName = "Cancelled" + // StageNameCompleted Order has completed. + StageNameCompleted StageName = "Completed" + // StageNameCompletedWithErrors Order has completed with errors. + StageNameCompletedWithErrors StageName = "CompletedWithErrors" + // StageNameCompletedWithWarnings Order has completed with warnings. + StageNameCompletedWithWarnings StageName = "CompletedWithWarnings" + // StageNameDataCopy Data copy from the device at azure datacenter. + StageNameDataCopy StageName = "DataCopy" + // StageNameDelivered Device has been delivered to the user of the order. + StageNameDelivered StageName = "Delivered" + // StageNameDeviceOrdered An order has been created. + StageNameDeviceOrdered StageName = "DeviceOrdered" + // StageNameDevicePrepared A device has been prepared for the order. + StageNameDevicePrepared StageName = "DevicePrepared" + // StageNameDispatched Device has been dispatched to the user of the order. + StageNameDispatched StageName = "Dispatched" + // StageNameFailedIssueDetectedAtAzureDC Order has failed due to issue detected at azure datacenter. + StageNameFailedIssueDetectedAtAzureDC StageName = "Failed_IssueDetectedAtAzureDC" + // StageNameFailedIssueReportedAtCustomer Order has failed due to issue reported by user. + StageNameFailedIssueReportedAtCustomer StageName = "Failed_IssueReportedAtCustomer" + // StageNamePickedUp Device has been picked up from user and in transit to azure datacenter. + StageNamePickedUp StageName = "PickedUp" + // StageNameReadyToDispatchFromAzureDC Device is ready to be handed to customer from Azure DC. + StageNameReadyToDispatchFromAzureDC StageName = "ReadyToDispatchFromAzureDC" + // StageNameReadyToReceiveAtAzureDC Device can be dropped off at Azure DC. + StageNameReadyToReceiveAtAzureDC StageName = "ReadyToReceiveAtAzureDC" +) + +// PossibleStageNameValues returns an array of possible values for the StageName const type. +func PossibleStageNameValues() []StageName { + return []StageName{StageNameAborted, StageNameAtAzureDC, StageNameCancelled, StageNameCompleted, StageNameCompletedWithErrors, StageNameCompletedWithWarnings, StageNameDataCopy, StageNameDelivered, StageNameDeviceOrdered, StageNameDevicePrepared, StageNameDispatched, StageNameFailedIssueDetectedAtAzureDC, StageNameFailedIssueReportedAtCustomer, StageNamePickedUp, StageNameReadyToDispatchFromAzureDC, StageNameReadyToReceiveAtAzureDC} +} + +// StageStatus enumerates the values for stage status. +type StageStatus string + +const ( + // StageStatusCancelled Stage has been cancelled. + StageStatusCancelled StageStatus = "Cancelled" + // StageStatusCancelling Stage is cancelling. + StageStatusCancelling StageStatus = "Cancelling" + // StageStatusFailed Stage has failed. + StageStatusFailed StageStatus = "Failed" + // StageStatusInProgress Stage is in progress. + StageStatusInProgress StageStatus = "InProgress" + // StageStatusNone No status available yet. + StageStatusNone StageStatus = "None" + // StageStatusSucceeded Stage has succeeded. + StageStatusSucceeded StageStatus = "Succeeded" + // StageStatusSucceededWithErrors Stage has succeeded with errors. + StageStatusSucceededWithErrors StageStatus = "SucceededWithErrors" +) + +// PossibleStageStatusValues returns an array of possible values for the StageStatus const type. +func PossibleStageStatusValues() []StageStatus { + return []StageStatus{StageStatusCancelled, StageStatusCancelling, StageStatusFailed, StageStatusInProgress, StageStatusNone, StageStatusSucceeded, StageStatusSucceededWithErrors} +} + +// TransportShipmentTypes enumerates the values for transport shipment types. +type TransportShipmentTypes string + +const ( + // CustomerManaged Shipment Logistics is handled by the customer. + CustomerManaged TransportShipmentTypes = "CustomerManaged" + // MicrosoftManaged Shipment Logistics is handled by Microsoft. + MicrosoftManaged TransportShipmentTypes = "MicrosoftManaged" +) + +// PossibleTransportShipmentTypesValues returns an array of possible values for the TransportShipmentTypes const type. +func PossibleTransportShipmentTypesValues() []TransportShipmentTypes { + return []TransportShipmentTypes{CustomerManaged, MicrosoftManaged} +} + +// ValidationCategory enumerates the values for validation category. +type ValidationCategory string + +const ( + // ValidationCategoryJobCreationValidation ... + ValidationCategoryJobCreationValidation ValidationCategory = "JobCreationValidation" + // ValidationCategoryValidationRequest ... + ValidationCategoryValidationRequest ValidationCategory = "ValidationRequest" +) + +// PossibleValidationCategoryValues returns an array of possible values for the ValidationCategory const type. +func PossibleValidationCategoryValues() []ValidationCategory { + return []ValidationCategory{ValidationCategoryJobCreationValidation, ValidationCategoryValidationRequest} +} + +// ValidationStatus enumerates the values for validation status. +type ValidationStatus string + +const ( + // ValidationStatusInvalid Validation is not successful + ValidationStatusInvalid ValidationStatus = "Invalid" + // ValidationStatusSkipped Validation is skipped + ValidationStatusSkipped ValidationStatus = "Skipped" + // ValidationStatusValid Validation is successful + ValidationStatusValid ValidationStatus = "Valid" +) + +// PossibleValidationStatusValues returns an array of possible values for the ValidationStatus const type. +func PossibleValidationStatusValues() []ValidationStatus { + return []ValidationStatus{ValidationStatusInvalid, ValidationStatusSkipped, ValidationStatusValid} +} + +// ValidationType enumerates the values for validation type. +type ValidationType string + +const ( + // ValidationTypeValidateAddress ... + ValidationTypeValidateAddress ValidationType = "ValidateAddress" + // ValidationTypeValidateCreateOrderLimit ... + ValidationTypeValidateCreateOrderLimit ValidationType = "ValidateCreateOrderLimit" + // ValidationTypeValidateDataDestinationDetails ... + ValidationTypeValidateDataDestinationDetails ValidationType = "ValidateDataDestinationDetails" + // ValidationTypeValidatePreferences ... + ValidationTypeValidatePreferences ValidationType = "ValidatePreferences" + // ValidationTypeValidateSkuAvailability ... + ValidationTypeValidateSkuAvailability ValidationType = "ValidateSkuAvailability" + // ValidationTypeValidateSubscriptionIsAllowedToCreateJob ... + ValidationTypeValidateSubscriptionIsAllowedToCreateJob ValidationType = "ValidateSubscriptionIsAllowedToCreateJob" + // ValidationTypeValidationInputRequest ... + ValidationTypeValidationInputRequest ValidationType = "ValidationInputRequest" +) + +// PossibleValidationTypeValues returns an array of possible values for the ValidationType const type. +func PossibleValidationTypeValues() []ValidationType { + return []ValidationType{ValidationTypeValidateAddress, ValidationTypeValidateCreateOrderLimit, ValidationTypeValidateDataDestinationDetails, ValidationTypeValidatePreferences, ValidationTypeValidateSkuAvailability, ValidationTypeValidateSubscriptionIsAllowedToCreateJob, ValidationTypeValidationInputRequest} +} + +// ValidationTypeBasicValidationInputResponse enumerates the values for validation type basic validation input +// response. +type ValidationTypeBasicValidationInputResponse string + +const ( + // ValidationTypeBasicValidationInputResponseValidationTypeValidateAddress ... + ValidationTypeBasicValidationInputResponseValidationTypeValidateAddress ValidationTypeBasicValidationInputResponse = "ValidateAddress" + // ValidationTypeBasicValidationInputResponseValidationTypeValidateCreateOrderLimit ... + ValidationTypeBasicValidationInputResponseValidationTypeValidateCreateOrderLimit ValidationTypeBasicValidationInputResponse = "ValidateCreateOrderLimit" + // ValidationTypeBasicValidationInputResponseValidationTypeValidateDataDestinationDetails ... + ValidationTypeBasicValidationInputResponseValidationTypeValidateDataDestinationDetails ValidationTypeBasicValidationInputResponse = "ValidateDataDestinationDetails" + // ValidationTypeBasicValidationInputResponseValidationTypeValidatePreferences ... + ValidationTypeBasicValidationInputResponseValidationTypeValidatePreferences ValidationTypeBasicValidationInputResponse = "ValidatePreferences" + // ValidationTypeBasicValidationInputResponseValidationTypeValidateSkuAvailability ... + ValidationTypeBasicValidationInputResponseValidationTypeValidateSkuAvailability ValidationTypeBasicValidationInputResponse = "ValidateSkuAvailability" + // ValidationTypeBasicValidationInputResponseValidationTypeValidateSubscriptionIsAllowedToCreateJob ... + ValidationTypeBasicValidationInputResponseValidationTypeValidateSubscriptionIsAllowedToCreateJob ValidationTypeBasicValidationInputResponse = "ValidateSubscriptionIsAllowedToCreateJob" + // ValidationTypeBasicValidationInputResponseValidationTypeValidationInputResponse ... + ValidationTypeBasicValidationInputResponseValidationTypeValidationInputResponse ValidationTypeBasicValidationInputResponse = "ValidationInputResponse" +) + +// PossibleValidationTypeBasicValidationInputResponseValues returns an array of possible values for the ValidationTypeBasicValidationInputResponse const type. +func PossibleValidationTypeBasicValidationInputResponseValues() []ValidationTypeBasicValidationInputResponse { + return []ValidationTypeBasicValidationInputResponse{ValidationTypeBasicValidationInputResponseValidationTypeValidateAddress, ValidationTypeBasicValidationInputResponseValidationTypeValidateCreateOrderLimit, ValidationTypeBasicValidationInputResponseValidationTypeValidateDataDestinationDetails, ValidationTypeBasicValidationInputResponseValidationTypeValidatePreferences, ValidationTypeBasicValidationInputResponseValidationTypeValidateSkuAvailability, ValidationTypeBasicValidationInputResponseValidationTypeValidateSubscriptionIsAllowedToCreateJob, ValidationTypeBasicValidationInputResponseValidationTypeValidationInputResponse} +} + +// AccountCopyLogDetails copy log details for a storage account of a DataBox job +type AccountCopyLogDetails struct { + // AccountName - READ-ONLY; Destination account name. + AccountName *string `json:"accountName,omitempty"` + // CopyLogLink - READ-ONLY; Link for copy logs. + CopyLogLink *string `json:"copyLogLink,omitempty"` + // CopyLogDetailsType - Possible values include: 'CopyLogDetailsTypeCopyLogDetails', 'CopyLogDetailsTypeDataBox', 'CopyLogDetailsTypeDataBoxDisk', 'CopyLogDetailsTypeDataBoxHeavy' + CopyLogDetailsType CopyLogDetailsType `json:"copyLogDetailsType,omitempty"` +} + +// MarshalJSON is the custom marshaler for AccountCopyLogDetails. +func (acld AccountCopyLogDetails) MarshalJSON() ([]byte, error) { + acld.CopyLogDetailsType = CopyLogDetailsTypeDataBox + objectMap := make(map[string]interface{}) + if acld.CopyLogDetailsType != "" { + objectMap["copyLogDetailsType"] = acld.CopyLogDetailsType + } + return json.Marshal(objectMap) +} + +// AsAccountCopyLogDetails is the BasicCopyLogDetails implementation for AccountCopyLogDetails. +func (acld AccountCopyLogDetails) AsAccountCopyLogDetails() (*AccountCopyLogDetails, bool) { + return &acld, true +} + +// AsDiskCopyLogDetails is the BasicCopyLogDetails implementation for AccountCopyLogDetails. +func (acld AccountCopyLogDetails) AsDiskCopyLogDetails() (*DiskCopyLogDetails, bool) { + return nil, false +} + +// AsHeavyAccountCopyLogDetails is the BasicCopyLogDetails implementation for AccountCopyLogDetails. +func (acld AccountCopyLogDetails) AsHeavyAccountCopyLogDetails() (*HeavyAccountCopyLogDetails, bool) { + return nil, false +} + +// AsCopyLogDetails is the BasicCopyLogDetails implementation for AccountCopyLogDetails. +func (acld AccountCopyLogDetails) AsCopyLogDetails() (*CopyLogDetails, bool) { + return nil, false +} + +// AsBasicCopyLogDetails is the BasicCopyLogDetails implementation for AccountCopyLogDetails. +func (acld AccountCopyLogDetails) AsBasicCopyLogDetails() (BasicCopyLogDetails, bool) { + return &acld, true +} + +// AccountCredentialDetails credential details of the account. +type AccountCredentialDetails struct { + // AccountName - READ-ONLY; Name of the account. + AccountName *string `json:"accountName,omitempty"` + // DataDestinationType - READ-ONLY; Data Destination Type. Possible values include: 'StorageAccount', 'ManagedDisk' + DataDestinationType DataDestinationType `json:"dataDestinationType,omitempty"` + // AccountConnectionString - READ-ONLY; Connection string of the account endpoint to use the account as a storage endpoint on the device. + AccountConnectionString *string `json:"accountConnectionString,omitempty"` + // ShareCredentialDetails - READ-ONLY; Per share level unencrypted access credentials. + ShareCredentialDetails *[]ShareCredentialDetails `json:"shareCredentialDetails,omitempty"` +} + +// AddressValidationOutput output of the address validation api. +type AddressValidationOutput struct { + autorest.Response `json:"-"` + // AddressValidationProperties - READ-ONLY; The address validation properties. + *AddressValidationProperties `json:"properties,omitempty"` +} + +// MarshalJSON is the custom marshaler for AddressValidationOutput. +func (avo AddressValidationOutput) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for AddressValidationOutput struct. +func (avo *AddressValidationOutput) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var addressValidationProperties AddressValidationProperties + err = json.Unmarshal(*v, &addressValidationProperties) + if err != nil { + return err + } + avo.AddressValidationProperties = &addressValidationProperties + } + } + } + + return nil +} + +// AddressValidationProperties the address validation output. +type AddressValidationProperties struct { + // ValidationStatus - READ-ONLY; The address validation status. Possible values include: 'Valid', 'Invalid', 'Ambiguous' + ValidationStatus AddressValidationStatus `json:"validationStatus,omitempty"` + // AlternateAddresses - READ-ONLY; List of alternate addresses. + AlternateAddresses *[]ShippingAddress `json:"alternateAddresses,omitempty"` + // Error - READ-ONLY; Error code and message of validation response. + Error *Error `json:"error,omitempty"` + // ValidationType - Possible values include: 'ValidationTypeBasicValidationInputResponseValidationTypeValidationInputResponse', 'ValidationTypeBasicValidationInputResponseValidationTypeValidateAddress', 'ValidationTypeBasicValidationInputResponseValidationTypeValidateCreateOrderLimit', 'ValidationTypeBasicValidationInputResponseValidationTypeValidateDataDestinationDetails', 'ValidationTypeBasicValidationInputResponseValidationTypeValidatePreferences', 'ValidationTypeBasicValidationInputResponseValidationTypeValidateSkuAvailability', 'ValidationTypeBasicValidationInputResponseValidationTypeValidateSubscriptionIsAllowedToCreateJob' + ValidationType ValidationTypeBasicValidationInputResponse `json:"validationType,omitempty"` +} + +// MarshalJSON is the custom marshaler for AddressValidationProperties. +func (avp AddressValidationProperties) MarshalJSON() ([]byte, error) { + avp.ValidationType = ValidationTypeBasicValidationInputResponseValidationTypeValidateAddress + objectMap := make(map[string]interface{}) + if avp.ValidationType != "" { + objectMap["validationType"] = avp.ValidationType + } + return json.Marshal(objectMap) +} + +// AsAddressValidationProperties is the BasicValidationInputResponse implementation for AddressValidationProperties. +func (avp AddressValidationProperties) AsAddressValidationProperties() (*AddressValidationProperties, bool) { + return &avp, true +} + +// AsCreateOrderLimitForSubscriptionValidationResponseProperties is the BasicValidationInputResponse implementation for AddressValidationProperties. +func (avp AddressValidationProperties) AsCreateOrderLimitForSubscriptionValidationResponseProperties() (*CreateOrderLimitForSubscriptionValidationResponseProperties, bool) { + return nil, false +} + +// AsDataDestinationDetailsValidationResponseProperties is the BasicValidationInputResponse implementation for AddressValidationProperties. +func (avp AddressValidationProperties) AsDataDestinationDetailsValidationResponseProperties() (*DataDestinationDetailsValidationResponseProperties, bool) { + return nil, false +} + +// AsPreferencesValidationResponseProperties is the BasicValidationInputResponse implementation for AddressValidationProperties. +func (avp AddressValidationProperties) AsPreferencesValidationResponseProperties() (*PreferencesValidationResponseProperties, bool) { + return nil, false +} + +// AsSkuAvailabilityValidationResponseProperties is the BasicValidationInputResponse implementation for AddressValidationProperties. +func (avp AddressValidationProperties) AsSkuAvailabilityValidationResponseProperties() (*SkuAvailabilityValidationResponseProperties, bool) { + return nil, false +} + +// AsSubscriptionIsAllowedToCreateJobValidationResponseProperties is the BasicValidationInputResponse implementation for AddressValidationProperties. +func (avp AddressValidationProperties) AsSubscriptionIsAllowedToCreateJobValidationResponseProperties() (*SubscriptionIsAllowedToCreateJobValidationResponseProperties, bool) { + return nil, false +} + +// AsValidationInputResponse is the BasicValidationInputResponse implementation for AddressValidationProperties. +func (avp AddressValidationProperties) AsValidationInputResponse() (*ValidationInputResponse, bool) { + return nil, false +} + +// AsBasicValidationInputResponse is the BasicValidationInputResponse implementation for AddressValidationProperties. +func (avp AddressValidationProperties) AsBasicValidationInputResponse() (BasicValidationInputResponse, bool) { + return &avp, true +} + +// ApplianceNetworkConfiguration the Network Adapter configuration of a DataBox. +type ApplianceNetworkConfiguration struct { + // Name - READ-ONLY; Name of the network. + Name *string `json:"name,omitempty"` + // MacAddress - READ-ONLY; Mac Address. + MacAddress *string `json:"macAddress,omitempty"` +} + +// ArmBaseObject base class for all objects under resource. +type ArmBaseObject struct { + // Name - READ-ONLY; Name of the object. + Name *string `json:"name,omitempty"` + // ID - READ-ONLY; Id of the object. + ID *string `json:"id,omitempty"` + // Type - READ-ONLY; Type of the object. + Type *string `json:"type,omitempty"` +} + +// AvailableSkuRequest the filters for showing the available skus. +type AvailableSkuRequest struct { + // TransferType - Type of the transfer. + TransferType *string `json:"transferType,omitempty"` + // Country - ISO country code. Country for hardware shipment. For codes check: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements + Country *string `json:"country,omitempty"` + // Location - Location for data transfer. For locations check: https://management.azure.com/subscriptions/SUBSCRIPTIONID/locations?api-version=2018-01-01 + Location *string `json:"location,omitempty"` + // SkuNames - Sku Names to filter for available skus + SkuNames *[]SkuName `json:"skuNames,omitempty"` +} + +// AvailableSkusResult the available skus operation response. +type AvailableSkusResult struct { + autorest.Response `json:"-"` + // Value - READ-ONLY; List of available skus. + Value *[]SkuInformation `json:"value,omitempty"` + // NextLink - Link for the next set of skus. + NextLink *string `json:"nextLink,omitempty"` +} + +// AvailableSkusResultIterator provides access to a complete listing of SkuInformation values. +type AvailableSkusResultIterator struct { + i int + page AvailableSkusResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *AvailableSkusResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AvailableSkusResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *AvailableSkusResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter AvailableSkusResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter AvailableSkusResultIterator) Response() AvailableSkusResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter AvailableSkusResultIterator) Value() SkuInformation { + if !iter.page.NotDone() { + return SkuInformation{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the AvailableSkusResultIterator type. +func NewAvailableSkusResultIterator(page AvailableSkusResultPage) AvailableSkusResultIterator { + return AvailableSkusResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (asr AvailableSkusResult) IsEmpty() bool { + return asr.Value == nil || len(*asr.Value) == 0 +} + +// availableSkusResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (asr AvailableSkusResult) availableSkusResultPreparer(ctx context.Context) (*http.Request, error) { + if asr.NextLink == nil || len(to.String(asr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(asr.NextLink))) +} + +// AvailableSkusResultPage contains a page of SkuInformation values. +type AvailableSkusResultPage struct { + fn func(context.Context, AvailableSkusResult) (AvailableSkusResult, error) + asr AvailableSkusResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *AvailableSkusResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AvailableSkusResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.asr) + if err != nil { + return err + } + page.asr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *AvailableSkusResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page AvailableSkusResultPage) NotDone() bool { + return !page.asr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page AvailableSkusResultPage) Response() AvailableSkusResult { + return page.asr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page AvailableSkusResultPage) Values() []SkuInformation { + if page.asr.IsEmpty() { + return nil + } + return *page.asr.Value +} + +// Creates a new instance of the AvailableSkusResultPage type. +func NewAvailableSkusResultPage(getNextPage func(context.Context, AvailableSkusResult) (AvailableSkusResult, error)) AvailableSkusResultPage { + return AvailableSkusResultPage{fn: getNextPage} +} + +// CancellationReason reason for cancellation. +type CancellationReason struct { + // Reason - Reason for cancellation. + Reason *string `json:"reason,omitempty"` +} + +// CloudError the error information object. +type CloudError struct { + // Code - READ-ONLY; Error code string. + Code *string `json:"code,omitempty"` + // Message - READ-ONLY; Descriptive error information. + Message *string `json:"message,omitempty"` + // Target - Error target + Target *string `json:"target,omitempty"` + // Details - More detailed error information. + Details *[]CloudError `json:"details,omitempty"` +} + +// ContactDetails contact Details. +type ContactDetails struct { + // ContactName - Contact name of the person. + ContactName *string `json:"contactName,omitempty"` + // Phone - Phone number of the contact person. + Phone *string `json:"phone,omitempty"` + // PhoneExtension - Phone extension number of the contact person. + PhoneExtension *string `json:"phoneExtension,omitempty"` + // Mobile - Mobile number of the contact person. + Mobile *string `json:"mobile,omitempty"` + // EmailList - List of Email-ids to be notified about job progress. + EmailList *[]string `json:"emailList,omitempty"` + // NotificationPreference - Notification preference for a job stage. + NotificationPreference *[]NotificationPreference `json:"notificationPreference,omitempty"` +} + +// BasicCopyLogDetails details for log generated during copy. +type BasicCopyLogDetails interface { + AsAccountCopyLogDetails() (*AccountCopyLogDetails, bool) + AsDiskCopyLogDetails() (*DiskCopyLogDetails, bool) + AsHeavyAccountCopyLogDetails() (*HeavyAccountCopyLogDetails, bool) + AsCopyLogDetails() (*CopyLogDetails, bool) +} + +// CopyLogDetails details for log generated during copy. +type CopyLogDetails struct { + // CopyLogDetailsType - Possible values include: 'CopyLogDetailsTypeCopyLogDetails', 'CopyLogDetailsTypeDataBox', 'CopyLogDetailsTypeDataBoxDisk', 'CopyLogDetailsTypeDataBoxHeavy' + CopyLogDetailsType CopyLogDetailsType `json:"copyLogDetailsType,omitempty"` +} + +func unmarshalBasicCopyLogDetails(body []byte) (BasicCopyLogDetails, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["copyLogDetailsType"] { + case string(CopyLogDetailsTypeDataBox): + var acld AccountCopyLogDetails + err := json.Unmarshal(body, &acld) + return acld, err + case string(CopyLogDetailsTypeDataBoxDisk): + var dcld DiskCopyLogDetails + err := json.Unmarshal(body, &dcld) + return dcld, err + case string(CopyLogDetailsTypeDataBoxHeavy): + var hacld HeavyAccountCopyLogDetails + err := json.Unmarshal(body, &hacld) + return hacld, err + default: + var cld CopyLogDetails + err := json.Unmarshal(body, &cld) + return cld, err + } +} +func unmarshalBasicCopyLogDetailsArray(body []byte) ([]BasicCopyLogDetails, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + cldArray := make([]BasicCopyLogDetails, len(rawMessages)) + + for index, rawMessage := range rawMessages { + cld, err := unmarshalBasicCopyLogDetails(*rawMessage) + if err != nil { + return nil, err + } + cldArray[index] = cld + } + return cldArray, nil +} + +// MarshalJSON is the custom marshaler for CopyLogDetails. +func (cld CopyLogDetails) MarshalJSON() ([]byte, error) { + cld.CopyLogDetailsType = CopyLogDetailsTypeCopyLogDetails + objectMap := make(map[string]interface{}) + if cld.CopyLogDetailsType != "" { + objectMap["copyLogDetailsType"] = cld.CopyLogDetailsType + } + return json.Marshal(objectMap) +} + +// AsAccountCopyLogDetails is the BasicCopyLogDetails implementation for CopyLogDetails. +func (cld CopyLogDetails) AsAccountCopyLogDetails() (*AccountCopyLogDetails, bool) { + return nil, false +} + +// AsDiskCopyLogDetails is the BasicCopyLogDetails implementation for CopyLogDetails. +func (cld CopyLogDetails) AsDiskCopyLogDetails() (*DiskCopyLogDetails, bool) { + return nil, false +} + +// AsHeavyAccountCopyLogDetails is the BasicCopyLogDetails implementation for CopyLogDetails. +func (cld CopyLogDetails) AsHeavyAccountCopyLogDetails() (*HeavyAccountCopyLogDetails, bool) { + return nil, false +} + +// AsCopyLogDetails is the BasicCopyLogDetails implementation for CopyLogDetails. +func (cld CopyLogDetails) AsCopyLogDetails() (*CopyLogDetails, bool) { + return &cld, true +} + +// AsBasicCopyLogDetails is the BasicCopyLogDetails implementation for CopyLogDetails. +func (cld CopyLogDetails) AsBasicCopyLogDetails() (BasicCopyLogDetails, bool) { + return &cld, true +} + +// CopyProgress copy progress. +type CopyProgress struct { + // StorageAccountName - READ-ONLY; Name of the storage account where the data needs to be uploaded. + StorageAccountName *string `json:"storageAccountName,omitempty"` + // DataDestinationType - READ-ONLY; Data Destination Type. Possible values include: 'StorageAccount', 'ManagedDisk' + DataDestinationType DataDestinationType `json:"dataDestinationType,omitempty"` + // AccountID - READ-ONLY; Id of the account where the data needs to be uploaded. + AccountID *string `json:"accountId,omitempty"` + // BytesSentToCloud - READ-ONLY; Amount of data uploaded by the job as of now. + BytesSentToCloud *int64 `json:"bytesSentToCloud,omitempty"` + // TotalBytesToProcess - READ-ONLY; Total amount of data to be processed by the job. + TotalBytesToProcess *int64 `json:"totalBytesToProcess,omitempty"` + // FilesProcessed - READ-ONLY; Number of files processed by the job as of now. + FilesProcessed *int64 `json:"filesProcessed,omitempty"` + // TotalFilesToProcess - READ-ONLY; Total number of files to be processed by the job. + TotalFilesToProcess *int64 `json:"totalFilesToProcess,omitempty"` + // InvalidFilesProcessed - READ-ONLY; Number of files not adhering to azure naming conventions which were processed by automatic renaming + InvalidFilesProcessed *int64 `json:"invalidFilesProcessed,omitempty"` + // InvalidFileBytesUploaded - READ-ONLY; Total amount of data not adhering to azure naming conventions which were processed by automatic renaming + InvalidFileBytesUploaded *int64 `json:"invalidFileBytesUploaded,omitempty"` + // RenamedContainerCount - READ-ONLY; Number of folders not adhering to azure naming conventions which were processed by automatic renaming + RenamedContainerCount *int64 `json:"renamedContainerCount,omitempty"` + // FilesErroredOut - READ-ONLY; Number of files which could not be copied + FilesErroredOut *int64 `json:"filesErroredOut,omitempty"` +} + +// CreateJobValidations it does all pre-job creation validations. +type CreateJobValidations struct { + // IndividualRequestDetails - List of request details contain validationType and its request as key and value respectively. + IndividualRequestDetails *[]BasicValidationInputRequest `json:"individualRequestDetails,omitempty"` + // ValidationCategory - Possible values include: 'ValidationCategoryValidationRequest', 'ValidationCategoryJobCreationValidation' + ValidationCategory ValidationCategory `json:"validationCategory,omitempty"` +} + +// MarshalJSON is the custom marshaler for CreateJobValidations. +func (cjv CreateJobValidations) MarshalJSON() ([]byte, error) { + cjv.ValidationCategory = ValidationCategoryJobCreationValidation + objectMap := make(map[string]interface{}) + if cjv.IndividualRequestDetails != nil { + objectMap["individualRequestDetails"] = cjv.IndividualRequestDetails + } + if cjv.ValidationCategory != "" { + objectMap["validationCategory"] = cjv.ValidationCategory + } + return json.Marshal(objectMap) +} + +// AsCreateJobValidations is the BasicValidationRequest implementation for CreateJobValidations. +func (cjv CreateJobValidations) AsCreateJobValidations() (*CreateJobValidations, bool) { + return &cjv, true +} + +// AsValidationRequest is the BasicValidationRequest implementation for CreateJobValidations. +func (cjv CreateJobValidations) AsValidationRequest() (*ValidationRequest, bool) { + return nil, false +} + +// AsBasicValidationRequest is the BasicValidationRequest implementation for CreateJobValidations. +func (cjv CreateJobValidations) AsBasicValidationRequest() (BasicValidationRequest, bool) { + return &cjv, true +} + +// UnmarshalJSON is the custom unmarshaler for CreateJobValidations struct. +func (cjv *CreateJobValidations) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "individualRequestDetails": + if v != nil { + individualRequestDetails, err := unmarshalBasicValidationInputRequestArray(*v) + if err != nil { + return err + } + cjv.IndividualRequestDetails = &individualRequestDetails + } + case "validationCategory": + if v != nil { + var validationCategory ValidationCategory + err = json.Unmarshal(*v, &validationCategory) + if err != nil { + return err + } + cjv.ValidationCategory = validationCategory + } + } + } + + return nil +} + +// CreateOrderLimitForSubscriptionValidationRequest request to validate create order limit for current +// subscription. +type CreateOrderLimitForSubscriptionValidationRequest struct { + // DeviceType - Device type to be used for the job. Possible values include: 'DataBox', 'DataBoxDisk', 'DataBoxHeavy' + DeviceType SkuName `json:"deviceType,omitempty"` + // ValidationType - Possible values include: 'ValidationTypeValidationInputRequest', 'ValidationTypeValidateCreateOrderLimit', 'ValidationTypeValidateDataDestinationDetails', 'ValidationTypeValidatePreferences', 'ValidationTypeValidateSkuAvailability', 'ValidationTypeValidateSubscriptionIsAllowedToCreateJob', 'ValidationTypeValidateAddress' + ValidationType ValidationType `json:"validationType,omitempty"` +} + +// MarshalJSON is the custom marshaler for CreateOrderLimitForSubscriptionValidationRequest. +func (colfsvr CreateOrderLimitForSubscriptionValidationRequest) MarshalJSON() ([]byte, error) { + colfsvr.ValidationType = ValidationTypeValidateCreateOrderLimit + objectMap := make(map[string]interface{}) + if colfsvr.DeviceType != "" { + objectMap["deviceType"] = colfsvr.DeviceType + } + if colfsvr.ValidationType != "" { + objectMap["validationType"] = colfsvr.ValidationType + } + return json.Marshal(objectMap) +} + +// AsCreateOrderLimitForSubscriptionValidationRequest is the BasicValidationInputRequest implementation for CreateOrderLimitForSubscriptionValidationRequest. +func (colfsvr CreateOrderLimitForSubscriptionValidationRequest) AsCreateOrderLimitForSubscriptionValidationRequest() (*CreateOrderLimitForSubscriptionValidationRequest, bool) { + return &colfsvr, true +} + +// AsDataDestinationDetailsValidationRequest is the BasicValidationInputRequest implementation for CreateOrderLimitForSubscriptionValidationRequest. +func (colfsvr CreateOrderLimitForSubscriptionValidationRequest) AsDataDestinationDetailsValidationRequest() (*DataDestinationDetailsValidationRequest, bool) { + return nil, false +} + +// AsPreferencesValidationRequest is the BasicValidationInputRequest implementation for CreateOrderLimitForSubscriptionValidationRequest. +func (colfsvr CreateOrderLimitForSubscriptionValidationRequest) AsPreferencesValidationRequest() (*PreferencesValidationRequest, bool) { + return nil, false +} + +// AsSkuAvailabilityValidationRequest is the BasicValidationInputRequest implementation for CreateOrderLimitForSubscriptionValidationRequest. +func (colfsvr CreateOrderLimitForSubscriptionValidationRequest) AsSkuAvailabilityValidationRequest() (*SkuAvailabilityValidationRequest, bool) { + return nil, false +} + +// AsSubscriptionIsAllowedToCreateJobValidationRequest is the BasicValidationInputRequest implementation for CreateOrderLimitForSubscriptionValidationRequest. +func (colfsvr CreateOrderLimitForSubscriptionValidationRequest) AsSubscriptionIsAllowedToCreateJobValidationRequest() (*SubscriptionIsAllowedToCreateJobValidationRequest, bool) { + return nil, false +} + +// AsValidateAddress is the BasicValidationInputRequest implementation for CreateOrderLimitForSubscriptionValidationRequest. +func (colfsvr CreateOrderLimitForSubscriptionValidationRequest) AsValidateAddress() (*ValidateAddress, bool) { + return nil, false +} + +// AsValidationInputRequest is the BasicValidationInputRequest implementation for CreateOrderLimitForSubscriptionValidationRequest. +func (colfsvr CreateOrderLimitForSubscriptionValidationRequest) AsValidationInputRequest() (*ValidationInputRequest, bool) { + return nil, false +} + +// AsBasicValidationInputRequest is the BasicValidationInputRequest implementation for CreateOrderLimitForSubscriptionValidationRequest. +func (colfsvr CreateOrderLimitForSubscriptionValidationRequest) AsBasicValidationInputRequest() (BasicValidationInputRequest, bool) { + return &colfsvr, true +} + +// CreateOrderLimitForSubscriptionValidationResponseProperties properties of create order limit for +// subscription validation response. +type CreateOrderLimitForSubscriptionValidationResponseProperties struct { + // Status - READ-ONLY; Create order limit validation status. Possible values include: 'ValidationStatusValid', 'ValidationStatusInvalid', 'ValidationStatusSkipped' + Status ValidationStatus `json:"status,omitempty"` + // Error - READ-ONLY; Error code and message of validation response. + Error *Error `json:"error,omitempty"` + // ValidationType - Possible values include: 'ValidationTypeBasicValidationInputResponseValidationTypeValidationInputResponse', 'ValidationTypeBasicValidationInputResponseValidationTypeValidateAddress', 'ValidationTypeBasicValidationInputResponseValidationTypeValidateCreateOrderLimit', 'ValidationTypeBasicValidationInputResponseValidationTypeValidateDataDestinationDetails', 'ValidationTypeBasicValidationInputResponseValidationTypeValidatePreferences', 'ValidationTypeBasicValidationInputResponseValidationTypeValidateSkuAvailability', 'ValidationTypeBasicValidationInputResponseValidationTypeValidateSubscriptionIsAllowedToCreateJob' + ValidationType ValidationTypeBasicValidationInputResponse `json:"validationType,omitempty"` +} + +// MarshalJSON is the custom marshaler for CreateOrderLimitForSubscriptionValidationResponseProperties. +func (colfsvrp CreateOrderLimitForSubscriptionValidationResponseProperties) MarshalJSON() ([]byte, error) { + colfsvrp.ValidationType = ValidationTypeBasicValidationInputResponseValidationTypeValidateCreateOrderLimit + objectMap := make(map[string]interface{}) + if colfsvrp.ValidationType != "" { + objectMap["validationType"] = colfsvrp.ValidationType + } + return json.Marshal(objectMap) +} + +// AsAddressValidationProperties is the BasicValidationInputResponse implementation for CreateOrderLimitForSubscriptionValidationResponseProperties. +func (colfsvrp CreateOrderLimitForSubscriptionValidationResponseProperties) AsAddressValidationProperties() (*AddressValidationProperties, bool) { + return nil, false +} + +// AsCreateOrderLimitForSubscriptionValidationResponseProperties is the BasicValidationInputResponse implementation for CreateOrderLimitForSubscriptionValidationResponseProperties. +func (colfsvrp CreateOrderLimitForSubscriptionValidationResponseProperties) AsCreateOrderLimitForSubscriptionValidationResponseProperties() (*CreateOrderLimitForSubscriptionValidationResponseProperties, bool) { + return &colfsvrp, true +} + +// AsDataDestinationDetailsValidationResponseProperties is the BasicValidationInputResponse implementation for CreateOrderLimitForSubscriptionValidationResponseProperties. +func (colfsvrp CreateOrderLimitForSubscriptionValidationResponseProperties) AsDataDestinationDetailsValidationResponseProperties() (*DataDestinationDetailsValidationResponseProperties, bool) { + return nil, false +} + +// AsPreferencesValidationResponseProperties is the BasicValidationInputResponse implementation for CreateOrderLimitForSubscriptionValidationResponseProperties. +func (colfsvrp CreateOrderLimitForSubscriptionValidationResponseProperties) AsPreferencesValidationResponseProperties() (*PreferencesValidationResponseProperties, bool) { + return nil, false +} + +// AsSkuAvailabilityValidationResponseProperties is the BasicValidationInputResponse implementation for CreateOrderLimitForSubscriptionValidationResponseProperties. +func (colfsvrp CreateOrderLimitForSubscriptionValidationResponseProperties) AsSkuAvailabilityValidationResponseProperties() (*SkuAvailabilityValidationResponseProperties, bool) { + return nil, false +} + +// AsSubscriptionIsAllowedToCreateJobValidationResponseProperties is the BasicValidationInputResponse implementation for CreateOrderLimitForSubscriptionValidationResponseProperties. +func (colfsvrp CreateOrderLimitForSubscriptionValidationResponseProperties) AsSubscriptionIsAllowedToCreateJobValidationResponseProperties() (*SubscriptionIsAllowedToCreateJobValidationResponseProperties, bool) { + return nil, false +} + +// AsValidationInputResponse is the BasicValidationInputResponse implementation for CreateOrderLimitForSubscriptionValidationResponseProperties. +func (colfsvrp CreateOrderLimitForSubscriptionValidationResponseProperties) AsValidationInputResponse() (*ValidationInputResponse, bool) { + return nil, false +} + +// AsBasicValidationInputResponse is the BasicValidationInputResponse implementation for CreateOrderLimitForSubscriptionValidationResponseProperties. +func (colfsvrp CreateOrderLimitForSubscriptionValidationResponseProperties) AsBasicValidationInputResponse() (BasicValidationInputResponse, bool) { + return &colfsvrp, true +} + +// DataDestinationDetailsValidationRequest request to validate data destination details. +type DataDestinationDetailsValidationRequest struct { + // DestinationAccountDetails - Destination account details list. + DestinationAccountDetails *[]BasicDestinationAccountDetails `json:"destinationAccountDetails,omitempty"` + // Location - Location of stamp or geo. + Location *string `json:"location,omitempty"` + // ValidationType - Possible values include: 'ValidationTypeValidationInputRequest', 'ValidationTypeValidateCreateOrderLimit', 'ValidationTypeValidateDataDestinationDetails', 'ValidationTypeValidatePreferences', 'ValidationTypeValidateSkuAvailability', 'ValidationTypeValidateSubscriptionIsAllowedToCreateJob', 'ValidationTypeValidateAddress' + ValidationType ValidationType `json:"validationType,omitempty"` +} + +// MarshalJSON is the custom marshaler for DataDestinationDetailsValidationRequest. +func (dddvr DataDestinationDetailsValidationRequest) MarshalJSON() ([]byte, error) { + dddvr.ValidationType = ValidationTypeValidateDataDestinationDetails + objectMap := make(map[string]interface{}) + if dddvr.DestinationAccountDetails != nil { + objectMap["destinationAccountDetails"] = dddvr.DestinationAccountDetails + } + if dddvr.Location != nil { + objectMap["location"] = dddvr.Location + } + if dddvr.ValidationType != "" { + objectMap["validationType"] = dddvr.ValidationType + } + return json.Marshal(objectMap) +} + +// AsCreateOrderLimitForSubscriptionValidationRequest is the BasicValidationInputRequest implementation for DataDestinationDetailsValidationRequest. +func (dddvr DataDestinationDetailsValidationRequest) AsCreateOrderLimitForSubscriptionValidationRequest() (*CreateOrderLimitForSubscriptionValidationRequest, bool) { + return nil, false +} + +// AsDataDestinationDetailsValidationRequest is the BasicValidationInputRequest implementation for DataDestinationDetailsValidationRequest. +func (dddvr DataDestinationDetailsValidationRequest) AsDataDestinationDetailsValidationRequest() (*DataDestinationDetailsValidationRequest, bool) { + return &dddvr, true +} + +// AsPreferencesValidationRequest is the BasicValidationInputRequest implementation for DataDestinationDetailsValidationRequest. +func (dddvr DataDestinationDetailsValidationRequest) AsPreferencesValidationRequest() (*PreferencesValidationRequest, bool) { + return nil, false +} + +// AsSkuAvailabilityValidationRequest is the BasicValidationInputRequest implementation for DataDestinationDetailsValidationRequest. +func (dddvr DataDestinationDetailsValidationRequest) AsSkuAvailabilityValidationRequest() (*SkuAvailabilityValidationRequest, bool) { + return nil, false +} + +// AsSubscriptionIsAllowedToCreateJobValidationRequest is the BasicValidationInputRequest implementation for DataDestinationDetailsValidationRequest. +func (dddvr DataDestinationDetailsValidationRequest) AsSubscriptionIsAllowedToCreateJobValidationRequest() (*SubscriptionIsAllowedToCreateJobValidationRequest, bool) { + return nil, false +} + +// AsValidateAddress is the BasicValidationInputRequest implementation for DataDestinationDetailsValidationRequest. +func (dddvr DataDestinationDetailsValidationRequest) AsValidateAddress() (*ValidateAddress, bool) { + return nil, false +} + +// AsValidationInputRequest is the BasicValidationInputRequest implementation for DataDestinationDetailsValidationRequest. +func (dddvr DataDestinationDetailsValidationRequest) AsValidationInputRequest() (*ValidationInputRequest, bool) { + return nil, false +} + +// AsBasicValidationInputRequest is the BasicValidationInputRequest implementation for DataDestinationDetailsValidationRequest. +func (dddvr DataDestinationDetailsValidationRequest) AsBasicValidationInputRequest() (BasicValidationInputRequest, bool) { + return &dddvr, true +} + +// UnmarshalJSON is the custom unmarshaler for DataDestinationDetailsValidationRequest struct. +func (dddvr *DataDestinationDetailsValidationRequest) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "destinationAccountDetails": + if v != nil { + destinationAccountDetails, err := unmarshalBasicDestinationAccountDetailsArray(*v) + if err != nil { + return err + } + dddvr.DestinationAccountDetails = &destinationAccountDetails + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + dddvr.Location = &location + } + case "validationType": + if v != nil { + var validationType ValidationType + err = json.Unmarshal(*v, &validationType) + if err != nil { + return err + } + dddvr.ValidationType = validationType + } + } + } + + return nil +} + +// DataDestinationDetailsValidationResponseProperties properties of data destination details validation +// response. +type DataDestinationDetailsValidationResponseProperties struct { + // Status - READ-ONLY; Data destination details validation status. Possible values include: 'ValidationStatusValid', 'ValidationStatusInvalid', 'ValidationStatusSkipped' + Status ValidationStatus `json:"status,omitempty"` + // Error - READ-ONLY; Error code and message of validation response. + Error *Error `json:"error,omitempty"` + // ValidationType - Possible values include: 'ValidationTypeBasicValidationInputResponseValidationTypeValidationInputResponse', 'ValidationTypeBasicValidationInputResponseValidationTypeValidateAddress', 'ValidationTypeBasicValidationInputResponseValidationTypeValidateCreateOrderLimit', 'ValidationTypeBasicValidationInputResponseValidationTypeValidateDataDestinationDetails', 'ValidationTypeBasicValidationInputResponseValidationTypeValidatePreferences', 'ValidationTypeBasicValidationInputResponseValidationTypeValidateSkuAvailability', 'ValidationTypeBasicValidationInputResponseValidationTypeValidateSubscriptionIsAllowedToCreateJob' + ValidationType ValidationTypeBasicValidationInputResponse `json:"validationType,omitempty"` +} + +// MarshalJSON is the custom marshaler for DataDestinationDetailsValidationResponseProperties. +func (dddvrp DataDestinationDetailsValidationResponseProperties) MarshalJSON() ([]byte, error) { + dddvrp.ValidationType = ValidationTypeBasicValidationInputResponseValidationTypeValidateDataDestinationDetails + objectMap := make(map[string]interface{}) + if dddvrp.ValidationType != "" { + objectMap["validationType"] = dddvrp.ValidationType + } + return json.Marshal(objectMap) +} + +// AsAddressValidationProperties is the BasicValidationInputResponse implementation for DataDestinationDetailsValidationResponseProperties. +func (dddvrp DataDestinationDetailsValidationResponseProperties) AsAddressValidationProperties() (*AddressValidationProperties, bool) { + return nil, false +} + +// AsCreateOrderLimitForSubscriptionValidationResponseProperties is the BasicValidationInputResponse implementation for DataDestinationDetailsValidationResponseProperties. +func (dddvrp DataDestinationDetailsValidationResponseProperties) AsCreateOrderLimitForSubscriptionValidationResponseProperties() (*CreateOrderLimitForSubscriptionValidationResponseProperties, bool) { + return nil, false +} + +// AsDataDestinationDetailsValidationResponseProperties is the BasicValidationInputResponse implementation for DataDestinationDetailsValidationResponseProperties. +func (dddvrp DataDestinationDetailsValidationResponseProperties) AsDataDestinationDetailsValidationResponseProperties() (*DataDestinationDetailsValidationResponseProperties, bool) { + return &dddvrp, true +} + +// AsPreferencesValidationResponseProperties is the BasicValidationInputResponse implementation for DataDestinationDetailsValidationResponseProperties. +func (dddvrp DataDestinationDetailsValidationResponseProperties) AsPreferencesValidationResponseProperties() (*PreferencesValidationResponseProperties, bool) { + return nil, false +} + +// AsSkuAvailabilityValidationResponseProperties is the BasicValidationInputResponse implementation for DataDestinationDetailsValidationResponseProperties. +func (dddvrp DataDestinationDetailsValidationResponseProperties) AsSkuAvailabilityValidationResponseProperties() (*SkuAvailabilityValidationResponseProperties, bool) { + return nil, false +} + +// AsSubscriptionIsAllowedToCreateJobValidationResponseProperties is the BasicValidationInputResponse implementation for DataDestinationDetailsValidationResponseProperties. +func (dddvrp DataDestinationDetailsValidationResponseProperties) AsSubscriptionIsAllowedToCreateJobValidationResponseProperties() (*SubscriptionIsAllowedToCreateJobValidationResponseProperties, bool) { + return nil, false +} + +// AsValidationInputResponse is the BasicValidationInputResponse implementation for DataDestinationDetailsValidationResponseProperties. +func (dddvrp DataDestinationDetailsValidationResponseProperties) AsValidationInputResponse() (*ValidationInputResponse, bool) { + return nil, false +} + +// AsBasicValidationInputResponse is the BasicValidationInputResponse implementation for DataDestinationDetailsValidationResponseProperties. +func (dddvrp DataDestinationDetailsValidationResponseProperties) AsBasicValidationInputResponse() (BasicValidationInputResponse, bool) { + return &dddvrp, true +} + +// DcAccessSecurityCode dc Access Security code for device. +type DcAccessSecurityCode struct { + // ForwardDcAccessCode - Dc Access Code for dispatching from DC. + ForwardDcAccessCode *string `json:"forwardDcAccessCode,omitempty"` + // ReverseDcAccessCode - Dc Access code for dropping off at DC. + ReverseDcAccessCode *string `json:"reverseDcAccessCode,omitempty"` +} + +// BasicDestinationAccountDetails details of the destination storage accounts. +type BasicDestinationAccountDetails interface { + AsDestinationManagedDiskDetails() (*DestinationManagedDiskDetails, bool) + AsDestinationStorageAccountDetails() (*DestinationStorageAccountDetails, bool) + AsDestinationAccountDetails() (*DestinationAccountDetails, bool) +} + +// DestinationAccountDetails details of the destination storage accounts. +type DestinationAccountDetails struct { + // AccountID - Arm Id of the destination where the data has to be moved. + AccountID *string `json:"accountId,omitempty"` + // SharePassword - Share password to be shared by all shares in SA. + SharePassword *string `json:"sharePassword,omitempty"` + // DataDestinationType - Possible values include: 'DataDestinationTypeDestinationAccountDetails', 'DataDestinationTypeManagedDisk', 'DataDestinationTypeStorageAccount' + DataDestinationType DataDestinationTypeBasicDestinationAccountDetails `json:"dataDestinationType,omitempty"` +} + +func unmarshalBasicDestinationAccountDetails(body []byte) (BasicDestinationAccountDetails, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["dataDestinationType"] { + case string(DataDestinationTypeManagedDisk): + var dmdd DestinationManagedDiskDetails + err := json.Unmarshal(body, &dmdd) + return dmdd, err + case string(DataDestinationTypeStorageAccount): + var dsad DestinationStorageAccountDetails + err := json.Unmarshal(body, &dsad) + return dsad, err + default: + var dad DestinationAccountDetails + err := json.Unmarshal(body, &dad) + return dad, err + } +} +func unmarshalBasicDestinationAccountDetailsArray(body []byte) ([]BasicDestinationAccountDetails, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + dadArray := make([]BasicDestinationAccountDetails, len(rawMessages)) + + for index, rawMessage := range rawMessages { + dad, err := unmarshalBasicDestinationAccountDetails(*rawMessage) + if err != nil { + return nil, err + } + dadArray[index] = dad + } + return dadArray, nil +} + +// MarshalJSON is the custom marshaler for DestinationAccountDetails. +func (dad DestinationAccountDetails) MarshalJSON() ([]byte, error) { + dad.DataDestinationType = DataDestinationTypeDestinationAccountDetails + objectMap := make(map[string]interface{}) + if dad.AccountID != nil { + objectMap["accountId"] = dad.AccountID + } + if dad.SharePassword != nil { + objectMap["sharePassword"] = dad.SharePassword + } + if dad.DataDestinationType != "" { + objectMap["dataDestinationType"] = dad.DataDestinationType + } + return json.Marshal(objectMap) +} + +// AsDestinationManagedDiskDetails is the BasicDestinationAccountDetails implementation for DestinationAccountDetails. +func (dad DestinationAccountDetails) AsDestinationManagedDiskDetails() (*DestinationManagedDiskDetails, bool) { + return nil, false +} + +// AsDestinationStorageAccountDetails is the BasicDestinationAccountDetails implementation for DestinationAccountDetails. +func (dad DestinationAccountDetails) AsDestinationStorageAccountDetails() (*DestinationStorageAccountDetails, bool) { + return nil, false +} + +// AsDestinationAccountDetails is the BasicDestinationAccountDetails implementation for DestinationAccountDetails. +func (dad DestinationAccountDetails) AsDestinationAccountDetails() (*DestinationAccountDetails, bool) { + return &dad, true +} + +// AsBasicDestinationAccountDetails is the BasicDestinationAccountDetails implementation for DestinationAccountDetails. +func (dad DestinationAccountDetails) AsBasicDestinationAccountDetails() (BasicDestinationAccountDetails, bool) { + return &dad, true +} + +// DestinationManagedDiskDetails details for the destination compute disks. +type DestinationManagedDiskDetails struct { + // ResourceGroupID - Destination Resource Group Id where the Compute disks should be created. + ResourceGroupID *string `json:"resourceGroupId,omitempty"` + // StagingStorageAccountID - Arm Id of the storage account that can be used to copy the vhd for staging. + StagingStorageAccountID *string `json:"stagingStorageAccountId,omitempty"` + // AccountID - Arm Id of the destination where the data has to be moved. + AccountID *string `json:"accountId,omitempty"` + // SharePassword - Share password to be shared by all shares in SA. + SharePassword *string `json:"sharePassword,omitempty"` + // DataDestinationType - Possible values include: 'DataDestinationTypeDestinationAccountDetails', 'DataDestinationTypeManagedDisk', 'DataDestinationTypeStorageAccount' + DataDestinationType DataDestinationTypeBasicDestinationAccountDetails `json:"dataDestinationType,omitempty"` +} + +// MarshalJSON is the custom marshaler for DestinationManagedDiskDetails. +func (dmdd DestinationManagedDiskDetails) MarshalJSON() ([]byte, error) { + dmdd.DataDestinationType = DataDestinationTypeManagedDisk + objectMap := make(map[string]interface{}) + if dmdd.ResourceGroupID != nil { + objectMap["resourceGroupId"] = dmdd.ResourceGroupID + } + if dmdd.StagingStorageAccountID != nil { + objectMap["stagingStorageAccountId"] = dmdd.StagingStorageAccountID + } + if dmdd.AccountID != nil { + objectMap["accountId"] = dmdd.AccountID + } + if dmdd.SharePassword != nil { + objectMap["sharePassword"] = dmdd.SharePassword + } + if dmdd.DataDestinationType != "" { + objectMap["dataDestinationType"] = dmdd.DataDestinationType + } + return json.Marshal(objectMap) +} + +// AsDestinationManagedDiskDetails is the BasicDestinationAccountDetails implementation for DestinationManagedDiskDetails. +func (dmdd DestinationManagedDiskDetails) AsDestinationManagedDiskDetails() (*DestinationManagedDiskDetails, bool) { + return &dmdd, true +} + +// AsDestinationStorageAccountDetails is the BasicDestinationAccountDetails implementation for DestinationManagedDiskDetails. +func (dmdd DestinationManagedDiskDetails) AsDestinationStorageAccountDetails() (*DestinationStorageAccountDetails, bool) { + return nil, false +} + +// AsDestinationAccountDetails is the BasicDestinationAccountDetails implementation for DestinationManagedDiskDetails. +func (dmdd DestinationManagedDiskDetails) AsDestinationAccountDetails() (*DestinationAccountDetails, bool) { + return nil, false +} + +// AsBasicDestinationAccountDetails is the BasicDestinationAccountDetails implementation for DestinationManagedDiskDetails. +func (dmdd DestinationManagedDiskDetails) AsBasicDestinationAccountDetails() (BasicDestinationAccountDetails, bool) { + return &dmdd, true +} + +// DestinationStorageAccountDetails details for the destination storage account. +type DestinationStorageAccountDetails struct { + // StorageAccountID - Destination Storage Account Arm Id. + StorageAccountID *string `json:"storageAccountId,omitempty"` + // AccountID - Arm Id of the destination where the data has to be moved. + AccountID *string `json:"accountId,omitempty"` + // SharePassword - Share password to be shared by all shares in SA. + SharePassword *string `json:"sharePassword,omitempty"` + // DataDestinationType - Possible values include: 'DataDestinationTypeDestinationAccountDetails', 'DataDestinationTypeManagedDisk', 'DataDestinationTypeStorageAccount' + DataDestinationType DataDestinationTypeBasicDestinationAccountDetails `json:"dataDestinationType,omitempty"` +} + +// MarshalJSON is the custom marshaler for DestinationStorageAccountDetails. +func (dsad DestinationStorageAccountDetails) MarshalJSON() ([]byte, error) { + dsad.DataDestinationType = DataDestinationTypeStorageAccount + objectMap := make(map[string]interface{}) + if dsad.StorageAccountID != nil { + objectMap["storageAccountId"] = dsad.StorageAccountID + } + if dsad.AccountID != nil { + objectMap["accountId"] = dsad.AccountID + } + if dsad.SharePassword != nil { + objectMap["sharePassword"] = dsad.SharePassword + } + if dsad.DataDestinationType != "" { + objectMap["dataDestinationType"] = dsad.DataDestinationType + } + return json.Marshal(objectMap) +} + +// AsDestinationManagedDiskDetails is the BasicDestinationAccountDetails implementation for DestinationStorageAccountDetails. +func (dsad DestinationStorageAccountDetails) AsDestinationManagedDiskDetails() (*DestinationManagedDiskDetails, bool) { + return nil, false +} + +// AsDestinationStorageAccountDetails is the BasicDestinationAccountDetails implementation for DestinationStorageAccountDetails. +func (dsad DestinationStorageAccountDetails) AsDestinationStorageAccountDetails() (*DestinationStorageAccountDetails, bool) { + return &dsad, true +} + +// AsDestinationAccountDetails is the BasicDestinationAccountDetails implementation for DestinationStorageAccountDetails. +func (dsad DestinationStorageAccountDetails) AsDestinationAccountDetails() (*DestinationAccountDetails, bool) { + return nil, false +} + +// AsBasicDestinationAccountDetails is the BasicDestinationAccountDetails implementation for DestinationStorageAccountDetails. +func (dsad DestinationStorageAccountDetails) AsBasicDestinationAccountDetails() (BasicDestinationAccountDetails, bool) { + return &dsad, true +} + +// DestinationToServiceLocationMap map of destination location to service location. +type DestinationToServiceLocationMap struct { + // DestinationLocation - READ-ONLY; Location of the destination. + DestinationLocation *string `json:"destinationLocation,omitempty"` + // ServiceLocation - READ-ONLY; Location of the service. + ServiceLocation *string `json:"serviceLocation,omitempty"` +} + +// DiskCopyLogDetails copy Log Details for a disk +type DiskCopyLogDetails struct { + // DiskSerialNumber - READ-ONLY; Disk Serial Number. + DiskSerialNumber *string `json:"diskSerialNumber,omitempty"` + // ErrorLogLink - READ-ONLY; Link for copy error logs. + ErrorLogLink *string `json:"errorLogLink,omitempty"` + // VerboseLogLink - READ-ONLY; Link for copy verbose logs. + VerboseLogLink *string `json:"verboseLogLink,omitempty"` + // CopyLogDetailsType - Possible values include: 'CopyLogDetailsTypeCopyLogDetails', 'CopyLogDetailsTypeDataBox', 'CopyLogDetailsTypeDataBoxDisk', 'CopyLogDetailsTypeDataBoxHeavy' + CopyLogDetailsType CopyLogDetailsType `json:"copyLogDetailsType,omitempty"` +} + +// MarshalJSON is the custom marshaler for DiskCopyLogDetails. +func (dcld DiskCopyLogDetails) MarshalJSON() ([]byte, error) { + dcld.CopyLogDetailsType = CopyLogDetailsTypeDataBoxDisk + objectMap := make(map[string]interface{}) + if dcld.CopyLogDetailsType != "" { + objectMap["copyLogDetailsType"] = dcld.CopyLogDetailsType + } + return json.Marshal(objectMap) +} + +// AsAccountCopyLogDetails is the BasicCopyLogDetails implementation for DiskCopyLogDetails. +func (dcld DiskCopyLogDetails) AsAccountCopyLogDetails() (*AccountCopyLogDetails, bool) { + return nil, false +} + +// AsDiskCopyLogDetails is the BasicCopyLogDetails implementation for DiskCopyLogDetails. +func (dcld DiskCopyLogDetails) AsDiskCopyLogDetails() (*DiskCopyLogDetails, bool) { + return &dcld, true +} + +// AsHeavyAccountCopyLogDetails is the BasicCopyLogDetails implementation for DiskCopyLogDetails. +func (dcld DiskCopyLogDetails) AsHeavyAccountCopyLogDetails() (*HeavyAccountCopyLogDetails, bool) { + return nil, false +} + +// AsCopyLogDetails is the BasicCopyLogDetails implementation for DiskCopyLogDetails. +func (dcld DiskCopyLogDetails) AsCopyLogDetails() (*CopyLogDetails, bool) { + return nil, false +} + +// AsBasicCopyLogDetails is the BasicCopyLogDetails implementation for DiskCopyLogDetails. +func (dcld DiskCopyLogDetails) AsBasicCopyLogDetails() (BasicCopyLogDetails, bool) { + return &dcld, true +} + +// DiskCopyProgress dataBox Disk Copy Progress +type DiskCopyProgress struct { + // SerialNumber - READ-ONLY; The serial number of the disk + SerialNumber *string `json:"serialNumber,omitempty"` + // BytesCopied - READ-ONLY; Bytes copied during the copy of disk. + BytesCopied *int64 `json:"bytesCopied,omitempty"` + // PercentComplete - READ-ONLY; Indicates the percentage completed for the copy of the disk. + PercentComplete *int32 `json:"percentComplete,omitempty"` + // Status - READ-ONLY; The Status of the copy. Possible values include: 'NotStarted', 'InProgress', 'Completed', 'CompletedWithErrors', 'Failed', 'NotReturned', 'HardwareError', 'DeviceFormatted', 'DeviceMetadataModified', 'StorageAccountNotAccessible', 'UnsupportedData' + Status CopyStatus `json:"status,omitempty"` +} + +// DiskJobDetails dataBox Disk Job Details. +type DiskJobDetails struct { + // PreferredDisks - User preference on what size disks are needed for the job. The map is from the disk size in TB to the count. Eg. {2,5} means 5 disks of 2 TB size. Key is string but will be checked against an int. + PreferredDisks map[string]*int32 `json:"preferredDisks"` + // CopyProgress - READ-ONLY; Copy progress per disk. + CopyProgress *[]DiskCopyProgress `json:"copyProgress,omitempty"` + // DisksAndSizeDetails - READ-ONLY; Contains the map of disk serial number to the disk size being used for the job. Is returned only after the disks are shipped to the customer. + DisksAndSizeDetails map[string]*int32 `json:"disksAndSizeDetails"` + // Passkey - User entered passkey for DataBox Disk job. + Passkey *string `json:"passkey,omitempty"` + // ExpectedDataSizeInTerabytes - The expected size of the data, which needs to be transferred in this job, in terabytes. + ExpectedDataSizeInTerabytes *int32 `json:"expectedDataSizeInTerabytes,omitempty"` + // JobStages - READ-ONLY; List of stages that run in the job. + JobStages *[]JobStages `json:"jobStages,omitempty"` + // ContactDetails - Contact details for notification and shipping. + ContactDetails *ContactDetails `json:"contactDetails,omitempty"` + // ShippingAddress - Shipping address of the customer. + ShippingAddress *ShippingAddress `json:"shippingAddress,omitempty"` + // DeliveryPackage - READ-ONLY; Delivery package shipping details. + DeliveryPackage *PackageShippingDetails `json:"deliveryPackage,omitempty"` + // ReturnPackage - READ-ONLY; Return package shipping details. + ReturnPackage *PackageShippingDetails `json:"returnPackage,omitempty"` + // DestinationAccountDetails - Destination account details. + DestinationAccountDetails *[]BasicDestinationAccountDetails `json:"destinationAccountDetails,omitempty"` + // ErrorDetails - READ-ONLY; Error details for failure. This is optional. + ErrorDetails *[]JobErrorDetails `json:"errorDetails,omitempty"` + // Preferences - Preferences for the order. + Preferences *Preferences `json:"preferences,omitempty"` + // CopyLogDetails - READ-ONLY; List of copy log details. + CopyLogDetails *[]BasicCopyLogDetails `json:"copyLogDetails,omitempty"` + // ReverseShipmentLabelSasKey - READ-ONLY; Shared access key to download the return shipment label + ReverseShipmentLabelSasKey *string `json:"reverseShipmentLabelSasKey,omitempty"` + // ChainOfCustodySasKey - READ-ONLY; Shared access key to download the chain of custody logs + ChainOfCustodySasKey *string `json:"chainOfCustodySasKey,omitempty"` + // JobDetailsType - Possible values include: 'JobDetailsTypeJobDetails', 'JobDetailsTypeDataBoxDisk', 'JobDetailsTypeDataBoxHeavy', 'JobDetailsTypeDataBox' + JobDetailsType JobDetailsTypeEnum `json:"jobDetailsType,omitempty"` +} + +// MarshalJSON is the custom marshaler for DiskJobDetails. +func (djd DiskJobDetails) MarshalJSON() ([]byte, error) { + djd.JobDetailsType = JobDetailsTypeDataBoxDisk + objectMap := make(map[string]interface{}) + if djd.PreferredDisks != nil { + objectMap["preferredDisks"] = djd.PreferredDisks + } + if djd.Passkey != nil { + objectMap["passkey"] = djd.Passkey + } + if djd.ExpectedDataSizeInTerabytes != nil { + objectMap["expectedDataSizeInTerabytes"] = djd.ExpectedDataSizeInTerabytes + } + if djd.ContactDetails != nil { + objectMap["contactDetails"] = djd.ContactDetails + } + if djd.ShippingAddress != nil { + objectMap["shippingAddress"] = djd.ShippingAddress + } + if djd.DestinationAccountDetails != nil { + objectMap["destinationAccountDetails"] = djd.DestinationAccountDetails + } + if djd.Preferences != nil { + objectMap["preferences"] = djd.Preferences + } + if djd.JobDetailsType != "" { + objectMap["jobDetailsType"] = djd.JobDetailsType + } + return json.Marshal(objectMap) +} + +// AsDiskJobDetails is the BasicJobDetails implementation for DiskJobDetails. +func (djd DiskJobDetails) AsDiskJobDetails() (*DiskJobDetails, bool) { + return &djd, true +} + +// AsHeavyJobDetails is the BasicJobDetails implementation for DiskJobDetails. +func (djd DiskJobDetails) AsHeavyJobDetails() (*HeavyJobDetails, bool) { + return nil, false +} + +// AsJobDetailsType is the BasicJobDetails implementation for DiskJobDetails. +func (djd DiskJobDetails) AsJobDetailsType() (*JobDetailsType, bool) { + return nil, false +} + +// AsJobDetails is the BasicJobDetails implementation for DiskJobDetails. +func (djd DiskJobDetails) AsJobDetails() (*JobDetails, bool) { + return nil, false +} + +// AsBasicJobDetails is the BasicJobDetails implementation for DiskJobDetails. +func (djd DiskJobDetails) AsBasicJobDetails() (BasicJobDetails, bool) { + return &djd, true +} + +// UnmarshalJSON is the custom unmarshaler for DiskJobDetails struct. +func (djd *DiskJobDetails) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "preferredDisks": + if v != nil { + var preferredDisks map[string]*int32 + err = json.Unmarshal(*v, &preferredDisks) + if err != nil { + return err + } + djd.PreferredDisks = preferredDisks + } + case "copyProgress": + if v != nil { + var copyProgress []DiskCopyProgress + err = json.Unmarshal(*v, ©Progress) + if err != nil { + return err + } + djd.CopyProgress = ©Progress + } + case "disksAndSizeDetails": + if v != nil { + var disksAndSizeDetails map[string]*int32 + err = json.Unmarshal(*v, &disksAndSizeDetails) + if err != nil { + return err + } + djd.DisksAndSizeDetails = disksAndSizeDetails + } + case "passkey": + if v != nil { + var passkey string + err = json.Unmarshal(*v, &passkey) + if err != nil { + return err + } + djd.Passkey = &passkey + } + case "expectedDataSizeInTerabytes": + if v != nil { + var expectedDataSizeInTerabytes int32 + err = json.Unmarshal(*v, &expectedDataSizeInTerabytes) + if err != nil { + return err + } + djd.ExpectedDataSizeInTerabytes = &expectedDataSizeInTerabytes + } + case "jobStages": + if v != nil { + var jobStages []JobStages + err = json.Unmarshal(*v, &jobStages) + if err != nil { + return err + } + djd.JobStages = &jobStages + } + case "contactDetails": + if v != nil { + var contactDetails ContactDetails + err = json.Unmarshal(*v, &contactDetails) + if err != nil { + return err + } + djd.ContactDetails = &contactDetails + } + case "shippingAddress": + if v != nil { + var shippingAddress ShippingAddress + err = json.Unmarshal(*v, &shippingAddress) + if err != nil { + return err + } + djd.ShippingAddress = &shippingAddress + } + case "deliveryPackage": + if v != nil { + var deliveryPackage PackageShippingDetails + err = json.Unmarshal(*v, &deliveryPackage) + if err != nil { + return err + } + djd.DeliveryPackage = &deliveryPackage + } + case "returnPackage": + if v != nil { + var returnPackage PackageShippingDetails + err = json.Unmarshal(*v, &returnPackage) + if err != nil { + return err + } + djd.ReturnPackage = &returnPackage + } + case "destinationAccountDetails": + if v != nil { + destinationAccountDetails, err := unmarshalBasicDestinationAccountDetailsArray(*v) + if err != nil { + return err + } + djd.DestinationAccountDetails = &destinationAccountDetails + } + case "errorDetails": + if v != nil { + var errorDetails []JobErrorDetails + err = json.Unmarshal(*v, &errorDetails) + if err != nil { + return err + } + djd.ErrorDetails = &errorDetails + } + case "preferences": + if v != nil { + var preferences Preferences + err = json.Unmarshal(*v, &preferences) + if err != nil { + return err + } + djd.Preferences = &preferences + } + case "copyLogDetails": + if v != nil { + copyLogDetails, err := unmarshalBasicCopyLogDetailsArray(*v) + if err != nil { + return err + } + djd.CopyLogDetails = ©LogDetails + } + case "reverseShipmentLabelSasKey": + if v != nil { + var reverseShipmentLabelSasKey string + err = json.Unmarshal(*v, &reverseShipmentLabelSasKey) + if err != nil { + return err + } + djd.ReverseShipmentLabelSasKey = &reverseShipmentLabelSasKey + } + case "chainOfCustodySasKey": + if v != nil { + var chainOfCustodySasKey string + err = json.Unmarshal(*v, &chainOfCustodySasKey) + if err != nil { + return err + } + djd.ChainOfCustodySasKey = &chainOfCustodySasKey + } + case "jobDetailsType": + if v != nil { + var jobDetailsType JobDetailsTypeEnum + err = json.Unmarshal(*v, &jobDetailsType) + if err != nil { + return err + } + djd.JobDetailsType = jobDetailsType + } + } + } + + return nil +} + +// DiskJobSecrets the secrets related to disk job. +type DiskJobSecrets struct { + // DiskSecrets - READ-ONLY; Contains the list of secrets object for that device. + DiskSecrets *[]DiskSecret `json:"diskSecrets,omitempty"` + // PassKey - READ-ONLY; PassKey for the disk Job. + PassKey *string `json:"passKey,omitempty"` + // IsPasskeyUserDefined - READ-ONLY; Whether passkey was provided by user. + IsPasskeyUserDefined *bool `json:"isPasskeyUserDefined,omitempty"` + // DcAccessSecurityCode - Dc Access Security Code for Customer Managed Shipping + DcAccessSecurityCode *DcAccessSecurityCode `json:"dcAccessSecurityCode,omitempty"` + // JobSecretsType - Possible values include: 'JobSecretsTypeJobSecrets', 'JobSecretsTypeDataBoxDisk', 'JobSecretsTypeDataBoxHeavy', 'JobSecretsTypeDataBox' + JobSecretsType JobSecretsTypeEnum `json:"jobSecretsType,omitempty"` +} + +// MarshalJSON is the custom marshaler for DiskJobSecrets. +func (djs DiskJobSecrets) MarshalJSON() ([]byte, error) { + djs.JobSecretsType = JobSecretsTypeDataBoxDisk + objectMap := make(map[string]interface{}) + if djs.DcAccessSecurityCode != nil { + objectMap["dcAccessSecurityCode"] = djs.DcAccessSecurityCode + } + if djs.JobSecretsType != "" { + objectMap["jobSecretsType"] = djs.JobSecretsType + } + return json.Marshal(objectMap) +} + +// AsDiskJobSecrets is the BasicJobSecrets implementation for DiskJobSecrets. +func (djs DiskJobSecrets) AsDiskJobSecrets() (*DiskJobSecrets, bool) { + return &djs, true +} + +// AsHeavyJobSecrets is the BasicJobSecrets implementation for DiskJobSecrets. +func (djs DiskJobSecrets) AsHeavyJobSecrets() (*HeavyJobSecrets, bool) { + return nil, false +} + +// AsJobSecretsType is the BasicJobSecrets implementation for DiskJobSecrets. +func (djs DiskJobSecrets) AsJobSecretsType() (*JobSecretsType, bool) { + return nil, false +} + +// AsJobSecrets is the BasicJobSecrets implementation for DiskJobSecrets. +func (djs DiskJobSecrets) AsJobSecrets() (*JobSecrets, bool) { + return nil, false +} + +// AsBasicJobSecrets is the BasicJobSecrets implementation for DiskJobSecrets. +func (djs DiskJobSecrets) AsBasicJobSecrets() (BasicJobSecrets, bool) { + return &djs, true +} + +// DiskScheduleAvailabilityRequest request body to get the availability for scheduling disk orders. +type DiskScheduleAvailabilityRequest struct { + // ExpectedDataSizeInTerabytes - The expected size of the data, which needs to be transferred in this job, in terabytes. + ExpectedDataSizeInTerabytes *int32 `json:"expectedDataSizeInTerabytes,omitempty"` + // StorageLocation - Location for data transfer. + // For locations check: https://management.azure.com/subscriptions/SUBSCRIPTIONID/locations?api-version=2018-01-01 + StorageLocation *string `json:"storageLocation,omitempty"` + // SkuName - Possible values include: 'SkuNameScheduleAvailabilityRequest', 'SkuNameDataBox', 'SkuNameDataBoxDisk', 'SkuNameDataBoxHeavy' + SkuName SkuNameBasicScheduleAvailabilityRequest `json:"skuName,omitempty"` +} + +// MarshalJSON is the custom marshaler for DiskScheduleAvailabilityRequest. +func (dsar DiskScheduleAvailabilityRequest) MarshalJSON() ([]byte, error) { + dsar.SkuName = SkuNameDataBoxDisk + objectMap := make(map[string]interface{}) + if dsar.ExpectedDataSizeInTerabytes != nil { + objectMap["expectedDataSizeInTerabytes"] = dsar.ExpectedDataSizeInTerabytes + } + if dsar.StorageLocation != nil { + objectMap["storageLocation"] = dsar.StorageLocation + } + if dsar.SkuName != "" { + objectMap["skuName"] = dsar.SkuName + } + return json.Marshal(objectMap) +} + +// AsScheduleAvailabilityRequestType is the BasicScheduleAvailabilityRequest implementation for DiskScheduleAvailabilityRequest. +func (dsar DiskScheduleAvailabilityRequest) AsScheduleAvailabilityRequestType() (*ScheduleAvailabilityRequestType, bool) { + return nil, false +} + +// AsDiskScheduleAvailabilityRequest is the BasicScheduleAvailabilityRequest implementation for DiskScheduleAvailabilityRequest. +func (dsar DiskScheduleAvailabilityRequest) AsDiskScheduleAvailabilityRequest() (*DiskScheduleAvailabilityRequest, bool) { + return &dsar, true +} + +// AsHeavyScheduleAvailabilityRequest is the BasicScheduleAvailabilityRequest implementation for DiskScheduleAvailabilityRequest. +func (dsar DiskScheduleAvailabilityRequest) AsHeavyScheduleAvailabilityRequest() (*HeavyScheduleAvailabilityRequest, bool) { + return nil, false +} + +// AsScheduleAvailabilityRequest is the BasicScheduleAvailabilityRequest implementation for DiskScheduleAvailabilityRequest. +func (dsar DiskScheduleAvailabilityRequest) AsScheduleAvailabilityRequest() (*ScheduleAvailabilityRequest, bool) { + return nil, false +} + +// AsBasicScheduleAvailabilityRequest is the BasicScheduleAvailabilityRequest implementation for DiskScheduleAvailabilityRequest. +func (dsar DiskScheduleAvailabilityRequest) AsBasicScheduleAvailabilityRequest() (BasicScheduleAvailabilityRequest, bool) { + return &dsar, true +} + +// DiskSecret contains all the secrets of a Disk. +type DiskSecret struct { + // DiskSerialNumber - READ-ONLY; Serial number of the assigned disk. + DiskSerialNumber *string `json:"diskSerialNumber,omitempty"` + // BitLockerKey - READ-ONLY; Bit Locker key of the disk which can be used to unlock the disk to copy data. + BitLockerKey *string `json:"bitLockerKey,omitempty"` +} + +// Error top level error for the job. +type Error struct { + // Code - READ-ONLY; Error code that can be used to programmatically identify the error. + Code *string `json:"code,omitempty"` + // Message - READ-ONLY; Describes the error in detail and provides debugging information. + Message *string `json:"message,omitempty"` +} + +// HeavyAccountCopyLogDetails copy log details for a storage account for Databox heavy +type HeavyAccountCopyLogDetails struct { + // AccountName - READ-ONLY; Destination account name. + AccountName *string `json:"accountName,omitempty"` + // CopyLogLink - READ-ONLY; Link for copy logs. + CopyLogLink *[]string `json:"copyLogLink,omitempty"` + // CopyLogDetailsType - Possible values include: 'CopyLogDetailsTypeCopyLogDetails', 'CopyLogDetailsTypeDataBox', 'CopyLogDetailsTypeDataBoxDisk', 'CopyLogDetailsTypeDataBoxHeavy' + CopyLogDetailsType CopyLogDetailsType `json:"copyLogDetailsType,omitempty"` +} + +// MarshalJSON is the custom marshaler for HeavyAccountCopyLogDetails. +func (hacld HeavyAccountCopyLogDetails) MarshalJSON() ([]byte, error) { + hacld.CopyLogDetailsType = CopyLogDetailsTypeDataBoxHeavy + objectMap := make(map[string]interface{}) + if hacld.CopyLogDetailsType != "" { + objectMap["copyLogDetailsType"] = hacld.CopyLogDetailsType + } + return json.Marshal(objectMap) +} + +// AsAccountCopyLogDetails is the BasicCopyLogDetails implementation for HeavyAccountCopyLogDetails. +func (hacld HeavyAccountCopyLogDetails) AsAccountCopyLogDetails() (*AccountCopyLogDetails, bool) { + return nil, false +} + +// AsDiskCopyLogDetails is the BasicCopyLogDetails implementation for HeavyAccountCopyLogDetails. +func (hacld HeavyAccountCopyLogDetails) AsDiskCopyLogDetails() (*DiskCopyLogDetails, bool) { + return nil, false +} + +// AsHeavyAccountCopyLogDetails is the BasicCopyLogDetails implementation for HeavyAccountCopyLogDetails. +func (hacld HeavyAccountCopyLogDetails) AsHeavyAccountCopyLogDetails() (*HeavyAccountCopyLogDetails, bool) { + return &hacld, true +} + +// AsCopyLogDetails is the BasicCopyLogDetails implementation for HeavyAccountCopyLogDetails. +func (hacld HeavyAccountCopyLogDetails) AsCopyLogDetails() (*CopyLogDetails, bool) { + return nil, false +} + +// AsBasicCopyLogDetails is the BasicCopyLogDetails implementation for HeavyAccountCopyLogDetails. +func (hacld HeavyAccountCopyLogDetails) AsBasicCopyLogDetails() (BasicCopyLogDetails, bool) { + return &hacld, true +} + +// HeavyJobDetails databox Heavy Device Job Details +type HeavyJobDetails struct { + // CopyProgress - READ-ONLY; Copy progress per account. + CopyProgress *[]CopyProgress `json:"copyProgress,omitempty"` + // DevicePassword - Set Device password for unlocking Databox Heavy + DevicePassword *string `json:"devicePassword,omitempty"` + // ExpectedDataSizeInTerabytes - The expected size of the data, which needs to be transferred in this job, in terabytes. + ExpectedDataSizeInTerabytes *int32 `json:"expectedDataSizeInTerabytes,omitempty"` + // JobStages - READ-ONLY; List of stages that run in the job. + JobStages *[]JobStages `json:"jobStages,omitempty"` + // ContactDetails - Contact details for notification and shipping. + ContactDetails *ContactDetails `json:"contactDetails,omitempty"` + // ShippingAddress - Shipping address of the customer. + ShippingAddress *ShippingAddress `json:"shippingAddress,omitempty"` + // DeliveryPackage - READ-ONLY; Delivery package shipping details. + DeliveryPackage *PackageShippingDetails `json:"deliveryPackage,omitempty"` + // ReturnPackage - READ-ONLY; Return package shipping details. + ReturnPackage *PackageShippingDetails `json:"returnPackage,omitempty"` + // DestinationAccountDetails - Destination account details. + DestinationAccountDetails *[]BasicDestinationAccountDetails `json:"destinationAccountDetails,omitempty"` + // ErrorDetails - READ-ONLY; Error details for failure. This is optional. + ErrorDetails *[]JobErrorDetails `json:"errorDetails,omitempty"` + // Preferences - Preferences for the order. + Preferences *Preferences `json:"preferences,omitempty"` + // CopyLogDetails - READ-ONLY; List of copy log details. + CopyLogDetails *[]BasicCopyLogDetails `json:"copyLogDetails,omitempty"` + // ReverseShipmentLabelSasKey - READ-ONLY; Shared access key to download the return shipment label + ReverseShipmentLabelSasKey *string `json:"reverseShipmentLabelSasKey,omitempty"` + // ChainOfCustodySasKey - READ-ONLY; Shared access key to download the chain of custody logs + ChainOfCustodySasKey *string `json:"chainOfCustodySasKey,omitempty"` + // JobDetailsType - Possible values include: 'JobDetailsTypeJobDetails', 'JobDetailsTypeDataBoxDisk', 'JobDetailsTypeDataBoxHeavy', 'JobDetailsTypeDataBox' + JobDetailsType JobDetailsTypeEnum `json:"jobDetailsType,omitempty"` +} + +// MarshalJSON is the custom marshaler for HeavyJobDetails. +func (hjd HeavyJobDetails) MarshalJSON() ([]byte, error) { + hjd.JobDetailsType = JobDetailsTypeDataBoxHeavy + objectMap := make(map[string]interface{}) + if hjd.DevicePassword != nil { + objectMap["devicePassword"] = hjd.DevicePassword + } + if hjd.ExpectedDataSizeInTerabytes != nil { + objectMap["expectedDataSizeInTerabytes"] = hjd.ExpectedDataSizeInTerabytes + } + if hjd.ContactDetails != nil { + objectMap["contactDetails"] = hjd.ContactDetails + } + if hjd.ShippingAddress != nil { + objectMap["shippingAddress"] = hjd.ShippingAddress + } + if hjd.DestinationAccountDetails != nil { + objectMap["destinationAccountDetails"] = hjd.DestinationAccountDetails + } + if hjd.Preferences != nil { + objectMap["preferences"] = hjd.Preferences + } + if hjd.JobDetailsType != "" { + objectMap["jobDetailsType"] = hjd.JobDetailsType + } + return json.Marshal(objectMap) +} + +// AsDiskJobDetails is the BasicJobDetails implementation for HeavyJobDetails. +func (hjd HeavyJobDetails) AsDiskJobDetails() (*DiskJobDetails, bool) { + return nil, false +} + +// AsHeavyJobDetails is the BasicJobDetails implementation for HeavyJobDetails. +func (hjd HeavyJobDetails) AsHeavyJobDetails() (*HeavyJobDetails, bool) { + return &hjd, true +} + +// AsJobDetailsType is the BasicJobDetails implementation for HeavyJobDetails. +func (hjd HeavyJobDetails) AsJobDetailsType() (*JobDetailsType, bool) { + return nil, false +} + +// AsJobDetails is the BasicJobDetails implementation for HeavyJobDetails. +func (hjd HeavyJobDetails) AsJobDetails() (*JobDetails, bool) { + return nil, false +} + +// AsBasicJobDetails is the BasicJobDetails implementation for HeavyJobDetails. +func (hjd HeavyJobDetails) AsBasicJobDetails() (BasicJobDetails, bool) { + return &hjd, true +} + +// UnmarshalJSON is the custom unmarshaler for HeavyJobDetails struct. +func (hjd *HeavyJobDetails) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "copyProgress": + if v != nil { + var copyProgress []CopyProgress + err = json.Unmarshal(*v, ©Progress) + if err != nil { + return err + } + hjd.CopyProgress = ©Progress + } + case "devicePassword": + if v != nil { + var devicePassword string + err = json.Unmarshal(*v, &devicePassword) + if err != nil { + return err + } + hjd.DevicePassword = &devicePassword + } + case "expectedDataSizeInTerabytes": + if v != nil { + var expectedDataSizeInTerabytes int32 + err = json.Unmarshal(*v, &expectedDataSizeInTerabytes) + if err != nil { + return err + } + hjd.ExpectedDataSizeInTerabytes = &expectedDataSizeInTerabytes + } + case "jobStages": + if v != nil { + var jobStages []JobStages + err = json.Unmarshal(*v, &jobStages) + if err != nil { + return err + } + hjd.JobStages = &jobStages + } + case "contactDetails": + if v != nil { + var contactDetails ContactDetails + err = json.Unmarshal(*v, &contactDetails) + if err != nil { + return err + } + hjd.ContactDetails = &contactDetails + } + case "shippingAddress": + if v != nil { + var shippingAddress ShippingAddress + err = json.Unmarshal(*v, &shippingAddress) + if err != nil { + return err + } + hjd.ShippingAddress = &shippingAddress + } + case "deliveryPackage": + if v != nil { + var deliveryPackage PackageShippingDetails + err = json.Unmarshal(*v, &deliveryPackage) + if err != nil { + return err + } + hjd.DeliveryPackage = &deliveryPackage + } + case "returnPackage": + if v != nil { + var returnPackage PackageShippingDetails + err = json.Unmarshal(*v, &returnPackage) + if err != nil { + return err + } + hjd.ReturnPackage = &returnPackage + } + case "destinationAccountDetails": + if v != nil { + destinationAccountDetails, err := unmarshalBasicDestinationAccountDetailsArray(*v) + if err != nil { + return err + } + hjd.DestinationAccountDetails = &destinationAccountDetails + } + case "errorDetails": + if v != nil { + var errorDetails []JobErrorDetails + err = json.Unmarshal(*v, &errorDetails) + if err != nil { + return err + } + hjd.ErrorDetails = &errorDetails + } + case "preferences": + if v != nil { + var preferences Preferences + err = json.Unmarshal(*v, &preferences) + if err != nil { + return err + } + hjd.Preferences = &preferences + } + case "copyLogDetails": + if v != nil { + copyLogDetails, err := unmarshalBasicCopyLogDetailsArray(*v) + if err != nil { + return err + } + hjd.CopyLogDetails = ©LogDetails + } + case "reverseShipmentLabelSasKey": + if v != nil { + var reverseShipmentLabelSasKey string + err = json.Unmarshal(*v, &reverseShipmentLabelSasKey) + if err != nil { + return err + } + hjd.ReverseShipmentLabelSasKey = &reverseShipmentLabelSasKey + } + case "chainOfCustodySasKey": + if v != nil { + var chainOfCustodySasKey string + err = json.Unmarshal(*v, &chainOfCustodySasKey) + if err != nil { + return err + } + hjd.ChainOfCustodySasKey = &chainOfCustodySasKey + } + case "jobDetailsType": + if v != nil { + var jobDetailsType JobDetailsTypeEnum + err = json.Unmarshal(*v, &jobDetailsType) + if err != nil { + return err + } + hjd.JobDetailsType = jobDetailsType + } + } + } + + return nil +} + +// HeavyJobSecrets the secrets related to a databox heavy job. +type HeavyJobSecrets struct { + // CabinetPodSecrets - READ-ONLY; Contains the list of secret objects for a databox heavy job. + CabinetPodSecrets *[]HeavySecret `json:"cabinetPodSecrets,omitempty"` + // DcAccessSecurityCode - Dc Access Security Code for Customer Managed Shipping + DcAccessSecurityCode *DcAccessSecurityCode `json:"dcAccessSecurityCode,omitempty"` + // JobSecretsType - Possible values include: 'JobSecretsTypeJobSecrets', 'JobSecretsTypeDataBoxDisk', 'JobSecretsTypeDataBoxHeavy', 'JobSecretsTypeDataBox' + JobSecretsType JobSecretsTypeEnum `json:"jobSecretsType,omitempty"` +} + +// MarshalJSON is the custom marshaler for HeavyJobSecrets. +func (hjs HeavyJobSecrets) MarshalJSON() ([]byte, error) { + hjs.JobSecretsType = JobSecretsTypeDataBoxHeavy + objectMap := make(map[string]interface{}) + if hjs.DcAccessSecurityCode != nil { + objectMap["dcAccessSecurityCode"] = hjs.DcAccessSecurityCode + } + if hjs.JobSecretsType != "" { + objectMap["jobSecretsType"] = hjs.JobSecretsType + } + return json.Marshal(objectMap) +} + +// AsDiskJobSecrets is the BasicJobSecrets implementation for HeavyJobSecrets. +func (hjs HeavyJobSecrets) AsDiskJobSecrets() (*DiskJobSecrets, bool) { + return nil, false +} + +// AsHeavyJobSecrets is the BasicJobSecrets implementation for HeavyJobSecrets. +func (hjs HeavyJobSecrets) AsHeavyJobSecrets() (*HeavyJobSecrets, bool) { + return &hjs, true +} + +// AsJobSecretsType is the BasicJobSecrets implementation for HeavyJobSecrets. +func (hjs HeavyJobSecrets) AsJobSecretsType() (*JobSecretsType, bool) { + return nil, false +} + +// AsJobSecrets is the BasicJobSecrets implementation for HeavyJobSecrets. +func (hjs HeavyJobSecrets) AsJobSecrets() (*JobSecrets, bool) { + return nil, false +} + +// AsBasicJobSecrets is the BasicJobSecrets implementation for HeavyJobSecrets. +func (hjs HeavyJobSecrets) AsBasicJobSecrets() (BasicJobSecrets, bool) { + return &hjs, true +} + +// HeavyScheduleAvailabilityRequest request body to get the availability for scheduling heavy orders. +type HeavyScheduleAvailabilityRequest struct { + // StorageLocation - Location for data transfer. + // For locations check: https://management.azure.com/subscriptions/SUBSCRIPTIONID/locations?api-version=2018-01-01 + StorageLocation *string `json:"storageLocation,omitempty"` + // SkuName - Possible values include: 'SkuNameScheduleAvailabilityRequest', 'SkuNameDataBox', 'SkuNameDataBoxDisk', 'SkuNameDataBoxHeavy' + SkuName SkuNameBasicScheduleAvailabilityRequest `json:"skuName,omitempty"` +} + +// MarshalJSON is the custom marshaler for HeavyScheduleAvailabilityRequest. +func (hsar HeavyScheduleAvailabilityRequest) MarshalJSON() ([]byte, error) { + hsar.SkuName = SkuNameDataBoxHeavy + objectMap := make(map[string]interface{}) + if hsar.StorageLocation != nil { + objectMap["storageLocation"] = hsar.StorageLocation + } + if hsar.SkuName != "" { + objectMap["skuName"] = hsar.SkuName + } + return json.Marshal(objectMap) +} + +// AsScheduleAvailabilityRequestType is the BasicScheduleAvailabilityRequest implementation for HeavyScheduleAvailabilityRequest. +func (hsar HeavyScheduleAvailabilityRequest) AsScheduleAvailabilityRequestType() (*ScheduleAvailabilityRequestType, bool) { + return nil, false +} + +// AsDiskScheduleAvailabilityRequest is the BasicScheduleAvailabilityRequest implementation for HeavyScheduleAvailabilityRequest. +func (hsar HeavyScheduleAvailabilityRequest) AsDiskScheduleAvailabilityRequest() (*DiskScheduleAvailabilityRequest, bool) { + return nil, false +} + +// AsHeavyScheduleAvailabilityRequest is the BasicScheduleAvailabilityRequest implementation for HeavyScheduleAvailabilityRequest. +func (hsar HeavyScheduleAvailabilityRequest) AsHeavyScheduleAvailabilityRequest() (*HeavyScheduleAvailabilityRequest, bool) { + return &hsar, true +} + +// AsScheduleAvailabilityRequest is the BasicScheduleAvailabilityRequest implementation for HeavyScheduleAvailabilityRequest. +func (hsar HeavyScheduleAvailabilityRequest) AsScheduleAvailabilityRequest() (*ScheduleAvailabilityRequest, bool) { + return nil, false +} + +// AsBasicScheduleAvailabilityRequest is the BasicScheduleAvailabilityRequest implementation for HeavyScheduleAvailabilityRequest. +func (hsar HeavyScheduleAvailabilityRequest) AsBasicScheduleAvailabilityRequest() (BasicScheduleAvailabilityRequest, bool) { + return &hsar, true +} + +// HeavySecret the secrets related to a databox heavy. +type HeavySecret struct { + // DeviceSerialNumber - READ-ONLY; Serial number of the assigned device. + DeviceSerialNumber *string `json:"deviceSerialNumber,omitempty"` + // DevicePassword - READ-ONLY; Password for out of the box experience on device. + DevicePassword *string `json:"devicePassword,omitempty"` + // NetworkConfigurations - READ-ONLY; Network configuration of the appliance. + NetworkConfigurations *[]ApplianceNetworkConfiguration `json:"networkConfigurations,omitempty"` + // EncodedValidationCertPubKey - READ-ONLY; The base 64 encoded public key to authenticate with the device + EncodedValidationCertPubKey *string `json:"encodedValidationCertPubKey,omitempty"` + // AccountCredentialDetails - READ-ONLY; Per account level access credentials. + AccountCredentialDetails *[]AccountCredentialDetails `json:"accountCredentialDetails,omitempty"` +} + +// JobDeliveryInfo additional delivery info. +type JobDeliveryInfo struct { + // ScheduledDateTime - Scheduled date time. + ScheduledDateTime *date.Time `json:"scheduledDateTime,omitempty"` +} + +// BasicJobDetails job details. +type BasicJobDetails interface { + AsDiskJobDetails() (*DiskJobDetails, bool) + AsHeavyJobDetails() (*HeavyJobDetails, bool) + AsJobDetailsType() (*JobDetailsType, bool) + AsJobDetails() (*JobDetails, bool) +} + +// JobDetails job details. +type JobDetails struct { + // ExpectedDataSizeInTerabytes - The expected size of the data, which needs to be transferred in this job, in terabytes. + ExpectedDataSizeInTerabytes *int32 `json:"expectedDataSizeInTerabytes,omitempty"` + // JobStages - READ-ONLY; List of stages that run in the job. + JobStages *[]JobStages `json:"jobStages,omitempty"` + // ContactDetails - Contact details for notification and shipping. + ContactDetails *ContactDetails `json:"contactDetails,omitempty"` + // ShippingAddress - Shipping address of the customer. + ShippingAddress *ShippingAddress `json:"shippingAddress,omitempty"` + // DeliveryPackage - READ-ONLY; Delivery package shipping details. + DeliveryPackage *PackageShippingDetails `json:"deliveryPackage,omitempty"` + // ReturnPackage - READ-ONLY; Return package shipping details. + ReturnPackage *PackageShippingDetails `json:"returnPackage,omitempty"` + // DestinationAccountDetails - Destination account details. + DestinationAccountDetails *[]BasicDestinationAccountDetails `json:"destinationAccountDetails,omitempty"` + // ErrorDetails - READ-ONLY; Error details for failure. This is optional. + ErrorDetails *[]JobErrorDetails `json:"errorDetails,omitempty"` + // Preferences - Preferences for the order. + Preferences *Preferences `json:"preferences,omitempty"` + // CopyLogDetails - READ-ONLY; List of copy log details. + CopyLogDetails *[]BasicCopyLogDetails `json:"copyLogDetails,omitempty"` + // ReverseShipmentLabelSasKey - READ-ONLY; Shared access key to download the return shipment label + ReverseShipmentLabelSasKey *string `json:"reverseShipmentLabelSasKey,omitempty"` + // ChainOfCustodySasKey - READ-ONLY; Shared access key to download the chain of custody logs + ChainOfCustodySasKey *string `json:"chainOfCustodySasKey,omitempty"` + // JobDetailsType - Possible values include: 'JobDetailsTypeJobDetails', 'JobDetailsTypeDataBoxDisk', 'JobDetailsTypeDataBoxHeavy', 'JobDetailsTypeDataBox' + JobDetailsType JobDetailsTypeEnum `json:"jobDetailsType,omitempty"` +} + +func unmarshalBasicJobDetails(body []byte) (BasicJobDetails, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["jobDetailsType"] { + case string(JobDetailsTypeDataBoxDisk): + var djd DiskJobDetails + err := json.Unmarshal(body, &djd) + return djd, err + case string(JobDetailsTypeDataBoxHeavy): + var hjd HeavyJobDetails + err := json.Unmarshal(body, &hjd) + return hjd, err + case string(JobDetailsTypeDataBox): + var jdt JobDetailsType + err := json.Unmarshal(body, &jdt) + return jdt, err + default: + var jd JobDetails + err := json.Unmarshal(body, &jd) + return jd, err + } +} +func unmarshalBasicJobDetailsArray(body []byte) ([]BasicJobDetails, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + jdArray := make([]BasicJobDetails, len(rawMessages)) + + for index, rawMessage := range rawMessages { + jd, err := unmarshalBasicJobDetails(*rawMessage) + if err != nil { + return nil, err + } + jdArray[index] = jd + } + return jdArray, nil +} + +// MarshalJSON is the custom marshaler for JobDetails. +func (jd JobDetails) MarshalJSON() ([]byte, error) { + jd.JobDetailsType = JobDetailsTypeJobDetails + objectMap := make(map[string]interface{}) + if jd.ExpectedDataSizeInTerabytes != nil { + objectMap["expectedDataSizeInTerabytes"] = jd.ExpectedDataSizeInTerabytes + } + if jd.ContactDetails != nil { + objectMap["contactDetails"] = jd.ContactDetails + } + if jd.ShippingAddress != nil { + objectMap["shippingAddress"] = jd.ShippingAddress + } + if jd.DestinationAccountDetails != nil { + objectMap["destinationAccountDetails"] = jd.DestinationAccountDetails + } + if jd.Preferences != nil { + objectMap["preferences"] = jd.Preferences + } + if jd.JobDetailsType != "" { + objectMap["jobDetailsType"] = jd.JobDetailsType + } + return json.Marshal(objectMap) +} + +// AsDiskJobDetails is the BasicJobDetails implementation for JobDetails. +func (jd JobDetails) AsDiskJobDetails() (*DiskJobDetails, bool) { + return nil, false +} + +// AsHeavyJobDetails is the BasicJobDetails implementation for JobDetails. +func (jd JobDetails) AsHeavyJobDetails() (*HeavyJobDetails, bool) { + return nil, false +} + +// AsJobDetailsType is the BasicJobDetails implementation for JobDetails. +func (jd JobDetails) AsJobDetailsType() (*JobDetailsType, bool) { + return nil, false +} + +// AsJobDetails is the BasicJobDetails implementation for JobDetails. +func (jd JobDetails) AsJobDetails() (*JobDetails, bool) { + return &jd, true +} + +// AsBasicJobDetails is the BasicJobDetails implementation for JobDetails. +func (jd JobDetails) AsBasicJobDetails() (BasicJobDetails, bool) { + return &jd, true +} + +// UnmarshalJSON is the custom unmarshaler for JobDetails struct. +func (jd *JobDetails) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "expectedDataSizeInTerabytes": + if v != nil { + var expectedDataSizeInTerabytes int32 + err = json.Unmarshal(*v, &expectedDataSizeInTerabytes) + if err != nil { + return err + } + jd.ExpectedDataSizeInTerabytes = &expectedDataSizeInTerabytes + } + case "jobStages": + if v != nil { + var jobStages []JobStages + err = json.Unmarshal(*v, &jobStages) + if err != nil { + return err + } + jd.JobStages = &jobStages + } + case "contactDetails": + if v != nil { + var contactDetails ContactDetails + err = json.Unmarshal(*v, &contactDetails) + if err != nil { + return err + } + jd.ContactDetails = &contactDetails + } + case "shippingAddress": + if v != nil { + var shippingAddress ShippingAddress + err = json.Unmarshal(*v, &shippingAddress) + if err != nil { + return err + } + jd.ShippingAddress = &shippingAddress + } + case "deliveryPackage": + if v != nil { + var deliveryPackage PackageShippingDetails + err = json.Unmarshal(*v, &deliveryPackage) + if err != nil { + return err + } + jd.DeliveryPackage = &deliveryPackage + } + case "returnPackage": + if v != nil { + var returnPackage PackageShippingDetails + err = json.Unmarshal(*v, &returnPackage) + if err != nil { + return err + } + jd.ReturnPackage = &returnPackage + } + case "destinationAccountDetails": + if v != nil { + destinationAccountDetails, err := unmarshalBasicDestinationAccountDetailsArray(*v) + if err != nil { + return err + } + jd.DestinationAccountDetails = &destinationAccountDetails + } + case "errorDetails": + if v != nil { + var errorDetails []JobErrorDetails + err = json.Unmarshal(*v, &errorDetails) + if err != nil { + return err + } + jd.ErrorDetails = &errorDetails + } + case "preferences": + if v != nil { + var preferences Preferences + err = json.Unmarshal(*v, &preferences) + if err != nil { + return err + } + jd.Preferences = &preferences + } + case "copyLogDetails": + if v != nil { + copyLogDetails, err := unmarshalBasicCopyLogDetailsArray(*v) + if err != nil { + return err + } + jd.CopyLogDetails = ©LogDetails + } + case "reverseShipmentLabelSasKey": + if v != nil { + var reverseShipmentLabelSasKey string + err = json.Unmarshal(*v, &reverseShipmentLabelSasKey) + if err != nil { + return err + } + jd.ReverseShipmentLabelSasKey = &reverseShipmentLabelSasKey + } + case "chainOfCustodySasKey": + if v != nil { + var chainOfCustodySasKey string + err = json.Unmarshal(*v, &chainOfCustodySasKey) + if err != nil { + return err + } + jd.ChainOfCustodySasKey = &chainOfCustodySasKey + } + case "jobDetailsType": + if v != nil { + var jobDetailsType JobDetailsTypeEnum + err = json.Unmarshal(*v, &jobDetailsType) + if err != nil { + return err + } + jd.JobDetailsType = jobDetailsType + } + } + } + + return nil +} + +// JobDetailsType databox Job Details +type JobDetailsType struct { + // CopyProgress - READ-ONLY; Copy progress per storage account. + CopyProgress *[]CopyProgress `json:"copyProgress,omitempty"` + // DevicePassword - Set Device password for unlocking Databox + DevicePassword *string `json:"devicePassword,omitempty"` + // ExpectedDataSizeInTerabytes - The expected size of the data, which needs to be transferred in this job, in terabytes. + ExpectedDataSizeInTerabytes *int32 `json:"expectedDataSizeInTerabytes,omitempty"` + // JobStages - READ-ONLY; List of stages that run in the job. + JobStages *[]JobStages `json:"jobStages,omitempty"` + // ContactDetails - Contact details for notification and shipping. + ContactDetails *ContactDetails `json:"contactDetails,omitempty"` + // ShippingAddress - Shipping address of the customer. + ShippingAddress *ShippingAddress `json:"shippingAddress,omitempty"` + // DeliveryPackage - READ-ONLY; Delivery package shipping details. + DeliveryPackage *PackageShippingDetails `json:"deliveryPackage,omitempty"` + // ReturnPackage - READ-ONLY; Return package shipping details. + ReturnPackage *PackageShippingDetails `json:"returnPackage,omitempty"` + // DestinationAccountDetails - Destination account details. + DestinationAccountDetails *[]BasicDestinationAccountDetails `json:"destinationAccountDetails,omitempty"` + // ErrorDetails - READ-ONLY; Error details for failure. This is optional. + ErrorDetails *[]JobErrorDetails `json:"errorDetails,omitempty"` + // Preferences - Preferences for the order. + Preferences *Preferences `json:"preferences,omitempty"` + // CopyLogDetails - READ-ONLY; List of copy log details. + CopyLogDetails *[]BasicCopyLogDetails `json:"copyLogDetails,omitempty"` + // ReverseShipmentLabelSasKey - READ-ONLY; Shared access key to download the return shipment label + ReverseShipmentLabelSasKey *string `json:"reverseShipmentLabelSasKey,omitempty"` + // ChainOfCustodySasKey - READ-ONLY; Shared access key to download the chain of custody logs + ChainOfCustodySasKey *string `json:"chainOfCustodySasKey,omitempty"` + // JobDetailsType - Possible values include: 'JobDetailsTypeJobDetails', 'JobDetailsTypeDataBoxDisk', 'JobDetailsTypeDataBoxHeavy', 'JobDetailsTypeDataBox' + JobDetailsType JobDetailsTypeEnum `json:"jobDetailsType,omitempty"` +} + +// MarshalJSON is the custom marshaler for JobDetailsType. +func (jdt JobDetailsType) MarshalJSON() ([]byte, error) { + jdt.JobDetailsType = JobDetailsTypeDataBox + objectMap := make(map[string]interface{}) + if jdt.DevicePassword != nil { + objectMap["devicePassword"] = jdt.DevicePassword + } + if jdt.ExpectedDataSizeInTerabytes != nil { + objectMap["expectedDataSizeInTerabytes"] = jdt.ExpectedDataSizeInTerabytes + } + if jdt.ContactDetails != nil { + objectMap["contactDetails"] = jdt.ContactDetails + } + if jdt.ShippingAddress != nil { + objectMap["shippingAddress"] = jdt.ShippingAddress + } + if jdt.DestinationAccountDetails != nil { + objectMap["destinationAccountDetails"] = jdt.DestinationAccountDetails + } + if jdt.Preferences != nil { + objectMap["preferences"] = jdt.Preferences + } + if jdt.JobDetailsType != "" { + objectMap["jobDetailsType"] = jdt.JobDetailsType + } + return json.Marshal(objectMap) +} + +// AsDiskJobDetails is the BasicJobDetails implementation for JobDetailsType. +func (jdt JobDetailsType) AsDiskJobDetails() (*DiskJobDetails, bool) { + return nil, false +} + +// AsHeavyJobDetails is the BasicJobDetails implementation for JobDetailsType. +func (jdt JobDetailsType) AsHeavyJobDetails() (*HeavyJobDetails, bool) { + return nil, false +} + +// AsJobDetailsType is the BasicJobDetails implementation for JobDetailsType. +func (jdt JobDetailsType) AsJobDetailsType() (*JobDetailsType, bool) { + return &jdt, true +} + +// AsJobDetails is the BasicJobDetails implementation for JobDetailsType. +func (jdt JobDetailsType) AsJobDetails() (*JobDetails, bool) { + return nil, false +} + +// AsBasicJobDetails is the BasicJobDetails implementation for JobDetailsType. +func (jdt JobDetailsType) AsBasicJobDetails() (BasicJobDetails, bool) { + return &jdt, true +} + +// UnmarshalJSON is the custom unmarshaler for JobDetailsType struct. +func (jdt *JobDetailsType) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "copyProgress": + if v != nil { + var copyProgress []CopyProgress + err = json.Unmarshal(*v, ©Progress) + if err != nil { + return err + } + jdt.CopyProgress = ©Progress + } + case "devicePassword": + if v != nil { + var devicePassword string + err = json.Unmarshal(*v, &devicePassword) + if err != nil { + return err + } + jdt.DevicePassword = &devicePassword + } + case "expectedDataSizeInTerabytes": + if v != nil { + var expectedDataSizeInTerabytes int32 + err = json.Unmarshal(*v, &expectedDataSizeInTerabytes) + if err != nil { + return err + } + jdt.ExpectedDataSizeInTerabytes = &expectedDataSizeInTerabytes + } + case "jobStages": + if v != nil { + var jobStages []JobStages + err = json.Unmarshal(*v, &jobStages) + if err != nil { + return err + } + jdt.JobStages = &jobStages + } + case "contactDetails": + if v != nil { + var contactDetails ContactDetails + err = json.Unmarshal(*v, &contactDetails) + if err != nil { + return err + } + jdt.ContactDetails = &contactDetails + } + case "shippingAddress": + if v != nil { + var shippingAddress ShippingAddress + err = json.Unmarshal(*v, &shippingAddress) + if err != nil { + return err + } + jdt.ShippingAddress = &shippingAddress + } + case "deliveryPackage": + if v != nil { + var deliveryPackage PackageShippingDetails + err = json.Unmarshal(*v, &deliveryPackage) + if err != nil { + return err + } + jdt.DeliveryPackage = &deliveryPackage + } + case "returnPackage": + if v != nil { + var returnPackage PackageShippingDetails + err = json.Unmarshal(*v, &returnPackage) + if err != nil { + return err + } + jdt.ReturnPackage = &returnPackage + } + case "destinationAccountDetails": + if v != nil { + destinationAccountDetails, err := unmarshalBasicDestinationAccountDetailsArray(*v) + if err != nil { + return err + } + jdt.DestinationAccountDetails = &destinationAccountDetails + } + case "errorDetails": + if v != nil { + var errorDetails []JobErrorDetails + err = json.Unmarshal(*v, &errorDetails) + if err != nil { + return err + } + jdt.ErrorDetails = &errorDetails + } + case "preferences": + if v != nil { + var preferences Preferences + err = json.Unmarshal(*v, &preferences) + if err != nil { + return err + } + jdt.Preferences = &preferences + } + case "copyLogDetails": + if v != nil { + copyLogDetails, err := unmarshalBasicCopyLogDetailsArray(*v) + if err != nil { + return err + } + jdt.CopyLogDetails = ©LogDetails + } + case "reverseShipmentLabelSasKey": + if v != nil { + var reverseShipmentLabelSasKey string + err = json.Unmarshal(*v, &reverseShipmentLabelSasKey) + if err != nil { + return err + } + jdt.ReverseShipmentLabelSasKey = &reverseShipmentLabelSasKey + } + case "chainOfCustodySasKey": + if v != nil { + var chainOfCustodySasKey string + err = json.Unmarshal(*v, &chainOfCustodySasKey) + if err != nil { + return err + } + jdt.ChainOfCustodySasKey = &chainOfCustodySasKey + } + case "jobDetailsType": + if v != nil { + var jobDetailsType JobDetailsTypeEnum + err = json.Unmarshal(*v, &jobDetailsType) + if err != nil { + return err + } + jdt.JobDetailsType = jobDetailsType + } + } + } + + return nil +} + +// JobErrorDetails job Error Details for providing the information and recommended action. +type JobErrorDetails struct { + // ErrorMessage - READ-ONLY; Message for the error. + ErrorMessage *string `json:"errorMessage,omitempty"` + // ErrorCode - READ-ONLY; Code for the error. + ErrorCode *int32 `json:"errorCode,omitempty"` + // RecommendedAction - READ-ONLY; Recommended action for the error. + RecommendedAction *string `json:"recommendedAction,omitempty"` + // ExceptionMessage - READ-ONLY; Contains the non localized exception message + ExceptionMessage *string `json:"exceptionMessage,omitempty"` +} + +// JobProperties job Properties +type JobProperties struct { + // IsCancellable - READ-ONLY; Describes whether the job is cancellable or not. + IsCancellable *bool `json:"isCancellable,omitempty"` + // IsDeletable - READ-ONLY; Describes whether the job is deletable or not. + IsDeletable *bool `json:"isDeletable,omitempty"` + // IsShippingAddressEditable - READ-ONLY; Describes whether the shipping address is editable or not. + IsShippingAddressEditable *bool `json:"isShippingAddressEditable,omitempty"` + // Status - READ-ONLY; Name of the stage which is in progress. Possible values include: 'StageNameDeviceOrdered', 'StageNameDevicePrepared', 'StageNameDispatched', 'StageNameDelivered', 'StageNamePickedUp', 'StageNameAtAzureDC', 'StageNameDataCopy', 'StageNameCompleted', 'StageNameCompletedWithErrors', 'StageNameCancelled', 'StageNameFailedIssueReportedAtCustomer', 'StageNameFailedIssueDetectedAtAzureDC', 'StageNameAborted', 'StageNameCompletedWithWarnings', 'StageNameReadyToDispatchFromAzureDC', 'StageNameReadyToReceiveAtAzureDC' + Status StageName `json:"status,omitempty"` + // StartTime - READ-ONLY; Time at which the job was started in UTC ISO 8601 format. + StartTime *date.Time `json:"startTime,omitempty"` + // Error - READ-ONLY; Top level error for the job. + Error *Error `json:"error,omitempty"` + // Details - Details of a job run. This field will only be sent for expand details filter. + Details BasicJobDetails `json:"details,omitempty"` + // CancellationReason - READ-ONLY; Reason for cancellation. + CancellationReason *string `json:"cancellationReason,omitempty"` + // DeliveryType - Delivery type of Job. Possible values include: 'NonScheduled', 'Scheduled' + DeliveryType JobDeliveryType `json:"deliveryType,omitempty"` + // DeliveryInfo - Delivery Info of Job. + DeliveryInfo *JobDeliveryInfo `json:"deliveryInfo,omitempty"` + // IsCancellableWithoutFee - READ-ONLY; Flag to indicate cancellation of scheduled job. + IsCancellableWithoutFee *bool `json:"isCancellableWithoutFee,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for JobProperties struct. +func (jp *JobProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "isCancellable": + if v != nil { + var isCancellable bool + err = json.Unmarshal(*v, &isCancellable) + if err != nil { + return err + } + jp.IsCancellable = &isCancellable + } + case "isDeletable": + if v != nil { + var isDeletable bool + err = json.Unmarshal(*v, &isDeletable) + if err != nil { + return err + } + jp.IsDeletable = &isDeletable + } + case "isShippingAddressEditable": + if v != nil { + var isShippingAddressEditable bool + err = json.Unmarshal(*v, &isShippingAddressEditable) + if err != nil { + return err + } + jp.IsShippingAddressEditable = &isShippingAddressEditable + } + case "status": + if v != nil { + var status StageName + err = json.Unmarshal(*v, &status) + if err != nil { + return err + } + jp.Status = status + } + case "startTime": + if v != nil { + var startTime date.Time + err = json.Unmarshal(*v, &startTime) + if err != nil { + return err + } + jp.StartTime = &startTime + } + case "error": + if v != nil { + var errorVar Error + err = json.Unmarshal(*v, &errorVar) + if err != nil { + return err + } + jp.Error = &errorVar + } + case "details": + if v != nil { + details, err := unmarshalBasicJobDetails(*v) + if err != nil { + return err + } + jp.Details = details + } + case "cancellationReason": + if v != nil { + var cancellationReason string + err = json.Unmarshal(*v, &cancellationReason) + if err != nil { + return err + } + jp.CancellationReason = &cancellationReason + } + case "deliveryType": + if v != nil { + var deliveryType JobDeliveryType + err = json.Unmarshal(*v, &deliveryType) + if err != nil { + return err + } + jp.DeliveryType = deliveryType + } + case "deliveryInfo": + if v != nil { + var deliveryInfo JobDeliveryInfo + err = json.Unmarshal(*v, &deliveryInfo) + if err != nil { + return err + } + jp.DeliveryInfo = &deliveryInfo + } + case "isCancellableWithoutFee": + if v != nil { + var isCancellableWithoutFee bool + err = json.Unmarshal(*v, &isCancellableWithoutFee) + if err != nil { + return err + } + jp.IsCancellableWithoutFee = &isCancellableWithoutFee + } + } + } + + return nil +} + +// JobResource job Resource. +type JobResource struct { + autorest.Response `json:"-"` + // JobProperties - Properties of a job. + *JobProperties `json:"properties,omitempty"` + // Name - READ-ONLY; Name of the object. + Name *string `json:"name,omitempty"` + // ID - READ-ONLY; Id of the object. + ID *string `json:"id,omitempty"` + // Type - READ-ONLY; Type of the object. + Type *string `json:"type,omitempty"` + // Location - The location of the resource. This will be one of the supported and registered Azure Regions (e.g. West US, East US, Southeast Asia, etc.). The region of a resource cannot be changed once it is created, but if an identical region is specified on update the request will succeed. + Location *string `json:"location,omitempty"` + // Tags - The list of key value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). + Tags map[string]*string `json:"tags"` + // Sku - The sku type. + Sku *Sku `json:"sku,omitempty"` +} + +// MarshalJSON is the custom marshaler for JobResource. +func (jr JobResource) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if jr.JobProperties != nil { + objectMap["properties"] = jr.JobProperties + } + if jr.Location != nil { + objectMap["location"] = jr.Location + } + if jr.Tags != nil { + objectMap["tags"] = jr.Tags + } + if jr.Sku != nil { + objectMap["sku"] = jr.Sku + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for JobResource struct. +func (jr *JobResource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var jobProperties JobProperties + err = json.Unmarshal(*v, &jobProperties) + if err != nil { + return err + } + jr.JobProperties = &jobProperties + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + jr.Name = &name + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + jr.ID = &ID + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + jr.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + jr.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + jr.Tags = tags + } + case "sku": + if v != nil { + var sku Sku + err = json.Unmarshal(*v, &sku) + if err != nil { + return err + } + jr.Sku = &sku + } + } + } + + return nil +} + +// JobResourceList job Resource Collection +type JobResourceList struct { + autorest.Response `json:"-"` + // Value - List of job resources. + Value *[]JobResource `json:"value,omitempty"` + // NextLink - Link for the next set of job resources. + NextLink *string `json:"nextLink,omitempty"` +} + +// JobResourceListIterator provides access to a complete listing of JobResource values. +type JobResourceListIterator struct { + i int + page JobResourceListPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *JobResourceListIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/JobResourceListIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *JobResourceListIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter JobResourceListIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter JobResourceListIterator) Response() JobResourceList { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter JobResourceListIterator) Value() JobResource { + if !iter.page.NotDone() { + return JobResource{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the JobResourceListIterator type. +func NewJobResourceListIterator(page JobResourceListPage) JobResourceListIterator { + return JobResourceListIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (jrl JobResourceList) IsEmpty() bool { + return jrl.Value == nil || len(*jrl.Value) == 0 +} + +// jobResourceListPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (jrl JobResourceList) jobResourceListPreparer(ctx context.Context) (*http.Request, error) { + if jrl.NextLink == nil || len(to.String(jrl.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(jrl.NextLink))) +} + +// JobResourceListPage contains a page of JobResource values. +type JobResourceListPage struct { + fn func(context.Context, JobResourceList) (JobResourceList, error) + jrl JobResourceList +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *JobResourceListPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/JobResourceListPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.jrl) + if err != nil { + return err + } + page.jrl = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *JobResourceListPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page JobResourceListPage) NotDone() bool { + return !page.jrl.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page JobResourceListPage) Response() JobResourceList { + return page.jrl +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page JobResourceListPage) Values() []JobResource { + if page.jrl.IsEmpty() { + return nil + } + return *page.jrl.Value +} + +// Creates a new instance of the JobResourceListPage type. +func NewJobResourceListPage(getNextPage func(context.Context, JobResourceList) (JobResourceList, error)) JobResourceListPage { + return JobResourceListPage{fn: getNextPage} +} + +// JobResourceUpdateParameter the JobResourceUpdateParameter. +type JobResourceUpdateParameter struct { + // UpdateJobProperties - Properties of a job to be updated. + *UpdateJobProperties `json:"properties,omitempty"` + // Tags - The list of key value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for JobResourceUpdateParameter. +func (jrup JobResourceUpdateParameter) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if jrup.UpdateJobProperties != nil { + objectMap["properties"] = jrup.UpdateJobProperties + } + if jrup.Tags != nil { + objectMap["tags"] = jrup.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for JobResourceUpdateParameter struct. +func (jrup *JobResourceUpdateParameter) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var updateJobProperties UpdateJobProperties + err = json.Unmarshal(*v, &updateJobProperties) + if err != nil { + return err + } + jrup.UpdateJobProperties = &updateJobProperties + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + jrup.Tags = tags + } + } + } + + return nil +} + +// JobsCreateFuture an abstraction for monitoring and retrieving the results of a long-running operation. +type JobsCreateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *JobsCreateFuture) Result(client JobsClient) (jr JobResource, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "databox.JobsCreateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("databox.JobsCreateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if jr.Response.Response, err = future.GetResult(sender); err == nil && jr.Response.Response.StatusCode != http.StatusNoContent { + jr, err = client.CreateResponder(jr.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "databox.JobsCreateFuture", "Result", jr.Response.Response, "Failure responding to request") + } + } + return +} + +// JobsDeleteFuture an abstraction for monitoring and retrieving the results of a long-running operation. +type JobsDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *JobsDeleteFuture) Result(client JobsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "databox.JobsDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("databox.JobsDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// BasicJobSecrets the base class for the secrets +type BasicJobSecrets interface { + AsDiskJobSecrets() (*DiskJobSecrets, bool) + AsHeavyJobSecrets() (*HeavyJobSecrets, bool) + AsJobSecretsType() (*JobSecretsType, bool) + AsJobSecrets() (*JobSecrets, bool) +} + +// JobSecrets the base class for the secrets +type JobSecrets struct { + // DcAccessSecurityCode - Dc Access Security Code for Customer Managed Shipping + DcAccessSecurityCode *DcAccessSecurityCode `json:"dcAccessSecurityCode,omitempty"` + // JobSecretsType - Possible values include: 'JobSecretsTypeJobSecrets', 'JobSecretsTypeDataBoxDisk', 'JobSecretsTypeDataBoxHeavy', 'JobSecretsTypeDataBox' + JobSecretsType JobSecretsTypeEnum `json:"jobSecretsType,omitempty"` +} + +func unmarshalBasicJobSecrets(body []byte) (BasicJobSecrets, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["jobSecretsType"] { + case string(JobSecretsTypeDataBoxDisk): + var djs DiskJobSecrets + err := json.Unmarshal(body, &djs) + return djs, err + case string(JobSecretsTypeDataBoxHeavy): + var hjs HeavyJobSecrets + err := json.Unmarshal(body, &hjs) + return hjs, err + case string(JobSecretsTypeDataBox): + var jst JobSecretsType + err := json.Unmarshal(body, &jst) + return jst, err + default: + var js JobSecrets + err := json.Unmarshal(body, &js) + return js, err + } +} +func unmarshalBasicJobSecretsArray(body []byte) ([]BasicJobSecrets, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + jsArray := make([]BasicJobSecrets, len(rawMessages)) + + for index, rawMessage := range rawMessages { + js, err := unmarshalBasicJobSecrets(*rawMessage) + if err != nil { + return nil, err + } + jsArray[index] = js + } + return jsArray, nil +} + +// MarshalJSON is the custom marshaler for JobSecrets. +func (js JobSecrets) MarshalJSON() ([]byte, error) { + js.JobSecretsType = JobSecretsTypeJobSecrets + objectMap := make(map[string]interface{}) + if js.DcAccessSecurityCode != nil { + objectMap["dcAccessSecurityCode"] = js.DcAccessSecurityCode + } + if js.JobSecretsType != "" { + objectMap["jobSecretsType"] = js.JobSecretsType + } + return json.Marshal(objectMap) +} + +// AsDiskJobSecrets is the BasicJobSecrets implementation for JobSecrets. +func (js JobSecrets) AsDiskJobSecrets() (*DiskJobSecrets, bool) { + return nil, false +} + +// AsHeavyJobSecrets is the BasicJobSecrets implementation for JobSecrets. +func (js JobSecrets) AsHeavyJobSecrets() (*HeavyJobSecrets, bool) { + return nil, false +} + +// AsJobSecretsType is the BasicJobSecrets implementation for JobSecrets. +func (js JobSecrets) AsJobSecretsType() (*JobSecretsType, bool) { + return nil, false +} + +// AsJobSecrets is the BasicJobSecrets implementation for JobSecrets. +func (js JobSecrets) AsJobSecrets() (*JobSecrets, bool) { + return &js, true +} + +// AsBasicJobSecrets is the BasicJobSecrets implementation for JobSecrets. +func (js JobSecrets) AsBasicJobSecrets() (BasicJobSecrets, bool) { + return &js, true +} + +// JobSecretsType the secrets related to a databox job. +type JobSecretsType struct { + // PodSecrets - Contains the list of secret objects for a job. + PodSecrets *[]Secret `json:"podSecrets,omitempty"` + // DcAccessSecurityCode - Dc Access Security Code for Customer Managed Shipping + DcAccessSecurityCode *DcAccessSecurityCode `json:"dcAccessSecurityCode,omitempty"` + // JobSecretsType - Possible values include: 'JobSecretsTypeJobSecrets', 'JobSecretsTypeDataBoxDisk', 'JobSecretsTypeDataBoxHeavy', 'JobSecretsTypeDataBox' + JobSecretsType JobSecretsTypeEnum `json:"jobSecretsType,omitempty"` +} + +// MarshalJSON is the custom marshaler for JobSecretsType. +func (jst JobSecretsType) MarshalJSON() ([]byte, error) { + jst.JobSecretsType = JobSecretsTypeDataBox + objectMap := make(map[string]interface{}) + if jst.PodSecrets != nil { + objectMap["podSecrets"] = jst.PodSecrets + } + if jst.DcAccessSecurityCode != nil { + objectMap["dcAccessSecurityCode"] = jst.DcAccessSecurityCode + } + if jst.JobSecretsType != "" { + objectMap["jobSecretsType"] = jst.JobSecretsType + } + return json.Marshal(objectMap) +} + +// AsDiskJobSecrets is the BasicJobSecrets implementation for JobSecretsType. +func (jst JobSecretsType) AsDiskJobSecrets() (*DiskJobSecrets, bool) { + return nil, false +} + +// AsHeavyJobSecrets is the BasicJobSecrets implementation for JobSecretsType. +func (jst JobSecretsType) AsHeavyJobSecrets() (*HeavyJobSecrets, bool) { + return nil, false +} + +// AsJobSecretsType is the BasicJobSecrets implementation for JobSecretsType. +func (jst JobSecretsType) AsJobSecretsType() (*JobSecretsType, bool) { + return &jst, true +} + +// AsJobSecrets is the BasicJobSecrets implementation for JobSecretsType. +func (jst JobSecretsType) AsJobSecrets() (*JobSecrets, bool) { + return nil, false +} + +// AsBasicJobSecrets is the BasicJobSecrets implementation for JobSecretsType. +func (jst JobSecretsType) AsBasicJobSecrets() (BasicJobSecrets, bool) { + return &jst, true +} + +// JobStages job stages. +type JobStages struct { + // StageName - READ-ONLY; Name of the job stage. Possible values include: 'StageNameDeviceOrdered', 'StageNameDevicePrepared', 'StageNameDispatched', 'StageNameDelivered', 'StageNamePickedUp', 'StageNameAtAzureDC', 'StageNameDataCopy', 'StageNameCompleted', 'StageNameCompletedWithErrors', 'StageNameCancelled', 'StageNameFailedIssueReportedAtCustomer', 'StageNameFailedIssueDetectedAtAzureDC', 'StageNameAborted', 'StageNameCompletedWithWarnings', 'StageNameReadyToDispatchFromAzureDC', 'StageNameReadyToReceiveAtAzureDC' + StageName StageName `json:"stageName,omitempty"` + // DisplayName - READ-ONLY; Display name of the job stage. + DisplayName *string `json:"displayName,omitempty"` + // StageStatus - READ-ONLY; Status of the job stage. Possible values include: 'StageStatusNone', 'StageStatusInProgress', 'StageStatusSucceeded', 'StageStatusFailed', 'StageStatusCancelled', 'StageStatusCancelling', 'StageStatusSucceededWithErrors' + StageStatus StageStatus `json:"stageStatus,omitempty"` + // StageTime - READ-ONLY; Time for the job stage in UTC ISO 8601 format. + StageTime *date.Time `json:"stageTime,omitempty"` + // JobStageDetails - READ-ONLY; Job Stage Details + JobStageDetails interface{} `json:"jobStageDetails,omitempty"` + // ErrorDetails - READ-ONLY; Error details for the stage. + ErrorDetails *[]JobErrorDetails `json:"errorDetails,omitempty"` +} + +// JobsUpdateFuture an abstraction for monitoring and retrieving the results of a long-running operation. +type JobsUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *JobsUpdateFuture) Result(client JobsClient) (jr JobResource, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "databox.JobsUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("databox.JobsUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if jr.Response.Response, err = future.GetResult(sender); err == nil && jr.Response.Response.StatusCode != http.StatusNoContent { + jr, err = client.UpdateResponder(jr.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "databox.JobsUpdateFuture", "Result", jr.Response.Response, "Failure responding to request") + } + } + return +} + +// NotificationPreference notification preference for a job stage. +type NotificationPreference struct { + // StageName - Name of the stage. Possible values include: 'DevicePrepared', 'Dispatched', 'Delivered', 'PickedUp', 'AtAzureDC', 'DataCopy' + StageName NotificationStageName `json:"stageName,omitempty"` + // SendNotification - Notification is required or not. + SendNotification *bool `json:"sendNotification,omitempty"` +} + +// Operation operation entity. +type Operation struct { + // Name - READ-ONLY; Name of the operation. Format: {resourceProviderNamespace}/{resourceType}/{read|write|delete|action} + Name *string `json:"name,omitempty"` + // Display - READ-ONLY; Operation display values. + Display *OperationDisplay `json:"display,omitempty"` + // Properties - READ-ONLY; Operation properties. + Properties interface{} `json:"properties,omitempty"` + // Origin - READ-ONLY; Origin of the operation. Can be : user|system|user,system + Origin *string `json:"origin,omitempty"` +} + +// OperationDisplay operation display +type OperationDisplay struct { + // Provider - Provider name. + Provider *string `json:"provider,omitempty"` + // Resource - Resource name. + Resource *string `json:"resource,omitempty"` + // Operation - Localized name of the operation for display purpose. + Operation *string `json:"operation,omitempty"` + // Description - Localized description of the operation for display purpose. + Description *string `json:"description,omitempty"` +} + +// OperationList operation Collection. +type OperationList struct { + autorest.Response `json:"-"` + // Value - READ-ONLY; List of operations. + Value *[]Operation `json:"value,omitempty"` + // NextLink - Link for the next set of operations. + NextLink *string `json:"nextLink,omitempty"` +} + +// OperationListIterator provides access to a complete listing of Operation values. +type OperationListIterator struct { + i int + page OperationListPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *OperationListIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/OperationListIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *OperationListIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter OperationListIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter OperationListIterator) Response() OperationList { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter OperationListIterator) Value() Operation { + if !iter.page.NotDone() { + return Operation{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the OperationListIterator type. +func NewOperationListIterator(page OperationListPage) OperationListIterator { + return OperationListIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (ol OperationList) IsEmpty() bool { + return ol.Value == nil || len(*ol.Value) == 0 +} + +// operationListPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (ol OperationList) operationListPreparer(ctx context.Context) (*http.Request, error) { + if ol.NextLink == nil || len(to.String(ol.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(ol.NextLink))) +} + +// OperationListPage contains a page of Operation values. +type OperationListPage struct { + fn func(context.Context, OperationList) (OperationList, error) + ol OperationList +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *OperationListPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/OperationListPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.ol) + if err != nil { + return err + } + page.ol = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *OperationListPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page OperationListPage) NotDone() bool { + return !page.ol.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page OperationListPage) Response() OperationList { + return page.ol +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page OperationListPage) Values() []Operation { + if page.ol.IsEmpty() { + return nil + } + return *page.ol.Value +} + +// Creates a new instance of the OperationListPage type. +func NewOperationListPage(getNextPage func(context.Context, OperationList) (OperationList, error)) OperationListPage { + return OperationListPage{fn: getNextPage} +} + +// PackageShippingDetails shipping details. +type PackageShippingDetails struct { + // CarrierName - READ-ONLY; Name of the carrier. + CarrierName *string `json:"carrierName,omitempty"` + // TrackingID - READ-ONLY; Tracking Id of shipment. + TrackingID *string `json:"trackingId,omitempty"` + // TrackingURL - READ-ONLY; Url where shipment can be tracked. + TrackingURL *string `json:"trackingUrl,omitempty"` +} + +// Preferences preferences related to the order +type Preferences struct { + // PreferredDataCenterRegion - Preferred Data Center Region. + PreferredDataCenterRegion *[]string `json:"preferredDataCenterRegion,omitempty"` + // TransportPreferences - Preferences related to the shipment logistics of the sku. + TransportPreferences *TransportPreferences `json:"transportPreferences,omitempty"` +} + +// PreferencesValidationRequest request to validate preference of transport and data center. +type PreferencesValidationRequest struct { + // Preference - Preference requested with respect to transport type and data center + Preference *Preferences `json:"preference,omitempty"` + // DeviceType - Device type to be used for the job. Possible values include: 'DataBox', 'DataBoxDisk', 'DataBoxHeavy' + DeviceType SkuName `json:"deviceType,omitempty"` + // ValidationType - Possible values include: 'ValidationTypeValidationInputRequest', 'ValidationTypeValidateCreateOrderLimit', 'ValidationTypeValidateDataDestinationDetails', 'ValidationTypeValidatePreferences', 'ValidationTypeValidateSkuAvailability', 'ValidationTypeValidateSubscriptionIsAllowedToCreateJob', 'ValidationTypeValidateAddress' + ValidationType ValidationType `json:"validationType,omitempty"` +} + +// MarshalJSON is the custom marshaler for PreferencesValidationRequest. +func (pvr PreferencesValidationRequest) MarshalJSON() ([]byte, error) { + pvr.ValidationType = ValidationTypeValidatePreferences + objectMap := make(map[string]interface{}) + if pvr.Preference != nil { + objectMap["preference"] = pvr.Preference + } + if pvr.DeviceType != "" { + objectMap["deviceType"] = pvr.DeviceType + } + if pvr.ValidationType != "" { + objectMap["validationType"] = pvr.ValidationType + } + return json.Marshal(objectMap) +} + +// AsCreateOrderLimitForSubscriptionValidationRequest is the BasicValidationInputRequest implementation for PreferencesValidationRequest. +func (pvr PreferencesValidationRequest) AsCreateOrderLimitForSubscriptionValidationRequest() (*CreateOrderLimitForSubscriptionValidationRequest, bool) { + return nil, false +} + +// AsDataDestinationDetailsValidationRequest is the BasicValidationInputRequest implementation for PreferencesValidationRequest. +func (pvr PreferencesValidationRequest) AsDataDestinationDetailsValidationRequest() (*DataDestinationDetailsValidationRequest, bool) { + return nil, false +} + +// AsPreferencesValidationRequest is the BasicValidationInputRequest implementation for PreferencesValidationRequest. +func (pvr PreferencesValidationRequest) AsPreferencesValidationRequest() (*PreferencesValidationRequest, bool) { + return &pvr, true +} + +// AsSkuAvailabilityValidationRequest is the BasicValidationInputRequest implementation for PreferencesValidationRequest. +func (pvr PreferencesValidationRequest) AsSkuAvailabilityValidationRequest() (*SkuAvailabilityValidationRequest, bool) { + return nil, false +} + +// AsSubscriptionIsAllowedToCreateJobValidationRequest is the BasicValidationInputRequest implementation for PreferencesValidationRequest. +func (pvr PreferencesValidationRequest) AsSubscriptionIsAllowedToCreateJobValidationRequest() (*SubscriptionIsAllowedToCreateJobValidationRequest, bool) { + return nil, false +} + +// AsValidateAddress is the BasicValidationInputRequest implementation for PreferencesValidationRequest. +func (pvr PreferencesValidationRequest) AsValidateAddress() (*ValidateAddress, bool) { + return nil, false +} + +// AsValidationInputRequest is the BasicValidationInputRequest implementation for PreferencesValidationRequest. +func (pvr PreferencesValidationRequest) AsValidationInputRequest() (*ValidationInputRequest, bool) { + return nil, false +} + +// AsBasicValidationInputRequest is the BasicValidationInputRequest implementation for PreferencesValidationRequest. +func (pvr PreferencesValidationRequest) AsBasicValidationInputRequest() (BasicValidationInputRequest, bool) { + return &pvr, true +} + +// PreferencesValidationResponseProperties properties of data center and transport preference validation +// response. +type PreferencesValidationResponseProperties struct { + // Status - READ-ONLY; Validation status of requested data center and transport. Possible values include: 'ValidationStatusValid', 'ValidationStatusInvalid', 'ValidationStatusSkipped' + Status ValidationStatus `json:"status,omitempty"` + // Error - READ-ONLY; Error code and message of validation response. + Error *Error `json:"error,omitempty"` + // ValidationType - Possible values include: 'ValidationTypeBasicValidationInputResponseValidationTypeValidationInputResponse', 'ValidationTypeBasicValidationInputResponseValidationTypeValidateAddress', 'ValidationTypeBasicValidationInputResponseValidationTypeValidateCreateOrderLimit', 'ValidationTypeBasicValidationInputResponseValidationTypeValidateDataDestinationDetails', 'ValidationTypeBasicValidationInputResponseValidationTypeValidatePreferences', 'ValidationTypeBasicValidationInputResponseValidationTypeValidateSkuAvailability', 'ValidationTypeBasicValidationInputResponseValidationTypeValidateSubscriptionIsAllowedToCreateJob' + ValidationType ValidationTypeBasicValidationInputResponse `json:"validationType,omitempty"` +} + +// MarshalJSON is the custom marshaler for PreferencesValidationResponseProperties. +func (pvrp PreferencesValidationResponseProperties) MarshalJSON() ([]byte, error) { + pvrp.ValidationType = ValidationTypeBasicValidationInputResponseValidationTypeValidatePreferences + objectMap := make(map[string]interface{}) + if pvrp.ValidationType != "" { + objectMap["validationType"] = pvrp.ValidationType + } + return json.Marshal(objectMap) +} + +// AsAddressValidationProperties is the BasicValidationInputResponse implementation for PreferencesValidationResponseProperties. +func (pvrp PreferencesValidationResponseProperties) AsAddressValidationProperties() (*AddressValidationProperties, bool) { + return nil, false +} + +// AsCreateOrderLimitForSubscriptionValidationResponseProperties is the BasicValidationInputResponse implementation for PreferencesValidationResponseProperties. +func (pvrp PreferencesValidationResponseProperties) AsCreateOrderLimitForSubscriptionValidationResponseProperties() (*CreateOrderLimitForSubscriptionValidationResponseProperties, bool) { + return nil, false +} + +// AsDataDestinationDetailsValidationResponseProperties is the BasicValidationInputResponse implementation for PreferencesValidationResponseProperties. +func (pvrp PreferencesValidationResponseProperties) AsDataDestinationDetailsValidationResponseProperties() (*DataDestinationDetailsValidationResponseProperties, bool) { + return nil, false +} + +// AsPreferencesValidationResponseProperties is the BasicValidationInputResponse implementation for PreferencesValidationResponseProperties. +func (pvrp PreferencesValidationResponseProperties) AsPreferencesValidationResponseProperties() (*PreferencesValidationResponseProperties, bool) { + return &pvrp, true +} + +// AsSkuAvailabilityValidationResponseProperties is the BasicValidationInputResponse implementation for PreferencesValidationResponseProperties. +func (pvrp PreferencesValidationResponseProperties) AsSkuAvailabilityValidationResponseProperties() (*SkuAvailabilityValidationResponseProperties, bool) { + return nil, false +} + +// AsSubscriptionIsAllowedToCreateJobValidationResponseProperties is the BasicValidationInputResponse implementation for PreferencesValidationResponseProperties. +func (pvrp PreferencesValidationResponseProperties) AsSubscriptionIsAllowedToCreateJobValidationResponseProperties() (*SubscriptionIsAllowedToCreateJobValidationResponseProperties, bool) { + return nil, false +} + +// AsValidationInputResponse is the BasicValidationInputResponse implementation for PreferencesValidationResponseProperties. +func (pvrp PreferencesValidationResponseProperties) AsValidationInputResponse() (*ValidationInputResponse, bool) { + return nil, false +} + +// AsBasicValidationInputResponse is the BasicValidationInputResponse implementation for PreferencesValidationResponseProperties. +func (pvrp PreferencesValidationResponseProperties) AsBasicValidationInputResponse() (BasicValidationInputResponse, bool) { + return &pvrp, true +} + +// RegionConfigurationRequest request body to get the configuration for the region. +type RegionConfigurationRequest struct { + // ScheduleAvailabilityRequest - Request body to get the availability for scheduling orders. + ScheduleAvailabilityRequest BasicScheduleAvailabilityRequest `json:"scheduleAvailabilityRequest,omitempty"` + // TransportAvailabilityRequest - Request body to get the transport availability for given sku. + TransportAvailabilityRequest *TransportAvailabilityRequest `json:"transportAvailabilityRequest,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for RegionConfigurationRequest struct. +func (rcr *RegionConfigurationRequest) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "scheduleAvailabilityRequest": + if v != nil { + scheduleAvailabilityRequest, err := unmarshalBasicScheduleAvailabilityRequest(*v) + if err != nil { + return err + } + rcr.ScheduleAvailabilityRequest = scheduleAvailabilityRequest + } + case "transportAvailabilityRequest": + if v != nil { + var transportAvailabilityRequest TransportAvailabilityRequest + err = json.Unmarshal(*v, &transportAvailabilityRequest) + if err != nil { + return err + } + rcr.TransportAvailabilityRequest = &transportAvailabilityRequest + } + } + } + + return nil +} + +// RegionConfigurationResponse configuration response specific to a region. +type RegionConfigurationResponse struct { + autorest.Response `json:"-"` + // ScheduleAvailabilityResponse - READ-ONLY; Schedule availability for given sku in a region. + ScheduleAvailabilityResponse *ScheduleAvailabilityResponse `json:"scheduleAvailabilityResponse,omitempty"` + // TransportAvailabilityResponse - READ-ONLY; Transport options available for given sku in a region. + TransportAvailabilityResponse *TransportAvailabilityResponse `json:"transportAvailabilityResponse,omitempty"` +} + +// Resource model of the Resource. +type Resource struct { + // Location - The location of the resource. This will be one of the supported and registered Azure Regions (e.g. West US, East US, Southeast Asia, etc.). The region of a resource cannot be changed once it is created, but if an identical region is specified on update the request will succeed. + Location *string `json:"location,omitempty"` + // Tags - The list of key value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). + Tags map[string]*string `json:"tags"` + // Sku - The sku type. + Sku *Sku `json:"sku,omitempty"` +} + +// MarshalJSON is the custom marshaler for Resource. +func (r Resource) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if r.Location != nil { + objectMap["location"] = r.Location + } + if r.Tags != nil { + objectMap["tags"] = r.Tags + } + if r.Sku != nil { + objectMap["sku"] = r.Sku + } + return json.Marshal(objectMap) +} + +// BasicScheduleAvailabilityRequest request body to get the availability for scheduling orders. +type BasicScheduleAvailabilityRequest interface { + AsScheduleAvailabilityRequestType() (*ScheduleAvailabilityRequestType, bool) + AsDiskScheduleAvailabilityRequest() (*DiskScheduleAvailabilityRequest, bool) + AsHeavyScheduleAvailabilityRequest() (*HeavyScheduleAvailabilityRequest, bool) + AsScheduleAvailabilityRequest() (*ScheduleAvailabilityRequest, bool) +} + +// ScheduleAvailabilityRequest request body to get the availability for scheduling orders. +type ScheduleAvailabilityRequest struct { + // StorageLocation - Location for data transfer. + // For locations check: https://management.azure.com/subscriptions/SUBSCRIPTIONID/locations?api-version=2018-01-01 + StorageLocation *string `json:"storageLocation,omitempty"` + // SkuName - Possible values include: 'SkuNameScheduleAvailabilityRequest', 'SkuNameDataBox', 'SkuNameDataBoxDisk', 'SkuNameDataBoxHeavy' + SkuName SkuNameBasicScheduleAvailabilityRequest `json:"skuName,omitempty"` +} + +func unmarshalBasicScheduleAvailabilityRequest(body []byte) (BasicScheduleAvailabilityRequest, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["skuName"] { + case string(SkuNameDataBox): + var sart ScheduleAvailabilityRequestType + err := json.Unmarshal(body, &sart) + return sart, err + case string(SkuNameDataBoxDisk): + var dsar DiskScheduleAvailabilityRequest + err := json.Unmarshal(body, &dsar) + return dsar, err + case string(SkuNameDataBoxHeavy): + var hsar HeavyScheduleAvailabilityRequest + err := json.Unmarshal(body, &hsar) + return hsar, err + default: + var sar ScheduleAvailabilityRequest + err := json.Unmarshal(body, &sar) + return sar, err + } +} +func unmarshalBasicScheduleAvailabilityRequestArray(body []byte) ([]BasicScheduleAvailabilityRequest, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + sarArray := make([]BasicScheduleAvailabilityRequest, len(rawMessages)) + + for index, rawMessage := range rawMessages { + sar, err := unmarshalBasicScheduleAvailabilityRequest(*rawMessage) + if err != nil { + return nil, err + } + sarArray[index] = sar + } + return sarArray, nil +} + +// MarshalJSON is the custom marshaler for ScheduleAvailabilityRequest. +func (sar ScheduleAvailabilityRequest) MarshalJSON() ([]byte, error) { + sar.SkuName = SkuNameScheduleAvailabilityRequest + objectMap := make(map[string]interface{}) + if sar.StorageLocation != nil { + objectMap["storageLocation"] = sar.StorageLocation + } + if sar.SkuName != "" { + objectMap["skuName"] = sar.SkuName + } + return json.Marshal(objectMap) +} + +// AsScheduleAvailabilityRequestType is the BasicScheduleAvailabilityRequest implementation for ScheduleAvailabilityRequest. +func (sar ScheduleAvailabilityRequest) AsScheduleAvailabilityRequestType() (*ScheduleAvailabilityRequestType, bool) { + return nil, false +} + +// AsDiskScheduleAvailabilityRequest is the BasicScheduleAvailabilityRequest implementation for ScheduleAvailabilityRequest. +func (sar ScheduleAvailabilityRequest) AsDiskScheduleAvailabilityRequest() (*DiskScheduleAvailabilityRequest, bool) { + return nil, false +} + +// AsHeavyScheduleAvailabilityRequest is the BasicScheduleAvailabilityRequest implementation for ScheduleAvailabilityRequest. +func (sar ScheduleAvailabilityRequest) AsHeavyScheduleAvailabilityRequest() (*HeavyScheduleAvailabilityRequest, bool) { + return nil, false +} + +// AsScheduleAvailabilityRequest is the BasicScheduleAvailabilityRequest implementation for ScheduleAvailabilityRequest. +func (sar ScheduleAvailabilityRequest) AsScheduleAvailabilityRequest() (*ScheduleAvailabilityRequest, bool) { + return &sar, true +} + +// AsBasicScheduleAvailabilityRequest is the BasicScheduleAvailabilityRequest implementation for ScheduleAvailabilityRequest. +func (sar ScheduleAvailabilityRequest) AsBasicScheduleAvailabilityRequest() (BasicScheduleAvailabilityRequest, bool) { + return &sar, true +} + +// ScheduleAvailabilityRequestType request body to get the availability for scheduling data box orders +// orders. +type ScheduleAvailabilityRequestType struct { + // StorageLocation - Location for data transfer. + // For locations check: https://management.azure.com/subscriptions/SUBSCRIPTIONID/locations?api-version=2018-01-01 + StorageLocation *string `json:"storageLocation,omitempty"` + // SkuName - Possible values include: 'SkuNameScheduleAvailabilityRequest', 'SkuNameDataBox', 'SkuNameDataBoxDisk', 'SkuNameDataBoxHeavy' + SkuName SkuNameBasicScheduleAvailabilityRequest `json:"skuName,omitempty"` +} + +// MarshalJSON is the custom marshaler for ScheduleAvailabilityRequestType. +func (sart ScheduleAvailabilityRequestType) MarshalJSON() ([]byte, error) { + sart.SkuName = SkuNameDataBox + objectMap := make(map[string]interface{}) + if sart.StorageLocation != nil { + objectMap["storageLocation"] = sart.StorageLocation + } + if sart.SkuName != "" { + objectMap["skuName"] = sart.SkuName + } + return json.Marshal(objectMap) +} + +// AsScheduleAvailabilityRequestType is the BasicScheduleAvailabilityRequest implementation for ScheduleAvailabilityRequestType. +func (sart ScheduleAvailabilityRequestType) AsScheduleAvailabilityRequestType() (*ScheduleAvailabilityRequestType, bool) { + return &sart, true +} + +// AsDiskScheduleAvailabilityRequest is the BasicScheduleAvailabilityRequest implementation for ScheduleAvailabilityRequestType. +func (sart ScheduleAvailabilityRequestType) AsDiskScheduleAvailabilityRequest() (*DiskScheduleAvailabilityRequest, bool) { + return nil, false +} + +// AsHeavyScheduleAvailabilityRequest is the BasicScheduleAvailabilityRequest implementation for ScheduleAvailabilityRequestType. +func (sart ScheduleAvailabilityRequestType) AsHeavyScheduleAvailabilityRequest() (*HeavyScheduleAvailabilityRequest, bool) { + return nil, false +} + +// AsScheduleAvailabilityRequest is the BasicScheduleAvailabilityRequest implementation for ScheduleAvailabilityRequestType. +func (sart ScheduleAvailabilityRequestType) AsScheduleAvailabilityRequest() (*ScheduleAvailabilityRequest, bool) { + return nil, false +} + +// AsBasicScheduleAvailabilityRequest is the BasicScheduleAvailabilityRequest implementation for ScheduleAvailabilityRequestType. +func (sart ScheduleAvailabilityRequestType) AsBasicScheduleAvailabilityRequest() (BasicScheduleAvailabilityRequest, bool) { + return &sart, true +} + +// ScheduleAvailabilityResponse schedule availability response for given sku in a region. +type ScheduleAvailabilityResponse struct { + // AvailableDates - READ-ONLY; List of dates available to schedule + AvailableDates *[]date.Time `json:"availableDates,omitempty"` +} + +// Secret the secrets related to a DataBox. +type Secret struct { + // DeviceSerialNumber - READ-ONLY; Serial number of the assigned device. + DeviceSerialNumber *string `json:"deviceSerialNumber,omitempty"` + // DevicePassword - READ-ONLY; Password for out of the box experience on device. + DevicePassword *string `json:"devicePassword,omitempty"` + // NetworkConfigurations - READ-ONLY; Network configuration of the appliance. + NetworkConfigurations *[]ApplianceNetworkConfiguration `json:"networkConfigurations,omitempty"` + // EncodedValidationCertPubKey - READ-ONLY; The base 64 encoded public key to authenticate with the device + EncodedValidationCertPubKey *string `json:"encodedValidationCertPubKey,omitempty"` + // AccountCredentialDetails - READ-ONLY; Per account level access credentials. + AccountCredentialDetails *[]AccountCredentialDetails `json:"accountCredentialDetails,omitempty"` +} + +// ShareCredentialDetails credential details of the shares in account. +type ShareCredentialDetails struct { + // ShareName - READ-ONLY; Name of the share. + ShareName *string `json:"shareName,omitempty"` + // ShareType - READ-ONLY; Type of the share. Possible values include: 'ShareDestinationFormatTypeUnknownType', 'ShareDestinationFormatTypeHCS', 'ShareDestinationFormatTypeBlockBlob', 'ShareDestinationFormatTypePageBlob', 'ShareDestinationFormatTypeAzureFile', 'ShareDestinationFormatTypeManagedDisk' + ShareType ShareDestinationFormatType `json:"shareType,omitempty"` + // UserName - READ-ONLY; User name for the share. + UserName *string `json:"userName,omitempty"` + // Password - READ-ONLY; Password for the share. + Password *string `json:"password,omitempty"` + // SupportedAccessProtocols - READ-ONLY; Access protocols supported on the device. + SupportedAccessProtocols *[]AccessProtocol `json:"supportedAccessProtocols,omitempty"` +} + +// ShipmentPickUpRequest shipment pick up request details. +type ShipmentPickUpRequest struct { + // StartTime - Minimum date after which the pick up should commence, this must be in local time of pick up area. + StartTime *date.Time `json:"startTime,omitempty"` + // EndTime - Maximum date before which the pick up should commence, this must be in local time of pick up area. + EndTime *date.Time `json:"endTime,omitempty"` + // ShipmentLocation - Shipment Location in the pickup place. Eg.front desk + ShipmentLocation *string `json:"shipmentLocation,omitempty"` +} + +// ShipmentPickUpResponse shipment pick up response. +type ShipmentPickUpResponse struct { + autorest.Response `json:"-"` + // ConfirmationNumber - READ-ONLY; Confirmation number for the pick up request. + ConfirmationNumber *string `json:"confirmationNumber,omitempty"` + // ReadyByTime - READ-ONLY; Time by which shipment should be ready for pick up, this is in local time of pick up area. + ReadyByTime *date.Time `json:"readyByTime,omitempty"` +} + +// ShippingAddress shipping address where customer wishes to receive the device. +type ShippingAddress struct { + // StreetAddress1 - Street Address line 1. + StreetAddress1 *string `json:"streetAddress1,omitempty"` + // StreetAddress2 - Street Address line 2. + StreetAddress2 *string `json:"streetAddress2,omitempty"` + // StreetAddress3 - Street Address line 3. + StreetAddress3 *string `json:"streetAddress3,omitempty"` + // City - Name of the City. + City *string `json:"city,omitempty"` + // StateOrProvince - Name of the State or Province. + StateOrProvince *string `json:"stateOrProvince,omitempty"` + // Country - Name of the Country. + Country *string `json:"country,omitempty"` + // PostalCode - Postal code. + PostalCode *string `json:"postalCode,omitempty"` + // ZipExtendedCode - Extended Zip Code. + ZipExtendedCode *string `json:"zipExtendedCode,omitempty"` + // CompanyName - Name of the company. + CompanyName *string `json:"companyName,omitempty"` + // AddressType - Type of address. Possible values include: 'None', 'Residential', 'Commercial' + AddressType AddressType `json:"addressType,omitempty"` +} + +// Sku the Sku. +type Sku struct { + // Name - The sku name. Possible values include: 'DataBox', 'DataBoxDisk', 'DataBoxHeavy' + Name SkuName `json:"name,omitempty"` + // DisplayName - The display name of the sku. + DisplayName *string `json:"displayName,omitempty"` + // Family - The sku family. + Family *string `json:"family,omitempty"` +} + +// SkuAvailabilityValidationRequest request to validate sku availability. +type SkuAvailabilityValidationRequest struct { + // DeviceType - Device type to be used for the job. Possible values include: 'DataBox', 'DataBoxDisk', 'DataBoxHeavy' + DeviceType SkuName `json:"deviceType,omitempty"` + // TransferType - Type of the transfer. + TransferType *string `json:"transferType,omitempty"` + // Country - ISO country code. Country for hardware shipment. For codes check: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements + Country *string `json:"country,omitempty"` + // Location - Location for data transfer. For locations check: https://management.azure.com/subscriptions/SUBSCRIPTIONID/locations?api-version=2018-01-01 + Location *string `json:"location,omitempty"` + // ValidationType - Possible values include: 'ValidationTypeValidationInputRequest', 'ValidationTypeValidateCreateOrderLimit', 'ValidationTypeValidateDataDestinationDetails', 'ValidationTypeValidatePreferences', 'ValidationTypeValidateSkuAvailability', 'ValidationTypeValidateSubscriptionIsAllowedToCreateJob', 'ValidationTypeValidateAddress' + ValidationType ValidationType `json:"validationType,omitempty"` +} + +// MarshalJSON is the custom marshaler for SkuAvailabilityValidationRequest. +func (savr SkuAvailabilityValidationRequest) MarshalJSON() ([]byte, error) { + savr.ValidationType = ValidationTypeValidateSkuAvailability + objectMap := make(map[string]interface{}) + if savr.DeviceType != "" { + objectMap["deviceType"] = savr.DeviceType + } + if savr.TransferType != nil { + objectMap["transferType"] = savr.TransferType + } + if savr.Country != nil { + objectMap["country"] = savr.Country + } + if savr.Location != nil { + objectMap["location"] = savr.Location + } + if savr.ValidationType != "" { + objectMap["validationType"] = savr.ValidationType + } + return json.Marshal(objectMap) +} + +// AsCreateOrderLimitForSubscriptionValidationRequest is the BasicValidationInputRequest implementation for SkuAvailabilityValidationRequest. +func (savr SkuAvailabilityValidationRequest) AsCreateOrderLimitForSubscriptionValidationRequest() (*CreateOrderLimitForSubscriptionValidationRequest, bool) { + return nil, false +} + +// AsDataDestinationDetailsValidationRequest is the BasicValidationInputRequest implementation for SkuAvailabilityValidationRequest. +func (savr SkuAvailabilityValidationRequest) AsDataDestinationDetailsValidationRequest() (*DataDestinationDetailsValidationRequest, bool) { + return nil, false +} + +// AsPreferencesValidationRequest is the BasicValidationInputRequest implementation for SkuAvailabilityValidationRequest. +func (savr SkuAvailabilityValidationRequest) AsPreferencesValidationRequest() (*PreferencesValidationRequest, bool) { + return nil, false +} + +// AsSkuAvailabilityValidationRequest is the BasicValidationInputRequest implementation for SkuAvailabilityValidationRequest. +func (savr SkuAvailabilityValidationRequest) AsSkuAvailabilityValidationRequest() (*SkuAvailabilityValidationRequest, bool) { + return &savr, true +} + +// AsSubscriptionIsAllowedToCreateJobValidationRequest is the BasicValidationInputRequest implementation for SkuAvailabilityValidationRequest. +func (savr SkuAvailabilityValidationRequest) AsSubscriptionIsAllowedToCreateJobValidationRequest() (*SubscriptionIsAllowedToCreateJobValidationRequest, bool) { + return nil, false +} + +// AsValidateAddress is the BasicValidationInputRequest implementation for SkuAvailabilityValidationRequest. +func (savr SkuAvailabilityValidationRequest) AsValidateAddress() (*ValidateAddress, bool) { + return nil, false +} + +// AsValidationInputRequest is the BasicValidationInputRequest implementation for SkuAvailabilityValidationRequest. +func (savr SkuAvailabilityValidationRequest) AsValidationInputRequest() (*ValidationInputRequest, bool) { + return nil, false +} + +// AsBasicValidationInputRequest is the BasicValidationInputRequest implementation for SkuAvailabilityValidationRequest. +func (savr SkuAvailabilityValidationRequest) AsBasicValidationInputRequest() (BasicValidationInputRequest, bool) { + return &savr, true +} + +// SkuAvailabilityValidationResponseProperties properties of sku availability validation response. +type SkuAvailabilityValidationResponseProperties struct { + // Status - READ-ONLY; Sku availability validation status. Possible values include: 'ValidationStatusValid', 'ValidationStatusInvalid', 'ValidationStatusSkipped' + Status ValidationStatus `json:"status,omitempty"` + // Error - READ-ONLY; Error code and message of validation response. + Error *Error `json:"error,omitempty"` + // ValidationType - Possible values include: 'ValidationTypeBasicValidationInputResponseValidationTypeValidationInputResponse', 'ValidationTypeBasicValidationInputResponseValidationTypeValidateAddress', 'ValidationTypeBasicValidationInputResponseValidationTypeValidateCreateOrderLimit', 'ValidationTypeBasicValidationInputResponseValidationTypeValidateDataDestinationDetails', 'ValidationTypeBasicValidationInputResponseValidationTypeValidatePreferences', 'ValidationTypeBasicValidationInputResponseValidationTypeValidateSkuAvailability', 'ValidationTypeBasicValidationInputResponseValidationTypeValidateSubscriptionIsAllowedToCreateJob' + ValidationType ValidationTypeBasicValidationInputResponse `json:"validationType,omitempty"` +} + +// MarshalJSON is the custom marshaler for SkuAvailabilityValidationResponseProperties. +func (savrp SkuAvailabilityValidationResponseProperties) MarshalJSON() ([]byte, error) { + savrp.ValidationType = ValidationTypeBasicValidationInputResponseValidationTypeValidateSkuAvailability + objectMap := make(map[string]interface{}) + if savrp.ValidationType != "" { + objectMap["validationType"] = savrp.ValidationType + } + return json.Marshal(objectMap) +} + +// AsAddressValidationProperties is the BasicValidationInputResponse implementation for SkuAvailabilityValidationResponseProperties. +func (savrp SkuAvailabilityValidationResponseProperties) AsAddressValidationProperties() (*AddressValidationProperties, bool) { + return nil, false +} + +// AsCreateOrderLimitForSubscriptionValidationResponseProperties is the BasicValidationInputResponse implementation for SkuAvailabilityValidationResponseProperties. +func (savrp SkuAvailabilityValidationResponseProperties) AsCreateOrderLimitForSubscriptionValidationResponseProperties() (*CreateOrderLimitForSubscriptionValidationResponseProperties, bool) { + return nil, false +} + +// AsDataDestinationDetailsValidationResponseProperties is the BasicValidationInputResponse implementation for SkuAvailabilityValidationResponseProperties. +func (savrp SkuAvailabilityValidationResponseProperties) AsDataDestinationDetailsValidationResponseProperties() (*DataDestinationDetailsValidationResponseProperties, bool) { + return nil, false +} + +// AsPreferencesValidationResponseProperties is the BasicValidationInputResponse implementation for SkuAvailabilityValidationResponseProperties. +func (savrp SkuAvailabilityValidationResponseProperties) AsPreferencesValidationResponseProperties() (*PreferencesValidationResponseProperties, bool) { + return nil, false +} + +// AsSkuAvailabilityValidationResponseProperties is the BasicValidationInputResponse implementation for SkuAvailabilityValidationResponseProperties. +func (savrp SkuAvailabilityValidationResponseProperties) AsSkuAvailabilityValidationResponseProperties() (*SkuAvailabilityValidationResponseProperties, bool) { + return &savrp, true +} + +// AsSubscriptionIsAllowedToCreateJobValidationResponseProperties is the BasicValidationInputResponse implementation for SkuAvailabilityValidationResponseProperties. +func (savrp SkuAvailabilityValidationResponseProperties) AsSubscriptionIsAllowedToCreateJobValidationResponseProperties() (*SubscriptionIsAllowedToCreateJobValidationResponseProperties, bool) { + return nil, false +} + +// AsValidationInputResponse is the BasicValidationInputResponse implementation for SkuAvailabilityValidationResponseProperties. +func (savrp SkuAvailabilityValidationResponseProperties) AsValidationInputResponse() (*ValidationInputResponse, bool) { + return nil, false +} + +// AsBasicValidationInputResponse is the BasicValidationInputResponse implementation for SkuAvailabilityValidationResponseProperties. +func (savrp SkuAvailabilityValidationResponseProperties) AsBasicValidationInputResponse() (BasicValidationInputResponse, bool) { + return &savrp, true +} + +// SkuCapacity capacity of the sku. +type SkuCapacity struct { + // Usable - READ-ONLY; Usable capacity in TB. + Usable *string `json:"usable,omitempty"` + // Maximum - READ-ONLY; Maximum capacity in TB. + Maximum *string `json:"maximum,omitempty"` +} + +// SkuCost describes metadata for retrieving price info. +type SkuCost struct { + // MeterID - READ-ONLY; Meter id of the Sku. + MeterID *string `json:"meterId,omitempty"` + // MeterType - READ-ONLY; The type of the meter. + MeterType *string `json:"meterType,omitempty"` +} + +// SkuInformation information of the sku. +type SkuInformation struct { + // Sku - READ-ONLY; The Sku. + Sku *Sku `json:"sku,omitempty"` + // Enabled - READ-ONLY; The sku is enabled or not. + Enabled *bool `json:"enabled,omitempty"` + // SkuProperties - READ-ONLY; Properties of the sku. + *SkuProperties `json:"properties,omitempty"` +} + +// MarshalJSON is the custom marshaler for SkuInformation. +func (si SkuInformation) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for SkuInformation struct. +func (si *SkuInformation) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "sku": + if v != nil { + var sku Sku + err = json.Unmarshal(*v, &sku) + if err != nil { + return err + } + si.Sku = &sku + } + case "enabled": + if v != nil { + var enabled bool + err = json.Unmarshal(*v, &enabled) + if err != nil { + return err + } + si.Enabled = &enabled + } + case "properties": + if v != nil { + var skuProperties SkuProperties + err = json.Unmarshal(*v, &skuProperties) + if err != nil { + return err + } + si.SkuProperties = &skuProperties + } + } + } + + return nil +} + +// SkuProperties properties of the sku. +type SkuProperties struct { + // DestinationToServiceLocationMap - READ-ONLY; The map of destination location to service location. + DestinationToServiceLocationMap *[]DestinationToServiceLocationMap `json:"destinationToServiceLocationMap,omitempty"` + // Capacity - READ-ONLY; Capacity of the Sku. + Capacity *SkuCapacity `json:"capacity,omitempty"` + // Costs - READ-ONLY; Cost of the Sku. + Costs *[]SkuCost `json:"costs,omitempty"` + // APIVersions - READ-ONLY; Api versions that support this Sku. + APIVersions *[]string `json:"apiVersions,omitempty"` + // DisabledReason - READ-ONLY; Reason why the Sku is disabled. Possible values include: 'SkuDisabledReasonNone', 'SkuDisabledReasonCountry', 'SkuDisabledReasonRegion', 'SkuDisabledReasonFeature', 'SkuDisabledReasonOfferType', 'SkuDisabledReasonNoSubscriptionInfo' + DisabledReason SkuDisabledReason `json:"disabledReason,omitempty"` + // DisabledReasonMessage - READ-ONLY; Message for why the Sku is disabled. + DisabledReasonMessage *string `json:"disabledReasonMessage,omitempty"` + // RequiredFeature - READ-ONLY; Required feature to access the sku. + RequiredFeature *string `json:"requiredFeature,omitempty"` +} + +// SubscriptionIsAllowedToCreateJobValidationRequest request to validate subscription permission to create +// jobs. +type SubscriptionIsAllowedToCreateJobValidationRequest struct { + // ValidationType - Possible values include: 'ValidationTypeValidationInputRequest', 'ValidationTypeValidateCreateOrderLimit', 'ValidationTypeValidateDataDestinationDetails', 'ValidationTypeValidatePreferences', 'ValidationTypeValidateSkuAvailability', 'ValidationTypeValidateSubscriptionIsAllowedToCreateJob', 'ValidationTypeValidateAddress' + ValidationType ValidationType `json:"validationType,omitempty"` +} + +// MarshalJSON is the custom marshaler for SubscriptionIsAllowedToCreateJobValidationRequest. +func (siatcjvr SubscriptionIsAllowedToCreateJobValidationRequest) MarshalJSON() ([]byte, error) { + siatcjvr.ValidationType = ValidationTypeValidateSubscriptionIsAllowedToCreateJob + objectMap := make(map[string]interface{}) + if siatcjvr.ValidationType != "" { + objectMap["validationType"] = siatcjvr.ValidationType + } + return json.Marshal(objectMap) +} + +// AsCreateOrderLimitForSubscriptionValidationRequest is the BasicValidationInputRequest implementation for SubscriptionIsAllowedToCreateJobValidationRequest. +func (siatcjvr SubscriptionIsAllowedToCreateJobValidationRequest) AsCreateOrderLimitForSubscriptionValidationRequest() (*CreateOrderLimitForSubscriptionValidationRequest, bool) { + return nil, false +} + +// AsDataDestinationDetailsValidationRequest is the BasicValidationInputRequest implementation for SubscriptionIsAllowedToCreateJobValidationRequest. +func (siatcjvr SubscriptionIsAllowedToCreateJobValidationRequest) AsDataDestinationDetailsValidationRequest() (*DataDestinationDetailsValidationRequest, bool) { + return nil, false +} + +// AsPreferencesValidationRequest is the BasicValidationInputRequest implementation for SubscriptionIsAllowedToCreateJobValidationRequest. +func (siatcjvr SubscriptionIsAllowedToCreateJobValidationRequest) AsPreferencesValidationRequest() (*PreferencesValidationRequest, bool) { + return nil, false +} + +// AsSkuAvailabilityValidationRequest is the BasicValidationInputRequest implementation for SubscriptionIsAllowedToCreateJobValidationRequest. +func (siatcjvr SubscriptionIsAllowedToCreateJobValidationRequest) AsSkuAvailabilityValidationRequest() (*SkuAvailabilityValidationRequest, bool) { + return nil, false +} + +// AsSubscriptionIsAllowedToCreateJobValidationRequest is the BasicValidationInputRequest implementation for SubscriptionIsAllowedToCreateJobValidationRequest. +func (siatcjvr SubscriptionIsAllowedToCreateJobValidationRequest) AsSubscriptionIsAllowedToCreateJobValidationRequest() (*SubscriptionIsAllowedToCreateJobValidationRequest, bool) { + return &siatcjvr, true +} + +// AsValidateAddress is the BasicValidationInputRequest implementation for SubscriptionIsAllowedToCreateJobValidationRequest. +func (siatcjvr SubscriptionIsAllowedToCreateJobValidationRequest) AsValidateAddress() (*ValidateAddress, bool) { + return nil, false +} + +// AsValidationInputRequest is the BasicValidationInputRequest implementation for SubscriptionIsAllowedToCreateJobValidationRequest. +func (siatcjvr SubscriptionIsAllowedToCreateJobValidationRequest) AsValidationInputRequest() (*ValidationInputRequest, bool) { + return nil, false +} + +// AsBasicValidationInputRequest is the BasicValidationInputRequest implementation for SubscriptionIsAllowedToCreateJobValidationRequest. +func (siatcjvr SubscriptionIsAllowedToCreateJobValidationRequest) AsBasicValidationInputRequest() (BasicValidationInputRequest, bool) { + return &siatcjvr, true +} + +// SubscriptionIsAllowedToCreateJobValidationResponseProperties properties of subscription permission to +// create job validation response. +type SubscriptionIsAllowedToCreateJobValidationResponseProperties struct { + // Status - READ-ONLY; Validation status of subscription permission to create job. Possible values include: 'ValidationStatusValid', 'ValidationStatusInvalid', 'ValidationStatusSkipped' + Status ValidationStatus `json:"status,omitempty"` + // Error - READ-ONLY; Error code and message of validation response. + Error *Error `json:"error,omitempty"` + // ValidationType - Possible values include: 'ValidationTypeBasicValidationInputResponseValidationTypeValidationInputResponse', 'ValidationTypeBasicValidationInputResponseValidationTypeValidateAddress', 'ValidationTypeBasicValidationInputResponseValidationTypeValidateCreateOrderLimit', 'ValidationTypeBasicValidationInputResponseValidationTypeValidateDataDestinationDetails', 'ValidationTypeBasicValidationInputResponseValidationTypeValidatePreferences', 'ValidationTypeBasicValidationInputResponseValidationTypeValidateSkuAvailability', 'ValidationTypeBasicValidationInputResponseValidationTypeValidateSubscriptionIsAllowedToCreateJob' + ValidationType ValidationTypeBasicValidationInputResponse `json:"validationType,omitempty"` +} + +// MarshalJSON is the custom marshaler for SubscriptionIsAllowedToCreateJobValidationResponseProperties. +func (siatcjvrp SubscriptionIsAllowedToCreateJobValidationResponseProperties) MarshalJSON() ([]byte, error) { + siatcjvrp.ValidationType = ValidationTypeBasicValidationInputResponseValidationTypeValidateSubscriptionIsAllowedToCreateJob + objectMap := make(map[string]interface{}) + if siatcjvrp.ValidationType != "" { + objectMap["validationType"] = siatcjvrp.ValidationType + } + return json.Marshal(objectMap) +} + +// AsAddressValidationProperties is the BasicValidationInputResponse implementation for SubscriptionIsAllowedToCreateJobValidationResponseProperties. +func (siatcjvrp SubscriptionIsAllowedToCreateJobValidationResponseProperties) AsAddressValidationProperties() (*AddressValidationProperties, bool) { + return nil, false +} + +// AsCreateOrderLimitForSubscriptionValidationResponseProperties is the BasicValidationInputResponse implementation for SubscriptionIsAllowedToCreateJobValidationResponseProperties. +func (siatcjvrp SubscriptionIsAllowedToCreateJobValidationResponseProperties) AsCreateOrderLimitForSubscriptionValidationResponseProperties() (*CreateOrderLimitForSubscriptionValidationResponseProperties, bool) { + return nil, false +} + +// AsDataDestinationDetailsValidationResponseProperties is the BasicValidationInputResponse implementation for SubscriptionIsAllowedToCreateJobValidationResponseProperties. +func (siatcjvrp SubscriptionIsAllowedToCreateJobValidationResponseProperties) AsDataDestinationDetailsValidationResponseProperties() (*DataDestinationDetailsValidationResponseProperties, bool) { + return nil, false +} + +// AsPreferencesValidationResponseProperties is the BasicValidationInputResponse implementation for SubscriptionIsAllowedToCreateJobValidationResponseProperties. +func (siatcjvrp SubscriptionIsAllowedToCreateJobValidationResponseProperties) AsPreferencesValidationResponseProperties() (*PreferencesValidationResponseProperties, bool) { + return nil, false +} + +// AsSkuAvailabilityValidationResponseProperties is the BasicValidationInputResponse implementation for SubscriptionIsAllowedToCreateJobValidationResponseProperties. +func (siatcjvrp SubscriptionIsAllowedToCreateJobValidationResponseProperties) AsSkuAvailabilityValidationResponseProperties() (*SkuAvailabilityValidationResponseProperties, bool) { + return nil, false +} + +// AsSubscriptionIsAllowedToCreateJobValidationResponseProperties is the BasicValidationInputResponse implementation for SubscriptionIsAllowedToCreateJobValidationResponseProperties. +func (siatcjvrp SubscriptionIsAllowedToCreateJobValidationResponseProperties) AsSubscriptionIsAllowedToCreateJobValidationResponseProperties() (*SubscriptionIsAllowedToCreateJobValidationResponseProperties, bool) { + return &siatcjvrp, true +} + +// AsValidationInputResponse is the BasicValidationInputResponse implementation for SubscriptionIsAllowedToCreateJobValidationResponseProperties. +func (siatcjvrp SubscriptionIsAllowedToCreateJobValidationResponseProperties) AsValidationInputResponse() (*ValidationInputResponse, bool) { + return nil, false +} + +// AsBasicValidationInputResponse is the BasicValidationInputResponse implementation for SubscriptionIsAllowedToCreateJobValidationResponseProperties. +func (siatcjvrp SubscriptionIsAllowedToCreateJobValidationResponseProperties) AsBasicValidationInputResponse() (BasicValidationInputResponse, bool) { + return &siatcjvrp, true +} + +// TransportAvailabilityDetails transport options availability details for given region. +type TransportAvailabilityDetails struct { + // ShipmentType - READ-ONLY; Transport Shipment Type supported for given region. Possible values include: 'CustomerManaged', 'MicrosoftManaged' + ShipmentType TransportShipmentTypes `json:"shipmentType,omitempty"` +} + +// TransportAvailabilityRequest request body to get the transport availability for given sku. +type TransportAvailabilityRequest struct { + // SkuName - Type of the device. Possible values include: 'DataBox', 'DataBoxDisk', 'DataBoxHeavy' + SkuName SkuName `json:"skuName,omitempty"` +} + +// TransportAvailabilityResponse transport options available for given sku in a region. +type TransportAvailabilityResponse struct { + // TransportAvailabilityDetails - READ-ONLY; List of transport availability details for given region + TransportAvailabilityDetails *[]TransportAvailabilityDetails `json:"transportAvailabilityDetails,omitempty"` +} + +// TransportPreferences preferences related to the shipment logistics of the sku +type TransportPreferences struct { + // PreferredShipmentType - Indicates Shipment Logistics type that the customer preferred. Possible values include: 'CustomerManaged', 'MicrosoftManaged' + PreferredShipmentType TransportShipmentTypes `json:"preferredShipmentType,omitempty"` +} + +// UnencryptedCredentials unencrypted credentials for accessing device. +type UnencryptedCredentials struct { + // JobName - READ-ONLY; Name of the job. + JobName *string `json:"jobName,omitempty"` + // JobSecrets - READ-ONLY; Secrets related to this job. + JobSecrets BasicJobSecrets `json:"jobSecrets,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for UnencryptedCredentials struct. +func (uc *UnencryptedCredentials) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "jobName": + if v != nil { + var jobName string + err = json.Unmarshal(*v, &jobName) + if err != nil { + return err + } + uc.JobName = &jobName + } + case "jobSecrets": + if v != nil { + jobSecrets, err := unmarshalBasicJobSecrets(*v) + if err != nil { + return err + } + uc.JobSecrets = jobSecrets + } + } + } + + return nil +} + +// UnencryptedCredentialsList list of unencrypted credentials for accessing device. +type UnencryptedCredentialsList struct { + autorest.Response `json:"-"` + // Value - List of unencrypted credentials. + Value *[]UnencryptedCredentials `json:"value,omitempty"` + // NextLink - Link for the next set of unencrypted credentials. + NextLink *string `json:"nextLink,omitempty"` +} + +// UpdateJobDetails job details for update. +type UpdateJobDetails struct { + // ContactDetails - Contact details for notification and shipping. + ContactDetails *ContactDetails `json:"contactDetails,omitempty"` + // ShippingAddress - Shipping address of the customer. + ShippingAddress *ShippingAddress `json:"shippingAddress,omitempty"` +} + +// UpdateJobProperties job Properties for update +type UpdateJobProperties struct { + // Details - Details of a job to be updated. + Details *UpdateJobDetails `json:"details,omitempty"` + // DestinationAccountDetails - Destination account details. + DestinationAccountDetails *[]BasicDestinationAccountDetails `json:"destinationAccountDetails,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for UpdateJobProperties struct. +func (ujp *UpdateJobProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "details": + if v != nil { + var details UpdateJobDetails + err = json.Unmarshal(*v, &details) + if err != nil { + return err + } + ujp.Details = &details + } + case "destinationAccountDetails": + if v != nil { + destinationAccountDetails, err := unmarshalBasicDestinationAccountDetailsArray(*v) + if err != nil { + return err + } + ujp.DestinationAccountDetails = &destinationAccountDetails + } + } + } + + return nil +} + +// ValidateAddress the requirements to validate customer address where the device needs to be shipped. +type ValidateAddress struct { + // ShippingAddress - Shipping address of the customer. + ShippingAddress *ShippingAddress `json:"shippingAddress,omitempty"` + // DeviceType - Device type to be used for the job. Possible values include: 'DataBox', 'DataBoxDisk', 'DataBoxHeavy' + DeviceType SkuName `json:"deviceType,omitempty"` + // TransportPreferences - Preferences related to the shipment logistics of the sku. + TransportPreferences *TransportPreferences `json:"transportPreferences,omitempty"` + // ValidationType - Possible values include: 'ValidationTypeValidationInputRequest', 'ValidationTypeValidateCreateOrderLimit', 'ValidationTypeValidateDataDestinationDetails', 'ValidationTypeValidatePreferences', 'ValidationTypeValidateSkuAvailability', 'ValidationTypeValidateSubscriptionIsAllowedToCreateJob', 'ValidationTypeValidateAddress' + ValidationType ValidationType `json:"validationType,omitempty"` +} + +// MarshalJSON is the custom marshaler for ValidateAddress. +func (va ValidateAddress) MarshalJSON() ([]byte, error) { + va.ValidationType = ValidationTypeValidateAddress + objectMap := make(map[string]interface{}) + if va.ShippingAddress != nil { + objectMap["shippingAddress"] = va.ShippingAddress + } + if va.DeviceType != "" { + objectMap["deviceType"] = va.DeviceType + } + if va.TransportPreferences != nil { + objectMap["transportPreferences"] = va.TransportPreferences + } + if va.ValidationType != "" { + objectMap["validationType"] = va.ValidationType + } + return json.Marshal(objectMap) +} + +// AsCreateOrderLimitForSubscriptionValidationRequest is the BasicValidationInputRequest implementation for ValidateAddress. +func (va ValidateAddress) AsCreateOrderLimitForSubscriptionValidationRequest() (*CreateOrderLimitForSubscriptionValidationRequest, bool) { + return nil, false +} + +// AsDataDestinationDetailsValidationRequest is the BasicValidationInputRequest implementation for ValidateAddress. +func (va ValidateAddress) AsDataDestinationDetailsValidationRequest() (*DataDestinationDetailsValidationRequest, bool) { + return nil, false +} + +// AsPreferencesValidationRequest is the BasicValidationInputRequest implementation for ValidateAddress. +func (va ValidateAddress) AsPreferencesValidationRequest() (*PreferencesValidationRequest, bool) { + return nil, false +} + +// AsSkuAvailabilityValidationRequest is the BasicValidationInputRequest implementation for ValidateAddress. +func (va ValidateAddress) AsSkuAvailabilityValidationRequest() (*SkuAvailabilityValidationRequest, bool) { + return nil, false +} + +// AsSubscriptionIsAllowedToCreateJobValidationRequest is the BasicValidationInputRequest implementation for ValidateAddress. +func (va ValidateAddress) AsSubscriptionIsAllowedToCreateJobValidationRequest() (*SubscriptionIsAllowedToCreateJobValidationRequest, bool) { + return nil, false +} + +// AsValidateAddress is the BasicValidationInputRequest implementation for ValidateAddress. +func (va ValidateAddress) AsValidateAddress() (*ValidateAddress, bool) { + return &va, true +} + +// AsValidationInputRequest is the BasicValidationInputRequest implementation for ValidateAddress. +func (va ValidateAddress) AsValidationInputRequest() (*ValidationInputRequest, bool) { + return nil, false +} + +// AsBasicValidationInputRequest is the BasicValidationInputRequest implementation for ValidateAddress. +func (va ValidateAddress) AsBasicValidationInputRequest() (BasicValidationInputRequest, bool) { + return &va, true +} + +// BasicValidationInputRequest minimum fields that must be present in any type of validation request. +type BasicValidationInputRequest interface { + AsCreateOrderLimitForSubscriptionValidationRequest() (*CreateOrderLimitForSubscriptionValidationRequest, bool) + AsDataDestinationDetailsValidationRequest() (*DataDestinationDetailsValidationRequest, bool) + AsPreferencesValidationRequest() (*PreferencesValidationRequest, bool) + AsSkuAvailabilityValidationRequest() (*SkuAvailabilityValidationRequest, bool) + AsSubscriptionIsAllowedToCreateJobValidationRequest() (*SubscriptionIsAllowedToCreateJobValidationRequest, bool) + AsValidateAddress() (*ValidateAddress, bool) + AsValidationInputRequest() (*ValidationInputRequest, bool) +} + +// ValidationInputRequest minimum fields that must be present in any type of validation request. +type ValidationInputRequest struct { + // ValidationType - Possible values include: 'ValidationTypeValidationInputRequest', 'ValidationTypeValidateCreateOrderLimit', 'ValidationTypeValidateDataDestinationDetails', 'ValidationTypeValidatePreferences', 'ValidationTypeValidateSkuAvailability', 'ValidationTypeValidateSubscriptionIsAllowedToCreateJob', 'ValidationTypeValidateAddress' + ValidationType ValidationType `json:"validationType,omitempty"` +} + +func unmarshalBasicValidationInputRequest(body []byte) (BasicValidationInputRequest, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["validationType"] { + case string(ValidationTypeValidateCreateOrderLimit): + var colfsvr CreateOrderLimitForSubscriptionValidationRequest + err := json.Unmarshal(body, &colfsvr) + return colfsvr, err + case string(ValidationTypeValidateDataDestinationDetails): + var dddvr DataDestinationDetailsValidationRequest + err := json.Unmarshal(body, &dddvr) + return dddvr, err + case string(ValidationTypeValidatePreferences): + var pvr PreferencesValidationRequest + err := json.Unmarshal(body, &pvr) + return pvr, err + case string(ValidationTypeValidateSkuAvailability): + var savr SkuAvailabilityValidationRequest + err := json.Unmarshal(body, &savr) + return savr, err + case string(ValidationTypeValidateSubscriptionIsAllowedToCreateJob): + var siatcjvr SubscriptionIsAllowedToCreateJobValidationRequest + err := json.Unmarshal(body, &siatcjvr) + return siatcjvr, err + case string(ValidationTypeValidateAddress): + var va ValidateAddress + err := json.Unmarshal(body, &va) + return va, err + default: + var vir ValidationInputRequest + err := json.Unmarshal(body, &vir) + return vir, err + } +} +func unmarshalBasicValidationInputRequestArray(body []byte) ([]BasicValidationInputRequest, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + virArray := make([]BasicValidationInputRequest, len(rawMessages)) + + for index, rawMessage := range rawMessages { + vir, err := unmarshalBasicValidationInputRequest(*rawMessage) + if err != nil { + return nil, err + } + virArray[index] = vir + } + return virArray, nil +} + +// MarshalJSON is the custom marshaler for ValidationInputRequest. +func (vir ValidationInputRequest) MarshalJSON() ([]byte, error) { + vir.ValidationType = ValidationTypeValidationInputRequest + objectMap := make(map[string]interface{}) + if vir.ValidationType != "" { + objectMap["validationType"] = vir.ValidationType + } + return json.Marshal(objectMap) +} + +// AsCreateOrderLimitForSubscriptionValidationRequest is the BasicValidationInputRequest implementation for ValidationInputRequest. +func (vir ValidationInputRequest) AsCreateOrderLimitForSubscriptionValidationRequest() (*CreateOrderLimitForSubscriptionValidationRequest, bool) { + return nil, false +} + +// AsDataDestinationDetailsValidationRequest is the BasicValidationInputRequest implementation for ValidationInputRequest. +func (vir ValidationInputRequest) AsDataDestinationDetailsValidationRequest() (*DataDestinationDetailsValidationRequest, bool) { + return nil, false +} + +// AsPreferencesValidationRequest is the BasicValidationInputRequest implementation for ValidationInputRequest. +func (vir ValidationInputRequest) AsPreferencesValidationRequest() (*PreferencesValidationRequest, bool) { + return nil, false +} + +// AsSkuAvailabilityValidationRequest is the BasicValidationInputRequest implementation for ValidationInputRequest. +func (vir ValidationInputRequest) AsSkuAvailabilityValidationRequest() (*SkuAvailabilityValidationRequest, bool) { + return nil, false +} + +// AsSubscriptionIsAllowedToCreateJobValidationRequest is the BasicValidationInputRequest implementation for ValidationInputRequest. +func (vir ValidationInputRequest) AsSubscriptionIsAllowedToCreateJobValidationRequest() (*SubscriptionIsAllowedToCreateJobValidationRequest, bool) { + return nil, false +} + +// AsValidateAddress is the BasicValidationInputRequest implementation for ValidationInputRequest. +func (vir ValidationInputRequest) AsValidateAddress() (*ValidateAddress, bool) { + return nil, false +} + +// AsValidationInputRequest is the BasicValidationInputRequest implementation for ValidationInputRequest. +func (vir ValidationInputRequest) AsValidationInputRequest() (*ValidationInputRequest, bool) { + return &vir, true +} + +// AsBasicValidationInputRequest is the BasicValidationInputRequest implementation for ValidationInputRequest. +func (vir ValidationInputRequest) AsBasicValidationInputRequest() (BasicValidationInputRequest, bool) { + return &vir, true +} + +// BasicValidationInputResponse minimum properties that should be present in each individual validation response. +type BasicValidationInputResponse interface { + AsAddressValidationProperties() (*AddressValidationProperties, bool) + AsCreateOrderLimitForSubscriptionValidationResponseProperties() (*CreateOrderLimitForSubscriptionValidationResponseProperties, bool) + AsDataDestinationDetailsValidationResponseProperties() (*DataDestinationDetailsValidationResponseProperties, bool) + AsPreferencesValidationResponseProperties() (*PreferencesValidationResponseProperties, bool) + AsSkuAvailabilityValidationResponseProperties() (*SkuAvailabilityValidationResponseProperties, bool) + AsSubscriptionIsAllowedToCreateJobValidationResponseProperties() (*SubscriptionIsAllowedToCreateJobValidationResponseProperties, bool) + AsValidationInputResponse() (*ValidationInputResponse, bool) +} + +// ValidationInputResponse minimum properties that should be present in each individual validation response. +type ValidationInputResponse struct { + // Error - READ-ONLY; Error code and message of validation response. + Error *Error `json:"error,omitempty"` + // ValidationType - Possible values include: 'ValidationTypeBasicValidationInputResponseValidationTypeValidationInputResponse', 'ValidationTypeBasicValidationInputResponseValidationTypeValidateAddress', 'ValidationTypeBasicValidationInputResponseValidationTypeValidateCreateOrderLimit', 'ValidationTypeBasicValidationInputResponseValidationTypeValidateDataDestinationDetails', 'ValidationTypeBasicValidationInputResponseValidationTypeValidatePreferences', 'ValidationTypeBasicValidationInputResponseValidationTypeValidateSkuAvailability', 'ValidationTypeBasicValidationInputResponseValidationTypeValidateSubscriptionIsAllowedToCreateJob' + ValidationType ValidationTypeBasicValidationInputResponse `json:"validationType,omitempty"` +} + +func unmarshalBasicValidationInputResponse(body []byte) (BasicValidationInputResponse, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["validationType"] { + case string(ValidationTypeBasicValidationInputResponseValidationTypeValidateAddress): + var avp AddressValidationProperties + err := json.Unmarshal(body, &avp) + return avp, err + case string(ValidationTypeBasicValidationInputResponseValidationTypeValidateCreateOrderLimit): + var colfsvrp CreateOrderLimitForSubscriptionValidationResponseProperties + err := json.Unmarshal(body, &colfsvrp) + return colfsvrp, err + case string(ValidationTypeBasicValidationInputResponseValidationTypeValidateDataDestinationDetails): + var dddvrp DataDestinationDetailsValidationResponseProperties + err := json.Unmarshal(body, &dddvrp) + return dddvrp, err + case string(ValidationTypeBasicValidationInputResponseValidationTypeValidatePreferences): + var pvrp PreferencesValidationResponseProperties + err := json.Unmarshal(body, &pvrp) + return pvrp, err + case string(ValidationTypeBasicValidationInputResponseValidationTypeValidateSkuAvailability): + var savrp SkuAvailabilityValidationResponseProperties + err := json.Unmarshal(body, &savrp) + return savrp, err + case string(ValidationTypeBasicValidationInputResponseValidationTypeValidateSubscriptionIsAllowedToCreateJob): + var siatcjvrp SubscriptionIsAllowedToCreateJobValidationResponseProperties + err := json.Unmarshal(body, &siatcjvrp) + return siatcjvrp, err + default: + var vir ValidationInputResponse + err := json.Unmarshal(body, &vir) + return vir, err + } +} +func unmarshalBasicValidationInputResponseArray(body []byte) ([]BasicValidationInputResponse, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + virArray := make([]BasicValidationInputResponse, len(rawMessages)) + + for index, rawMessage := range rawMessages { + vir, err := unmarshalBasicValidationInputResponse(*rawMessage) + if err != nil { + return nil, err + } + virArray[index] = vir + } + return virArray, nil +} + +// MarshalJSON is the custom marshaler for ValidationInputResponse. +func (vir ValidationInputResponse) MarshalJSON() ([]byte, error) { + vir.ValidationType = ValidationTypeBasicValidationInputResponseValidationTypeValidationInputResponse + objectMap := make(map[string]interface{}) + if vir.ValidationType != "" { + objectMap["validationType"] = vir.ValidationType + } + return json.Marshal(objectMap) +} + +// AsAddressValidationProperties is the BasicValidationInputResponse implementation for ValidationInputResponse. +func (vir ValidationInputResponse) AsAddressValidationProperties() (*AddressValidationProperties, bool) { + return nil, false +} + +// AsCreateOrderLimitForSubscriptionValidationResponseProperties is the BasicValidationInputResponse implementation for ValidationInputResponse. +func (vir ValidationInputResponse) AsCreateOrderLimitForSubscriptionValidationResponseProperties() (*CreateOrderLimitForSubscriptionValidationResponseProperties, bool) { + return nil, false +} + +// AsDataDestinationDetailsValidationResponseProperties is the BasicValidationInputResponse implementation for ValidationInputResponse. +func (vir ValidationInputResponse) AsDataDestinationDetailsValidationResponseProperties() (*DataDestinationDetailsValidationResponseProperties, bool) { + return nil, false +} + +// AsPreferencesValidationResponseProperties is the BasicValidationInputResponse implementation for ValidationInputResponse. +func (vir ValidationInputResponse) AsPreferencesValidationResponseProperties() (*PreferencesValidationResponseProperties, bool) { + return nil, false +} + +// AsSkuAvailabilityValidationResponseProperties is the BasicValidationInputResponse implementation for ValidationInputResponse. +func (vir ValidationInputResponse) AsSkuAvailabilityValidationResponseProperties() (*SkuAvailabilityValidationResponseProperties, bool) { + return nil, false +} + +// AsSubscriptionIsAllowedToCreateJobValidationResponseProperties is the BasicValidationInputResponse implementation for ValidationInputResponse. +func (vir ValidationInputResponse) AsSubscriptionIsAllowedToCreateJobValidationResponseProperties() (*SubscriptionIsAllowedToCreateJobValidationResponseProperties, bool) { + return nil, false +} + +// AsValidationInputResponse is the BasicValidationInputResponse implementation for ValidationInputResponse. +func (vir ValidationInputResponse) AsValidationInputResponse() (*ValidationInputResponse, bool) { + return &vir, true +} + +// AsBasicValidationInputResponse is the BasicValidationInputResponse implementation for ValidationInputResponse. +func (vir ValidationInputResponse) AsBasicValidationInputResponse() (BasicValidationInputResponse, bool) { + return &vir, true +} + +// BasicValidationRequest input request for all pre job creation validation. +type BasicValidationRequest interface { + AsCreateJobValidations() (*CreateJobValidations, bool) + AsValidationRequest() (*ValidationRequest, bool) +} + +// ValidationRequest input request for all pre job creation validation. +type ValidationRequest struct { + // IndividualRequestDetails - List of request details contain validationType and its request as key and value respectively. + IndividualRequestDetails *[]BasicValidationInputRequest `json:"individualRequestDetails,omitempty"` + // ValidationCategory - Possible values include: 'ValidationCategoryValidationRequest', 'ValidationCategoryJobCreationValidation' + ValidationCategory ValidationCategory `json:"validationCategory,omitempty"` +} + +func unmarshalBasicValidationRequest(body []byte) (BasicValidationRequest, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["validationCategory"] { + case string(ValidationCategoryJobCreationValidation): + var cjv CreateJobValidations + err := json.Unmarshal(body, &cjv) + return cjv, err + default: + var vr ValidationRequest + err := json.Unmarshal(body, &vr) + return vr, err + } +} +func unmarshalBasicValidationRequestArray(body []byte) ([]BasicValidationRequest, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + vrArray := make([]BasicValidationRequest, len(rawMessages)) + + for index, rawMessage := range rawMessages { + vr, err := unmarshalBasicValidationRequest(*rawMessage) + if err != nil { + return nil, err + } + vrArray[index] = vr + } + return vrArray, nil +} + +// MarshalJSON is the custom marshaler for ValidationRequest. +func (vr ValidationRequest) MarshalJSON() ([]byte, error) { + vr.ValidationCategory = ValidationCategoryValidationRequest + objectMap := make(map[string]interface{}) + if vr.IndividualRequestDetails != nil { + objectMap["individualRequestDetails"] = vr.IndividualRequestDetails + } + if vr.ValidationCategory != "" { + objectMap["validationCategory"] = vr.ValidationCategory + } + return json.Marshal(objectMap) +} + +// AsCreateJobValidations is the BasicValidationRequest implementation for ValidationRequest. +func (vr ValidationRequest) AsCreateJobValidations() (*CreateJobValidations, bool) { + return nil, false +} + +// AsValidationRequest is the BasicValidationRequest implementation for ValidationRequest. +func (vr ValidationRequest) AsValidationRequest() (*ValidationRequest, bool) { + return &vr, true +} + +// AsBasicValidationRequest is the BasicValidationRequest implementation for ValidationRequest. +func (vr ValidationRequest) AsBasicValidationRequest() (BasicValidationRequest, bool) { + return &vr, true +} + +// UnmarshalJSON is the custom unmarshaler for ValidationRequest struct. +func (vr *ValidationRequest) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "individualRequestDetails": + if v != nil { + individualRequestDetails, err := unmarshalBasicValidationInputRequestArray(*v) + if err != nil { + return err + } + vr.IndividualRequestDetails = &individualRequestDetails + } + case "validationCategory": + if v != nil { + var validationCategory ValidationCategory + err = json.Unmarshal(*v, &validationCategory) + if err != nil { + return err + } + vr.ValidationCategory = validationCategory + } + } + } + + return nil +} + +// ValidationResponse response of pre job creation validations. +type ValidationResponse struct { + autorest.Response `json:"-"` + // ValidationResponseProperties - READ-ONLY; Properties of pre job creation validation response. + *ValidationResponseProperties `json:"properties,omitempty"` +} + +// MarshalJSON is the custom marshaler for ValidationResponse. +func (vr ValidationResponse) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ValidationResponse struct. +func (vr *ValidationResponse) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var validationResponseProperties ValidationResponseProperties + err = json.Unmarshal(*v, &validationResponseProperties) + if err != nil { + return err + } + vr.ValidationResponseProperties = &validationResponseProperties + } + } + } + + return nil +} + +// ValidationResponseProperties properties of pre job creation validation response. +type ValidationResponseProperties struct { + // Status - READ-ONLY; Overall validation status. Possible values include: 'AllValidToProceed', 'InputsRevisitRequired', 'CertainInputValidationsSkipped' + Status OverallValidationStatus `json:"status,omitempty"` + // IndividualResponseDetails - READ-ONLY; List of response details contain validationType and its response as key and value respectively. + IndividualResponseDetails *[]BasicValidationInputResponse `json:"individualResponseDetails,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for ValidationResponseProperties struct. +func (vrp *ValidationResponseProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "status": + if v != nil { + var status OverallValidationStatus + err = json.Unmarshal(*v, &status) + if err != nil { + return err + } + vrp.Status = status + } + case "individualResponseDetails": + if v != nil { + individualResponseDetails, err := unmarshalBasicValidationInputResponseArray(*v) + if err != nil { + return err + } + vrp.IndividualResponseDetails = &individualResponseDetails + } + } + } + + return nil +} diff --git a/services/preview/portal/mgmt/2015-11-01-preview/portal/operations.go b/services/databox/mgmt/2019-09-01/databox/operations.go similarity index 69% rename from services/preview/portal/mgmt/2015-11-01-preview/portal/operations.go rename to services/databox/mgmt/2019-09-01/databox/operations.go index d813511a7e03..59771136ee8b 100644 --- a/services/preview/portal/mgmt/2015-11-01-preview/portal/operations.go +++ b/services/databox/mgmt/2019-09-01/databox/operations.go @@ -1,4 +1,4 @@ -package portal +package databox // Copyright (c) Microsoft and contributors. All rights reserved. // @@ -25,7 +25,7 @@ import ( "net/http" ) -// OperationsClient is the allows creation and deletion of Azure Shared Dashboards. +// OperationsClient is the client for the Operations methods of the Databox service. type OperationsClient struct { BaseClient } @@ -40,14 +40,14 @@ func NewOperationsClientWithBaseURI(baseURI string, subscriptionID string) Opera return OperationsClient{NewWithBaseURI(baseURI, subscriptionID)} } -// List the Microsoft Portal operations API. -func (client OperationsClient) List(ctx context.Context) (result ResourceProviderOperationListPage, err error) { +// List this method gets all the operations. +func (client OperationsClient) List(ctx context.Context) (result OperationListPage, err error) { if tracing.IsEnabled() { ctx = tracing.StartSpan(ctx, fqdn+"/OperationsClient.List") defer func() { sc := -1 - if result.rpol.Response.Response != nil { - sc = result.rpol.Response.Response.StatusCode + if result.ol.Response.Response != nil { + sc = result.ol.Response.Response.StatusCode } tracing.EndSpan(ctx, sc, err) }() @@ -55,20 +55,20 @@ func (client OperationsClient) List(ctx context.Context) (result ResourceProvide result.fn = client.listNextResults req, err := client.ListPreparer(ctx) if err != nil { - err = autorest.NewErrorWithError(err, "portal.OperationsClient", "List", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "databox.OperationsClient", "List", nil, "Failure preparing request") return } resp, err := client.ListSender(req) if err != nil { - result.rpol.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "portal.OperationsClient", "List", resp, "Failure sending request") + result.ol.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "databox.OperationsClient", "List", resp, "Failure sending request") return } - result.rpol, err = client.ListResponder(resp) + result.ol, err = client.ListResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "portal.OperationsClient", "List", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "databox.OperationsClient", "List", resp, "Failure responding to request") } return @@ -76,7 +76,7 @@ func (client OperationsClient) List(ctx context.Context) (result ResourceProvide // ListPreparer prepares the List request. func (client OperationsClient) ListPreparer(ctx context.Context) (*http.Request, error) { - const APIVersion = "2015-11-01-preview" + const APIVersion = "2019-09-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -84,7 +84,7 @@ func (client OperationsClient) ListPreparer(ctx context.Context) (*http.Request, preparer := autorest.CreatePreparer( autorest.AsGet(), autorest.WithBaseURL(client.BaseURI), - autorest.WithPath("/providers/Microsoft.Portal/operations"), + autorest.WithPath("/providers/Microsoft.DataBox/operations"), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) } @@ -92,13 +92,13 @@ func (client OperationsClient) ListPreparer(ctx context.Context) (*http.Request, // ListSender sends the List request. The method will close the // http.Response Body if it receives an error. func (client OperationsClient) ListSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // ListResponder handles the response to the List request. The method always // closes the http.Response Body. -func (client OperationsClient) ListResponder(resp *http.Response) (result ResourceProviderOperationList, err error) { +func (client OperationsClient) ListResponder(resp *http.Response) (result OperationList, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -110,10 +110,10 @@ func (client OperationsClient) ListResponder(resp *http.Response) (result Resour } // listNextResults retrieves the next set of results, if any. -func (client OperationsClient) listNextResults(ctx context.Context, lastResults ResourceProviderOperationList) (result ResourceProviderOperationList, err error) { - req, err := lastResults.resourceProviderOperationListPreparer(ctx) +func (client OperationsClient) listNextResults(ctx context.Context, lastResults OperationList) (result OperationList, err error) { + req, err := lastResults.operationListPreparer(ctx) if err != nil { - return result, autorest.NewErrorWithError(err, "portal.OperationsClient", "listNextResults", nil, "Failure preparing next results request") + return result, autorest.NewErrorWithError(err, "databox.OperationsClient", "listNextResults", nil, "Failure preparing next results request") } if req == nil { return @@ -121,17 +121,17 @@ func (client OperationsClient) listNextResults(ctx context.Context, lastResults resp, err := client.ListSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "portal.OperationsClient", "listNextResults", resp, "Failure sending next results request") + return result, autorest.NewErrorWithError(err, "databox.OperationsClient", "listNextResults", resp, "Failure sending next results request") } result, err = client.ListResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "portal.OperationsClient", "listNextResults", resp, "Failure responding to next results request") + err = autorest.NewErrorWithError(err, "databox.OperationsClient", "listNextResults", resp, "Failure responding to next results request") } return } // ListComplete enumerates all values, automatically crossing page boundaries as required. -func (client OperationsClient) ListComplete(ctx context.Context) (result ResourceProviderOperationListIterator, err error) { +func (client OperationsClient) ListComplete(ctx context.Context) (result OperationListIterator, err error) { if tracing.IsEnabled() { ctx = tracing.StartSpan(ctx, fqdn+"/OperationsClient.List") defer func() { diff --git a/services/databox/mgmt/2019-09-01/databox/service.go b/services/databox/mgmt/2019-09-01/databox/service.go new file mode 100644 index 000000000000..c588c0b52613 --- /dev/null +++ b/services/databox/mgmt/2019-09-01/databox/service.go @@ -0,0 +1,637 @@ +package databox + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// ServiceClient is the client for the Service methods of the Databox service. +type ServiceClient struct { + BaseClient +} + +// NewServiceClient creates an instance of the ServiceClient client. +func NewServiceClient(subscriptionID string) ServiceClient { + return NewServiceClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewServiceClientWithBaseURI creates an instance of the ServiceClient client. +func NewServiceClientWithBaseURI(baseURI string, subscriptionID string) ServiceClient { + return ServiceClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// ListAvailableSkus this method provides the list of available skus for the given subscription and location. +// Parameters: +// location - the location of the resource +// availableSkuRequest - filters for showing the available skus. +func (client ServiceClient) ListAvailableSkus(ctx context.Context, location string, availableSkuRequest AvailableSkuRequest) (result AvailableSkusResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServiceClient.ListAvailableSkus") + defer func() { + sc := -1 + if result.asr.Response.Response != nil { + sc = result.asr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: availableSkuRequest, + Constraints: []validation.Constraint{{Target: "availableSkuRequest.TransferType", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "availableSkuRequest.Country", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "availableSkuRequest.Location", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + return result, validation.NewError("databox.ServiceClient", "ListAvailableSkus", err.Error()) + } + + result.fn = client.listAvailableSkusNextResults + req, err := client.ListAvailableSkusPreparer(ctx, location, availableSkuRequest) + if err != nil { + err = autorest.NewErrorWithError(err, "databox.ServiceClient", "ListAvailableSkus", nil, "Failure preparing request") + return + } + + resp, err := client.ListAvailableSkusSender(req) + if err != nil { + result.asr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "databox.ServiceClient", "ListAvailableSkus", resp, "Failure sending request") + return + } + + result.asr, err = client.ListAvailableSkusResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "databox.ServiceClient", "ListAvailableSkus", resp, "Failure responding to request") + } + + return +} + +// ListAvailableSkusPreparer prepares the ListAvailableSkus request. +func (client ServiceClient) ListAvailableSkusPreparer(ctx context.Context, location string, availableSkuRequest AvailableSkuRequest) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "location": autorest.Encode("path", location), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-09-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.DataBox/locations/{location}/availableSkus", pathParameters), + autorest.WithJSON(availableSkuRequest), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListAvailableSkusSender sends the ListAvailableSkus request. The method will close the +// http.Response Body if it receives an error. +func (client ServiceClient) ListAvailableSkusSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListAvailableSkusResponder handles the response to the ListAvailableSkus request. The method always +// closes the http.Response Body. +func (client ServiceClient) ListAvailableSkusResponder(resp *http.Response) (result AvailableSkusResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listAvailableSkusNextResults retrieves the next set of results, if any. +func (client ServiceClient) listAvailableSkusNextResults(ctx context.Context, lastResults AvailableSkusResult) (result AvailableSkusResult, err error) { + req, err := lastResults.availableSkusResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "databox.ServiceClient", "listAvailableSkusNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListAvailableSkusSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "databox.ServiceClient", "listAvailableSkusNextResults", resp, "Failure sending next results request") + } + result, err = client.ListAvailableSkusResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "databox.ServiceClient", "listAvailableSkusNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListAvailableSkusComplete enumerates all values, automatically crossing page boundaries as required. +func (client ServiceClient) ListAvailableSkusComplete(ctx context.Context, location string, availableSkuRequest AvailableSkuRequest) (result AvailableSkusResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServiceClient.ListAvailableSkus") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListAvailableSkus(ctx, location, availableSkuRequest) + return +} + +// ListAvailableSkusByResourceGroup this method provides the list of available skus for the given subscription, +// resource group and location. +// Parameters: +// resourceGroupName - the Resource Group Name +// location - the location of the resource +// availableSkuRequest - filters for showing the available skus. +func (client ServiceClient) ListAvailableSkusByResourceGroup(ctx context.Context, resourceGroupName string, location string, availableSkuRequest AvailableSkuRequest) (result AvailableSkusResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServiceClient.ListAvailableSkusByResourceGroup") + defer func() { + sc := -1 + if result.asr.Response.Response != nil { + sc = result.asr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: availableSkuRequest, + Constraints: []validation.Constraint{{Target: "availableSkuRequest.TransferType", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "availableSkuRequest.Country", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "availableSkuRequest.Location", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + return result, validation.NewError("databox.ServiceClient", "ListAvailableSkusByResourceGroup", err.Error()) + } + + result.fn = client.listAvailableSkusByResourceGroupNextResults + req, err := client.ListAvailableSkusByResourceGroupPreparer(ctx, resourceGroupName, location, availableSkuRequest) + if err != nil { + err = autorest.NewErrorWithError(err, "databox.ServiceClient", "ListAvailableSkusByResourceGroup", nil, "Failure preparing request") + return + } + + resp, err := client.ListAvailableSkusByResourceGroupSender(req) + if err != nil { + result.asr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "databox.ServiceClient", "ListAvailableSkusByResourceGroup", resp, "Failure sending request") + return + } + + result.asr, err = client.ListAvailableSkusByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "databox.ServiceClient", "ListAvailableSkusByResourceGroup", resp, "Failure responding to request") + } + + return +} + +// ListAvailableSkusByResourceGroupPreparer prepares the ListAvailableSkusByResourceGroup request. +func (client ServiceClient) ListAvailableSkusByResourceGroupPreparer(ctx context.Context, resourceGroupName string, location string, availableSkuRequest AvailableSkuRequest) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "location": autorest.Encode("path", location), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-09-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/locations/{location}/availableSkus", pathParameters), + autorest.WithJSON(availableSkuRequest), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListAvailableSkusByResourceGroupSender sends the ListAvailableSkusByResourceGroup request. The method will close the +// http.Response Body if it receives an error. +func (client ServiceClient) ListAvailableSkusByResourceGroupSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListAvailableSkusByResourceGroupResponder handles the response to the ListAvailableSkusByResourceGroup request. The method always +// closes the http.Response Body. +func (client ServiceClient) ListAvailableSkusByResourceGroupResponder(resp *http.Response) (result AvailableSkusResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listAvailableSkusByResourceGroupNextResults retrieves the next set of results, if any. +func (client ServiceClient) listAvailableSkusByResourceGroupNextResults(ctx context.Context, lastResults AvailableSkusResult) (result AvailableSkusResult, err error) { + req, err := lastResults.availableSkusResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "databox.ServiceClient", "listAvailableSkusByResourceGroupNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListAvailableSkusByResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "databox.ServiceClient", "listAvailableSkusByResourceGroupNextResults", resp, "Failure sending next results request") + } + result, err = client.ListAvailableSkusByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "databox.ServiceClient", "listAvailableSkusByResourceGroupNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListAvailableSkusByResourceGroupComplete enumerates all values, automatically crossing page boundaries as required. +func (client ServiceClient) ListAvailableSkusByResourceGroupComplete(ctx context.Context, resourceGroupName string, location string, availableSkuRequest AvailableSkuRequest) (result AvailableSkusResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServiceClient.ListAvailableSkusByResourceGroup") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListAvailableSkusByResourceGroup(ctx, resourceGroupName, location, availableSkuRequest) + return +} + +// RegionConfiguration this API provides configuration details specific to given region/location. +// Parameters: +// location - the location of the resource +// regionConfigurationRequest - request body to get the configuration for the region. +func (client ServiceClient) RegionConfiguration(ctx context.Context, location string, regionConfigurationRequest RegionConfigurationRequest) (result RegionConfigurationResponse, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServiceClient.RegionConfiguration") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: regionConfigurationRequest, + Constraints: []validation.Constraint{{Target: "regionConfigurationRequest.ScheduleAvailabilityRequest", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "regionConfigurationRequest.ScheduleAvailabilityRequest.StorageLocation", Name: validation.Null, Rule: true, Chain: nil}}}}}}); err != nil { + return result, validation.NewError("databox.ServiceClient", "RegionConfiguration", err.Error()) + } + + req, err := client.RegionConfigurationPreparer(ctx, location, regionConfigurationRequest) + if err != nil { + err = autorest.NewErrorWithError(err, "databox.ServiceClient", "RegionConfiguration", nil, "Failure preparing request") + return + } + + resp, err := client.RegionConfigurationSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "databox.ServiceClient", "RegionConfiguration", resp, "Failure sending request") + return + } + + result, err = client.RegionConfigurationResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "databox.ServiceClient", "RegionConfiguration", resp, "Failure responding to request") + } + + return +} + +// RegionConfigurationPreparer prepares the RegionConfiguration request. +func (client ServiceClient) RegionConfigurationPreparer(ctx context.Context, location string, regionConfigurationRequest RegionConfigurationRequest) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "location": autorest.Encode("path", location), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-09-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.DataBox/locations/{location}/regionConfiguration", pathParameters), + autorest.WithJSON(regionConfigurationRequest), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// RegionConfigurationSender sends the RegionConfiguration request. The method will close the +// http.Response Body if it receives an error. +func (client ServiceClient) RegionConfigurationSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// RegionConfigurationResponder handles the response to the RegionConfiguration request. The method always +// closes the http.Response Body. +func (client ServiceClient) RegionConfigurationResponder(resp *http.Response) (result RegionConfigurationResponse, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ValidateAddressMethod [DEPRECATED NOTICE: This operation will soon be removed] This method validates the customer +// shipping address and provide alternate addresses if any. +// Parameters: +// location - the location of the resource +// validateAddress - shipping address of the customer. +func (client ServiceClient) ValidateAddressMethod(ctx context.Context, location string, validateAddress ValidateAddress) (result AddressValidationOutput, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServiceClient.ValidateAddressMethod") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: validateAddress, + Constraints: []validation.Constraint{{Target: "validateAddress.ShippingAddress", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "validateAddress.ShippingAddress.StreetAddress1", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "validateAddress.ShippingAddress.Country", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "validateAddress.ShippingAddress.PostalCode", Name: validation.Null, Rule: true, Chain: nil}, + }}}}}); err != nil { + return result, validation.NewError("databox.ServiceClient", "ValidateAddressMethod", err.Error()) + } + + req, err := client.ValidateAddressMethodPreparer(ctx, location, validateAddress) + if err != nil { + err = autorest.NewErrorWithError(err, "databox.ServiceClient", "ValidateAddressMethod", nil, "Failure preparing request") + return + } + + resp, err := client.ValidateAddressMethodSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "databox.ServiceClient", "ValidateAddressMethod", resp, "Failure sending request") + return + } + + result, err = client.ValidateAddressMethodResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "databox.ServiceClient", "ValidateAddressMethod", resp, "Failure responding to request") + } + + return +} + +// ValidateAddressMethodPreparer prepares the ValidateAddressMethod request. +func (client ServiceClient) ValidateAddressMethodPreparer(ctx context.Context, location string, validateAddress ValidateAddress) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "location": autorest.Encode("path", location), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-09-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.DataBox/locations/{location}/validateAddress", pathParameters), + autorest.WithJSON(validateAddress), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ValidateAddressMethodSender sends the ValidateAddressMethod request. The method will close the +// http.Response Body if it receives an error. +func (client ServiceClient) ValidateAddressMethodSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ValidateAddressMethodResponder handles the response to the ValidateAddressMethod request. The method always +// closes the http.Response Body. +func (client ServiceClient) ValidateAddressMethodResponder(resp *http.Response) (result AddressValidationOutput, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ValidateInputs this method does all necessary pre-job creation validation under subscription. +// Parameters: +// location - the location of the resource +// validationRequest - inputs of the customer. +func (client ServiceClient) ValidateInputs(ctx context.Context, location string, validationRequest BasicValidationRequest) (result ValidationResponse, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServiceClient.ValidateInputs") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: validationRequest, + Constraints: []validation.Constraint{{Target: "validationRequest.IndividualRequestDetails", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + return result, validation.NewError("databox.ServiceClient", "ValidateInputs", err.Error()) + } + + req, err := client.ValidateInputsPreparer(ctx, location, validationRequest) + if err != nil { + err = autorest.NewErrorWithError(err, "databox.ServiceClient", "ValidateInputs", nil, "Failure preparing request") + return + } + + resp, err := client.ValidateInputsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "databox.ServiceClient", "ValidateInputs", resp, "Failure sending request") + return + } + + result, err = client.ValidateInputsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "databox.ServiceClient", "ValidateInputs", resp, "Failure responding to request") + } + + return +} + +// ValidateInputsPreparer prepares the ValidateInputs request. +func (client ServiceClient) ValidateInputsPreparer(ctx context.Context, location string, validationRequest BasicValidationRequest) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "location": autorest.Encode("path", location), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-09-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.DataBox/locations/{location}/validateInputs", pathParameters), + autorest.WithJSON(validationRequest), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ValidateInputsSender sends the ValidateInputs request. The method will close the +// http.Response Body if it receives an error. +func (client ServiceClient) ValidateInputsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ValidateInputsResponder handles the response to the ValidateInputs request. The method always +// closes the http.Response Body. +func (client ServiceClient) ValidateInputsResponder(resp *http.Response) (result ValidationResponse, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ValidateInputsByResourceGroup this method does all necessary pre-job creation validation under resource group. +// Parameters: +// resourceGroupName - the Resource Group Name +// location - the location of the resource +// validationRequest - inputs of the customer. +func (client ServiceClient) ValidateInputsByResourceGroup(ctx context.Context, resourceGroupName string, location string, validationRequest BasicValidationRequest) (result ValidationResponse, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServiceClient.ValidateInputsByResourceGroup") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: validationRequest, + Constraints: []validation.Constraint{{Target: "validationRequest.IndividualRequestDetails", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + return result, validation.NewError("databox.ServiceClient", "ValidateInputsByResourceGroup", err.Error()) + } + + req, err := client.ValidateInputsByResourceGroupPreparer(ctx, resourceGroupName, location, validationRequest) + if err != nil { + err = autorest.NewErrorWithError(err, "databox.ServiceClient", "ValidateInputsByResourceGroup", nil, "Failure preparing request") + return + } + + resp, err := client.ValidateInputsByResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "databox.ServiceClient", "ValidateInputsByResourceGroup", resp, "Failure sending request") + return + } + + result, err = client.ValidateInputsByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "databox.ServiceClient", "ValidateInputsByResourceGroup", resp, "Failure responding to request") + } + + return +} + +// ValidateInputsByResourceGroupPreparer prepares the ValidateInputsByResourceGroup request. +func (client ServiceClient) ValidateInputsByResourceGroupPreparer(ctx context.Context, resourceGroupName string, location string, validationRequest BasicValidationRequest) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "location": autorest.Encode("path", location), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-09-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBox/locations/{location}/validateInputs", pathParameters), + autorest.WithJSON(validationRequest), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ValidateInputsByResourceGroupSender sends the ValidateInputsByResourceGroup request. The method will close the +// http.Response Body if it receives an error. +func (client ServiceClient) ValidateInputsByResourceGroupSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ValidateInputsByResourceGroupResponder handles the response to the ValidateInputsByResourceGroup request. The method always +// closes the http.Response Body. +func (client ServiceClient) ValidateInputsByResourceGroupResponder(resp *http.Response) (result ValidationResponse, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/batch/2016-07-01.3.1/batch/version.go b/services/databox/mgmt/2019-09-01/databox/version.go similarity index 92% rename from services/batch/2016-07-01.3.1/batch/version.go rename to services/databox/mgmt/2019-09-01/databox/version.go index 0119127659d9..521bc0b7a5bc 100644 --- a/services/batch/2016-07-01.3.1/batch/version.go +++ b/services/databox/mgmt/2019-09-01/databox/version.go @@ -1,4 +1,4 @@ -package batch +package databox import "github.com/Azure/azure-sdk-for-go/version" @@ -21,7 +21,7 @@ import "github.com/Azure/azure-sdk-for-go/version" // UserAgent returns the UserAgent string to use when sending http.Requests. func UserAgent() string { - return "Azure-SDK-For-Go/" + version.Number + " batch/2016-07-01.3.1" + return "Azure-SDK-For-Go/" + version.Number + " databox/2019-09-01" } // Version returns the semantic version (see http://semver.org) of the client. diff --git a/services/edgegateway/mgmt/2019-03-01/edgegateway/alerts.go b/services/databoxedge/mgmt/2019-03-01/databoxedge/alerts.go similarity index 92% rename from services/edgegateway/mgmt/2019-03-01/edgegateway/alerts.go rename to services/databoxedge/mgmt/2019-03-01/databoxedge/alerts.go index dc202149b308..60ac781dddaf 100644 --- a/services/edgegateway/mgmt/2019-03-01/edgegateway/alerts.go +++ b/services/databoxedge/mgmt/2019-03-01/databoxedge/alerts.go @@ -1,4 +1,4 @@ -package edgegateway +package databoxedge // Copyright (c) Microsoft and contributors. All rights reserved. // @@ -25,7 +25,7 @@ import ( "net/http" ) -// AlertsClient is the client for the Alerts methods of the Edgegateway service. +// AlertsClient is the client for the Alerts methods of the Databoxedge service. type AlertsClient struct { BaseClient } @@ -58,20 +58,20 @@ func (client AlertsClient) Get(ctx context.Context, deviceName string, name stri } req, err := client.GetPreparer(ctx, deviceName, name, resourceGroupName) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.AlertsClient", "Get", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "databoxedge.AlertsClient", "Get", nil, "Failure preparing request") return } resp, err := client.GetSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "edgegateway.AlertsClient", "Get", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "databoxedge.AlertsClient", "Get", resp, "Failure sending request") return } result, err = client.GetResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.AlertsClient", "Get", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "databoxedge.AlertsClient", "Get", resp, "Failure responding to request") } return @@ -137,20 +137,20 @@ func (client AlertsClient) ListByDataBoxEdgeDevice(ctx context.Context, deviceNa result.fn = client.listByDataBoxEdgeDeviceNextResults req, err := client.ListByDataBoxEdgeDevicePreparer(ctx, deviceName, resourceGroupName) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.AlertsClient", "ListByDataBoxEdgeDevice", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "databoxedge.AlertsClient", "ListByDataBoxEdgeDevice", nil, "Failure preparing request") return } resp, err := client.ListByDataBoxEdgeDeviceSender(req) if err != nil { result.al.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "edgegateway.AlertsClient", "ListByDataBoxEdgeDevice", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "databoxedge.AlertsClient", "ListByDataBoxEdgeDevice", resp, "Failure sending request") return } result.al, err = client.ListByDataBoxEdgeDeviceResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.AlertsClient", "ListByDataBoxEdgeDevice", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "databoxedge.AlertsClient", "ListByDataBoxEdgeDevice", resp, "Failure responding to request") } return @@ -201,7 +201,7 @@ func (client AlertsClient) ListByDataBoxEdgeDeviceResponder(resp *http.Response) func (client AlertsClient) listByDataBoxEdgeDeviceNextResults(ctx context.Context, lastResults AlertList) (result AlertList, err error) { req, err := lastResults.alertListPreparer(ctx) if err != nil { - return result, autorest.NewErrorWithError(err, "edgegateway.AlertsClient", "listByDataBoxEdgeDeviceNextResults", nil, "Failure preparing next results request") + return result, autorest.NewErrorWithError(err, "databoxedge.AlertsClient", "listByDataBoxEdgeDeviceNextResults", nil, "Failure preparing next results request") } if req == nil { return @@ -209,11 +209,11 @@ func (client AlertsClient) listByDataBoxEdgeDeviceNextResults(ctx context.Contex resp, err := client.ListByDataBoxEdgeDeviceSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "edgegateway.AlertsClient", "listByDataBoxEdgeDeviceNextResults", resp, "Failure sending next results request") + return result, autorest.NewErrorWithError(err, "databoxedge.AlertsClient", "listByDataBoxEdgeDeviceNextResults", resp, "Failure sending next results request") } result, err = client.ListByDataBoxEdgeDeviceResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.AlertsClient", "listByDataBoxEdgeDeviceNextResults", resp, "Failure responding to next results request") + err = autorest.NewErrorWithError(err, "databoxedge.AlertsClient", "listByDataBoxEdgeDeviceNextResults", resp, "Failure responding to next results request") } return } diff --git a/services/edgegateway/mgmt/2019-03-01/edgegateway/bandwidthschedules.go b/services/databoxedge/mgmt/2019-03-01/databoxedge/bandwidthschedules.go similarity index 94% rename from services/edgegateway/mgmt/2019-03-01/edgegateway/bandwidthschedules.go rename to services/databoxedge/mgmt/2019-03-01/databoxedge/bandwidthschedules.go index a2be80d29d12..405205caa0d3 100644 --- a/services/edgegateway/mgmt/2019-03-01/edgegateway/bandwidthschedules.go +++ b/services/databoxedge/mgmt/2019-03-01/databoxedge/bandwidthschedules.go @@ -1,4 +1,4 @@ -package edgegateway +package databoxedge // Copyright (c) Microsoft and contributors. All rights reserved. // @@ -26,7 +26,7 @@ import ( "net/http" ) -// BandwidthSchedulesClient is the client for the BandwidthSchedules methods of the Edgegateway service. +// BandwidthSchedulesClient is the client for the BandwidthSchedules methods of the Databoxedge service. type BandwidthSchedulesClient struct { BaseClient } @@ -66,18 +66,18 @@ func (client BandwidthSchedulesClient) CreateOrUpdate(ctx context.Context, devic {Target: "parameters.BandwidthScheduleProperties.RateInMbps", Name: validation.Null, Rule: true, Chain: nil}, {Target: "parameters.BandwidthScheduleProperties.Days", Name: validation.Null, Rule: true, Chain: nil}, }}}}}); err != nil { - return result, validation.NewError("edgegateway.BandwidthSchedulesClient", "CreateOrUpdate", err.Error()) + return result, validation.NewError("databoxedge.BandwidthSchedulesClient", "CreateOrUpdate", err.Error()) } req, err := client.CreateOrUpdatePreparer(ctx, deviceName, name, parameters, resourceGroupName) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.BandwidthSchedulesClient", "CreateOrUpdate", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "databoxedge.BandwidthSchedulesClient", "CreateOrUpdate", nil, "Failure preparing request") return } result, err = client.CreateOrUpdateSender(req) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.BandwidthSchedulesClient", "CreateOrUpdate", result.Response(), "Failure sending request") + err = autorest.NewErrorWithError(err, "databoxedge.BandwidthSchedulesClient", "CreateOrUpdate", result.Response(), "Failure sending request") return } @@ -152,13 +152,13 @@ func (client BandwidthSchedulesClient) Delete(ctx context.Context, deviceName st } req, err := client.DeletePreparer(ctx, deviceName, name, resourceGroupName) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.BandwidthSchedulesClient", "Delete", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "databoxedge.BandwidthSchedulesClient", "Delete", nil, "Failure preparing request") return } result, err = client.DeleteSender(req) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.BandwidthSchedulesClient", "Delete", result.Response(), "Failure sending request") + err = autorest.NewErrorWithError(err, "databoxedge.BandwidthSchedulesClient", "Delete", result.Response(), "Failure sending request") return } @@ -230,20 +230,20 @@ func (client BandwidthSchedulesClient) Get(ctx context.Context, deviceName strin } req, err := client.GetPreparer(ctx, deviceName, name, resourceGroupName) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.BandwidthSchedulesClient", "Get", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "databoxedge.BandwidthSchedulesClient", "Get", nil, "Failure preparing request") return } resp, err := client.GetSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "edgegateway.BandwidthSchedulesClient", "Get", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "databoxedge.BandwidthSchedulesClient", "Get", resp, "Failure sending request") return } result, err = client.GetResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.BandwidthSchedulesClient", "Get", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "databoxedge.BandwidthSchedulesClient", "Get", resp, "Failure responding to request") } return @@ -309,20 +309,20 @@ func (client BandwidthSchedulesClient) ListByDataBoxEdgeDevice(ctx context.Conte result.fn = client.listByDataBoxEdgeDeviceNextResults req, err := client.ListByDataBoxEdgeDevicePreparer(ctx, deviceName, resourceGroupName) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.BandwidthSchedulesClient", "ListByDataBoxEdgeDevice", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "databoxedge.BandwidthSchedulesClient", "ListByDataBoxEdgeDevice", nil, "Failure preparing request") return } resp, err := client.ListByDataBoxEdgeDeviceSender(req) if err != nil { result.bsl.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "edgegateway.BandwidthSchedulesClient", "ListByDataBoxEdgeDevice", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "databoxedge.BandwidthSchedulesClient", "ListByDataBoxEdgeDevice", resp, "Failure sending request") return } result.bsl, err = client.ListByDataBoxEdgeDeviceResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.BandwidthSchedulesClient", "ListByDataBoxEdgeDevice", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "databoxedge.BandwidthSchedulesClient", "ListByDataBoxEdgeDevice", resp, "Failure responding to request") } return @@ -373,7 +373,7 @@ func (client BandwidthSchedulesClient) ListByDataBoxEdgeDeviceResponder(resp *ht func (client BandwidthSchedulesClient) listByDataBoxEdgeDeviceNextResults(ctx context.Context, lastResults BandwidthSchedulesList) (result BandwidthSchedulesList, err error) { req, err := lastResults.bandwidthSchedulesListPreparer(ctx) if err != nil { - return result, autorest.NewErrorWithError(err, "edgegateway.BandwidthSchedulesClient", "listByDataBoxEdgeDeviceNextResults", nil, "Failure preparing next results request") + return result, autorest.NewErrorWithError(err, "databoxedge.BandwidthSchedulesClient", "listByDataBoxEdgeDeviceNextResults", nil, "Failure preparing next results request") } if req == nil { return @@ -381,11 +381,11 @@ func (client BandwidthSchedulesClient) listByDataBoxEdgeDeviceNextResults(ctx co resp, err := client.ListByDataBoxEdgeDeviceSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "edgegateway.BandwidthSchedulesClient", "listByDataBoxEdgeDeviceNextResults", resp, "Failure sending next results request") + return result, autorest.NewErrorWithError(err, "databoxedge.BandwidthSchedulesClient", "listByDataBoxEdgeDeviceNextResults", resp, "Failure sending next results request") } result, err = client.ListByDataBoxEdgeDeviceResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.BandwidthSchedulesClient", "listByDataBoxEdgeDeviceNextResults", resp, "Failure responding to next results request") + err = autorest.NewErrorWithError(err, "databoxedge.BandwidthSchedulesClient", "listByDataBoxEdgeDeviceNextResults", resp, "Failure responding to next results request") } return } diff --git a/services/edgegateway/mgmt/2019-03-01/edgegateway/client.go b/services/databoxedge/mgmt/2019-03-01/databoxedge/client.go similarity index 87% rename from services/edgegateway/mgmt/2019-03-01/edgegateway/client.go rename to services/databoxedge/mgmt/2019-03-01/databoxedge/client.go index 0ab0aafdcf66..d47519ebaf3e 100644 --- a/services/edgegateway/mgmt/2019-03-01/edgegateway/client.go +++ b/services/databoxedge/mgmt/2019-03-01/databoxedge/client.go @@ -1,7 +1,7 @@ -// Package edgegateway implements the Azure ARM Edgegateway service API version 2019-03-01. +// Package databoxedge implements the Azure ARM Databoxedge service API version 2019-03-01. // // -package edgegateway +package databoxedge // Copyright (c) Microsoft and contributors. All rights reserved. // @@ -25,11 +25,11 @@ import ( ) const ( - // DefaultBaseURI is the default URI used for the service Edgegateway + // DefaultBaseURI is the default URI used for the service Databoxedge DefaultBaseURI = "https://management.azure.com" ) -// BaseClient is the base client for Edgegateway. +// BaseClient is the base client for Databoxedge. type BaseClient struct { autorest.Client BaseURI string diff --git a/services/edgegateway/mgmt/2019-03-01/edgegateway/edgegatewayapi/interfaces.go b/services/databoxedge/mgmt/2019-03-01/databoxedge/databoxedgeapi/interfaces.go similarity index 55% rename from services/edgegateway/mgmt/2019-03-01/edgegateway/edgegatewayapi/interfaces.go rename to services/databoxedge/mgmt/2019-03-01/databoxedge/databoxedgeapi/interfaces.go index 397ab3840cb0..605c9c9e6904 100644 --- a/services/edgegateway/mgmt/2019-03-01/edgegateway/edgegatewayapi/interfaces.go +++ b/services/databoxedge/mgmt/2019-03-01/databoxedge/databoxedgeapi/interfaces.go @@ -1,4 +1,4 @@ -package edgegatewayapi +package databoxedgeapi // Copyright (c) Microsoft and contributors. All rights reserved. // @@ -19,125 +19,125 @@ package edgegatewayapi import ( "context" - "github.com/Azure/azure-sdk-for-go/services/edgegateway/mgmt/2019-03-01/edgegateway" + "github.com/Azure/azure-sdk-for-go/services/databoxedge/mgmt/2019-03-01/databoxedge" ) // OperationsClientAPI contains the set of methods on the OperationsClient type. type OperationsClientAPI interface { - List(ctx context.Context) (result edgegateway.OperationsListPage, err error) + List(ctx context.Context) (result databoxedge.OperationsListPage, err error) } -var _ OperationsClientAPI = (*edgegateway.OperationsClient)(nil) +var _ OperationsClientAPI = (*databoxedge.OperationsClient)(nil) // DevicesClientAPI contains the set of methods on the DevicesClient type. type DevicesClientAPI interface { - CreateOrUpdate(ctx context.Context, deviceName string, dataBoxEdgeDevice edgegateway.DataBoxEdgeDevice, resourceGroupName string) (result edgegateway.DevicesCreateOrUpdateFuture, err error) - CreateOrUpdateSecuritySettings(ctx context.Context, deviceName string, securitySettings edgegateway.SecuritySettings, resourceGroupName string) (result edgegateway.DevicesCreateOrUpdateSecuritySettingsFuture, err error) - Delete(ctx context.Context, deviceName string, resourceGroupName string) (result edgegateway.DevicesDeleteFuture, err error) - DownloadUpdates(ctx context.Context, deviceName string, resourceGroupName string) (result edgegateway.DevicesDownloadUpdatesFuture, err error) - Get(ctx context.Context, deviceName string, resourceGroupName string) (result edgegateway.DataBoxEdgeDevice, err error) - GetExtendedInformation(ctx context.Context, deviceName string, resourceGroupName string) (result edgegateway.DataBoxEdgeDeviceExtendedInfo, err error) - GetNetworkSettings(ctx context.Context, deviceName string, resourceGroupName string) (result edgegateway.NetworkSettings, err error) - GetUpdateSummary(ctx context.Context, deviceName string, resourceGroupName string) (result edgegateway.UpdateSummary, err error) - InstallUpdates(ctx context.Context, deviceName string, resourceGroupName string) (result edgegateway.DevicesInstallUpdatesFuture, err error) - ListByResourceGroup(ctx context.Context, resourceGroupName string, expand string) (result edgegateway.DataBoxEdgeDeviceListPage, err error) - ListBySubscription(ctx context.Context, expand string) (result edgegateway.DataBoxEdgeDeviceListPage, err error) - ScanForUpdates(ctx context.Context, deviceName string, resourceGroupName string) (result edgegateway.DevicesScanForUpdatesFuture, err error) - Update(ctx context.Context, deviceName string, parameters edgegateway.DataBoxEdgeDevicePatch, resourceGroupName string) (result edgegateway.DataBoxEdgeDevice, err error) - UploadCertificate(ctx context.Context, deviceName string, parameters edgegateway.UploadCertificateRequest, resourceGroupName string) (result edgegateway.UploadCertificateResponse, err error) + CreateOrUpdate(ctx context.Context, deviceName string, dataBoxEdgeDevice databoxedge.Device, resourceGroupName string) (result databoxedge.DevicesCreateOrUpdateFuture, err error) + CreateOrUpdateSecuritySettings(ctx context.Context, deviceName string, securitySettings databoxedge.SecuritySettings, resourceGroupName string) (result databoxedge.DevicesCreateOrUpdateSecuritySettingsFuture, err error) + Delete(ctx context.Context, deviceName string, resourceGroupName string) (result databoxedge.DevicesDeleteFuture, err error) + DownloadUpdates(ctx context.Context, deviceName string, resourceGroupName string) (result databoxedge.DevicesDownloadUpdatesFuture, err error) + Get(ctx context.Context, deviceName string, resourceGroupName string) (result databoxedge.Device, err error) + GetExtendedInformation(ctx context.Context, deviceName string, resourceGroupName string) (result databoxedge.DeviceExtendedInfo, err error) + GetNetworkSettings(ctx context.Context, deviceName string, resourceGroupName string) (result databoxedge.NetworkSettings, err error) + GetUpdateSummary(ctx context.Context, deviceName string, resourceGroupName string) (result databoxedge.UpdateSummary, err error) + InstallUpdates(ctx context.Context, deviceName string, resourceGroupName string) (result databoxedge.DevicesInstallUpdatesFuture, err error) + ListByResourceGroup(ctx context.Context, resourceGroupName string, expand string) (result databoxedge.DeviceListPage, err error) + ListBySubscription(ctx context.Context, expand string) (result databoxedge.DeviceListPage, err error) + ScanForUpdates(ctx context.Context, deviceName string, resourceGroupName string) (result databoxedge.DevicesScanForUpdatesFuture, err error) + Update(ctx context.Context, deviceName string, parameters databoxedge.DevicePatch, resourceGroupName string) (result databoxedge.Device, err error) + UploadCertificate(ctx context.Context, deviceName string, parameters databoxedge.UploadCertificateRequest, resourceGroupName string) (result databoxedge.UploadCertificateResponse, err error) } -var _ DevicesClientAPI = (*edgegateway.DevicesClient)(nil) +var _ DevicesClientAPI = (*databoxedge.DevicesClient)(nil) // AlertsClientAPI contains the set of methods on the AlertsClient type. type AlertsClientAPI interface { - Get(ctx context.Context, deviceName string, name string, resourceGroupName string) (result edgegateway.Alert, err error) - ListByDataBoxEdgeDevice(ctx context.Context, deviceName string, resourceGroupName string) (result edgegateway.AlertListPage, err error) + Get(ctx context.Context, deviceName string, name string, resourceGroupName string) (result databoxedge.Alert, err error) + ListByDataBoxEdgeDevice(ctx context.Context, deviceName string, resourceGroupName string) (result databoxedge.AlertListPage, err error) } -var _ AlertsClientAPI = (*edgegateway.AlertsClient)(nil) +var _ AlertsClientAPI = (*databoxedge.AlertsClient)(nil) // BandwidthSchedulesClientAPI contains the set of methods on the BandwidthSchedulesClient type. type BandwidthSchedulesClientAPI interface { - CreateOrUpdate(ctx context.Context, deviceName string, name string, parameters edgegateway.BandwidthSchedule, resourceGroupName string) (result edgegateway.BandwidthSchedulesCreateOrUpdateFuture, err error) - Delete(ctx context.Context, deviceName string, name string, resourceGroupName string) (result edgegateway.BandwidthSchedulesDeleteFuture, err error) - Get(ctx context.Context, deviceName string, name string, resourceGroupName string) (result edgegateway.BandwidthSchedule, err error) - ListByDataBoxEdgeDevice(ctx context.Context, deviceName string, resourceGroupName string) (result edgegateway.BandwidthSchedulesListPage, err error) + CreateOrUpdate(ctx context.Context, deviceName string, name string, parameters databoxedge.BandwidthSchedule, resourceGroupName string) (result databoxedge.BandwidthSchedulesCreateOrUpdateFuture, err error) + Delete(ctx context.Context, deviceName string, name string, resourceGroupName string) (result databoxedge.BandwidthSchedulesDeleteFuture, err error) + Get(ctx context.Context, deviceName string, name string, resourceGroupName string) (result databoxedge.BandwidthSchedule, err error) + ListByDataBoxEdgeDevice(ctx context.Context, deviceName string, resourceGroupName string) (result databoxedge.BandwidthSchedulesListPage, err error) } -var _ BandwidthSchedulesClientAPI = (*edgegateway.BandwidthSchedulesClient)(nil) +var _ BandwidthSchedulesClientAPI = (*databoxedge.BandwidthSchedulesClient)(nil) // JobsClientAPI contains the set of methods on the JobsClient type. type JobsClientAPI interface { - Get(ctx context.Context, deviceName string, name string, resourceGroupName string) (result edgegateway.Job, err error) + Get(ctx context.Context, deviceName string, name string, resourceGroupName string) (result databoxedge.Job, err error) } -var _ JobsClientAPI = (*edgegateway.JobsClient)(nil) +var _ JobsClientAPI = (*databoxedge.JobsClient)(nil) // OperationsStatusClientAPI contains the set of methods on the OperationsStatusClient type. type OperationsStatusClientAPI interface { - Get(ctx context.Context, deviceName string, name string, resourceGroupName string) (result edgegateway.Job, err error) + Get(ctx context.Context, deviceName string, name string, resourceGroupName string) (result databoxedge.Job, err error) } -var _ OperationsStatusClientAPI = (*edgegateway.OperationsStatusClient)(nil) +var _ OperationsStatusClientAPI = (*databoxedge.OperationsStatusClient)(nil) // OrdersClientAPI contains the set of methods on the OrdersClient type. type OrdersClientAPI interface { - CreateOrUpdate(ctx context.Context, deviceName string, order edgegateway.Order, resourceGroupName string) (result edgegateway.OrdersCreateOrUpdateFuture, err error) - Delete(ctx context.Context, deviceName string, resourceGroupName string) (result edgegateway.OrdersDeleteFuture, err error) - Get(ctx context.Context, deviceName string, resourceGroupName string) (result edgegateway.Order, err error) - ListByDataBoxEdgeDevice(ctx context.Context, deviceName string, resourceGroupName string) (result edgegateway.OrderListPage, err error) + CreateOrUpdate(ctx context.Context, deviceName string, order databoxedge.Order, resourceGroupName string) (result databoxedge.OrdersCreateOrUpdateFuture, err error) + Delete(ctx context.Context, deviceName string, resourceGroupName string) (result databoxedge.OrdersDeleteFuture, err error) + Get(ctx context.Context, deviceName string, resourceGroupName string) (result databoxedge.Order, err error) + ListByDataBoxEdgeDevice(ctx context.Context, deviceName string, resourceGroupName string) (result databoxedge.OrderListPage, err error) } -var _ OrdersClientAPI = (*edgegateway.OrdersClient)(nil) +var _ OrdersClientAPI = (*databoxedge.OrdersClient)(nil) // RolesClientAPI contains the set of methods on the RolesClient type. type RolesClientAPI interface { - CreateOrUpdate(ctx context.Context, deviceName string, name string, role edgegateway.BasicRole, resourceGroupName string) (result edgegateway.RolesCreateOrUpdateFuture, err error) - Delete(ctx context.Context, deviceName string, name string, resourceGroupName string) (result edgegateway.RolesDeleteFuture, err error) - Get(ctx context.Context, deviceName string, name string, resourceGroupName string) (result edgegateway.RoleModel, err error) - ListByDataBoxEdgeDevice(ctx context.Context, deviceName string, resourceGroupName string) (result edgegateway.RoleListPage, err error) + CreateOrUpdate(ctx context.Context, deviceName string, name string, role databoxedge.BasicRole, resourceGroupName string) (result databoxedge.RolesCreateOrUpdateFuture, err error) + Delete(ctx context.Context, deviceName string, name string, resourceGroupName string) (result databoxedge.RolesDeleteFuture, err error) + Get(ctx context.Context, deviceName string, name string, resourceGroupName string) (result databoxedge.RoleModel, err error) + ListByDataBoxEdgeDevice(ctx context.Context, deviceName string, resourceGroupName string) (result databoxedge.RoleListPage, err error) } -var _ RolesClientAPI = (*edgegateway.RolesClient)(nil) +var _ RolesClientAPI = (*databoxedge.RolesClient)(nil) // SharesClientAPI contains the set of methods on the SharesClient type. type SharesClientAPI interface { - CreateOrUpdate(ctx context.Context, deviceName string, name string, share edgegateway.Share, resourceGroupName string) (result edgegateway.SharesCreateOrUpdateFuture, err error) - Delete(ctx context.Context, deviceName string, name string, resourceGroupName string) (result edgegateway.SharesDeleteFuture, err error) - Get(ctx context.Context, deviceName string, name string, resourceGroupName string) (result edgegateway.Share, err error) - ListByDataBoxEdgeDevice(ctx context.Context, deviceName string, resourceGroupName string) (result edgegateway.ShareListPage, err error) - Refresh(ctx context.Context, deviceName string, name string, resourceGroupName string) (result edgegateway.SharesRefreshFuture, err error) + CreateOrUpdate(ctx context.Context, deviceName string, name string, share databoxedge.Share, resourceGroupName string) (result databoxedge.SharesCreateOrUpdateFuture, err error) + Delete(ctx context.Context, deviceName string, name string, resourceGroupName string) (result databoxedge.SharesDeleteFuture, err error) + Get(ctx context.Context, deviceName string, name string, resourceGroupName string) (result databoxedge.Share, err error) + ListByDataBoxEdgeDevice(ctx context.Context, deviceName string, resourceGroupName string) (result databoxedge.ShareListPage, err error) + Refresh(ctx context.Context, deviceName string, name string, resourceGroupName string) (result databoxedge.SharesRefreshFuture, err error) } -var _ SharesClientAPI = (*edgegateway.SharesClient)(nil) +var _ SharesClientAPI = (*databoxedge.SharesClient)(nil) // StorageAccountCredentialsClientAPI contains the set of methods on the StorageAccountCredentialsClient type. type StorageAccountCredentialsClientAPI interface { - CreateOrUpdate(ctx context.Context, deviceName string, name string, storageAccountCredential edgegateway.StorageAccountCredential, resourceGroupName string) (result edgegateway.StorageAccountCredentialsCreateOrUpdateFuture, err error) - Delete(ctx context.Context, deviceName string, name string, resourceGroupName string) (result edgegateway.StorageAccountCredentialsDeleteFuture, err error) - Get(ctx context.Context, deviceName string, name string, resourceGroupName string) (result edgegateway.StorageAccountCredential, err error) - ListByDataBoxEdgeDevice(ctx context.Context, deviceName string, resourceGroupName string) (result edgegateway.StorageAccountCredentialListPage, err error) + CreateOrUpdate(ctx context.Context, deviceName string, name string, storageAccountCredential databoxedge.StorageAccountCredential, resourceGroupName string) (result databoxedge.StorageAccountCredentialsCreateOrUpdateFuture, err error) + Delete(ctx context.Context, deviceName string, name string, resourceGroupName string) (result databoxedge.StorageAccountCredentialsDeleteFuture, err error) + Get(ctx context.Context, deviceName string, name string, resourceGroupName string) (result databoxedge.StorageAccountCredential, err error) + ListByDataBoxEdgeDevice(ctx context.Context, deviceName string, resourceGroupName string) (result databoxedge.StorageAccountCredentialListPage, err error) } -var _ StorageAccountCredentialsClientAPI = (*edgegateway.StorageAccountCredentialsClient)(nil) +var _ StorageAccountCredentialsClientAPI = (*databoxedge.StorageAccountCredentialsClient)(nil) // TriggersClientAPI contains the set of methods on the TriggersClient type. type TriggersClientAPI interface { - CreateOrUpdate(ctx context.Context, deviceName string, name string, trigger edgegateway.BasicTrigger, resourceGroupName string) (result edgegateway.TriggersCreateOrUpdateFuture, err error) - Delete(ctx context.Context, deviceName string, name string, resourceGroupName string) (result edgegateway.TriggersDeleteFuture, err error) - Get(ctx context.Context, deviceName string, name string, resourceGroupName string) (result edgegateway.TriggerModel, err error) - ListByDataBoxEdgeDevice(ctx context.Context, deviceName string, resourceGroupName string, expand string) (result edgegateway.TriggerListPage, err error) + CreateOrUpdate(ctx context.Context, deviceName string, name string, trigger databoxedge.BasicTrigger, resourceGroupName string) (result databoxedge.TriggersCreateOrUpdateFuture, err error) + Delete(ctx context.Context, deviceName string, name string, resourceGroupName string) (result databoxedge.TriggersDeleteFuture, err error) + Get(ctx context.Context, deviceName string, name string, resourceGroupName string) (result databoxedge.TriggerModel, err error) + ListByDataBoxEdgeDevice(ctx context.Context, deviceName string, resourceGroupName string, expand string) (result databoxedge.TriggerListPage, err error) } -var _ TriggersClientAPI = (*edgegateway.TriggersClient)(nil) +var _ TriggersClientAPI = (*databoxedge.TriggersClient)(nil) // UsersClientAPI contains the set of methods on the UsersClient type. type UsersClientAPI interface { - CreateOrUpdate(ctx context.Context, deviceName string, name string, userParameter edgegateway.User, resourceGroupName string) (result edgegateway.UsersCreateOrUpdateFuture, err error) - Delete(ctx context.Context, deviceName string, name string, resourceGroupName string) (result edgegateway.UsersDeleteFuture, err error) - Get(ctx context.Context, deviceName string, name string, resourceGroupName string) (result edgegateway.User, err error) - ListByDataBoxEdgeDevice(ctx context.Context, deviceName string, resourceGroupName string) (result edgegateway.UserListPage, err error) + CreateOrUpdate(ctx context.Context, deviceName string, name string, userParameter databoxedge.User, resourceGroupName string) (result databoxedge.UsersCreateOrUpdateFuture, err error) + Delete(ctx context.Context, deviceName string, name string, resourceGroupName string) (result databoxedge.UsersDeleteFuture, err error) + Get(ctx context.Context, deviceName string, name string, resourceGroupName string) (result databoxedge.User, err error) + ListByDataBoxEdgeDevice(ctx context.Context, deviceName string, resourceGroupName string) (result databoxedge.UserListPage, err error) } -var _ UsersClientAPI = (*edgegateway.UsersClient)(nil) +var _ UsersClientAPI = (*databoxedge.UsersClient)(nil) diff --git a/services/edgegateway/mgmt/2019-03-01/edgegateway/devices.go b/services/databoxedge/mgmt/2019-03-01/databoxedge/devices.go similarity index 89% rename from services/edgegateway/mgmt/2019-03-01/edgegateway/devices.go rename to services/databoxedge/mgmt/2019-03-01/databoxedge/devices.go index 8090235b1dec..3e688657b1d1 100644 --- a/services/edgegateway/mgmt/2019-03-01/edgegateway/devices.go +++ b/services/databoxedge/mgmt/2019-03-01/databoxedge/devices.go @@ -1,4 +1,4 @@ -package edgegateway +package databoxedge // Copyright (c) Microsoft and contributors. All rights reserved. // @@ -26,7 +26,7 @@ import ( "net/http" ) -// DevicesClient is the client for the Devices methods of the Edgegateway service. +// DevicesClient is the client for the Devices methods of the Databoxedge service. type DevicesClient struct { BaseClient } @@ -46,7 +46,7 @@ func NewDevicesClientWithBaseURI(baseURI string, subscriptionID string) DevicesC // deviceName - the device name. // dataBoxEdgeDevice - the resource object. // resourceGroupName - the resource group name. -func (client DevicesClient) CreateOrUpdate(ctx context.Context, deviceName string, dataBoxEdgeDevice DataBoxEdgeDevice, resourceGroupName string) (result DevicesCreateOrUpdateFuture, err error) { +func (client DevicesClient) CreateOrUpdate(ctx context.Context, deviceName string, dataBoxEdgeDevice Device, resourceGroupName string) (result DevicesCreateOrUpdateFuture, err error) { if tracing.IsEnabled() { ctx = tracing.StartSpan(ctx, fqdn+"/DevicesClient.CreateOrUpdate") defer func() { @@ -60,18 +60,18 @@ func (client DevicesClient) CreateOrUpdate(ctx context.Context, deviceName strin if err := validation.Validate([]validation.Validation{ {TargetValue: dataBoxEdgeDevice, Constraints: []validation.Constraint{{Target: "dataBoxEdgeDevice.Location", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { - return result, validation.NewError("edgegateway.DevicesClient", "CreateOrUpdate", err.Error()) + return result, validation.NewError("databoxedge.DevicesClient", "CreateOrUpdate", err.Error()) } req, err := client.CreateOrUpdatePreparer(ctx, deviceName, dataBoxEdgeDevice, resourceGroupName) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.DevicesClient", "CreateOrUpdate", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "databoxedge.DevicesClient", "CreateOrUpdate", nil, "Failure preparing request") return } result, err = client.CreateOrUpdateSender(req) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.DevicesClient", "CreateOrUpdate", result.Response(), "Failure sending request") + err = autorest.NewErrorWithError(err, "databoxedge.DevicesClient", "CreateOrUpdate", result.Response(), "Failure sending request") return } @@ -79,7 +79,7 @@ func (client DevicesClient) CreateOrUpdate(ctx context.Context, deviceName strin } // CreateOrUpdatePreparer prepares the CreateOrUpdate request. -func (client DevicesClient) CreateOrUpdatePreparer(ctx context.Context, deviceName string, dataBoxEdgeDevice DataBoxEdgeDevice, resourceGroupName string) (*http.Request, error) { +func (client DevicesClient) CreateOrUpdatePreparer(ctx context.Context, deviceName string, dataBoxEdgeDevice Device, resourceGroupName string) (*http.Request, error) { pathParameters := map[string]interface{}{ "deviceName": autorest.Encode("path", deviceName), "resourceGroupName": autorest.Encode("path", resourceGroupName), @@ -116,7 +116,7 @@ func (client DevicesClient) CreateOrUpdateSender(req *http.Request) (future Devi // CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always // closes the http.Response Body. -func (client DevicesClient) CreateOrUpdateResponder(resp *http.Response) (result DataBoxEdgeDevice, err error) { +func (client DevicesClient) CreateOrUpdateResponder(resp *http.Response) (result Device, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -149,18 +149,18 @@ func (client DevicesClient) CreateOrUpdateSecuritySettings(ctx context.Context, Chain: []validation.Constraint{{Target: "securitySettings.SecuritySettingsProperties.DeviceAdminPassword", Name: validation.Null, Rule: true, Chain: []validation.Constraint{{Target: "securitySettings.SecuritySettingsProperties.DeviceAdminPassword.Value", Name: validation.Null, Rule: true, Chain: nil}}}, }}}}}); err != nil { - return result, validation.NewError("edgegateway.DevicesClient", "CreateOrUpdateSecuritySettings", err.Error()) + return result, validation.NewError("databoxedge.DevicesClient", "CreateOrUpdateSecuritySettings", err.Error()) } req, err := client.CreateOrUpdateSecuritySettingsPreparer(ctx, deviceName, securitySettings, resourceGroupName) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.DevicesClient", "CreateOrUpdateSecuritySettings", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "databoxedge.DevicesClient", "CreateOrUpdateSecuritySettings", nil, "Failure preparing request") return } result, err = client.CreateOrUpdateSecuritySettingsSender(req) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.DevicesClient", "CreateOrUpdateSecuritySettings", result.Response(), "Failure sending request") + err = autorest.NewErrorWithError(err, "databoxedge.DevicesClient", "CreateOrUpdateSecuritySettings", result.Response(), "Failure sending request") return } @@ -232,13 +232,13 @@ func (client DevicesClient) Delete(ctx context.Context, deviceName string, resou } req, err := client.DeletePreparer(ctx, deviceName, resourceGroupName) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.DevicesClient", "Delete", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "databoxedge.DevicesClient", "Delete", nil, "Failure preparing request") return } result, err = client.DeleteSender(req) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.DevicesClient", "Delete", result.Response(), "Failure sending request") + err = autorest.NewErrorWithError(err, "databoxedge.DevicesClient", "Delete", result.Response(), "Failure sending request") return } @@ -308,13 +308,13 @@ func (client DevicesClient) DownloadUpdates(ctx context.Context, deviceName stri } req, err := client.DownloadUpdatesPreparer(ctx, deviceName, resourceGroupName) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.DevicesClient", "DownloadUpdates", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "databoxedge.DevicesClient", "DownloadUpdates", nil, "Failure preparing request") return } result, err = client.DownloadUpdatesSender(req) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.DevicesClient", "DownloadUpdates", result.Response(), "Failure sending request") + err = autorest.NewErrorWithError(err, "databoxedge.DevicesClient", "DownloadUpdates", result.Response(), "Failure sending request") return } @@ -371,7 +371,7 @@ func (client DevicesClient) DownloadUpdatesResponder(resp *http.Response) (resul // Parameters: // deviceName - the device name. // resourceGroupName - the resource group name. -func (client DevicesClient) Get(ctx context.Context, deviceName string, resourceGroupName string) (result DataBoxEdgeDevice, err error) { +func (client DevicesClient) Get(ctx context.Context, deviceName string, resourceGroupName string) (result Device, err error) { if tracing.IsEnabled() { ctx = tracing.StartSpan(ctx, fqdn+"/DevicesClient.Get") defer func() { @@ -384,20 +384,20 @@ func (client DevicesClient) Get(ctx context.Context, deviceName string, resource } req, err := client.GetPreparer(ctx, deviceName, resourceGroupName) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.DevicesClient", "Get", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "databoxedge.DevicesClient", "Get", nil, "Failure preparing request") return } resp, err := client.GetSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "edgegateway.DevicesClient", "Get", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "databoxedge.DevicesClient", "Get", resp, "Failure sending request") return } result, err = client.GetResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.DevicesClient", "Get", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "databoxedge.DevicesClient", "Get", resp, "Failure responding to request") } return @@ -433,7 +433,7 @@ func (client DevicesClient) GetSender(req *http.Request) (*http.Response, error) // GetResponder handles the response to the Get request. The method always // closes the http.Response Body. -func (client DevicesClient) GetResponder(resp *http.Response) (result DataBoxEdgeDevice, err error) { +func (client DevicesClient) GetResponder(resp *http.Response) (result Device, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -448,7 +448,7 @@ func (client DevicesClient) GetResponder(resp *http.Response) (result DataBoxEdg // Parameters: // deviceName - the device name. // resourceGroupName - the resource group name. -func (client DevicesClient) GetExtendedInformation(ctx context.Context, deviceName string, resourceGroupName string) (result DataBoxEdgeDeviceExtendedInfo, err error) { +func (client DevicesClient) GetExtendedInformation(ctx context.Context, deviceName string, resourceGroupName string) (result DeviceExtendedInfo, err error) { if tracing.IsEnabled() { ctx = tracing.StartSpan(ctx, fqdn+"/DevicesClient.GetExtendedInformation") defer func() { @@ -461,20 +461,20 @@ func (client DevicesClient) GetExtendedInformation(ctx context.Context, deviceNa } req, err := client.GetExtendedInformationPreparer(ctx, deviceName, resourceGroupName) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.DevicesClient", "GetExtendedInformation", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "databoxedge.DevicesClient", "GetExtendedInformation", nil, "Failure preparing request") return } resp, err := client.GetExtendedInformationSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "edgegateway.DevicesClient", "GetExtendedInformation", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "databoxedge.DevicesClient", "GetExtendedInformation", resp, "Failure sending request") return } result, err = client.GetExtendedInformationResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.DevicesClient", "GetExtendedInformation", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "databoxedge.DevicesClient", "GetExtendedInformation", resp, "Failure responding to request") } return @@ -510,7 +510,7 @@ func (client DevicesClient) GetExtendedInformationSender(req *http.Request) (*ht // GetExtendedInformationResponder handles the response to the GetExtendedInformation request. The method always // closes the http.Response Body. -func (client DevicesClient) GetExtendedInformationResponder(resp *http.Response) (result DataBoxEdgeDeviceExtendedInfo, err error) { +func (client DevicesClient) GetExtendedInformationResponder(resp *http.Response) (result DeviceExtendedInfo, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -538,20 +538,20 @@ func (client DevicesClient) GetNetworkSettings(ctx context.Context, deviceName s } req, err := client.GetNetworkSettingsPreparer(ctx, deviceName, resourceGroupName) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.DevicesClient", "GetNetworkSettings", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "databoxedge.DevicesClient", "GetNetworkSettings", nil, "Failure preparing request") return } resp, err := client.GetNetworkSettingsSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "edgegateway.DevicesClient", "GetNetworkSettings", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "databoxedge.DevicesClient", "GetNetworkSettings", resp, "Failure sending request") return } result, err = client.GetNetworkSettingsResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.DevicesClient", "GetNetworkSettings", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "databoxedge.DevicesClient", "GetNetworkSettings", resp, "Failure responding to request") } return @@ -615,20 +615,20 @@ func (client DevicesClient) GetUpdateSummary(ctx context.Context, deviceName str } req, err := client.GetUpdateSummaryPreparer(ctx, deviceName, resourceGroupName) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.DevicesClient", "GetUpdateSummary", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "databoxedge.DevicesClient", "GetUpdateSummary", nil, "Failure preparing request") return } resp, err := client.GetUpdateSummarySender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "edgegateway.DevicesClient", "GetUpdateSummary", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "databoxedge.DevicesClient", "GetUpdateSummary", resp, "Failure sending request") return } result, err = client.GetUpdateSummaryResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.DevicesClient", "GetUpdateSummary", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "databoxedge.DevicesClient", "GetUpdateSummary", resp, "Failure responding to request") } return @@ -692,13 +692,13 @@ func (client DevicesClient) InstallUpdates(ctx context.Context, deviceName strin } req, err := client.InstallUpdatesPreparer(ctx, deviceName, resourceGroupName) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.DevicesClient", "InstallUpdates", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "databoxedge.DevicesClient", "InstallUpdates", nil, "Failure preparing request") return } result, err = client.InstallUpdatesSender(req) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.DevicesClient", "InstallUpdates", result.Response(), "Failure sending request") + err = autorest.NewErrorWithError(err, "databoxedge.DevicesClient", "InstallUpdates", result.Response(), "Failure sending request") return } @@ -756,13 +756,13 @@ func (client DevicesClient) InstallUpdatesResponder(resp *http.Response) (result // resourceGroupName - the resource group name. // expand - specify $expand=details to populate additional fields related to the resource or Specify // $skipToken= to populate the next page in the list. -func (client DevicesClient) ListByResourceGroup(ctx context.Context, resourceGroupName string, expand string) (result DataBoxEdgeDeviceListPage, err error) { +func (client DevicesClient) ListByResourceGroup(ctx context.Context, resourceGroupName string, expand string) (result DeviceListPage, err error) { if tracing.IsEnabled() { ctx = tracing.StartSpan(ctx, fqdn+"/DevicesClient.ListByResourceGroup") defer func() { sc := -1 - if result.dbedl.Response.Response != nil { - sc = result.dbedl.Response.Response.StatusCode + if result.dl.Response.Response != nil { + sc = result.dl.Response.Response.StatusCode } tracing.EndSpan(ctx, sc, err) }() @@ -770,20 +770,20 @@ func (client DevicesClient) ListByResourceGroup(ctx context.Context, resourceGro result.fn = client.listByResourceGroupNextResults req, err := client.ListByResourceGroupPreparer(ctx, resourceGroupName, expand) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.DevicesClient", "ListByResourceGroup", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "databoxedge.DevicesClient", "ListByResourceGroup", nil, "Failure preparing request") return } resp, err := client.ListByResourceGroupSender(req) if err != nil { - result.dbedl.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "edgegateway.DevicesClient", "ListByResourceGroup", resp, "Failure sending request") + result.dl.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "databoxedge.DevicesClient", "ListByResourceGroup", resp, "Failure sending request") return } - result.dbedl, err = client.ListByResourceGroupResponder(resp) + result.dl, err = client.ListByResourceGroupResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.DevicesClient", "ListByResourceGroup", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "databoxedge.DevicesClient", "ListByResourceGroup", resp, "Failure responding to request") } return @@ -821,7 +821,7 @@ func (client DevicesClient) ListByResourceGroupSender(req *http.Request) (*http. // ListByResourceGroupResponder handles the response to the ListByResourceGroup request. The method always // closes the http.Response Body. -func (client DevicesClient) ListByResourceGroupResponder(resp *http.Response) (result DataBoxEdgeDeviceList, err error) { +func (client DevicesClient) ListByResourceGroupResponder(resp *http.Response) (result DeviceList, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -833,10 +833,10 @@ func (client DevicesClient) ListByResourceGroupResponder(resp *http.Response) (r } // listByResourceGroupNextResults retrieves the next set of results, if any. -func (client DevicesClient) listByResourceGroupNextResults(ctx context.Context, lastResults DataBoxEdgeDeviceList) (result DataBoxEdgeDeviceList, err error) { - req, err := lastResults.dataBoxEdgeDeviceListPreparer(ctx) +func (client DevicesClient) listByResourceGroupNextResults(ctx context.Context, lastResults DeviceList) (result DeviceList, err error) { + req, err := lastResults.deviceListPreparer(ctx) if err != nil { - return result, autorest.NewErrorWithError(err, "edgegateway.DevicesClient", "listByResourceGroupNextResults", nil, "Failure preparing next results request") + return result, autorest.NewErrorWithError(err, "databoxedge.DevicesClient", "listByResourceGroupNextResults", nil, "Failure preparing next results request") } if req == nil { return @@ -844,17 +844,17 @@ func (client DevicesClient) listByResourceGroupNextResults(ctx context.Context, resp, err := client.ListByResourceGroupSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "edgegateway.DevicesClient", "listByResourceGroupNextResults", resp, "Failure sending next results request") + return result, autorest.NewErrorWithError(err, "databoxedge.DevicesClient", "listByResourceGroupNextResults", resp, "Failure sending next results request") } result, err = client.ListByResourceGroupResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.DevicesClient", "listByResourceGroupNextResults", resp, "Failure responding to next results request") + err = autorest.NewErrorWithError(err, "databoxedge.DevicesClient", "listByResourceGroupNextResults", resp, "Failure responding to next results request") } return } // ListByResourceGroupComplete enumerates all values, automatically crossing page boundaries as required. -func (client DevicesClient) ListByResourceGroupComplete(ctx context.Context, resourceGroupName string, expand string) (result DataBoxEdgeDeviceListIterator, err error) { +func (client DevicesClient) ListByResourceGroupComplete(ctx context.Context, resourceGroupName string, expand string) (result DeviceListIterator, err error) { if tracing.IsEnabled() { ctx = tracing.StartSpan(ctx, fqdn+"/DevicesClient.ListByResourceGroup") defer func() { @@ -873,13 +873,13 @@ func (client DevicesClient) ListByResourceGroupComplete(ctx context.Context, res // Parameters: // expand - specify $expand=details to populate additional fields related to the resource or Specify // $skipToken= to populate the next page in the list. -func (client DevicesClient) ListBySubscription(ctx context.Context, expand string) (result DataBoxEdgeDeviceListPage, err error) { +func (client DevicesClient) ListBySubscription(ctx context.Context, expand string) (result DeviceListPage, err error) { if tracing.IsEnabled() { ctx = tracing.StartSpan(ctx, fqdn+"/DevicesClient.ListBySubscription") defer func() { sc := -1 - if result.dbedl.Response.Response != nil { - sc = result.dbedl.Response.Response.StatusCode + if result.dl.Response.Response != nil { + sc = result.dl.Response.Response.StatusCode } tracing.EndSpan(ctx, sc, err) }() @@ -887,20 +887,20 @@ func (client DevicesClient) ListBySubscription(ctx context.Context, expand strin result.fn = client.listBySubscriptionNextResults req, err := client.ListBySubscriptionPreparer(ctx, expand) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.DevicesClient", "ListBySubscription", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "databoxedge.DevicesClient", "ListBySubscription", nil, "Failure preparing request") return } resp, err := client.ListBySubscriptionSender(req) if err != nil { - result.dbedl.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "edgegateway.DevicesClient", "ListBySubscription", resp, "Failure sending request") + result.dl.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "databoxedge.DevicesClient", "ListBySubscription", resp, "Failure sending request") return } - result.dbedl, err = client.ListBySubscriptionResponder(resp) + result.dl, err = client.ListBySubscriptionResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.DevicesClient", "ListBySubscription", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "databoxedge.DevicesClient", "ListBySubscription", resp, "Failure responding to request") } return @@ -937,7 +937,7 @@ func (client DevicesClient) ListBySubscriptionSender(req *http.Request) (*http.R // ListBySubscriptionResponder handles the response to the ListBySubscription request. The method always // closes the http.Response Body. -func (client DevicesClient) ListBySubscriptionResponder(resp *http.Response) (result DataBoxEdgeDeviceList, err error) { +func (client DevicesClient) ListBySubscriptionResponder(resp *http.Response) (result DeviceList, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -949,10 +949,10 @@ func (client DevicesClient) ListBySubscriptionResponder(resp *http.Response) (re } // listBySubscriptionNextResults retrieves the next set of results, if any. -func (client DevicesClient) listBySubscriptionNextResults(ctx context.Context, lastResults DataBoxEdgeDeviceList) (result DataBoxEdgeDeviceList, err error) { - req, err := lastResults.dataBoxEdgeDeviceListPreparer(ctx) +func (client DevicesClient) listBySubscriptionNextResults(ctx context.Context, lastResults DeviceList) (result DeviceList, err error) { + req, err := lastResults.deviceListPreparer(ctx) if err != nil { - return result, autorest.NewErrorWithError(err, "edgegateway.DevicesClient", "listBySubscriptionNextResults", nil, "Failure preparing next results request") + return result, autorest.NewErrorWithError(err, "databoxedge.DevicesClient", "listBySubscriptionNextResults", nil, "Failure preparing next results request") } if req == nil { return @@ -960,17 +960,17 @@ func (client DevicesClient) listBySubscriptionNextResults(ctx context.Context, l resp, err := client.ListBySubscriptionSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "edgegateway.DevicesClient", "listBySubscriptionNextResults", resp, "Failure sending next results request") + return result, autorest.NewErrorWithError(err, "databoxedge.DevicesClient", "listBySubscriptionNextResults", resp, "Failure sending next results request") } result, err = client.ListBySubscriptionResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.DevicesClient", "listBySubscriptionNextResults", resp, "Failure responding to next results request") + err = autorest.NewErrorWithError(err, "databoxedge.DevicesClient", "listBySubscriptionNextResults", resp, "Failure responding to next results request") } return } // ListBySubscriptionComplete enumerates all values, automatically crossing page boundaries as required. -func (client DevicesClient) ListBySubscriptionComplete(ctx context.Context, expand string) (result DataBoxEdgeDeviceListIterator, err error) { +func (client DevicesClient) ListBySubscriptionComplete(ctx context.Context, expand string) (result DeviceListIterator, err error) { if tracing.IsEnabled() { ctx = tracing.StartSpan(ctx, fqdn+"/DevicesClient.ListBySubscription") defer func() { @@ -1002,13 +1002,13 @@ func (client DevicesClient) ScanForUpdates(ctx context.Context, deviceName strin } req, err := client.ScanForUpdatesPreparer(ctx, deviceName, resourceGroupName) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.DevicesClient", "ScanForUpdates", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "databoxedge.DevicesClient", "ScanForUpdates", nil, "Failure preparing request") return } result, err = client.ScanForUpdatesSender(req) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.DevicesClient", "ScanForUpdates", result.Response(), "Failure sending request") + err = autorest.NewErrorWithError(err, "databoxedge.DevicesClient", "ScanForUpdates", result.Response(), "Failure sending request") return } @@ -1066,7 +1066,7 @@ func (client DevicesClient) ScanForUpdatesResponder(resp *http.Response) (result // deviceName - the device name. // parameters - the resource parameters. // resourceGroupName - the resource group name. -func (client DevicesClient) Update(ctx context.Context, deviceName string, parameters DataBoxEdgeDevicePatch, resourceGroupName string) (result DataBoxEdgeDevice, err error) { +func (client DevicesClient) Update(ctx context.Context, deviceName string, parameters DevicePatch, resourceGroupName string) (result Device, err error) { if tracing.IsEnabled() { ctx = tracing.StartSpan(ctx, fqdn+"/DevicesClient.Update") defer func() { @@ -1079,27 +1079,27 @@ func (client DevicesClient) Update(ctx context.Context, deviceName string, param } req, err := client.UpdatePreparer(ctx, deviceName, parameters, resourceGroupName) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.DevicesClient", "Update", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "databoxedge.DevicesClient", "Update", nil, "Failure preparing request") return } resp, err := client.UpdateSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "edgegateway.DevicesClient", "Update", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "databoxedge.DevicesClient", "Update", resp, "Failure sending request") return } result, err = client.UpdateResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.DevicesClient", "Update", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "databoxedge.DevicesClient", "Update", resp, "Failure responding to request") } return } // UpdatePreparer prepares the Update request. -func (client DevicesClient) UpdatePreparer(ctx context.Context, deviceName string, parameters DataBoxEdgeDevicePatch, resourceGroupName string) (*http.Request, error) { +func (client DevicesClient) UpdatePreparer(ctx context.Context, deviceName string, parameters DevicePatch, resourceGroupName string) (*http.Request, error) { pathParameters := map[string]interface{}{ "deviceName": autorest.Encode("path", deviceName), "resourceGroupName": autorest.Encode("path", resourceGroupName), @@ -1130,7 +1130,7 @@ func (client DevicesClient) UpdateSender(req *http.Request) (*http.Response, err // UpdateResponder handles the response to the Update request. The method always // closes the http.Response Body. -func (client DevicesClient) UpdateResponder(resp *http.Response) (result DataBoxEdgeDevice, err error) { +func (client DevicesClient) UpdateResponder(resp *http.Response) (result Device, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -1161,25 +1161,25 @@ func (client DevicesClient) UploadCertificate(ctx context.Context, deviceName st {TargetValue: parameters, Constraints: []validation.Constraint{{Target: "parameters.RawCertificateData", Name: validation.Null, Rule: true, Chain: []validation.Constraint{{Target: "parameters.RawCertificateData.Certificate", Name: validation.Null, Rule: true, Chain: nil}}}}}}); err != nil { - return result, validation.NewError("edgegateway.DevicesClient", "UploadCertificate", err.Error()) + return result, validation.NewError("databoxedge.DevicesClient", "UploadCertificate", err.Error()) } req, err := client.UploadCertificatePreparer(ctx, deviceName, parameters, resourceGroupName) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.DevicesClient", "UploadCertificate", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "databoxedge.DevicesClient", "UploadCertificate", nil, "Failure preparing request") return } resp, err := client.UploadCertificateSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "edgegateway.DevicesClient", "UploadCertificate", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "databoxedge.DevicesClient", "UploadCertificate", resp, "Failure sending request") return } result, err = client.UploadCertificateResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.DevicesClient", "UploadCertificate", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "databoxedge.DevicesClient", "UploadCertificate", resp, "Failure responding to request") } return diff --git a/services/edgegateway/mgmt/2019-03-01/edgegateway/jobs.go b/services/databoxedge/mgmt/2019-03-01/databoxedge/jobs.go similarity index 93% rename from services/edgegateway/mgmt/2019-03-01/edgegateway/jobs.go rename to services/databoxedge/mgmt/2019-03-01/databoxedge/jobs.go index 4980344b2df1..793689c273b0 100644 --- a/services/edgegateway/mgmt/2019-03-01/edgegateway/jobs.go +++ b/services/databoxedge/mgmt/2019-03-01/databoxedge/jobs.go @@ -1,4 +1,4 @@ -package edgegateway +package databoxedge // Copyright (c) Microsoft and contributors. All rights reserved. // @@ -25,7 +25,7 @@ import ( "net/http" ) -// JobsClient is the client for the Jobs methods of the Edgegateway service. +// JobsClient is the client for the Jobs methods of the Databoxedge service. type JobsClient struct { BaseClient } @@ -58,20 +58,20 @@ func (client JobsClient) Get(ctx context.Context, deviceName string, name string } req, err := client.GetPreparer(ctx, deviceName, name, resourceGroupName) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.JobsClient", "Get", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "databoxedge.JobsClient", "Get", nil, "Failure preparing request") return } resp, err := client.GetSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "edgegateway.JobsClient", "Get", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "databoxedge.JobsClient", "Get", resp, "Failure sending request") return } result, err = client.GetResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.JobsClient", "Get", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "databoxedge.JobsClient", "Get", resp, "Failure responding to request") } return diff --git a/services/edgegateway/mgmt/2019-03-01/edgegateway/models.go b/services/databoxedge/mgmt/2019-03-01/databoxedge/models.go similarity index 94% rename from services/edgegateway/mgmt/2019-03-01/edgegateway/models.go rename to services/databoxedge/mgmt/2019-03-01/databoxedge/models.go index 3529b63e152a..91483cbbc9c1 100644 --- a/services/edgegateway/mgmt/2019-03-01/edgegateway/models.go +++ b/services/databoxedge/mgmt/2019-03-01/databoxedge/models.go @@ -1,4 +1,4 @@ -package edgegateway +package databoxedge // Copyright (c) Microsoft and contributors. All rights reserved. // @@ -29,7 +29,7 @@ import ( ) // The package's fully qualified name. -const fqdn = "github.com/Azure/azure-sdk-for-go/services/edgegateway/mgmt/2019-03-01/edgegateway" +const fqdn = "github.com/Azure/azure-sdk-for-go/services/databoxedge/mgmt/2019-03-01/databoxedge" // AccountType enumerates the values for account type. type AccountType string @@ -112,29 +112,6 @@ func PossibleClientPermissionTypeValues() []ClientPermissionType { return []ClientPermissionType{NoAccess, ReadOnly, ReadWrite} } -// DataBoxEdgeDeviceStatus enumerates the values for data box edge device status. -type DataBoxEdgeDeviceStatus string - -const ( - // Disconnected ... - Disconnected DataBoxEdgeDeviceStatus = "Disconnected" - // NeedsAttention ... - NeedsAttention DataBoxEdgeDeviceStatus = "NeedsAttention" - // Offline ... - Offline DataBoxEdgeDeviceStatus = "Offline" - // Online ... - Online DataBoxEdgeDeviceStatus = "Online" - // PartiallyDisconnected ... - PartiallyDisconnected DataBoxEdgeDeviceStatus = "PartiallyDisconnected" - // ReadyToSetup ... - ReadyToSetup DataBoxEdgeDeviceStatus = "ReadyToSetup" -) - -// PossibleDataBoxEdgeDeviceStatusValues returns an array of possible values for the DataBoxEdgeDeviceStatus const type. -func PossibleDataBoxEdgeDeviceStatusValues() []DataBoxEdgeDeviceStatus { - return []DataBoxEdgeDeviceStatus{Disconnected, NeedsAttention, Offline, Online, PartiallyDisconnected, ReadyToSetup} -} - // DataPolicy enumerates the values for data policy. type DataPolicy string @@ -175,17 +152,40 @@ func PossibleDayOfWeekValues() []DayOfWeek { return []DayOfWeek{Friday, Monday, Saturday, Sunday, Thursday, Tuesday, Wednesday} } +// DeviceStatus enumerates the values for device status. +type DeviceStatus string + +const ( + // Disconnected ... + Disconnected DeviceStatus = "Disconnected" + // NeedsAttention ... + NeedsAttention DeviceStatus = "NeedsAttention" + // Offline ... + Offline DeviceStatus = "Offline" + // Online ... + Online DeviceStatus = "Online" + // PartiallyDisconnected ... + PartiallyDisconnected DeviceStatus = "PartiallyDisconnected" + // ReadyToSetup ... + ReadyToSetup DeviceStatus = "ReadyToSetup" +) + +// PossibleDeviceStatusValues returns an array of possible values for the DeviceStatus const type. +func PossibleDeviceStatusValues() []DeviceStatus { + return []DeviceStatus{Disconnected, NeedsAttention, Offline, Online, PartiallyDisconnected, ReadyToSetup} +} + // DeviceType enumerates the values for device type. type DeviceType string const ( - // DeviceTypeDataBoxEdgeDevice ... - DeviceTypeDataBoxEdgeDevice DeviceType = "DataBoxEdgeDevice" + // DataBoxEdgeDevice ... + DataBoxEdgeDevice DeviceType = "DataBoxEdgeDevice" ) // PossibleDeviceTypeValues returns an array of possible values for the DeviceType const type. func PossibleDeviceTypeValues() []DeviceType { - return []DeviceType{DeviceTypeDataBoxEdgeDevice} + return []DeviceType{DataBoxEdgeDevice} } // DownloadPhase enumerates the values for download phase. @@ -1133,18 +1133,18 @@ func (future *BandwidthSchedulesCreateOrUpdateFuture) Result(client BandwidthSch var done bool done, err = future.DoneWithContext(context.Background(), client) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.BandwidthSchedulesCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + err = autorest.NewErrorWithError(err, "databoxedge.BandwidthSchedulesCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") return } if !done { - err = azure.NewAsyncOpIncompleteError("edgegateway.BandwidthSchedulesCreateOrUpdateFuture") + err = azure.NewAsyncOpIncompleteError("databoxedge.BandwidthSchedulesCreateOrUpdateFuture") return } sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) if bs.Response.Response, err = future.GetResult(sender); err == nil && bs.Response.Response.StatusCode != http.StatusNoContent { bs, err = client.CreateOrUpdateResponder(bs.Response.Response) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.BandwidthSchedulesCreateOrUpdateFuture", "Result", bs.Response.Response, "Failure responding to request") + err = autorest.NewErrorWithError(err, "databoxedge.BandwidthSchedulesCreateOrUpdateFuture", "Result", bs.Response.Response, "Failure responding to request") } } return @@ -1162,11 +1162,11 @@ func (future *BandwidthSchedulesDeleteFuture) Result(client BandwidthSchedulesCl var done bool done, err = future.DoneWithContext(context.Background(), client) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.BandwidthSchedulesDeleteFuture", "Result", future.Response(), "Polling failure") + err = autorest.NewErrorWithError(err, "databoxedge.BandwidthSchedulesDeleteFuture", "Result", future.Response(), "Polling failure") return } if !done { - err = azure.NewAsyncOpIncompleteError("edgegateway.BandwidthSchedulesDeleteFuture") + err = azure.NewAsyncOpIncompleteError("databoxedge.BandwidthSchedulesDeleteFuture") return } ar.Response = future.Response() @@ -1356,8 +1356,8 @@ type ContactDetails struct { EmailList *[]string `json:"emailList,omitempty"` } -// DataBoxEdgeDevice the Data Box Edge/Gateway device. -type DataBoxEdgeDevice struct { +// Device the Data Box Edge/Gateway device. +type Device struct { autorest.Response `json:"-"` // Location - The location of the device. This is a supported and registered Azure geographical region (for example, West US, East US, or Southeast Asia). The geographical region of a device cannot be changed once it is created, but if an identical geographical region is specified on update, the request will succeed. Location *string `json:"location,omitempty"` @@ -1367,8 +1367,8 @@ type DataBoxEdgeDevice struct { Sku *Sku `json:"sku,omitempty"` // Etag - The etag for the devices. Etag *string `json:"etag,omitempty"` - // DataBoxEdgeDeviceProperties - The properties of the Data Box Edge/Gateway device. - *DataBoxEdgeDeviceProperties `json:"properties,omitempty"` + // DeviceProperties - The properties of the Data Box Edge/Gateway device. + *DeviceProperties `json:"properties,omitempty"` // ID - READ-ONLY; The path ID that uniquely identifies the object. ID *string `json:"id,omitempty"` // Name - READ-ONLY; The object name. @@ -1377,29 +1377,29 @@ type DataBoxEdgeDevice struct { Type *string `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for DataBoxEdgeDevice. -func (dbed DataBoxEdgeDevice) MarshalJSON() ([]byte, error) { +// MarshalJSON is the custom marshaler for Device. +func (d Device) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) - if dbed.Location != nil { - objectMap["location"] = dbed.Location + if d.Location != nil { + objectMap["location"] = d.Location } - if dbed.Tags != nil { - objectMap["tags"] = dbed.Tags + if d.Tags != nil { + objectMap["tags"] = d.Tags } - if dbed.Sku != nil { - objectMap["sku"] = dbed.Sku + if d.Sku != nil { + objectMap["sku"] = d.Sku } - if dbed.Etag != nil { - objectMap["etag"] = dbed.Etag + if d.Etag != nil { + objectMap["etag"] = d.Etag } - if dbed.DataBoxEdgeDeviceProperties != nil { - objectMap["properties"] = dbed.DataBoxEdgeDeviceProperties + if d.DeviceProperties != nil { + objectMap["properties"] = d.DeviceProperties } return json.Marshal(objectMap) } -// UnmarshalJSON is the custom unmarshaler for DataBoxEdgeDevice struct. -func (dbed *DataBoxEdgeDevice) UnmarshalJSON(body []byte) error { +// UnmarshalJSON is the custom unmarshaler for Device struct. +func (d *Device) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -1414,7 +1414,7 @@ func (dbed *DataBoxEdgeDevice) UnmarshalJSON(body []byte) error { if err != nil { return err } - dbed.Location = &location + d.Location = &location } case "tags": if v != nil { @@ -1423,7 +1423,7 @@ func (dbed *DataBoxEdgeDevice) UnmarshalJSON(body []byte) error { if err != nil { return err } - dbed.Tags = tags + d.Tags = tags } case "sku": if v != nil { @@ -1432,7 +1432,7 @@ func (dbed *DataBoxEdgeDevice) UnmarshalJSON(body []byte) error { if err != nil { return err } - dbed.Sku = &sku + d.Sku = &sku } case "etag": if v != nil { @@ -1441,16 +1441,16 @@ func (dbed *DataBoxEdgeDevice) UnmarshalJSON(body []byte) error { if err != nil { return err } - dbed.Etag = &etag + d.Etag = &etag } case "properties": if v != nil { - var dataBoxEdgeDeviceProperties DataBoxEdgeDeviceProperties - err = json.Unmarshal(*v, &dataBoxEdgeDeviceProperties) + var deviceProperties DeviceProperties + err = json.Unmarshal(*v, &deviceProperties) if err != nil { return err } - dbed.DataBoxEdgeDeviceProperties = &dataBoxEdgeDeviceProperties + d.DeviceProperties = &deviceProperties } case "id": if v != nil { @@ -1459,7 +1459,7 @@ func (dbed *DataBoxEdgeDevice) UnmarshalJSON(body []byte) error { if err != nil { return err } - dbed.ID = &ID + d.ID = &ID } case "name": if v != nil { @@ -1468,7 +1468,7 @@ func (dbed *DataBoxEdgeDevice) UnmarshalJSON(body []byte) error { if err != nil { return err } - dbed.Name = &name + d.Name = &name } case "type": if v != nil { @@ -1477,7 +1477,7 @@ func (dbed *DataBoxEdgeDevice) UnmarshalJSON(body []byte) error { if err != nil { return err } - dbed.Type = &typeVar + d.Type = &typeVar } } } @@ -1485,11 +1485,11 @@ func (dbed *DataBoxEdgeDevice) UnmarshalJSON(body []byte) error { return nil } -// DataBoxEdgeDeviceExtendedInfo the extended Info of the Data Box Edge/Gateway device. -type DataBoxEdgeDeviceExtendedInfo struct { +// DeviceExtendedInfo the extended Info of the Data Box Edge/Gateway device. +type DeviceExtendedInfo struct { autorest.Response `json:"-"` - // DataBoxEdgeDeviceExtendedInfoProperties - The extended info properties. - *DataBoxEdgeDeviceExtendedInfoProperties `json:"properties,omitempty"` + // DeviceExtendedInfoProperties - The extended info properties. + *DeviceExtendedInfoProperties `json:"properties,omitempty"` // ID - READ-ONLY; The path ID that uniquely identifies the object. ID *string `json:"id,omitempty"` // Name - READ-ONLY; The object name. @@ -1498,17 +1498,17 @@ type DataBoxEdgeDeviceExtendedInfo struct { Type *string `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for DataBoxEdgeDeviceExtendedInfo. -func (dbedei DataBoxEdgeDeviceExtendedInfo) MarshalJSON() ([]byte, error) { +// MarshalJSON is the custom marshaler for DeviceExtendedInfo. +func (dei DeviceExtendedInfo) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) - if dbedei.DataBoxEdgeDeviceExtendedInfoProperties != nil { - objectMap["properties"] = dbedei.DataBoxEdgeDeviceExtendedInfoProperties + if dei.DeviceExtendedInfoProperties != nil { + objectMap["properties"] = dei.DeviceExtendedInfoProperties } return json.Marshal(objectMap) } -// UnmarshalJSON is the custom unmarshaler for DataBoxEdgeDeviceExtendedInfo struct. -func (dbedei *DataBoxEdgeDeviceExtendedInfo) UnmarshalJSON(body []byte) error { +// UnmarshalJSON is the custom unmarshaler for DeviceExtendedInfo struct. +func (dei *DeviceExtendedInfo) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -1518,12 +1518,12 @@ func (dbedei *DataBoxEdgeDeviceExtendedInfo) UnmarshalJSON(body []byte) error { switch k { case "properties": if v != nil { - var dataBoxEdgeDeviceExtendedInfoProperties DataBoxEdgeDeviceExtendedInfoProperties - err = json.Unmarshal(*v, &dataBoxEdgeDeviceExtendedInfoProperties) + var deviceExtendedInfoProperties DeviceExtendedInfoProperties + err = json.Unmarshal(*v, &deviceExtendedInfoProperties) if err != nil { return err } - dbedei.DataBoxEdgeDeviceExtendedInfoProperties = &dataBoxEdgeDeviceExtendedInfoProperties + dei.DeviceExtendedInfoProperties = &deviceExtendedInfoProperties } case "id": if v != nil { @@ -1532,7 +1532,7 @@ func (dbedei *DataBoxEdgeDeviceExtendedInfo) UnmarshalJSON(body []byte) error { if err != nil { return err } - dbedei.ID = &ID + dei.ID = &ID } case "name": if v != nil { @@ -1541,7 +1541,7 @@ func (dbedei *DataBoxEdgeDeviceExtendedInfo) UnmarshalJSON(body []byte) error { if err != nil { return err } - dbedei.Name = &name + dei.Name = &name } case "type": if v != nil { @@ -1550,7 +1550,7 @@ func (dbedei *DataBoxEdgeDeviceExtendedInfo) UnmarshalJSON(body []byte) error { if err != nil { return err } - dbedei.Type = &typeVar + dei.Type = &typeVar } } } @@ -1558,9 +1558,8 @@ func (dbedei *DataBoxEdgeDeviceExtendedInfo) UnmarshalJSON(body []byte) error { return nil } -// DataBoxEdgeDeviceExtendedInfoProperties the properties of the Data Box Edge/Gateway device extended -// info. -type DataBoxEdgeDeviceExtendedInfoProperties struct { +// DeviceExtendedInfoProperties the properties of the Data Box Edge/Gateway device extended info. +type DeviceExtendedInfoProperties struct { // EncryptionKeyThumbprint - The digital signature of encrypted certificate. EncryptionKeyThumbprint *string `json:"encryptionKeyThumbprint,omitempty"` // EncryptionKey - The public part of the encryption certificate. Client uses this to encrypt any secret. @@ -1569,26 +1568,26 @@ type DataBoxEdgeDeviceExtendedInfoProperties struct { ResourceKey *string `json:"resourceKey,omitempty"` } -// DataBoxEdgeDeviceList the collection of Data Box Edge/Gateway devices. -type DataBoxEdgeDeviceList struct { +// DeviceList the collection of Data Box Edge/Gateway devices. +type DeviceList struct { autorest.Response `json:"-"` // Value - READ-ONLY; The list of Data Box Edge/Gateway devices. - Value *[]DataBoxEdgeDevice `json:"value,omitempty"` + Value *[]Device `json:"value,omitempty"` // NextLink - READ-ONLY; Link to the next set of results. NextLink *string `json:"nextLink,omitempty"` } -// DataBoxEdgeDeviceListIterator provides access to a complete listing of DataBoxEdgeDevice values. -type DataBoxEdgeDeviceListIterator struct { +// DeviceListIterator provides access to a complete listing of Device values. +type DeviceListIterator struct { i int - page DataBoxEdgeDeviceListPage + page DeviceListPage } // NextWithContext advances to the next value. If there was an error making // the request the iterator does not advance and the error is returned. -func (iter *DataBoxEdgeDeviceListIterator) NextWithContext(ctx context.Context) (err error) { +func (iter *DeviceListIterator) NextWithContext(ctx context.Context) (err error) { if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/DataBoxEdgeDeviceListIterator.NextWithContext") + ctx = tracing.StartSpan(ctx, fqdn+"/DeviceListIterator.NextWithContext") defer func() { sc := -1 if iter.Response().Response.Response != nil { @@ -1613,62 +1612,62 @@ func (iter *DataBoxEdgeDeviceListIterator) NextWithContext(ctx context.Context) // Next advances to the next value. If there was an error making // the request the iterator does not advance and the error is returned. // Deprecated: Use NextWithContext() instead. -func (iter *DataBoxEdgeDeviceListIterator) Next() error { +func (iter *DeviceListIterator) Next() error { return iter.NextWithContext(context.Background()) } // NotDone returns true if the enumeration should be started or is not yet complete. -func (iter DataBoxEdgeDeviceListIterator) NotDone() bool { +func (iter DeviceListIterator) NotDone() bool { return iter.page.NotDone() && iter.i < len(iter.page.Values()) } // Response returns the raw server response from the last page request. -func (iter DataBoxEdgeDeviceListIterator) Response() DataBoxEdgeDeviceList { +func (iter DeviceListIterator) Response() DeviceList { return iter.page.Response() } // Value returns the current value or a zero-initialized value if the // iterator has advanced beyond the end of the collection. -func (iter DataBoxEdgeDeviceListIterator) Value() DataBoxEdgeDevice { +func (iter DeviceListIterator) Value() Device { if !iter.page.NotDone() { - return DataBoxEdgeDevice{} + return Device{} } return iter.page.Values()[iter.i] } -// Creates a new instance of the DataBoxEdgeDeviceListIterator type. -func NewDataBoxEdgeDeviceListIterator(page DataBoxEdgeDeviceListPage) DataBoxEdgeDeviceListIterator { - return DataBoxEdgeDeviceListIterator{page: page} +// Creates a new instance of the DeviceListIterator type. +func NewDeviceListIterator(page DeviceListPage) DeviceListIterator { + return DeviceListIterator{page: page} } // IsEmpty returns true if the ListResult contains no values. -func (dbedl DataBoxEdgeDeviceList) IsEmpty() bool { - return dbedl.Value == nil || len(*dbedl.Value) == 0 +func (dl DeviceList) IsEmpty() bool { + return dl.Value == nil || len(*dl.Value) == 0 } -// dataBoxEdgeDeviceListPreparer prepares a request to retrieve the next set of results. +// deviceListPreparer prepares a request to retrieve the next set of results. // It returns nil if no more results exist. -func (dbedl DataBoxEdgeDeviceList) dataBoxEdgeDeviceListPreparer(ctx context.Context) (*http.Request, error) { - if dbedl.NextLink == nil || len(to.String(dbedl.NextLink)) < 1 { +func (dl DeviceList) deviceListPreparer(ctx context.Context) (*http.Request, error) { + if dl.NextLink == nil || len(to.String(dl.NextLink)) < 1 { return nil, nil } return autorest.Prepare((&http.Request{}).WithContext(ctx), autorest.AsJSON(), autorest.AsGet(), - autorest.WithBaseURL(to.String(dbedl.NextLink))) + autorest.WithBaseURL(to.String(dl.NextLink))) } -// DataBoxEdgeDeviceListPage contains a page of DataBoxEdgeDevice values. -type DataBoxEdgeDeviceListPage struct { - fn func(context.Context, DataBoxEdgeDeviceList) (DataBoxEdgeDeviceList, error) - dbedl DataBoxEdgeDeviceList +// DeviceListPage contains a page of Device values. +type DeviceListPage struct { + fn func(context.Context, DeviceList) (DeviceList, error) + dl DeviceList } // NextWithContext advances to the next page of values. If there was an error making // the request the page does not advance and the error is returned. -func (page *DataBoxEdgeDeviceListPage) NextWithContext(ctx context.Context) (err error) { +func (page *DeviceListPage) NextWithContext(ctx context.Context) (err error) { if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/DataBoxEdgeDeviceListPage.NextWithContext") + ctx = tracing.StartSpan(ctx, fqdn+"/DeviceListPage.NextWithContext") defer func() { sc := -1 if page.Response().Response.Response != nil { @@ -1677,70 +1676,70 @@ func (page *DataBoxEdgeDeviceListPage) NextWithContext(ctx context.Context) (err tracing.EndSpan(ctx, sc, err) }() } - next, err := page.fn(ctx, page.dbedl) + next, err := page.fn(ctx, page.dl) if err != nil { return err } - page.dbedl = next + page.dl = next return nil } // Next advances to the next page of values. If there was an error making // the request the page does not advance and the error is returned. // Deprecated: Use NextWithContext() instead. -func (page *DataBoxEdgeDeviceListPage) Next() error { +func (page *DeviceListPage) Next() error { return page.NextWithContext(context.Background()) } // NotDone returns true if the page enumeration should be started or is not yet complete. -func (page DataBoxEdgeDeviceListPage) NotDone() bool { - return !page.dbedl.IsEmpty() +func (page DeviceListPage) NotDone() bool { + return !page.dl.IsEmpty() } // Response returns the raw server response from the last page request. -func (page DataBoxEdgeDeviceListPage) Response() DataBoxEdgeDeviceList { - return page.dbedl +func (page DeviceListPage) Response() DeviceList { + return page.dl } // Values returns the slice of values for the current page or nil if there are no values. -func (page DataBoxEdgeDeviceListPage) Values() []DataBoxEdgeDevice { - if page.dbedl.IsEmpty() { +func (page DeviceListPage) Values() []Device { + if page.dl.IsEmpty() { return nil } - return *page.dbedl.Value + return *page.dl.Value } -// Creates a new instance of the DataBoxEdgeDeviceListPage type. -func NewDataBoxEdgeDeviceListPage(getNextPage func(context.Context, DataBoxEdgeDeviceList) (DataBoxEdgeDeviceList, error)) DataBoxEdgeDeviceListPage { - return DataBoxEdgeDeviceListPage{fn: getNextPage} +// Creates a new instance of the DeviceListPage type. +func NewDeviceListPage(getNextPage func(context.Context, DeviceList) (DeviceList, error)) DeviceListPage { + return DeviceListPage{fn: getNextPage} } -// DataBoxEdgeDevicePatch the Data Box Edge/Gateway device patch. -type DataBoxEdgeDevicePatch struct { +// DevicePatch the Data Box Edge/Gateway device patch. +type DevicePatch struct { // Tags - The tags attached to the Data Box Edge/Gateway resource. Tags map[string]*string `json:"tags"` } -// MarshalJSON is the custom marshaler for DataBoxEdgeDevicePatch. -func (dbedp DataBoxEdgeDevicePatch) MarshalJSON() ([]byte, error) { +// MarshalJSON is the custom marshaler for DevicePatch. +func (dp DevicePatch) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) - if dbedp.Tags != nil { - objectMap["tags"] = dbedp.Tags + if dp.Tags != nil { + objectMap["tags"] = dp.Tags } return json.Marshal(objectMap) } -// DataBoxEdgeDeviceProperties the properties of the Data Box Edge/Gateway device. -type DataBoxEdgeDeviceProperties struct { +// DeviceProperties the properties of the Data Box Edge/Gateway device. +type DeviceProperties struct { // DataBoxEdgeDeviceStatus - The status of the Data Box Edge/Gateway device. Possible values include: 'ReadyToSetup', 'Online', 'Offline', 'NeedsAttention', 'Disconnected', 'PartiallyDisconnected' - DataBoxEdgeDeviceStatus DataBoxEdgeDeviceStatus `json:"dataBoxEdgeDeviceStatus,omitempty"` + DataBoxEdgeDeviceStatus DeviceStatus `json:"dataBoxEdgeDeviceStatus,omitempty"` // SerialNumber - READ-ONLY; The Serial Number of Data Box Edge/Gateway device. SerialNumber *string `json:"serialNumber,omitempty"` // Description - The Description of the Data Box Edge/Gateway device. Description *string `json:"description,omitempty"` // ModelDescription - The description of the Data Box Edge/Gateway device model. ModelDescription *string `json:"modelDescription,omitempty"` - // DeviceType - READ-ONLY; The type of the Data Box Edge/Gateway device. Possible values include: 'DeviceTypeDataBoxEdgeDevice' + // DeviceType - READ-ONLY; The type of the Data Box Edge/Gateway device. Possible values include: 'DataBoxEdgeDevice' DeviceType DeviceType `json:"deviceType,omitempty"` // FriendlyName - The Data Box Edge/Gateway device name. FriendlyName *string `json:"friendlyName,omitempty"` @@ -1768,22 +1767,22 @@ type DevicesCreateOrUpdateFuture struct { // Result returns the result of the asynchronous operation. // If the operation has not completed it will return an error. -func (future *DevicesCreateOrUpdateFuture) Result(client DevicesClient) (dbed DataBoxEdgeDevice, err error) { +func (future *DevicesCreateOrUpdateFuture) Result(client DevicesClient) (d Device, err error) { var done bool done, err = future.DoneWithContext(context.Background(), client) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.DevicesCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + err = autorest.NewErrorWithError(err, "databoxedge.DevicesCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") return } if !done { - err = azure.NewAsyncOpIncompleteError("edgegateway.DevicesCreateOrUpdateFuture") + err = azure.NewAsyncOpIncompleteError("databoxedge.DevicesCreateOrUpdateFuture") return } sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) - if dbed.Response.Response, err = future.GetResult(sender); err == nil && dbed.Response.Response.StatusCode != http.StatusNoContent { - dbed, err = client.CreateOrUpdateResponder(dbed.Response.Response) + if d.Response.Response, err = future.GetResult(sender); err == nil && d.Response.Response.StatusCode != http.StatusNoContent { + d, err = client.CreateOrUpdateResponder(d.Response.Response) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.DevicesCreateOrUpdateFuture", "Result", dbed.Response.Response, "Failure responding to request") + err = autorest.NewErrorWithError(err, "databoxedge.DevicesCreateOrUpdateFuture", "Result", d.Response.Response, "Failure responding to request") } } return @@ -1801,11 +1800,11 @@ func (future *DevicesCreateOrUpdateSecuritySettingsFuture) Result(client Devices var done bool done, err = future.DoneWithContext(context.Background(), client) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.DevicesCreateOrUpdateSecuritySettingsFuture", "Result", future.Response(), "Polling failure") + err = autorest.NewErrorWithError(err, "databoxedge.DevicesCreateOrUpdateSecuritySettingsFuture", "Result", future.Response(), "Polling failure") return } if !done { - err = azure.NewAsyncOpIncompleteError("edgegateway.DevicesCreateOrUpdateSecuritySettingsFuture") + err = azure.NewAsyncOpIncompleteError("databoxedge.DevicesCreateOrUpdateSecuritySettingsFuture") return } ar.Response = future.Response() @@ -1824,11 +1823,11 @@ func (future *DevicesDeleteFuture) Result(client DevicesClient) (ar autorest.Res var done bool done, err = future.DoneWithContext(context.Background(), client) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.DevicesDeleteFuture", "Result", future.Response(), "Polling failure") + err = autorest.NewErrorWithError(err, "databoxedge.DevicesDeleteFuture", "Result", future.Response(), "Polling failure") return } if !done { - err = azure.NewAsyncOpIncompleteError("edgegateway.DevicesDeleteFuture") + err = azure.NewAsyncOpIncompleteError("databoxedge.DevicesDeleteFuture") return } ar.Response = future.Response() @@ -1847,11 +1846,11 @@ func (future *DevicesDownloadUpdatesFuture) Result(client DevicesClient) (ar aut var done bool done, err = future.DoneWithContext(context.Background(), client) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.DevicesDownloadUpdatesFuture", "Result", future.Response(), "Polling failure") + err = autorest.NewErrorWithError(err, "databoxedge.DevicesDownloadUpdatesFuture", "Result", future.Response(), "Polling failure") return } if !done { - err = azure.NewAsyncOpIncompleteError("edgegateway.DevicesDownloadUpdatesFuture") + err = azure.NewAsyncOpIncompleteError("databoxedge.DevicesDownloadUpdatesFuture") return } ar.Response = future.Response() @@ -1870,11 +1869,11 @@ func (future *DevicesInstallUpdatesFuture) Result(client DevicesClient) (ar auto var done bool done, err = future.DoneWithContext(context.Background(), client) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.DevicesInstallUpdatesFuture", "Result", future.Response(), "Polling failure") + err = autorest.NewErrorWithError(err, "databoxedge.DevicesInstallUpdatesFuture", "Result", future.Response(), "Polling failure") return } if !done { - err = azure.NewAsyncOpIncompleteError("edgegateway.DevicesInstallUpdatesFuture") + err = azure.NewAsyncOpIncompleteError("databoxedge.DevicesInstallUpdatesFuture") return } ar.Response = future.Response() @@ -1893,11 +1892,11 @@ func (future *DevicesScanForUpdatesFuture) Result(client DevicesClient) (ar auto var done bool done, err = future.DoneWithContext(context.Background(), client) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.DevicesScanForUpdatesFuture", "Result", future.Response(), "Polling failure") + err = autorest.NewErrorWithError(err, "databoxedge.DevicesScanForUpdatesFuture", "Result", future.Response(), "Polling failure") return } if !done { - err = azure.NewAsyncOpIncompleteError("edgegateway.DevicesScanForUpdatesFuture") + err = azure.NewAsyncOpIncompleteError("databoxedge.DevicesScanForUpdatesFuture") return } ar.Response = future.Response() @@ -2998,18 +2997,18 @@ func (future *OrdersCreateOrUpdateFuture) Result(client OrdersClient) (o Order, var done bool done, err = future.DoneWithContext(context.Background(), client) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.OrdersCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + err = autorest.NewErrorWithError(err, "databoxedge.OrdersCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") return } if !done { - err = azure.NewAsyncOpIncompleteError("edgegateway.OrdersCreateOrUpdateFuture") + err = azure.NewAsyncOpIncompleteError("databoxedge.OrdersCreateOrUpdateFuture") return } sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) if o.Response.Response, err = future.GetResult(sender); err == nil && o.Response.Response.StatusCode != http.StatusNoContent { o, err = client.CreateOrUpdateResponder(o.Response.Response) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.OrdersCreateOrUpdateFuture", "Result", o.Response.Response, "Failure responding to request") + err = autorest.NewErrorWithError(err, "databoxedge.OrdersCreateOrUpdateFuture", "Result", o.Response.Response, "Failure responding to request") } } return @@ -3026,11 +3025,11 @@ func (future *OrdersDeleteFuture) Result(client OrdersClient) (ar autorest.Respo var done bool done, err = future.DoneWithContext(context.Background(), client) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.OrdersDeleteFuture", "Result", future.Response(), "Polling failure") + err = autorest.NewErrorWithError(err, "databoxedge.OrdersDeleteFuture", "Result", future.Response(), "Polling failure") return } if !done { - err = azure.NewAsyncOpIncompleteError("edgegateway.OrdersDeleteFuture") + err = azure.NewAsyncOpIncompleteError("databoxedge.OrdersDeleteFuture") return } ar.Response = future.Response() @@ -3482,18 +3481,18 @@ func (future *RolesCreateOrUpdateFuture) Result(client RolesClient) (rm RoleMode var done bool done, err = future.DoneWithContext(context.Background(), client) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.RolesCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + err = autorest.NewErrorWithError(err, "databoxedge.RolesCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") return } if !done { - err = azure.NewAsyncOpIncompleteError("edgegateway.RolesCreateOrUpdateFuture") + err = azure.NewAsyncOpIncompleteError("databoxedge.RolesCreateOrUpdateFuture") return } sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) if rm.Response.Response, err = future.GetResult(sender); err == nil && rm.Response.Response.StatusCode != http.StatusNoContent { rm, err = client.CreateOrUpdateResponder(rm.Response.Response) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.RolesCreateOrUpdateFuture", "Result", rm.Response.Response, "Failure responding to request") + err = autorest.NewErrorWithError(err, "databoxedge.RolesCreateOrUpdateFuture", "Result", rm.Response.Response, "Failure responding to request") } } return @@ -3510,11 +3509,11 @@ func (future *RolesDeleteFuture) Result(client RolesClient) (ar autorest.Respons var done bool done, err = future.DoneWithContext(context.Background(), client) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.RolesDeleteFuture", "Result", future.Response(), "Polling failure") + err = autorest.NewErrorWithError(err, "databoxedge.RolesDeleteFuture", "Result", future.Response(), "Polling failure") return } if !done { - err = azure.NewAsyncOpIncompleteError("edgegateway.RolesDeleteFuture") + err = azure.NewAsyncOpIncompleteError("databoxedge.RolesDeleteFuture") return } ar.Response = future.Response() @@ -3875,18 +3874,18 @@ func (future *SharesCreateOrUpdateFuture) Result(client SharesClient) (s Share, var done bool done, err = future.DoneWithContext(context.Background(), client) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.SharesCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + err = autorest.NewErrorWithError(err, "databoxedge.SharesCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") return } if !done { - err = azure.NewAsyncOpIncompleteError("edgegateway.SharesCreateOrUpdateFuture") + err = azure.NewAsyncOpIncompleteError("databoxedge.SharesCreateOrUpdateFuture") return } sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) if s.Response.Response, err = future.GetResult(sender); err == nil && s.Response.Response.StatusCode != http.StatusNoContent { s, err = client.CreateOrUpdateResponder(s.Response.Response) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.SharesCreateOrUpdateFuture", "Result", s.Response.Response, "Failure responding to request") + err = autorest.NewErrorWithError(err, "databoxedge.SharesCreateOrUpdateFuture", "Result", s.Response.Response, "Failure responding to request") } } return @@ -3903,11 +3902,11 @@ func (future *SharesDeleteFuture) Result(client SharesClient) (ar autorest.Respo var done bool done, err = future.DoneWithContext(context.Background(), client) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.SharesDeleteFuture", "Result", future.Response(), "Polling failure") + err = autorest.NewErrorWithError(err, "databoxedge.SharesDeleteFuture", "Result", future.Response(), "Polling failure") return } if !done { - err = azure.NewAsyncOpIncompleteError("edgegateway.SharesDeleteFuture") + err = azure.NewAsyncOpIncompleteError("databoxedge.SharesDeleteFuture") return } ar.Response = future.Response() @@ -3926,11 +3925,11 @@ func (future *SharesRefreshFuture) Result(client SharesClient) (ar autorest.Resp var done bool done, err = future.DoneWithContext(context.Background(), client) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.SharesRefreshFuture", "Result", future.Response(), "Polling failure") + err = autorest.NewErrorWithError(err, "databoxedge.SharesRefreshFuture", "Result", future.Response(), "Polling failure") return } if !done { - err = azure.NewAsyncOpIncompleteError("edgegateway.SharesRefreshFuture") + err = azure.NewAsyncOpIncompleteError("databoxedge.SharesRefreshFuture") return } ar.Response = future.Response() @@ -4195,18 +4194,18 @@ func (future *StorageAccountCredentialsCreateOrUpdateFuture) Result(client Stora var done bool done, err = future.DoneWithContext(context.Background(), client) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.StorageAccountCredentialsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + err = autorest.NewErrorWithError(err, "databoxedge.StorageAccountCredentialsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") return } if !done { - err = azure.NewAsyncOpIncompleteError("edgegateway.StorageAccountCredentialsCreateOrUpdateFuture") + err = azure.NewAsyncOpIncompleteError("databoxedge.StorageAccountCredentialsCreateOrUpdateFuture") return } sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) if sac.Response.Response, err = future.GetResult(sender); err == nil && sac.Response.Response.StatusCode != http.StatusNoContent { sac, err = client.CreateOrUpdateResponder(sac.Response.Response) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.StorageAccountCredentialsCreateOrUpdateFuture", "Result", sac.Response.Response, "Failure responding to request") + err = autorest.NewErrorWithError(err, "databoxedge.StorageAccountCredentialsCreateOrUpdateFuture", "Result", sac.Response.Response, "Failure responding to request") } } return @@ -4224,11 +4223,11 @@ func (future *StorageAccountCredentialsDeleteFuture) Result(client StorageAccoun var done bool done, err = future.DoneWithContext(context.Background(), client) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.StorageAccountCredentialsDeleteFuture", "Result", future.Response(), "Polling failure") + err = autorest.NewErrorWithError(err, "databoxedge.StorageAccountCredentialsDeleteFuture", "Result", future.Response(), "Polling failure") return } if !done { - err = azure.NewAsyncOpIncompleteError("edgegateway.StorageAccountCredentialsDeleteFuture") + err = azure.NewAsyncOpIncompleteError("databoxedge.StorageAccountCredentialsDeleteFuture") return } ar.Response = future.Response() @@ -4551,18 +4550,18 @@ func (future *TriggersCreateOrUpdateFuture) Result(client TriggersClient) (tm Tr var done bool done, err = future.DoneWithContext(context.Background(), client) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.TriggersCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + err = autorest.NewErrorWithError(err, "databoxedge.TriggersCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") return } if !done { - err = azure.NewAsyncOpIncompleteError("edgegateway.TriggersCreateOrUpdateFuture") + err = azure.NewAsyncOpIncompleteError("databoxedge.TriggersCreateOrUpdateFuture") return } sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) if tm.Response.Response, err = future.GetResult(sender); err == nil && tm.Response.Response.StatusCode != http.StatusNoContent { tm, err = client.CreateOrUpdateResponder(tm.Response.Response) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.TriggersCreateOrUpdateFuture", "Result", tm.Response.Response, "Failure responding to request") + err = autorest.NewErrorWithError(err, "databoxedge.TriggersCreateOrUpdateFuture", "Result", tm.Response.Response, "Failure responding to request") } } return @@ -4580,11 +4579,11 @@ func (future *TriggersDeleteFuture) Result(client TriggersClient) (ar autorest.R var done bool done, err = future.DoneWithContext(context.Background(), client) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.TriggersDeleteFuture", "Result", future.Response(), "Polling failure") + err = autorest.NewErrorWithError(err, "databoxedge.TriggersDeleteFuture", "Result", future.Response(), "Polling failure") return } if !done { - err = azure.NewAsyncOpIncompleteError("edgegateway.TriggersDeleteFuture") + err = azure.NewAsyncOpIncompleteError("databoxedge.TriggersDeleteFuture") return } ar.Response = future.Response() @@ -5033,18 +5032,18 @@ func (future *UsersCreateOrUpdateFuture) Result(client UsersClient) (u User, err var done bool done, err = future.DoneWithContext(context.Background(), client) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.UsersCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + err = autorest.NewErrorWithError(err, "databoxedge.UsersCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") return } if !done { - err = azure.NewAsyncOpIncompleteError("edgegateway.UsersCreateOrUpdateFuture") + err = azure.NewAsyncOpIncompleteError("databoxedge.UsersCreateOrUpdateFuture") return } sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) if u.Response.Response, err = future.GetResult(sender); err == nil && u.Response.Response.StatusCode != http.StatusNoContent { u, err = client.CreateOrUpdateResponder(u.Response.Response) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.UsersCreateOrUpdateFuture", "Result", u.Response.Response, "Failure responding to request") + err = autorest.NewErrorWithError(err, "databoxedge.UsersCreateOrUpdateFuture", "Result", u.Response.Response, "Failure responding to request") } } return @@ -5061,11 +5060,11 @@ func (future *UsersDeleteFuture) Result(client UsersClient) (ar autorest.Respons var done bool done, err = future.DoneWithContext(context.Background(), client) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.UsersDeleteFuture", "Result", future.Response(), "Polling failure") + err = autorest.NewErrorWithError(err, "databoxedge.UsersDeleteFuture", "Result", future.Response(), "Polling failure") return } if !done { - err = azure.NewAsyncOpIncompleteError("edgegateway.UsersDeleteFuture") + err = azure.NewAsyncOpIncompleteError("databoxedge.UsersDeleteFuture") return } ar.Response = future.Response() diff --git a/services/edgegateway/mgmt/2019-03-01/edgegateway/operations.go b/services/databoxedge/mgmt/2019-03-01/databoxedge/operations.go similarity index 92% rename from services/edgegateway/mgmt/2019-03-01/edgegateway/operations.go rename to services/databoxedge/mgmt/2019-03-01/databoxedge/operations.go index 4d3b2ca8d3d1..47a0db9e1e81 100644 --- a/services/edgegateway/mgmt/2019-03-01/edgegateway/operations.go +++ b/services/databoxedge/mgmt/2019-03-01/databoxedge/operations.go @@ -1,4 +1,4 @@ -package edgegateway +package databoxedge // Copyright (c) Microsoft and contributors. All rights reserved. // @@ -25,7 +25,7 @@ import ( "net/http" ) -// OperationsClient is the client for the Operations methods of the Edgegateway service. +// OperationsClient is the client for the Operations methods of the Databoxedge service. type OperationsClient struct { BaseClient } @@ -55,20 +55,20 @@ func (client OperationsClient) List(ctx context.Context) (result OperationsListP result.fn = client.listNextResults req, err := client.ListPreparer(ctx) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.OperationsClient", "List", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "databoxedge.OperationsClient", "List", nil, "Failure preparing request") return } resp, err := client.ListSender(req) if err != nil { result.ol.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "edgegateway.OperationsClient", "List", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "databoxedge.OperationsClient", "List", resp, "Failure sending request") return } result.ol, err = client.ListResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.OperationsClient", "List", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "databoxedge.OperationsClient", "List", resp, "Failure responding to request") } return @@ -113,7 +113,7 @@ func (client OperationsClient) ListResponder(resp *http.Response) (result Operat func (client OperationsClient) listNextResults(ctx context.Context, lastResults OperationsList) (result OperationsList, err error) { req, err := lastResults.operationsListPreparer(ctx) if err != nil { - return result, autorest.NewErrorWithError(err, "edgegateway.OperationsClient", "listNextResults", nil, "Failure preparing next results request") + return result, autorest.NewErrorWithError(err, "databoxedge.OperationsClient", "listNextResults", nil, "Failure preparing next results request") } if req == nil { return @@ -121,11 +121,11 @@ func (client OperationsClient) listNextResults(ctx context.Context, lastResults resp, err := client.ListSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "edgegateway.OperationsClient", "listNextResults", resp, "Failure sending next results request") + return result, autorest.NewErrorWithError(err, "databoxedge.OperationsClient", "listNextResults", resp, "Failure sending next results request") } result, err = client.ListResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.OperationsClient", "listNextResults", resp, "Failure responding to next results request") + err = autorest.NewErrorWithError(err, "databoxedge.OperationsClient", "listNextResults", resp, "Failure responding to next results request") } return } diff --git a/services/edgegateway/mgmt/2019-03-01/edgegateway/operationsstatus.go b/services/databoxedge/mgmt/2019-03-01/databoxedge/operationsstatus.go similarity index 94% rename from services/edgegateway/mgmt/2019-03-01/edgegateway/operationsstatus.go rename to services/databoxedge/mgmt/2019-03-01/databoxedge/operationsstatus.go index 17756abdbc54..e08a6177b3cc 100644 --- a/services/edgegateway/mgmt/2019-03-01/edgegateway/operationsstatus.go +++ b/services/databoxedge/mgmt/2019-03-01/databoxedge/operationsstatus.go @@ -1,4 +1,4 @@ -package edgegateway +package databoxedge // Copyright (c) Microsoft and contributors. All rights reserved. // @@ -25,7 +25,7 @@ import ( "net/http" ) -// OperationsStatusClient is the client for the OperationsStatus methods of the Edgegateway service. +// OperationsStatusClient is the client for the OperationsStatus methods of the Databoxedge service. type OperationsStatusClient struct { BaseClient } @@ -58,20 +58,20 @@ func (client OperationsStatusClient) Get(ctx context.Context, deviceName string, } req, err := client.GetPreparer(ctx, deviceName, name, resourceGroupName) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.OperationsStatusClient", "Get", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "databoxedge.OperationsStatusClient", "Get", nil, "Failure preparing request") return } resp, err := client.GetSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "edgegateway.OperationsStatusClient", "Get", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "databoxedge.OperationsStatusClient", "Get", resp, "Failure sending request") return } result, err = client.GetResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.OperationsStatusClient", "Get", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "databoxedge.OperationsStatusClient", "Get", resp, "Failure responding to request") } return diff --git a/services/edgegateway/mgmt/2019-03-01/edgegateway/orders.go b/services/databoxedge/mgmt/2019-03-01/databoxedge/orders.go similarity index 94% rename from services/edgegateway/mgmt/2019-03-01/edgegateway/orders.go rename to services/databoxedge/mgmt/2019-03-01/databoxedge/orders.go index 173333eb4a5c..5b989ab89c2c 100644 --- a/services/edgegateway/mgmt/2019-03-01/edgegateway/orders.go +++ b/services/databoxedge/mgmt/2019-03-01/databoxedge/orders.go @@ -1,4 +1,4 @@ -package edgegateway +package databoxedge // Copyright (c) Microsoft and contributors. All rights reserved. // @@ -26,7 +26,7 @@ import ( "net/http" ) -// OrdersClient is the client for the Orders methods of the Edgegateway service. +// OrdersClient is the client for the Orders methods of the Databoxedge service. type OrdersClient struct { BaseClient } @@ -74,18 +74,18 @@ func (client OrdersClient) CreateOrUpdate(ctx context.Context, deviceName string {Target: "order.OrderProperties.ShippingAddress.Country", Name: validation.Null, Rule: true, Chain: nil}, }}, }}}}}); err != nil { - return result, validation.NewError("edgegateway.OrdersClient", "CreateOrUpdate", err.Error()) + return result, validation.NewError("databoxedge.OrdersClient", "CreateOrUpdate", err.Error()) } req, err := client.CreateOrUpdatePreparer(ctx, deviceName, order, resourceGroupName) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.OrdersClient", "CreateOrUpdate", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "databoxedge.OrdersClient", "CreateOrUpdate", nil, "Failure preparing request") return } result, err = client.CreateOrUpdateSender(req) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.OrdersClient", "CreateOrUpdate", result.Response(), "Failure sending request") + err = autorest.NewErrorWithError(err, "databoxedge.OrdersClient", "CreateOrUpdate", result.Response(), "Failure sending request") return } @@ -158,13 +158,13 @@ func (client OrdersClient) Delete(ctx context.Context, deviceName string, resour } req, err := client.DeletePreparer(ctx, deviceName, resourceGroupName) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.OrdersClient", "Delete", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "databoxedge.OrdersClient", "Delete", nil, "Failure preparing request") return } result, err = client.DeleteSender(req) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.OrdersClient", "Delete", result.Response(), "Failure sending request") + err = autorest.NewErrorWithError(err, "databoxedge.OrdersClient", "Delete", result.Response(), "Failure sending request") return } @@ -234,20 +234,20 @@ func (client OrdersClient) Get(ctx context.Context, deviceName string, resourceG } req, err := client.GetPreparer(ctx, deviceName, resourceGroupName) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.OrdersClient", "Get", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "databoxedge.OrdersClient", "Get", nil, "Failure preparing request") return } resp, err := client.GetSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "edgegateway.OrdersClient", "Get", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "databoxedge.OrdersClient", "Get", resp, "Failure sending request") return } result, err = client.GetResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.OrdersClient", "Get", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "databoxedge.OrdersClient", "Get", resp, "Failure responding to request") } return @@ -312,20 +312,20 @@ func (client OrdersClient) ListByDataBoxEdgeDevice(ctx context.Context, deviceNa result.fn = client.listByDataBoxEdgeDeviceNextResults req, err := client.ListByDataBoxEdgeDevicePreparer(ctx, deviceName, resourceGroupName) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.OrdersClient", "ListByDataBoxEdgeDevice", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "databoxedge.OrdersClient", "ListByDataBoxEdgeDevice", nil, "Failure preparing request") return } resp, err := client.ListByDataBoxEdgeDeviceSender(req) if err != nil { result.ol.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "edgegateway.OrdersClient", "ListByDataBoxEdgeDevice", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "databoxedge.OrdersClient", "ListByDataBoxEdgeDevice", resp, "Failure sending request") return } result.ol, err = client.ListByDataBoxEdgeDeviceResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.OrdersClient", "ListByDataBoxEdgeDevice", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "databoxedge.OrdersClient", "ListByDataBoxEdgeDevice", resp, "Failure responding to request") } return @@ -376,7 +376,7 @@ func (client OrdersClient) ListByDataBoxEdgeDeviceResponder(resp *http.Response) func (client OrdersClient) listByDataBoxEdgeDeviceNextResults(ctx context.Context, lastResults OrderList) (result OrderList, err error) { req, err := lastResults.orderListPreparer(ctx) if err != nil { - return result, autorest.NewErrorWithError(err, "edgegateway.OrdersClient", "listByDataBoxEdgeDeviceNextResults", nil, "Failure preparing next results request") + return result, autorest.NewErrorWithError(err, "databoxedge.OrdersClient", "listByDataBoxEdgeDeviceNextResults", nil, "Failure preparing next results request") } if req == nil { return @@ -384,11 +384,11 @@ func (client OrdersClient) listByDataBoxEdgeDeviceNextResults(ctx context.Contex resp, err := client.ListByDataBoxEdgeDeviceSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "edgegateway.OrdersClient", "listByDataBoxEdgeDeviceNextResults", resp, "Failure sending next results request") + return result, autorest.NewErrorWithError(err, "databoxedge.OrdersClient", "listByDataBoxEdgeDeviceNextResults", resp, "Failure sending next results request") } result, err = client.ListByDataBoxEdgeDeviceResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.OrdersClient", "listByDataBoxEdgeDeviceNextResults", resp, "Failure responding to next results request") + err = autorest.NewErrorWithError(err, "databoxedge.OrdersClient", "listByDataBoxEdgeDeviceNextResults", resp, "Failure responding to next results request") } return } diff --git a/services/edgegateway/mgmt/2019-03-01/edgegateway/roles.go b/services/databoxedge/mgmt/2019-03-01/databoxedge/roles.go similarity index 94% rename from services/edgegateway/mgmt/2019-03-01/edgegateway/roles.go rename to services/databoxedge/mgmt/2019-03-01/databoxedge/roles.go index e6ed68296867..5324a10c4a75 100644 --- a/services/edgegateway/mgmt/2019-03-01/edgegateway/roles.go +++ b/services/databoxedge/mgmt/2019-03-01/databoxedge/roles.go @@ -1,4 +1,4 @@ -package edgegateway +package databoxedge // Copyright (c) Microsoft and contributors. All rights reserved. // @@ -25,7 +25,7 @@ import ( "net/http" ) -// RolesClient is the client for the Roles methods of the Edgegateway service. +// RolesClient is the client for the Roles methods of the Databoxedge service. type RolesClient struct { BaseClient } @@ -59,13 +59,13 @@ func (client RolesClient) CreateOrUpdate(ctx context.Context, deviceName string, } req, err := client.CreateOrUpdatePreparer(ctx, deviceName, name, role, resourceGroupName) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.RolesClient", "CreateOrUpdate", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "databoxedge.RolesClient", "CreateOrUpdate", nil, "Failure preparing request") return } result, err = client.CreateOrUpdateSender(req) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.RolesClient", "CreateOrUpdate", result.Response(), "Failure sending request") + err = autorest.NewErrorWithError(err, "databoxedge.RolesClient", "CreateOrUpdate", result.Response(), "Failure sending request") return } @@ -140,13 +140,13 @@ func (client RolesClient) Delete(ctx context.Context, deviceName string, name st } req, err := client.DeletePreparer(ctx, deviceName, name, resourceGroupName) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.RolesClient", "Delete", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "databoxedge.RolesClient", "Delete", nil, "Failure preparing request") return } result, err = client.DeleteSender(req) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.RolesClient", "Delete", result.Response(), "Failure sending request") + err = autorest.NewErrorWithError(err, "databoxedge.RolesClient", "Delete", result.Response(), "Failure sending request") return } @@ -218,20 +218,20 @@ func (client RolesClient) Get(ctx context.Context, deviceName string, name strin } req, err := client.GetPreparer(ctx, deviceName, name, resourceGroupName) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.RolesClient", "Get", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "databoxedge.RolesClient", "Get", nil, "Failure preparing request") return } resp, err := client.GetSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "edgegateway.RolesClient", "Get", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "databoxedge.RolesClient", "Get", resp, "Failure sending request") return } result, err = client.GetResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.RolesClient", "Get", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "databoxedge.RolesClient", "Get", resp, "Failure responding to request") } return @@ -297,20 +297,20 @@ func (client RolesClient) ListByDataBoxEdgeDevice(ctx context.Context, deviceNam result.fn = client.listByDataBoxEdgeDeviceNextResults req, err := client.ListByDataBoxEdgeDevicePreparer(ctx, deviceName, resourceGroupName) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.RolesClient", "ListByDataBoxEdgeDevice", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "databoxedge.RolesClient", "ListByDataBoxEdgeDevice", nil, "Failure preparing request") return } resp, err := client.ListByDataBoxEdgeDeviceSender(req) if err != nil { result.rl.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "edgegateway.RolesClient", "ListByDataBoxEdgeDevice", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "databoxedge.RolesClient", "ListByDataBoxEdgeDevice", resp, "Failure sending request") return } result.rl, err = client.ListByDataBoxEdgeDeviceResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.RolesClient", "ListByDataBoxEdgeDevice", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "databoxedge.RolesClient", "ListByDataBoxEdgeDevice", resp, "Failure responding to request") } return @@ -361,7 +361,7 @@ func (client RolesClient) ListByDataBoxEdgeDeviceResponder(resp *http.Response) func (client RolesClient) listByDataBoxEdgeDeviceNextResults(ctx context.Context, lastResults RoleList) (result RoleList, err error) { req, err := lastResults.roleListPreparer(ctx) if err != nil { - return result, autorest.NewErrorWithError(err, "edgegateway.RolesClient", "listByDataBoxEdgeDeviceNextResults", nil, "Failure preparing next results request") + return result, autorest.NewErrorWithError(err, "databoxedge.RolesClient", "listByDataBoxEdgeDeviceNextResults", nil, "Failure preparing next results request") } if req == nil { return @@ -369,11 +369,11 @@ func (client RolesClient) listByDataBoxEdgeDeviceNextResults(ctx context.Context resp, err := client.ListByDataBoxEdgeDeviceSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "edgegateway.RolesClient", "listByDataBoxEdgeDeviceNextResults", resp, "Failure sending next results request") + return result, autorest.NewErrorWithError(err, "databoxedge.RolesClient", "listByDataBoxEdgeDeviceNextResults", resp, "Failure sending next results request") } result, err = client.ListByDataBoxEdgeDeviceResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.RolesClient", "listByDataBoxEdgeDeviceNextResults", resp, "Failure responding to next results request") + err = autorest.NewErrorWithError(err, "databoxedge.RolesClient", "listByDataBoxEdgeDeviceNextResults", resp, "Failure responding to next results request") } return } diff --git a/services/edgegateway/mgmt/2019-03-01/edgegateway/shares.go b/services/databoxedge/mgmt/2019-03-01/databoxedge/shares.go similarity index 94% rename from services/edgegateway/mgmt/2019-03-01/edgegateway/shares.go rename to services/databoxedge/mgmt/2019-03-01/databoxedge/shares.go index 77d253b7072f..04dc7f8e4157 100644 --- a/services/edgegateway/mgmt/2019-03-01/edgegateway/shares.go +++ b/services/databoxedge/mgmt/2019-03-01/databoxedge/shares.go @@ -1,4 +1,4 @@ -package edgegateway +package databoxedge // Copyright (c) Microsoft and contributors. All rights reserved. // @@ -26,7 +26,7 @@ import ( "net/http" ) -// SharesClient is the client for the Shares methods of the Edgegateway service. +// SharesClient is the client for the Shares methods of the Databoxedge service. type SharesClient struct { BaseClient } @@ -66,18 +66,18 @@ func (client SharesClient) CreateOrUpdate(ctx context.Context, deviceName string {Target: "share.ShareProperties.AzureContainerInfo.ContainerName", Name: validation.Null, Rule: true, Chain: nil}, }}, }}}}}); err != nil { - return result, validation.NewError("edgegateway.SharesClient", "CreateOrUpdate", err.Error()) + return result, validation.NewError("databoxedge.SharesClient", "CreateOrUpdate", err.Error()) } req, err := client.CreateOrUpdatePreparer(ctx, deviceName, name, share, resourceGroupName) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.SharesClient", "CreateOrUpdate", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "databoxedge.SharesClient", "CreateOrUpdate", nil, "Failure preparing request") return } result, err = client.CreateOrUpdateSender(req) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.SharesClient", "CreateOrUpdate", result.Response(), "Failure sending request") + err = autorest.NewErrorWithError(err, "databoxedge.SharesClient", "CreateOrUpdate", result.Response(), "Failure sending request") return } @@ -152,13 +152,13 @@ func (client SharesClient) Delete(ctx context.Context, deviceName string, name s } req, err := client.DeletePreparer(ctx, deviceName, name, resourceGroupName) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.SharesClient", "Delete", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "databoxedge.SharesClient", "Delete", nil, "Failure preparing request") return } result, err = client.DeleteSender(req) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.SharesClient", "Delete", result.Response(), "Failure sending request") + err = autorest.NewErrorWithError(err, "databoxedge.SharesClient", "Delete", result.Response(), "Failure sending request") return } @@ -230,20 +230,20 @@ func (client SharesClient) Get(ctx context.Context, deviceName string, name stri } req, err := client.GetPreparer(ctx, deviceName, name, resourceGroupName) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.SharesClient", "Get", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "databoxedge.SharesClient", "Get", nil, "Failure preparing request") return } resp, err := client.GetSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "edgegateway.SharesClient", "Get", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "databoxedge.SharesClient", "Get", resp, "Failure sending request") return } result, err = client.GetResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.SharesClient", "Get", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "databoxedge.SharesClient", "Get", resp, "Failure responding to request") } return @@ -309,20 +309,20 @@ func (client SharesClient) ListByDataBoxEdgeDevice(ctx context.Context, deviceNa result.fn = client.listByDataBoxEdgeDeviceNextResults req, err := client.ListByDataBoxEdgeDevicePreparer(ctx, deviceName, resourceGroupName) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.SharesClient", "ListByDataBoxEdgeDevice", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "databoxedge.SharesClient", "ListByDataBoxEdgeDevice", nil, "Failure preparing request") return } resp, err := client.ListByDataBoxEdgeDeviceSender(req) if err != nil { result.sl.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "edgegateway.SharesClient", "ListByDataBoxEdgeDevice", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "databoxedge.SharesClient", "ListByDataBoxEdgeDevice", resp, "Failure sending request") return } result.sl, err = client.ListByDataBoxEdgeDeviceResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.SharesClient", "ListByDataBoxEdgeDevice", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "databoxedge.SharesClient", "ListByDataBoxEdgeDevice", resp, "Failure responding to request") } return @@ -373,7 +373,7 @@ func (client SharesClient) ListByDataBoxEdgeDeviceResponder(resp *http.Response) func (client SharesClient) listByDataBoxEdgeDeviceNextResults(ctx context.Context, lastResults ShareList) (result ShareList, err error) { req, err := lastResults.shareListPreparer(ctx) if err != nil { - return result, autorest.NewErrorWithError(err, "edgegateway.SharesClient", "listByDataBoxEdgeDeviceNextResults", nil, "Failure preparing next results request") + return result, autorest.NewErrorWithError(err, "databoxedge.SharesClient", "listByDataBoxEdgeDeviceNextResults", nil, "Failure preparing next results request") } if req == nil { return @@ -381,11 +381,11 @@ func (client SharesClient) listByDataBoxEdgeDeviceNextResults(ctx context.Contex resp, err := client.ListByDataBoxEdgeDeviceSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "edgegateway.SharesClient", "listByDataBoxEdgeDeviceNextResults", resp, "Failure sending next results request") + return result, autorest.NewErrorWithError(err, "databoxedge.SharesClient", "listByDataBoxEdgeDeviceNextResults", resp, "Failure sending next results request") } result, err = client.ListByDataBoxEdgeDeviceResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.SharesClient", "listByDataBoxEdgeDeviceNextResults", resp, "Failure responding to next results request") + err = autorest.NewErrorWithError(err, "databoxedge.SharesClient", "listByDataBoxEdgeDeviceNextResults", resp, "Failure responding to next results request") } return } @@ -424,13 +424,13 @@ func (client SharesClient) Refresh(ctx context.Context, deviceName string, name } req, err := client.RefreshPreparer(ctx, deviceName, name, resourceGroupName) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.SharesClient", "Refresh", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "databoxedge.SharesClient", "Refresh", nil, "Failure preparing request") return } result, err = client.RefreshSender(req) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.SharesClient", "Refresh", result.Response(), "Failure sending request") + err = autorest.NewErrorWithError(err, "databoxedge.SharesClient", "Refresh", result.Response(), "Failure sending request") return } diff --git a/services/edgegateway/mgmt/2019-03-01/edgegateway/storageaccountcredentials.go b/services/databoxedge/mgmt/2019-03-01/databoxedge/storageaccountcredentials.go similarity index 94% rename from services/edgegateway/mgmt/2019-03-01/edgegateway/storageaccountcredentials.go rename to services/databoxedge/mgmt/2019-03-01/databoxedge/storageaccountcredentials.go index a0795c0d522b..4eb785135af9 100644 --- a/services/edgegateway/mgmt/2019-03-01/edgegateway/storageaccountcredentials.go +++ b/services/databoxedge/mgmt/2019-03-01/databoxedge/storageaccountcredentials.go @@ -1,4 +1,4 @@ -package edgegateway +package databoxedge // Copyright (c) Microsoft and contributors. All rights reserved. // @@ -26,7 +26,7 @@ import ( "net/http" ) -// StorageAccountCredentialsClient is the client for the StorageAccountCredentials methods of the Edgegateway service. +// StorageAccountCredentialsClient is the client for the StorageAccountCredentials methods of the Databoxedge service. type StorageAccountCredentialsClient struct { BaseClient } @@ -65,18 +65,18 @@ func (client StorageAccountCredentialsClient) CreateOrUpdate(ctx context.Context {Target: "storageAccountCredential.StorageAccountCredentialProperties.AccountKey", Name: validation.Null, Rule: false, Chain: []validation.Constraint{{Target: "storageAccountCredential.StorageAccountCredentialProperties.AccountKey.Value", Name: validation.Null, Rule: true, Chain: nil}}}, }}}}}); err != nil { - return result, validation.NewError("edgegateway.StorageAccountCredentialsClient", "CreateOrUpdate", err.Error()) + return result, validation.NewError("databoxedge.StorageAccountCredentialsClient", "CreateOrUpdate", err.Error()) } req, err := client.CreateOrUpdatePreparer(ctx, deviceName, name, storageAccountCredential, resourceGroupName) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.StorageAccountCredentialsClient", "CreateOrUpdate", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "databoxedge.StorageAccountCredentialsClient", "CreateOrUpdate", nil, "Failure preparing request") return } result, err = client.CreateOrUpdateSender(req) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.StorageAccountCredentialsClient", "CreateOrUpdate", result.Response(), "Failure sending request") + err = autorest.NewErrorWithError(err, "databoxedge.StorageAccountCredentialsClient", "CreateOrUpdate", result.Response(), "Failure sending request") return } @@ -151,13 +151,13 @@ func (client StorageAccountCredentialsClient) Delete(ctx context.Context, device } req, err := client.DeletePreparer(ctx, deviceName, name, resourceGroupName) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.StorageAccountCredentialsClient", "Delete", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "databoxedge.StorageAccountCredentialsClient", "Delete", nil, "Failure preparing request") return } result, err = client.DeleteSender(req) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.StorageAccountCredentialsClient", "Delete", result.Response(), "Failure sending request") + err = autorest.NewErrorWithError(err, "databoxedge.StorageAccountCredentialsClient", "Delete", result.Response(), "Failure sending request") return } @@ -229,20 +229,20 @@ func (client StorageAccountCredentialsClient) Get(ctx context.Context, deviceNam } req, err := client.GetPreparer(ctx, deviceName, name, resourceGroupName) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.StorageAccountCredentialsClient", "Get", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "databoxedge.StorageAccountCredentialsClient", "Get", nil, "Failure preparing request") return } resp, err := client.GetSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "edgegateway.StorageAccountCredentialsClient", "Get", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "databoxedge.StorageAccountCredentialsClient", "Get", resp, "Failure sending request") return } result, err = client.GetResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.StorageAccountCredentialsClient", "Get", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "databoxedge.StorageAccountCredentialsClient", "Get", resp, "Failure responding to request") } return @@ -308,20 +308,20 @@ func (client StorageAccountCredentialsClient) ListByDataBoxEdgeDevice(ctx contex result.fn = client.listByDataBoxEdgeDeviceNextResults req, err := client.ListByDataBoxEdgeDevicePreparer(ctx, deviceName, resourceGroupName) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.StorageAccountCredentialsClient", "ListByDataBoxEdgeDevice", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "databoxedge.StorageAccountCredentialsClient", "ListByDataBoxEdgeDevice", nil, "Failure preparing request") return } resp, err := client.ListByDataBoxEdgeDeviceSender(req) if err != nil { result.sacl.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "edgegateway.StorageAccountCredentialsClient", "ListByDataBoxEdgeDevice", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "databoxedge.StorageAccountCredentialsClient", "ListByDataBoxEdgeDevice", resp, "Failure sending request") return } result.sacl, err = client.ListByDataBoxEdgeDeviceResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.StorageAccountCredentialsClient", "ListByDataBoxEdgeDevice", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "databoxedge.StorageAccountCredentialsClient", "ListByDataBoxEdgeDevice", resp, "Failure responding to request") } return @@ -372,7 +372,7 @@ func (client StorageAccountCredentialsClient) ListByDataBoxEdgeDeviceResponder(r func (client StorageAccountCredentialsClient) listByDataBoxEdgeDeviceNextResults(ctx context.Context, lastResults StorageAccountCredentialList) (result StorageAccountCredentialList, err error) { req, err := lastResults.storageAccountCredentialListPreparer(ctx) if err != nil { - return result, autorest.NewErrorWithError(err, "edgegateway.StorageAccountCredentialsClient", "listByDataBoxEdgeDeviceNextResults", nil, "Failure preparing next results request") + return result, autorest.NewErrorWithError(err, "databoxedge.StorageAccountCredentialsClient", "listByDataBoxEdgeDeviceNextResults", nil, "Failure preparing next results request") } if req == nil { return @@ -380,11 +380,11 @@ func (client StorageAccountCredentialsClient) listByDataBoxEdgeDeviceNextResults resp, err := client.ListByDataBoxEdgeDeviceSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "edgegateway.StorageAccountCredentialsClient", "listByDataBoxEdgeDeviceNextResults", resp, "Failure sending next results request") + return result, autorest.NewErrorWithError(err, "databoxedge.StorageAccountCredentialsClient", "listByDataBoxEdgeDeviceNextResults", resp, "Failure sending next results request") } result, err = client.ListByDataBoxEdgeDeviceResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.StorageAccountCredentialsClient", "listByDataBoxEdgeDeviceNextResults", resp, "Failure responding to next results request") + err = autorest.NewErrorWithError(err, "databoxedge.StorageAccountCredentialsClient", "listByDataBoxEdgeDeviceNextResults", resp, "Failure responding to next results request") } return } diff --git a/services/edgegateway/mgmt/2019-03-01/edgegateway/triggers.go b/services/databoxedge/mgmt/2019-03-01/databoxedge/triggers.go similarity index 94% rename from services/edgegateway/mgmt/2019-03-01/edgegateway/triggers.go rename to services/databoxedge/mgmt/2019-03-01/databoxedge/triggers.go index dd1db1e80166..47ab4172d287 100644 --- a/services/edgegateway/mgmt/2019-03-01/edgegateway/triggers.go +++ b/services/databoxedge/mgmt/2019-03-01/databoxedge/triggers.go @@ -1,4 +1,4 @@ -package edgegateway +package databoxedge // Copyright (c) Microsoft and contributors. All rights reserved. // @@ -25,7 +25,7 @@ import ( "net/http" ) -// TriggersClient is the client for the Triggers methods of the Edgegateway service. +// TriggersClient is the client for the Triggers methods of the Databoxedge service. type TriggersClient struct { BaseClient } @@ -59,13 +59,13 @@ func (client TriggersClient) CreateOrUpdate(ctx context.Context, deviceName stri } req, err := client.CreateOrUpdatePreparer(ctx, deviceName, name, trigger, resourceGroupName) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.TriggersClient", "CreateOrUpdate", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "databoxedge.TriggersClient", "CreateOrUpdate", nil, "Failure preparing request") return } result, err = client.CreateOrUpdateSender(req) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.TriggersClient", "CreateOrUpdate", result.Response(), "Failure sending request") + err = autorest.NewErrorWithError(err, "databoxedge.TriggersClient", "CreateOrUpdate", result.Response(), "Failure sending request") return } @@ -140,13 +140,13 @@ func (client TriggersClient) Delete(ctx context.Context, deviceName string, name } req, err := client.DeletePreparer(ctx, deviceName, name, resourceGroupName) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.TriggersClient", "Delete", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "databoxedge.TriggersClient", "Delete", nil, "Failure preparing request") return } result, err = client.DeleteSender(req) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.TriggersClient", "Delete", result.Response(), "Failure sending request") + err = autorest.NewErrorWithError(err, "databoxedge.TriggersClient", "Delete", result.Response(), "Failure sending request") return } @@ -218,20 +218,20 @@ func (client TriggersClient) Get(ctx context.Context, deviceName string, name st } req, err := client.GetPreparer(ctx, deviceName, name, resourceGroupName) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.TriggersClient", "Get", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "databoxedge.TriggersClient", "Get", nil, "Failure preparing request") return } resp, err := client.GetSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "edgegateway.TriggersClient", "Get", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "databoxedge.TriggersClient", "Get", resp, "Failure sending request") return } result, err = client.GetResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.TriggersClient", "Get", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "databoxedge.TriggersClient", "Get", resp, "Failure responding to request") } return @@ -298,20 +298,20 @@ func (client TriggersClient) ListByDataBoxEdgeDevice(ctx context.Context, device result.fn = client.listByDataBoxEdgeDeviceNextResults req, err := client.ListByDataBoxEdgeDevicePreparer(ctx, deviceName, resourceGroupName, expand) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.TriggersClient", "ListByDataBoxEdgeDevice", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "databoxedge.TriggersClient", "ListByDataBoxEdgeDevice", nil, "Failure preparing request") return } resp, err := client.ListByDataBoxEdgeDeviceSender(req) if err != nil { result.tl.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "edgegateway.TriggersClient", "ListByDataBoxEdgeDevice", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "databoxedge.TriggersClient", "ListByDataBoxEdgeDevice", resp, "Failure sending request") return } result.tl, err = client.ListByDataBoxEdgeDeviceResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.TriggersClient", "ListByDataBoxEdgeDevice", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "databoxedge.TriggersClient", "ListByDataBoxEdgeDevice", resp, "Failure responding to request") } return @@ -365,7 +365,7 @@ func (client TriggersClient) ListByDataBoxEdgeDeviceResponder(resp *http.Respons func (client TriggersClient) listByDataBoxEdgeDeviceNextResults(ctx context.Context, lastResults TriggerList) (result TriggerList, err error) { req, err := lastResults.triggerListPreparer(ctx) if err != nil { - return result, autorest.NewErrorWithError(err, "edgegateway.TriggersClient", "listByDataBoxEdgeDeviceNextResults", nil, "Failure preparing next results request") + return result, autorest.NewErrorWithError(err, "databoxedge.TriggersClient", "listByDataBoxEdgeDeviceNextResults", nil, "Failure preparing next results request") } if req == nil { return @@ -373,11 +373,11 @@ func (client TriggersClient) listByDataBoxEdgeDeviceNextResults(ctx context.Cont resp, err := client.ListByDataBoxEdgeDeviceSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "edgegateway.TriggersClient", "listByDataBoxEdgeDeviceNextResults", resp, "Failure sending next results request") + return result, autorest.NewErrorWithError(err, "databoxedge.TriggersClient", "listByDataBoxEdgeDeviceNextResults", resp, "Failure sending next results request") } result, err = client.ListByDataBoxEdgeDeviceResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.TriggersClient", "listByDataBoxEdgeDeviceNextResults", resp, "Failure responding to next results request") + err = autorest.NewErrorWithError(err, "databoxedge.TriggersClient", "listByDataBoxEdgeDeviceNextResults", resp, "Failure responding to next results request") } return } diff --git a/services/edgegateway/mgmt/2019-03-01/edgegateway/users.go b/services/databoxedge/mgmt/2019-03-01/databoxedge/users.go similarity index 93% rename from services/edgegateway/mgmt/2019-03-01/edgegateway/users.go rename to services/databoxedge/mgmt/2019-03-01/databoxedge/users.go index 16c4acc13078..7fba6cb567c2 100644 --- a/services/edgegateway/mgmt/2019-03-01/edgegateway/users.go +++ b/services/databoxedge/mgmt/2019-03-01/databoxedge/users.go @@ -1,4 +1,4 @@ -package edgegateway +package databoxedge // Copyright (c) Microsoft and contributors. All rights reserved. // @@ -26,7 +26,7 @@ import ( "net/http" ) -// UsersClient is the client for the Users methods of the Edgegateway service. +// UsersClient is the client for the Users methods of the Databoxedge service. type UsersClient struct { BaseClient } @@ -64,18 +64,18 @@ func (client UsersClient) CreateOrUpdate(ctx context.Context, deviceName string, Chain: []validation.Constraint{{Target: "userParameter.UserProperties.EncryptedPassword", Name: validation.Null, Rule: false, Chain: []validation.Constraint{{Target: "userParameter.UserProperties.EncryptedPassword.Value", Name: validation.Null, Rule: true, Chain: nil}}}, }}}}}); err != nil { - return result, validation.NewError("edgegateway.UsersClient", "CreateOrUpdate", err.Error()) + return result, validation.NewError("databoxedge.UsersClient", "CreateOrUpdate", err.Error()) } req, err := client.CreateOrUpdatePreparer(ctx, deviceName, name, userParameter, resourceGroupName) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.UsersClient", "CreateOrUpdate", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "databoxedge.UsersClient", "CreateOrUpdate", nil, "Failure preparing request") return } result, err = client.CreateOrUpdateSender(req) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.UsersClient", "CreateOrUpdate", result.Response(), "Failure sending request") + err = autorest.NewErrorWithError(err, "databoxedge.UsersClient", "CreateOrUpdate", result.Response(), "Failure sending request") return } @@ -150,13 +150,13 @@ func (client UsersClient) Delete(ctx context.Context, deviceName string, name st } req, err := client.DeletePreparer(ctx, deviceName, name, resourceGroupName) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.UsersClient", "Delete", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "databoxedge.UsersClient", "Delete", nil, "Failure preparing request") return } result, err = client.DeleteSender(req) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.UsersClient", "Delete", result.Response(), "Failure sending request") + err = autorest.NewErrorWithError(err, "databoxedge.UsersClient", "Delete", result.Response(), "Failure sending request") return } @@ -228,20 +228,20 @@ func (client UsersClient) Get(ctx context.Context, deviceName string, name strin } req, err := client.GetPreparer(ctx, deviceName, name, resourceGroupName) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.UsersClient", "Get", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "databoxedge.UsersClient", "Get", nil, "Failure preparing request") return } resp, err := client.GetSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "edgegateway.UsersClient", "Get", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "databoxedge.UsersClient", "Get", resp, "Failure sending request") return } result, err = client.GetResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.UsersClient", "Get", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "databoxedge.UsersClient", "Get", resp, "Failure responding to request") } return @@ -307,20 +307,20 @@ func (client UsersClient) ListByDataBoxEdgeDevice(ctx context.Context, deviceNam result.fn = client.listByDataBoxEdgeDeviceNextResults req, err := client.ListByDataBoxEdgeDevicePreparer(ctx, deviceName, resourceGroupName) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.UsersClient", "ListByDataBoxEdgeDevice", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "databoxedge.UsersClient", "ListByDataBoxEdgeDevice", nil, "Failure preparing request") return } resp, err := client.ListByDataBoxEdgeDeviceSender(req) if err != nil { result.ul.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "edgegateway.UsersClient", "ListByDataBoxEdgeDevice", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "databoxedge.UsersClient", "ListByDataBoxEdgeDevice", resp, "Failure sending request") return } result.ul, err = client.ListByDataBoxEdgeDeviceResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.UsersClient", "ListByDataBoxEdgeDevice", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "databoxedge.UsersClient", "ListByDataBoxEdgeDevice", resp, "Failure responding to request") } return @@ -371,7 +371,7 @@ func (client UsersClient) ListByDataBoxEdgeDeviceResponder(resp *http.Response) func (client UsersClient) listByDataBoxEdgeDeviceNextResults(ctx context.Context, lastResults UserList) (result UserList, err error) { req, err := lastResults.userListPreparer(ctx) if err != nil { - return result, autorest.NewErrorWithError(err, "edgegateway.UsersClient", "listByDataBoxEdgeDeviceNextResults", nil, "Failure preparing next results request") + return result, autorest.NewErrorWithError(err, "databoxedge.UsersClient", "listByDataBoxEdgeDeviceNextResults", nil, "Failure preparing next results request") } if req == nil { return @@ -379,11 +379,11 @@ func (client UsersClient) listByDataBoxEdgeDeviceNextResults(ctx context.Context resp, err := client.ListByDataBoxEdgeDeviceSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "edgegateway.UsersClient", "listByDataBoxEdgeDeviceNextResults", resp, "Failure sending next results request") + return result, autorest.NewErrorWithError(err, "databoxedge.UsersClient", "listByDataBoxEdgeDeviceNextResults", resp, "Failure sending next results request") } result, err = client.ListByDataBoxEdgeDeviceResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "edgegateway.UsersClient", "listByDataBoxEdgeDeviceNextResults", resp, "Failure responding to next results request") + err = autorest.NewErrorWithError(err, "databoxedge.UsersClient", "listByDataBoxEdgeDeviceNextResults", resp, "Failure responding to next results request") } return } diff --git a/services/edgegateway/mgmt/2019-03-01/edgegateway/version.go b/services/databoxedge/mgmt/2019-03-01/databoxedge/version.go similarity index 92% rename from services/edgegateway/mgmt/2019-03-01/edgegateway/version.go rename to services/databoxedge/mgmt/2019-03-01/databoxedge/version.go index fbcb4e3dff98..b390cf60a53e 100644 --- a/services/edgegateway/mgmt/2019-03-01/edgegateway/version.go +++ b/services/databoxedge/mgmt/2019-03-01/databoxedge/version.go @@ -1,4 +1,4 @@ -package edgegateway +package databoxedge import "github.com/Azure/azure-sdk-for-go/version" @@ -21,7 +21,7 @@ import "github.com/Azure/azure-sdk-for-go/version" // UserAgent returns the UserAgent string to use when sending http.Requests. func UserAgent() string { - return "Azure-SDK-For-Go/" + version.Number + " edgegateway/2019-03-01" + return "Azure-SDK-For-Go/" + version.Number + " databoxedge/2019-03-01" } // Version returns the semantic version (see http://semver.org) of the client. diff --git a/services/databoxedge/mgmt/2019-07-01/databoxedge/alerts.go b/services/databoxedge/mgmt/2019-07-01/databoxedge/alerts.go new file mode 100644 index 000000000000..942ea572ba27 --- /dev/null +++ b/services/databoxedge/mgmt/2019-07-01/databoxedge/alerts.go @@ -0,0 +1,235 @@ +package databoxedge + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// AlertsClient is the client for the Alerts methods of the Databoxedge service. +type AlertsClient struct { + BaseClient +} + +// NewAlertsClient creates an instance of the AlertsClient client. +func NewAlertsClient(subscriptionID string) AlertsClient { + return NewAlertsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewAlertsClientWithBaseURI creates an instance of the AlertsClient client. +func NewAlertsClientWithBaseURI(baseURI string, subscriptionID string) AlertsClient { + return AlertsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// Get sends the get request. +// Parameters: +// deviceName - the device name. +// name - the alert name. +// resourceGroupName - the resource group name. +func (client AlertsClient) Get(ctx context.Context, deviceName string, name string, resourceGroupName string) (result Alert, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AlertsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, deviceName, name, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.AlertsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "databoxedge.AlertsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.AlertsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client AlertsClient) GetPreparer(ctx context.Context, deviceName string, name string, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "deviceName": autorest.Encode("path", deviceName), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/alerts/{name}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client AlertsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client AlertsClient) GetResponder(resp *http.Response) (result Alert, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByDataBoxEdgeDevice gets all the alerts for a Data Box Edge/Data Box Gateway device. +// Parameters: +// deviceName - the device name. +// resourceGroupName - the resource group name. +func (client AlertsClient) ListByDataBoxEdgeDevice(ctx context.Context, deviceName string, resourceGroupName string) (result AlertListPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AlertsClient.ListByDataBoxEdgeDevice") + defer func() { + sc := -1 + if result.al.Response.Response != nil { + sc = result.al.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listByDataBoxEdgeDeviceNextResults + req, err := client.ListByDataBoxEdgeDevicePreparer(ctx, deviceName, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.AlertsClient", "ListByDataBoxEdgeDevice", nil, "Failure preparing request") + return + } + + resp, err := client.ListByDataBoxEdgeDeviceSender(req) + if err != nil { + result.al.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "databoxedge.AlertsClient", "ListByDataBoxEdgeDevice", resp, "Failure sending request") + return + } + + result.al, err = client.ListByDataBoxEdgeDeviceResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.AlertsClient", "ListByDataBoxEdgeDevice", resp, "Failure responding to request") + } + + return +} + +// ListByDataBoxEdgeDevicePreparer prepares the ListByDataBoxEdgeDevice request. +func (client AlertsClient) ListByDataBoxEdgeDevicePreparer(ctx context.Context, deviceName string, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "deviceName": autorest.Encode("path", deviceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/alerts", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByDataBoxEdgeDeviceSender sends the ListByDataBoxEdgeDevice request. The method will close the +// http.Response Body if it receives an error. +func (client AlertsClient) ListByDataBoxEdgeDeviceSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByDataBoxEdgeDeviceResponder handles the response to the ListByDataBoxEdgeDevice request. The method always +// closes the http.Response Body. +func (client AlertsClient) ListByDataBoxEdgeDeviceResponder(resp *http.Response) (result AlertList, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listByDataBoxEdgeDeviceNextResults retrieves the next set of results, if any. +func (client AlertsClient) listByDataBoxEdgeDeviceNextResults(ctx context.Context, lastResults AlertList) (result AlertList, err error) { + req, err := lastResults.alertListPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "databoxedge.AlertsClient", "listByDataBoxEdgeDeviceNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListByDataBoxEdgeDeviceSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "databoxedge.AlertsClient", "listByDataBoxEdgeDeviceNextResults", resp, "Failure sending next results request") + } + result, err = client.ListByDataBoxEdgeDeviceResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.AlertsClient", "listByDataBoxEdgeDeviceNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListByDataBoxEdgeDeviceComplete enumerates all values, automatically crossing page boundaries as required. +func (client AlertsClient) ListByDataBoxEdgeDeviceComplete(ctx context.Context, deviceName string, resourceGroupName string) (result AlertListIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AlertsClient.ListByDataBoxEdgeDevice") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListByDataBoxEdgeDevice(ctx, deviceName, resourceGroupName) + return +} diff --git a/services/databoxedge/mgmt/2019-07-01/databoxedge/bandwidthschedules.go b/services/databoxedge/mgmt/2019-07-01/databoxedge/bandwidthschedules.go new file mode 100644 index 000000000000..8224612fd704 --- /dev/null +++ b/services/databoxedge/mgmt/2019-07-01/databoxedge/bandwidthschedules.go @@ -0,0 +1,407 @@ +package databoxedge + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// BandwidthSchedulesClient is the client for the BandwidthSchedules methods of the Databoxedge service. +type BandwidthSchedulesClient struct { + BaseClient +} + +// NewBandwidthSchedulesClient creates an instance of the BandwidthSchedulesClient client. +func NewBandwidthSchedulesClient(subscriptionID string) BandwidthSchedulesClient { + return NewBandwidthSchedulesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewBandwidthSchedulesClientWithBaseURI creates an instance of the BandwidthSchedulesClient client. +func NewBandwidthSchedulesClientWithBaseURI(baseURI string, subscriptionID string) BandwidthSchedulesClient { + return BandwidthSchedulesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates a bandwidth schedule. +// Parameters: +// deviceName - the device name. +// name - the bandwidth schedule name which needs to be added/updated. +// parameters - the bandwidth schedule to be added or updated. +// resourceGroupName - the resource group name. +func (client BandwidthSchedulesClient) CreateOrUpdate(ctx context.Context, deviceName string, name string, parameters BandwidthSchedule, resourceGroupName string) (result BandwidthSchedulesCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BandwidthSchedulesClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.BandwidthScheduleProperties", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "parameters.BandwidthScheduleProperties.Start", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "parameters.BandwidthScheduleProperties.Stop", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "parameters.BandwidthScheduleProperties.RateInMbps", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "parameters.BandwidthScheduleProperties.Days", Name: validation.Null, Rule: true, Chain: nil}, + }}}}}); err != nil { + return result, validation.NewError("databoxedge.BandwidthSchedulesClient", "CreateOrUpdate", err.Error()) + } + + req, err := client.CreateOrUpdatePreparer(ctx, deviceName, name, parameters, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.BandwidthSchedulesClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.BandwidthSchedulesClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client BandwidthSchedulesClient) CreateOrUpdatePreparer(ctx context.Context, deviceName string, name string, parameters BandwidthSchedule, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "deviceName": autorest.Encode("path", deviceName), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/bandwidthSchedules/{name}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client BandwidthSchedulesClient) CreateOrUpdateSender(req *http.Request) (future BandwidthSchedulesCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client BandwidthSchedulesClient) CreateOrUpdateResponder(resp *http.Response) (result BandwidthSchedule, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the specified bandwidth schedule. +// Parameters: +// deviceName - the device name. +// name - the bandwidth schedule name. +// resourceGroupName - the resource group name. +func (client BandwidthSchedulesClient) Delete(ctx context.Context, deviceName string, name string, resourceGroupName string) (result BandwidthSchedulesDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BandwidthSchedulesClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, deviceName, name, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.BandwidthSchedulesClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.BandwidthSchedulesClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client BandwidthSchedulesClient) DeletePreparer(ctx context.Context, deviceName string, name string, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "deviceName": autorest.Encode("path", deviceName), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/bandwidthSchedules/{name}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client BandwidthSchedulesClient) DeleteSender(req *http.Request) (future BandwidthSchedulesDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client BandwidthSchedulesClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets the properties of the specified bandwidth schedule. +// Parameters: +// deviceName - the device name. +// name - the bandwidth schedule name. +// resourceGroupName - the resource group name. +func (client BandwidthSchedulesClient) Get(ctx context.Context, deviceName string, name string, resourceGroupName string) (result BandwidthSchedule, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BandwidthSchedulesClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, deviceName, name, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.BandwidthSchedulesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "databoxedge.BandwidthSchedulesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.BandwidthSchedulesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client BandwidthSchedulesClient) GetPreparer(ctx context.Context, deviceName string, name string, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "deviceName": autorest.Encode("path", deviceName), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/bandwidthSchedules/{name}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client BandwidthSchedulesClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client BandwidthSchedulesClient) GetResponder(resp *http.Response) (result BandwidthSchedule, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByDataBoxEdgeDevice gets all the bandwidth schedules for a Data Box Edge/Data Box Gateway device. +// Parameters: +// deviceName - the device name. +// resourceGroupName - the resource group name. +func (client BandwidthSchedulesClient) ListByDataBoxEdgeDevice(ctx context.Context, deviceName string, resourceGroupName string) (result BandwidthSchedulesListPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BandwidthSchedulesClient.ListByDataBoxEdgeDevice") + defer func() { + sc := -1 + if result.bsl.Response.Response != nil { + sc = result.bsl.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listByDataBoxEdgeDeviceNextResults + req, err := client.ListByDataBoxEdgeDevicePreparer(ctx, deviceName, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.BandwidthSchedulesClient", "ListByDataBoxEdgeDevice", nil, "Failure preparing request") + return + } + + resp, err := client.ListByDataBoxEdgeDeviceSender(req) + if err != nil { + result.bsl.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "databoxedge.BandwidthSchedulesClient", "ListByDataBoxEdgeDevice", resp, "Failure sending request") + return + } + + result.bsl, err = client.ListByDataBoxEdgeDeviceResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.BandwidthSchedulesClient", "ListByDataBoxEdgeDevice", resp, "Failure responding to request") + } + + return +} + +// ListByDataBoxEdgeDevicePreparer prepares the ListByDataBoxEdgeDevice request. +func (client BandwidthSchedulesClient) ListByDataBoxEdgeDevicePreparer(ctx context.Context, deviceName string, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "deviceName": autorest.Encode("path", deviceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/bandwidthSchedules", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByDataBoxEdgeDeviceSender sends the ListByDataBoxEdgeDevice request. The method will close the +// http.Response Body if it receives an error. +func (client BandwidthSchedulesClient) ListByDataBoxEdgeDeviceSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByDataBoxEdgeDeviceResponder handles the response to the ListByDataBoxEdgeDevice request. The method always +// closes the http.Response Body. +func (client BandwidthSchedulesClient) ListByDataBoxEdgeDeviceResponder(resp *http.Response) (result BandwidthSchedulesList, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listByDataBoxEdgeDeviceNextResults retrieves the next set of results, if any. +func (client BandwidthSchedulesClient) listByDataBoxEdgeDeviceNextResults(ctx context.Context, lastResults BandwidthSchedulesList) (result BandwidthSchedulesList, err error) { + req, err := lastResults.bandwidthSchedulesListPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "databoxedge.BandwidthSchedulesClient", "listByDataBoxEdgeDeviceNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListByDataBoxEdgeDeviceSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "databoxedge.BandwidthSchedulesClient", "listByDataBoxEdgeDeviceNextResults", resp, "Failure sending next results request") + } + result, err = client.ListByDataBoxEdgeDeviceResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.BandwidthSchedulesClient", "listByDataBoxEdgeDeviceNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListByDataBoxEdgeDeviceComplete enumerates all values, automatically crossing page boundaries as required. +func (client BandwidthSchedulesClient) ListByDataBoxEdgeDeviceComplete(ctx context.Context, deviceName string, resourceGroupName string) (result BandwidthSchedulesListIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BandwidthSchedulesClient.ListByDataBoxEdgeDevice") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListByDataBoxEdgeDevice(ctx, deviceName, resourceGroupName) + return +} diff --git a/services/preview/devspaces/mgmt/2019-01-01-preview/devspaces/client.go b/services/databoxedge/mgmt/2019-07-01/databoxedge/client.go similarity index 84% rename from services/preview/devspaces/mgmt/2019-01-01-preview/devspaces/client.go rename to services/databoxedge/mgmt/2019-07-01/databoxedge/client.go index 12d2550d5b65..36593d1fec80 100644 --- a/services/preview/devspaces/mgmt/2019-01-01-preview/devspaces/client.go +++ b/services/databoxedge/mgmt/2019-07-01/databoxedge/client.go @@ -1,7 +1,7 @@ -// Package devspaces implements the Azure ARM Devspaces service API version 2019-01-01-preview. +// Package databoxedge implements the Azure ARM Databoxedge service API version 2019-07-01. // -// Dev Spaces Client -package devspaces +// +package databoxedge // Copyright (c) Microsoft and contributors. All rights reserved. // @@ -25,11 +25,11 @@ import ( ) const ( - // DefaultBaseURI is the default URI used for the service Devspaces + // DefaultBaseURI is the default URI used for the service Databoxedge DefaultBaseURI = "https://management.azure.com" ) -// BaseClient is the base client for Devspaces. +// BaseClient is the base client for Databoxedge. type BaseClient struct { autorest.Client BaseURI string diff --git a/services/databoxedge/mgmt/2019-07-01/databoxedge/databoxedgeapi/interfaces.go b/services/databoxedge/mgmt/2019-07-01/databoxedge/databoxedgeapi/interfaces.go new file mode 100644 index 000000000000..545baab9a791 --- /dev/null +++ b/services/databoxedge/mgmt/2019-07-01/databoxedge/databoxedgeapi/interfaces.go @@ -0,0 +1,150 @@ +package databoxedgeapi + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/azure-sdk-for-go/services/databoxedge/mgmt/2019-07-01/databoxedge" +) + +// OperationsClientAPI contains the set of methods on the OperationsClient type. +type OperationsClientAPI interface { + List(ctx context.Context) (result databoxedge.OperationsListPage, err error) +} + +var _ OperationsClientAPI = (*databoxedge.OperationsClient)(nil) + +// DevicesClientAPI contains the set of methods on the DevicesClient type. +type DevicesClientAPI interface { + CreateOrUpdate(ctx context.Context, deviceName string, dataBoxEdgeDevice databoxedge.Device, resourceGroupName string) (result databoxedge.DevicesCreateOrUpdateFuture, err error) + CreateOrUpdateSecuritySettings(ctx context.Context, deviceName string, securitySettings databoxedge.SecuritySettings, resourceGroupName string) (result databoxedge.DevicesCreateOrUpdateSecuritySettingsFuture, err error) + Delete(ctx context.Context, deviceName string, resourceGroupName string) (result databoxedge.DevicesDeleteFuture, err error) + DownloadUpdates(ctx context.Context, deviceName string, resourceGroupName string) (result databoxedge.DevicesDownloadUpdatesFuture, err error) + Get(ctx context.Context, deviceName string, resourceGroupName string) (result databoxedge.Device, err error) + GetExtendedInformation(ctx context.Context, deviceName string, resourceGroupName string) (result databoxedge.DeviceExtendedInfo, err error) + GetNetworkSettings(ctx context.Context, deviceName string, resourceGroupName string) (result databoxedge.NetworkSettings, err error) + GetUpdateSummary(ctx context.Context, deviceName string, resourceGroupName string) (result databoxedge.UpdateSummary, err error) + InstallUpdates(ctx context.Context, deviceName string, resourceGroupName string) (result databoxedge.DevicesInstallUpdatesFuture, err error) + ListByResourceGroup(ctx context.Context, resourceGroupName string, expand string) (result databoxedge.DeviceListPage, err error) + ListBySubscription(ctx context.Context, expand string) (result databoxedge.DeviceListPage, err error) + ScanForUpdates(ctx context.Context, deviceName string, resourceGroupName string) (result databoxedge.DevicesScanForUpdatesFuture, err error) + Update(ctx context.Context, deviceName string, parameters databoxedge.DevicePatch, resourceGroupName string) (result databoxedge.Device, err error) + UploadCertificate(ctx context.Context, deviceName string, parameters databoxedge.UploadCertificateRequest, resourceGroupName string) (result databoxedge.UploadCertificateResponse, err error) +} + +var _ DevicesClientAPI = (*databoxedge.DevicesClient)(nil) + +// AlertsClientAPI contains the set of methods on the AlertsClient type. +type AlertsClientAPI interface { + Get(ctx context.Context, deviceName string, name string, resourceGroupName string) (result databoxedge.Alert, err error) + ListByDataBoxEdgeDevice(ctx context.Context, deviceName string, resourceGroupName string) (result databoxedge.AlertListPage, err error) +} + +var _ AlertsClientAPI = (*databoxedge.AlertsClient)(nil) + +// BandwidthSchedulesClientAPI contains the set of methods on the BandwidthSchedulesClient type. +type BandwidthSchedulesClientAPI interface { + CreateOrUpdate(ctx context.Context, deviceName string, name string, parameters databoxedge.BandwidthSchedule, resourceGroupName string) (result databoxedge.BandwidthSchedulesCreateOrUpdateFuture, err error) + Delete(ctx context.Context, deviceName string, name string, resourceGroupName string) (result databoxedge.BandwidthSchedulesDeleteFuture, err error) + Get(ctx context.Context, deviceName string, name string, resourceGroupName string) (result databoxedge.BandwidthSchedule, err error) + ListByDataBoxEdgeDevice(ctx context.Context, deviceName string, resourceGroupName string) (result databoxedge.BandwidthSchedulesListPage, err error) +} + +var _ BandwidthSchedulesClientAPI = (*databoxedge.BandwidthSchedulesClient)(nil) + +// JobsClientAPI contains the set of methods on the JobsClient type. +type JobsClientAPI interface { + Get(ctx context.Context, deviceName string, name string, resourceGroupName string) (result databoxedge.Job, err error) +} + +var _ JobsClientAPI = (*databoxedge.JobsClient)(nil) + +// NodesClientAPI contains the set of methods on the NodesClient type. +type NodesClientAPI interface { + ListByDataBoxEdgeDevice(ctx context.Context, deviceName string, resourceGroupName string) (result databoxedge.NodeList, err error) +} + +var _ NodesClientAPI = (*databoxedge.NodesClient)(nil) + +// OperationsStatusClientAPI contains the set of methods on the OperationsStatusClient type. +type OperationsStatusClientAPI interface { + Get(ctx context.Context, deviceName string, name string, resourceGroupName string) (result databoxedge.Job, err error) +} + +var _ OperationsStatusClientAPI = (*databoxedge.OperationsStatusClient)(nil) + +// OrdersClientAPI contains the set of methods on the OrdersClient type. +type OrdersClientAPI interface { + CreateOrUpdate(ctx context.Context, deviceName string, order databoxedge.Order, resourceGroupName string) (result databoxedge.OrdersCreateOrUpdateFuture, err error) + Delete(ctx context.Context, deviceName string, resourceGroupName string) (result databoxedge.OrdersDeleteFuture, err error) + Get(ctx context.Context, deviceName string, resourceGroupName string) (result databoxedge.Order, err error) + ListByDataBoxEdgeDevice(ctx context.Context, deviceName string, resourceGroupName string) (result databoxedge.OrderListPage, err error) +} + +var _ OrdersClientAPI = (*databoxedge.OrdersClient)(nil) + +// RolesClientAPI contains the set of methods on the RolesClient type. +type RolesClientAPI interface { + CreateOrUpdate(ctx context.Context, deviceName string, name string, role databoxedge.BasicRole, resourceGroupName string) (result databoxedge.RolesCreateOrUpdateFuture, err error) + Delete(ctx context.Context, deviceName string, name string, resourceGroupName string) (result databoxedge.RolesDeleteFuture, err error) + Get(ctx context.Context, deviceName string, name string, resourceGroupName string) (result databoxedge.RoleModel, err error) + ListByDataBoxEdgeDevice(ctx context.Context, deviceName string, resourceGroupName string) (result databoxedge.RoleListPage, err error) +} + +var _ RolesClientAPI = (*databoxedge.RolesClient)(nil) + +// SharesClientAPI contains the set of methods on the SharesClient type. +type SharesClientAPI interface { + CreateOrUpdate(ctx context.Context, deviceName string, name string, share databoxedge.Share, resourceGroupName string) (result databoxedge.SharesCreateOrUpdateFuture, err error) + Delete(ctx context.Context, deviceName string, name string, resourceGroupName string) (result databoxedge.SharesDeleteFuture, err error) + Get(ctx context.Context, deviceName string, name string, resourceGroupName string) (result databoxedge.Share, err error) + ListByDataBoxEdgeDevice(ctx context.Context, deviceName string, resourceGroupName string) (result databoxedge.ShareListPage, err error) + Refresh(ctx context.Context, deviceName string, name string, resourceGroupName string) (result databoxedge.SharesRefreshFuture, err error) +} + +var _ SharesClientAPI = (*databoxedge.SharesClient)(nil) + +// StorageAccountCredentialsClientAPI contains the set of methods on the StorageAccountCredentialsClient type. +type StorageAccountCredentialsClientAPI interface { + CreateOrUpdate(ctx context.Context, deviceName string, name string, storageAccountCredential databoxedge.StorageAccountCredential, resourceGroupName string) (result databoxedge.StorageAccountCredentialsCreateOrUpdateFuture, err error) + Delete(ctx context.Context, deviceName string, name string, resourceGroupName string) (result databoxedge.StorageAccountCredentialsDeleteFuture, err error) + Get(ctx context.Context, deviceName string, name string, resourceGroupName string) (result databoxedge.StorageAccountCredential, err error) + ListByDataBoxEdgeDevice(ctx context.Context, deviceName string, resourceGroupName string) (result databoxedge.StorageAccountCredentialListPage, err error) +} + +var _ StorageAccountCredentialsClientAPI = (*databoxedge.StorageAccountCredentialsClient)(nil) + +// TriggersClientAPI contains the set of methods on the TriggersClient type. +type TriggersClientAPI interface { + CreateOrUpdate(ctx context.Context, deviceName string, name string, trigger databoxedge.BasicTrigger, resourceGroupName string) (result databoxedge.TriggersCreateOrUpdateFuture, err error) + Delete(ctx context.Context, deviceName string, name string, resourceGroupName string) (result databoxedge.TriggersDeleteFuture, err error) + Get(ctx context.Context, deviceName string, name string, resourceGroupName string) (result databoxedge.TriggerModel, err error) + ListByDataBoxEdgeDevice(ctx context.Context, deviceName string, resourceGroupName string, expand string) (result databoxedge.TriggerListPage, err error) +} + +var _ TriggersClientAPI = (*databoxedge.TriggersClient)(nil) + +// UsersClientAPI contains the set of methods on the UsersClient type. +type UsersClientAPI interface { + CreateOrUpdate(ctx context.Context, deviceName string, name string, userParameter databoxedge.User, resourceGroupName string) (result databoxedge.UsersCreateOrUpdateFuture, err error) + Delete(ctx context.Context, deviceName string, name string, resourceGroupName string) (result databoxedge.UsersDeleteFuture, err error) + Get(ctx context.Context, deviceName string, name string, resourceGroupName string) (result databoxedge.User, err error) + ListByDataBoxEdgeDevice(ctx context.Context, deviceName string, resourceGroupName string) (result databoxedge.UserListPage, err error) +} + +var _ UsersClientAPI = (*databoxedge.UsersClient)(nil) diff --git a/services/databoxedge/mgmt/2019-07-01/databoxedge/devices.go b/services/databoxedge/mgmt/2019-07-01/databoxedge/devices.go new file mode 100644 index 000000000000..3ba730cbaca4 --- /dev/null +++ b/services/databoxedge/mgmt/2019-07-01/databoxedge/devices.go @@ -0,0 +1,1229 @@ +package databoxedge + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// DevicesClient is the client for the Devices methods of the Databoxedge service. +type DevicesClient struct { + BaseClient +} + +// NewDevicesClient creates an instance of the DevicesClient client. +func NewDevicesClient(subscriptionID string) DevicesClient { + return NewDevicesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewDevicesClientWithBaseURI creates an instance of the DevicesClient client. +func NewDevicesClientWithBaseURI(baseURI string, subscriptionID string) DevicesClient { + return DevicesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates a Data Box Edge/Data Box Gateway resource. +// Parameters: +// deviceName - the device name. +// dataBoxEdgeDevice - the resource object. +// resourceGroupName - the resource group name. +func (client DevicesClient) CreateOrUpdate(ctx context.Context, deviceName string, dataBoxEdgeDevice Device, resourceGroupName string) (result DevicesCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DevicesClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: dataBoxEdgeDevice, + Constraints: []validation.Constraint{{Target: "dataBoxEdgeDevice.Location", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + return result, validation.NewError("databoxedge.DevicesClient", "CreateOrUpdate", err.Error()) + } + + req, err := client.CreateOrUpdatePreparer(ctx, deviceName, dataBoxEdgeDevice, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.DevicesClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.DevicesClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client DevicesClient) CreateOrUpdatePreparer(ctx context.Context, deviceName string, dataBoxEdgeDevice Device, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "deviceName": autorest.Encode("path", deviceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}", pathParameters), + autorest.WithJSON(dataBoxEdgeDevice), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client DevicesClient) CreateOrUpdateSender(req *http.Request) (future DevicesCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client DevicesClient) CreateOrUpdateResponder(resp *http.Response) (result Device, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// CreateOrUpdateSecuritySettings updates the security settings on a Data Box Edge/Data Box Gateway device. +// Parameters: +// deviceName - the device name. +// securitySettings - the security settings. +// resourceGroupName - the resource group name. +func (client DevicesClient) CreateOrUpdateSecuritySettings(ctx context.Context, deviceName string, securitySettings SecuritySettings, resourceGroupName string) (result DevicesCreateOrUpdateSecuritySettingsFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DevicesClient.CreateOrUpdateSecuritySettings") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: securitySettings, + Constraints: []validation.Constraint{{Target: "securitySettings.SecuritySettingsProperties", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "securitySettings.SecuritySettingsProperties.DeviceAdminPassword", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "securitySettings.SecuritySettingsProperties.DeviceAdminPassword.Value", Name: validation.Null, Rule: true, Chain: nil}}}, + }}}}}); err != nil { + return result, validation.NewError("databoxedge.DevicesClient", "CreateOrUpdateSecuritySettings", err.Error()) + } + + req, err := client.CreateOrUpdateSecuritySettingsPreparer(ctx, deviceName, securitySettings, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.DevicesClient", "CreateOrUpdateSecuritySettings", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSecuritySettingsSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.DevicesClient", "CreateOrUpdateSecuritySettings", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdateSecuritySettingsPreparer prepares the CreateOrUpdateSecuritySettings request. +func (client DevicesClient) CreateOrUpdateSecuritySettingsPreparer(ctx context.Context, deviceName string, securitySettings SecuritySettings, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "deviceName": autorest.Encode("path", deviceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/securitySettings/default/update", pathParameters), + autorest.WithJSON(securitySettings), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSecuritySettingsSender sends the CreateOrUpdateSecuritySettings request. The method will close the +// http.Response Body if it receives an error. +func (client DevicesClient) CreateOrUpdateSecuritySettingsSender(req *http.Request) (future DevicesCreateOrUpdateSecuritySettingsFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateSecuritySettingsResponder handles the response to the CreateOrUpdateSecuritySettings request. The method always +// closes the http.Response Body. +func (client DevicesClient) CreateOrUpdateSecuritySettingsResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Delete deletes the Data Box Edge/Data Box Gateway device. +// Parameters: +// deviceName - the device name. +// resourceGroupName - the resource group name. +func (client DevicesClient) Delete(ctx context.Context, deviceName string, resourceGroupName string) (result DevicesDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DevicesClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, deviceName, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.DevicesClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.DevicesClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client DevicesClient) DeletePreparer(ctx context.Context, deviceName string, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "deviceName": autorest.Encode("path", deviceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client DevicesClient) DeleteSender(req *http.Request) (future DevicesDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client DevicesClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// DownloadUpdates sends the download updates request. +// Parameters: +// deviceName - the device name. +// resourceGroupName - the resource group name. +func (client DevicesClient) DownloadUpdates(ctx context.Context, deviceName string, resourceGroupName string) (result DevicesDownloadUpdatesFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DevicesClient.DownloadUpdates") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DownloadUpdatesPreparer(ctx, deviceName, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.DevicesClient", "DownloadUpdates", nil, "Failure preparing request") + return + } + + result, err = client.DownloadUpdatesSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.DevicesClient", "DownloadUpdates", result.Response(), "Failure sending request") + return + } + + return +} + +// DownloadUpdatesPreparer prepares the DownloadUpdates request. +func (client DevicesClient) DownloadUpdatesPreparer(ctx context.Context, deviceName string, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "deviceName": autorest.Encode("path", deviceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/downloadUpdates", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DownloadUpdatesSender sends the DownloadUpdates request. The method will close the +// http.Response Body if it receives an error. +func (client DevicesClient) DownloadUpdatesSender(req *http.Request) (future DevicesDownloadUpdatesFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DownloadUpdatesResponder handles the response to the DownloadUpdates request. The method always +// closes the http.Response Body. +func (client DevicesClient) DownloadUpdatesResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets the properties of the Data Box Edge/Data Box Gateway device. +// Parameters: +// deviceName - the device name. +// resourceGroupName - the resource group name. +func (client DevicesClient) Get(ctx context.Context, deviceName string, resourceGroupName string) (result Device, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DevicesClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, deviceName, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.DevicesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "databoxedge.DevicesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.DevicesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client DevicesClient) GetPreparer(ctx context.Context, deviceName string, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "deviceName": autorest.Encode("path", deviceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client DevicesClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client DevicesClient) GetResponder(resp *http.Response) (result Device, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetExtendedInformation gets additional information for the specified Data Box Edge/Data Box Gateway device. +// Parameters: +// deviceName - the device name. +// resourceGroupName - the resource group name. +func (client DevicesClient) GetExtendedInformation(ctx context.Context, deviceName string, resourceGroupName string) (result DeviceExtendedInfo, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DevicesClient.GetExtendedInformation") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetExtendedInformationPreparer(ctx, deviceName, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.DevicesClient", "GetExtendedInformation", nil, "Failure preparing request") + return + } + + resp, err := client.GetExtendedInformationSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "databoxedge.DevicesClient", "GetExtendedInformation", resp, "Failure sending request") + return + } + + result, err = client.GetExtendedInformationResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.DevicesClient", "GetExtendedInformation", resp, "Failure responding to request") + } + + return +} + +// GetExtendedInformationPreparer prepares the GetExtendedInformation request. +func (client DevicesClient) GetExtendedInformationPreparer(ctx context.Context, deviceName string, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "deviceName": autorest.Encode("path", deviceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/getExtendedInformation", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetExtendedInformationSender sends the GetExtendedInformation request. The method will close the +// http.Response Body if it receives an error. +func (client DevicesClient) GetExtendedInformationSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetExtendedInformationResponder handles the response to the GetExtendedInformation request. The method always +// closes the http.Response Body. +func (client DevicesClient) GetExtendedInformationResponder(resp *http.Response) (result DeviceExtendedInfo, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetNetworkSettings gets the network settings of the specified Data Box Edge/Data Box Gateway device. +// Parameters: +// deviceName - the device name. +// resourceGroupName - the resource group name. +func (client DevicesClient) GetNetworkSettings(ctx context.Context, deviceName string, resourceGroupName string) (result NetworkSettings, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DevicesClient.GetNetworkSettings") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetNetworkSettingsPreparer(ctx, deviceName, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.DevicesClient", "GetNetworkSettings", nil, "Failure preparing request") + return + } + + resp, err := client.GetNetworkSettingsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "databoxedge.DevicesClient", "GetNetworkSettings", resp, "Failure sending request") + return + } + + result, err = client.GetNetworkSettingsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.DevicesClient", "GetNetworkSettings", resp, "Failure responding to request") + } + + return +} + +// GetNetworkSettingsPreparer prepares the GetNetworkSettings request. +func (client DevicesClient) GetNetworkSettingsPreparer(ctx context.Context, deviceName string, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "deviceName": autorest.Encode("path", deviceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/networkSettings/default", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetNetworkSettingsSender sends the GetNetworkSettings request. The method will close the +// http.Response Body if it receives an error. +func (client DevicesClient) GetNetworkSettingsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetNetworkSettingsResponder handles the response to the GetNetworkSettings request. The method always +// closes the http.Response Body. +func (client DevicesClient) GetNetworkSettingsResponder(resp *http.Response) (result NetworkSettings, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetUpdateSummary sends the get update summary request. +// Parameters: +// deviceName - the device name. +// resourceGroupName - the resource group name. +func (client DevicesClient) GetUpdateSummary(ctx context.Context, deviceName string, resourceGroupName string) (result UpdateSummary, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DevicesClient.GetUpdateSummary") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetUpdateSummaryPreparer(ctx, deviceName, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.DevicesClient", "GetUpdateSummary", nil, "Failure preparing request") + return + } + + resp, err := client.GetUpdateSummarySender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "databoxedge.DevicesClient", "GetUpdateSummary", resp, "Failure sending request") + return + } + + result, err = client.GetUpdateSummaryResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.DevicesClient", "GetUpdateSummary", resp, "Failure responding to request") + } + + return +} + +// GetUpdateSummaryPreparer prepares the GetUpdateSummary request. +func (client DevicesClient) GetUpdateSummaryPreparer(ctx context.Context, deviceName string, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "deviceName": autorest.Encode("path", deviceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/updateSummary/default", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetUpdateSummarySender sends the GetUpdateSummary request. The method will close the +// http.Response Body if it receives an error. +func (client DevicesClient) GetUpdateSummarySender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetUpdateSummaryResponder handles the response to the GetUpdateSummary request. The method always +// closes the http.Response Body. +func (client DevicesClient) GetUpdateSummaryResponder(resp *http.Response) (result UpdateSummary, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// InstallUpdates sends the install updates request. +// Parameters: +// deviceName - the device name. +// resourceGroupName - the resource group name. +func (client DevicesClient) InstallUpdates(ctx context.Context, deviceName string, resourceGroupName string) (result DevicesInstallUpdatesFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DevicesClient.InstallUpdates") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.InstallUpdatesPreparer(ctx, deviceName, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.DevicesClient", "InstallUpdates", nil, "Failure preparing request") + return + } + + result, err = client.InstallUpdatesSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.DevicesClient", "InstallUpdates", result.Response(), "Failure sending request") + return + } + + return +} + +// InstallUpdatesPreparer prepares the InstallUpdates request. +func (client DevicesClient) InstallUpdatesPreparer(ctx context.Context, deviceName string, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "deviceName": autorest.Encode("path", deviceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/installUpdates", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// InstallUpdatesSender sends the InstallUpdates request. The method will close the +// http.Response Body if it receives an error. +func (client DevicesClient) InstallUpdatesSender(req *http.Request) (future DevicesInstallUpdatesFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// InstallUpdatesResponder handles the response to the InstallUpdates request. The method always +// closes the http.Response Body. +func (client DevicesClient) InstallUpdatesResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByClosing()) + result.Response = resp + return +} + +// ListByResourceGroup gets all the Data Box Edge/Data Box Gateway devices in a resource group. +// Parameters: +// resourceGroupName - the resource group name. +// expand - specify $expand=details to populate additional fields related to the resource or Specify +// $skipToken= to populate the next page in the list. +func (client DevicesClient) ListByResourceGroup(ctx context.Context, resourceGroupName string, expand string) (result DeviceListPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DevicesClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.dl.Response.Response != nil { + sc = result.dl.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listByResourceGroupNextResults + req, err := client.ListByResourceGroupPreparer(ctx, resourceGroupName, expand) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.DevicesClient", "ListByResourceGroup", nil, "Failure preparing request") + return + } + + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.dl.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "databoxedge.DevicesClient", "ListByResourceGroup", resp, "Failure sending request") + return + } + + result.dl, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.DevicesClient", "ListByResourceGroup", resp, "Failure responding to request") + } + + return +} + +// ListByResourceGroupPreparer prepares the ListByResourceGroup request. +func (client DevicesClient) ListByResourceGroupPreparer(ctx context.Context, resourceGroupName string, expand string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(expand) > 0 { + queryParameters["$expand"] = autorest.Encode("query", expand) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByResourceGroupSender sends the ListByResourceGroup request. The method will close the +// http.Response Body if it receives an error. +func (client DevicesClient) ListByResourceGroupSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByResourceGroupResponder handles the response to the ListByResourceGroup request. The method always +// closes the http.Response Body. +func (client DevicesClient) ListByResourceGroupResponder(resp *http.Response) (result DeviceList, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listByResourceGroupNextResults retrieves the next set of results, if any. +func (client DevicesClient) listByResourceGroupNextResults(ctx context.Context, lastResults DeviceList) (result DeviceList, err error) { + req, err := lastResults.deviceListPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "databoxedge.DevicesClient", "listByResourceGroupNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "databoxedge.DevicesClient", "listByResourceGroupNextResults", resp, "Failure sending next results request") + } + result, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.DevicesClient", "listByResourceGroupNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListByResourceGroupComplete enumerates all values, automatically crossing page boundaries as required. +func (client DevicesClient) ListByResourceGroupComplete(ctx context.Context, resourceGroupName string, expand string) (result DeviceListIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DevicesClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListByResourceGroup(ctx, resourceGroupName, expand) + return +} + +// ListBySubscription gets all the Data Box Edge/Data Box Gateway devices in a subscription. +// Parameters: +// expand - specify $expand=details to populate additional fields related to the resource or Specify +// $skipToken= to populate the next page in the list. +func (client DevicesClient) ListBySubscription(ctx context.Context, expand string) (result DeviceListPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DevicesClient.ListBySubscription") + defer func() { + sc := -1 + if result.dl.Response.Response != nil { + sc = result.dl.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listBySubscriptionNextResults + req, err := client.ListBySubscriptionPreparer(ctx, expand) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.DevicesClient", "ListBySubscription", nil, "Failure preparing request") + return + } + + resp, err := client.ListBySubscriptionSender(req) + if err != nil { + result.dl.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "databoxedge.DevicesClient", "ListBySubscription", resp, "Failure sending request") + return + } + + result.dl, err = client.ListBySubscriptionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.DevicesClient", "ListBySubscription", resp, "Failure responding to request") + } + + return +} + +// ListBySubscriptionPreparer prepares the ListBySubscription request. +func (client DevicesClient) ListBySubscriptionPreparer(ctx context.Context, expand string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(expand) > 0 { + queryParameters["$expand"] = autorest.Encode("query", expand) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListBySubscriptionSender sends the ListBySubscription request. The method will close the +// http.Response Body if it receives an error. +func (client DevicesClient) ListBySubscriptionSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListBySubscriptionResponder handles the response to the ListBySubscription request. The method always +// closes the http.Response Body. +func (client DevicesClient) ListBySubscriptionResponder(resp *http.Response) (result DeviceList, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listBySubscriptionNextResults retrieves the next set of results, if any. +func (client DevicesClient) listBySubscriptionNextResults(ctx context.Context, lastResults DeviceList) (result DeviceList, err error) { + req, err := lastResults.deviceListPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "databoxedge.DevicesClient", "listBySubscriptionNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListBySubscriptionSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "databoxedge.DevicesClient", "listBySubscriptionNextResults", resp, "Failure sending next results request") + } + result, err = client.ListBySubscriptionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.DevicesClient", "listBySubscriptionNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListBySubscriptionComplete enumerates all values, automatically crossing page boundaries as required. +func (client DevicesClient) ListBySubscriptionComplete(ctx context.Context, expand string) (result DeviceListIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DevicesClient.ListBySubscription") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListBySubscription(ctx, expand) + return +} + +// ScanForUpdates sends the scan for updates request. +// Parameters: +// deviceName - the device name. +// resourceGroupName - the resource group name. +func (client DevicesClient) ScanForUpdates(ctx context.Context, deviceName string, resourceGroupName string) (result DevicesScanForUpdatesFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DevicesClient.ScanForUpdates") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ScanForUpdatesPreparer(ctx, deviceName, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.DevicesClient", "ScanForUpdates", nil, "Failure preparing request") + return + } + + result, err = client.ScanForUpdatesSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.DevicesClient", "ScanForUpdates", result.Response(), "Failure sending request") + return + } + + return +} + +// ScanForUpdatesPreparer prepares the ScanForUpdates request. +func (client DevicesClient) ScanForUpdatesPreparer(ctx context.Context, deviceName string, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "deviceName": autorest.Encode("path", deviceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/scanForUpdates", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ScanForUpdatesSender sends the ScanForUpdates request. The method will close the +// http.Response Body if it receives an error. +func (client DevicesClient) ScanForUpdatesSender(req *http.Request) (future DevicesScanForUpdatesFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// ScanForUpdatesResponder handles the response to the ScanForUpdates request. The method always +// closes the http.Response Body. +func (client DevicesClient) ScanForUpdatesResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByClosing()) + result.Response = resp + return +} + +// Update modifies a Data Box Edge/Data Box Gateway resource. +// Parameters: +// deviceName - the device name. +// parameters - the resource parameters. +// resourceGroupName - the resource group name. +func (client DevicesClient) Update(ctx context.Context, deviceName string, parameters DevicePatch, resourceGroupName string) (result Device, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DevicesClient.Update") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdatePreparer(ctx, deviceName, parameters, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.DevicesClient", "Update", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "databoxedge.DevicesClient", "Update", resp, "Failure sending request") + return + } + + result, err = client.UpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.DevicesClient", "Update", resp, "Failure responding to request") + } + + return +} + +// UpdatePreparer prepares the Update request. +func (client DevicesClient) UpdatePreparer(ctx context.Context, deviceName string, parameters DevicePatch, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "deviceName": autorest.Encode("path", deviceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateSender sends the Update request. The method will close the +// http.Response Body if it receives an error. +func (client DevicesClient) UpdateSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// UpdateResponder handles the response to the Update request. The method always +// closes the http.Response Body. +func (client DevicesClient) UpdateResponder(resp *http.Response) (result Device, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// UploadCertificate uploads registration certificate for the device. +// Parameters: +// deviceName - the device name. +// parameters - the upload certificate request. +// resourceGroupName - the resource group name. +func (client DevicesClient) UploadCertificate(ctx context.Context, deviceName string, parameters UploadCertificateRequest, resourceGroupName string) (result UploadCertificateResponse, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DevicesClient.UploadCertificate") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.RawCertificateData", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "parameters.RawCertificateData.Certificate", Name: validation.Null, Rule: true, Chain: nil}}}}}}); err != nil { + return result, validation.NewError("databoxedge.DevicesClient", "UploadCertificate", err.Error()) + } + + req, err := client.UploadCertificatePreparer(ctx, deviceName, parameters, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.DevicesClient", "UploadCertificate", nil, "Failure preparing request") + return + } + + resp, err := client.UploadCertificateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "databoxedge.DevicesClient", "UploadCertificate", resp, "Failure sending request") + return + } + + result, err = client.UploadCertificateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.DevicesClient", "UploadCertificate", resp, "Failure responding to request") + } + + return +} + +// UploadCertificatePreparer prepares the UploadCertificate request. +func (client DevicesClient) UploadCertificatePreparer(ctx context.Context, deviceName string, parameters UploadCertificateRequest, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "deviceName": autorest.Encode("path", deviceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/uploadCertificate", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UploadCertificateSender sends the UploadCertificate request. The method will close the +// http.Response Body if it receives an error. +func (client DevicesClient) UploadCertificateSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// UploadCertificateResponder handles the response to the UploadCertificate request. The method always +// closes the http.Response Body. +func (client DevicesClient) UploadCertificateResponder(resp *http.Response) (result UploadCertificateResponse, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/databoxedge/mgmt/2019-07-01/databoxedge/jobs.go b/services/databoxedge/mgmt/2019-07-01/databoxedge/jobs.go new file mode 100644 index 000000000000..cb77c8a60081 --- /dev/null +++ b/services/databoxedge/mgmt/2019-07-01/databoxedge/jobs.go @@ -0,0 +1,120 @@ +package databoxedge + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// JobsClient is the client for the Jobs methods of the Databoxedge service. +type JobsClient struct { + BaseClient +} + +// NewJobsClient creates an instance of the JobsClient client. +func NewJobsClient(subscriptionID string) JobsClient { + return NewJobsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewJobsClientWithBaseURI creates an instance of the JobsClient client. +func NewJobsClientWithBaseURI(baseURI string, subscriptionID string) JobsClient { + return JobsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// Get sends the get request. +// Parameters: +// deviceName - the device name. +// name - the job name. +// resourceGroupName - the resource group name. +func (client JobsClient) Get(ctx context.Context, deviceName string, name string, resourceGroupName string) (result Job, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/JobsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, deviceName, name, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.JobsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "databoxedge.JobsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.JobsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client JobsClient) GetPreparer(ctx context.Context, deviceName string, name string, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "deviceName": autorest.Encode("path", deviceName), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/jobs/{name}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client JobsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client JobsClient) GetResponder(resp *http.Response) (result Job, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/databoxedge/mgmt/2019-07-01/databoxedge/models.go b/services/databoxedge/mgmt/2019-07-01/databoxedge/models.go new file mode 100644 index 000000000000..0b13b5c4be4e --- /dev/null +++ b/services/databoxedge/mgmt/2019-07-01/databoxedge/models.go @@ -0,0 +1,5203 @@ +package databoxedge + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "encoding/json" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/date" + "github.com/Azure/go-autorest/autorest/to" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// The package's fully qualified name. +const fqdn = "github.com/Azure/azure-sdk-for-go/services/databoxedge/mgmt/2019-07-01/databoxedge" + +// AccountType enumerates the values for account type. +type AccountType string + +const ( + // BlobStorage ... + BlobStorage AccountType = "BlobStorage" + // GeneralPurposeStorage ... + GeneralPurposeStorage AccountType = "GeneralPurposeStorage" +) + +// PossibleAccountTypeValues returns an array of possible values for the AccountType const type. +func PossibleAccountTypeValues() []AccountType { + return []AccountType{BlobStorage, GeneralPurposeStorage} +} + +// AlertSeverity enumerates the values for alert severity. +type AlertSeverity string + +const ( + // Critical ... + Critical AlertSeverity = "Critical" + // Informational ... + Informational AlertSeverity = "Informational" + // Warning ... + Warning AlertSeverity = "Warning" +) + +// PossibleAlertSeverityValues returns an array of possible values for the AlertSeverity const type. +func PossibleAlertSeverityValues() []AlertSeverity { + return []AlertSeverity{Critical, Informational, Warning} +} + +// AuthenticationType enumerates the values for authentication type. +type AuthenticationType string + +const ( + // AzureActiveDirectory ... + AzureActiveDirectory AuthenticationType = "AzureActiveDirectory" + // Invalid ... + Invalid AuthenticationType = "Invalid" +) + +// PossibleAuthenticationTypeValues returns an array of possible values for the AuthenticationType const type. +func PossibleAuthenticationTypeValues() []AuthenticationType { + return []AuthenticationType{AzureActiveDirectory, Invalid} +} + +// AzureContainerDataFormat enumerates the values for azure container data format. +type AzureContainerDataFormat string + +const ( + // AzureFile ... + AzureFile AzureContainerDataFormat = "AzureFile" + // BlockBlob ... + BlockBlob AzureContainerDataFormat = "BlockBlob" + // PageBlob ... + PageBlob AzureContainerDataFormat = "PageBlob" +) + +// PossibleAzureContainerDataFormatValues returns an array of possible values for the AzureContainerDataFormat const type. +func PossibleAzureContainerDataFormatValues() []AzureContainerDataFormat { + return []AzureContainerDataFormat{AzureFile, BlockBlob, PageBlob} +} + +// ClientPermissionType enumerates the values for client permission type. +type ClientPermissionType string + +const ( + // NoAccess ... + NoAccess ClientPermissionType = "NoAccess" + // ReadOnly ... + ReadOnly ClientPermissionType = "ReadOnly" + // ReadWrite ... + ReadWrite ClientPermissionType = "ReadWrite" +) + +// PossibleClientPermissionTypeValues returns an array of possible values for the ClientPermissionType const type. +func PossibleClientPermissionTypeValues() []ClientPermissionType { + return []ClientPermissionType{NoAccess, ReadOnly, ReadWrite} +} + +// DataPolicy enumerates the values for data policy. +type DataPolicy string + +const ( + // Cloud ... + Cloud DataPolicy = "Cloud" + // Local ... + Local DataPolicy = "Local" +) + +// PossibleDataPolicyValues returns an array of possible values for the DataPolicy const type. +func PossibleDataPolicyValues() []DataPolicy { + return []DataPolicy{Cloud, Local} +} + +// DayOfWeek enumerates the values for day of week. +type DayOfWeek string + +const ( + // Friday ... + Friday DayOfWeek = "Friday" + // Monday ... + Monday DayOfWeek = "Monday" + // Saturday ... + Saturday DayOfWeek = "Saturday" + // Sunday ... + Sunday DayOfWeek = "Sunday" + // Thursday ... + Thursday DayOfWeek = "Thursday" + // Tuesday ... + Tuesday DayOfWeek = "Tuesday" + // Wednesday ... + Wednesday DayOfWeek = "Wednesday" +) + +// PossibleDayOfWeekValues returns an array of possible values for the DayOfWeek const type. +func PossibleDayOfWeekValues() []DayOfWeek { + return []DayOfWeek{Friday, Monday, Saturday, Sunday, Thursday, Tuesday, Wednesday} +} + +// DeviceStatus enumerates the values for device status. +type DeviceStatus string + +const ( + // Disconnected ... + Disconnected DeviceStatus = "Disconnected" + // Maintenance ... + Maintenance DeviceStatus = "Maintenance" + // NeedsAttention ... + NeedsAttention DeviceStatus = "NeedsAttention" + // Offline ... + Offline DeviceStatus = "Offline" + // Online ... + Online DeviceStatus = "Online" + // PartiallyDisconnected ... + PartiallyDisconnected DeviceStatus = "PartiallyDisconnected" + // ReadyToSetup ... + ReadyToSetup DeviceStatus = "ReadyToSetup" +) + +// PossibleDeviceStatusValues returns an array of possible values for the DeviceStatus const type. +func PossibleDeviceStatusValues() []DeviceStatus { + return []DeviceStatus{Disconnected, Maintenance, NeedsAttention, Offline, Online, PartiallyDisconnected, ReadyToSetup} +} + +// DeviceType enumerates the values for device type. +type DeviceType string + +const ( + // DataBoxEdgeDevice ... + DataBoxEdgeDevice DeviceType = "DataBoxEdgeDevice" +) + +// PossibleDeviceTypeValues returns an array of possible values for the DeviceType const type. +func PossibleDeviceTypeValues() []DeviceType { + return []DeviceType{DataBoxEdgeDevice} +} + +// DownloadPhase enumerates the values for download phase. +type DownloadPhase string + +const ( + // Downloading ... + Downloading DownloadPhase = "Downloading" + // Initializing ... + Initializing DownloadPhase = "Initializing" + // Unknown ... + Unknown DownloadPhase = "Unknown" + // Verifying ... + Verifying DownloadPhase = "Verifying" +) + +// PossibleDownloadPhaseValues returns an array of possible values for the DownloadPhase const type. +func PossibleDownloadPhaseValues() []DownloadPhase { + return []DownloadPhase{Downloading, Initializing, Unknown, Verifying} +} + +// EncryptionAlgorithm enumerates the values for encryption algorithm. +type EncryptionAlgorithm string + +const ( + // AES256 ... + AES256 EncryptionAlgorithm = "AES256" + // None ... + None EncryptionAlgorithm = "None" + // RSAESPKCS1V15 ... + RSAESPKCS1V15 EncryptionAlgorithm = "RSAES_PKCS1_v_1_5" +) + +// PossibleEncryptionAlgorithmValues returns an array of possible values for the EncryptionAlgorithm const type. +func PossibleEncryptionAlgorithmValues() []EncryptionAlgorithm { + return []EncryptionAlgorithm{AES256, None, RSAESPKCS1V15} +} + +// InstallRebootBehavior enumerates the values for install reboot behavior. +type InstallRebootBehavior string + +const ( + // NeverReboots ... + NeverReboots InstallRebootBehavior = "NeverReboots" + // RequestReboot ... + RequestReboot InstallRebootBehavior = "RequestReboot" + // RequiresReboot ... + RequiresReboot InstallRebootBehavior = "RequiresReboot" +) + +// PossibleInstallRebootBehaviorValues returns an array of possible values for the InstallRebootBehavior const type. +func PossibleInstallRebootBehaviorValues() []InstallRebootBehavior { + return []InstallRebootBehavior{NeverReboots, RequestReboot, RequiresReboot} +} + +// JobStatus enumerates the values for job status. +type JobStatus string + +const ( + // JobStatusCanceled ... + JobStatusCanceled JobStatus = "Canceled" + // JobStatusFailed ... + JobStatusFailed JobStatus = "Failed" + // JobStatusInvalid ... + JobStatusInvalid JobStatus = "Invalid" + // JobStatusPaused ... + JobStatusPaused JobStatus = "Paused" + // JobStatusRunning ... + JobStatusRunning JobStatus = "Running" + // JobStatusScheduled ... + JobStatusScheduled JobStatus = "Scheduled" + // JobStatusSucceeded ... + JobStatusSucceeded JobStatus = "Succeeded" +) + +// PossibleJobStatusValues returns an array of possible values for the JobStatus const type. +func PossibleJobStatusValues() []JobStatus { + return []JobStatus{JobStatusCanceled, JobStatusFailed, JobStatusInvalid, JobStatusPaused, JobStatusRunning, JobStatusScheduled, JobStatusSucceeded} +} + +// JobType enumerates the values for job type. +type JobType string + +const ( + // JobTypeDownloadUpdates ... + JobTypeDownloadUpdates JobType = "DownloadUpdates" + // JobTypeInstallUpdates ... + JobTypeInstallUpdates JobType = "InstallUpdates" + // JobTypeInvalid ... + JobTypeInvalid JobType = "Invalid" + // JobTypeRefreshShare ... + JobTypeRefreshShare JobType = "RefreshShare" + // JobTypeScanForUpdates ... + JobTypeScanForUpdates JobType = "ScanForUpdates" +) + +// PossibleJobTypeValues returns an array of possible values for the JobType const type. +func PossibleJobTypeValues() []JobType { + return []JobType{JobTypeDownloadUpdates, JobTypeInstallUpdates, JobTypeInvalid, JobTypeRefreshShare, JobTypeScanForUpdates} +} + +// Kind enumerates the values for kind. +type Kind string + +const ( + // KindIOT ... + KindIOT Kind = "IOT" + // KindRole ... + KindRole Kind = "Role" +) + +// PossibleKindValues returns an array of possible values for the Kind const type. +func PossibleKindValues() []Kind { + return []Kind{KindIOT, KindRole} +} + +// KindBasicTrigger enumerates the values for kind basic trigger. +type KindBasicTrigger string + +const ( + // KindFileEvent ... + KindFileEvent KindBasicTrigger = "FileEvent" + // KindPeriodicTimerEvent ... + KindPeriodicTimerEvent KindBasicTrigger = "PeriodicTimerEvent" + // KindTrigger ... + KindTrigger KindBasicTrigger = "Trigger" +) + +// PossibleKindBasicTriggerValues returns an array of possible values for the KindBasicTrigger const type. +func PossibleKindBasicTriggerValues() []KindBasicTrigger { + return []KindBasicTrigger{KindFileEvent, KindPeriodicTimerEvent, KindTrigger} +} + +// MetricAggregationType enumerates the values for metric aggregation type. +type MetricAggregationType string + +const ( + // MetricAggregationTypeAverage ... + MetricAggregationTypeAverage MetricAggregationType = "Average" + // MetricAggregationTypeCount ... + MetricAggregationTypeCount MetricAggregationType = "Count" + // MetricAggregationTypeMaximum ... + MetricAggregationTypeMaximum MetricAggregationType = "Maximum" + // MetricAggregationTypeMinimum ... + MetricAggregationTypeMinimum MetricAggregationType = "Minimum" + // MetricAggregationTypeNone ... + MetricAggregationTypeNone MetricAggregationType = "None" + // MetricAggregationTypeNotSpecified ... + MetricAggregationTypeNotSpecified MetricAggregationType = "NotSpecified" + // MetricAggregationTypeTotal ... + MetricAggregationTypeTotal MetricAggregationType = "Total" +) + +// PossibleMetricAggregationTypeValues returns an array of possible values for the MetricAggregationType const type. +func PossibleMetricAggregationTypeValues() []MetricAggregationType { + return []MetricAggregationType{MetricAggregationTypeAverage, MetricAggregationTypeCount, MetricAggregationTypeMaximum, MetricAggregationTypeMinimum, MetricAggregationTypeNone, MetricAggregationTypeNotSpecified, MetricAggregationTypeTotal} +} + +// MetricCategory enumerates the values for metric category. +type MetricCategory string + +const ( + // Capacity ... + Capacity MetricCategory = "Capacity" + // Transaction ... + Transaction MetricCategory = "Transaction" +) + +// PossibleMetricCategoryValues returns an array of possible values for the MetricCategory const type. +func PossibleMetricCategoryValues() []MetricCategory { + return []MetricCategory{Capacity, Transaction} +} + +// MetricUnit enumerates the values for metric unit. +type MetricUnit string + +const ( + // Bytes ... + Bytes MetricUnit = "Bytes" + // BytesPerSecond ... + BytesPerSecond MetricUnit = "BytesPerSecond" + // Count ... + Count MetricUnit = "Count" + // CountPerSecond ... + CountPerSecond MetricUnit = "CountPerSecond" + // Milliseconds ... + Milliseconds MetricUnit = "Milliseconds" + // NotSpecified ... + NotSpecified MetricUnit = "NotSpecified" + // Percent ... + Percent MetricUnit = "Percent" + // Seconds ... + Seconds MetricUnit = "Seconds" +) + +// PossibleMetricUnitValues returns an array of possible values for the MetricUnit const type. +func PossibleMetricUnitValues() []MetricUnit { + return []MetricUnit{Bytes, BytesPerSecond, Count, CountPerSecond, Milliseconds, NotSpecified, Percent, Seconds} +} + +// MonitoringStatus enumerates the values for monitoring status. +type MonitoringStatus string + +const ( + // Disabled ... + Disabled MonitoringStatus = "Disabled" + // Enabled ... + Enabled MonitoringStatus = "Enabled" +) + +// PossibleMonitoringStatusValues returns an array of possible values for the MonitoringStatus const type. +func PossibleMonitoringStatusValues() []MonitoringStatus { + return []MonitoringStatus{Disabled, Enabled} +} + +// NetworkAdapterDHCPStatus enumerates the values for network adapter dhcp status. +type NetworkAdapterDHCPStatus string + +const ( + // NetworkAdapterDHCPStatusDisabled ... + NetworkAdapterDHCPStatusDisabled NetworkAdapterDHCPStatus = "Disabled" + // NetworkAdapterDHCPStatusEnabled ... + NetworkAdapterDHCPStatusEnabled NetworkAdapterDHCPStatus = "Enabled" +) + +// PossibleNetworkAdapterDHCPStatusValues returns an array of possible values for the NetworkAdapterDHCPStatus const type. +func PossibleNetworkAdapterDHCPStatusValues() []NetworkAdapterDHCPStatus { + return []NetworkAdapterDHCPStatus{NetworkAdapterDHCPStatusDisabled, NetworkAdapterDHCPStatusEnabled} +} + +// NetworkAdapterRDMAStatus enumerates the values for network adapter rdma status. +type NetworkAdapterRDMAStatus string + +const ( + // Capable ... + Capable NetworkAdapterRDMAStatus = "Capable" + // Incapable ... + Incapable NetworkAdapterRDMAStatus = "Incapable" +) + +// PossibleNetworkAdapterRDMAStatusValues returns an array of possible values for the NetworkAdapterRDMAStatus const type. +func PossibleNetworkAdapterRDMAStatusValues() []NetworkAdapterRDMAStatus { + return []NetworkAdapterRDMAStatus{Capable, Incapable} +} + +// NetworkAdapterStatus enumerates the values for network adapter status. +type NetworkAdapterStatus string + +const ( + // Active ... + Active NetworkAdapterStatus = "Active" + // Inactive ... + Inactive NetworkAdapterStatus = "Inactive" +) + +// PossibleNetworkAdapterStatusValues returns an array of possible values for the NetworkAdapterStatus const type. +func PossibleNetworkAdapterStatusValues() []NetworkAdapterStatus { + return []NetworkAdapterStatus{Active, Inactive} +} + +// NetworkGroup enumerates the values for network group. +type NetworkGroup string + +const ( + // NetworkGroupNone ... + NetworkGroupNone NetworkGroup = "None" + // NetworkGroupNonRDMA ... + NetworkGroupNonRDMA NetworkGroup = "NonRDMA" + // NetworkGroupRDMA ... + NetworkGroupRDMA NetworkGroup = "RDMA" +) + +// PossibleNetworkGroupValues returns an array of possible values for the NetworkGroup const type. +func PossibleNetworkGroupValues() []NetworkGroup { + return []NetworkGroup{NetworkGroupNone, NetworkGroupNonRDMA, NetworkGroupRDMA} +} + +// NodeStatus enumerates the values for node status. +type NodeStatus string + +const ( + // NodeStatusDown ... + NodeStatusDown NodeStatus = "Down" + // NodeStatusRebooting ... + NodeStatusRebooting NodeStatus = "Rebooting" + // NodeStatusShuttingDown ... + NodeStatusShuttingDown NodeStatus = "ShuttingDown" + // NodeStatusUnknown ... + NodeStatusUnknown NodeStatus = "Unknown" + // NodeStatusUp ... + NodeStatusUp NodeStatus = "Up" +) + +// PossibleNodeStatusValues returns an array of possible values for the NodeStatus const type. +func PossibleNodeStatusValues() []NodeStatus { + return []NodeStatus{NodeStatusDown, NodeStatusRebooting, NodeStatusShuttingDown, NodeStatusUnknown, NodeStatusUp} +} + +// OrderState enumerates the values for order state. +type OrderState string + +const ( + // Arriving ... + Arriving OrderState = "Arriving" + // AwaitingFulfilment ... + AwaitingFulfilment OrderState = "AwaitingFulfilment" + // AwaitingPreparation ... + AwaitingPreparation OrderState = "AwaitingPreparation" + // AwaitingReturnShipment ... + AwaitingReturnShipment OrderState = "AwaitingReturnShipment" + // AwaitingShipment ... + AwaitingShipment OrderState = "AwaitingShipment" + // CollectedAtMicrosoft ... + CollectedAtMicrosoft OrderState = "CollectedAtMicrosoft" + // Declined ... + Declined OrderState = "Declined" + // Delivered ... + Delivered OrderState = "Delivered" + // LostDevice ... + LostDevice OrderState = "LostDevice" + // ReplacementRequested ... + ReplacementRequested OrderState = "ReplacementRequested" + // ReturnInitiated ... + ReturnInitiated OrderState = "ReturnInitiated" + // Shipped ... + Shipped OrderState = "Shipped" + // ShippedBack ... + ShippedBack OrderState = "ShippedBack" + // Untracked ... + Untracked OrderState = "Untracked" +) + +// PossibleOrderStateValues returns an array of possible values for the OrderState const type. +func PossibleOrderStateValues() []OrderState { + return []OrderState{Arriving, AwaitingFulfilment, AwaitingPreparation, AwaitingReturnShipment, AwaitingShipment, CollectedAtMicrosoft, Declined, Delivered, LostDevice, ReplacementRequested, ReturnInitiated, Shipped, ShippedBack, Untracked} +} + +// PlatformType enumerates the values for platform type. +type PlatformType string + +const ( + // Linux ... + Linux PlatformType = "Linux" + // Windows ... + Windows PlatformType = "Windows" +) + +// PossiblePlatformTypeValues returns an array of possible values for the PlatformType const type. +func PossiblePlatformTypeValues() []PlatformType { + return []PlatformType{Linux, Windows} +} + +// RoleStatus enumerates the values for role status. +type RoleStatus string + +const ( + // RoleStatusDisabled ... + RoleStatusDisabled RoleStatus = "Disabled" + // RoleStatusEnabled ... + RoleStatusEnabled RoleStatus = "Enabled" +) + +// PossibleRoleStatusValues returns an array of possible values for the RoleStatus const type. +func PossibleRoleStatusValues() []RoleStatus { + return []RoleStatus{RoleStatusDisabled, RoleStatusEnabled} +} + +// RoleTypes enumerates the values for role types. +type RoleTypes string + +const ( + // ASA ... + ASA RoleTypes = "ASA" + // Cognitive ... + Cognitive RoleTypes = "Cognitive" + // Functions ... + Functions RoleTypes = "Functions" + // IOT ... + IOT RoleTypes = "IOT" +) + +// PossibleRoleTypesValues returns an array of possible values for the RoleTypes const type. +func PossibleRoleTypesValues() []RoleTypes { + return []RoleTypes{ASA, Cognitive, Functions, IOT} +} + +// ShareAccessProtocol enumerates the values for share access protocol. +type ShareAccessProtocol string + +const ( + // NFS ... + NFS ShareAccessProtocol = "NFS" + // SMB ... + SMB ShareAccessProtocol = "SMB" +) + +// PossibleShareAccessProtocolValues returns an array of possible values for the ShareAccessProtocol const type. +func PossibleShareAccessProtocolValues() []ShareAccessProtocol { + return []ShareAccessProtocol{NFS, SMB} +} + +// ShareAccessType enumerates the values for share access type. +type ShareAccessType string + +const ( + // Change ... + Change ShareAccessType = "Change" + // Custom ... + Custom ShareAccessType = "Custom" + // Read ... + Read ShareAccessType = "Read" +) + +// PossibleShareAccessTypeValues returns an array of possible values for the ShareAccessType const type. +func PossibleShareAccessTypeValues() []ShareAccessType { + return []ShareAccessType{Change, Custom, Read} +} + +// ShareStatus enumerates the values for share status. +type ShareStatus string + +const ( + // ShareStatusNeedsAttention ... + ShareStatusNeedsAttention ShareStatus = "NeedsAttention" + // ShareStatusOffline ... + ShareStatusOffline ShareStatus = "Offline" + // ShareStatusOK ... + ShareStatusOK ShareStatus = "OK" + // ShareStatusUnknown ... + ShareStatusUnknown ShareStatus = "Unknown" + // ShareStatusUpdating ... + ShareStatusUpdating ShareStatus = "Updating" +) + +// PossibleShareStatusValues returns an array of possible values for the ShareStatus const type. +func PossibleShareStatusValues() []ShareStatus { + return []ShareStatus{ShareStatusNeedsAttention, ShareStatusOffline, ShareStatusOK, ShareStatusUnknown, ShareStatusUpdating} +} + +// SkuName enumerates the values for sku name. +type SkuName string + +const ( + // Edge ... + Edge SkuName = "Edge" + // Gateway ... + Gateway SkuName = "Gateway" +) + +// PossibleSkuNameValues returns an array of possible values for the SkuName const type. +func PossibleSkuNameValues() []SkuName { + return []SkuName{Edge, Gateway} +} + +// SkuTier enumerates the values for sku tier. +type SkuTier string + +const ( + // Standard ... + Standard SkuTier = "Standard" +) + +// PossibleSkuTierValues returns an array of possible values for the SkuTier const type. +func PossibleSkuTierValues() []SkuTier { + return []SkuTier{Standard} +} + +// SSLStatus enumerates the values for ssl status. +type SSLStatus string + +const ( + // SSLStatusDisabled ... + SSLStatusDisabled SSLStatus = "Disabled" + // SSLStatusEnabled ... + SSLStatusEnabled SSLStatus = "Enabled" +) + +// PossibleSSLStatusValues returns an array of possible values for the SSLStatus const type. +func PossibleSSLStatusValues() []SSLStatus { + return []SSLStatus{SSLStatusDisabled, SSLStatusEnabled} +} + +// TimeGrain enumerates the values for time grain. +type TimeGrain string + +const ( + // PT12H ... + PT12H TimeGrain = "PT12H" + // PT15M ... + PT15M TimeGrain = "PT15M" + // PT1D ... + PT1D TimeGrain = "PT1D" + // PT1H ... + PT1H TimeGrain = "PT1H" + // PT1M ... + PT1M TimeGrain = "PT1M" + // PT30M ... + PT30M TimeGrain = "PT30M" + // PT5M ... + PT5M TimeGrain = "PT5M" + // PT6H ... + PT6H TimeGrain = "PT6H" +) + +// PossibleTimeGrainValues returns an array of possible values for the TimeGrain const type. +func PossibleTimeGrainValues() []TimeGrain { + return []TimeGrain{PT12H, PT15M, PT1D, PT1H, PT1M, PT30M, PT5M, PT6H} +} + +// UpdateOperation enumerates the values for update operation. +type UpdateOperation string + +const ( + // UpdateOperationDownload ... + UpdateOperationDownload UpdateOperation = "Download" + // UpdateOperationInstall ... + UpdateOperationInstall UpdateOperation = "Install" + // UpdateOperationNone ... + UpdateOperationNone UpdateOperation = "None" + // UpdateOperationScan ... + UpdateOperationScan UpdateOperation = "Scan" +) + +// PossibleUpdateOperationValues returns an array of possible values for the UpdateOperation const type. +func PossibleUpdateOperationValues() []UpdateOperation { + return []UpdateOperation{UpdateOperationDownload, UpdateOperationInstall, UpdateOperationNone, UpdateOperationScan} +} + +// UpdateOperationStage enumerates the values for update operation stage. +type UpdateOperationStage string + +const ( + // UpdateOperationStageDownloadComplete ... + UpdateOperationStageDownloadComplete UpdateOperationStage = "DownloadComplete" + // UpdateOperationStageDownloadFailed ... + UpdateOperationStageDownloadFailed UpdateOperationStage = "DownloadFailed" + // UpdateOperationStageDownloadStarted ... + UpdateOperationStageDownloadStarted UpdateOperationStage = "DownloadStarted" + // UpdateOperationStageFailure ... + UpdateOperationStageFailure UpdateOperationStage = "Failure" + // UpdateOperationStageInitial ... + UpdateOperationStageInitial UpdateOperationStage = "Initial" + // UpdateOperationStageInstallComplete ... + UpdateOperationStageInstallComplete UpdateOperationStage = "InstallComplete" + // UpdateOperationStageInstallFailed ... + UpdateOperationStageInstallFailed UpdateOperationStage = "InstallFailed" + // UpdateOperationStageInstallStarted ... + UpdateOperationStageInstallStarted UpdateOperationStage = "InstallStarted" + // UpdateOperationStageRebootInitiated ... + UpdateOperationStageRebootInitiated UpdateOperationStage = "RebootInitiated" + // UpdateOperationStageRescanComplete ... + UpdateOperationStageRescanComplete UpdateOperationStage = "RescanComplete" + // UpdateOperationStageRescanFailed ... + UpdateOperationStageRescanFailed UpdateOperationStage = "RescanFailed" + // UpdateOperationStageRescanStarted ... + UpdateOperationStageRescanStarted UpdateOperationStage = "RescanStarted" + // UpdateOperationStageScanComplete ... + UpdateOperationStageScanComplete UpdateOperationStage = "ScanComplete" + // UpdateOperationStageScanFailed ... + UpdateOperationStageScanFailed UpdateOperationStage = "ScanFailed" + // UpdateOperationStageScanStarted ... + UpdateOperationStageScanStarted UpdateOperationStage = "ScanStarted" + // UpdateOperationStageSuccess ... + UpdateOperationStageSuccess UpdateOperationStage = "Success" + // UpdateOperationStageUnknown ... + UpdateOperationStageUnknown UpdateOperationStage = "Unknown" +) + +// PossibleUpdateOperationStageValues returns an array of possible values for the UpdateOperationStage const type. +func PossibleUpdateOperationStageValues() []UpdateOperationStage { + return []UpdateOperationStage{UpdateOperationStageDownloadComplete, UpdateOperationStageDownloadFailed, UpdateOperationStageDownloadStarted, UpdateOperationStageFailure, UpdateOperationStageInitial, UpdateOperationStageInstallComplete, UpdateOperationStageInstallFailed, UpdateOperationStageInstallStarted, UpdateOperationStageRebootInitiated, UpdateOperationStageRescanComplete, UpdateOperationStageRescanFailed, UpdateOperationStageRescanStarted, UpdateOperationStageScanComplete, UpdateOperationStageScanFailed, UpdateOperationStageScanStarted, UpdateOperationStageSuccess, UpdateOperationStageUnknown} +} + +// Address the shipping address of the customer. +type Address struct { + // AddressLine1 - The address line1. + AddressLine1 *string `json:"addressLine1,omitempty"` + // AddressLine2 - The address line2. + AddressLine2 *string `json:"addressLine2,omitempty"` + // AddressLine3 - The address line3. + AddressLine3 *string `json:"addressLine3,omitempty"` + // PostalCode - The postal code. + PostalCode *string `json:"postalCode,omitempty"` + // City - The city name. + City *string `json:"city,omitempty"` + // State - The state name. + State *string `json:"state,omitempty"` + // Country - The country name. + Country *string `json:"country,omitempty"` +} + +// Alert alert on the data box edge/gateway device. +type Alert struct { + autorest.Response `json:"-"` + // AlertProperties - READ-ONLY; Properties of alert. + *AlertProperties `json:"properties,omitempty"` + // ID - READ-ONLY; The path ID that uniquely identifies the object. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; The object name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; The hierarchical type of the object. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for Alert. +func (a Alert) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for Alert struct. +func (a *Alert) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var alertProperties AlertProperties + err = json.Unmarshal(*v, &alertProperties) + if err != nil { + return err + } + a.AlertProperties = &alertProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + a.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + a.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + a.Type = &typeVar + } + } + } + + return nil +} + +// AlertErrorDetails error details for the alert. +type AlertErrorDetails struct { + // ErrorCode - READ-ONLY; Error code. + ErrorCode *string `json:"errorCode,omitempty"` + // ErrorMessage - READ-ONLY; Error Message. + ErrorMessage *string `json:"errorMessage,omitempty"` + // Occurrences - READ-ONLY; Number of occurrences. + Occurrences *int32 `json:"occurrences,omitempty"` +} + +// AlertList collection of alerts. +type AlertList struct { + autorest.Response `json:"-"` + // Value - READ-ONLY; The value. + Value *[]Alert `json:"value,omitempty"` + // NextLink - READ-ONLY; Link to the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// AlertListIterator provides access to a complete listing of Alert values. +type AlertListIterator struct { + i int + page AlertListPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *AlertListIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AlertListIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *AlertListIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter AlertListIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter AlertListIterator) Response() AlertList { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter AlertListIterator) Value() Alert { + if !iter.page.NotDone() { + return Alert{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the AlertListIterator type. +func NewAlertListIterator(page AlertListPage) AlertListIterator { + return AlertListIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (al AlertList) IsEmpty() bool { + return al.Value == nil || len(*al.Value) == 0 +} + +// alertListPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (al AlertList) alertListPreparer(ctx context.Context) (*http.Request, error) { + if al.NextLink == nil || len(to.String(al.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(al.NextLink))) +} + +// AlertListPage contains a page of Alert values. +type AlertListPage struct { + fn func(context.Context, AlertList) (AlertList, error) + al AlertList +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *AlertListPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AlertListPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.al) + if err != nil { + return err + } + page.al = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *AlertListPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page AlertListPage) NotDone() bool { + return !page.al.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page AlertListPage) Response() AlertList { + return page.al +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page AlertListPage) Values() []Alert { + if page.al.IsEmpty() { + return nil + } + return *page.al.Value +} + +// Creates a new instance of the AlertListPage type. +func NewAlertListPage(getNextPage func(context.Context, AlertList) (AlertList, error)) AlertListPage { + return AlertListPage{fn: getNextPage} +} + +// AlertProperties properties of alert. +type AlertProperties struct { + // Title - READ-ONLY; Alert title. + Title *string `json:"title,omitempty"` + // AlertType - READ-ONLY; Alert type. + AlertType *string `json:"alertType,omitempty"` + // AppearedAtDateTime - READ-ONLY; UTC time when the alert appeared. + AppearedAtDateTime *date.Time `json:"appearedAtDateTime,omitempty"` + // Recommendation - READ-ONLY; Alert recommendation. + Recommendation *string `json:"recommendation,omitempty"` + // Severity - READ-ONLY; Severity of the alert. Possible values include: 'Informational', 'Warning', 'Critical' + Severity AlertSeverity `json:"severity,omitempty"` + // ErrorDetails - READ-ONLY; Error details of the alert. + ErrorDetails *AlertErrorDetails `json:"errorDetails,omitempty"` + // DetailedInformation - READ-ONLY; Alert details. + DetailedInformation map[string]*string `json:"detailedInformation"` +} + +// MarshalJSON is the custom marshaler for AlertProperties. +func (ap AlertProperties) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + return json.Marshal(objectMap) +} + +// ARMBaseModel represents the base class for all object models. +type ARMBaseModel struct { + // ID - READ-ONLY; The path ID that uniquely identifies the object. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; The object name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; The hierarchical type of the object. + Type *string `json:"type,omitempty"` +} + +// AsymmetricEncryptedSecret represent the secrets intended for encryption with asymmetric key pair. +type AsymmetricEncryptedSecret struct { + // Value - The value of the secret. + Value *string `json:"value,omitempty"` + // EncryptionCertThumbprint - Thumbprint certificate used to encrypt \"Value\". If the value is unencrypted, it will be null. + EncryptionCertThumbprint *string `json:"encryptionCertThumbprint,omitempty"` + // EncryptionAlgorithm - The algorithm used to encrypt "Value". Possible values include: 'None', 'AES256', 'RSAESPKCS1V15' + EncryptionAlgorithm EncryptionAlgorithm `json:"encryptionAlgorithm,omitempty"` +} + +// Authentication authentication mechanism for IoT devices. +type Authentication struct { + // SymmetricKey - Symmetric key for authentication. + SymmetricKey *SymmetricKey `json:"symmetricKey,omitempty"` +} + +// AzureContainerInfo azure container mapping of the endpoint. +type AzureContainerInfo struct { + // StorageAccountCredentialID - ID of the storage account credential used to access storage. + StorageAccountCredentialID *string `json:"storageAccountCredentialId,omitempty"` + // ContainerName - Container name (Based on the data format specified, this represents the name of Azure Files/Page blob/Block blob). + ContainerName *string `json:"containerName,omitempty"` + // DataFormat - Storage format used for the file represented by the share. Possible values include: 'BlockBlob', 'PageBlob', 'AzureFile' + DataFormat AzureContainerDataFormat `json:"dataFormat,omitempty"` +} + +// BandwidthSchedule the bandwidth schedule details. +type BandwidthSchedule struct { + autorest.Response `json:"-"` + // BandwidthScheduleProperties - The properties of the bandwidth schedule. + *BandwidthScheduleProperties `json:"properties,omitempty"` + // ID - READ-ONLY; The path ID that uniquely identifies the object. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; The object name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; The hierarchical type of the object. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for BandwidthSchedule. +func (bs BandwidthSchedule) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if bs.BandwidthScheduleProperties != nil { + objectMap["properties"] = bs.BandwidthScheduleProperties + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for BandwidthSchedule struct. +func (bs *BandwidthSchedule) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var bandwidthScheduleProperties BandwidthScheduleProperties + err = json.Unmarshal(*v, &bandwidthScheduleProperties) + if err != nil { + return err + } + bs.BandwidthScheduleProperties = &bandwidthScheduleProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + bs.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + bs.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + bs.Type = &typeVar + } + } + } + + return nil +} + +// BandwidthScheduleProperties the properties of the bandwidth schedule. +type BandwidthScheduleProperties struct { + // Start - The start time of the schedule in UTC. + Start *string `json:"start,omitempty"` + // Stop - The stop time of the schedule in UTC. + Stop *string `json:"stop,omitempty"` + // RateInMbps - The bandwidth rate in Mbps. + RateInMbps *int32 `json:"rateInMbps,omitempty"` + // Days - The days of the week when this schedule is applicable. + Days *[]DayOfWeek `json:"days,omitempty"` +} + +// BandwidthSchedulesCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type BandwidthSchedulesCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *BandwidthSchedulesCreateOrUpdateFuture) Result(client BandwidthSchedulesClient) (bs BandwidthSchedule, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.BandwidthSchedulesCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("databoxedge.BandwidthSchedulesCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if bs.Response.Response, err = future.GetResult(sender); err == nil && bs.Response.Response.StatusCode != http.StatusNoContent { + bs, err = client.CreateOrUpdateResponder(bs.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.BandwidthSchedulesCreateOrUpdateFuture", "Result", bs.Response.Response, "Failure responding to request") + } + } + return +} + +// BandwidthSchedulesDeleteFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type BandwidthSchedulesDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *BandwidthSchedulesDeleteFuture) Result(client BandwidthSchedulesClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.BandwidthSchedulesDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("databoxedge.BandwidthSchedulesDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// BandwidthSchedulesList the collection of bandwidth schedules. +type BandwidthSchedulesList struct { + autorest.Response `json:"-"` + // Value - READ-ONLY; The list of bandwidth schedules. + Value *[]BandwidthSchedule `json:"value,omitempty"` + // NextLink - READ-ONLY; Link to the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// BandwidthSchedulesListIterator provides access to a complete listing of BandwidthSchedule values. +type BandwidthSchedulesListIterator struct { + i int + page BandwidthSchedulesListPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *BandwidthSchedulesListIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BandwidthSchedulesListIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *BandwidthSchedulesListIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter BandwidthSchedulesListIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter BandwidthSchedulesListIterator) Response() BandwidthSchedulesList { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter BandwidthSchedulesListIterator) Value() BandwidthSchedule { + if !iter.page.NotDone() { + return BandwidthSchedule{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the BandwidthSchedulesListIterator type. +func NewBandwidthSchedulesListIterator(page BandwidthSchedulesListPage) BandwidthSchedulesListIterator { + return BandwidthSchedulesListIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (bsl BandwidthSchedulesList) IsEmpty() bool { + return bsl.Value == nil || len(*bsl.Value) == 0 +} + +// bandwidthSchedulesListPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (bsl BandwidthSchedulesList) bandwidthSchedulesListPreparer(ctx context.Context) (*http.Request, error) { + if bsl.NextLink == nil || len(to.String(bsl.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(bsl.NextLink))) +} + +// BandwidthSchedulesListPage contains a page of BandwidthSchedule values. +type BandwidthSchedulesListPage struct { + fn func(context.Context, BandwidthSchedulesList) (BandwidthSchedulesList, error) + bsl BandwidthSchedulesList +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *BandwidthSchedulesListPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BandwidthSchedulesListPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.bsl) + if err != nil { + return err + } + page.bsl = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *BandwidthSchedulesListPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page BandwidthSchedulesListPage) NotDone() bool { + return !page.bsl.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page BandwidthSchedulesListPage) Response() BandwidthSchedulesList { + return page.bsl +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page BandwidthSchedulesListPage) Values() []BandwidthSchedule { + if page.bsl.IsEmpty() { + return nil + } + return *page.bsl.Value +} + +// Creates a new instance of the BandwidthSchedulesListPage type. +func NewBandwidthSchedulesListPage(getNextPage func(context.Context, BandwidthSchedulesList) (BandwidthSchedulesList, error)) BandwidthSchedulesListPage { + return BandwidthSchedulesListPage{fn: getNextPage} +} + +// ClientAccessRight the mapping between a particular client IP and the type of access client has on the +// NFS share. +type ClientAccessRight struct { + // Client - IP of the client. + Client *string `json:"client,omitempty"` + // AccessPermission - Type of access to be allowed for the client. Possible values include: 'NoAccess', 'ReadOnly', 'ReadWrite' + AccessPermission ClientPermissionType `json:"accessPermission,omitempty"` +} + +// CloudError an error response from the service. +type CloudError struct { + // Error - The error details. + Error *CloudErrorBody `json:"error,omitempty"` +} + +// CloudErrorBody an error response from the service. +type CloudErrorBody struct { + // Code - An identifier for the error. Codes are invariant and are intended to be consumed programmatically. + Code *string `json:"code,omitempty"` + // Message - A message describing the error, intended to be suitable for display in a user interface. + Message *string `json:"message,omitempty"` + // Details - A list of additional details about the error. + Details *[]CloudErrorBody `json:"details,omitempty"` +} + +// ContactDetails contains all the contact details of the customer. +type ContactDetails struct { + // ContactPerson - The contact person name. + ContactPerson *string `json:"contactPerson,omitempty"` + // CompanyName - The name of the company. + CompanyName *string `json:"companyName,omitempty"` + // Phone - The phone number. + Phone *string `json:"phone,omitempty"` + // EmailList - The email list. + EmailList *[]string `json:"emailList,omitempty"` +} + +// Device the Data Box Edge/Gateway device. +type Device struct { + autorest.Response `json:"-"` + // Location - The location of the device. This is a supported and registered Azure geographical region (for example, West US, East US, or Southeast Asia). The geographical region of a device cannot be changed once it is created, but if an identical geographical region is specified on update, the request will succeed. + Location *string `json:"location,omitempty"` + // Tags - The list of tags that describe the device. These tags can be used to view and group this device (across resource groups). + Tags map[string]*string `json:"tags"` + // Sku - The SKU type. + Sku *Sku `json:"sku,omitempty"` + // Etag - The etag for the devices. + Etag *string `json:"etag,omitempty"` + // DeviceProperties - The properties of the Data Box Edge/Gateway device. + *DeviceProperties `json:"properties,omitempty"` + // ID - READ-ONLY; The path ID that uniquely identifies the object. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; The object name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; The hierarchical type of the object. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for Device. +func (d Device) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if d.Location != nil { + objectMap["location"] = d.Location + } + if d.Tags != nil { + objectMap["tags"] = d.Tags + } + if d.Sku != nil { + objectMap["sku"] = d.Sku + } + if d.Etag != nil { + objectMap["etag"] = d.Etag + } + if d.DeviceProperties != nil { + objectMap["properties"] = d.DeviceProperties + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for Device struct. +func (d *Device) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + d.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + d.Tags = tags + } + case "sku": + if v != nil { + var sku Sku + err = json.Unmarshal(*v, &sku) + if err != nil { + return err + } + d.Sku = &sku + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + d.Etag = &etag + } + case "properties": + if v != nil { + var deviceProperties DeviceProperties + err = json.Unmarshal(*v, &deviceProperties) + if err != nil { + return err + } + d.DeviceProperties = &deviceProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + d.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + d.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + d.Type = &typeVar + } + } + } + + return nil +} + +// DeviceExtendedInfo the extended Info of the Data Box Edge/Gateway device. +type DeviceExtendedInfo struct { + autorest.Response `json:"-"` + // DeviceExtendedInfoProperties - The extended info properties. + *DeviceExtendedInfoProperties `json:"properties,omitempty"` + // ID - READ-ONLY; The path ID that uniquely identifies the object. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; The object name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; The hierarchical type of the object. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for DeviceExtendedInfo. +func (dei DeviceExtendedInfo) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if dei.DeviceExtendedInfoProperties != nil { + objectMap["properties"] = dei.DeviceExtendedInfoProperties + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for DeviceExtendedInfo struct. +func (dei *DeviceExtendedInfo) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var deviceExtendedInfoProperties DeviceExtendedInfoProperties + err = json.Unmarshal(*v, &deviceExtendedInfoProperties) + if err != nil { + return err + } + dei.DeviceExtendedInfoProperties = &deviceExtendedInfoProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + dei.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + dei.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + dei.Type = &typeVar + } + } + } + + return nil +} + +// DeviceExtendedInfoProperties the properties of the Data Box Edge/Gateway device extended info. +type DeviceExtendedInfoProperties struct { + // EncryptionKeyThumbprint - The digital signature of encrypted certificate. + EncryptionKeyThumbprint *string `json:"encryptionKeyThumbprint,omitempty"` + // EncryptionKey - The public part of the encryption certificate. Client uses this to encrypt any secret. + EncryptionKey *string `json:"encryptionKey,omitempty"` + // ResourceKey - READ-ONLY; The Resource ID of the Resource. + ResourceKey *string `json:"resourceKey,omitempty"` +} + +// DeviceList the collection of Data Box Edge/Gateway devices. +type DeviceList struct { + autorest.Response `json:"-"` + // Value - READ-ONLY; The list of Data Box Edge/Gateway devices. + Value *[]Device `json:"value,omitempty"` + // NextLink - READ-ONLY; Link to the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// DeviceListIterator provides access to a complete listing of Device values. +type DeviceListIterator struct { + i int + page DeviceListPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *DeviceListIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeviceListIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *DeviceListIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter DeviceListIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter DeviceListIterator) Response() DeviceList { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter DeviceListIterator) Value() Device { + if !iter.page.NotDone() { + return Device{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the DeviceListIterator type. +func NewDeviceListIterator(page DeviceListPage) DeviceListIterator { + return DeviceListIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (dl DeviceList) IsEmpty() bool { + return dl.Value == nil || len(*dl.Value) == 0 +} + +// deviceListPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (dl DeviceList) deviceListPreparer(ctx context.Context) (*http.Request, error) { + if dl.NextLink == nil || len(to.String(dl.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(dl.NextLink))) +} + +// DeviceListPage contains a page of Device values. +type DeviceListPage struct { + fn func(context.Context, DeviceList) (DeviceList, error) + dl DeviceList +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *DeviceListPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeviceListPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.dl) + if err != nil { + return err + } + page.dl = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *DeviceListPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page DeviceListPage) NotDone() bool { + return !page.dl.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page DeviceListPage) Response() DeviceList { + return page.dl +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page DeviceListPage) Values() []Device { + if page.dl.IsEmpty() { + return nil + } + return *page.dl.Value +} + +// Creates a new instance of the DeviceListPage type. +func NewDeviceListPage(getNextPage func(context.Context, DeviceList) (DeviceList, error)) DeviceListPage { + return DeviceListPage{fn: getNextPage} +} + +// DevicePatch the Data Box Edge/Gateway device patch. +type DevicePatch struct { + // Tags - The tags attached to the Data Box Edge/Gateway resource. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for DevicePatch. +func (dp DevicePatch) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if dp.Tags != nil { + objectMap["tags"] = dp.Tags + } + return json.Marshal(objectMap) +} + +// DeviceProperties the properties of the Data Box Edge/Gateway device. +type DeviceProperties struct { + // DataBoxEdgeDeviceStatus - The status of the Data Box Edge/Gateway device. Possible values include: 'ReadyToSetup', 'Online', 'Offline', 'NeedsAttention', 'Disconnected', 'PartiallyDisconnected', 'Maintenance' + DataBoxEdgeDeviceStatus DeviceStatus `json:"dataBoxEdgeDeviceStatus,omitempty"` + // SerialNumber - READ-ONLY; The Serial Number of Data Box Edge/Gateway device. + SerialNumber *string `json:"serialNumber,omitempty"` + // Description - The Description of the Data Box Edge/Gateway device. + Description *string `json:"description,omitempty"` + // ModelDescription - The description of the Data Box Edge/Gateway device model. + ModelDescription *string `json:"modelDescription,omitempty"` + // DeviceType - READ-ONLY; The type of the Data Box Edge/Gateway device. Possible values include: 'DataBoxEdgeDevice' + DeviceType DeviceType `json:"deviceType,omitempty"` + // FriendlyName - The Data Box Edge/Gateway device name. + FriendlyName *string `json:"friendlyName,omitempty"` + // Culture - READ-ONLY; The Data Box Edge/Gateway device culture. + Culture *string `json:"culture,omitempty"` + // DeviceModel - READ-ONLY; The Data Box Edge/Gateway device model. + DeviceModel *string `json:"deviceModel,omitempty"` + // DeviceSoftwareVersion - READ-ONLY; The Data Box Edge/Gateway device software version. + DeviceSoftwareVersion *string `json:"deviceSoftwareVersion,omitempty"` + // DeviceLocalCapacity - READ-ONLY; The Data Box Edge/Gateway device local capacity in MB. + DeviceLocalCapacity *int64 `json:"deviceLocalCapacity,omitempty"` + // TimeZone - READ-ONLY; The Data Box Edge/Gateway device timezone. + TimeZone *string `json:"timeZone,omitempty"` + // DeviceHcsVersion - READ-ONLY; The device software version number of the device (eg: 1.2.18105.6). + DeviceHcsVersion *string `json:"deviceHcsVersion,omitempty"` + // ConfiguredRoleTypes - READ-ONLY; Type of compute roles configured. + ConfiguredRoleTypes *[]RoleTypes `json:"configuredRoleTypes,omitempty"` + // NodeCount - READ-ONLY; The number of nodes in the cluster. + NodeCount *int32 `json:"nodeCount,omitempty"` +} + +// DevicesCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type DevicesCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *DevicesCreateOrUpdateFuture) Result(client DevicesClient) (d Device, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.DevicesCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("databoxedge.DevicesCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if d.Response.Response, err = future.GetResult(sender); err == nil && d.Response.Response.StatusCode != http.StatusNoContent { + d, err = client.CreateOrUpdateResponder(d.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.DevicesCreateOrUpdateFuture", "Result", d.Response.Response, "Failure responding to request") + } + } + return +} + +// DevicesCreateOrUpdateSecuritySettingsFuture an abstraction for monitoring and retrieving the results of +// a long-running operation. +type DevicesCreateOrUpdateSecuritySettingsFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *DevicesCreateOrUpdateSecuritySettingsFuture) Result(client DevicesClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.DevicesCreateOrUpdateSecuritySettingsFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("databoxedge.DevicesCreateOrUpdateSecuritySettingsFuture") + return + } + ar.Response = future.Response() + return +} + +// DevicesDeleteFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type DevicesDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *DevicesDeleteFuture) Result(client DevicesClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.DevicesDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("databoxedge.DevicesDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// DevicesDownloadUpdatesFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type DevicesDownloadUpdatesFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *DevicesDownloadUpdatesFuture) Result(client DevicesClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.DevicesDownloadUpdatesFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("databoxedge.DevicesDownloadUpdatesFuture") + return + } + ar.Response = future.Response() + return +} + +// DevicesInstallUpdatesFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type DevicesInstallUpdatesFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *DevicesInstallUpdatesFuture) Result(client DevicesClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.DevicesInstallUpdatesFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("databoxedge.DevicesInstallUpdatesFuture") + return + } + ar.Response = future.Response() + return +} + +// DevicesScanForUpdatesFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type DevicesScanForUpdatesFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *DevicesScanForUpdatesFuture) Result(client DevicesClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.DevicesScanForUpdatesFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("databoxedge.DevicesScanForUpdatesFuture") + return + } + ar.Response = future.Response() + return +} + +// FileEventTrigger trigger details. +type FileEventTrigger struct { + // FileTriggerProperties - File trigger properties. + *FileTriggerProperties `json:"properties,omitempty"` + // ID - READ-ONLY; The path ID that uniquely identifies the object. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; The object name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; The hierarchical type of the object. + Type *string `json:"type,omitempty"` + // Kind - Possible values include: 'KindTrigger', 'KindFileEvent', 'KindPeriodicTimerEvent' + Kind KindBasicTrigger `json:"kind,omitempty"` +} + +// MarshalJSON is the custom marshaler for FileEventTrigger. +func (fet FileEventTrigger) MarshalJSON() ([]byte, error) { + fet.Kind = KindFileEvent + objectMap := make(map[string]interface{}) + if fet.FileTriggerProperties != nil { + objectMap["properties"] = fet.FileTriggerProperties + } + if fet.Kind != "" { + objectMap["kind"] = fet.Kind + } + return json.Marshal(objectMap) +} + +// AsFileEventTrigger is the BasicTrigger implementation for FileEventTrigger. +func (fet FileEventTrigger) AsFileEventTrigger() (*FileEventTrigger, bool) { + return &fet, true +} + +// AsPeriodicTimerEventTrigger is the BasicTrigger implementation for FileEventTrigger. +func (fet FileEventTrigger) AsPeriodicTimerEventTrigger() (*PeriodicTimerEventTrigger, bool) { + return nil, false +} + +// AsTrigger is the BasicTrigger implementation for FileEventTrigger. +func (fet FileEventTrigger) AsTrigger() (*Trigger, bool) { + return nil, false +} + +// AsBasicTrigger is the BasicTrigger implementation for FileEventTrigger. +func (fet FileEventTrigger) AsBasicTrigger() (BasicTrigger, bool) { + return &fet, true +} + +// UnmarshalJSON is the custom unmarshaler for FileEventTrigger struct. +func (fet *FileEventTrigger) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var fileTriggerProperties FileTriggerProperties + err = json.Unmarshal(*v, &fileTriggerProperties) + if err != nil { + return err + } + fet.FileTriggerProperties = &fileTriggerProperties + } + case "kind": + if v != nil { + var kind KindBasicTrigger + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + fet.Kind = kind + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + fet.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + fet.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + fet.Type = &typeVar + } + } + } + + return nil +} + +// FileSourceInfo file source details. +type FileSourceInfo struct { + // ShareID - File share ID. + ShareID *string `json:"shareId,omitempty"` +} + +// FileTriggerProperties file trigger properties. +type FileTriggerProperties struct { + // SourceInfo - File event source details. + SourceInfo *FileSourceInfo `json:"sourceInfo,omitempty"` + // SinkInfo - Role sink info. + SinkInfo *RoleSinkInfo `json:"sinkInfo,omitempty"` + // CustomContextTag - A custom context tag typically used to correlate the trigger against its usage. For example, if a periodic timer trigger is intended for certain specific IoT modules in the device, the tag can be the name or the image URL of the module. + CustomContextTag *string `json:"customContextTag,omitempty"` +} + +// IoTDeviceInfo metadata of IoT device/IoT Edge device to be configured. +type IoTDeviceInfo struct { + // DeviceID - ID of the IoT device/edge device. + DeviceID *string `json:"deviceId,omitempty"` + // IoTHostHub - Host name for the IoT hub associated to the device. + IoTHostHub *string `json:"ioTHostHub,omitempty"` + // IoTHostHubID - Id of the IoT hub associated to the device. + IoTHostHubID *string `json:"ioTHostHubId,omitempty"` + // Authentication - IoT device authentication info. + Authentication *Authentication `json:"authentication,omitempty"` +} + +// IoTRole compute role. +type IoTRole struct { + // IoTRoleProperties - Properties specific to IoT role. + *IoTRoleProperties `json:"properties,omitempty"` + // ID - READ-ONLY; The path ID that uniquely identifies the object. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; The object name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; The hierarchical type of the object. + Type *string `json:"type,omitempty"` + // Kind - Possible values include: 'KindRole', 'KindIOT' + Kind Kind `json:"kind,omitempty"` +} + +// MarshalJSON is the custom marshaler for IoTRole. +func (itr IoTRole) MarshalJSON() ([]byte, error) { + itr.Kind = KindIOT + objectMap := make(map[string]interface{}) + if itr.IoTRoleProperties != nil { + objectMap["properties"] = itr.IoTRoleProperties + } + if itr.Kind != "" { + objectMap["kind"] = itr.Kind + } + return json.Marshal(objectMap) +} + +// AsIoTRole is the BasicRole implementation for IoTRole. +func (itr IoTRole) AsIoTRole() (*IoTRole, bool) { + return &itr, true +} + +// AsRole is the BasicRole implementation for IoTRole. +func (itr IoTRole) AsRole() (*Role, bool) { + return nil, false +} + +// AsBasicRole is the BasicRole implementation for IoTRole. +func (itr IoTRole) AsBasicRole() (BasicRole, bool) { + return &itr, true +} + +// UnmarshalJSON is the custom unmarshaler for IoTRole struct. +func (itr *IoTRole) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var ioTRoleProperties IoTRoleProperties + err = json.Unmarshal(*v, &ioTRoleProperties) + if err != nil { + return err + } + itr.IoTRoleProperties = &ioTRoleProperties + } + case "kind": + if v != nil { + var kind Kind + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + itr.Kind = kind + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + itr.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + itr.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + itr.Type = &typeVar + } + } + } + + return nil +} + +// IoTRoleProperties ioT role properties. +type IoTRoleProperties struct { + // HostPlatform - Host OS supported by the IoT role. Possible values include: 'Windows', 'Linux' + HostPlatform PlatformType `json:"hostPlatform,omitempty"` + // IoTDeviceDetails - IoT device metadata to which data box edge device needs to be connected. + IoTDeviceDetails *IoTDeviceInfo `json:"ioTDeviceDetails,omitempty"` + // IoTEdgeDeviceDetails - IoT edge device to which the IoT role needs to be configured. + IoTEdgeDeviceDetails *IoTDeviceInfo `json:"ioTEdgeDeviceDetails,omitempty"` + // ShareMappings - Mount points of shares in role(s). + ShareMappings *[]MountPointMap `json:"shareMappings,omitempty"` + // RoleStatus - Role status. Possible values include: 'RoleStatusEnabled', 'RoleStatusDisabled' + RoleStatus RoleStatus `json:"roleStatus,omitempty"` +} + +// Ipv4Config details related to the IPv4 address configuration. +type Ipv4Config struct { + // IPAddress - READ-ONLY; The IPv4 address of the network adapter. + IPAddress *string `json:"ipAddress,omitempty"` + // Subnet - READ-ONLY; The IPv4 subnet of the network adapter. + Subnet *string `json:"subnet,omitempty"` + // Gateway - READ-ONLY; The IPv4 gateway of the network adapter. + Gateway *string `json:"gateway,omitempty"` +} + +// Ipv6Config details related to the IPv6 address configuration. +type Ipv6Config struct { + // IPAddress - READ-ONLY; The IPv6 address of the network adapter. + IPAddress *string `json:"ipAddress,omitempty"` + // PrefixLength - READ-ONLY; The IPv6 prefix of the network adapter. + PrefixLength *int32 `json:"prefixLength,omitempty"` + // Gateway - READ-ONLY; The IPv6 gateway of the network adapter. + Gateway *string `json:"gateway,omitempty"` +} + +// Job a device job. +type Job struct { + autorest.Response `json:"-"` + // ID - READ-ONLY; The path ID that uniquely identifies the object. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; The name of the object. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; The hierarchical type of the object. + Type *string `json:"type,omitempty"` + // Status - READ-ONLY; The current status of the job. Possible values include: 'JobStatusInvalid', 'JobStatusRunning', 'JobStatusSucceeded', 'JobStatusFailed', 'JobStatusCanceled', 'JobStatusPaused', 'JobStatusScheduled' + Status JobStatus `json:"status,omitempty"` + // StartTime - READ-ONLY; The UTC date and time at which the job started. + StartTime *date.Time `json:"startTime,omitempty"` + // EndTime - READ-ONLY; The UTC date and time at which the job completed. + EndTime *date.Time `json:"endTime,omitempty"` + // PercentComplete - READ-ONLY; The percentage of the job that is complete. + PercentComplete *int32 `json:"percentComplete,omitempty"` + // Error - READ-ONLY; The error details. + Error *JobErrorDetails `json:"error,omitempty"` + // JobProperties - READ-ONLY; The properties of the job. + *JobProperties `json:"properties,omitempty"` +} + +// MarshalJSON is the custom marshaler for Job. +func (j Job) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for Job struct. +func (j *Job) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + j.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + j.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + j.Type = &typeVar + } + case "status": + if v != nil { + var status JobStatus + err = json.Unmarshal(*v, &status) + if err != nil { + return err + } + j.Status = status + } + case "startTime": + if v != nil { + var startTime date.Time + err = json.Unmarshal(*v, &startTime) + if err != nil { + return err + } + j.StartTime = &startTime + } + case "endTime": + if v != nil { + var endTime date.Time + err = json.Unmarshal(*v, &endTime) + if err != nil { + return err + } + j.EndTime = &endTime + } + case "percentComplete": + if v != nil { + var percentComplete int32 + err = json.Unmarshal(*v, &percentComplete) + if err != nil { + return err + } + j.PercentComplete = &percentComplete + } + case "error": + if v != nil { + var errorVar JobErrorDetails + err = json.Unmarshal(*v, &errorVar) + if err != nil { + return err + } + j.Error = &errorVar + } + case "properties": + if v != nil { + var jobProperties JobProperties + err = json.Unmarshal(*v, &jobProperties) + if err != nil { + return err + } + j.JobProperties = &jobProperties + } + } + } + + return nil +} + +// JobErrorDetails the job error information containing the list of job errors. +type JobErrorDetails struct { + // ErrorDetails - READ-ONLY; The error details. + ErrorDetails *[]JobErrorItem `json:"errorDetails,omitempty"` + // Code - READ-ONLY; The code intended for programmatic access. + Code *string `json:"code,omitempty"` + // Message - READ-ONLY; The message that describes the error in detail. + Message *string `json:"message,omitempty"` +} + +// JobErrorItem the job error items. +type JobErrorItem struct { + // Recommendations - READ-ONLY; The recommended actions. + Recommendations *[]string `json:"recommendations,omitempty"` + // Code - READ-ONLY; The code intended for programmatic access. + Code *string `json:"code,omitempty"` + // Message - READ-ONLY; The message that describes the error in detail. + Message *string `json:"message,omitempty"` +} + +// JobProperties the properties for the job. +type JobProperties struct { + // JobType - READ-ONLY; The type of the job. Possible values include: 'JobTypeInvalid', 'JobTypeScanForUpdates', 'JobTypeDownloadUpdates', 'JobTypeInstallUpdates', 'JobTypeRefreshShare' + JobType JobType `json:"jobType,omitempty"` + // CurrentStage - READ-ONLY; Current stage of the update operation. Possible values include: 'UpdateOperationStageUnknown', 'UpdateOperationStageInitial', 'UpdateOperationStageScanStarted', 'UpdateOperationStageScanComplete', 'UpdateOperationStageScanFailed', 'UpdateOperationStageDownloadStarted', 'UpdateOperationStageDownloadComplete', 'UpdateOperationStageDownloadFailed', 'UpdateOperationStageInstallStarted', 'UpdateOperationStageInstallComplete', 'UpdateOperationStageInstallFailed', 'UpdateOperationStageRebootInitiated', 'UpdateOperationStageSuccess', 'UpdateOperationStageFailure', 'UpdateOperationStageRescanStarted', 'UpdateOperationStageRescanComplete', 'UpdateOperationStageRescanFailed' + CurrentStage UpdateOperationStage `json:"currentStage,omitempty"` + // DownloadProgress - READ-ONLY; The download progress. + DownloadProgress *UpdateDownloadProgress `json:"downloadProgress,omitempty"` + // InstallProgress - READ-ONLY; The install progress. + InstallProgress *UpdateInstallProgress `json:"installProgress,omitempty"` + // TotalRefreshErrors - READ-ONLY; Total number of errors encountered during the refresh process. + TotalRefreshErrors *int32 `json:"totalRefreshErrors,omitempty"` + // ErrorManifestFile - READ-ONLY; Local share/remote container relative path to the error manifest file of the refresh. + ErrorManifestFile *string `json:"errorManifestFile,omitempty"` + // ShareID - READ-ONLY; ARM ID of the share that was refreshed. + ShareID *string `json:"shareId,omitempty"` + // Folder - If only subfolders need to be refreshed, then the subfolder path inside the share. (The path is empty if there are no subfolders.) + Folder *string `json:"folder,omitempty"` +} + +// MetricDimensionV1 metric Dimension v1. +type MetricDimensionV1 struct { + // Name - Name of the metrics dimension. + Name *string `json:"name,omitempty"` + // DisplayName - Display name of the metrics dimension. + DisplayName *string `json:"displayName,omitempty"` + // ToBeExportedForShoebox - To be exported to shoe box. + ToBeExportedForShoebox *bool `json:"toBeExportedForShoebox,omitempty"` +} + +// MetricSpecificationV1 metric specification version 1. +type MetricSpecificationV1 struct { + // Name - Name of the metric. + Name *string `json:"name,omitempty"` + // DisplayName - Display name of the metric. + DisplayName *string `json:"displayName,omitempty"` + // DisplayDescription - Description of the metric to be displayed. + DisplayDescription *string `json:"displayDescription,omitempty"` + // Unit - Metric units. Possible values include: 'NotSpecified', 'Percent', 'Count', 'Seconds', 'Milliseconds', 'Bytes', 'BytesPerSecond', 'CountPerSecond' + Unit MetricUnit `json:"unit,omitempty"` + // AggregationType - Metric aggregation type. Possible values include: 'MetricAggregationTypeNotSpecified', 'MetricAggregationTypeNone', 'MetricAggregationTypeAverage', 'MetricAggregationTypeMinimum', 'MetricAggregationTypeMaximum', 'MetricAggregationTypeTotal', 'MetricAggregationTypeCount' + AggregationType MetricAggregationType `json:"aggregationType,omitempty"` + // Dimensions - Metric dimensions, other than default dimension which is resource. + Dimensions *[]MetricDimensionV1 `json:"dimensions,omitempty"` + // FillGapWithZero - Set true to fill the gaps with zero. + FillGapWithZero *bool `json:"fillGapWithZero,omitempty"` + // Category - Metric category. Possible values include: 'Capacity', 'Transaction' + Category MetricCategory `json:"category,omitempty"` + // ResourceIDDimensionNameOverride - Resource name override. + ResourceIDDimensionNameOverride *string `json:"resourceIdDimensionNameOverride,omitempty"` + // SupportedTimeGrainTypes - Support granularity of metrics. + SupportedTimeGrainTypes *[]TimeGrain `json:"supportedTimeGrainTypes,omitempty"` + // SupportedAggregationTypes - Support metric aggregation type. + SupportedAggregationTypes *[]MetricAggregationType `json:"supportedAggregationTypes,omitempty"` +} + +// MountPointMap the share mount point. +type MountPointMap struct { + // ShareID - ID of the share mounted to the role VM. + ShareID *string `json:"shareId,omitempty"` + // RoleID - READ-ONLY; ID of the role to which share is mounted. + RoleID *string `json:"roleId,omitempty"` + // MountPoint - READ-ONLY; Mount point for the share. + MountPoint *string `json:"mountPoint,omitempty"` + // RoleType - READ-ONLY; Role type. Possible values include: 'IOT', 'ASA', 'Functions', 'Cognitive' + RoleType RoleTypes `json:"roleType,omitempty"` +} + +// NetworkAdapter represents the networkAdapter on a device. +type NetworkAdapter struct { + // AdapterID - READ-ONLY; Instance ID of network adapter. + AdapterID *string `json:"adapterId,omitempty"` + // AdapterPosition - READ-ONLY; Hardware position of network adapter. + AdapterPosition *NetworkAdapterPosition `json:"adapterPosition,omitempty"` + // Index - READ-ONLY; Logical index of the adapter. + Index *int32 `json:"index,omitempty"` + // NodeID - READ-ONLY; Node ID of the network adapter. + NodeID *string `json:"nodeId,omitempty"` + // NetworkAdapterName - READ-ONLY; Network adapter name. + NetworkAdapterName *string `json:"networkAdapterName,omitempty"` + // Label - READ-ONLY; Hardware label for the adapter. + Label *string `json:"label,omitempty"` + // MacAddress - READ-ONLY; MAC address. + MacAddress *string `json:"macAddress,omitempty"` + // LinkSpeed - READ-ONLY; Link speed. + LinkSpeed *int64 `json:"linkSpeed,omitempty"` + // Status - READ-ONLY; Value indicating whether this adapter is valid. Possible values include: 'Inactive', 'Active' + Status NetworkAdapterStatus `json:"status,omitempty"` + // RdmaStatus - Value indicating whether this adapter is RDMA capable. Possible values include: 'Incapable', 'Capable' + RdmaStatus NetworkAdapterRDMAStatus `json:"rdmaStatus,omitempty"` + // DhcpStatus - Value indicating whether this adapter has DHCP enabled. Possible values include: 'NetworkAdapterDHCPStatusDisabled', 'NetworkAdapterDHCPStatusEnabled' + DhcpStatus NetworkAdapterDHCPStatus `json:"dhcpStatus,omitempty"` + // Ipv4Configuration - READ-ONLY; The IPv4 configuration of the network adapter. + Ipv4Configuration *Ipv4Config `json:"ipv4Configuration,omitempty"` + // Ipv6Configuration - READ-ONLY; The IPv6 configuration of the network adapter. + Ipv6Configuration *Ipv6Config `json:"ipv6Configuration,omitempty"` + // Ipv6LinkLocalAddress - READ-ONLY; The IPv6 local address. + Ipv6LinkLocalAddress *string `json:"ipv6LinkLocalAddress,omitempty"` + // DNSServers - READ-ONLY; The list of DNS Servers of the device. + DNSServers *[]string `json:"dnsServers,omitempty"` +} + +// NetworkAdapterPosition the network adapter position. +type NetworkAdapterPosition struct { + // NetworkGroup - READ-ONLY; The network group. Possible values include: 'NetworkGroupNone', 'NetworkGroupNonRDMA', 'NetworkGroupRDMA' + NetworkGroup NetworkGroup `json:"networkGroup,omitempty"` + // Port - READ-ONLY; The port. + Port *int32 `json:"port,omitempty"` +} + +// NetworkSettings the network settings of a device. +type NetworkSettings struct { + autorest.Response `json:"-"` + // NetworkSettingsProperties - READ-ONLY; The properties of network settings of a device. + *NetworkSettingsProperties `json:"properties,omitempty"` + // ID - READ-ONLY; The path ID that uniquely identifies the object. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; The object name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; The hierarchical type of the object. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for NetworkSettings. +func (ns NetworkSettings) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for NetworkSettings struct. +func (ns *NetworkSettings) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var networkSettingsProperties NetworkSettingsProperties + err = json.Unmarshal(*v, &networkSettingsProperties) + if err != nil { + return err + } + ns.NetworkSettingsProperties = &networkSettingsProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + ns.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + ns.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ns.Type = &typeVar + } + } + } + + return nil +} + +// NetworkSettingsProperties the properties of network settings. +type NetworkSettingsProperties struct { + // NetworkAdapters - READ-ONLY; The network adapter list on the device. + NetworkAdapters *[]NetworkAdapter `json:"networkAdapters,omitempty"` +} + +// Node represents a single node in a Data box Edge/Gateway device +// Gateway devices, standalone Edge devices and a single node cluster Edge device will all have 1 node +// Multi-node Edge devices will have more than 1 nodes +type Node struct { + // NodeProperties - READ-ONLY; The properties of the node + *NodeProperties `json:"properties,omitempty"` + // ID - READ-ONLY; The path ID that uniquely identifies the object. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; The object name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; The hierarchical type of the object. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for Node. +func (n Node) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for Node struct. +func (n *Node) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var nodeProperties NodeProperties + err = json.Unmarshal(*v, &nodeProperties) + if err != nil { + return err + } + n.NodeProperties = &nodeProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + n.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + n.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + n.Type = &typeVar + } + } + } + + return nil +} + +// NodeList collection of Nodes. +type NodeList struct { + autorest.Response `json:"-"` + // Value - READ-ONLY; The list of Nodes. + Value *[]Node `json:"value,omitempty"` +} + +// NodeProperties this class represents the nodes in a highly available cluster +type NodeProperties struct { + // NodeStatus - READ-ONLY; The current status of the individual node. Possible values include: 'NodeStatusUnknown', 'NodeStatusUp', 'NodeStatusDown', 'NodeStatusRebooting', 'NodeStatusShuttingDown' + NodeStatus NodeStatus `json:"nodeStatus,omitempty"` + // NodeChassisSerialNumber - READ-ONLY; Serial number of the Chassis + NodeChassisSerialNumber *string `json:"nodeChassisSerialNumber,omitempty"` + // NodeSerialNumber - READ-ONLY; Serial number of the individual node + NodeSerialNumber *string `json:"nodeSerialNumber,omitempty"` + // NodeDisplayName - READ-ONLY; Display Name of the individual node + NodeDisplayName *string `json:"nodeDisplayName,omitempty"` + // NodeFriendlySoftwareVersion - READ-ONLY; Friendly software version name that is currently installed on the node + NodeFriendlySoftwareVersion *string `json:"nodeFriendlySoftwareVersion,omitempty"` + // NodeHcsVersion - READ-ONLY; HCS version that is currently installed on the node + NodeHcsVersion *string `json:"nodeHcsVersion,omitempty"` + // NodeInstanceID - READ-ONLY; Guid instance id of the node + NodeInstanceID *string `json:"nodeInstanceId,omitempty"` +} + +// Operation operations. +type Operation struct { + // Name - Name of the operation. + Name *string `json:"name,omitempty"` + // Display - Properties displayed for the operation. + Display *OperationDisplay `json:"display,omitempty"` + // Origin - Origin of the operation. + Origin *string `json:"origin,omitempty"` + // OperationProperties - Operation properties. + *OperationProperties `json:"properties,omitempty"` +} + +// MarshalJSON is the custom marshaler for Operation. +func (o Operation) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if o.Name != nil { + objectMap["name"] = o.Name + } + if o.Display != nil { + objectMap["display"] = o.Display + } + if o.Origin != nil { + objectMap["origin"] = o.Origin + } + if o.OperationProperties != nil { + objectMap["properties"] = o.OperationProperties + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for Operation struct. +func (o *Operation) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + o.Name = &name + } + case "display": + if v != nil { + var display OperationDisplay + err = json.Unmarshal(*v, &display) + if err != nil { + return err + } + o.Display = &display + } + case "origin": + if v != nil { + var origin string + err = json.Unmarshal(*v, &origin) + if err != nil { + return err + } + o.Origin = &origin + } + case "properties": + if v != nil { + var operationProperties OperationProperties + err = json.Unmarshal(*v, &operationProperties) + if err != nil { + return err + } + o.OperationProperties = &operationProperties + } + } + } + + return nil +} + +// OperationDisplay operation display properties. +type OperationDisplay struct { + // Provider - Provider name. + Provider *string `json:"provider,omitempty"` + // Resource - The type of resource in which the operation is performed. + Resource *string `json:"resource,omitempty"` + // Operation - Operation to be performed on the resource. + Operation *string `json:"operation,omitempty"` + // Description - Description of the operation to be performed. + Description *string `json:"description,omitempty"` +} + +// OperationProperties operation properties. +type OperationProperties struct { + // ServiceSpecification - Service specification. + ServiceSpecification *ServiceSpecification `json:"serviceSpecification,omitempty"` +} + +// OperationsList the list of operations used for the discovery of available provider operations. +type OperationsList struct { + autorest.Response `json:"-"` + // Value - The value. + Value *[]Operation `json:"value,omitempty"` + // NextLink - Link to the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// OperationsListIterator provides access to a complete listing of Operation values. +type OperationsListIterator struct { + i int + page OperationsListPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *OperationsListIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/OperationsListIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *OperationsListIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter OperationsListIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter OperationsListIterator) Response() OperationsList { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter OperationsListIterator) Value() Operation { + if !iter.page.NotDone() { + return Operation{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the OperationsListIterator type. +func NewOperationsListIterator(page OperationsListPage) OperationsListIterator { + return OperationsListIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (ol OperationsList) IsEmpty() bool { + return ol.Value == nil || len(*ol.Value) == 0 +} + +// operationsListPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (ol OperationsList) operationsListPreparer(ctx context.Context) (*http.Request, error) { + if ol.NextLink == nil || len(to.String(ol.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(ol.NextLink))) +} + +// OperationsListPage contains a page of Operation values. +type OperationsListPage struct { + fn func(context.Context, OperationsList) (OperationsList, error) + ol OperationsList +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *OperationsListPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/OperationsListPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.ol) + if err != nil { + return err + } + page.ol = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *OperationsListPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page OperationsListPage) NotDone() bool { + return !page.ol.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page OperationsListPage) Response() OperationsList { + return page.ol +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page OperationsListPage) Values() []Operation { + if page.ol.IsEmpty() { + return nil + } + return *page.ol.Value +} + +// Creates a new instance of the OperationsListPage type. +func NewOperationsListPage(getNextPage func(context.Context, OperationsList) (OperationsList, error)) OperationsListPage { + return OperationsListPage{fn: getNextPage} +} + +// Order the order details. +type Order struct { + autorest.Response `json:"-"` + // OrderProperties - The order properties. + *OrderProperties `json:"properties,omitempty"` + // ID - READ-ONLY; The path ID that uniquely identifies the object. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; The object name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; The hierarchical type of the object. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for Order. +func (o Order) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if o.OrderProperties != nil { + objectMap["properties"] = o.OrderProperties + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for Order struct. +func (o *Order) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var orderProperties OrderProperties + err = json.Unmarshal(*v, &orderProperties) + if err != nil { + return err + } + o.OrderProperties = &orderProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + o.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + o.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + o.Type = &typeVar + } + } + } + + return nil +} + +// OrderList list of order entities. +type OrderList struct { + autorest.Response `json:"-"` + // Value - READ-ONLY; The list of orders. + Value *[]Order `json:"value,omitempty"` + // NextLink - READ-ONLY; Link to the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// OrderListIterator provides access to a complete listing of Order values. +type OrderListIterator struct { + i int + page OrderListPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *OrderListIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/OrderListIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *OrderListIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter OrderListIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter OrderListIterator) Response() OrderList { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter OrderListIterator) Value() Order { + if !iter.page.NotDone() { + return Order{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the OrderListIterator type. +func NewOrderListIterator(page OrderListPage) OrderListIterator { + return OrderListIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (ol OrderList) IsEmpty() bool { + return ol.Value == nil || len(*ol.Value) == 0 +} + +// orderListPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (ol OrderList) orderListPreparer(ctx context.Context) (*http.Request, error) { + if ol.NextLink == nil || len(to.String(ol.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(ol.NextLink))) +} + +// OrderListPage contains a page of Order values. +type OrderListPage struct { + fn func(context.Context, OrderList) (OrderList, error) + ol OrderList +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *OrderListPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/OrderListPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.ol) + if err != nil { + return err + } + page.ol = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *OrderListPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page OrderListPage) NotDone() bool { + return !page.ol.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page OrderListPage) Response() OrderList { + return page.ol +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page OrderListPage) Values() []Order { + if page.ol.IsEmpty() { + return nil + } + return *page.ol.Value +} + +// Creates a new instance of the OrderListPage type. +func NewOrderListPage(getNextPage func(context.Context, OrderList) (OrderList, error)) OrderListPage { + return OrderListPage{fn: getNextPage} +} + +// OrderProperties order properties. +type OrderProperties struct { + // ContactInformation - The contact details. + ContactInformation *ContactDetails `json:"contactInformation,omitempty"` + // ShippingAddress - The shipping address. + ShippingAddress *Address `json:"shippingAddress,omitempty"` + // CurrentStatus - Current status of the order. + CurrentStatus *OrderStatus `json:"currentStatus,omitempty"` + // OrderHistory - READ-ONLY; List of status changes in the order. + OrderHistory *[]OrderStatus `json:"orderHistory,omitempty"` + // SerialNumber - READ-ONLY; Serial number of the device. + SerialNumber *string `json:"serialNumber,omitempty"` + // DeliveryTrackingInfo - READ-ONLY; Tracking information for the package delivered to the customer whether it has an original or a replacement device. + DeliveryTrackingInfo *[]TrackingInfo `json:"deliveryTrackingInfo,omitempty"` + // ReturnTrackingInfo - READ-ONLY; Tracking information for the package returned from the customer whether it has an original or a replacement device. + ReturnTrackingInfo *[]TrackingInfo `json:"returnTrackingInfo,omitempty"` +} + +// OrdersCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type OrdersCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *OrdersCreateOrUpdateFuture) Result(client OrdersClient) (o Order, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.OrdersCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("databoxedge.OrdersCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if o.Response.Response, err = future.GetResult(sender); err == nil && o.Response.Response.StatusCode != http.StatusNoContent { + o, err = client.CreateOrUpdateResponder(o.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.OrdersCreateOrUpdateFuture", "Result", o.Response.Response, "Failure responding to request") + } + } + return +} + +// OrdersDeleteFuture an abstraction for monitoring and retrieving the results of a long-running operation. +type OrdersDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *OrdersDeleteFuture) Result(client OrdersClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.OrdersDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("databoxedge.OrdersDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// OrderStatus represents a single status change. +type OrderStatus struct { + // Status - Status of the order as per the allowed status types. Possible values include: 'Untracked', 'AwaitingFulfilment', 'AwaitingPreparation', 'AwaitingShipment', 'Shipped', 'Arriving', 'Delivered', 'ReplacementRequested', 'LostDevice', 'Declined', 'ReturnInitiated', 'AwaitingReturnShipment', 'ShippedBack', 'CollectedAtMicrosoft' + Status OrderState `json:"status,omitempty"` + // UpdateDateTime - READ-ONLY; Time of status update. + UpdateDateTime *date.Time `json:"updateDateTime,omitempty"` + // Comments - Comments related to this status change. + Comments *string `json:"comments,omitempty"` +} + +// PeriodicTimerEventTrigger trigger details. +type PeriodicTimerEventTrigger struct { + // PeriodicTimerProperties - Periodic timer trigger properties. + *PeriodicTimerProperties `json:"properties,omitempty"` + // Kind - Possible values include: 'KindTrigger', 'KindFileEvent', 'KindPeriodicTimerEvent' + Kind KindBasicTrigger `json:"kind,omitempty"` + // ID - READ-ONLY; The path ID that uniquely identifies the object. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; The object name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; The hierarchical type of the object. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for PeriodicTimerEventTrigger. +func (ptet PeriodicTimerEventTrigger) MarshalJSON() ([]byte, error) { + ptet.Kind = KindPeriodicTimerEvent + objectMap := make(map[string]interface{}) + if ptet.PeriodicTimerProperties != nil { + objectMap["properties"] = ptet.PeriodicTimerProperties + } + if ptet.Kind != "" { + objectMap["kind"] = ptet.Kind + } + return json.Marshal(objectMap) +} + +// AsFileEventTrigger is the BasicTrigger implementation for PeriodicTimerEventTrigger. +func (ptet PeriodicTimerEventTrigger) AsFileEventTrigger() (*FileEventTrigger, bool) { + return nil, false +} + +// AsPeriodicTimerEventTrigger is the BasicTrigger implementation for PeriodicTimerEventTrigger. +func (ptet PeriodicTimerEventTrigger) AsPeriodicTimerEventTrigger() (*PeriodicTimerEventTrigger, bool) { + return &ptet, true +} + +// AsTrigger is the BasicTrigger implementation for PeriodicTimerEventTrigger. +func (ptet PeriodicTimerEventTrigger) AsTrigger() (*Trigger, bool) { + return nil, false +} + +// AsBasicTrigger is the BasicTrigger implementation for PeriodicTimerEventTrigger. +func (ptet PeriodicTimerEventTrigger) AsBasicTrigger() (BasicTrigger, bool) { + return &ptet, true +} + +// UnmarshalJSON is the custom unmarshaler for PeriodicTimerEventTrigger struct. +func (ptet *PeriodicTimerEventTrigger) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var periodicTimerProperties PeriodicTimerProperties + err = json.Unmarshal(*v, &periodicTimerProperties) + if err != nil { + return err + } + ptet.PeriodicTimerProperties = &periodicTimerProperties + } + case "kind": + if v != nil { + var kind KindBasicTrigger + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + ptet.Kind = kind + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + ptet.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + ptet.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ptet.Type = &typeVar + } + } + } + + return nil +} + +// PeriodicTimerProperties periodic timer trigger properties. +type PeriodicTimerProperties struct { + // SourceInfo - Periodic timer details. + SourceInfo *PeriodicTimerSourceInfo `json:"sourceInfo,omitempty"` + // SinkInfo - Role Sink information. + SinkInfo *RoleSinkInfo `json:"sinkInfo,omitempty"` + // CustomContextTag - A custom context tag typically used to correlate the trigger against its usage. For example, if a periodic timer trigger is intended for certain specific IoT modules in the device, the tag can be the name or the image URL of the module. + CustomContextTag *string `json:"customContextTag,omitempty"` +} + +// PeriodicTimerSourceInfo periodic timer event source. +type PeriodicTimerSourceInfo struct { + // StartTime - The time of the day that results in a valid trigger. Schedule is computed with reference to the time specified upto seconds. If timezone is not specified the time will considered to be in device timezone. The value will always be returned as UTC time. + StartTime *date.Time `json:"startTime,omitempty"` + // Schedule - Periodic frequency at which timer event needs to be raised. Supports daily, hourly, minutes, and seconds. + Schedule *string `json:"schedule,omitempty"` + // Topic - Topic where periodic events are published to IoT device. + Topic *string `json:"topic,omitempty"` +} + +// RawCertificateData raw Certificate Data. +type RawCertificateData struct { + // AuthenticationType - The authentication type. Possible values include: 'Invalid', 'AzureActiveDirectory' + AuthenticationType AuthenticationType `json:"authenticationType,omitempty"` + // Certificate - The base64 encoded certificate raw data. + Certificate *string `json:"certificate,omitempty"` +} + +// RefreshDetails fields for tracking refresh job on the share. +type RefreshDetails struct { + // InProgressRefreshJobID - If a refresh share job is currently in progress on this share, this field indicates the ARM resource ID of that job. The field is empty if no job is in progress. + InProgressRefreshJobID *string `json:"inProgressRefreshJobId,omitempty"` + // LastCompletedRefreshJobTimeInUTC - Indicates the completed time for the last refresh job on this particular share, if any.This could be a failed job or a successful job. + LastCompletedRefreshJobTimeInUTC *date.Time `json:"lastCompletedRefreshJobTimeInUTC,omitempty"` + // ErrorManifestFile - Indicates the relative path of the error xml for the last refresh job on this particular share, if any. This could be a failed job or a successful job. + ErrorManifestFile *string `json:"errorManifestFile,omitempty"` + // LastJob - Indicates the id of the last refresh job on this particular share,if any. This could be a failed job or a successful job. + LastJob *string `json:"lastJob,omitempty"` +} + +// BasicRole compute role. +type BasicRole interface { + AsIoTRole() (*IoTRole, bool) + AsRole() (*Role, bool) +} + +// Role compute role. +type Role struct { + autorest.Response `json:"-"` + // Kind - Possible values include: 'KindRole', 'KindIOT' + Kind Kind `json:"kind,omitempty"` + // ID - READ-ONLY; The path ID that uniquely identifies the object. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; The object name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; The hierarchical type of the object. + Type *string `json:"type,omitempty"` +} + +func unmarshalBasicRole(body []byte) (BasicRole, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["kind"] { + case string(KindIOT): + var itr IoTRole + err := json.Unmarshal(body, &itr) + return itr, err + default: + var r Role + err := json.Unmarshal(body, &r) + return r, err + } +} +func unmarshalBasicRoleArray(body []byte) ([]BasicRole, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + rArray := make([]BasicRole, len(rawMessages)) + + for index, rawMessage := range rawMessages { + r, err := unmarshalBasicRole(*rawMessage) + if err != nil { + return nil, err + } + rArray[index] = r + } + return rArray, nil +} + +// MarshalJSON is the custom marshaler for Role. +func (r Role) MarshalJSON() ([]byte, error) { + r.Kind = KindRole + objectMap := make(map[string]interface{}) + if r.Kind != "" { + objectMap["kind"] = r.Kind + } + return json.Marshal(objectMap) +} + +// AsIoTRole is the BasicRole implementation for Role. +func (r Role) AsIoTRole() (*IoTRole, bool) { + return nil, false +} + +// AsRole is the BasicRole implementation for Role. +func (r Role) AsRole() (*Role, bool) { + return &r, true +} + +// AsBasicRole is the BasicRole implementation for Role. +func (r Role) AsBasicRole() (BasicRole, bool) { + return &r, true +} + +// RoleList collection of all the roles on the Data Box Edge device. +type RoleList struct { + autorest.Response `json:"-"` + // Value - READ-ONLY; The Value. + Value *[]BasicRole `json:"value,omitempty"` + // NextLink - READ-ONLY; Link to the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for RoleList struct. +func (rl *RoleList) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "value": + if v != nil { + value, err := unmarshalBasicRoleArray(*v) + if err != nil { + return err + } + rl.Value = &value + } + case "nextLink": + if v != nil { + var nextLink string + err = json.Unmarshal(*v, &nextLink) + if err != nil { + return err + } + rl.NextLink = &nextLink + } + } + } + + return nil +} + +// RoleListIterator provides access to a complete listing of Role values. +type RoleListIterator struct { + i int + page RoleListPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *RoleListIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RoleListIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *RoleListIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter RoleListIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter RoleListIterator) Response() RoleList { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter RoleListIterator) Value() BasicRole { + if !iter.page.NotDone() { + return Role{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the RoleListIterator type. +func NewRoleListIterator(page RoleListPage) RoleListIterator { + return RoleListIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (rl RoleList) IsEmpty() bool { + return rl.Value == nil || len(*rl.Value) == 0 +} + +// roleListPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (rl RoleList) roleListPreparer(ctx context.Context) (*http.Request, error) { + if rl.NextLink == nil || len(to.String(rl.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(rl.NextLink))) +} + +// RoleListPage contains a page of BasicRole values. +type RoleListPage struct { + fn func(context.Context, RoleList) (RoleList, error) + rl RoleList +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *RoleListPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RoleListPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.rl) + if err != nil { + return err + } + page.rl = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *RoleListPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page RoleListPage) NotDone() bool { + return !page.rl.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page RoleListPage) Response() RoleList { + return page.rl +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page RoleListPage) Values() []BasicRole { + if page.rl.IsEmpty() { + return nil + } + return *page.rl.Value +} + +// Creates a new instance of the RoleListPage type. +func NewRoleListPage(getNextPage func(context.Context, RoleList) (RoleList, error)) RoleListPage { + return RoleListPage{fn: getNextPage} +} + +// RoleModel ... +type RoleModel struct { + autorest.Response `json:"-"` + Value BasicRole `json:"value,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for RoleModel struct. +func (rm *RoleModel) UnmarshalJSON(body []byte) error { + r, err := unmarshalBasicRole(body) + if err != nil { + return err + } + rm.Value = r + + return nil +} + +// RolesCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type RolesCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *RolesCreateOrUpdateFuture) Result(client RolesClient) (rm RoleModel, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.RolesCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("databoxedge.RolesCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if rm.Response.Response, err = future.GetResult(sender); err == nil && rm.Response.Response.StatusCode != http.StatusNoContent { + rm, err = client.CreateOrUpdateResponder(rm.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.RolesCreateOrUpdateFuture", "Result", rm.Response.Response, "Failure responding to request") + } + } + return +} + +// RolesDeleteFuture an abstraction for monitoring and retrieving the results of a long-running operation. +type RolesDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *RolesDeleteFuture) Result(client RolesClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.RolesDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("databoxedge.RolesDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// RoleSinkInfo compute role against which events will be raised. +type RoleSinkInfo struct { + // RoleID - Compute role ID. + RoleID *string `json:"roleId,omitempty"` +} + +// SecuritySettings the security settings of a device. +type SecuritySettings struct { + // SecuritySettingsProperties - Properties of the security settings. + *SecuritySettingsProperties `json:"properties,omitempty"` + // ID - READ-ONLY; The path ID that uniquely identifies the object. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; The object name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; The hierarchical type of the object. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for SecuritySettings. +func (ss SecuritySettings) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if ss.SecuritySettingsProperties != nil { + objectMap["properties"] = ss.SecuritySettingsProperties + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for SecuritySettings struct. +func (ss *SecuritySettings) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var securitySettingsProperties SecuritySettingsProperties + err = json.Unmarshal(*v, &securitySettingsProperties) + if err != nil { + return err + } + ss.SecuritySettingsProperties = &securitySettingsProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + ss.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + ss.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ss.Type = &typeVar + } + } + } + + return nil +} + +// SecuritySettingsProperties the properties of security settings. +type SecuritySettingsProperties struct { + // DeviceAdminPassword - Device administrator password as an encrypted string (encrypted using RSA PKCS #1) is used to sign into the local web UI of the device. The Actual password should have at least 8 characters that are a combination of uppercase, lowercase, numeric, and special characters. + DeviceAdminPassword *AsymmetricEncryptedSecret `json:"deviceAdminPassword,omitempty"` +} + +// ServiceSpecification service specification. +type ServiceSpecification struct { + // MetricSpecifications - Metric specification as defined by shoebox. + MetricSpecifications *[]MetricSpecificationV1 `json:"metricSpecifications,omitempty"` +} + +// Share represents a share on the Data Box Edge/Gateway device. +type Share struct { + autorest.Response `json:"-"` + // ShareProperties - The share properties. + *ShareProperties `json:"properties,omitempty"` + // ID - READ-ONLY; The path ID that uniquely identifies the object. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; The object name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; The hierarchical type of the object. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for Share. +func (s Share) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if s.ShareProperties != nil { + objectMap["properties"] = s.ShareProperties + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for Share struct. +func (s *Share) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var shareProperties ShareProperties + err = json.Unmarshal(*v, &shareProperties) + if err != nil { + return err + } + s.ShareProperties = &shareProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + s.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + s.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + s.Type = &typeVar + } + } + } + + return nil +} + +// ShareAccessRight specifies the mapping between this particular user and the type of access he has on +// shares on this device. +type ShareAccessRight struct { + // ShareID - The share ID. + ShareID *string `json:"shareId,omitempty"` + // AccessType - Type of access to be allowed on the share for this user. Possible values include: 'Change', 'Read', 'Custom' + AccessType ShareAccessType `json:"accessType,omitempty"` +} + +// ShareList collection of all the shares on the Data Box Edge/Gateway device. +type ShareList struct { + autorest.Response `json:"-"` + // Value - READ-ONLY; The list of shares. + Value *[]Share `json:"value,omitempty"` + // NextLink - READ-ONLY; Link to the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// ShareListIterator provides access to a complete listing of Share values. +type ShareListIterator struct { + i int + page ShareListPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *ShareListIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ShareListIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *ShareListIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter ShareListIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter ShareListIterator) Response() ShareList { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter ShareListIterator) Value() Share { + if !iter.page.NotDone() { + return Share{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the ShareListIterator type. +func NewShareListIterator(page ShareListPage) ShareListIterator { + return ShareListIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (sl ShareList) IsEmpty() bool { + return sl.Value == nil || len(*sl.Value) == 0 +} + +// shareListPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (sl ShareList) shareListPreparer(ctx context.Context) (*http.Request, error) { + if sl.NextLink == nil || len(to.String(sl.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(sl.NextLink))) +} + +// ShareListPage contains a page of Share values. +type ShareListPage struct { + fn func(context.Context, ShareList) (ShareList, error) + sl ShareList +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *ShareListPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ShareListPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.sl) + if err != nil { + return err + } + page.sl = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *ShareListPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page ShareListPage) NotDone() bool { + return !page.sl.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page ShareListPage) Response() ShareList { + return page.sl +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page ShareListPage) Values() []Share { + if page.sl.IsEmpty() { + return nil + } + return *page.sl.Value +} + +// Creates a new instance of the ShareListPage type. +func NewShareListPage(getNextPage func(context.Context, ShareList) (ShareList, error)) ShareListPage { + return ShareListPage{fn: getNextPage} +} + +// ShareProperties the share properties. +type ShareProperties struct { + // Description - Description for the share. + Description *string `json:"description,omitempty"` + // ShareStatus - Current status of the share. Possible values include: 'ShareStatusOffline', 'ShareStatusUnknown', 'ShareStatusOK', 'ShareStatusUpdating', 'ShareStatusNeedsAttention' + ShareStatus ShareStatus `json:"shareStatus,omitempty"` + // MonitoringStatus - Current monitoring status of the share. Possible values include: 'Enabled', 'Disabled' + MonitoringStatus MonitoringStatus `json:"monitoringStatus,omitempty"` + // AzureContainerInfo - Azure container mapping for the share. + AzureContainerInfo *AzureContainerInfo `json:"azureContainerInfo,omitempty"` + // AccessProtocol - Access protocol to be used by the share. Possible values include: 'SMB', 'NFS' + AccessProtocol ShareAccessProtocol `json:"accessProtocol,omitempty"` + // UserAccessRights - Mapping of users and corresponding access rights on the share (required for SMB protocol). + UserAccessRights *[]UserAccessRight `json:"userAccessRights,omitempty"` + // ClientAccessRights - List of IP addresses and corresponding access rights on the share(required for NFS protocol). + ClientAccessRights *[]ClientAccessRight `json:"clientAccessRights,omitempty"` + // RefreshDetails - Details of the refresh job on this share. + RefreshDetails *RefreshDetails `json:"refreshDetails,omitempty"` + // ShareMappings - READ-ONLY; Share mount point to the role. + ShareMappings *[]MountPointMap `json:"shareMappings,omitempty"` + // DataPolicy - Data policy of the share. Possible values include: 'Cloud', 'Local' + DataPolicy DataPolicy `json:"dataPolicy,omitempty"` +} + +// SharesCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type SharesCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *SharesCreateOrUpdateFuture) Result(client SharesClient) (s Share, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.SharesCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("databoxedge.SharesCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if s.Response.Response, err = future.GetResult(sender); err == nil && s.Response.Response.StatusCode != http.StatusNoContent { + s, err = client.CreateOrUpdateResponder(s.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.SharesCreateOrUpdateFuture", "Result", s.Response.Response, "Failure responding to request") + } + } + return +} + +// SharesDeleteFuture an abstraction for monitoring and retrieving the results of a long-running operation. +type SharesDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *SharesDeleteFuture) Result(client SharesClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.SharesDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("databoxedge.SharesDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// SharesRefreshFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type SharesRefreshFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *SharesRefreshFuture) Result(client SharesClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.SharesRefreshFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("databoxedge.SharesRefreshFuture") + return + } + ar.Response = future.Response() + return +} + +// Sku the SKU type. +type Sku struct { + // Name - SKU name. Possible values include: 'Gateway', 'Edge' + Name SkuName `json:"name,omitempty"` + // Tier - The SKU tier. This is based on the SKU name. Possible values include: 'Standard' + Tier SkuTier `json:"tier,omitempty"` +} + +// StorageAccountCredential the storage account credential. +type StorageAccountCredential struct { + autorest.Response `json:"-"` + // StorageAccountCredentialProperties - The storage account credential properties. + *StorageAccountCredentialProperties `json:"properties,omitempty"` + // ID - READ-ONLY; The path ID that uniquely identifies the object. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; The object name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; The hierarchical type of the object. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for StorageAccountCredential. +func (sac StorageAccountCredential) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if sac.StorageAccountCredentialProperties != nil { + objectMap["properties"] = sac.StorageAccountCredentialProperties + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for StorageAccountCredential struct. +func (sac *StorageAccountCredential) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var storageAccountCredentialProperties StorageAccountCredentialProperties + err = json.Unmarshal(*v, &storageAccountCredentialProperties) + if err != nil { + return err + } + sac.StorageAccountCredentialProperties = &storageAccountCredentialProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + sac.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + sac.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + sac.Type = &typeVar + } + } + } + + return nil +} + +// StorageAccountCredentialList the collection of storage account credentials. +type StorageAccountCredentialList struct { + autorest.Response `json:"-"` + // Value - READ-ONLY; The value. + Value *[]StorageAccountCredential `json:"value,omitempty"` + // NextLink - READ-ONLY; Link to the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// StorageAccountCredentialListIterator provides access to a complete listing of StorageAccountCredential +// values. +type StorageAccountCredentialListIterator struct { + i int + page StorageAccountCredentialListPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *StorageAccountCredentialListIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/StorageAccountCredentialListIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *StorageAccountCredentialListIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter StorageAccountCredentialListIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter StorageAccountCredentialListIterator) Response() StorageAccountCredentialList { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter StorageAccountCredentialListIterator) Value() StorageAccountCredential { + if !iter.page.NotDone() { + return StorageAccountCredential{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the StorageAccountCredentialListIterator type. +func NewStorageAccountCredentialListIterator(page StorageAccountCredentialListPage) StorageAccountCredentialListIterator { + return StorageAccountCredentialListIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (sacl StorageAccountCredentialList) IsEmpty() bool { + return sacl.Value == nil || len(*sacl.Value) == 0 +} + +// storageAccountCredentialListPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (sacl StorageAccountCredentialList) storageAccountCredentialListPreparer(ctx context.Context) (*http.Request, error) { + if sacl.NextLink == nil || len(to.String(sacl.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(sacl.NextLink))) +} + +// StorageAccountCredentialListPage contains a page of StorageAccountCredential values. +type StorageAccountCredentialListPage struct { + fn func(context.Context, StorageAccountCredentialList) (StorageAccountCredentialList, error) + sacl StorageAccountCredentialList +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *StorageAccountCredentialListPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/StorageAccountCredentialListPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.sacl) + if err != nil { + return err + } + page.sacl = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *StorageAccountCredentialListPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page StorageAccountCredentialListPage) NotDone() bool { + return !page.sacl.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page StorageAccountCredentialListPage) Response() StorageAccountCredentialList { + return page.sacl +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page StorageAccountCredentialListPage) Values() []StorageAccountCredential { + if page.sacl.IsEmpty() { + return nil + } + return *page.sacl.Value +} + +// Creates a new instance of the StorageAccountCredentialListPage type. +func NewStorageAccountCredentialListPage(getNextPage func(context.Context, StorageAccountCredentialList) (StorageAccountCredentialList, error)) StorageAccountCredentialListPage { + return StorageAccountCredentialListPage{fn: getNextPage} +} + +// StorageAccountCredentialProperties the storage account credential properties. +type StorageAccountCredentialProperties struct { + // Alias - Alias for the storage account. + Alias *string `json:"alias,omitempty"` + // UserName - Username for the storage account. + UserName *string `json:"userName,omitempty"` + // AccountKey - Encrypted storage key. + AccountKey *AsymmetricEncryptedSecret `json:"accountKey,omitempty"` + // ConnectionString - Connection string for the storage account. Use this string if username and account key are not specified. + ConnectionString *string `json:"connectionString,omitempty"` + // SslStatus - Signifies whether SSL needs to be enabled or not. Possible values include: 'SSLStatusEnabled', 'SSLStatusDisabled' + SslStatus SSLStatus `json:"sslStatus,omitempty"` + // BlobDomainName - Blob end point for private clouds. + BlobDomainName *string `json:"blobDomainName,omitempty"` + // AccountType - Type of storage accessed on the storage account. Possible values include: 'GeneralPurposeStorage', 'BlobStorage' + AccountType AccountType `json:"accountType,omitempty"` + // StorageAccountID - Id of the storage account. + StorageAccountID *string `json:"storageAccountId,omitempty"` +} + +// StorageAccountCredentialsCreateOrUpdateFuture an abstraction for monitoring and retrieving the results +// of a long-running operation. +type StorageAccountCredentialsCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *StorageAccountCredentialsCreateOrUpdateFuture) Result(client StorageAccountCredentialsClient) (sac StorageAccountCredential, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.StorageAccountCredentialsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("databoxedge.StorageAccountCredentialsCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if sac.Response.Response, err = future.GetResult(sender); err == nil && sac.Response.Response.StatusCode != http.StatusNoContent { + sac, err = client.CreateOrUpdateResponder(sac.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.StorageAccountCredentialsCreateOrUpdateFuture", "Result", sac.Response.Response, "Failure responding to request") + } + } + return +} + +// StorageAccountCredentialsDeleteFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type StorageAccountCredentialsDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *StorageAccountCredentialsDeleteFuture) Result(client StorageAccountCredentialsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.StorageAccountCredentialsDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("databoxedge.StorageAccountCredentialsDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// SymmetricKey symmetric key for authentication. +type SymmetricKey struct { + // ConnectionString - Connection string based on the symmetric key. + ConnectionString *AsymmetricEncryptedSecret `json:"connectionString,omitempty"` +} + +// TrackingInfo tracking courier information. +type TrackingInfo struct { + // SerialNumber - Serial number of the device being tracked. + SerialNumber *string `json:"serialNumber,omitempty"` + // CarrierName - Name of the carrier used in the delivery. + CarrierName *string `json:"carrierName,omitempty"` + // TrackingID - Tracking ID of the shipment. + TrackingID *string `json:"trackingId,omitempty"` + // TrackingURL - Tracking URL of the shipment. + TrackingURL *string `json:"trackingUrl,omitempty"` +} + +// BasicTrigger trigger details. +type BasicTrigger interface { + AsFileEventTrigger() (*FileEventTrigger, bool) + AsPeriodicTimerEventTrigger() (*PeriodicTimerEventTrigger, bool) + AsTrigger() (*Trigger, bool) +} + +// Trigger trigger details. +type Trigger struct { + autorest.Response `json:"-"` + // Kind - Possible values include: 'KindTrigger', 'KindFileEvent', 'KindPeriodicTimerEvent' + Kind KindBasicTrigger `json:"kind,omitempty"` + // ID - READ-ONLY; The path ID that uniquely identifies the object. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; The object name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; The hierarchical type of the object. + Type *string `json:"type,omitempty"` +} + +func unmarshalBasicTrigger(body []byte) (BasicTrigger, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["kind"] { + case string(KindFileEvent): + var fet FileEventTrigger + err := json.Unmarshal(body, &fet) + return fet, err + case string(KindPeriodicTimerEvent): + var ptet PeriodicTimerEventTrigger + err := json.Unmarshal(body, &ptet) + return ptet, err + default: + var t Trigger + err := json.Unmarshal(body, &t) + return t, err + } +} +func unmarshalBasicTriggerArray(body []byte) ([]BasicTrigger, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + tArray := make([]BasicTrigger, len(rawMessages)) + + for index, rawMessage := range rawMessages { + t, err := unmarshalBasicTrigger(*rawMessage) + if err != nil { + return nil, err + } + tArray[index] = t + } + return tArray, nil +} + +// MarshalJSON is the custom marshaler for Trigger. +func (t Trigger) MarshalJSON() ([]byte, error) { + t.Kind = KindTrigger + objectMap := make(map[string]interface{}) + if t.Kind != "" { + objectMap["kind"] = t.Kind + } + return json.Marshal(objectMap) +} + +// AsFileEventTrigger is the BasicTrigger implementation for Trigger. +func (t Trigger) AsFileEventTrigger() (*FileEventTrigger, bool) { + return nil, false +} + +// AsPeriodicTimerEventTrigger is the BasicTrigger implementation for Trigger. +func (t Trigger) AsPeriodicTimerEventTrigger() (*PeriodicTimerEventTrigger, bool) { + return nil, false +} + +// AsTrigger is the BasicTrigger implementation for Trigger. +func (t Trigger) AsTrigger() (*Trigger, bool) { + return &t, true +} + +// AsBasicTrigger is the BasicTrigger implementation for Trigger. +func (t Trigger) AsBasicTrigger() (BasicTrigger, bool) { + return &t, true +} + +// TriggerList collection of all trigger on the data box edge device. +type TriggerList struct { + autorest.Response `json:"-"` + // Value - READ-ONLY; The list of triggers. + Value *[]BasicTrigger `json:"value,omitempty"` + // NextLink - READ-ONLY; Link to the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for TriggerList struct. +func (tl *TriggerList) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "value": + if v != nil { + value, err := unmarshalBasicTriggerArray(*v) + if err != nil { + return err + } + tl.Value = &value + } + case "nextLink": + if v != nil { + var nextLink string + err = json.Unmarshal(*v, &nextLink) + if err != nil { + return err + } + tl.NextLink = &nextLink + } + } + } + + return nil +} + +// TriggerListIterator provides access to a complete listing of Trigger values. +type TriggerListIterator struct { + i int + page TriggerListPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *TriggerListIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/TriggerListIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *TriggerListIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter TriggerListIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter TriggerListIterator) Response() TriggerList { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter TriggerListIterator) Value() BasicTrigger { + if !iter.page.NotDone() { + return Trigger{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the TriggerListIterator type. +func NewTriggerListIterator(page TriggerListPage) TriggerListIterator { + return TriggerListIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (tl TriggerList) IsEmpty() bool { + return tl.Value == nil || len(*tl.Value) == 0 +} + +// triggerListPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (tl TriggerList) triggerListPreparer(ctx context.Context) (*http.Request, error) { + if tl.NextLink == nil || len(to.String(tl.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(tl.NextLink))) +} + +// TriggerListPage contains a page of BasicTrigger values. +type TriggerListPage struct { + fn func(context.Context, TriggerList) (TriggerList, error) + tl TriggerList +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *TriggerListPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/TriggerListPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.tl) + if err != nil { + return err + } + page.tl = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *TriggerListPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page TriggerListPage) NotDone() bool { + return !page.tl.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page TriggerListPage) Response() TriggerList { + return page.tl +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page TriggerListPage) Values() []BasicTrigger { + if page.tl.IsEmpty() { + return nil + } + return *page.tl.Value +} + +// Creates a new instance of the TriggerListPage type. +func NewTriggerListPage(getNextPage func(context.Context, TriggerList) (TriggerList, error)) TriggerListPage { + return TriggerListPage{fn: getNextPage} +} + +// TriggerModel ... +type TriggerModel struct { + autorest.Response `json:"-"` + Value BasicTrigger `json:"value,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for TriggerModel struct. +func (tm *TriggerModel) UnmarshalJSON(body []byte) error { + t, err := unmarshalBasicTrigger(body) + if err != nil { + return err + } + tm.Value = t + + return nil +} + +// TriggersCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type TriggersCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *TriggersCreateOrUpdateFuture) Result(client TriggersClient) (tm TriggerModel, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.TriggersCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("databoxedge.TriggersCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if tm.Response.Response, err = future.GetResult(sender); err == nil && tm.Response.Response.StatusCode != http.StatusNoContent { + tm, err = client.CreateOrUpdateResponder(tm.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.TriggersCreateOrUpdateFuture", "Result", tm.Response.Response, "Failure responding to request") + } + } + return +} + +// TriggersDeleteFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type TriggersDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *TriggersDeleteFuture) Result(client TriggersClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.TriggersDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("databoxedge.TriggersDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// UpdateDownloadProgress details about the download progress of update. +type UpdateDownloadProgress struct { + // DownloadPhase - READ-ONLY; The download phase. Possible values include: 'Unknown', 'Initializing', 'Downloading', 'Verifying' + DownloadPhase DownloadPhase `json:"downloadPhase,omitempty"` + // PercentComplete - READ-ONLY; Percentage of completion. + PercentComplete *int32 `json:"percentComplete,omitempty"` + // TotalBytesToDownload - READ-ONLY; Total bytes to download. + TotalBytesToDownload *float64 `json:"totalBytesToDownload,omitempty"` + // TotalBytesDownloaded - READ-ONLY; Total bytes downloaded. + TotalBytesDownloaded *float64 `json:"totalBytesDownloaded,omitempty"` + // NumberOfUpdatesToDownload - READ-ONLY; Number of updates to download. + NumberOfUpdatesToDownload *int32 `json:"numberOfUpdatesToDownload,omitempty"` + // NumberOfUpdatesDownloaded - READ-ONLY; Number of updates downloaded. + NumberOfUpdatesDownloaded *int32 `json:"numberOfUpdatesDownloaded,omitempty"` +} + +// UpdateInstallProgress progress details during installation of updates. +type UpdateInstallProgress struct { + // PercentComplete - READ-ONLY; Percentage completed. + PercentComplete *int32 `json:"percentComplete,omitempty"` + // NumberOfUpdatesToInstall - READ-ONLY; Number of updates to install. + NumberOfUpdatesToInstall *int32 `json:"numberOfUpdatesToInstall,omitempty"` + // NumberOfUpdatesInstalled - READ-ONLY; Number of updates installed. + NumberOfUpdatesInstalled *int32 `json:"numberOfUpdatesInstalled,omitempty"` +} + +// UpdateSummary details about ongoing updates and availability of updates on the device. +type UpdateSummary struct { + autorest.Response `json:"-"` + // UpdateSummaryProperties - The device update information summary. + *UpdateSummaryProperties `json:"properties,omitempty"` + // ID - READ-ONLY; The path ID that uniquely identifies the object. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; The object name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; The hierarchical type of the object. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for UpdateSummary. +func (us UpdateSummary) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if us.UpdateSummaryProperties != nil { + objectMap["properties"] = us.UpdateSummaryProperties + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for UpdateSummary struct. +func (us *UpdateSummary) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var updateSummaryProperties UpdateSummaryProperties + err = json.Unmarshal(*v, &updateSummaryProperties) + if err != nil { + return err + } + us.UpdateSummaryProperties = &updateSummaryProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + us.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + us.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + us.Type = &typeVar + } + } + } + + return nil +} + +// UpdateSummaryProperties the device update information summary. +type UpdateSummaryProperties struct { + // DeviceVersionNumber - The current version of the device in format: 1.2.17312.13.", + DeviceVersionNumber *string `json:"deviceVersionNumber,omitempty"` + // FriendlyDeviceVersionName - The current version of the device in text format. + FriendlyDeviceVersionName *string `json:"friendlyDeviceVersionName,omitempty"` + // DeviceLastScannedDateTime - The last time when a scan was done on the device. + DeviceLastScannedDateTime *date.Time `json:"deviceLastScannedDateTime,omitempty"` + // LastCompletedScanJobDateTime - The time when the last scan job was completed (success/cancelled/failed) on the appliance. + LastCompletedScanJobDateTime *date.Time `json:"lastCompletedScanJobDateTime,omitempty"` + // LastCompletedDownloadJobDateTime - READ-ONLY; The time when the last Download job was completed (success/cancelled/failed) on the appliance. + LastCompletedDownloadJobDateTime *date.Time `json:"lastCompletedDownloadJobDateTime,omitempty"` + // LastCompletedInstallJobDateTime - READ-ONLY; The time when the last Install job was completed (success/cancelled/failed) on the appliance. + LastCompletedInstallJobDateTime *date.Time `json:"lastCompletedInstallJobDateTime,omitempty"` + // TotalNumberOfUpdatesAvailable - READ-ONLY; The number of updates available for the current device version as per the last device scan. + TotalNumberOfUpdatesAvailable *int32 `json:"totalNumberOfUpdatesAvailable,omitempty"` + // TotalNumberOfUpdatesPendingDownload - READ-ONLY; The total number of items pending download. + TotalNumberOfUpdatesPendingDownload *int32 `json:"totalNumberOfUpdatesPendingDownload,omitempty"` + // TotalNumberOfUpdatesPendingInstall - READ-ONLY; The total number of items pending install. + TotalNumberOfUpdatesPendingInstall *int32 `json:"totalNumberOfUpdatesPendingInstall,omitempty"` + // RebootBehavior - READ-ONLY; Indicates if updates are available and at least one of the updates needs a reboot. Possible values include: 'NeverReboots', 'RequiresReboot', 'RequestReboot' + RebootBehavior InstallRebootBehavior `json:"rebootBehavior,omitempty"` + // OngoingUpdateOperation - READ-ONLY; The current update operation. Possible values include: 'UpdateOperationNone', 'UpdateOperationScan', 'UpdateOperationDownload', 'UpdateOperationInstall' + OngoingUpdateOperation UpdateOperation `json:"ongoingUpdateOperation,omitempty"` + // InProgressDownloadJobID - READ-ONLY; The job ID of the download job in progress. + InProgressDownloadJobID *string `json:"inProgressDownloadJobId,omitempty"` + // InProgressInstallJobID - READ-ONLY; The job ID of the install job in progress. + InProgressInstallJobID *string `json:"inProgressInstallJobId,omitempty"` + // InProgressDownloadJobStartedDateTime - READ-ONLY; The time when the currently running download (if any) started. + InProgressDownloadJobStartedDateTime *date.Time `json:"inProgressDownloadJobStartedDateTime,omitempty"` + // InProgressInstallJobStartedDateTime - READ-ONLY; The time when the currently running install (if any) started. + InProgressInstallJobStartedDateTime *date.Time `json:"inProgressInstallJobStartedDateTime,omitempty"` + // UpdateTitles - READ-ONLY; The list of updates available for install. + UpdateTitles *[]string `json:"updateTitles,omitempty"` + // TotalUpdateSizeInBytes - READ-ONLY; The total size of updates available for download in bytes. + TotalUpdateSizeInBytes *float64 `json:"totalUpdateSizeInBytes,omitempty"` +} + +// UploadCertificateRequest the upload certificate request. +type UploadCertificateRequest struct { + // RawCertificateData - The Base 64 encoded certificate raw data. + *RawCertificateData `json:"properties,omitempty"` +} + +// MarshalJSON is the custom marshaler for UploadCertificateRequest. +func (ucr UploadCertificateRequest) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if ucr.RawCertificateData != nil { + objectMap["properties"] = ucr.RawCertificateData + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for UploadCertificateRequest struct. +func (ucr *UploadCertificateRequest) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var rawCertificateData RawCertificateData + err = json.Unmarshal(*v, &rawCertificateData) + if err != nil { + return err + } + ucr.RawCertificateData = &rawCertificateData + } + } + } + + return nil +} + +// UploadCertificateResponse the upload registration certificate response. +type UploadCertificateResponse struct { + autorest.Response `json:"-"` + // AuthType - Specifies authentication type. Possible values include: 'Invalid', 'AzureActiveDirectory' + AuthType AuthenticationType `json:"authType,omitempty"` + // ResourceID - The resource ID of the Data Box Edge/Gateway device. + ResourceID *string `json:"resourceId,omitempty"` + // AadAuthority - Azure Active Directory tenant authority. + AadAuthority *string `json:"aadAuthority,omitempty"` + // AadTenantID - Azure Active Directory tenant ID. + AadTenantID *string `json:"aadTenantId,omitempty"` + // ServicePrincipalClientID - Azure Active Directory service principal client ID. + ServicePrincipalClientID *string `json:"servicePrincipalClientId,omitempty"` + // ServicePrincipalObjectID - Azure Active Directory service principal object ID. + ServicePrincipalObjectID *string `json:"servicePrincipalObjectId,omitempty"` + // AzureManagementEndpointAudience - The azure management endpoint audience. + AzureManagementEndpointAudience *string `json:"azureManagementEndpointAudience,omitempty"` +} + +// User represents a user who has access to one or more shares on the Data Box Edge/Gateway device. +type User struct { + autorest.Response `json:"-"` + // UserProperties - The storage account credential properties. + *UserProperties `json:"properties,omitempty"` + // ID - READ-ONLY; The path ID that uniquely identifies the object. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; The object name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; The hierarchical type of the object. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for User. +func (u User) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if u.UserProperties != nil { + objectMap["properties"] = u.UserProperties + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for User struct. +func (u *User) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var userProperties UserProperties + err = json.Unmarshal(*v, &userProperties) + if err != nil { + return err + } + u.UserProperties = &userProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + u.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + u.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + u.Type = &typeVar + } + } + } + + return nil +} + +// UserAccessRight the mapping between a particular user and the access type on the SMB share. +type UserAccessRight struct { + // UserID - User ID (already existing in the device). + UserID *string `json:"userId,omitempty"` + // AccessType - Type of access to be allowed for the user. Possible values include: 'Change', 'Read', 'Custom' + AccessType ShareAccessType `json:"accessType,omitempty"` +} + +// UserList collection of users. +type UserList struct { + autorest.Response `json:"-"` + // Value - READ-ONLY; The list of users. + Value *[]User `json:"value,omitempty"` + // NextLink - READ-ONLY; Link to the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// UserListIterator provides access to a complete listing of User values. +type UserListIterator struct { + i int + page UserListPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *UserListIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/UserListIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *UserListIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter UserListIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter UserListIterator) Response() UserList { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter UserListIterator) Value() User { + if !iter.page.NotDone() { + return User{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the UserListIterator type. +func NewUserListIterator(page UserListPage) UserListIterator { + return UserListIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (ul UserList) IsEmpty() bool { + return ul.Value == nil || len(*ul.Value) == 0 +} + +// userListPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (ul UserList) userListPreparer(ctx context.Context) (*http.Request, error) { + if ul.NextLink == nil || len(to.String(ul.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(ul.NextLink))) +} + +// UserListPage contains a page of User values. +type UserListPage struct { + fn func(context.Context, UserList) (UserList, error) + ul UserList +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *UserListPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/UserListPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.ul) + if err != nil { + return err + } + page.ul = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *UserListPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page UserListPage) NotDone() bool { + return !page.ul.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page UserListPage) Response() UserList { + return page.ul +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page UserListPage) Values() []User { + if page.ul.IsEmpty() { + return nil + } + return *page.ul.Value +} + +// Creates a new instance of the UserListPage type. +func NewUserListPage(getNextPage func(context.Context, UserList) (UserList, error)) UserListPage { + return UserListPage{fn: getNextPage} +} + +// UserProperties the user properties. +type UserProperties struct { + // EncryptedPassword - The password details. + EncryptedPassword *AsymmetricEncryptedSecret `json:"encryptedPassword,omitempty"` + // ShareAccessRights - List of shares that the user has rights on. This field should not be specified during user creation. + ShareAccessRights *[]ShareAccessRight `json:"shareAccessRights,omitempty"` +} + +// UsersCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type UsersCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *UsersCreateOrUpdateFuture) Result(client UsersClient) (u User, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.UsersCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("databoxedge.UsersCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if u.Response.Response, err = future.GetResult(sender); err == nil && u.Response.Response.StatusCode != http.StatusNoContent { + u, err = client.CreateOrUpdateResponder(u.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.UsersCreateOrUpdateFuture", "Result", u.Response.Response, "Failure responding to request") + } + } + return +} + +// UsersDeleteFuture an abstraction for monitoring and retrieving the results of a long-running operation. +type UsersDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *UsersDeleteFuture) Result(client UsersClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.UsersDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("databoxedge.UsersDeleteFuture") + return + } + ar.Response = future.Response() + return +} diff --git a/services/databoxedge/mgmt/2019-07-01/databoxedge/nodes.go b/services/databoxedge/mgmt/2019-07-01/databoxedge/nodes.go new file mode 100644 index 000000000000..86b9766a31ca --- /dev/null +++ b/services/databoxedge/mgmt/2019-07-01/databoxedge/nodes.go @@ -0,0 +1,118 @@ +package databoxedge + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// NodesClient is the client for the Nodes methods of the Databoxedge service. +type NodesClient struct { + BaseClient +} + +// NewNodesClient creates an instance of the NodesClient client. +func NewNodesClient(subscriptionID string) NodesClient { + return NewNodesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewNodesClientWithBaseURI creates an instance of the NodesClient client. +func NewNodesClientWithBaseURI(baseURI string, subscriptionID string) NodesClient { + return NodesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// ListByDataBoxEdgeDevice gets all the nodes currently configured under this Data Box Edge device +// Parameters: +// deviceName - the device name. +// resourceGroupName - the resource group name. +func (client NodesClient) ListByDataBoxEdgeDevice(ctx context.Context, deviceName string, resourceGroupName string) (result NodeList, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/NodesClient.ListByDataBoxEdgeDevice") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListByDataBoxEdgeDevicePreparer(ctx, deviceName, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.NodesClient", "ListByDataBoxEdgeDevice", nil, "Failure preparing request") + return + } + + resp, err := client.ListByDataBoxEdgeDeviceSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "databoxedge.NodesClient", "ListByDataBoxEdgeDevice", resp, "Failure sending request") + return + } + + result, err = client.ListByDataBoxEdgeDeviceResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.NodesClient", "ListByDataBoxEdgeDevice", resp, "Failure responding to request") + } + + return +} + +// ListByDataBoxEdgeDevicePreparer prepares the ListByDataBoxEdgeDevice request. +func (client NodesClient) ListByDataBoxEdgeDevicePreparer(ctx context.Context, deviceName string, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "deviceName": autorest.Encode("path", deviceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/nodes", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByDataBoxEdgeDeviceSender sends the ListByDataBoxEdgeDevice request. The method will close the +// http.Response Body if it receives an error. +func (client NodesClient) ListByDataBoxEdgeDeviceSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByDataBoxEdgeDeviceResponder handles the response to the ListByDataBoxEdgeDevice request. The method always +// closes the http.Response Body. +func (client NodesClient) ListByDataBoxEdgeDeviceResponder(resp *http.Response) (result NodeList, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/databoxedge/mgmt/2019-07-01/databoxedge/operations.go b/services/databoxedge/mgmt/2019-07-01/databoxedge/operations.go new file mode 100644 index 000000000000..bcb8d20176f9 --- /dev/null +++ b/services/databoxedge/mgmt/2019-07-01/databoxedge/operations.go @@ -0,0 +1,147 @@ +package databoxedge + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// OperationsClient is the client for the Operations methods of the Databoxedge service. +type OperationsClient struct { + BaseClient +} + +// NewOperationsClient creates an instance of the OperationsClient client. +func NewOperationsClient(subscriptionID string) OperationsClient { + return NewOperationsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewOperationsClientWithBaseURI creates an instance of the OperationsClient client. +func NewOperationsClientWithBaseURI(baseURI string, subscriptionID string) OperationsClient { + return OperationsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// List sends the list request. +func (client OperationsClient) List(ctx context.Context) (result OperationsListPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/OperationsClient.List") + defer func() { + sc := -1 + if result.ol.Response.Response != nil { + sc = result.ol.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.OperationsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.ol.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "databoxedge.OperationsClient", "List", resp, "Failure sending request") + return + } + + result.ol, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.OperationsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client OperationsClient) ListPreparer(ctx context.Context) (*http.Request, error) { + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPath("/providers/Microsoft.DataBoxEdge/operations"), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client OperationsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client OperationsClient) ListResponder(resp *http.Response) (result OperationsList, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client OperationsClient) listNextResults(ctx context.Context, lastResults OperationsList) (result OperationsList, err error) { + req, err := lastResults.operationsListPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "databoxedge.OperationsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "databoxedge.OperationsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.OperationsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client OperationsClient) ListComplete(ctx context.Context) (result OperationsListIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/OperationsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx) + return +} diff --git a/services/databoxedge/mgmt/2019-07-01/databoxedge/operationsstatus.go b/services/databoxedge/mgmt/2019-07-01/databoxedge/operationsstatus.go new file mode 100644 index 000000000000..2e00a4ab98b1 --- /dev/null +++ b/services/databoxedge/mgmt/2019-07-01/databoxedge/operationsstatus.go @@ -0,0 +1,120 @@ +package databoxedge + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// OperationsStatusClient is the client for the OperationsStatus methods of the Databoxedge service. +type OperationsStatusClient struct { + BaseClient +} + +// NewOperationsStatusClient creates an instance of the OperationsStatusClient client. +func NewOperationsStatusClient(subscriptionID string) OperationsStatusClient { + return NewOperationsStatusClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewOperationsStatusClientWithBaseURI creates an instance of the OperationsStatusClient client. +func NewOperationsStatusClientWithBaseURI(baseURI string, subscriptionID string) OperationsStatusClient { + return OperationsStatusClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// Get sends the get request. +// Parameters: +// deviceName - the device name. +// name - the job name. +// resourceGroupName - the resource group name. +func (client OperationsStatusClient) Get(ctx context.Context, deviceName string, name string, resourceGroupName string) (result Job, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/OperationsStatusClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, deviceName, name, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.OperationsStatusClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "databoxedge.OperationsStatusClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.OperationsStatusClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client OperationsStatusClient) GetPreparer(ctx context.Context, deviceName string, name string, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "deviceName": autorest.Encode("path", deviceName), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/operationsStatus/{name}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client OperationsStatusClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client OperationsStatusClient) GetResponder(resp *http.Response) (result Job, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/databoxedge/mgmt/2019-07-01/databoxedge/orders.go b/services/databoxedge/mgmt/2019-07-01/databoxedge/orders.go new file mode 100644 index 000000000000..380f0452d415 --- /dev/null +++ b/services/databoxedge/mgmt/2019-07-01/databoxedge/orders.go @@ -0,0 +1,410 @@ +package databoxedge + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// OrdersClient is the client for the Orders methods of the Databoxedge service. +type OrdersClient struct { + BaseClient +} + +// NewOrdersClient creates an instance of the OrdersClient client. +func NewOrdersClient(subscriptionID string) OrdersClient { + return NewOrdersClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewOrdersClientWithBaseURI creates an instance of the OrdersClient client. +func NewOrdersClientWithBaseURI(baseURI string, subscriptionID string) OrdersClient { + return OrdersClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate sends the create or update request. +// Parameters: +// deviceName - the device name. +// order - the order to be created or updated. +// resourceGroupName - the resource group name. +func (client OrdersClient) CreateOrUpdate(ctx context.Context, deviceName string, order Order, resourceGroupName string) (result OrdersCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/OrdersClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: order, + Constraints: []validation.Constraint{{Target: "order.OrderProperties", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "order.OrderProperties.ContactInformation", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "order.OrderProperties.ContactInformation.ContactPerson", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "order.OrderProperties.ContactInformation.CompanyName", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "order.OrderProperties.ContactInformation.Phone", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "order.OrderProperties.ContactInformation.EmailList", Name: validation.Null, Rule: true, Chain: nil}, + }}, + {Target: "order.OrderProperties.ShippingAddress", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "order.OrderProperties.ShippingAddress.AddressLine1", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "order.OrderProperties.ShippingAddress.PostalCode", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "order.OrderProperties.ShippingAddress.City", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "order.OrderProperties.ShippingAddress.State", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "order.OrderProperties.ShippingAddress.Country", Name: validation.Null, Rule: true, Chain: nil}, + }}, + }}}}}); err != nil { + return result, validation.NewError("databoxedge.OrdersClient", "CreateOrUpdate", err.Error()) + } + + req, err := client.CreateOrUpdatePreparer(ctx, deviceName, order, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.OrdersClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.OrdersClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client OrdersClient) CreateOrUpdatePreparer(ctx context.Context, deviceName string, order Order, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "deviceName": autorest.Encode("path", deviceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/orders/default", pathParameters), + autorest.WithJSON(order), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client OrdersClient) CreateOrUpdateSender(req *http.Request) (future OrdersCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client OrdersClient) CreateOrUpdateResponder(resp *http.Response) (result Order, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete sends the delete request. +// Parameters: +// deviceName - the device name. +// resourceGroupName - the resource group name. +func (client OrdersClient) Delete(ctx context.Context, deviceName string, resourceGroupName string) (result OrdersDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/OrdersClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, deviceName, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.OrdersClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.OrdersClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client OrdersClient) DeletePreparer(ctx context.Context, deviceName string, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "deviceName": autorest.Encode("path", deviceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/orders/default", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client OrdersClient) DeleteSender(req *http.Request) (future OrdersDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client OrdersClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get sends the get request. +// Parameters: +// deviceName - the device name. +// resourceGroupName - the resource group name. +func (client OrdersClient) Get(ctx context.Context, deviceName string, resourceGroupName string) (result Order, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/OrdersClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, deviceName, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.OrdersClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "databoxedge.OrdersClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.OrdersClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client OrdersClient) GetPreparer(ctx context.Context, deviceName string, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "deviceName": autorest.Encode("path", deviceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/orders/default", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client OrdersClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client OrdersClient) GetResponder(resp *http.Response) (result Order, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByDataBoxEdgeDevice sends the list by data box edge device request. +// Parameters: +// deviceName - the device name. +// resourceGroupName - the resource group name. +func (client OrdersClient) ListByDataBoxEdgeDevice(ctx context.Context, deviceName string, resourceGroupName string) (result OrderListPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/OrdersClient.ListByDataBoxEdgeDevice") + defer func() { + sc := -1 + if result.ol.Response.Response != nil { + sc = result.ol.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listByDataBoxEdgeDeviceNextResults + req, err := client.ListByDataBoxEdgeDevicePreparer(ctx, deviceName, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.OrdersClient", "ListByDataBoxEdgeDevice", nil, "Failure preparing request") + return + } + + resp, err := client.ListByDataBoxEdgeDeviceSender(req) + if err != nil { + result.ol.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "databoxedge.OrdersClient", "ListByDataBoxEdgeDevice", resp, "Failure sending request") + return + } + + result.ol, err = client.ListByDataBoxEdgeDeviceResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.OrdersClient", "ListByDataBoxEdgeDevice", resp, "Failure responding to request") + } + + return +} + +// ListByDataBoxEdgeDevicePreparer prepares the ListByDataBoxEdgeDevice request. +func (client OrdersClient) ListByDataBoxEdgeDevicePreparer(ctx context.Context, deviceName string, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "deviceName": autorest.Encode("path", deviceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/orders", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByDataBoxEdgeDeviceSender sends the ListByDataBoxEdgeDevice request. The method will close the +// http.Response Body if it receives an error. +func (client OrdersClient) ListByDataBoxEdgeDeviceSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByDataBoxEdgeDeviceResponder handles the response to the ListByDataBoxEdgeDevice request. The method always +// closes the http.Response Body. +func (client OrdersClient) ListByDataBoxEdgeDeviceResponder(resp *http.Response) (result OrderList, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listByDataBoxEdgeDeviceNextResults retrieves the next set of results, if any. +func (client OrdersClient) listByDataBoxEdgeDeviceNextResults(ctx context.Context, lastResults OrderList) (result OrderList, err error) { + req, err := lastResults.orderListPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "databoxedge.OrdersClient", "listByDataBoxEdgeDeviceNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListByDataBoxEdgeDeviceSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "databoxedge.OrdersClient", "listByDataBoxEdgeDeviceNextResults", resp, "Failure sending next results request") + } + result, err = client.ListByDataBoxEdgeDeviceResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.OrdersClient", "listByDataBoxEdgeDeviceNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListByDataBoxEdgeDeviceComplete enumerates all values, automatically crossing page boundaries as required. +func (client OrdersClient) ListByDataBoxEdgeDeviceComplete(ctx context.Context, deviceName string, resourceGroupName string) (result OrderListIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/OrdersClient.ListByDataBoxEdgeDevice") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListByDataBoxEdgeDevice(ctx, deviceName, resourceGroupName) + return +} diff --git a/services/databoxedge/mgmt/2019-07-01/databoxedge/roles.go b/services/databoxedge/mgmt/2019-07-01/databoxedge/roles.go new file mode 100644 index 000000000000..a59b590769ab --- /dev/null +++ b/services/databoxedge/mgmt/2019-07-01/databoxedge/roles.go @@ -0,0 +1,395 @@ +package databoxedge + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// RolesClient is the client for the Roles methods of the Databoxedge service. +type RolesClient struct { + BaseClient +} + +// NewRolesClient creates an instance of the RolesClient client. +func NewRolesClient(subscriptionID string) RolesClient { + return NewRolesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewRolesClientWithBaseURI creates an instance of the RolesClient client. +func NewRolesClientWithBaseURI(baseURI string, subscriptionID string) RolesClient { + return RolesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate create or update a role. +// Parameters: +// deviceName - the device name. +// name - the role name. +// role - the role properties. +// resourceGroupName - the resource group name. +func (client RolesClient) CreateOrUpdate(ctx context.Context, deviceName string, name string, role BasicRole, resourceGroupName string) (result RolesCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RolesClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, deviceName, name, role, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.RolesClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.RolesClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client RolesClient) CreateOrUpdatePreparer(ctx context.Context, deviceName string, name string, role BasicRole, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "deviceName": autorest.Encode("path", deviceName), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/roles/{name}", pathParameters), + autorest.WithJSON(role), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client RolesClient) CreateOrUpdateSender(req *http.Request) (future RolesCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client RolesClient) CreateOrUpdateResponder(resp *http.Response) (result RoleModel, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the role on the device. +// Parameters: +// deviceName - the device name. +// name - the role name. +// resourceGroupName - the resource group name. +func (client RolesClient) Delete(ctx context.Context, deviceName string, name string, resourceGroupName string) (result RolesDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RolesClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, deviceName, name, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.RolesClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.RolesClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client RolesClient) DeletePreparer(ctx context.Context, deviceName string, name string, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "deviceName": autorest.Encode("path", deviceName), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/roles/{name}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client RolesClient) DeleteSender(req *http.Request) (future RolesDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client RolesClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets a specific role by name. +// Parameters: +// deviceName - the device name. +// name - the role name. +// resourceGroupName - the resource group name. +func (client RolesClient) Get(ctx context.Context, deviceName string, name string, resourceGroupName string) (result RoleModel, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RolesClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, deviceName, name, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.RolesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "databoxedge.RolesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.RolesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client RolesClient) GetPreparer(ctx context.Context, deviceName string, name string, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "deviceName": autorest.Encode("path", deviceName), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/roles/{name}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client RolesClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client RolesClient) GetResponder(resp *http.Response) (result RoleModel, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByDataBoxEdgeDevice lists all the roles configured in a Data Box Edge/Data Box Gateway device. +// Parameters: +// deviceName - the device name. +// resourceGroupName - the resource group name. +func (client RolesClient) ListByDataBoxEdgeDevice(ctx context.Context, deviceName string, resourceGroupName string) (result RoleListPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RolesClient.ListByDataBoxEdgeDevice") + defer func() { + sc := -1 + if result.rl.Response.Response != nil { + sc = result.rl.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listByDataBoxEdgeDeviceNextResults + req, err := client.ListByDataBoxEdgeDevicePreparer(ctx, deviceName, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.RolesClient", "ListByDataBoxEdgeDevice", nil, "Failure preparing request") + return + } + + resp, err := client.ListByDataBoxEdgeDeviceSender(req) + if err != nil { + result.rl.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "databoxedge.RolesClient", "ListByDataBoxEdgeDevice", resp, "Failure sending request") + return + } + + result.rl, err = client.ListByDataBoxEdgeDeviceResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.RolesClient", "ListByDataBoxEdgeDevice", resp, "Failure responding to request") + } + + return +} + +// ListByDataBoxEdgeDevicePreparer prepares the ListByDataBoxEdgeDevice request. +func (client RolesClient) ListByDataBoxEdgeDevicePreparer(ctx context.Context, deviceName string, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "deviceName": autorest.Encode("path", deviceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/roles", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByDataBoxEdgeDeviceSender sends the ListByDataBoxEdgeDevice request. The method will close the +// http.Response Body if it receives an error. +func (client RolesClient) ListByDataBoxEdgeDeviceSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByDataBoxEdgeDeviceResponder handles the response to the ListByDataBoxEdgeDevice request. The method always +// closes the http.Response Body. +func (client RolesClient) ListByDataBoxEdgeDeviceResponder(resp *http.Response) (result RoleList, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listByDataBoxEdgeDeviceNextResults retrieves the next set of results, if any. +func (client RolesClient) listByDataBoxEdgeDeviceNextResults(ctx context.Context, lastResults RoleList) (result RoleList, err error) { + req, err := lastResults.roleListPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "databoxedge.RolesClient", "listByDataBoxEdgeDeviceNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListByDataBoxEdgeDeviceSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "databoxedge.RolesClient", "listByDataBoxEdgeDeviceNextResults", resp, "Failure sending next results request") + } + result, err = client.ListByDataBoxEdgeDeviceResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.RolesClient", "listByDataBoxEdgeDeviceNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListByDataBoxEdgeDeviceComplete enumerates all values, automatically crossing page boundaries as required. +func (client RolesClient) ListByDataBoxEdgeDeviceComplete(ctx context.Context, deviceName string, resourceGroupName string) (result RoleListIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RolesClient.ListByDataBoxEdgeDevice") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListByDataBoxEdgeDevice(ctx, deviceName, resourceGroupName) + return +} diff --git a/services/databoxedge/mgmt/2019-07-01/databoxedge/shares.go b/services/databoxedge/mgmt/2019-07-01/databoxedge/shares.go new file mode 100644 index 000000000000..9990a6891be4 --- /dev/null +++ b/services/databoxedge/mgmt/2019-07-01/databoxedge/shares.go @@ -0,0 +1,485 @@ +package databoxedge + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// SharesClient is the client for the Shares methods of the Databoxedge service. +type SharesClient struct { + BaseClient +} + +// NewSharesClient creates an instance of the SharesClient client. +func NewSharesClient(subscriptionID string) SharesClient { + return NewSharesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewSharesClientWithBaseURI creates an instance of the SharesClient client. +func NewSharesClientWithBaseURI(baseURI string, subscriptionID string) SharesClient { + return SharesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate sends the create or update request. +// Parameters: +// deviceName - the device name. +// name - the share name. +// share - the share properties. +// resourceGroupName - the resource group name. +func (client SharesClient) CreateOrUpdate(ctx context.Context, deviceName string, name string, share Share, resourceGroupName string) (result SharesCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SharesClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: share, + Constraints: []validation.Constraint{{Target: "share.ShareProperties", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "share.ShareProperties.AzureContainerInfo", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "share.ShareProperties.AzureContainerInfo.StorageAccountCredentialID", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "share.ShareProperties.AzureContainerInfo.ContainerName", Name: validation.Null, Rule: true, Chain: nil}, + }}, + }}}}}); err != nil { + return result, validation.NewError("databoxedge.SharesClient", "CreateOrUpdate", err.Error()) + } + + req, err := client.CreateOrUpdatePreparer(ctx, deviceName, name, share, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.SharesClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.SharesClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client SharesClient) CreateOrUpdatePreparer(ctx context.Context, deviceName string, name string, share Share, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "deviceName": autorest.Encode("path", deviceName), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/shares/{name}", pathParameters), + autorest.WithJSON(share), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client SharesClient) CreateOrUpdateSender(req *http.Request) (future SharesCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client SharesClient) CreateOrUpdateResponder(resp *http.Response) (result Share, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the share on the Data Box Edge/Data Box Gateway device. +// Parameters: +// deviceName - the device name. +// name - the share name. +// resourceGroupName - the resource group name. +func (client SharesClient) Delete(ctx context.Context, deviceName string, name string, resourceGroupName string) (result SharesDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SharesClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, deviceName, name, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.SharesClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.SharesClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client SharesClient) DeletePreparer(ctx context.Context, deviceName string, name string, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "deviceName": autorest.Encode("path", deviceName), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/shares/{name}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client SharesClient) DeleteSender(req *http.Request) (future SharesDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client SharesClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get sends the get request. +// Parameters: +// deviceName - the device name. +// name - the share name. +// resourceGroupName - the resource group name. +func (client SharesClient) Get(ctx context.Context, deviceName string, name string, resourceGroupName string) (result Share, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SharesClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, deviceName, name, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.SharesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "databoxedge.SharesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.SharesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client SharesClient) GetPreparer(ctx context.Context, deviceName string, name string, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "deviceName": autorest.Encode("path", deviceName), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/shares/{name}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client SharesClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client SharesClient) GetResponder(resp *http.Response) (result Share, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByDataBoxEdgeDevice sends the list by data box edge device request. +// Parameters: +// deviceName - the device name. +// resourceGroupName - the resource group name. +func (client SharesClient) ListByDataBoxEdgeDevice(ctx context.Context, deviceName string, resourceGroupName string) (result ShareListPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SharesClient.ListByDataBoxEdgeDevice") + defer func() { + sc := -1 + if result.sl.Response.Response != nil { + sc = result.sl.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listByDataBoxEdgeDeviceNextResults + req, err := client.ListByDataBoxEdgeDevicePreparer(ctx, deviceName, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.SharesClient", "ListByDataBoxEdgeDevice", nil, "Failure preparing request") + return + } + + resp, err := client.ListByDataBoxEdgeDeviceSender(req) + if err != nil { + result.sl.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "databoxedge.SharesClient", "ListByDataBoxEdgeDevice", resp, "Failure sending request") + return + } + + result.sl, err = client.ListByDataBoxEdgeDeviceResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.SharesClient", "ListByDataBoxEdgeDevice", resp, "Failure responding to request") + } + + return +} + +// ListByDataBoxEdgeDevicePreparer prepares the ListByDataBoxEdgeDevice request. +func (client SharesClient) ListByDataBoxEdgeDevicePreparer(ctx context.Context, deviceName string, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "deviceName": autorest.Encode("path", deviceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/shares", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByDataBoxEdgeDeviceSender sends the ListByDataBoxEdgeDevice request. The method will close the +// http.Response Body if it receives an error. +func (client SharesClient) ListByDataBoxEdgeDeviceSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByDataBoxEdgeDeviceResponder handles the response to the ListByDataBoxEdgeDevice request. The method always +// closes the http.Response Body. +func (client SharesClient) ListByDataBoxEdgeDeviceResponder(resp *http.Response) (result ShareList, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listByDataBoxEdgeDeviceNextResults retrieves the next set of results, if any. +func (client SharesClient) listByDataBoxEdgeDeviceNextResults(ctx context.Context, lastResults ShareList) (result ShareList, err error) { + req, err := lastResults.shareListPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "databoxedge.SharesClient", "listByDataBoxEdgeDeviceNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListByDataBoxEdgeDeviceSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "databoxedge.SharesClient", "listByDataBoxEdgeDeviceNextResults", resp, "Failure sending next results request") + } + result, err = client.ListByDataBoxEdgeDeviceResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.SharesClient", "listByDataBoxEdgeDeviceNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListByDataBoxEdgeDeviceComplete enumerates all values, automatically crossing page boundaries as required. +func (client SharesClient) ListByDataBoxEdgeDeviceComplete(ctx context.Context, deviceName string, resourceGroupName string) (result ShareListIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SharesClient.ListByDataBoxEdgeDevice") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListByDataBoxEdgeDevice(ctx, deviceName, resourceGroupName) + return +} + +// Refresh sends the refresh request. +// Parameters: +// deviceName - the device name. +// name - the share name. +// resourceGroupName - the resource group name. +func (client SharesClient) Refresh(ctx context.Context, deviceName string, name string, resourceGroupName string) (result SharesRefreshFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SharesClient.Refresh") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.RefreshPreparer(ctx, deviceName, name, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.SharesClient", "Refresh", nil, "Failure preparing request") + return + } + + result, err = client.RefreshSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.SharesClient", "Refresh", result.Response(), "Failure sending request") + return + } + + return +} + +// RefreshPreparer prepares the Refresh request. +func (client SharesClient) RefreshPreparer(ctx context.Context, deviceName string, name string, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "deviceName": autorest.Encode("path", deviceName), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/shares/{name}/refresh", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// RefreshSender sends the Refresh request. The method will close the +// http.Response Body if it receives an error. +func (client SharesClient) RefreshSender(req *http.Request) (future SharesRefreshFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// RefreshResponder handles the response to the Refresh request. The method always +// closes the http.Response Body. +func (client SharesClient) RefreshResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByClosing()) + result.Response = resp + return +} diff --git a/services/databoxedge/mgmt/2019-07-01/databoxedge/storageaccountcredentials.go b/services/databoxedge/mgmt/2019-07-01/databoxedge/storageaccountcredentials.go new file mode 100644 index 000000000000..4bc7578180fe --- /dev/null +++ b/services/databoxedge/mgmt/2019-07-01/databoxedge/storageaccountcredentials.go @@ -0,0 +1,406 @@ +package databoxedge + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// StorageAccountCredentialsClient is the client for the StorageAccountCredentials methods of the Databoxedge service. +type StorageAccountCredentialsClient struct { + BaseClient +} + +// NewStorageAccountCredentialsClient creates an instance of the StorageAccountCredentialsClient client. +func NewStorageAccountCredentialsClient(subscriptionID string) StorageAccountCredentialsClient { + return NewStorageAccountCredentialsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewStorageAccountCredentialsClientWithBaseURI creates an instance of the StorageAccountCredentialsClient client. +func NewStorageAccountCredentialsClientWithBaseURI(baseURI string, subscriptionID string) StorageAccountCredentialsClient { + return StorageAccountCredentialsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates the storage account credential. +// Parameters: +// deviceName - the device name. +// name - the storage account credential name. +// storageAccountCredential - the storage account credential. +// resourceGroupName - the resource group name. +func (client StorageAccountCredentialsClient) CreateOrUpdate(ctx context.Context, deviceName string, name string, storageAccountCredential StorageAccountCredential, resourceGroupName string) (result StorageAccountCredentialsCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/StorageAccountCredentialsClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: storageAccountCredential, + Constraints: []validation.Constraint{{Target: "storageAccountCredential.StorageAccountCredentialProperties", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "storageAccountCredential.StorageAccountCredentialProperties.Alias", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "storageAccountCredential.StorageAccountCredentialProperties.AccountKey", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "storageAccountCredential.StorageAccountCredentialProperties.AccountKey.Value", Name: validation.Null, Rule: true, Chain: nil}}}, + }}}}}); err != nil { + return result, validation.NewError("databoxedge.StorageAccountCredentialsClient", "CreateOrUpdate", err.Error()) + } + + req, err := client.CreateOrUpdatePreparer(ctx, deviceName, name, storageAccountCredential, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.StorageAccountCredentialsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.StorageAccountCredentialsClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client StorageAccountCredentialsClient) CreateOrUpdatePreparer(ctx context.Context, deviceName string, name string, storageAccountCredential StorageAccountCredential, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "deviceName": autorest.Encode("path", deviceName), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/storageAccountCredentials/{name}", pathParameters), + autorest.WithJSON(storageAccountCredential), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client StorageAccountCredentialsClient) CreateOrUpdateSender(req *http.Request) (future StorageAccountCredentialsCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client StorageAccountCredentialsClient) CreateOrUpdateResponder(resp *http.Response) (result StorageAccountCredential, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the storage account credential. +// Parameters: +// deviceName - the device name. +// name - the storage account credential name. +// resourceGroupName - the resource group name. +func (client StorageAccountCredentialsClient) Delete(ctx context.Context, deviceName string, name string, resourceGroupName string) (result StorageAccountCredentialsDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/StorageAccountCredentialsClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, deviceName, name, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.StorageAccountCredentialsClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.StorageAccountCredentialsClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client StorageAccountCredentialsClient) DeletePreparer(ctx context.Context, deviceName string, name string, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "deviceName": autorest.Encode("path", deviceName), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/storageAccountCredentials/{name}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client StorageAccountCredentialsClient) DeleteSender(req *http.Request) (future StorageAccountCredentialsDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client StorageAccountCredentialsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets the properties of the specified storage account credential. +// Parameters: +// deviceName - the device name. +// name - the storage account credential name. +// resourceGroupName - the resource group name. +func (client StorageAccountCredentialsClient) Get(ctx context.Context, deviceName string, name string, resourceGroupName string) (result StorageAccountCredential, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/StorageAccountCredentialsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, deviceName, name, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.StorageAccountCredentialsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "databoxedge.StorageAccountCredentialsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.StorageAccountCredentialsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client StorageAccountCredentialsClient) GetPreparer(ctx context.Context, deviceName string, name string, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "deviceName": autorest.Encode("path", deviceName), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/storageAccountCredentials/{name}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client StorageAccountCredentialsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client StorageAccountCredentialsClient) GetResponder(resp *http.Response) (result StorageAccountCredential, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByDataBoxEdgeDevice sends the list by data box edge device request. +// Parameters: +// deviceName - the device name. +// resourceGroupName - the resource group name. +func (client StorageAccountCredentialsClient) ListByDataBoxEdgeDevice(ctx context.Context, deviceName string, resourceGroupName string) (result StorageAccountCredentialListPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/StorageAccountCredentialsClient.ListByDataBoxEdgeDevice") + defer func() { + sc := -1 + if result.sacl.Response.Response != nil { + sc = result.sacl.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listByDataBoxEdgeDeviceNextResults + req, err := client.ListByDataBoxEdgeDevicePreparer(ctx, deviceName, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.StorageAccountCredentialsClient", "ListByDataBoxEdgeDevice", nil, "Failure preparing request") + return + } + + resp, err := client.ListByDataBoxEdgeDeviceSender(req) + if err != nil { + result.sacl.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "databoxedge.StorageAccountCredentialsClient", "ListByDataBoxEdgeDevice", resp, "Failure sending request") + return + } + + result.sacl, err = client.ListByDataBoxEdgeDeviceResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.StorageAccountCredentialsClient", "ListByDataBoxEdgeDevice", resp, "Failure responding to request") + } + + return +} + +// ListByDataBoxEdgeDevicePreparer prepares the ListByDataBoxEdgeDevice request. +func (client StorageAccountCredentialsClient) ListByDataBoxEdgeDevicePreparer(ctx context.Context, deviceName string, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "deviceName": autorest.Encode("path", deviceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/storageAccountCredentials", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByDataBoxEdgeDeviceSender sends the ListByDataBoxEdgeDevice request. The method will close the +// http.Response Body if it receives an error. +func (client StorageAccountCredentialsClient) ListByDataBoxEdgeDeviceSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByDataBoxEdgeDeviceResponder handles the response to the ListByDataBoxEdgeDevice request. The method always +// closes the http.Response Body. +func (client StorageAccountCredentialsClient) ListByDataBoxEdgeDeviceResponder(resp *http.Response) (result StorageAccountCredentialList, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listByDataBoxEdgeDeviceNextResults retrieves the next set of results, if any. +func (client StorageAccountCredentialsClient) listByDataBoxEdgeDeviceNextResults(ctx context.Context, lastResults StorageAccountCredentialList) (result StorageAccountCredentialList, err error) { + req, err := lastResults.storageAccountCredentialListPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "databoxedge.StorageAccountCredentialsClient", "listByDataBoxEdgeDeviceNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListByDataBoxEdgeDeviceSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "databoxedge.StorageAccountCredentialsClient", "listByDataBoxEdgeDeviceNextResults", resp, "Failure sending next results request") + } + result, err = client.ListByDataBoxEdgeDeviceResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.StorageAccountCredentialsClient", "listByDataBoxEdgeDeviceNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListByDataBoxEdgeDeviceComplete enumerates all values, automatically crossing page boundaries as required. +func (client StorageAccountCredentialsClient) ListByDataBoxEdgeDeviceComplete(ctx context.Context, deviceName string, resourceGroupName string) (result StorageAccountCredentialListIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/StorageAccountCredentialsClient.ListByDataBoxEdgeDevice") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListByDataBoxEdgeDevice(ctx, deviceName, resourceGroupName) + return +} diff --git a/services/databoxedge/mgmt/2019-07-01/databoxedge/triggers.go b/services/databoxedge/mgmt/2019-07-01/databoxedge/triggers.go new file mode 100644 index 000000000000..0d669df50718 --- /dev/null +++ b/services/databoxedge/mgmt/2019-07-01/databoxedge/triggers.go @@ -0,0 +1,399 @@ +package databoxedge + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// TriggersClient is the client for the Triggers methods of the Databoxedge service. +type TriggersClient struct { + BaseClient +} + +// NewTriggersClient creates an instance of the TriggersClient client. +func NewTriggersClient(subscriptionID string) TriggersClient { + return NewTriggersClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewTriggersClientWithBaseURI creates an instance of the TriggersClient client. +func NewTriggersClientWithBaseURI(baseURI string, subscriptionID string) TriggersClient { + return TriggersClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates a trigger. +// Parameters: +// deviceName - creates or updates a trigger +// name - the trigger name. +// trigger - the trigger. +// resourceGroupName - the resource group name. +func (client TriggersClient) CreateOrUpdate(ctx context.Context, deviceName string, name string, trigger BasicTrigger, resourceGroupName string) (result TriggersCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/TriggersClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, deviceName, name, trigger, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.TriggersClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.TriggersClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client TriggersClient) CreateOrUpdatePreparer(ctx context.Context, deviceName string, name string, trigger BasicTrigger, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "deviceName": autorest.Encode("path", deviceName), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/triggers/{name}", pathParameters), + autorest.WithJSON(trigger), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client TriggersClient) CreateOrUpdateSender(req *http.Request) (future TriggersCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client TriggersClient) CreateOrUpdateResponder(resp *http.Response) (result TriggerModel, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the trigger on the gateway device. +// Parameters: +// deviceName - the device name. +// name - the trigger name. +// resourceGroupName - the resource group name. +func (client TriggersClient) Delete(ctx context.Context, deviceName string, name string, resourceGroupName string) (result TriggersDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/TriggersClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, deviceName, name, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.TriggersClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.TriggersClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client TriggersClient) DeletePreparer(ctx context.Context, deviceName string, name string, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "deviceName": autorest.Encode("path", deviceName), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/triggers/{name}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client TriggersClient) DeleteSender(req *http.Request) (future TriggersDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client TriggersClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get get a specific trigger by name. +// Parameters: +// deviceName - the device name. +// name - the trigger name. +// resourceGroupName - the resource group name. +func (client TriggersClient) Get(ctx context.Context, deviceName string, name string, resourceGroupName string) (result TriggerModel, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/TriggersClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, deviceName, name, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.TriggersClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "databoxedge.TriggersClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.TriggersClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client TriggersClient) GetPreparer(ctx context.Context, deviceName string, name string, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "deviceName": autorest.Encode("path", deviceName), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/triggers/{name}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client TriggersClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client TriggersClient) GetResponder(resp *http.Response) (result TriggerModel, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByDataBoxEdgeDevice lists all the triggers configured in the device. +// Parameters: +// deviceName - the device name. +// resourceGroupName - the resource group name. +// expand - specify $filter='CustomContextTag eq ' to filter on custom context tag property +func (client TriggersClient) ListByDataBoxEdgeDevice(ctx context.Context, deviceName string, resourceGroupName string, expand string) (result TriggerListPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/TriggersClient.ListByDataBoxEdgeDevice") + defer func() { + sc := -1 + if result.tl.Response.Response != nil { + sc = result.tl.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listByDataBoxEdgeDeviceNextResults + req, err := client.ListByDataBoxEdgeDevicePreparer(ctx, deviceName, resourceGroupName, expand) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.TriggersClient", "ListByDataBoxEdgeDevice", nil, "Failure preparing request") + return + } + + resp, err := client.ListByDataBoxEdgeDeviceSender(req) + if err != nil { + result.tl.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "databoxedge.TriggersClient", "ListByDataBoxEdgeDevice", resp, "Failure sending request") + return + } + + result.tl, err = client.ListByDataBoxEdgeDeviceResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.TriggersClient", "ListByDataBoxEdgeDevice", resp, "Failure responding to request") + } + + return +} + +// ListByDataBoxEdgeDevicePreparer prepares the ListByDataBoxEdgeDevice request. +func (client TriggersClient) ListByDataBoxEdgeDevicePreparer(ctx context.Context, deviceName string, resourceGroupName string, expand string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "deviceName": autorest.Encode("path", deviceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(expand) > 0 { + queryParameters["$expand"] = autorest.Encode("query", expand) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/triggers", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByDataBoxEdgeDeviceSender sends the ListByDataBoxEdgeDevice request. The method will close the +// http.Response Body if it receives an error. +func (client TriggersClient) ListByDataBoxEdgeDeviceSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByDataBoxEdgeDeviceResponder handles the response to the ListByDataBoxEdgeDevice request. The method always +// closes the http.Response Body. +func (client TriggersClient) ListByDataBoxEdgeDeviceResponder(resp *http.Response) (result TriggerList, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listByDataBoxEdgeDeviceNextResults retrieves the next set of results, if any. +func (client TriggersClient) listByDataBoxEdgeDeviceNextResults(ctx context.Context, lastResults TriggerList) (result TriggerList, err error) { + req, err := lastResults.triggerListPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "databoxedge.TriggersClient", "listByDataBoxEdgeDeviceNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListByDataBoxEdgeDeviceSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "databoxedge.TriggersClient", "listByDataBoxEdgeDeviceNextResults", resp, "Failure sending next results request") + } + result, err = client.ListByDataBoxEdgeDeviceResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.TriggersClient", "listByDataBoxEdgeDeviceNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListByDataBoxEdgeDeviceComplete enumerates all values, automatically crossing page boundaries as required. +func (client TriggersClient) ListByDataBoxEdgeDeviceComplete(ctx context.Context, deviceName string, resourceGroupName string, expand string) (result TriggerListIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/TriggersClient.ListByDataBoxEdgeDevice") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListByDataBoxEdgeDevice(ctx, deviceName, resourceGroupName, expand) + return +} diff --git a/services/databoxedge/mgmt/2019-07-01/databoxedge/users.go b/services/databoxedge/mgmt/2019-07-01/databoxedge/users.go new file mode 100644 index 000000000000..eeca2f8a653d --- /dev/null +++ b/services/databoxedge/mgmt/2019-07-01/databoxedge/users.go @@ -0,0 +1,406 @@ +package databoxedge + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// UsersClient is the client for the Users methods of the Databoxedge service. +type UsersClient struct { + BaseClient +} + +// NewUsersClient creates an instance of the UsersClient client. +func NewUsersClient(subscriptionID string) UsersClient { + return NewUsersClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewUsersClientWithBaseURI creates an instance of the UsersClient client. +func NewUsersClientWithBaseURI(baseURI string, subscriptionID string) UsersClient { + return UsersClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates a new user or updates an existing user's information on a Data Box Edge/Data Box Gateway +// device. +// Parameters: +// deviceName - the device name. +// name - the user name. +// userParameter - the user details. +// resourceGroupName - the resource group name. +func (client UsersClient) CreateOrUpdate(ctx context.Context, deviceName string, name string, userParameter User, resourceGroupName string) (result UsersCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/UsersClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: userParameter, + Constraints: []validation.Constraint{{Target: "userParameter.UserProperties", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "userParameter.UserProperties.EncryptedPassword", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "userParameter.UserProperties.EncryptedPassword.Value", Name: validation.Null, Rule: true, Chain: nil}}}, + }}}}}); err != nil { + return result, validation.NewError("databoxedge.UsersClient", "CreateOrUpdate", err.Error()) + } + + req, err := client.CreateOrUpdatePreparer(ctx, deviceName, name, userParameter, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.UsersClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.UsersClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client UsersClient) CreateOrUpdatePreparer(ctx context.Context, deviceName string, name string, userParameter User, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "deviceName": autorest.Encode("path", deviceName), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/users/{name}", pathParameters), + autorest.WithJSON(userParameter), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client UsersClient) CreateOrUpdateSender(req *http.Request) (future UsersCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client UsersClient) CreateOrUpdateResponder(resp *http.Response) (result User, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the user on a databox edge/gateway device. +// Parameters: +// deviceName - the device name. +// name - the user name. +// resourceGroupName - the resource group name. +func (client UsersClient) Delete(ctx context.Context, deviceName string, name string, resourceGroupName string) (result UsersDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/UsersClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, deviceName, name, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.UsersClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.UsersClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client UsersClient) DeletePreparer(ctx context.Context, deviceName string, name string, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "deviceName": autorest.Encode("path", deviceName), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/users/{name}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client UsersClient) DeleteSender(req *http.Request) (future UsersDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client UsersClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets the properties of the specified user. +// Parameters: +// deviceName - the device name. +// name - the user name. +// resourceGroupName - the resource group name. +func (client UsersClient) Get(ctx context.Context, deviceName string, name string, resourceGroupName string) (result User, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/UsersClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, deviceName, name, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.UsersClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "databoxedge.UsersClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.UsersClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client UsersClient) GetPreparer(ctx context.Context, deviceName string, name string, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "deviceName": autorest.Encode("path", deviceName), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/users/{name}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client UsersClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client UsersClient) GetResponder(resp *http.Response) (result User, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByDataBoxEdgeDevice gets all the users registered on a Data Box Edge/Data Box Gateway device. +// Parameters: +// deviceName - the device name. +// resourceGroupName - the resource group name. +func (client UsersClient) ListByDataBoxEdgeDevice(ctx context.Context, deviceName string, resourceGroupName string) (result UserListPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/UsersClient.ListByDataBoxEdgeDevice") + defer func() { + sc := -1 + if result.ul.Response.Response != nil { + sc = result.ul.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listByDataBoxEdgeDeviceNextResults + req, err := client.ListByDataBoxEdgeDevicePreparer(ctx, deviceName, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.UsersClient", "ListByDataBoxEdgeDevice", nil, "Failure preparing request") + return + } + + resp, err := client.ListByDataBoxEdgeDeviceSender(req) + if err != nil { + result.ul.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "databoxedge.UsersClient", "ListByDataBoxEdgeDevice", resp, "Failure sending request") + return + } + + result.ul, err = client.ListByDataBoxEdgeDeviceResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.UsersClient", "ListByDataBoxEdgeDevice", resp, "Failure responding to request") + } + + return +} + +// ListByDataBoxEdgeDevicePreparer prepares the ListByDataBoxEdgeDevice request. +func (client UsersClient) ListByDataBoxEdgeDevicePreparer(ctx context.Context, deviceName string, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "deviceName": autorest.Encode("path", deviceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/users", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByDataBoxEdgeDeviceSender sends the ListByDataBoxEdgeDevice request. The method will close the +// http.Response Body if it receives an error. +func (client UsersClient) ListByDataBoxEdgeDeviceSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByDataBoxEdgeDeviceResponder handles the response to the ListByDataBoxEdgeDevice request. The method always +// closes the http.Response Body. +func (client UsersClient) ListByDataBoxEdgeDeviceResponder(resp *http.Response) (result UserList, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listByDataBoxEdgeDeviceNextResults retrieves the next set of results, if any. +func (client UsersClient) listByDataBoxEdgeDeviceNextResults(ctx context.Context, lastResults UserList) (result UserList, err error) { + req, err := lastResults.userListPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "databoxedge.UsersClient", "listByDataBoxEdgeDeviceNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListByDataBoxEdgeDeviceSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "databoxedge.UsersClient", "listByDataBoxEdgeDeviceNextResults", resp, "Failure sending next results request") + } + result, err = client.ListByDataBoxEdgeDeviceResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "databoxedge.UsersClient", "listByDataBoxEdgeDeviceNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListByDataBoxEdgeDeviceComplete enumerates all values, automatically crossing page boundaries as required. +func (client UsersClient) ListByDataBoxEdgeDeviceComplete(ctx context.Context, deviceName string, resourceGroupName string) (result UserListIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/UsersClient.ListByDataBoxEdgeDevice") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListByDataBoxEdgeDevice(ctx, deviceName, resourceGroupName) + return +} diff --git a/services/databoxedge/mgmt/2019-07-01/databoxedge/version.go b/services/databoxedge/mgmt/2019-07-01/databoxedge/version.go new file mode 100644 index 000000000000..a71041140df9 --- /dev/null +++ b/services/databoxedge/mgmt/2019-07-01/databoxedge/version.go @@ -0,0 +1,30 @@ +package databoxedge + +import "github.com/Azure/azure-sdk-for-go/version" + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +// UserAgent returns the UserAgent string to use when sending http.Requests. +func UserAgent() string { + return "Azure-SDK-For-Go/" + version.Number + " databoxedge/2019-07-01" +} + +// Version returns the semantic version (see http://semver.org) of the client. +func Version() string { + return version.Number +} diff --git a/services/datafactory/mgmt/2018-06-01/datafactory/datafactoryapi/interfaces.go b/services/datafactory/mgmt/2018-06-01/datafactory/datafactoryapi/interfaces.go index e72736462147..cf9ac665bd95 100644 --- a/services/datafactory/mgmt/2018-06-01/datafactory/datafactoryapi/interfaces.go +++ b/services/datafactory/mgmt/2018-06-01/datafactory/datafactoryapi/interfaces.go @@ -145,9 +145,12 @@ type TriggersClientAPI interface { CreateOrUpdate(ctx context.Context, resourceGroupName string, factoryName string, triggerName string, trigger datafactory.TriggerResource, ifMatch string) (result datafactory.TriggerResource, err error) Delete(ctx context.Context, resourceGroupName string, factoryName string, triggerName string) (result autorest.Response, err error) Get(ctx context.Context, resourceGroupName string, factoryName string, triggerName string, ifNoneMatch string) (result datafactory.TriggerResource, err error) + GetEventSubscriptionStatus(ctx context.Context, resourceGroupName string, factoryName string, triggerName string) (result datafactory.TriggerSubscriptionOperationStatus, err error) ListByFactory(ctx context.Context, resourceGroupName string, factoryName string) (result datafactory.TriggerListResponsePage, err error) Start(ctx context.Context, resourceGroupName string, factoryName string, triggerName string) (result datafactory.TriggersStartFuture, err error) Stop(ctx context.Context, resourceGroupName string, factoryName string, triggerName string) (result datafactory.TriggersStopFuture, err error) + SubscribeToEvents(ctx context.Context, resourceGroupName string, factoryName string, triggerName string) (result datafactory.TriggersSubscribeToEventsFuture, err error) + UnsubscribeFromEvents(ctx context.Context, resourceGroupName string, factoryName string, triggerName string) (result datafactory.TriggersUnsubscribeFromEventsFuture, err error) } var _ TriggersClientAPI = (*datafactory.TriggersClient)(nil) @@ -170,3 +173,24 @@ type RerunTriggersClientAPI interface { } var _ RerunTriggersClientAPI = (*datafactory.RerunTriggersClient)(nil) + +// DataFlowsClientAPI contains the set of methods on the DataFlowsClient type. +type DataFlowsClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, factoryName string, dataFlowName string, dataFlow datafactory.DataFlowResource, ifMatch string) (result datafactory.DataFlowResource, err error) + Delete(ctx context.Context, resourceGroupName string, factoryName string, dataFlowName string) (result autorest.Response, err error) + Get(ctx context.Context, resourceGroupName string, factoryName string, dataFlowName string, ifNoneMatch string) (result datafactory.DataFlowResource, err error) + ListByFactory(ctx context.Context, resourceGroupName string, factoryName string) (result datafactory.DataFlowListResponsePage, err error) +} + +var _ DataFlowsClientAPI = (*datafactory.DataFlowsClient)(nil) + +// DataFlowDebugSessionClientAPI contains the set of methods on the DataFlowDebugSessionClient type. +type DataFlowDebugSessionClientAPI interface { + AddDataFlow(ctx context.Context, resourceGroupName string, factoryName string, request datafactory.DataFlowDebugPackage) (result datafactory.AddDataFlowToDebugSessionResponse, err error) + Create(ctx context.Context, resourceGroupName string, factoryName string, request datafactory.CreateDataFlowDebugSessionRequest) (result datafactory.DataFlowDebugSessionCreateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, factoryName string, request datafactory.DeleteDataFlowDebugSessionRequest) (result autorest.Response, err error) + ExecuteCommand(ctx context.Context, resourceGroupName string, factoryName string, request datafactory.DataFlowDebugCommandRequest) (result datafactory.DataFlowDebugSessionExecuteCommandFuture, err error) + QueryByFactory(ctx context.Context, resourceGroupName string, factoryName string) (result datafactory.QueryDataFlowDebugSessionsResponsePage, err error) +} + +var _ DataFlowDebugSessionClientAPI = (*datafactory.DataFlowDebugSessionClient)(nil) diff --git a/services/datafactory/mgmt/2018-06-01/datafactory/dataflowdebugsession.go b/services/datafactory/mgmt/2018-06-01/datafactory/dataflowdebugsession.go new file mode 100644 index 000000000000..91bab8cfe2e1 --- /dev/null +++ b/services/datafactory/mgmt/2018-06-01/datafactory/dataflowdebugsession.go @@ -0,0 +1,552 @@ +package datafactory + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// DataFlowDebugSessionClient is the the Azure Data Factory V2 management API provides a RESTful set of web services +// that interact with Azure Data Factory V2 services. +type DataFlowDebugSessionClient struct { + BaseClient +} + +// NewDataFlowDebugSessionClient creates an instance of the DataFlowDebugSessionClient client. +func NewDataFlowDebugSessionClient(subscriptionID string) DataFlowDebugSessionClient { + return NewDataFlowDebugSessionClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewDataFlowDebugSessionClientWithBaseURI creates an instance of the DataFlowDebugSessionClient client. +func NewDataFlowDebugSessionClientWithBaseURI(baseURI string, subscriptionID string) DataFlowDebugSessionClient { + return DataFlowDebugSessionClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// AddDataFlow add a data flow into debug session. +// Parameters: +// resourceGroupName - the resource group name. +// factoryName - the factory name. +// request - data flow debug session definition with debug content. +func (client DataFlowDebugSessionClient) AddDataFlow(ctx context.Context, resourceGroupName string, factoryName string, request DataFlowDebugPackage) (result AddDataFlowToDebugSessionResponse, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DataFlowDebugSessionClient.AddDataFlow") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}, + {TargetValue: factoryName, + Constraints: []validation.Constraint{{Target: "factoryName", Name: validation.MaxLength, Rule: 63, Chain: nil}, + {Target: "factoryName", Name: validation.MinLength, Rule: 3, Chain: nil}, + {Target: "factoryName", Name: validation.Pattern, Rule: `^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$`, Chain: nil}}}, + {TargetValue: request, + Constraints: []validation.Constraint{{Target: "request.DataFlow", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "request.DataFlow.Properties", Name: validation.Null, Rule: true, Chain: nil}}}, + {Target: "request.Staging", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "request.Staging.LinkedService", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "request.Staging.LinkedService.Type", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "request.Staging.LinkedService.ReferenceName", Name: validation.Null, Rule: true, Chain: nil}, + }}, + }}}}}); err != nil { + return result, validation.NewError("datafactory.DataFlowDebugSessionClient", "AddDataFlow", err.Error()) + } + + req, err := client.AddDataFlowPreparer(ctx, resourceGroupName, factoryName, request) + if err != nil { + err = autorest.NewErrorWithError(err, "datafactory.DataFlowDebugSessionClient", "AddDataFlow", nil, "Failure preparing request") + return + } + + resp, err := client.AddDataFlowSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "datafactory.DataFlowDebugSessionClient", "AddDataFlow", resp, "Failure sending request") + return + } + + result, err = client.AddDataFlowResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "datafactory.DataFlowDebugSessionClient", "AddDataFlow", resp, "Failure responding to request") + } + + return +} + +// AddDataFlowPreparer prepares the AddDataFlow request. +func (client DataFlowDebugSessionClient) AddDataFlowPreparer(ctx context.Context, resourceGroupName string, factoryName string, request DataFlowDebugPackage) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "factoryName": autorest.Encode("path", factoryName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-06-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/addDataFlowToDebugSession", pathParameters), + autorest.WithJSON(request), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// AddDataFlowSender sends the AddDataFlow request. The method will close the +// http.Response Body if it receives an error. +func (client DataFlowDebugSessionClient) AddDataFlowSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// AddDataFlowResponder handles the response to the AddDataFlow request. The method always +// closes the http.Response Body. +func (client DataFlowDebugSessionClient) AddDataFlowResponder(resp *http.Response) (result AddDataFlowToDebugSessionResponse, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Create creates a data flow debug session. +// Parameters: +// resourceGroupName - the resource group name. +// factoryName - the factory name. +// request - data flow debug session definition +func (client DataFlowDebugSessionClient) Create(ctx context.Context, resourceGroupName string, factoryName string, request CreateDataFlowDebugSessionRequest) (result DataFlowDebugSessionCreateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DataFlowDebugSessionClient.Create") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}, + {TargetValue: factoryName, + Constraints: []validation.Constraint{{Target: "factoryName", Name: validation.MaxLength, Rule: 63, Chain: nil}, + {Target: "factoryName", Name: validation.MinLength, Rule: 3, Chain: nil}, + {Target: "factoryName", Name: validation.Pattern, Rule: `^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$`, Chain: nil}}}, + {TargetValue: request, + Constraints: []validation.Constraint{{Target: "request.IntegrationRuntime", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "request.IntegrationRuntime.Properties", Name: validation.Null, Rule: true, Chain: nil}}}}}}); err != nil { + return result, validation.NewError("datafactory.DataFlowDebugSessionClient", "Create", err.Error()) + } + + req, err := client.CreatePreparer(ctx, resourceGroupName, factoryName, request) + if err != nil { + err = autorest.NewErrorWithError(err, "datafactory.DataFlowDebugSessionClient", "Create", nil, "Failure preparing request") + return + } + + result, err = client.CreateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "datafactory.DataFlowDebugSessionClient", "Create", result.Response(), "Failure sending request") + return + } + + return +} + +// CreatePreparer prepares the Create request. +func (client DataFlowDebugSessionClient) CreatePreparer(ctx context.Context, resourceGroupName string, factoryName string, request CreateDataFlowDebugSessionRequest) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "factoryName": autorest.Encode("path", factoryName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-06-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/createDataFlowDebugSession", pathParameters), + autorest.WithJSON(request), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateSender sends the Create request. The method will close the +// http.Response Body if it receives an error. +func (client DataFlowDebugSessionClient) CreateSender(req *http.Request) (future DataFlowDebugSessionCreateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateResponder handles the response to the Create request. The method always +// closes the http.Response Body. +func (client DataFlowDebugSessionClient) CreateResponder(resp *http.Response) (result CreateDataFlowDebugSessionResponse, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes a data flow debug session. +// Parameters: +// resourceGroupName - the resource group name. +// factoryName - the factory name. +// request - data flow debug session definition for deletion +func (client DataFlowDebugSessionClient) Delete(ctx context.Context, resourceGroupName string, factoryName string, request DeleteDataFlowDebugSessionRequest) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DataFlowDebugSessionClient.Delete") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}, + {TargetValue: factoryName, + Constraints: []validation.Constraint{{Target: "factoryName", Name: validation.MaxLength, Rule: 63, Chain: nil}, + {Target: "factoryName", Name: validation.MinLength, Rule: 3, Chain: nil}, + {Target: "factoryName", Name: validation.Pattern, Rule: `^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("datafactory.DataFlowDebugSessionClient", "Delete", err.Error()) + } + + req, err := client.DeletePreparer(ctx, resourceGroupName, factoryName, request) + if err != nil { + err = autorest.NewErrorWithError(err, "datafactory.DataFlowDebugSessionClient", "Delete", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "datafactory.DataFlowDebugSessionClient", "Delete", resp, "Failure sending request") + return + } + + result, err = client.DeleteResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "datafactory.DataFlowDebugSessionClient", "Delete", resp, "Failure responding to request") + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client DataFlowDebugSessionClient) DeletePreparer(ctx context.Context, resourceGroupName string, factoryName string, request DeleteDataFlowDebugSessionRequest) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "factoryName": autorest.Encode("path", factoryName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-06-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/deleteDataFlowDebugSession", pathParameters), + autorest.WithJSON(request), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client DataFlowDebugSessionClient) DeleteSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client DataFlowDebugSessionClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByClosing()) + result.Response = resp + return +} + +// ExecuteCommand execute a data flow debug command. +// Parameters: +// resourceGroupName - the resource group name. +// factoryName - the factory name. +// request - data flow debug command definition. +func (client DataFlowDebugSessionClient) ExecuteCommand(ctx context.Context, resourceGroupName string, factoryName string, request DataFlowDebugCommandRequest) (result DataFlowDebugSessionExecuteCommandFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DataFlowDebugSessionClient.ExecuteCommand") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}, + {TargetValue: factoryName, + Constraints: []validation.Constraint{{Target: "factoryName", Name: validation.MaxLength, Rule: 63, Chain: nil}, + {Target: "factoryName", Name: validation.MinLength, Rule: 3, Chain: nil}, + {Target: "factoryName", Name: validation.Pattern, Rule: `^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$`, Chain: nil}}}, + {TargetValue: request, + Constraints: []validation.Constraint{{Target: "request.CommandPayload", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "request.CommandPayload.StreamName", Name: validation.Null, Rule: true, Chain: nil}}}}}}); err != nil { + return result, validation.NewError("datafactory.DataFlowDebugSessionClient", "ExecuteCommand", err.Error()) + } + + req, err := client.ExecuteCommandPreparer(ctx, resourceGroupName, factoryName, request) + if err != nil { + err = autorest.NewErrorWithError(err, "datafactory.DataFlowDebugSessionClient", "ExecuteCommand", nil, "Failure preparing request") + return + } + + result, err = client.ExecuteCommandSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "datafactory.DataFlowDebugSessionClient", "ExecuteCommand", result.Response(), "Failure sending request") + return + } + + return +} + +// ExecuteCommandPreparer prepares the ExecuteCommand request. +func (client DataFlowDebugSessionClient) ExecuteCommandPreparer(ctx context.Context, resourceGroupName string, factoryName string, request DataFlowDebugCommandRequest) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "factoryName": autorest.Encode("path", factoryName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-06-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/executeDataFlowDebugCommand", pathParameters), + autorest.WithJSON(request), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ExecuteCommandSender sends the ExecuteCommand request. The method will close the +// http.Response Body if it receives an error. +func (client DataFlowDebugSessionClient) ExecuteCommandSender(req *http.Request) (future DataFlowDebugSessionExecuteCommandFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// ExecuteCommandResponder handles the response to the ExecuteCommand request. The method always +// closes the http.Response Body. +func (client DataFlowDebugSessionClient) ExecuteCommandResponder(resp *http.Response) (result DataFlowDebugCommandResponse, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// QueryByFactory query all active data flow debug sessions. +// Parameters: +// resourceGroupName - the resource group name. +// factoryName - the factory name. +func (client DataFlowDebugSessionClient) QueryByFactory(ctx context.Context, resourceGroupName string, factoryName string) (result QueryDataFlowDebugSessionsResponsePage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DataFlowDebugSessionClient.QueryByFactory") + defer func() { + sc := -1 + if result.qdfdsr.Response.Response != nil { + sc = result.qdfdsr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}, + {TargetValue: factoryName, + Constraints: []validation.Constraint{{Target: "factoryName", Name: validation.MaxLength, Rule: 63, Chain: nil}, + {Target: "factoryName", Name: validation.MinLength, Rule: 3, Chain: nil}, + {Target: "factoryName", Name: validation.Pattern, Rule: `^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("datafactory.DataFlowDebugSessionClient", "QueryByFactory", err.Error()) + } + + result.fn = client.queryByFactoryNextResults + req, err := client.QueryByFactoryPreparer(ctx, resourceGroupName, factoryName) + if err != nil { + err = autorest.NewErrorWithError(err, "datafactory.DataFlowDebugSessionClient", "QueryByFactory", nil, "Failure preparing request") + return + } + + resp, err := client.QueryByFactorySender(req) + if err != nil { + result.qdfdsr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "datafactory.DataFlowDebugSessionClient", "QueryByFactory", resp, "Failure sending request") + return + } + + result.qdfdsr, err = client.QueryByFactoryResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "datafactory.DataFlowDebugSessionClient", "QueryByFactory", resp, "Failure responding to request") + } + + return +} + +// QueryByFactoryPreparer prepares the QueryByFactory request. +func (client DataFlowDebugSessionClient) QueryByFactoryPreparer(ctx context.Context, resourceGroupName string, factoryName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "factoryName": autorest.Encode("path", factoryName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-06-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/queryDataFlowDebugSessions", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// QueryByFactorySender sends the QueryByFactory request. The method will close the +// http.Response Body if it receives an error. +func (client DataFlowDebugSessionClient) QueryByFactorySender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// QueryByFactoryResponder handles the response to the QueryByFactory request. The method always +// closes the http.Response Body. +func (client DataFlowDebugSessionClient) QueryByFactoryResponder(resp *http.Response) (result QueryDataFlowDebugSessionsResponse, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// queryByFactoryNextResults retrieves the next set of results, if any. +func (client DataFlowDebugSessionClient) queryByFactoryNextResults(ctx context.Context, lastResults QueryDataFlowDebugSessionsResponse) (result QueryDataFlowDebugSessionsResponse, err error) { + req, err := lastResults.queryDataFlowDebugSessionsResponsePreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "datafactory.DataFlowDebugSessionClient", "queryByFactoryNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.QueryByFactorySender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "datafactory.DataFlowDebugSessionClient", "queryByFactoryNextResults", resp, "Failure sending next results request") + } + result, err = client.QueryByFactoryResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "datafactory.DataFlowDebugSessionClient", "queryByFactoryNextResults", resp, "Failure responding to next results request") + } + return +} + +// QueryByFactoryComplete enumerates all values, automatically crossing page boundaries as required. +func (client DataFlowDebugSessionClient) QueryByFactoryComplete(ctx context.Context, resourceGroupName string, factoryName string) (result QueryDataFlowDebugSessionsResponseIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DataFlowDebugSessionClient.QueryByFactory") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.QueryByFactory(ctx, resourceGroupName, factoryName) + return +} diff --git a/services/datafactory/mgmt/2018-06-01/datafactory/dataflows.go b/services/datafactory/mgmt/2018-06-01/datafactory/dataflows.go new file mode 100644 index 000000000000..b8d003bd0f90 --- /dev/null +++ b/services/datafactory/mgmt/2018-06-01/datafactory/dataflows.go @@ -0,0 +1,471 @@ +package datafactory + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// DataFlowsClient is the the Azure Data Factory V2 management API provides a RESTful set of web services that interact +// with Azure Data Factory V2 services. +type DataFlowsClient struct { + BaseClient +} + +// NewDataFlowsClient creates an instance of the DataFlowsClient client. +func NewDataFlowsClient(subscriptionID string) DataFlowsClient { + return NewDataFlowsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewDataFlowsClientWithBaseURI creates an instance of the DataFlowsClient client. +func NewDataFlowsClientWithBaseURI(baseURI string, subscriptionID string) DataFlowsClient { + return DataFlowsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates a data flow. +// Parameters: +// resourceGroupName - the resource group name. +// factoryName - the factory name. +// dataFlowName - the data flow name. +// dataFlow - data flow resource definition. +// ifMatch - eTag of the data flow entity. Should only be specified for update, for which it should match +// existing entity or can be * for unconditional update. +func (client DataFlowsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, factoryName string, dataFlowName string, dataFlow DataFlowResource, ifMatch string) (result DataFlowResource, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DataFlowsClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}, + {TargetValue: factoryName, + Constraints: []validation.Constraint{{Target: "factoryName", Name: validation.MaxLength, Rule: 63, Chain: nil}, + {Target: "factoryName", Name: validation.MinLength, Rule: 3, Chain: nil}, + {Target: "factoryName", Name: validation.Pattern, Rule: `^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$`, Chain: nil}}}, + {TargetValue: dataFlowName, + Constraints: []validation.Constraint{{Target: "dataFlowName", Name: validation.MaxLength, Rule: 260, Chain: nil}, + {Target: "dataFlowName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "dataFlowName", Name: validation.Pattern, Rule: `^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$`, Chain: nil}}}, + {TargetValue: dataFlow, + Constraints: []validation.Constraint{{Target: "dataFlow.Properties", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + return result, validation.NewError("datafactory.DataFlowsClient", "CreateOrUpdate", err.Error()) + } + + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, factoryName, dataFlowName, dataFlow, ifMatch) + if err != nil { + err = autorest.NewErrorWithError(err, "datafactory.DataFlowsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "datafactory.DataFlowsClient", "CreateOrUpdate", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "datafactory.DataFlowsClient", "CreateOrUpdate", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client DataFlowsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, factoryName string, dataFlowName string, dataFlow DataFlowResource, ifMatch string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "dataFlowName": autorest.Encode("path", dataFlowName), + "factoryName": autorest.Encode("path", factoryName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-06-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/dataflows/{dataFlowName}", pathParameters), + autorest.WithJSON(dataFlow), + autorest.WithQueryParameters(queryParameters)) + if len(ifMatch) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("If-Match", autorest.String(ifMatch))) + } + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client DataFlowsClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client DataFlowsClient) CreateOrUpdateResponder(resp *http.Response) (result DataFlowResource, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes a data flow. +// Parameters: +// resourceGroupName - the resource group name. +// factoryName - the factory name. +// dataFlowName - the data flow name. +func (client DataFlowsClient) Delete(ctx context.Context, resourceGroupName string, factoryName string, dataFlowName string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DataFlowsClient.Delete") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}, + {TargetValue: factoryName, + Constraints: []validation.Constraint{{Target: "factoryName", Name: validation.MaxLength, Rule: 63, Chain: nil}, + {Target: "factoryName", Name: validation.MinLength, Rule: 3, Chain: nil}, + {Target: "factoryName", Name: validation.Pattern, Rule: `^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$`, Chain: nil}}}, + {TargetValue: dataFlowName, + Constraints: []validation.Constraint{{Target: "dataFlowName", Name: validation.MaxLength, Rule: 260, Chain: nil}, + {Target: "dataFlowName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "dataFlowName", Name: validation.Pattern, Rule: `^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("datafactory.DataFlowsClient", "Delete", err.Error()) + } + + req, err := client.DeletePreparer(ctx, resourceGroupName, factoryName, dataFlowName) + if err != nil { + err = autorest.NewErrorWithError(err, "datafactory.DataFlowsClient", "Delete", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "datafactory.DataFlowsClient", "Delete", resp, "Failure sending request") + return + } + + result, err = client.DeleteResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "datafactory.DataFlowsClient", "Delete", resp, "Failure responding to request") + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client DataFlowsClient) DeletePreparer(ctx context.Context, resourceGroupName string, factoryName string, dataFlowName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "dataFlowName": autorest.Encode("path", dataFlowName), + "factoryName": autorest.Encode("path", factoryName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-06-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/dataflows/{dataFlowName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client DataFlowsClient) DeleteSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client DataFlowsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets a data flow. +// Parameters: +// resourceGroupName - the resource group name. +// factoryName - the factory name. +// dataFlowName - the data flow name. +// ifNoneMatch - eTag of the data flow entity. Should only be specified for get. If the ETag matches the +// existing entity tag, or if * was provided, then no content will be returned. +func (client DataFlowsClient) Get(ctx context.Context, resourceGroupName string, factoryName string, dataFlowName string, ifNoneMatch string) (result DataFlowResource, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DataFlowsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}, + {TargetValue: factoryName, + Constraints: []validation.Constraint{{Target: "factoryName", Name: validation.MaxLength, Rule: 63, Chain: nil}, + {Target: "factoryName", Name: validation.MinLength, Rule: 3, Chain: nil}, + {Target: "factoryName", Name: validation.Pattern, Rule: `^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$`, Chain: nil}}}, + {TargetValue: dataFlowName, + Constraints: []validation.Constraint{{Target: "dataFlowName", Name: validation.MaxLength, Rule: 260, Chain: nil}, + {Target: "dataFlowName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "dataFlowName", Name: validation.Pattern, Rule: `^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("datafactory.DataFlowsClient", "Get", err.Error()) + } + + req, err := client.GetPreparer(ctx, resourceGroupName, factoryName, dataFlowName, ifNoneMatch) + if err != nil { + err = autorest.NewErrorWithError(err, "datafactory.DataFlowsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "datafactory.DataFlowsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "datafactory.DataFlowsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client DataFlowsClient) GetPreparer(ctx context.Context, resourceGroupName string, factoryName string, dataFlowName string, ifNoneMatch string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "dataFlowName": autorest.Encode("path", dataFlowName), + "factoryName": autorest.Encode("path", factoryName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-06-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/dataflows/{dataFlowName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + if len(ifNoneMatch) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) + } + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client DataFlowsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client DataFlowsClient) GetResponder(resp *http.Response) (result DataFlowResource, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByFactory lists data flows. +// Parameters: +// resourceGroupName - the resource group name. +// factoryName - the factory name. +func (client DataFlowsClient) ListByFactory(ctx context.Context, resourceGroupName string, factoryName string) (result DataFlowListResponsePage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DataFlowsClient.ListByFactory") + defer func() { + sc := -1 + if result.dflr.Response.Response != nil { + sc = result.dflr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}, + {TargetValue: factoryName, + Constraints: []validation.Constraint{{Target: "factoryName", Name: validation.MaxLength, Rule: 63, Chain: nil}, + {Target: "factoryName", Name: validation.MinLength, Rule: 3, Chain: nil}, + {Target: "factoryName", Name: validation.Pattern, Rule: `^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("datafactory.DataFlowsClient", "ListByFactory", err.Error()) + } + + result.fn = client.listByFactoryNextResults + req, err := client.ListByFactoryPreparer(ctx, resourceGroupName, factoryName) + if err != nil { + err = autorest.NewErrorWithError(err, "datafactory.DataFlowsClient", "ListByFactory", nil, "Failure preparing request") + return + } + + resp, err := client.ListByFactorySender(req) + if err != nil { + result.dflr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "datafactory.DataFlowsClient", "ListByFactory", resp, "Failure sending request") + return + } + + result.dflr, err = client.ListByFactoryResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "datafactory.DataFlowsClient", "ListByFactory", resp, "Failure responding to request") + } + + return +} + +// ListByFactoryPreparer prepares the ListByFactory request. +func (client DataFlowsClient) ListByFactoryPreparer(ctx context.Context, resourceGroupName string, factoryName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "factoryName": autorest.Encode("path", factoryName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-06-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/dataflows", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByFactorySender sends the ListByFactory request. The method will close the +// http.Response Body if it receives an error. +func (client DataFlowsClient) ListByFactorySender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByFactoryResponder handles the response to the ListByFactory request. The method always +// closes the http.Response Body. +func (client DataFlowsClient) ListByFactoryResponder(resp *http.Response) (result DataFlowListResponse, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listByFactoryNextResults retrieves the next set of results, if any. +func (client DataFlowsClient) listByFactoryNextResults(ctx context.Context, lastResults DataFlowListResponse) (result DataFlowListResponse, err error) { + req, err := lastResults.dataFlowListResponsePreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "datafactory.DataFlowsClient", "listByFactoryNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListByFactorySender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "datafactory.DataFlowsClient", "listByFactoryNextResults", resp, "Failure sending next results request") + } + result, err = client.ListByFactoryResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "datafactory.DataFlowsClient", "listByFactoryNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListByFactoryComplete enumerates all values, automatically crossing page boundaries as required. +func (client DataFlowsClient) ListByFactoryComplete(ctx context.Context, resourceGroupName string, factoryName string) (result DataFlowListResponseIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DataFlowsClient.ListByFactory") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListByFactory(ctx, resourceGroupName, factoryName) + return +} diff --git a/services/datafactory/mgmt/2018-06-01/datafactory/models.go b/services/datafactory/mgmt/2018-06-01/datafactory/models.go index cdf42257c049..ea7977a65b9f 100644 --- a/services/datafactory/mgmt/2018-06-01/datafactory/models.go +++ b/services/datafactory/mgmt/2018-06-01/datafactory/models.go @@ -175,6 +175,40 @@ func PossibleCassandraSourceReadConsistencyLevelsValues() []CassandraSourceReadC return []CassandraSourceReadConsistencyLevels{ALL, EACHQUORUM, LOCALONE, LOCALQUORUM, LOCALSERIAL, ONE, QUORUM, SERIAL, THREE, TWO} } +// DataFlowComputeType enumerates the values for data flow compute type. +type DataFlowComputeType string + +const ( + // ComputeOptimized ... + ComputeOptimized DataFlowComputeType = "ComputeOptimized" + // General ... + General DataFlowComputeType = "General" + // MemoryOptimized ... + MemoryOptimized DataFlowComputeType = "MemoryOptimized" +) + +// PossibleDataFlowComputeTypeValues returns an array of possible values for the DataFlowComputeType const type. +func PossibleDataFlowComputeTypeValues() []DataFlowComputeType { + return []DataFlowComputeType{ComputeOptimized, General, MemoryOptimized} +} + +// DataFlowDebugCommandType enumerates the values for data flow debug command type. +type DataFlowDebugCommandType string + +const ( + // ExecuteExpressionQuery ... + ExecuteExpressionQuery DataFlowDebugCommandType = "executeExpressionQuery" + // ExecutePreviewQuery ... + ExecutePreviewQuery DataFlowDebugCommandType = "executePreviewQuery" + // ExecuteStatisticsQuery ... + ExecuteStatisticsQuery DataFlowDebugCommandType = "executeStatisticsQuery" +) + +// PossibleDataFlowDebugCommandTypeValues returns an array of possible values for the DataFlowDebugCommandType const type. +func PossibleDataFlowDebugCommandTypeValues() []DataFlowDebugCommandType { + return []DataFlowDebugCommandType{ExecuteExpressionQuery, ExecutePreviewQuery, ExecuteStatisticsQuery} +} + // DayOfWeek enumerates the values for day of week. type DayOfWeek string @@ -261,6 +295,8 @@ func PossibleDependencyConditionValues() []DependencyCondition { type DynamicsAuthenticationType string const ( + // AADServicePrincipal ... + AADServicePrincipal DynamicsAuthenticationType = "AADServicePrincipal" // Ifd ... Ifd DynamicsAuthenticationType = "Ifd" // Office365 ... @@ -269,7 +305,7 @@ const ( // PossibleDynamicsAuthenticationTypeValues returns an array of possible values for the DynamicsAuthenticationType const type. func PossibleDynamicsAuthenticationTypeValues() []DynamicsAuthenticationType { - return []DynamicsAuthenticationType{Ifd, Office365} + return []DynamicsAuthenticationType{AADServicePrincipal, Ifd, Office365} } // DynamicsDeploymentType enumerates the values for dynamics deployment type. @@ -287,6 +323,27 @@ func PossibleDynamicsDeploymentTypeValues() []DynamicsDeploymentType { return []DynamicsDeploymentType{Online, OnPremisesWithIfd} } +// EventSubscriptionStatus enumerates the values for event subscription status. +type EventSubscriptionStatus string + +const ( + // Deprovisioning ... + Deprovisioning EventSubscriptionStatus = "Deprovisioning" + // Disabled ... + Disabled EventSubscriptionStatus = "Disabled" + // Enabled ... + Enabled EventSubscriptionStatus = "Enabled" + // Provisioning ... + Provisioning EventSubscriptionStatus = "Provisioning" + // Unknown ... + Unknown EventSubscriptionStatus = "Unknown" +) + +// PossibleEventSubscriptionStatusValues returns an array of possible values for the EventSubscriptionStatus const type. +func PossibleEventSubscriptionStatusValues() []EventSubscriptionStatus { + return []EventSubscriptionStatus{Deprovisioning, Disabled, Enabled, Provisioning, Unknown} +} + // FtpAuthenticationType enumerates the values for ftp authentication type. type FtpAuthenticationType string @@ -631,6 +688,21 @@ func PossibleIntegrationRuntimeUpdateResultValues() []IntegrationRuntimeUpdateRe return []IntegrationRuntimeUpdateResult{IntegrationRuntimeUpdateResultFail, IntegrationRuntimeUpdateResultNone, IntegrationRuntimeUpdateResultSucceed} } +// JSONWriteFilePattern enumerates the values for json write file pattern. +type JSONWriteFilePattern string + +const ( + // ArrayOfObjects ... + ArrayOfObjects JSONWriteFilePattern = "arrayOfObjects" + // SetOfObjects ... + SetOfObjects JSONWriteFilePattern = "setOfObjects" +) + +// PossibleJSONWriteFilePatternValues returns an array of possible values for the JSONWriteFilePattern const type. +func PossibleJSONWriteFilePatternValues() []JSONWriteFilePattern { + return []JSONWriteFilePattern{ArrayOfObjects, SetOfObjects} +} + // ManagedIntegrationRuntimeNodeStatus enumerates the values for managed integration runtime node status. type ManagedIntegrationRuntimeNodeStatus string @@ -736,6 +808,23 @@ func PossibleOraclePartitionOptionValues() []OraclePartitionOption { return []OraclePartitionOption{OraclePartitionOptionDynamicRange, OraclePartitionOptionNone, OraclePartitionOptionPhysicalPartitionsOfTable} } +// OrcCompressionCodec enumerates the values for orc compression codec. +type OrcCompressionCodec string + +const ( + // OrcCompressionCodecNone ... + OrcCompressionCodecNone OrcCompressionCodec = "none" + // OrcCompressionCodecSnappy ... + OrcCompressionCodecSnappy OrcCompressionCodec = "snappy" + // OrcCompressionCodecZlib ... + OrcCompressionCodecZlib OrcCompressionCodec = "zlib" +) + +// PossibleOrcCompressionCodecValues returns an array of possible values for the OrcCompressionCodec const type. +func PossibleOrcCompressionCodecValues() []OrcCompressionCodec { + return []OrcCompressionCodec{OrcCompressionCodecNone, OrcCompressionCodecSnappy, OrcCompressionCodecZlib} +} + // ParameterType enumerates the values for parameter type. type ParameterType string @@ -1269,17 +1358,17 @@ func PossibleTriggerRunStatusValues() []TriggerRunStatus { type TriggerRuntimeState string const ( - // Disabled ... - Disabled TriggerRuntimeState = "Disabled" - // Started ... - Started TriggerRuntimeState = "Started" - // Stopped ... - Stopped TriggerRuntimeState = "Stopped" + // TriggerRuntimeStateDisabled ... + TriggerRuntimeStateDisabled TriggerRuntimeState = "Disabled" + // TriggerRuntimeStateStarted ... + TriggerRuntimeStateStarted TriggerRuntimeState = "Started" + // TriggerRuntimeStateStopped ... + TriggerRuntimeStateStopped TriggerRuntimeState = "Stopped" ) // PossibleTriggerRuntimeStateValues returns an array of possible values for the TriggerRuntimeState const type. func PossibleTriggerRuntimeStateValues() []TriggerRuntimeState { - return []TriggerRuntimeState{Disabled, Started, Stopped} + return []TriggerRuntimeState{TriggerRuntimeStateDisabled, TriggerRuntimeStateStarted, TriggerRuntimeStateStopped} } // TumblingWindowFrequency enumerates the values for tumbling window frequency. @@ -1328,6 +1417,8 @@ const ( TypeAzureFunctionActivity TypeBasicActivity = "AzureFunctionActivity" // TypeAzureMLBatchExecution ... TypeAzureMLBatchExecution TypeBasicActivity = "AzureMLBatchExecution" + // TypeAzureMLExecutePipeline ... + TypeAzureMLExecutePipeline TypeBasicActivity = "AzureMLExecutePipeline" // TypeAzureMLUpdateResource ... TypeAzureMLUpdateResource TypeBasicActivity = "AzureMLUpdateResource" // TypeContainer ... @@ -1346,6 +1437,8 @@ const ( TypeDataLakeAnalyticsUSQL TypeBasicActivity = "DataLakeAnalyticsU-SQL" // TypeDelete ... TypeDelete TypeBasicActivity = "Delete" + // TypeExecuteDataFlow ... + TypeExecuteDataFlow TypeBasicActivity = "ExecuteDataFlow" // TypeExecutePipeline ... TypeExecutePipeline TypeBasicActivity = "ExecutePipeline" // TypeExecuteSSISPackage ... @@ -1376,6 +1469,8 @@ const ( TypeSetVariable TypeBasicActivity = "SetVariable" // TypeSQLServerStoredProcedure ... TypeSQLServerStoredProcedure TypeBasicActivity = "SqlServerStoredProcedure" + // TypeSwitch ... + TypeSwitch TypeBasicActivity = "Switch" // TypeUntil ... TypeUntil TypeBasicActivity = "Until" // TypeValidation ... @@ -1390,7 +1485,7 @@ const ( // PossibleTypeBasicActivityValues returns an array of possible values for the TypeBasicActivity const type. func PossibleTypeBasicActivityValues() []TypeBasicActivity { - return []TypeBasicActivity{TypeActivity, TypeAppendVariable, TypeAzureDataExplorerCommand, TypeAzureFunctionActivity, TypeAzureMLBatchExecution, TypeAzureMLUpdateResource, TypeContainer, TypeCopy, TypeCustom, TypeDatabricksNotebook, TypeDatabricksSparkJar, TypeDatabricksSparkPython, TypeDataLakeAnalyticsUSQL, TypeDelete, TypeExecutePipeline, TypeExecuteSSISPackage, TypeExecution, TypeFilter, TypeForEach, TypeGetMetadata, TypeHDInsightHive, TypeHDInsightMapReduce, TypeHDInsightPig, TypeHDInsightSpark, TypeHDInsightStreaming, TypeIfCondition, TypeLookup, TypeSetVariable, TypeSQLServerStoredProcedure, TypeUntil, TypeValidation, TypeWait, TypeWebActivity, TypeWebHook} + return []TypeBasicActivity{TypeActivity, TypeAppendVariable, TypeAzureDataExplorerCommand, TypeAzureFunctionActivity, TypeAzureMLBatchExecution, TypeAzureMLExecutePipeline, TypeAzureMLUpdateResource, TypeContainer, TypeCopy, TypeCustom, TypeDatabricksNotebook, TypeDatabricksSparkJar, TypeDatabricksSparkPython, TypeDataLakeAnalyticsUSQL, TypeDelete, TypeExecuteDataFlow, TypeExecutePipeline, TypeExecuteSSISPackage, TypeExecution, TypeFilter, TypeForEach, TypeGetMetadata, TypeHDInsightHive, TypeHDInsightMapReduce, TypeHDInsightPig, TypeHDInsightSpark, TypeHDInsightStreaming, TypeIfCondition, TypeLookup, TypeSetVariable, TypeSQLServerStoredProcedure, TypeSwitch, TypeUntil, TypeValidation, TypeWait, TypeWebActivity, TypeWebHook} } // TypeBasicCopySink enumerates the values for type basic copy sink. @@ -1405,6 +1500,8 @@ const ( TypeAzureDataExplorerSink TypeBasicCopySink = "AzureDataExplorerSink" // TypeAzureDataLakeStoreSink ... TypeAzureDataLakeStoreSink TypeBasicCopySink = "AzureDataLakeStoreSink" + // TypeAzureMySQLSink ... + TypeAzureMySQLSink TypeBasicCopySink = "AzureMySqlSink" // TypeAzurePostgreSQLSink ... TypeAzurePostgreSQLSink TypeBasicCopySink = "AzurePostgreSqlSink" // TypeAzureQueueSink ... @@ -1425,6 +1522,8 @@ const ( TypeCopySink TypeBasicCopySink = "CopySink" // TypeCosmosDbMongoDbAPISink ... TypeCosmosDbMongoDbAPISink TypeBasicCopySink = "CosmosDbMongoDbApiSink" + // TypeCosmosDbSQLAPISink ... + TypeCosmosDbSQLAPISink TypeBasicCopySink = "CosmosDbSqlApiSink" // TypeDelimitedTextSink ... TypeDelimitedTextSink TypeBasicCopySink = "DelimitedTextSink" // TypeDocumentDbCollectionSink ... @@ -1437,12 +1536,16 @@ const ( TypeFileSystemSink TypeBasicCopySink = "FileSystemSink" // TypeInformixSink ... TypeInformixSink TypeBasicCopySink = "InformixSink" + // TypeJSONSink ... + TypeJSONSink TypeBasicCopySink = "JsonSink" // TypeMicrosoftAccessSink ... TypeMicrosoftAccessSink TypeBasicCopySink = "MicrosoftAccessSink" // TypeOdbcSink ... TypeOdbcSink TypeBasicCopySink = "OdbcSink" // TypeOracleSink ... TypeOracleSink TypeBasicCopySink = "OracleSink" + // TypeOrcSink ... + TypeOrcSink TypeBasicCopySink = "OrcSink" // TypeParquetSink ... TypeParquetSink TypeBasicCopySink = "ParquetSink" // TypeSalesforceServiceCloudSink ... @@ -1463,7 +1566,7 @@ const ( // PossibleTypeBasicCopySinkValues returns an array of possible values for the TypeBasicCopySink const type. func PossibleTypeBasicCopySinkValues() []TypeBasicCopySink { - return []TypeBasicCopySink{TypeAvroSink, TypeAzureBlobFSSink, TypeAzureDataExplorerSink, TypeAzureDataLakeStoreSink, TypeAzurePostgreSQLSink, TypeAzureQueueSink, TypeAzureSearchIndexSink, TypeAzureSQLSink, TypeAzureTableSink, TypeBinarySink, TypeBlobSink, TypeCommonDataServiceForAppsSink, TypeCopySink, TypeCosmosDbMongoDbAPISink, TypeDelimitedTextSink, TypeDocumentDbCollectionSink, TypeDynamicsCrmSink, TypeDynamicsSink, TypeFileSystemSink, TypeInformixSink, TypeMicrosoftAccessSink, TypeOdbcSink, TypeOracleSink, TypeParquetSink, TypeSalesforceServiceCloudSink, TypeSalesforceSink, TypeSapCloudForCustomerSink, TypeSQLDWSink, TypeSQLMISink, TypeSQLServerSink, TypeSQLSink} + return []TypeBasicCopySink{TypeAvroSink, TypeAzureBlobFSSink, TypeAzureDataExplorerSink, TypeAzureDataLakeStoreSink, TypeAzureMySQLSink, TypeAzurePostgreSQLSink, TypeAzureQueueSink, TypeAzureSearchIndexSink, TypeAzureSQLSink, TypeAzureTableSink, TypeBinarySink, TypeBlobSink, TypeCommonDataServiceForAppsSink, TypeCopySink, TypeCosmosDbMongoDbAPISink, TypeCosmosDbSQLAPISink, TypeDelimitedTextSink, TypeDocumentDbCollectionSink, TypeDynamicsCrmSink, TypeDynamicsSink, TypeFileSystemSink, TypeInformixSink, TypeJSONSink, TypeMicrosoftAccessSink, TypeOdbcSink, TypeOracleSink, TypeOrcSink, TypeParquetSink, TypeSalesforceServiceCloudSink, TypeSalesforceSink, TypeSapCloudForCustomerSink, TypeSQLDWSink, TypeSQLMISink, TypeSQLServerSink, TypeSQLSink} } // TypeBasicCopySource enumerates the values for type basic copy source. @@ -1506,6 +1609,8 @@ const ( TypeCopySource TypeBasicCopySource = "CopySource" // TypeCosmosDbMongoDbAPISource ... TypeCosmosDbMongoDbAPISource TypeBasicCopySource = "CosmosDbMongoDbApiSource" + // TypeCosmosDbSQLAPISource ... + TypeCosmosDbSQLAPISource TypeBasicCopySource = "CosmosDbSqlApiSource" // TypeCouchbaseSource ... TypeCouchbaseSource TypeBasicCopySource = "CouchbaseSource" // TypeDb2Source ... @@ -1548,6 +1653,8 @@ const ( TypeInformixSource TypeBasicCopySource = "InformixSource" // TypeJiraSource ... TypeJiraSource TypeBasicCopySource = "JiraSource" + // TypeJSONSource ... + TypeJSONSource TypeBasicCopySource = "JsonSource" // TypeMagentoSource ... TypeMagentoSource TypeBasicCopySource = "MagentoSource" // TypeMariaDBSource ... @@ -1574,6 +1681,8 @@ const ( TypeOracleServiceCloudSource TypeBasicCopySource = "OracleServiceCloudSource" // TypeOracleSource ... TypeOracleSource TypeBasicCopySource = "OracleSource" + // TypeOrcSource ... + TypeOrcSource TypeBasicCopySource = "OrcSource" // TypeParquetSource ... TypeParquetSource TypeBasicCopySource = "ParquetSource" // TypePaypalSource ... @@ -1628,6 +1737,8 @@ const ( TypeSquareSource TypeBasicCopySource = "SquareSource" // TypeSybaseSource ... TypeSybaseSource TypeBasicCopySource = "SybaseSource" + // TypeTabularSource ... + TypeTabularSource TypeBasicCopySource = "TabularSource" // TypeTeradataSource ... TypeTeradataSource TypeBasicCopySource = "TeradataSource" // TypeVerticaSource ... @@ -1642,7 +1753,41 @@ const ( // PossibleTypeBasicCopySourceValues returns an array of possible values for the TypeBasicCopySource const type. func PossibleTypeBasicCopySourceValues() []TypeBasicCopySource { - return []TypeBasicCopySource{TypeAmazonMWSSource, TypeAmazonRedshiftSource, TypeAvroSource, TypeAzureBlobFSSource, TypeAzureDataExplorerSource, TypeAzureDataLakeStoreSource, TypeAzureMariaDBSource, TypeAzureMySQLSource, TypeAzurePostgreSQLSource, TypeAzureSQLSource, TypeAzureTableSource, TypeBinarySource, TypeBlobSource, TypeCassandraSource, TypeCommonDataServiceForAppsSource, TypeConcurSource, TypeCopySource, TypeCosmosDbMongoDbAPISource, TypeCouchbaseSource, TypeDb2Source, TypeDelimitedTextSource, TypeDocumentDbCollectionSource, TypeDrillSource, TypeDynamicsAXSource, TypeDynamicsCrmSource, TypeDynamicsSource, TypeEloquaSource, TypeFileSystemSource, TypeGoogleAdWordsSource, TypeGoogleBigQuerySource, TypeGreenplumSource, TypeHBaseSource, TypeHdfsSource, TypeHiveSource, TypeHTTPSource, TypeHubspotSource, TypeImpalaSource, TypeInformixSource, TypeJiraSource, TypeMagentoSource, TypeMariaDBSource, TypeMarketoSource, TypeMicrosoftAccessSource, TypeMongoDbSource, TypeMongoDbV2Source, TypeMySQLSource, TypeNetezzaSource, TypeODataSource, TypeOdbcSource, TypeOffice365Source, TypeOracleServiceCloudSource, TypeOracleSource, TypeParquetSource, TypePaypalSource, TypePhoenixSource, TypePostgreSQLSource, TypePrestoSource, TypeQuickBooksSource, TypeRelationalSource, TypeResponsysSource, TypeRestSource, TypeSalesforceMarketingCloudSource, TypeSalesforceServiceCloudSource, TypeSalesforceSource, TypeSapBwSource, TypeSapCloudForCustomerSource, TypeSapEccSource, TypeSapHanaSource, TypeSapOpenHubSource, TypeSapTableSource, TypeServiceNowSource, TypeShopifySource, TypeSparkSource, TypeSQLDWSource, TypeSQLMISource, TypeSQLServerSource, TypeSQLSource, TypeSquareSource, TypeSybaseSource, TypeTeradataSource, TypeVerticaSource, TypeWebSource, TypeXeroSource, TypeZohoSource} + return []TypeBasicCopySource{TypeAmazonMWSSource, TypeAmazonRedshiftSource, TypeAvroSource, TypeAzureBlobFSSource, TypeAzureDataExplorerSource, TypeAzureDataLakeStoreSource, TypeAzureMariaDBSource, TypeAzureMySQLSource, TypeAzurePostgreSQLSource, TypeAzureSQLSource, TypeAzureTableSource, TypeBinarySource, TypeBlobSource, TypeCassandraSource, TypeCommonDataServiceForAppsSource, TypeConcurSource, TypeCopySource, TypeCosmosDbMongoDbAPISource, TypeCosmosDbSQLAPISource, TypeCouchbaseSource, TypeDb2Source, TypeDelimitedTextSource, TypeDocumentDbCollectionSource, TypeDrillSource, TypeDynamicsAXSource, TypeDynamicsCrmSource, TypeDynamicsSource, TypeEloquaSource, TypeFileSystemSource, TypeGoogleAdWordsSource, TypeGoogleBigQuerySource, TypeGreenplumSource, TypeHBaseSource, TypeHdfsSource, TypeHiveSource, TypeHTTPSource, TypeHubspotSource, TypeImpalaSource, TypeInformixSource, TypeJiraSource, TypeJSONSource, TypeMagentoSource, TypeMariaDBSource, TypeMarketoSource, TypeMicrosoftAccessSource, TypeMongoDbSource, TypeMongoDbV2Source, TypeMySQLSource, TypeNetezzaSource, TypeODataSource, TypeOdbcSource, TypeOffice365Source, TypeOracleServiceCloudSource, TypeOracleSource, TypeOrcSource, TypeParquetSource, TypePaypalSource, TypePhoenixSource, TypePostgreSQLSource, TypePrestoSource, TypeQuickBooksSource, TypeRelationalSource, TypeResponsysSource, TypeRestSource, TypeSalesforceMarketingCloudSource, TypeSalesforceServiceCloudSource, TypeSalesforceSource, TypeSapBwSource, TypeSapCloudForCustomerSource, TypeSapEccSource, TypeSapHanaSource, TypeSapOpenHubSource, TypeSapTableSource, TypeServiceNowSource, TypeShopifySource, TypeSparkSource, TypeSQLDWSource, TypeSQLMISource, TypeSQLServerSource, TypeSQLSource, TypeSquareSource, TypeSybaseSource, TypeTabularSource, TypeTeradataSource, TypeVerticaSource, TypeWebSource, TypeXeroSource, TypeZohoSource} +} + +// TypeBasicCustomSetupBase enumerates the values for type basic custom setup base. +type TypeBasicCustomSetupBase string + +const ( + // TypeCmdkeySetup ... + TypeCmdkeySetup TypeBasicCustomSetupBase = "CmdkeySetup" + // TypeComponentSetup ... + TypeComponentSetup TypeBasicCustomSetupBase = "ComponentSetup" + // TypeCustomSetupBase ... + TypeCustomSetupBase TypeBasicCustomSetupBase = "CustomSetupBase" + // TypeEnvironmentVariableSetup ... + TypeEnvironmentVariableSetup TypeBasicCustomSetupBase = "EnvironmentVariableSetup" +) + +// PossibleTypeBasicCustomSetupBaseValues returns an array of possible values for the TypeBasicCustomSetupBase const type. +func PossibleTypeBasicCustomSetupBaseValues() []TypeBasicCustomSetupBase { + return []TypeBasicCustomSetupBase{TypeCmdkeySetup, TypeComponentSetup, TypeCustomSetupBase, TypeEnvironmentVariableSetup} +} + +// TypeBasicDataFlow enumerates the values for type basic data flow. +type TypeBasicDataFlow string + +const ( + // TypeDataFlow ... + TypeDataFlow TypeBasicDataFlow = "DataFlow" + // TypeMappingDataFlow ... + TypeMappingDataFlow TypeBasicDataFlow = "MappingDataFlow" +) + +// PossibleTypeBasicDataFlowValues returns an array of possible values for the TypeBasicDataFlow const type. +func PossibleTypeBasicDataFlowValues() []TypeBasicDataFlow { + return []TypeBasicDataFlow{TypeDataFlow, TypeMappingDataFlow} } // TypeBasicDataset enumerates the values for type basic dataset. @@ -1651,6 +1796,8 @@ type TypeBasicDataset string const ( // TypeAmazonMWSObject ... TypeAmazonMWSObject TypeBasicDataset = "AmazonMWSObject" + // TypeAmazonRedshiftTable ... + TypeAmazonRedshiftTable TypeBasicDataset = "AmazonRedshiftTable" // TypeAmazonS3Object ... TypeAmazonS3Object TypeBasicDataset = "AmazonS3Object" // TypeAvro ... @@ -1689,12 +1836,16 @@ const ( TypeConcurObject TypeBasicDataset = "ConcurObject" // TypeCosmosDbMongoDbAPICollection ... TypeCosmosDbMongoDbAPICollection TypeBasicDataset = "CosmosDbMongoDbApiCollection" + // TypeCosmosDbSQLAPICollection ... + TypeCosmosDbSQLAPICollection TypeBasicDataset = "CosmosDbSqlApiCollection" // TypeCouchbaseTable ... TypeCouchbaseTable TypeBasicDataset = "CouchbaseTable" // TypeCustomDataset ... TypeCustomDataset TypeBasicDataset = "CustomDataset" // TypeDataset ... TypeDataset TypeBasicDataset = "Dataset" + // TypeDb2Table ... + TypeDb2Table TypeBasicDataset = "Db2Table" // TypeDelimitedText ... TypeDelimitedText TypeBasicDataset = "DelimitedText" // TypeDocumentDbCollection ... @@ -1731,6 +1882,8 @@ const ( TypeInformixTable TypeBasicDataset = "InformixTable" // TypeJiraObject ... TypeJiraObject TypeBasicDataset = "JiraObject" + // TypeJSON ... + TypeJSON TypeBasicDataset = "Json" // TypeMagentoObject ... TypeMagentoObject TypeBasicDataset = "MagentoObject" // TypeMariaDBTable ... @@ -1757,6 +1910,8 @@ const ( TypeOracleServiceCloudObject TypeBasicDataset = "OracleServiceCloudObject" // TypeOracleTable ... TypeOracleTable TypeBasicDataset = "OracleTable" + // TypeOrc ... + TypeOrc TypeBasicDataset = "Orc" // TypeParquet ... TypeParquet TypeBasicDataset = "Parquet" // TypePaypalObject ... @@ -1819,7 +1974,7 @@ const ( // PossibleTypeBasicDatasetValues returns an array of possible values for the TypeBasicDataset const type. func PossibleTypeBasicDatasetValues() []TypeBasicDataset { - return []TypeBasicDataset{TypeAmazonMWSObject, TypeAmazonS3Object, TypeAvro, TypeAzureBlob, TypeAzureBlobFSFile, TypeAzureDataExplorerTable, TypeAzureDataLakeStoreFile, TypeAzureMariaDBTable, TypeAzureMySQLTable, TypeAzurePostgreSQLTable, TypeAzureSearchIndex, TypeAzureSQLDWTable, TypeAzureSQLMITable, TypeAzureSQLTable, TypeAzureTable, TypeBinary, TypeCassandraTable, TypeCommonDataServiceForAppsEntity, TypeConcurObject, TypeCosmosDbMongoDbAPICollection, TypeCouchbaseTable, TypeCustomDataset, TypeDataset, TypeDelimitedText, TypeDocumentDbCollection, TypeDrillTable, TypeDynamicsAXResource, TypeDynamicsCrmEntity, TypeDynamicsEntity, TypeEloquaObject, TypeFileShare, TypeGoogleAdWordsObject, TypeGoogleBigQueryObject, TypeGreenplumTable, TypeHBaseObject, TypeHiveObject, TypeHTTPFile, TypeHubspotObject, TypeImpalaObject, TypeInformixTable, TypeJiraObject, TypeMagentoObject, TypeMariaDBTable, TypeMarketoObject, TypeMicrosoftAccessTable, TypeMongoDbCollection, TypeMongoDbV2Collection, TypeMySQLTable, TypeNetezzaTable, TypeODataResource, TypeOdbcTable, TypeOffice365Table, TypeOracleServiceCloudObject, TypeOracleTable, TypeParquet, TypePaypalObject, TypePhoenixObject, TypePostgreSQLTable, TypePrestoObject, TypeQuickBooksObject, TypeRelationalTable, TypeResponsysObject, TypeRestResource, TypeSalesforceMarketingCloudObject, TypeSalesforceObject, TypeSalesforceServiceCloudObject, TypeSapBwCube, TypeSapCloudForCustomerResource, TypeSapEccResource, TypeSapHanaTable, TypeSapOpenHubTable, TypeSapTableResource, TypeServiceNowObject, TypeShopifyObject, TypeSparkObject, TypeSQLServerTable, TypeSquareObject, TypeSybaseTable, TypeTeradataTable, TypeVerticaTable, TypeWebTable, TypeXeroObject, TypeZohoObject} + return []TypeBasicDataset{TypeAmazonMWSObject, TypeAmazonRedshiftTable, TypeAmazonS3Object, TypeAvro, TypeAzureBlob, TypeAzureBlobFSFile, TypeAzureDataExplorerTable, TypeAzureDataLakeStoreFile, TypeAzureMariaDBTable, TypeAzureMySQLTable, TypeAzurePostgreSQLTable, TypeAzureSearchIndex, TypeAzureSQLDWTable, TypeAzureSQLMITable, TypeAzureSQLTable, TypeAzureTable, TypeBinary, TypeCassandraTable, TypeCommonDataServiceForAppsEntity, TypeConcurObject, TypeCosmosDbMongoDbAPICollection, TypeCosmosDbSQLAPICollection, TypeCouchbaseTable, TypeCustomDataset, TypeDataset, TypeDb2Table, TypeDelimitedText, TypeDocumentDbCollection, TypeDrillTable, TypeDynamicsAXResource, TypeDynamicsCrmEntity, TypeDynamicsEntity, TypeEloquaObject, TypeFileShare, TypeGoogleAdWordsObject, TypeGoogleBigQueryObject, TypeGreenplumTable, TypeHBaseObject, TypeHiveObject, TypeHTTPFile, TypeHubspotObject, TypeImpalaObject, TypeInformixTable, TypeJiraObject, TypeJSON, TypeMagentoObject, TypeMariaDBTable, TypeMarketoObject, TypeMicrosoftAccessTable, TypeMongoDbCollection, TypeMongoDbV2Collection, TypeMySQLTable, TypeNetezzaTable, TypeODataResource, TypeOdbcTable, TypeOffice365Table, TypeOracleServiceCloudObject, TypeOracleTable, TypeOrc, TypeParquet, TypePaypalObject, TypePhoenixObject, TypePostgreSQLTable, TypePrestoObject, TypeQuickBooksObject, TypeRelationalTable, TypeResponsysObject, TypeRestResource, TypeSalesforceMarketingCloudObject, TypeSalesforceObject, TypeSalesforceServiceCloudObject, TypeSapBwCube, TypeSapCloudForCustomerResource, TypeSapEccResource, TypeSapHanaTable, TypeSapOpenHubTable, TypeSapTableResource, TypeServiceNowObject, TypeShopifyObject, TypeSparkObject, TypeSQLServerTable, TypeSquareObject, TypeSybaseTable, TypeTeradataTable, TypeVerticaTable, TypeWebTable, TypeXeroObject, TypeZohoObject} } // TypeBasicDatasetCompression enumerates the values for type basic dataset compression. @@ -1960,6 +2115,8 @@ const ( TypeAzureDataLakeAnalytics TypeBasicLinkedService = "AzureDataLakeAnalytics" // TypeAzureDataLakeStore ... TypeAzureDataLakeStore TypeBasicLinkedService = "AzureDataLakeStore" + // TypeAzureFileStorage ... + TypeAzureFileStorage TypeBasicLinkedService = "AzureFileStorage" // TypeAzureFunction ... TypeAzureFunction TypeBasicLinkedService = "AzureFunction" // TypeAzureKeyVault ... @@ -1968,6 +2125,8 @@ const ( TypeAzureMariaDB TypeBasicLinkedService = "AzureMariaDB" // TypeAzureML ... TypeAzureML TypeBasicLinkedService = "AzureML" + // TypeAzureMLService ... + TypeAzureMLService TypeBasicLinkedService = "AzureMLService" // TypeAzureMySQL ... TypeAzureMySQL TypeBasicLinkedService = "AzureMySql" // TypeAzurePostgreSQL ... @@ -2018,6 +2177,8 @@ const ( TypeGoogleAdWords TypeBasicLinkedService = "GoogleAdWords" // TypeGoogleBigQuery ... TypeGoogleBigQuery TypeBasicLinkedService = "GoogleBigQuery" + // TypeGoogleCloudStorage ... + TypeGoogleCloudStorage TypeBasicLinkedService = "GoogleCloudStorage" // TypeGreenplum ... TypeGreenplum TypeBasicLinkedService = "Greenplum" // TypeHBase ... @@ -2128,7 +2289,7 @@ const ( // PossibleTypeBasicLinkedServiceValues returns an array of possible values for the TypeBasicLinkedService const type. func PossibleTypeBasicLinkedServiceValues() []TypeBasicLinkedService { - return []TypeBasicLinkedService{TypeAmazonMWS, TypeAmazonRedshift, TypeAmazonS3, TypeAzureBatch, TypeAzureBlobFS, TypeAzureBlobStorage, TypeAzureDatabricks, TypeAzureDataExplorer, TypeAzureDataLakeAnalytics, TypeAzureDataLakeStore, TypeAzureFunction, TypeAzureKeyVault, TypeAzureMariaDB, TypeAzureML, TypeAzureMySQL, TypeAzurePostgreSQL, TypeAzureSearch, TypeAzureSQLDatabase, TypeAzureSQLDW, TypeAzureSQLMI, TypeAzureStorage, TypeAzureTableStorage, TypeCassandra, TypeCommonDataServiceForApps, TypeConcur, TypeCosmosDb, TypeCosmosDbMongoDbAPI, TypeCouchbase, TypeCustomDataSource, TypeDb2, TypeDrill, TypeDynamics, TypeDynamicsAX, TypeDynamicsCrm, TypeEloqua, TypeFileServer, TypeFtpServer, TypeGoogleAdWords, TypeGoogleBigQuery, TypeGreenplum, TypeHBase, TypeHdfs, TypeHDInsight, TypeHDInsightOnDemand, TypeHive, TypeHTTPServer, TypeHubspot, TypeImpala, TypeInformix, TypeJira, TypeLinkedService, TypeMagento, TypeMariaDB, TypeMarketo, TypeMicrosoftAccess, TypeMongoDb, TypeMongoDbV2, TypeMySQL, TypeNetezza, TypeOData, TypeOdbc, TypeOffice365, TypeOracle, TypeOracleServiceCloud, TypePaypal, TypePhoenix, TypePostgreSQL, TypePresto, TypeQuickBooks, TypeResponsys, TypeRestService, TypeSalesforce, TypeSalesforceMarketingCloud, TypeSalesforceServiceCloud, TypeSapBW, TypeSapCloudForCustomer, TypeSapEcc, TypeSapHana, TypeSapOpenHub, TypeSapTable, TypeServiceNow, TypeSftp, TypeShopify, TypeSpark, TypeSQLServer, TypeSquare, TypeSybase, TypeTeradata, TypeVertica, TypeWeb, TypeXero, TypeZoho} + return []TypeBasicLinkedService{TypeAmazonMWS, TypeAmazonRedshift, TypeAmazonS3, TypeAzureBatch, TypeAzureBlobFS, TypeAzureBlobStorage, TypeAzureDatabricks, TypeAzureDataExplorer, TypeAzureDataLakeAnalytics, TypeAzureDataLakeStore, TypeAzureFileStorage, TypeAzureFunction, TypeAzureKeyVault, TypeAzureMariaDB, TypeAzureML, TypeAzureMLService, TypeAzureMySQL, TypeAzurePostgreSQL, TypeAzureSearch, TypeAzureSQLDatabase, TypeAzureSQLDW, TypeAzureSQLMI, TypeAzureStorage, TypeAzureTableStorage, TypeCassandra, TypeCommonDataServiceForApps, TypeConcur, TypeCosmosDb, TypeCosmosDbMongoDbAPI, TypeCouchbase, TypeCustomDataSource, TypeDb2, TypeDrill, TypeDynamics, TypeDynamicsAX, TypeDynamicsCrm, TypeEloqua, TypeFileServer, TypeFtpServer, TypeGoogleAdWords, TypeGoogleBigQuery, TypeGoogleCloudStorage, TypeGreenplum, TypeHBase, TypeHdfs, TypeHDInsight, TypeHDInsightOnDemand, TypeHive, TypeHTTPServer, TypeHubspot, TypeImpala, TypeInformix, TypeJira, TypeLinkedService, TypeMagento, TypeMariaDB, TypeMarketo, TypeMicrosoftAccess, TypeMongoDb, TypeMongoDbV2, TypeMySQL, TypeNetezza, TypeOData, TypeOdbc, TypeOffice365, TypeOracle, TypeOracleServiceCloud, TypePaypal, TypePhoenix, TypePostgreSQL, TypePresto, TypeQuickBooks, TypeResponsys, TypeRestService, TypeSalesforce, TypeSalesforceMarketingCloud, TypeSalesforceServiceCloud, TypeSapBW, TypeSapCloudForCustomer, TypeSapEcc, TypeSapHana, TypeSapOpenHub, TypeSapTable, TypeServiceNow, TypeSftp, TypeShopify, TypeSpark, TypeSQLServer, TypeSquare, TypeSybase, TypeTeradata, TypeVertica, TypeWeb, TypeXero, TypeZoho} } // TypeBasicSsisObjectMetadata enumerates the values for type basic ssis object metadata. @@ -2152,6 +2313,27 @@ func PossibleTypeBasicSsisObjectMetadataValues() []TypeBasicSsisObjectMetadata { return []TypeBasicSsisObjectMetadata{TypeEnvironment, TypeFolder, TypePackage, TypeProject, TypeSsisObjectMetadata} } +// TypeBasicStoreWriteSettings enumerates the values for type basic store write settings. +type TypeBasicStoreWriteSettings string + +const ( + // TypeAzureBlobFSWriteSettings ... + TypeAzureBlobFSWriteSettings TypeBasicStoreWriteSettings = "AzureBlobFSWriteSettings" + // TypeAzureBlobStorageWriteSettings ... + TypeAzureBlobStorageWriteSettings TypeBasicStoreWriteSettings = "AzureBlobStorageWriteSettings" + // TypeAzureDataLakeStoreWriteSettings ... + TypeAzureDataLakeStoreWriteSettings TypeBasicStoreWriteSettings = "AzureDataLakeStoreWriteSettings" + // TypeFileServerWriteSettings ... + TypeFileServerWriteSettings TypeBasicStoreWriteSettings = "FileServerWriteSettings" + // TypeStoreWriteSettings ... + TypeStoreWriteSettings TypeBasicStoreWriteSettings = "StoreWriteSettings" +) + +// PossibleTypeBasicStoreWriteSettingsValues returns an array of possible values for the TypeBasicStoreWriteSettings const type. +func PossibleTypeBasicStoreWriteSettingsValues() []TypeBasicStoreWriteSettings { + return []TypeBasicStoreWriteSettings{TypeAzureBlobFSWriteSettings, TypeAzureBlobStorageWriteSettings, TypeAzureDataLakeStoreWriteSettings, TypeFileServerWriteSettings, TypeStoreWriteSettings} +} + // TypeBasicTrigger enumerates the values for type basic trigger. type TypeBasicTrigger string @@ -2160,6 +2342,8 @@ const ( TypeBlobEventsTrigger TypeBasicTrigger = "BlobEventsTrigger" // TypeBlobTrigger ... TypeBlobTrigger TypeBasicTrigger = "BlobTrigger" + // TypeChainingTrigger ... + TypeChainingTrigger TypeBasicTrigger = "ChainingTrigger" // TypeMultiplePipelineTrigger ... TypeMultiplePipelineTrigger TypeBasicTrigger = "MultiplePipelineTrigger" // TypeRerunTumblingWindowTrigger ... @@ -2174,7 +2358,7 @@ const ( // PossibleTypeBasicTriggerValues returns an array of possible values for the TypeBasicTrigger const type. func PossibleTypeBasicTriggerValues() []TypeBasicTrigger { - return []TypeBasicTrigger{TypeBlobEventsTrigger, TypeBlobTrigger, TypeMultiplePipelineTrigger, TypeRerunTumblingWindowTrigger, TypeScheduleTrigger, TypeTrigger, TypeTumblingWindowTrigger} + return []TypeBasicTrigger{TypeBlobEventsTrigger, TypeBlobTrigger, TypeChainingTrigger, TypeMultiplePipelineTrigger, TypeRerunTumblingWindowTrigger, TypeScheduleTrigger, TypeTrigger, TypeTumblingWindowTrigger} } // VariableType enumerates the values for variable type. @@ -2239,11 +2423,13 @@ type AccessPolicyResponse struct { // BasicActivity a pipeline activity. type BasicActivity interface { + AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) + AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) AsGetMetadataActivity() (*GetMetadataActivity, bool) @@ -2270,6 +2456,7 @@ type BasicActivity interface { AsUntilActivity() (*UntilActivity, bool) AsWaitActivity() (*WaitActivity, bool) AsForEachActivity() (*ForEachActivity, bool) + AsSwitchActivity() (*SwitchActivity, bool) AsIfConditionActivity() (*IfConditionActivity, bool) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) AsControlActivity() (*ControlActivity, bool) @@ -2289,7 +2476,7 @@ type Activity struct { DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"` // UserProperties - Activity user properties. UserProperties *[]UserProperty `json:"userProperties,omitempty"` - // Type - Possible values include: 'TypeActivity', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer' + // Type - Possible values include: 'TypeActivity', 'TypeExecuteDataFlow', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLExecutePipeline', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeSwitch', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer' Type TypeBasicActivity `json:"type,omitempty"` } @@ -2301,6 +2488,10 @@ func unmarshalBasicActivity(body []byte) (BasicActivity, error) { } switch m["type"] { + case string(TypeExecuteDataFlow): + var edfa ExecuteDataFlowActivity + err := json.Unmarshal(body, &edfa) + return edfa, err case string(TypeAzureFunctionActivity): var afa AzureFunctionActivity err := json.Unmarshal(body, &afa) @@ -2321,6 +2512,10 @@ func unmarshalBasicActivity(body []byte) (BasicActivity, error) { var dlaua DataLakeAnalyticsUSQLActivity err := json.Unmarshal(body, &dlaua) return dlaua, err + case string(TypeAzureMLExecutePipeline): + var amepa AzureMLExecutePipelineActivity + err := json.Unmarshal(body, &amepa) + return amepa, err case string(TypeAzureMLUpdateResource): var amura AzureMLUpdateResourceActivity err := json.Unmarshal(body, &amura) @@ -2421,6 +2616,10 @@ func unmarshalBasicActivity(body []byte) (BasicActivity, error) { var fea ForEachActivity err := json.Unmarshal(body, &fea) return fea, err + case string(TypeSwitch): + var sa SwitchActivity + err := json.Unmarshal(body, &sa) + return sa, err case string(TypeIfCondition): var ica IfConditionActivity err := json.Unmarshal(body, &ica) @@ -2483,6 +2682,11 @@ func (a Activity) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } +// AsExecuteDataFlowActivity is the BasicActivity implementation for Activity. +func (a Activity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) { + return nil, false +} + // AsAzureFunctionActivity is the BasicActivity implementation for Activity. func (a Activity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) { return nil, false @@ -2508,6 +2712,11 @@ func (a Activity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActiv return nil, false } +// AsAzureMLExecutePipelineActivity is the BasicActivity implementation for Activity. +func (a Activity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) { + return nil, false +} + // AsAzureMLUpdateResourceActivity is the BasicActivity implementation for Activity. func (a Activity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) { return nil, false @@ -2638,6 +2847,11 @@ func (a Activity) AsForEachActivity() (*ForEachActivity, bool) { return nil, false } +// AsSwitchActivity is the BasicActivity implementation for Activity. +func (a Activity) AsSwitchActivity() (*SwitchActivity, bool) { + return nil, false +} + // AsIfConditionActivity is the BasicActivity implementation for Activity. func (a Activity) AsIfConditionActivity() (*IfConditionActivity, bool) { return nil, false @@ -3116,6 +3330,13 @@ type ActivityRunsQueryResponse struct { ContinuationToken *string `json:"continuationToken,omitempty"` } +// AddDataFlowToDebugSessionResponse response body structure for starting data flow debug session. +type AddDataFlowToDebugSessionResponse struct { + autorest.Response `json:"-"` + // JobVersion - The ID of data flow debug job version. + JobVersion *string `json:"jobVersion,omitempty"` +} + // AmazonMWSLinkedService amazon Marketplace Web Service linked service. type AmazonMWSLinkedService struct { // AmazonMWSLinkedServiceTypeProperties - Amazon Marketplace Web Service linked service properties. @@ -3130,7 +3351,7 @@ type AmazonMWSLinkedService struct { Parameters map[string]*ParameterSpecification `json:"parameters"` // Annotations - List of tags that can be used for describing the linked service. Annotations *[]interface{} `json:"annotations,omitempty"` - // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' + // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' Type TypeBasicLinkedService `json:"type,omitempty"` } @@ -3502,6 +3723,11 @@ func (amls AmazonMWSLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bo return nil, false } +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService. +func (amls AmazonMWSLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + // AsAzureMLLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService. func (amls AmazonMWSLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { return nil, false @@ -3542,6 +3768,16 @@ func (amls AmazonMWSLinkedService) AsOracleLinkedService() (*OracleLinkedService return nil, false } +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService. +func (amls AmazonMWSLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService. +func (amls AmazonMWSLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + // AsFileServerLinkedService is the BasicLinkedService implementation for AmazonMWSLinkedService. func (amls AmazonMWSLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { return nil, false @@ -3855,7 +4091,7 @@ type AmazonMWSObjectDataset struct { Annotations *[]interface{} `json:"annotations,omitempty"` // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. Folder *DatasetFolder `json:"folder,omitempty"` - // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' + // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' Type TypeBasicDataset `json:"type,omitempty"` } @@ -4171,6 +4407,16 @@ func (amod AmazonMWSObjectDataset) AsRelationalTableDataset() (*RelationalTableD return nil, false } +// AsDb2TableDataset is the BasicDataset implementation for AmazonMWSObjectDataset. +func (amod AmazonMWSObjectDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset. +func (amod AmazonMWSObjectDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + // AsAzureMySQLTableDataset is the BasicDataset implementation for AmazonMWSObjectDataset. func (amod AmazonMWSObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { return nil, false @@ -4246,6 +4492,11 @@ func (amod AmazonMWSObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbC return nil, false } +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for AmazonMWSObjectDataset. +func (amod AmazonMWSObjectDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + // AsCustomDataset is the BasicDataset implementation for AmazonMWSObjectDataset. func (amod AmazonMWSObjectDataset) AsCustomDataset() (*CustomDataset, bool) { return nil, false @@ -4286,6 +4537,16 @@ func (amod AmazonMWSObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) { return nil, false } +// AsOrcDataset is the BasicDataset implementation for AmazonMWSObjectDataset. +func (amod AmazonMWSObjectDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for AmazonMWSObjectDataset. +func (amod AmazonMWSObjectDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + // AsDelimitedTextDataset is the BasicDataset implementation for AmazonMWSObjectDataset. func (amod AmazonMWSObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { return nil, false @@ -4428,6 +4689,8 @@ func (amod *AmazonMWSObjectDataset) UnmarshalJSON(body []byte) error { type AmazonMWSSource struct { // Query - A query to retrieve data from source. Type: string (or Expression with resultType string). Query interface{} `json:"query,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). @@ -4436,7 +4699,7 @@ type AmazonMWSSource struct { SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' + // Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' Type TypeBasicCopySource `json:"type,omitempty"` } @@ -4447,6 +4710,9 @@ func (ams AmazonMWSSource) MarshalJSON() ([]byte, error) { if ams.Query != nil { objectMap["query"] = ams.Query } + if ams.QueryTimeout != nil { + objectMap["queryTimeout"] = ams.QueryTimeout + } if ams.SourceRetryCount != nil { objectMap["sourceRetryCount"] = ams.SourceRetryCount } @@ -4465,6 +4731,121 @@ func (ams AmazonMWSSource) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } +// AsHTTPSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + // AsAmazonRedshiftSource is the BasicCopySource implementation for AmazonMWSSource. func (ams AmazonMWSSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { return nil, false @@ -4640,81 +5021,21 @@ func (ams AmazonMWSSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { return &ams, true } -// AsHTTPSource is the BasicCopySource implementation for AmazonMWSSource. -func (ams AmazonMWSSource) AsHTTPSource() (*HTTPSource, bool) { - return nil, false -} - -// AsAzureBlobFSSource is the BasicCopySource implementation for AmazonMWSSource. -func (ams AmazonMWSSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { - return nil, false -} - -// AsAzureDataLakeStoreSource is the BasicCopySource implementation for AmazonMWSSource. -func (ams AmazonMWSSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { - return nil, false -} - -// AsOffice365Source is the BasicCopySource implementation for AmazonMWSSource. -func (ams AmazonMWSSource) AsOffice365Source() (*Office365Source, bool) { - return nil, false -} - -// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for AmazonMWSSource. -func (ams AmazonMWSSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { - return nil, false -} - -// AsMongoDbV2Source is the BasicCopySource implementation for AmazonMWSSource. -func (ams AmazonMWSSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { - return nil, false -} - -// AsMongoDbSource is the BasicCopySource implementation for AmazonMWSSource. -func (ams AmazonMWSSource) AsMongoDbSource() (*MongoDbSource, bool) { - return nil, false -} - // AsCassandraSource is the BasicCopySource implementation for AmazonMWSSource. func (ams AmazonMWSSource) AsCassandraSource() (*CassandraSource, bool) { return nil, false } -// AsWebSource is the BasicCopySource implementation for AmazonMWSSource. -func (ams AmazonMWSSource) AsWebSource() (*WebSource, bool) { - return nil, false -} - // AsTeradataSource is the BasicCopySource implementation for AmazonMWSSource. func (ams AmazonMWSSource) AsTeradataSource() (*TeradataSource, bool) { return nil, false } -// AsOracleSource is the BasicCopySource implementation for AmazonMWSSource. -func (ams AmazonMWSSource) AsOracleSource() (*OracleSource, bool) { - return nil, false -} - -// AsAzureDataExplorerSource is the BasicCopySource implementation for AmazonMWSSource. -func (ams AmazonMWSSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { - return nil, false -} - // AsAzureMySQLSource is the BasicCopySource implementation for AmazonMWSSource. func (ams AmazonMWSSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { return nil, false } -// AsHdfsSource is the BasicCopySource implementation for AmazonMWSSource. -func (ams AmazonMWSSource) AsHdfsSource() (*HdfsSource, bool) { - return nil, false -} - -// AsFileSystemSource is the BasicCopySource implementation for AmazonMWSSource. -func (ams AmazonMWSSource) AsFileSystemSource() (*FileSystemSource, bool) { - return nil, false -} - // AsSQLDWSource is the BasicCopySource implementation for AmazonMWSSource. func (ams AmazonMWSSource) AsSQLDWSource() (*SQLDWSource, bool) { return nil, false @@ -4740,11 +5061,6 @@ func (ams AmazonMWSSource) AsSQLSource() (*SQLSource, bool) { return nil, false } -// AsRestSource is the BasicCopySource implementation for AmazonMWSSource. -func (ams AmazonMWSSource) AsRestSource() (*RestSource, bool) { - return nil, false -} - // AsSapTableSource is the BasicCopySource implementation for AmazonMWSSource. func (ams AmazonMWSSource) AsSapTableSource() (*SapTableSource, bool) { return nil, false @@ -4770,21 +5086,11 @@ func (ams AmazonMWSSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSo return nil, false } -// AsSalesforceServiceCloudSource is the BasicCopySource implementation for AmazonMWSSource. -func (ams AmazonMWSSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { - return nil, false -} - // AsSalesforceSource is the BasicCopySource implementation for AmazonMWSSource. func (ams AmazonMWSSource) AsSalesforceSource() (*SalesforceSource, bool) { return nil, false } -// AsODataSource is the BasicCopySource implementation for AmazonMWSSource. -func (ams AmazonMWSSource) AsODataSource() (*ODataSource, bool) { - return nil, false -} - // AsSapBwSource is the BasicCopySource implementation for AmazonMWSSource. func (ams AmazonMWSSource) AsSapBwSource() (*SapBwSource, bool) { return nil, false @@ -4815,53 +5121,38 @@ func (ams AmazonMWSSource) AsDb2Source() (*Db2Source, bool) { return nil, false } -// AsMicrosoftAccessSource is the BasicCopySource implementation for AmazonMWSSource. -func (ams AmazonMWSSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { - return nil, false -} - // AsInformixSource is the BasicCopySource implementation for AmazonMWSSource. func (ams AmazonMWSSource) AsInformixSource() (*InformixSource, bool) { return nil, false } -// AsRelationalSource is the BasicCopySource implementation for AmazonMWSSource. -func (ams AmazonMWSSource) AsRelationalSource() (*RelationalSource, bool) { - return nil, false -} - -// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for AmazonMWSSource. -func (ams AmazonMWSSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { - return nil, false -} - -// AsDynamicsCrmSource is the BasicCopySource implementation for AmazonMWSSource. -func (ams AmazonMWSSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { +// AsAzureTableSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsAzureTableSource() (*AzureTableSource, bool) { return nil, false } -// AsDynamicsSource is the BasicCopySource implementation for AmazonMWSSource. -func (ams AmazonMWSSource) AsDynamicsSource() (*DynamicsSource, bool) { +// AsTabularSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsTabularSource() (*TabularSource, bool) { return nil, false } -// AsDocumentDbCollectionSource is the BasicCopySource implementation for AmazonMWSSource. -func (ams AmazonMWSSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { - return nil, false +// AsBasicTabularSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &ams, true } -// AsBlobSource is the BasicCopySource implementation for AmazonMWSSource. -func (ams AmazonMWSSource) AsBlobSource() (*BlobSource, bool) { +// AsBinarySource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsBinarySource() (*BinarySource, bool) { return nil, false } -// AsAzureTableSource is the BasicCopySource implementation for AmazonMWSSource. -func (ams AmazonMWSSource) AsAzureTableSource() (*AzureTableSource, bool) { +// AsOrcSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsOrcSource() (*OrcSource, bool) { return nil, false } -// AsBinarySource is the BasicCopySource implementation for AmazonMWSSource. -func (ams AmazonMWSSource) AsBinarySource() (*BinarySource, bool) { +// AsJSONSource is the BasicCopySource implementation for AmazonMWSSource. +func (ams AmazonMWSSource) AsJSONSource() (*JSONSource, bool) { return nil, false } @@ -4908,6 +5199,15 @@ func (ams *AmazonMWSSource) UnmarshalJSON(body []byte) error { } ams.Query = query } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + ams.QueryTimeout = queryTimeout + } default: if v != nil { var additionalProperties interface{} @@ -4976,7 +5276,7 @@ type AmazonRedshiftLinkedService struct { Parameters map[string]*ParameterSpecification `json:"parameters"` // Annotations - List of tags that can be used for describing the linked service. Annotations *[]interface{} `json:"annotations,omitempty"` - // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' + // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' Type TypeBasicLinkedService `json:"type,omitempty"` } @@ -5348,6 +5648,11 @@ func (arls AmazonRedshiftLinkedService) AsOdbcLinkedService() (*OdbcLinkedServic return nil, false } +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService. +func (arls AmazonRedshiftLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + // AsAzureMLLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService. func (arls AmazonRedshiftLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { return nil, false @@ -5388,6 +5693,16 @@ func (arls AmazonRedshiftLinkedService) AsOracleLinkedService() (*OracleLinkedSe return nil, false } +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService. +func (arls AmazonRedshiftLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService. +func (arls AmazonRedshiftLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + // AsFileServerLinkedService is the BasicLinkedService implementation for AmazonRedshiftLinkedService. func (arls AmazonRedshiftLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { return nil, false @@ -5644,6 +5959,8 @@ type AmazonRedshiftSource struct { Query interface{} `json:"query,omitempty"` // RedshiftUnloadSettings - The Amazon S3 settings needed for the interim Amazon S3 when copying from Amazon Redshift with unload. With this, data from Amazon Redshift source will be unloaded into S3 first and then copied into the targeted sink from the interim S3. RedshiftUnloadSettings *RedshiftUnloadSettings `json:"redshiftUnloadSettings,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). @@ -5652,7 +5969,7 @@ type AmazonRedshiftSource struct { SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' + // Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' Type TypeBasicCopySource `json:"type,omitempty"` } @@ -5666,6 +5983,9 @@ func (ars AmazonRedshiftSource) MarshalJSON() ([]byte, error) { if ars.RedshiftUnloadSettings != nil { objectMap["redshiftUnloadSettings"] = ars.RedshiftUnloadSettings } + if ars.QueryTimeout != nil { + objectMap["queryTimeout"] = ars.QueryTimeout + } if ars.SourceRetryCount != nil { objectMap["sourceRetryCount"] = ars.SourceRetryCount } @@ -5684,6 +6004,121 @@ func (ars AmazonRedshiftSource) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } +// AsHTTPSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + // AsAmazonRedshiftSource is the BasicCopySource implementation for AmazonRedshiftSource. func (ars AmazonRedshiftSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { return &ars, true @@ -5859,81 +6294,21 @@ func (ars AmazonRedshiftSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { return nil, false } -// AsHTTPSource is the BasicCopySource implementation for AmazonRedshiftSource. -func (ars AmazonRedshiftSource) AsHTTPSource() (*HTTPSource, bool) { - return nil, false -} - -// AsAzureBlobFSSource is the BasicCopySource implementation for AmazonRedshiftSource. -func (ars AmazonRedshiftSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { - return nil, false -} - -// AsAzureDataLakeStoreSource is the BasicCopySource implementation for AmazonRedshiftSource. -func (ars AmazonRedshiftSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { - return nil, false -} - -// AsOffice365Source is the BasicCopySource implementation for AmazonRedshiftSource. -func (ars AmazonRedshiftSource) AsOffice365Source() (*Office365Source, bool) { - return nil, false -} - -// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for AmazonRedshiftSource. -func (ars AmazonRedshiftSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { - return nil, false -} - -// AsMongoDbV2Source is the BasicCopySource implementation for AmazonRedshiftSource. -func (ars AmazonRedshiftSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { - return nil, false -} - -// AsMongoDbSource is the BasicCopySource implementation for AmazonRedshiftSource. -func (ars AmazonRedshiftSource) AsMongoDbSource() (*MongoDbSource, bool) { - return nil, false -} - // AsCassandraSource is the BasicCopySource implementation for AmazonRedshiftSource. func (ars AmazonRedshiftSource) AsCassandraSource() (*CassandraSource, bool) { return nil, false } -// AsWebSource is the BasicCopySource implementation for AmazonRedshiftSource. -func (ars AmazonRedshiftSource) AsWebSource() (*WebSource, bool) { - return nil, false -} - // AsTeradataSource is the BasicCopySource implementation for AmazonRedshiftSource. func (ars AmazonRedshiftSource) AsTeradataSource() (*TeradataSource, bool) { return nil, false } -// AsOracleSource is the BasicCopySource implementation for AmazonRedshiftSource. -func (ars AmazonRedshiftSource) AsOracleSource() (*OracleSource, bool) { - return nil, false -} - -// AsAzureDataExplorerSource is the BasicCopySource implementation for AmazonRedshiftSource. -func (ars AmazonRedshiftSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { - return nil, false -} - // AsAzureMySQLSource is the BasicCopySource implementation for AmazonRedshiftSource. func (ars AmazonRedshiftSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { return nil, false } -// AsHdfsSource is the BasicCopySource implementation for AmazonRedshiftSource. -func (ars AmazonRedshiftSource) AsHdfsSource() (*HdfsSource, bool) { - return nil, false -} - -// AsFileSystemSource is the BasicCopySource implementation for AmazonRedshiftSource. -func (ars AmazonRedshiftSource) AsFileSystemSource() (*FileSystemSource, bool) { - return nil, false -} - // AsSQLDWSource is the BasicCopySource implementation for AmazonRedshiftSource. func (ars AmazonRedshiftSource) AsSQLDWSource() (*SQLDWSource, bool) { return nil, false @@ -5959,11 +6334,6 @@ func (ars AmazonRedshiftSource) AsSQLSource() (*SQLSource, bool) { return nil, false } -// AsRestSource is the BasicCopySource implementation for AmazonRedshiftSource. -func (ars AmazonRedshiftSource) AsRestSource() (*RestSource, bool) { - return nil, false -} - // AsSapTableSource is the BasicCopySource implementation for AmazonRedshiftSource. func (ars AmazonRedshiftSource) AsSapTableSource() (*SapTableSource, bool) { return nil, false @@ -5989,21 +6359,11 @@ func (ars AmazonRedshiftSource) AsSapCloudForCustomerSource() (*SapCloudForCusto return nil, false } -// AsSalesforceServiceCloudSource is the BasicCopySource implementation for AmazonRedshiftSource. -func (ars AmazonRedshiftSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { - return nil, false -} - // AsSalesforceSource is the BasicCopySource implementation for AmazonRedshiftSource. func (ars AmazonRedshiftSource) AsSalesforceSource() (*SalesforceSource, bool) { return nil, false } -// AsODataSource is the BasicCopySource implementation for AmazonRedshiftSource. -func (ars AmazonRedshiftSource) AsODataSource() (*ODataSource, bool) { - return nil, false -} - // AsSapBwSource is the BasicCopySource implementation for AmazonRedshiftSource. func (ars AmazonRedshiftSource) AsSapBwSource() (*SapBwSource, bool) { return nil, false @@ -6034,53 +6394,38 @@ func (ars AmazonRedshiftSource) AsDb2Source() (*Db2Source, bool) { return nil, false } -// AsMicrosoftAccessSource is the BasicCopySource implementation for AmazonRedshiftSource. -func (ars AmazonRedshiftSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { - return nil, false -} - // AsInformixSource is the BasicCopySource implementation for AmazonRedshiftSource. func (ars AmazonRedshiftSource) AsInformixSource() (*InformixSource, bool) { return nil, false } -// AsRelationalSource is the BasicCopySource implementation for AmazonRedshiftSource. -func (ars AmazonRedshiftSource) AsRelationalSource() (*RelationalSource, bool) { - return nil, false -} - -// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for AmazonRedshiftSource. -func (ars AmazonRedshiftSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { - return nil, false -} - -// AsDynamicsCrmSource is the BasicCopySource implementation for AmazonRedshiftSource. -func (ars AmazonRedshiftSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { +// AsAzureTableSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsAzureTableSource() (*AzureTableSource, bool) { return nil, false } -// AsDynamicsSource is the BasicCopySource implementation for AmazonRedshiftSource. -func (ars AmazonRedshiftSource) AsDynamicsSource() (*DynamicsSource, bool) { +// AsTabularSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsTabularSource() (*TabularSource, bool) { return nil, false } -// AsDocumentDbCollectionSource is the BasicCopySource implementation for AmazonRedshiftSource. -func (ars AmazonRedshiftSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { - return nil, false +// AsBasicTabularSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &ars, true } -// AsBlobSource is the BasicCopySource implementation for AmazonRedshiftSource. -func (ars AmazonRedshiftSource) AsBlobSource() (*BlobSource, bool) { +// AsBinarySource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsBinarySource() (*BinarySource, bool) { return nil, false } -// AsAzureTableSource is the BasicCopySource implementation for AmazonRedshiftSource. -func (ars AmazonRedshiftSource) AsAzureTableSource() (*AzureTableSource, bool) { +// AsOrcSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsOrcSource() (*OrcSource, bool) { return nil, false } -// AsBinarySource is the BasicCopySource implementation for AmazonRedshiftSource. -func (ars AmazonRedshiftSource) AsBinarySource() (*BinarySource, bool) { +// AsJSONSource is the BasicCopySource implementation for AmazonRedshiftSource. +func (ars AmazonRedshiftSource) AsJSONSource() (*JSONSource, bool) { return nil, false } @@ -6136,6 +6481,15 @@ func (ars *AmazonRedshiftSource) UnmarshalJSON(body []byte) error { } ars.RedshiftUnloadSettings = &redshiftUnloadSettings } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + ars.QueryTimeout = queryTimeout + } default: if v != nil { var additionalProperties interface{} @@ -6190,6 +6544,630 @@ func (ars *AmazonRedshiftSource) UnmarshalJSON(body []byte) error { return nil } +// AmazonRedshiftTableDataset the Amazon Redshift table dataset. +type AmazonRedshiftTableDataset struct { + // AmazonRedshiftTableDatasetTypeProperties - Amazon Redshift table dataset properties. + *AmazonRedshiftTableDatasetTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - Dataset description. + Description *string `json:"description,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' + Type TypeBasicDataset `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) MarshalJSON() ([]byte, error) { + artd.Type = TypeAmazonRedshiftTable + objectMap := make(map[string]interface{}) + if artd.AmazonRedshiftTableDatasetTypeProperties != nil { + objectMap["typeProperties"] = artd.AmazonRedshiftTableDatasetTypeProperties + } + if artd.Description != nil { + objectMap["description"] = artd.Description + } + if artd.Structure != nil { + objectMap["structure"] = artd.Structure + } + if artd.Schema != nil { + objectMap["schema"] = artd.Schema + } + if artd.LinkedServiceName != nil { + objectMap["linkedServiceName"] = artd.LinkedServiceName + } + if artd.Parameters != nil { + objectMap["parameters"] = artd.Parameters + } + if artd.Annotations != nil { + objectMap["annotations"] = artd.Annotations + } + if artd.Folder != nil { + objectMap["folder"] = artd.Folder + } + if artd.Type != "" { + objectMap["type"] = artd.Type + } + for k, v := range artd.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { + return nil, false +} + +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { + return nil, false +} + +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsDynamicsAXResourceDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { + return nil, false +} + +// AsResponsysObjectDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { + return nil, false +} + +// AsVerticaTableDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { + return nil, false +} + +// AsNetezzaTableDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { + return nil, false +} + +// AsZohoObjectDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { + return nil, false +} + +// AsXeroObjectDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { + return nil, false +} + +// AsSquareObjectDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { + return nil, false +} + +// AsSparkObjectDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { + return nil, false +} + +// AsShopifyObjectDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { + return nil, false +} + +// AsServiceNowObjectDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { + return nil, false +} + +// AsQuickBooksObjectDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { + return nil, false +} + +// AsPrestoObjectDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { + return nil, false +} + +// AsPhoenixObjectDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { + return nil, false +} + +// AsPaypalObjectDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { + return nil, false +} + +// AsMarketoObjectDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { + return nil, false +} + +// AsAzureMariaDBTableDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { + return nil, false +} + +// AsMariaDBTableDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { + return nil, false +} + +// AsMagentoObjectDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { + return nil, false +} + +// AsJiraObjectDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { + return nil, false +} + +// AsImpalaObjectDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { + return nil, false +} + +// AsHubspotObjectDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { + return nil, false +} + +// AsHiveObjectDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { + return nil, false +} + +// AsHBaseObjectDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { + return nil, false +} + +// AsGreenplumTableDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { + return nil, false +} + +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { + return nil, false +} + +// AsEloquaObjectDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { + return nil, false +} + +// AsDrillTableDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { + return nil, false +} + +// AsCouchbaseTableDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { + return nil, false +} + +// AsConcurObjectDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { + return nil, false +} + +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { + return nil, false +} + +// AsAmazonMWSObjectDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { + return nil, false +} + +// AsHTTPDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsHTTPDataset() (*HTTPDataset, bool) { + return nil, false +} + +// AsAzureSearchIndexDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { + return nil, false +} + +// AsWebTableDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsWebTableDataset() (*WebTableDataset, bool) { + return nil, false +} + +// AsSapTableResourceDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { + return nil, false +} + +// AsRestResourceDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { + return nil, false +} + +// AsSQLServerTableDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { + return nil, false +} + +// AsSapOpenHubTableDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { + return nil, false +} + +// AsSapHanaTableDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { + return nil, false +} + +// AsSapEccResourceDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { + return nil, false +} + +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { + return nil, false +} + +// AsSapBwCubeDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { + return nil, false +} + +// AsSybaseTableDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { + return nil, false +} + +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsSalesforceObjectDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { + return nil, false +} + +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { + return nil, false +} + +// AsPostgreSQLTableDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { + return nil, false +} + +// AsMySQLTableDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { + return nil, false +} + +// AsOdbcTableDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { + return nil, false +} + +// AsInformixTableDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { + return nil, false +} + +// AsRelationalTableDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { + return nil, false +} + +// AsDb2TableDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return &artd, true +} + +// AsAzureMySQLTableDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { + return nil, false +} + +// AsTeradataTableDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { + return nil, false +} + +// AsOracleTableDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { + return nil, false +} + +// AsODataResourceDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { + return nil, false +} + +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { + return nil, false +} + +// AsMongoDbCollectionDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { + return nil, false +} + +// AsFileShareDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsFileShareDataset() (*FileShareDataset, bool) { + return nil, false +} + +// AsOffice365Dataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsOffice365Dataset() (*Office365Dataset, bool) { + return nil, false +} + +// AsAzureBlobFSDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) { + return nil, false +} + +// AsAzureDataLakeStoreDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { + return nil, false +} + +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { + return nil, false +} + +// AsDynamicsEntityDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { + return nil, false +} + +// AsDocumentDbCollectionDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { + return nil, false +} + +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + +// AsCustomDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsCustomDataset() (*CustomDataset, bool) { + return nil, false +} + +// AsCassandraTableDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { + return nil, false +} + +// AsAzureSQLDWTableDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { + return nil, false +} + +// AsAzureSQLMITableDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { + return nil, false +} + +// AsAzureSQLTableDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { + return nil, false +} + +// AsAzureTableDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { + return nil, false +} + +// AsAzureBlobDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) { + return nil, false +} + +// AsBinaryDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsBinaryDataset() (*BinaryDataset, bool) { + return nil, false +} + +// AsOrcDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + +// AsDelimitedTextDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { + return nil, false +} + +// AsParquetDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsParquetDataset() (*ParquetDataset, bool) { + return nil, false +} + +// AsAvroDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsAvroDataset() (*AvroDataset, bool) { + return nil, false +} + +// AsAmazonS3Dataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) { + return nil, false +} + +// AsDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsDataset() (*Dataset, bool) { + return nil, false +} + +// AsBasicDataset is the BasicDataset implementation for AmazonRedshiftTableDataset. +func (artd AmazonRedshiftTableDataset) AsBasicDataset() (BasicDataset, bool) { + return &artd, true +} + +// UnmarshalJSON is the custom unmarshaler for AmazonRedshiftTableDataset struct. +func (artd *AmazonRedshiftTableDataset) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var amazonRedshiftTableDatasetTypeProperties AmazonRedshiftTableDatasetTypeProperties + err = json.Unmarshal(*v, &amazonRedshiftTableDatasetTypeProperties) + if err != nil { + return err + } + artd.AmazonRedshiftTableDatasetTypeProperties = &amazonRedshiftTableDatasetTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if artd.AdditionalProperties == nil { + artd.AdditionalProperties = make(map[string]interface{}) + } + artd.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + artd.Description = &description + } + case "structure": + if v != nil { + var structure interface{} + err = json.Unmarshal(*v, &structure) + if err != nil { + return err + } + artd.Structure = structure + } + case "schema": + if v != nil { + var schema interface{} + err = json.Unmarshal(*v, &schema) + if err != nil { + return err + } + artd.Schema = schema + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + artd.LinkedServiceName = &linkedServiceName + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + artd.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + artd.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + artd.Folder = &folder + } + case "type": + if v != nil { + var typeVar TypeBasicDataset + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + artd.Type = typeVar + } + } + } + + return nil +} + +// AmazonRedshiftTableDatasetTypeProperties amazon Redshift table dataset properties. +type AmazonRedshiftTableDatasetTypeProperties struct { + // TableName - This property will be retired. Please consider using schema + table properties instead. + TableName interface{} `json:"tableName,omitempty"` + // Table - The Amazon Redshift table name. Type: string (or Expression with resultType string). + Table interface{} `json:"table,omitempty"` + // Schema - The Amazon Redshift schema name. Type: string (or Expression with resultType string). + Schema interface{} `json:"schema,omitempty"` +} + // AmazonS3Dataset a single Amazon Simple Storage Service (S3) object or a set of S3 objects. type AmazonS3Dataset struct { // AmazonS3DatasetTypeProperties - Amazon S3 dataset properties. @@ -6210,7 +7188,7 @@ type AmazonS3Dataset struct { Annotations *[]interface{} `json:"annotations,omitempty"` // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. Folder *DatasetFolder `json:"folder,omitempty"` - // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' + // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' Type TypeBasicDataset `json:"type,omitempty"` } @@ -6526,6 +7504,16 @@ func (asd AmazonS3Dataset) AsRelationalTableDataset() (*RelationalTableDataset, return nil, false } +// AsDb2TableDataset is the BasicDataset implementation for AmazonS3Dataset. +func (asd AmazonS3Dataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for AmazonS3Dataset. +func (asd AmazonS3Dataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + // AsAzureMySQLTableDataset is the BasicDataset implementation for AmazonS3Dataset. func (asd AmazonS3Dataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { return nil, false @@ -6601,6 +7589,11 @@ func (asd AmazonS3Dataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectio return nil, false } +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for AmazonS3Dataset. +func (asd AmazonS3Dataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + // AsCustomDataset is the BasicDataset implementation for AmazonS3Dataset. func (asd AmazonS3Dataset) AsCustomDataset() (*CustomDataset, bool) { return nil, false @@ -6641,6 +7634,16 @@ func (asd AmazonS3Dataset) AsBinaryDataset() (*BinaryDataset, bool) { return nil, false } +// AsOrcDataset is the BasicDataset implementation for AmazonS3Dataset. +func (asd AmazonS3Dataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for AmazonS3Dataset. +func (asd AmazonS3Dataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + // AsDelimitedTextDataset is the BasicDataset implementation for AmazonS3Dataset. func (asd AmazonS3Dataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { return nil, false @@ -6898,7 +7901,7 @@ type AmazonS3LinkedService struct { Parameters map[string]*ParameterSpecification `json:"parameters"` // Annotations - List of tags that can be used for describing the linked service. Annotations *[]interface{} `json:"annotations,omitempty"` - // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' + // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' Type TypeBasicLinkedService `json:"type,omitempty"` } @@ -7270,6 +8273,11 @@ func (asls AmazonS3LinkedService) AsOdbcLinkedService() (*OdbcLinkedService, boo return nil, false } +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService. +func (asls AmazonS3LinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + // AsAzureMLLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService. func (asls AmazonS3LinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { return nil, false @@ -7310,6 +8318,16 @@ func (asls AmazonS3LinkedService) AsOracleLinkedService() (*OracleLinkedService, return nil, false } +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService. +func (asls AmazonS3LinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService. +func (asls AmazonS3LinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + // AsFileServerLinkedService is the BasicLinkedService implementation for AmazonS3LinkedService. func (asls AmazonS3LinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { return nil, false @@ -7832,7 +8850,7 @@ type AppendVariableActivity struct { DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"` // UserProperties - Activity user properties. UserProperties *[]UserProperty `json:"userProperties,omitempty"` - // Type - Possible values include: 'TypeActivity', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer' + // Type - Possible values include: 'TypeActivity', 'TypeExecuteDataFlow', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLExecutePipeline', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeSwitch', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer' Type TypeBasicActivity `json:"type,omitempty"` } @@ -7864,6 +8882,11 @@ func (ava AppendVariableActivity) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } +// AsExecuteDataFlowActivity is the BasicActivity implementation for AppendVariableActivity. +func (ava AppendVariableActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) { + return nil, false +} + // AsAzureFunctionActivity is the BasicActivity implementation for AppendVariableActivity. func (ava AppendVariableActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) { return nil, false @@ -7889,6 +8912,11 @@ func (ava AppendVariableActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAn return nil, false } +// AsAzureMLExecutePipelineActivity is the BasicActivity implementation for AppendVariableActivity. +func (ava AppendVariableActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) { + return nil, false +} + // AsAzureMLUpdateResourceActivity is the BasicActivity implementation for AppendVariableActivity. func (ava AppendVariableActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) { return nil, false @@ -8019,6 +9047,11 @@ func (ava AppendVariableActivity) AsForEachActivity() (*ForEachActivity, bool) { return nil, false } +// AsSwitchActivity is the BasicActivity implementation for AppendVariableActivity. +func (ava AppendVariableActivity) AsSwitchActivity() (*SwitchActivity, bool) { + return nil, false +} + // AsIfConditionActivity is the BasicActivity implementation for AppendVariableActivity. func (ava AppendVariableActivity) AsIfConditionActivity() (*IfConditionActivity, bool) { return nil, false @@ -8158,7 +9191,7 @@ type AvroDataset struct { Annotations *[]interface{} `json:"annotations,omitempty"` // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. Folder *DatasetFolder `json:"folder,omitempty"` - // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' + // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' Type TypeBasicDataset `json:"type,omitempty"` } @@ -8474,6 +9507,16 @@ func (ad AvroDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) return nil, false } +// AsDb2TableDataset is the BasicDataset implementation for AvroDataset. +func (ad AvroDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for AvroDataset. +func (ad AvroDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + // AsAzureMySQLTableDataset is the BasicDataset implementation for AvroDataset. func (ad AvroDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { return nil, false @@ -8549,6 +9592,11 @@ func (ad AvroDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionData return nil, false } +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for AvroDataset. +func (ad AvroDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + // AsCustomDataset is the BasicDataset implementation for AvroDataset. func (ad AvroDataset) AsCustomDataset() (*CustomDataset, bool) { return nil, false @@ -8589,6 +9637,16 @@ func (ad AvroDataset) AsBinaryDataset() (*BinaryDataset, bool) { return nil, false } +// AsOrcDataset is the BasicDataset implementation for AvroDataset. +func (ad AvroDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for AvroDataset. +func (ad AvroDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + // AsDelimitedTextDataset is the BasicDataset implementation for AvroDataset. func (ad AvroDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { return nil, false @@ -8859,7 +9917,7 @@ func (af *AvroFormat) UnmarshalJSON(body []byte) error { // AvroSink a copy activity Avro sink. type AvroSink struct { // StoreSettings - Avro store settings. - StoreSettings *StoreWriteSettings `json:"storeSettings,omitempty"` + StoreSettings BasicStoreWriteSettings `json:"storeSettings,omitempty"` // FormatSettings - Avro format settings. FormatSettings *AvroWriteSettings `json:"formatSettings,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection @@ -8874,7 +9932,7 @@ type AvroSink struct { SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"` // MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAvroSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzurePostgreSQLSink', 'TypeDelimitedTextSink' + // Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeCosmosDbSQLAPISink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAvroSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzureMySQLSink', 'TypeAzurePostgreSQLSink', 'TypeOrcSink', 'TypeJSONSink', 'TypeDelimitedTextSink' Type TypeBasicCopySink `json:"type,omitempty"` } @@ -8882,9 +9940,7 @@ type AvroSink struct { func (as AvroSink) MarshalJSON() ([]byte, error) { as.Type = TypeAvroSink objectMap := make(map[string]interface{}) - if as.StoreSettings != nil { - objectMap["storeSettings"] = as.StoreSettings - } + objectMap["storeSettings"] = as.StoreSettings if as.FormatSettings != nil { objectMap["formatSettings"] = as.FormatSettings } @@ -9007,6 +10063,11 @@ func (as AvroSink) AsSQLSink() (*SQLSink, bool) { return nil, false } +// AsCosmosDbSQLAPISink is the BasicCopySink implementation for AvroSink. +func (as AvroSink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) { + return nil, false +} + // AsDocumentDbCollectionSink is the BasicCopySink implementation for AvroSink. func (as AvroSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) { return nil, false @@ -9052,11 +10113,26 @@ func (as AvroSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) return nil, false } +// AsAzureMySQLSink is the BasicCopySink implementation for AvroSink. +func (as AvroSink) AsAzureMySQLSink() (*AzureMySQLSink, bool) { + return nil, false +} + // AsAzurePostgreSQLSink is the BasicCopySink implementation for AvroSink. func (as AvroSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) { return nil, false } +// AsOrcSink is the BasicCopySink implementation for AvroSink. +func (as AvroSink) AsOrcSink() (*OrcSink, bool) { + return nil, false +} + +// AsJSONSink is the BasicCopySink implementation for AvroSink. +func (as AvroSink) AsJSONSink() (*JSONSink, bool) { + return nil, false +} + // AsDelimitedTextSink is the BasicCopySink implementation for AvroSink. func (as AvroSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) { return nil, false @@ -9083,12 +10159,11 @@ func (as *AvroSink) UnmarshalJSON(body []byte) error { switch k { case "storeSettings": if v != nil { - var storeSettings StoreWriteSettings - err = json.Unmarshal(*v, &storeSettings) + storeSettings, err := unmarshalBasicStoreWriteSettings(*v) if err != nil { return err } - as.StoreSettings = &storeSettings + as.StoreSettings = storeSettings } case "formatSettings": if v != nil { @@ -9183,7 +10258,7 @@ type AvroSource struct { SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' + // Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' Type TypeBasicCopySource `json:"type,omitempty"` } @@ -9212,6 +10287,121 @@ func (as AvroSource) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } +// AsHTTPSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + // AsAmazonRedshiftSource is the BasicCopySource implementation for AvroSource. func (as AvroSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { return nil, false @@ -9387,81 +10577,21 @@ func (as AvroSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { return nil, false } -// AsHTTPSource is the BasicCopySource implementation for AvroSource. -func (as AvroSource) AsHTTPSource() (*HTTPSource, bool) { - return nil, false -} - -// AsAzureBlobFSSource is the BasicCopySource implementation for AvroSource. -func (as AvroSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { - return nil, false -} - -// AsAzureDataLakeStoreSource is the BasicCopySource implementation for AvroSource. -func (as AvroSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { - return nil, false -} - -// AsOffice365Source is the BasicCopySource implementation for AvroSource. -func (as AvroSource) AsOffice365Source() (*Office365Source, bool) { - return nil, false -} - -// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for AvroSource. -func (as AvroSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { - return nil, false -} - -// AsMongoDbV2Source is the BasicCopySource implementation for AvroSource. -func (as AvroSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { - return nil, false -} - -// AsMongoDbSource is the BasicCopySource implementation for AvroSource. -func (as AvroSource) AsMongoDbSource() (*MongoDbSource, bool) { - return nil, false -} - // AsCassandraSource is the BasicCopySource implementation for AvroSource. func (as AvroSource) AsCassandraSource() (*CassandraSource, bool) { return nil, false } -// AsWebSource is the BasicCopySource implementation for AvroSource. -func (as AvroSource) AsWebSource() (*WebSource, bool) { - return nil, false -} - // AsTeradataSource is the BasicCopySource implementation for AvroSource. func (as AvroSource) AsTeradataSource() (*TeradataSource, bool) { return nil, false } -// AsOracleSource is the BasicCopySource implementation for AvroSource. -func (as AvroSource) AsOracleSource() (*OracleSource, bool) { - return nil, false -} - -// AsAzureDataExplorerSource is the BasicCopySource implementation for AvroSource. -func (as AvroSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { - return nil, false -} - // AsAzureMySQLSource is the BasicCopySource implementation for AvroSource. func (as AvroSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { return nil, false } -// AsHdfsSource is the BasicCopySource implementation for AvroSource. -func (as AvroSource) AsHdfsSource() (*HdfsSource, bool) { - return nil, false -} - -// AsFileSystemSource is the BasicCopySource implementation for AvroSource. -func (as AvroSource) AsFileSystemSource() (*FileSystemSource, bool) { - return nil, false -} - // AsSQLDWSource is the BasicCopySource implementation for AvroSource. func (as AvroSource) AsSQLDWSource() (*SQLDWSource, bool) { return nil, false @@ -9487,11 +10617,6 @@ func (as AvroSource) AsSQLSource() (*SQLSource, bool) { return nil, false } -// AsRestSource is the BasicCopySource implementation for AvroSource. -func (as AvroSource) AsRestSource() (*RestSource, bool) { - return nil, false -} - // AsSapTableSource is the BasicCopySource implementation for AvroSource. func (as AvroSource) AsSapTableSource() (*SapTableSource, bool) { return nil, false @@ -9517,21 +10642,11 @@ func (as AvroSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, return nil, false } -// AsSalesforceServiceCloudSource is the BasicCopySource implementation for AvroSource. -func (as AvroSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { - return nil, false -} - // AsSalesforceSource is the BasicCopySource implementation for AvroSource. func (as AvroSource) AsSalesforceSource() (*SalesforceSource, bool) { return nil, false } -// AsODataSource is the BasicCopySource implementation for AvroSource. -func (as AvroSource) AsODataSource() (*ODataSource, bool) { - return nil, false -} - // AsSapBwSource is the BasicCopySource implementation for AvroSource. func (as AvroSource) AsSapBwSource() (*SapBwSource, bool) { return nil, false @@ -9562,53 +10677,38 @@ func (as AvroSource) AsDb2Source() (*Db2Source, bool) { return nil, false } -// AsMicrosoftAccessSource is the BasicCopySource implementation for AvroSource. -func (as AvroSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { - return nil, false -} - // AsInformixSource is the BasicCopySource implementation for AvroSource. func (as AvroSource) AsInformixSource() (*InformixSource, bool) { return nil, false } -// AsRelationalSource is the BasicCopySource implementation for AvroSource. -func (as AvroSource) AsRelationalSource() (*RelationalSource, bool) { - return nil, false -} - -// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for AvroSource. -func (as AvroSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { - return nil, false -} - -// AsDynamicsCrmSource is the BasicCopySource implementation for AvroSource. -func (as AvroSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { +// AsAzureTableSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsAzureTableSource() (*AzureTableSource, bool) { return nil, false } -// AsDynamicsSource is the BasicCopySource implementation for AvroSource. -func (as AvroSource) AsDynamicsSource() (*DynamicsSource, bool) { +// AsTabularSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsTabularSource() (*TabularSource, bool) { return nil, false } -// AsDocumentDbCollectionSource is the BasicCopySource implementation for AvroSource. -func (as AvroSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { +// AsBasicTabularSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsBasicTabularSource() (BasicTabularSource, bool) { return nil, false } -// AsBlobSource is the BasicCopySource implementation for AvroSource. -func (as AvroSource) AsBlobSource() (*BlobSource, bool) { +// AsBinarySource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsBinarySource() (*BinarySource, bool) { return nil, false } -// AsAzureTableSource is the BasicCopySource implementation for AvroSource. -func (as AvroSource) AsAzureTableSource() (*AzureTableSource, bool) { +// AsOrcSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsOrcSource() (*OrcSource, bool) { return nil, false } -// AsBinarySource is the BasicCopySource implementation for AvroSource. -func (as AvroSource) AsBinarySource() (*BinarySource, bool) { +// AsJSONSource is the BasicCopySource implementation for AvroSource. +func (as AvroSource) AsJSONSource() (*JSONSource, bool) { return nil, false } @@ -9807,7 +10907,7 @@ type AzureBatchLinkedService struct { Parameters map[string]*ParameterSpecification `json:"parameters"` // Annotations - List of tags that can be used for describing the linked service. Annotations *[]interface{} `json:"annotations,omitempty"` - // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' + // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' Type TypeBasicLinkedService `json:"type,omitempty"` } @@ -10179,6 +11279,11 @@ func (abls AzureBatchLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, b return nil, false } +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService. +func (abls AzureBatchLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + // AsAzureMLLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService. func (abls AzureBatchLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { return nil, false @@ -10219,6 +11324,16 @@ func (abls AzureBatchLinkedService) AsOracleLinkedService() (*OracleLinkedServic return nil, false } +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService. +func (abls AzureBatchLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService. +func (abls AzureBatchLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + // AsFileServerLinkedService is the BasicLinkedService implementation for AzureBatchLinkedService. func (abls AzureBatchLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { return nil, false @@ -10489,7 +11604,7 @@ type AzureBlobDataset struct { Annotations *[]interface{} `json:"annotations,omitempty"` // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. Folder *DatasetFolder `json:"folder,omitempty"` - // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' + // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' Type TypeBasicDataset `json:"type,omitempty"` } @@ -10805,6 +11920,16 @@ func (abd AzureBlobDataset) AsRelationalTableDataset() (*RelationalTableDataset, return nil, false } +// AsDb2TableDataset is the BasicDataset implementation for AzureBlobDataset. +func (abd AzureBlobDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for AzureBlobDataset. +func (abd AzureBlobDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + // AsAzureMySQLTableDataset is the BasicDataset implementation for AzureBlobDataset. func (abd AzureBlobDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { return nil, false @@ -10880,6 +12005,11 @@ func (abd AzureBlobDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollecti return nil, false } +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for AzureBlobDataset. +func (abd AzureBlobDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + // AsCustomDataset is the BasicDataset implementation for AzureBlobDataset. func (abd AzureBlobDataset) AsCustomDataset() (*CustomDataset, bool) { return nil, false @@ -10920,6 +12050,16 @@ func (abd AzureBlobDataset) AsBinaryDataset() (*BinaryDataset, bool) { return nil, false } +// AsOrcDataset is the BasicDataset implementation for AzureBlobDataset. +func (abd AzureBlobDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for AzureBlobDataset. +func (abd AzureBlobDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + // AsDelimitedTextDataset is the BasicDataset implementation for AzureBlobDataset. func (abd AzureBlobDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { return nil, false @@ -11172,7 +12312,7 @@ type AzureBlobFSDataset struct { Annotations *[]interface{} `json:"annotations,omitempty"` // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. Folder *DatasetFolder `json:"folder,omitempty"` - // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' + // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' Type TypeBasicDataset `json:"type,omitempty"` } @@ -11488,6 +12628,16 @@ func (abfd AzureBlobFSDataset) AsRelationalTableDataset() (*RelationalTableDatas return nil, false } +// AsDb2TableDataset is the BasicDataset implementation for AzureBlobFSDataset. +func (abfd AzureBlobFSDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for AzureBlobFSDataset. +func (abfd AzureBlobFSDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + // AsAzureMySQLTableDataset is the BasicDataset implementation for AzureBlobFSDataset. func (abfd AzureBlobFSDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { return nil, false @@ -11563,6 +12713,11 @@ func (abfd AzureBlobFSDataset) AsDocumentDbCollectionDataset() (*DocumentDbColle return nil, false } +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for AzureBlobFSDataset. +func (abfd AzureBlobFSDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + // AsCustomDataset is the BasicDataset implementation for AzureBlobFSDataset. func (abfd AzureBlobFSDataset) AsCustomDataset() (*CustomDataset, bool) { return nil, false @@ -11603,6 +12758,16 @@ func (abfd AzureBlobFSDataset) AsBinaryDataset() (*BinaryDataset, bool) { return nil, false } +// AsOrcDataset is the BasicDataset implementation for AzureBlobFSDataset. +func (abfd AzureBlobFSDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for AzureBlobFSDataset. +func (abfd AzureBlobFSDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + // AsDelimitedTextDataset is the BasicDataset implementation for AzureBlobFSDataset. func (abfd AzureBlobFSDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { return nil, false @@ -11816,7 +12981,7 @@ type AzureBlobFSLinkedService struct { Parameters map[string]*ParameterSpecification `json:"parameters"` // Annotations - List of tags that can be used for describing the linked service. Annotations *[]interface{} `json:"annotations,omitempty"` - // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' + // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' Type TypeBasicLinkedService `json:"type,omitempty"` } @@ -12188,6 +13353,11 @@ func (abfls AzureBlobFSLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, return nil, false } +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService. +func (abfls AzureBlobFSLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + // AsAzureMLLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService. func (abfls AzureBlobFSLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { return nil, false @@ -12228,6 +13398,16 @@ func (abfls AzureBlobFSLinkedService) AsOracleLinkedService() (*OracleLinkedServ return nil, false } +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService. +func (abfls AzureBlobFSLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService. +func (abfls AzureBlobFSLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + // AsFileServerLinkedService is the BasicLinkedService implementation for AzureBlobFSLinkedService. func (abfls AzureBlobFSLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { return nil, false @@ -12746,7 +13926,7 @@ type AzureBlobFSSink struct { SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"` // MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAvroSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzurePostgreSQLSink', 'TypeDelimitedTextSink' + // Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeCosmosDbSQLAPISink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAvroSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzureMySQLSink', 'TypeAzurePostgreSQLSink', 'TypeOrcSink', 'TypeJSONSink', 'TypeDelimitedTextSink' Type TypeBasicCopySink `json:"type,omitempty"` } @@ -12876,6 +14056,11 @@ func (abfs AzureBlobFSSink) AsSQLSink() (*SQLSink, bool) { return nil, false } +// AsCosmosDbSQLAPISink is the BasicCopySink implementation for AzureBlobFSSink. +func (abfs AzureBlobFSSink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) { + return nil, false +} + // AsDocumentDbCollectionSink is the BasicCopySink implementation for AzureBlobFSSink. func (abfs AzureBlobFSSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) { return nil, false @@ -12921,11 +14106,26 @@ func (abfs AzureBlobFSSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSin return nil, false } +// AsAzureMySQLSink is the BasicCopySink implementation for AzureBlobFSSink. +func (abfs AzureBlobFSSink) AsAzureMySQLSink() (*AzureMySQLSink, bool) { + return nil, false +} + // AsAzurePostgreSQLSink is the BasicCopySink implementation for AzureBlobFSSink. func (abfs AzureBlobFSSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) { return nil, false } +// AsOrcSink is the BasicCopySink implementation for AzureBlobFSSink. +func (abfs AzureBlobFSSink) AsOrcSink() (*OrcSink, bool) { + return nil, false +} + +// AsJSONSink is the BasicCopySink implementation for AzureBlobFSSink. +func (abfs AzureBlobFSSink) AsJSONSink() (*JSONSink, bool) { + return nil, false +} + // AsDelimitedTextSink is the BasicCopySink implementation for AzureBlobFSSink. func (abfs AzureBlobFSSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) { return nil, false @@ -13047,7 +14247,7 @@ type AzureBlobFSSource struct { SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' + // Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' Type TypeBasicCopySource `json:"type,omitempty"` } @@ -13082,6 +14282,121 @@ func (abfs AzureBlobFSSource) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } +// AsHTTPSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return &abfs, true +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + // AsAmazonRedshiftSource is the BasicCopySource implementation for AzureBlobFSSource. func (abfs AzureBlobFSSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { return nil, false @@ -13257,81 +14572,21 @@ func (abfs AzureBlobFSSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { return nil, false } -// AsHTTPSource is the BasicCopySource implementation for AzureBlobFSSource. -func (abfs AzureBlobFSSource) AsHTTPSource() (*HTTPSource, bool) { - return nil, false -} - -// AsAzureBlobFSSource is the BasicCopySource implementation for AzureBlobFSSource. -func (abfs AzureBlobFSSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { - return &abfs, true -} - -// AsAzureDataLakeStoreSource is the BasicCopySource implementation for AzureBlobFSSource. -func (abfs AzureBlobFSSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { - return nil, false -} - -// AsOffice365Source is the BasicCopySource implementation for AzureBlobFSSource. -func (abfs AzureBlobFSSource) AsOffice365Source() (*Office365Source, bool) { - return nil, false -} - -// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for AzureBlobFSSource. -func (abfs AzureBlobFSSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { - return nil, false -} - -// AsMongoDbV2Source is the BasicCopySource implementation for AzureBlobFSSource. -func (abfs AzureBlobFSSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { - return nil, false -} - -// AsMongoDbSource is the BasicCopySource implementation for AzureBlobFSSource. -func (abfs AzureBlobFSSource) AsMongoDbSource() (*MongoDbSource, bool) { - return nil, false -} - // AsCassandraSource is the BasicCopySource implementation for AzureBlobFSSource. func (abfs AzureBlobFSSource) AsCassandraSource() (*CassandraSource, bool) { return nil, false } -// AsWebSource is the BasicCopySource implementation for AzureBlobFSSource. -func (abfs AzureBlobFSSource) AsWebSource() (*WebSource, bool) { - return nil, false -} - // AsTeradataSource is the BasicCopySource implementation for AzureBlobFSSource. func (abfs AzureBlobFSSource) AsTeradataSource() (*TeradataSource, bool) { return nil, false } -// AsOracleSource is the BasicCopySource implementation for AzureBlobFSSource. -func (abfs AzureBlobFSSource) AsOracleSource() (*OracleSource, bool) { - return nil, false -} - -// AsAzureDataExplorerSource is the BasicCopySource implementation for AzureBlobFSSource. -func (abfs AzureBlobFSSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { - return nil, false -} - // AsAzureMySQLSource is the BasicCopySource implementation for AzureBlobFSSource. func (abfs AzureBlobFSSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { return nil, false } -// AsHdfsSource is the BasicCopySource implementation for AzureBlobFSSource. -func (abfs AzureBlobFSSource) AsHdfsSource() (*HdfsSource, bool) { - return nil, false -} - -// AsFileSystemSource is the BasicCopySource implementation for AzureBlobFSSource. -func (abfs AzureBlobFSSource) AsFileSystemSource() (*FileSystemSource, bool) { - return nil, false -} - // AsSQLDWSource is the BasicCopySource implementation for AzureBlobFSSource. func (abfs AzureBlobFSSource) AsSQLDWSource() (*SQLDWSource, bool) { return nil, false @@ -13357,11 +14612,6 @@ func (abfs AzureBlobFSSource) AsSQLSource() (*SQLSource, bool) { return nil, false } -// AsRestSource is the BasicCopySource implementation for AzureBlobFSSource. -func (abfs AzureBlobFSSource) AsRestSource() (*RestSource, bool) { - return nil, false -} - // AsSapTableSource is the BasicCopySource implementation for AzureBlobFSSource. func (abfs AzureBlobFSSource) AsSapTableSource() (*SapTableSource, bool) { return nil, false @@ -13387,21 +14637,11 @@ func (abfs AzureBlobFSSource) AsSapCloudForCustomerSource() (*SapCloudForCustome return nil, false } -// AsSalesforceServiceCloudSource is the BasicCopySource implementation for AzureBlobFSSource. -func (abfs AzureBlobFSSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { - return nil, false -} - // AsSalesforceSource is the BasicCopySource implementation for AzureBlobFSSource. func (abfs AzureBlobFSSource) AsSalesforceSource() (*SalesforceSource, bool) { return nil, false } -// AsODataSource is the BasicCopySource implementation for AzureBlobFSSource. -func (abfs AzureBlobFSSource) AsODataSource() (*ODataSource, bool) { - return nil, false -} - // AsSapBwSource is the BasicCopySource implementation for AzureBlobFSSource. func (abfs AzureBlobFSSource) AsSapBwSource() (*SapBwSource, bool) { return nil, false @@ -13432,53 +14672,38 @@ func (abfs AzureBlobFSSource) AsDb2Source() (*Db2Source, bool) { return nil, false } -// AsMicrosoftAccessSource is the BasicCopySource implementation for AzureBlobFSSource. -func (abfs AzureBlobFSSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { - return nil, false -} - // AsInformixSource is the BasicCopySource implementation for AzureBlobFSSource. func (abfs AzureBlobFSSource) AsInformixSource() (*InformixSource, bool) { return nil, false } -// AsRelationalSource is the BasicCopySource implementation for AzureBlobFSSource. -func (abfs AzureBlobFSSource) AsRelationalSource() (*RelationalSource, bool) { - return nil, false -} - -// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for AzureBlobFSSource. -func (abfs AzureBlobFSSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { - return nil, false -} - -// AsDynamicsCrmSource is the BasicCopySource implementation for AzureBlobFSSource. -func (abfs AzureBlobFSSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { +// AsAzureTableSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsAzureTableSource() (*AzureTableSource, bool) { return nil, false } -// AsDynamicsSource is the BasicCopySource implementation for AzureBlobFSSource. -func (abfs AzureBlobFSSource) AsDynamicsSource() (*DynamicsSource, bool) { +// AsTabularSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsTabularSource() (*TabularSource, bool) { return nil, false } -// AsDocumentDbCollectionSource is the BasicCopySource implementation for AzureBlobFSSource. -func (abfs AzureBlobFSSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { +// AsBasicTabularSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsBasicTabularSource() (BasicTabularSource, bool) { return nil, false } -// AsBlobSource is the BasicCopySource implementation for AzureBlobFSSource. -func (abfs AzureBlobFSSource) AsBlobSource() (*BlobSource, bool) { +// AsBinarySource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsBinarySource() (*BinarySource, bool) { return nil, false } -// AsAzureTableSource is the BasicCopySource implementation for AzureBlobFSSource. -func (abfs AzureBlobFSSource) AsAzureTableSource() (*AzureTableSource, bool) { +// AsOrcSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsOrcSource() (*OrcSource, bool) { return nil, false } -// AsBinarySource is the BasicCopySource implementation for AzureBlobFSSource. -func (abfs AzureBlobFSSource) AsBinarySource() (*BinarySource, bool) { +// AsJSONSource is the BasicCopySource implementation for AzureBlobFSSource. +func (abfs AzureBlobFSSource) AsJSONSource() (*JSONSource, bool) { return nil, false } @@ -13599,21 +14824,24 @@ func (abfs *AzureBlobFSSource) UnmarshalJSON(body []byte) error { // AzureBlobFSWriteSettings azure blobFS write settings. type AzureBlobFSWriteSettings struct { + // BlockSizeInMB - Indicates the block size(MB) when writing data to blob. Type: integer (or Expression with resultType integer). + BlockSizeInMB interface{} `json:"blockSizeInMB,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` - // Type - The write setting type. - Type *string `json:"type,omitempty"` // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` // CopyBehavior - The type of copy behavior for copy sink. CopyBehavior interface{} `json:"copyBehavior,omitempty"` + // Type - Possible values include: 'TypeStoreWriteSettings', 'TypeFileServerWriteSettings', 'TypeAzureDataLakeStoreWriteSettings', 'TypeAzureBlobFSWriteSettings', 'TypeAzureBlobStorageWriteSettings' + Type TypeBasicStoreWriteSettings `json:"type,omitempty"` } // MarshalJSON is the custom marshaler for AzureBlobFSWriteSettings. func (abfws AzureBlobFSWriteSettings) MarshalJSON() ([]byte, error) { + abfws.Type = TypeAzureBlobFSWriteSettings objectMap := make(map[string]interface{}) - if abfws.Type != nil { - objectMap["type"] = abfws.Type + if abfws.BlockSizeInMB != nil { + objectMap["blockSizeInMB"] = abfws.BlockSizeInMB } if abfws.MaxConcurrentConnections != nil { objectMap["maxConcurrentConnections"] = abfws.MaxConcurrentConnections @@ -13621,12 +14849,45 @@ func (abfws AzureBlobFSWriteSettings) MarshalJSON() ([]byte, error) { if abfws.CopyBehavior != nil { objectMap["copyBehavior"] = abfws.CopyBehavior } + if abfws.Type != "" { + objectMap["type"] = abfws.Type + } for k, v := range abfws.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } +// AsFileServerWriteSettings is the BasicStoreWriteSettings implementation for AzureBlobFSWriteSettings. +func (abfws AzureBlobFSWriteSettings) AsFileServerWriteSettings() (*FileServerWriteSettings, bool) { + return nil, false +} + +// AsAzureDataLakeStoreWriteSettings is the BasicStoreWriteSettings implementation for AzureBlobFSWriteSettings. +func (abfws AzureBlobFSWriteSettings) AsAzureDataLakeStoreWriteSettings() (*AzureDataLakeStoreWriteSettings, bool) { + return nil, false +} + +// AsAzureBlobFSWriteSettings is the BasicStoreWriteSettings implementation for AzureBlobFSWriteSettings. +func (abfws AzureBlobFSWriteSettings) AsAzureBlobFSWriteSettings() (*AzureBlobFSWriteSettings, bool) { + return &abfws, true +} + +// AsAzureBlobStorageWriteSettings is the BasicStoreWriteSettings implementation for AzureBlobFSWriteSettings. +func (abfws AzureBlobFSWriteSettings) AsAzureBlobStorageWriteSettings() (*AzureBlobStorageWriteSettings, bool) { + return nil, false +} + +// AsStoreWriteSettings is the BasicStoreWriteSettings implementation for AzureBlobFSWriteSettings. +func (abfws AzureBlobFSWriteSettings) AsStoreWriteSettings() (*StoreWriteSettings, bool) { + return nil, false +} + +// AsBasicStoreWriteSettings is the BasicStoreWriteSettings implementation for AzureBlobFSWriteSettings. +func (abfws AzureBlobFSWriteSettings) AsBasicStoreWriteSettings() (BasicStoreWriteSettings, bool) { + return &abfws, true +} + // UnmarshalJSON is the custom unmarshaler for AzureBlobFSWriteSettings struct. func (abfws *AzureBlobFSWriteSettings) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage @@ -13636,6 +14897,15 @@ func (abfws *AzureBlobFSWriteSettings) UnmarshalJSON(body []byte) error { } for k, v := range m { switch k { + case "blockSizeInMB": + if v != nil { + var blockSizeInMB interface{} + err = json.Unmarshal(*v, &blockSizeInMB) + if err != nil { + return err + } + abfws.BlockSizeInMB = blockSizeInMB + } default: if v != nil { var additionalProperties interface{} @@ -13648,15 +14918,6 @@ func (abfws *AzureBlobFSWriteSettings) UnmarshalJSON(body []byte) error { } abfws.AdditionalProperties[k] = additionalProperties } - case "type": - if v != nil { - var typeVar string - err = json.Unmarshal(*v, &typeVar) - if err != nil { - return err - } - abfws.Type = &typeVar - } case "maxConcurrentConnections": if v != nil { var maxConcurrentConnections interface{} @@ -13675,6 +14936,15 @@ func (abfws *AzureBlobFSWriteSettings) UnmarshalJSON(body []byte) error { } abfws.CopyBehavior = copyBehavior } + case "type": + if v != nil { + var typeVar TypeBasicStoreWriteSettings + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + abfws.Type = typeVar + } } } @@ -13695,7 +14965,7 @@ type AzureBlobStorageLinkedService struct { Parameters map[string]*ParameterSpecification `json:"parameters"` // Annotations - List of tags that can be used for describing the linked service. Annotations *[]interface{} `json:"annotations,omitempty"` - // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' + // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' Type TypeBasicLinkedService `json:"type,omitempty"` } @@ -14067,6 +15337,11 @@ func (absls AzureBlobStorageLinkedService) AsOdbcLinkedService() (*OdbcLinkedSer return nil, false } +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService. +func (absls AzureBlobStorageLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + // AsAzureMLLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService. func (absls AzureBlobStorageLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { return nil, false @@ -14107,6 +15382,16 @@ func (absls AzureBlobStorageLinkedService) AsOracleLinkedService() (*OracleLinke return nil, false } +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService. +func (absls AzureBlobStorageLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService. +func (absls AzureBlobStorageLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + // AsFileServerLinkedService is the BasicLinkedService implementation for AzureBlobStorageLinkedService. func (absls AzureBlobStorageLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { return nil, false @@ -14644,21 +15929,24 @@ func (absrs *AzureBlobStorageReadSettings) UnmarshalJSON(body []byte) error { // AzureBlobStorageWriteSettings azure blob write settings. type AzureBlobStorageWriteSettings struct { + // BlockSizeInMB - Indicates the block size(MB) when writing data to blob. Type: integer (or Expression with resultType integer). + BlockSizeInMB interface{} `json:"blockSizeInMB,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` - // Type - The write setting type. - Type *string `json:"type,omitempty"` // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` // CopyBehavior - The type of copy behavior for copy sink. CopyBehavior interface{} `json:"copyBehavior,omitempty"` + // Type - Possible values include: 'TypeStoreWriteSettings', 'TypeFileServerWriteSettings', 'TypeAzureDataLakeStoreWriteSettings', 'TypeAzureBlobFSWriteSettings', 'TypeAzureBlobStorageWriteSettings' + Type TypeBasicStoreWriteSettings `json:"type,omitempty"` } // MarshalJSON is the custom marshaler for AzureBlobStorageWriteSettings. func (absws AzureBlobStorageWriteSettings) MarshalJSON() ([]byte, error) { + absws.Type = TypeAzureBlobStorageWriteSettings objectMap := make(map[string]interface{}) - if absws.Type != nil { - objectMap["type"] = absws.Type + if absws.BlockSizeInMB != nil { + objectMap["blockSizeInMB"] = absws.BlockSizeInMB } if absws.MaxConcurrentConnections != nil { objectMap["maxConcurrentConnections"] = absws.MaxConcurrentConnections @@ -14666,12 +15954,45 @@ func (absws AzureBlobStorageWriteSettings) MarshalJSON() ([]byte, error) { if absws.CopyBehavior != nil { objectMap["copyBehavior"] = absws.CopyBehavior } + if absws.Type != "" { + objectMap["type"] = absws.Type + } for k, v := range absws.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } +// AsFileServerWriteSettings is the BasicStoreWriteSettings implementation for AzureBlobStorageWriteSettings. +func (absws AzureBlobStorageWriteSettings) AsFileServerWriteSettings() (*FileServerWriteSettings, bool) { + return nil, false +} + +// AsAzureDataLakeStoreWriteSettings is the BasicStoreWriteSettings implementation for AzureBlobStorageWriteSettings. +func (absws AzureBlobStorageWriteSettings) AsAzureDataLakeStoreWriteSettings() (*AzureDataLakeStoreWriteSettings, bool) { + return nil, false +} + +// AsAzureBlobFSWriteSettings is the BasicStoreWriteSettings implementation for AzureBlobStorageWriteSettings. +func (absws AzureBlobStorageWriteSettings) AsAzureBlobFSWriteSettings() (*AzureBlobFSWriteSettings, bool) { + return nil, false +} + +// AsAzureBlobStorageWriteSettings is the BasicStoreWriteSettings implementation for AzureBlobStorageWriteSettings. +func (absws AzureBlobStorageWriteSettings) AsAzureBlobStorageWriteSettings() (*AzureBlobStorageWriteSettings, bool) { + return &absws, true +} + +// AsStoreWriteSettings is the BasicStoreWriteSettings implementation for AzureBlobStorageWriteSettings. +func (absws AzureBlobStorageWriteSettings) AsStoreWriteSettings() (*StoreWriteSettings, bool) { + return nil, false +} + +// AsBasicStoreWriteSettings is the BasicStoreWriteSettings implementation for AzureBlobStorageWriteSettings. +func (absws AzureBlobStorageWriteSettings) AsBasicStoreWriteSettings() (BasicStoreWriteSettings, bool) { + return &absws, true +} + // UnmarshalJSON is the custom unmarshaler for AzureBlobStorageWriteSettings struct. func (absws *AzureBlobStorageWriteSettings) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage @@ -14681,6 +16002,15 @@ func (absws *AzureBlobStorageWriteSettings) UnmarshalJSON(body []byte) error { } for k, v := range m { switch k { + case "blockSizeInMB": + if v != nil { + var blockSizeInMB interface{} + err = json.Unmarshal(*v, &blockSizeInMB) + if err != nil { + return err + } + absws.BlockSizeInMB = blockSizeInMB + } default: if v != nil { var additionalProperties interface{} @@ -14693,15 +16023,6 @@ func (absws *AzureBlobStorageWriteSettings) UnmarshalJSON(body []byte) error { } absws.AdditionalProperties[k] = additionalProperties } - case "type": - if v != nil { - var typeVar string - err = json.Unmarshal(*v, &typeVar) - if err != nil { - return err - } - absws.Type = &typeVar - } case "maxConcurrentConnections": if v != nil { var maxConcurrentConnections interface{} @@ -14720,6 +16041,15 @@ func (absws *AzureBlobStorageWriteSettings) UnmarshalJSON(body []byte) error { } absws.CopyBehavior = copyBehavior } + case "type": + if v != nil { + var typeVar TypeBasicStoreWriteSettings + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + absws.Type = typeVar + } } } @@ -14740,7 +16070,7 @@ type AzureDatabricksLinkedService struct { Parameters map[string]*ParameterSpecification `json:"parameters"` // Annotations - List of tags that can be used for describing the linked service. Annotations *[]interface{} `json:"annotations,omitempty"` - // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' + // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' Type TypeBasicLinkedService `json:"type,omitempty"` } @@ -15112,6 +16442,11 @@ func (adls AzureDatabricksLinkedService) AsOdbcLinkedService() (*OdbcLinkedServi return nil, false } +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService. +func (adls AzureDatabricksLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + // AsAzureMLLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService. func (adls AzureDatabricksLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { return nil, false @@ -15152,6 +16487,16 @@ func (adls AzureDatabricksLinkedService) AsOracleLinkedService() (*OracleLinkedS return nil, false } +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService. +func (adls AzureDatabricksLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService. +func (adls AzureDatabricksLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + // AsFileServerLinkedService is the BasicLinkedService implementation for AzureDatabricksLinkedService. func (adls AzureDatabricksLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { return nil, false @@ -15324,25 +16669,27 @@ type AzureDatabricksLinkedServiceTypeProperties struct { Domain interface{} `json:"domain,omitempty"` // AccessToken - Access token for databricks REST API. Refer to https://docs.azuredatabricks.net/api/latest/authentication.html. Type: string (or Expression with resultType string). AccessToken BasicSecretBase `json:"accessToken,omitempty"` - // ExistingClusterID - The id of an existing cluster that will be used for all runs of this job. Type: string (or Expression with resultType string). + // ExistingClusterID - The id of an existing interactive cluster that will be used for all runs of this activity. Type: string (or Expression with resultType string). ExistingClusterID interface{} `json:"existingClusterId,omitempty"` - // NewClusterVersion - The Spark version of new cluster. Type: string (or Expression with resultType string). + // InstancePoolID - The id of an existing instance pool that will be used for all runs of this activity. Type: string (or Expression with resultType string). + InstancePoolID interface{} `json:"instancePoolId,omitempty"` + // NewClusterVersion - If not using an existing interactive cluster, this specifies the Spark version of a new job cluster or instance pool nodes created for each run of this activity. Required if instancePoolId is specified. Type: string (or Expression with resultType string). NewClusterVersion interface{} `json:"newClusterVersion,omitempty"` - // NewClusterNumOfWorker - Number of worker nodes that new cluster should have. A string formatted Int32, like '1' means numOfWorker is 1 or '1:10' means auto-scale from 1 as min and 10 as max. Type: string (or Expression with resultType string). + // NewClusterNumOfWorker - If not using an existing interactive cluster, this specifies the number of worker nodes to use for the new job cluster or instance pool. For new job clusters, this a string-formatted Int32, like '1' means numOfWorker is 1 or '1:10' means auto-scale from 1 (min) to 10 (max). For instance pools, this is a string-formatted Int32, and can only specify a fixed number of worker nodes, such as '2'. Required if newClusterVersion is specified. Type: string (or Expression with resultType string). NewClusterNumOfWorker interface{} `json:"newClusterNumOfWorker,omitempty"` - // NewClusterNodeType - The node types of new cluster. Type: string (or Expression with resultType string). + // NewClusterNodeType - The node type of the new job cluster. This property is required if newClusterVersion is specified and instancePoolId is not specified. If instancePoolId is specified, this property is ignored. Type: string (or Expression with resultType string). NewClusterNodeType interface{} `json:"newClusterNodeType,omitempty"` // NewClusterSparkConf - A set of optional, user-specified Spark configuration key-value pairs. NewClusterSparkConf map[string]interface{} `json:"newClusterSparkConf"` // NewClusterSparkEnvVars - A set of optional, user-specified Spark environment variables key-value pairs. NewClusterSparkEnvVars map[string]interface{} `json:"newClusterSparkEnvVars"` - // NewClusterCustomTags - Additional tags for cluster resources. + // NewClusterCustomTags - Additional tags for cluster resources. This property is ignored in instance pool configurations. NewClusterCustomTags map[string]interface{} `json:"newClusterCustomTags"` - // NewClusterDriverNodeType - The driver node type for the new cluster. Type: string (or Expression with resultType string). + // NewClusterDriverNodeType - The driver node type for the new job cluster. This property is ignored in instance pool configurations. Type: string (or Expression with resultType string). NewClusterDriverNodeType interface{} `json:"newClusterDriverNodeType,omitempty"` // NewClusterInitScripts - User-defined initialization scripts for the new cluster. Type: array of strings (or Expression with resultType array of strings). NewClusterInitScripts interface{} `json:"newClusterInitScripts,omitempty"` - // NewClusterEnableElasticDisk - Enable the elastic disk on the new cluster. Type: boolean (or Expression with resultType boolean). + // NewClusterEnableElasticDisk - Enable the elastic disk on the new cluster. This property is now ignored, and takes the default elastic disk behavior in Databricks (elastic disks are always enabled). Type: boolean (or Expression with resultType boolean). NewClusterEnableElasticDisk interface{} `json:"newClusterEnableElasticDisk,omitempty"` // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` @@ -15358,6 +16705,9 @@ func (adlstp AzureDatabricksLinkedServiceTypeProperties) MarshalJSON() ([]byte, if adlstp.ExistingClusterID != nil { objectMap["existingClusterId"] = adlstp.ExistingClusterID } + if adlstp.InstancePoolID != nil { + objectMap["instancePoolId"] = adlstp.InstancePoolID + } if adlstp.NewClusterVersion != nil { objectMap["newClusterVersion"] = adlstp.NewClusterVersion } @@ -15426,6 +16776,15 @@ func (adlstp *AzureDatabricksLinkedServiceTypeProperties) UnmarshalJSON(body []b } adlstp.ExistingClusterID = existingClusterID } + case "instancePoolId": + if v != nil { + var instancePoolID interface{} + err = json.Unmarshal(*v, &instancePoolID) + if err != nil { + return err + } + adlstp.InstancePoolID = instancePoolID + } case "newClusterVersion": if v != nil { var newClusterVersion interface{} @@ -15540,7 +16899,7 @@ type AzureDataExplorerCommandActivity struct { DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"` // UserProperties - Activity user properties. UserProperties *[]UserProperty `json:"userProperties,omitempty"` - // Type - Possible values include: 'TypeActivity', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer' + // Type - Possible values include: 'TypeActivity', 'TypeExecuteDataFlow', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLExecutePipeline', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeSwitch', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer' Type TypeBasicActivity `json:"type,omitempty"` } @@ -15578,6 +16937,11 @@ func (adeca AzureDataExplorerCommandActivity) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } +// AsExecuteDataFlowActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity. +func (adeca AzureDataExplorerCommandActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) { + return nil, false +} + // AsAzureFunctionActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity. func (adeca AzureDataExplorerCommandActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) { return nil, false @@ -15603,6 +16967,11 @@ func (adeca AzureDataExplorerCommandActivity) AsDataLakeAnalyticsUSQLActivity() return nil, false } +// AsAzureMLExecutePipelineActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity. +func (adeca AzureDataExplorerCommandActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) { + return nil, false +} + // AsAzureMLUpdateResourceActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity. func (adeca AzureDataExplorerCommandActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) { return nil, false @@ -15733,6 +17102,11 @@ func (adeca AzureDataExplorerCommandActivity) AsForEachActivity() (*ForEachActiv return nil, false } +// AsSwitchActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity. +func (adeca AzureDataExplorerCommandActivity) AsSwitchActivity() (*SwitchActivity, bool) { + return nil, false +} + // AsIfConditionActivity is the BasicActivity implementation for AzureDataExplorerCommandActivity. func (adeca AzureDataExplorerCommandActivity) AsIfConditionActivity() (*IfConditionActivity, bool) { return nil, false @@ -15890,7 +17264,7 @@ type AzureDataExplorerLinkedService struct { Parameters map[string]*ParameterSpecification `json:"parameters"` // Annotations - List of tags that can be used for describing the linked service. Annotations *[]interface{} `json:"annotations,omitempty"` - // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' + // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' Type TypeBasicLinkedService `json:"type,omitempty"` } @@ -16262,6 +17636,11 @@ func (adels AzureDataExplorerLinkedService) AsOdbcLinkedService() (*OdbcLinkedSe return nil, false } +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService. +func (adels AzureDataExplorerLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + // AsAzureMLLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService. func (adels AzureDataExplorerLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { return nil, false @@ -16302,6 +17681,16 @@ func (adels AzureDataExplorerLinkedService) AsOracleLinkedService() (*OracleLink return nil, false } +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService. +func (adels AzureDataExplorerLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService. +func (adels AzureDataExplorerLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + // AsFileServerLinkedService is the BasicLinkedService implementation for AzureDataExplorerLinkedService. func (adels AzureDataExplorerLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { return nil, false @@ -16561,7 +17950,7 @@ type AzureDataExplorerSink struct { SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"` // MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAvroSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzurePostgreSQLSink', 'TypeDelimitedTextSink' + // Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeCosmosDbSQLAPISink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAvroSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzureMySQLSink', 'TypeAzurePostgreSQLSink', 'TypeOrcSink', 'TypeJSONSink', 'TypeDelimitedTextSink' Type TypeBasicCopySink `json:"type,omitempty"` } @@ -16697,6 +18086,11 @@ func (ades AzureDataExplorerSink) AsSQLSink() (*SQLSink, bool) { return nil, false } +// AsCosmosDbSQLAPISink is the BasicCopySink implementation for AzureDataExplorerSink. +func (ades AzureDataExplorerSink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) { + return nil, false +} + // AsDocumentDbCollectionSink is the BasicCopySink implementation for AzureDataExplorerSink. func (ades AzureDataExplorerSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) { return nil, false @@ -16742,11 +18136,26 @@ func (ades AzureDataExplorerSink) AsSapCloudForCustomerSink() (*SapCloudForCusto return nil, false } +// AsAzureMySQLSink is the BasicCopySink implementation for AzureDataExplorerSink. +func (ades AzureDataExplorerSink) AsAzureMySQLSink() (*AzureMySQLSink, bool) { + return nil, false +} + // AsAzurePostgreSQLSink is the BasicCopySink implementation for AzureDataExplorerSink. func (ades AzureDataExplorerSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) { return nil, false } +// AsOrcSink is the BasicCopySink implementation for AzureDataExplorerSink. +func (ades AzureDataExplorerSink) AsOrcSink() (*OrcSink, bool) { + return nil, false +} + +// AsJSONSink is the BasicCopySink implementation for AzureDataExplorerSink. +func (ades AzureDataExplorerSink) AsJSONSink() (*JSONSink, bool) { + return nil, false +} + // AsDelimitedTextSink is the BasicCopySink implementation for AzureDataExplorerSink. func (ades AzureDataExplorerSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) { return nil, false @@ -16886,7 +18295,7 @@ type AzureDataExplorerSource struct { SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' + // Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' Type TypeBasicCopySource `json:"type,omitempty"` } @@ -16921,6 +18330,121 @@ func (ades AzureDataExplorerSource) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } +// AsHTTPSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return &ades, true +} + +// AsHdfsSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + // AsAmazonRedshiftSource is the BasicCopySource implementation for AzureDataExplorerSource. func (ades AzureDataExplorerSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { return nil, false @@ -17096,81 +18620,21 @@ func (ades AzureDataExplorerSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) return nil, false } -// AsHTTPSource is the BasicCopySource implementation for AzureDataExplorerSource. -func (ades AzureDataExplorerSource) AsHTTPSource() (*HTTPSource, bool) { - return nil, false -} - -// AsAzureBlobFSSource is the BasicCopySource implementation for AzureDataExplorerSource. -func (ades AzureDataExplorerSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { - return nil, false -} - -// AsAzureDataLakeStoreSource is the BasicCopySource implementation for AzureDataExplorerSource. -func (ades AzureDataExplorerSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { - return nil, false -} - -// AsOffice365Source is the BasicCopySource implementation for AzureDataExplorerSource. -func (ades AzureDataExplorerSource) AsOffice365Source() (*Office365Source, bool) { - return nil, false -} - -// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for AzureDataExplorerSource. -func (ades AzureDataExplorerSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { - return nil, false -} - -// AsMongoDbV2Source is the BasicCopySource implementation for AzureDataExplorerSource. -func (ades AzureDataExplorerSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { - return nil, false -} - -// AsMongoDbSource is the BasicCopySource implementation for AzureDataExplorerSource. -func (ades AzureDataExplorerSource) AsMongoDbSource() (*MongoDbSource, bool) { - return nil, false -} - // AsCassandraSource is the BasicCopySource implementation for AzureDataExplorerSource. func (ades AzureDataExplorerSource) AsCassandraSource() (*CassandraSource, bool) { return nil, false } -// AsWebSource is the BasicCopySource implementation for AzureDataExplorerSource. -func (ades AzureDataExplorerSource) AsWebSource() (*WebSource, bool) { - return nil, false -} - // AsTeradataSource is the BasicCopySource implementation for AzureDataExplorerSource. func (ades AzureDataExplorerSource) AsTeradataSource() (*TeradataSource, bool) { return nil, false } -// AsOracleSource is the BasicCopySource implementation for AzureDataExplorerSource. -func (ades AzureDataExplorerSource) AsOracleSource() (*OracleSource, bool) { - return nil, false -} - -// AsAzureDataExplorerSource is the BasicCopySource implementation for AzureDataExplorerSource. -func (ades AzureDataExplorerSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { - return &ades, true -} - // AsAzureMySQLSource is the BasicCopySource implementation for AzureDataExplorerSource. func (ades AzureDataExplorerSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { return nil, false } -// AsHdfsSource is the BasicCopySource implementation for AzureDataExplorerSource. -func (ades AzureDataExplorerSource) AsHdfsSource() (*HdfsSource, bool) { - return nil, false -} - -// AsFileSystemSource is the BasicCopySource implementation for AzureDataExplorerSource. -func (ades AzureDataExplorerSource) AsFileSystemSource() (*FileSystemSource, bool) { - return nil, false -} - // AsSQLDWSource is the BasicCopySource implementation for AzureDataExplorerSource. func (ades AzureDataExplorerSource) AsSQLDWSource() (*SQLDWSource, bool) { return nil, false @@ -17196,11 +18660,6 @@ func (ades AzureDataExplorerSource) AsSQLSource() (*SQLSource, bool) { return nil, false } -// AsRestSource is the BasicCopySource implementation for AzureDataExplorerSource. -func (ades AzureDataExplorerSource) AsRestSource() (*RestSource, bool) { - return nil, false -} - // AsSapTableSource is the BasicCopySource implementation for AzureDataExplorerSource. func (ades AzureDataExplorerSource) AsSapTableSource() (*SapTableSource, bool) { return nil, false @@ -17226,21 +18685,11 @@ func (ades AzureDataExplorerSource) AsSapCloudForCustomerSource() (*SapCloudForC return nil, false } -// AsSalesforceServiceCloudSource is the BasicCopySource implementation for AzureDataExplorerSource. -func (ades AzureDataExplorerSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { - return nil, false -} - // AsSalesforceSource is the BasicCopySource implementation for AzureDataExplorerSource. func (ades AzureDataExplorerSource) AsSalesforceSource() (*SalesforceSource, bool) { return nil, false } -// AsODataSource is the BasicCopySource implementation for AzureDataExplorerSource. -func (ades AzureDataExplorerSource) AsODataSource() (*ODataSource, bool) { - return nil, false -} - // AsSapBwSource is the BasicCopySource implementation for AzureDataExplorerSource. func (ades AzureDataExplorerSource) AsSapBwSource() (*SapBwSource, bool) { return nil, false @@ -17271,53 +18720,38 @@ func (ades AzureDataExplorerSource) AsDb2Source() (*Db2Source, bool) { return nil, false } -// AsMicrosoftAccessSource is the BasicCopySource implementation for AzureDataExplorerSource. -func (ades AzureDataExplorerSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { - return nil, false -} - // AsInformixSource is the BasicCopySource implementation for AzureDataExplorerSource. func (ades AzureDataExplorerSource) AsInformixSource() (*InformixSource, bool) { return nil, false } -// AsRelationalSource is the BasicCopySource implementation for AzureDataExplorerSource. -func (ades AzureDataExplorerSource) AsRelationalSource() (*RelationalSource, bool) { - return nil, false -} - -// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for AzureDataExplorerSource. -func (ades AzureDataExplorerSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { - return nil, false -} - -// AsDynamicsCrmSource is the BasicCopySource implementation for AzureDataExplorerSource. -func (ades AzureDataExplorerSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { +// AsAzureTableSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsAzureTableSource() (*AzureTableSource, bool) { return nil, false } -// AsDynamicsSource is the BasicCopySource implementation for AzureDataExplorerSource. -func (ades AzureDataExplorerSource) AsDynamicsSource() (*DynamicsSource, bool) { +// AsTabularSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsTabularSource() (*TabularSource, bool) { return nil, false } -// AsDocumentDbCollectionSource is the BasicCopySource implementation for AzureDataExplorerSource. -func (ades AzureDataExplorerSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { +// AsBasicTabularSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsBasicTabularSource() (BasicTabularSource, bool) { return nil, false } -// AsBlobSource is the BasicCopySource implementation for AzureDataExplorerSource. -func (ades AzureDataExplorerSource) AsBlobSource() (*BlobSource, bool) { +// AsBinarySource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsBinarySource() (*BinarySource, bool) { return nil, false } -// AsAzureTableSource is the BasicCopySource implementation for AzureDataExplorerSource. -func (ades AzureDataExplorerSource) AsAzureTableSource() (*AzureTableSource, bool) { +// AsOrcSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsOrcSource() (*OrcSource, bool) { return nil, false } -// AsBinarySource is the BasicCopySource implementation for AzureDataExplorerSource. -func (ades AzureDataExplorerSource) AsBinarySource() (*BinarySource, bool) { +// AsJSONSource is the BasicCopySource implementation for AzureDataExplorerSource. +func (ades AzureDataExplorerSource) AsJSONSource() (*JSONSource, bool) { return nil, false } @@ -17456,7 +18890,7 @@ type AzureDataExplorerTableDataset struct { Annotations *[]interface{} `json:"annotations,omitempty"` // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. Folder *DatasetFolder `json:"folder,omitempty"` - // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' + // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' Type TypeBasicDataset `json:"type,omitempty"` } @@ -17772,6 +19206,16 @@ func (adetd AzureDataExplorerTableDataset) AsRelationalTableDataset() (*Relation return nil, false } +// AsDb2TableDataset is the BasicDataset implementation for AzureDataExplorerTableDataset. +func (adetd AzureDataExplorerTableDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for AzureDataExplorerTableDataset. +func (adetd AzureDataExplorerTableDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + // AsAzureMySQLTableDataset is the BasicDataset implementation for AzureDataExplorerTableDataset. func (adetd AzureDataExplorerTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { return nil, false @@ -17847,6 +19291,11 @@ func (adetd AzureDataExplorerTableDataset) AsDocumentDbCollectionDataset() (*Doc return nil, false } +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for AzureDataExplorerTableDataset. +func (adetd AzureDataExplorerTableDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + // AsCustomDataset is the BasicDataset implementation for AzureDataExplorerTableDataset. func (adetd AzureDataExplorerTableDataset) AsCustomDataset() (*CustomDataset, bool) { return nil, false @@ -17887,6 +19336,16 @@ func (adetd AzureDataExplorerTableDataset) AsBinaryDataset() (*BinaryDataset, bo return nil, false } +// AsOrcDataset is the BasicDataset implementation for AzureDataExplorerTableDataset. +func (adetd AzureDataExplorerTableDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for AzureDataExplorerTableDataset. +func (adetd AzureDataExplorerTableDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + // AsDelimitedTextDataset is the BasicDataset implementation for AzureDataExplorerTableDataset. func (adetd AzureDataExplorerTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { return nil, false @@ -18039,7 +19498,7 @@ type AzureDataLakeAnalyticsLinkedService struct { Parameters map[string]*ParameterSpecification `json:"parameters"` // Annotations - List of tags that can be used for describing the linked service. Annotations *[]interface{} `json:"annotations,omitempty"` - // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' + // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' Type TypeBasicLinkedService `json:"type,omitempty"` } @@ -18411,6 +19870,11 @@ func (adlals AzureDataLakeAnalyticsLinkedService) AsOdbcLinkedService() (*OdbcLi return nil, false } +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService. +func (adlals AzureDataLakeAnalyticsLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + // AsAzureMLLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService. func (adlals AzureDataLakeAnalyticsLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { return nil, false @@ -18451,6 +19915,16 @@ func (adlals AzureDataLakeAnalyticsLinkedService) AsOracleLinkedService() (*Orac return nil, false } +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService. +func (adlals AzureDataLakeAnalyticsLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService. +func (adlals AzureDataLakeAnalyticsLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + // AsFileServerLinkedService is the BasicLinkedService implementation for AzureDataLakeAnalyticsLinkedService. func (adlals AzureDataLakeAnalyticsLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { return nil, false @@ -18743,7 +20217,7 @@ type AzureDataLakeStoreDataset struct { Annotations *[]interface{} `json:"annotations,omitempty"` // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. Folder *DatasetFolder `json:"folder,omitempty"` - // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' + // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' Type TypeBasicDataset `json:"type,omitempty"` } @@ -19059,6 +20533,16 @@ func (adlsd AzureDataLakeStoreDataset) AsRelationalTableDataset() (*RelationalTa return nil, false } +// AsDb2TableDataset is the BasicDataset implementation for AzureDataLakeStoreDataset. +func (adlsd AzureDataLakeStoreDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for AzureDataLakeStoreDataset. +func (adlsd AzureDataLakeStoreDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + // AsAzureMySQLTableDataset is the BasicDataset implementation for AzureDataLakeStoreDataset. func (adlsd AzureDataLakeStoreDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { return nil, false @@ -19134,6 +20618,11 @@ func (adlsd AzureDataLakeStoreDataset) AsDocumentDbCollectionDataset() (*Documen return nil, false } +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for AzureDataLakeStoreDataset. +func (adlsd AzureDataLakeStoreDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + // AsCustomDataset is the BasicDataset implementation for AzureDataLakeStoreDataset. func (adlsd AzureDataLakeStoreDataset) AsCustomDataset() (*CustomDataset, bool) { return nil, false @@ -19174,6 +20663,16 @@ func (adlsd AzureDataLakeStoreDataset) AsBinaryDataset() (*BinaryDataset, bool) return nil, false } +// AsOrcDataset is the BasicDataset implementation for AzureDataLakeStoreDataset. +func (adlsd AzureDataLakeStoreDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for AzureDataLakeStoreDataset. +func (adlsd AzureDataLakeStoreDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + // AsDelimitedTextDataset is the BasicDataset implementation for AzureDataLakeStoreDataset. func (adlsd AzureDataLakeStoreDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { return nil, false @@ -19387,7 +20886,7 @@ type AzureDataLakeStoreLinkedService struct { Parameters map[string]*ParameterSpecification `json:"parameters"` // Annotations - List of tags that can be used for describing the linked service. Annotations *[]interface{} `json:"annotations,omitempty"` - // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' + // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' Type TypeBasicLinkedService `json:"type,omitempty"` } @@ -19759,6 +21258,11 @@ func (adlsls AzureDataLakeStoreLinkedService) AsOdbcLinkedService() (*OdbcLinked return nil, false } +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService. +func (adlsls AzureDataLakeStoreLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + // AsAzureMLLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService. func (adlsls AzureDataLakeStoreLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { return nil, false @@ -19799,6 +21303,16 @@ func (adlsls AzureDataLakeStoreLinkedService) AsOracleLinkedService() (*OracleLi return nil, false } +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService. +func (adlsls AzureDataLakeStoreLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService. +func (adlsls AzureDataLakeStoreLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + // AsFileServerLinkedService is the BasicLinkedService implementation for AzureDataLakeStoreLinkedService. func (adlsls AzureDataLakeStoreLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { return nil, false @@ -20327,7 +21841,7 @@ type AzureDataLakeStoreSink struct { SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"` // MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAvroSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzurePostgreSQLSink', 'TypeDelimitedTextSink' + // Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeCosmosDbSQLAPISink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAvroSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzureMySQLSink', 'TypeAzurePostgreSQLSink', 'TypeOrcSink', 'TypeJSONSink', 'TypeDelimitedTextSink' Type TypeBasicCopySink `json:"type,omitempty"` } @@ -20460,6 +21974,11 @@ func (adlss AzureDataLakeStoreSink) AsSQLSink() (*SQLSink, bool) { return nil, false } +// AsCosmosDbSQLAPISink is the BasicCopySink implementation for AzureDataLakeStoreSink. +func (adlss AzureDataLakeStoreSink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) { + return nil, false +} + // AsDocumentDbCollectionSink is the BasicCopySink implementation for AzureDataLakeStoreSink. func (adlss AzureDataLakeStoreSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) { return nil, false @@ -20505,11 +22024,26 @@ func (adlss AzureDataLakeStoreSink) AsSapCloudForCustomerSink() (*SapCloudForCus return nil, false } +// AsAzureMySQLSink is the BasicCopySink implementation for AzureDataLakeStoreSink. +func (adlss AzureDataLakeStoreSink) AsAzureMySQLSink() (*AzureMySQLSink, bool) { + return nil, false +} + // AsAzurePostgreSQLSink is the BasicCopySink implementation for AzureDataLakeStoreSink. func (adlss AzureDataLakeStoreSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) { return nil, false } +// AsOrcSink is the BasicCopySink implementation for AzureDataLakeStoreSink. +func (adlss AzureDataLakeStoreSink) AsOrcSink() (*OrcSink, bool) { + return nil, false +} + +// AsJSONSink is the BasicCopySink implementation for AzureDataLakeStoreSink. +func (adlss AzureDataLakeStoreSink) AsJSONSink() (*JSONSink, bool) { + return nil, false +} + // AsDelimitedTextSink is the BasicCopySink implementation for AzureDataLakeStoreSink. func (adlss AzureDataLakeStoreSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) { return nil, false @@ -20636,7 +22170,7 @@ type AzureDataLakeStoreSource struct { SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' + // Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' Type TypeBasicCopySource `json:"type,omitempty"` } @@ -20665,6 +22199,121 @@ func (adlss AzureDataLakeStoreSource) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } +// AsHTTPSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return &adlss, true +} + +// AsOffice365Source is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + // AsAmazonRedshiftSource is the BasicCopySource implementation for AzureDataLakeStoreSource. func (adlss AzureDataLakeStoreSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { return nil, false @@ -20840,81 +22489,21 @@ func (adlss AzureDataLakeStoreSource) AsAmazonMWSSource() (*AmazonMWSSource, boo return nil, false } -// AsHTTPSource is the BasicCopySource implementation for AzureDataLakeStoreSource. -func (adlss AzureDataLakeStoreSource) AsHTTPSource() (*HTTPSource, bool) { - return nil, false -} - -// AsAzureBlobFSSource is the BasicCopySource implementation for AzureDataLakeStoreSource. -func (adlss AzureDataLakeStoreSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { - return nil, false -} - -// AsAzureDataLakeStoreSource is the BasicCopySource implementation for AzureDataLakeStoreSource. -func (adlss AzureDataLakeStoreSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { - return &adlss, true -} - -// AsOffice365Source is the BasicCopySource implementation for AzureDataLakeStoreSource. -func (adlss AzureDataLakeStoreSource) AsOffice365Source() (*Office365Source, bool) { - return nil, false -} - -// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for AzureDataLakeStoreSource. -func (adlss AzureDataLakeStoreSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { - return nil, false -} - -// AsMongoDbV2Source is the BasicCopySource implementation for AzureDataLakeStoreSource. -func (adlss AzureDataLakeStoreSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { - return nil, false -} - -// AsMongoDbSource is the BasicCopySource implementation for AzureDataLakeStoreSource. -func (adlss AzureDataLakeStoreSource) AsMongoDbSource() (*MongoDbSource, bool) { - return nil, false -} - // AsCassandraSource is the BasicCopySource implementation for AzureDataLakeStoreSource. func (adlss AzureDataLakeStoreSource) AsCassandraSource() (*CassandraSource, bool) { return nil, false } -// AsWebSource is the BasicCopySource implementation for AzureDataLakeStoreSource. -func (adlss AzureDataLakeStoreSource) AsWebSource() (*WebSource, bool) { - return nil, false -} - // AsTeradataSource is the BasicCopySource implementation for AzureDataLakeStoreSource. func (adlss AzureDataLakeStoreSource) AsTeradataSource() (*TeradataSource, bool) { return nil, false } -// AsOracleSource is the BasicCopySource implementation for AzureDataLakeStoreSource. -func (adlss AzureDataLakeStoreSource) AsOracleSource() (*OracleSource, bool) { - return nil, false -} - -// AsAzureDataExplorerSource is the BasicCopySource implementation for AzureDataLakeStoreSource. -func (adlss AzureDataLakeStoreSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { - return nil, false -} - // AsAzureMySQLSource is the BasicCopySource implementation for AzureDataLakeStoreSource. func (adlss AzureDataLakeStoreSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { return nil, false } -// AsHdfsSource is the BasicCopySource implementation for AzureDataLakeStoreSource. -func (adlss AzureDataLakeStoreSource) AsHdfsSource() (*HdfsSource, bool) { - return nil, false -} - -// AsFileSystemSource is the BasicCopySource implementation for AzureDataLakeStoreSource. -func (adlss AzureDataLakeStoreSource) AsFileSystemSource() (*FileSystemSource, bool) { - return nil, false -} - // AsSQLDWSource is the BasicCopySource implementation for AzureDataLakeStoreSource. func (adlss AzureDataLakeStoreSource) AsSQLDWSource() (*SQLDWSource, bool) { return nil, false @@ -20940,11 +22529,6 @@ func (adlss AzureDataLakeStoreSource) AsSQLSource() (*SQLSource, bool) { return nil, false } -// AsRestSource is the BasicCopySource implementation for AzureDataLakeStoreSource. -func (adlss AzureDataLakeStoreSource) AsRestSource() (*RestSource, bool) { - return nil, false -} - // AsSapTableSource is the BasicCopySource implementation for AzureDataLakeStoreSource. func (adlss AzureDataLakeStoreSource) AsSapTableSource() (*SapTableSource, bool) { return nil, false @@ -20970,21 +22554,11 @@ func (adlss AzureDataLakeStoreSource) AsSapCloudForCustomerSource() (*SapCloudFo return nil, false } -// AsSalesforceServiceCloudSource is the BasicCopySource implementation for AzureDataLakeStoreSource. -func (adlss AzureDataLakeStoreSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { - return nil, false -} - // AsSalesforceSource is the BasicCopySource implementation for AzureDataLakeStoreSource. func (adlss AzureDataLakeStoreSource) AsSalesforceSource() (*SalesforceSource, bool) { return nil, false } -// AsODataSource is the BasicCopySource implementation for AzureDataLakeStoreSource. -func (adlss AzureDataLakeStoreSource) AsODataSource() (*ODataSource, bool) { - return nil, false -} - // AsSapBwSource is the BasicCopySource implementation for AzureDataLakeStoreSource. func (adlss AzureDataLakeStoreSource) AsSapBwSource() (*SapBwSource, bool) { return nil, false @@ -21015,53 +22589,38 @@ func (adlss AzureDataLakeStoreSource) AsDb2Source() (*Db2Source, bool) { return nil, false } -// AsMicrosoftAccessSource is the BasicCopySource implementation for AzureDataLakeStoreSource. -func (adlss AzureDataLakeStoreSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { - return nil, false -} - // AsInformixSource is the BasicCopySource implementation for AzureDataLakeStoreSource. func (adlss AzureDataLakeStoreSource) AsInformixSource() (*InformixSource, bool) { return nil, false } -// AsRelationalSource is the BasicCopySource implementation for AzureDataLakeStoreSource. -func (adlss AzureDataLakeStoreSource) AsRelationalSource() (*RelationalSource, bool) { - return nil, false -} - -// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for AzureDataLakeStoreSource. -func (adlss AzureDataLakeStoreSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { - return nil, false -} - -// AsDynamicsCrmSource is the BasicCopySource implementation for AzureDataLakeStoreSource. -func (adlss AzureDataLakeStoreSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { +// AsAzureTableSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsAzureTableSource() (*AzureTableSource, bool) { return nil, false } -// AsDynamicsSource is the BasicCopySource implementation for AzureDataLakeStoreSource. -func (adlss AzureDataLakeStoreSource) AsDynamicsSource() (*DynamicsSource, bool) { +// AsTabularSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsTabularSource() (*TabularSource, bool) { return nil, false } -// AsDocumentDbCollectionSource is the BasicCopySource implementation for AzureDataLakeStoreSource. -func (adlss AzureDataLakeStoreSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { +// AsBasicTabularSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsBasicTabularSource() (BasicTabularSource, bool) { return nil, false } -// AsBlobSource is the BasicCopySource implementation for AzureDataLakeStoreSource. -func (adlss AzureDataLakeStoreSource) AsBlobSource() (*BlobSource, bool) { +// AsBinarySource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsBinarySource() (*BinarySource, bool) { return nil, false } -// AsAzureTableSource is the BasicCopySource implementation for AzureDataLakeStoreSource. -func (adlss AzureDataLakeStoreSource) AsAzureTableSource() (*AzureTableSource, bool) { +// AsOrcSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsOrcSource() (*OrcSource, bool) { return nil, false } -// AsBinarySource is the BasicCopySource implementation for AzureDataLakeStoreSource. -func (adlss AzureDataLakeStoreSource) AsBinarySource() (*BinarySource, bool) { +// AsJSONSource is the BasicCopySource implementation for AzureDataLakeStoreSource. +func (adlss AzureDataLakeStoreSource) AsJSONSource() (*JSONSource, bool) { return nil, false } @@ -21166,32 +22725,63 @@ func (adlss *AzureDataLakeStoreSource) UnmarshalJSON(body []byte) error { type AzureDataLakeStoreWriteSettings struct { // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` - // Type - The write setting type. - Type *string `json:"type,omitempty"` // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` // CopyBehavior - The type of copy behavior for copy sink. CopyBehavior interface{} `json:"copyBehavior,omitempty"` + // Type - Possible values include: 'TypeStoreWriteSettings', 'TypeFileServerWriteSettings', 'TypeAzureDataLakeStoreWriteSettings', 'TypeAzureBlobFSWriteSettings', 'TypeAzureBlobStorageWriteSettings' + Type TypeBasicStoreWriteSettings `json:"type,omitempty"` } // MarshalJSON is the custom marshaler for AzureDataLakeStoreWriteSettings. func (adlsws AzureDataLakeStoreWriteSettings) MarshalJSON() ([]byte, error) { + adlsws.Type = TypeAzureDataLakeStoreWriteSettings objectMap := make(map[string]interface{}) - if adlsws.Type != nil { - objectMap["type"] = adlsws.Type - } if adlsws.MaxConcurrentConnections != nil { objectMap["maxConcurrentConnections"] = adlsws.MaxConcurrentConnections } if adlsws.CopyBehavior != nil { objectMap["copyBehavior"] = adlsws.CopyBehavior } + if adlsws.Type != "" { + objectMap["type"] = adlsws.Type + } for k, v := range adlsws.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } +// AsFileServerWriteSettings is the BasicStoreWriteSettings implementation for AzureDataLakeStoreWriteSettings. +func (adlsws AzureDataLakeStoreWriteSettings) AsFileServerWriteSettings() (*FileServerWriteSettings, bool) { + return nil, false +} + +// AsAzureDataLakeStoreWriteSettings is the BasicStoreWriteSettings implementation for AzureDataLakeStoreWriteSettings. +func (adlsws AzureDataLakeStoreWriteSettings) AsAzureDataLakeStoreWriteSettings() (*AzureDataLakeStoreWriteSettings, bool) { + return &adlsws, true +} + +// AsAzureBlobFSWriteSettings is the BasicStoreWriteSettings implementation for AzureDataLakeStoreWriteSettings. +func (adlsws AzureDataLakeStoreWriteSettings) AsAzureBlobFSWriteSettings() (*AzureBlobFSWriteSettings, bool) { + return nil, false +} + +// AsAzureBlobStorageWriteSettings is the BasicStoreWriteSettings implementation for AzureDataLakeStoreWriteSettings. +func (adlsws AzureDataLakeStoreWriteSettings) AsAzureBlobStorageWriteSettings() (*AzureBlobStorageWriteSettings, bool) { + return nil, false +} + +// AsStoreWriteSettings is the BasicStoreWriteSettings implementation for AzureDataLakeStoreWriteSettings. +func (adlsws AzureDataLakeStoreWriteSettings) AsStoreWriteSettings() (*StoreWriteSettings, bool) { + return nil, false +} + +// AsBasicStoreWriteSettings is the BasicStoreWriteSettings implementation for AzureDataLakeStoreWriteSettings. +func (adlsws AzureDataLakeStoreWriteSettings) AsBasicStoreWriteSettings() (BasicStoreWriteSettings, bool) { + return &adlsws, true +} + // UnmarshalJSON is the custom unmarshaler for AzureDataLakeStoreWriteSettings struct. func (adlsws *AzureDataLakeStoreWriteSettings) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage @@ -21213,15 +22803,6 @@ func (adlsws *AzureDataLakeStoreWriteSettings) UnmarshalJSON(body []byte) error } adlsws.AdditionalProperties[k] = additionalProperties } - case "type": - if v != nil { - var typeVar string - err = json.Unmarshal(*v, &typeVar) - if err != nil { - return err - } - adlsws.Type = &typeVar - } case "maxConcurrentConnections": if v != nil { var maxConcurrentConnections interface{} @@ -21240,6 +22821,922 @@ func (adlsws *AzureDataLakeStoreWriteSettings) UnmarshalJSON(body []byte) error } adlsws.CopyBehavior = copyBehavior } + case "type": + if v != nil { + var typeVar TypeBasicStoreWriteSettings + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + adlsws.Type = typeVar + } + } + } + + return nil +} + +// AzureFileStorageLinkedService azure File Storage linked service. +type AzureFileStorageLinkedService struct { + // AzureFileStorageLinkedServiceTypeProperties - Azure File Storage linked service properties. + *AzureFileStorageLinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) MarshalJSON() ([]byte, error) { + afsls.Type = TypeAzureFileStorage + objectMap := make(map[string]interface{}) + if afsls.AzureFileStorageLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = afsls.AzureFileStorageLinkedServiceTypeProperties + } + if afsls.ConnectVia != nil { + objectMap["connectVia"] = afsls.ConnectVia + } + if afsls.Description != nil { + objectMap["description"] = afsls.Description + } + if afsls.Parameters != nil { + objectMap["parameters"] = afsls.Parameters + } + if afsls.Annotations != nil { + objectMap["annotations"] = afsls.Annotations + } + if afsls.Type != "" { + objectMap["type"] = afsls.Type + } + for k, v := range afsls.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { + return nil, false +} + +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return nil, false +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return nil, false +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return nil, false +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return nil, false +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return nil, false +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return nil, false +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return nil, false +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return nil, false +} + +// AsZohoLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { + return nil, false +} + +// AsXeroLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { + return nil, false +} + +// AsSquareLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { + return nil, false +} + +// AsSparkLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { + return nil, false +} + +// AsShopifyLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { + return nil, false +} + +// AsServiceNowLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { + return nil, false +} + +// AsQuickBooksLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { + return nil, false +} + +// AsPrestoLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return nil, false +} + +// AsPhoenixLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return nil, false +} + +// AsPaypalLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return nil, false +} + +// AsMarketoLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return nil, false +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { + return nil, false +} + +// AsMariaDBLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { + return nil, false +} + +// AsMagentoLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return nil, false +} + +// AsJiraLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return nil, false +} + +// AsImpalaLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { + return nil, false +} + +// AsHubspotLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false +} + +// AsHiveLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return nil, false +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return nil, false +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return nil, false +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return nil, false +} + +// AsDrillLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return nil, false +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return nil, false +} + +// AsConcurLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return nil, false +} + +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return nil, false +} + +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false +} + +// AsSapHanaLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return nil, false +} + +// AsSapBWLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return nil, false +} + +// AsSftpServerLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return nil, false +} + +// AsFtpServerLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return nil, false +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return nil, false +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false +} + +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false +} + +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return &afsls, true +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for AzureFileStorageLinkedService. +func (afsls AzureFileStorageLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &afsls, true +} + +// UnmarshalJSON is the custom unmarshaler for AzureFileStorageLinkedService struct. +func (afsls *AzureFileStorageLinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var azureFileStorageLinkedServiceTypeProperties AzureFileStorageLinkedServiceTypeProperties + err = json.Unmarshal(*v, &azureFileStorageLinkedServiceTypeProperties) + if err != nil { + return err + } + afsls.AzureFileStorageLinkedServiceTypeProperties = &azureFileStorageLinkedServiceTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if afsls.AdditionalProperties == nil { + afsls.AdditionalProperties = make(map[string]interface{}) + } + afsls.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + afsls.ConnectVia = &connectVia + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + afsls.Description = &description + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + afsls.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + afsls.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + afsls.Type = typeVar + } + } + } + + return nil +} + +// AzureFileStorageLinkedServiceTypeProperties azure File Storage linked service properties. +type AzureFileStorageLinkedServiceTypeProperties struct { + // Host - Host name of the server. Type: string (or Expression with resultType string). + Host interface{} `json:"host,omitempty"` + // UserID - User ID to logon the server. Type: string (or Expression with resultType string). + UserID interface{} `json:"userId,omitempty"` + // Password - Password to logon the server. + Password BasicSecretBase `json:"password,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for AzureFileStorageLinkedServiceTypeProperties struct. +func (afslstp *AzureFileStorageLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "host": + if v != nil { + var host interface{} + err = json.Unmarshal(*v, &host) + if err != nil { + return err + } + afslstp.Host = host + } + case "userId": + if v != nil { + var userID interface{} + err = json.Unmarshal(*v, &userID) + if err != nil { + return err + } + afslstp.UserID = userID + } + case "password": + if v != nil { + password, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + afslstp.Password = password + } + case "encryptedCredential": + if v != nil { + var encryptedCredential interface{} + err = json.Unmarshal(*v, &encryptedCredential) + if err != nil { + return err + } + afslstp.EncryptedCredential = encryptedCredential + } + } + } + + return nil +} + +// AzureFileStorageLocation the location of file server dataset. +type AzureFileStorageLocation struct { + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Type - Type of dataset storage location. + Type *string `json:"type,omitempty"` + // FolderPath - Specify the folder path of dataset. Type: string (or Expression with resultType string) + FolderPath interface{} `json:"folderPath,omitempty"` + // FileName - Specify the file name of dataset. Type: string (or Expression with resultType string). + FileName interface{} `json:"fileName,omitempty"` +} + +// MarshalJSON is the custom marshaler for AzureFileStorageLocation. +func (afsl AzureFileStorageLocation) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if afsl.Type != nil { + objectMap["type"] = afsl.Type + } + if afsl.FolderPath != nil { + objectMap["folderPath"] = afsl.FolderPath + } + if afsl.FileName != nil { + objectMap["fileName"] = afsl.FileName + } + for k, v := range afsl.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for AzureFileStorageLocation struct. +func (afsl *AzureFileStorageLocation) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if afsl.AdditionalProperties == nil { + afsl.AdditionalProperties = make(map[string]interface{}) + } + afsl.AdditionalProperties[k] = additionalProperties + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + afsl.Type = &typeVar + } + case "folderPath": + if v != nil { + var folderPath interface{} + err = json.Unmarshal(*v, &folderPath) + if err != nil { + return err + } + afsl.FolderPath = folderPath + } + case "fileName": + if v != nil { + var fileName interface{} + err = json.Unmarshal(*v, &fileName) + if err != nil { + return err + } + afsl.FileName = fileName + } + } + } + + return nil +} + +// AzureFileStorageReadSettings azure File Storage read settings. +type AzureFileStorageReadSettings struct { + // Recursive - If true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean). + Recursive interface{} `json:"recursive,omitempty"` + // WildcardFolderPath - Azure File Storage wildcardFolderPath. Type: string (or Expression with resultType string). + WildcardFolderPath interface{} `json:"wildcardFolderPath,omitempty"` + // WildcardFileName - Azure File Storage wildcardFileName. Type: string (or Expression with resultType string). + WildcardFileName interface{} `json:"wildcardFileName,omitempty"` + // EnablePartitionDiscovery - Indicates whether to enable partition discovery. + EnablePartitionDiscovery *bool `json:"enablePartitionDiscovery,omitempty"` + // ModifiedDatetimeStart - The start of file's modified datetime. Type: string (or Expression with resultType string). + ModifiedDatetimeStart interface{} `json:"modifiedDatetimeStart,omitempty"` + // ModifiedDatetimeEnd - The end of file's modified datetime. Type: string (or Expression with resultType string). + ModifiedDatetimeEnd interface{} `json:"modifiedDatetimeEnd,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Type - The read setting type. + Type *string `json:"type,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` +} + +// MarshalJSON is the custom marshaler for AzureFileStorageReadSettings. +func (afsrs AzureFileStorageReadSettings) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if afsrs.Recursive != nil { + objectMap["recursive"] = afsrs.Recursive + } + if afsrs.WildcardFolderPath != nil { + objectMap["wildcardFolderPath"] = afsrs.WildcardFolderPath + } + if afsrs.WildcardFileName != nil { + objectMap["wildcardFileName"] = afsrs.WildcardFileName + } + if afsrs.EnablePartitionDiscovery != nil { + objectMap["enablePartitionDiscovery"] = afsrs.EnablePartitionDiscovery + } + if afsrs.ModifiedDatetimeStart != nil { + objectMap["modifiedDatetimeStart"] = afsrs.ModifiedDatetimeStart + } + if afsrs.ModifiedDatetimeEnd != nil { + objectMap["modifiedDatetimeEnd"] = afsrs.ModifiedDatetimeEnd + } + if afsrs.Type != nil { + objectMap["type"] = afsrs.Type + } + if afsrs.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = afsrs.MaxConcurrentConnections + } + for k, v := range afsrs.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for AzureFileStorageReadSettings struct. +func (afsrs *AzureFileStorageReadSettings) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "recursive": + if v != nil { + var recursive interface{} + err = json.Unmarshal(*v, &recursive) + if err != nil { + return err + } + afsrs.Recursive = recursive + } + case "wildcardFolderPath": + if v != nil { + var wildcardFolderPath interface{} + err = json.Unmarshal(*v, &wildcardFolderPath) + if err != nil { + return err + } + afsrs.WildcardFolderPath = wildcardFolderPath + } + case "wildcardFileName": + if v != nil { + var wildcardFileName interface{} + err = json.Unmarshal(*v, &wildcardFileName) + if err != nil { + return err + } + afsrs.WildcardFileName = wildcardFileName + } + case "enablePartitionDiscovery": + if v != nil { + var enablePartitionDiscovery bool + err = json.Unmarshal(*v, &enablePartitionDiscovery) + if err != nil { + return err + } + afsrs.EnablePartitionDiscovery = &enablePartitionDiscovery + } + case "modifiedDatetimeStart": + if v != nil { + var modifiedDatetimeStart interface{} + err = json.Unmarshal(*v, &modifiedDatetimeStart) + if err != nil { + return err + } + afsrs.ModifiedDatetimeStart = modifiedDatetimeStart + } + case "modifiedDatetimeEnd": + if v != nil { + var modifiedDatetimeEnd interface{} + err = json.Unmarshal(*v, &modifiedDatetimeEnd) + if err != nil { + return err + } + afsrs.ModifiedDatetimeEnd = modifiedDatetimeEnd + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if afsrs.AdditionalProperties == nil { + afsrs.AdditionalProperties = make(map[string]interface{}) + } + afsrs.AdditionalProperties[k] = additionalProperties + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + afsrs.Type = &typeVar + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + afsrs.MaxConcurrentConnections = maxConcurrentConnections + } } } @@ -21264,7 +23761,7 @@ type AzureFunctionActivity struct { DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"` // UserProperties - Activity user properties. UserProperties *[]UserProperty `json:"userProperties,omitempty"` - // Type - Possible values include: 'TypeActivity', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer' + // Type - Possible values include: 'TypeActivity', 'TypeExecuteDataFlow', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLExecutePipeline', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeSwitch', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer' Type TypeBasicActivity `json:"type,omitempty"` } @@ -21302,6 +23799,11 @@ func (afa AzureFunctionActivity) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } +// AsExecuteDataFlowActivity is the BasicActivity implementation for AzureFunctionActivity. +func (afa AzureFunctionActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) { + return nil, false +} + // AsAzureFunctionActivity is the BasicActivity implementation for AzureFunctionActivity. func (afa AzureFunctionActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) { return &afa, true @@ -21327,6 +23829,11 @@ func (afa AzureFunctionActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAna return nil, false } +// AsAzureMLExecutePipelineActivity is the BasicActivity implementation for AzureFunctionActivity. +func (afa AzureFunctionActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) { + return nil, false +} + // AsAzureMLUpdateResourceActivity is the BasicActivity implementation for AzureFunctionActivity. func (afa AzureFunctionActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) { return nil, false @@ -21457,6 +23964,11 @@ func (afa AzureFunctionActivity) AsForEachActivity() (*ForEachActivity, bool) { return nil, false } +// AsSwitchActivity is the BasicActivity implementation for AzureFunctionActivity. +func (afa AzureFunctionActivity) AsSwitchActivity() (*SwitchActivity, bool) { + return nil, false +} + // AsIfConditionActivity is the BasicActivity implementation for AzureFunctionActivity. func (afa AzureFunctionActivity) AsIfConditionActivity() (*IfConditionActivity, bool) { return nil, false @@ -21612,7 +24124,7 @@ type AzureFunctionLinkedService struct { Parameters map[string]*ParameterSpecification `json:"parameters"` // Annotations - List of tags that can be used for describing the linked service. Annotations *[]interface{} `json:"annotations,omitempty"` - // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' + // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' Type TypeBasicLinkedService `json:"type,omitempty"` } @@ -21984,6 +24496,11 @@ func (afls AzureFunctionLinkedService) AsOdbcLinkedService() (*OdbcLinkedService return nil, false } +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService. +func (afls AzureFunctionLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + // AsAzureMLLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService. func (afls AzureFunctionLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { return nil, false @@ -22024,6 +24541,16 @@ func (afls AzureFunctionLinkedService) AsOracleLinkedService() (*OracleLinkedSer return nil, false } +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService. +func (afls AzureFunctionLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService. +func (afls AzureFunctionLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + // AsFileServerLinkedService is the BasicLinkedService implementation for AzureFunctionLinkedService. func (afls AzureFunctionLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { return nil, false @@ -22255,7 +24782,7 @@ type AzureKeyVaultLinkedService struct { Parameters map[string]*ParameterSpecification `json:"parameters"` // Annotations - List of tags that can be used for describing the linked service. Annotations *[]interface{} `json:"annotations,omitempty"` - // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' + // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' Type TypeBasicLinkedService `json:"type,omitempty"` } @@ -22627,6 +25154,11 @@ func (akvls AzureKeyVaultLinkedService) AsOdbcLinkedService() (*OdbcLinkedServic return nil, false } +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService. +func (akvls AzureKeyVaultLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + // AsAzureMLLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService. func (akvls AzureKeyVaultLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { return nil, false @@ -22667,6 +25199,16 @@ func (akvls AzureKeyVaultLinkedService) AsOracleLinkedService() (*OracleLinkedSe return nil, false } +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService. +func (akvls AzureKeyVaultLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService. +func (akvls AzureKeyVaultLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + // AsFileServerLinkedService is the BasicLinkedService implementation for AzureKeyVaultLinkedService. func (akvls AzureKeyVaultLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { return nil, false @@ -22904,7 +25446,7 @@ type AzureMariaDBLinkedService struct { Parameters map[string]*ParameterSpecification `json:"parameters"` // Annotations - List of tags that can be used for describing the linked service. Annotations *[]interface{} `json:"annotations,omitempty"` - // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' + // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' Type TypeBasicLinkedService `json:"type,omitempty"` } @@ -23276,6 +25818,11 @@ func (amdls AzureMariaDBLinkedService) AsOdbcLinkedService() (*OdbcLinkedService return nil, false } +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService. +func (amdls AzureMariaDBLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + // AsAzureMLLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService. func (amdls AzureMariaDBLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { return nil, false @@ -23316,6 +25863,16 @@ func (amdls AzureMariaDBLinkedService) AsOracleLinkedService() (*OracleLinkedSer return nil, false } +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService. +func (amdls AzureMariaDBLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService. +func (amdls AzureMariaDBLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + // AsFileServerLinkedService is the BasicLinkedService implementation for AzureMariaDBLinkedService. func (amdls AzureMariaDBLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { return nil, false @@ -23496,6 +26053,8 @@ type AzureMariaDBLinkedServiceTypeProperties struct { type AzureMariaDBSource struct { // Query - A query to retrieve data from source. Type: string (or Expression with resultType string). Query interface{} `json:"query,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). @@ -23504,7 +26063,7 @@ type AzureMariaDBSource struct { SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' + // Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' Type TypeBasicCopySource `json:"type,omitempty"` } @@ -23515,6 +26074,9 @@ func (amds AzureMariaDBSource) MarshalJSON() ([]byte, error) { if amds.Query != nil { objectMap["query"] = amds.Query } + if amds.QueryTimeout != nil { + objectMap["queryTimeout"] = amds.QueryTimeout + } if amds.SourceRetryCount != nil { objectMap["sourceRetryCount"] = amds.SourceRetryCount } @@ -23533,6 +26095,121 @@ func (amds AzureMariaDBSource) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } +// AsHTTPSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + // AsAmazonRedshiftSource is the BasicCopySource implementation for AzureMariaDBSource. func (amds AzureMariaDBSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { return nil, false @@ -23708,81 +26385,21 @@ func (amds AzureMariaDBSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { return nil, false } -// AsHTTPSource is the BasicCopySource implementation for AzureMariaDBSource. -func (amds AzureMariaDBSource) AsHTTPSource() (*HTTPSource, bool) { - return nil, false -} - -// AsAzureBlobFSSource is the BasicCopySource implementation for AzureMariaDBSource. -func (amds AzureMariaDBSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { - return nil, false -} - -// AsAzureDataLakeStoreSource is the BasicCopySource implementation for AzureMariaDBSource. -func (amds AzureMariaDBSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { - return nil, false -} - -// AsOffice365Source is the BasicCopySource implementation for AzureMariaDBSource. -func (amds AzureMariaDBSource) AsOffice365Source() (*Office365Source, bool) { - return nil, false -} - -// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for AzureMariaDBSource. -func (amds AzureMariaDBSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { - return nil, false -} - -// AsMongoDbV2Source is the BasicCopySource implementation for AzureMariaDBSource. -func (amds AzureMariaDBSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { - return nil, false -} - -// AsMongoDbSource is the BasicCopySource implementation for AzureMariaDBSource. -func (amds AzureMariaDBSource) AsMongoDbSource() (*MongoDbSource, bool) { - return nil, false -} - // AsCassandraSource is the BasicCopySource implementation for AzureMariaDBSource. func (amds AzureMariaDBSource) AsCassandraSource() (*CassandraSource, bool) { return nil, false } -// AsWebSource is the BasicCopySource implementation for AzureMariaDBSource. -func (amds AzureMariaDBSource) AsWebSource() (*WebSource, bool) { - return nil, false -} - // AsTeradataSource is the BasicCopySource implementation for AzureMariaDBSource. func (amds AzureMariaDBSource) AsTeradataSource() (*TeradataSource, bool) { return nil, false } -// AsOracleSource is the BasicCopySource implementation for AzureMariaDBSource. -func (amds AzureMariaDBSource) AsOracleSource() (*OracleSource, bool) { - return nil, false -} - -// AsAzureDataExplorerSource is the BasicCopySource implementation for AzureMariaDBSource. -func (amds AzureMariaDBSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { - return nil, false -} - // AsAzureMySQLSource is the BasicCopySource implementation for AzureMariaDBSource. func (amds AzureMariaDBSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { return nil, false } -// AsHdfsSource is the BasicCopySource implementation for AzureMariaDBSource. -func (amds AzureMariaDBSource) AsHdfsSource() (*HdfsSource, bool) { - return nil, false -} - -// AsFileSystemSource is the BasicCopySource implementation for AzureMariaDBSource. -func (amds AzureMariaDBSource) AsFileSystemSource() (*FileSystemSource, bool) { - return nil, false -} - // AsSQLDWSource is the BasicCopySource implementation for AzureMariaDBSource. func (amds AzureMariaDBSource) AsSQLDWSource() (*SQLDWSource, bool) { return nil, false @@ -23808,11 +26425,6 @@ func (amds AzureMariaDBSource) AsSQLSource() (*SQLSource, bool) { return nil, false } -// AsRestSource is the BasicCopySource implementation for AzureMariaDBSource. -func (amds AzureMariaDBSource) AsRestSource() (*RestSource, bool) { - return nil, false -} - // AsSapTableSource is the BasicCopySource implementation for AzureMariaDBSource. func (amds AzureMariaDBSource) AsSapTableSource() (*SapTableSource, bool) { return nil, false @@ -23838,21 +26450,11 @@ func (amds AzureMariaDBSource) AsSapCloudForCustomerSource() (*SapCloudForCustom return nil, false } -// AsSalesforceServiceCloudSource is the BasicCopySource implementation for AzureMariaDBSource. -func (amds AzureMariaDBSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { - return nil, false -} - // AsSalesforceSource is the BasicCopySource implementation for AzureMariaDBSource. func (amds AzureMariaDBSource) AsSalesforceSource() (*SalesforceSource, bool) { return nil, false } -// AsODataSource is the BasicCopySource implementation for AzureMariaDBSource. -func (amds AzureMariaDBSource) AsODataSource() (*ODataSource, bool) { - return nil, false -} - // AsSapBwSource is the BasicCopySource implementation for AzureMariaDBSource. func (amds AzureMariaDBSource) AsSapBwSource() (*SapBwSource, bool) { return nil, false @@ -23883,53 +26485,38 @@ func (amds AzureMariaDBSource) AsDb2Source() (*Db2Source, bool) { return nil, false } -// AsMicrosoftAccessSource is the BasicCopySource implementation for AzureMariaDBSource. -func (amds AzureMariaDBSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { - return nil, false -} - // AsInformixSource is the BasicCopySource implementation for AzureMariaDBSource. func (amds AzureMariaDBSource) AsInformixSource() (*InformixSource, bool) { return nil, false } -// AsRelationalSource is the BasicCopySource implementation for AzureMariaDBSource. -func (amds AzureMariaDBSource) AsRelationalSource() (*RelationalSource, bool) { - return nil, false -} - -// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for AzureMariaDBSource. -func (amds AzureMariaDBSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { - return nil, false -} - -// AsDynamicsCrmSource is the BasicCopySource implementation for AzureMariaDBSource. -func (amds AzureMariaDBSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { +// AsAzureTableSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsAzureTableSource() (*AzureTableSource, bool) { return nil, false } -// AsDynamicsSource is the BasicCopySource implementation for AzureMariaDBSource. -func (amds AzureMariaDBSource) AsDynamicsSource() (*DynamicsSource, bool) { +// AsTabularSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsTabularSource() (*TabularSource, bool) { return nil, false } -// AsDocumentDbCollectionSource is the BasicCopySource implementation for AzureMariaDBSource. -func (amds AzureMariaDBSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { - return nil, false +// AsBasicTabularSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &amds, true } -// AsBlobSource is the BasicCopySource implementation for AzureMariaDBSource. -func (amds AzureMariaDBSource) AsBlobSource() (*BlobSource, bool) { +// AsBinarySource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsBinarySource() (*BinarySource, bool) { return nil, false } -// AsAzureTableSource is the BasicCopySource implementation for AzureMariaDBSource. -func (amds AzureMariaDBSource) AsAzureTableSource() (*AzureTableSource, bool) { +// AsOrcSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsOrcSource() (*OrcSource, bool) { return nil, false } -// AsBinarySource is the BasicCopySource implementation for AzureMariaDBSource. -func (amds AzureMariaDBSource) AsBinarySource() (*BinarySource, bool) { +// AsJSONSource is the BasicCopySource implementation for AzureMariaDBSource. +func (amds AzureMariaDBSource) AsJSONSource() (*JSONSource, bool) { return nil, false } @@ -23976,6 +26563,15 @@ func (amds *AzureMariaDBSource) UnmarshalJSON(body []byte) error { } amds.Query = query } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + amds.QueryTimeout = queryTimeout + } default: if v != nil { var additionalProperties interface{} @@ -24050,7 +26646,7 @@ type AzureMariaDBTableDataset struct { Annotations *[]interface{} `json:"annotations,omitempty"` // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. Folder *DatasetFolder `json:"folder,omitempty"` - // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' + // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' Type TypeBasicDataset `json:"type,omitempty"` } @@ -24366,6 +26962,16 @@ func (amdtd AzureMariaDBTableDataset) AsRelationalTableDataset() (*RelationalTab return nil, false } +// AsDb2TableDataset is the BasicDataset implementation for AzureMariaDBTableDataset. +func (amdtd AzureMariaDBTableDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for AzureMariaDBTableDataset. +func (amdtd AzureMariaDBTableDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + // AsAzureMySQLTableDataset is the BasicDataset implementation for AzureMariaDBTableDataset. func (amdtd AzureMariaDBTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { return nil, false @@ -24441,6 +27047,11 @@ func (amdtd AzureMariaDBTableDataset) AsDocumentDbCollectionDataset() (*Document return nil, false } +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for AzureMariaDBTableDataset. +func (amdtd AzureMariaDBTableDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + // AsCustomDataset is the BasicDataset implementation for AzureMariaDBTableDataset. func (amdtd AzureMariaDBTableDataset) AsCustomDataset() (*CustomDataset, bool) { return nil, false @@ -24481,6 +27092,16 @@ func (amdtd AzureMariaDBTableDataset) AsBinaryDataset() (*BinaryDataset, bool) { return nil, false } +// AsOrcDataset is the BasicDataset implementation for AzureMariaDBTableDataset. +func (amdtd AzureMariaDBTableDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for AzureMariaDBTableDataset. +func (amdtd AzureMariaDBTableDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + // AsDelimitedTextDataset is the BasicDataset implementation for AzureMariaDBTableDataset. func (amdtd AzureMariaDBTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { return nil, false @@ -24637,7 +27258,7 @@ type AzureMLBatchExecutionActivity struct { DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"` // UserProperties - Activity user properties. UserProperties *[]UserProperty `json:"userProperties,omitempty"` - // Type - Possible values include: 'TypeActivity', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer' + // Type - Possible values include: 'TypeActivity', 'TypeExecuteDataFlow', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLExecutePipeline', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeSwitch', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer' Type TypeBasicActivity `json:"type,omitempty"` } @@ -24675,6 +27296,11 @@ func (ambea AzureMLBatchExecutionActivity) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } +// AsExecuteDataFlowActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity. +func (ambea AzureMLBatchExecutionActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) { + return nil, false +} + // AsAzureFunctionActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity. func (ambea AzureMLBatchExecutionActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) { return nil, false @@ -24700,6 +27326,11 @@ func (ambea AzureMLBatchExecutionActivity) AsDataLakeAnalyticsUSQLActivity() (*D return nil, false } +// AsAzureMLExecutePipelineActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity. +func (ambea AzureMLBatchExecutionActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) { + return nil, false +} + // AsAzureMLUpdateResourceActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity. func (ambea AzureMLBatchExecutionActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) { return nil, false @@ -24830,6 +27461,11 @@ func (ambea AzureMLBatchExecutionActivity) AsForEachActivity() (*ForEachActivity return nil, false } +// AsSwitchActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity. +func (ambea AzureMLBatchExecutionActivity) AsSwitchActivity() (*SwitchActivity, bool) { + return nil, false +} + // AsIfConditionActivity is the BasicActivity implementation for AzureMLBatchExecutionActivity. func (ambea AzureMLBatchExecutionActivity) AsIfConditionActivity() (*IfConditionActivity, bool) { return nil, false @@ -24984,9 +27620,378 @@ func (ambeatp AzureMLBatchExecutionActivityTypeProperties) MarshalJSON() ([]byte return json.Marshal(objectMap) } -// AzureMLLinkedService azure ML Web Service linked service. +// AzureMLExecutePipelineActivity azure ML Execute Pipeline activity. +type AzureMLExecutePipelineActivity struct { + // AzureMLExecutePipelineActivityTypeProperties - Azure ML Execute Pipeline activity properties. + *AzureMLExecutePipelineActivityTypeProperties `json:"typeProperties,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Policy - Activity policy. + Policy *ActivityPolicy `json:"policy,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Name - Activity name. + Name *string `json:"name,omitempty"` + // Description - Activity description. + Description *string `json:"description,omitempty"` + // DependsOn - Activity depends on condition. + DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"` + // UserProperties - Activity user properties. + UserProperties *[]UserProperty `json:"userProperties,omitempty"` + // Type - Possible values include: 'TypeActivity', 'TypeExecuteDataFlow', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLExecutePipeline', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeSwitch', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer' + Type TypeBasicActivity `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for AzureMLExecutePipelineActivity. +func (amepa AzureMLExecutePipelineActivity) MarshalJSON() ([]byte, error) { + amepa.Type = TypeAzureMLExecutePipeline + objectMap := make(map[string]interface{}) + if amepa.AzureMLExecutePipelineActivityTypeProperties != nil { + objectMap["typeProperties"] = amepa.AzureMLExecutePipelineActivityTypeProperties + } + if amepa.LinkedServiceName != nil { + objectMap["linkedServiceName"] = amepa.LinkedServiceName + } + if amepa.Policy != nil { + objectMap["policy"] = amepa.Policy + } + if amepa.Name != nil { + objectMap["name"] = amepa.Name + } + if amepa.Description != nil { + objectMap["description"] = amepa.Description + } + if amepa.DependsOn != nil { + objectMap["dependsOn"] = amepa.DependsOn + } + if amepa.UserProperties != nil { + objectMap["userProperties"] = amepa.UserProperties + } + if amepa.Type != "" { + objectMap["type"] = amepa.Type + } + for k, v := range amepa.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsExecuteDataFlowActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity. +func (amepa AzureMLExecutePipelineActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) { + return nil, false +} + +// AsAzureFunctionActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity. +func (amepa AzureMLExecutePipelineActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) { + return nil, false +} + +// AsDatabricksSparkPythonActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity. +func (amepa AzureMLExecutePipelineActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) { + return nil, false +} + +// AsDatabricksSparkJarActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity. +func (amepa AzureMLExecutePipelineActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) { + return nil, false +} + +// AsDatabricksNotebookActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity. +func (amepa AzureMLExecutePipelineActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) { + return nil, false +} + +// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity. +func (amepa AzureMLExecutePipelineActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) { + return nil, false +} + +// AsAzureMLExecutePipelineActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity. +func (amepa AzureMLExecutePipelineActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) { + return &amepa, true +} + +// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity. +func (amepa AzureMLExecutePipelineActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) { + return nil, false +} + +// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity. +func (amepa AzureMLExecutePipelineActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) { + return nil, false +} + +// AsGetMetadataActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity. +func (amepa AzureMLExecutePipelineActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) { + return nil, false +} + +// AsWebActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity. +func (amepa AzureMLExecutePipelineActivity) AsWebActivity() (*WebActivity, bool) { + return nil, false +} + +// AsLookupActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity. +func (amepa AzureMLExecutePipelineActivity) AsLookupActivity() (*LookupActivity, bool) { + return nil, false +} + +// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity. +func (amepa AzureMLExecutePipelineActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) { + return nil, false +} + +// AsDeleteActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity. +func (amepa AzureMLExecutePipelineActivity) AsDeleteActivity() (*DeleteActivity, bool) { + return nil, false +} + +// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity. +func (amepa AzureMLExecutePipelineActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) { + return nil, false +} + +// AsCustomActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity. +func (amepa AzureMLExecutePipelineActivity) AsCustomActivity() (*CustomActivity, bool) { + return nil, false +} + +// AsExecuteSSISPackageActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity. +func (amepa AzureMLExecutePipelineActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) { + return nil, false +} + +// AsHDInsightSparkActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity. +func (amepa AzureMLExecutePipelineActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) { + return nil, false +} + +// AsHDInsightStreamingActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity. +func (amepa AzureMLExecutePipelineActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) { + return nil, false +} + +// AsHDInsightMapReduceActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity. +func (amepa AzureMLExecutePipelineActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) { + return nil, false +} + +// AsHDInsightPigActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity. +func (amepa AzureMLExecutePipelineActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) { + return nil, false +} + +// AsHDInsightHiveActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity. +func (amepa AzureMLExecutePipelineActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) { + return nil, false +} + +// AsCopyActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity. +func (amepa AzureMLExecutePipelineActivity) AsCopyActivity() (*CopyActivity, bool) { + return nil, false +} + +// AsExecutionActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity. +func (amepa AzureMLExecutePipelineActivity) AsExecutionActivity() (*ExecutionActivity, bool) { + return nil, false +} + +// AsBasicExecutionActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity. +func (amepa AzureMLExecutePipelineActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) { + return &amepa, true +} + +// AsWebHookActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity. +func (amepa AzureMLExecutePipelineActivity) AsWebHookActivity() (*WebHookActivity, bool) { + return nil, false +} + +// AsAppendVariableActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity. +func (amepa AzureMLExecutePipelineActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) { + return nil, false +} + +// AsSetVariableActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity. +func (amepa AzureMLExecutePipelineActivity) AsSetVariableActivity() (*SetVariableActivity, bool) { + return nil, false +} + +// AsFilterActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity. +func (amepa AzureMLExecutePipelineActivity) AsFilterActivity() (*FilterActivity, bool) { + return nil, false +} + +// AsValidationActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity. +func (amepa AzureMLExecutePipelineActivity) AsValidationActivity() (*ValidationActivity, bool) { + return nil, false +} + +// AsUntilActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity. +func (amepa AzureMLExecutePipelineActivity) AsUntilActivity() (*UntilActivity, bool) { + return nil, false +} + +// AsWaitActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity. +func (amepa AzureMLExecutePipelineActivity) AsWaitActivity() (*WaitActivity, bool) { + return nil, false +} + +// AsForEachActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity. +func (amepa AzureMLExecutePipelineActivity) AsForEachActivity() (*ForEachActivity, bool) { + return nil, false +} + +// AsSwitchActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity. +func (amepa AzureMLExecutePipelineActivity) AsSwitchActivity() (*SwitchActivity, bool) { + return nil, false +} + +// AsIfConditionActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity. +func (amepa AzureMLExecutePipelineActivity) AsIfConditionActivity() (*IfConditionActivity, bool) { + return nil, false +} + +// AsExecutePipelineActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity. +func (amepa AzureMLExecutePipelineActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) { + return nil, false +} + +// AsControlActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity. +func (amepa AzureMLExecutePipelineActivity) AsControlActivity() (*ControlActivity, bool) { + return nil, false +} + +// AsBasicControlActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity. +func (amepa AzureMLExecutePipelineActivity) AsBasicControlActivity() (BasicControlActivity, bool) { + return nil, false +} + +// AsActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity. +func (amepa AzureMLExecutePipelineActivity) AsActivity() (*Activity, bool) { + return nil, false +} + +// AsBasicActivity is the BasicActivity implementation for AzureMLExecutePipelineActivity. +func (amepa AzureMLExecutePipelineActivity) AsBasicActivity() (BasicActivity, bool) { + return &amepa, true +} + +// UnmarshalJSON is the custom unmarshaler for AzureMLExecutePipelineActivity struct. +func (amepa *AzureMLExecutePipelineActivity) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var azureMLExecutePipelineActivityTypeProperties AzureMLExecutePipelineActivityTypeProperties + err = json.Unmarshal(*v, &azureMLExecutePipelineActivityTypeProperties) + if err != nil { + return err + } + amepa.AzureMLExecutePipelineActivityTypeProperties = &azureMLExecutePipelineActivityTypeProperties + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + amepa.LinkedServiceName = &linkedServiceName + } + case "policy": + if v != nil { + var policy ActivityPolicy + err = json.Unmarshal(*v, &policy) + if err != nil { + return err + } + amepa.Policy = &policy + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if amepa.AdditionalProperties == nil { + amepa.AdditionalProperties = make(map[string]interface{}) + } + amepa.AdditionalProperties[k] = additionalProperties + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + amepa.Name = &name + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + amepa.Description = &description + } + case "dependsOn": + if v != nil { + var dependsOn []ActivityDependency + err = json.Unmarshal(*v, &dependsOn) + if err != nil { + return err + } + amepa.DependsOn = &dependsOn + } + case "userProperties": + if v != nil { + var userProperties []UserProperty + err = json.Unmarshal(*v, &userProperties) + if err != nil { + return err + } + amepa.UserProperties = &userProperties + } + case "type": + if v != nil { + var typeVar TypeBasicActivity + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + amepa.Type = typeVar + } + } + } + + return nil +} + +// AzureMLExecutePipelineActivityTypeProperties azure ML Execute Pipeline activity properties. +type AzureMLExecutePipelineActivityTypeProperties struct { + // MlPipelineID - ID of the published Azure ML pipeline. Type: string (or Expression with resultType string). + MlPipelineID interface{} `json:"mlPipelineId,omitempty"` + // ExperimentName - Run history experiment name of the pipeline run. This information will be passed in the ExperimentName property of the published pipeline execution request. Type: string (or Expression with resultType string). + ExperimentName interface{} `json:"experimentName,omitempty"` + // MlPipelineParameters - Key,Value pairs to be passed to the published Azure ML pipeline endpoint. Keys must match the names of pipeline parameters defined in the published pipeline. Values will be passed in the ParameterAssignments property of the published pipeline execution request. Type: object with key value pairs (or Expression with resultType object). + MlPipelineParameters interface{} `json:"mlPipelineParameters,omitempty"` + // MlParentRunID - The parent Azure ML Service pipeline run id. This information will be passed in the ParentRunId property of the published pipeline execution request. Type: string (or Expression with resultType string). + MlParentRunID interface{} `json:"mlParentRunId,omitempty"` + // ContinueOnStepFailure - Whether to continue execution of other steps in the PipelineRun if a step fails. This information will be passed in the continueOnStepFailure property of the published pipeline execution request. Type: boolean (or Expression with resultType boolean). + ContinueOnStepFailure interface{} `json:"continueOnStepFailure,omitempty"` +} + +// AzureMLLinkedService azure ML Studio Web Service linked service. type AzureMLLinkedService struct { - // AzureMLLinkedServiceTypeProperties - Azure ML Web Service linked service properties. + // AzureMLLinkedServiceTypeProperties - Azure ML Studio Web Service linked service properties. *AzureMLLinkedServiceTypeProperties `json:"typeProperties,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` @@ -24998,7 +28003,7 @@ type AzureMLLinkedService struct { Parameters map[string]*ParameterSpecification `json:"parameters"` // Annotations - List of tags that can be used for describing the linked service. Annotations *[]interface{} `json:"annotations,omitempty"` - // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' + // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' Type TypeBasicLinkedService `json:"type,omitempty"` } @@ -25370,6 +28375,11 @@ func (amls AzureMLLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool return nil, false } +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for AzureMLLinkedService. +func (amls AzureMLLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + // AsAzureMLLinkedService is the BasicLinkedService implementation for AzureMLLinkedService. func (amls AzureMLLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { return &amls, true @@ -25410,6 +28420,16 @@ func (amls AzureMLLinkedService) AsOracleLinkedService() (*OracleLinkedService, return nil, false } +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for AzureMLLinkedService. +func (amls AzureMLLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for AzureMLLinkedService. +func (amls AzureMLLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + // AsFileServerLinkedService is the BasicLinkedService implementation for AzureMLLinkedService. func (amls AzureMLLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { return nil, false @@ -25576,17 +28596,17 @@ func (amls *AzureMLLinkedService) UnmarshalJSON(body []byte) error { return nil } -// AzureMLLinkedServiceTypeProperties azure ML Web Service linked service properties. +// AzureMLLinkedServiceTypeProperties azure ML Studio Web Service linked service properties. type AzureMLLinkedServiceTypeProperties struct { - // MlEndpoint - The Batch Execution REST URL for an Azure ML Web Service endpoint. Type: string (or Expression with resultType string). + // MlEndpoint - The Batch Execution REST URL for an Azure ML Studio Web Service endpoint. Type: string (or Expression with resultType string). MlEndpoint interface{} `json:"mlEndpoint,omitempty"` // APIKey - The API key for accessing the Azure ML model endpoint. APIKey BasicSecretBase `json:"apiKey,omitempty"` - // UpdateResourceEndpoint - The Update Resource REST URL for an Azure ML Web Service endpoint. Type: string (or Expression with resultType string). + // UpdateResourceEndpoint - The Update Resource REST URL for an Azure ML Studio Web Service endpoint. Type: string (or Expression with resultType string). UpdateResourceEndpoint interface{} `json:"updateResourceEndpoint,omitempty"` - // ServicePrincipalID - The ID of the service principal used to authenticate against the ARM-based updateResourceEndpoint of an Azure ML web service. Type: string (or Expression with resultType string). + // ServicePrincipalID - The ID of the service principal used to authenticate against the ARM-based updateResourceEndpoint of an Azure ML Studio web service. Type: string (or Expression with resultType string). ServicePrincipalID interface{} `json:"servicePrincipalId,omitempty"` - // ServicePrincipalKey - The key of the service principal used to authenticate against the ARM-based updateResourceEndpoint of an Azure ML web service. + // ServicePrincipalKey - The key of the service principal used to authenticate against the ARM-based updateResourceEndpoint of an Azure ML Studio web service. ServicePrincipalKey BasicSecretBase `json:"servicePrincipalKey,omitempty"` // Tenant - The name or ID of the tenant to which the service principal belongs. Type: string (or Expression with resultType string). Tenant interface{} `json:"tenant,omitempty"` @@ -25670,6 +28690,708 @@ func (amlstp *AzureMLLinkedServiceTypeProperties) UnmarshalJSON(body []byte) err return nil } +// AzureMLServiceLinkedService azure ML Service linked service. +type AzureMLServiceLinkedService struct { + // AzureMLServiceLinkedServiceTypeProperties - Azure ML Service linked service properties. + *AzureMLServiceLinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) MarshalJSON() ([]byte, error) { + amsls.Type = TypeAzureMLService + objectMap := make(map[string]interface{}) + if amsls.AzureMLServiceLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = amsls.AzureMLServiceLinkedServiceTypeProperties + } + if amsls.ConnectVia != nil { + objectMap["connectVia"] = amsls.ConnectVia + } + if amsls.Description != nil { + objectMap["description"] = amsls.Description + } + if amsls.Parameters != nil { + objectMap["parameters"] = amsls.Parameters + } + if amsls.Annotations != nil { + objectMap["annotations"] = amsls.Annotations + } + if amsls.Type != "" { + objectMap["type"] = amsls.Type + } + for k, v := range amsls.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { + return nil, false +} + +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return nil, false +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return nil, false +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return nil, false +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return nil, false +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return nil, false +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return nil, false +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return nil, false +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return nil, false +} + +// AsZohoLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { + return nil, false +} + +// AsXeroLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { + return nil, false +} + +// AsSquareLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { + return nil, false +} + +// AsSparkLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { + return nil, false +} + +// AsShopifyLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { + return nil, false +} + +// AsServiceNowLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { + return nil, false +} + +// AsQuickBooksLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { + return nil, false +} + +// AsPrestoLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return nil, false +} + +// AsPhoenixLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return nil, false +} + +// AsPaypalLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return nil, false +} + +// AsMarketoLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return nil, false +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { + return nil, false +} + +// AsMariaDBLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { + return nil, false +} + +// AsMagentoLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return nil, false +} + +// AsJiraLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return nil, false +} + +// AsImpalaLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { + return nil, false +} + +// AsHubspotLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false +} + +// AsHiveLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return nil, false +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return nil, false +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return nil, false +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return nil, false +} + +// AsDrillLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return nil, false +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return nil, false +} + +// AsConcurLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return nil, false +} + +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return nil, false +} + +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false +} + +// AsSapHanaLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return nil, false +} + +// AsSapBWLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return nil, false +} + +// AsSftpServerLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return nil, false +} + +// AsFtpServerLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return nil, false +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return nil, false +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false +} + +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false +} + +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return &amsls, true +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for AzureMLServiceLinkedService. +func (amsls AzureMLServiceLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &amsls, true +} + +// UnmarshalJSON is the custom unmarshaler for AzureMLServiceLinkedService struct. +func (amsls *AzureMLServiceLinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var azureMLServiceLinkedServiceTypeProperties AzureMLServiceLinkedServiceTypeProperties + err = json.Unmarshal(*v, &azureMLServiceLinkedServiceTypeProperties) + if err != nil { + return err + } + amsls.AzureMLServiceLinkedServiceTypeProperties = &azureMLServiceLinkedServiceTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if amsls.AdditionalProperties == nil { + amsls.AdditionalProperties = make(map[string]interface{}) + } + amsls.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + amsls.ConnectVia = &connectVia + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + amsls.Description = &description + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + amsls.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + amsls.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + amsls.Type = typeVar + } + } + } + + return nil +} + +// AzureMLServiceLinkedServiceTypeProperties azure ML Service linked service properties. +type AzureMLServiceLinkedServiceTypeProperties struct { + // SubscriptionID - Azure ML Service workspace subscription ID. Type: string (or Expression with resultType string). + SubscriptionID interface{} `json:"subscriptionId,omitempty"` + // ResourceGroupName - Azure ML Service workspace resource group name. Type: string (or Expression with resultType string). + ResourceGroupName interface{} `json:"resourceGroupName,omitempty"` + // MlWorkspaceName - Azure ML Service workspace name. Type: string (or Expression with resultType string). + MlWorkspaceName interface{} `json:"mlWorkspaceName,omitempty"` + // ServicePrincipalID - The ID of the service principal used to authenticate against the endpoint of a published Azure ML Service pipeline. Type: string (or Expression with resultType string). + ServicePrincipalID interface{} `json:"servicePrincipalId,omitempty"` + // ServicePrincipalKey - The key of the service principal used to authenticate against the endpoint of a published Azure ML Service pipeline. + ServicePrincipalKey BasicSecretBase `json:"servicePrincipalKey,omitempty"` + // Tenant - The name or ID of the tenant to which the service principal belongs. Type: string (or Expression with resultType string). + Tenant interface{} `json:"tenant,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for AzureMLServiceLinkedServiceTypeProperties struct. +func (amslstp *AzureMLServiceLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "subscriptionId": + if v != nil { + var subscriptionID interface{} + err = json.Unmarshal(*v, &subscriptionID) + if err != nil { + return err + } + amslstp.SubscriptionID = subscriptionID + } + case "resourceGroupName": + if v != nil { + var resourceGroupName interface{} + err = json.Unmarshal(*v, &resourceGroupName) + if err != nil { + return err + } + amslstp.ResourceGroupName = resourceGroupName + } + case "mlWorkspaceName": + if v != nil { + var mlWorkspaceName interface{} + err = json.Unmarshal(*v, &mlWorkspaceName) + if err != nil { + return err + } + amslstp.MlWorkspaceName = mlWorkspaceName + } + case "servicePrincipalId": + if v != nil { + var servicePrincipalID interface{} + err = json.Unmarshal(*v, &servicePrincipalID) + if err != nil { + return err + } + amslstp.ServicePrincipalID = servicePrincipalID + } + case "servicePrincipalKey": + if v != nil { + servicePrincipalKey, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + amslstp.ServicePrincipalKey = servicePrincipalKey + } + case "tenant": + if v != nil { + var tenant interface{} + err = json.Unmarshal(*v, &tenant) + if err != nil { + return err + } + amslstp.Tenant = tenant + } + case "encryptedCredential": + if v != nil { + var encryptedCredential interface{} + err = json.Unmarshal(*v, &encryptedCredential) + if err != nil { + return err + } + amslstp.EncryptedCredential = encryptedCredential + } + } + } + + return nil +} + // AzureMLUpdateResourceActivity azure ML Update Resource management activity. type AzureMLUpdateResourceActivity struct { // AzureMLUpdateResourceActivityTypeProperties - Azure ML Update Resource management activity properties. @@ -25688,7 +29410,7 @@ type AzureMLUpdateResourceActivity struct { DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"` // UserProperties - Activity user properties. UserProperties *[]UserProperty `json:"userProperties,omitempty"` - // Type - Possible values include: 'TypeActivity', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer' + // Type - Possible values include: 'TypeActivity', 'TypeExecuteDataFlow', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLExecutePipeline', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeSwitch', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer' Type TypeBasicActivity `json:"type,omitempty"` } @@ -25726,6 +29448,11 @@ func (amura AzureMLUpdateResourceActivity) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } +// AsExecuteDataFlowActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity. +func (amura AzureMLUpdateResourceActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) { + return nil, false +} + // AsAzureFunctionActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity. func (amura AzureMLUpdateResourceActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) { return nil, false @@ -25751,6 +29478,11 @@ func (amura AzureMLUpdateResourceActivity) AsDataLakeAnalyticsUSQLActivity() (*D return nil, false } +// AsAzureMLExecutePipelineActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity. +func (amura AzureMLUpdateResourceActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) { + return nil, false +} + // AsAzureMLUpdateResourceActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity. func (amura AzureMLUpdateResourceActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) { return &amura, true @@ -25881,6 +29613,11 @@ func (amura AzureMLUpdateResourceActivity) AsForEachActivity() (*ForEachActivity return nil, false } +// AsSwitchActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity. +func (amura AzureMLUpdateResourceActivity) AsSwitchActivity() (*SwitchActivity, bool) { + return nil, false +} + // AsIfConditionActivity is the BasicActivity implementation for AzureMLUpdateResourceActivity. func (amura AzureMLUpdateResourceActivity) AsIfConditionActivity() (*IfConditionActivity, bool) { return nil, false @@ -26042,7 +29779,7 @@ type AzureMySQLLinkedService struct { Parameters map[string]*ParameterSpecification `json:"parameters"` // Annotations - List of tags that can be used for describing the linked service. Annotations *[]interface{} `json:"annotations,omitempty"` - // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' + // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' Type TypeBasicLinkedService `json:"type,omitempty"` } @@ -26414,6 +30151,11 @@ func (amsls AzureMySQLLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, return nil, false } +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService. +func (amsls AzureMySQLLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + // AsAzureMLLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService. func (amsls AzureMySQLLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { return nil, false @@ -26454,6 +30196,16 @@ func (amsls AzureMySQLLinkedService) AsOracleLinkedService() (*OracleLinkedServi return nil, false } +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService. +func (amsls AzureMySQLLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService. +func (amsls AzureMySQLLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + // AsFileServerLinkedService is the BasicLinkedService implementation for AzureMySQLLinkedService. func (amsls AzureMySQLLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { return nil, false @@ -26630,10 +30382,333 @@ type AzureMySQLLinkedServiceTypeProperties struct { EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` } +// AzureMySQLSink a copy activity Azure MySql sink. +type AzureMySQLSink struct { + // PreCopyScript - A query to execute before starting the copy. Type: string (or Expression with resultType string). + PreCopyScript interface{} `json:"preCopyScript,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0. + WriteBatchSize interface{} `json:"writeBatchSize,omitempty"` + // WriteBatchTimeout - Write batch timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"` + // SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer). + SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"` + // SinkRetryWait - Sink retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeCosmosDbSQLAPISink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAvroSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzureMySQLSink', 'TypeAzurePostgreSQLSink', 'TypeOrcSink', 'TypeJSONSink', 'TypeDelimitedTextSink' + Type TypeBasicCopySink `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for AzureMySQLSink. +func (amss AzureMySQLSink) MarshalJSON() ([]byte, error) { + amss.Type = TypeAzureMySQLSink + objectMap := make(map[string]interface{}) + if amss.PreCopyScript != nil { + objectMap["preCopyScript"] = amss.PreCopyScript + } + if amss.WriteBatchSize != nil { + objectMap["writeBatchSize"] = amss.WriteBatchSize + } + if amss.WriteBatchTimeout != nil { + objectMap["writeBatchTimeout"] = amss.WriteBatchTimeout + } + if amss.SinkRetryCount != nil { + objectMap["sinkRetryCount"] = amss.SinkRetryCount + } + if amss.SinkRetryWait != nil { + objectMap["sinkRetryWait"] = amss.SinkRetryWait + } + if amss.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = amss.MaxConcurrentConnections + } + if amss.Type != "" { + objectMap["type"] = amss.Type + } + for k, v := range amss.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for AzureMySQLSink. +func (amss AzureMySQLSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSink is the BasicCopySink implementation for AzureMySQLSink. +func (amss AzureMySQLSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) { + return nil, false +} + +// AsSalesforceSink is the BasicCopySink implementation for AzureMySQLSink. +func (amss AzureMySQLSink) AsSalesforceSink() (*SalesforceSink, bool) { + return nil, false +} + +// AsAzureDataExplorerSink is the BasicCopySink implementation for AzureMySQLSink. +func (amss AzureMySQLSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSink is the BasicCopySink implementation for AzureMySQLSink. +func (amss AzureMySQLSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) { + return nil, false +} + +// AsDynamicsCrmSink is the BasicCopySink implementation for AzureMySQLSink. +func (amss AzureMySQLSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) { + return nil, false +} + +// AsDynamicsSink is the BasicCopySink implementation for AzureMySQLSink. +func (amss AzureMySQLSink) AsDynamicsSink() (*DynamicsSink, bool) { + return nil, false +} + +// AsMicrosoftAccessSink is the BasicCopySink implementation for AzureMySQLSink. +func (amss AzureMySQLSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) { + return nil, false +} + +// AsInformixSink is the BasicCopySink implementation for AzureMySQLSink. +func (amss AzureMySQLSink) AsInformixSink() (*InformixSink, bool) { + return nil, false +} + +// AsOdbcSink is the BasicCopySink implementation for AzureMySQLSink. +func (amss AzureMySQLSink) AsOdbcSink() (*OdbcSink, bool) { + return nil, false +} + +// AsAzureSearchIndexSink is the BasicCopySink implementation for AzureMySQLSink. +func (amss AzureMySQLSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) { + return nil, false +} + +// AsAzureBlobFSSink is the BasicCopySink implementation for AzureMySQLSink. +func (amss AzureMySQLSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSink is the BasicCopySink implementation for AzureMySQLSink. +func (amss AzureMySQLSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) { + return nil, false +} + +// AsOracleSink is the BasicCopySink implementation for AzureMySQLSink. +func (amss AzureMySQLSink) AsOracleSink() (*OracleSink, bool) { + return nil, false +} + +// AsSQLDWSink is the BasicCopySink implementation for AzureMySQLSink. +func (amss AzureMySQLSink) AsSQLDWSink() (*SQLDWSink, bool) { + return nil, false +} + +// AsSQLMISink is the BasicCopySink implementation for AzureMySQLSink. +func (amss AzureMySQLSink) AsSQLMISink() (*SQLMISink, bool) { + return nil, false +} + +// AsAzureSQLSink is the BasicCopySink implementation for AzureMySQLSink. +func (amss AzureMySQLSink) AsAzureSQLSink() (*AzureSQLSink, bool) { + return nil, false +} + +// AsSQLServerSink is the BasicCopySink implementation for AzureMySQLSink. +func (amss AzureMySQLSink) AsSQLServerSink() (*SQLServerSink, bool) { + return nil, false +} + +// AsSQLSink is the BasicCopySink implementation for AzureMySQLSink. +func (amss AzureMySQLSink) AsSQLSink() (*SQLSink, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISink is the BasicCopySink implementation for AzureMySQLSink. +func (amss AzureMySQLSink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) { + return nil, false +} + +// AsDocumentDbCollectionSink is the BasicCopySink implementation for AzureMySQLSink. +func (amss AzureMySQLSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) { + return nil, false +} + +// AsFileSystemSink is the BasicCopySink implementation for AzureMySQLSink. +func (amss AzureMySQLSink) AsFileSystemSink() (*FileSystemSink, bool) { + return nil, false +} + +// AsBlobSink is the BasicCopySink implementation for AzureMySQLSink. +func (amss AzureMySQLSink) AsBlobSink() (*BlobSink, bool) { + return nil, false +} + +// AsBinarySink is the BasicCopySink implementation for AzureMySQLSink. +func (amss AzureMySQLSink) AsBinarySink() (*BinarySink, bool) { + return nil, false +} + +// AsParquetSink is the BasicCopySink implementation for AzureMySQLSink. +func (amss AzureMySQLSink) AsParquetSink() (*ParquetSink, bool) { + return nil, false +} + +// AsAvroSink is the BasicCopySink implementation for AzureMySQLSink. +func (amss AzureMySQLSink) AsAvroSink() (*AvroSink, bool) { + return nil, false +} + +// AsAzureTableSink is the BasicCopySink implementation for AzureMySQLSink. +func (amss AzureMySQLSink) AsAzureTableSink() (*AzureTableSink, bool) { + return nil, false +} + +// AsAzureQueueSink is the BasicCopySink implementation for AzureMySQLSink. +func (amss AzureMySQLSink) AsAzureQueueSink() (*AzureQueueSink, bool) { + return nil, false +} + +// AsSapCloudForCustomerSink is the BasicCopySink implementation for AzureMySQLSink. +func (amss AzureMySQLSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) { + return nil, false +} + +// AsAzureMySQLSink is the BasicCopySink implementation for AzureMySQLSink. +func (amss AzureMySQLSink) AsAzureMySQLSink() (*AzureMySQLSink, bool) { + return &amss, true +} + +// AsAzurePostgreSQLSink is the BasicCopySink implementation for AzureMySQLSink. +func (amss AzureMySQLSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) { + return nil, false +} + +// AsOrcSink is the BasicCopySink implementation for AzureMySQLSink. +func (amss AzureMySQLSink) AsOrcSink() (*OrcSink, bool) { + return nil, false +} + +// AsJSONSink is the BasicCopySink implementation for AzureMySQLSink. +func (amss AzureMySQLSink) AsJSONSink() (*JSONSink, bool) { + return nil, false +} + +// AsDelimitedTextSink is the BasicCopySink implementation for AzureMySQLSink. +func (amss AzureMySQLSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) { + return nil, false +} + +// AsCopySink is the BasicCopySink implementation for AzureMySQLSink. +func (amss AzureMySQLSink) AsCopySink() (*CopySink, bool) { + return nil, false +} + +// AsBasicCopySink is the BasicCopySink implementation for AzureMySQLSink. +func (amss AzureMySQLSink) AsBasicCopySink() (BasicCopySink, bool) { + return &amss, true +} + +// UnmarshalJSON is the custom unmarshaler for AzureMySQLSink struct. +func (amss *AzureMySQLSink) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "preCopyScript": + if v != nil { + var preCopyScript interface{} + err = json.Unmarshal(*v, &preCopyScript) + if err != nil { + return err + } + amss.PreCopyScript = preCopyScript + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if amss.AdditionalProperties == nil { + amss.AdditionalProperties = make(map[string]interface{}) + } + amss.AdditionalProperties[k] = additionalProperties + } + case "writeBatchSize": + if v != nil { + var writeBatchSize interface{} + err = json.Unmarshal(*v, &writeBatchSize) + if err != nil { + return err + } + amss.WriteBatchSize = writeBatchSize + } + case "writeBatchTimeout": + if v != nil { + var writeBatchTimeout interface{} + err = json.Unmarshal(*v, &writeBatchTimeout) + if err != nil { + return err + } + amss.WriteBatchTimeout = writeBatchTimeout + } + case "sinkRetryCount": + if v != nil { + var sinkRetryCount interface{} + err = json.Unmarshal(*v, &sinkRetryCount) + if err != nil { + return err + } + amss.SinkRetryCount = sinkRetryCount + } + case "sinkRetryWait": + if v != nil { + var sinkRetryWait interface{} + err = json.Unmarshal(*v, &sinkRetryWait) + if err != nil { + return err + } + amss.SinkRetryWait = sinkRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + amss.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySink + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + amss.Type = typeVar + } + } + } + + return nil +} + // AzureMySQLSource a copy activity Azure MySQL source. type AzureMySQLSource struct { // Query - Database query. Type: string (or Expression with resultType string). Query interface{} `json:"query,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). @@ -26642,7 +30717,7 @@ type AzureMySQLSource struct { SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' + // Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' Type TypeBasicCopySource `json:"type,omitempty"` } @@ -26653,6 +30728,9 @@ func (amss AzureMySQLSource) MarshalJSON() ([]byte, error) { if amss.Query != nil { objectMap["query"] = amss.Query } + if amss.QueryTimeout != nil { + objectMap["queryTimeout"] = amss.QueryTimeout + } if amss.SourceRetryCount != nil { objectMap["sourceRetryCount"] = amss.SourceRetryCount } @@ -26671,6 +30749,121 @@ func (amss AzureMySQLSource) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } +// AsHTTPSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + // AsAmazonRedshiftSource is the BasicCopySource implementation for AzureMySQLSource. func (amss AzureMySQLSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { return nil, false @@ -26846,81 +31039,21 @@ func (amss AzureMySQLSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { return nil, false } -// AsHTTPSource is the BasicCopySource implementation for AzureMySQLSource. -func (amss AzureMySQLSource) AsHTTPSource() (*HTTPSource, bool) { - return nil, false -} - -// AsAzureBlobFSSource is the BasicCopySource implementation for AzureMySQLSource. -func (amss AzureMySQLSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { - return nil, false -} - -// AsAzureDataLakeStoreSource is the BasicCopySource implementation for AzureMySQLSource. -func (amss AzureMySQLSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { - return nil, false -} - -// AsOffice365Source is the BasicCopySource implementation for AzureMySQLSource. -func (amss AzureMySQLSource) AsOffice365Source() (*Office365Source, bool) { - return nil, false -} - -// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for AzureMySQLSource. -func (amss AzureMySQLSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { - return nil, false -} - -// AsMongoDbV2Source is the BasicCopySource implementation for AzureMySQLSource. -func (amss AzureMySQLSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { - return nil, false -} - -// AsMongoDbSource is the BasicCopySource implementation for AzureMySQLSource. -func (amss AzureMySQLSource) AsMongoDbSource() (*MongoDbSource, bool) { - return nil, false -} - // AsCassandraSource is the BasicCopySource implementation for AzureMySQLSource. func (amss AzureMySQLSource) AsCassandraSource() (*CassandraSource, bool) { return nil, false } -// AsWebSource is the BasicCopySource implementation for AzureMySQLSource. -func (amss AzureMySQLSource) AsWebSource() (*WebSource, bool) { - return nil, false -} - // AsTeradataSource is the BasicCopySource implementation for AzureMySQLSource. func (amss AzureMySQLSource) AsTeradataSource() (*TeradataSource, bool) { return nil, false } -// AsOracleSource is the BasicCopySource implementation for AzureMySQLSource. -func (amss AzureMySQLSource) AsOracleSource() (*OracleSource, bool) { - return nil, false -} - -// AsAzureDataExplorerSource is the BasicCopySource implementation for AzureMySQLSource. -func (amss AzureMySQLSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { - return nil, false -} - // AsAzureMySQLSource is the BasicCopySource implementation for AzureMySQLSource. func (amss AzureMySQLSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { return &amss, true } -// AsHdfsSource is the BasicCopySource implementation for AzureMySQLSource. -func (amss AzureMySQLSource) AsHdfsSource() (*HdfsSource, bool) { - return nil, false -} - -// AsFileSystemSource is the BasicCopySource implementation for AzureMySQLSource. -func (amss AzureMySQLSource) AsFileSystemSource() (*FileSystemSource, bool) { - return nil, false -} - // AsSQLDWSource is the BasicCopySource implementation for AzureMySQLSource. func (amss AzureMySQLSource) AsSQLDWSource() (*SQLDWSource, bool) { return nil, false @@ -26946,11 +31079,6 @@ func (amss AzureMySQLSource) AsSQLSource() (*SQLSource, bool) { return nil, false } -// AsRestSource is the BasicCopySource implementation for AzureMySQLSource. -func (amss AzureMySQLSource) AsRestSource() (*RestSource, bool) { - return nil, false -} - // AsSapTableSource is the BasicCopySource implementation for AzureMySQLSource. func (amss AzureMySQLSource) AsSapTableSource() (*SapTableSource, bool) { return nil, false @@ -26976,21 +31104,11 @@ func (amss AzureMySQLSource) AsSapCloudForCustomerSource() (*SapCloudForCustomer return nil, false } -// AsSalesforceServiceCloudSource is the BasicCopySource implementation for AzureMySQLSource. -func (amss AzureMySQLSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { - return nil, false -} - // AsSalesforceSource is the BasicCopySource implementation for AzureMySQLSource. func (amss AzureMySQLSource) AsSalesforceSource() (*SalesforceSource, bool) { return nil, false } -// AsODataSource is the BasicCopySource implementation for AzureMySQLSource. -func (amss AzureMySQLSource) AsODataSource() (*ODataSource, bool) { - return nil, false -} - // AsSapBwSource is the BasicCopySource implementation for AzureMySQLSource. func (amss AzureMySQLSource) AsSapBwSource() (*SapBwSource, bool) { return nil, false @@ -27021,53 +31139,38 @@ func (amss AzureMySQLSource) AsDb2Source() (*Db2Source, bool) { return nil, false } -// AsMicrosoftAccessSource is the BasicCopySource implementation for AzureMySQLSource. -func (amss AzureMySQLSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { - return nil, false -} - // AsInformixSource is the BasicCopySource implementation for AzureMySQLSource. func (amss AzureMySQLSource) AsInformixSource() (*InformixSource, bool) { return nil, false } -// AsRelationalSource is the BasicCopySource implementation for AzureMySQLSource. -func (amss AzureMySQLSource) AsRelationalSource() (*RelationalSource, bool) { - return nil, false -} - -// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for AzureMySQLSource. -func (amss AzureMySQLSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { - return nil, false -} - -// AsDynamicsCrmSource is the BasicCopySource implementation for AzureMySQLSource. -func (amss AzureMySQLSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { +// AsAzureTableSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsAzureTableSource() (*AzureTableSource, bool) { return nil, false } -// AsDynamicsSource is the BasicCopySource implementation for AzureMySQLSource. -func (amss AzureMySQLSource) AsDynamicsSource() (*DynamicsSource, bool) { +// AsTabularSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsTabularSource() (*TabularSource, bool) { return nil, false } -// AsDocumentDbCollectionSource is the BasicCopySource implementation for AzureMySQLSource. -func (amss AzureMySQLSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { - return nil, false +// AsBasicTabularSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &amss, true } -// AsBlobSource is the BasicCopySource implementation for AzureMySQLSource. -func (amss AzureMySQLSource) AsBlobSource() (*BlobSource, bool) { +// AsBinarySource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsBinarySource() (*BinarySource, bool) { return nil, false } -// AsAzureTableSource is the BasicCopySource implementation for AzureMySQLSource. -func (amss AzureMySQLSource) AsAzureTableSource() (*AzureTableSource, bool) { +// AsOrcSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsOrcSource() (*OrcSource, bool) { return nil, false } -// AsBinarySource is the BasicCopySource implementation for AzureMySQLSource. -func (amss AzureMySQLSource) AsBinarySource() (*BinarySource, bool) { +// AsJSONSource is the BasicCopySource implementation for AzureMySQLSource. +func (amss AzureMySQLSource) AsJSONSource() (*JSONSource, bool) { return nil, false } @@ -27114,6 +31217,15 @@ func (amss *AzureMySQLSource) UnmarshalJSON(body []byte) error { } amss.Query = query } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + amss.QueryTimeout = queryTimeout + } default: if v != nil { var additionalProperties interface{} @@ -27188,7 +31300,7 @@ type AzureMySQLTableDataset struct { Annotations *[]interface{} `json:"annotations,omitempty"` // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. Folder *DatasetFolder `json:"folder,omitempty"` - // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' + // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' Type TypeBasicDataset `json:"type,omitempty"` } @@ -27504,6 +31616,16 @@ func (amstd AzureMySQLTableDataset) AsRelationalTableDataset() (*RelationalTable return nil, false } +// AsDb2TableDataset is the BasicDataset implementation for AzureMySQLTableDataset. +func (amstd AzureMySQLTableDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for AzureMySQLTableDataset. +func (amstd AzureMySQLTableDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + // AsAzureMySQLTableDataset is the BasicDataset implementation for AzureMySQLTableDataset. func (amstd AzureMySQLTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { return &amstd, true @@ -27579,6 +31701,11 @@ func (amstd AzureMySQLTableDataset) AsDocumentDbCollectionDataset() (*DocumentDb return nil, false } +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for AzureMySQLTableDataset. +func (amstd AzureMySQLTableDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + // AsCustomDataset is the BasicDataset implementation for AzureMySQLTableDataset. func (amstd AzureMySQLTableDataset) AsCustomDataset() (*CustomDataset, bool) { return nil, false @@ -27619,6 +31746,16 @@ func (amstd AzureMySQLTableDataset) AsBinaryDataset() (*BinaryDataset, bool) { return nil, false } +// AsOrcDataset is the BasicDataset implementation for AzureMySQLTableDataset. +func (amstd AzureMySQLTableDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for AzureMySQLTableDataset. +func (amstd AzureMySQLTableDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + // AsDelimitedTextDataset is the BasicDataset implementation for AzureMySQLTableDataset. func (amstd AzureMySQLTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { return nil, false @@ -27761,6 +31898,8 @@ func (amstd *AzureMySQLTableDataset) UnmarshalJSON(body []byte) error { type AzureMySQLTableDatasetTypeProperties struct { // TableName - The Azure MySQL database table name. Type: string (or Expression with resultType string). TableName interface{} `json:"tableName,omitempty"` + // Table - The name of Azure MySQL database table. Type: string (or Expression with resultType string). + Table interface{} `json:"table,omitempty"` } // AzurePostgreSQLLinkedService azure PostgreSQL linked service. @@ -27777,7 +31916,7 @@ type AzurePostgreSQLLinkedService struct { Parameters map[string]*ParameterSpecification `json:"parameters"` // Annotations - List of tags that can be used for describing the linked service. Annotations *[]interface{} `json:"annotations,omitempty"` - // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' + // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' Type TypeBasicLinkedService `json:"type,omitempty"` } @@ -28149,6 +32288,11 @@ func (apsls AzurePostgreSQLLinkedService) AsOdbcLinkedService() (*OdbcLinkedServ return nil, false } +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService. +func (apsls AzurePostgreSQLLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + // AsAzureMLLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService. func (apsls AzurePostgreSQLLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { return nil, false @@ -28189,6 +32333,16 @@ func (apsls AzurePostgreSQLLinkedService) AsOracleLinkedService() (*OracleLinked return nil, false } +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService. +func (apsls AzurePostgreSQLLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService. +func (apsls AzurePostgreSQLLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + // AsFileServerLinkedService is the BasicLinkedService implementation for AzurePostgreSQLLinkedService. func (apsls AzurePostgreSQLLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { return nil, false @@ -28381,7 +32535,7 @@ type AzurePostgreSQLSink struct { SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"` // MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAvroSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzurePostgreSQLSink', 'TypeDelimitedTextSink' + // Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeCosmosDbSQLAPISink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAvroSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzureMySQLSink', 'TypeAzurePostgreSQLSink', 'TypeOrcSink', 'TypeJSONSink', 'TypeDelimitedTextSink' Type TypeBasicCopySink `json:"type,omitempty"` } @@ -28511,6 +32665,11 @@ func (apss AzurePostgreSQLSink) AsSQLSink() (*SQLSink, bool) { return nil, false } +// AsCosmosDbSQLAPISink is the BasicCopySink implementation for AzurePostgreSQLSink. +func (apss AzurePostgreSQLSink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) { + return nil, false +} + // AsDocumentDbCollectionSink is the BasicCopySink implementation for AzurePostgreSQLSink. func (apss AzurePostgreSQLSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) { return nil, false @@ -28556,11 +32715,26 @@ func (apss AzurePostgreSQLSink) AsSapCloudForCustomerSink() (*SapCloudForCustome return nil, false } +// AsAzureMySQLSink is the BasicCopySink implementation for AzurePostgreSQLSink. +func (apss AzurePostgreSQLSink) AsAzureMySQLSink() (*AzureMySQLSink, bool) { + return nil, false +} + // AsAzurePostgreSQLSink is the BasicCopySink implementation for AzurePostgreSQLSink. func (apss AzurePostgreSQLSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) { return &apss, true } +// AsOrcSink is the BasicCopySink implementation for AzurePostgreSQLSink. +func (apss AzurePostgreSQLSink) AsOrcSink() (*OrcSink, bool) { + return nil, false +} + +// AsJSONSink is the BasicCopySink implementation for AzurePostgreSQLSink. +func (apss AzurePostgreSQLSink) AsJSONSink() (*JSONSink, bool) { + return nil, false +} + // AsDelimitedTextSink is the BasicCopySink implementation for AzurePostgreSQLSink. func (apss AzurePostgreSQLSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) { return nil, false @@ -28670,6 +32844,8 @@ func (apss *AzurePostgreSQLSink) UnmarshalJSON(body []byte) error { type AzurePostgreSQLSource struct { // Query - A query to retrieve data from source. Type: string (or Expression with resultType string). Query interface{} `json:"query,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). @@ -28678,7 +32854,7 @@ type AzurePostgreSQLSource struct { SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' + // Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' Type TypeBasicCopySource `json:"type,omitempty"` } @@ -28689,6 +32865,9 @@ func (apss AzurePostgreSQLSource) MarshalJSON() ([]byte, error) { if apss.Query != nil { objectMap["query"] = apss.Query } + if apss.QueryTimeout != nil { + objectMap["queryTimeout"] = apss.QueryTimeout + } if apss.SourceRetryCount != nil { objectMap["sourceRetryCount"] = apss.SourceRetryCount } @@ -28707,6 +32886,121 @@ func (apss AzurePostgreSQLSource) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } +// AsHTTPSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + // AsAmazonRedshiftSource is the BasicCopySource implementation for AzurePostgreSQLSource. func (apss AzurePostgreSQLSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { return nil, false @@ -28882,81 +33176,21 @@ func (apss AzurePostgreSQLSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { return nil, false } -// AsHTTPSource is the BasicCopySource implementation for AzurePostgreSQLSource. -func (apss AzurePostgreSQLSource) AsHTTPSource() (*HTTPSource, bool) { - return nil, false -} - -// AsAzureBlobFSSource is the BasicCopySource implementation for AzurePostgreSQLSource. -func (apss AzurePostgreSQLSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { - return nil, false -} - -// AsAzureDataLakeStoreSource is the BasicCopySource implementation for AzurePostgreSQLSource. -func (apss AzurePostgreSQLSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { - return nil, false -} - -// AsOffice365Source is the BasicCopySource implementation for AzurePostgreSQLSource. -func (apss AzurePostgreSQLSource) AsOffice365Source() (*Office365Source, bool) { - return nil, false -} - -// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for AzurePostgreSQLSource. -func (apss AzurePostgreSQLSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { - return nil, false -} - -// AsMongoDbV2Source is the BasicCopySource implementation for AzurePostgreSQLSource. -func (apss AzurePostgreSQLSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { - return nil, false -} - -// AsMongoDbSource is the BasicCopySource implementation for AzurePostgreSQLSource. -func (apss AzurePostgreSQLSource) AsMongoDbSource() (*MongoDbSource, bool) { - return nil, false -} - // AsCassandraSource is the BasicCopySource implementation for AzurePostgreSQLSource. func (apss AzurePostgreSQLSource) AsCassandraSource() (*CassandraSource, bool) { return nil, false } -// AsWebSource is the BasicCopySource implementation for AzurePostgreSQLSource. -func (apss AzurePostgreSQLSource) AsWebSource() (*WebSource, bool) { - return nil, false -} - // AsTeradataSource is the BasicCopySource implementation for AzurePostgreSQLSource. func (apss AzurePostgreSQLSource) AsTeradataSource() (*TeradataSource, bool) { return nil, false } -// AsOracleSource is the BasicCopySource implementation for AzurePostgreSQLSource. -func (apss AzurePostgreSQLSource) AsOracleSource() (*OracleSource, bool) { - return nil, false -} - -// AsAzureDataExplorerSource is the BasicCopySource implementation for AzurePostgreSQLSource. -func (apss AzurePostgreSQLSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { - return nil, false -} - // AsAzureMySQLSource is the BasicCopySource implementation for AzurePostgreSQLSource. func (apss AzurePostgreSQLSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { return nil, false } -// AsHdfsSource is the BasicCopySource implementation for AzurePostgreSQLSource. -func (apss AzurePostgreSQLSource) AsHdfsSource() (*HdfsSource, bool) { - return nil, false -} - -// AsFileSystemSource is the BasicCopySource implementation for AzurePostgreSQLSource. -func (apss AzurePostgreSQLSource) AsFileSystemSource() (*FileSystemSource, bool) { - return nil, false -} - // AsSQLDWSource is the BasicCopySource implementation for AzurePostgreSQLSource. func (apss AzurePostgreSQLSource) AsSQLDWSource() (*SQLDWSource, bool) { return nil, false @@ -28982,11 +33216,6 @@ func (apss AzurePostgreSQLSource) AsSQLSource() (*SQLSource, bool) { return nil, false } -// AsRestSource is the BasicCopySource implementation for AzurePostgreSQLSource. -func (apss AzurePostgreSQLSource) AsRestSource() (*RestSource, bool) { - return nil, false -} - // AsSapTableSource is the BasicCopySource implementation for AzurePostgreSQLSource. func (apss AzurePostgreSQLSource) AsSapTableSource() (*SapTableSource, bool) { return nil, false @@ -29012,21 +33241,11 @@ func (apss AzurePostgreSQLSource) AsSapCloudForCustomerSource() (*SapCloudForCus return nil, false } -// AsSalesforceServiceCloudSource is the BasicCopySource implementation for AzurePostgreSQLSource. -func (apss AzurePostgreSQLSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { - return nil, false -} - // AsSalesforceSource is the BasicCopySource implementation for AzurePostgreSQLSource. func (apss AzurePostgreSQLSource) AsSalesforceSource() (*SalesforceSource, bool) { return nil, false } -// AsODataSource is the BasicCopySource implementation for AzurePostgreSQLSource. -func (apss AzurePostgreSQLSource) AsODataSource() (*ODataSource, bool) { - return nil, false -} - // AsSapBwSource is the BasicCopySource implementation for AzurePostgreSQLSource. func (apss AzurePostgreSQLSource) AsSapBwSource() (*SapBwSource, bool) { return nil, false @@ -29057,53 +33276,38 @@ func (apss AzurePostgreSQLSource) AsDb2Source() (*Db2Source, bool) { return nil, false } -// AsMicrosoftAccessSource is the BasicCopySource implementation for AzurePostgreSQLSource. -func (apss AzurePostgreSQLSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { - return nil, false -} - // AsInformixSource is the BasicCopySource implementation for AzurePostgreSQLSource. func (apss AzurePostgreSQLSource) AsInformixSource() (*InformixSource, bool) { return nil, false } -// AsRelationalSource is the BasicCopySource implementation for AzurePostgreSQLSource. -func (apss AzurePostgreSQLSource) AsRelationalSource() (*RelationalSource, bool) { - return nil, false -} - -// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for AzurePostgreSQLSource. -func (apss AzurePostgreSQLSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { - return nil, false -} - -// AsDynamicsCrmSource is the BasicCopySource implementation for AzurePostgreSQLSource. -func (apss AzurePostgreSQLSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { +// AsAzureTableSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsAzureTableSource() (*AzureTableSource, bool) { return nil, false } -// AsDynamicsSource is the BasicCopySource implementation for AzurePostgreSQLSource. -func (apss AzurePostgreSQLSource) AsDynamicsSource() (*DynamicsSource, bool) { +// AsTabularSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsTabularSource() (*TabularSource, bool) { return nil, false } -// AsDocumentDbCollectionSource is the BasicCopySource implementation for AzurePostgreSQLSource. -func (apss AzurePostgreSQLSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { - return nil, false +// AsBasicTabularSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &apss, true } -// AsBlobSource is the BasicCopySource implementation for AzurePostgreSQLSource. -func (apss AzurePostgreSQLSource) AsBlobSource() (*BlobSource, bool) { +// AsBinarySource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsBinarySource() (*BinarySource, bool) { return nil, false } -// AsAzureTableSource is the BasicCopySource implementation for AzurePostgreSQLSource. -func (apss AzurePostgreSQLSource) AsAzureTableSource() (*AzureTableSource, bool) { +// AsOrcSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsOrcSource() (*OrcSource, bool) { return nil, false } -// AsBinarySource is the BasicCopySource implementation for AzurePostgreSQLSource. -func (apss AzurePostgreSQLSource) AsBinarySource() (*BinarySource, bool) { +// AsJSONSource is the BasicCopySource implementation for AzurePostgreSQLSource. +func (apss AzurePostgreSQLSource) AsJSONSource() (*JSONSource, bool) { return nil, false } @@ -29150,6 +33354,15 @@ func (apss *AzurePostgreSQLSource) UnmarshalJSON(body []byte) error { } apss.Query = query } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + apss.QueryTimeout = queryTimeout + } default: if v != nil { var additionalProperties interface{} @@ -29224,7 +33437,7 @@ type AzurePostgreSQLTableDataset struct { Annotations *[]interface{} `json:"annotations,omitempty"` // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. Folder *DatasetFolder `json:"folder,omitempty"` - // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' + // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' Type TypeBasicDataset `json:"type,omitempty"` } @@ -29540,6 +33753,16 @@ func (apstd AzurePostgreSQLTableDataset) AsRelationalTableDataset() (*Relational return nil, false } +// AsDb2TableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset. +func (apstd AzurePostgreSQLTableDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset. +func (apstd AzurePostgreSQLTableDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + // AsAzureMySQLTableDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset. func (apstd AzurePostgreSQLTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { return nil, false @@ -29615,6 +33838,11 @@ func (apstd AzurePostgreSQLTableDataset) AsDocumentDbCollectionDataset() (*Docum return nil, false } +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset. +func (apstd AzurePostgreSQLTableDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + // AsCustomDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset. func (apstd AzurePostgreSQLTableDataset) AsCustomDataset() (*CustomDataset, bool) { return nil, false @@ -29655,6 +33883,16 @@ func (apstd AzurePostgreSQLTableDataset) AsBinaryDataset() (*BinaryDataset, bool return nil, false } +// AsOrcDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset. +func (apstd AzurePostgreSQLTableDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset. +func (apstd AzurePostgreSQLTableDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + // AsDelimitedTextDataset is the BasicDataset implementation for AzurePostgreSQLTableDataset. func (apstd AzurePostgreSQLTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { return nil, false @@ -29817,7 +34055,7 @@ type AzureQueueSink struct { SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"` // MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAvroSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzurePostgreSQLSink', 'TypeDelimitedTextSink' + // Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeCosmosDbSQLAPISink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAvroSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzureMySQLSink', 'TypeAzurePostgreSQLSink', 'TypeOrcSink', 'TypeJSONSink', 'TypeDelimitedTextSink' Type TypeBasicCopySink `json:"type,omitempty"` } @@ -29944,6 +34182,11 @@ func (aqs AzureQueueSink) AsSQLSink() (*SQLSink, bool) { return nil, false } +// AsCosmosDbSQLAPISink is the BasicCopySink implementation for AzureQueueSink. +func (aqs AzureQueueSink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) { + return nil, false +} + // AsDocumentDbCollectionSink is the BasicCopySink implementation for AzureQueueSink. func (aqs AzureQueueSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) { return nil, false @@ -29989,11 +34232,26 @@ func (aqs AzureQueueSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, return nil, false } +// AsAzureMySQLSink is the BasicCopySink implementation for AzureQueueSink. +func (aqs AzureQueueSink) AsAzureMySQLSink() (*AzureMySQLSink, bool) { + return nil, false +} + // AsAzurePostgreSQLSink is the BasicCopySink implementation for AzureQueueSink. func (aqs AzureQueueSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) { return nil, false } +// AsOrcSink is the BasicCopySink implementation for AzureQueueSink. +func (aqs AzureQueueSink) AsOrcSink() (*OrcSink, bool) { + return nil, false +} + +// AsJSONSink is the BasicCopySink implementation for AzureQueueSink. +func (aqs AzureQueueSink) AsJSONSink() (*JSONSink, bool) { + return nil, false +} + // AsDelimitedTextSink is the BasicCopySink implementation for AzureQueueSink. func (aqs AzureQueueSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) { return nil, false @@ -30110,7 +34368,7 @@ type AzureSearchIndexDataset struct { Annotations *[]interface{} `json:"annotations,omitempty"` // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. Folder *DatasetFolder `json:"folder,omitempty"` - // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' + // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' Type TypeBasicDataset `json:"type,omitempty"` } @@ -30426,6 +34684,16 @@ func (asid AzureSearchIndexDataset) AsRelationalTableDataset() (*RelationalTable return nil, false } +// AsDb2TableDataset is the BasicDataset implementation for AzureSearchIndexDataset. +func (asid AzureSearchIndexDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for AzureSearchIndexDataset. +func (asid AzureSearchIndexDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + // AsAzureMySQLTableDataset is the BasicDataset implementation for AzureSearchIndexDataset. func (asid AzureSearchIndexDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { return nil, false @@ -30501,6 +34769,11 @@ func (asid AzureSearchIndexDataset) AsDocumentDbCollectionDataset() (*DocumentDb return nil, false } +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for AzureSearchIndexDataset. +func (asid AzureSearchIndexDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + // AsCustomDataset is the BasicDataset implementation for AzureSearchIndexDataset. func (asid AzureSearchIndexDataset) AsCustomDataset() (*CustomDataset, bool) { return nil, false @@ -30541,6 +34814,16 @@ func (asid AzureSearchIndexDataset) AsBinaryDataset() (*BinaryDataset, bool) { return nil, false } +// AsOrcDataset is the BasicDataset implementation for AzureSearchIndexDataset. +func (asid AzureSearchIndexDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for AzureSearchIndexDataset. +func (asid AzureSearchIndexDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + // AsDelimitedTextDataset is the BasicDataset implementation for AzureSearchIndexDataset. func (asid AzureSearchIndexDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { return nil, false @@ -30701,7 +34984,7 @@ type AzureSearchIndexSink struct { SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"` // MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAvroSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzurePostgreSQLSink', 'TypeDelimitedTextSink' + // Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeCosmosDbSQLAPISink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAvroSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzureMySQLSink', 'TypeAzurePostgreSQLSink', 'TypeOrcSink', 'TypeJSONSink', 'TypeDelimitedTextSink' Type TypeBasicCopySink `json:"type,omitempty"` } @@ -30831,6 +35114,11 @@ func (asis AzureSearchIndexSink) AsSQLSink() (*SQLSink, bool) { return nil, false } +// AsCosmosDbSQLAPISink is the BasicCopySink implementation for AzureSearchIndexSink. +func (asis AzureSearchIndexSink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) { + return nil, false +} + // AsDocumentDbCollectionSink is the BasicCopySink implementation for AzureSearchIndexSink. func (asis AzureSearchIndexSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) { return nil, false @@ -30876,11 +35164,26 @@ func (asis AzureSearchIndexSink) AsSapCloudForCustomerSink() (*SapCloudForCustom return nil, false } +// AsAzureMySQLSink is the BasicCopySink implementation for AzureSearchIndexSink. +func (asis AzureSearchIndexSink) AsAzureMySQLSink() (*AzureMySQLSink, bool) { + return nil, false +} + // AsAzurePostgreSQLSink is the BasicCopySink implementation for AzureSearchIndexSink. func (asis AzureSearchIndexSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) { return nil, false } +// AsOrcSink is the BasicCopySink implementation for AzureSearchIndexSink. +func (asis AzureSearchIndexSink) AsOrcSink() (*OrcSink, bool) { + return nil, false +} + +// AsJSONSink is the BasicCopySink implementation for AzureSearchIndexSink. +func (asis AzureSearchIndexSink) AsJSONSink() (*JSONSink, bool) { + return nil, false +} + // AsDelimitedTextSink is the BasicCopySink implementation for AzureSearchIndexSink. func (asis AzureSearchIndexSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) { return nil, false @@ -31000,7 +35303,7 @@ type AzureSearchLinkedService struct { Parameters map[string]*ParameterSpecification `json:"parameters"` // Annotations - List of tags that can be used for describing the linked service. Annotations *[]interface{} `json:"annotations,omitempty"` - // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' + // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' Type TypeBasicLinkedService `json:"type,omitempty"` } @@ -31372,6 +35675,11 @@ func (asls AzureSearchLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, return nil, false } +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService. +func (asls AzureSearchLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + // AsAzureMLLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService. func (asls AzureSearchLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { return nil, false @@ -31412,6 +35720,16 @@ func (asls AzureSearchLinkedService) AsOracleLinkedService() (*OracleLinkedServi return nil, false } +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService. +func (asls AzureSearchLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService. +func (asls AzureSearchLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + // AsFileServerLinkedService is the BasicLinkedService implementation for AzureSearchLinkedService. func (asls AzureSearchLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { return nil, false @@ -31643,7 +35961,7 @@ type AzureSQLDatabaseLinkedService struct { Parameters map[string]*ParameterSpecification `json:"parameters"` // Annotations - List of tags that can be used for describing the linked service. Annotations *[]interface{} `json:"annotations,omitempty"` - // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' + // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' Type TypeBasicLinkedService `json:"type,omitempty"` } @@ -32015,6 +36333,11 @@ func (asdls AzureSQLDatabaseLinkedService) AsOdbcLinkedService() (*OdbcLinkedSer return nil, false } +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService. +func (asdls AzureSQLDatabaseLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + // AsAzureMLLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService. func (asdls AzureSQLDatabaseLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { return nil, false @@ -32055,6 +36378,16 @@ func (asdls AzureSQLDatabaseLinkedService) AsOracleLinkedService() (*OracleLinke return nil, false } +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService. +func (asdls AzureSQLDatabaseLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService. +func (asdls AzureSQLDatabaseLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + // AsFileServerLinkedService is the BasicLinkedService implementation for AzureSQLDatabaseLinkedService. func (asdls AzureSQLDatabaseLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { return nil, false @@ -32319,7 +36652,7 @@ type AzureSQLDWLinkedService struct { Parameters map[string]*ParameterSpecification `json:"parameters"` // Annotations - List of tags that can be used for describing the linked service. Annotations *[]interface{} `json:"annotations,omitempty"` - // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' + // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' Type TypeBasicLinkedService `json:"type,omitempty"` } @@ -32691,6 +37024,11 @@ func (asdls AzureSQLDWLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, return nil, false } +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService. +func (asdls AzureSQLDWLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + // AsAzureMLLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService. func (asdls AzureSQLDWLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { return nil, false @@ -32731,6 +37069,16 @@ func (asdls AzureSQLDWLinkedService) AsOracleLinkedService() (*OracleLinkedServi return nil, false } +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService. +func (asdls AzureSQLDWLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService. +func (asdls AzureSQLDWLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + // AsFileServerLinkedService is the BasicLinkedService implementation for AzureSQLDWLinkedService. func (asdls AzureSQLDWLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { return nil, false @@ -33001,7 +37349,7 @@ type AzureSQLDWTableDataset struct { Annotations *[]interface{} `json:"annotations,omitempty"` // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. Folder *DatasetFolder `json:"folder,omitempty"` - // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' + // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' Type TypeBasicDataset `json:"type,omitempty"` } @@ -33317,6 +37665,16 @@ func (asdtd AzureSQLDWTableDataset) AsRelationalTableDataset() (*RelationalTable return nil, false } +// AsDb2TableDataset is the BasicDataset implementation for AzureSQLDWTableDataset. +func (asdtd AzureSQLDWTableDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset. +func (asdtd AzureSQLDWTableDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + // AsAzureMySQLTableDataset is the BasicDataset implementation for AzureSQLDWTableDataset. func (asdtd AzureSQLDWTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { return nil, false @@ -33392,6 +37750,11 @@ func (asdtd AzureSQLDWTableDataset) AsDocumentDbCollectionDataset() (*DocumentDb return nil, false } +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for AzureSQLDWTableDataset. +func (asdtd AzureSQLDWTableDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + // AsCustomDataset is the BasicDataset implementation for AzureSQLDWTableDataset. func (asdtd AzureSQLDWTableDataset) AsCustomDataset() (*CustomDataset, bool) { return nil, false @@ -33432,6 +37795,16 @@ func (asdtd AzureSQLDWTableDataset) AsBinaryDataset() (*BinaryDataset, bool) { return nil, false } +// AsOrcDataset is the BasicDataset implementation for AzureSQLDWTableDataset. +func (asdtd AzureSQLDWTableDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for AzureSQLDWTableDataset. +func (asdtd AzureSQLDWTableDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + // AsDelimitedTextDataset is the BasicDataset implementation for AzureSQLDWTableDataset. func (asdtd AzureSQLDWTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { return nil, false @@ -33594,7 +37967,7 @@ type AzureSQLMILinkedService struct { Parameters map[string]*ParameterSpecification `json:"parameters"` // Annotations - List of tags that can be used for describing the linked service. Annotations *[]interface{} `json:"annotations,omitempty"` - // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' + // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' Type TypeBasicLinkedService `json:"type,omitempty"` } @@ -33966,6 +38339,11 @@ func (asmls AzureSQLMILinkedService) AsOdbcLinkedService() (*OdbcLinkedService, return nil, false } +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService. +func (asmls AzureSQLMILinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + // AsAzureMLLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService. func (asmls AzureSQLMILinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { return nil, false @@ -34006,6 +38384,16 @@ func (asmls AzureSQLMILinkedService) AsOracleLinkedService() (*OracleLinkedServi return nil, false } +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService. +func (asmls AzureSQLMILinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService. +func (asmls AzureSQLMILinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + // AsFileServerLinkedService is the BasicLinkedService implementation for AzureSQLMILinkedService. func (asmls AzureSQLMILinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { return nil, false @@ -34276,7 +38664,7 @@ type AzureSQLMITableDataset struct { Annotations *[]interface{} `json:"annotations,omitempty"` // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. Folder *DatasetFolder `json:"folder,omitempty"` - // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' + // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' Type TypeBasicDataset `json:"type,omitempty"` } @@ -34592,6 +38980,16 @@ func (asmtd AzureSQLMITableDataset) AsRelationalTableDataset() (*RelationalTable return nil, false } +// AsDb2TableDataset is the BasicDataset implementation for AzureSQLMITableDataset. +func (asmtd AzureSQLMITableDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for AzureSQLMITableDataset. +func (asmtd AzureSQLMITableDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + // AsAzureMySQLTableDataset is the BasicDataset implementation for AzureSQLMITableDataset. func (asmtd AzureSQLMITableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { return nil, false @@ -34667,6 +39065,11 @@ func (asmtd AzureSQLMITableDataset) AsDocumentDbCollectionDataset() (*DocumentDb return nil, false } +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for AzureSQLMITableDataset. +func (asmtd AzureSQLMITableDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + // AsCustomDataset is the BasicDataset implementation for AzureSQLMITableDataset. func (asmtd AzureSQLMITableDataset) AsCustomDataset() (*CustomDataset, bool) { return nil, false @@ -34707,6 +39110,16 @@ func (asmtd AzureSQLMITableDataset) AsBinaryDataset() (*BinaryDataset, bool) { return nil, false } +// AsOrcDataset is the BasicDataset implementation for AzureSQLMITableDataset. +func (asmtd AzureSQLMITableDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for AzureSQLMITableDataset. +func (asmtd AzureSQLMITableDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + // AsDelimitedTextDataset is the BasicDataset implementation for AzureSQLMITableDataset. func (asmtd AzureSQLMITableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { return nil, false @@ -34867,6 +39280,8 @@ type AzureSQLSink struct { StoredProcedureParameters map[string]*StoredProcedureParameter `json:"storedProcedureParameters"` // StoredProcedureTableTypeParameterName - The stored procedure parameter name of the table type. Type: string (or Expression with resultType string). StoredProcedureTableTypeParameterName interface{} `json:"storedProcedureTableTypeParameterName,omitempty"` + // TableOption - The option to handle sink table, such as autoCreate. For now only 'autoCreate' value is supported. Type: string (or Expression with resultType string). + TableOption interface{} `json:"tableOption,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` // WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0. @@ -34879,7 +39294,7 @@ type AzureSQLSink struct { SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"` // MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAvroSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzurePostgreSQLSink', 'TypeDelimitedTextSink' + // Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeCosmosDbSQLAPISink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAvroSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzureMySQLSink', 'TypeAzurePostgreSQLSink', 'TypeOrcSink', 'TypeJSONSink', 'TypeDelimitedTextSink' Type TypeBasicCopySink `json:"type,omitempty"` } @@ -34902,6 +39317,9 @@ func (ass AzureSQLSink) MarshalJSON() ([]byte, error) { if ass.StoredProcedureTableTypeParameterName != nil { objectMap["storedProcedureTableTypeParameterName"] = ass.StoredProcedureTableTypeParameterName } + if ass.TableOption != nil { + objectMap["tableOption"] = ass.TableOption + } if ass.WriteBatchSize != nil { objectMap["writeBatchSize"] = ass.WriteBatchSize } @@ -35021,6 +39439,11 @@ func (ass AzureSQLSink) AsSQLSink() (*SQLSink, bool) { return nil, false } +// AsCosmosDbSQLAPISink is the BasicCopySink implementation for AzureSQLSink. +func (ass AzureSQLSink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) { + return nil, false +} + // AsDocumentDbCollectionSink is the BasicCopySink implementation for AzureSQLSink. func (ass AzureSQLSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) { return nil, false @@ -35066,11 +39489,26 @@ func (ass AzureSQLSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, b return nil, false } +// AsAzureMySQLSink is the BasicCopySink implementation for AzureSQLSink. +func (ass AzureSQLSink) AsAzureMySQLSink() (*AzureMySQLSink, bool) { + return nil, false +} + // AsAzurePostgreSQLSink is the BasicCopySink implementation for AzureSQLSink. func (ass AzureSQLSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) { return nil, false } +// AsOrcSink is the BasicCopySink implementation for AzureSQLSink. +func (ass AzureSQLSink) AsOrcSink() (*OrcSink, bool) { + return nil, false +} + +// AsJSONSink is the BasicCopySink implementation for AzureSQLSink. +func (ass AzureSQLSink) AsJSONSink() (*JSONSink, bool) { + return nil, false +} + // AsDelimitedTextSink is the BasicCopySink implementation for AzureSQLSink. func (ass AzureSQLSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) { return nil, false @@ -35140,6 +39578,15 @@ func (ass *AzureSQLSink) UnmarshalJSON(body []byte) error { } ass.StoredProcedureTableTypeParameterName = storedProcedureTableTypeParameterName } + case "tableOption": + if v != nil { + var tableOption interface{} + err = json.Unmarshal(*v, &tableOption) + if err != nil { + return err + } + ass.TableOption = tableOption + } default: if v != nil { var additionalProperties interface{} @@ -35222,6 +39669,8 @@ type AzureSQLSource struct { StoredProcedureParameters map[string]*StoredProcedureParameter `json:"storedProcedureParameters"` // ProduceAdditionalTypes - Which additional types to produce. ProduceAdditionalTypes interface{} `json:"produceAdditionalTypes,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). @@ -35230,7 +39679,7 @@ type AzureSQLSource struct { SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' + // Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' Type TypeBasicCopySource `json:"type,omitempty"` } @@ -35250,6 +39699,9 @@ func (ass AzureSQLSource) MarshalJSON() ([]byte, error) { if ass.ProduceAdditionalTypes != nil { objectMap["produceAdditionalTypes"] = ass.ProduceAdditionalTypes } + if ass.QueryTimeout != nil { + objectMap["queryTimeout"] = ass.QueryTimeout + } if ass.SourceRetryCount != nil { objectMap["sourceRetryCount"] = ass.SourceRetryCount } @@ -35268,6 +39720,121 @@ func (ass AzureSQLSource) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } +// AsHTTPSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + // AsAmazonRedshiftSource is the BasicCopySource implementation for AzureSQLSource. func (ass AzureSQLSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { return nil, false @@ -35443,81 +40010,21 @@ func (ass AzureSQLSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { return nil, false } -// AsHTTPSource is the BasicCopySource implementation for AzureSQLSource. -func (ass AzureSQLSource) AsHTTPSource() (*HTTPSource, bool) { - return nil, false -} - -// AsAzureBlobFSSource is the BasicCopySource implementation for AzureSQLSource. -func (ass AzureSQLSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { - return nil, false -} - -// AsAzureDataLakeStoreSource is the BasicCopySource implementation for AzureSQLSource. -func (ass AzureSQLSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { - return nil, false -} - -// AsOffice365Source is the BasicCopySource implementation for AzureSQLSource. -func (ass AzureSQLSource) AsOffice365Source() (*Office365Source, bool) { - return nil, false -} - -// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for AzureSQLSource. -func (ass AzureSQLSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { - return nil, false -} - -// AsMongoDbV2Source is the BasicCopySource implementation for AzureSQLSource. -func (ass AzureSQLSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { - return nil, false -} - -// AsMongoDbSource is the BasicCopySource implementation for AzureSQLSource. -func (ass AzureSQLSource) AsMongoDbSource() (*MongoDbSource, bool) { - return nil, false -} - // AsCassandraSource is the BasicCopySource implementation for AzureSQLSource. func (ass AzureSQLSource) AsCassandraSource() (*CassandraSource, bool) { return nil, false } -// AsWebSource is the BasicCopySource implementation for AzureSQLSource. -func (ass AzureSQLSource) AsWebSource() (*WebSource, bool) { - return nil, false -} - // AsTeradataSource is the BasicCopySource implementation for AzureSQLSource. func (ass AzureSQLSource) AsTeradataSource() (*TeradataSource, bool) { return nil, false } -// AsOracleSource is the BasicCopySource implementation for AzureSQLSource. -func (ass AzureSQLSource) AsOracleSource() (*OracleSource, bool) { - return nil, false -} - -// AsAzureDataExplorerSource is the BasicCopySource implementation for AzureSQLSource. -func (ass AzureSQLSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { - return nil, false -} - // AsAzureMySQLSource is the BasicCopySource implementation for AzureSQLSource. func (ass AzureSQLSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { return nil, false } -// AsHdfsSource is the BasicCopySource implementation for AzureSQLSource. -func (ass AzureSQLSource) AsHdfsSource() (*HdfsSource, bool) { - return nil, false -} - -// AsFileSystemSource is the BasicCopySource implementation for AzureSQLSource. -func (ass AzureSQLSource) AsFileSystemSource() (*FileSystemSource, bool) { - return nil, false -} - // AsSQLDWSource is the BasicCopySource implementation for AzureSQLSource. func (ass AzureSQLSource) AsSQLDWSource() (*SQLDWSource, bool) { return nil, false @@ -35543,11 +40050,6 @@ func (ass AzureSQLSource) AsSQLSource() (*SQLSource, bool) { return nil, false } -// AsRestSource is the BasicCopySource implementation for AzureSQLSource. -func (ass AzureSQLSource) AsRestSource() (*RestSource, bool) { - return nil, false -} - // AsSapTableSource is the BasicCopySource implementation for AzureSQLSource. func (ass AzureSQLSource) AsSapTableSource() (*SapTableSource, bool) { return nil, false @@ -35573,21 +40075,11 @@ func (ass AzureSQLSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSou return nil, false } -// AsSalesforceServiceCloudSource is the BasicCopySource implementation for AzureSQLSource. -func (ass AzureSQLSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { - return nil, false -} - // AsSalesforceSource is the BasicCopySource implementation for AzureSQLSource. func (ass AzureSQLSource) AsSalesforceSource() (*SalesforceSource, bool) { return nil, false } -// AsODataSource is the BasicCopySource implementation for AzureSQLSource. -func (ass AzureSQLSource) AsODataSource() (*ODataSource, bool) { - return nil, false -} - // AsSapBwSource is the BasicCopySource implementation for AzureSQLSource. func (ass AzureSQLSource) AsSapBwSource() (*SapBwSource, bool) { return nil, false @@ -35618,53 +40110,38 @@ func (ass AzureSQLSource) AsDb2Source() (*Db2Source, bool) { return nil, false } -// AsMicrosoftAccessSource is the BasicCopySource implementation for AzureSQLSource. -func (ass AzureSQLSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { - return nil, false -} - // AsInformixSource is the BasicCopySource implementation for AzureSQLSource. func (ass AzureSQLSource) AsInformixSource() (*InformixSource, bool) { return nil, false } -// AsRelationalSource is the BasicCopySource implementation for AzureSQLSource. -func (ass AzureSQLSource) AsRelationalSource() (*RelationalSource, bool) { - return nil, false -} - -// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for AzureSQLSource. -func (ass AzureSQLSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { - return nil, false -} - -// AsDynamicsCrmSource is the BasicCopySource implementation for AzureSQLSource. -func (ass AzureSQLSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { +// AsAzureTableSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsAzureTableSource() (*AzureTableSource, bool) { return nil, false } -// AsDynamicsSource is the BasicCopySource implementation for AzureSQLSource. -func (ass AzureSQLSource) AsDynamicsSource() (*DynamicsSource, bool) { +// AsTabularSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsTabularSource() (*TabularSource, bool) { return nil, false } -// AsDocumentDbCollectionSource is the BasicCopySource implementation for AzureSQLSource. -func (ass AzureSQLSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { - return nil, false +// AsBasicTabularSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &ass, true } -// AsBlobSource is the BasicCopySource implementation for AzureSQLSource. -func (ass AzureSQLSource) AsBlobSource() (*BlobSource, bool) { +// AsBinarySource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsBinarySource() (*BinarySource, bool) { return nil, false } -// AsAzureTableSource is the BasicCopySource implementation for AzureSQLSource. -func (ass AzureSQLSource) AsAzureTableSource() (*AzureTableSource, bool) { +// AsOrcSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsOrcSource() (*OrcSource, bool) { return nil, false } -// AsBinarySource is the BasicCopySource implementation for AzureSQLSource. -func (ass AzureSQLSource) AsBinarySource() (*BinarySource, bool) { +// AsJSONSource is the BasicCopySource implementation for AzureSQLSource. +func (ass AzureSQLSource) AsJSONSource() (*JSONSource, bool) { return nil, false } @@ -35738,6 +40215,15 @@ func (ass *AzureSQLSource) UnmarshalJSON(body []byte) error { } ass.ProduceAdditionalTypes = produceAdditionalTypes } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + ass.QueryTimeout = queryTimeout + } default: if v != nil { var additionalProperties interface{} @@ -35812,7 +40298,7 @@ type AzureSQLTableDataset struct { Annotations *[]interface{} `json:"annotations,omitempty"` // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. Folder *DatasetFolder `json:"folder,omitempty"` - // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' + // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' Type TypeBasicDataset `json:"type,omitempty"` } @@ -36128,6 +40614,16 @@ func (astd AzureSQLTableDataset) AsRelationalTableDataset() (*RelationalTableDat return nil, false } +// AsDb2TableDataset is the BasicDataset implementation for AzureSQLTableDataset. +func (astd AzureSQLTableDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for AzureSQLTableDataset. +func (astd AzureSQLTableDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + // AsAzureMySQLTableDataset is the BasicDataset implementation for AzureSQLTableDataset. func (astd AzureSQLTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { return nil, false @@ -36203,6 +40699,11 @@ func (astd AzureSQLTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCol return nil, false } +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for AzureSQLTableDataset. +func (astd AzureSQLTableDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + // AsCustomDataset is the BasicDataset implementation for AzureSQLTableDataset. func (astd AzureSQLTableDataset) AsCustomDataset() (*CustomDataset, bool) { return nil, false @@ -36243,6 +40744,16 @@ func (astd AzureSQLTableDataset) AsBinaryDataset() (*BinaryDataset, bool) { return nil, false } +// AsOrcDataset is the BasicDataset implementation for AzureSQLTableDataset. +func (astd AzureSQLTableDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for AzureSQLTableDataset. +func (astd AzureSQLTableDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + // AsDelimitedTextDataset is the BasicDataset implementation for AzureSQLTableDataset. func (astd AzureSQLTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { return nil, false @@ -36405,7 +40916,7 @@ type AzureStorageLinkedService struct { Parameters map[string]*ParameterSpecification `json:"parameters"` // Annotations - List of tags that can be used for describing the linked service. Annotations *[]interface{} `json:"annotations,omitempty"` - // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' + // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' Type TypeBasicLinkedService `json:"type,omitempty"` } @@ -36777,6 +41288,11 @@ func (asls AzureStorageLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, return nil, false } +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService. +func (asls AzureStorageLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + // AsAzureMLLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService. func (asls AzureStorageLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { return nil, false @@ -36817,6 +41333,16 @@ func (asls AzureStorageLinkedService) AsOracleLinkedService() (*OracleLinkedServ return nil, false } +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService. +func (asls AzureStorageLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService. +func (asls AzureStorageLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + // AsFileServerLinkedService is the BasicLinkedService implementation for AzureStorageLinkedService. func (asls AzureStorageLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { return nil, false @@ -37017,7 +41543,7 @@ type AzureTableDataset struct { Annotations *[]interface{} `json:"annotations,omitempty"` // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. Folder *DatasetFolder `json:"folder,omitempty"` - // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' + // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' Type TypeBasicDataset `json:"type,omitempty"` } @@ -37333,6 +41859,16 @@ func (atd AzureTableDataset) AsRelationalTableDataset() (*RelationalTableDataset return nil, false } +// AsDb2TableDataset is the BasicDataset implementation for AzureTableDataset. +func (atd AzureTableDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for AzureTableDataset. +func (atd AzureTableDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + // AsAzureMySQLTableDataset is the BasicDataset implementation for AzureTableDataset. func (atd AzureTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { return nil, false @@ -37408,6 +41944,11 @@ func (atd AzureTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollect return nil, false } +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for AzureTableDataset. +func (atd AzureTableDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + // AsCustomDataset is the BasicDataset implementation for AzureTableDataset. func (atd AzureTableDataset) AsCustomDataset() (*CustomDataset, bool) { return nil, false @@ -37448,6 +41989,16 @@ func (atd AzureTableDataset) AsBinaryDataset() (*BinaryDataset, bool) { return nil, false } +// AsOrcDataset is the BasicDataset implementation for AzureTableDataset. +func (atd AzureTableDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for AzureTableDataset. +func (atd AzureTableDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + // AsDelimitedTextDataset is the BasicDataset implementation for AzureTableDataset. func (atd AzureTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { return nil, false @@ -37614,7 +42165,7 @@ type AzureTableSink struct { SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"` // MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAvroSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzurePostgreSQLSink', 'TypeDelimitedTextSink' + // Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeCosmosDbSQLAPISink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAvroSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzureMySQLSink', 'TypeAzurePostgreSQLSink', 'TypeOrcSink', 'TypeJSONSink', 'TypeDelimitedTextSink' Type TypeBasicCopySink `json:"type,omitempty"` } @@ -37753,6 +42304,11 @@ func (ats AzureTableSink) AsSQLSink() (*SQLSink, bool) { return nil, false } +// AsCosmosDbSQLAPISink is the BasicCopySink implementation for AzureTableSink. +func (ats AzureTableSink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) { + return nil, false +} + // AsDocumentDbCollectionSink is the BasicCopySink implementation for AzureTableSink. func (ats AzureTableSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) { return nil, false @@ -37798,11 +42354,26 @@ func (ats AzureTableSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, return nil, false } +// AsAzureMySQLSink is the BasicCopySink implementation for AzureTableSink. +func (ats AzureTableSink) AsAzureMySQLSink() (*AzureMySQLSink, bool) { + return nil, false +} + // AsAzurePostgreSQLSink is the BasicCopySink implementation for AzureTableSink. func (ats AzureTableSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) { return nil, false } +// AsOrcSink is the BasicCopySink implementation for AzureTableSink. +func (ats AzureTableSink) AsOrcSink() (*OrcSink, bool) { + return nil, false +} + +// AsJSONSink is the BasicCopySink implementation for AzureTableSink. +func (ats AzureTableSink) AsJSONSink() (*JSONSink, bool) { + return nil, false +} + // AsDelimitedTextSink is the BasicCopySink implementation for AzureTableSink. func (ats AzureTableSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) { return nil, false @@ -37941,6 +42512,8 @@ type AzureTableSource struct { AzureTableSourceQuery interface{} `json:"azureTableSourceQuery,omitempty"` // AzureTableSourceIgnoreTableNotFound - Azure Table source ignore table not found. Type: boolean (or Expression with resultType boolean). AzureTableSourceIgnoreTableNotFound interface{} `json:"azureTableSourceIgnoreTableNotFound,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). @@ -37949,7 +42522,7 @@ type AzureTableSource struct { SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' + // Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' Type TypeBasicCopySource `json:"type,omitempty"` } @@ -37963,6 +42536,9 @@ func (ats AzureTableSource) MarshalJSON() ([]byte, error) { if ats.AzureTableSourceIgnoreTableNotFound != nil { objectMap["azureTableSourceIgnoreTableNotFound"] = ats.AzureTableSourceIgnoreTableNotFound } + if ats.QueryTimeout != nil { + objectMap["queryTimeout"] = ats.QueryTimeout + } if ats.SourceRetryCount != nil { objectMap["sourceRetryCount"] = ats.SourceRetryCount } @@ -37981,6 +42557,121 @@ func (ats AzureTableSource) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } +// AsHTTPSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + // AsAmazonRedshiftSource is the BasicCopySource implementation for AzureTableSource. func (ats AzureTableSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { return nil, false @@ -38156,81 +42847,21 @@ func (ats AzureTableSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { return nil, false } -// AsHTTPSource is the BasicCopySource implementation for AzureTableSource. -func (ats AzureTableSource) AsHTTPSource() (*HTTPSource, bool) { - return nil, false -} - -// AsAzureBlobFSSource is the BasicCopySource implementation for AzureTableSource. -func (ats AzureTableSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { - return nil, false -} - -// AsAzureDataLakeStoreSource is the BasicCopySource implementation for AzureTableSource. -func (ats AzureTableSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { - return nil, false -} - -// AsOffice365Source is the BasicCopySource implementation for AzureTableSource. -func (ats AzureTableSource) AsOffice365Source() (*Office365Source, bool) { - return nil, false -} - -// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for AzureTableSource. -func (ats AzureTableSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { - return nil, false -} - -// AsMongoDbV2Source is the BasicCopySource implementation for AzureTableSource. -func (ats AzureTableSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { - return nil, false -} - -// AsMongoDbSource is the BasicCopySource implementation for AzureTableSource. -func (ats AzureTableSource) AsMongoDbSource() (*MongoDbSource, bool) { - return nil, false -} - // AsCassandraSource is the BasicCopySource implementation for AzureTableSource. func (ats AzureTableSource) AsCassandraSource() (*CassandraSource, bool) { return nil, false } -// AsWebSource is the BasicCopySource implementation for AzureTableSource. -func (ats AzureTableSource) AsWebSource() (*WebSource, bool) { - return nil, false -} - // AsTeradataSource is the BasicCopySource implementation for AzureTableSource. func (ats AzureTableSource) AsTeradataSource() (*TeradataSource, bool) { return nil, false } -// AsOracleSource is the BasicCopySource implementation for AzureTableSource. -func (ats AzureTableSource) AsOracleSource() (*OracleSource, bool) { - return nil, false -} - -// AsAzureDataExplorerSource is the BasicCopySource implementation for AzureTableSource. -func (ats AzureTableSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { - return nil, false -} - // AsAzureMySQLSource is the BasicCopySource implementation for AzureTableSource. func (ats AzureTableSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { return nil, false } -// AsHdfsSource is the BasicCopySource implementation for AzureTableSource. -func (ats AzureTableSource) AsHdfsSource() (*HdfsSource, bool) { - return nil, false -} - -// AsFileSystemSource is the BasicCopySource implementation for AzureTableSource. -func (ats AzureTableSource) AsFileSystemSource() (*FileSystemSource, bool) { - return nil, false -} - // AsSQLDWSource is the BasicCopySource implementation for AzureTableSource. func (ats AzureTableSource) AsSQLDWSource() (*SQLDWSource, bool) { return nil, false @@ -38256,11 +42887,6 @@ func (ats AzureTableSource) AsSQLSource() (*SQLSource, bool) { return nil, false } -// AsRestSource is the BasicCopySource implementation for AzureTableSource. -func (ats AzureTableSource) AsRestSource() (*RestSource, bool) { - return nil, false -} - // AsSapTableSource is the BasicCopySource implementation for AzureTableSource. func (ats AzureTableSource) AsSapTableSource() (*SapTableSource, bool) { return nil, false @@ -38286,21 +42912,11 @@ func (ats AzureTableSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerS return nil, false } -// AsSalesforceServiceCloudSource is the BasicCopySource implementation for AzureTableSource. -func (ats AzureTableSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { - return nil, false -} - // AsSalesforceSource is the BasicCopySource implementation for AzureTableSource. func (ats AzureTableSource) AsSalesforceSource() (*SalesforceSource, bool) { return nil, false } -// AsODataSource is the BasicCopySource implementation for AzureTableSource. -func (ats AzureTableSource) AsODataSource() (*ODataSource, bool) { - return nil, false -} - // AsSapBwSource is the BasicCopySource implementation for AzureTableSource. func (ats AzureTableSource) AsSapBwSource() (*SapBwSource, bool) { return nil, false @@ -38331,53 +42947,38 @@ func (ats AzureTableSource) AsDb2Source() (*Db2Source, bool) { return nil, false } -// AsMicrosoftAccessSource is the BasicCopySource implementation for AzureTableSource. -func (ats AzureTableSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { - return nil, false -} - // AsInformixSource is the BasicCopySource implementation for AzureTableSource. func (ats AzureTableSource) AsInformixSource() (*InformixSource, bool) { return nil, false } -// AsRelationalSource is the BasicCopySource implementation for AzureTableSource. -func (ats AzureTableSource) AsRelationalSource() (*RelationalSource, bool) { - return nil, false -} - -// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for AzureTableSource. -func (ats AzureTableSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { - return nil, false +// AsAzureTableSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsAzureTableSource() (*AzureTableSource, bool) { + return &ats, true } -// AsDynamicsCrmSource is the BasicCopySource implementation for AzureTableSource. -func (ats AzureTableSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { +// AsTabularSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsTabularSource() (*TabularSource, bool) { return nil, false } -// AsDynamicsSource is the BasicCopySource implementation for AzureTableSource. -func (ats AzureTableSource) AsDynamicsSource() (*DynamicsSource, bool) { - return nil, false +// AsBasicTabularSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &ats, true } -// AsDocumentDbCollectionSource is the BasicCopySource implementation for AzureTableSource. -func (ats AzureTableSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { +// AsBinarySource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsBinarySource() (*BinarySource, bool) { return nil, false } -// AsBlobSource is the BasicCopySource implementation for AzureTableSource. -func (ats AzureTableSource) AsBlobSource() (*BlobSource, bool) { +// AsOrcSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsOrcSource() (*OrcSource, bool) { return nil, false } -// AsAzureTableSource is the BasicCopySource implementation for AzureTableSource. -func (ats AzureTableSource) AsAzureTableSource() (*AzureTableSource, bool) { - return &ats, true -} - -// AsBinarySource is the BasicCopySource implementation for AzureTableSource. -func (ats AzureTableSource) AsBinarySource() (*BinarySource, bool) { +// AsJSONSource is the BasicCopySource implementation for AzureTableSource. +func (ats AzureTableSource) AsJSONSource() (*JSONSource, bool) { return nil, false } @@ -38433,6 +43034,15 @@ func (ats *AzureTableSource) UnmarshalJSON(body []byte) error { } ats.AzureTableSourceIgnoreTableNotFound = azureTableSourceIgnoreTableNotFound } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + ats.QueryTimeout = queryTimeout + } default: if v != nil { var additionalProperties interface{} @@ -38501,7 +43111,7 @@ type AzureTableStorageLinkedService struct { Parameters map[string]*ParameterSpecification `json:"parameters"` // Annotations - List of tags that can be used for describing the linked service. Annotations *[]interface{} `json:"annotations,omitempty"` - // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' + // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' Type TypeBasicLinkedService `json:"type,omitempty"` } @@ -38873,6 +43483,11 @@ func (atsls AzureTableStorageLinkedService) AsOdbcLinkedService() (*OdbcLinkedSe return nil, false } +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService. +func (atsls AzureTableStorageLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + // AsAzureMLLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService. func (atsls AzureTableStorageLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { return nil, false @@ -38913,6 +43528,16 @@ func (atsls AzureTableStorageLinkedService) AsOracleLinkedService() (*OracleLink return nil, false } +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService. +func (atsls AzureTableStorageLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService. +func (atsls AzureTableStorageLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + // AsFileServerLinkedService is the BasicLinkedService implementation for AzureTableStorageLinkedService. func (atsls AzureTableStorageLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { return nil, false @@ -39099,7 +43724,7 @@ type BinaryDataset struct { Annotations *[]interface{} `json:"annotations,omitempty"` // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. Folder *DatasetFolder `json:"folder,omitempty"` - // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' + // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' Type TypeBasicDataset `json:"type,omitempty"` } @@ -39415,6 +44040,16 @@ func (bd BinaryDataset) AsRelationalTableDataset() (*RelationalTableDataset, boo return nil, false } +// AsDb2TableDataset is the BasicDataset implementation for BinaryDataset. +func (bd BinaryDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for BinaryDataset. +func (bd BinaryDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + // AsAzureMySQLTableDataset is the BasicDataset implementation for BinaryDataset. func (bd BinaryDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { return nil, false @@ -39490,6 +44125,11 @@ func (bd BinaryDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDa return nil, false } +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for BinaryDataset. +func (bd BinaryDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + // AsCustomDataset is the BasicDataset implementation for BinaryDataset. func (bd BinaryDataset) AsCustomDataset() (*CustomDataset, bool) { return nil, false @@ -39530,6 +44170,16 @@ func (bd BinaryDataset) AsBinaryDataset() (*BinaryDataset, bool) { return &bd, true } +// AsOrcDataset is the BasicDataset implementation for BinaryDataset. +func (bd BinaryDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for BinaryDataset. +func (bd BinaryDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + // AsDelimitedTextDataset is the BasicDataset implementation for BinaryDataset. func (bd BinaryDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { return nil, false @@ -39711,7 +44361,7 @@ func (bdtp *BinaryDatasetTypeProperties) UnmarshalJSON(body []byte) error { // BinarySink a copy activity Binary sink. type BinarySink struct { // StoreSettings - Binary store settings. - StoreSettings *StoreReadSettings `json:"storeSettings,omitempty"` + StoreSettings BasicStoreWriteSettings `json:"storeSettings,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` // WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0. @@ -39724,7 +44374,7 @@ type BinarySink struct { SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"` // MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAvroSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzurePostgreSQLSink', 'TypeDelimitedTextSink' + // Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeCosmosDbSQLAPISink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAvroSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzureMySQLSink', 'TypeAzurePostgreSQLSink', 'TypeOrcSink', 'TypeJSONSink', 'TypeDelimitedTextSink' Type TypeBasicCopySink `json:"type,omitempty"` } @@ -39732,9 +44382,7 @@ type BinarySink struct { func (bs BinarySink) MarshalJSON() ([]byte, error) { bs.Type = TypeBinarySink objectMap := make(map[string]interface{}) - if bs.StoreSettings != nil { - objectMap["storeSettings"] = bs.StoreSettings - } + objectMap["storeSettings"] = bs.StoreSettings if bs.WriteBatchSize != nil { objectMap["writeBatchSize"] = bs.WriteBatchSize } @@ -39854,6 +44502,11 @@ func (bs BinarySink) AsSQLSink() (*SQLSink, bool) { return nil, false } +// AsCosmosDbSQLAPISink is the BasicCopySink implementation for BinarySink. +func (bs BinarySink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) { + return nil, false +} + // AsDocumentDbCollectionSink is the BasicCopySink implementation for BinarySink. func (bs BinarySink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) { return nil, false @@ -39899,11 +44552,26 @@ func (bs BinarySink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool return nil, false } +// AsAzureMySQLSink is the BasicCopySink implementation for BinarySink. +func (bs BinarySink) AsAzureMySQLSink() (*AzureMySQLSink, bool) { + return nil, false +} + // AsAzurePostgreSQLSink is the BasicCopySink implementation for BinarySink. func (bs BinarySink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) { return nil, false } +// AsOrcSink is the BasicCopySink implementation for BinarySink. +func (bs BinarySink) AsOrcSink() (*OrcSink, bool) { + return nil, false +} + +// AsJSONSink is the BasicCopySink implementation for BinarySink. +func (bs BinarySink) AsJSONSink() (*JSONSink, bool) { + return nil, false +} + // AsDelimitedTextSink is the BasicCopySink implementation for BinarySink. func (bs BinarySink) AsDelimitedTextSink() (*DelimitedTextSink, bool) { return nil, false @@ -39930,12 +44598,11 @@ func (bs *BinarySink) UnmarshalJSON(body []byte) error { switch k { case "storeSettings": if v != nil { - var storeSettings StoreReadSettings - err = json.Unmarshal(*v, &storeSettings) + storeSettings, err := unmarshalBasicStoreWriteSettings(*v) if err != nil { return err } - bs.StoreSettings = &storeSettings + bs.StoreSettings = storeSettings } default: if v != nil { @@ -40021,7 +44688,7 @@ type BinarySource struct { SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' + // Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' Type TypeBasicCopySource `json:"type,omitempty"` } @@ -40050,6 +44717,121 @@ func (bs BinarySource) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } +// AsHTTPSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + // AsAmazonRedshiftSource is the BasicCopySource implementation for BinarySource. func (bs BinarySource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { return nil, false @@ -40225,81 +45007,21 @@ func (bs BinarySource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { return nil, false } -// AsHTTPSource is the BasicCopySource implementation for BinarySource. -func (bs BinarySource) AsHTTPSource() (*HTTPSource, bool) { - return nil, false -} - -// AsAzureBlobFSSource is the BasicCopySource implementation for BinarySource. -func (bs BinarySource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { - return nil, false -} - -// AsAzureDataLakeStoreSource is the BasicCopySource implementation for BinarySource. -func (bs BinarySource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { - return nil, false -} - -// AsOffice365Source is the BasicCopySource implementation for BinarySource. -func (bs BinarySource) AsOffice365Source() (*Office365Source, bool) { - return nil, false -} - -// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for BinarySource. -func (bs BinarySource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { - return nil, false -} - -// AsMongoDbV2Source is the BasicCopySource implementation for BinarySource. -func (bs BinarySource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { - return nil, false -} - -// AsMongoDbSource is the BasicCopySource implementation for BinarySource. -func (bs BinarySource) AsMongoDbSource() (*MongoDbSource, bool) { - return nil, false -} - // AsCassandraSource is the BasicCopySource implementation for BinarySource. func (bs BinarySource) AsCassandraSource() (*CassandraSource, bool) { return nil, false } -// AsWebSource is the BasicCopySource implementation for BinarySource. -func (bs BinarySource) AsWebSource() (*WebSource, bool) { - return nil, false -} - // AsTeradataSource is the BasicCopySource implementation for BinarySource. func (bs BinarySource) AsTeradataSource() (*TeradataSource, bool) { return nil, false } -// AsOracleSource is the BasicCopySource implementation for BinarySource. -func (bs BinarySource) AsOracleSource() (*OracleSource, bool) { - return nil, false -} - -// AsAzureDataExplorerSource is the BasicCopySource implementation for BinarySource. -func (bs BinarySource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { - return nil, false -} - // AsAzureMySQLSource is the BasicCopySource implementation for BinarySource. func (bs BinarySource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { return nil, false } -// AsHdfsSource is the BasicCopySource implementation for BinarySource. -func (bs BinarySource) AsHdfsSource() (*HdfsSource, bool) { - return nil, false -} - -// AsFileSystemSource is the BasicCopySource implementation for BinarySource. -func (bs BinarySource) AsFileSystemSource() (*FileSystemSource, bool) { - return nil, false -} - // AsSQLDWSource is the BasicCopySource implementation for BinarySource. func (bs BinarySource) AsSQLDWSource() (*SQLDWSource, bool) { return nil, false @@ -40325,11 +45047,6 @@ func (bs BinarySource) AsSQLSource() (*SQLSource, bool) { return nil, false } -// AsRestSource is the BasicCopySource implementation for BinarySource. -func (bs BinarySource) AsRestSource() (*RestSource, bool) { - return nil, false -} - // AsSapTableSource is the BasicCopySource implementation for BinarySource. func (bs BinarySource) AsSapTableSource() (*SapTableSource, bool) { return nil, false @@ -40355,21 +45072,11 @@ func (bs BinarySource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource return nil, false } -// AsSalesforceServiceCloudSource is the BasicCopySource implementation for BinarySource. -func (bs BinarySource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { - return nil, false -} - // AsSalesforceSource is the BasicCopySource implementation for BinarySource. func (bs BinarySource) AsSalesforceSource() (*SalesforceSource, bool) { return nil, false } -// AsODataSource is the BasicCopySource implementation for BinarySource. -func (bs BinarySource) AsODataSource() (*ODataSource, bool) { - return nil, false -} - // AsSapBwSource is the BasicCopySource implementation for BinarySource. func (bs BinarySource) AsSapBwSource() (*SapBwSource, bool) { return nil, false @@ -40400,56 +45107,41 @@ func (bs BinarySource) AsDb2Source() (*Db2Source, bool) { return nil, false } -// AsMicrosoftAccessSource is the BasicCopySource implementation for BinarySource. -func (bs BinarySource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { - return nil, false -} - // AsInformixSource is the BasicCopySource implementation for BinarySource. func (bs BinarySource) AsInformixSource() (*InformixSource, bool) { return nil, false } -// AsRelationalSource is the BasicCopySource implementation for BinarySource. -func (bs BinarySource) AsRelationalSource() (*RelationalSource, bool) { - return nil, false -} - -// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for BinarySource. -func (bs BinarySource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { +// AsAzureTableSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsAzureTableSource() (*AzureTableSource, bool) { return nil, false } -// AsDynamicsCrmSource is the BasicCopySource implementation for BinarySource. -func (bs BinarySource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { +// AsTabularSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsTabularSource() (*TabularSource, bool) { return nil, false } -// AsDynamicsSource is the BasicCopySource implementation for BinarySource. -func (bs BinarySource) AsDynamicsSource() (*DynamicsSource, bool) { +// AsBasicTabularSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsBasicTabularSource() (BasicTabularSource, bool) { return nil, false } -// AsDocumentDbCollectionSource is the BasicCopySource implementation for BinarySource. -func (bs BinarySource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { - return nil, false +// AsBinarySource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsBinarySource() (*BinarySource, bool) { + return &bs, true } -// AsBlobSource is the BasicCopySource implementation for BinarySource. -func (bs BinarySource) AsBlobSource() (*BlobSource, bool) { +// AsOrcSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsOrcSource() (*OrcSource, bool) { return nil, false } -// AsAzureTableSource is the BasicCopySource implementation for BinarySource. -func (bs BinarySource) AsAzureTableSource() (*AzureTableSource, bool) { +// AsJSONSource is the BasicCopySource implementation for BinarySource. +func (bs BinarySource) AsJSONSource() (*JSONSource, bool) { return nil, false } -// AsBinarySource is the BasicCopySource implementation for BinarySource. -func (bs BinarySource) AsBinarySource() (*BinarySource, bool) { - return &bs, true -} - // AsDelimitedTextSource is the BasicCopySource implementation for BinarySource. func (bs BinarySource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { return nil, false @@ -40557,11 +45249,11 @@ type BlobEventsTrigger struct { AdditionalProperties map[string]interface{} `json:""` // Description - Trigger description. Description *string `json:"description,omitempty"` - // RuntimeState - READ-ONLY; Indicates if trigger is running or not. Updated when Start/Stop APIs are called on the Trigger. Possible values include: 'Started', 'Stopped', 'Disabled' + // RuntimeState - READ-ONLY; Indicates if trigger is running or not. Updated when Start/Stop APIs are called on the Trigger. Possible values include: 'TriggerRuntimeStateStarted', 'TriggerRuntimeStateStopped', 'TriggerRuntimeStateDisabled' RuntimeState TriggerRuntimeState `json:"runtimeState,omitempty"` // Annotations - List of tags that can be used for describing the trigger. Annotations *[]interface{} `json:"annotations,omitempty"` - // Type - Possible values include: 'TypeTrigger', 'TypeRerunTumblingWindowTrigger', 'TypeTumblingWindowTrigger', 'TypeBlobEventsTrigger', 'TypeBlobTrigger', 'TypeScheduleTrigger', 'TypeMultiplePipelineTrigger' + // Type - Possible values include: 'TypeTrigger', 'TypeRerunTumblingWindowTrigger', 'TypeChainingTrigger', 'TypeTumblingWindowTrigger', 'TypeBlobEventsTrigger', 'TypeBlobTrigger', 'TypeScheduleTrigger', 'TypeMultiplePipelineTrigger' Type TypeBasicTrigger `json:"type,omitempty"` } @@ -40595,6 +45287,11 @@ func (bet BlobEventsTrigger) AsRerunTumblingWindowTrigger() (*RerunTumblingWindo return nil, false } +// AsChainingTrigger is the BasicTrigger implementation for BlobEventsTrigger. +func (bet BlobEventsTrigger) AsChainingTrigger() (*ChainingTrigger, bool) { + return nil, false +} + // AsTumblingWindowTrigger is the BasicTrigger implementation for BlobEventsTrigger. func (bet BlobEventsTrigger) AsTumblingWindowTrigger() (*TumblingWindowTrigger, bool) { return nil, false @@ -40722,6 +45419,8 @@ type BlobEventsTriggerTypeProperties struct { BlobPathBeginsWith *string `json:"blobPathBeginsWith,omitempty"` // BlobPathEndsWith - The blob path must end with the pattern provided for trigger to fire. For example, 'december/boxes.csv' will only fire the trigger for blobs named boxes in a december folder. At least one of these must be provided: blobPathBeginsWith, blobPathEndsWith. BlobPathEndsWith *string `json:"blobPathEndsWith,omitempty"` + // IgnoreEmptyBlobs - If set to true, blobs with zero bytes will be ignored. + IgnoreEmptyBlobs *bool `json:"ignoreEmptyBlobs,omitempty"` // Events - The type of events that cause this trigger to fire. Events *[]BlobEventTypes `json:"events,omitempty"` // Scope - The ARM resource ID of the Storage Account. @@ -40750,7 +45449,7 @@ type BlobSink struct { SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"` // MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAvroSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzurePostgreSQLSink', 'TypeDelimitedTextSink' + // Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeCosmosDbSQLAPISink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAvroSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzureMySQLSink', 'TypeAzurePostgreSQLSink', 'TypeOrcSink', 'TypeJSONSink', 'TypeDelimitedTextSink' Type TypeBasicCopySink `json:"type,omitempty"` } @@ -40889,6 +45588,11 @@ func (bs BlobSink) AsSQLSink() (*SQLSink, bool) { return nil, false } +// AsCosmosDbSQLAPISink is the BasicCopySink implementation for BlobSink. +func (bs BlobSink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) { + return nil, false +} + // AsDocumentDbCollectionSink is the BasicCopySink implementation for BlobSink. func (bs BlobSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) { return nil, false @@ -40934,11 +45638,26 @@ func (bs BlobSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) return nil, false } +// AsAzureMySQLSink is the BasicCopySink implementation for BlobSink. +func (bs BlobSink) AsAzureMySQLSink() (*AzureMySQLSink, bool) { + return nil, false +} + // AsAzurePostgreSQLSink is the BasicCopySink implementation for BlobSink. func (bs BlobSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) { return nil, false } +// AsOrcSink is the BasicCopySink implementation for BlobSink. +func (bs BlobSink) AsOrcSink() (*OrcSink, bool) { + return nil, false +} + +// AsJSONSink is the BasicCopySink implementation for BlobSink. +func (bs BlobSink) AsJSONSink() (*JSONSink, bool) { + return nil, false +} + // AsDelimitedTextSink is the BasicCopySink implementation for BlobSink. func (bs BlobSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) { return nil, false @@ -41087,7 +45806,7 @@ type BlobSource struct { SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' + // Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' Type TypeBasicCopySource `json:"type,omitempty"` } @@ -41122,6 +45841,121 @@ func (bs BlobSource) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } +// AsHTTPSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsBlobSource() (*BlobSource, bool) { + return &bs, true +} + // AsAmazonRedshiftSource is the BasicCopySource implementation for BlobSource. func (bs BlobSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { return nil, false @@ -41297,81 +46131,21 @@ func (bs BlobSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { return nil, false } -// AsHTTPSource is the BasicCopySource implementation for BlobSource. -func (bs BlobSource) AsHTTPSource() (*HTTPSource, bool) { - return nil, false -} - -// AsAzureBlobFSSource is the BasicCopySource implementation for BlobSource. -func (bs BlobSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { - return nil, false -} - -// AsAzureDataLakeStoreSource is the BasicCopySource implementation for BlobSource. -func (bs BlobSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { - return nil, false -} - -// AsOffice365Source is the BasicCopySource implementation for BlobSource. -func (bs BlobSource) AsOffice365Source() (*Office365Source, bool) { - return nil, false -} - -// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for BlobSource. -func (bs BlobSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { - return nil, false -} - -// AsMongoDbV2Source is the BasicCopySource implementation for BlobSource. -func (bs BlobSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { - return nil, false -} - -// AsMongoDbSource is the BasicCopySource implementation for BlobSource. -func (bs BlobSource) AsMongoDbSource() (*MongoDbSource, bool) { - return nil, false -} - // AsCassandraSource is the BasicCopySource implementation for BlobSource. func (bs BlobSource) AsCassandraSource() (*CassandraSource, bool) { return nil, false } -// AsWebSource is the BasicCopySource implementation for BlobSource. -func (bs BlobSource) AsWebSource() (*WebSource, bool) { - return nil, false -} - // AsTeradataSource is the BasicCopySource implementation for BlobSource. func (bs BlobSource) AsTeradataSource() (*TeradataSource, bool) { return nil, false } -// AsOracleSource is the BasicCopySource implementation for BlobSource. -func (bs BlobSource) AsOracleSource() (*OracleSource, bool) { - return nil, false -} - -// AsAzureDataExplorerSource is the BasicCopySource implementation for BlobSource. -func (bs BlobSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { - return nil, false -} - // AsAzureMySQLSource is the BasicCopySource implementation for BlobSource. func (bs BlobSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { return nil, false } -// AsHdfsSource is the BasicCopySource implementation for BlobSource. -func (bs BlobSource) AsHdfsSource() (*HdfsSource, bool) { - return nil, false -} - -// AsFileSystemSource is the BasicCopySource implementation for BlobSource. -func (bs BlobSource) AsFileSystemSource() (*FileSystemSource, bool) { - return nil, false -} - // AsSQLDWSource is the BasicCopySource implementation for BlobSource. func (bs BlobSource) AsSQLDWSource() (*SQLDWSource, bool) { return nil, false @@ -41397,11 +46171,6 @@ func (bs BlobSource) AsSQLSource() (*SQLSource, bool) { return nil, false } -// AsRestSource is the BasicCopySource implementation for BlobSource. -func (bs BlobSource) AsRestSource() (*RestSource, bool) { - return nil, false -} - // AsSapTableSource is the BasicCopySource implementation for BlobSource. func (bs BlobSource) AsSapTableSource() (*SapTableSource, bool) { return nil, false @@ -41427,21 +46196,11 @@ func (bs BlobSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, return nil, false } -// AsSalesforceServiceCloudSource is the BasicCopySource implementation for BlobSource. -func (bs BlobSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { - return nil, false -} - // AsSalesforceSource is the BasicCopySource implementation for BlobSource. func (bs BlobSource) AsSalesforceSource() (*SalesforceSource, bool) { return nil, false } -// AsODataSource is the BasicCopySource implementation for BlobSource. -func (bs BlobSource) AsODataSource() (*ODataSource, bool) { - return nil, false -} - // AsSapBwSource is the BasicCopySource implementation for BlobSource. func (bs BlobSource) AsSapBwSource() (*SapBwSource, bool) { return nil, false @@ -41472,53 +46231,38 @@ func (bs BlobSource) AsDb2Source() (*Db2Source, bool) { return nil, false } -// AsMicrosoftAccessSource is the BasicCopySource implementation for BlobSource. -func (bs BlobSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { - return nil, false -} - // AsInformixSource is the BasicCopySource implementation for BlobSource. func (bs BlobSource) AsInformixSource() (*InformixSource, bool) { return nil, false } -// AsRelationalSource is the BasicCopySource implementation for BlobSource. -func (bs BlobSource) AsRelationalSource() (*RelationalSource, bool) { +// AsAzureTableSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsAzureTableSource() (*AzureTableSource, bool) { return nil, false } -// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for BlobSource. -func (bs BlobSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { +// AsTabularSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsTabularSource() (*TabularSource, bool) { return nil, false } -// AsDynamicsCrmSource is the BasicCopySource implementation for BlobSource. -func (bs BlobSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { +// AsBasicTabularSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsBasicTabularSource() (BasicTabularSource, bool) { return nil, false } -// AsDynamicsSource is the BasicCopySource implementation for BlobSource. -func (bs BlobSource) AsDynamicsSource() (*DynamicsSource, bool) { +// AsBinarySource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsBinarySource() (*BinarySource, bool) { return nil, false } -// AsDocumentDbCollectionSource is the BasicCopySource implementation for BlobSource. -func (bs BlobSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { +// AsOrcSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsOrcSource() (*OrcSource, bool) { return nil, false } -// AsBlobSource is the BasicCopySource implementation for BlobSource. -func (bs BlobSource) AsBlobSource() (*BlobSource, bool) { - return &bs, true -} - -// AsAzureTableSource is the BasicCopySource implementation for BlobSource. -func (bs BlobSource) AsAzureTableSource() (*AzureTableSource, bool) { - return nil, false -} - -// AsBinarySource is the BasicCopySource implementation for BlobSource. -func (bs BlobSource) AsBinarySource() (*BinarySource, bool) { +// AsJSONSource is the BasicCopySource implementation for BlobSource. +func (bs BlobSource) AsJSONSource() (*JSONSource, bool) { return nil, false } @@ -41647,11 +46391,11 @@ type BlobTrigger struct { AdditionalProperties map[string]interface{} `json:""` // Description - Trigger description. Description *string `json:"description,omitempty"` - // RuntimeState - READ-ONLY; Indicates if trigger is running or not. Updated when Start/Stop APIs are called on the Trigger. Possible values include: 'Started', 'Stopped', 'Disabled' + // RuntimeState - READ-ONLY; Indicates if trigger is running or not. Updated when Start/Stop APIs are called on the Trigger. Possible values include: 'TriggerRuntimeStateStarted', 'TriggerRuntimeStateStopped', 'TriggerRuntimeStateDisabled' RuntimeState TriggerRuntimeState `json:"runtimeState,omitempty"` // Annotations - List of tags that can be used for describing the trigger. Annotations *[]interface{} `json:"annotations,omitempty"` - // Type - Possible values include: 'TypeTrigger', 'TypeRerunTumblingWindowTrigger', 'TypeTumblingWindowTrigger', 'TypeBlobEventsTrigger', 'TypeBlobTrigger', 'TypeScheduleTrigger', 'TypeMultiplePipelineTrigger' + // Type - Possible values include: 'TypeTrigger', 'TypeRerunTumblingWindowTrigger', 'TypeChainingTrigger', 'TypeTumblingWindowTrigger', 'TypeBlobEventsTrigger', 'TypeBlobTrigger', 'TypeScheduleTrigger', 'TypeMultiplePipelineTrigger' Type TypeBasicTrigger `json:"type,omitempty"` } @@ -41685,6 +46429,11 @@ func (bt BlobTrigger) AsRerunTumblingWindowTrigger() (*RerunTumblingWindowTrigge return nil, false } +// AsChainingTrigger is the BasicTrigger implementation for BlobTrigger. +func (bt BlobTrigger) AsChainingTrigger() (*ChainingTrigger, bool) { + return nil, false +} + // AsTumblingWindowTrigger is the BasicTrigger implementation for BlobTrigger. func (bt BlobTrigger) AsTumblingWindowTrigger() (*TumblingWindowTrigger, bool) { return nil, false @@ -41830,7 +46579,7 @@ type CassandraLinkedService struct { Parameters map[string]*ParameterSpecification `json:"parameters"` // Annotations - List of tags that can be used for describing the linked service. Annotations *[]interface{} `json:"annotations,omitempty"` - // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' + // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' Type TypeBasicLinkedService `json:"type,omitempty"` } @@ -42202,6 +46951,11 @@ func (cls CassandraLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, boo return nil, false } +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for CassandraLinkedService. +func (cls CassandraLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + // AsAzureMLLinkedService is the BasicLinkedService implementation for CassandraLinkedService. func (cls CassandraLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { return nil, false @@ -42242,6 +46996,16 @@ func (cls CassandraLinkedService) AsOracleLinkedService() (*OracleLinkedService, return nil, false } +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for CassandraLinkedService. +func (cls CassandraLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for CassandraLinkedService. +func (cls CassandraLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + // AsFileServerLinkedService is the BasicLinkedService implementation for CassandraLinkedService. func (cls CassandraLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { return nil, false @@ -42498,6 +47262,8 @@ type CassandraSource struct { Query interface{} `json:"query,omitempty"` // ConsistencyLevel - The consistency level specifies how many Cassandra servers must respond to a read request before returning data to the client application. Cassandra checks the specified number of Cassandra servers for data to satisfy the read request. Must be one of cassandraSourceReadConsistencyLevels. The default value is 'ONE'. It is case-insensitive. Possible values include: 'ALL', 'EACHQUORUM', 'QUORUM', 'LOCALQUORUM', 'ONE', 'TWO', 'THREE', 'LOCALONE', 'SERIAL', 'LOCALSERIAL' ConsistencyLevel CassandraSourceReadConsistencyLevels `json:"consistencyLevel,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). @@ -42506,7 +47272,7 @@ type CassandraSource struct { SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' + // Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' Type TypeBasicCopySource `json:"type,omitempty"` } @@ -42520,6 +47286,9 @@ func (cs CassandraSource) MarshalJSON() ([]byte, error) { if cs.ConsistencyLevel != "" { objectMap["consistencyLevel"] = cs.ConsistencyLevel } + if cs.QueryTimeout != nil { + objectMap["queryTimeout"] = cs.QueryTimeout + } if cs.SourceRetryCount != nil { objectMap["sourceRetryCount"] = cs.SourceRetryCount } @@ -42538,6 +47307,121 @@ func (cs CassandraSource) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } +// AsHTTPSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + // AsAmazonRedshiftSource is the BasicCopySource implementation for CassandraSource. func (cs CassandraSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { return nil, false @@ -42713,81 +47597,21 @@ func (cs CassandraSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { return nil, false } -// AsHTTPSource is the BasicCopySource implementation for CassandraSource. -func (cs CassandraSource) AsHTTPSource() (*HTTPSource, bool) { - return nil, false -} - -// AsAzureBlobFSSource is the BasicCopySource implementation for CassandraSource. -func (cs CassandraSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { - return nil, false -} - -// AsAzureDataLakeStoreSource is the BasicCopySource implementation for CassandraSource. -func (cs CassandraSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { - return nil, false -} - -// AsOffice365Source is the BasicCopySource implementation for CassandraSource. -func (cs CassandraSource) AsOffice365Source() (*Office365Source, bool) { - return nil, false -} - -// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for CassandraSource. -func (cs CassandraSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { - return nil, false -} - -// AsMongoDbV2Source is the BasicCopySource implementation for CassandraSource. -func (cs CassandraSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { - return nil, false -} - -// AsMongoDbSource is the BasicCopySource implementation for CassandraSource. -func (cs CassandraSource) AsMongoDbSource() (*MongoDbSource, bool) { - return nil, false -} - // AsCassandraSource is the BasicCopySource implementation for CassandraSource. func (cs CassandraSource) AsCassandraSource() (*CassandraSource, bool) { return &cs, true } -// AsWebSource is the BasicCopySource implementation for CassandraSource. -func (cs CassandraSource) AsWebSource() (*WebSource, bool) { - return nil, false -} - // AsTeradataSource is the BasicCopySource implementation for CassandraSource. func (cs CassandraSource) AsTeradataSource() (*TeradataSource, bool) { return nil, false } -// AsOracleSource is the BasicCopySource implementation for CassandraSource. -func (cs CassandraSource) AsOracleSource() (*OracleSource, bool) { - return nil, false -} - -// AsAzureDataExplorerSource is the BasicCopySource implementation for CassandraSource. -func (cs CassandraSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { - return nil, false -} - // AsAzureMySQLSource is the BasicCopySource implementation for CassandraSource. func (cs CassandraSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { return nil, false } -// AsHdfsSource is the BasicCopySource implementation for CassandraSource. -func (cs CassandraSource) AsHdfsSource() (*HdfsSource, bool) { - return nil, false -} - -// AsFileSystemSource is the BasicCopySource implementation for CassandraSource. -func (cs CassandraSource) AsFileSystemSource() (*FileSystemSource, bool) { - return nil, false -} - // AsSQLDWSource is the BasicCopySource implementation for CassandraSource. func (cs CassandraSource) AsSQLDWSource() (*SQLDWSource, bool) { return nil, false @@ -42813,11 +47637,6 @@ func (cs CassandraSource) AsSQLSource() (*SQLSource, bool) { return nil, false } -// AsRestSource is the BasicCopySource implementation for CassandraSource. -func (cs CassandraSource) AsRestSource() (*RestSource, bool) { - return nil, false -} - // AsSapTableSource is the BasicCopySource implementation for CassandraSource. func (cs CassandraSource) AsSapTableSource() (*SapTableSource, bool) { return nil, false @@ -42843,21 +47662,11 @@ func (cs CassandraSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSou return nil, false } -// AsSalesforceServiceCloudSource is the BasicCopySource implementation for CassandraSource. -func (cs CassandraSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { - return nil, false -} - // AsSalesforceSource is the BasicCopySource implementation for CassandraSource. func (cs CassandraSource) AsSalesforceSource() (*SalesforceSource, bool) { return nil, false } -// AsODataSource is the BasicCopySource implementation for CassandraSource. -func (cs CassandraSource) AsODataSource() (*ODataSource, bool) { - return nil, false -} - // AsSapBwSource is the BasicCopySource implementation for CassandraSource. func (cs CassandraSource) AsSapBwSource() (*SapBwSource, bool) { return nil, false @@ -42888,53 +47697,38 @@ func (cs CassandraSource) AsDb2Source() (*Db2Source, bool) { return nil, false } -// AsMicrosoftAccessSource is the BasicCopySource implementation for CassandraSource. -func (cs CassandraSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { - return nil, false -} - // AsInformixSource is the BasicCopySource implementation for CassandraSource. func (cs CassandraSource) AsInformixSource() (*InformixSource, bool) { return nil, false } -// AsRelationalSource is the BasicCopySource implementation for CassandraSource. -func (cs CassandraSource) AsRelationalSource() (*RelationalSource, bool) { - return nil, false -} - -// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for CassandraSource. -func (cs CassandraSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { - return nil, false -} - -// AsDynamicsCrmSource is the BasicCopySource implementation for CassandraSource. -func (cs CassandraSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { +// AsAzureTableSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsAzureTableSource() (*AzureTableSource, bool) { return nil, false } -// AsDynamicsSource is the BasicCopySource implementation for CassandraSource. -func (cs CassandraSource) AsDynamicsSource() (*DynamicsSource, bool) { +// AsTabularSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsTabularSource() (*TabularSource, bool) { return nil, false } -// AsDocumentDbCollectionSource is the BasicCopySource implementation for CassandraSource. -func (cs CassandraSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { - return nil, false +// AsBasicTabularSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &cs, true } -// AsBlobSource is the BasicCopySource implementation for CassandraSource. -func (cs CassandraSource) AsBlobSource() (*BlobSource, bool) { +// AsBinarySource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsBinarySource() (*BinarySource, bool) { return nil, false } -// AsAzureTableSource is the BasicCopySource implementation for CassandraSource. -func (cs CassandraSource) AsAzureTableSource() (*AzureTableSource, bool) { +// AsOrcSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsOrcSource() (*OrcSource, bool) { return nil, false } -// AsBinarySource is the BasicCopySource implementation for CassandraSource. -func (cs CassandraSource) AsBinarySource() (*BinarySource, bool) { +// AsJSONSource is the BasicCopySource implementation for CassandraSource. +func (cs CassandraSource) AsJSONSource() (*JSONSource, bool) { return nil, false } @@ -42990,6 +47784,15 @@ func (cs *CassandraSource) UnmarshalJSON(body []byte) error { } cs.ConsistencyLevel = consistencyLevel } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + cs.QueryTimeout = queryTimeout + } default: if v != nil { var additionalProperties interface{} @@ -43064,7 +47867,7 @@ type CassandraTableDataset struct { Annotations *[]interface{} `json:"annotations,omitempty"` // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. Folder *DatasetFolder `json:"folder,omitempty"` - // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' + // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' Type TypeBasicDataset `json:"type,omitempty"` } @@ -43380,6 +48183,16 @@ func (ctd CassandraTableDataset) AsRelationalTableDataset() (*RelationalTableDat return nil, false } +// AsDb2TableDataset is the BasicDataset implementation for CassandraTableDataset. +func (ctd CassandraTableDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for CassandraTableDataset. +func (ctd CassandraTableDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + // AsAzureMySQLTableDataset is the BasicDataset implementation for CassandraTableDataset. func (ctd CassandraTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { return nil, false @@ -43455,6 +48268,11 @@ func (ctd CassandraTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCol return nil, false } +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for CassandraTableDataset. +func (ctd CassandraTableDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + // AsCustomDataset is the BasicDataset implementation for CassandraTableDataset. func (ctd CassandraTableDataset) AsCustomDataset() (*CustomDataset, bool) { return nil, false @@ -43495,6 +48313,16 @@ func (ctd CassandraTableDataset) AsBinaryDataset() (*BinaryDataset, bool) { return nil, false } +// AsOrcDataset is the BasicDataset implementation for CassandraTableDataset. +func (ctd CassandraTableDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for CassandraTableDataset. +func (ctd CassandraTableDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + // AsDelimitedTextDataset is the BasicDataset implementation for CassandraTableDataset. func (ctd CassandraTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { return nil, false @@ -43641,6 +48469,191 @@ type CassandraTableDatasetTypeProperties struct { Keyspace interface{} `json:"keyspace,omitempty"` } +// ChainingTrigger trigger that allows the referenced pipeline to depend on other pipeline runs based on +// runDimension Name/Value pairs. Upstream pipelines should declare the same runDimension Name and their +// runs should have the values for those runDimensions. The referenced pipeline run would be triggered if +// the values for the runDimension match for all upstream pipeline runs. +type ChainingTrigger struct { + // Pipeline - Pipeline for which runs are created when all upstream pipelines complete successfully. + Pipeline *TriggerPipelineReference `json:"pipeline,omitempty"` + // ChainingTriggerTypeProperties - Chaining Trigger properties. + *ChainingTriggerTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - Trigger description. + Description *string `json:"description,omitempty"` + // RuntimeState - READ-ONLY; Indicates if trigger is running or not. Updated when Start/Stop APIs are called on the Trigger. Possible values include: 'TriggerRuntimeStateStarted', 'TriggerRuntimeStateStopped', 'TriggerRuntimeStateDisabled' + RuntimeState TriggerRuntimeState `json:"runtimeState,omitempty"` + // Annotations - List of tags that can be used for describing the trigger. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Type - Possible values include: 'TypeTrigger', 'TypeRerunTumblingWindowTrigger', 'TypeChainingTrigger', 'TypeTumblingWindowTrigger', 'TypeBlobEventsTrigger', 'TypeBlobTrigger', 'TypeScheduleTrigger', 'TypeMultiplePipelineTrigger' + Type TypeBasicTrigger `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for ChainingTrigger. +func (ct ChainingTrigger) MarshalJSON() ([]byte, error) { + ct.Type = TypeChainingTrigger + objectMap := make(map[string]interface{}) + if ct.Pipeline != nil { + objectMap["pipeline"] = ct.Pipeline + } + if ct.ChainingTriggerTypeProperties != nil { + objectMap["typeProperties"] = ct.ChainingTriggerTypeProperties + } + if ct.Description != nil { + objectMap["description"] = ct.Description + } + if ct.Annotations != nil { + objectMap["annotations"] = ct.Annotations + } + if ct.Type != "" { + objectMap["type"] = ct.Type + } + for k, v := range ct.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsRerunTumblingWindowTrigger is the BasicTrigger implementation for ChainingTrigger. +func (ct ChainingTrigger) AsRerunTumblingWindowTrigger() (*RerunTumblingWindowTrigger, bool) { + return nil, false +} + +// AsChainingTrigger is the BasicTrigger implementation for ChainingTrigger. +func (ct ChainingTrigger) AsChainingTrigger() (*ChainingTrigger, bool) { + return &ct, true +} + +// AsTumblingWindowTrigger is the BasicTrigger implementation for ChainingTrigger. +func (ct ChainingTrigger) AsTumblingWindowTrigger() (*TumblingWindowTrigger, bool) { + return nil, false +} + +// AsBlobEventsTrigger is the BasicTrigger implementation for ChainingTrigger. +func (ct ChainingTrigger) AsBlobEventsTrigger() (*BlobEventsTrigger, bool) { + return nil, false +} + +// AsBlobTrigger is the BasicTrigger implementation for ChainingTrigger. +func (ct ChainingTrigger) AsBlobTrigger() (*BlobTrigger, bool) { + return nil, false +} + +// AsScheduleTrigger is the BasicTrigger implementation for ChainingTrigger. +func (ct ChainingTrigger) AsScheduleTrigger() (*ScheduleTrigger, bool) { + return nil, false +} + +// AsMultiplePipelineTrigger is the BasicTrigger implementation for ChainingTrigger. +func (ct ChainingTrigger) AsMultiplePipelineTrigger() (*MultiplePipelineTrigger, bool) { + return nil, false +} + +// AsBasicMultiplePipelineTrigger is the BasicTrigger implementation for ChainingTrigger. +func (ct ChainingTrigger) AsBasicMultiplePipelineTrigger() (BasicMultiplePipelineTrigger, bool) { + return nil, false +} + +// AsTrigger is the BasicTrigger implementation for ChainingTrigger. +func (ct ChainingTrigger) AsTrigger() (*Trigger, bool) { + return nil, false +} + +// AsBasicTrigger is the BasicTrigger implementation for ChainingTrigger. +func (ct ChainingTrigger) AsBasicTrigger() (BasicTrigger, bool) { + return &ct, true +} + +// UnmarshalJSON is the custom unmarshaler for ChainingTrigger struct. +func (ct *ChainingTrigger) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "pipeline": + if v != nil { + var pipeline TriggerPipelineReference + err = json.Unmarshal(*v, &pipeline) + if err != nil { + return err + } + ct.Pipeline = &pipeline + } + case "typeProperties": + if v != nil { + var chainingTriggerTypeProperties ChainingTriggerTypeProperties + err = json.Unmarshal(*v, &chainingTriggerTypeProperties) + if err != nil { + return err + } + ct.ChainingTriggerTypeProperties = &chainingTriggerTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if ct.AdditionalProperties == nil { + ct.AdditionalProperties = make(map[string]interface{}) + } + ct.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + ct.Description = &description + } + case "runtimeState": + if v != nil { + var runtimeState TriggerRuntimeState + err = json.Unmarshal(*v, &runtimeState) + if err != nil { + return err + } + ct.RuntimeState = runtimeState + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + ct.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicTrigger + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ct.Type = typeVar + } + } + } + + return nil +} + +// ChainingTriggerTypeProperties chaining Trigger properties. +type ChainingTriggerTypeProperties struct { + // DependsOn - Upstream Pipelines. + DependsOn *[]PipelineReference `json:"dependsOn,omitempty"` + // RunDimension - Run Dimension property that needs to be emitted by upstream pipelines. + RunDimension *string `json:"runDimension,omitempty"` +} + // CloudError the object that defines the structure of an Azure Data Factory error response. type CloudError struct { // CloudErrorBody - Error data @@ -43692,6 +48705,136 @@ type CloudErrorBody struct { Details *[]CloudError `json:"details,omitempty"` } +// CmdkeySetup the custom setup of running cmdkey commands. +type CmdkeySetup struct { + // CmdkeySetupTypeProperties - Cmdkey command custom setup type properties. + *CmdkeySetupTypeProperties `json:"typeProperties,omitempty"` + // Type - Possible values include: 'TypeCustomSetupBase', 'TypeComponentSetup', 'TypeEnvironmentVariableSetup', 'TypeCmdkeySetup' + Type TypeBasicCustomSetupBase `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for CmdkeySetup. +func (cs CmdkeySetup) MarshalJSON() ([]byte, error) { + cs.Type = TypeCmdkeySetup + objectMap := make(map[string]interface{}) + if cs.CmdkeySetupTypeProperties != nil { + objectMap["typeProperties"] = cs.CmdkeySetupTypeProperties + } + if cs.Type != "" { + objectMap["type"] = cs.Type + } + return json.Marshal(objectMap) +} + +// AsComponentSetup is the BasicCustomSetupBase implementation for CmdkeySetup. +func (cs CmdkeySetup) AsComponentSetup() (*ComponentSetup, bool) { + return nil, false +} + +// AsEnvironmentVariableSetup is the BasicCustomSetupBase implementation for CmdkeySetup. +func (cs CmdkeySetup) AsEnvironmentVariableSetup() (*EnvironmentVariableSetup, bool) { + return nil, false +} + +// AsCmdkeySetup is the BasicCustomSetupBase implementation for CmdkeySetup. +func (cs CmdkeySetup) AsCmdkeySetup() (*CmdkeySetup, bool) { + return &cs, true +} + +// AsCustomSetupBase is the BasicCustomSetupBase implementation for CmdkeySetup. +func (cs CmdkeySetup) AsCustomSetupBase() (*CustomSetupBase, bool) { + return nil, false +} + +// AsBasicCustomSetupBase is the BasicCustomSetupBase implementation for CmdkeySetup. +func (cs CmdkeySetup) AsBasicCustomSetupBase() (BasicCustomSetupBase, bool) { + return &cs, true +} + +// UnmarshalJSON is the custom unmarshaler for CmdkeySetup struct. +func (cs *CmdkeySetup) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var cmdkeySetupTypeProperties CmdkeySetupTypeProperties + err = json.Unmarshal(*v, &cmdkeySetupTypeProperties) + if err != nil { + return err + } + cs.CmdkeySetupTypeProperties = &cmdkeySetupTypeProperties + } + case "type": + if v != nil { + var typeVar TypeBasicCustomSetupBase + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + cs.Type = typeVar + } + } + } + + return nil +} + +// CmdkeySetupTypeProperties cmdkey command custom setup type properties. +type CmdkeySetupTypeProperties struct { + // TargetName - The server name of data source access. + TargetName interface{} `json:"targetName,omitempty"` + // UserName - The user name of data source access. + UserName interface{} `json:"userName,omitempty"` + // Password - The password of data source access. + Password BasicSecretBase `json:"password,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for CmdkeySetupTypeProperties struct. +func (cstp *CmdkeySetupTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "targetName": + if v != nil { + var targetName interface{} + err = json.Unmarshal(*v, &targetName) + if err != nil { + return err + } + cstp.TargetName = targetName + } + case "userName": + if v != nil { + var userName interface{} + err = json.Unmarshal(*v, &userName) + if err != nil { + return err + } + cstp.UserName = userName + } + case "password": + if v != nil { + password, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + cstp.Password = password + } + } + } + + return nil +} + // CommonDataServiceForAppsEntityDataset the Common Data Service for Apps entity dataset. type CommonDataServiceForAppsEntityDataset struct { // CommonDataServiceForAppsEntityDatasetTypeProperties - Common Data Service for Apps entity dataset properties. @@ -43712,7 +48855,7 @@ type CommonDataServiceForAppsEntityDataset struct { Annotations *[]interface{} `json:"annotations,omitempty"` // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. Folder *DatasetFolder `json:"folder,omitempty"` - // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' + // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' Type TypeBasicDataset `json:"type,omitempty"` } @@ -44028,6 +49171,16 @@ func (cdsfaed CommonDataServiceForAppsEntityDataset) AsRelationalTableDataset() return nil, false } +// AsDb2TableDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset. +func (cdsfaed CommonDataServiceForAppsEntityDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset. +func (cdsfaed CommonDataServiceForAppsEntityDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + // AsAzureMySQLTableDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset. func (cdsfaed CommonDataServiceForAppsEntityDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { return nil, false @@ -44103,6 +49256,11 @@ func (cdsfaed CommonDataServiceForAppsEntityDataset) AsDocumentDbCollectionDatas return nil, false } +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset. +func (cdsfaed CommonDataServiceForAppsEntityDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + // AsCustomDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset. func (cdsfaed CommonDataServiceForAppsEntityDataset) AsCustomDataset() (*CustomDataset, bool) { return nil, false @@ -44143,6 +49301,16 @@ func (cdsfaed CommonDataServiceForAppsEntityDataset) AsBinaryDataset() (*BinaryD return nil, false } +// AsOrcDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset. +func (cdsfaed CommonDataServiceForAppsEntityDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset. +func (cdsfaed CommonDataServiceForAppsEntityDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + // AsDelimitedTextDataset is the BasicDataset implementation for CommonDataServiceForAppsEntityDataset. func (cdsfaed CommonDataServiceForAppsEntityDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { return nil, false @@ -44302,7 +49470,7 @@ type CommonDataServiceForAppsLinkedService struct { Parameters map[string]*ParameterSpecification `json:"parameters"` // Annotations - List of tags that can be used for describing the linked service. Annotations *[]interface{} `json:"annotations,omitempty"` - // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' + // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' Type TypeBasicLinkedService `json:"type,omitempty"` } @@ -44674,6 +49842,11 @@ func (cdsfals CommonDataServiceForAppsLinkedService) AsOdbcLinkedService() (*Odb return nil, false } +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService. +func (cdsfals CommonDataServiceForAppsLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + // AsAzureMLLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService. func (cdsfals CommonDataServiceForAppsLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { return nil, false @@ -44714,6 +49887,16 @@ func (cdsfals CommonDataServiceForAppsLinkedService) AsOracleLinkedService() (*O return nil, false } +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService. +func (cdsfals CommonDataServiceForAppsLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService. +func (cdsfals CommonDataServiceForAppsLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + // AsFileServerLinkedService is the BasicLinkedService implementation for CommonDataServiceForAppsLinkedService. func (cdsfals CommonDataServiceForAppsLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { return nil, false @@ -44893,12 +50076,18 @@ type CommonDataServiceForAppsLinkedServiceTypeProperties struct { ServiceURI interface{} `json:"serviceUri,omitempty"` // OrganizationName - The organization name of the Common Data Service for Apps instance. The property is required for on-prem and required for online when there are more than one Common Data Service for Apps instances associated with the user. Type: string (or Expression with resultType string). OrganizationName interface{} `json:"organizationName,omitempty"` - // AuthenticationType - The authentication type to connect to Common Data Service for Apps server. 'Office365' for online scenario, 'Ifd' for on-premises with Ifd scenario. Type: string (or Expression with resultType string). Possible values include: 'Office365', 'Ifd' + // AuthenticationType - The authentication type to connect to Common Data Service for Apps server. 'Office365' for online scenario, 'Ifd' for on-premises with Ifd scenario. 'AADServicePrincipal' for Server-To-Server authentication in online scenario. Type: string (or Expression with resultType string). Possible values include: 'Office365', 'Ifd', 'AADServicePrincipal' AuthenticationType DynamicsAuthenticationType `json:"authenticationType,omitempty"` // Username - User name to access the Common Data Service for Apps instance. Type: string (or Expression with resultType string). Username interface{} `json:"username,omitempty"` // Password - Password to access the Common Data Service for Apps instance. Password BasicSecretBase `json:"password,omitempty"` + // ServicePrincipalID - The client ID of the application in Azure Active Directory used for Server-To-Server authentication. Type: string (or Expression with resultType string). + ServicePrincipalID interface{} `json:"servicePrincipalId,omitempty"` + // ServicePrincipalCredentialType - The service principal credential type to use in Server-To-Server authentication. 'ServicePrincipalKey' for key/secret, 'ServicePrincipalCert' for certificate. Type: string (or Expression with resultType string). + ServicePrincipalCredentialType interface{} `json:"servicePrincipalCredentialType,omitempty"` + // ServicePrincipalCredential - The credential of the service principal object in Azure Active Directory. If servicePrincipalCredentialType is 'ServicePrincipalKey', servicePrincipalCredential can be SecureString or AzureKeyVaultSecretReference. If servicePrincipalCredentialType is 'ServicePrincipalCert', servicePrincipalCredential can only be AzureKeyVaultSecretReference. + ServicePrincipalCredential BasicSecretBase `json:"servicePrincipalCredential,omitempty"` // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` } @@ -44983,6 +50172,32 @@ func (cdsfalstp *CommonDataServiceForAppsLinkedServiceTypeProperties) UnmarshalJ } cdsfalstp.Password = password } + case "servicePrincipalId": + if v != nil { + var servicePrincipalID interface{} + err = json.Unmarshal(*v, &servicePrincipalID) + if err != nil { + return err + } + cdsfalstp.ServicePrincipalID = servicePrincipalID + } + case "servicePrincipalCredentialType": + if v != nil { + var servicePrincipalCredentialType interface{} + err = json.Unmarshal(*v, &servicePrincipalCredentialType) + if err != nil { + return err + } + cdsfalstp.ServicePrincipalCredentialType = servicePrincipalCredentialType + } + case "servicePrincipalCredential": + if v != nil { + servicePrincipalCredential, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + cdsfalstp.ServicePrincipalCredential = servicePrincipalCredential + } case "encryptedCredential": if v != nil { var encryptedCredential interface{} @@ -45004,6 +50219,8 @@ type CommonDataServiceForAppsSink struct { WriteBehavior *string `json:"writeBehavior,omitempty"` // IgnoreNullValues - The flag indicating whether to ignore null values from input dataset (except key fields) during write operation. Default is false. Type: boolean (or Expression with resultType boolean). IgnoreNullValues interface{} `json:"ignoreNullValues,omitempty"` + // AlternateKeyName - The logical name of the alternate key which will be used when upserting records. Type: string (or Expression with resultType string). + AlternateKeyName interface{} `json:"alternateKeyName,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` // WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0. @@ -45016,7 +50233,7 @@ type CommonDataServiceForAppsSink struct { SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"` // MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAvroSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzurePostgreSQLSink', 'TypeDelimitedTextSink' + // Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeCosmosDbSQLAPISink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAvroSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzureMySQLSink', 'TypeAzurePostgreSQLSink', 'TypeOrcSink', 'TypeJSONSink', 'TypeDelimitedTextSink' Type TypeBasicCopySink `json:"type,omitempty"` } @@ -45030,6 +50247,9 @@ func (cdsfas CommonDataServiceForAppsSink) MarshalJSON() ([]byte, error) { if cdsfas.IgnoreNullValues != nil { objectMap["ignoreNullValues"] = cdsfas.IgnoreNullValues } + if cdsfas.AlternateKeyName != nil { + objectMap["alternateKeyName"] = cdsfas.AlternateKeyName + } if cdsfas.WriteBatchSize != nil { objectMap["writeBatchSize"] = cdsfas.WriteBatchSize } @@ -45149,6 +50369,11 @@ func (cdsfas CommonDataServiceForAppsSink) AsSQLSink() (*SQLSink, bool) { return nil, false } +// AsCosmosDbSQLAPISink is the BasicCopySink implementation for CommonDataServiceForAppsSink. +func (cdsfas CommonDataServiceForAppsSink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) { + return nil, false +} + // AsDocumentDbCollectionSink is the BasicCopySink implementation for CommonDataServiceForAppsSink. func (cdsfas CommonDataServiceForAppsSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) { return nil, false @@ -45194,11 +50419,26 @@ func (cdsfas CommonDataServiceForAppsSink) AsSapCloudForCustomerSink() (*SapClou return nil, false } +// AsAzureMySQLSink is the BasicCopySink implementation for CommonDataServiceForAppsSink. +func (cdsfas CommonDataServiceForAppsSink) AsAzureMySQLSink() (*AzureMySQLSink, bool) { + return nil, false +} + // AsAzurePostgreSQLSink is the BasicCopySink implementation for CommonDataServiceForAppsSink. func (cdsfas CommonDataServiceForAppsSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) { return nil, false } +// AsOrcSink is the BasicCopySink implementation for CommonDataServiceForAppsSink. +func (cdsfas CommonDataServiceForAppsSink) AsOrcSink() (*OrcSink, bool) { + return nil, false +} + +// AsJSONSink is the BasicCopySink implementation for CommonDataServiceForAppsSink. +func (cdsfas CommonDataServiceForAppsSink) AsJSONSink() (*JSONSink, bool) { + return nil, false +} + // AsDelimitedTextSink is the BasicCopySink implementation for CommonDataServiceForAppsSink. func (cdsfas CommonDataServiceForAppsSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) { return nil, false @@ -45241,6 +50481,15 @@ func (cdsfas *CommonDataServiceForAppsSink) UnmarshalJSON(body []byte) error { } cdsfas.IgnoreNullValues = ignoreNullValues } + case "alternateKeyName": + if v != nil { + var alternateKeyName interface{} + err = json.Unmarshal(*v, &alternateKeyName) + if err != nil { + return err + } + cdsfas.AlternateKeyName = alternateKeyName + } default: if v != nil { var additionalProperties interface{} @@ -45325,7 +50574,7 @@ type CommonDataServiceForAppsSource struct { SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' + // Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' Type TypeBasicCopySource `json:"type,omitempty"` } @@ -45354,6 +50603,121 @@ func (cdsfas CommonDataServiceForAppsSource) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } +// AsHTTPSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return &cdsfas, true +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + // AsAmazonRedshiftSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. func (cdsfas CommonDataServiceForAppsSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { return nil, false @@ -45529,81 +50893,21 @@ func (cdsfas CommonDataServiceForAppsSource) AsAmazonMWSSource() (*AmazonMWSSour return nil, false } -// AsHTTPSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. -func (cdsfas CommonDataServiceForAppsSource) AsHTTPSource() (*HTTPSource, bool) { - return nil, false -} - -// AsAzureBlobFSSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. -func (cdsfas CommonDataServiceForAppsSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { - return nil, false -} - -// AsAzureDataLakeStoreSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. -func (cdsfas CommonDataServiceForAppsSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { - return nil, false -} - -// AsOffice365Source is the BasicCopySource implementation for CommonDataServiceForAppsSource. -func (cdsfas CommonDataServiceForAppsSource) AsOffice365Source() (*Office365Source, bool) { - return nil, false -} - -// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for CommonDataServiceForAppsSource. -func (cdsfas CommonDataServiceForAppsSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { - return nil, false -} - -// AsMongoDbV2Source is the BasicCopySource implementation for CommonDataServiceForAppsSource. -func (cdsfas CommonDataServiceForAppsSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { - return nil, false -} - -// AsMongoDbSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. -func (cdsfas CommonDataServiceForAppsSource) AsMongoDbSource() (*MongoDbSource, bool) { - return nil, false -} - // AsCassandraSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. func (cdsfas CommonDataServiceForAppsSource) AsCassandraSource() (*CassandraSource, bool) { return nil, false } -// AsWebSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. -func (cdsfas CommonDataServiceForAppsSource) AsWebSource() (*WebSource, bool) { - return nil, false -} - // AsTeradataSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. func (cdsfas CommonDataServiceForAppsSource) AsTeradataSource() (*TeradataSource, bool) { return nil, false } -// AsOracleSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. -func (cdsfas CommonDataServiceForAppsSource) AsOracleSource() (*OracleSource, bool) { - return nil, false -} - -// AsAzureDataExplorerSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. -func (cdsfas CommonDataServiceForAppsSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { - return nil, false -} - // AsAzureMySQLSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. func (cdsfas CommonDataServiceForAppsSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { return nil, false } -// AsHdfsSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. -func (cdsfas CommonDataServiceForAppsSource) AsHdfsSource() (*HdfsSource, bool) { - return nil, false -} - -// AsFileSystemSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. -func (cdsfas CommonDataServiceForAppsSource) AsFileSystemSource() (*FileSystemSource, bool) { - return nil, false -} - // AsSQLDWSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. func (cdsfas CommonDataServiceForAppsSource) AsSQLDWSource() (*SQLDWSource, bool) { return nil, false @@ -45629,11 +50933,6 @@ func (cdsfas CommonDataServiceForAppsSource) AsSQLSource() (*SQLSource, bool) { return nil, false } -// AsRestSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. -func (cdsfas CommonDataServiceForAppsSource) AsRestSource() (*RestSource, bool) { - return nil, false -} - // AsSapTableSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. func (cdsfas CommonDataServiceForAppsSource) AsSapTableSource() (*SapTableSource, bool) { return nil, false @@ -45659,21 +50958,11 @@ func (cdsfas CommonDataServiceForAppsSource) AsSapCloudForCustomerSource() (*Sap return nil, false } -// AsSalesforceServiceCloudSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. -func (cdsfas CommonDataServiceForAppsSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { - return nil, false -} - // AsSalesforceSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. func (cdsfas CommonDataServiceForAppsSource) AsSalesforceSource() (*SalesforceSource, bool) { return nil, false } -// AsODataSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. -func (cdsfas CommonDataServiceForAppsSource) AsODataSource() (*ODataSource, bool) { - return nil, false -} - // AsSapBwSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. func (cdsfas CommonDataServiceForAppsSource) AsSapBwSource() (*SapBwSource, bool) { return nil, false @@ -45704,53 +50993,38 @@ func (cdsfas CommonDataServiceForAppsSource) AsDb2Source() (*Db2Source, bool) { return nil, false } -// AsMicrosoftAccessSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. -func (cdsfas CommonDataServiceForAppsSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { - return nil, false -} - // AsInformixSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. func (cdsfas CommonDataServiceForAppsSource) AsInformixSource() (*InformixSource, bool) { return nil, false } -// AsRelationalSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. -func (cdsfas CommonDataServiceForAppsSource) AsRelationalSource() (*RelationalSource, bool) { - return nil, false -} - -// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. -func (cdsfas CommonDataServiceForAppsSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { - return &cdsfas, true -} - -// AsDynamicsCrmSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. -func (cdsfas CommonDataServiceForAppsSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { +// AsAzureTableSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsAzureTableSource() (*AzureTableSource, bool) { return nil, false } -// AsDynamicsSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. -func (cdsfas CommonDataServiceForAppsSource) AsDynamicsSource() (*DynamicsSource, bool) { +// AsTabularSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsTabularSource() (*TabularSource, bool) { return nil, false } -// AsDocumentDbCollectionSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. -func (cdsfas CommonDataServiceForAppsSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { +// AsBasicTabularSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsBasicTabularSource() (BasicTabularSource, bool) { return nil, false } -// AsBlobSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. -func (cdsfas CommonDataServiceForAppsSource) AsBlobSource() (*BlobSource, bool) { +// AsBinarySource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsBinarySource() (*BinarySource, bool) { return nil, false } -// AsAzureTableSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. -func (cdsfas CommonDataServiceForAppsSource) AsAzureTableSource() (*AzureTableSource, bool) { +// AsOrcSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsOrcSource() (*OrcSource, bool) { return nil, false } -// AsBinarySource is the BasicCopySource implementation for CommonDataServiceForAppsSource. -func (cdsfas CommonDataServiceForAppsSource) AsBinarySource() (*BinarySource, bool) { +// AsJSONSource is the BasicCopySource implementation for CommonDataServiceForAppsSource. +func (cdsfas CommonDataServiceForAppsSource) AsJSONSource() (*JSONSource, bool) { return nil, false } @@ -45851,6 +51125,85 @@ func (cdsfas *CommonDataServiceForAppsSource) UnmarshalJSON(body []byte) error { return nil } +// ComponentSetup the custom setup of installing 3rd party components. +type ComponentSetup struct { + // LicensedComponentSetupTypeProperties - Install 3rd party component type properties. + *LicensedComponentSetupTypeProperties `json:"typeProperties,omitempty"` + // Type - Possible values include: 'TypeCustomSetupBase', 'TypeComponentSetup', 'TypeEnvironmentVariableSetup', 'TypeCmdkeySetup' + Type TypeBasicCustomSetupBase `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for ComponentSetup. +func (cs ComponentSetup) MarshalJSON() ([]byte, error) { + cs.Type = TypeComponentSetup + objectMap := make(map[string]interface{}) + if cs.LicensedComponentSetupTypeProperties != nil { + objectMap["typeProperties"] = cs.LicensedComponentSetupTypeProperties + } + if cs.Type != "" { + objectMap["type"] = cs.Type + } + return json.Marshal(objectMap) +} + +// AsComponentSetup is the BasicCustomSetupBase implementation for ComponentSetup. +func (cs ComponentSetup) AsComponentSetup() (*ComponentSetup, bool) { + return &cs, true +} + +// AsEnvironmentVariableSetup is the BasicCustomSetupBase implementation for ComponentSetup. +func (cs ComponentSetup) AsEnvironmentVariableSetup() (*EnvironmentVariableSetup, bool) { + return nil, false +} + +// AsCmdkeySetup is the BasicCustomSetupBase implementation for ComponentSetup. +func (cs ComponentSetup) AsCmdkeySetup() (*CmdkeySetup, bool) { + return nil, false +} + +// AsCustomSetupBase is the BasicCustomSetupBase implementation for ComponentSetup. +func (cs ComponentSetup) AsCustomSetupBase() (*CustomSetupBase, bool) { + return nil, false +} + +// AsBasicCustomSetupBase is the BasicCustomSetupBase implementation for ComponentSetup. +func (cs ComponentSetup) AsBasicCustomSetupBase() (BasicCustomSetupBase, bool) { + return &cs, true +} + +// UnmarshalJSON is the custom unmarshaler for ComponentSetup struct. +func (cs *ComponentSetup) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var licensedComponentSetupTypeProperties LicensedComponentSetupTypeProperties + err = json.Unmarshal(*v, &licensedComponentSetupTypeProperties) + if err != nil { + return err + } + cs.LicensedComponentSetupTypeProperties = &licensedComponentSetupTypeProperties + } + case "type": + if v != nil { + var typeVar TypeBasicCustomSetupBase + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + cs.Type = typeVar + } + } + } + + return nil +} + // ConcurLinkedService concur Service linked service. type ConcurLinkedService struct { // ConcurLinkedServiceTypeProperties - Concur Service linked service properties. @@ -45865,7 +51218,7 @@ type ConcurLinkedService struct { Parameters map[string]*ParameterSpecification `json:"parameters"` // Annotations - List of tags that can be used for describing the linked service. Annotations *[]interface{} `json:"annotations,omitempty"` - // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' + // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' Type TypeBasicLinkedService `json:"type,omitempty"` } @@ -46237,6 +51590,11 @@ func (cls ConcurLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) return nil, false } +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for ConcurLinkedService. +func (cls ConcurLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + // AsAzureMLLinkedService is the BasicLinkedService implementation for ConcurLinkedService. func (cls ConcurLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { return nil, false @@ -46277,6 +51635,16 @@ func (cls ConcurLinkedService) AsOracleLinkedService() (*OracleLinkedService, bo return nil, false } +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for ConcurLinkedService. +func (cls ConcurLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for ConcurLinkedService. +func (cls ConcurLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + // AsFileServerLinkedService is the BasicLinkedService implementation for ConcurLinkedService. func (cls ConcurLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { return nil, false @@ -46558,7 +51926,7 @@ type ConcurObjectDataset struct { Annotations *[]interface{} `json:"annotations,omitempty"` // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. Folder *DatasetFolder `json:"folder,omitempty"` - // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' + // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' Type TypeBasicDataset `json:"type,omitempty"` } @@ -46874,6 +52242,16 @@ func (cod ConcurObjectDataset) AsRelationalTableDataset() (*RelationalTableDatas return nil, false } +// AsDb2TableDataset is the BasicDataset implementation for ConcurObjectDataset. +func (cod ConcurObjectDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for ConcurObjectDataset. +func (cod ConcurObjectDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + // AsAzureMySQLTableDataset is the BasicDataset implementation for ConcurObjectDataset. func (cod ConcurObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { return nil, false @@ -46949,6 +52327,11 @@ func (cod ConcurObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbColle return nil, false } +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for ConcurObjectDataset. +func (cod ConcurObjectDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + // AsCustomDataset is the BasicDataset implementation for ConcurObjectDataset. func (cod ConcurObjectDataset) AsCustomDataset() (*CustomDataset, bool) { return nil, false @@ -46989,6 +52372,16 @@ func (cod ConcurObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) { return nil, false } +// AsOrcDataset is the BasicDataset implementation for ConcurObjectDataset. +func (cod ConcurObjectDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for ConcurObjectDataset. +func (cod ConcurObjectDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + // AsDelimitedTextDataset is the BasicDataset implementation for ConcurObjectDataset. func (cod ConcurObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { return nil, false @@ -47131,6 +52524,8 @@ func (cod *ConcurObjectDataset) UnmarshalJSON(body []byte) error { type ConcurSource struct { // Query - A query to retrieve data from source. Type: string (or Expression with resultType string). Query interface{} `json:"query,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). @@ -47139,7 +52534,7 @@ type ConcurSource struct { SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' + // Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' Type TypeBasicCopySource `json:"type,omitempty"` } @@ -47150,6 +52545,9 @@ func (cs ConcurSource) MarshalJSON() ([]byte, error) { if cs.Query != nil { objectMap["query"] = cs.Query } + if cs.QueryTimeout != nil { + objectMap["queryTimeout"] = cs.QueryTimeout + } if cs.SourceRetryCount != nil { objectMap["sourceRetryCount"] = cs.SourceRetryCount } @@ -47168,6 +52566,121 @@ func (cs ConcurSource) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } +// AsHTTPSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + // AsAmazonRedshiftSource is the BasicCopySource implementation for ConcurSource. func (cs ConcurSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { return nil, false @@ -47343,81 +52856,21 @@ func (cs ConcurSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { return nil, false } -// AsHTTPSource is the BasicCopySource implementation for ConcurSource. -func (cs ConcurSource) AsHTTPSource() (*HTTPSource, bool) { - return nil, false -} - -// AsAzureBlobFSSource is the BasicCopySource implementation for ConcurSource. -func (cs ConcurSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { - return nil, false -} - -// AsAzureDataLakeStoreSource is the BasicCopySource implementation for ConcurSource. -func (cs ConcurSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { - return nil, false -} - -// AsOffice365Source is the BasicCopySource implementation for ConcurSource. -func (cs ConcurSource) AsOffice365Source() (*Office365Source, bool) { - return nil, false -} - -// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for ConcurSource. -func (cs ConcurSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { - return nil, false -} - -// AsMongoDbV2Source is the BasicCopySource implementation for ConcurSource. -func (cs ConcurSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { - return nil, false -} - -// AsMongoDbSource is the BasicCopySource implementation for ConcurSource. -func (cs ConcurSource) AsMongoDbSource() (*MongoDbSource, bool) { - return nil, false -} - // AsCassandraSource is the BasicCopySource implementation for ConcurSource. func (cs ConcurSource) AsCassandraSource() (*CassandraSource, bool) { return nil, false } -// AsWebSource is the BasicCopySource implementation for ConcurSource. -func (cs ConcurSource) AsWebSource() (*WebSource, bool) { - return nil, false -} - // AsTeradataSource is the BasicCopySource implementation for ConcurSource. func (cs ConcurSource) AsTeradataSource() (*TeradataSource, bool) { return nil, false } -// AsOracleSource is the BasicCopySource implementation for ConcurSource. -func (cs ConcurSource) AsOracleSource() (*OracleSource, bool) { - return nil, false -} - -// AsAzureDataExplorerSource is the BasicCopySource implementation for ConcurSource. -func (cs ConcurSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { - return nil, false -} - // AsAzureMySQLSource is the BasicCopySource implementation for ConcurSource. func (cs ConcurSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { return nil, false } -// AsHdfsSource is the BasicCopySource implementation for ConcurSource. -func (cs ConcurSource) AsHdfsSource() (*HdfsSource, bool) { - return nil, false -} - -// AsFileSystemSource is the BasicCopySource implementation for ConcurSource. -func (cs ConcurSource) AsFileSystemSource() (*FileSystemSource, bool) { - return nil, false -} - // AsSQLDWSource is the BasicCopySource implementation for ConcurSource. func (cs ConcurSource) AsSQLDWSource() (*SQLDWSource, bool) { return nil, false @@ -47443,11 +52896,6 @@ func (cs ConcurSource) AsSQLSource() (*SQLSource, bool) { return nil, false } -// AsRestSource is the BasicCopySource implementation for ConcurSource. -func (cs ConcurSource) AsRestSource() (*RestSource, bool) { - return nil, false -} - // AsSapTableSource is the BasicCopySource implementation for ConcurSource. func (cs ConcurSource) AsSapTableSource() (*SapTableSource, bool) { return nil, false @@ -47473,21 +52921,11 @@ func (cs ConcurSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource return nil, false } -// AsSalesforceServiceCloudSource is the BasicCopySource implementation for ConcurSource. -func (cs ConcurSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { - return nil, false -} - // AsSalesforceSource is the BasicCopySource implementation for ConcurSource. func (cs ConcurSource) AsSalesforceSource() (*SalesforceSource, bool) { return nil, false } -// AsODataSource is the BasicCopySource implementation for ConcurSource. -func (cs ConcurSource) AsODataSource() (*ODataSource, bool) { - return nil, false -} - // AsSapBwSource is the BasicCopySource implementation for ConcurSource. func (cs ConcurSource) AsSapBwSource() (*SapBwSource, bool) { return nil, false @@ -47518,53 +52956,38 @@ func (cs ConcurSource) AsDb2Source() (*Db2Source, bool) { return nil, false } -// AsMicrosoftAccessSource is the BasicCopySource implementation for ConcurSource. -func (cs ConcurSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { - return nil, false -} - // AsInformixSource is the BasicCopySource implementation for ConcurSource. func (cs ConcurSource) AsInformixSource() (*InformixSource, bool) { return nil, false } -// AsRelationalSource is the BasicCopySource implementation for ConcurSource. -func (cs ConcurSource) AsRelationalSource() (*RelationalSource, bool) { - return nil, false -} - -// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for ConcurSource. -func (cs ConcurSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { - return nil, false -} - -// AsDynamicsCrmSource is the BasicCopySource implementation for ConcurSource. -func (cs ConcurSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { +// AsAzureTableSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsAzureTableSource() (*AzureTableSource, bool) { return nil, false } -// AsDynamicsSource is the BasicCopySource implementation for ConcurSource. -func (cs ConcurSource) AsDynamicsSource() (*DynamicsSource, bool) { +// AsTabularSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsTabularSource() (*TabularSource, bool) { return nil, false } -// AsDocumentDbCollectionSource is the BasicCopySource implementation for ConcurSource. -func (cs ConcurSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { - return nil, false +// AsBasicTabularSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &cs, true } -// AsBlobSource is the BasicCopySource implementation for ConcurSource. -func (cs ConcurSource) AsBlobSource() (*BlobSource, bool) { +// AsBinarySource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsBinarySource() (*BinarySource, bool) { return nil, false } -// AsAzureTableSource is the BasicCopySource implementation for ConcurSource. -func (cs ConcurSource) AsAzureTableSource() (*AzureTableSource, bool) { +// AsOrcSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsOrcSource() (*OrcSource, bool) { return nil, false } -// AsBinarySource is the BasicCopySource implementation for ConcurSource. -func (cs ConcurSource) AsBinarySource() (*BinarySource, bool) { +// AsJSONSource is the BasicCopySource implementation for ConcurSource. +func (cs ConcurSource) AsJSONSource() (*JSONSource, bool) { return nil, false } @@ -47611,6 +53034,15 @@ func (cs *ConcurSource) UnmarshalJSON(body []byte) error { } cs.Query = query } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + cs.QueryTimeout = queryTimeout + } default: if v != nil { var additionalProperties interface{} @@ -47675,6 +53107,7 @@ type BasicControlActivity interface { AsUntilActivity() (*UntilActivity, bool) AsWaitActivity() (*WaitActivity, bool) AsForEachActivity() (*ForEachActivity, bool) + AsSwitchActivity() (*SwitchActivity, bool) AsIfConditionActivity() (*IfConditionActivity, bool) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) AsControlActivity() (*ControlActivity, bool) @@ -47692,7 +53125,7 @@ type ControlActivity struct { DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"` // UserProperties - Activity user properties. UserProperties *[]UserProperty `json:"userProperties,omitempty"` - // Type - Possible values include: 'TypeActivity', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer' + // Type - Possible values include: 'TypeActivity', 'TypeExecuteDataFlow', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLExecutePipeline', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeSwitch', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer' Type TypeBasicActivity `json:"type,omitempty"` } @@ -47736,6 +53169,10 @@ func unmarshalBasicControlActivity(body []byte) (BasicControlActivity, error) { var fea ForEachActivity err := json.Unmarshal(body, &fea) return fea, err + case string(TypeSwitch): + var sa SwitchActivity + err := json.Unmarshal(body, &sa) + return sa, err case string(TypeIfCondition): var ica IfConditionActivity err := json.Unmarshal(body, &ica) @@ -47794,6 +53231,11 @@ func (ca ControlActivity) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } +// AsExecuteDataFlowActivity is the BasicActivity implementation for ControlActivity. +func (ca ControlActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) { + return nil, false +} + // AsAzureFunctionActivity is the BasicActivity implementation for ControlActivity. func (ca ControlActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) { return nil, false @@ -47819,6 +53261,11 @@ func (ca ControlActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsU return nil, false } +// AsAzureMLExecutePipelineActivity is the BasicActivity implementation for ControlActivity. +func (ca ControlActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) { + return nil, false +} + // AsAzureMLUpdateResourceActivity is the BasicActivity implementation for ControlActivity. func (ca ControlActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) { return nil, false @@ -47949,6 +53396,11 @@ func (ca ControlActivity) AsForEachActivity() (*ForEachActivity, bool) { return nil, false } +// AsSwitchActivity is the BasicActivity implementation for ControlActivity. +func (ca ControlActivity) AsSwitchActivity() (*SwitchActivity, bool) { + return nil, false +} + // AsIfConditionActivity is the BasicActivity implementation for ControlActivity. func (ca ControlActivity) AsIfConditionActivity() (*IfConditionActivity, bool) { return nil, false @@ -48073,7 +53525,7 @@ type CopyActivity struct { DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"` // UserProperties - Activity user properties. UserProperties *[]UserProperty `json:"userProperties,omitempty"` - // Type - Possible values include: 'TypeActivity', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer' + // Type - Possible values include: 'TypeActivity', 'TypeExecuteDataFlow', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLExecutePipeline', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeSwitch', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer' Type TypeBasicActivity `json:"type,omitempty"` } @@ -48117,6 +53569,11 @@ func (ca CopyActivity) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } +// AsExecuteDataFlowActivity is the BasicActivity implementation for CopyActivity. +func (ca CopyActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) { + return nil, false +} + // AsAzureFunctionActivity is the BasicActivity implementation for CopyActivity. func (ca CopyActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) { return nil, false @@ -48142,6 +53599,11 @@ func (ca CopyActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQL return nil, false } +// AsAzureMLExecutePipelineActivity is the BasicActivity implementation for CopyActivity. +func (ca CopyActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) { + return nil, false +} + // AsAzureMLUpdateResourceActivity is the BasicActivity implementation for CopyActivity. func (ca CopyActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) { return nil, false @@ -48272,6 +53734,11 @@ func (ca CopyActivity) AsForEachActivity() (*ForEachActivity, bool) { return nil, false } +// AsSwitchActivity is the BasicActivity implementation for CopyActivity. +func (ca CopyActivity) AsSwitchActivity() (*SwitchActivity, bool) { + return nil, false +} + // AsIfConditionActivity is the BasicActivity implementation for CopyActivity. func (ca CopyActivity) AsIfConditionActivity() (*IfConditionActivity, bool) { return nil, false @@ -48578,6 +54045,7 @@ type BasicCopySink interface { AsAzureSQLSink() (*AzureSQLSink, bool) AsSQLServerSink() (*SQLServerSink, bool) AsSQLSink() (*SQLSink, bool) + AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) AsFileSystemSink() (*FileSystemSink, bool) AsBlobSink() (*BlobSink, bool) @@ -48587,7 +54055,10 @@ type BasicCopySink interface { AsAzureTableSink() (*AzureTableSink, bool) AsAzureQueueSink() (*AzureQueueSink, bool) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) + AsAzureMySQLSink() (*AzureMySQLSink, bool) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) + AsOrcSink() (*OrcSink, bool) + AsJSONSink() (*JSONSink, bool) AsDelimitedTextSink() (*DelimitedTextSink, bool) AsCopySink() (*CopySink, bool) } @@ -48606,7 +54077,7 @@ type CopySink struct { SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"` // MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAvroSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzurePostgreSQLSink', 'TypeDelimitedTextSink' + // Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeCosmosDbSQLAPISink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAvroSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzureMySQLSink', 'TypeAzurePostgreSQLSink', 'TypeOrcSink', 'TypeJSONSink', 'TypeDelimitedTextSink' Type TypeBasicCopySink `json:"type,omitempty"` } @@ -48694,6 +54165,10 @@ func unmarshalBasicCopySink(body []byte) (BasicCopySink, error) { var ss SQLSink err := json.Unmarshal(body, &ss) return ss, err + case string(TypeCosmosDbSQLAPISink): + var cdsas CosmosDbSQLAPISink + err := json.Unmarshal(body, &cdsas) + return cdsas, err case string(TypeDocumentDbCollectionSink): var ddcs DocumentDbCollectionSink err := json.Unmarshal(body, &ddcs) @@ -48730,10 +54205,22 @@ func unmarshalBasicCopySink(body []byte) (BasicCopySink, error) { var scfcs SapCloudForCustomerSink err := json.Unmarshal(body, &scfcs) return scfcs, err + case string(TypeAzureMySQLSink): + var amss AzureMySQLSink + err := json.Unmarshal(body, &amss) + return amss, err case string(TypeAzurePostgreSQLSink): var apss AzurePostgreSQLSink err := json.Unmarshal(body, &apss) return apss, err + case string(TypeOrcSink): + var osVar OrcSink + err := json.Unmarshal(body, &osVar) + return osVar, err + case string(TypeJSONSink): + var js JSONSink + err := json.Unmarshal(body, &js) + return js, err case string(TypeDelimitedTextSink): var dts DelimitedTextSink err := json.Unmarshal(body, &dts) @@ -48886,6 +54373,11 @@ func (cs CopySink) AsSQLSink() (*SQLSink, bool) { return nil, false } +// AsCosmosDbSQLAPISink is the BasicCopySink implementation for CopySink. +func (cs CopySink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) { + return nil, false +} + // AsDocumentDbCollectionSink is the BasicCopySink implementation for CopySink. func (cs CopySink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) { return nil, false @@ -48931,11 +54423,26 @@ func (cs CopySink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) return nil, false } +// AsAzureMySQLSink is the BasicCopySink implementation for CopySink. +func (cs CopySink) AsAzureMySQLSink() (*AzureMySQLSink, bool) { + return nil, false +} + // AsAzurePostgreSQLSink is the BasicCopySink implementation for CopySink. func (cs CopySink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) { return nil, false } +// AsOrcSink is the BasicCopySink implementation for CopySink. +func (cs CopySink) AsOrcSink() (*OrcSink, bool) { + return nil, false +} + +// AsJSONSink is the BasicCopySink implementation for CopySink. +func (cs CopySink) AsJSONSink() (*JSONSink, bool) { + return nil, false +} + // AsDelimitedTextSink is the BasicCopySink implementation for CopySink. func (cs CopySink) AsDelimitedTextSink() (*DelimitedTextSink, bool) { return nil, false @@ -49034,6 +54541,29 @@ func (cs *CopySink) UnmarshalJSON(body []byte) error { // BasicCopySource a copy activity source. type BasicCopySource interface { + AsHTTPSource() (*HTTPSource, bool) + AsAzureBlobFSSource() (*AzureBlobFSSource, bool) + AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) + AsOffice365Source() (*Office365Source, bool) + AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) + AsMongoDbV2Source() (*MongoDbV2Source, bool) + AsMongoDbSource() (*MongoDbSource, bool) + AsWebSource() (*WebSource, bool) + AsOracleSource() (*OracleSource, bool) + AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) + AsHdfsSource() (*HdfsSource, bool) + AsFileSystemSource() (*FileSystemSource, bool) + AsRestSource() (*RestSource, bool) + AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) + AsODataSource() (*ODataSource, bool) + AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) + AsRelationalSource() (*RelationalSource, bool) + AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) + AsDynamicsCrmSource() (*DynamicsCrmSource, bool) + AsDynamicsSource() (*DynamicsSource, bool) + AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) + AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) + AsBlobSource() (*BlobSource, bool) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) @@ -49069,51 +54599,33 @@ type BasicCopySource interface { AsConcurSource() (*ConcurSource, bool) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) AsAmazonMWSSource() (*AmazonMWSSource, bool) - AsHTTPSource() (*HTTPSource, bool) - AsAzureBlobFSSource() (*AzureBlobFSSource, bool) - AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) - AsOffice365Source() (*Office365Source, bool) - AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) - AsMongoDbV2Source() (*MongoDbV2Source, bool) - AsMongoDbSource() (*MongoDbSource, bool) AsCassandraSource() (*CassandraSource, bool) - AsWebSource() (*WebSource, bool) AsTeradataSource() (*TeradataSource, bool) - AsOracleSource() (*OracleSource, bool) - AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) AsAzureMySQLSource() (*AzureMySQLSource, bool) - AsHdfsSource() (*HdfsSource, bool) - AsFileSystemSource() (*FileSystemSource, bool) AsSQLDWSource() (*SQLDWSource, bool) AsSQLMISource() (*SQLMISource, bool) AsAzureSQLSource() (*AzureSQLSource, bool) AsSQLServerSource() (*SQLServerSource, bool) AsSQLSource() (*SQLSource, bool) - AsRestSource() (*RestSource, bool) AsSapTableSource() (*SapTableSource, bool) AsSapOpenHubSource() (*SapOpenHubSource, bool) AsSapHanaSource() (*SapHanaSource, bool) AsSapEccSource() (*SapEccSource, bool) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) - AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) AsSalesforceSource() (*SalesforceSource, bool) - AsODataSource() (*ODataSource, bool) AsSapBwSource() (*SapBwSource, bool) AsSybaseSource() (*SybaseSource, bool) AsPostgreSQLSource() (*PostgreSQLSource, bool) AsMySQLSource() (*MySQLSource, bool) AsOdbcSource() (*OdbcSource, bool) AsDb2Source() (*Db2Source, bool) - AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) AsInformixSource() (*InformixSource, bool) - AsRelationalSource() (*RelationalSource, bool) - AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) - AsDynamicsCrmSource() (*DynamicsCrmSource, bool) - AsDynamicsSource() (*DynamicsSource, bool) - AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) - AsBlobSource() (*BlobSource, bool) AsAzureTableSource() (*AzureTableSource, bool) + AsTabularSource() (*TabularSource, bool) + AsBasicTabularSource() (BasicTabularSource, bool) AsBinarySource() (*BinarySource, bool) + AsOrcSource() (*OrcSource, bool) + AsJSONSource() (*JSONSource, bool) AsDelimitedTextSource() (*DelimitedTextSource, bool) AsParquetSource() (*ParquetSource, bool) AsAvroSource() (*AvroSource, bool) @@ -49130,7 +54642,7 @@ type CopySource struct { SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' + // Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' Type TypeBasicCopySource `json:"type,omitempty"` } @@ -49142,6 +54654,98 @@ func unmarshalBasicCopySource(body []byte) (BasicCopySource, error) { } switch m["type"] { + case string(TypeHTTPSource): + var hs HTTPSource + err := json.Unmarshal(body, &hs) + return hs, err + case string(TypeAzureBlobFSSource): + var abfs AzureBlobFSSource + err := json.Unmarshal(body, &abfs) + return abfs, err + case string(TypeAzureDataLakeStoreSource): + var adlss AzureDataLakeStoreSource + err := json.Unmarshal(body, &adlss) + return adlss, err + case string(TypeOffice365Source): + var o3s Office365Source + err := json.Unmarshal(body, &o3s) + return o3s, err + case string(TypeCosmosDbMongoDbAPISource): + var cdmdas CosmosDbMongoDbAPISource + err := json.Unmarshal(body, &cdmdas) + return cdmdas, err + case string(TypeMongoDbV2Source): + var mdvs MongoDbV2Source + err := json.Unmarshal(body, &mdvs) + return mdvs, err + case string(TypeMongoDbSource): + var mds MongoDbSource + err := json.Unmarshal(body, &mds) + return mds, err + case string(TypeWebSource): + var ws WebSource + err := json.Unmarshal(body, &ws) + return ws, err + case string(TypeOracleSource): + var osVar OracleSource + err := json.Unmarshal(body, &osVar) + return osVar, err + case string(TypeAzureDataExplorerSource): + var ades AzureDataExplorerSource + err := json.Unmarshal(body, &ades) + return ades, err + case string(TypeHdfsSource): + var hs HdfsSource + err := json.Unmarshal(body, &hs) + return hs, err + case string(TypeFileSystemSource): + var fss FileSystemSource + err := json.Unmarshal(body, &fss) + return fss, err + case string(TypeRestSource): + var rs RestSource + err := json.Unmarshal(body, &rs) + return rs, err + case string(TypeSalesforceServiceCloudSource): + var sscs SalesforceServiceCloudSource + err := json.Unmarshal(body, &sscs) + return sscs, err + case string(TypeODataSource): + var ods ODataSource + err := json.Unmarshal(body, &ods) + return ods, err + case string(TypeMicrosoftAccessSource): + var mas MicrosoftAccessSource + err := json.Unmarshal(body, &mas) + return mas, err + case string(TypeRelationalSource): + var rs RelationalSource + err := json.Unmarshal(body, &rs) + return rs, err + case string(TypeCommonDataServiceForAppsSource): + var cdsfas CommonDataServiceForAppsSource + err := json.Unmarshal(body, &cdsfas) + return cdsfas, err + case string(TypeDynamicsCrmSource): + var dcs DynamicsCrmSource + err := json.Unmarshal(body, &dcs) + return dcs, err + case string(TypeDynamicsSource): + var ds DynamicsSource + err := json.Unmarshal(body, &ds) + return ds, err + case string(TypeCosmosDbSQLAPISource): + var cdsas CosmosDbSQLAPISource + err := json.Unmarshal(body, &cdsas) + return cdsas, err + case string(TypeDocumentDbCollectionSource): + var ddcs DocumentDbCollectionSource + err := json.Unmarshal(body, &ddcs) + return ddcs, err + case string(TypeBlobSource): + var bs BlobSource + err := json.Unmarshal(body, &bs) + return bs, err case string(TypeAmazonRedshiftSource): var ars AmazonRedshiftSource err := json.Unmarshal(body, &ars) @@ -49282,66 +54886,18 @@ func unmarshalBasicCopySource(body []byte) (BasicCopySource, error) { var ams AmazonMWSSource err := json.Unmarshal(body, &ams) return ams, err - case string(TypeHTTPSource): - var hs HTTPSource - err := json.Unmarshal(body, &hs) - return hs, err - case string(TypeAzureBlobFSSource): - var abfs AzureBlobFSSource - err := json.Unmarshal(body, &abfs) - return abfs, err - case string(TypeAzureDataLakeStoreSource): - var adlss AzureDataLakeStoreSource - err := json.Unmarshal(body, &adlss) - return adlss, err - case string(TypeOffice365Source): - var o3s Office365Source - err := json.Unmarshal(body, &o3s) - return o3s, err - case string(TypeCosmosDbMongoDbAPISource): - var cdmdas CosmosDbMongoDbAPISource - err := json.Unmarshal(body, &cdmdas) - return cdmdas, err - case string(TypeMongoDbV2Source): - var mdvs MongoDbV2Source - err := json.Unmarshal(body, &mdvs) - return mdvs, err - case string(TypeMongoDbSource): - var mds MongoDbSource - err := json.Unmarshal(body, &mds) - return mds, err case string(TypeCassandraSource): var cs CassandraSource err := json.Unmarshal(body, &cs) return cs, err - case string(TypeWebSource): - var ws WebSource - err := json.Unmarshal(body, &ws) - return ws, err case string(TypeTeradataSource): var ts TeradataSource err := json.Unmarshal(body, &ts) return ts, err - case string(TypeOracleSource): - var osVar OracleSource - err := json.Unmarshal(body, &osVar) - return osVar, err - case string(TypeAzureDataExplorerSource): - var ades AzureDataExplorerSource - err := json.Unmarshal(body, &ades) - return ades, err case string(TypeAzureMySQLSource): var amss AzureMySQLSource err := json.Unmarshal(body, &amss) return amss, err - case string(TypeHdfsSource): - var hs HdfsSource - err := json.Unmarshal(body, &hs) - return hs, err - case string(TypeFileSystemSource): - var fss FileSystemSource - err := json.Unmarshal(body, &fss) - return fss, err case string(TypeSQLDWSource): var sds SQLDWSource err := json.Unmarshal(body, &sds) @@ -49362,10 +54918,6 @@ func unmarshalBasicCopySource(body []byte) (BasicCopySource, error) { var ss SQLSource err := json.Unmarshal(body, &ss) return ss, err - case string(TypeRestSource): - var rs RestSource - err := json.Unmarshal(body, &rs) - return rs, err case string(TypeSapTableSource): var sts SapTableSource err := json.Unmarshal(body, &sts) @@ -49386,18 +54938,10 @@ func unmarshalBasicCopySource(body []byte) (BasicCopySource, error) { var scfcs SapCloudForCustomerSource err := json.Unmarshal(body, &scfcs) return scfcs, err - case string(TypeSalesforceServiceCloudSource): - var sscs SalesforceServiceCloudSource - err := json.Unmarshal(body, &sscs) - return sscs, err case string(TypeSalesforceSource): var ss SalesforceSource err := json.Unmarshal(body, &ss) return ss, err - case string(TypeODataSource): - var ods ODataSource - err := json.Unmarshal(body, &ods) - return ods, err case string(TypeSapBwSource): var sbs SapBwSource err := json.Unmarshal(body, &sbs) @@ -49422,46 +54966,30 @@ func unmarshalBasicCopySource(body []byte) (BasicCopySource, error) { var d2s Db2Source err := json.Unmarshal(body, &d2s) return d2s, err - case string(TypeMicrosoftAccessSource): - var mas MicrosoftAccessSource - err := json.Unmarshal(body, &mas) - return mas, err case string(TypeInformixSource): var is InformixSource err := json.Unmarshal(body, &is) return is, err - case string(TypeRelationalSource): - var rs RelationalSource - err := json.Unmarshal(body, &rs) - return rs, err - case string(TypeCommonDataServiceForAppsSource): - var cdsfas CommonDataServiceForAppsSource - err := json.Unmarshal(body, &cdsfas) - return cdsfas, err - case string(TypeDynamicsCrmSource): - var dcs DynamicsCrmSource - err := json.Unmarshal(body, &dcs) - return dcs, err - case string(TypeDynamicsSource): - var ds DynamicsSource - err := json.Unmarshal(body, &ds) - return ds, err - case string(TypeDocumentDbCollectionSource): - var ddcs DocumentDbCollectionSource - err := json.Unmarshal(body, &ddcs) - return ddcs, err - case string(TypeBlobSource): - var bs BlobSource - err := json.Unmarshal(body, &bs) - return bs, err case string(TypeAzureTableSource): var ats AzureTableSource err := json.Unmarshal(body, &ats) return ats, err + case string(TypeTabularSource): + var ts TabularSource + err := json.Unmarshal(body, &ts) + return ts, err case string(TypeBinarySource): var bs BinarySource err := json.Unmarshal(body, &bs) return bs, err + case string(TypeOrcSource): + var osVar OrcSource + err := json.Unmarshal(body, &osVar) + return osVar, err + case string(TypeJSONSource): + var js JSONSource + err := json.Unmarshal(body, &js) + return js, err case string(TypeDelimitedTextSource): var dts DelimitedTextSource err := json.Unmarshal(body, &dts) @@ -49521,6 +55049,121 @@ func (cs CopySource) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } +// AsHTTPSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + // AsAmazonRedshiftSource is the BasicCopySource implementation for CopySource. func (cs CopySource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { return nil, false @@ -49696,81 +55339,21 @@ func (cs CopySource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { return nil, false } -// AsHTTPSource is the BasicCopySource implementation for CopySource. -func (cs CopySource) AsHTTPSource() (*HTTPSource, bool) { - return nil, false -} - -// AsAzureBlobFSSource is the BasicCopySource implementation for CopySource. -func (cs CopySource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { - return nil, false -} - -// AsAzureDataLakeStoreSource is the BasicCopySource implementation for CopySource. -func (cs CopySource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { - return nil, false -} - -// AsOffice365Source is the BasicCopySource implementation for CopySource. -func (cs CopySource) AsOffice365Source() (*Office365Source, bool) { - return nil, false -} - -// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for CopySource. -func (cs CopySource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { - return nil, false -} - -// AsMongoDbV2Source is the BasicCopySource implementation for CopySource. -func (cs CopySource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { - return nil, false -} - -// AsMongoDbSource is the BasicCopySource implementation for CopySource. -func (cs CopySource) AsMongoDbSource() (*MongoDbSource, bool) { - return nil, false -} - // AsCassandraSource is the BasicCopySource implementation for CopySource. func (cs CopySource) AsCassandraSource() (*CassandraSource, bool) { return nil, false } -// AsWebSource is the BasicCopySource implementation for CopySource. -func (cs CopySource) AsWebSource() (*WebSource, bool) { - return nil, false -} - // AsTeradataSource is the BasicCopySource implementation for CopySource. func (cs CopySource) AsTeradataSource() (*TeradataSource, bool) { return nil, false } -// AsOracleSource is the BasicCopySource implementation for CopySource. -func (cs CopySource) AsOracleSource() (*OracleSource, bool) { - return nil, false -} - -// AsAzureDataExplorerSource is the BasicCopySource implementation for CopySource. -func (cs CopySource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { - return nil, false -} - // AsAzureMySQLSource is the BasicCopySource implementation for CopySource. func (cs CopySource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { return nil, false } -// AsHdfsSource is the BasicCopySource implementation for CopySource. -func (cs CopySource) AsHdfsSource() (*HdfsSource, bool) { - return nil, false -} - -// AsFileSystemSource is the BasicCopySource implementation for CopySource. -func (cs CopySource) AsFileSystemSource() (*FileSystemSource, bool) { - return nil, false -} - // AsSQLDWSource is the BasicCopySource implementation for CopySource. func (cs CopySource) AsSQLDWSource() (*SQLDWSource, bool) { return nil, false @@ -49796,11 +55379,6 @@ func (cs CopySource) AsSQLSource() (*SQLSource, bool) { return nil, false } -// AsRestSource is the BasicCopySource implementation for CopySource. -func (cs CopySource) AsRestSource() (*RestSource, bool) { - return nil, false -} - // AsSapTableSource is the BasicCopySource implementation for CopySource. func (cs CopySource) AsSapTableSource() (*SapTableSource, bool) { return nil, false @@ -49826,21 +55404,11 @@ func (cs CopySource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, return nil, false } -// AsSalesforceServiceCloudSource is the BasicCopySource implementation for CopySource. -func (cs CopySource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { - return nil, false -} - // AsSalesforceSource is the BasicCopySource implementation for CopySource. func (cs CopySource) AsSalesforceSource() (*SalesforceSource, bool) { return nil, false } -// AsODataSource is the BasicCopySource implementation for CopySource. -func (cs CopySource) AsODataSource() (*ODataSource, bool) { - return nil, false -} - // AsSapBwSource is the BasicCopySource implementation for CopySource. func (cs CopySource) AsSapBwSource() (*SapBwSource, bool) { return nil, false @@ -49871,53 +55439,38 @@ func (cs CopySource) AsDb2Source() (*Db2Source, bool) { return nil, false } -// AsMicrosoftAccessSource is the BasicCopySource implementation for CopySource. -func (cs CopySource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { - return nil, false -} - // AsInformixSource is the BasicCopySource implementation for CopySource. func (cs CopySource) AsInformixSource() (*InformixSource, bool) { return nil, false } -// AsRelationalSource is the BasicCopySource implementation for CopySource. -func (cs CopySource) AsRelationalSource() (*RelationalSource, bool) { +// AsAzureTableSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsAzureTableSource() (*AzureTableSource, bool) { return nil, false } -// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for CopySource. -func (cs CopySource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { +// AsTabularSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsTabularSource() (*TabularSource, bool) { return nil, false } -// AsDynamicsCrmSource is the BasicCopySource implementation for CopySource. -func (cs CopySource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { +// AsBasicTabularSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsBasicTabularSource() (BasicTabularSource, bool) { return nil, false } -// AsDynamicsSource is the BasicCopySource implementation for CopySource. -func (cs CopySource) AsDynamicsSource() (*DynamicsSource, bool) { - return nil, false -} - -// AsDocumentDbCollectionSource is the BasicCopySource implementation for CopySource. -func (cs CopySource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { - return nil, false -} - -// AsBlobSource is the BasicCopySource implementation for CopySource. -func (cs CopySource) AsBlobSource() (*BlobSource, bool) { +// AsBinarySource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsBinarySource() (*BinarySource, bool) { return nil, false } -// AsAzureTableSource is the BasicCopySource implementation for CopySource. -func (cs CopySource) AsAzureTableSource() (*AzureTableSource, bool) { +// AsOrcSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsOrcSource() (*OrcSource, bool) { return nil, false } -// AsBinarySource is the BasicCopySource implementation for CopySource. -func (cs CopySource) AsBinarySource() (*BinarySource, bool) { +// AsJSONSource is the BasicCopySource implementation for CopySource. +func (cs CopySource) AsJSONSource() (*JSONSource, bool) { return nil, false } @@ -50023,7 +55576,7 @@ type CosmosDbLinkedService struct { Parameters map[string]*ParameterSpecification `json:"parameters"` // Annotations - List of tags that can be used for describing the linked service. Annotations *[]interface{} `json:"annotations,omitempty"` - // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' + // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' Type TypeBasicLinkedService `json:"type,omitempty"` } @@ -50395,6 +55948,11 @@ func (cdls CosmosDbLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, boo return nil, false } +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService. +func (cdls CosmosDbLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + // AsAzureMLLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService. func (cdls CosmosDbLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { return nil, false @@ -50435,6 +55993,16 @@ func (cdls CosmosDbLinkedService) AsOracleLinkedService() (*OracleLinkedService, return nil, false } +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService. +func (cdls CosmosDbLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService. +func (cdls CosmosDbLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + // AsFileServerLinkedService is the BasicLinkedService implementation for CosmosDbLinkedService. func (cdls CosmosDbLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { return nil, false @@ -50605,12 +56173,75 @@ func (cdls *CosmosDbLinkedService) UnmarshalJSON(body []byte) error { type CosmosDbLinkedServiceTypeProperties struct { // ConnectionString - The connection string. Type: string, SecureString or AzureKeyVaultSecretReference. ConnectionString interface{} `json:"connectionString,omitempty"` - // AccountKey - The Azure key vault secret reference of accountKey in connection string. - AccountKey *AzureKeyVaultSecretReference `json:"accountKey,omitempty"` + // AccountEndpoint - The endpoint of the Azure CosmosDB account. Type: string (or Expression with resultType string) + AccountEndpoint interface{} `json:"accountEndpoint,omitempty"` + // Database - The name of the database. Type: string (or Expression with resultType string) + Database interface{} `json:"database,omitempty"` + // AccountKey - The account key of the Azure CosmosDB account. Type: SecureString or AzureKeyVaultSecretReference. + AccountKey BasicSecretBase `json:"accountKey,omitempty"` // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` } +// UnmarshalJSON is the custom unmarshaler for CosmosDbLinkedServiceTypeProperties struct. +func (cdlstp *CosmosDbLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "connectionString": + if v != nil { + var connectionString interface{} + err = json.Unmarshal(*v, &connectionString) + if err != nil { + return err + } + cdlstp.ConnectionString = connectionString + } + case "accountEndpoint": + if v != nil { + var accountEndpoint interface{} + err = json.Unmarshal(*v, &accountEndpoint) + if err != nil { + return err + } + cdlstp.AccountEndpoint = accountEndpoint + } + case "database": + if v != nil { + var databaseVar interface{} + err = json.Unmarshal(*v, &databaseVar) + if err != nil { + return err + } + cdlstp.Database = databaseVar + } + case "accountKey": + if v != nil { + accountKey, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + cdlstp.AccountKey = accountKey + } + case "encryptedCredential": + if v != nil { + var encryptedCredential interface{} + err = json.Unmarshal(*v, &encryptedCredential) + if err != nil { + return err + } + cdlstp.EncryptedCredential = encryptedCredential + } + } + } + + return nil +} + // CosmosDbMongoDbAPICollectionDataset the CosmosDB (MongoDB API) database dataset. type CosmosDbMongoDbAPICollectionDataset struct { // CosmosDbMongoDbAPICollectionDatasetTypeProperties - CosmosDB (MongoDB API) database dataset properties. @@ -50631,7 +56262,7 @@ type CosmosDbMongoDbAPICollectionDataset struct { Annotations *[]interface{} `json:"annotations,omitempty"` // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. Folder *DatasetFolder `json:"folder,omitempty"` - // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' + // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' Type TypeBasicDataset `json:"type,omitempty"` } @@ -50947,6 +56578,16 @@ func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsRelationalTableDataset() (* return nil, false } +// AsDb2TableDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset. +func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset. +func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + // AsAzureMySQLTableDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset. func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { return nil, false @@ -51022,6 +56663,11 @@ func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsDocumentDbCollectionDataset return nil, false } +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset. +func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + // AsCustomDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset. func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsCustomDataset() (*CustomDataset, bool) { return nil, false @@ -51062,6 +56708,16 @@ func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsBinaryDataset() (*BinaryDat return nil, false } +// AsOrcDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset. +func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset. +func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + // AsDelimitedTextDataset is the BasicDataset implementation for CosmosDbMongoDbAPICollectionDataset. func (cdmdacd CosmosDbMongoDbAPICollectionDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { return nil, false @@ -51220,7 +56876,7 @@ type CosmosDbMongoDbAPILinkedService struct { Parameters map[string]*ParameterSpecification `json:"parameters"` // Annotations - List of tags that can be used for describing the linked service. Annotations *[]interface{} `json:"annotations,omitempty"` - // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' + // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' Type TypeBasicLinkedService `json:"type,omitempty"` } @@ -51592,6 +57248,11 @@ func (cdmdals CosmosDbMongoDbAPILinkedService) AsOdbcLinkedService() (*OdbcLinke return nil, false } +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService. +func (cdmdals CosmosDbMongoDbAPILinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + // AsAzureMLLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService. func (cdmdals CosmosDbMongoDbAPILinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { return nil, false @@ -51632,6 +57293,16 @@ func (cdmdals CosmosDbMongoDbAPILinkedService) AsOracleLinkedService() (*OracleL return nil, false } +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService. +func (cdmdals CosmosDbMongoDbAPILinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService. +func (cdmdals CosmosDbMongoDbAPILinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + // AsFileServerLinkedService is the BasicLinkedService implementation for CosmosDbMongoDbAPILinkedService. func (cdmdals CosmosDbMongoDbAPILinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { return nil, false @@ -51822,7 +57493,7 @@ type CosmosDbMongoDbAPISink struct { SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"` // MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAvroSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzurePostgreSQLSink', 'TypeDelimitedTextSink' + // Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeCosmosDbSQLAPISink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAvroSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzureMySQLSink', 'TypeAzurePostgreSQLSink', 'TypeOrcSink', 'TypeJSONSink', 'TypeDelimitedTextSink' Type TypeBasicCopySink `json:"type,omitempty"` } @@ -51952,6 +57623,11 @@ func (cdmdas CosmosDbMongoDbAPISink) AsSQLSink() (*SQLSink, bool) { return nil, false } +// AsCosmosDbSQLAPISink is the BasicCopySink implementation for CosmosDbMongoDbAPISink. +func (cdmdas CosmosDbMongoDbAPISink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) { + return nil, false +} + // AsDocumentDbCollectionSink is the BasicCopySink implementation for CosmosDbMongoDbAPISink. func (cdmdas CosmosDbMongoDbAPISink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) { return nil, false @@ -51997,11 +57673,26 @@ func (cdmdas CosmosDbMongoDbAPISink) AsSapCloudForCustomerSink() (*SapCloudForCu return nil, false } +// AsAzureMySQLSink is the BasicCopySink implementation for CosmosDbMongoDbAPISink. +func (cdmdas CosmosDbMongoDbAPISink) AsAzureMySQLSink() (*AzureMySQLSink, bool) { + return nil, false +} + // AsAzurePostgreSQLSink is the BasicCopySink implementation for CosmosDbMongoDbAPISink. func (cdmdas CosmosDbMongoDbAPISink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) { return nil, false } +// AsOrcSink is the BasicCopySink implementation for CosmosDbMongoDbAPISink. +func (cdmdas CosmosDbMongoDbAPISink) AsOrcSink() (*OrcSink, bool) { + return nil, false +} + +// AsJSONSink is the BasicCopySink implementation for CosmosDbMongoDbAPISink. +func (cdmdas CosmosDbMongoDbAPISink) AsJSONSink() (*JSONSink, bool) { + return nil, false +} + // AsDelimitedTextSink is the BasicCopySink implementation for CosmosDbMongoDbAPISink. func (cdmdas CosmosDbMongoDbAPISink) AsDelimitedTextSink() (*DelimitedTextSink, bool) { return nil, false @@ -52115,6 +57806,8 @@ type CosmosDbMongoDbAPISource struct { CursorMethods *MongoDbCursorMethodsProperties `json:"cursorMethods,omitempty"` // BatchSize - Specifies the number of documents to return in each batch of the response from MongoDB instance. In most cases, modifying the batch size will not affect the user or the application. This property's main purpose is to avoid hit the limitation of response size. Type: integer (or Expression with resultType integer). BatchSize interface{} `json:"batchSize,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). @@ -52123,7 +57816,7 @@ type CosmosDbMongoDbAPISource struct { SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' + // Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' Type TypeBasicCopySource `json:"type,omitempty"` } @@ -52140,6 +57833,9 @@ func (cdmdas CosmosDbMongoDbAPISource) MarshalJSON() ([]byte, error) { if cdmdas.BatchSize != nil { objectMap["batchSize"] = cdmdas.BatchSize } + if cdmdas.QueryTimeout != nil { + objectMap["queryTimeout"] = cdmdas.QueryTimeout + } if cdmdas.SourceRetryCount != nil { objectMap["sourceRetryCount"] = cdmdas.SourceRetryCount } @@ -52158,6 +57854,121 @@ func (cdmdas CosmosDbMongoDbAPISource) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } +// AsHTTPSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return &cdmdas, true +} + +// AsMongoDbV2Source is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + // AsAmazonRedshiftSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. func (cdmdas CosmosDbMongoDbAPISource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { return nil, false @@ -52333,81 +58144,21 @@ func (cdmdas CosmosDbMongoDbAPISource) AsAmazonMWSSource() (*AmazonMWSSource, bo return nil, false } -// AsHTTPSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. -func (cdmdas CosmosDbMongoDbAPISource) AsHTTPSource() (*HTTPSource, bool) { - return nil, false -} - -// AsAzureBlobFSSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. -func (cdmdas CosmosDbMongoDbAPISource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { - return nil, false -} - -// AsAzureDataLakeStoreSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. -func (cdmdas CosmosDbMongoDbAPISource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { - return nil, false -} - -// AsOffice365Source is the BasicCopySource implementation for CosmosDbMongoDbAPISource. -func (cdmdas CosmosDbMongoDbAPISource) AsOffice365Source() (*Office365Source, bool) { - return nil, false -} - -// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. -func (cdmdas CosmosDbMongoDbAPISource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { - return &cdmdas, true -} - -// AsMongoDbV2Source is the BasicCopySource implementation for CosmosDbMongoDbAPISource. -func (cdmdas CosmosDbMongoDbAPISource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { - return nil, false -} - -// AsMongoDbSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. -func (cdmdas CosmosDbMongoDbAPISource) AsMongoDbSource() (*MongoDbSource, bool) { - return nil, false -} - // AsCassandraSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. func (cdmdas CosmosDbMongoDbAPISource) AsCassandraSource() (*CassandraSource, bool) { return nil, false } -// AsWebSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. -func (cdmdas CosmosDbMongoDbAPISource) AsWebSource() (*WebSource, bool) { - return nil, false -} - // AsTeradataSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. func (cdmdas CosmosDbMongoDbAPISource) AsTeradataSource() (*TeradataSource, bool) { return nil, false } -// AsOracleSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. -func (cdmdas CosmosDbMongoDbAPISource) AsOracleSource() (*OracleSource, bool) { - return nil, false -} - -// AsAzureDataExplorerSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. -func (cdmdas CosmosDbMongoDbAPISource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { - return nil, false -} - // AsAzureMySQLSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. func (cdmdas CosmosDbMongoDbAPISource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { return nil, false } -// AsHdfsSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. -func (cdmdas CosmosDbMongoDbAPISource) AsHdfsSource() (*HdfsSource, bool) { - return nil, false -} - -// AsFileSystemSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. -func (cdmdas CosmosDbMongoDbAPISource) AsFileSystemSource() (*FileSystemSource, bool) { - return nil, false -} - // AsSQLDWSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. func (cdmdas CosmosDbMongoDbAPISource) AsSQLDWSource() (*SQLDWSource, bool) { return nil, false @@ -52433,11 +58184,6 @@ func (cdmdas CosmosDbMongoDbAPISource) AsSQLSource() (*SQLSource, bool) { return nil, false } -// AsRestSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. -func (cdmdas CosmosDbMongoDbAPISource) AsRestSource() (*RestSource, bool) { - return nil, false -} - // AsSapTableSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. func (cdmdas CosmosDbMongoDbAPISource) AsSapTableSource() (*SapTableSource, bool) { return nil, false @@ -52463,21 +58209,11 @@ func (cdmdas CosmosDbMongoDbAPISource) AsSapCloudForCustomerSource() (*SapCloudF return nil, false } -// AsSalesforceServiceCloudSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. -func (cdmdas CosmosDbMongoDbAPISource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { - return nil, false -} - // AsSalesforceSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. func (cdmdas CosmosDbMongoDbAPISource) AsSalesforceSource() (*SalesforceSource, bool) { return nil, false } -// AsODataSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. -func (cdmdas CosmosDbMongoDbAPISource) AsODataSource() (*ODataSource, bool) { - return nil, false -} - // AsSapBwSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. func (cdmdas CosmosDbMongoDbAPISource) AsSapBwSource() (*SapBwSource, bool) { return nil, false @@ -52508,53 +58244,38 @@ func (cdmdas CosmosDbMongoDbAPISource) AsDb2Source() (*Db2Source, bool) { return nil, false } -// AsMicrosoftAccessSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. -func (cdmdas CosmosDbMongoDbAPISource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { - return nil, false -} - // AsInformixSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. func (cdmdas CosmosDbMongoDbAPISource) AsInformixSource() (*InformixSource, bool) { return nil, false } -// AsRelationalSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. -func (cdmdas CosmosDbMongoDbAPISource) AsRelationalSource() (*RelationalSource, bool) { - return nil, false -} - -// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. -func (cdmdas CosmosDbMongoDbAPISource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { - return nil, false -} - -// AsDynamicsCrmSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. -func (cdmdas CosmosDbMongoDbAPISource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { +// AsAzureTableSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsAzureTableSource() (*AzureTableSource, bool) { return nil, false } -// AsDynamicsSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. -func (cdmdas CosmosDbMongoDbAPISource) AsDynamicsSource() (*DynamicsSource, bool) { +// AsTabularSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsTabularSource() (*TabularSource, bool) { return nil, false } -// AsDocumentDbCollectionSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. -func (cdmdas CosmosDbMongoDbAPISource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { +// AsBasicTabularSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsBasicTabularSource() (BasicTabularSource, bool) { return nil, false } -// AsBlobSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. -func (cdmdas CosmosDbMongoDbAPISource) AsBlobSource() (*BlobSource, bool) { +// AsBinarySource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsBinarySource() (*BinarySource, bool) { return nil, false } -// AsAzureTableSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. -func (cdmdas CosmosDbMongoDbAPISource) AsAzureTableSource() (*AzureTableSource, bool) { +// AsOrcSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsOrcSource() (*OrcSource, bool) { return nil, false } -// AsBinarySource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. -func (cdmdas CosmosDbMongoDbAPISource) AsBinarySource() (*BinarySource, bool) { +// AsJSONSource is the BasicCopySource implementation for CosmosDbMongoDbAPISource. +func (cdmdas CosmosDbMongoDbAPISource) AsJSONSource() (*JSONSource, bool) { return nil, false } @@ -52619,6 +58340,15 @@ func (cdmdas *CosmosDbMongoDbAPISource) UnmarshalJSON(body []byte) error { } cdmdas.BatchSize = batchSize } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + cdmdas.QueryTimeout = queryTimeout + } default: if v != nil { var additionalProperties interface{} @@ -52673,519 +58403,859 @@ func (cdmdas *CosmosDbMongoDbAPISource) UnmarshalJSON(body []byte) error { return nil } -// CouchbaseLinkedService couchbase server linked service. -type CouchbaseLinkedService struct { - // CouchbaseLinkedServiceTypeProperties - Couchbase server linked service properties. - *CouchbaseLinkedServiceTypeProperties `json:"typeProperties,omitempty"` +// CosmosDbSQLAPICollectionDataset microsoft Azure CosmosDB (SQL API) Collection dataset. +type CosmosDbSQLAPICollectionDataset struct { + // CosmosDbSQLAPICollectionDatasetTypeProperties - CosmosDB (SQL API) Collection dataset properties. + *CosmosDbSQLAPICollectionDatasetTypeProperties `json:"typeProperties,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` - // ConnectVia - The integration runtime reference. - ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` - // Description - Linked service description. + // Description - Dataset description. Description *string `json:"description,omitempty"` - // Parameters - Parameters for linked service. + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. Parameters map[string]*ParameterSpecification `json:"parameters"` - // Annotations - List of tags that can be used for describing the linked service. + // Annotations - List of tags that can be used for describing the Dataset. Annotations *[]interface{} `json:"annotations,omitempty"` - // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' - Type TypeBasicLinkedService `json:"type,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' + Type TypeBasicDataset `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for CouchbaseLinkedService. -func (cls CouchbaseLinkedService) MarshalJSON() ([]byte, error) { - cls.Type = TypeCouchbase +// MarshalJSON is the custom marshaler for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) MarshalJSON() ([]byte, error) { + cdsacd.Type = TypeCosmosDbSQLAPICollection objectMap := make(map[string]interface{}) - if cls.CouchbaseLinkedServiceTypeProperties != nil { - objectMap["typeProperties"] = cls.CouchbaseLinkedServiceTypeProperties + if cdsacd.CosmosDbSQLAPICollectionDatasetTypeProperties != nil { + objectMap["typeProperties"] = cdsacd.CosmosDbSQLAPICollectionDatasetTypeProperties } - if cls.ConnectVia != nil { - objectMap["connectVia"] = cls.ConnectVia + if cdsacd.Description != nil { + objectMap["description"] = cdsacd.Description } - if cls.Description != nil { - objectMap["description"] = cls.Description + if cdsacd.Structure != nil { + objectMap["structure"] = cdsacd.Structure } - if cls.Parameters != nil { - objectMap["parameters"] = cls.Parameters + if cdsacd.Schema != nil { + objectMap["schema"] = cdsacd.Schema } - if cls.Annotations != nil { - objectMap["annotations"] = cls.Annotations + if cdsacd.LinkedServiceName != nil { + objectMap["linkedServiceName"] = cdsacd.LinkedServiceName } - if cls.Type != "" { - objectMap["type"] = cls.Type + if cdsacd.Parameters != nil { + objectMap["parameters"] = cdsacd.Parameters } - for k, v := range cls.AdditionalProperties { + if cdsacd.Annotations != nil { + objectMap["annotations"] = cdsacd.Annotations + } + if cdsacd.Folder != nil { + objectMap["folder"] = cdsacd.Folder + } + if cdsacd.Type != "" { + objectMap["type"] = cdsacd.Type + } + for k, v := range cdsacd.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsAzureFunctionLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. -func (cls CouchbaseLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { return nil, false } -// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. -func (cls CouchbaseLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { return nil, false } -// AsSapTableLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. -func (cls CouchbaseLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { return nil, false } -// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. -func (cls CouchbaseLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { +// AsDynamicsAXResourceDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { return nil, false } -// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. -func (cls CouchbaseLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { +// AsResponsysObjectDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { return nil, false } -// AsDynamicsAXLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. -func (cls CouchbaseLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { return nil, false } -// AsResponsysLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. -func (cls CouchbaseLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { +// AsVerticaTableDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { return nil, false } -// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. -func (cls CouchbaseLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { +// AsNetezzaTableDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { return nil, false } -// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. -func (cls CouchbaseLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { +// AsZohoObjectDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { return nil, false } -// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. -func (cls CouchbaseLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { +// AsXeroObjectDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { return nil, false } -// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. -func (cls CouchbaseLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { +// AsSquareObjectDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { return nil, false } -// AsNetezzaLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. -func (cls CouchbaseLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { +// AsSparkObjectDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { return nil, false } -// AsVerticaLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. -func (cls CouchbaseLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { +// AsShopifyObjectDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { return nil, false } -// AsZohoLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. -func (cls CouchbaseLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { +// AsServiceNowObjectDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { return nil, false } -// AsXeroLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. -func (cls CouchbaseLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { +// AsQuickBooksObjectDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { return nil, false } -// AsSquareLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. -func (cls CouchbaseLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { +// AsPrestoObjectDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { return nil, false } -// AsSparkLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. -func (cls CouchbaseLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { +// AsPhoenixObjectDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { return nil, false } -// AsShopifyLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. -func (cls CouchbaseLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { +// AsPaypalObjectDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { return nil, false } -// AsServiceNowLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. -func (cls CouchbaseLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { +// AsMarketoObjectDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { return nil, false } -// AsQuickBooksLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. -func (cls CouchbaseLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { +// AsAzureMariaDBTableDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { return nil, false } -// AsPrestoLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. -func (cls CouchbaseLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { +// AsMariaDBTableDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { return nil, false } -// AsPhoenixLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. -func (cls CouchbaseLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { +// AsMagentoObjectDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { return nil, false } -// AsPaypalLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. -func (cls CouchbaseLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { +// AsJiraObjectDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { return nil, false } -// AsMarketoLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. -func (cls CouchbaseLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { +// AsImpalaObjectDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { return nil, false } -// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. -func (cls CouchbaseLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { +// AsHubspotObjectDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { return nil, false } -// AsMariaDBLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. -func (cls CouchbaseLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { +// AsHiveObjectDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { return nil, false } -// AsMagentoLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. -func (cls CouchbaseLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { +// AsHBaseObjectDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { return nil, false } -// AsJiraLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. -func (cls CouchbaseLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { +// AsGreenplumTableDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { return nil, false } -// AsImpalaLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. -func (cls CouchbaseLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { return nil, false } -// AsHubspotLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. -func (cls CouchbaseLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { +// AsEloquaObjectDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { return nil, false } -// AsHiveLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. -func (cls CouchbaseLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { +// AsDrillTableDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { return nil, false } -// AsHBaseLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. -func (cls CouchbaseLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { +// AsCouchbaseTableDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { return nil, false } -// AsGreenplumLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. -func (cls CouchbaseLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { +// AsConcurObjectDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { return nil, false } -// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. -func (cls CouchbaseLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { return nil, false } -// AsEloquaLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. -func (cls CouchbaseLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { +// AsAmazonMWSObjectDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { return nil, false } -// AsDrillLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. -func (cls CouchbaseLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { +// AsHTTPDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsHTTPDataset() (*HTTPDataset, bool) { return nil, false } -// AsCouchbaseLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. -func (cls CouchbaseLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { - return &cls, true +// AsAzureSearchIndexDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { + return nil, false } -// AsConcurLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. -func (cls CouchbaseLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { +// AsWebTableDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsWebTableDataset() (*WebTableDataset, bool) { return nil, false } -// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. -func (cls CouchbaseLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { +// AsSapTableResourceDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { return nil, false } -// AsAmazonMWSLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. -func (cls CouchbaseLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { +// AsRestResourceDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { return nil, false } -// AsSapHanaLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. -func (cls CouchbaseLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { +// AsSQLServerTableDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { return nil, false } -// AsSapBWLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. -func (cls CouchbaseLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { +// AsSapOpenHubTableDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { return nil, false } -// AsSftpServerLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. -func (cls CouchbaseLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { +// AsSapHanaTableDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { return nil, false } -// AsFtpServerLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. -func (cls CouchbaseLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { +// AsSapEccResourceDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { return nil, false } -// AsHTTPLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. -func (cls CouchbaseLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { return nil, false } -// AsAzureSearchLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. -func (cls CouchbaseLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { +// AsSapBwCubeDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { return nil, false } -// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. -func (cls CouchbaseLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { +// AsSybaseTableDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { return nil, false } -// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. -func (cls CouchbaseLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { return nil, false } -// AsAmazonS3LinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. -func (cls CouchbaseLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { +// AsSalesforceObjectDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { return nil, false } -// AsRestServiceLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. -func (cls CouchbaseLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { return nil, false } -// AsSapOpenHubLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. -func (cls CouchbaseLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { +// AsPostgreSQLTableDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { return nil, false } -// AsSapEccLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. -func (cls CouchbaseLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { +// AsMySQLTableDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { return nil, false } -// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. -func (cls CouchbaseLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { +// AsOdbcTableDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { return nil, false } -// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. -func (cls CouchbaseLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { +// AsInformixTableDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { return nil, false } -// AsSalesforceLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. -func (cls CouchbaseLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { +// AsRelationalTableDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { return nil, false } -// AsOffice365LinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. -func (cls CouchbaseLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { +// AsDb2TableDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { return nil, false } -// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. -func (cls CouchbaseLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { return nil, false } -// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. -func (cls CouchbaseLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { +// AsAzureMySQLTableDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { return nil, false } -// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. -func (cls CouchbaseLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { +// AsTeradataTableDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { return nil, false } -// AsMongoDbV2LinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. -func (cls CouchbaseLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { +// AsOracleTableDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { return nil, false } -// AsMongoDbLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. -func (cls CouchbaseLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { +// AsODataResourceDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { return nil, false } -// AsCassandraLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. -func (cls CouchbaseLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { return nil, false } -// AsWebLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. -func (cls CouchbaseLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { return nil, false } -// AsODataLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. -func (cls CouchbaseLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { +// AsMongoDbCollectionDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { return nil, false } -// AsHdfsLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. -func (cls CouchbaseLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { +// AsFileShareDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsFileShareDataset() (*FileShareDataset, bool) { return nil, false } -// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. -func (cls CouchbaseLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { +// AsOffice365Dataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsOffice365Dataset() (*Office365Dataset, bool) { return nil, false } -// AsInformixLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. -func (cls CouchbaseLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { +// AsAzureBlobFSDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) { return nil, false } -// AsOdbcLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. -func (cls CouchbaseLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { +// AsAzureDataLakeStoreDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) { return nil, false } -// AsAzureMLLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. -func (cls CouchbaseLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { return nil, false } -// AsTeradataLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. -func (cls CouchbaseLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { return nil, false } -// AsDb2LinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. -func (cls CouchbaseLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { +// AsDynamicsEntityDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { return nil, false } -// AsSybaseLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. -func (cls CouchbaseLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { +// AsDocumentDbCollectionDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { return nil, false } -// AsPostgreSQLLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. -func (cls CouchbaseLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return &cdsacd, true +} + +// AsCustomDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsCustomDataset() (*CustomDataset, bool) { return nil, false } -// AsMySQLLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. -func (cls CouchbaseLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { +// AsCassandraTableDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { return nil, false } -// AsAzureMySQLLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. -func (cls CouchbaseLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { +// AsAzureSQLDWTableDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { return nil, false } -// AsOracleLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. -func (cls CouchbaseLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { +// AsAzureSQLMITableDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { return nil, false } -// AsFileServerLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. -func (cls CouchbaseLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { +// AsAzureSQLTableDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { return nil, false } -// AsHDInsightLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. -func (cls CouchbaseLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { +// AsAzureTableDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { return nil, false } -// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. -func (cls CouchbaseLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { +// AsAzureBlobDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) { return nil, false } -// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. -func (cls CouchbaseLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { +// AsBinaryDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsBinaryDataset() (*BinaryDataset, bool) { return nil, false } -// AsDynamicsLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. -func (cls CouchbaseLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { +// AsOrcDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsOrcDataset() (*OrcDataset, bool) { return nil, false } -// AsCosmosDbLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. -func (cls CouchbaseLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { +// AsJSONDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsJSONDataset() (*JSONDataset, bool) { return nil, false } -// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. -func (cls CouchbaseLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { +// AsDelimitedTextDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { return nil, false } -// AsAzureBatchLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. -func (cls CouchbaseLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { +// AsParquetDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsParquetDataset() (*ParquetDataset, bool) { return nil, false } -// AsAzureSQLMILinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. -func (cls CouchbaseLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { +// AsAvroDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsAvroDataset() (*AvroDataset, bool) { return nil, false } -// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. -func (cls CouchbaseLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { +// AsAmazonS3Dataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) { return nil, false } -// AsSQLServerLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. -func (cls CouchbaseLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { +// AsDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsDataset() (*Dataset, bool) { return nil, false } -// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. -func (cls CouchbaseLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { +// AsBasicDataset is the BasicDataset implementation for CosmosDbSQLAPICollectionDataset. +func (cdsacd CosmosDbSQLAPICollectionDataset) AsBasicDataset() (BasicDataset, bool) { + return &cdsacd, true +} + +// UnmarshalJSON is the custom unmarshaler for CosmosDbSQLAPICollectionDataset struct. +func (cdsacd *CosmosDbSQLAPICollectionDataset) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var cosmosDbSQLAPICollectionDatasetTypeProperties CosmosDbSQLAPICollectionDatasetTypeProperties + err = json.Unmarshal(*v, &cosmosDbSQLAPICollectionDatasetTypeProperties) + if err != nil { + return err + } + cdsacd.CosmosDbSQLAPICollectionDatasetTypeProperties = &cosmosDbSQLAPICollectionDatasetTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if cdsacd.AdditionalProperties == nil { + cdsacd.AdditionalProperties = make(map[string]interface{}) + } + cdsacd.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + cdsacd.Description = &description + } + case "structure": + if v != nil { + var structure interface{} + err = json.Unmarshal(*v, &structure) + if err != nil { + return err + } + cdsacd.Structure = structure + } + case "schema": + if v != nil { + var schema interface{} + err = json.Unmarshal(*v, &schema) + if err != nil { + return err + } + cdsacd.Schema = schema + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + cdsacd.LinkedServiceName = &linkedServiceName + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + cdsacd.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + cdsacd.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + cdsacd.Folder = &folder + } + case "type": + if v != nil { + var typeVar TypeBasicDataset + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + cdsacd.Type = typeVar + } + } + } + + return nil +} + +// CosmosDbSQLAPICollectionDatasetTypeProperties cosmosDB (SQL API) Collection dataset properties. +type CosmosDbSQLAPICollectionDatasetTypeProperties struct { + // CollectionName - CosmosDB (SQL API) collection name. Type: string (or Expression with resultType string). + CollectionName interface{} `json:"collectionName,omitempty"` +} + +// CosmosDbSQLAPISink a copy activity Azure CosmosDB (SQL API) Collection sink. +type CosmosDbSQLAPISink struct { + // WriteBehavior - Describes how to write data to Azure Cosmos DB. Type: string (or Expression with resultType string). Allowed values: insert and upsert. + WriteBehavior interface{} `json:"writeBehavior,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0. + WriteBatchSize interface{} `json:"writeBatchSize,omitempty"` + // WriteBatchTimeout - Write batch timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"` + // SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer). + SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"` + // SinkRetryWait - Sink retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeCosmosDbSQLAPISink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAvroSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzureMySQLSink', 'TypeAzurePostgreSQLSink', 'TypeOrcSink', 'TypeJSONSink', 'TypeDelimitedTextSink' + Type TypeBasicCopySink `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for CosmosDbSQLAPISink. +func (cdsas CosmosDbSQLAPISink) MarshalJSON() ([]byte, error) { + cdsas.Type = TypeCosmosDbSQLAPISink + objectMap := make(map[string]interface{}) + if cdsas.WriteBehavior != nil { + objectMap["writeBehavior"] = cdsas.WriteBehavior + } + if cdsas.WriteBatchSize != nil { + objectMap["writeBatchSize"] = cdsas.WriteBatchSize + } + if cdsas.WriteBatchTimeout != nil { + objectMap["writeBatchTimeout"] = cdsas.WriteBatchTimeout + } + if cdsas.SinkRetryCount != nil { + objectMap["sinkRetryCount"] = cdsas.SinkRetryCount + } + if cdsas.SinkRetryWait != nil { + objectMap["sinkRetryWait"] = cdsas.SinkRetryWait + } + if cdsas.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = cdsas.MaxConcurrentConnections + } + if cdsas.Type != "" { + objectMap["type"] = cdsas.Type + } + for k, v := range cdsas.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for CosmosDbSQLAPISink. +func (cdsas CosmosDbSQLAPISink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) { return nil, false } -// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. -func (cls CouchbaseLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { +// AsSalesforceServiceCloudSink is the BasicCopySink implementation for CosmosDbSQLAPISink. +func (cdsas CosmosDbSQLAPISink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) { return nil, false } -// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. -func (cls CouchbaseLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { +// AsSalesforceSink is the BasicCopySink implementation for CosmosDbSQLAPISink. +func (cdsas CosmosDbSQLAPISink) AsSalesforceSink() (*SalesforceSink, bool) { return nil, false } -// AsAzureStorageLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. -func (cls CouchbaseLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { +// AsAzureDataExplorerSink is the BasicCopySink implementation for CosmosDbSQLAPISink. +func (cdsas CosmosDbSQLAPISink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) { return nil, false } -// AsLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. -func (cls CouchbaseLinkedService) AsLinkedService() (*LinkedService, bool) { +// AsCommonDataServiceForAppsSink is the BasicCopySink implementation for CosmosDbSQLAPISink. +func (cdsas CosmosDbSQLAPISink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) { return nil, false } -// AsBasicLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. -func (cls CouchbaseLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { - return &cls, true +// AsDynamicsCrmSink is the BasicCopySink implementation for CosmosDbSQLAPISink. +func (cdsas CosmosDbSQLAPISink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) { + return nil, false } -// UnmarshalJSON is the custom unmarshaler for CouchbaseLinkedService struct. -func (cls *CouchbaseLinkedService) UnmarshalJSON(body []byte) error { +// AsDynamicsSink is the BasicCopySink implementation for CosmosDbSQLAPISink. +func (cdsas CosmosDbSQLAPISink) AsDynamicsSink() (*DynamicsSink, bool) { + return nil, false +} + +// AsMicrosoftAccessSink is the BasicCopySink implementation for CosmosDbSQLAPISink. +func (cdsas CosmosDbSQLAPISink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) { + return nil, false +} + +// AsInformixSink is the BasicCopySink implementation for CosmosDbSQLAPISink. +func (cdsas CosmosDbSQLAPISink) AsInformixSink() (*InformixSink, bool) { + return nil, false +} + +// AsOdbcSink is the BasicCopySink implementation for CosmosDbSQLAPISink. +func (cdsas CosmosDbSQLAPISink) AsOdbcSink() (*OdbcSink, bool) { + return nil, false +} + +// AsAzureSearchIndexSink is the BasicCopySink implementation for CosmosDbSQLAPISink. +func (cdsas CosmosDbSQLAPISink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) { + return nil, false +} + +// AsAzureBlobFSSink is the BasicCopySink implementation for CosmosDbSQLAPISink. +func (cdsas CosmosDbSQLAPISink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSink is the BasicCopySink implementation for CosmosDbSQLAPISink. +func (cdsas CosmosDbSQLAPISink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) { + return nil, false +} + +// AsOracleSink is the BasicCopySink implementation for CosmosDbSQLAPISink. +func (cdsas CosmosDbSQLAPISink) AsOracleSink() (*OracleSink, bool) { + return nil, false +} + +// AsSQLDWSink is the BasicCopySink implementation for CosmosDbSQLAPISink. +func (cdsas CosmosDbSQLAPISink) AsSQLDWSink() (*SQLDWSink, bool) { + return nil, false +} + +// AsSQLMISink is the BasicCopySink implementation for CosmosDbSQLAPISink. +func (cdsas CosmosDbSQLAPISink) AsSQLMISink() (*SQLMISink, bool) { + return nil, false +} + +// AsAzureSQLSink is the BasicCopySink implementation for CosmosDbSQLAPISink. +func (cdsas CosmosDbSQLAPISink) AsAzureSQLSink() (*AzureSQLSink, bool) { + return nil, false +} + +// AsSQLServerSink is the BasicCopySink implementation for CosmosDbSQLAPISink. +func (cdsas CosmosDbSQLAPISink) AsSQLServerSink() (*SQLServerSink, bool) { + return nil, false +} + +// AsSQLSink is the BasicCopySink implementation for CosmosDbSQLAPISink. +func (cdsas CosmosDbSQLAPISink) AsSQLSink() (*SQLSink, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISink is the BasicCopySink implementation for CosmosDbSQLAPISink. +func (cdsas CosmosDbSQLAPISink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) { + return &cdsas, true +} + +// AsDocumentDbCollectionSink is the BasicCopySink implementation for CosmosDbSQLAPISink. +func (cdsas CosmosDbSQLAPISink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) { + return nil, false +} + +// AsFileSystemSink is the BasicCopySink implementation for CosmosDbSQLAPISink. +func (cdsas CosmosDbSQLAPISink) AsFileSystemSink() (*FileSystemSink, bool) { + return nil, false +} + +// AsBlobSink is the BasicCopySink implementation for CosmosDbSQLAPISink. +func (cdsas CosmosDbSQLAPISink) AsBlobSink() (*BlobSink, bool) { + return nil, false +} + +// AsBinarySink is the BasicCopySink implementation for CosmosDbSQLAPISink. +func (cdsas CosmosDbSQLAPISink) AsBinarySink() (*BinarySink, bool) { + return nil, false +} + +// AsParquetSink is the BasicCopySink implementation for CosmosDbSQLAPISink. +func (cdsas CosmosDbSQLAPISink) AsParquetSink() (*ParquetSink, bool) { + return nil, false +} + +// AsAvroSink is the BasicCopySink implementation for CosmosDbSQLAPISink. +func (cdsas CosmosDbSQLAPISink) AsAvroSink() (*AvroSink, bool) { + return nil, false +} + +// AsAzureTableSink is the BasicCopySink implementation for CosmosDbSQLAPISink. +func (cdsas CosmosDbSQLAPISink) AsAzureTableSink() (*AzureTableSink, bool) { + return nil, false +} + +// AsAzureQueueSink is the BasicCopySink implementation for CosmosDbSQLAPISink. +func (cdsas CosmosDbSQLAPISink) AsAzureQueueSink() (*AzureQueueSink, bool) { + return nil, false +} + +// AsSapCloudForCustomerSink is the BasicCopySink implementation for CosmosDbSQLAPISink. +func (cdsas CosmosDbSQLAPISink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) { + return nil, false +} + +// AsAzureMySQLSink is the BasicCopySink implementation for CosmosDbSQLAPISink. +func (cdsas CosmosDbSQLAPISink) AsAzureMySQLSink() (*AzureMySQLSink, bool) { + return nil, false +} + +// AsAzurePostgreSQLSink is the BasicCopySink implementation for CosmosDbSQLAPISink. +func (cdsas CosmosDbSQLAPISink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) { + return nil, false +} + +// AsOrcSink is the BasicCopySink implementation for CosmosDbSQLAPISink. +func (cdsas CosmosDbSQLAPISink) AsOrcSink() (*OrcSink, bool) { + return nil, false +} + +// AsJSONSink is the BasicCopySink implementation for CosmosDbSQLAPISink. +func (cdsas CosmosDbSQLAPISink) AsJSONSink() (*JSONSink, bool) { + return nil, false +} + +// AsDelimitedTextSink is the BasicCopySink implementation for CosmosDbSQLAPISink. +func (cdsas CosmosDbSQLAPISink) AsDelimitedTextSink() (*DelimitedTextSink, bool) { + return nil, false +} + +// AsCopySink is the BasicCopySink implementation for CosmosDbSQLAPISink. +func (cdsas CosmosDbSQLAPISink) AsCopySink() (*CopySink, bool) { + return nil, false +} + +// AsBasicCopySink is the BasicCopySink implementation for CosmosDbSQLAPISink. +func (cdsas CosmosDbSQLAPISink) AsBasicCopySink() (BasicCopySink, bool) { + return &cdsas, true +} + +// UnmarshalJSON is the custom unmarshaler for CosmosDbSQLAPISink struct. +func (cdsas *CosmosDbSQLAPISink) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -53193,14 +59263,14 @@ func (cls *CouchbaseLinkedService) UnmarshalJSON(body []byte) error { } for k, v := range m { switch k { - case "typeProperties": + case "writeBehavior": if v != nil { - var couchbaseLinkedServiceTypeProperties CouchbaseLinkedServiceTypeProperties - err = json.Unmarshal(*v, &couchbaseLinkedServiceTypeProperties) + var writeBehavior interface{} + err = json.Unmarshal(*v, &writeBehavior) if err != nil { return err } - cls.CouchbaseLinkedServiceTypeProperties = &couchbaseLinkedServiceTypeProperties + cdsas.WriteBehavior = writeBehavior } default: if v != nil { @@ -53209,55 +59279,64 @@ func (cls *CouchbaseLinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - if cls.AdditionalProperties == nil { - cls.AdditionalProperties = make(map[string]interface{}) + if cdsas.AdditionalProperties == nil { + cdsas.AdditionalProperties = make(map[string]interface{}) } - cls.AdditionalProperties[k] = additionalProperties + cdsas.AdditionalProperties[k] = additionalProperties } - case "connectVia": + case "writeBatchSize": if v != nil { - var connectVia IntegrationRuntimeReference - err = json.Unmarshal(*v, &connectVia) + var writeBatchSize interface{} + err = json.Unmarshal(*v, &writeBatchSize) if err != nil { return err } - cls.ConnectVia = &connectVia + cdsas.WriteBatchSize = writeBatchSize } - case "description": + case "writeBatchTimeout": if v != nil { - var description string - err = json.Unmarshal(*v, &description) + var writeBatchTimeout interface{} + err = json.Unmarshal(*v, &writeBatchTimeout) if err != nil { return err } - cls.Description = &description + cdsas.WriteBatchTimeout = writeBatchTimeout } - case "parameters": + case "sinkRetryCount": if v != nil { - var parameters map[string]*ParameterSpecification - err = json.Unmarshal(*v, ¶meters) + var sinkRetryCount interface{} + err = json.Unmarshal(*v, &sinkRetryCount) if err != nil { return err } - cls.Parameters = parameters + cdsas.SinkRetryCount = sinkRetryCount } - case "annotations": + case "sinkRetryWait": if v != nil { - var annotations []interface{} - err = json.Unmarshal(*v, &annotations) + var sinkRetryWait interface{} + err = json.Unmarshal(*v, &sinkRetryWait) if err != nil { return err } - cls.Annotations = &annotations + cdsas.SinkRetryWait = sinkRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + cdsas.MaxConcurrentConnections = maxConcurrentConnections } case "type": if v != nil { - var typeVar TypeBasicLinkedService + var typeVar TypeBasicCopySink err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - cls.Type = typeVar + cdsas.Type = typeVar } } } @@ -53265,20 +59344,14 @@ func (cls *CouchbaseLinkedService) UnmarshalJSON(body []byte) error { return nil } -// CouchbaseLinkedServiceTypeProperties couchbase server linked service properties. -type CouchbaseLinkedServiceTypeProperties struct { - // ConnectionString - An ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference. - ConnectionString interface{} `json:"connectionString,omitempty"` - // CredString - The Azure key vault secret reference of credString in connection string. - CredString *AzureKeyVaultSecretReference `json:"credString,omitempty"` - // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). - EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` -} - -// CouchbaseSource a copy activity Couchbase server source. -type CouchbaseSource struct { - // Query - A query to retrieve data from source. Type: string (or Expression with resultType string). +// CosmosDbSQLAPISource a copy activity Azure CosmosDB (SQL API) Collection source. +type CosmosDbSQLAPISource struct { + // Query - SQL API query. Type: string (or Expression with resultType string). Query interface{} `json:"query,omitempty"` + // PageSize - Page size of the result. Type: integer (or Expression with resultType integer). + PageSize interface{} `json:"pageSize,omitempty"` + // PreferredRegions - Preferred regions. Type: array of strings (or Expression with resultType array of strings). + PreferredRegions interface{} `json:"preferredRegions,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). @@ -53287,462 +59360,493 @@ type CouchbaseSource struct { SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' + // Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' Type TypeBasicCopySource `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for CouchbaseSource. -func (cs CouchbaseSource) MarshalJSON() ([]byte, error) { - cs.Type = TypeCouchbaseSource +// MarshalJSON is the custom marshaler for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) MarshalJSON() ([]byte, error) { + cdsas.Type = TypeCosmosDbSQLAPISource objectMap := make(map[string]interface{}) - if cs.Query != nil { - objectMap["query"] = cs.Query + if cdsas.Query != nil { + objectMap["query"] = cdsas.Query } - if cs.SourceRetryCount != nil { - objectMap["sourceRetryCount"] = cs.SourceRetryCount + if cdsas.PageSize != nil { + objectMap["pageSize"] = cdsas.PageSize } - if cs.SourceRetryWait != nil { - objectMap["sourceRetryWait"] = cs.SourceRetryWait + if cdsas.PreferredRegions != nil { + objectMap["preferredRegions"] = cdsas.PreferredRegions } - if cs.MaxConcurrentConnections != nil { - objectMap["maxConcurrentConnections"] = cs.MaxConcurrentConnections + if cdsas.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = cdsas.SourceRetryCount } - if cs.Type != "" { - objectMap["type"] = cs.Type + if cdsas.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = cdsas.SourceRetryWait } - for k, v := range cs.AdditionalProperties { + if cdsas.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = cdsas.MaxConcurrentConnections + } + if cdsas.Type != "" { + objectMap["type"] = cdsas.Type + } + for k, v := range cdsas.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsAmazonRedshiftSource is the BasicCopySource implementation for CouchbaseSource. -func (cs CouchbaseSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { +// AsHTTPSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsHTTPSource() (*HTTPSource, bool) { return nil, false } -// AsGoogleAdWordsSource is the BasicCopySource implementation for CouchbaseSource. -func (cs CouchbaseSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { +// AsAzureBlobFSSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { return nil, false } -// AsOracleServiceCloudSource is the BasicCopySource implementation for CouchbaseSource. -func (cs CouchbaseSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { return nil, false } -// AsDynamicsAXSource is the BasicCopySource implementation for CouchbaseSource. -func (cs CouchbaseSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { +// AsOffice365Source is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsOffice365Source() (*Office365Source, bool) { return nil, false } -// AsResponsysSource is the BasicCopySource implementation for CouchbaseSource. -func (cs CouchbaseSource) AsResponsysSource() (*ResponsysSource, bool) { +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { return nil, false } -// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for CouchbaseSource. -func (cs CouchbaseSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { +// AsMongoDbV2Source is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { return nil, false } -// AsVerticaSource is the BasicCopySource implementation for CouchbaseSource. -func (cs CouchbaseSource) AsVerticaSource() (*VerticaSource, bool) { +// AsMongoDbSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsMongoDbSource() (*MongoDbSource, bool) { return nil, false } -// AsNetezzaSource is the BasicCopySource implementation for CouchbaseSource. -func (cs CouchbaseSource) AsNetezzaSource() (*NetezzaSource, bool) { +// AsWebSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsWebSource() (*WebSource, bool) { return nil, false } -// AsZohoSource is the BasicCopySource implementation for CouchbaseSource. -func (cs CouchbaseSource) AsZohoSource() (*ZohoSource, bool) { +// AsOracleSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsOracleSource() (*OracleSource, bool) { return nil, false } -// AsXeroSource is the BasicCopySource implementation for CouchbaseSource. -func (cs CouchbaseSource) AsXeroSource() (*XeroSource, bool) { +// AsAzureDataExplorerSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { return nil, false } -// AsSquareSource is the BasicCopySource implementation for CouchbaseSource. -func (cs CouchbaseSource) AsSquareSource() (*SquareSource, bool) { +// AsHdfsSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsHdfsSource() (*HdfsSource, bool) { return nil, false } -// AsSparkSource is the BasicCopySource implementation for CouchbaseSource. -func (cs CouchbaseSource) AsSparkSource() (*SparkSource, bool) { +// AsFileSystemSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsFileSystemSource() (*FileSystemSource, bool) { return nil, false } -// AsShopifySource is the BasicCopySource implementation for CouchbaseSource. -func (cs CouchbaseSource) AsShopifySource() (*ShopifySource, bool) { +// AsRestSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsRestSource() (*RestSource, bool) { return nil, false } -// AsServiceNowSource is the BasicCopySource implementation for CouchbaseSource. -func (cs CouchbaseSource) AsServiceNowSource() (*ServiceNowSource, bool) { +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { return nil, false } -// AsQuickBooksSource is the BasicCopySource implementation for CouchbaseSource. -func (cs CouchbaseSource) AsQuickBooksSource() (*QuickBooksSource, bool) { +// AsODataSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsODataSource() (*ODataSource, bool) { return nil, false } -// AsPrestoSource is the BasicCopySource implementation for CouchbaseSource. -func (cs CouchbaseSource) AsPrestoSource() (*PrestoSource, bool) { +// AsMicrosoftAccessSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { return nil, false } -// AsPhoenixSource is the BasicCopySource implementation for CouchbaseSource. -func (cs CouchbaseSource) AsPhoenixSource() (*PhoenixSource, bool) { +// AsRelationalSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsRelationalSource() (*RelationalSource, bool) { return nil, false } -// AsPaypalSource is the BasicCopySource implementation for CouchbaseSource. -func (cs CouchbaseSource) AsPaypalSource() (*PaypalSource, bool) { +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { return nil, false } -// AsMarketoSource is the BasicCopySource implementation for CouchbaseSource. -func (cs CouchbaseSource) AsMarketoSource() (*MarketoSource, bool) { +// AsDynamicsCrmSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { return nil, false } -// AsAzureMariaDBSource is the BasicCopySource implementation for CouchbaseSource. -func (cs CouchbaseSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { +// AsDynamicsSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsDynamicsSource() (*DynamicsSource, bool) { return nil, false } -// AsMariaDBSource is the BasicCopySource implementation for CouchbaseSource. -func (cs CouchbaseSource) AsMariaDBSource() (*MariaDBSource, bool) { +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return &cdsas, true +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { return nil, false } -// AsMagentoSource is the BasicCopySource implementation for CouchbaseSource. -func (cs CouchbaseSource) AsMagentoSource() (*MagentoSource, bool) { +// AsBlobSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsBlobSource() (*BlobSource, bool) { return nil, false } -// AsJiraSource is the BasicCopySource implementation for CouchbaseSource. -func (cs CouchbaseSource) AsJiraSource() (*JiraSource, bool) { +// AsAmazonRedshiftSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { return nil, false } -// AsImpalaSource is the BasicCopySource implementation for CouchbaseSource. -func (cs CouchbaseSource) AsImpalaSource() (*ImpalaSource, bool) { +// AsGoogleAdWordsSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { return nil, false } -// AsHubspotSource is the BasicCopySource implementation for CouchbaseSource. -func (cs CouchbaseSource) AsHubspotSource() (*HubspotSource, bool) { +// AsOracleServiceCloudSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { return nil, false } -// AsHiveSource is the BasicCopySource implementation for CouchbaseSource. -func (cs CouchbaseSource) AsHiveSource() (*HiveSource, bool) { +// AsDynamicsAXSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { return nil, false } -// AsHBaseSource is the BasicCopySource implementation for CouchbaseSource. -func (cs CouchbaseSource) AsHBaseSource() (*HBaseSource, bool) { +// AsResponsysSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsResponsysSource() (*ResponsysSource, bool) { return nil, false } -// AsGreenplumSource is the BasicCopySource implementation for CouchbaseSource. -func (cs CouchbaseSource) AsGreenplumSource() (*GreenplumSource, bool) { +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { return nil, false } -// AsGoogleBigQuerySource is the BasicCopySource implementation for CouchbaseSource. -func (cs CouchbaseSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { +// AsVerticaSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsVerticaSource() (*VerticaSource, bool) { return nil, false } -// AsEloquaSource is the BasicCopySource implementation for CouchbaseSource. -func (cs CouchbaseSource) AsEloquaSource() (*EloquaSource, bool) { +// AsNetezzaSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsNetezzaSource() (*NetezzaSource, bool) { return nil, false } -// AsDrillSource is the BasicCopySource implementation for CouchbaseSource. -func (cs CouchbaseSource) AsDrillSource() (*DrillSource, bool) { +// AsZohoSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsZohoSource() (*ZohoSource, bool) { return nil, false } -// AsCouchbaseSource is the BasicCopySource implementation for CouchbaseSource. -func (cs CouchbaseSource) AsCouchbaseSource() (*CouchbaseSource, bool) { - return &cs, true +// AsXeroSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsXeroSource() (*XeroSource, bool) { + return nil, false } -// AsConcurSource is the BasicCopySource implementation for CouchbaseSource. -func (cs CouchbaseSource) AsConcurSource() (*ConcurSource, bool) { +// AsSquareSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsSquareSource() (*SquareSource, bool) { return nil, false } -// AsAzurePostgreSQLSource is the BasicCopySource implementation for CouchbaseSource. -func (cs CouchbaseSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { +// AsSparkSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsSparkSource() (*SparkSource, bool) { return nil, false } -// AsAmazonMWSSource is the BasicCopySource implementation for CouchbaseSource. -func (cs CouchbaseSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { +// AsShopifySource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsShopifySource() (*ShopifySource, bool) { return nil, false } -// AsHTTPSource is the BasicCopySource implementation for CouchbaseSource. -func (cs CouchbaseSource) AsHTTPSource() (*HTTPSource, bool) { +// AsServiceNowSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsServiceNowSource() (*ServiceNowSource, bool) { return nil, false } -// AsAzureBlobFSSource is the BasicCopySource implementation for CouchbaseSource. -func (cs CouchbaseSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { +// AsQuickBooksSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsQuickBooksSource() (*QuickBooksSource, bool) { return nil, false } -// AsAzureDataLakeStoreSource is the BasicCopySource implementation for CouchbaseSource. -func (cs CouchbaseSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { +// AsPrestoSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsPrestoSource() (*PrestoSource, bool) { return nil, false } -// AsOffice365Source is the BasicCopySource implementation for CouchbaseSource. -func (cs CouchbaseSource) AsOffice365Source() (*Office365Source, bool) { +// AsPhoenixSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsPhoenixSource() (*PhoenixSource, bool) { return nil, false } -// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for CouchbaseSource. -func (cs CouchbaseSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { +// AsPaypalSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsPaypalSource() (*PaypalSource, bool) { return nil, false } -// AsMongoDbV2Source is the BasicCopySource implementation for CouchbaseSource. -func (cs CouchbaseSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { +// AsMarketoSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsMarketoSource() (*MarketoSource, bool) { return nil, false } -// AsMongoDbSource is the BasicCopySource implementation for CouchbaseSource. -func (cs CouchbaseSource) AsMongoDbSource() (*MongoDbSource, bool) { +// AsAzureMariaDBSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { return nil, false } -// AsCassandraSource is the BasicCopySource implementation for CouchbaseSource. -func (cs CouchbaseSource) AsCassandraSource() (*CassandraSource, bool) { +// AsMariaDBSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsMariaDBSource() (*MariaDBSource, bool) { return nil, false } -// AsWebSource is the BasicCopySource implementation for CouchbaseSource. -func (cs CouchbaseSource) AsWebSource() (*WebSource, bool) { +// AsMagentoSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsMagentoSource() (*MagentoSource, bool) { return nil, false } -// AsTeradataSource is the BasicCopySource implementation for CouchbaseSource. -func (cs CouchbaseSource) AsTeradataSource() (*TeradataSource, bool) { +// AsJiraSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsJiraSource() (*JiraSource, bool) { return nil, false } -// AsOracleSource is the BasicCopySource implementation for CouchbaseSource. -func (cs CouchbaseSource) AsOracleSource() (*OracleSource, bool) { +// AsImpalaSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsImpalaSource() (*ImpalaSource, bool) { return nil, false } -// AsAzureDataExplorerSource is the BasicCopySource implementation for CouchbaseSource. -func (cs CouchbaseSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { +// AsHubspotSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsHubspotSource() (*HubspotSource, bool) { return nil, false } -// AsAzureMySQLSource is the BasicCopySource implementation for CouchbaseSource. -func (cs CouchbaseSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { +// AsHiveSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsHiveSource() (*HiveSource, bool) { return nil, false } -// AsHdfsSource is the BasicCopySource implementation for CouchbaseSource. -func (cs CouchbaseSource) AsHdfsSource() (*HdfsSource, bool) { +// AsHBaseSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsHBaseSource() (*HBaseSource, bool) { return nil, false } -// AsFileSystemSource is the BasicCopySource implementation for CouchbaseSource. -func (cs CouchbaseSource) AsFileSystemSource() (*FileSystemSource, bool) { +// AsGreenplumSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsGreenplumSource() (*GreenplumSource, bool) { return nil, false } -// AsSQLDWSource is the BasicCopySource implementation for CouchbaseSource. -func (cs CouchbaseSource) AsSQLDWSource() (*SQLDWSource, bool) { +// AsGoogleBigQuerySource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { return nil, false } -// AsSQLMISource is the BasicCopySource implementation for CouchbaseSource. -func (cs CouchbaseSource) AsSQLMISource() (*SQLMISource, bool) { +// AsEloquaSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsEloquaSource() (*EloquaSource, bool) { return nil, false } -// AsAzureSQLSource is the BasicCopySource implementation for CouchbaseSource. -func (cs CouchbaseSource) AsAzureSQLSource() (*AzureSQLSource, bool) { +// AsDrillSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsDrillSource() (*DrillSource, bool) { return nil, false } -// AsSQLServerSource is the BasicCopySource implementation for CouchbaseSource. -func (cs CouchbaseSource) AsSQLServerSource() (*SQLServerSource, bool) { +// AsCouchbaseSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsCouchbaseSource() (*CouchbaseSource, bool) { return nil, false } -// AsSQLSource is the BasicCopySource implementation for CouchbaseSource. -func (cs CouchbaseSource) AsSQLSource() (*SQLSource, bool) { +// AsConcurSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsConcurSource() (*ConcurSource, bool) { return nil, false } -// AsRestSource is the BasicCopySource implementation for CouchbaseSource. -func (cs CouchbaseSource) AsRestSource() (*RestSource, bool) { +// AsAzurePostgreSQLSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { return nil, false } -// AsSapTableSource is the BasicCopySource implementation for CouchbaseSource. -func (cs CouchbaseSource) AsSapTableSource() (*SapTableSource, bool) { +// AsAmazonMWSSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { return nil, false } -// AsSapOpenHubSource is the BasicCopySource implementation for CouchbaseSource. -func (cs CouchbaseSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { +// AsCassandraSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsCassandraSource() (*CassandraSource, bool) { return nil, false } -// AsSapHanaSource is the BasicCopySource implementation for CouchbaseSource. -func (cs CouchbaseSource) AsSapHanaSource() (*SapHanaSource, bool) { +// AsTeradataSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsTeradataSource() (*TeradataSource, bool) { return nil, false } -// AsSapEccSource is the BasicCopySource implementation for CouchbaseSource. -func (cs CouchbaseSource) AsSapEccSource() (*SapEccSource, bool) { +// AsAzureMySQLSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { return nil, false } -// AsSapCloudForCustomerSource is the BasicCopySource implementation for CouchbaseSource. -func (cs CouchbaseSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { +// AsSQLDWSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsSQLDWSource() (*SQLDWSource, bool) { return nil, false } -// AsSalesforceServiceCloudSource is the BasicCopySource implementation for CouchbaseSource. -func (cs CouchbaseSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { +// AsSQLMISource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsSQLMISource() (*SQLMISource, bool) { return nil, false } -// AsSalesforceSource is the BasicCopySource implementation for CouchbaseSource. -func (cs CouchbaseSource) AsSalesforceSource() (*SalesforceSource, bool) { +// AsAzureSQLSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsAzureSQLSource() (*AzureSQLSource, bool) { return nil, false } -// AsODataSource is the BasicCopySource implementation for CouchbaseSource. -func (cs CouchbaseSource) AsODataSource() (*ODataSource, bool) { +// AsSQLServerSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsSQLServerSource() (*SQLServerSource, bool) { return nil, false } -// AsSapBwSource is the BasicCopySource implementation for CouchbaseSource. -func (cs CouchbaseSource) AsSapBwSource() (*SapBwSource, bool) { +// AsSQLSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsSQLSource() (*SQLSource, bool) { return nil, false } -// AsSybaseSource is the BasicCopySource implementation for CouchbaseSource. -func (cs CouchbaseSource) AsSybaseSource() (*SybaseSource, bool) { +// AsSapTableSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsSapTableSource() (*SapTableSource, bool) { return nil, false } -// AsPostgreSQLSource is the BasicCopySource implementation for CouchbaseSource. -func (cs CouchbaseSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { +// AsSapOpenHubSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { return nil, false } -// AsMySQLSource is the BasicCopySource implementation for CouchbaseSource. -func (cs CouchbaseSource) AsMySQLSource() (*MySQLSource, bool) { +// AsSapHanaSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsSapHanaSource() (*SapHanaSource, bool) { return nil, false } -// AsOdbcSource is the BasicCopySource implementation for CouchbaseSource. -func (cs CouchbaseSource) AsOdbcSource() (*OdbcSource, bool) { +// AsSapEccSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsSapEccSource() (*SapEccSource, bool) { return nil, false } -// AsDb2Source is the BasicCopySource implementation for CouchbaseSource. -func (cs CouchbaseSource) AsDb2Source() (*Db2Source, bool) { +// AsSapCloudForCustomerSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { return nil, false } -// AsMicrosoftAccessSource is the BasicCopySource implementation for CouchbaseSource. -func (cs CouchbaseSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { +// AsSalesforceSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsSalesforceSource() (*SalesforceSource, bool) { return nil, false } -// AsInformixSource is the BasicCopySource implementation for CouchbaseSource. -func (cs CouchbaseSource) AsInformixSource() (*InformixSource, bool) { +// AsSapBwSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsSapBwSource() (*SapBwSource, bool) { return nil, false } -// AsRelationalSource is the BasicCopySource implementation for CouchbaseSource. -func (cs CouchbaseSource) AsRelationalSource() (*RelationalSource, bool) { +// AsSybaseSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsSybaseSource() (*SybaseSource, bool) { return nil, false } -// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for CouchbaseSource. -func (cs CouchbaseSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { +// AsPostgreSQLSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { return nil, false } -// AsDynamicsCrmSource is the BasicCopySource implementation for CouchbaseSource. -func (cs CouchbaseSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { +// AsMySQLSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsMySQLSource() (*MySQLSource, bool) { return nil, false } -// AsDynamicsSource is the BasicCopySource implementation for CouchbaseSource. -func (cs CouchbaseSource) AsDynamicsSource() (*DynamicsSource, bool) { +// AsOdbcSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsOdbcSource() (*OdbcSource, bool) { return nil, false } -// AsDocumentDbCollectionSource is the BasicCopySource implementation for CouchbaseSource. -func (cs CouchbaseSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { +// AsDb2Source is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsDb2Source() (*Db2Source, bool) { return nil, false } -// AsBlobSource is the BasicCopySource implementation for CouchbaseSource. -func (cs CouchbaseSource) AsBlobSource() (*BlobSource, bool) { +// AsInformixSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsInformixSource() (*InformixSource, bool) { return nil, false } -// AsAzureTableSource is the BasicCopySource implementation for CouchbaseSource. -func (cs CouchbaseSource) AsAzureTableSource() (*AzureTableSource, bool) { +// AsAzureTableSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsAzureTableSource() (*AzureTableSource, bool) { return nil, false } -// AsBinarySource is the BasicCopySource implementation for CouchbaseSource. -func (cs CouchbaseSource) AsBinarySource() (*BinarySource, bool) { +// AsTabularSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsTabularSource() (*TabularSource, bool) { return nil, false } -// AsDelimitedTextSource is the BasicCopySource implementation for CouchbaseSource. -func (cs CouchbaseSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { +// AsBasicTabularSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsBasicTabularSource() (BasicTabularSource, bool) { return nil, false } -// AsParquetSource is the BasicCopySource implementation for CouchbaseSource. -func (cs CouchbaseSource) AsParquetSource() (*ParquetSource, bool) { +// AsBinarySource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsBinarySource() (*BinarySource, bool) { return nil, false } -// AsAvroSource is the BasicCopySource implementation for CouchbaseSource. -func (cs CouchbaseSource) AsAvroSource() (*AvroSource, bool) { +// AsOrcSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsOrcSource() (*OrcSource, bool) { return nil, false } -// AsCopySource is the BasicCopySource implementation for CouchbaseSource. -func (cs CouchbaseSource) AsCopySource() (*CopySource, bool) { +// AsJSONSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsJSONSource() (*JSONSource, bool) { return nil, false } -// AsBasicCopySource is the BasicCopySource implementation for CouchbaseSource. -func (cs CouchbaseSource) AsBasicCopySource() (BasicCopySource, bool) { - return &cs, true +// AsDelimitedTextSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false } -// UnmarshalJSON is the custom unmarshaler for CouchbaseSource struct. -func (cs *CouchbaseSource) UnmarshalJSON(body []byte) error { +// AsParquetSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for CosmosDbSQLAPISource. +func (cdsas CosmosDbSQLAPISource) AsBasicCopySource() (BasicCopySource, bool) { + return &cdsas, true +} + +// UnmarshalJSON is the custom unmarshaler for CosmosDbSQLAPISource struct. +func (cdsas *CosmosDbSQLAPISource) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -53757,7 +59861,25 @@ func (cs *CouchbaseSource) UnmarshalJSON(body []byte) error { if err != nil { return err } - cs.Query = query + cdsas.Query = query + } + case "pageSize": + if v != nil { + var pageSize interface{} + err = json.Unmarshal(*v, &pageSize) + if err != nil { + return err + } + cdsas.PageSize = pageSize + } + case "preferredRegions": + if v != nil { + var preferredRegions interface{} + err = json.Unmarshal(*v, &preferredRegions) + if err != nil { + return err + } + cdsas.PreferredRegions = preferredRegions } default: if v != nil { @@ -53766,10 +59888,10 @@ func (cs *CouchbaseSource) UnmarshalJSON(body []byte) error { if err != nil { return err } - if cs.AdditionalProperties == nil { - cs.AdditionalProperties = make(map[string]interface{}) + if cdsas.AdditionalProperties == nil { + cdsas.AdditionalProperties = make(map[string]interface{}) } - cs.AdditionalProperties[k] = additionalProperties + cdsas.AdditionalProperties[k] = additionalProperties } case "sourceRetryCount": if v != nil { @@ -53778,7 +59900,7 @@ func (cs *CouchbaseSource) UnmarshalJSON(body []byte) error { if err != nil { return err } - cs.SourceRetryCount = sourceRetryCount + cdsas.SourceRetryCount = sourceRetryCount } case "sourceRetryWait": if v != nil { @@ -53787,7 +59909,7 @@ func (cs *CouchbaseSource) UnmarshalJSON(body []byte) error { if err != nil { return err } - cs.SourceRetryWait = sourceRetryWait + cdsas.SourceRetryWait = sourceRetryWait } case "maxConcurrentConnections": if v != nil { @@ -53796,7 +59918,7 @@ func (cs *CouchbaseSource) UnmarshalJSON(body []byte) error { if err != nil { return err } - cs.MaxConcurrentConnections = maxConcurrentConnections + cdsas.MaxConcurrentConnections = maxConcurrentConnections } case "type": if v != nil { @@ -53805,7 +59927,7 @@ func (cs *CouchbaseSource) UnmarshalJSON(body []byte) error { if err != nil { return err } - cs.Type = typeVar + cdsas.Type = typeVar } } } @@ -53813,857 +59935,534 @@ func (cs *CouchbaseSource) UnmarshalJSON(body []byte) error { return nil } -// CouchbaseTableDataset couchbase server dataset. -type CouchbaseTableDataset struct { - // GenericDatasetTypeProperties - Properties specific to this dataset type. - *GenericDatasetTypeProperties `json:"typeProperties,omitempty"` +// CouchbaseLinkedService couchbase server linked service. +type CouchbaseLinkedService struct { + // CouchbaseLinkedServiceTypeProperties - Couchbase server linked service properties. + *CouchbaseLinkedServiceTypeProperties `json:"typeProperties,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` - // Description - Dataset description. + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. Description *string `json:"description,omitempty"` - // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. - Structure interface{} `json:"structure,omitempty"` - // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. - Schema interface{} `json:"schema,omitempty"` - // LinkedServiceName - Linked service reference. - LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` - // Parameters - Parameters for dataset. + // Parameters - Parameters for linked service. Parameters map[string]*ParameterSpecification `json:"parameters"` - // Annotations - List of tags that can be used for describing the Dataset. + // Annotations - List of tags that can be used for describing the linked service. Annotations *[]interface{} `json:"annotations,omitempty"` - // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. - Folder *DatasetFolder `json:"folder,omitempty"` - // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' - Type TypeBasicDataset `json:"type,omitempty"` + // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' + Type TypeBasicLinkedService `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for CouchbaseTableDataset. -func (ctd CouchbaseTableDataset) MarshalJSON() ([]byte, error) { - ctd.Type = TypeCouchbaseTable +// MarshalJSON is the custom marshaler for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) MarshalJSON() ([]byte, error) { + cls.Type = TypeCouchbase objectMap := make(map[string]interface{}) - if ctd.GenericDatasetTypeProperties != nil { - objectMap["typeProperties"] = ctd.GenericDatasetTypeProperties - } - if ctd.Description != nil { - objectMap["description"] = ctd.Description - } - if ctd.Structure != nil { - objectMap["structure"] = ctd.Structure - } - if ctd.Schema != nil { - objectMap["schema"] = ctd.Schema + if cls.CouchbaseLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = cls.CouchbaseLinkedServiceTypeProperties } - if ctd.LinkedServiceName != nil { - objectMap["linkedServiceName"] = ctd.LinkedServiceName + if cls.ConnectVia != nil { + objectMap["connectVia"] = cls.ConnectVia } - if ctd.Parameters != nil { - objectMap["parameters"] = ctd.Parameters + if cls.Description != nil { + objectMap["description"] = cls.Description } - if ctd.Annotations != nil { - objectMap["annotations"] = ctd.Annotations + if cls.Parameters != nil { + objectMap["parameters"] = cls.Parameters } - if ctd.Folder != nil { - objectMap["folder"] = ctd.Folder + if cls.Annotations != nil { + objectMap["annotations"] = cls.Annotations } - if ctd.Type != "" { - objectMap["type"] = ctd.Type + if cls.Type != "" { + objectMap["type"] = cls.Type } - for k, v := range ctd.AdditionalProperties { + for k, v := range cls.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for CouchbaseTableDataset. -func (ctd CouchbaseTableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { return nil, false } -// AsAzureDataExplorerTableDataset is the BasicDataset implementation for CouchbaseTableDataset. -func (ctd CouchbaseTableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { return nil, false } -// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for CouchbaseTableDataset. -func (ctd CouchbaseTableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { +// AsSapTableLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { return nil, false } -// AsDynamicsAXResourceDataset is the BasicDataset implementation for CouchbaseTableDataset. -func (ctd CouchbaseTableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { return nil, false } -// AsResponsysObjectDataset is the BasicDataset implementation for CouchbaseTableDataset. -func (ctd CouchbaseTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { return nil, false } -// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for CouchbaseTableDataset. -func (ctd CouchbaseTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { return nil, false } -// AsVerticaTableDataset is the BasicDataset implementation for CouchbaseTableDataset. -func (ctd CouchbaseTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { +// AsResponsysLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { return nil, false } -// AsNetezzaTableDataset is the BasicDataset implementation for CouchbaseTableDataset. -func (ctd CouchbaseTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { return nil, false } -// AsZohoObjectDataset is the BasicDataset implementation for CouchbaseTableDataset. -func (ctd CouchbaseTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { return nil, false } -// AsXeroObjectDataset is the BasicDataset implementation for CouchbaseTableDataset. -func (ctd CouchbaseTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { return nil, false } -// AsSquareObjectDataset is the BasicDataset implementation for CouchbaseTableDataset. -func (ctd CouchbaseTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { return nil, false } -// AsSparkObjectDataset is the BasicDataset implementation for CouchbaseTableDataset. -func (ctd CouchbaseTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { +// AsNetezzaLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { return nil, false } -// AsShopifyObjectDataset is the BasicDataset implementation for CouchbaseTableDataset. -func (ctd CouchbaseTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { +// AsVerticaLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { return nil, false } -// AsServiceNowObjectDataset is the BasicDataset implementation for CouchbaseTableDataset. -func (ctd CouchbaseTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { +// AsZohoLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { return nil, false } -// AsQuickBooksObjectDataset is the BasicDataset implementation for CouchbaseTableDataset. -func (ctd CouchbaseTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { +// AsXeroLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { return nil, false } -// AsPrestoObjectDataset is the BasicDataset implementation for CouchbaseTableDataset. -func (ctd CouchbaseTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { +// AsSquareLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { return nil, false } -// AsPhoenixObjectDataset is the BasicDataset implementation for CouchbaseTableDataset. -func (ctd CouchbaseTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { +// AsSparkLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { return nil, false } -// AsPaypalObjectDataset is the BasicDataset implementation for CouchbaseTableDataset. -func (ctd CouchbaseTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { +// AsShopifyLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { return nil, false } -// AsMarketoObjectDataset is the BasicDataset implementation for CouchbaseTableDataset. -func (ctd CouchbaseTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { +// AsServiceNowLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { return nil, false } -// AsAzureMariaDBTableDataset is the BasicDataset implementation for CouchbaseTableDataset. -func (ctd CouchbaseTableDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { +// AsQuickBooksLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { return nil, false } -// AsMariaDBTableDataset is the BasicDataset implementation for CouchbaseTableDataset. -func (ctd CouchbaseTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { +// AsPrestoLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { return nil, false } -// AsMagentoObjectDataset is the BasicDataset implementation for CouchbaseTableDataset. -func (ctd CouchbaseTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { +// AsPhoenixLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { return nil, false } -// AsJiraObjectDataset is the BasicDataset implementation for CouchbaseTableDataset. -func (ctd CouchbaseTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { +// AsPaypalLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { return nil, false } -// AsImpalaObjectDataset is the BasicDataset implementation for CouchbaseTableDataset. -func (ctd CouchbaseTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { +// AsMarketoLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { return nil, false } -// AsHubspotObjectDataset is the BasicDataset implementation for CouchbaseTableDataset. -func (ctd CouchbaseTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { return nil, false } -// AsHiveObjectDataset is the BasicDataset implementation for CouchbaseTableDataset. -func (ctd CouchbaseTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { +// AsMariaDBLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { return nil, false } -// AsHBaseObjectDataset is the BasicDataset implementation for CouchbaseTableDataset. -func (ctd CouchbaseTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { +// AsMagentoLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { return nil, false } -// AsGreenplumTableDataset is the BasicDataset implementation for CouchbaseTableDataset. -func (ctd CouchbaseTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { +// AsJiraLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { return nil, false } -// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for CouchbaseTableDataset. -func (ctd CouchbaseTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { +// AsImpalaLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { return nil, false } -// AsEloquaObjectDataset is the BasicDataset implementation for CouchbaseTableDataset. -func (ctd CouchbaseTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { +// AsHubspotLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { return nil, false } -// AsDrillTableDataset is the BasicDataset implementation for CouchbaseTableDataset. -func (ctd CouchbaseTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { +// AsHiveLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { return nil, false } -// AsCouchbaseTableDataset is the BasicDataset implementation for CouchbaseTableDataset. -func (ctd CouchbaseTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { - return &ctd, true -} - -// AsConcurObjectDataset is the BasicDataset implementation for CouchbaseTableDataset. -func (ctd CouchbaseTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { +// AsHBaseLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { return nil, false } -// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for CouchbaseTableDataset. -func (ctd CouchbaseTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { +// AsGreenplumLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { return nil, false } -// AsAmazonMWSObjectDataset is the BasicDataset implementation for CouchbaseTableDataset. -func (ctd CouchbaseTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { return nil, false } -// AsHTTPDataset is the BasicDataset implementation for CouchbaseTableDataset. -func (ctd CouchbaseTableDataset) AsHTTPDataset() (*HTTPDataset, bool) { +// AsEloquaLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { return nil, false } -// AsAzureSearchIndexDataset is the BasicDataset implementation for CouchbaseTableDataset. -func (ctd CouchbaseTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { +// AsDrillLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { return nil, false } -// AsWebTableDataset is the BasicDataset implementation for CouchbaseTableDataset. -func (ctd CouchbaseTableDataset) AsWebTableDataset() (*WebTableDataset, bool) { - return nil, false +// AsCouchbaseLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return &cls, true } -// AsSapTableResourceDataset is the BasicDataset implementation for CouchbaseTableDataset. -func (ctd CouchbaseTableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { +// AsConcurLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { return nil, false } -// AsRestResourceDataset is the BasicDataset implementation for CouchbaseTableDataset. -func (ctd CouchbaseTableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { return nil, false } -// AsSQLServerTableDataset is the BasicDataset implementation for CouchbaseTableDataset. -func (ctd CouchbaseTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { return nil, false } -// AsSapOpenHubTableDataset is the BasicDataset implementation for CouchbaseTableDataset. -func (ctd CouchbaseTableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { +// AsSapHanaLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { return nil, false } -// AsSapHanaTableDataset is the BasicDataset implementation for CouchbaseTableDataset. -func (ctd CouchbaseTableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { +// AsSapBWLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { return nil, false } -// AsSapEccResourceDataset is the BasicDataset implementation for CouchbaseTableDataset. -func (ctd CouchbaseTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { +// AsSftpServerLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { return nil, false } -// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for CouchbaseTableDataset. -func (ctd CouchbaseTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { +// AsFtpServerLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { return nil, false } -// AsSapBwCubeDataset is the BasicDataset implementation for CouchbaseTableDataset. -func (ctd CouchbaseTableDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { +// AsHTTPLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { return nil, false } -// AsSybaseTableDataset is the BasicDataset implementation for CouchbaseTableDataset. -func (ctd CouchbaseTableDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { +// AsAzureSearchLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { return nil, false } -// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for CouchbaseTableDataset. -func (ctd CouchbaseTableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { return nil, false } -// AsSalesforceObjectDataset is the BasicDataset implementation for CouchbaseTableDataset. -func (ctd CouchbaseTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { return nil, false } -// AsMicrosoftAccessTableDataset is the BasicDataset implementation for CouchbaseTableDataset. -func (ctd CouchbaseTableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { +// AsAmazonS3LinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { return nil, false } -// AsPostgreSQLTableDataset is the BasicDataset implementation for CouchbaseTableDataset. -func (ctd CouchbaseTableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { +// AsRestServiceLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { return nil, false } -// AsMySQLTableDataset is the BasicDataset implementation for CouchbaseTableDataset. -func (ctd CouchbaseTableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { return nil, false } -// AsOdbcTableDataset is the BasicDataset implementation for CouchbaseTableDataset. -func (ctd CouchbaseTableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { +// AsSapEccLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { return nil, false } -// AsInformixTableDataset is the BasicDataset implementation for CouchbaseTableDataset. -func (ctd CouchbaseTableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { - return nil, false -} - -// AsRelationalTableDataset is the BasicDataset implementation for CouchbaseTableDataset. -func (ctd CouchbaseTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { - return nil, false -} - -// AsAzureMySQLTableDataset is the BasicDataset implementation for CouchbaseTableDataset. -func (ctd CouchbaseTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { - return nil, false -} - -// AsTeradataTableDataset is the BasicDataset implementation for CouchbaseTableDataset. -func (ctd CouchbaseTableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { - return nil, false -} - -// AsOracleTableDataset is the BasicDataset implementation for CouchbaseTableDataset. -func (ctd CouchbaseTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { - return nil, false -} - -// AsODataResourceDataset is the BasicDataset implementation for CouchbaseTableDataset. -func (ctd CouchbaseTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { - return nil, false -} - -// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for CouchbaseTableDataset. -func (ctd CouchbaseTableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { - return nil, false -} - -// AsMongoDbV2CollectionDataset is the BasicDataset implementation for CouchbaseTableDataset. -func (ctd CouchbaseTableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { - return nil, false -} - -// AsMongoDbCollectionDataset is the BasicDataset implementation for CouchbaseTableDataset. -func (ctd CouchbaseTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { - return nil, false -} - -// AsFileShareDataset is the BasicDataset implementation for CouchbaseTableDataset. -func (ctd CouchbaseTableDataset) AsFileShareDataset() (*FileShareDataset, bool) { - return nil, false -} - -// AsOffice365Dataset is the BasicDataset implementation for CouchbaseTableDataset. -func (ctd CouchbaseTableDataset) AsOffice365Dataset() (*Office365Dataset, bool) { - return nil, false -} - -// AsAzureBlobFSDataset is the BasicDataset implementation for CouchbaseTableDataset. -func (ctd CouchbaseTableDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) { - return nil, false -} - -// AsAzureDataLakeStoreDataset is the BasicDataset implementation for CouchbaseTableDataset. -func (ctd CouchbaseTableDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) { - return nil, false -} - -// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for CouchbaseTableDataset. -func (ctd CouchbaseTableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { - return nil, false -} - -// AsDynamicsCrmEntityDataset is the BasicDataset implementation for CouchbaseTableDataset. -func (ctd CouchbaseTableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { - return nil, false -} - -// AsDynamicsEntityDataset is the BasicDataset implementation for CouchbaseTableDataset. -func (ctd CouchbaseTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { - return nil, false -} - -// AsDocumentDbCollectionDataset is the BasicDataset implementation for CouchbaseTableDataset. -func (ctd CouchbaseTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { - return nil, false -} - -// AsCustomDataset is the BasicDataset implementation for CouchbaseTableDataset. -func (ctd CouchbaseTableDataset) AsCustomDataset() (*CustomDataset, bool) { - return nil, false -} - -// AsCassandraTableDataset is the BasicDataset implementation for CouchbaseTableDataset. -func (ctd CouchbaseTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { - return nil, false -} - -// AsAzureSQLDWTableDataset is the BasicDataset implementation for CouchbaseTableDataset. -func (ctd CouchbaseTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { - return nil, false -} - -// AsAzureSQLMITableDataset is the BasicDataset implementation for CouchbaseTableDataset. -func (ctd CouchbaseTableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { - return nil, false -} - -// AsAzureSQLTableDataset is the BasicDataset implementation for CouchbaseTableDataset. -func (ctd CouchbaseTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { return nil, false } -// AsAzureTableDataset is the BasicDataset implementation for CouchbaseTableDataset. -func (ctd CouchbaseTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { return nil, false } -// AsAzureBlobDataset is the BasicDataset implementation for CouchbaseTableDataset. -func (ctd CouchbaseTableDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) { +// AsSalesforceLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { return nil, false } -// AsBinaryDataset is the BasicDataset implementation for CouchbaseTableDataset. -func (ctd CouchbaseTableDataset) AsBinaryDataset() (*BinaryDataset, bool) { +// AsOffice365LinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { return nil, false } -// AsDelimitedTextDataset is the BasicDataset implementation for CouchbaseTableDataset. -func (ctd CouchbaseTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { return nil, false } -// AsParquetDataset is the BasicDataset implementation for CouchbaseTableDataset. -func (ctd CouchbaseTableDataset) AsParquetDataset() (*ParquetDataset, bool) { +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { return nil, false } -// AsAvroDataset is the BasicDataset implementation for CouchbaseTableDataset. -func (ctd CouchbaseTableDataset) AsAvroDataset() (*AvroDataset, bool) { +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { return nil, false } -// AsAmazonS3Dataset is the BasicDataset implementation for CouchbaseTableDataset. -func (ctd CouchbaseTableDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) { +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { return nil, false } -// AsDataset is the BasicDataset implementation for CouchbaseTableDataset. -func (ctd CouchbaseTableDataset) AsDataset() (*Dataset, bool) { +// AsMongoDbLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { return nil, false } -// AsBasicDataset is the BasicDataset implementation for CouchbaseTableDataset. -func (ctd CouchbaseTableDataset) AsBasicDataset() (BasicDataset, bool) { - return &ctd, true -} - -// UnmarshalJSON is the custom unmarshaler for CouchbaseTableDataset struct. -func (ctd *CouchbaseTableDataset) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - case "typeProperties": - if v != nil { - var genericDatasetTypeProperties GenericDatasetTypeProperties - err = json.Unmarshal(*v, &genericDatasetTypeProperties) - if err != nil { - return err - } - ctd.GenericDatasetTypeProperties = &genericDatasetTypeProperties - } - default: - if v != nil { - var additionalProperties interface{} - err = json.Unmarshal(*v, &additionalProperties) - if err != nil { - return err - } - if ctd.AdditionalProperties == nil { - ctd.AdditionalProperties = make(map[string]interface{}) - } - ctd.AdditionalProperties[k] = additionalProperties - } - case "description": - if v != nil { - var description string - err = json.Unmarshal(*v, &description) - if err != nil { - return err - } - ctd.Description = &description - } - case "structure": - if v != nil { - var structure interface{} - err = json.Unmarshal(*v, &structure) - if err != nil { - return err - } - ctd.Structure = structure - } - case "schema": - if v != nil { - var schema interface{} - err = json.Unmarshal(*v, &schema) - if err != nil { - return err - } - ctd.Schema = schema - } - case "linkedServiceName": - if v != nil { - var linkedServiceName LinkedServiceReference - err = json.Unmarshal(*v, &linkedServiceName) - if err != nil { - return err - } - ctd.LinkedServiceName = &linkedServiceName - } - case "parameters": - if v != nil { - var parameters map[string]*ParameterSpecification - err = json.Unmarshal(*v, ¶meters) - if err != nil { - return err - } - ctd.Parameters = parameters - } - case "annotations": - if v != nil { - var annotations []interface{} - err = json.Unmarshal(*v, &annotations) - if err != nil { - return err - } - ctd.Annotations = &annotations - } - case "folder": - if v != nil { - var folder DatasetFolder - err = json.Unmarshal(*v, &folder) - if err != nil { - return err - } - ctd.Folder = &folder - } - case "type": - if v != nil { - var typeVar TypeBasicDataset - err = json.Unmarshal(*v, &typeVar) - if err != nil { - return err - } - ctd.Type = typeVar - } - } - } - - return nil -} - -// CreateLinkedIntegrationRuntimeRequest the linked integration runtime information. -type CreateLinkedIntegrationRuntimeRequest struct { - // Name - The name of the linked integration runtime. - Name *string `json:"name,omitempty"` - // SubscriptionID - The ID of the subscription that the linked integration runtime belongs to. - SubscriptionID *string `json:"subscriptionId,omitempty"` - // DataFactoryName - The name of the data factory that the linked integration runtime belongs to. - DataFactoryName *string `json:"dataFactoryName,omitempty"` - // DataFactoryLocation - The location of the data factory that the linked integration runtime belongs to. - DataFactoryLocation *string `json:"dataFactoryLocation,omitempty"` -} - -// CreateRunResponse response body with a run identifier. -type CreateRunResponse struct { - autorest.Response `json:"-"` - // RunID - Identifier of a run. - RunID *string `json:"runId,omitempty"` -} - -// CustomActivity custom activity type. -type CustomActivity struct { - // CustomActivityTypeProperties - Custom activity properties. - *CustomActivityTypeProperties `json:"typeProperties,omitempty"` - // LinkedServiceName - Linked service reference. - LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` - // Policy - Activity policy. - Policy *ActivityPolicy `json:"policy,omitempty"` - // AdditionalProperties - Unmatched properties from the message are deserialized this collection - AdditionalProperties map[string]interface{} `json:""` - // Name - Activity name. - Name *string `json:"name,omitempty"` - // Description - Activity description. - Description *string `json:"description,omitempty"` - // DependsOn - Activity depends on condition. - DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"` - // UserProperties - Activity user properties. - UserProperties *[]UserProperty `json:"userProperties,omitempty"` - // Type - Possible values include: 'TypeActivity', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer' - Type TypeBasicActivity `json:"type,omitempty"` -} - -// MarshalJSON is the custom marshaler for CustomActivity. -func (ca CustomActivity) MarshalJSON() ([]byte, error) { - ca.Type = TypeCustom - objectMap := make(map[string]interface{}) - if ca.CustomActivityTypeProperties != nil { - objectMap["typeProperties"] = ca.CustomActivityTypeProperties - } - if ca.LinkedServiceName != nil { - objectMap["linkedServiceName"] = ca.LinkedServiceName - } - if ca.Policy != nil { - objectMap["policy"] = ca.Policy - } - if ca.Name != nil { - objectMap["name"] = ca.Name - } - if ca.Description != nil { - objectMap["description"] = ca.Description - } - if ca.DependsOn != nil { - objectMap["dependsOn"] = ca.DependsOn - } - if ca.UserProperties != nil { - objectMap["userProperties"] = ca.UserProperties - } - if ca.Type != "" { - objectMap["type"] = ca.Type - } - for k, v := range ca.AdditionalProperties { - objectMap[k] = v - } - return json.Marshal(objectMap) -} - -// AsAzureFunctionActivity is the BasicActivity implementation for CustomActivity. -func (ca CustomActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) { +// AsCassandraLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { return nil, false } -// AsDatabricksSparkPythonActivity is the BasicActivity implementation for CustomActivity. -func (ca CustomActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) { +// AsWebLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { return nil, false } -// AsDatabricksSparkJarActivity is the BasicActivity implementation for CustomActivity. -func (ca CustomActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) { +// AsODataLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { return nil, false } -// AsDatabricksNotebookActivity is the BasicActivity implementation for CustomActivity. -func (ca CustomActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) { +// AsHdfsLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { return nil, false } -// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for CustomActivity. -func (ca CustomActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) { +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { return nil, false } -// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for CustomActivity. -func (ca CustomActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) { +// AsInformixLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { return nil, false } -// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for CustomActivity. -func (ca CustomActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) { +// AsOdbcLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { return nil, false } -// AsGetMetadataActivity is the BasicActivity implementation for CustomActivity. -func (ca CustomActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) { +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { return nil, false } -// AsWebActivity is the BasicActivity implementation for CustomActivity. -func (ca CustomActivity) AsWebActivity() (*WebActivity, bool) { +// AsAzureMLLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { return nil, false } -// AsLookupActivity is the BasicActivity implementation for CustomActivity. -func (ca CustomActivity) AsLookupActivity() (*LookupActivity, bool) { +// AsTeradataLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { return nil, false } -// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for CustomActivity. -func (ca CustomActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) { +// AsDb2LinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { return nil, false } -// AsDeleteActivity is the BasicActivity implementation for CustomActivity. -func (ca CustomActivity) AsDeleteActivity() (*DeleteActivity, bool) { +// AsSybaseLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { return nil, false } -// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for CustomActivity. -func (ca CustomActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) { +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { return nil, false } -// AsCustomActivity is the BasicActivity implementation for CustomActivity. -func (ca CustomActivity) AsCustomActivity() (*CustomActivity, bool) { - return &ca, true -} - -// AsExecuteSSISPackageActivity is the BasicActivity implementation for CustomActivity. -func (ca CustomActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) { +// AsMySQLLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { return nil, false } -// AsHDInsightSparkActivity is the BasicActivity implementation for CustomActivity. -func (ca CustomActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) { +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { return nil, false } -// AsHDInsightStreamingActivity is the BasicActivity implementation for CustomActivity. -func (ca CustomActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) { +// AsOracleLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { return nil, false } -// AsHDInsightMapReduceActivity is the BasicActivity implementation for CustomActivity. -func (ca CustomActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) { +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { return nil, false } -// AsHDInsightPigActivity is the BasicActivity implementation for CustomActivity. -func (ca CustomActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) { +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { return nil, false } -// AsHDInsightHiveActivity is the BasicActivity implementation for CustomActivity. -func (ca CustomActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) { +// AsFileServerLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { return nil, false } -// AsCopyActivity is the BasicActivity implementation for CustomActivity. -func (ca CustomActivity) AsCopyActivity() (*CopyActivity, bool) { +// AsHDInsightLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { return nil, false } -// AsExecutionActivity is the BasicActivity implementation for CustomActivity. -func (ca CustomActivity) AsExecutionActivity() (*ExecutionActivity, bool) { +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { return nil, false } -// AsBasicExecutionActivity is the BasicActivity implementation for CustomActivity. -func (ca CustomActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) { - return &ca, true -} - -// AsWebHookActivity is the BasicActivity implementation for CustomActivity. -func (ca CustomActivity) AsWebHookActivity() (*WebHookActivity, bool) { +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { return nil, false } -// AsAppendVariableActivity is the BasicActivity implementation for CustomActivity. -func (ca CustomActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) { +// AsDynamicsLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { return nil, false } -// AsSetVariableActivity is the BasicActivity implementation for CustomActivity. -func (ca CustomActivity) AsSetVariableActivity() (*SetVariableActivity, bool) { +// AsCosmosDbLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { return nil, false } -// AsFilterActivity is the BasicActivity implementation for CustomActivity. -func (ca CustomActivity) AsFilterActivity() (*FilterActivity, bool) { +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { return nil, false } -// AsValidationActivity is the BasicActivity implementation for CustomActivity. -func (ca CustomActivity) AsValidationActivity() (*ValidationActivity, bool) { +// AsAzureBatchLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { return nil, false } -// AsUntilActivity is the BasicActivity implementation for CustomActivity. -func (ca CustomActivity) AsUntilActivity() (*UntilActivity, bool) { +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { return nil, false } -// AsWaitActivity is the BasicActivity implementation for CustomActivity. -func (ca CustomActivity) AsWaitActivity() (*WaitActivity, bool) { +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { return nil, false } -// AsForEachActivity is the BasicActivity implementation for CustomActivity. -func (ca CustomActivity) AsForEachActivity() (*ForEachActivity, bool) { +// AsSQLServerLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { return nil, false } -// AsIfConditionActivity is the BasicActivity implementation for CustomActivity. -func (ca CustomActivity) AsIfConditionActivity() (*IfConditionActivity, bool) { +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { return nil, false } -// AsExecutePipelineActivity is the BasicActivity implementation for CustomActivity. -func (ca CustomActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) { +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { return nil, false } -// AsControlActivity is the BasicActivity implementation for CustomActivity. -func (ca CustomActivity) AsControlActivity() (*ControlActivity, bool) { +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { return nil, false } -// AsBasicControlActivity is the BasicActivity implementation for CustomActivity. -func (ca CustomActivity) AsBasicControlActivity() (BasicControlActivity, bool) { +// AsAzureStorageLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { return nil, false } -// AsActivity is the BasicActivity implementation for CustomActivity. -func (ca CustomActivity) AsActivity() (*Activity, bool) { +// AsLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsLinkedService() (*LinkedService, bool) { return nil, false } -// AsBasicActivity is the BasicActivity implementation for CustomActivity. -func (ca CustomActivity) AsBasicActivity() (BasicActivity, bool) { - return &ca, true +// AsBasicLinkedService is the BasicLinkedService implementation for CouchbaseLinkedService. +func (cls CouchbaseLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &cls, true } -// UnmarshalJSON is the custom unmarshaler for CustomActivity struct. -func (ca *CustomActivity) UnmarshalJSON(body []byte) error { +// UnmarshalJSON is the custom unmarshaler for CouchbaseLinkedService struct. +func (cls *CouchbaseLinkedService) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -54673,30 +60472,12 @@ func (ca *CustomActivity) UnmarshalJSON(body []byte) error { switch k { case "typeProperties": if v != nil { - var customActivityTypeProperties CustomActivityTypeProperties - err = json.Unmarshal(*v, &customActivityTypeProperties) - if err != nil { - return err - } - ca.CustomActivityTypeProperties = &customActivityTypeProperties - } - case "linkedServiceName": - if v != nil { - var linkedServiceName LinkedServiceReference - err = json.Unmarshal(*v, &linkedServiceName) - if err != nil { - return err - } - ca.LinkedServiceName = &linkedServiceName - } - case "policy": - if v != nil { - var policy ActivityPolicy - err = json.Unmarshal(*v, &policy) + var couchbaseLinkedServiceTypeProperties CouchbaseLinkedServiceTypeProperties + err = json.Unmarshal(*v, &couchbaseLinkedServiceTypeProperties) if err != nil { return err } - ca.Policy = &policy + cls.CouchbaseLinkedServiceTypeProperties = &couchbaseLinkedServiceTypeProperties } default: if v != nil { @@ -54705,19 +60486,19 @@ func (ca *CustomActivity) UnmarshalJSON(body []byte) error { if err != nil { return err } - if ca.AdditionalProperties == nil { - ca.AdditionalProperties = make(map[string]interface{}) + if cls.AdditionalProperties == nil { + cls.AdditionalProperties = make(map[string]interface{}) } - ca.AdditionalProperties[k] = additionalProperties + cls.AdditionalProperties[k] = additionalProperties } - case "name": + case "connectVia": if v != nil { - var name string - err = json.Unmarshal(*v, &name) + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) if err != nil { return err } - ca.Name = &name + cls.ConnectVia = &connectVia } case "description": if v != nil { @@ -54726,34 +60507,34 @@ func (ca *CustomActivity) UnmarshalJSON(body []byte) error { if err != nil { return err } - ca.Description = &description + cls.Description = &description } - case "dependsOn": + case "parameters": if v != nil { - var dependsOn []ActivityDependency - err = json.Unmarshal(*v, &dependsOn) + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) if err != nil { return err } - ca.DependsOn = &dependsOn + cls.Parameters = parameters } - case "userProperties": + case "annotations": if v != nil { - var userProperties []UserProperty - err = json.Unmarshal(*v, &userProperties) + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) if err != nil { return err } - ca.UserProperties = &userProperties + cls.Annotations = &annotations } case "type": if v != nil { - var typeVar TypeBasicActivity + var typeVar TypeBasicLinkedService err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - ca.Type = typeVar + cls.Type = typeVar } } } @@ -54761,636 +60542,586 @@ func (ca *CustomActivity) UnmarshalJSON(body []byte) error { return nil } -// CustomActivityReferenceObject reference objects for custom activity -type CustomActivityReferenceObject struct { - // LinkedServices - Linked service references. - LinkedServices *[]LinkedServiceReference `json:"linkedServices,omitempty"` - // Datasets - Dataset references. - Datasets *[]DatasetReference `json:"datasets,omitempty"` -} - -// CustomActivityTypeProperties custom activity properties. -type CustomActivityTypeProperties struct { - // Command - Command for custom activity Type: string (or Expression with resultType string). - Command interface{} `json:"command,omitempty"` - // ResourceLinkedService - Resource linked service reference. - ResourceLinkedService *LinkedServiceReference `json:"resourceLinkedService,omitempty"` - // FolderPath - Folder path for resource files Type: string (or Expression with resultType string). - FolderPath interface{} `json:"folderPath,omitempty"` - // ReferenceObjects - Reference objects - ReferenceObjects *CustomActivityReferenceObject `json:"referenceObjects,omitempty"` - // ExtendedProperties - User defined property bag. There is no restriction on the keys or values that can be used. The user specified custom activity has the full responsibility to consume and interpret the content defined. - ExtendedProperties map[string]interface{} `json:"extendedProperties"` - // RetentionTimeInDays - The retention time for the files submitted for custom activity. Type: double (or Expression with resultType double). - RetentionTimeInDays interface{} `json:"retentionTimeInDays,omitempty"` -} - -// MarshalJSON is the custom marshaler for CustomActivityTypeProperties. -func (catp CustomActivityTypeProperties) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - if catp.Command != nil { - objectMap["command"] = catp.Command - } - if catp.ResourceLinkedService != nil { - objectMap["resourceLinkedService"] = catp.ResourceLinkedService - } - if catp.FolderPath != nil { - objectMap["folderPath"] = catp.FolderPath - } - if catp.ReferenceObjects != nil { - objectMap["referenceObjects"] = catp.ReferenceObjects - } - if catp.ExtendedProperties != nil { - objectMap["extendedProperties"] = catp.ExtendedProperties - } - if catp.RetentionTimeInDays != nil { - objectMap["retentionTimeInDays"] = catp.RetentionTimeInDays - } - return json.Marshal(objectMap) +// CouchbaseLinkedServiceTypeProperties couchbase server linked service properties. +type CouchbaseLinkedServiceTypeProperties struct { + // ConnectionString - An ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference. + ConnectionString interface{} `json:"connectionString,omitempty"` + // CredString - The Azure key vault secret reference of credString in connection string. + CredString *AzureKeyVaultSecretReference `json:"credString,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` } -// CustomDataset the custom dataset. -type CustomDataset struct { - // TypeProperties - Custom dataset properties. - TypeProperties interface{} `json:"typeProperties,omitempty"` +// CouchbaseSource a copy activity Couchbase server source. +type CouchbaseSource struct { + // Query - A query to retrieve data from source. Type: string (or Expression with resultType string). + Query interface{} `json:"query,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` - // Description - Dataset description. - Description *string `json:"description,omitempty"` - // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. - Structure interface{} `json:"structure,omitempty"` - // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. - Schema interface{} `json:"schema,omitempty"` - // LinkedServiceName - Linked service reference. - LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` - // Parameters - Parameters for dataset. - Parameters map[string]*ParameterSpecification `json:"parameters"` - // Annotations - List of tags that can be used for describing the Dataset. - Annotations *[]interface{} `json:"annotations,omitempty"` - // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. - Folder *DatasetFolder `json:"folder,omitempty"` - // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' - Type TypeBasicDataset `json:"type,omitempty"` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' + Type TypeBasicCopySource `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for CustomDataset. -func (cd CustomDataset) MarshalJSON() ([]byte, error) { - cd.Type = TypeCustomDataset +// MarshalJSON is the custom marshaler for CouchbaseSource. +func (cs CouchbaseSource) MarshalJSON() ([]byte, error) { + cs.Type = TypeCouchbaseSource objectMap := make(map[string]interface{}) - if cd.TypeProperties != nil { - objectMap["typeProperties"] = cd.TypeProperties - } - if cd.Description != nil { - objectMap["description"] = cd.Description - } - if cd.Structure != nil { - objectMap["structure"] = cd.Structure - } - if cd.Schema != nil { - objectMap["schema"] = cd.Schema + if cs.Query != nil { + objectMap["query"] = cs.Query } - if cd.LinkedServiceName != nil { - objectMap["linkedServiceName"] = cd.LinkedServiceName + if cs.QueryTimeout != nil { + objectMap["queryTimeout"] = cs.QueryTimeout } - if cd.Parameters != nil { - objectMap["parameters"] = cd.Parameters + if cs.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = cs.SourceRetryCount } - if cd.Annotations != nil { - objectMap["annotations"] = cd.Annotations + if cs.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = cs.SourceRetryWait } - if cd.Folder != nil { - objectMap["folder"] = cd.Folder + if cs.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = cs.MaxConcurrentConnections } - if cd.Type != "" { - objectMap["type"] = cd.Type + if cs.Type != "" { + objectMap["type"] = cs.Type } - for k, v := range cd.AdditionalProperties { + for k, v := range cs.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for CustomDataset. -func (cd CustomDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { +// AsHTTPSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsHTTPSource() (*HTTPSource, bool) { return nil, false } -// AsAzureDataExplorerTableDataset is the BasicDataset implementation for CustomDataset. -func (cd CustomDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { +// AsAzureBlobFSSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { return nil, false } -// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for CustomDataset. -func (cd CustomDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { return nil, false } -// AsDynamicsAXResourceDataset is the BasicDataset implementation for CustomDataset. -func (cd CustomDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { +// AsOffice365Source is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsOffice365Source() (*Office365Source, bool) { return nil, false } -// AsResponsysObjectDataset is the BasicDataset implementation for CustomDataset. -func (cd CustomDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { return nil, false } -// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for CustomDataset. -func (cd CustomDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { +// AsMongoDbV2Source is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { return nil, false } -// AsVerticaTableDataset is the BasicDataset implementation for CustomDataset. -func (cd CustomDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { +// AsMongoDbSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsMongoDbSource() (*MongoDbSource, bool) { return nil, false } -// AsNetezzaTableDataset is the BasicDataset implementation for CustomDataset. -func (cd CustomDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { +// AsWebSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsWebSource() (*WebSource, bool) { return nil, false } -// AsZohoObjectDataset is the BasicDataset implementation for CustomDataset. -func (cd CustomDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { +// AsOracleSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsOracleSource() (*OracleSource, bool) { return nil, false } -// AsXeroObjectDataset is the BasicDataset implementation for CustomDataset. -func (cd CustomDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { +// AsAzureDataExplorerSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { return nil, false } -// AsSquareObjectDataset is the BasicDataset implementation for CustomDataset. -func (cd CustomDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { +// AsHdfsSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsHdfsSource() (*HdfsSource, bool) { return nil, false } -// AsSparkObjectDataset is the BasicDataset implementation for CustomDataset. -func (cd CustomDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { +// AsFileSystemSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsFileSystemSource() (*FileSystemSource, bool) { return nil, false } -// AsShopifyObjectDataset is the BasicDataset implementation for CustomDataset. -func (cd CustomDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { +// AsRestSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsRestSource() (*RestSource, bool) { return nil, false } -// AsServiceNowObjectDataset is the BasicDataset implementation for CustomDataset. -func (cd CustomDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { return nil, false } -// AsQuickBooksObjectDataset is the BasicDataset implementation for CustomDataset. -func (cd CustomDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { +// AsODataSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsODataSource() (*ODataSource, bool) { return nil, false } -// AsPrestoObjectDataset is the BasicDataset implementation for CustomDataset. -func (cd CustomDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { +// AsMicrosoftAccessSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { return nil, false } -// AsPhoenixObjectDataset is the BasicDataset implementation for CustomDataset. -func (cd CustomDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { +// AsRelationalSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsRelationalSource() (*RelationalSource, bool) { return nil, false } -// AsPaypalObjectDataset is the BasicDataset implementation for CustomDataset. -func (cd CustomDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { return nil, false } -// AsMarketoObjectDataset is the BasicDataset implementation for CustomDataset. -func (cd CustomDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { +// AsDynamicsCrmSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { return nil, false } -// AsAzureMariaDBTableDataset is the BasicDataset implementation for CustomDataset. -func (cd CustomDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { +// AsDynamicsSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsDynamicsSource() (*DynamicsSource, bool) { return nil, false } -// AsMariaDBTableDataset is the BasicDataset implementation for CustomDataset. -func (cd CustomDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { return nil, false } -// AsMagentoObjectDataset is the BasicDataset implementation for CustomDataset. -func (cd CustomDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { +// AsDocumentDbCollectionSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { return nil, false } -// AsJiraObjectDataset is the BasicDataset implementation for CustomDataset. -func (cd CustomDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { +// AsBlobSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsBlobSource() (*BlobSource, bool) { return nil, false } -// AsImpalaObjectDataset is the BasicDataset implementation for CustomDataset. -func (cd CustomDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { +// AsAmazonRedshiftSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { return nil, false } -// AsHubspotObjectDataset is the BasicDataset implementation for CustomDataset. -func (cd CustomDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { +// AsGoogleAdWordsSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { return nil, false } -// AsHiveObjectDataset is the BasicDataset implementation for CustomDataset. -func (cd CustomDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { +// AsOracleServiceCloudSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { return nil, false } -// AsHBaseObjectDataset is the BasicDataset implementation for CustomDataset. -func (cd CustomDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { +// AsDynamicsAXSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { return nil, false } -// AsGreenplumTableDataset is the BasicDataset implementation for CustomDataset. -func (cd CustomDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { +// AsResponsysSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsResponsysSource() (*ResponsysSource, bool) { return nil, false } -// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for CustomDataset. -func (cd CustomDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { return nil, false } -// AsEloquaObjectDataset is the BasicDataset implementation for CustomDataset. -func (cd CustomDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { +// AsVerticaSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsVerticaSource() (*VerticaSource, bool) { return nil, false } -// AsDrillTableDataset is the BasicDataset implementation for CustomDataset. -func (cd CustomDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { +// AsNetezzaSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsNetezzaSource() (*NetezzaSource, bool) { return nil, false } -// AsCouchbaseTableDataset is the BasicDataset implementation for CustomDataset. -func (cd CustomDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { +// AsZohoSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsZohoSource() (*ZohoSource, bool) { return nil, false } -// AsConcurObjectDataset is the BasicDataset implementation for CustomDataset. -func (cd CustomDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { +// AsXeroSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsXeroSource() (*XeroSource, bool) { return nil, false } -// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for CustomDataset. -func (cd CustomDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { +// AsSquareSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsSquareSource() (*SquareSource, bool) { return nil, false } -// AsAmazonMWSObjectDataset is the BasicDataset implementation for CustomDataset. -func (cd CustomDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { +// AsSparkSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsSparkSource() (*SparkSource, bool) { return nil, false } -// AsHTTPDataset is the BasicDataset implementation for CustomDataset. -func (cd CustomDataset) AsHTTPDataset() (*HTTPDataset, bool) { +// AsShopifySource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsShopifySource() (*ShopifySource, bool) { return nil, false } -// AsAzureSearchIndexDataset is the BasicDataset implementation for CustomDataset. -func (cd CustomDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { +// AsServiceNowSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsServiceNowSource() (*ServiceNowSource, bool) { return nil, false } -// AsWebTableDataset is the BasicDataset implementation for CustomDataset. -func (cd CustomDataset) AsWebTableDataset() (*WebTableDataset, bool) { +// AsQuickBooksSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsQuickBooksSource() (*QuickBooksSource, bool) { return nil, false } -// AsSapTableResourceDataset is the BasicDataset implementation for CustomDataset. -func (cd CustomDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { +// AsPrestoSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsPrestoSource() (*PrestoSource, bool) { return nil, false } -// AsRestResourceDataset is the BasicDataset implementation for CustomDataset. -func (cd CustomDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { +// AsPhoenixSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsPhoenixSource() (*PhoenixSource, bool) { return nil, false } -// AsSQLServerTableDataset is the BasicDataset implementation for CustomDataset. -func (cd CustomDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { +// AsPaypalSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsPaypalSource() (*PaypalSource, bool) { return nil, false } -// AsSapOpenHubTableDataset is the BasicDataset implementation for CustomDataset. -func (cd CustomDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { +// AsMarketoSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsMarketoSource() (*MarketoSource, bool) { return nil, false } -// AsSapHanaTableDataset is the BasicDataset implementation for CustomDataset. -func (cd CustomDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { +// AsAzureMariaDBSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { return nil, false } -// AsSapEccResourceDataset is the BasicDataset implementation for CustomDataset. -func (cd CustomDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { +// AsMariaDBSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsMariaDBSource() (*MariaDBSource, bool) { return nil, false } -// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for CustomDataset. -func (cd CustomDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { +// AsMagentoSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsMagentoSource() (*MagentoSource, bool) { return nil, false } -// AsSapBwCubeDataset is the BasicDataset implementation for CustomDataset. -func (cd CustomDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { +// AsJiraSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsJiraSource() (*JiraSource, bool) { return nil, false } -// AsSybaseTableDataset is the BasicDataset implementation for CustomDataset. -func (cd CustomDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { +// AsImpalaSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsImpalaSource() (*ImpalaSource, bool) { return nil, false } -// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for CustomDataset. -func (cd CustomDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { +// AsHubspotSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsHubspotSource() (*HubspotSource, bool) { return nil, false } -// AsSalesforceObjectDataset is the BasicDataset implementation for CustomDataset. -func (cd CustomDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { +// AsHiveSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsHiveSource() (*HiveSource, bool) { return nil, false } -// AsMicrosoftAccessTableDataset is the BasicDataset implementation for CustomDataset. -func (cd CustomDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { +// AsHBaseSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsHBaseSource() (*HBaseSource, bool) { return nil, false } -// AsPostgreSQLTableDataset is the BasicDataset implementation for CustomDataset. -func (cd CustomDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { +// AsGreenplumSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsGreenplumSource() (*GreenplumSource, bool) { return nil, false } -// AsMySQLTableDataset is the BasicDataset implementation for CustomDataset. -func (cd CustomDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { +// AsGoogleBigQuerySource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { return nil, false } -// AsOdbcTableDataset is the BasicDataset implementation for CustomDataset. -func (cd CustomDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { +// AsEloquaSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsEloquaSource() (*EloquaSource, bool) { return nil, false } -// AsInformixTableDataset is the BasicDataset implementation for CustomDataset. -func (cd CustomDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { +// AsDrillSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsDrillSource() (*DrillSource, bool) { return nil, false } -// AsRelationalTableDataset is the BasicDataset implementation for CustomDataset. -func (cd CustomDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { +// AsCouchbaseSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsCouchbaseSource() (*CouchbaseSource, bool) { + return &cs, true +} + +// AsConcurSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsConcurSource() (*ConcurSource, bool) { return nil, false } -// AsAzureMySQLTableDataset is the BasicDataset implementation for CustomDataset. -func (cd CustomDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { +// AsAzurePostgreSQLSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { return nil, false } -// AsTeradataTableDataset is the BasicDataset implementation for CustomDataset. -func (cd CustomDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { +// AsAmazonMWSSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { return nil, false } -// AsOracleTableDataset is the BasicDataset implementation for CustomDataset. -func (cd CustomDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { +// AsCassandraSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsCassandraSource() (*CassandraSource, bool) { return nil, false } -// AsODataResourceDataset is the BasicDataset implementation for CustomDataset. -func (cd CustomDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { +// AsTeradataSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsTeradataSource() (*TeradataSource, bool) { return nil, false } -// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for CustomDataset. -func (cd CustomDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { +// AsAzureMySQLSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { return nil, false } -// AsMongoDbV2CollectionDataset is the BasicDataset implementation for CustomDataset. -func (cd CustomDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { +// AsSQLDWSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsSQLDWSource() (*SQLDWSource, bool) { return nil, false } -// AsMongoDbCollectionDataset is the BasicDataset implementation for CustomDataset. -func (cd CustomDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { +// AsSQLMISource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsSQLMISource() (*SQLMISource, bool) { return nil, false } -// AsFileShareDataset is the BasicDataset implementation for CustomDataset. -func (cd CustomDataset) AsFileShareDataset() (*FileShareDataset, bool) { +// AsAzureSQLSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsAzureSQLSource() (*AzureSQLSource, bool) { return nil, false } -// AsOffice365Dataset is the BasicDataset implementation for CustomDataset. -func (cd CustomDataset) AsOffice365Dataset() (*Office365Dataset, bool) { +// AsSQLServerSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsSQLServerSource() (*SQLServerSource, bool) { return nil, false } -// AsAzureBlobFSDataset is the BasicDataset implementation for CustomDataset. -func (cd CustomDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) { +// AsSQLSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsSQLSource() (*SQLSource, bool) { return nil, false } -// AsAzureDataLakeStoreDataset is the BasicDataset implementation for CustomDataset. -func (cd CustomDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) { +// AsSapTableSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsSapTableSource() (*SapTableSource, bool) { return nil, false } -// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for CustomDataset. -func (cd CustomDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { +// AsSapOpenHubSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { return nil, false } -// AsDynamicsCrmEntityDataset is the BasicDataset implementation for CustomDataset. -func (cd CustomDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { +// AsSapHanaSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsSapHanaSource() (*SapHanaSource, bool) { return nil, false } -// AsDynamicsEntityDataset is the BasicDataset implementation for CustomDataset. -func (cd CustomDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { +// AsSapEccSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsSapEccSource() (*SapEccSource, bool) { return nil, false } -// AsDocumentDbCollectionDataset is the BasicDataset implementation for CustomDataset. -func (cd CustomDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { +// AsSapCloudForCustomerSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { return nil, false } -// AsCustomDataset is the BasicDataset implementation for CustomDataset. -func (cd CustomDataset) AsCustomDataset() (*CustomDataset, bool) { - return &cd, true +// AsSalesforceSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsSalesforceSource() (*SalesforceSource, bool) { + return nil, false } -// AsCassandraTableDataset is the BasicDataset implementation for CustomDataset. -func (cd CustomDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { +// AsSapBwSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsSapBwSource() (*SapBwSource, bool) { return nil, false } -// AsAzureSQLDWTableDataset is the BasicDataset implementation for CustomDataset. -func (cd CustomDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { +// AsSybaseSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsSybaseSource() (*SybaseSource, bool) { return nil, false } -// AsAzureSQLMITableDataset is the BasicDataset implementation for CustomDataset. -func (cd CustomDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { +// AsPostgreSQLSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { return nil, false } -// AsAzureSQLTableDataset is the BasicDataset implementation for CustomDataset. -func (cd CustomDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { +// AsMySQLSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsMySQLSource() (*MySQLSource, bool) { return nil, false } -// AsAzureTableDataset is the BasicDataset implementation for CustomDataset. -func (cd CustomDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { +// AsOdbcSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsOdbcSource() (*OdbcSource, bool) { return nil, false } -// AsAzureBlobDataset is the BasicDataset implementation for CustomDataset. -func (cd CustomDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) { +// AsDb2Source is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsDb2Source() (*Db2Source, bool) { return nil, false } -// AsBinaryDataset is the BasicDataset implementation for CustomDataset. -func (cd CustomDataset) AsBinaryDataset() (*BinaryDataset, bool) { +// AsInformixSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsInformixSource() (*InformixSource, bool) { return nil, false } -// AsDelimitedTextDataset is the BasicDataset implementation for CustomDataset. -func (cd CustomDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { +// AsAzureTableSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsAzureTableSource() (*AzureTableSource, bool) { return nil, false } -// AsParquetDataset is the BasicDataset implementation for CustomDataset. -func (cd CustomDataset) AsParquetDataset() (*ParquetDataset, bool) { +// AsTabularSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsTabularSource() (*TabularSource, bool) { return nil, false } -// AsAvroDataset is the BasicDataset implementation for CustomDataset. -func (cd CustomDataset) AsAvroDataset() (*AvroDataset, bool) { +// AsBasicTabularSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &cs, true +} + +// AsBinarySource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsBinarySource() (*BinarySource, bool) { return nil, false } -// AsAmazonS3Dataset is the BasicDataset implementation for CustomDataset. -func (cd CustomDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) { +// AsOrcSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsOrcSource() (*OrcSource, bool) { return nil, false } -// AsDataset is the BasicDataset implementation for CustomDataset. -func (cd CustomDataset) AsDataset() (*Dataset, bool) { +// AsJSONSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsJSONSource() (*JSONSource, bool) { return nil, false } -// AsBasicDataset is the BasicDataset implementation for CustomDataset. -func (cd CustomDataset) AsBasicDataset() (BasicDataset, bool) { - return &cd, true +// AsDelimitedTextSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false } -// UnmarshalJSON is the custom unmarshaler for CustomDataset struct. -func (cd *CustomDataset) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - case "typeProperties": - if v != nil { - var typeProperties interface{} - err = json.Unmarshal(*v, &typeProperties) - if err != nil { - return err - } - cd.TypeProperties = typeProperties - } - default: - if v != nil { - var additionalProperties interface{} - err = json.Unmarshal(*v, &additionalProperties) - if err != nil { - return err - } - if cd.AdditionalProperties == nil { - cd.AdditionalProperties = make(map[string]interface{}) - } - cd.AdditionalProperties[k] = additionalProperties - } - case "description": +// AsParquetSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for CouchbaseSource. +func (cs CouchbaseSource) AsBasicCopySource() (BasicCopySource, bool) { + return &cs, true +} + +// UnmarshalJSON is the custom unmarshaler for CouchbaseSource struct. +func (cs *CouchbaseSource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "query": if v != nil { - var description string - err = json.Unmarshal(*v, &description) + var query interface{} + err = json.Unmarshal(*v, &query) if err != nil { return err } - cd.Description = &description + cs.Query = query } - case "structure": + case "queryTimeout": if v != nil { - var structure interface{} - err = json.Unmarshal(*v, &structure) + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) if err != nil { return err } - cd.Structure = structure + cs.QueryTimeout = queryTimeout } - case "schema": + default: if v != nil { - var schema interface{} - err = json.Unmarshal(*v, &schema) + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) if err != nil { return err } - cd.Schema = schema - } - case "linkedServiceName": - if v != nil { - var linkedServiceName LinkedServiceReference - err = json.Unmarshal(*v, &linkedServiceName) - if err != nil { - return err + if cs.AdditionalProperties == nil { + cs.AdditionalProperties = make(map[string]interface{}) } - cd.LinkedServiceName = &linkedServiceName + cs.AdditionalProperties[k] = additionalProperties } - case "parameters": + case "sourceRetryCount": if v != nil { - var parameters map[string]*ParameterSpecification - err = json.Unmarshal(*v, ¶meters) + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) if err != nil { return err } - cd.Parameters = parameters + cs.SourceRetryCount = sourceRetryCount } - case "annotations": + case "sourceRetryWait": if v != nil { - var annotations []interface{} - err = json.Unmarshal(*v, &annotations) + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) if err != nil { return err } - cd.Annotations = &annotations + cs.SourceRetryWait = sourceRetryWait } - case "folder": + case "maxConcurrentConnections": if v != nil { - var folder DatasetFolder - err = json.Unmarshal(*v, &folder) + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) if err != nil { return err } - cd.Folder = &folder + cs.MaxConcurrentConnections = maxConcurrentConnections } case "type": if v != nil { - var typeVar TypeBasicDataset + var typeVar TypeBasicCopySource err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - cd.Type = typeVar + cs.Type = typeVar } } } @@ -55398,519 +61129,514 @@ func (cd *CustomDataset) UnmarshalJSON(body []byte) error { return nil } -// CustomDataSourceLinkedService custom linked service. -type CustomDataSourceLinkedService struct { - // TypeProperties - Custom linked service properties. - TypeProperties interface{} `json:"typeProperties,omitempty"` +// CouchbaseTableDataset couchbase server dataset. +type CouchbaseTableDataset struct { + // GenericDatasetTypeProperties - Properties specific to this dataset type. + *GenericDatasetTypeProperties `json:"typeProperties,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` - // ConnectVia - The integration runtime reference. - ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` - // Description - Linked service description. + // Description - Dataset description. Description *string `json:"description,omitempty"` - // Parameters - Parameters for linked service. + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. Parameters map[string]*ParameterSpecification `json:"parameters"` - // Annotations - List of tags that can be used for describing the linked service. + // Annotations - List of tags that can be used for describing the Dataset. Annotations *[]interface{} `json:"annotations,omitempty"` - // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' - Type TypeBasicLinkedService `json:"type,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' + Type TypeBasicDataset `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for CustomDataSourceLinkedService. -func (cdsls CustomDataSourceLinkedService) MarshalJSON() ([]byte, error) { - cdsls.Type = TypeCustomDataSource +// MarshalJSON is the custom marshaler for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) MarshalJSON() ([]byte, error) { + ctd.Type = TypeCouchbaseTable objectMap := make(map[string]interface{}) - if cdsls.TypeProperties != nil { - objectMap["typeProperties"] = cdsls.TypeProperties + if ctd.GenericDatasetTypeProperties != nil { + objectMap["typeProperties"] = ctd.GenericDatasetTypeProperties } - if cdsls.ConnectVia != nil { - objectMap["connectVia"] = cdsls.ConnectVia + if ctd.Description != nil { + objectMap["description"] = ctd.Description } - if cdsls.Description != nil { - objectMap["description"] = cdsls.Description + if ctd.Structure != nil { + objectMap["structure"] = ctd.Structure } - if cdsls.Parameters != nil { - objectMap["parameters"] = cdsls.Parameters + if ctd.Schema != nil { + objectMap["schema"] = ctd.Schema } - if cdsls.Annotations != nil { - objectMap["annotations"] = cdsls.Annotations + if ctd.LinkedServiceName != nil { + objectMap["linkedServiceName"] = ctd.LinkedServiceName } - if cdsls.Type != "" { - objectMap["type"] = cdsls.Type + if ctd.Parameters != nil { + objectMap["parameters"] = ctd.Parameters } - for k, v := range cdsls.AdditionalProperties { + if ctd.Annotations != nil { + objectMap["annotations"] = ctd.Annotations + } + if ctd.Folder != nil { + objectMap["folder"] = ctd.Folder + } + if ctd.Type != "" { + objectMap["type"] = ctd.Type + } + for k, v := range ctd.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsAzureFunctionLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. -func (cdsls CustomDataSourceLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { - return nil, false -} - -// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. -func (cdsls CustomDataSourceLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { - return nil, false -} - -// AsSapTableLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. -func (cdsls CustomDataSourceLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { - return nil, false -} - -// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. -func (cdsls CustomDataSourceLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { return nil, false } -// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. -func (cdsls CustomDataSourceLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { return nil, false } -// AsDynamicsAXLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. -func (cdsls CustomDataSourceLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { return nil, false } -// AsResponsysLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. -func (cdsls CustomDataSourceLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { +// AsDynamicsAXResourceDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { return nil, false } -// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. -func (cdsls CustomDataSourceLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { +// AsResponsysObjectDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { return nil, false } -// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. -func (cdsls CustomDataSourceLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { return nil, false } -// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. -func (cdsls CustomDataSourceLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { +// AsVerticaTableDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { return nil, false } -// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. -func (cdsls CustomDataSourceLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { +// AsNetezzaTableDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { return nil, false } -// AsNetezzaLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. -func (cdsls CustomDataSourceLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { +// AsZohoObjectDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { return nil, false } -// AsVerticaLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. -func (cdsls CustomDataSourceLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { +// AsXeroObjectDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { return nil, false } -// AsZohoLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. -func (cdsls CustomDataSourceLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { +// AsSquareObjectDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { return nil, false } -// AsXeroLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. -func (cdsls CustomDataSourceLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { +// AsSparkObjectDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { return nil, false } -// AsSquareLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. -func (cdsls CustomDataSourceLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { +// AsShopifyObjectDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { return nil, false } -// AsSparkLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. -func (cdsls CustomDataSourceLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { +// AsServiceNowObjectDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { return nil, false } -// AsShopifyLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. -func (cdsls CustomDataSourceLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { +// AsQuickBooksObjectDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { return nil, false } -// AsServiceNowLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. -func (cdsls CustomDataSourceLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { +// AsPrestoObjectDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { return nil, false } -// AsQuickBooksLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. -func (cdsls CustomDataSourceLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { +// AsPhoenixObjectDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { return nil, false } -// AsPrestoLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. -func (cdsls CustomDataSourceLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { +// AsPaypalObjectDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { return nil, false } -// AsPhoenixLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. -func (cdsls CustomDataSourceLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { +// AsMarketoObjectDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { return nil, false } -// AsPaypalLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. -func (cdsls CustomDataSourceLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { +// AsAzureMariaDBTableDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { return nil, false } -// AsMarketoLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. -func (cdsls CustomDataSourceLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { +// AsMariaDBTableDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { return nil, false } -// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. -func (cdsls CustomDataSourceLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { +// AsMagentoObjectDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { return nil, false } -// AsMariaDBLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. -func (cdsls CustomDataSourceLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { +// AsJiraObjectDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { return nil, false } -// AsMagentoLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. -func (cdsls CustomDataSourceLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { +// AsImpalaObjectDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { return nil, false } -// AsJiraLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. -func (cdsls CustomDataSourceLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { +// AsHubspotObjectDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { return nil, false } -// AsImpalaLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. -func (cdsls CustomDataSourceLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { +// AsHiveObjectDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { return nil, false } -// AsHubspotLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. -func (cdsls CustomDataSourceLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { +// AsHBaseObjectDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { return nil, false } -// AsHiveLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. -func (cdsls CustomDataSourceLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { +// AsGreenplumTableDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { return nil, false } -// AsHBaseLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. -func (cdsls CustomDataSourceLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { return nil, false } -// AsGreenplumLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. -func (cdsls CustomDataSourceLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { +// AsEloquaObjectDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { return nil, false } -// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. -func (cdsls CustomDataSourceLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { +// AsDrillTableDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { return nil, false } -// AsEloquaLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. -func (cdsls CustomDataSourceLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { - return nil, false +// AsCouchbaseTableDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { + return &ctd, true } -// AsDrillLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. -func (cdsls CustomDataSourceLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { +// AsConcurObjectDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { return nil, false } -// AsCouchbaseLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. -func (cdsls CustomDataSourceLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { return nil, false } -// AsConcurLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. -func (cdsls CustomDataSourceLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { +// AsAmazonMWSObjectDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { return nil, false } -// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. -func (cdsls CustomDataSourceLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { +// AsHTTPDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsHTTPDataset() (*HTTPDataset, bool) { return nil, false } -// AsAmazonMWSLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. -func (cdsls CustomDataSourceLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { +// AsAzureSearchIndexDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { return nil, false } -// AsSapHanaLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. -func (cdsls CustomDataSourceLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { +// AsWebTableDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsWebTableDataset() (*WebTableDataset, bool) { return nil, false } -// AsSapBWLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. -func (cdsls CustomDataSourceLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { +// AsSapTableResourceDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { return nil, false } -// AsSftpServerLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. -func (cdsls CustomDataSourceLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { +// AsRestResourceDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { return nil, false } -// AsFtpServerLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. -func (cdsls CustomDataSourceLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { +// AsSQLServerTableDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { return nil, false } -// AsHTTPLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. -func (cdsls CustomDataSourceLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { +// AsSapOpenHubTableDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { return nil, false } -// AsAzureSearchLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. -func (cdsls CustomDataSourceLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { +// AsSapHanaTableDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { return nil, false } -// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. -func (cdsls CustomDataSourceLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { - return &cdsls, true -} - -// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. -func (cdsls CustomDataSourceLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { +// AsSapEccResourceDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { return nil, false } -// AsAmazonS3LinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. -func (cdsls CustomDataSourceLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { return nil, false } -// AsRestServiceLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. -func (cdsls CustomDataSourceLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { +// AsSapBwCubeDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { return nil, false } -// AsSapOpenHubLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. -func (cdsls CustomDataSourceLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { +// AsSybaseTableDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { return nil, false } -// AsSapEccLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. -func (cdsls CustomDataSourceLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { return nil, false } -// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. -func (cdsls CustomDataSourceLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { +// AsSalesforceObjectDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { return nil, false } -// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. -func (cdsls CustomDataSourceLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { return nil, false } -// AsSalesforceLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. -func (cdsls CustomDataSourceLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { +// AsPostgreSQLTableDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { return nil, false } -// AsOffice365LinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. -func (cdsls CustomDataSourceLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { +// AsMySQLTableDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { return nil, false } -// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. -func (cdsls CustomDataSourceLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { +// AsOdbcTableDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { return nil, false } -// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. -func (cdsls CustomDataSourceLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { +// AsInformixTableDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { return nil, false } -// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. -func (cdsls CustomDataSourceLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { +// AsRelationalTableDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { return nil, false } -// AsMongoDbV2LinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. -func (cdsls CustomDataSourceLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { +// AsDb2TableDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { return nil, false } -// AsMongoDbLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. -func (cdsls CustomDataSourceLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { return nil, false } -// AsCassandraLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. -func (cdsls CustomDataSourceLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { +// AsAzureMySQLTableDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { return nil, false } -// AsWebLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. -func (cdsls CustomDataSourceLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { +// AsTeradataTableDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { return nil, false } -// AsODataLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. -func (cdsls CustomDataSourceLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { +// AsOracleTableDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { return nil, false } -// AsHdfsLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. -func (cdsls CustomDataSourceLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { +// AsODataResourceDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { return nil, false } -// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. -func (cdsls CustomDataSourceLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { return nil, false } -// AsInformixLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. -func (cdsls CustomDataSourceLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { return nil, false } -// AsOdbcLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. -func (cdsls CustomDataSourceLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { +// AsMongoDbCollectionDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { return nil, false } -// AsAzureMLLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. -func (cdsls CustomDataSourceLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { +// AsFileShareDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsFileShareDataset() (*FileShareDataset, bool) { return nil, false } -// AsTeradataLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. -func (cdsls CustomDataSourceLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { +// AsOffice365Dataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsOffice365Dataset() (*Office365Dataset, bool) { return nil, false } -// AsDb2LinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. -func (cdsls CustomDataSourceLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { +// AsAzureBlobFSDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) { return nil, false } -// AsSybaseLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. -func (cdsls CustomDataSourceLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { +// AsAzureDataLakeStoreDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) { return nil, false } -// AsPostgreSQLLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. -func (cdsls CustomDataSourceLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { return nil, false } -// AsMySQLLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. -func (cdsls CustomDataSourceLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { return nil, false } -// AsAzureMySQLLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. -func (cdsls CustomDataSourceLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { +// AsDynamicsEntityDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { return nil, false } -// AsOracleLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. -func (cdsls CustomDataSourceLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { +// AsDocumentDbCollectionDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { return nil, false } -// AsFileServerLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. -func (cdsls CustomDataSourceLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { return nil, false } -// AsHDInsightLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. -func (cdsls CustomDataSourceLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { +// AsCustomDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsCustomDataset() (*CustomDataset, bool) { return nil, false } -// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. -func (cdsls CustomDataSourceLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { +// AsCassandraTableDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { return nil, false } -// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. -func (cdsls CustomDataSourceLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { +// AsAzureSQLDWTableDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { return nil, false } -// AsDynamicsLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. -func (cdsls CustomDataSourceLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { +// AsAzureSQLMITableDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { return nil, false } -// AsCosmosDbLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. -func (cdsls CustomDataSourceLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { +// AsAzureSQLTableDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { return nil, false } -// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. -func (cdsls CustomDataSourceLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { +// AsAzureTableDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { return nil, false } -// AsAzureBatchLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. -func (cdsls CustomDataSourceLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { +// AsAzureBlobDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) { return nil, false } -// AsAzureSQLMILinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. -func (cdsls CustomDataSourceLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { +// AsBinaryDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsBinaryDataset() (*BinaryDataset, bool) { return nil, false } -// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. -func (cdsls CustomDataSourceLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { +// AsOrcDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsOrcDataset() (*OrcDataset, bool) { return nil, false } -// AsSQLServerLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. -func (cdsls CustomDataSourceLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { +// AsJSONDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsJSONDataset() (*JSONDataset, bool) { return nil, false } -// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. -func (cdsls CustomDataSourceLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { +// AsDelimitedTextDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { return nil, false } -// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. -func (cdsls CustomDataSourceLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { +// AsParquetDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsParquetDataset() (*ParquetDataset, bool) { return nil, false } -// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. -func (cdsls CustomDataSourceLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { +// AsAvroDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsAvroDataset() (*AvroDataset, bool) { return nil, false } -// AsAzureStorageLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. -func (cdsls CustomDataSourceLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { +// AsAmazonS3Dataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) { return nil, false } -// AsLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. -func (cdsls CustomDataSourceLinkedService) AsLinkedService() (*LinkedService, bool) { +// AsDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsDataset() (*Dataset, bool) { return nil, false } -// AsBasicLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. -func (cdsls CustomDataSourceLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { - return &cdsls, true +// AsBasicDataset is the BasicDataset implementation for CouchbaseTableDataset. +func (ctd CouchbaseTableDataset) AsBasicDataset() (BasicDataset, bool) { + return &ctd, true } -// UnmarshalJSON is the custom unmarshaler for CustomDataSourceLinkedService struct. -func (cdsls *CustomDataSourceLinkedService) UnmarshalJSON(body []byte) error { +// UnmarshalJSON is the custom unmarshaler for CouchbaseTableDataset struct. +func (ctd *CouchbaseTableDataset) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -55920,12 +61646,12 @@ func (cdsls *CustomDataSourceLinkedService) UnmarshalJSON(body []byte) error { switch k { case "typeProperties": if v != nil { - var typeProperties interface{} - err = json.Unmarshal(*v, &typeProperties) + var genericDatasetTypeProperties GenericDatasetTypeProperties + err = json.Unmarshal(*v, &genericDatasetTypeProperties) if err != nil { return err } - cdsls.TypeProperties = typeProperties + ctd.GenericDatasetTypeProperties = &genericDatasetTypeProperties } default: if v != nil { @@ -55934,28 +61660,46 @@ func (cdsls *CustomDataSourceLinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - if cdsls.AdditionalProperties == nil { - cdsls.AdditionalProperties = make(map[string]interface{}) + if ctd.AdditionalProperties == nil { + ctd.AdditionalProperties = make(map[string]interface{}) } - cdsls.AdditionalProperties[k] = additionalProperties + ctd.AdditionalProperties[k] = additionalProperties } - case "connectVia": + case "description": if v != nil { - var connectVia IntegrationRuntimeReference - err = json.Unmarshal(*v, &connectVia) + var description string + err = json.Unmarshal(*v, &description) if err != nil { return err } - cdsls.ConnectVia = &connectVia + ctd.Description = &description } - case "description": + case "structure": if v != nil { - var description string - err = json.Unmarshal(*v, &description) + var structure interface{} + err = json.Unmarshal(*v, &structure) if err != nil { return err } - cdsls.Description = &description + ctd.Structure = structure + } + case "schema": + if v != nil { + var schema interface{} + err = json.Unmarshal(*v, &schema) + if err != nil { + return err + } + ctd.Schema = schema + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + ctd.LinkedServiceName = &linkedServiceName } case "parameters": if v != nil { @@ -55964,7 +61708,7 @@ func (cdsls *CustomDataSourceLinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - cdsls.Parameters = parameters + ctd.Parameters = parameters } case "annotations": if v != nil { @@ -55973,16 +61717,25 @@ func (cdsls *CustomDataSourceLinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - cdsls.Annotations = &annotations + ctd.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + ctd.Folder = &folder } case "type": if v != nil { - var typeVar TypeBasicLinkedService + var typeVar TypeBasicDataset err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - cdsls.Type = typeVar + ctd.Type = typeVar } } } @@ -55990,10 +61743,50 @@ func (cdsls *CustomDataSourceLinkedService) UnmarshalJSON(body []byte) error { return nil } -// DatabricksNotebookActivity databricksNotebook activity. -type DatabricksNotebookActivity struct { - // DatabricksNotebookActivityTypeProperties - Databricks Notebook activity properties. - *DatabricksNotebookActivityTypeProperties `json:"typeProperties,omitempty"` +// CreateDataFlowDebugSessionRequest request body structure for creating data flow debug session. +type CreateDataFlowDebugSessionRequest struct { + // ComputeType - Compute type of the cluster. The value will be overwritten by the same setting in integration runtime if provided. + ComputeType *string `json:"computeType,omitempty"` + // CoreCount - Core count of the cluster. The value will be overwritten by the same setting in integration runtime if provided. + CoreCount *int32 `json:"coreCount,omitempty"` + // TimeToLive - Time to live setting of the cluster in minutes. + TimeToLive *int32 `json:"timeToLive,omitempty"` + // IntegrationRuntime - Set to use integration runtime setting for data flow debug session. + IntegrationRuntime *IntegrationRuntimeDebugResource `json:"integrationRuntime,omitempty"` +} + +// CreateDataFlowDebugSessionResponse response body structure for creating data flow debug session. +type CreateDataFlowDebugSessionResponse struct { + autorest.Response `json:"-"` + // Status - The state of the debug session. + Status *string `json:"status,omitempty"` + // SessionID - The ID of data flow debug session. + SessionID *string `json:"sessionId,omitempty"` +} + +// CreateLinkedIntegrationRuntimeRequest the linked integration runtime information. +type CreateLinkedIntegrationRuntimeRequest struct { + // Name - The name of the linked integration runtime. + Name *string `json:"name,omitempty"` + // SubscriptionID - The ID of the subscription that the linked integration runtime belongs to. + SubscriptionID *string `json:"subscriptionId,omitempty"` + // DataFactoryName - The name of the data factory that the linked integration runtime belongs to. + DataFactoryName *string `json:"dataFactoryName,omitempty"` + // DataFactoryLocation - The location of the data factory that the linked integration runtime belongs to. + DataFactoryLocation *string `json:"dataFactoryLocation,omitempty"` +} + +// CreateRunResponse response body with a run identifier. +type CreateRunResponse struct { + autorest.Response `json:"-"` + // RunID - Identifier of a run. + RunID *string `json:"runId,omitempty"` +} + +// CustomActivity custom activity type. +type CustomActivity struct { + // CustomActivityTypeProperties - Custom activity properties. + *CustomActivityTypeProperties `json:"typeProperties,omitempty"` // LinkedServiceName - Linked service reference. LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` // Policy - Activity policy. @@ -56008,231 +61801,246 @@ type DatabricksNotebookActivity struct { DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"` // UserProperties - Activity user properties. UserProperties *[]UserProperty `json:"userProperties,omitempty"` - // Type - Possible values include: 'TypeActivity', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer' + // Type - Possible values include: 'TypeActivity', 'TypeExecuteDataFlow', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLExecutePipeline', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeSwitch', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer' Type TypeBasicActivity `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for DatabricksNotebookActivity. -func (dna DatabricksNotebookActivity) MarshalJSON() ([]byte, error) { - dna.Type = TypeDatabricksNotebook +// MarshalJSON is the custom marshaler for CustomActivity. +func (ca CustomActivity) MarshalJSON() ([]byte, error) { + ca.Type = TypeCustom objectMap := make(map[string]interface{}) - if dna.DatabricksNotebookActivityTypeProperties != nil { - objectMap["typeProperties"] = dna.DatabricksNotebookActivityTypeProperties + if ca.CustomActivityTypeProperties != nil { + objectMap["typeProperties"] = ca.CustomActivityTypeProperties } - if dna.LinkedServiceName != nil { - objectMap["linkedServiceName"] = dna.LinkedServiceName + if ca.LinkedServiceName != nil { + objectMap["linkedServiceName"] = ca.LinkedServiceName } - if dna.Policy != nil { - objectMap["policy"] = dna.Policy + if ca.Policy != nil { + objectMap["policy"] = ca.Policy } - if dna.Name != nil { - objectMap["name"] = dna.Name + if ca.Name != nil { + objectMap["name"] = ca.Name } - if dna.Description != nil { - objectMap["description"] = dna.Description + if ca.Description != nil { + objectMap["description"] = ca.Description } - if dna.DependsOn != nil { - objectMap["dependsOn"] = dna.DependsOn + if ca.DependsOn != nil { + objectMap["dependsOn"] = ca.DependsOn } - if dna.UserProperties != nil { - objectMap["userProperties"] = dna.UserProperties + if ca.UserProperties != nil { + objectMap["userProperties"] = ca.UserProperties } - if dna.Type != "" { - objectMap["type"] = dna.Type + if ca.Type != "" { + objectMap["type"] = ca.Type } - for k, v := range dna.AdditionalProperties { + for k, v := range ca.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsAzureFunctionActivity is the BasicActivity implementation for DatabricksNotebookActivity. -func (dna DatabricksNotebookActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) { +// AsExecuteDataFlowActivity is the BasicActivity implementation for CustomActivity. +func (ca CustomActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) { return nil, false } -// AsDatabricksSparkPythonActivity is the BasicActivity implementation for DatabricksNotebookActivity. -func (dna DatabricksNotebookActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) { +// AsAzureFunctionActivity is the BasicActivity implementation for CustomActivity. +func (ca CustomActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) { return nil, false } -// AsDatabricksSparkJarActivity is the BasicActivity implementation for DatabricksNotebookActivity. -func (dna DatabricksNotebookActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) { +// AsDatabricksSparkPythonActivity is the BasicActivity implementation for CustomActivity. +func (ca CustomActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) { return nil, false } -// AsDatabricksNotebookActivity is the BasicActivity implementation for DatabricksNotebookActivity. -func (dna DatabricksNotebookActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) { - return &dna, true +// AsDatabricksSparkJarActivity is the BasicActivity implementation for CustomActivity. +func (ca CustomActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) { + return nil, false } -// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for DatabricksNotebookActivity. -func (dna DatabricksNotebookActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) { +// AsDatabricksNotebookActivity is the BasicActivity implementation for CustomActivity. +func (ca CustomActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) { return nil, false } -// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for DatabricksNotebookActivity. -func (dna DatabricksNotebookActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) { +// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for CustomActivity. +func (ca CustomActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) { return nil, false } -// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for DatabricksNotebookActivity. -func (dna DatabricksNotebookActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) { +// AsAzureMLExecutePipelineActivity is the BasicActivity implementation for CustomActivity. +func (ca CustomActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) { return nil, false } -// AsGetMetadataActivity is the BasicActivity implementation for DatabricksNotebookActivity. -func (dna DatabricksNotebookActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) { +// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for CustomActivity. +func (ca CustomActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) { return nil, false } -// AsWebActivity is the BasicActivity implementation for DatabricksNotebookActivity. -func (dna DatabricksNotebookActivity) AsWebActivity() (*WebActivity, bool) { +// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for CustomActivity. +func (ca CustomActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) { return nil, false } -// AsLookupActivity is the BasicActivity implementation for DatabricksNotebookActivity. -func (dna DatabricksNotebookActivity) AsLookupActivity() (*LookupActivity, bool) { +// AsGetMetadataActivity is the BasicActivity implementation for CustomActivity. +func (ca CustomActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) { return nil, false } -// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for DatabricksNotebookActivity. -func (dna DatabricksNotebookActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) { +// AsWebActivity is the BasicActivity implementation for CustomActivity. +func (ca CustomActivity) AsWebActivity() (*WebActivity, bool) { return nil, false } -// AsDeleteActivity is the BasicActivity implementation for DatabricksNotebookActivity. -func (dna DatabricksNotebookActivity) AsDeleteActivity() (*DeleteActivity, bool) { +// AsLookupActivity is the BasicActivity implementation for CustomActivity. +func (ca CustomActivity) AsLookupActivity() (*LookupActivity, bool) { return nil, false } -// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for DatabricksNotebookActivity. -func (dna DatabricksNotebookActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) { +// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for CustomActivity. +func (ca CustomActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) { return nil, false } -// AsCustomActivity is the BasicActivity implementation for DatabricksNotebookActivity. -func (dna DatabricksNotebookActivity) AsCustomActivity() (*CustomActivity, bool) { +// AsDeleteActivity is the BasicActivity implementation for CustomActivity. +func (ca CustomActivity) AsDeleteActivity() (*DeleteActivity, bool) { return nil, false } -// AsExecuteSSISPackageActivity is the BasicActivity implementation for DatabricksNotebookActivity. -func (dna DatabricksNotebookActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) { +// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for CustomActivity. +func (ca CustomActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) { return nil, false } -// AsHDInsightSparkActivity is the BasicActivity implementation for DatabricksNotebookActivity. -func (dna DatabricksNotebookActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) { +// AsCustomActivity is the BasicActivity implementation for CustomActivity. +func (ca CustomActivity) AsCustomActivity() (*CustomActivity, bool) { + return &ca, true +} + +// AsExecuteSSISPackageActivity is the BasicActivity implementation for CustomActivity. +func (ca CustomActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) { return nil, false } -// AsHDInsightStreamingActivity is the BasicActivity implementation for DatabricksNotebookActivity. -func (dna DatabricksNotebookActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) { +// AsHDInsightSparkActivity is the BasicActivity implementation for CustomActivity. +func (ca CustomActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) { return nil, false } -// AsHDInsightMapReduceActivity is the BasicActivity implementation for DatabricksNotebookActivity. -func (dna DatabricksNotebookActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) { +// AsHDInsightStreamingActivity is the BasicActivity implementation for CustomActivity. +func (ca CustomActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) { return nil, false } -// AsHDInsightPigActivity is the BasicActivity implementation for DatabricksNotebookActivity. -func (dna DatabricksNotebookActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) { +// AsHDInsightMapReduceActivity is the BasicActivity implementation for CustomActivity. +func (ca CustomActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) { return nil, false } -// AsHDInsightHiveActivity is the BasicActivity implementation for DatabricksNotebookActivity. -func (dna DatabricksNotebookActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) { +// AsHDInsightPigActivity is the BasicActivity implementation for CustomActivity. +func (ca CustomActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) { return nil, false } -// AsCopyActivity is the BasicActivity implementation for DatabricksNotebookActivity. -func (dna DatabricksNotebookActivity) AsCopyActivity() (*CopyActivity, bool) { +// AsHDInsightHiveActivity is the BasicActivity implementation for CustomActivity. +func (ca CustomActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) { return nil, false } -// AsExecutionActivity is the BasicActivity implementation for DatabricksNotebookActivity. -func (dna DatabricksNotebookActivity) AsExecutionActivity() (*ExecutionActivity, bool) { +// AsCopyActivity is the BasicActivity implementation for CustomActivity. +func (ca CustomActivity) AsCopyActivity() (*CopyActivity, bool) { return nil, false } -// AsBasicExecutionActivity is the BasicActivity implementation for DatabricksNotebookActivity. -func (dna DatabricksNotebookActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) { - return &dna, true +// AsExecutionActivity is the BasicActivity implementation for CustomActivity. +func (ca CustomActivity) AsExecutionActivity() (*ExecutionActivity, bool) { + return nil, false } -// AsWebHookActivity is the BasicActivity implementation for DatabricksNotebookActivity. -func (dna DatabricksNotebookActivity) AsWebHookActivity() (*WebHookActivity, bool) { +// AsBasicExecutionActivity is the BasicActivity implementation for CustomActivity. +func (ca CustomActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) { + return &ca, true +} + +// AsWebHookActivity is the BasicActivity implementation for CustomActivity. +func (ca CustomActivity) AsWebHookActivity() (*WebHookActivity, bool) { return nil, false } -// AsAppendVariableActivity is the BasicActivity implementation for DatabricksNotebookActivity. -func (dna DatabricksNotebookActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) { +// AsAppendVariableActivity is the BasicActivity implementation for CustomActivity. +func (ca CustomActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) { return nil, false } -// AsSetVariableActivity is the BasicActivity implementation for DatabricksNotebookActivity. -func (dna DatabricksNotebookActivity) AsSetVariableActivity() (*SetVariableActivity, bool) { +// AsSetVariableActivity is the BasicActivity implementation for CustomActivity. +func (ca CustomActivity) AsSetVariableActivity() (*SetVariableActivity, bool) { return nil, false } -// AsFilterActivity is the BasicActivity implementation for DatabricksNotebookActivity. -func (dna DatabricksNotebookActivity) AsFilterActivity() (*FilterActivity, bool) { +// AsFilterActivity is the BasicActivity implementation for CustomActivity. +func (ca CustomActivity) AsFilterActivity() (*FilterActivity, bool) { return nil, false } -// AsValidationActivity is the BasicActivity implementation for DatabricksNotebookActivity. -func (dna DatabricksNotebookActivity) AsValidationActivity() (*ValidationActivity, bool) { +// AsValidationActivity is the BasicActivity implementation for CustomActivity. +func (ca CustomActivity) AsValidationActivity() (*ValidationActivity, bool) { return nil, false } -// AsUntilActivity is the BasicActivity implementation for DatabricksNotebookActivity. -func (dna DatabricksNotebookActivity) AsUntilActivity() (*UntilActivity, bool) { +// AsUntilActivity is the BasicActivity implementation for CustomActivity. +func (ca CustomActivity) AsUntilActivity() (*UntilActivity, bool) { return nil, false } -// AsWaitActivity is the BasicActivity implementation for DatabricksNotebookActivity. -func (dna DatabricksNotebookActivity) AsWaitActivity() (*WaitActivity, bool) { +// AsWaitActivity is the BasicActivity implementation for CustomActivity. +func (ca CustomActivity) AsWaitActivity() (*WaitActivity, bool) { return nil, false } -// AsForEachActivity is the BasicActivity implementation for DatabricksNotebookActivity. -func (dna DatabricksNotebookActivity) AsForEachActivity() (*ForEachActivity, bool) { +// AsForEachActivity is the BasicActivity implementation for CustomActivity. +func (ca CustomActivity) AsForEachActivity() (*ForEachActivity, bool) { return nil, false } -// AsIfConditionActivity is the BasicActivity implementation for DatabricksNotebookActivity. -func (dna DatabricksNotebookActivity) AsIfConditionActivity() (*IfConditionActivity, bool) { +// AsSwitchActivity is the BasicActivity implementation for CustomActivity. +func (ca CustomActivity) AsSwitchActivity() (*SwitchActivity, bool) { return nil, false } -// AsExecutePipelineActivity is the BasicActivity implementation for DatabricksNotebookActivity. -func (dna DatabricksNotebookActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) { +// AsIfConditionActivity is the BasicActivity implementation for CustomActivity. +func (ca CustomActivity) AsIfConditionActivity() (*IfConditionActivity, bool) { return nil, false } -// AsControlActivity is the BasicActivity implementation for DatabricksNotebookActivity. -func (dna DatabricksNotebookActivity) AsControlActivity() (*ControlActivity, bool) { +// AsExecutePipelineActivity is the BasicActivity implementation for CustomActivity. +func (ca CustomActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) { return nil, false } -// AsBasicControlActivity is the BasicActivity implementation for DatabricksNotebookActivity. -func (dna DatabricksNotebookActivity) AsBasicControlActivity() (BasicControlActivity, bool) { +// AsControlActivity is the BasicActivity implementation for CustomActivity. +func (ca CustomActivity) AsControlActivity() (*ControlActivity, bool) { return nil, false } -// AsActivity is the BasicActivity implementation for DatabricksNotebookActivity. -func (dna DatabricksNotebookActivity) AsActivity() (*Activity, bool) { +// AsBasicControlActivity is the BasicActivity implementation for CustomActivity. +func (ca CustomActivity) AsBasicControlActivity() (BasicControlActivity, bool) { return nil, false } -// AsBasicActivity is the BasicActivity implementation for DatabricksNotebookActivity. -func (dna DatabricksNotebookActivity) AsBasicActivity() (BasicActivity, bool) { - return &dna, true +// AsActivity is the BasicActivity implementation for CustomActivity. +func (ca CustomActivity) AsActivity() (*Activity, bool) { + return nil, false } -// UnmarshalJSON is the custom unmarshaler for DatabricksNotebookActivity struct. -func (dna *DatabricksNotebookActivity) UnmarshalJSON(body []byte) error { +// AsBasicActivity is the BasicActivity implementation for CustomActivity. +func (ca CustomActivity) AsBasicActivity() (BasicActivity, bool) { + return &ca, true +} + +// UnmarshalJSON is the custom unmarshaler for CustomActivity struct. +func (ca *CustomActivity) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -56242,12 +62050,12 @@ func (dna *DatabricksNotebookActivity) UnmarshalJSON(body []byte) error { switch k { case "typeProperties": if v != nil { - var databricksNotebookActivityTypeProperties DatabricksNotebookActivityTypeProperties - err = json.Unmarshal(*v, &databricksNotebookActivityTypeProperties) + var customActivityTypeProperties CustomActivityTypeProperties + err = json.Unmarshal(*v, &customActivityTypeProperties) if err != nil { return err } - dna.DatabricksNotebookActivityTypeProperties = &databricksNotebookActivityTypeProperties + ca.CustomActivityTypeProperties = &customActivityTypeProperties } case "linkedServiceName": if v != nil { @@ -56256,7 +62064,7 @@ func (dna *DatabricksNotebookActivity) UnmarshalJSON(body []byte) error { if err != nil { return err } - dna.LinkedServiceName = &linkedServiceName + ca.LinkedServiceName = &linkedServiceName } case "policy": if v != nil { @@ -56265,7 +62073,7 @@ func (dna *DatabricksNotebookActivity) UnmarshalJSON(body []byte) error { if err != nil { return err } - dna.Policy = &policy + ca.Policy = &policy } default: if v != nil { @@ -56274,10 +62082,10 @@ func (dna *DatabricksNotebookActivity) UnmarshalJSON(body []byte) error { if err != nil { return err } - if dna.AdditionalProperties == nil { - dna.AdditionalProperties = make(map[string]interface{}) + if ca.AdditionalProperties == nil { + ca.AdditionalProperties = make(map[string]interface{}) } - dna.AdditionalProperties[k] = additionalProperties + ca.AdditionalProperties[k] = additionalProperties } case "name": if v != nil { @@ -56286,7 +62094,7 @@ func (dna *DatabricksNotebookActivity) UnmarshalJSON(body []byte) error { if err != nil { return err } - dna.Name = &name + ca.Name = &name } case "description": if v != nil { @@ -56295,7 +62103,7 @@ func (dna *DatabricksNotebookActivity) UnmarshalJSON(body []byte) error { if err != nil { return err } - dna.Description = &description + ca.Description = &description } case "dependsOn": if v != nil { @@ -56304,7 +62112,7 @@ func (dna *DatabricksNotebookActivity) UnmarshalJSON(body []byte) error { if err != nil { return err } - dna.DependsOn = &dependsOn + ca.DependsOn = &dependsOn } case "userProperties": if v != nil { @@ -56313,7 +62121,7 @@ func (dna *DatabricksNotebookActivity) UnmarshalJSON(body []byte) error { if err != nil { return err } - dna.UserProperties = &userProperties + ca.UserProperties = &userProperties } case "type": if v != nil { @@ -56322,7 +62130,7 @@ func (dna *DatabricksNotebookActivity) UnmarshalJSON(body []byte) error { if err != nil { return err } - dna.Type = typeVar + ca.Type = typeVar } } } @@ -56330,624 +62138,562 @@ func (dna *DatabricksNotebookActivity) UnmarshalJSON(body []byte) error { return nil } -// DatabricksNotebookActivityTypeProperties databricks Notebook activity properties. -type DatabricksNotebookActivityTypeProperties struct { - // NotebookPath - The absolute path of the notebook to be run in the Databricks Workspace. This path must begin with a slash. Type: string (or Expression with resultType string). - NotebookPath interface{} `json:"notebookPath,omitempty"` - // BaseParameters - Base parameters to be used for each run of this job.If the notebook takes a parameter that is not specified, the default value from the notebook will be used. - BaseParameters map[string]interface{} `json:"baseParameters"` - // Libraries - A list of libraries to be installed on the cluster that will execute the job. - Libraries *[]map[string]interface{} `json:"libraries,omitempty"` +// CustomActivityReferenceObject reference objects for custom activity +type CustomActivityReferenceObject struct { + // LinkedServices - Linked service references. + LinkedServices *[]LinkedServiceReference `json:"linkedServices,omitempty"` + // Datasets - Dataset references. + Datasets *[]DatasetReference `json:"datasets,omitempty"` } -// MarshalJSON is the custom marshaler for DatabricksNotebookActivityTypeProperties. -func (dnatp DatabricksNotebookActivityTypeProperties) MarshalJSON() ([]byte, error) { +// CustomActivityTypeProperties custom activity properties. +type CustomActivityTypeProperties struct { + // Command - Command for custom activity Type: string (or Expression with resultType string). + Command interface{} `json:"command,omitempty"` + // ResourceLinkedService - Resource linked service reference. + ResourceLinkedService *LinkedServiceReference `json:"resourceLinkedService,omitempty"` + // FolderPath - Folder path for resource files Type: string (or Expression with resultType string). + FolderPath interface{} `json:"folderPath,omitempty"` + // ReferenceObjects - Reference objects + ReferenceObjects *CustomActivityReferenceObject `json:"referenceObjects,omitempty"` + // ExtendedProperties - User defined property bag. There is no restriction on the keys or values that can be used. The user specified custom activity has the full responsibility to consume and interpret the content defined. + ExtendedProperties map[string]interface{} `json:"extendedProperties"` + // RetentionTimeInDays - The retention time for the files submitted for custom activity. Type: double (or Expression with resultType double). + RetentionTimeInDays interface{} `json:"retentionTimeInDays,omitempty"` +} + +// MarshalJSON is the custom marshaler for CustomActivityTypeProperties. +func (catp CustomActivityTypeProperties) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) - if dnatp.NotebookPath != nil { - objectMap["notebookPath"] = dnatp.NotebookPath + if catp.Command != nil { + objectMap["command"] = catp.Command } - if dnatp.BaseParameters != nil { - objectMap["baseParameters"] = dnatp.BaseParameters + if catp.ResourceLinkedService != nil { + objectMap["resourceLinkedService"] = catp.ResourceLinkedService } - if dnatp.Libraries != nil { - objectMap["libraries"] = dnatp.Libraries + if catp.FolderPath != nil { + objectMap["folderPath"] = catp.FolderPath + } + if catp.ReferenceObjects != nil { + objectMap["referenceObjects"] = catp.ReferenceObjects + } + if catp.ExtendedProperties != nil { + objectMap["extendedProperties"] = catp.ExtendedProperties + } + if catp.RetentionTimeInDays != nil { + objectMap["retentionTimeInDays"] = catp.RetentionTimeInDays } return json.Marshal(objectMap) } -// DatabricksSparkJarActivity databricksSparkJar activity. -type DatabricksSparkJarActivity struct { - // DatabricksSparkJarActivityTypeProperties - Databricks SparkJar activity properties. - *DatabricksSparkJarActivityTypeProperties `json:"typeProperties,omitempty"` - // LinkedServiceName - Linked service reference. - LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` - // Policy - Activity policy. - Policy *ActivityPolicy `json:"policy,omitempty"` +// CustomDataset the custom dataset. +type CustomDataset struct { + // TypeProperties - Custom dataset properties. + TypeProperties interface{} `json:"typeProperties,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` - // Name - Activity name. - Name *string `json:"name,omitempty"` - // Description - Activity description. + // Description - Dataset description. Description *string `json:"description,omitempty"` - // DependsOn - Activity depends on condition. - DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"` - // UserProperties - Activity user properties. - UserProperties *[]UserProperty `json:"userProperties,omitempty"` - // Type - Possible values include: 'TypeActivity', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer' - Type TypeBasicActivity `json:"type,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' + Type TypeBasicDataset `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for DatabricksSparkJarActivity. -func (dsja DatabricksSparkJarActivity) MarshalJSON() ([]byte, error) { - dsja.Type = TypeDatabricksSparkJar +// MarshalJSON is the custom marshaler for CustomDataset. +func (cd CustomDataset) MarshalJSON() ([]byte, error) { + cd.Type = TypeCustomDataset objectMap := make(map[string]interface{}) - if dsja.DatabricksSparkJarActivityTypeProperties != nil { - objectMap["typeProperties"] = dsja.DatabricksSparkJarActivityTypeProperties + if cd.TypeProperties != nil { + objectMap["typeProperties"] = cd.TypeProperties } - if dsja.LinkedServiceName != nil { - objectMap["linkedServiceName"] = dsja.LinkedServiceName + if cd.Description != nil { + objectMap["description"] = cd.Description } - if dsja.Policy != nil { - objectMap["policy"] = dsja.Policy + if cd.Structure != nil { + objectMap["structure"] = cd.Structure } - if dsja.Name != nil { - objectMap["name"] = dsja.Name + if cd.Schema != nil { + objectMap["schema"] = cd.Schema } - if dsja.Description != nil { - objectMap["description"] = dsja.Description + if cd.LinkedServiceName != nil { + objectMap["linkedServiceName"] = cd.LinkedServiceName } - if dsja.DependsOn != nil { - objectMap["dependsOn"] = dsja.DependsOn + if cd.Parameters != nil { + objectMap["parameters"] = cd.Parameters } - if dsja.UserProperties != nil { - objectMap["userProperties"] = dsja.UserProperties + if cd.Annotations != nil { + objectMap["annotations"] = cd.Annotations } - if dsja.Type != "" { - objectMap["type"] = dsja.Type + if cd.Folder != nil { + objectMap["folder"] = cd.Folder } - for k, v := range dsja.AdditionalProperties { + if cd.Type != "" { + objectMap["type"] = cd.Type + } + for k, v := range cd.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsAzureFunctionActivity is the BasicActivity implementation for DatabricksSparkJarActivity. -func (dsja DatabricksSparkJarActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) { +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { return nil, false } -// AsDatabricksSparkPythonActivity is the BasicActivity implementation for DatabricksSparkJarActivity. -func (dsja DatabricksSparkJarActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) { +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { return nil, false } -// AsDatabricksSparkJarActivity is the BasicActivity implementation for DatabricksSparkJarActivity. -func (dsja DatabricksSparkJarActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) { - return &dsja, true +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { + return nil, false } -// AsDatabricksNotebookActivity is the BasicActivity implementation for DatabricksSparkJarActivity. -func (dsja DatabricksSparkJarActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) { +// AsDynamicsAXResourceDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { return nil, false } -// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for DatabricksSparkJarActivity. -func (dsja DatabricksSparkJarActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) { +// AsResponsysObjectDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { return nil, false } -// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for DatabricksSparkJarActivity. -func (dsja DatabricksSparkJarActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) { +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { return nil, false } -// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for DatabricksSparkJarActivity. -func (dsja DatabricksSparkJarActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) { +// AsVerticaTableDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { return nil, false } -// AsGetMetadataActivity is the BasicActivity implementation for DatabricksSparkJarActivity. -func (dsja DatabricksSparkJarActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) { +// AsNetezzaTableDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { return nil, false } -// AsWebActivity is the BasicActivity implementation for DatabricksSparkJarActivity. -func (dsja DatabricksSparkJarActivity) AsWebActivity() (*WebActivity, bool) { +// AsZohoObjectDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { return nil, false } -// AsLookupActivity is the BasicActivity implementation for DatabricksSparkJarActivity. -func (dsja DatabricksSparkJarActivity) AsLookupActivity() (*LookupActivity, bool) { +// AsXeroObjectDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { return nil, false } -// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for DatabricksSparkJarActivity. -func (dsja DatabricksSparkJarActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) { +// AsSquareObjectDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { return nil, false } -// AsDeleteActivity is the BasicActivity implementation for DatabricksSparkJarActivity. -func (dsja DatabricksSparkJarActivity) AsDeleteActivity() (*DeleteActivity, bool) { +// AsSparkObjectDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { return nil, false } -// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for DatabricksSparkJarActivity. -func (dsja DatabricksSparkJarActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) { +// AsShopifyObjectDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { return nil, false } -// AsCustomActivity is the BasicActivity implementation for DatabricksSparkJarActivity. -func (dsja DatabricksSparkJarActivity) AsCustomActivity() (*CustomActivity, bool) { +// AsServiceNowObjectDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { return nil, false } -// AsExecuteSSISPackageActivity is the BasicActivity implementation for DatabricksSparkJarActivity. -func (dsja DatabricksSparkJarActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) { +// AsQuickBooksObjectDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { return nil, false } -// AsHDInsightSparkActivity is the BasicActivity implementation for DatabricksSparkJarActivity. -func (dsja DatabricksSparkJarActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) { +// AsPrestoObjectDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { return nil, false } -// AsHDInsightStreamingActivity is the BasicActivity implementation for DatabricksSparkJarActivity. -func (dsja DatabricksSparkJarActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) { +// AsPhoenixObjectDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { return nil, false } -// AsHDInsightMapReduceActivity is the BasicActivity implementation for DatabricksSparkJarActivity. -func (dsja DatabricksSparkJarActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) { +// AsPaypalObjectDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { return nil, false } -// AsHDInsightPigActivity is the BasicActivity implementation for DatabricksSparkJarActivity. -func (dsja DatabricksSparkJarActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) { +// AsMarketoObjectDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { return nil, false } -// AsHDInsightHiveActivity is the BasicActivity implementation for DatabricksSparkJarActivity. -func (dsja DatabricksSparkJarActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) { +// AsAzureMariaDBTableDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { return nil, false } -// AsCopyActivity is the BasicActivity implementation for DatabricksSparkJarActivity. -func (dsja DatabricksSparkJarActivity) AsCopyActivity() (*CopyActivity, bool) { +// AsMariaDBTableDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { return nil, false } -// AsExecutionActivity is the BasicActivity implementation for DatabricksSparkJarActivity. -func (dsja DatabricksSparkJarActivity) AsExecutionActivity() (*ExecutionActivity, bool) { +// AsMagentoObjectDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { return nil, false } -// AsBasicExecutionActivity is the BasicActivity implementation for DatabricksSparkJarActivity. -func (dsja DatabricksSparkJarActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) { - return &dsja, true +// AsJiraObjectDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { + return nil, false } -// AsWebHookActivity is the BasicActivity implementation for DatabricksSparkJarActivity. -func (dsja DatabricksSparkJarActivity) AsWebHookActivity() (*WebHookActivity, bool) { +// AsImpalaObjectDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { return nil, false } -// AsAppendVariableActivity is the BasicActivity implementation for DatabricksSparkJarActivity. -func (dsja DatabricksSparkJarActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) { +// AsHubspotObjectDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { return nil, false } -// AsSetVariableActivity is the BasicActivity implementation for DatabricksSparkJarActivity. -func (dsja DatabricksSparkJarActivity) AsSetVariableActivity() (*SetVariableActivity, bool) { +// AsHiveObjectDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { return nil, false } -// AsFilterActivity is the BasicActivity implementation for DatabricksSparkJarActivity. -func (dsja DatabricksSparkJarActivity) AsFilterActivity() (*FilterActivity, bool) { +// AsHBaseObjectDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { return nil, false } -// AsValidationActivity is the BasicActivity implementation for DatabricksSparkJarActivity. -func (dsja DatabricksSparkJarActivity) AsValidationActivity() (*ValidationActivity, bool) { +// AsGreenplumTableDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { return nil, false } -// AsUntilActivity is the BasicActivity implementation for DatabricksSparkJarActivity. -func (dsja DatabricksSparkJarActivity) AsUntilActivity() (*UntilActivity, bool) { +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { return nil, false } -// AsWaitActivity is the BasicActivity implementation for DatabricksSparkJarActivity. -func (dsja DatabricksSparkJarActivity) AsWaitActivity() (*WaitActivity, bool) { +// AsEloquaObjectDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { return nil, false } -// AsForEachActivity is the BasicActivity implementation for DatabricksSparkJarActivity. -func (dsja DatabricksSparkJarActivity) AsForEachActivity() (*ForEachActivity, bool) { +// AsDrillTableDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { return nil, false } -// AsIfConditionActivity is the BasicActivity implementation for DatabricksSparkJarActivity. -func (dsja DatabricksSparkJarActivity) AsIfConditionActivity() (*IfConditionActivity, bool) { +// AsCouchbaseTableDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { return nil, false } -// AsExecutePipelineActivity is the BasicActivity implementation for DatabricksSparkJarActivity. -func (dsja DatabricksSparkJarActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) { +// AsConcurObjectDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { return nil, false } -// AsControlActivity is the BasicActivity implementation for DatabricksSparkJarActivity. -func (dsja DatabricksSparkJarActivity) AsControlActivity() (*ControlActivity, bool) { +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { return nil, false } -// AsBasicControlActivity is the BasicActivity implementation for DatabricksSparkJarActivity. -func (dsja DatabricksSparkJarActivity) AsBasicControlActivity() (BasicControlActivity, bool) { +// AsAmazonMWSObjectDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { return nil, false } -// AsActivity is the BasicActivity implementation for DatabricksSparkJarActivity. -func (dsja DatabricksSparkJarActivity) AsActivity() (*Activity, bool) { +// AsHTTPDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsHTTPDataset() (*HTTPDataset, bool) { return nil, false } -// AsBasicActivity is the BasicActivity implementation for DatabricksSparkJarActivity. -func (dsja DatabricksSparkJarActivity) AsBasicActivity() (BasicActivity, bool) { - return &dsja, true +// AsAzureSearchIndexDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { + return nil, false } -// UnmarshalJSON is the custom unmarshaler for DatabricksSparkJarActivity struct. -func (dsja *DatabricksSparkJarActivity) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - case "typeProperties": - if v != nil { - var databricksSparkJarActivityTypeProperties DatabricksSparkJarActivityTypeProperties - err = json.Unmarshal(*v, &databricksSparkJarActivityTypeProperties) - if err != nil { - return err - } - dsja.DatabricksSparkJarActivityTypeProperties = &databricksSparkJarActivityTypeProperties - } - case "linkedServiceName": - if v != nil { - var linkedServiceName LinkedServiceReference - err = json.Unmarshal(*v, &linkedServiceName) - if err != nil { - return err - } - dsja.LinkedServiceName = &linkedServiceName - } - case "policy": - if v != nil { - var policy ActivityPolicy - err = json.Unmarshal(*v, &policy) - if err != nil { - return err - } - dsja.Policy = &policy - } - default: - if v != nil { - var additionalProperties interface{} - err = json.Unmarshal(*v, &additionalProperties) - if err != nil { - return err - } - if dsja.AdditionalProperties == nil { - dsja.AdditionalProperties = make(map[string]interface{}) - } - dsja.AdditionalProperties[k] = additionalProperties - } - case "name": - if v != nil { - var name string - err = json.Unmarshal(*v, &name) - if err != nil { - return err - } - dsja.Name = &name - } - case "description": - if v != nil { - var description string - err = json.Unmarshal(*v, &description) - if err != nil { - return err - } - dsja.Description = &description - } - case "dependsOn": - if v != nil { - var dependsOn []ActivityDependency - err = json.Unmarshal(*v, &dependsOn) - if err != nil { - return err - } - dsja.DependsOn = &dependsOn - } - case "userProperties": - if v != nil { - var userProperties []UserProperty - err = json.Unmarshal(*v, &userProperties) - if err != nil { - return err - } - dsja.UserProperties = &userProperties - } - case "type": - if v != nil { - var typeVar TypeBasicActivity - err = json.Unmarshal(*v, &typeVar) - if err != nil { - return err - } - dsja.Type = typeVar - } - } - } +// AsWebTableDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsWebTableDataset() (*WebTableDataset, bool) { + return nil, false +} - return nil +// AsSapTableResourceDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { + return nil, false } -// DatabricksSparkJarActivityTypeProperties databricks SparkJar activity properties. -type DatabricksSparkJarActivityTypeProperties struct { - // MainClassName - The full name of the class containing the main method to be executed. This class must be contained in a JAR provided as a library. Type: string (or Expression with resultType string). - MainClassName interface{} `json:"mainClassName,omitempty"` - // Parameters - Parameters that will be passed to the main method. - Parameters *[]interface{} `json:"parameters,omitempty"` - // Libraries - A list of libraries to be installed on the cluster that will execute the job. - Libraries *[]map[string]interface{} `json:"libraries,omitempty"` +// AsRestResourceDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { + return nil, false } -// DatabricksSparkPythonActivity databricksSparkPython activity. -type DatabricksSparkPythonActivity struct { - // DatabricksSparkPythonActivityTypeProperties - Databricks SparkPython activity properties. - *DatabricksSparkPythonActivityTypeProperties `json:"typeProperties,omitempty"` - // LinkedServiceName - Linked service reference. - LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` - // Policy - Activity policy. - Policy *ActivityPolicy `json:"policy,omitempty"` - // AdditionalProperties - Unmatched properties from the message are deserialized this collection - AdditionalProperties map[string]interface{} `json:""` - // Name - Activity name. - Name *string `json:"name,omitempty"` - // Description - Activity description. - Description *string `json:"description,omitempty"` - // DependsOn - Activity depends on condition. - DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"` - // UserProperties - Activity user properties. - UserProperties *[]UserProperty `json:"userProperties,omitempty"` - // Type - Possible values include: 'TypeActivity', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer' - Type TypeBasicActivity `json:"type,omitempty"` +// AsSQLServerTableDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { + return nil, false } -// MarshalJSON is the custom marshaler for DatabricksSparkPythonActivity. -func (dspa DatabricksSparkPythonActivity) MarshalJSON() ([]byte, error) { - dspa.Type = TypeDatabricksSparkPython - objectMap := make(map[string]interface{}) - if dspa.DatabricksSparkPythonActivityTypeProperties != nil { - objectMap["typeProperties"] = dspa.DatabricksSparkPythonActivityTypeProperties - } - if dspa.LinkedServiceName != nil { - objectMap["linkedServiceName"] = dspa.LinkedServiceName - } - if dspa.Policy != nil { - objectMap["policy"] = dspa.Policy - } - if dspa.Name != nil { - objectMap["name"] = dspa.Name - } - if dspa.Description != nil { - objectMap["description"] = dspa.Description - } - if dspa.DependsOn != nil { - objectMap["dependsOn"] = dspa.DependsOn - } - if dspa.UserProperties != nil { - objectMap["userProperties"] = dspa.UserProperties - } - if dspa.Type != "" { - objectMap["type"] = dspa.Type - } - for k, v := range dspa.AdditionalProperties { - objectMap[k] = v - } - return json.Marshal(objectMap) +// AsSapOpenHubTableDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { + return nil, false } -// AsAzureFunctionActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. -func (dspa DatabricksSparkPythonActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) { +// AsSapHanaTableDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { return nil, false } -// AsDatabricksSparkPythonActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. -func (dspa DatabricksSparkPythonActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) { - return &dspa, true +// AsSapEccResourceDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { + return nil, false } -// AsDatabricksSparkJarActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. -func (dspa DatabricksSparkPythonActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) { +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { return nil, false } -// AsDatabricksNotebookActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. -func (dspa DatabricksSparkPythonActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) { +// AsSapBwCubeDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { return nil, false } -// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. -func (dspa DatabricksSparkPythonActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) { +// AsSybaseTableDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { return nil, false } -// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. -func (dspa DatabricksSparkPythonActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) { +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { return nil, false } -// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. -func (dspa DatabricksSparkPythonActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) { +// AsSalesforceObjectDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { return nil, false } -// AsGetMetadataActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. -func (dspa DatabricksSparkPythonActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) { +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { return nil, false } -// AsWebActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. -func (dspa DatabricksSparkPythonActivity) AsWebActivity() (*WebActivity, bool) { +// AsPostgreSQLTableDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { return nil, false } -// AsLookupActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. -func (dspa DatabricksSparkPythonActivity) AsLookupActivity() (*LookupActivity, bool) { +// AsMySQLTableDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { return nil, false } -// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. -func (dspa DatabricksSparkPythonActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) { +// AsOdbcTableDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { return nil, false } -// AsDeleteActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. -func (dspa DatabricksSparkPythonActivity) AsDeleteActivity() (*DeleteActivity, bool) { +// AsInformixTableDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { return nil, false } -// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. -func (dspa DatabricksSparkPythonActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) { +// AsRelationalTableDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { return nil, false } -// AsCustomActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. -func (dspa DatabricksSparkPythonActivity) AsCustomActivity() (*CustomActivity, bool) { +// AsDb2TableDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { return nil, false } -// AsExecuteSSISPackageActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. -func (dspa DatabricksSparkPythonActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) { +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { return nil, false } -// AsHDInsightSparkActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. -func (dspa DatabricksSparkPythonActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) { +// AsAzureMySQLTableDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { return nil, false } -// AsHDInsightStreamingActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. -func (dspa DatabricksSparkPythonActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) { +// AsTeradataTableDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { return nil, false } -// AsHDInsightMapReduceActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. -func (dspa DatabricksSparkPythonActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) { +// AsOracleTableDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { return nil, false } -// AsHDInsightPigActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. -func (dspa DatabricksSparkPythonActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) { +// AsODataResourceDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { return nil, false } -// AsHDInsightHiveActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. -func (dspa DatabricksSparkPythonActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) { +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { return nil, false } -// AsCopyActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. -func (dspa DatabricksSparkPythonActivity) AsCopyActivity() (*CopyActivity, bool) { +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { return nil, false } -// AsExecutionActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. -func (dspa DatabricksSparkPythonActivity) AsExecutionActivity() (*ExecutionActivity, bool) { +// AsMongoDbCollectionDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { return nil, false } -// AsBasicExecutionActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. -func (dspa DatabricksSparkPythonActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) { - return &dspa, true +// AsFileShareDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsFileShareDataset() (*FileShareDataset, bool) { + return nil, false } -// AsWebHookActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. -func (dspa DatabricksSparkPythonActivity) AsWebHookActivity() (*WebHookActivity, bool) { +// AsOffice365Dataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsOffice365Dataset() (*Office365Dataset, bool) { return nil, false } -// AsAppendVariableActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. -func (dspa DatabricksSparkPythonActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) { +// AsAzureBlobFSDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) { return nil, false } -// AsSetVariableActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. -func (dspa DatabricksSparkPythonActivity) AsSetVariableActivity() (*SetVariableActivity, bool) { +// AsAzureDataLakeStoreDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) { return nil, false } -// AsFilterActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. -func (dspa DatabricksSparkPythonActivity) AsFilterActivity() (*FilterActivity, bool) { +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { return nil, false } -// AsValidationActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. -func (dspa DatabricksSparkPythonActivity) AsValidationActivity() (*ValidationActivity, bool) { +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { return nil, false } -// AsUntilActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. -func (dspa DatabricksSparkPythonActivity) AsUntilActivity() (*UntilActivity, bool) { +// AsDynamicsEntityDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { return nil, false } -// AsWaitActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. -func (dspa DatabricksSparkPythonActivity) AsWaitActivity() (*WaitActivity, bool) { +// AsDocumentDbCollectionDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { return nil, false } -// AsForEachActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. -func (dspa DatabricksSparkPythonActivity) AsForEachActivity() (*ForEachActivity, bool) { +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { return nil, false } -// AsIfConditionActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. -func (dspa DatabricksSparkPythonActivity) AsIfConditionActivity() (*IfConditionActivity, bool) { +// AsCustomDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsCustomDataset() (*CustomDataset, bool) { + return &cd, true +} + +// AsCassandraTableDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { return nil, false } -// AsExecutePipelineActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. -func (dspa DatabricksSparkPythonActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) { +// AsAzureSQLDWTableDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { return nil, false } -// AsControlActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. -func (dspa DatabricksSparkPythonActivity) AsControlActivity() (*ControlActivity, bool) { +// AsAzureSQLMITableDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { return nil, false } -// AsBasicControlActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. -func (dspa DatabricksSparkPythonActivity) AsBasicControlActivity() (BasicControlActivity, bool) { +// AsAzureSQLTableDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { return nil, false } -// AsActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. -func (dspa DatabricksSparkPythonActivity) AsActivity() (*Activity, bool) { +// AsAzureTableDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { return nil, false } -// AsBasicActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. -func (dspa DatabricksSparkPythonActivity) AsBasicActivity() (BasicActivity, bool) { - return &dspa, true +// AsAzureBlobDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) { + return nil, false } -// UnmarshalJSON is the custom unmarshaler for DatabricksSparkPythonActivity struct. -func (dspa *DatabricksSparkPythonActivity) UnmarshalJSON(body []byte) error { +// AsBinaryDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsBinaryDataset() (*BinaryDataset, bool) { + return nil, false +} + +// AsOrcDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + +// AsDelimitedTextDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { + return nil, false +} + +// AsParquetDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsParquetDataset() (*ParquetDataset, bool) { + return nil, false +} + +// AsAvroDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsAvroDataset() (*AvroDataset, bool) { + return nil, false +} + +// AsAmazonS3Dataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) { + return nil, false +} + +// AsDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsDataset() (*Dataset, bool) { + return nil, false +} + +// AsBasicDataset is the BasicDataset implementation for CustomDataset. +func (cd CustomDataset) AsBasicDataset() (BasicDataset, bool) { + return &cd, true +} + +// UnmarshalJSON is the custom unmarshaler for CustomDataset struct. +func (cd *CustomDataset) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -56957,87 +62703,96 @@ func (dspa *DatabricksSparkPythonActivity) UnmarshalJSON(body []byte) error { switch k { case "typeProperties": if v != nil { - var databricksSparkPythonActivityTypeProperties DatabricksSparkPythonActivityTypeProperties - err = json.Unmarshal(*v, &databricksSparkPythonActivityTypeProperties) + var typeProperties interface{} + err = json.Unmarshal(*v, &typeProperties) if err != nil { return err } - dspa.DatabricksSparkPythonActivityTypeProperties = &databricksSparkPythonActivityTypeProperties + cd.TypeProperties = typeProperties } - case "linkedServiceName": + default: if v != nil { - var linkedServiceName LinkedServiceReference - err = json.Unmarshal(*v, &linkedServiceName) + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) if err != nil { return err } - dspa.LinkedServiceName = &linkedServiceName + if cd.AdditionalProperties == nil { + cd.AdditionalProperties = make(map[string]interface{}) + } + cd.AdditionalProperties[k] = additionalProperties } - case "policy": + case "description": if v != nil { - var policy ActivityPolicy - err = json.Unmarshal(*v, &policy) + var description string + err = json.Unmarshal(*v, &description) if err != nil { return err } - dspa.Policy = &policy + cd.Description = &description } - default: + case "structure": if v != nil { - var additionalProperties interface{} - err = json.Unmarshal(*v, &additionalProperties) + var structure interface{} + err = json.Unmarshal(*v, &structure) if err != nil { return err } - if dspa.AdditionalProperties == nil { - dspa.AdditionalProperties = make(map[string]interface{}) + cd.Structure = structure + } + case "schema": + if v != nil { + var schema interface{} + err = json.Unmarshal(*v, &schema) + if err != nil { + return err } - dspa.AdditionalProperties[k] = additionalProperties + cd.Schema = schema } - case "name": + case "linkedServiceName": if v != nil { - var name string - err = json.Unmarshal(*v, &name) + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) if err != nil { return err } - dspa.Name = &name + cd.LinkedServiceName = &linkedServiceName } - case "description": + case "parameters": if v != nil { - var description string - err = json.Unmarshal(*v, &description) + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) if err != nil { return err } - dspa.Description = &description + cd.Parameters = parameters } - case "dependsOn": + case "annotations": if v != nil { - var dependsOn []ActivityDependency - err = json.Unmarshal(*v, &dependsOn) + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) if err != nil { return err } - dspa.DependsOn = &dependsOn + cd.Annotations = &annotations } - case "userProperties": + case "folder": if v != nil { - var userProperties []UserProperty - err = json.Unmarshal(*v, &userProperties) + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) if err != nil { return err } - dspa.UserProperties = &userProperties + cd.Folder = &folder } case "type": if v != nil { - var typeVar TypeBasicActivity + var typeVar TypeBasicDataset err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - dspa.Type = typeVar + cd.Type = typeVar } } } @@ -57045,1329 +62800,965 @@ func (dspa *DatabricksSparkPythonActivity) UnmarshalJSON(body []byte) error { return nil } -// DatabricksSparkPythonActivityTypeProperties databricks SparkPython activity properties. -type DatabricksSparkPythonActivityTypeProperties struct { - // PythonFile - The URI of the Python file to be executed. DBFS paths are supported. Type: string (or Expression with resultType string). - PythonFile interface{} `json:"pythonFile,omitempty"` - // Parameters - Command line parameters that will be passed to the Python file. - Parameters *[]interface{} `json:"parameters,omitempty"` - // Libraries - A list of libraries to be installed on the cluster that will execute the job. - Libraries *[]map[string]interface{} `json:"libraries,omitempty"` -} - -// DataLakeAnalyticsUSQLActivity data Lake Analytics U-SQL activity. -type DataLakeAnalyticsUSQLActivity struct { - // DataLakeAnalyticsUSQLActivityTypeProperties - Data Lake Analytics U-SQL activity properties. - *DataLakeAnalyticsUSQLActivityTypeProperties `json:"typeProperties,omitempty"` - // LinkedServiceName - Linked service reference. - LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` - // Policy - Activity policy. - Policy *ActivityPolicy `json:"policy,omitempty"` +// CustomDataSourceLinkedService custom linked service. +type CustomDataSourceLinkedService struct { + // TypeProperties - Custom linked service properties. + TypeProperties interface{} `json:"typeProperties,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` - // Name - Activity name. - Name *string `json:"name,omitempty"` - // Description - Activity description. + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. Description *string `json:"description,omitempty"` - // DependsOn - Activity depends on condition. - DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"` - // UserProperties - Activity user properties. - UserProperties *[]UserProperty `json:"userProperties,omitempty"` - // Type - Possible values include: 'TypeActivity', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer' - Type TypeBasicActivity `json:"type,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' + Type TypeBasicLinkedService `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for DataLakeAnalyticsUSQLActivity. -func (dlaua DataLakeAnalyticsUSQLActivity) MarshalJSON() ([]byte, error) { - dlaua.Type = TypeDataLakeAnalyticsUSQL +// MarshalJSON is the custom marshaler for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) MarshalJSON() ([]byte, error) { + cdsls.Type = TypeCustomDataSource objectMap := make(map[string]interface{}) - if dlaua.DataLakeAnalyticsUSQLActivityTypeProperties != nil { - objectMap["typeProperties"] = dlaua.DataLakeAnalyticsUSQLActivityTypeProperties - } - if dlaua.LinkedServiceName != nil { - objectMap["linkedServiceName"] = dlaua.LinkedServiceName - } - if dlaua.Policy != nil { - objectMap["policy"] = dlaua.Policy + if cdsls.TypeProperties != nil { + objectMap["typeProperties"] = cdsls.TypeProperties } - if dlaua.Name != nil { - objectMap["name"] = dlaua.Name + if cdsls.ConnectVia != nil { + objectMap["connectVia"] = cdsls.ConnectVia } - if dlaua.Description != nil { - objectMap["description"] = dlaua.Description + if cdsls.Description != nil { + objectMap["description"] = cdsls.Description } - if dlaua.DependsOn != nil { - objectMap["dependsOn"] = dlaua.DependsOn + if cdsls.Parameters != nil { + objectMap["parameters"] = cdsls.Parameters } - if dlaua.UserProperties != nil { - objectMap["userProperties"] = dlaua.UserProperties + if cdsls.Annotations != nil { + objectMap["annotations"] = cdsls.Annotations } - if dlaua.Type != "" { - objectMap["type"] = dlaua.Type + if cdsls.Type != "" { + objectMap["type"] = cdsls.Type } - for k, v := range dlaua.AdditionalProperties { + for k, v := range cdsls.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsAzureFunctionActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. -func (dlaua DataLakeAnalyticsUSQLActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) { +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { return nil, false } -// AsDatabricksSparkPythonActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. -func (dlaua DataLakeAnalyticsUSQLActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) { +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { return nil, false } -// AsDatabricksSparkJarActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. -func (dlaua DataLakeAnalyticsUSQLActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) { +// AsSapTableLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { return nil, false } -// AsDatabricksNotebookActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. -func (dlaua DataLakeAnalyticsUSQLActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) { +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { return nil, false } -// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. -func (dlaua DataLakeAnalyticsUSQLActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) { - return &dlaua, true +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false } -// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. -func (dlaua DataLakeAnalyticsUSQLActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) { +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { return nil, false } -// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. -func (dlaua DataLakeAnalyticsUSQLActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) { +// AsResponsysLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { return nil, false } -// AsGetMetadataActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. -func (dlaua DataLakeAnalyticsUSQLActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) { +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { return nil, false } -// AsWebActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. -func (dlaua DataLakeAnalyticsUSQLActivity) AsWebActivity() (*WebActivity, bool) { +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { return nil, false } -// AsLookupActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. -func (dlaua DataLakeAnalyticsUSQLActivity) AsLookupActivity() (*LookupActivity, bool) { +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { return nil, false } -// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. -func (dlaua DataLakeAnalyticsUSQLActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) { +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { return nil, false } -// AsDeleteActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. -func (dlaua DataLakeAnalyticsUSQLActivity) AsDeleteActivity() (*DeleteActivity, bool) { +// AsNetezzaLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { return nil, false } -// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. -func (dlaua DataLakeAnalyticsUSQLActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) { +// AsVerticaLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { return nil, false } -// AsCustomActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. -func (dlaua DataLakeAnalyticsUSQLActivity) AsCustomActivity() (*CustomActivity, bool) { +// AsZohoLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { return nil, false } -// AsExecuteSSISPackageActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. -func (dlaua DataLakeAnalyticsUSQLActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) { +// AsXeroLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { return nil, false } -// AsHDInsightSparkActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. -func (dlaua DataLakeAnalyticsUSQLActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) { +// AsSquareLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { return nil, false } -// AsHDInsightStreamingActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. -func (dlaua DataLakeAnalyticsUSQLActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) { +// AsSparkLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { return nil, false } -// AsHDInsightMapReduceActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. -func (dlaua DataLakeAnalyticsUSQLActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) { +// AsShopifyLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { return nil, false } -// AsHDInsightPigActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. -func (dlaua DataLakeAnalyticsUSQLActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) { +// AsServiceNowLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { return nil, false } -// AsHDInsightHiveActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. -func (dlaua DataLakeAnalyticsUSQLActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) { +// AsQuickBooksLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { return nil, false } -// AsCopyActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. -func (dlaua DataLakeAnalyticsUSQLActivity) AsCopyActivity() (*CopyActivity, bool) { +// AsPrestoLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { return nil, false } -// AsExecutionActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. -func (dlaua DataLakeAnalyticsUSQLActivity) AsExecutionActivity() (*ExecutionActivity, bool) { +// AsPhoenixLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { return nil, false } -// AsBasicExecutionActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. -func (dlaua DataLakeAnalyticsUSQLActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) { - return &dlaua, true +// AsPaypalLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return nil, false } -// AsWebHookActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. -func (dlaua DataLakeAnalyticsUSQLActivity) AsWebHookActivity() (*WebHookActivity, bool) { +// AsMarketoLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { return nil, false } -// AsAppendVariableActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. -func (dlaua DataLakeAnalyticsUSQLActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) { +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { return nil, false } -// AsSetVariableActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. -func (dlaua DataLakeAnalyticsUSQLActivity) AsSetVariableActivity() (*SetVariableActivity, bool) { +// AsMariaDBLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { return nil, false } -// AsFilterActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. -func (dlaua DataLakeAnalyticsUSQLActivity) AsFilterActivity() (*FilterActivity, bool) { +// AsMagentoLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { return nil, false } -// AsValidationActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. -func (dlaua DataLakeAnalyticsUSQLActivity) AsValidationActivity() (*ValidationActivity, bool) { +// AsJiraLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { return nil, false } -// AsUntilActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. -func (dlaua DataLakeAnalyticsUSQLActivity) AsUntilActivity() (*UntilActivity, bool) { +// AsImpalaLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { return nil, false } -// AsWaitActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. -func (dlaua DataLakeAnalyticsUSQLActivity) AsWaitActivity() (*WaitActivity, bool) { +// AsHubspotLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { return nil, false } -// AsForEachActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. -func (dlaua DataLakeAnalyticsUSQLActivity) AsForEachActivity() (*ForEachActivity, bool) { +// AsHiveLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { return nil, false } -// AsIfConditionActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. -func (dlaua DataLakeAnalyticsUSQLActivity) AsIfConditionActivity() (*IfConditionActivity, bool) { +// AsHBaseLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { return nil, false } -// AsExecutePipelineActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. -func (dlaua DataLakeAnalyticsUSQLActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) { +// AsGreenplumLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { return nil, false } -// AsControlActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. -func (dlaua DataLakeAnalyticsUSQLActivity) AsControlActivity() (*ControlActivity, bool) { +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { return nil, false } -// AsBasicControlActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. -func (dlaua DataLakeAnalyticsUSQLActivity) AsBasicControlActivity() (BasicControlActivity, bool) { +// AsEloquaLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { return nil, false } -// AsActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. -func (dlaua DataLakeAnalyticsUSQLActivity) AsActivity() (*Activity, bool) { +// AsDrillLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { return nil, false } -// AsBasicActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. -func (dlaua DataLakeAnalyticsUSQLActivity) AsBasicActivity() (BasicActivity, bool) { - return &dlaua, true +// AsCouchbaseLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return nil, false } -// UnmarshalJSON is the custom unmarshaler for DataLakeAnalyticsUSQLActivity struct. -func (dlaua *DataLakeAnalyticsUSQLActivity) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - case "typeProperties": - if v != nil { - var dataLakeAnalyticsUSQLActivityTypeProperties DataLakeAnalyticsUSQLActivityTypeProperties - err = json.Unmarshal(*v, &dataLakeAnalyticsUSQLActivityTypeProperties) - if err != nil { - return err - } - dlaua.DataLakeAnalyticsUSQLActivityTypeProperties = &dataLakeAnalyticsUSQLActivityTypeProperties - } - case "linkedServiceName": - if v != nil { - var linkedServiceName LinkedServiceReference - err = json.Unmarshal(*v, &linkedServiceName) - if err != nil { - return err - } - dlaua.LinkedServiceName = &linkedServiceName - } - case "policy": - if v != nil { - var policy ActivityPolicy - err = json.Unmarshal(*v, &policy) - if err != nil { - return err - } - dlaua.Policy = &policy - } - default: - if v != nil { - var additionalProperties interface{} - err = json.Unmarshal(*v, &additionalProperties) - if err != nil { - return err - } - if dlaua.AdditionalProperties == nil { - dlaua.AdditionalProperties = make(map[string]interface{}) - } - dlaua.AdditionalProperties[k] = additionalProperties - } - case "name": - if v != nil { - var name string - err = json.Unmarshal(*v, &name) - if err != nil { - return err - } - dlaua.Name = &name - } - case "description": - if v != nil { - var description string - err = json.Unmarshal(*v, &description) - if err != nil { - return err - } - dlaua.Description = &description - } - case "dependsOn": - if v != nil { - var dependsOn []ActivityDependency - err = json.Unmarshal(*v, &dependsOn) - if err != nil { - return err - } - dlaua.DependsOn = &dependsOn - } - case "userProperties": - if v != nil { - var userProperties []UserProperty - err = json.Unmarshal(*v, &userProperties) - if err != nil { - return err - } - dlaua.UserProperties = &userProperties - } - case "type": - if v != nil { - var typeVar TypeBasicActivity - err = json.Unmarshal(*v, &typeVar) - if err != nil { - return err - } - dlaua.Type = typeVar - } - } - } +// AsConcurLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return nil, false +} - return nil +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return nil, false } -// DataLakeAnalyticsUSQLActivityTypeProperties dataLakeAnalyticsU-SQL activity properties. -type DataLakeAnalyticsUSQLActivityTypeProperties struct { - // ScriptPath - Case-sensitive path to folder that contains the U-SQL script. Type: string (or Expression with resultType string). - ScriptPath interface{} `json:"scriptPath,omitempty"` - // ScriptLinkedService - Script linked service reference. - ScriptLinkedService *LinkedServiceReference `json:"scriptLinkedService,omitempty"` - // DegreeOfParallelism - The maximum number of nodes simultaneously used to run the job. Default value is 1. Type: integer (or Expression with resultType integer), minimum: 1. - DegreeOfParallelism interface{} `json:"degreeOfParallelism,omitempty"` - // Priority - Determines which jobs out of all that are queued should be selected to run first. The lower the number, the higher the priority. Default value is 1000. Type: integer (or Expression with resultType integer), minimum: 1. - Priority interface{} `json:"priority,omitempty"` - // Parameters - Parameters for U-SQL job request. - Parameters map[string]interface{} `json:"parameters"` - // RuntimeVersion - Runtime version of the U-SQL engine to use. Type: string (or Expression with resultType string). - RuntimeVersion interface{} `json:"runtimeVersion,omitempty"` - // CompilationMode - Compilation mode of U-SQL. Must be one of these values : Semantic, Full and SingleBox. Type: string (or Expression with resultType string). - CompilationMode interface{} `json:"compilationMode,omitempty"` +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false } -// MarshalJSON is the custom marshaler for DataLakeAnalyticsUSQLActivityTypeProperties. -func (dlauatp DataLakeAnalyticsUSQLActivityTypeProperties) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - if dlauatp.ScriptPath != nil { - objectMap["scriptPath"] = dlauatp.ScriptPath - } - if dlauatp.ScriptLinkedService != nil { - objectMap["scriptLinkedService"] = dlauatp.ScriptLinkedService - } - if dlauatp.DegreeOfParallelism != nil { - objectMap["degreeOfParallelism"] = dlauatp.DegreeOfParallelism - } - if dlauatp.Priority != nil { - objectMap["priority"] = dlauatp.Priority - } - if dlauatp.Parameters != nil { - objectMap["parameters"] = dlauatp.Parameters - } - if dlauatp.RuntimeVersion != nil { - objectMap["runtimeVersion"] = dlauatp.RuntimeVersion - } - if dlauatp.CompilationMode != nil { - objectMap["compilationMode"] = dlauatp.CompilationMode - } - return json.Marshal(objectMap) +// AsSapHanaLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return nil, false } -// BasicDataset the Azure Data Factory nested object which identifies data within different data stores, such as -// tables, files, folders, and documents. -type BasicDataset interface { - AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) - AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) - AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) - AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) - AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) - AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) - AsVerticaTableDataset() (*VerticaTableDataset, bool) - AsNetezzaTableDataset() (*NetezzaTableDataset, bool) - AsZohoObjectDataset() (*ZohoObjectDataset, bool) - AsXeroObjectDataset() (*XeroObjectDataset, bool) - AsSquareObjectDataset() (*SquareObjectDataset, bool) - AsSparkObjectDataset() (*SparkObjectDataset, bool) - AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) - AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) - AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) - AsPrestoObjectDataset() (*PrestoObjectDataset, bool) - AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) - AsPaypalObjectDataset() (*PaypalObjectDataset, bool) - AsMarketoObjectDataset() (*MarketoObjectDataset, bool) - AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) - AsMariaDBTableDataset() (*MariaDBTableDataset, bool) - AsMagentoObjectDataset() (*MagentoObjectDataset, bool) - AsJiraObjectDataset() (*JiraObjectDataset, bool) - AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) - AsHubspotObjectDataset() (*HubspotObjectDataset, bool) - AsHiveObjectDataset() (*HiveObjectDataset, bool) - AsHBaseObjectDataset() (*HBaseObjectDataset, bool) - AsGreenplumTableDataset() (*GreenplumTableDataset, bool) - AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) - AsEloquaObjectDataset() (*EloquaObjectDataset, bool) - AsDrillTableDataset() (*DrillTableDataset, bool) - AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) - AsConcurObjectDataset() (*ConcurObjectDataset, bool) - AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) - AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) - AsHTTPDataset() (*HTTPDataset, bool) - AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) - AsWebTableDataset() (*WebTableDataset, bool) - AsSapTableResourceDataset() (*SapTableResourceDataset, bool) - AsRestResourceDataset() (*RestResourceDataset, bool) - AsSQLServerTableDataset() (*SQLServerTableDataset, bool) - AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) - AsSapHanaTableDataset() (*SapHanaTableDataset, bool) - AsSapEccResourceDataset() (*SapEccResourceDataset, bool) - AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) - AsSapBwCubeDataset() (*SapBwCubeDataset, bool) - AsSybaseTableDataset() (*SybaseTableDataset, bool) - AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) - AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) - AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) - AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) - AsMySQLTableDataset() (*MySQLTableDataset, bool) - AsOdbcTableDataset() (*OdbcTableDataset, bool) - AsInformixTableDataset() (*InformixTableDataset, bool) - AsRelationalTableDataset() (*RelationalTableDataset, bool) - AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) - AsTeradataTableDataset() (*TeradataTableDataset, bool) - AsOracleTableDataset() (*OracleTableDataset, bool) - AsODataResourceDataset() (*ODataResourceDataset, bool) - AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) - AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) - AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) - AsFileShareDataset() (*FileShareDataset, bool) - AsOffice365Dataset() (*Office365Dataset, bool) - AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) - AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) - AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) - AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) - AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) - AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) - AsCustomDataset() (*CustomDataset, bool) - AsCassandraTableDataset() (*CassandraTableDataset, bool) - AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) - AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) - AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) - AsAzureTableDataset() (*AzureTableDataset, bool) - AsAzureBlobDataset() (*AzureBlobDataset, bool) - AsBinaryDataset() (*BinaryDataset, bool) - AsDelimitedTextDataset() (*DelimitedTextDataset, bool) - AsParquetDataset() (*ParquetDataset, bool) - AsAvroDataset() (*AvroDataset, bool) - AsAmazonS3Dataset() (*AmazonS3Dataset, bool) - AsDataset() (*Dataset, bool) +// AsSapBWLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return nil, false } -// Dataset the Azure Data Factory nested object which identifies data within different data stores, such as -// tables, files, folders, and documents. -type Dataset struct { - // AdditionalProperties - Unmatched properties from the message are deserialized this collection - AdditionalProperties map[string]interface{} `json:""` - // Description - Dataset description. - Description *string `json:"description,omitempty"` - // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. - Structure interface{} `json:"structure,omitempty"` - // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. - Schema interface{} `json:"schema,omitempty"` - // LinkedServiceName - Linked service reference. - LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` - // Parameters - Parameters for dataset. - Parameters map[string]*ParameterSpecification `json:"parameters"` - // Annotations - List of tags that can be used for describing the Dataset. - Annotations *[]interface{} `json:"annotations,omitempty"` - // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. - Folder *DatasetFolder `json:"folder,omitempty"` - // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' - Type TypeBasicDataset `json:"type,omitempty"` +// AsSftpServerLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return nil, false } -func unmarshalBasicDataset(body []byte) (BasicDataset, error) { - var m map[string]interface{} - err := json.Unmarshal(body, &m) - if err != nil { - return nil, err - } +// AsFtpServerLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return nil, false +} - switch m["type"] { - case string(TypeGoogleAdWordsObject): - var gawod GoogleAdWordsObjectDataset - err := json.Unmarshal(body, &gawod) - return gawod, err - case string(TypeAzureDataExplorerTable): - var adetd AzureDataExplorerTableDataset - err := json.Unmarshal(body, &adetd) - return adetd, err - case string(TypeOracleServiceCloudObject): - var oscod OracleServiceCloudObjectDataset - err := json.Unmarshal(body, &oscod) - return oscod, err - case string(TypeDynamicsAXResource): - var dard DynamicsAXResourceDataset - err := json.Unmarshal(body, &dard) - return dard, err - case string(TypeResponsysObject): - var rod ResponsysObjectDataset - err := json.Unmarshal(body, &rod) - return rod, err - case string(TypeSalesforceMarketingCloudObject): - var smcod SalesforceMarketingCloudObjectDataset - err := json.Unmarshal(body, &smcod) - return smcod, err - case string(TypeVerticaTable): - var vtd VerticaTableDataset - err := json.Unmarshal(body, &vtd) - return vtd, err - case string(TypeNetezzaTable): - var ntd NetezzaTableDataset - err := json.Unmarshal(body, &ntd) - return ntd, err - case string(TypeZohoObject): - var zod ZohoObjectDataset - err := json.Unmarshal(body, &zod) - return zod, err - case string(TypeXeroObject): - var xod XeroObjectDataset - err := json.Unmarshal(body, &xod) - return xod, err - case string(TypeSquareObject): - var sod SquareObjectDataset - err := json.Unmarshal(body, &sod) - return sod, err - case string(TypeSparkObject): - var sod SparkObjectDataset - err := json.Unmarshal(body, &sod) - return sod, err - case string(TypeShopifyObject): - var sod ShopifyObjectDataset - err := json.Unmarshal(body, &sod) - return sod, err - case string(TypeServiceNowObject): - var snod ServiceNowObjectDataset - err := json.Unmarshal(body, &snod) - return snod, err - case string(TypeQuickBooksObject): - var qbod QuickBooksObjectDataset - err := json.Unmarshal(body, &qbod) - return qbod, err - case string(TypePrestoObject): - var pod PrestoObjectDataset - err := json.Unmarshal(body, &pod) - return pod, err - case string(TypePhoenixObject): - var pod PhoenixObjectDataset - err := json.Unmarshal(body, &pod) - return pod, err - case string(TypePaypalObject): - var pod PaypalObjectDataset - err := json.Unmarshal(body, &pod) - return pod, err - case string(TypeMarketoObject): - var mod MarketoObjectDataset - err := json.Unmarshal(body, &mod) - return mod, err - case string(TypeAzureMariaDBTable): - var amdtd AzureMariaDBTableDataset - err := json.Unmarshal(body, &amdtd) - return amdtd, err - case string(TypeMariaDBTable): - var mdtd MariaDBTableDataset - err := json.Unmarshal(body, &mdtd) - return mdtd, err - case string(TypeMagentoObject): - var mod MagentoObjectDataset - err := json.Unmarshal(body, &mod) - return mod, err - case string(TypeJiraObject): - var jod JiraObjectDataset - err := json.Unmarshal(body, &jod) - return jod, err - case string(TypeImpalaObject): - var iod ImpalaObjectDataset - err := json.Unmarshal(body, &iod) - return iod, err - case string(TypeHubspotObject): - var hod HubspotObjectDataset - err := json.Unmarshal(body, &hod) - return hod, err - case string(TypeHiveObject): - var hod HiveObjectDataset - err := json.Unmarshal(body, &hod) - return hod, err - case string(TypeHBaseObject): - var hbod HBaseObjectDataset - err := json.Unmarshal(body, &hbod) - return hbod, err - case string(TypeGreenplumTable): - var gtd GreenplumTableDataset - err := json.Unmarshal(body, >d) - return gtd, err - case string(TypeGoogleBigQueryObject): - var gbqod GoogleBigQueryObjectDataset - err := json.Unmarshal(body, &gbqod) - return gbqod, err - case string(TypeEloquaObject): - var eod EloquaObjectDataset - err := json.Unmarshal(body, &eod) - return eod, err - case string(TypeDrillTable): - var dtd DrillTableDataset - err := json.Unmarshal(body, &dtd) - return dtd, err - case string(TypeCouchbaseTable): - var ctd CouchbaseTableDataset - err := json.Unmarshal(body, &ctd) - return ctd, err - case string(TypeConcurObject): - var cod ConcurObjectDataset - err := json.Unmarshal(body, &cod) - return cod, err - case string(TypeAzurePostgreSQLTable): - var apstd AzurePostgreSQLTableDataset - err := json.Unmarshal(body, &apstd) - return apstd, err - case string(TypeAmazonMWSObject): - var amod AmazonMWSObjectDataset - err := json.Unmarshal(body, &amod) - return amod, err - case string(TypeHTTPFile): - var hd HTTPDataset - err := json.Unmarshal(body, &hd) - return hd, err - case string(TypeAzureSearchIndex): - var asid AzureSearchIndexDataset - err := json.Unmarshal(body, &asid) - return asid, err - case string(TypeWebTable): - var wtd WebTableDataset - err := json.Unmarshal(body, &wtd) - return wtd, err - case string(TypeSapTableResource): - var strd SapTableResourceDataset - err := json.Unmarshal(body, &strd) - return strd, err - case string(TypeRestResource): - var rrd RestResourceDataset - err := json.Unmarshal(body, &rrd) - return rrd, err - case string(TypeSQLServerTable): - var sstd SQLServerTableDataset - err := json.Unmarshal(body, &sstd) - return sstd, err - case string(TypeSapOpenHubTable): - var sohtd SapOpenHubTableDataset - err := json.Unmarshal(body, &sohtd) - return sohtd, err - case string(TypeSapHanaTable): - var shtd SapHanaTableDataset - err := json.Unmarshal(body, &shtd) - return shtd, err - case string(TypeSapEccResource): - var serd SapEccResourceDataset - err := json.Unmarshal(body, &serd) - return serd, err - case string(TypeSapCloudForCustomerResource): - var scfcrd SapCloudForCustomerResourceDataset - err := json.Unmarshal(body, &scfcrd) - return scfcrd, err - case string(TypeSapBwCube): - var sbcd SapBwCubeDataset - err := json.Unmarshal(body, &sbcd) - return sbcd, err - case string(TypeSybaseTable): - var std SybaseTableDataset - err := json.Unmarshal(body, &std) - return std, err - case string(TypeSalesforceServiceCloudObject): - var sscod SalesforceServiceCloudObjectDataset - err := json.Unmarshal(body, &sscod) - return sscod, err - case string(TypeSalesforceObject): - var sod SalesforceObjectDataset - err := json.Unmarshal(body, &sod) - return sod, err - case string(TypeMicrosoftAccessTable): - var matd MicrosoftAccessTableDataset - err := json.Unmarshal(body, &matd) - return matd, err - case string(TypePostgreSQLTable): - var pstd PostgreSQLTableDataset - err := json.Unmarshal(body, &pstd) - return pstd, err - case string(TypeMySQLTable): - var mstd MySQLTableDataset - err := json.Unmarshal(body, &mstd) - return mstd, err - case string(TypeOdbcTable): - var otd OdbcTableDataset - err := json.Unmarshal(body, &otd) - return otd, err - case string(TypeInformixTable): - var itd InformixTableDataset - err := json.Unmarshal(body, &itd) - return itd, err - case string(TypeRelationalTable): - var rtd RelationalTableDataset - err := json.Unmarshal(body, &rtd) - return rtd, err - case string(TypeAzureMySQLTable): - var amstd AzureMySQLTableDataset - err := json.Unmarshal(body, &amstd) - return amstd, err - case string(TypeTeradataTable): - var ttd TeradataTableDataset - err := json.Unmarshal(body, &ttd) - return ttd, err - case string(TypeOracleTable): - var otd OracleTableDataset - err := json.Unmarshal(body, &otd) - return otd, err - case string(TypeODataResource): - var odrd ODataResourceDataset - err := json.Unmarshal(body, &odrd) - return odrd, err - case string(TypeCosmosDbMongoDbAPICollection): - var cdmdacd CosmosDbMongoDbAPICollectionDataset - err := json.Unmarshal(body, &cdmdacd) - return cdmdacd, err - case string(TypeMongoDbV2Collection): - var mdvcd MongoDbV2CollectionDataset - err := json.Unmarshal(body, &mdvcd) - return mdvcd, err - case string(TypeMongoDbCollection): - var mdcd MongoDbCollectionDataset - err := json.Unmarshal(body, &mdcd) - return mdcd, err - case string(TypeFileShare): - var fsd FileShareDataset - err := json.Unmarshal(body, &fsd) - return fsd, err - case string(TypeOffice365Table): - var o3d Office365Dataset - err := json.Unmarshal(body, &o3d) - return o3d, err - case string(TypeAzureBlobFSFile): - var abfd AzureBlobFSDataset - err := json.Unmarshal(body, &abfd) - return abfd, err - case string(TypeAzureDataLakeStoreFile): - var adlsd AzureDataLakeStoreDataset - err := json.Unmarshal(body, &adlsd) - return adlsd, err - case string(TypeCommonDataServiceForAppsEntity): - var cdsfaed CommonDataServiceForAppsEntityDataset - err := json.Unmarshal(body, &cdsfaed) - return cdsfaed, err - case string(TypeDynamicsCrmEntity): - var dced DynamicsCrmEntityDataset - err := json.Unmarshal(body, &dced) - return dced, err - case string(TypeDynamicsEntity): - var ded DynamicsEntityDataset - err := json.Unmarshal(body, &ded) - return ded, err - case string(TypeDocumentDbCollection): - var ddcd DocumentDbCollectionDataset - err := json.Unmarshal(body, &ddcd) - return ddcd, err - case string(TypeCustomDataset): - var cd CustomDataset - err := json.Unmarshal(body, &cd) - return cd, err - case string(TypeCassandraTable): - var ctd CassandraTableDataset - err := json.Unmarshal(body, &ctd) - return ctd, err - case string(TypeAzureSQLDWTable): - var asdtd AzureSQLDWTableDataset - err := json.Unmarshal(body, &asdtd) - return asdtd, err - case string(TypeAzureSQLMITable): - var asmtd AzureSQLMITableDataset - err := json.Unmarshal(body, &asmtd) - return asmtd, err - case string(TypeAzureSQLTable): - var astd AzureSQLTableDataset - err := json.Unmarshal(body, &astd) - return astd, err - case string(TypeAzureTable): - var atd AzureTableDataset - err := json.Unmarshal(body, &atd) - return atd, err - case string(TypeAzureBlob): - var abd AzureBlobDataset - err := json.Unmarshal(body, &abd) - return abd, err - case string(TypeBinary): - var bd BinaryDataset - err := json.Unmarshal(body, &bd) - return bd, err - case string(TypeDelimitedText): - var dtd DelimitedTextDataset - err := json.Unmarshal(body, &dtd) - return dtd, err - case string(TypeParquet): - var pd ParquetDataset - err := json.Unmarshal(body, &pd) - return pd, err - case string(TypeAvro): - var ad AvroDataset - err := json.Unmarshal(body, &ad) - return ad, err - case string(TypeAmazonS3Object): - var asd AmazonS3Dataset - err := json.Unmarshal(body, &asd) - return asd, err - default: - var d Dataset - err := json.Unmarshal(body, &d) - return d, err - } +// AsHTTPLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return nil, false } -func unmarshalBasicDatasetArray(body []byte) ([]BasicDataset, error) { - var rawMessages []*json.RawMessage - err := json.Unmarshal(body, &rawMessages) - if err != nil { - return nil, err - } - dArray := make([]BasicDataset, len(rawMessages)) +// AsAzureSearchLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false +} - for index, rawMessage := range rawMessages { - d, err := unmarshalBasicDataset(*rawMessage) - if err != nil { - return nil, err - } - dArray[index] = d - } - return dArray, nil +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return &cdsls, true } -// MarshalJSON is the custom marshaler for Dataset. -func (d Dataset) MarshalJSON() ([]byte, error) { - d.Type = TypeDataset - objectMap := make(map[string]interface{}) - if d.Description != nil { - objectMap["description"] = d.Description - } - if d.Structure != nil { - objectMap["structure"] = d.Structure - } - if d.Schema != nil { - objectMap["schema"] = d.Schema - } - if d.LinkedServiceName != nil { - objectMap["linkedServiceName"] = d.LinkedServiceName - } - if d.Parameters != nil { - objectMap["parameters"] = d.Parameters - } - if d.Annotations != nil { - objectMap["annotations"] = d.Annotations - } - if d.Folder != nil { - objectMap["folder"] = d.Folder - } - if d.Type != "" { - objectMap["type"] = d.Type - } - for k, v := range d.AdditionalProperties { - objectMap[k] = v - } - return json.Marshal(objectMap) +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false } -// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for Dataset. -func (d Dataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { +// AsAmazonS3LinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { return nil, false } -// AsAzureDataExplorerTableDataset is the BasicDataset implementation for Dataset. -func (d Dataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { +// AsRestServiceLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { return nil, false } -// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for Dataset. -func (d Dataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { return nil, false } -// AsDynamicsAXResourceDataset is the BasicDataset implementation for Dataset. -func (d Dataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { +// AsSapEccLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { return nil, false } -// AsResponsysObjectDataset is the BasicDataset implementation for Dataset. -func (d Dataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { return nil, false } -// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for Dataset. -func (d Dataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { return nil, false } -// AsVerticaTableDataset is the BasicDataset implementation for Dataset. -func (d Dataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { +// AsSalesforceLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { return nil, false } -// AsNetezzaTableDataset is the BasicDataset implementation for Dataset. -func (d Dataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { +// AsOffice365LinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { return nil, false } -// AsZohoObjectDataset is the BasicDataset implementation for Dataset. -func (d Dataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { return nil, false } -// AsXeroObjectDataset is the BasicDataset implementation for Dataset. -func (d Dataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { return nil, false } -// AsSquareObjectDataset is the BasicDataset implementation for Dataset. -func (d Dataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { return nil, false } -// AsSparkObjectDataset is the BasicDataset implementation for Dataset. -func (d Dataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { return nil, false } -// AsShopifyObjectDataset is the BasicDataset implementation for Dataset. -func (d Dataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { +// AsMongoDbLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { return nil, false } -// AsServiceNowObjectDataset is the BasicDataset implementation for Dataset. -func (d Dataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { +// AsCassandraLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { return nil, false } -// AsQuickBooksObjectDataset is the BasicDataset implementation for Dataset. -func (d Dataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { +// AsWebLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { return nil, false } -// AsPrestoObjectDataset is the BasicDataset implementation for Dataset. -func (d Dataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { +// AsODataLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { return nil, false } -// AsPhoenixObjectDataset is the BasicDataset implementation for Dataset. -func (d Dataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { +// AsHdfsLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { return nil, false } -// AsPaypalObjectDataset is the BasicDataset implementation for Dataset. -func (d Dataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { return nil, false } -// AsMarketoObjectDataset is the BasicDataset implementation for Dataset. -func (d Dataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { +// AsInformixLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { return nil, false } -// AsAzureMariaDBTableDataset is the BasicDataset implementation for Dataset. -func (d Dataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { +// AsOdbcLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { return nil, false } -// AsMariaDBTableDataset is the BasicDataset implementation for Dataset. -func (d Dataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { return nil, false } -// AsMagentoObjectDataset is the BasicDataset implementation for Dataset. -func (d Dataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { +// AsAzureMLLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { return nil, false } -// AsJiraObjectDataset is the BasicDataset implementation for Dataset. -func (d Dataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { +// AsTeradataLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { return nil, false } -// AsImpalaObjectDataset is the BasicDataset implementation for Dataset. -func (d Dataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { +// AsDb2LinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { return nil, false } -// AsHubspotObjectDataset is the BasicDataset implementation for Dataset. -func (d Dataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { +// AsSybaseLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { return nil, false } -// AsHiveObjectDataset is the BasicDataset implementation for Dataset. -func (d Dataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { return nil, false } -// AsHBaseObjectDataset is the BasicDataset implementation for Dataset. -func (d Dataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { +// AsMySQLLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { return nil, false } -// AsGreenplumTableDataset is the BasicDataset implementation for Dataset. -func (d Dataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { return nil, false } -// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for Dataset. -func (d Dataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { +// AsOracleLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { return nil, false } -// AsEloquaObjectDataset is the BasicDataset implementation for Dataset. -func (d Dataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { return nil, false } -// AsDrillTableDataset is the BasicDataset implementation for Dataset. -func (d Dataset) AsDrillTableDataset() (*DrillTableDataset, bool) { +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { return nil, false } -// AsCouchbaseTableDataset is the BasicDataset implementation for Dataset. -func (d Dataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { +// AsFileServerLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { return nil, false } -// AsConcurObjectDataset is the BasicDataset implementation for Dataset. -func (d Dataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { +// AsHDInsightLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { return nil, false } -// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for Dataset. -func (d Dataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { return nil, false } -// AsAmazonMWSObjectDataset is the BasicDataset implementation for Dataset. -func (d Dataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { return nil, false } -// AsHTTPDataset is the BasicDataset implementation for Dataset. -func (d Dataset) AsHTTPDataset() (*HTTPDataset, bool) { +// AsDynamicsLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { return nil, false } -// AsAzureSearchIndexDataset is the BasicDataset implementation for Dataset. -func (d Dataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { +// AsCosmosDbLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { return nil, false } -// AsWebTableDataset is the BasicDataset implementation for Dataset. -func (d Dataset) AsWebTableDataset() (*WebTableDataset, bool) { +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { return nil, false } -// AsSapTableResourceDataset is the BasicDataset implementation for Dataset. -func (d Dataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { +// AsAzureBatchLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { return nil, false } -// AsRestResourceDataset is the BasicDataset implementation for Dataset. -func (d Dataset) AsRestResourceDataset() (*RestResourceDataset, bool) { +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { return nil, false } -// AsSQLServerTableDataset is the BasicDataset implementation for Dataset. -func (d Dataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { return nil, false } -// AsSapOpenHubTableDataset is the BasicDataset implementation for Dataset. -func (d Dataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { +// AsSQLServerLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { return nil, false } -// AsSapHanaTableDataset is the BasicDataset implementation for Dataset. -func (d Dataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { return nil, false } -// AsSapEccResourceDataset is the BasicDataset implementation for Dataset. -func (d Dataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { return nil, false } -// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for Dataset. -func (d Dataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { return nil, false } -// AsSapBwCubeDataset is the BasicDataset implementation for Dataset. -func (d Dataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { +// AsAzureStorageLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { return nil, false } -// AsSybaseTableDataset is the BasicDataset implementation for Dataset. -func (d Dataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { +// AsLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsLinkedService() (*LinkedService, bool) { return nil, false } -// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for Dataset. -func (d Dataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { +// AsBasicLinkedService is the BasicLinkedService implementation for CustomDataSourceLinkedService. +func (cdsls CustomDataSourceLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &cdsls, true +} + +// UnmarshalJSON is the custom unmarshaler for CustomDataSourceLinkedService struct. +func (cdsls *CustomDataSourceLinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var typeProperties interface{} + err = json.Unmarshal(*v, &typeProperties) + if err != nil { + return err + } + cdsls.TypeProperties = typeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if cdsls.AdditionalProperties == nil { + cdsls.AdditionalProperties = make(map[string]interface{}) + } + cdsls.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + cdsls.ConnectVia = &connectVia + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + cdsls.Description = &description + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + cdsls.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + cdsls.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + cdsls.Type = typeVar + } + } + } + + return nil +} + +// BasicCustomSetupBase the base definition of the custom setup. +type BasicCustomSetupBase interface { + AsComponentSetup() (*ComponentSetup, bool) + AsEnvironmentVariableSetup() (*EnvironmentVariableSetup, bool) + AsCmdkeySetup() (*CmdkeySetup, bool) + AsCustomSetupBase() (*CustomSetupBase, bool) +} + +// CustomSetupBase the base definition of the custom setup. +type CustomSetupBase struct { + // Type - Possible values include: 'TypeCustomSetupBase', 'TypeComponentSetup', 'TypeEnvironmentVariableSetup', 'TypeCmdkeySetup' + Type TypeBasicCustomSetupBase `json:"type,omitempty"` +} + +func unmarshalBasicCustomSetupBase(body []byte) (BasicCustomSetupBase, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["type"] { + case string(TypeComponentSetup): + var cs ComponentSetup + err := json.Unmarshal(body, &cs) + return cs, err + case string(TypeEnvironmentVariableSetup): + var evs EnvironmentVariableSetup + err := json.Unmarshal(body, &evs) + return evs, err + case string(TypeCmdkeySetup): + var cs CmdkeySetup + err := json.Unmarshal(body, &cs) + return cs, err + default: + var csb CustomSetupBase + err := json.Unmarshal(body, &csb) + return csb, err + } +} +func unmarshalBasicCustomSetupBaseArray(body []byte) ([]BasicCustomSetupBase, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + csbArray := make([]BasicCustomSetupBase, len(rawMessages)) + + for index, rawMessage := range rawMessages { + csb, err := unmarshalBasicCustomSetupBase(*rawMessage) + if err != nil { + return nil, err + } + csbArray[index] = csb + } + return csbArray, nil +} + +// MarshalJSON is the custom marshaler for CustomSetupBase. +func (csb CustomSetupBase) MarshalJSON() ([]byte, error) { + csb.Type = TypeCustomSetupBase + objectMap := make(map[string]interface{}) + if csb.Type != "" { + objectMap["type"] = csb.Type + } + return json.Marshal(objectMap) +} + +// AsComponentSetup is the BasicCustomSetupBase implementation for CustomSetupBase. +func (csb CustomSetupBase) AsComponentSetup() (*ComponentSetup, bool) { return nil, false } -// AsSalesforceObjectDataset is the BasicDataset implementation for Dataset. -func (d Dataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { +// AsEnvironmentVariableSetup is the BasicCustomSetupBase implementation for CustomSetupBase. +func (csb CustomSetupBase) AsEnvironmentVariableSetup() (*EnvironmentVariableSetup, bool) { return nil, false } -// AsMicrosoftAccessTableDataset is the BasicDataset implementation for Dataset. -func (d Dataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { +// AsCmdkeySetup is the BasicCustomSetupBase implementation for CustomSetupBase. +func (csb CustomSetupBase) AsCmdkeySetup() (*CmdkeySetup, bool) { return nil, false } -// AsPostgreSQLTableDataset is the BasicDataset implementation for Dataset. -func (d Dataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { +// AsCustomSetupBase is the BasicCustomSetupBase implementation for CustomSetupBase. +func (csb CustomSetupBase) AsCustomSetupBase() (*CustomSetupBase, bool) { + return &csb, true +} + +// AsBasicCustomSetupBase is the BasicCustomSetupBase implementation for CustomSetupBase. +func (csb CustomSetupBase) AsBasicCustomSetupBase() (BasicCustomSetupBase, bool) { + return &csb, true +} + +// DatabricksNotebookActivity databricksNotebook activity. +type DatabricksNotebookActivity struct { + // DatabricksNotebookActivityTypeProperties - Databricks Notebook activity properties. + *DatabricksNotebookActivityTypeProperties `json:"typeProperties,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Policy - Activity policy. + Policy *ActivityPolicy `json:"policy,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Name - Activity name. + Name *string `json:"name,omitempty"` + // Description - Activity description. + Description *string `json:"description,omitempty"` + // DependsOn - Activity depends on condition. + DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"` + // UserProperties - Activity user properties. + UserProperties *[]UserProperty `json:"userProperties,omitempty"` + // Type - Possible values include: 'TypeActivity', 'TypeExecuteDataFlow', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLExecutePipeline', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeSwitch', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer' + Type TypeBasicActivity `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for DatabricksNotebookActivity. +func (dna DatabricksNotebookActivity) MarshalJSON() ([]byte, error) { + dna.Type = TypeDatabricksNotebook + objectMap := make(map[string]interface{}) + if dna.DatabricksNotebookActivityTypeProperties != nil { + objectMap["typeProperties"] = dna.DatabricksNotebookActivityTypeProperties + } + if dna.LinkedServiceName != nil { + objectMap["linkedServiceName"] = dna.LinkedServiceName + } + if dna.Policy != nil { + objectMap["policy"] = dna.Policy + } + if dna.Name != nil { + objectMap["name"] = dna.Name + } + if dna.Description != nil { + objectMap["description"] = dna.Description + } + if dna.DependsOn != nil { + objectMap["dependsOn"] = dna.DependsOn + } + if dna.UserProperties != nil { + objectMap["userProperties"] = dna.UserProperties + } + if dna.Type != "" { + objectMap["type"] = dna.Type + } + for k, v := range dna.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsExecuteDataFlowActivity is the BasicActivity implementation for DatabricksNotebookActivity. +func (dna DatabricksNotebookActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) { return nil, false } -// AsMySQLTableDataset is the BasicDataset implementation for Dataset. -func (d Dataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { +// AsAzureFunctionActivity is the BasicActivity implementation for DatabricksNotebookActivity. +func (dna DatabricksNotebookActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) { return nil, false } -// AsOdbcTableDataset is the BasicDataset implementation for Dataset. -func (d Dataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { +// AsDatabricksSparkPythonActivity is the BasicActivity implementation for DatabricksNotebookActivity. +func (dna DatabricksNotebookActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) { return nil, false } -// AsInformixTableDataset is the BasicDataset implementation for Dataset. -func (d Dataset) AsInformixTableDataset() (*InformixTableDataset, bool) { +// AsDatabricksSparkJarActivity is the BasicActivity implementation for DatabricksNotebookActivity. +func (dna DatabricksNotebookActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) { return nil, false } -// AsRelationalTableDataset is the BasicDataset implementation for Dataset. -func (d Dataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { +// AsDatabricksNotebookActivity is the BasicActivity implementation for DatabricksNotebookActivity. +func (dna DatabricksNotebookActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) { + return &dna, true +} + +// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for DatabricksNotebookActivity. +func (dna DatabricksNotebookActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) { return nil, false } -// AsAzureMySQLTableDataset is the BasicDataset implementation for Dataset. -func (d Dataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { +// AsAzureMLExecutePipelineActivity is the BasicActivity implementation for DatabricksNotebookActivity. +func (dna DatabricksNotebookActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) { return nil, false } -// AsTeradataTableDataset is the BasicDataset implementation for Dataset. -func (d Dataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { +// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for DatabricksNotebookActivity. +func (dna DatabricksNotebookActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) { return nil, false } -// AsOracleTableDataset is the BasicDataset implementation for Dataset. -func (d Dataset) AsOracleTableDataset() (*OracleTableDataset, bool) { +// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for DatabricksNotebookActivity. +func (dna DatabricksNotebookActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) { return nil, false } -// AsODataResourceDataset is the BasicDataset implementation for Dataset. -func (d Dataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { +// AsGetMetadataActivity is the BasicActivity implementation for DatabricksNotebookActivity. +func (dna DatabricksNotebookActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) { return nil, false } -// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for Dataset. -func (d Dataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { +// AsWebActivity is the BasicActivity implementation for DatabricksNotebookActivity. +func (dna DatabricksNotebookActivity) AsWebActivity() (*WebActivity, bool) { return nil, false } -// AsMongoDbV2CollectionDataset is the BasicDataset implementation for Dataset. -func (d Dataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { +// AsLookupActivity is the BasicActivity implementation for DatabricksNotebookActivity. +func (dna DatabricksNotebookActivity) AsLookupActivity() (*LookupActivity, bool) { return nil, false } -// AsMongoDbCollectionDataset is the BasicDataset implementation for Dataset. -func (d Dataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { +// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for DatabricksNotebookActivity. +func (dna DatabricksNotebookActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) { return nil, false } -// AsFileShareDataset is the BasicDataset implementation for Dataset. -func (d Dataset) AsFileShareDataset() (*FileShareDataset, bool) { +// AsDeleteActivity is the BasicActivity implementation for DatabricksNotebookActivity. +func (dna DatabricksNotebookActivity) AsDeleteActivity() (*DeleteActivity, bool) { return nil, false } -// AsOffice365Dataset is the BasicDataset implementation for Dataset. -func (d Dataset) AsOffice365Dataset() (*Office365Dataset, bool) { +// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for DatabricksNotebookActivity. +func (dna DatabricksNotebookActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) { return nil, false } -// AsAzureBlobFSDataset is the BasicDataset implementation for Dataset. -func (d Dataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) { +// AsCustomActivity is the BasicActivity implementation for DatabricksNotebookActivity. +func (dna DatabricksNotebookActivity) AsCustomActivity() (*CustomActivity, bool) { return nil, false } -// AsAzureDataLakeStoreDataset is the BasicDataset implementation for Dataset. -func (d Dataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) { +// AsExecuteSSISPackageActivity is the BasicActivity implementation for DatabricksNotebookActivity. +func (dna DatabricksNotebookActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) { return nil, false } -// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for Dataset. -func (d Dataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { +// AsHDInsightSparkActivity is the BasicActivity implementation for DatabricksNotebookActivity. +func (dna DatabricksNotebookActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) { return nil, false } -// AsDynamicsCrmEntityDataset is the BasicDataset implementation for Dataset. -func (d Dataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { +// AsHDInsightStreamingActivity is the BasicActivity implementation for DatabricksNotebookActivity. +func (dna DatabricksNotebookActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) { return nil, false } -// AsDynamicsEntityDataset is the BasicDataset implementation for Dataset. -func (d Dataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { +// AsHDInsightMapReduceActivity is the BasicActivity implementation for DatabricksNotebookActivity. +func (dna DatabricksNotebookActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) { return nil, false } -// AsDocumentDbCollectionDataset is the BasicDataset implementation for Dataset. -func (d Dataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { +// AsHDInsightPigActivity is the BasicActivity implementation for DatabricksNotebookActivity. +func (dna DatabricksNotebookActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) { return nil, false } -// AsCustomDataset is the BasicDataset implementation for Dataset. -func (d Dataset) AsCustomDataset() (*CustomDataset, bool) { +// AsHDInsightHiveActivity is the BasicActivity implementation for DatabricksNotebookActivity. +func (dna DatabricksNotebookActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) { return nil, false } -// AsCassandraTableDataset is the BasicDataset implementation for Dataset. -func (d Dataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { +// AsCopyActivity is the BasicActivity implementation for DatabricksNotebookActivity. +func (dna DatabricksNotebookActivity) AsCopyActivity() (*CopyActivity, bool) { return nil, false } -// AsAzureSQLDWTableDataset is the BasicDataset implementation for Dataset. -func (d Dataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { +// AsExecutionActivity is the BasicActivity implementation for DatabricksNotebookActivity. +func (dna DatabricksNotebookActivity) AsExecutionActivity() (*ExecutionActivity, bool) { return nil, false } -// AsAzureSQLMITableDataset is the BasicDataset implementation for Dataset. -func (d Dataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { +// AsBasicExecutionActivity is the BasicActivity implementation for DatabricksNotebookActivity. +func (dna DatabricksNotebookActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) { + return &dna, true +} + +// AsWebHookActivity is the BasicActivity implementation for DatabricksNotebookActivity. +func (dna DatabricksNotebookActivity) AsWebHookActivity() (*WebHookActivity, bool) { return nil, false } -// AsAzureSQLTableDataset is the BasicDataset implementation for Dataset. -func (d Dataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { +// AsAppendVariableActivity is the BasicActivity implementation for DatabricksNotebookActivity. +func (dna DatabricksNotebookActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) { return nil, false } -// AsAzureTableDataset is the BasicDataset implementation for Dataset. -func (d Dataset) AsAzureTableDataset() (*AzureTableDataset, bool) { +// AsSetVariableActivity is the BasicActivity implementation for DatabricksNotebookActivity. +func (dna DatabricksNotebookActivity) AsSetVariableActivity() (*SetVariableActivity, bool) { return nil, false } -// AsAzureBlobDataset is the BasicDataset implementation for Dataset. -func (d Dataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) { +// AsFilterActivity is the BasicActivity implementation for DatabricksNotebookActivity. +func (dna DatabricksNotebookActivity) AsFilterActivity() (*FilterActivity, bool) { return nil, false } -// AsBinaryDataset is the BasicDataset implementation for Dataset. -func (d Dataset) AsBinaryDataset() (*BinaryDataset, bool) { +// AsValidationActivity is the BasicActivity implementation for DatabricksNotebookActivity. +func (dna DatabricksNotebookActivity) AsValidationActivity() (*ValidationActivity, bool) { return nil, false } -// AsDelimitedTextDataset is the BasicDataset implementation for Dataset. -func (d Dataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { +// AsUntilActivity is the BasicActivity implementation for DatabricksNotebookActivity. +func (dna DatabricksNotebookActivity) AsUntilActivity() (*UntilActivity, bool) { return nil, false } -// AsParquetDataset is the BasicDataset implementation for Dataset. -func (d Dataset) AsParquetDataset() (*ParquetDataset, bool) { +// AsWaitActivity is the BasicActivity implementation for DatabricksNotebookActivity. +func (dna DatabricksNotebookActivity) AsWaitActivity() (*WaitActivity, bool) { return nil, false } -// AsAvroDataset is the BasicDataset implementation for Dataset. -func (d Dataset) AsAvroDataset() (*AvroDataset, bool) { +// AsForEachActivity is the BasicActivity implementation for DatabricksNotebookActivity. +func (dna DatabricksNotebookActivity) AsForEachActivity() (*ForEachActivity, bool) { return nil, false } -// AsAmazonS3Dataset is the BasicDataset implementation for Dataset. -func (d Dataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) { +// AsSwitchActivity is the BasicActivity implementation for DatabricksNotebookActivity. +func (dna DatabricksNotebookActivity) AsSwitchActivity() (*SwitchActivity, bool) { return nil, false } -// AsDataset is the BasicDataset implementation for Dataset. -func (d Dataset) AsDataset() (*Dataset, bool) { - return &d, true +// AsIfConditionActivity is the BasicActivity implementation for DatabricksNotebookActivity. +func (dna DatabricksNotebookActivity) AsIfConditionActivity() (*IfConditionActivity, bool) { + return nil, false } -// AsBasicDataset is the BasicDataset implementation for Dataset. -func (d Dataset) AsBasicDataset() (BasicDataset, bool) { - return &d, true +// AsExecutePipelineActivity is the BasicActivity implementation for DatabricksNotebookActivity. +func (dna DatabricksNotebookActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) { + return nil, false } -// UnmarshalJSON is the custom unmarshaler for Dataset struct. -func (d *Dataset) UnmarshalJSON(body []byte) error { +// AsControlActivity is the BasicActivity implementation for DatabricksNotebookActivity. +func (dna DatabricksNotebookActivity) AsControlActivity() (*ControlActivity, bool) { + return nil, false +} + +// AsBasicControlActivity is the BasicActivity implementation for DatabricksNotebookActivity. +func (dna DatabricksNotebookActivity) AsBasicControlActivity() (BasicControlActivity, bool) { + return nil, false +} + +// AsActivity is the BasicActivity implementation for DatabricksNotebookActivity. +func (dna DatabricksNotebookActivity) AsActivity() (*Activity, bool) { + return nil, false +} + +// AsBasicActivity is the BasicActivity implementation for DatabricksNotebookActivity. +func (dna DatabricksNotebookActivity) AsBasicActivity() (BasicActivity, bool) { + return &dna, true +} + +// UnmarshalJSON is the custom unmarshaler for DatabricksNotebookActivity struct. +func (dna *DatabricksNotebookActivity) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -58375,89 +63766,89 @@ func (d *Dataset) UnmarshalJSON(body []byte) error { } for k, v := range m { switch k { - default: + case "typeProperties": if v != nil { - var additionalProperties interface{} - err = json.Unmarshal(*v, &additionalProperties) + var databricksNotebookActivityTypeProperties DatabricksNotebookActivityTypeProperties + err = json.Unmarshal(*v, &databricksNotebookActivityTypeProperties) if err != nil { return err } - if d.AdditionalProperties == nil { - d.AdditionalProperties = make(map[string]interface{}) - } - d.AdditionalProperties[k] = additionalProperties + dna.DatabricksNotebookActivityTypeProperties = &databricksNotebookActivityTypeProperties } - case "description": + case "linkedServiceName": if v != nil { - var description string - err = json.Unmarshal(*v, &description) + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) if err != nil { return err } - d.Description = &description + dna.LinkedServiceName = &linkedServiceName } - case "structure": + case "policy": if v != nil { - var structure interface{} - err = json.Unmarshal(*v, &structure) + var policy ActivityPolicy + err = json.Unmarshal(*v, &policy) if err != nil { return err } - d.Structure = structure + dna.Policy = &policy } - case "schema": + default: if v != nil { - var schema interface{} - err = json.Unmarshal(*v, &schema) + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) if err != nil { return err } - d.Schema = schema - } - case "linkedServiceName": + if dna.AdditionalProperties == nil { + dna.AdditionalProperties = make(map[string]interface{}) + } + dna.AdditionalProperties[k] = additionalProperties + } + case "name": if v != nil { - var linkedServiceName LinkedServiceReference - err = json.Unmarshal(*v, &linkedServiceName) + var name string + err = json.Unmarshal(*v, &name) if err != nil { return err } - d.LinkedServiceName = &linkedServiceName + dna.Name = &name } - case "parameters": + case "description": if v != nil { - var parameters map[string]*ParameterSpecification - err = json.Unmarshal(*v, ¶meters) + var description string + err = json.Unmarshal(*v, &description) if err != nil { return err } - d.Parameters = parameters + dna.Description = &description } - case "annotations": + case "dependsOn": if v != nil { - var annotations []interface{} - err = json.Unmarshal(*v, &annotations) + var dependsOn []ActivityDependency + err = json.Unmarshal(*v, &dependsOn) if err != nil { return err } - d.Annotations = &annotations + dna.DependsOn = &dependsOn } - case "folder": + case "userProperties": if v != nil { - var folder DatasetFolder - err = json.Unmarshal(*v, &folder) + var userProperties []UserProperty + err = json.Unmarshal(*v, &userProperties) if err != nil { return err } - d.Folder = &folder + dna.UserProperties = &userProperties } case "type": if v != nil { - var typeVar TypeBasicDataset + var typeVar TypeBasicActivity err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - d.Type = typeVar + dna.Type = typeVar } } } @@ -58465,296 +63856,289 @@ func (d *Dataset) UnmarshalJSON(body []byte) error { return nil } -// DatasetBZip2Compression the BZip2 compression method used on a dataset. -type DatasetBZip2Compression struct { +// DatabricksNotebookActivityTypeProperties databricks Notebook activity properties. +type DatabricksNotebookActivityTypeProperties struct { + // NotebookPath - The absolute path of the notebook to be run in the Databricks Workspace. This path must begin with a slash. Type: string (or Expression with resultType string). + NotebookPath interface{} `json:"notebookPath,omitempty"` + // BaseParameters - Base parameters to be used for each run of this job.If the notebook takes a parameter that is not specified, the default value from the notebook will be used. + BaseParameters map[string]interface{} `json:"baseParameters"` + // Libraries - A list of libraries to be installed on the cluster that will execute the job. + Libraries *[]map[string]interface{} `json:"libraries,omitempty"` +} + +// MarshalJSON is the custom marshaler for DatabricksNotebookActivityTypeProperties. +func (dnatp DatabricksNotebookActivityTypeProperties) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if dnatp.NotebookPath != nil { + objectMap["notebookPath"] = dnatp.NotebookPath + } + if dnatp.BaseParameters != nil { + objectMap["baseParameters"] = dnatp.BaseParameters + } + if dnatp.Libraries != nil { + objectMap["libraries"] = dnatp.Libraries + } + return json.Marshal(objectMap) +} + +// DatabricksSparkJarActivity databricksSparkJar activity. +type DatabricksSparkJarActivity struct { + // DatabricksSparkJarActivityTypeProperties - Databricks SparkJar activity properties. + *DatabricksSparkJarActivityTypeProperties `json:"typeProperties,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Policy - Activity policy. + Policy *ActivityPolicy `json:"policy,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` - // Type - Possible values include: 'TypeDatasetCompression', 'TypeZipDeflate', 'TypeDeflate', 'TypeGZip', 'TypeBZip2' - Type TypeBasicDatasetCompression `json:"type,omitempty"` + // Name - Activity name. + Name *string `json:"name,omitempty"` + // Description - Activity description. + Description *string `json:"description,omitempty"` + // DependsOn - Activity depends on condition. + DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"` + // UserProperties - Activity user properties. + UserProperties *[]UserProperty `json:"userProperties,omitempty"` + // Type - Possible values include: 'TypeActivity', 'TypeExecuteDataFlow', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLExecutePipeline', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeSwitch', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer' + Type TypeBasicActivity `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for DatasetBZip2Compression. -func (dbz2c DatasetBZip2Compression) MarshalJSON() ([]byte, error) { - dbz2c.Type = TypeBZip2 +// MarshalJSON is the custom marshaler for DatabricksSparkJarActivity. +func (dsja DatabricksSparkJarActivity) MarshalJSON() ([]byte, error) { + dsja.Type = TypeDatabricksSparkJar objectMap := make(map[string]interface{}) - if dbz2c.Type != "" { - objectMap["type"] = dbz2c.Type + if dsja.DatabricksSparkJarActivityTypeProperties != nil { + objectMap["typeProperties"] = dsja.DatabricksSparkJarActivityTypeProperties } - for k, v := range dbz2c.AdditionalProperties { + if dsja.LinkedServiceName != nil { + objectMap["linkedServiceName"] = dsja.LinkedServiceName + } + if dsja.Policy != nil { + objectMap["policy"] = dsja.Policy + } + if dsja.Name != nil { + objectMap["name"] = dsja.Name + } + if dsja.Description != nil { + objectMap["description"] = dsja.Description + } + if dsja.DependsOn != nil { + objectMap["dependsOn"] = dsja.DependsOn + } + if dsja.UserProperties != nil { + objectMap["userProperties"] = dsja.UserProperties + } + if dsja.Type != "" { + objectMap["type"] = dsja.Type + } + for k, v := range dsja.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsDatasetZipDeflateCompression is the BasicDatasetCompression implementation for DatasetBZip2Compression. -func (dbz2c DatasetBZip2Compression) AsDatasetZipDeflateCompression() (*DatasetZipDeflateCompression, bool) { +// AsExecuteDataFlowActivity is the BasicActivity implementation for DatabricksSparkJarActivity. +func (dsja DatabricksSparkJarActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) { return nil, false } -// AsDatasetDeflateCompression is the BasicDatasetCompression implementation for DatasetBZip2Compression. -func (dbz2c DatasetBZip2Compression) AsDatasetDeflateCompression() (*DatasetDeflateCompression, bool) { +// AsAzureFunctionActivity is the BasicActivity implementation for DatabricksSparkJarActivity. +func (dsja DatabricksSparkJarActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) { return nil, false } -// AsDatasetGZipCompression is the BasicDatasetCompression implementation for DatasetBZip2Compression. -func (dbz2c DatasetBZip2Compression) AsDatasetGZipCompression() (*DatasetGZipCompression, bool) { +// AsDatabricksSparkPythonActivity is the BasicActivity implementation for DatabricksSparkJarActivity. +func (dsja DatabricksSparkJarActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) { return nil, false } -// AsDatasetBZip2Compression is the BasicDatasetCompression implementation for DatasetBZip2Compression. -func (dbz2c DatasetBZip2Compression) AsDatasetBZip2Compression() (*DatasetBZip2Compression, bool) { - return &dbz2c, true +// AsDatabricksSparkJarActivity is the BasicActivity implementation for DatabricksSparkJarActivity. +func (dsja DatabricksSparkJarActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) { + return &dsja, true } -// AsDatasetCompression is the BasicDatasetCompression implementation for DatasetBZip2Compression. -func (dbz2c DatasetBZip2Compression) AsDatasetCompression() (*DatasetCompression, bool) { +// AsDatabricksNotebookActivity is the BasicActivity implementation for DatabricksSparkJarActivity. +func (dsja DatabricksSparkJarActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) { return nil, false } -// AsBasicDatasetCompression is the BasicDatasetCompression implementation for DatasetBZip2Compression. -func (dbz2c DatasetBZip2Compression) AsBasicDatasetCompression() (BasicDatasetCompression, bool) { - return &dbz2c, true +// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for DatabricksSparkJarActivity. +func (dsja DatabricksSparkJarActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) { + return nil, false } -// UnmarshalJSON is the custom unmarshaler for DatasetBZip2Compression struct. -func (dbz2c *DatasetBZip2Compression) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - default: - if v != nil { - var additionalProperties interface{} - err = json.Unmarshal(*v, &additionalProperties) - if err != nil { - return err - } - if dbz2c.AdditionalProperties == nil { - dbz2c.AdditionalProperties = make(map[string]interface{}) - } - dbz2c.AdditionalProperties[k] = additionalProperties - } - case "type": - if v != nil { - var typeVar TypeBasicDatasetCompression - err = json.Unmarshal(*v, &typeVar) - if err != nil { - return err - } - dbz2c.Type = typeVar - } - } - } +// AsAzureMLExecutePipelineActivity is the BasicActivity implementation for DatabricksSparkJarActivity. +func (dsja DatabricksSparkJarActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) { + return nil, false +} - return nil +// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for DatabricksSparkJarActivity. +func (dsja DatabricksSparkJarActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) { + return nil, false } -// BasicDatasetCompression the compression method used on a dataset. -type BasicDatasetCompression interface { - AsDatasetZipDeflateCompression() (*DatasetZipDeflateCompression, bool) - AsDatasetDeflateCompression() (*DatasetDeflateCompression, bool) - AsDatasetGZipCompression() (*DatasetGZipCompression, bool) - AsDatasetBZip2Compression() (*DatasetBZip2Compression, bool) - AsDatasetCompression() (*DatasetCompression, bool) +// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for DatabricksSparkJarActivity. +func (dsja DatabricksSparkJarActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) { + return nil, false } -// DatasetCompression the compression method used on a dataset. -type DatasetCompression struct { - // AdditionalProperties - Unmatched properties from the message are deserialized this collection - AdditionalProperties map[string]interface{} `json:""` - // Type - Possible values include: 'TypeDatasetCompression', 'TypeZipDeflate', 'TypeDeflate', 'TypeGZip', 'TypeBZip2' - Type TypeBasicDatasetCompression `json:"type,omitempty"` +// AsGetMetadataActivity is the BasicActivity implementation for DatabricksSparkJarActivity. +func (dsja DatabricksSparkJarActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) { + return nil, false } -func unmarshalBasicDatasetCompression(body []byte) (BasicDatasetCompression, error) { - var m map[string]interface{} - err := json.Unmarshal(body, &m) - if err != nil { - return nil, err - } +// AsWebActivity is the BasicActivity implementation for DatabricksSparkJarActivity. +func (dsja DatabricksSparkJarActivity) AsWebActivity() (*WebActivity, bool) { + return nil, false +} - switch m["type"] { - case string(TypeZipDeflate): - var dzdc DatasetZipDeflateCompression - err := json.Unmarshal(body, &dzdc) - return dzdc, err - case string(TypeDeflate): - var ddc DatasetDeflateCompression - err := json.Unmarshal(body, &ddc) - return ddc, err - case string(TypeGZip): - var dgzc DatasetGZipCompression - err := json.Unmarshal(body, &dgzc) - return dgzc, err - case string(TypeBZip2): - var dbz2c DatasetBZip2Compression - err := json.Unmarshal(body, &dbz2c) - return dbz2c, err - default: - var dc DatasetCompression - err := json.Unmarshal(body, &dc) - return dc, err - } +// AsLookupActivity is the BasicActivity implementation for DatabricksSparkJarActivity. +func (dsja DatabricksSparkJarActivity) AsLookupActivity() (*LookupActivity, bool) { + return nil, false } -func unmarshalBasicDatasetCompressionArray(body []byte) ([]BasicDatasetCompression, error) { - var rawMessages []*json.RawMessage - err := json.Unmarshal(body, &rawMessages) - if err != nil { - return nil, err - } - dcArray := make([]BasicDatasetCompression, len(rawMessages)) +// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for DatabricksSparkJarActivity. +func (dsja DatabricksSparkJarActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) { + return nil, false +} - for index, rawMessage := range rawMessages { - dc, err := unmarshalBasicDatasetCompression(*rawMessage) - if err != nil { - return nil, err - } - dcArray[index] = dc - } - return dcArray, nil +// AsDeleteActivity is the BasicActivity implementation for DatabricksSparkJarActivity. +func (dsja DatabricksSparkJarActivity) AsDeleteActivity() (*DeleteActivity, bool) { + return nil, false } -// MarshalJSON is the custom marshaler for DatasetCompression. -func (dc DatasetCompression) MarshalJSON() ([]byte, error) { - dc.Type = TypeDatasetCompression - objectMap := make(map[string]interface{}) - if dc.Type != "" { - objectMap["type"] = dc.Type - } - for k, v := range dc.AdditionalProperties { - objectMap[k] = v - } - return json.Marshal(objectMap) +// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for DatabricksSparkJarActivity. +func (dsja DatabricksSparkJarActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) { + return nil, false } -// AsDatasetZipDeflateCompression is the BasicDatasetCompression implementation for DatasetCompression. -func (dc DatasetCompression) AsDatasetZipDeflateCompression() (*DatasetZipDeflateCompression, bool) { +// AsCustomActivity is the BasicActivity implementation for DatabricksSparkJarActivity. +func (dsja DatabricksSparkJarActivity) AsCustomActivity() (*CustomActivity, bool) { return nil, false } -// AsDatasetDeflateCompression is the BasicDatasetCompression implementation for DatasetCompression. -func (dc DatasetCompression) AsDatasetDeflateCompression() (*DatasetDeflateCompression, bool) { +// AsExecuteSSISPackageActivity is the BasicActivity implementation for DatabricksSparkJarActivity. +func (dsja DatabricksSparkJarActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) { return nil, false } -// AsDatasetGZipCompression is the BasicDatasetCompression implementation for DatasetCompression. -func (dc DatasetCompression) AsDatasetGZipCompression() (*DatasetGZipCompression, bool) { +// AsHDInsightSparkActivity is the BasicActivity implementation for DatabricksSparkJarActivity. +func (dsja DatabricksSparkJarActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) { return nil, false } -// AsDatasetBZip2Compression is the BasicDatasetCompression implementation for DatasetCompression. -func (dc DatasetCompression) AsDatasetBZip2Compression() (*DatasetBZip2Compression, bool) { +// AsHDInsightStreamingActivity is the BasicActivity implementation for DatabricksSparkJarActivity. +func (dsja DatabricksSparkJarActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) { return nil, false } -// AsDatasetCompression is the BasicDatasetCompression implementation for DatasetCompression. -func (dc DatasetCompression) AsDatasetCompression() (*DatasetCompression, bool) { - return &dc, true +// AsHDInsightMapReduceActivity is the BasicActivity implementation for DatabricksSparkJarActivity. +func (dsja DatabricksSparkJarActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) { + return nil, false } -// AsBasicDatasetCompression is the BasicDatasetCompression implementation for DatasetCompression. -func (dc DatasetCompression) AsBasicDatasetCompression() (BasicDatasetCompression, bool) { - return &dc, true +// AsHDInsightPigActivity is the BasicActivity implementation for DatabricksSparkJarActivity. +func (dsja DatabricksSparkJarActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) { + return nil, false } -// UnmarshalJSON is the custom unmarshaler for DatasetCompression struct. -func (dc *DatasetCompression) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - default: - if v != nil { - var additionalProperties interface{} - err = json.Unmarshal(*v, &additionalProperties) - if err != nil { - return err - } - if dc.AdditionalProperties == nil { - dc.AdditionalProperties = make(map[string]interface{}) - } - dc.AdditionalProperties[k] = additionalProperties - } - case "type": - if v != nil { - var typeVar TypeBasicDatasetCompression - err = json.Unmarshal(*v, &typeVar) - if err != nil { - return err - } - dc.Type = typeVar - } - } - } +// AsHDInsightHiveActivity is the BasicActivity implementation for DatabricksSparkJarActivity. +func (dsja DatabricksSparkJarActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) { + return nil, false +} - return nil +// AsCopyActivity is the BasicActivity implementation for DatabricksSparkJarActivity. +func (dsja DatabricksSparkJarActivity) AsCopyActivity() (*CopyActivity, bool) { + return nil, false } -// DatasetDeflateCompression the Deflate compression method used on a dataset. -type DatasetDeflateCompression struct { - // Level - The Deflate compression level. - Level interface{} `json:"level,omitempty"` - // AdditionalProperties - Unmatched properties from the message are deserialized this collection - AdditionalProperties map[string]interface{} `json:""` - // Type - Possible values include: 'TypeDatasetCompression', 'TypeZipDeflate', 'TypeDeflate', 'TypeGZip', 'TypeBZip2' - Type TypeBasicDatasetCompression `json:"type,omitempty"` +// AsExecutionActivity is the BasicActivity implementation for DatabricksSparkJarActivity. +func (dsja DatabricksSparkJarActivity) AsExecutionActivity() (*ExecutionActivity, bool) { + return nil, false } -// MarshalJSON is the custom marshaler for DatasetDeflateCompression. -func (ddc DatasetDeflateCompression) MarshalJSON() ([]byte, error) { - ddc.Type = TypeDeflate - objectMap := make(map[string]interface{}) - if ddc.Level != nil { - objectMap["level"] = ddc.Level - } - if ddc.Type != "" { - objectMap["type"] = ddc.Type - } - for k, v := range ddc.AdditionalProperties { - objectMap[k] = v - } - return json.Marshal(objectMap) +// AsBasicExecutionActivity is the BasicActivity implementation for DatabricksSparkJarActivity. +func (dsja DatabricksSparkJarActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) { + return &dsja, true } -// AsDatasetZipDeflateCompression is the BasicDatasetCompression implementation for DatasetDeflateCompression. -func (ddc DatasetDeflateCompression) AsDatasetZipDeflateCompression() (*DatasetZipDeflateCompression, bool) { +// AsWebHookActivity is the BasicActivity implementation for DatabricksSparkJarActivity. +func (dsja DatabricksSparkJarActivity) AsWebHookActivity() (*WebHookActivity, bool) { return nil, false } -// AsDatasetDeflateCompression is the BasicDatasetCompression implementation for DatasetDeflateCompression. -func (ddc DatasetDeflateCompression) AsDatasetDeflateCompression() (*DatasetDeflateCompression, bool) { - return &ddc, true +// AsAppendVariableActivity is the BasicActivity implementation for DatabricksSparkJarActivity. +func (dsja DatabricksSparkJarActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) { + return nil, false } -// AsDatasetGZipCompression is the BasicDatasetCompression implementation for DatasetDeflateCompression. -func (ddc DatasetDeflateCompression) AsDatasetGZipCompression() (*DatasetGZipCompression, bool) { +// AsSetVariableActivity is the BasicActivity implementation for DatabricksSparkJarActivity. +func (dsja DatabricksSparkJarActivity) AsSetVariableActivity() (*SetVariableActivity, bool) { return nil, false } -// AsDatasetBZip2Compression is the BasicDatasetCompression implementation for DatasetDeflateCompression. -func (ddc DatasetDeflateCompression) AsDatasetBZip2Compression() (*DatasetBZip2Compression, bool) { +// AsFilterActivity is the BasicActivity implementation for DatabricksSparkJarActivity. +func (dsja DatabricksSparkJarActivity) AsFilterActivity() (*FilterActivity, bool) { return nil, false } -// AsDatasetCompression is the BasicDatasetCompression implementation for DatasetDeflateCompression. -func (ddc DatasetDeflateCompression) AsDatasetCompression() (*DatasetCompression, bool) { +// AsValidationActivity is the BasicActivity implementation for DatabricksSparkJarActivity. +func (dsja DatabricksSparkJarActivity) AsValidationActivity() (*ValidationActivity, bool) { return nil, false } -// AsBasicDatasetCompression is the BasicDatasetCompression implementation for DatasetDeflateCompression. -func (ddc DatasetDeflateCompression) AsBasicDatasetCompression() (BasicDatasetCompression, bool) { - return &ddc, true +// AsUntilActivity is the BasicActivity implementation for DatabricksSparkJarActivity. +func (dsja DatabricksSparkJarActivity) AsUntilActivity() (*UntilActivity, bool) { + return nil, false } -// UnmarshalJSON is the custom unmarshaler for DatasetDeflateCompression struct. -func (ddc *DatasetDeflateCompression) UnmarshalJSON(body []byte) error { +// AsWaitActivity is the BasicActivity implementation for DatabricksSparkJarActivity. +func (dsja DatabricksSparkJarActivity) AsWaitActivity() (*WaitActivity, bool) { + return nil, false +} + +// AsForEachActivity is the BasicActivity implementation for DatabricksSparkJarActivity. +func (dsja DatabricksSparkJarActivity) AsForEachActivity() (*ForEachActivity, bool) { + return nil, false +} + +// AsSwitchActivity is the BasicActivity implementation for DatabricksSparkJarActivity. +func (dsja DatabricksSparkJarActivity) AsSwitchActivity() (*SwitchActivity, bool) { + return nil, false +} + +// AsIfConditionActivity is the BasicActivity implementation for DatabricksSparkJarActivity. +func (dsja DatabricksSparkJarActivity) AsIfConditionActivity() (*IfConditionActivity, bool) { + return nil, false +} + +// AsExecutePipelineActivity is the BasicActivity implementation for DatabricksSparkJarActivity. +func (dsja DatabricksSparkJarActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) { + return nil, false +} + +// AsControlActivity is the BasicActivity implementation for DatabricksSparkJarActivity. +func (dsja DatabricksSparkJarActivity) AsControlActivity() (*ControlActivity, bool) { + return nil, false +} + +// AsBasicControlActivity is the BasicActivity implementation for DatabricksSparkJarActivity. +func (dsja DatabricksSparkJarActivity) AsBasicControlActivity() (BasicControlActivity, bool) { + return nil, false +} + +// AsActivity is the BasicActivity implementation for DatabricksSparkJarActivity. +func (dsja DatabricksSparkJarActivity) AsActivity() (*Activity, bool) { + return nil, false +} + +// AsBasicActivity is the BasicActivity implementation for DatabricksSparkJarActivity. +func (dsja DatabricksSparkJarActivity) AsBasicActivity() (BasicActivity, bool) { + return &dsja, true +} + +// UnmarshalJSON is the custom unmarshaler for DatabricksSparkJarActivity struct. +func (dsja *DatabricksSparkJarActivity) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -58762,14 +64146,32 @@ func (ddc *DatasetDeflateCompression) UnmarshalJSON(body []byte) error { } for k, v := range m { switch k { - case "level": + case "typeProperties": if v != nil { - var level interface{} - err = json.Unmarshal(*v, &level) + var databricksSparkJarActivityTypeProperties DatabricksSparkJarActivityTypeProperties + err = json.Unmarshal(*v, &databricksSparkJarActivityTypeProperties) if err != nil { return err } - ddc.Level = level + dsja.DatabricksSparkJarActivityTypeProperties = &databricksSparkJarActivityTypeProperties + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + dsja.LinkedServiceName = &linkedServiceName + } + case "policy": + if v != nil { + var policy ActivityPolicy + err = json.Unmarshal(*v, &policy) + if err != nil { + return err + } + dsja.Policy = &policy } default: if v != nil { @@ -58778,19 +64180,55 @@ func (ddc *DatasetDeflateCompression) UnmarshalJSON(body []byte) error { if err != nil { return err } - if ddc.AdditionalProperties == nil { - ddc.AdditionalProperties = make(map[string]interface{}) + if dsja.AdditionalProperties == nil { + dsja.AdditionalProperties = make(map[string]interface{}) } - ddc.AdditionalProperties[k] = additionalProperties + dsja.AdditionalProperties[k] = additionalProperties + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + dsja.Name = &name + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + dsja.Description = &description + } + case "dependsOn": + if v != nil { + var dependsOn []ActivityDependency + err = json.Unmarshal(*v, &dependsOn) + if err != nil { + return err + } + dsja.DependsOn = &dependsOn + } + case "userProperties": + if v != nil { + var userProperties []UserProperty + err = json.Unmarshal(*v, &userProperties) + if err != nil { + return err + } + dsja.UserProperties = &userProperties } case "type": if v != nil { - var typeVar TypeBasicDatasetCompression + var typeVar TypeBasicActivity err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - ddc.Type = typeVar + dsja.Type = typeVar } } } @@ -58798,292 +64236,274 @@ func (ddc *DatasetDeflateCompression) UnmarshalJSON(body []byte) error { return nil } -// DatasetFolder the folder that this Dataset is in. If not specified, Dataset will appear at the root -// level. -type DatasetFolder struct { - // Name - The name of the folder that this Dataset is in. - Name *string `json:"name,omitempty"` +// DatabricksSparkJarActivityTypeProperties databricks SparkJar activity properties. +type DatabricksSparkJarActivityTypeProperties struct { + // MainClassName - The full name of the class containing the main method to be executed. This class must be contained in a JAR provided as a library. Type: string (or Expression with resultType string). + MainClassName interface{} `json:"mainClassName,omitempty"` + // Parameters - Parameters that will be passed to the main method. + Parameters *[]interface{} `json:"parameters,omitempty"` + // Libraries - A list of libraries to be installed on the cluster that will execute the job. + Libraries *[]map[string]interface{} `json:"libraries,omitempty"` } -// DatasetGZipCompression the GZip compression method used on a dataset. -type DatasetGZipCompression struct { - // Level - The GZip compression level. - Level interface{} `json:"level,omitempty"` +// DatabricksSparkPythonActivity databricksSparkPython activity. +type DatabricksSparkPythonActivity struct { + // DatabricksSparkPythonActivityTypeProperties - Databricks SparkPython activity properties. + *DatabricksSparkPythonActivityTypeProperties `json:"typeProperties,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Policy - Activity policy. + Policy *ActivityPolicy `json:"policy,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` - // Type - Possible values include: 'TypeDatasetCompression', 'TypeZipDeflate', 'TypeDeflate', 'TypeGZip', 'TypeBZip2' - Type TypeBasicDatasetCompression `json:"type,omitempty"` + // Name - Activity name. + Name *string `json:"name,omitempty"` + // Description - Activity description. + Description *string `json:"description,omitempty"` + // DependsOn - Activity depends on condition. + DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"` + // UserProperties - Activity user properties. + UserProperties *[]UserProperty `json:"userProperties,omitempty"` + // Type - Possible values include: 'TypeActivity', 'TypeExecuteDataFlow', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLExecutePipeline', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeSwitch', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer' + Type TypeBasicActivity `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for DatasetGZipCompression. -func (dgzc DatasetGZipCompression) MarshalJSON() ([]byte, error) { - dgzc.Type = TypeGZip +// MarshalJSON is the custom marshaler for DatabricksSparkPythonActivity. +func (dspa DatabricksSparkPythonActivity) MarshalJSON() ([]byte, error) { + dspa.Type = TypeDatabricksSparkPython objectMap := make(map[string]interface{}) - if dgzc.Level != nil { - objectMap["level"] = dgzc.Level + if dspa.DatabricksSparkPythonActivityTypeProperties != nil { + objectMap["typeProperties"] = dspa.DatabricksSparkPythonActivityTypeProperties } - if dgzc.Type != "" { - objectMap["type"] = dgzc.Type + if dspa.LinkedServiceName != nil { + objectMap["linkedServiceName"] = dspa.LinkedServiceName } - for k, v := range dgzc.AdditionalProperties { + if dspa.Policy != nil { + objectMap["policy"] = dspa.Policy + } + if dspa.Name != nil { + objectMap["name"] = dspa.Name + } + if dspa.Description != nil { + objectMap["description"] = dspa.Description + } + if dspa.DependsOn != nil { + objectMap["dependsOn"] = dspa.DependsOn + } + if dspa.UserProperties != nil { + objectMap["userProperties"] = dspa.UserProperties + } + if dspa.Type != "" { + objectMap["type"] = dspa.Type + } + for k, v := range dspa.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsDatasetZipDeflateCompression is the BasicDatasetCompression implementation for DatasetGZipCompression. -func (dgzc DatasetGZipCompression) AsDatasetZipDeflateCompression() (*DatasetZipDeflateCompression, bool) { +// AsExecuteDataFlowActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. +func (dspa DatabricksSparkPythonActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) { return nil, false } -// AsDatasetDeflateCompression is the BasicDatasetCompression implementation for DatasetGZipCompression. -func (dgzc DatasetGZipCompression) AsDatasetDeflateCompression() (*DatasetDeflateCompression, bool) { +// AsAzureFunctionActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. +func (dspa DatabricksSparkPythonActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) { return nil, false } -// AsDatasetGZipCompression is the BasicDatasetCompression implementation for DatasetGZipCompression. -func (dgzc DatasetGZipCompression) AsDatasetGZipCompression() (*DatasetGZipCompression, bool) { - return &dgzc, true +// AsDatabricksSparkPythonActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. +func (dspa DatabricksSparkPythonActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) { + return &dspa, true } -// AsDatasetBZip2Compression is the BasicDatasetCompression implementation for DatasetGZipCompression. -func (dgzc DatasetGZipCompression) AsDatasetBZip2Compression() (*DatasetBZip2Compression, bool) { +// AsDatabricksSparkJarActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. +func (dspa DatabricksSparkPythonActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) { return nil, false } -// AsDatasetCompression is the BasicDatasetCompression implementation for DatasetGZipCompression. -func (dgzc DatasetGZipCompression) AsDatasetCompression() (*DatasetCompression, bool) { +// AsDatabricksNotebookActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. +func (dspa DatabricksSparkPythonActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) { return nil, false } -// AsBasicDatasetCompression is the BasicDatasetCompression implementation for DatasetGZipCompression. -func (dgzc DatasetGZipCompression) AsBasicDatasetCompression() (BasicDatasetCompression, bool) { - return &dgzc, true +// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. +func (dspa DatabricksSparkPythonActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) { + return nil, false } -// UnmarshalJSON is the custom unmarshaler for DatasetGZipCompression struct. -func (dgzc *DatasetGZipCompression) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - case "level": - if v != nil { - var level interface{} - err = json.Unmarshal(*v, &level) - if err != nil { - return err - } - dgzc.Level = level - } - default: - if v != nil { - var additionalProperties interface{} - err = json.Unmarshal(*v, &additionalProperties) - if err != nil { - return err - } - if dgzc.AdditionalProperties == nil { - dgzc.AdditionalProperties = make(map[string]interface{}) - } - dgzc.AdditionalProperties[k] = additionalProperties - } - case "type": - if v != nil { - var typeVar TypeBasicDatasetCompression - err = json.Unmarshal(*v, &typeVar) - if err != nil { - return err - } - dgzc.Type = typeVar - } - } - } +// AsAzureMLExecutePipelineActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. +func (dspa DatabricksSparkPythonActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) { + return nil, false +} - return nil +// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. +func (dspa DatabricksSparkPythonActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) { + return nil, false } -// DatasetListResponse a list of dataset resources. -type DatasetListResponse struct { - autorest.Response `json:"-"` - // Value - List of datasets. - Value *[]DatasetResource `json:"value,omitempty"` - // NextLink - The link to the next page of results, if any remaining results exist. - NextLink *string `json:"nextLink,omitempty"` +// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. +func (dspa DatabricksSparkPythonActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) { + return nil, false } -// DatasetListResponseIterator provides access to a complete listing of DatasetResource values. -type DatasetListResponseIterator struct { - i int - page DatasetListResponsePage +// AsGetMetadataActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. +func (dspa DatabricksSparkPythonActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) { + return nil, false } -// NextWithContext advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -func (iter *DatasetListResponseIterator) NextWithContext(ctx context.Context) (err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/DatasetListResponseIterator.NextWithContext") - defer func() { - sc := -1 - if iter.Response().Response.Response != nil { - sc = iter.Response().Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - iter.i++ - if iter.i < len(iter.page.Values()) { - return nil - } - err = iter.page.NextWithContext(ctx) - if err != nil { - iter.i-- - return err - } - iter.i = 0 - return nil +// AsWebActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. +func (dspa DatabricksSparkPythonActivity) AsWebActivity() (*WebActivity, bool) { + return nil, false } -// Next advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -// Deprecated: Use NextWithContext() instead. -func (iter *DatasetListResponseIterator) Next() error { - return iter.NextWithContext(context.Background()) +// AsLookupActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. +func (dspa DatabricksSparkPythonActivity) AsLookupActivity() (*LookupActivity, bool) { + return nil, false } -// NotDone returns true if the enumeration should be started or is not yet complete. -func (iter DatasetListResponseIterator) NotDone() bool { - return iter.page.NotDone() && iter.i < len(iter.page.Values()) +// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. +func (dspa DatabricksSparkPythonActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) { + return nil, false } -// Response returns the raw server response from the last page request. -func (iter DatasetListResponseIterator) Response() DatasetListResponse { - return iter.page.Response() +// AsDeleteActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. +func (dspa DatabricksSparkPythonActivity) AsDeleteActivity() (*DeleteActivity, bool) { + return nil, false } -// Value returns the current value or a zero-initialized value if the -// iterator has advanced beyond the end of the collection. -func (iter DatasetListResponseIterator) Value() DatasetResource { - if !iter.page.NotDone() { - return DatasetResource{} - } - return iter.page.Values()[iter.i] +// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. +func (dspa DatabricksSparkPythonActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) { + return nil, false } -// Creates a new instance of the DatasetListResponseIterator type. -func NewDatasetListResponseIterator(page DatasetListResponsePage) DatasetListResponseIterator { - return DatasetListResponseIterator{page: page} +// AsCustomActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. +func (dspa DatabricksSparkPythonActivity) AsCustomActivity() (*CustomActivity, bool) { + return nil, false } -// IsEmpty returns true if the ListResult contains no values. -func (dlr DatasetListResponse) IsEmpty() bool { - return dlr.Value == nil || len(*dlr.Value) == 0 +// AsExecuteSSISPackageActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. +func (dspa DatabricksSparkPythonActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) { + return nil, false } -// datasetListResponsePreparer prepares a request to retrieve the next set of results. -// It returns nil if no more results exist. -func (dlr DatasetListResponse) datasetListResponsePreparer(ctx context.Context) (*http.Request, error) { - if dlr.NextLink == nil || len(to.String(dlr.NextLink)) < 1 { - return nil, nil - } - return autorest.Prepare((&http.Request{}).WithContext(ctx), - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(dlr.NextLink))) +// AsHDInsightSparkActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. +func (dspa DatabricksSparkPythonActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) { + return nil, false } -// DatasetListResponsePage contains a page of DatasetResource values. -type DatasetListResponsePage struct { - fn func(context.Context, DatasetListResponse) (DatasetListResponse, error) - dlr DatasetListResponse +// AsHDInsightStreamingActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. +func (dspa DatabricksSparkPythonActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) { + return nil, false } -// NextWithContext advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -func (page *DatasetListResponsePage) NextWithContext(ctx context.Context) (err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/DatasetListResponsePage.NextWithContext") - defer func() { - sc := -1 - if page.Response().Response.Response != nil { - sc = page.Response().Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - next, err := page.fn(ctx, page.dlr) - if err != nil { - return err - } - page.dlr = next - return nil +// AsHDInsightMapReduceActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. +func (dspa DatabricksSparkPythonActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) { + return nil, false } -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -// Deprecated: Use NextWithContext() instead. -func (page *DatasetListResponsePage) Next() error { - return page.NextWithContext(context.Background()) +// AsHDInsightPigActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. +func (dspa DatabricksSparkPythonActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) { + return nil, false } -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page DatasetListResponsePage) NotDone() bool { - return !page.dlr.IsEmpty() +// AsHDInsightHiveActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. +func (dspa DatabricksSparkPythonActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) { + return nil, false } -// Response returns the raw server response from the last page request. -func (page DatasetListResponsePage) Response() DatasetListResponse { - return page.dlr +// AsCopyActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. +func (dspa DatabricksSparkPythonActivity) AsCopyActivity() (*CopyActivity, bool) { + return nil, false } -// Values returns the slice of values for the current page or nil if there are no values. -func (page DatasetListResponsePage) Values() []DatasetResource { - if page.dlr.IsEmpty() { - return nil - } - return *page.dlr.Value +// AsExecutionActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. +func (dspa DatabricksSparkPythonActivity) AsExecutionActivity() (*ExecutionActivity, bool) { + return nil, false } -// Creates a new instance of the DatasetListResponsePage type. -func NewDatasetListResponsePage(getNextPage func(context.Context, DatasetListResponse) (DatasetListResponse, error)) DatasetListResponsePage { - return DatasetListResponsePage{fn: getNextPage} +// AsBasicExecutionActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. +func (dspa DatabricksSparkPythonActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) { + return &dspa, true } -// DatasetLocation dataset location. -type DatasetLocation struct { - // AdditionalProperties - Unmatched properties from the message are deserialized this collection - AdditionalProperties map[string]interface{} `json:""` - // Type - Type of dataset storage location. - Type *string `json:"type,omitempty"` - // FolderPath - Specify the folder path of dataset. Type: string (or Expression with resultType string) - FolderPath interface{} `json:"folderPath,omitempty"` - // FileName - Specify the file name of dataset. Type: string (or Expression with resultType string). - FileName interface{} `json:"fileName,omitempty"` +// AsWebHookActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. +func (dspa DatabricksSparkPythonActivity) AsWebHookActivity() (*WebHookActivity, bool) { + return nil, false } -// MarshalJSON is the custom marshaler for DatasetLocation. -func (dl DatasetLocation) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - if dl.Type != nil { - objectMap["type"] = dl.Type - } - if dl.FolderPath != nil { - objectMap["folderPath"] = dl.FolderPath - } - if dl.FileName != nil { - objectMap["fileName"] = dl.FileName - } - for k, v := range dl.AdditionalProperties { - objectMap[k] = v - } - return json.Marshal(objectMap) +// AsAppendVariableActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. +func (dspa DatabricksSparkPythonActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) { + return nil, false } -// UnmarshalJSON is the custom unmarshaler for DatasetLocation struct. -func (dl *DatasetLocation) UnmarshalJSON(body []byte) error { +// AsSetVariableActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. +func (dspa DatabricksSparkPythonActivity) AsSetVariableActivity() (*SetVariableActivity, bool) { + return nil, false +} + +// AsFilterActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. +func (dspa DatabricksSparkPythonActivity) AsFilterActivity() (*FilterActivity, bool) { + return nil, false +} + +// AsValidationActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. +func (dspa DatabricksSparkPythonActivity) AsValidationActivity() (*ValidationActivity, bool) { + return nil, false +} + +// AsUntilActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. +func (dspa DatabricksSparkPythonActivity) AsUntilActivity() (*UntilActivity, bool) { + return nil, false +} + +// AsWaitActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. +func (dspa DatabricksSparkPythonActivity) AsWaitActivity() (*WaitActivity, bool) { + return nil, false +} + +// AsForEachActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. +func (dspa DatabricksSparkPythonActivity) AsForEachActivity() (*ForEachActivity, bool) { + return nil, false +} + +// AsSwitchActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. +func (dspa DatabricksSparkPythonActivity) AsSwitchActivity() (*SwitchActivity, bool) { + return nil, false +} + +// AsIfConditionActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. +func (dspa DatabricksSparkPythonActivity) AsIfConditionActivity() (*IfConditionActivity, bool) { + return nil, false +} + +// AsExecutePipelineActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. +func (dspa DatabricksSparkPythonActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) { + return nil, false +} + +// AsControlActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. +func (dspa DatabricksSparkPythonActivity) AsControlActivity() (*ControlActivity, bool) { + return nil, false +} + +// AsBasicControlActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. +func (dspa DatabricksSparkPythonActivity) AsBasicControlActivity() (BasicControlActivity, bool) { + return nil, false +} + +// AsActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. +func (dspa DatabricksSparkPythonActivity) AsActivity() (*Activity, bool) { + return nil, false +} + +// AsBasicActivity is the BasicActivity implementation for DatabricksSparkPythonActivity. +func (dspa DatabricksSparkPythonActivity) AsBasicActivity() (BasicActivity, bool) { + return &dspa, true +} + +// UnmarshalJSON is the custom unmarshaler for DatabricksSparkPythonActivity struct. +func (dspa *DatabricksSparkPythonActivity) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -59091,6 +64511,33 @@ func (dl *DatasetLocation) UnmarshalJSON(body []byte) error { } for k, v := range m { switch k { + case "typeProperties": + if v != nil { + var databricksSparkPythonActivityTypeProperties DatabricksSparkPythonActivityTypeProperties + err = json.Unmarshal(*v, &databricksSparkPythonActivityTypeProperties) + if err != nil { + return err + } + dspa.DatabricksSparkPythonActivityTypeProperties = &databricksSparkPythonActivityTypeProperties + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + dspa.LinkedServiceName = &linkedServiceName + } + case "policy": + if v != nil { + var policy ActivityPolicy + err = json.Unmarshal(*v, &policy) + if err != nil { + return err + } + dspa.Policy = &policy + } default: if v != nil { var additionalProperties interface{} @@ -59098,37 +64545,55 @@ func (dl *DatasetLocation) UnmarshalJSON(body []byte) error { if err != nil { return err } - if dl.AdditionalProperties == nil { - dl.AdditionalProperties = make(map[string]interface{}) + if dspa.AdditionalProperties == nil { + dspa.AdditionalProperties = make(map[string]interface{}) } - dl.AdditionalProperties[k] = additionalProperties + dspa.AdditionalProperties[k] = additionalProperties } - case "type": + case "name": if v != nil { - var typeVar string - err = json.Unmarshal(*v, &typeVar) + var name string + err = json.Unmarshal(*v, &name) if err != nil { return err } - dl.Type = &typeVar + dspa.Name = &name } - case "folderPath": + case "description": if v != nil { - var folderPath interface{} - err = json.Unmarshal(*v, &folderPath) + var description string + err = json.Unmarshal(*v, &description) if err != nil { return err } - dl.FolderPath = folderPath + dspa.Description = &description } - case "fileName": + case "dependsOn": if v != nil { - var fileName interface{} - err = json.Unmarshal(*v, &fileName) + var dependsOn []ActivityDependency + err = json.Unmarshal(*v, &dependsOn) if err != nil { return err } - dl.FileName = fileName + dspa.DependsOn = &dependsOn + } + case "userProperties": + if v != nil { + var userProperties []UserProperty + err = json.Unmarshal(*v, &userProperties) + if err != nil { + return err + } + dspa.UserProperties = &userProperties + } + case "type": + if v != nil { + var typeVar TypeBasicActivity + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + dspa.Type = typeVar } } } @@ -59136,128 +64601,35 @@ func (dl *DatasetLocation) UnmarshalJSON(body []byte) error { return nil } -// DatasetReference dataset reference type. -type DatasetReference struct { - // Type - Dataset reference type. - Type *string `json:"type,omitempty"` - // ReferenceName - Reference dataset name. - ReferenceName *string `json:"referenceName,omitempty"` - // Parameters - Arguments for dataset. - Parameters map[string]interface{} `json:"parameters"` +// DatabricksSparkPythonActivityTypeProperties databricks SparkPython activity properties. +type DatabricksSparkPythonActivityTypeProperties struct { + // PythonFile - The URI of the Python file to be executed. DBFS paths are supported. Type: string (or Expression with resultType string). + PythonFile interface{} `json:"pythonFile,omitempty"` + // Parameters - Command line parameters that will be passed to the Python file. + Parameters *[]interface{} `json:"parameters,omitempty"` + // Libraries - A list of libraries to be installed on the cluster that will execute the job. + Libraries *[]map[string]interface{} `json:"libraries,omitempty"` } -// MarshalJSON is the custom marshaler for DatasetReference. -func (dr DatasetReference) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - if dr.Type != nil { - objectMap["type"] = dr.Type - } - if dr.ReferenceName != nil { - objectMap["referenceName"] = dr.ReferenceName - } - if dr.Parameters != nil { - objectMap["parameters"] = dr.Parameters - } - return json.Marshal(objectMap) -} - -// DatasetResource dataset resource type. -type DatasetResource struct { - autorest.Response `json:"-"` - // Properties - Dataset properties. - Properties BasicDataset `json:"properties,omitempty"` - // ID - READ-ONLY; The resource identifier. - ID *string `json:"id,omitempty"` - // Name - READ-ONLY; The resource name. - Name *string `json:"name,omitempty"` - // Type - READ-ONLY; The resource type. - Type *string `json:"type,omitempty"` - // Etag - READ-ONLY; Etag identifies change in the resource. - Etag *string `json:"etag,omitempty"` -} - -// UnmarshalJSON is the custom unmarshaler for DatasetResource struct. -func (dr *DatasetResource) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - case "properties": - if v != nil { - properties, err := unmarshalBasicDataset(*v) - if err != nil { - return err - } - dr.Properties = properties - } - case "id": - if v != nil { - var ID string - err = json.Unmarshal(*v, &ID) - if err != nil { - return err - } - dr.ID = &ID - } - case "name": - if v != nil { - var name string - err = json.Unmarshal(*v, &name) - if err != nil { - return err - } - dr.Name = &name - } - case "type": - if v != nil { - var typeVar string - err = json.Unmarshal(*v, &typeVar) - if err != nil { - return err - } - dr.Type = &typeVar - } - case "etag": - if v != nil { - var etag string - err = json.Unmarshal(*v, &etag) - if err != nil { - return err - } - dr.Etag = &etag - } - } - } - - return nil -} - -// BasicDatasetStorageFormat the format definition of a storage. -type BasicDatasetStorageFormat interface { - AsParquetFormat() (*ParquetFormat, bool) - AsOrcFormat() (*OrcFormat, bool) - AsAvroFormat() (*AvroFormat, bool) - AsJSONFormat() (*JSONFormat, bool) - AsTextFormat() (*TextFormat, bool) - AsDatasetStorageFormat() (*DatasetStorageFormat, bool) +// BasicDataFlow azure Data Factory nested object which contains a flow with data movements and transformations. +type BasicDataFlow interface { + AsMappingDataFlow() (*MappingDataFlow, bool) + AsDataFlow() (*DataFlow, bool) } -// DatasetStorageFormat the format definition of a storage. -type DatasetStorageFormat struct { - // AdditionalProperties - Unmatched properties from the message are deserialized this collection - AdditionalProperties map[string]interface{} `json:""` - // Serializer - Serializer. Type: string (or Expression with resultType string). - Serializer interface{} `json:"serializer,omitempty"` - // Deserializer - Deserializer. Type: string (or Expression with resultType string). - Deserializer interface{} `json:"deserializer,omitempty"` - // Type - Possible values include: 'TypeDatasetStorageFormat', 'TypeParquetFormat', 'TypeOrcFormat', 'TypeAvroFormat', 'TypeJSONFormat', 'TypeTextFormat' - Type TypeBasicDatasetStorageFormat `json:"type,omitempty"` +// DataFlow azure Data Factory nested object which contains a flow with data movements and transformations. +type DataFlow struct { + // Description - The description of the data flow. + Description *string `json:"description,omitempty"` + // Annotations - List of tags that can be used for describing the data flow. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this data flow is in. If not specified, Data flow will appear at the root level. + Folder *DataFlowFolder `json:"folder,omitempty"` + // Type - Possible values include: 'TypeDataFlow', 'TypeMappingDataFlow' + Type TypeBasicDataFlow `json:"type,omitempty"` } -func unmarshalBasicDatasetStorageFormat(body []byte) (BasicDatasetStorageFormat, error) { +func unmarshalBasicDataFlow(body []byte) (BasicDataFlow, error) { var m map[string]interface{} err := json.Unmarshal(body, &m) if err != nil { @@ -59265,107 +64637,148 @@ func unmarshalBasicDatasetStorageFormat(body []byte) (BasicDatasetStorageFormat, } switch m["type"] { - case string(TypeParquetFormat): - var pf ParquetFormat - err := json.Unmarshal(body, &pf) - return pf, err - case string(TypeOrcFormat): - var of OrcFormat - err := json.Unmarshal(body, &of) - return of, err - case string(TypeAvroFormat): - var af AvroFormat - err := json.Unmarshal(body, &af) - return af, err - case string(TypeJSONFormat): - var jf JSONFormat - err := json.Unmarshal(body, &jf) - return jf, err - case string(TypeTextFormat): - var tf TextFormat - err := json.Unmarshal(body, &tf) - return tf, err + case string(TypeMappingDataFlow): + var mdf MappingDataFlow + err := json.Unmarshal(body, &mdf) + return mdf, err default: - var dsf DatasetStorageFormat - err := json.Unmarshal(body, &dsf) - return dsf, err + var df DataFlow + err := json.Unmarshal(body, &df) + return df, err } } -func unmarshalBasicDatasetStorageFormatArray(body []byte) ([]BasicDatasetStorageFormat, error) { +func unmarshalBasicDataFlowArray(body []byte) ([]BasicDataFlow, error) { var rawMessages []*json.RawMessage err := json.Unmarshal(body, &rawMessages) if err != nil { return nil, err } - dsfArray := make([]BasicDatasetStorageFormat, len(rawMessages)) + dfArray := make([]BasicDataFlow, len(rawMessages)) for index, rawMessage := range rawMessages { - dsf, err := unmarshalBasicDatasetStorageFormat(*rawMessage) + df, err := unmarshalBasicDataFlow(*rawMessage) if err != nil { return nil, err } - dsfArray[index] = dsf + dfArray[index] = df } - return dsfArray, nil + return dfArray, nil } -// MarshalJSON is the custom marshaler for DatasetStorageFormat. -func (dsf DatasetStorageFormat) MarshalJSON() ([]byte, error) { - dsf.Type = TypeDatasetStorageFormat +// MarshalJSON is the custom marshaler for DataFlow. +func (df DataFlow) MarshalJSON() ([]byte, error) { + df.Type = TypeDataFlow objectMap := make(map[string]interface{}) - if dsf.Serializer != nil { - objectMap["serializer"] = dsf.Serializer + if df.Description != nil { + objectMap["description"] = df.Description } - if dsf.Deserializer != nil { - objectMap["deserializer"] = dsf.Deserializer + if df.Annotations != nil { + objectMap["annotations"] = df.Annotations } - if dsf.Type != "" { - objectMap["type"] = dsf.Type + if df.Folder != nil { + objectMap["folder"] = df.Folder } - for k, v := range dsf.AdditionalProperties { - objectMap[k] = v + if df.Type != "" { + objectMap["type"] = df.Type } return json.Marshal(objectMap) } -// AsParquetFormat is the BasicDatasetStorageFormat implementation for DatasetStorageFormat. -func (dsf DatasetStorageFormat) AsParquetFormat() (*ParquetFormat, bool) { +// AsMappingDataFlow is the BasicDataFlow implementation for DataFlow. +func (df DataFlow) AsMappingDataFlow() (*MappingDataFlow, bool) { return nil, false } -// AsOrcFormat is the BasicDatasetStorageFormat implementation for DatasetStorageFormat. -func (dsf DatasetStorageFormat) AsOrcFormat() (*OrcFormat, bool) { - return nil, false +// AsDataFlow is the BasicDataFlow implementation for DataFlow. +func (df DataFlow) AsDataFlow() (*DataFlow, bool) { + return &df, true } -// AsAvroFormat is the BasicDatasetStorageFormat implementation for DatasetStorageFormat. -func (dsf DatasetStorageFormat) AsAvroFormat() (*AvroFormat, bool) { - return nil, false +// AsBasicDataFlow is the BasicDataFlow implementation for DataFlow. +func (df DataFlow) AsBasicDataFlow() (BasicDataFlow, bool) { + return &df, true } -// AsJSONFormat is the BasicDatasetStorageFormat implementation for DatasetStorageFormat. -func (dsf DatasetStorageFormat) AsJSONFormat() (*JSONFormat, bool) { - return nil, false +// DataFlowDebugCommandPayload structure of command payload. +type DataFlowDebugCommandPayload struct { + // StreamName - The stream name which is used for preview. + StreamName *string `json:"streamName,omitempty"` + // RowLimits - Row limits for preview response. + RowLimits *int32 `json:"rowLimits,omitempty"` + // Columns - Array of column names. + Columns *[]string `json:"columns,omitempty"` + // Expression - The expression which is used for preview. + Expression *string `json:"expression,omitempty"` } -// AsTextFormat is the BasicDatasetStorageFormat implementation for DatasetStorageFormat. -func (dsf DatasetStorageFormat) AsTextFormat() (*TextFormat, bool) { - return nil, false +// DataFlowDebugCommandRequest request body structure for data flow debug command. +type DataFlowDebugCommandRequest struct { + // SessionID - The ID of data flow debug session. + SessionID *string `json:"sessionId,omitempty"` + // Command - The command type. Possible values include: 'ExecutePreviewQuery', 'ExecuteStatisticsQuery', 'ExecuteExpressionQuery' + Command DataFlowDebugCommandType `json:"command,omitempty"` + // CommandPayload - The command payload object. + CommandPayload *DataFlowDebugCommandPayload `json:"commandPayload,omitempty"` } -// AsDatasetStorageFormat is the BasicDatasetStorageFormat implementation for DatasetStorageFormat. -func (dsf DatasetStorageFormat) AsDatasetStorageFormat() (*DatasetStorageFormat, bool) { - return &dsf, true +// DataFlowDebugCommandResponse response body structure of data flow result for data preview, statistics or +// expression preview. +type DataFlowDebugCommandResponse struct { + autorest.Response `json:"-"` + // Status - The run status of data preview, statistics or expression preview. + Status *string `json:"status,omitempty"` + // Data - The result data of data preview, statistics or expression preview. + Data *string `json:"data,omitempty"` } -// AsBasicDatasetStorageFormat is the BasicDatasetStorageFormat implementation for DatasetStorageFormat. -func (dsf DatasetStorageFormat) AsBasicDatasetStorageFormat() (BasicDatasetStorageFormat, bool) { - return &dsf, true +// DataFlowDebugPackage request body structure for starting data flow debug session. +type DataFlowDebugPackage struct { + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // SessionID - The ID of data flow debug session. + SessionID *string `json:"sessionId,omitempty"` + // DataFlow - Data flow instance. + DataFlow *DataFlowDebugResource `json:"dataFlow,omitempty"` + // Datasets - List of datasets. + Datasets *[]DatasetDebugResource `json:"datasets,omitempty"` + // LinkedServices - List of linked services. + LinkedServices *[]LinkedServiceDebugResource `json:"linkedServices,omitempty"` + // Staging - Staging info for debug session. + Staging *DataFlowStagingInfo `json:"staging,omitempty"` + // DebugSettings - Data flow debug settings. + DebugSettings *DataFlowDebugPackageDebugSettings `json:"debugSettings,omitempty"` +} + +// MarshalJSON is the custom marshaler for DataFlowDebugPackage. +func (dfdp DataFlowDebugPackage) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if dfdp.SessionID != nil { + objectMap["sessionId"] = dfdp.SessionID + } + if dfdp.DataFlow != nil { + objectMap["dataFlow"] = dfdp.DataFlow + } + if dfdp.Datasets != nil { + objectMap["datasets"] = dfdp.Datasets + } + if dfdp.LinkedServices != nil { + objectMap["linkedServices"] = dfdp.LinkedServices + } + if dfdp.Staging != nil { + objectMap["staging"] = dfdp.Staging + } + if dfdp.DebugSettings != nil { + objectMap["debugSettings"] = dfdp.DebugSettings + } + for k, v := range dfdp.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) } -// UnmarshalJSON is the custom unmarshaler for DatasetStorageFormat struct. -func (dsf *DatasetStorageFormat) UnmarshalJSON(body []byte) error { +// UnmarshalJSON is the custom unmarshaler for DataFlowDebugPackage struct. +func (dfdp *DataFlowDebugPackage) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -59380,37 +64793,64 @@ func (dsf *DatasetStorageFormat) UnmarshalJSON(body []byte) error { if err != nil { return err } - if dsf.AdditionalProperties == nil { - dsf.AdditionalProperties = make(map[string]interface{}) + if dfdp.AdditionalProperties == nil { + dfdp.AdditionalProperties = make(map[string]interface{}) } - dsf.AdditionalProperties[k] = additionalProperties + dfdp.AdditionalProperties[k] = additionalProperties } - case "serializer": + case "sessionId": if v != nil { - var serializer interface{} - err = json.Unmarshal(*v, &serializer) + var sessionID string + err = json.Unmarshal(*v, &sessionID) if err != nil { return err } - dsf.Serializer = serializer + dfdp.SessionID = &sessionID } - case "deserializer": + case "dataFlow": if v != nil { - var deserializer interface{} - err = json.Unmarshal(*v, &deserializer) + var dataFlow DataFlowDebugResource + err = json.Unmarshal(*v, &dataFlow) if err != nil { return err } - dsf.Deserializer = deserializer + dfdp.DataFlow = &dataFlow } - case "type": + case "datasets": if v != nil { - var typeVar TypeBasicDatasetStorageFormat - err = json.Unmarshal(*v, &typeVar) + var datasets []DatasetDebugResource + err = json.Unmarshal(*v, &datasets) if err != nil { return err } - dsf.Type = typeVar + dfdp.Datasets = &datasets + } + case "linkedServices": + if v != nil { + var linkedServices []LinkedServiceDebugResource + err = json.Unmarshal(*v, &linkedServices) + if err != nil { + return err + } + dfdp.LinkedServices = &linkedServices + } + case "staging": + if v != nil { + var staging DataFlowStagingInfo + err = json.Unmarshal(*v, &staging) + if err != nil { + return err + } + dfdp.Staging = &staging + } + case "debugSettings": + if v != nil { + var debugSettings DataFlowDebugPackageDebugSettings + err = json.Unmarshal(*v, &debugSettings) + if err != nil { + return err + } + dfdp.DebugSettings = &debugSettings } } } @@ -59418,64 +64858,41 @@ func (dsf *DatasetStorageFormat) UnmarshalJSON(body []byte) error { return nil } -// DatasetZipDeflateCompression the ZipDeflate compression method used on a dataset. -type DatasetZipDeflateCompression struct { - // Level - The ZipDeflate compression level. - Level interface{} `json:"level,omitempty"` - // AdditionalProperties - Unmatched properties from the message are deserialized this collection - AdditionalProperties map[string]interface{} `json:""` - // Type - Possible values include: 'TypeDatasetCompression', 'TypeZipDeflate', 'TypeDeflate', 'TypeGZip', 'TypeBZip2' - Type TypeBasicDatasetCompression `json:"type,omitempty"` +// DataFlowDebugPackageDebugSettings data flow debug settings. +type DataFlowDebugPackageDebugSettings struct { + // SourceSettings - Source setting for data flow debug. + SourceSettings *[]DataFlowSourceSetting `json:"sourceSettings,omitempty"` + // Parameters - Data flow parameters. + Parameters map[string]interface{} `json:"parameters"` + // DatasetParameters - Parameters for dataset. + DatasetParameters interface{} `json:"datasetParameters,omitempty"` } -// MarshalJSON is the custom marshaler for DatasetZipDeflateCompression. -func (dzdc DatasetZipDeflateCompression) MarshalJSON() ([]byte, error) { - dzdc.Type = TypeZipDeflate +// MarshalJSON is the custom marshaler for DataFlowDebugPackageDebugSettings. +func (dfdpS DataFlowDebugPackageDebugSettings) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) - if dzdc.Level != nil { - objectMap["level"] = dzdc.Level + if dfdpS.SourceSettings != nil { + objectMap["sourceSettings"] = dfdpS.SourceSettings } - if dzdc.Type != "" { - objectMap["type"] = dzdc.Type + if dfdpS.Parameters != nil { + objectMap["parameters"] = dfdpS.Parameters } - for k, v := range dzdc.AdditionalProperties { - objectMap[k] = v + if dfdpS.DatasetParameters != nil { + objectMap["datasetParameters"] = dfdpS.DatasetParameters } return json.Marshal(objectMap) } -// AsDatasetZipDeflateCompression is the BasicDatasetCompression implementation for DatasetZipDeflateCompression. -func (dzdc DatasetZipDeflateCompression) AsDatasetZipDeflateCompression() (*DatasetZipDeflateCompression, bool) { - return &dzdc, true -} - -// AsDatasetDeflateCompression is the BasicDatasetCompression implementation for DatasetZipDeflateCompression. -func (dzdc DatasetZipDeflateCompression) AsDatasetDeflateCompression() (*DatasetDeflateCompression, bool) { - return nil, false -} - -// AsDatasetGZipCompression is the BasicDatasetCompression implementation for DatasetZipDeflateCompression. -func (dzdc DatasetZipDeflateCompression) AsDatasetGZipCompression() (*DatasetGZipCompression, bool) { - return nil, false -} - -// AsDatasetBZip2Compression is the BasicDatasetCompression implementation for DatasetZipDeflateCompression. -func (dzdc DatasetZipDeflateCompression) AsDatasetBZip2Compression() (*DatasetBZip2Compression, bool) { - return nil, false -} - -// AsDatasetCompression is the BasicDatasetCompression implementation for DatasetZipDeflateCompression. -func (dzdc DatasetZipDeflateCompression) AsDatasetCompression() (*DatasetCompression, bool) { - return nil, false -} - -// AsBasicDatasetCompression is the BasicDatasetCompression implementation for DatasetZipDeflateCompression. -func (dzdc DatasetZipDeflateCompression) AsBasicDatasetCompression() (BasicDatasetCompression, bool) { - return &dzdc, true +// DataFlowDebugResource data flow debug resource. +type DataFlowDebugResource struct { + // Properties - Data flow properties. + Properties BasicDataFlow `json:"properties,omitempty"` + // Name - The resource name. + Name *string `json:"name,omitempty"` } -// UnmarshalJSON is the custom unmarshaler for DatasetZipDeflateCompression struct. -func (dzdc *DatasetZipDeflateCompression) UnmarshalJSON(body []byte) error { +// UnmarshalJSON is the custom unmarshaler for DataFlowDebugResource struct. +func (dfdr *DataFlowDebugResource) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -59483,35 +64900,22 @@ func (dzdc *DatasetZipDeflateCompression) UnmarshalJSON(body []byte) error { } for k, v := range m { switch k { - case "level": - if v != nil { - var level interface{} - err = json.Unmarshal(*v, &level) - if err != nil { - return err - } - dzdc.Level = level - } - default: + case "properties": if v != nil { - var additionalProperties interface{} - err = json.Unmarshal(*v, &additionalProperties) + properties, err := unmarshalBasicDataFlow(*v) if err != nil { return err } - if dzdc.AdditionalProperties == nil { - dzdc.AdditionalProperties = make(map[string]interface{}) - } - dzdc.AdditionalProperties[k] = additionalProperties + dfdr.Properties = properties } - case "type": + case "name": if v != nil { - var typeVar TypeBasicDatasetCompression - err = json.Unmarshal(*v, &typeVar) + var name string + err = json.Unmarshal(*v, &name) if err != nil { return err } - dzdc.Type = typeVar + dfdr.Name = &name } } } @@ -59519,519 +64923,825 @@ func (dzdc *DatasetZipDeflateCompression) UnmarshalJSON(body []byte) error { return nil } -// Db2LinkedService linked service for DB2 data source. -type Db2LinkedService struct { - // Db2LinkedServiceTypeProperties - DB2 linked service properties. - *Db2LinkedServiceTypeProperties `json:"typeProperties,omitempty"` +// DataFlowDebugSessionCreateFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type DataFlowDebugSessionCreateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *DataFlowDebugSessionCreateFuture) Result(client DataFlowDebugSessionClient) (cdfdsr CreateDataFlowDebugSessionResponse, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "datafactory.DataFlowDebugSessionCreateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("datafactory.DataFlowDebugSessionCreateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if cdfdsr.Response.Response, err = future.GetResult(sender); err == nil && cdfdsr.Response.Response.StatusCode != http.StatusNoContent { + cdfdsr, err = client.CreateResponder(cdfdsr.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "datafactory.DataFlowDebugSessionCreateFuture", "Result", cdfdsr.Response.Response, "Failure responding to request") + } + } + return +} + +// DataFlowDebugSessionExecuteCommandFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type DataFlowDebugSessionExecuteCommandFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *DataFlowDebugSessionExecuteCommandFuture) Result(client DataFlowDebugSessionClient) (dfdcr DataFlowDebugCommandResponse, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "datafactory.DataFlowDebugSessionExecuteCommandFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("datafactory.DataFlowDebugSessionExecuteCommandFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if dfdcr.Response.Response, err = future.GetResult(sender); err == nil && dfdcr.Response.Response.StatusCode != http.StatusNoContent { + dfdcr, err = client.ExecuteCommandResponder(dfdcr.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "datafactory.DataFlowDebugSessionExecuteCommandFuture", "Result", dfdcr.Response.Response, "Failure responding to request") + } + } + return +} + +// DataFlowDebugSessionInfo data flow debug session info. +type DataFlowDebugSessionInfo struct { // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` - // ConnectVia - The integration runtime reference. - ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` - // Description - Linked service description. - Description *string `json:"description,omitempty"` - // Parameters - Parameters for linked service. - Parameters map[string]*ParameterSpecification `json:"parameters"` - // Annotations - List of tags that can be used for describing the linked service. - Annotations *[]interface{} `json:"annotations,omitempty"` - // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' - Type TypeBasicLinkedService `json:"type,omitempty"` + // DataFlowName - The name of the data flow. + DataFlowName *string `json:"dataFlowName,omitempty"` + // ComputeType - Compute type of the cluster. + ComputeType *string `json:"computeType,omitempty"` + // CoreCount - Core count of the cluster. + CoreCount *int32 `json:"coreCount,omitempty"` + // NodeCount - Node count of the cluster. (deprecated property) + NodeCount *int32 `json:"nodeCount,omitempty"` + // IntegrationRuntimeName - Attached integration runtime name of data flow debug session. + IntegrationRuntimeName *string `json:"integrationRuntimeName,omitempty"` + // SessionID - The ID of data flow debug session. + SessionID *string `json:"sessionId,omitempty"` + // StartTime - Start time of data flow debug session. + StartTime *string `json:"startTime,omitempty"` + // TimeToLiveInMinutes - Compute type of the cluster. + TimeToLiveInMinutes *int32 `json:"timeToLiveInMinutes,omitempty"` + // LastActivityTime - Last activity time of data flow debug session. + LastActivityTime *string `json:"lastActivityTime,omitempty"` } -// MarshalJSON is the custom marshaler for Db2LinkedService. -func (d2ls Db2LinkedService) MarshalJSON() ([]byte, error) { - d2ls.Type = TypeDb2 +// MarshalJSON is the custom marshaler for DataFlowDebugSessionInfo. +func (dfdsi DataFlowDebugSessionInfo) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) - if d2ls.Db2LinkedServiceTypeProperties != nil { - objectMap["typeProperties"] = d2ls.Db2LinkedServiceTypeProperties + if dfdsi.DataFlowName != nil { + objectMap["dataFlowName"] = dfdsi.DataFlowName } - if d2ls.ConnectVia != nil { - objectMap["connectVia"] = d2ls.ConnectVia + if dfdsi.ComputeType != nil { + objectMap["computeType"] = dfdsi.ComputeType } - if d2ls.Description != nil { - objectMap["description"] = d2ls.Description + if dfdsi.CoreCount != nil { + objectMap["coreCount"] = dfdsi.CoreCount } - if d2ls.Parameters != nil { - objectMap["parameters"] = d2ls.Parameters + if dfdsi.NodeCount != nil { + objectMap["nodeCount"] = dfdsi.NodeCount } - if d2ls.Annotations != nil { - objectMap["annotations"] = d2ls.Annotations + if dfdsi.IntegrationRuntimeName != nil { + objectMap["integrationRuntimeName"] = dfdsi.IntegrationRuntimeName } - if d2ls.Type != "" { - objectMap["type"] = d2ls.Type + if dfdsi.SessionID != nil { + objectMap["sessionId"] = dfdsi.SessionID } - for k, v := range d2ls.AdditionalProperties { + if dfdsi.StartTime != nil { + objectMap["startTime"] = dfdsi.StartTime + } + if dfdsi.TimeToLiveInMinutes != nil { + objectMap["timeToLiveInMinutes"] = dfdsi.TimeToLiveInMinutes + } + if dfdsi.LastActivityTime != nil { + objectMap["lastActivityTime"] = dfdsi.LastActivityTime + } + for k, v := range dfdsi.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsAzureFunctionLinkedService is the BasicLinkedService implementation for Db2LinkedService. -func (d2ls Db2LinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { - return nil, false -} - -// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for Db2LinkedService. -func (d2ls Db2LinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { - return nil, false -} - -// AsSapTableLinkedService is the BasicLinkedService implementation for Db2LinkedService. -func (d2ls Db2LinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { - return nil, false -} - -// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for Db2LinkedService. -func (d2ls Db2LinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { - return nil, false -} - -// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for Db2LinkedService. -func (d2ls Db2LinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { - return nil, false -} - -// AsDynamicsAXLinkedService is the BasicLinkedService implementation for Db2LinkedService. -func (d2ls Db2LinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { - return nil, false -} - -// AsResponsysLinkedService is the BasicLinkedService implementation for Db2LinkedService. -func (d2ls Db2LinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { - return nil, false -} - -// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for Db2LinkedService. -func (d2ls Db2LinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { - return nil, false -} - -// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for Db2LinkedService. -func (d2ls Db2LinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { - return nil, false -} - -// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for Db2LinkedService. -func (d2ls Db2LinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { - return nil, false -} - -// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for Db2LinkedService. -func (d2ls Db2LinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { - return nil, false -} - -// AsNetezzaLinkedService is the BasicLinkedService implementation for Db2LinkedService. -func (d2ls Db2LinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { - return nil, false -} - -// AsVerticaLinkedService is the BasicLinkedService implementation for Db2LinkedService. -func (d2ls Db2LinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { - return nil, false -} - -// AsZohoLinkedService is the BasicLinkedService implementation for Db2LinkedService. -func (d2ls Db2LinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { - return nil, false -} - -// AsXeroLinkedService is the BasicLinkedService implementation for Db2LinkedService. -func (d2ls Db2LinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { - return nil, false -} - -// AsSquareLinkedService is the BasicLinkedService implementation for Db2LinkedService. -func (d2ls Db2LinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { - return nil, false -} - -// AsSparkLinkedService is the BasicLinkedService implementation for Db2LinkedService. -func (d2ls Db2LinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { - return nil, false -} - -// AsShopifyLinkedService is the BasicLinkedService implementation for Db2LinkedService. -func (d2ls Db2LinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { - return nil, false -} - -// AsServiceNowLinkedService is the BasicLinkedService implementation for Db2LinkedService. -func (d2ls Db2LinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { - return nil, false -} - -// AsQuickBooksLinkedService is the BasicLinkedService implementation for Db2LinkedService. -func (d2ls Db2LinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { - return nil, false -} +// UnmarshalJSON is the custom unmarshaler for DataFlowDebugSessionInfo struct. +func (dfdsi *DataFlowDebugSessionInfo) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if dfdsi.AdditionalProperties == nil { + dfdsi.AdditionalProperties = make(map[string]interface{}) + } + dfdsi.AdditionalProperties[k] = additionalProperties + } + case "dataFlowName": + if v != nil { + var dataFlowName string + err = json.Unmarshal(*v, &dataFlowName) + if err != nil { + return err + } + dfdsi.DataFlowName = &dataFlowName + } + case "computeType": + if v != nil { + var computeType string + err = json.Unmarshal(*v, &computeType) + if err != nil { + return err + } + dfdsi.ComputeType = &computeType + } + case "coreCount": + if v != nil { + var coreCount int32 + err = json.Unmarshal(*v, &coreCount) + if err != nil { + return err + } + dfdsi.CoreCount = &coreCount + } + case "nodeCount": + if v != nil { + var nodeCount int32 + err = json.Unmarshal(*v, &nodeCount) + if err != nil { + return err + } + dfdsi.NodeCount = &nodeCount + } + case "integrationRuntimeName": + if v != nil { + var integrationRuntimeName string + err = json.Unmarshal(*v, &integrationRuntimeName) + if err != nil { + return err + } + dfdsi.IntegrationRuntimeName = &integrationRuntimeName + } + case "sessionId": + if v != nil { + var sessionID string + err = json.Unmarshal(*v, &sessionID) + if err != nil { + return err + } + dfdsi.SessionID = &sessionID + } + case "startTime": + if v != nil { + var startTime string + err = json.Unmarshal(*v, &startTime) + if err != nil { + return err + } + dfdsi.StartTime = &startTime + } + case "timeToLiveInMinutes": + if v != nil { + var timeToLiveInMinutes int32 + err = json.Unmarshal(*v, &timeToLiveInMinutes) + if err != nil { + return err + } + dfdsi.TimeToLiveInMinutes = &timeToLiveInMinutes + } + case "lastActivityTime": + if v != nil { + var lastActivityTime string + err = json.Unmarshal(*v, &lastActivityTime) + if err != nil { + return err + } + dfdsi.LastActivityTime = &lastActivityTime + } + } + } -// AsPrestoLinkedService is the BasicLinkedService implementation for Db2LinkedService. -func (d2ls Db2LinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { - return nil, false + return nil } -// AsPhoenixLinkedService is the BasicLinkedService implementation for Db2LinkedService. -func (d2ls Db2LinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { - return nil, false +// DataFlowFolder the folder that this data flow is in. If not specified, Data flow will appear at the root +// level. +type DataFlowFolder struct { + // Name - The name of the folder that this data flow is in. + Name *string `json:"name,omitempty"` } -// AsPaypalLinkedService is the BasicLinkedService implementation for Db2LinkedService. -func (d2ls Db2LinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { - return nil, false +// DataFlowListResponse a list of data flow resources. +type DataFlowListResponse struct { + autorest.Response `json:"-"` + // Value - List of data flows. + Value *[]DataFlowResource `json:"value,omitempty"` + // NextLink - The link to the next page of results, if any remaining results exist. + NextLink *string `json:"nextLink,omitempty"` } -// AsMarketoLinkedService is the BasicLinkedService implementation for Db2LinkedService. -func (d2ls Db2LinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { - return nil, false +// DataFlowListResponseIterator provides access to a complete listing of DataFlowResource values. +type DataFlowListResponseIterator struct { + i int + page DataFlowListResponsePage } -// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for Db2LinkedService. -func (d2ls Db2LinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { - return nil, false +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *DataFlowListResponseIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DataFlowListResponseIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil } -// AsMariaDBLinkedService is the BasicLinkedService implementation for Db2LinkedService. -func (d2ls Db2LinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { - return nil, false +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *DataFlowListResponseIterator) Next() error { + return iter.NextWithContext(context.Background()) } -// AsMagentoLinkedService is the BasicLinkedService implementation for Db2LinkedService. -func (d2ls Db2LinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { - return nil, false +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter DataFlowListResponseIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) } -// AsJiraLinkedService is the BasicLinkedService implementation for Db2LinkedService. -func (d2ls Db2LinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { - return nil, false +// Response returns the raw server response from the last page request. +func (iter DataFlowListResponseIterator) Response() DataFlowListResponse { + return iter.page.Response() } -// AsImpalaLinkedService is the BasicLinkedService implementation for Db2LinkedService. -func (d2ls Db2LinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { - return nil, false +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter DataFlowListResponseIterator) Value() DataFlowResource { + if !iter.page.NotDone() { + return DataFlowResource{} + } + return iter.page.Values()[iter.i] } -// AsHubspotLinkedService is the BasicLinkedService implementation for Db2LinkedService. -func (d2ls Db2LinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { - return nil, false +// Creates a new instance of the DataFlowListResponseIterator type. +func NewDataFlowListResponseIterator(page DataFlowListResponsePage) DataFlowListResponseIterator { + return DataFlowListResponseIterator{page: page} } -// AsHiveLinkedService is the BasicLinkedService implementation for Db2LinkedService. -func (d2ls Db2LinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { - return nil, false +// IsEmpty returns true if the ListResult contains no values. +func (dflr DataFlowListResponse) IsEmpty() bool { + return dflr.Value == nil || len(*dflr.Value) == 0 } -// AsHBaseLinkedService is the BasicLinkedService implementation for Db2LinkedService. -func (d2ls Db2LinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { - return nil, false +// dataFlowListResponsePreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (dflr DataFlowListResponse) dataFlowListResponsePreparer(ctx context.Context) (*http.Request, error) { + if dflr.NextLink == nil || len(to.String(dflr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(dflr.NextLink))) } -// AsGreenplumLinkedService is the BasicLinkedService implementation for Db2LinkedService. -func (d2ls Db2LinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { - return nil, false +// DataFlowListResponsePage contains a page of DataFlowResource values. +type DataFlowListResponsePage struct { + fn func(context.Context, DataFlowListResponse) (DataFlowListResponse, error) + dflr DataFlowListResponse } -// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for Db2LinkedService. -func (d2ls Db2LinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { - return nil, false +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *DataFlowListResponsePage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DataFlowListResponsePage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.dflr) + if err != nil { + return err + } + page.dflr = next + return nil } -// AsEloquaLinkedService is the BasicLinkedService implementation for Db2LinkedService. -func (d2ls Db2LinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { - return nil, false +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *DataFlowListResponsePage) Next() error { + return page.NextWithContext(context.Background()) } -// AsDrillLinkedService is the BasicLinkedService implementation for Db2LinkedService. -func (d2ls Db2LinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { - return nil, false +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page DataFlowListResponsePage) NotDone() bool { + return !page.dflr.IsEmpty() } -// AsCouchbaseLinkedService is the BasicLinkedService implementation for Db2LinkedService. -func (d2ls Db2LinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { - return nil, false +// Response returns the raw server response from the last page request. +func (page DataFlowListResponsePage) Response() DataFlowListResponse { + return page.dflr } -// AsConcurLinkedService is the BasicLinkedService implementation for Db2LinkedService. -func (d2ls Db2LinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { - return nil, false +// Values returns the slice of values for the current page or nil if there are no values. +func (page DataFlowListResponsePage) Values() []DataFlowResource { + if page.dflr.IsEmpty() { + return nil + } + return *page.dflr.Value } -// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for Db2LinkedService. -func (d2ls Db2LinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { - return nil, false +// Creates a new instance of the DataFlowListResponsePage type. +func NewDataFlowListResponsePage(getNextPage func(context.Context, DataFlowListResponse) (DataFlowListResponse, error)) DataFlowListResponsePage { + return DataFlowListResponsePage{fn: getNextPage} } -// AsAmazonMWSLinkedService is the BasicLinkedService implementation for Db2LinkedService. -func (d2ls Db2LinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { - return nil, false +// DataFlowReference data flow reference type. +type DataFlowReference struct { + // Type - Data flow reference type. + Type *string `json:"type,omitempty"` + // ReferenceName - Reference data flow name. + ReferenceName *string `json:"referenceName,omitempty"` + // DatasetParameters - Reference data flow parameters from dataset. + DatasetParameters interface{} `json:"datasetParameters,omitempty"` } -// AsSapHanaLinkedService is the BasicLinkedService implementation for Db2LinkedService. -func (d2ls Db2LinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { - return nil, false +// DataFlowResource data flow resource type. +type DataFlowResource struct { + autorest.Response `json:"-"` + // Properties - Data flow properties. + Properties BasicDataFlow `json:"properties,omitempty"` + // ID - READ-ONLY; The resource identifier. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; The resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; The resource type. + Type *string `json:"type,omitempty"` + // Etag - READ-ONLY; Etag identifies change in the resource. + Etag *string `json:"etag,omitempty"` } -// AsSapBWLinkedService is the BasicLinkedService implementation for Db2LinkedService. -func (d2ls Db2LinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { - return nil, false -} +// UnmarshalJSON is the custom unmarshaler for DataFlowResource struct. +func (dfr *DataFlowResource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + properties, err := unmarshalBasicDataFlow(*v) + if err != nil { + return err + } + dfr.Properties = properties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + dfr.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + dfr.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + dfr.Type = &typeVar + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + dfr.Etag = &etag + } + } + } -// AsSftpServerLinkedService is the BasicLinkedService implementation for Db2LinkedService. -func (d2ls Db2LinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { - return nil, false + return nil } -// AsFtpServerLinkedService is the BasicLinkedService implementation for Db2LinkedService. -func (d2ls Db2LinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { - return nil, false +// DataFlowSink transformation for data flow sink. +type DataFlowSink struct { + // Dataset - Dataset reference. + Dataset *DatasetReference `json:"dataset,omitempty"` + // Name - Transformation name. + Name *string `json:"name,omitempty"` + // Description - Transformation description. + Description *string `json:"description,omitempty"` } -// AsHTTPLinkedService is the BasicLinkedService implementation for Db2LinkedService. -func (d2ls Db2LinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { - return nil, false +// DataFlowSource transformation for data flow source. +type DataFlowSource struct { + // Dataset - Dataset reference. + Dataset *DatasetReference `json:"dataset,omitempty"` + // Name - Transformation name. + Name *string `json:"name,omitempty"` + // Description - Transformation description. + Description *string `json:"description,omitempty"` } -// AsAzureSearchLinkedService is the BasicLinkedService implementation for Db2LinkedService. -func (d2ls Db2LinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { - return nil, false +// DataFlowSourceSetting definition of data flow source setting for debug. +type DataFlowSourceSetting struct { + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // SourceName - The data flow source name. + SourceName *string `json:"sourceName,omitempty"` + // RowLimit - Defines the row limit of data flow source in debug. + RowLimit *int32 `json:"rowLimit,omitempty"` } -// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for Db2LinkedService. -func (d2ls Db2LinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { - return nil, false +// MarshalJSON is the custom marshaler for DataFlowSourceSetting. +func (dfss DataFlowSourceSetting) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if dfss.SourceName != nil { + objectMap["sourceName"] = dfss.SourceName + } + if dfss.RowLimit != nil { + objectMap["rowLimit"] = dfss.RowLimit + } + for k, v := range dfss.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) } -// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for Db2LinkedService. -func (d2ls Db2LinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { - return nil, false -} +// UnmarshalJSON is the custom unmarshaler for DataFlowSourceSetting struct. +func (dfss *DataFlowSourceSetting) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if dfss.AdditionalProperties == nil { + dfss.AdditionalProperties = make(map[string]interface{}) + } + dfss.AdditionalProperties[k] = additionalProperties + } + case "sourceName": + if v != nil { + var sourceName string + err = json.Unmarshal(*v, &sourceName) + if err != nil { + return err + } + dfss.SourceName = &sourceName + } + case "rowLimit": + if v != nil { + var rowLimit int32 + err = json.Unmarshal(*v, &rowLimit) + if err != nil { + return err + } + dfss.RowLimit = &rowLimit + } + } + } -// AsAmazonS3LinkedService is the BasicLinkedService implementation for Db2LinkedService. -func (d2ls Db2LinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { - return nil, false + return nil } -// AsRestServiceLinkedService is the BasicLinkedService implementation for Db2LinkedService. -func (d2ls Db2LinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { - return nil, false +// DataFlowStagingInfo staging info for execute data flow activity. +type DataFlowStagingInfo struct { + // LinkedService - Staging linked service reference. + LinkedService *LinkedServiceReference `json:"linkedService,omitempty"` + // FolderPath - Folder path for staging blob. + FolderPath *string `json:"folderPath,omitempty"` } -// AsSapOpenHubLinkedService is the BasicLinkedService implementation for Db2LinkedService. -func (d2ls Db2LinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { - return nil, false +// DataLakeAnalyticsUSQLActivity data Lake Analytics U-SQL activity. +type DataLakeAnalyticsUSQLActivity struct { + // DataLakeAnalyticsUSQLActivityTypeProperties - Data Lake Analytics U-SQL activity properties. + *DataLakeAnalyticsUSQLActivityTypeProperties `json:"typeProperties,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Policy - Activity policy. + Policy *ActivityPolicy `json:"policy,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Name - Activity name. + Name *string `json:"name,omitempty"` + // Description - Activity description. + Description *string `json:"description,omitempty"` + // DependsOn - Activity depends on condition. + DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"` + // UserProperties - Activity user properties. + UserProperties *[]UserProperty `json:"userProperties,omitempty"` + // Type - Possible values include: 'TypeActivity', 'TypeExecuteDataFlow', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLExecutePipeline', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeSwitch', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer' + Type TypeBasicActivity `json:"type,omitempty"` } -// AsSapEccLinkedService is the BasicLinkedService implementation for Db2LinkedService. -func (d2ls Db2LinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { - return nil, false +// MarshalJSON is the custom marshaler for DataLakeAnalyticsUSQLActivity. +func (dlaua DataLakeAnalyticsUSQLActivity) MarshalJSON() ([]byte, error) { + dlaua.Type = TypeDataLakeAnalyticsUSQL + objectMap := make(map[string]interface{}) + if dlaua.DataLakeAnalyticsUSQLActivityTypeProperties != nil { + objectMap["typeProperties"] = dlaua.DataLakeAnalyticsUSQLActivityTypeProperties + } + if dlaua.LinkedServiceName != nil { + objectMap["linkedServiceName"] = dlaua.LinkedServiceName + } + if dlaua.Policy != nil { + objectMap["policy"] = dlaua.Policy + } + if dlaua.Name != nil { + objectMap["name"] = dlaua.Name + } + if dlaua.Description != nil { + objectMap["description"] = dlaua.Description + } + if dlaua.DependsOn != nil { + objectMap["dependsOn"] = dlaua.DependsOn + } + if dlaua.UserProperties != nil { + objectMap["userProperties"] = dlaua.UserProperties + } + if dlaua.Type != "" { + objectMap["type"] = dlaua.Type + } + for k, v := range dlaua.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) } -// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for Db2LinkedService. -func (d2ls Db2LinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { +// AsExecuteDataFlowActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. +func (dlaua DataLakeAnalyticsUSQLActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) { return nil, false } -// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for Db2LinkedService. -func (d2ls Db2LinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { +// AsAzureFunctionActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. +func (dlaua DataLakeAnalyticsUSQLActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) { return nil, false } -// AsSalesforceLinkedService is the BasicLinkedService implementation for Db2LinkedService. -func (d2ls Db2LinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { +// AsDatabricksSparkPythonActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. +func (dlaua DataLakeAnalyticsUSQLActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) { return nil, false } -// AsOffice365LinkedService is the BasicLinkedService implementation for Db2LinkedService. -func (d2ls Db2LinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { +// AsDatabricksSparkJarActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. +func (dlaua DataLakeAnalyticsUSQLActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) { return nil, false } -// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for Db2LinkedService. -func (d2ls Db2LinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { +// AsDatabricksNotebookActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. +func (dlaua DataLakeAnalyticsUSQLActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) { return nil, false } -// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for Db2LinkedService. -func (d2ls Db2LinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { - return nil, false +// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. +func (dlaua DataLakeAnalyticsUSQLActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) { + return &dlaua, true } -// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for Db2LinkedService. -func (d2ls Db2LinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { +// AsAzureMLExecutePipelineActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. +func (dlaua DataLakeAnalyticsUSQLActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) { return nil, false } -// AsMongoDbV2LinkedService is the BasicLinkedService implementation for Db2LinkedService. -func (d2ls Db2LinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { +// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. +func (dlaua DataLakeAnalyticsUSQLActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) { return nil, false } -// AsMongoDbLinkedService is the BasicLinkedService implementation for Db2LinkedService. -func (d2ls Db2LinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { +// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. +func (dlaua DataLakeAnalyticsUSQLActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) { return nil, false } -// AsCassandraLinkedService is the BasicLinkedService implementation for Db2LinkedService. -func (d2ls Db2LinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { +// AsGetMetadataActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. +func (dlaua DataLakeAnalyticsUSQLActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) { return nil, false } -// AsWebLinkedService is the BasicLinkedService implementation for Db2LinkedService. -func (d2ls Db2LinkedService) AsWebLinkedService() (*WebLinkedService, bool) { +// AsWebActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. +func (dlaua DataLakeAnalyticsUSQLActivity) AsWebActivity() (*WebActivity, bool) { return nil, false } -// AsODataLinkedService is the BasicLinkedService implementation for Db2LinkedService. -func (d2ls Db2LinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { +// AsLookupActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. +func (dlaua DataLakeAnalyticsUSQLActivity) AsLookupActivity() (*LookupActivity, bool) { return nil, false } -// AsHdfsLinkedService is the BasicLinkedService implementation for Db2LinkedService. -func (d2ls Db2LinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { +// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. +func (dlaua DataLakeAnalyticsUSQLActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) { return nil, false } -// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for Db2LinkedService. -func (d2ls Db2LinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { +// AsDeleteActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. +func (dlaua DataLakeAnalyticsUSQLActivity) AsDeleteActivity() (*DeleteActivity, bool) { return nil, false } -// AsInformixLinkedService is the BasicLinkedService implementation for Db2LinkedService. -func (d2ls Db2LinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { +// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. +func (dlaua DataLakeAnalyticsUSQLActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) { return nil, false } -// AsOdbcLinkedService is the BasicLinkedService implementation for Db2LinkedService. -func (d2ls Db2LinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { +// AsCustomActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. +func (dlaua DataLakeAnalyticsUSQLActivity) AsCustomActivity() (*CustomActivity, bool) { return nil, false } -// AsAzureMLLinkedService is the BasicLinkedService implementation for Db2LinkedService. -func (d2ls Db2LinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { +// AsExecuteSSISPackageActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. +func (dlaua DataLakeAnalyticsUSQLActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) { return nil, false } -// AsTeradataLinkedService is the BasicLinkedService implementation for Db2LinkedService. -func (d2ls Db2LinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { +// AsHDInsightSparkActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. +func (dlaua DataLakeAnalyticsUSQLActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) { return nil, false } -// AsDb2LinkedService is the BasicLinkedService implementation for Db2LinkedService. -func (d2ls Db2LinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { - return &d2ls, true -} - -// AsSybaseLinkedService is the BasicLinkedService implementation for Db2LinkedService. -func (d2ls Db2LinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { +// AsHDInsightStreamingActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. +func (dlaua DataLakeAnalyticsUSQLActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) { return nil, false } -// AsPostgreSQLLinkedService is the BasicLinkedService implementation for Db2LinkedService. -func (d2ls Db2LinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { +// AsHDInsightMapReduceActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. +func (dlaua DataLakeAnalyticsUSQLActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) { return nil, false } -// AsMySQLLinkedService is the BasicLinkedService implementation for Db2LinkedService. -func (d2ls Db2LinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { +// AsHDInsightPigActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. +func (dlaua DataLakeAnalyticsUSQLActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) { return nil, false } -// AsAzureMySQLLinkedService is the BasicLinkedService implementation for Db2LinkedService. -func (d2ls Db2LinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { +// AsHDInsightHiveActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. +func (dlaua DataLakeAnalyticsUSQLActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) { return nil, false } -// AsOracleLinkedService is the BasicLinkedService implementation for Db2LinkedService. -func (d2ls Db2LinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { +// AsCopyActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. +func (dlaua DataLakeAnalyticsUSQLActivity) AsCopyActivity() (*CopyActivity, bool) { return nil, false } -// AsFileServerLinkedService is the BasicLinkedService implementation for Db2LinkedService. -func (d2ls Db2LinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { +// AsExecutionActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. +func (dlaua DataLakeAnalyticsUSQLActivity) AsExecutionActivity() (*ExecutionActivity, bool) { return nil, false } -// AsHDInsightLinkedService is the BasicLinkedService implementation for Db2LinkedService. -func (d2ls Db2LinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { - return nil, false +// AsBasicExecutionActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. +func (dlaua DataLakeAnalyticsUSQLActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) { + return &dlaua, true } -// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for Db2LinkedService. -func (d2ls Db2LinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { +// AsWebHookActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. +func (dlaua DataLakeAnalyticsUSQLActivity) AsWebHookActivity() (*WebHookActivity, bool) { return nil, false } -// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for Db2LinkedService. -func (d2ls Db2LinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { +// AsAppendVariableActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. +func (dlaua DataLakeAnalyticsUSQLActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) { return nil, false } -// AsDynamicsLinkedService is the BasicLinkedService implementation for Db2LinkedService. -func (d2ls Db2LinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { +// AsSetVariableActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. +func (dlaua DataLakeAnalyticsUSQLActivity) AsSetVariableActivity() (*SetVariableActivity, bool) { return nil, false } -// AsCosmosDbLinkedService is the BasicLinkedService implementation for Db2LinkedService. -func (d2ls Db2LinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { +// AsFilterActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. +func (dlaua DataLakeAnalyticsUSQLActivity) AsFilterActivity() (*FilterActivity, bool) { return nil, false } -// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for Db2LinkedService. -func (d2ls Db2LinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { +// AsValidationActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. +func (dlaua DataLakeAnalyticsUSQLActivity) AsValidationActivity() (*ValidationActivity, bool) { return nil, false } -// AsAzureBatchLinkedService is the BasicLinkedService implementation for Db2LinkedService. -func (d2ls Db2LinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { +// AsUntilActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. +func (dlaua DataLakeAnalyticsUSQLActivity) AsUntilActivity() (*UntilActivity, bool) { return nil, false } -// AsAzureSQLMILinkedService is the BasicLinkedService implementation for Db2LinkedService. -func (d2ls Db2LinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { +// AsWaitActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. +func (dlaua DataLakeAnalyticsUSQLActivity) AsWaitActivity() (*WaitActivity, bool) { return nil, false } -// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for Db2LinkedService. -func (d2ls Db2LinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { +// AsForEachActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. +func (dlaua DataLakeAnalyticsUSQLActivity) AsForEachActivity() (*ForEachActivity, bool) { return nil, false } -// AsSQLServerLinkedService is the BasicLinkedService implementation for Db2LinkedService. -func (d2ls Db2LinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { +// AsSwitchActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. +func (dlaua DataLakeAnalyticsUSQLActivity) AsSwitchActivity() (*SwitchActivity, bool) { return nil, false } -// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for Db2LinkedService. -func (d2ls Db2LinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { +// AsIfConditionActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. +func (dlaua DataLakeAnalyticsUSQLActivity) AsIfConditionActivity() (*IfConditionActivity, bool) { return nil, false } -// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for Db2LinkedService. -func (d2ls Db2LinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { +// AsExecutePipelineActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. +func (dlaua DataLakeAnalyticsUSQLActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) { return nil, false } -// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for Db2LinkedService. -func (d2ls Db2LinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { +// AsControlActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. +func (dlaua DataLakeAnalyticsUSQLActivity) AsControlActivity() (*ControlActivity, bool) { return nil, false } -// AsAzureStorageLinkedService is the BasicLinkedService implementation for Db2LinkedService. -func (d2ls Db2LinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { +// AsBasicControlActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. +func (dlaua DataLakeAnalyticsUSQLActivity) AsBasicControlActivity() (BasicControlActivity, bool) { return nil, false } -// AsLinkedService is the BasicLinkedService implementation for Db2LinkedService. -func (d2ls Db2LinkedService) AsLinkedService() (*LinkedService, bool) { +// AsActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. +func (dlaua DataLakeAnalyticsUSQLActivity) AsActivity() (*Activity, bool) { return nil, false } -// AsBasicLinkedService is the BasicLinkedService implementation for Db2LinkedService. -func (d2ls Db2LinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { - return &d2ls, true +// AsBasicActivity is the BasicActivity implementation for DataLakeAnalyticsUSQLActivity. +func (dlaua DataLakeAnalyticsUSQLActivity) AsBasicActivity() (BasicActivity, bool) { + return &dlaua, true } -// UnmarshalJSON is the custom unmarshaler for Db2LinkedService struct. -func (d2ls *Db2LinkedService) UnmarshalJSON(body []byte) error { +// UnmarshalJSON is the custom unmarshaler for DataLakeAnalyticsUSQLActivity struct. +func (dlaua *DataLakeAnalyticsUSQLActivity) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -60041,33 +65751,51 @@ func (d2ls *Db2LinkedService) UnmarshalJSON(body []byte) error { switch k { case "typeProperties": if v != nil { - var db2LinkedServiceTypeProperties Db2LinkedServiceTypeProperties - err = json.Unmarshal(*v, &db2LinkedServiceTypeProperties) + var dataLakeAnalyticsUSQLActivityTypeProperties DataLakeAnalyticsUSQLActivityTypeProperties + err = json.Unmarshal(*v, &dataLakeAnalyticsUSQLActivityTypeProperties) if err != nil { return err } - d2ls.Db2LinkedServiceTypeProperties = &db2LinkedServiceTypeProperties + dlaua.DataLakeAnalyticsUSQLActivityTypeProperties = &dataLakeAnalyticsUSQLActivityTypeProperties } - default: + case "linkedServiceName": if v != nil { - var additionalProperties interface{} - err = json.Unmarshal(*v, &additionalProperties) + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) if err != nil { return err } - if d2ls.AdditionalProperties == nil { - d2ls.AdditionalProperties = make(map[string]interface{}) + dlaua.LinkedServiceName = &linkedServiceName + } + case "policy": + if v != nil { + var policy ActivityPolicy + err = json.Unmarshal(*v, &policy) + if err != nil { + return err } - d2ls.AdditionalProperties[k] = additionalProperties + dlaua.Policy = &policy } - case "connectVia": + default: if v != nil { - var connectVia IntegrationRuntimeReference - err = json.Unmarshal(*v, &connectVia) + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) if err != nil { return err } - d2ls.ConnectVia = &connectVia + if dlaua.AdditionalProperties == nil { + dlaua.AdditionalProperties = make(map[string]interface{}) + } + dlaua.AdditionalProperties[k] = additionalProperties + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + dlaua.Name = &name } case "description": if v != nil { @@ -60076,34 +65804,34 @@ func (d2ls *Db2LinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - d2ls.Description = &description + dlaua.Description = &description } - case "parameters": + case "dependsOn": if v != nil { - var parameters map[string]*ParameterSpecification - err = json.Unmarshal(*v, ¶meters) + var dependsOn []ActivityDependency + err = json.Unmarshal(*v, &dependsOn) if err != nil { return err } - d2ls.Parameters = parameters + dlaua.DependsOn = &dependsOn } - case "annotations": + case "userProperties": if v != nil { - var annotations []interface{} - err = json.Unmarshal(*v, &annotations) + var userProperties []UserProperty + err = json.Unmarshal(*v, &userProperties) if err != nil { return err } - d2ls.Annotations = &annotations + dlaua.UserProperties = &userProperties } case "type": if v != nil { - var typeVar TypeBasicLinkedService + var typeVar TypeBasicActivity err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - d2ls.Type = typeVar + dlaua.Type = typeVar } } } @@ -60111,621 +65839,1119 @@ func (d2ls *Db2LinkedService) UnmarshalJSON(body []byte) error { return nil } -// Db2LinkedServiceTypeProperties dB2 linked service properties. -type Db2LinkedServiceTypeProperties struct { - // Server - Server name for connection. Type: string (or Expression with resultType string). - Server interface{} `json:"server,omitempty"` - // Database - Database name for connection. Type: string (or Expression with resultType string). - Database interface{} `json:"database,omitempty"` - // AuthenticationType - AuthenticationType to be used for connection. Possible values include: 'Basic' - AuthenticationType Db2AuthenticationType `json:"authenticationType,omitempty"` - // Username - Username for authentication. Type: string (or Expression with resultType string). - Username interface{} `json:"username,omitempty"` - // Password - Password for authentication. - Password BasicSecretBase `json:"password,omitempty"` - // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). - EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` +// DataLakeAnalyticsUSQLActivityTypeProperties dataLakeAnalyticsU-SQL activity properties. +type DataLakeAnalyticsUSQLActivityTypeProperties struct { + // ScriptPath - Case-sensitive path to folder that contains the U-SQL script. Type: string (or Expression with resultType string). + ScriptPath interface{} `json:"scriptPath,omitempty"` + // ScriptLinkedService - Script linked service reference. + ScriptLinkedService *LinkedServiceReference `json:"scriptLinkedService,omitempty"` + // DegreeOfParallelism - The maximum number of nodes simultaneously used to run the job. Default value is 1. Type: integer (or Expression with resultType integer), minimum: 1. + DegreeOfParallelism interface{} `json:"degreeOfParallelism,omitempty"` + // Priority - Determines which jobs out of all that are queued should be selected to run first. The lower the number, the higher the priority. Default value is 1000. Type: integer (or Expression with resultType integer), minimum: 1. + Priority interface{} `json:"priority,omitempty"` + // Parameters - Parameters for U-SQL job request. + Parameters map[string]interface{} `json:"parameters"` + // RuntimeVersion - Runtime version of the U-SQL engine to use. Type: string (or Expression with resultType string). + RuntimeVersion interface{} `json:"runtimeVersion,omitempty"` + // CompilationMode - Compilation mode of U-SQL. Must be one of these values : Semantic, Full and SingleBox. Type: string (or Expression with resultType string). + CompilationMode interface{} `json:"compilationMode,omitempty"` } -// UnmarshalJSON is the custom unmarshaler for Db2LinkedServiceTypeProperties struct. -func (d2lstp *Db2LinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err +// MarshalJSON is the custom marshaler for DataLakeAnalyticsUSQLActivityTypeProperties. +func (dlauatp DataLakeAnalyticsUSQLActivityTypeProperties) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if dlauatp.ScriptPath != nil { + objectMap["scriptPath"] = dlauatp.ScriptPath } - for k, v := range m { - switch k { - case "server": - if v != nil { - var server interface{} - err = json.Unmarshal(*v, &server) - if err != nil { - return err - } - d2lstp.Server = server - } - case "database": - if v != nil { - var databaseVar interface{} - err = json.Unmarshal(*v, &databaseVar) - if err != nil { - return err - } - d2lstp.Database = databaseVar - } - case "authenticationType": - if v != nil { - var authenticationType Db2AuthenticationType - err = json.Unmarshal(*v, &authenticationType) - if err != nil { - return err - } - d2lstp.AuthenticationType = authenticationType - } - case "username": - if v != nil { - var username interface{} - err = json.Unmarshal(*v, &username) - if err != nil { - return err - } - d2lstp.Username = username - } - case "password": - if v != nil { - password, err := unmarshalBasicSecretBase(*v) - if err != nil { - return err - } - d2lstp.Password = password - } - case "encryptedCredential": - if v != nil { - var encryptedCredential interface{} - err = json.Unmarshal(*v, &encryptedCredential) - if err != nil { - return err - } - d2lstp.EncryptedCredential = encryptedCredential - } - } + if dlauatp.ScriptLinkedService != nil { + objectMap["scriptLinkedService"] = dlauatp.ScriptLinkedService + } + if dlauatp.DegreeOfParallelism != nil { + objectMap["degreeOfParallelism"] = dlauatp.DegreeOfParallelism + } + if dlauatp.Priority != nil { + objectMap["priority"] = dlauatp.Priority + } + if dlauatp.Parameters != nil { + objectMap["parameters"] = dlauatp.Parameters + } + if dlauatp.RuntimeVersion != nil { + objectMap["runtimeVersion"] = dlauatp.RuntimeVersion } + if dlauatp.CompilationMode != nil { + objectMap["compilationMode"] = dlauatp.CompilationMode + } + return json.Marshal(objectMap) +} - return nil +// BasicDataset the Azure Data Factory nested object which identifies data within different data stores, such as +// tables, files, folders, and documents. +type BasicDataset interface { + AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) + AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) + AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) + AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) + AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) + AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) + AsVerticaTableDataset() (*VerticaTableDataset, bool) + AsNetezzaTableDataset() (*NetezzaTableDataset, bool) + AsZohoObjectDataset() (*ZohoObjectDataset, bool) + AsXeroObjectDataset() (*XeroObjectDataset, bool) + AsSquareObjectDataset() (*SquareObjectDataset, bool) + AsSparkObjectDataset() (*SparkObjectDataset, bool) + AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) + AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) + AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) + AsPrestoObjectDataset() (*PrestoObjectDataset, bool) + AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) + AsPaypalObjectDataset() (*PaypalObjectDataset, bool) + AsMarketoObjectDataset() (*MarketoObjectDataset, bool) + AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) + AsMariaDBTableDataset() (*MariaDBTableDataset, bool) + AsMagentoObjectDataset() (*MagentoObjectDataset, bool) + AsJiraObjectDataset() (*JiraObjectDataset, bool) + AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) + AsHubspotObjectDataset() (*HubspotObjectDataset, bool) + AsHiveObjectDataset() (*HiveObjectDataset, bool) + AsHBaseObjectDataset() (*HBaseObjectDataset, bool) + AsGreenplumTableDataset() (*GreenplumTableDataset, bool) + AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) + AsEloquaObjectDataset() (*EloquaObjectDataset, bool) + AsDrillTableDataset() (*DrillTableDataset, bool) + AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) + AsConcurObjectDataset() (*ConcurObjectDataset, bool) + AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) + AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) + AsHTTPDataset() (*HTTPDataset, bool) + AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) + AsWebTableDataset() (*WebTableDataset, bool) + AsSapTableResourceDataset() (*SapTableResourceDataset, bool) + AsRestResourceDataset() (*RestResourceDataset, bool) + AsSQLServerTableDataset() (*SQLServerTableDataset, bool) + AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) + AsSapHanaTableDataset() (*SapHanaTableDataset, bool) + AsSapEccResourceDataset() (*SapEccResourceDataset, bool) + AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) + AsSapBwCubeDataset() (*SapBwCubeDataset, bool) + AsSybaseTableDataset() (*SybaseTableDataset, bool) + AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) + AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) + AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) + AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) + AsMySQLTableDataset() (*MySQLTableDataset, bool) + AsOdbcTableDataset() (*OdbcTableDataset, bool) + AsInformixTableDataset() (*InformixTableDataset, bool) + AsRelationalTableDataset() (*RelationalTableDataset, bool) + AsDb2TableDataset() (*Db2TableDataset, bool) + AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) + AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) + AsTeradataTableDataset() (*TeradataTableDataset, bool) + AsOracleTableDataset() (*OracleTableDataset, bool) + AsODataResourceDataset() (*ODataResourceDataset, bool) + AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) + AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) + AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) + AsFileShareDataset() (*FileShareDataset, bool) + AsOffice365Dataset() (*Office365Dataset, bool) + AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) + AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) + AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) + AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) + AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) + AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) + AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) + AsCustomDataset() (*CustomDataset, bool) + AsCassandraTableDataset() (*CassandraTableDataset, bool) + AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) + AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) + AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) + AsAzureTableDataset() (*AzureTableDataset, bool) + AsAzureBlobDataset() (*AzureBlobDataset, bool) + AsBinaryDataset() (*BinaryDataset, bool) + AsOrcDataset() (*OrcDataset, bool) + AsJSONDataset() (*JSONDataset, bool) + AsDelimitedTextDataset() (*DelimitedTextDataset, bool) + AsParquetDataset() (*ParquetDataset, bool) + AsAvroDataset() (*AvroDataset, bool) + AsAmazonS3Dataset() (*AmazonS3Dataset, bool) + AsDataset() (*Dataset, bool) } -// Db2Source a copy activity source for Db2 databases. -type Db2Source struct { - // Query - Database query. Type: string (or Expression with resultType string). - Query interface{} `json:"query,omitempty"` +// Dataset the Azure Data Factory nested object which identifies data within different data stores, such as +// tables, files, folders, and documents. +type Dataset struct { // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` - // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). - SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` - // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). - SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` - // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). - MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' - Type TypeBasicCopySource `json:"type,omitempty"` + // Description - Dataset description. + Description *string `json:"description,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' + Type TypeBasicDataset `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for Db2Source. -func (d2s Db2Source) MarshalJSON() ([]byte, error) { - d2s.Type = TypeDb2Source +func unmarshalBasicDataset(body []byte) (BasicDataset, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["type"] { + case string(TypeGoogleAdWordsObject): + var gawod GoogleAdWordsObjectDataset + err := json.Unmarshal(body, &gawod) + return gawod, err + case string(TypeAzureDataExplorerTable): + var adetd AzureDataExplorerTableDataset + err := json.Unmarshal(body, &adetd) + return adetd, err + case string(TypeOracleServiceCloudObject): + var oscod OracleServiceCloudObjectDataset + err := json.Unmarshal(body, &oscod) + return oscod, err + case string(TypeDynamicsAXResource): + var dard DynamicsAXResourceDataset + err := json.Unmarshal(body, &dard) + return dard, err + case string(TypeResponsysObject): + var rod ResponsysObjectDataset + err := json.Unmarshal(body, &rod) + return rod, err + case string(TypeSalesforceMarketingCloudObject): + var smcod SalesforceMarketingCloudObjectDataset + err := json.Unmarshal(body, &smcod) + return smcod, err + case string(TypeVerticaTable): + var vtd VerticaTableDataset + err := json.Unmarshal(body, &vtd) + return vtd, err + case string(TypeNetezzaTable): + var ntd NetezzaTableDataset + err := json.Unmarshal(body, &ntd) + return ntd, err + case string(TypeZohoObject): + var zod ZohoObjectDataset + err := json.Unmarshal(body, &zod) + return zod, err + case string(TypeXeroObject): + var xod XeroObjectDataset + err := json.Unmarshal(body, &xod) + return xod, err + case string(TypeSquareObject): + var sod SquareObjectDataset + err := json.Unmarshal(body, &sod) + return sod, err + case string(TypeSparkObject): + var sod SparkObjectDataset + err := json.Unmarshal(body, &sod) + return sod, err + case string(TypeShopifyObject): + var sod ShopifyObjectDataset + err := json.Unmarshal(body, &sod) + return sod, err + case string(TypeServiceNowObject): + var snod ServiceNowObjectDataset + err := json.Unmarshal(body, &snod) + return snod, err + case string(TypeQuickBooksObject): + var qbod QuickBooksObjectDataset + err := json.Unmarshal(body, &qbod) + return qbod, err + case string(TypePrestoObject): + var pod PrestoObjectDataset + err := json.Unmarshal(body, &pod) + return pod, err + case string(TypePhoenixObject): + var pod PhoenixObjectDataset + err := json.Unmarshal(body, &pod) + return pod, err + case string(TypePaypalObject): + var pod PaypalObjectDataset + err := json.Unmarshal(body, &pod) + return pod, err + case string(TypeMarketoObject): + var mod MarketoObjectDataset + err := json.Unmarshal(body, &mod) + return mod, err + case string(TypeAzureMariaDBTable): + var amdtd AzureMariaDBTableDataset + err := json.Unmarshal(body, &amdtd) + return amdtd, err + case string(TypeMariaDBTable): + var mdtd MariaDBTableDataset + err := json.Unmarshal(body, &mdtd) + return mdtd, err + case string(TypeMagentoObject): + var mod MagentoObjectDataset + err := json.Unmarshal(body, &mod) + return mod, err + case string(TypeJiraObject): + var jod JiraObjectDataset + err := json.Unmarshal(body, &jod) + return jod, err + case string(TypeImpalaObject): + var iod ImpalaObjectDataset + err := json.Unmarshal(body, &iod) + return iod, err + case string(TypeHubspotObject): + var hod HubspotObjectDataset + err := json.Unmarshal(body, &hod) + return hod, err + case string(TypeHiveObject): + var hod HiveObjectDataset + err := json.Unmarshal(body, &hod) + return hod, err + case string(TypeHBaseObject): + var hbod HBaseObjectDataset + err := json.Unmarshal(body, &hbod) + return hbod, err + case string(TypeGreenplumTable): + var gtd GreenplumTableDataset + err := json.Unmarshal(body, >d) + return gtd, err + case string(TypeGoogleBigQueryObject): + var gbqod GoogleBigQueryObjectDataset + err := json.Unmarshal(body, &gbqod) + return gbqod, err + case string(TypeEloquaObject): + var eod EloquaObjectDataset + err := json.Unmarshal(body, &eod) + return eod, err + case string(TypeDrillTable): + var dtd DrillTableDataset + err := json.Unmarshal(body, &dtd) + return dtd, err + case string(TypeCouchbaseTable): + var ctd CouchbaseTableDataset + err := json.Unmarshal(body, &ctd) + return ctd, err + case string(TypeConcurObject): + var cod ConcurObjectDataset + err := json.Unmarshal(body, &cod) + return cod, err + case string(TypeAzurePostgreSQLTable): + var apstd AzurePostgreSQLTableDataset + err := json.Unmarshal(body, &apstd) + return apstd, err + case string(TypeAmazonMWSObject): + var amod AmazonMWSObjectDataset + err := json.Unmarshal(body, &amod) + return amod, err + case string(TypeHTTPFile): + var hd HTTPDataset + err := json.Unmarshal(body, &hd) + return hd, err + case string(TypeAzureSearchIndex): + var asid AzureSearchIndexDataset + err := json.Unmarshal(body, &asid) + return asid, err + case string(TypeWebTable): + var wtd WebTableDataset + err := json.Unmarshal(body, &wtd) + return wtd, err + case string(TypeSapTableResource): + var strd SapTableResourceDataset + err := json.Unmarshal(body, &strd) + return strd, err + case string(TypeRestResource): + var rrd RestResourceDataset + err := json.Unmarshal(body, &rrd) + return rrd, err + case string(TypeSQLServerTable): + var sstd SQLServerTableDataset + err := json.Unmarshal(body, &sstd) + return sstd, err + case string(TypeSapOpenHubTable): + var sohtd SapOpenHubTableDataset + err := json.Unmarshal(body, &sohtd) + return sohtd, err + case string(TypeSapHanaTable): + var shtd SapHanaTableDataset + err := json.Unmarshal(body, &shtd) + return shtd, err + case string(TypeSapEccResource): + var serd SapEccResourceDataset + err := json.Unmarshal(body, &serd) + return serd, err + case string(TypeSapCloudForCustomerResource): + var scfcrd SapCloudForCustomerResourceDataset + err := json.Unmarshal(body, &scfcrd) + return scfcrd, err + case string(TypeSapBwCube): + var sbcd SapBwCubeDataset + err := json.Unmarshal(body, &sbcd) + return sbcd, err + case string(TypeSybaseTable): + var std SybaseTableDataset + err := json.Unmarshal(body, &std) + return std, err + case string(TypeSalesforceServiceCloudObject): + var sscod SalesforceServiceCloudObjectDataset + err := json.Unmarshal(body, &sscod) + return sscod, err + case string(TypeSalesforceObject): + var sod SalesforceObjectDataset + err := json.Unmarshal(body, &sod) + return sod, err + case string(TypeMicrosoftAccessTable): + var matd MicrosoftAccessTableDataset + err := json.Unmarshal(body, &matd) + return matd, err + case string(TypePostgreSQLTable): + var pstd PostgreSQLTableDataset + err := json.Unmarshal(body, &pstd) + return pstd, err + case string(TypeMySQLTable): + var mstd MySQLTableDataset + err := json.Unmarshal(body, &mstd) + return mstd, err + case string(TypeOdbcTable): + var otd OdbcTableDataset + err := json.Unmarshal(body, &otd) + return otd, err + case string(TypeInformixTable): + var itd InformixTableDataset + err := json.Unmarshal(body, &itd) + return itd, err + case string(TypeRelationalTable): + var rtd RelationalTableDataset + err := json.Unmarshal(body, &rtd) + return rtd, err + case string(TypeDb2Table): + var d2td Db2TableDataset + err := json.Unmarshal(body, &d2td) + return d2td, err + case string(TypeAmazonRedshiftTable): + var artd AmazonRedshiftTableDataset + err := json.Unmarshal(body, &artd) + return artd, err + case string(TypeAzureMySQLTable): + var amstd AzureMySQLTableDataset + err := json.Unmarshal(body, &amstd) + return amstd, err + case string(TypeTeradataTable): + var ttd TeradataTableDataset + err := json.Unmarshal(body, &ttd) + return ttd, err + case string(TypeOracleTable): + var otd OracleTableDataset + err := json.Unmarshal(body, &otd) + return otd, err + case string(TypeODataResource): + var odrd ODataResourceDataset + err := json.Unmarshal(body, &odrd) + return odrd, err + case string(TypeCosmosDbMongoDbAPICollection): + var cdmdacd CosmosDbMongoDbAPICollectionDataset + err := json.Unmarshal(body, &cdmdacd) + return cdmdacd, err + case string(TypeMongoDbV2Collection): + var mdvcd MongoDbV2CollectionDataset + err := json.Unmarshal(body, &mdvcd) + return mdvcd, err + case string(TypeMongoDbCollection): + var mdcd MongoDbCollectionDataset + err := json.Unmarshal(body, &mdcd) + return mdcd, err + case string(TypeFileShare): + var fsd FileShareDataset + err := json.Unmarshal(body, &fsd) + return fsd, err + case string(TypeOffice365Table): + var o3d Office365Dataset + err := json.Unmarshal(body, &o3d) + return o3d, err + case string(TypeAzureBlobFSFile): + var abfd AzureBlobFSDataset + err := json.Unmarshal(body, &abfd) + return abfd, err + case string(TypeAzureDataLakeStoreFile): + var adlsd AzureDataLakeStoreDataset + err := json.Unmarshal(body, &adlsd) + return adlsd, err + case string(TypeCommonDataServiceForAppsEntity): + var cdsfaed CommonDataServiceForAppsEntityDataset + err := json.Unmarshal(body, &cdsfaed) + return cdsfaed, err + case string(TypeDynamicsCrmEntity): + var dced DynamicsCrmEntityDataset + err := json.Unmarshal(body, &dced) + return dced, err + case string(TypeDynamicsEntity): + var ded DynamicsEntityDataset + err := json.Unmarshal(body, &ded) + return ded, err + case string(TypeDocumentDbCollection): + var ddcd DocumentDbCollectionDataset + err := json.Unmarshal(body, &ddcd) + return ddcd, err + case string(TypeCosmosDbSQLAPICollection): + var cdsacd CosmosDbSQLAPICollectionDataset + err := json.Unmarshal(body, &cdsacd) + return cdsacd, err + case string(TypeCustomDataset): + var cd CustomDataset + err := json.Unmarshal(body, &cd) + return cd, err + case string(TypeCassandraTable): + var ctd CassandraTableDataset + err := json.Unmarshal(body, &ctd) + return ctd, err + case string(TypeAzureSQLDWTable): + var asdtd AzureSQLDWTableDataset + err := json.Unmarshal(body, &asdtd) + return asdtd, err + case string(TypeAzureSQLMITable): + var asmtd AzureSQLMITableDataset + err := json.Unmarshal(body, &asmtd) + return asmtd, err + case string(TypeAzureSQLTable): + var astd AzureSQLTableDataset + err := json.Unmarshal(body, &astd) + return astd, err + case string(TypeAzureTable): + var atd AzureTableDataset + err := json.Unmarshal(body, &atd) + return atd, err + case string(TypeAzureBlob): + var abd AzureBlobDataset + err := json.Unmarshal(body, &abd) + return abd, err + case string(TypeBinary): + var bd BinaryDataset + err := json.Unmarshal(body, &bd) + return bd, err + case string(TypeOrc): + var od OrcDataset + err := json.Unmarshal(body, &od) + return od, err + case string(TypeJSON): + var jd JSONDataset + err := json.Unmarshal(body, &jd) + return jd, err + case string(TypeDelimitedText): + var dtd DelimitedTextDataset + err := json.Unmarshal(body, &dtd) + return dtd, err + case string(TypeParquet): + var pd ParquetDataset + err := json.Unmarshal(body, &pd) + return pd, err + case string(TypeAvro): + var ad AvroDataset + err := json.Unmarshal(body, &ad) + return ad, err + case string(TypeAmazonS3Object): + var asd AmazonS3Dataset + err := json.Unmarshal(body, &asd) + return asd, err + default: + var d Dataset + err := json.Unmarshal(body, &d) + return d, err + } +} +func unmarshalBasicDatasetArray(body []byte) ([]BasicDataset, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + dArray := make([]BasicDataset, len(rawMessages)) + + for index, rawMessage := range rawMessages { + d, err := unmarshalBasicDataset(*rawMessage) + if err != nil { + return nil, err + } + dArray[index] = d + } + return dArray, nil +} + +// MarshalJSON is the custom marshaler for Dataset. +func (d Dataset) MarshalJSON() ([]byte, error) { + d.Type = TypeDataset objectMap := make(map[string]interface{}) - if d2s.Query != nil { - objectMap["query"] = d2s.Query + if d.Description != nil { + objectMap["description"] = d.Description } - if d2s.SourceRetryCount != nil { - objectMap["sourceRetryCount"] = d2s.SourceRetryCount + if d.Structure != nil { + objectMap["structure"] = d.Structure } - if d2s.SourceRetryWait != nil { - objectMap["sourceRetryWait"] = d2s.SourceRetryWait + if d.Schema != nil { + objectMap["schema"] = d.Schema } - if d2s.MaxConcurrentConnections != nil { - objectMap["maxConcurrentConnections"] = d2s.MaxConcurrentConnections + if d.LinkedServiceName != nil { + objectMap["linkedServiceName"] = d.LinkedServiceName } - if d2s.Type != "" { - objectMap["type"] = d2s.Type + if d.Parameters != nil { + objectMap["parameters"] = d.Parameters } - for k, v := range d2s.AdditionalProperties { + if d.Annotations != nil { + objectMap["annotations"] = d.Annotations + } + if d.Folder != nil { + objectMap["folder"] = d.Folder + } + if d.Type != "" { + objectMap["type"] = d.Type + } + for k, v := range d.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsAmazonRedshiftSource is the BasicCopySource implementation for Db2Source. -func (d2s Db2Source) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { return nil, false } -// AsGoogleAdWordsSource is the BasicCopySource implementation for Db2Source. -func (d2s Db2Source) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { return nil, false } -// AsOracleServiceCloudSource is the BasicCopySource implementation for Db2Source. -func (d2s Db2Source) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { return nil, false } -// AsDynamicsAXSource is the BasicCopySource implementation for Db2Source. -func (d2s Db2Source) AsDynamicsAXSource() (*DynamicsAXSource, bool) { +// AsDynamicsAXResourceDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { return nil, false } -// AsResponsysSource is the BasicCopySource implementation for Db2Source. -func (d2s Db2Source) AsResponsysSource() (*ResponsysSource, bool) { +// AsResponsysObjectDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { return nil, false } -// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for Db2Source. -func (d2s Db2Source) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { return nil, false } -// AsVerticaSource is the BasicCopySource implementation for Db2Source. -func (d2s Db2Source) AsVerticaSource() (*VerticaSource, bool) { +// AsVerticaTableDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { return nil, false } -// AsNetezzaSource is the BasicCopySource implementation for Db2Source. -func (d2s Db2Source) AsNetezzaSource() (*NetezzaSource, bool) { +// AsNetezzaTableDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { return nil, false } -// AsZohoSource is the BasicCopySource implementation for Db2Source. -func (d2s Db2Source) AsZohoSource() (*ZohoSource, bool) { +// AsZohoObjectDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { return nil, false } -// AsXeroSource is the BasicCopySource implementation for Db2Source. -func (d2s Db2Source) AsXeroSource() (*XeroSource, bool) { +// AsXeroObjectDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { return nil, false } -// AsSquareSource is the BasicCopySource implementation for Db2Source. -func (d2s Db2Source) AsSquareSource() (*SquareSource, bool) { +// AsSquareObjectDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { return nil, false } -// AsSparkSource is the BasicCopySource implementation for Db2Source. -func (d2s Db2Source) AsSparkSource() (*SparkSource, bool) { +// AsSparkObjectDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { return nil, false } -// AsShopifySource is the BasicCopySource implementation for Db2Source. -func (d2s Db2Source) AsShopifySource() (*ShopifySource, bool) { +// AsShopifyObjectDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { return nil, false } -// AsServiceNowSource is the BasicCopySource implementation for Db2Source. -func (d2s Db2Source) AsServiceNowSource() (*ServiceNowSource, bool) { +// AsServiceNowObjectDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { return nil, false } -// AsQuickBooksSource is the BasicCopySource implementation for Db2Source. -func (d2s Db2Source) AsQuickBooksSource() (*QuickBooksSource, bool) { +// AsQuickBooksObjectDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { return nil, false } -// AsPrestoSource is the BasicCopySource implementation for Db2Source. -func (d2s Db2Source) AsPrestoSource() (*PrestoSource, bool) { +// AsPrestoObjectDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { return nil, false } -// AsPhoenixSource is the BasicCopySource implementation for Db2Source. -func (d2s Db2Source) AsPhoenixSource() (*PhoenixSource, bool) { +// AsPhoenixObjectDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { return nil, false } -// AsPaypalSource is the BasicCopySource implementation for Db2Source. -func (d2s Db2Source) AsPaypalSource() (*PaypalSource, bool) { +// AsPaypalObjectDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { return nil, false } -// AsMarketoSource is the BasicCopySource implementation for Db2Source. -func (d2s Db2Source) AsMarketoSource() (*MarketoSource, bool) { +// AsMarketoObjectDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { return nil, false } -// AsAzureMariaDBSource is the BasicCopySource implementation for Db2Source. -func (d2s Db2Source) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { +// AsAzureMariaDBTableDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { return nil, false } -// AsMariaDBSource is the BasicCopySource implementation for Db2Source. -func (d2s Db2Source) AsMariaDBSource() (*MariaDBSource, bool) { +// AsMariaDBTableDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { return nil, false } -// AsMagentoSource is the BasicCopySource implementation for Db2Source. -func (d2s Db2Source) AsMagentoSource() (*MagentoSource, bool) { +// AsMagentoObjectDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { return nil, false } -// AsJiraSource is the BasicCopySource implementation for Db2Source. -func (d2s Db2Source) AsJiraSource() (*JiraSource, bool) { +// AsJiraObjectDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { return nil, false } -// AsImpalaSource is the BasicCopySource implementation for Db2Source. -func (d2s Db2Source) AsImpalaSource() (*ImpalaSource, bool) { +// AsImpalaObjectDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { return nil, false } -// AsHubspotSource is the BasicCopySource implementation for Db2Source. -func (d2s Db2Source) AsHubspotSource() (*HubspotSource, bool) { +// AsHubspotObjectDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { return nil, false } -// AsHiveSource is the BasicCopySource implementation for Db2Source. -func (d2s Db2Source) AsHiveSource() (*HiveSource, bool) { +// AsHiveObjectDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { return nil, false } -// AsHBaseSource is the BasicCopySource implementation for Db2Source. -func (d2s Db2Source) AsHBaseSource() (*HBaseSource, bool) { +// AsHBaseObjectDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { return nil, false } -// AsGreenplumSource is the BasicCopySource implementation for Db2Source. -func (d2s Db2Source) AsGreenplumSource() (*GreenplumSource, bool) { +// AsGreenplumTableDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { return nil, false } -// AsGoogleBigQuerySource is the BasicCopySource implementation for Db2Source. -func (d2s Db2Source) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { return nil, false } -// AsEloquaSource is the BasicCopySource implementation for Db2Source. -func (d2s Db2Source) AsEloquaSource() (*EloquaSource, bool) { +// AsEloquaObjectDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { return nil, false } -// AsDrillSource is the BasicCopySource implementation for Db2Source. -func (d2s Db2Source) AsDrillSource() (*DrillSource, bool) { +// AsDrillTableDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsDrillTableDataset() (*DrillTableDataset, bool) { return nil, false } -// AsCouchbaseSource is the BasicCopySource implementation for Db2Source. -func (d2s Db2Source) AsCouchbaseSource() (*CouchbaseSource, bool) { +// AsCouchbaseTableDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { return nil, false } -// AsConcurSource is the BasicCopySource implementation for Db2Source. -func (d2s Db2Source) AsConcurSource() (*ConcurSource, bool) { +// AsConcurObjectDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { return nil, false } -// AsAzurePostgreSQLSource is the BasicCopySource implementation for Db2Source. -func (d2s Db2Source) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { return nil, false } -// AsAmazonMWSSource is the BasicCopySource implementation for Db2Source. -func (d2s Db2Source) AsAmazonMWSSource() (*AmazonMWSSource, bool) { +// AsAmazonMWSObjectDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { return nil, false } -// AsHTTPSource is the BasicCopySource implementation for Db2Source. -func (d2s Db2Source) AsHTTPSource() (*HTTPSource, bool) { +// AsHTTPDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsHTTPDataset() (*HTTPDataset, bool) { return nil, false } -// AsAzureBlobFSSource is the BasicCopySource implementation for Db2Source. -func (d2s Db2Source) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { +// AsAzureSearchIndexDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { return nil, false } -// AsAzureDataLakeStoreSource is the BasicCopySource implementation for Db2Source. -func (d2s Db2Source) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { +// AsWebTableDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsWebTableDataset() (*WebTableDataset, bool) { return nil, false } -// AsOffice365Source is the BasicCopySource implementation for Db2Source. -func (d2s Db2Source) AsOffice365Source() (*Office365Source, bool) { +// AsSapTableResourceDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { return nil, false } -// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for Db2Source. -func (d2s Db2Source) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { +// AsRestResourceDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsRestResourceDataset() (*RestResourceDataset, bool) { return nil, false } -// AsMongoDbV2Source is the BasicCopySource implementation for Db2Source. -func (d2s Db2Source) AsMongoDbV2Source() (*MongoDbV2Source, bool) { +// AsSQLServerTableDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { return nil, false } -// AsMongoDbSource is the BasicCopySource implementation for Db2Source. -func (d2s Db2Source) AsMongoDbSource() (*MongoDbSource, bool) { +// AsSapOpenHubTableDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { return nil, false } -// AsCassandraSource is the BasicCopySource implementation for Db2Source. -func (d2s Db2Source) AsCassandraSource() (*CassandraSource, bool) { +// AsSapHanaTableDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { return nil, false } -// AsWebSource is the BasicCopySource implementation for Db2Source. -func (d2s Db2Source) AsWebSource() (*WebSource, bool) { +// AsSapEccResourceDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { return nil, false } -// AsTeradataSource is the BasicCopySource implementation for Db2Source. -func (d2s Db2Source) AsTeradataSource() (*TeradataSource, bool) { +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { return nil, false } -// AsOracleSource is the BasicCopySource implementation for Db2Source. -func (d2s Db2Source) AsOracleSource() (*OracleSource, bool) { +// AsSapBwCubeDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { return nil, false } -// AsAzureDataExplorerSource is the BasicCopySource implementation for Db2Source. -func (d2s Db2Source) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { +// AsSybaseTableDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { return nil, false } -// AsAzureMySQLSource is the BasicCopySource implementation for Db2Source. -func (d2s Db2Source) AsAzureMySQLSource() (*AzureMySQLSource, bool) { +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { return nil, false } -// AsHdfsSource is the BasicCopySource implementation for Db2Source. -func (d2s Db2Source) AsHdfsSource() (*HdfsSource, bool) { +// AsSalesforceObjectDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { return nil, false } -// AsFileSystemSource is the BasicCopySource implementation for Db2Source. -func (d2s Db2Source) AsFileSystemSource() (*FileSystemSource, bool) { +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { return nil, false } -// AsSQLDWSource is the BasicCopySource implementation for Db2Source. -func (d2s Db2Source) AsSQLDWSource() (*SQLDWSource, bool) { +// AsPostgreSQLTableDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { return nil, false } -// AsSQLMISource is the BasicCopySource implementation for Db2Source. -func (d2s Db2Source) AsSQLMISource() (*SQLMISource, bool) { +// AsMySQLTableDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { return nil, false } -// AsAzureSQLSource is the BasicCopySource implementation for Db2Source. -func (d2s Db2Source) AsAzureSQLSource() (*AzureSQLSource, bool) { +// AsOdbcTableDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { return nil, false } -// AsSQLServerSource is the BasicCopySource implementation for Db2Source. -func (d2s Db2Source) AsSQLServerSource() (*SQLServerSource, bool) { +// AsInformixTableDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsInformixTableDataset() (*InformixTableDataset, bool) { return nil, false } -// AsSQLSource is the BasicCopySource implementation for Db2Source. -func (d2s Db2Source) AsSQLSource() (*SQLSource, bool) { +// AsRelationalTableDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { return nil, false } -// AsRestSource is the BasicCopySource implementation for Db2Source. -func (d2s Db2Source) AsRestSource() (*RestSource, bool) { +// AsDb2TableDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsDb2TableDataset() (*Db2TableDataset, bool) { return nil, false } -// AsSapTableSource is the BasicCopySource implementation for Db2Source. -func (d2s Db2Source) AsSapTableSource() (*SapTableSource, bool) { +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { return nil, false } -// AsSapOpenHubSource is the BasicCopySource implementation for Db2Source. -func (d2s Db2Source) AsSapOpenHubSource() (*SapOpenHubSource, bool) { +// AsAzureMySQLTableDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { return nil, false } -// AsSapHanaSource is the BasicCopySource implementation for Db2Source. -func (d2s Db2Source) AsSapHanaSource() (*SapHanaSource, bool) { +// AsTeradataTableDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { return nil, false } -// AsSapEccSource is the BasicCopySource implementation for Db2Source. -func (d2s Db2Source) AsSapEccSource() (*SapEccSource, bool) { +// AsOracleTableDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsOracleTableDataset() (*OracleTableDataset, bool) { return nil, false } -// AsSapCloudForCustomerSource is the BasicCopySource implementation for Db2Source. -func (d2s Db2Source) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { +// AsODataResourceDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { return nil, false } -// AsSalesforceServiceCloudSource is the BasicCopySource implementation for Db2Source. -func (d2s Db2Source) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { return nil, false } -// AsSalesforceSource is the BasicCopySource implementation for Db2Source. -func (d2s Db2Source) AsSalesforceSource() (*SalesforceSource, bool) { +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { return nil, false } -// AsODataSource is the BasicCopySource implementation for Db2Source. -func (d2s Db2Source) AsODataSource() (*ODataSource, bool) { +// AsMongoDbCollectionDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { return nil, false } -// AsSapBwSource is the BasicCopySource implementation for Db2Source. -func (d2s Db2Source) AsSapBwSource() (*SapBwSource, bool) { +// AsFileShareDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsFileShareDataset() (*FileShareDataset, bool) { return nil, false } -// AsSybaseSource is the BasicCopySource implementation for Db2Source. -func (d2s Db2Source) AsSybaseSource() (*SybaseSource, bool) { +// AsOffice365Dataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsOffice365Dataset() (*Office365Dataset, bool) { return nil, false } -// AsPostgreSQLSource is the BasicCopySource implementation for Db2Source. -func (d2s Db2Source) AsPostgreSQLSource() (*PostgreSQLSource, bool) { +// AsAzureBlobFSDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) { return nil, false } -// AsMySQLSource is the BasicCopySource implementation for Db2Source. -func (d2s Db2Source) AsMySQLSource() (*MySQLSource, bool) { +// AsAzureDataLakeStoreDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) { return nil, false } -// AsOdbcSource is the BasicCopySource implementation for Db2Source. -func (d2s Db2Source) AsOdbcSource() (*OdbcSource, bool) { +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { return nil, false } -// AsDb2Source is the BasicCopySource implementation for Db2Source. -func (d2s Db2Source) AsDb2Source() (*Db2Source, bool) { - return &d2s, true +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { + return nil, false } -// AsMicrosoftAccessSource is the BasicCopySource implementation for Db2Source. -func (d2s Db2Source) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { +// AsDynamicsEntityDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { return nil, false } -// AsInformixSource is the BasicCopySource implementation for Db2Source. -func (d2s Db2Source) AsInformixSource() (*InformixSource, bool) { +// AsDocumentDbCollectionDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { return nil, false } -// AsRelationalSource is the BasicCopySource implementation for Db2Source. -func (d2s Db2Source) AsRelationalSource() (*RelationalSource, bool) { +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { return nil, false } -// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for Db2Source. -func (d2s Db2Source) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { +// AsCustomDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsCustomDataset() (*CustomDataset, bool) { return nil, false } -// AsDynamicsCrmSource is the BasicCopySource implementation for Db2Source. -func (d2s Db2Source) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { +// AsCassandraTableDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { return nil, false } -// AsDynamicsSource is the BasicCopySource implementation for Db2Source. -func (d2s Db2Source) AsDynamicsSource() (*DynamicsSource, bool) { +// AsAzureSQLDWTableDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { return nil, false } -// AsDocumentDbCollectionSource is the BasicCopySource implementation for Db2Source. -func (d2s Db2Source) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { +// AsAzureSQLMITableDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { return nil, false } -// AsBlobSource is the BasicCopySource implementation for Db2Source. -func (d2s Db2Source) AsBlobSource() (*BlobSource, bool) { +// AsAzureSQLTableDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { return nil, false } -// AsAzureTableSource is the BasicCopySource implementation for Db2Source. -func (d2s Db2Source) AsAzureTableSource() (*AzureTableSource, bool) { +// AsAzureTableDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsAzureTableDataset() (*AzureTableDataset, bool) { return nil, false } -// AsBinarySource is the BasicCopySource implementation for Db2Source. -func (d2s Db2Source) AsBinarySource() (*BinarySource, bool) { +// AsAzureBlobDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) { return nil, false } -// AsDelimitedTextSource is the BasicCopySource implementation for Db2Source. -func (d2s Db2Source) AsDelimitedTextSource() (*DelimitedTextSource, bool) { +// AsBinaryDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsBinaryDataset() (*BinaryDataset, bool) { return nil, false } -// AsParquetSource is the BasicCopySource implementation for Db2Source. -func (d2s Db2Source) AsParquetSource() (*ParquetSource, bool) { +// AsOrcDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsOrcDataset() (*OrcDataset, bool) { return nil, false } -// AsAvroSource is the BasicCopySource implementation for Db2Source. -func (d2s Db2Source) AsAvroSource() (*AvroSource, bool) { +// AsJSONDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsJSONDataset() (*JSONDataset, bool) { return nil, false } -// AsCopySource is the BasicCopySource implementation for Db2Source. -func (d2s Db2Source) AsCopySource() (*CopySource, bool) { +// AsDelimitedTextDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { return nil, false } -// AsBasicCopySource is the BasicCopySource implementation for Db2Source. -func (d2s Db2Source) AsBasicCopySource() (BasicCopySource, bool) { - return &d2s, true +// AsParquetDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsParquetDataset() (*ParquetDataset, bool) { + return nil, false } -// UnmarshalJSON is the custom unmarshaler for Db2Source struct. -func (d2s *Db2Source) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } +// AsAvroDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsAvroDataset() (*AvroDataset, bool) { + return nil, false +} + +// AsAmazonS3Dataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) { + return nil, false +} + +// AsDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsDataset() (*Dataset, bool) { + return &d, true +} + +// AsBasicDataset is the BasicDataset implementation for Dataset. +func (d Dataset) AsBasicDataset() (BasicDataset, bool) { + return &d, true +} + +// UnmarshalJSON is the custom unmarshaler for Dataset struct. +func (d *Dataset) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } for k, v := range m { switch k { - case "query": + default: if v != nil { - var query interface{} - err = json.Unmarshal(*v, &query) + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) if err != nil { return err } - d2s.Query = query + if d.AdditionalProperties == nil { + d.AdditionalProperties = make(map[string]interface{}) + } + d.AdditionalProperties[k] = additionalProperties } - default: + case "description": if v != nil { - var additionalProperties interface{} - err = json.Unmarshal(*v, &additionalProperties) + var description string + err = json.Unmarshal(*v, &description) if err != nil { return err } - if d2s.AdditionalProperties == nil { - d2s.AdditionalProperties = make(map[string]interface{}) + d.Description = &description + } + case "structure": + if v != nil { + var structure interface{} + err = json.Unmarshal(*v, &structure) + if err != nil { + return err } - d2s.AdditionalProperties[k] = additionalProperties + d.Structure = structure } - case "sourceRetryCount": + case "schema": if v != nil { - var sourceRetryCount interface{} - err = json.Unmarshal(*v, &sourceRetryCount) + var schema interface{} + err = json.Unmarshal(*v, &schema) if err != nil { return err } - d2s.SourceRetryCount = sourceRetryCount + d.Schema = schema } - case "sourceRetryWait": + case "linkedServiceName": if v != nil { - var sourceRetryWait interface{} - err = json.Unmarshal(*v, &sourceRetryWait) + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) if err != nil { return err } - d2s.SourceRetryWait = sourceRetryWait + d.LinkedServiceName = &linkedServiceName } - case "maxConcurrentConnections": + case "parameters": if v != nil { - var maxConcurrentConnections interface{} - err = json.Unmarshal(*v, &maxConcurrentConnections) + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) if err != nil { return err } - d2s.MaxConcurrentConnections = maxConcurrentConnections + d.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + d.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + d.Folder = &folder } case "type": if v != nil { - var typeVar TypeBasicCopySource + var typeVar TypeBasicDataset err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - d2s.Type = typeVar + d.Type = typeVar } } } @@ -60733,249 +66959,336 @@ func (d2s *Db2Source) UnmarshalJSON(body []byte) error { return nil } -// DeleteActivity delete activity. -type DeleteActivity struct { - // DeleteActivityTypeProperties - Delete activity properties. - *DeleteActivityTypeProperties `json:"typeProperties,omitempty"` - // LinkedServiceName - Linked service reference. - LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` - // Policy - Activity policy. - Policy *ActivityPolicy `json:"policy,omitempty"` +// DatasetBZip2Compression the BZip2 compression method used on a dataset. +type DatasetBZip2Compression struct { // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` - // Name - Activity name. - Name *string `json:"name,omitempty"` - // Description - Activity description. - Description *string `json:"description,omitempty"` - // DependsOn - Activity depends on condition. - DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"` - // UserProperties - Activity user properties. - UserProperties *[]UserProperty `json:"userProperties,omitempty"` - // Type - Possible values include: 'TypeActivity', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer' - Type TypeBasicActivity `json:"type,omitempty"` + // Type - Possible values include: 'TypeDatasetCompression', 'TypeZipDeflate', 'TypeDeflate', 'TypeGZip', 'TypeBZip2' + Type TypeBasicDatasetCompression `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for DeleteActivity. -func (da DeleteActivity) MarshalJSON() ([]byte, error) { - da.Type = TypeDelete +// MarshalJSON is the custom marshaler for DatasetBZip2Compression. +func (dbz2c DatasetBZip2Compression) MarshalJSON() ([]byte, error) { + dbz2c.Type = TypeBZip2 objectMap := make(map[string]interface{}) - if da.DeleteActivityTypeProperties != nil { - objectMap["typeProperties"] = da.DeleteActivityTypeProperties - } - if da.LinkedServiceName != nil { - objectMap["linkedServiceName"] = da.LinkedServiceName - } - if da.Policy != nil { - objectMap["policy"] = da.Policy - } - if da.Name != nil { - objectMap["name"] = da.Name - } - if da.Description != nil { - objectMap["description"] = da.Description - } - if da.DependsOn != nil { - objectMap["dependsOn"] = da.DependsOn - } - if da.UserProperties != nil { - objectMap["userProperties"] = da.UserProperties - } - if da.Type != "" { - objectMap["type"] = da.Type + if dbz2c.Type != "" { + objectMap["type"] = dbz2c.Type } - for k, v := range da.AdditionalProperties { + for k, v := range dbz2c.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsAzureFunctionActivity is the BasicActivity implementation for DeleteActivity. -func (da DeleteActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) { - return nil, false -} - -// AsDatabricksSparkPythonActivity is the BasicActivity implementation for DeleteActivity. -func (da DeleteActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) { - return nil, false -} - -// AsDatabricksSparkJarActivity is the BasicActivity implementation for DeleteActivity. -func (da DeleteActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) { - return nil, false -} - -// AsDatabricksNotebookActivity is the BasicActivity implementation for DeleteActivity. -func (da DeleteActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) { +// AsDatasetZipDeflateCompression is the BasicDatasetCompression implementation for DatasetBZip2Compression. +func (dbz2c DatasetBZip2Compression) AsDatasetZipDeflateCompression() (*DatasetZipDeflateCompression, bool) { return nil, false } -// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for DeleteActivity. -func (da DeleteActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) { +// AsDatasetDeflateCompression is the BasicDatasetCompression implementation for DatasetBZip2Compression. +func (dbz2c DatasetBZip2Compression) AsDatasetDeflateCompression() (*DatasetDeflateCompression, bool) { return nil, false } -// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for DeleteActivity. -func (da DeleteActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) { +// AsDatasetGZipCompression is the BasicDatasetCompression implementation for DatasetBZip2Compression. +func (dbz2c DatasetBZip2Compression) AsDatasetGZipCompression() (*DatasetGZipCompression, bool) { return nil, false } -// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for DeleteActivity. -func (da DeleteActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) { - return nil, false +// AsDatasetBZip2Compression is the BasicDatasetCompression implementation for DatasetBZip2Compression. +func (dbz2c DatasetBZip2Compression) AsDatasetBZip2Compression() (*DatasetBZip2Compression, bool) { + return &dbz2c, true } -// AsGetMetadataActivity is the BasicActivity implementation for DeleteActivity. -func (da DeleteActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) { +// AsDatasetCompression is the BasicDatasetCompression implementation for DatasetBZip2Compression. +func (dbz2c DatasetBZip2Compression) AsDatasetCompression() (*DatasetCompression, bool) { return nil, false } -// AsWebActivity is the BasicActivity implementation for DeleteActivity. -func (da DeleteActivity) AsWebActivity() (*WebActivity, bool) { - return nil, false +// AsBasicDatasetCompression is the BasicDatasetCompression implementation for DatasetBZip2Compression. +func (dbz2c DatasetBZip2Compression) AsBasicDatasetCompression() (BasicDatasetCompression, bool) { + return &dbz2c, true } -// AsLookupActivity is the BasicActivity implementation for DeleteActivity. -func (da DeleteActivity) AsLookupActivity() (*LookupActivity, bool) { - return nil, false -} +// UnmarshalJSON is the custom unmarshaler for DatasetBZip2Compression struct. +func (dbz2c *DatasetBZip2Compression) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if dbz2c.AdditionalProperties == nil { + dbz2c.AdditionalProperties = make(map[string]interface{}) + } + dbz2c.AdditionalProperties[k] = additionalProperties + } + case "type": + if v != nil { + var typeVar TypeBasicDatasetCompression + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + dbz2c.Type = typeVar + } + } + } -// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for DeleteActivity. -func (da DeleteActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) { - return nil, false + return nil } -// AsDeleteActivity is the BasicActivity implementation for DeleteActivity. -func (da DeleteActivity) AsDeleteActivity() (*DeleteActivity, bool) { - return &da, true +// BasicDatasetCompression the compression method used on a dataset. +type BasicDatasetCompression interface { + AsDatasetZipDeflateCompression() (*DatasetZipDeflateCompression, bool) + AsDatasetDeflateCompression() (*DatasetDeflateCompression, bool) + AsDatasetGZipCompression() (*DatasetGZipCompression, bool) + AsDatasetBZip2Compression() (*DatasetBZip2Compression, bool) + AsDatasetCompression() (*DatasetCompression, bool) } -// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for DeleteActivity. -func (da DeleteActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) { - return nil, false +// DatasetCompression the compression method used on a dataset. +type DatasetCompression struct { + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Type - Possible values include: 'TypeDatasetCompression', 'TypeZipDeflate', 'TypeDeflate', 'TypeGZip', 'TypeBZip2' + Type TypeBasicDatasetCompression `json:"type,omitempty"` } -// AsCustomActivity is the BasicActivity implementation for DeleteActivity. -func (da DeleteActivity) AsCustomActivity() (*CustomActivity, bool) { - return nil, false -} +func unmarshalBasicDatasetCompression(body []byte) (BasicDatasetCompression, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } -// AsExecuteSSISPackageActivity is the BasicActivity implementation for DeleteActivity. -func (da DeleteActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) { - return nil, false + switch m["type"] { + case string(TypeZipDeflate): + var dzdc DatasetZipDeflateCompression + err := json.Unmarshal(body, &dzdc) + return dzdc, err + case string(TypeDeflate): + var ddc DatasetDeflateCompression + err := json.Unmarshal(body, &ddc) + return ddc, err + case string(TypeGZip): + var dgzc DatasetGZipCompression + err := json.Unmarshal(body, &dgzc) + return dgzc, err + case string(TypeBZip2): + var dbz2c DatasetBZip2Compression + err := json.Unmarshal(body, &dbz2c) + return dbz2c, err + default: + var dc DatasetCompression + err := json.Unmarshal(body, &dc) + return dc, err + } } +func unmarshalBasicDatasetCompressionArray(body []byte) ([]BasicDatasetCompression, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } -// AsHDInsightSparkActivity is the BasicActivity implementation for DeleteActivity. -func (da DeleteActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) { - return nil, false -} + dcArray := make([]BasicDatasetCompression, len(rawMessages)) -// AsHDInsightStreamingActivity is the BasicActivity implementation for DeleteActivity. -func (da DeleteActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) { - return nil, false + for index, rawMessage := range rawMessages { + dc, err := unmarshalBasicDatasetCompression(*rawMessage) + if err != nil { + return nil, err + } + dcArray[index] = dc + } + return dcArray, nil } -// AsHDInsightMapReduceActivity is the BasicActivity implementation for DeleteActivity. -func (da DeleteActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) { - return nil, false +// MarshalJSON is the custom marshaler for DatasetCompression. +func (dc DatasetCompression) MarshalJSON() ([]byte, error) { + dc.Type = TypeDatasetCompression + objectMap := make(map[string]interface{}) + if dc.Type != "" { + objectMap["type"] = dc.Type + } + for k, v := range dc.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) } -// AsHDInsightPigActivity is the BasicActivity implementation for DeleteActivity. -func (da DeleteActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) { +// AsDatasetZipDeflateCompression is the BasicDatasetCompression implementation for DatasetCompression. +func (dc DatasetCompression) AsDatasetZipDeflateCompression() (*DatasetZipDeflateCompression, bool) { return nil, false } -// AsHDInsightHiveActivity is the BasicActivity implementation for DeleteActivity. -func (da DeleteActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) { +// AsDatasetDeflateCompression is the BasicDatasetCompression implementation for DatasetCompression. +func (dc DatasetCompression) AsDatasetDeflateCompression() (*DatasetDeflateCompression, bool) { return nil, false } -// AsCopyActivity is the BasicActivity implementation for DeleteActivity. -func (da DeleteActivity) AsCopyActivity() (*CopyActivity, bool) { +// AsDatasetGZipCompression is the BasicDatasetCompression implementation for DatasetCompression. +func (dc DatasetCompression) AsDatasetGZipCompression() (*DatasetGZipCompression, bool) { return nil, false } -// AsExecutionActivity is the BasicActivity implementation for DeleteActivity. -func (da DeleteActivity) AsExecutionActivity() (*ExecutionActivity, bool) { +// AsDatasetBZip2Compression is the BasicDatasetCompression implementation for DatasetCompression. +func (dc DatasetCompression) AsDatasetBZip2Compression() (*DatasetBZip2Compression, bool) { return nil, false } -// AsBasicExecutionActivity is the BasicActivity implementation for DeleteActivity. -func (da DeleteActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) { - return &da, true +// AsDatasetCompression is the BasicDatasetCompression implementation for DatasetCompression. +func (dc DatasetCompression) AsDatasetCompression() (*DatasetCompression, bool) { + return &dc, true } -// AsWebHookActivity is the BasicActivity implementation for DeleteActivity. -func (da DeleteActivity) AsWebHookActivity() (*WebHookActivity, bool) { - return nil, false +// AsBasicDatasetCompression is the BasicDatasetCompression implementation for DatasetCompression. +func (dc DatasetCompression) AsBasicDatasetCompression() (BasicDatasetCompression, bool) { + return &dc, true } -// AsAppendVariableActivity is the BasicActivity implementation for DeleteActivity. -func (da DeleteActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) { - return nil, false -} +// UnmarshalJSON is the custom unmarshaler for DatasetCompression struct. +func (dc *DatasetCompression) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if dc.AdditionalProperties == nil { + dc.AdditionalProperties = make(map[string]interface{}) + } + dc.AdditionalProperties[k] = additionalProperties + } + case "type": + if v != nil { + var typeVar TypeBasicDatasetCompression + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + dc.Type = typeVar + } + } + } -// AsSetVariableActivity is the BasicActivity implementation for DeleteActivity. -func (da DeleteActivity) AsSetVariableActivity() (*SetVariableActivity, bool) { - return nil, false + return nil } -// AsFilterActivity is the BasicActivity implementation for DeleteActivity. -func (da DeleteActivity) AsFilterActivity() (*FilterActivity, bool) { - return nil, false +// DatasetDebugResource dataset debug resource. +type DatasetDebugResource struct { + // Properties - Dataset properties. + Properties BasicDataset `json:"properties,omitempty"` + // Name - The resource name. + Name *string `json:"name,omitempty"` } -// AsValidationActivity is the BasicActivity implementation for DeleteActivity. -func (da DeleteActivity) AsValidationActivity() (*ValidationActivity, bool) { - return nil, false -} +// UnmarshalJSON is the custom unmarshaler for DatasetDebugResource struct. +func (ddr *DatasetDebugResource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + properties, err := unmarshalBasicDataset(*v) + if err != nil { + return err + } + ddr.Properties = properties + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + ddr.Name = &name + } + } + } -// AsUntilActivity is the BasicActivity implementation for DeleteActivity. -func (da DeleteActivity) AsUntilActivity() (*UntilActivity, bool) { - return nil, false + return nil } -// AsWaitActivity is the BasicActivity implementation for DeleteActivity. -func (da DeleteActivity) AsWaitActivity() (*WaitActivity, bool) { - return nil, false +// DatasetDeflateCompression the Deflate compression method used on a dataset. +type DatasetDeflateCompression struct { + // Level - The Deflate compression level. + Level interface{} `json:"level,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Type - Possible values include: 'TypeDatasetCompression', 'TypeZipDeflate', 'TypeDeflate', 'TypeGZip', 'TypeBZip2' + Type TypeBasicDatasetCompression `json:"type,omitempty"` } -// AsForEachActivity is the BasicActivity implementation for DeleteActivity. -func (da DeleteActivity) AsForEachActivity() (*ForEachActivity, bool) { - return nil, false +// MarshalJSON is the custom marshaler for DatasetDeflateCompression. +func (ddc DatasetDeflateCompression) MarshalJSON() ([]byte, error) { + ddc.Type = TypeDeflate + objectMap := make(map[string]interface{}) + if ddc.Level != nil { + objectMap["level"] = ddc.Level + } + if ddc.Type != "" { + objectMap["type"] = ddc.Type + } + for k, v := range ddc.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) } -// AsIfConditionActivity is the BasicActivity implementation for DeleteActivity. -func (da DeleteActivity) AsIfConditionActivity() (*IfConditionActivity, bool) { +// AsDatasetZipDeflateCompression is the BasicDatasetCompression implementation for DatasetDeflateCompression. +func (ddc DatasetDeflateCompression) AsDatasetZipDeflateCompression() (*DatasetZipDeflateCompression, bool) { return nil, false } -// AsExecutePipelineActivity is the BasicActivity implementation for DeleteActivity. -func (da DeleteActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) { - return nil, false +// AsDatasetDeflateCompression is the BasicDatasetCompression implementation for DatasetDeflateCompression. +func (ddc DatasetDeflateCompression) AsDatasetDeflateCompression() (*DatasetDeflateCompression, bool) { + return &ddc, true } -// AsControlActivity is the BasicActivity implementation for DeleteActivity. -func (da DeleteActivity) AsControlActivity() (*ControlActivity, bool) { +// AsDatasetGZipCompression is the BasicDatasetCompression implementation for DatasetDeflateCompression. +func (ddc DatasetDeflateCompression) AsDatasetGZipCompression() (*DatasetGZipCompression, bool) { return nil, false } -// AsBasicControlActivity is the BasicActivity implementation for DeleteActivity. -func (da DeleteActivity) AsBasicControlActivity() (BasicControlActivity, bool) { +// AsDatasetBZip2Compression is the BasicDatasetCompression implementation for DatasetDeflateCompression. +func (ddc DatasetDeflateCompression) AsDatasetBZip2Compression() (*DatasetBZip2Compression, bool) { return nil, false } -// AsActivity is the BasicActivity implementation for DeleteActivity. -func (da DeleteActivity) AsActivity() (*Activity, bool) { +// AsDatasetCompression is the BasicDatasetCompression implementation for DatasetDeflateCompression. +func (ddc DatasetDeflateCompression) AsDatasetCompression() (*DatasetCompression, bool) { return nil, false } -// AsBasicActivity is the BasicActivity implementation for DeleteActivity. -func (da DeleteActivity) AsBasicActivity() (BasicActivity, bool) { - return &da, true +// AsBasicDatasetCompression is the BasicDatasetCompression implementation for DatasetDeflateCompression. +func (ddc DatasetDeflateCompression) AsBasicDatasetCompression() (BasicDatasetCompression, bool) { + return &ddc, true } -// UnmarshalJSON is the custom unmarshaler for DeleteActivity struct. -func (da *DeleteActivity) UnmarshalJSON(body []byte) error { +// UnmarshalJSON is the custom unmarshaler for DatasetDeflateCompression struct. +func (ddc *DatasetDeflateCompression) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -60983,32 +67296,14 @@ func (da *DeleteActivity) UnmarshalJSON(body []byte) error { } for k, v := range m { switch k { - case "typeProperties": - if v != nil { - var deleteActivityTypeProperties DeleteActivityTypeProperties - err = json.Unmarshal(*v, &deleteActivityTypeProperties) - if err != nil { - return err - } - da.DeleteActivityTypeProperties = &deleteActivityTypeProperties - } - case "linkedServiceName": - if v != nil { - var linkedServiceName LinkedServiceReference - err = json.Unmarshal(*v, &linkedServiceName) - if err != nil { - return err - } - da.LinkedServiceName = &linkedServiceName - } - case "policy": + case "level": if v != nil { - var policy ActivityPolicy - err = json.Unmarshal(*v, &policy) + var level interface{} + err = json.Unmarshal(*v, &level) if err != nil { return err } - da.Policy = &policy + ddc.Level = level } default: if v != nil { @@ -61017,55 +67312,19 @@ func (da *DeleteActivity) UnmarshalJSON(body []byte) error { if err != nil { return err } - if da.AdditionalProperties == nil { - da.AdditionalProperties = make(map[string]interface{}) - } - da.AdditionalProperties[k] = additionalProperties - } - case "name": - if v != nil { - var name string - err = json.Unmarshal(*v, &name) - if err != nil { - return err - } - da.Name = &name - } - case "description": - if v != nil { - var description string - err = json.Unmarshal(*v, &description) - if err != nil { - return err - } - da.Description = &description - } - case "dependsOn": - if v != nil { - var dependsOn []ActivityDependency - err = json.Unmarshal(*v, &dependsOn) - if err != nil { - return err - } - da.DependsOn = &dependsOn - } - case "userProperties": - if v != nil { - var userProperties []UserProperty - err = json.Unmarshal(*v, &userProperties) - if err != nil { - return err + if ddc.AdditionalProperties == nil { + ddc.AdditionalProperties = make(map[string]interface{}) } - da.UserProperties = &userProperties + ddc.AdditionalProperties[k] = additionalProperties } case "type": if v != nil { - var typeVar TypeBasicActivity + var typeVar TypeBasicDatasetCompression err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - da.Type = typeVar + ddc.Type = typeVar } } } @@ -61073,503 +67332,574 @@ func (da *DeleteActivity) UnmarshalJSON(body []byte) error { return nil } -// DeleteActivityTypeProperties delete activity properties. -type DeleteActivityTypeProperties struct { - // Recursive - If true, files or sub-folders under current folder path will be deleted recursively. Default is false. Type: boolean (or Expression with resultType boolean). - Recursive interface{} `json:"recursive,omitempty"` - // MaxConcurrentConnections - The max concurrent connections to connect data source at the same time. - MaxConcurrentConnections *int32 `json:"maxConcurrentConnections,omitempty"` - // EnableLogging - Whether to record detailed logs of delete-activity execution. Default value is false. Type: boolean (or Expression with resultType boolean). - EnableLogging interface{} `json:"enableLogging,omitempty"` - // LogStorageSettings - Log storage settings customer need to provide when enableLogging is true. - LogStorageSettings *LogStorageSettings `json:"logStorageSettings,omitempty"` - // Dataset - Delete activity dataset reference. - Dataset *DatasetReference `json:"dataset,omitempty"` +// DatasetFolder the folder that this Dataset is in. If not specified, Dataset will appear at the root +// level. +type DatasetFolder struct { + // Name - The name of the folder that this Dataset is in. + Name *string `json:"name,omitempty"` } -// DelimitedTextDataset delimited text dataset. -type DelimitedTextDataset struct { - // DelimitedTextDatasetTypeProperties - Delimited text dataset properties. - *DelimitedTextDatasetTypeProperties `json:"typeProperties,omitempty"` +// DatasetGZipCompression the GZip compression method used on a dataset. +type DatasetGZipCompression struct { + // Level - The GZip compression level. + Level interface{} `json:"level,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` - // Description - Dataset description. - Description *string `json:"description,omitempty"` - // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. - Structure interface{} `json:"structure,omitempty"` - // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. - Schema interface{} `json:"schema,omitempty"` - // LinkedServiceName - Linked service reference. - LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` - // Parameters - Parameters for dataset. - Parameters map[string]*ParameterSpecification `json:"parameters"` - // Annotations - List of tags that can be used for describing the Dataset. - Annotations *[]interface{} `json:"annotations,omitempty"` - // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. - Folder *DatasetFolder `json:"folder,omitempty"` - // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' - Type TypeBasicDataset `json:"type,omitempty"` + // Type - Possible values include: 'TypeDatasetCompression', 'TypeZipDeflate', 'TypeDeflate', 'TypeGZip', 'TypeBZip2' + Type TypeBasicDatasetCompression `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for DelimitedTextDataset. -func (dtd DelimitedTextDataset) MarshalJSON() ([]byte, error) { - dtd.Type = TypeDelimitedText +// MarshalJSON is the custom marshaler for DatasetGZipCompression. +func (dgzc DatasetGZipCompression) MarshalJSON() ([]byte, error) { + dgzc.Type = TypeGZip objectMap := make(map[string]interface{}) - if dtd.DelimitedTextDatasetTypeProperties != nil { - objectMap["typeProperties"] = dtd.DelimitedTextDatasetTypeProperties - } - if dtd.Description != nil { - objectMap["description"] = dtd.Description - } - if dtd.Structure != nil { - objectMap["structure"] = dtd.Structure - } - if dtd.Schema != nil { - objectMap["schema"] = dtd.Schema - } - if dtd.LinkedServiceName != nil { - objectMap["linkedServiceName"] = dtd.LinkedServiceName - } - if dtd.Parameters != nil { - objectMap["parameters"] = dtd.Parameters - } - if dtd.Annotations != nil { - objectMap["annotations"] = dtd.Annotations - } - if dtd.Folder != nil { - objectMap["folder"] = dtd.Folder + if dgzc.Level != nil { + objectMap["level"] = dgzc.Level } - if dtd.Type != "" { - objectMap["type"] = dtd.Type + if dgzc.Type != "" { + objectMap["type"] = dgzc.Type } - for k, v := range dtd.AdditionalProperties { + for k, v := range dgzc.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for DelimitedTextDataset. -func (dtd DelimitedTextDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { - return nil, false -} - -// AsAzureDataExplorerTableDataset is the BasicDataset implementation for DelimitedTextDataset. -func (dtd DelimitedTextDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { +// AsDatasetZipDeflateCompression is the BasicDatasetCompression implementation for DatasetGZipCompression. +func (dgzc DatasetGZipCompression) AsDatasetZipDeflateCompression() (*DatasetZipDeflateCompression, bool) { return nil, false } -// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for DelimitedTextDataset. -func (dtd DelimitedTextDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { +// AsDatasetDeflateCompression is the BasicDatasetCompression implementation for DatasetGZipCompression. +func (dgzc DatasetGZipCompression) AsDatasetDeflateCompression() (*DatasetDeflateCompression, bool) { return nil, false } -// AsDynamicsAXResourceDataset is the BasicDataset implementation for DelimitedTextDataset. -func (dtd DelimitedTextDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { - return nil, false +// AsDatasetGZipCompression is the BasicDatasetCompression implementation for DatasetGZipCompression. +func (dgzc DatasetGZipCompression) AsDatasetGZipCompression() (*DatasetGZipCompression, bool) { + return &dgzc, true } -// AsResponsysObjectDataset is the BasicDataset implementation for DelimitedTextDataset. -func (dtd DelimitedTextDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { +// AsDatasetBZip2Compression is the BasicDatasetCompression implementation for DatasetGZipCompression. +func (dgzc DatasetGZipCompression) AsDatasetBZip2Compression() (*DatasetBZip2Compression, bool) { return nil, false } -// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for DelimitedTextDataset. -func (dtd DelimitedTextDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { +// AsDatasetCompression is the BasicDatasetCompression implementation for DatasetGZipCompression. +func (dgzc DatasetGZipCompression) AsDatasetCompression() (*DatasetCompression, bool) { return nil, false } -// AsVerticaTableDataset is the BasicDataset implementation for DelimitedTextDataset. -func (dtd DelimitedTextDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { - return nil, false +// AsBasicDatasetCompression is the BasicDatasetCompression implementation for DatasetGZipCompression. +func (dgzc DatasetGZipCompression) AsBasicDatasetCompression() (BasicDatasetCompression, bool) { + return &dgzc, true } -// AsNetezzaTableDataset is the BasicDataset implementation for DelimitedTextDataset. -func (dtd DelimitedTextDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { - return nil, false -} +// UnmarshalJSON is the custom unmarshaler for DatasetGZipCompression struct. +func (dgzc *DatasetGZipCompression) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "level": + if v != nil { + var level interface{} + err = json.Unmarshal(*v, &level) + if err != nil { + return err + } + dgzc.Level = level + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if dgzc.AdditionalProperties == nil { + dgzc.AdditionalProperties = make(map[string]interface{}) + } + dgzc.AdditionalProperties[k] = additionalProperties + } + case "type": + if v != nil { + var typeVar TypeBasicDatasetCompression + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + dgzc.Type = typeVar + } + } + } -// AsZohoObjectDataset is the BasicDataset implementation for DelimitedTextDataset. -func (dtd DelimitedTextDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { - return nil, false + return nil } -// AsXeroObjectDataset is the BasicDataset implementation for DelimitedTextDataset. -func (dtd DelimitedTextDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { - return nil, false +// DatasetListResponse a list of dataset resources. +type DatasetListResponse struct { + autorest.Response `json:"-"` + // Value - List of datasets. + Value *[]DatasetResource `json:"value,omitempty"` + // NextLink - The link to the next page of results, if any remaining results exist. + NextLink *string `json:"nextLink,omitempty"` } -// AsSquareObjectDataset is the BasicDataset implementation for DelimitedTextDataset. -func (dtd DelimitedTextDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { - return nil, false +// DatasetListResponseIterator provides access to a complete listing of DatasetResource values. +type DatasetListResponseIterator struct { + i int + page DatasetListResponsePage } -// AsSparkObjectDataset is the BasicDataset implementation for DelimitedTextDataset. -func (dtd DelimitedTextDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { - return nil, false +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *DatasetListResponseIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DatasetListResponseIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil } -// AsShopifyObjectDataset is the BasicDataset implementation for DelimitedTextDataset. -func (dtd DelimitedTextDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { - return nil, false +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *DatasetListResponseIterator) Next() error { + return iter.NextWithContext(context.Background()) } -// AsServiceNowObjectDataset is the BasicDataset implementation for DelimitedTextDataset. -func (dtd DelimitedTextDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { - return nil, false +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter DatasetListResponseIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) } -// AsQuickBooksObjectDataset is the BasicDataset implementation for DelimitedTextDataset. -func (dtd DelimitedTextDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { - return nil, false +// Response returns the raw server response from the last page request. +func (iter DatasetListResponseIterator) Response() DatasetListResponse { + return iter.page.Response() } -// AsPrestoObjectDataset is the BasicDataset implementation for DelimitedTextDataset. -func (dtd DelimitedTextDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { - return nil, false +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter DatasetListResponseIterator) Value() DatasetResource { + if !iter.page.NotDone() { + return DatasetResource{} + } + return iter.page.Values()[iter.i] } -// AsPhoenixObjectDataset is the BasicDataset implementation for DelimitedTextDataset. -func (dtd DelimitedTextDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { - return nil, false +// Creates a new instance of the DatasetListResponseIterator type. +func NewDatasetListResponseIterator(page DatasetListResponsePage) DatasetListResponseIterator { + return DatasetListResponseIterator{page: page} } -// AsPaypalObjectDataset is the BasicDataset implementation for DelimitedTextDataset. -func (dtd DelimitedTextDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { - return nil, false +// IsEmpty returns true if the ListResult contains no values. +func (dlr DatasetListResponse) IsEmpty() bool { + return dlr.Value == nil || len(*dlr.Value) == 0 } -// AsMarketoObjectDataset is the BasicDataset implementation for DelimitedTextDataset. -func (dtd DelimitedTextDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { - return nil, false +// datasetListResponsePreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (dlr DatasetListResponse) datasetListResponsePreparer(ctx context.Context) (*http.Request, error) { + if dlr.NextLink == nil || len(to.String(dlr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(dlr.NextLink))) } -// AsAzureMariaDBTableDataset is the BasicDataset implementation for DelimitedTextDataset. -func (dtd DelimitedTextDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { - return nil, false +// DatasetListResponsePage contains a page of DatasetResource values. +type DatasetListResponsePage struct { + fn func(context.Context, DatasetListResponse) (DatasetListResponse, error) + dlr DatasetListResponse } -// AsMariaDBTableDataset is the BasicDataset implementation for DelimitedTextDataset. -func (dtd DelimitedTextDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { - return nil, false +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *DatasetListResponsePage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DatasetListResponsePage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.dlr) + if err != nil { + return err + } + page.dlr = next + return nil } -// AsMagentoObjectDataset is the BasicDataset implementation for DelimitedTextDataset. -func (dtd DelimitedTextDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { - return nil, false +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *DatasetListResponsePage) Next() error { + return page.NextWithContext(context.Background()) } -// AsJiraObjectDataset is the BasicDataset implementation for DelimitedTextDataset. -func (dtd DelimitedTextDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { - return nil, false +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page DatasetListResponsePage) NotDone() bool { + return !page.dlr.IsEmpty() } -// AsImpalaObjectDataset is the BasicDataset implementation for DelimitedTextDataset. -func (dtd DelimitedTextDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { - return nil, false +// Response returns the raw server response from the last page request. +func (page DatasetListResponsePage) Response() DatasetListResponse { + return page.dlr } -// AsHubspotObjectDataset is the BasicDataset implementation for DelimitedTextDataset. -func (dtd DelimitedTextDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { - return nil, false +// Values returns the slice of values for the current page or nil if there are no values. +func (page DatasetListResponsePage) Values() []DatasetResource { + if page.dlr.IsEmpty() { + return nil + } + return *page.dlr.Value } -// AsHiveObjectDataset is the BasicDataset implementation for DelimitedTextDataset. -func (dtd DelimitedTextDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { - return nil, false +// Creates a new instance of the DatasetListResponsePage type. +func NewDatasetListResponsePage(getNextPage func(context.Context, DatasetListResponse) (DatasetListResponse, error)) DatasetListResponsePage { + return DatasetListResponsePage{fn: getNextPage} } -// AsHBaseObjectDataset is the BasicDataset implementation for DelimitedTextDataset. -func (dtd DelimitedTextDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { - return nil, false +// DatasetLocation dataset location. +type DatasetLocation struct { + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Type - Type of dataset storage location. + Type *string `json:"type,omitempty"` + // FolderPath - Specify the folder path of dataset. Type: string (or Expression with resultType string) + FolderPath interface{} `json:"folderPath,omitempty"` + // FileName - Specify the file name of dataset. Type: string (or Expression with resultType string). + FileName interface{} `json:"fileName,omitempty"` } -// AsGreenplumTableDataset is the BasicDataset implementation for DelimitedTextDataset. -func (dtd DelimitedTextDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { - return nil, false +// MarshalJSON is the custom marshaler for DatasetLocation. +func (dl DatasetLocation) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if dl.Type != nil { + objectMap["type"] = dl.Type + } + if dl.FolderPath != nil { + objectMap["folderPath"] = dl.FolderPath + } + if dl.FileName != nil { + objectMap["fileName"] = dl.FileName + } + for k, v := range dl.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) } -// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for DelimitedTextDataset. -func (dtd DelimitedTextDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { - return nil, false -} +// UnmarshalJSON is the custom unmarshaler for DatasetLocation struct. +func (dl *DatasetLocation) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if dl.AdditionalProperties == nil { + dl.AdditionalProperties = make(map[string]interface{}) + } + dl.AdditionalProperties[k] = additionalProperties + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + dl.Type = &typeVar + } + case "folderPath": + if v != nil { + var folderPath interface{} + err = json.Unmarshal(*v, &folderPath) + if err != nil { + return err + } + dl.FolderPath = folderPath + } + case "fileName": + if v != nil { + var fileName interface{} + err = json.Unmarshal(*v, &fileName) + if err != nil { + return err + } + dl.FileName = fileName + } + } + } -// AsEloquaObjectDataset is the BasicDataset implementation for DelimitedTextDataset. -func (dtd DelimitedTextDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { - return nil, false + return nil } -// AsDrillTableDataset is the BasicDataset implementation for DelimitedTextDataset. -func (dtd DelimitedTextDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { - return nil, false +// DatasetReference dataset reference type. +type DatasetReference struct { + // Type - Dataset reference type. + Type *string `json:"type,omitempty"` + // ReferenceName - Reference dataset name. + ReferenceName *string `json:"referenceName,omitempty"` + // Parameters - Arguments for dataset. + Parameters map[string]interface{} `json:"parameters"` } -// AsCouchbaseTableDataset is the BasicDataset implementation for DelimitedTextDataset. -func (dtd DelimitedTextDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { - return nil, false +// MarshalJSON is the custom marshaler for DatasetReference. +func (dr DatasetReference) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if dr.Type != nil { + objectMap["type"] = dr.Type + } + if dr.ReferenceName != nil { + objectMap["referenceName"] = dr.ReferenceName + } + if dr.Parameters != nil { + objectMap["parameters"] = dr.Parameters + } + return json.Marshal(objectMap) } -// AsConcurObjectDataset is the BasicDataset implementation for DelimitedTextDataset. -func (dtd DelimitedTextDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { - return nil, false +// DatasetResource dataset resource type. +type DatasetResource struct { + autorest.Response `json:"-"` + // Properties - Dataset properties. + Properties BasicDataset `json:"properties,omitempty"` + // ID - READ-ONLY; The resource identifier. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; The resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; The resource type. + Type *string `json:"type,omitempty"` + // Etag - READ-ONLY; Etag identifies change in the resource. + Etag *string `json:"etag,omitempty"` } -// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for DelimitedTextDataset. -func (dtd DelimitedTextDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { - return nil, false -} - -// AsAmazonMWSObjectDataset is the BasicDataset implementation for DelimitedTextDataset. -func (dtd DelimitedTextDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { - return nil, false -} - -// AsHTTPDataset is the BasicDataset implementation for DelimitedTextDataset. -func (dtd DelimitedTextDataset) AsHTTPDataset() (*HTTPDataset, bool) { - return nil, false -} - -// AsAzureSearchIndexDataset is the BasicDataset implementation for DelimitedTextDataset. -func (dtd DelimitedTextDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { - return nil, false -} - -// AsWebTableDataset is the BasicDataset implementation for DelimitedTextDataset. -func (dtd DelimitedTextDataset) AsWebTableDataset() (*WebTableDataset, bool) { - return nil, false -} - -// AsSapTableResourceDataset is the BasicDataset implementation for DelimitedTextDataset. -func (dtd DelimitedTextDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { - return nil, false -} - -// AsRestResourceDataset is the BasicDataset implementation for DelimitedTextDataset. -func (dtd DelimitedTextDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { - return nil, false -} - -// AsSQLServerTableDataset is the BasicDataset implementation for DelimitedTextDataset. -func (dtd DelimitedTextDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { - return nil, false -} - -// AsSapOpenHubTableDataset is the BasicDataset implementation for DelimitedTextDataset. -func (dtd DelimitedTextDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { - return nil, false -} - -// AsSapHanaTableDataset is the BasicDataset implementation for DelimitedTextDataset. -func (dtd DelimitedTextDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { - return nil, false -} - -// AsSapEccResourceDataset is the BasicDataset implementation for DelimitedTextDataset. -func (dtd DelimitedTextDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { - return nil, false -} - -// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for DelimitedTextDataset. -func (dtd DelimitedTextDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { - return nil, false -} - -// AsSapBwCubeDataset is the BasicDataset implementation for DelimitedTextDataset. -func (dtd DelimitedTextDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { - return nil, false -} - -// AsSybaseTableDataset is the BasicDataset implementation for DelimitedTextDataset. -func (dtd DelimitedTextDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { - return nil, false -} - -// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for DelimitedTextDataset. -func (dtd DelimitedTextDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { - return nil, false -} - -// AsSalesforceObjectDataset is the BasicDataset implementation for DelimitedTextDataset. -func (dtd DelimitedTextDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { - return nil, false -} - -// AsMicrosoftAccessTableDataset is the BasicDataset implementation for DelimitedTextDataset. -func (dtd DelimitedTextDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { - return nil, false -} - -// AsPostgreSQLTableDataset is the BasicDataset implementation for DelimitedTextDataset. -func (dtd DelimitedTextDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { - return nil, false -} - -// AsMySQLTableDataset is the BasicDataset implementation for DelimitedTextDataset. -func (dtd DelimitedTextDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { - return nil, false -} - -// AsOdbcTableDataset is the BasicDataset implementation for DelimitedTextDataset. -func (dtd DelimitedTextDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { - return nil, false -} - -// AsInformixTableDataset is the BasicDataset implementation for DelimitedTextDataset. -func (dtd DelimitedTextDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { - return nil, false -} - -// AsRelationalTableDataset is the BasicDataset implementation for DelimitedTextDataset. -func (dtd DelimitedTextDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { - return nil, false -} - -// AsAzureMySQLTableDataset is the BasicDataset implementation for DelimitedTextDataset. -func (dtd DelimitedTextDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { - return nil, false -} - -// AsTeradataTableDataset is the BasicDataset implementation for DelimitedTextDataset. -func (dtd DelimitedTextDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { - return nil, false -} - -// AsOracleTableDataset is the BasicDataset implementation for DelimitedTextDataset. -func (dtd DelimitedTextDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { - return nil, false -} - -// AsODataResourceDataset is the BasicDataset implementation for DelimitedTextDataset. -func (dtd DelimitedTextDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { - return nil, false -} - -// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for DelimitedTextDataset. -func (dtd DelimitedTextDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { - return nil, false -} - -// AsMongoDbV2CollectionDataset is the BasicDataset implementation for DelimitedTextDataset. -func (dtd DelimitedTextDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { - return nil, false -} - -// AsMongoDbCollectionDataset is the BasicDataset implementation for DelimitedTextDataset. -func (dtd DelimitedTextDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { - return nil, false -} - -// AsFileShareDataset is the BasicDataset implementation for DelimitedTextDataset. -func (dtd DelimitedTextDataset) AsFileShareDataset() (*FileShareDataset, bool) { - return nil, false -} - -// AsOffice365Dataset is the BasicDataset implementation for DelimitedTextDataset. -func (dtd DelimitedTextDataset) AsOffice365Dataset() (*Office365Dataset, bool) { - return nil, false -} - -// AsAzureBlobFSDataset is the BasicDataset implementation for DelimitedTextDataset. -func (dtd DelimitedTextDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) { - return nil, false -} - -// AsAzureDataLakeStoreDataset is the BasicDataset implementation for DelimitedTextDataset. -func (dtd DelimitedTextDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) { - return nil, false -} - -// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for DelimitedTextDataset. -func (dtd DelimitedTextDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { - return nil, false -} - -// AsDynamicsCrmEntityDataset is the BasicDataset implementation for DelimitedTextDataset. -func (dtd DelimitedTextDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { - return nil, false -} +// UnmarshalJSON is the custom unmarshaler for DatasetResource struct. +func (dr *DatasetResource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + properties, err := unmarshalBasicDataset(*v) + if err != nil { + return err + } + dr.Properties = properties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + dr.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + dr.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + dr.Type = &typeVar + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + dr.Etag = &etag + } + } + } -// AsDynamicsEntityDataset is the BasicDataset implementation for DelimitedTextDataset. -func (dtd DelimitedTextDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { - return nil, false + return nil } -// AsDocumentDbCollectionDataset is the BasicDataset implementation for DelimitedTextDataset. -func (dtd DelimitedTextDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { - return nil, false +// BasicDatasetStorageFormat the format definition of a storage. +type BasicDatasetStorageFormat interface { + AsParquetFormat() (*ParquetFormat, bool) + AsOrcFormat() (*OrcFormat, bool) + AsAvroFormat() (*AvroFormat, bool) + AsJSONFormat() (*JSONFormat, bool) + AsTextFormat() (*TextFormat, bool) + AsDatasetStorageFormat() (*DatasetStorageFormat, bool) } -// AsCustomDataset is the BasicDataset implementation for DelimitedTextDataset. -func (dtd DelimitedTextDataset) AsCustomDataset() (*CustomDataset, bool) { - return nil, false +// DatasetStorageFormat the format definition of a storage. +type DatasetStorageFormat struct { + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Serializer - Serializer. Type: string (or Expression with resultType string). + Serializer interface{} `json:"serializer,omitempty"` + // Deserializer - Deserializer. Type: string (or Expression with resultType string). + Deserializer interface{} `json:"deserializer,omitempty"` + // Type - Possible values include: 'TypeDatasetStorageFormat', 'TypeParquetFormat', 'TypeOrcFormat', 'TypeAvroFormat', 'TypeJSONFormat', 'TypeTextFormat' + Type TypeBasicDatasetStorageFormat `json:"type,omitempty"` } -// AsCassandraTableDataset is the BasicDataset implementation for DelimitedTextDataset. -func (dtd DelimitedTextDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { - return nil, false -} +func unmarshalBasicDatasetStorageFormat(body []byte) (BasicDatasetStorageFormat, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } -// AsAzureSQLDWTableDataset is the BasicDataset implementation for DelimitedTextDataset. -func (dtd DelimitedTextDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { - return nil, false + switch m["type"] { + case string(TypeParquetFormat): + var pf ParquetFormat + err := json.Unmarshal(body, &pf) + return pf, err + case string(TypeOrcFormat): + var of OrcFormat + err := json.Unmarshal(body, &of) + return of, err + case string(TypeAvroFormat): + var af AvroFormat + err := json.Unmarshal(body, &af) + return af, err + case string(TypeJSONFormat): + var jf JSONFormat + err := json.Unmarshal(body, &jf) + return jf, err + case string(TypeTextFormat): + var tf TextFormat + err := json.Unmarshal(body, &tf) + return tf, err + default: + var dsf DatasetStorageFormat + err := json.Unmarshal(body, &dsf) + return dsf, err + } } +func unmarshalBasicDatasetStorageFormatArray(body []byte) ([]BasicDatasetStorageFormat, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } -// AsAzureSQLMITableDataset is the BasicDataset implementation for DelimitedTextDataset. -func (dtd DelimitedTextDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { - return nil, false -} + dsfArray := make([]BasicDatasetStorageFormat, len(rawMessages)) -// AsAzureSQLTableDataset is the BasicDataset implementation for DelimitedTextDataset. -func (dtd DelimitedTextDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { - return nil, false + for index, rawMessage := range rawMessages { + dsf, err := unmarshalBasicDatasetStorageFormat(*rawMessage) + if err != nil { + return nil, err + } + dsfArray[index] = dsf + } + return dsfArray, nil } -// AsAzureTableDataset is the BasicDataset implementation for DelimitedTextDataset. -func (dtd DelimitedTextDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { - return nil, false +// MarshalJSON is the custom marshaler for DatasetStorageFormat. +func (dsf DatasetStorageFormat) MarshalJSON() ([]byte, error) { + dsf.Type = TypeDatasetStorageFormat + objectMap := make(map[string]interface{}) + if dsf.Serializer != nil { + objectMap["serializer"] = dsf.Serializer + } + if dsf.Deserializer != nil { + objectMap["deserializer"] = dsf.Deserializer + } + if dsf.Type != "" { + objectMap["type"] = dsf.Type + } + for k, v := range dsf.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) } -// AsAzureBlobDataset is the BasicDataset implementation for DelimitedTextDataset. -func (dtd DelimitedTextDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) { +// AsParquetFormat is the BasicDatasetStorageFormat implementation for DatasetStorageFormat. +func (dsf DatasetStorageFormat) AsParquetFormat() (*ParquetFormat, bool) { return nil, false } -// AsBinaryDataset is the BasicDataset implementation for DelimitedTextDataset. -func (dtd DelimitedTextDataset) AsBinaryDataset() (*BinaryDataset, bool) { +// AsOrcFormat is the BasicDatasetStorageFormat implementation for DatasetStorageFormat. +func (dsf DatasetStorageFormat) AsOrcFormat() (*OrcFormat, bool) { return nil, false } -// AsDelimitedTextDataset is the BasicDataset implementation for DelimitedTextDataset. -func (dtd DelimitedTextDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { - return &dtd, true -} - -// AsParquetDataset is the BasicDataset implementation for DelimitedTextDataset. -func (dtd DelimitedTextDataset) AsParquetDataset() (*ParquetDataset, bool) { +// AsAvroFormat is the BasicDatasetStorageFormat implementation for DatasetStorageFormat. +func (dsf DatasetStorageFormat) AsAvroFormat() (*AvroFormat, bool) { return nil, false } -// AsAvroDataset is the BasicDataset implementation for DelimitedTextDataset. -func (dtd DelimitedTextDataset) AsAvroDataset() (*AvroDataset, bool) { +// AsJSONFormat is the BasicDatasetStorageFormat implementation for DatasetStorageFormat. +func (dsf DatasetStorageFormat) AsJSONFormat() (*JSONFormat, bool) { return nil, false } -// AsAmazonS3Dataset is the BasicDataset implementation for DelimitedTextDataset. -func (dtd DelimitedTextDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) { +// AsTextFormat is the BasicDatasetStorageFormat implementation for DatasetStorageFormat. +func (dsf DatasetStorageFormat) AsTextFormat() (*TextFormat, bool) { return nil, false } -// AsDataset is the BasicDataset implementation for DelimitedTextDataset. -func (dtd DelimitedTextDataset) AsDataset() (*Dataset, bool) { - return nil, false +// AsDatasetStorageFormat is the BasicDatasetStorageFormat implementation for DatasetStorageFormat. +func (dsf DatasetStorageFormat) AsDatasetStorageFormat() (*DatasetStorageFormat, bool) { + return &dsf, true } -// AsBasicDataset is the BasicDataset implementation for DelimitedTextDataset. -func (dtd DelimitedTextDataset) AsBasicDataset() (BasicDataset, bool) { - return &dtd, true +// AsBasicDatasetStorageFormat is the BasicDatasetStorageFormat implementation for DatasetStorageFormat. +func (dsf DatasetStorageFormat) AsBasicDatasetStorageFormat() (BasicDatasetStorageFormat, bool) { + return &dsf, true } -// UnmarshalJSON is the custom unmarshaler for DelimitedTextDataset struct. -func (dtd *DelimitedTextDataset) UnmarshalJSON(body []byte) error { +// UnmarshalJSON is the custom unmarshaler for DatasetStorageFormat struct. +func (dsf *DatasetStorageFormat) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -61577,15 +67907,6 @@ func (dtd *DelimitedTextDataset) UnmarshalJSON(body []byte) error { } for k, v := range m { switch k { - case "typeProperties": - if v != nil { - var delimitedTextDatasetTypeProperties DelimitedTextDatasetTypeProperties - err = json.Unmarshal(*v, &delimitedTextDatasetTypeProperties) - if err != nil { - return err - } - dtd.DelimitedTextDatasetTypeProperties = &delimitedTextDatasetTypeProperties - } default: if v != nil { var additionalProperties interface{} @@ -61593,82 +67914,37 @@ func (dtd *DelimitedTextDataset) UnmarshalJSON(body []byte) error { if err != nil { return err } - if dtd.AdditionalProperties == nil { - dtd.AdditionalProperties = make(map[string]interface{}) - } - dtd.AdditionalProperties[k] = additionalProperties - } - case "description": - if v != nil { - var description string - err = json.Unmarshal(*v, &description) - if err != nil { - return err - } - dtd.Description = &description - } - case "structure": - if v != nil { - var structure interface{} - err = json.Unmarshal(*v, &structure) - if err != nil { - return err - } - dtd.Structure = structure - } - case "schema": - if v != nil { - var schema interface{} - err = json.Unmarshal(*v, &schema) - if err != nil { - return err - } - dtd.Schema = schema - } - case "linkedServiceName": - if v != nil { - var linkedServiceName LinkedServiceReference - err = json.Unmarshal(*v, &linkedServiceName) - if err != nil { - return err - } - dtd.LinkedServiceName = &linkedServiceName - } - case "parameters": - if v != nil { - var parameters map[string]*ParameterSpecification - err = json.Unmarshal(*v, ¶meters) - if err != nil { - return err + if dsf.AdditionalProperties == nil { + dsf.AdditionalProperties = make(map[string]interface{}) } - dtd.Parameters = parameters + dsf.AdditionalProperties[k] = additionalProperties } - case "annotations": + case "serializer": if v != nil { - var annotations []interface{} - err = json.Unmarshal(*v, &annotations) + var serializer interface{} + err = json.Unmarshal(*v, &serializer) if err != nil { return err } - dtd.Annotations = &annotations + dsf.Serializer = serializer } - case "folder": + case "deserializer": if v != nil { - var folder DatasetFolder - err = json.Unmarshal(*v, &folder) + var deserializer interface{} + err = json.Unmarshal(*v, &deserializer) if err != nil { return err } - dtd.Folder = &folder + dsf.Deserializer = deserializer } case "type": if v != nil { - var typeVar TypeBasicDataset + var typeVar TypeBasicDatasetStorageFormat err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - dtd.Type = typeVar + dsf.Type = typeVar } } } @@ -61676,56 +67952,64 @@ func (dtd *DelimitedTextDataset) UnmarshalJSON(body []byte) error { return nil } -// DelimitedTextDatasetTypeProperties delimitedText dataset properties. -type DelimitedTextDatasetTypeProperties struct { - // Location - The location of the delimited text storage. - Location *DatasetLocation `json:"location,omitempty"` - // ColumnDelimiter - The column delimiter. Type: string (or Expression with resultType string). - ColumnDelimiter interface{} `json:"columnDelimiter,omitempty"` - // RowDelimiter - The row delimiter. Type: string (or Expression with resultType string). - RowDelimiter interface{} `json:"rowDelimiter,omitempty"` - // EncodingName - The code page name of the preferred encoding. If miss, the default value is UTF-8, unless BOM denotes another Unicode encoding. Refer to the name column of the table in the following link to set supported values: https://msdn.microsoft.com/library/system.text.encoding.aspx. Type: string (or Expression with resultType string). - EncodingName interface{} `json:"encodingName,omitempty"` - CompressionCodec interface{} `json:"compressionCodec,omitempty"` - // CompressionLevel - The data compression method used for DelimitedText. - CompressionLevel interface{} `json:"compressionLevel,omitempty"` - // QuoteChar - The quote character. Type: string (or Expression with resultType string). - QuoteChar interface{} `json:"quoteChar,omitempty"` - // EscapeChar - The escape character. Type: string (or Expression with resultType string). - EscapeChar interface{} `json:"escapeChar,omitempty"` - // FirstRowAsHeader - When used as input, treat the first row of data as headers. When used as output,write the headers into the output as the first row of data. The default value is false. Type: boolean (or Expression with resultType boolean). - FirstRowAsHeader interface{} `json:"firstRowAsHeader,omitempty"` - // NullValue - The null value string. Type: string (or Expression with resultType string). - NullValue interface{} `json:"nullValue,omitempty"` -} - -// DelimitedTextReadSettings delimited text read settings. -type DelimitedTextReadSettings struct { - // SkipLineCount - Indicates the number of non-empty rows to skip when reading data from input files. Type: integer (or Expression with resultType integer). - SkipLineCount interface{} `json:"skipLineCount,omitempty"` +// DatasetZipDeflateCompression the ZipDeflate compression method used on a dataset. +type DatasetZipDeflateCompression struct { + // Level - The ZipDeflate compression level. + Level interface{} `json:"level,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` - // Type - The read setting type. - Type *string `json:"type,omitempty"` + // Type - Possible values include: 'TypeDatasetCompression', 'TypeZipDeflate', 'TypeDeflate', 'TypeGZip', 'TypeBZip2' + Type TypeBasicDatasetCompression `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for DelimitedTextReadSettings. -func (dtrs DelimitedTextReadSettings) MarshalJSON() ([]byte, error) { +// MarshalJSON is the custom marshaler for DatasetZipDeflateCompression. +func (dzdc DatasetZipDeflateCompression) MarshalJSON() ([]byte, error) { + dzdc.Type = TypeZipDeflate objectMap := make(map[string]interface{}) - if dtrs.SkipLineCount != nil { - objectMap["skipLineCount"] = dtrs.SkipLineCount + if dzdc.Level != nil { + objectMap["level"] = dzdc.Level } - if dtrs.Type != nil { - objectMap["type"] = dtrs.Type + if dzdc.Type != "" { + objectMap["type"] = dzdc.Type } - for k, v := range dtrs.AdditionalProperties { + for k, v := range dzdc.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// UnmarshalJSON is the custom unmarshaler for DelimitedTextReadSettings struct. -func (dtrs *DelimitedTextReadSettings) UnmarshalJSON(body []byte) error { +// AsDatasetZipDeflateCompression is the BasicDatasetCompression implementation for DatasetZipDeflateCompression. +func (dzdc DatasetZipDeflateCompression) AsDatasetZipDeflateCompression() (*DatasetZipDeflateCompression, bool) { + return &dzdc, true +} + +// AsDatasetDeflateCompression is the BasicDatasetCompression implementation for DatasetZipDeflateCompression. +func (dzdc DatasetZipDeflateCompression) AsDatasetDeflateCompression() (*DatasetDeflateCompression, bool) { + return nil, false +} + +// AsDatasetGZipCompression is the BasicDatasetCompression implementation for DatasetZipDeflateCompression. +func (dzdc DatasetZipDeflateCompression) AsDatasetGZipCompression() (*DatasetGZipCompression, bool) { + return nil, false +} + +// AsDatasetBZip2Compression is the BasicDatasetCompression implementation for DatasetZipDeflateCompression. +func (dzdc DatasetZipDeflateCompression) AsDatasetBZip2Compression() (*DatasetBZip2Compression, bool) { + return nil, false +} + +// AsDatasetCompression is the BasicDatasetCompression implementation for DatasetZipDeflateCompression. +func (dzdc DatasetZipDeflateCompression) AsDatasetCompression() (*DatasetCompression, bool) { + return nil, false +} + +// AsBasicDatasetCompression is the BasicDatasetCompression implementation for DatasetZipDeflateCompression. +func (dzdc DatasetZipDeflateCompression) AsBasicDatasetCompression() (BasicDatasetCompression, bool) { + return &dzdc, true +} + +// UnmarshalJSON is the custom unmarshaler for DatasetZipDeflateCompression struct. +func (dzdc *DatasetZipDeflateCompression) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -61733,14 +68017,14 @@ func (dtrs *DelimitedTextReadSettings) UnmarshalJSON(body []byte) error { } for k, v := range m { switch k { - case "skipLineCount": + case "level": if v != nil { - var skipLineCount interface{} - err = json.Unmarshal(*v, &skipLineCount) + var level interface{} + err = json.Unmarshal(*v, &level) if err != nil { return err } - dtrs.SkipLineCount = skipLineCount + dzdc.Level = level } default: if v != nil { @@ -61749,19 +68033,19 @@ func (dtrs *DelimitedTextReadSettings) UnmarshalJSON(body []byte) error { if err != nil { return err } - if dtrs.AdditionalProperties == nil { - dtrs.AdditionalProperties = make(map[string]interface{}) + if dzdc.AdditionalProperties == nil { + dzdc.AdditionalProperties = make(map[string]interface{}) } - dtrs.AdditionalProperties[k] = additionalProperties + dzdc.AdditionalProperties[k] = additionalProperties } case "type": if v != nil { - var typeVar string + var typeVar TypeBasicDatasetCompression err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - dtrs.Type = &typeVar + dzdc.Type = typeVar } } } @@ -61769,794 +68053,534 @@ func (dtrs *DelimitedTextReadSettings) UnmarshalJSON(body []byte) error { return nil } -// DelimitedTextSink a copy activity DelimitedText sink. -type DelimitedTextSink struct { - // StoreSettings - DelimitedText store settings. - StoreSettings *StoreWriteSettings `json:"storeSettings,omitempty"` - // FormatSettings - DelimitedText format settings. - FormatSettings *DelimitedTextWriteSettings `json:"formatSettings,omitempty"` +// Db2LinkedService linked service for DB2 data source. +type Db2LinkedService struct { + // Db2LinkedServiceTypeProperties - DB2 linked service properties. + *Db2LinkedServiceTypeProperties `json:"typeProperties,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` - // WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0. - WriteBatchSize interface{} `json:"writeBatchSize,omitempty"` - // WriteBatchTimeout - Write batch timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). - WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"` - // SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer). - SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"` - // SinkRetryWait - Sink retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). - SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"` - // MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). - MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAvroSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzurePostgreSQLSink', 'TypeDelimitedTextSink' - Type TypeBasicCopySink `json:"type,omitempty"` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' + Type TypeBasicLinkedService `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for DelimitedTextSink. -func (dts DelimitedTextSink) MarshalJSON() ([]byte, error) { - dts.Type = TypeDelimitedTextSink +// MarshalJSON is the custom marshaler for Db2LinkedService. +func (d2ls Db2LinkedService) MarshalJSON() ([]byte, error) { + d2ls.Type = TypeDb2 objectMap := make(map[string]interface{}) - if dts.StoreSettings != nil { - objectMap["storeSettings"] = dts.StoreSettings - } - if dts.FormatSettings != nil { - objectMap["formatSettings"] = dts.FormatSettings - } - if dts.WriteBatchSize != nil { - objectMap["writeBatchSize"] = dts.WriteBatchSize + if d2ls.Db2LinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = d2ls.Db2LinkedServiceTypeProperties } - if dts.WriteBatchTimeout != nil { - objectMap["writeBatchTimeout"] = dts.WriteBatchTimeout + if d2ls.ConnectVia != nil { + objectMap["connectVia"] = d2ls.ConnectVia } - if dts.SinkRetryCount != nil { - objectMap["sinkRetryCount"] = dts.SinkRetryCount + if d2ls.Description != nil { + objectMap["description"] = d2ls.Description } - if dts.SinkRetryWait != nil { - objectMap["sinkRetryWait"] = dts.SinkRetryWait + if d2ls.Parameters != nil { + objectMap["parameters"] = d2ls.Parameters } - if dts.MaxConcurrentConnections != nil { - objectMap["maxConcurrentConnections"] = dts.MaxConcurrentConnections + if d2ls.Annotations != nil { + objectMap["annotations"] = d2ls.Annotations } - if dts.Type != "" { - objectMap["type"] = dts.Type + if d2ls.Type != "" { + objectMap["type"] = d2ls.Type } - for k, v := range dts.AdditionalProperties { + for k, v := range d2ls.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for DelimitedTextSink. -func (dts DelimitedTextSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) { +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { return nil, false } -// AsSalesforceServiceCloudSink is the BasicCopySink implementation for DelimitedTextSink. -func (dts DelimitedTextSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) { +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { return nil, false } -// AsSalesforceSink is the BasicCopySink implementation for DelimitedTextSink. -func (dts DelimitedTextSink) AsSalesforceSink() (*SalesforceSink, bool) { +// AsSapTableLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { return nil, false } -// AsAzureDataExplorerSink is the BasicCopySink implementation for DelimitedTextSink. -func (dts DelimitedTextSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) { +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { return nil, false } -// AsCommonDataServiceForAppsSink is the BasicCopySink implementation for DelimitedTextSink. -func (dts DelimitedTextSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) { +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { return nil, false } -// AsDynamicsCrmSink is the BasicCopySink implementation for DelimitedTextSink. -func (dts DelimitedTextSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) { +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { return nil, false } -// AsDynamicsSink is the BasicCopySink implementation for DelimitedTextSink. -func (dts DelimitedTextSink) AsDynamicsSink() (*DynamicsSink, bool) { +// AsResponsysLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { return nil, false } -// AsMicrosoftAccessSink is the BasicCopySink implementation for DelimitedTextSink. -func (dts DelimitedTextSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) { +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { return nil, false } -// AsInformixSink is the BasicCopySink implementation for DelimitedTextSink. -func (dts DelimitedTextSink) AsInformixSink() (*InformixSink, bool) { +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { return nil, false } -// AsOdbcSink is the BasicCopySink implementation for DelimitedTextSink. -func (dts DelimitedTextSink) AsOdbcSink() (*OdbcSink, bool) { +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { return nil, false } -// AsAzureSearchIndexSink is the BasicCopySink implementation for DelimitedTextSink. -func (dts DelimitedTextSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) { +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { return nil, false } -// AsAzureBlobFSSink is the BasicCopySink implementation for DelimitedTextSink. -func (dts DelimitedTextSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) { +// AsNetezzaLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { return nil, false } -// AsAzureDataLakeStoreSink is the BasicCopySink implementation for DelimitedTextSink. -func (dts DelimitedTextSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) { +// AsVerticaLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { return nil, false } -// AsOracleSink is the BasicCopySink implementation for DelimitedTextSink. -func (dts DelimitedTextSink) AsOracleSink() (*OracleSink, bool) { +// AsZohoLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { return nil, false } -// AsSQLDWSink is the BasicCopySink implementation for DelimitedTextSink. -func (dts DelimitedTextSink) AsSQLDWSink() (*SQLDWSink, bool) { +// AsXeroLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { return nil, false } -// AsSQLMISink is the BasicCopySink implementation for DelimitedTextSink. -func (dts DelimitedTextSink) AsSQLMISink() (*SQLMISink, bool) { +// AsSquareLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { return nil, false } -// AsAzureSQLSink is the BasicCopySink implementation for DelimitedTextSink. -func (dts DelimitedTextSink) AsAzureSQLSink() (*AzureSQLSink, bool) { +// AsSparkLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { return nil, false } -// AsSQLServerSink is the BasicCopySink implementation for DelimitedTextSink. -func (dts DelimitedTextSink) AsSQLServerSink() (*SQLServerSink, bool) { +// AsShopifyLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { return nil, false } -// AsSQLSink is the BasicCopySink implementation for DelimitedTextSink. -func (dts DelimitedTextSink) AsSQLSink() (*SQLSink, bool) { +// AsServiceNowLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { return nil, false } -// AsDocumentDbCollectionSink is the BasicCopySink implementation for DelimitedTextSink. -func (dts DelimitedTextSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) { +// AsQuickBooksLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { return nil, false } -// AsFileSystemSink is the BasicCopySink implementation for DelimitedTextSink. -func (dts DelimitedTextSink) AsFileSystemSink() (*FileSystemSink, bool) { +// AsPrestoLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { return nil, false } -// AsBlobSink is the BasicCopySink implementation for DelimitedTextSink. -func (dts DelimitedTextSink) AsBlobSink() (*BlobSink, bool) { +// AsPhoenixLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { return nil, false } -// AsBinarySink is the BasicCopySink implementation for DelimitedTextSink. -func (dts DelimitedTextSink) AsBinarySink() (*BinarySink, bool) { +// AsPaypalLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { return nil, false } -// AsParquetSink is the BasicCopySink implementation for DelimitedTextSink. -func (dts DelimitedTextSink) AsParquetSink() (*ParquetSink, bool) { +// AsMarketoLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { return nil, false } -// AsAvroSink is the BasicCopySink implementation for DelimitedTextSink. -func (dts DelimitedTextSink) AsAvroSink() (*AvroSink, bool) { +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { return nil, false } -// AsAzureTableSink is the BasicCopySink implementation for DelimitedTextSink. -func (dts DelimitedTextSink) AsAzureTableSink() (*AzureTableSink, bool) { +// AsMariaDBLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { return nil, false } -// AsAzureQueueSink is the BasicCopySink implementation for DelimitedTextSink. -func (dts DelimitedTextSink) AsAzureQueueSink() (*AzureQueueSink, bool) { +// AsMagentoLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { return nil, false } -// AsSapCloudForCustomerSink is the BasicCopySink implementation for DelimitedTextSink. -func (dts DelimitedTextSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) { +// AsJiraLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { return nil, false } -// AsAzurePostgreSQLSink is the BasicCopySink implementation for DelimitedTextSink. -func (dts DelimitedTextSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) { +// AsImpalaLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { return nil, false } -// AsDelimitedTextSink is the BasicCopySink implementation for DelimitedTextSink. -func (dts DelimitedTextSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) { - return &dts, true +// AsHubspotLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false } -// AsCopySink is the BasicCopySink implementation for DelimitedTextSink. -func (dts DelimitedTextSink) AsCopySink() (*CopySink, bool) { +// AsHiveLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { return nil, false } -// AsBasicCopySink is the BasicCopySink implementation for DelimitedTextSink. -func (dts DelimitedTextSink) AsBasicCopySink() (BasicCopySink, bool) { - return &dts, true +// AsHBaseLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return nil, false } -// UnmarshalJSON is the custom unmarshaler for DelimitedTextSink struct. -func (dts *DelimitedTextSink) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - case "storeSettings": - if v != nil { - var storeSettings StoreWriteSettings - err = json.Unmarshal(*v, &storeSettings) - if err != nil { - return err - } - dts.StoreSettings = &storeSettings - } - case "formatSettings": - if v != nil { - var formatSettings DelimitedTextWriteSettings - err = json.Unmarshal(*v, &formatSettings) - if err != nil { - return err - } - dts.FormatSettings = &formatSettings - } - default: - if v != nil { - var additionalProperties interface{} - err = json.Unmarshal(*v, &additionalProperties) - if err != nil { - return err - } - if dts.AdditionalProperties == nil { - dts.AdditionalProperties = make(map[string]interface{}) - } - dts.AdditionalProperties[k] = additionalProperties - } - case "writeBatchSize": - if v != nil { - var writeBatchSize interface{} - err = json.Unmarshal(*v, &writeBatchSize) - if err != nil { - return err - } - dts.WriteBatchSize = writeBatchSize - } - case "writeBatchTimeout": - if v != nil { - var writeBatchTimeout interface{} - err = json.Unmarshal(*v, &writeBatchTimeout) - if err != nil { - return err - } - dts.WriteBatchTimeout = writeBatchTimeout - } - case "sinkRetryCount": - if v != nil { - var sinkRetryCount interface{} - err = json.Unmarshal(*v, &sinkRetryCount) - if err != nil { - return err - } - dts.SinkRetryCount = sinkRetryCount - } - case "sinkRetryWait": - if v != nil { - var sinkRetryWait interface{} - err = json.Unmarshal(*v, &sinkRetryWait) - if err != nil { - return err - } - dts.SinkRetryWait = sinkRetryWait - } - case "maxConcurrentConnections": - if v != nil { - var maxConcurrentConnections interface{} - err = json.Unmarshal(*v, &maxConcurrentConnections) - if err != nil { - return err - } - dts.MaxConcurrentConnections = maxConcurrentConnections - } - case "type": - if v != nil { - var typeVar TypeBasicCopySink - err = json.Unmarshal(*v, &typeVar) - if err != nil { - return err - } - dts.Type = typeVar - } - } - } - - return nil +// AsGreenplumLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false } -// DelimitedTextSource a copy activity DelimitedText source. -type DelimitedTextSource struct { - // StoreSettings - DelimitedText store settings. - StoreSettings *StoreReadSettings `json:"storeSettings,omitempty"` - // FormatSettings - DelimitedText format settings. - FormatSettings *DelimitedTextReadSettings `json:"formatSettings,omitempty"` - // AdditionalProperties - Unmatched properties from the message are deserialized this collection - AdditionalProperties map[string]interface{} `json:""` - // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). - SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` - // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). - SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` - // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). - MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' - Type TypeBasicCopySource `json:"type,omitempty"` +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return nil, false } -// MarshalJSON is the custom marshaler for DelimitedTextSource. -func (dts DelimitedTextSource) MarshalJSON() ([]byte, error) { - dts.Type = TypeDelimitedTextSource - objectMap := make(map[string]interface{}) - if dts.StoreSettings != nil { - objectMap["storeSettings"] = dts.StoreSettings - } - if dts.FormatSettings != nil { - objectMap["formatSettings"] = dts.FormatSettings - } - if dts.SourceRetryCount != nil { - objectMap["sourceRetryCount"] = dts.SourceRetryCount - } - if dts.SourceRetryWait != nil { - objectMap["sourceRetryWait"] = dts.SourceRetryWait - } - if dts.MaxConcurrentConnections != nil { - objectMap["maxConcurrentConnections"] = dts.MaxConcurrentConnections - } - if dts.Type != "" { - objectMap["type"] = dts.Type - } - for k, v := range dts.AdditionalProperties { - objectMap[k] = v - } - return json.Marshal(objectMap) +// AsEloquaLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return nil, false } -// AsAmazonRedshiftSource is the BasicCopySource implementation for DelimitedTextSource. -func (dts DelimitedTextSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { +// AsDrillLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { return nil, false } -// AsGoogleAdWordsSource is the BasicCopySource implementation for DelimitedTextSource. -func (dts DelimitedTextSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { +// AsCouchbaseLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { return nil, false } -// AsOracleServiceCloudSource is the BasicCopySource implementation for DelimitedTextSource. -func (dts DelimitedTextSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { +// AsConcurLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { return nil, false } -// AsDynamicsAXSource is the BasicCopySource implementation for DelimitedTextSource. -func (dts DelimitedTextSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { return nil, false } -// AsResponsysSource is the BasicCopySource implementation for DelimitedTextSource. -func (dts DelimitedTextSource) AsResponsysSource() (*ResponsysSource, bool) { +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { return nil, false } -// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for DelimitedTextSource. -func (dts DelimitedTextSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { +// AsSapHanaLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { return nil, false } -// AsVerticaSource is the BasicCopySource implementation for DelimitedTextSource. -func (dts DelimitedTextSource) AsVerticaSource() (*VerticaSource, bool) { +// AsSapBWLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { return nil, false } -// AsNetezzaSource is the BasicCopySource implementation for DelimitedTextSource. -func (dts DelimitedTextSource) AsNetezzaSource() (*NetezzaSource, bool) { +// AsSftpServerLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { return nil, false } -// AsZohoSource is the BasicCopySource implementation for DelimitedTextSource. -func (dts DelimitedTextSource) AsZohoSource() (*ZohoSource, bool) { +// AsFtpServerLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { return nil, false } -// AsXeroSource is the BasicCopySource implementation for DelimitedTextSource. -func (dts DelimitedTextSource) AsXeroSource() (*XeroSource, bool) { +// AsHTTPLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { return nil, false } -// AsSquareSource is the BasicCopySource implementation for DelimitedTextSource. -func (dts DelimitedTextSource) AsSquareSource() (*SquareSource, bool) { +// AsAzureSearchLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { return nil, false } -// AsSparkSource is the BasicCopySource implementation for DelimitedTextSource. -func (dts DelimitedTextSource) AsSparkSource() (*SparkSource, bool) { +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { return nil, false } -// AsShopifySource is the BasicCopySource implementation for DelimitedTextSource. -func (dts DelimitedTextSource) AsShopifySource() (*ShopifySource, bool) { +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { return nil, false } -// AsServiceNowSource is the BasicCopySource implementation for DelimitedTextSource. -func (dts DelimitedTextSource) AsServiceNowSource() (*ServiceNowSource, bool) { +// AsAmazonS3LinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { return nil, false } -// AsQuickBooksSource is the BasicCopySource implementation for DelimitedTextSource. -func (dts DelimitedTextSource) AsQuickBooksSource() (*QuickBooksSource, bool) { +// AsRestServiceLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { return nil, false } -// AsPrestoSource is the BasicCopySource implementation for DelimitedTextSource. -func (dts DelimitedTextSource) AsPrestoSource() (*PrestoSource, bool) { +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { return nil, false } -// AsPhoenixSource is the BasicCopySource implementation for DelimitedTextSource. -func (dts DelimitedTextSource) AsPhoenixSource() (*PhoenixSource, bool) { +// AsSapEccLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { return nil, false } -// AsPaypalSource is the BasicCopySource implementation for DelimitedTextSource. -func (dts DelimitedTextSource) AsPaypalSource() (*PaypalSource, bool) { +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { return nil, false } -// AsMarketoSource is the BasicCopySource implementation for DelimitedTextSource. -func (dts DelimitedTextSource) AsMarketoSource() (*MarketoSource, bool) { +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { return nil, false } -// AsAzureMariaDBSource is the BasicCopySource implementation for DelimitedTextSource. -func (dts DelimitedTextSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { +// AsSalesforceLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { return nil, false } -// AsMariaDBSource is the BasicCopySource implementation for DelimitedTextSource. -func (dts DelimitedTextSource) AsMariaDBSource() (*MariaDBSource, bool) { +// AsOffice365LinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { return nil, false } -// AsMagentoSource is the BasicCopySource implementation for DelimitedTextSource. -func (dts DelimitedTextSource) AsMagentoSource() (*MagentoSource, bool) { +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { return nil, false } -// AsJiraSource is the BasicCopySource implementation for DelimitedTextSource. -func (dts DelimitedTextSource) AsJiraSource() (*JiraSource, bool) { +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { return nil, false } -// AsImpalaSource is the BasicCopySource implementation for DelimitedTextSource. -func (dts DelimitedTextSource) AsImpalaSource() (*ImpalaSource, bool) { +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { return nil, false } -// AsHubspotSource is the BasicCopySource implementation for DelimitedTextSource. -func (dts DelimitedTextSource) AsHubspotSource() (*HubspotSource, bool) { +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { return nil, false } -// AsHiveSource is the BasicCopySource implementation for DelimitedTextSource. -func (dts DelimitedTextSource) AsHiveSource() (*HiveSource, bool) { +// AsMongoDbLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { return nil, false } -// AsHBaseSource is the BasicCopySource implementation for DelimitedTextSource. -func (dts DelimitedTextSource) AsHBaseSource() (*HBaseSource, bool) { +// AsCassandraLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { return nil, false } -// AsGreenplumSource is the BasicCopySource implementation for DelimitedTextSource. -func (dts DelimitedTextSource) AsGreenplumSource() (*GreenplumSource, bool) { +// AsWebLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsWebLinkedService() (*WebLinkedService, bool) { return nil, false } -// AsGoogleBigQuerySource is the BasicCopySource implementation for DelimitedTextSource. -func (dts DelimitedTextSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { +// AsODataLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { return nil, false } -// AsEloquaSource is the BasicCopySource implementation for DelimitedTextSource. -func (dts DelimitedTextSource) AsEloquaSource() (*EloquaSource, bool) { - return nil, false -} - -// AsDrillSource is the BasicCopySource implementation for DelimitedTextSource. -func (dts DelimitedTextSource) AsDrillSource() (*DrillSource, bool) { - return nil, false -} - -// AsCouchbaseSource is the BasicCopySource implementation for DelimitedTextSource. -func (dts DelimitedTextSource) AsCouchbaseSource() (*CouchbaseSource, bool) { - return nil, false -} - -// AsConcurSource is the BasicCopySource implementation for DelimitedTextSource. -func (dts DelimitedTextSource) AsConcurSource() (*ConcurSource, bool) { - return nil, false -} - -// AsAzurePostgreSQLSource is the BasicCopySource implementation for DelimitedTextSource. -func (dts DelimitedTextSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { - return nil, false -} - -// AsAmazonMWSSource is the BasicCopySource implementation for DelimitedTextSource. -func (dts DelimitedTextSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { - return nil, false -} - -// AsHTTPSource is the BasicCopySource implementation for DelimitedTextSource. -func (dts DelimitedTextSource) AsHTTPSource() (*HTTPSource, bool) { - return nil, false -} - -// AsAzureBlobFSSource is the BasicCopySource implementation for DelimitedTextSource. -func (dts DelimitedTextSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { - return nil, false -} - -// AsAzureDataLakeStoreSource is the BasicCopySource implementation for DelimitedTextSource. -func (dts DelimitedTextSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { - return nil, false -} - -// AsOffice365Source is the BasicCopySource implementation for DelimitedTextSource. -func (dts DelimitedTextSource) AsOffice365Source() (*Office365Source, bool) { - return nil, false -} - -// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for DelimitedTextSource. -func (dts DelimitedTextSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { - return nil, false -} - -// AsMongoDbV2Source is the BasicCopySource implementation for DelimitedTextSource. -func (dts DelimitedTextSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { - return nil, false -} - -// AsMongoDbSource is the BasicCopySource implementation for DelimitedTextSource. -func (dts DelimitedTextSource) AsMongoDbSource() (*MongoDbSource, bool) { - return nil, false -} - -// AsCassandraSource is the BasicCopySource implementation for DelimitedTextSource. -func (dts DelimitedTextSource) AsCassandraSource() (*CassandraSource, bool) { - return nil, false -} - -// AsWebSource is the BasicCopySource implementation for DelimitedTextSource. -func (dts DelimitedTextSource) AsWebSource() (*WebSource, bool) { - return nil, false -} - -// AsTeradataSource is the BasicCopySource implementation for DelimitedTextSource. -func (dts DelimitedTextSource) AsTeradataSource() (*TeradataSource, bool) { - return nil, false -} - -// AsOracleSource is the BasicCopySource implementation for DelimitedTextSource. -func (dts DelimitedTextSource) AsOracleSource() (*OracleSource, bool) { - return nil, false -} - -// AsAzureDataExplorerSource is the BasicCopySource implementation for DelimitedTextSource. -func (dts DelimitedTextSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { - return nil, false -} - -// AsAzureMySQLSource is the BasicCopySource implementation for DelimitedTextSource. -func (dts DelimitedTextSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { - return nil, false -} - -// AsHdfsSource is the BasicCopySource implementation for DelimitedTextSource. -func (dts DelimitedTextSource) AsHdfsSource() (*HdfsSource, bool) { - return nil, false -} - -// AsFileSystemSource is the BasicCopySource implementation for DelimitedTextSource. -func (dts DelimitedTextSource) AsFileSystemSource() (*FileSystemSource, bool) { - return nil, false -} - -// AsSQLDWSource is the BasicCopySource implementation for DelimitedTextSource. -func (dts DelimitedTextSource) AsSQLDWSource() (*SQLDWSource, bool) { - return nil, false -} - -// AsSQLMISource is the BasicCopySource implementation for DelimitedTextSource. -func (dts DelimitedTextSource) AsSQLMISource() (*SQLMISource, bool) { - return nil, false -} - -// AsAzureSQLSource is the BasicCopySource implementation for DelimitedTextSource. -func (dts DelimitedTextSource) AsAzureSQLSource() (*AzureSQLSource, bool) { +// AsHdfsLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { return nil, false } -// AsSQLServerSource is the BasicCopySource implementation for DelimitedTextSource. -func (dts DelimitedTextSource) AsSQLServerSource() (*SQLServerSource, bool) { +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { return nil, false } -// AsSQLSource is the BasicCopySource implementation for DelimitedTextSource. -func (dts DelimitedTextSource) AsSQLSource() (*SQLSource, bool) { +// AsInformixLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { return nil, false } -// AsRestSource is the BasicCopySource implementation for DelimitedTextSource. -func (dts DelimitedTextSource) AsRestSource() (*RestSource, bool) { +// AsOdbcLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { return nil, false } -// AsSapTableSource is the BasicCopySource implementation for DelimitedTextSource. -func (dts DelimitedTextSource) AsSapTableSource() (*SapTableSource, bool) { +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { return nil, false } -// AsSapOpenHubSource is the BasicCopySource implementation for DelimitedTextSource. -func (dts DelimitedTextSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { +// AsAzureMLLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { return nil, false } -// AsSapHanaSource is the BasicCopySource implementation for DelimitedTextSource. -func (dts DelimitedTextSource) AsSapHanaSource() (*SapHanaSource, bool) { +// AsTeradataLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { return nil, false } -// AsSapEccSource is the BasicCopySource implementation for DelimitedTextSource. -func (dts DelimitedTextSource) AsSapEccSource() (*SapEccSource, bool) { - return nil, false +// AsDb2LinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return &d2ls, true } -// AsSapCloudForCustomerSource is the BasicCopySource implementation for DelimitedTextSource. -func (dts DelimitedTextSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { +// AsSybaseLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { return nil, false } -// AsSalesforceServiceCloudSource is the BasicCopySource implementation for DelimitedTextSource. -func (dts DelimitedTextSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { return nil, false } -// AsSalesforceSource is the BasicCopySource implementation for DelimitedTextSource. -func (dts DelimitedTextSource) AsSalesforceSource() (*SalesforceSource, bool) { +// AsMySQLLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { return nil, false } -// AsODataSource is the BasicCopySource implementation for DelimitedTextSource. -func (dts DelimitedTextSource) AsODataSource() (*ODataSource, bool) { +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { return nil, false } -// AsSapBwSource is the BasicCopySource implementation for DelimitedTextSource. -func (dts DelimitedTextSource) AsSapBwSource() (*SapBwSource, bool) { +// AsOracleLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { return nil, false } -// AsSybaseSource is the BasicCopySource implementation for DelimitedTextSource. -func (dts DelimitedTextSource) AsSybaseSource() (*SybaseSource, bool) { +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { return nil, false } -// AsPostgreSQLSource is the BasicCopySource implementation for DelimitedTextSource. -func (dts DelimitedTextSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { return nil, false } -// AsMySQLSource is the BasicCopySource implementation for DelimitedTextSource. -func (dts DelimitedTextSource) AsMySQLSource() (*MySQLSource, bool) { +// AsFileServerLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { return nil, false } -// AsOdbcSource is the BasicCopySource implementation for DelimitedTextSource. -func (dts DelimitedTextSource) AsOdbcSource() (*OdbcSource, bool) { +// AsHDInsightLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { return nil, false } -// AsDb2Source is the BasicCopySource implementation for DelimitedTextSource. -func (dts DelimitedTextSource) AsDb2Source() (*Db2Source, bool) { +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { return nil, false } -// AsMicrosoftAccessSource is the BasicCopySource implementation for DelimitedTextSource. -func (dts DelimitedTextSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { return nil, false } -// AsInformixSource is the BasicCopySource implementation for DelimitedTextSource. -func (dts DelimitedTextSource) AsInformixSource() (*InformixSource, bool) { +// AsDynamicsLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { return nil, false } -// AsRelationalSource is the BasicCopySource implementation for DelimitedTextSource. -func (dts DelimitedTextSource) AsRelationalSource() (*RelationalSource, bool) { +// AsCosmosDbLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { return nil, false } -// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for DelimitedTextSource. -func (dts DelimitedTextSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { return nil, false } -// AsDynamicsCrmSource is the BasicCopySource implementation for DelimitedTextSource. -func (dts DelimitedTextSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { +// AsAzureBatchLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { return nil, false } -// AsDynamicsSource is the BasicCopySource implementation for DelimitedTextSource. -func (dts DelimitedTextSource) AsDynamicsSource() (*DynamicsSource, bool) { +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { return nil, false } -// AsDocumentDbCollectionSource is the BasicCopySource implementation for DelimitedTextSource. -func (dts DelimitedTextSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { return nil, false } -// AsBlobSource is the BasicCopySource implementation for DelimitedTextSource. -func (dts DelimitedTextSource) AsBlobSource() (*BlobSource, bool) { +// AsSQLServerLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { return nil, false } -// AsAzureTableSource is the BasicCopySource implementation for DelimitedTextSource. -func (dts DelimitedTextSource) AsAzureTableSource() (*AzureTableSource, bool) { +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { return nil, false } -// AsBinarySource is the BasicCopySource implementation for DelimitedTextSource. -func (dts DelimitedTextSource) AsBinarySource() (*BinarySource, bool) { +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { return nil, false } -// AsDelimitedTextSource is the BasicCopySource implementation for DelimitedTextSource. -func (dts DelimitedTextSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { - return &dts, true -} - -// AsParquetSource is the BasicCopySource implementation for DelimitedTextSource. -func (dts DelimitedTextSource) AsParquetSource() (*ParquetSource, bool) { +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { return nil, false } -// AsAvroSource is the BasicCopySource implementation for DelimitedTextSource. -func (dts DelimitedTextSource) AsAvroSource() (*AvroSource, bool) { +// AsAzureStorageLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { return nil, false } -// AsCopySource is the BasicCopySource implementation for DelimitedTextSource. -func (dts DelimitedTextSource) AsCopySource() (*CopySource, bool) { +// AsLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsLinkedService() (*LinkedService, bool) { return nil, false } -// AsBasicCopySource is the BasicCopySource implementation for DelimitedTextSource. -func (dts DelimitedTextSource) AsBasicCopySource() (BasicCopySource, bool) { - return &dts, true +// AsBasicLinkedService is the BasicLinkedService implementation for Db2LinkedService. +func (d2ls Db2LinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &d2ls, true } -// UnmarshalJSON is the custom unmarshaler for DelimitedTextSource struct. -func (dts *DelimitedTextSource) UnmarshalJSON(body []byte) error { +// UnmarshalJSON is the custom unmarshaler for Db2LinkedService struct. +func (d2ls *Db2LinkedService) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -62564,71 +68588,71 @@ func (dts *DelimitedTextSource) UnmarshalJSON(body []byte) error { } for k, v := range m { switch k { - case "storeSettings": + case "typeProperties": if v != nil { - var storeSettings StoreReadSettings - err = json.Unmarshal(*v, &storeSettings) + var db2LinkedServiceTypeProperties Db2LinkedServiceTypeProperties + err = json.Unmarshal(*v, &db2LinkedServiceTypeProperties) if err != nil { return err } - dts.StoreSettings = &storeSettings + d2ls.Db2LinkedServiceTypeProperties = &db2LinkedServiceTypeProperties } - case "formatSettings": + default: if v != nil { - var formatSettings DelimitedTextReadSettings - err = json.Unmarshal(*v, &formatSettings) + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) if err != nil { return err } - dts.FormatSettings = &formatSettings + if d2ls.AdditionalProperties == nil { + d2ls.AdditionalProperties = make(map[string]interface{}) + } + d2ls.AdditionalProperties[k] = additionalProperties } - default: + case "connectVia": if v != nil { - var additionalProperties interface{} - err = json.Unmarshal(*v, &additionalProperties) + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) if err != nil { return err } - if dts.AdditionalProperties == nil { - dts.AdditionalProperties = make(map[string]interface{}) - } - dts.AdditionalProperties[k] = additionalProperties + d2ls.ConnectVia = &connectVia } - case "sourceRetryCount": + case "description": if v != nil { - var sourceRetryCount interface{} - err = json.Unmarshal(*v, &sourceRetryCount) + var description string + err = json.Unmarshal(*v, &description) if err != nil { return err } - dts.SourceRetryCount = sourceRetryCount + d2ls.Description = &description } - case "sourceRetryWait": + case "parameters": if v != nil { - var sourceRetryWait interface{} - err = json.Unmarshal(*v, &sourceRetryWait) + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) if err != nil { return err } - dts.SourceRetryWait = sourceRetryWait + d2ls.Parameters = parameters } - case "maxConcurrentConnections": + case "annotations": if v != nil { - var maxConcurrentConnections interface{} - err = json.Unmarshal(*v, &maxConcurrentConnections) + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) if err != nil { return err } - dts.MaxConcurrentConnections = maxConcurrentConnections + d2ls.Annotations = &annotations } case "type": if v != nil { - var typeVar TypeBasicCopySource + var typeVar TypeBasicLinkedService err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - dts.Type = typeVar + d2ls.Type = typeVar } } } @@ -62636,38 +68660,24 @@ func (dts *DelimitedTextSource) UnmarshalJSON(body []byte) error { return nil } -// DelimitedTextWriteSettings delimited text write settings. -type DelimitedTextWriteSettings struct { - // QuoteAllText - Indicates whether string values should always be enclosed with quotes. Type: boolean (or Expression with resultType boolean). - QuoteAllText interface{} `json:"quoteAllText,omitempty"` - // FileExtension - The file extension used to create the files. Type: string (or Expression with resultType string). - FileExtension interface{} `json:"fileExtension,omitempty"` - // AdditionalProperties - Unmatched properties from the message are deserialized this collection - AdditionalProperties map[string]interface{} `json:""` - // Type - The write setting type. - Type *string `json:"type,omitempty"` -} - -// MarshalJSON is the custom marshaler for DelimitedTextWriteSettings. -func (dtws DelimitedTextWriteSettings) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - if dtws.QuoteAllText != nil { - objectMap["quoteAllText"] = dtws.QuoteAllText - } - if dtws.FileExtension != nil { - objectMap["fileExtension"] = dtws.FileExtension - } - if dtws.Type != nil { - objectMap["type"] = dtws.Type - } - for k, v := range dtws.AdditionalProperties { - objectMap[k] = v - } - return json.Marshal(objectMap) +// Db2LinkedServiceTypeProperties dB2 linked service properties. +type Db2LinkedServiceTypeProperties struct { + // Server - Server name for connection. Type: string (or Expression with resultType string). + Server interface{} `json:"server,omitempty"` + // Database - Database name for connection. Type: string (or Expression with resultType string). + Database interface{} `json:"database,omitempty"` + // AuthenticationType - AuthenticationType to be used for connection. Possible values include: 'Basic' + AuthenticationType Db2AuthenticationType `json:"authenticationType,omitempty"` + // Username - Username for authentication. Type: string (or Expression with resultType string). + Username interface{} `json:"username,omitempty"` + // Password - Password for authentication. + Password BasicSecretBase `json:"password,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` } -// UnmarshalJSON is the custom unmarshaler for DelimitedTextWriteSettings struct. -func (dtws *DelimitedTextWriteSettings) UnmarshalJSON(body []byte) error { +// UnmarshalJSON is the custom unmarshaler for Db2LinkedServiceTypeProperties struct. +func (d2lstp *Db2LinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -62675,44 +68685,58 @@ func (dtws *DelimitedTextWriteSettings) UnmarshalJSON(body []byte) error { } for k, v := range m { switch k { - case "quoteAllText": + case "server": if v != nil { - var quoteAllText interface{} - err = json.Unmarshal(*v, "eAllText) + var server interface{} + err = json.Unmarshal(*v, &server) if err != nil { return err } - dtws.QuoteAllText = quoteAllText + d2lstp.Server = server } - case "fileExtension": + case "database": if v != nil { - var fileExtension interface{} - err = json.Unmarshal(*v, &fileExtension) + var databaseVar interface{} + err = json.Unmarshal(*v, &databaseVar) if err != nil { return err } - dtws.FileExtension = fileExtension + d2lstp.Database = databaseVar } - default: + case "authenticationType": if v != nil { - var additionalProperties interface{} - err = json.Unmarshal(*v, &additionalProperties) + var authenticationType Db2AuthenticationType + err = json.Unmarshal(*v, &authenticationType) if err != nil { return err } - if dtws.AdditionalProperties == nil { - dtws.AdditionalProperties = make(map[string]interface{}) + d2lstp.AuthenticationType = authenticationType + } + case "username": + if v != nil { + var username interface{} + err = json.Unmarshal(*v, &username) + if err != nil { + return err } - dtws.AdditionalProperties[k] = additionalProperties + d2lstp.Username = username } - case "type": + case "password": if v != nil { - var typeVar string - err = json.Unmarshal(*v, &typeVar) + password, err := unmarshalBasicSecretBase(*v) if err != nil { return err } - dtws.Type = &typeVar + d2lstp.Password = password + } + case "encryptedCredential": + if v != nil { + var encryptedCredential interface{} + err = json.Unmarshal(*v, &encryptedCredential) + if err != nil { + return err + } + d2lstp.EncryptedCredential = encryptedCredential } } } @@ -62720,599 +68744,504 @@ func (dtws *DelimitedTextWriteSettings) UnmarshalJSON(body []byte) error { return nil } -// BasicDependencyReference referenced dependency. -type BasicDependencyReference interface { - AsSelfDependencyTumblingWindowTriggerReference() (*SelfDependencyTumblingWindowTriggerReference, bool) - AsTumblingWindowTriggerDependencyReference() (*TumblingWindowTriggerDependencyReference, bool) - AsTriggerDependencyReference() (*TriggerDependencyReference, bool) - AsBasicTriggerDependencyReference() (BasicTriggerDependencyReference, bool) - AsDependencyReference() (*DependencyReference, bool) -} - -// DependencyReference referenced dependency. -type DependencyReference struct { - // Type - Possible values include: 'TypeDependencyReference', 'TypeSelfDependencyTumblingWindowTriggerReference', 'TypeTumblingWindowTriggerDependencyReference', 'TypeTriggerDependencyReference' - Type TypeBasicDependencyReference `json:"type,omitempty"` +// Db2Source a copy activity source for Db2 databases. +type Db2Source struct { + // Query - Database query. Type: string (or Expression with resultType string). + Query interface{} `json:"query,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' + Type TypeBasicCopySource `json:"type,omitempty"` } -func unmarshalBasicDependencyReference(body []byte) (BasicDependencyReference, error) { - var m map[string]interface{} - err := json.Unmarshal(body, &m) - if err != nil { - return nil, err +// MarshalJSON is the custom marshaler for Db2Source. +func (d2s Db2Source) MarshalJSON() ([]byte, error) { + d2s.Type = TypeDb2Source + objectMap := make(map[string]interface{}) + if d2s.Query != nil { + objectMap["query"] = d2s.Query } - - switch m["type"] { - case string(TypeSelfDependencyTumblingWindowTriggerReference): - var sdtwtr SelfDependencyTumblingWindowTriggerReference - err := json.Unmarshal(body, &sdtwtr) - return sdtwtr, err - case string(TypeTumblingWindowTriggerDependencyReference): - var twtdr TumblingWindowTriggerDependencyReference - err := json.Unmarshal(body, &twtdr) - return twtdr, err - case string(TypeTriggerDependencyReference): - var tdr TriggerDependencyReference - err := json.Unmarshal(body, &tdr) - return tdr, err - default: - var dr DependencyReference - err := json.Unmarshal(body, &dr) - return dr, err + if d2s.QueryTimeout != nil { + objectMap["queryTimeout"] = d2s.QueryTimeout } -} -func unmarshalBasicDependencyReferenceArray(body []byte) ([]BasicDependencyReference, error) { - var rawMessages []*json.RawMessage - err := json.Unmarshal(body, &rawMessages) - if err != nil { - return nil, err + if d2s.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = d2s.SourceRetryCount } - - drArray := make([]BasicDependencyReference, len(rawMessages)) - - for index, rawMessage := range rawMessages { - dr, err := unmarshalBasicDependencyReference(*rawMessage) - if err != nil { - return nil, err - } - drArray[index] = dr + if d2s.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = d2s.SourceRetryWait } - return drArray, nil -} - -// MarshalJSON is the custom marshaler for DependencyReference. -func (dr DependencyReference) MarshalJSON() ([]byte, error) { - dr.Type = TypeDependencyReference - objectMap := make(map[string]interface{}) - if dr.Type != "" { - objectMap["type"] = dr.Type + if d2s.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = d2s.MaxConcurrentConnections + } + if d2s.Type != "" { + objectMap["type"] = d2s.Type + } + for k, v := range d2s.AdditionalProperties { + objectMap[k] = v } return json.Marshal(objectMap) } -// AsSelfDependencyTumblingWindowTriggerReference is the BasicDependencyReference implementation for DependencyReference. -func (dr DependencyReference) AsSelfDependencyTumblingWindowTriggerReference() (*SelfDependencyTumblingWindowTriggerReference, bool) { +// AsHTTPSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsHTTPSource() (*HTTPSource, bool) { return nil, false } -// AsTumblingWindowTriggerDependencyReference is the BasicDependencyReference implementation for DependencyReference. -func (dr DependencyReference) AsTumblingWindowTriggerDependencyReference() (*TumblingWindowTriggerDependencyReference, bool) { +// AsAzureBlobFSSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { return nil, false } -// AsTriggerDependencyReference is the BasicDependencyReference implementation for DependencyReference. -func (dr DependencyReference) AsTriggerDependencyReference() (*TriggerDependencyReference, bool) { +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { return nil, false } -// AsBasicTriggerDependencyReference is the BasicDependencyReference implementation for DependencyReference. -func (dr DependencyReference) AsBasicTriggerDependencyReference() (BasicTriggerDependencyReference, bool) { +// AsOffice365Source is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsOffice365Source() (*Office365Source, bool) { return nil, false } -// AsDependencyReference is the BasicDependencyReference implementation for DependencyReference. -func (dr DependencyReference) AsDependencyReference() (*DependencyReference, bool) { - return &dr, true -} - -// AsBasicDependencyReference is the BasicDependencyReference implementation for DependencyReference. -func (dr DependencyReference) AsBasicDependencyReference() (BasicDependencyReference, bool) { - return &dr, true -} - -// DistcpSettings distcp settings. -type DistcpSettings struct { - // ResourceManagerEndpoint - Specifies the Yarn ResourceManager endpoint. Type: string (or Expression with resultType string). - ResourceManagerEndpoint interface{} `json:"resourceManagerEndpoint,omitempty"` - // TempScriptPath - Specifies an existing folder path which will be used to store temp Distcp command script. The script file is generated by ADF and will be removed after Copy job finished. Type: string (or Expression with resultType string). - TempScriptPath interface{} `json:"tempScriptPath,omitempty"` - // DistcpOptions - Specifies the Distcp options. Type: string (or Expression with resultType string). - DistcpOptions interface{} `json:"distcpOptions,omitempty"` -} - -// DocumentDbCollectionDataset microsoft Azure Document Database Collection dataset. -type DocumentDbCollectionDataset struct { - // DocumentDbCollectionDatasetTypeProperties - DocumentDB Collection dataset properties. - *DocumentDbCollectionDatasetTypeProperties `json:"typeProperties,omitempty"` - // AdditionalProperties - Unmatched properties from the message are deserialized this collection - AdditionalProperties map[string]interface{} `json:""` - // Description - Dataset description. - Description *string `json:"description,omitempty"` - // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. - Structure interface{} `json:"structure,omitempty"` - // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. - Schema interface{} `json:"schema,omitempty"` - // LinkedServiceName - Linked service reference. - LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` - // Parameters - Parameters for dataset. - Parameters map[string]*ParameterSpecification `json:"parameters"` - // Annotations - List of tags that can be used for describing the Dataset. - Annotations *[]interface{} `json:"annotations,omitempty"` - // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. - Folder *DatasetFolder `json:"folder,omitempty"` - // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' - Type TypeBasicDataset `json:"type,omitempty"` +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false } -// MarshalJSON is the custom marshaler for DocumentDbCollectionDataset. -func (ddcd DocumentDbCollectionDataset) MarshalJSON() ([]byte, error) { - ddcd.Type = TypeDocumentDbCollection - objectMap := make(map[string]interface{}) - if ddcd.DocumentDbCollectionDatasetTypeProperties != nil { - objectMap["typeProperties"] = ddcd.DocumentDbCollectionDatasetTypeProperties - } - if ddcd.Description != nil { - objectMap["description"] = ddcd.Description - } - if ddcd.Structure != nil { - objectMap["structure"] = ddcd.Structure - } - if ddcd.Schema != nil { - objectMap["schema"] = ddcd.Schema - } - if ddcd.LinkedServiceName != nil { - objectMap["linkedServiceName"] = ddcd.LinkedServiceName - } - if ddcd.Parameters != nil { - objectMap["parameters"] = ddcd.Parameters - } - if ddcd.Annotations != nil { - objectMap["annotations"] = ddcd.Annotations - } - if ddcd.Folder != nil { - objectMap["folder"] = ddcd.Folder - } - if ddcd.Type != "" { - objectMap["type"] = ddcd.Type - } - for k, v := range ddcd.AdditionalProperties { - objectMap[k] = v - } - return json.Marshal(objectMap) +// AsMongoDbV2Source is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false } -// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset. -func (ddcd DocumentDbCollectionDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { +// AsMongoDbSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsMongoDbSource() (*MongoDbSource, bool) { return nil, false } -// AsAzureDataExplorerTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset. -func (ddcd DocumentDbCollectionDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { +// AsWebSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsWebSource() (*WebSource, bool) { return nil, false } -// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset. -func (ddcd DocumentDbCollectionDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { +// AsOracleSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsOracleSource() (*OracleSource, bool) { return nil, false } -// AsDynamicsAXResourceDataset is the BasicDataset implementation for DocumentDbCollectionDataset. -func (ddcd DocumentDbCollectionDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { +// AsAzureDataExplorerSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { return nil, false } -// AsResponsysObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset. -func (ddcd DocumentDbCollectionDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { +// AsHdfsSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsHdfsSource() (*HdfsSource, bool) { return nil, false } -// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset. -func (ddcd DocumentDbCollectionDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { +// AsFileSystemSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsFileSystemSource() (*FileSystemSource, bool) { return nil, false } -// AsVerticaTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset. -func (ddcd DocumentDbCollectionDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { +// AsRestSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsRestSource() (*RestSource, bool) { return nil, false } -// AsNetezzaTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset. -func (ddcd DocumentDbCollectionDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { return nil, false } -// AsZohoObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset. -func (ddcd DocumentDbCollectionDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { +// AsODataSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsODataSource() (*ODataSource, bool) { return nil, false } -// AsXeroObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset. -func (ddcd DocumentDbCollectionDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { +// AsMicrosoftAccessSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { return nil, false } -// AsSquareObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset. -func (ddcd DocumentDbCollectionDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { +// AsRelationalSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsRelationalSource() (*RelationalSource, bool) { return nil, false } -// AsSparkObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset. -func (ddcd DocumentDbCollectionDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { return nil, false } -// AsShopifyObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset. -func (ddcd DocumentDbCollectionDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { +// AsDynamicsCrmSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { return nil, false } -// AsServiceNowObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset. -func (ddcd DocumentDbCollectionDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { +// AsDynamicsSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsDynamicsSource() (*DynamicsSource, bool) { return nil, false } -// AsQuickBooksObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset. -func (ddcd DocumentDbCollectionDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { return nil, false } -// AsPrestoObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset. -func (ddcd DocumentDbCollectionDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { +// AsDocumentDbCollectionSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { return nil, false } -// AsPhoenixObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset. -func (ddcd DocumentDbCollectionDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { +// AsBlobSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsBlobSource() (*BlobSource, bool) { return nil, false } -// AsPaypalObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset. -func (ddcd DocumentDbCollectionDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { +// AsAmazonRedshiftSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { return nil, false } -// AsMarketoObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset. -func (ddcd DocumentDbCollectionDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { +// AsGoogleAdWordsSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { return nil, false } -// AsAzureMariaDBTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset. -func (ddcd DocumentDbCollectionDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { +// AsOracleServiceCloudSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { return nil, false } -// AsMariaDBTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset. -func (ddcd DocumentDbCollectionDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { +// AsDynamicsAXSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsDynamicsAXSource() (*DynamicsAXSource, bool) { return nil, false } -// AsMagentoObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset. -func (ddcd DocumentDbCollectionDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { +// AsResponsysSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsResponsysSource() (*ResponsysSource, bool) { return nil, false } -// AsJiraObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset. -func (ddcd DocumentDbCollectionDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { return nil, false } -// AsImpalaObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset. -func (ddcd DocumentDbCollectionDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { +// AsVerticaSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsVerticaSource() (*VerticaSource, bool) { return nil, false } -// AsHubspotObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset. -func (ddcd DocumentDbCollectionDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { +// AsNetezzaSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsNetezzaSource() (*NetezzaSource, bool) { return nil, false } -// AsHiveObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset. -func (ddcd DocumentDbCollectionDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { +// AsZohoSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsZohoSource() (*ZohoSource, bool) { return nil, false } -// AsHBaseObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset. -func (ddcd DocumentDbCollectionDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { +// AsXeroSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsXeroSource() (*XeroSource, bool) { return nil, false } -// AsGreenplumTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset. -func (ddcd DocumentDbCollectionDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { +// AsSquareSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsSquareSource() (*SquareSource, bool) { return nil, false } -// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset. -func (ddcd DocumentDbCollectionDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { +// AsSparkSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsSparkSource() (*SparkSource, bool) { return nil, false } -// AsEloquaObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset. -func (ddcd DocumentDbCollectionDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { +// AsShopifySource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsShopifySource() (*ShopifySource, bool) { return nil, false } -// AsDrillTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset. -func (ddcd DocumentDbCollectionDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { +// AsServiceNowSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsServiceNowSource() (*ServiceNowSource, bool) { return nil, false } -// AsCouchbaseTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset. -func (ddcd DocumentDbCollectionDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { +// AsQuickBooksSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsQuickBooksSource() (*QuickBooksSource, bool) { return nil, false } -// AsConcurObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset. -func (ddcd DocumentDbCollectionDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { +// AsPrestoSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsPrestoSource() (*PrestoSource, bool) { return nil, false } -// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset. -func (ddcd DocumentDbCollectionDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { +// AsPhoenixSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsPhoenixSource() (*PhoenixSource, bool) { return nil, false } -// AsAmazonMWSObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset. -func (ddcd DocumentDbCollectionDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { +// AsPaypalSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsPaypalSource() (*PaypalSource, bool) { return nil, false } -// AsHTTPDataset is the BasicDataset implementation for DocumentDbCollectionDataset. -func (ddcd DocumentDbCollectionDataset) AsHTTPDataset() (*HTTPDataset, bool) { +// AsMarketoSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsMarketoSource() (*MarketoSource, bool) { return nil, false } -// AsAzureSearchIndexDataset is the BasicDataset implementation for DocumentDbCollectionDataset. -func (ddcd DocumentDbCollectionDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { +// AsAzureMariaDBSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { return nil, false } -// AsWebTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset. -func (ddcd DocumentDbCollectionDataset) AsWebTableDataset() (*WebTableDataset, bool) { +// AsMariaDBSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsMariaDBSource() (*MariaDBSource, bool) { return nil, false } -// AsSapTableResourceDataset is the BasicDataset implementation for DocumentDbCollectionDataset. -func (ddcd DocumentDbCollectionDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { +// AsMagentoSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsMagentoSource() (*MagentoSource, bool) { return nil, false } -// AsRestResourceDataset is the BasicDataset implementation for DocumentDbCollectionDataset. -func (ddcd DocumentDbCollectionDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { +// AsJiraSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsJiraSource() (*JiraSource, bool) { return nil, false } -// AsSQLServerTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset. -func (ddcd DocumentDbCollectionDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { +// AsImpalaSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsImpalaSource() (*ImpalaSource, bool) { return nil, false } -// AsSapOpenHubTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset. -func (ddcd DocumentDbCollectionDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { +// AsHubspotSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsHubspotSource() (*HubspotSource, bool) { return nil, false } -// AsSapHanaTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset. -func (ddcd DocumentDbCollectionDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { +// AsHiveSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsHiveSource() (*HiveSource, bool) { return nil, false } -// AsSapEccResourceDataset is the BasicDataset implementation for DocumentDbCollectionDataset. -func (ddcd DocumentDbCollectionDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { +// AsHBaseSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsHBaseSource() (*HBaseSource, bool) { return nil, false } -// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for DocumentDbCollectionDataset. -func (ddcd DocumentDbCollectionDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { +// AsGreenplumSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsGreenplumSource() (*GreenplumSource, bool) { return nil, false } -// AsSapBwCubeDataset is the BasicDataset implementation for DocumentDbCollectionDataset. -func (ddcd DocumentDbCollectionDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { +// AsGoogleBigQuerySource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { return nil, false } -// AsSybaseTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset. -func (ddcd DocumentDbCollectionDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { +// AsEloquaSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsEloquaSource() (*EloquaSource, bool) { return nil, false } -// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset. -func (ddcd DocumentDbCollectionDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { +// AsDrillSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsDrillSource() (*DrillSource, bool) { return nil, false } -// AsSalesforceObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset. -func (ddcd DocumentDbCollectionDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { +// AsCouchbaseSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsCouchbaseSource() (*CouchbaseSource, bool) { return nil, false } -// AsMicrosoftAccessTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset. -func (ddcd DocumentDbCollectionDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { +// AsConcurSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsConcurSource() (*ConcurSource, bool) { return nil, false } -// AsPostgreSQLTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset. -func (ddcd DocumentDbCollectionDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { +// AsAzurePostgreSQLSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { return nil, false } -// AsMySQLTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset. -func (ddcd DocumentDbCollectionDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { +// AsAmazonMWSSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsAmazonMWSSource() (*AmazonMWSSource, bool) { return nil, false } -// AsOdbcTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset. -func (ddcd DocumentDbCollectionDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { +// AsCassandraSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsCassandraSource() (*CassandraSource, bool) { return nil, false } -// AsInformixTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset. -func (ddcd DocumentDbCollectionDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { +// AsTeradataSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsTeradataSource() (*TeradataSource, bool) { return nil, false } -// AsRelationalTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset. -func (ddcd DocumentDbCollectionDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { +// AsAzureMySQLSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsAzureMySQLSource() (*AzureMySQLSource, bool) { return nil, false } -// AsAzureMySQLTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset. -func (ddcd DocumentDbCollectionDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { +// AsSQLDWSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsSQLDWSource() (*SQLDWSource, bool) { return nil, false } -// AsTeradataTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset. -func (ddcd DocumentDbCollectionDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { +// AsSQLMISource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsSQLMISource() (*SQLMISource, bool) { return nil, false } -// AsOracleTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset. -func (ddcd DocumentDbCollectionDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { +// AsAzureSQLSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsAzureSQLSource() (*AzureSQLSource, bool) { return nil, false } -// AsODataResourceDataset is the BasicDataset implementation for DocumentDbCollectionDataset. -func (ddcd DocumentDbCollectionDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { +// AsSQLServerSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsSQLServerSource() (*SQLServerSource, bool) { return nil, false } -// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for DocumentDbCollectionDataset. -func (ddcd DocumentDbCollectionDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { +// AsSQLSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsSQLSource() (*SQLSource, bool) { return nil, false } -// AsMongoDbV2CollectionDataset is the BasicDataset implementation for DocumentDbCollectionDataset. -func (ddcd DocumentDbCollectionDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { +// AsSapTableSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsSapTableSource() (*SapTableSource, bool) { return nil, false } -// AsMongoDbCollectionDataset is the BasicDataset implementation for DocumentDbCollectionDataset. -func (ddcd DocumentDbCollectionDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { +// AsSapOpenHubSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsSapOpenHubSource() (*SapOpenHubSource, bool) { return nil, false } -// AsFileShareDataset is the BasicDataset implementation for DocumentDbCollectionDataset. -func (ddcd DocumentDbCollectionDataset) AsFileShareDataset() (*FileShareDataset, bool) { +// AsSapHanaSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsSapHanaSource() (*SapHanaSource, bool) { return nil, false } -// AsOffice365Dataset is the BasicDataset implementation for DocumentDbCollectionDataset. -func (ddcd DocumentDbCollectionDataset) AsOffice365Dataset() (*Office365Dataset, bool) { +// AsSapEccSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsSapEccSource() (*SapEccSource, bool) { return nil, false } -// AsAzureBlobFSDataset is the BasicDataset implementation for DocumentDbCollectionDataset. -func (ddcd DocumentDbCollectionDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) { +// AsSapCloudForCustomerSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { return nil, false } -// AsAzureDataLakeStoreDataset is the BasicDataset implementation for DocumentDbCollectionDataset. -func (ddcd DocumentDbCollectionDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) { +// AsSalesforceSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsSalesforceSource() (*SalesforceSource, bool) { return nil, false } -// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for DocumentDbCollectionDataset. -func (ddcd DocumentDbCollectionDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { +// AsSapBwSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsSapBwSource() (*SapBwSource, bool) { return nil, false } -// AsDynamicsCrmEntityDataset is the BasicDataset implementation for DocumentDbCollectionDataset. -func (ddcd DocumentDbCollectionDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { +// AsSybaseSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsSybaseSource() (*SybaseSource, bool) { return nil, false } -// AsDynamicsEntityDataset is the BasicDataset implementation for DocumentDbCollectionDataset. -func (ddcd DocumentDbCollectionDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { +// AsPostgreSQLSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsPostgreSQLSource() (*PostgreSQLSource, bool) { return nil, false } -// AsDocumentDbCollectionDataset is the BasicDataset implementation for DocumentDbCollectionDataset. -func (ddcd DocumentDbCollectionDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { - return &ddcd, true +// AsMySQLSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsMySQLSource() (*MySQLSource, bool) { + return nil, false } -// AsCustomDataset is the BasicDataset implementation for DocumentDbCollectionDataset. -func (ddcd DocumentDbCollectionDataset) AsCustomDataset() (*CustomDataset, bool) { +// AsOdbcSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsOdbcSource() (*OdbcSource, bool) { return nil, false } -// AsCassandraTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset. -func (ddcd DocumentDbCollectionDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { - return nil, false +// AsDb2Source is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsDb2Source() (*Db2Source, bool) { + return &d2s, true } -// AsAzureSQLDWTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset. -func (ddcd DocumentDbCollectionDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { +// AsInformixSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsInformixSource() (*InformixSource, bool) { return nil, false } -// AsAzureSQLMITableDataset is the BasicDataset implementation for DocumentDbCollectionDataset. -func (ddcd DocumentDbCollectionDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { +// AsAzureTableSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsAzureTableSource() (*AzureTableSource, bool) { return nil, false } -// AsAzureSQLTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset. -func (ddcd DocumentDbCollectionDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { +// AsTabularSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsTabularSource() (*TabularSource, bool) { return nil, false } -// AsAzureTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset. -func (ddcd DocumentDbCollectionDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { - return nil, false +// AsBasicTabularSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsBasicTabularSource() (BasicTabularSource, bool) { + return &d2s, true } -// AsAzureBlobDataset is the BasicDataset implementation for DocumentDbCollectionDataset. -func (ddcd DocumentDbCollectionDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) { +// AsBinarySource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsBinarySource() (*BinarySource, bool) { return nil, false } -// AsBinaryDataset is the BasicDataset implementation for DocumentDbCollectionDataset. -func (ddcd DocumentDbCollectionDataset) AsBinaryDataset() (*BinaryDataset, bool) { +// AsOrcSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsOrcSource() (*OrcSource, bool) { return nil, false } -// AsDelimitedTextDataset is the BasicDataset implementation for DocumentDbCollectionDataset. -func (ddcd DocumentDbCollectionDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { +// AsJSONSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsJSONSource() (*JSONSource, bool) { return nil, false } -// AsParquetDataset is the BasicDataset implementation for DocumentDbCollectionDataset. -func (ddcd DocumentDbCollectionDataset) AsParquetDataset() (*ParquetDataset, bool) { +// AsDelimitedTextSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsDelimitedTextSource() (*DelimitedTextSource, bool) { return nil, false } -// AsAvroDataset is the BasicDataset implementation for DocumentDbCollectionDataset. -func (ddcd DocumentDbCollectionDataset) AsAvroDataset() (*AvroDataset, bool) { +// AsParquetSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsParquetSource() (*ParquetSource, bool) { return nil, false } -// AsAmazonS3Dataset is the BasicDataset implementation for DocumentDbCollectionDataset. -func (ddcd DocumentDbCollectionDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) { +// AsAvroSource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsAvroSource() (*AvroSource, bool) { return nil, false } -// AsDataset is the BasicDataset implementation for DocumentDbCollectionDataset. -func (ddcd DocumentDbCollectionDataset) AsDataset() (*Dataset, bool) { +// AsCopySource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsCopySource() (*CopySource, bool) { return nil, false } -// AsBasicDataset is the BasicDataset implementation for DocumentDbCollectionDataset. -func (ddcd DocumentDbCollectionDataset) AsBasicDataset() (BasicDataset, bool) { - return &ddcd, true +// AsBasicCopySource is the BasicCopySource implementation for Db2Source. +func (d2s Db2Source) AsBasicCopySource() (BasicCopySource, bool) { + return &d2s, true } -// UnmarshalJSON is the custom unmarshaler for DocumentDbCollectionDataset struct. -func (ddcd *DocumentDbCollectionDataset) UnmarshalJSON(body []byte) error { +// UnmarshalJSON is the custom unmarshaler for Db2Source struct. +func (d2s *Db2Source) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -63320,98 +69249,71 @@ func (ddcd *DocumentDbCollectionDataset) UnmarshalJSON(body []byte) error { } for k, v := range m { switch k { - case "typeProperties": - if v != nil { - var documentDbCollectionDatasetTypeProperties DocumentDbCollectionDatasetTypeProperties - err = json.Unmarshal(*v, &documentDbCollectionDatasetTypeProperties) - if err != nil { - return err - } - ddcd.DocumentDbCollectionDatasetTypeProperties = &documentDbCollectionDatasetTypeProperties - } - default: - if v != nil { - var additionalProperties interface{} - err = json.Unmarshal(*v, &additionalProperties) - if err != nil { - return err - } - if ddcd.AdditionalProperties == nil { - ddcd.AdditionalProperties = make(map[string]interface{}) - } - ddcd.AdditionalProperties[k] = additionalProperties - } - case "description": + case "query": if v != nil { - var description string - err = json.Unmarshal(*v, &description) + var query interface{} + err = json.Unmarshal(*v, &query) if err != nil { return err } - ddcd.Description = &description + d2s.Query = query } - case "structure": + case "queryTimeout": if v != nil { - var structure interface{} - err = json.Unmarshal(*v, &structure) + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) if err != nil { return err } - ddcd.Structure = structure + d2s.QueryTimeout = queryTimeout } - case "schema": + default: if v != nil { - var schema interface{} - err = json.Unmarshal(*v, &schema) + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) if err != nil { return err } - ddcd.Schema = schema - } - case "linkedServiceName": - if v != nil { - var linkedServiceName LinkedServiceReference - err = json.Unmarshal(*v, &linkedServiceName) - if err != nil { - return err + if d2s.AdditionalProperties == nil { + d2s.AdditionalProperties = make(map[string]interface{}) } - ddcd.LinkedServiceName = &linkedServiceName + d2s.AdditionalProperties[k] = additionalProperties } - case "parameters": + case "sourceRetryCount": if v != nil { - var parameters map[string]*ParameterSpecification - err = json.Unmarshal(*v, ¶meters) + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) if err != nil { return err } - ddcd.Parameters = parameters + d2s.SourceRetryCount = sourceRetryCount } - case "annotations": + case "sourceRetryWait": if v != nil { - var annotations []interface{} - err = json.Unmarshal(*v, &annotations) + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) if err != nil { return err } - ddcd.Annotations = &annotations + d2s.SourceRetryWait = sourceRetryWait } - case "folder": + case "maxConcurrentConnections": if v != nil { - var folder DatasetFolder - err = json.Unmarshal(*v, &folder) + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) if err != nil { return err } - ddcd.Folder = &folder + d2s.MaxConcurrentConnections = maxConcurrentConnections } case "type": if v != nil { - var typeVar TypeBasicDataset + var typeVar TypeBasicCopySource err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - ddcd.Type = typeVar + d2s.Type = typeVar } } } @@ -63419,800 +69321,888 @@ func (ddcd *DocumentDbCollectionDataset) UnmarshalJSON(body []byte) error { return nil } -// DocumentDbCollectionDatasetTypeProperties documentDB Collection dataset properties. -type DocumentDbCollectionDatasetTypeProperties struct { - // CollectionName - Document Database collection name. Type: string (or Expression with resultType string). - CollectionName interface{} `json:"collectionName,omitempty"` -} - -// DocumentDbCollectionSink a copy activity Document Database Collection sink. -type DocumentDbCollectionSink struct { - // NestingSeparator - Nested properties separator. Default is . (dot). Type: string (or Expression with resultType string). - NestingSeparator interface{} `json:"nestingSeparator,omitempty"` - // WriteBehavior - Describes how to write data to Azure Cosmos DB. Allowed values: insert and upsert. - WriteBehavior interface{} `json:"writeBehavior,omitempty"` +// Db2TableDataset the Db2 table dataset. +type Db2TableDataset struct { + // Db2TableDatasetTypeProperties - Db2 table dataset properties. + *Db2TableDatasetTypeProperties `json:"typeProperties,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` - // WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0. - WriteBatchSize interface{} `json:"writeBatchSize,omitempty"` - // WriteBatchTimeout - Write batch timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). - WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"` - // SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer). - SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"` - // SinkRetryWait - Sink retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). - SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"` - // MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). - MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAvroSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzurePostgreSQLSink', 'TypeDelimitedTextSink' - Type TypeBasicCopySink `json:"type,omitempty"` + // Description - Dataset description. + Description *string `json:"description,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' + Type TypeBasicDataset `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for DocumentDbCollectionSink. -func (ddcs DocumentDbCollectionSink) MarshalJSON() ([]byte, error) { - ddcs.Type = TypeDocumentDbCollectionSink +// MarshalJSON is the custom marshaler for Db2TableDataset. +func (d2td Db2TableDataset) MarshalJSON() ([]byte, error) { + d2td.Type = TypeDb2Table objectMap := make(map[string]interface{}) - if ddcs.NestingSeparator != nil { - objectMap["nestingSeparator"] = ddcs.NestingSeparator + if d2td.Db2TableDatasetTypeProperties != nil { + objectMap["typeProperties"] = d2td.Db2TableDatasetTypeProperties } - if ddcs.WriteBehavior != nil { - objectMap["writeBehavior"] = ddcs.WriteBehavior + if d2td.Description != nil { + objectMap["description"] = d2td.Description } - if ddcs.WriteBatchSize != nil { - objectMap["writeBatchSize"] = ddcs.WriteBatchSize + if d2td.Structure != nil { + objectMap["structure"] = d2td.Structure } - if ddcs.WriteBatchTimeout != nil { - objectMap["writeBatchTimeout"] = ddcs.WriteBatchTimeout + if d2td.Schema != nil { + objectMap["schema"] = d2td.Schema } - if ddcs.SinkRetryCount != nil { - objectMap["sinkRetryCount"] = ddcs.SinkRetryCount + if d2td.LinkedServiceName != nil { + objectMap["linkedServiceName"] = d2td.LinkedServiceName } - if ddcs.SinkRetryWait != nil { - objectMap["sinkRetryWait"] = ddcs.SinkRetryWait + if d2td.Parameters != nil { + objectMap["parameters"] = d2td.Parameters } - if ddcs.MaxConcurrentConnections != nil { - objectMap["maxConcurrentConnections"] = ddcs.MaxConcurrentConnections + if d2td.Annotations != nil { + objectMap["annotations"] = d2td.Annotations } - if ddcs.Type != "" { - objectMap["type"] = ddcs.Type + if d2td.Folder != nil { + objectMap["folder"] = d2td.Folder } - for k, v := range ddcs.AdditionalProperties { + if d2td.Type != "" { + objectMap["type"] = d2td.Type + } + for k, v := range d2td.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for DocumentDbCollectionSink. -func (ddcs DocumentDbCollectionSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) { +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { return nil, false } -// AsSalesforceServiceCloudSink is the BasicCopySink implementation for DocumentDbCollectionSink. -func (ddcs DocumentDbCollectionSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) { +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { return nil, false } -// AsSalesforceSink is the BasicCopySink implementation for DocumentDbCollectionSink. -func (ddcs DocumentDbCollectionSink) AsSalesforceSink() (*SalesforceSink, bool) { +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { return nil, false } -// AsAzureDataExplorerSink is the BasicCopySink implementation for DocumentDbCollectionSink. -func (ddcs DocumentDbCollectionSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) { +// AsDynamicsAXResourceDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { return nil, false } -// AsCommonDataServiceForAppsSink is the BasicCopySink implementation for DocumentDbCollectionSink. -func (ddcs DocumentDbCollectionSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) { +// AsResponsysObjectDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { return nil, false } -// AsDynamicsCrmSink is the BasicCopySink implementation for DocumentDbCollectionSink. -func (ddcs DocumentDbCollectionSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) { +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { return nil, false } -// AsDynamicsSink is the BasicCopySink implementation for DocumentDbCollectionSink. -func (ddcs DocumentDbCollectionSink) AsDynamicsSink() (*DynamicsSink, bool) { +// AsVerticaTableDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { return nil, false } -// AsMicrosoftAccessSink is the BasicCopySink implementation for DocumentDbCollectionSink. -func (ddcs DocumentDbCollectionSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) { +// AsNetezzaTableDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { return nil, false } -// AsInformixSink is the BasicCopySink implementation for DocumentDbCollectionSink. -func (ddcs DocumentDbCollectionSink) AsInformixSink() (*InformixSink, bool) { +// AsZohoObjectDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { return nil, false } -// AsOdbcSink is the BasicCopySink implementation for DocumentDbCollectionSink. -func (ddcs DocumentDbCollectionSink) AsOdbcSink() (*OdbcSink, bool) { +// AsXeroObjectDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { return nil, false } -// AsAzureSearchIndexSink is the BasicCopySink implementation for DocumentDbCollectionSink. -func (ddcs DocumentDbCollectionSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) { +// AsSquareObjectDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { return nil, false } -// AsAzureBlobFSSink is the BasicCopySink implementation for DocumentDbCollectionSink. -func (ddcs DocumentDbCollectionSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) { +// AsSparkObjectDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { return nil, false } -// AsAzureDataLakeStoreSink is the BasicCopySink implementation for DocumentDbCollectionSink. -func (ddcs DocumentDbCollectionSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) { +// AsShopifyObjectDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { return nil, false } -// AsOracleSink is the BasicCopySink implementation for DocumentDbCollectionSink. -func (ddcs DocumentDbCollectionSink) AsOracleSink() (*OracleSink, bool) { +// AsServiceNowObjectDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { return nil, false } -// AsSQLDWSink is the BasicCopySink implementation for DocumentDbCollectionSink. -func (ddcs DocumentDbCollectionSink) AsSQLDWSink() (*SQLDWSink, bool) { +// AsQuickBooksObjectDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { return nil, false } -// AsSQLMISink is the BasicCopySink implementation for DocumentDbCollectionSink. -func (ddcs DocumentDbCollectionSink) AsSQLMISink() (*SQLMISink, bool) { +// AsPrestoObjectDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { return nil, false } -// AsAzureSQLSink is the BasicCopySink implementation for DocumentDbCollectionSink. -func (ddcs DocumentDbCollectionSink) AsAzureSQLSink() (*AzureSQLSink, bool) { +// AsPhoenixObjectDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { return nil, false } -// AsSQLServerSink is the BasicCopySink implementation for DocumentDbCollectionSink. -func (ddcs DocumentDbCollectionSink) AsSQLServerSink() (*SQLServerSink, bool) { +// AsPaypalObjectDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { return nil, false } -// AsSQLSink is the BasicCopySink implementation for DocumentDbCollectionSink. -func (ddcs DocumentDbCollectionSink) AsSQLSink() (*SQLSink, bool) { +// AsMarketoObjectDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { return nil, false } -// AsDocumentDbCollectionSink is the BasicCopySink implementation for DocumentDbCollectionSink. -func (ddcs DocumentDbCollectionSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) { - return &ddcs, true +// AsAzureMariaDBTableDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { + return nil, false } -// AsFileSystemSink is the BasicCopySink implementation for DocumentDbCollectionSink. -func (ddcs DocumentDbCollectionSink) AsFileSystemSink() (*FileSystemSink, bool) { +// AsMariaDBTableDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { return nil, false } -// AsBlobSink is the BasicCopySink implementation for DocumentDbCollectionSink. -func (ddcs DocumentDbCollectionSink) AsBlobSink() (*BlobSink, bool) { +// AsMagentoObjectDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { return nil, false } -// AsBinarySink is the BasicCopySink implementation for DocumentDbCollectionSink. -func (ddcs DocumentDbCollectionSink) AsBinarySink() (*BinarySink, bool) { +// AsJiraObjectDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { return nil, false } -// AsParquetSink is the BasicCopySink implementation for DocumentDbCollectionSink. -func (ddcs DocumentDbCollectionSink) AsParquetSink() (*ParquetSink, bool) { +// AsImpalaObjectDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { return nil, false } -// AsAvroSink is the BasicCopySink implementation for DocumentDbCollectionSink. -func (ddcs DocumentDbCollectionSink) AsAvroSink() (*AvroSink, bool) { +// AsHubspotObjectDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { return nil, false } -// AsAzureTableSink is the BasicCopySink implementation for DocumentDbCollectionSink. -func (ddcs DocumentDbCollectionSink) AsAzureTableSink() (*AzureTableSink, bool) { +// AsHiveObjectDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { return nil, false } -// AsAzureQueueSink is the BasicCopySink implementation for DocumentDbCollectionSink. -func (ddcs DocumentDbCollectionSink) AsAzureQueueSink() (*AzureQueueSink, bool) { +// AsHBaseObjectDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { return nil, false } -// AsSapCloudForCustomerSink is the BasicCopySink implementation for DocumentDbCollectionSink. -func (ddcs DocumentDbCollectionSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) { +// AsGreenplumTableDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { return nil, false } -// AsAzurePostgreSQLSink is the BasicCopySink implementation for DocumentDbCollectionSink. -func (ddcs DocumentDbCollectionSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) { +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { return nil, false } -// AsDelimitedTextSink is the BasicCopySink implementation for DocumentDbCollectionSink. -func (ddcs DocumentDbCollectionSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) { +// AsEloquaObjectDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { return nil, false } -// AsCopySink is the BasicCopySink implementation for DocumentDbCollectionSink. -func (ddcs DocumentDbCollectionSink) AsCopySink() (*CopySink, bool) { +// AsDrillTableDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { return nil, false } -// AsBasicCopySink is the BasicCopySink implementation for DocumentDbCollectionSink. -func (ddcs DocumentDbCollectionSink) AsBasicCopySink() (BasicCopySink, bool) { - return &ddcs, true +// AsCouchbaseTableDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { + return nil, false } -// UnmarshalJSON is the custom unmarshaler for DocumentDbCollectionSink struct. -func (ddcs *DocumentDbCollectionSink) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - case "nestingSeparator": - if v != nil { - var nestingSeparator interface{} - err = json.Unmarshal(*v, &nestingSeparator) - if err != nil { - return err - } - ddcs.NestingSeparator = nestingSeparator - } - case "writeBehavior": - if v != nil { - var writeBehavior interface{} - err = json.Unmarshal(*v, &writeBehavior) - if err != nil { - return err - } - ddcs.WriteBehavior = writeBehavior - } - default: - if v != nil { - var additionalProperties interface{} - err = json.Unmarshal(*v, &additionalProperties) - if err != nil { - return err - } - if ddcs.AdditionalProperties == nil { - ddcs.AdditionalProperties = make(map[string]interface{}) - } - ddcs.AdditionalProperties[k] = additionalProperties - } - case "writeBatchSize": - if v != nil { - var writeBatchSize interface{} - err = json.Unmarshal(*v, &writeBatchSize) - if err != nil { - return err - } - ddcs.WriteBatchSize = writeBatchSize - } - case "writeBatchTimeout": - if v != nil { - var writeBatchTimeout interface{} - err = json.Unmarshal(*v, &writeBatchTimeout) - if err != nil { - return err - } - ddcs.WriteBatchTimeout = writeBatchTimeout - } - case "sinkRetryCount": - if v != nil { - var sinkRetryCount interface{} - err = json.Unmarshal(*v, &sinkRetryCount) - if err != nil { - return err - } - ddcs.SinkRetryCount = sinkRetryCount - } - case "sinkRetryWait": - if v != nil { - var sinkRetryWait interface{} - err = json.Unmarshal(*v, &sinkRetryWait) - if err != nil { - return err - } - ddcs.SinkRetryWait = sinkRetryWait - } - case "maxConcurrentConnections": - if v != nil { - var maxConcurrentConnections interface{} - err = json.Unmarshal(*v, &maxConcurrentConnections) - if err != nil { - return err - } - ddcs.MaxConcurrentConnections = maxConcurrentConnections - } - case "type": - if v != nil { - var typeVar TypeBasicCopySink - err = json.Unmarshal(*v, &typeVar) - if err != nil { - return err - } - ddcs.Type = typeVar - } - } - } +// AsConcurObjectDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { + return nil, false +} - return nil +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { + return nil, false } -// DocumentDbCollectionSource a copy activity Document Database Collection source. -type DocumentDbCollectionSource struct { - // Query - Documents query. Type: string (or Expression with resultType string). - Query interface{} `json:"query,omitempty"` - // NestingSeparator - Nested properties separator. Type: string (or Expression with resultType string). - NestingSeparator interface{} `json:"nestingSeparator,omitempty"` - // AdditionalProperties - Unmatched properties from the message are deserialized this collection - AdditionalProperties map[string]interface{} `json:""` - // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). - SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` - // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). - SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` - // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). - MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' - Type TypeBasicCopySource `json:"type,omitempty"` +// AsAmazonMWSObjectDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { + return nil, false } -// MarshalJSON is the custom marshaler for DocumentDbCollectionSource. -func (ddcs DocumentDbCollectionSource) MarshalJSON() ([]byte, error) { - ddcs.Type = TypeDocumentDbCollectionSource - objectMap := make(map[string]interface{}) - if ddcs.Query != nil { - objectMap["query"] = ddcs.Query - } - if ddcs.NestingSeparator != nil { - objectMap["nestingSeparator"] = ddcs.NestingSeparator - } - if ddcs.SourceRetryCount != nil { - objectMap["sourceRetryCount"] = ddcs.SourceRetryCount - } - if ddcs.SourceRetryWait != nil { - objectMap["sourceRetryWait"] = ddcs.SourceRetryWait - } - if ddcs.MaxConcurrentConnections != nil { - objectMap["maxConcurrentConnections"] = ddcs.MaxConcurrentConnections - } - if ddcs.Type != "" { - objectMap["type"] = ddcs.Type - } - for k, v := range ddcs.AdditionalProperties { - objectMap[k] = v - } - return json.Marshal(objectMap) +// AsHTTPDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsHTTPDataset() (*HTTPDataset, bool) { + return nil, false } -// AsAmazonRedshiftSource is the BasicCopySource implementation for DocumentDbCollectionSource. -func (ddcs DocumentDbCollectionSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { +// AsAzureSearchIndexDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { return nil, false } -// AsGoogleAdWordsSource is the BasicCopySource implementation for DocumentDbCollectionSource. -func (ddcs DocumentDbCollectionSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { +// AsWebTableDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsWebTableDataset() (*WebTableDataset, bool) { return nil, false } -// AsOracleServiceCloudSource is the BasicCopySource implementation for DocumentDbCollectionSource. -func (ddcs DocumentDbCollectionSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { +// AsSapTableResourceDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { return nil, false } -// AsDynamicsAXSource is the BasicCopySource implementation for DocumentDbCollectionSource. -func (ddcs DocumentDbCollectionSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { +// AsRestResourceDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { return nil, false } -// AsResponsysSource is the BasicCopySource implementation for DocumentDbCollectionSource. -func (ddcs DocumentDbCollectionSource) AsResponsysSource() (*ResponsysSource, bool) { +// AsSQLServerTableDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { return nil, false } -// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for DocumentDbCollectionSource. -func (ddcs DocumentDbCollectionSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { +// AsSapOpenHubTableDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { return nil, false } -// AsVerticaSource is the BasicCopySource implementation for DocumentDbCollectionSource. -func (ddcs DocumentDbCollectionSource) AsVerticaSource() (*VerticaSource, bool) { +// AsSapHanaTableDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { return nil, false } -// AsNetezzaSource is the BasicCopySource implementation for DocumentDbCollectionSource. -func (ddcs DocumentDbCollectionSource) AsNetezzaSource() (*NetezzaSource, bool) { +// AsSapEccResourceDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { return nil, false } -// AsZohoSource is the BasicCopySource implementation for DocumentDbCollectionSource. -func (ddcs DocumentDbCollectionSource) AsZohoSource() (*ZohoSource, bool) { +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { return nil, false } -// AsXeroSource is the BasicCopySource implementation for DocumentDbCollectionSource. -func (ddcs DocumentDbCollectionSource) AsXeroSource() (*XeroSource, bool) { +// AsSapBwCubeDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { return nil, false } -// AsSquareSource is the BasicCopySource implementation for DocumentDbCollectionSource. -func (ddcs DocumentDbCollectionSource) AsSquareSource() (*SquareSource, bool) { +// AsSybaseTableDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { return nil, false } -// AsSparkSource is the BasicCopySource implementation for DocumentDbCollectionSource. -func (ddcs DocumentDbCollectionSource) AsSparkSource() (*SparkSource, bool) { +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { return nil, false } -// AsShopifySource is the BasicCopySource implementation for DocumentDbCollectionSource. -func (ddcs DocumentDbCollectionSource) AsShopifySource() (*ShopifySource, bool) { +// AsSalesforceObjectDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { return nil, false } -// AsServiceNowSource is the BasicCopySource implementation for DocumentDbCollectionSource. -func (ddcs DocumentDbCollectionSource) AsServiceNowSource() (*ServiceNowSource, bool) { +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { return nil, false } -// AsQuickBooksSource is the BasicCopySource implementation for DocumentDbCollectionSource. -func (ddcs DocumentDbCollectionSource) AsQuickBooksSource() (*QuickBooksSource, bool) { +// AsPostgreSQLTableDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { return nil, false } -// AsPrestoSource is the BasicCopySource implementation for DocumentDbCollectionSource. -func (ddcs DocumentDbCollectionSource) AsPrestoSource() (*PrestoSource, bool) { +// AsMySQLTableDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { return nil, false } -// AsPhoenixSource is the BasicCopySource implementation for DocumentDbCollectionSource. -func (ddcs DocumentDbCollectionSource) AsPhoenixSource() (*PhoenixSource, bool) { +// AsOdbcTableDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { return nil, false } -// AsPaypalSource is the BasicCopySource implementation for DocumentDbCollectionSource. -func (ddcs DocumentDbCollectionSource) AsPaypalSource() (*PaypalSource, bool) { +// AsInformixTableDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { return nil, false } -// AsMarketoSource is the BasicCopySource implementation for DocumentDbCollectionSource. -func (ddcs DocumentDbCollectionSource) AsMarketoSource() (*MarketoSource, bool) { +// AsRelationalTableDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { return nil, false } -// AsAzureMariaDBSource is the BasicCopySource implementation for DocumentDbCollectionSource. -func (ddcs DocumentDbCollectionSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { +// AsDb2TableDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return &d2td, true +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { return nil, false } -// AsMariaDBSource is the BasicCopySource implementation for DocumentDbCollectionSource. -func (ddcs DocumentDbCollectionSource) AsMariaDBSource() (*MariaDBSource, bool) { +// AsAzureMySQLTableDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { return nil, false } -// AsMagentoSource is the BasicCopySource implementation for DocumentDbCollectionSource. -func (ddcs DocumentDbCollectionSource) AsMagentoSource() (*MagentoSource, bool) { +// AsTeradataTableDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { return nil, false } -// AsJiraSource is the BasicCopySource implementation for DocumentDbCollectionSource. -func (ddcs DocumentDbCollectionSource) AsJiraSource() (*JiraSource, bool) { +// AsOracleTableDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { return nil, false } -// AsImpalaSource is the BasicCopySource implementation for DocumentDbCollectionSource. -func (ddcs DocumentDbCollectionSource) AsImpalaSource() (*ImpalaSource, bool) { +// AsODataResourceDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { return nil, false } -// AsHubspotSource is the BasicCopySource implementation for DocumentDbCollectionSource. -func (ddcs DocumentDbCollectionSource) AsHubspotSource() (*HubspotSource, bool) { +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { return nil, false } -// AsHiveSource is the BasicCopySource implementation for DocumentDbCollectionSource. -func (ddcs DocumentDbCollectionSource) AsHiveSource() (*HiveSource, bool) { +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { return nil, false } -// AsHBaseSource is the BasicCopySource implementation for DocumentDbCollectionSource. -func (ddcs DocumentDbCollectionSource) AsHBaseSource() (*HBaseSource, bool) { +// AsMongoDbCollectionDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { return nil, false } -// AsGreenplumSource is the BasicCopySource implementation for DocumentDbCollectionSource. -func (ddcs DocumentDbCollectionSource) AsGreenplumSource() (*GreenplumSource, bool) { +// AsFileShareDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsFileShareDataset() (*FileShareDataset, bool) { return nil, false } -// AsGoogleBigQuerySource is the BasicCopySource implementation for DocumentDbCollectionSource. -func (ddcs DocumentDbCollectionSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { +// AsOffice365Dataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsOffice365Dataset() (*Office365Dataset, bool) { return nil, false } -// AsEloquaSource is the BasicCopySource implementation for DocumentDbCollectionSource. -func (ddcs DocumentDbCollectionSource) AsEloquaSource() (*EloquaSource, bool) { +// AsAzureBlobFSDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) { return nil, false } -// AsDrillSource is the BasicCopySource implementation for DocumentDbCollectionSource. -func (ddcs DocumentDbCollectionSource) AsDrillSource() (*DrillSource, bool) { +// AsAzureDataLakeStoreDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) { return nil, false } -// AsCouchbaseSource is the BasicCopySource implementation for DocumentDbCollectionSource. -func (ddcs DocumentDbCollectionSource) AsCouchbaseSource() (*CouchbaseSource, bool) { +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { return nil, false } -// AsConcurSource is the BasicCopySource implementation for DocumentDbCollectionSource. -func (ddcs DocumentDbCollectionSource) AsConcurSource() (*ConcurSource, bool) { +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { return nil, false } -// AsAzurePostgreSQLSource is the BasicCopySource implementation for DocumentDbCollectionSource. -func (ddcs DocumentDbCollectionSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { +// AsDynamicsEntityDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { return nil, false } -// AsAmazonMWSSource is the BasicCopySource implementation for DocumentDbCollectionSource. -func (ddcs DocumentDbCollectionSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { +// AsDocumentDbCollectionDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { return nil, false } -// AsHTTPSource is the BasicCopySource implementation for DocumentDbCollectionSource. -func (ddcs DocumentDbCollectionSource) AsHTTPSource() (*HTTPSource, bool) { +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { return nil, false } -// AsAzureBlobFSSource is the BasicCopySource implementation for DocumentDbCollectionSource. -func (ddcs DocumentDbCollectionSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { +// AsCustomDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsCustomDataset() (*CustomDataset, bool) { return nil, false } -// AsAzureDataLakeStoreSource is the BasicCopySource implementation for DocumentDbCollectionSource. -func (ddcs DocumentDbCollectionSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { +// AsCassandraTableDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { return nil, false } -// AsOffice365Source is the BasicCopySource implementation for DocumentDbCollectionSource. -func (ddcs DocumentDbCollectionSource) AsOffice365Source() (*Office365Source, bool) { +// AsAzureSQLDWTableDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { return nil, false } -// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for DocumentDbCollectionSource. -func (ddcs DocumentDbCollectionSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { +// AsAzureSQLMITableDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { return nil, false } -// AsMongoDbV2Source is the BasicCopySource implementation for DocumentDbCollectionSource. -func (ddcs DocumentDbCollectionSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { +// AsAzureSQLTableDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { return nil, false } -// AsMongoDbSource is the BasicCopySource implementation for DocumentDbCollectionSource. -func (ddcs DocumentDbCollectionSource) AsMongoDbSource() (*MongoDbSource, bool) { +// AsAzureTableDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { return nil, false } -// AsCassandraSource is the BasicCopySource implementation for DocumentDbCollectionSource. -func (ddcs DocumentDbCollectionSource) AsCassandraSource() (*CassandraSource, bool) { +// AsAzureBlobDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) { return nil, false } -// AsWebSource is the BasicCopySource implementation for DocumentDbCollectionSource. -func (ddcs DocumentDbCollectionSource) AsWebSource() (*WebSource, bool) { +// AsBinaryDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsBinaryDataset() (*BinaryDataset, bool) { return nil, false } -// AsTeradataSource is the BasicCopySource implementation for DocumentDbCollectionSource. -func (ddcs DocumentDbCollectionSource) AsTeradataSource() (*TeradataSource, bool) { +// AsOrcDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsOrcDataset() (*OrcDataset, bool) { return nil, false } -// AsOracleSource is the BasicCopySource implementation for DocumentDbCollectionSource. -func (ddcs DocumentDbCollectionSource) AsOracleSource() (*OracleSource, bool) { +// AsJSONDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsJSONDataset() (*JSONDataset, bool) { return nil, false } -// AsAzureDataExplorerSource is the BasicCopySource implementation for DocumentDbCollectionSource. -func (ddcs DocumentDbCollectionSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { +// AsDelimitedTextDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { return nil, false } -// AsAzureMySQLSource is the BasicCopySource implementation for DocumentDbCollectionSource. -func (ddcs DocumentDbCollectionSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { +// AsParquetDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsParquetDataset() (*ParquetDataset, bool) { return nil, false } -// AsHdfsSource is the BasicCopySource implementation for DocumentDbCollectionSource. -func (ddcs DocumentDbCollectionSource) AsHdfsSource() (*HdfsSource, bool) { +// AsAvroDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsAvroDataset() (*AvroDataset, bool) { return nil, false } -// AsFileSystemSource is the BasicCopySource implementation for DocumentDbCollectionSource. -func (ddcs DocumentDbCollectionSource) AsFileSystemSource() (*FileSystemSource, bool) { +// AsAmazonS3Dataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) { return nil, false } -// AsSQLDWSource is the BasicCopySource implementation for DocumentDbCollectionSource. -func (ddcs DocumentDbCollectionSource) AsSQLDWSource() (*SQLDWSource, bool) { +// AsDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsDataset() (*Dataset, bool) { return nil, false } -// AsSQLMISource is the BasicCopySource implementation for DocumentDbCollectionSource. -func (ddcs DocumentDbCollectionSource) AsSQLMISource() (*SQLMISource, bool) { +// AsBasicDataset is the BasicDataset implementation for Db2TableDataset. +func (d2td Db2TableDataset) AsBasicDataset() (BasicDataset, bool) { + return &d2td, true +} + +// UnmarshalJSON is the custom unmarshaler for Db2TableDataset struct. +func (d2td *Db2TableDataset) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var db2TableDatasetTypeProperties Db2TableDatasetTypeProperties + err = json.Unmarshal(*v, &db2TableDatasetTypeProperties) + if err != nil { + return err + } + d2td.Db2TableDatasetTypeProperties = &db2TableDatasetTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if d2td.AdditionalProperties == nil { + d2td.AdditionalProperties = make(map[string]interface{}) + } + d2td.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + d2td.Description = &description + } + case "structure": + if v != nil { + var structure interface{} + err = json.Unmarshal(*v, &structure) + if err != nil { + return err + } + d2td.Structure = structure + } + case "schema": + if v != nil { + var schema interface{} + err = json.Unmarshal(*v, &schema) + if err != nil { + return err + } + d2td.Schema = schema + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + d2td.LinkedServiceName = &linkedServiceName + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + d2td.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + d2td.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + d2td.Folder = &folder + } + case "type": + if v != nil { + var typeVar TypeBasicDataset + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + d2td.Type = typeVar + } + } + } + + return nil +} + +// Db2TableDatasetTypeProperties db2 table dataset properties. +type Db2TableDatasetTypeProperties struct { + // TableName - This property will be retired. Please consider using schema + table properties instead. + TableName interface{} `json:"tableName,omitempty"` + // Schema - The Db2 schema name. Type: string (or Expression with resultType string). + Schema interface{} `json:"schema,omitempty"` + // Table - The Db2 table name. Type: string (or Expression with resultType string). + Table interface{} `json:"table,omitempty"` +} + +// DeleteActivity delete activity. +type DeleteActivity struct { + // DeleteActivityTypeProperties - Delete activity properties. + *DeleteActivityTypeProperties `json:"typeProperties,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Policy - Activity policy. + Policy *ActivityPolicy `json:"policy,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Name - Activity name. + Name *string `json:"name,omitempty"` + // Description - Activity description. + Description *string `json:"description,omitempty"` + // DependsOn - Activity depends on condition. + DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"` + // UserProperties - Activity user properties. + UserProperties *[]UserProperty `json:"userProperties,omitempty"` + // Type - Possible values include: 'TypeActivity', 'TypeExecuteDataFlow', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLExecutePipeline', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeSwitch', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer' + Type TypeBasicActivity `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for DeleteActivity. +func (da DeleteActivity) MarshalJSON() ([]byte, error) { + da.Type = TypeDelete + objectMap := make(map[string]interface{}) + if da.DeleteActivityTypeProperties != nil { + objectMap["typeProperties"] = da.DeleteActivityTypeProperties + } + if da.LinkedServiceName != nil { + objectMap["linkedServiceName"] = da.LinkedServiceName + } + if da.Policy != nil { + objectMap["policy"] = da.Policy + } + if da.Name != nil { + objectMap["name"] = da.Name + } + if da.Description != nil { + objectMap["description"] = da.Description + } + if da.DependsOn != nil { + objectMap["dependsOn"] = da.DependsOn + } + if da.UserProperties != nil { + objectMap["userProperties"] = da.UserProperties + } + if da.Type != "" { + objectMap["type"] = da.Type + } + for k, v := range da.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsExecuteDataFlowActivity is the BasicActivity implementation for DeleteActivity. +func (da DeleteActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) { return nil, false } -// AsAzureSQLSource is the BasicCopySource implementation for DocumentDbCollectionSource. -func (ddcs DocumentDbCollectionSource) AsAzureSQLSource() (*AzureSQLSource, bool) { +// AsAzureFunctionActivity is the BasicActivity implementation for DeleteActivity. +func (da DeleteActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) { return nil, false } -// AsSQLServerSource is the BasicCopySource implementation for DocumentDbCollectionSource. -func (ddcs DocumentDbCollectionSource) AsSQLServerSource() (*SQLServerSource, bool) { +// AsDatabricksSparkPythonActivity is the BasicActivity implementation for DeleteActivity. +func (da DeleteActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) { return nil, false } -// AsSQLSource is the BasicCopySource implementation for DocumentDbCollectionSource. -func (ddcs DocumentDbCollectionSource) AsSQLSource() (*SQLSource, bool) { +// AsDatabricksSparkJarActivity is the BasicActivity implementation for DeleteActivity. +func (da DeleteActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) { return nil, false } -// AsRestSource is the BasicCopySource implementation for DocumentDbCollectionSource. -func (ddcs DocumentDbCollectionSource) AsRestSource() (*RestSource, bool) { +// AsDatabricksNotebookActivity is the BasicActivity implementation for DeleteActivity. +func (da DeleteActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) { return nil, false } -// AsSapTableSource is the BasicCopySource implementation for DocumentDbCollectionSource. -func (ddcs DocumentDbCollectionSource) AsSapTableSource() (*SapTableSource, bool) { +// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for DeleteActivity. +func (da DeleteActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) { return nil, false } -// AsSapOpenHubSource is the BasicCopySource implementation for DocumentDbCollectionSource. -func (ddcs DocumentDbCollectionSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { +// AsAzureMLExecutePipelineActivity is the BasicActivity implementation for DeleteActivity. +func (da DeleteActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) { return nil, false } -// AsSapHanaSource is the BasicCopySource implementation for DocumentDbCollectionSource. -func (ddcs DocumentDbCollectionSource) AsSapHanaSource() (*SapHanaSource, bool) { +// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for DeleteActivity. +func (da DeleteActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) { return nil, false } -// AsSapEccSource is the BasicCopySource implementation for DocumentDbCollectionSource. -func (ddcs DocumentDbCollectionSource) AsSapEccSource() (*SapEccSource, bool) { +// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for DeleteActivity. +func (da DeleteActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) { return nil, false } -// AsSapCloudForCustomerSource is the BasicCopySource implementation for DocumentDbCollectionSource. -func (ddcs DocumentDbCollectionSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { +// AsGetMetadataActivity is the BasicActivity implementation for DeleteActivity. +func (da DeleteActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) { return nil, false } -// AsSalesforceServiceCloudSource is the BasicCopySource implementation for DocumentDbCollectionSource. -func (ddcs DocumentDbCollectionSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { +// AsWebActivity is the BasicActivity implementation for DeleteActivity. +func (da DeleteActivity) AsWebActivity() (*WebActivity, bool) { return nil, false } -// AsSalesforceSource is the BasicCopySource implementation for DocumentDbCollectionSource. -func (ddcs DocumentDbCollectionSource) AsSalesforceSource() (*SalesforceSource, bool) { +// AsLookupActivity is the BasicActivity implementation for DeleteActivity. +func (da DeleteActivity) AsLookupActivity() (*LookupActivity, bool) { return nil, false } -// AsODataSource is the BasicCopySource implementation for DocumentDbCollectionSource. -func (ddcs DocumentDbCollectionSource) AsODataSource() (*ODataSource, bool) { +// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for DeleteActivity. +func (da DeleteActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) { return nil, false } -// AsSapBwSource is the BasicCopySource implementation for DocumentDbCollectionSource. -func (ddcs DocumentDbCollectionSource) AsSapBwSource() (*SapBwSource, bool) { +// AsDeleteActivity is the BasicActivity implementation for DeleteActivity. +func (da DeleteActivity) AsDeleteActivity() (*DeleteActivity, bool) { + return &da, true +} + +// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for DeleteActivity. +func (da DeleteActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) { return nil, false } -// AsSybaseSource is the BasicCopySource implementation for DocumentDbCollectionSource. -func (ddcs DocumentDbCollectionSource) AsSybaseSource() (*SybaseSource, bool) { +// AsCustomActivity is the BasicActivity implementation for DeleteActivity. +func (da DeleteActivity) AsCustomActivity() (*CustomActivity, bool) { return nil, false } -// AsPostgreSQLSource is the BasicCopySource implementation for DocumentDbCollectionSource. -func (ddcs DocumentDbCollectionSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { +// AsExecuteSSISPackageActivity is the BasicActivity implementation for DeleteActivity. +func (da DeleteActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) { return nil, false } -// AsMySQLSource is the BasicCopySource implementation for DocumentDbCollectionSource. -func (ddcs DocumentDbCollectionSource) AsMySQLSource() (*MySQLSource, bool) { +// AsHDInsightSparkActivity is the BasicActivity implementation for DeleteActivity. +func (da DeleteActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) { return nil, false } -// AsOdbcSource is the BasicCopySource implementation for DocumentDbCollectionSource. -func (ddcs DocumentDbCollectionSource) AsOdbcSource() (*OdbcSource, bool) { +// AsHDInsightStreamingActivity is the BasicActivity implementation for DeleteActivity. +func (da DeleteActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) { return nil, false } -// AsDb2Source is the BasicCopySource implementation for DocumentDbCollectionSource. -func (ddcs DocumentDbCollectionSource) AsDb2Source() (*Db2Source, bool) { +// AsHDInsightMapReduceActivity is the BasicActivity implementation for DeleteActivity. +func (da DeleteActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) { return nil, false } -// AsMicrosoftAccessSource is the BasicCopySource implementation for DocumentDbCollectionSource. -func (ddcs DocumentDbCollectionSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { +// AsHDInsightPigActivity is the BasicActivity implementation for DeleteActivity. +func (da DeleteActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) { return nil, false } -// AsInformixSource is the BasicCopySource implementation for DocumentDbCollectionSource. -func (ddcs DocumentDbCollectionSource) AsInformixSource() (*InformixSource, bool) { +// AsHDInsightHiveActivity is the BasicActivity implementation for DeleteActivity. +func (da DeleteActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) { return nil, false } -// AsRelationalSource is the BasicCopySource implementation for DocumentDbCollectionSource. -func (ddcs DocumentDbCollectionSource) AsRelationalSource() (*RelationalSource, bool) { +// AsCopyActivity is the BasicActivity implementation for DeleteActivity. +func (da DeleteActivity) AsCopyActivity() (*CopyActivity, bool) { return nil, false } -// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for DocumentDbCollectionSource. -func (ddcs DocumentDbCollectionSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { +// AsExecutionActivity is the BasicActivity implementation for DeleteActivity. +func (da DeleteActivity) AsExecutionActivity() (*ExecutionActivity, bool) { return nil, false } -// AsDynamicsCrmSource is the BasicCopySource implementation for DocumentDbCollectionSource. -func (ddcs DocumentDbCollectionSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { +// AsBasicExecutionActivity is the BasicActivity implementation for DeleteActivity. +func (da DeleteActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) { + return &da, true +} + +// AsWebHookActivity is the BasicActivity implementation for DeleteActivity. +func (da DeleteActivity) AsWebHookActivity() (*WebHookActivity, bool) { return nil, false } -// AsDynamicsSource is the BasicCopySource implementation for DocumentDbCollectionSource. -func (ddcs DocumentDbCollectionSource) AsDynamicsSource() (*DynamicsSource, bool) { +// AsAppendVariableActivity is the BasicActivity implementation for DeleteActivity. +func (da DeleteActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) { return nil, false } -// AsDocumentDbCollectionSource is the BasicCopySource implementation for DocumentDbCollectionSource. -func (ddcs DocumentDbCollectionSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { - return &ddcs, true +// AsSetVariableActivity is the BasicActivity implementation for DeleteActivity. +func (da DeleteActivity) AsSetVariableActivity() (*SetVariableActivity, bool) { + return nil, false } -// AsBlobSource is the BasicCopySource implementation for DocumentDbCollectionSource. -func (ddcs DocumentDbCollectionSource) AsBlobSource() (*BlobSource, bool) { +// AsFilterActivity is the BasicActivity implementation for DeleteActivity. +func (da DeleteActivity) AsFilterActivity() (*FilterActivity, bool) { return nil, false } -// AsAzureTableSource is the BasicCopySource implementation for DocumentDbCollectionSource. -func (ddcs DocumentDbCollectionSource) AsAzureTableSource() (*AzureTableSource, bool) { +// AsValidationActivity is the BasicActivity implementation for DeleteActivity. +func (da DeleteActivity) AsValidationActivity() (*ValidationActivity, bool) { return nil, false } -// AsBinarySource is the BasicCopySource implementation for DocumentDbCollectionSource. -func (ddcs DocumentDbCollectionSource) AsBinarySource() (*BinarySource, bool) { +// AsUntilActivity is the BasicActivity implementation for DeleteActivity. +func (da DeleteActivity) AsUntilActivity() (*UntilActivity, bool) { return nil, false } -// AsDelimitedTextSource is the BasicCopySource implementation for DocumentDbCollectionSource. -func (ddcs DocumentDbCollectionSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { +// AsWaitActivity is the BasicActivity implementation for DeleteActivity. +func (da DeleteActivity) AsWaitActivity() (*WaitActivity, bool) { return nil, false } -// AsParquetSource is the BasicCopySource implementation for DocumentDbCollectionSource. -func (ddcs DocumentDbCollectionSource) AsParquetSource() (*ParquetSource, bool) { +// AsForEachActivity is the BasicActivity implementation for DeleteActivity. +func (da DeleteActivity) AsForEachActivity() (*ForEachActivity, bool) { return nil, false } -// AsAvroSource is the BasicCopySource implementation for DocumentDbCollectionSource. -func (ddcs DocumentDbCollectionSource) AsAvroSource() (*AvroSource, bool) { +// AsSwitchActivity is the BasicActivity implementation for DeleteActivity. +func (da DeleteActivity) AsSwitchActivity() (*SwitchActivity, bool) { return nil, false } -// AsCopySource is the BasicCopySource implementation for DocumentDbCollectionSource. -func (ddcs DocumentDbCollectionSource) AsCopySource() (*CopySource, bool) { +// AsIfConditionActivity is the BasicActivity implementation for DeleteActivity. +func (da DeleteActivity) AsIfConditionActivity() (*IfConditionActivity, bool) { return nil, false } -// AsBasicCopySource is the BasicCopySource implementation for DocumentDbCollectionSource. -func (ddcs DocumentDbCollectionSource) AsBasicCopySource() (BasicCopySource, bool) { - return &ddcs, true +// AsExecutePipelineActivity is the BasicActivity implementation for DeleteActivity. +func (da DeleteActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) { + return nil, false } -// UnmarshalJSON is the custom unmarshaler for DocumentDbCollectionSource struct. -func (ddcs *DocumentDbCollectionSource) UnmarshalJSON(body []byte) error { +// AsControlActivity is the BasicActivity implementation for DeleteActivity. +func (da DeleteActivity) AsControlActivity() (*ControlActivity, bool) { + return nil, false +} + +// AsBasicControlActivity is the BasicActivity implementation for DeleteActivity. +func (da DeleteActivity) AsBasicControlActivity() (BasicControlActivity, bool) { + return nil, false +} + +// AsActivity is the BasicActivity implementation for DeleteActivity. +func (da DeleteActivity) AsActivity() (*Activity, bool) { + return nil, false +} + +// AsBasicActivity is the BasicActivity implementation for DeleteActivity. +func (da DeleteActivity) AsBasicActivity() (BasicActivity, bool) { + return &da, true +} + +// UnmarshalJSON is the custom unmarshaler for DeleteActivity struct. +func (da *DeleteActivity) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -64220,23 +70210,32 @@ func (ddcs *DocumentDbCollectionSource) UnmarshalJSON(body []byte) error { } for k, v := range m { switch k { - case "query": + case "typeProperties": if v != nil { - var query interface{} - err = json.Unmarshal(*v, &query) + var deleteActivityTypeProperties DeleteActivityTypeProperties + err = json.Unmarshal(*v, &deleteActivityTypeProperties) if err != nil { return err } - ddcs.Query = query + da.DeleteActivityTypeProperties = &deleteActivityTypeProperties } - case "nestingSeparator": + case "linkedServiceName": if v != nil { - var nestingSeparator interface{} - err = json.Unmarshal(*v, &nestingSeparator) + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) if err != nil { return err } - ddcs.NestingSeparator = nestingSeparator + da.LinkedServiceName = &linkedServiceName + } + case "policy": + if v != nil { + var policy ActivityPolicy + err = json.Unmarshal(*v, &policy) + if err != nil { + return err + } + da.Policy = &policy } default: if v != nil { @@ -64245,46 +70244,55 @@ func (ddcs *DocumentDbCollectionSource) UnmarshalJSON(body []byte) error { if err != nil { return err } - if ddcs.AdditionalProperties == nil { - ddcs.AdditionalProperties = make(map[string]interface{}) + if da.AdditionalProperties == nil { + da.AdditionalProperties = make(map[string]interface{}) } - ddcs.AdditionalProperties[k] = additionalProperties + da.AdditionalProperties[k] = additionalProperties } - case "sourceRetryCount": + case "name": if v != nil { - var sourceRetryCount interface{} - err = json.Unmarshal(*v, &sourceRetryCount) + var name string + err = json.Unmarshal(*v, &name) if err != nil { return err } - ddcs.SourceRetryCount = sourceRetryCount + da.Name = &name } - case "sourceRetryWait": + case "description": if v != nil { - var sourceRetryWait interface{} - err = json.Unmarshal(*v, &sourceRetryWait) + var description string + err = json.Unmarshal(*v, &description) if err != nil { return err } - ddcs.SourceRetryWait = sourceRetryWait + da.Description = &description } - case "maxConcurrentConnections": + case "dependsOn": if v != nil { - var maxConcurrentConnections interface{} - err = json.Unmarshal(*v, &maxConcurrentConnections) + var dependsOn []ActivityDependency + err = json.Unmarshal(*v, &dependsOn) if err != nil { return err } - ddcs.MaxConcurrentConnections = maxConcurrentConnections + da.DependsOn = &dependsOn + } + case "userProperties": + if v != nil { + var userProperties []UserProperty + err = json.Unmarshal(*v, &userProperties) + if err != nil { + return err + } + da.UserProperties = &userProperties } case "type": if v != nil { - var typeVar TypeBasicCopySource + var typeVar TypeBasicActivity err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - ddcs.Type = typeVar + da.Type = typeVar } } } @@ -64292,529 +70300,534 @@ func (ddcs *DocumentDbCollectionSource) UnmarshalJSON(body []byte) error { return nil } -// DrillDatasetTypeProperties drill Dataset Properties -type DrillDatasetTypeProperties struct { - // TableName - This property will be retired. Please consider using schema + table properties instead. - TableName interface{} `json:"tableName,omitempty"` - // Table - The table name of the Drill. Type: string (or Expression with resultType string). - Table interface{} `json:"table,omitempty"` - // Schema - The schema name of the Drill. Type: string (or Expression with resultType string). - Schema interface{} `json:"schema,omitempty"` +// DeleteActivityTypeProperties delete activity properties. +type DeleteActivityTypeProperties struct { + // Recursive - If true, files or sub-folders under current folder path will be deleted recursively. Default is false. Type: boolean (or Expression with resultType boolean). + Recursive interface{} `json:"recursive,omitempty"` + // MaxConcurrentConnections - The max concurrent connections to connect data source at the same time. + MaxConcurrentConnections *int32 `json:"maxConcurrentConnections,omitempty"` + // EnableLogging - Whether to record detailed logs of delete-activity execution. Default value is false. Type: boolean (or Expression with resultType boolean). + EnableLogging interface{} `json:"enableLogging,omitempty"` + // LogStorageSettings - Log storage settings customer need to provide when enableLogging is true. + LogStorageSettings *LogStorageSettings `json:"logStorageSettings,omitempty"` + // Dataset - Delete activity dataset reference. + Dataset *DatasetReference `json:"dataset,omitempty"` } -// DrillLinkedService drill server linked service. -type DrillLinkedService struct { - // DrillLinkedServiceTypeProperties - Drill server linked service properties. - *DrillLinkedServiceTypeProperties `json:"typeProperties,omitempty"` +// DeleteDataFlowDebugSessionRequest request body structure for deleting data flow debug session. +type DeleteDataFlowDebugSessionRequest struct { + // SessionID - The ID of data flow debug session. + SessionID *string `json:"sessionId,omitempty"` +} + +// DelimitedTextDataset delimited text dataset. +type DelimitedTextDataset struct { + // DelimitedTextDatasetTypeProperties - Delimited text dataset properties. + *DelimitedTextDatasetTypeProperties `json:"typeProperties,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` - // ConnectVia - The integration runtime reference. - ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` - // Description - Linked service description. + // Description - Dataset description. Description *string `json:"description,omitempty"` - // Parameters - Parameters for linked service. + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. Parameters map[string]*ParameterSpecification `json:"parameters"` - // Annotations - List of tags that can be used for describing the linked service. + // Annotations - List of tags that can be used for describing the Dataset. Annotations *[]interface{} `json:"annotations,omitempty"` - // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' - Type TypeBasicLinkedService `json:"type,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' + Type TypeBasicDataset `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for DrillLinkedService. -func (dls DrillLinkedService) MarshalJSON() ([]byte, error) { - dls.Type = TypeDrill +// MarshalJSON is the custom marshaler for DelimitedTextDataset. +func (dtd DelimitedTextDataset) MarshalJSON() ([]byte, error) { + dtd.Type = TypeDelimitedText objectMap := make(map[string]interface{}) - if dls.DrillLinkedServiceTypeProperties != nil { - objectMap["typeProperties"] = dls.DrillLinkedServiceTypeProperties + if dtd.DelimitedTextDatasetTypeProperties != nil { + objectMap["typeProperties"] = dtd.DelimitedTextDatasetTypeProperties } - if dls.ConnectVia != nil { - objectMap["connectVia"] = dls.ConnectVia + if dtd.Description != nil { + objectMap["description"] = dtd.Description } - if dls.Description != nil { - objectMap["description"] = dls.Description + if dtd.Structure != nil { + objectMap["structure"] = dtd.Structure } - if dls.Parameters != nil { - objectMap["parameters"] = dls.Parameters + if dtd.Schema != nil { + objectMap["schema"] = dtd.Schema } - if dls.Annotations != nil { - objectMap["annotations"] = dls.Annotations + if dtd.LinkedServiceName != nil { + objectMap["linkedServiceName"] = dtd.LinkedServiceName } - if dls.Type != "" { - objectMap["type"] = dls.Type + if dtd.Parameters != nil { + objectMap["parameters"] = dtd.Parameters } - for k, v := range dls.AdditionalProperties { + if dtd.Annotations != nil { + objectMap["annotations"] = dtd.Annotations + } + if dtd.Folder != nil { + objectMap["folder"] = dtd.Folder + } + if dtd.Type != "" { + objectMap["type"] = dtd.Type + } + for k, v := range dtd.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsAzureFunctionLinkedService is the BasicLinkedService implementation for DrillLinkedService. -func (dls DrillLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { return nil, false } -// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for DrillLinkedService. -func (dls DrillLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { return nil, false } -// AsSapTableLinkedService is the BasicLinkedService implementation for DrillLinkedService. -func (dls DrillLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { return nil, false } -// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for DrillLinkedService. -func (dls DrillLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { +// AsDynamicsAXResourceDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { return nil, false } -// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for DrillLinkedService. -func (dls DrillLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { +// AsResponsysObjectDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { return nil, false } -// AsDynamicsAXLinkedService is the BasicLinkedService implementation for DrillLinkedService. -func (dls DrillLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { return nil, false } -// AsResponsysLinkedService is the BasicLinkedService implementation for DrillLinkedService. -func (dls DrillLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { +// AsVerticaTableDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { return nil, false } -// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for DrillLinkedService. -func (dls DrillLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { +// AsNetezzaTableDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { return nil, false } -// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for DrillLinkedService. -func (dls DrillLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { +// AsZohoObjectDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { return nil, false } -// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for DrillLinkedService. -func (dls DrillLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { +// AsXeroObjectDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { return nil, false } -// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for DrillLinkedService. -func (dls DrillLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { +// AsSquareObjectDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { return nil, false } -// AsNetezzaLinkedService is the BasicLinkedService implementation for DrillLinkedService. -func (dls DrillLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { +// AsSparkObjectDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { return nil, false } -// AsVerticaLinkedService is the BasicLinkedService implementation for DrillLinkedService. -func (dls DrillLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { +// AsShopifyObjectDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { return nil, false } -// AsZohoLinkedService is the BasicLinkedService implementation for DrillLinkedService. -func (dls DrillLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { +// AsServiceNowObjectDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { return nil, false } -// AsXeroLinkedService is the BasicLinkedService implementation for DrillLinkedService. -func (dls DrillLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { +// AsQuickBooksObjectDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { return nil, false } -// AsSquareLinkedService is the BasicLinkedService implementation for DrillLinkedService. -func (dls DrillLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { +// AsPrestoObjectDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { return nil, false } -// AsSparkLinkedService is the BasicLinkedService implementation for DrillLinkedService. -func (dls DrillLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { +// AsPhoenixObjectDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { return nil, false } -// AsShopifyLinkedService is the BasicLinkedService implementation for DrillLinkedService. -func (dls DrillLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { +// AsPaypalObjectDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { return nil, false } -// AsServiceNowLinkedService is the BasicLinkedService implementation for DrillLinkedService. -func (dls DrillLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { +// AsMarketoObjectDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { return nil, false } -// AsQuickBooksLinkedService is the BasicLinkedService implementation for DrillLinkedService. -func (dls DrillLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { +// AsAzureMariaDBTableDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { return nil, false } -// AsPrestoLinkedService is the BasicLinkedService implementation for DrillLinkedService. -func (dls DrillLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { +// AsMariaDBTableDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { return nil, false } -// AsPhoenixLinkedService is the BasicLinkedService implementation for DrillLinkedService. -func (dls DrillLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { +// AsMagentoObjectDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { return nil, false } -// AsPaypalLinkedService is the BasicLinkedService implementation for DrillLinkedService. -func (dls DrillLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { +// AsJiraObjectDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { return nil, false } -// AsMarketoLinkedService is the BasicLinkedService implementation for DrillLinkedService. -func (dls DrillLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { +// AsImpalaObjectDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { return nil, false } -// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for DrillLinkedService. -func (dls DrillLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { +// AsHubspotObjectDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { return nil, false } -// AsMariaDBLinkedService is the BasicLinkedService implementation for DrillLinkedService. -func (dls DrillLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { +// AsHiveObjectDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { return nil, false } -// AsMagentoLinkedService is the BasicLinkedService implementation for DrillLinkedService. -func (dls DrillLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { +// AsHBaseObjectDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { return nil, false } -// AsJiraLinkedService is the BasicLinkedService implementation for DrillLinkedService. -func (dls DrillLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { +// AsGreenplumTableDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { return nil, false } -// AsImpalaLinkedService is the BasicLinkedService implementation for DrillLinkedService. -func (dls DrillLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { return nil, false } -// AsHubspotLinkedService is the BasicLinkedService implementation for DrillLinkedService. -func (dls DrillLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { +// AsEloquaObjectDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { return nil, false } -// AsHiveLinkedService is the BasicLinkedService implementation for DrillLinkedService. -func (dls DrillLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { +// AsDrillTableDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { return nil, false } -// AsHBaseLinkedService is the BasicLinkedService implementation for DrillLinkedService. -func (dls DrillLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { +// AsCouchbaseTableDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { return nil, false } -// AsGreenplumLinkedService is the BasicLinkedService implementation for DrillLinkedService. -func (dls DrillLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { +// AsConcurObjectDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { return nil, false } -// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for DrillLinkedService. -func (dls DrillLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { return nil, false } -// AsEloquaLinkedService is the BasicLinkedService implementation for DrillLinkedService. -func (dls DrillLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { +// AsAmazonMWSObjectDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { return nil, false } -// AsDrillLinkedService is the BasicLinkedService implementation for DrillLinkedService. -func (dls DrillLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { - return &dls, true +// AsHTTPDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsHTTPDataset() (*HTTPDataset, bool) { + return nil, false } -// AsCouchbaseLinkedService is the BasicLinkedService implementation for DrillLinkedService. -func (dls DrillLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { +// AsAzureSearchIndexDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { return nil, false } -// AsConcurLinkedService is the BasicLinkedService implementation for DrillLinkedService. -func (dls DrillLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { +// AsWebTableDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsWebTableDataset() (*WebTableDataset, bool) { return nil, false } -// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for DrillLinkedService. -func (dls DrillLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { +// AsSapTableResourceDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { return nil, false } -// AsAmazonMWSLinkedService is the BasicLinkedService implementation for DrillLinkedService. -func (dls DrillLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { +// AsRestResourceDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { return nil, false } -// AsSapHanaLinkedService is the BasicLinkedService implementation for DrillLinkedService. -func (dls DrillLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { +// AsSQLServerTableDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { return nil, false } -// AsSapBWLinkedService is the BasicLinkedService implementation for DrillLinkedService. -func (dls DrillLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { +// AsSapOpenHubTableDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { return nil, false } -// AsSftpServerLinkedService is the BasicLinkedService implementation for DrillLinkedService. -func (dls DrillLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { +// AsSapHanaTableDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { return nil, false } -// AsFtpServerLinkedService is the BasicLinkedService implementation for DrillLinkedService. -func (dls DrillLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { +// AsSapEccResourceDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { return nil, false } -// AsHTTPLinkedService is the BasicLinkedService implementation for DrillLinkedService. -func (dls DrillLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { return nil, false } -// AsAzureSearchLinkedService is the BasicLinkedService implementation for DrillLinkedService. -func (dls DrillLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { - return nil, false -} - -// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for DrillLinkedService. -func (dls DrillLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { - return nil, false -} - -// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for DrillLinkedService. -func (dls DrillLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { - return nil, false -} - -// AsAmazonS3LinkedService is the BasicLinkedService implementation for DrillLinkedService. -func (dls DrillLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { - return nil, false -} - -// AsRestServiceLinkedService is the BasicLinkedService implementation for DrillLinkedService. -func (dls DrillLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { +// AsSapBwCubeDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { return nil, false } -// AsSapOpenHubLinkedService is the BasicLinkedService implementation for DrillLinkedService. -func (dls DrillLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { +// AsSybaseTableDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { return nil, false } -// AsSapEccLinkedService is the BasicLinkedService implementation for DrillLinkedService. -func (dls DrillLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { return nil, false } -// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for DrillLinkedService. -func (dls DrillLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { +// AsSalesforceObjectDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { return nil, false } -// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for DrillLinkedService. -func (dls DrillLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { return nil, false } -// AsSalesforceLinkedService is the BasicLinkedService implementation for DrillLinkedService. -func (dls DrillLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { +// AsPostgreSQLTableDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { return nil, false } -// AsOffice365LinkedService is the BasicLinkedService implementation for DrillLinkedService. -func (dls DrillLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { +// AsMySQLTableDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { return nil, false } -// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for DrillLinkedService. -func (dls DrillLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { +// AsOdbcTableDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { return nil, false } -// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for DrillLinkedService. -func (dls DrillLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { +// AsInformixTableDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { return nil, false } -// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for DrillLinkedService. -func (dls DrillLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { +// AsRelationalTableDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { return nil, false } -// AsMongoDbV2LinkedService is the BasicLinkedService implementation for DrillLinkedService. -func (dls DrillLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { +// AsDb2TableDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { return nil, false } -// AsMongoDbLinkedService is the BasicLinkedService implementation for DrillLinkedService. -func (dls DrillLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { return nil, false } -// AsCassandraLinkedService is the BasicLinkedService implementation for DrillLinkedService. -func (dls DrillLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { +// AsAzureMySQLTableDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { return nil, false } -// AsWebLinkedService is the BasicLinkedService implementation for DrillLinkedService. -func (dls DrillLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { +// AsTeradataTableDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { return nil, false } -// AsODataLinkedService is the BasicLinkedService implementation for DrillLinkedService. -func (dls DrillLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { +// AsOracleTableDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { return nil, false } -// AsHdfsLinkedService is the BasicLinkedService implementation for DrillLinkedService. -func (dls DrillLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { +// AsODataResourceDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { return nil, false } -// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for DrillLinkedService. -func (dls DrillLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { return nil, false } -// AsInformixLinkedService is the BasicLinkedService implementation for DrillLinkedService. -func (dls DrillLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { return nil, false } -// AsOdbcLinkedService is the BasicLinkedService implementation for DrillLinkedService. -func (dls DrillLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { +// AsMongoDbCollectionDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { return nil, false } -// AsAzureMLLinkedService is the BasicLinkedService implementation for DrillLinkedService. -func (dls DrillLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { +// AsFileShareDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsFileShareDataset() (*FileShareDataset, bool) { return nil, false } -// AsTeradataLinkedService is the BasicLinkedService implementation for DrillLinkedService. -func (dls DrillLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { +// AsOffice365Dataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsOffice365Dataset() (*Office365Dataset, bool) { return nil, false } -// AsDb2LinkedService is the BasicLinkedService implementation for DrillLinkedService. -func (dls DrillLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { +// AsAzureBlobFSDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) { return nil, false } -// AsSybaseLinkedService is the BasicLinkedService implementation for DrillLinkedService. -func (dls DrillLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { +// AsAzureDataLakeStoreDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) { return nil, false } -// AsPostgreSQLLinkedService is the BasicLinkedService implementation for DrillLinkedService. -func (dls DrillLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { return nil, false } -// AsMySQLLinkedService is the BasicLinkedService implementation for DrillLinkedService. -func (dls DrillLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { return nil, false } -// AsAzureMySQLLinkedService is the BasicLinkedService implementation for DrillLinkedService. -func (dls DrillLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { +// AsDynamicsEntityDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { return nil, false } -// AsOracleLinkedService is the BasicLinkedService implementation for DrillLinkedService. -func (dls DrillLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { +// AsDocumentDbCollectionDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { return nil, false } -// AsFileServerLinkedService is the BasicLinkedService implementation for DrillLinkedService. -func (dls DrillLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { return nil, false } -// AsHDInsightLinkedService is the BasicLinkedService implementation for DrillLinkedService. -func (dls DrillLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { +// AsCustomDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsCustomDataset() (*CustomDataset, bool) { return nil, false } -// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for DrillLinkedService. -func (dls DrillLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { +// AsCassandraTableDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { return nil, false } -// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for DrillLinkedService. -func (dls DrillLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { +// AsAzureSQLDWTableDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { return nil, false } -// AsDynamicsLinkedService is the BasicLinkedService implementation for DrillLinkedService. -func (dls DrillLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { +// AsAzureSQLMITableDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { return nil, false } -// AsCosmosDbLinkedService is the BasicLinkedService implementation for DrillLinkedService. -func (dls DrillLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { +// AsAzureSQLTableDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { return nil, false } -// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for DrillLinkedService. -func (dls DrillLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { +// AsAzureTableDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { return nil, false } -// AsAzureBatchLinkedService is the BasicLinkedService implementation for DrillLinkedService. -func (dls DrillLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { +// AsAzureBlobDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) { return nil, false } -// AsAzureSQLMILinkedService is the BasicLinkedService implementation for DrillLinkedService. -func (dls DrillLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { +// AsBinaryDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsBinaryDataset() (*BinaryDataset, bool) { return nil, false } -// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for DrillLinkedService. -func (dls DrillLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { +// AsOrcDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsOrcDataset() (*OrcDataset, bool) { return nil, false } -// AsSQLServerLinkedService is the BasicLinkedService implementation for DrillLinkedService. -func (dls DrillLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { +// AsJSONDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsJSONDataset() (*JSONDataset, bool) { return nil, false } -// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for DrillLinkedService. -func (dls DrillLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { - return nil, false +// AsDelimitedTextDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { + return &dtd, true } -// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for DrillLinkedService. -func (dls DrillLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { +// AsParquetDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsParquetDataset() (*ParquetDataset, bool) { return nil, false } -// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for DrillLinkedService. -func (dls DrillLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { +// AsAvroDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsAvroDataset() (*AvroDataset, bool) { return nil, false } -// AsAzureStorageLinkedService is the BasicLinkedService implementation for DrillLinkedService. -func (dls DrillLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { +// AsAmazonS3Dataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) { return nil, false } -// AsLinkedService is the BasicLinkedService implementation for DrillLinkedService. -func (dls DrillLinkedService) AsLinkedService() (*LinkedService, bool) { +// AsDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsDataset() (*Dataset, bool) { return nil, false } -// AsBasicLinkedService is the BasicLinkedService implementation for DrillLinkedService. -func (dls DrillLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { - return &dls, true +// AsBasicDataset is the BasicDataset implementation for DelimitedTextDataset. +func (dtd DelimitedTextDataset) AsBasicDataset() (BasicDataset, bool) { + return &dtd, true } -// UnmarshalJSON is the custom unmarshaler for DrillLinkedService struct. -func (dls *DrillLinkedService) UnmarshalJSON(body []byte) error { +// UnmarshalJSON is the custom unmarshaler for DelimitedTextDataset struct. +func (dtd *DelimitedTextDataset) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -64824,12 +70837,12 @@ func (dls *DrillLinkedService) UnmarshalJSON(body []byte) error { switch k { case "typeProperties": if v != nil { - var drillLinkedServiceTypeProperties DrillLinkedServiceTypeProperties - err = json.Unmarshal(*v, &drillLinkedServiceTypeProperties) + var delimitedTextDatasetTypeProperties DelimitedTextDatasetTypeProperties + err = json.Unmarshal(*v, &delimitedTextDatasetTypeProperties) if err != nil { return err } - dls.DrillLinkedServiceTypeProperties = &drillLinkedServiceTypeProperties + dtd.DelimitedTextDatasetTypeProperties = &delimitedTextDatasetTypeProperties } default: if v != nil { @@ -64838,28 +70851,46 @@ func (dls *DrillLinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - if dls.AdditionalProperties == nil { - dls.AdditionalProperties = make(map[string]interface{}) + if dtd.AdditionalProperties == nil { + dtd.AdditionalProperties = make(map[string]interface{}) } - dls.AdditionalProperties[k] = additionalProperties + dtd.AdditionalProperties[k] = additionalProperties } - case "connectVia": + case "description": if v != nil { - var connectVia IntegrationRuntimeReference - err = json.Unmarshal(*v, &connectVia) + var description string + err = json.Unmarshal(*v, &description) if err != nil { return err } - dls.ConnectVia = &connectVia + dtd.Description = &description } - case "description": + case "structure": if v != nil { - var description string - err = json.Unmarshal(*v, &description) + var structure interface{} + err = json.Unmarshal(*v, &structure) if err != nil { return err } - dls.Description = &description + dtd.Structure = structure + } + case "schema": + if v != nil { + var schema interface{} + err = json.Unmarshal(*v, &schema) + if err != nil { + return err + } + dtd.Schema = schema + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + dtd.LinkedServiceName = &linkedServiceName } case "parameters": if v != nil { @@ -64868,7 +70899,7 @@ func (dls *DrillLinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - dls.Parameters = parameters + dtd.Parameters = parameters } case "annotations": if v != nil { @@ -64877,16 +70908,25 @@ func (dls *DrillLinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - dls.Annotations = &annotations + dtd.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + dtd.Folder = &folder } case "type": if v != nil { - var typeVar TypeBasicLinkedService + var typeVar TypeBasicDataset err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - dls.Type = typeVar + dtd.Type = typeVar } } } @@ -64894,1037 +70934,929 @@ func (dls *DrillLinkedService) UnmarshalJSON(body []byte) error { return nil } -// DrillLinkedServiceTypeProperties drill server linked service properties. -type DrillLinkedServiceTypeProperties struct { - // ConnectionString - An ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference. - ConnectionString interface{} `json:"connectionString,omitempty"` - // Pwd - The Azure key vault secret reference of password in connection string. - Pwd *AzureKeyVaultSecretReference `json:"pwd,omitempty"` - // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). - EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` +// DelimitedTextDatasetTypeProperties delimitedText dataset properties. +type DelimitedTextDatasetTypeProperties struct { + // Location - The location of the delimited text storage. + Location *DatasetLocation `json:"location,omitempty"` + // ColumnDelimiter - The column delimiter. Type: string (or Expression with resultType string). + ColumnDelimiter interface{} `json:"columnDelimiter,omitempty"` + // RowDelimiter - The row delimiter. Type: string (or Expression with resultType string). + RowDelimiter interface{} `json:"rowDelimiter,omitempty"` + // EncodingName - The code page name of the preferred encoding. If miss, the default value is UTF-8, unless BOM denotes another Unicode encoding. Refer to the name column of the table in the following link to set supported values: https://msdn.microsoft.com/library/system.text.encoding.aspx. Type: string (or Expression with resultType string). + EncodingName interface{} `json:"encodingName,omitempty"` + CompressionCodec interface{} `json:"compressionCodec,omitempty"` + // CompressionLevel - The data compression method used for DelimitedText. + CompressionLevel interface{} `json:"compressionLevel,omitempty"` + // QuoteChar - The quote character. Type: string (or Expression with resultType string). + QuoteChar interface{} `json:"quoteChar,omitempty"` + // EscapeChar - The escape character. Type: string (or Expression with resultType string). + EscapeChar interface{} `json:"escapeChar,omitempty"` + // FirstRowAsHeader - When used as input, treat the first row of data as headers. When used as output,write the headers into the output as the first row of data. The default value is false. Type: boolean (or Expression with resultType boolean). + FirstRowAsHeader interface{} `json:"firstRowAsHeader,omitempty"` + // NullValue - The null value string. Type: string (or Expression with resultType string). + NullValue interface{} `json:"nullValue,omitempty"` } -// DrillSource a copy activity Drill server source. -type DrillSource struct { - // Query - A query to retrieve data from source. Type: string (or Expression with resultType string). - Query interface{} `json:"query,omitempty"` +// DelimitedTextReadSettings delimited text read settings. +type DelimitedTextReadSettings struct { + // SkipLineCount - Indicates the number of non-empty rows to skip when reading data from input files. Type: integer (or Expression with resultType integer). + SkipLineCount interface{} `json:"skipLineCount,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` - // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). - SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` - // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). - SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` - // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + // Type - The read setting type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for DelimitedTextReadSettings. +func (dtrs DelimitedTextReadSettings) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if dtrs.SkipLineCount != nil { + objectMap["skipLineCount"] = dtrs.SkipLineCount + } + if dtrs.Type != nil { + objectMap["type"] = dtrs.Type + } + for k, v := range dtrs.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for DelimitedTextReadSettings struct. +func (dtrs *DelimitedTextReadSettings) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "skipLineCount": + if v != nil { + var skipLineCount interface{} + err = json.Unmarshal(*v, &skipLineCount) + if err != nil { + return err + } + dtrs.SkipLineCount = skipLineCount + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if dtrs.AdditionalProperties == nil { + dtrs.AdditionalProperties = make(map[string]interface{}) + } + dtrs.AdditionalProperties[k] = additionalProperties + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + dtrs.Type = &typeVar + } + } + } + + return nil +} + +// DelimitedTextSink a copy activity DelimitedText sink. +type DelimitedTextSink struct { + // StoreSettings - DelimitedText store settings. + StoreSettings BasicStoreWriteSettings `json:"storeSettings,omitempty"` + // FormatSettings - DelimitedText format settings. + FormatSettings *DelimitedTextWriteSettings `json:"formatSettings,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0. + WriteBatchSize interface{} `json:"writeBatchSize,omitempty"` + // WriteBatchTimeout - Write batch timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"` + // SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer). + SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"` + // SinkRetryWait - Sink retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' - Type TypeBasicCopySource `json:"type,omitempty"` + // Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeCosmosDbSQLAPISink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAvroSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzureMySQLSink', 'TypeAzurePostgreSQLSink', 'TypeOrcSink', 'TypeJSONSink', 'TypeDelimitedTextSink' + Type TypeBasicCopySink `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for DrillSource. -func (ds DrillSource) MarshalJSON() ([]byte, error) { - ds.Type = TypeDrillSource +// MarshalJSON is the custom marshaler for DelimitedTextSink. +func (dts DelimitedTextSink) MarshalJSON() ([]byte, error) { + dts.Type = TypeDelimitedTextSink objectMap := make(map[string]interface{}) - if ds.Query != nil { - objectMap["query"] = ds.Query + objectMap["storeSettings"] = dts.StoreSettings + if dts.FormatSettings != nil { + objectMap["formatSettings"] = dts.FormatSettings } - if ds.SourceRetryCount != nil { - objectMap["sourceRetryCount"] = ds.SourceRetryCount + if dts.WriteBatchSize != nil { + objectMap["writeBatchSize"] = dts.WriteBatchSize } - if ds.SourceRetryWait != nil { - objectMap["sourceRetryWait"] = ds.SourceRetryWait + if dts.WriteBatchTimeout != nil { + objectMap["writeBatchTimeout"] = dts.WriteBatchTimeout } - if ds.MaxConcurrentConnections != nil { - objectMap["maxConcurrentConnections"] = ds.MaxConcurrentConnections + if dts.SinkRetryCount != nil { + objectMap["sinkRetryCount"] = dts.SinkRetryCount } - if ds.Type != "" { - objectMap["type"] = ds.Type + if dts.SinkRetryWait != nil { + objectMap["sinkRetryWait"] = dts.SinkRetryWait } - for k, v := range ds.AdditionalProperties { + if dts.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = dts.MaxConcurrentConnections + } + if dts.Type != "" { + objectMap["type"] = dts.Type + } + for k, v := range dts.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsAmazonRedshiftSource is the BasicCopySource implementation for DrillSource. -func (ds DrillSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { +// AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for DelimitedTextSink. +func (dts DelimitedTextSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) { return nil, false } -// AsGoogleAdWordsSource is the BasicCopySource implementation for DrillSource. -func (ds DrillSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { +// AsSalesforceServiceCloudSink is the BasicCopySink implementation for DelimitedTextSink. +func (dts DelimitedTextSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) { return nil, false } -// AsOracleServiceCloudSource is the BasicCopySource implementation for DrillSource. -func (ds DrillSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { +// AsSalesforceSink is the BasicCopySink implementation for DelimitedTextSink. +func (dts DelimitedTextSink) AsSalesforceSink() (*SalesforceSink, bool) { return nil, false } -// AsDynamicsAXSource is the BasicCopySource implementation for DrillSource. -func (ds DrillSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { +// AsAzureDataExplorerSink is the BasicCopySink implementation for DelimitedTextSink. +func (dts DelimitedTextSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) { return nil, false } -// AsResponsysSource is the BasicCopySource implementation for DrillSource. -func (ds DrillSource) AsResponsysSource() (*ResponsysSource, bool) { +// AsCommonDataServiceForAppsSink is the BasicCopySink implementation for DelimitedTextSink. +func (dts DelimitedTextSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) { return nil, false } -// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for DrillSource. -func (ds DrillSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { +// AsDynamicsCrmSink is the BasicCopySink implementation for DelimitedTextSink. +func (dts DelimitedTextSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) { return nil, false } -// AsVerticaSource is the BasicCopySource implementation for DrillSource. -func (ds DrillSource) AsVerticaSource() (*VerticaSource, bool) { +// AsDynamicsSink is the BasicCopySink implementation for DelimitedTextSink. +func (dts DelimitedTextSink) AsDynamicsSink() (*DynamicsSink, bool) { return nil, false } -// AsNetezzaSource is the BasicCopySource implementation for DrillSource. -func (ds DrillSource) AsNetezzaSource() (*NetezzaSource, bool) { +// AsMicrosoftAccessSink is the BasicCopySink implementation for DelimitedTextSink. +func (dts DelimitedTextSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) { return nil, false } -// AsZohoSource is the BasicCopySource implementation for DrillSource. -func (ds DrillSource) AsZohoSource() (*ZohoSource, bool) { +// AsInformixSink is the BasicCopySink implementation for DelimitedTextSink. +func (dts DelimitedTextSink) AsInformixSink() (*InformixSink, bool) { return nil, false } -// AsXeroSource is the BasicCopySource implementation for DrillSource. -func (ds DrillSource) AsXeroSource() (*XeroSource, bool) { +// AsOdbcSink is the BasicCopySink implementation for DelimitedTextSink. +func (dts DelimitedTextSink) AsOdbcSink() (*OdbcSink, bool) { return nil, false } -// AsSquareSource is the BasicCopySource implementation for DrillSource. -func (ds DrillSource) AsSquareSource() (*SquareSource, bool) { +// AsAzureSearchIndexSink is the BasicCopySink implementation for DelimitedTextSink. +func (dts DelimitedTextSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) { return nil, false } -// AsSparkSource is the BasicCopySource implementation for DrillSource. -func (ds DrillSource) AsSparkSource() (*SparkSource, bool) { +// AsAzureBlobFSSink is the BasicCopySink implementation for DelimitedTextSink. +func (dts DelimitedTextSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) { return nil, false } -// AsShopifySource is the BasicCopySource implementation for DrillSource. -func (ds DrillSource) AsShopifySource() (*ShopifySource, bool) { +// AsAzureDataLakeStoreSink is the BasicCopySink implementation for DelimitedTextSink. +func (dts DelimitedTextSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) { return nil, false } -// AsServiceNowSource is the BasicCopySource implementation for DrillSource. -func (ds DrillSource) AsServiceNowSource() (*ServiceNowSource, bool) { +// AsOracleSink is the BasicCopySink implementation for DelimitedTextSink. +func (dts DelimitedTextSink) AsOracleSink() (*OracleSink, bool) { return nil, false } -// AsQuickBooksSource is the BasicCopySource implementation for DrillSource. -func (ds DrillSource) AsQuickBooksSource() (*QuickBooksSource, bool) { +// AsSQLDWSink is the BasicCopySink implementation for DelimitedTextSink. +func (dts DelimitedTextSink) AsSQLDWSink() (*SQLDWSink, bool) { return nil, false } -// AsPrestoSource is the BasicCopySource implementation for DrillSource. -func (ds DrillSource) AsPrestoSource() (*PrestoSource, bool) { +// AsSQLMISink is the BasicCopySink implementation for DelimitedTextSink. +func (dts DelimitedTextSink) AsSQLMISink() (*SQLMISink, bool) { return nil, false } -// AsPhoenixSource is the BasicCopySource implementation for DrillSource. -func (ds DrillSource) AsPhoenixSource() (*PhoenixSource, bool) { +// AsAzureSQLSink is the BasicCopySink implementation for DelimitedTextSink. +func (dts DelimitedTextSink) AsAzureSQLSink() (*AzureSQLSink, bool) { return nil, false } -// AsPaypalSource is the BasicCopySource implementation for DrillSource. -func (ds DrillSource) AsPaypalSource() (*PaypalSource, bool) { +// AsSQLServerSink is the BasicCopySink implementation for DelimitedTextSink. +func (dts DelimitedTextSink) AsSQLServerSink() (*SQLServerSink, bool) { return nil, false } -// AsMarketoSource is the BasicCopySource implementation for DrillSource. -func (ds DrillSource) AsMarketoSource() (*MarketoSource, bool) { +// AsSQLSink is the BasicCopySink implementation for DelimitedTextSink. +func (dts DelimitedTextSink) AsSQLSink() (*SQLSink, bool) { return nil, false } -// AsAzureMariaDBSource is the BasicCopySource implementation for DrillSource. -func (ds DrillSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { +// AsCosmosDbSQLAPISink is the BasicCopySink implementation for DelimitedTextSink. +func (dts DelimitedTextSink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) { return nil, false } -// AsMariaDBSource is the BasicCopySource implementation for DrillSource. -func (ds DrillSource) AsMariaDBSource() (*MariaDBSource, bool) { +// AsDocumentDbCollectionSink is the BasicCopySink implementation for DelimitedTextSink. +func (dts DelimitedTextSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) { return nil, false } -// AsMagentoSource is the BasicCopySource implementation for DrillSource. -func (ds DrillSource) AsMagentoSource() (*MagentoSource, bool) { +// AsFileSystemSink is the BasicCopySink implementation for DelimitedTextSink. +func (dts DelimitedTextSink) AsFileSystemSink() (*FileSystemSink, bool) { return nil, false } -// AsJiraSource is the BasicCopySource implementation for DrillSource. -func (ds DrillSource) AsJiraSource() (*JiraSource, bool) { +// AsBlobSink is the BasicCopySink implementation for DelimitedTextSink. +func (dts DelimitedTextSink) AsBlobSink() (*BlobSink, bool) { return nil, false } -// AsImpalaSource is the BasicCopySource implementation for DrillSource. -func (ds DrillSource) AsImpalaSource() (*ImpalaSource, bool) { +// AsBinarySink is the BasicCopySink implementation for DelimitedTextSink. +func (dts DelimitedTextSink) AsBinarySink() (*BinarySink, bool) { return nil, false } -// AsHubspotSource is the BasicCopySource implementation for DrillSource. -func (ds DrillSource) AsHubspotSource() (*HubspotSource, bool) { +// AsParquetSink is the BasicCopySink implementation for DelimitedTextSink. +func (dts DelimitedTextSink) AsParquetSink() (*ParquetSink, bool) { return nil, false } -// AsHiveSource is the BasicCopySource implementation for DrillSource. -func (ds DrillSource) AsHiveSource() (*HiveSource, bool) { +// AsAvroSink is the BasicCopySink implementation for DelimitedTextSink. +func (dts DelimitedTextSink) AsAvroSink() (*AvroSink, bool) { return nil, false } -// AsHBaseSource is the BasicCopySource implementation for DrillSource. -func (ds DrillSource) AsHBaseSource() (*HBaseSource, bool) { +// AsAzureTableSink is the BasicCopySink implementation for DelimitedTextSink. +func (dts DelimitedTextSink) AsAzureTableSink() (*AzureTableSink, bool) { return nil, false } -// AsGreenplumSource is the BasicCopySource implementation for DrillSource. -func (ds DrillSource) AsGreenplumSource() (*GreenplumSource, bool) { +// AsAzureQueueSink is the BasicCopySink implementation for DelimitedTextSink. +func (dts DelimitedTextSink) AsAzureQueueSink() (*AzureQueueSink, bool) { return nil, false } -// AsGoogleBigQuerySource is the BasicCopySource implementation for DrillSource. -func (ds DrillSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { +// AsSapCloudForCustomerSink is the BasicCopySink implementation for DelimitedTextSink. +func (dts DelimitedTextSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) { return nil, false } -// AsEloquaSource is the BasicCopySource implementation for DrillSource. -func (ds DrillSource) AsEloquaSource() (*EloquaSource, bool) { +// AsAzureMySQLSink is the BasicCopySink implementation for DelimitedTextSink. +func (dts DelimitedTextSink) AsAzureMySQLSink() (*AzureMySQLSink, bool) { return nil, false } -// AsDrillSource is the BasicCopySource implementation for DrillSource. -func (ds DrillSource) AsDrillSource() (*DrillSource, bool) { - return &ds, true +// AsAzurePostgreSQLSink is the BasicCopySink implementation for DelimitedTextSink. +func (dts DelimitedTextSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) { + return nil, false } -// AsCouchbaseSource is the BasicCopySource implementation for DrillSource. -func (ds DrillSource) AsCouchbaseSource() (*CouchbaseSource, bool) { +// AsOrcSink is the BasicCopySink implementation for DelimitedTextSink. +func (dts DelimitedTextSink) AsOrcSink() (*OrcSink, bool) { return nil, false } -// AsConcurSource is the BasicCopySource implementation for DrillSource. -func (ds DrillSource) AsConcurSource() (*ConcurSource, bool) { +// AsJSONSink is the BasicCopySink implementation for DelimitedTextSink. +func (dts DelimitedTextSink) AsJSONSink() (*JSONSink, bool) { return nil, false } -// AsAzurePostgreSQLSource is the BasicCopySource implementation for DrillSource. -func (ds DrillSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { +// AsDelimitedTextSink is the BasicCopySink implementation for DelimitedTextSink. +func (dts DelimitedTextSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) { + return &dts, true +} + +// AsCopySink is the BasicCopySink implementation for DelimitedTextSink. +func (dts DelimitedTextSink) AsCopySink() (*CopySink, bool) { return nil, false } -// AsAmazonMWSSource is the BasicCopySource implementation for DrillSource. -func (ds DrillSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { +// AsBasicCopySink is the BasicCopySink implementation for DelimitedTextSink. +func (dts DelimitedTextSink) AsBasicCopySink() (BasicCopySink, bool) { + return &dts, true +} + +// UnmarshalJSON is the custom unmarshaler for DelimitedTextSink struct. +func (dts *DelimitedTextSink) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "storeSettings": + if v != nil { + storeSettings, err := unmarshalBasicStoreWriteSettings(*v) + if err != nil { + return err + } + dts.StoreSettings = storeSettings + } + case "formatSettings": + if v != nil { + var formatSettings DelimitedTextWriteSettings + err = json.Unmarshal(*v, &formatSettings) + if err != nil { + return err + } + dts.FormatSettings = &formatSettings + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if dts.AdditionalProperties == nil { + dts.AdditionalProperties = make(map[string]interface{}) + } + dts.AdditionalProperties[k] = additionalProperties + } + case "writeBatchSize": + if v != nil { + var writeBatchSize interface{} + err = json.Unmarshal(*v, &writeBatchSize) + if err != nil { + return err + } + dts.WriteBatchSize = writeBatchSize + } + case "writeBatchTimeout": + if v != nil { + var writeBatchTimeout interface{} + err = json.Unmarshal(*v, &writeBatchTimeout) + if err != nil { + return err + } + dts.WriteBatchTimeout = writeBatchTimeout + } + case "sinkRetryCount": + if v != nil { + var sinkRetryCount interface{} + err = json.Unmarshal(*v, &sinkRetryCount) + if err != nil { + return err + } + dts.SinkRetryCount = sinkRetryCount + } + case "sinkRetryWait": + if v != nil { + var sinkRetryWait interface{} + err = json.Unmarshal(*v, &sinkRetryWait) + if err != nil { + return err + } + dts.SinkRetryWait = sinkRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + dts.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySink + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + dts.Type = typeVar + } + } + } + + return nil +} + +// DelimitedTextSource a copy activity DelimitedText source. +type DelimitedTextSource struct { + // StoreSettings - DelimitedText store settings. + StoreSettings *StoreReadSettings `json:"storeSettings,omitempty"` + // FormatSettings - DelimitedText format settings. + FormatSettings *DelimitedTextReadSettings `json:"formatSettings,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' + Type TypeBasicCopySource `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for DelimitedTextSource. +func (dts DelimitedTextSource) MarshalJSON() ([]byte, error) { + dts.Type = TypeDelimitedTextSource + objectMap := make(map[string]interface{}) + if dts.StoreSettings != nil { + objectMap["storeSettings"] = dts.StoreSettings + } + if dts.FormatSettings != nil { + objectMap["formatSettings"] = dts.FormatSettings + } + if dts.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = dts.SourceRetryCount + } + if dts.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = dts.SourceRetryWait + } + if dts.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = dts.MaxConcurrentConnections + } + if dts.Type != "" { + objectMap["type"] = dts.Type + } + for k, v := range dts.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHTTPSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsHTTPSource() (*HTTPSource, bool) { return nil, false } -// AsHTTPSource is the BasicCopySource implementation for DrillSource. -func (ds DrillSource) AsHTTPSource() (*HTTPSource, bool) { +// AsAzureBlobFSSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { return nil, false } -// AsAzureBlobFSSource is the BasicCopySource implementation for DrillSource. -func (ds DrillSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { return nil, false } -// AsAzureDataLakeStoreSource is the BasicCopySource implementation for DrillSource. -func (ds DrillSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { +// AsOffice365Source is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsOffice365Source() (*Office365Source, bool) { return nil, false } -// AsOffice365Source is the BasicCopySource implementation for DrillSource. -func (ds DrillSource) AsOffice365Source() (*Office365Source, bool) { +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { return nil, false } -// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for DrillSource. -func (ds DrillSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { +// AsMongoDbV2Source is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { return nil, false } -// AsMongoDbV2Source is the BasicCopySource implementation for DrillSource. -func (ds DrillSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { +// AsMongoDbSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsMongoDbSource() (*MongoDbSource, bool) { return nil, false } -// AsMongoDbSource is the BasicCopySource implementation for DrillSource. -func (ds DrillSource) AsMongoDbSource() (*MongoDbSource, bool) { +// AsWebSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsWebSource() (*WebSource, bool) { return nil, false } -// AsCassandraSource is the BasicCopySource implementation for DrillSource. -func (ds DrillSource) AsCassandraSource() (*CassandraSource, bool) { +// AsOracleSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsOracleSource() (*OracleSource, bool) { return nil, false } -// AsWebSource is the BasicCopySource implementation for DrillSource. -func (ds DrillSource) AsWebSource() (*WebSource, bool) { +// AsAzureDataExplorerSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { return nil, false } -// AsTeradataSource is the BasicCopySource implementation for DrillSource. -func (ds DrillSource) AsTeradataSource() (*TeradataSource, bool) { +// AsHdfsSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsHdfsSource() (*HdfsSource, bool) { return nil, false } -// AsOracleSource is the BasicCopySource implementation for DrillSource. -func (ds DrillSource) AsOracleSource() (*OracleSource, bool) { +// AsFileSystemSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsFileSystemSource() (*FileSystemSource, bool) { return nil, false } -// AsAzureDataExplorerSource is the BasicCopySource implementation for DrillSource. -func (ds DrillSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { +// AsRestSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsRestSource() (*RestSource, bool) { return nil, false } -// AsAzureMySQLSource is the BasicCopySource implementation for DrillSource. -func (ds DrillSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { return nil, false } -// AsHdfsSource is the BasicCopySource implementation for DrillSource. -func (ds DrillSource) AsHdfsSource() (*HdfsSource, bool) { +// AsODataSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsODataSource() (*ODataSource, bool) { return nil, false } -// AsFileSystemSource is the BasicCopySource implementation for DrillSource. -func (ds DrillSource) AsFileSystemSource() (*FileSystemSource, bool) { +// AsMicrosoftAccessSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { return nil, false } -// AsSQLDWSource is the BasicCopySource implementation for DrillSource. -func (ds DrillSource) AsSQLDWSource() (*SQLDWSource, bool) { +// AsRelationalSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsRelationalSource() (*RelationalSource, bool) { return nil, false } -// AsSQLMISource is the BasicCopySource implementation for DrillSource. -func (ds DrillSource) AsSQLMISource() (*SQLMISource, bool) { +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { return nil, false } -// AsAzureSQLSource is the BasicCopySource implementation for DrillSource. -func (ds DrillSource) AsAzureSQLSource() (*AzureSQLSource, bool) { +// AsDynamicsCrmSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { return nil, false } -// AsSQLServerSource is the BasicCopySource implementation for DrillSource. -func (ds DrillSource) AsSQLServerSource() (*SQLServerSource, bool) { +// AsDynamicsSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsDynamicsSource() (*DynamicsSource, bool) { return nil, false } -// AsSQLSource is the BasicCopySource implementation for DrillSource. -func (ds DrillSource) AsSQLSource() (*SQLSource, bool) { +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { return nil, false } -// AsRestSource is the BasicCopySource implementation for DrillSource. -func (ds DrillSource) AsRestSource() (*RestSource, bool) { +// AsDocumentDbCollectionSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { return nil, false } -// AsSapTableSource is the BasicCopySource implementation for DrillSource. -func (ds DrillSource) AsSapTableSource() (*SapTableSource, bool) { +// AsBlobSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsBlobSource() (*BlobSource, bool) { return nil, false } -// AsSapOpenHubSource is the BasicCopySource implementation for DrillSource. -func (ds DrillSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { +// AsAmazonRedshiftSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { return nil, false } -// AsSapHanaSource is the BasicCopySource implementation for DrillSource. -func (ds DrillSource) AsSapHanaSource() (*SapHanaSource, bool) { +// AsGoogleAdWordsSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { return nil, false } -// AsSapEccSource is the BasicCopySource implementation for DrillSource. -func (ds DrillSource) AsSapEccSource() (*SapEccSource, bool) { +// AsOracleServiceCloudSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { return nil, false } -// AsSapCloudForCustomerSource is the BasicCopySource implementation for DrillSource. -func (ds DrillSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { +// AsDynamicsAXSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { return nil, false } -// AsSalesforceServiceCloudSource is the BasicCopySource implementation for DrillSource. -func (ds DrillSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { +// AsResponsysSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsResponsysSource() (*ResponsysSource, bool) { return nil, false } -// AsSalesforceSource is the BasicCopySource implementation for DrillSource. -func (ds DrillSource) AsSalesforceSource() (*SalesforceSource, bool) { +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { return nil, false } -// AsODataSource is the BasicCopySource implementation for DrillSource. -func (ds DrillSource) AsODataSource() (*ODataSource, bool) { +// AsVerticaSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsVerticaSource() (*VerticaSource, bool) { return nil, false } -// AsSapBwSource is the BasicCopySource implementation for DrillSource. -func (ds DrillSource) AsSapBwSource() (*SapBwSource, bool) { +// AsNetezzaSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsNetezzaSource() (*NetezzaSource, bool) { return nil, false } -// AsSybaseSource is the BasicCopySource implementation for DrillSource. -func (ds DrillSource) AsSybaseSource() (*SybaseSource, bool) { +// AsZohoSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsZohoSource() (*ZohoSource, bool) { return nil, false } -// AsPostgreSQLSource is the BasicCopySource implementation for DrillSource. -func (ds DrillSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { +// AsXeroSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsXeroSource() (*XeroSource, bool) { return nil, false } -// AsMySQLSource is the BasicCopySource implementation for DrillSource. -func (ds DrillSource) AsMySQLSource() (*MySQLSource, bool) { +// AsSquareSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsSquareSource() (*SquareSource, bool) { return nil, false } -// AsOdbcSource is the BasicCopySource implementation for DrillSource. -func (ds DrillSource) AsOdbcSource() (*OdbcSource, bool) { +// AsSparkSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsSparkSource() (*SparkSource, bool) { return nil, false } -// AsDb2Source is the BasicCopySource implementation for DrillSource. -func (ds DrillSource) AsDb2Source() (*Db2Source, bool) { +// AsShopifySource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsShopifySource() (*ShopifySource, bool) { return nil, false } -// AsMicrosoftAccessSource is the BasicCopySource implementation for DrillSource. -func (ds DrillSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { +// AsServiceNowSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsServiceNowSource() (*ServiceNowSource, bool) { return nil, false } -// AsInformixSource is the BasicCopySource implementation for DrillSource. -func (ds DrillSource) AsInformixSource() (*InformixSource, bool) { +// AsQuickBooksSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsQuickBooksSource() (*QuickBooksSource, bool) { return nil, false } -// AsRelationalSource is the BasicCopySource implementation for DrillSource. -func (ds DrillSource) AsRelationalSource() (*RelationalSource, bool) { +// AsPrestoSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsPrestoSource() (*PrestoSource, bool) { return nil, false } -// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for DrillSource. -func (ds DrillSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { +// AsPhoenixSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsPhoenixSource() (*PhoenixSource, bool) { return nil, false } -// AsDynamicsCrmSource is the BasicCopySource implementation for DrillSource. -func (ds DrillSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { +// AsPaypalSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsPaypalSource() (*PaypalSource, bool) { return nil, false } -// AsDynamicsSource is the BasicCopySource implementation for DrillSource. -func (ds DrillSource) AsDynamicsSource() (*DynamicsSource, bool) { +// AsMarketoSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsMarketoSource() (*MarketoSource, bool) { return nil, false } -// AsDocumentDbCollectionSource is the BasicCopySource implementation for DrillSource. -func (ds DrillSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { +// AsAzureMariaDBSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { return nil, false } -// AsBlobSource is the BasicCopySource implementation for DrillSource. -func (ds DrillSource) AsBlobSource() (*BlobSource, bool) { +// AsMariaDBSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsMariaDBSource() (*MariaDBSource, bool) { return nil, false } -// AsAzureTableSource is the BasicCopySource implementation for DrillSource. -func (ds DrillSource) AsAzureTableSource() (*AzureTableSource, bool) { +// AsMagentoSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsMagentoSource() (*MagentoSource, bool) { return nil, false } -// AsBinarySource is the BasicCopySource implementation for DrillSource. -func (ds DrillSource) AsBinarySource() (*BinarySource, bool) { +// AsJiraSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsJiraSource() (*JiraSource, bool) { return nil, false } -// AsDelimitedTextSource is the BasicCopySource implementation for DrillSource. -func (ds DrillSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { +// AsImpalaSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsImpalaSource() (*ImpalaSource, bool) { return nil, false } -// AsParquetSource is the BasicCopySource implementation for DrillSource. -func (ds DrillSource) AsParquetSource() (*ParquetSource, bool) { +// AsHubspotSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsHubspotSource() (*HubspotSource, bool) { return nil, false } -// AsAvroSource is the BasicCopySource implementation for DrillSource. -func (ds DrillSource) AsAvroSource() (*AvroSource, bool) { +// AsHiveSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsHiveSource() (*HiveSource, bool) { return nil, false } -// AsCopySource is the BasicCopySource implementation for DrillSource. -func (ds DrillSource) AsCopySource() (*CopySource, bool) { +// AsHBaseSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsHBaseSource() (*HBaseSource, bool) { return nil, false } -// AsBasicCopySource is the BasicCopySource implementation for DrillSource. -func (ds DrillSource) AsBasicCopySource() (BasicCopySource, bool) { - return &ds, true +// AsGreenplumSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsGreenplumSource() (*GreenplumSource, bool) { + return nil, false } -// UnmarshalJSON is the custom unmarshaler for DrillSource struct. -func (ds *DrillSource) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - case "query": - if v != nil { - var query interface{} - err = json.Unmarshal(*v, &query) - if err != nil { - return err - } - ds.Query = query - } - default: - if v != nil { - var additionalProperties interface{} - err = json.Unmarshal(*v, &additionalProperties) - if err != nil { - return err - } - if ds.AdditionalProperties == nil { - ds.AdditionalProperties = make(map[string]interface{}) - } - ds.AdditionalProperties[k] = additionalProperties - } - case "sourceRetryCount": - if v != nil { - var sourceRetryCount interface{} - err = json.Unmarshal(*v, &sourceRetryCount) - if err != nil { - return err - } - ds.SourceRetryCount = sourceRetryCount - } - case "sourceRetryWait": - if v != nil { - var sourceRetryWait interface{} - err = json.Unmarshal(*v, &sourceRetryWait) - if err != nil { - return err - } - ds.SourceRetryWait = sourceRetryWait - } - case "maxConcurrentConnections": - if v != nil { - var maxConcurrentConnections interface{} - err = json.Unmarshal(*v, &maxConcurrentConnections) - if err != nil { - return err - } - ds.MaxConcurrentConnections = maxConcurrentConnections - } - case "type": - if v != nil { - var typeVar TypeBasicCopySource - err = json.Unmarshal(*v, &typeVar) - if err != nil { - return err - } - ds.Type = typeVar - } - } - } +// AsGoogleBigQuerySource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { + return nil, false +} - return nil +// AsEloquaSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsEloquaSource() (*EloquaSource, bool) { + return nil, false } -// DrillTableDataset drill server dataset. -type DrillTableDataset struct { - // DrillDatasetTypeProperties - Properties specific to this dataset type. - *DrillDatasetTypeProperties `json:"typeProperties,omitempty"` - // AdditionalProperties - Unmatched properties from the message are deserialized this collection - AdditionalProperties map[string]interface{} `json:""` - // Description - Dataset description. - Description *string `json:"description,omitempty"` - // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. - Structure interface{} `json:"structure,omitempty"` - // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. - Schema interface{} `json:"schema,omitempty"` - // LinkedServiceName - Linked service reference. - LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` - // Parameters - Parameters for dataset. - Parameters map[string]*ParameterSpecification `json:"parameters"` - // Annotations - List of tags that can be used for describing the Dataset. - Annotations *[]interface{} `json:"annotations,omitempty"` - // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. - Folder *DatasetFolder `json:"folder,omitempty"` - // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' - Type TypeBasicDataset `json:"type,omitempty"` +// AsDrillSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsDrillSource() (*DrillSource, bool) { + return nil, false } -// MarshalJSON is the custom marshaler for DrillTableDataset. -func (dtd DrillTableDataset) MarshalJSON() ([]byte, error) { - dtd.Type = TypeDrillTable - objectMap := make(map[string]interface{}) - if dtd.DrillDatasetTypeProperties != nil { - objectMap["typeProperties"] = dtd.DrillDatasetTypeProperties - } - if dtd.Description != nil { - objectMap["description"] = dtd.Description - } - if dtd.Structure != nil { - objectMap["structure"] = dtd.Structure - } - if dtd.Schema != nil { - objectMap["schema"] = dtd.Schema - } - if dtd.LinkedServiceName != nil { - objectMap["linkedServiceName"] = dtd.LinkedServiceName - } - if dtd.Parameters != nil { - objectMap["parameters"] = dtd.Parameters - } - if dtd.Annotations != nil { - objectMap["annotations"] = dtd.Annotations - } - if dtd.Folder != nil { - objectMap["folder"] = dtd.Folder - } - if dtd.Type != "" { - objectMap["type"] = dtd.Type - } - for k, v := range dtd.AdditionalProperties { - objectMap[k] = v - } - return json.Marshal(objectMap) -} - -// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for DrillTableDataset. -func (dtd DrillTableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { - return nil, false -} - -// AsAzureDataExplorerTableDataset is the BasicDataset implementation for DrillTableDataset. -func (dtd DrillTableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { - return nil, false -} - -// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for DrillTableDataset. -func (dtd DrillTableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { - return nil, false -} - -// AsDynamicsAXResourceDataset is the BasicDataset implementation for DrillTableDataset. -func (dtd DrillTableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { - return nil, false -} - -// AsResponsysObjectDataset is the BasicDataset implementation for DrillTableDataset. -func (dtd DrillTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { - return nil, false -} - -// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for DrillTableDataset. -func (dtd DrillTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { - return nil, false -} - -// AsVerticaTableDataset is the BasicDataset implementation for DrillTableDataset. -func (dtd DrillTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { - return nil, false -} - -// AsNetezzaTableDataset is the BasicDataset implementation for DrillTableDataset. -func (dtd DrillTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { - return nil, false -} - -// AsZohoObjectDataset is the BasicDataset implementation for DrillTableDataset. -func (dtd DrillTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { - return nil, false -} - -// AsXeroObjectDataset is the BasicDataset implementation for DrillTableDataset. -func (dtd DrillTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { - return nil, false -} - -// AsSquareObjectDataset is the BasicDataset implementation for DrillTableDataset. -func (dtd DrillTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { - return nil, false -} - -// AsSparkObjectDataset is the BasicDataset implementation for DrillTableDataset. -func (dtd DrillTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { - return nil, false -} - -// AsShopifyObjectDataset is the BasicDataset implementation for DrillTableDataset. -func (dtd DrillTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { - return nil, false -} - -// AsServiceNowObjectDataset is the BasicDataset implementation for DrillTableDataset. -func (dtd DrillTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { - return nil, false -} - -// AsQuickBooksObjectDataset is the BasicDataset implementation for DrillTableDataset. -func (dtd DrillTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { - return nil, false -} - -// AsPrestoObjectDataset is the BasicDataset implementation for DrillTableDataset. -func (dtd DrillTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { - return nil, false -} - -// AsPhoenixObjectDataset is the BasicDataset implementation for DrillTableDataset. -func (dtd DrillTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { - return nil, false -} - -// AsPaypalObjectDataset is the BasicDataset implementation for DrillTableDataset. -func (dtd DrillTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { - return nil, false -} - -// AsMarketoObjectDataset is the BasicDataset implementation for DrillTableDataset. -func (dtd DrillTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { - return nil, false -} - -// AsAzureMariaDBTableDataset is the BasicDataset implementation for DrillTableDataset. -func (dtd DrillTableDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { - return nil, false -} - -// AsMariaDBTableDataset is the BasicDataset implementation for DrillTableDataset. -func (dtd DrillTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { - return nil, false -} - -// AsMagentoObjectDataset is the BasicDataset implementation for DrillTableDataset. -func (dtd DrillTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { - return nil, false -} - -// AsJiraObjectDataset is the BasicDataset implementation for DrillTableDataset. -func (dtd DrillTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { - return nil, false -} - -// AsImpalaObjectDataset is the BasicDataset implementation for DrillTableDataset. -func (dtd DrillTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { - return nil, false -} - -// AsHubspotObjectDataset is the BasicDataset implementation for DrillTableDataset. -func (dtd DrillTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { - return nil, false -} - -// AsHiveObjectDataset is the BasicDataset implementation for DrillTableDataset. -func (dtd DrillTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { - return nil, false -} - -// AsHBaseObjectDataset is the BasicDataset implementation for DrillTableDataset. -func (dtd DrillTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { - return nil, false -} - -// AsGreenplumTableDataset is the BasicDataset implementation for DrillTableDataset. -func (dtd DrillTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { - return nil, false -} - -// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for DrillTableDataset. -func (dtd DrillTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { - return nil, false -} - -// AsEloquaObjectDataset is the BasicDataset implementation for DrillTableDataset. -func (dtd DrillTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { - return nil, false -} - -// AsDrillTableDataset is the BasicDataset implementation for DrillTableDataset. -func (dtd DrillTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { - return &dtd, true -} - -// AsCouchbaseTableDataset is the BasicDataset implementation for DrillTableDataset. -func (dtd DrillTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { - return nil, false -} - -// AsConcurObjectDataset is the BasicDataset implementation for DrillTableDataset. -func (dtd DrillTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { - return nil, false -} - -// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for DrillTableDataset. -func (dtd DrillTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { - return nil, false -} - -// AsAmazonMWSObjectDataset is the BasicDataset implementation for DrillTableDataset. -func (dtd DrillTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { - return nil, false -} - -// AsHTTPDataset is the BasicDataset implementation for DrillTableDataset. -func (dtd DrillTableDataset) AsHTTPDataset() (*HTTPDataset, bool) { - return nil, false -} - -// AsAzureSearchIndexDataset is the BasicDataset implementation for DrillTableDataset. -func (dtd DrillTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { - return nil, false -} - -// AsWebTableDataset is the BasicDataset implementation for DrillTableDataset. -func (dtd DrillTableDataset) AsWebTableDataset() (*WebTableDataset, bool) { - return nil, false -} - -// AsSapTableResourceDataset is the BasicDataset implementation for DrillTableDataset. -func (dtd DrillTableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { - return nil, false -} - -// AsRestResourceDataset is the BasicDataset implementation for DrillTableDataset. -func (dtd DrillTableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { - return nil, false -} - -// AsSQLServerTableDataset is the BasicDataset implementation for DrillTableDataset. -func (dtd DrillTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { - return nil, false -} - -// AsSapOpenHubTableDataset is the BasicDataset implementation for DrillTableDataset. -func (dtd DrillTableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { - return nil, false -} - -// AsSapHanaTableDataset is the BasicDataset implementation for DrillTableDataset. -func (dtd DrillTableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { - return nil, false -} - -// AsSapEccResourceDataset is the BasicDataset implementation for DrillTableDataset. -func (dtd DrillTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { - return nil, false -} - -// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for DrillTableDataset. -func (dtd DrillTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { - return nil, false -} - -// AsSapBwCubeDataset is the BasicDataset implementation for DrillTableDataset. -func (dtd DrillTableDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { - return nil, false -} - -// AsSybaseTableDataset is the BasicDataset implementation for DrillTableDataset. -func (dtd DrillTableDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { - return nil, false -} - -// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for DrillTableDataset. -func (dtd DrillTableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { - return nil, false -} - -// AsSalesforceObjectDataset is the BasicDataset implementation for DrillTableDataset. -func (dtd DrillTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { +// AsCouchbaseSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsCouchbaseSource() (*CouchbaseSource, bool) { return nil, false } -// AsMicrosoftAccessTableDataset is the BasicDataset implementation for DrillTableDataset. -func (dtd DrillTableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { +// AsConcurSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsConcurSource() (*ConcurSource, bool) { return nil, false } -// AsPostgreSQLTableDataset is the BasicDataset implementation for DrillTableDataset. -func (dtd DrillTableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { +// AsAzurePostgreSQLSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { return nil, false } -// AsMySQLTableDataset is the BasicDataset implementation for DrillTableDataset. -func (dtd DrillTableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { +// AsAmazonMWSSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { return nil, false } -// AsOdbcTableDataset is the BasicDataset implementation for DrillTableDataset. -func (dtd DrillTableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { +// AsCassandraSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsCassandraSource() (*CassandraSource, bool) { return nil, false } -// AsInformixTableDataset is the BasicDataset implementation for DrillTableDataset. -func (dtd DrillTableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { +// AsTeradataSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsTeradataSource() (*TeradataSource, bool) { return nil, false } -// AsRelationalTableDataset is the BasicDataset implementation for DrillTableDataset. -func (dtd DrillTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { +// AsAzureMySQLSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { return nil, false } -// AsAzureMySQLTableDataset is the BasicDataset implementation for DrillTableDataset. -func (dtd DrillTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { +// AsSQLDWSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsSQLDWSource() (*SQLDWSource, bool) { return nil, false } -// AsTeradataTableDataset is the BasicDataset implementation for DrillTableDataset. -func (dtd DrillTableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { +// AsSQLMISource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsSQLMISource() (*SQLMISource, bool) { return nil, false } -// AsOracleTableDataset is the BasicDataset implementation for DrillTableDataset. -func (dtd DrillTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { +// AsAzureSQLSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsAzureSQLSource() (*AzureSQLSource, bool) { return nil, false } -// AsODataResourceDataset is the BasicDataset implementation for DrillTableDataset. -func (dtd DrillTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { +// AsSQLServerSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsSQLServerSource() (*SQLServerSource, bool) { return nil, false } -// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for DrillTableDataset. -func (dtd DrillTableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { +// AsSQLSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsSQLSource() (*SQLSource, bool) { return nil, false } -// AsMongoDbV2CollectionDataset is the BasicDataset implementation for DrillTableDataset. -func (dtd DrillTableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { +// AsSapTableSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsSapTableSource() (*SapTableSource, bool) { return nil, false } -// AsMongoDbCollectionDataset is the BasicDataset implementation for DrillTableDataset. -func (dtd DrillTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { +// AsSapOpenHubSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { return nil, false } -// AsFileShareDataset is the BasicDataset implementation for DrillTableDataset. -func (dtd DrillTableDataset) AsFileShareDataset() (*FileShareDataset, bool) { +// AsSapHanaSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsSapHanaSource() (*SapHanaSource, bool) { return nil, false } -// AsOffice365Dataset is the BasicDataset implementation for DrillTableDataset. -func (dtd DrillTableDataset) AsOffice365Dataset() (*Office365Dataset, bool) { +// AsSapEccSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsSapEccSource() (*SapEccSource, bool) { return nil, false } -// AsAzureBlobFSDataset is the BasicDataset implementation for DrillTableDataset. -func (dtd DrillTableDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) { +// AsSapCloudForCustomerSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { return nil, false } -// AsAzureDataLakeStoreDataset is the BasicDataset implementation for DrillTableDataset. -func (dtd DrillTableDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) { +// AsSalesforceSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsSalesforceSource() (*SalesforceSource, bool) { return nil, false } -// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for DrillTableDataset. -func (dtd DrillTableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { +// AsSapBwSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsSapBwSource() (*SapBwSource, bool) { return nil, false } -// AsDynamicsCrmEntityDataset is the BasicDataset implementation for DrillTableDataset. -func (dtd DrillTableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { +// AsSybaseSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsSybaseSource() (*SybaseSource, bool) { return nil, false } -// AsDynamicsEntityDataset is the BasicDataset implementation for DrillTableDataset. -func (dtd DrillTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { +// AsPostgreSQLSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { return nil, false } -// AsDocumentDbCollectionDataset is the BasicDataset implementation for DrillTableDataset. -func (dtd DrillTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { +// AsMySQLSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsMySQLSource() (*MySQLSource, bool) { return nil, false } -// AsCustomDataset is the BasicDataset implementation for DrillTableDataset. -func (dtd DrillTableDataset) AsCustomDataset() (*CustomDataset, bool) { +// AsOdbcSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsOdbcSource() (*OdbcSource, bool) { return nil, false } -// AsCassandraTableDataset is the BasicDataset implementation for DrillTableDataset. -func (dtd DrillTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { +// AsDb2Source is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsDb2Source() (*Db2Source, bool) { return nil, false } -// AsAzureSQLDWTableDataset is the BasicDataset implementation for DrillTableDataset. -func (dtd DrillTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { +// AsInformixSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsInformixSource() (*InformixSource, bool) { return nil, false } -// AsAzureSQLMITableDataset is the BasicDataset implementation for DrillTableDataset. -func (dtd DrillTableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { +// AsAzureTableSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsAzureTableSource() (*AzureTableSource, bool) { return nil, false } -// AsAzureSQLTableDataset is the BasicDataset implementation for DrillTableDataset. -func (dtd DrillTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { +// AsTabularSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsTabularSource() (*TabularSource, bool) { return nil, false } -// AsAzureTableDataset is the BasicDataset implementation for DrillTableDataset. -func (dtd DrillTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { +// AsBasicTabularSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsBasicTabularSource() (BasicTabularSource, bool) { return nil, false } -// AsAzureBlobDataset is the BasicDataset implementation for DrillTableDataset. -func (dtd DrillTableDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) { +// AsBinarySource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsBinarySource() (*BinarySource, bool) { return nil, false } -// AsBinaryDataset is the BasicDataset implementation for DrillTableDataset. -func (dtd DrillTableDataset) AsBinaryDataset() (*BinaryDataset, bool) { +// AsOrcSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsOrcSource() (*OrcSource, bool) { return nil, false } -// AsDelimitedTextDataset is the BasicDataset implementation for DrillTableDataset. -func (dtd DrillTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { +// AsJSONSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsJSONSource() (*JSONSource, bool) { return nil, false } -// AsParquetDataset is the BasicDataset implementation for DrillTableDataset. -func (dtd DrillTableDataset) AsParquetDataset() (*ParquetDataset, bool) { - return nil, false +// AsDelimitedTextSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return &dts, true } -// AsAvroDataset is the BasicDataset implementation for DrillTableDataset. -func (dtd DrillTableDataset) AsAvroDataset() (*AvroDataset, bool) { +// AsParquetSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsParquetSource() (*ParquetSource, bool) { return nil, false } -// AsAmazonS3Dataset is the BasicDataset implementation for DrillTableDataset. -func (dtd DrillTableDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) { +// AsAvroSource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsAvroSource() (*AvroSource, bool) { return nil, false } -// AsDataset is the BasicDataset implementation for DrillTableDataset. -func (dtd DrillTableDataset) AsDataset() (*Dataset, bool) { +// AsCopySource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsCopySource() (*CopySource, bool) { return nil, false } -// AsBasicDataset is the BasicDataset implementation for DrillTableDataset. -func (dtd DrillTableDataset) AsBasicDataset() (BasicDataset, bool) { - return &dtd, true +// AsBasicCopySource is the BasicCopySource implementation for DelimitedTextSource. +func (dts DelimitedTextSource) AsBasicCopySource() (BasicCopySource, bool) { + return &dts, true } -// UnmarshalJSON is the custom unmarshaler for DrillTableDataset struct. -func (dtd *DrillTableDataset) UnmarshalJSON(body []byte) error { +// UnmarshalJSON is the custom unmarshaler for DelimitedTextSource struct. +func (dts *DelimitedTextSource) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -65932,14 +71864,23 @@ func (dtd *DrillTableDataset) UnmarshalJSON(body []byte) error { } for k, v := range m { switch k { - case "typeProperties": + case "storeSettings": if v != nil { - var drillDatasetTypeProperties DrillDatasetTypeProperties - err = json.Unmarshal(*v, &drillDatasetTypeProperties) + var storeSettings StoreReadSettings + err = json.Unmarshal(*v, &storeSettings) if err != nil { return err } - dtd.DrillDatasetTypeProperties = &drillDatasetTypeProperties + dts.StoreSettings = &storeSettings + } + case "formatSettings": + if v != nil { + var formatSettings DelimitedTextReadSettings + err = json.Unmarshal(*v, &formatSettings) + if err != nil { + return err + } + dts.FormatSettings = &formatSettings } default: if v != nil { @@ -65948,82 +71889,130 @@ func (dtd *DrillTableDataset) UnmarshalJSON(body []byte) error { if err != nil { return err } - if dtd.AdditionalProperties == nil { - dtd.AdditionalProperties = make(map[string]interface{}) + if dts.AdditionalProperties == nil { + dts.AdditionalProperties = make(map[string]interface{}) } - dtd.AdditionalProperties[k] = additionalProperties + dts.AdditionalProperties[k] = additionalProperties } - case "description": + case "sourceRetryCount": if v != nil { - var description string - err = json.Unmarshal(*v, &description) + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) if err != nil { return err } - dtd.Description = &description + dts.SourceRetryCount = sourceRetryCount } - case "structure": + case "sourceRetryWait": if v != nil { - var structure interface{} - err = json.Unmarshal(*v, &structure) + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) if err != nil { return err } - dtd.Structure = structure + dts.SourceRetryWait = sourceRetryWait } - case "schema": + case "maxConcurrentConnections": if v != nil { - var schema interface{} - err = json.Unmarshal(*v, &schema) + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) if err != nil { return err } - dtd.Schema = schema + dts.MaxConcurrentConnections = maxConcurrentConnections } - case "linkedServiceName": + case "type": if v != nil { - var linkedServiceName LinkedServiceReference - err = json.Unmarshal(*v, &linkedServiceName) + var typeVar TypeBasicCopySource + err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - dtd.LinkedServiceName = &linkedServiceName + dts.Type = typeVar } - case "parameters": + } + } + + return nil +} + +// DelimitedTextWriteSettings delimited text write settings. +type DelimitedTextWriteSettings struct { + // QuoteAllText - Indicates whether string values should always be enclosed with quotes. Type: boolean (or Expression with resultType boolean). + QuoteAllText interface{} `json:"quoteAllText,omitempty"` + // FileExtension - The file extension used to create the files. Type: string (or Expression with resultType string). + FileExtension interface{} `json:"fileExtension,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Type - The write setting type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for DelimitedTextWriteSettings. +func (dtws DelimitedTextWriteSettings) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if dtws.QuoteAllText != nil { + objectMap["quoteAllText"] = dtws.QuoteAllText + } + if dtws.FileExtension != nil { + objectMap["fileExtension"] = dtws.FileExtension + } + if dtws.Type != nil { + objectMap["type"] = dtws.Type + } + for k, v := range dtws.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for DelimitedTextWriteSettings struct. +func (dtws *DelimitedTextWriteSettings) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "quoteAllText": if v != nil { - var parameters map[string]*ParameterSpecification - err = json.Unmarshal(*v, ¶meters) + var quoteAllText interface{} + err = json.Unmarshal(*v, "eAllText) if err != nil { return err } - dtd.Parameters = parameters + dtws.QuoteAllText = quoteAllText } - case "annotations": + case "fileExtension": if v != nil { - var annotations []interface{} - err = json.Unmarshal(*v, &annotations) + var fileExtension interface{} + err = json.Unmarshal(*v, &fileExtension) if err != nil { return err } - dtd.Annotations = &annotations + dtws.FileExtension = fileExtension } - case "folder": + default: if v != nil { - var folder DatasetFolder - err = json.Unmarshal(*v, &folder) + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) if err != nil { return err } - dtd.Folder = &folder + if dtws.AdditionalProperties == nil { + dtws.AdditionalProperties = make(map[string]interface{}) + } + dtws.AdditionalProperties[k] = additionalProperties } case "type": if v != nil { - var typeVar TypeBasicDataset + var typeVar string err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - dtd.Type = typeVar + dtws.Type = &typeVar } } } @@ -66031,519 +72020,624 @@ func (dtd *DrillTableDataset) UnmarshalJSON(body []byte) error { return nil } -// DynamicsAXLinkedService dynamics AX linked service. -type DynamicsAXLinkedService struct { - // DynamicsAXLinkedServiceTypeProperties - Dynamics AX linked service properties. - *DynamicsAXLinkedServiceTypeProperties `json:"typeProperties,omitempty"` - // AdditionalProperties - Unmatched properties from the message are deserialized this collection - AdditionalProperties map[string]interface{} `json:""` - // ConnectVia - The integration runtime reference. - ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` - // Description - Linked service description. - Description *string `json:"description,omitempty"` - // Parameters - Parameters for linked service. - Parameters map[string]*ParameterSpecification `json:"parameters"` - // Annotations - List of tags that can be used for describing the linked service. - Annotations *[]interface{} `json:"annotations,omitempty"` - // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' - Type TypeBasicLinkedService `json:"type,omitempty"` +// BasicDependencyReference referenced dependency. +type BasicDependencyReference interface { + AsSelfDependencyTumblingWindowTriggerReference() (*SelfDependencyTumblingWindowTriggerReference, bool) + AsTumblingWindowTriggerDependencyReference() (*TumblingWindowTriggerDependencyReference, bool) + AsTriggerDependencyReference() (*TriggerDependencyReference, bool) + AsBasicTriggerDependencyReference() (BasicTriggerDependencyReference, bool) + AsDependencyReference() (*DependencyReference, bool) } -// MarshalJSON is the custom marshaler for DynamicsAXLinkedService. -func (dals DynamicsAXLinkedService) MarshalJSON() ([]byte, error) { - dals.Type = TypeDynamicsAX - objectMap := make(map[string]interface{}) - if dals.DynamicsAXLinkedServiceTypeProperties != nil { - objectMap["typeProperties"] = dals.DynamicsAXLinkedServiceTypeProperties - } - if dals.ConnectVia != nil { - objectMap["connectVia"] = dals.ConnectVia - } - if dals.Description != nil { - objectMap["description"] = dals.Description +// DependencyReference referenced dependency. +type DependencyReference struct { + // Type - Possible values include: 'TypeDependencyReference', 'TypeSelfDependencyTumblingWindowTriggerReference', 'TypeTumblingWindowTriggerDependencyReference', 'TypeTriggerDependencyReference' + Type TypeBasicDependencyReference `json:"type,omitempty"` +} + +func unmarshalBasicDependencyReference(body []byte) (BasicDependencyReference, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err } - if dals.Parameters != nil { - objectMap["parameters"] = dals.Parameters + + switch m["type"] { + case string(TypeSelfDependencyTumblingWindowTriggerReference): + var sdtwtr SelfDependencyTumblingWindowTriggerReference + err := json.Unmarshal(body, &sdtwtr) + return sdtwtr, err + case string(TypeTumblingWindowTriggerDependencyReference): + var twtdr TumblingWindowTriggerDependencyReference + err := json.Unmarshal(body, &twtdr) + return twtdr, err + case string(TypeTriggerDependencyReference): + var tdr TriggerDependencyReference + err := json.Unmarshal(body, &tdr) + return tdr, err + default: + var dr DependencyReference + err := json.Unmarshal(body, &dr) + return dr, err } - if dals.Annotations != nil { - objectMap["annotations"] = dals.Annotations +} +func unmarshalBasicDependencyReferenceArray(body []byte) ([]BasicDependencyReference, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err } - if dals.Type != "" { - objectMap["type"] = dals.Type + + drArray := make([]BasicDependencyReference, len(rawMessages)) + + for index, rawMessage := range rawMessages { + dr, err := unmarshalBasicDependencyReference(*rawMessage) + if err != nil { + return nil, err + } + drArray[index] = dr } - for k, v := range dals.AdditionalProperties { - objectMap[k] = v + return drArray, nil +} + +// MarshalJSON is the custom marshaler for DependencyReference. +func (dr DependencyReference) MarshalJSON() ([]byte, error) { + dr.Type = TypeDependencyReference + objectMap := make(map[string]interface{}) + if dr.Type != "" { + objectMap["type"] = dr.Type } return json.Marshal(objectMap) } -// AsAzureFunctionLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. -func (dals DynamicsAXLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { +// AsSelfDependencyTumblingWindowTriggerReference is the BasicDependencyReference implementation for DependencyReference. +func (dr DependencyReference) AsSelfDependencyTumblingWindowTriggerReference() (*SelfDependencyTumblingWindowTriggerReference, bool) { return nil, false } -// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. -func (dals DynamicsAXLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { +// AsTumblingWindowTriggerDependencyReference is the BasicDependencyReference implementation for DependencyReference. +func (dr DependencyReference) AsTumblingWindowTriggerDependencyReference() (*TumblingWindowTriggerDependencyReference, bool) { return nil, false } -// AsSapTableLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. -func (dals DynamicsAXLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { +// AsTriggerDependencyReference is the BasicDependencyReference implementation for DependencyReference. +func (dr DependencyReference) AsTriggerDependencyReference() (*TriggerDependencyReference, bool) { return nil, false } -// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. -func (dals DynamicsAXLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { +// AsBasicTriggerDependencyReference is the BasicDependencyReference implementation for DependencyReference. +func (dr DependencyReference) AsBasicTriggerDependencyReference() (BasicTriggerDependencyReference, bool) { return nil, false } -// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. -func (dals DynamicsAXLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { - return nil, false +// AsDependencyReference is the BasicDependencyReference implementation for DependencyReference. +func (dr DependencyReference) AsDependencyReference() (*DependencyReference, bool) { + return &dr, true } -// AsDynamicsAXLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. -func (dals DynamicsAXLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { - return &dals, true +// AsBasicDependencyReference is the BasicDependencyReference implementation for DependencyReference. +func (dr DependencyReference) AsBasicDependencyReference() (BasicDependencyReference, bool) { + return &dr, true } -// AsResponsysLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. -func (dals DynamicsAXLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { - return nil, false +// DistcpSettings distcp settings. +type DistcpSettings struct { + // ResourceManagerEndpoint - Specifies the Yarn ResourceManager endpoint. Type: string (or Expression with resultType string). + ResourceManagerEndpoint interface{} `json:"resourceManagerEndpoint,omitempty"` + // TempScriptPath - Specifies an existing folder path which will be used to store temp Distcp command script. The script file is generated by ADF and will be removed after Copy job finished. Type: string (or Expression with resultType string). + TempScriptPath interface{} `json:"tempScriptPath,omitempty"` + // DistcpOptions - Specifies the Distcp options. Type: string (or Expression with resultType string). + DistcpOptions interface{} `json:"distcpOptions,omitempty"` } -// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. -func (dals DynamicsAXLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { - return nil, false +// DocumentDbCollectionDataset microsoft Azure Document Database Collection dataset. +type DocumentDbCollectionDataset struct { + // DocumentDbCollectionDatasetTypeProperties - DocumentDB Collection dataset properties. + *DocumentDbCollectionDatasetTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - Dataset description. + Description *string `json:"description,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' + Type TypeBasicDataset `json:"type,omitempty"` } -// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. -func (dals DynamicsAXLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { - return nil, false +// MarshalJSON is the custom marshaler for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) MarshalJSON() ([]byte, error) { + ddcd.Type = TypeDocumentDbCollection + objectMap := make(map[string]interface{}) + if ddcd.DocumentDbCollectionDatasetTypeProperties != nil { + objectMap["typeProperties"] = ddcd.DocumentDbCollectionDatasetTypeProperties + } + if ddcd.Description != nil { + objectMap["description"] = ddcd.Description + } + if ddcd.Structure != nil { + objectMap["structure"] = ddcd.Structure + } + if ddcd.Schema != nil { + objectMap["schema"] = ddcd.Schema + } + if ddcd.LinkedServiceName != nil { + objectMap["linkedServiceName"] = ddcd.LinkedServiceName + } + if ddcd.Parameters != nil { + objectMap["parameters"] = ddcd.Parameters + } + if ddcd.Annotations != nil { + objectMap["annotations"] = ddcd.Annotations + } + if ddcd.Folder != nil { + objectMap["folder"] = ddcd.Folder + } + if ddcd.Type != "" { + objectMap["type"] = ddcd.Type + } + for k, v := range ddcd.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) } -// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. -func (dals DynamicsAXLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { return nil, false } -// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. -func (dals DynamicsAXLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { return nil, false } -// AsNetezzaLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. -func (dals DynamicsAXLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { return nil, false } -// AsVerticaLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. -func (dals DynamicsAXLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { +// AsDynamicsAXResourceDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { return nil, false } -// AsZohoLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. -func (dals DynamicsAXLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { +// AsResponsysObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { return nil, false } -// AsXeroLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. -func (dals DynamicsAXLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { return nil, false } -// AsSquareLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. -func (dals DynamicsAXLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { +// AsVerticaTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { return nil, false } -// AsSparkLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. -func (dals DynamicsAXLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { +// AsNetezzaTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { return nil, false } -// AsShopifyLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. -func (dals DynamicsAXLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { +// AsZohoObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { return nil, false } -// AsServiceNowLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. -func (dals DynamicsAXLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { +// AsXeroObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { return nil, false } -// AsQuickBooksLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. -func (dals DynamicsAXLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { +// AsSquareObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { return nil, false } -// AsPrestoLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. -func (dals DynamicsAXLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { +// AsSparkObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { return nil, false } -// AsPhoenixLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. -func (dals DynamicsAXLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { +// AsShopifyObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { return nil, false } -// AsPaypalLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. -func (dals DynamicsAXLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { +// AsServiceNowObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { return nil, false } -// AsMarketoLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. -func (dals DynamicsAXLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { +// AsQuickBooksObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { return nil, false } -// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. -func (dals DynamicsAXLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { +// AsPrestoObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { return nil, false } -// AsMariaDBLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. -func (dals DynamicsAXLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { +// AsPhoenixObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { return nil, false } -// AsMagentoLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. -func (dals DynamicsAXLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { +// AsPaypalObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { return nil, false } -// AsJiraLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. -func (dals DynamicsAXLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { +// AsMarketoObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { return nil, false } -// AsImpalaLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. -func (dals DynamicsAXLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { +// AsAzureMariaDBTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { return nil, false } -// AsHubspotLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. -func (dals DynamicsAXLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { +// AsMariaDBTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { return nil, false } -// AsHiveLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. -func (dals DynamicsAXLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { +// AsMagentoObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { return nil, false } -// AsHBaseLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. -func (dals DynamicsAXLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { +// AsJiraObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { return nil, false } -// AsGreenplumLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. -func (dals DynamicsAXLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { +// AsImpalaObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { return nil, false } -// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. -func (dals DynamicsAXLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { +// AsHubspotObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { return nil, false } -// AsEloquaLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. -func (dals DynamicsAXLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { +// AsHiveObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { return nil, false } -// AsDrillLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. -func (dals DynamicsAXLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { +// AsHBaseObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { return nil, false } -// AsCouchbaseLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. -func (dals DynamicsAXLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { +// AsGreenplumTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { return nil, false } -// AsConcurLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. -func (dals DynamicsAXLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { return nil, false } -// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. -func (dals DynamicsAXLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { +// AsEloquaObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { return nil, false } -// AsAmazonMWSLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. -func (dals DynamicsAXLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { +// AsDrillTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { return nil, false } -// AsSapHanaLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. -func (dals DynamicsAXLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { +// AsCouchbaseTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { return nil, false } -// AsSapBWLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. -func (dals DynamicsAXLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { +// AsConcurObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { return nil, false } -// AsSftpServerLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. -func (dals DynamicsAXLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { return nil, false } -// AsFtpServerLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. -func (dals DynamicsAXLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { +// AsAmazonMWSObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { return nil, false } -// AsHTTPLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. -func (dals DynamicsAXLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { +// AsHTTPDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsHTTPDataset() (*HTTPDataset, bool) { return nil, false } -// AsAzureSearchLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. -func (dals DynamicsAXLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { +// AsAzureSearchIndexDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { return nil, false } -// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. -func (dals DynamicsAXLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { +// AsWebTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsWebTableDataset() (*WebTableDataset, bool) { return nil, false } -// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. -func (dals DynamicsAXLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { +// AsSapTableResourceDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { return nil, false } -// AsAmazonS3LinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. -func (dals DynamicsAXLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { +// AsRestResourceDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { return nil, false } -// AsRestServiceLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. -func (dals DynamicsAXLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { +// AsSQLServerTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { return nil, false } -// AsSapOpenHubLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. -func (dals DynamicsAXLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { +// AsSapOpenHubTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { return nil, false } -// AsSapEccLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. -func (dals DynamicsAXLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { +// AsSapHanaTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { return nil, false } -// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. -func (dals DynamicsAXLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { +// AsSapEccResourceDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { return nil, false } -// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. -func (dals DynamicsAXLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { return nil, false } -// AsSalesforceLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. -func (dals DynamicsAXLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { +// AsSapBwCubeDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { return nil, false } -// AsOffice365LinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. -func (dals DynamicsAXLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { +// AsSybaseTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { return nil, false } -// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. -func (dals DynamicsAXLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { return nil, false } -// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. -func (dals DynamicsAXLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { +// AsSalesforceObjectDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { return nil, false } -// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. -func (dals DynamicsAXLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { return nil, false } -// AsMongoDbV2LinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. -func (dals DynamicsAXLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { +// AsPostgreSQLTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { return nil, false } -// AsMongoDbLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. -func (dals DynamicsAXLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { +// AsMySQLTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { return nil, false } -// AsCassandraLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. -func (dals DynamicsAXLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { +// AsOdbcTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { return nil, false } -// AsWebLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. -func (dals DynamicsAXLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { +// AsInformixTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { return nil, false } -// AsODataLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. -func (dals DynamicsAXLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { +// AsRelationalTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { return nil, false } -// AsHdfsLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. -func (dals DynamicsAXLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { +// AsDb2TableDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { return nil, false } -// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. -func (dals DynamicsAXLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { return nil, false } -// AsInformixLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. -func (dals DynamicsAXLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { +// AsAzureMySQLTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { return nil, false } -// AsOdbcLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. -func (dals DynamicsAXLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { +// AsTeradataTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { return nil, false } -// AsAzureMLLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. -func (dals DynamicsAXLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { +// AsOracleTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { return nil, false } -// AsTeradataLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. -func (dals DynamicsAXLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { +// AsODataResourceDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { return nil, false } -// AsDb2LinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. -func (dals DynamicsAXLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { return nil, false } -// AsSybaseLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. -func (dals DynamicsAXLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { return nil, false } -// AsPostgreSQLLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. -func (dals DynamicsAXLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { +// AsMongoDbCollectionDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { return nil, false } -// AsMySQLLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. -func (dals DynamicsAXLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { +// AsFileShareDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsFileShareDataset() (*FileShareDataset, bool) { return nil, false } -// AsAzureMySQLLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. -func (dals DynamicsAXLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { +// AsOffice365Dataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsOffice365Dataset() (*Office365Dataset, bool) { return nil, false } -// AsOracleLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. -func (dals DynamicsAXLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { +// AsAzureBlobFSDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) { return nil, false } -// AsFileServerLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. -func (dals DynamicsAXLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { +// AsAzureDataLakeStoreDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) { return nil, false } -// AsHDInsightLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. -func (dals DynamicsAXLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { return nil, false } -// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. -func (dals DynamicsAXLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { return nil, false } -// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. -func (dals DynamicsAXLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { +// AsDynamicsEntityDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { return nil, false } -// AsDynamicsLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. -func (dals DynamicsAXLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { - return nil, false +// AsDocumentDbCollectionDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { + return &ddcd, true } -// AsCosmosDbLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. -func (dals DynamicsAXLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { return nil, false } -// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. -func (dals DynamicsAXLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { +// AsCustomDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsCustomDataset() (*CustomDataset, bool) { return nil, false } -// AsAzureBatchLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. -func (dals DynamicsAXLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { +// AsCassandraTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { return nil, false } -// AsAzureSQLMILinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. -func (dals DynamicsAXLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { +// AsAzureSQLDWTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { return nil, false } -// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. -func (dals DynamicsAXLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { +// AsAzureSQLMITableDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { return nil, false } -// AsSQLServerLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. -func (dals DynamicsAXLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { +// AsAzureSQLTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { return nil, false } -// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. -func (dals DynamicsAXLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { +// AsAzureTableDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { return nil, false } -// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. -func (dals DynamicsAXLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { +// AsAzureBlobDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) { return nil, false } -// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. -func (dals DynamicsAXLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { +// AsBinaryDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsBinaryDataset() (*BinaryDataset, bool) { return nil, false } -// AsAzureStorageLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. -func (dals DynamicsAXLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { +// AsOrcDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsOrcDataset() (*OrcDataset, bool) { return nil, false } -// AsLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. -func (dals DynamicsAXLinkedService) AsLinkedService() (*LinkedService, bool) { +// AsJSONDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsJSONDataset() (*JSONDataset, bool) { return nil, false } -// AsBasicLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. -func (dals DynamicsAXLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { - return &dals, true +// AsDelimitedTextDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { + return nil, false } -// UnmarshalJSON is the custom unmarshaler for DynamicsAXLinkedService struct. -func (dals *DynamicsAXLinkedService) UnmarshalJSON(body []byte) error { +// AsParquetDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsParquetDataset() (*ParquetDataset, bool) { + return nil, false +} + +// AsAvroDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsAvroDataset() (*AvroDataset, bool) { + return nil, false +} + +// AsAmazonS3Dataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) { + return nil, false +} + +// AsDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsDataset() (*Dataset, bool) { + return nil, false +} + +// AsBasicDataset is the BasicDataset implementation for DocumentDbCollectionDataset. +func (ddcd DocumentDbCollectionDataset) AsBasicDataset() (BasicDataset, bool) { + return &ddcd, true +} + +// UnmarshalJSON is the custom unmarshaler for DocumentDbCollectionDataset struct. +func (ddcd *DocumentDbCollectionDataset) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -66553,12 +72647,12 @@ func (dals *DynamicsAXLinkedService) UnmarshalJSON(body []byte) error { switch k { case "typeProperties": if v != nil { - var dynamicsAXLinkedServiceTypeProperties DynamicsAXLinkedServiceTypeProperties - err = json.Unmarshal(*v, &dynamicsAXLinkedServiceTypeProperties) + var documentDbCollectionDatasetTypeProperties DocumentDbCollectionDatasetTypeProperties + err = json.Unmarshal(*v, &documentDbCollectionDatasetTypeProperties) if err != nil { return err } - dals.DynamicsAXLinkedServiceTypeProperties = &dynamicsAXLinkedServiceTypeProperties + ddcd.DocumentDbCollectionDatasetTypeProperties = &documentDbCollectionDatasetTypeProperties } default: if v != nil { @@ -66567,19 +72661,10 @@ func (dals *DynamicsAXLinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - if dals.AdditionalProperties == nil { - dals.AdditionalProperties = make(map[string]interface{}) - } - dals.AdditionalProperties[k] = additionalProperties - } - case "connectVia": - if v != nil { - var connectVia IntegrationRuntimeReference - err = json.Unmarshal(*v, &connectVia) - if err != nil { - return err + if ddcd.AdditionalProperties == nil { + ddcd.AdditionalProperties = make(map[string]interface{}) } - dals.ConnectVia = &connectVia + ddcd.AdditionalProperties[k] = additionalProperties } case "description": if v != nil { @@ -66588,118 +72673,70 @@ func (dals *DynamicsAXLinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - dals.Description = &description - } - case "parameters": - if v != nil { - var parameters map[string]*ParameterSpecification - err = json.Unmarshal(*v, ¶meters) - if err != nil { - return err - } - dals.Parameters = parameters - } - case "annotations": - if v != nil { - var annotations []interface{} - err = json.Unmarshal(*v, &annotations) - if err != nil { - return err - } - dals.Annotations = &annotations + ddcd.Description = &description } - case "type": + case "structure": if v != nil { - var typeVar TypeBasicLinkedService - err = json.Unmarshal(*v, &typeVar) + var structure interface{} + err = json.Unmarshal(*v, &structure) if err != nil { return err } - dals.Type = typeVar + ddcd.Structure = structure } - } - } - - return nil -} - -// DynamicsAXLinkedServiceTypeProperties dynamics AX linked service properties. -type DynamicsAXLinkedServiceTypeProperties struct { - // URL - The Dynamics AX (or Dynamics 365 Finance and Operations) instance OData endpoint. - URL interface{} `json:"url,omitempty"` - // ServicePrincipalID - Specify the application's client ID. Type: string (or Expression with resultType string). - ServicePrincipalID interface{} `json:"servicePrincipalId,omitempty"` - // ServicePrincipalKey - Specify the application's key. Mark this field as a SecureString to store it securely in Data Factory, or reference a secret stored in Azure Key Vault. Type: string (or Expression with resultType string). - ServicePrincipalKey BasicSecretBase `json:"servicePrincipalKey,omitempty"` - // Tenant - Specify the tenant information (domain name or tenant ID) under which your application resides. Retrieve it by hovering the mouse in the top-right corner of the Azure portal. Type: string (or Expression with resultType string). - Tenant interface{} `json:"tenant,omitempty"` - // AadResourceID - Specify the resource you are requesting authorization. Type: string (or Expression with resultType string). - AadResourceID interface{} `json:"aadResourceId,omitempty"` - // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). - EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` -} - -// UnmarshalJSON is the custom unmarshaler for DynamicsAXLinkedServiceTypeProperties struct. -func (dalstp *DynamicsAXLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - case "url": + case "schema": if v != nil { - var URL interface{} - err = json.Unmarshal(*v, &URL) + var schema interface{} + err = json.Unmarshal(*v, &schema) if err != nil { return err } - dalstp.URL = URL + ddcd.Schema = schema } - case "servicePrincipalId": + case "linkedServiceName": if v != nil { - var servicePrincipalID interface{} - err = json.Unmarshal(*v, &servicePrincipalID) + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) if err != nil { return err } - dalstp.ServicePrincipalID = servicePrincipalID + ddcd.LinkedServiceName = &linkedServiceName } - case "servicePrincipalKey": + case "parameters": if v != nil { - servicePrincipalKey, err := unmarshalBasicSecretBase(*v) + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) if err != nil { return err } - dalstp.ServicePrincipalKey = servicePrincipalKey + ddcd.Parameters = parameters } - case "tenant": + case "annotations": if v != nil { - var tenant interface{} - err = json.Unmarshal(*v, &tenant) + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) if err != nil { return err } - dalstp.Tenant = tenant + ddcd.Annotations = &annotations } - case "aadResourceId": + case "folder": if v != nil { - var aadResourceID interface{} - err = json.Unmarshal(*v, &aadResourceID) + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) if err != nil { return err } - dalstp.AadResourceID = aadResourceID + ddcd.Folder = &folder } - case "encryptedCredential": + case "type": if v != nil { - var encryptedCredential interface{} - err = json.Unmarshal(*v, &encryptedCredential) + var typeVar TypeBasicDataset + err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - dalstp.EncryptedCredential = encryptedCredential + ddcd.Type = typeVar } } } @@ -66707,489 +72744,250 @@ func (dalstp *DynamicsAXLinkedServiceTypeProperties) UnmarshalJSON(body []byte) return nil } -// DynamicsAXResourceDataset the path of the Dynamics AX OData entity. -type DynamicsAXResourceDataset struct { - // DynamicsAXResourceDatasetTypeProperties - Dynamics AX OData resource dataset properties. - *DynamicsAXResourceDatasetTypeProperties `json:"typeProperties,omitempty"` +// DocumentDbCollectionDatasetTypeProperties documentDB Collection dataset properties. +type DocumentDbCollectionDatasetTypeProperties struct { + // CollectionName - Document Database collection name. Type: string (or Expression with resultType string). + CollectionName interface{} `json:"collectionName,omitempty"` +} + +// DocumentDbCollectionSink a copy activity Document Database Collection sink. +type DocumentDbCollectionSink struct { + // NestingSeparator - Nested properties separator. Default is . (dot). Type: string (or Expression with resultType string). + NestingSeparator interface{} `json:"nestingSeparator,omitempty"` + // WriteBehavior - Describes how to write data to Azure Cosmos DB. Type: string (or Expression with resultType string). Allowed values: insert and upsert. + WriteBehavior interface{} `json:"writeBehavior,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` - // Description - Dataset description. - Description *string `json:"description,omitempty"` - // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. - Structure interface{} `json:"structure,omitempty"` - // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. - Schema interface{} `json:"schema,omitempty"` - // LinkedServiceName - Linked service reference. - LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` - // Parameters - Parameters for dataset. - Parameters map[string]*ParameterSpecification `json:"parameters"` - // Annotations - List of tags that can be used for describing the Dataset. - Annotations *[]interface{} `json:"annotations,omitempty"` - // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. - Folder *DatasetFolder `json:"folder,omitempty"` - // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' - Type TypeBasicDataset `json:"type,omitempty"` + // WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0. + WriteBatchSize interface{} `json:"writeBatchSize,omitempty"` + // WriteBatchTimeout - Write batch timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"` + // SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer). + SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"` + // SinkRetryWait - Sink retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeCosmosDbSQLAPISink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAvroSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzureMySQLSink', 'TypeAzurePostgreSQLSink', 'TypeOrcSink', 'TypeJSONSink', 'TypeDelimitedTextSink' + Type TypeBasicCopySink `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for DynamicsAXResourceDataset. -func (dard DynamicsAXResourceDataset) MarshalJSON() ([]byte, error) { - dard.Type = TypeDynamicsAXResource +// MarshalJSON is the custom marshaler for DocumentDbCollectionSink. +func (ddcs DocumentDbCollectionSink) MarshalJSON() ([]byte, error) { + ddcs.Type = TypeDocumentDbCollectionSink objectMap := make(map[string]interface{}) - if dard.DynamicsAXResourceDatasetTypeProperties != nil { - objectMap["typeProperties"] = dard.DynamicsAXResourceDatasetTypeProperties - } - if dard.Description != nil { - objectMap["description"] = dard.Description + if ddcs.NestingSeparator != nil { + objectMap["nestingSeparator"] = ddcs.NestingSeparator } - if dard.Structure != nil { - objectMap["structure"] = dard.Structure + if ddcs.WriteBehavior != nil { + objectMap["writeBehavior"] = ddcs.WriteBehavior } - if dard.Schema != nil { - objectMap["schema"] = dard.Schema + if ddcs.WriteBatchSize != nil { + objectMap["writeBatchSize"] = ddcs.WriteBatchSize } - if dard.LinkedServiceName != nil { - objectMap["linkedServiceName"] = dard.LinkedServiceName + if ddcs.WriteBatchTimeout != nil { + objectMap["writeBatchTimeout"] = ddcs.WriteBatchTimeout } - if dard.Parameters != nil { - objectMap["parameters"] = dard.Parameters + if ddcs.SinkRetryCount != nil { + objectMap["sinkRetryCount"] = ddcs.SinkRetryCount } - if dard.Annotations != nil { - objectMap["annotations"] = dard.Annotations + if ddcs.SinkRetryWait != nil { + objectMap["sinkRetryWait"] = ddcs.SinkRetryWait } - if dard.Folder != nil { - objectMap["folder"] = dard.Folder + if ddcs.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = ddcs.MaxConcurrentConnections } - if dard.Type != "" { - objectMap["type"] = dard.Type + if ddcs.Type != "" { + objectMap["type"] = ddcs.Type } - for k, v := range dard.AdditionalProperties { + for k, v := range ddcs.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset. -func (dard DynamicsAXResourceDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { - return nil, false -} - -// AsAzureDataExplorerTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset. -func (dard DynamicsAXResourceDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { - return nil, false -} - -// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset. -func (dard DynamicsAXResourceDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { - return nil, false -} - -// AsDynamicsAXResourceDataset is the BasicDataset implementation for DynamicsAXResourceDataset. -func (dard DynamicsAXResourceDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { - return &dard, true -} - -// AsResponsysObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset. -func (dard DynamicsAXResourceDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { - return nil, false -} - -// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset. -func (dard DynamicsAXResourceDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { - return nil, false -} - -// AsVerticaTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset. -func (dard DynamicsAXResourceDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { - return nil, false -} - -// AsNetezzaTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset. -func (dard DynamicsAXResourceDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { - return nil, false -} - -// AsZohoObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset. -func (dard DynamicsAXResourceDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { - return nil, false -} - -// AsXeroObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset. -func (dard DynamicsAXResourceDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { - return nil, false -} - -// AsSquareObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset. -func (dard DynamicsAXResourceDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { - return nil, false -} - -// AsSparkObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset. -func (dard DynamicsAXResourceDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { - return nil, false -} - -// AsShopifyObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset. -func (dard DynamicsAXResourceDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { - return nil, false -} - -// AsServiceNowObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset. -func (dard DynamicsAXResourceDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { - return nil, false -} - -// AsQuickBooksObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset. -func (dard DynamicsAXResourceDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { - return nil, false -} - -// AsPrestoObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset. -func (dard DynamicsAXResourceDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { - return nil, false -} - -// AsPhoenixObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset. -func (dard DynamicsAXResourceDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { - return nil, false -} - -// AsPaypalObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset. -func (dard DynamicsAXResourceDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { - return nil, false -} - -// AsMarketoObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset. -func (dard DynamicsAXResourceDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { - return nil, false -} - -// AsAzureMariaDBTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset. -func (dard DynamicsAXResourceDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { - return nil, false -} - -// AsMariaDBTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset. -func (dard DynamicsAXResourceDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { - return nil, false -} - -// AsMagentoObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset. -func (dard DynamicsAXResourceDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { - return nil, false -} - -// AsJiraObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset. -func (dard DynamicsAXResourceDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { - return nil, false -} - -// AsImpalaObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset. -func (dard DynamicsAXResourceDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { - return nil, false -} - -// AsHubspotObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset. -func (dard DynamicsAXResourceDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { - return nil, false -} - -// AsHiveObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset. -func (dard DynamicsAXResourceDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { - return nil, false -} - -// AsHBaseObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset. -func (dard DynamicsAXResourceDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { - return nil, false -} - -// AsGreenplumTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset. -func (dard DynamicsAXResourceDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { - return nil, false -} - -// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset. -func (dard DynamicsAXResourceDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { - return nil, false -} - -// AsEloquaObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset. -func (dard DynamicsAXResourceDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { - return nil, false -} - -// AsDrillTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset. -func (dard DynamicsAXResourceDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { - return nil, false -} - -// AsCouchbaseTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset. -func (dard DynamicsAXResourceDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { - return nil, false -} - -// AsConcurObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset. -func (dard DynamicsAXResourceDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { - return nil, false -} - -// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset. -func (dard DynamicsAXResourceDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { - return nil, false -} - -// AsAmazonMWSObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset. -func (dard DynamicsAXResourceDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { - return nil, false -} - -// AsHTTPDataset is the BasicDataset implementation for DynamicsAXResourceDataset. -func (dard DynamicsAXResourceDataset) AsHTTPDataset() (*HTTPDataset, bool) { - return nil, false -} - -// AsAzureSearchIndexDataset is the BasicDataset implementation for DynamicsAXResourceDataset. -func (dard DynamicsAXResourceDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { - return nil, false -} - -// AsWebTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset. -func (dard DynamicsAXResourceDataset) AsWebTableDataset() (*WebTableDataset, bool) { - return nil, false -} - -// AsSapTableResourceDataset is the BasicDataset implementation for DynamicsAXResourceDataset. -func (dard DynamicsAXResourceDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { - return nil, false -} - -// AsRestResourceDataset is the BasicDataset implementation for DynamicsAXResourceDataset. -func (dard DynamicsAXResourceDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { - return nil, false -} - -// AsSQLServerTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset. -func (dard DynamicsAXResourceDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { - return nil, false -} - -// AsSapOpenHubTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset. -func (dard DynamicsAXResourceDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { - return nil, false -} - -// AsSapHanaTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset. -func (dard DynamicsAXResourceDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { - return nil, false -} - -// AsSapEccResourceDataset is the BasicDataset implementation for DynamicsAXResourceDataset. -func (dard DynamicsAXResourceDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { - return nil, false -} - -// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for DynamicsAXResourceDataset. -func (dard DynamicsAXResourceDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { - return nil, false -} - -// AsSapBwCubeDataset is the BasicDataset implementation for DynamicsAXResourceDataset. -func (dard DynamicsAXResourceDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { - return nil, false -} - -// AsSybaseTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset. -func (dard DynamicsAXResourceDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { - return nil, false -} - -// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset. -func (dard DynamicsAXResourceDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { - return nil, false -} - -// AsSalesforceObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset. -func (dard DynamicsAXResourceDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { +// AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for DocumentDbCollectionSink. +func (ddcs DocumentDbCollectionSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) { return nil, false } -// AsMicrosoftAccessTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset. -func (dard DynamicsAXResourceDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { +// AsSalesforceServiceCloudSink is the BasicCopySink implementation for DocumentDbCollectionSink. +func (ddcs DocumentDbCollectionSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) { return nil, false } -// AsPostgreSQLTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset. -func (dard DynamicsAXResourceDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { +// AsSalesforceSink is the BasicCopySink implementation for DocumentDbCollectionSink. +func (ddcs DocumentDbCollectionSink) AsSalesforceSink() (*SalesforceSink, bool) { return nil, false } -// AsMySQLTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset. -func (dard DynamicsAXResourceDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { +// AsAzureDataExplorerSink is the BasicCopySink implementation for DocumentDbCollectionSink. +func (ddcs DocumentDbCollectionSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) { return nil, false } -// AsOdbcTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset. -func (dard DynamicsAXResourceDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { +// AsCommonDataServiceForAppsSink is the BasicCopySink implementation for DocumentDbCollectionSink. +func (ddcs DocumentDbCollectionSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) { return nil, false } -// AsInformixTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset. -func (dard DynamicsAXResourceDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { +// AsDynamicsCrmSink is the BasicCopySink implementation for DocumentDbCollectionSink. +func (ddcs DocumentDbCollectionSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) { return nil, false } -// AsRelationalTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset. -func (dard DynamicsAXResourceDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { +// AsDynamicsSink is the BasicCopySink implementation for DocumentDbCollectionSink. +func (ddcs DocumentDbCollectionSink) AsDynamicsSink() (*DynamicsSink, bool) { return nil, false } -// AsAzureMySQLTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset. -func (dard DynamicsAXResourceDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { +// AsMicrosoftAccessSink is the BasicCopySink implementation for DocumentDbCollectionSink. +func (ddcs DocumentDbCollectionSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) { return nil, false } -// AsTeradataTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset. -func (dard DynamicsAXResourceDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { +// AsInformixSink is the BasicCopySink implementation for DocumentDbCollectionSink. +func (ddcs DocumentDbCollectionSink) AsInformixSink() (*InformixSink, bool) { return nil, false } -// AsOracleTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset. -func (dard DynamicsAXResourceDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { +// AsOdbcSink is the BasicCopySink implementation for DocumentDbCollectionSink. +func (ddcs DocumentDbCollectionSink) AsOdbcSink() (*OdbcSink, bool) { return nil, false } -// AsODataResourceDataset is the BasicDataset implementation for DynamicsAXResourceDataset. -func (dard DynamicsAXResourceDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { +// AsAzureSearchIndexSink is the BasicCopySink implementation for DocumentDbCollectionSink. +func (ddcs DocumentDbCollectionSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) { return nil, false } -// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for DynamicsAXResourceDataset. -func (dard DynamicsAXResourceDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { +// AsAzureBlobFSSink is the BasicCopySink implementation for DocumentDbCollectionSink. +func (ddcs DocumentDbCollectionSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) { return nil, false } -// AsMongoDbV2CollectionDataset is the BasicDataset implementation for DynamicsAXResourceDataset. -func (dard DynamicsAXResourceDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { +// AsAzureDataLakeStoreSink is the BasicCopySink implementation for DocumentDbCollectionSink. +func (ddcs DocumentDbCollectionSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) { return nil, false } -// AsMongoDbCollectionDataset is the BasicDataset implementation for DynamicsAXResourceDataset. -func (dard DynamicsAXResourceDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { +// AsOracleSink is the BasicCopySink implementation for DocumentDbCollectionSink. +func (ddcs DocumentDbCollectionSink) AsOracleSink() (*OracleSink, bool) { return nil, false } -// AsFileShareDataset is the BasicDataset implementation for DynamicsAXResourceDataset. -func (dard DynamicsAXResourceDataset) AsFileShareDataset() (*FileShareDataset, bool) { +// AsSQLDWSink is the BasicCopySink implementation for DocumentDbCollectionSink. +func (ddcs DocumentDbCollectionSink) AsSQLDWSink() (*SQLDWSink, bool) { return nil, false } -// AsOffice365Dataset is the BasicDataset implementation for DynamicsAXResourceDataset. -func (dard DynamicsAXResourceDataset) AsOffice365Dataset() (*Office365Dataset, bool) { +// AsSQLMISink is the BasicCopySink implementation for DocumentDbCollectionSink. +func (ddcs DocumentDbCollectionSink) AsSQLMISink() (*SQLMISink, bool) { return nil, false } -// AsAzureBlobFSDataset is the BasicDataset implementation for DynamicsAXResourceDataset. -func (dard DynamicsAXResourceDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) { +// AsAzureSQLSink is the BasicCopySink implementation for DocumentDbCollectionSink. +func (ddcs DocumentDbCollectionSink) AsAzureSQLSink() (*AzureSQLSink, bool) { return nil, false } -// AsAzureDataLakeStoreDataset is the BasicDataset implementation for DynamicsAXResourceDataset. -func (dard DynamicsAXResourceDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) { +// AsSQLServerSink is the BasicCopySink implementation for DocumentDbCollectionSink. +func (ddcs DocumentDbCollectionSink) AsSQLServerSink() (*SQLServerSink, bool) { return nil, false } -// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for DynamicsAXResourceDataset. -func (dard DynamicsAXResourceDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { +// AsSQLSink is the BasicCopySink implementation for DocumentDbCollectionSink. +func (ddcs DocumentDbCollectionSink) AsSQLSink() (*SQLSink, bool) { return nil, false } -// AsDynamicsCrmEntityDataset is the BasicDataset implementation for DynamicsAXResourceDataset. -func (dard DynamicsAXResourceDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { +// AsCosmosDbSQLAPISink is the BasicCopySink implementation for DocumentDbCollectionSink. +func (ddcs DocumentDbCollectionSink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) { return nil, false } -// AsDynamicsEntityDataset is the BasicDataset implementation for DynamicsAXResourceDataset. -func (dard DynamicsAXResourceDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { - return nil, false +// AsDocumentDbCollectionSink is the BasicCopySink implementation for DocumentDbCollectionSink. +func (ddcs DocumentDbCollectionSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) { + return &ddcs, true } -// AsDocumentDbCollectionDataset is the BasicDataset implementation for DynamicsAXResourceDataset. -func (dard DynamicsAXResourceDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { +// AsFileSystemSink is the BasicCopySink implementation for DocumentDbCollectionSink. +func (ddcs DocumentDbCollectionSink) AsFileSystemSink() (*FileSystemSink, bool) { return nil, false } -// AsCustomDataset is the BasicDataset implementation for DynamicsAXResourceDataset. -func (dard DynamicsAXResourceDataset) AsCustomDataset() (*CustomDataset, bool) { +// AsBlobSink is the BasicCopySink implementation for DocumentDbCollectionSink. +func (ddcs DocumentDbCollectionSink) AsBlobSink() (*BlobSink, bool) { return nil, false } -// AsCassandraTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset. -func (dard DynamicsAXResourceDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { +// AsBinarySink is the BasicCopySink implementation for DocumentDbCollectionSink. +func (ddcs DocumentDbCollectionSink) AsBinarySink() (*BinarySink, bool) { return nil, false } -// AsAzureSQLDWTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset. -func (dard DynamicsAXResourceDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { +// AsParquetSink is the BasicCopySink implementation for DocumentDbCollectionSink. +func (ddcs DocumentDbCollectionSink) AsParquetSink() (*ParquetSink, bool) { return nil, false } -// AsAzureSQLMITableDataset is the BasicDataset implementation for DynamicsAXResourceDataset. -func (dard DynamicsAXResourceDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { +// AsAvroSink is the BasicCopySink implementation for DocumentDbCollectionSink. +func (ddcs DocumentDbCollectionSink) AsAvroSink() (*AvroSink, bool) { return nil, false } -// AsAzureSQLTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset. -func (dard DynamicsAXResourceDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { +// AsAzureTableSink is the BasicCopySink implementation for DocumentDbCollectionSink. +func (ddcs DocumentDbCollectionSink) AsAzureTableSink() (*AzureTableSink, bool) { return nil, false } -// AsAzureTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset. -func (dard DynamicsAXResourceDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { +// AsAzureQueueSink is the BasicCopySink implementation for DocumentDbCollectionSink. +func (ddcs DocumentDbCollectionSink) AsAzureQueueSink() (*AzureQueueSink, bool) { return nil, false } -// AsAzureBlobDataset is the BasicDataset implementation for DynamicsAXResourceDataset. -func (dard DynamicsAXResourceDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) { +// AsSapCloudForCustomerSink is the BasicCopySink implementation for DocumentDbCollectionSink. +func (ddcs DocumentDbCollectionSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) { return nil, false } -// AsBinaryDataset is the BasicDataset implementation for DynamicsAXResourceDataset. -func (dard DynamicsAXResourceDataset) AsBinaryDataset() (*BinaryDataset, bool) { +// AsAzureMySQLSink is the BasicCopySink implementation for DocumentDbCollectionSink. +func (ddcs DocumentDbCollectionSink) AsAzureMySQLSink() (*AzureMySQLSink, bool) { return nil, false } -// AsDelimitedTextDataset is the BasicDataset implementation for DynamicsAXResourceDataset. -func (dard DynamicsAXResourceDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { +// AsAzurePostgreSQLSink is the BasicCopySink implementation for DocumentDbCollectionSink. +func (ddcs DocumentDbCollectionSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) { return nil, false } -// AsParquetDataset is the BasicDataset implementation for DynamicsAXResourceDataset. -func (dard DynamicsAXResourceDataset) AsParquetDataset() (*ParquetDataset, bool) { +// AsOrcSink is the BasicCopySink implementation for DocumentDbCollectionSink. +func (ddcs DocumentDbCollectionSink) AsOrcSink() (*OrcSink, bool) { return nil, false } -// AsAvroDataset is the BasicDataset implementation for DynamicsAXResourceDataset. -func (dard DynamicsAXResourceDataset) AsAvroDataset() (*AvroDataset, bool) { +// AsJSONSink is the BasicCopySink implementation for DocumentDbCollectionSink. +func (ddcs DocumentDbCollectionSink) AsJSONSink() (*JSONSink, bool) { return nil, false } -// AsAmazonS3Dataset is the BasicDataset implementation for DynamicsAXResourceDataset. -func (dard DynamicsAXResourceDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) { +// AsDelimitedTextSink is the BasicCopySink implementation for DocumentDbCollectionSink. +func (ddcs DocumentDbCollectionSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) { return nil, false } -// AsDataset is the BasicDataset implementation for DynamicsAXResourceDataset. -func (dard DynamicsAXResourceDataset) AsDataset() (*Dataset, bool) { +// AsCopySink is the BasicCopySink implementation for DocumentDbCollectionSink. +func (ddcs DocumentDbCollectionSink) AsCopySink() (*CopySink, bool) { return nil, false } -// AsBasicDataset is the BasicDataset implementation for DynamicsAXResourceDataset. -func (dard DynamicsAXResourceDataset) AsBasicDataset() (BasicDataset, bool) { - return &dard, true +// AsBasicCopySink is the BasicCopySink implementation for DocumentDbCollectionSink. +func (ddcs DocumentDbCollectionSink) AsBasicCopySink() (BasicCopySink, bool) { + return &ddcs, true } -// UnmarshalJSON is the custom unmarshaler for DynamicsAXResourceDataset struct. -func (dard *DynamicsAXResourceDataset) UnmarshalJSON(body []byte) error { +// UnmarshalJSON is the custom unmarshaler for DocumentDbCollectionSink struct. +func (ddcs *DocumentDbCollectionSink) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -67197,98 +72995,89 @@ func (dard *DynamicsAXResourceDataset) UnmarshalJSON(body []byte) error { } for k, v := range m { switch k { - case "typeProperties": + case "nestingSeparator": if v != nil { - var dynamicsAXResourceDatasetTypeProperties DynamicsAXResourceDatasetTypeProperties - err = json.Unmarshal(*v, &dynamicsAXResourceDatasetTypeProperties) + var nestingSeparator interface{} + err = json.Unmarshal(*v, &nestingSeparator) if err != nil { return err } - dard.DynamicsAXResourceDatasetTypeProperties = &dynamicsAXResourceDatasetTypeProperties + ddcs.NestingSeparator = nestingSeparator } - default: + case "writeBehavior": if v != nil { - var additionalProperties interface{} - err = json.Unmarshal(*v, &additionalProperties) + var writeBehavior interface{} + err = json.Unmarshal(*v, &writeBehavior) if err != nil { return err } - if dard.AdditionalProperties == nil { - dard.AdditionalProperties = make(map[string]interface{}) - } - dard.AdditionalProperties[k] = additionalProperties + ddcs.WriteBehavior = writeBehavior } - case "description": + default: if v != nil { - var description string - err = json.Unmarshal(*v, &description) + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) if err != nil { return err } - dard.Description = &description - } - case "structure": - if v != nil { - var structure interface{} - err = json.Unmarshal(*v, &structure) - if err != nil { - return err + if ddcs.AdditionalProperties == nil { + ddcs.AdditionalProperties = make(map[string]interface{}) } - dard.Structure = structure + ddcs.AdditionalProperties[k] = additionalProperties } - case "schema": + case "writeBatchSize": if v != nil { - var schema interface{} - err = json.Unmarshal(*v, &schema) + var writeBatchSize interface{} + err = json.Unmarshal(*v, &writeBatchSize) if err != nil { return err } - dard.Schema = schema + ddcs.WriteBatchSize = writeBatchSize } - case "linkedServiceName": + case "writeBatchTimeout": if v != nil { - var linkedServiceName LinkedServiceReference - err = json.Unmarshal(*v, &linkedServiceName) + var writeBatchTimeout interface{} + err = json.Unmarshal(*v, &writeBatchTimeout) if err != nil { return err } - dard.LinkedServiceName = &linkedServiceName + ddcs.WriteBatchTimeout = writeBatchTimeout } - case "parameters": + case "sinkRetryCount": if v != nil { - var parameters map[string]*ParameterSpecification - err = json.Unmarshal(*v, ¶meters) + var sinkRetryCount interface{} + err = json.Unmarshal(*v, &sinkRetryCount) if err != nil { return err } - dard.Parameters = parameters + ddcs.SinkRetryCount = sinkRetryCount } - case "annotations": + case "sinkRetryWait": if v != nil { - var annotations []interface{} - err = json.Unmarshal(*v, &annotations) + var sinkRetryWait interface{} + err = json.Unmarshal(*v, &sinkRetryWait) if err != nil { return err } - dard.Annotations = &annotations + ddcs.SinkRetryWait = sinkRetryWait } - case "folder": + case "maxConcurrentConnections": if v != nil { - var folder DatasetFolder - err = json.Unmarshal(*v, &folder) + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) if err != nil { return err } - dard.Folder = &folder + ddcs.MaxConcurrentConnections = maxConcurrentConnections } case "type": if v != nil { - var typeVar TypeBasicDataset + var typeVar TypeBasicCopySink err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - dard.Type = typeVar + ddcs.Type = typeVar } } } @@ -67296,16 +73085,14 @@ func (dard *DynamicsAXResourceDataset) UnmarshalJSON(body []byte) error { return nil } -// DynamicsAXResourceDatasetTypeProperties dynamics AX OData resource dataset properties. -type DynamicsAXResourceDatasetTypeProperties struct { - // Path - The path of the Dynamics AX OData entity. Type: string (or Expression with resultType string). - Path interface{} `json:"path,omitempty"` -} - -// DynamicsAXSource a copy activity Dynamics AX source. -type DynamicsAXSource struct { - // Query - A query to retrieve data from source. Type: string (or Expression with resultType string). +// DocumentDbCollectionSource a copy activity Document Database Collection source. +type DocumentDbCollectionSource struct { + // Query - Documents query. Type: string (or Expression with resultType string). Query interface{} `json:"query,omitempty"` + // NestingSeparator - Nested properties separator. Type: string (or Expression with resultType string). + NestingSeparator interface{} `json:"nestingSeparator,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). @@ -67314,462 +73101,493 @@ type DynamicsAXSource struct { SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' + // Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' Type TypeBasicCopySource `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for DynamicsAXSource. -func (das DynamicsAXSource) MarshalJSON() ([]byte, error) { - das.Type = TypeDynamicsAXSource +// MarshalJSON is the custom marshaler for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) MarshalJSON() ([]byte, error) { + ddcs.Type = TypeDocumentDbCollectionSource objectMap := make(map[string]interface{}) - if das.Query != nil { - objectMap["query"] = das.Query + if ddcs.Query != nil { + objectMap["query"] = ddcs.Query } - if das.SourceRetryCount != nil { - objectMap["sourceRetryCount"] = das.SourceRetryCount + if ddcs.NestingSeparator != nil { + objectMap["nestingSeparator"] = ddcs.NestingSeparator } - if das.SourceRetryWait != nil { - objectMap["sourceRetryWait"] = das.SourceRetryWait + if ddcs.QueryTimeout != nil { + objectMap["queryTimeout"] = ddcs.QueryTimeout } - if das.MaxConcurrentConnections != nil { - objectMap["maxConcurrentConnections"] = das.MaxConcurrentConnections + if ddcs.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = ddcs.SourceRetryCount } - if das.Type != "" { - objectMap["type"] = das.Type + if ddcs.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = ddcs.SourceRetryWait } - for k, v := range das.AdditionalProperties { + if ddcs.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = ddcs.MaxConcurrentConnections + } + if ddcs.Type != "" { + objectMap["type"] = ddcs.Type + } + for k, v := range ddcs.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsAmazonRedshiftSource is the BasicCopySource implementation for DynamicsAXSource. -func (das DynamicsAXSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { +// AsHTTPSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsHTTPSource() (*HTTPSource, bool) { return nil, false } -// AsGoogleAdWordsSource is the BasicCopySource implementation for DynamicsAXSource. -func (das DynamicsAXSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { +// AsAzureBlobFSSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { return nil, false } -// AsOracleServiceCloudSource is the BasicCopySource implementation for DynamicsAXSource. -func (das DynamicsAXSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { return nil, false } -// AsDynamicsAXSource is the BasicCopySource implementation for DynamicsAXSource. -func (das DynamicsAXSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { - return &das, true +// AsOffice365Source is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false } -// AsResponsysSource is the BasicCopySource implementation for DynamicsAXSource. -func (das DynamicsAXSource) AsResponsysSource() (*ResponsysSource, bool) { +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { return nil, false } -// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for DynamicsAXSource. -func (das DynamicsAXSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { +// AsMongoDbV2Source is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { return nil, false } -// AsVerticaSource is the BasicCopySource implementation for DynamicsAXSource. -func (das DynamicsAXSource) AsVerticaSource() (*VerticaSource, bool) { +// AsMongoDbSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsMongoDbSource() (*MongoDbSource, bool) { return nil, false } -// AsNetezzaSource is the BasicCopySource implementation for DynamicsAXSource. -func (das DynamicsAXSource) AsNetezzaSource() (*NetezzaSource, bool) { +// AsWebSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsWebSource() (*WebSource, bool) { return nil, false } -// AsZohoSource is the BasicCopySource implementation for DynamicsAXSource. -func (das DynamicsAXSource) AsZohoSource() (*ZohoSource, bool) { +// AsOracleSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsOracleSource() (*OracleSource, bool) { return nil, false } -// AsXeroSource is the BasicCopySource implementation for DynamicsAXSource. -func (das DynamicsAXSource) AsXeroSource() (*XeroSource, bool) { +// AsAzureDataExplorerSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { return nil, false } -// AsSquareSource is the BasicCopySource implementation for DynamicsAXSource. -func (das DynamicsAXSource) AsSquareSource() (*SquareSource, bool) { +// AsHdfsSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsHdfsSource() (*HdfsSource, bool) { return nil, false } -// AsSparkSource is the BasicCopySource implementation for DynamicsAXSource. -func (das DynamicsAXSource) AsSparkSource() (*SparkSource, bool) { +// AsFileSystemSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsFileSystemSource() (*FileSystemSource, bool) { return nil, false } -// AsShopifySource is the BasicCopySource implementation for DynamicsAXSource. -func (das DynamicsAXSource) AsShopifySource() (*ShopifySource, bool) { +// AsRestSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsRestSource() (*RestSource, bool) { return nil, false } -// AsServiceNowSource is the BasicCopySource implementation for DynamicsAXSource. -func (das DynamicsAXSource) AsServiceNowSource() (*ServiceNowSource, bool) { +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { return nil, false } -// AsQuickBooksSource is the BasicCopySource implementation for DynamicsAXSource. -func (das DynamicsAXSource) AsQuickBooksSource() (*QuickBooksSource, bool) { +// AsODataSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsODataSource() (*ODataSource, bool) { return nil, false } -// AsPrestoSource is the BasicCopySource implementation for DynamicsAXSource. -func (das DynamicsAXSource) AsPrestoSource() (*PrestoSource, bool) { +// AsMicrosoftAccessSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { return nil, false } -// AsPhoenixSource is the BasicCopySource implementation for DynamicsAXSource. -func (das DynamicsAXSource) AsPhoenixSource() (*PhoenixSource, bool) { +// AsRelationalSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsRelationalSource() (*RelationalSource, bool) { return nil, false } -// AsPaypalSource is the BasicCopySource implementation for DynamicsAXSource. -func (das DynamicsAXSource) AsPaypalSource() (*PaypalSource, bool) { +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { return nil, false } -// AsMarketoSource is the BasicCopySource implementation for DynamicsAXSource. -func (das DynamicsAXSource) AsMarketoSource() (*MarketoSource, bool) { +// AsDynamicsCrmSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { return nil, false } -// AsAzureMariaDBSource is the BasicCopySource implementation for DynamicsAXSource. -func (das DynamicsAXSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { +// AsDynamicsSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsDynamicsSource() (*DynamicsSource, bool) { return nil, false } -// AsMariaDBSource is the BasicCopySource implementation for DynamicsAXSource. -func (das DynamicsAXSource) AsMariaDBSource() (*MariaDBSource, bool) { +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { return nil, false } -// AsMagentoSource is the BasicCopySource implementation for DynamicsAXSource. -func (das DynamicsAXSource) AsMagentoSource() (*MagentoSource, bool) { - return nil, false +// AsDocumentDbCollectionSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return &ddcs, true } -// AsJiraSource is the BasicCopySource implementation for DynamicsAXSource. -func (das DynamicsAXSource) AsJiraSource() (*JiraSource, bool) { +// AsBlobSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsBlobSource() (*BlobSource, bool) { return nil, false } -// AsImpalaSource is the BasicCopySource implementation for DynamicsAXSource. -func (das DynamicsAXSource) AsImpalaSource() (*ImpalaSource, bool) { +// AsAmazonRedshiftSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { return nil, false } -// AsHubspotSource is the BasicCopySource implementation for DynamicsAXSource. -func (das DynamicsAXSource) AsHubspotSource() (*HubspotSource, bool) { +// AsGoogleAdWordsSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { return nil, false } -// AsHiveSource is the BasicCopySource implementation for DynamicsAXSource. -func (das DynamicsAXSource) AsHiveSource() (*HiveSource, bool) { +// AsOracleServiceCloudSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { return nil, false } -// AsHBaseSource is the BasicCopySource implementation for DynamicsAXSource. -func (das DynamicsAXSource) AsHBaseSource() (*HBaseSource, bool) { +// AsDynamicsAXSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { return nil, false } -// AsGreenplumSource is the BasicCopySource implementation for DynamicsAXSource. -func (das DynamicsAXSource) AsGreenplumSource() (*GreenplumSource, bool) { +// AsResponsysSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsResponsysSource() (*ResponsysSource, bool) { return nil, false } -// AsGoogleBigQuerySource is the BasicCopySource implementation for DynamicsAXSource. -func (das DynamicsAXSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { return nil, false } -// AsEloquaSource is the BasicCopySource implementation for DynamicsAXSource. -func (das DynamicsAXSource) AsEloquaSource() (*EloquaSource, bool) { +// AsVerticaSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsVerticaSource() (*VerticaSource, bool) { return nil, false } -// AsDrillSource is the BasicCopySource implementation for DynamicsAXSource. -func (das DynamicsAXSource) AsDrillSource() (*DrillSource, bool) { +// AsNetezzaSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsNetezzaSource() (*NetezzaSource, bool) { return nil, false } -// AsCouchbaseSource is the BasicCopySource implementation for DynamicsAXSource. -func (das DynamicsAXSource) AsCouchbaseSource() (*CouchbaseSource, bool) { +// AsZohoSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsZohoSource() (*ZohoSource, bool) { return nil, false } -// AsConcurSource is the BasicCopySource implementation for DynamicsAXSource. -func (das DynamicsAXSource) AsConcurSource() (*ConcurSource, bool) { +// AsXeroSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsXeroSource() (*XeroSource, bool) { return nil, false } -// AsAzurePostgreSQLSource is the BasicCopySource implementation for DynamicsAXSource. -func (das DynamicsAXSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { +// AsSquareSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsSquareSource() (*SquareSource, bool) { return nil, false } -// AsAmazonMWSSource is the BasicCopySource implementation for DynamicsAXSource. -func (das DynamicsAXSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { +// AsSparkSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsSparkSource() (*SparkSource, bool) { return nil, false } -// AsHTTPSource is the BasicCopySource implementation for DynamicsAXSource. -func (das DynamicsAXSource) AsHTTPSource() (*HTTPSource, bool) { +// AsShopifySource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsShopifySource() (*ShopifySource, bool) { return nil, false } -// AsAzureBlobFSSource is the BasicCopySource implementation for DynamicsAXSource. -func (das DynamicsAXSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { +// AsServiceNowSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsServiceNowSource() (*ServiceNowSource, bool) { return nil, false } -// AsAzureDataLakeStoreSource is the BasicCopySource implementation for DynamicsAXSource. -func (das DynamicsAXSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { +// AsQuickBooksSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsQuickBooksSource() (*QuickBooksSource, bool) { return nil, false } -// AsOffice365Source is the BasicCopySource implementation for DynamicsAXSource. -func (das DynamicsAXSource) AsOffice365Source() (*Office365Source, bool) { +// AsPrestoSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsPrestoSource() (*PrestoSource, bool) { return nil, false } -// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for DynamicsAXSource. -func (das DynamicsAXSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { +// AsPhoenixSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsPhoenixSource() (*PhoenixSource, bool) { return nil, false } -// AsMongoDbV2Source is the BasicCopySource implementation for DynamicsAXSource. -func (das DynamicsAXSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { +// AsPaypalSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsPaypalSource() (*PaypalSource, bool) { return nil, false } -// AsMongoDbSource is the BasicCopySource implementation for DynamicsAXSource. -func (das DynamicsAXSource) AsMongoDbSource() (*MongoDbSource, bool) { +// AsMarketoSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsMarketoSource() (*MarketoSource, bool) { return nil, false } -// AsCassandraSource is the BasicCopySource implementation for DynamicsAXSource. -func (das DynamicsAXSource) AsCassandraSource() (*CassandraSource, bool) { +// AsAzureMariaDBSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { return nil, false } -// AsWebSource is the BasicCopySource implementation for DynamicsAXSource. -func (das DynamicsAXSource) AsWebSource() (*WebSource, bool) { +// AsMariaDBSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsMariaDBSource() (*MariaDBSource, bool) { return nil, false } -// AsTeradataSource is the BasicCopySource implementation for DynamicsAXSource. -func (das DynamicsAXSource) AsTeradataSource() (*TeradataSource, bool) { +// AsMagentoSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsMagentoSource() (*MagentoSource, bool) { return nil, false } -// AsOracleSource is the BasicCopySource implementation for DynamicsAXSource. -func (das DynamicsAXSource) AsOracleSource() (*OracleSource, bool) { +// AsJiraSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsJiraSource() (*JiraSource, bool) { return nil, false } -// AsAzureDataExplorerSource is the BasicCopySource implementation for DynamicsAXSource. -func (das DynamicsAXSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { +// AsImpalaSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsImpalaSource() (*ImpalaSource, bool) { return nil, false } -// AsAzureMySQLSource is the BasicCopySource implementation for DynamicsAXSource. -func (das DynamicsAXSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { +// AsHubspotSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsHubspotSource() (*HubspotSource, bool) { return nil, false } -// AsHdfsSource is the BasicCopySource implementation for DynamicsAXSource. -func (das DynamicsAXSource) AsHdfsSource() (*HdfsSource, bool) { +// AsHiveSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsHiveSource() (*HiveSource, bool) { return nil, false } -// AsFileSystemSource is the BasicCopySource implementation for DynamicsAXSource. -func (das DynamicsAXSource) AsFileSystemSource() (*FileSystemSource, bool) { +// AsHBaseSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsHBaseSource() (*HBaseSource, bool) { return nil, false } -// AsSQLDWSource is the BasicCopySource implementation for DynamicsAXSource. -func (das DynamicsAXSource) AsSQLDWSource() (*SQLDWSource, bool) { +// AsGreenplumSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsGreenplumSource() (*GreenplumSource, bool) { return nil, false } -// AsSQLMISource is the BasicCopySource implementation for DynamicsAXSource. -func (das DynamicsAXSource) AsSQLMISource() (*SQLMISource, bool) { +// AsGoogleBigQuerySource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { return nil, false } -// AsAzureSQLSource is the BasicCopySource implementation for DynamicsAXSource. -func (das DynamicsAXSource) AsAzureSQLSource() (*AzureSQLSource, bool) { +// AsEloquaSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsEloquaSource() (*EloquaSource, bool) { return nil, false } -// AsSQLServerSource is the BasicCopySource implementation for DynamicsAXSource. -func (das DynamicsAXSource) AsSQLServerSource() (*SQLServerSource, bool) { +// AsDrillSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsDrillSource() (*DrillSource, bool) { return nil, false } -// AsSQLSource is the BasicCopySource implementation for DynamicsAXSource. -func (das DynamicsAXSource) AsSQLSource() (*SQLSource, bool) { +// AsCouchbaseSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsCouchbaseSource() (*CouchbaseSource, bool) { return nil, false } -// AsRestSource is the BasicCopySource implementation for DynamicsAXSource. -func (das DynamicsAXSource) AsRestSource() (*RestSource, bool) { +// AsConcurSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsConcurSource() (*ConcurSource, bool) { return nil, false } -// AsSapTableSource is the BasicCopySource implementation for DynamicsAXSource. -func (das DynamicsAXSource) AsSapTableSource() (*SapTableSource, bool) { +// AsAzurePostgreSQLSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { return nil, false } -// AsSapOpenHubSource is the BasicCopySource implementation for DynamicsAXSource. -func (das DynamicsAXSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { +// AsAmazonMWSSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { return nil, false } -// AsSapHanaSource is the BasicCopySource implementation for DynamicsAXSource. -func (das DynamicsAXSource) AsSapHanaSource() (*SapHanaSource, bool) { +// AsCassandraSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsCassandraSource() (*CassandraSource, bool) { return nil, false } -// AsSapEccSource is the BasicCopySource implementation for DynamicsAXSource. -func (das DynamicsAXSource) AsSapEccSource() (*SapEccSource, bool) { +// AsTeradataSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsTeradataSource() (*TeradataSource, bool) { return nil, false } -// AsSapCloudForCustomerSource is the BasicCopySource implementation for DynamicsAXSource. -func (das DynamicsAXSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { +// AsAzureMySQLSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { return nil, false } -// AsSalesforceServiceCloudSource is the BasicCopySource implementation for DynamicsAXSource. -func (das DynamicsAXSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { +// AsSQLDWSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsSQLDWSource() (*SQLDWSource, bool) { return nil, false } -// AsSalesforceSource is the BasicCopySource implementation for DynamicsAXSource. -func (das DynamicsAXSource) AsSalesforceSource() (*SalesforceSource, bool) { +// AsSQLMISource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsSQLMISource() (*SQLMISource, bool) { return nil, false } -// AsODataSource is the BasicCopySource implementation for DynamicsAXSource. -func (das DynamicsAXSource) AsODataSource() (*ODataSource, bool) { +// AsAzureSQLSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsAzureSQLSource() (*AzureSQLSource, bool) { return nil, false } -// AsSapBwSource is the BasicCopySource implementation for DynamicsAXSource. -func (das DynamicsAXSource) AsSapBwSource() (*SapBwSource, bool) { +// AsSQLServerSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsSQLServerSource() (*SQLServerSource, bool) { return nil, false } -// AsSybaseSource is the BasicCopySource implementation for DynamicsAXSource. -func (das DynamicsAXSource) AsSybaseSource() (*SybaseSource, bool) { +// AsSQLSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsSQLSource() (*SQLSource, bool) { return nil, false } -// AsPostgreSQLSource is the BasicCopySource implementation for DynamicsAXSource. -func (das DynamicsAXSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { +// AsSapTableSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsSapTableSource() (*SapTableSource, bool) { return nil, false } -// AsMySQLSource is the BasicCopySource implementation for DynamicsAXSource. -func (das DynamicsAXSource) AsMySQLSource() (*MySQLSource, bool) { +// AsSapOpenHubSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { return nil, false } -// AsOdbcSource is the BasicCopySource implementation for DynamicsAXSource. -func (das DynamicsAXSource) AsOdbcSource() (*OdbcSource, bool) { +// AsSapHanaSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsSapHanaSource() (*SapHanaSource, bool) { return nil, false } -// AsDb2Source is the BasicCopySource implementation for DynamicsAXSource. -func (das DynamicsAXSource) AsDb2Source() (*Db2Source, bool) { +// AsSapEccSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsSapEccSource() (*SapEccSource, bool) { return nil, false } -// AsMicrosoftAccessSource is the BasicCopySource implementation for DynamicsAXSource. -func (das DynamicsAXSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { +// AsSapCloudForCustomerSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { return nil, false } -// AsInformixSource is the BasicCopySource implementation for DynamicsAXSource. -func (das DynamicsAXSource) AsInformixSource() (*InformixSource, bool) { +// AsSalesforceSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsSalesforceSource() (*SalesforceSource, bool) { return nil, false } -// AsRelationalSource is the BasicCopySource implementation for DynamicsAXSource. -func (das DynamicsAXSource) AsRelationalSource() (*RelationalSource, bool) { +// AsSapBwSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsSapBwSource() (*SapBwSource, bool) { return nil, false } -// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for DynamicsAXSource. -func (das DynamicsAXSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { +// AsSybaseSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsSybaseSource() (*SybaseSource, bool) { return nil, false } -// AsDynamicsCrmSource is the BasicCopySource implementation for DynamicsAXSource. -func (das DynamicsAXSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { +// AsPostgreSQLSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { return nil, false } -// AsDynamicsSource is the BasicCopySource implementation for DynamicsAXSource. -func (das DynamicsAXSource) AsDynamicsSource() (*DynamicsSource, bool) { +// AsMySQLSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsMySQLSource() (*MySQLSource, bool) { return nil, false } -// AsDocumentDbCollectionSource is the BasicCopySource implementation for DynamicsAXSource. -func (das DynamicsAXSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { +// AsOdbcSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsOdbcSource() (*OdbcSource, bool) { return nil, false } -// AsBlobSource is the BasicCopySource implementation for DynamicsAXSource. -func (das DynamicsAXSource) AsBlobSource() (*BlobSource, bool) { +// AsDb2Source is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsDb2Source() (*Db2Source, bool) { return nil, false } -// AsAzureTableSource is the BasicCopySource implementation for DynamicsAXSource. -func (das DynamicsAXSource) AsAzureTableSource() (*AzureTableSource, bool) { +// AsInformixSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsInformixSource() (*InformixSource, bool) { return nil, false } -// AsBinarySource is the BasicCopySource implementation for DynamicsAXSource. -func (das DynamicsAXSource) AsBinarySource() (*BinarySource, bool) { +// AsAzureTableSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsAzureTableSource() (*AzureTableSource, bool) { return nil, false } -// AsDelimitedTextSource is the BasicCopySource implementation for DynamicsAXSource. -func (das DynamicsAXSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { +// AsTabularSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsTabularSource() (*TabularSource, bool) { return nil, false } -// AsParquetSource is the BasicCopySource implementation for DynamicsAXSource. -func (das DynamicsAXSource) AsParquetSource() (*ParquetSource, bool) { +// AsBasicTabularSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsBasicTabularSource() (BasicTabularSource, bool) { return nil, false } -// AsAvroSource is the BasicCopySource implementation for DynamicsAXSource. -func (das DynamicsAXSource) AsAvroSource() (*AvroSource, bool) { +// AsBinarySource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsBinarySource() (*BinarySource, bool) { return nil, false } -// AsCopySource is the BasicCopySource implementation for DynamicsAXSource. -func (das DynamicsAXSource) AsCopySource() (*CopySource, bool) { +// AsOrcSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsOrcSource() (*OrcSource, bool) { return nil, false } -// AsBasicCopySource is the BasicCopySource implementation for DynamicsAXSource. -func (das DynamicsAXSource) AsBasicCopySource() (BasicCopySource, bool) { - return &das, true +// AsJSONSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsJSONSource() (*JSONSource, bool) { + return nil, false } -// UnmarshalJSON is the custom unmarshaler for DynamicsAXSource struct. -func (das *DynamicsAXSource) UnmarshalJSON(body []byte) error { +// AsDelimitedTextSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false +} + +// AsParquetSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for DocumentDbCollectionSource. +func (ddcs DocumentDbCollectionSource) AsBasicCopySource() (BasicCopySource, bool) { + return &ddcs, true +} + +// UnmarshalJSON is the custom unmarshaler for DocumentDbCollectionSource struct. +func (ddcs *DocumentDbCollectionSource) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -67784,7 +73602,25 @@ func (das *DynamicsAXSource) UnmarshalJSON(body []byte) error { if err != nil { return err } - das.Query = query + ddcs.Query = query + } + case "nestingSeparator": + if v != nil { + var nestingSeparator interface{} + err = json.Unmarshal(*v, &nestingSeparator) + if err != nil { + return err + } + ddcs.NestingSeparator = nestingSeparator + } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + ddcs.QueryTimeout = queryTimeout } default: if v != nil { @@ -67793,10 +73629,10 @@ func (das *DynamicsAXSource) UnmarshalJSON(body []byte) error { if err != nil { return err } - if das.AdditionalProperties == nil { - das.AdditionalProperties = make(map[string]interface{}) + if ddcs.AdditionalProperties == nil { + ddcs.AdditionalProperties = make(map[string]interface{}) } - das.AdditionalProperties[k] = additionalProperties + ddcs.AdditionalProperties[k] = additionalProperties } case "sourceRetryCount": if v != nil { @@ -67805,7 +73641,7 @@ func (das *DynamicsAXSource) UnmarshalJSON(body []byte) error { if err != nil { return err } - das.SourceRetryCount = sourceRetryCount + ddcs.SourceRetryCount = sourceRetryCount } case "sourceRetryWait": if v != nil { @@ -67814,7 +73650,7 @@ func (das *DynamicsAXSource) UnmarshalJSON(body []byte) error { if err != nil { return err } - das.SourceRetryWait = sourceRetryWait + ddcs.SourceRetryWait = sourceRetryWait } case "maxConcurrentConnections": if v != nil { @@ -67823,7 +73659,7 @@ func (das *DynamicsAXSource) UnmarshalJSON(body []byte) error { if err != nil { return err } - das.MaxConcurrentConnections = maxConcurrentConnections + ddcs.MaxConcurrentConnections = maxConcurrentConnections } case "type": if v != nil { @@ -67832,7 +73668,7 @@ func (das *DynamicsAXSource) UnmarshalJSON(body []byte) error { if err != nil { return err } - das.Type = typeVar + ddcs.Type = typeVar } } } @@ -67840,489 +73676,544 @@ func (das *DynamicsAXSource) UnmarshalJSON(body []byte) error { return nil } -// DynamicsCrmEntityDataset the Dynamics CRM entity dataset. -type DynamicsCrmEntityDataset struct { - // DynamicsCrmEntityDatasetTypeProperties - Dynamics CRM entity dataset properties. - *DynamicsCrmEntityDatasetTypeProperties `json:"typeProperties,omitempty"` +// DrillDatasetTypeProperties drill Dataset Properties +type DrillDatasetTypeProperties struct { + // TableName - This property will be retired. Please consider using schema + table properties instead. + TableName interface{} `json:"tableName,omitempty"` + // Table - The table name of the Drill. Type: string (or Expression with resultType string). + Table interface{} `json:"table,omitempty"` + // Schema - The schema name of the Drill. Type: string (or Expression with resultType string). + Schema interface{} `json:"schema,omitempty"` +} + +// DrillLinkedService drill server linked service. +type DrillLinkedService struct { + // DrillLinkedServiceTypeProperties - Drill server linked service properties. + *DrillLinkedServiceTypeProperties `json:"typeProperties,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` - // Description - Dataset description. + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. Description *string `json:"description,omitempty"` - // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. - Structure interface{} `json:"structure,omitempty"` - // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. - Schema interface{} `json:"schema,omitempty"` - // LinkedServiceName - Linked service reference. - LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` - // Parameters - Parameters for dataset. + // Parameters - Parameters for linked service. Parameters map[string]*ParameterSpecification `json:"parameters"` - // Annotations - List of tags that can be used for describing the Dataset. + // Annotations - List of tags that can be used for describing the linked service. Annotations *[]interface{} `json:"annotations,omitempty"` - // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. - Folder *DatasetFolder `json:"folder,omitempty"` - // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' - Type TypeBasicDataset `json:"type,omitempty"` + // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' + Type TypeBasicLinkedService `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for DynamicsCrmEntityDataset. -func (dced DynamicsCrmEntityDataset) MarshalJSON() ([]byte, error) { - dced.Type = TypeDynamicsCrmEntity +// MarshalJSON is the custom marshaler for DrillLinkedService. +func (dls DrillLinkedService) MarshalJSON() ([]byte, error) { + dls.Type = TypeDrill objectMap := make(map[string]interface{}) - if dced.DynamicsCrmEntityDatasetTypeProperties != nil { - objectMap["typeProperties"] = dced.DynamicsCrmEntityDatasetTypeProperties - } - if dced.Description != nil { - objectMap["description"] = dced.Description - } - if dced.Structure != nil { - objectMap["structure"] = dced.Structure - } - if dced.Schema != nil { - objectMap["schema"] = dced.Schema + if dls.DrillLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = dls.DrillLinkedServiceTypeProperties } - if dced.LinkedServiceName != nil { - objectMap["linkedServiceName"] = dced.LinkedServiceName + if dls.ConnectVia != nil { + objectMap["connectVia"] = dls.ConnectVia } - if dced.Parameters != nil { - objectMap["parameters"] = dced.Parameters + if dls.Description != nil { + objectMap["description"] = dls.Description } - if dced.Annotations != nil { - objectMap["annotations"] = dced.Annotations + if dls.Parameters != nil { + objectMap["parameters"] = dls.Parameters } - if dced.Folder != nil { - objectMap["folder"] = dced.Folder + if dls.Annotations != nil { + objectMap["annotations"] = dls.Annotations } - if dced.Type != "" { - objectMap["type"] = dced.Type + if dls.Type != "" { + objectMap["type"] = dls.Type } - for k, v := range dced.AdditionalProperties { + for k, v := range dls.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. -func (dced DynamicsCrmEntityDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { return nil, false } -// AsAzureDataExplorerTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. -func (dced DynamicsCrmEntityDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { return nil, false } -// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. -func (dced DynamicsCrmEntityDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { +// AsSapTableLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { return nil, false } -// AsDynamicsAXResourceDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. -func (dced DynamicsCrmEntityDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { return nil, false } -// AsResponsysObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. -func (dced DynamicsCrmEntityDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { return nil, false } -// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. -func (dced DynamicsCrmEntityDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { return nil, false } -// AsVerticaTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. -func (dced DynamicsCrmEntityDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { +// AsResponsysLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { return nil, false } -// AsNetezzaTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. -func (dced DynamicsCrmEntityDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { return nil, false } -// AsZohoObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. -func (dced DynamicsCrmEntityDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { return nil, false } -// AsXeroObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. -func (dced DynamicsCrmEntityDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { return nil, false } -// AsSquareObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. -func (dced DynamicsCrmEntityDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { return nil, false } -// AsSparkObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. -func (dced DynamicsCrmEntityDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { +// AsNetezzaLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { return nil, false } -// AsShopifyObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. -func (dced DynamicsCrmEntityDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { +// AsVerticaLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { return nil, false } -// AsServiceNowObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. -func (dced DynamicsCrmEntityDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { +// AsZohoLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { return nil, false } -// AsQuickBooksObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. -func (dced DynamicsCrmEntityDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { +// AsXeroLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { return nil, false } -// AsPrestoObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. -func (dced DynamicsCrmEntityDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { +// AsSquareLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { return nil, false } -// AsPhoenixObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. -func (dced DynamicsCrmEntityDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { +// AsSparkLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { return nil, false } -// AsPaypalObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. -func (dced DynamicsCrmEntityDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { +// AsShopifyLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { return nil, false } -// AsMarketoObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. -func (dced DynamicsCrmEntityDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { +// AsServiceNowLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { return nil, false } -// AsAzureMariaDBTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. -func (dced DynamicsCrmEntityDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { +// AsQuickBooksLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { return nil, false } -// AsMariaDBTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. -func (dced DynamicsCrmEntityDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { +// AsPrestoLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { return nil, false } -// AsMagentoObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. -func (dced DynamicsCrmEntityDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { +// AsPhoenixLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { return nil, false } -// AsJiraObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. -func (dced DynamicsCrmEntityDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { +// AsPaypalLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { return nil, false } -// AsImpalaObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. -func (dced DynamicsCrmEntityDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { +// AsMarketoLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { return nil, false } -// AsHubspotObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. -func (dced DynamicsCrmEntityDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { return nil, false } -// AsHiveObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. -func (dced DynamicsCrmEntityDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { +// AsMariaDBLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { return nil, false } -// AsHBaseObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. -func (dced DynamicsCrmEntityDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { +// AsMagentoLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { return nil, false } -// AsGreenplumTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. -func (dced DynamicsCrmEntityDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { +// AsJiraLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { return nil, false } -// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. -func (dced DynamicsCrmEntityDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { +// AsImpalaLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { return nil, false } -// AsEloquaObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. -func (dced DynamicsCrmEntityDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { +// AsHubspotLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { return nil, false } -// AsDrillTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. -func (dced DynamicsCrmEntityDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { +// AsHiveLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { return nil, false } -// AsCouchbaseTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. -func (dced DynamicsCrmEntityDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { +// AsHBaseLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { return nil, false } -// AsConcurObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. -func (dced DynamicsCrmEntityDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { +// AsGreenplumLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { return nil, false } -// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. -func (dced DynamicsCrmEntityDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { return nil, false } -// AsAmazonMWSObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. -func (dced DynamicsCrmEntityDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { +// AsEloquaLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { return nil, false } -// AsHTTPDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. -func (dced DynamicsCrmEntityDataset) AsHTTPDataset() (*HTTPDataset, bool) { +// AsDrillLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return &dls, true +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { return nil, false } -// AsAzureSearchIndexDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. -func (dced DynamicsCrmEntityDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { +// AsConcurLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { return nil, false } -// AsWebTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. -func (dced DynamicsCrmEntityDataset) AsWebTableDataset() (*WebTableDataset, bool) { +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { return nil, false } -// AsSapTableResourceDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. -func (dced DynamicsCrmEntityDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { return nil, false } -// AsRestResourceDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. -func (dced DynamicsCrmEntityDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { +// AsSapHanaLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { return nil, false } -// AsSQLServerTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. -func (dced DynamicsCrmEntityDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { +// AsSapBWLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { return nil, false } -// AsSapOpenHubTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. -func (dced DynamicsCrmEntityDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { +// AsSftpServerLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { return nil, false } -// AsSapHanaTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. -func (dced DynamicsCrmEntityDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { +// AsFtpServerLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { return nil, false } -// AsSapEccResourceDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. -func (dced DynamicsCrmEntityDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { +// AsHTTPLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { return nil, false } -// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. -func (dced DynamicsCrmEntityDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { +// AsAzureSearchLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { return nil, false } -// AsSapBwCubeDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. -func (dced DynamicsCrmEntityDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { return nil, false } -// AsSybaseTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. -func (dced DynamicsCrmEntityDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { return nil, false } -// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. -func (dced DynamicsCrmEntityDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { +// AsAmazonS3LinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { return nil, false } -// AsSalesforceObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. -func (dced DynamicsCrmEntityDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { +// AsRestServiceLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { return nil, false } -// AsMicrosoftAccessTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. -func (dced DynamicsCrmEntityDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { return nil, false } -// AsPostgreSQLTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. -func (dced DynamicsCrmEntityDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { +// AsSapEccLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { return nil, false } -// AsMySQLTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. -func (dced DynamicsCrmEntityDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { return nil, false } -// AsOdbcTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. -func (dced DynamicsCrmEntityDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { return nil, false } -// AsInformixTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. -func (dced DynamicsCrmEntityDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { +// AsSalesforceLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { return nil, false } -// AsRelationalTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. -func (dced DynamicsCrmEntityDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { +// AsOffice365LinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { return nil, false } -// AsAzureMySQLTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. -func (dced DynamicsCrmEntityDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { return nil, false } -// AsTeradataTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. -func (dced DynamicsCrmEntityDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { return nil, false } -// AsOracleTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. -func (dced DynamicsCrmEntityDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { return nil, false } -// AsODataResourceDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. -func (dced DynamicsCrmEntityDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { return nil, false } -// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. -func (dced DynamicsCrmEntityDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { +// AsMongoDbLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { return nil, false } -// AsMongoDbV2CollectionDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. -func (dced DynamicsCrmEntityDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { +// AsCassandraLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { return nil, false } -// AsMongoDbCollectionDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. -func (dced DynamicsCrmEntityDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { +// AsWebLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { return nil, false } -// AsFileShareDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. -func (dced DynamicsCrmEntityDataset) AsFileShareDataset() (*FileShareDataset, bool) { +// AsODataLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { return nil, false } -// AsOffice365Dataset is the BasicDataset implementation for DynamicsCrmEntityDataset. -func (dced DynamicsCrmEntityDataset) AsOffice365Dataset() (*Office365Dataset, bool) { +// AsHdfsLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { return nil, false } -// AsAzureBlobFSDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. -func (dced DynamicsCrmEntityDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) { +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { return nil, false } -// AsAzureDataLakeStoreDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. -func (dced DynamicsCrmEntityDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) { +// AsInformixLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { return nil, false } -// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. -func (dced DynamicsCrmEntityDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { +// AsOdbcLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { return nil, false } -// AsDynamicsCrmEntityDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. -func (dced DynamicsCrmEntityDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { - return &dced, true +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false } -// AsDynamicsEntityDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. -func (dced DynamicsCrmEntityDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { +// AsAzureMLLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { return nil, false } -// AsDocumentDbCollectionDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. -func (dced DynamicsCrmEntityDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { +// AsTeradataLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { return nil, false } -// AsCustomDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. -func (dced DynamicsCrmEntityDataset) AsCustomDataset() (*CustomDataset, bool) { +// AsDb2LinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { return nil, false } -// AsCassandraTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. -func (dced DynamicsCrmEntityDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { +// AsSybaseLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { return nil, false } -// AsAzureSQLDWTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. -func (dced DynamicsCrmEntityDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { return nil, false } -// AsAzureSQLMITableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. -func (dced DynamicsCrmEntityDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { +// AsMySQLLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { return nil, false } -// AsAzureSQLTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. -func (dced DynamicsCrmEntityDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { return nil, false } -// AsAzureTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. -func (dced DynamicsCrmEntityDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { +// AsOracleLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { return nil, false } -// AsAzureBlobDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. -func (dced DynamicsCrmEntityDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) { +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { return nil, false } -// AsBinaryDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. -func (dced DynamicsCrmEntityDataset) AsBinaryDataset() (*BinaryDataset, bool) { +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { return nil, false } -// AsDelimitedTextDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. -func (dced DynamicsCrmEntityDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { +// AsFileServerLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { return nil, false } -// AsParquetDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. -func (dced DynamicsCrmEntityDataset) AsParquetDataset() (*ParquetDataset, bool) { +// AsHDInsightLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { return nil, false } -// AsAvroDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. -func (dced DynamicsCrmEntityDataset) AsAvroDataset() (*AvroDataset, bool) { +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { return nil, false } -// AsAmazonS3Dataset is the BasicDataset implementation for DynamicsCrmEntityDataset. -func (dced DynamicsCrmEntityDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) { +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { return nil, false } -// AsDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. -func (dced DynamicsCrmEntityDataset) AsDataset() (*Dataset, bool) { +// AsDynamicsLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { return nil, false } -// AsBasicDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. -func (dced DynamicsCrmEntityDataset) AsBasicDataset() (BasicDataset, bool) { - return &dced, true +// AsCosmosDbLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false } -// UnmarshalJSON is the custom unmarshaler for DynamicsCrmEntityDataset struct. -func (dced *DynamicsCrmEntityDataset) UnmarshalJSON(body []byte) error { +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for DrillLinkedService. +func (dls DrillLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &dls, true +} + +// UnmarshalJSON is the custom unmarshaler for DrillLinkedService struct. +func (dls *DrillLinkedService) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -68332,12 +74223,12 @@ func (dced *DynamicsCrmEntityDataset) UnmarshalJSON(body []byte) error { switch k { case "typeProperties": if v != nil { - var dynamicsCrmEntityDatasetTypeProperties DynamicsCrmEntityDatasetTypeProperties - err = json.Unmarshal(*v, &dynamicsCrmEntityDatasetTypeProperties) + var drillLinkedServiceTypeProperties DrillLinkedServiceTypeProperties + err = json.Unmarshal(*v, &drillLinkedServiceTypeProperties) if err != nil { return err } - dced.DynamicsCrmEntityDatasetTypeProperties = &dynamicsCrmEntityDatasetTypeProperties + dls.DrillLinkedServiceTypeProperties = &drillLinkedServiceTypeProperties } default: if v != nil { @@ -68346,46 +74237,28 @@ func (dced *DynamicsCrmEntityDataset) UnmarshalJSON(body []byte) error { if err != nil { return err } - if dced.AdditionalProperties == nil { - dced.AdditionalProperties = make(map[string]interface{}) - } - dced.AdditionalProperties[k] = additionalProperties - } - case "description": - if v != nil { - var description string - err = json.Unmarshal(*v, &description) - if err != nil { - return err - } - dced.Description = &description - } - case "structure": - if v != nil { - var structure interface{} - err = json.Unmarshal(*v, &structure) - if err != nil { - return err + if dls.AdditionalProperties == nil { + dls.AdditionalProperties = make(map[string]interface{}) } - dced.Structure = structure + dls.AdditionalProperties[k] = additionalProperties } - case "schema": + case "connectVia": if v != nil { - var schema interface{} - err = json.Unmarshal(*v, &schema) + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) if err != nil { return err } - dced.Schema = schema + dls.ConnectVia = &connectVia } - case "linkedServiceName": + case "description": if v != nil { - var linkedServiceName LinkedServiceReference - err = json.Unmarshal(*v, &linkedServiceName) + var description string + err = json.Unmarshal(*v, &description) if err != nil { return err } - dced.LinkedServiceName = &linkedServiceName + dls.Description = &description } case "parameters": if v != nil { @@ -68394,7 +74267,7 @@ func (dced *DynamicsCrmEntityDataset) UnmarshalJSON(body []byte) error { if err != nil { return err } - dced.Parameters = parameters + dls.Parameters = parameters } case "annotations": if v != nil { @@ -68403,25 +74276,16 @@ func (dced *DynamicsCrmEntityDataset) UnmarshalJSON(body []byte) error { if err != nil { return err } - dced.Annotations = &annotations - } - case "folder": - if v != nil { - var folder DatasetFolder - err = json.Unmarshal(*v, &folder) - if err != nil { - return err - } - dced.Folder = &folder + dls.Annotations = &annotations } case "type": if v != nil { - var typeVar TypeBasicDataset + var typeVar TypeBasicLinkedService err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - dced.Type = typeVar + dls.Type = typeVar } } } @@ -68429,525 +74293,514 @@ func (dced *DynamicsCrmEntityDataset) UnmarshalJSON(body []byte) error { return nil } -// DynamicsCrmEntityDatasetTypeProperties dynamics CRM entity dataset properties. -type DynamicsCrmEntityDatasetTypeProperties struct { - // EntityName - The logical name of the entity. Type: string (or Expression with resultType string). - EntityName interface{} `json:"entityName,omitempty"` +// DrillLinkedServiceTypeProperties drill server linked service properties. +type DrillLinkedServiceTypeProperties struct { + // ConnectionString - An ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference. + ConnectionString interface{} `json:"connectionString,omitempty"` + // Pwd - The Azure key vault secret reference of password in connection string. + Pwd *AzureKeyVaultSecretReference `json:"pwd,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` } -// DynamicsCrmLinkedService dynamics CRM linked service. -type DynamicsCrmLinkedService struct { - // DynamicsCrmLinkedServiceTypeProperties - Dynamics CRM linked service properties. - *DynamicsCrmLinkedServiceTypeProperties `json:"typeProperties,omitempty"` +// DrillSource a copy activity Drill server source. +type DrillSource struct { + // Query - A query to retrieve data from source. Type: string (or Expression with resultType string). + Query interface{} `json:"query,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` - // ConnectVia - The integration runtime reference. - ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` - // Description - Linked service description. - Description *string `json:"description,omitempty"` - // Parameters - Parameters for linked service. - Parameters map[string]*ParameterSpecification `json:"parameters"` - // Annotations - List of tags that can be used for describing the linked service. - Annotations *[]interface{} `json:"annotations,omitempty"` - // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' - Type TypeBasicLinkedService `json:"type,omitempty"` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' + Type TypeBasicCopySource `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for DynamicsCrmLinkedService. -func (dcls DynamicsCrmLinkedService) MarshalJSON() ([]byte, error) { - dcls.Type = TypeDynamicsCrm +// MarshalJSON is the custom marshaler for DrillSource. +func (ds DrillSource) MarshalJSON() ([]byte, error) { + ds.Type = TypeDrillSource objectMap := make(map[string]interface{}) - if dcls.DynamicsCrmLinkedServiceTypeProperties != nil { - objectMap["typeProperties"] = dcls.DynamicsCrmLinkedServiceTypeProperties + if ds.Query != nil { + objectMap["query"] = ds.Query } - if dcls.ConnectVia != nil { - objectMap["connectVia"] = dcls.ConnectVia + if ds.QueryTimeout != nil { + objectMap["queryTimeout"] = ds.QueryTimeout } - if dcls.Description != nil { - objectMap["description"] = dcls.Description + if ds.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = ds.SourceRetryCount } - if dcls.Parameters != nil { - objectMap["parameters"] = dcls.Parameters + if ds.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = ds.SourceRetryWait } - if dcls.Annotations != nil { - objectMap["annotations"] = dcls.Annotations + if ds.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = ds.MaxConcurrentConnections } - if dcls.Type != "" { - objectMap["type"] = dcls.Type + if ds.Type != "" { + objectMap["type"] = ds.Type } - for k, v := range dcls.AdditionalProperties { + for k, v := range ds.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsAzureFunctionLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. -func (dcls DynamicsCrmLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { +// AsHTTPSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsHTTPSource() (*HTTPSource, bool) { return nil, false } -// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. -func (dcls DynamicsCrmLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { +// AsAzureBlobFSSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { return nil, false } -// AsSapTableLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. -func (dcls DynamicsCrmLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { return nil, false } -// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. -func (dcls DynamicsCrmLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { +// AsOffice365Source is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsOffice365Source() (*Office365Source, bool) { return nil, false } -// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. -func (dcls DynamicsCrmLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { return nil, false } -// AsDynamicsAXLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. -func (dcls DynamicsCrmLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { +// AsMongoDbV2Source is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { return nil, false } -// AsResponsysLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. -func (dcls DynamicsCrmLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { +// AsMongoDbSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsMongoDbSource() (*MongoDbSource, bool) { return nil, false } -// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. -func (dcls DynamicsCrmLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { +// AsWebSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsWebSource() (*WebSource, bool) { return nil, false } -// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. -func (dcls DynamicsCrmLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { +// AsOracleSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsOracleSource() (*OracleSource, bool) { return nil, false } -// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. -func (dcls DynamicsCrmLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { +// AsAzureDataExplorerSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { return nil, false } -// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. -func (dcls DynamicsCrmLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { +// AsHdfsSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsHdfsSource() (*HdfsSource, bool) { return nil, false } -// AsNetezzaLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. -func (dcls DynamicsCrmLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { +// AsFileSystemSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsFileSystemSource() (*FileSystemSource, bool) { return nil, false } -// AsVerticaLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. -func (dcls DynamicsCrmLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { +// AsRestSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsRestSource() (*RestSource, bool) { return nil, false } -// AsZohoLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. -func (dcls DynamicsCrmLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { return nil, false } -// AsXeroLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. -func (dcls DynamicsCrmLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { +// AsODataSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsODataSource() (*ODataSource, bool) { return nil, false } -// AsSquareLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. -func (dcls DynamicsCrmLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { +// AsMicrosoftAccessSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { return nil, false } -// AsSparkLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. -func (dcls DynamicsCrmLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { +// AsRelationalSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsRelationalSource() (*RelationalSource, bool) { return nil, false } -// AsShopifyLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. -func (dcls DynamicsCrmLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { return nil, false } -// AsServiceNowLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. -func (dcls DynamicsCrmLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { +// AsDynamicsCrmSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { return nil, false } -// AsQuickBooksLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. -func (dcls DynamicsCrmLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { +// AsDynamicsSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsDynamicsSource() (*DynamicsSource, bool) { return nil, false } -// AsPrestoLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. -func (dcls DynamicsCrmLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { return nil, false } -// AsPhoenixLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. -func (dcls DynamicsCrmLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { +// AsDocumentDbCollectionSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { return nil, false } -// AsPaypalLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. -func (dcls DynamicsCrmLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { +// AsBlobSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsBlobSource() (*BlobSource, bool) { return nil, false } -// AsMarketoLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. -func (dcls DynamicsCrmLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { +// AsAmazonRedshiftSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { return nil, false } -// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. -func (dcls DynamicsCrmLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { +// AsGoogleAdWordsSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { return nil, false } -// AsMariaDBLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. -func (dcls DynamicsCrmLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { +// AsOracleServiceCloudSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { return nil, false } -// AsMagentoLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. -func (dcls DynamicsCrmLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { +// AsDynamicsAXSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { return nil, false } -// AsJiraLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. -func (dcls DynamicsCrmLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { +// AsResponsysSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsResponsysSource() (*ResponsysSource, bool) { return nil, false } -// AsImpalaLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. -func (dcls DynamicsCrmLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { return nil, false } -// AsHubspotLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. -func (dcls DynamicsCrmLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { +// AsVerticaSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsVerticaSource() (*VerticaSource, bool) { return nil, false } -// AsHiveLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. -func (dcls DynamicsCrmLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { +// AsNetezzaSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsNetezzaSource() (*NetezzaSource, bool) { return nil, false } -// AsHBaseLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. -func (dcls DynamicsCrmLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { +// AsZohoSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsZohoSource() (*ZohoSource, bool) { return nil, false } -// AsGreenplumLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. -func (dcls DynamicsCrmLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { +// AsXeroSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsXeroSource() (*XeroSource, bool) { return nil, false } -// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. -func (dcls DynamicsCrmLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { +// AsSquareSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsSquareSource() (*SquareSource, bool) { return nil, false } -// AsEloquaLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. -func (dcls DynamicsCrmLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { +// AsSparkSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsSparkSource() (*SparkSource, bool) { return nil, false } -// AsDrillLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. -func (dcls DynamicsCrmLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { +// AsShopifySource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsShopifySource() (*ShopifySource, bool) { return nil, false } -// AsCouchbaseLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. -func (dcls DynamicsCrmLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { +// AsServiceNowSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsServiceNowSource() (*ServiceNowSource, bool) { return nil, false } -// AsConcurLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. -func (dcls DynamicsCrmLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { +// AsQuickBooksSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsQuickBooksSource() (*QuickBooksSource, bool) { return nil, false } -// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. -func (dcls DynamicsCrmLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { +// AsPrestoSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsPrestoSource() (*PrestoSource, bool) { return nil, false } -// AsAmazonMWSLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. -func (dcls DynamicsCrmLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { +// AsPhoenixSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsPhoenixSource() (*PhoenixSource, bool) { return nil, false } -// AsSapHanaLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. -func (dcls DynamicsCrmLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { +// AsPaypalSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsPaypalSource() (*PaypalSource, bool) { return nil, false } -// AsSapBWLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. -func (dcls DynamicsCrmLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { +// AsMarketoSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsMarketoSource() (*MarketoSource, bool) { return nil, false } -// AsSftpServerLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. -func (dcls DynamicsCrmLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { +// AsAzureMariaDBSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { return nil, false } -// AsFtpServerLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. -func (dcls DynamicsCrmLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { +// AsMariaDBSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsMariaDBSource() (*MariaDBSource, bool) { return nil, false } -// AsHTTPLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. -func (dcls DynamicsCrmLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { +// AsMagentoSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsMagentoSource() (*MagentoSource, bool) { return nil, false } -// AsAzureSearchLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. -func (dcls DynamicsCrmLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { +// AsJiraSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsJiraSource() (*JiraSource, bool) { return nil, false } -// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. -func (dcls DynamicsCrmLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { +// AsImpalaSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsImpalaSource() (*ImpalaSource, bool) { return nil, false } -// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. -func (dcls DynamicsCrmLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { +// AsHubspotSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsHubspotSource() (*HubspotSource, bool) { return nil, false } -// AsAmazonS3LinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. -func (dcls DynamicsCrmLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { +// AsHiveSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsHiveSource() (*HiveSource, bool) { return nil, false } -// AsRestServiceLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. -func (dcls DynamicsCrmLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { +// AsHBaseSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsHBaseSource() (*HBaseSource, bool) { return nil, false } -// AsSapOpenHubLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. -func (dcls DynamicsCrmLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { +// AsGreenplumSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsGreenplumSource() (*GreenplumSource, bool) { return nil, false } -// AsSapEccLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. -func (dcls DynamicsCrmLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { +// AsGoogleBigQuerySource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { return nil, false } -// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. -func (dcls DynamicsCrmLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { +// AsEloquaSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsEloquaSource() (*EloquaSource, bool) { return nil, false } -// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. -func (dcls DynamicsCrmLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { - return nil, false +// AsDrillSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsDrillSource() (*DrillSource, bool) { + return &ds, true } -// AsSalesforceLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. -func (dcls DynamicsCrmLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { +// AsCouchbaseSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsCouchbaseSource() (*CouchbaseSource, bool) { return nil, false } -// AsOffice365LinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. -func (dcls DynamicsCrmLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { +// AsConcurSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsConcurSource() (*ConcurSource, bool) { return nil, false } -// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. -func (dcls DynamicsCrmLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { +// AsAzurePostgreSQLSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { return nil, false } -// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. -func (dcls DynamicsCrmLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { +// AsAmazonMWSSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { return nil, false } -// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. -func (dcls DynamicsCrmLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { +// AsCassandraSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsCassandraSource() (*CassandraSource, bool) { return nil, false } -// AsMongoDbV2LinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. -func (dcls DynamicsCrmLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { +// AsTeradataSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsTeradataSource() (*TeradataSource, bool) { return nil, false } -// AsMongoDbLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. -func (dcls DynamicsCrmLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { +// AsAzureMySQLSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { return nil, false } -// AsCassandraLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. -func (dcls DynamicsCrmLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { +// AsSQLDWSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsSQLDWSource() (*SQLDWSource, bool) { return nil, false } -// AsWebLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. -func (dcls DynamicsCrmLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { +// AsSQLMISource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsSQLMISource() (*SQLMISource, bool) { return nil, false } -// AsODataLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. -func (dcls DynamicsCrmLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { +// AsAzureSQLSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsAzureSQLSource() (*AzureSQLSource, bool) { return nil, false } -// AsHdfsLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. -func (dcls DynamicsCrmLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { +// AsSQLServerSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsSQLServerSource() (*SQLServerSource, bool) { return nil, false } -// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. -func (dcls DynamicsCrmLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { - return nil, false -} - -// AsInformixLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. -func (dcls DynamicsCrmLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { - return nil, false -} - -// AsOdbcLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. -func (dcls DynamicsCrmLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { +// AsSQLSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsSQLSource() (*SQLSource, bool) { return nil, false } -// AsAzureMLLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. -func (dcls DynamicsCrmLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { +// AsSapTableSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsSapTableSource() (*SapTableSource, bool) { return nil, false } -// AsTeradataLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. -func (dcls DynamicsCrmLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { +// AsSapOpenHubSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { return nil, false } -// AsDb2LinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. -func (dcls DynamicsCrmLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { +// AsSapHanaSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsSapHanaSource() (*SapHanaSource, bool) { return nil, false } -// AsSybaseLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. -func (dcls DynamicsCrmLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { +// AsSapEccSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsSapEccSource() (*SapEccSource, bool) { return nil, false } -// AsPostgreSQLLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. -func (dcls DynamicsCrmLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { +// AsSapCloudForCustomerSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { return nil, false } -// AsMySQLLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. -func (dcls DynamicsCrmLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { +// AsSalesforceSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsSalesforceSource() (*SalesforceSource, bool) { return nil, false } -// AsAzureMySQLLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. -func (dcls DynamicsCrmLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { +// AsSapBwSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsSapBwSource() (*SapBwSource, bool) { return nil, false } -// AsOracleLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. -func (dcls DynamicsCrmLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { +// AsSybaseSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsSybaseSource() (*SybaseSource, bool) { return nil, false } -// AsFileServerLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. -func (dcls DynamicsCrmLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { +// AsPostgreSQLSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { return nil, false } -// AsHDInsightLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. -func (dcls DynamicsCrmLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { +// AsMySQLSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsMySQLSource() (*MySQLSource, bool) { return nil, false } -// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. -func (dcls DynamicsCrmLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { +// AsOdbcSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsOdbcSource() (*OdbcSource, bool) { return nil, false } -// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. -func (dcls DynamicsCrmLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { - return &dcls, true -} - -// AsDynamicsLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. -func (dcls DynamicsCrmLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { +// AsDb2Source is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsDb2Source() (*Db2Source, bool) { return nil, false } -// AsCosmosDbLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. -func (dcls DynamicsCrmLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { +// AsInformixSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsInformixSource() (*InformixSource, bool) { return nil, false } -// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. -func (dcls DynamicsCrmLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { +// AsAzureTableSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsAzureTableSource() (*AzureTableSource, bool) { return nil, false } -// AsAzureBatchLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. -func (dcls DynamicsCrmLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { +// AsTabularSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsTabularSource() (*TabularSource, bool) { return nil, false } -// AsAzureSQLMILinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. -func (dcls DynamicsCrmLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { - return nil, false +// AsBasicTabularSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &ds, true } -// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. -func (dcls DynamicsCrmLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { +// AsBinarySource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsBinarySource() (*BinarySource, bool) { return nil, false } -// AsSQLServerLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. -func (dcls DynamicsCrmLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { +// AsOrcSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsOrcSource() (*OrcSource, bool) { return nil, false } -// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. -func (dcls DynamicsCrmLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { +// AsJSONSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsJSONSource() (*JSONSource, bool) { return nil, false } -// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. -func (dcls DynamicsCrmLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { +// AsDelimitedTextSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { return nil, false } -// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. -func (dcls DynamicsCrmLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { +// AsParquetSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsParquetSource() (*ParquetSource, bool) { return nil, false } -// AsAzureStorageLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. -func (dcls DynamicsCrmLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { +// AsAvroSource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsAvroSource() (*AvroSource, bool) { return nil, false } -// AsLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. -func (dcls DynamicsCrmLinkedService) AsLinkedService() (*LinkedService, bool) { +// AsCopySource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsCopySource() (*CopySource, bool) { return nil, false } -// AsBasicLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. -func (dcls DynamicsCrmLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { - return &dcls, true +// AsBasicCopySource is the BasicCopySource implementation for DrillSource. +func (ds DrillSource) AsBasicCopySource() (BasicCopySource, bool) { + return &ds, true } -// UnmarshalJSON is the custom unmarshaler for DynamicsCrmLinkedService struct. -func (dcls *DynamicsCrmLinkedService) UnmarshalJSON(body []byte) error { +// UnmarshalJSON is the custom unmarshaler for DrillSource struct. +func (ds *DrillSource) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -68955,188 +74808,71 @@ func (dcls *DynamicsCrmLinkedService) UnmarshalJSON(body []byte) error { } for k, v := range m { switch k { - case "typeProperties": + case "query": if v != nil { - var dynamicsCrmLinkedServiceTypeProperties DynamicsCrmLinkedServiceTypeProperties - err = json.Unmarshal(*v, &dynamicsCrmLinkedServiceTypeProperties) + var query interface{} + err = json.Unmarshal(*v, &query) if err != nil { return err } - dcls.DynamicsCrmLinkedServiceTypeProperties = &dynamicsCrmLinkedServiceTypeProperties + ds.Query = query } - default: + case "queryTimeout": if v != nil { - var additionalProperties interface{} - err = json.Unmarshal(*v, &additionalProperties) + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) if err != nil { return err } - if dcls.AdditionalProperties == nil { - dcls.AdditionalProperties = make(map[string]interface{}) - } - dcls.AdditionalProperties[k] = additionalProperties + ds.QueryTimeout = queryTimeout } - case "connectVia": + default: if v != nil { - var connectVia IntegrationRuntimeReference - err = json.Unmarshal(*v, &connectVia) + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) if err != nil { return err } - dcls.ConnectVia = &connectVia + if ds.AdditionalProperties == nil { + ds.AdditionalProperties = make(map[string]interface{}) + } + ds.AdditionalProperties[k] = additionalProperties } - case "description": + case "sourceRetryCount": if v != nil { - var description string - err = json.Unmarshal(*v, &description) + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) if err != nil { return err } - dcls.Description = &description + ds.SourceRetryCount = sourceRetryCount } - case "parameters": + case "sourceRetryWait": if v != nil { - var parameters map[string]*ParameterSpecification - err = json.Unmarshal(*v, ¶meters) + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) if err != nil { return err } - dcls.Parameters = parameters + ds.SourceRetryWait = sourceRetryWait } - case "annotations": + case "maxConcurrentConnections": if v != nil { - var annotations []interface{} - err = json.Unmarshal(*v, &annotations) + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) if err != nil { return err } - dcls.Annotations = &annotations + ds.MaxConcurrentConnections = maxConcurrentConnections } case "type": if v != nil { - var typeVar TypeBasicLinkedService + var typeVar TypeBasicCopySource err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - dcls.Type = typeVar - } - } - } - - return nil -} - -// DynamicsCrmLinkedServiceTypeProperties dynamics CRM linked service properties. -type DynamicsCrmLinkedServiceTypeProperties struct { - // DeploymentType - The deployment type of the Dynamics CRM instance. 'Online' for Dynamics CRM Online and 'OnPremisesWithIfd' for Dynamics CRM on-premises with Ifd. Type: string (or Expression with resultType string). Possible values include: 'Online', 'OnPremisesWithIfd' - DeploymentType DynamicsDeploymentType `json:"deploymentType,omitempty"` - // HostName - The host name of the on-premises Dynamics CRM server. The property is required for on-prem and not allowed for online. Type: string (or Expression with resultType string). - HostName interface{} `json:"hostName,omitempty"` - // Port - The port of on-premises Dynamics CRM server. The property is required for on-prem and not allowed for online. Default is 443. Type: integer (or Expression with resultType integer), minimum: 0. - Port interface{} `json:"port,omitempty"` - // ServiceURI - The URL to the Microsoft Dynamics CRM server. The property is required for on-line and not allowed for on-prem. Type: string (or Expression with resultType string). - ServiceURI interface{} `json:"serviceUri,omitempty"` - // OrganizationName - The organization name of the Dynamics CRM instance. The property is required for on-prem and required for online when there are more than one Dynamics CRM instances associated with the user. Type: string (or Expression with resultType string). - OrganizationName interface{} `json:"organizationName,omitempty"` - // AuthenticationType - The authentication type to connect to Dynamics CRM server. 'Office365' for online scenario, 'Ifd' for on-premises with Ifd scenario. Type: string (or Expression with resultType string). Possible values include: 'Office365', 'Ifd' - AuthenticationType DynamicsAuthenticationType `json:"authenticationType,omitempty"` - // Username - User name to access the Dynamics CRM instance. Type: string (or Expression with resultType string). - Username interface{} `json:"username,omitempty"` - // Password - Password to access the Dynamics CRM instance. - Password BasicSecretBase `json:"password,omitempty"` - // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). - EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` -} - -// UnmarshalJSON is the custom unmarshaler for DynamicsCrmLinkedServiceTypeProperties struct. -func (dclstp *DynamicsCrmLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - case "deploymentType": - if v != nil { - var deploymentType DynamicsDeploymentType - err = json.Unmarshal(*v, &deploymentType) - if err != nil { - return err - } - dclstp.DeploymentType = deploymentType - } - case "hostName": - if v != nil { - var hostName interface{} - err = json.Unmarshal(*v, &hostName) - if err != nil { - return err - } - dclstp.HostName = hostName - } - case "port": - if v != nil { - var port interface{} - err = json.Unmarshal(*v, &port) - if err != nil { - return err - } - dclstp.Port = port - } - case "serviceUri": - if v != nil { - var serviceURI interface{} - err = json.Unmarshal(*v, &serviceURI) - if err != nil { - return err - } - dclstp.ServiceURI = serviceURI - } - case "organizationName": - if v != nil { - var organizationName interface{} - err = json.Unmarshal(*v, &organizationName) - if err != nil { - return err - } - dclstp.OrganizationName = organizationName - } - case "authenticationType": - if v != nil { - var authenticationType DynamicsAuthenticationType - err = json.Unmarshal(*v, &authenticationType) - if err != nil { - return err - } - dclstp.AuthenticationType = authenticationType - } - case "username": - if v != nil { - var username interface{} - err = json.Unmarshal(*v, &username) - if err != nil { - return err - } - dclstp.Username = username - } - case "password": - if v != nil { - password, err := unmarshalBasicSecretBase(*v) - if err != nil { - return err - } - dclstp.Password = password - } - case "encryptedCredential": - if v != nil { - var encryptedCredential interface{} - err = json.Unmarshal(*v, &encryptedCredential) - if err != nil { - return err - } - dclstp.EncryptedCredential = encryptedCredential + ds.Type = typeVar } } } @@ -69144,789 +74880,514 @@ func (dclstp *DynamicsCrmLinkedServiceTypeProperties) UnmarshalJSON(body []byte) return nil } -// DynamicsCrmSink a copy activity Dynamics CRM sink. -type DynamicsCrmSink struct { - // WriteBehavior - The write behavior for the operation. - WriteBehavior *string `json:"writeBehavior,omitempty"` - // IgnoreNullValues - The flag indicating whether to ignore null values from input dataset (except key fields) during write operation. Default is false. Type: boolean (or Expression with resultType boolean). - IgnoreNullValues interface{} `json:"ignoreNullValues,omitempty"` +// DrillTableDataset drill server dataset. +type DrillTableDataset struct { + // DrillDatasetTypeProperties - Properties specific to this dataset type. + *DrillDatasetTypeProperties `json:"typeProperties,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` - // WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0. - WriteBatchSize interface{} `json:"writeBatchSize,omitempty"` - // WriteBatchTimeout - Write batch timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). - WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"` - // SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer). - SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"` - // SinkRetryWait - Sink retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). - SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"` - // MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). - MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAvroSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzurePostgreSQLSink', 'TypeDelimitedTextSink' - Type TypeBasicCopySink `json:"type,omitempty"` + // Description - Dataset description. + Description *string `json:"description,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' + Type TypeBasicDataset `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for DynamicsCrmSink. -func (dcs DynamicsCrmSink) MarshalJSON() ([]byte, error) { - dcs.Type = TypeDynamicsCrmSink +// MarshalJSON is the custom marshaler for DrillTableDataset. +func (dtd DrillTableDataset) MarshalJSON() ([]byte, error) { + dtd.Type = TypeDrillTable objectMap := make(map[string]interface{}) - if dcs.WriteBehavior != nil { - objectMap["writeBehavior"] = dcs.WriteBehavior + if dtd.DrillDatasetTypeProperties != nil { + objectMap["typeProperties"] = dtd.DrillDatasetTypeProperties } - if dcs.IgnoreNullValues != nil { - objectMap["ignoreNullValues"] = dcs.IgnoreNullValues + if dtd.Description != nil { + objectMap["description"] = dtd.Description } - if dcs.WriteBatchSize != nil { - objectMap["writeBatchSize"] = dcs.WriteBatchSize + if dtd.Structure != nil { + objectMap["structure"] = dtd.Structure } - if dcs.WriteBatchTimeout != nil { - objectMap["writeBatchTimeout"] = dcs.WriteBatchTimeout + if dtd.Schema != nil { + objectMap["schema"] = dtd.Schema } - if dcs.SinkRetryCount != nil { - objectMap["sinkRetryCount"] = dcs.SinkRetryCount + if dtd.LinkedServiceName != nil { + objectMap["linkedServiceName"] = dtd.LinkedServiceName } - if dcs.SinkRetryWait != nil { - objectMap["sinkRetryWait"] = dcs.SinkRetryWait + if dtd.Parameters != nil { + objectMap["parameters"] = dtd.Parameters } - if dcs.MaxConcurrentConnections != nil { - objectMap["maxConcurrentConnections"] = dcs.MaxConcurrentConnections + if dtd.Annotations != nil { + objectMap["annotations"] = dtd.Annotations } - if dcs.Type != "" { - objectMap["type"] = dcs.Type + if dtd.Folder != nil { + objectMap["folder"] = dtd.Folder } - for k, v := range dcs.AdditionalProperties { + if dtd.Type != "" { + objectMap["type"] = dtd.Type + } + for k, v := range dtd.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for DynamicsCrmSink. -func (dcs DynamicsCrmSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) { - return nil, false -} - -// AsSalesforceServiceCloudSink is the BasicCopySink implementation for DynamicsCrmSink. -func (dcs DynamicsCrmSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) { - return nil, false -} - -// AsSalesforceSink is the BasicCopySink implementation for DynamicsCrmSink. -func (dcs DynamicsCrmSink) AsSalesforceSink() (*SalesforceSink, bool) { - return nil, false -} - -// AsAzureDataExplorerSink is the BasicCopySink implementation for DynamicsCrmSink. -func (dcs DynamicsCrmSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) { - return nil, false -} - -// AsCommonDataServiceForAppsSink is the BasicCopySink implementation for DynamicsCrmSink. -func (dcs DynamicsCrmSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) { - return nil, false -} - -// AsDynamicsCrmSink is the BasicCopySink implementation for DynamicsCrmSink. -func (dcs DynamicsCrmSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) { - return &dcs, true -} - -// AsDynamicsSink is the BasicCopySink implementation for DynamicsCrmSink. -func (dcs DynamicsCrmSink) AsDynamicsSink() (*DynamicsSink, bool) { - return nil, false -} - -// AsMicrosoftAccessSink is the BasicCopySink implementation for DynamicsCrmSink. -func (dcs DynamicsCrmSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) { - return nil, false -} - -// AsInformixSink is the BasicCopySink implementation for DynamicsCrmSink. -func (dcs DynamicsCrmSink) AsInformixSink() (*InformixSink, bool) { - return nil, false -} - -// AsOdbcSink is the BasicCopySink implementation for DynamicsCrmSink. -func (dcs DynamicsCrmSink) AsOdbcSink() (*OdbcSink, bool) { - return nil, false -} - -// AsAzureSearchIndexSink is the BasicCopySink implementation for DynamicsCrmSink. -func (dcs DynamicsCrmSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) { - return nil, false -} - -// AsAzureBlobFSSink is the BasicCopySink implementation for DynamicsCrmSink. -func (dcs DynamicsCrmSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) { - return nil, false -} - -// AsAzureDataLakeStoreSink is the BasicCopySink implementation for DynamicsCrmSink. -func (dcs DynamicsCrmSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) { - return nil, false -} - -// AsOracleSink is the BasicCopySink implementation for DynamicsCrmSink. -func (dcs DynamicsCrmSink) AsOracleSink() (*OracleSink, bool) { - return nil, false -} - -// AsSQLDWSink is the BasicCopySink implementation for DynamicsCrmSink. -func (dcs DynamicsCrmSink) AsSQLDWSink() (*SQLDWSink, bool) { - return nil, false -} - -// AsSQLMISink is the BasicCopySink implementation for DynamicsCrmSink. -func (dcs DynamicsCrmSink) AsSQLMISink() (*SQLMISink, bool) { - return nil, false -} - -// AsAzureSQLSink is the BasicCopySink implementation for DynamicsCrmSink. -func (dcs DynamicsCrmSink) AsAzureSQLSink() (*AzureSQLSink, bool) { - return nil, false -} - -// AsSQLServerSink is the BasicCopySink implementation for DynamicsCrmSink. -func (dcs DynamicsCrmSink) AsSQLServerSink() (*SQLServerSink, bool) { - return nil, false -} - -// AsSQLSink is the BasicCopySink implementation for DynamicsCrmSink. -func (dcs DynamicsCrmSink) AsSQLSink() (*SQLSink, bool) { - return nil, false -} - -// AsDocumentDbCollectionSink is the BasicCopySink implementation for DynamicsCrmSink. -func (dcs DynamicsCrmSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) { - return nil, false -} - -// AsFileSystemSink is the BasicCopySink implementation for DynamicsCrmSink. -func (dcs DynamicsCrmSink) AsFileSystemSink() (*FileSystemSink, bool) { - return nil, false -} - -// AsBlobSink is the BasicCopySink implementation for DynamicsCrmSink. -func (dcs DynamicsCrmSink) AsBlobSink() (*BlobSink, bool) { - return nil, false -} - -// AsBinarySink is the BasicCopySink implementation for DynamicsCrmSink. -func (dcs DynamicsCrmSink) AsBinarySink() (*BinarySink, bool) { - return nil, false -} - -// AsParquetSink is the BasicCopySink implementation for DynamicsCrmSink. -func (dcs DynamicsCrmSink) AsParquetSink() (*ParquetSink, bool) { - return nil, false -} - -// AsAvroSink is the BasicCopySink implementation for DynamicsCrmSink. -func (dcs DynamicsCrmSink) AsAvroSink() (*AvroSink, bool) { - return nil, false -} - -// AsAzureTableSink is the BasicCopySink implementation for DynamicsCrmSink. -func (dcs DynamicsCrmSink) AsAzureTableSink() (*AzureTableSink, bool) { - return nil, false -} - -// AsAzureQueueSink is the BasicCopySink implementation for DynamicsCrmSink. -func (dcs DynamicsCrmSink) AsAzureQueueSink() (*AzureQueueSink, bool) { +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { return nil, false } -// AsSapCloudForCustomerSink is the BasicCopySink implementation for DynamicsCrmSink. -func (dcs DynamicsCrmSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) { +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { return nil, false } -// AsAzurePostgreSQLSink is the BasicCopySink implementation for DynamicsCrmSink. -func (dcs DynamicsCrmSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) { +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { return nil, false } -// AsDelimitedTextSink is the BasicCopySink implementation for DynamicsCrmSink. -func (dcs DynamicsCrmSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) { +// AsDynamicsAXResourceDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { return nil, false } -// AsCopySink is the BasicCopySink implementation for DynamicsCrmSink. -func (dcs DynamicsCrmSink) AsCopySink() (*CopySink, bool) { +// AsResponsysObjectDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { return nil, false } -// AsBasicCopySink is the BasicCopySink implementation for DynamicsCrmSink. -func (dcs DynamicsCrmSink) AsBasicCopySink() (BasicCopySink, bool) { - return &dcs, true -} - -// UnmarshalJSON is the custom unmarshaler for DynamicsCrmSink struct. -func (dcs *DynamicsCrmSink) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - case "writeBehavior": - if v != nil { - var writeBehavior string - err = json.Unmarshal(*v, &writeBehavior) - if err != nil { - return err - } - dcs.WriteBehavior = &writeBehavior - } - case "ignoreNullValues": - if v != nil { - var ignoreNullValues interface{} - err = json.Unmarshal(*v, &ignoreNullValues) - if err != nil { - return err - } - dcs.IgnoreNullValues = ignoreNullValues - } - default: - if v != nil { - var additionalProperties interface{} - err = json.Unmarshal(*v, &additionalProperties) - if err != nil { - return err - } - if dcs.AdditionalProperties == nil { - dcs.AdditionalProperties = make(map[string]interface{}) - } - dcs.AdditionalProperties[k] = additionalProperties - } - case "writeBatchSize": - if v != nil { - var writeBatchSize interface{} - err = json.Unmarshal(*v, &writeBatchSize) - if err != nil { - return err - } - dcs.WriteBatchSize = writeBatchSize - } - case "writeBatchTimeout": - if v != nil { - var writeBatchTimeout interface{} - err = json.Unmarshal(*v, &writeBatchTimeout) - if err != nil { - return err - } - dcs.WriteBatchTimeout = writeBatchTimeout - } - case "sinkRetryCount": - if v != nil { - var sinkRetryCount interface{} - err = json.Unmarshal(*v, &sinkRetryCount) - if err != nil { - return err - } - dcs.SinkRetryCount = sinkRetryCount - } - case "sinkRetryWait": - if v != nil { - var sinkRetryWait interface{} - err = json.Unmarshal(*v, &sinkRetryWait) - if err != nil { - return err - } - dcs.SinkRetryWait = sinkRetryWait - } - case "maxConcurrentConnections": - if v != nil { - var maxConcurrentConnections interface{} - err = json.Unmarshal(*v, &maxConcurrentConnections) - if err != nil { - return err - } - dcs.MaxConcurrentConnections = maxConcurrentConnections - } - case "type": - if v != nil { - var typeVar TypeBasicCopySink - err = json.Unmarshal(*v, &typeVar) - if err != nil { - return err - } - dcs.Type = typeVar - } - } - } - - return nil -} - -// DynamicsCrmSource a copy activity Dynamics CRM source. -type DynamicsCrmSource struct { - // Query - FetchXML is a proprietary query language that is used in Microsoft Dynamics CRM (online & on-premises). Type: string (or Expression with resultType string). - Query interface{} `json:"query,omitempty"` - // AdditionalProperties - Unmatched properties from the message are deserialized this collection - AdditionalProperties map[string]interface{} `json:""` - // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). - SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` - // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). - SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` - // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). - MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' - Type TypeBasicCopySource `json:"type,omitempty"` -} - -// MarshalJSON is the custom marshaler for DynamicsCrmSource. -func (dcs DynamicsCrmSource) MarshalJSON() ([]byte, error) { - dcs.Type = TypeDynamicsCrmSource - objectMap := make(map[string]interface{}) - if dcs.Query != nil { - objectMap["query"] = dcs.Query - } - if dcs.SourceRetryCount != nil { - objectMap["sourceRetryCount"] = dcs.SourceRetryCount - } - if dcs.SourceRetryWait != nil { - objectMap["sourceRetryWait"] = dcs.SourceRetryWait - } - if dcs.MaxConcurrentConnections != nil { - objectMap["maxConcurrentConnections"] = dcs.MaxConcurrentConnections - } - if dcs.Type != "" { - objectMap["type"] = dcs.Type - } - for k, v := range dcs.AdditionalProperties { - objectMap[k] = v - } - return json.Marshal(objectMap) -} - -// AsAmazonRedshiftSource is the BasicCopySource implementation for DynamicsCrmSource. -func (dcs DynamicsCrmSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { return nil, false } -// AsGoogleAdWordsSource is the BasicCopySource implementation for DynamicsCrmSource. -func (dcs DynamicsCrmSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { +// AsVerticaTableDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { return nil, false } -// AsOracleServiceCloudSource is the BasicCopySource implementation for DynamicsCrmSource. -func (dcs DynamicsCrmSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { +// AsNetezzaTableDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { return nil, false } -// AsDynamicsAXSource is the BasicCopySource implementation for DynamicsCrmSource. -func (dcs DynamicsCrmSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { +// AsZohoObjectDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { return nil, false } -// AsResponsysSource is the BasicCopySource implementation for DynamicsCrmSource. -func (dcs DynamicsCrmSource) AsResponsysSource() (*ResponsysSource, bool) { +// AsXeroObjectDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { return nil, false } -// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for DynamicsCrmSource. -func (dcs DynamicsCrmSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { +// AsSquareObjectDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { return nil, false } -// AsVerticaSource is the BasicCopySource implementation for DynamicsCrmSource. -func (dcs DynamicsCrmSource) AsVerticaSource() (*VerticaSource, bool) { +// AsSparkObjectDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { return nil, false } -// AsNetezzaSource is the BasicCopySource implementation for DynamicsCrmSource. -func (dcs DynamicsCrmSource) AsNetezzaSource() (*NetezzaSource, bool) { +// AsShopifyObjectDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { return nil, false } -// AsZohoSource is the BasicCopySource implementation for DynamicsCrmSource. -func (dcs DynamicsCrmSource) AsZohoSource() (*ZohoSource, bool) { +// AsServiceNowObjectDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { return nil, false } -// AsXeroSource is the BasicCopySource implementation for DynamicsCrmSource. -func (dcs DynamicsCrmSource) AsXeroSource() (*XeroSource, bool) { +// AsQuickBooksObjectDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { return nil, false } -// AsSquareSource is the BasicCopySource implementation for DynamicsCrmSource. -func (dcs DynamicsCrmSource) AsSquareSource() (*SquareSource, bool) { +// AsPrestoObjectDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { return nil, false } -// AsSparkSource is the BasicCopySource implementation for DynamicsCrmSource. -func (dcs DynamicsCrmSource) AsSparkSource() (*SparkSource, bool) { +// AsPhoenixObjectDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { return nil, false } -// AsShopifySource is the BasicCopySource implementation for DynamicsCrmSource. -func (dcs DynamicsCrmSource) AsShopifySource() (*ShopifySource, bool) { +// AsPaypalObjectDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { return nil, false } -// AsServiceNowSource is the BasicCopySource implementation for DynamicsCrmSource. -func (dcs DynamicsCrmSource) AsServiceNowSource() (*ServiceNowSource, bool) { +// AsMarketoObjectDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { return nil, false } -// AsQuickBooksSource is the BasicCopySource implementation for DynamicsCrmSource. -func (dcs DynamicsCrmSource) AsQuickBooksSource() (*QuickBooksSource, bool) { +// AsAzureMariaDBTableDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { return nil, false } -// AsPrestoSource is the BasicCopySource implementation for DynamicsCrmSource. -func (dcs DynamicsCrmSource) AsPrestoSource() (*PrestoSource, bool) { +// AsMariaDBTableDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { return nil, false } -// AsPhoenixSource is the BasicCopySource implementation for DynamicsCrmSource. -func (dcs DynamicsCrmSource) AsPhoenixSource() (*PhoenixSource, bool) { +// AsMagentoObjectDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { return nil, false } -// AsPaypalSource is the BasicCopySource implementation for DynamicsCrmSource. -func (dcs DynamicsCrmSource) AsPaypalSource() (*PaypalSource, bool) { +// AsJiraObjectDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { return nil, false } -// AsMarketoSource is the BasicCopySource implementation for DynamicsCrmSource. -func (dcs DynamicsCrmSource) AsMarketoSource() (*MarketoSource, bool) { +// AsImpalaObjectDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { return nil, false } -// AsAzureMariaDBSource is the BasicCopySource implementation for DynamicsCrmSource. -func (dcs DynamicsCrmSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { +// AsHubspotObjectDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { return nil, false } -// AsMariaDBSource is the BasicCopySource implementation for DynamicsCrmSource. -func (dcs DynamicsCrmSource) AsMariaDBSource() (*MariaDBSource, bool) { +// AsHiveObjectDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { return nil, false } -// AsMagentoSource is the BasicCopySource implementation for DynamicsCrmSource. -func (dcs DynamicsCrmSource) AsMagentoSource() (*MagentoSource, bool) { +// AsHBaseObjectDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { return nil, false } -// AsJiraSource is the BasicCopySource implementation for DynamicsCrmSource. -func (dcs DynamicsCrmSource) AsJiraSource() (*JiraSource, bool) { +// AsGreenplumTableDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { return nil, false } -// AsImpalaSource is the BasicCopySource implementation for DynamicsCrmSource. -func (dcs DynamicsCrmSource) AsImpalaSource() (*ImpalaSource, bool) { +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { return nil, false } -// AsHubspotSource is the BasicCopySource implementation for DynamicsCrmSource. -func (dcs DynamicsCrmSource) AsHubspotSource() (*HubspotSource, bool) { +// AsEloquaObjectDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { return nil, false } -// AsHiveSource is the BasicCopySource implementation for DynamicsCrmSource. -func (dcs DynamicsCrmSource) AsHiveSource() (*HiveSource, bool) { - return nil, false +// AsDrillTableDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { + return &dtd, true } -// AsHBaseSource is the BasicCopySource implementation for DynamicsCrmSource. -func (dcs DynamicsCrmSource) AsHBaseSource() (*HBaseSource, bool) { +// AsCouchbaseTableDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { return nil, false } -// AsGreenplumSource is the BasicCopySource implementation for DynamicsCrmSource. -func (dcs DynamicsCrmSource) AsGreenplumSource() (*GreenplumSource, bool) { +// AsConcurObjectDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { return nil, false } -// AsGoogleBigQuerySource is the BasicCopySource implementation for DynamicsCrmSource. -func (dcs DynamicsCrmSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { return nil, false } -// AsEloquaSource is the BasicCopySource implementation for DynamicsCrmSource. -func (dcs DynamicsCrmSource) AsEloquaSource() (*EloquaSource, bool) { +// AsAmazonMWSObjectDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { return nil, false } -// AsDrillSource is the BasicCopySource implementation for DynamicsCrmSource. -func (dcs DynamicsCrmSource) AsDrillSource() (*DrillSource, bool) { +// AsHTTPDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsHTTPDataset() (*HTTPDataset, bool) { return nil, false } -// AsCouchbaseSource is the BasicCopySource implementation for DynamicsCrmSource. -func (dcs DynamicsCrmSource) AsCouchbaseSource() (*CouchbaseSource, bool) { +// AsAzureSearchIndexDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { return nil, false } -// AsConcurSource is the BasicCopySource implementation for DynamicsCrmSource. -func (dcs DynamicsCrmSource) AsConcurSource() (*ConcurSource, bool) { +// AsWebTableDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsWebTableDataset() (*WebTableDataset, bool) { return nil, false } -// AsAzurePostgreSQLSource is the BasicCopySource implementation for DynamicsCrmSource. -func (dcs DynamicsCrmSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { +// AsSapTableResourceDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { return nil, false } -// AsAmazonMWSSource is the BasicCopySource implementation for DynamicsCrmSource. -func (dcs DynamicsCrmSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { +// AsRestResourceDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { return nil, false } -// AsHTTPSource is the BasicCopySource implementation for DynamicsCrmSource. -func (dcs DynamicsCrmSource) AsHTTPSource() (*HTTPSource, bool) { +// AsSQLServerTableDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { return nil, false } -// AsAzureBlobFSSource is the BasicCopySource implementation for DynamicsCrmSource. -func (dcs DynamicsCrmSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { +// AsSapOpenHubTableDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { return nil, false } -// AsAzureDataLakeStoreSource is the BasicCopySource implementation for DynamicsCrmSource. -func (dcs DynamicsCrmSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { +// AsSapHanaTableDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { return nil, false } -// AsOffice365Source is the BasicCopySource implementation for DynamicsCrmSource. -func (dcs DynamicsCrmSource) AsOffice365Source() (*Office365Source, bool) { +// AsSapEccResourceDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { return nil, false } -// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for DynamicsCrmSource. -func (dcs DynamicsCrmSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { return nil, false } -// AsMongoDbV2Source is the BasicCopySource implementation for DynamicsCrmSource. -func (dcs DynamicsCrmSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { +// AsSapBwCubeDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { return nil, false } -// AsMongoDbSource is the BasicCopySource implementation for DynamicsCrmSource. -func (dcs DynamicsCrmSource) AsMongoDbSource() (*MongoDbSource, bool) { +// AsSybaseTableDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { return nil, false } -// AsCassandraSource is the BasicCopySource implementation for DynamicsCrmSource. -func (dcs DynamicsCrmSource) AsCassandraSource() (*CassandraSource, bool) { +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { return nil, false } -// AsWebSource is the BasicCopySource implementation for DynamicsCrmSource. -func (dcs DynamicsCrmSource) AsWebSource() (*WebSource, bool) { +// AsSalesforceObjectDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { return nil, false } -// AsTeradataSource is the BasicCopySource implementation for DynamicsCrmSource. -func (dcs DynamicsCrmSource) AsTeradataSource() (*TeradataSource, bool) { +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { return nil, false } -// AsOracleSource is the BasicCopySource implementation for DynamicsCrmSource. -func (dcs DynamicsCrmSource) AsOracleSource() (*OracleSource, bool) { +// AsPostgreSQLTableDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { return nil, false } -// AsAzureDataExplorerSource is the BasicCopySource implementation for DynamicsCrmSource. -func (dcs DynamicsCrmSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { +// AsMySQLTableDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { return nil, false } -// AsAzureMySQLSource is the BasicCopySource implementation for DynamicsCrmSource. -func (dcs DynamicsCrmSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { +// AsOdbcTableDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { return nil, false } -// AsHdfsSource is the BasicCopySource implementation for DynamicsCrmSource. -func (dcs DynamicsCrmSource) AsHdfsSource() (*HdfsSource, bool) { +// AsInformixTableDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { return nil, false } -// AsFileSystemSource is the BasicCopySource implementation for DynamicsCrmSource. -func (dcs DynamicsCrmSource) AsFileSystemSource() (*FileSystemSource, bool) { +// AsRelationalTableDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { return nil, false } -// AsSQLDWSource is the BasicCopySource implementation for DynamicsCrmSource. -func (dcs DynamicsCrmSource) AsSQLDWSource() (*SQLDWSource, bool) { +// AsDb2TableDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { return nil, false } -// AsSQLMISource is the BasicCopySource implementation for DynamicsCrmSource. -func (dcs DynamicsCrmSource) AsSQLMISource() (*SQLMISource, bool) { +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { return nil, false } -// AsAzureSQLSource is the BasicCopySource implementation for DynamicsCrmSource. -func (dcs DynamicsCrmSource) AsAzureSQLSource() (*AzureSQLSource, bool) { +// AsAzureMySQLTableDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { return nil, false } -// AsSQLServerSource is the BasicCopySource implementation for DynamicsCrmSource. -func (dcs DynamicsCrmSource) AsSQLServerSource() (*SQLServerSource, bool) { +// AsTeradataTableDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { return nil, false } -// AsSQLSource is the BasicCopySource implementation for DynamicsCrmSource. -func (dcs DynamicsCrmSource) AsSQLSource() (*SQLSource, bool) { +// AsOracleTableDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { return nil, false } -// AsRestSource is the BasicCopySource implementation for DynamicsCrmSource. -func (dcs DynamicsCrmSource) AsRestSource() (*RestSource, bool) { +// AsODataResourceDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { return nil, false } -// AsSapTableSource is the BasicCopySource implementation for DynamicsCrmSource. -func (dcs DynamicsCrmSource) AsSapTableSource() (*SapTableSource, bool) { +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { return nil, false } -// AsSapOpenHubSource is the BasicCopySource implementation for DynamicsCrmSource. -func (dcs DynamicsCrmSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { return nil, false } -// AsSapHanaSource is the BasicCopySource implementation for DynamicsCrmSource. -func (dcs DynamicsCrmSource) AsSapHanaSource() (*SapHanaSource, bool) { +// AsMongoDbCollectionDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { return nil, false } -// AsSapEccSource is the BasicCopySource implementation for DynamicsCrmSource. -func (dcs DynamicsCrmSource) AsSapEccSource() (*SapEccSource, bool) { +// AsFileShareDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsFileShareDataset() (*FileShareDataset, bool) { return nil, false } -// AsSapCloudForCustomerSource is the BasicCopySource implementation for DynamicsCrmSource. -func (dcs DynamicsCrmSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { +// AsOffice365Dataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsOffice365Dataset() (*Office365Dataset, bool) { return nil, false } -// AsSalesforceServiceCloudSource is the BasicCopySource implementation for DynamicsCrmSource. -func (dcs DynamicsCrmSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { +// AsAzureBlobFSDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) { return nil, false } -// AsSalesforceSource is the BasicCopySource implementation for DynamicsCrmSource. -func (dcs DynamicsCrmSource) AsSalesforceSource() (*SalesforceSource, bool) { +// AsAzureDataLakeStoreDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) { return nil, false } -// AsODataSource is the BasicCopySource implementation for DynamicsCrmSource. -func (dcs DynamicsCrmSource) AsODataSource() (*ODataSource, bool) { +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { return nil, false } -// AsSapBwSource is the BasicCopySource implementation for DynamicsCrmSource. -func (dcs DynamicsCrmSource) AsSapBwSource() (*SapBwSource, bool) { +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { return nil, false } -// AsSybaseSource is the BasicCopySource implementation for DynamicsCrmSource. -func (dcs DynamicsCrmSource) AsSybaseSource() (*SybaseSource, bool) { +// AsDynamicsEntityDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { return nil, false } -// AsPostgreSQLSource is the BasicCopySource implementation for DynamicsCrmSource. -func (dcs DynamicsCrmSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { +// AsDocumentDbCollectionDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { return nil, false } -// AsMySQLSource is the BasicCopySource implementation for DynamicsCrmSource. -func (dcs DynamicsCrmSource) AsMySQLSource() (*MySQLSource, bool) { +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { return nil, false } -// AsOdbcSource is the BasicCopySource implementation for DynamicsCrmSource. -func (dcs DynamicsCrmSource) AsOdbcSource() (*OdbcSource, bool) { +// AsCustomDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsCustomDataset() (*CustomDataset, bool) { return nil, false } -// AsDb2Source is the BasicCopySource implementation for DynamicsCrmSource. -func (dcs DynamicsCrmSource) AsDb2Source() (*Db2Source, bool) { +// AsCassandraTableDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { return nil, false } -// AsMicrosoftAccessSource is the BasicCopySource implementation for DynamicsCrmSource. -func (dcs DynamicsCrmSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { +// AsAzureSQLDWTableDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { return nil, false } -// AsInformixSource is the BasicCopySource implementation for DynamicsCrmSource. -func (dcs DynamicsCrmSource) AsInformixSource() (*InformixSource, bool) { +// AsAzureSQLMITableDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { return nil, false } -// AsRelationalSource is the BasicCopySource implementation for DynamicsCrmSource. -func (dcs DynamicsCrmSource) AsRelationalSource() (*RelationalSource, bool) { +// AsAzureSQLTableDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { return nil, false } -// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for DynamicsCrmSource. -func (dcs DynamicsCrmSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { +// AsAzureTableDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { return nil, false } -// AsDynamicsCrmSource is the BasicCopySource implementation for DynamicsCrmSource. -func (dcs DynamicsCrmSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { - return &dcs, true -} - -// AsDynamicsSource is the BasicCopySource implementation for DynamicsCrmSource. -func (dcs DynamicsCrmSource) AsDynamicsSource() (*DynamicsSource, bool) { +// AsAzureBlobDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) { return nil, false } -// AsDocumentDbCollectionSource is the BasicCopySource implementation for DynamicsCrmSource. -func (dcs DynamicsCrmSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { +// AsBinaryDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsBinaryDataset() (*BinaryDataset, bool) { return nil, false } -// AsBlobSource is the BasicCopySource implementation for DynamicsCrmSource. -func (dcs DynamicsCrmSource) AsBlobSource() (*BlobSource, bool) { +// AsOrcDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsOrcDataset() (*OrcDataset, bool) { return nil, false } -// AsAzureTableSource is the BasicCopySource implementation for DynamicsCrmSource. -func (dcs DynamicsCrmSource) AsAzureTableSource() (*AzureTableSource, bool) { +// AsJSONDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsJSONDataset() (*JSONDataset, bool) { return nil, false } -// AsBinarySource is the BasicCopySource implementation for DynamicsCrmSource. -func (dcs DynamicsCrmSource) AsBinarySource() (*BinarySource, bool) { +// AsDelimitedTextDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { return nil, false } -// AsDelimitedTextSource is the BasicCopySource implementation for DynamicsCrmSource. -func (dcs DynamicsCrmSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { +// AsParquetDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsParquetDataset() (*ParquetDataset, bool) { return nil, false } -// AsParquetSource is the BasicCopySource implementation for DynamicsCrmSource. -func (dcs DynamicsCrmSource) AsParquetSource() (*ParquetSource, bool) { +// AsAvroDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsAvroDataset() (*AvroDataset, bool) { return nil, false } -// AsAvroSource is the BasicCopySource implementation for DynamicsCrmSource. -func (dcs DynamicsCrmSource) AsAvroSource() (*AvroSource, bool) { +// AsAmazonS3Dataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) { return nil, false } -// AsCopySource is the BasicCopySource implementation for DynamicsCrmSource. -func (dcs DynamicsCrmSource) AsCopySource() (*CopySource, bool) { +// AsDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsDataset() (*Dataset, bool) { return nil, false } -// AsBasicCopySource is the BasicCopySource implementation for DynamicsCrmSource. -func (dcs DynamicsCrmSource) AsBasicCopySource() (BasicCopySource, bool) { - return &dcs, true +// AsBasicDataset is the BasicDataset implementation for DrillTableDataset. +func (dtd DrillTableDataset) AsBasicDataset() (BasicDataset, bool) { + return &dtd, true } -// UnmarshalJSON is the custom unmarshaler for DynamicsCrmSource struct. -func (dcs *DynamicsCrmSource) UnmarshalJSON(body []byte) error { +// UnmarshalJSON is the custom unmarshaler for DrillTableDataset struct. +func (dtd *DrillTableDataset) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -69934,14 +75395,14 @@ func (dcs *DynamicsCrmSource) UnmarshalJSON(body []byte) error { } for k, v := range m { switch k { - case "query": + case "typeProperties": if v != nil { - var query interface{} - err = json.Unmarshal(*v, &query) + var drillDatasetTypeProperties DrillDatasetTypeProperties + err = json.Unmarshal(*v, &drillDatasetTypeProperties) if err != nil { return err } - dcs.Query = query + dtd.DrillDatasetTypeProperties = &drillDatasetTypeProperties } default: if v != nil { @@ -69950,46 +75411,82 @@ func (dcs *DynamicsCrmSource) UnmarshalJSON(body []byte) error { if err != nil { return err } - if dcs.AdditionalProperties == nil { - dcs.AdditionalProperties = make(map[string]interface{}) + if dtd.AdditionalProperties == nil { + dtd.AdditionalProperties = make(map[string]interface{}) } - dcs.AdditionalProperties[k] = additionalProperties + dtd.AdditionalProperties[k] = additionalProperties } - case "sourceRetryCount": + case "description": if v != nil { - var sourceRetryCount interface{} - err = json.Unmarshal(*v, &sourceRetryCount) + var description string + err = json.Unmarshal(*v, &description) if err != nil { return err } - dcs.SourceRetryCount = sourceRetryCount + dtd.Description = &description } - case "sourceRetryWait": + case "structure": if v != nil { - var sourceRetryWait interface{} - err = json.Unmarshal(*v, &sourceRetryWait) + var structure interface{} + err = json.Unmarshal(*v, &structure) if err != nil { return err } - dcs.SourceRetryWait = sourceRetryWait + dtd.Structure = structure } - case "maxConcurrentConnections": + case "schema": if v != nil { - var maxConcurrentConnections interface{} - err = json.Unmarshal(*v, &maxConcurrentConnections) + var schema interface{} + err = json.Unmarshal(*v, &schema) if err != nil { return err } - dcs.MaxConcurrentConnections = maxConcurrentConnections + dtd.Schema = schema + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + dtd.LinkedServiceName = &linkedServiceName + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + dtd.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + dtd.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + dtd.Folder = &folder } case "type": if v != nil { - var typeVar TypeBasicCopySource + var typeVar TypeBasicDataset err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - dcs.Type = typeVar + dtd.Type = typeVar } } } @@ -69997,489 +75494,534 @@ func (dcs *DynamicsCrmSource) UnmarshalJSON(body []byte) error { return nil } -// DynamicsEntityDataset the Dynamics entity dataset. -type DynamicsEntityDataset struct { - // DynamicsEntityDatasetTypeProperties - Dynamics entity dataset properties. - *DynamicsEntityDatasetTypeProperties `json:"typeProperties,omitempty"` +// DynamicsAXLinkedService dynamics AX linked service. +type DynamicsAXLinkedService struct { + // DynamicsAXLinkedServiceTypeProperties - Dynamics AX linked service properties. + *DynamicsAXLinkedServiceTypeProperties `json:"typeProperties,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` - // Description - Dataset description. + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. Description *string `json:"description,omitempty"` - // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. - Structure interface{} `json:"structure,omitempty"` - // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. - Schema interface{} `json:"schema,omitempty"` - // LinkedServiceName - Linked service reference. - LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` - // Parameters - Parameters for dataset. + // Parameters - Parameters for linked service. Parameters map[string]*ParameterSpecification `json:"parameters"` - // Annotations - List of tags that can be used for describing the Dataset. + // Annotations - List of tags that can be used for describing the linked service. Annotations *[]interface{} `json:"annotations,omitempty"` - // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. - Folder *DatasetFolder `json:"folder,omitempty"` - // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' - Type TypeBasicDataset `json:"type,omitempty"` + // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' + Type TypeBasicLinkedService `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for DynamicsEntityDataset. -func (ded DynamicsEntityDataset) MarshalJSON() ([]byte, error) { - ded.Type = TypeDynamicsEntity +// MarshalJSON is the custom marshaler for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) MarshalJSON() ([]byte, error) { + dals.Type = TypeDynamicsAX objectMap := make(map[string]interface{}) - if ded.DynamicsEntityDatasetTypeProperties != nil { - objectMap["typeProperties"] = ded.DynamicsEntityDatasetTypeProperties - } - if ded.Description != nil { - objectMap["description"] = ded.Description - } - if ded.Structure != nil { - objectMap["structure"] = ded.Structure - } - if ded.Schema != nil { - objectMap["schema"] = ded.Schema + if dals.DynamicsAXLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = dals.DynamicsAXLinkedServiceTypeProperties } - if ded.LinkedServiceName != nil { - objectMap["linkedServiceName"] = ded.LinkedServiceName + if dals.ConnectVia != nil { + objectMap["connectVia"] = dals.ConnectVia } - if ded.Parameters != nil { - objectMap["parameters"] = ded.Parameters + if dals.Description != nil { + objectMap["description"] = dals.Description } - if ded.Annotations != nil { - objectMap["annotations"] = ded.Annotations + if dals.Parameters != nil { + objectMap["parameters"] = dals.Parameters } - if ded.Folder != nil { - objectMap["folder"] = ded.Folder + if dals.Annotations != nil { + objectMap["annotations"] = dals.Annotations } - if ded.Type != "" { - objectMap["type"] = ded.Type + if dals.Type != "" { + objectMap["type"] = dals.Type } - for k, v := range ded.AdditionalProperties { + for k, v := range dals.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for DynamicsEntityDataset. -func (ded DynamicsEntityDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { return nil, false } -// AsAzureDataExplorerTableDataset is the BasicDataset implementation for DynamicsEntityDataset. -func (ded DynamicsEntityDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { return nil, false } -// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for DynamicsEntityDataset. -func (ded DynamicsEntityDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { +// AsSapTableLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { return nil, false } -// AsDynamicsAXResourceDataset is the BasicDataset implementation for DynamicsEntityDataset. -func (ded DynamicsEntityDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { return nil, false } -// AsResponsysObjectDataset is the BasicDataset implementation for DynamicsEntityDataset. -func (ded DynamicsEntityDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { return nil, false } -// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for DynamicsEntityDataset. -func (ded DynamicsEntityDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return &dals, true +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { return nil, false } -// AsVerticaTableDataset is the BasicDataset implementation for DynamicsEntityDataset. -func (ded DynamicsEntityDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { return nil, false } -// AsNetezzaTableDataset is the BasicDataset implementation for DynamicsEntityDataset. -func (ded DynamicsEntityDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { return nil, false } -// AsZohoObjectDataset is the BasicDataset implementation for DynamicsEntityDataset. -func (ded DynamicsEntityDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { return nil, false } -// AsXeroObjectDataset is the BasicDataset implementation for DynamicsEntityDataset. -func (ded DynamicsEntityDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { return nil, false } -// AsSquareObjectDataset is the BasicDataset implementation for DynamicsEntityDataset. -func (ded DynamicsEntityDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { +// AsNetezzaLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { return nil, false } -// AsSparkObjectDataset is the BasicDataset implementation for DynamicsEntityDataset. -func (ded DynamicsEntityDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { +// AsVerticaLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { return nil, false } -// AsShopifyObjectDataset is the BasicDataset implementation for DynamicsEntityDataset. -func (ded DynamicsEntityDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { +// AsZohoLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { return nil, false } -// AsServiceNowObjectDataset is the BasicDataset implementation for DynamicsEntityDataset. -func (ded DynamicsEntityDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { +// AsXeroLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { return nil, false } -// AsQuickBooksObjectDataset is the BasicDataset implementation for DynamicsEntityDataset. -func (ded DynamicsEntityDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { +// AsSquareLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { return nil, false } -// AsPrestoObjectDataset is the BasicDataset implementation for DynamicsEntityDataset. -func (ded DynamicsEntityDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { +// AsSparkLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { return nil, false } -// AsPhoenixObjectDataset is the BasicDataset implementation for DynamicsEntityDataset. -func (ded DynamicsEntityDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { +// AsShopifyLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { return nil, false } -// AsPaypalObjectDataset is the BasicDataset implementation for DynamicsEntityDataset. -func (ded DynamicsEntityDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { +// AsServiceNowLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { return nil, false } -// AsMarketoObjectDataset is the BasicDataset implementation for DynamicsEntityDataset. -func (ded DynamicsEntityDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { +// AsQuickBooksLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { return nil, false } -// AsAzureMariaDBTableDataset is the BasicDataset implementation for DynamicsEntityDataset. -func (ded DynamicsEntityDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { +// AsPrestoLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { return nil, false } -// AsMariaDBTableDataset is the BasicDataset implementation for DynamicsEntityDataset. -func (ded DynamicsEntityDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { +// AsPhoenixLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { return nil, false } -// AsMagentoObjectDataset is the BasicDataset implementation for DynamicsEntityDataset. -func (ded DynamicsEntityDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { +// AsPaypalLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { return nil, false } -// AsJiraObjectDataset is the BasicDataset implementation for DynamicsEntityDataset. -func (ded DynamicsEntityDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { +// AsMarketoLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { return nil, false } -// AsImpalaObjectDataset is the BasicDataset implementation for DynamicsEntityDataset. -func (ded DynamicsEntityDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { return nil, false } -// AsHubspotObjectDataset is the BasicDataset implementation for DynamicsEntityDataset. -func (ded DynamicsEntityDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { +// AsMariaDBLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { return nil, false } -// AsHiveObjectDataset is the BasicDataset implementation for DynamicsEntityDataset. -func (ded DynamicsEntityDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { +// AsMagentoLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { return nil, false } -// AsHBaseObjectDataset is the BasicDataset implementation for DynamicsEntityDataset. -func (ded DynamicsEntityDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { +// AsJiraLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { return nil, false } -// AsGreenplumTableDataset is the BasicDataset implementation for DynamicsEntityDataset. -func (ded DynamicsEntityDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { +// AsImpalaLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { return nil, false } -// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for DynamicsEntityDataset. -func (ded DynamicsEntityDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { +// AsHubspotLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { return nil, false } -// AsEloquaObjectDataset is the BasicDataset implementation for DynamicsEntityDataset. -func (ded DynamicsEntityDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { +// AsHiveLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { return nil, false } -// AsDrillTableDataset is the BasicDataset implementation for DynamicsEntityDataset. -func (ded DynamicsEntityDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { +// AsHBaseLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { return nil, false } -// AsCouchbaseTableDataset is the BasicDataset implementation for DynamicsEntityDataset. -func (ded DynamicsEntityDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { +// AsGreenplumLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { return nil, false } -// AsConcurObjectDataset is the BasicDataset implementation for DynamicsEntityDataset. -func (ded DynamicsEntityDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { return nil, false } -// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for DynamicsEntityDataset. -func (ded DynamicsEntityDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { +// AsEloquaLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { return nil, false } -// AsAmazonMWSObjectDataset is the BasicDataset implementation for DynamicsEntityDataset. -func (ded DynamicsEntityDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { +// AsDrillLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { return nil, false } -// AsHTTPDataset is the BasicDataset implementation for DynamicsEntityDataset. -func (ded DynamicsEntityDataset) AsHTTPDataset() (*HTTPDataset, bool) { +// AsCouchbaseLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { return nil, false } -// AsAzureSearchIndexDataset is the BasicDataset implementation for DynamicsEntityDataset. -func (ded DynamicsEntityDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { +// AsConcurLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { return nil, false } -// AsWebTableDataset is the BasicDataset implementation for DynamicsEntityDataset. -func (ded DynamicsEntityDataset) AsWebTableDataset() (*WebTableDataset, bool) { +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { return nil, false } -// AsSapTableResourceDataset is the BasicDataset implementation for DynamicsEntityDataset. -func (ded DynamicsEntityDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { return nil, false } -// AsRestResourceDataset is the BasicDataset implementation for DynamicsEntityDataset. -func (ded DynamicsEntityDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { +// AsSapHanaLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { return nil, false } -// AsSQLServerTableDataset is the BasicDataset implementation for DynamicsEntityDataset. -func (ded DynamicsEntityDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { +// AsSapBWLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { return nil, false } -// AsSapOpenHubTableDataset is the BasicDataset implementation for DynamicsEntityDataset. -func (ded DynamicsEntityDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { +// AsSftpServerLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { return nil, false } -// AsSapHanaTableDataset is the BasicDataset implementation for DynamicsEntityDataset. -func (ded DynamicsEntityDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { +// AsFtpServerLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { return nil, false } -// AsSapEccResourceDataset is the BasicDataset implementation for DynamicsEntityDataset. -func (ded DynamicsEntityDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { +// AsHTTPLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { return nil, false } -// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for DynamicsEntityDataset. -func (ded DynamicsEntityDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { +// AsAzureSearchLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { return nil, false } -// AsSapBwCubeDataset is the BasicDataset implementation for DynamicsEntityDataset. -func (ded DynamicsEntityDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { return nil, false } -// AsSybaseTableDataset is the BasicDataset implementation for DynamicsEntityDataset. -func (ded DynamicsEntityDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { return nil, false } -// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for DynamicsEntityDataset. -func (ded DynamicsEntityDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { +// AsAmazonS3LinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { return nil, false } -// AsSalesforceObjectDataset is the BasicDataset implementation for DynamicsEntityDataset. -func (ded DynamicsEntityDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { +// AsRestServiceLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { return nil, false } -// AsMicrosoftAccessTableDataset is the BasicDataset implementation for DynamicsEntityDataset. -func (ded DynamicsEntityDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { return nil, false } -// AsPostgreSQLTableDataset is the BasicDataset implementation for DynamicsEntityDataset. -func (ded DynamicsEntityDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { +// AsSapEccLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { return nil, false } -// AsMySQLTableDataset is the BasicDataset implementation for DynamicsEntityDataset. -func (ded DynamicsEntityDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { return nil, false } -// AsOdbcTableDataset is the BasicDataset implementation for DynamicsEntityDataset. -func (ded DynamicsEntityDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { return nil, false } -// AsInformixTableDataset is the BasicDataset implementation for DynamicsEntityDataset. -func (ded DynamicsEntityDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { +// AsSalesforceLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { return nil, false } -// AsRelationalTableDataset is the BasicDataset implementation for DynamicsEntityDataset. -func (ded DynamicsEntityDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { +// AsOffice365LinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { return nil, false } -// AsAzureMySQLTableDataset is the BasicDataset implementation for DynamicsEntityDataset. -func (ded DynamicsEntityDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { return nil, false } -// AsTeradataTableDataset is the BasicDataset implementation for DynamicsEntityDataset. -func (ded DynamicsEntityDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { return nil, false } -// AsOracleTableDataset is the BasicDataset implementation for DynamicsEntityDataset. -func (ded DynamicsEntityDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { return nil, false } -// AsODataResourceDataset is the BasicDataset implementation for DynamicsEntityDataset. -func (ded DynamicsEntityDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { return nil, false } -// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for DynamicsEntityDataset. -func (ded DynamicsEntityDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { +// AsMongoDbLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { return nil, false } -// AsMongoDbV2CollectionDataset is the BasicDataset implementation for DynamicsEntityDataset. -func (ded DynamicsEntityDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { +// AsCassandraLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { return nil, false } -// AsMongoDbCollectionDataset is the BasicDataset implementation for DynamicsEntityDataset. -func (ded DynamicsEntityDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { +// AsWebLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { return nil, false } -// AsFileShareDataset is the BasicDataset implementation for DynamicsEntityDataset. -func (ded DynamicsEntityDataset) AsFileShareDataset() (*FileShareDataset, bool) { +// AsODataLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { return nil, false } -// AsOffice365Dataset is the BasicDataset implementation for DynamicsEntityDataset. -func (ded DynamicsEntityDataset) AsOffice365Dataset() (*Office365Dataset, bool) { +// AsHdfsLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { return nil, false } -// AsAzureBlobFSDataset is the BasicDataset implementation for DynamicsEntityDataset. -func (ded DynamicsEntityDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) { +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { return nil, false } -// AsAzureDataLakeStoreDataset is the BasicDataset implementation for DynamicsEntityDataset. -func (ded DynamicsEntityDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) { +// AsInformixLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { return nil, false } -// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for DynamicsEntityDataset. -func (ded DynamicsEntityDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { +// AsOdbcLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { return nil, false } -// AsDynamicsCrmEntityDataset is the BasicDataset implementation for DynamicsEntityDataset. -func (ded DynamicsEntityDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { return nil, false } -// AsDynamicsEntityDataset is the BasicDataset implementation for DynamicsEntityDataset. -func (ded DynamicsEntityDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { - return &ded, true +// AsAzureMLLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false } -// AsDocumentDbCollectionDataset is the BasicDataset implementation for DynamicsEntityDataset. -func (ded DynamicsEntityDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { +// AsTeradataLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { return nil, false } -// AsCustomDataset is the BasicDataset implementation for DynamicsEntityDataset. -func (ded DynamicsEntityDataset) AsCustomDataset() (*CustomDataset, bool) { +// AsDb2LinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { return nil, false } -// AsCassandraTableDataset is the BasicDataset implementation for DynamicsEntityDataset. -func (ded DynamicsEntityDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { +// AsSybaseLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { return nil, false } -// AsAzureSQLDWTableDataset is the BasicDataset implementation for DynamicsEntityDataset. -func (ded DynamicsEntityDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { return nil, false } -// AsAzureSQLMITableDataset is the BasicDataset implementation for DynamicsEntityDataset. -func (ded DynamicsEntityDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { +// AsMySQLLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { return nil, false } -// AsAzureSQLTableDataset is the BasicDataset implementation for DynamicsEntityDataset. -func (ded DynamicsEntityDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { return nil, false } -// AsAzureTableDataset is the BasicDataset implementation for DynamicsEntityDataset. -func (ded DynamicsEntityDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { +// AsOracleLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { return nil, false } -// AsAzureBlobDataset is the BasicDataset implementation for DynamicsEntityDataset. -func (ded DynamicsEntityDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) { +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { return nil, false } -// AsBinaryDataset is the BasicDataset implementation for DynamicsEntityDataset. -func (ded DynamicsEntityDataset) AsBinaryDataset() (*BinaryDataset, bool) { +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { return nil, false } -// AsDelimitedTextDataset is the BasicDataset implementation for DynamicsEntityDataset. -func (ded DynamicsEntityDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { +// AsFileServerLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { return nil, false } -// AsParquetDataset is the BasicDataset implementation for DynamicsEntityDataset. -func (ded DynamicsEntityDataset) AsParquetDataset() (*ParquetDataset, bool) { +// AsHDInsightLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { return nil, false } -// AsAvroDataset is the BasicDataset implementation for DynamicsEntityDataset. -func (ded DynamicsEntityDataset) AsAvroDataset() (*AvroDataset, bool) { +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { return nil, false } -// AsAmazonS3Dataset is the BasicDataset implementation for DynamicsEntityDataset. -func (ded DynamicsEntityDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) { +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { return nil, false } -// AsDataset is the BasicDataset implementation for DynamicsEntityDataset. -func (ded DynamicsEntityDataset) AsDataset() (*Dataset, bool) { +// AsDynamicsLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { return nil, false } -// AsBasicDataset is the BasicDataset implementation for DynamicsEntityDataset. -func (ded DynamicsEntityDataset) AsBasicDataset() (BasicDataset, bool) { - return &ded, true +// AsCosmosDbLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false } -// UnmarshalJSON is the custom unmarshaler for DynamicsEntityDataset struct. -func (ded *DynamicsEntityDataset) UnmarshalJSON(body []byte) error { +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for DynamicsAXLinkedService. +func (dals DynamicsAXLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &dals, true +} + +// UnmarshalJSON is the custom unmarshaler for DynamicsAXLinkedService struct. +func (dals *DynamicsAXLinkedService) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -70489,12 +76031,12 @@ func (ded *DynamicsEntityDataset) UnmarshalJSON(body []byte) error { switch k { case "typeProperties": if v != nil { - var dynamicsEntityDatasetTypeProperties DynamicsEntityDatasetTypeProperties - err = json.Unmarshal(*v, &dynamicsEntityDatasetTypeProperties) + var dynamicsAXLinkedServiceTypeProperties DynamicsAXLinkedServiceTypeProperties + err = json.Unmarshal(*v, &dynamicsAXLinkedServiceTypeProperties) if err != nil { return err } - ded.DynamicsEntityDatasetTypeProperties = &dynamicsEntityDatasetTypeProperties + dals.DynamicsAXLinkedServiceTypeProperties = &dynamicsAXLinkedServiceTypeProperties } default: if v != nil { @@ -70503,10 +76045,19 @@ func (ded *DynamicsEntityDataset) UnmarshalJSON(body []byte) error { if err != nil { return err } - if ded.AdditionalProperties == nil { - ded.AdditionalProperties = make(map[string]interface{}) + if dals.AdditionalProperties == nil { + dals.AdditionalProperties = make(map[string]interface{}) } - ded.AdditionalProperties[k] = additionalProperties + dals.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + dals.ConnectVia = &connectVia } case "description": if v != nil { @@ -70515,70 +76066,118 @@ func (ded *DynamicsEntityDataset) UnmarshalJSON(body []byte) error { if err != nil { return err } - ded.Description = &description + dals.Description = &description } - case "structure": + case "parameters": if v != nil { - var structure interface{} - err = json.Unmarshal(*v, &structure) + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) if err != nil { return err } - ded.Structure = structure + dals.Parameters = parameters } - case "schema": + case "annotations": if v != nil { - var schema interface{} - err = json.Unmarshal(*v, &schema) + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) if err != nil { return err } - ded.Schema = schema + dals.Annotations = &annotations } - case "linkedServiceName": + case "type": if v != nil { - var linkedServiceName LinkedServiceReference - err = json.Unmarshal(*v, &linkedServiceName) + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - ded.LinkedServiceName = &linkedServiceName + dals.Type = typeVar } - case "parameters": + } + } + + return nil +} + +// DynamicsAXLinkedServiceTypeProperties dynamics AX linked service properties. +type DynamicsAXLinkedServiceTypeProperties struct { + // URL - The Dynamics AX (or Dynamics 365 Finance and Operations) instance OData endpoint. + URL interface{} `json:"url,omitempty"` + // ServicePrincipalID - Specify the application's client ID. Type: string (or Expression with resultType string). + ServicePrincipalID interface{} `json:"servicePrincipalId,omitempty"` + // ServicePrincipalKey - Specify the application's key. Mark this field as a SecureString to store it securely in Data Factory, or reference a secret stored in Azure Key Vault. Type: string (or Expression with resultType string). + ServicePrincipalKey BasicSecretBase `json:"servicePrincipalKey,omitempty"` + // Tenant - Specify the tenant information (domain name or tenant ID) under which your application resides. Retrieve it by hovering the mouse in the top-right corner of the Azure portal. Type: string (or Expression with resultType string). + Tenant interface{} `json:"tenant,omitempty"` + // AadResourceID - Specify the resource you are requesting authorization. Type: string (or Expression with resultType string). + AadResourceID interface{} `json:"aadResourceId,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for DynamicsAXLinkedServiceTypeProperties struct. +func (dalstp *DynamicsAXLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "url": if v != nil { - var parameters map[string]*ParameterSpecification - err = json.Unmarshal(*v, ¶meters) + var URL interface{} + err = json.Unmarshal(*v, &URL) if err != nil { return err } - ded.Parameters = parameters + dalstp.URL = URL } - case "annotations": + case "servicePrincipalId": if v != nil { - var annotations []interface{} - err = json.Unmarshal(*v, &annotations) + var servicePrincipalID interface{} + err = json.Unmarshal(*v, &servicePrincipalID) if err != nil { return err } - ded.Annotations = &annotations + dalstp.ServicePrincipalID = servicePrincipalID } - case "folder": + case "servicePrincipalKey": if v != nil { - var folder DatasetFolder - err = json.Unmarshal(*v, &folder) + servicePrincipalKey, err := unmarshalBasicSecretBase(*v) if err != nil { return err } - ded.Folder = &folder + dalstp.ServicePrincipalKey = servicePrincipalKey } - case "type": + case "tenant": if v != nil { - var typeVar TypeBasicDataset - err = json.Unmarshal(*v, &typeVar) + var tenant interface{} + err = json.Unmarshal(*v, &tenant) if err != nil { return err } - ded.Type = typeVar + dalstp.Tenant = tenant + } + case "aadResourceId": + if v != nil { + var aadResourceID interface{} + err = json.Unmarshal(*v, &aadResourceID) + if err != nil { + return err + } + dalstp.AadResourceID = aadResourceID + } + case "encryptedCredential": + if v != nil { + var encryptedCredential interface{} + err = json.Unmarshal(*v, &encryptedCredential) + if err != nil { + return err + } + dalstp.EncryptedCredential = encryptedCredential } } } @@ -70586,525 +76185,514 @@ func (ded *DynamicsEntityDataset) UnmarshalJSON(body []byte) error { return nil } -// DynamicsEntityDatasetTypeProperties dynamics entity dataset properties. -type DynamicsEntityDatasetTypeProperties struct { - // EntityName - The logical name of the entity. Type: string (or Expression with resultType string). - EntityName interface{} `json:"entityName,omitempty"` -} - -// DynamicsLinkedService dynamics linked service. -type DynamicsLinkedService struct { - // DynamicsLinkedServiceTypeProperties - Dynamics linked service properties. - *DynamicsLinkedServiceTypeProperties `json:"typeProperties,omitempty"` +// DynamicsAXResourceDataset the path of the Dynamics AX OData entity. +type DynamicsAXResourceDataset struct { + // DynamicsAXResourceDatasetTypeProperties - Dynamics AX OData resource dataset properties. + *DynamicsAXResourceDatasetTypeProperties `json:"typeProperties,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` - // ConnectVia - The integration runtime reference. - ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` - // Description - Linked service description. + // Description - Dataset description. Description *string `json:"description,omitempty"` - // Parameters - Parameters for linked service. + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. Parameters map[string]*ParameterSpecification `json:"parameters"` - // Annotations - List of tags that can be used for describing the linked service. + // Annotations - List of tags that can be used for describing the Dataset. Annotations *[]interface{} `json:"annotations,omitempty"` - // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' - Type TypeBasicLinkedService `json:"type,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' + Type TypeBasicDataset `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for DynamicsLinkedService. -func (dls DynamicsLinkedService) MarshalJSON() ([]byte, error) { - dls.Type = TypeDynamics +// MarshalJSON is the custom marshaler for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) MarshalJSON() ([]byte, error) { + dard.Type = TypeDynamicsAXResource objectMap := make(map[string]interface{}) - if dls.DynamicsLinkedServiceTypeProperties != nil { - objectMap["typeProperties"] = dls.DynamicsLinkedServiceTypeProperties + if dard.DynamicsAXResourceDatasetTypeProperties != nil { + objectMap["typeProperties"] = dard.DynamicsAXResourceDatasetTypeProperties } - if dls.ConnectVia != nil { - objectMap["connectVia"] = dls.ConnectVia + if dard.Description != nil { + objectMap["description"] = dard.Description } - if dls.Description != nil { - objectMap["description"] = dls.Description + if dard.Structure != nil { + objectMap["structure"] = dard.Structure } - if dls.Parameters != nil { - objectMap["parameters"] = dls.Parameters + if dard.Schema != nil { + objectMap["schema"] = dard.Schema } - if dls.Annotations != nil { - objectMap["annotations"] = dls.Annotations + if dard.LinkedServiceName != nil { + objectMap["linkedServiceName"] = dard.LinkedServiceName } - if dls.Type != "" { - objectMap["type"] = dls.Type + if dard.Parameters != nil { + objectMap["parameters"] = dard.Parameters } - for k, v := range dls.AdditionalProperties { + if dard.Annotations != nil { + objectMap["annotations"] = dard.Annotations + } + if dard.Folder != nil { + objectMap["folder"] = dard.Folder + } + if dard.Type != "" { + objectMap["type"] = dard.Type + } + for k, v := range dard.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsAzureFunctionLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. -func (dls DynamicsLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { return nil, false } -// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. -func (dls DynamicsLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { return nil, false } -// AsSapTableLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. -func (dls DynamicsLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { return nil, false } -// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. -func (dls DynamicsLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { +// AsDynamicsAXResourceDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { + return &dard, true +} + +// AsResponsysObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { return nil, false } -// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. -func (dls DynamicsLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { return nil, false } -// AsDynamicsAXLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. -func (dls DynamicsLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { +// AsVerticaTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { return nil, false } -// AsResponsysLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. -func (dls DynamicsLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { +// AsNetezzaTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { return nil, false } -// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. -func (dls DynamicsLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { +// AsZohoObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { return nil, false } -// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. -func (dls DynamicsLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { +// AsXeroObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { return nil, false } -// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. -func (dls DynamicsLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { +// AsSquareObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { return nil, false } -// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. -func (dls DynamicsLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { +// AsSparkObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { return nil, false } -// AsNetezzaLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. -func (dls DynamicsLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { +// AsShopifyObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { return nil, false } -// AsVerticaLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. -func (dls DynamicsLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { +// AsServiceNowObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { return nil, false } -// AsZohoLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. -func (dls DynamicsLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { +// AsQuickBooksObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { return nil, false } -// AsXeroLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. -func (dls DynamicsLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { +// AsPrestoObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { return nil, false } -// AsSquareLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. -func (dls DynamicsLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { +// AsPhoenixObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { return nil, false } -// AsSparkLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. -func (dls DynamicsLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { +// AsPaypalObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { return nil, false } -// AsShopifyLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. -func (dls DynamicsLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { +// AsMarketoObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { return nil, false } -// AsServiceNowLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. -func (dls DynamicsLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { +// AsAzureMariaDBTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { return nil, false } -// AsQuickBooksLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. -func (dls DynamicsLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { +// AsMariaDBTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { return nil, false } -// AsPrestoLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. -func (dls DynamicsLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { +// AsMagentoObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { return nil, false } -// AsPhoenixLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. -func (dls DynamicsLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { +// AsJiraObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { return nil, false } -// AsPaypalLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. -func (dls DynamicsLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { +// AsImpalaObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { return nil, false } -// AsMarketoLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. -func (dls DynamicsLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { +// AsHubspotObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { return nil, false } -// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. -func (dls DynamicsLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { +// AsHiveObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { return nil, false } -// AsMariaDBLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. -func (dls DynamicsLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { +// AsHBaseObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { return nil, false } -// AsMagentoLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. -func (dls DynamicsLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { +// AsGreenplumTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { return nil, false } -// AsJiraLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. -func (dls DynamicsLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { return nil, false } -// AsImpalaLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. -func (dls DynamicsLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { +// AsEloquaObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { return nil, false } -// AsHubspotLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. -func (dls DynamicsLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { +// AsDrillTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { return nil, false } -// AsHiveLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. -func (dls DynamicsLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { +// AsCouchbaseTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { return nil, false } -// AsHBaseLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. -func (dls DynamicsLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { +// AsConcurObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { return nil, false } -// AsGreenplumLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. -func (dls DynamicsLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { return nil, false } -// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. -func (dls DynamicsLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { +// AsAmazonMWSObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { return nil, false } -// AsEloquaLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. -func (dls DynamicsLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { +// AsHTTPDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsHTTPDataset() (*HTTPDataset, bool) { return nil, false } -// AsDrillLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. -func (dls DynamicsLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { +// AsAzureSearchIndexDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { return nil, false } -// AsCouchbaseLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. -func (dls DynamicsLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { +// AsWebTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsWebTableDataset() (*WebTableDataset, bool) { return nil, false } -// AsConcurLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. -func (dls DynamicsLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { +// AsSapTableResourceDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { return nil, false } -// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. -func (dls DynamicsLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { +// AsRestResourceDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { return nil, false } -// AsAmazonMWSLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. -func (dls DynamicsLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { +// AsSQLServerTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { return nil, false } -// AsSapHanaLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. -func (dls DynamicsLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { +// AsSapOpenHubTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { return nil, false } -// AsSapBWLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. -func (dls DynamicsLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { +// AsSapHanaTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { return nil, false } -// AsSftpServerLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. -func (dls DynamicsLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { +// AsSapEccResourceDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { return nil, false } -// AsFtpServerLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. -func (dls DynamicsLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { return nil, false } -// AsHTTPLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. -func (dls DynamicsLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { +// AsSapBwCubeDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { return nil, false } -// AsAzureSearchLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. -func (dls DynamicsLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { +// AsSybaseTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { return nil, false } -// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. -func (dls DynamicsLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { return nil, false } -// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. -func (dls DynamicsLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { +// AsSalesforceObjectDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { return nil, false } -// AsAmazonS3LinkedService is the BasicLinkedService implementation for DynamicsLinkedService. -func (dls DynamicsLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { return nil, false } -// AsRestServiceLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. -func (dls DynamicsLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { +// AsPostgreSQLTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { return nil, false } -// AsSapOpenHubLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. -func (dls DynamicsLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { +// AsMySQLTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { return nil, false } -// AsSapEccLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. -func (dls DynamicsLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { +// AsOdbcTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { return nil, false } -// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. -func (dls DynamicsLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { +// AsInformixTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { return nil, false } -// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. -func (dls DynamicsLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { +// AsRelationalTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { return nil, false } -// AsSalesforceLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. -func (dls DynamicsLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { +// AsDb2TableDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { return nil, false } -// AsOffice365LinkedService is the BasicLinkedService implementation for DynamicsLinkedService. -func (dls DynamicsLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { return nil, false } -// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. -func (dls DynamicsLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { +// AsAzureMySQLTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { return nil, false } -// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. -func (dls DynamicsLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { +// AsTeradataTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { return nil, false } -// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for DynamicsLinkedService. -func (dls DynamicsLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { +// AsOracleTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { return nil, false } -// AsMongoDbV2LinkedService is the BasicLinkedService implementation for DynamicsLinkedService. -func (dls DynamicsLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { +// AsODataResourceDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { return nil, false } -// AsMongoDbLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. -func (dls DynamicsLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { return nil, false } -// AsCassandraLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. -func (dls DynamicsLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { return nil, false } -// AsWebLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. -func (dls DynamicsLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { +// AsMongoDbCollectionDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { return nil, false } -// AsODataLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. -func (dls DynamicsLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { +// AsFileShareDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsFileShareDataset() (*FileShareDataset, bool) { return nil, false } -// AsHdfsLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. -func (dls DynamicsLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { +// AsOffice365Dataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsOffice365Dataset() (*Office365Dataset, bool) { return nil, false } -// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. -func (dls DynamicsLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { +// AsAzureBlobFSDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) { return nil, false } -// AsInformixLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. -func (dls DynamicsLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { +// AsAzureDataLakeStoreDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) { return nil, false } -// AsOdbcLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. -func (dls DynamicsLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { return nil, false } -// AsAzureMLLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. -func (dls DynamicsLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { return nil, false } -// AsTeradataLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. -func (dls DynamicsLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { +// AsDynamicsEntityDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { return nil, false } -// AsDb2LinkedService is the BasicLinkedService implementation for DynamicsLinkedService. -func (dls DynamicsLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { +// AsDocumentDbCollectionDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { return nil, false } -// AsSybaseLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. -func (dls DynamicsLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { return nil, false } -// AsPostgreSQLLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. -func (dls DynamicsLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { +// AsCustomDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsCustomDataset() (*CustomDataset, bool) { return nil, false } -// AsMySQLLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. -func (dls DynamicsLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { +// AsCassandraTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { return nil, false } -// AsAzureMySQLLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. -func (dls DynamicsLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { +// AsAzureSQLDWTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { return nil, false } -// AsOracleLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. -func (dls DynamicsLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { +// AsAzureSQLMITableDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { return nil, false } -// AsFileServerLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. -func (dls DynamicsLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { +// AsAzureSQLTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { return nil, false } -// AsHDInsightLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. -func (dls DynamicsLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { - return nil, false -} - -// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. -func (dls DynamicsLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { - return nil, false -} - -// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. -func (dls DynamicsLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { - return nil, false -} - -// AsDynamicsLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. -func (dls DynamicsLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { - return &dls, true -} - -// AsCosmosDbLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. -func (dls DynamicsLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { - return nil, false -} - -// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. -func (dls DynamicsLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { +// AsAzureTableDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { return nil, false } -// AsAzureBatchLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. -func (dls DynamicsLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { +// AsAzureBlobDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) { return nil, false } -// AsAzureSQLMILinkedService is the BasicLinkedService implementation for DynamicsLinkedService. -func (dls DynamicsLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { +// AsBinaryDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsBinaryDataset() (*BinaryDataset, bool) { return nil, false } -// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. -func (dls DynamicsLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { +// AsOrcDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsOrcDataset() (*OrcDataset, bool) { return nil, false } -// AsSQLServerLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. -func (dls DynamicsLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { +// AsJSONDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsJSONDataset() (*JSONDataset, bool) { return nil, false } -// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. -func (dls DynamicsLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { +// AsDelimitedTextDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { return nil, false } -// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. -func (dls DynamicsLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { +// AsParquetDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsParquetDataset() (*ParquetDataset, bool) { return nil, false } -// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. -func (dls DynamicsLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { +// AsAvroDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsAvroDataset() (*AvroDataset, bool) { return nil, false } -// AsAzureStorageLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. -func (dls DynamicsLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { +// AsAmazonS3Dataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) { return nil, false } -// AsLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. -func (dls DynamicsLinkedService) AsLinkedService() (*LinkedService, bool) { +// AsDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsDataset() (*Dataset, bool) { return nil, false } -// AsBasicLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. -func (dls DynamicsLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { - return &dls, true +// AsBasicDataset is the BasicDataset implementation for DynamicsAXResourceDataset. +func (dard DynamicsAXResourceDataset) AsBasicDataset() (BasicDataset, bool) { + return &dard, true } -// UnmarshalJSON is the custom unmarshaler for DynamicsLinkedService struct. -func (dls *DynamicsLinkedService) UnmarshalJSON(body []byte) error { +// UnmarshalJSON is the custom unmarshaler for DynamicsAXResourceDataset struct. +func (dard *DynamicsAXResourceDataset) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -71114,12 +76702,12 @@ func (dls *DynamicsLinkedService) UnmarshalJSON(body []byte) error { switch k { case "typeProperties": if v != nil { - var dynamicsLinkedServiceTypeProperties DynamicsLinkedServiceTypeProperties - err = json.Unmarshal(*v, &dynamicsLinkedServiceTypeProperties) + var dynamicsAXResourceDatasetTypeProperties DynamicsAXResourceDatasetTypeProperties + err = json.Unmarshal(*v, &dynamicsAXResourceDatasetTypeProperties) if err != nil { return err } - dls.DynamicsLinkedServiceTypeProperties = &dynamicsLinkedServiceTypeProperties + dard.DynamicsAXResourceDatasetTypeProperties = &dynamicsAXResourceDatasetTypeProperties } default: if v != nil { @@ -71128,19 +76716,10 @@ func (dls *DynamicsLinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - if dls.AdditionalProperties == nil { - dls.AdditionalProperties = make(map[string]interface{}) - } - dls.AdditionalProperties[k] = additionalProperties - } - case "connectVia": - if v != nil { - var connectVia IntegrationRuntimeReference - err = json.Unmarshal(*v, &connectVia) - if err != nil { - return err + if dard.AdditionalProperties == nil { + dard.AdditionalProperties = make(map[string]interface{}) } - dls.ConnectVia = &connectVia + dard.AdditionalProperties[k] = additionalProperties } case "description": if v != nil { @@ -71149,151 +76728,70 @@ func (dls *DynamicsLinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - dls.Description = &description - } - case "parameters": - if v != nil { - var parameters map[string]*ParameterSpecification - err = json.Unmarshal(*v, ¶meters) - if err != nil { - return err - } - dls.Parameters = parameters - } - case "annotations": - if v != nil { - var annotations []interface{} - err = json.Unmarshal(*v, &annotations) - if err != nil { - return err - } - dls.Annotations = &annotations - } - case "type": - if v != nil { - var typeVar TypeBasicLinkedService - err = json.Unmarshal(*v, &typeVar) - if err != nil { - return err - } - dls.Type = typeVar - } - } - } - - return nil -} - -// DynamicsLinkedServiceTypeProperties dynamics linked service properties. -type DynamicsLinkedServiceTypeProperties struct { - // DeploymentType - The deployment type of the Dynamics instance. 'Online' for Dynamics Online and 'OnPremisesWithIfd' for Dynamics on-premises with Ifd. Type: string (or Expression with resultType string). - DeploymentType interface{} `json:"deploymentType,omitempty"` - // HostName - The host name of the on-premises Dynamics server. The property is required for on-prem and not allowed for online. Type: string (or Expression with resultType string). - HostName interface{} `json:"hostName,omitempty"` - // Port - The port of on-premises Dynamics server. The property is required for on-prem and not allowed for online. Default is 443. Type: integer (or Expression with resultType integer), minimum: 0. - Port interface{} `json:"port,omitempty"` - // ServiceURI - The URL to the Microsoft Dynamics server. The property is required for on-line and not allowed for on-prem. Type: string (or Expression with resultType string). - ServiceURI interface{} `json:"serviceUri,omitempty"` - // OrganizationName - The organization name of the Dynamics instance. The property is required for on-prem and required for online when there are more than one Dynamics instances associated with the user. Type: string (or Expression with resultType string). - OrganizationName interface{} `json:"organizationName,omitempty"` - // AuthenticationType - The authentication type to connect to Dynamics server. 'Office365' for online scenario, 'Ifd' for on-premises with Ifd scenario. Type: string (or Expression with resultType string). - AuthenticationType interface{} `json:"authenticationType,omitempty"` - // Username - User name to access the Dynamics instance. Type: string (or Expression with resultType string). - Username interface{} `json:"username,omitempty"` - // Password - Password to access the Dynamics instance. - Password BasicSecretBase `json:"password,omitempty"` - // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). - EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` -} - -// UnmarshalJSON is the custom unmarshaler for DynamicsLinkedServiceTypeProperties struct. -func (dlstp *DynamicsLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - case "deploymentType": - if v != nil { - var deploymentType interface{} - err = json.Unmarshal(*v, &deploymentType) - if err != nil { - return err - } - dlstp.DeploymentType = deploymentType - } - case "hostName": - if v != nil { - var hostName interface{} - err = json.Unmarshal(*v, &hostName) - if err != nil { - return err - } - dlstp.HostName = hostName + dard.Description = &description } - case "port": + case "structure": if v != nil { - var port interface{} - err = json.Unmarshal(*v, &port) + var structure interface{} + err = json.Unmarshal(*v, &structure) if err != nil { return err } - dlstp.Port = port + dard.Structure = structure } - case "serviceUri": + case "schema": if v != nil { - var serviceURI interface{} - err = json.Unmarshal(*v, &serviceURI) + var schema interface{} + err = json.Unmarshal(*v, &schema) if err != nil { return err } - dlstp.ServiceURI = serviceURI + dard.Schema = schema } - case "organizationName": + case "linkedServiceName": if v != nil { - var organizationName interface{} - err = json.Unmarshal(*v, &organizationName) + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) if err != nil { return err } - dlstp.OrganizationName = organizationName + dard.LinkedServiceName = &linkedServiceName } - case "authenticationType": + case "parameters": if v != nil { - var authenticationType interface{} - err = json.Unmarshal(*v, &authenticationType) + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) if err != nil { return err } - dlstp.AuthenticationType = authenticationType + dard.Parameters = parameters } - case "username": + case "annotations": if v != nil { - var username interface{} - err = json.Unmarshal(*v, &username) + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) if err != nil { return err } - dlstp.Username = username + dard.Annotations = &annotations } - case "password": + case "folder": if v != nil { - password, err := unmarshalBasicSecretBase(*v) + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) if err != nil { return err } - dlstp.Password = password + dard.Folder = &folder } - case "encryptedCredential": + case "type": if v != nil { - var encryptedCredential interface{} - err = json.Unmarshal(*v, &encryptedCredential) + var typeVar TypeBasicDataset + err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - dlstp.EncryptedCredential = encryptedCredential + dard.Type = typeVar } } } @@ -71301,789 +76799,510 @@ func (dlstp *DynamicsLinkedServiceTypeProperties) UnmarshalJSON(body []byte) err return nil } -// DynamicsSink a copy activity Dynamics sink. -type DynamicsSink struct { - // WriteBehavior - The write behavior for the operation. - WriteBehavior *string `json:"writeBehavior,omitempty"` - // IgnoreNullValues - The flag indicating whether ignore null values from input dataset (except key fields) during write operation. Default is false. Type: boolean (or Expression with resultType boolean). - IgnoreNullValues interface{} `json:"ignoreNullValues,omitempty"` +// DynamicsAXResourceDatasetTypeProperties dynamics AX OData resource dataset properties. +type DynamicsAXResourceDatasetTypeProperties struct { + // Path - The path of the Dynamics AX OData entity. Type: string (or Expression with resultType string). + Path interface{} `json:"path,omitempty"` +} + +// DynamicsAXSource a copy activity Dynamics AX source. +type DynamicsAXSource struct { + // Query - A query to retrieve data from source. Type: string (or Expression with resultType string). + Query interface{} `json:"query,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` - // WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0. - WriteBatchSize interface{} `json:"writeBatchSize,omitempty"` - // WriteBatchTimeout - Write batch timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). - WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"` - // SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer). - SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"` - // SinkRetryWait - Sink retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). - SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"` - // MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAvroSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzurePostgreSQLSink', 'TypeDelimitedTextSink' - Type TypeBasicCopySink `json:"type,omitempty"` + // Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' + Type TypeBasicCopySource `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for DynamicsSink. -func (ds DynamicsSink) MarshalJSON() ([]byte, error) { - ds.Type = TypeDynamicsSink +// MarshalJSON is the custom marshaler for DynamicsAXSource. +func (das DynamicsAXSource) MarshalJSON() ([]byte, error) { + das.Type = TypeDynamicsAXSource objectMap := make(map[string]interface{}) - if ds.WriteBehavior != nil { - objectMap["writeBehavior"] = ds.WriteBehavior - } - if ds.IgnoreNullValues != nil { - objectMap["ignoreNullValues"] = ds.IgnoreNullValues - } - if ds.WriteBatchSize != nil { - objectMap["writeBatchSize"] = ds.WriteBatchSize + if das.Query != nil { + objectMap["query"] = das.Query } - if ds.WriteBatchTimeout != nil { - objectMap["writeBatchTimeout"] = ds.WriteBatchTimeout + if das.QueryTimeout != nil { + objectMap["queryTimeout"] = das.QueryTimeout } - if ds.SinkRetryCount != nil { - objectMap["sinkRetryCount"] = ds.SinkRetryCount + if das.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = das.SourceRetryCount } - if ds.SinkRetryWait != nil { - objectMap["sinkRetryWait"] = ds.SinkRetryWait + if das.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = das.SourceRetryWait } - if ds.MaxConcurrentConnections != nil { - objectMap["maxConcurrentConnections"] = ds.MaxConcurrentConnections + if das.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = das.MaxConcurrentConnections } - if ds.Type != "" { - objectMap["type"] = ds.Type + if das.Type != "" { + objectMap["type"] = das.Type } - for k, v := range ds.AdditionalProperties { + for k, v := range das.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for DynamicsSink. -func (ds DynamicsSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) { - return nil, false -} - -// AsSalesforceServiceCloudSink is the BasicCopySink implementation for DynamicsSink. -func (ds DynamicsSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) { - return nil, false -} - -// AsSalesforceSink is the BasicCopySink implementation for DynamicsSink. -func (ds DynamicsSink) AsSalesforceSink() (*SalesforceSink, bool) { - return nil, false -} - -// AsAzureDataExplorerSink is the BasicCopySink implementation for DynamicsSink. -func (ds DynamicsSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) { - return nil, false -} - -// AsCommonDataServiceForAppsSink is the BasicCopySink implementation for DynamicsSink. -func (ds DynamicsSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) { - return nil, false -} - -// AsDynamicsCrmSink is the BasicCopySink implementation for DynamicsSink. -func (ds DynamicsSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) { - return nil, false -} - -// AsDynamicsSink is the BasicCopySink implementation for DynamicsSink. -func (ds DynamicsSink) AsDynamicsSink() (*DynamicsSink, bool) { - return &ds, true -} - -// AsMicrosoftAccessSink is the BasicCopySink implementation for DynamicsSink. -func (ds DynamicsSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) { - return nil, false -} - -// AsInformixSink is the BasicCopySink implementation for DynamicsSink. -func (ds DynamicsSink) AsInformixSink() (*InformixSink, bool) { - return nil, false -} - -// AsOdbcSink is the BasicCopySink implementation for DynamicsSink. -func (ds DynamicsSink) AsOdbcSink() (*OdbcSink, bool) { - return nil, false -} - -// AsAzureSearchIndexSink is the BasicCopySink implementation for DynamicsSink. -func (ds DynamicsSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) { - return nil, false -} - -// AsAzureBlobFSSink is the BasicCopySink implementation for DynamicsSink. -func (ds DynamicsSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) { - return nil, false -} - -// AsAzureDataLakeStoreSink is the BasicCopySink implementation for DynamicsSink. -func (ds DynamicsSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) { - return nil, false -} - -// AsOracleSink is the BasicCopySink implementation for DynamicsSink. -func (ds DynamicsSink) AsOracleSink() (*OracleSink, bool) { - return nil, false -} - -// AsSQLDWSink is the BasicCopySink implementation for DynamicsSink. -func (ds DynamicsSink) AsSQLDWSink() (*SQLDWSink, bool) { - return nil, false -} - -// AsSQLMISink is the BasicCopySink implementation for DynamicsSink. -func (ds DynamicsSink) AsSQLMISink() (*SQLMISink, bool) { - return nil, false -} - -// AsAzureSQLSink is the BasicCopySink implementation for DynamicsSink. -func (ds DynamicsSink) AsAzureSQLSink() (*AzureSQLSink, bool) { - return nil, false -} - -// AsSQLServerSink is the BasicCopySink implementation for DynamicsSink. -func (ds DynamicsSink) AsSQLServerSink() (*SQLServerSink, bool) { - return nil, false -} - -// AsSQLSink is the BasicCopySink implementation for DynamicsSink. -func (ds DynamicsSink) AsSQLSink() (*SQLSink, bool) { - return nil, false -} - -// AsDocumentDbCollectionSink is the BasicCopySink implementation for DynamicsSink. -func (ds DynamicsSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) { - return nil, false -} - -// AsFileSystemSink is the BasicCopySink implementation for DynamicsSink. -func (ds DynamicsSink) AsFileSystemSink() (*FileSystemSink, bool) { - return nil, false -} - -// AsBlobSink is the BasicCopySink implementation for DynamicsSink. -func (ds DynamicsSink) AsBlobSink() (*BlobSink, bool) { - return nil, false -} - -// AsBinarySink is the BasicCopySink implementation for DynamicsSink. -func (ds DynamicsSink) AsBinarySink() (*BinarySink, bool) { - return nil, false -} - -// AsParquetSink is the BasicCopySink implementation for DynamicsSink. -func (ds DynamicsSink) AsParquetSink() (*ParquetSink, bool) { - return nil, false -} - -// AsAvroSink is the BasicCopySink implementation for DynamicsSink. -func (ds DynamicsSink) AsAvroSink() (*AvroSink, bool) { - return nil, false -} - -// AsAzureTableSink is the BasicCopySink implementation for DynamicsSink. -func (ds DynamicsSink) AsAzureTableSink() (*AzureTableSink, bool) { +// AsHTTPSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsHTTPSource() (*HTTPSource, bool) { return nil, false } -// AsAzureQueueSink is the BasicCopySink implementation for DynamicsSink. -func (ds DynamicsSink) AsAzureQueueSink() (*AzureQueueSink, bool) { +// AsAzureBlobFSSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { return nil, false } -// AsSapCloudForCustomerSink is the BasicCopySink implementation for DynamicsSink. -func (ds DynamicsSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) { +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { return nil, false } -// AsAzurePostgreSQLSink is the BasicCopySink implementation for DynamicsSink. -func (ds DynamicsSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) { +// AsOffice365Source is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsOffice365Source() (*Office365Source, bool) { return nil, false } -// AsDelimitedTextSink is the BasicCopySink implementation for DynamicsSink. -func (ds DynamicsSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) { +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { return nil, false } -// AsCopySink is the BasicCopySink implementation for DynamicsSink. -func (ds DynamicsSink) AsCopySink() (*CopySink, bool) { +// AsMongoDbV2Source is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { return nil, false } -// AsBasicCopySink is the BasicCopySink implementation for DynamicsSink. -func (ds DynamicsSink) AsBasicCopySink() (BasicCopySink, bool) { - return &ds, true -} - -// UnmarshalJSON is the custom unmarshaler for DynamicsSink struct. -func (ds *DynamicsSink) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - case "writeBehavior": - if v != nil { - var writeBehavior string - err = json.Unmarshal(*v, &writeBehavior) - if err != nil { - return err - } - ds.WriteBehavior = &writeBehavior - } - case "ignoreNullValues": - if v != nil { - var ignoreNullValues interface{} - err = json.Unmarshal(*v, &ignoreNullValues) - if err != nil { - return err - } - ds.IgnoreNullValues = ignoreNullValues - } - default: - if v != nil { - var additionalProperties interface{} - err = json.Unmarshal(*v, &additionalProperties) - if err != nil { - return err - } - if ds.AdditionalProperties == nil { - ds.AdditionalProperties = make(map[string]interface{}) - } - ds.AdditionalProperties[k] = additionalProperties - } - case "writeBatchSize": - if v != nil { - var writeBatchSize interface{} - err = json.Unmarshal(*v, &writeBatchSize) - if err != nil { - return err - } - ds.WriteBatchSize = writeBatchSize - } - case "writeBatchTimeout": - if v != nil { - var writeBatchTimeout interface{} - err = json.Unmarshal(*v, &writeBatchTimeout) - if err != nil { - return err - } - ds.WriteBatchTimeout = writeBatchTimeout - } - case "sinkRetryCount": - if v != nil { - var sinkRetryCount interface{} - err = json.Unmarshal(*v, &sinkRetryCount) - if err != nil { - return err - } - ds.SinkRetryCount = sinkRetryCount - } - case "sinkRetryWait": - if v != nil { - var sinkRetryWait interface{} - err = json.Unmarshal(*v, &sinkRetryWait) - if err != nil { - return err - } - ds.SinkRetryWait = sinkRetryWait - } - case "maxConcurrentConnections": - if v != nil { - var maxConcurrentConnections interface{} - err = json.Unmarshal(*v, &maxConcurrentConnections) - if err != nil { - return err - } - ds.MaxConcurrentConnections = maxConcurrentConnections - } - case "type": - if v != nil { - var typeVar TypeBasicCopySink - err = json.Unmarshal(*v, &typeVar) - if err != nil { - return err - } - ds.Type = typeVar - } - } - } - - return nil -} - -// DynamicsSource a copy activity Dynamics source. -type DynamicsSource struct { - // Query - FetchXML is a proprietary query language that is used in Microsoft Dynamics (online & on-premises). Type: string (or Expression with resultType string). - Query interface{} `json:"query,omitempty"` - // AdditionalProperties - Unmatched properties from the message are deserialized this collection - AdditionalProperties map[string]interface{} `json:""` - // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). - SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` - // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). - SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` - // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). - MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' - Type TypeBasicCopySource `json:"type,omitempty"` -} - -// MarshalJSON is the custom marshaler for DynamicsSource. -func (ds DynamicsSource) MarshalJSON() ([]byte, error) { - ds.Type = TypeDynamicsSource - objectMap := make(map[string]interface{}) - if ds.Query != nil { - objectMap["query"] = ds.Query - } - if ds.SourceRetryCount != nil { - objectMap["sourceRetryCount"] = ds.SourceRetryCount - } - if ds.SourceRetryWait != nil { - objectMap["sourceRetryWait"] = ds.SourceRetryWait - } - if ds.MaxConcurrentConnections != nil { - objectMap["maxConcurrentConnections"] = ds.MaxConcurrentConnections - } - if ds.Type != "" { - objectMap["type"] = ds.Type - } - for k, v := range ds.AdditionalProperties { - objectMap[k] = v - } - return json.Marshal(objectMap) -} - -// AsAmazonRedshiftSource is the BasicCopySource implementation for DynamicsSource. -func (ds DynamicsSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { +// AsMongoDbSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsMongoDbSource() (*MongoDbSource, bool) { return nil, false } -// AsGoogleAdWordsSource is the BasicCopySource implementation for DynamicsSource. -func (ds DynamicsSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { +// AsWebSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsWebSource() (*WebSource, bool) { return nil, false } -// AsOracleServiceCloudSource is the BasicCopySource implementation for DynamicsSource. -func (ds DynamicsSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { +// AsOracleSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsOracleSource() (*OracleSource, bool) { return nil, false } -// AsDynamicsAXSource is the BasicCopySource implementation for DynamicsSource. -func (ds DynamicsSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { +// AsAzureDataExplorerSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { return nil, false } -// AsResponsysSource is the BasicCopySource implementation for DynamicsSource. -func (ds DynamicsSource) AsResponsysSource() (*ResponsysSource, bool) { +// AsHdfsSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsHdfsSource() (*HdfsSource, bool) { return nil, false } -// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for DynamicsSource. -func (ds DynamicsSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { +// AsFileSystemSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsFileSystemSource() (*FileSystemSource, bool) { return nil, false } -// AsVerticaSource is the BasicCopySource implementation for DynamicsSource. -func (ds DynamicsSource) AsVerticaSource() (*VerticaSource, bool) { +// AsRestSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsRestSource() (*RestSource, bool) { return nil, false } -// AsNetezzaSource is the BasicCopySource implementation for DynamicsSource. -func (ds DynamicsSource) AsNetezzaSource() (*NetezzaSource, bool) { +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { return nil, false } -// AsZohoSource is the BasicCopySource implementation for DynamicsSource. -func (ds DynamicsSource) AsZohoSource() (*ZohoSource, bool) { +// AsODataSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsODataSource() (*ODataSource, bool) { return nil, false } -// AsXeroSource is the BasicCopySource implementation for DynamicsSource. -func (ds DynamicsSource) AsXeroSource() (*XeroSource, bool) { +// AsMicrosoftAccessSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { return nil, false } -// AsSquareSource is the BasicCopySource implementation for DynamicsSource. -func (ds DynamicsSource) AsSquareSource() (*SquareSource, bool) { +// AsRelationalSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsRelationalSource() (*RelationalSource, bool) { return nil, false } -// AsSparkSource is the BasicCopySource implementation for DynamicsSource. -func (ds DynamicsSource) AsSparkSource() (*SparkSource, bool) { +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { return nil, false } -// AsShopifySource is the BasicCopySource implementation for DynamicsSource. -func (ds DynamicsSource) AsShopifySource() (*ShopifySource, bool) { +// AsDynamicsCrmSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { return nil, false } -// AsServiceNowSource is the BasicCopySource implementation for DynamicsSource. -func (ds DynamicsSource) AsServiceNowSource() (*ServiceNowSource, bool) { +// AsDynamicsSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsDynamicsSource() (*DynamicsSource, bool) { return nil, false } -// AsQuickBooksSource is the BasicCopySource implementation for DynamicsSource. -func (ds DynamicsSource) AsQuickBooksSource() (*QuickBooksSource, bool) { +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { return nil, false } -// AsPrestoSource is the BasicCopySource implementation for DynamicsSource. -func (ds DynamicsSource) AsPrestoSource() (*PrestoSource, bool) { +// AsDocumentDbCollectionSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { return nil, false } -// AsPhoenixSource is the BasicCopySource implementation for DynamicsSource. -func (ds DynamicsSource) AsPhoenixSource() (*PhoenixSource, bool) { +// AsBlobSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsBlobSource() (*BlobSource, bool) { return nil, false } -// AsPaypalSource is the BasicCopySource implementation for DynamicsSource. -func (ds DynamicsSource) AsPaypalSource() (*PaypalSource, bool) { +// AsAmazonRedshiftSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { return nil, false } -// AsMarketoSource is the BasicCopySource implementation for DynamicsSource. -func (ds DynamicsSource) AsMarketoSource() (*MarketoSource, bool) { +// AsGoogleAdWordsSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { return nil, false } -// AsAzureMariaDBSource is the BasicCopySource implementation for DynamicsSource. -func (ds DynamicsSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { +// AsOracleServiceCloudSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { return nil, false } -// AsMariaDBSource is the BasicCopySource implementation for DynamicsSource. -func (ds DynamicsSource) AsMariaDBSource() (*MariaDBSource, bool) { - return nil, false +// AsDynamicsAXSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { + return &das, true } -// AsMagentoSource is the BasicCopySource implementation for DynamicsSource. -func (ds DynamicsSource) AsMagentoSource() (*MagentoSource, bool) { +// AsResponsysSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsResponsysSource() (*ResponsysSource, bool) { return nil, false } -// AsJiraSource is the BasicCopySource implementation for DynamicsSource. -func (ds DynamicsSource) AsJiraSource() (*JiraSource, bool) { +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { return nil, false } -// AsImpalaSource is the BasicCopySource implementation for DynamicsSource. -func (ds DynamicsSource) AsImpalaSource() (*ImpalaSource, bool) { +// AsVerticaSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsVerticaSource() (*VerticaSource, bool) { return nil, false } -// AsHubspotSource is the BasicCopySource implementation for DynamicsSource. -func (ds DynamicsSource) AsHubspotSource() (*HubspotSource, bool) { +// AsNetezzaSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsNetezzaSource() (*NetezzaSource, bool) { return nil, false } -// AsHiveSource is the BasicCopySource implementation for DynamicsSource. -func (ds DynamicsSource) AsHiveSource() (*HiveSource, bool) { +// AsZohoSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsZohoSource() (*ZohoSource, bool) { return nil, false } -// AsHBaseSource is the BasicCopySource implementation for DynamicsSource. -func (ds DynamicsSource) AsHBaseSource() (*HBaseSource, bool) { +// AsXeroSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsXeroSource() (*XeroSource, bool) { return nil, false } -// AsGreenplumSource is the BasicCopySource implementation for DynamicsSource. -func (ds DynamicsSource) AsGreenplumSource() (*GreenplumSource, bool) { +// AsSquareSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsSquareSource() (*SquareSource, bool) { return nil, false } -// AsGoogleBigQuerySource is the BasicCopySource implementation for DynamicsSource. -func (ds DynamicsSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { +// AsSparkSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsSparkSource() (*SparkSource, bool) { return nil, false } -// AsEloquaSource is the BasicCopySource implementation for DynamicsSource. -func (ds DynamicsSource) AsEloquaSource() (*EloquaSource, bool) { +// AsShopifySource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsShopifySource() (*ShopifySource, bool) { return nil, false } -// AsDrillSource is the BasicCopySource implementation for DynamicsSource. -func (ds DynamicsSource) AsDrillSource() (*DrillSource, bool) { +// AsServiceNowSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsServiceNowSource() (*ServiceNowSource, bool) { return nil, false } -// AsCouchbaseSource is the BasicCopySource implementation for DynamicsSource. -func (ds DynamicsSource) AsCouchbaseSource() (*CouchbaseSource, bool) { +// AsQuickBooksSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsQuickBooksSource() (*QuickBooksSource, bool) { return nil, false } -// AsConcurSource is the BasicCopySource implementation for DynamicsSource. -func (ds DynamicsSource) AsConcurSource() (*ConcurSource, bool) { +// AsPrestoSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsPrestoSource() (*PrestoSource, bool) { return nil, false } -// AsAzurePostgreSQLSource is the BasicCopySource implementation for DynamicsSource. -func (ds DynamicsSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { +// AsPhoenixSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsPhoenixSource() (*PhoenixSource, bool) { return nil, false } -// AsAmazonMWSSource is the BasicCopySource implementation for DynamicsSource. -func (ds DynamicsSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { +// AsPaypalSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsPaypalSource() (*PaypalSource, bool) { return nil, false } -// AsHTTPSource is the BasicCopySource implementation for DynamicsSource. -func (ds DynamicsSource) AsHTTPSource() (*HTTPSource, bool) { +// AsMarketoSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsMarketoSource() (*MarketoSource, bool) { return nil, false } -// AsAzureBlobFSSource is the BasicCopySource implementation for DynamicsSource. -func (ds DynamicsSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { +// AsAzureMariaDBSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { return nil, false } -// AsAzureDataLakeStoreSource is the BasicCopySource implementation for DynamicsSource. -func (ds DynamicsSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { +// AsMariaDBSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsMariaDBSource() (*MariaDBSource, bool) { return nil, false } -// AsOffice365Source is the BasicCopySource implementation for DynamicsSource. -func (ds DynamicsSource) AsOffice365Source() (*Office365Source, bool) { +// AsMagentoSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsMagentoSource() (*MagentoSource, bool) { return nil, false } -// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for DynamicsSource. -func (ds DynamicsSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { +// AsJiraSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsJiraSource() (*JiraSource, bool) { return nil, false } -// AsMongoDbV2Source is the BasicCopySource implementation for DynamicsSource. -func (ds DynamicsSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { +// AsImpalaSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsImpalaSource() (*ImpalaSource, bool) { return nil, false } -// AsMongoDbSource is the BasicCopySource implementation for DynamicsSource. -func (ds DynamicsSource) AsMongoDbSource() (*MongoDbSource, bool) { +// AsHubspotSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsHubspotSource() (*HubspotSource, bool) { return nil, false } -// AsCassandraSource is the BasicCopySource implementation for DynamicsSource. -func (ds DynamicsSource) AsCassandraSource() (*CassandraSource, bool) { +// AsHiveSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsHiveSource() (*HiveSource, bool) { return nil, false } -// AsWebSource is the BasicCopySource implementation for DynamicsSource. -func (ds DynamicsSource) AsWebSource() (*WebSource, bool) { +// AsHBaseSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsHBaseSource() (*HBaseSource, bool) { return nil, false } -// AsTeradataSource is the BasicCopySource implementation for DynamicsSource. -func (ds DynamicsSource) AsTeradataSource() (*TeradataSource, bool) { +// AsGreenplumSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsGreenplumSource() (*GreenplumSource, bool) { return nil, false } -// AsOracleSource is the BasicCopySource implementation for DynamicsSource. -func (ds DynamicsSource) AsOracleSource() (*OracleSource, bool) { +// AsGoogleBigQuerySource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { return nil, false } -// AsAzureDataExplorerSource is the BasicCopySource implementation for DynamicsSource. -func (ds DynamicsSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { +// AsEloquaSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsEloquaSource() (*EloquaSource, bool) { return nil, false } -// AsAzureMySQLSource is the BasicCopySource implementation for DynamicsSource. -func (ds DynamicsSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { +// AsDrillSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsDrillSource() (*DrillSource, bool) { return nil, false } -// AsHdfsSource is the BasicCopySource implementation for DynamicsSource. -func (ds DynamicsSource) AsHdfsSource() (*HdfsSource, bool) { +// AsCouchbaseSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsCouchbaseSource() (*CouchbaseSource, bool) { return nil, false } -// AsFileSystemSource is the BasicCopySource implementation for DynamicsSource. -func (ds DynamicsSource) AsFileSystemSource() (*FileSystemSource, bool) { +// AsConcurSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsConcurSource() (*ConcurSource, bool) { return nil, false } -// AsSQLDWSource is the BasicCopySource implementation for DynamicsSource. -func (ds DynamicsSource) AsSQLDWSource() (*SQLDWSource, bool) { +// AsAzurePostgreSQLSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { return nil, false } -// AsSQLMISource is the BasicCopySource implementation for DynamicsSource. -func (ds DynamicsSource) AsSQLMISource() (*SQLMISource, bool) { +// AsAmazonMWSSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { return nil, false } -// AsAzureSQLSource is the BasicCopySource implementation for DynamicsSource. -func (ds DynamicsSource) AsAzureSQLSource() (*AzureSQLSource, bool) { +// AsCassandraSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsCassandraSource() (*CassandraSource, bool) { return nil, false } -// AsSQLServerSource is the BasicCopySource implementation for DynamicsSource. -func (ds DynamicsSource) AsSQLServerSource() (*SQLServerSource, bool) { +// AsTeradataSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsTeradataSource() (*TeradataSource, bool) { return nil, false } -// AsSQLSource is the BasicCopySource implementation for DynamicsSource. -func (ds DynamicsSource) AsSQLSource() (*SQLSource, bool) { +// AsAzureMySQLSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { return nil, false } -// AsRestSource is the BasicCopySource implementation for DynamicsSource. -func (ds DynamicsSource) AsRestSource() (*RestSource, bool) { +// AsSQLDWSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsSQLDWSource() (*SQLDWSource, bool) { return nil, false } -// AsSapTableSource is the BasicCopySource implementation for DynamicsSource. -func (ds DynamicsSource) AsSapTableSource() (*SapTableSource, bool) { +// AsSQLMISource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsSQLMISource() (*SQLMISource, bool) { return nil, false } -// AsSapOpenHubSource is the BasicCopySource implementation for DynamicsSource. -func (ds DynamicsSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { +// AsAzureSQLSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsAzureSQLSource() (*AzureSQLSource, bool) { return nil, false } -// AsSapHanaSource is the BasicCopySource implementation for DynamicsSource. -func (ds DynamicsSource) AsSapHanaSource() (*SapHanaSource, bool) { +// AsSQLServerSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsSQLServerSource() (*SQLServerSource, bool) { return nil, false } -// AsSapEccSource is the BasicCopySource implementation for DynamicsSource. -func (ds DynamicsSource) AsSapEccSource() (*SapEccSource, bool) { +// AsSQLSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsSQLSource() (*SQLSource, bool) { return nil, false } -// AsSapCloudForCustomerSource is the BasicCopySource implementation for DynamicsSource. -func (ds DynamicsSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { +// AsSapTableSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsSapTableSource() (*SapTableSource, bool) { return nil, false } -// AsSalesforceServiceCloudSource is the BasicCopySource implementation for DynamicsSource. -func (ds DynamicsSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { +// AsSapOpenHubSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { return nil, false } -// AsSalesforceSource is the BasicCopySource implementation for DynamicsSource. -func (ds DynamicsSource) AsSalesforceSource() (*SalesforceSource, bool) { +// AsSapHanaSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsSapHanaSource() (*SapHanaSource, bool) { return nil, false } -// AsODataSource is the BasicCopySource implementation for DynamicsSource. -func (ds DynamicsSource) AsODataSource() (*ODataSource, bool) { +// AsSapEccSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsSapEccSource() (*SapEccSource, bool) { return nil, false } -// AsSapBwSource is the BasicCopySource implementation for DynamicsSource. -func (ds DynamicsSource) AsSapBwSource() (*SapBwSource, bool) { +// AsSapCloudForCustomerSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { return nil, false } -// AsSybaseSource is the BasicCopySource implementation for DynamicsSource. -func (ds DynamicsSource) AsSybaseSource() (*SybaseSource, bool) { +// AsSalesforceSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsSalesforceSource() (*SalesforceSource, bool) { return nil, false } -// AsPostgreSQLSource is the BasicCopySource implementation for DynamicsSource. -func (ds DynamicsSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { +// AsSapBwSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsSapBwSource() (*SapBwSource, bool) { return nil, false } -// AsMySQLSource is the BasicCopySource implementation for DynamicsSource. -func (ds DynamicsSource) AsMySQLSource() (*MySQLSource, bool) { +// AsSybaseSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsSybaseSource() (*SybaseSource, bool) { return nil, false } -// AsOdbcSource is the BasicCopySource implementation for DynamicsSource. -func (ds DynamicsSource) AsOdbcSource() (*OdbcSource, bool) { +// AsPostgreSQLSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { return nil, false } -// AsDb2Source is the BasicCopySource implementation for DynamicsSource. -func (ds DynamicsSource) AsDb2Source() (*Db2Source, bool) { +// AsMySQLSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsMySQLSource() (*MySQLSource, bool) { return nil, false } -// AsMicrosoftAccessSource is the BasicCopySource implementation for DynamicsSource. -func (ds DynamicsSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { +// AsOdbcSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsOdbcSource() (*OdbcSource, bool) { return nil, false } -// AsInformixSource is the BasicCopySource implementation for DynamicsSource. -func (ds DynamicsSource) AsInformixSource() (*InformixSource, bool) { +// AsDb2Source is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsDb2Source() (*Db2Source, bool) { return nil, false } -// AsRelationalSource is the BasicCopySource implementation for DynamicsSource. -func (ds DynamicsSource) AsRelationalSource() (*RelationalSource, bool) { +// AsInformixSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsInformixSource() (*InformixSource, bool) { return nil, false } -// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for DynamicsSource. -func (ds DynamicsSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { +// AsAzureTableSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsAzureTableSource() (*AzureTableSource, bool) { return nil, false } -// AsDynamicsCrmSource is the BasicCopySource implementation for DynamicsSource. -func (ds DynamicsSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { +// AsTabularSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsTabularSource() (*TabularSource, bool) { return nil, false } -// AsDynamicsSource is the BasicCopySource implementation for DynamicsSource. -func (ds DynamicsSource) AsDynamicsSource() (*DynamicsSource, bool) { - return &ds, true -} - -// AsDocumentDbCollectionSource is the BasicCopySource implementation for DynamicsSource. -func (ds DynamicsSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { - return nil, false +// AsBasicTabularSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &das, true } -// AsBlobSource is the BasicCopySource implementation for DynamicsSource. -func (ds DynamicsSource) AsBlobSource() (*BlobSource, bool) { +// AsBinarySource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsBinarySource() (*BinarySource, bool) { return nil, false } -// AsAzureTableSource is the BasicCopySource implementation for DynamicsSource. -func (ds DynamicsSource) AsAzureTableSource() (*AzureTableSource, bool) { +// AsOrcSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsOrcSource() (*OrcSource, bool) { return nil, false } -// AsBinarySource is the BasicCopySource implementation for DynamicsSource. -func (ds DynamicsSource) AsBinarySource() (*BinarySource, bool) { +// AsJSONSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsJSONSource() (*JSONSource, bool) { return nil, false } -// AsDelimitedTextSource is the BasicCopySource implementation for DynamicsSource. -func (ds DynamicsSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { +// AsDelimitedTextSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { return nil, false } -// AsParquetSource is the BasicCopySource implementation for DynamicsSource. -func (ds DynamicsSource) AsParquetSource() (*ParquetSource, bool) { +// AsParquetSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsParquetSource() (*ParquetSource, bool) { return nil, false } -// AsAvroSource is the BasicCopySource implementation for DynamicsSource. -func (ds DynamicsSource) AsAvroSource() (*AvroSource, bool) { +// AsAvroSource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsAvroSource() (*AvroSource, bool) { return nil, false } -// AsCopySource is the BasicCopySource implementation for DynamicsSource. -func (ds DynamicsSource) AsCopySource() (*CopySource, bool) { +// AsCopySource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsCopySource() (*CopySource, bool) { return nil, false } -// AsBasicCopySource is the BasicCopySource implementation for DynamicsSource. -func (ds DynamicsSource) AsBasicCopySource() (BasicCopySource, bool) { - return &ds, true +// AsBasicCopySource is the BasicCopySource implementation for DynamicsAXSource. +func (das DynamicsAXSource) AsBasicCopySource() (BasicCopySource, bool) { + return &das, true } -// UnmarshalJSON is the custom unmarshaler for DynamicsSource struct. -func (ds *DynamicsSource) UnmarshalJSON(body []byte) error { +// UnmarshalJSON is the custom unmarshaler for DynamicsAXSource struct. +func (das *DynamicsAXSource) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -72098,7 +77317,16 @@ func (ds *DynamicsSource) UnmarshalJSON(body []byte) error { if err != nil { return err } - ds.Query = query + das.Query = query + } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + das.QueryTimeout = queryTimeout } default: if v != nil { @@ -72107,10 +77335,10 @@ func (ds *DynamicsSource) UnmarshalJSON(body []byte) error { if err != nil { return err } - if ds.AdditionalProperties == nil { - ds.AdditionalProperties = make(map[string]interface{}) + if das.AdditionalProperties == nil { + das.AdditionalProperties = make(map[string]interface{}) } - ds.AdditionalProperties[k] = additionalProperties + das.AdditionalProperties[k] = additionalProperties } case "sourceRetryCount": if v != nil { @@ -72119,7 +77347,7 @@ func (ds *DynamicsSource) UnmarshalJSON(body []byte) error { if err != nil { return err } - ds.SourceRetryCount = sourceRetryCount + das.SourceRetryCount = sourceRetryCount } case "sourceRetryWait": if v != nil { @@ -72128,7 +77356,7 @@ func (ds *DynamicsSource) UnmarshalJSON(body []byte) error { if err != nil { return err } - ds.SourceRetryWait = sourceRetryWait + das.SourceRetryWait = sourceRetryWait } case "maxConcurrentConnections": if v != nil { @@ -72137,7 +77365,7 @@ func (ds *DynamicsSource) UnmarshalJSON(body []byte) error { if err != nil { return err } - ds.MaxConcurrentConnections = maxConcurrentConnections + das.MaxConcurrentConnections = maxConcurrentConnections } case "type": if v != nil { @@ -72146,7 +77374,7 @@ func (ds *DynamicsSource) UnmarshalJSON(body []byte) error { if err != nil { return err } - ds.Type = typeVar + das.Type = typeVar } } } @@ -72154,519 +77382,514 @@ func (ds *DynamicsSource) UnmarshalJSON(body []byte) error { return nil } -// EloquaLinkedService eloqua server linked service. -type EloquaLinkedService struct { - // EloquaLinkedServiceTypeProperties - Eloqua server linked service properties. - *EloquaLinkedServiceTypeProperties `json:"typeProperties,omitempty"` +// DynamicsCrmEntityDataset the Dynamics CRM entity dataset. +type DynamicsCrmEntityDataset struct { + // DynamicsCrmEntityDatasetTypeProperties - Dynamics CRM entity dataset properties. + *DynamicsCrmEntityDatasetTypeProperties `json:"typeProperties,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` - // ConnectVia - The integration runtime reference. - ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` - // Description - Linked service description. + // Description - Dataset description. Description *string `json:"description,omitempty"` - // Parameters - Parameters for linked service. + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. Parameters map[string]*ParameterSpecification `json:"parameters"` - // Annotations - List of tags that can be used for describing the linked service. + // Annotations - List of tags that can be used for describing the Dataset. Annotations *[]interface{} `json:"annotations,omitempty"` - // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' - Type TypeBasicLinkedService `json:"type,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' + Type TypeBasicDataset `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for EloquaLinkedService. -func (els EloquaLinkedService) MarshalJSON() ([]byte, error) { - els.Type = TypeEloqua +// MarshalJSON is the custom marshaler for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) MarshalJSON() ([]byte, error) { + dced.Type = TypeDynamicsCrmEntity objectMap := make(map[string]interface{}) - if els.EloquaLinkedServiceTypeProperties != nil { - objectMap["typeProperties"] = els.EloquaLinkedServiceTypeProperties + if dced.DynamicsCrmEntityDatasetTypeProperties != nil { + objectMap["typeProperties"] = dced.DynamicsCrmEntityDatasetTypeProperties } - if els.ConnectVia != nil { - objectMap["connectVia"] = els.ConnectVia + if dced.Description != nil { + objectMap["description"] = dced.Description } - if els.Description != nil { - objectMap["description"] = els.Description + if dced.Structure != nil { + objectMap["structure"] = dced.Structure } - if els.Parameters != nil { - objectMap["parameters"] = els.Parameters + if dced.Schema != nil { + objectMap["schema"] = dced.Schema } - if els.Annotations != nil { - objectMap["annotations"] = els.Annotations + if dced.LinkedServiceName != nil { + objectMap["linkedServiceName"] = dced.LinkedServiceName } - if els.Type != "" { - objectMap["type"] = els.Type + if dced.Parameters != nil { + objectMap["parameters"] = dced.Parameters } - for k, v := range els.AdditionalProperties { - objectMap[k] = v + if dced.Annotations != nil { + objectMap["annotations"] = dced.Annotations } - return json.Marshal(objectMap) -} - -// AsAzureFunctionLinkedService is the BasicLinkedService implementation for EloquaLinkedService. -func (els EloquaLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { - return nil, false -} - -// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for EloquaLinkedService. -func (els EloquaLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { - return nil, false -} - -// AsSapTableLinkedService is the BasicLinkedService implementation for EloquaLinkedService. -func (els EloquaLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { - return nil, false + if dced.Folder != nil { + objectMap["folder"] = dced.Folder + } + if dced.Type != "" { + objectMap["type"] = dced.Type + } + for k, v := range dced.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) } -// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for EloquaLinkedService. -func (els EloquaLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { return nil, false } -// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for EloquaLinkedService. -func (els EloquaLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { return nil, false } -// AsDynamicsAXLinkedService is the BasicLinkedService implementation for EloquaLinkedService. -func (els EloquaLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { return nil, false } -// AsResponsysLinkedService is the BasicLinkedService implementation for EloquaLinkedService. -func (els EloquaLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { +// AsDynamicsAXResourceDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { return nil, false } -// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for EloquaLinkedService. -func (els EloquaLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { +// AsResponsysObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { return nil, false } -// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for EloquaLinkedService. -func (els EloquaLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { return nil, false } -// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for EloquaLinkedService. -func (els EloquaLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { +// AsVerticaTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { return nil, false } -// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for EloquaLinkedService. -func (els EloquaLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { +// AsNetezzaTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { return nil, false } -// AsNetezzaLinkedService is the BasicLinkedService implementation for EloquaLinkedService. -func (els EloquaLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { +// AsZohoObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { return nil, false } -// AsVerticaLinkedService is the BasicLinkedService implementation for EloquaLinkedService. -func (els EloquaLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { +// AsXeroObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { return nil, false } -// AsZohoLinkedService is the BasicLinkedService implementation for EloquaLinkedService. -func (els EloquaLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { +// AsSquareObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { return nil, false } -// AsXeroLinkedService is the BasicLinkedService implementation for EloquaLinkedService. -func (els EloquaLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { +// AsSparkObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { return nil, false } -// AsSquareLinkedService is the BasicLinkedService implementation for EloquaLinkedService. -func (els EloquaLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { +// AsShopifyObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { return nil, false } -// AsSparkLinkedService is the BasicLinkedService implementation for EloquaLinkedService. -func (els EloquaLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { +// AsServiceNowObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { return nil, false } -// AsShopifyLinkedService is the BasicLinkedService implementation for EloquaLinkedService. -func (els EloquaLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { +// AsQuickBooksObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { return nil, false } -// AsServiceNowLinkedService is the BasicLinkedService implementation for EloquaLinkedService. -func (els EloquaLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { +// AsPrestoObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { return nil, false } -// AsQuickBooksLinkedService is the BasicLinkedService implementation for EloquaLinkedService. -func (els EloquaLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { +// AsPhoenixObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { return nil, false } -// AsPrestoLinkedService is the BasicLinkedService implementation for EloquaLinkedService. -func (els EloquaLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { +// AsPaypalObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { return nil, false } -// AsPhoenixLinkedService is the BasicLinkedService implementation for EloquaLinkedService. -func (els EloquaLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { +// AsMarketoObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { return nil, false } -// AsPaypalLinkedService is the BasicLinkedService implementation for EloquaLinkedService. -func (els EloquaLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { +// AsAzureMariaDBTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { return nil, false } -// AsMarketoLinkedService is the BasicLinkedService implementation for EloquaLinkedService. -func (els EloquaLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { +// AsMariaDBTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { return nil, false } -// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for EloquaLinkedService. -func (els EloquaLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { +// AsMagentoObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { return nil, false } -// AsMariaDBLinkedService is the BasicLinkedService implementation for EloquaLinkedService. -func (els EloquaLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { +// AsJiraObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { return nil, false } -// AsMagentoLinkedService is the BasicLinkedService implementation for EloquaLinkedService. -func (els EloquaLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { +// AsImpalaObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { return nil, false } -// AsJiraLinkedService is the BasicLinkedService implementation for EloquaLinkedService. -func (els EloquaLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { +// AsHubspotObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { return nil, false } -// AsImpalaLinkedService is the BasicLinkedService implementation for EloquaLinkedService. -func (els EloquaLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { +// AsHiveObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { return nil, false } -// AsHubspotLinkedService is the BasicLinkedService implementation for EloquaLinkedService. -func (els EloquaLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { +// AsHBaseObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { return nil, false } -// AsHiveLinkedService is the BasicLinkedService implementation for EloquaLinkedService. -func (els EloquaLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { +// AsGreenplumTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { return nil, false } -// AsHBaseLinkedService is the BasicLinkedService implementation for EloquaLinkedService. -func (els EloquaLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { return nil, false } -// AsGreenplumLinkedService is the BasicLinkedService implementation for EloquaLinkedService. -func (els EloquaLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { +// AsEloquaObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { return nil, false } -// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for EloquaLinkedService. -func (els EloquaLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { +// AsDrillTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { return nil, false } -// AsEloquaLinkedService is the BasicLinkedService implementation for EloquaLinkedService. -func (els EloquaLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { - return &els, true -} - -// AsDrillLinkedService is the BasicLinkedService implementation for EloquaLinkedService. -func (els EloquaLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { +// AsCouchbaseTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { return nil, false } -// AsCouchbaseLinkedService is the BasicLinkedService implementation for EloquaLinkedService. -func (els EloquaLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { +// AsConcurObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { return nil, false } -// AsConcurLinkedService is the BasicLinkedService implementation for EloquaLinkedService. -func (els EloquaLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { return nil, false } -// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for EloquaLinkedService. -func (els EloquaLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { +// AsAmazonMWSObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { return nil, false } -// AsAmazonMWSLinkedService is the BasicLinkedService implementation for EloquaLinkedService. -func (els EloquaLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { +// AsHTTPDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsHTTPDataset() (*HTTPDataset, bool) { return nil, false } -// AsSapHanaLinkedService is the BasicLinkedService implementation for EloquaLinkedService. -func (els EloquaLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { +// AsAzureSearchIndexDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { return nil, false } -// AsSapBWLinkedService is the BasicLinkedService implementation for EloquaLinkedService. -func (els EloquaLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { +// AsWebTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsWebTableDataset() (*WebTableDataset, bool) { return nil, false } -// AsSftpServerLinkedService is the BasicLinkedService implementation for EloquaLinkedService. -func (els EloquaLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { +// AsSapTableResourceDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { return nil, false } -// AsFtpServerLinkedService is the BasicLinkedService implementation for EloquaLinkedService. -func (els EloquaLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { +// AsRestResourceDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { return nil, false } -// AsHTTPLinkedService is the BasicLinkedService implementation for EloquaLinkedService. -func (els EloquaLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { +// AsSQLServerTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { return nil, false } -// AsAzureSearchLinkedService is the BasicLinkedService implementation for EloquaLinkedService. -func (els EloquaLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { +// AsSapOpenHubTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { return nil, false } -// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for EloquaLinkedService. -func (els EloquaLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { +// AsSapHanaTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { return nil, false } -// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for EloquaLinkedService. -func (els EloquaLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { +// AsSapEccResourceDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { return nil, false } -// AsAmazonS3LinkedService is the BasicLinkedService implementation for EloquaLinkedService. -func (els EloquaLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { return nil, false } -// AsRestServiceLinkedService is the BasicLinkedService implementation for EloquaLinkedService. -func (els EloquaLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { +// AsSapBwCubeDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { return nil, false } -// AsSapOpenHubLinkedService is the BasicLinkedService implementation for EloquaLinkedService. -func (els EloquaLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { +// AsSybaseTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { return nil, false } -// AsSapEccLinkedService is the BasicLinkedService implementation for EloquaLinkedService. -func (els EloquaLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { return nil, false } -// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for EloquaLinkedService. -func (els EloquaLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { +// AsSalesforceObjectDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { return nil, false } -// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for EloquaLinkedService. -func (els EloquaLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { return nil, false } -// AsSalesforceLinkedService is the BasicLinkedService implementation for EloquaLinkedService. -func (els EloquaLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { +// AsPostgreSQLTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { return nil, false } -// AsOffice365LinkedService is the BasicLinkedService implementation for EloquaLinkedService. -func (els EloquaLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { +// AsMySQLTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { return nil, false } -// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for EloquaLinkedService. -func (els EloquaLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { +// AsOdbcTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { return nil, false } -// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for EloquaLinkedService. -func (els EloquaLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { +// AsInformixTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { return nil, false } -// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for EloquaLinkedService. -func (els EloquaLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { +// AsRelationalTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { return nil, false } -// AsMongoDbV2LinkedService is the BasicLinkedService implementation for EloquaLinkedService. -func (els EloquaLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { +// AsDb2TableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { return nil, false } -// AsMongoDbLinkedService is the BasicLinkedService implementation for EloquaLinkedService. -func (els EloquaLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { return nil, false } -// AsCassandraLinkedService is the BasicLinkedService implementation for EloquaLinkedService. -func (els EloquaLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { +// AsAzureMySQLTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { return nil, false } -// AsWebLinkedService is the BasicLinkedService implementation for EloquaLinkedService. -func (els EloquaLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { +// AsTeradataTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { return nil, false } -// AsODataLinkedService is the BasicLinkedService implementation for EloquaLinkedService. -func (els EloquaLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { +// AsOracleTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { return nil, false } -// AsHdfsLinkedService is the BasicLinkedService implementation for EloquaLinkedService. -func (els EloquaLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { +// AsODataResourceDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { return nil, false } -// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for EloquaLinkedService. -func (els EloquaLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { return nil, false } -// AsInformixLinkedService is the BasicLinkedService implementation for EloquaLinkedService. -func (els EloquaLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { return nil, false } -// AsOdbcLinkedService is the BasicLinkedService implementation for EloquaLinkedService. -func (els EloquaLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { +// AsMongoDbCollectionDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { return nil, false } -// AsAzureMLLinkedService is the BasicLinkedService implementation for EloquaLinkedService. -func (els EloquaLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { +// AsFileShareDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsFileShareDataset() (*FileShareDataset, bool) { return nil, false } -// AsTeradataLinkedService is the BasicLinkedService implementation for EloquaLinkedService. -func (els EloquaLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { +// AsOffice365Dataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsOffice365Dataset() (*Office365Dataset, bool) { return nil, false } -// AsDb2LinkedService is the BasicLinkedService implementation for EloquaLinkedService. -func (els EloquaLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { +// AsAzureBlobFSDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) { return nil, false } -// AsSybaseLinkedService is the BasicLinkedService implementation for EloquaLinkedService. -func (els EloquaLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { +// AsAzureDataLakeStoreDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) { return nil, false } -// AsPostgreSQLLinkedService is the BasicLinkedService implementation for EloquaLinkedService. -func (els EloquaLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { return nil, false } -// AsMySQLLinkedService is the BasicLinkedService implementation for EloquaLinkedService. -func (els EloquaLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { - return nil, false +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { + return &dced, true } -// AsAzureMySQLLinkedService is the BasicLinkedService implementation for EloquaLinkedService. -func (els EloquaLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { +// AsDynamicsEntityDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { return nil, false } -// AsOracleLinkedService is the BasicLinkedService implementation for EloquaLinkedService. -func (els EloquaLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { +// AsDocumentDbCollectionDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { return nil, false } -// AsFileServerLinkedService is the BasicLinkedService implementation for EloquaLinkedService. -func (els EloquaLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { return nil, false } -// AsHDInsightLinkedService is the BasicLinkedService implementation for EloquaLinkedService. -func (els EloquaLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { +// AsCustomDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsCustomDataset() (*CustomDataset, bool) { return nil, false } -// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for EloquaLinkedService. -func (els EloquaLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { +// AsCassandraTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { return nil, false } -// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for EloquaLinkedService. -func (els EloquaLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { +// AsAzureSQLDWTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { return nil, false } -// AsDynamicsLinkedService is the BasicLinkedService implementation for EloquaLinkedService. -func (els EloquaLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { +// AsAzureSQLMITableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { return nil, false } -// AsCosmosDbLinkedService is the BasicLinkedService implementation for EloquaLinkedService. -func (els EloquaLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { +// AsAzureSQLTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { return nil, false } -// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for EloquaLinkedService. -func (els EloquaLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { +// AsAzureTableDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { return nil, false } -// AsAzureBatchLinkedService is the BasicLinkedService implementation for EloquaLinkedService. -func (els EloquaLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { +// AsAzureBlobDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) { return nil, false } -// AsAzureSQLMILinkedService is the BasicLinkedService implementation for EloquaLinkedService. -func (els EloquaLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { +// AsBinaryDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsBinaryDataset() (*BinaryDataset, bool) { return nil, false } -// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for EloquaLinkedService. -func (els EloquaLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { +// AsOrcDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsOrcDataset() (*OrcDataset, bool) { return nil, false } -// AsSQLServerLinkedService is the BasicLinkedService implementation for EloquaLinkedService. -func (els EloquaLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { +// AsJSONDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsJSONDataset() (*JSONDataset, bool) { return nil, false } -// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for EloquaLinkedService. -func (els EloquaLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { +// AsDelimitedTextDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { return nil, false } -// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for EloquaLinkedService. -func (els EloquaLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { +// AsParquetDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsParquetDataset() (*ParquetDataset, bool) { return nil, false } -// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for EloquaLinkedService. -func (els EloquaLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { +// AsAvroDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsAvroDataset() (*AvroDataset, bool) { return nil, false } -// AsAzureStorageLinkedService is the BasicLinkedService implementation for EloquaLinkedService. -func (els EloquaLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { +// AsAmazonS3Dataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) { return nil, false } -// AsLinkedService is the BasicLinkedService implementation for EloquaLinkedService. -func (els EloquaLinkedService) AsLinkedService() (*LinkedService, bool) { +// AsDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsDataset() (*Dataset, bool) { return nil, false } -// AsBasicLinkedService is the BasicLinkedService implementation for EloquaLinkedService. -func (els EloquaLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { - return &els, true +// AsBasicDataset is the BasicDataset implementation for DynamicsCrmEntityDataset. +func (dced DynamicsCrmEntityDataset) AsBasicDataset() (BasicDataset, bool) { + return &dced, true } -// UnmarshalJSON is the custom unmarshaler for EloquaLinkedService struct. -func (els *EloquaLinkedService) UnmarshalJSON(body []byte) error { +// UnmarshalJSON is the custom unmarshaler for DynamicsCrmEntityDataset struct. +func (dced *DynamicsCrmEntityDataset) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -72676,12 +77899,12 @@ func (els *EloquaLinkedService) UnmarshalJSON(body []byte) error { switch k { case "typeProperties": if v != nil { - var eloquaLinkedServiceTypeProperties EloquaLinkedServiceTypeProperties - err = json.Unmarshal(*v, &eloquaLinkedServiceTypeProperties) + var dynamicsCrmEntityDatasetTypeProperties DynamicsCrmEntityDatasetTypeProperties + err = json.Unmarshal(*v, &dynamicsCrmEntityDatasetTypeProperties) if err != nil { return err } - els.EloquaLinkedServiceTypeProperties = &eloquaLinkedServiceTypeProperties + dced.DynamicsCrmEntityDatasetTypeProperties = &dynamicsCrmEntityDatasetTypeProperties } default: if v != nil { @@ -72690,19 +77913,10 @@ func (els *EloquaLinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - if els.AdditionalProperties == nil { - els.AdditionalProperties = make(map[string]interface{}) - } - els.AdditionalProperties[k] = additionalProperties - } - case "connectVia": - if v != nil { - var connectVia IntegrationRuntimeReference - err = json.Unmarshal(*v, &connectVia) - if err != nil { - return err + if dced.AdditionalProperties == nil { + dced.AdditionalProperties = make(map[string]interface{}) } - els.ConnectVia = &connectVia + dced.AdditionalProperties[k] = additionalProperties } case "description": if v != nil { @@ -72711,129 +77925,70 @@ func (els *EloquaLinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - els.Description = &description - } - case "parameters": - if v != nil { - var parameters map[string]*ParameterSpecification - err = json.Unmarshal(*v, ¶meters) - if err != nil { - return err - } - els.Parameters = parameters - } - case "annotations": - if v != nil { - var annotations []interface{} - err = json.Unmarshal(*v, &annotations) - if err != nil { - return err - } - els.Annotations = &annotations - } - case "type": - if v != nil { - var typeVar TypeBasicLinkedService - err = json.Unmarshal(*v, &typeVar) - if err != nil { - return err - } - els.Type = typeVar + dced.Description = &description } - } - } - - return nil -} - -// EloquaLinkedServiceTypeProperties eloqua server linked service properties. -type EloquaLinkedServiceTypeProperties struct { - // Endpoint - The endpoint of the Eloqua server. (i.e. eloqua.example.com) - Endpoint interface{} `json:"endpoint,omitempty"` - // Username - The site name and user name of your Eloqua account in the form: sitename/username. (i.e. Eloqua/Alice) - Username interface{} `json:"username,omitempty"` - // Password - The password corresponding to the user name. - Password BasicSecretBase `json:"password,omitempty"` - // UseEncryptedEndpoints - Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true. - UseEncryptedEndpoints interface{} `json:"useEncryptedEndpoints,omitempty"` - // UseHostVerification - Specifies whether to require the host name in the server's certificate to match the host name of the server when connecting over SSL. The default value is true. - UseHostVerification interface{} `json:"useHostVerification,omitempty"` - // UsePeerVerification - Specifies whether to verify the identity of the server when connecting over SSL. The default value is true. - UsePeerVerification interface{} `json:"usePeerVerification,omitempty"` - // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). - EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` -} - -// UnmarshalJSON is the custom unmarshaler for EloquaLinkedServiceTypeProperties struct. -func (elstp *EloquaLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - case "endpoint": + case "structure": if v != nil { - var endpoint interface{} - err = json.Unmarshal(*v, &endpoint) + var structure interface{} + err = json.Unmarshal(*v, &structure) if err != nil { return err } - elstp.Endpoint = endpoint + dced.Structure = structure } - case "username": + case "schema": if v != nil { - var username interface{} - err = json.Unmarshal(*v, &username) + var schema interface{} + err = json.Unmarshal(*v, &schema) if err != nil { return err } - elstp.Username = username + dced.Schema = schema } - case "password": + case "linkedServiceName": if v != nil { - password, err := unmarshalBasicSecretBase(*v) + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) if err != nil { return err } - elstp.Password = password + dced.LinkedServiceName = &linkedServiceName } - case "useEncryptedEndpoints": + case "parameters": if v != nil { - var useEncryptedEndpoints interface{} - err = json.Unmarshal(*v, &useEncryptedEndpoints) + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) if err != nil { return err } - elstp.UseEncryptedEndpoints = useEncryptedEndpoints + dced.Parameters = parameters } - case "useHostVerification": + case "annotations": if v != nil { - var useHostVerification interface{} - err = json.Unmarshal(*v, &useHostVerification) + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) if err != nil { return err } - elstp.UseHostVerification = useHostVerification + dced.Annotations = &annotations } - case "usePeerVerification": + case "folder": if v != nil { - var usePeerVerification interface{} - err = json.Unmarshal(*v, &usePeerVerification) + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) if err != nil { return err } - elstp.UsePeerVerification = usePeerVerification + dced.Folder = &folder } - case "encryptedCredential": + case "type": if v != nil { - var encryptedCredential interface{} - err = json.Unmarshal(*v, &encryptedCredential) + var typeVar TypeBasicDataset + err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - elstp.EncryptedCredential = encryptedCredential + dced.Type = typeVar } } } @@ -72841,489 +77996,540 @@ func (elstp *EloquaLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error return nil } -// EloquaObjectDataset eloqua server dataset. -type EloquaObjectDataset struct { - // GenericDatasetTypeProperties - Properties specific to this dataset type. - *GenericDatasetTypeProperties `json:"typeProperties,omitempty"` +// DynamicsCrmEntityDatasetTypeProperties dynamics CRM entity dataset properties. +type DynamicsCrmEntityDatasetTypeProperties struct { + // EntityName - The logical name of the entity. Type: string (or Expression with resultType string). + EntityName interface{} `json:"entityName,omitempty"` +} + +// DynamicsCrmLinkedService dynamics CRM linked service. +type DynamicsCrmLinkedService struct { + // DynamicsCrmLinkedServiceTypeProperties - Dynamics CRM linked service properties. + *DynamicsCrmLinkedServiceTypeProperties `json:"typeProperties,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` - // Description - Dataset description. + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. Description *string `json:"description,omitempty"` - // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. - Structure interface{} `json:"structure,omitempty"` - // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. - Schema interface{} `json:"schema,omitempty"` - // LinkedServiceName - Linked service reference. - LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` - // Parameters - Parameters for dataset. + // Parameters - Parameters for linked service. Parameters map[string]*ParameterSpecification `json:"parameters"` - // Annotations - List of tags that can be used for describing the Dataset. + // Annotations - List of tags that can be used for describing the linked service. Annotations *[]interface{} `json:"annotations,omitempty"` - // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. - Folder *DatasetFolder `json:"folder,omitempty"` - // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' - Type TypeBasicDataset `json:"type,omitempty"` + // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' + Type TypeBasicLinkedService `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for EloquaObjectDataset. -func (eod EloquaObjectDataset) MarshalJSON() ([]byte, error) { - eod.Type = TypeEloquaObject +// MarshalJSON is the custom marshaler for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) MarshalJSON() ([]byte, error) { + dcls.Type = TypeDynamicsCrm objectMap := make(map[string]interface{}) - if eod.GenericDatasetTypeProperties != nil { - objectMap["typeProperties"] = eod.GenericDatasetTypeProperties - } - if eod.Description != nil { - objectMap["description"] = eod.Description - } - if eod.Structure != nil { - objectMap["structure"] = eod.Structure - } - if eod.Schema != nil { - objectMap["schema"] = eod.Schema + if dcls.DynamicsCrmLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = dcls.DynamicsCrmLinkedServiceTypeProperties } - if eod.LinkedServiceName != nil { - objectMap["linkedServiceName"] = eod.LinkedServiceName + if dcls.ConnectVia != nil { + objectMap["connectVia"] = dcls.ConnectVia } - if eod.Parameters != nil { - objectMap["parameters"] = eod.Parameters + if dcls.Description != nil { + objectMap["description"] = dcls.Description } - if eod.Annotations != nil { - objectMap["annotations"] = eod.Annotations + if dcls.Parameters != nil { + objectMap["parameters"] = dcls.Parameters } - if eod.Folder != nil { - objectMap["folder"] = eod.Folder + if dcls.Annotations != nil { + objectMap["annotations"] = dcls.Annotations } - if eod.Type != "" { - objectMap["type"] = eod.Type + if dcls.Type != "" { + objectMap["type"] = dcls.Type } - for k, v := range eod.AdditionalProperties { + for k, v := range dcls.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for EloquaObjectDataset. -func (eod EloquaObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { return nil, false } -// AsAzureDataExplorerTableDataset is the BasicDataset implementation for EloquaObjectDataset. -func (eod EloquaObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { return nil, false } -// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for EloquaObjectDataset. -func (eod EloquaObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { +// AsSapTableLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { return nil, false } -// AsDynamicsAXResourceDataset is the BasicDataset implementation for EloquaObjectDataset. -func (eod EloquaObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { return nil, false } -// AsResponsysObjectDataset is the BasicDataset implementation for EloquaObjectDataset. -func (eod EloquaObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { return nil, false } -// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for EloquaObjectDataset. -func (eod EloquaObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { return nil, false } -// AsVerticaTableDataset is the BasicDataset implementation for EloquaObjectDataset. -func (eod EloquaObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { +// AsResponsysLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { return nil, false } -// AsNetezzaTableDataset is the BasicDataset implementation for EloquaObjectDataset. -func (eod EloquaObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { return nil, false } -// AsZohoObjectDataset is the BasicDataset implementation for EloquaObjectDataset. -func (eod EloquaObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { return nil, false } -// AsXeroObjectDataset is the BasicDataset implementation for EloquaObjectDataset. -func (eod EloquaObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { return nil, false } -// AsSquareObjectDataset is the BasicDataset implementation for EloquaObjectDataset. -func (eod EloquaObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { return nil, false } -// AsSparkObjectDataset is the BasicDataset implementation for EloquaObjectDataset. -func (eod EloquaObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { +// AsNetezzaLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { return nil, false } -// AsShopifyObjectDataset is the BasicDataset implementation for EloquaObjectDataset. -func (eod EloquaObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { +// AsVerticaLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { return nil, false } -// AsServiceNowObjectDataset is the BasicDataset implementation for EloquaObjectDataset. -func (eod EloquaObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { +// AsZohoLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { return nil, false } -// AsQuickBooksObjectDataset is the BasicDataset implementation for EloquaObjectDataset. -func (eod EloquaObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { +// AsXeroLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { return nil, false } -// AsPrestoObjectDataset is the BasicDataset implementation for EloquaObjectDataset. -func (eod EloquaObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { +// AsSquareLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { return nil, false } -// AsPhoenixObjectDataset is the BasicDataset implementation for EloquaObjectDataset. -func (eod EloquaObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { +// AsSparkLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { return nil, false } -// AsPaypalObjectDataset is the BasicDataset implementation for EloquaObjectDataset. -func (eod EloquaObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { +// AsShopifyLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { return nil, false } -// AsMarketoObjectDataset is the BasicDataset implementation for EloquaObjectDataset. -func (eod EloquaObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { +// AsServiceNowLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { return nil, false } -// AsAzureMariaDBTableDataset is the BasicDataset implementation for EloquaObjectDataset. -func (eod EloquaObjectDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { +// AsQuickBooksLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { return nil, false } -// AsMariaDBTableDataset is the BasicDataset implementation for EloquaObjectDataset. -func (eod EloquaObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { +// AsPrestoLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { return nil, false } -// AsMagentoObjectDataset is the BasicDataset implementation for EloquaObjectDataset. -func (eod EloquaObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { +// AsPhoenixLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { return nil, false } -// AsJiraObjectDataset is the BasicDataset implementation for EloquaObjectDataset. -func (eod EloquaObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { +// AsPaypalLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { return nil, false } -// AsImpalaObjectDataset is the BasicDataset implementation for EloquaObjectDataset. -func (eod EloquaObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { +// AsMarketoLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { return nil, false } -// AsHubspotObjectDataset is the BasicDataset implementation for EloquaObjectDataset. -func (eod EloquaObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { return nil, false } -// AsHiveObjectDataset is the BasicDataset implementation for EloquaObjectDataset. -func (eod EloquaObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { +// AsMariaDBLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { return nil, false } -// AsHBaseObjectDataset is the BasicDataset implementation for EloquaObjectDataset. -func (eod EloquaObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { +// AsMagentoLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { return nil, false } -// AsGreenplumTableDataset is the BasicDataset implementation for EloquaObjectDataset. -func (eod EloquaObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { +// AsJiraLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { return nil, false } -// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for EloquaObjectDataset. -func (eod EloquaObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { +// AsImpalaLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { return nil, false } -// AsEloquaObjectDataset is the BasicDataset implementation for EloquaObjectDataset. -func (eod EloquaObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { - return &eod, true +// AsHubspotLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false } -// AsDrillTableDataset is the BasicDataset implementation for EloquaObjectDataset. -func (eod EloquaObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { +// AsHiveLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { return nil, false } -// AsCouchbaseTableDataset is the BasicDataset implementation for EloquaObjectDataset. -func (eod EloquaObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { +// AsHBaseLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { return nil, false } -// AsConcurObjectDataset is the BasicDataset implementation for EloquaObjectDataset. -func (eod EloquaObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { +// AsGreenplumLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { return nil, false } -// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for EloquaObjectDataset. -func (eod EloquaObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { return nil, false } -// AsAmazonMWSObjectDataset is the BasicDataset implementation for EloquaObjectDataset. -func (eod EloquaObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { +// AsEloquaLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { return nil, false } -// AsHTTPDataset is the BasicDataset implementation for EloquaObjectDataset. -func (eod EloquaObjectDataset) AsHTTPDataset() (*HTTPDataset, bool) { +// AsDrillLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { return nil, false } -// AsAzureSearchIndexDataset is the BasicDataset implementation for EloquaObjectDataset. -func (eod EloquaObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { +// AsCouchbaseLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { return nil, false } -// AsWebTableDataset is the BasicDataset implementation for EloquaObjectDataset. -func (eod EloquaObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) { +// AsConcurLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { return nil, false } -// AsSapTableResourceDataset is the BasicDataset implementation for EloquaObjectDataset. -func (eod EloquaObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { return nil, false } -// AsRestResourceDataset is the BasicDataset implementation for EloquaObjectDataset. -func (eod EloquaObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { return nil, false } -// AsSQLServerTableDataset is the BasicDataset implementation for EloquaObjectDataset. -func (eod EloquaObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { +// AsSapHanaLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { return nil, false } -// AsSapOpenHubTableDataset is the BasicDataset implementation for EloquaObjectDataset. -func (eod EloquaObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { +// AsSapBWLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { return nil, false } -// AsSapHanaTableDataset is the BasicDataset implementation for EloquaObjectDataset. -func (eod EloquaObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { +// AsSftpServerLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { return nil, false } -// AsSapEccResourceDataset is the BasicDataset implementation for EloquaObjectDataset. -func (eod EloquaObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { +// AsFtpServerLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { return nil, false } -// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for EloquaObjectDataset. -func (eod EloquaObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { +// AsHTTPLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { return nil, false } -// AsSapBwCubeDataset is the BasicDataset implementation for EloquaObjectDataset. -func (eod EloquaObjectDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { +// AsAzureSearchLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { return nil, false } -// AsSybaseTableDataset is the BasicDataset implementation for EloquaObjectDataset. -func (eod EloquaObjectDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { return nil, false } -// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for EloquaObjectDataset. -func (eod EloquaObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { return nil, false } -// AsSalesforceObjectDataset is the BasicDataset implementation for EloquaObjectDataset. -func (eod EloquaObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { +// AsAmazonS3LinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { return nil, false } -// AsMicrosoftAccessTableDataset is the BasicDataset implementation for EloquaObjectDataset. -func (eod EloquaObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { +// AsRestServiceLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { return nil, false } -// AsPostgreSQLTableDataset is the BasicDataset implementation for EloquaObjectDataset. -func (eod EloquaObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { return nil, false } -// AsMySQLTableDataset is the BasicDataset implementation for EloquaObjectDataset. -func (eod EloquaObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { +// AsSapEccLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { return nil, false } -// AsOdbcTableDataset is the BasicDataset implementation for EloquaObjectDataset. -func (eod EloquaObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { return nil, false } -// AsInformixTableDataset is the BasicDataset implementation for EloquaObjectDataset. -func (eod EloquaObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { return nil, false } -// AsRelationalTableDataset is the BasicDataset implementation for EloquaObjectDataset. -func (eod EloquaObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { +// AsSalesforceLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { return nil, false } -// AsAzureMySQLTableDataset is the BasicDataset implementation for EloquaObjectDataset. -func (eod EloquaObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { +// AsOffice365LinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { return nil, false } -// AsTeradataTableDataset is the BasicDataset implementation for EloquaObjectDataset. -func (eod EloquaObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { return nil, false } -// AsOracleTableDataset is the BasicDataset implementation for EloquaObjectDataset. -func (eod EloquaObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { return nil, false } -// AsODataResourceDataset is the BasicDataset implementation for EloquaObjectDataset. -func (eod EloquaObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { return nil, false } -// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for EloquaObjectDataset. -func (eod EloquaObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { return nil, false } -// AsMongoDbV2CollectionDataset is the BasicDataset implementation for EloquaObjectDataset. -func (eod EloquaObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { +// AsMongoDbLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { return nil, false } -// AsMongoDbCollectionDataset is the BasicDataset implementation for EloquaObjectDataset. -func (eod EloquaObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { +// AsCassandraLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { return nil, false } -// AsFileShareDataset is the BasicDataset implementation for EloquaObjectDataset. -func (eod EloquaObjectDataset) AsFileShareDataset() (*FileShareDataset, bool) { +// AsWebLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { return nil, false } -// AsOffice365Dataset is the BasicDataset implementation for EloquaObjectDataset. -func (eod EloquaObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) { +// AsODataLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { return nil, false } -// AsAzureBlobFSDataset is the BasicDataset implementation for EloquaObjectDataset. -func (eod EloquaObjectDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) { +// AsHdfsLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { return nil, false } -// AsAzureDataLakeStoreDataset is the BasicDataset implementation for EloquaObjectDataset. -func (eod EloquaObjectDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) { +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { return nil, false } -// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for EloquaObjectDataset. -func (eod EloquaObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { +// AsInformixLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { return nil, false } -// AsDynamicsCrmEntityDataset is the BasicDataset implementation for EloquaObjectDataset. -func (eod EloquaObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { +// AsOdbcLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { return nil, false } -// AsDynamicsEntityDataset is the BasicDataset implementation for EloquaObjectDataset. -func (eod EloquaObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { return nil, false } -// AsDocumentDbCollectionDataset is the BasicDataset implementation for EloquaObjectDataset. -func (eod EloquaObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { +// AsAzureMLLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { return nil, false } -// AsCustomDataset is the BasicDataset implementation for EloquaObjectDataset. -func (eod EloquaObjectDataset) AsCustomDataset() (*CustomDataset, bool) { +// AsTeradataLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { return nil, false } -// AsCassandraTableDataset is the BasicDataset implementation for EloquaObjectDataset. -func (eod EloquaObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { +// AsDb2LinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { return nil, false } -// AsAzureSQLDWTableDataset is the BasicDataset implementation for EloquaObjectDataset. -func (eod EloquaObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { +// AsSybaseLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { return nil, false } -// AsAzureSQLMITableDataset is the BasicDataset implementation for EloquaObjectDataset. -func (eod EloquaObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { return nil, false } -// AsAzureSQLTableDataset is the BasicDataset implementation for EloquaObjectDataset. -func (eod EloquaObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { +// AsMySQLLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { return nil, false } -// AsAzureTableDataset is the BasicDataset implementation for EloquaObjectDataset. -func (eod EloquaObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { return nil, false } -// AsAzureBlobDataset is the BasicDataset implementation for EloquaObjectDataset. -func (eod EloquaObjectDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) { +// AsOracleLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { return nil, false } -// AsBinaryDataset is the BasicDataset implementation for EloquaObjectDataset. -func (eod EloquaObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) { +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { return nil, false } -// AsDelimitedTextDataset is the BasicDataset implementation for EloquaObjectDataset. -func (eod EloquaObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { return nil, false } -// AsParquetDataset is the BasicDataset implementation for EloquaObjectDataset. -func (eod EloquaObjectDataset) AsParquetDataset() (*ParquetDataset, bool) { +// AsFileServerLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { return nil, false } -// AsAvroDataset is the BasicDataset implementation for EloquaObjectDataset. -func (eod EloquaObjectDataset) AsAvroDataset() (*AvroDataset, bool) { +// AsHDInsightLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { return nil, false } -// AsAmazonS3Dataset is the BasicDataset implementation for EloquaObjectDataset. -func (eod EloquaObjectDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) { +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { return nil, false } -// AsDataset is the BasicDataset implementation for EloquaObjectDataset. -func (eod EloquaObjectDataset) AsDataset() (*Dataset, bool) { +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return &dcls, true +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { return nil, false } -// AsBasicDataset is the BasicDataset implementation for EloquaObjectDataset. -func (eod EloquaObjectDataset) AsBasicDataset() (BasicDataset, bool) { - return &eod, true +// AsCosmosDbLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false } -// UnmarshalJSON is the custom unmarshaler for EloquaObjectDataset struct. -func (eod *EloquaObjectDataset) UnmarshalJSON(body []byte) error { +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for DynamicsCrmLinkedService. +func (dcls DynamicsCrmLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &dcls, true +} + +// UnmarshalJSON is the custom unmarshaler for DynamicsCrmLinkedService struct. +func (dcls *DynamicsCrmLinkedService) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -73333,12 +78539,12 @@ func (eod *EloquaObjectDataset) UnmarshalJSON(body []byte) error { switch k { case "typeProperties": if v != nil { - var genericDatasetTypeProperties GenericDatasetTypeProperties - err = json.Unmarshal(*v, &genericDatasetTypeProperties) + var dynamicsCrmLinkedServiceTypeProperties DynamicsCrmLinkedServiceTypeProperties + err = json.Unmarshal(*v, &dynamicsCrmLinkedServiceTypeProperties) if err != nil { return err } - eod.GenericDatasetTypeProperties = &genericDatasetTypeProperties + dcls.DynamicsCrmLinkedServiceTypeProperties = &dynamicsCrmLinkedServiceTypeProperties } default: if v != nil { @@ -73347,82 +78553,204 @@ func (eod *EloquaObjectDataset) UnmarshalJSON(body []byte) error { if err != nil { return err } - if eod.AdditionalProperties == nil { - eod.AdditionalProperties = make(map[string]interface{}) + if dcls.AdditionalProperties == nil { + dcls.AdditionalProperties = make(map[string]interface{}) } - eod.AdditionalProperties[k] = additionalProperties + dcls.AdditionalProperties[k] = additionalProperties } - case "description": + case "connectVia": if v != nil { - var description string - err = json.Unmarshal(*v, &description) + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) if err != nil { return err } - eod.Description = &description + dcls.ConnectVia = &connectVia } - case "structure": + case "description": if v != nil { - var structure interface{} - err = json.Unmarshal(*v, &structure) + var description string + err = json.Unmarshal(*v, &description) if err != nil { return err } - eod.Structure = structure + dcls.Description = &description } - case "schema": + case "parameters": if v != nil { - var schema interface{} - err = json.Unmarshal(*v, &schema) + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) if err != nil { return err } - eod.Schema = schema + dcls.Parameters = parameters } - case "linkedServiceName": + case "annotations": if v != nil { - var linkedServiceName LinkedServiceReference - err = json.Unmarshal(*v, &linkedServiceName) + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) if err != nil { return err } - eod.LinkedServiceName = &linkedServiceName + dcls.Annotations = &annotations } - case "parameters": + case "type": if v != nil { - var parameters map[string]*ParameterSpecification - err = json.Unmarshal(*v, ¶meters) + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - eod.Parameters = parameters + dcls.Type = typeVar } - case "annotations": + } + } + + return nil +} + +// DynamicsCrmLinkedServiceTypeProperties dynamics CRM linked service properties. +type DynamicsCrmLinkedServiceTypeProperties struct { + // DeploymentType - The deployment type of the Dynamics CRM instance. 'Online' for Dynamics CRM Online and 'OnPremisesWithIfd' for Dynamics CRM on-premises with Ifd. Type: string (or Expression with resultType string). Possible values include: 'Online', 'OnPremisesWithIfd' + DeploymentType DynamicsDeploymentType `json:"deploymentType,omitempty"` + // HostName - The host name of the on-premises Dynamics CRM server. The property is required for on-prem and not allowed for online. Type: string (or Expression with resultType string). + HostName interface{} `json:"hostName,omitempty"` + // Port - The port of on-premises Dynamics CRM server. The property is required for on-prem and not allowed for online. Default is 443. Type: integer (or Expression with resultType integer), minimum: 0. + Port interface{} `json:"port,omitempty"` + // ServiceURI - The URL to the Microsoft Dynamics CRM server. The property is required for on-line and not allowed for on-prem. Type: string (or Expression with resultType string). + ServiceURI interface{} `json:"serviceUri,omitempty"` + // OrganizationName - The organization name of the Dynamics CRM instance. The property is required for on-prem and required for online when there are more than one Dynamics CRM instances associated with the user. Type: string (or Expression with resultType string). + OrganizationName interface{} `json:"organizationName,omitempty"` + // AuthenticationType - The authentication type to connect to Dynamics CRM server. 'Office365' for online scenario, 'Ifd' for on-premises with Ifd scenario, 'AADServicePrincipal' for Server-To-Server authentication in online scenario. Type: string (or Expression with resultType string). Possible values include: 'Office365', 'Ifd', 'AADServicePrincipal' + AuthenticationType DynamicsAuthenticationType `json:"authenticationType,omitempty"` + // Username - User name to access the Dynamics CRM instance. Type: string (or Expression with resultType string). + Username interface{} `json:"username,omitempty"` + // Password - Password to access the Dynamics CRM instance. + Password BasicSecretBase `json:"password,omitempty"` + // ServicePrincipalID - The client ID of the application in Azure Active Directory used for Server-To-Server authentication. Type: string (or Expression with resultType string). + ServicePrincipalID interface{} `json:"servicePrincipalId,omitempty"` + // ServicePrincipalCredentialType - The service principal credential type to use in Server-To-Server authentication. 'ServicePrincipalKey' for key/secret, 'ServicePrincipalCert' for certificate. Type: string (or Expression with resultType string). + ServicePrincipalCredentialType interface{} `json:"servicePrincipalCredentialType,omitempty"` + // ServicePrincipalCredential - The credential of the service principal object in Azure Active Directory. If servicePrincipalCredentialType is 'ServicePrincipalKey', servicePrincipalCredential can be SecureString or AzureKeyVaultSecretReference. If servicePrincipalCredentialType is 'ServicePrincipalCert', servicePrincipalCredential can only be AzureKeyVaultSecretReference. + ServicePrincipalCredential BasicSecretBase `json:"servicePrincipalCredential,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for DynamicsCrmLinkedServiceTypeProperties struct. +func (dclstp *DynamicsCrmLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "deploymentType": if v != nil { - var annotations []interface{} - err = json.Unmarshal(*v, &annotations) + var deploymentType DynamicsDeploymentType + err = json.Unmarshal(*v, &deploymentType) if err != nil { return err } - eod.Annotations = &annotations + dclstp.DeploymentType = deploymentType } - case "folder": + case "hostName": if v != nil { - var folder DatasetFolder - err = json.Unmarshal(*v, &folder) + var hostName interface{} + err = json.Unmarshal(*v, &hostName) if err != nil { return err } - eod.Folder = &folder + dclstp.HostName = hostName } - case "type": + case "port": if v != nil { - var typeVar TypeBasicDataset - err = json.Unmarshal(*v, &typeVar) + var port interface{} + err = json.Unmarshal(*v, &port) if err != nil { return err } - eod.Type = typeVar + dclstp.Port = port + } + case "serviceUri": + if v != nil { + var serviceURI interface{} + err = json.Unmarshal(*v, &serviceURI) + if err != nil { + return err + } + dclstp.ServiceURI = serviceURI + } + case "organizationName": + if v != nil { + var organizationName interface{} + err = json.Unmarshal(*v, &organizationName) + if err != nil { + return err + } + dclstp.OrganizationName = organizationName + } + case "authenticationType": + if v != nil { + var authenticationType DynamicsAuthenticationType + err = json.Unmarshal(*v, &authenticationType) + if err != nil { + return err + } + dclstp.AuthenticationType = authenticationType + } + case "username": + if v != nil { + var username interface{} + err = json.Unmarshal(*v, &username) + if err != nil { + return err + } + dclstp.Username = username + } + case "password": + if v != nil { + password, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + dclstp.Password = password + } + case "servicePrincipalId": + if v != nil { + var servicePrincipalID interface{} + err = json.Unmarshal(*v, &servicePrincipalID) + if err != nil { + return err + } + dclstp.ServicePrincipalID = servicePrincipalID + } + case "servicePrincipalCredentialType": + if v != nil { + var servicePrincipalCredentialType interface{} + err = json.Unmarshal(*v, &servicePrincipalCredentialType) + if err != nil { + return err + } + dclstp.ServicePrincipalCredentialType = servicePrincipalCredentialType + } + case "servicePrincipalCredential": + if v != nil { + servicePrincipalCredential, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + dclstp.ServicePrincipalCredential = servicePrincipalCredential + } + case "encryptedCredential": + if v != nil { + var encryptedCredential interface{} + err = json.Unmarshal(*v, &encryptedCredential) + if err != nil { + return err + } + dclstp.EncryptedCredential = encryptedCredential } } } @@ -73430,785 +78758,848 @@ func (eod *EloquaObjectDataset) UnmarshalJSON(body []byte) error { return nil } -// EloquaSource a copy activity Eloqua server source. -type EloquaSource struct { - // Query - A query to retrieve data from source. Type: string (or Expression with resultType string). - Query interface{} `json:"query,omitempty"` +// DynamicsCrmSink a copy activity Dynamics CRM sink. +type DynamicsCrmSink struct { + // WriteBehavior - The write behavior for the operation. + WriteBehavior *string `json:"writeBehavior,omitempty"` + // IgnoreNullValues - The flag indicating whether to ignore null values from input dataset (except key fields) during write operation. Default is false. Type: boolean (or Expression with resultType boolean). + IgnoreNullValues interface{} `json:"ignoreNullValues,omitempty"` + // AlternateKeyName - The logical name of the alternate key which will be used when upserting records. Type: string (or Expression with resultType string). + AlternateKeyName interface{} `json:"alternateKeyName,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` - // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). - SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` - // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). - SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` - // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + // WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0. + WriteBatchSize interface{} `json:"writeBatchSize,omitempty"` + // WriteBatchTimeout - Write batch timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"` + // SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer). + SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"` + // SinkRetryWait - Sink retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' - Type TypeBasicCopySource `json:"type,omitempty"` + // Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeCosmosDbSQLAPISink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAvroSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzureMySQLSink', 'TypeAzurePostgreSQLSink', 'TypeOrcSink', 'TypeJSONSink', 'TypeDelimitedTextSink' + Type TypeBasicCopySink `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for EloquaSource. -func (es EloquaSource) MarshalJSON() ([]byte, error) { - es.Type = TypeEloquaSource +// MarshalJSON is the custom marshaler for DynamicsCrmSink. +func (dcs DynamicsCrmSink) MarshalJSON() ([]byte, error) { + dcs.Type = TypeDynamicsCrmSink objectMap := make(map[string]interface{}) - if es.Query != nil { - objectMap["query"] = es.Query + if dcs.WriteBehavior != nil { + objectMap["writeBehavior"] = dcs.WriteBehavior } - if es.SourceRetryCount != nil { - objectMap["sourceRetryCount"] = es.SourceRetryCount + if dcs.IgnoreNullValues != nil { + objectMap["ignoreNullValues"] = dcs.IgnoreNullValues } - if es.SourceRetryWait != nil { - objectMap["sourceRetryWait"] = es.SourceRetryWait + if dcs.AlternateKeyName != nil { + objectMap["alternateKeyName"] = dcs.AlternateKeyName } - if es.MaxConcurrentConnections != nil { - objectMap["maxConcurrentConnections"] = es.MaxConcurrentConnections + if dcs.WriteBatchSize != nil { + objectMap["writeBatchSize"] = dcs.WriteBatchSize } - if es.Type != "" { - objectMap["type"] = es.Type + if dcs.WriteBatchTimeout != nil { + objectMap["writeBatchTimeout"] = dcs.WriteBatchTimeout } - for k, v := range es.AdditionalProperties { + if dcs.SinkRetryCount != nil { + objectMap["sinkRetryCount"] = dcs.SinkRetryCount + } + if dcs.SinkRetryWait != nil { + objectMap["sinkRetryWait"] = dcs.SinkRetryWait + } + if dcs.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = dcs.MaxConcurrentConnections + } + if dcs.Type != "" { + objectMap["type"] = dcs.Type + } + for k, v := range dcs.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsAmazonRedshiftSource is the BasicCopySource implementation for EloquaSource. -func (es EloquaSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { +// AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for DynamicsCrmSink. +func (dcs DynamicsCrmSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) { return nil, false } -// AsGoogleAdWordsSource is the BasicCopySource implementation for EloquaSource. -func (es EloquaSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { +// AsSalesforceServiceCloudSink is the BasicCopySink implementation for DynamicsCrmSink. +func (dcs DynamicsCrmSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) { return nil, false } -// AsOracleServiceCloudSource is the BasicCopySource implementation for EloquaSource. -func (es EloquaSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { +// AsSalesforceSink is the BasicCopySink implementation for DynamicsCrmSink. +func (dcs DynamicsCrmSink) AsSalesforceSink() (*SalesforceSink, bool) { return nil, false } -// AsDynamicsAXSource is the BasicCopySource implementation for EloquaSource. -func (es EloquaSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { +// AsAzureDataExplorerSink is the BasicCopySink implementation for DynamicsCrmSink. +func (dcs DynamicsCrmSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) { return nil, false } -// AsResponsysSource is the BasicCopySource implementation for EloquaSource. -func (es EloquaSource) AsResponsysSource() (*ResponsysSource, bool) { +// AsCommonDataServiceForAppsSink is the BasicCopySink implementation for DynamicsCrmSink. +func (dcs DynamicsCrmSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) { return nil, false } -// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for EloquaSource. -func (es EloquaSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { - return nil, false +// AsDynamicsCrmSink is the BasicCopySink implementation for DynamicsCrmSink. +func (dcs DynamicsCrmSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) { + return &dcs, true } -// AsVerticaSource is the BasicCopySource implementation for EloquaSource. -func (es EloquaSource) AsVerticaSource() (*VerticaSource, bool) { +// AsDynamicsSink is the BasicCopySink implementation for DynamicsCrmSink. +func (dcs DynamicsCrmSink) AsDynamicsSink() (*DynamicsSink, bool) { return nil, false } -// AsNetezzaSource is the BasicCopySource implementation for EloquaSource. -func (es EloquaSource) AsNetezzaSource() (*NetezzaSource, bool) { +// AsMicrosoftAccessSink is the BasicCopySink implementation for DynamicsCrmSink. +func (dcs DynamicsCrmSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) { return nil, false } -// AsZohoSource is the BasicCopySource implementation for EloquaSource. -func (es EloquaSource) AsZohoSource() (*ZohoSource, bool) { +// AsInformixSink is the BasicCopySink implementation for DynamicsCrmSink. +func (dcs DynamicsCrmSink) AsInformixSink() (*InformixSink, bool) { return nil, false } -// AsXeroSource is the BasicCopySource implementation for EloquaSource. -func (es EloquaSource) AsXeroSource() (*XeroSource, bool) { +// AsOdbcSink is the BasicCopySink implementation for DynamicsCrmSink. +func (dcs DynamicsCrmSink) AsOdbcSink() (*OdbcSink, bool) { return nil, false } -// AsSquareSource is the BasicCopySource implementation for EloquaSource. -func (es EloquaSource) AsSquareSource() (*SquareSource, bool) { +// AsAzureSearchIndexSink is the BasicCopySink implementation for DynamicsCrmSink. +func (dcs DynamicsCrmSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) { return nil, false } -// AsSparkSource is the BasicCopySource implementation for EloquaSource. -func (es EloquaSource) AsSparkSource() (*SparkSource, bool) { +// AsAzureBlobFSSink is the BasicCopySink implementation for DynamicsCrmSink. +func (dcs DynamicsCrmSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) { return nil, false } -// AsShopifySource is the BasicCopySource implementation for EloquaSource. -func (es EloquaSource) AsShopifySource() (*ShopifySource, bool) { +// AsAzureDataLakeStoreSink is the BasicCopySink implementation for DynamicsCrmSink. +func (dcs DynamicsCrmSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) { return nil, false } -// AsServiceNowSource is the BasicCopySource implementation for EloquaSource. -func (es EloquaSource) AsServiceNowSource() (*ServiceNowSource, bool) { +// AsOracleSink is the BasicCopySink implementation for DynamicsCrmSink. +func (dcs DynamicsCrmSink) AsOracleSink() (*OracleSink, bool) { return nil, false } -// AsQuickBooksSource is the BasicCopySource implementation for EloquaSource. -func (es EloquaSource) AsQuickBooksSource() (*QuickBooksSource, bool) { +// AsSQLDWSink is the BasicCopySink implementation for DynamicsCrmSink. +func (dcs DynamicsCrmSink) AsSQLDWSink() (*SQLDWSink, bool) { return nil, false } -// AsPrestoSource is the BasicCopySource implementation for EloquaSource. -func (es EloquaSource) AsPrestoSource() (*PrestoSource, bool) { +// AsSQLMISink is the BasicCopySink implementation for DynamicsCrmSink. +func (dcs DynamicsCrmSink) AsSQLMISink() (*SQLMISink, bool) { return nil, false } -// AsPhoenixSource is the BasicCopySource implementation for EloquaSource. -func (es EloquaSource) AsPhoenixSource() (*PhoenixSource, bool) { +// AsAzureSQLSink is the BasicCopySink implementation for DynamicsCrmSink. +func (dcs DynamicsCrmSink) AsAzureSQLSink() (*AzureSQLSink, bool) { return nil, false } -// AsPaypalSource is the BasicCopySource implementation for EloquaSource. -func (es EloquaSource) AsPaypalSource() (*PaypalSource, bool) { +// AsSQLServerSink is the BasicCopySink implementation for DynamicsCrmSink. +func (dcs DynamicsCrmSink) AsSQLServerSink() (*SQLServerSink, bool) { return nil, false } -// AsMarketoSource is the BasicCopySource implementation for EloquaSource. -func (es EloquaSource) AsMarketoSource() (*MarketoSource, bool) { +// AsSQLSink is the BasicCopySink implementation for DynamicsCrmSink. +func (dcs DynamicsCrmSink) AsSQLSink() (*SQLSink, bool) { return nil, false } -// AsAzureMariaDBSource is the BasicCopySource implementation for EloquaSource. -func (es EloquaSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { +// AsCosmosDbSQLAPISink is the BasicCopySink implementation for DynamicsCrmSink. +func (dcs DynamicsCrmSink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) { return nil, false } -// AsMariaDBSource is the BasicCopySource implementation for EloquaSource. -func (es EloquaSource) AsMariaDBSource() (*MariaDBSource, bool) { +// AsDocumentDbCollectionSink is the BasicCopySink implementation for DynamicsCrmSink. +func (dcs DynamicsCrmSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) { return nil, false } -// AsMagentoSource is the BasicCopySource implementation for EloquaSource. -func (es EloquaSource) AsMagentoSource() (*MagentoSource, bool) { +// AsFileSystemSink is the BasicCopySink implementation for DynamicsCrmSink. +func (dcs DynamicsCrmSink) AsFileSystemSink() (*FileSystemSink, bool) { return nil, false } -// AsJiraSource is the BasicCopySource implementation for EloquaSource. -func (es EloquaSource) AsJiraSource() (*JiraSource, bool) { +// AsBlobSink is the BasicCopySink implementation for DynamicsCrmSink. +func (dcs DynamicsCrmSink) AsBlobSink() (*BlobSink, bool) { return nil, false } -// AsImpalaSource is the BasicCopySource implementation for EloquaSource. -func (es EloquaSource) AsImpalaSource() (*ImpalaSource, bool) { +// AsBinarySink is the BasicCopySink implementation for DynamicsCrmSink. +func (dcs DynamicsCrmSink) AsBinarySink() (*BinarySink, bool) { return nil, false } -// AsHubspotSource is the BasicCopySource implementation for EloquaSource. -func (es EloquaSource) AsHubspotSource() (*HubspotSource, bool) { +// AsParquetSink is the BasicCopySink implementation for DynamicsCrmSink. +func (dcs DynamicsCrmSink) AsParquetSink() (*ParquetSink, bool) { return nil, false } -// AsHiveSource is the BasicCopySource implementation for EloquaSource. -func (es EloquaSource) AsHiveSource() (*HiveSource, bool) { +// AsAvroSink is the BasicCopySink implementation for DynamicsCrmSink. +func (dcs DynamicsCrmSink) AsAvroSink() (*AvroSink, bool) { return nil, false } -// AsHBaseSource is the BasicCopySource implementation for EloquaSource. -func (es EloquaSource) AsHBaseSource() (*HBaseSource, bool) { +// AsAzureTableSink is the BasicCopySink implementation for DynamicsCrmSink. +func (dcs DynamicsCrmSink) AsAzureTableSink() (*AzureTableSink, bool) { return nil, false } -// AsGreenplumSource is the BasicCopySource implementation for EloquaSource. -func (es EloquaSource) AsGreenplumSource() (*GreenplumSource, bool) { +// AsAzureQueueSink is the BasicCopySink implementation for DynamicsCrmSink. +func (dcs DynamicsCrmSink) AsAzureQueueSink() (*AzureQueueSink, bool) { return nil, false } -// AsGoogleBigQuerySource is the BasicCopySource implementation for EloquaSource. -func (es EloquaSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { +// AsSapCloudForCustomerSink is the BasicCopySink implementation for DynamicsCrmSink. +func (dcs DynamicsCrmSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) { return nil, false } -// AsEloquaSource is the BasicCopySource implementation for EloquaSource. -func (es EloquaSource) AsEloquaSource() (*EloquaSource, bool) { - return &es, true +// AsAzureMySQLSink is the BasicCopySink implementation for DynamicsCrmSink. +func (dcs DynamicsCrmSink) AsAzureMySQLSink() (*AzureMySQLSink, bool) { + return nil, false } -// AsDrillSource is the BasicCopySource implementation for EloquaSource. -func (es EloquaSource) AsDrillSource() (*DrillSource, bool) { +// AsAzurePostgreSQLSink is the BasicCopySink implementation for DynamicsCrmSink. +func (dcs DynamicsCrmSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) { return nil, false } -// AsCouchbaseSource is the BasicCopySource implementation for EloquaSource. -func (es EloquaSource) AsCouchbaseSource() (*CouchbaseSource, bool) { +// AsOrcSink is the BasicCopySink implementation for DynamicsCrmSink. +func (dcs DynamicsCrmSink) AsOrcSink() (*OrcSink, bool) { return nil, false } -// AsConcurSource is the BasicCopySource implementation for EloquaSource. -func (es EloquaSource) AsConcurSource() (*ConcurSource, bool) { +// AsJSONSink is the BasicCopySink implementation for DynamicsCrmSink. +func (dcs DynamicsCrmSink) AsJSONSink() (*JSONSink, bool) { return nil, false } -// AsAzurePostgreSQLSource is the BasicCopySource implementation for EloquaSource. -func (es EloquaSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { +// AsDelimitedTextSink is the BasicCopySink implementation for DynamicsCrmSink. +func (dcs DynamicsCrmSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) { return nil, false } -// AsAmazonMWSSource is the BasicCopySource implementation for EloquaSource. -func (es EloquaSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { +// AsCopySink is the BasicCopySink implementation for DynamicsCrmSink. +func (dcs DynamicsCrmSink) AsCopySink() (*CopySink, bool) { return nil, false } -// AsHTTPSource is the BasicCopySource implementation for EloquaSource. -func (es EloquaSource) AsHTTPSource() (*HTTPSource, bool) { - return nil, false +// AsBasicCopySink is the BasicCopySink implementation for DynamicsCrmSink. +func (dcs DynamicsCrmSink) AsBasicCopySink() (BasicCopySink, bool) { + return &dcs, true } -// AsAzureBlobFSSource is the BasicCopySource implementation for EloquaSource. -func (es EloquaSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { - return nil, false +// UnmarshalJSON is the custom unmarshaler for DynamicsCrmSink struct. +func (dcs *DynamicsCrmSink) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "writeBehavior": + if v != nil { + var writeBehavior string + err = json.Unmarshal(*v, &writeBehavior) + if err != nil { + return err + } + dcs.WriteBehavior = &writeBehavior + } + case "ignoreNullValues": + if v != nil { + var ignoreNullValues interface{} + err = json.Unmarshal(*v, &ignoreNullValues) + if err != nil { + return err + } + dcs.IgnoreNullValues = ignoreNullValues + } + case "alternateKeyName": + if v != nil { + var alternateKeyName interface{} + err = json.Unmarshal(*v, &alternateKeyName) + if err != nil { + return err + } + dcs.AlternateKeyName = alternateKeyName + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if dcs.AdditionalProperties == nil { + dcs.AdditionalProperties = make(map[string]interface{}) + } + dcs.AdditionalProperties[k] = additionalProperties + } + case "writeBatchSize": + if v != nil { + var writeBatchSize interface{} + err = json.Unmarshal(*v, &writeBatchSize) + if err != nil { + return err + } + dcs.WriteBatchSize = writeBatchSize + } + case "writeBatchTimeout": + if v != nil { + var writeBatchTimeout interface{} + err = json.Unmarshal(*v, &writeBatchTimeout) + if err != nil { + return err + } + dcs.WriteBatchTimeout = writeBatchTimeout + } + case "sinkRetryCount": + if v != nil { + var sinkRetryCount interface{} + err = json.Unmarshal(*v, &sinkRetryCount) + if err != nil { + return err + } + dcs.SinkRetryCount = sinkRetryCount + } + case "sinkRetryWait": + if v != nil { + var sinkRetryWait interface{} + err = json.Unmarshal(*v, &sinkRetryWait) + if err != nil { + return err + } + dcs.SinkRetryWait = sinkRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + dcs.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySink + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + dcs.Type = typeVar + } + } + } + + return nil } -// AsAzureDataLakeStoreSource is the BasicCopySource implementation for EloquaSource. -func (es EloquaSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { - return nil, false +// DynamicsCrmSource a copy activity Dynamics CRM source. +type DynamicsCrmSource struct { + // Query - FetchXML is a proprietary query language that is used in Microsoft Dynamics CRM (online & on-premises). Type: string (or Expression with resultType string). + Query interface{} `json:"query,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' + Type TypeBasicCopySource `json:"type,omitempty"` } -// AsOffice365Source is the BasicCopySource implementation for EloquaSource. -func (es EloquaSource) AsOffice365Source() (*Office365Source, bool) { +// MarshalJSON is the custom marshaler for DynamicsCrmSource. +func (dcs DynamicsCrmSource) MarshalJSON() ([]byte, error) { + dcs.Type = TypeDynamicsCrmSource + objectMap := make(map[string]interface{}) + if dcs.Query != nil { + objectMap["query"] = dcs.Query + } + if dcs.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = dcs.SourceRetryCount + } + if dcs.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = dcs.SourceRetryWait + } + if dcs.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = dcs.MaxConcurrentConnections + } + if dcs.Type != "" { + objectMap["type"] = dcs.Type + } + for k, v := range dcs.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHTTPSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsHTTPSource() (*HTTPSource, bool) { return nil, false } -// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for EloquaSource. -func (es EloquaSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { +// AsAzureBlobFSSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { return nil, false } -// AsMongoDbV2Source is the BasicCopySource implementation for EloquaSource. -func (es EloquaSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { return nil, false } -// AsMongoDbSource is the BasicCopySource implementation for EloquaSource. -func (es EloquaSource) AsMongoDbSource() (*MongoDbSource, bool) { +// AsOffice365Source is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsOffice365Source() (*Office365Source, bool) { return nil, false } -// AsCassandraSource is the BasicCopySource implementation for EloquaSource. -func (es EloquaSource) AsCassandraSource() (*CassandraSource, bool) { +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { return nil, false } -// AsWebSource is the BasicCopySource implementation for EloquaSource. -func (es EloquaSource) AsWebSource() (*WebSource, bool) { +// AsMongoDbV2Source is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { return nil, false } -// AsTeradataSource is the BasicCopySource implementation for EloquaSource. -func (es EloquaSource) AsTeradataSource() (*TeradataSource, bool) { +// AsMongoDbSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsMongoDbSource() (*MongoDbSource, bool) { return nil, false } -// AsOracleSource is the BasicCopySource implementation for EloquaSource. -func (es EloquaSource) AsOracleSource() (*OracleSource, bool) { +// AsWebSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsWebSource() (*WebSource, bool) { return nil, false } -// AsAzureDataExplorerSource is the BasicCopySource implementation for EloquaSource. -func (es EloquaSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { +// AsOracleSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsOracleSource() (*OracleSource, bool) { return nil, false } -// AsAzureMySQLSource is the BasicCopySource implementation for EloquaSource. -func (es EloquaSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { +// AsAzureDataExplorerSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { return nil, false } -// AsHdfsSource is the BasicCopySource implementation for EloquaSource. -func (es EloquaSource) AsHdfsSource() (*HdfsSource, bool) { +// AsHdfsSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsHdfsSource() (*HdfsSource, bool) { return nil, false } -// AsFileSystemSource is the BasicCopySource implementation for EloquaSource. -func (es EloquaSource) AsFileSystemSource() (*FileSystemSource, bool) { +// AsFileSystemSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsFileSystemSource() (*FileSystemSource, bool) { return nil, false } -// AsSQLDWSource is the BasicCopySource implementation for EloquaSource. -func (es EloquaSource) AsSQLDWSource() (*SQLDWSource, bool) { +// AsRestSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsRestSource() (*RestSource, bool) { return nil, false } -// AsSQLMISource is the BasicCopySource implementation for EloquaSource. -func (es EloquaSource) AsSQLMISource() (*SQLMISource, bool) { +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { return nil, false } -// AsAzureSQLSource is the BasicCopySource implementation for EloquaSource. -func (es EloquaSource) AsAzureSQLSource() (*AzureSQLSource, bool) { +// AsODataSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsODataSource() (*ODataSource, bool) { return nil, false } -// AsSQLServerSource is the BasicCopySource implementation for EloquaSource. -func (es EloquaSource) AsSQLServerSource() (*SQLServerSource, bool) { +// AsMicrosoftAccessSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { return nil, false } -// AsSQLSource is the BasicCopySource implementation for EloquaSource. -func (es EloquaSource) AsSQLSource() (*SQLSource, bool) { +// AsRelationalSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsRelationalSource() (*RelationalSource, bool) { return nil, false } -// AsRestSource is the BasicCopySource implementation for EloquaSource. -func (es EloquaSource) AsRestSource() (*RestSource, bool) { +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { return nil, false } -// AsSapTableSource is the BasicCopySource implementation for EloquaSource. -func (es EloquaSource) AsSapTableSource() (*SapTableSource, bool) { +// AsDynamicsCrmSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return &dcs, true +} + +// AsDynamicsSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsDynamicsSource() (*DynamicsSource, bool) { return nil, false } -// AsSapOpenHubSource is the BasicCopySource implementation for EloquaSource. -func (es EloquaSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { return nil, false } -// AsSapHanaSource is the BasicCopySource implementation for EloquaSource. -func (es EloquaSource) AsSapHanaSource() (*SapHanaSource, bool) { +// AsDocumentDbCollectionSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { return nil, false } -// AsSapEccSource is the BasicCopySource implementation for EloquaSource. -func (es EloquaSource) AsSapEccSource() (*SapEccSource, bool) { +// AsBlobSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsBlobSource() (*BlobSource, bool) { return nil, false } -// AsSapCloudForCustomerSource is the BasicCopySource implementation for EloquaSource. -func (es EloquaSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { +// AsAmazonRedshiftSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { return nil, false } -// AsSalesforceServiceCloudSource is the BasicCopySource implementation for EloquaSource. -func (es EloquaSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { +// AsGoogleAdWordsSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { return nil, false } -// AsSalesforceSource is the BasicCopySource implementation for EloquaSource. -func (es EloquaSource) AsSalesforceSource() (*SalesforceSource, bool) { +// AsOracleServiceCloudSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { return nil, false } -// AsODataSource is the BasicCopySource implementation for EloquaSource. -func (es EloquaSource) AsODataSource() (*ODataSource, bool) { +// AsDynamicsAXSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { return nil, false } -// AsSapBwSource is the BasicCopySource implementation for EloquaSource. -func (es EloquaSource) AsSapBwSource() (*SapBwSource, bool) { +// AsResponsysSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsResponsysSource() (*ResponsysSource, bool) { return nil, false } -// AsSybaseSource is the BasicCopySource implementation for EloquaSource. -func (es EloquaSource) AsSybaseSource() (*SybaseSource, bool) { +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { return nil, false } -// AsPostgreSQLSource is the BasicCopySource implementation for EloquaSource. -func (es EloquaSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { +// AsVerticaSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsVerticaSource() (*VerticaSource, bool) { return nil, false } -// AsMySQLSource is the BasicCopySource implementation for EloquaSource. -func (es EloquaSource) AsMySQLSource() (*MySQLSource, bool) { +// AsNetezzaSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsNetezzaSource() (*NetezzaSource, bool) { return nil, false } -// AsOdbcSource is the BasicCopySource implementation for EloquaSource. -func (es EloquaSource) AsOdbcSource() (*OdbcSource, bool) { +// AsZohoSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsZohoSource() (*ZohoSource, bool) { return nil, false } -// AsDb2Source is the BasicCopySource implementation for EloquaSource. -func (es EloquaSource) AsDb2Source() (*Db2Source, bool) { +// AsXeroSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsXeroSource() (*XeroSource, bool) { return nil, false } -// AsMicrosoftAccessSource is the BasicCopySource implementation for EloquaSource. -func (es EloquaSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { +// AsSquareSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsSquareSource() (*SquareSource, bool) { return nil, false } -// AsInformixSource is the BasicCopySource implementation for EloquaSource. -func (es EloquaSource) AsInformixSource() (*InformixSource, bool) { +// AsSparkSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsSparkSource() (*SparkSource, bool) { return nil, false } -// AsRelationalSource is the BasicCopySource implementation for EloquaSource. -func (es EloquaSource) AsRelationalSource() (*RelationalSource, bool) { +// AsShopifySource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsShopifySource() (*ShopifySource, bool) { return nil, false } -// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for EloquaSource. -func (es EloquaSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { +// AsServiceNowSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsServiceNowSource() (*ServiceNowSource, bool) { return nil, false } -// AsDynamicsCrmSource is the BasicCopySource implementation for EloquaSource. -func (es EloquaSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { +// AsQuickBooksSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsQuickBooksSource() (*QuickBooksSource, bool) { return nil, false } -// AsDynamicsSource is the BasicCopySource implementation for EloquaSource. -func (es EloquaSource) AsDynamicsSource() (*DynamicsSource, bool) { +// AsPrestoSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsPrestoSource() (*PrestoSource, bool) { return nil, false } -// AsDocumentDbCollectionSource is the BasicCopySource implementation for EloquaSource. -func (es EloquaSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { +// AsPhoenixSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsPhoenixSource() (*PhoenixSource, bool) { return nil, false } -// AsBlobSource is the BasicCopySource implementation for EloquaSource. -func (es EloquaSource) AsBlobSource() (*BlobSource, bool) { +// AsPaypalSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsPaypalSource() (*PaypalSource, bool) { return nil, false } -// AsAzureTableSource is the BasicCopySource implementation for EloquaSource. -func (es EloquaSource) AsAzureTableSource() (*AzureTableSource, bool) { +// AsMarketoSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsMarketoSource() (*MarketoSource, bool) { return nil, false } -// AsBinarySource is the BasicCopySource implementation for EloquaSource. -func (es EloquaSource) AsBinarySource() (*BinarySource, bool) { +// AsAzureMariaDBSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { return nil, false } -// AsDelimitedTextSource is the BasicCopySource implementation for EloquaSource. -func (es EloquaSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { +// AsMariaDBSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsMariaDBSource() (*MariaDBSource, bool) { return nil, false } -// AsParquetSource is the BasicCopySource implementation for EloquaSource. -func (es EloquaSource) AsParquetSource() (*ParquetSource, bool) { +// AsMagentoSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsMagentoSource() (*MagentoSource, bool) { return nil, false } -// AsAvroSource is the BasicCopySource implementation for EloquaSource. -func (es EloquaSource) AsAvroSource() (*AvroSource, bool) { +// AsJiraSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsJiraSource() (*JiraSource, bool) { return nil, false } -// AsCopySource is the BasicCopySource implementation for EloquaSource. -func (es EloquaSource) AsCopySource() (*CopySource, bool) { +// AsImpalaSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsImpalaSource() (*ImpalaSource, bool) { return nil, false } -// AsBasicCopySource is the BasicCopySource implementation for EloquaSource. -func (es EloquaSource) AsBasicCopySource() (BasicCopySource, bool) { - return &es, true +// AsHubspotSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsHubspotSource() (*HubspotSource, bool) { + return nil, false } -// UnmarshalJSON is the custom unmarshaler for EloquaSource struct. -func (es *EloquaSource) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - case "query": - if v != nil { - var query interface{} - err = json.Unmarshal(*v, &query) - if err != nil { - return err - } - es.Query = query - } - default: - if v != nil { - var additionalProperties interface{} - err = json.Unmarshal(*v, &additionalProperties) - if err != nil { - return err - } - if es.AdditionalProperties == nil { - es.AdditionalProperties = make(map[string]interface{}) - } - es.AdditionalProperties[k] = additionalProperties - } - case "sourceRetryCount": - if v != nil { - var sourceRetryCount interface{} - err = json.Unmarshal(*v, &sourceRetryCount) - if err != nil { - return err - } - es.SourceRetryCount = sourceRetryCount - } - case "sourceRetryWait": - if v != nil { - var sourceRetryWait interface{} - err = json.Unmarshal(*v, &sourceRetryWait) - if err != nil { - return err - } - es.SourceRetryWait = sourceRetryWait - } - case "maxConcurrentConnections": - if v != nil { - var maxConcurrentConnections interface{} - err = json.Unmarshal(*v, &maxConcurrentConnections) - if err != nil { - return err - } - es.MaxConcurrentConnections = maxConcurrentConnections - } - case "type": - if v != nil { - var typeVar TypeBasicCopySource - err = json.Unmarshal(*v, &typeVar) - if err != nil { - return err - } - es.Type = typeVar - } - } - } +// AsHiveSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsHiveSource() (*HiveSource, bool) { + return nil, false +} - return nil +// AsHBaseSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsHBaseSource() (*HBaseSource, bool) { + return nil, false } -// EntityReference the entity reference. -type EntityReference struct { - // Type - The type of this referenced entity. Possible values include: 'IntegrationRuntimeEntityReferenceTypeIntegrationRuntimeReference', 'IntegrationRuntimeEntityReferenceTypeLinkedServiceReference' - Type IntegrationRuntimeEntityReferenceType `json:"type,omitempty"` - // ReferenceName - The name of this referenced entity. - ReferenceName *string `json:"referenceName,omitempty"` +// AsGreenplumSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsGreenplumSource() (*GreenplumSource, bool) { + return nil, false } -// ExecutePipelineActivity execute pipeline activity. -type ExecutePipelineActivity struct { - // ExecutePipelineActivityTypeProperties - Execute pipeline activity properties. - *ExecutePipelineActivityTypeProperties `json:"typeProperties,omitempty"` - // AdditionalProperties - Unmatched properties from the message are deserialized this collection - AdditionalProperties map[string]interface{} `json:""` - // Name - Activity name. - Name *string `json:"name,omitempty"` - // Description - Activity description. - Description *string `json:"description,omitempty"` - // DependsOn - Activity depends on condition. - DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"` - // UserProperties - Activity user properties. - UserProperties *[]UserProperty `json:"userProperties,omitempty"` - // Type - Possible values include: 'TypeActivity', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer' - Type TypeBasicActivity `json:"type,omitempty"` +// AsGoogleBigQuerySource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { + return nil, false } -// MarshalJSON is the custom marshaler for ExecutePipelineActivity. -func (epa ExecutePipelineActivity) MarshalJSON() ([]byte, error) { - epa.Type = TypeExecutePipeline - objectMap := make(map[string]interface{}) - if epa.ExecutePipelineActivityTypeProperties != nil { - objectMap["typeProperties"] = epa.ExecutePipelineActivityTypeProperties - } - if epa.Name != nil { - objectMap["name"] = epa.Name - } - if epa.Description != nil { - objectMap["description"] = epa.Description - } - if epa.DependsOn != nil { - objectMap["dependsOn"] = epa.DependsOn - } - if epa.UserProperties != nil { - objectMap["userProperties"] = epa.UserProperties - } - if epa.Type != "" { - objectMap["type"] = epa.Type - } - for k, v := range epa.AdditionalProperties { - objectMap[k] = v - } - return json.Marshal(objectMap) +// AsEloquaSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsEloquaSource() (*EloquaSource, bool) { + return nil, false } -// AsAzureFunctionActivity is the BasicActivity implementation for ExecutePipelineActivity. -func (epa ExecutePipelineActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) { +// AsDrillSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsDrillSource() (*DrillSource, bool) { return nil, false } -// AsDatabricksSparkPythonActivity is the BasicActivity implementation for ExecutePipelineActivity. -func (epa ExecutePipelineActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) { +// AsCouchbaseSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsCouchbaseSource() (*CouchbaseSource, bool) { return nil, false } -// AsDatabricksSparkJarActivity is the BasicActivity implementation for ExecutePipelineActivity. -func (epa ExecutePipelineActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) { +// AsConcurSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsConcurSource() (*ConcurSource, bool) { return nil, false } -// AsDatabricksNotebookActivity is the BasicActivity implementation for ExecutePipelineActivity. -func (epa ExecutePipelineActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) { +// AsAzurePostgreSQLSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { return nil, false } -// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for ExecutePipelineActivity. -func (epa ExecutePipelineActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) { +// AsAmazonMWSSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { return nil, false } -// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for ExecutePipelineActivity. -func (epa ExecutePipelineActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) { +// AsCassandraSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsCassandraSource() (*CassandraSource, bool) { return nil, false } -// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for ExecutePipelineActivity. -func (epa ExecutePipelineActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) { +// AsTeradataSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsTeradataSource() (*TeradataSource, bool) { return nil, false } -// AsGetMetadataActivity is the BasicActivity implementation for ExecutePipelineActivity. -func (epa ExecutePipelineActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) { +// AsAzureMySQLSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { return nil, false } -// AsWebActivity is the BasicActivity implementation for ExecutePipelineActivity. -func (epa ExecutePipelineActivity) AsWebActivity() (*WebActivity, bool) { +// AsSQLDWSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsSQLDWSource() (*SQLDWSource, bool) { return nil, false } -// AsLookupActivity is the BasicActivity implementation for ExecutePipelineActivity. -func (epa ExecutePipelineActivity) AsLookupActivity() (*LookupActivity, bool) { +// AsSQLMISource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsSQLMISource() (*SQLMISource, bool) { return nil, false } -// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for ExecutePipelineActivity. -func (epa ExecutePipelineActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) { +// AsAzureSQLSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsAzureSQLSource() (*AzureSQLSource, bool) { return nil, false } -// AsDeleteActivity is the BasicActivity implementation for ExecutePipelineActivity. -func (epa ExecutePipelineActivity) AsDeleteActivity() (*DeleteActivity, bool) { +// AsSQLServerSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsSQLServerSource() (*SQLServerSource, bool) { return nil, false } -// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for ExecutePipelineActivity. -func (epa ExecutePipelineActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) { +// AsSQLSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsSQLSource() (*SQLSource, bool) { return nil, false } -// AsCustomActivity is the BasicActivity implementation for ExecutePipelineActivity. -func (epa ExecutePipelineActivity) AsCustomActivity() (*CustomActivity, bool) { +// AsSapTableSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsSapTableSource() (*SapTableSource, bool) { return nil, false } -// AsExecuteSSISPackageActivity is the BasicActivity implementation for ExecutePipelineActivity. -func (epa ExecutePipelineActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) { +// AsSapOpenHubSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { return nil, false } -// AsHDInsightSparkActivity is the BasicActivity implementation for ExecutePipelineActivity. -func (epa ExecutePipelineActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) { +// AsSapHanaSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsSapHanaSource() (*SapHanaSource, bool) { return nil, false } -// AsHDInsightStreamingActivity is the BasicActivity implementation for ExecutePipelineActivity. -func (epa ExecutePipelineActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) { +// AsSapEccSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsSapEccSource() (*SapEccSource, bool) { return nil, false } -// AsHDInsightMapReduceActivity is the BasicActivity implementation for ExecutePipelineActivity. -func (epa ExecutePipelineActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) { +// AsSapCloudForCustomerSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { return nil, false } -// AsHDInsightPigActivity is the BasicActivity implementation for ExecutePipelineActivity. -func (epa ExecutePipelineActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) { +// AsSalesforceSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsSalesforceSource() (*SalesforceSource, bool) { return nil, false } -// AsHDInsightHiveActivity is the BasicActivity implementation for ExecutePipelineActivity. -func (epa ExecutePipelineActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) { +// AsSapBwSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsSapBwSource() (*SapBwSource, bool) { return nil, false } -// AsCopyActivity is the BasicActivity implementation for ExecutePipelineActivity. -func (epa ExecutePipelineActivity) AsCopyActivity() (*CopyActivity, bool) { +// AsSybaseSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsSybaseSource() (*SybaseSource, bool) { return nil, false } -// AsExecutionActivity is the BasicActivity implementation for ExecutePipelineActivity. -func (epa ExecutePipelineActivity) AsExecutionActivity() (*ExecutionActivity, bool) { +// AsPostgreSQLSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { return nil, false } -// AsBasicExecutionActivity is the BasicActivity implementation for ExecutePipelineActivity. -func (epa ExecutePipelineActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) { +// AsMySQLSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsMySQLSource() (*MySQLSource, bool) { return nil, false } -// AsWebHookActivity is the BasicActivity implementation for ExecutePipelineActivity. -func (epa ExecutePipelineActivity) AsWebHookActivity() (*WebHookActivity, bool) { +// AsOdbcSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsOdbcSource() (*OdbcSource, bool) { return nil, false } -// AsAppendVariableActivity is the BasicActivity implementation for ExecutePipelineActivity. -func (epa ExecutePipelineActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) { +// AsDb2Source is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsDb2Source() (*Db2Source, bool) { return nil, false } -// AsSetVariableActivity is the BasicActivity implementation for ExecutePipelineActivity. -func (epa ExecutePipelineActivity) AsSetVariableActivity() (*SetVariableActivity, bool) { +// AsInformixSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsInformixSource() (*InformixSource, bool) { return nil, false } -// AsFilterActivity is the BasicActivity implementation for ExecutePipelineActivity. -func (epa ExecutePipelineActivity) AsFilterActivity() (*FilterActivity, bool) { +// AsAzureTableSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsAzureTableSource() (*AzureTableSource, bool) { return nil, false } -// AsValidationActivity is the BasicActivity implementation for ExecutePipelineActivity. -func (epa ExecutePipelineActivity) AsValidationActivity() (*ValidationActivity, bool) { +// AsTabularSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsTabularSource() (*TabularSource, bool) { return nil, false } -// AsUntilActivity is the BasicActivity implementation for ExecutePipelineActivity. -func (epa ExecutePipelineActivity) AsUntilActivity() (*UntilActivity, bool) { +// AsBasicTabularSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsBasicTabularSource() (BasicTabularSource, bool) { return nil, false } -// AsWaitActivity is the BasicActivity implementation for ExecutePipelineActivity. -func (epa ExecutePipelineActivity) AsWaitActivity() (*WaitActivity, bool) { +// AsBinarySource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsBinarySource() (*BinarySource, bool) { return nil, false } -// AsForEachActivity is the BasicActivity implementation for ExecutePipelineActivity. -func (epa ExecutePipelineActivity) AsForEachActivity() (*ForEachActivity, bool) { +// AsOrcSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsOrcSource() (*OrcSource, bool) { return nil, false } -// AsIfConditionActivity is the BasicActivity implementation for ExecutePipelineActivity. -func (epa ExecutePipelineActivity) AsIfConditionActivity() (*IfConditionActivity, bool) { +// AsJSONSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsJSONSource() (*JSONSource, bool) { return nil, false } -// AsExecutePipelineActivity is the BasicActivity implementation for ExecutePipelineActivity. -func (epa ExecutePipelineActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) { - return &epa, true +// AsDelimitedTextSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false } -// AsControlActivity is the BasicActivity implementation for ExecutePipelineActivity. -func (epa ExecutePipelineActivity) AsControlActivity() (*ControlActivity, bool) { +// AsParquetSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsParquetSource() (*ParquetSource, bool) { return nil, false } -// AsBasicControlActivity is the BasicActivity implementation for ExecutePipelineActivity. -func (epa ExecutePipelineActivity) AsBasicControlActivity() (BasicControlActivity, bool) { - return &epa, true +// AsAvroSource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsAvroSource() (*AvroSource, bool) { + return nil, false } -// AsActivity is the BasicActivity implementation for ExecutePipelineActivity. -func (epa ExecutePipelineActivity) AsActivity() (*Activity, bool) { +// AsCopySource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsCopySource() (*CopySource, bool) { return nil, false } -// AsBasicActivity is the BasicActivity implementation for ExecutePipelineActivity. -func (epa ExecutePipelineActivity) AsBasicActivity() (BasicActivity, bool) { - return &epa, true +// AsBasicCopySource is the BasicCopySource implementation for DynamicsCrmSource. +func (dcs DynamicsCrmSource) AsBasicCopySource() (BasicCopySource, bool) { + return &dcs, true } -// UnmarshalJSON is the custom unmarshaler for ExecutePipelineActivity struct. -func (epa *ExecutePipelineActivity) UnmarshalJSON(body []byte) error { +// UnmarshalJSON is the custom unmarshaler for DynamicsCrmSource struct. +func (dcs *DynamicsCrmSource) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -74216,14 +79607,14 @@ func (epa *ExecutePipelineActivity) UnmarshalJSON(body []byte) error { } for k, v := range m { switch k { - case "typeProperties": + case "query": if v != nil { - var executePipelineActivityTypeProperties ExecutePipelineActivityTypeProperties - err = json.Unmarshal(*v, &executePipelineActivityTypeProperties) + var query interface{} + err = json.Unmarshal(*v, &query) if err != nil { return err } - epa.ExecutePipelineActivityTypeProperties = &executePipelineActivityTypeProperties + dcs.Query = query } default: if v != nil { @@ -74232,55 +79623,46 @@ func (epa *ExecutePipelineActivity) UnmarshalJSON(body []byte) error { if err != nil { return err } - if epa.AdditionalProperties == nil { - epa.AdditionalProperties = make(map[string]interface{}) - } - epa.AdditionalProperties[k] = additionalProperties - } - case "name": - if v != nil { - var name string - err = json.Unmarshal(*v, &name) - if err != nil { - return err + if dcs.AdditionalProperties == nil { + dcs.AdditionalProperties = make(map[string]interface{}) } - epa.Name = &name + dcs.AdditionalProperties[k] = additionalProperties } - case "description": + case "sourceRetryCount": if v != nil { - var description string - err = json.Unmarshal(*v, &description) + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) if err != nil { return err } - epa.Description = &description + dcs.SourceRetryCount = sourceRetryCount } - case "dependsOn": + case "sourceRetryWait": if v != nil { - var dependsOn []ActivityDependency - err = json.Unmarshal(*v, &dependsOn) + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) if err != nil { return err } - epa.DependsOn = &dependsOn + dcs.SourceRetryWait = sourceRetryWait } - case "userProperties": + case "maxConcurrentConnections": if v != nil { - var userProperties []UserProperty - err = json.Unmarshal(*v, &userProperties) + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) if err != nil { return err } - epa.UserProperties = &userProperties + dcs.MaxConcurrentConnections = maxConcurrentConnections } case "type": if v != nil { - var typeVar TypeBasicActivity + var typeVar TypeBasicCopySource err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - epa.Type = typeVar + dcs.Type = typeVar } } } @@ -74288,822 +79670,514 @@ func (epa *ExecutePipelineActivity) UnmarshalJSON(body []byte) error { return nil } -// ExecutePipelineActivityTypeProperties execute pipeline activity properties. -type ExecutePipelineActivityTypeProperties struct { - // Pipeline - Pipeline reference. - Pipeline *PipelineReference `json:"pipeline,omitempty"` - // Parameters - Pipeline parameters. - Parameters map[string]interface{} `json:"parameters"` - // WaitOnCompletion - Defines whether activity execution will wait for the dependent pipeline execution to finish. Default is false. - WaitOnCompletion *bool `json:"waitOnCompletion,omitempty"` -} - -// MarshalJSON is the custom marshaler for ExecutePipelineActivityTypeProperties. -func (epatp ExecutePipelineActivityTypeProperties) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - if epatp.Pipeline != nil { - objectMap["pipeline"] = epatp.Pipeline - } - if epatp.Parameters != nil { - objectMap["parameters"] = epatp.Parameters - } - if epatp.WaitOnCompletion != nil { - objectMap["waitOnCompletion"] = epatp.WaitOnCompletion - } - return json.Marshal(objectMap) -} - -// ExecuteSSISPackageActivity execute SSIS package activity. -type ExecuteSSISPackageActivity struct { - // ExecuteSSISPackageActivityTypeProperties - Execute SSIS package activity properties. - *ExecuteSSISPackageActivityTypeProperties `json:"typeProperties,omitempty"` - // LinkedServiceName - Linked service reference. - LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` - // Policy - Activity policy. - Policy *ActivityPolicy `json:"policy,omitempty"` +// DynamicsEntityDataset the Dynamics entity dataset. +type DynamicsEntityDataset struct { + // DynamicsEntityDatasetTypeProperties - Dynamics entity dataset properties. + *DynamicsEntityDatasetTypeProperties `json:"typeProperties,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` - // Name - Activity name. - Name *string `json:"name,omitempty"` - // Description - Activity description. + // Description - Dataset description. Description *string `json:"description,omitempty"` - // DependsOn - Activity depends on condition. - DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"` - // UserProperties - Activity user properties. - UserProperties *[]UserProperty `json:"userProperties,omitempty"` - // Type - Possible values include: 'TypeActivity', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer' - Type TypeBasicActivity `json:"type,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' + Type TypeBasicDataset `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for ExecuteSSISPackageActivity. -func (espa ExecuteSSISPackageActivity) MarshalJSON() ([]byte, error) { - espa.Type = TypeExecuteSSISPackage +// MarshalJSON is the custom marshaler for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) MarshalJSON() ([]byte, error) { + ded.Type = TypeDynamicsEntity objectMap := make(map[string]interface{}) - if espa.ExecuteSSISPackageActivityTypeProperties != nil { - objectMap["typeProperties"] = espa.ExecuteSSISPackageActivityTypeProperties + if ded.DynamicsEntityDatasetTypeProperties != nil { + objectMap["typeProperties"] = ded.DynamicsEntityDatasetTypeProperties } - if espa.LinkedServiceName != nil { - objectMap["linkedServiceName"] = espa.LinkedServiceName + if ded.Description != nil { + objectMap["description"] = ded.Description } - if espa.Policy != nil { - objectMap["policy"] = espa.Policy + if ded.Structure != nil { + objectMap["structure"] = ded.Structure } - if espa.Name != nil { - objectMap["name"] = espa.Name + if ded.Schema != nil { + objectMap["schema"] = ded.Schema } - if espa.Description != nil { - objectMap["description"] = espa.Description + if ded.LinkedServiceName != nil { + objectMap["linkedServiceName"] = ded.LinkedServiceName } - if espa.DependsOn != nil { - objectMap["dependsOn"] = espa.DependsOn + if ded.Parameters != nil { + objectMap["parameters"] = ded.Parameters } - if espa.UserProperties != nil { - objectMap["userProperties"] = espa.UserProperties + if ded.Annotations != nil { + objectMap["annotations"] = ded.Annotations } - if espa.Type != "" { - objectMap["type"] = espa.Type + if ded.Folder != nil { + objectMap["folder"] = ded.Folder } - for k, v := range espa.AdditionalProperties { + if ded.Type != "" { + objectMap["type"] = ded.Type + } + for k, v := range ded.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsAzureFunctionActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. -func (espa ExecuteSSISPackageActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) { +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { return nil, false } -// AsDatabricksSparkPythonActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. -func (espa ExecuteSSISPackageActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) { +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { return nil, false } -// AsDatabricksSparkJarActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. -func (espa ExecuteSSISPackageActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) { +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { return nil, false } -// AsDatabricksNotebookActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. -func (espa ExecuteSSISPackageActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) { +// AsDynamicsAXResourceDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { return nil, false } -// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. -func (espa ExecuteSSISPackageActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) { +// AsResponsysObjectDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { return nil, false } -// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. -func (espa ExecuteSSISPackageActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) { +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { return nil, false } -// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. -func (espa ExecuteSSISPackageActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) { +// AsVerticaTableDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { return nil, false } -// AsGetMetadataActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. -func (espa ExecuteSSISPackageActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) { +// AsNetezzaTableDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { return nil, false } -// AsWebActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. -func (espa ExecuteSSISPackageActivity) AsWebActivity() (*WebActivity, bool) { +// AsZohoObjectDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { return nil, false } -// AsLookupActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. -func (espa ExecuteSSISPackageActivity) AsLookupActivity() (*LookupActivity, bool) { +// AsXeroObjectDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { return nil, false } -// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. -func (espa ExecuteSSISPackageActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) { +// AsSquareObjectDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { return nil, false } -// AsDeleteActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. -func (espa ExecuteSSISPackageActivity) AsDeleteActivity() (*DeleteActivity, bool) { +// AsSparkObjectDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { return nil, false } -// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. -func (espa ExecuteSSISPackageActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) { +// AsShopifyObjectDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { return nil, false } -// AsCustomActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. -func (espa ExecuteSSISPackageActivity) AsCustomActivity() (*CustomActivity, bool) { +// AsServiceNowObjectDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { return nil, false } -// AsExecuteSSISPackageActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. -func (espa ExecuteSSISPackageActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) { - return &espa, true +// AsQuickBooksObjectDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { + return nil, false } -// AsHDInsightSparkActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. -func (espa ExecuteSSISPackageActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) { +// AsPrestoObjectDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { return nil, false } -// AsHDInsightStreamingActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. -func (espa ExecuteSSISPackageActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) { +// AsPhoenixObjectDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { return nil, false } -// AsHDInsightMapReduceActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. -func (espa ExecuteSSISPackageActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) { +// AsPaypalObjectDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { return nil, false } -// AsHDInsightPigActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. -func (espa ExecuteSSISPackageActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) { +// AsMarketoObjectDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { return nil, false } -// AsHDInsightHiveActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. -func (espa ExecuteSSISPackageActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) { +// AsAzureMariaDBTableDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { return nil, false } -// AsCopyActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. -func (espa ExecuteSSISPackageActivity) AsCopyActivity() (*CopyActivity, bool) { +// AsMariaDBTableDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { return nil, false } -// AsExecutionActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. -func (espa ExecuteSSISPackageActivity) AsExecutionActivity() (*ExecutionActivity, bool) { +// AsMagentoObjectDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { return nil, false } -// AsBasicExecutionActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. -func (espa ExecuteSSISPackageActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) { - return &espa, true +// AsJiraObjectDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { + return nil, false } -// AsWebHookActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. -func (espa ExecuteSSISPackageActivity) AsWebHookActivity() (*WebHookActivity, bool) { +// AsImpalaObjectDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { return nil, false } -// AsAppendVariableActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. -func (espa ExecuteSSISPackageActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) { +// AsHubspotObjectDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { return nil, false } -// AsSetVariableActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. -func (espa ExecuteSSISPackageActivity) AsSetVariableActivity() (*SetVariableActivity, bool) { +// AsHiveObjectDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { return nil, false } -// AsFilterActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. -func (espa ExecuteSSISPackageActivity) AsFilterActivity() (*FilterActivity, bool) { +// AsHBaseObjectDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { return nil, false } -// AsValidationActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. -func (espa ExecuteSSISPackageActivity) AsValidationActivity() (*ValidationActivity, bool) { +// AsGreenplumTableDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { return nil, false } -// AsUntilActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. -func (espa ExecuteSSISPackageActivity) AsUntilActivity() (*UntilActivity, bool) { +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { return nil, false } -// AsWaitActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. -func (espa ExecuteSSISPackageActivity) AsWaitActivity() (*WaitActivity, bool) { +// AsEloquaObjectDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { return nil, false } -// AsForEachActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. -func (espa ExecuteSSISPackageActivity) AsForEachActivity() (*ForEachActivity, bool) { +// AsDrillTableDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { return nil, false } -// AsIfConditionActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. -func (espa ExecuteSSISPackageActivity) AsIfConditionActivity() (*IfConditionActivity, bool) { +// AsCouchbaseTableDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { return nil, false } -// AsExecutePipelineActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. -func (espa ExecuteSSISPackageActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) { +// AsConcurObjectDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { return nil, false } -// AsControlActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. -func (espa ExecuteSSISPackageActivity) AsControlActivity() (*ControlActivity, bool) { +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { return nil, false } -// AsBasicControlActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. -func (espa ExecuteSSISPackageActivity) AsBasicControlActivity() (BasicControlActivity, bool) { +// AsAmazonMWSObjectDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { return nil, false } -// AsActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. -func (espa ExecuteSSISPackageActivity) AsActivity() (*Activity, bool) { +// AsHTTPDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsHTTPDataset() (*HTTPDataset, bool) { return nil, false } -// AsBasicActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. -func (espa ExecuteSSISPackageActivity) AsBasicActivity() (BasicActivity, bool) { - return &espa, true +// AsAzureSearchIndexDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { + return nil, false } -// UnmarshalJSON is the custom unmarshaler for ExecuteSSISPackageActivity struct. -func (espa *ExecuteSSISPackageActivity) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - case "typeProperties": - if v != nil { - var executeSSISPackageActivityTypeProperties ExecuteSSISPackageActivityTypeProperties - err = json.Unmarshal(*v, &executeSSISPackageActivityTypeProperties) - if err != nil { - return err - } - espa.ExecuteSSISPackageActivityTypeProperties = &executeSSISPackageActivityTypeProperties - } - case "linkedServiceName": - if v != nil { - var linkedServiceName LinkedServiceReference - err = json.Unmarshal(*v, &linkedServiceName) - if err != nil { - return err - } - espa.LinkedServiceName = &linkedServiceName - } - case "policy": - if v != nil { - var policy ActivityPolicy - err = json.Unmarshal(*v, &policy) - if err != nil { - return err - } - espa.Policy = &policy - } - default: - if v != nil { - var additionalProperties interface{} - err = json.Unmarshal(*v, &additionalProperties) - if err != nil { - return err - } - if espa.AdditionalProperties == nil { - espa.AdditionalProperties = make(map[string]interface{}) - } - espa.AdditionalProperties[k] = additionalProperties - } - case "name": - if v != nil { - var name string - err = json.Unmarshal(*v, &name) - if err != nil { - return err - } - espa.Name = &name - } - case "description": - if v != nil { - var description string - err = json.Unmarshal(*v, &description) - if err != nil { - return err - } - espa.Description = &description - } - case "dependsOn": - if v != nil { - var dependsOn []ActivityDependency - err = json.Unmarshal(*v, &dependsOn) - if err != nil { - return err - } - espa.DependsOn = &dependsOn - } - case "userProperties": - if v != nil { - var userProperties []UserProperty - err = json.Unmarshal(*v, &userProperties) - if err != nil { - return err - } - espa.UserProperties = &userProperties - } - case "type": - if v != nil { - var typeVar TypeBasicActivity - err = json.Unmarshal(*v, &typeVar) - if err != nil { - return err - } - espa.Type = typeVar - } - } - } +// AsWebTableDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsWebTableDataset() (*WebTableDataset, bool) { + return nil, false +} - return nil +// AsSapTableResourceDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { + return nil, false } -// ExecuteSSISPackageActivityTypeProperties execute SSIS package activity properties. -type ExecuteSSISPackageActivityTypeProperties struct { - // PackageLocation - SSIS package location. - PackageLocation *SSISPackageLocation `json:"packageLocation,omitempty"` - // Runtime - Specifies the runtime to execute SSIS package. The value should be "x86" or "x64". Type: string (or Expression with resultType string). - Runtime interface{} `json:"runtime,omitempty"` - // LoggingLevel - The logging level of SSIS package execution. Type: string (or Expression with resultType string). - LoggingLevel interface{} `json:"loggingLevel,omitempty"` - // EnvironmentPath - The environment path to execute the SSIS package. Type: string (or Expression with resultType string). - EnvironmentPath interface{} `json:"environmentPath,omitempty"` - // ExecutionCredential - The package execution credential. - ExecutionCredential *SSISExecutionCredential `json:"executionCredential,omitempty"` - // ConnectVia - The integration runtime reference. - ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` - // ProjectParameters - The project level parameters to execute the SSIS package. - ProjectParameters map[string]*SSISExecutionParameter `json:"projectParameters"` - // PackageParameters - The package level parameters to execute the SSIS package. - PackageParameters map[string]*SSISExecutionParameter `json:"packageParameters"` - // ProjectConnectionManagers - The project level connection managers to execute the SSIS package. - ProjectConnectionManagers map[string]map[string]*SSISExecutionParameter `json:"projectConnectionManagers"` - // PackageConnectionManagers - The package level connection managers to execute the SSIS package. - PackageConnectionManagers map[string]map[string]*SSISExecutionParameter `json:"packageConnectionManagers"` - // PropertyOverrides - The property overrides to execute the SSIS package. - PropertyOverrides map[string]*SSISPropertyOverride `json:"propertyOverrides"` - // LogLocation - SSIS package execution log location. - LogLocation *SSISLogLocation `json:"logLocation,omitempty"` +// AsRestResourceDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { + return nil, false } -// MarshalJSON is the custom marshaler for ExecuteSSISPackageActivityTypeProperties. -func (espatp ExecuteSSISPackageActivityTypeProperties) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - if espatp.PackageLocation != nil { - objectMap["packageLocation"] = espatp.PackageLocation - } - if espatp.Runtime != nil { - objectMap["runtime"] = espatp.Runtime - } - if espatp.LoggingLevel != nil { - objectMap["loggingLevel"] = espatp.LoggingLevel - } - if espatp.EnvironmentPath != nil { - objectMap["environmentPath"] = espatp.EnvironmentPath - } - if espatp.ExecutionCredential != nil { - objectMap["executionCredential"] = espatp.ExecutionCredential - } - if espatp.ConnectVia != nil { - objectMap["connectVia"] = espatp.ConnectVia - } - if espatp.ProjectParameters != nil { - objectMap["projectParameters"] = espatp.ProjectParameters - } - if espatp.PackageParameters != nil { - objectMap["packageParameters"] = espatp.PackageParameters - } - if espatp.ProjectConnectionManagers != nil { - objectMap["projectConnectionManagers"] = espatp.ProjectConnectionManagers - } - if espatp.PackageConnectionManagers != nil { - objectMap["packageConnectionManagers"] = espatp.PackageConnectionManagers - } - if espatp.PropertyOverrides != nil { - objectMap["propertyOverrides"] = espatp.PropertyOverrides - } - if espatp.LogLocation != nil { - objectMap["logLocation"] = espatp.LogLocation - } - return json.Marshal(objectMap) +// AsSQLServerTableDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { + return nil, false } -// BasicExecutionActivity base class for all execution activities. -type BasicExecutionActivity interface { - AsAzureFunctionActivity() (*AzureFunctionActivity, bool) - AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) - AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) - AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) - AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) - AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) - AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) - AsGetMetadataActivity() (*GetMetadataActivity, bool) - AsWebActivity() (*WebActivity, bool) - AsLookupActivity() (*LookupActivity, bool) - AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) - AsDeleteActivity() (*DeleteActivity, bool) - AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) - AsCustomActivity() (*CustomActivity, bool) - AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) - AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) - AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) - AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) - AsHDInsightPigActivity() (*HDInsightPigActivity, bool) - AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) - AsCopyActivity() (*CopyActivity, bool) - AsExecutionActivity() (*ExecutionActivity, bool) +// AsSapOpenHubTableDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { + return nil, false } -// ExecutionActivity base class for all execution activities. -type ExecutionActivity struct { - // LinkedServiceName - Linked service reference. - LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` - // Policy - Activity policy. - Policy *ActivityPolicy `json:"policy,omitempty"` - // AdditionalProperties - Unmatched properties from the message are deserialized this collection - AdditionalProperties map[string]interface{} `json:""` - // Name - Activity name. - Name *string `json:"name,omitempty"` - // Description - Activity description. - Description *string `json:"description,omitempty"` - // DependsOn - Activity depends on condition. - DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"` - // UserProperties - Activity user properties. - UserProperties *[]UserProperty `json:"userProperties,omitempty"` - // Type - Possible values include: 'TypeActivity', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer' - Type TypeBasicActivity `json:"type,omitempty"` +// AsSapHanaTableDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { + return nil, false } -func unmarshalBasicExecutionActivity(body []byte) (BasicExecutionActivity, error) { - var m map[string]interface{} - err := json.Unmarshal(body, &m) - if err != nil { - return nil, err - } +// AsSapEccResourceDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { + return nil, false +} - switch m["type"] { - case string(TypeAzureFunctionActivity): - var afa AzureFunctionActivity - err := json.Unmarshal(body, &afa) - return afa, err - case string(TypeDatabricksSparkPython): - var dspa DatabricksSparkPythonActivity - err := json.Unmarshal(body, &dspa) - return dspa, err - case string(TypeDatabricksSparkJar): - var dsja DatabricksSparkJarActivity - err := json.Unmarshal(body, &dsja) - return dsja, err - case string(TypeDatabricksNotebook): - var dna DatabricksNotebookActivity - err := json.Unmarshal(body, &dna) - return dna, err - case string(TypeDataLakeAnalyticsUSQL): - var dlaua DataLakeAnalyticsUSQLActivity - err := json.Unmarshal(body, &dlaua) - return dlaua, err - case string(TypeAzureMLUpdateResource): - var amura AzureMLUpdateResourceActivity - err := json.Unmarshal(body, &amura) - return amura, err - case string(TypeAzureMLBatchExecution): - var ambea AzureMLBatchExecutionActivity - err := json.Unmarshal(body, &ambea) - return ambea, err - case string(TypeGetMetadata): - var gma GetMetadataActivity - err := json.Unmarshal(body, &gma) - return gma, err - case string(TypeWebActivity): - var wa WebActivity - err := json.Unmarshal(body, &wa) - return wa, err - case string(TypeLookup): - var la LookupActivity - err := json.Unmarshal(body, &la) - return la, err - case string(TypeAzureDataExplorerCommand): - var adeca AzureDataExplorerCommandActivity - err := json.Unmarshal(body, &adeca) - return adeca, err - case string(TypeDelete): - var da DeleteActivity - err := json.Unmarshal(body, &da) - return da, err - case string(TypeSQLServerStoredProcedure): - var ssspa SQLServerStoredProcedureActivity - err := json.Unmarshal(body, &ssspa) - return ssspa, err - case string(TypeCustom): - var ca CustomActivity - err := json.Unmarshal(body, &ca) - return ca, err - case string(TypeExecuteSSISPackage): - var espa ExecuteSSISPackageActivity - err := json.Unmarshal(body, &espa) - return espa, err - case string(TypeHDInsightSpark): - var hisa HDInsightSparkActivity - err := json.Unmarshal(body, &hisa) - return hisa, err - case string(TypeHDInsightStreaming): - var hisa HDInsightStreamingActivity - err := json.Unmarshal(body, &hisa) - return hisa, err - case string(TypeHDInsightMapReduce): - var himra HDInsightMapReduceActivity - err := json.Unmarshal(body, &himra) - return himra, err - case string(TypeHDInsightPig): - var hipa HDInsightPigActivity - err := json.Unmarshal(body, &hipa) - return hipa, err - case string(TypeHDInsightHive): - var hiha HDInsightHiveActivity - err := json.Unmarshal(body, &hiha) - return hiha, err - case string(TypeCopy): - var ca CopyActivity - err := json.Unmarshal(body, &ca) - return ca, err - default: - var ea ExecutionActivity - err := json.Unmarshal(body, &ea) - return ea, err - } +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { + return nil, false } -func unmarshalBasicExecutionActivityArray(body []byte) ([]BasicExecutionActivity, error) { - var rawMessages []*json.RawMessage - err := json.Unmarshal(body, &rawMessages) - if err != nil { - return nil, err - } - eaArray := make([]BasicExecutionActivity, len(rawMessages)) +// AsSapBwCubeDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { + return nil, false +} - for index, rawMessage := range rawMessages { - ea, err := unmarshalBasicExecutionActivity(*rawMessage) - if err != nil { - return nil, err - } - eaArray[index] = ea - } - return eaArray, nil +// AsSybaseTableDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { + return nil, false } -// MarshalJSON is the custom marshaler for ExecutionActivity. -func (ea ExecutionActivity) MarshalJSON() ([]byte, error) { - ea.Type = TypeExecution - objectMap := make(map[string]interface{}) - if ea.LinkedServiceName != nil { - objectMap["linkedServiceName"] = ea.LinkedServiceName - } - if ea.Policy != nil { - objectMap["policy"] = ea.Policy - } - if ea.Name != nil { - objectMap["name"] = ea.Name - } - if ea.Description != nil { - objectMap["description"] = ea.Description - } - if ea.DependsOn != nil { - objectMap["dependsOn"] = ea.DependsOn - } - if ea.UserProperties != nil { - objectMap["userProperties"] = ea.UserProperties - } - if ea.Type != "" { - objectMap["type"] = ea.Type - } - for k, v := range ea.AdditionalProperties { - objectMap[k] = v - } - return json.Marshal(objectMap) +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { + return nil, false } -// AsAzureFunctionActivity is the BasicActivity implementation for ExecutionActivity. -func (ea ExecutionActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) { +// AsSalesforceObjectDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { return nil, false } -// AsDatabricksSparkPythonActivity is the BasicActivity implementation for ExecutionActivity. -func (ea ExecutionActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) { +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { return nil, false } -// AsDatabricksSparkJarActivity is the BasicActivity implementation for ExecutionActivity. -func (ea ExecutionActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) { +// AsPostgreSQLTableDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { return nil, false } -// AsDatabricksNotebookActivity is the BasicActivity implementation for ExecutionActivity. -func (ea ExecutionActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) { +// AsMySQLTableDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { return nil, false } -// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for ExecutionActivity. -func (ea ExecutionActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) { +// AsOdbcTableDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { return nil, false } -// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for ExecutionActivity. -func (ea ExecutionActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) { +// AsInformixTableDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { return nil, false } -// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for ExecutionActivity. -func (ea ExecutionActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) { +// AsRelationalTableDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { return nil, false } -// AsGetMetadataActivity is the BasicActivity implementation for ExecutionActivity. -func (ea ExecutionActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) { +// AsDb2TableDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { return nil, false } -// AsWebActivity is the BasicActivity implementation for ExecutionActivity. -func (ea ExecutionActivity) AsWebActivity() (*WebActivity, bool) { +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { return nil, false } -// AsLookupActivity is the BasicActivity implementation for ExecutionActivity. -func (ea ExecutionActivity) AsLookupActivity() (*LookupActivity, bool) { +// AsAzureMySQLTableDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { return nil, false } -// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for ExecutionActivity. -func (ea ExecutionActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) { +// AsTeradataTableDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { return nil, false } -// AsDeleteActivity is the BasicActivity implementation for ExecutionActivity. -func (ea ExecutionActivity) AsDeleteActivity() (*DeleteActivity, bool) { +// AsOracleTableDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { return nil, false } -// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for ExecutionActivity. -func (ea ExecutionActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) { +// AsODataResourceDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { return nil, false } -// AsCustomActivity is the BasicActivity implementation for ExecutionActivity. -func (ea ExecutionActivity) AsCustomActivity() (*CustomActivity, bool) { +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { return nil, false } -// AsExecuteSSISPackageActivity is the BasicActivity implementation for ExecutionActivity. -func (ea ExecutionActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) { +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { return nil, false } -// AsHDInsightSparkActivity is the BasicActivity implementation for ExecutionActivity. -func (ea ExecutionActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) { +// AsMongoDbCollectionDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { return nil, false } -// AsHDInsightStreamingActivity is the BasicActivity implementation for ExecutionActivity. -func (ea ExecutionActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) { +// AsFileShareDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsFileShareDataset() (*FileShareDataset, bool) { return nil, false } -// AsHDInsightMapReduceActivity is the BasicActivity implementation for ExecutionActivity. -func (ea ExecutionActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) { +// AsOffice365Dataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsOffice365Dataset() (*Office365Dataset, bool) { return nil, false } -// AsHDInsightPigActivity is the BasicActivity implementation for ExecutionActivity. -func (ea ExecutionActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) { +// AsAzureBlobFSDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) { return nil, false } -// AsHDInsightHiveActivity is the BasicActivity implementation for ExecutionActivity. -func (ea ExecutionActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) { +// AsAzureDataLakeStoreDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) { return nil, false } -// AsCopyActivity is the BasicActivity implementation for ExecutionActivity. -func (ea ExecutionActivity) AsCopyActivity() (*CopyActivity, bool) { +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { return nil, false } -// AsExecutionActivity is the BasicActivity implementation for ExecutionActivity. -func (ea ExecutionActivity) AsExecutionActivity() (*ExecutionActivity, bool) { - return &ea, true +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { + return nil, false } -// AsBasicExecutionActivity is the BasicActivity implementation for ExecutionActivity. -func (ea ExecutionActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) { - return &ea, true +// AsDynamicsEntityDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { + return &ded, true } -// AsWebHookActivity is the BasicActivity implementation for ExecutionActivity. -func (ea ExecutionActivity) AsWebHookActivity() (*WebHookActivity, bool) { +// AsDocumentDbCollectionDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { return nil, false } -// AsAppendVariableActivity is the BasicActivity implementation for ExecutionActivity. -func (ea ExecutionActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) { +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { return nil, false } -// AsSetVariableActivity is the BasicActivity implementation for ExecutionActivity. -func (ea ExecutionActivity) AsSetVariableActivity() (*SetVariableActivity, bool) { +// AsCustomDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsCustomDataset() (*CustomDataset, bool) { return nil, false } -// AsFilterActivity is the BasicActivity implementation for ExecutionActivity. -func (ea ExecutionActivity) AsFilterActivity() (*FilterActivity, bool) { +// AsCassandraTableDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { return nil, false } -// AsValidationActivity is the BasicActivity implementation for ExecutionActivity. -func (ea ExecutionActivity) AsValidationActivity() (*ValidationActivity, bool) { +// AsAzureSQLDWTableDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { return nil, false } -// AsUntilActivity is the BasicActivity implementation for ExecutionActivity. -func (ea ExecutionActivity) AsUntilActivity() (*UntilActivity, bool) { +// AsAzureSQLMITableDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { return nil, false } -// AsWaitActivity is the BasicActivity implementation for ExecutionActivity. -func (ea ExecutionActivity) AsWaitActivity() (*WaitActivity, bool) { +// AsAzureSQLTableDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { return nil, false } -// AsForEachActivity is the BasicActivity implementation for ExecutionActivity. -func (ea ExecutionActivity) AsForEachActivity() (*ForEachActivity, bool) { +// AsAzureTableDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { return nil, false } -// AsIfConditionActivity is the BasicActivity implementation for ExecutionActivity. -func (ea ExecutionActivity) AsIfConditionActivity() (*IfConditionActivity, bool) { +// AsAzureBlobDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) { return nil, false } -// AsExecutePipelineActivity is the BasicActivity implementation for ExecutionActivity. -func (ea ExecutionActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) { +// AsBinaryDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsBinaryDataset() (*BinaryDataset, bool) { return nil, false } -// AsControlActivity is the BasicActivity implementation for ExecutionActivity. -func (ea ExecutionActivity) AsControlActivity() (*ControlActivity, bool) { +// AsOrcDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsOrcDataset() (*OrcDataset, bool) { return nil, false } -// AsBasicControlActivity is the BasicActivity implementation for ExecutionActivity. -func (ea ExecutionActivity) AsBasicControlActivity() (BasicControlActivity, bool) { +// AsJSONDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsJSONDataset() (*JSONDataset, bool) { return nil, false } -// AsActivity is the BasicActivity implementation for ExecutionActivity. -func (ea ExecutionActivity) AsActivity() (*Activity, bool) { +// AsDelimitedTextDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { return nil, false } -// AsBasicActivity is the BasicActivity implementation for ExecutionActivity. -func (ea ExecutionActivity) AsBasicActivity() (BasicActivity, bool) { - return &ea, true +// AsParquetDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsParquetDataset() (*ParquetDataset, bool) { + return nil, false } -// UnmarshalJSON is the custom unmarshaler for ExecutionActivity struct. -func (ea *ExecutionActivity) UnmarshalJSON(body []byte) error { +// AsAvroDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsAvroDataset() (*AvroDataset, bool) { + return nil, false +} + +// AsAmazonS3Dataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) { + return nil, false +} + +// AsDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsDataset() (*Dataset, bool) { + return nil, false +} + +// AsBasicDataset is the BasicDataset implementation for DynamicsEntityDataset. +func (ded DynamicsEntityDataset) AsBasicDataset() (BasicDataset, bool) { + return &ded, true +} + +// UnmarshalJSON is the custom unmarshaler for DynamicsEntityDataset struct. +func (ded *DynamicsEntityDataset) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -75111,23 +80185,14 @@ func (ea *ExecutionActivity) UnmarshalJSON(body []byte) error { } for k, v := range m { switch k { - case "linkedServiceName": - if v != nil { - var linkedServiceName LinkedServiceReference - err = json.Unmarshal(*v, &linkedServiceName) - if err != nil { - return err - } - ea.LinkedServiceName = &linkedServiceName - } - case "policy": + case "typeProperties": if v != nil { - var policy ActivityPolicy - err = json.Unmarshal(*v, &policy) + var dynamicsEntityDatasetTypeProperties DynamicsEntityDatasetTypeProperties + err = json.Unmarshal(*v, &dynamicsEntityDatasetTypeProperties) if err != nil { return err } - ea.Policy = &policy + ded.DynamicsEntityDatasetTypeProperties = &dynamicsEntityDatasetTypeProperties } default: if v != nil { @@ -75136,19 +80201,10 @@ func (ea *ExecutionActivity) UnmarshalJSON(body []byte) error { if err != nil { return err } - if ea.AdditionalProperties == nil { - ea.AdditionalProperties = make(map[string]interface{}) - } - ea.AdditionalProperties[k] = additionalProperties - } - case "name": - if v != nil { - var name string - err = json.Unmarshal(*v, &name) - if err != nil { - return err + if ded.AdditionalProperties == nil { + ded.AdditionalProperties = make(map[string]interface{}) } - ea.Name = &name + ded.AdditionalProperties[k] = additionalProperties } case "description": if v != nil { @@ -75157,202 +80213,70 @@ func (ea *ExecutionActivity) UnmarshalJSON(body []byte) error { if err != nil { return err } - ea.Description = &description - } - case "dependsOn": - if v != nil { - var dependsOn []ActivityDependency - err = json.Unmarshal(*v, &dependsOn) - if err != nil { - return err - } - ea.DependsOn = &dependsOn - } - case "userProperties": - if v != nil { - var userProperties []UserProperty - err = json.Unmarshal(*v, &userProperties) - if err != nil { - return err - } - ea.UserProperties = &userProperties + ded.Description = &description } - case "type": + case "structure": if v != nil { - var typeVar TypeBasicActivity - err = json.Unmarshal(*v, &typeVar) + var structure interface{} + err = json.Unmarshal(*v, &structure) if err != nil { return err } - ea.Type = typeVar + ded.Structure = structure } - } - } - - return nil -} - -// ExposureControlRequest the exposure control request. -type ExposureControlRequest struct { - // FeatureName - The feature name. - FeatureName *string `json:"featureName,omitempty"` - // FeatureType - The feature type. - FeatureType *string `json:"featureType,omitempty"` -} - -// ExposureControlResponse the exposure control response. -type ExposureControlResponse struct { - autorest.Response `json:"-"` - // FeatureName - READ-ONLY; The feature name. - FeatureName *string `json:"featureName,omitempty"` - // Value - READ-ONLY; The feature value. - Value *string `json:"value,omitempty"` -} - -// Expression azure Data Factory expression definition. -type Expression struct { - // Type - Expression type. - Type *string `json:"type,omitempty"` - // Value - Expression value. - Value *string `json:"value,omitempty"` -} - -// Factory factory resource type. -type Factory struct { - autorest.Response `json:"-"` - // AdditionalProperties - Unmatched properties from the message are deserialized this collection - AdditionalProperties map[string]interface{} `json:""` - // Identity - Managed service identity of the factory. - Identity *FactoryIdentity `json:"identity,omitempty"` - // FactoryProperties - Properties of the factory. - *FactoryProperties `json:"properties,omitempty"` - // ID - READ-ONLY; The resource identifier. - ID *string `json:"id,omitempty"` - // Name - READ-ONLY; The resource name. - Name *string `json:"name,omitempty"` - // Type - READ-ONLY; The resource type. - Type *string `json:"type,omitempty"` - // Location - The resource location. - Location *string `json:"location,omitempty"` - // Tags - The resource tags. - Tags map[string]*string `json:"tags"` - // ETag - READ-ONLY; Etag identifies change in the resource. - ETag *string `json:"eTag,omitempty"` -} - -// MarshalJSON is the custom marshaler for Factory. -func (f Factory) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - if f.Identity != nil { - objectMap["identity"] = f.Identity - } - if f.FactoryProperties != nil { - objectMap["properties"] = f.FactoryProperties - } - if f.Location != nil { - objectMap["location"] = f.Location - } - if f.Tags != nil { - objectMap["tags"] = f.Tags - } - for k, v := range f.AdditionalProperties { - objectMap[k] = v - } - return json.Marshal(objectMap) -} - -// UnmarshalJSON is the custom unmarshaler for Factory struct. -func (f *Factory) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - default: + case "schema": if v != nil { - var additionalProperties interface{} - err = json.Unmarshal(*v, &additionalProperties) + var schema interface{} + err = json.Unmarshal(*v, &schema) if err != nil { return err } - if f.AdditionalProperties == nil { - f.AdditionalProperties = make(map[string]interface{}) - } - f.AdditionalProperties[k] = additionalProperties + ded.Schema = schema } - case "identity": + case "linkedServiceName": if v != nil { - var identity FactoryIdentity - err = json.Unmarshal(*v, &identity) + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) if err != nil { return err } - f.Identity = &identity + ded.LinkedServiceName = &linkedServiceName } - case "properties": + case "parameters": if v != nil { - var factoryProperties FactoryProperties - err = json.Unmarshal(*v, &factoryProperties) + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) if err != nil { return err } - f.FactoryProperties = &factoryProperties + ded.Parameters = parameters } - case "id": + case "annotations": if v != nil { - var ID string - err = json.Unmarshal(*v, &ID) + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) if err != nil { return err } - f.ID = &ID + ded.Annotations = &annotations } - case "name": + case "folder": if v != nil { - var name string - err = json.Unmarshal(*v, &name) + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) if err != nil { return err } - f.Name = &name + ded.Folder = &folder } case "type": if v != nil { - var typeVar string + var typeVar TypeBasicDataset err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - f.Type = &typeVar - } - case "location": - if v != nil { - var location string - err = json.Unmarshal(*v, &location) - if err != nil { - return err - } - f.Location = &location - } - case "tags": - if v != nil { - var tags map[string]*string - err = json.Unmarshal(*v, &tags) - if err != nil { - return err - } - f.Tags = tags - } - case "eTag": - if v != nil { - var eTag string - err = json.Unmarshal(*v, &eTag) - if err != nil { - return err - } - f.ETag = &eTag + ded.Type = typeVar } } } @@ -75360,534 +80284,16 @@ func (f *Factory) UnmarshalJSON(body []byte) error { return nil } -// FactoryGitHubConfiguration factory's GitHub repo information. -type FactoryGitHubConfiguration struct { - // HostName - GitHub Enterprise host name. For example: https://github.mydomain.com - HostName *string `json:"hostName,omitempty"` - // AccountName - Account name. - AccountName *string `json:"accountName,omitempty"` - // RepositoryName - Repository name. - RepositoryName *string `json:"repositoryName,omitempty"` - // CollaborationBranch - Collaboration branch. - CollaborationBranch *string `json:"collaborationBranch,omitempty"` - // RootFolder - Root folder. - RootFolder *string `json:"rootFolder,omitempty"` - // LastCommitID - Last commit id. - LastCommitID *string `json:"lastCommitId,omitempty"` - // Type - Possible values include: 'TypeFactoryRepoConfiguration', 'TypeFactoryVSTSConfiguration', 'TypeFactoryGitHubConfiguration' - Type TypeBasicFactoryRepoConfiguration `json:"type,omitempty"` -} - -// MarshalJSON is the custom marshaler for FactoryGitHubConfiguration. -func (fghc FactoryGitHubConfiguration) MarshalJSON() ([]byte, error) { - fghc.Type = TypeFactoryGitHubConfiguration - objectMap := make(map[string]interface{}) - if fghc.HostName != nil { - objectMap["hostName"] = fghc.HostName - } - if fghc.AccountName != nil { - objectMap["accountName"] = fghc.AccountName - } - if fghc.RepositoryName != nil { - objectMap["repositoryName"] = fghc.RepositoryName - } - if fghc.CollaborationBranch != nil { - objectMap["collaborationBranch"] = fghc.CollaborationBranch - } - if fghc.RootFolder != nil { - objectMap["rootFolder"] = fghc.RootFolder - } - if fghc.LastCommitID != nil { - objectMap["lastCommitId"] = fghc.LastCommitID - } - if fghc.Type != "" { - objectMap["type"] = fghc.Type - } - return json.Marshal(objectMap) -} - -// AsFactoryVSTSConfiguration is the BasicFactoryRepoConfiguration implementation for FactoryGitHubConfiguration. -func (fghc FactoryGitHubConfiguration) AsFactoryVSTSConfiguration() (*FactoryVSTSConfiguration, bool) { - return nil, false -} - -// AsFactoryGitHubConfiguration is the BasicFactoryRepoConfiguration implementation for FactoryGitHubConfiguration. -func (fghc FactoryGitHubConfiguration) AsFactoryGitHubConfiguration() (*FactoryGitHubConfiguration, bool) { - return &fghc, true -} - -// AsFactoryRepoConfiguration is the BasicFactoryRepoConfiguration implementation for FactoryGitHubConfiguration. -func (fghc FactoryGitHubConfiguration) AsFactoryRepoConfiguration() (*FactoryRepoConfiguration, bool) { - return nil, false -} - -// AsBasicFactoryRepoConfiguration is the BasicFactoryRepoConfiguration implementation for FactoryGitHubConfiguration. -func (fghc FactoryGitHubConfiguration) AsBasicFactoryRepoConfiguration() (BasicFactoryRepoConfiguration, bool) { - return &fghc, true -} - -// FactoryIdentity identity properties of the factory resource. -type FactoryIdentity struct { - // Type - The identity type. Currently the only supported type is 'SystemAssigned'. - Type *string `json:"type,omitempty"` - // PrincipalID - READ-ONLY; The principal id of the identity. - PrincipalID *uuid.UUID `json:"principalId,omitempty"` - // TenantID - READ-ONLY; The client tenant id of the identity. - TenantID *uuid.UUID `json:"tenantId,omitempty"` -} - -// FactoryListResponse a list of factory resources. -type FactoryListResponse struct { - autorest.Response `json:"-"` - // Value - List of factories. - Value *[]Factory `json:"value,omitempty"` - // NextLink - The link to the next page of results, if any remaining results exist. - NextLink *string `json:"nextLink,omitempty"` -} - -// FactoryListResponseIterator provides access to a complete listing of Factory values. -type FactoryListResponseIterator struct { - i int - page FactoryListResponsePage -} - -// NextWithContext advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -func (iter *FactoryListResponseIterator) NextWithContext(ctx context.Context) (err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/FactoryListResponseIterator.NextWithContext") - defer func() { - sc := -1 - if iter.Response().Response.Response != nil { - sc = iter.Response().Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - iter.i++ - if iter.i < len(iter.page.Values()) { - return nil - } - err = iter.page.NextWithContext(ctx) - if err != nil { - iter.i-- - return err - } - iter.i = 0 - return nil -} - -// Next advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -// Deprecated: Use NextWithContext() instead. -func (iter *FactoryListResponseIterator) Next() error { - return iter.NextWithContext(context.Background()) -} - -// NotDone returns true if the enumeration should be started or is not yet complete. -func (iter FactoryListResponseIterator) NotDone() bool { - return iter.page.NotDone() && iter.i < len(iter.page.Values()) -} - -// Response returns the raw server response from the last page request. -func (iter FactoryListResponseIterator) Response() FactoryListResponse { - return iter.page.Response() -} - -// Value returns the current value or a zero-initialized value if the -// iterator has advanced beyond the end of the collection. -func (iter FactoryListResponseIterator) Value() Factory { - if !iter.page.NotDone() { - return Factory{} - } - return iter.page.Values()[iter.i] -} - -// Creates a new instance of the FactoryListResponseIterator type. -func NewFactoryListResponseIterator(page FactoryListResponsePage) FactoryListResponseIterator { - return FactoryListResponseIterator{page: page} -} - -// IsEmpty returns true if the ListResult contains no values. -func (flr FactoryListResponse) IsEmpty() bool { - return flr.Value == nil || len(*flr.Value) == 0 -} - -// factoryListResponsePreparer prepares a request to retrieve the next set of results. -// It returns nil if no more results exist. -func (flr FactoryListResponse) factoryListResponsePreparer(ctx context.Context) (*http.Request, error) { - if flr.NextLink == nil || len(to.String(flr.NextLink)) < 1 { - return nil, nil - } - return autorest.Prepare((&http.Request{}).WithContext(ctx), - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(flr.NextLink))) -} - -// FactoryListResponsePage contains a page of Factory values. -type FactoryListResponsePage struct { - fn func(context.Context, FactoryListResponse) (FactoryListResponse, error) - flr FactoryListResponse -} - -// NextWithContext advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -func (page *FactoryListResponsePage) NextWithContext(ctx context.Context) (err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/FactoryListResponsePage.NextWithContext") - defer func() { - sc := -1 - if page.Response().Response.Response != nil { - sc = page.Response().Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - next, err := page.fn(ctx, page.flr) - if err != nil { - return err - } - page.flr = next - return nil -} - -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -// Deprecated: Use NextWithContext() instead. -func (page *FactoryListResponsePage) Next() error { - return page.NextWithContext(context.Background()) -} - -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page FactoryListResponsePage) NotDone() bool { - return !page.flr.IsEmpty() -} - -// Response returns the raw server response from the last page request. -func (page FactoryListResponsePage) Response() FactoryListResponse { - return page.flr -} - -// Values returns the slice of values for the current page or nil if there are no values. -func (page FactoryListResponsePage) Values() []Factory { - if page.flr.IsEmpty() { - return nil - } - return *page.flr.Value -} - -// Creates a new instance of the FactoryListResponsePage type. -func NewFactoryListResponsePage(getNextPage func(context.Context, FactoryListResponse) (FactoryListResponse, error)) FactoryListResponsePage { - return FactoryListResponsePage{fn: getNextPage} -} - -// FactoryProperties factory resource properties. -type FactoryProperties struct { - // ProvisioningState - READ-ONLY; Factory provisioning state, example Succeeded. - ProvisioningState *string `json:"provisioningState,omitempty"` - // CreateTime - READ-ONLY; Time the factory was created in ISO8601 format. - CreateTime *date.Time `json:"createTime,omitempty"` - // Version - READ-ONLY; Version of the factory. - Version *string `json:"version,omitempty"` - // RepoConfiguration - Git repo information of the factory. - RepoConfiguration BasicFactoryRepoConfiguration `json:"repoConfiguration,omitempty"` -} - -// UnmarshalJSON is the custom unmarshaler for FactoryProperties struct. -func (fp *FactoryProperties) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - case "provisioningState": - if v != nil { - var provisioningState string - err = json.Unmarshal(*v, &provisioningState) - if err != nil { - return err - } - fp.ProvisioningState = &provisioningState - } - case "createTime": - if v != nil { - var createTime date.Time - err = json.Unmarshal(*v, &createTime) - if err != nil { - return err - } - fp.CreateTime = &createTime - } - case "version": - if v != nil { - var version string - err = json.Unmarshal(*v, &version) - if err != nil { - return err - } - fp.Version = &version - } - case "repoConfiguration": - if v != nil { - repoConfiguration, err := unmarshalBasicFactoryRepoConfiguration(*v) - if err != nil { - return err - } - fp.RepoConfiguration = repoConfiguration - } - } - } - - return nil -} - -// BasicFactoryRepoConfiguration factory's git repo information. -type BasicFactoryRepoConfiguration interface { - AsFactoryVSTSConfiguration() (*FactoryVSTSConfiguration, bool) - AsFactoryGitHubConfiguration() (*FactoryGitHubConfiguration, bool) - AsFactoryRepoConfiguration() (*FactoryRepoConfiguration, bool) -} - -// FactoryRepoConfiguration factory's git repo information. -type FactoryRepoConfiguration struct { - // AccountName - Account name. - AccountName *string `json:"accountName,omitempty"` - // RepositoryName - Repository name. - RepositoryName *string `json:"repositoryName,omitempty"` - // CollaborationBranch - Collaboration branch. - CollaborationBranch *string `json:"collaborationBranch,omitempty"` - // RootFolder - Root folder. - RootFolder *string `json:"rootFolder,omitempty"` - // LastCommitID - Last commit id. - LastCommitID *string `json:"lastCommitId,omitempty"` - // Type - Possible values include: 'TypeFactoryRepoConfiguration', 'TypeFactoryVSTSConfiguration', 'TypeFactoryGitHubConfiguration' - Type TypeBasicFactoryRepoConfiguration `json:"type,omitempty"` -} - -func unmarshalBasicFactoryRepoConfiguration(body []byte) (BasicFactoryRepoConfiguration, error) { - var m map[string]interface{} - err := json.Unmarshal(body, &m) - if err != nil { - return nil, err - } - - switch m["type"] { - case string(TypeFactoryVSTSConfiguration): - var fvc FactoryVSTSConfiguration - err := json.Unmarshal(body, &fvc) - return fvc, err - case string(TypeFactoryGitHubConfiguration): - var fghc FactoryGitHubConfiguration - err := json.Unmarshal(body, &fghc) - return fghc, err - default: - var frc FactoryRepoConfiguration - err := json.Unmarshal(body, &frc) - return frc, err - } -} -func unmarshalBasicFactoryRepoConfigurationArray(body []byte) ([]BasicFactoryRepoConfiguration, error) { - var rawMessages []*json.RawMessage - err := json.Unmarshal(body, &rawMessages) - if err != nil { - return nil, err - } - - frcArray := make([]BasicFactoryRepoConfiguration, len(rawMessages)) - - for index, rawMessage := range rawMessages { - frc, err := unmarshalBasicFactoryRepoConfiguration(*rawMessage) - if err != nil { - return nil, err - } - frcArray[index] = frc - } - return frcArray, nil -} - -// MarshalJSON is the custom marshaler for FactoryRepoConfiguration. -func (frc FactoryRepoConfiguration) MarshalJSON() ([]byte, error) { - frc.Type = TypeFactoryRepoConfiguration - objectMap := make(map[string]interface{}) - if frc.AccountName != nil { - objectMap["accountName"] = frc.AccountName - } - if frc.RepositoryName != nil { - objectMap["repositoryName"] = frc.RepositoryName - } - if frc.CollaborationBranch != nil { - objectMap["collaborationBranch"] = frc.CollaborationBranch - } - if frc.RootFolder != nil { - objectMap["rootFolder"] = frc.RootFolder - } - if frc.LastCommitID != nil { - objectMap["lastCommitId"] = frc.LastCommitID - } - if frc.Type != "" { - objectMap["type"] = frc.Type - } - return json.Marshal(objectMap) -} - -// AsFactoryVSTSConfiguration is the BasicFactoryRepoConfiguration implementation for FactoryRepoConfiguration. -func (frc FactoryRepoConfiguration) AsFactoryVSTSConfiguration() (*FactoryVSTSConfiguration, bool) { - return nil, false -} - -// AsFactoryGitHubConfiguration is the BasicFactoryRepoConfiguration implementation for FactoryRepoConfiguration. -func (frc FactoryRepoConfiguration) AsFactoryGitHubConfiguration() (*FactoryGitHubConfiguration, bool) { - return nil, false -} - -// AsFactoryRepoConfiguration is the BasicFactoryRepoConfiguration implementation for FactoryRepoConfiguration. -func (frc FactoryRepoConfiguration) AsFactoryRepoConfiguration() (*FactoryRepoConfiguration, bool) { - return &frc, true -} - -// AsBasicFactoryRepoConfiguration is the BasicFactoryRepoConfiguration implementation for FactoryRepoConfiguration. -func (frc FactoryRepoConfiguration) AsBasicFactoryRepoConfiguration() (BasicFactoryRepoConfiguration, bool) { - return &frc, true -} - -// FactoryRepoUpdate factory's git repo information. -type FactoryRepoUpdate struct { - // FactoryResourceID - The factory resource id. - FactoryResourceID *string `json:"factoryResourceId,omitempty"` - // RepoConfiguration - Git repo information of the factory. - RepoConfiguration BasicFactoryRepoConfiguration `json:"repoConfiguration,omitempty"` -} - -// UnmarshalJSON is the custom unmarshaler for FactoryRepoUpdate struct. -func (fru *FactoryRepoUpdate) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - case "factoryResourceId": - if v != nil { - var factoryResourceID string - err = json.Unmarshal(*v, &factoryResourceID) - if err != nil { - return err - } - fru.FactoryResourceID = &factoryResourceID - } - case "repoConfiguration": - if v != nil { - repoConfiguration, err := unmarshalBasicFactoryRepoConfiguration(*v) - if err != nil { - return err - } - fru.RepoConfiguration = repoConfiguration - } - } - } - - return nil -} - -// FactoryUpdateParameters parameters for updating a factory resource. -type FactoryUpdateParameters struct { - // Tags - The resource tags. - Tags map[string]*string `json:"tags"` - // Identity - Managed service identity of the factory. - Identity *FactoryIdentity `json:"identity,omitempty"` -} - -// MarshalJSON is the custom marshaler for FactoryUpdateParameters. -func (fup FactoryUpdateParameters) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - if fup.Tags != nil { - objectMap["tags"] = fup.Tags - } - if fup.Identity != nil { - objectMap["identity"] = fup.Identity - } - return json.Marshal(objectMap) -} - -// FactoryVSTSConfiguration factory's VSTS repo information. -type FactoryVSTSConfiguration struct { - // ProjectName - VSTS project name. - ProjectName *string `json:"projectName,omitempty"` - // TenantID - VSTS tenant id. - TenantID *string `json:"tenantId,omitempty"` - // AccountName - Account name. - AccountName *string `json:"accountName,omitempty"` - // RepositoryName - Repository name. - RepositoryName *string `json:"repositoryName,omitempty"` - // CollaborationBranch - Collaboration branch. - CollaborationBranch *string `json:"collaborationBranch,omitempty"` - // RootFolder - Root folder. - RootFolder *string `json:"rootFolder,omitempty"` - // LastCommitID - Last commit id. - LastCommitID *string `json:"lastCommitId,omitempty"` - // Type - Possible values include: 'TypeFactoryRepoConfiguration', 'TypeFactoryVSTSConfiguration', 'TypeFactoryGitHubConfiguration' - Type TypeBasicFactoryRepoConfiguration `json:"type,omitempty"` -} - -// MarshalJSON is the custom marshaler for FactoryVSTSConfiguration. -func (fvc FactoryVSTSConfiguration) MarshalJSON() ([]byte, error) { - fvc.Type = TypeFactoryVSTSConfiguration - objectMap := make(map[string]interface{}) - if fvc.ProjectName != nil { - objectMap["projectName"] = fvc.ProjectName - } - if fvc.TenantID != nil { - objectMap["tenantId"] = fvc.TenantID - } - if fvc.AccountName != nil { - objectMap["accountName"] = fvc.AccountName - } - if fvc.RepositoryName != nil { - objectMap["repositoryName"] = fvc.RepositoryName - } - if fvc.CollaborationBranch != nil { - objectMap["collaborationBranch"] = fvc.CollaborationBranch - } - if fvc.RootFolder != nil { - objectMap["rootFolder"] = fvc.RootFolder - } - if fvc.LastCommitID != nil { - objectMap["lastCommitId"] = fvc.LastCommitID - } - if fvc.Type != "" { - objectMap["type"] = fvc.Type - } - return json.Marshal(objectMap) -} - -// AsFactoryVSTSConfiguration is the BasicFactoryRepoConfiguration implementation for FactoryVSTSConfiguration. -func (fvc FactoryVSTSConfiguration) AsFactoryVSTSConfiguration() (*FactoryVSTSConfiguration, bool) { - return &fvc, true -} - -// AsFactoryGitHubConfiguration is the BasicFactoryRepoConfiguration implementation for FactoryVSTSConfiguration. -func (fvc FactoryVSTSConfiguration) AsFactoryGitHubConfiguration() (*FactoryGitHubConfiguration, bool) { - return nil, false -} - -// AsFactoryRepoConfiguration is the BasicFactoryRepoConfiguration implementation for FactoryVSTSConfiguration. -func (fvc FactoryVSTSConfiguration) AsFactoryRepoConfiguration() (*FactoryRepoConfiguration, bool) { - return nil, false -} - -// AsBasicFactoryRepoConfiguration is the BasicFactoryRepoConfiguration implementation for FactoryVSTSConfiguration. -func (fvc FactoryVSTSConfiguration) AsBasicFactoryRepoConfiguration() (BasicFactoryRepoConfiguration, bool) { - return &fvc, true +// DynamicsEntityDatasetTypeProperties dynamics entity dataset properties. +type DynamicsEntityDatasetTypeProperties struct { + // EntityName - The logical name of the entity. Type: string (or Expression with resultType string). + EntityName interface{} `json:"entityName,omitempty"` } -// FileServerLinkedService file system linked service. -type FileServerLinkedService struct { - // FileServerLinkedServiceTypeProperties - File system linked service properties. - *FileServerLinkedServiceTypeProperties `json:"typeProperties,omitempty"` +// DynamicsLinkedService dynamics linked service. +type DynamicsLinkedService struct { + // DynamicsLinkedServiceTypeProperties - Dynamics linked service properties. + *DynamicsLinkedServiceTypeProperties `json:"typeProperties,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` // ConnectVia - The integration runtime reference. @@ -75898,505 +80304,520 @@ type FileServerLinkedService struct { Parameters map[string]*ParameterSpecification `json:"parameters"` // Annotations - List of tags that can be used for describing the linked service. Annotations *[]interface{} `json:"annotations,omitempty"` - // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' + // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' Type TypeBasicLinkedService `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for FileServerLinkedService. -func (fsls FileServerLinkedService) MarshalJSON() ([]byte, error) { - fsls.Type = TypeFileServer +// MarshalJSON is the custom marshaler for DynamicsLinkedService. +func (dls DynamicsLinkedService) MarshalJSON() ([]byte, error) { + dls.Type = TypeDynamics objectMap := make(map[string]interface{}) - if fsls.FileServerLinkedServiceTypeProperties != nil { - objectMap["typeProperties"] = fsls.FileServerLinkedServiceTypeProperties + if dls.DynamicsLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = dls.DynamicsLinkedServiceTypeProperties } - if fsls.ConnectVia != nil { - objectMap["connectVia"] = fsls.ConnectVia + if dls.ConnectVia != nil { + objectMap["connectVia"] = dls.ConnectVia } - if fsls.Description != nil { - objectMap["description"] = fsls.Description + if dls.Description != nil { + objectMap["description"] = dls.Description } - if fsls.Parameters != nil { - objectMap["parameters"] = fsls.Parameters + if dls.Parameters != nil { + objectMap["parameters"] = dls.Parameters } - if fsls.Annotations != nil { - objectMap["annotations"] = fsls.Annotations + if dls.Annotations != nil { + objectMap["annotations"] = dls.Annotations } - if fsls.Type != "" { - objectMap["type"] = fsls.Type + if dls.Type != "" { + objectMap["type"] = dls.Type } - for k, v := range fsls.AdditionalProperties { + for k, v := range dls.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsAzureFunctionLinkedService is the BasicLinkedService implementation for FileServerLinkedService. -func (fsls FileServerLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { return nil, false } -// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for FileServerLinkedService. -func (fsls FileServerLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { return nil, false } -// AsSapTableLinkedService is the BasicLinkedService implementation for FileServerLinkedService. -func (fsls FileServerLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { +// AsSapTableLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { return nil, false } -// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for FileServerLinkedService. -func (fsls FileServerLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { return nil, false } -// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for FileServerLinkedService. -func (fsls FileServerLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { return nil, false } -// AsDynamicsAXLinkedService is the BasicLinkedService implementation for FileServerLinkedService. -func (fsls FileServerLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { return nil, false } -// AsResponsysLinkedService is the BasicLinkedService implementation for FileServerLinkedService. -func (fsls FileServerLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { +// AsResponsysLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { return nil, false } -// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for FileServerLinkedService. -func (fsls FileServerLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { return nil, false } -// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for FileServerLinkedService. -func (fsls FileServerLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { return nil, false } -// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for FileServerLinkedService. -func (fsls FileServerLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { return nil, false } -// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for FileServerLinkedService. -func (fsls FileServerLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { return nil, false } -// AsNetezzaLinkedService is the BasicLinkedService implementation for FileServerLinkedService. -func (fsls FileServerLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { +// AsNetezzaLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { return nil, false } -// AsVerticaLinkedService is the BasicLinkedService implementation for FileServerLinkedService. -func (fsls FileServerLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { +// AsVerticaLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { return nil, false } -// AsZohoLinkedService is the BasicLinkedService implementation for FileServerLinkedService. -func (fsls FileServerLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { +// AsZohoLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { return nil, false } -// AsXeroLinkedService is the BasicLinkedService implementation for FileServerLinkedService. -func (fsls FileServerLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { +// AsXeroLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { return nil, false } -// AsSquareLinkedService is the BasicLinkedService implementation for FileServerLinkedService. -func (fsls FileServerLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { +// AsSquareLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { return nil, false } -// AsSparkLinkedService is the BasicLinkedService implementation for FileServerLinkedService. -func (fsls FileServerLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { +// AsSparkLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { return nil, false } -// AsShopifyLinkedService is the BasicLinkedService implementation for FileServerLinkedService. -func (fsls FileServerLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { +// AsShopifyLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { return nil, false } -// AsServiceNowLinkedService is the BasicLinkedService implementation for FileServerLinkedService. -func (fsls FileServerLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { +// AsServiceNowLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { return nil, false } -// AsQuickBooksLinkedService is the BasicLinkedService implementation for FileServerLinkedService. -func (fsls FileServerLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { +// AsQuickBooksLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { return nil, false } -// AsPrestoLinkedService is the BasicLinkedService implementation for FileServerLinkedService. -func (fsls FileServerLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { +// AsPrestoLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { return nil, false } -// AsPhoenixLinkedService is the BasicLinkedService implementation for FileServerLinkedService. -func (fsls FileServerLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { +// AsPhoenixLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { return nil, false } -// AsPaypalLinkedService is the BasicLinkedService implementation for FileServerLinkedService. -func (fsls FileServerLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { +// AsPaypalLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { return nil, false } -// AsMarketoLinkedService is the BasicLinkedService implementation for FileServerLinkedService. -func (fsls FileServerLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { +// AsMarketoLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { return nil, false } -// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for FileServerLinkedService. -func (fsls FileServerLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { return nil, false } -// AsMariaDBLinkedService is the BasicLinkedService implementation for FileServerLinkedService. -func (fsls FileServerLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { +// AsMariaDBLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { return nil, false } -// AsMagentoLinkedService is the BasicLinkedService implementation for FileServerLinkedService. -func (fsls FileServerLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { +// AsMagentoLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { return nil, false } -// AsJiraLinkedService is the BasicLinkedService implementation for FileServerLinkedService. -func (fsls FileServerLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { +// AsJiraLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { return nil, false } -// AsImpalaLinkedService is the BasicLinkedService implementation for FileServerLinkedService. -func (fsls FileServerLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { +// AsImpalaLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { return nil, false } -// AsHubspotLinkedService is the BasicLinkedService implementation for FileServerLinkedService. -func (fsls FileServerLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { +// AsHubspotLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { return nil, false } -// AsHiveLinkedService is the BasicLinkedService implementation for FileServerLinkedService. -func (fsls FileServerLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { +// AsHiveLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { return nil, false } -// AsHBaseLinkedService is the BasicLinkedService implementation for FileServerLinkedService. -func (fsls FileServerLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { +// AsHBaseLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { return nil, false } -// AsGreenplumLinkedService is the BasicLinkedService implementation for FileServerLinkedService. -func (fsls FileServerLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { +// AsGreenplumLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { return nil, false } -// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for FileServerLinkedService. -func (fsls FileServerLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { return nil, false } -// AsEloquaLinkedService is the BasicLinkedService implementation for FileServerLinkedService. -func (fsls FileServerLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { +// AsEloquaLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { return nil, false } -// AsDrillLinkedService is the BasicLinkedService implementation for FileServerLinkedService. -func (fsls FileServerLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { +// AsDrillLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { return nil, false } -// AsCouchbaseLinkedService is the BasicLinkedService implementation for FileServerLinkedService. -func (fsls FileServerLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { +// AsCouchbaseLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { return nil, false } -// AsConcurLinkedService is the BasicLinkedService implementation for FileServerLinkedService. -func (fsls FileServerLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { +// AsConcurLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { return nil, false } -// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for FileServerLinkedService. -func (fsls FileServerLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { return nil, false } -// AsAmazonMWSLinkedService is the BasicLinkedService implementation for FileServerLinkedService. -func (fsls FileServerLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { return nil, false } -// AsSapHanaLinkedService is the BasicLinkedService implementation for FileServerLinkedService. -func (fsls FileServerLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { +// AsSapHanaLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { return nil, false } -// AsSapBWLinkedService is the BasicLinkedService implementation for FileServerLinkedService. -func (fsls FileServerLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { +// AsSapBWLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { return nil, false } -// AsSftpServerLinkedService is the BasicLinkedService implementation for FileServerLinkedService. -func (fsls FileServerLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { +// AsSftpServerLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { return nil, false } -// AsFtpServerLinkedService is the BasicLinkedService implementation for FileServerLinkedService. -func (fsls FileServerLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { +// AsFtpServerLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { return nil, false } -// AsHTTPLinkedService is the BasicLinkedService implementation for FileServerLinkedService. -func (fsls FileServerLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { +// AsHTTPLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { return nil, false } -// AsAzureSearchLinkedService is the BasicLinkedService implementation for FileServerLinkedService. -func (fsls FileServerLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { +// AsAzureSearchLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { return nil, false } -// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for FileServerLinkedService. -func (fsls FileServerLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { return nil, false } -// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for FileServerLinkedService. -func (fsls FileServerLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { return nil, false } -// AsAmazonS3LinkedService is the BasicLinkedService implementation for FileServerLinkedService. -func (fsls FileServerLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { +// AsAmazonS3LinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { return nil, false } -// AsRestServiceLinkedService is the BasicLinkedService implementation for FileServerLinkedService. -func (fsls FileServerLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { +// AsRestServiceLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { return nil, false } -// AsSapOpenHubLinkedService is the BasicLinkedService implementation for FileServerLinkedService. -func (fsls FileServerLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { return nil, false } -// AsSapEccLinkedService is the BasicLinkedService implementation for FileServerLinkedService. -func (fsls FileServerLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { +// AsSapEccLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { return nil, false } -// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for FileServerLinkedService. -func (fsls FileServerLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { return nil, false } -// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for FileServerLinkedService. -func (fsls FileServerLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { return nil, false } -// AsSalesforceLinkedService is the BasicLinkedService implementation for FileServerLinkedService. -func (fsls FileServerLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { +// AsSalesforceLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { return nil, false } -// AsOffice365LinkedService is the BasicLinkedService implementation for FileServerLinkedService. -func (fsls FileServerLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { +// AsOffice365LinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { return nil, false } -// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for FileServerLinkedService. -func (fsls FileServerLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { return nil, false } -// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for FileServerLinkedService. -func (fsls FileServerLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { return nil, false } -// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for FileServerLinkedService. -func (fsls FileServerLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { return nil, false } -// AsMongoDbV2LinkedService is the BasicLinkedService implementation for FileServerLinkedService. -func (fsls FileServerLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { return nil, false } -// AsMongoDbLinkedService is the BasicLinkedService implementation for FileServerLinkedService. -func (fsls FileServerLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { +// AsMongoDbLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { return nil, false } -// AsCassandraLinkedService is the BasicLinkedService implementation for FileServerLinkedService. -func (fsls FileServerLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { +// AsCassandraLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { return nil, false } -// AsWebLinkedService is the BasicLinkedService implementation for FileServerLinkedService. -func (fsls FileServerLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { +// AsWebLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { return nil, false } -// AsODataLinkedService is the BasicLinkedService implementation for FileServerLinkedService. -func (fsls FileServerLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { +// AsODataLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { return nil, false } -// AsHdfsLinkedService is the BasicLinkedService implementation for FileServerLinkedService. -func (fsls FileServerLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { +// AsHdfsLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { return nil, false } -// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for FileServerLinkedService. -func (fsls FileServerLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { return nil, false } -// AsInformixLinkedService is the BasicLinkedService implementation for FileServerLinkedService. -func (fsls FileServerLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { +// AsInformixLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { return nil, false } -// AsOdbcLinkedService is the BasicLinkedService implementation for FileServerLinkedService. -func (fsls FileServerLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { +// AsOdbcLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { return nil, false } -// AsAzureMLLinkedService is the BasicLinkedService implementation for FileServerLinkedService. -func (fsls FileServerLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { return nil, false } -// AsTeradataLinkedService is the BasicLinkedService implementation for FileServerLinkedService. -func (fsls FileServerLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { +// AsAzureMLLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { return nil, false } -// AsDb2LinkedService is the BasicLinkedService implementation for FileServerLinkedService. -func (fsls FileServerLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { +// AsTeradataLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { return nil, false } -// AsSybaseLinkedService is the BasicLinkedService implementation for FileServerLinkedService. -func (fsls FileServerLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { +// AsDb2LinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { return nil, false } -// AsPostgreSQLLinkedService is the BasicLinkedService implementation for FileServerLinkedService. -func (fsls FileServerLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { +// AsSybaseLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { return nil, false } -// AsMySQLLinkedService is the BasicLinkedService implementation for FileServerLinkedService. -func (fsls FileServerLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { return nil, false } -// AsAzureMySQLLinkedService is the BasicLinkedService implementation for FileServerLinkedService. -func (fsls FileServerLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { +// AsMySQLLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { return nil, false } -// AsOracleLinkedService is the BasicLinkedService implementation for FileServerLinkedService. -func (fsls FileServerLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { return nil, false } -// AsFileServerLinkedService is the BasicLinkedService implementation for FileServerLinkedService. -func (fsls FileServerLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { - return &fsls, true +// AsOracleLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false } -// AsHDInsightLinkedService is the BasicLinkedService implementation for FileServerLinkedService. -func (fsls FileServerLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { return nil, false } -// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for FileServerLinkedService. -func (fsls FileServerLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { return nil, false } -// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for FileServerLinkedService. -func (fsls FileServerLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { +// AsFileServerLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { return nil, false } -// AsDynamicsLinkedService is the BasicLinkedService implementation for FileServerLinkedService. -func (fsls FileServerLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { +// AsHDInsightLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { return nil, false } -// AsCosmosDbLinkedService is the BasicLinkedService implementation for FileServerLinkedService. -func (fsls FileServerLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { return nil, false } -// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for FileServerLinkedService. -func (fsls FileServerLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { return nil, false } -// AsAzureBatchLinkedService is the BasicLinkedService implementation for FileServerLinkedService. -func (fsls FileServerLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { +// AsDynamicsLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return &dls, true +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { return nil, false } -// AsAzureSQLMILinkedService is the BasicLinkedService implementation for FileServerLinkedService. -func (fsls FileServerLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { return nil, false } -// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for FileServerLinkedService. -func (fsls FileServerLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { +// AsAzureBatchLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { return nil, false } -// AsSQLServerLinkedService is the BasicLinkedService implementation for FileServerLinkedService. -func (fsls FileServerLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { return nil, false } -// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for FileServerLinkedService. -func (fsls FileServerLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { return nil, false } -// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for FileServerLinkedService. -func (fsls FileServerLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { +// AsSQLServerLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { return nil, false } -// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for FileServerLinkedService. -func (fsls FileServerLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { return nil, false } -// AsAzureStorageLinkedService is the BasicLinkedService implementation for FileServerLinkedService. -func (fsls FileServerLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { return nil, false } -// AsLinkedService is the BasicLinkedService implementation for FileServerLinkedService. -func (fsls FileServerLinkedService) AsLinkedService() (*LinkedService, bool) { +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { return nil, false } -// AsBasicLinkedService is the BasicLinkedService implementation for FileServerLinkedService. -func (fsls FileServerLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { - return &fsls, true +// AsAzureStorageLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false } -// UnmarshalJSON is the custom unmarshaler for FileServerLinkedService struct. -func (fsls *FileServerLinkedService) UnmarshalJSON(body []byte) error { +// AsLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for DynamicsLinkedService. +func (dls DynamicsLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &dls, true +} + +// UnmarshalJSON is the custom unmarshaler for DynamicsLinkedService struct. +func (dls *DynamicsLinkedService) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -76406,12 +80827,12 @@ func (fsls *FileServerLinkedService) UnmarshalJSON(body []byte) error { switch k { case "typeProperties": if v != nil { - var fileServerLinkedServiceTypeProperties FileServerLinkedServiceTypeProperties - err = json.Unmarshal(*v, &fileServerLinkedServiceTypeProperties) + var dynamicsLinkedServiceTypeProperties DynamicsLinkedServiceTypeProperties + err = json.Unmarshal(*v, &dynamicsLinkedServiceTypeProperties) if err != nil { return err } - fsls.FileServerLinkedServiceTypeProperties = &fileServerLinkedServiceTypeProperties + dls.DynamicsLinkedServiceTypeProperties = &dynamicsLinkedServiceTypeProperties } default: if v != nil { @@ -76420,10 +80841,10 @@ func (fsls *FileServerLinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - if fsls.AdditionalProperties == nil { - fsls.AdditionalProperties = make(map[string]interface{}) + if dls.AdditionalProperties == nil { + dls.AdditionalProperties = make(map[string]interface{}) } - fsls.AdditionalProperties[k] = additionalProperties + dls.AdditionalProperties[k] = additionalProperties } case "connectVia": if v != nil { @@ -76432,7 +80853,7 @@ func (fsls *FileServerLinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - fsls.ConnectVia = &connectVia + dls.ConnectVia = &connectVia } case "description": if v != nil { @@ -76441,7 +80862,7 @@ func (fsls *FileServerLinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - fsls.Description = &description + dls.Description = &description } case "parameters": if v != nil { @@ -76450,7 +80871,7 @@ func (fsls *FileServerLinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - fsls.Parameters = parameters + dls.Parameters = parameters } case "annotations": if v != nil { @@ -76459,7 +80880,7 @@ func (fsls *FileServerLinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - fsls.Annotations = &annotations + dls.Annotations = &annotations } case "type": if v != nil { @@ -76468,7 +80889,7 @@ func (fsls *FileServerLinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - fsls.Type = typeVar + dls.Type = typeVar } } } @@ -76476,20 +80897,36 @@ func (fsls *FileServerLinkedService) UnmarshalJSON(body []byte) error { return nil } -// FileServerLinkedServiceTypeProperties file system linked service properties. -type FileServerLinkedServiceTypeProperties struct { - // Host - Host name of the server. Type: string (or Expression with resultType string). - Host interface{} `json:"host,omitempty"` - // UserID - User ID to logon the server. Type: string (or Expression with resultType string). - UserID interface{} `json:"userId,omitempty"` - // Password - Password to logon the server. +// DynamicsLinkedServiceTypeProperties dynamics linked service properties. +type DynamicsLinkedServiceTypeProperties struct { + // DeploymentType - The deployment type of the Dynamics instance. 'Online' for Dynamics Online and 'OnPremisesWithIfd' for Dynamics on-premises with Ifd. Type: string (or Expression with resultType string). + DeploymentType interface{} `json:"deploymentType,omitempty"` + // HostName - The host name of the on-premises Dynamics server. The property is required for on-prem and not allowed for online. Type: string (or Expression with resultType string). + HostName interface{} `json:"hostName,omitempty"` + // Port - The port of on-premises Dynamics server. The property is required for on-prem and not allowed for online. Default is 443. Type: integer (or Expression with resultType integer), minimum: 0. + Port interface{} `json:"port,omitempty"` + // ServiceURI - The URL to the Microsoft Dynamics server. The property is required for on-line and not allowed for on-prem. Type: string (or Expression with resultType string). + ServiceURI interface{} `json:"serviceUri,omitempty"` + // OrganizationName - The organization name of the Dynamics instance. The property is required for on-prem and required for online when there are more than one Dynamics instances associated with the user. Type: string (or Expression with resultType string). + OrganizationName interface{} `json:"organizationName,omitempty"` + // AuthenticationType - The authentication type to connect to Dynamics server. 'Office365' for online scenario, 'Ifd' for on-premises with Ifd scenario, 'AADServicePrincipal' for Server-To-Server authentication in online scenario. Type: string (or Expression with resultType string). + AuthenticationType interface{} `json:"authenticationType,omitempty"` + // Username - User name to access the Dynamics instance. Type: string (or Expression with resultType string). + Username interface{} `json:"username,omitempty"` + // Password - Password to access the Dynamics instance. Password BasicSecretBase `json:"password,omitempty"` + // ServicePrincipalID - The client ID of the application in Azure Active Directory used for Server-To-Server authentication. Type: string (or Expression with resultType string). + ServicePrincipalID interface{} `json:"servicePrincipalId,omitempty"` + // ServicePrincipalCredentialType - The service principal credential type to use in Server-To-Server authentication. 'ServicePrincipalKey' for key/secret, 'ServicePrincipalCert' for certificate. Type: string (or Expression with resultType string). + ServicePrincipalCredentialType interface{} `json:"servicePrincipalCredentialType,omitempty"` + // ServicePrincipalCredential - The credential of the service principal object in Azure Active Directory. If servicePrincipalCredentialType is 'ServicePrincipalKey', servicePrincipalCredential can be SecureString or AzureKeyVaultSecretReference. If servicePrincipalCredentialType is 'ServicePrincipalCert', servicePrincipalCredential can only be AzureKeyVaultSecretReference. + ServicePrincipalCredential BasicSecretBase `json:"servicePrincipalCredential,omitempty"` // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` } -// UnmarshalJSON is the custom unmarshaler for FileServerLinkedServiceTypeProperties struct. -func (fslstp *FileServerLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { +// UnmarshalJSON is the custom unmarshaler for DynamicsLinkedServiceTypeProperties struct. +func (dlstp *DynamicsLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -76497,124 +80934,111 @@ func (fslstp *FileServerLinkedServiceTypeProperties) UnmarshalJSON(body []byte) } for k, v := range m { switch k { - case "host": + case "deploymentType": if v != nil { - var host interface{} - err = json.Unmarshal(*v, &host) + var deploymentType interface{} + err = json.Unmarshal(*v, &deploymentType) if err != nil { return err } - fslstp.Host = host + dlstp.DeploymentType = deploymentType } - case "userId": + case "hostName": if v != nil { - var userID interface{} - err = json.Unmarshal(*v, &userID) + var hostName interface{} + err = json.Unmarshal(*v, &hostName) if err != nil { return err } - fslstp.UserID = userID + dlstp.HostName = hostName } - case "password": + case "port": if v != nil { - password, err := unmarshalBasicSecretBase(*v) - if err != nil { + var port interface{} + err = json.Unmarshal(*v, &port) + if err != nil { return err } - fslstp.Password = password + dlstp.Port = port } - case "encryptedCredential": + case "serviceUri": if v != nil { - var encryptedCredential interface{} - err = json.Unmarshal(*v, &encryptedCredential) + var serviceURI interface{} + err = json.Unmarshal(*v, &serviceURI) if err != nil { return err } - fslstp.EncryptedCredential = encryptedCredential + dlstp.ServiceURI = serviceURI } - } - } - - return nil -} - -// FileServerLocation the location of file server dataset. -type FileServerLocation struct { - // AdditionalProperties - Unmatched properties from the message are deserialized this collection - AdditionalProperties map[string]interface{} `json:""` - // Type - Type of dataset storage location. - Type *string `json:"type,omitempty"` - // FolderPath - Specify the folder path of dataset. Type: string (or Expression with resultType string) - FolderPath interface{} `json:"folderPath,omitempty"` - // FileName - Specify the file name of dataset. Type: string (or Expression with resultType string). - FileName interface{} `json:"fileName,omitempty"` -} - -// MarshalJSON is the custom marshaler for FileServerLocation. -func (fsl FileServerLocation) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - if fsl.Type != nil { - objectMap["type"] = fsl.Type - } - if fsl.FolderPath != nil { - objectMap["folderPath"] = fsl.FolderPath - } - if fsl.FileName != nil { - objectMap["fileName"] = fsl.FileName - } - for k, v := range fsl.AdditionalProperties { - objectMap[k] = v - } - return json.Marshal(objectMap) -} - -// UnmarshalJSON is the custom unmarshaler for FileServerLocation struct. -func (fsl *FileServerLocation) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - default: + case "organizationName": if v != nil { - var additionalProperties interface{} - err = json.Unmarshal(*v, &additionalProperties) + var organizationName interface{} + err = json.Unmarshal(*v, &organizationName) if err != nil { return err } - if fsl.AdditionalProperties == nil { - fsl.AdditionalProperties = make(map[string]interface{}) + dlstp.OrganizationName = organizationName + } + case "authenticationType": + if v != nil { + var authenticationType interface{} + err = json.Unmarshal(*v, &authenticationType) + if err != nil { + return err } - fsl.AdditionalProperties[k] = additionalProperties + dlstp.AuthenticationType = authenticationType } - case "type": + case "username": if v != nil { - var typeVar string - err = json.Unmarshal(*v, &typeVar) + var username interface{} + err = json.Unmarshal(*v, &username) if err != nil { return err } - fsl.Type = &typeVar + dlstp.Username = username } - case "folderPath": + case "password": if v != nil { - var folderPath interface{} - err = json.Unmarshal(*v, &folderPath) + password, err := unmarshalBasicSecretBase(*v) if err != nil { return err } - fsl.FolderPath = folderPath + dlstp.Password = password } - case "fileName": + case "servicePrincipalId": if v != nil { - var fileName interface{} - err = json.Unmarshal(*v, &fileName) + var servicePrincipalID interface{} + err = json.Unmarshal(*v, &servicePrincipalID) if err != nil { return err } - fsl.FileName = fileName + dlstp.ServicePrincipalID = servicePrincipalID + } + case "servicePrincipalCredentialType": + if v != nil { + var servicePrincipalCredentialType interface{} + err = json.Unmarshal(*v, &servicePrincipalCredentialType) + if err != nil { + return err + } + dlstp.ServicePrincipalCredentialType = servicePrincipalCredentialType + } + case "servicePrincipalCredential": + if v != nil { + servicePrincipalCredential, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + dlstp.ServicePrincipalCredential = servicePrincipalCredential + } + case "encryptedCredential": + if v != nil { + var encryptedCredential interface{} + err = json.Unmarshal(*v, &encryptedCredential) + if err != nil { + return err + } + dlstp.EncryptedCredential = encryptedCredential } } } @@ -76622,63 +81046,249 @@ func (fsl *FileServerLocation) UnmarshalJSON(body []byte) error { return nil } -// FileServerReadSettings file server read settings. -type FileServerReadSettings struct { - // Recursive - If true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean). - Recursive interface{} `json:"recursive,omitempty"` - // WildcardFolderPath - FileServer wildcardFolderPath. Type: string (or Expression with resultType string). - WildcardFolderPath interface{} `json:"wildcardFolderPath,omitempty"` - // WildcardFileName - FileServer wildcardFileName. Type: string (or Expression with resultType string). - WildcardFileName interface{} `json:"wildcardFileName,omitempty"` - // EnablePartitionDiscovery - Indicates whether to enable partition discovery. - EnablePartitionDiscovery *bool `json:"enablePartitionDiscovery,omitempty"` - // ModifiedDatetimeStart - The start of file's modified datetime. Type: string (or Expression with resultType string). - ModifiedDatetimeStart interface{} `json:"modifiedDatetimeStart,omitempty"` - // ModifiedDatetimeEnd - The end of file's modified datetime. Type: string (or Expression with resultType string). - ModifiedDatetimeEnd interface{} `json:"modifiedDatetimeEnd,omitempty"` +// DynamicsSink a copy activity Dynamics sink. +type DynamicsSink struct { + // WriteBehavior - The write behavior for the operation. + WriteBehavior *string `json:"writeBehavior,omitempty"` + // IgnoreNullValues - The flag indicating whether ignore null values from input dataset (except key fields) during write operation. Default is false. Type: boolean (or Expression with resultType boolean). + IgnoreNullValues interface{} `json:"ignoreNullValues,omitempty"` + // AlternateKeyName - The logical name of the alternate key which will be used when upserting records. Type: string (or Expression with resultType string). + AlternateKeyName interface{} `json:"alternateKeyName,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` - // Type - The read setting type. - Type *string `json:"type,omitempty"` - // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + // WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0. + WriteBatchSize interface{} `json:"writeBatchSize,omitempty"` + // WriteBatchTimeout - Write batch timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"` + // SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer). + SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"` + // SinkRetryWait - Sink retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeCosmosDbSQLAPISink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAvroSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzureMySQLSink', 'TypeAzurePostgreSQLSink', 'TypeOrcSink', 'TypeJSONSink', 'TypeDelimitedTextSink' + Type TypeBasicCopySink `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for FileServerReadSettings. -func (fsrs FileServerReadSettings) MarshalJSON() ([]byte, error) { +// MarshalJSON is the custom marshaler for DynamicsSink. +func (ds DynamicsSink) MarshalJSON() ([]byte, error) { + ds.Type = TypeDynamicsSink objectMap := make(map[string]interface{}) - if fsrs.Recursive != nil { - objectMap["recursive"] = fsrs.Recursive + if ds.WriteBehavior != nil { + objectMap["writeBehavior"] = ds.WriteBehavior } - if fsrs.WildcardFolderPath != nil { - objectMap["wildcardFolderPath"] = fsrs.WildcardFolderPath + if ds.IgnoreNullValues != nil { + objectMap["ignoreNullValues"] = ds.IgnoreNullValues } - if fsrs.WildcardFileName != nil { - objectMap["wildcardFileName"] = fsrs.WildcardFileName + if ds.AlternateKeyName != nil { + objectMap["alternateKeyName"] = ds.AlternateKeyName } - if fsrs.EnablePartitionDiscovery != nil { - objectMap["enablePartitionDiscovery"] = fsrs.EnablePartitionDiscovery + if ds.WriteBatchSize != nil { + objectMap["writeBatchSize"] = ds.WriteBatchSize } - if fsrs.ModifiedDatetimeStart != nil { - objectMap["modifiedDatetimeStart"] = fsrs.ModifiedDatetimeStart + if ds.WriteBatchTimeout != nil { + objectMap["writeBatchTimeout"] = ds.WriteBatchTimeout } - if fsrs.ModifiedDatetimeEnd != nil { - objectMap["modifiedDatetimeEnd"] = fsrs.ModifiedDatetimeEnd + if ds.SinkRetryCount != nil { + objectMap["sinkRetryCount"] = ds.SinkRetryCount } - if fsrs.Type != nil { - objectMap["type"] = fsrs.Type + if ds.SinkRetryWait != nil { + objectMap["sinkRetryWait"] = ds.SinkRetryWait } - if fsrs.MaxConcurrentConnections != nil { - objectMap["maxConcurrentConnections"] = fsrs.MaxConcurrentConnections + if ds.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = ds.MaxConcurrentConnections } - for k, v := range fsrs.AdditionalProperties { + if ds.Type != "" { + objectMap["type"] = ds.Type + } + for k, v := range ds.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// UnmarshalJSON is the custom unmarshaler for FileServerReadSettings struct. -func (fsrs *FileServerReadSettings) UnmarshalJSON(body []byte) error { +// AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for DynamicsSink. +func (ds DynamicsSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSink is the BasicCopySink implementation for DynamicsSink. +func (ds DynamicsSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) { + return nil, false +} + +// AsSalesforceSink is the BasicCopySink implementation for DynamicsSink. +func (ds DynamicsSink) AsSalesforceSink() (*SalesforceSink, bool) { + return nil, false +} + +// AsAzureDataExplorerSink is the BasicCopySink implementation for DynamicsSink. +func (ds DynamicsSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSink is the BasicCopySink implementation for DynamicsSink. +func (ds DynamicsSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) { + return nil, false +} + +// AsDynamicsCrmSink is the BasicCopySink implementation for DynamicsSink. +func (ds DynamicsSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) { + return nil, false +} + +// AsDynamicsSink is the BasicCopySink implementation for DynamicsSink. +func (ds DynamicsSink) AsDynamicsSink() (*DynamicsSink, bool) { + return &ds, true +} + +// AsMicrosoftAccessSink is the BasicCopySink implementation for DynamicsSink. +func (ds DynamicsSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) { + return nil, false +} + +// AsInformixSink is the BasicCopySink implementation for DynamicsSink. +func (ds DynamicsSink) AsInformixSink() (*InformixSink, bool) { + return nil, false +} + +// AsOdbcSink is the BasicCopySink implementation for DynamicsSink. +func (ds DynamicsSink) AsOdbcSink() (*OdbcSink, bool) { + return nil, false +} + +// AsAzureSearchIndexSink is the BasicCopySink implementation for DynamicsSink. +func (ds DynamicsSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) { + return nil, false +} + +// AsAzureBlobFSSink is the BasicCopySink implementation for DynamicsSink. +func (ds DynamicsSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSink is the BasicCopySink implementation for DynamicsSink. +func (ds DynamicsSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) { + return nil, false +} + +// AsOracleSink is the BasicCopySink implementation for DynamicsSink. +func (ds DynamicsSink) AsOracleSink() (*OracleSink, bool) { + return nil, false +} + +// AsSQLDWSink is the BasicCopySink implementation for DynamicsSink. +func (ds DynamicsSink) AsSQLDWSink() (*SQLDWSink, bool) { + return nil, false +} + +// AsSQLMISink is the BasicCopySink implementation for DynamicsSink. +func (ds DynamicsSink) AsSQLMISink() (*SQLMISink, bool) { + return nil, false +} + +// AsAzureSQLSink is the BasicCopySink implementation for DynamicsSink. +func (ds DynamicsSink) AsAzureSQLSink() (*AzureSQLSink, bool) { + return nil, false +} + +// AsSQLServerSink is the BasicCopySink implementation for DynamicsSink. +func (ds DynamicsSink) AsSQLServerSink() (*SQLServerSink, bool) { + return nil, false +} + +// AsSQLSink is the BasicCopySink implementation for DynamicsSink. +func (ds DynamicsSink) AsSQLSink() (*SQLSink, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISink is the BasicCopySink implementation for DynamicsSink. +func (ds DynamicsSink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) { + return nil, false +} + +// AsDocumentDbCollectionSink is the BasicCopySink implementation for DynamicsSink. +func (ds DynamicsSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) { + return nil, false +} + +// AsFileSystemSink is the BasicCopySink implementation for DynamicsSink. +func (ds DynamicsSink) AsFileSystemSink() (*FileSystemSink, bool) { + return nil, false +} + +// AsBlobSink is the BasicCopySink implementation for DynamicsSink. +func (ds DynamicsSink) AsBlobSink() (*BlobSink, bool) { + return nil, false +} + +// AsBinarySink is the BasicCopySink implementation for DynamicsSink. +func (ds DynamicsSink) AsBinarySink() (*BinarySink, bool) { + return nil, false +} + +// AsParquetSink is the BasicCopySink implementation for DynamicsSink. +func (ds DynamicsSink) AsParquetSink() (*ParquetSink, bool) { + return nil, false +} + +// AsAvroSink is the BasicCopySink implementation for DynamicsSink. +func (ds DynamicsSink) AsAvroSink() (*AvroSink, bool) { + return nil, false +} + +// AsAzureTableSink is the BasicCopySink implementation for DynamicsSink. +func (ds DynamicsSink) AsAzureTableSink() (*AzureTableSink, bool) { + return nil, false +} + +// AsAzureQueueSink is the BasicCopySink implementation for DynamicsSink. +func (ds DynamicsSink) AsAzureQueueSink() (*AzureQueueSink, bool) { + return nil, false +} + +// AsSapCloudForCustomerSink is the BasicCopySink implementation for DynamicsSink. +func (ds DynamicsSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) { + return nil, false +} + +// AsAzureMySQLSink is the BasicCopySink implementation for DynamicsSink. +func (ds DynamicsSink) AsAzureMySQLSink() (*AzureMySQLSink, bool) { + return nil, false +} + +// AsAzurePostgreSQLSink is the BasicCopySink implementation for DynamicsSink. +func (ds DynamicsSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) { + return nil, false +} + +// AsOrcSink is the BasicCopySink implementation for DynamicsSink. +func (ds DynamicsSink) AsOrcSink() (*OrcSink, bool) { + return nil, false +} + +// AsJSONSink is the BasicCopySink implementation for DynamicsSink. +func (ds DynamicsSink) AsJSONSink() (*JSONSink, bool) { + return nil, false +} + +// AsDelimitedTextSink is the BasicCopySink implementation for DynamicsSink. +func (ds DynamicsSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) { + return nil, false +} + +// AsCopySink is the BasicCopySink implementation for DynamicsSink. +func (ds DynamicsSink) AsCopySink() (*CopySink, bool) { + return nil, false +} + +// AsBasicCopySink is the BasicCopySink implementation for DynamicsSink. +func (ds DynamicsSink) AsBasicCopySink() (BasicCopySink, bool) { + return &ds, true +} + +// UnmarshalJSON is the custom unmarshaler for DynamicsSink struct. +func (ds *DynamicsSink) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -76686,59 +81296,32 @@ func (fsrs *FileServerReadSettings) UnmarshalJSON(body []byte) error { } for k, v := range m { switch k { - case "recursive": - if v != nil { - var recursive interface{} - err = json.Unmarshal(*v, &recursive) - if err != nil { - return err - } - fsrs.Recursive = recursive - } - case "wildcardFolderPath": - if v != nil { - var wildcardFolderPath interface{} - err = json.Unmarshal(*v, &wildcardFolderPath) - if err != nil { - return err - } - fsrs.WildcardFolderPath = wildcardFolderPath - } - case "wildcardFileName": - if v != nil { - var wildcardFileName interface{} - err = json.Unmarshal(*v, &wildcardFileName) - if err != nil { - return err - } - fsrs.WildcardFileName = wildcardFileName - } - case "enablePartitionDiscovery": + case "writeBehavior": if v != nil { - var enablePartitionDiscovery bool - err = json.Unmarshal(*v, &enablePartitionDiscovery) + var writeBehavior string + err = json.Unmarshal(*v, &writeBehavior) if err != nil { return err } - fsrs.EnablePartitionDiscovery = &enablePartitionDiscovery + ds.WriteBehavior = &writeBehavior } - case "modifiedDatetimeStart": + case "ignoreNullValues": if v != nil { - var modifiedDatetimeStart interface{} - err = json.Unmarshal(*v, &modifiedDatetimeStart) + var ignoreNullValues interface{} + err = json.Unmarshal(*v, &ignoreNullValues) if err != nil { return err } - fsrs.ModifiedDatetimeStart = modifiedDatetimeStart + ds.IgnoreNullValues = ignoreNullValues } - case "modifiedDatetimeEnd": + case "alternateKeyName": if v != nil { - var modifiedDatetimeEnd interface{} - err = json.Unmarshal(*v, &modifiedDatetimeEnd) + var alternateKeyName interface{} + err = json.Unmarshal(*v, &alternateKeyName) if err != nil { return err } - fsrs.ModifiedDatetimeEnd = modifiedDatetimeEnd + ds.AlternateKeyName = alternateKeyName } default: if v != nil { @@ -76747,94 +81330,46 @@ func (fsrs *FileServerReadSettings) UnmarshalJSON(body []byte) error { if err != nil { return err } - if fsrs.AdditionalProperties == nil { - fsrs.AdditionalProperties = make(map[string]interface{}) + if ds.AdditionalProperties == nil { + ds.AdditionalProperties = make(map[string]interface{}) } - fsrs.AdditionalProperties[k] = additionalProperties + ds.AdditionalProperties[k] = additionalProperties } - case "type": + case "writeBatchSize": if v != nil { - var typeVar string - err = json.Unmarshal(*v, &typeVar) + var writeBatchSize interface{} + err = json.Unmarshal(*v, &writeBatchSize) if err != nil { return err } - fsrs.Type = &typeVar + ds.WriteBatchSize = writeBatchSize } - case "maxConcurrentConnections": + case "writeBatchTimeout": if v != nil { - var maxConcurrentConnections interface{} - err = json.Unmarshal(*v, &maxConcurrentConnections) + var writeBatchTimeout interface{} + err = json.Unmarshal(*v, &writeBatchTimeout) if err != nil { return err } - fsrs.MaxConcurrentConnections = maxConcurrentConnections + ds.WriteBatchTimeout = writeBatchTimeout } - } - } - - return nil -} - -// FileServerWriteSettings file server write settings. -type FileServerWriteSettings struct { - // AdditionalProperties - Unmatched properties from the message are deserialized this collection - AdditionalProperties map[string]interface{} `json:""` - // Type - The write setting type. - Type *string `json:"type,omitempty"` - // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). - MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // CopyBehavior - The type of copy behavior for copy sink. - CopyBehavior interface{} `json:"copyBehavior,omitempty"` -} - -// MarshalJSON is the custom marshaler for FileServerWriteSettings. -func (fsws FileServerWriteSettings) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - if fsws.Type != nil { - objectMap["type"] = fsws.Type - } - if fsws.MaxConcurrentConnections != nil { - objectMap["maxConcurrentConnections"] = fsws.MaxConcurrentConnections - } - if fsws.CopyBehavior != nil { - objectMap["copyBehavior"] = fsws.CopyBehavior - } - for k, v := range fsws.AdditionalProperties { - objectMap[k] = v - } - return json.Marshal(objectMap) -} - -// UnmarshalJSON is the custom unmarshaler for FileServerWriteSettings struct. -func (fsws *FileServerWriteSettings) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - default: + case "sinkRetryCount": if v != nil { - var additionalProperties interface{} - err = json.Unmarshal(*v, &additionalProperties) + var sinkRetryCount interface{} + err = json.Unmarshal(*v, &sinkRetryCount) if err != nil { return err } - if fsws.AdditionalProperties == nil { - fsws.AdditionalProperties = make(map[string]interface{}) - } - fsws.AdditionalProperties[k] = additionalProperties + ds.SinkRetryCount = sinkRetryCount } - case "type": + case "sinkRetryWait": if v != nil { - var typeVar string - err = json.Unmarshal(*v, &typeVar) + var sinkRetryWait interface{} + err = json.Unmarshal(*v, &sinkRetryWait) if err != nil { return err } - fsws.Type = &typeVar + ds.SinkRetryWait = sinkRetryWait } case "maxConcurrentConnections": if v != nil { @@ -76843,16 +81378,16 @@ func (fsws *FileServerWriteSettings) UnmarshalJSON(body []byte) error { if err != nil { return err } - fsws.MaxConcurrentConnections = maxConcurrentConnections + ds.MaxConcurrentConnections = maxConcurrentConnections } - case "copyBehavior": + case "type": if v != nil { - var copyBehavior interface{} - err = json.Unmarshal(*v, ©Behavior) + var typeVar TypeBasicCopySink + err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - fsws.CopyBehavior = copyBehavior + ds.Type = typeVar } } } @@ -76860,489 +81395,499 @@ func (fsws *FileServerWriteSettings) UnmarshalJSON(body []byte) error { return nil } -// FileShareDataset an on-premises file system dataset. -type FileShareDataset struct { - // FileShareDatasetTypeProperties - On-premises file system dataset properties. - *FileShareDatasetTypeProperties `json:"typeProperties,omitempty"` +// DynamicsSource a copy activity Dynamics source. +type DynamicsSource struct { + // Query - FetchXML is a proprietary query language that is used in Microsoft Dynamics (online & on-premises). Type: string (or Expression with resultType string). + Query interface{} `json:"query,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` - // Description - Dataset description. - Description *string `json:"description,omitempty"` - // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. - Structure interface{} `json:"structure,omitempty"` - // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. - Schema interface{} `json:"schema,omitempty"` - // LinkedServiceName - Linked service reference. - LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` - // Parameters - Parameters for dataset. - Parameters map[string]*ParameterSpecification `json:"parameters"` - // Annotations - List of tags that can be used for describing the Dataset. - Annotations *[]interface{} `json:"annotations,omitempty"` - // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. - Folder *DatasetFolder `json:"folder,omitempty"` - // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' - Type TypeBasicDataset `json:"type,omitempty"` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' + Type TypeBasicCopySource `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for FileShareDataset. -func (fsd FileShareDataset) MarshalJSON() ([]byte, error) { - fsd.Type = TypeFileShare +// MarshalJSON is the custom marshaler for DynamicsSource. +func (ds DynamicsSource) MarshalJSON() ([]byte, error) { + ds.Type = TypeDynamicsSource objectMap := make(map[string]interface{}) - if fsd.FileShareDatasetTypeProperties != nil { - objectMap["typeProperties"] = fsd.FileShareDatasetTypeProperties - } - if fsd.Description != nil { - objectMap["description"] = fsd.Description - } - if fsd.Structure != nil { - objectMap["structure"] = fsd.Structure - } - if fsd.Schema != nil { - objectMap["schema"] = fsd.Schema - } - if fsd.LinkedServiceName != nil { - objectMap["linkedServiceName"] = fsd.LinkedServiceName + if ds.Query != nil { + objectMap["query"] = ds.Query } - if fsd.Parameters != nil { - objectMap["parameters"] = fsd.Parameters + if ds.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = ds.SourceRetryCount } - if fsd.Annotations != nil { - objectMap["annotations"] = fsd.Annotations + if ds.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = ds.SourceRetryWait } - if fsd.Folder != nil { - objectMap["folder"] = fsd.Folder + if ds.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = ds.MaxConcurrentConnections } - if fsd.Type != "" { - objectMap["type"] = fsd.Type + if ds.Type != "" { + objectMap["type"] = ds.Type } - for k, v := range fsd.AdditionalProperties { + for k, v := range ds.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for FileShareDataset. -func (fsd FileShareDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { +// AsHTTPSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsHTTPSource() (*HTTPSource, bool) { return nil, false } -// AsAzureDataExplorerTableDataset is the BasicDataset implementation for FileShareDataset. -func (fsd FileShareDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { +// AsAzureBlobFSSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { return nil, false } -// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for FileShareDataset. -func (fsd FileShareDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { return nil, false } -// AsDynamicsAXResourceDataset is the BasicDataset implementation for FileShareDataset. -func (fsd FileShareDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { +// AsOffice365Source is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsOffice365Source() (*Office365Source, bool) { return nil, false } -// AsResponsysObjectDataset is the BasicDataset implementation for FileShareDataset. -func (fsd FileShareDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { return nil, false } -// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for FileShareDataset. -func (fsd FileShareDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { +// AsMongoDbV2Source is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { return nil, false } -// AsVerticaTableDataset is the BasicDataset implementation for FileShareDataset. -func (fsd FileShareDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { +// AsMongoDbSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsMongoDbSource() (*MongoDbSource, bool) { return nil, false } -// AsNetezzaTableDataset is the BasicDataset implementation for FileShareDataset. -func (fsd FileShareDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { +// AsWebSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsWebSource() (*WebSource, bool) { return nil, false } -// AsZohoObjectDataset is the BasicDataset implementation for FileShareDataset. -func (fsd FileShareDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { +// AsOracleSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsOracleSource() (*OracleSource, bool) { return nil, false } -// AsXeroObjectDataset is the BasicDataset implementation for FileShareDataset. -func (fsd FileShareDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { +// AsAzureDataExplorerSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { return nil, false } -// AsSquareObjectDataset is the BasicDataset implementation for FileShareDataset. -func (fsd FileShareDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { +// AsHdfsSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsHdfsSource() (*HdfsSource, bool) { return nil, false } -// AsSparkObjectDataset is the BasicDataset implementation for FileShareDataset. -func (fsd FileShareDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { +// AsFileSystemSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsFileSystemSource() (*FileSystemSource, bool) { return nil, false } -// AsShopifyObjectDataset is the BasicDataset implementation for FileShareDataset. -func (fsd FileShareDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { +// AsRestSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsRestSource() (*RestSource, bool) { return nil, false } -// AsServiceNowObjectDataset is the BasicDataset implementation for FileShareDataset. -func (fsd FileShareDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { return nil, false } -// AsQuickBooksObjectDataset is the BasicDataset implementation for FileShareDataset. -func (fsd FileShareDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { +// AsODataSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsODataSource() (*ODataSource, bool) { return nil, false } -// AsPrestoObjectDataset is the BasicDataset implementation for FileShareDataset. -func (fsd FileShareDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { +// AsMicrosoftAccessSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { return nil, false } -// AsPhoenixObjectDataset is the BasicDataset implementation for FileShareDataset. -func (fsd FileShareDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { +// AsRelationalSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsRelationalSource() (*RelationalSource, bool) { return nil, false } -// AsPaypalObjectDataset is the BasicDataset implementation for FileShareDataset. -func (fsd FileShareDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { return nil, false } -// AsMarketoObjectDataset is the BasicDataset implementation for FileShareDataset. -func (fsd FileShareDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { +// AsDynamicsCrmSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { return nil, false } -// AsAzureMariaDBTableDataset is the BasicDataset implementation for FileShareDataset. -func (fsd FileShareDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { +// AsDynamicsSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsDynamicsSource() (*DynamicsSource, bool) { + return &ds, true +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { return nil, false } -// AsMariaDBTableDataset is the BasicDataset implementation for FileShareDataset. -func (fsd FileShareDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { +// AsDocumentDbCollectionSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { return nil, false } -// AsMagentoObjectDataset is the BasicDataset implementation for FileShareDataset. -func (fsd FileShareDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { +// AsBlobSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsBlobSource() (*BlobSource, bool) { return nil, false } -// AsJiraObjectDataset is the BasicDataset implementation for FileShareDataset. -func (fsd FileShareDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { +// AsAmazonRedshiftSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { return nil, false } -// AsImpalaObjectDataset is the BasicDataset implementation for FileShareDataset. -func (fsd FileShareDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { +// AsGoogleAdWordsSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { return nil, false } -// AsHubspotObjectDataset is the BasicDataset implementation for FileShareDataset. -func (fsd FileShareDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { +// AsOracleServiceCloudSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { return nil, false } -// AsHiveObjectDataset is the BasicDataset implementation for FileShareDataset. -func (fsd FileShareDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { +// AsDynamicsAXSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { return nil, false } -// AsHBaseObjectDataset is the BasicDataset implementation for FileShareDataset. -func (fsd FileShareDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { +// AsResponsysSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsResponsysSource() (*ResponsysSource, bool) { return nil, false } -// AsGreenplumTableDataset is the BasicDataset implementation for FileShareDataset. -func (fsd FileShareDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { return nil, false } -// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for FileShareDataset. -func (fsd FileShareDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { +// AsVerticaSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsVerticaSource() (*VerticaSource, bool) { return nil, false } -// AsEloquaObjectDataset is the BasicDataset implementation for FileShareDataset. -func (fsd FileShareDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { +// AsNetezzaSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsNetezzaSource() (*NetezzaSource, bool) { return nil, false } -// AsDrillTableDataset is the BasicDataset implementation for FileShareDataset. -func (fsd FileShareDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { +// AsZohoSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsZohoSource() (*ZohoSource, bool) { return nil, false } -// AsCouchbaseTableDataset is the BasicDataset implementation for FileShareDataset. -func (fsd FileShareDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { +// AsXeroSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsXeroSource() (*XeroSource, bool) { return nil, false } -// AsConcurObjectDataset is the BasicDataset implementation for FileShareDataset. -func (fsd FileShareDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { +// AsSquareSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsSquareSource() (*SquareSource, bool) { return nil, false } -// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for FileShareDataset. -func (fsd FileShareDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { +// AsSparkSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsSparkSource() (*SparkSource, bool) { return nil, false } -// AsAmazonMWSObjectDataset is the BasicDataset implementation for FileShareDataset. -func (fsd FileShareDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { +// AsShopifySource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsShopifySource() (*ShopifySource, bool) { return nil, false } -// AsHTTPDataset is the BasicDataset implementation for FileShareDataset. -func (fsd FileShareDataset) AsHTTPDataset() (*HTTPDataset, bool) { +// AsServiceNowSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsServiceNowSource() (*ServiceNowSource, bool) { return nil, false } -// AsAzureSearchIndexDataset is the BasicDataset implementation for FileShareDataset. -func (fsd FileShareDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { +// AsQuickBooksSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsQuickBooksSource() (*QuickBooksSource, bool) { return nil, false } -// AsWebTableDataset is the BasicDataset implementation for FileShareDataset. -func (fsd FileShareDataset) AsWebTableDataset() (*WebTableDataset, bool) { +// AsPrestoSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsPrestoSource() (*PrestoSource, bool) { return nil, false } -// AsSapTableResourceDataset is the BasicDataset implementation for FileShareDataset. -func (fsd FileShareDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { +// AsPhoenixSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsPhoenixSource() (*PhoenixSource, bool) { return nil, false } -// AsRestResourceDataset is the BasicDataset implementation for FileShareDataset. -func (fsd FileShareDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { +// AsPaypalSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsPaypalSource() (*PaypalSource, bool) { return nil, false } -// AsSQLServerTableDataset is the BasicDataset implementation for FileShareDataset. -func (fsd FileShareDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { +// AsMarketoSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsMarketoSource() (*MarketoSource, bool) { return nil, false } -// AsSapOpenHubTableDataset is the BasicDataset implementation for FileShareDataset. -func (fsd FileShareDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { +// AsAzureMariaDBSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { return nil, false } -// AsSapHanaTableDataset is the BasicDataset implementation for FileShareDataset. -func (fsd FileShareDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { +// AsMariaDBSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsMariaDBSource() (*MariaDBSource, bool) { return nil, false } -// AsSapEccResourceDataset is the BasicDataset implementation for FileShareDataset. -func (fsd FileShareDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { +// AsMagentoSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsMagentoSource() (*MagentoSource, bool) { return nil, false } -// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for FileShareDataset. -func (fsd FileShareDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { +// AsJiraSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsJiraSource() (*JiraSource, bool) { return nil, false } -// AsSapBwCubeDataset is the BasicDataset implementation for FileShareDataset. -func (fsd FileShareDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { +// AsImpalaSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsImpalaSource() (*ImpalaSource, bool) { return nil, false } -// AsSybaseTableDataset is the BasicDataset implementation for FileShareDataset. -func (fsd FileShareDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { +// AsHubspotSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsHubspotSource() (*HubspotSource, bool) { return nil, false } -// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for FileShareDataset. -func (fsd FileShareDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { +// AsHiveSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsHiveSource() (*HiveSource, bool) { return nil, false } -// AsSalesforceObjectDataset is the BasicDataset implementation for FileShareDataset. -func (fsd FileShareDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { +// AsHBaseSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsHBaseSource() (*HBaseSource, bool) { return nil, false } -// AsMicrosoftAccessTableDataset is the BasicDataset implementation for FileShareDataset. -func (fsd FileShareDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { +// AsGreenplumSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsGreenplumSource() (*GreenplumSource, bool) { return nil, false } -// AsPostgreSQLTableDataset is the BasicDataset implementation for FileShareDataset. -func (fsd FileShareDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { +// AsGoogleBigQuerySource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { return nil, false } -// AsMySQLTableDataset is the BasicDataset implementation for FileShareDataset. -func (fsd FileShareDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { +// AsEloquaSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsEloquaSource() (*EloquaSource, bool) { return nil, false } -// AsOdbcTableDataset is the BasicDataset implementation for FileShareDataset. -func (fsd FileShareDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { +// AsDrillSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsDrillSource() (*DrillSource, bool) { return nil, false } -// AsInformixTableDataset is the BasicDataset implementation for FileShareDataset. -func (fsd FileShareDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { +// AsCouchbaseSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsCouchbaseSource() (*CouchbaseSource, bool) { return nil, false } -// AsRelationalTableDataset is the BasicDataset implementation for FileShareDataset. -func (fsd FileShareDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { +// AsConcurSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsConcurSource() (*ConcurSource, bool) { return nil, false } -// AsAzureMySQLTableDataset is the BasicDataset implementation for FileShareDataset. -func (fsd FileShareDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { +// AsAzurePostgreSQLSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { return nil, false } -// AsTeradataTableDataset is the BasicDataset implementation for FileShareDataset. -func (fsd FileShareDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { +// AsAmazonMWSSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { return nil, false } -// AsOracleTableDataset is the BasicDataset implementation for FileShareDataset. -func (fsd FileShareDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { +// AsCassandraSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsCassandraSource() (*CassandraSource, bool) { return nil, false } -// AsODataResourceDataset is the BasicDataset implementation for FileShareDataset. -func (fsd FileShareDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { +// AsTeradataSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsTeradataSource() (*TeradataSource, bool) { return nil, false } -// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for FileShareDataset. -func (fsd FileShareDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { +// AsAzureMySQLSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { return nil, false } -// AsMongoDbV2CollectionDataset is the BasicDataset implementation for FileShareDataset. -func (fsd FileShareDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { +// AsSQLDWSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsSQLDWSource() (*SQLDWSource, bool) { return nil, false } -// AsMongoDbCollectionDataset is the BasicDataset implementation for FileShareDataset. -func (fsd FileShareDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { +// AsSQLMISource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsSQLMISource() (*SQLMISource, bool) { return nil, false } -// AsFileShareDataset is the BasicDataset implementation for FileShareDataset. -func (fsd FileShareDataset) AsFileShareDataset() (*FileShareDataset, bool) { - return &fsd, true +// AsAzureSQLSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsAzureSQLSource() (*AzureSQLSource, bool) { + return nil, false } -// AsOffice365Dataset is the BasicDataset implementation for FileShareDataset. -func (fsd FileShareDataset) AsOffice365Dataset() (*Office365Dataset, bool) { +// AsSQLServerSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsSQLServerSource() (*SQLServerSource, bool) { return nil, false } -// AsAzureBlobFSDataset is the BasicDataset implementation for FileShareDataset. -func (fsd FileShareDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) { +// AsSQLSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsSQLSource() (*SQLSource, bool) { return nil, false } -// AsAzureDataLakeStoreDataset is the BasicDataset implementation for FileShareDataset. -func (fsd FileShareDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) { +// AsSapTableSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsSapTableSource() (*SapTableSource, bool) { return nil, false } -// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for FileShareDataset. -func (fsd FileShareDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { +// AsSapOpenHubSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { return nil, false } -// AsDynamicsCrmEntityDataset is the BasicDataset implementation for FileShareDataset. -func (fsd FileShareDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { +// AsSapHanaSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsSapHanaSource() (*SapHanaSource, bool) { return nil, false } -// AsDynamicsEntityDataset is the BasicDataset implementation for FileShareDataset. -func (fsd FileShareDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { +// AsSapEccSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsSapEccSource() (*SapEccSource, bool) { return nil, false } -// AsDocumentDbCollectionDataset is the BasicDataset implementation for FileShareDataset. -func (fsd FileShareDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { +// AsSapCloudForCustomerSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { return nil, false } -// AsCustomDataset is the BasicDataset implementation for FileShareDataset. -func (fsd FileShareDataset) AsCustomDataset() (*CustomDataset, bool) { +// AsSalesforceSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsSalesforceSource() (*SalesforceSource, bool) { return nil, false } -// AsCassandraTableDataset is the BasicDataset implementation for FileShareDataset. -func (fsd FileShareDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { +// AsSapBwSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsSapBwSource() (*SapBwSource, bool) { return nil, false } -// AsAzureSQLDWTableDataset is the BasicDataset implementation for FileShareDataset. -func (fsd FileShareDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { +// AsSybaseSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsSybaseSource() (*SybaseSource, bool) { return nil, false } -// AsAzureSQLMITableDataset is the BasicDataset implementation for FileShareDataset. -func (fsd FileShareDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { +// AsPostgreSQLSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { return nil, false } -// AsAzureSQLTableDataset is the BasicDataset implementation for FileShareDataset. -func (fsd FileShareDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { +// AsMySQLSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsMySQLSource() (*MySQLSource, bool) { return nil, false } -// AsAzureTableDataset is the BasicDataset implementation for FileShareDataset. -func (fsd FileShareDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { +// AsOdbcSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsOdbcSource() (*OdbcSource, bool) { return nil, false } -// AsAzureBlobDataset is the BasicDataset implementation for FileShareDataset. -func (fsd FileShareDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) { +// AsDb2Source is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsDb2Source() (*Db2Source, bool) { return nil, false } -// AsBinaryDataset is the BasicDataset implementation for FileShareDataset. -func (fsd FileShareDataset) AsBinaryDataset() (*BinaryDataset, bool) { +// AsInformixSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsInformixSource() (*InformixSource, bool) { return nil, false } -// AsDelimitedTextDataset is the BasicDataset implementation for FileShareDataset. -func (fsd FileShareDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { +// AsAzureTableSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsAzureTableSource() (*AzureTableSource, bool) { return nil, false } -// AsParquetDataset is the BasicDataset implementation for FileShareDataset. -func (fsd FileShareDataset) AsParquetDataset() (*ParquetDataset, bool) { +// AsTabularSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsTabularSource() (*TabularSource, bool) { return nil, false } -// AsAvroDataset is the BasicDataset implementation for FileShareDataset. -func (fsd FileShareDataset) AsAvroDataset() (*AvroDataset, bool) { +// AsBasicTabularSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsBasicTabularSource() (BasicTabularSource, bool) { return nil, false } -// AsAmazonS3Dataset is the BasicDataset implementation for FileShareDataset. -func (fsd FileShareDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) { +// AsBinarySource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsBinarySource() (*BinarySource, bool) { return nil, false } -// AsDataset is the BasicDataset implementation for FileShareDataset. -func (fsd FileShareDataset) AsDataset() (*Dataset, bool) { +// AsOrcSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsOrcSource() (*OrcSource, bool) { return nil, false } -// AsBasicDataset is the BasicDataset implementation for FileShareDataset. -func (fsd FileShareDataset) AsBasicDataset() (BasicDataset, bool) { - return &fsd, true +// AsJSONSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsJSONSource() (*JSONSource, bool) { + return nil, false } -// UnmarshalJSON is the custom unmarshaler for FileShareDataset struct. -func (fsd *FileShareDataset) UnmarshalJSON(body []byte) error { +// AsDelimitedTextSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false +} + +// AsParquetSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for DynamicsSource. +func (ds DynamicsSource) AsBasicCopySource() (BasicCopySource, bool) { + return &ds, true +} + +// UnmarshalJSON is the custom unmarshaler for DynamicsSource struct. +func (ds *DynamicsSource) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -77350,14 +81895,14 @@ func (fsd *FileShareDataset) UnmarshalJSON(body []byte) error { } for k, v := range m { switch k { - case "typeProperties": + case "query": if v != nil { - var fileShareDatasetTypeProperties FileShareDatasetTypeProperties - err = json.Unmarshal(*v, &fileShareDatasetTypeProperties) + var query interface{} + err = json.Unmarshal(*v, &query) if err != nil { return err } - fsd.FileShareDatasetTypeProperties = &fileShareDatasetTypeProperties + ds.Query = query } default: if v != nil { @@ -77366,82 +81911,46 @@ func (fsd *FileShareDataset) UnmarshalJSON(body []byte) error { if err != nil { return err } - if fsd.AdditionalProperties == nil { - fsd.AdditionalProperties = make(map[string]interface{}) - } - fsd.AdditionalProperties[k] = additionalProperties - } - case "description": - if v != nil { - var description string - err = json.Unmarshal(*v, &description) - if err != nil { - return err - } - fsd.Description = &description - } - case "structure": - if v != nil { - var structure interface{} - err = json.Unmarshal(*v, &structure) - if err != nil { - return err - } - fsd.Structure = structure - } - case "schema": - if v != nil { - var schema interface{} - err = json.Unmarshal(*v, &schema) - if err != nil { - return err - } - fsd.Schema = schema - } - case "linkedServiceName": - if v != nil { - var linkedServiceName LinkedServiceReference - err = json.Unmarshal(*v, &linkedServiceName) - if err != nil { - return err + if ds.AdditionalProperties == nil { + ds.AdditionalProperties = make(map[string]interface{}) } - fsd.LinkedServiceName = &linkedServiceName + ds.AdditionalProperties[k] = additionalProperties } - case "parameters": + case "sourceRetryCount": if v != nil { - var parameters map[string]*ParameterSpecification - err = json.Unmarshal(*v, ¶meters) + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) if err != nil { return err } - fsd.Parameters = parameters + ds.SourceRetryCount = sourceRetryCount } - case "annotations": + case "sourceRetryWait": if v != nil { - var annotations []interface{} - err = json.Unmarshal(*v, &annotations) + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) if err != nil { return err } - fsd.Annotations = &annotations + ds.SourceRetryWait = sourceRetryWait } - case "folder": + case "maxConcurrentConnections": if v != nil { - var folder DatasetFolder - err = json.Unmarshal(*v, &folder) + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) if err != nil { return err } - fsd.Folder = &folder + ds.MaxConcurrentConnections = maxConcurrentConnections } case "type": if v != nil { - var typeVar TypeBasicDataset + var typeVar TypeBasicCopySource err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - fsd.Type = typeVar + ds.Type = typeVar } } } @@ -77449,869 +81958,534 @@ func (fsd *FileShareDataset) UnmarshalJSON(body []byte) error { return nil } -// FileShareDatasetTypeProperties on-premises file system dataset properties. -type FileShareDatasetTypeProperties struct { - // FolderPath - The path of the on-premises file system. Type: string (or Expression with resultType string). - FolderPath interface{} `json:"folderPath,omitempty"` - // FileName - The name of the on-premises file system. Type: string (or Expression with resultType string). - FileName interface{} `json:"fileName,omitempty"` - // ModifiedDatetimeStart - The start of file's modified datetime. Type: string (or Expression with resultType string). - ModifiedDatetimeStart interface{} `json:"modifiedDatetimeStart,omitempty"` - // ModifiedDatetimeEnd - The end of file's modified datetime. Type: string (or Expression with resultType string). - ModifiedDatetimeEnd interface{} `json:"modifiedDatetimeEnd,omitempty"` - // Format - The format of the files. - Format BasicDatasetStorageFormat `json:"format,omitempty"` - // FileFilter - Specify a filter to be used to select a subset of files in the folderPath rather than all files. Type: string (or Expression with resultType string). - FileFilter interface{} `json:"fileFilter,omitempty"` - // Compression - The data compression method used for the file system. - Compression BasicDatasetCompression `json:"compression,omitempty"` -} - -// UnmarshalJSON is the custom unmarshaler for FileShareDatasetTypeProperties struct. -func (fsdtp *FileShareDatasetTypeProperties) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - case "folderPath": - if v != nil { - var folderPath interface{} - err = json.Unmarshal(*v, &folderPath) - if err != nil { - return err - } - fsdtp.FolderPath = folderPath - } - case "fileName": - if v != nil { - var fileName interface{} - err = json.Unmarshal(*v, &fileName) - if err != nil { - return err - } - fsdtp.FileName = fileName - } - case "modifiedDatetimeStart": - if v != nil { - var modifiedDatetimeStart interface{} - err = json.Unmarshal(*v, &modifiedDatetimeStart) - if err != nil { - return err - } - fsdtp.ModifiedDatetimeStart = modifiedDatetimeStart - } - case "modifiedDatetimeEnd": - if v != nil { - var modifiedDatetimeEnd interface{} - err = json.Unmarshal(*v, &modifiedDatetimeEnd) - if err != nil { - return err - } - fsdtp.ModifiedDatetimeEnd = modifiedDatetimeEnd - } - case "format": - if v != nil { - formatVar, err := unmarshalBasicDatasetStorageFormat(*v) - if err != nil { - return err - } - fsdtp.Format = formatVar - } - case "fileFilter": - if v != nil { - var fileFilter interface{} - err = json.Unmarshal(*v, &fileFilter) - if err != nil { - return err - } - fsdtp.FileFilter = fileFilter - } - case "compression": - if v != nil { - compression, err := unmarshalBasicDatasetCompression(*v) - if err != nil { - return err - } - fsdtp.Compression = compression - } - } - } - - return nil -} - -// FileSystemSink a copy activity file system sink. -type FileSystemSink struct { - // CopyBehavior - The type of copy behavior for copy sink. - CopyBehavior interface{} `json:"copyBehavior,omitempty"` +// EloquaLinkedService eloqua server linked service. +type EloquaLinkedService struct { + // EloquaLinkedServiceTypeProperties - Eloqua server linked service properties. + *EloquaLinkedServiceTypeProperties `json:"typeProperties,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` - // WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0. - WriteBatchSize interface{} `json:"writeBatchSize,omitempty"` - // WriteBatchTimeout - Write batch timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). - WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"` - // SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer). - SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"` - // SinkRetryWait - Sink retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). - SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"` - // MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). - MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAvroSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzurePostgreSQLSink', 'TypeDelimitedTextSink' - Type TypeBasicCopySink `json:"type,omitempty"` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' + Type TypeBasicLinkedService `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for FileSystemSink. -func (fss FileSystemSink) MarshalJSON() ([]byte, error) { - fss.Type = TypeFileSystemSink +// MarshalJSON is the custom marshaler for EloquaLinkedService. +func (els EloquaLinkedService) MarshalJSON() ([]byte, error) { + els.Type = TypeEloqua objectMap := make(map[string]interface{}) - if fss.CopyBehavior != nil { - objectMap["copyBehavior"] = fss.CopyBehavior - } - if fss.WriteBatchSize != nil { - objectMap["writeBatchSize"] = fss.WriteBatchSize + if els.EloquaLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = els.EloquaLinkedServiceTypeProperties } - if fss.WriteBatchTimeout != nil { - objectMap["writeBatchTimeout"] = fss.WriteBatchTimeout + if els.ConnectVia != nil { + objectMap["connectVia"] = els.ConnectVia } - if fss.SinkRetryCount != nil { - objectMap["sinkRetryCount"] = fss.SinkRetryCount + if els.Description != nil { + objectMap["description"] = els.Description } - if fss.SinkRetryWait != nil { - objectMap["sinkRetryWait"] = fss.SinkRetryWait + if els.Parameters != nil { + objectMap["parameters"] = els.Parameters } - if fss.MaxConcurrentConnections != nil { - objectMap["maxConcurrentConnections"] = fss.MaxConcurrentConnections + if els.Annotations != nil { + objectMap["annotations"] = els.Annotations } - if fss.Type != "" { - objectMap["type"] = fss.Type + if els.Type != "" { + objectMap["type"] = els.Type } - for k, v := range fss.AdditionalProperties { + for k, v := range els.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for FileSystemSink. -func (fss FileSystemSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) { - return nil, false -} - -// AsSalesforceServiceCloudSink is the BasicCopySink implementation for FileSystemSink. -func (fss FileSystemSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) { - return nil, false -} - -// AsSalesforceSink is the BasicCopySink implementation for FileSystemSink. -func (fss FileSystemSink) AsSalesforceSink() (*SalesforceSink, bool) { - return nil, false -} - -// AsAzureDataExplorerSink is the BasicCopySink implementation for FileSystemSink. -func (fss FileSystemSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) { - return nil, false -} - -// AsCommonDataServiceForAppsSink is the BasicCopySink implementation for FileSystemSink. -func (fss FileSystemSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) { - return nil, false -} - -// AsDynamicsCrmSink is the BasicCopySink implementation for FileSystemSink. -func (fss FileSystemSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) { - return nil, false -} - -// AsDynamicsSink is the BasicCopySink implementation for FileSystemSink. -func (fss FileSystemSink) AsDynamicsSink() (*DynamicsSink, bool) { - return nil, false -} - -// AsMicrosoftAccessSink is the BasicCopySink implementation for FileSystemSink. -func (fss FileSystemSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) { - return nil, false -} - -// AsInformixSink is the BasicCopySink implementation for FileSystemSink. -func (fss FileSystemSink) AsInformixSink() (*InformixSink, bool) { - return nil, false -} - -// AsOdbcSink is the BasicCopySink implementation for FileSystemSink. -func (fss FileSystemSink) AsOdbcSink() (*OdbcSink, bool) { - return nil, false -} - -// AsAzureSearchIndexSink is the BasicCopySink implementation for FileSystemSink. -func (fss FileSystemSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) { - return nil, false -} - -// AsAzureBlobFSSink is the BasicCopySink implementation for FileSystemSink. -func (fss FileSystemSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) { - return nil, false -} - -// AsAzureDataLakeStoreSink is the BasicCopySink implementation for FileSystemSink. -func (fss FileSystemSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) { - return nil, false -} - -// AsOracleSink is the BasicCopySink implementation for FileSystemSink. -func (fss FileSystemSink) AsOracleSink() (*OracleSink, bool) { - return nil, false -} - -// AsSQLDWSink is the BasicCopySink implementation for FileSystemSink. -func (fss FileSystemSink) AsSQLDWSink() (*SQLDWSink, bool) { - return nil, false -} - -// AsSQLMISink is the BasicCopySink implementation for FileSystemSink. -func (fss FileSystemSink) AsSQLMISink() (*SQLMISink, bool) { - return nil, false -} - -// AsAzureSQLSink is the BasicCopySink implementation for FileSystemSink. -func (fss FileSystemSink) AsAzureSQLSink() (*AzureSQLSink, bool) { - return nil, false -} - -// AsSQLServerSink is the BasicCopySink implementation for FileSystemSink. -func (fss FileSystemSink) AsSQLServerSink() (*SQLServerSink, bool) { - return nil, false -} - -// AsSQLSink is the BasicCopySink implementation for FileSystemSink. -func (fss FileSystemSink) AsSQLSink() (*SQLSink, bool) { +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { return nil, false } -// AsDocumentDbCollectionSink is the BasicCopySink implementation for FileSystemSink. -func (fss FileSystemSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) { +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { return nil, false } -// AsFileSystemSink is the BasicCopySink implementation for FileSystemSink. -func (fss FileSystemSink) AsFileSystemSink() (*FileSystemSink, bool) { - return &fss, true -} - -// AsBlobSink is the BasicCopySink implementation for FileSystemSink. -func (fss FileSystemSink) AsBlobSink() (*BlobSink, bool) { +// AsSapTableLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { return nil, false } -// AsBinarySink is the BasicCopySink implementation for FileSystemSink. -func (fss FileSystemSink) AsBinarySink() (*BinarySink, bool) { +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { return nil, false } -// AsParquetSink is the BasicCopySink implementation for FileSystemSink. -func (fss FileSystemSink) AsParquetSink() (*ParquetSink, bool) { +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { return nil, false } -// AsAvroSink is the BasicCopySink implementation for FileSystemSink. -func (fss FileSystemSink) AsAvroSink() (*AvroSink, bool) { +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { return nil, false } -// AsAzureTableSink is the BasicCopySink implementation for FileSystemSink. -func (fss FileSystemSink) AsAzureTableSink() (*AzureTableSink, bool) { +// AsResponsysLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { return nil, false } -// AsAzureQueueSink is the BasicCopySink implementation for FileSystemSink. -func (fss FileSystemSink) AsAzureQueueSink() (*AzureQueueSink, bool) { +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { return nil, false } -// AsSapCloudForCustomerSink is the BasicCopySink implementation for FileSystemSink. -func (fss FileSystemSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) { +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { return nil, false } -// AsAzurePostgreSQLSink is the BasicCopySink implementation for FileSystemSink. -func (fss FileSystemSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) { +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { return nil, false } -// AsDelimitedTextSink is the BasicCopySink implementation for FileSystemSink. -func (fss FileSystemSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) { +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { return nil, false } -// AsCopySink is the BasicCopySink implementation for FileSystemSink. -func (fss FileSystemSink) AsCopySink() (*CopySink, bool) { +// AsNetezzaLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { return nil, false } -// AsBasicCopySink is the BasicCopySink implementation for FileSystemSink. -func (fss FileSystemSink) AsBasicCopySink() (BasicCopySink, bool) { - return &fss, true -} - -// UnmarshalJSON is the custom unmarshaler for FileSystemSink struct. -func (fss *FileSystemSink) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - case "copyBehavior": - if v != nil { - var copyBehavior interface{} - err = json.Unmarshal(*v, ©Behavior) - if err != nil { - return err - } - fss.CopyBehavior = copyBehavior - } - default: - if v != nil { - var additionalProperties interface{} - err = json.Unmarshal(*v, &additionalProperties) - if err != nil { - return err - } - if fss.AdditionalProperties == nil { - fss.AdditionalProperties = make(map[string]interface{}) - } - fss.AdditionalProperties[k] = additionalProperties - } - case "writeBatchSize": - if v != nil { - var writeBatchSize interface{} - err = json.Unmarshal(*v, &writeBatchSize) - if err != nil { - return err - } - fss.WriteBatchSize = writeBatchSize - } - case "writeBatchTimeout": - if v != nil { - var writeBatchTimeout interface{} - err = json.Unmarshal(*v, &writeBatchTimeout) - if err != nil { - return err - } - fss.WriteBatchTimeout = writeBatchTimeout - } - case "sinkRetryCount": - if v != nil { - var sinkRetryCount interface{} - err = json.Unmarshal(*v, &sinkRetryCount) - if err != nil { - return err - } - fss.SinkRetryCount = sinkRetryCount - } - case "sinkRetryWait": - if v != nil { - var sinkRetryWait interface{} - err = json.Unmarshal(*v, &sinkRetryWait) - if err != nil { - return err - } - fss.SinkRetryWait = sinkRetryWait - } - case "maxConcurrentConnections": - if v != nil { - var maxConcurrentConnections interface{} - err = json.Unmarshal(*v, &maxConcurrentConnections) - if err != nil { - return err - } - fss.MaxConcurrentConnections = maxConcurrentConnections - } - case "type": - if v != nil { - var typeVar TypeBasicCopySink - err = json.Unmarshal(*v, &typeVar) - if err != nil { - return err - } - fss.Type = typeVar - } - } - } - - return nil -} - -// FileSystemSource a copy activity file system source. -type FileSystemSource struct { - // Recursive - If true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean). - Recursive interface{} `json:"recursive,omitempty"` - // AdditionalProperties - Unmatched properties from the message are deserialized this collection - AdditionalProperties map[string]interface{} `json:""` - // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). - SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` - // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). - SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` - // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). - MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' - Type TypeBasicCopySource `json:"type,omitempty"` -} - -// MarshalJSON is the custom marshaler for FileSystemSource. -func (fss FileSystemSource) MarshalJSON() ([]byte, error) { - fss.Type = TypeFileSystemSource - objectMap := make(map[string]interface{}) - if fss.Recursive != nil { - objectMap["recursive"] = fss.Recursive - } - if fss.SourceRetryCount != nil { - objectMap["sourceRetryCount"] = fss.SourceRetryCount - } - if fss.SourceRetryWait != nil { - objectMap["sourceRetryWait"] = fss.SourceRetryWait - } - if fss.MaxConcurrentConnections != nil { - objectMap["maxConcurrentConnections"] = fss.MaxConcurrentConnections - } - if fss.Type != "" { - objectMap["type"] = fss.Type - } - for k, v := range fss.AdditionalProperties { - objectMap[k] = v - } - return json.Marshal(objectMap) -} - -// AsAmazonRedshiftSource is the BasicCopySource implementation for FileSystemSource. -func (fss FileSystemSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { +// AsVerticaLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { return nil, false } -// AsGoogleAdWordsSource is the BasicCopySource implementation for FileSystemSource. -func (fss FileSystemSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { +// AsZohoLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { return nil, false } -// AsOracleServiceCloudSource is the BasicCopySource implementation for FileSystemSource. -func (fss FileSystemSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { +// AsXeroLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { return nil, false } -// AsDynamicsAXSource is the BasicCopySource implementation for FileSystemSource. -func (fss FileSystemSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { +// AsSquareLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { return nil, false } -// AsResponsysSource is the BasicCopySource implementation for FileSystemSource. -func (fss FileSystemSource) AsResponsysSource() (*ResponsysSource, bool) { +// AsSparkLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { return nil, false } -// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for FileSystemSource. -func (fss FileSystemSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { +// AsShopifyLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { return nil, false } -// AsVerticaSource is the BasicCopySource implementation for FileSystemSource. -func (fss FileSystemSource) AsVerticaSource() (*VerticaSource, bool) { +// AsServiceNowLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { return nil, false } -// AsNetezzaSource is the BasicCopySource implementation for FileSystemSource. -func (fss FileSystemSource) AsNetezzaSource() (*NetezzaSource, bool) { +// AsQuickBooksLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { return nil, false } -// AsZohoSource is the BasicCopySource implementation for FileSystemSource. -func (fss FileSystemSource) AsZohoSource() (*ZohoSource, bool) { +// AsPrestoLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { return nil, false } -// AsXeroSource is the BasicCopySource implementation for FileSystemSource. -func (fss FileSystemSource) AsXeroSource() (*XeroSource, bool) { +// AsPhoenixLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { return nil, false } -// AsSquareSource is the BasicCopySource implementation for FileSystemSource. -func (fss FileSystemSource) AsSquareSource() (*SquareSource, bool) { +// AsPaypalLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { return nil, false } -// AsSparkSource is the BasicCopySource implementation for FileSystemSource. -func (fss FileSystemSource) AsSparkSource() (*SparkSource, bool) { +// AsMarketoLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { return nil, false } -// AsShopifySource is the BasicCopySource implementation for FileSystemSource. -func (fss FileSystemSource) AsShopifySource() (*ShopifySource, bool) { +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { return nil, false } -// AsServiceNowSource is the BasicCopySource implementation for FileSystemSource. -func (fss FileSystemSource) AsServiceNowSource() (*ServiceNowSource, bool) { +// AsMariaDBLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { return nil, false } -// AsQuickBooksSource is the BasicCopySource implementation for FileSystemSource. -func (fss FileSystemSource) AsQuickBooksSource() (*QuickBooksSource, bool) { +// AsMagentoLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { return nil, false } -// AsPrestoSource is the BasicCopySource implementation for FileSystemSource. -func (fss FileSystemSource) AsPrestoSource() (*PrestoSource, bool) { +// AsJiraLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { return nil, false } -// AsPhoenixSource is the BasicCopySource implementation for FileSystemSource. -func (fss FileSystemSource) AsPhoenixSource() (*PhoenixSource, bool) { +// AsImpalaLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { return nil, false } -// AsPaypalSource is the BasicCopySource implementation for FileSystemSource. -func (fss FileSystemSource) AsPaypalSource() (*PaypalSource, bool) { +// AsHubspotLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { return nil, false } -// AsMarketoSource is the BasicCopySource implementation for FileSystemSource. -func (fss FileSystemSource) AsMarketoSource() (*MarketoSource, bool) { +// AsHiveLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { return nil, false } -// AsAzureMariaDBSource is the BasicCopySource implementation for FileSystemSource. -func (fss FileSystemSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { +// AsHBaseLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { return nil, false } -// AsMariaDBSource is the BasicCopySource implementation for FileSystemSource. -func (fss FileSystemSource) AsMariaDBSource() (*MariaDBSource, bool) { +// AsGreenplumLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { return nil, false } -// AsMagentoSource is the BasicCopySource implementation for FileSystemSource. -func (fss FileSystemSource) AsMagentoSource() (*MagentoSource, bool) { +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { return nil, false } -// AsJiraSource is the BasicCopySource implementation for FileSystemSource. -func (fss FileSystemSource) AsJiraSource() (*JiraSource, bool) { - return nil, false +// AsEloquaLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return &els, true } -// AsImpalaSource is the BasicCopySource implementation for FileSystemSource. -func (fss FileSystemSource) AsImpalaSource() (*ImpalaSource, bool) { +// AsDrillLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { return nil, false } -// AsHubspotSource is the BasicCopySource implementation for FileSystemSource. -func (fss FileSystemSource) AsHubspotSource() (*HubspotSource, bool) { +// AsCouchbaseLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { return nil, false } -// AsHiveSource is the BasicCopySource implementation for FileSystemSource. -func (fss FileSystemSource) AsHiveSource() (*HiveSource, bool) { +// AsConcurLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { return nil, false } -// AsHBaseSource is the BasicCopySource implementation for FileSystemSource. -func (fss FileSystemSource) AsHBaseSource() (*HBaseSource, bool) { +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { return nil, false } -// AsGreenplumSource is the BasicCopySource implementation for FileSystemSource. -func (fss FileSystemSource) AsGreenplumSource() (*GreenplumSource, bool) { +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { return nil, false } -// AsGoogleBigQuerySource is the BasicCopySource implementation for FileSystemSource. -func (fss FileSystemSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { +// AsSapHanaLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { return nil, false } -// AsEloquaSource is the BasicCopySource implementation for FileSystemSource. -func (fss FileSystemSource) AsEloquaSource() (*EloquaSource, bool) { +// AsSapBWLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { return nil, false } -// AsDrillSource is the BasicCopySource implementation for FileSystemSource. -func (fss FileSystemSource) AsDrillSource() (*DrillSource, bool) { +// AsSftpServerLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { return nil, false } -// AsCouchbaseSource is the BasicCopySource implementation for FileSystemSource. -func (fss FileSystemSource) AsCouchbaseSource() (*CouchbaseSource, bool) { +// AsFtpServerLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { return nil, false } -// AsConcurSource is the BasicCopySource implementation for FileSystemSource. -func (fss FileSystemSource) AsConcurSource() (*ConcurSource, bool) { +// AsHTTPLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { return nil, false } -// AsAzurePostgreSQLSource is the BasicCopySource implementation for FileSystemSource. -func (fss FileSystemSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { +// AsAzureSearchLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { return nil, false } -// AsAmazonMWSSource is the BasicCopySource implementation for FileSystemSource. -func (fss FileSystemSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { return nil, false } -// AsHTTPSource is the BasicCopySource implementation for FileSystemSource. -func (fss FileSystemSource) AsHTTPSource() (*HTTPSource, bool) { +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { return nil, false } -// AsAzureBlobFSSource is the BasicCopySource implementation for FileSystemSource. -func (fss FileSystemSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { +// AsAmazonS3LinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { return nil, false } -// AsAzureDataLakeStoreSource is the BasicCopySource implementation for FileSystemSource. -func (fss FileSystemSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { +// AsRestServiceLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { return nil, false } -// AsOffice365Source is the BasicCopySource implementation for FileSystemSource. -func (fss FileSystemSource) AsOffice365Source() (*Office365Source, bool) { +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { return nil, false } -// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for FileSystemSource. -func (fss FileSystemSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { +// AsSapEccLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { return nil, false } -// AsMongoDbV2Source is the BasicCopySource implementation for FileSystemSource. -func (fss FileSystemSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { return nil, false } -// AsMongoDbSource is the BasicCopySource implementation for FileSystemSource. -func (fss FileSystemSource) AsMongoDbSource() (*MongoDbSource, bool) { +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { return nil, false } -// AsCassandraSource is the BasicCopySource implementation for FileSystemSource. -func (fss FileSystemSource) AsCassandraSource() (*CassandraSource, bool) { +// AsSalesforceLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { return nil, false } -// AsWebSource is the BasicCopySource implementation for FileSystemSource. -func (fss FileSystemSource) AsWebSource() (*WebSource, bool) { +// AsOffice365LinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { return nil, false } -// AsTeradataSource is the BasicCopySource implementation for FileSystemSource. -func (fss FileSystemSource) AsTeradataSource() (*TeradataSource, bool) { +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { return nil, false } -// AsOracleSource is the BasicCopySource implementation for FileSystemSource. -func (fss FileSystemSource) AsOracleSource() (*OracleSource, bool) { +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { return nil, false } -// AsAzureDataExplorerSource is the BasicCopySource implementation for FileSystemSource. -func (fss FileSystemSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { return nil, false } -// AsAzureMySQLSource is the BasicCopySource implementation for FileSystemSource. -func (fss FileSystemSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { return nil, false } -// AsHdfsSource is the BasicCopySource implementation for FileSystemSource. -func (fss FileSystemSource) AsHdfsSource() (*HdfsSource, bool) { +// AsMongoDbLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { return nil, false } -// AsFileSystemSource is the BasicCopySource implementation for FileSystemSource. -func (fss FileSystemSource) AsFileSystemSource() (*FileSystemSource, bool) { - return &fss, true -} - -// AsSQLDWSource is the BasicCopySource implementation for FileSystemSource. -func (fss FileSystemSource) AsSQLDWSource() (*SQLDWSource, bool) { +// AsCassandraLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { return nil, false } -// AsSQLMISource is the BasicCopySource implementation for FileSystemSource. -func (fss FileSystemSource) AsSQLMISource() (*SQLMISource, bool) { +// AsWebLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { return nil, false } -// AsAzureSQLSource is the BasicCopySource implementation for FileSystemSource. -func (fss FileSystemSource) AsAzureSQLSource() (*AzureSQLSource, bool) { +// AsODataLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { return nil, false } -// AsSQLServerSource is the BasicCopySource implementation for FileSystemSource. -func (fss FileSystemSource) AsSQLServerSource() (*SQLServerSource, bool) { +// AsHdfsLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { return nil, false } -// AsSQLSource is the BasicCopySource implementation for FileSystemSource. -func (fss FileSystemSource) AsSQLSource() (*SQLSource, bool) { +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { return nil, false } -// AsRestSource is the BasicCopySource implementation for FileSystemSource. -func (fss FileSystemSource) AsRestSource() (*RestSource, bool) { +// AsInformixLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { return nil, false } -// AsSapTableSource is the BasicCopySource implementation for FileSystemSource. -func (fss FileSystemSource) AsSapTableSource() (*SapTableSource, bool) { +// AsOdbcLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { return nil, false } -// AsSapOpenHubSource is the BasicCopySource implementation for FileSystemSource. -func (fss FileSystemSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { return nil, false } -// AsSapHanaSource is the BasicCopySource implementation for FileSystemSource. -func (fss FileSystemSource) AsSapHanaSource() (*SapHanaSource, bool) { +// AsAzureMLLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { return nil, false } -// AsSapEccSource is the BasicCopySource implementation for FileSystemSource. -func (fss FileSystemSource) AsSapEccSource() (*SapEccSource, bool) { +// AsTeradataLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { return nil, false } -// AsSapCloudForCustomerSource is the BasicCopySource implementation for FileSystemSource. -func (fss FileSystemSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { +// AsDb2LinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { return nil, false } -// AsSalesforceServiceCloudSource is the BasicCopySource implementation for FileSystemSource. -func (fss FileSystemSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { +// AsSybaseLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { return nil, false } -// AsSalesforceSource is the BasicCopySource implementation for FileSystemSource. -func (fss FileSystemSource) AsSalesforceSource() (*SalesforceSource, bool) { +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { return nil, false } -// AsODataSource is the BasicCopySource implementation for FileSystemSource. -func (fss FileSystemSource) AsODataSource() (*ODataSource, bool) { +// AsMySQLLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { return nil, false } -// AsSapBwSource is the BasicCopySource implementation for FileSystemSource. -func (fss FileSystemSource) AsSapBwSource() (*SapBwSource, bool) { +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { return nil, false } -// AsSybaseSource is the BasicCopySource implementation for FileSystemSource. -func (fss FileSystemSource) AsSybaseSource() (*SybaseSource, bool) { +// AsOracleLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { return nil, false } -// AsPostgreSQLSource is the BasicCopySource implementation for FileSystemSource. -func (fss FileSystemSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { return nil, false } -// AsMySQLSource is the BasicCopySource implementation for FileSystemSource. -func (fss FileSystemSource) AsMySQLSource() (*MySQLSource, bool) { +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { return nil, false } -// AsOdbcSource is the BasicCopySource implementation for FileSystemSource. -func (fss FileSystemSource) AsOdbcSource() (*OdbcSource, bool) { +// AsFileServerLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { return nil, false } -// AsDb2Source is the BasicCopySource implementation for FileSystemSource. -func (fss FileSystemSource) AsDb2Source() (*Db2Source, bool) { +// AsHDInsightLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { return nil, false } -// AsMicrosoftAccessSource is the BasicCopySource implementation for FileSystemSource. -func (fss FileSystemSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { return nil, false } -// AsInformixSource is the BasicCopySource implementation for FileSystemSource. -func (fss FileSystemSource) AsInformixSource() (*InformixSource, bool) { +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { return nil, false } -// AsRelationalSource is the BasicCopySource implementation for FileSystemSource. -func (fss FileSystemSource) AsRelationalSource() (*RelationalSource, bool) { +// AsDynamicsLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { return nil, false } -// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for FileSystemSource. -func (fss FileSystemSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { +// AsCosmosDbLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { return nil, false } -// AsDynamicsCrmSource is the BasicCopySource implementation for FileSystemSource. -func (fss FileSystemSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { return nil, false } -// AsDynamicsSource is the BasicCopySource implementation for FileSystemSource. -func (fss FileSystemSource) AsDynamicsSource() (*DynamicsSource, bool) { +// AsAzureBatchLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { return nil, false } -// AsDocumentDbCollectionSource is the BasicCopySource implementation for FileSystemSource. -func (fss FileSystemSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { return nil, false } -// AsBlobSource is the BasicCopySource implementation for FileSystemSource. -func (fss FileSystemSource) AsBlobSource() (*BlobSource, bool) { +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { return nil, false } -// AsAzureTableSource is the BasicCopySource implementation for FileSystemSource. -func (fss FileSystemSource) AsAzureTableSource() (*AzureTableSource, bool) { +// AsSQLServerLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { return nil, false } -// AsBinarySource is the BasicCopySource implementation for FileSystemSource. -func (fss FileSystemSource) AsBinarySource() (*BinarySource, bool) { +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { return nil, false } -// AsDelimitedTextSource is the BasicCopySource implementation for FileSystemSource. -func (fss FileSystemSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { return nil, false } -// AsParquetSource is the BasicCopySource implementation for FileSystemSource. -func (fss FileSystemSource) AsParquetSource() (*ParquetSource, bool) { +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { return nil, false } -// AsAvroSource is the BasicCopySource implementation for FileSystemSource. -func (fss FileSystemSource) AsAvroSource() (*AvroSource, bool) { +// AsAzureStorageLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { return nil, false } -// AsCopySource is the BasicCopySource implementation for FileSystemSource. -func (fss FileSystemSource) AsCopySource() (*CopySource, bool) { +// AsLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsLinkedService() (*LinkedService, bool) { return nil, false } -// AsBasicCopySource is the BasicCopySource implementation for FileSystemSource. -func (fss FileSystemSource) AsBasicCopySource() (BasicCopySource, bool) { - return &fss, true +// AsBasicLinkedService is the BasicLinkedService implementation for EloquaLinkedService. +func (els EloquaLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &els, true } -// UnmarshalJSON is the custom unmarshaler for FileSystemSource struct. -func (fss *FileSystemSource) UnmarshalJSON(body []byte) error { +// UnmarshalJSON is the custom unmarshaler for EloquaLinkedService struct. +func (els *EloquaLinkedService) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -78319,14 +82493,14 @@ func (fss *FileSystemSource) UnmarshalJSON(body []byte) error { } for k, v := range m { switch k { - case "recursive": + case "typeProperties": if v != nil { - var recursive interface{} - err = json.Unmarshal(*v, &recursive) + var eloquaLinkedServiceTypeProperties EloquaLinkedServiceTypeProperties + err = json.Unmarshal(*v, &eloquaLinkedServiceTypeProperties) if err != nil { return err } - fss.Recursive = recursive + els.EloquaLinkedServiceTypeProperties = &eloquaLinkedServiceTypeProperties } default: if v != nil { @@ -78335,46 +82509,55 @@ func (fss *FileSystemSource) UnmarshalJSON(body []byte) error { if err != nil { return err } - if fss.AdditionalProperties == nil { - fss.AdditionalProperties = make(map[string]interface{}) + if els.AdditionalProperties == nil { + els.AdditionalProperties = make(map[string]interface{}) } - fss.AdditionalProperties[k] = additionalProperties + els.AdditionalProperties[k] = additionalProperties } - case "sourceRetryCount": + case "connectVia": if v != nil { - var sourceRetryCount interface{} - err = json.Unmarshal(*v, &sourceRetryCount) + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) if err != nil { return err } - fss.SourceRetryCount = sourceRetryCount + els.ConnectVia = &connectVia } - case "sourceRetryWait": + case "description": if v != nil { - var sourceRetryWait interface{} - err = json.Unmarshal(*v, &sourceRetryWait) + var description string + err = json.Unmarshal(*v, &description) if err != nil { return err } - fss.SourceRetryWait = sourceRetryWait + els.Description = &description } - case "maxConcurrentConnections": + case "parameters": if v != nil { - var maxConcurrentConnections interface{} - err = json.Unmarshal(*v, &maxConcurrentConnections) + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) if err != nil { return err } - fss.MaxConcurrentConnections = maxConcurrentConnections + els.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + els.Annotations = &annotations } case "type": if v != nil { - var typeVar TypeBasicCopySource + var typeVar TypeBasicLinkedService err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - fss.Type = typeVar + els.Type = typeVar } } } @@ -78382,778 +82565,609 @@ func (fss *FileSystemSource) UnmarshalJSON(body []byte) error { return nil } -// FilterActivity filter and return results from input array based on the conditions. -type FilterActivity struct { - // FilterActivityTypeProperties - Filter activity properties. - *FilterActivityTypeProperties `json:"typeProperties,omitempty"` +// EloquaLinkedServiceTypeProperties eloqua server linked service properties. +type EloquaLinkedServiceTypeProperties struct { + // Endpoint - The endpoint of the Eloqua server. (i.e. eloqua.example.com) + Endpoint interface{} `json:"endpoint,omitempty"` + // Username - The site name and user name of your Eloqua account in the form: sitename/username. (i.e. Eloqua/Alice) + Username interface{} `json:"username,omitempty"` + // Password - The password corresponding to the user name. + Password BasicSecretBase `json:"password,omitempty"` + // UseEncryptedEndpoints - Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true. + UseEncryptedEndpoints interface{} `json:"useEncryptedEndpoints,omitempty"` + // UseHostVerification - Specifies whether to require the host name in the server's certificate to match the host name of the server when connecting over SSL. The default value is true. + UseHostVerification interface{} `json:"useHostVerification,omitempty"` + // UsePeerVerification - Specifies whether to verify the identity of the server when connecting over SSL. The default value is true. + UsePeerVerification interface{} `json:"usePeerVerification,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for EloquaLinkedServiceTypeProperties struct. +func (elstp *EloquaLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "endpoint": + if v != nil { + var endpoint interface{} + err = json.Unmarshal(*v, &endpoint) + if err != nil { + return err + } + elstp.Endpoint = endpoint + } + case "username": + if v != nil { + var username interface{} + err = json.Unmarshal(*v, &username) + if err != nil { + return err + } + elstp.Username = username + } + case "password": + if v != nil { + password, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + elstp.Password = password + } + case "useEncryptedEndpoints": + if v != nil { + var useEncryptedEndpoints interface{} + err = json.Unmarshal(*v, &useEncryptedEndpoints) + if err != nil { + return err + } + elstp.UseEncryptedEndpoints = useEncryptedEndpoints + } + case "useHostVerification": + if v != nil { + var useHostVerification interface{} + err = json.Unmarshal(*v, &useHostVerification) + if err != nil { + return err + } + elstp.UseHostVerification = useHostVerification + } + case "usePeerVerification": + if v != nil { + var usePeerVerification interface{} + err = json.Unmarshal(*v, &usePeerVerification) + if err != nil { + return err + } + elstp.UsePeerVerification = usePeerVerification + } + case "encryptedCredential": + if v != nil { + var encryptedCredential interface{} + err = json.Unmarshal(*v, &encryptedCredential) + if err != nil { + return err + } + elstp.EncryptedCredential = encryptedCredential + } + } + } + + return nil +} + +// EloquaObjectDataset eloqua server dataset. +type EloquaObjectDataset struct { + // GenericDatasetTypeProperties - Properties specific to this dataset type. + *GenericDatasetTypeProperties `json:"typeProperties,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` - // Name - Activity name. - Name *string `json:"name,omitempty"` - // Description - Activity description. + // Description - Dataset description. Description *string `json:"description,omitempty"` - // DependsOn - Activity depends on condition. - DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"` - // UserProperties - Activity user properties. - UserProperties *[]UserProperty `json:"userProperties,omitempty"` - // Type - Possible values include: 'TypeActivity', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer' - Type TypeBasicActivity `json:"type,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' + Type TypeBasicDataset `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for FilterActivity. -func (fa FilterActivity) MarshalJSON() ([]byte, error) { - fa.Type = TypeFilter +// MarshalJSON is the custom marshaler for EloquaObjectDataset. +func (eod EloquaObjectDataset) MarshalJSON() ([]byte, error) { + eod.Type = TypeEloquaObject objectMap := make(map[string]interface{}) - if fa.FilterActivityTypeProperties != nil { - objectMap["typeProperties"] = fa.FilterActivityTypeProperties + if eod.GenericDatasetTypeProperties != nil { + objectMap["typeProperties"] = eod.GenericDatasetTypeProperties } - if fa.Name != nil { - objectMap["name"] = fa.Name + if eod.Description != nil { + objectMap["description"] = eod.Description } - if fa.Description != nil { - objectMap["description"] = fa.Description + if eod.Structure != nil { + objectMap["structure"] = eod.Structure } - if fa.DependsOn != nil { - objectMap["dependsOn"] = fa.DependsOn + if eod.Schema != nil { + objectMap["schema"] = eod.Schema } - if fa.UserProperties != nil { - objectMap["userProperties"] = fa.UserProperties + if eod.LinkedServiceName != nil { + objectMap["linkedServiceName"] = eod.LinkedServiceName } - if fa.Type != "" { - objectMap["type"] = fa.Type + if eod.Parameters != nil { + objectMap["parameters"] = eod.Parameters } - for k, v := range fa.AdditionalProperties { + if eod.Annotations != nil { + objectMap["annotations"] = eod.Annotations + } + if eod.Folder != nil { + objectMap["folder"] = eod.Folder + } + if eod.Type != "" { + objectMap["type"] = eod.Type + } + for k, v := range eod.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsAzureFunctionActivity is the BasicActivity implementation for FilterActivity. -func (fa FilterActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) { +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { return nil, false } -// AsDatabricksSparkPythonActivity is the BasicActivity implementation for FilterActivity. -func (fa FilterActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) { +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { return nil, false } -// AsDatabricksSparkJarActivity is the BasicActivity implementation for FilterActivity. -func (fa FilterActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) { +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { return nil, false } -// AsDatabricksNotebookActivity is the BasicActivity implementation for FilterActivity. -func (fa FilterActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) { +// AsDynamicsAXResourceDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { return nil, false } -// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for FilterActivity. -func (fa FilterActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) { +// AsResponsysObjectDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { return nil, false } -// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for FilterActivity. -func (fa FilterActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) { +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { return nil, false } -// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for FilterActivity. -func (fa FilterActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) { +// AsVerticaTableDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { return nil, false } -// AsGetMetadataActivity is the BasicActivity implementation for FilterActivity. -func (fa FilterActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) { +// AsNetezzaTableDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { return nil, false } -// AsWebActivity is the BasicActivity implementation for FilterActivity. -func (fa FilterActivity) AsWebActivity() (*WebActivity, bool) { +// AsZohoObjectDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { return nil, false } -// AsLookupActivity is the BasicActivity implementation for FilterActivity. -func (fa FilterActivity) AsLookupActivity() (*LookupActivity, bool) { +// AsXeroObjectDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { return nil, false } -// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for FilterActivity. -func (fa FilterActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) { +// AsSquareObjectDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { return nil, false } -// AsDeleteActivity is the BasicActivity implementation for FilterActivity. -func (fa FilterActivity) AsDeleteActivity() (*DeleteActivity, bool) { +// AsSparkObjectDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { return nil, false } -// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for FilterActivity. -func (fa FilterActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) { +// AsShopifyObjectDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { return nil, false } -// AsCustomActivity is the BasicActivity implementation for FilterActivity. -func (fa FilterActivity) AsCustomActivity() (*CustomActivity, bool) { +// AsServiceNowObjectDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { return nil, false } -// AsExecuteSSISPackageActivity is the BasicActivity implementation for FilterActivity. -func (fa FilterActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) { +// AsQuickBooksObjectDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { return nil, false } -// AsHDInsightSparkActivity is the BasicActivity implementation for FilterActivity. -func (fa FilterActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) { +// AsPrestoObjectDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { return nil, false } -// AsHDInsightStreamingActivity is the BasicActivity implementation for FilterActivity. -func (fa FilterActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) { +// AsPhoenixObjectDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { return nil, false } -// AsHDInsightMapReduceActivity is the BasicActivity implementation for FilterActivity. -func (fa FilterActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) { +// AsPaypalObjectDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { return nil, false } -// AsHDInsightPigActivity is the BasicActivity implementation for FilterActivity. -func (fa FilterActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) { +// AsMarketoObjectDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { return nil, false } -// AsHDInsightHiveActivity is the BasicActivity implementation for FilterActivity. -func (fa FilterActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) { +// AsAzureMariaDBTableDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { return nil, false } -// AsCopyActivity is the BasicActivity implementation for FilterActivity. -func (fa FilterActivity) AsCopyActivity() (*CopyActivity, bool) { +// AsMariaDBTableDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { return nil, false } -// AsExecutionActivity is the BasicActivity implementation for FilterActivity. -func (fa FilterActivity) AsExecutionActivity() (*ExecutionActivity, bool) { +// AsMagentoObjectDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { return nil, false } -// AsBasicExecutionActivity is the BasicActivity implementation for FilterActivity. -func (fa FilterActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) { +// AsJiraObjectDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { return nil, false } -// AsWebHookActivity is the BasicActivity implementation for FilterActivity. -func (fa FilterActivity) AsWebHookActivity() (*WebHookActivity, bool) { +// AsImpalaObjectDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { return nil, false } -// AsAppendVariableActivity is the BasicActivity implementation for FilterActivity. -func (fa FilterActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) { +// AsHubspotObjectDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { return nil, false } -// AsSetVariableActivity is the BasicActivity implementation for FilterActivity. -func (fa FilterActivity) AsSetVariableActivity() (*SetVariableActivity, bool) { +// AsHiveObjectDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { return nil, false } -// AsFilterActivity is the BasicActivity implementation for FilterActivity. -func (fa FilterActivity) AsFilterActivity() (*FilterActivity, bool) { - return &fa, true +// AsHBaseObjectDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { + return nil, false } -// AsValidationActivity is the BasicActivity implementation for FilterActivity. -func (fa FilterActivity) AsValidationActivity() (*ValidationActivity, bool) { +// AsGreenplumTableDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { return nil, false } -// AsUntilActivity is the BasicActivity implementation for FilterActivity. -func (fa FilterActivity) AsUntilActivity() (*UntilActivity, bool) { +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { return nil, false } -// AsWaitActivity is the BasicActivity implementation for FilterActivity. -func (fa FilterActivity) AsWaitActivity() (*WaitActivity, bool) { - return nil, false +// AsEloquaObjectDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { + return &eod, true } -// AsForEachActivity is the BasicActivity implementation for FilterActivity. -func (fa FilterActivity) AsForEachActivity() (*ForEachActivity, bool) { +// AsDrillTableDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { return nil, false } -// AsIfConditionActivity is the BasicActivity implementation for FilterActivity. -func (fa FilterActivity) AsIfConditionActivity() (*IfConditionActivity, bool) { +// AsCouchbaseTableDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { return nil, false } -// AsExecutePipelineActivity is the BasicActivity implementation for FilterActivity. -func (fa FilterActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) { +// AsConcurObjectDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { return nil, false } -// AsControlActivity is the BasicActivity implementation for FilterActivity. -func (fa FilterActivity) AsControlActivity() (*ControlActivity, bool) { +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { return nil, false } -// AsBasicControlActivity is the BasicActivity implementation for FilterActivity. -func (fa FilterActivity) AsBasicControlActivity() (BasicControlActivity, bool) { - return &fa, true +// AsAmazonMWSObjectDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { + return nil, false } -// AsActivity is the BasicActivity implementation for FilterActivity. -func (fa FilterActivity) AsActivity() (*Activity, bool) { +// AsHTTPDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsHTTPDataset() (*HTTPDataset, bool) { return nil, false } -// AsBasicActivity is the BasicActivity implementation for FilterActivity. -func (fa FilterActivity) AsBasicActivity() (BasicActivity, bool) { - return &fa, true +// AsAzureSearchIndexDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { + return nil, false } -// UnmarshalJSON is the custom unmarshaler for FilterActivity struct. -func (fa *FilterActivity) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - case "typeProperties": - if v != nil { - var filterActivityTypeProperties FilterActivityTypeProperties - err = json.Unmarshal(*v, &filterActivityTypeProperties) - if err != nil { - return err - } - fa.FilterActivityTypeProperties = &filterActivityTypeProperties - } - default: - if v != nil { - var additionalProperties interface{} - err = json.Unmarshal(*v, &additionalProperties) - if err != nil { - return err - } - if fa.AdditionalProperties == nil { - fa.AdditionalProperties = make(map[string]interface{}) - } - fa.AdditionalProperties[k] = additionalProperties - } - case "name": - if v != nil { - var name string - err = json.Unmarshal(*v, &name) - if err != nil { - return err - } - fa.Name = &name - } - case "description": - if v != nil { - var description string - err = json.Unmarshal(*v, &description) - if err != nil { - return err - } - fa.Description = &description - } - case "dependsOn": - if v != nil { - var dependsOn []ActivityDependency - err = json.Unmarshal(*v, &dependsOn) - if err != nil { - return err - } - fa.DependsOn = &dependsOn - } - case "userProperties": - if v != nil { - var userProperties []UserProperty - err = json.Unmarshal(*v, &userProperties) - if err != nil { - return err - } - fa.UserProperties = &userProperties - } - case "type": - if v != nil { - var typeVar TypeBasicActivity - err = json.Unmarshal(*v, &typeVar) - if err != nil { - return err - } - fa.Type = typeVar - } - } - } - - return nil +// AsWebTableDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) { + return nil, false } -// FilterActivityTypeProperties filter activity properties. -type FilterActivityTypeProperties struct { - // Items - Input array on which filter should be applied. - Items *Expression `json:"items,omitempty"` - // Condition - Condition to be used for filtering the input. - Condition *Expression `json:"condition,omitempty"` +// AsSapTableResourceDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { + return nil, false } -// ForEachActivity this activity is used for iterating over a collection and execute given activities. -type ForEachActivity struct { - // ForEachActivityTypeProperties - ForEach activity properties. - *ForEachActivityTypeProperties `json:"typeProperties,omitempty"` - // AdditionalProperties - Unmatched properties from the message are deserialized this collection - AdditionalProperties map[string]interface{} `json:""` - // Name - Activity name. - Name *string `json:"name,omitempty"` - // Description - Activity description. - Description *string `json:"description,omitempty"` - // DependsOn - Activity depends on condition. - DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"` - // UserProperties - Activity user properties. - UserProperties *[]UserProperty `json:"userProperties,omitempty"` - // Type - Possible values include: 'TypeActivity', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer' - Type TypeBasicActivity `json:"type,omitempty"` +// AsRestResourceDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { + return nil, false } -// MarshalJSON is the custom marshaler for ForEachActivity. -func (fea ForEachActivity) MarshalJSON() ([]byte, error) { - fea.Type = TypeForEach - objectMap := make(map[string]interface{}) - if fea.ForEachActivityTypeProperties != nil { - objectMap["typeProperties"] = fea.ForEachActivityTypeProperties - } - if fea.Name != nil { - objectMap["name"] = fea.Name - } - if fea.Description != nil { - objectMap["description"] = fea.Description - } - if fea.DependsOn != nil { - objectMap["dependsOn"] = fea.DependsOn - } - if fea.UserProperties != nil { - objectMap["userProperties"] = fea.UserProperties - } - if fea.Type != "" { - objectMap["type"] = fea.Type - } - for k, v := range fea.AdditionalProperties { - objectMap[k] = v - } - return json.Marshal(objectMap) +// AsSQLServerTableDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { + return nil, false } -// AsAzureFunctionActivity is the BasicActivity implementation for ForEachActivity. -func (fea ForEachActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) { +// AsSapOpenHubTableDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { return nil, false } -// AsDatabricksSparkPythonActivity is the BasicActivity implementation for ForEachActivity. -func (fea ForEachActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) { +// AsSapHanaTableDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { return nil, false } -// AsDatabricksSparkJarActivity is the BasicActivity implementation for ForEachActivity. -func (fea ForEachActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) { +// AsSapEccResourceDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { return nil, false } -// AsDatabricksNotebookActivity is the BasicActivity implementation for ForEachActivity. -func (fea ForEachActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) { +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { return nil, false } -// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for ForEachActivity. -func (fea ForEachActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) { +// AsSapBwCubeDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { return nil, false } -// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for ForEachActivity. -func (fea ForEachActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) { +// AsSybaseTableDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { return nil, false } -// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for ForEachActivity. -func (fea ForEachActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) { +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { return nil, false } -// AsGetMetadataActivity is the BasicActivity implementation for ForEachActivity. -func (fea ForEachActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) { +// AsSalesforceObjectDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { return nil, false } -// AsWebActivity is the BasicActivity implementation for ForEachActivity. -func (fea ForEachActivity) AsWebActivity() (*WebActivity, bool) { +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { return nil, false } -// AsLookupActivity is the BasicActivity implementation for ForEachActivity. -func (fea ForEachActivity) AsLookupActivity() (*LookupActivity, bool) { +// AsPostgreSQLTableDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { return nil, false } -// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for ForEachActivity. -func (fea ForEachActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) { +// AsMySQLTableDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { return nil, false } -// AsDeleteActivity is the BasicActivity implementation for ForEachActivity. -func (fea ForEachActivity) AsDeleteActivity() (*DeleteActivity, bool) { +// AsOdbcTableDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { return nil, false } -// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for ForEachActivity. -func (fea ForEachActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) { +// AsInformixTableDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { return nil, false } -// AsCustomActivity is the BasicActivity implementation for ForEachActivity. -func (fea ForEachActivity) AsCustomActivity() (*CustomActivity, bool) { +// AsRelationalTableDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { return nil, false } -// AsExecuteSSISPackageActivity is the BasicActivity implementation for ForEachActivity. -func (fea ForEachActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) { +// AsDb2TableDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { return nil, false } -// AsHDInsightSparkActivity is the BasicActivity implementation for ForEachActivity. -func (fea ForEachActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) { +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { return nil, false } -// AsHDInsightStreamingActivity is the BasicActivity implementation for ForEachActivity. -func (fea ForEachActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) { +// AsAzureMySQLTableDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { return nil, false } -// AsHDInsightMapReduceActivity is the BasicActivity implementation for ForEachActivity. -func (fea ForEachActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) { +// AsTeradataTableDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { return nil, false } -// AsHDInsightPigActivity is the BasicActivity implementation for ForEachActivity. -func (fea ForEachActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) { +// AsOracleTableDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { return nil, false } -// AsHDInsightHiveActivity is the BasicActivity implementation for ForEachActivity. -func (fea ForEachActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) { +// AsODataResourceDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { return nil, false } -// AsCopyActivity is the BasicActivity implementation for ForEachActivity. -func (fea ForEachActivity) AsCopyActivity() (*CopyActivity, bool) { +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { return nil, false } -// AsExecutionActivity is the BasicActivity implementation for ForEachActivity. -func (fea ForEachActivity) AsExecutionActivity() (*ExecutionActivity, bool) { +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { return nil, false } -// AsBasicExecutionActivity is the BasicActivity implementation for ForEachActivity. -func (fea ForEachActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) { +// AsMongoDbCollectionDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { return nil, false } -// AsWebHookActivity is the BasicActivity implementation for ForEachActivity. -func (fea ForEachActivity) AsWebHookActivity() (*WebHookActivity, bool) { +// AsFileShareDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsFileShareDataset() (*FileShareDataset, bool) { return nil, false } -// AsAppendVariableActivity is the BasicActivity implementation for ForEachActivity. -func (fea ForEachActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) { +// AsOffice365Dataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) { return nil, false } -// AsSetVariableActivity is the BasicActivity implementation for ForEachActivity. -func (fea ForEachActivity) AsSetVariableActivity() (*SetVariableActivity, bool) { +// AsAzureBlobFSDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) { return nil, false } -// AsFilterActivity is the BasicActivity implementation for ForEachActivity. -func (fea ForEachActivity) AsFilterActivity() (*FilterActivity, bool) { +// AsAzureDataLakeStoreDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) { return nil, false } -// AsValidationActivity is the BasicActivity implementation for ForEachActivity. -func (fea ForEachActivity) AsValidationActivity() (*ValidationActivity, bool) { +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { return nil, false } -// AsUntilActivity is the BasicActivity implementation for ForEachActivity. -func (fea ForEachActivity) AsUntilActivity() (*UntilActivity, bool) { +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { return nil, false } -// AsWaitActivity is the BasicActivity implementation for ForEachActivity. -func (fea ForEachActivity) AsWaitActivity() (*WaitActivity, bool) { +// AsDynamicsEntityDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { return nil, false } -// AsForEachActivity is the BasicActivity implementation for ForEachActivity. -func (fea ForEachActivity) AsForEachActivity() (*ForEachActivity, bool) { - return &fea, true +// AsDocumentDbCollectionDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { + return nil, false } -// AsIfConditionActivity is the BasicActivity implementation for ForEachActivity. -func (fea ForEachActivity) AsIfConditionActivity() (*IfConditionActivity, bool) { +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { return nil, false } -// AsExecutePipelineActivity is the BasicActivity implementation for ForEachActivity. -func (fea ForEachActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) { +// AsCustomDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsCustomDataset() (*CustomDataset, bool) { return nil, false } -// AsControlActivity is the BasicActivity implementation for ForEachActivity. -func (fea ForEachActivity) AsControlActivity() (*ControlActivity, bool) { +// AsCassandraTableDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { return nil, false } -// AsBasicControlActivity is the BasicActivity implementation for ForEachActivity. -func (fea ForEachActivity) AsBasicControlActivity() (BasicControlActivity, bool) { - return &fea, true +// AsAzureSQLDWTableDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { + return nil, false } -// AsActivity is the BasicActivity implementation for ForEachActivity. -func (fea ForEachActivity) AsActivity() (*Activity, bool) { +// AsAzureSQLMITableDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { return nil, false } -// AsBasicActivity is the BasicActivity implementation for ForEachActivity. -func (fea ForEachActivity) AsBasicActivity() (BasicActivity, bool) { - return &fea, true +// AsAzureSQLTableDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { + return nil, false } -// UnmarshalJSON is the custom unmarshaler for ForEachActivity struct. -func (fea *ForEachActivity) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - case "typeProperties": - if v != nil { - var forEachActivityTypeProperties ForEachActivityTypeProperties - err = json.Unmarshal(*v, &forEachActivityTypeProperties) - if err != nil { - return err - } - fea.ForEachActivityTypeProperties = &forEachActivityTypeProperties - } - default: - if v != nil { - var additionalProperties interface{} - err = json.Unmarshal(*v, &additionalProperties) - if err != nil { - return err - } - if fea.AdditionalProperties == nil { - fea.AdditionalProperties = make(map[string]interface{}) - } - fea.AdditionalProperties[k] = additionalProperties - } - case "name": - if v != nil { - var name string - err = json.Unmarshal(*v, &name) - if err != nil { - return err - } - fea.Name = &name - } - case "description": - if v != nil { - var description string - err = json.Unmarshal(*v, &description) - if err != nil { - return err - } - fea.Description = &description - } - case "dependsOn": - if v != nil { - var dependsOn []ActivityDependency - err = json.Unmarshal(*v, &dependsOn) - if err != nil { - return err - } - fea.DependsOn = &dependsOn - } - case "userProperties": - if v != nil { - var userProperties []UserProperty - err = json.Unmarshal(*v, &userProperties) - if err != nil { - return err - } - fea.UserProperties = &userProperties - } - case "type": - if v != nil { - var typeVar TypeBasicActivity - err = json.Unmarshal(*v, &typeVar) - if err != nil { - return err - } - fea.Type = typeVar - } - } - } +// AsAzureTableDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { + return nil, false +} - return nil +// AsAzureBlobDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) { + return nil, false } -// ForEachActivityTypeProperties forEach activity properties. -type ForEachActivityTypeProperties struct { - // IsSequential - Should the loop be executed in sequence or in parallel (max 50) - IsSequential *bool `json:"isSequential,omitempty"` - // BatchCount - Batch count to be used for controlling the number of parallel execution (when isSequential is set to false). - BatchCount *int32 `json:"batchCount,omitempty"` - // Items - Collection to iterate. - Items *Expression `json:"items,omitempty"` - // Activities - List of activities to execute . - Activities *[]BasicActivity `json:"activities,omitempty"` +// AsBinaryDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) { + return nil, false } -// UnmarshalJSON is the custom unmarshaler for ForEachActivityTypeProperties struct. -func (featp *ForEachActivityTypeProperties) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - case "isSequential": - if v != nil { - var isSequential bool - err = json.Unmarshal(*v, &isSequential) - if err != nil { - return err - } - featp.IsSequential = &isSequential - } - case "batchCount": - if v != nil { - var batchCount int32 - err = json.Unmarshal(*v, &batchCount) - if err != nil { - return err - } - featp.BatchCount = &batchCount - } - case "items": - if v != nil { - var items Expression - err = json.Unmarshal(*v, &items) - if err != nil { - return err - } - featp.Items = &items - } - case "activities": - if v != nil { - activities, err := unmarshalBasicActivityArray(*v) - if err != nil { - return err - } - featp.Activities = &activities - } - } - } +// AsOrcDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} - return nil +// AsJSONDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false } -// FormatReadSettings format read settings. -type FormatReadSettings struct { - // AdditionalProperties - Unmatched properties from the message are deserialized this collection - AdditionalProperties map[string]interface{} `json:""` - // Type - The read setting type. - Type *string `json:"type,omitempty"` +// AsDelimitedTextDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { + return nil, false } -// MarshalJSON is the custom marshaler for FormatReadSettings. -func (frs FormatReadSettings) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - if frs.Type != nil { - objectMap["type"] = frs.Type - } - for k, v := range frs.AdditionalProperties { - objectMap[k] = v - } - return json.Marshal(objectMap) +// AsParquetDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsParquetDataset() (*ParquetDataset, bool) { + return nil, false } -// UnmarshalJSON is the custom unmarshaler for FormatReadSettings struct. -func (frs *FormatReadSettings) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - default: - if v != nil { - var additionalProperties interface{} - err = json.Unmarshal(*v, &additionalProperties) - if err != nil { - return err - } - if frs.AdditionalProperties == nil { - frs.AdditionalProperties = make(map[string]interface{}) - } - frs.AdditionalProperties[k] = additionalProperties - } - case "type": - if v != nil { - var typeVar string - err = json.Unmarshal(*v, &typeVar) - if err != nil { - return err - } - frs.Type = &typeVar - } - } - } +// AsAvroDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsAvroDataset() (*AvroDataset, bool) { + return nil, false +} - return nil +// AsAmazonS3Dataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) { + return nil, false } -// FormatWriteSettings format write settings. -type FormatWriteSettings struct { - // AdditionalProperties - Unmatched properties from the message are deserialized this collection - AdditionalProperties map[string]interface{} `json:""` - // Type - The write setting type. - Type *string `json:"type,omitempty"` +// AsDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsDataset() (*Dataset, bool) { + return nil, false } -// MarshalJSON is the custom marshaler for FormatWriteSettings. -func (fws FormatWriteSettings) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - if fws.Type != nil { - objectMap["type"] = fws.Type - } - for k, v := range fws.AdditionalProperties { - objectMap[k] = v - } - return json.Marshal(objectMap) +// AsBasicDataset is the BasicDataset implementation for EloquaObjectDataset. +func (eod EloquaObjectDataset) AsBasicDataset() (BasicDataset, bool) { + return &eod, true } -// UnmarshalJSON is the custom unmarshaler for FormatWriteSettings struct. -func (fws *FormatWriteSettings) UnmarshalJSON(body []byte) error { +// UnmarshalJSON is the custom unmarshaler for EloquaObjectDataset struct. +func (eod *EloquaObjectDataset) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -79161,6 +83175,15 @@ func (fws *FormatWriteSettings) UnmarshalJSON(body []byte) error { } for k, v := range m { switch k { + case "typeProperties": + if v != nil { + var genericDatasetTypeProperties GenericDatasetTypeProperties + err = json.Unmarshal(*v, &genericDatasetTypeProperties) + if err != nil { + return err + } + eod.GenericDatasetTypeProperties = &genericDatasetTypeProperties + } default: if v != nil { var additionalProperties interface{} @@ -79168,145 +83191,82 @@ func (fws *FormatWriteSettings) UnmarshalJSON(body []byte) error { if err != nil { return err } - if fws.AdditionalProperties == nil { - fws.AdditionalProperties = make(map[string]interface{}) + if eod.AdditionalProperties == nil { + eod.AdditionalProperties = make(map[string]interface{}) } - fws.AdditionalProperties[k] = additionalProperties + eod.AdditionalProperties[k] = additionalProperties } - case "type": + case "description": if v != nil { - var typeVar string - err = json.Unmarshal(*v, &typeVar) + var description string + err = json.Unmarshal(*v, &description) if err != nil { return err } - fws.Type = &typeVar + eod.Description = &description } - } - } - - return nil -} - -// FtpReadSettings ftp read settings. -type FtpReadSettings struct { - // Recursive - If true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean). - Recursive interface{} `json:"recursive,omitempty"` - // WildcardFolderPath - Ftp wildcardFolderPath. Type: string (or Expression with resultType string). - WildcardFolderPath interface{} `json:"wildcardFolderPath,omitempty"` - // WildcardFileName - Ftp wildcardFileName. Type: string (or Expression with resultType string). - WildcardFileName interface{} `json:"wildcardFileName,omitempty"` - // UseBinaryTransfer - Specify whether to use binary transfer mode for FTP stores. - UseBinaryTransfer *bool `json:"useBinaryTransfer,omitempty"` - // AdditionalProperties - Unmatched properties from the message are deserialized this collection - AdditionalProperties map[string]interface{} `json:""` - // Type - The read setting type. - Type *string `json:"type,omitempty"` - // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). - MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` -} - -// MarshalJSON is the custom marshaler for FtpReadSettings. -func (frs FtpReadSettings) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - if frs.Recursive != nil { - objectMap["recursive"] = frs.Recursive - } - if frs.WildcardFolderPath != nil { - objectMap["wildcardFolderPath"] = frs.WildcardFolderPath - } - if frs.WildcardFileName != nil { - objectMap["wildcardFileName"] = frs.WildcardFileName - } - if frs.UseBinaryTransfer != nil { - objectMap["useBinaryTransfer"] = frs.UseBinaryTransfer - } - if frs.Type != nil { - objectMap["type"] = frs.Type - } - if frs.MaxConcurrentConnections != nil { - objectMap["maxConcurrentConnections"] = frs.MaxConcurrentConnections - } - for k, v := range frs.AdditionalProperties { - objectMap[k] = v - } - return json.Marshal(objectMap) -} - -// UnmarshalJSON is the custom unmarshaler for FtpReadSettings struct. -func (frs *FtpReadSettings) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - case "recursive": + case "structure": if v != nil { - var recursive interface{} - err = json.Unmarshal(*v, &recursive) + var structure interface{} + err = json.Unmarshal(*v, &structure) if err != nil { return err } - frs.Recursive = recursive + eod.Structure = structure } - case "wildcardFolderPath": + case "schema": if v != nil { - var wildcardFolderPath interface{} - err = json.Unmarshal(*v, &wildcardFolderPath) + var schema interface{} + err = json.Unmarshal(*v, &schema) if err != nil { return err } - frs.WildcardFolderPath = wildcardFolderPath + eod.Schema = schema } - case "wildcardFileName": + case "linkedServiceName": if v != nil { - var wildcardFileName interface{} - err = json.Unmarshal(*v, &wildcardFileName) + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) if err != nil { return err } - frs.WildcardFileName = wildcardFileName + eod.LinkedServiceName = &linkedServiceName } - case "useBinaryTransfer": + case "parameters": if v != nil { - var useBinaryTransfer bool - err = json.Unmarshal(*v, &useBinaryTransfer) + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) if err != nil { return err } - frs.UseBinaryTransfer = &useBinaryTransfer + eod.Parameters = parameters } - default: + case "annotations": if v != nil { - var additionalProperties interface{} - err = json.Unmarshal(*v, &additionalProperties) + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) if err != nil { return err } - if frs.AdditionalProperties == nil { - frs.AdditionalProperties = make(map[string]interface{}) - } - frs.AdditionalProperties[k] = additionalProperties + eod.Annotations = &annotations } - case "type": + case "folder": if v != nil { - var typeVar string - err = json.Unmarshal(*v, &typeVar) + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) if err != nil { return err } - frs.Type = &typeVar + eod.Folder = &folder } - case "maxConcurrentConnections": + case "type": if v != nil { - var maxConcurrentConnections interface{} - err = json.Unmarshal(*v, &maxConcurrentConnections) + var typeVar TypeBasicDataset + err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - frs.MaxConcurrentConnections = maxConcurrentConnections + eod.Type = typeVar } } } @@ -79314,519 +83274,504 @@ func (frs *FtpReadSettings) UnmarshalJSON(body []byte) error { return nil } -// FtpServerLinkedService a FTP server Linked Service. -type FtpServerLinkedService struct { - // FtpServerLinkedServiceTypeProperties - Properties specific to this linked service type. - *FtpServerLinkedServiceTypeProperties `json:"typeProperties,omitempty"` +// EloquaSource a copy activity Eloqua server source. +type EloquaSource struct { + // Query - A query to retrieve data from source. Type: string (or Expression with resultType string). + Query interface{} `json:"query,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` - // ConnectVia - The integration runtime reference. - ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` - // Description - Linked service description. - Description *string `json:"description,omitempty"` - // Parameters - Parameters for linked service. - Parameters map[string]*ParameterSpecification `json:"parameters"` - // Annotations - List of tags that can be used for describing the linked service. - Annotations *[]interface{} `json:"annotations,omitempty"` - // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' - Type TypeBasicLinkedService `json:"type,omitempty"` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' + Type TypeBasicCopySource `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for FtpServerLinkedService. -func (fsls FtpServerLinkedService) MarshalJSON() ([]byte, error) { - fsls.Type = TypeFtpServer +// MarshalJSON is the custom marshaler for EloquaSource. +func (es EloquaSource) MarshalJSON() ([]byte, error) { + es.Type = TypeEloquaSource objectMap := make(map[string]interface{}) - if fsls.FtpServerLinkedServiceTypeProperties != nil { - objectMap["typeProperties"] = fsls.FtpServerLinkedServiceTypeProperties + if es.Query != nil { + objectMap["query"] = es.Query } - if fsls.ConnectVia != nil { - objectMap["connectVia"] = fsls.ConnectVia + if es.QueryTimeout != nil { + objectMap["queryTimeout"] = es.QueryTimeout } - if fsls.Description != nil { - objectMap["description"] = fsls.Description + if es.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = es.SourceRetryCount } - if fsls.Parameters != nil { - objectMap["parameters"] = fsls.Parameters + if es.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = es.SourceRetryWait } - if fsls.Annotations != nil { - objectMap["annotations"] = fsls.Annotations + if es.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = es.MaxConcurrentConnections } - if fsls.Type != "" { - objectMap["type"] = fsls.Type + if es.Type != "" { + objectMap["type"] = es.Type } - for k, v := range fsls.AdditionalProperties { + for k, v := range es.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsAzureFunctionLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. -func (fsls FtpServerLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { +// AsHTTPSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsHTTPSource() (*HTTPSource, bool) { return nil, false } -// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. -func (fsls FtpServerLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { +// AsAzureBlobFSSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { return nil, false } -// AsSapTableLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. -func (fsls FtpServerLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { return nil, false } -// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. -func (fsls FtpServerLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { +// AsOffice365Source is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsOffice365Source() (*Office365Source, bool) { return nil, false } -// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. -func (fsls FtpServerLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { return nil, false } -// AsDynamicsAXLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. -func (fsls FtpServerLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { +// AsMongoDbV2Source is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { return nil, false } -// AsResponsysLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. -func (fsls FtpServerLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { +// AsMongoDbSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsMongoDbSource() (*MongoDbSource, bool) { return nil, false } -// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. -func (fsls FtpServerLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { +// AsWebSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsWebSource() (*WebSource, bool) { return nil, false } -// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. -func (fsls FtpServerLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { +// AsOracleSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsOracleSource() (*OracleSource, bool) { return nil, false } -// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. -func (fsls FtpServerLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { +// AsAzureDataExplorerSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { return nil, false } -// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. -func (fsls FtpServerLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { +// AsHdfsSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsHdfsSource() (*HdfsSource, bool) { return nil, false } -// AsNetezzaLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. -func (fsls FtpServerLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { +// AsFileSystemSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsFileSystemSource() (*FileSystemSource, bool) { return nil, false } -// AsVerticaLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. -func (fsls FtpServerLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { +// AsRestSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsRestSource() (*RestSource, bool) { return nil, false } -// AsZohoLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. -func (fsls FtpServerLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { return nil, false } -// AsXeroLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. -func (fsls FtpServerLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { +// AsODataSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsODataSource() (*ODataSource, bool) { return nil, false } -// AsSquareLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. -func (fsls FtpServerLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { +// AsMicrosoftAccessSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { return nil, false } -// AsSparkLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. -func (fsls FtpServerLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { +// AsRelationalSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsRelationalSource() (*RelationalSource, bool) { return nil, false } -// AsShopifyLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. -func (fsls FtpServerLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { return nil, false } -// AsServiceNowLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. -func (fsls FtpServerLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { +// AsDynamicsCrmSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { return nil, false } -// AsQuickBooksLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. -func (fsls FtpServerLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { +// AsDynamicsSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsDynamicsSource() (*DynamicsSource, bool) { return nil, false } -// AsPrestoLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. -func (fsls FtpServerLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { return nil, false } -// AsPhoenixLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. -func (fsls FtpServerLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { +// AsDocumentDbCollectionSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { return nil, false } -// AsPaypalLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. -func (fsls FtpServerLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { +// AsBlobSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsBlobSource() (*BlobSource, bool) { return nil, false } -// AsMarketoLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. -func (fsls FtpServerLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { +// AsAmazonRedshiftSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { return nil, false } -// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. -func (fsls FtpServerLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { +// AsGoogleAdWordsSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { return nil, false } -// AsMariaDBLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. -func (fsls FtpServerLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { +// AsOracleServiceCloudSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { return nil, false } -// AsMagentoLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. -func (fsls FtpServerLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { +// AsDynamicsAXSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { return nil, false } -// AsJiraLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. -func (fsls FtpServerLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { +// AsResponsysSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsResponsysSource() (*ResponsysSource, bool) { return nil, false } -// AsImpalaLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. -func (fsls FtpServerLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { return nil, false } -// AsHubspotLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. -func (fsls FtpServerLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { +// AsVerticaSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsVerticaSource() (*VerticaSource, bool) { return nil, false } -// AsHiveLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. -func (fsls FtpServerLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { +// AsNetezzaSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsNetezzaSource() (*NetezzaSource, bool) { return nil, false } -// AsHBaseLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. -func (fsls FtpServerLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { +// AsZohoSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsZohoSource() (*ZohoSource, bool) { return nil, false } -// AsGreenplumLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. -func (fsls FtpServerLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { +// AsXeroSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsXeroSource() (*XeroSource, bool) { return nil, false } -// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. -func (fsls FtpServerLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { +// AsSquareSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsSquareSource() (*SquareSource, bool) { return nil, false } -// AsEloquaLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. -func (fsls FtpServerLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { +// AsSparkSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsSparkSource() (*SparkSource, bool) { return nil, false } -// AsDrillLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. -func (fsls FtpServerLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { +// AsShopifySource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsShopifySource() (*ShopifySource, bool) { return nil, false } -// AsCouchbaseLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. -func (fsls FtpServerLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { +// AsServiceNowSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsServiceNowSource() (*ServiceNowSource, bool) { return nil, false } -// AsConcurLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. -func (fsls FtpServerLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { +// AsQuickBooksSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsQuickBooksSource() (*QuickBooksSource, bool) { return nil, false } -// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. -func (fsls FtpServerLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { +// AsPrestoSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsPrestoSource() (*PrestoSource, bool) { return nil, false } -// AsAmazonMWSLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. -func (fsls FtpServerLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { +// AsPhoenixSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsPhoenixSource() (*PhoenixSource, bool) { return nil, false } -// AsSapHanaLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. -func (fsls FtpServerLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { +// AsPaypalSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsPaypalSource() (*PaypalSource, bool) { return nil, false } -// AsSapBWLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. -func (fsls FtpServerLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { +// AsMarketoSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsMarketoSource() (*MarketoSource, bool) { return nil, false } -// AsSftpServerLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. -func (fsls FtpServerLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { +// AsAzureMariaDBSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { return nil, false } -// AsFtpServerLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. -func (fsls FtpServerLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { - return &fsls, true +// AsMariaDBSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsMariaDBSource() (*MariaDBSource, bool) { + return nil, false } -// AsHTTPLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. -func (fsls FtpServerLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { +// AsMagentoSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsMagentoSource() (*MagentoSource, bool) { return nil, false } -// AsAzureSearchLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. -func (fsls FtpServerLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { - return nil, false -} - -// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. -func (fsls FtpServerLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { - return nil, false -} - -// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. -func (fsls FtpServerLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { - return nil, false -} - -// AsAmazonS3LinkedService is the BasicLinkedService implementation for FtpServerLinkedService. -func (fsls FtpServerLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { +// AsJiraSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsJiraSource() (*JiraSource, bool) { return nil, false } -// AsRestServiceLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. -func (fsls FtpServerLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { +// AsImpalaSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsImpalaSource() (*ImpalaSource, bool) { return nil, false } -// AsSapOpenHubLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. -func (fsls FtpServerLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { +// AsHubspotSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsHubspotSource() (*HubspotSource, bool) { return nil, false } -// AsSapEccLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. -func (fsls FtpServerLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { +// AsHiveSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsHiveSource() (*HiveSource, bool) { return nil, false } -// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. -func (fsls FtpServerLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { +// AsHBaseSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsHBaseSource() (*HBaseSource, bool) { return nil, false } -// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. -func (fsls FtpServerLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { +// AsGreenplumSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsGreenplumSource() (*GreenplumSource, bool) { return nil, false } -// AsSalesforceLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. -func (fsls FtpServerLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { +// AsGoogleBigQuerySource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { return nil, false } -// AsOffice365LinkedService is the BasicLinkedService implementation for FtpServerLinkedService. -func (fsls FtpServerLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { - return nil, false +// AsEloquaSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsEloquaSource() (*EloquaSource, bool) { + return &es, true } -// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. -func (fsls FtpServerLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { +// AsDrillSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsDrillSource() (*DrillSource, bool) { return nil, false } -// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. -func (fsls FtpServerLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { +// AsCouchbaseSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsCouchbaseSource() (*CouchbaseSource, bool) { return nil, false } -// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for FtpServerLinkedService. -func (fsls FtpServerLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { +// AsConcurSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsConcurSource() (*ConcurSource, bool) { return nil, false } -// AsMongoDbV2LinkedService is the BasicLinkedService implementation for FtpServerLinkedService. -func (fsls FtpServerLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { +// AsAzurePostgreSQLSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { return nil, false } -// AsMongoDbLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. -func (fsls FtpServerLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { +// AsAmazonMWSSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { return nil, false } -// AsCassandraLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. -func (fsls FtpServerLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { +// AsCassandraSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsCassandraSource() (*CassandraSource, bool) { return nil, false } -// AsWebLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. -func (fsls FtpServerLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { +// AsTeradataSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsTeradataSource() (*TeradataSource, bool) { return nil, false } -// AsODataLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. -func (fsls FtpServerLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { +// AsAzureMySQLSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { return nil, false } -// AsHdfsLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. -func (fsls FtpServerLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { +// AsSQLDWSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsSQLDWSource() (*SQLDWSource, bool) { return nil, false } -// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. -func (fsls FtpServerLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { +// AsSQLMISource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsSQLMISource() (*SQLMISource, bool) { return nil, false } -// AsInformixLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. -func (fsls FtpServerLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { +// AsAzureSQLSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsAzureSQLSource() (*AzureSQLSource, bool) { return nil, false } -// AsOdbcLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. -func (fsls FtpServerLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { +// AsSQLServerSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsSQLServerSource() (*SQLServerSource, bool) { return nil, false } -// AsAzureMLLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. -func (fsls FtpServerLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { +// AsSQLSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsSQLSource() (*SQLSource, bool) { return nil, false } -// AsTeradataLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. -func (fsls FtpServerLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { +// AsSapTableSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsSapTableSource() (*SapTableSource, bool) { return nil, false } -// AsDb2LinkedService is the BasicLinkedService implementation for FtpServerLinkedService. -func (fsls FtpServerLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { +// AsSapOpenHubSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { return nil, false } -// AsSybaseLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. -func (fsls FtpServerLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { +// AsSapHanaSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsSapHanaSource() (*SapHanaSource, bool) { return nil, false } -// AsPostgreSQLLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. -func (fsls FtpServerLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { +// AsSapEccSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsSapEccSource() (*SapEccSource, bool) { return nil, false } -// AsMySQLLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. -func (fsls FtpServerLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { +// AsSapCloudForCustomerSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { return nil, false } -// AsAzureMySQLLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. -func (fsls FtpServerLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { +// AsSalesforceSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsSalesforceSource() (*SalesforceSource, bool) { return nil, false } -// AsOracleLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. -func (fsls FtpServerLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { +// AsSapBwSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsSapBwSource() (*SapBwSource, bool) { return nil, false } -// AsFileServerLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. -func (fsls FtpServerLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { +// AsSybaseSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsSybaseSource() (*SybaseSource, bool) { return nil, false } -// AsHDInsightLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. -func (fsls FtpServerLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { +// AsPostgreSQLSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { return nil, false } -// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. -func (fsls FtpServerLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { +// AsMySQLSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsMySQLSource() (*MySQLSource, bool) { return nil, false } -// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. -func (fsls FtpServerLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { +// AsOdbcSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsOdbcSource() (*OdbcSource, bool) { return nil, false } -// AsDynamicsLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. -func (fsls FtpServerLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { +// AsDb2Source is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsDb2Source() (*Db2Source, bool) { return nil, false } -// AsCosmosDbLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. -func (fsls FtpServerLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { +// AsInformixSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsInformixSource() (*InformixSource, bool) { return nil, false } -// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. -func (fsls FtpServerLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { +// AsAzureTableSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsAzureTableSource() (*AzureTableSource, bool) { return nil, false } -// AsAzureBatchLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. -func (fsls FtpServerLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { +// AsTabularSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsTabularSource() (*TabularSource, bool) { return nil, false } -// AsAzureSQLMILinkedService is the BasicLinkedService implementation for FtpServerLinkedService. -func (fsls FtpServerLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { - return nil, false +// AsBasicTabularSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &es, true } -// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. -func (fsls FtpServerLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { +// AsBinarySource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsBinarySource() (*BinarySource, bool) { return nil, false } -// AsSQLServerLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. -func (fsls FtpServerLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { +// AsOrcSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsOrcSource() (*OrcSource, bool) { return nil, false } -// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. -func (fsls FtpServerLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { +// AsJSONSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsJSONSource() (*JSONSource, bool) { return nil, false } -// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. -func (fsls FtpServerLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { +// AsDelimitedTextSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { return nil, false } -// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. -func (fsls FtpServerLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { +// AsParquetSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsParquetSource() (*ParquetSource, bool) { return nil, false } -// AsAzureStorageLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. -func (fsls FtpServerLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { +// AsAvroSource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsAvroSource() (*AvroSource, bool) { return nil, false } -// AsLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. -func (fsls FtpServerLinkedService) AsLinkedService() (*LinkedService, bool) { +// AsCopySource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsCopySource() (*CopySource, bool) { return nil, false } -// AsBasicLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. -func (fsls FtpServerLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { - return &fsls, true +// AsBasicCopySource is the BasicCopySource implementation for EloquaSource. +func (es EloquaSource) AsBasicCopySource() (BasicCopySource, bool) { + return &es, true } -// UnmarshalJSON is the custom unmarshaler for FtpServerLinkedService struct. -func (fsls *FtpServerLinkedService) UnmarshalJSON(body []byte) error { +// UnmarshalJSON is the custom unmarshaler for EloquaSource struct. +func (es *EloquaSource) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -79834,71 +83779,71 @@ func (fsls *FtpServerLinkedService) UnmarshalJSON(body []byte) error { } for k, v := range m { switch k { - case "typeProperties": + case "query": if v != nil { - var ftpServerLinkedServiceTypeProperties FtpServerLinkedServiceTypeProperties - err = json.Unmarshal(*v, &ftpServerLinkedServiceTypeProperties) + var query interface{} + err = json.Unmarshal(*v, &query) if err != nil { return err } - fsls.FtpServerLinkedServiceTypeProperties = &ftpServerLinkedServiceTypeProperties + es.Query = query } - default: + case "queryTimeout": if v != nil { - var additionalProperties interface{} - err = json.Unmarshal(*v, &additionalProperties) + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) if err != nil { return err } - if fsls.AdditionalProperties == nil { - fsls.AdditionalProperties = make(map[string]interface{}) - } - fsls.AdditionalProperties[k] = additionalProperties + es.QueryTimeout = queryTimeout } - case "connectVia": + default: if v != nil { - var connectVia IntegrationRuntimeReference - err = json.Unmarshal(*v, &connectVia) + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) if err != nil { return err } - fsls.ConnectVia = &connectVia + if es.AdditionalProperties == nil { + es.AdditionalProperties = make(map[string]interface{}) + } + es.AdditionalProperties[k] = additionalProperties } - case "description": + case "sourceRetryCount": if v != nil { - var description string - err = json.Unmarshal(*v, &description) + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) if err != nil { return err } - fsls.Description = &description + es.SourceRetryCount = sourceRetryCount } - case "parameters": + case "sourceRetryWait": if v != nil { - var parameters map[string]*ParameterSpecification - err = json.Unmarshal(*v, ¶meters) + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) if err != nil { return err } - fsls.Parameters = parameters + es.SourceRetryWait = sourceRetryWait } - case "annotations": + case "maxConcurrentConnections": if v != nil { - var annotations []interface{} - err = json.Unmarshal(*v, &annotations) + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) if err != nil { return err } - fsls.Annotations = &annotations + es.MaxConcurrentConnections = maxConcurrentConnections } case "type": if v != nil { - var typeVar TypeBasicLinkedService + var typeVar TypeBasicCopySource err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - fsls.Type = typeVar + es.Type = typeVar } } } @@ -79906,144 +83851,62 @@ func (fsls *FtpServerLinkedService) UnmarshalJSON(body []byte) error { return nil } -// FtpServerLinkedServiceTypeProperties properties specific to this linked service type. -type FtpServerLinkedServiceTypeProperties struct { - // Host - Host name of the FTP server. Type: string (or Expression with resultType string). - Host interface{} `json:"host,omitempty"` - // Port - The TCP port number that the FTP server uses to listen for client connections. Default value is 21. Type: integer (or Expression with resultType integer), minimum: 0. - Port interface{} `json:"port,omitempty"` - // AuthenticationType - The authentication type to be used to connect to the FTP server. Possible values include: 'FtpAuthenticationTypeBasic', 'FtpAuthenticationTypeAnonymous' - AuthenticationType FtpAuthenticationType `json:"authenticationType,omitempty"` - // UserName - Username to logon the FTP server. Type: string (or Expression with resultType string). - UserName interface{} `json:"userName,omitempty"` - // Password - Password to logon the FTP server. - Password BasicSecretBase `json:"password,omitempty"` - // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). - EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` - // EnableSsl - If true, connect to the FTP server over SSL/TLS channel. Default value is true. Type: boolean (or Expression with resultType boolean). - EnableSsl interface{} `json:"enableSsl,omitempty"` - // EnableServerCertificateValidation - If true, validate the FTP server SSL certificate when connect over SSL/TLS channel. Default value is true. Type: boolean (or Expression with resultType boolean). - EnableServerCertificateValidation interface{} `json:"enableServerCertificateValidation,omitempty"` +// EntityReference the entity reference. +type EntityReference struct { + // Type - The type of this referenced entity. Possible values include: 'IntegrationRuntimeEntityReferenceTypeIntegrationRuntimeReference', 'IntegrationRuntimeEntityReferenceTypeLinkedServiceReference' + Type IntegrationRuntimeEntityReferenceType `json:"type,omitempty"` + // ReferenceName - The name of this referenced entity. + ReferenceName *string `json:"referenceName,omitempty"` } -// UnmarshalJSON is the custom unmarshaler for FtpServerLinkedServiceTypeProperties struct. -func (fslstp *FtpServerLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err +// EnvironmentVariableSetup the custom setup of setting environment variable. +type EnvironmentVariableSetup struct { + // EnvironmentVariableSetupTypeProperties - Add environment variable type properties. + *EnvironmentVariableSetupTypeProperties `json:"typeProperties,omitempty"` + // Type - Possible values include: 'TypeCustomSetupBase', 'TypeComponentSetup', 'TypeEnvironmentVariableSetup', 'TypeCmdkeySetup' + Type TypeBasicCustomSetupBase `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for EnvironmentVariableSetup. +func (evs EnvironmentVariableSetup) MarshalJSON() ([]byte, error) { + evs.Type = TypeEnvironmentVariableSetup + objectMap := make(map[string]interface{}) + if evs.EnvironmentVariableSetupTypeProperties != nil { + objectMap["typeProperties"] = evs.EnvironmentVariableSetupTypeProperties } - for k, v := range m { - switch k { - case "host": - if v != nil { - var host interface{} - err = json.Unmarshal(*v, &host) - if err != nil { - return err - } - fslstp.Host = host - } - case "port": - if v != nil { - var port interface{} - err = json.Unmarshal(*v, &port) - if err != nil { - return err - } - fslstp.Port = port - } - case "authenticationType": - if v != nil { - var authenticationType FtpAuthenticationType - err = json.Unmarshal(*v, &authenticationType) - if err != nil { - return err - } - fslstp.AuthenticationType = authenticationType - } - case "userName": - if v != nil { - var userName interface{} - err = json.Unmarshal(*v, &userName) - if err != nil { - return err - } - fslstp.UserName = userName - } - case "password": - if v != nil { - password, err := unmarshalBasicSecretBase(*v) - if err != nil { - return err - } - fslstp.Password = password - } - case "encryptedCredential": - if v != nil { - var encryptedCredential interface{} - err = json.Unmarshal(*v, &encryptedCredential) - if err != nil { - return err - } - fslstp.EncryptedCredential = encryptedCredential - } - case "enableSsl": - if v != nil { - var enableSsl interface{} - err = json.Unmarshal(*v, &enableSsl) - if err != nil { - return err - } - fslstp.EnableSsl = enableSsl - } - case "enableServerCertificateValidation": - if v != nil { - var enableServerCertificateValidation interface{} - err = json.Unmarshal(*v, &enableServerCertificateValidation) - if err != nil { - return err - } - fslstp.EnableServerCertificateValidation = enableServerCertificateValidation - } - } + if evs.Type != "" { + objectMap["type"] = evs.Type } + return json.Marshal(objectMap) +} - return nil +// AsComponentSetup is the BasicCustomSetupBase implementation for EnvironmentVariableSetup. +func (evs EnvironmentVariableSetup) AsComponentSetup() (*ComponentSetup, bool) { + return nil, false } -// FtpServerLocation the location of ftp server dataset. -type FtpServerLocation struct { - // AdditionalProperties - Unmatched properties from the message are deserialized this collection - AdditionalProperties map[string]interface{} `json:""` - // Type - Type of dataset storage location. - Type *string `json:"type,omitempty"` - // FolderPath - Specify the folder path of dataset. Type: string (or Expression with resultType string) - FolderPath interface{} `json:"folderPath,omitempty"` - // FileName - Specify the file name of dataset. Type: string (or Expression with resultType string). - FileName interface{} `json:"fileName,omitempty"` +// AsEnvironmentVariableSetup is the BasicCustomSetupBase implementation for EnvironmentVariableSetup. +func (evs EnvironmentVariableSetup) AsEnvironmentVariableSetup() (*EnvironmentVariableSetup, bool) { + return &evs, true } -// MarshalJSON is the custom marshaler for FtpServerLocation. -func (fsl FtpServerLocation) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - if fsl.Type != nil { - objectMap["type"] = fsl.Type - } - if fsl.FolderPath != nil { - objectMap["folderPath"] = fsl.FolderPath - } - if fsl.FileName != nil { - objectMap["fileName"] = fsl.FileName - } - for k, v := range fsl.AdditionalProperties { - objectMap[k] = v - } - return json.Marshal(objectMap) +// AsCmdkeySetup is the BasicCustomSetupBase implementation for EnvironmentVariableSetup. +func (evs EnvironmentVariableSetup) AsCmdkeySetup() (*CmdkeySetup, bool) { + return nil, false } -// UnmarshalJSON is the custom unmarshaler for FtpServerLocation struct. -func (fsl *FtpServerLocation) UnmarshalJSON(body []byte) error { +// AsCustomSetupBase is the BasicCustomSetupBase implementation for EnvironmentVariableSetup. +func (evs EnvironmentVariableSetup) AsCustomSetupBase() (*CustomSetupBase, bool) { + return nil, false +} + +// AsBasicCustomSetupBase is the BasicCustomSetupBase implementation for EnvironmentVariableSetup. +func (evs EnvironmentVariableSetup) AsBasicCustomSetupBase() (BasicCustomSetupBase, bool) { + return &evs, true +} + +// UnmarshalJSON is the custom unmarshaler for EnvironmentVariableSetup struct. +func (evs *EnvironmentVariableSetup) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -80051,44 +83914,23 @@ func (fsl *FtpServerLocation) UnmarshalJSON(body []byte) error { } for k, v := range m { switch k { - default: + case "typeProperties": if v != nil { - var additionalProperties interface{} - err = json.Unmarshal(*v, &additionalProperties) + var environmentVariableSetupTypeProperties EnvironmentVariableSetupTypeProperties + err = json.Unmarshal(*v, &environmentVariableSetupTypeProperties) if err != nil { return err } - if fsl.AdditionalProperties == nil { - fsl.AdditionalProperties = make(map[string]interface{}) - } - fsl.AdditionalProperties[k] = additionalProperties + evs.EnvironmentVariableSetupTypeProperties = &environmentVariableSetupTypeProperties } case "type": if v != nil { - var typeVar string + var typeVar TypeBasicCustomSetupBase err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - fsl.Type = &typeVar - } - case "folderPath": - if v != nil { - var folderPath interface{} - err = json.Unmarshal(*v, &folderPath) - if err != nil { - return err - } - fsl.FolderPath = folderPath - } - case "fileName": - if v != nil { - var fileName interface{} - err = json.Unmarshal(*v, &fileName) - if err != nil { - return err - } - fsl.FileName = fileName + evs.Type = typeVar } } } @@ -80096,16 +83938,18 @@ func (fsl *FtpServerLocation) UnmarshalJSON(body []byte) error { return nil } -// GenericDatasetTypeProperties properties specific to this dataset type. -type GenericDatasetTypeProperties struct { - // TableName - The table name. Type: string (or Expression with resultType string). - TableName interface{} `json:"tableName,omitempty"` +// EnvironmentVariableSetupTypeProperties environment variable custom setup type properties. +type EnvironmentVariableSetupTypeProperties struct { + // VariableName - The name of the environment variable. + VariableName *string `json:"variableName,omitempty"` + // VariableValue - The value of the environment variable. + VariableValue *string `json:"variableValue,omitempty"` } -// GetMetadataActivity activity to get metadata of dataset -type GetMetadataActivity struct { - // GetMetadataActivityTypeProperties - GetMetadata activity properties. - *GetMetadataActivityTypeProperties `json:"typeProperties,omitempty"` +// ExecuteDataFlowActivity execute data flow activity. +type ExecuteDataFlowActivity struct { + // ExecuteDataFlowActivityTypeProperties - Execute data flow activity properties. + *ExecuteDataFlowActivityTypeProperties `json:"typeProperties,omitempty"` // LinkedServiceName - Linked service reference. LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` // Policy - Activity policy. @@ -80120,231 +83964,246 @@ type GetMetadataActivity struct { DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"` // UserProperties - Activity user properties. UserProperties *[]UserProperty `json:"userProperties,omitempty"` - // Type - Possible values include: 'TypeActivity', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer' + // Type - Possible values include: 'TypeActivity', 'TypeExecuteDataFlow', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLExecutePipeline', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeSwitch', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer' Type TypeBasicActivity `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for GetMetadataActivity. -func (gma GetMetadataActivity) MarshalJSON() ([]byte, error) { - gma.Type = TypeGetMetadata +// MarshalJSON is the custom marshaler for ExecuteDataFlowActivity. +func (edfa ExecuteDataFlowActivity) MarshalJSON() ([]byte, error) { + edfa.Type = TypeExecuteDataFlow objectMap := make(map[string]interface{}) - if gma.GetMetadataActivityTypeProperties != nil { - objectMap["typeProperties"] = gma.GetMetadataActivityTypeProperties + if edfa.ExecuteDataFlowActivityTypeProperties != nil { + objectMap["typeProperties"] = edfa.ExecuteDataFlowActivityTypeProperties } - if gma.LinkedServiceName != nil { - objectMap["linkedServiceName"] = gma.LinkedServiceName + if edfa.LinkedServiceName != nil { + objectMap["linkedServiceName"] = edfa.LinkedServiceName } - if gma.Policy != nil { - objectMap["policy"] = gma.Policy + if edfa.Policy != nil { + objectMap["policy"] = edfa.Policy } - if gma.Name != nil { - objectMap["name"] = gma.Name + if edfa.Name != nil { + objectMap["name"] = edfa.Name } - if gma.Description != nil { - objectMap["description"] = gma.Description + if edfa.Description != nil { + objectMap["description"] = edfa.Description } - if gma.DependsOn != nil { - objectMap["dependsOn"] = gma.DependsOn + if edfa.DependsOn != nil { + objectMap["dependsOn"] = edfa.DependsOn } - if gma.UserProperties != nil { - objectMap["userProperties"] = gma.UserProperties + if edfa.UserProperties != nil { + objectMap["userProperties"] = edfa.UserProperties } - if gma.Type != "" { - objectMap["type"] = gma.Type + if edfa.Type != "" { + objectMap["type"] = edfa.Type } - for k, v := range gma.AdditionalProperties { + for k, v := range edfa.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsAzureFunctionActivity is the BasicActivity implementation for GetMetadataActivity. -func (gma GetMetadataActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) { +// AsExecuteDataFlowActivity is the BasicActivity implementation for ExecuteDataFlowActivity. +func (edfa ExecuteDataFlowActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) { + return &edfa, true +} + +// AsAzureFunctionActivity is the BasicActivity implementation for ExecuteDataFlowActivity. +func (edfa ExecuteDataFlowActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) { return nil, false } -// AsDatabricksSparkPythonActivity is the BasicActivity implementation for GetMetadataActivity. -func (gma GetMetadataActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) { +// AsDatabricksSparkPythonActivity is the BasicActivity implementation for ExecuteDataFlowActivity. +func (edfa ExecuteDataFlowActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) { return nil, false } -// AsDatabricksSparkJarActivity is the BasicActivity implementation for GetMetadataActivity. -func (gma GetMetadataActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) { +// AsDatabricksSparkJarActivity is the BasicActivity implementation for ExecuteDataFlowActivity. +func (edfa ExecuteDataFlowActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) { return nil, false } -// AsDatabricksNotebookActivity is the BasicActivity implementation for GetMetadataActivity. -func (gma GetMetadataActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) { +// AsDatabricksNotebookActivity is the BasicActivity implementation for ExecuteDataFlowActivity. +func (edfa ExecuteDataFlowActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) { return nil, false } -// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for GetMetadataActivity. -func (gma GetMetadataActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) { +// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for ExecuteDataFlowActivity. +func (edfa ExecuteDataFlowActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) { return nil, false } -// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for GetMetadataActivity. -func (gma GetMetadataActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) { +// AsAzureMLExecutePipelineActivity is the BasicActivity implementation for ExecuteDataFlowActivity. +func (edfa ExecuteDataFlowActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) { return nil, false } -// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for GetMetadataActivity. -func (gma GetMetadataActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) { +// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for ExecuteDataFlowActivity. +func (edfa ExecuteDataFlowActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) { return nil, false } -// AsGetMetadataActivity is the BasicActivity implementation for GetMetadataActivity. -func (gma GetMetadataActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) { - return &gma, true +// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for ExecuteDataFlowActivity. +func (edfa ExecuteDataFlowActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) { + return nil, false } -// AsWebActivity is the BasicActivity implementation for GetMetadataActivity. -func (gma GetMetadataActivity) AsWebActivity() (*WebActivity, bool) { +// AsGetMetadataActivity is the BasicActivity implementation for ExecuteDataFlowActivity. +func (edfa ExecuteDataFlowActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) { return nil, false } -// AsLookupActivity is the BasicActivity implementation for GetMetadataActivity. -func (gma GetMetadataActivity) AsLookupActivity() (*LookupActivity, bool) { +// AsWebActivity is the BasicActivity implementation for ExecuteDataFlowActivity. +func (edfa ExecuteDataFlowActivity) AsWebActivity() (*WebActivity, bool) { return nil, false } -// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for GetMetadataActivity. -func (gma GetMetadataActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) { +// AsLookupActivity is the BasicActivity implementation for ExecuteDataFlowActivity. +func (edfa ExecuteDataFlowActivity) AsLookupActivity() (*LookupActivity, bool) { return nil, false } -// AsDeleteActivity is the BasicActivity implementation for GetMetadataActivity. -func (gma GetMetadataActivity) AsDeleteActivity() (*DeleteActivity, bool) { +// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for ExecuteDataFlowActivity. +func (edfa ExecuteDataFlowActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) { return nil, false } -// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for GetMetadataActivity. -func (gma GetMetadataActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) { +// AsDeleteActivity is the BasicActivity implementation for ExecuteDataFlowActivity. +func (edfa ExecuteDataFlowActivity) AsDeleteActivity() (*DeleteActivity, bool) { return nil, false } -// AsCustomActivity is the BasicActivity implementation for GetMetadataActivity. -func (gma GetMetadataActivity) AsCustomActivity() (*CustomActivity, bool) { +// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for ExecuteDataFlowActivity. +func (edfa ExecuteDataFlowActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) { return nil, false } -// AsExecuteSSISPackageActivity is the BasicActivity implementation for GetMetadataActivity. -func (gma GetMetadataActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) { +// AsCustomActivity is the BasicActivity implementation for ExecuteDataFlowActivity. +func (edfa ExecuteDataFlowActivity) AsCustomActivity() (*CustomActivity, bool) { return nil, false } -// AsHDInsightSparkActivity is the BasicActivity implementation for GetMetadataActivity. -func (gma GetMetadataActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) { +// AsExecuteSSISPackageActivity is the BasicActivity implementation for ExecuteDataFlowActivity. +func (edfa ExecuteDataFlowActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) { return nil, false } -// AsHDInsightStreamingActivity is the BasicActivity implementation for GetMetadataActivity. -func (gma GetMetadataActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) { +// AsHDInsightSparkActivity is the BasicActivity implementation for ExecuteDataFlowActivity. +func (edfa ExecuteDataFlowActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) { return nil, false } -// AsHDInsightMapReduceActivity is the BasicActivity implementation for GetMetadataActivity. -func (gma GetMetadataActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) { +// AsHDInsightStreamingActivity is the BasicActivity implementation for ExecuteDataFlowActivity. +func (edfa ExecuteDataFlowActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) { return nil, false } -// AsHDInsightPigActivity is the BasicActivity implementation for GetMetadataActivity. -func (gma GetMetadataActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) { +// AsHDInsightMapReduceActivity is the BasicActivity implementation for ExecuteDataFlowActivity. +func (edfa ExecuteDataFlowActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) { return nil, false } -// AsHDInsightHiveActivity is the BasicActivity implementation for GetMetadataActivity. -func (gma GetMetadataActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) { +// AsHDInsightPigActivity is the BasicActivity implementation for ExecuteDataFlowActivity. +func (edfa ExecuteDataFlowActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) { return nil, false } -// AsCopyActivity is the BasicActivity implementation for GetMetadataActivity. -func (gma GetMetadataActivity) AsCopyActivity() (*CopyActivity, bool) { +// AsHDInsightHiveActivity is the BasicActivity implementation for ExecuteDataFlowActivity. +func (edfa ExecuteDataFlowActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) { return nil, false } -// AsExecutionActivity is the BasicActivity implementation for GetMetadataActivity. -func (gma GetMetadataActivity) AsExecutionActivity() (*ExecutionActivity, bool) { +// AsCopyActivity is the BasicActivity implementation for ExecuteDataFlowActivity. +func (edfa ExecuteDataFlowActivity) AsCopyActivity() (*CopyActivity, bool) { return nil, false } -// AsBasicExecutionActivity is the BasicActivity implementation for GetMetadataActivity. -func (gma GetMetadataActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) { - return &gma, true +// AsExecutionActivity is the BasicActivity implementation for ExecuteDataFlowActivity. +func (edfa ExecuteDataFlowActivity) AsExecutionActivity() (*ExecutionActivity, bool) { + return nil, false } -// AsWebHookActivity is the BasicActivity implementation for GetMetadataActivity. -func (gma GetMetadataActivity) AsWebHookActivity() (*WebHookActivity, bool) { +// AsBasicExecutionActivity is the BasicActivity implementation for ExecuteDataFlowActivity. +func (edfa ExecuteDataFlowActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) { + return &edfa, true +} + +// AsWebHookActivity is the BasicActivity implementation for ExecuteDataFlowActivity. +func (edfa ExecuteDataFlowActivity) AsWebHookActivity() (*WebHookActivity, bool) { return nil, false } -// AsAppendVariableActivity is the BasicActivity implementation for GetMetadataActivity. -func (gma GetMetadataActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) { +// AsAppendVariableActivity is the BasicActivity implementation for ExecuteDataFlowActivity. +func (edfa ExecuteDataFlowActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) { return nil, false } -// AsSetVariableActivity is the BasicActivity implementation for GetMetadataActivity. -func (gma GetMetadataActivity) AsSetVariableActivity() (*SetVariableActivity, bool) { +// AsSetVariableActivity is the BasicActivity implementation for ExecuteDataFlowActivity. +func (edfa ExecuteDataFlowActivity) AsSetVariableActivity() (*SetVariableActivity, bool) { return nil, false } -// AsFilterActivity is the BasicActivity implementation for GetMetadataActivity. -func (gma GetMetadataActivity) AsFilterActivity() (*FilterActivity, bool) { +// AsFilterActivity is the BasicActivity implementation for ExecuteDataFlowActivity. +func (edfa ExecuteDataFlowActivity) AsFilterActivity() (*FilterActivity, bool) { return nil, false } -// AsValidationActivity is the BasicActivity implementation for GetMetadataActivity. -func (gma GetMetadataActivity) AsValidationActivity() (*ValidationActivity, bool) { +// AsValidationActivity is the BasicActivity implementation for ExecuteDataFlowActivity. +func (edfa ExecuteDataFlowActivity) AsValidationActivity() (*ValidationActivity, bool) { return nil, false } -// AsUntilActivity is the BasicActivity implementation for GetMetadataActivity. -func (gma GetMetadataActivity) AsUntilActivity() (*UntilActivity, bool) { +// AsUntilActivity is the BasicActivity implementation for ExecuteDataFlowActivity. +func (edfa ExecuteDataFlowActivity) AsUntilActivity() (*UntilActivity, bool) { return nil, false } -// AsWaitActivity is the BasicActivity implementation for GetMetadataActivity. -func (gma GetMetadataActivity) AsWaitActivity() (*WaitActivity, bool) { +// AsWaitActivity is the BasicActivity implementation for ExecuteDataFlowActivity. +func (edfa ExecuteDataFlowActivity) AsWaitActivity() (*WaitActivity, bool) { return nil, false } -// AsForEachActivity is the BasicActivity implementation for GetMetadataActivity. -func (gma GetMetadataActivity) AsForEachActivity() (*ForEachActivity, bool) { +// AsForEachActivity is the BasicActivity implementation for ExecuteDataFlowActivity. +func (edfa ExecuteDataFlowActivity) AsForEachActivity() (*ForEachActivity, bool) { return nil, false } -// AsIfConditionActivity is the BasicActivity implementation for GetMetadataActivity. -func (gma GetMetadataActivity) AsIfConditionActivity() (*IfConditionActivity, bool) { +// AsSwitchActivity is the BasicActivity implementation for ExecuteDataFlowActivity. +func (edfa ExecuteDataFlowActivity) AsSwitchActivity() (*SwitchActivity, bool) { return nil, false } -// AsExecutePipelineActivity is the BasicActivity implementation for GetMetadataActivity. -func (gma GetMetadataActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) { +// AsIfConditionActivity is the BasicActivity implementation for ExecuteDataFlowActivity. +func (edfa ExecuteDataFlowActivity) AsIfConditionActivity() (*IfConditionActivity, bool) { return nil, false } -// AsControlActivity is the BasicActivity implementation for GetMetadataActivity. -func (gma GetMetadataActivity) AsControlActivity() (*ControlActivity, bool) { +// AsExecutePipelineActivity is the BasicActivity implementation for ExecuteDataFlowActivity. +func (edfa ExecuteDataFlowActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) { return nil, false } -// AsBasicControlActivity is the BasicActivity implementation for GetMetadataActivity. -func (gma GetMetadataActivity) AsBasicControlActivity() (BasicControlActivity, bool) { +// AsControlActivity is the BasicActivity implementation for ExecuteDataFlowActivity. +func (edfa ExecuteDataFlowActivity) AsControlActivity() (*ControlActivity, bool) { return nil, false } -// AsActivity is the BasicActivity implementation for GetMetadataActivity. -func (gma GetMetadataActivity) AsActivity() (*Activity, bool) { +// AsBasicControlActivity is the BasicActivity implementation for ExecuteDataFlowActivity. +func (edfa ExecuteDataFlowActivity) AsBasicControlActivity() (BasicControlActivity, bool) { return nil, false } -// AsBasicActivity is the BasicActivity implementation for GetMetadataActivity. -func (gma GetMetadataActivity) AsBasicActivity() (BasicActivity, bool) { - return &gma, true +// AsActivity is the BasicActivity implementation for ExecuteDataFlowActivity. +func (edfa ExecuteDataFlowActivity) AsActivity() (*Activity, bool) { + return nil, false } -// UnmarshalJSON is the custom unmarshaler for GetMetadataActivity struct. -func (gma *GetMetadataActivity) UnmarshalJSON(body []byte) error { +// AsBasicActivity is the BasicActivity implementation for ExecuteDataFlowActivity. +func (edfa ExecuteDataFlowActivity) AsBasicActivity() (BasicActivity, bool) { + return &edfa, true +} + +// UnmarshalJSON is the custom unmarshaler for ExecuteDataFlowActivity struct. +func (edfa *ExecuteDataFlowActivity) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -80354,12 +84213,12 @@ func (gma *GetMetadataActivity) UnmarshalJSON(body []byte) error { switch k { case "typeProperties": if v != nil { - var getMetadataActivityTypeProperties GetMetadataActivityTypeProperties - err = json.Unmarshal(*v, &getMetadataActivityTypeProperties) + var executeDataFlowActivityTypeProperties ExecuteDataFlowActivityTypeProperties + err = json.Unmarshal(*v, &executeDataFlowActivityTypeProperties) if err != nil { return err } - gma.GetMetadataActivityTypeProperties = &getMetadataActivityTypeProperties + edfa.ExecuteDataFlowActivityTypeProperties = &executeDataFlowActivityTypeProperties } case "linkedServiceName": if v != nil { @@ -80368,7 +84227,7 @@ func (gma *GetMetadataActivity) UnmarshalJSON(body []byte) error { if err != nil { return err } - gma.LinkedServiceName = &linkedServiceName + edfa.LinkedServiceName = &linkedServiceName } case "policy": if v != nil { @@ -80377,7 +84236,7 @@ func (gma *GetMetadataActivity) UnmarshalJSON(body []byte) error { if err != nil { return err } - gma.Policy = &policy + edfa.Policy = &policy } default: if v != nil { @@ -80386,10 +84245,10 @@ func (gma *GetMetadataActivity) UnmarshalJSON(body []byte) error { if err != nil { return err } - if gma.AdditionalProperties == nil { - gma.AdditionalProperties = make(map[string]interface{}) + if edfa.AdditionalProperties == nil { + edfa.AdditionalProperties = make(map[string]interface{}) } - gma.AdditionalProperties[k] = additionalProperties + edfa.AdditionalProperties[k] = additionalProperties } case "name": if v != nil { @@ -80398,7 +84257,7 @@ func (gma *GetMetadataActivity) UnmarshalJSON(body []byte) error { if err != nil { return err } - gma.Name = &name + edfa.Name = &name } case "description": if v != nil { @@ -80407,7 +84266,7 @@ func (gma *GetMetadataActivity) UnmarshalJSON(body []byte) error { if err != nil { return err } - gma.Description = &description + edfa.Description = &description } case "dependsOn": if v != nil { @@ -80416,7 +84275,7 @@ func (gma *GetMetadataActivity) UnmarshalJSON(body []byte) error { if err != nil { return err } - gma.DependsOn = &dependsOn + edfa.DependsOn = &dependsOn } case "userProperties": if v != nil { @@ -80425,7 +84284,7 @@ func (gma *GetMetadataActivity) UnmarshalJSON(body []byte) error { if err != nil { return err } - gma.UserProperties = &userProperties + edfa.UserProperties = &userProperties } case "type": if v != nil { @@ -80434,7 +84293,7 @@ func (gma *GetMetadataActivity) UnmarshalJSON(body []byte) error { if err != nil { return err } - gma.Type = typeVar + edfa.Type = typeVar } } } @@ -80442,550 +84301,626 @@ func (gma *GetMetadataActivity) UnmarshalJSON(body []byte) error { return nil } -// GetMetadataActivityTypeProperties getMetadata activity properties. -type GetMetadataActivityTypeProperties struct { - // Dataset - GetMetadata activity dataset reference. - Dataset *DatasetReference `json:"dataset,omitempty"` - // FieldList - Fields of metadata to get from dataset. - FieldList *[]interface{} `json:"fieldList,omitempty"` -} - -// GetSsisObjectMetadataRequest the request payload of get SSIS object metadata. -type GetSsisObjectMetadataRequest struct { - // MetadataPath - Metadata path. - MetadataPath *string `json:"metadataPath,omitempty"` -} - -// GitHubAccessTokenRequest get GitHub access token request definition. -type GitHubAccessTokenRequest struct { - // GitHubAccessCode - GitHub access code. - GitHubAccessCode *string `json:"gitHubAccessCode,omitempty"` - // GitHubClientID - GitHub application client ID. - GitHubClientID *string `json:"gitHubClientId,omitempty"` - // GitHubAccessTokenBaseURL - GitHub access token base URL. - GitHubAccessTokenBaseURL *string `json:"gitHubAccessTokenBaseUrl,omitempty"` -} - -// GitHubAccessTokenResponse get GitHub access token response definition. -type GitHubAccessTokenResponse struct { - autorest.Response `json:"-"` - // GitHubAccessToken - GitHub access token. - GitHubAccessToken *string `json:"gitHubAccessToken,omitempty"` +// ExecuteDataFlowActivityTypeProperties execute data flow activity properties. +type ExecuteDataFlowActivityTypeProperties struct { + // DataFlow - Data flow reference. + DataFlow *DataFlowReference `json:"dataFlow,omitempty"` + // Staging - Staging info for execute data flow activity. + Staging *DataFlowStagingInfo `json:"staging,omitempty"` + // IntegrationRuntime - The integration runtime reference. + IntegrationRuntime *IntegrationRuntimeReference `json:"integrationRuntime,omitempty"` } -// GoogleAdWordsLinkedService google AdWords service linked service. -type GoogleAdWordsLinkedService struct { - // GoogleAdWordsLinkedServiceTypeProperties - Google AdWords service linked service properties. - *GoogleAdWordsLinkedServiceTypeProperties `json:"typeProperties,omitempty"` +// ExecutePipelineActivity execute pipeline activity. +type ExecutePipelineActivity struct { + // ExecutePipelineActivityTypeProperties - Execute pipeline activity properties. + *ExecutePipelineActivityTypeProperties `json:"typeProperties,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` - // ConnectVia - The integration runtime reference. - ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` - // Description - Linked service description. + // Name - Activity name. + Name *string `json:"name,omitempty"` + // Description - Activity description. Description *string `json:"description,omitempty"` - // Parameters - Parameters for linked service. - Parameters map[string]*ParameterSpecification `json:"parameters"` - // Annotations - List of tags that can be used for describing the linked service. - Annotations *[]interface{} `json:"annotations,omitempty"` - // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' - Type TypeBasicLinkedService `json:"type,omitempty"` + // DependsOn - Activity depends on condition. + DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"` + // UserProperties - Activity user properties. + UserProperties *[]UserProperty `json:"userProperties,omitempty"` + // Type - Possible values include: 'TypeActivity', 'TypeExecuteDataFlow', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLExecutePipeline', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeSwitch', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer' + Type TypeBasicActivity `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for GoogleAdWordsLinkedService. -func (gawls GoogleAdWordsLinkedService) MarshalJSON() ([]byte, error) { - gawls.Type = TypeGoogleAdWords +// MarshalJSON is the custom marshaler for ExecutePipelineActivity. +func (epa ExecutePipelineActivity) MarshalJSON() ([]byte, error) { + epa.Type = TypeExecutePipeline objectMap := make(map[string]interface{}) - if gawls.GoogleAdWordsLinkedServiceTypeProperties != nil { - objectMap["typeProperties"] = gawls.GoogleAdWordsLinkedServiceTypeProperties + if epa.ExecutePipelineActivityTypeProperties != nil { + objectMap["typeProperties"] = epa.ExecutePipelineActivityTypeProperties } - if gawls.ConnectVia != nil { - objectMap["connectVia"] = gawls.ConnectVia + if epa.Name != nil { + objectMap["name"] = epa.Name } - if gawls.Description != nil { - objectMap["description"] = gawls.Description + if epa.Description != nil { + objectMap["description"] = epa.Description } - if gawls.Parameters != nil { - objectMap["parameters"] = gawls.Parameters + if epa.DependsOn != nil { + objectMap["dependsOn"] = epa.DependsOn } - if gawls.Annotations != nil { - objectMap["annotations"] = gawls.Annotations + if epa.UserProperties != nil { + objectMap["userProperties"] = epa.UserProperties } - if gawls.Type != "" { - objectMap["type"] = gawls.Type + if epa.Type != "" { + objectMap["type"] = epa.Type } - for k, v := range gawls.AdditionalProperties { + for k, v := range epa.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsAzureFunctionLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. -func (gawls GoogleAdWordsLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { +// AsExecuteDataFlowActivity is the BasicActivity implementation for ExecutePipelineActivity. +func (epa ExecutePipelineActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) { return nil, false } -// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. -func (gawls GoogleAdWordsLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { +// AsAzureFunctionActivity is the BasicActivity implementation for ExecutePipelineActivity. +func (epa ExecutePipelineActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) { return nil, false } -// AsSapTableLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. -func (gawls GoogleAdWordsLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { +// AsDatabricksSparkPythonActivity is the BasicActivity implementation for ExecutePipelineActivity. +func (epa ExecutePipelineActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) { return nil, false } -// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. -func (gawls GoogleAdWordsLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { - return &gawls, true +// AsDatabricksSparkJarActivity is the BasicActivity implementation for ExecutePipelineActivity. +func (epa ExecutePipelineActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) { + return nil, false } -// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. -func (gawls GoogleAdWordsLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { +// AsDatabricksNotebookActivity is the BasicActivity implementation for ExecutePipelineActivity. +func (epa ExecutePipelineActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) { return nil, false } -// AsDynamicsAXLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. -func (gawls GoogleAdWordsLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { +// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for ExecutePipelineActivity. +func (epa ExecutePipelineActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) { return nil, false } -// AsResponsysLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. -func (gawls GoogleAdWordsLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { +// AsAzureMLExecutePipelineActivity is the BasicActivity implementation for ExecutePipelineActivity. +func (epa ExecutePipelineActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) { return nil, false } -// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. -func (gawls GoogleAdWordsLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { +// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for ExecutePipelineActivity. +func (epa ExecutePipelineActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) { return nil, false } -// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. -func (gawls GoogleAdWordsLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { +// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for ExecutePipelineActivity. +func (epa ExecutePipelineActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) { return nil, false } -// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. -func (gawls GoogleAdWordsLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { +// AsGetMetadataActivity is the BasicActivity implementation for ExecutePipelineActivity. +func (epa ExecutePipelineActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) { return nil, false } -// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. -func (gawls GoogleAdWordsLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { +// AsWebActivity is the BasicActivity implementation for ExecutePipelineActivity. +func (epa ExecutePipelineActivity) AsWebActivity() (*WebActivity, bool) { return nil, false } -// AsNetezzaLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. -func (gawls GoogleAdWordsLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { +// AsLookupActivity is the BasicActivity implementation for ExecutePipelineActivity. +func (epa ExecutePipelineActivity) AsLookupActivity() (*LookupActivity, bool) { return nil, false } -// AsVerticaLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. -func (gawls GoogleAdWordsLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { +// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for ExecutePipelineActivity. +func (epa ExecutePipelineActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) { return nil, false } -// AsZohoLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. -func (gawls GoogleAdWordsLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { +// AsDeleteActivity is the BasicActivity implementation for ExecutePipelineActivity. +func (epa ExecutePipelineActivity) AsDeleteActivity() (*DeleteActivity, bool) { return nil, false } -// AsXeroLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. -func (gawls GoogleAdWordsLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { +// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for ExecutePipelineActivity. +func (epa ExecutePipelineActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) { return nil, false } -// AsSquareLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. -func (gawls GoogleAdWordsLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { +// AsCustomActivity is the BasicActivity implementation for ExecutePipelineActivity. +func (epa ExecutePipelineActivity) AsCustomActivity() (*CustomActivity, bool) { return nil, false } -// AsSparkLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. -func (gawls GoogleAdWordsLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { +// AsExecuteSSISPackageActivity is the BasicActivity implementation for ExecutePipelineActivity. +func (epa ExecutePipelineActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) { return nil, false } -// AsShopifyLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. -func (gawls GoogleAdWordsLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { +// AsHDInsightSparkActivity is the BasicActivity implementation for ExecutePipelineActivity. +func (epa ExecutePipelineActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) { return nil, false } -// AsServiceNowLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. -func (gawls GoogleAdWordsLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { +// AsHDInsightStreamingActivity is the BasicActivity implementation for ExecutePipelineActivity. +func (epa ExecutePipelineActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) { return nil, false } -// AsQuickBooksLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. -func (gawls GoogleAdWordsLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { +// AsHDInsightMapReduceActivity is the BasicActivity implementation for ExecutePipelineActivity. +func (epa ExecutePipelineActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) { return nil, false } -// AsPrestoLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. -func (gawls GoogleAdWordsLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { +// AsHDInsightPigActivity is the BasicActivity implementation for ExecutePipelineActivity. +func (epa ExecutePipelineActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) { return nil, false } -// AsPhoenixLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. -func (gawls GoogleAdWordsLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { +// AsHDInsightHiveActivity is the BasicActivity implementation for ExecutePipelineActivity. +func (epa ExecutePipelineActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) { return nil, false } -// AsPaypalLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. -func (gawls GoogleAdWordsLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { +// AsCopyActivity is the BasicActivity implementation for ExecutePipelineActivity. +func (epa ExecutePipelineActivity) AsCopyActivity() (*CopyActivity, bool) { return nil, false } -// AsMarketoLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. -func (gawls GoogleAdWordsLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { +// AsExecutionActivity is the BasicActivity implementation for ExecutePipelineActivity. +func (epa ExecutePipelineActivity) AsExecutionActivity() (*ExecutionActivity, bool) { return nil, false } -// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. -func (gawls GoogleAdWordsLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { +// AsBasicExecutionActivity is the BasicActivity implementation for ExecutePipelineActivity. +func (epa ExecutePipelineActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) { return nil, false } -// AsMariaDBLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. -func (gawls GoogleAdWordsLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { +// AsWebHookActivity is the BasicActivity implementation for ExecutePipelineActivity. +func (epa ExecutePipelineActivity) AsWebHookActivity() (*WebHookActivity, bool) { return nil, false } -// AsMagentoLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. -func (gawls GoogleAdWordsLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { +// AsAppendVariableActivity is the BasicActivity implementation for ExecutePipelineActivity. +func (epa ExecutePipelineActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) { return nil, false } -// AsJiraLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. -func (gawls GoogleAdWordsLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { +// AsSetVariableActivity is the BasicActivity implementation for ExecutePipelineActivity. +func (epa ExecutePipelineActivity) AsSetVariableActivity() (*SetVariableActivity, bool) { return nil, false } -// AsImpalaLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. -func (gawls GoogleAdWordsLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { +// AsFilterActivity is the BasicActivity implementation for ExecutePipelineActivity. +func (epa ExecutePipelineActivity) AsFilterActivity() (*FilterActivity, bool) { return nil, false } -// AsHubspotLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. -func (gawls GoogleAdWordsLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { +// AsValidationActivity is the BasicActivity implementation for ExecutePipelineActivity. +func (epa ExecutePipelineActivity) AsValidationActivity() (*ValidationActivity, bool) { return nil, false } -// AsHiveLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. -func (gawls GoogleAdWordsLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { +// AsUntilActivity is the BasicActivity implementation for ExecutePipelineActivity. +func (epa ExecutePipelineActivity) AsUntilActivity() (*UntilActivity, bool) { return nil, false } -// AsHBaseLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. -func (gawls GoogleAdWordsLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { +// AsWaitActivity is the BasicActivity implementation for ExecutePipelineActivity. +func (epa ExecutePipelineActivity) AsWaitActivity() (*WaitActivity, bool) { return nil, false } -// AsGreenplumLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. -func (gawls GoogleAdWordsLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { +// AsForEachActivity is the BasicActivity implementation for ExecutePipelineActivity. +func (epa ExecutePipelineActivity) AsForEachActivity() (*ForEachActivity, bool) { return nil, false } -// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. -func (gawls GoogleAdWordsLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { +// AsSwitchActivity is the BasicActivity implementation for ExecutePipelineActivity. +func (epa ExecutePipelineActivity) AsSwitchActivity() (*SwitchActivity, bool) { return nil, false } -// AsEloquaLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. -func (gawls GoogleAdWordsLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { +// AsIfConditionActivity is the BasicActivity implementation for ExecutePipelineActivity. +func (epa ExecutePipelineActivity) AsIfConditionActivity() (*IfConditionActivity, bool) { return nil, false } -// AsDrillLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. -func (gawls GoogleAdWordsLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { - return nil, false +// AsExecutePipelineActivity is the BasicActivity implementation for ExecutePipelineActivity. +func (epa ExecutePipelineActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) { + return &epa, true } -// AsCouchbaseLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. -func (gawls GoogleAdWordsLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { +// AsControlActivity is the BasicActivity implementation for ExecutePipelineActivity. +func (epa ExecutePipelineActivity) AsControlActivity() (*ControlActivity, bool) { return nil, false } -// AsConcurLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. -func (gawls GoogleAdWordsLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { - return nil, false +// AsBasicControlActivity is the BasicActivity implementation for ExecutePipelineActivity. +func (epa ExecutePipelineActivity) AsBasicControlActivity() (BasicControlActivity, bool) { + return &epa, true } -// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. -func (gawls GoogleAdWordsLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { +// AsActivity is the BasicActivity implementation for ExecutePipelineActivity. +func (epa ExecutePipelineActivity) AsActivity() (*Activity, bool) { return nil, false } -// AsAmazonMWSLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. -func (gawls GoogleAdWordsLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { - return nil, false +// AsBasicActivity is the BasicActivity implementation for ExecutePipelineActivity. +func (epa ExecutePipelineActivity) AsBasicActivity() (BasicActivity, bool) { + return &epa, true } -// AsSapHanaLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. -func (gawls GoogleAdWordsLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { - return nil, false +// UnmarshalJSON is the custom unmarshaler for ExecutePipelineActivity struct. +func (epa *ExecutePipelineActivity) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var executePipelineActivityTypeProperties ExecutePipelineActivityTypeProperties + err = json.Unmarshal(*v, &executePipelineActivityTypeProperties) + if err != nil { + return err + } + epa.ExecutePipelineActivityTypeProperties = &executePipelineActivityTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if epa.AdditionalProperties == nil { + epa.AdditionalProperties = make(map[string]interface{}) + } + epa.AdditionalProperties[k] = additionalProperties + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + epa.Name = &name + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + epa.Description = &description + } + case "dependsOn": + if v != nil { + var dependsOn []ActivityDependency + err = json.Unmarshal(*v, &dependsOn) + if err != nil { + return err + } + epa.DependsOn = &dependsOn + } + case "userProperties": + if v != nil { + var userProperties []UserProperty + err = json.Unmarshal(*v, &userProperties) + if err != nil { + return err + } + epa.UserProperties = &userProperties + } + case "type": + if v != nil { + var typeVar TypeBasicActivity + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + epa.Type = typeVar + } + } + } + + return nil } -// AsSapBWLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. -func (gawls GoogleAdWordsLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { - return nil, false +// ExecutePipelineActivityTypeProperties execute pipeline activity properties. +type ExecutePipelineActivityTypeProperties struct { + // Pipeline - Pipeline reference. + Pipeline *PipelineReference `json:"pipeline,omitempty"` + // Parameters - Pipeline parameters. + Parameters map[string]interface{} `json:"parameters"` + // WaitOnCompletion - Defines whether activity execution will wait for the dependent pipeline execution to finish. Default is false. + WaitOnCompletion *bool `json:"waitOnCompletion,omitempty"` } -// AsSftpServerLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. -func (gawls GoogleAdWordsLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { - return nil, false +// MarshalJSON is the custom marshaler for ExecutePipelineActivityTypeProperties. +func (epatp ExecutePipelineActivityTypeProperties) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if epatp.Pipeline != nil { + objectMap["pipeline"] = epatp.Pipeline + } + if epatp.Parameters != nil { + objectMap["parameters"] = epatp.Parameters + } + if epatp.WaitOnCompletion != nil { + objectMap["waitOnCompletion"] = epatp.WaitOnCompletion + } + return json.Marshal(objectMap) } -// AsFtpServerLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. -func (gawls GoogleAdWordsLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { - return nil, false +// ExecuteSSISPackageActivity execute SSIS package activity. +type ExecuteSSISPackageActivity struct { + // ExecuteSSISPackageActivityTypeProperties - Execute SSIS package activity properties. + *ExecuteSSISPackageActivityTypeProperties `json:"typeProperties,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Policy - Activity policy. + Policy *ActivityPolicy `json:"policy,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Name - Activity name. + Name *string `json:"name,omitempty"` + // Description - Activity description. + Description *string `json:"description,omitempty"` + // DependsOn - Activity depends on condition. + DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"` + // UserProperties - Activity user properties. + UserProperties *[]UserProperty `json:"userProperties,omitempty"` + // Type - Possible values include: 'TypeActivity', 'TypeExecuteDataFlow', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLExecutePipeline', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeSwitch', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer' + Type TypeBasicActivity `json:"type,omitempty"` } -// AsHTTPLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. -func (gawls GoogleAdWordsLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { - return nil, false +// MarshalJSON is the custom marshaler for ExecuteSSISPackageActivity. +func (espa ExecuteSSISPackageActivity) MarshalJSON() ([]byte, error) { + espa.Type = TypeExecuteSSISPackage + objectMap := make(map[string]interface{}) + if espa.ExecuteSSISPackageActivityTypeProperties != nil { + objectMap["typeProperties"] = espa.ExecuteSSISPackageActivityTypeProperties + } + if espa.LinkedServiceName != nil { + objectMap["linkedServiceName"] = espa.LinkedServiceName + } + if espa.Policy != nil { + objectMap["policy"] = espa.Policy + } + if espa.Name != nil { + objectMap["name"] = espa.Name + } + if espa.Description != nil { + objectMap["description"] = espa.Description + } + if espa.DependsOn != nil { + objectMap["dependsOn"] = espa.DependsOn + } + if espa.UserProperties != nil { + objectMap["userProperties"] = espa.UserProperties + } + if espa.Type != "" { + objectMap["type"] = espa.Type + } + for k, v := range espa.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) } -// AsAzureSearchLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. -func (gawls GoogleAdWordsLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { +// AsExecuteDataFlowActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. +func (espa ExecuteSSISPackageActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) { return nil, false } -// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. -func (gawls GoogleAdWordsLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { +// AsAzureFunctionActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. +func (espa ExecuteSSISPackageActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) { return nil, false } -// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. -func (gawls GoogleAdWordsLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { +// AsDatabricksSparkPythonActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. +func (espa ExecuteSSISPackageActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) { return nil, false } -// AsAmazonS3LinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. -func (gawls GoogleAdWordsLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { +// AsDatabricksSparkJarActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. +func (espa ExecuteSSISPackageActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) { return nil, false } -// AsRestServiceLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. -func (gawls GoogleAdWordsLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { +// AsDatabricksNotebookActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. +func (espa ExecuteSSISPackageActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) { return nil, false } -// AsSapOpenHubLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. -func (gawls GoogleAdWordsLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { +// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. +func (espa ExecuteSSISPackageActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) { return nil, false } -// AsSapEccLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. -func (gawls GoogleAdWordsLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { +// AsAzureMLExecutePipelineActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. +func (espa ExecuteSSISPackageActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) { return nil, false } -// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. -func (gawls GoogleAdWordsLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { +// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. +func (espa ExecuteSSISPackageActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) { return nil, false } -// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. -func (gawls GoogleAdWordsLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { +// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. +func (espa ExecuteSSISPackageActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) { return nil, false } -// AsSalesforceLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. -func (gawls GoogleAdWordsLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { +// AsGetMetadataActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. +func (espa ExecuteSSISPackageActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) { return nil, false } -// AsOffice365LinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. -func (gawls GoogleAdWordsLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { +// AsWebActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. +func (espa ExecuteSSISPackageActivity) AsWebActivity() (*WebActivity, bool) { return nil, false } -// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. -func (gawls GoogleAdWordsLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { +// AsLookupActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. +func (espa ExecuteSSISPackageActivity) AsLookupActivity() (*LookupActivity, bool) { return nil, false } -// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. -func (gawls GoogleAdWordsLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { +// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. +func (espa ExecuteSSISPackageActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) { return nil, false } -// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. -func (gawls GoogleAdWordsLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { +// AsDeleteActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. +func (espa ExecuteSSISPackageActivity) AsDeleteActivity() (*DeleteActivity, bool) { return nil, false } -// AsMongoDbV2LinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. -func (gawls GoogleAdWordsLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { +// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. +func (espa ExecuteSSISPackageActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) { return nil, false } -// AsMongoDbLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. -func (gawls GoogleAdWordsLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { - return nil, false -} - -// AsCassandraLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. -func (gawls GoogleAdWordsLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { - return nil, false -} - -// AsWebLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. -func (gawls GoogleAdWordsLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { - return nil, false -} - -// AsODataLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. -func (gawls GoogleAdWordsLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { - return nil, false -} - -// AsHdfsLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. -func (gawls GoogleAdWordsLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { - return nil, false -} - -// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. -func (gawls GoogleAdWordsLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { - return nil, false -} - -// AsInformixLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. -func (gawls GoogleAdWordsLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { - return nil, false -} - -// AsOdbcLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. -func (gawls GoogleAdWordsLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { - return nil, false -} - -// AsAzureMLLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. -func (gawls GoogleAdWordsLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { +// AsCustomActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. +func (espa ExecuteSSISPackageActivity) AsCustomActivity() (*CustomActivity, bool) { return nil, false } -// AsTeradataLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. -func (gawls GoogleAdWordsLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { - return nil, false +// AsExecuteSSISPackageActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. +func (espa ExecuteSSISPackageActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) { + return &espa, true } -// AsDb2LinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. -func (gawls GoogleAdWordsLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { +// AsHDInsightSparkActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. +func (espa ExecuteSSISPackageActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) { return nil, false } -// AsSybaseLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. -func (gawls GoogleAdWordsLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { +// AsHDInsightStreamingActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. +func (espa ExecuteSSISPackageActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) { return nil, false } -// AsPostgreSQLLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. -func (gawls GoogleAdWordsLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { +// AsHDInsightMapReduceActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. +func (espa ExecuteSSISPackageActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) { return nil, false } -// AsMySQLLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. -func (gawls GoogleAdWordsLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { +// AsHDInsightPigActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. +func (espa ExecuteSSISPackageActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) { return nil, false } -// AsAzureMySQLLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. -func (gawls GoogleAdWordsLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { +// AsHDInsightHiveActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. +func (espa ExecuteSSISPackageActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) { return nil, false } -// AsOracleLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. -func (gawls GoogleAdWordsLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { +// AsCopyActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. +func (espa ExecuteSSISPackageActivity) AsCopyActivity() (*CopyActivity, bool) { return nil, false } -// AsFileServerLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. -func (gawls GoogleAdWordsLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { +// AsExecutionActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. +func (espa ExecuteSSISPackageActivity) AsExecutionActivity() (*ExecutionActivity, bool) { return nil, false } -// AsHDInsightLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. -func (gawls GoogleAdWordsLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { - return nil, false +// AsBasicExecutionActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. +func (espa ExecuteSSISPackageActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) { + return &espa, true } -// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. -func (gawls GoogleAdWordsLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { +// AsWebHookActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. +func (espa ExecuteSSISPackageActivity) AsWebHookActivity() (*WebHookActivity, bool) { return nil, false } -// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. -func (gawls GoogleAdWordsLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { +// AsAppendVariableActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. +func (espa ExecuteSSISPackageActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) { return nil, false } -// AsDynamicsLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. -func (gawls GoogleAdWordsLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { +// AsSetVariableActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. +func (espa ExecuteSSISPackageActivity) AsSetVariableActivity() (*SetVariableActivity, bool) { return nil, false } -// AsCosmosDbLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. -func (gawls GoogleAdWordsLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { +// AsFilterActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. +func (espa ExecuteSSISPackageActivity) AsFilterActivity() (*FilterActivity, bool) { return nil, false } -// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. -func (gawls GoogleAdWordsLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { +// AsValidationActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. +func (espa ExecuteSSISPackageActivity) AsValidationActivity() (*ValidationActivity, bool) { return nil, false } -// AsAzureBatchLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. -func (gawls GoogleAdWordsLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { +// AsUntilActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. +func (espa ExecuteSSISPackageActivity) AsUntilActivity() (*UntilActivity, bool) { return nil, false } -// AsAzureSQLMILinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. -func (gawls GoogleAdWordsLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { +// AsWaitActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. +func (espa ExecuteSSISPackageActivity) AsWaitActivity() (*WaitActivity, bool) { return nil, false } -// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. -func (gawls GoogleAdWordsLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { +// AsForEachActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. +func (espa ExecuteSSISPackageActivity) AsForEachActivity() (*ForEachActivity, bool) { return nil, false } -// AsSQLServerLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. -func (gawls GoogleAdWordsLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { +// AsSwitchActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. +func (espa ExecuteSSISPackageActivity) AsSwitchActivity() (*SwitchActivity, bool) { return nil, false } -// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. -func (gawls GoogleAdWordsLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { +// AsIfConditionActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. +func (espa ExecuteSSISPackageActivity) AsIfConditionActivity() (*IfConditionActivity, bool) { return nil, false } -// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. -func (gawls GoogleAdWordsLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { +// AsExecutePipelineActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. +func (espa ExecuteSSISPackageActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) { return nil, false } -// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. -func (gawls GoogleAdWordsLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { +// AsControlActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. +func (espa ExecuteSSISPackageActivity) AsControlActivity() (*ControlActivity, bool) { return nil, false } -// AsAzureStorageLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. -func (gawls GoogleAdWordsLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { +// AsBasicControlActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. +func (espa ExecuteSSISPackageActivity) AsBasicControlActivity() (BasicControlActivity, bool) { return nil, false } -// AsLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. -func (gawls GoogleAdWordsLinkedService) AsLinkedService() (*LinkedService, bool) { +// AsActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. +func (espa ExecuteSSISPackageActivity) AsActivity() (*Activity, bool) { return nil, false } -// AsBasicLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. -func (gawls GoogleAdWordsLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { - return &gawls, true +// AsBasicActivity is the BasicActivity implementation for ExecuteSSISPackageActivity. +func (espa ExecuteSSISPackageActivity) AsBasicActivity() (BasicActivity, bool) { + return &espa, true } -// UnmarshalJSON is the custom unmarshaler for GoogleAdWordsLinkedService struct. -func (gawls *GoogleAdWordsLinkedService) UnmarshalJSON(body []byte) error { +// UnmarshalJSON is the custom unmarshaler for ExecuteSSISPackageActivity struct. +func (espa *ExecuteSSISPackageActivity) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -80995,205 +84930,87 @@ func (gawls *GoogleAdWordsLinkedService) UnmarshalJSON(body []byte) error { switch k { case "typeProperties": if v != nil { - var googleAdWordsLinkedServiceTypeProperties GoogleAdWordsLinkedServiceTypeProperties - err = json.Unmarshal(*v, &googleAdWordsLinkedServiceTypeProperties) - if err != nil { - return err - } - gawls.GoogleAdWordsLinkedServiceTypeProperties = &googleAdWordsLinkedServiceTypeProperties - } - default: - if v != nil { - var additionalProperties interface{} - err = json.Unmarshal(*v, &additionalProperties) - if err != nil { - return err - } - if gawls.AdditionalProperties == nil { - gawls.AdditionalProperties = make(map[string]interface{}) - } - gawls.AdditionalProperties[k] = additionalProperties - } - case "connectVia": - if v != nil { - var connectVia IntegrationRuntimeReference - err = json.Unmarshal(*v, &connectVia) - if err != nil { - return err - } - gawls.ConnectVia = &connectVia - } - case "description": - if v != nil { - var description string - err = json.Unmarshal(*v, &description) - if err != nil { - return err - } - gawls.Description = &description - } - case "parameters": - if v != nil { - var parameters map[string]*ParameterSpecification - err = json.Unmarshal(*v, ¶meters) - if err != nil { - return err - } - gawls.Parameters = parameters - } - case "annotations": - if v != nil { - var annotations []interface{} - err = json.Unmarshal(*v, &annotations) - if err != nil { - return err - } - gawls.Annotations = &annotations - } - case "type": - if v != nil { - var typeVar TypeBasicLinkedService - err = json.Unmarshal(*v, &typeVar) - if err != nil { - return err - } - gawls.Type = typeVar - } - } - } - - return nil -} - -// GoogleAdWordsLinkedServiceTypeProperties google AdWords service linked service properties. -type GoogleAdWordsLinkedServiceTypeProperties struct { - // ClientCustomerID - The Client customer ID of the AdWords account that you want to fetch report data for. - ClientCustomerID interface{} `json:"clientCustomerID,omitempty"` - // DeveloperToken - The developer token associated with the manager account that you use to grant access to the AdWords API. - DeveloperToken BasicSecretBase `json:"developerToken,omitempty"` - // AuthenticationType - The OAuth 2.0 authentication mechanism used for authentication. ServiceAuthentication can only be used on self-hosted IR. Possible values include: 'ServiceAuthentication', 'UserAuthentication' - AuthenticationType GoogleAdWordsAuthenticationType `json:"authenticationType,omitempty"` - // RefreshToken - The refresh token obtained from Google for authorizing access to AdWords for UserAuthentication. - RefreshToken BasicSecretBase `json:"refreshToken,omitempty"` - // ClientID - The client id of the google application used to acquire the refresh token. - ClientID BasicSecretBase `json:"clientId,omitempty"` - // ClientSecret - The client secret of the google application used to acquire the refresh token. - ClientSecret BasicSecretBase `json:"clientSecret,omitempty"` - // Email - The service account email ID that is used for ServiceAuthentication and can only be used on self-hosted IR. - Email interface{} `json:"email,omitempty"` - // KeyFilePath - The full path to the .p12 key file that is used to authenticate the service account email address and can only be used on self-hosted IR. - KeyFilePath interface{} `json:"keyFilePath,omitempty"` - // TrustedCertPath - The full path of the .pem file containing trusted CA certificates for verifying the server when connecting over SSL. This property can only be set when using SSL on self-hosted IR. The default value is the cacerts.pem file installed with the IR. - TrustedCertPath interface{} `json:"trustedCertPath,omitempty"` - // UseSystemTrustStore - Specifies whether to use a CA certificate from the system trust store or from a specified PEM file. The default value is false. - UseSystemTrustStore interface{} `json:"useSystemTrustStore,omitempty"` - // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). - EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` -} - -// UnmarshalJSON is the custom unmarshaler for GoogleAdWordsLinkedServiceTypeProperties struct. -func (gawlstp *GoogleAdWordsLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - case "clientCustomerID": - if v != nil { - var clientCustomerID interface{} - err = json.Unmarshal(*v, &clientCustomerID) - if err != nil { - return err - } - gawlstp.ClientCustomerID = clientCustomerID - } - case "developerToken": - if v != nil { - developerToken, err := unmarshalBasicSecretBase(*v) + var executeSSISPackageActivityTypeProperties ExecuteSSISPackageActivityTypeProperties + err = json.Unmarshal(*v, &executeSSISPackageActivityTypeProperties) if err != nil { return err } - gawlstp.DeveloperToken = developerToken + espa.ExecuteSSISPackageActivityTypeProperties = &executeSSISPackageActivityTypeProperties } - case "authenticationType": + case "linkedServiceName": if v != nil { - var authenticationType GoogleAdWordsAuthenticationType - err = json.Unmarshal(*v, &authenticationType) + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) if err != nil { return err } - gawlstp.AuthenticationType = authenticationType + espa.LinkedServiceName = &linkedServiceName } - case "refreshToken": + case "policy": if v != nil { - refreshToken, err := unmarshalBasicSecretBase(*v) + var policy ActivityPolicy + err = json.Unmarshal(*v, &policy) if err != nil { return err } - gawlstp.RefreshToken = refreshToken + espa.Policy = &policy } - case "clientId": + default: if v != nil { - clientID, err := unmarshalBasicSecretBase(*v) + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) if err != nil { return err } - gawlstp.ClientID = clientID - } - case "clientSecret": - if v != nil { - clientSecret, err := unmarshalBasicSecretBase(*v) - if err != nil { - return err + if espa.AdditionalProperties == nil { + espa.AdditionalProperties = make(map[string]interface{}) } - gawlstp.ClientSecret = clientSecret + espa.AdditionalProperties[k] = additionalProperties } - case "email": + case "name": if v != nil { - var email interface{} - err = json.Unmarshal(*v, &email) + var name string + err = json.Unmarshal(*v, &name) if err != nil { return err } - gawlstp.Email = email + espa.Name = &name } - case "keyFilePath": + case "description": if v != nil { - var keyFilePath interface{} - err = json.Unmarshal(*v, &keyFilePath) + var description string + err = json.Unmarshal(*v, &description) if err != nil { return err } - gawlstp.KeyFilePath = keyFilePath + espa.Description = &description } - case "trustedCertPath": + case "dependsOn": if v != nil { - var trustedCertPath interface{} - err = json.Unmarshal(*v, &trustedCertPath) + var dependsOn []ActivityDependency + err = json.Unmarshal(*v, &dependsOn) if err != nil { return err } - gawlstp.TrustedCertPath = trustedCertPath + espa.DependsOn = &dependsOn } - case "useSystemTrustStore": + case "userProperties": if v != nil { - var useSystemTrustStore interface{} - err = json.Unmarshal(*v, &useSystemTrustStore) + var userProperties []UserProperty + err = json.Unmarshal(*v, &userProperties) if err != nil { return err } - gawlstp.UseSystemTrustStore = useSystemTrustStore + espa.UserProperties = &userProperties } - case "encryptedCredential": + case "type": if v != nil { - var encryptedCredential interface{} - err = json.Unmarshal(*v, &encryptedCredential) + var typeVar TypeBasicActivity + err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - gawlstp.EncryptedCredential = encryptedCredential + espa.Type = typeVar } } } @@ -81201,489 +85018,482 @@ func (gawlstp *GoogleAdWordsLinkedServiceTypeProperties) UnmarshalJSON(body []by return nil } -// GoogleAdWordsObjectDataset google AdWords service dataset. -type GoogleAdWordsObjectDataset struct { - // GenericDatasetTypeProperties - Properties specific to this dataset type. - *GenericDatasetTypeProperties `json:"typeProperties,omitempty"` - // AdditionalProperties - Unmatched properties from the message are deserialized this collection - AdditionalProperties map[string]interface{} `json:""` - // Description - Dataset description. - Description *string `json:"description,omitempty"` - // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. - Structure interface{} `json:"structure,omitempty"` - // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. - Schema interface{} `json:"schema,omitempty"` - // LinkedServiceName - Linked service reference. - LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` - // Parameters - Parameters for dataset. - Parameters map[string]*ParameterSpecification `json:"parameters"` - // Annotations - List of tags that can be used for describing the Dataset. - Annotations *[]interface{} `json:"annotations,omitempty"` - // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. - Folder *DatasetFolder `json:"folder,omitempty"` - // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' - Type TypeBasicDataset `json:"type,omitempty"` +// ExecuteSSISPackageActivityTypeProperties execute SSIS package activity properties. +type ExecuteSSISPackageActivityTypeProperties struct { + // PackageLocation - SSIS package location. + PackageLocation *SSISPackageLocation `json:"packageLocation,omitempty"` + // Runtime - Specifies the runtime to execute SSIS package. The value should be "x86" or "x64". Type: string (or Expression with resultType string). + Runtime interface{} `json:"runtime,omitempty"` + // LoggingLevel - The logging level of SSIS package execution. Type: string (or Expression with resultType string). + LoggingLevel interface{} `json:"loggingLevel,omitempty"` + // EnvironmentPath - The environment path to execute the SSIS package. Type: string (or Expression with resultType string). + EnvironmentPath interface{} `json:"environmentPath,omitempty"` + // ExecutionCredential - The package execution credential. + ExecutionCredential *SSISExecutionCredential `json:"executionCredential,omitempty"` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // ProjectParameters - The project level parameters to execute the SSIS package. + ProjectParameters map[string]*SSISExecutionParameter `json:"projectParameters"` + // PackageParameters - The package level parameters to execute the SSIS package. + PackageParameters map[string]*SSISExecutionParameter `json:"packageParameters"` + // ProjectConnectionManagers - The project level connection managers to execute the SSIS package. + ProjectConnectionManagers map[string]map[string]*SSISExecutionParameter `json:"projectConnectionManagers"` + // PackageConnectionManagers - The package level connection managers to execute the SSIS package. + PackageConnectionManagers map[string]map[string]*SSISExecutionParameter `json:"packageConnectionManagers"` + // PropertyOverrides - The property overrides to execute the SSIS package. + PropertyOverrides map[string]*SSISPropertyOverride `json:"propertyOverrides"` + // LogLocation - SSIS package execution log location. + LogLocation *SSISLogLocation `json:"logLocation,omitempty"` } -// MarshalJSON is the custom marshaler for GoogleAdWordsObjectDataset. -func (gawod GoogleAdWordsObjectDataset) MarshalJSON() ([]byte, error) { - gawod.Type = TypeGoogleAdWordsObject +// MarshalJSON is the custom marshaler for ExecuteSSISPackageActivityTypeProperties. +func (espatp ExecuteSSISPackageActivityTypeProperties) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) - if gawod.GenericDatasetTypeProperties != nil { - objectMap["typeProperties"] = gawod.GenericDatasetTypeProperties + if espatp.PackageLocation != nil { + objectMap["packageLocation"] = espatp.PackageLocation } - if gawod.Description != nil { - objectMap["description"] = gawod.Description + if espatp.Runtime != nil { + objectMap["runtime"] = espatp.Runtime } - if gawod.Structure != nil { - objectMap["structure"] = gawod.Structure + if espatp.LoggingLevel != nil { + objectMap["loggingLevel"] = espatp.LoggingLevel } - if gawod.Schema != nil { - objectMap["schema"] = gawod.Schema + if espatp.EnvironmentPath != nil { + objectMap["environmentPath"] = espatp.EnvironmentPath } - if gawod.LinkedServiceName != nil { - objectMap["linkedServiceName"] = gawod.LinkedServiceName + if espatp.ExecutionCredential != nil { + objectMap["executionCredential"] = espatp.ExecutionCredential } - if gawod.Parameters != nil { - objectMap["parameters"] = gawod.Parameters + if espatp.ConnectVia != nil { + objectMap["connectVia"] = espatp.ConnectVia } - if gawod.Annotations != nil { - objectMap["annotations"] = gawod.Annotations + if espatp.ProjectParameters != nil { + objectMap["projectParameters"] = espatp.ProjectParameters } - if gawod.Folder != nil { - objectMap["folder"] = gawod.Folder + if espatp.PackageParameters != nil { + objectMap["packageParameters"] = espatp.PackageParameters } - if gawod.Type != "" { - objectMap["type"] = gawod.Type + if espatp.ProjectConnectionManagers != nil { + objectMap["projectConnectionManagers"] = espatp.ProjectConnectionManagers } - for k, v := range gawod.AdditionalProperties { - objectMap[k] = v + if espatp.PackageConnectionManagers != nil { + objectMap["packageConnectionManagers"] = espatp.PackageConnectionManagers + } + if espatp.PropertyOverrides != nil { + objectMap["propertyOverrides"] = espatp.PropertyOverrides + } + if espatp.LogLocation != nil { + objectMap["logLocation"] = espatp.LogLocation } return json.Marshal(objectMap) } -// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. -func (gawod GoogleAdWordsObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { - return &gawod, true -} - -// AsAzureDataExplorerTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. -func (gawod GoogleAdWordsObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { - return nil, false -} - -// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. -func (gawod GoogleAdWordsObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { - return nil, false -} - -// AsDynamicsAXResourceDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. -func (gawod GoogleAdWordsObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { - return nil, false -} - -// AsResponsysObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. -func (gawod GoogleAdWordsObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { - return nil, false -} - -// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. -func (gawod GoogleAdWordsObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { - return nil, false -} - -// AsVerticaTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. -func (gawod GoogleAdWordsObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { - return nil, false -} - -// AsNetezzaTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. -func (gawod GoogleAdWordsObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { - return nil, false -} - -// AsZohoObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. -func (gawod GoogleAdWordsObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { - return nil, false -} - -// AsXeroObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. -func (gawod GoogleAdWordsObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { - return nil, false -} - -// AsSquareObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. -func (gawod GoogleAdWordsObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { - return nil, false -} - -// AsSparkObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. -func (gawod GoogleAdWordsObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { - return nil, false -} - -// AsShopifyObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. -func (gawod GoogleAdWordsObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { - return nil, false -} - -// AsServiceNowObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. -func (gawod GoogleAdWordsObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { - return nil, false -} - -// AsQuickBooksObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. -func (gawod GoogleAdWordsObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { - return nil, false -} - -// AsPrestoObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. -func (gawod GoogleAdWordsObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { - return nil, false -} - -// AsPhoenixObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. -func (gawod GoogleAdWordsObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { - return nil, false -} - -// AsPaypalObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. -func (gawod GoogleAdWordsObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { - return nil, false -} - -// AsMarketoObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. -func (gawod GoogleAdWordsObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { - return nil, false -} - -// AsAzureMariaDBTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. -func (gawod GoogleAdWordsObjectDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { - return nil, false -} - -// AsMariaDBTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. -func (gawod GoogleAdWordsObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { - return nil, false -} - -// AsMagentoObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. -func (gawod GoogleAdWordsObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { - return nil, false -} - -// AsJiraObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. -func (gawod GoogleAdWordsObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { - return nil, false -} - -// AsImpalaObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. -func (gawod GoogleAdWordsObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { - return nil, false -} - -// AsHubspotObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. -func (gawod GoogleAdWordsObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { - return nil, false -} - -// AsHiveObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. -func (gawod GoogleAdWordsObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { - return nil, false -} - -// AsHBaseObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. -func (gawod GoogleAdWordsObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { - return nil, false -} - -// AsGreenplumTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. -func (gawod GoogleAdWordsObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { - return nil, false -} - -// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. -func (gawod GoogleAdWordsObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { - return nil, false -} - -// AsEloquaObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. -func (gawod GoogleAdWordsObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { - return nil, false -} - -// AsDrillTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. -func (gawod GoogleAdWordsObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { - return nil, false -} - -// AsCouchbaseTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. -func (gawod GoogleAdWordsObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { - return nil, false -} - -// AsConcurObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. -func (gawod GoogleAdWordsObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { - return nil, false -} - -// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. -func (gawod GoogleAdWordsObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { - return nil, false -} - -// AsAmazonMWSObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. -func (gawod GoogleAdWordsObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { - return nil, false -} - -// AsHTTPDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. -func (gawod GoogleAdWordsObjectDataset) AsHTTPDataset() (*HTTPDataset, bool) { - return nil, false -} - -// AsAzureSearchIndexDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. -func (gawod GoogleAdWordsObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { - return nil, false -} - -// AsWebTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. -func (gawod GoogleAdWordsObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) { - return nil, false +// BasicExecutionActivity base class for all execution activities. +type BasicExecutionActivity interface { + AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) + AsAzureFunctionActivity() (*AzureFunctionActivity, bool) + AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) + AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) + AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) + AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) + AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) + AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) + AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) + AsGetMetadataActivity() (*GetMetadataActivity, bool) + AsWebActivity() (*WebActivity, bool) + AsLookupActivity() (*LookupActivity, bool) + AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) + AsDeleteActivity() (*DeleteActivity, bool) + AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) + AsCustomActivity() (*CustomActivity, bool) + AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) + AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) + AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) + AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) + AsHDInsightPigActivity() (*HDInsightPigActivity, bool) + AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) + AsCopyActivity() (*CopyActivity, bool) + AsExecutionActivity() (*ExecutionActivity, bool) } -// AsSapTableResourceDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. -func (gawod GoogleAdWordsObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { - return nil, false +// ExecutionActivity base class for all execution activities. +type ExecutionActivity struct { + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Policy - Activity policy. + Policy *ActivityPolicy `json:"policy,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Name - Activity name. + Name *string `json:"name,omitempty"` + // Description - Activity description. + Description *string `json:"description,omitempty"` + // DependsOn - Activity depends on condition. + DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"` + // UserProperties - Activity user properties. + UserProperties *[]UserProperty `json:"userProperties,omitempty"` + // Type - Possible values include: 'TypeActivity', 'TypeExecuteDataFlow', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLExecutePipeline', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeSwitch', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer' + Type TypeBasicActivity `json:"type,omitempty"` } -// AsRestResourceDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. -func (gawod GoogleAdWordsObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { - return nil, false -} +func unmarshalBasicExecutionActivity(body []byte) (BasicExecutionActivity, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } -// AsSQLServerTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. -func (gawod GoogleAdWordsObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { - return nil, false + switch m["type"] { + case string(TypeExecuteDataFlow): + var edfa ExecuteDataFlowActivity + err := json.Unmarshal(body, &edfa) + return edfa, err + case string(TypeAzureFunctionActivity): + var afa AzureFunctionActivity + err := json.Unmarshal(body, &afa) + return afa, err + case string(TypeDatabricksSparkPython): + var dspa DatabricksSparkPythonActivity + err := json.Unmarshal(body, &dspa) + return dspa, err + case string(TypeDatabricksSparkJar): + var dsja DatabricksSparkJarActivity + err := json.Unmarshal(body, &dsja) + return dsja, err + case string(TypeDatabricksNotebook): + var dna DatabricksNotebookActivity + err := json.Unmarshal(body, &dna) + return dna, err + case string(TypeDataLakeAnalyticsUSQL): + var dlaua DataLakeAnalyticsUSQLActivity + err := json.Unmarshal(body, &dlaua) + return dlaua, err + case string(TypeAzureMLExecutePipeline): + var amepa AzureMLExecutePipelineActivity + err := json.Unmarshal(body, &amepa) + return amepa, err + case string(TypeAzureMLUpdateResource): + var amura AzureMLUpdateResourceActivity + err := json.Unmarshal(body, &amura) + return amura, err + case string(TypeAzureMLBatchExecution): + var ambea AzureMLBatchExecutionActivity + err := json.Unmarshal(body, &ambea) + return ambea, err + case string(TypeGetMetadata): + var gma GetMetadataActivity + err := json.Unmarshal(body, &gma) + return gma, err + case string(TypeWebActivity): + var wa WebActivity + err := json.Unmarshal(body, &wa) + return wa, err + case string(TypeLookup): + var la LookupActivity + err := json.Unmarshal(body, &la) + return la, err + case string(TypeAzureDataExplorerCommand): + var adeca AzureDataExplorerCommandActivity + err := json.Unmarshal(body, &adeca) + return adeca, err + case string(TypeDelete): + var da DeleteActivity + err := json.Unmarshal(body, &da) + return da, err + case string(TypeSQLServerStoredProcedure): + var ssspa SQLServerStoredProcedureActivity + err := json.Unmarshal(body, &ssspa) + return ssspa, err + case string(TypeCustom): + var ca CustomActivity + err := json.Unmarshal(body, &ca) + return ca, err + case string(TypeExecuteSSISPackage): + var espa ExecuteSSISPackageActivity + err := json.Unmarshal(body, &espa) + return espa, err + case string(TypeHDInsightSpark): + var hisa HDInsightSparkActivity + err := json.Unmarshal(body, &hisa) + return hisa, err + case string(TypeHDInsightStreaming): + var hisa HDInsightStreamingActivity + err := json.Unmarshal(body, &hisa) + return hisa, err + case string(TypeHDInsightMapReduce): + var himra HDInsightMapReduceActivity + err := json.Unmarshal(body, &himra) + return himra, err + case string(TypeHDInsightPig): + var hipa HDInsightPigActivity + err := json.Unmarshal(body, &hipa) + return hipa, err + case string(TypeHDInsightHive): + var hiha HDInsightHiveActivity + err := json.Unmarshal(body, &hiha) + return hiha, err + case string(TypeCopy): + var ca CopyActivity + err := json.Unmarshal(body, &ca) + return ca, err + default: + var ea ExecutionActivity + err := json.Unmarshal(body, &ea) + return ea, err + } } +func unmarshalBasicExecutionActivityArray(body []byte) ([]BasicExecutionActivity, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } -// AsSapOpenHubTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. -func (gawod GoogleAdWordsObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { - return nil, false -} + eaArray := make([]BasicExecutionActivity, len(rawMessages)) -// AsSapHanaTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. -func (gawod GoogleAdWordsObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { - return nil, false + for index, rawMessage := range rawMessages { + ea, err := unmarshalBasicExecutionActivity(*rawMessage) + if err != nil { + return nil, err + } + eaArray[index] = ea + } + return eaArray, nil } -// AsSapEccResourceDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. -func (gawod GoogleAdWordsObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { - return nil, false +// MarshalJSON is the custom marshaler for ExecutionActivity. +func (ea ExecutionActivity) MarshalJSON() ([]byte, error) { + ea.Type = TypeExecution + objectMap := make(map[string]interface{}) + if ea.LinkedServiceName != nil { + objectMap["linkedServiceName"] = ea.LinkedServiceName + } + if ea.Policy != nil { + objectMap["policy"] = ea.Policy + } + if ea.Name != nil { + objectMap["name"] = ea.Name + } + if ea.Description != nil { + objectMap["description"] = ea.Description + } + if ea.DependsOn != nil { + objectMap["dependsOn"] = ea.DependsOn + } + if ea.UserProperties != nil { + objectMap["userProperties"] = ea.UserProperties + } + if ea.Type != "" { + objectMap["type"] = ea.Type + } + for k, v := range ea.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) } -// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. -func (gawod GoogleAdWordsObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { +// AsExecuteDataFlowActivity is the BasicActivity implementation for ExecutionActivity. +func (ea ExecutionActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) { return nil, false } -// AsSapBwCubeDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. -func (gawod GoogleAdWordsObjectDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { +// AsAzureFunctionActivity is the BasicActivity implementation for ExecutionActivity. +func (ea ExecutionActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) { return nil, false } -// AsSybaseTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. -func (gawod GoogleAdWordsObjectDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { +// AsDatabricksSparkPythonActivity is the BasicActivity implementation for ExecutionActivity. +func (ea ExecutionActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) { return nil, false } -// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. -func (gawod GoogleAdWordsObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { +// AsDatabricksSparkJarActivity is the BasicActivity implementation for ExecutionActivity. +func (ea ExecutionActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) { return nil, false } -// AsSalesforceObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. -func (gawod GoogleAdWordsObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { +// AsDatabricksNotebookActivity is the BasicActivity implementation for ExecutionActivity. +func (ea ExecutionActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) { return nil, false } -// AsMicrosoftAccessTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. -func (gawod GoogleAdWordsObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { +// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for ExecutionActivity. +func (ea ExecutionActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) { return nil, false } -// AsPostgreSQLTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. -func (gawod GoogleAdWordsObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { +// AsAzureMLExecutePipelineActivity is the BasicActivity implementation for ExecutionActivity. +func (ea ExecutionActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) { return nil, false } -// AsMySQLTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. -func (gawod GoogleAdWordsObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { +// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for ExecutionActivity. +func (ea ExecutionActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) { return nil, false } -// AsOdbcTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. -func (gawod GoogleAdWordsObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { +// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for ExecutionActivity. +func (ea ExecutionActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) { return nil, false } -// AsInformixTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. -func (gawod GoogleAdWordsObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { +// AsGetMetadataActivity is the BasicActivity implementation for ExecutionActivity. +func (ea ExecutionActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) { return nil, false } -// AsRelationalTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. -func (gawod GoogleAdWordsObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { +// AsWebActivity is the BasicActivity implementation for ExecutionActivity. +func (ea ExecutionActivity) AsWebActivity() (*WebActivity, bool) { return nil, false } -// AsAzureMySQLTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. -func (gawod GoogleAdWordsObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { +// AsLookupActivity is the BasicActivity implementation for ExecutionActivity. +func (ea ExecutionActivity) AsLookupActivity() (*LookupActivity, bool) { return nil, false } -// AsTeradataTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. -func (gawod GoogleAdWordsObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { +// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for ExecutionActivity. +func (ea ExecutionActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) { return nil, false } -// AsOracleTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. -func (gawod GoogleAdWordsObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { +// AsDeleteActivity is the BasicActivity implementation for ExecutionActivity. +func (ea ExecutionActivity) AsDeleteActivity() (*DeleteActivity, bool) { return nil, false } -// AsODataResourceDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. -func (gawod GoogleAdWordsObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { +// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for ExecutionActivity. +func (ea ExecutionActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) { return nil, false } -// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. -func (gawod GoogleAdWordsObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { +// AsCustomActivity is the BasicActivity implementation for ExecutionActivity. +func (ea ExecutionActivity) AsCustomActivity() (*CustomActivity, bool) { return nil, false } -// AsMongoDbV2CollectionDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. -func (gawod GoogleAdWordsObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { +// AsExecuteSSISPackageActivity is the BasicActivity implementation for ExecutionActivity. +func (ea ExecutionActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) { return nil, false } -// AsMongoDbCollectionDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. -func (gawod GoogleAdWordsObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { +// AsHDInsightSparkActivity is the BasicActivity implementation for ExecutionActivity. +func (ea ExecutionActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) { return nil, false } -// AsFileShareDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. -func (gawod GoogleAdWordsObjectDataset) AsFileShareDataset() (*FileShareDataset, bool) { +// AsHDInsightStreamingActivity is the BasicActivity implementation for ExecutionActivity. +func (ea ExecutionActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) { return nil, false } -// AsOffice365Dataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. -func (gawod GoogleAdWordsObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) { +// AsHDInsightMapReduceActivity is the BasicActivity implementation for ExecutionActivity. +func (ea ExecutionActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) { return nil, false } -// AsAzureBlobFSDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. -func (gawod GoogleAdWordsObjectDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) { +// AsHDInsightPigActivity is the BasicActivity implementation for ExecutionActivity. +func (ea ExecutionActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) { return nil, false } -// AsAzureDataLakeStoreDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. -func (gawod GoogleAdWordsObjectDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) { +// AsHDInsightHiveActivity is the BasicActivity implementation for ExecutionActivity. +func (ea ExecutionActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) { return nil, false } -// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. -func (gawod GoogleAdWordsObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { +// AsCopyActivity is the BasicActivity implementation for ExecutionActivity. +func (ea ExecutionActivity) AsCopyActivity() (*CopyActivity, bool) { return nil, false } -// AsDynamicsCrmEntityDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. -func (gawod GoogleAdWordsObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { - return nil, false +// AsExecutionActivity is the BasicActivity implementation for ExecutionActivity. +func (ea ExecutionActivity) AsExecutionActivity() (*ExecutionActivity, bool) { + return &ea, true } -// AsDynamicsEntityDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. -func (gawod GoogleAdWordsObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { - return nil, false +// AsBasicExecutionActivity is the BasicActivity implementation for ExecutionActivity. +func (ea ExecutionActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) { + return &ea, true } -// AsDocumentDbCollectionDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. -func (gawod GoogleAdWordsObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { +// AsWebHookActivity is the BasicActivity implementation for ExecutionActivity. +func (ea ExecutionActivity) AsWebHookActivity() (*WebHookActivity, bool) { return nil, false } -// AsCustomDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. -func (gawod GoogleAdWordsObjectDataset) AsCustomDataset() (*CustomDataset, bool) { +// AsAppendVariableActivity is the BasicActivity implementation for ExecutionActivity. +func (ea ExecutionActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) { return nil, false } -// AsCassandraTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. -func (gawod GoogleAdWordsObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { +// AsSetVariableActivity is the BasicActivity implementation for ExecutionActivity. +func (ea ExecutionActivity) AsSetVariableActivity() (*SetVariableActivity, bool) { return nil, false } -// AsAzureSQLDWTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. -func (gawod GoogleAdWordsObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { +// AsFilterActivity is the BasicActivity implementation for ExecutionActivity. +func (ea ExecutionActivity) AsFilterActivity() (*FilterActivity, bool) { return nil, false } -// AsAzureSQLMITableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. -func (gawod GoogleAdWordsObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { +// AsValidationActivity is the BasicActivity implementation for ExecutionActivity. +func (ea ExecutionActivity) AsValidationActivity() (*ValidationActivity, bool) { return nil, false } -// AsAzureSQLTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. -func (gawod GoogleAdWordsObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { +// AsUntilActivity is the BasicActivity implementation for ExecutionActivity. +func (ea ExecutionActivity) AsUntilActivity() (*UntilActivity, bool) { return nil, false } -// AsAzureTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. -func (gawod GoogleAdWordsObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { +// AsWaitActivity is the BasicActivity implementation for ExecutionActivity. +func (ea ExecutionActivity) AsWaitActivity() (*WaitActivity, bool) { return nil, false } -// AsAzureBlobDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. -func (gawod GoogleAdWordsObjectDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) { +// AsForEachActivity is the BasicActivity implementation for ExecutionActivity. +func (ea ExecutionActivity) AsForEachActivity() (*ForEachActivity, bool) { return nil, false } -// AsBinaryDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. -func (gawod GoogleAdWordsObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) { +// AsSwitchActivity is the BasicActivity implementation for ExecutionActivity. +func (ea ExecutionActivity) AsSwitchActivity() (*SwitchActivity, bool) { return nil, false } -// AsDelimitedTextDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. -func (gawod GoogleAdWordsObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { +// AsIfConditionActivity is the BasicActivity implementation for ExecutionActivity. +func (ea ExecutionActivity) AsIfConditionActivity() (*IfConditionActivity, bool) { return nil, false } -// AsParquetDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. -func (gawod GoogleAdWordsObjectDataset) AsParquetDataset() (*ParquetDataset, bool) { +// AsExecutePipelineActivity is the BasicActivity implementation for ExecutionActivity. +func (ea ExecutionActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) { return nil, false } -// AsAvroDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. -func (gawod GoogleAdWordsObjectDataset) AsAvroDataset() (*AvroDataset, bool) { +// AsControlActivity is the BasicActivity implementation for ExecutionActivity. +func (ea ExecutionActivity) AsControlActivity() (*ControlActivity, bool) { return nil, false } -// AsAmazonS3Dataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. -func (gawod GoogleAdWordsObjectDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) { +// AsBasicControlActivity is the BasicActivity implementation for ExecutionActivity. +func (ea ExecutionActivity) AsBasicControlActivity() (BasicControlActivity, bool) { return nil, false } -// AsDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. -func (gawod GoogleAdWordsObjectDataset) AsDataset() (*Dataset, bool) { +// AsActivity is the BasicActivity implementation for ExecutionActivity. +func (ea ExecutionActivity) AsActivity() (*Activity, bool) { return nil, false } -// AsBasicDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. -func (gawod GoogleAdWordsObjectDataset) AsBasicDataset() (BasicDataset, bool) { - return &gawod, true +// AsBasicActivity is the BasicActivity implementation for ExecutionActivity. +func (ea ExecutionActivity) AsBasicActivity() (BasicActivity, bool) { + return &ea, true } -// UnmarshalJSON is the custom unmarshaler for GoogleAdWordsObjectDataset struct. -func (gawod *GoogleAdWordsObjectDataset) UnmarshalJSON(body []byte) error { +// UnmarshalJSON is the custom unmarshaler for ExecutionActivity struct. +func (ea *ExecutionActivity) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -81691,14 +85501,23 @@ func (gawod *GoogleAdWordsObjectDataset) UnmarshalJSON(body []byte) error { } for k, v := range m { switch k { - case "typeProperties": + case "linkedServiceName": if v != nil { - var genericDatasetTypeProperties GenericDatasetTypeProperties - err = json.Unmarshal(*v, &genericDatasetTypeProperties) + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) if err != nil { return err } - gawod.GenericDatasetTypeProperties = &genericDatasetTypeProperties + ea.LinkedServiceName = &linkedServiceName + } + case "policy": + if v != nil { + var policy ActivityPolicy + err = json.Unmarshal(*v, &policy) + if err != nil { + return err + } + ea.Policy = &policy } default: if v != nil { @@ -81707,10 +85526,19 @@ func (gawod *GoogleAdWordsObjectDataset) UnmarshalJSON(body []byte) error { if err != nil { return err } - if gawod.AdditionalProperties == nil { - gawod.AdditionalProperties = make(map[string]interface{}) + if ea.AdditionalProperties == nil { + ea.AdditionalProperties = make(map[string]interface{}) } - gawod.AdditionalProperties[k] = additionalProperties + ea.AdditionalProperties[k] = additionalProperties + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + ea.Name = &name } case "description": if v != nil { @@ -81719,70 +85547,202 @@ func (gawod *GoogleAdWordsObjectDataset) UnmarshalJSON(body []byte) error { if err != nil { return err } - gawod.Description = &description + ea.Description = &description } - case "structure": + case "dependsOn": if v != nil { - var structure interface{} - err = json.Unmarshal(*v, &structure) + var dependsOn []ActivityDependency + err = json.Unmarshal(*v, &dependsOn) if err != nil { return err } - gawod.Structure = structure + ea.DependsOn = &dependsOn } - case "schema": + case "userProperties": if v != nil { - var schema interface{} - err = json.Unmarshal(*v, &schema) + var userProperties []UserProperty + err = json.Unmarshal(*v, &userProperties) if err != nil { return err } - gawod.Schema = schema + ea.UserProperties = &userProperties } - case "linkedServiceName": + case "type": if v != nil { - var linkedServiceName LinkedServiceReference - err = json.Unmarshal(*v, &linkedServiceName) + var typeVar TypeBasicActivity + err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - gawod.LinkedServiceName = &linkedServiceName + ea.Type = typeVar } - case "parameters": + } + } + + return nil +} + +// ExposureControlRequest the exposure control request. +type ExposureControlRequest struct { + // FeatureName - The feature name. + FeatureName *string `json:"featureName,omitempty"` + // FeatureType - The feature type. + FeatureType *string `json:"featureType,omitempty"` +} + +// ExposureControlResponse the exposure control response. +type ExposureControlResponse struct { + autorest.Response `json:"-"` + // FeatureName - READ-ONLY; The feature name. + FeatureName *string `json:"featureName,omitempty"` + // Value - READ-ONLY; The feature value. + Value *string `json:"value,omitempty"` +} + +// Expression azure Data Factory expression definition. +type Expression struct { + // Type - Expression type. + Type *string `json:"type,omitempty"` + // Value - Expression value. + Value *string `json:"value,omitempty"` +} + +// Factory factory resource type. +type Factory struct { + autorest.Response `json:"-"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Identity - Managed service identity of the factory. + Identity *FactoryIdentity `json:"identity,omitempty"` + // FactoryProperties - Properties of the factory. + *FactoryProperties `json:"properties,omitempty"` + // ID - READ-ONLY; The resource identifier. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; The resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; The resource type. + Type *string `json:"type,omitempty"` + // Location - The resource location. + Location *string `json:"location,omitempty"` + // Tags - The resource tags. + Tags map[string]*string `json:"tags"` + // ETag - READ-ONLY; Etag identifies change in the resource. + ETag *string `json:"eTag,omitempty"` +} + +// MarshalJSON is the custom marshaler for Factory. +func (f Factory) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if f.Identity != nil { + objectMap["identity"] = f.Identity + } + if f.FactoryProperties != nil { + objectMap["properties"] = f.FactoryProperties + } + if f.Location != nil { + objectMap["location"] = f.Location + } + if f.Tags != nil { + objectMap["tags"] = f.Tags + } + for k, v := range f.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for Factory struct. +func (f *Factory) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + default: if v != nil { - var parameters map[string]*ParameterSpecification - err = json.Unmarshal(*v, ¶meters) + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) if err != nil { return err } - gawod.Parameters = parameters + if f.AdditionalProperties == nil { + f.AdditionalProperties = make(map[string]interface{}) + } + f.AdditionalProperties[k] = additionalProperties } - case "annotations": + case "identity": if v != nil { - var annotations []interface{} - err = json.Unmarshal(*v, &annotations) + var identity FactoryIdentity + err = json.Unmarshal(*v, &identity) if err != nil { return err } - gawod.Annotations = &annotations + f.Identity = &identity } - case "folder": + case "properties": if v != nil { - var folder DatasetFolder - err = json.Unmarshal(*v, &folder) + var factoryProperties FactoryProperties + err = json.Unmarshal(*v, &factoryProperties) if err != nil { return err } - gawod.Folder = &folder + f.FactoryProperties = &factoryProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + f.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + f.Name = &name } case "type": if v != nil { - var typeVar TypeBasicDataset + var typeVar string err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - gawod.Type = typeVar + f.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + f.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + f.Tags = tags + } + case "eTag": + if v != nil { + var eTag string + err = json.Unmarshal(*v, &eTag) + if err != nil { + return err + } + f.ETag = &eTag } } } @@ -81790,474 +85750,1058 @@ func (gawod *GoogleAdWordsObjectDataset) UnmarshalJSON(body []byte) error { return nil } -// GoogleAdWordsSource a copy activity Google AdWords service source. -type GoogleAdWordsSource struct { - // Query - A query to retrieve data from source. Type: string (or Expression with resultType string). - Query interface{} `json:"query,omitempty"` - // AdditionalProperties - Unmatched properties from the message are deserialized this collection - AdditionalProperties map[string]interface{} `json:""` - // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). - SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` - // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). - SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` - // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). - MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' - Type TypeBasicCopySource `json:"type,omitempty"` +// FactoryGitHubConfiguration factory's GitHub repo information. +type FactoryGitHubConfiguration struct { + // HostName - GitHub Enterprise host name. For example: https://github.mydomain.com + HostName *string `json:"hostName,omitempty"` + // AccountName - Account name. + AccountName *string `json:"accountName,omitempty"` + // RepositoryName - Repository name. + RepositoryName *string `json:"repositoryName,omitempty"` + // CollaborationBranch - Collaboration branch. + CollaborationBranch *string `json:"collaborationBranch,omitempty"` + // RootFolder - Root folder. + RootFolder *string `json:"rootFolder,omitempty"` + // LastCommitID - Last commit id. + LastCommitID *string `json:"lastCommitId,omitempty"` + // Type - Possible values include: 'TypeFactoryRepoConfiguration', 'TypeFactoryVSTSConfiguration', 'TypeFactoryGitHubConfiguration' + Type TypeBasicFactoryRepoConfiguration `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for GoogleAdWordsSource. -func (gaws GoogleAdWordsSource) MarshalJSON() ([]byte, error) { - gaws.Type = TypeGoogleAdWordsSource +// MarshalJSON is the custom marshaler for FactoryGitHubConfiguration. +func (fghc FactoryGitHubConfiguration) MarshalJSON() ([]byte, error) { + fghc.Type = TypeFactoryGitHubConfiguration objectMap := make(map[string]interface{}) - if gaws.Query != nil { - objectMap["query"] = gaws.Query + if fghc.HostName != nil { + objectMap["hostName"] = fghc.HostName } - if gaws.SourceRetryCount != nil { - objectMap["sourceRetryCount"] = gaws.SourceRetryCount + if fghc.AccountName != nil { + objectMap["accountName"] = fghc.AccountName } - if gaws.SourceRetryWait != nil { - objectMap["sourceRetryWait"] = gaws.SourceRetryWait + if fghc.RepositoryName != nil { + objectMap["repositoryName"] = fghc.RepositoryName } - if gaws.MaxConcurrentConnections != nil { - objectMap["maxConcurrentConnections"] = gaws.MaxConcurrentConnections + if fghc.CollaborationBranch != nil { + objectMap["collaborationBranch"] = fghc.CollaborationBranch } - if gaws.Type != "" { - objectMap["type"] = gaws.Type + if fghc.RootFolder != nil { + objectMap["rootFolder"] = fghc.RootFolder } - for k, v := range gaws.AdditionalProperties { - objectMap[k] = v + if fghc.LastCommitID != nil { + objectMap["lastCommitId"] = fghc.LastCommitID + } + if fghc.Type != "" { + objectMap["type"] = fghc.Type } return json.Marshal(objectMap) } -// AsAmazonRedshiftSource is the BasicCopySource implementation for GoogleAdWordsSource. -func (gaws GoogleAdWordsSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { +// AsFactoryVSTSConfiguration is the BasicFactoryRepoConfiguration implementation for FactoryGitHubConfiguration. +func (fghc FactoryGitHubConfiguration) AsFactoryVSTSConfiguration() (*FactoryVSTSConfiguration, bool) { return nil, false } -// AsGoogleAdWordsSource is the BasicCopySource implementation for GoogleAdWordsSource. -func (gaws GoogleAdWordsSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { - return &gaws, true +// AsFactoryGitHubConfiguration is the BasicFactoryRepoConfiguration implementation for FactoryGitHubConfiguration. +func (fghc FactoryGitHubConfiguration) AsFactoryGitHubConfiguration() (*FactoryGitHubConfiguration, bool) { + return &fghc, true } -// AsOracleServiceCloudSource is the BasicCopySource implementation for GoogleAdWordsSource. -func (gaws GoogleAdWordsSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { +// AsFactoryRepoConfiguration is the BasicFactoryRepoConfiguration implementation for FactoryGitHubConfiguration. +func (fghc FactoryGitHubConfiguration) AsFactoryRepoConfiguration() (*FactoryRepoConfiguration, bool) { return nil, false } -// AsDynamicsAXSource is the BasicCopySource implementation for GoogleAdWordsSource. -func (gaws GoogleAdWordsSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { - return nil, false +// AsBasicFactoryRepoConfiguration is the BasicFactoryRepoConfiguration implementation for FactoryGitHubConfiguration. +func (fghc FactoryGitHubConfiguration) AsBasicFactoryRepoConfiguration() (BasicFactoryRepoConfiguration, bool) { + return &fghc, true } -// AsResponsysSource is the BasicCopySource implementation for GoogleAdWordsSource. -func (gaws GoogleAdWordsSource) AsResponsysSource() (*ResponsysSource, bool) { - return nil, false +// FactoryIdentity identity properties of the factory resource. +type FactoryIdentity struct { + // Type - The identity type. Currently the only supported type is 'SystemAssigned'. + Type *string `json:"type,omitempty"` + // PrincipalID - READ-ONLY; The principal id of the identity. + PrincipalID *uuid.UUID `json:"principalId,omitempty"` + // TenantID - READ-ONLY; The client tenant id of the identity. + TenantID *uuid.UUID `json:"tenantId,omitempty"` } -// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for GoogleAdWordsSource. -func (gaws GoogleAdWordsSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { - return nil, false +// FactoryListResponse a list of factory resources. +type FactoryListResponse struct { + autorest.Response `json:"-"` + // Value - List of factories. + Value *[]Factory `json:"value,omitempty"` + // NextLink - The link to the next page of results, if any remaining results exist. + NextLink *string `json:"nextLink,omitempty"` } -// AsVerticaSource is the BasicCopySource implementation for GoogleAdWordsSource. -func (gaws GoogleAdWordsSource) AsVerticaSource() (*VerticaSource, bool) { - return nil, false +// FactoryListResponseIterator provides access to a complete listing of Factory values. +type FactoryListResponseIterator struct { + i int + page FactoryListResponsePage } -// AsNetezzaSource is the BasicCopySource implementation for GoogleAdWordsSource. -func (gaws GoogleAdWordsSource) AsNetezzaSource() (*NetezzaSource, bool) { - return nil, false +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *FactoryListResponseIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/FactoryListResponseIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil } -// AsZohoSource is the BasicCopySource implementation for GoogleAdWordsSource. -func (gaws GoogleAdWordsSource) AsZohoSource() (*ZohoSource, bool) { - return nil, false +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *FactoryListResponseIterator) Next() error { + return iter.NextWithContext(context.Background()) } -// AsXeroSource is the BasicCopySource implementation for GoogleAdWordsSource. -func (gaws GoogleAdWordsSource) AsXeroSource() (*XeroSource, bool) { - return nil, false +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter FactoryListResponseIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) } -// AsSquareSource is the BasicCopySource implementation for GoogleAdWordsSource. -func (gaws GoogleAdWordsSource) AsSquareSource() (*SquareSource, bool) { - return nil, false +// Response returns the raw server response from the last page request. +func (iter FactoryListResponseIterator) Response() FactoryListResponse { + return iter.page.Response() } -// AsSparkSource is the BasicCopySource implementation for GoogleAdWordsSource. -func (gaws GoogleAdWordsSource) AsSparkSource() (*SparkSource, bool) { - return nil, false +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter FactoryListResponseIterator) Value() Factory { + if !iter.page.NotDone() { + return Factory{} + } + return iter.page.Values()[iter.i] } -// AsShopifySource is the BasicCopySource implementation for GoogleAdWordsSource. -func (gaws GoogleAdWordsSource) AsShopifySource() (*ShopifySource, bool) { - return nil, false +// Creates a new instance of the FactoryListResponseIterator type. +func NewFactoryListResponseIterator(page FactoryListResponsePage) FactoryListResponseIterator { + return FactoryListResponseIterator{page: page} } -// AsServiceNowSource is the BasicCopySource implementation for GoogleAdWordsSource. -func (gaws GoogleAdWordsSource) AsServiceNowSource() (*ServiceNowSource, bool) { - return nil, false +// IsEmpty returns true if the ListResult contains no values. +func (flr FactoryListResponse) IsEmpty() bool { + return flr.Value == nil || len(*flr.Value) == 0 } -// AsQuickBooksSource is the BasicCopySource implementation for GoogleAdWordsSource. -func (gaws GoogleAdWordsSource) AsQuickBooksSource() (*QuickBooksSource, bool) { - return nil, false +// factoryListResponsePreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (flr FactoryListResponse) factoryListResponsePreparer(ctx context.Context) (*http.Request, error) { + if flr.NextLink == nil || len(to.String(flr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(flr.NextLink))) } -// AsPrestoSource is the BasicCopySource implementation for GoogleAdWordsSource. -func (gaws GoogleAdWordsSource) AsPrestoSource() (*PrestoSource, bool) { - return nil, false +// FactoryListResponsePage contains a page of Factory values. +type FactoryListResponsePage struct { + fn func(context.Context, FactoryListResponse) (FactoryListResponse, error) + flr FactoryListResponse } -// AsPhoenixSource is the BasicCopySource implementation for GoogleAdWordsSource. -func (gaws GoogleAdWordsSource) AsPhoenixSource() (*PhoenixSource, bool) { - return nil, false +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *FactoryListResponsePage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/FactoryListResponsePage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.flr) + if err != nil { + return err + } + page.flr = next + return nil } -// AsPaypalSource is the BasicCopySource implementation for GoogleAdWordsSource. -func (gaws GoogleAdWordsSource) AsPaypalSource() (*PaypalSource, bool) { - return nil, false +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *FactoryListResponsePage) Next() error { + return page.NextWithContext(context.Background()) } -// AsMarketoSource is the BasicCopySource implementation for GoogleAdWordsSource. -func (gaws GoogleAdWordsSource) AsMarketoSource() (*MarketoSource, bool) { - return nil, false +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page FactoryListResponsePage) NotDone() bool { + return !page.flr.IsEmpty() } -// AsAzureMariaDBSource is the BasicCopySource implementation for GoogleAdWordsSource. -func (gaws GoogleAdWordsSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { - return nil, false +// Response returns the raw server response from the last page request. +func (page FactoryListResponsePage) Response() FactoryListResponse { + return page.flr } -// AsMariaDBSource is the BasicCopySource implementation for GoogleAdWordsSource. -func (gaws GoogleAdWordsSource) AsMariaDBSource() (*MariaDBSource, bool) { - return nil, false +// Values returns the slice of values for the current page or nil if there are no values. +func (page FactoryListResponsePage) Values() []Factory { + if page.flr.IsEmpty() { + return nil + } + return *page.flr.Value } -// AsMagentoSource is the BasicCopySource implementation for GoogleAdWordsSource. -func (gaws GoogleAdWordsSource) AsMagentoSource() (*MagentoSource, bool) { - return nil, false +// Creates a new instance of the FactoryListResponsePage type. +func NewFactoryListResponsePage(getNextPage func(context.Context, FactoryListResponse) (FactoryListResponse, error)) FactoryListResponsePage { + return FactoryListResponsePage{fn: getNextPage} } -// AsJiraSource is the BasicCopySource implementation for GoogleAdWordsSource. -func (gaws GoogleAdWordsSource) AsJiraSource() (*JiraSource, bool) { +// FactoryProperties factory resource properties. +type FactoryProperties struct { + // ProvisioningState - READ-ONLY; Factory provisioning state, example Succeeded. + ProvisioningState *string `json:"provisioningState,omitempty"` + // CreateTime - READ-ONLY; Time the factory was created in ISO8601 format. + CreateTime *date.Time `json:"createTime,omitempty"` + // Version - READ-ONLY; Version of the factory. + Version *string `json:"version,omitempty"` + // RepoConfiguration - Git repo information of the factory. + RepoConfiguration BasicFactoryRepoConfiguration `json:"repoConfiguration,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for FactoryProperties struct. +func (fp *FactoryProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "provisioningState": + if v != nil { + var provisioningState string + err = json.Unmarshal(*v, &provisioningState) + if err != nil { + return err + } + fp.ProvisioningState = &provisioningState + } + case "createTime": + if v != nil { + var createTime date.Time + err = json.Unmarshal(*v, &createTime) + if err != nil { + return err + } + fp.CreateTime = &createTime + } + case "version": + if v != nil { + var version string + err = json.Unmarshal(*v, &version) + if err != nil { + return err + } + fp.Version = &version + } + case "repoConfiguration": + if v != nil { + repoConfiguration, err := unmarshalBasicFactoryRepoConfiguration(*v) + if err != nil { + return err + } + fp.RepoConfiguration = repoConfiguration + } + } + } + + return nil +} + +// BasicFactoryRepoConfiguration factory's git repo information. +type BasicFactoryRepoConfiguration interface { + AsFactoryVSTSConfiguration() (*FactoryVSTSConfiguration, bool) + AsFactoryGitHubConfiguration() (*FactoryGitHubConfiguration, bool) + AsFactoryRepoConfiguration() (*FactoryRepoConfiguration, bool) +} + +// FactoryRepoConfiguration factory's git repo information. +type FactoryRepoConfiguration struct { + // AccountName - Account name. + AccountName *string `json:"accountName,omitempty"` + // RepositoryName - Repository name. + RepositoryName *string `json:"repositoryName,omitempty"` + // CollaborationBranch - Collaboration branch. + CollaborationBranch *string `json:"collaborationBranch,omitempty"` + // RootFolder - Root folder. + RootFolder *string `json:"rootFolder,omitempty"` + // LastCommitID - Last commit id. + LastCommitID *string `json:"lastCommitId,omitempty"` + // Type - Possible values include: 'TypeFactoryRepoConfiguration', 'TypeFactoryVSTSConfiguration', 'TypeFactoryGitHubConfiguration' + Type TypeBasicFactoryRepoConfiguration `json:"type,omitempty"` +} + +func unmarshalBasicFactoryRepoConfiguration(body []byte) (BasicFactoryRepoConfiguration, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["type"] { + case string(TypeFactoryVSTSConfiguration): + var fvc FactoryVSTSConfiguration + err := json.Unmarshal(body, &fvc) + return fvc, err + case string(TypeFactoryGitHubConfiguration): + var fghc FactoryGitHubConfiguration + err := json.Unmarshal(body, &fghc) + return fghc, err + default: + var frc FactoryRepoConfiguration + err := json.Unmarshal(body, &frc) + return frc, err + } +} +func unmarshalBasicFactoryRepoConfigurationArray(body []byte) ([]BasicFactoryRepoConfiguration, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + frcArray := make([]BasicFactoryRepoConfiguration, len(rawMessages)) + + for index, rawMessage := range rawMessages { + frc, err := unmarshalBasicFactoryRepoConfiguration(*rawMessage) + if err != nil { + return nil, err + } + frcArray[index] = frc + } + return frcArray, nil +} + +// MarshalJSON is the custom marshaler for FactoryRepoConfiguration. +func (frc FactoryRepoConfiguration) MarshalJSON() ([]byte, error) { + frc.Type = TypeFactoryRepoConfiguration + objectMap := make(map[string]interface{}) + if frc.AccountName != nil { + objectMap["accountName"] = frc.AccountName + } + if frc.RepositoryName != nil { + objectMap["repositoryName"] = frc.RepositoryName + } + if frc.CollaborationBranch != nil { + objectMap["collaborationBranch"] = frc.CollaborationBranch + } + if frc.RootFolder != nil { + objectMap["rootFolder"] = frc.RootFolder + } + if frc.LastCommitID != nil { + objectMap["lastCommitId"] = frc.LastCommitID + } + if frc.Type != "" { + objectMap["type"] = frc.Type + } + return json.Marshal(objectMap) +} + +// AsFactoryVSTSConfiguration is the BasicFactoryRepoConfiguration implementation for FactoryRepoConfiguration. +func (frc FactoryRepoConfiguration) AsFactoryVSTSConfiguration() (*FactoryVSTSConfiguration, bool) { return nil, false } -// AsImpalaSource is the BasicCopySource implementation for GoogleAdWordsSource. -func (gaws GoogleAdWordsSource) AsImpalaSource() (*ImpalaSource, bool) { +// AsFactoryGitHubConfiguration is the BasicFactoryRepoConfiguration implementation for FactoryRepoConfiguration. +func (frc FactoryRepoConfiguration) AsFactoryGitHubConfiguration() (*FactoryGitHubConfiguration, bool) { return nil, false } -// AsHubspotSource is the BasicCopySource implementation for GoogleAdWordsSource. -func (gaws GoogleAdWordsSource) AsHubspotSource() (*HubspotSource, bool) { +// AsFactoryRepoConfiguration is the BasicFactoryRepoConfiguration implementation for FactoryRepoConfiguration. +func (frc FactoryRepoConfiguration) AsFactoryRepoConfiguration() (*FactoryRepoConfiguration, bool) { + return &frc, true +} + +// AsBasicFactoryRepoConfiguration is the BasicFactoryRepoConfiguration implementation for FactoryRepoConfiguration. +func (frc FactoryRepoConfiguration) AsBasicFactoryRepoConfiguration() (BasicFactoryRepoConfiguration, bool) { + return &frc, true +} + +// FactoryRepoUpdate factory's git repo information. +type FactoryRepoUpdate struct { + // FactoryResourceID - The factory resource id. + FactoryResourceID *string `json:"factoryResourceId,omitempty"` + // RepoConfiguration - Git repo information of the factory. + RepoConfiguration BasicFactoryRepoConfiguration `json:"repoConfiguration,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for FactoryRepoUpdate struct. +func (fru *FactoryRepoUpdate) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "factoryResourceId": + if v != nil { + var factoryResourceID string + err = json.Unmarshal(*v, &factoryResourceID) + if err != nil { + return err + } + fru.FactoryResourceID = &factoryResourceID + } + case "repoConfiguration": + if v != nil { + repoConfiguration, err := unmarshalBasicFactoryRepoConfiguration(*v) + if err != nil { + return err + } + fru.RepoConfiguration = repoConfiguration + } + } + } + + return nil +} + +// FactoryUpdateParameters parameters for updating a factory resource. +type FactoryUpdateParameters struct { + // Tags - The resource tags. + Tags map[string]*string `json:"tags"` + // Identity - Managed service identity of the factory. + Identity *FactoryIdentity `json:"identity,omitempty"` +} + +// MarshalJSON is the custom marshaler for FactoryUpdateParameters. +func (fup FactoryUpdateParameters) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if fup.Tags != nil { + objectMap["tags"] = fup.Tags + } + if fup.Identity != nil { + objectMap["identity"] = fup.Identity + } + return json.Marshal(objectMap) +} + +// FactoryVSTSConfiguration factory's VSTS repo information. +type FactoryVSTSConfiguration struct { + // ProjectName - VSTS project name. + ProjectName *string `json:"projectName,omitempty"` + // TenantID - VSTS tenant id. + TenantID *string `json:"tenantId,omitempty"` + // AccountName - Account name. + AccountName *string `json:"accountName,omitempty"` + // RepositoryName - Repository name. + RepositoryName *string `json:"repositoryName,omitempty"` + // CollaborationBranch - Collaboration branch. + CollaborationBranch *string `json:"collaborationBranch,omitempty"` + // RootFolder - Root folder. + RootFolder *string `json:"rootFolder,omitempty"` + // LastCommitID - Last commit id. + LastCommitID *string `json:"lastCommitId,omitempty"` + // Type - Possible values include: 'TypeFactoryRepoConfiguration', 'TypeFactoryVSTSConfiguration', 'TypeFactoryGitHubConfiguration' + Type TypeBasicFactoryRepoConfiguration `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for FactoryVSTSConfiguration. +func (fvc FactoryVSTSConfiguration) MarshalJSON() ([]byte, error) { + fvc.Type = TypeFactoryVSTSConfiguration + objectMap := make(map[string]interface{}) + if fvc.ProjectName != nil { + objectMap["projectName"] = fvc.ProjectName + } + if fvc.TenantID != nil { + objectMap["tenantId"] = fvc.TenantID + } + if fvc.AccountName != nil { + objectMap["accountName"] = fvc.AccountName + } + if fvc.RepositoryName != nil { + objectMap["repositoryName"] = fvc.RepositoryName + } + if fvc.CollaborationBranch != nil { + objectMap["collaborationBranch"] = fvc.CollaborationBranch + } + if fvc.RootFolder != nil { + objectMap["rootFolder"] = fvc.RootFolder + } + if fvc.LastCommitID != nil { + objectMap["lastCommitId"] = fvc.LastCommitID + } + if fvc.Type != "" { + objectMap["type"] = fvc.Type + } + return json.Marshal(objectMap) +} + +// AsFactoryVSTSConfiguration is the BasicFactoryRepoConfiguration implementation for FactoryVSTSConfiguration. +func (fvc FactoryVSTSConfiguration) AsFactoryVSTSConfiguration() (*FactoryVSTSConfiguration, bool) { + return &fvc, true +} + +// AsFactoryGitHubConfiguration is the BasicFactoryRepoConfiguration implementation for FactoryVSTSConfiguration. +func (fvc FactoryVSTSConfiguration) AsFactoryGitHubConfiguration() (*FactoryGitHubConfiguration, bool) { return nil, false } -// AsHiveSource is the BasicCopySource implementation for GoogleAdWordsSource. -func (gaws GoogleAdWordsSource) AsHiveSource() (*HiveSource, bool) { +// AsFactoryRepoConfiguration is the BasicFactoryRepoConfiguration implementation for FactoryVSTSConfiguration. +func (fvc FactoryVSTSConfiguration) AsFactoryRepoConfiguration() (*FactoryRepoConfiguration, bool) { return nil, false } -// AsHBaseSource is the BasicCopySource implementation for GoogleAdWordsSource. -func (gaws GoogleAdWordsSource) AsHBaseSource() (*HBaseSource, bool) { +// AsBasicFactoryRepoConfiguration is the BasicFactoryRepoConfiguration implementation for FactoryVSTSConfiguration. +func (fvc FactoryVSTSConfiguration) AsBasicFactoryRepoConfiguration() (BasicFactoryRepoConfiguration, bool) { + return &fvc, true +} + +// FileServerLinkedService file system linked service. +type FileServerLinkedService struct { + // FileServerLinkedServiceTypeProperties - File system linked service properties. + *FileServerLinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for FileServerLinkedService. +func (fsls FileServerLinkedService) MarshalJSON() ([]byte, error) { + fsls.Type = TypeFileServer + objectMap := make(map[string]interface{}) + if fsls.FileServerLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = fsls.FileServerLinkedServiceTypeProperties + } + if fsls.ConnectVia != nil { + objectMap["connectVia"] = fsls.ConnectVia + } + if fsls.Description != nil { + objectMap["description"] = fsls.Description + } + if fsls.Parameters != nil { + objectMap["parameters"] = fsls.Parameters + } + if fsls.Annotations != nil { + objectMap["annotations"] = fsls.Annotations + } + if fsls.Type != "" { + objectMap["type"] = fsls.Type + } + for k, v := range fsls.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { return nil, false } -// AsGreenplumSource is the BasicCopySource implementation for GoogleAdWordsSource. -func (gaws GoogleAdWordsSource) AsGreenplumSource() (*GreenplumSource, bool) { +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { return nil, false } -// AsGoogleBigQuerySource is the BasicCopySource implementation for GoogleAdWordsSource. -func (gaws GoogleAdWordsSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { +// AsSapTableLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { return nil, false } -// AsEloquaSource is the BasicCopySource implementation for GoogleAdWordsSource. -func (gaws GoogleAdWordsSource) AsEloquaSource() (*EloquaSource, bool) { +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { return nil, false } -// AsDrillSource is the BasicCopySource implementation for GoogleAdWordsSource. -func (gaws GoogleAdWordsSource) AsDrillSource() (*DrillSource, bool) { +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { return nil, false } -// AsCouchbaseSource is the BasicCopySource implementation for GoogleAdWordsSource. -func (gaws GoogleAdWordsSource) AsCouchbaseSource() (*CouchbaseSource, bool) { +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { return nil, false } -// AsConcurSource is the BasicCopySource implementation for GoogleAdWordsSource. -func (gaws GoogleAdWordsSource) AsConcurSource() (*ConcurSource, bool) { +// AsResponsysLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { return nil, false } -// AsAzurePostgreSQLSource is the BasicCopySource implementation for GoogleAdWordsSource. -func (gaws GoogleAdWordsSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { return nil, false } -// AsAmazonMWSSource is the BasicCopySource implementation for GoogleAdWordsSource. -func (gaws GoogleAdWordsSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { return nil, false } -// AsHTTPSource is the BasicCopySource implementation for GoogleAdWordsSource. -func (gaws GoogleAdWordsSource) AsHTTPSource() (*HTTPSource, bool) { +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { return nil, false } -// AsAzureBlobFSSource is the BasicCopySource implementation for GoogleAdWordsSource. -func (gaws GoogleAdWordsSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { return nil, false } -// AsAzureDataLakeStoreSource is the BasicCopySource implementation for GoogleAdWordsSource. -func (gaws GoogleAdWordsSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { +// AsNetezzaLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { return nil, false } -// AsOffice365Source is the BasicCopySource implementation for GoogleAdWordsSource. -func (gaws GoogleAdWordsSource) AsOffice365Source() (*Office365Source, bool) { +// AsVerticaLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { return nil, false } -// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for GoogleAdWordsSource. -func (gaws GoogleAdWordsSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { +// AsZohoLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { return nil, false } -// AsMongoDbV2Source is the BasicCopySource implementation for GoogleAdWordsSource. -func (gaws GoogleAdWordsSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { +// AsXeroLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { return nil, false } -// AsMongoDbSource is the BasicCopySource implementation for GoogleAdWordsSource. -func (gaws GoogleAdWordsSource) AsMongoDbSource() (*MongoDbSource, bool) { +// AsSquareLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { return nil, false } -// AsCassandraSource is the BasicCopySource implementation for GoogleAdWordsSource. -func (gaws GoogleAdWordsSource) AsCassandraSource() (*CassandraSource, bool) { +// AsSparkLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { return nil, false } -// AsWebSource is the BasicCopySource implementation for GoogleAdWordsSource. -func (gaws GoogleAdWordsSource) AsWebSource() (*WebSource, bool) { +// AsShopifyLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { return nil, false } -// AsTeradataSource is the BasicCopySource implementation for GoogleAdWordsSource. -func (gaws GoogleAdWordsSource) AsTeradataSource() (*TeradataSource, bool) { +// AsServiceNowLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { return nil, false } -// AsOracleSource is the BasicCopySource implementation for GoogleAdWordsSource. -func (gaws GoogleAdWordsSource) AsOracleSource() (*OracleSource, bool) { +// AsQuickBooksLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { return nil, false } -// AsAzureDataExplorerSource is the BasicCopySource implementation for GoogleAdWordsSource. -func (gaws GoogleAdWordsSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { +// AsPrestoLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { return nil, false } -// AsAzureMySQLSource is the BasicCopySource implementation for GoogleAdWordsSource. -func (gaws GoogleAdWordsSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { +// AsPhoenixLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { return nil, false } -// AsHdfsSource is the BasicCopySource implementation for GoogleAdWordsSource. -func (gaws GoogleAdWordsSource) AsHdfsSource() (*HdfsSource, bool) { +// AsPaypalLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { return nil, false } -// AsFileSystemSource is the BasicCopySource implementation for GoogleAdWordsSource. -func (gaws GoogleAdWordsSource) AsFileSystemSource() (*FileSystemSource, bool) { +// AsMarketoLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { return nil, false } -// AsSQLDWSource is the BasicCopySource implementation for GoogleAdWordsSource. -func (gaws GoogleAdWordsSource) AsSQLDWSource() (*SQLDWSource, bool) { +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { return nil, false } -// AsSQLMISource is the BasicCopySource implementation for GoogleAdWordsSource. -func (gaws GoogleAdWordsSource) AsSQLMISource() (*SQLMISource, bool) { +// AsMariaDBLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { return nil, false } -// AsAzureSQLSource is the BasicCopySource implementation for GoogleAdWordsSource. -func (gaws GoogleAdWordsSource) AsAzureSQLSource() (*AzureSQLSource, bool) { +// AsMagentoLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { return nil, false } -// AsSQLServerSource is the BasicCopySource implementation for GoogleAdWordsSource. -func (gaws GoogleAdWordsSource) AsSQLServerSource() (*SQLServerSource, bool) { +// AsJiraLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { return nil, false } -// AsSQLSource is the BasicCopySource implementation for GoogleAdWordsSource. -func (gaws GoogleAdWordsSource) AsSQLSource() (*SQLSource, bool) { +// AsImpalaLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { return nil, false } -// AsRestSource is the BasicCopySource implementation for GoogleAdWordsSource. -func (gaws GoogleAdWordsSource) AsRestSource() (*RestSource, bool) { +// AsHubspotLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { return nil, false } -// AsSapTableSource is the BasicCopySource implementation for GoogleAdWordsSource. -func (gaws GoogleAdWordsSource) AsSapTableSource() (*SapTableSource, bool) { +// AsHiveLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { return nil, false } -// AsSapOpenHubSource is the BasicCopySource implementation for GoogleAdWordsSource. -func (gaws GoogleAdWordsSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { +// AsHBaseLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { return nil, false } -// AsSapHanaSource is the BasicCopySource implementation for GoogleAdWordsSource. -func (gaws GoogleAdWordsSource) AsSapHanaSource() (*SapHanaSource, bool) { +// AsGreenplumLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { return nil, false } -// AsSapEccSource is the BasicCopySource implementation for GoogleAdWordsSource. -func (gaws GoogleAdWordsSource) AsSapEccSource() (*SapEccSource, bool) { +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { return nil, false } -// AsSapCloudForCustomerSource is the BasicCopySource implementation for GoogleAdWordsSource. -func (gaws GoogleAdWordsSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { +// AsEloquaLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { return nil, false } -// AsSalesforceServiceCloudSource is the BasicCopySource implementation for GoogleAdWordsSource. -func (gaws GoogleAdWordsSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { +// AsDrillLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { return nil, false } -// AsSalesforceSource is the BasicCopySource implementation for GoogleAdWordsSource. -func (gaws GoogleAdWordsSource) AsSalesforceSource() (*SalesforceSource, bool) { +// AsCouchbaseLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { return nil, false } -// AsODataSource is the BasicCopySource implementation for GoogleAdWordsSource. -func (gaws GoogleAdWordsSource) AsODataSource() (*ODataSource, bool) { +// AsConcurLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { return nil, false } -// AsSapBwSource is the BasicCopySource implementation for GoogleAdWordsSource. -func (gaws GoogleAdWordsSource) AsSapBwSource() (*SapBwSource, bool) { +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { return nil, false } -// AsSybaseSource is the BasicCopySource implementation for GoogleAdWordsSource. -func (gaws GoogleAdWordsSource) AsSybaseSource() (*SybaseSource, bool) { +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { return nil, false } -// AsPostgreSQLSource is the BasicCopySource implementation for GoogleAdWordsSource. -func (gaws GoogleAdWordsSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { +// AsSapHanaLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { return nil, false } -// AsMySQLSource is the BasicCopySource implementation for GoogleAdWordsSource. -func (gaws GoogleAdWordsSource) AsMySQLSource() (*MySQLSource, bool) { +// AsSapBWLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { return nil, false } -// AsOdbcSource is the BasicCopySource implementation for GoogleAdWordsSource. -func (gaws GoogleAdWordsSource) AsOdbcSource() (*OdbcSource, bool) { +// AsSftpServerLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { return nil, false } -// AsDb2Source is the BasicCopySource implementation for GoogleAdWordsSource. -func (gaws GoogleAdWordsSource) AsDb2Source() (*Db2Source, bool) { +// AsFtpServerLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { return nil, false } -// AsMicrosoftAccessSource is the BasicCopySource implementation for GoogleAdWordsSource. -func (gaws GoogleAdWordsSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { +// AsHTTPLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { return nil, false } -// AsInformixSource is the BasicCopySource implementation for GoogleAdWordsSource. -func (gaws GoogleAdWordsSource) AsInformixSource() (*InformixSource, bool) { +// AsAzureSearchLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { return nil, false } -// AsRelationalSource is the BasicCopySource implementation for GoogleAdWordsSource. -func (gaws GoogleAdWordsSource) AsRelationalSource() (*RelationalSource, bool) { +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { return nil, false } -// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for GoogleAdWordsSource. -func (gaws GoogleAdWordsSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { return nil, false } -// AsDynamicsCrmSource is the BasicCopySource implementation for GoogleAdWordsSource. -func (gaws GoogleAdWordsSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { +// AsAmazonS3LinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { return nil, false } -// AsDynamicsSource is the BasicCopySource implementation for GoogleAdWordsSource. -func (gaws GoogleAdWordsSource) AsDynamicsSource() (*DynamicsSource, bool) { +// AsRestServiceLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { return nil, false } -// AsDocumentDbCollectionSource is the BasicCopySource implementation for GoogleAdWordsSource. -func (gaws GoogleAdWordsSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { return nil, false } -// AsBlobSource is the BasicCopySource implementation for GoogleAdWordsSource. -func (gaws GoogleAdWordsSource) AsBlobSource() (*BlobSource, bool) { +// AsSapEccLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { return nil, false } -// AsAzureTableSource is the BasicCopySource implementation for GoogleAdWordsSource. -func (gaws GoogleAdWordsSource) AsAzureTableSource() (*AzureTableSource, bool) { +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { return nil, false } -// AsBinarySource is the BasicCopySource implementation for GoogleAdWordsSource. -func (gaws GoogleAdWordsSource) AsBinarySource() (*BinarySource, bool) { +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { return nil, false } -// AsDelimitedTextSource is the BasicCopySource implementation for GoogleAdWordsSource. -func (gaws GoogleAdWordsSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { +// AsSalesforceLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { return nil, false } -// AsParquetSource is the BasicCopySource implementation for GoogleAdWordsSource. -func (gaws GoogleAdWordsSource) AsParquetSource() (*ParquetSource, bool) { +// AsOffice365LinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { return nil, false } -// AsAvroSource is the BasicCopySource implementation for GoogleAdWordsSource. -func (gaws GoogleAdWordsSource) AsAvroSource() (*AvroSource, bool) { +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { return nil, false } -// AsCopySource is the BasicCopySource implementation for GoogleAdWordsSource. -func (gaws GoogleAdWordsSource) AsCopySource() (*CopySource, bool) { +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { return nil, false } -// AsBasicCopySource is the BasicCopySource implementation for GoogleAdWordsSource. -func (gaws GoogleAdWordsSource) AsBasicCopySource() (BasicCopySource, bool) { - return &gaws, true +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false } -// UnmarshalJSON is the custom unmarshaler for GoogleAdWordsSource struct. -func (gaws *GoogleAdWordsSource) UnmarshalJSON(body []byte) error { +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return &fsls, true +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for FileServerLinkedService. +func (fsls FileServerLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &fsls, true +} + +// UnmarshalJSON is the custom unmarshaler for FileServerLinkedService struct. +func (fsls *FileServerLinkedService) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -82265,14 +86809,14 @@ func (gaws *GoogleAdWordsSource) UnmarshalJSON(body []byte) error { } for k, v := range m { switch k { - case "query": + case "typeProperties": if v != nil { - var query interface{} - err = json.Unmarshal(*v, &query) + var fileServerLinkedServiceTypeProperties FileServerLinkedServiceTypeProperties + err = json.Unmarshal(*v, &fileServerLinkedServiceTypeProperties) if err != nil { return err } - gaws.Query = query + fsls.FileServerLinkedServiceTypeProperties = &fileServerLinkedServiceTypeProperties } default: if v != nil { @@ -82281,46 +86825,55 @@ func (gaws *GoogleAdWordsSource) UnmarshalJSON(body []byte) error { if err != nil { return err } - if gaws.AdditionalProperties == nil { - gaws.AdditionalProperties = make(map[string]interface{}) + if fsls.AdditionalProperties == nil { + fsls.AdditionalProperties = make(map[string]interface{}) } - gaws.AdditionalProperties[k] = additionalProperties + fsls.AdditionalProperties[k] = additionalProperties } - case "sourceRetryCount": + case "connectVia": if v != nil { - var sourceRetryCount interface{} - err = json.Unmarshal(*v, &sourceRetryCount) + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) if err != nil { return err } - gaws.SourceRetryCount = sourceRetryCount + fsls.ConnectVia = &connectVia } - case "sourceRetryWait": + case "description": if v != nil { - var sourceRetryWait interface{} - err = json.Unmarshal(*v, &sourceRetryWait) + var description string + err = json.Unmarshal(*v, &description) if err != nil { return err } - gaws.SourceRetryWait = sourceRetryWait + fsls.Description = &description } - case "maxConcurrentConnections": + case "parameters": if v != nil { - var maxConcurrentConnections interface{} - err = json.Unmarshal(*v, &maxConcurrentConnections) + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) if err != nil { return err } - gaws.MaxConcurrentConnections = maxConcurrentConnections + fsls.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + fsls.Annotations = &annotations } case "type": if v != nil { - var typeVar TypeBasicCopySource + var typeVar TypeBasicLinkedService err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - gaws.Type = typeVar + fsls.Type = typeVar } } } @@ -82328,529 +86881,929 @@ func (gaws *GoogleAdWordsSource) UnmarshalJSON(body []byte) error { return nil } -// GoogleBigQueryDatasetTypeProperties google BigQuery Dataset Properties -type GoogleBigQueryDatasetTypeProperties struct { - // TableName - This property will be retired. Please consider using database + table properties instead. - TableName interface{} `json:"tableName,omitempty"` - // Table - The table name of the Google BigQuery. Type: string (or Expression with resultType string). - Table interface{} `json:"table,omitempty"` - // Dataset - The database name of the Google BigQuery. Type: string (or Expression with resultType string). - Dataset interface{} `json:"dataset,omitempty"` +// FileServerLinkedServiceTypeProperties file system linked service properties. +type FileServerLinkedServiceTypeProperties struct { + // Host - Host name of the server. Type: string (or Expression with resultType string). + Host interface{} `json:"host,omitempty"` + // UserID - User ID to logon the server. Type: string (or Expression with resultType string). + UserID interface{} `json:"userId,omitempty"` + // Password - Password to logon the server. + Password BasicSecretBase `json:"password,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` } -// GoogleBigQueryLinkedService google BigQuery service linked service. -type GoogleBigQueryLinkedService struct { - // GoogleBigQueryLinkedServiceTypeProperties - Google BigQuery service linked service properties. - *GoogleBigQueryLinkedServiceTypeProperties `json:"typeProperties,omitempty"` +// UnmarshalJSON is the custom unmarshaler for FileServerLinkedServiceTypeProperties struct. +func (fslstp *FileServerLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "host": + if v != nil { + var host interface{} + err = json.Unmarshal(*v, &host) + if err != nil { + return err + } + fslstp.Host = host + } + case "userId": + if v != nil { + var userID interface{} + err = json.Unmarshal(*v, &userID) + if err != nil { + return err + } + fslstp.UserID = userID + } + case "password": + if v != nil { + password, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + fslstp.Password = password + } + case "encryptedCredential": + if v != nil { + var encryptedCredential interface{} + err = json.Unmarshal(*v, &encryptedCredential) + if err != nil { + return err + } + fslstp.EncryptedCredential = encryptedCredential + } + } + } + + return nil +} + +// FileServerLocation the location of file server dataset. +type FileServerLocation struct { // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` - // ConnectVia - The integration runtime reference. - ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` - // Description - Linked service description. - Description *string `json:"description,omitempty"` - // Parameters - Parameters for linked service. - Parameters map[string]*ParameterSpecification `json:"parameters"` - // Annotations - List of tags that can be used for describing the linked service. - Annotations *[]interface{} `json:"annotations,omitempty"` - // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' - Type TypeBasicLinkedService `json:"type,omitempty"` + // Type - Type of dataset storage location. + Type *string `json:"type,omitempty"` + // FolderPath - Specify the folder path of dataset. Type: string (or Expression with resultType string) + FolderPath interface{} `json:"folderPath,omitempty"` + // FileName - Specify the file name of dataset. Type: string (or Expression with resultType string). + FileName interface{} `json:"fileName,omitempty"` } -// MarshalJSON is the custom marshaler for GoogleBigQueryLinkedService. -func (gbqls GoogleBigQueryLinkedService) MarshalJSON() ([]byte, error) { - gbqls.Type = TypeGoogleBigQuery +// MarshalJSON is the custom marshaler for FileServerLocation. +func (fsl FileServerLocation) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) - if gbqls.GoogleBigQueryLinkedServiceTypeProperties != nil { - objectMap["typeProperties"] = gbqls.GoogleBigQueryLinkedServiceTypeProperties + if fsl.Type != nil { + objectMap["type"] = fsl.Type } - if gbqls.ConnectVia != nil { - objectMap["connectVia"] = gbqls.ConnectVia + if fsl.FolderPath != nil { + objectMap["folderPath"] = fsl.FolderPath } - if gbqls.Description != nil { - objectMap["description"] = gbqls.Description + if fsl.FileName != nil { + objectMap["fileName"] = fsl.FileName } - if gbqls.Parameters != nil { - objectMap["parameters"] = gbqls.Parameters + for k, v := range fsl.AdditionalProperties { + objectMap[k] = v } - if gbqls.Annotations != nil { - objectMap["annotations"] = gbqls.Annotations + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for FileServerLocation struct. +func (fsl *FileServerLocation) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err } - if gbqls.Type != "" { - objectMap["type"] = gbqls.Type + for k, v := range m { + switch k { + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if fsl.AdditionalProperties == nil { + fsl.AdditionalProperties = make(map[string]interface{}) + } + fsl.AdditionalProperties[k] = additionalProperties + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + fsl.Type = &typeVar + } + case "folderPath": + if v != nil { + var folderPath interface{} + err = json.Unmarshal(*v, &folderPath) + if err != nil { + return err + } + fsl.FolderPath = folderPath + } + case "fileName": + if v != nil { + var fileName interface{} + err = json.Unmarshal(*v, &fileName) + if err != nil { + return err + } + fsl.FileName = fileName + } + } } - for k, v := range gbqls.AdditionalProperties { + + return nil +} + +// FileServerReadSettings file server read settings. +type FileServerReadSettings struct { + // Recursive - If true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean). + Recursive interface{} `json:"recursive,omitempty"` + // WildcardFolderPath - FileServer wildcardFolderPath. Type: string (or Expression with resultType string). + WildcardFolderPath interface{} `json:"wildcardFolderPath,omitempty"` + // WildcardFileName - FileServer wildcardFileName. Type: string (or Expression with resultType string). + WildcardFileName interface{} `json:"wildcardFileName,omitempty"` + // EnablePartitionDiscovery - Indicates whether to enable partition discovery. + EnablePartitionDiscovery *bool `json:"enablePartitionDiscovery,omitempty"` + // ModifiedDatetimeStart - The start of file's modified datetime. Type: string (or Expression with resultType string). + ModifiedDatetimeStart interface{} `json:"modifiedDatetimeStart,omitempty"` + // ModifiedDatetimeEnd - The end of file's modified datetime. Type: string (or Expression with resultType string). + ModifiedDatetimeEnd interface{} `json:"modifiedDatetimeEnd,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Type - The read setting type. + Type *string `json:"type,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` +} + +// MarshalJSON is the custom marshaler for FileServerReadSettings. +func (fsrs FileServerReadSettings) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if fsrs.Recursive != nil { + objectMap["recursive"] = fsrs.Recursive + } + if fsrs.WildcardFolderPath != nil { + objectMap["wildcardFolderPath"] = fsrs.WildcardFolderPath + } + if fsrs.WildcardFileName != nil { + objectMap["wildcardFileName"] = fsrs.WildcardFileName + } + if fsrs.EnablePartitionDiscovery != nil { + objectMap["enablePartitionDiscovery"] = fsrs.EnablePartitionDiscovery + } + if fsrs.ModifiedDatetimeStart != nil { + objectMap["modifiedDatetimeStart"] = fsrs.ModifiedDatetimeStart + } + if fsrs.ModifiedDatetimeEnd != nil { + objectMap["modifiedDatetimeEnd"] = fsrs.ModifiedDatetimeEnd + } + if fsrs.Type != nil { + objectMap["type"] = fsrs.Type + } + if fsrs.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = fsrs.MaxConcurrentConnections + } + for k, v := range fsrs.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsAzureFunctionLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. -func (gbqls GoogleBigQueryLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { - return nil, false +// UnmarshalJSON is the custom unmarshaler for FileServerReadSettings struct. +func (fsrs *FileServerReadSettings) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "recursive": + if v != nil { + var recursive interface{} + err = json.Unmarshal(*v, &recursive) + if err != nil { + return err + } + fsrs.Recursive = recursive + } + case "wildcardFolderPath": + if v != nil { + var wildcardFolderPath interface{} + err = json.Unmarshal(*v, &wildcardFolderPath) + if err != nil { + return err + } + fsrs.WildcardFolderPath = wildcardFolderPath + } + case "wildcardFileName": + if v != nil { + var wildcardFileName interface{} + err = json.Unmarshal(*v, &wildcardFileName) + if err != nil { + return err + } + fsrs.WildcardFileName = wildcardFileName + } + case "enablePartitionDiscovery": + if v != nil { + var enablePartitionDiscovery bool + err = json.Unmarshal(*v, &enablePartitionDiscovery) + if err != nil { + return err + } + fsrs.EnablePartitionDiscovery = &enablePartitionDiscovery + } + case "modifiedDatetimeStart": + if v != nil { + var modifiedDatetimeStart interface{} + err = json.Unmarshal(*v, &modifiedDatetimeStart) + if err != nil { + return err + } + fsrs.ModifiedDatetimeStart = modifiedDatetimeStart + } + case "modifiedDatetimeEnd": + if v != nil { + var modifiedDatetimeEnd interface{} + err = json.Unmarshal(*v, &modifiedDatetimeEnd) + if err != nil { + return err + } + fsrs.ModifiedDatetimeEnd = modifiedDatetimeEnd + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if fsrs.AdditionalProperties == nil { + fsrs.AdditionalProperties = make(map[string]interface{}) + } + fsrs.AdditionalProperties[k] = additionalProperties + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + fsrs.Type = &typeVar + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + fsrs.MaxConcurrentConnections = maxConcurrentConnections + } + } + } + + return nil } -// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. -func (gbqls GoogleBigQueryLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { - return nil, false +// FileServerWriteSettings file server write settings. +type FileServerWriteSettings struct { + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // CopyBehavior - The type of copy behavior for copy sink. + CopyBehavior interface{} `json:"copyBehavior,omitempty"` + // Type - Possible values include: 'TypeStoreWriteSettings', 'TypeFileServerWriteSettings', 'TypeAzureDataLakeStoreWriteSettings', 'TypeAzureBlobFSWriteSettings', 'TypeAzureBlobStorageWriteSettings' + Type TypeBasicStoreWriteSettings `json:"type,omitempty"` } -// AsSapTableLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. -func (gbqls GoogleBigQueryLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { - return nil, false +// MarshalJSON is the custom marshaler for FileServerWriteSettings. +func (fsws FileServerWriteSettings) MarshalJSON() ([]byte, error) { + fsws.Type = TypeFileServerWriteSettings + objectMap := make(map[string]interface{}) + if fsws.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = fsws.MaxConcurrentConnections + } + if fsws.CopyBehavior != nil { + objectMap["copyBehavior"] = fsws.CopyBehavior + } + if fsws.Type != "" { + objectMap["type"] = fsws.Type + } + for k, v := range fsws.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) } -// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. -func (gbqls GoogleBigQueryLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { - return nil, false +// AsFileServerWriteSettings is the BasicStoreWriteSettings implementation for FileServerWriteSettings. +func (fsws FileServerWriteSettings) AsFileServerWriteSettings() (*FileServerWriteSettings, bool) { + return &fsws, true } -// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. -func (gbqls GoogleBigQueryLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { +// AsAzureDataLakeStoreWriteSettings is the BasicStoreWriteSettings implementation for FileServerWriteSettings. +func (fsws FileServerWriteSettings) AsAzureDataLakeStoreWriteSettings() (*AzureDataLakeStoreWriteSettings, bool) { return nil, false } -// AsDynamicsAXLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. -func (gbqls GoogleBigQueryLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { +// AsAzureBlobFSWriteSettings is the BasicStoreWriteSettings implementation for FileServerWriteSettings. +func (fsws FileServerWriteSettings) AsAzureBlobFSWriteSettings() (*AzureBlobFSWriteSettings, bool) { return nil, false } -// AsResponsysLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. -func (gbqls GoogleBigQueryLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { +// AsAzureBlobStorageWriteSettings is the BasicStoreWriteSettings implementation for FileServerWriteSettings. +func (fsws FileServerWriteSettings) AsAzureBlobStorageWriteSettings() (*AzureBlobStorageWriteSettings, bool) { return nil, false } -// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. -func (gbqls GoogleBigQueryLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { +// AsStoreWriteSettings is the BasicStoreWriteSettings implementation for FileServerWriteSettings. +func (fsws FileServerWriteSettings) AsStoreWriteSettings() (*StoreWriteSettings, bool) { return nil, false } -// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. -func (gbqls GoogleBigQueryLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { - return nil, false +// AsBasicStoreWriteSettings is the BasicStoreWriteSettings implementation for FileServerWriteSettings. +func (fsws FileServerWriteSettings) AsBasicStoreWriteSettings() (BasicStoreWriteSettings, bool) { + return &fsws, true } -// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. -func (gbqls GoogleBigQueryLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { - return nil, false +// UnmarshalJSON is the custom unmarshaler for FileServerWriteSettings struct. +func (fsws *FileServerWriteSettings) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if fsws.AdditionalProperties == nil { + fsws.AdditionalProperties = make(map[string]interface{}) + } + fsws.AdditionalProperties[k] = additionalProperties + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + fsws.MaxConcurrentConnections = maxConcurrentConnections + } + case "copyBehavior": + if v != nil { + var copyBehavior interface{} + err = json.Unmarshal(*v, ©Behavior) + if err != nil { + return err + } + fsws.CopyBehavior = copyBehavior + } + case "type": + if v != nil { + var typeVar TypeBasicStoreWriteSettings + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + fsws.Type = typeVar + } + } + } + + return nil } -// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. -func (gbqls GoogleBigQueryLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { - return nil, false +// FileShareDataset an on-premises file system dataset. +type FileShareDataset struct { + // FileShareDatasetTypeProperties - On-premises file system dataset properties. + *FileShareDatasetTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - Dataset description. + Description *string `json:"description,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' + Type TypeBasicDataset `json:"type,omitempty"` } -// AsNetezzaLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. -func (gbqls GoogleBigQueryLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { - return nil, false +// MarshalJSON is the custom marshaler for FileShareDataset. +func (fsd FileShareDataset) MarshalJSON() ([]byte, error) { + fsd.Type = TypeFileShare + objectMap := make(map[string]interface{}) + if fsd.FileShareDatasetTypeProperties != nil { + objectMap["typeProperties"] = fsd.FileShareDatasetTypeProperties + } + if fsd.Description != nil { + objectMap["description"] = fsd.Description + } + if fsd.Structure != nil { + objectMap["structure"] = fsd.Structure + } + if fsd.Schema != nil { + objectMap["schema"] = fsd.Schema + } + if fsd.LinkedServiceName != nil { + objectMap["linkedServiceName"] = fsd.LinkedServiceName + } + if fsd.Parameters != nil { + objectMap["parameters"] = fsd.Parameters + } + if fsd.Annotations != nil { + objectMap["annotations"] = fsd.Annotations + } + if fsd.Folder != nil { + objectMap["folder"] = fsd.Folder + } + if fsd.Type != "" { + objectMap["type"] = fsd.Type + } + for k, v := range fsd.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) } -// AsVerticaLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. -func (gbqls GoogleBigQueryLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for FileShareDataset. +func (fsd FileShareDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { return nil, false } -// AsZohoLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. -func (gbqls GoogleBigQueryLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for FileShareDataset. +func (fsd FileShareDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { return nil, false } -// AsXeroLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. -func (gbqls GoogleBigQueryLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for FileShareDataset. +func (fsd FileShareDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { return nil, false } -// AsSquareLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. -func (gbqls GoogleBigQueryLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { +// AsDynamicsAXResourceDataset is the BasicDataset implementation for FileShareDataset. +func (fsd FileShareDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { return nil, false } -// AsSparkLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. -func (gbqls GoogleBigQueryLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { +// AsResponsysObjectDataset is the BasicDataset implementation for FileShareDataset. +func (fsd FileShareDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { return nil, false } -// AsShopifyLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. -func (gbqls GoogleBigQueryLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for FileShareDataset. +func (fsd FileShareDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { return nil, false } -// AsServiceNowLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. -func (gbqls GoogleBigQueryLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { +// AsVerticaTableDataset is the BasicDataset implementation for FileShareDataset. +func (fsd FileShareDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { return nil, false } -// AsQuickBooksLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. -func (gbqls GoogleBigQueryLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { +// AsNetezzaTableDataset is the BasicDataset implementation for FileShareDataset. +func (fsd FileShareDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { return nil, false } -// AsPrestoLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. -func (gbqls GoogleBigQueryLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { +// AsZohoObjectDataset is the BasicDataset implementation for FileShareDataset. +func (fsd FileShareDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { return nil, false } -// AsPhoenixLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. -func (gbqls GoogleBigQueryLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { +// AsXeroObjectDataset is the BasicDataset implementation for FileShareDataset. +func (fsd FileShareDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { return nil, false } -// AsPaypalLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. -func (gbqls GoogleBigQueryLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { +// AsSquareObjectDataset is the BasicDataset implementation for FileShareDataset. +func (fsd FileShareDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { return nil, false } -// AsMarketoLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. -func (gbqls GoogleBigQueryLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { +// AsSparkObjectDataset is the BasicDataset implementation for FileShareDataset. +func (fsd FileShareDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { return nil, false } -// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. -func (gbqls GoogleBigQueryLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { +// AsShopifyObjectDataset is the BasicDataset implementation for FileShareDataset. +func (fsd FileShareDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { return nil, false } -// AsMariaDBLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. -func (gbqls GoogleBigQueryLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { +// AsServiceNowObjectDataset is the BasicDataset implementation for FileShareDataset. +func (fsd FileShareDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { return nil, false } -// AsMagentoLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. -func (gbqls GoogleBigQueryLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { +// AsQuickBooksObjectDataset is the BasicDataset implementation for FileShareDataset. +func (fsd FileShareDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { return nil, false } -// AsJiraLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. -func (gbqls GoogleBigQueryLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { +// AsPrestoObjectDataset is the BasicDataset implementation for FileShareDataset. +func (fsd FileShareDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { return nil, false } -// AsImpalaLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. -func (gbqls GoogleBigQueryLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { +// AsPhoenixObjectDataset is the BasicDataset implementation for FileShareDataset. +func (fsd FileShareDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { return nil, false } -// AsHubspotLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. -func (gbqls GoogleBigQueryLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { +// AsPaypalObjectDataset is the BasicDataset implementation for FileShareDataset. +func (fsd FileShareDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { return nil, false } -// AsHiveLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. -func (gbqls GoogleBigQueryLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { +// AsMarketoObjectDataset is the BasicDataset implementation for FileShareDataset. +func (fsd FileShareDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { return nil, false } -// AsHBaseLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. -func (gbqls GoogleBigQueryLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { +// AsAzureMariaDBTableDataset is the BasicDataset implementation for FileShareDataset. +func (fsd FileShareDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { return nil, false } -// AsGreenplumLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. -func (gbqls GoogleBigQueryLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { +// AsMariaDBTableDataset is the BasicDataset implementation for FileShareDataset. +func (fsd FileShareDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { return nil, false } -// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. -func (gbqls GoogleBigQueryLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { - return &gbqls, true +// AsMagentoObjectDataset is the BasicDataset implementation for FileShareDataset. +func (fsd FileShareDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { + return nil, false } -// AsEloquaLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. -func (gbqls GoogleBigQueryLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { +// AsJiraObjectDataset is the BasicDataset implementation for FileShareDataset. +func (fsd FileShareDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { return nil, false } -// AsDrillLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. -func (gbqls GoogleBigQueryLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { +// AsImpalaObjectDataset is the BasicDataset implementation for FileShareDataset. +func (fsd FileShareDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { return nil, false } -// AsCouchbaseLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. -func (gbqls GoogleBigQueryLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { +// AsHubspotObjectDataset is the BasicDataset implementation for FileShareDataset. +func (fsd FileShareDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { return nil, false } -// AsConcurLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. -func (gbqls GoogleBigQueryLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { +// AsHiveObjectDataset is the BasicDataset implementation for FileShareDataset. +func (fsd FileShareDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { return nil, false } -// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. -func (gbqls GoogleBigQueryLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { +// AsHBaseObjectDataset is the BasicDataset implementation for FileShareDataset. +func (fsd FileShareDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { return nil, false } -// AsAmazonMWSLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. -func (gbqls GoogleBigQueryLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { +// AsGreenplumTableDataset is the BasicDataset implementation for FileShareDataset. +func (fsd FileShareDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { return nil, false } -// AsSapHanaLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. -func (gbqls GoogleBigQueryLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for FileShareDataset. +func (fsd FileShareDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { return nil, false } -// AsSapBWLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. -func (gbqls GoogleBigQueryLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { +// AsEloquaObjectDataset is the BasicDataset implementation for FileShareDataset. +func (fsd FileShareDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { return nil, false } -// AsSftpServerLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. -func (gbqls GoogleBigQueryLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { +// AsDrillTableDataset is the BasicDataset implementation for FileShareDataset. +func (fsd FileShareDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { return nil, false } -// AsFtpServerLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. -func (gbqls GoogleBigQueryLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { +// AsCouchbaseTableDataset is the BasicDataset implementation for FileShareDataset. +func (fsd FileShareDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { return nil, false } -// AsHTTPLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. -func (gbqls GoogleBigQueryLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { +// AsConcurObjectDataset is the BasicDataset implementation for FileShareDataset. +func (fsd FileShareDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { return nil, false } -// AsAzureSearchLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. -func (gbqls GoogleBigQueryLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for FileShareDataset. +func (fsd FileShareDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { return nil, false } -// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. -func (gbqls GoogleBigQueryLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { +// AsAmazonMWSObjectDataset is the BasicDataset implementation for FileShareDataset. +func (fsd FileShareDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { return nil, false } -// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. -func (gbqls GoogleBigQueryLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { +// AsHTTPDataset is the BasicDataset implementation for FileShareDataset. +func (fsd FileShareDataset) AsHTTPDataset() (*HTTPDataset, bool) { return nil, false } -// AsAmazonS3LinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. -func (gbqls GoogleBigQueryLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { +// AsAzureSearchIndexDataset is the BasicDataset implementation for FileShareDataset. +func (fsd FileShareDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { return nil, false } -// AsRestServiceLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. -func (gbqls GoogleBigQueryLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { +// AsWebTableDataset is the BasicDataset implementation for FileShareDataset. +func (fsd FileShareDataset) AsWebTableDataset() (*WebTableDataset, bool) { return nil, false } -// AsSapOpenHubLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. -func (gbqls GoogleBigQueryLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { +// AsSapTableResourceDataset is the BasicDataset implementation for FileShareDataset. +func (fsd FileShareDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { return nil, false } -// AsSapEccLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. -func (gbqls GoogleBigQueryLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { +// AsRestResourceDataset is the BasicDataset implementation for FileShareDataset. +func (fsd FileShareDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { return nil, false } -// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. -func (gbqls GoogleBigQueryLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { +// AsSQLServerTableDataset is the BasicDataset implementation for FileShareDataset. +func (fsd FileShareDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { return nil, false } -// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. -func (gbqls GoogleBigQueryLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { +// AsSapOpenHubTableDataset is the BasicDataset implementation for FileShareDataset. +func (fsd FileShareDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { return nil, false } -// AsSalesforceLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. -func (gbqls GoogleBigQueryLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { +// AsSapHanaTableDataset is the BasicDataset implementation for FileShareDataset. +func (fsd FileShareDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { return nil, false } -// AsOffice365LinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. -func (gbqls GoogleBigQueryLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { +// AsSapEccResourceDataset is the BasicDataset implementation for FileShareDataset. +func (fsd FileShareDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { return nil, false } -// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. -func (gbqls GoogleBigQueryLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for FileShareDataset. +func (fsd FileShareDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { return nil, false } -// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. -func (gbqls GoogleBigQueryLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { +// AsSapBwCubeDataset is the BasicDataset implementation for FileShareDataset. +func (fsd FileShareDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { return nil, false } -// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. -func (gbqls GoogleBigQueryLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { +// AsSybaseTableDataset is the BasicDataset implementation for FileShareDataset. +func (fsd FileShareDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { return nil, false } -// AsMongoDbV2LinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. -func (gbqls GoogleBigQueryLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for FileShareDataset. +func (fsd FileShareDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { return nil, false } -// AsMongoDbLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. -func (gbqls GoogleBigQueryLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { +// AsSalesforceObjectDataset is the BasicDataset implementation for FileShareDataset. +func (fsd FileShareDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { return nil, false } -// AsCassandraLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. -func (gbqls GoogleBigQueryLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for FileShareDataset. +func (fsd FileShareDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { return nil, false } -// AsWebLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. -func (gbqls GoogleBigQueryLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { +// AsPostgreSQLTableDataset is the BasicDataset implementation for FileShareDataset. +func (fsd FileShareDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { return nil, false } -// AsODataLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. -func (gbqls GoogleBigQueryLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { +// AsMySQLTableDataset is the BasicDataset implementation for FileShareDataset. +func (fsd FileShareDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { return nil, false } -// AsHdfsLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. -func (gbqls GoogleBigQueryLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { +// AsOdbcTableDataset is the BasicDataset implementation for FileShareDataset. +func (fsd FileShareDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { return nil, false } -// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. -func (gbqls GoogleBigQueryLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { +// AsInformixTableDataset is the BasicDataset implementation for FileShareDataset. +func (fsd FileShareDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { return nil, false } -// AsInformixLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. -func (gbqls GoogleBigQueryLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { +// AsRelationalTableDataset is the BasicDataset implementation for FileShareDataset. +func (fsd FileShareDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { return nil, false } -// AsOdbcLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. -func (gbqls GoogleBigQueryLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { +// AsDb2TableDataset is the BasicDataset implementation for FileShareDataset. +func (fsd FileShareDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { return nil, false } -// AsAzureMLLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. -func (gbqls GoogleBigQueryLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for FileShareDataset. +func (fsd FileShareDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { return nil, false } -// AsTeradataLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. -func (gbqls GoogleBigQueryLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { +// AsAzureMySQLTableDataset is the BasicDataset implementation for FileShareDataset. +func (fsd FileShareDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { return nil, false } -// AsDb2LinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. -func (gbqls GoogleBigQueryLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { +// AsTeradataTableDataset is the BasicDataset implementation for FileShareDataset. +func (fsd FileShareDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { return nil, false } -// AsSybaseLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. -func (gbqls GoogleBigQueryLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { +// AsOracleTableDataset is the BasicDataset implementation for FileShareDataset. +func (fsd FileShareDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { return nil, false } -// AsPostgreSQLLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. -func (gbqls GoogleBigQueryLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { +// AsODataResourceDataset is the BasicDataset implementation for FileShareDataset. +func (fsd FileShareDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { return nil, false } -// AsMySQLLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. -func (gbqls GoogleBigQueryLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for FileShareDataset. +func (fsd FileShareDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { return nil, false } -// AsAzureMySQLLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. -func (gbqls GoogleBigQueryLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for FileShareDataset. +func (fsd FileShareDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { return nil, false } -// AsOracleLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. -func (gbqls GoogleBigQueryLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { +// AsMongoDbCollectionDataset is the BasicDataset implementation for FileShareDataset. +func (fsd FileShareDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { return nil, false } -// AsFileServerLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. -func (gbqls GoogleBigQueryLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { - return nil, false +// AsFileShareDataset is the BasicDataset implementation for FileShareDataset. +func (fsd FileShareDataset) AsFileShareDataset() (*FileShareDataset, bool) { + return &fsd, true } -// AsHDInsightLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. -func (gbqls GoogleBigQueryLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { +// AsOffice365Dataset is the BasicDataset implementation for FileShareDataset. +func (fsd FileShareDataset) AsOffice365Dataset() (*Office365Dataset, bool) { return nil, false } -// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. -func (gbqls GoogleBigQueryLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { +// AsAzureBlobFSDataset is the BasicDataset implementation for FileShareDataset. +func (fsd FileShareDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) { return nil, false } -// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. -func (gbqls GoogleBigQueryLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { +// AsAzureDataLakeStoreDataset is the BasicDataset implementation for FileShareDataset. +func (fsd FileShareDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) { return nil, false } -// AsDynamicsLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. -func (gbqls GoogleBigQueryLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for FileShareDataset. +func (fsd FileShareDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { return nil, false } -// AsCosmosDbLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. -func (gbqls GoogleBigQueryLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for FileShareDataset. +func (fsd FileShareDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { return nil, false } -// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. -func (gbqls GoogleBigQueryLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { +// AsDynamicsEntityDataset is the BasicDataset implementation for FileShareDataset. +func (fsd FileShareDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { return nil, false } -// AsAzureBatchLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. -func (gbqls GoogleBigQueryLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { +// AsDocumentDbCollectionDataset is the BasicDataset implementation for FileShareDataset. +func (fsd FileShareDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { return nil, false } -// AsAzureSQLMILinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. -func (gbqls GoogleBigQueryLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for FileShareDataset. +func (fsd FileShareDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { return nil, false } -// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. -func (gbqls GoogleBigQueryLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { +// AsCustomDataset is the BasicDataset implementation for FileShareDataset. +func (fsd FileShareDataset) AsCustomDataset() (*CustomDataset, bool) { return nil, false } -// AsSQLServerLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. -func (gbqls GoogleBigQueryLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { +// AsCassandraTableDataset is the BasicDataset implementation for FileShareDataset. +func (fsd FileShareDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { return nil, false } -// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. -func (gbqls GoogleBigQueryLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { +// AsAzureSQLDWTableDataset is the BasicDataset implementation for FileShareDataset. +func (fsd FileShareDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { return nil, false } -// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. -func (gbqls GoogleBigQueryLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { +// AsAzureSQLMITableDataset is the BasicDataset implementation for FileShareDataset. +func (fsd FileShareDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { return nil, false } -// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. -func (gbqls GoogleBigQueryLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { +// AsAzureSQLTableDataset is the BasicDataset implementation for FileShareDataset. +func (fsd FileShareDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { return nil, false } -// AsAzureStorageLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. -func (gbqls GoogleBigQueryLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { +// AsAzureTableDataset is the BasicDataset implementation for FileShareDataset. +func (fsd FileShareDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { return nil, false } -// AsLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. -func (gbqls GoogleBigQueryLinkedService) AsLinkedService() (*LinkedService, bool) { +// AsAzureBlobDataset is the BasicDataset implementation for FileShareDataset. +func (fsd FileShareDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) { return nil, false } -// AsBasicLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. -func (gbqls GoogleBigQueryLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { - return &gbqls, true +// AsBinaryDataset is the BasicDataset implementation for FileShareDataset. +func (fsd FileShareDataset) AsBinaryDataset() (*BinaryDataset, bool) { + return nil, false } -// UnmarshalJSON is the custom unmarshaler for GoogleBigQueryLinkedService struct. -func (gbqls *GoogleBigQueryLinkedService) UnmarshalJSON(body []byte) error { +// AsOrcDataset is the BasicDataset implementation for FileShareDataset. +func (fsd FileShareDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for FileShareDataset. +func (fsd FileShareDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + +// AsDelimitedTextDataset is the BasicDataset implementation for FileShareDataset. +func (fsd FileShareDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { + return nil, false +} + +// AsParquetDataset is the BasicDataset implementation for FileShareDataset. +func (fsd FileShareDataset) AsParquetDataset() (*ParquetDataset, bool) { + return nil, false +} + +// AsAvroDataset is the BasicDataset implementation for FileShareDataset. +func (fsd FileShareDataset) AsAvroDataset() (*AvroDataset, bool) { + return nil, false +} + +// AsAmazonS3Dataset is the BasicDataset implementation for FileShareDataset. +func (fsd FileShareDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) { + return nil, false +} + +// AsDataset is the BasicDataset implementation for FileShareDataset. +func (fsd FileShareDataset) AsDataset() (*Dataset, bool) { + return nil, false +} + +// AsBasicDataset is the BasicDataset implementation for FileShareDataset. +func (fsd FileShareDataset) AsBasicDataset() (BasicDataset, bool) { + return &fsd, true +} + +// UnmarshalJSON is the custom unmarshaler for FileShareDataset struct. +func (fsd *FileShareDataset) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -82860,12 +87813,12 @@ func (gbqls *GoogleBigQueryLinkedService) UnmarshalJSON(body []byte) error { switch k { case "typeProperties": if v != nil { - var googleBigQueryLinkedServiceTypeProperties GoogleBigQueryLinkedServiceTypeProperties - err = json.Unmarshal(*v, &googleBigQueryLinkedServiceTypeProperties) + var fileShareDatasetTypeProperties FileShareDatasetTypeProperties + err = json.Unmarshal(*v, &fileShareDatasetTypeProperties) if err != nil { return err } - gbqls.GoogleBigQueryLinkedServiceTypeProperties = &googleBigQueryLinkedServiceTypeProperties + fsd.FileShareDatasetTypeProperties = &fileShareDatasetTypeProperties } default: if v != nil { @@ -82874,28 +87827,46 @@ func (gbqls *GoogleBigQueryLinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - if gbqls.AdditionalProperties == nil { - gbqls.AdditionalProperties = make(map[string]interface{}) + if fsd.AdditionalProperties == nil { + fsd.AdditionalProperties = make(map[string]interface{}) } - gbqls.AdditionalProperties[k] = additionalProperties + fsd.AdditionalProperties[k] = additionalProperties } - case "connectVia": + case "description": if v != nil { - var connectVia IntegrationRuntimeReference - err = json.Unmarshal(*v, &connectVia) + var description string + err = json.Unmarshal(*v, &description) if err != nil { return err } - gbqls.ConnectVia = &connectVia + fsd.Description = &description } - case "description": + case "structure": if v != nil { - var description string - err = json.Unmarshal(*v, &description) + var structure interface{} + err = json.Unmarshal(*v, &structure) if err != nil { return err } - gbqls.Description = &description + fsd.Structure = structure + } + case "schema": + if v != nil { + var schema interface{} + err = json.Unmarshal(*v, &schema) + if err != nil { + return err + } + fsd.Schema = schema + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + fsd.LinkedServiceName = &linkedServiceName } case "parameters": if v != nil { @@ -82904,7 +87875,7 @@ func (gbqls *GoogleBigQueryLinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - gbqls.Parameters = parameters + fsd.Parameters = parameters } case "annotations": if v != nil { @@ -82913,16 +87884,25 @@ func (gbqls *GoogleBigQueryLinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - gbqls.Annotations = &annotations + fsd.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + fsd.Folder = &folder } case "type": if v != nil { - var typeVar TypeBasicLinkedService + var typeVar TypeBasicDataset err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - gbqls.Type = typeVar + fsd.Type = typeVar } } } @@ -82930,36 +87910,26 @@ func (gbqls *GoogleBigQueryLinkedService) UnmarshalJSON(body []byte) error { return nil } -// GoogleBigQueryLinkedServiceTypeProperties google BigQuery service linked service properties. -type GoogleBigQueryLinkedServiceTypeProperties struct { - // Project - The default BigQuery project to query against. - Project interface{} `json:"project,omitempty"` - // AdditionalProjects - A comma-separated list of public BigQuery projects to access. - AdditionalProjects interface{} `json:"additionalProjects,omitempty"` - // RequestGoogleDriveScope - Whether to request access to Google Drive. Allowing Google Drive access enables support for federated tables that combine BigQuery data with data from Google Drive. The default value is false. - RequestGoogleDriveScope interface{} `json:"requestGoogleDriveScope,omitempty"` - // AuthenticationType - The OAuth 2.0 authentication mechanism used for authentication. ServiceAuthentication can only be used on self-hosted IR. Possible values include: 'GoogleBigQueryAuthenticationTypeServiceAuthentication', 'GoogleBigQueryAuthenticationTypeUserAuthentication' - AuthenticationType GoogleBigQueryAuthenticationType `json:"authenticationType,omitempty"` - // RefreshToken - The refresh token obtained from Google for authorizing access to BigQuery for UserAuthentication. - RefreshToken BasicSecretBase `json:"refreshToken,omitempty"` - // ClientID - The client id of the google application used to acquire the refresh token. - ClientID BasicSecretBase `json:"clientId,omitempty"` - // ClientSecret - The client secret of the google application used to acquire the refresh token. - ClientSecret BasicSecretBase `json:"clientSecret,omitempty"` - // Email - The service account email ID that is used for ServiceAuthentication and can only be used on self-hosted IR. - Email interface{} `json:"email,omitempty"` - // KeyFilePath - The full path to the .p12 key file that is used to authenticate the service account email address and can only be used on self-hosted IR. - KeyFilePath interface{} `json:"keyFilePath,omitempty"` - // TrustedCertPath - The full path of the .pem file containing trusted CA certificates for verifying the server when connecting over SSL. This property can only be set when using SSL on self-hosted IR. The default value is the cacerts.pem file installed with the IR. - TrustedCertPath interface{} `json:"trustedCertPath,omitempty"` - // UseSystemTrustStore - Specifies whether to use a CA certificate from the system trust store or from a specified PEM file. The default value is false. - UseSystemTrustStore interface{} `json:"useSystemTrustStore,omitempty"` - // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). - EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` +// FileShareDatasetTypeProperties on-premises file system dataset properties. +type FileShareDatasetTypeProperties struct { + // FolderPath - The path of the on-premises file system. Type: string (or Expression with resultType string). + FolderPath interface{} `json:"folderPath,omitempty"` + // FileName - The name of the on-premises file system. Type: string (or Expression with resultType string). + FileName interface{} `json:"fileName,omitempty"` + // ModifiedDatetimeStart - The start of file's modified datetime. Type: string (or Expression with resultType string). + ModifiedDatetimeStart interface{} `json:"modifiedDatetimeStart,omitempty"` + // ModifiedDatetimeEnd - The end of file's modified datetime. Type: string (or Expression with resultType string). + ModifiedDatetimeEnd interface{} `json:"modifiedDatetimeEnd,omitempty"` + // Format - The format of the files. + Format BasicDatasetStorageFormat `json:"format,omitempty"` + // FileFilter - Specify a filter to be used to select a subset of files in the folderPath rather than all files. Type: string (or Expression with resultType string). + FileFilter interface{} `json:"fileFilter,omitempty"` + // Compression - The data compression method used for the file system. + Compression BasicDatasetCompression `json:"compression,omitempty"` } -// UnmarshalJSON is the custom unmarshaler for GoogleBigQueryLinkedServiceTypeProperties struct. -func (gbqlstp *GoogleBigQueryLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { +// UnmarshalJSON is the custom unmarshaler for FileShareDatasetTypeProperties struct. +func (fsdtp *FileShareDatasetTypeProperties) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -82967,110 +87937,66 @@ func (gbqlstp *GoogleBigQueryLinkedServiceTypeProperties) UnmarshalJSON(body []b } for k, v := range m { switch k { - case "project": - if v != nil { - var project interface{} - err = json.Unmarshal(*v, &project) - if err != nil { - return err - } - gbqlstp.Project = project - } - case "additionalProjects": - if v != nil { - var additionalProjects interface{} - err = json.Unmarshal(*v, &additionalProjects) - if err != nil { - return err - } - gbqlstp.AdditionalProjects = additionalProjects - } - case "requestGoogleDriveScope": - if v != nil { - var requestGoogleDriveScope interface{} - err = json.Unmarshal(*v, &requestGoogleDriveScope) - if err != nil { - return err - } - gbqlstp.RequestGoogleDriveScope = requestGoogleDriveScope - } - case "authenticationType": - if v != nil { - var authenticationType GoogleBigQueryAuthenticationType - err = json.Unmarshal(*v, &authenticationType) - if err != nil { - return err - } - gbqlstp.AuthenticationType = authenticationType - } - case "refreshToken": - if v != nil { - refreshToken, err := unmarshalBasicSecretBase(*v) - if err != nil { - return err - } - gbqlstp.RefreshToken = refreshToken - } - case "clientId": + case "folderPath": if v != nil { - clientID, err := unmarshalBasicSecretBase(*v) + var folderPath interface{} + err = json.Unmarshal(*v, &folderPath) if err != nil { return err } - gbqlstp.ClientID = clientID + fsdtp.FolderPath = folderPath } - case "clientSecret": + case "fileName": if v != nil { - clientSecret, err := unmarshalBasicSecretBase(*v) + var fileName interface{} + err = json.Unmarshal(*v, &fileName) if err != nil { return err } - gbqlstp.ClientSecret = clientSecret + fsdtp.FileName = fileName } - case "email": + case "modifiedDatetimeStart": if v != nil { - var email interface{} - err = json.Unmarshal(*v, &email) + var modifiedDatetimeStart interface{} + err = json.Unmarshal(*v, &modifiedDatetimeStart) if err != nil { return err } - gbqlstp.Email = email + fsdtp.ModifiedDatetimeStart = modifiedDatetimeStart } - case "keyFilePath": + case "modifiedDatetimeEnd": if v != nil { - var keyFilePath interface{} - err = json.Unmarshal(*v, &keyFilePath) + var modifiedDatetimeEnd interface{} + err = json.Unmarshal(*v, &modifiedDatetimeEnd) if err != nil { return err } - gbqlstp.KeyFilePath = keyFilePath + fsdtp.ModifiedDatetimeEnd = modifiedDatetimeEnd } - case "trustedCertPath": + case "format": if v != nil { - var trustedCertPath interface{} - err = json.Unmarshal(*v, &trustedCertPath) + formatVar, err := unmarshalBasicDatasetStorageFormat(*v) if err != nil { return err } - gbqlstp.TrustedCertPath = trustedCertPath + fsdtp.Format = formatVar } - case "useSystemTrustStore": + case "fileFilter": if v != nil { - var useSystemTrustStore interface{} - err = json.Unmarshal(*v, &useSystemTrustStore) + var fileFilter interface{} + err = json.Unmarshal(*v, &fileFilter) if err != nil { return err } - gbqlstp.UseSystemTrustStore = useSystemTrustStore + fsdtp.FileFilter = fileFilter } - case "encryptedCredential": + case "compression": if v != nil { - var encryptedCredential interface{} - err = json.Unmarshal(*v, &encryptedCredential) + compression, err := unmarshalBasicDatasetCompression(*v) if err != nil { return err } - gbqlstp.EncryptedCredential = encryptedCredential + fsdtp.Compression = compression } } } @@ -83078,489 +88004,239 @@ func (gbqlstp *GoogleBigQueryLinkedServiceTypeProperties) UnmarshalJSON(body []b return nil } -// GoogleBigQueryObjectDataset google BigQuery service dataset. -type GoogleBigQueryObjectDataset struct { - // GoogleBigQueryDatasetTypeProperties - Properties specific to this dataset type. - *GoogleBigQueryDatasetTypeProperties `json:"typeProperties,omitempty"` +// FileSystemSink a copy activity file system sink. +type FileSystemSink struct { + // CopyBehavior - The type of copy behavior for copy sink. + CopyBehavior interface{} `json:"copyBehavior,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` - // Description - Dataset description. - Description *string `json:"description,omitempty"` - // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. - Structure interface{} `json:"structure,omitempty"` - // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. - Schema interface{} `json:"schema,omitempty"` - // LinkedServiceName - Linked service reference. - LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` - // Parameters - Parameters for dataset. - Parameters map[string]*ParameterSpecification `json:"parameters"` - // Annotations - List of tags that can be used for describing the Dataset. - Annotations *[]interface{} `json:"annotations,omitempty"` - // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. - Folder *DatasetFolder `json:"folder,omitempty"` - // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' - Type TypeBasicDataset `json:"type,omitempty"` + // WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0. + WriteBatchSize interface{} `json:"writeBatchSize,omitempty"` + // WriteBatchTimeout - Write batch timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"` + // SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer). + SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"` + // SinkRetryWait - Sink retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeCosmosDbSQLAPISink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAvroSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzureMySQLSink', 'TypeAzurePostgreSQLSink', 'TypeOrcSink', 'TypeJSONSink', 'TypeDelimitedTextSink' + Type TypeBasicCopySink `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for GoogleBigQueryObjectDataset. -func (gbqod GoogleBigQueryObjectDataset) MarshalJSON() ([]byte, error) { - gbqod.Type = TypeGoogleBigQueryObject +// MarshalJSON is the custom marshaler for FileSystemSink. +func (fss FileSystemSink) MarshalJSON() ([]byte, error) { + fss.Type = TypeFileSystemSink objectMap := make(map[string]interface{}) - if gbqod.GoogleBigQueryDatasetTypeProperties != nil { - objectMap["typeProperties"] = gbqod.GoogleBigQueryDatasetTypeProperties - } - if gbqod.Description != nil { - objectMap["description"] = gbqod.Description - } - if gbqod.Structure != nil { - objectMap["structure"] = gbqod.Structure + if fss.CopyBehavior != nil { + objectMap["copyBehavior"] = fss.CopyBehavior } - if gbqod.Schema != nil { - objectMap["schema"] = gbqod.Schema + if fss.WriteBatchSize != nil { + objectMap["writeBatchSize"] = fss.WriteBatchSize } - if gbqod.LinkedServiceName != nil { - objectMap["linkedServiceName"] = gbqod.LinkedServiceName + if fss.WriteBatchTimeout != nil { + objectMap["writeBatchTimeout"] = fss.WriteBatchTimeout } - if gbqod.Parameters != nil { - objectMap["parameters"] = gbqod.Parameters + if fss.SinkRetryCount != nil { + objectMap["sinkRetryCount"] = fss.SinkRetryCount } - if gbqod.Annotations != nil { - objectMap["annotations"] = gbqod.Annotations + if fss.SinkRetryWait != nil { + objectMap["sinkRetryWait"] = fss.SinkRetryWait } - if gbqod.Folder != nil { - objectMap["folder"] = gbqod.Folder + if fss.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = fss.MaxConcurrentConnections } - if gbqod.Type != "" { - objectMap["type"] = gbqod.Type + if fss.Type != "" { + objectMap["type"] = fss.Type } - for k, v := range gbqod.AdditionalProperties { + for k, v := range fss.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. -func (gbqod GoogleBigQueryObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { - return nil, false -} - -// AsAzureDataExplorerTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. -func (gbqod GoogleBigQueryObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { - return nil, false -} - -// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. -func (gbqod GoogleBigQueryObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { - return nil, false -} - -// AsDynamicsAXResourceDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. -func (gbqod GoogleBigQueryObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { - return nil, false -} - -// AsResponsysObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. -func (gbqod GoogleBigQueryObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { - return nil, false -} - -// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. -func (gbqod GoogleBigQueryObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { - return nil, false -} - -// AsVerticaTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. -func (gbqod GoogleBigQueryObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { - return nil, false -} - -// AsNetezzaTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. -func (gbqod GoogleBigQueryObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { - return nil, false -} - -// AsZohoObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. -func (gbqod GoogleBigQueryObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { - return nil, false -} - -// AsXeroObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. -func (gbqod GoogleBigQueryObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { - return nil, false -} - -// AsSquareObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. -func (gbqod GoogleBigQueryObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { - return nil, false -} - -// AsSparkObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. -func (gbqod GoogleBigQueryObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { - return nil, false -} - -// AsShopifyObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. -func (gbqod GoogleBigQueryObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { - return nil, false -} - -// AsServiceNowObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. -func (gbqod GoogleBigQueryObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { - return nil, false -} - -// AsQuickBooksObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. -func (gbqod GoogleBigQueryObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { - return nil, false -} - -// AsPrestoObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. -func (gbqod GoogleBigQueryObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { - return nil, false -} - -// AsPhoenixObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. -func (gbqod GoogleBigQueryObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { - return nil, false -} - -// AsPaypalObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. -func (gbqod GoogleBigQueryObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { - return nil, false -} - -// AsMarketoObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. -func (gbqod GoogleBigQueryObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { - return nil, false -} - -// AsAzureMariaDBTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. -func (gbqod GoogleBigQueryObjectDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { - return nil, false -} - -// AsMariaDBTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. -func (gbqod GoogleBigQueryObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { - return nil, false -} - -// AsMagentoObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. -func (gbqod GoogleBigQueryObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { - return nil, false -} - -// AsJiraObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. -func (gbqod GoogleBigQueryObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { - return nil, false -} - -// AsImpalaObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. -func (gbqod GoogleBigQueryObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { - return nil, false -} - -// AsHubspotObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. -func (gbqod GoogleBigQueryObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { - return nil, false -} - -// AsHiveObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. -func (gbqod GoogleBigQueryObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { - return nil, false -} - -// AsHBaseObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. -func (gbqod GoogleBigQueryObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { - return nil, false -} - -// AsGreenplumTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. -func (gbqod GoogleBigQueryObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { - return nil, false -} - -// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. -func (gbqod GoogleBigQueryObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { - return &gbqod, true -} - -// AsEloquaObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. -func (gbqod GoogleBigQueryObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { - return nil, false -} - -// AsDrillTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. -func (gbqod GoogleBigQueryObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { - return nil, false -} - -// AsCouchbaseTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. -func (gbqod GoogleBigQueryObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { - return nil, false -} - -// AsConcurObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. -func (gbqod GoogleBigQueryObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { - return nil, false -} - -// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. -func (gbqod GoogleBigQueryObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { - return nil, false -} - -// AsAmazonMWSObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. -func (gbqod GoogleBigQueryObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { - return nil, false -} - -// AsHTTPDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. -func (gbqod GoogleBigQueryObjectDataset) AsHTTPDataset() (*HTTPDataset, bool) { - return nil, false -} - -// AsAzureSearchIndexDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. -func (gbqod GoogleBigQueryObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { - return nil, false -} - -// AsWebTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. -func (gbqod GoogleBigQueryObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) { - return nil, false -} - -// AsSapTableResourceDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. -func (gbqod GoogleBigQueryObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { - return nil, false -} - -// AsRestResourceDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. -func (gbqod GoogleBigQueryObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { - return nil, false -} - -// AsSQLServerTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. -func (gbqod GoogleBigQueryObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { - return nil, false -} - -// AsSapOpenHubTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. -func (gbqod GoogleBigQueryObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { - return nil, false -} - -// AsSapHanaTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. -func (gbqod GoogleBigQueryObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { - return nil, false -} - -// AsSapEccResourceDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. -func (gbqod GoogleBigQueryObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { - return nil, false -} - -// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. -func (gbqod GoogleBigQueryObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { - return nil, false -} - -// AsSapBwCubeDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. -func (gbqod GoogleBigQueryObjectDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { - return nil, false -} - -// AsSybaseTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. -func (gbqod GoogleBigQueryObjectDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { - return nil, false -} - -// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. -func (gbqod GoogleBigQueryObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { - return nil, false -} - -// AsSalesforceObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. -func (gbqod GoogleBigQueryObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { +// AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for FileSystemSink. +func (fss FileSystemSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) { return nil, false } -// AsMicrosoftAccessTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. -func (gbqod GoogleBigQueryObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { +// AsSalesforceServiceCloudSink is the BasicCopySink implementation for FileSystemSink. +func (fss FileSystemSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) { return nil, false } -// AsPostgreSQLTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. -func (gbqod GoogleBigQueryObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { +// AsSalesforceSink is the BasicCopySink implementation for FileSystemSink. +func (fss FileSystemSink) AsSalesforceSink() (*SalesforceSink, bool) { return nil, false } -// AsMySQLTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. -func (gbqod GoogleBigQueryObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { +// AsAzureDataExplorerSink is the BasicCopySink implementation for FileSystemSink. +func (fss FileSystemSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) { return nil, false } -// AsOdbcTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. -func (gbqod GoogleBigQueryObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { +// AsCommonDataServiceForAppsSink is the BasicCopySink implementation for FileSystemSink. +func (fss FileSystemSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) { return nil, false } -// AsInformixTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. -func (gbqod GoogleBigQueryObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { +// AsDynamicsCrmSink is the BasicCopySink implementation for FileSystemSink. +func (fss FileSystemSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) { return nil, false } -// AsRelationalTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. -func (gbqod GoogleBigQueryObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { +// AsDynamicsSink is the BasicCopySink implementation for FileSystemSink. +func (fss FileSystemSink) AsDynamicsSink() (*DynamicsSink, bool) { return nil, false } -// AsAzureMySQLTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. -func (gbqod GoogleBigQueryObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { +// AsMicrosoftAccessSink is the BasicCopySink implementation for FileSystemSink. +func (fss FileSystemSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) { return nil, false } -// AsTeradataTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. -func (gbqod GoogleBigQueryObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { +// AsInformixSink is the BasicCopySink implementation for FileSystemSink. +func (fss FileSystemSink) AsInformixSink() (*InformixSink, bool) { return nil, false } -// AsOracleTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. -func (gbqod GoogleBigQueryObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { +// AsOdbcSink is the BasicCopySink implementation for FileSystemSink. +func (fss FileSystemSink) AsOdbcSink() (*OdbcSink, bool) { return nil, false } -// AsODataResourceDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. -func (gbqod GoogleBigQueryObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { +// AsAzureSearchIndexSink is the BasicCopySink implementation for FileSystemSink. +func (fss FileSystemSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) { return nil, false } -// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. -func (gbqod GoogleBigQueryObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { +// AsAzureBlobFSSink is the BasicCopySink implementation for FileSystemSink. +func (fss FileSystemSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) { return nil, false } -// AsMongoDbV2CollectionDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. -func (gbqod GoogleBigQueryObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { +// AsAzureDataLakeStoreSink is the BasicCopySink implementation for FileSystemSink. +func (fss FileSystemSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) { return nil, false } -// AsMongoDbCollectionDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. -func (gbqod GoogleBigQueryObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { +// AsOracleSink is the BasicCopySink implementation for FileSystemSink. +func (fss FileSystemSink) AsOracleSink() (*OracleSink, bool) { return nil, false } -// AsFileShareDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. -func (gbqod GoogleBigQueryObjectDataset) AsFileShareDataset() (*FileShareDataset, bool) { +// AsSQLDWSink is the BasicCopySink implementation for FileSystemSink. +func (fss FileSystemSink) AsSQLDWSink() (*SQLDWSink, bool) { return nil, false } -// AsOffice365Dataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. -func (gbqod GoogleBigQueryObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) { +// AsSQLMISink is the BasicCopySink implementation for FileSystemSink. +func (fss FileSystemSink) AsSQLMISink() (*SQLMISink, bool) { return nil, false } -// AsAzureBlobFSDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. -func (gbqod GoogleBigQueryObjectDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) { +// AsAzureSQLSink is the BasicCopySink implementation for FileSystemSink. +func (fss FileSystemSink) AsAzureSQLSink() (*AzureSQLSink, bool) { return nil, false } -// AsAzureDataLakeStoreDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. -func (gbqod GoogleBigQueryObjectDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) { +// AsSQLServerSink is the BasicCopySink implementation for FileSystemSink. +func (fss FileSystemSink) AsSQLServerSink() (*SQLServerSink, bool) { return nil, false } -// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. -func (gbqod GoogleBigQueryObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { +// AsSQLSink is the BasicCopySink implementation for FileSystemSink. +func (fss FileSystemSink) AsSQLSink() (*SQLSink, bool) { return nil, false } -// AsDynamicsCrmEntityDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. -func (gbqod GoogleBigQueryObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { +// AsCosmosDbSQLAPISink is the BasicCopySink implementation for FileSystemSink. +func (fss FileSystemSink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) { return nil, false } -// AsDynamicsEntityDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. -func (gbqod GoogleBigQueryObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { +// AsDocumentDbCollectionSink is the BasicCopySink implementation for FileSystemSink. +func (fss FileSystemSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) { return nil, false } -// AsDocumentDbCollectionDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. -func (gbqod GoogleBigQueryObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { - return nil, false +// AsFileSystemSink is the BasicCopySink implementation for FileSystemSink. +func (fss FileSystemSink) AsFileSystemSink() (*FileSystemSink, bool) { + return &fss, true } -// AsCustomDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. -func (gbqod GoogleBigQueryObjectDataset) AsCustomDataset() (*CustomDataset, bool) { +// AsBlobSink is the BasicCopySink implementation for FileSystemSink. +func (fss FileSystemSink) AsBlobSink() (*BlobSink, bool) { return nil, false } -// AsCassandraTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. -func (gbqod GoogleBigQueryObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { +// AsBinarySink is the BasicCopySink implementation for FileSystemSink. +func (fss FileSystemSink) AsBinarySink() (*BinarySink, bool) { return nil, false } -// AsAzureSQLDWTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. -func (gbqod GoogleBigQueryObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { +// AsParquetSink is the BasicCopySink implementation for FileSystemSink. +func (fss FileSystemSink) AsParquetSink() (*ParquetSink, bool) { return nil, false } -// AsAzureSQLMITableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. -func (gbqod GoogleBigQueryObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { +// AsAvroSink is the BasicCopySink implementation for FileSystemSink. +func (fss FileSystemSink) AsAvroSink() (*AvroSink, bool) { return nil, false } -// AsAzureSQLTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. -func (gbqod GoogleBigQueryObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { +// AsAzureTableSink is the BasicCopySink implementation for FileSystemSink. +func (fss FileSystemSink) AsAzureTableSink() (*AzureTableSink, bool) { return nil, false } -// AsAzureTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. -func (gbqod GoogleBigQueryObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { +// AsAzureQueueSink is the BasicCopySink implementation for FileSystemSink. +func (fss FileSystemSink) AsAzureQueueSink() (*AzureQueueSink, bool) { return nil, false } -// AsAzureBlobDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. -func (gbqod GoogleBigQueryObjectDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) { +// AsSapCloudForCustomerSink is the BasicCopySink implementation for FileSystemSink. +func (fss FileSystemSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) { return nil, false } -// AsBinaryDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. -func (gbqod GoogleBigQueryObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) { +// AsAzureMySQLSink is the BasicCopySink implementation for FileSystemSink. +func (fss FileSystemSink) AsAzureMySQLSink() (*AzureMySQLSink, bool) { return nil, false } -// AsDelimitedTextDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. -func (gbqod GoogleBigQueryObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { +// AsAzurePostgreSQLSink is the BasicCopySink implementation for FileSystemSink. +func (fss FileSystemSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) { return nil, false } -// AsParquetDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. -func (gbqod GoogleBigQueryObjectDataset) AsParquetDataset() (*ParquetDataset, bool) { +// AsOrcSink is the BasicCopySink implementation for FileSystemSink. +func (fss FileSystemSink) AsOrcSink() (*OrcSink, bool) { return nil, false } -// AsAvroDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. -func (gbqod GoogleBigQueryObjectDataset) AsAvroDataset() (*AvroDataset, bool) { +// AsJSONSink is the BasicCopySink implementation for FileSystemSink. +func (fss FileSystemSink) AsJSONSink() (*JSONSink, bool) { return nil, false } -// AsAmazonS3Dataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. -func (gbqod GoogleBigQueryObjectDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) { +// AsDelimitedTextSink is the BasicCopySink implementation for FileSystemSink. +func (fss FileSystemSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) { return nil, false } -// AsDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. -func (gbqod GoogleBigQueryObjectDataset) AsDataset() (*Dataset, bool) { +// AsCopySink is the BasicCopySink implementation for FileSystemSink. +func (fss FileSystemSink) AsCopySink() (*CopySink, bool) { return nil, false } -// AsBasicDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. -func (gbqod GoogleBigQueryObjectDataset) AsBasicDataset() (BasicDataset, bool) { - return &gbqod, true +// AsBasicCopySink is the BasicCopySink implementation for FileSystemSink. +func (fss FileSystemSink) AsBasicCopySink() (BasicCopySink, bool) { + return &fss, true } -// UnmarshalJSON is the custom unmarshaler for GoogleBigQueryObjectDataset struct. -func (gbqod *GoogleBigQueryObjectDataset) UnmarshalJSON(body []byte) error { +// UnmarshalJSON is the custom unmarshaler for FileSystemSink struct. +func (fss *FileSystemSink) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -83568,14 +88244,14 @@ func (gbqod *GoogleBigQueryObjectDataset) UnmarshalJSON(body []byte) error { } for k, v := range m { switch k { - case "typeProperties": + case "copyBehavior": if v != nil { - var googleBigQueryDatasetTypeProperties GoogleBigQueryDatasetTypeProperties - err = json.Unmarshal(*v, &googleBigQueryDatasetTypeProperties) + var copyBehavior interface{} + err = json.Unmarshal(*v, ©Behavior) if err != nil { return err } - gbqod.GoogleBigQueryDatasetTypeProperties = &googleBigQueryDatasetTypeProperties + fss.CopyBehavior = copyBehavior } default: if v != nil { @@ -83584,82 +88260,64 @@ func (gbqod *GoogleBigQueryObjectDataset) UnmarshalJSON(body []byte) error { if err != nil { return err } - if gbqod.AdditionalProperties == nil { - gbqod.AdditionalProperties = make(map[string]interface{}) - } - gbqod.AdditionalProperties[k] = additionalProperties - } - case "description": - if v != nil { - var description string - err = json.Unmarshal(*v, &description) - if err != nil { - return err - } - gbqod.Description = &description - } - case "structure": - if v != nil { - var structure interface{} - err = json.Unmarshal(*v, &structure) - if err != nil { - return err + if fss.AdditionalProperties == nil { + fss.AdditionalProperties = make(map[string]interface{}) } - gbqod.Structure = structure + fss.AdditionalProperties[k] = additionalProperties } - case "schema": + case "writeBatchSize": if v != nil { - var schema interface{} - err = json.Unmarshal(*v, &schema) + var writeBatchSize interface{} + err = json.Unmarshal(*v, &writeBatchSize) if err != nil { return err } - gbqod.Schema = schema + fss.WriteBatchSize = writeBatchSize } - case "linkedServiceName": + case "writeBatchTimeout": if v != nil { - var linkedServiceName LinkedServiceReference - err = json.Unmarshal(*v, &linkedServiceName) + var writeBatchTimeout interface{} + err = json.Unmarshal(*v, &writeBatchTimeout) if err != nil { return err } - gbqod.LinkedServiceName = &linkedServiceName + fss.WriteBatchTimeout = writeBatchTimeout } - case "parameters": + case "sinkRetryCount": if v != nil { - var parameters map[string]*ParameterSpecification - err = json.Unmarshal(*v, ¶meters) + var sinkRetryCount interface{} + err = json.Unmarshal(*v, &sinkRetryCount) if err != nil { return err } - gbqod.Parameters = parameters + fss.SinkRetryCount = sinkRetryCount } - case "annotations": + case "sinkRetryWait": if v != nil { - var annotations []interface{} - err = json.Unmarshal(*v, &annotations) + var sinkRetryWait interface{} + err = json.Unmarshal(*v, &sinkRetryWait) if err != nil { return err } - gbqod.Annotations = &annotations + fss.SinkRetryWait = sinkRetryWait } - case "folder": + case "maxConcurrentConnections": if v != nil { - var folder DatasetFolder - err = json.Unmarshal(*v, &folder) + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) if err != nil { return err } - gbqod.Folder = &folder + fss.MaxConcurrentConnections = maxConcurrentConnections } case "type": if v != nil { - var typeVar TypeBasicDataset + var typeVar TypeBasicCopySink err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - gbqod.Type = typeVar + fss.Type = typeVar } } } @@ -83667,10 +88325,10 @@ func (gbqod *GoogleBigQueryObjectDataset) UnmarshalJSON(body []byte) error { return nil } -// GoogleBigQuerySource a copy activity Google BigQuery service source. -type GoogleBigQuerySource struct { - // Query - A query to retrieve data from source. Type: string (or Expression with resultType string). - Query interface{} `json:"query,omitempty"` +// FileSystemSource a copy activity file system source. +type FileSystemSource struct { + // Recursive - If true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean). + Recursive interface{} `json:"recursive,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). @@ -83679,462 +88337,487 @@ type GoogleBigQuerySource struct { SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' + // Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' Type TypeBasicCopySource `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for GoogleBigQuerySource. -func (gbqs GoogleBigQuerySource) MarshalJSON() ([]byte, error) { - gbqs.Type = TypeGoogleBigQuerySource +// MarshalJSON is the custom marshaler for FileSystemSource. +func (fss FileSystemSource) MarshalJSON() ([]byte, error) { + fss.Type = TypeFileSystemSource objectMap := make(map[string]interface{}) - if gbqs.Query != nil { - objectMap["query"] = gbqs.Query + if fss.Recursive != nil { + objectMap["recursive"] = fss.Recursive } - if gbqs.SourceRetryCount != nil { - objectMap["sourceRetryCount"] = gbqs.SourceRetryCount + if fss.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = fss.SourceRetryCount } - if gbqs.SourceRetryWait != nil { - objectMap["sourceRetryWait"] = gbqs.SourceRetryWait + if fss.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = fss.SourceRetryWait } - if gbqs.MaxConcurrentConnections != nil { - objectMap["maxConcurrentConnections"] = gbqs.MaxConcurrentConnections + if fss.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = fss.MaxConcurrentConnections } - if gbqs.Type != "" { - objectMap["type"] = gbqs.Type + if fss.Type != "" { + objectMap["type"] = fss.Type } - for k, v := range gbqs.AdditionalProperties { + for k, v := range fss.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsAmazonRedshiftSource is the BasicCopySource implementation for GoogleBigQuerySource. -func (gbqs GoogleBigQuerySource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { +// AsHTTPSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsHTTPSource() (*HTTPSource, bool) { return nil, false } -// AsGoogleAdWordsSource is the BasicCopySource implementation for GoogleBigQuerySource. -func (gbqs GoogleBigQuerySource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { +// AsAzureBlobFSSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { return nil, false } -// AsOracleServiceCloudSource is the BasicCopySource implementation for GoogleBigQuerySource. -func (gbqs GoogleBigQuerySource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { return nil, false } -// AsDynamicsAXSource is the BasicCopySource implementation for GoogleBigQuerySource. -func (gbqs GoogleBigQuerySource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { +// AsOffice365Source is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsOffice365Source() (*Office365Source, bool) { return nil, false } -// AsResponsysSource is the BasicCopySource implementation for GoogleBigQuerySource. -func (gbqs GoogleBigQuerySource) AsResponsysSource() (*ResponsysSource, bool) { +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { return nil, false } -// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for GoogleBigQuerySource. -func (gbqs GoogleBigQuerySource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { +// AsMongoDbV2Source is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { return nil, false } -// AsVerticaSource is the BasicCopySource implementation for GoogleBigQuerySource. -func (gbqs GoogleBigQuerySource) AsVerticaSource() (*VerticaSource, bool) { +// AsMongoDbSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsMongoDbSource() (*MongoDbSource, bool) { return nil, false } -// AsNetezzaSource is the BasicCopySource implementation for GoogleBigQuerySource. -func (gbqs GoogleBigQuerySource) AsNetezzaSource() (*NetezzaSource, bool) { +// AsWebSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsWebSource() (*WebSource, bool) { return nil, false } -// AsZohoSource is the BasicCopySource implementation for GoogleBigQuerySource. -func (gbqs GoogleBigQuerySource) AsZohoSource() (*ZohoSource, bool) { +// AsOracleSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsOracleSource() (*OracleSource, bool) { return nil, false } -// AsXeroSource is the BasicCopySource implementation for GoogleBigQuerySource. -func (gbqs GoogleBigQuerySource) AsXeroSource() (*XeroSource, bool) { +// AsAzureDataExplorerSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { return nil, false } -// AsSquareSource is the BasicCopySource implementation for GoogleBigQuerySource. -func (gbqs GoogleBigQuerySource) AsSquareSource() (*SquareSource, bool) { +// AsHdfsSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsHdfsSource() (*HdfsSource, bool) { return nil, false } -// AsSparkSource is the BasicCopySource implementation for GoogleBigQuerySource. -func (gbqs GoogleBigQuerySource) AsSparkSource() (*SparkSource, bool) { - return nil, false +// AsFileSystemSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsFileSystemSource() (*FileSystemSource, bool) { + return &fss, true } -// AsShopifySource is the BasicCopySource implementation for GoogleBigQuerySource. -func (gbqs GoogleBigQuerySource) AsShopifySource() (*ShopifySource, bool) { +// AsRestSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsRestSource() (*RestSource, bool) { return nil, false } -// AsServiceNowSource is the BasicCopySource implementation for GoogleBigQuerySource. -func (gbqs GoogleBigQuerySource) AsServiceNowSource() (*ServiceNowSource, bool) { +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { return nil, false } -// AsQuickBooksSource is the BasicCopySource implementation for GoogleBigQuerySource. -func (gbqs GoogleBigQuerySource) AsQuickBooksSource() (*QuickBooksSource, bool) { +// AsODataSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsODataSource() (*ODataSource, bool) { return nil, false } -// AsPrestoSource is the BasicCopySource implementation for GoogleBigQuerySource. -func (gbqs GoogleBigQuerySource) AsPrestoSource() (*PrestoSource, bool) { +// AsMicrosoftAccessSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { return nil, false } -// AsPhoenixSource is the BasicCopySource implementation for GoogleBigQuerySource. -func (gbqs GoogleBigQuerySource) AsPhoenixSource() (*PhoenixSource, bool) { +// AsRelationalSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsRelationalSource() (*RelationalSource, bool) { return nil, false } -// AsPaypalSource is the BasicCopySource implementation for GoogleBigQuerySource. -func (gbqs GoogleBigQuerySource) AsPaypalSource() (*PaypalSource, bool) { +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { return nil, false } -// AsMarketoSource is the BasicCopySource implementation for GoogleBigQuerySource. -func (gbqs GoogleBigQuerySource) AsMarketoSource() (*MarketoSource, bool) { +// AsDynamicsCrmSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { return nil, false } -// AsAzureMariaDBSource is the BasicCopySource implementation for GoogleBigQuerySource. -func (gbqs GoogleBigQuerySource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { +// AsDynamicsSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsDynamicsSource() (*DynamicsSource, bool) { return nil, false } -// AsMariaDBSource is the BasicCopySource implementation for GoogleBigQuerySource. -func (gbqs GoogleBigQuerySource) AsMariaDBSource() (*MariaDBSource, bool) { +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { return nil, false } -// AsMagentoSource is the BasicCopySource implementation for GoogleBigQuerySource. -func (gbqs GoogleBigQuerySource) AsMagentoSource() (*MagentoSource, bool) { +// AsDocumentDbCollectionSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { return nil, false } -// AsJiraSource is the BasicCopySource implementation for GoogleBigQuerySource. -func (gbqs GoogleBigQuerySource) AsJiraSource() (*JiraSource, bool) { +// AsBlobSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsBlobSource() (*BlobSource, bool) { return nil, false } -// AsImpalaSource is the BasicCopySource implementation for GoogleBigQuerySource. -func (gbqs GoogleBigQuerySource) AsImpalaSource() (*ImpalaSource, bool) { +// AsAmazonRedshiftSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { return nil, false } -// AsHubspotSource is the BasicCopySource implementation for GoogleBigQuerySource. -func (gbqs GoogleBigQuerySource) AsHubspotSource() (*HubspotSource, bool) { +// AsGoogleAdWordsSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { return nil, false } -// AsHiveSource is the BasicCopySource implementation for GoogleBigQuerySource. -func (gbqs GoogleBigQuerySource) AsHiveSource() (*HiveSource, bool) { +// AsOracleServiceCloudSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { return nil, false } -// AsHBaseSource is the BasicCopySource implementation for GoogleBigQuerySource. -func (gbqs GoogleBigQuerySource) AsHBaseSource() (*HBaseSource, bool) { +// AsDynamicsAXSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { return nil, false } -// AsGreenplumSource is the BasicCopySource implementation for GoogleBigQuerySource. -func (gbqs GoogleBigQuerySource) AsGreenplumSource() (*GreenplumSource, bool) { +// AsResponsysSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsResponsysSource() (*ResponsysSource, bool) { return nil, false } -// AsGoogleBigQuerySource is the BasicCopySource implementation for GoogleBigQuerySource. -func (gbqs GoogleBigQuerySource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { - return &gbqs, true -} - -// AsEloquaSource is the BasicCopySource implementation for GoogleBigQuerySource. -func (gbqs GoogleBigQuerySource) AsEloquaSource() (*EloquaSource, bool) { +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { return nil, false } -// AsDrillSource is the BasicCopySource implementation for GoogleBigQuerySource. -func (gbqs GoogleBigQuerySource) AsDrillSource() (*DrillSource, bool) { +// AsVerticaSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsVerticaSource() (*VerticaSource, bool) { return nil, false } -// AsCouchbaseSource is the BasicCopySource implementation for GoogleBigQuerySource. -func (gbqs GoogleBigQuerySource) AsCouchbaseSource() (*CouchbaseSource, bool) { +// AsNetezzaSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsNetezzaSource() (*NetezzaSource, bool) { return nil, false } -// AsConcurSource is the BasicCopySource implementation for GoogleBigQuerySource. -func (gbqs GoogleBigQuerySource) AsConcurSource() (*ConcurSource, bool) { +// AsZohoSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsZohoSource() (*ZohoSource, bool) { return nil, false } -// AsAzurePostgreSQLSource is the BasicCopySource implementation for GoogleBigQuerySource. -func (gbqs GoogleBigQuerySource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { +// AsXeroSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsXeroSource() (*XeroSource, bool) { return nil, false } -// AsAmazonMWSSource is the BasicCopySource implementation for GoogleBigQuerySource. -func (gbqs GoogleBigQuerySource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { +// AsSquareSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsSquareSource() (*SquareSource, bool) { return nil, false } -// AsHTTPSource is the BasicCopySource implementation for GoogleBigQuerySource. -func (gbqs GoogleBigQuerySource) AsHTTPSource() (*HTTPSource, bool) { +// AsSparkSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsSparkSource() (*SparkSource, bool) { return nil, false } -// AsAzureBlobFSSource is the BasicCopySource implementation for GoogleBigQuerySource. -func (gbqs GoogleBigQuerySource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { +// AsShopifySource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsShopifySource() (*ShopifySource, bool) { return nil, false } -// AsAzureDataLakeStoreSource is the BasicCopySource implementation for GoogleBigQuerySource. -func (gbqs GoogleBigQuerySource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { +// AsServiceNowSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsServiceNowSource() (*ServiceNowSource, bool) { return nil, false } -// AsOffice365Source is the BasicCopySource implementation for GoogleBigQuerySource. -func (gbqs GoogleBigQuerySource) AsOffice365Source() (*Office365Source, bool) { +// AsQuickBooksSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsQuickBooksSource() (*QuickBooksSource, bool) { return nil, false } -// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for GoogleBigQuerySource. -func (gbqs GoogleBigQuerySource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { +// AsPrestoSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsPrestoSource() (*PrestoSource, bool) { return nil, false } -// AsMongoDbV2Source is the BasicCopySource implementation for GoogleBigQuerySource. -func (gbqs GoogleBigQuerySource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { +// AsPhoenixSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsPhoenixSource() (*PhoenixSource, bool) { return nil, false } -// AsMongoDbSource is the BasicCopySource implementation for GoogleBigQuerySource. -func (gbqs GoogleBigQuerySource) AsMongoDbSource() (*MongoDbSource, bool) { +// AsPaypalSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsPaypalSource() (*PaypalSource, bool) { return nil, false } -// AsCassandraSource is the BasicCopySource implementation for GoogleBigQuerySource. -func (gbqs GoogleBigQuerySource) AsCassandraSource() (*CassandraSource, bool) { +// AsMarketoSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsMarketoSource() (*MarketoSource, bool) { return nil, false } -// AsWebSource is the BasicCopySource implementation for GoogleBigQuerySource. -func (gbqs GoogleBigQuerySource) AsWebSource() (*WebSource, bool) { +// AsAzureMariaDBSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { return nil, false } -// AsTeradataSource is the BasicCopySource implementation for GoogleBigQuerySource. -func (gbqs GoogleBigQuerySource) AsTeradataSource() (*TeradataSource, bool) { +// AsMariaDBSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsMariaDBSource() (*MariaDBSource, bool) { return nil, false } -// AsOracleSource is the BasicCopySource implementation for GoogleBigQuerySource. -func (gbqs GoogleBigQuerySource) AsOracleSource() (*OracleSource, bool) { +// AsMagentoSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsMagentoSource() (*MagentoSource, bool) { return nil, false } -// AsAzureDataExplorerSource is the BasicCopySource implementation for GoogleBigQuerySource. -func (gbqs GoogleBigQuerySource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { +// AsJiraSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsJiraSource() (*JiraSource, bool) { return nil, false } -// AsAzureMySQLSource is the BasicCopySource implementation for GoogleBigQuerySource. -func (gbqs GoogleBigQuerySource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { +// AsImpalaSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsImpalaSource() (*ImpalaSource, bool) { return nil, false } -// AsHdfsSource is the BasicCopySource implementation for GoogleBigQuerySource. -func (gbqs GoogleBigQuerySource) AsHdfsSource() (*HdfsSource, bool) { +// AsHubspotSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsHubspotSource() (*HubspotSource, bool) { return nil, false } -// AsFileSystemSource is the BasicCopySource implementation for GoogleBigQuerySource. -func (gbqs GoogleBigQuerySource) AsFileSystemSource() (*FileSystemSource, bool) { +// AsHiveSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsHiveSource() (*HiveSource, bool) { return nil, false } -// AsSQLDWSource is the BasicCopySource implementation for GoogleBigQuerySource. -func (gbqs GoogleBigQuerySource) AsSQLDWSource() (*SQLDWSource, bool) { +// AsHBaseSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsHBaseSource() (*HBaseSource, bool) { return nil, false } -// AsSQLMISource is the BasicCopySource implementation for GoogleBigQuerySource. -func (gbqs GoogleBigQuerySource) AsSQLMISource() (*SQLMISource, bool) { +// AsGreenplumSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsGreenplumSource() (*GreenplumSource, bool) { return nil, false } -// AsAzureSQLSource is the BasicCopySource implementation for GoogleBigQuerySource. -func (gbqs GoogleBigQuerySource) AsAzureSQLSource() (*AzureSQLSource, bool) { +// AsGoogleBigQuerySource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { return nil, false } -// AsSQLServerSource is the BasicCopySource implementation for GoogleBigQuerySource. -func (gbqs GoogleBigQuerySource) AsSQLServerSource() (*SQLServerSource, bool) { +// AsEloquaSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsEloquaSource() (*EloquaSource, bool) { return nil, false } -// AsSQLSource is the BasicCopySource implementation for GoogleBigQuerySource. -func (gbqs GoogleBigQuerySource) AsSQLSource() (*SQLSource, bool) { +// AsDrillSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsDrillSource() (*DrillSource, bool) { return nil, false } -// AsRestSource is the BasicCopySource implementation for GoogleBigQuerySource. -func (gbqs GoogleBigQuerySource) AsRestSource() (*RestSource, bool) { +// AsCouchbaseSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsCouchbaseSource() (*CouchbaseSource, bool) { return nil, false } -// AsSapTableSource is the BasicCopySource implementation for GoogleBigQuerySource. -func (gbqs GoogleBigQuerySource) AsSapTableSource() (*SapTableSource, bool) { +// AsConcurSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsConcurSource() (*ConcurSource, bool) { return nil, false } -// AsSapOpenHubSource is the BasicCopySource implementation for GoogleBigQuerySource. -func (gbqs GoogleBigQuerySource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { +// AsAzurePostgreSQLSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { return nil, false } -// AsSapHanaSource is the BasicCopySource implementation for GoogleBigQuerySource. -func (gbqs GoogleBigQuerySource) AsSapHanaSource() (*SapHanaSource, bool) { +// AsAmazonMWSSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { return nil, false } -// AsSapEccSource is the BasicCopySource implementation for GoogleBigQuerySource. -func (gbqs GoogleBigQuerySource) AsSapEccSource() (*SapEccSource, bool) { +// AsCassandraSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsCassandraSource() (*CassandraSource, bool) { return nil, false } -// AsSapCloudForCustomerSource is the BasicCopySource implementation for GoogleBigQuerySource. -func (gbqs GoogleBigQuerySource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { +// AsTeradataSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsTeradataSource() (*TeradataSource, bool) { return nil, false } -// AsSalesforceServiceCloudSource is the BasicCopySource implementation for GoogleBigQuerySource. -func (gbqs GoogleBigQuerySource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { +// AsAzureMySQLSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { return nil, false } -// AsSalesforceSource is the BasicCopySource implementation for GoogleBigQuerySource. -func (gbqs GoogleBigQuerySource) AsSalesforceSource() (*SalesforceSource, bool) { +// AsSQLDWSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsSQLDWSource() (*SQLDWSource, bool) { return nil, false } -// AsODataSource is the BasicCopySource implementation for GoogleBigQuerySource. -func (gbqs GoogleBigQuerySource) AsODataSource() (*ODataSource, bool) { +// AsSQLMISource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsSQLMISource() (*SQLMISource, bool) { return nil, false } -// AsSapBwSource is the BasicCopySource implementation for GoogleBigQuerySource. -func (gbqs GoogleBigQuerySource) AsSapBwSource() (*SapBwSource, bool) { +// AsAzureSQLSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsAzureSQLSource() (*AzureSQLSource, bool) { return nil, false } -// AsSybaseSource is the BasicCopySource implementation for GoogleBigQuerySource. -func (gbqs GoogleBigQuerySource) AsSybaseSource() (*SybaseSource, bool) { +// AsSQLServerSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsSQLServerSource() (*SQLServerSource, bool) { return nil, false } -// AsPostgreSQLSource is the BasicCopySource implementation for GoogleBigQuerySource. -func (gbqs GoogleBigQuerySource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { +// AsSQLSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsSQLSource() (*SQLSource, bool) { return nil, false } -// AsMySQLSource is the BasicCopySource implementation for GoogleBigQuerySource. -func (gbqs GoogleBigQuerySource) AsMySQLSource() (*MySQLSource, bool) { +// AsSapTableSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsSapTableSource() (*SapTableSource, bool) { return nil, false } -// AsOdbcSource is the BasicCopySource implementation for GoogleBigQuerySource. -func (gbqs GoogleBigQuerySource) AsOdbcSource() (*OdbcSource, bool) { +// AsSapOpenHubSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { return nil, false } -// AsDb2Source is the BasicCopySource implementation for GoogleBigQuerySource. -func (gbqs GoogleBigQuerySource) AsDb2Source() (*Db2Source, bool) { +// AsSapHanaSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsSapHanaSource() (*SapHanaSource, bool) { return nil, false } -// AsMicrosoftAccessSource is the BasicCopySource implementation for GoogleBigQuerySource. -func (gbqs GoogleBigQuerySource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { +// AsSapEccSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsSapEccSource() (*SapEccSource, bool) { return nil, false } -// AsInformixSource is the BasicCopySource implementation for GoogleBigQuerySource. -func (gbqs GoogleBigQuerySource) AsInformixSource() (*InformixSource, bool) { +// AsSapCloudForCustomerSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { return nil, false } -// AsRelationalSource is the BasicCopySource implementation for GoogleBigQuerySource. -func (gbqs GoogleBigQuerySource) AsRelationalSource() (*RelationalSource, bool) { +// AsSalesforceSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsSalesforceSource() (*SalesforceSource, bool) { return nil, false } -// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for GoogleBigQuerySource. -func (gbqs GoogleBigQuerySource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { +// AsSapBwSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsSapBwSource() (*SapBwSource, bool) { return nil, false } -// AsDynamicsCrmSource is the BasicCopySource implementation for GoogleBigQuerySource. -func (gbqs GoogleBigQuerySource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { +// AsSybaseSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsSybaseSource() (*SybaseSource, bool) { return nil, false } -// AsDynamicsSource is the BasicCopySource implementation for GoogleBigQuerySource. -func (gbqs GoogleBigQuerySource) AsDynamicsSource() (*DynamicsSource, bool) { +// AsPostgreSQLSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { return nil, false } -// AsDocumentDbCollectionSource is the BasicCopySource implementation for GoogleBigQuerySource. -func (gbqs GoogleBigQuerySource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { +// AsMySQLSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsMySQLSource() (*MySQLSource, bool) { return nil, false } -// AsBlobSource is the BasicCopySource implementation for GoogleBigQuerySource. -func (gbqs GoogleBigQuerySource) AsBlobSource() (*BlobSource, bool) { +// AsOdbcSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsOdbcSource() (*OdbcSource, bool) { return nil, false } -// AsAzureTableSource is the BasicCopySource implementation for GoogleBigQuerySource. -func (gbqs GoogleBigQuerySource) AsAzureTableSource() (*AzureTableSource, bool) { +// AsDb2Source is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsDb2Source() (*Db2Source, bool) { return nil, false } -// AsBinarySource is the BasicCopySource implementation for GoogleBigQuerySource. -func (gbqs GoogleBigQuerySource) AsBinarySource() (*BinarySource, bool) { +// AsInformixSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsInformixSource() (*InformixSource, bool) { return nil, false } -// AsDelimitedTextSource is the BasicCopySource implementation for GoogleBigQuerySource. -func (gbqs GoogleBigQuerySource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { +// AsAzureTableSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsAzureTableSource() (*AzureTableSource, bool) { return nil, false } -// AsParquetSource is the BasicCopySource implementation for GoogleBigQuerySource. -func (gbqs GoogleBigQuerySource) AsParquetSource() (*ParquetSource, bool) { +// AsTabularSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsTabularSource() (*TabularSource, bool) { return nil, false } -// AsAvroSource is the BasicCopySource implementation for GoogleBigQuerySource. -func (gbqs GoogleBigQuerySource) AsAvroSource() (*AvroSource, bool) { +// AsBasicTabularSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsBasicTabularSource() (BasicTabularSource, bool) { return nil, false } -// AsCopySource is the BasicCopySource implementation for GoogleBigQuerySource. -func (gbqs GoogleBigQuerySource) AsCopySource() (*CopySource, bool) { +// AsBinarySource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsBinarySource() (*BinarySource, bool) { return nil, false } -// AsBasicCopySource is the BasicCopySource implementation for GoogleBigQuerySource. -func (gbqs GoogleBigQuerySource) AsBasicCopySource() (BasicCopySource, bool) { - return &gbqs, true +// AsOrcSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsOrcSource() (*OrcSource, bool) { + return nil, false } -// UnmarshalJSON is the custom unmarshaler for GoogleBigQuerySource struct. -func (gbqs *GoogleBigQuerySource) UnmarshalJSON(body []byte) error { +// AsJSONSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsJSONSource() (*JSONSource, bool) { + return nil, false +} + +// AsDelimitedTextSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false +} + +// AsParquetSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for FileSystemSource. +func (fss FileSystemSource) AsBasicCopySource() (BasicCopySource, bool) { + return &fss, true +} + +// UnmarshalJSON is the custom unmarshaler for FileSystemSource struct. +func (fss *FileSystemSource) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -84142,14 +88825,14 @@ func (gbqs *GoogleBigQuerySource) UnmarshalJSON(body []byte) error { } for k, v := range m { switch k { - case "query": + case "recursive": if v != nil { - var query interface{} - err = json.Unmarshal(*v, &query) + var recursive interface{} + err = json.Unmarshal(*v, &recursive) if err != nil { return err } - gbqs.Query = query + fss.Recursive = recursive } default: if v != nil { @@ -84158,10 +88841,10 @@ func (gbqs *GoogleBigQuerySource) UnmarshalJSON(body []byte) error { if err != nil { return err } - if gbqs.AdditionalProperties == nil { - gbqs.AdditionalProperties = make(map[string]interface{}) + if fss.AdditionalProperties == nil { + fss.AdditionalProperties = make(map[string]interface{}) } - gbqs.AdditionalProperties[k] = additionalProperties + fss.AdditionalProperties[k] = additionalProperties } case "sourceRetryCount": if v != nil { @@ -84170,7 +88853,7 @@ func (gbqs *GoogleBigQuerySource) UnmarshalJSON(body []byte) error { if err != nil { return err } - gbqs.SourceRetryCount = sourceRetryCount + fss.SourceRetryCount = sourceRetryCount } case "sourceRetryWait": if v != nil { @@ -84179,7 +88862,7 @@ func (gbqs *GoogleBigQuerySource) UnmarshalJSON(body []byte) error { if err != nil { return err } - gbqs.SourceRetryWait = sourceRetryWait + fss.SourceRetryWait = sourceRetryWait } case "maxConcurrentConnections": if v != nil { @@ -84188,7 +88871,7 @@ func (gbqs *GoogleBigQuerySource) UnmarshalJSON(body []byte) error { if err != nil { return err } - gbqs.MaxConcurrentConnections = maxConcurrentConnections + fss.MaxConcurrentConnections = maxConcurrentConnections } case "type": if v != nil { @@ -84197,7 +88880,7 @@ func (gbqs *GoogleBigQuerySource) UnmarshalJSON(body []byte) error { if err != nil { return err } - gbqs.Type = typeVar + fss.Type = typeVar } } } @@ -84205,529 +88888,589 @@ func (gbqs *GoogleBigQuerySource) UnmarshalJSON(body []byte) error { return nil } -// GreenplumDatasetTypeProperties greenplum Dataset Properties -type GreenplumDatasetTypeProperties struct { - // TableName - This property will be retired. Please consider using schema + table properties instead. - TableName interface{} `json:"tableName,omitempty"` - // Table - The table name of Greenplum. Type: string (or Expression with resultType string). - Table interface{} `json:"table,omitempty"` - // Schema - The schema name of Greenplum. Type: string (or Expression with resultType string). - Schema interface{} `json:"schema,omitempty"` -} - -// GreenplumLinkedService greenplum Database linked service. -type GreenplumLinkedService struct { - // GreenplumLinkedServiceTypeProperties - Greenplum Database linked service properties. - *GreenplumLinkedServiceTypeProperties `json:"typeProperties,omitempty"` +// FilterActivity filter and return results from input array based on the conditions. +type FilterActivity struct { + // FilterActivityTypeProperties - Filter activity properties. + *FilterActivityTypeProperties `json:"typeProperties,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` - // ConnectVia - The integration runtime reference. - ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` - // Description - Linked service description. + // Name - Activity name. + Name *string `json:"name,omitempty"` + // Description - Activity description. Description *string `json:"description,omitempty"` - // Parameters - Parameters for linked service. - Parameters map[string]*ParameterSpecification `json:"parameters"` - // Annotations - List of tags that can be used for describing the linked service. - Annotations *[]interface{} `json:"annotations,omitempty"` - // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' - Type TypeBasicLinkedService `json:"type,omitempty"` + // DependsOn - Activity depends on condition. + DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"` + // UserProperties - Activity user properties. + UserProperties *[]UserProperty `json:"userProperties,omitempty"` + // Type - Possible values include: 'TypeActivity', 'TypeExecuteDataFlow', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLExecutePipeline', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeSwitch', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer' + Type TypeBasicActivity `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for GreenplumLinkedService. -func (gls GreenplumLinkedService) MarshalJSON() ([]byte, error) { - gls.Type = TypeGreenplum +// MarshalJSON is the custom marshaler for FilterActivity. +func (fa FilterActivity) MarshalJSON() ([]byte, error) { + fa.Type = TypeFilter objectMap := make(map[string]interface{}) - if gls.GreenplumLinkedServiceTypeProperties != nil { - objectMap["typeProperties"] = gls.GreenplumLinkedServiceTypeProperties + if fa.FilterActivityTypeProperties != nil { + objectMap["typeProperties"] = fa.FilterActivityTypeProperties } - if gls.ConnectVia != nil { - objectMap["connectVia"] = gls.ConnectVia + if fa.Name != nil { + objectMap["name"] = fa.Name } - if gls.Description != nil { - objectMap["description"] = gls.Description + if fa.Description != nil { + objectMap["description"] = fa.Description } - if gls.Parameters != nil { - objectMap["parameters"] = gls.Parameters + if fa.DependsOn != nil { + objectMap["dependsOn"] = fa.DependsOn } - if gls.Annotations != nil { - objectMap["annotations"] = gls.Annotations + if fa.UserProperties != nil { + objectMap["userProperties"] = fa.UserProperties } - if gls.Type != "" { - objectMap["type"] = gls.Type + if fa.Type != "" { + objectMap["type"] = fa.Type } - for k, v := range gls.AdditionalProperties { + for k, v := range fa.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsAzureFunctionLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. -func (gls GreenplumLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { - return nil, false -} - -// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. -func (gls GreenplumLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { - return nil, false -} - -// AsSapTableLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. -func (gls GreenplumLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { - return nil, false -} - -// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. -func (gls GreenplumLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { - return nil, false -} - -// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. -func (gls GreenplumLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { - return nil, false -} - -// AsDynamicsAXLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. -func (gls GreenplumLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { - return nil, false -} - -// AsResponsysLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. -func (gls GreenplumLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { - return nil, false -} - -// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. -func (gls GreenplumLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { +// AsExecuteDataFlowActivity is the BasicActivity implementation for FilterActivity. +func (fa FilterActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) { return nil, false } -// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. -func (gls GreenplumLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { +// AsAzureFunctionActivity is the BasicActivity implementation for FilterActivity. +func (fa FilterActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) { return nil, false } -// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. -func (gls GreenplumLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { +// AsDatabricksSparkPythonActivity is the BasicActivity implementation for FilterActivity. +func (fa FilterActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) { return nil, false } -// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. -func (gls GreenplumLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { +// AsDatabricksSparkJarActivity is the BasicActivity implementation for FilterActivity. +func (fa FilterActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) { return nil, false } -// AsNetezzaLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. -func (gls GreenplumLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { +// AsDatabricksNotebookActivity is the BasicActivity implementation for FilterActivity. +func (fa FilterActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) { return nil, false } -// AsVerticaLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. -func (gls GreenplumLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { +// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for FilterActivity. +func (fa FilterActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) { return nil, false } -// AsZohoLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. -func (gls GreenplumLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { +// AsAzureMLExecutePipelineActivity is the BasicActivity implementation for FilterActivity. +func (fa FilterActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) { return nil, false } -// AsXeroLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. -func (gls GreenplumLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { +// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for FilterActivity. +func (fa FilterActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) { return nil, false } -// AsSquareLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. -func (gls GreenplumLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { +// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for FilterActivity. +func (fa FilterActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) { return nil, false } -// AsSparkLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. -func (gls GreenplumLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { +// AsGetMetadataActivity is the BasicActivity implementation for FilterActivity. +func (fa FilterActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) { return nil, false } -// AsShopifyLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. -func (gls GreenplumLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { +// AsWebActivity is the BasicActivity implementation for FilterActivity. +func (fa FilterActivity) AsWebActivity() (*WebActivity, bool) { return nil, false } -// AsServiceNowLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. -func (gls GreenplumLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { +// AsLookupActivity is the BasicActivity implementation for FilterActivity. +func (fa FilterActivity) AsLookupActivity() (*LookupActivity, bool) { return nil, false } -// AsQuickBooksLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. -func (gls GreenplumLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { +// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for FilterActivity. +func (fa FilterActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) { return nil, false } -// AsPrestoLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. -func (gls GreenplumLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { +// AsDeleteActivity is the BasicActivity implementation for FilterActivity. +func (fa FilterActivity) AsDeleteActivity() (*DeleteActivity, bool) { return nil, false } -// AsPhoenixLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. -func (gls GreenplumLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { +// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for FilterActivity. +func (fa FilterActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) { return nil, false } -// AsPaypalLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. -func (gls GreenplumLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { +// AsCustomActivity is the BasicActivity implementation for FilterActivity. +func (fa FilterActivity) AsCustomActivity() (*CustomActivity, bool) { return nil, false } -// AsMarketoLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. -func (gls GreenplumLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { +// AsExecuteSSISPackageActivity is the BasicActivity implementation for FilterActivity. +func (fa FilterActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) { return nil, false } -// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. -func (gls GreenplumLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { +// AsHDInsightSparkActivity is the BasicActivity implementation for FilterActivity. +func (fa FilterActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) { return nil, false } -// AsMariaDBLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. -func (gls GreenplumLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { +// AsHDInsightStreamingActivity is the BasicActivity implementation for FilterActivity. +func (fa FilterActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) { return nil, false } -// AsMagentoLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. -func (gls GreenplumLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { +// AsHDInsightMapReduceActivity is the BasicActivity implementation for FilterActivity. +func (fa FilterActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) { return nil, false } -// AsJiraLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. -func (gls GreenplumLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { +// AsHDInsightPigActivity is the BasicActivity implementation for FilterActivity. +func (fa FilterActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) { return nil, false } -// AsImpalaLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. -func (gls GreenplumLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { +// AsHDInsightHiveActivity is the BasicActivity implementation for FilterActivity. +func (fa FilterActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) { return nil, false } -// AsHubspotLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. -func (gls GreenplumLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { +// AsCopyActivity is the BasicActivity implementation for FilterActivity. +func (fa FilterActivity) AsCopyActivity() (*CopyActivity, bool) { return nil, false } -// AsHiveLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. -func (gls GreenplumLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { +// AsExecutionActivity is the BasicActivity implementation for FilterActivity. +func (fa FilterActivity) AsExecutionActivity() (*ExecutionActivity, bool) { return nil, false } -// AsHBaseLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. -func (gls GreenplumLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { +// AsBasicExecutionActivity is the BasicActivity implementation for FilterActivity. +func (fa FilterActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) { return nil, false } -// AsGreenplumLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. -func (gls GreenplumLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { - return &gls, true -} - -// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. -func (gls GreenplumLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { +// AsWebHookActivity is the BasicActivity implementation for FilterActivity. +func (fa FilterActivity) AsWebHookActivity() (*WebHookActivity, bool) { return nil, false } -// AsEloquaLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. -func (gls GreenplumLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { +// AsAppendVariableActivity is the BasicActivity implementation for FilterActivity. +func (fa FilterActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) { return nil, false } -// AsDrillLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. -func (gls GreenplumLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { +// AsSetVariableActivity is the BasicActivity implementation for FilterActivity. +func (fa FilterActivity) AsSetVariableActivity() (*SetVariableActivity, bool) { return nil, false } -// AsCouchbaseLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. -func (gls GreenplumLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { - return nil, false +// AsFilterActivity is the BasicActivity implementation for FilterActivity. +func (fa FilterActivity) AsFilterActivity() (*FilterActivity, bool) { + return &fa, true } -// AsConcurLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. -func (gls GreenplumLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { +// AsValidationActivity is the BasicActivity implementation for FilterActivity. +func (fa FilterActivity) AsValidationActivity() (*ValidationActivity, bool) { return nil, false } -// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. -func (gls GreenplumLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { +// AsUntilActivity is the BasicActivity implementation for FilterActivity. +func (fa FilterActivity) AsUntilActivity() (*UntilActivity, bool) { return nil, false } -// AsAmazonMWSLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. -func (gls GreenplumLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { +// AsWaitActivity is the BasicActivity implementation for FilterActivity. +func (fa FilterActivity) AsWaitActivity() (*WaitActivity, bool) { return nil, false } -// AsSapHanaLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. -func (gls GreenplumLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { +// AsForEachActivity is the BasicActivity implementation for FilterActivity. +func (fa FilterActivity) AsForEachActivity() (*ForEachActivity, bool) { return nil, false } -// AsSapBWLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. -func (gls GreenplumLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { +// AsSwitchActivity is the BasicActivity implementation for FilterActivity. +func (fa FilterActivity) AsSwitchActivity() (*SwitchActivity, bool) { return nil, false } -// AsSftpServerLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. -func (gls GreenplumLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { +// AsIfConditionActivity is the BasicActivity implementation for FilterActivity. +func (fa FilterActivity) AsIfConditionActivity() (*IfConditionActivity, bool) { return nil, false } -// AsFtpServerLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. -func (gls GreenplumLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { +// AsExecutePipelineActivity is the BasicActivity implementation for FilterActivity. +func (fa FilterActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) { return nil, false } -// AsHTTPLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. -func (gls GreenplumLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { +// AsControlActivity is the BasicActivity implementation for FilterActivity. +func (fa FilterActivity) AsControlActivity() (*ControlActivity, bool) { return nil, false } -// AsAzureSearchLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. -func (gls GreenplumLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { - return nil, false +// AsBasicControlActivity is the BasicActivity implementation for FilterActivity. +func (fa FilterActivity) AsBasicControlActivity() (BasicControlActivity, bool) { + return &fa, true } -// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. -func (gls GreenplumLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { +// AsActivity is the BasicActivity implementation for FilterActivity. +func (fa FilterActivity) AsActivity() (*Activity, bool) { return nil, false } -// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. -func (gls GreenplumLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { - return nil, false +// AsBasicActivity is the BasicActivity implementation for FilterActivity. +func (fa FilterActivity) AsBasicActivity() (BasicActivity, bool) { + return &fa, true } -// AsAmazonS3LinkedService is the BasicLinkedService implementation for GreenplumLinkedService. -func (gls GreenplumLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { - return nil, false -} +// UnmarshalJSON is the custom unmarshaler for FilterActivity struct. +func (fa *FilterActivity) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var filterActivityTypeProperties FilterActivityTypeProperties + err = json.Unmarshal(*v, &filterActivityTypeProperties) + if err != nil { + return err + } + fa.FilterActivityTypeProperties = &filterActivityTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if fa.AdditionalProperties == nil { + fa.AdditionalProperties = make(map[string]interface{}) + } + fa.AdditionalProperties[k] = additionalProperties + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + fa.Name = &name + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + fa.Description = &description + } + case "dependsOn": + if v != nil { + var dependsOn []ActivityDependency + err = json.Unmarshal(*v, &dependsOn) + if err != nil { + return err + } + fa.DependsOn = &dependsOn + } + case "userProperties": + if v != nil { + var userProperties []UserProperty + err = json.Unmarshal(*v, &userProperties) + if err != nil { + return err + } + fa.UserProperties = &userProperties + } + case "type": + if v != nil { + var typeVar TypeBasicActivity + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + fa.Type = typeVar + } + } + } -// AsRestServiceLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. -func (gls GreenplumLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { - return nil, false + return nil } -// AsSapOpenHubLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. -func (gls GreenplumLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { - return nil, false +// FilterActivityTypeProperties filter activity properties. +type FilterActivityTypeProperties struct { + // Items - Input array on which filter should be applied. + Items *Expression `json:"items,omitempty"` + // Condition - Condition to be used for filtering the input. + Condition *Expression `json:"condition,omitempty"` } -// AsSapEccLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. -func (gls GreenplumLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { - return nil, false +// ForEachActivity this activity is used for iterating over a collection and execute given activities. +type ForEachActivity struct { + // ForEachActivityTypeProperties - ForEach activity properties. + *ForEachActivityTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Name - Activity name. + Name *string `json:"name,omitempty"` + // Description - Activity description. + Description *string `json:"description,omitempty"` + // DependsOn - Activity depends on condition. + DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"` + // UserProperties - Activity user properties. + UserProperties *[]UserProperty `json:"userProperties,omitempty"` + // Type - Possible values include: 'TypeActivity', 'TypeExecuteDataFlow', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLExecutePipeline', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeSwitch', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer' + Type TypeBasicActivity `json:"type,omitempty"` } -// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. -func (gls GreenplumLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { - return nil, false +// MarshalJSON is the custom marshaler for ForEachActivity. +func (fea ForEachActivity) MarshalJSON() ([]byte, error) { + fea.Type = TypeForEach + objectMap := make(map[string]interface{}) + if fea.ForEachActivityTypeProperties != nil { + objectMap["typeProperties"] = fea.ForEachActivityTypeProperties + } + if fea.Name != nil { + objectMap["name"] = fea.Name + } + if fea.Description != nil { + objectMap["description"] = fea.Description + } + if fea.DependsOn != nil { + objectMap["dependsOn"] = fea.DependsOn + } + if fea.UserProperties != nil { + objectMap["userProperties"] = fea.UserProperties + } + if fea.Type != "" { + objectMap["type"] = fea.Type + } + for k, v := range fea.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) } -// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. -func (gls GreenplumLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { +// AsExecuteDataFlowActivity is the BasicActivity implementation for ForEachActivity. +func (fea ForEachActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) { return nil, false } -// AsSalesforceLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. -func (gls GreenplumLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { +// AsAzureFunctionActivity is the BasicActivity implementation for ForEachActivity. +func (fea ForEachActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) { return nil, false } -// AsOffice365LinkedService is the BasicLinkedService implementation for GreenplumLinkedService. -func (gls GreenplumLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { +// AsDatabricksSparkPythonActivity is the BasicActivity implementation for ForEachActivity. +func (fea ForEachActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) { return nil, false } -// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. -func (gls GreenplumLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { +// AsDatabricksSparkJarActivity is the BasicActivity implementation for ForEachActivity. +func (fea ForEachActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) { return nil, false } -// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. -func (gls GreenplumLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { +// AsDatabricksNotebookActivity is the BasicActivity implementation for ForEachActivity. +func (fea ForEachActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) { return nil, false } -// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for GreenplumLinkedService. -func (gls GreenplumLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { +// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for ForEachActivity. +func (fea ForEachActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) { return nil, false } -// AsMongoDbV2LinkedService is the BasicLinkedService implementation for GreenplumLinkedService. -func (gls GreenplumLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { +// AsAzureMLExecutePipelineActivity is the BasicActivity implementation for ForEachActivity. +func (fea ForEachActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) { return nil, false } -// AsMongoDbLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. -func (gls GreenplumLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { +// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for ForEachActivity. +func (fea ForEachActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) { return nil, false } -// AsCassandraLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. -func (gls GreenplumLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { +// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for ForEachActivity. +func (fea ForEachActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) { return nil, false } -// AsWebLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. -func (gls GreenplumLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { +// AsGetMetadataActivity is the BasicActivity implementation for ForEachActivity. +func (fea ForEachActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) { return nil, false } -// AsODataLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. -func (gls GreenplumLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { +// AsWebActivity is the BasicActivity implementation for ForEachActivity. +func (fea ForEachActivity) AsWebActivity() (*WebActivity, bool) { return nil, false } -// AsHdfsLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. -func (gls GreenplumLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { +// AsLookupActivity is the BasicActivity implementation for ForEachActivity. +func (fea ForEachActivity) AsLookupActivity() (*LookupActivity, bool) { return nil, false } -// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. -func (gls GreenplumLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { +// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for ForEachActivity. +func (fea ForEachActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) { return nil, false } -// AsInformixLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. -func (gls GreenplumLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { +// AsDeleteActivity is the BasicActivity implementation for ForEachActivity. +func (fea ForEachActivity) AsDeleteActivity() (*DeleteActivity, bool) { return nil, false } -// AsOdbcLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. -func (gls GreenplumLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { +// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for ForEachActivity. +func (fea ForEachActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) { return nil, false } -// AsAzureMLLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. -func (gls GreenplumLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { +// AsCustomActivity is the BasicActivity implementation for ForEachActivity. +func (fea ForEachActivity) AsCustomActivity() (*CustomActivity, bool) { return nil, false } -// AsTeradataLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. -func (gls GreenplumLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { +// AsExecuteSSISPackageActivity is the BasicActivity implementation for ForEachActivity. +func (fea ForEachActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) { return nil, false } -// AsDb2LinkedService is the BasicLinkedService implementation for GreenplumLinkedService. -func (gls GreenplumLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { +// AsHDInsightSparkActivity is the BasicActivity implementation for ForEachActivity. +func (fea ForEachActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) { return nil, false } -// AsSybaseLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. -func (gls GreenplumLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { +// AsHDInsightStreamingActivity is the BasicActivity implementation for ForEachActivity. +func (fea ForEachActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) { return nil, false } -// AsPostgreSQLLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. -func (gls GreenplumLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { +// AsHDInsightMapReduceActivity is the BasicActivity implementation for ForEachActivity. +func (fea ForEachActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) { return nil, false } -// AsMySQLLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. -func (gls GreenplumLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { +// AsHDInsightPigActivity is the BasicActivity implementation for ForEachActivity. +func (fea ForEachActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) { return nil, false } -// AsAzureMySQLLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. -func (gls GreenplumLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { +// AsHDInsightHiveActivity is the BasicActivity implementation for ForEachActivity. +func (fea ForEachActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) { return nil, false } -// AsOracleLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. -func (gls GreenplumLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { +// AsCopyActivity is the BasicActivity implementation for ForEachActivity. +func (fea ForEachActivity) AsCopyActivity() (*CopyActivity, bool) { return nil, false } -// AsFileServerLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. -func (gls GreenplumLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { +// AsExecutionActivity is the BasicActivity implementation for ForEachActivity. +func (fea ForEachActivity) AsExecutionActivity() (*ExecutionActivity, bool) { return nil, false } -// AsHDInsightLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. -func (gls GreenplumLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { +// AsBasicExecutionActivity is the BasicActivity implementation for ForEachActivity. +func (fea ForEachActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) { return nil, false } -// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. -func (gls GreenplumLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { +// AsWebHookActivity is the BasicActivity implementation for ForEachActivity. +func (fea ForEachActivity) AsWebHookActivity() (*WebHookActivity, bool) { return nil, false } -// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. -func (gls GreenplumLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { +// AsAppendVariableActivity is the BasicActivity implementation for ForEachActivity. +func (fea ForEachActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) { return nil, false } -// AsDynamicsLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. -func (gls GreenplumLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { +// AsSetVariableActivity is the BasicActivity implementation for ForEachActivity. +func (fea ForEachActivity) AsSetVariableActivity() (*SetVariableActivity, bool) { return nil, false } -// AsCosmosDbLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. -func (gls GreenplumLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { +// AsFilterActivity is the BasicActivity implementation for ForEachActivity. +func (fea ForEachActivity) AsFilterActivity() (*FilterActivity, bool) { return nil, false } -// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. -func (gls GreenplumLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { +// AsValidationActivity is the BasicActivity implementation for ForEachActivity. +func (fea ForEachActivity) AsValidationActivity() (*ValidationActivity, bool) { return nil, false } -// AsAzureBatchLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. -func (gls GreenplumLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { +// AsUntilActivity is the BasicActivity implementation for ForEachActivity. +func (fea ForEachActivity) AsUntilActivity() (*UntilActivity, bool) { return nil, false } -// AsAzureSQLMILinkedService is the BasicLinkedService implementation for GreenplumLinkedService. -func (gls GreenplumLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { +// AsWaitActivity is the BasicActivity implementation for ForEachActivity. +func (fea ForEachActivity) AsWaitActivity() (*WaitActivity, bool) { return nil, false } -// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. -func (gls GreenplumLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { - return nil, false +// AsForEachActivity is the BasicActivity implementation for ForEachActivity. +func (fea ForEachActivity) AsForEachActivity() (*ForEachActivity, bool) { + return &fea, true } -// AsSQLServerLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. -func (gls GreenplumLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { +// AsSwitchActivity is the BasicActivity implementation for ForEachActivity. +func (fea ForEachActivity) AsSwitchActivity() (*SwitchActivity, bool) { return nil, false } -// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. -func (gls GreenplumLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { +// AsIfConditionActivity is the BasicActivity implementation for ForEachActivity. +func (fea ForEachActivity) AsIfConditionActivity() (*IfConditionActivity, bool) { return nil, false } -// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. -func (gls GreenplumLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { +// AsExecutePipelineActivity is the BasicActivity implementation for ForEachActivity. +func (fea ForEachActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) { return nil, false } -// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. -func (gls GreenplumLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { +// AsControlActivity is the BasicActivity implementation for ForEachActivity. +func (fea ForEachActivity) AsControlActivity() (*ControlActivity, bool) { return nil, false } -// AsAzureStorageLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. -func (gls GreenplumLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { - return nil, false +// AsBasicControlActivity is the BasicActivity implementation for ForEachActivity. +func (fea ForEachActivity) AsBasicControlActivity() (BasicControlActivity, bool) { + return &fea, true } -// AsLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. -func (gls GreenplumLinkedService) AsLinkedService() (*LinkedService, bool) { +// AsActivity is the BasicActivity implementation for ForEachActivity. +func (fea ForEachActivity) AsActivity() (*Activity, bool) { return nil, false } -// AsBasicLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. -func (gls GreenplumLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { - return &gls, true +// AsBasicActivity is the BasicActivity implementation for ForEachActivity. +func (fea ForEachActivity) AsBasicActivity() (BasicActivity, bool) { + return &fea, true } -// UnmarshalJSON is the custom unmarshaler for GreenplumLinkedService struct. -func (gls *GreenplumLinkedService) UnmarshalJSON(body []byte) error { +// UnmarshalJSON is the custom unmarshaler for ForEachActivity struct. +func (fea *ForEachActivity) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -84737,12 +89480,12 @@ func (gls *GreenplumLinkedService) UnmarshalJSON(body []byte) error { switch k { case "typeProperties": if v != nil { - var greenplumLinkedServiceTypeProperties GreenplumLinkedServiceTypeProperties - err = json.Unmarshal(*v, &greenplumLinkedServiceTypeProperties) + var forEachActivityTypeProperties ForEachActivityTypeProperties + err = json.Unmarshal(*v, &forEachActivityTypeProperties) if err != nil { return err } - gls.GreenplumLinkedServiceTypeProperties = &greenplumLinkedServiceTypeProperties + fea.ForEachActivityTypeProperties = &forEachActivityTypeProperties } default: if v != nil { @@ -84751,19 +89494,19 @@ func (gls *GreenplumLinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - if gls.AdditionalProperties == nil { - gls.AdditionalProperties = make(map[string]interface{}) + if fea.AdditionalProperties == nil { + fea.AdditionalProperties = make(map[string]interface{}) } - gls.AdditionalProperties[k] = additionalProperties + fea.AdditionalProperties[k] = additionalProperties } - case "connectVia": + case "name": if v != nil { - var connectVia IntegrationRuntimeReference - err = json.Unmarshal(*v, &connectVia) + var name string + err = json.Unmarshal(*v, &name) if err != nil { return err } - gls.ConnectVia = &connectVia + fea.Name = &name } case "description": if v != nil { @@ -84772,34 +89515,34 @@ func (gls *GreenplumLinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - gls.Description = &description + fea.Description = &description } - case "parameters": + case "dependsOn": if v != nil { - var parameters map[string]*ParameterSpecification - err = json.Unmarshal(*v, ¶meters) + var dependsOn []ActivityDependency + err = json.Unmarshal(*v, &dependsOn) if err != nil { return err } - gls.Parameters = parameters + fea.DependsOn = &dependsOn } - case "annotations": + case "userProperties": if v != nil { - var annotations []interface{} - err = json.Unmarshal(*v, &annotations) + var userProperties []UserProperty + err = json.Unmarshal(*v, &userProperties) if err != nil { return err } - gls.Annotations = &annotations + fea.UserProperties = &userProperties } case "type": if v != nil { - var typeVar TypeBasicLinkedService + var typeVar TypeBasicActivity err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - gls.Type = typeVar + fea.Type = typeVar } } } @@ -84807,484 +89550,227 @@ func (gls *GreenplumLinkedService) UnmarshalJSON(body []byte) error { return nil } -// GreenplumLinkedServiceTypeProperties greenplum Database linked service properties. -type GreenplumLinkedServiceTypeProperties struct { - // ConnectionString - An ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference. - ConnectionString interface{} `json:"connectionString,omitempty"` - // Pwd - The Azure key vault secret reference of password in connection string. - Pwd *AzureKeyVaultSecretReference `json:"pwd,omitempty"` - // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). - EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` +// ForEachActivityTypeProperties forEach activity properties. +type ForEachActivityTypeProperties struct { + // IsSequential - Should the loop be executed in sequence or in parallel (max 50) + IsSequential *bool `json:"isSequential,omitempty"` + // BatchCount - Batch count to be used for controlling the number of parallel execution (when isSequential is set to false). + BatchCount *int32 `json:"batchCount,omitempty"` + // Items - Collection to iterate. + Items *Expression `json:"items,omitempty"` + // Activities - List of activities to execute . + Activities *[]BasicActivity `json:"activities,omitempty"` } -// GreenplumSource a copy activity Greenplum Database source. -type GreenplumSource struct { - // Query - A query to retrieve data from source. Type: string (or Expression with resultType string). - Query interface{} `json:"query,omitempty"` +// UnmarshalJSON is the custom unmarshaler for ForEachActivityTypeProperties struct. +func (featp *ForEachActivityTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "isSequential": + if v != nil { + var isSequential bool + err = json.Unmarshal(*v, &isSequential) + if err != nil { + return err + } + featp.IsSequential = &isSequential + } + case "batchCount": + if v != nil { + var batchCount int32 + err = json.Unmarshal(*v, &batchCount) + if err != nil { + return err + } + featp.BatchCount = &batchCount + } + case "items": + if v != nil { + var items Expression + err = json.Unmarshal(*v, &items) + if err != nil { + return err + } + featp.Items = &items + } + case "activities": + if v != nil { + activities, err := unmarshalBasicActivityArray(*v) + if err != nil { + return err + } + featp.Activities = &activities + } + } + } + + return nil +} + +// FormatReadSettings format read settings. +type FormatReadSettings struct { // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` - // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). - SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` - // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). - SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` - // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). - MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' - Type TypeBasicCopySource `json:"type,omitempty"` + // Type - The read setting type. + Type *string `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for GreenplumSource. -func (gs GreenplumSource) MarshalJSON() ([]byte, error) { - gs.Type = TypeGreenplumSource +// MarshalJSON is the custom marshaler for FormatReadSettings. +func (frs FormatReadSettings) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) - if gs.Query != nil { - objectMap["query"] = gs.Query - } - if gs.SourceRetryCount != nil { - objectMap["sourceRetryCount"] = gs.SourceRetryCount - } - if gs.SourceRetryWait != nil { - objectMap["sourceRetryWait"] = gs.SourceRetryWait - } - if gs.MaxConcurrentConnections != nil { - objectMap["maxConcurrentConnections"] = gs.MaxConcurrentConnections - } - if gs.Type != "" { - objectMap["type"] = gs.Type + if frs.Type != nil { + objectMap["type"] = frs.Type } - for k, v := range gs.AdditionalProperties { + for k, v := range frs.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsAmazonRedshiftSource is the BasicCopySource implementation for GreenplumSource. -func (gs GreenplumSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { - return nil, false -} - -// AsGoogleAdWordsSource is the BasicCopySource implementation for GreenplumSource. -func (gs GreenplumSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { - return nil, false -} +// UnmarshalJSON is the custom unmarshaler for FormatReadSettings struct. +func (frs *FormatReadSettings) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if frs.AdditionalProperties == nil { + frs.AdditionalProperties = make(map[string]interface{}) + } + frs.AdditionalProperties[k] = additionalProperties + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + frs.Type = &typeVar + } + } + } -// AsOracleServiceCloudSource is the BasicCopySource implementation for GreenplumSource. -func (gs GreenplumSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { - return nil, false + return nil } -// AsDynamicsAXSource is the BasicCopySource implementation for GreenplumSource. -func (gs GreenplumSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { - return nil, false +// FormatWriteSettings format write settings. +type FormatWriteSettings struct { + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Type - The write setting type. + Type *string `json:"type,omitempty"` } -// AsResponsysSource is the BasicCopySource implementation for GreenplumSource. -func (gs GreenplumSource) AsResponsysSource() (*ResponsysSource, bool) { - return nil, false +// MarshalJSON is the custom marshaler for FormatWriteSettings. +func (fws FormatWriteSettings) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if fws.Type != nil { + objectMap["type"] = fws.Type + } + for k, v := range fws.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) } -// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for GreenplumSource. -func (gs GreenplumSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { - return nil, false -} +// UnmarshalJSON is the custom unmarshaler for FormatWriteSettings struct. +func (fws *FormatWriteSettings) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if fws.AdditionalProperties == nil { + fws.AdditionalProperties = make(map[string]interface{}) + } + fws.AdditionalProperties[k] = additionalProperties + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + fws.Type = &typeVar + } + } + } -// AsVerticaSource is the BasicCopySource implementation for GreenplumSource. -func (gs GreenplumSource) AsVerticaSource() (*VerticaSource, bool) { - return nil, false + return nil } -// AsNetezzaSource is the BasicCopySource implementation for GreenplumSource. -func (gs GreenplumSource) AsNetezzaSource() (*NetezzaSource, bool) { - return nil, false -} - -// AsZohoSource is the BasicCopySource implementation for GreenplumSource. -func (gs GreenplumSource) AsZohoSource() (*ZohoSource, bool) { - return nil, false -} - -// AsXeroSource is the BasicCopySource implementation for GreenplumSource. -func (gs GreenplumSource) AsXeroSource() (*XeroSource, bool) { - return nil, false -} - -// AsSquareSource is the BasicCopySource implementation for GreenplumSource. -func (gs GreenplumSource) AsSquareSource() (*SquareSource, bool) { - return nil, false -} - -// AsSparkSource is the BasicCopySource implementation for GreenplumSource. -func (gs GreenplumSource) AsSparkSource() (*SparkSource, bool) { - return nil, false -} - -// AsShopifySource is the BasicCopySource implementation for GreenplumSource. -func (gs GreenplumSource) AsShopifySource() (*ShopifySource, bool) { - return nil, false -} - -// AsServiceNowSource is the BasicCopySource implementation for GreenplumSource. -func (gs GreenplumSource) AsServiceNowSource() (*ServiceNowSource, bool) { - return nil, false -} - -// AsQuickBooksSource is the BasicCopySource implementation for GreenplumSource. -func (gs GreenplumSource) AsQuickBooksSource() (*QuickBooksSource, bool) { - return nil, false -} - -// AsPrestoSource is the BasicCopySource implementation for GreenplumSource. -func (gs GreenplumSource) AsPrestoSource() (*PrestoSource, bool) { - return nil, false -} - -// AsPhoenixSource is the BasicCopySource implementation for GreenplumSource. -func (gs GreenplumSource) AsPhoenixSource() (*PhoenixSource, bool) { - return nil, false -} - -// AsPaypalSource is the BasicCopySource implementation for GreenplumSource. -func (gs GreenplumSource) AsPaypalSource() (*PaypalSource, bool) { - return nil, false -} - -// AsMarketoSource is the BasicCopySource implementation for GreenplumSource. -func (gs GreenplumSource) AsMarketoSource() (*MarketoSource, bool) { - return nil, false -} - -// AsAzureMariaDBSource is the BasicCopySource implementation for GreenplumSource. -func (gs GreenplumSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { - return nil, false -} - -// AsMariaDBSource is the BasicCopySource implementation for GreenplumSource. -func (gs GreenplumSource) AsMariaDBSource() (*MariaDBSource, bool) { - return nil, false -} - -// AsMagentoSource is the BasicCopySource implementation for GreenplumSource. -func (gs GreenplumSource) AsMagentoSource() (*MagentoSource, bool) { - return nil, false -} - -// AsJiraSource is the BasicCopySource implementation for GreenplumSource. -func (gs GreenplumSource) AsJiraSource() (*JiraSource, bool) { - return nil, false -} - -// AsImpalaSource is the BasicCopySource implementation for GreenplumSource. -func (gs GreenplumSource) AsImpalaSource() (*ImpalaSource, bool) { - return nil, false -} - -// AsHubspotSource is the BasicCopySource implementation for GreenplumSource. -func (gs GreenplumSource) AsHubspotSource() (*HubspotSource, bool) { - return nil, false -} - -// AsHiveSource is the BasicCopySource implementation for GreenplumSource. -func (gs GreenplumSource) AsHiveSource() (*HiveSource, bool) { - return nil, false -} - -// AsHBaseSource is the BasicCopySource implementation for GreenplumSource. -func (gs GreenplumSource) AsHBaseSource() (*HBaseSource, bool) { - return nil, false -} - -// AsGreenplumSource is the BasicCopySource implementation for GreenplumSource. -func (gs GreenplumSource) AsGreenplumSource() (*GreenplumSource, bool) { - return &gs, true -} - -// AsGoogleBigQuerySource is the BasicCopySource implementation for GreenplumSource. -func (gs GreenplumSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { - return nil, false -} - -// AsEloquaSource is the BasicCopySource implementation for GreenplumSource. -func (gs GreenplumSource) AsEloquaSource() (*EloquaSource, bool) { - return nil, false -} - -// AsDrillSource is the BasicCopySource implementation for GreenplumSource. -func (gs GreenplumSource) AsDrillSource() (*DrillSource, bool) { - return nil, false -} - -// AsCouchbaseSource is the BasicCopySource implementation for GreenplumSource. -func (gs GreenplumSource) AsCouchbaseSource() (*CouchbaseSource, bool) { - return nil, false -} - -// AsConcurSource is the BasicCopySource implementation for GreenplumSource. -func (gs GreenplumSource) AsConcurSource() (*ConcurSource, bool) { - return nil, false -} - -// AsAzurePostgreSQLSource is the BasicCopySource implementation for GreenplumSource. -func (gs GreenplumSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { - return nil, false -} - -// AsAmazonMWSSource is the BasicCopySource implementation for GreenplumSource. -func (gs GreenplumSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { - return nil, false -} - -// AsHTTPSource is the BasicCopySource implementation for GreenplumSource. -func (gs GreenplumSource) AsHTTPSource() (*HTTPSource, bool) { - return nil, false -} - -// AsAzureBlobFSSource is the BasicCopySource implementation for GreenplumSource. -func (gs GreenplumSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { - return nil, false -} - -// AsAzureDataLakeStoreSource is the BasicCopySource implementation for GreenplumSource. -func (gs GreenplumSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { - return nil, false -} - -// AsOffice365Source is the BasicCopySource implementation for GreenplumSource. -func (gs GreenplumSource) AsOffice365Source() (*Office365Source, bool) { - return nil, false -} - -// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for GreenplumSource. -func (gs GreenplumSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { - return nil, false -} - -// AsMongoDbV2Source is the BasicCopySource implementation for GreenplumSource. -func (gs GreenplumSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { - return nil, false -} - -// AsMongoDbSource is the BasicCopySource implementation for GreenplumSource. -func (gs GreenplumSource) AsMongoDbSource() (*MongoDbSource, bool) { - return nil, false -} - -// AsCassandraSource is the BasicCopySource implementation for GreenplumSource. -func (gs GreenplumSource) AsCassandraSource() (*CassandraSource, bool) { - return nil, false -} - -// AsWebSource is the BasicCopySource implementation for GreenplumSource. -func (gs GreenplumSource) AsWebSource() (*WebSource, bool) { - return nil, false -} - -// AsTeradataSource is the BasicCopySource implementation for GreenplumSource. -func (gs GreenplumSource) AsTeradataSource() (*TeradataSource, bool) { - return nil, false -} - -// AsOracleSource is the BasicCopySource implementation for GreenplumSource. -func (gs GreenplumSource) AsOracleSource() (*OracleSource, bool) { - return nil, false -} - -// AsAzureDataExplorerSource is the BasicCopySource implementation for GreenplumSource. -func (gs GreenplumSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { - return nil, false -} - -// AsAzureMySQLSource is the BasicCopySource implementation for GreenplumSource. -func (gs GreenplumSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { - return nil, false -} - -// AsHdfsSource is the BasicCopySource implementation for GreenplumSource. -func (gs GreenplumSource) AsHdfsSource() (*HdfsSource, bool) { - return nil, false -} - -// AsFileSystemSource is the BasicCopySource implementation for GreenplumSource. -func (gs GreenplumSource) AsFileSystemSource() (*FileSystemSource, bool) { - return nil, false -} - -// AsSQLDWSource is the BasicCopySource implementation for GreenplumSource. -func (gs GreenplumSource) AsSQLDWSource() (*SQLDWSource, bool) { - return nil, false -} - -// AsSQLMISource is the BasicCopySource implementation for GreenplumSource. -func (gs GreenplumSource) AsSQLMISource() (*SQLMISource, bool) { - return nil, false -} - -// AsAzureSQLSource is the BasicCopySource implementation for GreenplumSource. -func (gs GreenplumSource) AsAzureSQLSource() (*AzureSQLSource, bool) { - return nil, false -} - -// AsSQLServerSource is the BasicCopySource implementation for GreenplumSource. -func (gs GreenplumSource) AsSQLServerSource() (*SQLServerSource, bool) { - return nil, false -} - -// AsSQLSource is the BasicCopySource implementation for GreenplumSource. -func (gs GreenplumSource) AsSQLSource() (*SQLSource, bool) { - return nil, false -} - -// AsRestSource is the BasicCopySource implementation for GreenplumSource. -func (gs GreenplumSource) AsRestSource() (*RestSource, bool) { - return nil, false -} - -// AsSapTableSource is the BasicCopySource implementation for GreenplumSource. -func (gs GreenplumSource) AsSapTableSource() (*SapTableSource, bool) { - return nil, false -} - -// AsSapOpenHubSource is the BasicCopySource implementation for GreenplumSource. -func (gs GreenplumSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { - return nil, false -} - -// AsSapHanaSource is the BasicCopySource implementation for GreenplumSource. -func (gs GreenplumSource) AsSapHanaSource() (*SapHanaSource, bool) { - return nil, false -} - -// AsSapEccSource is the BasicCopySource implementation for GreenplumSource. -func (gs GreenplumSource) AsSapEccSource() (*SapEccSource, bool) { - return nil, false -} - -// AsSapCloudForCustomerSource is the BasicCopySource implementation for GreenplumSource. -func (gs GreenplumSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { - return nil, false -} - -// AsSalesforceServiceCloudSource is the BasicCopySource implementation for GreenplumSource. -func (gs GreenplumSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { - return nil, false -} - -// AsSalesforceSource is the BasicCopySource implementation for GreenplumSource. -func (gs GreenplumSource) AsSalesforceSource() (*SalesforceSource, bool) { - return nil, false -} - -// AsODataSource is the BasicCopySource implementation for GreenplumSource. -func (gs GreenplumSource) AsODataSource() (*ODataSource, bool) { - return nil, false -} - -// AsSapBwSource is the BasicCopySource implementation for GreenplumSource. -func (gs GreenplumSource) AsSapBwSource() (*SapBwSource, bool) { - return nil, false -} - -// AsSybaseSource is the BasicCopySource implementation for GreenplumSource. -func (gs GreenplumSource) AsSybaseSource() (*SybaseSource, bool) { - return nil, false -} - -// AsPostgreSQLSource is the BasicCopySource implementation for GreenplumSource. -func (gs GreenplumSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { - return nil, false -} - -// AsMySQLSource is the BasicCopySource implementation for GreenplumSource. -func (gs GreenplumSource) AsMySQLSource() (*MySQLSource, bool) { - return nil, false -} - -// AsOdbcSource is the BasicCopySource implementation for GreenplumSource. -func (gs GreenplumSource) AsOdbcSource() (*OdbcSource, bool) { - return nil, false -} - -// AsDb2Source is the BasicCopySource implementation for GreenplumSource. -func (gs GreenplumSource) AsDb2Source() (*Db2Source, bool) { - return nil, false -} - -// AsMicrosoftAccessSource is the BasicCopySource implementation for GreenplumSource. -func (gs GreenplumSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { - return nil, false -} - -// AsInformixSource is the BasicCopySource implementation for GreenplumSource. -func (gs GreenplumSource) AsInformixSource() (*InformixSource, bool) { - return nil, false -} - -// AsRelationalSource is the BasicCopySource implementation for GreenplumSource. -func (gs GreenplumSource) AsRelationalSource() (*RelationalSource, bool) { - return nil, false -} - -// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for GreenplumSource. -func (gs GreenplumSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { - return nil, false -} - -// AsDynamicsCrmSource is the BasicCopySource implementation for GreenplumSource. -func (gs GreenplumSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { - return nil, false -} - -// AsDynamicsSource is the BasicCopySource implementation for GreenplumSource. -func (gs GreenplumSource) AsDynamicsSource() (*DynamicsSource, bool) { - return nil, false -} - -// AsDocumentDbCollectionSource is the BasicCopySource implementation for GreenplumSource. -func (gs GreenplumSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { - return nil, false -} - -// AsBlobSource is the BasicCopySource implementation for GreenplumSource. -func (gs GreenplumSource) AsBlobSource() (*BlobSource, bool) { - return nil, false -} - -// AsAzureTableSource is the BasicCopySource implementation for GreenplumSource. -func (gs GreenplumSource) AsAzureTableSource() (*AzureTableSource, bool) { - return nil, false -} - -// AsBinarySource is the BasicCopySource implementation for GreenplumSource. -func (gs GreenplumSource) AsBinarySource() (*BinarySource, bool) { - return nil, false -} - -// AsDelimitedTextSource is the BasicCopySource implementation for GreenplumSource. -func (gs GreenplumSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { - return nil, false -} - -// AsParquetSource is the BasicCopySource implementation for GreenplumSource. -func (gs GreenplumSource) AsParquetSource() (*ParquetSource, bool) { - return nil, false -} - -// AsAvroSource is the BasicCopySource implementation for GreenplumSource. -func (gs GreenplumSource) AsAvroSource() (*AvroSource, bool) { - return nil, false -} - -// AsCopySource is the BasicCopySource implementation for GreenplumSource. -func (gs GreenplumSource) AsCopySource() (*CopySource, bool) { - return nil, false +// FtpReadSettings ftp read settings. +type FtpReadSettings struct { + // Recursive - If true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean). + Recursive interface{} `json:"recursive,omitempty"` + // WildcardFolderPath - Ftp wildcardFolderPath. Type: string (or Expression with resultType string). + WildcardFolderPath interface{} `json:"wildcardFolderPath,omitempty"` + // WildcardFileName - Ftp wildcardFileName. Type: string (or Expression with resultType string). + WildcardFileName interface{} `json:"wildcardFileName,omitempty"` + // UseBinaryTransfer - Specify whether to use binary transfer mode for FTP stores. + UseBinaryTransfer *bool `json:"useBinaryTransfer,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Type - The read setting type. + Type *string `json:"type,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` } -// AsBasicCopySource is the BasicCopySource implementation for GreenplumSource. -func (gs GreenplumSource) AsBasicCopySource() (BasicCopySource, bool) { - return &gs, true +// MarshalJSON is the custom marshaler for FtpReadSettings. +func (frs FtpReadSettings) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if frs.Recursive != nil { + objectMap["recursive"] = frs.Recursive + } + if frs.WildcardFolderPath != nil { + objectMap["wildcardFolderPath"] = frs.WildcardFolderPath + } + if frs.WildcardFileName != nil { + objectMap["wildcardFileName"] = frs.WildcardFileName + } + if frs.UseBinaryTransfer != nil { + objectMap["useBinaryTransfer"] = frs.UseBinaryTransfer + } + if frs.Type != nil { + objectMap["type"] = frs.Type + } + if frs.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = frs.MaxConcurrentConnections + } + for k, v := range frs.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) } -// UnmarshalJSON is the custom unmarshaler for GreenplumSource struct. -func (gs *GreenplumSource) UnmarshalJSON(body []byte) error { +// UnmarshalJSON is the custom unmarshaler for FtpReadSettings struct. +func (frs *FtpReadSettings) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -85292,62 +89778,71 @@ func (gs *GreenplumSource) UnmarshalJSON(body []byte) error { } for k, v := range m { switch k { - case "query": + case "recursive": if v != nil { - var query interface{} - err = json.Unmarshal(*v, &query) + var recursive interface{} + err = json.Unmarshal(*v, &recursive) if err != nil { return err } - gs.Query = query + frs.Recursive = recursive } - default: + case "wildcardFolderPath": if v != nil { - var additionalProperties interface{} - err = json.Unmarshal(*v, &additionalProperties) + var wildcardFolderPath interface{} + err = json.Unmarshal(*v, &wildcardFolderPath) if err != nil { return err } - if gs.AdditionalProperties == nil { - gs.AdditionalProperties = make(map[string]interface{}) - } - gs.AdditionalProperties[k] = additionalProperties + frs.WildcardFolderPath = wildcardFolderPath } - case "sourceRetryCount": + case "wildcardFileName": if v != nil { - var sourceRetryCount interface{} - err = json.Unmarshal(*v, &sourceRetryCount) + var wildcardFileName interface{} + err = json.Unmarshal(*v, &wildcardFileName) if err != nil { return err } - gs.SourceRetryCount = sourceRetryCount + frs.WildcardFileName = wildcardFileName } - case "sourceRetryWait": + case "useBinaryTransfer": if v != nil { - var sourceRetryWait interface{} - err = json.Unmarshal(*v, &sourceRetryWait) + var useBinaryTransfer bool + err = json.Unmarshal(*v, &useBinaryTransfer) if err != nil { return err } - gs.SourceRetryWait = sourceRetryWait + frs.UseBinaryTransfer = &useBinaryTransfer } - case "maxConcurrentConnections": + default: if v != nil { - var maxConcurrentConnections interface{} - err = json.Unmarshal(*v, &maxConcurrentConnections) + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) if err != nil { return err } - gs.MaxConcurrentConnections = maxConcurrentConnections + if frs.AdditionalProperties == nil { + frs.AdditionalProperties = make(map[string]interface{}) + } + frs.AdditionalProperties[k] = additionalProperties } case "type": if v != nil { - var typeVar TypeBasicCopySource + var typeVar string err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - gs.Type = typeVar + frs.Type = &typeVar + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + frs.MaxConcurrentConnections = maxConcurrentConnections } } } @@ -85355,489 +89850,534 @@ func (gs *GreenplumSource) UnmarshalJSON(body []byte) error { return nil } -// GreenplumTableDataset greenplum Database dataset. -type GreenplumTableDataset struct { - // GreenplumDatasetTypeProperties - Properties specific to this dataset type. - *GreenplumDatasetTypeProperties `json:"typeProperties,omitempty"` +// FtpServerLinkedService a FTP server Linked Service. +type FtpServerLinkedService struct { + // FtpServerLinkedServiceTypeProperties - Properties specific to this linked service type. + *FtpServerLinkedServiceTypeProperties `json:"typeProperties,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` - // Description - Dataset description. + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. Description *string `json:"description,omitempty"` - // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. - Structure interface{} `json:"structure,omitempty"` - // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. - Schema interface{} `json:"schema,omitempty"` - // LinkedServiceName - Linked service reference. - LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` - // Parameters - Parameters for dataset. + // Parameters - Parameters for linked service. Parameters map[string]*ParameterSpecification `json:"parameters"` - // Annotations - List of tags that can be used for describing the Dataset. + // Annotations - List of tags that can be used for describing the linked service. Annotations *[]interface{} `json:"annotations,omitempty"` - // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. - Folder *DatasetFolder `json:"folder,omitempty"` - // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' - Type TypeBasicDataset `json:"type,omitempty"` + // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' + Type TypeBasicLinkedService `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for GreenplumTableDataset. -func (gtd GreenplumTableDataset) MarshalJSON() ([]byte, error) { - gtd.Type = TypeGreenplumTable +// MarshalJSON is the custom marshaler for FtpServerLinkedService. +func (fsls FtpServerLinkedService) MarshalJSON() ([]byte, error) { + fsls.Type = TypeFtpServer objectMap := make(map[string]interface{}) - if gtd.GreenplumDatasetTypeProperties != nil { - objectMap["typeProperties"] = gtd.GreenplumDatasetTypeProperties - } - if gtd.Description != nil { - objectMap["description"] = gtd.Description - } - if gtd.Structure != nil { - objectMap["structure"] = gtd.Structure - } - if gtd.Schema != nil { - objectMap["schema"] = gtd.Schema + if fsls.FtpServerLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = fsls.FtpServerLinkedServiceTypeProperties } - if gtd.LinkedServiceName != nil { - objectMap["linkedServiceName"] = gtd.LinkedServiceName + if fsls.ConnectVia != nil { + objectMap["connectVia"] = fsls.ConnectVia } - if gtd.Parameters != nil { - objectMap["parameters"] = gtd.Parameters + if fsls.Description != nil { + objectMap["description"] = fsls.Description } - if gtd.Annotations != nil { - objectMap["annotations"] = gtd.Annotations + if fsls.Parameters != nil { + objectMap["parameters"] = fsls.Parameters } - if gtd.Folder != nil { - objectMap["folder"] = gtd.Folder + if fsls.Annotations != nil { + objectMap["annotations"] = fsls.Annotations } - if gtd.Type != "" { - objectMap["type"] = gtd.Type + if fsls.Type != "" { + objectMap["type"] = fsls.Type } - for k, v := range gtd.AdditionalProperties { + for k, v := range fsls.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for GreenplumTableDataset. -func (gtd GreenplumTableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { return nil, false } -// AsAzureDataExplorerTableDataset is the BasicDataset implementation for GreenplumTableDataset. -func (gtd GreenplumTableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { return nil, false } -// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for GreenplumTableDataset. -func (gtd GreenplumTableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { +// AsSapTableLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { return nil, false } -// AsDynamicsAXResourceDataset is the BasicDataset implementation for GreenplumTableDataset. -func (gtd GreenplumTableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { return nil, false } -// AsResponsysObjectDataset is the BasicDataset implementation for GreenplumTableDataset. -func (gtd GreenplumTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { return nil, false } -// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for GreenplumTableDataset. -func (gtd GreenplumTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { return nil, false } -// AsVerticaTableDataset is the BasicDataset implementation for GreenplumTableDataset. -func (gtd GreenplumTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { +// AsResponsysLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { return nil, false } -// AsNetezzaTableDataset is the BasicDataset implementation for GreenplumTableDataset. -func (gtd GreenplumTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { return nil, false } -// AsZohoObjectDataset is the BasicDataset implementation for GreenplumTableDataset. -func (gtd GreenplumTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { return nil, false } -// AsXeroObjectDataset is the BasicDataset implementation for GreenplumTableDataset. -func (gtd GreenplumTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { return nil, false } -// AsSquareObjectDataset is the BasicDataset implementation for GreenplumTableDataset. -func (gtd GreenplumTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { return nil, false } -// AsSparkObjectDataset is the BasicDataset implementation for GreenplumTableDataset. -func (gtd GreenplumTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { +// AsNetezzaLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { return nil, false } -// AsShopifyObjectDataset is the BasicDataset implementation for GreenplumTableDataset. -func (gtd GreenplumTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { +// AsVerticaLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { return nil, false } -// AsServiceNowObjectDataset is the BasicDataset implementation for GreenplumTableDataset. -func (gtd GreenplumTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { +// AsZohoLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { return nil, false } -// AsQuickBooksObjectDataset is the BasicDataset implementation for GreenplumTableDataset. -func (gtd GreenplumTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { +// AsXeroLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { return nil, false } -// AsPrestoObjectDataset is the BasicDataset implementation for GreenplumTableDataset. -func (gtd GreenplumTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { +// AsSquareLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { return nil, false } -// AsPhoenixObjectDataset is the BasicDataset implementation for GreenplumTableDataset. -func (gtd GreenplumTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { +// AsSparkLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { return nil, false } -// AsPaypalObjectDataset is the BasicDataset implementation for GreenplumTableDataset. -func (gtd GreenplumTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { +// AsShopifyLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { return nil, false } -// AsMarketoObjectDataset is the BasicDataset implementation for GreenplumTableDataset. -func (gtd GreenplumTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { +// AsServiceNowLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { return nil, false } -// AsAzureMariaDBTableDataset is the BasicDataset implementation for GreenplumTableDataset. -func (gtd GreenplumTableDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { +// AsQuickBooksLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { return nil, false } -// AsMariaDBTableDataset is the BasicDataset implementation for GreenplumTableDataset. -func (gtd GreenplumTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { +// AsPrestoLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { return nil, false } -// AsMagentoObjectDataset is the BasicDataset implementation for GreenplumTableDataset. -func (gtd GreenplumTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { +// AsPhoenixLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { return nil, false } -// AsJiraObjectDataset is the BasicDataset implementation for GreenplumTableDataset. -func (gtd GreenplumTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { +// AsPaypalLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { return nil, false } -// AsImpalaObjectDataset is the BasicDataset implementation for GreenplumTableDataset. -func (gtd GreenplumTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { +// AsMarketoLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { return nil, false } -// AsHubspotObjectDataset is the BasicDataset implementation for GreenplumTableDataset. -func (gtd GreenplumTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { return nil, false } -// AsHiveObjectDataset is the BasicDataset implementation for GreenplumTableDataset. -func (gtd GreenplumTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { +// AsMariaDBLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { return nil, false } -// AsHBaseObjectDataset is the BasicDataset implementation for GreenplumTableDataset. -func (gtd GreenplumTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { +// AsMagentoLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { return nil, false } -// AsGreenplumTableDataset is the BasicDataset implementation for GreenplumTableDataset. -func (gtd GreenplumTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { - return >d, true +// AsJiraLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return nil, false } -// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for GreenplumTableDataset. -func (gtd GreenplumTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { +// AsImpalaLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { return nil, false } -// AsEloquaObjectDataset is the BasicDataset implementation for GreenplumTableDataset. -func (gtd GreenplumTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { +// AsHubspotLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { return nil, false } -// AsDrillTableDataset is the BasicDataset implementation for GreenplumTableDataset. -func (gtd GreenplumTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { +// AsHiveLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { return nil, false } -// AsCouchbaseTableDataset is the BasicDataset implementation for GreenplumTableDataset. -func (gtd GreenplumTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { +// AsHBaseLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { return nil, false } -// AsConcurObjectDataset is the BasicDataset implementation for GreenplumTableDataset. -func (gtd GreenplumTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { +// AsGreenplumLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { return nil, false } -// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for GreenplumTableDataset. -func (gtd GreenplumTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { return nil, false } -// AsAmazonMWSObjectDataset is the BasicDataset implementation for GreenplumTableDataset. -func (gtd GreenplumTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { +// AsEloquaLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { return nil, false } -// AsHTTPDataset is the BasicDataset implementation for GreenplumTableDataset. -func (gtd GreenplumTableDataset) AsHTTPDataset() (*HTTPDataset, bool) { +// AsDrillLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { return nil, false } -// AsAzureSearchIndexDataset is the BasicDataset implementation for GreenplumTableDataset. -func (gtd GreenplumTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { +// AsCouchbaseLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { return nil, false } -// AsWebTableDataset is the BasicDataset implementation for GreenplumTableDataset. -func (gtd GreenplumTableDataset) AsWebTableDataset() (*WebTableDataset, bool) { +// AsConcurLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { return nil, false } -// AsSapTableResourceDataset is the BasicDataset implementation for GreenplumTableDataset. -func (gtd GreenplumTableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { return nil, false } -// AsRestResourceDataset is the BasicDataset implementation for GreenplumTableDataset. -func (gtd GreenplumTableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { return nil, false } -// AsSQLServerTableDataset is the BasicDataset implementation for GreenplumTableDataset. -func (gtd GreenplumTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { +// AsSapHanaLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { return nil, false } -// AsSapOpenHubTableDataset is the BasicDataset implementation for GreenplumTableDataset. -func (gtd GreenplumTableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { +// AsSapBWLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { return nil, false } -// AsSapHanaTableDataset is the BasicDataset implementation for GreenplumTableDataset. -func (gtd GreenplumTableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { +// AsSftpServerLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { return nil, false } -// AsSapEccResourceDataset is the BasicDataset implementation for GreenplumTableDataset. -func (gtd GreenplumTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { +// AsFtpServerLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return &fsls, true +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { return nil, false } -// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for GreenplumTableDataset. -func (gtd GreenplumTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { +// AsAzureSearchLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { return nil, false } -// AsSapBwCubeDataset is the BasicDataset implementation for GreenplumTableDataset. -func (gtd GreenplumTableDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { return nil, false } -// AsSybaseTableDataset is the BasicDataset implementation for GreenplumTableDataset. -func (gtd GreenplumTableDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { return nil, false } -// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for GreenplumTableDataset. -func (gtd GreenplumTableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { +// AsAmazonS3LinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { return nil, false } -// AsSalesforceObjectDataset is the BasicDataset implementation for GreenplumTableDataset. -func (gtd GreenplumTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { +// AsRestServiceLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { return nil, false } -// AsMicrosoftAccessTableDataset is the BasicDataset implementation for GreenplumTableDataset. -func (gtd GreenplumTableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { return nil, false } -// AsPostgreSQLTableDataset is the BasicDataset implementation for GreenplumTableDataset. -func (gtd GreenplumTableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { +// AsSapEccLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { return nil, false } -// AsMySQLTableDataset is the BasicDataset implementation for GreenplumTableDataset. -func (gtd GreenplumTableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { return nil, false } -// AsOdbcTableDataset is the BasicDataset implementation for GreenplumTableDataset. -func (gtd GreenplumTableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { return nil, false } -// AsInformixTableDataset is the BasicDataset implementation for GreenplumTableDataset. -func (gtd GreenplumTableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { +// AsSalesforceLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { return nil, false } -// AsRelationalTableDataset is the BasicDataset implementation for GreenplumTableDataset. -func (gtd GreenplumTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { +// AsOffice365LinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { return nil, false } -// AsAzureMySQLTableDataset is the BasicDataset implementation for GreenplumTableDataset. -func (gtd GreenplumTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { return nil, false } -// AsTeradataTableDataset is the BasicDataset implementation for GreenplumTableDataset. -func (gtd GreenplumTableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { return nil, false } -// AsOracleTableDataset is the BasicDataset implementation for GreenplumTableDataset. -func (gtd GreenplumTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { return nil, false } -// AsODataResourceDataset is the BasicDataset implementation for GreenplumTableDataset. -func (gtd GreenplumTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { return nil, false } -// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for GreenplumTableDataset. -func (gtd GreenplumTableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { +// AsMongoDbLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { return nil, false } -// AsMongoDbV2CollectionDataset is the BasicDataset implementation for GreenplumTableDataset. -func (gtd GreenplumTableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { +// AsCassandraLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { return nil, false } -// AsMongoDbCollectionDataset is the BasicDataset implementation for GreenplumTableDataset. -func (gtd GreenplumTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { +// AsWebLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { return nil, false } -// AsFileShareDataset is the BasicDataset implementation for GreenplumTableDataset. -func (gtd GreenplumTableDataset) AsFileShareDataset() (*FileShareDataset, bool) { +// AsODataLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { return nil, false } -// AsOffice365Dataset is the BasicDataset implementation for GreenplumTableDataset. -func (gtd GreenplumTableDataset) AsOffice365Dataset() (*Office365Dataset, bool) { +// AsHdfsLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { return nil, false } -// AsAzureBlobFSDataset is the BasicDataset implementation for GreenplumTableDataset. -func (gtd GreenplumTableDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) { +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { return nil, false } -// AsAzureDataLakeStoreDataset is the BasicDataset implementation for GreenplumTableDataset. -func (gtd GreenplumTableDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) { +// AsInformixLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { return nil, false } -// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for GreenplumTableDataset. -func (gtd GreenplumTableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { +// AsOdbcLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { return nil, false } -// AsDynamicsCrmEntityDataset is the BasicDataset implementation for GreenplumTableDataset. -func (gtd GreenplumTableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { return nil, false } -// AsDynamicsEntityDataset is the BasicDataset implementation for GreenplumTableDataset. -func (gtd GreenplumTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { +// AsAzureMLLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { return nil, false } -// AsDocumentDbCollectionDataset is the BasicDataset implementation for GreenplumTableDataset. -func (gtd GreenplumTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { +// AsTeradataLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { return nil, false } -// AsCustomDataset is the BasicDataset implementation for GreenplumTableDataset. -func (gtd GreenplumTableDataset) AsCustomDataset() (*CustomDataset, bool) { +// AsDb2LinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { return nil, false } -// AsCassandraTableDataset is the BasicDataset implementation for GreenplumTableDataset. -func (gtd GreenplumTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { +// AsSybaseLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { return nil, false } -// AsAzureSQLDWTableDataset is the BasicDataset implementation for GreenplumTableDataset. -func (gtd GreenplumTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { return nil, false } -// AsAzureSQLMITableDataset is the BasicDataset implementation for GreenplumTableDataset. -func (gtd GreenplumTableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { +// AsMySQLLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { return nil, false } -// AsAzureSQLTableDataset is the BasicDataset implementation for GreenplumTableDataset. -func (gtd GreenplumTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { return nil, false } -// AsAzureTableDataset is the BasicDataset implementation for GreenplumTableDataset. -func (gtd GreenplumTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { +// AsOracleLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { return nil, false } -// AsAzureBlobDataset is the BasicDataset implementation for GreenplumTableDataset. -func (gtd GreenplumTableDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) { +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { return nil, false } -// AsBinaryDataset is the BasicDataset implementation for GreenplumTableDataset. -func (gtd GreenplumTableDataset) AsBinaryDataset() (*BinaryDataset, bool) { +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { return nil, false } -// AsDelimitedTextDataset is the BasicDataset implementation for GreenplumTableDataset. -func (gtd GreenplumTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { +// AsFileServerLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { return nil, false } -// AsParquetDataset is the BasicDataset implementation for GreenplumTableDataset. -func (gtd GreenplumTableDataset) AsParquetDataset() (*ParquetDataset, bool) { +// AsHDInsightLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { return nil, false } -// AsAvroDataset is the BasicDataset implementation for GreenplumTableDataset. -func (gtd GreenplumTableDataset) AsAvroDataset() (*AvroDataset, bool) { +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { return nil, false } -// AsAmazonS3Dataset is the BasicDataset implementation for GreenplumTableDataset. -func (gtd GreenplumTableDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) { +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { return nil, false } -// AsDataset is the BasicDataset implementation for GreenplumTableDataset. -func (gtd GreenplumTableDataset) AsDataset() (*Dataset, bool) { +// AsDynamicsLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { return nil, false } -// AsBasicDataset is the BasicDataset implementation for GreenplumTableDataset. -func (gtd GreenplumTableDataset) AsBasicDataset() (BasicDataset, bool) { - return >d, true +// AsCosmosDbLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false } -// UnmarshalJSON is the custom unmarshaler for GreenplumTableDataset struct. -func (gtd *GreenplumTableDataset) UnmarshalJSON(body []byte) error { +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for FtpServerLinkedService. +func (fsls FtpServerLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &fsls, true +} + +// UnmarshalJSON is the custom unmarshaler for FtpServerLinkedService struct. +func (fsls *FtpServerLinkedService) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -85847,12 +90387,12 @@ func (gtd *GreenplumTableDataset) UnmarshalJSON(body []byte) error { switch k { case "typeProperties": if v != nil { - var greenplumDatasetTypeProperties GreenplumDatasetTypeProperties - err = json.Unmarshal(*v, &greenplumDatasetTypeProperties) + var ftpServerLinkedServiceTypeProperties FtpServerLinkedServiceTypeProperties + err = json.Unmarshal(*v, &ftpServerLinkedServiceTypeProperties) if err != nil { return err } - gtd.GreenplumDatasetTypeProperties = &greenplumDatasetTypeProperties + fsls.FtpServerLinkedServiceTypeProperties = &ftpServerLinkedServiceTypeProperties } default: if v != nil { @@ -85861,46 +90401,28 @@ func (gtd *GreenplumTableDataset) UnmarshalJSON(body []byte) error { if err != nil { return err } - if gtd.AdditionalProperties == nil { - gtd.AdditionalProperties = make(map[string]interface{}) - } - gtd.AdditionalProperties[k] = additionalProperties - } - case "description": - if v != nil { - var description string - err = json.Unmarshal(*v, &description) - if err != nil { - return err - } - gtd.Description = &description - } - case "structure": - if v != nil { - var structure interface{} - err = json.Unmarshal(*v, &structure) - if err != nil { - return err + if fsls.AdditionalProperties == nil { + fsls.AdditionalProperties = make(map[string]interface{}) } - gtd.Structure = structure + fsls.AdditionalProperties[k] = additionalProperties } - case "schema": + case "connectVia": if v != nil { - var schema interface{} - err = json.Unmarshal(*v, &schema) + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) if err != nil { return err } - gtd.Schema = schema + fsls.ConnectVia = &connectVia } - case "linkedServiceName": + case "description": if v != nil { - var linkedServiceName LinkedServiceReference - err = json.Unmarshal(*v, &linkedServiceName) + var description string + err = json.Unmarshal(*v, &description) if err != nil { return err } - gtd.LinkedServiceName = &linkedServiceName + fsls.Description = &description } case "parameters": if v != nil { @@ -85909,7 +90431,7 @@ func (gtd *GreenplumTableDataset) UnmarshalJSON(body []byte) error { if err != nil { return err } - gtd.Parameters = parameters + fsls.Parameters = parameters } case "annotations": if v != nil { @@ -85918,25 +90440,16 @@ func (gtd *GreenplumTableDataset) UnmarshalJSON(body []byte) error { if err != nil { return err } - gtd.Annotations = &annotations - } - case "folder": - if v != nil { - var folder DatasetFolder - err = json.Unmarshal(*v, &folder) - if err != nil { - return err - } - gtd.Folder = &folder + fsls.Annotations = &annotations } case "type": if v != nil { - var typeVar TypeBasicDataset + var typeVar TypeBasicLinkedService err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - gtd.Type = typeVar + fsls.Type = typeVar } } } @@ -85944,721 +90457,1371 @@ func (gtd *GreenplumTableDataset) UnmarshalJSON(body []byte) error { return nil } -// HBaseLinkedService hBase server linked service. -type HBaseLinkedService struct { - // HBaseLinkedServiceTypeProperties - HBase server linked service properties. - *HBaseLinkedServiceTypeProperties `json:"typeProperties,omitempty"` - // AdditionalProperties - Unmatched properties from the message are deserialized this collection - AdditionalProperties map[string]interface{} `json:""` - // ConnectVia - The integration runtime reference. - ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` - // Description - Linked service description. - Description *string `json:"description,omitempty"` - // Parameters - Parameters for linked service. - Parameters map[string]*ParameterSpecification `json:"parameters"` - // Annotations - List of tags that can be used for describing the linked service. - Annotations *[]interface{} `json:"annotations,omitempty"` - // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' - Type TypeBasicLinkedService `json:"type,omitempty"` +// FtpServerLinkedServiceTypeProperties properties specific to this linked service type. +type FtpServerLinkedServiceTypeProperties struct { + // Host - Host name of the FTP server. Type: string (or Expression with resultType string). + Host interface{} `json:"host,omitempty"` + // Port - The TCP port number that the FTP server uses to listen for client connections. Default value is 21. Type: integer (or Expression with resultType integer), minimum: 0. + Port interface{} `json:"port,omitempty"` + // AuthenticationType - The authentication type to be used to connect to the FTP server. Possible values include: 'FtpAuthenticationTypeBasic', 'FtpAuthenticationTypeAnonymous' + AuthenticationType FtpAuthenticationType `json:"authenticationType,omitempty"` + // UserName - Username to logon the FTP server. Type: string (or Expression with resultType string). + UserName interface{} `json:"userName,omitempty"` + // Password - Password to logon the FTP server. + Password BasicSecretBase `json:"password,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` + // EnableSsl - If true, connect to the FTP server over SSL/TLS channel. Default value is true. Type: boolean (or Expression with resultType boolean). + EnableSsl interface{} `json:"enableSsl,omitempty"` + // EnableServerCertificateValidation - If true, validate the FTP server SSL certificate when connect over SSL/TLS channel. Default value is true. Type: boolean (or Expression with resultType boolean). + EnableServerCertificateValidation interface{} `json:"enableServerCertificateValidation,omitempty"` } -// MarshalJSON is the custom marshaler for HBaseLinkedService. -func (hbls HBaseLinkedService) MarshalJSON() ([]byte, error) { - hbls.Type = TypeHBase +// UnmarshalJSON is the custom unmarshaler for FtpServerLinkedServiceTypeProperties struct. +func (fslstp *FtpServerLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "host": + if v != nil { + var host interface{} + err = json.Unmarshal(*v, &host) + if err != nil { + return err + } + fslstp.Host = host + } + case "port": + if v != nil { + var port interface{} + err = json.Unmarshal(*v, &port) + if err != nil { + return err + } + fslstp.Port = port + } + case "authenticationType": + if v != nil { + var authenticationType FtpAuthenticationType + err = json.Unmarshal(*v, &authenticationType) + if err != nil { + return err + } + fslstp.AuthenticationType = authenticationType + } + case "userName": + if v != nil { + var userName interface{} + err = json.Unmarshal(*v, &userName) + if err != nil { + return err + } + fslstp.UserName = userName + } + case "password": + if v != nil { + password, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + fslstp.Password = password + } + case "encryptedCredential": + if v != nil { + var encryptedCredential interface{} + err = json.Unmarshal(*v, &encryptedCredential) + if err != nil { + return err + } + fslstp.EncryptedCredential = encryptedCredential + } + case "enableSsl": + if v != nil { + var enableSsl interface{} + err = json.Unmarshal(*v, &enableSsl) + if err != nil { + return err + } + fslstp.EnableSsl = enableSsl + } + case "enableServerCertificateValidation": + if v != nil { + var enableServerCertificateValidation interface{} + err = json.Unmarshal(*v, &enableServerCertificateValidation) + if err != nil { + return err + } + fslstp.EnableServerCertificateValidation = enableServerCertificateValidation + } + } + } + + return nil +} + +// FtpServerLocation the location of ftp server dataset. +type FtpServerLocation struct { + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Type - Type of dataset storage location. + Type *string `json:"type,omitempty"` + // FolderPath - Specify the folder path of dataset. Type: string (or Expression with resultType string) + FolderPath interface{} `json:"folderPath,omitempty"` + // FileName - Specify the file name of dataset. Type: string (or Expression with resultType string). + FileName interface{} `json:"fileName,omitempty"` +} + +// MarshalJSON is the custom marshaler for FtpServerLocation. +func (fsl FtpServerLocation) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) - if hbls.HBaseLinkedServiceTypeProperties != nil { - objectMap["typeProperties"] = hbls.HBaseLinkedServiceTypeProperties + if fsl.Type != nil { + objectMap["type"] = fsl.Type } - if hbls.ConnectVia != nil { - objectMap["connectVia"] = hbls.ConnectVia + if fsl.FolderPath != nil { + objectMap["folderPath"] = fsl.FolderPath } - if hbls.Description != nil { - objectMap["description"] = hbls.Description + if fsl.FileName != nil { + objectMap["fileName"] = fsl.FileName } - if hbls.Parameters != nil { - objectMap["parameters"] = hbls.Parameters + for k, v := range fsl.AdditionalProperties { + objectMap[k] = v } - if hbls.Annotations != nil { - objectMap["annotations"] = hbls.Annotations + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for FtpServerLocation struct. +func (fsl *FtpServerLocation) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err } - if hbls.Type != "" { - objectMap["type"] = hbls.Type + for k, v := range m { + switch k { + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if fsl.AdditionalProperties == nil { + fsl.AdditionalProperties = make(map[string]interface{}) + } + fsl.AdditionalProperties[k] = additionalProperties + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + fsl.Type = &typeVar + } + case "folderPath": + if v != nil { + var folderPath interface{} + err = json.Unmarshal(*v, &folderPath) + if err != nil { + return err + } + fsl.FolderPath = folderPath + } + case "fileName": + if v != nil { + var fileName interface{} + err = json.Unmarshal(*v, &fileName) + if err != nil { + return err + } + fsl.FileName = fileName + } + } } - for k, v := range hbls.AdditionalProperties { + + return nil +} + +// GenericDatasetTypeProperties properties specific to this dataset type. +type GenericDatasetTypeProperties struct { + // TableName - The table name. Type: string (or Expression with resultType string). + TableName interface{} `json:"tableName,omitempty"` +} + +// GetDataFactoryOperationStatusResponse response body structure for get data factory operation status. +type GetDataFactoryOperationStatusResponse struct { + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Status - Status of the operation. + Status *string `json:"status,omitempty"` +} + +// MarshalJSON is the custom marshaler for GetDataFactoryOperationStatusResponse. +func (gdfosr GetDataFactoryOperationStatusResponse) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if gdfosr.Status != nil { + objectMap["status"] = gdfosr.Status + } + for k, v := range gdfosr.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsAzureFunctionLinkedService is the BasicLinkedService implementation for HBaseLinkedService. -func (hbls HBaseLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { +// UnmarshalJSON is the custom unmarshaler for GetDataFactoryOperationStatusResponse struct. +func (gdfosr *GetDataFactoryOperationStatusResponse) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if gdfosr.AdditionalProperties == nil { + gdfosr.AdditionalProperties = make(map[string]interface{}) + } + gdfosr.AdditionalProperties[k] = additionalProperties + } + case "status": + if v != nil { + var status string + err = json.Unmarshal(*v, &status) + if err != nil { + return err + } + gdfosr.Status = &status + } + } + } + + return nil +} + +// GetMetadataActivity activity to get metadata of dataset +type GetMetadataActivity struct { + // GetMetadataActivityTypeProperties - GetMetadata activity properties. + *GetMetadataActivityTypeProperties `json:"typeProperties,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Policy - Activity policy. + Policy *ActivityPolicy `json:"policy,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Name - Activity name. + Name *string `json:"name,omitempty"` + // Description - Activity description. + Description *string `json:"description,omitempty"` + // DependsOn - Activity depends on condition. + DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"` + // UserProperties - Activity user properties. + UserProperties *[]UserProperty `json:"userProperties,omitempty"` + // Type - Possible values include: 'TypeActivity', 'TypeExecuteDataFlow', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLExecutePipeline', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeSwitch', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer' + Type TypeBasicActivity `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for GetMetadataActivity. +func (gma GetMetadataActivity) MarshalJSON() ([]byte, error) { + gma.Type = TypeGetMetadata + objectMap := make(map[string]interface{}) + if gma.GetMetadataActivityTypeProperties != nil { + objectMap["typeProperties"] = gma.GetMetadataActivityTypeProperties + } + if gma.LinkedServiceName != nil { + objectMap["linkedServiceName"] = gma.LinkedServiceName + } + if gma.Policy != nil { + objectMap["policy"] = gma.Policy + } + if gma.Name != nil { + objectMap["name"] = gma.Name + } + if gma.Description != nil { + objectMap["description"] = gma.Description + } + if gma.DependsOn != nil { + objectMap["dependsOn"] = gma.DependsOn + } + if gma.UserProperties != nil { + objectMap["userProperties"] = gma.UserProperties + } + if gma.Type != "" { + objectMap["type"] = gma.Type + } + for k, v := range gma.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsExecuteDataFlowActivity is the BasicActivity implementation for GetMetadataActivity. +func (gma GetMetadataActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) { return nil, false } -// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for HBaseLinkedService. -func (hbls HBaseLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { +// AsAzureFunctionActivity is the BasicActivity implementation for GetMetadataActivity. +func (gma GetMetadataActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) { return nil, false } -// AsSapTableLinkedService is the BasicLinkedService implementation for HBaseLinkedService. -func (hbls HBaseLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { +// AsDatabricksSparkPythonActivity is the BasicActivity implementation for GetMetadataActivity. +func (gma GetMetadataActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) { return nil, false } -// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for HBaseLinkedService. -func (hbls HBaseLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { +// AsDatabricksSparkJarActivity is the BasicActivity implementation for GetMetadataActivity. +func (gma GetMetadataActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) { return nil, false } -// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for HBaseLinkedService. -func (hbls HBaseLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { +// AsDatabricksNotebookActivity is the BasicActivity implementation for GetMetadataActivity. +func (gma GetMetadataActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) { return nil, false } -// AsDynamicsAXLinkedService is the BasicLinkedService implementation for HBaseLinkedService. -func (hbls HBaseLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { +// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for GetMetadataActivity. +func (gma GetMetadataActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) { return nil, false } -// AsResponsysLinkedService is the BasicLinkedService implementation for HBaseLinkedService. -func (hbls HBaseLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { +// AsAzureMLExecutePipelineActivity is the BasicActivity implementation for GetMetadataActivity. +func (gma GetMetadataActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) { return nil, false } -// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for HBaseLinkedService. -func (hbls HBaseLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { +// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for GetMetadataActivity. +func (gma GetMetadataActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) { return nil, false } -// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for HBaseLinkedService. -func (hbls HBaseLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { +// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for GetMetadataActivity. +func (gma GetMetadataActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) { return nil, false } -// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for HBaseLinkedService. -func (hbls HBaseLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { +// AsGetMetadataActivity is the BasicActivity implementation for GetMetadataActivity. +func (gma GetMetadataActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) { + return &gma, true +} + +// AsWebActivity is the BasicActivity implementation for GetMetadataActivity. +func (gma GetMetadataActivity) AsWebActivity() (*WebActivity, bool) { return nil, false } -// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for HBaseLinkedService. -func (hbls HBaseLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { +// AsLookupActivity is the BasicActivity implementation for GetMetadataActivity. +func (gma GetMetadataActivity) AsLookupActivity() (*LookupActivity, bool) { return nil, false } -// AsNetezzaLinkedService is the BasicLinkedService implementation for HBaseLinkedService. -func (hbls HBaseLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { +// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for GetMetadataActivity. +func (gma GetMetadataActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) { return nil, false } -// AsVerticaLinkedService is the BasicLinkedService implementation for HBaseLinkedService. -func (hbls HBaseLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { +// AsDeleteActivity is the BasicActivity implementation for GetMetadataActivity. +func (gma GetMetadataActivity) AsDeleteActivity() (*DeleteActivity, bool) { return nil, false } -// AsZohoLinkedService is the BasicLinkedService implementation for HBaseLinkedService. -func (hbls HBaseLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { +// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for GetMetadataActivity. +func (gma GetMetadataActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) { return nil, false } -// AsXeroLinkedService is the BasicLinkedService implementation for HBaseLinkedService. -func (hbls HBaseLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { +// AsCustomActivity is the BasicActivity implementation for GetMetadataActivity. +func (gma GetMetadataActivity) AsCustomActivity() (*CustomActivity, bool) { return nil, false } -// AsSquareLinkedService is the BasicLinkedService implementation for HBaseLinkedService. -func (hbls HBaseLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { +// AsExecuteSSISPackageActivity is the BasicActivity implementation for GetMetadataActivity. +func (gma GetMetadataActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) { return nil, false } -// AsSparkLinkedService is the BasicLinkedService implementation for HBaseLinkedService. -func (hbls HBaseLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { +// AsHDInsightSparkActivity is the BasicActivity implementation for GetMetadataActivity. +func (gma GetMetadataActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) { return nil, false } -// AsShopifyLinkedService is the BasicLinkedService implementation for HBaseLinkedService. -func (hbls HBaseLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { +// AsHDInsightStreamingActivity is the BasicActivity implementation for GetMetadataActivity. +func (gma GetMetadataActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) { return nil, false } -// AsServiceNowLinkedService is the BasicLinkedService implementation for HBaseLinkedService. -func (hbls HBaseLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { +// AsHDInsightMapReduceActivity is the BasicActivity implementation for GetMetadataActivity. +func (gma GetMetadataActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) { return nil, false } -// AsQuickBooksLinkedService is the BasicLinkedService implementation for HBaseLinkedService. -func (hbls HBaseLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { +// AsHDInsightPigActivity is the BasicActivity implementation for GetMetadataActivity. +func (gma GetMetadataActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) { return nil, false } -// AsPrestoLinkedService is the BasicLinkedService implementation for HBaseLinkedService. -func (hbls HBaseLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { +// AsHDInsightHiveActivity is the BasicActivity implementation for GetMetadataActivity. +func (gma GetMetadataActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) { return nil, false } -// AsPhoenixLinkedService is the BasicLinkedService implementation for HBaseLinkedService. -func (hbls HBaseLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { +// AsCopyActivity is the BasicActivity implementation for GetMetadataActivity. +func (gma GetMetadataActivity) AsCopyActivity() (*CopyActivity, bool) { return nil, false } -// AsPaypalLinkedService is the BasicLinkedService implementation for HBaseLinkedService. -func (hbls HBaseLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { +// AsExecutionActivity is the BasicActivity implementation for GetMetadataActivity. +func (gma GetMetadataActivity) AsExecutionActivity() (*ExecutionActivity, bool) { return nil, false } -// AsMarketoLinkedService is the BasicLinkedService implementation for HBaseLinkedService. -func (hbls HBaseLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { +// AsBasicExecutionActivity is the BasicActivity implementation for GetMetadataActivity. +func (gma GetMetadataActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) { + return &gma, true +} + +// AsWebHookActivity is the BasicActivity implementation for GetMetadataActivity. +func (gma GetMetadataActivity) AsWebHookActivity() (*WebHookActivity, bool) { return nil, false } -// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for HBaseLinkedService. -func (hbls HBaseLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { +// AsAppendVariableActivity is the BasicActivity implementation for GetMetadataActivity. +func (gma GetMetadataActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) { return nil, false } -// AsMariaDBLinkedService is the BasicLinkedService implementation for HBaseLinkedService. -func (hbls HBaseLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { +// AsSetVariableActivity is the BasicActivity implementation for GetMetadataActivity. +func (gma GetMetadataActivity) AsSetVariableActivity() (*SetVariableActivity, bool) { return nil, false } -// AsMagentoLinkedService is the BasicLinkedService implementation for HBaseLinkedService. -func (hbls HBaseLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { +// AsFilterActivity is the BasicActivity implementation for GetMetadataActivity. +func (gma GetMetadataActivity) AsFilterActivity() (*FilterActivity, bool) { return nil, false } -// AsJiraLinkedService is the BasicLinkedService implementation for HBaseLinkedService. -func (hbls HBaseLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { +// AsValidationActivity is the BasicActivity implementation for GetMetadataActivity. +func (gma GetMetadataActivity) AsValidationActivity() (*ValidationActivity, bool) { return nil, false } -// AsImpalaLinkedService is the BasicLinkedService implementation for HBaseLinkedService. -func (hbls HBaseLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { +// AsUntilActivity is the BasicActivity implementation for GetMetadataActivity. +func (gma GetMetadataActivity) AsUntilActivity() (*UntilActivity, bool) { return nil, false } -// AsHubspotLinkedService is the BasicLinkedService implementation for HBaseLinkedService. -func (hbls HBaseLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { +// AsWaitActivity is the BasicActivity implementation for GetMetadataActivity. +func (gma GetMetadataActivity) AsWaitActivity() (*WaitActivity, bool) { return nil, false } -// AsHiveLinkedService is the BasicLinkedService implementation for HBaseLinkedService. -func (hbls HBaseLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { +// AsForEachActivity is the BasicActivity implementation for GetMetadataActivity. +func (gma GetMetadataActivity) AsForEachActivity() (*ForEachActivity, bool) { return nil, false } -// AsHBaseLinkedService is the BasicLinkedService implementation for HBaseLinkedService. -func (hbls HBaseLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { - return &hbls, true +// AsSwitchActivity is the BasicActivity implementation for GetMetadataActivity. +func (gma GetMetadataActivity) AsSwitchActivity() (*SwitchActivity, bool) { + return nil, false } -// AsGreenplumLinkedService is the BasicLinkedService implementation for HBaseLinkedService. -func (hbls HBaseLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { +// AsIfConditionActivity is the BasicActivity implementation for GetMetadataActivity. +func (gma GetMetadataActivity) AsIfConditionActivity() (*IfConditionActivity, bool) { return nil, false } -// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for HBaseLinkedService. -func (hbls HBaseLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { +// AsExecutePipelineActivity is the BasicActivity implementation for GetMetadataActivity. +func (gma GetMetadataActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) { return nil, false } -// AsEloquaLinkedService is the BasicLinkedService implementation for HBaseLinkedService. -func (hbls HBaseLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { +// AsControlActivity is the BasicActivity implementation for GetMetadataActivity. +func (gma GetMetadataActivity) AsControlActivity() (*ControlActivity, bool) { return nil, false } -// AsDrillLinkedService is the BasicLinkedService implementation for HBaseLinkedService. -func (hbls HBaseLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { +// AsBasicControlActivity is the BasicActivity implementation for GetMetadataActivity. +func (gma GetMetadataActivity) AsBasicControlActivity() (BasicControlActivity, bool) { return nil, false } -// AsCouchbaseLinkedService is the BasicLinkedService implementation for HBaseLinkedService. -func (hbls HBaseLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { +// AsActivity is the BasicActivity implementation for GetMetadataActivity. +func (gma GetMetadataActivity) AsActivity() (*Activity, bool) { return nil, false } -// AsConcurLinkedService is the BasicLinkedService implementation for HBaseLinkedService. -func (hbls HBaseLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { +// AsBasicActivity is the BasicActivity implementation for GetMetadataActivity. +func (gma GetMetadataActivity) AsBasicActivity() (BasicActivity, bool) { + return &gma, true +} + +// UnmarshalJSON is the custom unmarshaler for GetMetadataActivity struct. +func (gma *GetMetadataActivity) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var getMetadataActivityTypeProperties GetMetadataActivityTypeProperties + err = json.Unmarshal(*v, &getMetadataActivityTypeProperties) + if err != nil { + return err + } + gma.GetMetadataActivityTypeProperties = &getMetadataActivityTypeProperties + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + gma.LinkedServiceName = &linkedServiceName + } + case "policy": + if v != nil { + var policy ActivityPolicy + err = json.Unmarshal(*v, &policy) + if err != nil { + return err + } + gma.Policy = &policy + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if gma.AdditionalProperties == nil { + gma.AdditionalProperties = make(map[string]interface{}) + } + gma.AdditionalProperties[k] = additionalProperties + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + gma.Name = &name + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + gma.Description = &description + } + case "dependsOn": + if v != nil { + var dependsOn []ActivityDependency + err = json.Unmarshal(*v, &dependsOn) + if err != nil { + return err + } + gma.DependsOn = &dependsOn + } + case "userProperties": + if v != nil { + var userProperties []UserProperty + err = json.Unmarshal(*v, &userProperties) + if err != nil { + return err + } + gma.UserProperties = &userProperties + } + case "type": + if v != nil { + var typeVar TypeBasicActivity + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + gma.Type = typeVar + } + } + } + + return nil +} + +// GetMetadataActivityTypeProperties getMetadata activity properties. +type GetMetadataActivityTypeProperties struct { + // Dataset - GetMetadata activity dataset reference. + Dataset *DatasetReference `json:"dataset,omitempty"` + // FieldList - Fields of metadata to get from dataset. + FieldList *[]interface{} `json:"fieldList,omitempty"` +} + +// GetSsisObjectMetadataRequest the request payload of get SSIS object metadata. +type GetSsisObjectMetadataRequest struct { + // MetadataPath - Metadata path. + MetadataPath *string `json:"metadataPath,omitempty"` +} + +// GitHubAccessTokenRequest get GitHub access token request definition. +type GitHubAccessTokenRequest struct { + // GitHubAccessCode - GitHub access code. + GitHubAccessCode *string `json:"gitHubAccessCode,omitempty"` + // GitHubClientID - GitHub application client ID. + GitHubClientID *string `json:"gitHubClientId,omitempty"` + // GitHubAccessTokenBaseURL - GitHub access token base URL. + GitHubAccessTokenBaseURL *string `json:"gitHubAccessTokenBaseUrl,omitempty"` +} + +// GitHubAccessTokenResponse get GitHub access token response definition. +type GitHubAccessTokenResponse struct { + autorest.Response `json:"-"` + // GitHubAccessToken - GitHub access token. + GitHubAccessToken *string `json:"gitHubAccessToken,omitempty"` +} + +// GoogleAdWordsLinkedService google AdWords service linked service. +type GoogleAdWordsLinkedService struct { + // GoogleAdWordsLinkedServiceTypeProperties - Google AdWords service linked service properties. + *GoogleAdWordsLinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) MarshalJSON() ([]byte, error) { + gawls.Type = TypeGoogleAdWords + objectMap := make(map[string]interface{}) + if gawls.GoogleAdWordsLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = gawls.GoogleAdWordsLinkedServiceTypeProperties + } + if gawls.ConnectVia != nil { + objectMap["connectVia"] = gawls.ConnectVia + } + if gawls.Description != nil { + objectMap["description"] = gawls.Description + } + if gawls.Parameters != nil { + objectMap["parameters"] = gawls.Parameters + } + if gawls.Annotations != nil { + objectMap["annotations"] = gawls.Annotations + } + if gawls.Type != "" { + objectMap["type"] = gawls.Type + } + for k, v := range gawls.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { return nil, false } -// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for HBaseLinkedService. -func (hbls HBaseLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { return nil, false } -// AsAmazonMWSLinkedService is the BasicLinkedService implementation for HBaseLinkedService. -func (hbls HBaseLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { +// AsSapTableLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { return nil, false } -// AsSapHanaLinkedService is the BasicLinkedService implementation for HBaseLinkedService. -func (hbls HBaseLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return &gawls, true +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { return nil, false } -// AsSapBWLinkedService is the BasicLinkedService implementation for HBaseLinkedService. -func (hbls HBaseLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { return nil, false } -// AsSftpServerLinkedService is the BasicLinkedService implementation for HBaseLinkedService. -func (hbls HBaseLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { +// AsResponsysLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { return nil, false } -// AsFtpServerLinkedService is the BasicLinkedService implementation for HBaseLinkedService. -func (hbls HBaseLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { return nil, false } -// AsHTTPLinkedService is the BasicLinkedService implementation for HBaseLinkedService. -func (hbls HBaseLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { return nil, false } -// AsAzureSearchLinkedService is the BasicLinkedService implementation for HBaseLinkedService. -func (hbls HBaseLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { return nil, false } -// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for HBaseLinkedService. -func (hbls HBaseLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { return nil, false } -// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for HBaseLinkedService. -func (hbls HBaseLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { +// AsNetezzaLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { return nil, false } -// AsAmazonS3LinkedService is the BasicLinkedService implementation for HBaseLinkedService. -func (hbls HBaseLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { +// AsVerticaLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { return nil, false } -// AsRestServiceLinkedService is the BasicLinkedService implementation for HBaseLinkedService. -func (hbls HBaseLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { +// AsZohoLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { return nil, false } -// AsSapOpenHubLinkedService is the BasicLinkedService implementation for HBaseLinkedService. -func (hbls HBaseLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { +// AsXeroLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { return nil, false } -// AsSapEccLinkedService is the BasicLinkedService implementation for HBaseLinkedService. -func (hbls HBaseLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { +// AsSquareLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { return nil, false } -// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for HBaseLinkedService. -func (hbls HBaseLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { +// AsSparkLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { return nil, false } -// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for HBaseLinkedService. -func (hbls HBaseLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { +// AsShopifyLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { return nil, false } -// AsSalesforceLinkedService is the BasicLinkedService implementation for HBaseLinkedService. -func (hbls HBaseLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { +// AsServiceNowLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { return nil, false } -// AsOffice365LinkedService is the BasicLinkedService implementation for HBaseLinkedService. -func (hbls HBaseLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { +// AsQuickBooksLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { return nil, false } -// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for HBaseLinkedService. -func (hbls HBaseLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { +// AsPrestoLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { return nil, false } -// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for HBaseLinkedService. -func (hbls HBaseLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { +// AsPhoenixLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { return nil, false } -// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for HBaseLinkedService. -func (hbls HBaseLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { +// AsPaypalLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { return nil, false } -// AsMongoDbV2LinkedService is the BasicLinkedService implementation for HBaseLinkedService. -func (hbls HBaseLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { +// AsMarketoLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { return nil, false } -// AsMongoDbLinkedService is the BasicLinkedService implementation for HBaseLinkedService. -func (hbls HBaseLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { return nil, false } -// AsCassandraLinkedService is the BasicLinkedService implementation for HBaseLinkedService. -func (hbls HBaseLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { +// AsMariaDBLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { return nil, false } -// AsWebLinkedService is the BasicLinkedService implementation for HBaseLinkedService. -func (hbls HBaseLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { +// AsMagentoLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { return nil, false } -// AsODataLinkedService is the BasicLinkedService implementation for HBaseLinkedService. -func (hbls HBaseLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { +// AsJiraLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { return nil, false } -// AsHdfsLinkedService is the BasicLinkedService implementation for HBaseLinkedService. -func (hbls HBaseLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { +// AsImpalaLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { return nil, false } -// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for HBaseLinkedService. -func (hbls HBaseLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { +// AsHubspotLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { return nil, false } -// AsInformixLinkedService is the BasicLinkedService implementation for HBaseLinkedService. -func (hbls HBaseLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { +// AsHiveLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { return nil, false } -// AsOdbcLinkedService is the BasicLinkedService implementation for HBaseLinkedService. -func (hbls HBaseLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { +// AsHBaseLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { return nil, false } -// AsAzureMLLinkedService is the BasicLinkedService implementation for HBaseLinkedService. -func (hbls HBaseLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { +// AsGreenplumLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { return nil, false } -// AsTeradataLinkedService is the BasicLinkedService implementation for HBaseLinkedService. -func (hbls HBaseLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { return nil, false } -// AsDb2LinkedService is the BasicLinkedService implementation for HBaseLinkedService. -func (hbls HBaseLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { +// AsEloquaLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { return nil, false } -// AsSybaseLinkedService is the BasicLinkedService implementation for HBaseLinkedService. -func (hbls HBaseLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { +// AsDrillLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { return nil, false } -// AsPostgreSQLLinkedService is the BasicLinkedService implementation for HBaseLinkedService. -func (hbls HBaseLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { +// AsCouchbaseLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { return nil, false } -// AsMySQLLinkedService is the BasicLinkedService implementation for HBaseLinkedService. -func (hbls HBaseLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { +// AsConcurLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { return nil, false } -// AsAzureMySQLLinkedService is the BasicLinkedService implementation for HBaseLinkedService. -func (hbls HBaseLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { return nil, false } -// AsOracleLinkedService is the BasicLinkedService implementation for HBaseLinkedService. -func (hbls HBaseLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { return nil, false } -// AsFileServerLinkedService is the BasicLinkedService implementation for HBaseLinkedService. -func (hbls HBaseLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { +// AsSapHanaLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { return nil, false } -// AsHDInsightLinkedService is the BasicLinkedService implementation for HBaseLinkedService. -func (hbls HBaseLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { +// AsSapBWLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { return nil, false } -// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for HBaseLinkedService. -func (hbls HBaseLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { +// AsSftpServerLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { return nil, false } -// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for HBaseLinkedService. -func (hbls HBaseLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { +// AsFtpServerLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { return nil, false } -// AsDynamicsLinkedService is the BasicLinkedService implementation for HBaseLinkedService. -func (hbls HBaseLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { +// AsHTTPLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { return nil, false } -// AsCosmosDbLinkedService is the BasicLinkedService implementation for HBaseLinkedService. -func (hbls HBaseLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { +// AsAzureSearchLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { return nil, false } -// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for HBaseLinkedService. -func (hbls HBaseLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { return nil, false } -// AsAzureBatchLinkedService is the BasicLinkedService implementation for HBaseLinkedService. -func (hbls HBaseLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { return nil, false } -// AsAzureSQLMILinkedService is the BasicLinkedService implementation for HBaseLinkedService. -func (hbls HBaseLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { +// AsAmazonS3LinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { return nil, false } -// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for HBaseLinkedService. -func (hbls HBaseLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { +// AsRestServiceLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { return nil, false } -// AsSQLServerLinkedService is the BasicLinkedService implementation for HBaseLinkedService. -func (hbls HBaseLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { return nil, false } -// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for HBaseLinkedService. -func (hbls HBaseLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { +// AsSapEccLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { return nil, false } -// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for HBaseLinkedService. -func (hbls HBaseLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { return nil, false } -// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for HBaseLinkedService. -func (hbls HBaseLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { return nil, false } -// AsAzureStorageLinkedService is the BasicLinkedService implementation for HBaseLinkedService. -func (hbls HBaseLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { +// AsSalesforceLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { return nil, false } -// AsLinkedService is the BasicLinkedService implementation for HBaseLinkedService. -func (hbls HBaseLinkedService) AsLinkedService() (*LinkedService, bool) { +// AsOffice365LinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { return nil, false } -// AsBasicLinkedService is the BasicLinkedService implementation for HBaseLinkedService. -func (hbls HBaseLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { - return &hbls, true +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false } -// UnmarshalJSON is the custom unmarshaler for HBaseLinkedService struct. -func (hbls *HBaseLinkedService) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - case "typeProperties": - if v != nil { - var hBaseLinkedServiceTypeProperties HBaseLinkedServiceTypeProperties - err = json.Unmarshal(*v, &hBaseLinkedServiceTypeProperties) - if err != nil { - return err - } - hbls.HBaseLinkedServiceTypeProperties = &hBaseLinkedServiceTypeProperties - } - default: - if v != nil { - var additionalProperties interface{} - err = json.Unmarshal(*v, &additionalProperties) - if err != nil { - return err - } - if hbls.AdditionalProperties == nil { - hbls.AdditionalProperties = make(map[string]interface{}) - } - hbls.AdditionalProperties[k] = additionalProperties - } - case "connectVia": - if v != nil { - var connectVia IntegrationRuntimeReference - err = json.Unmarshal(*v, &connectVia) - if err != nil { - return err - } - hbls.ConnectVia = &connectVia - } - case "description": - if v != nil { - var description string - err = json.Unmarshal(*v, &description) - if err != nil { - return err - } - hbls.Description = &description - } - case "parameters": - if v != nil { - var parameters map[string]*ParameterSpecification - err = json.Unmarshal(*v, ¶meters) - if err != nil { - return err - } - hbls.Parameters = parameters - } - case "annotations": - if v != nil { - var annotations []interface{} - err = json.Unmarshal(*v, &annotations) - if err != nil { - return err - } - hbls.Annotations = &annotations - } - case "type": - if v != nil { - var typeVar TypeBasicLinkedService - err = json.Unmarshal(*v, &typeVar) - if err != nil { - return err - } - hbls.Type = typeVar - } - } - } +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} - return nil +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false } -// HBaseLinkedServiceTypeProperties hBase server linked service properties. -type HBaseLinkedServiceTypeProperties struct { - // Host - The IP address or host name of the HBase server. (i.e. 192.168.222.160) - Host interface{} `json:"host,omitempty"` - // Port - The TCP port that the HBase instance uses to listen for client connections. The default value is 9090. - Port interface{} `json:"port,omitempty"` - // HTTPPath - The partial URL corresponding to the HBase server. (i.e. /gateway/sandbox/hbase/version) - HTTPPath interface{} `json:"httpPath,omitempty"` - // AuthenticationType - The authentication mechanism to use to connect to the HBase server. Possible values include: 'HBaseAuthenticationTypeAnonymous', 'HBaseAuthenticationTypeBasic' - AuthenticationType HBaseAuthenticationType `json:"authenticationType,omitempty"` - // Username - The user name used to connect to the HBase instance. - Username interface{} `json:"username,omitempty"` - // Password - The password corresponding to the user name. - Password BasicSecretBase `json:"password,omitempty"` - // EnableSsl - Specifies whether the connections to the server are encrypted using SSL. The default value is false. - EnableSsl interface{} `json:"enableSsl,omitempty"` - // TrustedCertPath - The full path of the .pem file containing trusted CA certificates for verifying the server when connecting over SSL. This property can only be set when using SSL on self-hosted IR. The default value is the cacerts.pem file installed with the IR. - TrustedCertPath interface{} `json:"trustedCertPath,omitempty"` - // AllowHostNameCNMismatch - Specifies whether to require a CA-issued SSL certificate name to match the host name of the server when connecting over SSL. The default value is false. - AllowHostNameCNMismatch interface{} `json:"allowHostNameCNMismatch,omitempty"` - // AllowSelfSignedServerCert - Specifies whether to allow self-signed certificates from the server. The default value is false. - AllowSelfSignedServerCert interface{} `json:"allowSelfSignedServerCert,omitempty"` - // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). - EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false } -// UnmarshalJSON is the custom unmarshaler for HBaseLinkedServiceTypeProperties struct. -func (hblstp *HBaseLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - case "host": - if v != nil { - var host interface{} - err = json.Unmarshal(*v, &host) - if err != nil { - return err - } - hblstp.Host = host - } - case "port": - if v != nil { - var port interface{} - err = json.Unmarshal(*v, &port) - if err != nil { - return err - } - hblstp.Port = port - } - case "httpPath": - if v != nil { - var HTTPPath interface{} - err = json.Unmarshal(*v, &HTTPPath) - if err != nil { - return err - } - hblstp.HTTPPath = HTTPPath - } - case "authenticationType": - if v != nil { - var authenticationType HBaseAuthenticationType - err = json.Unmarshal(*v, &authenticationType) - if err != nil { - return err - } - hblstp.AuthenticationType = authenticationType - } - case "username": - if v != nil { - var username interface{} - err = json.Unmarshal(*v, &username) +// AsMongoDbLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for GoogleAdWordsLinkedService. +func (gawls GoogleAdWordsLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &gawls, true +} + +// UnmarshalJSON is the custom unmarshaler for GoogleAdWordsLinkedService struct. +func (gawls *GoogleAdWordsLinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var googleAdWordsLinkedServiceTypeProperties GoogleAdWordsLinkedServiceTypeProperties + err = json.Unmarshal(*v, &googleAdWordsLinkedServiceTypeProperties) if err != nil { return err } - hblstp.Username = username + gawls.GoogleAdWordsLinkedServiceTypeProperties = &googleAdWordsLinkedServiceTypeProperties } - case "password": + default: if v != nil { - password, err := unmarshalBasicSecretBase(*v) + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) if err != nil { return err } - hblstp.Password = password + if gawls.AdditionalProperties == nil { + gawls.AdditionalProperties = make(map[string]interface{}) + } + gawls.AdditionalProperties[k] = additionalProperties } - case "enableSsl": + case "connectVia": if v != nil { - var enableSsl interface{} - err = json.Unmarshal(*v, &enableSsl) + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) if err != nil { return err } - hblstp.EnableSsl = enableSsl + gawls.ConnectVia = &connectVia } - case "trustedCertPath": + case "description": if v != nil { - var trustedCertPath interface{} - err = json.Unmarshal(*v, &trustedCertPath) + var description string + err = json.Unmarshal(*v, &description) if err != nil { return err } - hblstp.TrustedCertPath = trustedCertPath + gawls.Description = &description } - case "allowHostNameCNMismatch": + case "parameters": if v != nil { - var allowHostNameCNMismatch interface{} - err = json.Unmarshal(*v, &allowHostNameCNMismatch) + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) if err != nil { return err } - hblstp.AllowHostNameCNMismatch = allowHostNameCNMismatch + gawls.Parameters = parameters } - case "allowSelfSignedServerCert": + case "annotations": if v != nil { - var allowSelfSignedServerCert interface{} - err = json.Unmarshal(*v, &allowSelfSignedServerCert) + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) if err != nil { return err } - hblstp.AllowSelfSignedServerCert = allowSelfSignedServerCert + gawls.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + gawls.Type = typeVar + } + } + } + + return nil +} + +// GoogleAdWordsLinkedServiceTypeProperties google AdWords service linked service properties. +type GoogleAdWordsLinkedServiceTypeProperties struct { + // ClientCustomerID - The Client customer ID of the AdWords account that you want to fetch report data for. + ClientCustomerID interface{} `json:"clientCustomerID,omitempty"` + // DeveloperToken - The developer token associated with the manager account that you use to grant access to the AdWords API. + DeveloperToken BasicSecretBase `json:"developerToken,omitempty"` + // AuthenticationType - The OAuth 2.0 authentication mechanism used for authentication. ServiceAuthentication can only be used on self-hosted IR. Possible values include: 'ServiceAuthentication', 'UserAuthentication' + AuthenticationType GoogleAdWordsAuthenticationType `json:"authenticationType,omitempty"` + // RefreshToken - The refresh token obtained from Google for authorizing access to AdWords for UserAuthentication. + RefreshToken BasicSecretBase `json:"refreshToken,omitempty"` + // ClientID - The client id of the google application used to acquire the refresh token. + ClientID BasicSecretBase `json:"clientId,omitempty"` + // ClientSecret - The client secret of the google application used to acquire the refresh token. + ClientSecret BasicSecretBase `json:"clientSecret,omitempty"` + // Email - The service account email ID that is used for ServiceAuthentication and can only be used on self-hosted IR. + Email interface{} `json:"email,omitempty"` + // KeyFilePath - The full path to the .p12 key file that is used to authenticate the service account email address and can only be used on self-hosted IR. + KeyFilePath interface{} `json:"keyFilePath,omitempty"` + // TrustedCertPath - The full path of the .pem file containing trusted CA certificates for verifying the server when connecting over SSL. This property can only be set when using SSL on self-hosted IR. The default value is the cacerts.pem file installed with the IR. + TrustedCertPath interface{} `json:"trustedCertPath,omitempty"` + // UseSystemTrustStore - Specifies whether to use a CA certificate from the system trust store or from a specified PEM file. The default value is false. + UseSystemTrustStore interface{} `json:"useSystemTrustStore,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for GoogleAdWordsLinkedServiceTypeProperties struct. +func (gawlstp *GoogleAdWordsLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "clientCustomerID": + if v != nil { + var clientCustomerID interface{} + err = json.Unmarshal(*v, &clientCustomerID) + if err != nil { + return err + } + gawlstp.ClientCustomerID = clientCustomerID + } + case "developerToken": + if v != nil { + developerToken, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + gawlstp.DeveloperToken = developerToken + } + case "authenticationType": + if v != nil { + var authenticationType GoogleAdWordsAuthenticationType + err = json.Unmarshal(*v, &authenticationType) + if err != nil { + return err + } + gawlstp.AuthenticationType = authenticationType + } + case "refreshToken": + if v != nil { + refreshToken, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + gawlstp.RefreshToken = refreshToken + } + case "clientId": + if v != nil { + clientID, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + gawlstp.ClientID = clientID + } + case "clientSecret": + if v != nil { + clientSecret, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + gawlstp.ClientSecret = clientSecret + } + case "email": + if v != nil { + var email interface{} + err = json.Unmarshal(*v, &email) + if err != nil { + return err + } + gawlstp.Email = email + } + case "keyFilePath": + if v != nil { + var keyFilePath interface{} + err = json.Unmarshal(*v, &keyFilePath) + if err != nil { + return err + } + gawlstp.KeyFilePath = keyFilePath + } + case "trustedCertPath": + if v != nil { + var trustedCertPath interface{} + err = json.Unmarshal(*v, &trustedCertPath) + if err != nil { + return err + } + gawlstp.TrustedCertPath = trustedCertPath + } + case "useSystemTrustStore": + if v != nil { + var useSystemTrustStore interface{} + err = json.Unmarshal(*v, &useSystemTrustStore) + if err != nil { + return err + } + gawlstp.UseSystemTrustStore = useSystemTrustStore } case "encryptedCredential": if v != nil { @@ -86667,7 +91830,7 @@ func (hblstp *HBaseLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error if err != nil { return err } - hblstp.EncryptedCredential = encryptedCredential + gawlstp.EncryptedCredential = encryptedCredential } } } @@ -86675,8 +91838,8 @@ func (hblstp *HBaseLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error return nil } -// HBaseObjectDataset hBase server dataset. -type HBaseObjectDataset struct { +// GoogleAdWordsObjectDataset google AdWords service dataset. +type GoogleAdWordsObjectDataset struct { // GenericDatasetTypeProperties - Properties specific to this dataset type. *GenericDatasetTypeProperties `json:"typeProperties,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection @@ -86695,469 +91858,494 @@ type HBaseObjectDataset struct { Annotations *[]interface{} `json:"annotations,omitempty"` // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. Folder *DatasetFolder `json:"folder,omitempty"` - // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' + // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' Type TypeBasicDataset `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for HBaseObjectDataset. -func (hbod HBaseObjectDataset) MarshalJSON() ([]byte, error) { - hbod.Type = TypeHBaseObject +// MarshalJSON is the custom marshaler for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) MarshalJSON() ([]byte, error) { + gawod.Type = TypeGoogleAdWordsObject objectMap := make(map[string]interface{}) - if hbod.GenericDatasetTypeProperties != nil { - objectMap["typeProperties"] = hbod.GenericDatasetTypeProperties + if gawod.GenericDatasetTypeProperties != nil { + objectMap["typeProperties"] = gawod.GenericDatasetTypeProperties } - if hbod.Description != nil { - objectMap["description"] = hbod.Description + if gawod.Description != nil { + objectMap["description"] = gawod.Description } - if hbod.Structure != nil { - objectMap["structure"] = hbod.Structure + if gawod.Structure != nil { + objectMap["structure"] = gawod.Structure } - if hbod.Schema != nil { - objectMap["schema"] = hbod.Schema + if gawod.Schema != nil { + objectMap["schema"] = gawod.Schema } - if hbod.LinkedServiceName != nil { - objectMap["linkedServiceName"] = hbod.LinkedServiceName + if gawod.LinkedServiceName != nil { + objectMap["linkedServiceName"] = gawod.LinkedServiceName } - if hbod.Parameters != nil { - objectMap["parameters"] = hbod.Parameters + if gawod.Parameters != nil { + objectMap["parameters"] = gawod.Parameters } - if hbod.Annotations != nil { - objectMap["annotations"] = hbod.Annotations + if gawod.Annotations != nil { + objectMap["annotations"] = gawod.Annotations } - if hbod.Folder != nil { - objectMap["folder"] = hbod.Folder + if gawod.Folder != nil { + objectMap["folder"] = gawod.Folder } - if hbod.Type != "" { - objectMap["type"] = hbod.Type + if gawod.Type != "" { + objectMap["type"] = gawod.Type } - for k, v := range hbod.AdditionalProperties { + for k, v := range gawod.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for HBaseObjectDataset. -func (hbod HBaseObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { + return &gawod, true +} + +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { return nil, false } -// AsAzureDataExplorerTableDataset is the BasicDataset implementation for HBaseObjectDataset. -func (hbod HBaseObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { return nil, false } -// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for HBaseObjectDataset. -func (hbod HBaseObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { +// AsDynamicsAXResourceDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { return nil, false } -// AsDynamicsAXResourceDataset is the BasicDataset implementation for HBaseObjectDataset. -func (hbod HBaseObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { +// AsResponsysObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { return nil, false } -// AsResponsysObjectDataset is the BasicDataset implementation for HBaseObjectDataset. -func (hbod HBaseObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { return nil, false } -// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for HBaseObjectDataset. -func (hbod HBaseObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { +// AsVerticaTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { return nil, false } -// AsVerticaTableDataset is the BasicDataset implementation for HBaseObjectDataset. -func (hbod HBaseObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { +// AsNetezzaTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { return nil, false } -// AsNetezzaTableDataset is the BasicDataset implementation for HBaseObjectDataset. -func (hbod HBaseObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { +// AsZohoObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { return nil, false } -// AsZohoObjectDataset is the BasicDataset implementation for HBaseObjectDataset. -func (hbod HBaseObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { +// AsXeroObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { return nil, false } -// AsXeroObjectDataset is the BasicDataset implementation for HBaseObjectDataset. -func (hbod HBaseObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { +// AsSquareObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { return nil, false } -// AsSquareObjectDataset is the BasicDataset implementation for HBaseObjectDataset. -func (hbod HBaseObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { +// AsSparkObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { return nil, false } -// AsSparkObjectDataset is the BasicDataset implementation for HBaseObjectDataset. -func (hbod HBaseObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { +// AsShopifyObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { return nil, false } -// AsShopifyObjectDataset is the BasicDataset implementation for HBaseObjectDataset. -func (hbod HBaseObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { +// AsServiceNowObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { return nil, false } -// AsServiceNowObjectDataset is the BasicDataset implementation for HBaseObjectDataset. -func (hbod HBaseObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { +// AsQuickBooksObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { return nil, false } -// AsQuickBooksObjectDataset is the BasicDataset implementation for HBaseObjectDataset. -func (hbod HBaseObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { +// AsPrestoObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { return nil, false } -// AsPrestoObjectDataset is the BasicDataset implementation for HBaseObjectDataset. -func (hbod HBaseObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { +// AsPhoenixObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { return nil, false } -// AsPhoenixObjectDataset is the BasicDataset implementation for HBaseObjectDataset. -func (hbod HBaseObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { +// AsPaypalObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { return nil, false } -// AsPaypalObjectDataset is the BasicDataset implementation for HBaseObjectDataset. -func (hbod HBaseObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { +// AsMarketoObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { return nil, false } -// AsMarketoObjectDataset is the BasicDataset implementation for HBaseObjectDataset. -func (hbod HBaseObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { +// AsAzureMariaDBTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { return nil, false } -// AsAzureMariaDBTableDataset is the BasicDataset implementation for HBaseObjectDataset. -func (hbod HBaseObjectDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { +// AsMariaDBTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { return nil, false } -// AsMariaDBTableDataset is the BasicDataset implementation for HBaseObjectDataset. -func (hbod HBaseObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { +// AsMagentoObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { return nil, false } -// AsMagentoObjectDataset is the BasicDataset implementation for HBaseObjectDataset. -func (hbod HBaseObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { +// AsJiraObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { return nil, false } -// AsJiraObjectDataset is the BasicDataset implementation for HBaseObjectDataset. -func (hbod HBaseObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { +// AsImpalaObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { return nil, false } -// AsImpalaObjectDataset is the BasicDataset implementation for HBaseObjectDataset. -func (hbod HBaseObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { +// AsHubspotObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { return nil, false } -// AsHubspotObjectDataset is the BasicDataset implementation for HBaseObjectDataset. -func (hbod HBaseObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { +// AsHiveObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { return nil, false } -// AsHiveObjectDataset is the BasicDataset implementation for HBaseObjectDataset. -func (hbod HBaseObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { +// AsHBaseObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { return nil, false } -// AsHBaseObjectDataset is the BasicDataset implementation for HBaseObjectDataset. -func (hbod HBaseObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { - return &hbod, true +// AsGreenplumTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { + return nil, false } -// AsGreenplumTableDataset is the BasicDataset implementation for HBaseObjectDataset. -func (hbod HBaseObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { return nil, false } -// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for HBaseObjectDataset. -func (hbod HBaseObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { +// AsEloquaObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { return nil, false } -// AsEloquaObjectDataset is the BasicDataset implementation for HBaseObjectDataset. -func (hbod HBaseObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { +// AsDrillTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { return nil, false } -// AsDrillTableDataset is the BasicDataset implementation for HBaseObjectDataset. -func (hbod HBaseObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { +// AsCouchbaseTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { return nil, false } -// AsCouchbaseTableDataset is the BasicDataset implementation for HBaseObjectDataset. -func (hbod HBaseObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { +// AsConcurObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { return nil, false } -// AsConcurObjectDataset is the BasicDataset implementation for HBaseObjectDataset. -func (hbod HBaseObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { return nil, false } -// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for HBaseObjectDataset. -func (hbod HBaseObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { +// AsAmazonMWSObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { return nil, false } -// AsAmazonMWSObjectDataset is the BasicDataset implementation for HBaseObjectDataset. -func (hbod HBaseObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { +// AsHTTPDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsHTTPDataset() (*HTTPDataset, bool) { return nil, false } -// AsHTTPDataset is the BasicDataset implementation for HBaseObjectDataset. -func (hbod HBaseObjectDataset) AsHTTPDataset() (*HTTPDataset, bool) { +// AsAzureSearchIndexDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { return nil, false } -// AsAzureSearchIndexDataset is the BasicDataset implementation for HBaseObjectDataset. -func (hbod HBaseObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { +// AsWebTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) { return nil, false } -// AsWebTableDataset is the BasicDataset implementation for HBaseObjectDataset. -func (hbod HBaseObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) { +// AsSapTableResourceDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { return nil, false } -// AsSapTableResourceDataset is the BasicDataset implementation for HBaseObjectDataset. -func (hbod HBaseObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { +// AsRestResourceDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { return nil, false } -// AsRestResourceDataset is the BasicDataset implementation for HBaseObjectDataset. -func (hbod HBaseObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { +// AsSQLServerTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { return nil, false } -// AsSQLServerTableDataset is the BasicDataset implementation for HBaseObjectDataset. -func (hbod HBaseObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { +// AsSapOpenHubTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { return nil, false } -// AsSapOpenHubTableDataset is the BasicDataset implementation for HBaseObjectDataset. -func (hbod HBaseObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { +// AsSapHanaTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { return nil, false } -// AsSapHanaTableDataset is the BasicDataset implementation for HBaseObjectDataset. -func (hbod HBaseObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { +// AsSapEccResourceDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { return nil, false } -// AsSapEccResourceDataset is the BasicDataset implementation for HBaseObjectDataset. -func (hbod HBaseObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { return nil, false } -// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for HBaseObjectDataset. -func (hbod HBaseObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { +// AsSapBwCubeDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { return nil, false } -// AsSapBwCubeDataset is the BasicDataset implementation for HBaseObjectDataset. -func (hbod HBaseObjectDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { +// AsSybaseTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { return nil, false } -// AsSybaseTableDataset is the BasicDataset implementation for HBaseObjectDataset. -func (hbod HBaseObjectDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { return nil, false } -// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for HBaseObjectDataset. -func (hbod HBaseObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { +// AsSalesforceObjectDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { return nil, false } -// AsSalesforceObjectDataset is the BasicDataset implementation for HBaseObjectDataset. -func (hbod HBaseObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { return nil, false } -// AsMicrosoftAccessTableDataset is the BasicDataset implementation for HBaseObjectDataset. -func (hbod HBaseObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { +// AsPostgreSQLTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { return nil, false } -// AsPostgreSQLTableDataset is the BasicDataset implementation for HBaseObjectDataset. -func (hbod HBaseObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { +// AsMySQLTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { return nil, false } -// AsMySQLTableDataset is the BasicDataset implementation for HBaseObjectDataset. -func (hbod HBaseObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { +// AsOdbcTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { return nil, false } -// AsOdbcTableDataset is the BasicDataset implementation for HBaseObjectDataset. -func (hbod HBaseObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { +// AsInformixTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { return nil, false } -// AsInformixTableDataset is the BasicDataset implementation for HBaseObjectDataset. -func (hbod HBaseObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { +// AsRelationalTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { return nil, false } -// AsRelationalTableDataset is the BasicDataset implementation for HBaseObjectDataset. -func (hbod HBaseObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { +// AsDb2TableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { return nil, false } -// AsAzureMySQLTableDataset is the BasicDataset implementation for HBaseObjectDataset. -func (hbod HBaseObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { return nil, false } -// AsTeradataTableDataset is the BasicDataset implementation for HBaseObjectDataset. -func (hbod HBaseObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { +// AsAzureMySQLTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { return nil, false } -// AsOracleTableDataset is the BasicDataset implementation for HBaseObjectDataset. -func (hbod HBaseObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { +// AsTeradataTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { return nil, false } -// AsODataResourceDataset is the BasicDataset implementation for HBaseObjectDataset. -func (hbod HBaseObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { +// AsOracleTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { return nil, false } -// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for HBaseObjectDataset. -func (hbod HBaseObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { +// AsODataResourceDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { return nil, false } -// AsMongoDbV2CollectionDataset is the BasicDataset implementation for HBaseObjectDataset. -func (hbod HBaseObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { return nil, false } -// AsMongoDbCollectionDataset is the BasicDataset implementation for HBaseObjectDataset. -func (hbod HBaseObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { return nil, false } -// AsFileShareDataset is the BasicDataset implementation for HBaseObjectDataset. -func (hbod HBaseObjectDataset) AsFileShareDataset() (*FileShareDataset, bool) { +// AsMongoDbCollectionDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { return nil, false } -// AsOffice365Dataset is the BasicDataset implementation for HBaseObjectDataset. -func (hbod HBaseObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) { +// AsFileShareDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsFileShareDataset() (*FileShareDataset, bool) { return nil, false } -// AsAzureBlobFSDataset is the BasicDataset implementation for HBaseObjectDataset. -func (hbod HBaseObjectDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) { +// AsOffice365Dataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) { return nil, false } -// AsAzureDataLakeStoreDataset is the BasicDataset implementation for HBaseObjectDataset. -func (hbod HBaseObjectDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) { +// AsAzureBlobFSDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) { return nil, false } -// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for HBaseObjectDataset. -func (hbod HBaseObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { +// AsAzureDataLakeStoreDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) { return nil, false } -// AsDynamicsCrmEntityDataset is the BasicDataset implementation for HBaseObjectDataset. -func (hbod HBaseObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { return nil, false } -// AsDynamicsEntityDataset is the BasicDataset implementation for HBaseObjectDataset. -func (hbod HBaseObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { return nil, false } -// AsDocumentDbCollectionDataset is the BasicDataset implementation for HBaseObjectDataset. -func (hbod HBaseObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { +// AsDynamicsEntityDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { return nil, false } -// AsCustomDataset is the BasicDataset implementation for HBaseObjectDataset. -func (hbod HBaseObjectDataset) AsCustomDataset() (*CustomDataset, bool) { +// AsDocumentDbCollectionDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { return nil, false } -// AsCassandraTableDataset is the BasicDataset implementation for HBaseObjectDataset. -func (hbod HBaseObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { return nil, false } -// AsAzureSQLDWTableDataset is the BasicDataset implementation for HBaseObjectDataset. -func (hbod HBaseObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { +// AsCustomDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsCustomDataset() (*CustomDataset, bool) { return nil, false } -// AsAzureSQLMITableDataset is the BasicDataset implementation for HBaseObjectDataset. -func (hbod HBaseObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { +// AsCassandraTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { return nil, false } -// AsAzureSQLTableDataset is the BasicDataset implementation for HBaseObjectDataset. -func (hbod HBaseObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { +// AsAzureSQLDWTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { return nil, false } -// AsAzureTableDataset is the BasicDataset implementation for HBaseObjectDataset. -func (hbod HBaseObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { +// AsAzureSQLMITableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { return nil, false } -// AsAzureBlobDataset is the BasicDataset implementation for HBaseObjectDataset. -func (hbod HBaseObjectDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) { +// AsAzureSQLTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { return nil, false } -// AsBinaryDataset is the BasicDataset implementation for HBaseObjectDataset. -func (hbod HBaseObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) { +// AsAzureTableDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { return nil, false } -// AsDelimitedTextDataset is the BasicDataset implementation for HBaseObjectDataset. -func (hbod HBaseObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { +// AsAzureBlobDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) { return nil, false } -// AsParquetDataset is the BasicDataset implementation for HBaseObjectDataset. -func (hbod HBaseObjectDataset) AsParquetDataset() (*ParquetDataset, bool) { +// AsBinaryDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) { return nil, false } -// AsAvroDataset is the BasicDataset implementation for HBaseObjectDataset. -func (hbod HBaseObjectDataset) AsAvroDataset() (*AvroDataset, bool) { +// AsOrcDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsOrcDataset() (*OrcDataset, bool) { return nil, false } -// AsAmazonS3Dataset is the BasicDataset implementation for HBaseObjectDataset. -func (hbod HBaseObjectDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) { +// AsJSONDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsJSONDataset() (*JSONDataset, bool) { return nil, false } -// AsDataset is the BasicDataset implementation for HBaseObjectDataset. -func (hbod HBaseObjectDataset) AsDataset() (*Dataset, bool) { +// AsDelimitedTextDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { return nil, false } -// AsBasicDataset is the BasicDataset implementation for HBaseObjectDataset. -func (hbod HBaseObjectDataset) AsBasicDataset() (BasicDataset, bool) { - return &hbod, true +// AsParquetDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsParquetDataset() (*ParquetDataset, bool) { + return nil, false } -// UnmarshalJSON is the custom unmarshaler for HBaseObjectDataset struct. -func (hbod *HBaseObjectDataset) UnmarshalJSON(body []byte) error { +// AsAvroDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsAvroDataset() (*AvroDataset, bool) { + return nil, false +} + +// AsAmazonS3Dataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) { + return nil, false +} + +// AsDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsDataset() (*Dataset, bool) { + return nil, false +} + +// AsBasicDataset is the BasicDataset implementation for GoogleAdWordsObjectDataset. +func (gawod GoogleAdWordsObjectDataset) AsBasicDataset() (BasicDataset, bool) { + return &gawod, true +} + +// UnmarshalJSON is the custom unmarshaler for GoogleAdWordsObjectDataset struct. +func (gawod *GoogleAdWordsObjectDataset) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -87172,7 +92360,7 @@ func (hbod *HBaseObjectDataset) UnmarshalJSON(body []byte) error { if err != nil { return err } - hbod.GenericDatasetTypeProperties = &genericDatasetTypeProperties + gawod.GenericDatasetTypeProperties = &genericDatasetTypeProperties } default: if v != nil { @@ -87181,10 +92369,10 @@ func (hbod *HBaseObjectDataset) UnmarshalJSON(body []byte) error { if err != nil { return err } - if hbod.AdditionalProperties == nil { - hbod.AdditionalProperties = make(map[string]interface{}) + if gawod.AdditionalProperties == nil { + gawod.AdditionalProperties = make(map[string]interface{}) } - hbod.AdditionalProperties[k] = additionalProperties + gawod.AdditionalProperties[k] = additionalProperties } case "description": if v != nil { @@ -87193,7 +92381,7 @@ func (hbod *HBaseObjectDataset) UnmarshalJSON(body []byte) error { if err != nil { return err } - hbod.Description = &description + gawod.Description = &description } case "structure": if v != nil { @@ -87202,7 +92390,7 @@ func (hbod *HBaseObjectDataset) UnmarshalJSON(body []byte) error { if err != nil { return err } - hbod.Structure = structure + gawod.Structure = structure } case "schema": if v != nil { @@ -87211,7 +92399,7 @@ func (hbod *HBaseObjectDataset) UnmarshalJSON(body []byte) error { if err != nil { return err } - hbod.Schema = schema + gawod.Schema = schema } case "linkedServiceName": if v != nil { @@ -87220,7 +92408,7 @@ func (hbod *HBaseObjectDataset) UnmarshalJSON(body []byte) error { if err != nil { return err } - hbod.LinkedServiceName = &linkedServiceName + gawod.LinkedServiceName = &linkedServiceName } case "parameters": if v != nil { @@ -87229,7 +92417,7 @@ func (hbod *HBaseObjectDataset) UnmarshalJSON(body []byte) error { if err != nil { return err } - hbod.Parameters = parameters + gawod.Parameters = parameters } case "annotations": if v != nil { @@ -87238,7 +92426,7 @@ func (hbod *HBaseObjectDataset) UnmarshalJSON(body []byte) error { if err != nil { return err } - hbod.Annotations = &annotations + gawod.Annotations = &annotations } case "folder": if v != nil { @@ -87247,7 +92435,7 @@ func (hbod *HBaseObjectDataset) UnmarshalJSON(body []byte) error { if err != nil { return err } - hbod.Folder = &folder + gawod.Folder = &folder } case "type": if v != nil { @@ -87256,7 +92444,7 @@ func (hbod *HBaseObjectDataset) UnmarshalJSON(body []byte) error { if err != nil { return err } - hbod.Type = typeVar + gawod.Type = typeVar } } } @@ -87264,10 +92452,12 @@ func (hbod *HBaseObjectDataset) UnmarshalJSON(body []byte) error { return nil } -// HBaseSource a copy activity HBase server source. -type HBaseSource struct { +// GoogleAdWordsSource a copy activity Google AdWords service source. +type GoogleAdWordsSource struct { // Query - A query to retrieve data from source. Type: string (or Expression with resultType string). Query interface{} `json:"query,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). @@ -87276,462 +92466,490 @@ type HBaseSource struct { SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' + // Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' Type TypeBasicCopySource `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for HBaseSource. -func (hbs HBaseSource) MarshalJSON() ([]byte, error) { - hbs.Type = TypeHBaseSource +// MarshalJSON is the custom marshaler for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) MarshalJSON() ([]byte, error) { + gaws.Type = TypeGoogleAdWordsSource objectMap := make(map[string]interface{}) - if hbs.Query != nil { - objectMap["query"] = hbs.Query + if gaws.Query != nil { + objectMap["query"] = gaws.Query } - if hbs.SourceRetryCount != nil { - objectMap["sourceRetryCount"] = hbs.SourceRetryCount + if gaws.QueryTimeout != nil { + objectMap["queryTimeout"] = gaws.QueryTimeout } - if hbs.SourceRetryWait != nil { - objectMap["sourceRetryWait"] = hbs.SourceRetryWait + if gaws.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = gaws.SourceRetryCount } - if hbs.MaxConcurrentConnections != nil { - objectMap["maxConcurrentConnections"] = hbs.MaxConcurrentConnections + if gaws.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = gaws.SourceRetryWait } - if hbs.Type != "" { - objectMap["type"] = hbs.Type + if gaws.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = gaws.MaxConcurrentConnections } - for k, v := range hbs.AdditionalProperties { + if gaws.Type != "" { + objectMap["type"] = gaws.Type + } + for k, v := range gaws.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsAmazonRedshiftSource is the BasicCopySource implementation for HBaseSource. -func (hbs HBaseSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { +// AsHTTPSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsHTTPSource() (*HTTPSource, bool) { return nil, false } -// AsGoogleAdWordsSource is the BasicCopySource implementation for HBaseSource. -func (hbs HBaseSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { +// AsAzureBlobFSSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { return nil, false } -// AsOracleServiceCloudSource is the BasicCopySource implementation for HBaseSource. -func (hbs HBaseSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { return nil, false } -// AsDynamicsAXSource is the BasicCopySource implementation for HBaseSource. -func (hbs HBaseSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { +// AsOffice365Source is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsOffice365Source() (*Office365Source, bool) { return nil, false } -// AsResponsysSource is the BasicCopySource implementation for HBaseSource. -func (hbs HBaseSource) AsResponsysSource() (*ResponsysSource, bool) { +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { return nil, false } -// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for HBaseSource. -func (hbs HBaseSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { +// AsMongoDbV2Source is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { return nil, false } -// AsVerticaSource is the BasicCopySource implementation for HBaseSource. -func (hbs HBaseSource) AsVerticaSource() (*VerticaSource, bool) { +// AsMongoDbSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsMongoDbSource() (*MongoDbSource, bool) { return nil, false } -// AsNetezzaSource is the BasicCopySource implementation for HBaseSource. -func (hbs HBaseSource) AsNetezzaSource() (*NetezzaSource, bool) { +// AsWebSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsWebSource() (*WebSource, bool) { return nil, false } -// AsZohoSource is the BasicCopySource implementation for HBaseSource. -func (hbs HBaseSource) AsZohoSource() (*ZohoSource, bool) { +// AsOracleSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsOracleSource() (*OracleSource, bool) { return nil, false } -// AsXeroSource is the BasicCopySource implementation for HBaseSource. -func (hbs HBaseSource) AsXeroSource() (*XeroSource, bool) { +// AsAzureDataExplorerSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { return nil, false } -// AsSquareSource is the BasicCopySource implementation for HBaseSource. -func (hbs HBaseSource) AsSquareSource() (*SquareSource, bool) { +// AsHdfsSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsHdfsSource() (*HdfsSource, bool) { return nil, false } -// AsSparkSource is the BasicCopySource implementation for HBaseSource. -func (hbs HBaseSource) AsSparkSource() (*SparkSource, bool) { +// AsFileSystemSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsFileSystemSource() (*FileSystemSource, bool) { return nil, false } -// AsShopifySource is the BasicCopySource implementation for HBaseSource. -func (hbs HBaseSource) AsShopifySource() (*ShopifySource, bool) { +// AsRestSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsRestSource() (*RestSource, bool) { return nil, false } -// AsServiceNowSource is the BasicCopySource implementation for HBaseSource. -func (hbs HBaseSource) AsServiceNowSource() (*ServiceNowSource, bool) { +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { return nil, false } -// AsQuickBooksSource is the BasicCopySource implementation for HBaseSource. -func (hbs HBaseSource) AsQuickBooksSource() (*QuickBooksSource, bool) { +// AsODataSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsODataSource() (*ODataSource, bool) { return nil, false } -// AsPrestoSource is the BasicCopySource implementation for HBaseSource. -func (hbs HBaseSource) AsPrestoSource() (*PrestoSource, bool) { +// AsMicrosoftAccessSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { return nil, false } -// AsPhoenixSource is the BasicCopySource implementation for HBaseSource. -func (hbs HBaseSource) AsPhoenixSource() (*PhoenixSource, bool) { +// AsRelationalSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsRelationalSource() (*RelationalSource, bool) { return nil, false } -// AsPaypalSource is the BasicCopySource implementation for HBaseSource. -func (hbs HBaseSource) AsPaypalSource() (*PaypalSource, bool) { +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { return nil, false } -// AsMarketoSource is the BasicCopySource implementation for HBaseSource. -func (hbs HBaseSource) AsMarketoSource() (*MarketoSource, bool) { +// AsDynamicsCrmSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { return nil, false } -// AsAzureMariaDBSource is the BasicCopySource implementation for HBaseSource. -func (hbs HBaseSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { +// AsDynamicsSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsDynamicsSource() (*DynamicsSource, bool) { return nil, false } -// AsMariaDBSource is the BasicCopySource implementation for HBaseSource. -func (hbs HBaseSource) AsMariaDBSource() (*MariaDBSource, bool) { +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { return nil, false } -// AsMagentoSource is the BasicCopySource implementation for HBaseSource. -func (hbs HBaseSource) AsMagentoSource() (*MagentoSource, bool) { +// AsDocumentDbCollectionSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { return nil, false } -// AsJiraSource is the BasicCopySource implementation for HBaseSource. -func (hbs HBaseSource) AsJiraSource() (*JiraSource, bool) { +// AsBlobSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsBlobSource() (*BlobSource, bool) { return nil, false } -// AsImpalaSource is the BasicCopySource implementation for HBaseSource. -func (hbs HBaseSource) AsImpalaSource() (*ImpalaSource, bool) { +// AsAmazonRedshiftSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { return nil, false } -// AsHubspotSource is the BasicCopySource implementation for HBaseSource. -func (hbs HBaseSource) AsHubspotSource() (*HubspotSource, bool) { - return nil, false +// AsGoogleAdWordsSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { + return &gaws, true } -// AsHiveSource is the BasicCopySource implementation for HBaseSource. -func (hbs HBaseSource) AsHiveSource() (*HiveSource, bool) { +// AsOracleServiceCloudSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { return nil, false } -// AsHBaseSource is the BasicCopySource implementation for HBaseSource. -func (hbs HBaseSource) AsHBaseSource() (*HBaseSource, bool) { - return &hbs, true +// AsDynamicsAXSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { + return nil, false } -// AsGreenplumSource is the BasicCopySource implementation for HBaseSource. -func (hbs HBaseSource) AsGreenplumSource() (*GreenplumSource, bool) { +// AsResponsysSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsResponsysSource() (*ResponsysSource, bool) { return nil, false } -// AsGoogleBigQuerySource is the BasicCopySource implementation for HBaseSource. -func (hbs HBaseSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { return nil, false } -// AsEloquaSource is the BasicCopySource implementation for HBaseSource. -func (hbs HBaseSource) AsEloquaSource() (*EloquaSource, bool) { +// AsVerticaSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsVerticaSource() (*VerticaSource, bool) { return nil, false } -// AsDrillSource is the BasicCopySource implementation for HBaseSource. -func (hbs HBaseSource) AsDrillSource() (*DrillSource, bool) { +// AsNetezzaSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsNetezzaSource() (*NetezzaSource, bool) { return nil, false } -// AsCouchbaseSource is the BasicCopySource implementation for HBaseSource. -func (hbs HBaseSource) AsCouchbaseSource() (*CouchbaseSource, bool) { +// AsZohoSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsZohoSource() (*ZohoSource, bool) { return nil, false } -// AsConcurSource is the BasicCopySource implementation for HBaseSource. -func (hbs HBaseSource) AsConcurSource() (*ConcurSource, bool) { +// AsXeroSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsXeroSource() (*XeroSource, bool) { return nil, false } -// AsAzurePostgreSQLSource is the BasicCopySource implementation for HBaseSource. -func (hbs HBaseSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { +// AsSquareSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsSquareSource() (*SquareSource, bool) { return nil, false } -// AsAmazonMWSSource is the BasicCopySource implementation for HBaseSource. -func (hbs HBaseSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { +// AsSparkSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsSparkSource() (*SparkSource, bool) { return nil, false } -// AsHTTPSource is the BasicCopySource implementation for HBaseSource. -func (hbs HBaseSource) AsHTTPSource() (*HTTPSource, bool) { +// AsShopifySource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsShopifySource() (*ShopifySource, bool) { return nil, false } -// AsAzureBlobFSSource is the BasicCopySource implementation for HBaseSource. -func (hbs HBaseSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { +// AsServiceNowSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsServiceNowSource() (*ServiceNowSource, bool) { return nil, false } -// AsAzureDataLakeStoreSource is the BasicCopySource implementation for HBaseSource. -func (hbs HBaseSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { +// AsQuickBooksSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsQuickBooksSource() (*QuickBooksSource, bool) { return nil, false } -// AsOffice365Source is the BasicCopySource implementation for HBaseSource. -func (hbs HBaseSource) AsOffice365Source() (*Office365Source, bool) { +// AsPrestoSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsPrestoSource() (*PrestoSource, bool) { return nil, false } -// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for HBaseSource. -func (hbs HBaseSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { +// AsPhoenixSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsPhoenixSource() (*PhoenixSource, bool) { return nil, false } -// AsMongoDbV2Source is the BasicCopySource implementation for HBaseSource. -func (hbs HBaseSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { +// AsPaypalSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsPaypalSource() (*PaypalSource, bool) { return nil, false } -// AsMongoDbSource is the BasicCopySource implementation for HBaseSource. -func (hbs HBaseSource) AsMongoDbSource() (*MongoDbSource, bool) { +// AsMarketoSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsMarketoSource() (*MarketoSource, bool) { return nil, false } -// AsCassandraSource is the BasicCopySource implementation for HBaseSource. -func (hbs HBaseSource) AsCassandraSource() (*CassandraSource, bool) { +// AsAzureMariaDBSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { return nil, false } -// AsWebSource is the BasicCopySource implementation for HBaseSource. -func (hbs HBaseSource) AsWebSource() (*WebSource, bool) { +// AsMariaDBSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsMariaDBSource() (*MariaDBSource, bool) { return nil, false } -// AsTeradataSource is the BasicCopySource implementation for HBaseSource. -func (hbs HBaseSource) AsTeradataSource() (*TeradataSource, bool) { +// AsMagentoSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsMagentoSource() (*MagentoSource, bool) { return nil, false } -// AsOracleSource is the BasicCopySource implementation for HBaseSource. -func (hbs HBaseSource) AsOracleSource() (*OracleSource, bool) { +// AsJiraSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsJiraSource() (*JiraSource, bool) { return nil, false } -// AsAzureDataExplorerSource is the BasicCopySource implementation for HBaseSource. -func (hbs HBaseSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { +// AsImpalaSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsImpalaSource() (*ImpalaSource, bool) { return nil, false } -// AsAzureMySQLSource is the BasicCopySource implementation for HBaseSource. -func (hbs HBaseSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { +// AsHubspotSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsHubspotSource() (*HubspotSource, bool) { return nil, false } -// AsHdfsSource is the BasicCopySource implementation for HBaseSource. -func (hbs HBaseSource) AsHdfsSource() (*HdfsSource, bool) { +// AsHiveSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsHiveSource() (*HiveSource, bool) { return nil, false } -// AsFileSystemSource is the BasicCopySource implementation for HBaseSource. -func (hbs HBaseSource) AsFileSystemSource() (*FileSystemSource, bool) { +// AsHBaseSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsHBaseSource() (*HBaseSource, bool) { return nil, false } -// AsSQLDWSource is the BasicCopySource implementation for HBaseSource. -func (hbs HBaseSource) AsSQLDWSource() (*SQLDWSource, bool) { +// AsGreenplumSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsGreenplumSource() (*GreenplumSource, bool) { return nil, false } -// AsSQLMISource is the BasicCopySource implementation for HBaseSource. -func (hbs HBaseSource) AsSQLMISource() (*SQLMISource, bool) { +// AsGoogleBigQuerySource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { return nil, false } -// AsAzureSQLSource is the BasicCopySource implementation for HBaseSource. -func (hbs HBaseSource) AsAzureSQLSource() (*AzureSQLSource, bool) { +// AsEloquaSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsEloquaSource() (*EloquaSource, bool) { return nil, false } -// AsSQLServerSource is the BasicCopySource implementation for HBaseSource. -func (hbs HBaseSource) AsSQLServerSource() (*SQLServerSource, bool) { +// AsDrillSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsDrillSource() (*DrillSource, bool) { return nil, false } -// AsSQLSource is the BasicCopySource implementation for HBaseSource. -func (hbs HBaseSource) AsSQLSource() (*SQLSource, bool) { +// AsCouchbaseSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsCouchbaseSource() (*CouchbaseSource, bool) { return nil, false } -// AsRestSource is the BasicCopySource implementation for HBaseSource. -func (hbs HBaseSource) AsRestSource() (*RestSource, bool) { +// AsConcurSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsConcurSource() (*ConcurSource, bool) { return nil, false } -// AsSapTableSource is the BasicCopySource implementation for HBaseSource. -func (hbs HBaseSource) AsSapTableSource() (*SapTableSource, bool) { +// AsAzurePostgreSQLSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { return nil, false } -// AsSapOpenHubSource is the BasicCopySource implementation for HBaseSource. -func (hbs HBaseSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { +// AsAmazonMWSSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { return nil, false } -// AsSapHanaSource is the BasicCopySource implementation for HBaseSource. -func (hbs HBaseSource) AsSapHanaSource() (*SapHanaSource, bool) { +// AsCassandraSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsCassandraSource() (*CassandraSource, bool) { return nil, false } -// AsSapEccSource is the BasicCopySource implementation for HBaseSource. -func (hbs HBaseSource) AsSapEccSource() (*SapEccSource, bool) { +// AsTeradataSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsTeradataSource() (*TeradataSource, bool) { return nil, false } -// AsSapCloudForCustomerSource is the BasicCopySource implementation for HBaseSource. -func (hbs HBaseSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { +// AsAzureMySQLSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { return nil, false } -// AsSalesforceServiceCloudSource is the BasicCopySource implementation for HBaseSource. -func (hbs HBaseSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { +// AsSQLDWSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsSQLDWSource() (*SQLDWSource, bool) { return nil, false } -// AsSalesforceSource is the BasicCopySource implementation for HBaseSource. -func (hbs HBaseSource) AsSalesforceSource() (*SalesforceSource, bool) { +// AsSQLMISource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsSQLMISource() (*SQLMISource, bool) { return nil, false } -// AsODataSource is the BasicCopySource implementation for HBaseSource. -func (hbs HBaseSource) AsODataSource() (*ODataSource, bool) { +// AsAzureSQLSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsAzureSQLSource() (*AzureSQLSource, bool) { return nil, false } -// AsSapBwSource is the BasicCopySource implementation for HBaseSource. -func (hbs HBaseSource) AsSapBwSource() (*SapBwSource, bool) { +// AsSQLServerSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsSQLServerSource() (*SQLServerSource, bool) { return nil, false } -// AsSybaseSource is the BasicCopySource implementation for HBaseSource. -func (hbs HBaseSource) AsSybaseSource() (*SybaseSource, bool) { +// AsSQLSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsSQLSource() (*SQLSource, bool) { return nil, false } -// AsPostgreSQLSource is the BasicCopySource implementation for HBaseSource. -func (hbs HBaseSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { +// AsSapTableSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsSapTableSource() (*SapTableSource, bool) { return nil, false } -// AsMySQLSource is the BasicCopySource implementation for HBaseSource. -func (hbs HBaseSource) AsMySQLSource() (*MySQLSource, bool) { +// AsSapOpenHubSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { return nil, false } -// AsOdbcSource is the BasicCopySource implementation for HBaseSource. -func (hbs HBaseSource) AsOdbcSource() (*OdbcSource, bool) { +// AsSapHanaSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsSapHanaSource() (*SapHanaSource, bool) { return nil, false } -// AsDb2Source is the BasicCopySource implementation for HBaseSource. -func (hbs HBaseSource) AsDb2Source() (*Db2Source, bool) { +// AsSapEccSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsSapEccSource() (*SapEccSource, bool) { return nil, false } -// AsMicrosoftAccessSource is the BasicCopySource implementation for HBaseSource. -func (hbs HBaseSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { +// AsSapCloudForCustomerSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { return nil, false } -// AsInformixSource is the BasicCopySource implementation for HBaseSource. -func (hbs HBaseSource) AsInformixSource() (*InformixSource, bool) { +// AsSalesforceSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsSalesforceSource() (*SalesforceSource, bool) { return nil, false } -// AsRelationalSource is the BasicCopySource implementation for HBaseSource. -func (hbs HBaseSource) AsRelationalSource() (*RelationalSource, bool) { +// AsSapBwSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsSapBwSource() (*SapBwSource, bool) { return nil, false } -// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for HBaseSource. -func (hbs HBaseSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { +// AsSybaseSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsSybaseSource() (*SybaseSource, bool) { return nil, false } -// AsDynamicsCrmSource is the BasicCopySource implementation for HBaseSource. -func (hbs HBaseSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { +// AsPostgreSQLSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { return nil, false } -// AsDynamicsSource is the BasicCopySource implementation for HBaseSource. -func (hbs HBaseSource) AsDynamicsSource() (*DynamicsSource, bool) { +// AsMySQLSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsMySQLSource() (*MySQLSource, bool) { return nil, false } -// AsDocumentDbCollectionSource is the BasicCopySource implementation for HBaseSource. -func (hbs HBaseSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { +// AsOdbcSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsOdbcSource() (*OdbcSource, bool) { return nil, false } -// AsBlobSource is the BasicCopySource implementation for HBaseSource. -func (hbs HBaseSource) AsBlobSource() (*BlobSource, bool) { +// AsDb2Source is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsDb2Source() (*Db2Source, bool) { return nil, false } -// AsAzureTableSource is the BasicCopySource implementation for HBaseSource. -func (hbs HBaseSource) AsAzureTableSource() (*AzureTableSource, bool) { +// AsInformixSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsInformixSource() (*InformixSource, bool) { return nil, false } -// AsBinarySource is the BasicCopySource implementation for HBaseSource. -func (hbs HBaseSource) AsBinarySource() (*BinarySource, bool) { +// AsAzureTableSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsAzureTableSource() (*AzureTableSource, bool) { return nil, false } -// AsDelimitedTextSource is the BasicCopySource implementation for HBaseSource. -func (hbs HBaseSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { +// AsTabularSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsTabularSource() (*TabularSource, bool) { return nil, false } -// AsParquetSource is the BasicCopySource implementation for HBaseSource. -func (hbs HBaseSource) AsParquetSource() (*ParquetSource, bool) { +// AsBasicTabularSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &gaws, true +} + +// AsBinarySource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsBinarySource() (*BinarySource, bool) { return nil, false } -// AsAvroSource is the BasicCopySource implementation for HBaseSource. -func (hbs HBaseSource) AsAvroSource() (*AvroSource, bool) { +// AsOrcSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsOrcSource() (*OrcSource, bool) { return nil, false } -// AsCopySource is the BasicCopySource implementation for HBaseSource. -func (hbs HBaseSource) AsCopySource() (*CopySource, bool) { +// AsJSONSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsJSONSource() (*JSONSource, bool) { return nil, false } -// AsBasicCopySource is the BasicCopySource implementation for HBaseSource. -func (hbs HBaseSource) AsBasicCopySource() (BasicCopySource, bool) { - return &hbs, true +// AsDelimitedTextSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false } -// UnmarshalJSON is the custom unmarshaler for HBaseSource struct. -func (hbs *HBaseSource) UnmarshalJSON(body []byte) error { +// AsParquetSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for GoogleAdWordsSource. +func (gaws GoogleAdWordsSource) AsBasicCopySource() (BasicCopySource, bool) { + return &gaws, true +} + +// UnmarshalJSON is the custom unmarshaler for GoogleAdWordsSource struct. +func (gaws *GoogleAdWordsSource) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -87746,7 +92964,16 @@ func (hbs *HBaseSource) UnmarshalJSON(body []byte) error { if err != nil { return err } - hbs.Query = query + gaws.Query = query + } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + gaws.QueryTimeout = queryTimeout } default: if v != nil { @@ -87755,10 +92982,10 @@ func (hbs *HBaseSource) UnmarshalJSON(body []byte) error { if err != nil { return err } - if hbs.AdditionalProperties == nil { - hbs.AdditionalProperties = make(map[string]interface{}) + if gaws.AdditionalProperties == nil { + gaws.AdditionalProperties = make(map[string]interface{}) } - hbs.AdditionalProperties[k] = additionalProperties + gaws.AdditionalProperties[k] = additionalProperties } case "sourceRetryCount": if v != nil { @@ -87767,7 +92994,7 @@ func (hbs *HBaseSource) UnmarshalJSON(body []byte) error { if err != nil { return err } - hbs.SourceRetryCount = sourceRetryCount + gaws.SourceRetryCount = sourceRetryCount } case "sourceRetryWait": if v != nil { @@ -87776,7 +93003,7 @@ func (hbs *HBaseSource) UnmarshalJSON(body []byte) error { if err != nil { return err } - hbs.SourceRetryWait = sourceRetryWait + gaws.SourceRetryWait = sourceRetryWait } case "maxConcurrentConnections": if v != nil { @@ -87785,7 +93012,7 @@ func (hbs *HBaseSource) UnmarshalJSON(body []byte) error { if err != nil { return err } - hbs.MaxConcurrentConnections = maxConcurrentConnections + gaws.MaxConcurrentConnections = maxConcurrentConnections } case "type": if v != nil { @@ -87794,7 +93021,7 @@ func (hbs *HBaseSource) UnmarshalJSON(body []byte) error { if err != nil { return err } - hbs.Type = typeVar + gaws.Type = typeVar } } } @@ -87802,10 +93029,20 @@ func (hbs *HBaseSource) UnmarshalJSON(body []byte) error { return nil } -// HdfsLinkedService hadoop Distributed File System (HDFS) linked service. -type HdfsLinkedService struct { - // HdfsLinkedServiceTypeProperties - HDFS linked service properties. - *HdfsLinkedServiceTypeProperties `json:"typeProperties,omitempty"` +// GoogleBigQueryDatasetTypeProperties google BigQuery Dataset Properties +type GoogleBigQueryDatasetTypeProperties struct { + // TableName - This property will be retired. Please consider using database + table properties instead. + TableName interface{} `json:"tableName,omitempty"` + // Table - The table name of the Google BigQuery. Type: string (or Expression with resultType string). + Table interface{} `json:"table,omitempty"` + // Dataset - The database name of the Google BigQuery. Type: string (or Expression with resultType string). + Dataset interface{} `json:"dataset,omitempty"` +} + +// GoogleBigQueryLinkedService google BigQuery service linked service. +type GoogleBigQueryLinkedService struct { + // GoogleBigQueryLinkedServiceTypeProperties - Google BigQuery service linked service properties. + *GoogleBigQueryLinkedServiceTypeProperties `json:"typeProperties,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` // ConnectVia - The integration runtime reference. @@ -87816,505 +93053,520 @@ type HdfsLinkedService struct { Parameters map[string]*ParameterSpecification `json:"parameters"` // Annotations - List of tags that can be used for describing the linked service. Annotations *[]interface{} `json:"annotations,omitempty"` - // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' + // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' Type TypeBasicLinkedService `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for HdfsLinkedService. -func (hls HdfsLinkedService) MarshalJSON() ([]byte, error) { - hls.Type = TypeHdfs +// MarshalJSON is the custom marshaler for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) MarshalJSON() ([]byte, error) { + gbqls.Type = TypeGoogleBigQuery objectMap := make(map[string]interface{}) - if hls.HdfsLinkedServiceTypeProperties != nil { - objectMap["typeProperties"] = hls.HdfsLinkedServiceTypeProperties + if gbqls.GoogleBigQueryLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = gbqls.GoogleBigQueryLinkedServiceTypeProperties } - if hls.ConnectVia != nil { - objectMap["connectVia"] = hls.ConnectVia + if gbqls.ConnectVia != nil { + objectMap["connectVia"] = gbqls.ConnectVia } - if hls.Description != nil { - objectMap["description"] = hls.Description + if gbqls.Description != nil { + objectMap["description"] = gbqls.Description } - if hls.Parameters != nil { - objectMap["parameters"] = hls.Parameters + if gbqls.Parameters != nil { + objectMap["parameters"] = gbqls.Parameters } - if hls.Annotations != nil { - objectMap["annotations"] = hls.Annotations + if gbqls.Annotations != nil { + objectMap["annotations"] = gbqls.Annotations } - if hls.Type != "" { - objectMap["type"] = hls.Type + if gbqls.Type != "" { + objectMap["type"] = gbqls.Type } - for k, v := range hls.AdditionalProperties { + for k, v := range gbqls.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsAzureFunctionLinkedService is the BasicLinkedService implementation for HdfsLinkedService. -func (hls HdfsLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { return nil, false } -// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for HdfsLinkedService. -func (hls HdfsLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { return nil, false } -// AsSapTableLinkedService is the BasicLinkedService implementation for HdfsLinkedService. -func (hls HdfsLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { +// AsSapTableLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { return nil, false } -// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for HdfsLinkedService. -func (hls HdfsLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { return nil, false } -// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for HdfsLinkedService. -func (hls HdfsLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { return nil, false } -// AsDynamicsAXLinkedService is the BasicLinkedService implementation for HdfsLinkedService. -func (hls HdfsLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { return nil, false } -// AsResponsysLinkedService is the BasicLinkedService implementation for HdfsLinkedService. -func (hls HdfsLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { +// AsResponsysLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { return nil, false } -// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for HdfsLinkedService. -func (hls HdfsLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { return nil, false } -// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for HdfsLinkedService. -func (hls HdfsLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { return nil, false } -// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for HdfsLinkedService. -func (hls HdfsLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { return nil, false } -// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for HdfsLinkedService. -func (hls HdfsLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { return nil, false } -// AsNetezzaLinkedService is the BasicLinkedService implementation for HdfsLinkedService. -func (hls HdfsLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { +// AsNetezzaLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { return nil, false } -// AsVerticaLinkedService is the BasicLinkedService implementation for HdfsLinkedService. -func (hls HdfsLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { +// AsVerticaLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { return nil, false } -// AsZohoLinkedService is the BasicLinkedService implementation for HdfsLinkedService. -func (hls HdfsLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { +// AsZohoLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { return nil, false } -// AsXeroLinkedService is the BasicLinkedService implementation for HdfsLinkedService. -func (hls HdfsLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { +// AsXeroLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { return nil, false } -// AsSquareLinkedService is the BasicLinkedService implementation for HdfsLinkedService. -func (hls HdfsLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { +// AsSquareLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { return nil, false } -// AsSparkLinkedService is the BasicLinkedService implementation for HdfsLinkedService. -func (hls HdfsLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { +// AsSparkLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { return nil, false } -// AsShopifyLinkedService is the BasicLinkedService implementation for HdfsLinkedService. -func (hls HdfsLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { +// AsShopifyLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { return nil, false } -// AsServiceNowLinkedService is the BasicLinkedService implementation for HdfsLinkedService. -func (hls HdfsLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { +// AsServiceNowLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { return nil, false } -// AsQuickBooksLinkedService is the BasicLinkedService implementation for HdfsLinkedService. -func (hls HdfsLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { +// AsQuickBooksLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { return nil, false } -// AsPrestoLinkedService is the BasicLinkedService implementation for HdfsLinkedService. -func (hls HdfsLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { +// AsPrestoLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { return nil, false } -// AsPhoenixLinkedService is the BasicLinkedService implementation for HdfsLinkedService. -func (hls HdfsLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { +// AsPhoenixLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { return nil, false } -// AsPaypalLinkedService is the BasicLinkedService implementation for HdfsLinkedService. -func (hls HdfsLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { +// AsPaypalLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { return nil, false } -// AsMarketoLinkedService is the BasicLinkedService implementation for HdfsLinkedService. -func (hls HdfsLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { +// AsMarketoLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { return nil, false } -// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for HdfsLinkedService. -func (hls HdfsLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { return nil, false } -// AsMariaDBLinkedService is the BasicLinkedService implementation for HdfsLinkedService. -func (hls HdfsLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { +// AsMariaDBLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { return nil, false } -// AsMagentoLinkedService is the BasicLinkedService implementation for HdfsLinkedService. -func (hls HdfsLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { +// AsMagentoLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { return nil, false } -// AsJiraLinkedService is the BasicLinkedService implementation for HdfsLinkedService. -func (hls HdfsLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { +// AsJiraLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { return nil, false } -// AsImpalaLinkedService is the BasicLinkedService implementation for HdfsLinkedService. -func (hls HdfsLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { +// AsImpalaLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { return nil, false } -// AsHubspotLinkedService is the BasicLinkedService implementation for HdfsLinkedService. -func (hls HdfsLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { +// AsHubspotLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { return nil, false } -// AsHiveLinkedService is the BasicLinkedService implementation for HdfsLinkedService. -func (hls HdfsLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { +// AsHiveLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { return nil, false } -// AsHBaseLinkedService is the BasicLinkedService implementation for HdfsLinkedService. -func (hls HdfsLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { +// AsHBaseLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { return nil, false } -// AsGreenplumLinkedService is the BasicLinkedService implementation for HdfsLinkedService. -func (hls HdfsLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { +// AsGreenplumLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { return nil, false } -// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for HdfsLinkedService. -func (hls HdfsLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return &gbqls, true +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { return nil, false } -// AsEloquaLinkedService is the BasicLinkedService implementation for HdfsLinkedService. -func (hls HdfsLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { +// AsDrillLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { return nil, false } -// AsDrillLinkedService is the BasicLinkedService implementation for HdfsLinkedService. -func (hls HdfsLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { +// AsCouchbaseLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { return nil, false } -// AsCouchbaseLinkedService is the BasicLinkedService implementation for HdfsLinkedService. -func (hls HdfsLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { +// AsConcurLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { return nil, false } -// AsConcurLinkedService is the BasicLinkedService implementation for HdfsLinkedService. -func (hls HdfsLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { return nil, false } -// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for HdfsLinkedService. -func (hls HdfsLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { return nil, false } -// AsAmazonMWSLinkedService is the BasicLinkedService implementation for HdfsLinkedService. -func (hls HdfsLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { +// AsSapHanaLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { return nil, false } -// AsSapHanaLinkedService is the BasicLinkedService implementation for HdfsLinkedService. -func (hls HdfsLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { +// AsSapBWLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { return nil, false } -// AsSapBWLinkedService is the BasicLinkedService implementation for HdfsLinkedService. -func (hls HdfsLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { +// AsSftpServerLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { return nil, false } -// AsSftpServerLinkedService is the BasicLinkedService implementation for HdfsLinkedService. -func (hls HdfsLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { +// AsFtpServerLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { return nil, false } -// AsFtpServerLinkedService is the BasicLinkedService implementation for HdfsLinkedService. -func (hls HdfsLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { +// AsHTTPLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { return nil, false } -// AsHTTPLinkedService is the BasicLinkedService implementation for HdfsLinkedService. -func (hls HdfsLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { +// AsAzureSearchLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { return nil, false } -// AsAzureSearchLinkedService is the BasicLinkedService implementation for HdfsLinkedService. -func (hls HdfsLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { return nil, false } -// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for HdfsLinkedService. -func (hls HdfsLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { return nil, false } -// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for HdfsLinkedService. -func (hls HdfsLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { +// AsAmazonS3LinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { return nil, false } -// AsAmazonS3LinkedService is the BasicLinkedService implementation for HdfsLinkedService. -func (hls HdfsLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { +// AsRestServiceLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { return nil, false } -// AsRestServiceLinkedService is the BasicLinkedService implementation for HdfsLinkedService. -func (hls HdfsLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { return nil, false } -// AsSapOpenHubLinkedService is the BasicLinkedService implementation for HdfsLinkedService. -func (hls HdfsLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { +// AsSapEccLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { return nil, false } -// AsSapEccLinkedService is the BasicLinkedService implementation for HdfsLinkedService. -func (hls HdfsLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { return nil, false } -// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for HdfsLinkedService. -func (hls HdfsLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { return nil, false } -// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for HdfsLinkedService. -func (hls HdfsLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { +// AsSalesforceLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { return nil, false } -// AsSalesforceLinkedService is the BasicLinkedService implementation for HdfsLinkedService. -func (hls HdfsLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { +// AsOffice365LinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { return nil, false } -// AsOffice365LinkedService is the BasicLinkedService implementation for HdfsLinkedService. -func (hls HdfsLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { return nil, false } -// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for HdfsLinkedService. -func (hls HdfsLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { return nil, false } -// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for HdfsLinkedService. -func (hls HdfsLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { return nil, false } -// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for HdfsLinkedService. -func (hls HdfsLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { return nil, false } -// AsMongoDbV2LinkedService is the BasicLinkedService implementation for HdfsLinkedService. -func (hls HdfsLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { +// AsMongoDbLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { return nil, false } -// AsMongoDbLinkedService is the BasicLinkedService implementation for HdfsLinkedService. -func (hls HdfsLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { +// AsCassandraLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { return nil, false } -// AsCassandraLinkedService is the BasicLinkedService implementation for HdfsLinkedService. -func (hls HdfsLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { +// AsWebLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { return nil, false } -// AsWebLinkedService is the BasicLinkedService implementation for HdfsLinkedService. -func (hls HdfsLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { +// AsODataLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { return nil, false } -// AsODataLinkedService is the BasicLinkedService implementation for HdfsLinkedService. -func (hls HdfsLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { +// AsHdfsLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { return nil, false } -// AsHdfsLinkedService is the BasicLinkedService implementation for HdfsLinkedService. -func (hls HdfsLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { - return &hls, true +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false } -// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for HdfsLinkedService. -func (hls HdfsLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { +// AsInformixLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { return nil, false } -// AsInformixLinkedService is the BasicLinkedService implementation for HdfsLinkedService. -func (hls HdfsLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { +// AsOdbcLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { return nil, false } -// AsOdbcLinkedService is the BasicLinkedService implementation for HdfsLinkedService. -func (hls HdfsLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { return nil, false } -// AsAzureMLLinkedService is the BasicLinkedService implementation for HdfsLinkedService. -func (hls HdfsLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { +// AsAzureMLLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { return nil, false } -// AsTeradataLinkedService is the BasicLinkedService implementation for HdfsLinkedService. -func (hls HdfsLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { +// AsTeradataLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { return nil, false } -// AsDb2LinkedService is the BasicLinkedService implementation for HdfsLinkedService. -func (hls HdfsLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { +// AsDb2LinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { return nil, false } -// AsSybaseLinkedService is the BasicLinkedService implementation for HdfsLinkedService. -func (hls HdfsLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { +// AsSybaseLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { return nil, false } -// AsPostgreSQLLinkedService is the BasicLinkedService implementation for HdfsLinkedService. -func (hls HdfsLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { return nil, false } -// AsMySQLLinkedService is the BasicLinkedService implementation for HdfsLinkedService. -func (hls HdfsLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { +// AsMySQLLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { return nil, false } -// AsAzureMySQLLinkedService is the BasicLinkedService implementation for HdfsLinkedService. -func (hls HdfsLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { return nil, false } -// AsOracleLinkedService is the BasicLinkedService implementation for HdfsLinkedService. -func (hls HdfsLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { +// AsOracleLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { return nil, false } -// AsFileServerLinkedService is the BasicLinkedService implementation for HdfsLinkedService. -func (hls HdfsLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { return nil, false } -// AsHDInsightLinkedService is the BasicLinkedService implementation for HdfsLinkedService. -func (hls HdfsLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { return nil, false } -// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for HdfsLinkedService. -func (hls HdfsLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { +// AsFileServerLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { return nil, false } -// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for HdfsLinkedService. -func (hls HdfsLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { +// AsHDInsightLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { return nil, false } -// AsDynamicsLinkedService is the BasicLinkedService implementation for HdfsLinkedService. -func (hls HdfsLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { return nil, false } -// AsCosmosDbLinkedService is the BasicLinkedService implementation for HdfsLinkedService. -func (hls HdfsLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { return nil, false } -// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for HdfsLinkedService. -func (hls HdfsLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { +// AsDynamicsLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { return nil, false } -// AsAzureBatchLinkedService is the BasicLinkedService implementation for HdfsLinkedService. -func (hls HdfsLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { +// AsCosmosDbLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { return nil, false } -// AsAzureSQLMILinkedService is the BasicLinkedService implementation for HdfsLinkedService. -func (hls HdfsLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { return nil, false } -// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for HdfsLinkedService. -func (hls HdfsLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { +// AsAzureBatchLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { return nil, false } -// AsSQLServerLinkedService is the BasicLinkedService implementation for HdfsLinkedService. -func (hls HdfsLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { return nil, false } -// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for HdfsLinkedService. -func (hls HdfsLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { return nil, false } -// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for HdfsLinkedService. -func (hls HdfsLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { +// AsSQLServerLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { return nil, false } -// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for HdfsLinkedService. -func (hls HdfsLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { return nil, false } -// AsAzureStorageLinkedService is the BasicLinkedService implementation for HdfsLinkedService. -func (hls HdfsLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { return nil, false } -// AsLinkedService is the BasicLinkedService implementation for HdfsLinkedService. -func (hls HdfsLinkedService) AsLinkedService() (*LinkedService, bool) { +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { return nil, false } -// AsBasicLinkedService is the BasicLinkedService implementation for HdfsLinkedService. -func (hls HdfsLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { - return &hls, true +// AsAzureStorageLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false } -// UnmarshalJSON is the custom unmarshaler for HdfsLinkedService struct. -func (hls *HdfsLinkedService) UnmarshalJSON(body []byte) error { +// AsLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for GoogleBigQueryLinkedService. +func (gbqls GoogleBigQueryLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &gbqls, true +} + +// UnmarshalJSON is the custom unmarshaler for GoogleBigQueryLinkedService struct. +func (gbqls *GoogleBigQueryLinkedService) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -88324,12 +93576,12 @@ func (hls *HdfsLinkedService) UnmarshalJSON(body []byte) error { switch k { case "typeProperties": if v != nil { - var hdfsLinkedServiceTypeProperties HdfsLinkedServiceTypeProperties - err = json.Unmarshal(*v, &hdfsLinkedServiceTypeProperties) + var googleBigQueryLinkedServiceTypeProperties GoogleBigQueryLinkedServiceTypeProperties + err = json.Unmarshal(*v, &googleBigQueryLinkedServiceTypeProperties) if err != nil { return err } - hls.HdfsLinkedServiceTypeProperties = &hdfsLinkedServiceTypeProperties + gbqls.GoogleBigQueryLinkedServiceTypeProperties = &googleBigQueryLinkedServiceTypeProperties } default: if v != nil { @@ -88338,10 +93590,10 @@ func (hls *HdfsLinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - if hls.AdditionalProperties == nil { - hls.AdditionalProperties = make(map[string]interface{}) + if gbqls.AdditionalProperties == nil { + gbqls.AdditionalProperties = make(map[string]interface{}) } - hls.AdditionalProperties[k] = additionalProperties + gbqls.AdditionalProperties[k] = additionalProperties } case "connectVia": if v != nil { @@ -88350,7 +93602,7 @@ func (hls *HdfsLinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - hls.ConnectVia = &connectVia + gbqls.ConnectVia = &connectVia } case "description": if v != nil { @@ -88359,7 +93611,7 @@ func (hls *HdfsLinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - hls.Description = &description + gbqls.Description = &description } case "parameters": if v != nil { @@ -88368,7 +93620,7 @@ func (hls *HdfsLinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - hls.Parameters = parameters + gbqls.Parameters = parameters } case "annotations": if v != nil { @@ -88377,7 +93629,7 @@ func (hls *HdfsLinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - hls.Annotations = &annotations + gbqls.Annotations = &annotations } case "type": if v != nil { @@ -88386,7 +93638,7 @@ func (hls *HdfsLinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - hls.Type = typeVar + gbqls.Type = typeVar } } } @@ -88394,22 +93646,36 @@ func (hls *HdfsLinkedService) UnmarshalJSON(body []byte) error { return nil } -// HdfsLinkedServiceTypeProperties HDFS linked service properties. -type HdfsLinkedServiceTypeProperties struct { - // URL - The URL of the HDFS service endpoint, e.g. http://myhostname:50070/webhdfs/v1 . Type: string (or Expression with resultType string). - URL interface{} `json:"url,omitempty"` - // AuthenticationType - Type of authentication used to connect to the HDFS. Possible values are: Anonymous and Windows. Type: string (or Expression with resultType string). - AuthenticationType interface{} `json:"authenticationType,omitempty"` +// GoogleBigQueryLinkedServiceTypeProperties google BigQuery service linked service properties. +type GoogleBigQueryLinkedServiceTypeProperties struct { + // Project - The default BigQuery project to query against. + Project interface{} `json:"project,omitempty"` + // AdditionalProjects - A comma-separated list of public BigQuery projects to access. + AdditionalProjects interface{} `json:"additionalProjects,omitempty"` + // RequestGoogleDriveScope - Whether to request access to Google Drive. Allowing Google Drive access enables support for federated tables that combine BigQuery data with data from Google Drive. The default value is false. + RequestGoogleDriveScope interface{} `json:"requestGoogleDriveScope,omitempty"` + // AuthenticationType - The OAuth 2.0 authentication mechanism used for authentication. ServiceAuthentication can only be used on self-hosted IR. Possible values include: 'GoogleBigQueryAuthenticationTypeServiceAuthentication', 'GoogleBigQueryAuthenticationTypeUserAuthentication' + AuthenticationType GoogleBigQueryAuthenticationType `json:"authenticationType,omitempty"` + // RefreshToken - The refresh token obtained from Google for authorizing access to BigQuery for UserAuthentication. + RefreshToken BasicSecretBase `json:"refreshToken,omitempty"` + // ClientID - The client id of the google application used to acquire the refresh token. + ClientID BasicSecretBase `json:"clientId,omitempty"` + // ClientSecret - The client secret of the google application used to acquire the refresh token. + ClientSecret BasicSecretBase `json:"clientSecret,omitempty"` + // Email - The service account email ID that is used for ServiceAuthentication and can only be used on self-hosted IR. + Email interface{} `json:"email,omitempty"` + // KeyFilePath - The full path to the .p12 key file that is used to authenticate the service account email address and can only be used on self-hosted IR. + KeyFilePath interface{} `json:"keyFilePath,omitempty"` + // TrustedCertPath - The full path of the .pem file containing trusted CA certificates for verifying the server when connecting over SSL. This property can only be set when using SSL on self-hosted IR. The default value is the cacerts.pem file installed with the IR. + TrustedCertPath interface{} `json:"trustedCertPath,omitempty"` + // UseSystemTrustStore - Specifies whether to use a CA certificate from the system trust store or from a specified PEM file. The default value is false. + UseSystemTrustStore interface{} `json:"useSystemTrustStore,omitempty"` // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` - // UserName - User name for Windows authentication. Type: string (or Expression with resultType string). - UserName interface{} `json:"userName,omitempty"` - // Password - Password for Windows authentication. - Password BasicSecretBase `json:"password,omitempty"` } -// UnmarshalJSON is the custom unmarshaler for HdfsLinkedServiceTypeProperties struct. -func (hlstp *HdfsLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { +// UnmarshalJSON is the custom unmarshaler for GoogleBigQueryLinkedServiceTypeProperties struct. +func (gbqlstp *GoogleBigQueryLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -88417,133 +93683,110 @@ func (hlstp *HdfsLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { } for k, v := range m { switch k { - case "url": + case "project": if v != nil { - var URL interface{} - err = json.Unmarshal(*v, &URL) + var project interface{} + err = json.Unmarshal(*v, &project) if err != nil { return err } - hlstp.URL = URL + gbqlstp.Project = project + } + case "additionalProjects": + if v != nil { + var additionalProjects interface{} + err = json.Unmarshal(*v, &additionalProjects) + if err != nil { + return err + } + gbqlstp.AdditionalProjects = additionalProjects + } + case "requestGoogleDriveScope": + if v != nil { + var requestGoogleDriveScope interface{} + err = json.Unmarshal(*v, &requestGoogleDriveScope) + if err != nil { + return err + } + gbqlstp.RequestGoogleDriveScope = requestGoogleDriveScope } case "authenticationType": if v != nil { - var authenticationType interface{} + var authenticationType GoogleBigQueryAuthenticationType err = json.Unmarshal(*v, &authenticationType) if err != nil { return err } - hlstp.AuthenticationType = authenticationType + gbqlstp.AuthenticationType = authenticationType } - case "encryptedCredential": + case "refreshToken": if v != nil { - var encryptedCredential interface{} - err = json.Unmarshal(*v, &encryptedCredential) + refreshToken, err := unmarshalBasicSecretBase(*v) if err != nil { return err } - hlstp.EncryptedCredential = encryptedCredential + gbqlstp.RefreshToken = refreshToken } - case "userName": + case "clientId": if v != nil { - var userName interface{} - err = json.Unmarshal(*v, &userName) + clientID, err := unmarshalBasicSecretBase(*v) if err != nil { return err } - hlstp.UserName = userName + gbqlstp.ClientID = clientID } - case "password": + case "clientSecret": if v != nil { - password, err := unmarshalBasicSecretBase(*v) + clientSecret, err := unmarshalBasicSecretBase(*v) if err != nil { return err } - hlstp.Password = password + gbqlstp.ClientSecret = clientSecret } - } - } - - return nil -} - -// HdfsLocation the location of HDFS. -type HdfsLocation struct { - // AdditionalProperties - Unmatched properties from the message are deserialized this collection - AdditionalProperties map[string]interface{} `json:""` - // Type - Type of dataset storage location. - Type *string `json:"type,omitempty"` - // FolderPath - Specify the folder path of dataset. Type: string (or Expression with resultType string) - FolderPath interface{} `json:"folderPath,omitempty"` - // FileName - Specify the file name of dataset. Type: string (or Expression with resultType string). - FileName interface{} `json:"fileName,omitempty"` -} - -// MarshalJSON is the custom marshaler for HdfsLocation. -func (hl HdfsLocation) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - if hl.Type != nil { - objectMap["type"] = hl.Type - } - if hl.FolderPath != nil { - objectMap["folderPath"] = hl.FolderPath - } - if hl.FileName != nil { - objectMap["fileName"] = hl.FileName - } - for k, v := range hl.AdditionalProperties { - objectMap[k] = v - } - return json.Marshal(objectMap) -} - -// UnmarshalJSON is the custom unmarshaler for HdfsLocation struct. -func (hl *HdfsLocation) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - default: + case "email": if v != nil { - var additionalProperties interface{} - err = json.Unmarshal(*v, &additionalProperties) + var email interface{} + err = json.Unmarshal(*v, &email) if err != nil { return err } - if hl.AdditionalProperties == nil { - hl.AdditionalProperties = make(map[string]interface{}) + gbqlstp.Email = email + } + case "keyFilePath": + if v != nil { + var keyFilePath interface{} + err = json.Unmarshal(*v, &keyFilePath) + if err != nil { + return err } - hl.AdditionalProperties[k] = additionalProperties + gbqlstp.KeyFilePath = keyFilePath } - case "type": + case "trustedCertPath": if v != nil { - var typeVar string - err = json.Unmarshal(*v, &typeVar) + var trustedCertPath interface{} + err = json.Unmarshal(*v, &trustedCertPath) if err != nil { return err } - hl.Type = &typeVar + gbqlstp.TrustedCertPath = trustedCertPath } - case "folderPath": + case "useSystemTrustStore": if v != nil { - var folderPath interface{} - err = json.Unmarshal(*v, &folderPath) + var useSystemTrustStore interface{} + err = json.Unmarshal(*v, &useSystemTrustStore) if err != nil { return err } - hl.FolderPath = folderPath + gbqlstp.UseSystemTrustStore = useSystemTrustStore } - case "fileName": + case "encryptedCredential": if v != nil { - var fileName interface{} - err = json.Unmarshal(*v, &fileName) + var encryptedCredential interface{} + err = json.Unmarshal(*v, &encryptedCredential) if err != nil { return err } - hl.FileName = fileName + gbqlstp.EncryptedCredential = encryptedCredential } } } @@ -88551,647 +93794,514 @@ func (hl *HdfsLocation) UnmarshalJSON(body []byte) error { return nil } -// HdfsReadSettings HDFS read settings. -type HdfsReadSettings struct { - // Recursive - If true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean). - Recursive interface{} `json:"recursive,omitempty"` - // WildcardFolderPath - HDFS wildcardFolderPath. Type: string (or Expression with resultType string). - WildcardFolderPath interface{} `json:"wildcardFolderPath,omitempty"` - // WildcardFileName - HDFS wildcardFileName. Type: string (or Expression with resultType string). - WildcardFileName interface{} `json:"wildcardFileName,omitempty"` - // EnablePartitionDiscovery - Indicates whether to enable partition discovery. - EnablePartitionDiscovery *bool `json:"enablePartitionDiscovery,omitempty"` - // ModifiedDatetimeStart - The start of file's modified datetime. Type: string (or Expression with resultType string). - ModifiedDatetimeStart interface{} `json:"modifiedDatetimeStart,omitempty"` - // ModifiedDatetimeEnd - The end of file's modified datetime. Type: string (or Expression with resultType string). - ModifiedDatetimeEnd interface{} `json:"modifiedDatetimeEnd,omitempty"` - // DistcpSettings - Specifies Distcp-related settings. - DistcpSettings *DistcpSettings `json:"distcpSettings,omitempty"` +// GoogleBigQueryObjectDataset google BigQuery service dataset. +type GoogleBigQueryObjectDataset struct { + // GoogleBigQueryDatasetTypeProperties - Properties specific to this dataset type. + *GoogleBigQueryDatasetTypeProperties `json:"typeProperties,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` - // Type - The read setting type. - Type *string `json:"type,omitempty"` - // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). - MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // Description - Dataset description. + Description *string `json:"description,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' + Type TypeBasicDataset `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for HdfsReadSettings. -func (hrs HdfsReadSettings) MarshalJSON() ([]byte, error) { +// MarshalJSON is the custom marshaler for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) MarshalJSON() ([]byte, error) { + gbqod.Type = TypeGoogleBigQueryObject objectMap := make(map[string]interface{}) - if hrs.Recursive != nil { - objectMap["recursive"] = hrs.Recursive + if gbqod.GoogleBigQueryDatasetTypeProperties != nil { + objectMap["typeProperties"] = gbqod.GoogleBigQueryDatasetTypeProperties } - if hrs.WildcardFolderPath != nil { - objectMap["wildcardFolderPath"] = hrs.WildcardFolderPath + if gbqod.Description != nil { + objectMap["description"] = gbqod.Description } - if hrs.WildcardFileName != nil { - objectMap["wildcardFileName"] = hrs.WildcardFileName + if gbqod.Structure != nil { + objectMap["structure"] = gbqod.Structure } - if hrs.EnablePartitionDiscovery != nil { - objectMap["enablePartitionDiscovery"] = hrs.EnablePartitionDiscovery + if gbqod.Schema != nil { + objectMap["schema"] = gbqod.Schema } - if hrs.ModifiedDatetimeStart != nil { - objectMap["modifiedDatetimeStart"] = hrs.ModifiedDatetimeStart + if gbqod.LinkedServiceName != nil { + objectMap["linkedServiceName"] = gbqod.LinkedServiceName } - if hrs.ModifiedDatetimeEnd != nil { - objectMap["modifiedDatetimeEnd"] = hrs.ModifiedDatetimeEnd + if gbqod.Parameters != nil { + objectMap["parameters"] = gbqod.Parameters } - if hrs.DistcpSettings != nil { - objectMap["distcpSettings"] = hrs.DistcpSettings + if gbqod.Annotations != nil { + objectMap["annotations"] = gbqod.Annotations } - if hrs.Type != nil { - objectMap["type"] = hrs.Type + if gbqod.Folder != nil { + objectMap["folder"] = gbqod.Folder } - if hrs.MaxConcurrentConnections != nil { - objectMap["maxConcurrentConnections"] = hrs.MaxConcurrentConnections + if gbqod.Type != "" { + objectMap["type"] = gbqod.Type } - for k, v := range hrs.AdditionalProperties { + for k, v := range gbqod.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// UnmarshalJSON is the custom unmarshaler for HdfsReadSettings struct. -func (hrs *HdfsReadSettings) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - case "recursive": - if v != nil { - var recursive interface{} - err = json.Unmarshal(*v, &recursive) - if err != nil { - return err - } - hrs.Recursive = recursive - } - case "wildcardFolderPath": - if v != nil { - var wildcardFolderPath interface{} - err = json.Unmarshal(*v, &wildcardFolderPath) - if err != nil { - return err - } - hrs.WildcardFolderPath = wildcardFolderPath - } - case "wildcardFileName": - if v != nil { - var wildcardFileName interface{} - err = json.Unmarshal(*v, &wildcardFileName) - if err != nil { - return err - } - hrs.WildcardFileName = wildcardFileName - } - case "enablePartitionDiscovery": - if v != nil { - var enablePartitionDiscovery bool - err = json.Unmarshal(*v, &enablePartitionDiscovery) - if err != nil { - return err - } - hrs.EnablePartitionDiscovery = &enablePartitionDiscovery - } - case "modifiedDatetimeStart": - if v != nil { - var modifiedDatetimeStart interface{} - err = json.Unmarshal(*v, &modifiedDatetimeStart) - if err != nil { - return err - } - hrs.ModifiedDatetimeStart = modifiedDatetimeStart - } - case "modifiedDatetimeEnd": - if v != nil { - var modifiedDatetimeEnd interface{} - err = json.Unmarshal(*v, &modifiedDatetimeEnd) - if err != nil { - return err - } - hrs.ModifiedDatetimeEnd = modifiedDatetimeEnd - } - case "distcpSettings": - if v != nil { - var distcpSettings DistcpSettings - err = json.Unmarshal(*v, &distcpSettings) - if err != nil { - return err - } - hrs.DistcpSettings = &distcpSettings - } - default: - if v != nil { - var additionalProperties interface{} - err = json.Unmarshal(*v, &additionalProperties) - if err != nil { - return err - } - if hrs.AdditionalProperties == nil { - hrs.AdditionalProperties = make(map[string]interface{}) - } - hrs.AdditionalProperties[k] = additionalProperties - } - case "type": - if v != nil { - var typeVar string - err = json.Unmarshal(*v, &typeVar) - if err != nil { - return err - } - hrs.Type = &typeVar - } - case "maxConcurrentConnections": - if v != nil { - var maxConcurrentConnections interface{} - err = json.Unmarshal(*v, &maxConcurrentConnections) - if err != nil { - return err - } - hrs.MaxConcurrentConnections = maxConcurrentConnections - } - } - } - - return nil +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { + return nil, false } -// HdfsSource a copy activity HDFS source. -type HdfsSource struct { - // Recursive - If true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean). - Recursive interface{} `json:"recursive,omitempty"` - // DistcpSettings - Specifies Distcp-related settings. - DistcpSettings *DistcpSettings `json:"distcpSettings,omitempty"` - // AdditionalProperties - Unmatched properties from the message are deserialized this collection - AdditionalProperties map[string]interface{} `json:""` - // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). - SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` - // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). - SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` - // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). - MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' - Type TypeBasicCopySource `json:"type,omitempty"` +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { + return nil, false } -// MarshalJSON is the custom marshaler for HdfsSource. -func (hs HdfsSource) MarshalJSON() ([]byte, error) { - hs.Type = TypeHdfsSource - objectMap := make(map[string]interface{}) - if hs.Recursive != nil { - objectMap["recursive"] = hs.Recursive - } - if hs.DistcpSettings != nil { - objectMap["distcpSettings"] = hs.DistcpSettings - } - if hs.SourceRetryCount != nil { - objectMap["sourceRetryCount"] = hs.SourceRetryCount - } - if hs.SourceRetryWait != nil { - objectMap["sourceRetryWait"] = hs.SourceRetryWait - } - if hs.MaxConcurrentConnections != nil { - objectMap["maxConcurrentConnections"] = hs.MaxConcurrentConnections - } - if hs.Type != "" { - objectMap["type"] = hs.Type - } - for k, v := range hs.AdditionalProperties { - objectMap[k] = v - } - return json.Marshal(objectMap) +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { + return nil, false } -// AsAmazonRedshiftSource is the BasicCopySource implementation for HdfsSource. -func (hs HdfsSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { +// AsDynamicsAXResourceDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { return nil, false } -// AsGoogleAdWordsSource is the BasicCopySource implementation for HdfsSource. -func (hs HdfsSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { +// AsResponsysObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { return nil, false } -// AsOracleServiceCloudSource is the BasicCopySource implementation for HdfsSource. -func (hs HdfsSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { return nil, false } -// AsDynamicsAXSource is the BasicCopySource implementation for HdfsSource. -func (hs HdfsSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { +// AsVerticaTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { return nil, false } -// AsResponsysSource is the BasicCopySource implementation for HdfsSource. -func (hs HdfsSource) AsResponsysSource() (*ResponsysSource, bool) { +// AsNetezzaTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { return nil, false } -// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for HdfsSource. -func (hs HdfsSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { +// AsZohoObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { return nil, false } -// AsVerticaSource is the BasicCopySource implementation for HdfsSource. -func (hs HdfsSource) AsVerticaSource() (*VerticaSource, bool) { +// AsXeroObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { return nil, false } -// AsNetezzaSource is the BasicCopySource implementation for HdfsSource. -func (hs HdfsSource) AsNetezzaSource() (*NetezzaSource, bool) { +// AsSquareObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { return nil, false } -// AsZohoSource is the BasicCopySource implementation for HdfsSource. -func (hs HdfsSource) AsZohoSource() (*ZohoSource, bool) { +// AsSparkObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { return nil, false } -// AsXeroSource is the BasicCopySource implementation for HdfsSource. -func (hs HdfsSource) AsXeroSource() (*XeroSource, bool) { +// AsShopifyObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { return nil, false } -// AsSquareSource is the BasicCopySource implementation for HdfsSource. -func (hs HdfsSource) AsSquareSource() (*SquareSource, bool) { +// AsServiceNowObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { return nil, false } -// AsSparkSource is the BasicCopySource implementation for HdfsSource. -func (hs HdfsSource) AsSparkSource() (*SparkSource, bool) { +// AsQuickBooksObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { return nil, false } -// AsShopifySource is the BasicCopySource implementation for HdfsSource. -func (hs HdfsSource) AsShopifySource() (*ShopifySource, bool) { +// AsPrestoObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { return nil, false } -// AsServiceNowSource is the BasicCopySource implementation for HdfsSource. -func (hs HdfsSource) AsServiceNowSource() (*ServiceNowSource, bool) { +// AsPhoenixObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { return nil, false } -// AsQuickBooksSource is the BasicCopySource implementation for HdfsSource. -func (hs HdfsSource) AsQuickBooksSource() (*QuickBooksSource, bool) { +// AsPaypalObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { return nil, false } -// AsPrestoSource is the BasicCopySource implementation for HdfsSource. -func (hs HdfsSource) AsPrestoSource() (*PrestoSource, bool) { +// AsMarketoObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { return nil, false } -// AsPhoenixSource is the BasicCopySource implementation for HdfsSource. -func (hs HdfsSource) AsPhoenixSource() (*PhoenixSource, bool) { +// AsAzureMariaDBTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { return nil, false } -// AsPaypalSource is the BasicCopySource implementation for HdfsSource. -func (hs HdfsSource) AsPaypalSource() (*PaypalSource, bool) { +// AsMariaDBTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { return nil, false } -// AsMarketoSource is the BasicCopySource implementation for HdfsSource. -func (hs HdfsSource) AsMarketoSource() (*MarketoSource, bool) { +// AsMagentoObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { return nil, false } -// AsAzureMariaDBSource is the BasicCopySource implementation for HdfsSource. -func (hs HdfsSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { +// AsJiraObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { return nil, false } -// AsMariaDBSource is the BasicCopySource implementation for HdfsSource. -func (hs HdfsSource) AsMariaDBSource() (*MariaDBSource, bool) { +// AsImpalaObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { return nil, false } -// AsMagentoSource is the BasicCopySource implementation for HdfsSource. -func (hs HdfsSource) AsMagentoSource() (*MagentoSource, bool) { +// AsHubspotObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { return nil, false } -// AsJiraSource is the BasicCopySource implementation for HdfsSource. -func (hs HdfsSource) AsJiraSource() (*JiraSource, bool) { +// AsHiveObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { return nil, false } -// AsImpalaSource is the BasicCopySource implementation for HdfsSource. -func (hs HdfsSource) AsImpalaSource() (*ImpalaSource, bool) { +// AsHBaseObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { return nil, false } -// AsHubspotSource is the BasicCopySource implementation for HdfsSource. -func (hs HdfsSource) AsHubspotSource() (*HubspotSource, bool) { +// AsGreenplumTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { return nil, false } -// AsHiveSource is the BasicCopySource implementation for HdfsSource. -func (hs HdfsSource) AsHiveSource() (*HiveSource, bool) { +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { + return &gbqod, true +} + +// AsEloquaObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { return nil, false } -// AsHBaseSource is the BasicCopySource implementation for HdfsSource. -func (hs HdfsSource) AsHBaseSource() (*HBaseSource, bool) { +// AsDrillTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { return nil, false } -// AsGreenplumSource is the BasicCopySource implementation for HdfsSource. -func (hs HdfsSource) AsGreenplumSource() (*GreenplumSource, bool) { +// AsCouchbaseTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { return nil, false } -// AsGoogleBigQuerySource is the BasicCopySource implementation for HdfsSource. -func (hs HdfsSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { +// AsConcurObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { return nil, false } -// AsEloquaSource is the BasicCopySource implementation for HdfsSource. -func (hs HdfsSource) AsEloquaSource() (*EloquaSource, bool) { +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { return nil, false } -// AsDrillSource is the BasicCopySource implementation for HdfsSource. -func (hs HdfsSource) AsDrillSource() (*DrillSource, bool) { +// AsAmazonMWSObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { return nil, false } -// AsCouchbaseSource is the BasicCopySource implementation for HdfsSource. -func (hs HdfsSource) AsCouchbaseSource() (*CouchbaseSource, bool) { +// AsHTTPDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsHTTPDataset() (*HTTPDataset, bool) { return nil, false } -// AsConcurSource is the BasicCopySource implementation for HdfsSource. -func (hs HdfsSource) AsConcurSource() (*ConcurSource, bool) { +// AsAzureSearchIndexDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { return nil, false } -// AsAzurePostgreSQLSource is the BasicCopySource implementation for HdfsSource. -func (hs HdfsSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { +// AsWebTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) { return nil, false } -// AsAmazonMWSSource is the BasicCopySource implementation for HdfsSource. -func (hs HdfsSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { +// AsSapTableResourceDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { return nil, false } -// AsHTTPSource is the BasicCopySource implementation for HdfsSource. -func (hs HdfsSource) AsHTTPSource() (*HTTPSource, bool) { +// AsRestResourceDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { return nil, false } -// AsAzureBlobFSSource is the BasicCopySource implementation for HdfsSource. -func (hs HdfsSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { +// AsSQLServerTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { return nil, false } -// AsAzureDataLakeStoreSource is the BasicCopySource implementation for HdfsSource. -func (hs HdfsSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { +// AsSapOpenHubTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { return nil, false } -// AsOffice365Source is the BasicCopySource implementation for HdfsSource. -func (hs HdfsSource) AsOffice365Source() (*Office365Source, bool) { +// AsSapHanaTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { return nil, false } -// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for HdfsSource. -func (hs HdfsSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { +// AsSapEccResourceDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { return nil, false } -// AsMongoDbV2Source is the BasicCopySource implementation for HdfsSource. -func (hs HdfsSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { return nil, false } -// AsMongoDbSource is the BasicCopySource implementation for HdfsSource. -func (hs HdfsSource) AsMongoDbSource() (*MongoDbSource, bool) { +// AsSapBwCubeDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { return nil, false } -// AsCassandraSource is the BasicCopySource implementation for HdfsSource. -func (hs HdfsSource) AsCassandraSource() (*CassandraSource, bool) { +// AsSybaseTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { return nil, false } -// AsWebSource is the BasicCopySource implementation for HdfsSource. -func (hs HdfsSource) AsWebSource() (*WebSource, bool) { +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { return nil, false } -// AsTeradataSource is the BasicCopySource implementation for HdfsSource. -func (hs HdfsSource) AsTeradataSource() (*TeradataSource, bool) { +// AsSalesforceObjectDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { return nil, false } -// AsOracleSource is the BasicCopySource implementation for HdfsSource. -func (hs HdfsSource) AsOracleSource() (*OracleSource, bool) { +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { return nil, false } -// AsAzureDataExplorerSource is the BasicCopySource implementation for HdfsSource. -func (hs HdfsSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { +// AsPostgreSQLTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { return nil, false } -// AsAzureMySQLSource is the BasicCopySource implementation for HdfsSource. -func (hs HdfsSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { +// AsMySQLTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { return nil, false } -// AsHdfsSource is the BasicCopySource implementation for HdfsSource. -func (hs HdfsSource) AsHdfsSource() (*HdfsSource, bool) { - return &hs, true +// AsOdbcTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { + return nil, false } -// AsFileSystemSource is the BasicCopySource implementation for HdfsSource. -func (hs HdfsSource) AsFileSystemSource() (*FileSystemSource, bool) { +// AsInformixTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { return nil, false } -// AsSQLDWSource is the BasicCopySource implementation for HdfsSource. -func (hs HdfsSource) AsSQLDWSource() (*SQLDWSource, bool) { +// AsRelationalTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { return nil, false } -// AsSQLMISource is the BasicCopySource implementation for HdfsSource. -func (hs HdfsSource) AsSQLMISource() (*SQLMISource, bool) { +// AsDb2TableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { return nil, false } -// AsAzureSQLSource is the BasicCopySource implementation for HdfsSource. -func (hs HdfsSource) AsAzureSQLSource() (*AzureSQLSource, bool) { +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { return nil, false } -// AsSQLServerSource is the BasicCopySource implementation for HdfsSource. -func (hs HdfsSource) AsSQLServerSource() (*SQLServerSource, bool) { +// AsAzureMySQLTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { return nil, false } -// AsSQLSource is the BasicCopySource implementation for HdfsSource. -func (hs HdfsSource) AsSQLSource() (*SQLSource, bool) { +// AsTeradataTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { return nil, false } -// AsRestSource is the BasicCopySource implementation for HdfsSource. -func (hs HdfsSource) AsRestSource() (*RestSource, bool) { +// AsOracleTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { return nil, false } -// AsSapTableSource is the BasicCopySource implementation for HdfsSource. -func (hs HdfsSource) AsSapTableSource() (*SapTableSource, bool) { +// AsODataResourceDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { return nil, false } -// AsSapOpenHubSource is the BasicCopySource implementation for HdfsSource. -func (hs HdfsSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { return nil, false } -// AsSapHanaSource is the BasicCopySource implementation for HdfsSource. -func (hs HdfsSource) AsSapHanaSource() (*SapHanaSource, bool) { +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { return nil, false } -// AsSapEccSource is the BasicCopySource implementation for HdfsSource. -func (hs HdfsSource) AsSapEccSource() (*SapEccSource, bool) { +// AsMongoDbCollectionDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { return nil, false } -// AsSapCloudForCustomerSource is the BasicCopySource implementation for HdfsSource. -func (hs HdfsSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { +// AsFileShareDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsFileShareDataset() (*FileShareDataset, bool) { return nil, false } -// AsSalesforceServiceCloudSource is the BasicCopySource implementation for HdfsSource. -func (hs HdfsSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { +// AsOffice365Dataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) { return nil, false } -// AsSalesforceSource is the BasicCopySource implementation for HdfsSource. -func (hs HdfsSource) AsSalesforceSource() (*SalesforceSource, bool) { +// AsAzureBlobFSDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) { return nil, false } -// AsODataSource is the BasicCopySource implementation for HdfsSource. -func (hs HdfsSource) AsODataSource() (*ODataSource, bool) { +// AsAzureDataLakeStoreDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) { return nil, false } -// AsSapBwSource is the BasicCopySource implementation for HdfsSource. -func (hs HdfsSource) AsSapBwSource() (*SapBwSource, bool) { +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { return nil, false } -// AsSybaseSource is the BasicCopySource implementation for HdfsSource. -func (hs HdfsSource) AsSybaseSource() (*SybaseSource, bool) { +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { return nil, false } -// AsPostgreSQLSource is the BasicCopySource implementation for HdfsSource. -func (hs HdfsSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { +// AsDynamicsEntityDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { return nil, false } -// AsMySQLSource is the BasicCopySource implementation for HdfsSource. -func (hs HdfsSource) AsMySQLSource() (*MySQLSource, bool) { +// AsDocumentDbCollectionDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { return nil, false } -// AsOdbcSource is the BasicCopySource implementation for HdfsSource. -func (hs HdfsSource) AsOdbcSource() (*OdbcSource, bool) { +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { return nil, false } -// AsDb2Source is the BasicCopySource implementation for HdfsSource. -func (hs HdfsSource) AsDb2Source() (*Db2Source, bool) { +// AsCustomDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsCustomDataset() (*CustomDataset, bool) { return nil, false } -// AsMicrosoftAccessSource is the BasicCopySource implementation for HdfsSource. -func (hs HdfsSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { +// AsCassandraTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { return nil, false } -// AsInformixSource is the BasicCopySource implementation for HdfsSource. -func (hs HdfsSource) AsInformixSource() (*InformixSource, bool) { +// AsAzureSQLDWTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { return nil, false } -// AsRelationalSource is the BasicCopySource implementation for HdfsSource. -func (hs HdfsSource) AsRelationalSource() (*RelationalSource, bool) { +// AsAzureSQLMITableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { return nil, false } -// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for HdfsSource. -func (hs HdfsSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { +// AsAzureSQLTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { return nil, false } -// AsDynamicsCrmSource is the BasicCopySource implementation for HdfsSource. -func (hs HdfsSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { +// AsAzureTableDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { return nil, false } -// AsDynamicsSource is the BasicCopySource implementation for HdfsSource. -func (hs HdfsSource) AsDynamicsSource() (*DynamicsSource, bool) { +// AsAzureBlobDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) { return nil, false } -// AsDocumentDbCollectionSource is the BasicCopySource implementation for HdfsSource. -func (hs HdfsSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { +// AsBinaryDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) { return nil, false } -// AsBlobSource is the BasicCopySource implementation for HdfsSource. -func (hs HdfsSource) AsBlobSource() (*BlobSource, bool) { +// AsOrcDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsOrcDataset() (*OrcDataset, bool) { return nil, false } -// AsAzureTableSource is the BasicCopySource implementation for HdfsSource. -func (hs HdfsSource) AsAzureTableSource() (*AzureTableSource, bool) { +// AsJSONDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsJSONDataset() (*JSONDataset, bool) { return nil, false } -// AsBinarySource is the BasicCopySource implementation for HdfsSource. -func (hs HdfsSource) AsBinarySource() (*BinarySource, bool) { +// AsDelimitedTextDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { return nil, false } -// AsDelimitedTextSource is the BasicCopySource implementation for HdfsSource. -func (hs HdfsSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { +// AsParquetDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsParquetDataset() (*ParquetDataset, bool) { return nil, false } -// AsParquetSource is the BasicCopySource implementation for HdfsSource. -func (hs HdfsSource) AsParquetSource() (*ParquetSource, bool) { +// AsAvroDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsAvroDataset() (*AvroDataset, bool) { return nil, false } -// AsAvroSource is the BasicCopySource implementation for HdfsSource. -func (hs HdfsSource) AsAvroSource() (*AvroSource, bool) { +// AsAmazonS3Dataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) { return nil, false } -// AsCopySource is the BasicCopySource implementation for HdfsSource. -func (hs HdfsSource) AsCopySource() (*CopySource, bool) { +// AsDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsDataset() (*Dataset, bool) { return nil, false } -// AsBasicCopySource is the BasicCopySource implementation for HdfsSource. -func (hs HdfsSource) AsBasicCopySource() (BasicCopySource, bool) { - return &hs, true +// AsBasicDataset is the BasicDataset implementation for GoogleBigQueryObjectDataset. +func (gbqod GoogleBigQueryObjectDataset) AsBasicDataset() (BasicDataset, bool) { + return &gbqod, true } -// UnmarshalJSON is the custom unmarshaler for HdfsSource struct. -func (hs *HdfsSource) UnmarshalJSON(body []byte) error { +// UnmarshalJSON is the custom unmarshaler for GoogleBigQueryObjectDataset struct. +func (gbqod *GoogleBigQueryObjectDataset) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -89199,71 +94309,98 @@ func (hs *HdfsSource) UnmarshalJSON(body []byte) error { } for k, v := range m { switch k { - case "recursive": + case "typeProperties": if v != nil { - var recursive interface{} - err = json.Unmarshal(*v, &recursive) + var googleBigQueryDatasetTypeProperties GoogleBigQueryDatasetTypeProperties + err = json.Unmarshal(*v, &googleBigQueryDatasetTypeProperties) if err != nil { return err } - hs.Recursive = recursive + gbqod.GoogleBigQueryDatasetTypeProperties = &googleBigQueryDatasetTypeProperties } - case "distcpSettings": + default: if v != nil { - var distcpSettings DistcpSettings - err = json.Unmarshal(*v, &distcpSettings) + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) if err != nil { return err } - hs.DistcpSettings = &distcpSettings + if gbqod.AdditionalProperties == nil { + gbqod.AdditionalProperties = make(map[string]interface{}) + } + gbqod.AdditionalProperties[k] = additionalProperties } - default: + case "description": if v != nil { - var additionalProperties interface{} - err = json.Unmarshal(*v, &additionalProperties) + var description string + err = json.Unmarshal(*v, &description) if err != nil { return err } - if hs.AdditionalProperties == nil { - hs.AdditionalProperties = make(map[string]interface{}) + gbqod.Description = &description + } + case "structure": + if v != nil { + var structure interface{} + err = json.Unmarshal(*v, &structure) + if err != nil { + return err } - hs.AdditionalProperties[k] = additionalProperties + gbqod.Structure = structure } - case "sourceRetryCount": + case "schema": if v != nil { - var sourceRetryCount interface{} - err = json.Unmarshal(*v, &sourceRetryCount) + var schema interface{} + err = json.Unmarshal(*v, &schema) if err != nil { return err } - hs.SourceRetryCount = sourceRetryCount + gbqod.Schema = schema } - case "sourceRetryWait": + case "linkedServiceName": if v != nil { - var sourceRetryWait interface{} - err = json.Unmarshal(*v, &sourceRetryWait) + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) if err != nil { return err } - hs.SourceRetryWait = sourceRetryWait + gbqod.LinkedServiceName = &linkedServiceName } - case "maxConcurrentConnections": + case "parameters": if v != nil { - var maxConcurrentConnections interface{} - err = json.Unmarshal(*v, &maxConcurrentConnections) + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) if err != nil { return err } - hs.MaxConcurrentConnections = maxConcurrentConnections + gbqod.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + gbqod.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + gbqod.Folder = &folder } case "type": if v != nil { - var typeVar TypeBasicCopySource + var typeVar TypeBasicDataset err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - hs.Type = typeVar + gbqod.Type = typeVar } } } @@ -89271,909 +94408,1111 @@ func (hs *HdfsSource) UnmarshalJSON(body []byte) error { return nil } -// HDInsightHiveActivity hDInsight Hive activity type. -type HDInsightHiveActivity struct { - // HDInsightHiveActivityTypeProperties - HDInsight Hive activity properties. - *HDInsightHiveActivityTypeProperties `json:"typeProperties,omitempty"` - // LinkedServiceName - Linked service reference. - LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` - // Policy - Activity policy. - Policy *ActivityPolicy `json:"policy,omitempty"` +// GoogleBigQuerySource a copy activity Google BigQuery service source. +type GoogleBigQuerySource struct { + // Query - A query to retrieve data from source. Type: string (or Expression with resultType string). + Query interface{} `json:"query,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` - // Name - Activity name. - Name *string `json:"name,omitempty"` - // Description - Activity description. - Description *string `json:"description,omitempty"` - // DependsOn - Activity depends on condition. - DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"` - // UserProperties - Activity user properties. - UserProperties *[]UserProperty `json:"userProperties,omitempty"` - // Type - Possible values include: 'TypeActivity', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer' - Type TypeBasicActivity `json:"type,omitempty"` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' + Type TypeBasicCopySource `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for HDInsightHiveActivity. -func (hiha HDInsightHiveActivity) MarshalJSON() ([]byte, error) { - hiha.Type = TypeHDInsightHive +// MarshalJSON is the custom marshaler for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) MarshalJSON() ([]byte, error) { + gbqs.Type = TypeGoogleBigQuerySource objectMap := make(map[string]interface{}) - if hiha.HDInsightHiveActivityTypeProperties != nil { - objectMap["typeProperties"] = hiha.HDInsightHiveActivityTypeProperties - } - if hiha.LinkedServiceName != nil { - objectMap["linkedServiceName"] = hiha.LinkedServiceName - } - if hiha.Policy != nil { - objectMap["policy"] = hiha.Policy + if gbqs.Query != nil { + objectMap["query"] = gbqs.Query } - if hiha.Name != nil { - objectMap["name"] = hiha.Name + if gbqs.QueryTimeout != nil { + objectMap["queryTimeout"] = gbqs.QueryTimeout } - if hiha.Description != nil { - objectMap["description"] = hiha.Description + if gbqs.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = gbqs.SourceRetryCount } - if hiha.DependsOn != nil { - objectMap["dependsOn"] = hiha.DependsOn + if gbqs.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = gbqs.SourceRetryWait } - if hiha.UserProperties != nil { - objectMap["userProperties"] = hiha.UserProperties + if gbqs.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = gbqs.MaxConcurrentConnections } - if hiha.Type != "" { - objectMap["type"] = hiha.Type + if gbqs.Type != "" { + objectMap["type"] = gbqs.Type } - for k, v := range hiha.AdditionalProperties { + for k, v := range gbqs.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsAzureFunctionActivity is the BasicActivity implementation for HDInsightHiveActivity. -func (hiha HDInsightHiveActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) { +// AsHTTPSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsHTTPSource() (*HTTPSource, bool) { return nil, false } -// AsDatabricksSparkPythonActivity is the BasicActivity implementation for HDInsightHiveActivity. -func (hiha HDInsightHiveActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) { +// AsAzureBlobFSSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { return nil, false } -// AsDatabricksSparkJarActivity is the BasicActivity implementation for HDInsightHiveActivity. -func (hiha HDInsightHiveActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) { +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { return nil, false } -// AsDatabricksNotebookActivity is the BasicActivity implementation for HDInsightHiveActivity. -func (hiha HDInsightHiveActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) { +// AsOffice365Source is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsOffice365Source() (*Office365Source, bool) { return nil, false } -// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for HDInsightHiveActivity. -func (hiha HDInsightHiveActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) { +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { return nil, false } -// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for HDInsightHiveActivity. -func (hiha HDInsightHiveActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) { +// AsMongoDbV2Source is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { return nil, false } -// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for HDInsightHiveActivity. -func (hiha HDInsightHiveActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) { +// AsMongoDbSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsMongoDbSource() (*MongoDbSource, bool) { return nil, false } -// AsGetMetadataActivity is the BasicActivity implementation for HDInsightHiveActivity. -func (hiha HDInsightHiveActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) { +// AsWebSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsWebSource() (*WebSource, bool) { return nil, false } -// AsWebActivity is the BasicActivity implementation for HDInsightHiveActivity. -func (hiha HDInsightHiveActivity) AsWebActivity() (*WebActivity, bool) { +// AsOracleSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsOracleSource() (*OracleSource, bool) { return nil, false } -// AsLookupActivity is the BasicActivity implementation for HDInsightHiveActivity. -func (hiha HDInsightHiveActivity) AsLookupActivity() (*LookupActivity, bool) { +// AsAzureDataExplorerSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { return nil, false } -// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for HDInsightHiveActivity. -func (hiha HDInsightHiveActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) { +// AsHdfsSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsHdfsSource() (*HdfsSource, bool) { return nil, false } -// AsDeleteActivity is the BasicActivity implementation for HDInsightHiveActivity. -func (hiha HDInsightHiveActivity) AsDeleteActivity() (*DeleteActivity, bool) { +// AsFileSystemSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsFileSystemSource() (*FileSystemSource, bool) { return nil, false } -// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for HDInsightHiveActivity. -func (hiha HDInsightHiveActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) { +// AsRestSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsRestSource() (*RestSource, bool) { return nil, false } -// AsCustomActivity is the BasicActivity implementation for HDInsightHiveActivity. -func (hiha HDInsightHiveActivity) AsCustomActivity() (*CustomActivity, bool) { +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { return nil, false } -// AsExecuteSSISPackageActivity is the BasicActivity implementation for HDInsightHiveActivity. -func (hiha HDInsightHiveActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) { +// AsODataSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsODataSource() (*ODataSource, bool) { return nil, false } -// AsHDInsightSparkActivity is the BasicActivity implementation for HDInsightHiveActivity. -func (hiha HDInsightHiveActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) { +// AsMicrosoftAccessSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { return nil, false } -// AsHDInsightStreamingActivity is the BasicActivity implementation for HDInsightHiveActivity. -func (hiha HDInsightHiveActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) { +// AsRelationalSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsRelationalSource() (*RelationalSource, bool) { return nil, false } -// AsHDInsightMapReduceActivity is the BasicActivity implementation for HDInsightHiveActivity. -func (hiha HDInsightHiveActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) { +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { return nil, false } -// AsHDInsightPigActivity is the BasicActivity implementation for HDInsightHiveActivity. -func (hiha HDInsightHiveActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) { +// AsDynamicsCrmSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { return nil, false } -// AsHDInsightHiveActivity is the BasicActivity implementation for HDInsightHiveActivity. -func (hiha HDInsightHiveActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) { - return &hiha, true -} - -// AsCopyActivity is the BasicActivity implementation for HDInsightHiveActivity. -func (hiha HDInsightHiveActivity) AsCopyActivity() (*CopyActivity, bool) { +// AsDynamicsSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsDynamicsSource() (*DynamicsSource, bool) { return nil, false } -// AsExecutionActivity is the BasicActivity implementation for HDInsightHiveActivity. -func (hiha HDInsightHiveActivity) AsExecutionActivity() (*ExecutionActivity, bool) { +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { return nil, false } -// AsBasicExecutionActivity is the BasicActivity implementation for HDInsightHiveActivity. -func (hiha HDInsightHiveActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) { - return &hiha, true +// AsDocumentDbCollectionSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false } -// AsWebHookActivity is the BasicActivity implementation for HDInsightHiveActivity. -func (hiha HDInsightHiveActivity) AsWebHookActivity() (*WebHookActivity, bool) { +// AsBlobSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsBlobSource() (*BlobSource, bool) { return nil, false } -// AsAppendVariableActivity is the BasicActivity implementation for HDInsightHiveActivity. -func (hiha HDInsightHiveActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) { +// AsAmazonRedshiftSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { return nil, false } -// AsSetVariableActivity is the BasicActivity implementation for HDInsightHiveActivity. -func (hiha HDInsightHiveActivity) AsSetVariableActivity() (*SetVariableActivity, bool) { +// AsGoogleAdWordsSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { return nil, false } -// AsFilterActivity is the BasicActivity implementation for HDInsightHiveActivity. -func (hiha HDInsightHiveActivity) AsFilterActivity() (*FilterActivity, bool) { +// AsOracleServiceCloudSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { return nil, false } -// AsValidationActivity is the BasicActivity implementation for HDInsightHiveActivity. -func (hiha HDInsightHiveActivity) AsValidationActivity() (*ValidationActivity, bool) { +// AsDynamicsAXSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { return nil, false } -// AsUntilActivity is the BasicActivity implementation for HDInsightHiveActivity. -func (hiha HDInsightHiveActivity) AsUntilActivity() (*UntilActivity, bool) { +// AsResponsysSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsResponsysSource() (*ResponsysSource, bool) { return nil, false } -// AsWaitActivity is the BasicActivity implementation for HDInsightHiveActivity. -func (hiha HDInsightHiveActivity) AsWaitActivity() (*WaitActivity, bool) { +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { return nil, false } -// AsForEachActivity is the BasicActivity implementation for HDInsightHiveActivity. -func (hiha HDInsightHiveActivity) AsForEachActivity() (*ForEachActivity, bool) { +// AsVerticaSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsVerticaSource() (*VerticaSource, bool) { return nil, false } -// AsIfConditionActivity is the BasicActivity implementation for HDInsightHiveActivity. -func (hiha HDInsightHiveActivity) AsIfConditionActivity() (*IfConditionActivity, bool) { +// AsNetezzaSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsNetezzaSource() (*NetezzaSource, bool) { return nil, false } -// AsExecutePipelineActivity is the BasicActivity implementation for HDInsightHiveActivity. -func (hiha HDInsightHiveActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) { +// AsZohoSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsZohoSource() (*ZohoSource, bool) { return nil, false } -// AsControlActivity is the BasicActivity implementation for HDInsightHiveActivity. -func (hiha HDInsightHiveActivity) AsControlActivity() (*ControlActivity, bool) { +// AsXeroSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsXeroSource() (*XeroSource, bool) { return nil, false } -// AsBasicControlActivity is the BasicActivity implementation for HDInsightHiveActivity. -func (hiha HDInsightHiveActivity) AsBasicControlActivity() (BasicControlActivity, bool) { +// AsSquareSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsSquareSource() (*SquareSource, bool) { return nil, false } -// AsActivity is the BasicActivity implementation for HDInsightHiveActivity. -func (hiha HDInsightHiveActivity) AsActivity() (*Activity, bool) { +// AsSparkSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsSparkSource() (*SparkSource, bool) { return nil, false } -// AsBasicActivity is the BasicActivity implementation for HDInsightHiveActivity. -func (hiha HDInsightHiveActivity) AsBasicActivity() (BasicActivity, bool) { - return &hiha, true +// AsShopifySource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsShopifySource() (*ShopifySource, bool) { + return nil, false } -// UnmarshalJSON is the custom unmarshaler for HDInsightHiveActivity struct. -func (hiha *HDInsightHiveActivity) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - case "typeProperties": - if v != nil { - var hDInsightHiveActivityTypeProperties HDInsightHiveActivityTypeProperties - err = json.Unmarshal(*v, &hDInsightHiveActivityTypeProperties) - if err != nil { - return err - } - hiha.HDInsightHiveActivityTypeProperties = &hDInsightHiveActivityTypeProperties - } - case "linkedServiceName": - if v != nil { - var linkedServiceName LinkedServiceReference - err = json.Unmarshal(*v, &linkedServiceName) - if err != nil { - return err - } - hiha.LinkedServiceName = &linkedServiceName - } - case "policy": - if v != nil { - var policy ActivityPolicy - err = json.Unmarshal(*v, &policy) - if err != nil { - return err - } - hiha.Policy = &policy - } - default: - if v != nil { - var additionalProperties interface{} - err = json.Unmarshal(*v, &additionalProperties) - if err != nil { - return err - } - if hiha.AdditionalProperties == nil { - hiha.AdditionalProperties = make(map[string]interface{}) - } - hiha.AdditionalProperties[k] = additionalProperties - } - case "name": - if v != nil { - var name string - err = json.Unmarshal(*v, &name) - if err != nil { - return err - } - hiha.Name = &name - } - case "description": - if v != nil { - var description string - err = json.Unmarshal(*v, &description) - if err != nil { - return err - } - hiha.Description = &description - } - case "dependsOn": - if v != nil { - var dependsOn []ActivityDependency - err = json.Unmarshal(*v, &dependsOn) - if err != nil { - return err - } - hiha.DependsOn = &dependsOn - } - case "userProperties": - if v != nil { - var userProperties []UserProperty - err = json.Unmarshal(*v, &userProperties) - if err != nil { - return err - } - hiha.UserProperties = &userProperties - } - case "type": - if v != nil { - var typeVar TypeBasicActivity - err = json.Unmarshal(*v, &typeVar) - if err != nil { - return err - } - hiha.Type = typeVar - } - } - } - - return nil +// AsServiceNowSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsServiceNowSource() (*ServiceNowSource, bool) { + return nil, false } -// HDInsightHiveActivityTypeProperties hDInsight Hive activity properties. -type HDInsightHiveActivityTypeProperties struct { - // StorageLinkedServices - Storage linked service references. - StorageLinkedServices *[]LinkedServiceReference `json:"storageLinkedServices,omitempty"` - // Arguments - User specified arguments to HDInsightActivity. - Arguments *[]interface{} `json:"arguments,omitempty"` - // GetDebugInfo - Debug info option. Possible values include: 'HDInsightActivityDebugInfoOptionNone', 'HDInsightActivityDebugInfoOptionAlways', 'HDInsightActivityDebugInfoOptionFailure' - GetDebugInfo HDInsightActivityDebugInfoOption `json:"getDebugInfo,omitempty"` - // ScriptPath - Script path. Type: string (or Expression with resultType string). - ScriptPath interface{} `json:"scriptPath,omitempty"` - // ScriptLinkedService - Script linked service reference. - ScriptLinkedService *LinkedServiceReference `json:"scriptLinkedService,omitempty"` - // Defines - Allows user to specify defines for Hive job request. - Defines map[string]interface{} `json:"defines"` - // Variables - User specified arguments under hivevar namespace. - Variables *[]interface{} `json:"variables,omitempty"` - // QueryTimeout - Query timeout value (in minutes). Effective when the HDInsight cluster is with ESP (Enterprise Security Package) - QueryTimeout *int32 `json:"queryTimeout,omitempty"` +// AsQuickBooksSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsQuickBooksSource() (*QuickBooksSource, bool) { + return nil, false } -// MarshalJSON is the custom marshaler for HDInsightHiveActivityTypeProperties. -func (hihatp HDInsightHiveActivityTypeProperties) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - if hihatp.StorageLinkedServices != nil { - objectMap["storageLinkedServices"] = hihatp.StorageLinkedServices - } - if hihatp.Arguments != nil { - objectMap["arguments"] = hihatp.Arguments - } - if hihatp.GetDebugInfo != "" { - objectMap["getDebugInfo"] = hihatp.GetDebugInfo - } - if hihatp.ScriptPath != nil { - objectMap["scriptPath"] = hihatp.ScriptPath - } - if hihatp.ScriptLinkedService != nil { - objectMap["scriptLinkedService"] = hihatp.ScriptLinkedService - } - if hihatp.Defines != nil { - objectMap["defines"] = hihatp.Defines - } - if hihatp.Variables != nil { - objectMap["variables"] = hihatp.Variables - } - if hihatp.QueryTimeout != nil { - objectMap["queryTimeout"] = hihatp.QueryTimeout - } - return json.Marshal(objectMap) +// AsPrestoSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsPrestoSource() (*PrestoSource, bool) { + return nil, false } -// HDInsightLinkedService hDInsight linked service. -type HDInsightLinkedService struct { - // HDInsightLinkedServiceTypeProperties - HDInsight linked service properties. - *HDInsightLinkedServiceTypeProperties `json:"typeProperties,omitempty"` - // AdditionalProperties - Unmatched properties from the message are deserialized this collection - AdditionalProperties map[string]interface{} `json:""` - // ConnectVia - The integration runtime reference. - ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` - // Description - Linked service description. - Description *string `json:"description,omitempty"` - // Parameters - Parameters for linked service. - Parameters map[string]*ParameterSpecification `json:"parameters"` - // Annotations - List of tags that can be used for describing the linked service. - Annotations *[]interface{} `json:"annotations,omitempty"` - // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' - Type TypeBasicLinkedService `json:"type,omitempty"` +// AsPhoenixSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsPhoenixSource() (*PhoenixSource, bool) { + return nil, false } -// MarshalJSON is the custom marshaler for HDInsightLinkedService. -func (hils HDInsightLinkedService) MarshalJSON() ([]byte, error) { - hils.Type = TypeHDInsight - objectMap := make(map[string]interface{}) - if hils.HDInsightLinkedServiceTypeProperties != nil { - objectMap["typeProperties"] = hils.HDInsightLinkedServiceTypeProperties - } - if hils.ConnectVia != nil { - objectMap["connectVia"] = hils.ConnectVia - } - if hils.Description != nil { - objectMap["description"] = hils.Description - } - if hils.Parameters != nil { - objectMap["parameters"] = hils.Parameters - } - if hils.Annotations != nil { - objectMap["annotations"] = hils.Annotations - } - if hils.Type != "" { - objectMap["type"] = hils.Type - } - for k, v := range hils.AdditionalProperties { - objectMap[k] = v - } - return json.Marshal(objectMap) +// AsPaypalSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsPaypalSource() (*PaypalSource, bool) { + return nil, false } -// AsAzureFunctionLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. -func (hils HDInsightLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { +// AsMarketoSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsMarketoSource() (*MarketoSource, bool) { return nil, false } -// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. -func (hils HDInsightLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { +// AsAzureMariaDBSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { return nil, false } -// AsSapTableLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. -func (hils HDInsightLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { +// AsMariaDBSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsMariaDBSource() (*MariaDBSource, bool) { return nil, false } -// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. -func (hils HDInsightLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { +// AsMagentoSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsMagentoSource() (*MagentoSource, bool) { return nil, false } -// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. -func (hils HDInsightLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { +// AsJiraSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsJiraSource() (*JiraSource, bool) { return nil, false } -// AsDynamicsAXLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. -func (hils HDInsightLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { +// AsImpalaSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsImpalaSource() (*ImpalaSource, bool) { return nil, false } -// AsResponsysLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. -func (hils HDInsightLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { +// AsHubspotSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsHubspotSource() (*HubspotSource, bool) { return nil, false } -// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. -func (hils HDInsightLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { +// AsHiveSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsHiveSource() (*HiveSource, bool) { return nil, false } -// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. -func (hils HDInsightLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { +// AsHBaseSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsHBaseSource() (*HBaseSource, bool) { return nil, false } -// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. -func (hils HDInsightLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { +// AsGreenplumSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsGreenplumSource() (*GreenplumSource, bool) { return nil, false } -// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. -func (hils HDInsightLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { - return nil, false +// AsGoogleBigQuerySource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { + return &gbqs, true } -// AsNetezzaLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. -func (hils HDInsightLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { +// AsEloquaSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsEloquaSource() (*EloquaSource, bool) { return nil, false } -// AsVerticaLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. -func (hils HDInsightLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { +// AsDrillSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsDrillSource() (*DrillSource, bool) { return nil, false } -// AsZohoLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. -func (hils HDInsightLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { +// AsCouchbaseSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsCouchbaseSource() (*CouchbaseSource, bool) { return nil, false } -// AsXeroLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. -func (hils HDInsightLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { +// AsConcurSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsConcurSource() (*ConcurSource, bool) { return nil, false } -// AsSquareLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. -func (hils HDInsightLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { +// AsAzurePostgreSQLSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { return nil, false } -// AsSparkLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. -func (hils HDInsightLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { +// AsAmazonMWSSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { return nil, false } -// AsShopifyLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. -func (hils HDInsightLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { +// AsCassandraSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsCassandraSource() (*CassandraSource, bool) { return nil, false } -// AsServiceNowLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. -func (hils HDInsightLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { +// AsTeradataSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsTeradataSource() (*TeradataSource, bool) { return nil, false } -// AsQuickBooksLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. -func (hils HDInsightLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { +// AsAzureMySQLSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { return nil, false } -// AsPrestoLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. -func (hils HDInsightLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { +// AsSQLDWSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsSQLDWSource() (*SQLDWSource, bool) { return nil, false } -// AsPhoenixLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. -func (hils HDInsightLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { +// AsSQLMISource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsSQLMISource() (*SQLMISource, bool) { return nil, false } -// AsPaypalLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. -func (hils HDInsightLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { +// AsAzureSQLSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsAzureSQLSource() (*AzureSQLSource, bool) { return nil, false } -// AsMarketoLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. -func (hils HDInsightLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { +// AsSQLServerSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsSQLServerSource() (*SQLServerSource, bool) { return nil, false } -// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. -func (hils HDInsightLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { +// AsSQLSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsSQLSource() (*SQLSource, bool) { return nil, false } -// AsMariaDBLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. -func (hils HDInsightLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { +// AsSapTableSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsSapTableSource() (*SapTableSource, bool) { return nil, false } -// AsMagentoLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. -func (hils HDInsightLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { +// AsSapOpenHubSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { return nil, false } -// AsJiraLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. -func (hils HDInsightLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { +// AsSapHanaSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsSapHanaSource() (*SapHanaSource, bool) { return nil, false } -// AsImpalaLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. -func (hils HDInsightLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { +// AsSapEccSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsSapEccSource() (*SapEccSource, bool) { return nil, false } -// AsHubspotLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. -func (hils HDInsightLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { +// AsSapCloudForCustomerSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { return nil, false } -// AsHiveLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. -func (hils HDInsightLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { +// AsSalesforceSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsSalesforceSource() (*SalesforceSource, bool) { return nil, false } -// AsHBaseLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. -func (hils HDInsightLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { +// AsSapBwSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsSapBwSource() (*SapBwSource, bool) { return nil, false } -// AsGreenplumLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. -func (hils HDInsightLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { +// AsSybaseSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsSybaseSource() (*SybaseSource, bool) { return nil, false } -// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. -func (hils HDInsightLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { +// AsPostgreSQLSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { return nil, false } -// AsEloquaLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. -func (hils HDInsightLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { +// AsMySQLSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsMySQLSource() (*MySQLSource, bool) { return nil, false } -// AsDrillLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. -func (hils HDInsightLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { +// AsOdbcSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsOdbcSource() (*OdbcSource, bool) { return nil, false } -// AsCouchbaseLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. -func (hils HDInsightLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { +// AsDb2Source is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsDb2Source() (*Db2Source, bool) { return nil, false } -// AsConcurLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. -func (hils HDInsightLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { +// AsInformixSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsInformixSource() (*InformixSource, bool) { return nil, false } -// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. -func (hils HDInsightLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { +// AsAzureTableSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsAzureTableSource() (*AzureTableSource, bool) { return nil, false } -// AsAmazonMWSLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. -func (hils HDInsightLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { +// AsTabularSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsTabularSource() (*TabularSource, bool) { return nil, false } -// AsSapHanaLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. -func (hils HDInsightLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { +// AsBasicTabularSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &gbqs, true +} + +// AsBinarySource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsBinarySource() (*BinarySource, bool) { return nil, false } -// AsSapBWLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. -func (hils HDInsightLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { +// AsOrcSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsOrcSource() (*OrcSource, bool) { return nil, false } -// AsSftpServerLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. -func (hils HDInsightLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { +// AsJSONSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsJSONSource() (*JSONSource, bool) { return nil, false } -// AsFtpServerLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. -func (hils HDInsightLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { +// AsDelimitedTextSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { return nil, false } -// AsHTTPLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. -func (hils HDInsightLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { +// AsParquetSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsParquetSource() (*ParquetSource, bool) { return nil, false } -// AsAzureSearchLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. -func (hils HDInsightLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { +// AsAvroSource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsAvroSource() (*AvroSource, bool) { return nil, false } -// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. -func (hils HDInsightLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { +// AsCopySource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsCopySource() (*CopySource, bool) { return nil, false } -// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. -func (hils HDInsightLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { +// AsBasicCopySource is the BasicCopySource implementation for GoogleBigQuerySource. +func (gbqs GoogleBigQuerySource) AsBasicCopySource() (BasicCopySource, bool) { + return &gbqs, true +} + +// UnmarshalJSON is the custom unmarshaler for GoogleBigQuerySource struct. +func (gbqs *GoogleBigQuerySource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "query": + if v != nil { + var query interface{} + err = json.Unmarshal(*v, &query) + if err != nil { + return err + } + gbqs.Query = query + } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + gbqs.QueryTimeout = queryTimeout + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if gbqs.AdditionalProperties == nil { + gbqs.AdditionalProperties = make(map[string]interface{}) + } + gbqs.AdditionalProperties[k] = additionalProperties + } + case "sourceRetryCount": + if v != nil { + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) + if err != nil { + return err + } + gbqs.SourceRetryCount = sourceRetryCount + } + case "sourceRetryWait": + if v != nil { + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) + if err != nil { + return err + } + gbqs.SourceRetryWait = sourceRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + gbqs.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySource + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + gbqs.Type = typeVar + } + } + } + + return nil +} + +// GoogleCloudStorageLinkedService linked service for Google Cloud Storage. +type GoogleCloudStorageLinkedService struct { + // GoogleCloudStorageLinkedServiceTypeProperties - Google Cloud Storage linked service properties. + *GoogleCloudStorageLinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) MarshalJSON() ([]byte, error) { + gcsls.Type = TypeGoogleCloudStorage + objectMap := make(map[string]interface{}) + if gcsls.GoogleCloudStorageLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = gcsls.GoogleCloudStorageLinkedServiceTypeProperties + } + if gcsls.ConnectVia != nil { + objectMap["connectVia"] = gcsls.ConnectVia + } + if gcsls.Description != nil { + objectMap["description"] = gcsls.Description + } + if gcsls.Parameters != nil { + objectMap["parameters"] = gcsls.Parameters + } + if gcsls.Annotations != nil { + objectMap["annotations"] = gcsls.Annotations + } + if gcsls.Type != "" { + objectMap["type"] = gcsls.Type + } + for k, v := range gcsls.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { return nil, false } -// AsAmazonS3LinkedService is the BasicLinkedService implementation for HDInsightLinkedService. -func (hils HDInsightLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { return nil, false } -// AsRestServiceLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. -func (hils HDInsightLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { +// AsSapTableLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { return nil, false } -// AsSapOpenHubLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. -func (hils HDInsightLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { return nil, false } -// AsSapEccLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. -func (hils HDInsightLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { return nil, false } -// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. -func (hils HDInsightLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { return nil, false } -// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. -func (hils HDInsightLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { +// AsResponsysLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { return nil, false } -// AsSalesforceLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. -func (hils HDInsightLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { return nil, false } -// AsOffice365LinkedService is the BasicLinkedService implementation for HDInsightLinkedService. -func (hils HDInsightLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { return nil, false } -// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. -func (hils HDInsightLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { return nil, false } -// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. -func (hils HDInsightLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { return nil, false } -// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for HDInsightLinkedService. -func (hils HDInsightLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { +// AsNetezzaLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { return nil, false } -// AsMongoDbV2LinkedService is the BasicLinkedService implementation for HDInsightLinkedService. -func (hils HDInsightLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { +// AsVerticaLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { return nil, false } -// AsMongoDbLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. -func (hils HDInsightLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { +// AsZohoLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { return nil, false } -// AsCassandraLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. -func (hils HDInsightLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { +// AsXeroLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { return nil, false } -// AsWebLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. -func (hils HDInsightLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { +// AsSquareLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { return nil, false } -// AsODataLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. -func (hils HDInsightLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { +// AsSparkLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { return nil, false } -// AsHdfsLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. -func (hils HDInsightLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { +// AsShopifyLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { return nil, false } -// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. -func (hils HDInsightLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { +// AsServiceNowLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { return nil, false } -// AsInformixLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. -func (hils HDInsightLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { +// AsQuickBooksLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { return nil, false } -// AsOdbcLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. -func (hils HDInsightLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { +// AsPrestoLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { return nil, false } -// AsAzureMLLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. -func (hils HDInsightLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { +// AsPhoenixLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { return nil, false } -// AsTeradataLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. -func (hils HDInsightLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { +// AsPaypalLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { return nil, false } -// AsDb2LinkedService is the BasicLinkedService implementation for HDInsightLinkedService. -func (hils HDInsightLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { +// AsMarketoLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { return nil, false } -// AsSybaseLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. -func (hils HDInsightLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { return nil, false } -// AsPostgreSQLLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. -func (hils HDInsightLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { +// AsMariaDBLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { return nil, false } -// AsMySQLLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. -func (hils HDInsightLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { +// AsMagentoLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { return nil, false } -// AsAzureMySQLLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. -func (hils HDInsightLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { +// AsJiraLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { return nil, false } -// AsOracleLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. -func (hils HDInsightLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { +// AsImpalaLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { return nil, false } -// AsFileServerLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. -func (hils HDInsightLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { +// AsHubspotLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { return nil, false } -// AsHDInsightLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. -func (hils HDInsightLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { - return &hils, true +// AsHiveLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return nil, false } -// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. -func (hils HDInsightLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { +// AsHBaseLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { return nil, false } -// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. -func (hils HDInsightLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { +// AsGreenplumLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { return nil, false } -// AsDynamicsLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. -func (hils HDInsightLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { return nil, false } -// AsCosmosDbLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. -func (hils HDInsightLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { +// AsEloquaLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { return nil, false } -// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. -func (hils HDInsightLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { +// AsDrillLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { return nil, false } -// AsAzureBatchLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. -func (hils HDInsightLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { +// AsCouchbaseLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { return nil, false } -// AsAzureSQLMILinkedService is the BasicLinkedService implementation for HDInsightLinkedService. -func (hils HDInsightLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { +// AsConcurLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { return nil, false } -// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. -func (hils HDInsightLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { return nil, false } -// AsSQLServerLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. -func (hils HDInsightLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { return nil, false } -// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. -func (hils HDInsightLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { +// AsSapHanaLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { return nil, false } -// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. -func (hils HDInsightLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { +// AsSapBWLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { return nil, false } -// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. -func (hils HDInsightLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { +// AsSftpServerLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { return nil, false } -// AsAzureStorageLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. -func (hils HDInsightLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { +// AsFtpServerLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { return nil, false } -// AsLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. -func (hils HDInsightLinkedService) AsLinkedService() (*LinkedService, bool) { +// AsHTTPLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { return nil, false } -// AsBasicLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. -func (hils HDInsightLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { - return &hils, true +// AsAzureSearchLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false } -// UnmarshalJSON is the custom unmarshaler for HDInsightLinkedService struct. -func (hils *HDInsightLinkedService) UnmarshalJSON(body []byte) error { +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false +} + +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return &gcsls, true +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for GoogleCloudStorageLinkedService. +func (gcsls GoogleCloudStorageLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &gcsls, true +} + +// UnmarshalJSON is the custom unmarshaler for GoogleCloudStorageLinkedService struct. +func (gcsls *GoogleCloudStorageLinkedService) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -90183,12 +95522,12 @@ func (hils *HDInsightLinkedService) UnmarshalJSON(body []byte) error { switch k { case "typeProperties": if v != nil { - var hDInsightLinkedServiceTypeProperties HDInsightLinkedServiceTypeProperties - err = json.Unmarshal(*v, &hDInsightLinkedServiceTypeProperties) + var googleCloudStorageLinkedServiceTypeProperties GoogleCloudStorageLinkedServiceTypeProperties + err = json.Unmarshal(*v, &googleCloudStorageLinkedServiceTypeProperties) if err != nil { return err } - hils.HDInsightLinkedServiceTypeProperties = &hDInsightLinkedServiceTypeProperties + gcsls.GoogleCloudStorageLinkedServiceTypeProperties = &googleCloudStorageLinkedServiceTypeProperties } default: if v != nil { @@ -90197,10 +95536,10 @@ func (hils *HDInsightLinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - if hils.AdditionalProperties == nil { - hils.AdditionalProperties = make(map[string]interface{}) + if gcsls.AdditionalProperties == nil { + gcsls.AdditionalProperties = make(map[string]interface{}) } - hils.AdditionalProperties[k] = additionalProperties + gcsls.AdditionalProperties[k] = additionalProperties } case "connectVia": if v != nil { @@ -90209,7 +95548,7 @@ func (hils *HDInsightLinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - hils.ConnectVia = &connectVia + gcsls.ConnectVia = &connectVia } case "description": if v != nil { @@ -90218,7 +95557,7 @@ func (hils *HDInsightLinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - hils.Description = &description + gcsls.Description = &description } case "parameters": if v != nil { @@ -90227,7 +95566,7 @@ func (hils *HDInsightLinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - hils.Parameters = parameters + gcsls.Parameters = parameters } case "annotations": if v != nil { @@ -90236,7 +95575,7 @@ func (hils *HDInsightLinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - hils.Annotations = &annotations + gcsls.Annotations = &annotations } case "type": if v != nil { @@ -90245,7 +95584,7 @@ func (hils *HDInsightLinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - hils.Type = typeVar + gcsls.Type = typeVar } } } @@ -90253,28 +95592,20 @@ func (hils *HDInsightLinkedService) UnmarshalJSON(body []byte) error { return nil } -// HDInsightLinkedServiceTypeProperties hDInsight linked service properties. -type HDInsightLinkedServiceTypeProperties struct { - // ClusterURI - HDInsight cluster URI. Type: string (or Expression with resultType string). - ClusterURI interface{} `json:"clusterUri,omitempty"` - // UserName - HDInsight cluster user name. Type: string (or Expression with resultType string). - UserName interface{} `json:"userName,omitempty"` - // Password - HDInsight cluster password. - Password BasicSecretBase `json:"password,omitempty"` - // LinkedServiceName - The Azure Storage linked service reference. - LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` - // HcatalogLinkedServiceName - A reference to the Azure SQL linked service that points to the HCatalog database. - HcatalogLinkedServiceName *LinkedServiceReference `json:"hcatalogLinkedServiceName,omitempty"` +// GoogleCloudStorageLinkedServiceTypeProperties google Cloud Storage linked service properties. +type GoogleCloudStorageLinkedServiceTypeProperties struct { + // AccessKeyID - The access key identifier of the Google Cloud Storage Identity and Access Management (IAM) user. Type: string (or Expression with resultType string). + AccessKeyID interface{} `json:"accessKeyId,omitempty"` + // SecretAccessKey - The secret access key of the Google Cloud Storage Identity and Access Management (IAM) user. + SecretAccessKey BasicSecretBase `json:"secretAccessKey,omitempty"` + // ServiceURL - This value specifies the endpoint to access with the Google Cloud Storage Connector. This is an optional property; change it only if you want to try a different service endpoint or want to switch between https and http. Type: string (or Expression with resultType string). + ServiceURL interface{} `json:"serviceUrl,omitempty"` // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` - // IsEspEnabled - Specify if the HDInsight is created with ESP (Enterprise Security Package). Type: Boolean. - IsEspEnabled interface{} `json:"isEspEnabled,omitempty"` - // FileSystem - Specify the FileSystem if the main storage for the HDInsight is ADLS Gen2. Type: string (or Expression with resultType string). - FileSystem interface{} `json:"fileSystem,omitempty"` } -// UnmarshalJSON is the custom unmarshaler for HDInsightLinkedServiceTypeProperties struct. -func (hilstp *HDInsightLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { +// UnmarshalJSON is the custom unmarshaler for GoogleCloudStorageLinkedServiceTypeProperties struct. +func (gcslstp *GoogleCloudStorageLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -90282,76 +95613,152 @@ func (hilstp *HDInsightLinkedServiceTypeProperties) UnmarshalJSON(body []byte) e } for k, v := range m { switch k { - case "clusterUri": + case "accessKeyId": if v != nil { - var clusterURI interface{} - err = json.Unmarshal(*v, &clusterURI) + var accessKeyID interface{} + err = json.Unmarshal(*v, &accessKeyID) if err != nil { return err } - hilstp.ClusterURI = clusterURI + gcslstp.AccessKeyID = accessKeyID } - case "userName": + case "secretAccessKey": if v != nil { - var userName interface{} - err = json.Unmarshal(*v, &userName) + secretAccessKey, err := unmarshalBasicSecretBase(*v) if err != nil { return err } - hilstp.UserName = userName + gcslstp.SecretAccessKey = secretAccessKey } - case "password": + case "serviceUrl": if v != nil { - password, err := unmarshalBasicSecretBase(*v) + var serviceURL interface{} + err = json.Unmarshal(*v, &serviceURL) if err != nil { return err } - hilstp.Password = password + gcslstp.ServiceURL = serviceURL } - case "linkedServiceName": + case "encryptedCredential": if v != nil { - var linkedServiceName LinkedServiceReference - err = json.Unmarshal(*v, &linkedServiceName) + var encryptedCredential interface{} + err = json.Unmarshal(*v, &encryptedCredential) if err != nil { return err } - hilstp.LinkedServiceName = &linkedServiceName + gcslstp.EncryptedCredential = encryptedCredential } - case "hcatalogLinkedServiceName": + } + } + + return nil +} + +// GoogleCloudStorageLocation the location of Google Cloud Storage dataset. +type GoogleCloudStorageLocation struct { + // BucketName - Specify the bucketName of Google Cloud Storage. Type: string (or Expression with resultType string) + BucketName interface{} `json:"bucketName,omitempty"` + // Version - Specify the version of Google Cloud Storage. Type: string (or Expression with resultType string). + Version interface{} `json:"version,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Type - Type of dataset storage location. + Type *string `json:"type,omitempty"` + // FolderPath - Specify the folder path of dataset. Type: string (or Expression with resultType string) + FolderPath interface{} `json:"folderPath,omitempty"` + // FileName - Specify the file name of dataset. Type: string (or Expression with resultType string). + FileName interface{} `json:"fileName,omitempty"` +} + +// MarshalJSON is the custom marshaler for GoogleCloudStorageLocation. +func (gcsl GoogleCloudStorageLocation) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if gcsl.BucketName != nil { + objectMap["bucketName"] = gcsl.BucketName + } + if gcsl.Version != nil { + objectMap["version"] = gcsl.Version + } + if gcsl.Type != nil { + objectMap["type"] = gcsl.Type + } + if gcsl.FolderPath != nil { + objectMap["folderPath"] = gcsl.FolderPath + } + if gcsl.FileName != nil { + objectMap["fileName"] = gcsl.FileName + } + for k, v := range gcsl.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for GoogleCloudStorageLocation struct. +func (gcsl *GoogleCloudStorageLocation) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "bucketName": if v != nil { - var hcatalogLinkedServiceName LinkedServiceReference - err = json.Unmarshal(*v, &hcatalogLinkedServiceName) + var bucketName interface{} + err = json.Unmarshal(*v, &bucketName) if err != nil { return err } - hilstp.HcatalogLinkedServiceName = &hcatalogLinkedServiceName + gcsl.BucketName = bucketName } - case "encryptedCredential": + case "version": if v != nil { - var encryptedCredential interface{} - err = json.Unmarshal(*v, &encryptedCredential) + var version interface{} + err = json.Unmarshal(*v, &version) if err != nil { return err } - hilstp.EncryptedCredential = encryptedCredential + gcsl.Version = version } - case "isEspEnabled": + default: if v != nil { - var isEspEnabled interface{} - err = json.Unmarshal(*v, &isEspEnabled) + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) if err != nil { return err } - hilstp.IsEspEnabled = isEspEnabled + if gcsl.AdditionalProperties == nil { + gcsl.AdditionalProperties = make(map[string]interface{}) + } + gcsl.AdditionalProperties[k] = additionalProperties } - case "fileSystem": + case "type": if v != nil { - var fileSystem interface{} - err = json.Unmarshal(*v, &fileSystem) + var typeVar string + err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - hilstp.FileSystem = fileSystem + gcsl.Type = &typeVar + } + case "folderPath": + if v != nil { + var folderPath interface{} + err = json.Unmarshal(*v, &folderPath) + if err != nil { + return err + } + gcsl.FolderPath = folderPath + } + case "fileName": + if v != nil { + var fileName interface{} + err = json.Unmarshal(*v, &fileName) + if err != nil { + return err + } + gcsl.FileName = fileName } } } @@ -90359,249 +95766,68 @@ func (hilstp *HDInsightLinkedServiceTypeProperties) UnmarshalJSON(body []byte) e return nil } -// HDInsightMapReduceActivity hDInsight MapReduce activity type. -type HDInsightMapReduceActivity struct { - // HDInsightMapReduceActivityTypeProperties - HDInsight MapReduce activity properties. - *HDInsightMapReduceActivityTypeProperties `json:"typeProperties,omitempty"` - // LinkedServiceName - Linked service reference. - LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` - // Policy - Activity policy. - Policy *ActivityPolicy `json:"policy,omitempty"` +// GoogleCloudStorageReadSettings google Cloud Storage read settings. +type GoogleCloudStorageReadSettings struct { + // Recursive - If true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean). + Recursive interface{} `json:"recursive,omitempty"` + // WildcardFolderPath - Google Cloud Storage wildcardFolderPath. Type: string (or Expression with resultType string). + WildcardFolderPath interface{} `json:"wildcardFolderPath,omitempty"` + // WildcardFileName - Google Cloud Storage wildcardFileName. Type: string (or Expression with resultType string). + WildcardFileName interface{} `json:"wildcardFileName,omitempty"` + // Prefix - The prefix filter for the Google Cloud Storage object name. Type: string (or Expression with resultType string). + Prefix interface{} `json:"prefix,omitempty"` + // EnablePartitionDiscovery - Indicates whether to enable partition discovery. + EnablePartitionDiscovery *bool `json:"enablePartitionDiscovery,omitempty"` + // ModifiedDatetimeStart - The start of file's modified datetime. Type: string (or Expression with resultType string). + ModifiedDatetimeStart interface{} `json:"modifiedDatetimeStart,omitempty"` + // ModifiedDatetimeEnd - The end of file's modified datetime. Type: string (or Expression with resultType string). + ModifiedDatetimeEnd interface{} `json:"modifiedDatetimeEnd,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` - // Name - Activity name. - Name *string `json:"name,omitempty"` - // Description - Activity description. - Description *string `json:"description,omitempty"` - // DependsOn - Activity depends on condition. - DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"` - // UserProperties - Activity user properties. - UserProperties *[]UserProperty `json:"userProperties,omitempty"` - // Type - Possible values include: 'TypeActivity', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer' - Type TypeBasicActivity `json:"type,omitempty"` + // Type - The read setting type. + Type *string `json:"type,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` } -// MarshalJSON is the custom marshaler for HDInsightMapReduceActivity. -func (himra HDInsightMapReduceActivity) MarshalJSON() ([]byte, error) { - himra.Type = TypeHDInsightMapReduce +// MarshalJSON is the custom marshaler for GoogleCloudStorageReadSettings. +func (gcsrs GoogleCloudStorageReadSettings) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) - if himra.HDInsightMapReduceActivityTypeProperties != nil { - objectMap["typeProperties"] = himra.HDInsightMapReduceActivityTypeProperties + if gcsrs.Recursive != nil { + objectMap["recursive"] = gcsrs.Recursive } - if himra.LinkedServiceName != nil { - objectMap["linkedServiceName"] = himra.LinkedServiceName + if gcsrs.WildcardFolderPath != nil { + objectMap["wildcardFolderPath"] = gcsrs.WildcardFolderPath } - if himra.Policy != nil { - objectMap["policy"] = himra.Policy + if gcsrs.WildcardFileName != nil { + objectMap["wildcardFileName"] = gcsrs.WildcardFileName } - if himra.Name != nil { - objectMap["name"] = himra.Name + if gcsrs.Prefix != nil { + objectMap["prefix"] = gcsrs.Prefix } - if himra.Description != nil { - objectMap["description"] = himra.Description + if gcsrs.EnablePartitionDiscovery != nil { + objectMap["enablePartitionDiscovery"] = gcsrs.EnablePartitionDiscovery } - if himra.DependsOn != nil { - objectMap["dependsOn"] = himra.DependsOn + if gcsrs.ModifiedDatetimeStart != nil { + objectMap["modifiedDatetimeStart"] = gcsrs.ModifiedDatetimeStart } - if himra.UserProperties != nil { - objectMap["userProperties"] = himra.UserProperties + if gcsrs.ModifiedDatetimeEnd != nil { + objectMap["modifiedDatetimeEnd"] = gcsrs.ModifiedDatetimeEnd } - if himra.Type != "" { - objectMap["type"] = himra.Type + if gcsrs.Type != nil { + objectMap["type"] = gcsrs.Type } - for k, v := range himra.AdditionalProperties { + if gcsrs.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = gcsrs.MaxConcurrentConnections + } + for k, v := range gcsrs.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsAzureFunctionActivity is the BasicActivity implementation for HDInsightMapReduceActivity. -func (himra HDInsightMapReduceActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) { - return nil, false -} - -// AsDatabricksSparkPythonActivity is the BasicActivity implementation for HDInsightMapReduceActivity. -func (himra HDInsightMapReduceActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) { - return nil, false -} - -// AsDatabricksSparkJarActivity is the BasicActivity implementation for HDInsightMapReduceActivity. -func (himra HDInsightMapReduceActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) { - return nil, false -} - -// AsDatabricksNotebookActivity is the BasicActivity implementation for HDInsightMapReduceActivity. -func (himra HDInsightMapReduceActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) { - return nil, false -} - -// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for HDInsightMapReduceActivity. -func (himra HDInsightMapReduceActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) { - return nil, false -} - -// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for HDInsightMapReduceActivity. -func (himra HDInsightMapReduceActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) { - return nil, false -} - -// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for HDInsightMapReduceActivity. -func (himra HDInsightMapReduceActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) { - return nil, false -} - -// AsGetMetadataActivity is the BasicActivity implementation for HDInsightMapReduceActivity. -func (himra HDInsightMapReduceActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) { - return nil, false -} - -// AsWebActivity is the BasicActivity implementation for HDInsightMapReduceActivity. -func (himra HDInsightMapReduceActivity) AsWebActivity() (*WebActivity, bool) { - return nil, false -} - -// AsLookupActivity is the BasicActivity implementation for HDInsightMapReduceActivity. -func (himra HDInsightMapReduceActivity) AsLookupActivity() (*LookupActivity, bool) { - return nil, false -} - -// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for HDInsightMapReduceActivity. -func (himra HDInsightMapReduceActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) { - return nil, false -} - -// AsDeleteActivity is the BasicActivity implementation for HDInsightMapReduceActivity. -func (himra HDInsightMapReduceActivity) AsDeleteActivity() (*DeleteActivity, bool) { - return nil, false -} - -// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for HDInsightMapReduceActivity. -func (himra HDInsightMapReduceActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) { - return nil, false -} - -// AsCustomActivity is the BasicActivity implementation for HDInsightMapReduceActivity. -func (himra HDInsightMapReduceActivity) AsCustomActivity() (*CustomActivity, bool) { - return nil, false -} - -// AsExecuteSSISPackageActivity is the BasicActivity implementation for HDInsightMapReduceActivity. -func (himra HDInsightMapReduceActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) { - return nil, false -} - -// AsHDInsightSparkActivity is the BasicActivity implementation for HDInsightMapReduceActivity. -func (himra HDInsightMapReduceActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) { - return nil, false -} - -// AsHDInsightStreamingActivity is the BasicActivity implementation for HDInsightMapReduceActivity. -func (himra HDInsightMapReduceActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) { - return nil, false -} - -// AsHDInsightMapReduceActivity is the BasicActivity implementation for HDInsightMapReduceActivity. -func (himra HDInsightMapReduceActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) { - return &himra, true -} - -// AsHDInsightPigActivity is the BasicActivity implementation for HDInsightMapReduceActivity. -func (himra HDInsightMapReduceActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) { - return nil, false -} - -// AsHDInsightHiveActivity is the BasicActivity implementation for HDInsightMapReduceActivity. -func (himra HDInsightMapReduceActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) { - return nil, false -} - -// AsCopyActivity is the BasicActivity implementation for HDInsightMapReduceActivity. -func (himra HDInsightMapReduceActivity) AsCopyActivity() (*CopyActivity, bool) { - return nil, false -} - -// AsExecutionActivity is the BasicActivity implementation for HDInsightMapReduceActivity. -func (himra HDInsightMapReduceActivity) AsExecutionActivity() (*ExecutionActivity, bool) { - return nil, false -} - -// AsBasicExecutionActivity is the BasicActivity implementation for HDInsightMapReduceActivity. -func (himra HDInsightMapReduceActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) { - return &himra, true -} - -// AsWebHookActivity is the BasicActivity implementation for HDInsightMapReduceActivity. -func (himra HDInsightMapReduceActivity) AsWebHookActivity() (*WebHookActivity, bool) { - return nil, false -} - -// AsAppendVariableActivity is the BasicActivity implementation for HDInsightMapReduceActivity. -func (himra HDInsightMapReduceActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) { - return nil, false -} - -// AsSetVariableActivity is the BasicActivity implementation for HDInsightMapReduceActivity. -func (himra HDInsightMapReduceActivity) AsSetVariableActivity() (*SetVariableActivity, bool) { - return nil, false -} - -// AsFilterActivity is the BasicActivity implementation for HDInsightMapReduceActivity. -func (himra HDInsightMapReduceActivity) AsFilterActivity() (*FilterActivity, bool) { - return nil, false -} - -// AsValidationActivity is the BasicActivity implementation for HDInsightMapReduceActivity. -func (himra HDInsightMapReduceActivity) AsValidationActivity() (*ValidationActivity, bool) { - return nil, false -} - -// AsUntilActivity is the BasicActivity implementation for HDInsightMapReduceActivity. -func (himra HDInsightMapReduceActivity) AsUntilActivity() (*UntilActivity, bool) { - return nil, false -} - -// AsWaitActivity is the BasicActivity implementation for HDInsightMapReduceActivity. -func (himra HDInsightMapReduceActivity) AsWaitActivity() (*WaitActivity, bool) { - return nil, false -} - -// AsForEachActivity is the BasicActivity implementation for HDInsightMapReduceActivity. -func (himra HDInsightMapReduceActivity) AsForEachActivity() (*ForEachActivity, bool) { - return nil, false -} - -// AsIfConditionActivity is the BasicActivity implementation for HDInsightMapReduceActivity. -func (himra HDInsightMapReduceActivity) AsIfConditionActivity() (*IfConditionActivity, bool) { - return nil, false -} - -// AsExecutePipelineActivity is the BasicActivity implementation for HDInsightMapReduceActivity. -func (himra HDInsightMapReduceActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) { - return nil, false -} - -// AsControlActivity is the BasicActivity implementation for HDInsightMapReduceActivity. -func (himra HDInsightMapReduceActivity) AsControlActivity() (*ControlActivity, bool) { - return nil, false -} - -// AsBasicControlActivity is the BasicActivity implementation for HDInsightMapReduceActivity. -func (himra HDInsightMapReduceActivity) AsBasicControlActivity() (BasicControlActivity, bool) { - return nil, false -} - -// AsActivity is the BasicActivity implementation for HDInsightMapReduceActivity. -func (himra HDInsightMapReduceActivity) AsActivity() (*Activity, bool) { - return nil, false -} - -// AsBasicActivity is the BasicActivity implementation for HDInsightMapReduceActivity. -func (himra HDInsightMapReduceActivity) AsBasicActivity() (BasicActivity, bool) { - return &himra, true -} - -// UnmarshalJSON is the custom unmarshaler for HDInsightMapReduceActivity struct. -func (himra *HDInsightMapReduceActivity) UnmarshalJSON(body []byte) error { +// UnmarshalJSON is the custom unmarshaler for GoogleCloudStorageReadSettings struct. +func (gcsrs *GoogleCloudStorageReadSettings) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -90609,89 +95835,98 @@ func (himra *HDInsightMapReduceActivity) UnmarshalJSON(body []byte) error { } for k, v := range m { switch k { - case "typeProperties": + case "recursive": if v != nil { - var hDInsightMapReduceActivityTypeProperties HDInsightMapReduceActivityTypeProperties - err = json.Unmarshal(*v, &hDInsightMapReduceActivityTypeProperties) + var recursive interface{} + err = json.Unmarshal(*v, &recursive) if err != nil { return err } - himra.HDInsightMapReduceActivityTypeProperties = &hDInsightMapReduceActivityTypeProperties + gcsrs.Recursive = recursive } - case "linkedServiceName": + case "wildcardFolderPath": if v != nil { - var linkedServiceName LinkedServiceReference - err = json.Unmarshal(*v, &linkedServiceName) + var wildcardFolderPath interface{} + err = json.Unmarshal(*v, &wildcardFolderPath) if err != nil { return err } - himra.LinkedServiceName = &linkedServiceName + gcsrs.WildcardFolderPath = wildcardFolderPath } - case "policy": + case "wildcardFileName": if v != nil { - var policy ActivityPolicy - err = json.Unmarshal(*v, &policy) + var wildcardFileName interface{} + err = json.Unmarshal(*v, &wildcardFileName) if err != nil { return err } - himra.Policy = &policy + gcsrs.WildcardFileName = wildcardFileName } - default: + case "prefix": if v != nil { - var additionalProperties interface{} - err = json.Unmarshal(*v, &additionalProperties) + var prefix interface{} + err = json.Unmarshal(*v, &prefix) if err != nil { return err } - if himra.AdditionalProperties == nil { - himra.AdditionalProperties = make(map[string]interface{}) - } - himra.AdditionalProperties[k] = additionalProperties + gcsrs.Prefix = prefix } - case "name": + case "enablePartitionDiscovery": if v != nil { - var name string - err = json.Unmarshal(*v, &name) + var enablePartitionDiscovery bool + err = json.Unmarshal(*v, &enablePartitionDiscovery) if err != nil { return err } - himra.Name = &name + gcsrs.EnablePartitionDiscovery = &enablePartitionDiscovery } - case "description": + case "modifiedDatetimeStart": if v != nil { - var description string - err = json.Unmarshal(*v, &description) + var modifiedDatetimeStart interface{} + err = json.Unmarshal(*v, &modifiedDatetimeStart) if err != nil { return err } - himra.Description = &description + gcsrs.ModifiedDatetimeStart = modifiedDatetimeStart } - case "dependsOn": + case "modifiedDatetimeEnd": if v != nil { - var dependsOn []ActivityDependency - err = json.Unmarshal(*v, &dependsOn) + var modifiedDatetimeEnd interface{} + err = json.Unmarshal(*v, &modifiedDatetimeEnd) if err != nil { return err } - himra.DependsOn = &dependsOn + gcsrs.ModifiedDatetimeEnd = modifiedDatetimeEnd } - case "userProperties": + default: if v != nil { - var userProperties []UserProperty - err = json.Unmarshal(*v, &userProperties) + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) if err != nil { return err } - himra.UserProperties = &userProperties + if gcsrs.AdditionalProperties == nil { + gcsrs.AdditionalProperties = make(map[string]interface{}) + } + gcsrs.AdditionalProperties[k] = additionalProperties } case "type": if v != nil { - var typeVar TypeBasicActivity + var typeVar string err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - himra.Type = typeVar + gcsrs.Type = &typeVar + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + gcsrs.MaxConcurrentConnections = maxConcurrentConnections } } } @@ -90699,60 +95934,20 @@ func (himra *HDInsightMapReduceActivity) UnmarshalJSON(body []byte) error { return nil } -// HDInsightMapReduceActivityTypeProperties hDInsight MapReduce activity properties. -type HDInsightMapReduceActivityTypeProperties struct { - // StorageLinkedServices - Storage linked service references. - StorageLinkedServices *[]LinkedServiceReference `json:"storageLinkedServices,omitempty"` - // Arguments - User specified arguments to HDInsightActivity. - Arguments *[]interface{} `json:"arguments,omitempty"` - // GetDebugInfo - Debug info option. Possible values include: 'HDInsightActivityDebugInfoOptionNone', 'HDInsightActivityDebugInfoOptionAlways', 'HDInsightActivityDebugInfoOptionFailure' - GetDebugInfo HDInsightActivityDebugInfoOption `json:"getDebugInfo,omitempty"` - // ClassName - Class name. Type: string (or Expression with resultType string). - ClassName interface{} `json:"className,omitempty"` - // JarFilePath - Jar path. Type: string (or Expression with resultType string). - JarFilePath interface{} `json:"jarFilePath,omitempty"` - // JarLinkedService - Jar linked service reference. - JarLinkedService *LinkedServiceReference `json:"jarLinkedService,omitempty"` - // JarLibs - Jar libs. - JarLibs *[]interface{} `json:"jarLibs,omitempty"` - // Defines - Allows user to specify defines for the MapReduce job request. - Defines map[string]interface{} `json:"defines"` -} - -// MarshalJSON is the custom marshaler for HDInsightMapReduceActivityTypeProperties. -func (himratp HDInsightMapReduceActivityTypeProperties) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - if himratp.StorageLinkedServices != nil { - objectMap["storageLinkedServices"] = himratp.StorageLinkedServices - } - if himratp.Arguments != nil { - objectMap["arguments"] = himratp.Arguments - } - if himratp.GetDebugInfo != "" { - objectMap["getDebugInfo"] = himratp.GetDebugInfo - } - if himratp.ClassName != nil { - objectMap["className"] = himratp.ClassName - } - if himratp.JarFilePath != nil { - objectMap["jarFilePath"] = himratp.JarFilePath - } - if himratp.JarLinkedService != nil { - objectMap["jarLinkedService"] = himratp.JarLinkedService - } - if himratp.JarLibs != nil { - objectMap["jarLibs"] = himratp.JarLibs - } - if himratp.Defines != nil { - objectMap["defines"] = himratp.Defines - } - return json.Marshal(objectMap) +// GreenplumDatasetTypeProperties greenplum Dataset Properties +type GreenplumDatasetTypeProperties struct { + // TableName - This property will be retired. Please consider using schema + table properties instead. + TableName interface{} `json:"tableName,omitempty"` + // Table - The table name of Greenplum. Type: string (or Expression with resultType string). + Table interface{} `json:"table,omitempty"` + // Schema - The schema name of Greenplum. Type: string (or Expression with resultType string). + Schema interface{} `json:"schema,omitempty"` } -// HDInsightOnDemandLinkedService hDInsight ondemand linked service. -type HDInsightOnDemandLinkedService struct { - // HDInsightOnDemandLinkedServiceTypeProperties - HDInsight ondemand linked service properties. - *HDInsightOnDemandLinkedServiceTypeProperties `json:"typeProperties,omitempty"` +// GreenplumLinkedService greenplum Database linked service. +type GreenplumLinkedService struct { + // GreenplumLinkedServiceTypeProperties - Greenplum Database linked service properties. + *GreenplumLinkedServiceTypeProperties `json:"typeProperties,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` // ConnectVia - The integration runtime reference. @@ -90763,505 +95958,520 @@ type HDInsightOnDemandLinkedService struct { Parameters map[string]*ParameterSpecification `json:"parameters"` // Annotations - List of tags that can be used for describing the linked service. Annotations *[]interface{} `json:"annotations,omitempty"` - // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' + // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' Type TypeBasicLinkedService `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for HDInsightOnDemandLinkedService. -func (hiodls HDInsightOnDemandLinkedService) MarshalJSON() ([]byte, error) { - hiodls.Type = TypeHDInsightOnDemand +// MarshalJSON is the custom marshaler for GreenplumLinkedService. +func (gls GreenplumLinkedService) MarshalJSON() ([]byte, error) { + gls.Type = TypeGreenplum objectMap := make(map[string]interface{}) - if hiodls.HDInsightOnDemandLinkedServiceTypeProperties != nil { - objectMap["typeProperties"] = hiodls.HDInsightOnDemandLinkedServiceTypeProperties + if gls.GreenplumLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = gls.GreenplumLinkedServiceTypeProperties } - if hiodls.ConnectVia != nil { - objectMap["connectVia"] = hiodls.ConnectVia + if gls.ConnectVia != nil { + objectMap["connectVia"] = gls.ConnectVia } - if hiodls.Description != nil { - objectMap["description"] = hiodls.Description + if gls.Description != nil { + objectMap["description"] = gls.Description } - if hiodls.Parameters != nil { - objectMap["parameters"] = hiodls.Parameters + if gls.Parameters != nil { + objectMap["parameters"] = gls.Parameters } - if hiodls.Annotations != nil { - objectMap["annotations"] = hiodls.Annotations + if gls.Annotations != nil { + objectMap["annotations"] = gls.Annotations } - if hiodls.Type != "" { - objectMap["type"] = hiodls.Type + if gls.Type != "" { + objectMap["type"] = gls.Type } - for k, v := range hiodls.AdditionalProperties { + for k, v := range gls.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsAzureFunctionLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. -func (hiodls HDInsightOnDemandLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { return nil, false } -// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. -func (hiodls HDInsightOnDemandLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { return nil, false } -// AsSapTableLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. -func (hiodls HDInsightOnDemandLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { +// AsSapTableLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { return nil, false } -// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. -func (hiodls HDInsightOnDemandLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { return nil, false } -// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. -func (hiodls HDInsightOnDemandLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { return nil, false } -// AsDynamicsAXLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. -func (hiodls HDInsightOnDemandLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { return nil, false } -// AsResponsysLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. -func (hiodls HDInsightOnDemandLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { +// AsResponsysLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { return nil, false } -// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. -func (hiodls HDInsightOnDemandLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { return nil, false } -// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. -func (hiodls HDInsightOnDemandLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { return nil, false } -// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. -func (hiodls HDInsightOnDemandLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { - return &hiodls, true -} - -// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. -func (hiodls HDInsightOnDemandLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { return nil, false } -// AsNetezzaLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. -func (hiodls HDInsightOnDemandLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { return nil, false } -// AsVerticaLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. -func (hiodls HDInsightOnDemandLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { +// AsNetezzaLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { return nil, false } -// AsZohoLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. -func (hiodls HDInsightOnDemandLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { +// AsVerticaLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { return nil, false } -// AsXeroLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. -func (hiodls HDInsightOnDemandLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { +// AsZohoLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { return nil, false } -// AsSquareLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. -func (hiodls HDInsightOnDemandLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { +// AsXeroLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { return nil, false } -// AsSparkLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. -func (hiodls HDInsightOnDemandLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { +// AsSquareLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { return nil, false } -// AsShopifyLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. -func (hiodls HDInsightOnDemandLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { +// AsSparkLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { return nil, false } -// AsServiceNowLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. -func (hiodls HDInsightOnDemandLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { +// AsShopifyLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { return nil, false } -// AsQuickBooksLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. -func (hiodls HDInsightOnDemandLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { +// AsServiceNowLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { return nil, false } -// AsPrestoLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. -func (hiodls HDInsightOnDemandLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { +// AsQuickBooksLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { return nil, false } -// AsPhoenixLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. -func (hiodls HDInsightOnDemandLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { +// AsPrestoLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { return nil, false } -// AsPaypalLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. -func (hiodls HDInsightOnDemandLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { +// AsPhoenixLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { return nil, false } -// AsMarketoLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. -func (hiodls HDInsightOnDemandLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { +// AsPaypalLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { return nil, false } -// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. -func (hiodls HDInsightOnDemandLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { +// AsMarketoLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { return nil, false } -// AsMariaDBLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. -func (hiodls HDInsightOnDemandLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { return nil, false } -// AsMagentoLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. -func (hiodls HDInsightOnDemandLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { +// AsMariaDBLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { return nil, false } -// AsJiraLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. -func (hiodls HDInsightOnDemandLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { +// AsMagentoLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { return nil, false } -// AsImpalaLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. -func (hiodls HDInsightOnDemandLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { +// AsJiraLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { return nil, false } -// AsHubspotLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. -func (hiodls HDInsightOnDemandLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { +// AsImpalaLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { return nil, false } -// AsHiveLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. -func (hiodls HDInsightOnDemandLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { +// AsHubspotLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { return nil, false } -// AsHBaseLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. -func (hiodls HDInsightOnDemandLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { +// AsHiveLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { return nil, false } -// AsGreenplumLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. -func (hiodls HDInsightOnDemandLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { +// AsHBaseLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { return nil, false } -// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. -func (hiodls HDInsightOnDemandLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { +// AsGreenplumLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return &gls, true +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { return nil, false } -// AsEloquaLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. -func (hiodls HDInsightOnDemandLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { +// AsEloquaLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { return nil, false } -// AsDrillLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. -func (hiodls HDInsightOnDemandLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { +// AsDrillLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { return nil, false } -// AsCouchbaseLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. -func (hiodls HDInsightOnDemandLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { +// AsCouchbaseLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { return nil, false } -// AsConcurLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. -func (hiodls HDInsightOnDemandLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { +// AsConcurLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { return nil, false } -// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. -func (hiodls HDInsightOnDemandLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { return nil, false } -// AsAmazonMWSLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. -func (hiodls HDInsightOnDemandLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { return nil, false } -// AsSapHanaLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. -func (hiodls HDInsightOnDemandLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { +// AsSapHanaLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { return nil, false } -// AsSapBWLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. -func (hiodls HDInsightOnDemandLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { +// AsSapBWLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { return nil, false } -// AsSftpServerLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. -func (hiodls HDInsightOnDemandLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { +// AsSftpServerLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { return nil, false } -// AsFtpServerLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. -func (hiodls HDInsightOnDemandLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { +// AsFtpServerLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { return nil, false } -// AsHTTPLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. -func (hiodls HDInsightOnDemandLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { +// AsHTTPLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { return nil, false } -// AsAzureSearchLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. -func (hiodls HDInsightOnDemandLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { +// AsAzureSearchLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { return nil, false } -// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. -func (hiodls HDInsightOnDemandLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { return nil, false } -// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. -func (hiodls HDInsightOnDemandLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { return nil, false } -// AsAmazonS3LinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. -func (hiodls HDInsightOnDemandLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { +// AsAmazonS3LinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { return nil, false } -// AsRestServiceLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. -func (hiodls HDInsightOnDemandLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { +// AsRestServiceLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { return nil, false } -// AsSapOpenHubLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. -func (hiodls HDInsightOnDemandLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { return nil, false } -// AsSapEccLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. -func (hiodls HDInsightOnDemandLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { +// AsSapEccLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { return nil, false } -// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. -func (hiodls HDInsightOnDemandLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { return nil, false } -// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. -func (hiodls HDInsightOnDemandLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { return nil, false } -// AsSalesforceLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. -func (hiodls HDInsightOnDemandLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { +// AsSalesforceLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { return nil, false } -// AsOffice365LinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. -func (hiodls HDInsightOnDemandLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { +// AsOffice365LinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { return nil, false } -// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. -func (hiodls HDInsightOnDemandLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { return nil, false } -// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. -func (hiodls HDInsightOnDemandLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { return nil, false } -// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. -func (hiodls HDInsightOnDemandLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { return nil, false } -// AsMongoDbV2LinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. -func (hiodls HDInsightOnDemandLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { return nil, false } -// AsMongoDbLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. -func (hiodls HDInsightOnDemandLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { +// AsMongoDbLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { return nil, false } -// AsCassandraLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. -func (hiodls HDInsightOnDemandLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { +// AsCassandraLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { return nil, false } -// AsWebLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. -func (hiodls HDInsightOnDemandLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { +// AsWebLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { return nil, false } -// AsODataLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. -func (hiodls HDInsightOnDemandLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { +// AsODataLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { return nil, false } -// AsHdfsLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. -func (hiodls HDInsightOnDemandLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { +// AsHdfsLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { return nil, false } -// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. -func (hiodls HDInsightOnDemandLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { return nil, false } -// AsInformixLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. -func (hiodls HDInsightOnDemandLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { +// AsInformixLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { return nil, false } -// AsOdbcLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. -func (hiodls HDInsightOnDemandLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { +// AsOdbcLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { return nil, false } -// AsAzureMLLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. -func (hiodls HDInsightOnDemandLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { return nil, false } -// AsTeradataLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. -func (hiodls HDInsightOnDemandLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { +// AsAzureMLLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { return nil, false } -// AsDb2LinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. -func (hiodls HDInsightOnDemandLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { +// AsTeradataLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { return nil, false } -// AsSybaseLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. -func (hiodls HDInsightOnDemandLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { +// AsDb2LinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { return nil, false } -// AsPostgreSQLLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. -func (hiodls HDInsightOnDemandLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { +// AsSybaseLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { return nil, false } -// AsMySQLLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. -func (hiodls HDInsightOnDemandLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { return nil, false } -// AsAzureMySQLLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. -func (hiodls HDInsightOnDemandLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { +// AsMySQLLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { return nil, false } -// AsOracleLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. -func (hiodls HDInsightOnDemandLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { return nil, false } -// AsFileServerLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. -func (hiodls HDInsightOnDemandLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { +// AsOracleLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { return nil, false } -// AsHDInsightLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. -func (hiodls HDInsightOnDemandLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { return nil, false } -// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. -func (hiodls HDInsightOnDemandLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { return nil, false } -// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. -func (hiodls HDInsightOnDemandLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { +// AsFileServerLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { return nil, false } -// AsDynamicsLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. -func (hiodls HDInsightOnDemandLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { +// AsHDInsightLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { return nil, false } -// AsCosmosDbLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. -func (hiodls HDInsightOnDemandLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { return nil, false } -// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. -func (hiodls HDInsightOnDemandLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { return nil, false } -// AsAzureBatchLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. -func (hiodls HDInsightOnDemandLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { +// AsDynamicsLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { return nil, false } -// AsAzureSQLMILinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. -func (hiodls HDInsightOnDemandLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { +// AsCosmosDbLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { return nil, false } -// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. -func (hiodls HDInsightOnDemandLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { return nil, false } -// AsSQLServerLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. -func (hiodls HDInsightOnDemandLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { +// AsAzureBatchLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { return nil, false } -// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. -func (hiodls HDInsightOnDemandLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { return nil, false } -// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. -func (hiodls HDInsightOnDemandLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { return nil, false } -// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. -func (hiodls HDInsightOnDemandLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { +// AsSQLServerLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { return nil, false } -// AsAzureStorageLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. -func (hiodls HDInsightOnDemandLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { return nil, false } -// AsLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. -func (hiodls HDInsightOnDemandLinkedService) AsLinkedService() (*LinkedService, bool) { +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { return nil, false } -// AsBasicLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. -func (hiodls HDInsightOnDemandLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { - return &hiodls, true +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false } -// UnmarshalJSON is the custom unmarshaler for HDInsightOnDemandLinkedService struct. -func (hiodls *HDInsightOnDemandLinkedService) UnmarshalJSON(body []byte) error { +// AsAzureStorageLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for GreenplumLinkedService. +func (gls GreenplumLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &gls, true +} + +// UnmarshalJSON is the custom unmarshaler for GreenplumLinkedService struct. +func (gls *GreenplumLinkedService) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -91271,12 +96481,12 @@ func (hiodls *HDInsightOnDemandLinkedService) UnmarshalJSON(body []byte) error { switch k { case "typeProperties": if v != nil { - var hDInsightOnDemandLinkedServiceTypeProperties HDInsightOnDemandLinkedServiceTypeProperties - err = json.Unmarshal(*v, &hDInsightOnDemandLinkedServiceTypeProperties) + var greenplumLinkedServiceTypeProperties GreenplumLinkedServiceTypeProperties + err = json.Unmarshal(*v, &greenplumLinkedServiceTypeProperties) if err != nil { return err } - hiodls.HDInsightOnDemandLinkedServiceTypeProperties = &hDInsightOnDemandLinkedServiceTypeProperties + gls.GreenplumLinkedServiceTypeProperties = &greenplumLinkedServiceTypeProperties } default: if v != nil { @@ -91285,10 +96495,10 @@ func (hiodls *HDInsightOnDemandLinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - if hiodls.AdditionalProperties == nil { - hiodls.AdditionalProperties = make(map[string]interface{}) + if gls.AdditionalProperties == nil { + gls.AdditionalProperties = make(map[string]interface{}) } - hiodls.AdditionalProperties[k] = additionalProperties + gls.AdditionalProperties[k] = additionalProperties } case "connectVia": if v != nil { @@ -91297,7 +96507,7 @@ func (hiodls *HDInsightOnDemandLinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - hiodls.ConnectVia = &connectVia + gls.ConnectVia = &connectVia } case "description": if v != nil { @@ -91306,7 +96516,7 @@ func (hiodls *HDInsightOnDemandLinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - hiodls.Description = &description + gls.Description = &description } case "parameters": if v != nil { @@ -91315,7 +96525,7 @@ func (hiodls *HDInsightOnDemandLinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - hiodls.Parameters = parameters + gls.Parameters = parameters } case "annotations": if v != nil { @@ -91324,7 +96534,7 @@ func (hiodls *HDInsightOnDemandLinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - hiodls.Annotations = &annotations + gls.Annotations = &annotations } case "type": if v != nil { @@ -91333,7 +96543,7 @@ func (hiodls *HDInsightOnDemandLinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - hiodls.Type = typeVar + gls.Type = typeVar } } } @@ -91341,1008 +96551,514 @@ func (hiodls *HDInsightOnDemandLinkedService) UnmarshalJSON(body []byte) error { return nil } -// HDInsightOnDemandLinkedServiceTypeProperties hDInsight ondemand linked service properties. -type HDInsightOnDemandLinkedServiceTypeProperties struct { - // ClusterSize - Number of worker/data nodes in the cluster. Suggestion value: 4. Type: string (or Expression with resultType string). - ClusterSize interface{} `json:"clusterSize,omitempty"` - // TimeToLive - The allowed idle time for the on-demand HDInsight cluster. Specifies how long the on-demand HDInsight cluster stays alive after completion of an activity run if there are no other active jobs in the cluster. The minimum value is 5 mins. Type: string (or Expression with resultType string). - TimeToLive interface{} `json:"timeToLive,omitempty"` - // Version - Version of the HDInsight cluster.  Type: string (or Expression with resultType string). - Version interface{} `json:"version,omitempty"` - // LinkedServiceName - Azure Storage linked service to be used by the on-demand cluster for storing and processing data. - LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` - // HostSubscriptionID - The customer’s subscription to host the cluster. Type: string (or Expression with resultType string). - HostSubscriptionID interface{} `json:"hostSubscriptionId,omitempty"` - // ServicePrincipalID - The service principal id for the hostSubscriptionId. Type: string (or Expression with resultType string). - ServicePrincipalID interface{} `json:"servicePrincipalId,omitempty"` - // ServicePrincipalKey - The key for the service principal id. - ServicePrincipalKey BasicSecretBase `json:"servicePrincipalKey,omitempty"` - // Tenant - The Tenant id/name to which the service principal belongs. Type: string (or Expression with resultType string). - Tenant interface{} `json:"tenant,omitempty"` - // ClusterResourceGroup - The resource group where the cluster belongs. Type: string (or Expression with resultType string). - ClusterResourceGroup interface{} `json:"clusterResourceGroup,omitempty"` - // ClusterNamePrefix - The prefix of cluster name, postfix will be distinct with timestamp. Type: string (or Expression with resultType string). - ClusterNamePrefix interface{} `json:"clusterNamePrefix,omitempty"` - // ClusterUserName - The username to access the cluster. Type: string (or Expression with resultType string). - ClusterUserName interface{} `json:"clusterUserName,omitempty"` - // ClusterPassword - The password to access the cluster. - ClusterPassword BasicSecretBase `json:"clusterPassword,omitempty"` - // ClusterSSHUserName - The username to SSH remotely connect to cluster’s node (for Linux). Type: string (or Expression with resultType string). - ClusterSSHUserName interface{} `json:"clusterSshUserName,omitempty"` - // ClusterSSHPassword - The password to SSH remotely connect cluster’s node (for Linux). - ClusterSSHPassword BasicSecretBase `json:"clusterSshPassword,omitempty"` - // AdditionalLinkedServiceNames - Specifies additional storage accounts for the HDInsight linked service so that the Data Factory service can register them on your behalf. - AdditionalLinkedServiceNames *[]LinkedServiceReference `json:"additionalLinkedServiceNames,omitempty"` - // HcatalogLinkedServiceName - The name of Azure SQL linked service that point to the HCatalog database. The on-demand HDInsight cluster is created by using the Azure SQL database as the metastore. - HcatalogLinkedServiceName *LinkedServiceReference `json:"hcatalogLinkedServiceName,omitempty"` - // ClusterType - The cluster type. Type: string (or Expression with resultType string). - ClusterType interface{} `json:"clusterType,omitempty"` - // SparkVersion - The version of spark if the cluster type is 'spark'. Type: string (or Expression with resultType string). - SparkVersion interface{} `json:"sparkVersion,omitempty"` - // CoreConfiguration - Specifies the core configuration parameters (as in core-site.xml) for the HDInsight cluster to be created. - CoreConfiguration interface{} `json:"coreConfiguration,omitempty"` - // HBaseConfiguration - Specifies the HBase configuration parameters (hbase-site.xml) for the HDInsight cluster. - HBaseConfiguration interface{} `json:"hBaseConfiguration,omitempty"` - // HdfsConfiguration - Specifies the HDFS configuration parameters (hdfs-site.xml) for the HDInsight cluster. - HdfsConfiguration interface{} `json:"hdfsConfiguration,omitempty"` - // HiveConfiguration - Specifies the hive configuration parameters (hive-site.xml) for the HDInsight cluster. - HiveConfiguration interface{} `json:"hiveConfiguration,omitempty"` - // MapReduceConfiguration - Specifies the MapReduce configuration parameters (mapred-site.xml) for the HDInsight cluster. - MapReduceConfiguration interface{} `json:"mapReduceConfiguration,omitempty"` - // OozieConfiguration - Specifies the Oozie configuration parameters (oozie-site.xml) for the HDInsight cluster. - OozieConfiguration interface{} `json:"oozieConfiguration,omitempty"` - // StormConfiguration - Specifies the Storm configuration parameters (storm-site.xml) for the HDInsight cluster. - StormConfiguration interface{} `json:"stormConfiguration,omitempty"` - // YarnConfiguration - Specifies the Yarn configuration parameters (yarn-site.xml) for the HDInsight cluster. - YarnConfiguration interface{} `json:"yarnConfiguration,omitempty"` +// GreenplumLinkedServiceTypeProperties greenplum Database linked service properties. +type GreenplumLinkedServiceTypeProperties struct { + // ConnectionString - An ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference. + ConnectionString interface{} `json:"connectionString,omitempty"` + // Pwd - The Azure key vault secret reference of password in connection string. + Pwd *AzureKeyVaultSecretReference `json:"pwd,omitempty"` // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` - // HeadNodeSize - Specifies the size of the head node for the HDInsight cluster. - HeadNodeSize interface{} `json:"headNodeSize,omitempty"` - // DataNodeSize - Specifies the size of the data node for the HDInsight cluster. - DataNodeSize interface{} `json:"dataNodeSize,omitempty"` - // ZookeeperNodeSize - Specifies the size of the Zoo Keeper node for the HDInsight cluster. - ZookeeperNodeSize interface{} `json:"zookeeperNodeSize,omitempty"` - // ScriptActions - Custom script actions to run on HDI ondemand cluster once it's up. Please refer to https://docs.microsoft.com/en-us/azure/hdinsight/hdinsight-hadoop-customize-cluster-linux?toc=%2Fen-us%2Fazure%2Fhdinsight%2Fr-server%2FTOC.json&bc=%2Fen-us%2Fazure%2Fbread%2Ftoc.json#understanding-script-actions. - ScriptActions *[]ScriptAction `json:"scriptActions,omitempty"` - // VirtualNetworkID - The ARM resource ID for the vNet to which the cluster should be joined after creation. Type: string (or Expression with resultType string). - VirtualNetworkID interface{} `json:"virtualNetworkId,omitempty"` - // SubnetName - The ARM resource ID for the subnet in the vNet. If virtualNetworkId was specified, then this property is required. Type: string (or Expression with resultType string). - SubnetName interface{} `json:"subnetName,omitempty"` -} - -// UnmarshalJSON is the custom unmarshaler for HDInsightOnDemandLinkedServiceTypeProperties struct. -func (hiodlstp *HDInsightOnDemandLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - case "clusterSize": - if v != nil { - var clusterSize interface{} - err = json.Unmarshal(*v, &clusterSize) - if err != nil { - return err - } - hiodlstp.ClusterSize = clusterSize - } - case "timeToLive": - if v != nil { - var timeToLive interface{} - err = json.Unmarshal(*v, &timeToLive) - if err != nil { - return err - } - hiodlstp.TimeToLive = timeToLive - } - case "version": - if v != nil { - var version interface{} - err = json.Unmarshal(*v, &version) - if err != nil { - return err - } - hiodlstp.Version = version - } - case "linkedServiceName": - if v != nil { - var linkedServiceName LinkedServiceReference - err = json.Unmarshal(*v, &linkedServiceName) - if err != nil { - return err - } - hiodlstp.LinkedServiceName = &linkedServiceName - } - case "hostSubscriptionId": - if v != nil { - var hostSubscriptionID interface{} - err = json.Unmarshal(*v, &hostSubscriptionID) - if err != nil { - return err - } - hiodlstp.HostSubscriptionID = hostSubscriptionID - } - case "servicePrincipalId": - if v != nil { - var servicePrincipalID interface{} - err = json.Unmarshal(*v, &servicePrincipalID) - if err != nil { - return err - } - hiodlstp.ServicePrincipalID = servicePrincipalID - } - case "servicePrincipalKey": - if v != nil { - servicePrincipalKey, err := unmarshalBasicSecretBase(*v) - if err != nil { - return err - } - hiodlstp.ServicePrincipalKey = servicePrincipalKey - } - case "tenant": - if v != nil { - var tenant interface{} - err = json.Unmarshal(*v, &tenant) - if err != nil { - return err - } - hiodlstp.Tenant = tenant - } - case "clusterResourceGroup": - if v != nil { - var clusterResourceGroup interface{} - err = json.Unmarshal(*v, &clusterResourceGroup) - if err != nil { - return err - } - hiodlstp.ClusterResourceGroup = clusterResourceGroup - } - case "clusterNamePrefix": - if v != nil { - var clusterNamePrefix interface{} - err = json.Unmarshal(*v, &clusterNamePrefix) - if err != nil { - return err - } - hiodlstp.ClusterNamePrefix = clusterNamePrefix - } - case "clusterUserName": - if v != nil { - var clusterUserName interface{} - err = json.Unmarshal(*v, &clusterUserName) - if err != nil { - return err - } - hiodlstp.ClusterUserName = clusterUserName - } - case "clusterPassword": - if v != nil { - clusterPassword, err := unmarshalBasicSecretBase(*v) - if err != nil { - return err - } - hiodlstp.ClusterPassword = clusterPassword - } - case "clusterSshUserName": - if v != nil { - var clusterSSHUserName interface{} - err = json.Unmarshal(*v, &clusterSSHUserName) - if err != nil { - return err - } - hiodlstp.ClusterSSHUserName = clusterSSHUserName - } - case "clusterSshPassword": - if v != nil { - clusterSSHPassword, err := unmarshalBasicSecretBase(*v) - if err != nil { - return err - } - hiodlstp.ClusterSSHPassword = clusterSSHPassword - } - case "additionalLinkedServiceNames": - if v != nil { - var additionalLinkedServiceNames []LinkedServiceReference - err = json.Unmarshal(*v, &additionalLinkedServiceNames) - if err != nil { - return err - } - hiodlstp.AdditionalLinkedServiceNames = &additionalLinkedServiceNames - } - case "hcatalogLinkedServiceName": - if v != nil { - var hcatalogLinkedServiceName LinkedServiceReference - err = json.Unmarshal(*v, &hcatalogLinkedServiceName) - if err != nil { - return err - } - hiodlstp.HcatalogLinkedServiceName = &hcatalogLinkedServiceName - } - case "clusterType": - if v != nil { - var clusterType interface{} - err = json.Unmarshal(*v, &clusterType) - if err != nil { - return err - } - hiodlstp.ClusterType = clusterType - } - case "sparkVersion": - if v != nil { - var sparkVersion interface{} - err = json.Unmarshal(*v, &sparkVersion) - if err != nil { - return err - } - hiodlstp.SparkVersion = sparkVersion - } - case "coreConfiguration": - if v != nil { - var coreConfiguration interface{} - err = json.Unmarshal(*v, &coreConfiguration) - if err != nil { - return err - } - hiodlstp.CoreConfiguration = coreConfiguration - } - case "hBaseConfiguration": - if v != nil { - var hBaseConfiguration interface{} - err = json.Unmarshal(*v, &hBaseConfiguration) - if err != nil { - return err - } - hiodlstp.HBaseConfiguration = hBaseConfiguration - } - case "hdfsConfiguration": - if v != nil { - var hdfsConfiguration interface{} - err = json.Unmarshal(*v, &hdfsConfiguration) - if err != nil { - return err - } - hiodlstp.HdfsConfiguration = hdfsConfiguration - } - case "hiveConfiguration": - if v != nil { - var hiveConfiguration interface{} - err = json.Unmarshal(*v, &hiveConfiguration) - if err != nil { - return err - } - hiodlstp.HiveConfiguration = hiveConfiguration - } - case "mapReduceConfiguration": - if v != nil { - var mapReduceConfiguration interface{} - err = json.Unmarshal(*v, &mapReduceConfiguration) - if err != nil { - return err - } - hiodlstp.MapReduceConfiguration = mapReduceConfiguration - } - case "oozieConfiguration": - if v != nil { - var oozieConfiguration interface{} - err = json.Unmarshal(*v, &oozieConfiguration) - if err != nil { - return err - } - hiodlstp.OozieConfiguration = oozieConfiguration - } - case "stormConfiguration": - if v != nil { - var stormConfiguration interface{} - err = json.Unmarshal(*v, &stormConfiguration) - if err != nil { - return err - } - hiodlstp.StormConfiguration = stormConfiguration - } - case "yarnConfiguration": - if v != nil { - var yarnConfiguration interface{} - err = json.Unmarshal(*v, &yarnConfiguration) - if err != nil { - return err - } - hiodlstp.YarnConfiguration = yarnConfiguration - } - case "encryptedCredential": - if v != nil { - var encryptedCredential interface{} - err = json.Unmarshal(*v, &encryptedCredential) - if err != nil { - return err - } - hiodlstp.EncryptedCredential = encryptedCredential - } - case "headNodeSize": - if v != nil { - var headNodeSize interface{} - err = json.Unmarshal(*v, &headNodeSize) - if err != nil { - return err - } - hiodlstp.HeadNodeSize = headNodeSize - } - case "dataNodeSize": - if v != nil { - var dataNodeSize interface{} - err = json.Unmarshal(*v, &dataNodeSize) - if err != nil { - return err - } - hiodlstp.DataNodeSize = dataNodeSize - } - case "zookeeperNodeSize": - if v != nil { - var zookeeperNodeSize interface{} - err = json.Unmarshal(*v, &zookeeperNodeSize) - if err != nil { - return err - } - hiodlstp.ZookeeperNodeSize = zookeeperNodeSize - } - case "scriptActions": - if v != nil { - var scriptActions []ScriptAction - err = json.Unmarshal(*v, &scriptActions) - if err != nil { - return err - } - hiodlstp.ScriptActions = &scriptActions - } - case "virtualNetworkId": - if v != nil { - var virtualNetworkID interface{} - err = json.Unmarshal(*v, &virtualNetworkID) - if err != nil { - return err - } - hiodlstp.VirtualNetworkID = virtualNetworkID - } - case "subnetName": - if v != nil { - var subnetName interface{} - err = json.Unmarshal(*v, &subnetName) - if err != nil { - return err - } - hiodlstp.SubnetName = subnetName - } - } - } - - return nil } -// HDInsightPigActivity hDInsight Pig activity type. -type HDInsightPigActivity struct { - // HDInsightPigActivityTypeProperties - HDInsight Pig activity properties. - *HDInsightPigActivityTypeProperties `json:"typeProperties,omitempty"` - // LinkedServiceName - Linked service reference. - LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` - // Policy - Activity policy. - Policy *ActivityPolicy `json:"policy,omitempty"` +// GreenplumSource a copy activity Greenplum Database source. +type GreenplumSource struct { + // Query - A query to retrieve data from source. Type: string (or Expression with resultType string). + Query interface{} `json:"query,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` - // Name - Activity name. - Name *string `json:"name,omitempty"` - // Description - Activity description. - Description *string `json:"description,omitempty"` - // DependsOn - Activity depends on condition. - DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"` - // UserProperties - Activity user properties. - UserProperties *[]UserProperty `json:"userProperties,omitempty"` - // Type - Possible values include: 'TypeActivity', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer' - Type TypeBasicActivity `json:"type,omitempty"` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' + Type TypeBasicCopySource `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for HDInsightPigActivity. -func (hipa HDInsightPigActivity) MarshalJSON() ([]byte, error) { - hipa.Type = TypeHDInsightPig +// MarshalJSON is the custom marshaler for GreenplumSource. +func (gs GreenplumSource) MarshalJSON() ([]byte, error) { + gs.Type = TypeGreenplumSource objectMap := make(map[string]interface{}) - if hipa.HDInsightPigActivityTypeProperties != nil { - objectMap["typeProperties"] = hipa.HDInsightPigActivityTypeProperties - } - if hipa.LinkedServiceName != nil { - objectMap["linkedServiceName"] = hipa.LinkedServiceName - } - if hipa.Policy != nil { - objectMap["policy"] = hipa.Policy + if gs.Query != nil { + objectMap["query"] = gs.Query } - if hipa.Name != nil { - objectMap["name"] = hipa.Name + if gs.QueryTimeout != nil { + objectMap["queryTimeout"] = gs.QueryTimeout } - if hipa.Description != nil { - objectMap["description"] = hipa.Description + if gs.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = gs.SourceRetryCount } - if hipa.DependsOn != nil { - objectMap["dependsOn"] = hipa.DependsOn + if gs.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = gs.SourceRetryWait } - if hipa.UserProperties != nil { - objectMap["userProperties"] = hipa.UserProperties + if gs.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = gs.MaxConcurrentConnections } - if hipa.Type != "" { - objectMap["type"] = hipa.Type + if gs.Type != "" { + objectMap["type"] = gs.Type } - for k, v := range hipa.AdditionalProperties { + for k, v := range gs.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsAzureFunctionActivity is the BasicActivity implementation for HDInsightPigActivity. -func (hipa HDInsightPigActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) { +// AsHTTPSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsHTTPSource() (*HTTPSource, bool) { return nil, false } -// AsDatabricksSparkPythonActivity is the BasicActivity implementation for HDInsightPigActivity. -func (hipa HDInsightPigActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) { +// AsAzureBlobFSSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { return nil, false } -// AsDatabricksSparkJarActivity is the BasicActivity implementation for HDInsightPigActivity. -func (hipa HDInsightPigActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) { +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { return nil, false } -// AsDatabricksNotebookActivity is the BasicActivity implementation for HDInsightPigActivity. -func (hipa HDInsightPigActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) { +// AsOffice365Source is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsOffice365Source() (*Office365Source, bool) { return nil, false } -// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for HDInsightPigActivity. -func (hipa HDInsightPigActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) { +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { return nil, false } -// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for HDInsightPigActivity. -func (hipa HDInsightPigActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) { +// AsMongoDbV2Source is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { return nil, false } -// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for HDInsightPigActivity. -func (hipa HDInsightPigActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) { +// AsMongoDbSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsMongoDbSource() (*MongoDbSource, bool) { return nil, false } -// AsGetMetadataActivity is the BasicActivity implementation for HDInsightPigActivity. -func (hipa HDInsightPigActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) { +// AsWebSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsWebSource() (*WebSource, bool) { return nil, false } -// AsWebActivity is the BasicActivity implementation for HDInsightPigActivity. -func (hipa HDInsightPigActivity) AsWebActivity() (*WebActivity, bool) { +// AsOracleSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsOracleSource() (*OracleSource, bool) { return nil, false } -// AsLookupActivity is the BasicActivity implementation for HDInsightPigActivity. -func (hipa HDInsightPigActivity) AsLookupActivity() (*LookupActivity, bool) { +// AsAzureDataExplorerSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { return nil, false } -// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for HDInsightPigActivity. -func (hipa HDInsightPigActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) { +// AsHdfsSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsHdfsSource() (*HdfsSource, bool) { return nil, false } -// AsDeleteActivity is the BasicActivity implementation for HDInsightPigActivity. -func (hipa HDInsightPigActivity) AsDeleteActivity() (*DeleteActivity, bool) { +// AsFileSystemSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsFileSystemSource() (*FileSystemSource, bool) { return nil, false } -// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for HDInsightPigActivity. -func (hipa HDInsightPigActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) { +// AsRestSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsRestSource() (*RestSource, bool) { return nil, false } -// AsCustomActivity is the BasicActivity implementation for HDInsightPigActivity. -func (hipa HDInsightPigActivity) AsCustomActivity() (*CustomActivity, bool) { +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { return nil, false } -// AsExecuteSSISPackageActivity is the BasicActivity implementation for HDInsightPigActivity. -func (hipa HDInsightPigActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) { +// AsODataSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsODataSource() (*ODataSource, bool) { return nil, false } -// AsHDInsightSparkActivity is the BasicActivity implementation for HDInsightPigActivity. -func (hipa HDInsightPigActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) { +// AsMicrosoftAccessSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { return nil, false } -// AsHDInsightStreamingActivity is the BasicActivity implementation for HDInsightPigActivity. -func (hipa HDInsightPigActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) { +// AsRelationalSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsRelationalSource() (*RelationalSource, bool) { return nil, false } -// AsHDInsightMapReduceActivity is the BasicActivity implementation for HDInsightPigActivity. -func (hipa HDInsightPigActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) { +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { return nil, false } -// AsHDInsightPigActivity is the BasicActivity implementation for HDInsightPigActivity. -func (hipa HDInsightPigActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) { - return &hipa, true +// AsDynamicsCrmSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false } -// AsHDInsightHiveActivity is the BasicActivity implementation for HDInsightPigActivity. -func (hipa HDInsightPigActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) { +// AsDynamicsSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsDynamicsSource() (*DynamicsSource, bool) { return nil, false } -// AsCopyActivity is the BasicActivity implementation for HDInsightPigActivity. -func (hipa HDInsightPigActivity) AsCopyActivity() (*CopyActivity, bool) { +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { return nil, false } -// AsExecutionActivity is the BasicActivity implementation for HDInsightPigActivity. -func (hipa HDInsightPigActivity) AsExecutionActivity() (*ExecutionActivity, bool) { +// AsDocumentDbCollectionSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { return nil, false } -// AsBasicExecutionActivity is the BasicActivity implementation for HDInsightPigActivity. -func (hipa HDInsightPigActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) { - return &hipa, true +// AsBlobSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsBlobSource() (*BlobSource, bool) { + return nil, false } -// AsWebHookActivity is the BasicActivity implementation for HDInsightPigActivity. -func (hipa HDInsightPigActivity) AsWebHookActivity() (*WebHookActivity, bool) { +// AsAmazonRedshiftSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { return nil, false } -// AsAppendVariableActivity is the BasicActivity implementation for HDInsightPigActivity. -func (hipa HDInsightPigActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) { +// AsGoogleAdWordsSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { return nil, false } -// AsSetVariableActivity is the BasicActivity implementation for HDInsightPigActivity. -func (hipa HDInsightPigActivity) AsSetVariableActivity() (*SetVariableActivity, bool) { +// AsOracleServiceCloudSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { return nil, false } -// AsFilterActivity is the BasicActivity implementation for HDInsightPigActivity. -func (hipa HDInsightPigActivity) AsFilterActivity() (*FilterActivity, bool) { +// AsDynamicsAXSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { return nil, false } -// AsValidationActivity is the BasicActivity implementation for HDInsightPigActivity. -func (hipa HDInsightPigActivity) AsValidationActivity() (*ValidationActivity, bool) { +// AsResponsysSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsResponsysSource() (*ResponsysSource, bool) { return nil, false } -// AsUntilActivity is the BasicActivity implementation for HDInsightPigActivity. -func (hipa HDInsightPigActivity) AsUntilActivity() (*UntilActivity, bool) { +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { return nil, false } -// AsWaitActivity is the BasicActivity implementation for HDInsightPigActivity. -func (hipa HDInsightPigActivity) AsWaitActivity() (*WaitActivity, bool) { +// AsVerticaSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsVerticaSource() (*VerticaSource, bool) { return nil, false } -// AsForEachActivity is the BasicActivity implementation for HDInsightPigActivity. -func (hipa HDInsightPigActivity) AsForEachActivity() (*ForEachActivity, bool) { +// AsNetezzaSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsNetezzaSource() (*NetezzaSource, bool) { return nil, false } -// AsIfConditionActivity is the BasicActivity implementation for HDInsightPigActivity. -func (hipa HDInsightPigActivity) AsIfConditionActivity() (*IfConditionActivity, bool) { +// AsZohoSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsZohoSource() (*ZohoSource, bool) { return nil, false } -// AsExecutePipelineActivity is the BasicActivity implementation for HDInsightPigActivity. -func (hipa HDInsightPigActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) { +// AsXeroSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsXeroSource() (*XeroSource, bool) { return nil, false } -// AsControlActivity is the BasicActivity implementation for HDInsightPigActivity. -func (hipa HDInsightPigActivity) AsControlActivity() (*ControlActivity, bool) { +// AsSquareSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsSquareSource() (*SquareSource, bool) { return nil, false } -// AsBasicControlActivity is the BasicActivity implementation for HDInsightPigActivity. -func (hipa HDInsightPigActivity) AsBasicControlActivity() (BasicControlActivity, bool) { +// AsSparkSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsSparkSource() (*SparkSource, bool) { return nil, false } -// AsActivity is the BasicActivity implementation for HDInsightPigActivity. -func (hipa HDInsightPigActivity) AsActivity() (*Activity, bool) { +// AsShopifySource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsShopifySource() (*ShopifySource, bool) { return nil, false } -// AsBasicActivity is the BasicActivity implementation for HDInsightPigActivity. -func (hipa HDInsightPigActivity) AsBasicActivity() (BasicActivity, bool) { - return &hipa, true +// AsServiceNowSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsServiceNowSource() (*ServiceNowSource, bool) { + return nil, false } -// UnmarshalJSON is the custom unmarshaler for HDInsightPigActivity struct. -func (hipa *HDInsightPigActivity) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - case "typeProperties": - if v != nil { - var hDInsightPigActivityTypeProperties HDInsightPigActivityTypeProperties - err = json.Unmarshal(*v, &hDInsightPigActivityTypeProperties) - if err != nil { - return err - } - hipa.HDInsightPigActivityTypeProperties = &hDInsightPigActivityTypeProperties - } - case "linkedServiceName": - if v != nil { - var linkedServiceName LinkedServiceReference - err = json.Unmarshal(*v, &linkedServiceName) - if err != nil { - return err - } - hipa.LinkedServiceName = &linkedServiceName - } - case "policy": - if v != nil { - var policy ActivityPolicy - err = json.Unmarshal(*v, &policy) - if err != nil { - return err - } - hipa.Policy = &policy - } - default: - if v != nil { - var additionalProperties interface{} - err = json.Unmarshal(*v, &additionalProperties) - if err != nil { - return err - } - if hipa.AdditionalProperties == nil { - hipa.AdditionalProperties = make(map[string]interface{}) - } - hipa.AdditionalProperties[k] = additionalProperties - } - case "name": - if v != nil { - var name string - err = json.Unmarshal(*v, &name) - if err != nil { - return err - } - hipa.Name = &name - } - case "description": - if v != nil { - var description string - err = json.Unmarshal(*v, &description) - if err != nil { - return err - } - hipa.Description = &description - } - case "dependsOn": - if v != nil { - var dependsOn []ActivityDependency - err = json.Unmarshal(*v, &dependsOn) - if err != nil { - return err - } - hipa.DependsOn = &dependsOn - } - case "userProperties": - if v != nil { - var userProperties []UserProperty - err = json.Unmarshal(*v, &userProperties) - if err != nil { - return err - } - hipa.UserProperties = &userProperties - } - case "type": - if v != nil { - var typeVar TypeBasicActivity - err = json.Unmarshal(*v, &typeVar) - if err != nil { - return err - } - hipa.Type = typeVar - } - } - } +// AsQuickBooksSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsQuickBooksSource() (*QuickBooksSource, bool) { + return nil, false +} - return nil +// AsPrestoSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsPrestoSource() (*PrestoSource, bool) { + return nil, false } -// HDInsightPigActivityTypeProperties hDInsight Pig activity properties. -type HDInsightPigActivityTypeProperties struct { - // StorageLinkedServices - Storage linked service references. - StorageLinkedServices *[]LinkedServiceReference `json:"storageLinkedServices,omitempty"` - // Arguments - User specified arguments to HDInsightActivity. - Arguments *[]interface{} `json:"arguments,omitempty"` - // GetDebugInfo - Debug info option. Possible values include: 'HDInsightActivityDebugInfoOptionNone', 'HDInsightActivityDebugInfoOptionAlways', 'HDInsightActivityDebugInfoOptionFailure' - GetDebugInfo HDInsightActivityDebugInfoOption `json:"getDebugInfo,omitempty"` - // ScriptPath - Script path. Type: string (or Expression with resultType string). - ScriptPath interface{} `json:"scriptPath,omitempty"` - // ScriptLinkedService - Script linked service reference. - ScriptLinkedService *LinkedServiceReference `json:"scriptLinkedService,omitempty"` - // Defines - Allows user to specify defines for Pig job request. - Defines map[string]interface{} `json:"defines"` +// AsPhoenixSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsPhoenixSource() (*PhoenixSource, bool) { + return nil, false } -// MarshalJSON is the custom marshaler for HDInsightPigActivityTypeProperties. -func (hipatp HDInsightPigActivityTypeProperties) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - if hipatp.StorageLinkedServices != nil { - objectMap["storageLinkedServices"] = hipatp.StorageLinkedServices - } - if hipatp.Arguments != nil { - objectMap["arguments"] = hipatp.Arguments - } - if hipatp.GetDebugInfo != "" { - objectMap["getDebugInfo"] = hipatp.GetDebugInfo - } - if hipatp.ScriptPath != nil { - objectMap["scriptPath"] = hipatp.ScriptPath - } - if hipatp.ScriptLinkedService != nil { - objectMap["scriptLinkedService"] = hipatp.ScriptLinkedService - } - if hipatp.Defines != nil { - objectMap["defines"] = hipatp.Defines - } - return json.Marshal(objectMap) +// AsPaypalSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsPaypalSource() (*PaypalSource, bool) { + return nil, false } -// HDInsightSparkActivity hDInsight Spark activity. -type HDInsightSparkActivity struct { - // HDInsightSparkActivityTypeProperties - HDInsight spark activity properties. - *HDInsightSparkActivityTypeProperties `json:"typeProperties,omitempty"` - // LinkedServiceName - Linked service reference. - LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` - // Policy - Activity policy. - Policy *ActivityPolicy `json:"policy,omitempty"` - // AdditionalProperties - Unmatched properties from the message are deserialized this collection - AdditionalProperties map[string]interface{} `json:""` - // Name - Activity name. - Name *string `json:"name,omitempty"` - // Description - Activity description. - Description *string `json:"description,omitempty"` - // DependsOn - Activity depends on condition. - DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"` - // UserProperties - Activity user properties. - UserProperties *[]UserProperty `json:"userProperties,omitempty"` - // Type - Possible values include: 'TypeActivity', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer' - Type TypeBasicActivity `json:"type,omitempty"` +// AsMarketoSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsMarketoSource() (*MarketoSource, bool) { + return nil, false } -// MarshalJSON is the custom marshaler for HDInsightSparkActivity. -func (hisa HDInsightSparkActivity) MarshalJSON() ([]byte, error) { - hisa.Type = TypeHDInsightSpark - objectMap := make(map[string]interface{}) - if hisa.HDInsightSparkActivityTypeProperties != nil { - objectMap["typeProperties"] = hisa.HDInsightSparkActivityTypeProperties - } - if hisa.LinkedServiceName != nil { - objectMap["linkedServiceName"] = hisa.LinkedServiceName - } - if hisa.Policy != nil { - objectMap["policy"] = hisa.Policy - } - if hisa.Name != nil { - objectMap["name"] = hisa.Name - } - if hisa.Description != nil { - objectMap["description"] = hisa.Description - } - if hisa.DependsOn != nil { - objectMap["dependsOn"] = hisa.DependsOn - } - if hisa.UserProperties != nil { - objectMap["userProperties"] = hisa.UserProperties - } - if hisa.Type != "" { - objectMap["type"] = hisa.Type - } - for k, v := range hisa.AdditionalProperties { - objectMap[k] = v - } - return json.Marshal(objectMap) +// AsAzureMariaDBSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { + return nil, false } -// AsAzureFunctionActivity is the BasicActivity implementation for HDInsightSparkActivity. -func (hisa HDInsightSparkActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) { +// AsMariaDBSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsMariaDBSource() (*MariaDBSource, bool) { return nil, false } -// AsDatabricksSparkPythonActivity is the BasicActivity implementation for HDInsightSparkActivity. -func (hisa HDInsightSparkActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) { +// AsMagentoSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsMagentoSource() (*MagentoSource, bool) { return nil, false } -// AsDatabricksSparkJarActivity is the BasicActivity implementation for HDInsightSparkActivity. -func (hisa HDInsightSparkActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) { +// AsJiraSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsJiraSource() (*JiraSource, bool) { return nil, false } -// AsDatabricksNotebookActivity is the BasicActivity implementation for HDInsightSparkActivity. -func (hisa HDInsightSparkActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) { +// AsImpalaSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsImpalaSource() (*ImpalaSource, bool) { return nil, false } -// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for HDInsightSparkActivity. -func (hisa HDInsightSparkActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) { +// AsHubspotSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsHubspotSource() (*HubspotSource, bool) { return nil, false } -// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for HDInsightSparkActivity. -func (hisa HDInsightSparkActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) { +// AsHiveSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsHiveSource() (*HiveSource, bool) { return nil, false } -// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for HDInsightSparkActivity. -func (hisa HDInsightSparkActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) { +// AsHBaseSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsHBaseSource() (*HBaseSource, bool) { return nil, false } -// AsGetMetadataActivity is the BasicActivity implementation for HDInsightSparkActivity. -func (hisa HDInsightSparkActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) { +// AsGreenplumSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsGreenplumSource() (*GreenplumSource, bool) { + return &gs, true +} + +// AsGoogleBigQuerySource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { return nil, false } -// AsWebActivity is the BasicActivity implementation for HDInsightSparkActivity. -func (hisa HDInsightSparkActivity) AsWebActivity() (*WebActivity, bool) { +// AsEloquaSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsEloquaSource() (*EloquaSource, bool) { return nil, false } -// AsLookupActivity is the BasicActivity implementation for HDInsightSparkActivity. -func (hisa HDInsightSparkActivity) AsLookupActivity() (*LookupActivity, bool) { +// AsDrillSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsDrillSource() (*DrillSource, bool) { return nil, false } -// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for HDInsightSparkActivity. -func (hisa HDInsightSparkActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) { +// AsCouchbaseSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsCouchbaseSource() (*CouchbaseSource, bool) { return nil, false } -// AsDeleteActivity is the BasicActivity implementation for HDInsightSparkActivity. -func (hisa HDInsightSparkActivity) AsDeleteActivity() (*DeleteActivity, bool) { +// AsConcurSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsConcurSource() (*ConcurSource, bool) { return nil, false } -// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for HDInsightSparkActivity. -func (hisa HDInsightSparkActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) { +// AsAzurePostgreSQLSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { return nil, false } -// AsCustomActivity is the BasicActivity implementation for HDInsightSparkActivity. -func (hisa HDInsightSparkActivity) AsCustomActivity() (*CustomActivity, bool) { +// AsAmazonMWSSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { return nil, false } -// AsExecuteSSISPackageActivity is the BasicActivity implementation for HDInsightSparkActivity. -func (hisa HDInsightSparkActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) { +// AsCassandraSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsCassandraSource() (*CassandraSource, bool) { return nil, false } -// AsHDInsightSparkActivity is the BasicActivity implementation for HDInsightSparkActivity. -func (hisa HDInsightSparkActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) { - return &hisa, true +// AsTeradataSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsTeradataSource() (*TeradataSource, bool) { + return nil, false } -// AsHDInsightStreamingActivity is the BasicActivity implementation for HDInsightSparkActivity. -func (hisa HDInsightSparkActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) { +// AsAzureMySQLSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { return nil, false } -// AsHDInsightMapReduceActivity is the BasicActivity implementation for HDInsightSparkActivity. -func (hisa HDInsightSparkActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) { +// AsSQLDWSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsSQLDWSource() (*SQLDWSource, bool) { return nil, false } -// AsHDInsightPigActivity is the BasicActivity implementation for HDInsightSparkActivity. -func (hisa HDInsightSparkActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) { +// AsSQLMISource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsSQLMISource() (*SQLMISource, bool) { return nil, false } -// AsHDInsightHiveActivity is the BasicActivity implementation for HDInsightSparkActivity. -func (hisa HDInsightSparkActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) { +// AsAzureSQLSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsAzureSQLSource() (*AzureSQLSource, bool) { return nil, false } -// AsCopyActivity is the BasicActivity implementation for HDInsightSparkActivity. -func (hisa HDInsightSparkActivity) AsCopyActivity() (*CopyActivity, bool) { +// AsSQLServerSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsSQLServerSource() (*SQLServerSource, bool) { return nil, false } -// AsExecutionActivity is the BasicActivity implementation for HDInsightSparkActivity. -func (hisa HDInsightSparkActivity) AsExecutionActivity() (*ExecutionActivity, bool) { +// AsSQLSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsSQLSource() (*SQLSource, bool) { return nil, false } -// AsBasicExecutionActivity is the BasicActivity implementation for HDInsightSparkActivity. -func (hisa HDInsightSparkActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) { - return &hisa, true +// AsSapTableSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsSapTableSource() (*SapTableSource, bool) { + return nil, false } -// AsWebHookActivity is the BasicActivity implementation for HDInsightSparkActivity. -func (hisa HDInsightSparkActivity) AsWebHookActivity() (*WebHookActivity, bool) { +// AsSapOpenHubSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { return nil, false } -// AsAppendVariableActivity is the BasicActivity implementation for HDInsightSparkActivity. -func (hisa HDInsightSparkActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) { +// AsSapHanaSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsSapHanaSource() (*SapHanaSource, bool) { return nil, false } -// AsSetVariableActivity is the BasicActivity implementation for HDInsightSparkActivity. -func (hisa HDInsightSparkActivity) AsSetVariableActivity() (*SetVariableActivity, bool) { +// AsSapEccSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsSapEccSource() (*SapEccSource, bool) { return nil, false } -// AsFilterActivity is the BasicActivity implementation for HDInsightSparkActivity. -func (hisa HDInsightSparkActivity) AsFilterActivity() (*FilterActivity, bool) { +// AsSapCloudForCustomerSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { return nil, false } -// AsValidationActivity is the BasicActivity implementation for HDInsightSparkActivity. -func (hisa HDInsightSparkActivity) AsValidationActivity() (*ValidationActivity, bool) { +// AsSalesforceSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsSalesforceSource() (*SalesforceSource, bool) { return nil, false } -// AsUntilActivity is the BasicActivity implementation for HDInsightSparkActivity. -func (hisa HDInsightSparkActivity) AsUntilActivity() (*UntilActivity, bool) { +// AsSapBwSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsSapBwSource() (*SapBwSource, bool) { return nil, false } -// AsWaitActivity is the BasicActivity implementation for HDInsightSparkActivity. -func (hisa HDInsightSparkActivity) AsWaitActivity() (*WaitActivity, bool) { +// AsSybaseSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsSybaseSource() (*SybaseSource, bool) { return nil, false } -// AsForEachActivity is the BasicActivity implementation for HDInsightSparkActivity. -func (hisa HDInsightSparkActivity) AsForEachActivity() (*ForEachActivity, bool) { +// AsPostgreSQLSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { return nil, false } -// AsIfConditionActivity is the BasicActivity implementation for HDInsightSparkActivity. -func (hisa HDInsightSparkActivity) AsIfConditionActivity() (*IfConditionActivity, bool) { +// AsMySQLSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsMySQLSource() (*MySQLSource, bool) { return nil, false } -// AsExecutePipelineActivity is the BasicActivity implementation for HDInsightSparkActivity. -func (hisa HDInsightSparkActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) { +// AsOdbcSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsOdbcSource() (*OdbcSource, bool) { return nil, false } -// AsControlActivity is the BasicActivity implementation for HDInsightSparkActivity. -func (hisa HDInsightSparkActivity) AsControlActivity() (*ControlActivity, bool) { +// AsDb2Source is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsDb2Source() (*Db2Source, bool) { return nil, false } -// AsBasicControlActivity is the BasicActivity implementation for HDInsightSparkActivity. -func (hisa HDInsightSparkActivity) AsBasicControlActivity() (BasicControlActivity, bool) { +// AsInformixSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsInformixSource() (*InformixSource, bool) { return nil, false } -// AsActivity is the BasicActivity implementation for HDInsightSparkActivity. -func (hisa HDInsightSparkActivity) AsActivity() (*Activity, bool) { +// AsAzureTableSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsAzureTableSource() (*AzureTableSource, bool) { return nil, false } -// AsBasicActivity is the BasicActivity implementation for HDInsightSparkActivity. -func (hisa HDInsightSparkActivity) AsBasicActivity() (BasicActivity, bool) { - return &hisa, true +// AsTabularSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsTabularSource() (*TabularSource, bool) { + return nil, false } -// UnmarshalJSON is the custom unmarshaler for HDInsightSparkActivity struct. -func (hisa *HDInsightSparkActivity) UnmarshalJSON(body []byte) error { +// AsBasicTabularSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &gs, true +} + +// AsBinarySource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsBinarySource() (*BinarySource, bool) { + return nil, false +} + +// AsOrcSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsOrcSource() (*OrcSource, bool) { + return nil, false +} + +// AsJSONSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsJSONSource() (*JSONSource, bool) { + return nil, false +} + +// AsDelimitedTextSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false +} + +// AsParquetSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for GreenplumSource. +func (gs GreenplumSource) AsBasicCopySource() (BasicCopySource, bool) { + return &gs, true +} + +// UnmarshalJSON is the custom unmarshaler for GreenplumSource struct. +func (gs *GreenplumSource) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -92350,32 +97066,23 @@ func (hisa *HDInsightSparkActivity) UnmarshalJSON(body []byte) error { } for k, v := range m { switch k { - case "typeProperties": - if v != nil { - var hDInsightSparkActivityTypeProperties HDInsightSparkActivityTypeProperties - err = json.Unmarshal(*v, &hDInsightSparkActivityTypeProperties) - if err != nil { - return err - } - hisa.HDInsightSparkActivityTypeProperties = &hDInsightSparkActivityTypeProperties - } - case "linkedServiceName": + case "query": if v != nil { - var linkedServiceName LinkedServiceReference - err = json.Unmarshal(*v, &linkedServiceName) + var query interface{} + err = json.Unmarshal(*v, &query) if err != nil { return err } - hisa.LinkedServiceName = &linkedServiceName + gs.Query = query } - case "policy": + case "queryTimeout": if v != nil { - var policy ActivityPolicy - err = json.Unmarshal(*v, &policy) + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) if err != nil { return err } - hisa.Policy = &policy + gs.QueryTimeout = queryTimeout } default: if v != nil { @@ -92384,55 +97091,46 @@ func (hisa *HDInsightSparkActivity) UnmarshalJSON(body []byte) error { if err != nil { return err } - if hisa.AdditionalProperties == nil { - hisa.AdditionalProperties = make(map[string]interface{}) - } - hisa.AdditionalProperties[k] = additionalProperties - } - case "name": - if v != nil { - var name string - err = json.Unmarshal(*v, &name) - if err != nil { - return err + if gs.AdditionalProperties == nil { + gs.AdditionalProperties = make(map[string]interface{}) } - hisa.Name = &name + gs.AdditionalProperties[k] = additionalProperties } - case "description": + case "sourceRetryCount": if v != nil { - var description string - err = json.Unmarshal(*v, &description) + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) if err != nil { return err } - hisa.Description = &description + gs.SourceRetryCount = sourceRetryCount } - case "dependsOn": + case "sourceRetryWait": if v != nil { - var dependsOn []ActivityDependency - err = json.Unmarshal(*v, &dependsOn) + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) if err != nil { return err } - hisa.DependsOn = &dependsOn + gs.SourceRetryWait = sourceRetryWait } - case "userProperties": + case "maxConcurrentConnections": if v != nil { - var userProperties []UserProperty - err = json.Unmarshal(*v, &userProperties) + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) if err != nil { return err } - hisa.UserProperties = &userProperties + gs.MaxConcurrentConnections = maxConcurrentConnections } case "type": if v != nil { - var typeVar TypeBasicActivity + var typeVar TypeBasicCopySource err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - hisa.Type = typeVar + gs.Type = typeVar } } } @@ -92440,989 +97138,1148 @@ func (hisa *HDInsightSparkActivity) UnmarshalJSON(body []byte) error { return nil } -// HDInsightSparkActivityTypeProperties hDInsight spark activity properties. -type HDInsightSparkActivityTypeProperties struct { - // RootPath - The root path in 'sparkJobLinkedService' for all the job’s files. Type: string (or Expression with resultType string). - RootPath interface{} `json:"rootPath,omitempty"` - // EntryFilePath - The relative path to the root folder of the code/package to be executed. Type: string (or Expression with resultType string). - EntryFilePath interface{} `json:"entryFilePath,omitempty"` - // Arguments - The user-specified arguments to HDInsightSparkActivity. - Arguments *[]interface{} `json:"arguments,omitempty"` - // GetDebugInfo - Debug info option. Possible values include: 'HDInsightActivityDebugInfoOptionNone', 'HDInsightActivityDebugInfoOptionAlways', 'HDInsightActivityDebugInfoOptionFailure' - GetDebugInfo HDInsightActivityDebugInfoOption `json:"getDebugInfo,omitempty"` - // SparkJobLinkedService - The storage linked service for uploading the entry file and dependencies, and for receiving logs. - SparkJobLinkedService *LinkedServiceReference `json:"sparkJobLinkedService,omitempty"` - // ClassName - The application's Java/Spark main class. - ClassName *string `json:"className,omitempty"` - // ProxyUser - The user to impersonate that will execute the job. Type: string (or Expression with resultType string). - ProxyUser interface{} `json:"proxyUser,omitempty"` - // SparkConfig - Spark configuration property. - SparkConfig map[string]interface{} `json:"sparkConfig"` -} - -// MarshalJSON is the custom marshaler for HDInsightSparkActivityTypeProperties. -func (hisatp HDInsightSparkActivityTypeProperties) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - if hisatp.RootPath != nil { - objectMap["rootPath"] = hisatp.RootPath - } - if hisatp.EntryFilePath != nil { - objectMap["entryFilePath"] = hisatp.EntryFilePath - } - if hisatp.Arguments != nil { - objectMap["arguments"] = hisatp.Arguments - } - if hisatp.GetDebugInfo != "" { - objectMap["getDebugInfo"] = hisatp.GetDebugInfo - } - if hisatp.SparkJobLinkedService != nil { - objectMap["sparkJobLinkedService"] = hisatp.SparkJobLinkedService - } - if hisatp.ClassName != nil { - objectMap["className"] = hisatp.ClassName - } - if hisatp.ProxyUser != nil { - objectMap["proxyUser"] = hisatp.ProxyUser - } - if hisatp.SparkConfig != nil { - objectMap["sparkConfig"] = hisatp.SparkConfig - } - return json.Marshal(objectMap) -} - -// HDInsightStreamingActivity hDInsight streaming activity type. -type HDInsightStreamingActivity struct { - // HDInsightStreamingActivityTypeProperties - HDInsight streaming activity properties. - *HDInsightStreamingActivityTypeProperties `json:"typeProperties,omitempty"` - // LinkedServiceName - Linked service reference. - LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` - // Policy - Activity policy. - Policy *ActivityPolicy `json:"policy,omitempty"` +// GreenplumTableDataset greenplum Database dataset. +type GreenplumTableDataset struct { + // GreenplumDatasetTypeProperties - Properties specific to this dataset type. + *GreenplumDatasetTypeProperties `json:"typeProperties,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` - // Name - Activity name. - Name *string `json:"name,omitempty"` - // Description - Activity description. + // Description - Dataset description. Description *string `json:"description,omitempty"` - // DependsOn - Activity depends on condition. - DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"` - // UserProperties - Activity user properties. - UserProperties *[]UserProperty `json:"userProperties,omitempty"` - // Type - Possible values include: 'TypeActivity', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer' - Type TypeBasicActivity `json:"type,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' + Type TypeBasicDataset `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for HDInsightStreamingActivity. -func (hisa HDInsightStreamingActivity) MarshalJSON() ([]byte, error) { - hisa.Type = TypeHDInsightStreaming +// MarshalJSON is the custom marshaler for GreenplumTableDataset. +func (gtd GreenplumTableDataset) MarshalJSON() ([]byte, error) { + gtd.Type = TypeGreenplumTable objectMap := make(map[string]interface{}) - if hisa.HDInsightStreamingActivityTypeProperties != nil { - objectMap["typeProperties"] = hisa.HDInsightStreamingActivityTypeProperties + if gtd.GreenplumDatasetTypeProperties != nil { + objectMap["typeProperties"] = gtd.GreenplumDatasetTypeProperties } - if hisa.LinkedServiceName != nil { - objectMap["linkedServiceName"] = hisa.LinkedServiceName + if gtd.Description != nil { + objectMap["description"] = gtd.Description } - if hisa.Policy != nil { - objectMap["policy"] = hisa.Policy + if gtd.Structure != nil { + objectMap["structure"] = gtd.Structure } - if hisa.Name != nil { - objectMap["name"] = hisa.Name + if gtd.Schema != nil { + objectMap["schema"] = gtd.Schema } - if hisa.Description != nil { - objectMap["description"] = hisa.Description + if gtd.LinkedServiceName != nil { + objectMap["linkedServiceName"] = gtd.LinkedServiceName } - if hisa.DependsOn != nil { - objectMap["dependsOn"] = hisa.DependsOn + if gtd.Parameters != nil { + objectMap["parameters"] = gtd.Parameters } - if hisa.UserProperties != nil { - objectMap["userProperties"] = hisa.UserProperties + if gtd.Annotations != nil { + objectMap["annotations"] = gtd.Annotations } - if hisa.Type != "" { - objectMap["type"] = hisa.Type + if gtd.Folder != nil { + objectMap["folder"] = gtd.Folder } - for k, v := range hisa.AdditionalProperties { + if gtd.Type != "" { + objectMap["type"] = gtd.Type + } + for k, v := range gtd.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsAzureFunctionActivity is the BasicActivity implementation for HDInsightStreamingActivity. -func (hisa HDInsightStreamingActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) { +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { return nil, false } -// AsDatabricksSparkPythonActivity is the BasicActivity implementation for HDInsightStreamingActivity. -func (hisa HDInsightStreamingActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) { +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { return nil, false } -// AsDatabricksSparkJarActivity is the BasicActivity implementation for HDInsightStreamingActivity. -func (hisa HDInsightStreamingActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) { +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { return nil, false } -// AsDatabricksNotebookActivity is the BasicActivity implementation for HDInsightStreamingActivity. -func (hisa HDInsightStreamingActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) { +// AsDynamicsAXResourceDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { return nil, false } -// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for HDInsightStreamingActivity. -func (hisa HDInsightStreamingActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) { +// AsResponsysObjectDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { return nil, false } -// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for HDInsightStreamingActivity. -func (hisa HDInsightStreamingActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) { +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { return nil, false } -// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for HDInsightStreamingActivity. -func (hisa HDInsightStreamingActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) { +// AsVerticaTableDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { return nil, false } -// AsGetMetadataActivity is the BasicActivity implementation for HDInsightStreamingActivity. -func (hisa HDInsightStreamingActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) { +// AsNetezzaTableDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { return nil, false } -// AsWebActivity is the BasicActivity implementation for HDInsightStreamingActivity. -func (hisa HDInsightStreamingActivity) AsWebActivity() (*WebActivity, bool) { +// AsZohoObjectDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { return nil, false } -// AsLookupActivity is the BasicActivity implementation for HDInsightStreamingActivity. -func (hisa HDInsightStreamingActivity) AsLookupActivity() (*LookupActivity, bool) { +// AsXeroObjectDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { return nil, false } -// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for HDInsightStreamingActivity. -func (hisa HDInsightStreamingActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) { +// AsSquareObjectDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { return nil, false } -// AsDeleteActivity is the BasicActivity implementation for HDInsightStreamingActivity. -func (hisa HDInsightStreamingActivity) AsDeleteActivity() (*DeleteActivity, bool) { +// AsSparkObjectDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { return nil, false } -// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for HDInsightStreamingActivity. -func (hisa HDInsightStreamingActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) { +// AsShopifyObjectDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { return nil, false } -// AsCustomActivity is the BasicActivity implementation for HDInsightStreamingActivity. -func (hisa HDInsightStreamingActivity) AsCustomActivity() (*CustomActivity, bool) { +// AsServiceNowObjectDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { return nil, false } -// AsExecuteSSISPackageActivity is the BasicActivity implementation for HDInsightStreamingActivity. -func (hisa HDInsightStreamingActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) { +// AsQuickBooksObjectDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { return nil, false } -// AsHDInsightSparkActivity is the BasicActivity implementation for HDInsightStreamingActivity. -func (hisa HDInsightStreamingActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) { +// AsPrestoObjectDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { return nil, false } -// AsHDInsightStreamingActivity is the BasicActivity implementation for HDInsightStreamingActivity. -func (hisa HDInsightStreamingActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) { - return &hisa, true +// AsPhoenixObjectDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { + return nil, false } -// AsHDInsightMapReduceActivity is the BasicActivity implementation for HDInsightStreamingActivity. -func (hisa HDInsightStreamingActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) { +// AsPaypalObjectDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { return nil, false } -// AsHDInsightPigActivity is the BasicActivity implementation for HDInsightStreamingActivity. -func (hisa HDInsightStreamingActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) { +// AsMarketoObjectDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { return nil, false } -// AsHDInsightHiveActivity is the BasicActivity implementation for HDInsightStreamingActivity. -func (hisa HDInsightStreamingActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) { +// AsAzureMariaDBTableDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { return nil, false } -// AsCopyActivity is the BasicActivity implementation for HDInsightStreamingActivity. -func (hisa HDInsightStreamingActivity) AsCopyActivity() (*CopyActivity, bool) { +// AsMariaDBTableDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { return nil, false } -// AsExecutionActivity is the BasicActivity implementation for HDInsightStreamingActivity. -func (hisa HDInsightStreamingActivity) AsExecutionActivity() (*ExecutionActivity, bool) { +// AsMagentoObjectDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { return nil, false } -// AsBasicExecutionActivity is the BasicActivity implementation for HDInsightStreamingActivity. -func (hisa HDInsightStreamingActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) { - return &hisa, true +// AsJiraObjectDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { + return nil, false } -// AsWebHookActivity is the BasicActivity implementation for HDInsightStreamingActivity. -func (hisa HDInsightStreamingActivity) AsWebHookActivity() (*WebHookActivity, bool) { +// AsImpalaObjectDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { return nil, false } -// AsAppendVariableActivity is the BasicActivity implementation for HDInsightStreamingActivity. -func (hisa HDInsightStreamingActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) { +// AsHubspotObjectDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { return nil, false } -// AsSetVariableActivity is the BasicActivity implementation for HDInsightStreamingActivity. -func (hisa HDInsightStreamingActivity) AsSetVariableActivity() (*SetVariableActivity, bool) { +// AsHiveObjectDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { return nil, false } -// AsFilterActivity is the BasicActivity implementation for HDInsightStreamingActivity. -func (hisa HDInsightStreamingActivity) AsFilterActivity() (*FilterActivity, bool) { +// AsHBaseObjectDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { return nil, false } -// AsValidationActivity is the BasicActivity implementation for HDInsightStreamingActivity. -func (hisa HDInsightStreamingActivity) AsValidationActivity() (*ValidationActivity, bool) { - return nil, false +// AsGreenplumTableDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { + return >d, true } -// AsUntilActivity is the BasicActivity implementation for HDInsightStreamingActivity. -func (hisa HDInsightStreamingActivity) AsUntilActivity() (*UntilActivity, bool) { +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { return nil, false } -// AsWaitActivity is the BasicActivity implementation for HDInsightStreamingActivity. -func (hisa HDInsightStreamingActivity) AsWaitActivity() (*WaitActivity, bool) { +// AsEloquaObjectDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { return nil, false } -// AsForEachActivity is the BasicActivity implementation for HDInsightStreamingActivity. -func (hisa HDInsightStreamingActivity) AsForEachActivity() (*ForEachActivity, bool) { +// AsDrillTableDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { return nil, false } -// AsIfConditionActivity is the BasicActivity implementation for HDInsightStreamingActivity. -func (hisa HDInsightStreamingActivity) AsIfConditionActivity() (*IfConditionActivity, bool) { +// AsCouchbaseTableDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { return nil, false } -// AsExecutePipelineActivity is the BasicActivity implementation for HDInsightStreamingActivity. -func (hisa HDInsightStreamingActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) { +// AsConcurObjectDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { return nil, false } -// AsControlActivity is the BasicActivity implementation for HDInsightStreamingActivity. -func (hisa HDInsightStreamingActivity) AsControlActivity() (*ControlActivity, bool) { +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { return nil, false } -// AsBasicControlActivity is the BasicActivity implementation for HDInsightStreamingActivity. -func (hisa HDInsightStreamingActivity) AsBasicControlActivity() (BasicControlActivity, bool) { +// AsAmazonMWSObjectDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { return nil, false } -// AsActivity is the BasicActivity implementation for HDInsightStreamingActivity. -func (hisa HDInsightStreamingActivity) AsActivity() (*Activity, bool) { +// AsHTTPDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsHTTPDataset() (*HTTPDataset, bool) { return nil, false } -// AsBasicActivity is the BasicActivity implementation for HDInsightStreamingActivity. -func (hisa HDInsightStreamingActivity) AsBasicActivity() (BasicActivity, bool) { - return &hisa, true +// AsAzureSearchIndexDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { + return nil, false } -// UnmarshalJSON is the custom unmarshaler for HDInsightStreamingActivity struct. -func (hisa *HDInsightStreamingActivity) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - case "typeProperties": - if v != nil { - var hDInsightStreamingActivityTypeProperties HDInsightStreamingActivityTypeProperties - err = json.Unmarshal(*v, &hDInsightStreamingActivityTypeProperties) - if err != nil { - return err - } - hisa.HDInsightStreamingActivityTypeProperties = &hDInsightStreamingActivityTypeProperties - } - case "linkedServiceName": - if v != nil { - var linkedServiceName LinkedServiceReference - err = json.Unmarshal(*v, &linkedServiceName) - if err != nil { - return err - } - hisa.LinkedServiceName = &linkedServiceName - } - case "policy": - if v != nil { - var policy ActivityPolicy - err = json.Unmarshal(*v, &policy) - if err != nil { - return err - } - hisa.Policy = &policy - } - default: - if v != nil { - var additionalProperties interface{} - err = json.Unmarshal(*v, &additionalProperties) - if err != nil { - return err - } - if hisa.AdditionalProperties == nil { - hisa.AdditionalProperties = make(map[string]interface{}) - } - hisa.AdditionalProperties[k] = additionalProperties - } - case "name": - if v != nil { - var name string - err = json.Unmarshal(*v, &name) - if err != nil { - return err - } - hisa.Name = &name - } - case "description": - if v != nil { - var description string - err = json.Unmarshal(*v, &description) - if err != nil { - return err - } - hisa.Description = &description - } - case "dependsOn": - if v != nil { - var dependsOn []ActivityDependency - err = json.Unmarshal(*v, &dependsOn) - if err != nil { - return err - } - hisa.DependsOn = &dependsOn - } - case "userProperties": - if v != nil { - var userProperties []UserProperty - err = json.Unmarshal(*v, &userProperties) - if err != nil { - return err - } - hisa.UserProperties = &userProperties - } - case "type": - if v != nil { - var typeVar TypeBasicActivity - err = json.Unmarshal(*v, &typeVar) - if err != nil { - return err - } - hisa.Type = typeVar - } - } - } +// AsWebTableDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsWebTableDataset() (*WebTableDataset, bool) { + return nil, false +} - return nil +// AsSapTableResourceDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { + return nil, false } -// HDInsightStreamingActivityTypeProperties hDInsight streaming activity properties. -type HDInsightStreamingActivityTypeProperties struct { - // StorageLinkedServices - Storage linked service references. - StorageLinkedServices *[]LinkedServiceReference `json:"storageLinkedServices,omitempty"` - // Arguments - User specified arguments to HDInsightActivity. - Arguments *[]interface{} `json:"arguments,omitempty"` - // GetDebugInfo - Debug info option. Possible values include: 'HDInsightActivityDebugInfoOptionNone', 'HDInsightActivityDebugInfoOptionAlways', 'HDInsightActivityDebugInfoOptionFailure' - GetDebugInfo HDInsightActivityDebugInfoOption `json:"getDebugInfo,omitempty"` - // Mapper - Mapper executable name. Type: string (or Expression with resultType string). - Mapper interface{} `json:"mapper,omitempty"` - // Reducer - Reducer executable name. Type: string (or Expression with resultType string). - Reducer interface{} `json:"reducer,omitempty"` - // Input - Input blob path. Type: string (or Expression with resultType string). - Input interface{} `json:"input,omitempty"` - // Output - Output blob path. Type: string (or Expression with resultType string). - Output interface{} `json:"output,omitempty"` - // FilePaths - Paths to streaming job files. Can be directories. - FilePaths *[]interface{} `json:"filePaths,omitempty"` - // FileLinkedService - Linked service reference where the files are located. - FileLinkedService *LinkedServiceReference `json:"fileLinkedService,omitempty"` - // Combiner - Combiner executable name. Type: string (or Expression with resultType string). - Combiner interface{} `json:"combiner,omitempty"` - // CommandEnvironment - Command line environment values. - CommandEnvironment *[]interface{} `json:"commandEnvironment,omitempty"` - // Defines - Allows user to specify defines for streaming job request. - Defines map[string]interface{} `json:"defines"` +// AsRestResourceDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { + return nil, false } -// MarshalJSON is the custom marshaler for HDInsightStreamingActivityTypeProperties. -func (hisatp HDInsightStreamingActivityTypeProperties) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - if hisatp.StorageLinkedServices != nil { - objectMap["storageLinkedServices"] = hisatp.StorageLinkedServices - } - if hisatp.Arguments != nil { - objectMap["arguments"] = hisatp.Arguments - } - if hisatp.GetDebugInfo != "" { - objectMap["getDebugInfo"] = hisatp.GetDebugInfo - } - if hisatp.Mapper != nil { - objectMap["mapper"] = hisatp.Mapper - } - if hisatp.Reducer != nil { - objectMap["reducer"] = hisatp.Reducer - } - if hisatp.Input != nil { - objectMap["input"] = hisatp.Input - } - if hisatp.Output != nil { - objectMap["output"] = hisatp.Output - } - if hisatp.FilePaths != nil { - objectMap["filePaths"] = hisatp.FilePaths - } - if hisatp.FileLinkedService != nil { - objectMap["fileLinkedService"] = hisatp.FileLinkedService - } - if hisatp.Combiner != nil { - objectMap["combiner"] = hisatp.Combiner - } - if hisatp.CommandEnvironment != nil { - objectMap["commandEnvironment"] = hisatp.CommandEnvironment - } - if hisatp.Defines != nil { - objectMap["defines"] = hisatp.Defines - } - return json.Marshal(objectMap) +// AsSQLServerTableDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { + return nil, false } -// HiveDatasetTypeProperties hive Properties -type HiveDatasetTypeProperties struct { - // TableName - This property will be retired. Please consider using schema + table properties instead. - TableName interface{} `json:"tableName,omitempty"` - // Table - The table name of the Hive. Type: string (or Expression with resultType string). - Table interface{} `json:"table,omitempty"` - // Schema - The schema name of the Hive. Type: string (or Expression with resultType string). - Schema interface{} `json:"schema,omitempty"` +// AsSapOpenHubTableDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { + return nil, false } -// HiveLinkedService hive Server linked service. -type HiveLinkedService struct { - // HiveLinkedServiceTypeProperties - Hive Server linked service properties. - *HiveLinkedServiceTypeProperties `json:"typeProperties,omitempty"` - // AdditionalProperties - Unmatched properties from the message are deserialized this collection - AdditionalProperties map[string]interface{} `json:""` - // ConnectVia - The integration runtime reference. - ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` - // Description - Linked service description. - Description *string `json:"description,omitempty"` - // Parameters - Parameters for linked service. - Parameters map[string]*ParameterSpecification `json:"parameters"` - // Annotations - List of tags that can be used for describing the linked service. - Annotations *[]interface{} `json:"annotations,omitempty"` - // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' - Type TypeBasicLinkedService `json:"type,omitempty"` +// AsSapHanaTableDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { + return nil, false } -// MarshalJSON is the custom marshaler for HiveLinkedService. -func (hls HiveLinkedService) MarshalJSON() ([]byte, error) { - hls.Type = TypeHive - objectMap := make(map[string]interface{}) - if hls.HiveLinkedServiceTypeProperties != nil { - objectMap["typeProperties"] = hls.HiveLinkedServiceTypeProperties - } - if hls.ConnectVia != nil { - objectMap["connectVia"] = hls.ConnectVia - } - if hls.Description != nil { - objectMap["description"] = hls.Description - } - if hls.Parameters != nil { - objectMap["parameters"] = hls.Parameters - } - if hls.Annotations != nil { - objectMap["annotations"] = hls.Annotations - } - if hls.Type != "" { - objectMap["type"] = hls.Type - } - for k, v := range hls.AdditionalProperties { - objectMap[k] = v - } - return json.Marshal(objectMap) +// AsSapEccResourceDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { + return nil, false } -// AsAzureFunctionLinkedService is the BasicLinkedService implementation for HiveLinkedService. -func (hls HiveLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { return nil, false } -// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for HiveLinkedService. -func (hls HiveLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { +// AsSapBwCubeDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { return nil, false } -// AsSapTableLinkedService is the BasicLinkedService implementation for HiveLinkedService. -func (hls HiveLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { +// AsSybaseTableDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { return nil, false } -// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for HiveLinkedService. -func (hls HiveLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { return nil, false } -// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for HiveLinkedService. -func (hls HiveLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { +// AsSalesforceObjectDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { return nil, false } -// AsDynamicsAXLinkedService is the BasicLinkedService implementation for HiveLinkedService. -func (hls HiveLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { return nil, false } -// AsResponsysLinkedService is the BasicLinkedService implementation for HiveLinkedService. -func (hls HiveLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { +// AsPostgreSQLTableDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { return nil, false } -// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for HiveLinkedService. -func (hls HiveLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { +// AsMySQLTableDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { return nil, false } -// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for HiveLinkedService. -func (hls HiveLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { +// AsOdbcTableDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { return nil, false } -// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for HiveLinkedService. -func (hls HiveLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { +// AsInformixTableDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { return nil, false } -// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for HiveLinkedService. -func (hls HiveLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { +// AsRelationalTableDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { return nil, false } -// AsNetezzaLinkedService is the BasicLinkedService implementation for HiveLinkedService. -func (hls HiveLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { +// AsDb2TableDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { return nil, false } -// AsVerticaLinkedService is the BasicLinkedService implementation for HiveLinkedService. -func (hls HiveLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { return nil, false } -// AsZohoLinkedService is the BasicLinkedService implementation for HiveLinkedService. -func (hls HiveLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { +// AsAzureMySQLTableDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { return nil, false } -// AsXeroLinkedService is the BasicLinkedService implementation for HiveLinkedService. -func (hls HiveLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { +// AsTeradataTableDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { return nil, false } -// AsSquareLinkedService is the BasicLinkedService implementation for HiveLinkedService. -func (hls HiveLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { +// AsOracleTableDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { return nil, false } -// AsSparkLinkedService is the BasicLinkedService implementation for HiveLinkedService. -func (hls HiveLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { +// AsODataResourceDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { return nil, false } -// AsShopifyLinkedService is the BasicLinkedService implementation for HiveLinkedService. -func (hls HiveLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { return nil, false } -// AsServiceNowLinkedService is the BasicLinkedService implementation for HiveLinkedService. -func (hls HiveLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { return nil, false } -// AsQuickBooksLinkedService is the BasicLinkedService implementation for HiveLinkedService. -func (hls HiveLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { +// AsMongoDbCollectionDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { return nil, false } -// AsPrestoLinkedService is the BasicLinkedService implementation for HiveLinkedService. -func (hls HiveLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { +// AsFileShareDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsFileShareDataset() (*FileShareDataset, bool) { return nil, false } -// AsPhoenixLinkedService is the BasicLinkedService implementation for HiveLinkedService. -func (hls HiveLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { +// AsOffice365Dataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsOffice365Dataset() (*Office365Dataset, bool) { return nil, false } -// AsPaypalLinkedService is the BasicLinkedService implementation for HiveLinkedService. -func (hls HiveLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { +// AsAzureBlobFSDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) { return nil, false } -// AsMarketoLinkedService is the BasicLinkedService implementation for HiveLinkedService. -func (hls HiveLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { +// AsAzureDataLakeStoreDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) { return nil, false } -// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for HiveLinkedService. -func (hls HiveLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { return nil, false } -// AsMariaDBLinkedService is the BasicLinkedService implementation for HiveLinkedService. -func (hls HiveLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { return nil, false } -// AsMagentoLinkedService is the BasicLinkedService implementation for HiveLinkedService. -func (hls HiveLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { +// AsDynamicsEntityDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { return nil, false } -// AsJiraLinkedService is the BasicLinkedService implementation for HiveLinkedService. -func (hls HiveLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { +// AsDocumentDbCollectionDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { return nil, false } -// AsImpalaLinkedService is the BasicLinkedService implementation for HiveLinkedService. -func (hls HiveLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { return nil, false } -// AsHubspotLinkedService is the BasicLinkedService implementation for HiveLinkedService. -func (hls HiveLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { +// AsCustomDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsCustomDataset() (*CustomDataset, bool) { return nil, false } -// AsHiveLinkedService is the BasicLinkedService implementation for HiveLinkedService. -func (hls HiveLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { - return &hls, true +// AsCassandraTableDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { + return nil, false } -// AsHBaseLinkedService is the BasicLinkedService implementation for HiveLinkedService. -func (hls HiveLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { +// AsAzureSQLDWTableDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { return nil, false } -// AsGreenplumLinkedService is the BasicLinkedService implementation for HiveLinkedService. -func (hls HiveLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { +// AsAzureSQLMITableDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { return nil, false } -// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for HiveLinkedService. -func (hls HiveLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { +// AsAzureSQLTableDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { return nil, false } -// AsEloquaLinkedService is the BasicLinkedService implementation for HiveLinkedService. -func (hls HiveLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { +// AsAzureTableDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { return nil, false } -// AsDrillLinkedService is the BasicLinkedService implementation for HiveLinkedService. -func (hls HiveLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { +// AsAzureBlobDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) { return nil, false } -// AsCouchbaseLinkedService is the BasicLinkedService implementation for HiveLinkedService. -func (hls HiveLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { +// AsBinaryDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsBinaryDataset() (*BinaryDataset, bool) { return nil, false } -// AsConcurLinkedService is the BasicLinkedService implementation for HiveLinkedService. -func (hls HiveLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { +// AsOrcDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsOrcDataset() (*OrcDataset, bool) { return nil, false } -// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for HiveLinkedService. -func (hls HiveLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { +// AsJSONDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsJSONDataset() (*JSONDataset, bool) { return nil, false } -// AsAmazonMWSLinkedService is the BasicLinkedService implementation for HiveLinkedService. -func (hls HiveLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { +// AsDelimitedTextDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { return nil, false } -// AsSapHanaLinkedService is the BasicLinkedService implementation for HiveLinkedService. -func (hls HiveLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { +// AsParquetDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsParquetDataset() (*ParquetDataset, bool) { return nil, false } -// AsSapBWLinkedService is the BasicLinkedService implementation for HiveLinkedService. -func (hls HiveLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { +// AsAvroDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsAvroDataset() (*AvroDataset, bool) { return nil, false } -// AsSftpServerLinkedService is the BasicLinkedService implementation for HiveLinkedService. -func (hls HiveLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { +// AsAmazonS3Dataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) { return nil, false } -// AsFtpServerLinkedService is the BasicLinkedService implementation for HiveLinkedService. -func (hls HiveLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { +// AsDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsDataset() (*Dataset, bool) { return nil, false } -// AsHTTPLinkedService is the BasicLinkedService implementation for HiveLinkedService. -func (hls HiveLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { +// AsBasicDataset is the BasicDataset implementation for GreenplumTableDataset. +func (gtd GreenplumTableDataset) AsBasicDataset() (BasicDataset, bool) { + return >d, true +} + +// UnmarshalJSON is the custom unmarshaler for GreenplumTableDataset struct. +func (gtd *GreenplumTableDataset) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var greenplumDatasetTypeProperties GreenplumDatasetTypeProperties + err = json.Unmarshal(*v, &greenplumDatasetTypeProperties) + if err != nil { + return err + } + gtd.GreenplumDatasetTypeProperties = &greenplumDatasetTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if gtd.AdditionalProperties == nil { + gtd.AdditionalProperties = make(map[string]interface{}) + } + gtd.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + gtd.Description = &description + } + case "structure": + if v != nil { + var structure interface{} + err = json.Unmarshal(*v, &structure) + if err != nil { + return err + } + gtd.Structure = structure + } + case "schema": + if v != nil { + var schema interface{} + err = json.Unmarshal(*v, &schema) + if err != nil { + return err + } + gtd.Schema = schema + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + gtd.LinkedServiceName = &linkedServiceName + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + gtd.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + gtd.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + gtd.Folder = &folder + } + case "type": + if v != nil { + var typeVar TypeBasicDataset + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + gtd.Type = typeVar + } + } + } + + return nil +} + +// HBaseLinkedService hBase server linked service. +type HBaseLinkedService struct { + // HBaseLinkedServiceTypeProperties - HBase server linked service properties. + *HBaseLinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for HBaseLinkedService. +func (hbls HBaseLinkedService) MarshalJSON() ([]byte, error) { + hbls.Type = TypeHBase + objectMap := make(map[string]interface{}) + if hbls.HBaseLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = hbls.HBaseLinkedServiceTypeProperties + } + if hbls.ConnectVia != nil { + objectMap["connectVia"] = hbls.ConnectVia + } + if hbls.Description != nil { + objectMap["description"] = hbls.Description + } + if hbls.Parameters != nil { + objectMap["parameters"] = hbls.Parameters + } + if hbls.Annotations != nil { + objectMap["annotations"] = hbls.Annotations + } + if hbls.Type != "" { + objectMap["type"] = hbls.Type + } + for k, v := range hbls.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { return nil, false } -// AsAzureSearchLinkedService is the BasicLinkedService implementation for HiveLinkedService. -func (hls HiveLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { return nil, false } -// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for HiveLinkedService. -func (hls HiveLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { +// AsSapTableLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { return nil, false } -// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for HiveLinkedService. -func (hls HiveLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { return nil, false } -// AsAmazonS3LinkedService is the BasicLinkedService implementation for HiveLinkedService. -func (hls HiveLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { return nil, false } -// AsRestServiceLinkedService is the BasicLinkedService implementation for HiveLinkedService. -func (hls HiveLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { return nil, false } -// AsSapOpenHubLinkedService is the BasicLinkedService implementation for HiveLinkedService. -func (hls HiveLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { +// AsResponsysLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { return nil, false } -// AsSapEccLinkedService is the BasicLinkedService implementation for HiveLinkedService. -func (hls HiveLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { return nil, false } -// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for HiveLinkedService. -func (hls HiveLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { return nil, false } -// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for HiveLinkedService. -func (hls HiveLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { return nil, false } -// AsSalesforceLinkedService is the BasicLinkedService implementation for HiveLinkedService. -func (hls HiveLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { return nil, false } -// AsOffice365LinkedService is the BasicLinkedService implementation for HiveLinkedService. -func (hls HiveLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { +// AsNetezzaLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { return nil, false } -// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for HiveLinkedService. -func (hls HiveLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { +// AsVerticaLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { return nil, false } -// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for HiveLinkedService. -func (hls HiveLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { +// AsZohoLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { return nil, false } -// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for HiveLinkedService. -func (hls HiveLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { +// AsXeroLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { return nil, false } -// AsMongoDbV2LinkedService is the BasicLinkedService implementation for HiveLinkedService. -func (hls HiveLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { +// AsSquareLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { return nil, false } -// AsMongoDbLinkedService is the BasicLinkedService implementation for HiveLinkedService. -func (hls HiveLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { +// AsSparkLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { return nil, false } -// AsCassandraLinkedService is the BasicLinkedService implementation for HiveLinkedService. -func (hls HiveLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { +// AsShopifyLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { return nil, false } -// AsWebLinkedService is the BasicLinkedService implementation for HiveLinkedService. -func (hls HiveLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { +// AsServiceNowLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { return nil, false } -// AsODataLinkedService is the BasicLinkedService implementation for HiveLinkedService. -func (hls HiveLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { +// AsQuickBooksLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { return nil, false } -// AsHdfsLinkedService is the BasicLinkedService implementation for HiveLinkedService. -func (hls HiveLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { +// AsPrestoLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { return nil, false } -// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for HiveLinkedService. -func (hls HiveLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { +// AsPhoenixLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { return nil, false } -// AsInformixLinkedService is the BasicLinkedService implementation for HiveLinkedService. -func (hls HiveLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { +// AsPaypalLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { return nil, false } -// AsOdbcLinkedService is the BasicLinkedService implementation for HiveLinkedService. -func (hls HiveLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { +// AsMarketoLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { return nil, false } -// AsAzureMLLinkedService is the BasicLinkedService implementation for HiveLinkedService. -func (hls HiveLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { return nil, false } -// AsTeradataLinkedService is the BasicLinkedService implementation for HiveLinkedService. -func (hls HiveLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { +// AsMariaDBLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { return nil, false } -// AsDb2LinkedService is the BasicLinkedService implementation for HiveLinkedService. -func (hls HiveLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { +// AsMagentoLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { return nil, false } -// AsSybaseLinkedService is the BasicLinkedService implementation for HiveLinkedService. -func (hls HiveLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { +// AsJiraLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { return nil, false } -// AsPostgreSQLLinkedService is the BasicLinkedService implementation for HiveLinkedService. -func (hls HiveLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { +// AsImpalaLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { return nil, false } -// AsMySQLLinkedService is the BasicLinkedService implementation for HiveLinkedService. -func (hls HiveLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { +// AsHubspotLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { return nil, false } -// AsAzureMySQLLinkedService is the BasicLinkedService implementation for HiveLinkedService. -func (hls HiveLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { +// AsHiveLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { return nil, false } -// AsOracleLinkedService is the BasicLinkedService implementation for HiveLinkedService. -func (hls HiveLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { +// AsHBaseLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return &hbls, true +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { return nil, false } -// AsFileServerLinkedService is the BasicLinkedService implementation for HiveLinkedService. -func (hls HiveLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { return nil, false } -// AsHDInsightLinkedService is the BasicLinkedService implementation for HiveLinkedService. -func (hls HiveLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { +// AsEloquaLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { return nil, false } -// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for HiveLinkedService. -func (hls HiveLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { +// AsDrillLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { return nil, false } -// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for HiveLinkedService. -func (hls HiveLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { +// AsCouchbaseLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { return nil, false } -// AsDynamicsLinkedService is the BasicLinkedService implementation for HiveLinkedService. -func (hls HiveLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { +// AsConcurLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { return nil, false } -// AsCosmosDbLinkedService is the BasicLinkedService implementation for HiveLinkedService. -func (hls HiveLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { return nil, false } -// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for HiveLinkedService. -func (hls HiveLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { return nil, false } -// AsAzureBatchLinkedService is the BasicLinkedService implementation for HiveLinkedService. -func (hls HiveLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { +// AsSapHanaLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { return nil, false } -// AsAzureSQLMILinkedService is the BasicLinkedService implementation for HiveLinkedService. -func (hls HiveLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { +// AsSapBWLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { return nil, false } -// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for HiveLinkedService. -func (hls HiveLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { +// AsSftpServerLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { return nil, false } -// AsSQLServerLinkedService is the BasicLinkedService implementation for HiveLinkedService. -func (hls HiveLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { +// AsFtpServerLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { return nil, false } -// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for HiveLinkedService. -func (hls HiveLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { +// AsHTTPLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { return nil, false } -// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for HiveLinkedService. -func (hls HiveLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { +// AsAzureSearchLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { return nil, false } -// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for HiveLinkedService. -func (hls HiveLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { return nil, false } -// AsAzureStorageLinkedService is the BasicLinkedService implementation for HiveLinkedService. -func (hls HiveLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { return nil, false } -// AsLinkedService is the BasicLinkedService implementation for HiveLinkedService. -func (hls HiveLinkedService) AsLinkedService() (*LinkedService, bool) { +// AsAmazonS3LinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { return nil, false } -// AsBasicLinkedService is the BasicLinkedService implementation for HiveLinkedService. -func (hls HiveLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { - return &hls, true +// AsRestServiceLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false } -// UnmarshalJSON is the custom unmarshaler for HiveLinkedService struct. -func (hls *HiveLinkedService) UnmarshalJSON(body []byte) error { +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for HBaseLinkedService. +func (hbls HBaseLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &hbls, true +} + +// UnmarshalJSON is the custom unmarshaler for HBaseLinkedService struct. +func (hbls *HBaseLinkedService) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -93432,12 +98289,12 @@ func (hls *HiveLinkedService) UnmarshalJSON(body []byte) error { switch k { case "typeProperties": if v != nil { - var hiveLinkedServiceTypeProperties HiveLinkedServiceTypeProperties - err = json.Unmarshal(*v, &hiveLinkedServiceTypeProperties) + var hBaseLinkedServiceTypeProperties HBaseLinkedServiceTypeProperties + err = json.Unmarshal(*v, &hBaseLinkedServiceTypeProperties) if err != nil { return err } - hls.HiveLinkedServiceTypeProperties = &hiveLinkedServiceTypeProperties + hbls.HBaseLinkedServiceTypeProperties = &hBaseLinkedServiceTypeProperties } default: if v != nil { @@ -93446,10 +98303,10 @@ func (hls *HiveLinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - if hls.AdditionalProperties == nil { - hls.AdditionalProperties = make(map[string]interface{}) + if hbls.AdditionalProperties == nil { + hbls.AdditionalProperties = make(map[string]interface{}) } - hls.AdditionalProperties[k] = additionalProperties + hbls.AdditionalProperties[k] = additionalProperties } case "connectVia": if v != nil { @@ -93458,7 +98315,7 @@ func (hls *HiveLinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - hls.ConnectVia = &connectVia + hbls.ConnectVia = &connectVia } case "description": if v != nil { @@ -93467,7 +98324,7 @@ func (hls *HiveLinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - hls.Description = &description + hbls.Description = &description } case "parameters": if v != nil { @@ -93476,7 +98333,7 @@ func (hls *HiveLinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - hls.Parameters = parameters + hbls.Parameters = parameters } case "annotations": if v != nil { @@ -93485,7 +98342,7 @@ func (hls *HiveLinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - hls.Annotations = &annotations + hbls.Annotations = &annotations } case "type": if v != nil { @@ -93494,7 +98351,7 @@ func (hls *HiveLinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - hls.Type = typeVar + hbls.Type = typeVar } } } @@ -93502,36 +98359,24 @@ func (hls *HiveLinkedService) UnmarshalJSON(body []byte) error { return nil } -// HiveLinkedServiceTypeProperties hive Server linked service properties. -type HiveLinkedServiceTypeProperties struct { - // Host - IP address or host name of the Hive server, separated by ';' for multiple hosts (only when serviceDiscoveryMode is enable). +// HBaseLinkedServiceTypeProperties hBase server linked service properties. +type HBaseLinkedServiceTypeProperties struct { + // Host - The IP address or host name of the HBase server. (i.e. 192.168.222.160) Host interface{} `json:"host,omitempty"` - // Port - The TCP port that the Hive server uses to listen for client connections. + // Port - The TCP port that the HBase instance uses to listen for client connections. The default value is 9090. Port interface{} `json:"port,omitempty"` - // ServerType - The type of Hive server. Possible values include: 'HiveServer1', 'HiveServer2', 'HiveThriftServer' - ServerType HiveServerType `json:"serverType,omitempty"` - // ThriftTransportProtocol - The transport protocol to use in the Thrift layer. Possible values include: 'Binary', 'SASL', 'HTTP' - ThriftTransportProtocol HiveThriftTransportProtocol `json:"thriftTransportProtocol,omitempty"` - // AuthenticationType - The authentication method used to access the Hive server. Possible values include: 'Anonymous', 'Username', 'UsernameAndPassword', 'WindowsAzureHDInsightService' - AuthenticationType HiveAuthenticationType `json:"authenticationType,omitempty"` - // ServiceDiscoveryMode - true to indicate using the ZooKeeper service, false not. - ServiceDiscoveryMode interface{} `json:"serviceDiscoveryMode,omitempty"` - // ZooKeeperNameSpace - The namespace on ZooKeeper under which Hive Server 2 nodes are added. - ZooKeeperNameSpace interface{} `json:"zooKeeperNameSpace,omitempty"` - // UseNativeQuery - Specifies whether the driver uses native HiveQL queries,or converts them into an equivalent form in HiveQL. - UseNativeQuery interface{} `json:"useNativeQuery,omitempty"` - // Username - The user name that you use to access Hive Server. + // HTTPPath - The partial URL corresponding to the HBase server. (i.e. /gateway/sandbox/hbase/version) + HTTPPath interface{} `json:"httpPath,omitempty"` + // AuthenticationType - The authentication mechanism to use to connect to the HBase server. Possible values include: 'HBaseAuthenticationTypeAnonymous', 'HBaseAuthenticationTypeBasic' + AuthenticationType HBaseAuthenticationType `json:"authenticationType,omitempty"` + // Username - The user name used to connect to the HBase instance. Username interface{} `json:"username,omitempty"` - // Password - The password corresponding to the user name that you provided in the Username field + // Password - The password corresponding to the user name. Password BasicSecretBase `json:"password,omitempty"` - // HTTPPath - The partial URL corresponding to the Hive server. - HTTPPath interface{} `json:"httpPath,omitempty"` // EnableSsl - Specifies whether the connections to the server are encrypted using SSL. The default value is false. EnableSsl interface{} `json:"enableSsl,omitempty"` // TrustedCertPath - The full path of the .pem file containing trusted CA certificates for verifying the server when connecting over SSL. This property can only be set when using SSL on self-hosted IR. The default value is the cacerts.pem file installed with the IR. TrustedCertPath interface{} `json:"trustedCertPath,omitempty"` - // UseSystemTrustStore - Specifies whether to use a CA certificate from the system trust store or from a specified PEM file. The default value is false. - UseSystemTrustStore interface{} `json:"useSystemTrustStore,omitempty"` // AllowHostNameCNMismatch - Specifies whether to require a CA-issued SSL certificate name to match the host name of the server when connecting over SSL. The default value is false. AllowHostNameCNMismatch interface{} `json:"allowHostNameCNMismatch,omitempty"` // AllowSelfSignedServerCert - Specifies whether to allow self-signed certificates from the server. The default value is false. @@ -93540,8 +98385,8 @@ type HiveLinkedServiceTypeProperties struct { EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` } -// UnmarshalJSON is the custom unmarshaler for HiveLinkedServiceTypeProperties struct. -func (hlstp *HiveLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { +// UnmarshalJSON is the custom unmarshaler for HBaseLinkedServiceTypeProperties struct. +func (hblstp *HBaseLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -93556,7 +98401,7 @@ func (hlstp *HiveLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { if err != nil { return err } - hlstp.Host = host + hblstp.Host = host } case "port": if v != nil { @@ -93565,61 +98410,25 @@ func (hlstp *HiveLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { if err != nil { return err } - hlstp.Port = port - } - case "serverType": - if v != nil { - var serverType HiveServerType - err = json.Unmarshal(*v, &serverType) - if err != nil { - return err - } - hlstp.ServerType = serverType + hblstp.Port = port } - case "thriftTransportProtocol": + case "httpPath": if v != nil { - var thriftTransportProtocol HiveThriftTransportProtocol - err = json.Unmarshal(*v, &thriftTransportProtocol) + var HTTPPath interface{} + err = json.Unmarshal(*v, &HTTPPath) if err != nil { return err } - hlstp.ThriftTransportProtocol = thriftTransportProtocol + hblstp.HTTPPath = HTTPPath } case "authenticationType": if v != nil { - var authenticationType HiveAuthenticationType + var authenticationType HBaseAuthenticationType err = json.Unmarshal(*v, &authenticationType) if err != nil { return err } - hlstp.AuthenticationType = authenticationType - } - case "serviceDiscoveryMode": - if v != nil { - var serviceDiscoveryMode interface{} - err = json.Unmarshal(*v, &serviceDiscoveryMode) - if err != nil { - return err - } - hlstp.ServiceDiscoveryMode = serviceDiscoveryMode - } - case "zooKeeperNameSpace": - if v != nil { - var zooKeeperNameSpace interface{} - err = json.Unmarshal(*v, &zooKeeperNameSpace) - if err != nil { - return err - } - hlstp.ZooKeeperNameSpace = zooKeeperNameSpace - } - case "useNativeQuery": - if v != nil { - var useNativeQuery interface{} - err = json.Unmarshal(*v, &useNativeQuery) - if err != nil { - return err - } - hlstp.UseNativeQuery = useNativeQuery + hblstp.AuthenticationType = authenticationType } case "username": if v != nil { @@ -93628,7 +98437,7 @@ func (hlstp *HiveLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { if err != nil { return err } - hlstp.Username = username + hblstp.Username = username } case "password": if v != nil { @@ -93636,16 +98445,7 @@ func (hlstp *HiveLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { if err != nil { return err } - hlstp.Password = password - } - case "httpPath": - if v != nil { - var HTTPPath interface{} - err = json.Unmarshal(*v, &HTTPPath) - if err != nil { - return err - } - hlstp.HTTPPath = HTTPPath + hblstp.Password = password } case "enableSsl": if v != nil { @@ -93654,7 +98454,7 @@ func (hlstp *HiveLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { if err != nil { return err } - hlstp.EnableSsl = enableSsl + hblstp.EnableSsl = enableSsl } case "trustedCertPath": if v != nil { @@ -93663,16 +98463,7 @@ func (hlstp *HiveLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { if err != nil { return err } - hlstp.TrustedCertPath = trustedCertPath - } - case "useSystemTrustStore": - if v != nil { - var useSystemTrustStore interface{} - err = json.Unmarshal(*v, &useSystemTrustStore) - if err != nil { - return err - } - hlstp.UseSystemTrustStore = useSystemTrustStore + hblstp.TrustedCertPath = trustedCertPath } case "allowHostNameCNMismatch": if v != nil { @@ -93681,7 +98472,7 @@ func (hlstp *HiveLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { if err != nil { return err } - hlstp.AllowHostNameCNMismatch = allowHostNameCNMismatch + hblstp.AllowHostNameCNMismatch = allowHostNameCNMismatch } case "allowSelfSignedServerCert": if v != nil { @@ -93690,7 +98481,7 @@ func (hlstp *HiveLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { if err != nil { return err } - hlstp.AllowSelfSignedServerCert = allowSelfSignedServerCert + hblstp.AllowSelfSignedServerCert = allowSelfSignedServerCert } case "encryptedCredential": if v != nil { @@ -93699,7 +98490,7 @@ func (hlstp *HiveLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { if err != nil { return err } - hlstp.EncryptedCredential = encryptedCredential + hblstp.EncryptedCredential = encryptedCredential } } } @@ -93707,10 +98498,10 @@ func (hlstp *HiveLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { return nil } -// HiveObjectDataset hive Server dataset. -type HiveObjectDataset struct { - // HiveDatasetTypeProperties - Properties specific to this dataset type. - *HiveDatasetTypeProperties `json:"typeProperties,omitempty"` +// HBaseObjectDataset hBase server dataset. +type HBaseObjectDataset struct { + // GenericDatasetTypeProperties - Properties specific to this dataset type. + *GenericDatasetTypeProperties `json:"typeProperties,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` // Description - Dataset description. @@ -93727,469 +98518,494 @@ type HiveObjectDataset struct { Annotations *[]interface{} `json:"annotations,omitempty"` // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. Folder *DatasetFolder `json:"folder,omitempty"` - // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' + // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' Type TypeBasicDataset `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for HiveObjectDataset. -func (hod HiveObjectDataset) MarshalJSON() ([]byte, error) { - hod.Type = TypeHiveObject +// MarshalJSON is the custom marshaler for HBaseObjectDataset. +func (hbod HBaseObjectDataset) MarshalJSON() ([]byte, error) { + hbod.Type = TypeHBaseObject objectMap := make(map[string]interface{}) - if hod.HiveDatasetTypeProperties != nil { - objectMap["typeProperties"] = hod.HiveDatasetTypeProperties + if hbod.GenericDatasetTypeProperties != nil { + objectMap["typeProperties"] = hbod.GenericDatasetTypeProperties } - if hod.Description != nil { - objectMap["description"] = hod.Description + if hbod.Description != nil { + objectMap["description"] = hbod.Description } - if hod.Structure != nil { - objectMap["structure"] = hod.Structure + if hbod.Structure != nil { + objectMap["structure"] = hbod.Structure } - if hod.Schema != nil { - objectMap["schema"] = hod.Schema + if hbod.Schema != nil { + objectMap["schema"] = hbod.Schema } - if hod.LinkedServiceName != nil { - objectMap["linkedServiceName"] = hod.LinkedServiceName + if hbod.LinkedServiceName != nil { + objectMap["linkedServiceName"] = hbod.LinkedServiceName } - if hod.Parameters != nil { - objectMap["parameters"] = hod.Parameters + if hbod.Parameters != nil { + objectMap["parameters"] = hbod.Parameters } - if hod.Annotations != nil { - objectMap["annotations"] = hod.Annotations + if hbod.Annotations != nil { + objectMap["annotations"] = hbod.Annotations } - if hod.Folder != nil { - objectMap["folder"] = hod.Folder + if hbod.Folder != nil { + objectMap["folder"] = hbod.Folder } - if hod.Type != "" { - objectMap["type"] = hod.Type + if hbod.Type != "" { + objectMap["type"] = hbod.Type } - for k, v := range hod.AdditionalProperties { + for k, v := range hbod.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for HiveObjectDataset. -func (hod HiveObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { return nil, false } -// AsAzureDataExplorerTableDataset is the BasicDataset implementation for HiveObjectDataset. -func (hod HiveObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { return nil, false } -// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for HiveObjectDataset. -func (hod HiveObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { return nil, false } -// AsDynamicsAXResourceDataset is the BasicDataset implementation for HiveObjectDataset. -func (hod HiveObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { +// AsDynamicsAXResourceDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { return nil, false } -// AsResponsysObjectDataset is the BasicDataset implementation for HiveObjectDataset. -func (hod HiveObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { +// AsResponsysObjectDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { return nil, false } -// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for HiveObjectDataset. -func (hod HiveObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { return nil, false } -// AsVerticaTableDataset is the BasicDataset implementation for HiveObjectDataset. -func (hod HiveObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { +// AsVerticaTableDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { return nil, false } -// AsNetezzaTableDataset is the BasicDataset implementation for HiveObjectDataset. -func (hod HiveObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { +// AsNetezzaTableDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { return nil, false } -// AsZohoObjectDataset is the BasicDataset implementation for HiveObjectDataset. -func (hod HiveObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { +// AsZohoObjectDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { return nil, false } -// AsXeroObjectDataset is the BasicDataset implementation for HiveObjectDataset. -func (hod HiveObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { +// AsXeroObjectDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { return nil, false } -// AsSquareObjectDataset is the BasicDataset implementation for HiveObjectDataset. -func (hod HiveObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { +// AsSquareObjectDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { return nil, false } -// AsSparkObjectDataset is the BasicDataset implementation for HiveObjectDataset. -func (hod HiveObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { +// AsSparkObjectDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { return nil, false } -// AsShopifyObjectDataset is the BasicDataset implementation for HiveObjectDataset. -func (hod HiveObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { +// AsShopifyObjectDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { return nil, false } -// AsServiceNowObjectDataset is the BasicDataset implementation for HiveObjectDataset. -func (hod HiveObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { +// AsServiceNowObjectDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { return nil, false } -// AsQuickBooksObjectDataset is the BasicDataset implementation for HiveObjectDataset. -func (hod HiveObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { +// AsQuickBooksObjectDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { return nil, false } -// AsPrestoObjectDataset is the BasicDataset implementation for HiveObjectDataset. -func (hod HiveObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { +// AsPrestoObjectDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { return nil, false } -// AsPhoenixObjectDataset is the BasicDataset implementation for HiveObjectDataset. -func (hod HiveObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { +// AsPhoenixObjectDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { return nil, false } -// AsPaypalObjectDataset is the BasicDataset implementation for HiveObjectDataset. -func (hod HiveObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { +// AsPaypalObjectDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { return nil, false } -// AsMarketoObjectDataset is the BasicDataset implementation for HiveObjectDataset. -func (hod HiveObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { +// AsMarketoObjectDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { return nil, false } -// AsAzureMariaDBTableDataset is the BasicDataset implementation for HiveObjectDataset. -func (hod HiveObjectDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { +// AsAzureMariaDBTableDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { return nil, false } -// AsMariaDBTableDataset is the BasicDataset implementation for HiveObjectDataset. -func (hod HiveObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { +// AsMariaDBTableDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { return nil, false } -// AsMagentoObjectDataset is the BasicDataset implementation for HiveObjectDataset. -func (hod HiveObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { +// AsMagentoObjectDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { return nil, false } -// AsJiraObjectDataset is the BasicDataset implementation for HiveObjectDataset. -func (hod HiveObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { +// AsJiraObjectDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { return nil, false } -// AsImpalaObjectDataset is the BasicDataset implementation for HiveObjectDataset. -func (hod HiveObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { +// AsImpalaObjectDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { return nil, false } -// AsHubspotObjectDataset is the BasicDataset implementation for HiveObjectDataset. -func (hod HiveObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { +// AsHubspotObjectDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { return nil, false } -// AsHiveObjectDataset is the BasicDataset implementation for HiveObjectDataset. -func (hod HiveObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { - return &hod, true -} - -// AsHBaseObjectDataset is the BasicDataset implementation for HiveObjectDataset. -func (hod HiveObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { +// AsHiveObjectDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { return nil, false } -// AsGreenplumTableDataset is the BasicDataset implementation for HiveObjectDataset. -func (hod HiveObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { - return nil, false +// AsHBaseObjectDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { + return &hbod, true } -// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for HiveObjectDataset. -func (hod HiveObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { +// AsGreenplumTableDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { return nil, false } -// AsEloquaObjectDataset is the BasicDataset implementation for HiveObjectDataset. -func (hod HiveObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { return nil, false } -// AsDrillTableDataset is the BasicDataset implementation for HiveObjectDataset. -func (hod HiveObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { +// AsEloquaObjectDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { return nil, false } -// AsCouchbaseTableDataset is the BasicDataset implementation for HiveObjectDataset. -func (hod HiveObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { +// AsDrillTableDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { return nil, false } -// AsConcurObjectDataset is the BasicDataset implementation for HiveObjectDataset. -func (hod HiveObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { +// AsCouchbaseTableDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { return nil, false } -// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for HiveObjectDataset. -func (hod HiveObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { +// AsConcurObjectDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { return nil, false } -// AsAmazonMWSObjectDataset is the BasicDataset implementation for HiveObjectDataset. -func (hod HiveObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { return nil, false } -// AsHTTPDataset is the BasicDataset implementation for HiveObjectDataset. -func (hod HiveObjectDataset) AsHTTPDataset() (*HTTPDataset, bool) { +// AsAmazonMWSObjectDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { return nil, false } -// AsAzureSearchIndexDataset is the BasicDataset implementation for HiveObjectDataset. -func (hod HiveObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { +// AsHTTPDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsHTTPDataset() (*HTTPDataset, bool) { return nil, false } -// AsWebTableDataset is the BasicDataset implementation for HiveObjectDataset. -func (hod HiveObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) { +// AsAzureSearchIndexDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { return nil, false } -// AsSapTableResourceDataset is the BasicDataset implementation for HiveObjectDataset. -func (hod HiveObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { +// AsWebTableDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) { return nil, false } -// AsRestResourceDataset is the BasicDataset implementation for HiveObjectDataset. -func (hod HiveObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { +// AsSapTableResourceDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { return nil, false } -// AsSQLServerTableDataset is the BasicDataset implementation for HiveObjectDataset. -func (hod HiveObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { +// AsRestResourceDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { return nil, false } -// AsSapOpenHubTableDataset is the BasicDataset implementation for HiveObjectDataset. -func (hod HiveObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { +// AsSQLServerTableDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { return nil, false } -// AsSapHanaTableDataset is the BasicDataset implementation for HiveObjectDataset. -func (hod HiveObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { +// AsSapOpenHubTableDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { return nil, false } -// AsSapEccResourceDataset is the BasicDataset implementation for HiveObjectDataset. -func (hod HiveObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { +// AsSapHanaTableDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { return nil, false } -// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for HiveObjectDataset. -func (hod HiveObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { +// AsSapEccResourceDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { return nil, false } -// AsSapBwCubeDataset is the BasicDataset implementation for HiveObjectDataset. -func (hod HiveObjectDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { return nil, false } -// AsSybaseTableDataset is the BasicDataset implementation for HiveObjectDataset. -func (hod HiveObjectDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { +// AsSapBwCubeDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { return nil, false } -// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for HiveObjectDataset. -func (hod HiveObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { +// AsSybaseTableDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { return nil, false } -// AsSalesforceObjectDataset is the BasicDataset implementation for HiveObjectDataset. -func (hod HiveObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { return nil, false } -// AsMicrosoftAccessTableDataset is the BasicDataset implementation for HiveObjectDataset. -func (hod HiveObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { +// AsSalesforceObjectDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { return nil, false } -// AsPostgreSQLTableDataset is the BasicDataset implementation for HiveObjectDataset. -func (hod HiveObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { return nil, false } -// AsMySQLTableDataset is the BasicDataset implementation for HiveObjectDataset. -func (hod HiveObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { +// AsPostgreSQLTableDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { return nil, false } -// AsOdbcTableDataset is the BasicDataset implementation for HiveObjectDataset. -func (hod HiveObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { +// AsMySQLTableDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { return nil, false } -// AsInformixTableDataset is the BasicDataset implementation for HiveObjectDataset. -func (hod HiveObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { +// AsOdbcTableDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { return nil, false } -// AsRelationalTableDataset is the BasicDataset implementation for HiveObjectDataset. -func (hod HiveObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { +// AsInformixTableDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { return nil, false } -// AsAzureMySQLTableDataset is the BasicDataset implementation for HiveObjectDataset. -func (hod HiveObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { +// AsRelationalTableDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { return nil, false } -// AsTeradataTableDataset is the BasicDataset implementation for HiveObjectDataset. -func (hod HiveObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { +// AsDb2TableDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { return nil, false } -// AsOracleTableDataset is the BasicDataset implementation for HiveObjectDataset. -func (hod HiveObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { return nil, false } -// AsODataResourceDataset is the BasicDataset implementation for HiveObjectDataset. -func (hod HiveObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { +// AsAzureMySQLTableDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { return nil, false } -// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for HiveObjectDataset. -func (hod HiveObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { +// AsTeradataTableDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { return nil, false } -// AsMongoDbV2CollectionDataset is the BasicDataset implementation for HiveObjectDataset. -func (hod HiveObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { +// AsOracleTableDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { return nil, false } -// AsMongoDbCollectionDataset is the BasicDataset implementation for HiveObjectDataset. -func (hod HiveObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { +// AsODataResourceDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { return nil, false } -// AsFileShareDataset is the BasicDataset implementation for HiveObjectDataset. -func (hod HiveObjectDataset) AsFileShareDataset() (*FileShareDataset, bool) { +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { return nil, false } -// AsOffice365Dataset is the BasicDataset implementation for HiveObjectDataset. -func (hod HiveObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) { +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { return nil, false } -// AsAzureBlobFSDataset is the BasicDataset implementation for HiveObjectDataset. -func (hod HiveObjectDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) { +// AsMongoDbCollectionDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { return nil, false } -// AsAzureDataLakeStoreDataset is the BasicDataset implementation for HiveObjectDataset. -func (hod HiveObjectDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) { +// AsFileShareDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsFileShareDataset() (*FileShareDataset, bool) { return nil, false } -// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for HiveObjectDataset. -func (hod HiveObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { +// AsOffice365Dataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) { return nil, false } -// AsDynamicsCrmEntityDataset is the BasicDataset implementation for HiveObjectDataset. -func (hod HiveObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { +// AsAzureBlobFSDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) { return nil, false } -// AsDynamicsEntityDataset is the BasicDataset implementation for HiveObjectDataset. -func (hod HiveObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { +// AsAzureDataLakeStoreDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) { return nil, false } -// AsDocumentDbCollectionDataset is the BasicDataset implementation for HiveObjectDataset. -func (hod HiveObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { return nil, false } -// AsCustomDataset is the BasicDataset implementation for HiveObjectDataset. -func (hod HiveObjectDataset) AsCustomDataset() (*CustomDataset, bool) { +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { return nil, false } -// AsCassandraTableDataset is the BasicDataset implementation for HiveObjectDataset. -func (hod HiveObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { +// AsDynamicsEntityDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { return nil, false } -// AsAzureSQLDWTableDataset is the BasicDataset implementation for HiveObjectDataset. -func (hod HiveObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { +// AsDocumentDbCollectionDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { return nil, false } -// AsAzureSQLMITableDataset is the BasicDataset implementation for HiveObjectDataset. -func (hod HiveObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { return nil, false } -// AsAzureSQLTableDataset is the BasicDataset implementation for HiveObjectDataset. -func (hod HiveObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { +// AsCustomDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsCustomDataset() (*CustomDataset, bool) { return nil, false } -// AsAzureTableDataset is the BasicDataset implementation for HiveObjectDataset. -func (hod HiveObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { +// AsCassandraTableDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { return nil, false } -// AsAzureBlobDataset is the BasicDataset implementation for HiveObjectDataset. -func (hod HiveObjectDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) { +// AsAzureSQLDWTableDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { return nil, false } -// AsBinaryDataset is the BasicDataset implementation for HiveObjectDataset. -func (hod HiveObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) { +// AsAzureSQLMITableDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { return nil, false } -// AsDelimitedTextDataset is the BasicDataset implementation for HiveObjectDataset. -func (hod HiveObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { +// AsAzureSQLTableDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { return nil, false } -// AsParquetDataset is the BasicDataset implementation for HiveObjectDataset. -func (hod HiveObjectDataset) AsParquetDataset() (*ParquetDataset, bool) { +// AsAzureTableDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { return nil, false } -// AsAvroDataset is the BasicDataset implementation for HiveObjectDataset. -func (hod HiveObjectDataset) AsAvroDataset() (*AvroDataset, bool) { +// AsAzureBlobDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) { return nil, false } -// AsAmazonS3Dataset is the BasicDataset implementation for HiveObjectDataset. -func (hod HiveObjectDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) { +// AsBinaryDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) { return nil, false } -// AsDataset is the BasicDataset implementation for HiveObjectDataset. -func (hod HiveObjectDataset) AsDataset() (*Dataset, bool) { +// AsOrcDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsOrcDataset() (*OrcDataset, bool) { return nil, false } -// AsBasicDataset is the BasicDataset implementation for HiveObjectDataset. -func (hod HiveObjectDataset) AsBasicDataset() (BasicDataset, bool) { - return &hod, true +// AsJSONDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false } -// UnmarshalJSON is the custom unmarshaler for HiveObjectDataset struct. -func (hod *HiveObjectDataset) UnmarshalJSON(body []byte) error { +// AsDelimitedTextDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { + return nil, false +} + +// AsParquetDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsParquetDataset() (*ParquetDataset, bool) { + return nil, false +} + +// AsAvroDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsAvroDataset() (*AvroDataset, bool) { + return nil, false +} + +// AsAmazonS3Dataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) { + return nil, false +} + +// AsDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsDataset() (*Dataset, bool) { + return nil, false +} + +// AsBasicDataset is the BasicDataset implementation for HBaseObjectDataset. +func (hbod HBaseObjectDataset) AsBasicDataset() (BasicDataset, bool) { + return &hbod, true +} + +// UnmarshalJSON is the custom unmarshaler for HBaseObjectDataset struct. +func (hbod *HBaseObjectDataset) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -94199,12 +99015,12 @@ func (hod *HiveObjectDataset) UnmarshalJSON(body []byte) error { switch k { case "typeProperties": if v != nil { - var hiveDatasetTypeProperties HiveDatasetTypeProperties - err = json.Unmarshal(*v, &hiveDatasetTypeProperties) + var genericDatasetTypeProperties GenericDatasetTypeProperties + err = json.Unmarshal(*v, &genericDatasetTypeProperties) if err != nil { return err } - hod.HiveDatasetTypeProperties = &hiveDatasetTypeProperties + hbod.GenericDatasetTypeProperties = &genericDatasetTypeProperties } default: if v != nil { @@ -94213,10 +99029,10 @@ func (hod *HiveObjectDataset) UnmarshalJSON(body []byte) error { if err != nil { return err } - if hod.AdditionalProperties == nil { - hod.AdditionalProperties = make(map[string]interface{}) + if hbod.AdditionalProperties == nil { + hbod.AdditionalProperties = make(map[string]interface{}) } - hod.AdditionalProperties[k] = additionalProperties + hbod.AdditionalProperties[k] = additionalProperties } case "description": if v != nil { @@ -94225,7 +99041,7 @@ func (hod *HiveObjectDataset) UnmarshalJSON(body []byte) error { if err != nil { return err } - hod.Description = &description + hbod.Description = &description } case "structure": if v != nil { @@ -94234,7 +99050,7 @@ func (hod *HiveObjectDataset) UnmarshalJSON(body []byte) error { if err != nil { return err } - hod.Structure = structure + hbod.Structure = structure } case "schema": if v != nil { @@ -94243,7 +99059,7 @@ func (hod *HiveObjectDataset) UnmarshalJSON(body []byte) error { if err != nil { return err } - hod.Schema = schema + hbod.Schema = schema } case "linkedServiceName": if v != nil { @@ -94252,7 +99068,7 @@ func (hod *HiveObjectDataset) UnmarshalJSON(body []byte) error { if err != nil { return err } - hod.LinkedServiceName = &linkedServiceName + hbod.LinkedServiceName = &linkedServiceName } case "parameters": if v != nil { @@ -94261,7 +99077,7 @@ func (hod *HiveObjectDataset) UnmarshalJSON(body []byte) error { if err != nil { return err } - hod.Parameters = parameters + hbod.Parameters = parameters } case "annotations": if v != nil { @@ -94270,7 +99086,7 @@ func (hod *HiveObjectDataset) UnmarshalJSON(body []byte) error { if err != nil { return err } - hod.Annotations = &annotations + hbod.Annotations = &annotations } case "folder": if v != nil { @@ -94279,7 +99095,7 @@ func (hod *HiveObjectDataset) UnmarshalJSON(body []byte) error { if err != nil { return err } - hod.Folder = &folder + hbod.Folder = &folder } case "type": if v != nil { @@ -94288,7 +99104,7 @@ func (hod *HiveObjectDataset) UnmarshalJSON(body []byte) error { if err != nil { return err } - hod.Type = typeVar + hbod.Type = typeVar } } } @@ -94296,10 +99112,12 @@ func (hod *HiveObjectDataset) UnmarshalJSON(body []byte) error { return nil } -// HiveSource a copy activity Hive Server source. -type HiveSource struct { +// HBaseSource a copy activity HBase server source. +type HBaseSource struct { // Query - A query to retrieve data from source. Type: string (or Expression with resultType string). Query interface{} `json:"query,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). @@ -94308,462 +99126,490 @@ type HiveSource struct { SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' + // Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' Type TypeBasicCopySource `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for HiveSource. -func (hs HiveSource) MarshalJSON() ([]byte, error) { - hs.Type = TypeHiveSource +// MarshalJSON is the custom marshaler for HBaseSource. +func (hbs HBaseSource) MarshalJSON() ([]byte, error) { + hbs.Type = TypeHBaseSource objectMap := make(map[string]interface{}) - if hs.Query != nil { - objectMap["query"] = hs.Query + if hbs.Query != nil { + objectMap["query"] = hbs.Query } - if hs.SourceRetryCount != nil { - objectMap["sourceRetryCount"] = hs.SourceRetryCount + if hbs.QueryTimeout != nil { + objectMap["queryTimeout"] = hbs.QueryTimeout } - if hs.SourceRetryWait != nil { - objectMap["sourceRetryWait"] = hs.SourceRetryWait + if hbs.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = hbs.SourceRetryCount } - if hs.MaxConcurrentConnections != nil { - objectMap["maxConcurrentConnections"] = hs.MaxConcurrentConnections + if hbs.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = hbs.SourceRetryWait } - if hs.Type != "" { - objectMap["type"] = hs.Type + if hbs.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = hbs.MaxConcurrentConnections } - for k, v := range hs.AdditionalProperties { + if hbs.Type != "" { + objectMap["type"] = hbs.Type + } + for k, v := range hbs.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsAmazonRedshiftSource is the BasicCopySource implementation for HiveSource. -func (hs HiveSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { +// AsHTTPSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsHTTPSource() (*HTTPSource, bool) { return nil, false } -// AsGoogleAdWordsSource is the BasicCopySource implementation for HiveSource. -func (hs HiveSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { +// AsAzureBlobFSSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { return nil, false } -// AsOracleServiceCloudSource is the BasicCopySource implementation for HiveSource. -func (hs HiveSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { return nil, false } -// AsDynamicsAXSource is the BasicCopySource implementation for HiveSource. -func (hs HiveSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { +// AsOffice365Source is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsOffice365Source() (*Office365Source, bool) { return nil, false } -// AsResponsysSource is the BasicCopySource implementation for HiveSource. -func (hs HiveSource) AsResponsysSource() (*ResponsysSource, bool) { +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { return nil, false } -// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for HiveSource. -func (hs HiveSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { +// AsMongoDbV2Source is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { return nil, false } -// AsVerticaSource is the BasicCopySource implementation for HiveSource. -func (hs HiveSource) AsVerticaSource() (*VerticaSource, bool) { +// AsMongoDbSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsMongoDbSource() (*MongoDbSource, bool) { return nil, false } -// AsNetezzaSource is the BasicCopySource implementation for HiveSource. -func (hs HiveSource) AsNetezzaSource() (*NetezzaSource, bool) { +// AsWebSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsWebSource() (*WebSource, bool) { return nil, false } -// AsZohoSource is the BasicCopySource implementation for HiveSource. -func (hs HiveSource) AsZohoSource() (*ZohoSource, bool) { +// AsOracleSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsOracleSource() (*OracleSource, bool) { return nil, false } -// AsXeroSource is the BasicCopySource implementation for HiveSource. -func (hs HiveSource) AsXeroSource() (*XeroSource, bool) { +// AsAzureDataExplorerSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { return nil, false } -// AsSquareSource is the BasicCopySource implementation for HiveSource. -func (hs HiveSource) AsSquareSource() (*SquareSource, bool) { +// AsHdfsSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsHdfsSource() (*HdfsSource, bool) { return nil, false } -// AsSparkSource is the BasicCopySource implementation for HiveSource. -func (hs HiveSource) AsSparkSource() (*SparkSource, bool) { +// AsFileSystemSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsFileSystemSource() (*FileSystemSource, bool) { return nil, false } -// AsShopifySource is the BasicCopySource implementation for HiveSource. -func (hs HiveSource) AsShopifySource() (*ShopifySource, bool) { +// AsRestSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsRestSource() (*RestSource, bool) { return nil, false } -// AsServiceNowSource is the BasicCopySource implementation for HiveSource. -func (hs HiveSource) AsServiceNowSource() (*ServiceNowSource, bool) { +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { return nil, false } -// AsQuickBooksSource is the BasicCopySource implementation for HiveSource. -func (hs HiveSource) AsQuickBooksSource() (*QuickBooksSource, bool) { +// AsODataSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsODataSource() (*ODataSource, bool) { return nil, false } -// AsPrestoSource is the BasicCopySource implementation for HiveSource. -func (hs HiveSource) AsPrestoSource() (*PrestoSource, bool) { +// AsMicrosoftAccessSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { return nil, false } -// AsPhoenixSource is the BasicCopySource implementation for HiveSource. -func (hs HiveSource) AsPhoenixSource() (*PhoenixSource, bool) { +// AsRelationalSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsRelationalSource() (*RelationalSource, bool) { return nil, false } -// AsPaypalSource is the BasicCopySource implementation for HiveSource. -func (hs HiveSource) AsPaypalSource() (*PaypalSource, bool) { +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { return nil, false } -// AsMarketoSource is the BasicCopySource implementation for HiveSource. -func (hs HiveSource) AsMarketoSource() (*MarketoSource, bool) { +// AsDynamicsCrmSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { return nil, false } -// AsAzureMariaDBSource is the BasicCopySource implementation for HiveSource. -func (hs HiveSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { +// AsDynamicsSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsDynamicsSource() (*DynamicsSource, bool) { return nil, false } -// AsMariaDBSource is the BasicCopySource implementation for HiveSource. -func (hs HiveSource) AsMariaDBSource() (*MariaDBSource, bool) { +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { return nil, false } -// AsMagentoSource is the BasicCopySource implementation for HiveSource. -func (hs HiveSource) AsMagentoSource() (*MagentoSource, bool) { +// AsDocumentDbCollectionSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { return nil, false } -// AsJiraSource is the BasicCopySource implementation for HiveSource. -func (hs HiveSource) AsJiraSource() (*JiraSource, bool) { +// AsBlobSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsBlobSource() (*BlobSource, bool) { return nil, false } -// AsImpalaSource is the BasicCopySource implementation for HiveSource. -func (hs HiveSource) AsImpalaSource() (*ImpalaSource, bool) { +// AsAmazonRedshiftSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { return nil, false } -// AsHubspotSource is the BasicCopySource implementation for HiveSource. -func (hs HiveSource) AsHubspotSource() (*HubspotSource, bool) { +// AsGoogleAdWordsSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { return nil, false } -// AsHiveSource is the BasicCopySource implementation for HiveSource. -func (hs HiveSource) AsHiveSource() (*HiveSource, bool) { - return &hs, true +// AsOracleServiceCloudSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { + return nil, false } -// AsHBaseSource is the BasicCopySource implementation for HiveSource. -func (hs HiveSource) AsHBaseSource() (*HBaseSource, bool) { +// AsDynamicsAXSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { return nil, false } -// AsGreenplumSource is the BasicCopySource implementation for HiveSource. -func (hs HiveSource) AsGreenplumSource() (*GreenplumSource, bool) { +// AsResponsysSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsResponsysSource() (*ResponsysSource, bool) { return nil, false } -// AsGoogleBigQuerySource is the BasicCopySource implementation for HiveSource. -func (hs HiveSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { return nil, false } -// AsEloquaSource is the BasicCopySource implementation for HiveSource. -func (hs HiveSource) AsEloquaSource() (*EloquaSource, bool) { +// AsVerticaSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsVerticaSource() (*VerticaSource, bool) { return nil, false } -// AsDrillSource is the BasicCopySource implementation for HiveSource. -func (hs HiveSource) AsDrillSource() (*DrillSource, bool) { +// AsNetezzaSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsNetezzaSource() (*NetezzaSource, bool) { return nil, false } -// AsCouchbaseSource is the BasicCopySource implementation for HiveSource. -func (hs HiveSource) AsCouchbaseSource() (*CouchbaseSource, bool) { +// AsZohoSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsZohoSource() (*ZohoSource, bool) { return nil, false } -// AsConcurSource is the BasicCopySource implementation for HiveSource. -func (hs HiveSource) AsConcurSource() (*ConcurSource, bool) { +// AsXeroSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsXeroSource() (*XeroSource, bool) { return nil, false } -// AsAzurePostgreSQLSource is the BasicCopySource implementation for HiveSource. -func (hs HiveSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { +// AsSquareSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsSquareSource() (*SquareSource, bool) { return nil, false } -// AsAmazonMWSSource is the BasicCopySource implementation for HiveSource. -func (hs HiveSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { +// AsSparkSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsSparkSource() (*SparkSource, bool) { return nil, false } -// AsHTTPSource is the BasicCopySource implementation for HiveSource. -func (hs HiveSource) AsHTTPSource() (*HTTPSource, bool) { +// AsShopifySource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsShopifySource() (*ShopifySource, bool) { return nil, false } -// AsAzureBlobFSSource is the BasicCopySource implementation for HiveSource. -func (hs HiveSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { +// AsServiceNowSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsServiceNowSource() (*ServiceNowSource, bool) { return nil, false } -// AsAzureDataLakeStoreSource is the BasicCopySource implementation for HiveSource. -func (hs HiveSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { +// AsQuickBooksSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsQuickBooksSource() (*QuickBooksSource, bool) { return nil, false } -// AsOffice365Source is the BasicCopySource implementation for HiveSource. -func (hs HiveSource) AsOffice365Source() (*Office365Source, bool) { +// AsPrestoSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsPrestoSource() (*PrestoSource, bool) { return nil, false } -// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for HiveSource. -func (hs HiveSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { +// AsPhoenixSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsPhoenixSource() (*PhoenixSource, bool) { return nil, false } -// AsMongoDbV2Source is the BasicCopySource implementation for HiveSource. -func (hs HiveSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { +// AsPaypalSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsPaypalSource() (*PaypalSource, bool) { return nil, false } -// AsMongoDbSource is the BasicCopySource implementation for HiveSource. -func (hs HiveSource) AsMongoDbSource() (*MongoDbSource, bool) { +// AsMarketoSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsMarketoSource() (*MarketoSource, bool) { return nil, false } -// AsCassandraSource is the BasicCopySource implementation for HiveSource. -func (hs HiveSource) AsCassandraSource() (*CassandraSource, bool) { +// AsAzureMariaDBSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { return nil, false } -// AsWebSource is the BasicCopySource implementation for HiveSource. -func (hs HiveSource) AsWebSource() (*WebSource, bool) { +// AsMariaDBSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsMariaDBSource() (*MariaDBSource, bool) { return nil, false } -// AsTeradataSource is the BasicCopySource implementation for HiveSource. -func (hs HiveSource) AsTeradataSource() (*TeradataSource, bool) { +// AsMagentoSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsMagentoSource() (*MagentoSource, bool) { return nil, false } -// AsOracleSource is the BasicCopySource implementation for HiveSource. -func (hs HiveSource) AsOracleSource() (*OracleSource, bool) { +// AsJiraSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsJiraSource() (*JiraSource, bool) { return nil, false } -// AsAzureDataExplorerSource is the BasicCopySource implementation for HiveSource. -func (hs HiveSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { +// AsImpalaSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsImpalaSource() (*ImpalaSource, bool) { return nil, false } -// AsAzureMySQLSource is the BasicCopySource implementation for HiveSource. -func (hs HiveSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { +// AsHubspotSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsHubspotSource() (*HubspotSource, bool) { return nil, false } -// AsHdfsSource is the BasicCopySource implementation for HiveSource. -func (hs HiveSource) AsHdfsSource() (*HdfsSource, bool) { +// AsHiveSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsHiveSource() (*HiveSource, bool) { return nil, false } -// AsFileSystemSource is the BasicCopySource implementation for HiveSource. -func (hs HiveSource) AsFileSystemSource() (*FileSystemSource, bool) { +// AsHBaseSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsHBaseSource() (*HBaseSource, bool) { + return &hbs, true +} + +// AsGreenplumSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsGreenplumSource() (*GreenplumSource, bool) { return nil, false } -// AsSQLDWSource is the BasicCopySource implementation for HiveSource. -func (hs HiveSource) AsSQLDWSource() (*SQLDWSource, bool) { +// AsGoogleBigQuerySource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { return nil, false } -// AsSQLMISource is the BasicCopySource implementation for HiveSource. -func (hs HiveSource) AsSQLMISource() (*SQLMISource, bool) { +// AsEloquaSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsEloquaSource() (*EloquaSource, bool) { return nil, false } -// AsAzureSQLSource is the BasicCopySource implementation for HiveSource. -func (hs HiveSource) AsAzureSQLSource() (*AzureSQLSource, bool) { +// AsDrillSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsDrillSource() (*DrillSource, bool) { return nil, false } -// AsSQLServerSource is the BasicCopySource implementation for HiveSource. -func (hs HiveSource) AsSQLServerSource() (*SQLServerSource, bool) { +// AsCouchbaseSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsCouchbaseSource() (*CouchbaseSource, bool) { return nil, false } -// AsSQLSource is the BasicCopySource implementation for HiveSource. -func (hs HiveSource) AsSQLSource() (*SQLSource, bool) { +// AsConcurSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsConcurSource() (*ConcurSource, bool) { return nil, false } -// AsRestSource is the BasicCopySource implementation for HiveSource. -func (hs HiveSource) AsRestSource() (*RestSource, bool) { +// AsAzurePostgreSQLSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { return nil, false } -// AsSapTableSource is the BasicCopySource implementation for HiveSource. -func (hs HiveSource) AsSapTableSource() (*SapTableSource, bool) { +// AsAmazonMWSSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { return nil, false } -// AsSapOpenHubSource is the BasicCopySource implementation for HiveSource. -func (hs HiveSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { +// AsCassandraSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsCassandraSource() (*CassandraSource, bool) { return nil, false } -// AsSapHanaSource is the BasicCopySource implementation for HiveSource. -func (hs HiveSource) AsSapHanaSource() (*SapHanaSource, bool) { +// AsTeradataSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsTeradataSource() (*TeradataSource, bool) { return nil, false } -// AsSapEccSource is the BasicCopySource implementation for HiveSource. -func (hs HiveSource) AsSapEccSource() (*SapEccSource, bool) { +// AsAzureMySQLSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { return nil, false } -// AsSapCloudForCustomerSource is the BasicCopySource implementation for HiveSource. -func (hs HiveSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { +// AsSQLDWSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsSQLDWSource() (*SQLDWSource, bool) { return nil, false } -// AsSalesforceServiceCloudSource is the BasicCopySource implementation for HiveSource. -func (hs HiveSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { +// AsSQLMISource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsSQLMISource() (*SQLMISource, bool) { return nil, false } -// AsSalesforceSource is the BasicCopySource implementation for HiveSource. -func (hs HiveSource) AsSalesforceSource() (*SalesforceSource, bool) { +// AsAzureSQLSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsAzureSQLSource() (*AzureSQLSource, bool) { return nil, false } -// AsODataSource is the BasicCopySource implementation for HiveSource. -func (hs HiveSource) AsODataSource() (*ODataSource, bool) { +// AsSQLServerSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsSQLServerSource() (*SQLServerSource, bool) { return nil, false } -// AsSapBwSource is the BasicCopySource implementation for HiveSource. -func (hs HiveSource) AsSapBwSource() (*SapBwSource, bool) { +// AsSQLSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsSQLSource() (*SQLSource, bool) { return nil, false } -// AsSybaseSource is the BasicCopySource implementation for HiveSource. -func (hs HiveSource) AsSybaseSource() (*SybaseSource, bool) { +// AsSapTableSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsSapTableSource() (*SapTableSource, bool) { return nil, false } -// AsPostgreSQLSource is the BasicCopySource implementation for HiveSource. -func (hs HiveSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { +// AsSapOpenHubSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { return nil, false } -// AsMySQLSource is the BasicCopySource implementation for HiveSource. -func (hs HiveSource) AsMySQLSource() (*MySQLSource, bool) { +// AsSapHanaSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsSapHanaSource() (*SapHanaSource, bool) { return nil, false } -// AsOdbcSource is the BasicCopySource implementation for HiveSource. -func (hs HiveSource) AsOdbcSource() (*OdbcSource, bool) { +// AsSapEccSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsSapEccSource() (*SapEccSource, bool) { return nil, false } -// AsDb2Source is the BasicCopySource implementation for HiveSource. -func (hs HiveSource) AsDb2Source() (*Db2Source, bool) { +// AsSapCloudForCustomerSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { return nil, false } -// AsMicrosoftAccessSource is the BasicCopySource implementation for HiveSource. -func (hs HiveSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { +// AsSalesforceSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsSalesforceSource() (*SalesforceSource, bool) { return nil, false } -// AsInformixSource is the BasicCopySource implementation for HiveSource. -func (hs HiveSource) AsInformixSource() (*InformixSource, bool) { +// AsSapBwSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsSapBwSource() (*SapBwSource, bool) { return nil, false } -// AsRelationalSource is the BasicCopySource implementation for HiveSource. -func (hs HiveSource) AsRelationalSource() (*RelationalSource, bool) { +// AsSybaseSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsSybaseSource() (*SybaseSource, bool) { return nil, false } -// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for HiveSource. -func (hs HiveSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { +// AsPostgreSQLSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { return nil, false } -// AsDynamicsCrmSource is the BasicCopySource implementation for HiveSource. -func (hs HiveSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { +// AsMySQLSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsMySQLSource() (*MySQLSource, bool) { return nil, false } -// AsDynamicsSource is the BasicCopySource implementation for HiveSource. -func (hs HiveSource) AsDynamicsSource() (*DynamicsSource, bool) { +// AsOdbcSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsOdbcSource() (*OdbcSource, bool) { return nil, false } -// AsDocumentDbCollectionSource is the BasicCopySource implementation for HiveSource. -func (hs HiveSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { +// AsDb2Source is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsDb2Source() (*Db2Source, bool) { return nil, false } -// AsBlobSource is the BasicCopySource implementation for HiveSource. -func (hs HiveSource) AsBlobSource() (*BlobSource, bool) { +// AsInformixSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsInformixSource() (*InformixSource, bool) { return nil, false } -// AsAzureTableSource is the BasicCopySource implementation for HiveSource. -func (hs HiveSource) AsAzureTableSource() (*AzureTableSource, bool) { +// AsAzureTableSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsAzureTableSource() (*AzureTableSource, bool) { return nil, false } -// AsBinarySource is the BasicCopySource implementation for HiveSource. -func (hs HiveSource) AsBinarySource() (*BinarySource, bool) { +// AsTabularSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsTabularSource() (*TabularSource, bool) { return nil, false } -// AsDelimitedTextSource is the BasicCopySource implementation for HiveSource. -func (hs HiveSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { +// AsBasicTabularSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &hbs, true +} + +// AsBinarySource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsBinarySource() (*BinarySource, bool) { return nil, false } -// AsParquetSource is the BasicCopySource implementation for HiveSource. -func (hs HiveSource) AsParquetSource() (*ParquetSource, bool) { +// AsOrcSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsOrcSource() (*OrcSource, bool) { return nil, false } -// AsAvroSource is the BasicCopySource implementation for HiveSource. -func (hs HiveSource) AsAvroSource() (*AvroSource, bool) { +// AsJSONSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsJSONSource() (*JSONSource, bool) { return nil, false } -// AsCopySource is the BasicCopySource implementation for HiveSource. -func (hs HiveSource) AsCopySource() (*CopySource, bool) { +// AsDelimitedTextSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { return nil, false } -// AsBasicCopySource is the BasicCopySource implementation for HiveSource. -func (hs HiveSource) AsBasicCopySource() (BasicCopySource, bool) { - return &hs, true +// AsParquetSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsParquetSource() (*ParquetSource, bool) { + return nil, false } -// UnmarshalJSON is the custom unmarshaler for HiveSource struct. -func (hs *HiveSource) UnmarshalJSON(body []byte) error { +// AsAvroSource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for HBaseSource. +func (hbs HBaseSource) AsBasicCopySource() (BasicCopySource, bool) { + return &hbs, true +} + +// UnmarshalJSON is the custom unmarshaler for HBaseSource struct. +func (hbs *HBaseSource) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -94778,7 +99624,16 @@ func (hs *HiveSource) UnmarshalJSON(body []byte) error { if err != nil { return err } - hs.Query = query + hbs.Query = query + } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + hbs.QueryTimeout = queryTimeout } default: if v != nil { @@ -94787,10 +99642,10 @@ func (hs *HiveSource) UnmarshalJSON(body []byte) error { if err != nil { return err } - if hs.AdditionalProperties == nil { - hs.AdditionalProperties = make(map[string]interface{}) + if hbs.AdditionalProperties == nil { + hbs.AdditionalProperties = make(map[string]interface{}) } - hs.AdditionalProperties[k] = additionalProperties + hbs.AdditionalProperties[k] = additionalProperties } case "sourceRetryCount": if v != nil { @@ -94799,7 +99654,7 @@ func (hs *HiveSource) UnmarshalJSON(body []byte) error { if err != nil { return err } - hs.SourceRetryCount = sourceRetryCount + hbs.SourceRetryCount = sourceRetryCount } case "sourceRetryWait": if v != nil { @@ -94808,7 +99663,7 @@ func (hs *HiveSource) UnmarshalJSON(body []byte) error { if err != nil { return err } - hs.SourceRetryWait = sourceRetryWait + hbs.SourceRetryWait = sourceRetryWait } case "maxConcurrentConnections": if v != nil { @@ -94817,7 +99672,7 @@ func (hs *HiveSource) UnmarshalJSON(body []byte) error { if err != nil { return err } - hs.MaxConcurrentConnections = maxConcurrentConnections + hbs.MaxConcurrentConnections = maxConcurrentConnections } case "type": if v != nil { @@ -94826,7 +99681,7 @@ func (hs *HiveSource) UnmarshalJSON(body []byte) error { if err != nil { return err } - hs.Type = typeVar + hbs.Type = typeVar } } } @@ -94834,489 +99689,534 @@ func (hs *HiveSource) UnmarshalJSON(body []byte) error { return nil } -// HTTPDataset a file in an HTTP web server. -type HTTPDataset struct { - // HTTPDatasetTypeProperties - Properties specific to this dataset type. - *HTTPDatasetTypeProperties `json:"typeProperties,omitempty"` +// HdfsLinkedService hadoop Distributed File System (HDFS) linked service. +type HdfsLinkedService struct { + // HdfsLinkedServiceTypeProperties - HDFS linked service properties. + *HdfsLinkedServiceTypeProperties `json:"typeProperties,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` - // Description - Dataset description. + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. Description *string `json:"description,omitempty"` - // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. - Structure interface{} `json:"structure,omitempty"` - // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. - Schema interface{} `json:"schema,omitempty"` - // LinkedServiceName - Linked service reference. - LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` - // Parameters - Parameters for dataset. + // Parameters - Parameters for linked service. Parameters map[string]*ParameterSpecification `json:"parameters"` - // Annotations - List of tags that can be used for describing the Dataset. + // Annotations - List of tags that can be used for describing the linked service. Annotations *[]interface{} `json:"annotations,omitempty"` - // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. - Folder *DatasetFolder `json:"folder,omitempty"` - // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' - Type TypeBasicDataset `json:"type,omitempty"` + // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' + Type TypeBasicLinkedService `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for HTTPDataset. -func (hd HTTPDataset) MarshalJSON() ([]byte, error) { - hd.Type = TypeHTTPFile +// MarshalJSON is the custom marshaler for HdfsLinkedService. +func (hls HdfsLinkedService) MarshalJSON() ([]byte, error) { + hls.Type = TypeHdfs objectMap := make(map[string]interface{}) - if hd.HTTPDatasetTypeProperties != nil { - objectMap["typeProperties"] = hd.HTTPDatasetTypeProperties - } - if hd.Description != nil { - objectMap["description"] = hd.Description - } - if hd.Structure != nil { - objectMap["structure"] = hd.Structure - } - if hd.Schema != nil { - objectMap["schema"] = hd.Schema + if hls.HdfsLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = hls.HdfsLinkedServiceTypeProperties } - if hd.LinkedServiceName != nil { - objectMap["linkedServiceName"] = hd.LinkedServiceName + if hls.ConnectVia != nil { + objectMap["connectVia"] = hls.ConnectVia } - if hd.Parameters != nil { - objectMap["parameters"] = hd.Parameters + if hls.Description != nil { + objectMap["description"] = hls.Description } - if hd.Annotations != nil { - objectMap["annotations"] = hd.Annotations + if hls.Parameters != nil { + objectMap["parameters"] = hls.Parameters } - if hd.Folder != nil { - objectMap["folder"] = hd.Folder + if hls.Annotations != nil { + objectMap["annotations"] = hls.Annotations } - if hd.Type != "" { - objectMap["type"] = hd.Type + if hls.Type != "" { + objectMap["type"] = hls.Type } - for k, v := range hd.AdditionalProperties { + for k, v := range hls.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for HTTPDataset. -func (hd HTTPDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { return nil, false } -// AsAzureDataExplorerTableDataset is the BasicDataset implementation for HTTPDataset. -func (hd HTTPDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { return nil, false } -// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for HTTPDataset. -func (hd HTTPDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { +// AsSapTableLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { return nil, false } -// AsDynamicsAXResourceDataset is the BasicDataset implementation for HTTPDataset. -func (hd HTTPDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { return nil, false } -// AsResponsysObjectDataset is the BasicDataset implementation for HTTPDataset. -func (hd HTTPDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { return nil, false } -// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for HTTPDataset. -func (hd HTTPDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { return nil, false } -// AsVerticaTableDataset is the BasicDataset implementation for HTTPDataset. -func (hd HTTPDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { +// AsResponsysLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { return nil, false } -// AsNetezzaTableDataset is the BasicDataset implementation for HTTPDataset. -func (hd HTTPDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { return nil, false } -// AsZohoObjectDataset is the BasicDataset implementation for HTTPDataset. -func (hd HTTPDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { return nil, false } -// AsXeroObjectDataset is the BasicDataset implementation for HTTPDataset. -func (hd HTTPDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { return nil, false } -// AsSquareObjectDataset is the BasicDataset implementation for HTTPDataset. -func (hd HTTPDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { return nil, false } -// AsSparkObjectDataset is the BasicDataset implementation for HTTPDataset. -func (hd HTTPDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { +// AsNetezzaLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { return nil, false } -// AsShopifyObjectDataset is the BasicDataset implementation for HTTPDataset. -func (hd HTTPDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { +// AsVerticaLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { return nil, false } -// AsServiceNowObjectDataset is the BasicDataset implementation for HTTPDataset. -func (hd HTTPDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { +// AsZohoLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { return nil, false } -// AsQuickBooksObjectDataset is the BasicDataset implementation for HTTPDataset. -func (hd HTTPDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { +// AsXeroLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { return nil, false } -// AsPrestoObjectDataset is the BasicDataset implementation for HTTPDataset. -func (hd HTTPDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { +// AsSquareLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { return nil, false } -// AsPhoenixObjectDataset is the BasicDataset implementation for HTTPDataset. -func (hd HTTPDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { +// AsSparkLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { return nil, false } -// AsPaypalObjectDataset is the BasicDataset implementation for HTTPDataset. -func (hd HTTPDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { +// AsShopifyLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { return nil, false } -// AsMarketoObjectDataset is the BasicDataset implementation for HTTPDataset. -func (hd HTTPDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { +// AsServiceNowLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { return nil, false } -// AsAzureMariaDBTableDataset is the BasicDataset implementation for HTTPDataset. -func (hd HTTPDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { +// AsQuickBooksLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { return nil, false } -// AsMariaDBTableDataset is the BasicDataset implementation for HTTPDataset. -func (hd HTTPDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { +// AsPrestoLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { return nil, false } -// AsMagentoObjectDataset is the BasicDataset implementation for HTTPDataset. -func (hd HTTPDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { +// AsPhoenixLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { return nil, false } -// AsJiraObjectDataset is the BasicDataset implementation for HTTPDataset. -func (hd HTTPDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { +// AsPaypalLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { return nil, false } -// AsImpalaObjectDataset is the BasicDataset implementation for HTTPDataset. -func (hd HTTPDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { +// AsMarketoLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { return nil, false } -// AsHubspotObjectDataset is the BasicDataset implementation for HTTPDataset. -func (hd HTTPDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { return nil, false } -// AsHiveObjectDataset is the BasicDataset implementation for HTTPDataset. -func (hd HTTPDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { +// AsMariaDBLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { return nil, false } -// AsHBaseObjectDataset is the BasicDataset implementation for HTTPDataset. -func (hd HTTPDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { +// AsMagentoLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { return nil, false } -// AsGreenplumTableDataset is the BasicDataset implementation for HTTPDataset. -func (hd HTTPDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { +// AsJiraLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { return nil, false } -// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for HTTPDataset. -func (hd HTTPDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { +// AsImpalaLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { return nil, false } -// AsEloquaObjectDataset is the BasicDataset implementation for HTTPDataset. -func (hd HTTPDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { +// AsHubspotLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { return nil, false } -// AsDrillTableDataset is the BasicDataset implementation for HTTPDataset. -func (hd HTTPDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { +// AsHiveLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { return nil, false } -// AsCouchbaseTableDataset is the BasicDataset implementation for HTTPDataset. -func (hd HTTPDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { +// AsHBaseLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { return nil, false } -// AsConcurObjectDataset is the BasicDataset implementation for HTTPDataset. -func (hd HTTPDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { +// AsGreenplumLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { return nil, false } -// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for HTTPDataset. -func (hd HTTPDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { return nil, false } -// AsAmazonMWSObjectDataset is the BasicDataset implementation for HTTPDataset. -func (hd HTTPDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { +// AsEloquaLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { return nil, false } -// AsHTTPDataset is the BasicDataset implementation for HTTPDataset. -func (hd HTTPDataset) AsHTTPDataset() (*HTTPDataset, bool) { - return &hd, true -} - -// AsAzureSearchIndexDataset is the BasicDataset implementation for HTTPDataset. -func (hd HTTPDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { +// AsDrillLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { return nil, false } -// AsWebTableDataset is the BasicDataset implementation for HTTPDataset. -func (hd HTTPDataset) AsWebTableDataset() (*WebTableDataset, bool) { +// AsCouchbaseLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { return nil, false } -// AsSapTableResourceDataset is the BasicDataset implementation for HTTPDataset. -func (hd HTTPDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { +// AsConcurLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { return nil, false } -// AsRestResourceDataset is the BasicDataset implementation for HTTPDataset. -func (hd HTTPDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { return nil, false } -// AsSQLServerTableDataset is the BasicDataset implementation for HTTPDataset. -func (hd HTTPDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { return nil, false } -// AsSapOpenHubTableDataset is the BasicDataset implementation for HTTPDataset. -func (hd HTTPDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { +// AsSapHanaLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { return nil, false } -// AsSapHanaTableDataset is the BasicDataset implementation for HTTPDataset. -func (hd HTTPDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { +// AsSapBWLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { return nil, false } -// AsSapEccResourceDataset is the BasicDataset implementation for HTTPDataset. -func (hd HTTPDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { +// AsSftpServerLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { return nil, false } -// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for HTTPDataset. -func (hd HTTPDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { +// AsFtpServerLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { return nil, false } -// AsSapBwCubeDataset is the BasicDataset implementation for HTTPDataset. -func (hd HTTPDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { +// AsHTTPLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { return nil, false } -// AsSybaseTableDataset is the BasicDataset implementation for HTTPDataset. -func (hd HTTPDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { +// AsAzureSearchLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { return nil, false } -// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for HTTPDataset. -func (hd HTTPDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { return nil, false } -// AsSalesforceObjectDataset is the BasicDataset implementation for HTTPDataset. -func (hd HTTPDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { return nil, false } -// AsMicrosoftAccessTableDataset is the BasicDataset implementation for HTTPDataset. -func (hd HTTPDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { +// AsAmazonS3LinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { return nil, false } -// AsPostgreSQLTableDataset is the BasicDataset implementation for HTTPDataset. -func (hd HTTPDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { +// AsRestServiceLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { return nil, false } -// AsMySQLTableDataset is the BasicDataset implementation for HTTPDataset. -func (hd HTTPDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { return nil, false } -// AsOdbcTableDataset is the BasicDataset implementation for HTTPDataset. -func (hd HTTPDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { +// AsSapEccLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { return nil, false } -// AsInformixTableDataset is the BasicDataset implementation for HTTPDataset. -func (hd HTTPDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { return nil, false } -// AsRelationalTableDataset is the BasicDataset implementation for HTTPDataset. -func (hd HTTPDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { return nil, false } -// AsAzureMySQLTableDataset is the BasicDataset implementation for HTTPDataset. -func (hd HTTPDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { +// AsSalesforceLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { return nil, false } -// AsTeradataTableDataset is the BasicDataset implementation for HTTPDataset. -func (hd HTTPDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { +// AsOffice365LinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { return nil, false } -// AsOracleTableDataset is the BasicDataset implementation for HTTPDataset. -func (hd HTTPDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { return nil, false } -// AsODataResourceDataset is the BasicDataset implementation for HTTPDataset. -func (hd HTTPDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { return nil, false } -// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for HTTPDataset. -func (hd HTTPDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { return nil, false } -// AsMongoDbV2CollectionDataset is the BasicDataset implementation for HTTPDataset. -func (hd HTTPDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { return nil, false } -// AsMongoDbCollectionDataset is the BasicDataset implementation for HTTPDataset. -func (hd HTTPDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { +// AsMongoDbLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { return nil, false } -// AsFileShareDataset is the BasicDataset implementation for HTTPDataset. -func (hd HTTPDataset) AsFileShareDataset() (*FileShareDataset, bool) { +// AsCassandraLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { return nil, false } -// AsOffice365Dataset is the BasicDataset implementation for HTTPDataset. -func (hd HTTPDataset) AsOffice365Dataset() (*Office365Dataset, bool) { +// AsWebLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { return nil, false } -// AsAzureBlobFSDataset is the BasicDataset implementation for HTTPDataset. -func (hd HTTPDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) { +// AsODataLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { return nil, false } -// AsAzureDataLakeStoreDataset is the BasicDataset implementation for HTTPDataset. -func (hd HTTPDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) { - return nil, false +// AsHdfsLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return &hls, true } -// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for HTTPDataset. -func (hd HTTPDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { return nil, false } -// AsDynamicsCrmEntityDataset is the BasicDataset implementation for HTTPDataset. -func (hd HTTPDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { +// AsInformixLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { return nil, false } -// AsDynamicsEntityDataset is the BasicDataset implementation for HTTPDataset. -func (hd HTTPDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { +// AsOdbcLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { return nil, false } -// AsDocumentDbCollectionDataset is the BasicDataset implementation for HTTPDataset. -func (hd HTTPDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { return nil, false } -// AsCustomDataset is the BasicDataset implementation for HTTPDataset. -func (hd HTTPDataset) AsCustomDataset() (*CustomDataset, bool) { +// AsAzureMLLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { return nil, false } -// AsCassandraTableDataset is the BasicDataset implementation for HTTPDataset. -func (hd HTTPDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { +// AsTeradataLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { return nil, false } -// AsAzureSQLDWTableDataset is the BasicDataset implementation for HTTPDataset. -func (hd HTTPDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { +// AsDb2LinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { return nil, false } -// AsAzureSQLMITableDataset is the BasicDataset implementation for HTTPDataset. -func (hd HTTPDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { +// AsSybaseLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { return nil, false } -// AsAzureSQLTableDataset is the BasicDataset implementation for HTTPDataset. -func (hd HTTPDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { return nil, false } -// AsAzureTableDataset is the BasicDataset implementation for HTTPDataset. -func (hd HTTPDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { +// AsMySQLLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { return nil, false } -// AsAzureBlobDataset is the BasicDataset implementation for HTTPDataset. -func (hd HTTPDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) { +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { return nil, false } -// AsBinaryDataset is the BasicDataset implementation for HTTPDataset. -func (hd HTTPDataset) AsBinaryDataset() (*BinaryDataset, bool) { +// AsOracleLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { return nil, false } -// AsDelimitedTextDataset is the BasicDataset implementation for HTTPDataset. -func (hd HTTPDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { return nil, false } -// AsParquetDataset is the BasicDataset implementation for HTTPDataset. -func (hd HTTPDataset) AsParquetDataset() (*ParquetDataset, bool) { +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { return nil, false } -// AsAvroDataset is the BasicDataset implementation for HTTPDataset. -func (hd HTTPDataset) AsAvroDataset() (*AvroDataset, bool) { +// AsFileServerLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { return nil, false } -// AsAmazonS3Dataset is the BasicDataset implementation for HTTPDataset. -func (hd HTTPDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) { +// AsHDInsightLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { return nil, false } -// AsDataset is the BasicDataset implementation for HTTPDataset. -func (hd HTTPDataset) AsDataset() (*Dataset, bool) { +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { return nil, false } -// AsBasicDataset is the BasicDataset implementation for HTTPDataset. -func (hd HTTPDataset) AsBasicDataset() (BasicDataset, bool) { - return &hd, true +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false } -// UnmarshalJSON is the custom unmarshaler for HTTPDataset struct. -func (hd *HTTPDataset) UnmarshalJSON(body []byte) error { +// AsDynamicsLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for HdfsLinkedService. +func (hls HdfsLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &hls, true +} + +// UnmarshalJSON is the custom unmarshaler for HdfsLinkedService struct. +func (hls *HdfsLinkedService) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -95326,12 +100226,12 @@ func (hd *HTTPDataset) UnmarshalJSON(body []byte) error { switch k { case "typeProperties": if v != nil { - var HTTPDatasetTypeProperties HTTPDatasetTypeProperties - err = json.Unmarshal(*v, &HTTPDatasetTypeProperties) + var hdfsLinkedServiceTypeProperties HdfsLinkedServiceTypeProperties + err = json.Unmarshal(*v, &hdfsLinkedServiceTypeProperties) if err != nil { return err } - hd.HTTPDatasetTypeProperties = &HTTPDatasetTypeProperties + hls.HdfsLinkedServiceTypeProperties = &hdfsLinkedServiceTypeProperties } default: if v != nil { @@ -95340,10 +100240,19 @@ func (hd *HTTPDataset) UnmarshalJSON(body []byte) error { if err != nil { return err } - if hd.AdditionalProperties == nil { - hd.AdditionalProperties = make(map[string]interface{}) + if hls.AdditionalProperties == nil { + hls.AdditionalProperties = make(map[string]interface{}) } - hd.AdditionalProperties[k] = additionalProperties + hls.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + hls.ConnectVia = &connectVia } case "description": if v != nil { @@ -95352,70 +100261,191 @@ func (hd *HTTPDataset) UnmarshalJSON(body []byte) error { if err != nil { return err } - hd.Description = &description + hls.Description = &description } - case "structure": + case "parameters": if v != nil { - var structure interface{} - err = json.Unmarshal(*v, &structure) + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) if err != nil { return err } - hd.Structure = structure + hls.Parameters = parameters } - case "schema": + case "annotations": if v != nil { - var schema interface{} - err = json.Unmarshal(*v, &schema) + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) if err != nil { return err } - hd.Schema = schema + hls.Annotations = &annotations } - case "linkedServiceName": + case "type": if v != nil { - var linkedServiceName LinkedServiceReference - err = json.Unmarshal(*v, &linkedServiceName) + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - hd.LinkedServiceName = &linkedServiceName + hls.Type = typeVar } - case "parameters": + } + } + + return nil +} + +// HdfsLinkedServiceTypeProperties HDFS linked service properties. +type HdfsLinkedServiceTypeProperties struct { + // URL - The URL of the HDFS service endpoint, e.g. http://myhostname:50070/webhdfs/v1 . Type: string (or Expression with resultType string). + URL interface{} `json:"url,omitempty"` + // AuthenticationType - Type of authentication used to connect to the HDFS. Possible values are: Anonymous and Windows. Type: string (or Expression with resultType string). + AuthenticationType interface{} `json:"authenticationType,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` + // UserName - User name for Windows authentication. Type: string (or Expression with resultType string). + UserName interface{} `json:"userName,omitempty"` + // Password - Password for Windows authentication. + Password BasicSecretBase `json:"password,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for HdfsLinkedServiceTypeProperties struct. +func (hlstp *HdfsLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "url": if v != nil { - var parameters map[string]*ParameterSpecification - err = json.Unmarshal(*v, ¶meters) + var URL interface{} + err = json.Unmarshal(*v, &URL) if err != nil { return err } - hd.Parameters = parameters + hlstp.URL = URL } - case "annotations": + case "authenticationType": if v != nil { - var annotations []interface{} - err = json.Unmarshal(*v, &annotations) + var authenticationType interface{} + err = json.Unmarshal(*v, &authenticationType) if err != nil { return err } - hd.Annotations = &annotations + hlstp.AuthenticationType = authenticationType } - case "folder": + case "encryptedCredential": if v != nil { - var folder DatasetFolder - err = json.Unmarshal(*v, &folder) + var encryptedCredential interface{} + err = json.Unmarshal(*v, &encryptedCredential) if err != nil { return err } - hd.Folder = &folder + hlstp.EncryptedCredential = encryptedCredential + } + case "userName": + if v != nil { + var userName interface{} + err = json.Unmarshal(*v, &userName) + if err != nil { + return err + } + hlstp.UserName = userName + } + case "password": + if v != nil { + password, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + hlstp.Password = password + } + } + } + + return nil +} + +// HdfsLocation the location of HDFS. +type HdfsLocation struct { + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Type - Type of dataset storage location. + Type *string `json:"type,omitempty"` + // FolderPath - Specify the folder path of dataset. Type: string (or Expression with resultType string) + FolderPath interface{} `json:"folderPath,omitempty"` + // FileName - Specify the file name of dataset. Type: string (or Expression with resultType string). + FileName interface{} `json:"fileName,omitempty"` +} + +// MarshalJSON is the custom marshaler for HdfsLocation. +func (hl HdfsLocation) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if hl.Type != nil { + objectMap["type"] = hl.Type + } + if hl.FolderPath != nil { + objectMap["folderPath"] = hl.FolderPath + } + if hl.FileName != nil { + objectMap["fileName"] = hl.FileName + } + for k, v := range hl.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for HdfsLocation struct. +func (hl *HdfsLocation) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if hl.AdditionalProperties == nil { + hl.AdditionalProperties = make(map[string]interface{}) + } + hl.AdditionalProperties[k] = additionalProperties } case "type": if v != nil { - var typeVar TypeBasicDataset + var typeVar string err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - hd.Type = typeVar + hl.Type = &typeVar + } + case "folderPath": + if v != nil { + var folderPath interface{} + err = json.Unmarshal(*v, &folderPath) + if err != nil { + return err + } + hl.FolderPath = folderPath + } + case "fileName": + if v != nil { + var fileName interface{} + err = json.Unmarshal(*v, &fileName) + if err != nil { + return err + } + hl.FileName = fileName } } } @@ -95423,26 +100453,68 @@ func (hd *HTTPDataset) UnmarshalJSON(body []byte) error { return nil } -// HTTPDatasetTypeProperties properties specific to this dataset type. -type HTTPDatasetTypeProperties struct { - // RelativeURL - The relative URL based on the URL in the HttpLinkedService refers to an HTTP file Type: string (or Expression with resultType string). - RelativeURL interface{} `json:"relativeUrl,omitempty"` - // RequestMethod - The HTTP method for the HTTP request. Type: string (or Expression with resultType string). - RequestMethod interface{} `json:"requestMethod,omitempty"` - // RequestBody - The body for the HTTP request. Type: string (or Expression with resultType string). - RequestBody interface{} `json:"requestBody,omitempty"` - // AdditionalHeaders - The headers for the HTTP Request. e.g. request-header-name-1:request-header-value-1 - // ... - // request-header-name-n:request-header-value-n Type: string (or Expression with resultType string). - AdditionalHeaders interface{} `json:"additionalHeaders,omitempty"` - // Format - The format of files. - Format BasicDatasetStorageFormat `json:"format,omitempty"` - // Compression - The data compression method used on files. - Compression BasicDatasetCompression `json:"compression,omitempty"` +// HdfsReadSettings HDFS read settings. +type HdfsReadSettings struct { + // Recursive - If true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean). + Recursive interface{} `json:"recursive,omitempty"` + // WildcardFolderPath - HDFS wildcardFolderPath. Type: string (or Expression with resultType string). + WildcardFolderPath interface{} `json:"wildcardFolderPath,omitempty"` + // WildcardFileName - HDFS wildcardFileName. Type: string (or Expression with resultType string). + WildcardFileName interface{} `json:"wildcardFileName,omitempty"` + // EnablePartitionDiscovery - Indicates whether to enable partition discovery. + EnablePartitionDiscovery *bool `json:"enablePartitionDiscovery,omitempty"` + // ModifiedDatetimeStart - The start of file's modified datetime. Type: string (or Expression with resultType string). + ModifiedDatetimeStart interface{} `json:"modifiedDatetimeStart,omitempty"` + // ModifiedDatetimeEnd - The end of file's modified datetime. Type: string (or Expression with resultType string). + ModifiedDatetimeEnd interface{} `json:"modifiedDatetimeEnd,omitempty"` + // DistcpSettings - Specifies Distcp-related settings. + DistcpSettings *DistcpSettings `json:"distcpSettings,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Type - The read setting type. + Type *string `json:"type,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` } -// UnmarshalJSON is the custom unmarshaler for HTTPDatasetTypeProperties struct. -func (hdtp *HTTPDatasetTypeProperties) UnmarshalJSON(body []byte) error { +// MarshalJSON is the custom marshaler for HdfsReadSettings. +func (hrs HdfsReadSettings) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if hrs.Recursive != nil { + objectMap["recursive"] = hrs.Recursive + } + if hrs.WildcardFolderPath != nil { + objectMap["wildcardFolderPath"] = hrs.WildcardFolderPath + } + if hrs.WildcardFileName != nil { + objectMap["wildcardFileName"] = hrs.WildcardFileName + } + if hrs.EnablePartitionDiscovery != nil { + objectMap["enablePartitionDiscovery"] = hrs.EnablePartitionDiscovery + } + if hrs.ModifiedDatetimeStart != nil { + objectMap["modifiedDatetimeStart"] = hrs.ModifiedDatetimeStart + } + if hrs.ModifiedDatetimeEnd != nil { + objectMap["modifiedDatetimeEnd"] = hrs.ModifiedDatetimeEnd + } + if hrs.DistcpSettings != nil { + objectMap["distcpSettings"] = hrs.DistcpSettings + } + if hrs.Type != nil { + objectMap["type"] = hrs.Type + } + if hrs.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = hrs.MaxConcurrentConnections + } + for k, v := range hrs.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for HdfsReadSettings struct. +func (hrs *HdfsReadSettings) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -95450,57 +100522,98 @@ func (hdtp *HTTPDatasetTypeProperties) UnmarshalJSON(body []byte) error { } for k, v := range m { switch k { - case "relativeUrl": + case "recursive": if v != nil { - var relativeURL interface{} - err = json.Unmarshal(*v, &relativeURL) + var recursive interface{} + err = json.Unmarshal(*v, &recursive) if err != nil { return err } - hdtp.RelativeURL = relativeURL + hrs.Recursive = recursive } - case "requestMethod": + case "wildcardFolderPath": if v != nil { - var requestMethod interface{} - err = json.Unmarshal(*v, &requestMethod) + var wildcardFolderPath interface{} + err = json.Unmarshal(*v, &wildcardFolderPath) if err != nil { return err } - hdtp.RequestMethod = requestMethod + hrs.WildcardFolderPath = wildcardFolderPath } - case "requestBody": + case "wildcardFileName": if v != nil { - var requestBody interface{} - err = json.Unmarshal(*v, &requestBody) + var wildcardFileName interface{} + err = json.Unmarshal(*v, &wildcardFileName) if err != nil { return err } - hdtp.RequestBody = requestBody + hrs.WildcardFileName = wildcardFileName } - case "additionalHeaders": + case "enablePartitionDiscovery": if v != nil { - var additionalHeaders interface{} - err = json.Unmarshal(*v, &additionalHeaders) + var enablePartitionDiscovery bool + err = json.Unmarshal(*v, &enablePartitionDiscovery) if err != nil { return err } - hdtp.AdditionalHeaders = additionalHeaders + hrs.EnablePartitionDiscovery = &enablePartitionDiscovery } - case "format": + case "modifiedDatetimeStart": if v != nil { - formatVar, err := unmarshalBasicDatasetStorageFormat(*v) + var modifiedDatetimeStart interface{} + err = json.Unmarshal(*v, &modifiedDatetimeStart) if err != nil { return err } - hdtp.Format = formatVar + hrs.ModifiedDatetimeStart = modifiedDatetimeStart } - case "compression": + case "modifiedDatetimeEnd": if v != nil { - compression, err := unmarshalBasicDatasetCompression(*v) + var modifiedDatetimeEnd interface{} + err = json.Unmarshal(*v, &modifiedDatetimeEnd) if err != nil { return err } - hdtp.Compression = compression + hrs.ModifiedDatetimeEnd = modifiedDatetimeEnd + } + case "distcpSettings": + if v != nil { + var distcpSettings DistcpSettings + err = json.Unmarshal(*v, &distcpSettings) + if err != nil { + return err + } + hrs.DistcpSettings = &distcpSettings + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if hrs.AdditionalProperties == nil { + hrs.AdditionalProperties = make(map[string]interface{}) + } + hrs.AdditionalProperties[k] = additionalProperties + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + hrs.Type = &typeVar + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + hrs.MaxConcurrentConnections = maxConcurrentConnections } } } @@ -95508,519 +100621,504 @@ func (hdtp *HTTPDatasetTypeProperties) UnmarshalJSON(body []byte) error { return nil } -// HTTPLinkedService linked service for an HTTP source. -type HTTPLinkedService struct { - // HTTPLinkedServiceTypeProperties - Properties specific to this linked service type. - *HTTPLinkedServiceTypeProperties `json:"typeProperties,omitempty"` +// HdfsSource a copy activity HDFS source. +type HdfsSource struct { + // Recursive - If true, files under the folder path will be read recursively. Default is true. Type: boolean (or Expression with resultType boolean). + Recursive interface{} `json:"recursive,omitempty"` + // DistcpSettings - Specifies Distcp-related settings. + DistcpSettings *DistcpSettings `json:"distcpSettings,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` - // ConnectVia - The integration runtime reference. - ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` - // Description - Linked service description. - Description *string `json:"description,omitempty"` - // Parameters - Parameters for linked service. - Parameters map[string]*ParameterSpecification `json:"parameters"` - // Annotations - List of tags that can be used for describing the linked service. - Annotations *[]interface{} `json:"annotations,omitempty"` - // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' - Type TypeBasicLinkedService `json:"type,omitempty"` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' + Type TypeBasicCopySource `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for HTTPLinkedService. -func (hls HTTPLinkedService) MarshalJSON() ([]byte, error) { - hls.Type = TypeHTTPServer +// MarshalJSON is the custom marshaler for HdfsSource. +func (hs HdfsSource) MarshalJSON() ([]byte, error) { + hs.Type = TypeHdfsSource objectMap := make(map[string]interface{}) - if hls.HTTPLinkedServiceTypeProperties != nil { - objectMap["typeProperties"] = hls.HTTPLinkedServiceTypeProperties + if hs.Recursive != nil { + objectMap["recursive"] = hs.Recursive } - if hls.ConnectVia != nil { - objectMap["connectVia"] = hls.ConnectVia + if hs.DistcpSettings != nil { + objectMap["distcpSettings"] = hs.DistcpSettings } - if hls.Description != nil { - objectMap["description"] = hls.Description + if hs.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = hs.SourceRetryCount } - if hls.Parameters != nil { - objectMap["parameters"] = hls.Parameters + if hs.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = hs.SourceRetryWait } - if hls.Annotations != nil { - objectMap["annotations"] = hls.Annotations + if hs.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = hs.MaxConcurrentConnections } - if hls.Type != "" { - objectMap["type"] = hls.Type + if hs.Type != "" { + objectMap["type"] = hs.Type } - for k, v := range hls.AdditionalProperties { + for k, v := range hs.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsAzureFunctionLinkedService is the BasicLinkedService implementation for HTTPLinkedService. -func (hls HTTPLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { - return nil, false -} - -// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for HTTPLinkedService. -func (hls HTTPLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { - return nil, false -} - -// AsSapTableLinkedService is the BasicLinkedService implementation for HTTPLinkedService. -func (hls HTTPLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { +// AsHTTPSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsHTTPSource() (*HTTPSource, bool) { return nil, false } -// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for HTTPLinkedService. -func (hls HTTPLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { +// AsAzureBlobFSSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { return nil, false } -// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for HTTPLinkedService. -func (hls HTTPLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { return nil, false } -// AsDynamicsAXLinkedService is the BasicLinkedService implementation for HTTPLinkedService. -func (hls HTTPLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { +// AsOffice365Source is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsOffice365Source() (*Office365Source, bool) { return nil, false } -// AsResponsysLinkedService is the BasicLinkedService implementation for HTTPLinkedService. -func (hls HTTPLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { return nil, false } -// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for HTTPLinkedService. -func (hls HTTPLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { +// AsMongoDbV2Source is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { return nil, false } -// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for HTTPLinkedService. -func (hls HTTPLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { +// AsMongoDbSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsMongoDbSource() (*MongoDbSource, bool) { return nil, false } -// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for HTTPLinkedService. -func (hls HTTPLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { +// AsWebSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsWebSource() (*WebSource, bool) { return nil, false } -// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for HTTPLinkedService. -func (hls HTTPLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { +// AsOracleSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsOracleSource() (*OracleSource, bool) { return nil, false } -// AsNetezzaLinkedService is the BasicLinkedService implementation for HTTPLinkedService. -func (hls HTTPLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { +// AsAzureDataExplorerSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { return nil, false } -// AsVerticaLinkedService is the BasicLinkedService implementation for HTTPLinkedService. -func (hls HTTPLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { - return nil, false +// AsHdfsSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsHdfsSource() (*HdfsSource, bool) { + return &hs, true } -// AsZohoLinkedService is the BasicLinkedService implementation for HTTPLinkedService. -func (hls HTTPLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { +// AsFileSystemSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsFileSystemSource() (*FileSystemSource, bool) { return nil, false } -// AsXeroLinkedService is the BasicLinkedService implementation for HTTPLinkedService. -func (hls HTTPLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { +// AsRestSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsRestSource() (*RestSource, bool) { return nil, false } -// AsSquareLinkedService is the BasicLinkedService implementation for HTTPLinkedService. -func (hls HTTPLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { return nil, false } -// AsSparkLinkedService is the BasicLinkedService implementation for HTTPLinkedService. -func (hls HTTPLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { +// AsODataSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsODataSource() (*ODataSource, bool) { return nil, false } -// AsShopifyLinkedService is the BasicLinkedService implementation for HTTPLinkedService. -func (hls HTTPLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { +// AsMicrosoftAccessSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { return nil, false } -// AsServiceNowLinkedService is the BasicLinkedService implementation for HTTPLinkedService. -func (hls HTTPLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { +// AsRelationalSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsRelationalSource() (*RelationalSource, bool) { return nil, false } -// AsQuickBooksLinkedService is the BasicLinkedService implementation for HTTPLinkedService. -func (hls HTTPLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { return nil, false } -// AsPrestoLinkedService is the BasicLinkedService implementation for HTTPLinkedService. -func (hls HTTPLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { +// AsDynamicsCrmSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { return nil, false } -// AsPhoenixLinkedService is the BasicLinkedService implementation for HTTPLinkedService. -func (hls HTTPLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { +// AsDynamicsSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsDynamicsSource() (*DynamicsSource, bool) { return nil, false } -// AsPaypalLinkedService is the BasicLinkedService implementation for HTTPLinkedService. -func (hls HTTPLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { return nil, false } -// AsMarketoLinkedService is the BasicLinkedService implementation for HTTPLinkedService. -func (hls HTTPLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { +// AsDocumentDbCollectionSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { return nil, false } -// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for HTTPLinkedService. -func (hls HTTPLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { +// AsBlobSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsBlobSource() (*BlobSource, bool) { return nil, false } -// AsMariaDBLinkedService is the BasicLinkedService implementation for HTTPLinkedService. -func (hls HTTPLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { +// AsAmazonRedshiftSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { return nil, false } -// AsMagentoLinkedService is the BasicLinkedService implementation for HTTPLinkedService. -func (hls HTTPLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { +// AsGoogleAdWordsSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { return nil, false } -// AsJiraLinkedService is the BasicLinkedService implementation for HTTPLinkedService. -func (hls HTTPLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { +// AsOracleServiceCloudSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { return nil, false } -// AsImpalaLinkedService is the BasicLinkedService implementation for HTTPLinkedService. -func (hls HTTPLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { +// AsDynamicsAXSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { return nil, false } -// AsHubspotLinkedService is the BasicLinkedService implementation for HTTPLinkedService. -func (hls HTTPLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { +// AsResponsysSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsResponsysSource() (*ResponsysSource, bool) { return nil, false } -// AsHiveLinkedService is the BasicLinkedService implementation for HTTPLinkedService. -func (hls HTTPLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { return nil, false } -// AsHBaseLinkedService is the BasicLinkedService implementation for HTTPLinkedService. -func (hls HTTPLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { +// AsVerticaSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsVerticaSource() (*VerticaSource, bool) { return nil, false } -// AsGreenplumLinkedService is the BasicLinkedService implementation for HTTPLinkedService. -func (hls HTTPLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { +// AsNetezzaSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsNetezzaSource() (*NetezzaSource, bool) { return nil, false } -// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for HTTPLinkedService. -func (hls HTTPLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { +// AsZohoSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsZohoSource() (*ZohoSource, bool) { return nil, false } -// AsEloquaLinkedService is the BasicLinkedService implementation for HTTPLinkedService. -func (hls HTTPLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { +// AsXeroSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsXeroSource() (*XeroSource, bool) { return nil, false } -// AsDrillLinkedService is the BasicLinkedService implementation for HTTPLinkedService. -func (hls HTTPLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { +// AsSquareSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsSquareSource() (*SquareSource, bool) { return nil, false } -// AsCouchbaseLinkedService is the BasicLinkedService implementation for HTTPLinkedService. -func (hls HTTPLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { +// AsSparkSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsSparkSource() (*SparkSource, bool) { return nil, false } -// AsConcurLinkedService is the BasicLinkedService implementation for HTTPLinkedService. -func (hls HTTPLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { +// AsShopifySource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsShopifySource() (*ShopifySource, bool) { return nil, false } -// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for HTTPLinkedService. -func (hls HTTPLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { +// AsServiceNowSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsServiceNowSource() (*ServiceNowSource, bool) { return nil, false } -// AsAmazonMWSLinkedService is the BasicLinkedService implementation for HTTPLinkedService. -func (hls HTTPLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { +// AsQuickBooksSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsQuickBooksSource() (*QuickBooksSource, bool) { return nil, false } -// AsSapHanaLinkedService is the BasicLinkedService implementation for HTTPLinkedService. -func (hls HTTPLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { +// AsPrestoSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsPrestoSource() (*PrestoSource, bool) { return nil, false } -// AsSapBWLinkedService is the BasicLinkedService implementation for HTTPLinkedService. -func (hls HTTPLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { +// AsPhoenixSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsPhoenixSource() (*PhoenixSource, bool) { return nil, false } -// AsSftpServerLinkedService is the BasicLinkedService implementation for HTTPLinkedService. -func (hls HTTPLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { +// AsPaypalSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsPaypalSource() (*PaypalSource, bool) { return nil, false } -// AsFtpServerLinkedService is the BasicLinkedService implementation for HTTPLinkedService. -func (hls HTTPLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { +// AsMarketoSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsMarketoSource() (*MarketoSource, bool) { return nil, false } -// AsHTTPLinkedService is the BasicLinkedService implementation for HTTPLinkedService. -func (hls HTTPLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { - return &hls, true -} - -// AsAzureSearchLinkedService is the BasicLinkedService implementation for HTTPLinkedService. -func (hls HTTPLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { +// AsAzureMariaDBSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { return nil, false } -// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for HTTPLinkedService. -func (hls HTTPLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { +// AsMariaDBSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsMariaDBSource() (*MariaDBSource, bool) { return nil, false } -// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for HTTPLinkedService. -func (hls HTTPLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { +// AsMagentoSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsMagentoSource() (*MagentoSource, bool) { return nil, false } -// AsAmazonS3LinkedService is the BasicLinkedService implementation for HTTPLinkedService. -func (hls HTTPLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { +// AsJiraSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsJiraSource() (*JiraSource, bool) { return nil, false } -// AsRestServiceLinkedService is the BasicLinkedService implementation for HTTPLinkedService. -func (hls HTTPLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { +// AsImpalaSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsImpalaSource() (*ImpalaSource, bool) { return nil, false } -// AsSapOpenHubLinkedService is the BasicLinkedService implementation for HTTPLinkedService. -func (hls HTTPLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { +// AsHubspotSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsHubspotSource() (*HubspotSource, bool) { return nil, false } -// AsSapEccLinkedService is the BasicLinkedService implementation for HTTPLinkedService. -func (hls HTTPLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { +// AsHiveSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsHiveSource() (*HiveSource, bool) { return nil, false } -// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for HTTPLinkedService. -func (hls HTTPLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { +// AsHBaseSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsHBaseSource() (*HBaseSource, bool) { return nil, false } -// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for HTTPLinkedService. -func (hls HTTPLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { +// AsGreenplumSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsGreenplumSource() (*GreenplumSource, bool) { return nil, false } -// AsSalesforceLinkedService is the BasicLinkedService implementation for HTTPLinkedService. -func (hls HTTPLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { +// AsGoogleBigQuerySource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { return nil, false } -// AsOffice365LinkedService is the BasicLinkedService implementation for HTTPLinkedService. -func (hls HTTPLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { +// AsEloquaSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsEloquaSource() (*EloquaSource, bool) { return nil, false } -// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for HTTPLinkedService. -func (hls HTTPLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { +// AsDrillSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsDrillSource() (*DrillSource, bool) { return nil, false } -// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for HTTPLinkedService. -func (hls HTTPLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { +// AsCouchbaseSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsCouchbaseSource() (*CouchbaseSource, bool) { return nil, false } -// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for HTTPLinkedService. -func (hls HTTPLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { +// AsConcurSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsConcurSource() (*ConcurSource, bool) { return nil, false } -// AsMongoDbV2LinkedService is the BasicLinkedService implementation for HTTPLinkedService. -func (hls HTTPLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { +// AsAzurePostgreSQLSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { return nil, false } -// AsMongoDbLinkedService is the BasicLinkedService implementation for HTTPLinkedService. -func (hls HTTPLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { +// AsAmazonMWSSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { return nil, false } -// AsCassandraLinkedService is the BasicLinkedService implementation for HTTPLinkedService. -func (hls HTTPLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { +// AsCassandraSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsCassandraSource() (*CassandraSource, bool) { return nil, false } -// AsWebLinkedService is the BasicLinkedService implementation for HTTPLinkedService. -func (hls HTTPLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { +// AsTeradataSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsTeradataSource() (*TeradataSource, bool) { return nil, false } -// AsODataLinkedService is the BasicLinkedService implementation for HTTPLinkedService. -func (hls HTTPLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { +// AsAzureMySQLSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { return nil, false } -// AsHdfsLinkedService is the BasicLinkedService implementation for HTTPLinkedService. -func (hls HTTPLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { +// AsSQLDWSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsSQLDWSource() (*SQLDWSource, bool) { return nil, false } -// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for HTTPLinkedService. -func (hls HTTPLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { +// AsSQLMISource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsSQLMISource() (*SQLMISource, bool) { return nil, false } -// AsInformixLinkedService is the BasicLinkedService implementation for HTTPLinkedService. -func (hls HTTPLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { +// AsAzureSQLSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsAzureSQLSource() (*AzureSQLSource, bool) { return nil, false } -// AsOdbcLinkedService is the BasicLinkedService implementation for HTTPLinkedService. -func (hls HTTPLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { +// AsSQLServerSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsSQLServerSource() (*SQLServerSource, bool) { return nil, false } -// AsAzureMLLinkedService is the BasicLinkedService implementation for HTTPLinkedService. -func (hls HTTPLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { +// AsSQLSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsSQLSource() (*SQLSource, bool) { return nil, false } -// AsTeradataLinkedService is the BasicLinkedService implementation for HTTPLinkedService. -func (hls HTTPLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { +// AsSapTableSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsSapTableSource() (*SapTableSource, bool) { return nil, false } -// AsDb2LinkedService is the BasicLinkedService implementation for HTTPLinkedService. -func (hls HTTPLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { +// AsSapOpenHubSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { return nil, false } -// AsSybaseLinkedService is the BasicLinkedService implementation for HTTPLinkedService. -func (hls HTTPLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { +// AsSapHanaSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsSapHanaSource() (*SapHanaSource, bool) { return nil, false } -// AsPostgreSQLLinkedService is the BasicLinkedService implementation for HTTPLinkedService. -func (hls HTTPLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { +// AsSapEccSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsSapEccSource() (*SapEccSource, bool) { return nil, false } -// AsMySQLLinkedService is the BasicLinkedService implementation for HTTPLinkedService. -func (hls HTTPLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { +// AsSapCloudForCustomerSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { return nil, false } -// AsAzureMySQLLinkedService is the BasicLinkedService implementation for HTTPLinkedService. -func (hls HTTPLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { +// AsSalesforceSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsSalesforceSource() (*SalesforceSource, bool) { return nil, false } -// AsOracleLinkedService is the BasicLinkedService implementation for HTTPLinkedService. -func (hls HTTPLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { +// AsSapBwSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsSapBwSource() (*SapBwSource, bool) { return nil, false } -// AsFileServerLinkedService is the BasicLinkedService implementation for HTTPLinkedService. -func (hls HTTPLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { +// AsSybaseSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsSybaseSource() (*SybaseSource, bool) { return nil, false } -// AsHDInsightLinkedService is the BasicLinkedService implementation for HTTPLinkedService. -func (hls HTTPLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { +// AsPostgreSQLSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { return nil, false } -// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for HTTPLinkedService. -func (hls HTTPLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { +// AsMySQLSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsMySQLSource() (*MySQLSource, bool) { return nil, false } -// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for HTTPLinkedService. -func (hls HTTPLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { +// AsOdbcSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsOdbcSource() (*OdbcSource, bool) { return nil, false } -// AsDynamicsLinkedService is the BasicLinkedService implementation for HTTPLinkedService. -func (hls HTTPLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { +// AsDb2Source is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsDb2Source() (*Db2Source, bool) { return nil, false } -// AsCosmosDbLinkedService is the BasicLinkedService implementation for HTTPLinkedService. -func (hls HTTPLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { +// AsInformixSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsInformixSource() (*InformixSource, bool) { return nil, false } -// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for HTTPLinkedService. -func (hls HTTPLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { +// AsAzureTableSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsAzureTableSource() (*AzureTableSource, bool) { return nil, false } -// AsAzureBatchLinkedService is the BasicLinkedService implementation for HTTPLinkedService. -func (hls HTTPLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { +// AsTabularSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsTabularSource() (*TabularSource, bool) { return nil, false } -// AsAzureSQLMILinkedService is the BasicLinkedService implementation for HTTPLinkedService. -func (hls HTTPLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { +// AsBasicTabularSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsBasicTabularSource() (BasicTabularSource, bool) { return nil, false } -// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for HTTPLinkedService. -func (hls HTTPLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { +// AsBinarySource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsBinarySource() (*BinarySource, bool) { return nil, false } -// AsSQLServerLinkedService is the BasicLinkedService implementation for HTTPLinkedService. -func (hls HTTPLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { +// AsOrcSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsOrcSource() (*OrcSource, bool) { return nil, false } -// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for HTTPLinkedService. -func (hls HTTPLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { +// AsJSONSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsJSONSource() (*JSONSource, bool) { return nil, false } -// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for HTTPLinkedService. -func (hls HTTPLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { +// AsDelimitedTextSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { return nil, false } -// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for HTTPLinkedService. -func (hls HTTPLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { +// AsParquetSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsParquetSource() (*ParquetSource, bool) { return nil, false } -// AsAzureStorageLinkedService is the BasicLinkedService implementation for HTTPLinkedService. -func (hls HTTPLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { +// AsAvroSource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsAvroSource() (*AvroSource, bool) { return nil, false } -// AsLinkedService is the BasicLinkedService implementation for HTTPLinkedService. -func (hls HTTPLinkedService) AsLinkedService() (*LinkedService, bool) { +// AsCopySource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsCopySource() (*CopySource, bool) { return nil, false } -// AsBasicLinkedService is the BasicLinkedService implementation for HTTPLinkedService. -func (hls HTTPLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { - return &hls, true +// AsBasicCopySource is the BasicCopySource implementation for HdfsSource. +func (hs HdfsSource) AsBasicCopySource() (BasicCopySource, bool) { + return &hs, true } -// UnmarshalJSON is the custom unmarshaler for HTTPLinkedService struct. -func (hls *HTTPLinkedService) UnmarshalJSON(body []byte) error { +// UnmarshalJSON is the custom unmarshaler for HdfsSource struct. +func (hs *HdfsSource) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -96028,71 +101126,71 @@ func (hls *HTTPLinkedService) UnmarshalJSON(body []byte) error { } for k, v := range m { switch k { - case "typeProperties": + case "recursive": if v != nil { - var HTTPLinkedServiceTypeProperties HTTPLinkedServiceTypeProperties - err = json.Unmarshal(*v, &HTTPLinkedServiceTypeProperties) + var recursive interface{} + err = json.Unmarshal(*v, &recursive) if err != nil { return err } - hls.HTTPLinkedServiceTypeProperties = &HTTPLinkedServiceTypeProperties + hs.Recursive = recursive } - default: + case "distcpSettings": if v != nil { - var additionalProperties interface{} - err = json.Unmarshal(*v, &additionalProperties) + var distcpSettings DistcpSettings + err = json.Unmarshal(*v, &distcpSettings) if err != nil { return err } - if hls.AdditionalProperties == nil { - hls.AdditionalProperties = make(map[string]interface{}) - } - hls.AdditionalProperties[k] = additionalProperties + hs.DistcpSettings = &distcpSettings } - case "connectVia": + default: if v != nil { - var connectVia IntegrationRuntimeReference - err = json.Unmarshal(*v, &connectVia) + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) if err != nil { return err } - hls.ConnectVia = &connectVia + if hs.AdditionalProperties == nil { + hs.AdditionalProperties = make(map[string]interface{}) + } + hs.AdditionalProperties[k] = additionalProperties } - case "description": + case "sourceRetryCount": if v != nil { - var description string - err = json.Unmarshal(*v, &description) + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) if err != nil { return err } - hls.Description = &description + hs.SourceRetryCount = sourceRetryCount } - case "parameters": + case "sourceRetryWait": if v != nil { - var parameters map[string]*ParameterSpecification - err = json.Unmarshal(*v, ¶meters) + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) if err != nil { return err } - hls.Parameters = parameters + hs.SourceRetryWait = sourceRetryWait } - case "annotations": + case "maxConcurrentConnections": if v != nil { - var annotations []interface{} - err = json.Unmarshal(*v, &annotations) + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) if err != nil { return err } - hls.Annotations = &annotations + hs.MaxConcurrentConnections = maxConcurrentConnections } case "type": if v != nil { - var typeVar TypeBasicLinkedService + var typeVar TypeBasicCopySource err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - hls.Type = typeVar + hs.Type = typeVar } } } @@ -96100,159 +101198,264 @@ func (hls *HTTPLinkedService) UnmarshalJSON(body []byte) error { return nil } -// HTTPLinkedServiceTypeProperties properties specific to this linked service type. -type HTTPLinkedServiceTypeProperties struct { - // URL - The base URL of the HTTP endpoint, e.g. http://www.microsoft.com. Type: string (or Expression with resultType string). - URL interface{} `json:"url,omitempty"` - // AuthenticationType - The authentication type to be used to connect to the HTTP server. Possible values include: 'HTTPAuthenticationTypeBasic', 'HTTPAuthenticationTypeAnonymous', 'HTTPAuthenticationTypeDigest', 'HTTPAuthenticationTypeWindows', 'HTTPAuthenticationTypeClientCertificate' - AuthenticationType HTTPAuthenticationType `json:"authenticationType,omitempty"` - // UserName - User name for Basic, Digest, or Windows authentication. Type: string (or Expression with resultType string). - UserName interface{} `json:"userName,omitempty"` - // Password - Password for Basic, Digest, Windows, or ClientCertificate with EmbeddedCertData authentication. - Password BasicSecretBase `json:"password,omitempty"` - // EmbeddedCertData - Base64 encoded certificate data for ClientCertificate authentication. For on-premises copy with ClientCertificate authentication, either CertThumbprint or EmbeddedCertData/Password should be specified. Type: string (or Expression with resultType string). - EmbeddedCertData interface{} `json:"embeddedCertData,omitempty"` - // CertThumbprint - Thumbprint of certificate for ClientCertificate authentication. Only valid for on-premises copy. For on-premises copy with ClientCertificate authentication, either CertThumbprint or EmbeddedCertData/Password should be specified. Type: string (or Expression with resultType string). - CertThumbprint interface{} `json:"certThumbprint,omitempty"` - // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). - EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` - // EnableServerCertificateValidation - If true, validate the HTTPS server SSL certificate. Default value is true. Type: boolean (or Expression with resultType boolean). - EnableServerCertificateValidation interface{} `json:"enableServerCertificateValidation,omitempty"` +// HDInsightHiveActivity hDInsight Hive activity type. +type HDInsightHiveActivity struct { + // HDInsightHiveActivityTypeProperties - HDInsight Hive activity properties. + *HDInsightHiveActivityTypeProperties `json:"typeProperties,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Policy - Activity policy. + Policy *ActivityPolicy `json:"policy,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Name - Activity name. + Name *string `json:"name,omitempty"` + // Description - Activity description. + Description *string `json:"description,omitempty"` + // DependsOn - Activity depends on condition. + DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"` + // UserProperties - Activity user properties. + UserProperties *[]UserProperty `json:"userProperties,omitempty"` + // Type - Possible values include: 'TypeActivity', 'TypeExecuteDataFlow', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLExecutePipeline', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeSwitch', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer' + Type TypeBasicActivity `json:"type,omitempty"` } -// UnmarshalJSON is the custom unmarshaler for HTTPLinkedServiceTypeProperties struct. -func (hlstp *HTTPLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err +// MarshalJSON is the custom marshaler for HDInsightHiveActivity. +func (hiha HDInsightHiveActivity) MarshalJSON() ([]byte, error) { + hiha.Type = TypeHDInsightHive + objectMap := make(map[string]interface{}) + if hiha.HDInsightHiveActivityTypeProperties != nil { + objectMap["typeProperties"] = hiha.HDInsightHiveActivityTypeProperties } - for k, v := range m { - switch k { - case "url": - if v != nil { - var URL interface{} - err = json.Unmarshal(*v, &URL) - if err != nil { - return err - } - hlstp.URL = URL - } - case "authenticationType": - if v != nil { - var authenticationType HTTPAuthenticationType - err = json.Unmarshal(*v, &authenticationType) - if err != nil { - return err - } - hlstp.AuthenticationType = authenticationType - } - case "userName": - if v != nil { - var userName interface{} - err = json.Unmarshal(*v, &userName) - if err != nil { - return err - } - hlstp.UserName = userName - } - case "password": - if v != nil { - password, err := unmarshalBasicSecretBase(*v) - if err != nil { - return err - } - hlstp.Password = password - } - case "embeddedCertData": - if v != nil { - var embeddedCertData interface{} - err = json.Unmarshal(*v, &embeddedCertData) - if err != nil { - return err - } - hlstp.EmbeddedCertData = embeddedCertData - } - case "certThumbprint": - if v != nil { - var certThumbprint interface{} - err = json.Unmarshal(*v, &certThumbprint) - if err != nil { - return err - } - hlstp.CertThumbprint = certThumbprint - } - case "encryptedCredential": - if v != nil { - var encryptedCredential interface{} - err = json.Unmarshal(*v, &encryptedCredential) - if err != nil { - return err - } - hlstp.EncryptedCredential = encryptedCredential - } - case "enableServerCertificateValidation": - if v != nil { - var enableServerCertificateValidation interface{} - err = json.Unmarshal(*v, &enableServerCertificateValidation) - if err != nil { - return err - } - hlstp.EnableServerCertificateValidation = enableServerCertificateValidation - } - } + if hiha.LinkedServiceName != nil { + objectMap["linkedServiceName"] = hiha.LinkedServiceName } - - return nil -} - -// HTTPReadSettings sftp read settings. -type HTTPReadSettings struct { - // RequestMethod - The HTTP method used to call the RESTful API. The default is GET. Type: string (or Expression with resultType string). - RequestMethod interface{} `json:"requestMethod,omitempty"` - // RequestBody - The HTTP request body to the RESTful API if requestMethod is POST. Type: string (or Expression with resultType string). - RequestBody interface{} `json:"requestBody,omitempty"` - // AdditionalHeaders - The additional HTTP headers in the request to the RESTful API. Type: string (or Expression with resultType string). - AdditionalHeaders interface{} `json:"additionalHeaders,omitempty"` - // RequestTimeout - Specifies the timeout for a HTTP client to get HTTP response from HTTP server. - RequestTimeout interface{} `json:"requestTimeout,omitempty"` - // AdditionalProperties - Unmatched properties from the message are deserialized this collection - AdditionalProperties map[string]interface{} `json:""` - // Type - The read setting type. - Type *string `json:"type,omitempty"` - // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). - MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` -} - -// MarshalJSON is the custom marshaler for HTTPReadSettings. -func (hrs HTTPReadSettings) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - if hrs.RequestMethod != nil { - objectMap["requestMethod"] = hrs.RequestMethod + if hiha.Policy != nil { + objectMap["policy"] = hiha.Policy } - if hrs.RequestBody != nil { - objectMap["requestBody"] = hrs.RequestBody + if hiha.Name != nil { + objectMap["name"] = hiha.Name } - if hrs.AdditionalHeaders != nil { - objectMap["additionalHeaders"] = hrs.AdditionalHeaders + if hiha.Description != nil { + objectMap["description"] = hiha.Description } - if hrs.RequestTimeout != nil { - objectMap["requestTimeout"] = hrs.RequestTimeout + if hiha.DependsOn != nil { + objectMap["dependsOn"] = hiha.DependsOn } - if hrs.Type != nil { - objectMap["type"] = hrs.Type + if hiha.UserProperties != nil { + objectMap["userProperties"] = hiha.UserProperties } - if hrs.MaxConcurrentConnections != nil { - objectMap["maxConcurrentConnections"] = hrs.MaxConcurrentConnections + if hiha.Type != "" { + objectMap["type"] = hiha.Type } - for k, v := range hrs.AdditionalProperties { + for k, v := range hiha.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// UnmarshalJSON is the custom unmarshaler for HTTPReadSettings struct. -func (hrs *HTTPReadSettings) UnmarshalJSON(body []byte) error { +// AsExecuteDataFlowActivity is the BasicActivity implementation for HDInsightHiveActivity. +func (hiha HDInsightHiveActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) { + return nil, false +} + +// AsAzureFunctionActivity is the BasicActivity implementation for HDInsightHiveActivity. +func (hiha HDInsightHiveActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) { + return nil, false +} + +// AsDatabricksSparkPythonActivity is the BasicActivity implementation for HDInsightHiveActivity. +func (hiha HDInsightHiveActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) { + return nil, false +} + +// AsDatabricksSparkJarActivity is the BasicActivity implementation for HDInsightHiveActivity. +func (hiha HDInsightHiveActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) { + return nil, false +} + +// AsDatabricksNotebookActivity is the BasicActivity implementation for HDInsightHiveActivity. +func (hiha HDInsightHiveActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) { + return nil, false +} + +// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for HDInsightHiveActivity. +func (hiha HDInsightHiveActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) { + return nil, false +} + +// AsAzureMLExecutePipelineActivity is the BasicActivity implementation for HDInsightHiveActivity. +func (hiha HDInsightHiveActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) { + return nil, false +} + +// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for HDInsightHiveActivity. +func (hiha HDInsightHiveActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) { + return nil, false +} + +// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for HDInsightHiveActivity. +func (hiha HDInsightHiveActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) { + return nil, false +} + +// AsGetMetadataActivity is the BasicActivity implementation for HDInsightHiveActivity. +func (hiha HDInsightHiveActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) { + return nil, false +} + +// AsWebActivity is the BasicActivity implementation for HDInsightHiveActivity. +func (hiha HDInsightHiveActivity) AsWebActivity() (*WebActivity, bool) { + return nil, false +} + +// AsLookupActivity is the BasicActivity implementation for HDInsightHiveActivity. +func (hiha HDInsightHiveActivity) AsLookupActivity() (*LookupActivity, bool) { + return nil, false +} + +// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for HDInsightHiveActivity. +func (hiha HDInsightHiveActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) { + return nil, false +} + +// AsDeleteActivity is the BasicActivity implementation for HDInsightHiveActivity. +func (hiha HDInsightHiveActivity) AsDeleteActivity() (*DeleteActivity, bool) { + return nil, false +} + +// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for HDInsightHiveActivity. +func (hiha HDInsightHiveActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) { + return nil, false +} + +// AsCustomActivity is the BasicActivity implementation for HDInsightHiveActivity. +func (hiha HDInsightHiveActivity) AsCustomActivity() (*CustomActivity, bool) { + return nil, false +} + +// AsExecuteSSISPackageActivity is the BasicActivity implementation for HDInsightHiveActivity. +func (hiha HDInsightHiveActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) { + return nil, false +} + +// AsHDInsightSparkActivity is the BasicActivity implementation for HDInsightHiveActivity. +func (hiha HDInsightHiveActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) { + return nil, false +} + +// AsHDInsightStreamingActivity is the BasicActivity implementation for HDInsightHiveActivity. +func (hiha HDInsightHiveActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) { + return nil, false +} + +// AsHDInsightMapReduceActivity is the BasicActivity implementation for HDInsightHiveActivity. +func (hiha HDInsightHiveActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) { + return nil, false +} + +// AsHDInsightPigActivity is the BasicActivity implementation for HDInsightHiveActivity. +func (hiha HDInsightHiveActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) { + return nil, false +} + +// AsHDInsightHiveActivity is the BasicActivity implementation for HDInsightHiveActivity. +func (hiha HDInsightHiveActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) { + return &hiha, true +} + +// AsCopyActivity is the BasicActivity implementation for HDInsightHiveActivity. +func (hiha HDInsightHiveActivity) AsCopyActivity() (*CopyActivity, bool) { + return nil, false +} + +// AsExecutionActivity is the BasicActivity implementation for HDInsightHiveActivity. +func (hiha HDInsightHiveActivity) AsExecutionActivity() (*ExecutionActivity, bool) { + return nil, false +} + +// AsBasicExecutionActivity is the BasicActivity implementation for HDInsightHiveActivity. +func (hiha HDInsightHiveActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) { + return &hiha, true +} + +// AsWebHookActivity is the BasicActivity implementation for HDInsightHiveActivity. +func (hiha HDInsightHiveActivity) AsWebHookActivity() (*WebHookActivity, bool) { + return nil, false +} + +// AsAppendVariableActivity is the BasicActivity implementation for HDInsightHiveActivity. +func (hiha HDInsightHiveActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) { + return nil, false +} + +// AsSetVariableActivity is the BasicActivity implementation for HDInsightHiveActivity. +func (hiha HDInsightHiveActivity) AsSetVariableActivity() (*SetVariableActivity, bool) { + return nil, false +} + +// AsFilterActivity is the BasicActivity implementation for HDInsightHiveActivity. +func (hiha HDInsightHiveActivity) AsFilterActivity() (*FilterActivity, bool) { + return nil, false +} + +// AsValidationActivity is the BasicActivity implementation for HDInsightHiveActivity. +func (hiha HDInsightHiveActivity) AsValidationActivity() (*ValidationActivity, bool) { + return nil, false +} + +// AsUntilActivity is the BasicActivity implementation for HDInsightHiveActivity. +func (hiha HDInsightHiveActivity) AsUntilActivity() (*UntilActivity, bool) { + return nil, false +} + +// AsWaitActivity is the BasicActivity implementation for HDInsightHiveActivity. +func (hiha HDInsightHiveActivity) AsWaitActivity() (*WaitActivity, bool) { + return nil, false +} + +// AsForEachActivity is the BasicActivity implementation for HDInsightHiveActivity. +func (hiha HDInsightHiveActivity) AsForEachActivity() (*ForEachActivity, bool) { + return nil, false +} + +// AsSwitchActivity is the BasicActivity implementation for HDInsightHiveActivity. +func (hiha HDInsightHiveActivity) AsSwitchActivity() (*SwitchActivity, bool) { + return nil, false +} + +// AsIfConditionActivity is the BasicActivity implementation for HDInsightHiveActivity. +func (hiha HDInsightHiveActivity) AsIfConditionActivity() (*IfConditionActivity, bool) { + return nil, false +} + +// AsExecutePipelineActivity is the BasicActivity implementation for HDInsightHiveActivity. +func (hiha HDInsightHiveActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) { + return nil, false +} + +// AsControlActivity is the BasicActivity implementation for HDInsightHiveActivity. +func (hiha HDInsightHiveActivity) AsControlActivity() (*ControlActivity, bool) { + return nil, false +} + +// AsBasicControlActivity is the BasicActivity implementation for HDInsightHiveActivity. +func (hiha HDInsightHiveActivity) AsBasicControlActivity() (BasicControlActivity, bool) { + return nil, false +} + +// AsActivity is the BasicActivity implementation for HDInsightHiveActivity. +func (hiha HDInsightHiveActivity) AsActivity() (*Activity, bool) { + return nil, false +} + +// AsBasicActivity is the BasicActivity implementation for HDInsightHiveActivity. +func (hiha HDInsightHiveActivity) AsBasicActivity() (BasicActivity, bool) { + return &hiha, true +} + +// UnmarshalJSON is the custom unmarshaler for HDInsightHiveActivity struct. +func (hiha *HDInsightHiveActivity) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -96260,41 +101463,32 @@ func (hrs *HTTPReadSettings) UnmarshalJSON(body []byte) error { } for k, v := range m { switch k { - case "requestMethod": - if v != nil { - var requestMethod interface{} - err = json.Unmarshal(*v, &requestMethod) - if err != nil { - return err - } - hrs.RequestMethod = requestMethod - } - case "requestBody": + case "typeProperties": if v != nil { - var requestBody interface{} - err = json.Unmarshal(*v, &requestBody) + var hDInsightHiveActivityTypeProperties HDInsightHiveActivityTypeProperties + err = json.Unmarshal(*v, &hDInsightHiveActivityTypeProperties) if err != nil { return err } - hrs.RequestBody = requestBody + hiha.HDInsightHiveActivityTypeProperties = &hDInsightHiveActivityTypeProperties } - case "additionalHeaders": + case "linkedServiceName": if v != nil { - var additionalHeaders interface{} - err = json.Unmarshal(*v, &additionalHeaders) + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) if err != nil { return err } - hrs.AdditionalHeaders = additionalHeaders + hiha.LinkedServiceName = &linkedServiceName } - case "requestTimeout": + case "policy": if v != nil { - var requestTimeout interface{} - err = json.Unmarshal(*v, &requestTimeout) + var policy ActivityPolicy + err = json.Unmarshal(*v, &policy) if err != nil { return err } - hrs.RequestTimeout = requestTimeout + hiha.Policy = &policy } default: if v != nil { @@ -96303,126 +101497,55 @@ func (hrs *HTTPReadSettings) UnmarshalJSON(body []byte) error { if err != nil { return err } - if hrs.AdditionalProperties == nil { - hrs.AdditionalProperties = make(map[string]interface{}) + if hiha.AdditionalProperties == nil { + hiha.AdditionalProperties = make(map[string]interface{}) } - hrs.AdditionalProperties[k] = additionalProperties + hiha.AdditionalProperties[k] = additionalProperties } - case "type": + case "name": if v != nil { - var typeVar string - err = json.Unmarshal(*v, &typeVar) + var name string + err = json.Unmarshal(*v, &name) if err != nil { return err } - hrs.Type = &typeVar + hiha.Name = &name } - case "maxConcurrentConnections": + case "description": if v != nil { - var maxConcurrentConnections interface{} - err = json.Unmarshal(*v, &maxConcurrentConnections) + var description string + err = json.Unmarshal(*v, &description) if err != nil { return err } - hrs.MaxConcurrentConnections = maxConcurrentConnections + hiha.Description = &description } - } - } - - return nil -} - -// HTTPServerLocation the location of http server. -type HTTPServerLocation struct { - // RelativeURL - Specify the relativeUrl of http server. Type: string (or Expression with resultType string) - RelativeURL interface{} `json:"relativeUrl,omitempty"` - // AdditionalProperties - Unmatched properties from the message are deserialized this collection - AdditionalProperties map[string]interface{} `json:""` - // Type - Type of dataset storage location. - Type *string `json:"type,omitempty"` - // FolderPath - Specify the folder path of dataset. Type: string (or Expression with resultType string) - FolderPath interface{} `json:"folderPath,omitempty"` - // FileName - Specify the file name of dataset. Type: string (or Expression with resultType string). - FileName interface{} `json:"fileName,omitempty"` -} - -// MarshalJSON is the custom marshaler for HTTPServerLocation. -func (hsl HTTPServerLocation) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - if hsl.RelativeURL != nil { - objectMap["relativeUrl"] = hsl.RelativeURL - } - if hsl.Type != nil { - objectMap["type"] = hsl.Type - } - if hsl.FolderPath != nil { - objectMap["folderPath"] = hsl.FolderPath - } - if hsl.FileName != nil { - objectMap["fileName"] = hsl.FileName - } - for k, v := range hsl.AdditionalProperties { - objectMap[k] = v - } - return json.Marshal(objectMap) -} - -// UnmarshalJSON is the custom unmarshaler for HTTPServerLocation struct. -func (hsl *HTTPServerLocation) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - case "relativeUrl": + case "dependsOn": if v != nil { - var relativeURL interface{} - err = json.Unmarshal(*v, &relativeURL) + var dependsOn []ActivityDependency + err = json.Unmarshal(*v, &dependsOn) if err != nil { return err } - hsl.RelativeURL = relativeURL + hiha.DependsOn = &dependsOn } - default: + case "userProperties": if v != nil { - var additionalProperties interface{} - err = json.Unmarshal(*v, &additionalProperties) + var userProperties []UserProperty + err = json.Unmarshal(*v, &userProperties) if err != nil { return err } - if hsl.AdditionalProperties == nil { - hsl.AdditionalProperties = make(map[string]interface{}) - } - hsl.AdditionalProperties[k] = additionalProperties + hiha.UserProperties = &userProperties } case "type": if v != nil { - var typeVar string + var typeVar TypeBasicActivity err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - hsl.Type = &typeVar - } - case "folderPath": - if v != nil { - var folderPath interface{} - err = json.Unmarshal(*v, &folderPath) - if err != nil { - return err - } - hsl.FolderPath = folderPath - } - case "fileName": - if v != nil { - var fileName interface{} - err = json.Unmarshal(*v, &fileName) - if err != nil { - return err - } - hsl.FileName = fileName + hiha.Type = typeVar } } } @@ -96430,474 +101553,584 @@ func (hsl *HTTPServerLocation) UnmarshalJSON(body []byte) error { return nil } -// HTTPSource a copy activity source for an HTTP file. -type HTTPSource struct { - // HTTPRequestTimeout - Specifies the timeout for a HTTP client to get HTTP response from HTTP server. The default value is equivalent to System.Net.HttpWebRequest.Timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). - HTTPRequestTimeout interface{} `json:"httpRequestTimeout,omitempty"` +// HDInsightHiveActivityTypeProperties hDInsight Hive activity properties. +type HDInsightHiveActivityTypeProperties struct { + // StorageLinkedServices - Storage linked service references. + StorageLinkedServices *[]LinkedServiceReference `json:"storageLinkedServices,omitempty"` + // Arguments - User specified arguments to HDInsightActivity. + Arguments *[]interface{} `json:"arguments,omitempty"` + // GetDebugInfo - Debug info option. Possible values include: 'HDInsightActivityDebugInfoOptionNone', 'HDInsightActivityDebugInfoOptionAlways', 'HDInsightActivityDebugInfoOptionFailure' + GetDebugInfo HDInsightActivityDebugInfoOption `json:"getDebugInfo,omitempty"` + // ScriptPath - Script path. Type: string (or Expression with resultType string). + ScriptPath interface{} `json:"scriptPath,omitempty"` + // ScriptLinkedService - Script linked service reference. + ScriptLinkedService *LinkedServiceReference `json:"scriptLinkedService,omitempty"` + // Defines - Allows user to specify defines for Hive job request. + Defines map[string]interface{} `json:"defines"` + // Variables - User specified arguments under hivevar namespace. + Variables *[]interface{} `json:"variables,omitempty"` + // QueryTimeout - Query timeout value (in minutes). Effective when the HDInsight cluster is with ESP (Enterprise Security Package) + QueryTimeout *int32 `json:"queryTimeout,omitempty"` +} + +// MarshalJSON is the custom marshaler for HDInsightHiveActivityTypeProperties. +func (hihatp HDInsightHiveActivityTypeProperties) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if hihatp.StorageLinkedServices != nil { + objectMap["storageLinkedServices"] = hihatp.StorageLinkedServices + } + if hihatp.Arguments != nil { + objectMap["arguments"] = hihatp.Arguments + } + if hihatp.GetDebugInfo != "" { + objectMap["getDebugInfo"] = hihatp.GetDebugInfo + } + if hihatp.ScriptPath != nil { + objectMap["scriptPath"] = hihatp.ScriptPath + } + if hihatp.ScriptLinkedService != nil { + objectMap["scriptLinkedService"] = hihatp.ScriptLinkedService + } + if hihatp.Defines != nil { + objectMap["defines"] = hihatp.Defines + } + if hihatp.Variables != nil { + objectMap["variables"] = hihatp.Variables + } + if hihatp.QueryTimeout != nil { + objectMap["queryTimeout"] = hihatp.QueryTimeout + } + return json.Marshal(objectMap) +} + +// HDInsightLinkedService hDInsight linked service. +type HDInsightLinkedService struct { + // HDInsightLinkedServiceTypeProperties - HDInsight linked service properties. + *HDInsightLinkedServiceTypeProperties `json:"typeProperties,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` - // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). - SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` - // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). - SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` - // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). - MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' - Type TypeBasicCopySource `json:"type,omitempty"` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' + Type TypeBasicLinkedService `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for HTTPSource. -func (hs HTTPSource) MarshalJSON() ([]byte, error) { - hs.Type = TypeHTTPSource +// MarshalJSON is the custom marshaler for HDInsightLinkedService. +func (hils HDInsightLinkedService) MarshalJSON() ([]byte, error) { + hils.Type = TypeHDInsight objectMap := make(map[string]interface{}) - if hs.HTTPRequestTimeout != nil { - objectMap["httpRequestTimeout"] = hs.HTTPRequestTimeout + if hils.HDInsightLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = hils.HDInsightLinkedServiceTypeProperties } - if hs.SourceRetryCount != nil { - objectMap["sourceRetryCount"] = hs.SourceRetryCount + if hils.ConnectVia != nil { + objectMap["connectVia"] = hils.ConnectVia } - if hs.SourceRetryWait != nil { - objectMap["sourceRetryWait"] = hs.SourceRetryWait + if hils.Description != nil { + objectMap["description"] = hils.Description } - if hs.MaxConcurrentConnections != nil { - objectMap["maxConcurrentConnections"] = hs.MaxConcurrentConnections + if hils.Parameters != nil { + objectMap["parameters"] = hils.Parameters } - if hs.Type != "" { - objectMap["type"] = hs.Type + if hils.Annotations != nil { + objectMap["annotations"] = hils.Annotations } - for k, v := range hs.AdditionalProperties { + if hils.Type != "" { + objectMap["type"] = hils.Type + } + for k, v := range hils.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsAmazonRedshiftSource is the BasicCopySource implementation for HTTPSource. -func (hs HTTPSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { return nil, false } -// AsGoogleAdWordsSource is the BasicCopySource implementation for HTTPSource. -func (hs HTTPSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { return nil, false } -// AsOracleServiceCloudSource is the BasicCopySource implementation for HTTPSource. -func (hs HTTPSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { +// AsSapTableLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { return nil, false } -// AsDynamicsAXSource is the BasicCopySource implementation for HTTPSource. -func (hs HTTPSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { return nil, false } -// AsResponsysSource is the BasicCopySource implementation for HTTPSource. -func (hs HTTPSource) AsResponsysSource() (*ResponsysSource, bool) { +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { return nil, false } -// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for HTTPSource. -func (hs HTTPSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { return nil, false } -// AsVerticaSource is the BasicCopySource implementation for HTTPSource. -func (hs HTTPSource) AsVerticaSource() (*VerticaSource, bool) { +// AsResponsysLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { return nil, false } -// AsNetezzaSource is the BasicCopySource implementation for HTTPSource. -func (hs HTTPSource) AsNetezzaSource() (*NetezzaSource, bool) { +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { return nil, false } -// AsZohoSource is the BasicCopySource implementation for HTTPSource. -func (hs HTTPSource) AsZohoSource() (*ZohoSource, bool) { +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { return nil, false } -// AsXeroSource is the BasicCopySource implementation for HTTPSource. -func (hs HTTPSource) AsXeroSource() (*XeroSource, bool) { +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { return nil, false } -// AsSquareSource is the BasicCopySource implementation for HTTPSource. -func (hs HTTPSource) AsSquareSource() (*SquareSource, bool) { +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { return nil, false } -// AsSparkSource is the BasicCopySource implementation for HTTPSource. -func (hs HTTPSource) AsSparkSource() (*SparkSource, bool) { +// AsNetezzaLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { return nil, false } -// AsShopifySource is the BasicCopySource implementation for HTTPSource. -func (hs HTTPSource) AsShopifySource() (*ShopifySource, bool) { +// AsVerticaLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { return nil, false } -// AsServiceNowSource is the BasicCopySource implementation for HTTPSource. -func (hs HTTPSource) AsServiceNowSource() (*ServiceNowSource, bool) { +// AsZohoLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { return nil, false } -// AsQuickBooksSource is the BasicCopySource implementation for HTTPSource. -func (hs HTTPSource) AsQuickBooksSource() (*QuickBooksSource, bool) { +// AsXeroLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { return nil, false } -// AsPrestoSource is the BasicCopySource implementation for HTTPSource. -func (hs HTTPSource) AsPrestoSource() (*PrestoSource, bool) { +// AsSquareLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { return nil, false } -// AsPhoenixSource is the BasicCopySource implementation for HTTPSource. -func (hs HTTPSource) AsPhoenixSource() (*PhoenixSource, bool) { +// AsSparkLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { return nil, false } -// AsPaypalSource is the BasicCopySource implementation for HTTPSource. -func (hs HTTPSource) AsPaypalSource() (*PaypalSource, bool) { +// AsShopifyLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { return nil, false } -// AsMarketoSource is the BasicCopySource implementation for HTTPSource. -func (hs HTTPSource) AsMarketoSource() (*MarketoSource, bool) { +// AsServiceNowLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { return nil, false } -// AsAzureMariaDBSource is the BasicCopySource implementation for HTTPSource. -func (hs HTTPSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { +// AsQuickBooksLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { return nil, false } -// AsMariaDBSource is the BasicCopySource implementation for HTTPSource. -func (hs HTTPSource) AsMariaDBSource() (*MariaDBSource, bool) { +// AsPrestoLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { return nil, false } -// AsMagentoSource is the BasicCopySource implementation for HTTPSource. -func (hs HTTPSource) AsMagentoSource() (*MagentoSource, bool) { +// AsPhoenixLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { return nil, false } -// AsJiraSource is the BasicCopySource implementation for HTTPSource. -func (hs HTTPSource) AsJiraSource() (*JiraSource, bool) { +// AsPaypalLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { return nil, false } -// AsImpalaSource is the BasicCopySource implementation for HTTPSource. -func (hs HTTPSource) AsImpalaSource() (*ImpalaSource, bool) { +// AsMarketoLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { return nil, false } -// AsHubspotSource is the BasicCopySource implementation for HTTPSource. -func (hs HTTPSource) AsHubspotSource() (*HubspotSource, bool) { +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { return nil, false } -// AsHiveSource is the BasicCopySource implementation for HTTPSource. -func (hs HTTPSource) AsHiveSource() (*HiveSource, bool) { +// AsMariaDBLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { return nil, false } -// AsHBaseSource is the BasicCopySource implementation for HTTPSource. -func (hs HTTPSource) AsHBaseSource() (*HBaseSource, bool) { +// AsMagentoLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { return nil, false } -// AsGreenplumSource is the BasicCopySource implementation for HTTPSource. -func (hs HTTPSource) AsGreenplumSource() (*GreenplumSource, bool) { +// AsJiraLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { return nil, false } -// AsGoogleBigQuerySource is the BasicCopySource implementation for HTTPSource. -func (hs HTTPSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { +// AsImpalaLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { return nil, false } -// AsEloquaSource is the BasicCopySource implementation for HTTPSource. -func (hs HTTPSource) AsEloquaSource() (*EloquaSource, bool) { +// AsHubspotLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { return nil, false } -// AsDrillSource is the BasicCopySource implementation for HTTPSource. -func (hs HTTPSource) AsDrillSource() (*DrillSource, bool) { +// AsHiveLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { return nil, false } -// AsCouchbaseSource is the BasicCopySource implementation for HTTPSource. -func (hs HTTPSource) AsCouchbaseSource() (*CouchbaseSource, bool) { +// AsHBaseLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { return nil, false } -// AsConcurSource is the BasicCopySource implementation for HTTPSource. -func (hs HTTPSource) AsConcurSource() (*ConcurSource, bool) { +// AsGreenplumLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { return nil, false } -// AsAzurePostgreSQLSource is the BasicCopySource implementation for HTTPSource. -func (hs HTTPSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { return nil, false } -// AsAmazonMWSSource is the BasicCopySource implementation for HTTPSource. -func (hs HTTPSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { +// AsEloquaLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { return nil, false } -// AsHTTPSource is the BasicCopySource implementation for HTTPSource. -func (hs HTTPSource) AsHTTPSource() (*HTTPSource, bool) { - return &hs, true +// AsDrillLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return nil, false } -// AsAzureBlobFSSource is the BasicCopySource implementation for HTTPSource. -func (hs HTTPSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { +// AsCouchbaseLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { return nil, false } -// AsAzureDataLakeStoreSource is the BasicCopySource implementation for HTTPSource. -func (hs HTTPSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { +// AsConcurLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { return nil, false } -// AsOffice365Source is the BasicCopySource implementation for HTTPSource. -func (hs HTTPSource) AsOffice365Source() (*Office365Source, bool) { +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { return nil, false } -// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for HTTPSource. -func (hs HTTPSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { return nil, false } -// AsMongoDbV2Source is the BasicCopySource implementation for HTTPSource. -func (hs HTTPSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { +// AsSapHanaLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { return nil, false } -// AsMongoDbSource is the BasicCopySource implementation for HTTPSource. -func (hs HTTPSource) AsMongoDbSource() (*MongoDbSource, bool) { +// AsSapBWLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { return nil, false } -// AsCassandraSource is the BasicCopySource implementation for HTTPSource. -func (hs HTTPSource) AsCassandraSource() (*CassandraSource, bool) { +// AsSftpServerLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { return nil, false } -// AsWebSource is the BasicCopySource implementation for HTTPSource. -func (hs HTTPSource) AsWebSource() (*WebSource, bool) { +// AsFtpServerLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { return nil, false } -// AsTeradataSource is the BasicCopySource implementation for HTTPSource. -func (hs HTTPSource) AsTeradataSource() (*TeradataSource, bool) { +// AsHTTPLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { return nil, false } -// AsOracleSource is the BasicCopySource implementation for HTTPSource. -func (hs HTTPSource) AsOracleSource() (*OracleSource, bool) { +// AsAzureSearchLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { return nil, false } -// AsAzureDataExplorerSource is the BasicCopySource implementation for HTTPSource. -func (hs HTTPSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { return nil, false } -// AsAzureMySQLSource is the BasicCopySource implementation for HTTPSource. -func (hs HTTPSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { return nil, false } -// AsHdfsSource is the BasicCopySource implementation for HTTPSource. -func (hs HTTPSource) AsHdfsSource() (*HdfsSource, bool) { +// AsAmazonS3LinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { return nil, false } -// AsFileSystemSource is the BasicCopySource implementation for HTTPSource. -func (hs HTTPSource) AsFileSystemSource() (*FileSystemSource, bool) { +// AsRestServiceLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { return nil, false } -// AsSQLDWSource is the BasicCopySource implementation for HTTPSource. -func (hs HTTPSource) AsSQLDWSource() (*SQLDWSource, bool) { +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { return nil, false } -// AsSQLMISource is the BasicCopySource implementation for HTTPSource. -func (hs HTTPSource) AsSQLMISource() (*SQLMISource, bool) { +// AsSapEccLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { return nil, false } -// AsAzureSQLSource is the BasicCopySource implementation for HTTPSource. -func (hs HTTPSource) AsAzureSQLSource() (*AzureSQLSource, bool) { +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { return nil, false } -// AsSQLServerSource is the BasicCopySource implementation for HTTPSource. -func (hs HTTPSource) AsSQLServerSource() (*SQLServerSource, bool) { +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { return nil, false } -// AsSQLSource is the BasicCopySource implementation for HTTPSource. -func (hs HTTPSource) AsSQLSource() (*SQLSource, bool) { +// AsSalesforceLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { return nil, false } -// AsRestSource is the BasicCopySource implementation for HTTPSource. -func (hs HTTPSource) AsRestSource() (*RestSource, bool) { +// AsOffice365LinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { return nil, false } -// AsSapTableSource is the BasicCopySource implementation for HTTPSource. -func (hs HTTPSource) AsSapTableSource() (*SapTableSource, bool) { +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { return nil, false } -// AsSapOpenHubSource is the BasicCopySource implementation for HTTPSource. -func (hs HTTPSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { return nil, false } -// AsSapHanaSource is the BasicCopySource implementation for HTTPSource. -func (hs HTTPSource) AsSapHanaSource() (*SapHanaSource, bool) { +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { return nil, false } -// AsSapEccSource is the BasicCopySource implementation for HTTPSource. -func (hs HTTPSource) AsSapEccSource() (*SapEccSource, bool) { +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { return nil, false } -// AsSapCloudForCustomerSource is the BasicCopySource implementation for HTTPSource. -func (hs HTTPSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { +// AsMongoDbLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { return nil, false } -// AsSalesforceServiceCloudSource is the BasicCopySource implementation for HTTPSource. -func (hs HTTPSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { +// AsCassandraLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { return nil, false } -// AsSalesforceSource is the BasicCopySource implementation for HTTPSource. -func (hs HTTPSource) AsSalesforceSource() (*SalesforceSource, bool) { +// AsWebLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { return nil, false } -// AsODataSource is the BasicCopySource implementation for HTTPSource. -func (hs HTTPSource) AsODataSource() (*ODataSource, bool) { +// AsODataLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { return nil, false } -// AsSapBwSource is the BasicCopySource implementation for HTTPSource. -func (hs HTTPSource) AsSapBwSource() (*SapBwSource, bool) { +// AsHdfsLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { return nil, false } -// AsSybaseSource is the BasicCopySource implementation for HTTPSource. -func (hs HTTPSource) AsSybaseSource() (*SybaseSource, bool) { +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { return nil, false } -// AsPostgreSQLSource is the BasicCopySource implementation for HTTPSource. -func (hs HTTPSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { +// AsInformixLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { return nil, false } -// AsMySQLSource is the BasicCopySource implementation for HTTPSource. -func (hs HTTPSource) AsMySQLSource() (*MySQLSource, bool) { +// AsOdbcLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { return nil, false } -// AsOdbcSource is the BasicCopySource implementation for HTTPSource. -func (hs HTTPSource) AsOdbcSource() (*OdbcSource, bool) { +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { return nil, false } -// AsDb2Source is the BasicCopySource implementation for HTTPSource. -func (hs HTTPSource) AsDb2Source() (*Db2Source, bool) { +// AsAzureMLLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { return nil, false } -// AsMicrosoftAccessSource is the BasicCopySource implementation for HTTPSource. -func (hs HTTPSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { +// AsTeradataLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { return nil, false } -// AsInformixSource is the BasicCopySource implementation for HTTPSource. -func (hs HTTPSource) AsInformixSource() (*InformixSource, bool) { +// AsDb2LinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { return nil, false } -// AsRelationalSource is the BasicCopySource implementation for HTTPSource. -func (hs HTTPSource) AsRelationalSource() (*RelationalSource, bool) { +// AsSybaseLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { return nil, false } -// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for HTTPSource. -func (hs HTTPSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { return nil, false } -// AsDynamicsCrmSource is the BasicCopySource implementation for HTTPSource. -func (hs HTTPSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { +// AsMySQLLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { return nil, false } -// AsDynamicsSource is the BasicCopySource implementation for HTTPSource. -func (hs HTTPSource) AsDynamicsSource() (*DynamicsSource, bool) { +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { return nil, false } -// AsDocumentDbCollectionSource is the BasicCopySource implementation for HTTPSource. -func (hs HTTPSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { +// AsOracleLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { return nil, false } -// AsBlobSource is the BasicCopySource implementation for HTTPSource. -func (hs HTTPSource) AsBlobSource() (*BlobSource, bool) { +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { return nil, false } -// AsAzureTableSource is the BasicCopySource implementation for HTTPSource. -func (hs HTTPSource) AsAzureTableSource() (*AzureTableSource, bool) { +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { return nil, false } -// AsBinarySource is the BasicCopySource implementation for HTTPSource. -func (hs HTTPSource) AsBinarySource() (*BinarySource, bool) { +// AsFileServerLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { return nil, false } -// AsDelimitedTextSource is the BasicCopySource implementation for HTTPSource. -func (hs HTTPSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { +// AsHDInsightLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return &hils, true +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { return nil, false } -// AsParquetSource is the BasicCopySource implementation for HTTPSource. -func (hs HTTPSource) AsParquetSource() (*ParquetSource, bool) { +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { return nil, false } -// AsAvroSource is the BasicCopySource implementation for HTTPSource. -func (hs HTTPSource) AsAvroSource() (*AvroSource, bool) { +// AsDynamicsLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { return nil, false } -// AsCopySource is the BasicCopySource implementation for HTTPSource. -func (hs HTTPSource) AsCopySource() (*CopySource, bool) { +// AsCosmosDbLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { return nil, false } -// AsBasicCopySource is the BasicCopySource implementation for HTTPSource. -func (hs HTTPSource) AsBasicCopySource() (BasicCopySource, bool) { - return &hs, true +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false } -// UnmarshalJSON is the custom unmarshaler for HTTPSource struct. -func (hs *HTTPSource) UnmarshalJSON(body []byte) error { +// AsAzureBatchLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for HDInsightLinkedService. +func (hils HDInsightLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &hils, true +} + +// UnmarshalJSON is the custom unmarshaler for HDInsightLinkedService struct. +func (hils *HDInsightLinkedService) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -96905,14 +102138,14 @@ func (hs *HTTPSource) UnmarshalJSON(body []byte) error { } for k, v := range m { switch k { - case "httpRequestTimeout": + case "typeProperties": if v != nil { - var HTTPRequestTimeout interface{} - err = json.Unmarshal(*v, &HTTPRequestTimeout) + var hDInsightLinkedServiceTypeProperties HDInsightLinkedServiceTypeProperties + err = json.Unmarshal(*v, &hDInsightLinkedServiceTypeProperties) if err != nil { return err } - hs.HTTPRequestTimeout = HTTPRequestTimeout + hils.HDInsightLinkedServiceTypeProperties = &hDInsightLinkedServiceTypeProperties } default: if v != nil { @@ -96921,46 +102154,55 @@ func (hs *HTTPSource) UnmarshalJSON(body []byte) error { if err != nil { return err } - if hs.AdditionalProperties == nil { - hs.AdditionalProperties = make(map[string]interface{}) + if hils.AdditionalProperties == nil { + hils.AdditionalProperties = make(map[string]interface{}) } - hs.AdditionalProperties[k] = additionalProperties + hils.AdditionalProperties[k] = additionalProperties } - case "sourceRetryCount": + case "connectVia": if v != nil { - var sourceRetryCount interface{} - err = json.Unmarshal(*v, &sourceRetryCount) + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) if err != nil { return err } - hs.SourceRetryCount = sourceRetryCount + hils.ConnectVia = &connectVia } - case "sourceRetryWait": + case "description": if v != nil { - var sourceRetryWait interface{} - err = json.Unmarshal(*v, &sourceRetryWait) + var description string + err = json.Unmarshal(*v, &description) if err != nil { return err } - hs.SourceRetryWait = sourceRetryWait + hils.Description = &description } - case "maxConcurrentConnections": + case "parameters": if v != nil { - var maxConcurrentConnections interface{} - err = json.Unmarshal(*v, &maxConcurrentConnections) + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) if err != nil { return err } - hs.MaxConcurrentConnections = maxConcurrentConnections + hils.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + hils.Annotations = &annotations } case "type": if v != nil { - var typeVar TypeBasicCopySource + var typeVar TypeBasicLinkedService err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - hs.Type = typeVar + hils.Type = typeVar } } } @@ -96968,519 +102210,1045 @@ func (hs *HTTPSource) UnmarshalJSON(body []byte) error { return nil } -// HubspotLinkedService hubspot Service linked service. -type HubspotLinkedService struct { - // HubspotLinkedServiceTypeProperties - Hubspot Service linked service properties. - *HubspotLinkedServiceTypeProperties `json:"typeProperties,omitempty"` - // AdditionalProperties - Unmatched properties from the message are deserialized this collection - AdditionalProperties map[string]interface{} `json:""` - // ConnectVia - The integration runtime reference. - ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` - // Description - Linked service description. - Description *string `json:"description,omitempty"` - // Parameters - Parameters for linked service. - Parameters map[string]*ParameterSpecification `json:"parameters"` - // Annotations - List of tags that can be used for describing the linked service. - Annotations *[]interface{} `json:"annotations,omitempty"` - // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' - Type TypeBasicLinkedService `json:"type,omitempty"` +// HDInsightLinkedServiceTypeProperties hDInsight linked service properties. +type HDInsightLinkedServiceTypeProperties struct { + // ClusterURI - HDInsight cluster URI. Type: string (or Expression with resultType string). + ClusterURI interface{} `json:"clusterUri,omitempty"` + // UserName - HDInsight cluster user name. Type: string (or Expression with resultType string). + UserName interface{} `json:"userName,omitempty"` + // Password - HDInsight cluster password. + Password BasicSecretBase `json:"password,omitempty"` + // LinkedServiceName - The Azure Storage linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // HcatalogLinkedServiceName - A reference to the Azure SQL linked service that points to the HCatalog database. + HcatalogLinkedServiceName *LinkedServiceReference `json:"hcatalogLinkedServiceName,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` + // IsEspEnabled - Specify if the HDInsight is created with ESP (Enterprise Security Package). Type: Boolean. + IsEspEnabled interface{} `json:"isEspEnabled,omitempty"` + // FileSystem - Specify the FileSystem if the main storage for the HDInsight is ADLS Gen2. Type: string (or Expression with resultType string). + FileSystem interface{} `json:"fileSystem,omitempty"` } -// MarshalJSON is the custom marshaler for HubspotLinkedService. -func (hls HubspotLinkedService) MarshalJSON() ([]byte, error) { - hls.Type = TypeHubspot - objectMap := make(map[string]interface{}) - if hls.HubspotLinkedServiceTypeProperties != nil { - objectMap["typeProperties"] = hls.HubspotLinkedServiceTypeProperties - } - if hls.ConnectVia != nil { - objectMap["connectVia"] = hls.ConnectVia - } - if hls.Description != nil { - objectMap["description"] = hls.Description +// UnmarshalJSON is the custom unmarshaler for HDInsightLinkedServiceTypeProperties struct. +func (hilstp *HDInsightLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err } - if hls.Parameters != nil { - objectMap["parameters"] = hls.Parameters + for k, v := range m { + switch k { + case "clusterUri": + if v != nil { + var clusterURI interface{} + err = json.Unmarshal(*v, &clusterURI) + if err != nil { + return err + } + hilstp.ClusterURI = clusterURI + } + case "userName": + if v != nil { + var userName interface{} + err = json.Unmarshal(*v, &userName) + if err != nil { + return err + } + hilstp.UserName = userName + } + case "password": + if v != nil { + password, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + hilstp.Password = password + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + hilstp.LinkedServiceName = &linkedServiceName + } + case "hcatalogLinkedServiceName": + if v != nil { + var hcatalogLinkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &hcatalogLinkedServiceName) + if err != nil { + return err + } + hilstp.HcatalogLinkedServiceName = &hcatalogLinkedServiceName + } + case "encryptedCredential": + if v != nil { + var encryptedCredential interface{} + err = json.Unmarshal(*v, &encryptedCredential) + if err != nil { + return err + } + hilstp.EncryptedCredential = encryptedCredential + } + case "isEspEnabled": + if v != nil { + var isEspEnabled interface{} + err = json.Unmarshal(*v, &isEspEnabled) + if err != nil { + return err + } + hilstp.IsEspEnabled = isEspEnabled + } + case "fileSystem": + if v != nil { + var fileSystem interface{} + err = json.Unmarshal(*v, &fileSystem) + if err != nil { + return err + } + hilstp.FileSystem = fileSystem + } + } } - if hls.Annotations != nil { - objectMap["annotations"] = hls.Annotations + + return nil +} + +// HDInsightMapReduceActivity hDInsight MapReduce activity type. +type HDInsightMapReduceActivity struct { + // HDInsightMapReduceActivityTypeProperties - HDInsight MapReduce activity properties. + *HDInsightMapReduceActivityTypeProperties `json:"typeProperties,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Policy - Activity policy. + Policy *ActivityPolicy `json:"policy,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Name - Activity name. + Name *string `json:"name,omitempty"` + // Description - Activity description. + Description *string `json:"description,omitempty"` + // DependsOn - Activity depends on condition. + DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"` + // UserProperties - Activity user properties. + UserProperties *[]UserProperty `json:"userProperties,omitempty"` + // Type - Possible values include: 'TypeActivity', 'TypeExecuteDataFlow', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLExecutePipeline', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeSwitch', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer' + Type TypeBasicActivity `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for HDInsightMapReduceActivity. +func (himra HDInsightMapReduceActivity) MarshalJSON() ([]byte, error) { + himra.Type = TypeHDInsightMapReduce + objectMap := make(map[string]interface{}) + if himra.HDInsightMapReduceActivityTypeProperties != nil { + objectMap["typeProperties"] = himra.HDInsightMapReduceActivityTypeProperties } - if hls.Type != "" { - objectMap["type"] = hls.Type + if himra.LinkedServiceName != nil { + objectMap["linkedServiceName"] = himra.LinkedServiceName } - for k, v := range hls.AdditionalProperties { + if himra.Policy != nil { + objectMap["policy"] = himra.Policy + } + if himra.Name != nil { + objectMap["name"] = himra.Name + } + if himra.Description != nil { + objectMap["description"] = himra.Description + } + if himra.DependsOn != nil { + objectMap["dependsOn"] = himra.DependsOn + } + if himra.UserProperties != nil { + objectMap["userProperties"] = himra.UserProperties + } + if himra.Type != "" { + objectMap["type"] = himra.Type + } + for k, v := range himra.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsAzureFunctionLinkedService is the BasicLinkedService implementation for HubspotLinkedService. -func (hls HubspotLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { +// AsExecuteDataFlowActivity is the BasicActivity implementation for HDInsightMapReduceActivity. +func (himra HDInsightMapReduceActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) { return nil, false } -// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for HubspotLinkedService. -func (hls HubspotLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { +// AsAzureFunctionActivity is the BasicActivity implementation for HDInsightMapReduceActivity. +func (himra HDInsightMapReduceActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) { return nil, false } -// AsSapTableLinkedService is the BasicLinkedService implementation for HubspotLinkedService. -func (hls HubspotLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { +// AsDatabricksSparkPythonActivity is the BasicActivity implementation for HDInsightMapReduceActivity. +func (himra HDInsightMapReduceActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) { return nil, false } -// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for HubspotLinkedService. -func (hls HubspotLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { +// AsDatabricksSparkJarActivity is the BasicActivity implementation for HDInsightMapReduceActivity. +func (himra HDInsightMapReduceActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) { return nil, false } -// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for HubspotLinkedService. -func (hls HubspotLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { +// AsDatabricksNotebookActivity is the BasicActivity implementation for HDInsightMapReduceActivity. +func (himra HDInsightMapReduceActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) { return nil, false } -// AsDynamicsAXLinkedService is the BasicLinkedService implementation for HubspotLinkedService. -func (hls HubspotLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { +// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for HDInsightMapReduceActivity. +func (himra HDInsightMapReduceActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) { return nil, false } -// AsResponsysLinkedService is the BasicLinkedService implementation for HubspotLinkedService. -func (hls HubspotLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { +// AsAzureMLExecutePipelineActivity is the BasicActivity implementation for HDInsightMapReduceActivity. +func (himra HDInsightMapReduceActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) { return nil, false } -// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for HubspotLinkedService. -func (hls HubspotLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { +// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for HDInsightMapReduceActivity. +func (himra HDInsightMapReduceActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) { return nil, false } -// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for HubspotLinkedService. -func (hls HubspotLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { +// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for HDInsightMapReduceActivity. +func (himra HDInsightMapReduceActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) { return nil, false } -// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for HubspotLinkedService. -func (hls HubspotLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { +// AsGetMetadataActivity is the BasicActivity implementation for HDInsightMapReduceActivity. +func (himra HDInsightMapReduceActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) { return nil, false } -// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for HubspotLinkedService. -func (hls HubspotLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { +// AsWebActivity is the BasicActivity implementation for HDInsightMapReduceActivity. +func (himra HDInsightMapReduceActivity) AsWebActivity() (*WebActivity, bool) { return nil, false } -// AsNetezzaLinkedService is the BasicLinkedService implementation for HubspotLinkedService. -func (hls HubspotLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { +// AsLookupActivity is the BasicActivity implementation for HDInsightMapReduceActivity. +func (himra HDInsightMapReduceActivity) AsLookupActivity() (*LookupActivity, bool) { return nil, false } -// AsVerticaLinkedService is the BasicLinkedService implementation for HubspotLinkedService. -func (hls HubspotLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { +// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for HDInsightMapReduceActivity. +func (himra HDInsightMapReduceActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) { return nil, false } -// AsZohoLinkedService is the BasicLinkedService implementation for HubspotLinkedService. -func (hls HubspotLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { +// AsDeleteActivity is the BasicActivity implementation for HDInsightMapReduceActivity. +func (himra HDInsightMapReduceActivity) AsDeleteActivity() (*DeleteActivity, bool) { return nil, false } -// AsXeroLinkedService is the BasicLinkedService implementation for HubspotLinkedService. -func (hls HubspotLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { +// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for HDInsightMapReduceActivity. +func (himra HDInsightMapReduceActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) { return nil, false } -// AsSquareLinkedService is the BasicLinkedService implementation for HubspotLinkedService. -func (hls HubspotLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { +// AsCustomActivity is the BasicActivity implementation for HDInsightMapReduceActivity. +func (himra HDInsightMapReduceActivity) AsCustomActivity() (*CustomActivity, bool) { return nil, false } -// AsSparkLinkedService is the BasicLinkedService implementation for HubspotLinkedService. -func (hls HubspotLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { +// AsExecuteSSISPackageActivity is the BasicActivity implementation for HDInsightMapReduceActivity. +func (himra HDInsightMapReduceActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) { return nil, false } -// AsShopifyLinkedService is the BasicLinkedService implementation for HubspotLinkedService. -func (hls HubspotLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { +// AsHDInsightSparkActivity is the BasicActivity implementation for HDInsightMapReduceActivity. +func (himra HDInsightMapReduceActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) { return nil, false } -// AsServiceNowLinkedService is the BasicLinkedService implementation for HubspotLinkedService. -func (hls HubspotLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { +// AsHDInsightStreamingActivity is the BasicActivity implementation for HDInsightMapReduceActivity. +func (himra HDInsightMapReduceActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) { return nil, false } -// AsQuickBooksLinkedService is the BasicLinkedService implementation for HubspotLinkedService. -func (hls HubspotLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { +// AsHDInsightMapReduceActivity is the BasicActivity implementation for HDInsightMapReduceActivity. +func (himra HDInsightMapReduceActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) { + return &himra, true +} + +// AsHDInsightPigActivity is the BasicActivity implementation for HDInsightMapReduceActivity. +func (himra HDInsightMapReduceActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) { return nil, false } -// AsPrestoLinkedService is the BasicLinkedService implementation for HubspotLinkedService. -func (hls HubspotLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { +// AsHDInsightHiveActivity is the BasicActivity implementation for HDInsightMapReduceActivity. +func (himra HDInsightMapReduceActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) { return nil, false } -// AsPhoenixLinkedService is the BasicLinkedService implementation for HubspotLinkedService. -func (hls HubspotLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { +// AsCopyActivity is the BasicActivity implementation for HDInsightMapReduceActivity. +func (himra HDInsightMapReduceActivity) AsCopyActivity() (*CopyActivity, bool) { return nil, false } -// AsPaypalLinkedService is the BasicLinkedService implementation for HubspotLinkedService. -func (hls HubspotLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { +// AsExecutionActivity is the BasicActivity implementation for HDInsightMapReduceActivity. +func (himra HDInsightMapReduceActivity) AsExecutionActivity() (*ExecutionActivity, bool) { return nil, false } -// AsMarketoLinkedService is the BasicLinkedService implementation for HubspotLinkedService. -func (hls HubspotLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { +// AsBasicExecutionActivity is the BasicActivity implementation for HDInsightMapReduceActivity. +func (himra HDInsightMapReduceActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) { + return &himra, true +} + +// AsWebHookActivity is the BasicActivity implementation for HDInsightMapReduceActivity. +func (himra HDInsightMapReduceActivity) AsWebHookActivity() (*WebHookActivity, bool) { return nil, false } -// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for HubspotLinkedService. -func (hls HubspotLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { +// AsAppendVariableActivity is the BasicActivity implementation for HDInsightMapReduceActivity. +func (himra HDInsightMapReduceActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) { return nil, false } -// AsMariaDBLinkedService is the BasicLinkedService implementation for HubspotLinkedService. -func (hls HubspotLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { +// AsSetVariableActivity is the BasicActivity implementation for HDInsightMapReduceActivity. +func (himra HDInsightMapReduceActivity) AsSetVariableActivity() (*SetVariableActivity, bool) { return nil, false } -// AsMagentoLinkedService is the BasicLinkedService implementation for HubspotLinkedService. -func (hls HubspotLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { +// AsFilterActivity is the BasicActivity implementation for HDInsightMapReduceActivity. +func (himra HDInsightMapReduceActivity) AsFilterActivity() (*FilterActivity, bool) { return nil, false } -// AsJiraLinkedService is the BasicLinkedService implementation for HubspotLinkedService. -func (hls HubspotLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { +// AsValidationActivity is the BasicActivity implementation for HDInsightMapReduceActivity. +func (himra HDInsightMapReduceActivity) AsValidationActivity() (*ValidationActivity, bool) { return nil, false } -// AsImpalaLinkedService is the BasicLinkedService implementation for HubspotLinkedService. -func (hls HubspotLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { +// AsUntilActivity is the BasicActivity implementation for HDInsightMapReduceActivity. +func (himra HDInsightMapReduceActivity) AsUntilActivity() (*UntilActivity, bool) { return nil, false } -// AsHubspotLinkedService is the BasicLinkedService implementation for HubspotLinkedService. -func (hls HubspotLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { - return &hls, true +// AsWaitActivity is the BasicActivity implementation for HDInsightMapReduceActivity. +func (himra HDInsightMapReduceActivity) AsWaitActivity() (*WaitActivity, bool) { + return nil, false } -// AsHiveLinkedService is the BasicLinkedService implementation for HubspotLinkedService. -func (hls HubspotLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { +// AsForEachActivity is the BasicActivity implementation for HDInsightMapReduceActivity. +func (himra HDInsightMapReduceActivity) AsForEachActivity() (*ForEachActivity, bool) { return nil, false } -// AsHBaseLinkedService is the BasicLinkedService implementation for HubspotLinkedService. -func (hls HubspotLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { +// AsSwitchActivity is the BasicActivity implementation for HDInsightMapReduceActivity. +func (himra HDInsightMapReduceActivity) AsSwitchActivity() (*SwitchActivity, bool) { return nil, false } -// AsGreenplumLinkedService is the BasicLinkedService implementation for HubspotLinkedService. -func (hls HubspotLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { +// AsIfConditionActivity is the BasicActivity implementation for HDInsightMapReduceActivity. +func (himra HDInsightMapReduceActivity) AsIfConditionActivity() (*IfConditionActivity, bool) { return nil, false } -// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for HubspotLinkedService. -func (hls HubspotLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { +// AsExecutePipelineActivity is the BasicActivity implementation for HDInsightMapReduceActivity. +func (himra HDInsightMapReduceActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) { return nil, false } -// AsEloquaLinkedService is the BasicLinkedService implementation for HubspotLinkedService. -func (hls HubspotLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { +// AsControlActivity is the BasicActivity implementation for HDInsightMapReduceActivity. +func (himra HDInsightMapReduceActivity) AsControlActivity() (*ControlActivity, bool) { return nil, false } -// AsDrillLinkedService is the BasicLinkedService implementation for HubspotLinkedService. -func (hls HubspotLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { +// AsBasicControlActivity is the BasicActivity implementation for HDInsightMapReduceActivity. +func (himra HDInsightMapReduceActivity) AsBasicControlActivity() (BasicControlActivity, bool) { return nil, false } -// AsCouchbaseLinkedService is the BasicLinkedService implementation for HubspotLinkedService. -func (hls HubspotLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { +// AsActivity is the BasicActivity implementation for HDInsightMapReduceActivity. +func (himra HDInsightMapReduceActivity) AsActivity() (*Activity, bool) { return nil, false } -// AsConcurLinkedService is the BasicLinkedService implementation for HubspotLinkedService. -func (hls HubspotLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { +// AsBasicActivity is the BasicActivity implementation for HDInsightMapReduceActivity. +func (himra HDInsightMapReduceActivity) AsBasicActivity() (BasicActivity, bool) { + return &himra, true +} + +// UnmarshalJSON is the custom unmarshaler for HDInsightMapReduceActivity struct. +func (himra *HDInsightMapReduceActivity) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var hDInsightMapReduceActivityTypeProperties HDInsightMapReduceActivityTypeProperties + err = json.Unmarshal(*v, &hDInsightMapReduceActivityTypeProperties) + if err != nil { + return err + } + himra.HDInsightMapReduceActivityTypeProperties = &hDInsightMapReduceActivityTypeProperties + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + himra.LinkedServiceName = &linkedServiceName + } + case "policy": + if v != nil { + var policy ActivityPolicy + err = json.Unmarshal(*v, &policy) + if err != nil { + return err + } + himra.Policy = &policy + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if himra.AdditionalProperties == nil { + himra.AdditionalProperties = make(map[string]interface{}) + } + himra.AdditionalProperties[k] = additionalProperties + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + himra.Name = &name + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + himra.Description = &description + } + case "dependsOn": + if v != nil { + var dependsOn []ActivityDependency + err = json.Unmarshal(*v, &dependsOn) + if err != nil { + return err + } + himra.DependsOn = &dependsOn + } + case "userProperties": + if v != nil { + var userProperties []UserProperty + err = json.Unmarshal(*v, &userProperties) + if err != nil { + return err + } + himra.UserProperties = &userProperties + } + case "type": + if v != nil { + var typeVar TypeBasicActivity + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + himra.Type = typeVar + } + } + } + + return nil +} + +// HDInsightMapReduceActivityTypeProperties hDInsight MapReduce activity properties. +type HDInsightMapReduceActivityTypeProperties struct { + // StorageLinkedServices - Storage linked service references. + StorageLinkedServices *[]LinkedServiceReference `json:"storageLinkedServices,omitempty"` + // Arguments - User specified arguments to HDInsightActivity. + Arguments *[]interface{} `json:"arguments,omitempty"` + // GetDebugInfo - Debug info option. Possible values include: 'HDInsightActivityDebugInfoOptionNone', 'HDInsightActivityDebugInfoOptionAlways', 'HDInsightActivityDebugInfoOptionFailure' + GetDebugInfo HDInsightActivityDebugInfoOption `json:"getDebugInfo,omitempty"` + // ClassName - Class name. Type: string (or Expression with resultType string). + ClassName interface{} `json:"className,omitempty"` + // JarFilePath - Jar path. Type: string (or Expression with resultType string). + JarFilePath interface{} `json:"jarFilePath,omitempty"` + // JarLinkedService - Jar linked service reference. + JarLinkedService *LinkedServiceReference `json:"jarLinkedService,omitempty"` + // JarLibs - Jar libs. + JarLibs *[]interface{} `json:"jarLibs,omitempty"` + // Defines - Allows user to specify defines for the MapReduce job request. + Defines map[string]interface{} `json:"defines"` +} + +// MarshalJSON is the custom marshaler for HDInsightMapReduceActivityTypeProperties. +func (himratp HDInsightMapReduceActivityTypeProperties) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if himratp.StorageLinkedServices != nil { + objectMap["storageLinkedServices"] = himratp.StorageLinkedServices + } + if himratp.Arguments != nil { + objectMap["arguments"] = himratp.Arguments + } + if himratp.GetDebugInfo != "" { + objectMap["getDebugInfo"] = himratp.GetDebugInfo + } + if himratp.ClassName != nil { + objectMap["className"] = himratp.ClassName + } + if himratp.JarFilePath != nil { + objectMap["jarFilePath"] = himratp.JarFilePath + } + if himratp.JarLinkedService != nil { + objectMap["jarLinkedService"] = himratp.JarLinkedService + } + if himratp.JarLibs != nil { + objectMap["jarLibs"] = himratp.JarLibs + } + if himratp.Defines != nil { + objectMap["defines"] = himratp.Defines + } + return json.Marshal(objectMap) +} + +// HDInsightOnDemandLinkedService hDInsight ondemand linked service. +type HDInsightOnDemandLinkedService struct { + // HDInsightOnDemandLinkedServiceTypeProperties - HDInsight ondemand linked service properties. + *HDInsightOnDemandLinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) MarshalJSON() ([]byte, error) { + hiodls.Type = TypeHDInsightOnDemand + objectMap := make(map[string]interface{}) + if hiodls.HDInsightOnDemandLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = hiodls.HDInsightOnDemandLinkedServiceTypeProperties + } + if hiodls.ConnectVia != nil { + objectMap["connectVia"] = hiodls.ConnectVia + } + if hiodls.Description != nil { + objectMap["description"] = hiodls.Description + } + if hiodls.Parameters != nil { + objectMap["parameters"] = hiodls.Parameters + } + if hiodls.Annotations != nil { + objectMap["annotations"] = hiodls.Annotations + } + if hiodls.Type != "" { + objectMap["type"] = hiodls.Type + } + for k, v := range hiodls.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { return nil, false } -// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for HubspotLinkedService. -func (hls HubspotLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { return nil, false } -// AsAmazonMWSLinkedService is the BasicLinkedService implementation for HubspotLinkedService. -func (hls HubspotLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { +// AsSapTableLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { return nil, false } -// AsSapHanaLinkedService is the BasicLinkedService implementation for HubspotLinkedService. -func (hls HubspotLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { return nil, false } -// AsSapBWLinkedService is the BasicLinkedService implementation for HubspotLinkedService. -func (hls HubspotLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { return nil, false } -// AsSftpServerLinkedService is the BasicLinkedService implementation for HubspotLinkedService. -func (hls HubspotLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { return nil, false } -// AsFtpServerLinkedService is the BasicLinkedService implementation for HubspotLinkedService. -func (hls HubspotLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { +// AsResponsysLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { return nil, false } -// AsHTTPLinkedService is the BasicLinkedService implementation for HubspotLinkedService. -func (hls HubspotLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { return nil, false } -// AsAzureSearchLinkedService is the BasicLinkedService implementation for HubspotLinkedService. -func (hls HubspotLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { return nil, false } -// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for HubspotLinkedService. -func (hls HubspotLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return &hiodls, true +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { return nil, false } -// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for HubspotLinkedService. -func (hls HubspotLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { +// AsNetezzaLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { return nil, false } -// AsAmazonS3LinkedService is the BasicLinkedService implementation for HubspotLinkedService. -func (hls HubspotLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { +// AsVerticaLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { return nil, false } -// AsRestServiceLinkedService is the BasicLinkedService implementation for HubspotLinkedService. -func (hls HubspotLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { +// AsZohoLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { return nil, false } -// AsSapOpenHubLinkedService is the BasicLinkedService implementation for HubspotLinkedService. -func (hls HubspotLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { +// AsXeroLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { return nil, false } -// AsSapEccLinkedService is the BasicLinkedService implementation for HubspotLinkedService. -func (hls HubspotLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { +// AsSquareLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { return nil, false } -// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for HubspotLinkedService. -func (hls HubspotLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { +// AsSparkLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { return nil, false } -// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for HubspotLinkedService. -func (hls HubspotLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { +// AsShopifyLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { return nil, false } -// AsSalesforceLinkedService is the BasicLinkedService implementation for HubspotLinkedService. -func (hls HubspotLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { +// AsServiceNowLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { return nil, false } -// AsOffice365LinkedService is the BasicLinkedService implementation for HubspotLinkedService. -func (hls HubspotLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { +// AsQuickBooksLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { return nil, false } -// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for HubspotLinkedService. -func (hls HubspotLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { +// AsPrestoLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { return nil, false } -// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for HubspotLinkedService. -func (hls HubspotLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { +// AsPhoenixLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { return nil, false } -// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for HubspotLinkedService. -func (hls HubspotLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { +// AsPaypalLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { return nil, false } -// AsMongoDbV2LinkedService is the BasicLinkedService implementation for HubspotLinkedService. -func (hls HubspotLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { +// AsMarketoLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { return nil, false } -// AsMongoDbLinkedService is the BasicLinkedService implementation for HubspotLinkedService. -func (hls HubspotLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { return nil, false } -// AsCassandraLinkedService is the BasicLinkedService implementation for HubspotLinkedService. -func (hls HubspotLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { +// AsMariaDBLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { return nil, false } -// AsWebLinkedService is the BasicLinkedService implementation for HubspotLinkedService. -func (hls HubspotLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { +// AsMagentoLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { return nil, false } -// AsODataLinkedService is the BasicLinkedService implementation for HubspotLinkedService. -func (hls HubspotLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { +// AsJiraLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { return nil, false } -// AsHdfsLinkedService is the BasicLinkedService implementation for HubspotLinkedService. -func (hls HubspotLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { +// AsImpalaLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { return nil, false } -// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for HubspotLinkedService. -func (hls HubspotLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { +// AsHubspotLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { return nil, false } -// AsInformixLinkedService is the BasicLinkedService implementation for HubspotLinkedService. -func (hls HubspotLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { +// AsHiveLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { return nil, false } -// AsOdbcLinkedService is the BasicLinkedService implementation for HubspotLinkedService. -func (hls HubspotLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { +// AsHBaseLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { return nil, false } -// AsAzureMLLinkedService is the BasicLinkedService implementation for HubspotLinkedService. -func (hls HubspotLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { +// AsGreenplumLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { return nil, false } -// AsTeradataLinkedService is the BasicLinkedService implementation for HubspotLinkedService. -func (hls HubspotLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { return nil, false } -// AsDb2LinkedService is the BasicLinkedService implementation for HubspotLinkedService. -func (hls HubspotLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { +// AsEloquaLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { return nil, false } -// AsSybaseLinkedService is the BasicLinkedService implementation for HubspotLinkedService. -func (hls HubspotLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { +// AsDrillLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { return nil, false } -// AsPostgreSQLLinkedService is the BasicLinkedService implementation for HubspotLinkedService. -func (hls HubspotLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { +// AsCouchbaseLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { return nil, false } -// AsMySQLLinkedService is the BasicLinkedService implementation for HubspotLinkedService. -func (hls HubspotLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { +// AsConcurLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { return nil, false } -// AsAzureMySQLLinkedService is the BasicLinkedService implementation for HubspotLinkedService. -func (hls HubspotLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { return nil, false } -// AsOracleLinkedService is the BasicLinkedService implementation for HubspotLinkedService. -func (hls HubspotLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { return nil, false } -// AsFileServerLinkedService is the BasicLinkedService implementation for HubspotLinkedService. -func (hls HubspotLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { +// AsSapHanaLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { return nil, false } -// AsHDInsightLinkedService is the BasicLinkedService implementation for HubspotLinkedService. -func (hls HubspotLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { +// AsSapBWLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { return nil, false } -// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for HubspotLinkedService. -func (hls HubspotLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { +// AsSftpServerLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { return nil, false } -// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for HubspotLinkedService. -func (hls HubspotLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { +// AsFtpServerLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { return nil, false } -// AsDynamicsLinkedService is the BasicLinkedService implementation for HubspotLinkedService. -func (hls HubspotLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { +// AsHTTPLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { return nil, false } -// AsCosmosDbLinkedService is the BasicLinkedService implementation for HubspotLinkedService. -func (hls HubspotLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { +// AsAzureSearchLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { return nil, false } -// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for HubspotLinkedService. -func (hls HubspotLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { return nil, false } -// AsAzureBatchLinkedService is the BasicLinkedService implementation for HubspotLinkedService. -func (hls HubspotLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { return nil, false } -// AsAzureSQLMILinkedService is the BasicLinkedService implementation for HubspotLinkedService. -func (hls HubspotLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { +// AsAmazonS3LinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { return nil, false } -// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for HubspotLinkedService. -func (hls HubspotLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { +// AsRestServiceLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { return nil, false } -// AsSQLServerLinkedService is the BasicLinkedService implementation for HubspotLinkedService. -func (hls HubspotLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { return nil, false } -// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for HubspotLinkedService. -func (hls HubspotLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { +// AsSapEccLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { return nil, false } -// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for HubspotLinkedService. -func (hls HubspotLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { return nil, false } -// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for HubspotLinkedService. -func (hls HubspotLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { return nil, false } -// AsAzureStorageLinkedService is the BasicLinkedService implementation for HubspotLinkedService. -func (hls HubspotLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { +// AsSalesforceLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { return nil, false } -// AsLinkedService is the BasicLinkedService implementation for HubspotLinkedService. -func (hls HubspotLinkedService) AsLinkedService() (*LinkedService, bool) { +// AsOffice365LinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { return nil, false } -// AsBasicLinkedService is the BasicLinkedService implementation for HubspotLinkedService. -func (hls HubspotLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { - return &hls, true +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false } -// UnmarshalJSON is the custom unmarshaler for HubspotLinkedService struct. -func (hls *HubspotLinkedService) UnmarshalJSON(body []byte) error { +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for HDInsightOnDemandLinkedService. +func (hiodls HDInsightOnDemandLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &hiodls, true +} + +// UnmarshalJSON is the custom unmarshaler for HDInsightOnDemandLinkedService struct. +func (hiodls *HDInsightOnDemandLinkedService) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -97490,12 +103258,12 @@ func (hls *HubspotLinkedService) UnmarshalJSON(body []byte) error { switch k { case "typeProperties": if v != nil { - var hubspotLinkedServiceTypeProperties HubspotLinkedServiceTypeProperties - err = json.Unmarshal(*v, &hubspotLinkedServiceTypeProperties) + var hDInsightOnDemandLinkedServiceTypeProperties HDInsightOnDemandLinkedServiceTypeProperties + err = json.Unmarshal(*v, &hDInsightOnDemandLinkedServiceTypeProperties) if err != nil { return err } - hls.HubspotLinkedServiceTypeProperties = &hubspotLinkedServiceTypeProperties + hiodls.HDInsightOnDemandLinkedServiceTypeProperties = &hDInsightOnDemandLinkedServiceTypeProperties } default: if v != nil { @@ -97504,10 +103272,10 @@ func (hls *HubspotLinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - if hls.AdditionalProperties == nil { - hls.AdditionalProperties = make(map[string]interface{}) + if hiodls.AdditionalProperties == nil { + hiodls.AdditionalProperties = make(map[string]interface{}) } - hls.AdditionalProperties[k] = additionalProperties + hiodls.AdditionalProperties[k] = additionalProperties } case "connectVia": if v != nil { @@ -97516,7 +103284,7 @@ func (hls *HubspotLinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - hls.ConnectVia = &connectVia + hiodls.ConnectVia = &connectVia } case "description": if v != nil { @@ -97525,7 +103293,7 @@ func (hls *HubspotLinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - hls.Description = &description + hiodls.Description = &description } case "parameters": if v != nil { @@ -97534,7 +103302,7 @@ func (hls *HubspotLinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - hls.Parameters = parameters + hiodls.Parameters = parameters } case "annotations": if v != nil { @@ -97543,7 +103311,7 @@ func (hls *HubspotLinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - hls.Annotations = &annotations + hiodls.Annotations = &annotations } case "type": if v != nil { @@ -97552,7 +103320,7 @@ func (hls *HubspotLinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - hls.Type = typeVar + hiodls.Type = typeVar } } } @@ -97560,28 +103328,78 @@ func (hls *HubspotLinkedService) UnmarshalJSON(body []byte) error { return nil } -// HubspotLinkedServiceTypeProperties hubspot Service linked service properties. -type HubspotLinkedServiceTypeProperties struct { - // ClientID - The client ID associated with your Hubspot application. - ClientID interface{} `json:"clientId,omitempty"` - // ClientSecret - The client secret associated with your Hubspot application. - ClientSecret BasicSecretBase `json:"clientSecret,omitempty"` - // AccessToken - The access token obtained when initially authenticating your OAuth integration. - AccessToken BasicSecretBase `json:"accessToken,omitempty"` - // RefreshToken - The refresh token obtained when initially authenticating your OAuth integration. - RefreshToken BasicSecretBase `json:"refreshToken,omitempty"` - // UseEncryptedEndpoints - Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true. - UseEncryptedEndpoints interface{} `json:"useEncryptedEndpoints,omitempty"` - // UseHostVerification - Specifies whether to require the host name in the server's certificate to match the host name of the server when connecting over SSL. The default value is true. - UseHostVerification interface{} `json:"useHostVerification,omitempty"` - // UsePeerVerification - Specifies whether to verify the identity of the server when connecting over SSL. The default value is true. - UsePeerVerification interface{} `json:"usePeerVerification,omitempty"` +// HDInsightOnDemandLinkedServiceTypeProperties hDInsight ondemand linked service properties. +type HDInsightOnDemandLinkedServiceTypeProperties struct { + // ClusterSize - Number of worker/data nodes in the cluster. Suggestion value: 4. Type: string (or Expression with resultType string). + ClusterSize interface{} `json:"clusterSize,omitempty"` + // TimeToLive - The allowed idle time for the on-demand HDInsight cluster. Specifies how long the on-demand HDInsight cluster stays alive after completion of an activity run if there are no other active jobs in the cluster. The minimum value is 5 mins. Type: string (or Expression with resultType string). + TimeToLive interface{} `json:"timeToLive,omitempty"` + // Version - Version of the HDInsight cluster.  Type: string (or Expression with resultType string). + Version interface{} `json:"version,omitempty"` + // LinkedServiceName - Azure Storage linked service to be used by the on-demand cluster for storing and processing data. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // HostSubscriptionID - The customer’s subscription to host the cluster. Type: string (or Expression with resultType string). + HostSubscriptionID interface{} `json:"hostSubscriptionId,omitempty"` + // ServicePrincipalID - The service principal id for the hostSubscriptionId. Type: string (or Expression with resultType string). + ServicePrincipalID interface{} `json:"servicePrincipalId,omitempty"` + // ServicePrincipalKey - The key for the service principal id. + ServicePrincipalKey BasicSecretBase `json:"servicePrincipalKey,omitempty"` + // Tenant - The Tenant id/name to which the service principal belongs. Type: string (or Expression with resultType string). + Tenant interface{} `json:"tenant,omitempty"` + // ClusterResourceGroup - The resource group where the cluster belongs. Type: string (or Expression with resultType string). + ClusterResourceGroup interface{} `json:"clusterResourceGroup,omitempty"` + // ClusterNamePrefix - The prefix of cluster name, postfix will be distinct with timestamp. Type: string (or Expression with resultType string). + ClusterNamePrefix interface{} `json:"clusterNamePrefix,omitempty"` + // ClusterUserName - The username to access the cluster. Type: string (or Expression with resultType string). + ClusterUserName interface{} `json:"clusterUserName,omitempty"` + // ClusterPassword - The password to access the cluster. + ClusterPassword BasicSecretBase `json:"clusterPassword,omitempty"` + // ClusterSSHUserName - The username to SSH remotely connect to cluster’s node (for Linux). Type: string (or Expression with resultType string). + ClusterSSHUserName interface{} `json:"clusterSshUserName,omitempty"` + // ClusterSSHPassword - The password to SSH remotely connect cluster’s node (for Linux). + ClusterSSHPassword BasicSecretBase `json:"clusterSshPassword,omitempty"` + // AdditionalLinkedServiceNames - Specifies additional storage accounts for the HDInsight linked service so that the Data Factory service can register them on your behalf. + AdditionalLinkedServiceNames *[]LinkedServiceReference `json:"additionalLinkedServiceNames,omitempty"` + // HcatalogLinkedServiceName - The name of Azure SQL linked service that point to the HCatalog database. The on-demand HDInsight cluster is created by using the Azure SQL database as the metastore. + HcatalogLinkedServiceName *LinkedServiceReference `json:"hcatalogLinkedServiceName,omitempty"` + // ClusterType - The cluster type. Type: string (or Expression with resultType string). + ClusterType interface{} `json:"clusterType,omitempty"` + // SparkVersion - The version of spark if the cluster type is 'spark'. Type: string (or Expression with resultType string). + SparkVersion interface{} `json:"sparkVersion,omitempty"` + // CoreConfiguration - Specifies the core configuration parameters (as in core-site.xml) for the HDInsight cluster to be created. + CoreConfiguration interface{} `json:"coreConfiguration,omitempty"` + // HBaseConfiguration - Specifies the HBase configuration parameters (hbase-site.xml) for the HDInsight cluster. + HBaseConfiguration interface{} `json:"hBaseConfiguration,omitempty"` + // HdfsConfiguration - Specifies the HDFS configuration parameters (hdfs-site.xml) for the HDInsight cluster. + HdfsConfiguration interface{} `json:"hdfsConfiguration,omitempty"` + // HiveConfiguration - Specifies the hive configuration parameters (hive-site.xml) for the HDInsight cluster. + HiveConfiguration interface{} `json:"hiveConfiguration,omitempty"` + // MapReduceConfiguration - Specifies the MapReduce configuration parameters (mapred-site.xml) for the HDInsight cluster. + MapReduceConfiguration interface{} `json:"mapReduceConfiguration,omitempty"` + // OozieConfiguration - Specifies the Oozie configuration parameters (oozie-site.xml) for the HDInsight cluster. + OozieConfiguration interface{} `json:"oozieConfiguration,omitempty"` + // StormConfiguration - Specifies the Storm configuration parameters (storm-site.xml) for the HDInsight cluster. + StormConfiguration interface{} `json:"stormConfiguration,omitempty"` + // YarnConfiguration - Specifies the Yarn configuration parameters (yarn-site.xml) for the HDInsight cluster. + YarnConfiguration interface{} `json:"yarnConfiguration,omitempty"` // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` + // HeadNodeSize - Specifies the size of the head node for the HDInsight cluster. + HeadNodeSize interface{} `json:"headNodeSize,omitempty"` + // DataNodeSize - Specifies the size of the data node for the HDInsight cluster. + DataNodeSize interface{} `json:"dataNodeSize,omitempty"` + // ZookeeperNodeSize - Specifies the size of the Zoo Keeper node for the HDInsight cluster. + ZookeeperNodeSize interface{} `json:"zookeeperNodeSize,omitempty"` + // ScriptActions - Custom script actions to run on HDI ondemand cluster once it's up. Please refer to https://docs.microsoft.com/en-us/azure/hdinsight/hdinsight-hadoop-customize-cluster-linux?toc=%2Fen-us%2Fazure%2Fhdinsight%2Fr-server%2FTOC.json&bc=%2Fen-us%2Fazure%2Fbread%2Ftoc.json#understanding-script-actions. + ScriptActions *[]ScriptAction `json:"scriptActions,omitempty"` + // VirtualNetworkID - The ARM resource ID for the vNet to which the cluster should be joined after creation. Type: string (or Expression with resultType string). + VirtualNetworkID interface{} `json:"virtualNetworkId,omitempty"` + // SubnetName - The ARM resource ID for the subnet in the vNet. If virtualNetworkId was specified, then this property is required. Type: string (or Expression with resultType string). + SubnetName interface{} `json:"subnetName,omitempty"` } -// UnmarshalJSON is the custom unmarshaler for HubspotLinkedServiceTypeProperties struct. -func (hlstp *HubspotLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { +// UnmarshalJSON is the custom unmarshaler for HDInsightOnDemandLinkedServiceTypeProperties struct. +func (hiodlstp *HDInsightOnDemandLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -97589,65 +103407,236 @@ func (hlstp *HubspotLinkedServiceTypeProperties) UnmarshalJSON(body []byte) erro } for k, v := range m { switch k { - case "clientId": + case "clusterSize": if v != nil { - var clientID interface{} - err = json.Unmarshal(*v, &clientID) + var clusterSize interface{} + err = json.Unmarshal(*v, &clusterSize) if err != nil { return err } - hlstp.ClientID = clientID + hiodlstp.ClusterSize = clusterSize } - case "clientSecret": + case "timeToLive": if v != nil { - clientSecret, err := unmarshalBasicSecretBase(*v) + var timeToLive interface{} + err = json.Unmarshal(*v, &timeToLive) if err != nil { return err } - hlstp.ClientSecret = clientSecret + hiodlstp.TimeToLive = timeToLive } - case "accessToken": + case "version": if v != nil { - accessToken, err := unmarshalBasicSecretBase(*v) + var version interface{} + err = json.Unmarshal(*v, &version) if err != nil { return err } - hlstp.AccessToken = accessToken + hiodlstp.Version = version } - case "refreshToken": + case "linkedServiceName": if v != nil { - refreshToken, err := unmarshalBasicSecretBase(*v) + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) if err != nil { return err } - hlstp.RefreshToken = refreshToken + hiodlstp.LinkedServiceName = &linkedServiceName } - case "useEncryptedEndpoints": + case "hostSubscriptionId": if v != nil { - var useEncryptedEndpoints interface{} - err = json.Unmarshal(*v, &useEncryptedEndpoints) + var hostSubscriptionID interface{} + err = json.Unmarshal(*v, &hostSubscriptionID) if err != nil { return err } - hlstp.UseEncryptedEndpoints = useEncryptedEndpoints + hiodlstp.HostSubscriptionID = hostSubscriptionID } - case "useHostVerification": + case "servicePrincipalId": if v != nil { - var useHostVerification interface{} - err = json.Unmarshal(*v, &useHostVerification) + var servicePrincipalID interface{} + err = json.Unmarshal(*v, &servicePrincipalID) if err != nil { return err } - hlstp.UseHostVerification = useHostVerification + hiodlstp.ServicePrincipalID = servicePrincipalID } - case "usePeerVerification": + case "servicePrincipalKey": if v != nil { - var usePeerVerification interface{} - err = json.Unmarshal(*v, &usePeerVerification) + servicePrincipalKey, err := unmarshalBasicSecretBase(*v) if err != nil { return err } - hlstp.UsePeerVerification = usePeerVerification + hiodlstp.ServicePrincipalKey = servicePrincipalKey + } + case "tenant": + if v != nil { + var tenant interface{} + err = json.Unmarshal(*v, &tenant) + if err != nil { + return err + } + hiodlstp.Tenant = tenant + } + case "clusterResourceGroup": + if v != nil { + var clusterResourceGroup interface{} + err = json.Unmarshal(*v, &clusterResourceGroup) + if err != nil { + return err + } + hiodlstp.ClusterResourceGroup = clusterResourceGroup + } + case "clusterNamePrefix": + if v != nil { + var clusterNamePrefix interface{} + err = json.Unmarshal(*v, &clusterNamePrefix) + if err != nil { + return err + } + hiodlstp.ClusterNamePrefix = clusterNamePrefix + } + case "clusterUserName": + if v != nil { + var clusterUserName interface{} + err = json.Unmarshal(*v, &clusterUserName) + if err != nil { + return err + } + hiodlstp.ClusterUserName = clusterUserName + } + case "clusterPassword": + if v != nil { + clusterPassword, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + hiodlstp.ClusterPassword = clusterPassword + } + case "clusterSshUserName": + if v != nil { + var clusterSSHUserName interface{} + err = json.Unmarshal(*v, &clusterSSHUserName) + if err != nil { + return err + } + hiodlstp.ClusterSSHUserName = clusterSSHUserName + } + case "clusterSshPassword": + if v != nil { + clusterSSHPassword, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + hiodlstp.ClusterSSHPassword = clusterSSHPassword + } + case "additionalLinkedServiceNames": + if v != nil { + var additionalLinkedServiceNames []LinkedServiceReference + err = json.Unmarshal(*v, &additionalLinkedServiceNames) + if err != nil { + return err + } + hiodlstp.AdditionalLinkedServiceNames = &additionalLinkedServiceNames + } + case "hcatalogLinkedServiceName": + if v != nil { + var hcatalogLinkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &hcatalogLinkedServiceName) + if err != nil { + return err + } + hiodlstp.HcatalogLinkedServiceName = &hcatalogLinkedServiceName + } + case "clusterType": + if v != nil { + var clusterType interface{} + err = json.Unmarshal(*v, &clusterType) + if err != nil { + return err + } + hiodlstp.ClusterType = clusterType + } + case "sparkVersion": + if v != nil { + var sparkVersion interface{} + err = json.Unmarshal(*v, &sparkVersion) + if err != nil { + return err + } + hiodlstp.SparkVersion = sparkVersion + } + case "coreConfiguration": + if v != nil { + var coreConfiguration interface{} + err = json.Unmarshal(*v, &coreConfiguration) + if err != nil { + return err + } + hiodlstp.CoreConfiguration = coreConfiguration + } + case "hBaseConfiguration": + if v != nil { + var hBaseConfiguration interface{} + err = json.Unmarshal(*v, &hBaseConfiguration) + if err != nil { + return err + } + hiodlstp.HBaseConfiguration = hBaseConfiguration + } + case "hdfsConfiguration": + if v != nil { + var hdfsConfiguration interface{} + err = json.Unmarshal(*v, &hdfsConfiguration) + if err != nil { + return err + } + hiodlstp.HdfsConfiguration = hdfsConfiguration + } + case "hiveConfiguration": + if v != nil { + var hiveConfiguration interface{} + err = json.Unmarshal(*v, &hiveConfiguration) + if err != nil { + return err + } + hiodlstp.HiveConfiguration = hiveConfiguration + } + case "mapReduceConfiguration": + if v != nil { + var mapReduceConfiguration interface{} + err = json.Unmarshal(*v, &mapReduceConfiguration) + if err != nil { + return err + } + hiodlstp.MapReduceConfiguration = mapReduceConfiguration + } + case "oozieConfiguration": + if v != nil { + var oozieConfiguration interface{} + err = json.Unmarshal(*v, &oozieConfiguration) + if err != nil { + return err + } + hiodlstp.OozieConfiguration = oozieConfiguration + } + case "stormConfiguration": + if v != nil { + var stormConfiguration interface{} + err = json.Unmarshal(*v, &stormConfiguration) + if err != nil { + return err + } + hiodlstp.StormConfiguration = stormConfiguration + } + case "yarnConfiguration": + if v != nil { + var yarnConfiguration interface{} + err = json.Unmarshal(*v, &yarnConfiguration) + if err != nil { + return err + } + hiodlstp.YarnConfiguration = yarnConfiguration } case "encryptedCredential": if v != nil { @@ -97656,7 +103645,61 @@ func (hlstp *HubspotLinkedServiceTypeProperties) UnmarshalJSON(body []byte) erro if err != nil { return err } - hlstp.EncryptedCredential = encryptedCredential + hiodlstp.EncryptedCredential = encryptedCredential + } + case "headNodeSize": + if v != nil { + var headNodeSize interface{} + err = json.Unmarshal(*v, &headNodeSize) + if err != nil { + return err + } + hiodlstp.HeadNodeSize = headNodeSize + } + case "dataNodeSize": + if v != nil { + var dataNodeSize interface{} + err = json.Unmarshal(*v, &dataNodeSize) + if err != nil { + return err + } + hiodlstp.DataNodeSize = dataNodeSize + } + case "zookeeperNodeSize": + if v != nil { + var zookeeperNodeSize interface{} + err = json.Unmarshal(*v, &zookeeperNodeSize) + if err != nil { + return err + } + hiodlstp.ZookeeperNodeSize = zookeeperNodeSize + } + case "scriptActions": + if v != nil { + var scriptActions []ScriptAction + err = json.Unmarshal(*v, &scriptActions) + if err != nil { + return err + } + hiodlstp.ScriptActions = &scriptActions + } + case "virtualNetworkId": + if v != nil { + var virtualNetworkID interface{} + err = json.Unmarshal(*v, &virtualNetworkID) + if err != nil { + return err + } + hiodlstp.VirtualNetworkID = virtualNetworkID + } + case "subnetName": + if v != nil { + var subnetName interface{} + err = json.Unmarshal(*v, &subnetName) + if err != nil { + return err + } + hiodlstp.SubnetName = subnetName } } } @@ -97664,489 +103707,659 @@ func (hlstp *HubspotLinkedServiceTypeProperties) UnmarshalJSON(body []byte) erro return nil } -// HubspotObjectDataset hubspot Service dataset. -type HubspotObjectDataset struct { - // GenericDatasetTypeProperties - Properties specific to this dataset type. - *GenericDatasetTypeProperties `json:"typeProperties,omitempty"` +// HDInsightPigActivity hDInsight Pig activity type. +type HDInsightPigActivity struct { + // HDInsightPigActivityTypeProperties - HDInsight Pig activity properties. + *HDInsightPigActivityTypeProperties `json:"typeProperties,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Policy - Activity policy. + Policy *ActivityPolicy `json:"policy,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` - // Description - Dataset description. + // Name - Activity name. + Name *string `json:"name,omitempty"` + // Description - Activity description. Description *string `json:"description,omitempty"` - // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. - Structure interface{} `json:"structure,omitempty"` - // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. - Schema interface{} `json:"schema,omitempty"` - // LinkedServiceName - Linked service reference. - LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` - // Parameters - Parameters for dataset. - Parameters map[string]*ParameterSpecification `json:"parameters"` - // Annotations - List of tags that can be used for describing the Dataset. - Annotations *[]interface{} `json:"annotations,omitempty"` - // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. - Folder *DatasetFolder `json:"folder,omitempty"` - // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' - Type TypeBasicDataset `json:"type,omitempty"` + // DependsOn - Activity depends on condition. + DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"` + // UserProperties - Activity user properties. + UserProperties *[]UserProperty `json:"userProperties,omitempty"` + // Type - Possible values include: 'TypeActivity', 'TypeExecuteDataFlow', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLExecutePipeline', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeSwitch', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer' + Type TypeBasicActivity `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for HubspotObjectDataset. -func (hod HubspotObjectDataset) MarshalJSON() ([]byte, error) { - hod.Type = TypeHubspotObject +// MarshalJSON is the custom marshaler for HDInsightPigActivity. +func (hipa HDInsightPigActivity) MarshalJSON() ([]byte, error) { + hipa.Type = TypeHDInsightPig objectMap := make(map[string]interface{}) - if hod.GenericDatasetTypeProperties != nil { - objectMap["typeProperties"] = hod.GenericDatasetTypeProperties - } - if hod.Description != nil { - objectMap["description"] = hod.Description + if hipa.HDInsightPigActivityTypeProperties != nil { + objectMap["typeProperties"] = hipa.HDInsightPigActivityTypeProperties } - if hod.Structure != nil { - objectMap["structure"] = hod.Structure + if hipa.LinkedServiceName != nil { + objectMap["linkedServiceName"] = hipa.LinkedServiceName } - if hod.Schema != nil { - objectMap["schema"] = hod.Schema + if hipa.Policy != nil { + objectMap["policy"] = hipa.Policy } - if hod.LinkedServiceName != nil { - objectMap["linkedServiceName"] = hod.LinkedServiceName + if hipa.Name != nil { + objectMap["name"] = hipa.Name } - if hod.Parameters != nil { - objectMap["parameters"] = hod.Parameters + if hipa.Description != nil { + objectMap["description"] = hipa.Description } - if hod.Annotations != nil { - objectMap["annotations"] = hod.Annotations + if hipa.DependsOn != nil { + objectMap["dependsOn"] = hipa.DependsOn } - if hod.Folder != nil { - objectMap["folder"] = hod.Folder + if hipa.UserProperties != nil { + objectMap["userProperties"] = hipa.UserProperties } - if hod.Type != "" { - objectMap["type"] = hod.Type + if hipa.Type != "" { + objectMap["type"] = hipa.Type } - for k, v := range hod.AdditionalProperties { + for k, v := range hipa.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for HubspotObjectDataset. -func (hod HubspotObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { +// AsExecuteDataFlowActivity is the BasicActivity implementation for HDInsightPigActivity. +func (hipa HDInsightPigActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) { return nil, false } -// AsAzureDataExplorerTableDataset is the BasicDataset implementation for HubspotObjectDataset. -func (hod HubspotObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { +// AsAzureFunctionActivity is the BasicActivity implementation for HDInsightPigActivity. +func (hipa HDInsightPigActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) { return nil, false } -// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for HubspotObjectDataset. -func (hod HubspotObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { +// AsDatabricksSparkPythonActivity is the BasicActivity implementation for HDInsightPigActivity. +func (hipa HDInsightPigActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) { return nil, false } -// AsDynamicsAXResourceDataset is the BasicDataset implementation for HubspotObjectDataset. -func (hod HubspotObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { +// AsDatabricksSparkJarActivity is the BasicActivity implementation for HDInsightPigActivity. +func (hipa HDInsightPigActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) { return nil, false } -// AsResponsysObjectDataset is the BasicDataset implementation for HubspotObjectDataset. -func (hod HubspotObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { +// AsDatabricksNotebookActivity is the BasicActivity implementation for HDInsightPigActivity. +func (hipa HDInsightPigActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) { return nil, false } -// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for HubspotObjectDataset. -func (hod HubspotObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { +// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for HDInsightPigActivity. +func (hipa HDInsightPigActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) { return nil, false } -// AsVerticaTableDataset is the BasicDataset implementation for HubspotObjectDataset. -func (hod HubspotObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { +// AsAzureMLExecutePipelineActivity is the BasicActivity implementation for HDInsightPigActivity. +func (hipa HDInsightPigActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) { return nil, false } -// AsNetezzaTableDataset is the BasicDataset implementation for HubspotObjectDataset. -func (hod HubspotObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { +// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for HDInsightPigActivity. +func (hipa HDInsightPigActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) { return nil, false } -// AsZohoObjectDataset is the BasicDataset implementation for HubspotObjectDataset. -func (hod HubspotObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { +// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for HDInsightPigActivity. +func (hipa HDInsightPigActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) { return nil, false } -// AsXeroObjectDataset is the BasicDataset implementation for HubspotObjectDataset. -func (hod HubspotObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { +// AsGetMetadataActivity is the BasicActivity implementation for HDInsightPigActivity. +func (hipa HDInsightPigActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) { return nil, false } -// AsSquareObjectDataset is the BasicDataset implementation for HubspotObjectDataset. -func (hod HubspotObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { +// AsWebActivity is the BasicActivity implementation for HDInsightPigActivity. +func (hipa HDInsightPigActivity) AsWebActivity() (*WebActivity, bool) { return nil, false } -// AsSparkObjectDataset is the BasicDataset implementation for HubspotObjectDataset. -func (hod HubspotObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { +// AsLookupActivity is the BasicActivity implementation for HDInsightPigActivity. +func (hipa HDInsightPigActivity) AsLookupActivity() (*LookupActivity, bool) { return nil, false } -// AsShopifyObjectDataset is the BasicDataset implementation for HubspotObjectDataset. -func (hod HubspotObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { +// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for HDInsightPigActivity. +func (hipa HDInsightPigActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) { return nil, false } -// AsServiceNowObjectDataset is the BasicDataset implementation for HubspotObjectDataset. -func (hod HubspotObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { +// AsDeleteActivity is the BasicActivity implementation for HDInsightPigActivity. +func (hipa HDInsightPigActivity) AsDeleteActivity() (*DeleteActivity, bool) { return nil, false } -// AsQuickBooksObjectDataset is the BasicDataset implementation for HubspotObjectDataset. -func (hod HubspotObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { +// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for HDInsightPigActivity. +func (hipa HDInsightPigActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) { return nil, false } -// AsPrestoObjectDataset is the BasicDataset implementation for HubspotObjectDataset. -func (hod HubspotObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { +// AsCustomActivity is the BasicActivity implementation for HDInsightPigActivity. +func (hipa HDInsightPigActivity) AsCustomActivity() (*CustomActivity, bool) { return nil, false } -// AsPhoenixObjectDataset is the BasicDataset implementation for HubspotObjectDataset. -func (hod HubspotObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { +// AsExecuteSSISPackageActivity is the BasicActivity implementation for HDInsightPigActivity. +func (hipa HDInsightPigActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) { return nil, false } -// AsPaypalObjectDataset is the BasicDataset implementation for HubspotObjectDataset. -func (hod HubspotObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { +// AsHDInsightSparkActivity is the BasicActivity implementation for HDInsightPigActivity. +func (hipa HDInsightPigActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) { return nil, false } -// AsMarketoObjectDataset is the BasicDataset implementation for HubspotObjectDataset. -func (hod HubspotObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { +// AsHDInsightStreamingActivity is the BasicActivity implementation for HDInsightPigActivity. +func (hipa HDInsightPigActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) { return nil, false } -// AsAzureMariaDBTableDataset is the BasicDataset implementation for HubspotObjectDataset. -func (hod HubspotObjectDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { +// AsHDInsightMapReduceActivity is the BasicActivity implementation for HDInsightPigActivity. +func (hipa HDInsightPigActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) { return nil, false } -// AsMariaDBTableDataset is the BasicDataset implementation for HubspotObjectDataset. -func (hod HubspotObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { - return nil, false +// AsHDInsightPigActivity is the BasicActivity implementation for HDInsightPigActivity. +func (hipa HDInsightPigActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) { + return &hipa, true } -// AsMagentoObjectDataset is the BasicDataset implementation for HubspotObjectDataset. -func (hod HubspotObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { +// AsHDInsightHiveActivity is the BasicActivity implementation for HDInsightPigActivity. +func (hipa HDInsightPigActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) { return nil, false } -// AsJiraObjectDataset is the BasicDataset implementation for HubspotObjectDataset. -func (hod HubspotObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { +// AsCopyActivity is the BasicActivity implementation for HDInsightPigActivity. +func (hipa HDInsightPigActivity) AsCopyActivity() (*CopyActivity, bool) { return nil, false } -// AsImpalaObjectDataset is the BasicDataset implementation for HubspotObjectDataset. -func (hod HubspotObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { +// AsExecutionActivity is the BasicActivity implementation for HDInsightPigActivity. +func (hipa HDInsightPigActivity) AsExecutionActivity() (*ExecutionActivity, bool) { return nil, false } -// AsHubspotObjectDataset is the BasicDataset implementation for HubspotObjectDataset. -func (hod HubspotObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { - return &hod, true +// AsBasicExecutionActivity is the BasicActivity implementation for HDInsightPigActivity. +func (hipa HDInsightPigActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) { + return &hipa, true } -// AsHiveObjectDataset is the BasicDataset implementation for HubspotObjectDataset. -func (hod HubspotObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { +// AsWebHookActivity is the BasicActivity implementation for HDInsightPigActivity. +func (hipa HDInsightPigActivity) AsWebHookActivity() (*WebHookActivity, bool) { return nil, false } -// AsHBaseObjectDataset is the BasicDataset implementation for HubspotObjectDataset. -func (hod HubspotObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { +// AsAppendVariableActivity is the BasicActivity implementation for HDInsightPigActivity. +func (hipa HDInsightPigActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) { return nil, false } -// AsGreenplumTableDataset is the BasicDataset implementation for HubspotObjectDataset. -func (hod HubspotObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { +// AsSetVariableActivity is the BasicActivity implementation for HDInsightPigActivity. +func (hipa HDInsightPigActivity) AsSetVariableActivity() (*SetVariableActivity, bool) { return nil, false } -// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for HubspotObjectDataset. -func (hod HubspotObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { +// AsFilterActivity is the BasicActivity implementation for HDInsightPigActivity. +func (hipa HDInsightPigActivity) AsFilterActivity() (*FilterActivity, bool) { return nil, false } -// AsEloquaObjectDataset is the BasicDataset implementation for HubspotObjectDataset. -func (hod HubspotObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { +// AsValidationActivity is the BasicActivity implementation for HDInsightPigActivity. +func (hipa HDInsightPigActivity) AsValidationActivity() (*ValidationActivity, bool) { return nil, false } -// AsDrillTableDataset is the BasicDataset implementation for HubspotObjectDataset. -func (hod HubspotObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { +// AsUntilActivity is the BasicActivity implementation for HDInsightPigActivity. +func (hipa HDInsightPigActivity) AsUntilActivity() (*UntilActivity, bool) { return nil, false } -// AsCouchbaseTableDataset is the BasicDataset implementation for HubspotObjectDataset. -func (hod HubspotObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { +// AsWaitActivity is the BasicActivity implementation for HDInsightPigActivity. +func (hipa HDInsightPigActivity) AsWaitActivity() (*WaitActivity, bool) { return nil, false } -// AsConcurObjectDataset is the BasicDataset implementation for HubspotObjectDataset. -func (hod HubspotObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { +// AsForEachActivity is the BasicActivity implementation for HDInsightPigActivity. +func (hipa HDInsightPigActivity) AsForEachActivity() (*ForEachActivity, bool) { return nil, false } -// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for HubspotObjectDataset. -func (hod HubspotObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { +// AsSwitchActivity is the BasicActivity implementation for HDInsightPigActivity. +func (hipa HDInsightPigActivity) AsSwitchActivity() (*SwitchActivity, bool) { return nil, false } -// AsAmazonMWSObjectDataset is the BasicDataset implementation for HubspotObjectDataset. -func (hod HubspotObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { +// AsIfConditionActivity is the BasicActivity implementation for HDInsightPigActivity. +func (hipa HDInsightPigActivity) AsIfConditionActivity() (*IfConditionActivity, bool) { return nil, false } -// AsHTTPDataset is the BasicDataset implementation for HubspotObjectDataset. -func (hod HubspotObjectDataset) AsHTTPDataset() (*HTTPDataset, bool) { +// AsExecutePipelineActivity is the BasicActivity implementation for HDInsightPigActivity. +func (hipa HDInsightPigActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) { return nil, false } -// AsAzureSearchIndexDataset is the BasicDataset implementation for HubspotObjectDataset. -func (hod HubspotObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { +// AsControlActivity is the BasicActivity implementation for HDInsightPigActivity. +func (hipa HDInsightPigActivity) AsControlActivity() (*ControlActivity, bool) { return nil, false } -// AsWebTableDataset is the BasicDataset implementation for HubspotObjectDataset. -func (hod HubspotObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) { +// AsBasicControlActivity is the BasicActivity implementation for HDInsightPigActivity. +func (hipa HDInsightPigActivity) AsBasicControlActivity() (BasicControlActivity, bool) { return nil, false } -// AsSapTableResourceDataset is the BasicDataset implementation for HubspotObjectDataset. -func (hod HubspotObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { +// AsActivity is the BasicActivity implementation for HDInsightPigActivity. +func (hipa HDInsightPigActivity) AsActivity() (*Activity, bool) { return nil, false } -// AsRestResourceDataset is the BasicDataset implementation for HubspotObjectDataset. -func (hod HubspotObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { - return nil, false +// AsBasicActivity is the BasicActivity implementation for HDInsightPigActivity. +func (hipa HDInsightPigActivity) AsBasicActivity() (BasicActivity, bool) { + return &hipa, true } -// AsSQLServerTableDataset is the BasicDataset implementation for HubspotObjectDataset. -func (hod HubspotObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { - return nil, false +// UnmarshalJSON is the custom unmarshaler for HDInsightPigActivity struct. +func (hipa *HDInsightPigActivity) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var hDInsightPigActivityTypeProperties HDInsightPigActivityTypeProperties + err = json.Unmarshal(*v, &hDInsightPigActivityTypeProperties) + if err != nil { + return err + } + hipa.HDInsightPigActivityTypeProperties = &hDInsightPigActivityTypeProperties + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + hipa.LinkedServiceName = &linkedServiceName + } + case "policy": + if v != nil { + var policy ActivityPolicy + err = json.Unmarshal(*v, &policy) + if err != nil { + return err + } + hipa.Policy = &policy + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if hipa.AdditionalProperties == nil { + hipa.AdditionalProperties = make(map[string]interface{}) + } + hipa.AdditionalProperties[k] = additionalProperties + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + hipa.Name = &name + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + hipa.Description = &description + } + case "dependsOn": + if v != nil { + var dependsOn []ActivityDependency + err = json.Unmarshal(*v, &dependsOn) + if err != nil { + return err + } + hipa.DependsOn = &dependsOn + } + case "userProperties": + if v != nil { + var userProperties []UserProperty + err = json.Unmarshal(*v, &userProperties) + if err != nil { + return err + } + hipa.UserProperties = &userProperties + } + case "type": + if v != nil { + var typeVar TypeBasicActivity + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + hipa.Type = typeVar + } + } + } + + return nil } -// AsSapOpenHubTableDataset is the BasicDataset implementation for HubspotObjectDataset. -func (hod HubspotObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { - return nil, false +// HDInsightPigActivityTypeProperties hDInsight Pig activity properties. +type HDInsightPigActivityTypeProperties struct { + // StorageLinkedServices - Storage linked service references. + StorageLinkedServices *[]LinkedServiceReference `json:"storageLinkedServices,omitempty"` + // Arguments - User specified arguments to HDInsightActivity. Type: array (or Expression with resultType array). + Arguments interface{} `json:"arguments,omitempty"` + // GetDebugInfo - Debug info option. Possible values include: 'HDInsightActivityDebugInfoOptionNone', 'HDInsightActivityDebugInfoOptionAlways', 'HDInsightActivityDebugInfoOptionFailure' + GetDebugInfo HDInsightActivityDebugInfoOption `json:"getDebugInfo,omitempty"` + // ScriptPath - Script path. Type: string (or Expression with resultType string). + ScriptPath interface{} `json:"scriptPath,omitempty"` + // ScriptLinkedService - Script linked service reference. + ScriptLinkedService *LinkedServiceReference `json:"scriptLinkedService,omitempty"` + // Defines - Allows user to specify defines for Pig job request. + Defines map[string]interface{} `json:"defines"` } -// AsSapHanaTableDataset is the BasicDataset implementation for HubspotObjectDataset. -func (hod HubspotObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { - return nil, false +// MarshalJSON is the custom marshaler for HDInsightPigActivityTypeProperties. +func (hipatp HDInsightPigActivityTypeProperties) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if hipatp.StorageLinkedServices != nil { + objectMap["storageLinkedServices"] = hipatp.StorageLinkedServices + } + if hipatp.Arguments != nil { + objectMap["arguments"] = hipatp.Arguments + } + if hipatp.GetDebugInfo != "" { + objectMap["getDebugInfo"] = hipatp.GetDebugInfo + } + if hipatp.ScriptPath != nil { + objectMap["scriptPath"] = hipatp.ScriptPath + } + if hipatp.ScriptLinkedService != nil { + objectMap["scriptLinkedService"] = hipatp.ScriptLinkedService + } + if hipatp.Defines != nil { + objectMap["defines"] = hipatp.Defines + } + return json.Marshal(objectMap) } -// AsSapEccResourceDataset is the BasicDataset implementation for HubspotObjectDataset. -func (hod HubspotObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { - return nil, false +// HDInsightSparkActivity hDInsight Spark activity. +type HDInsightSparkActivity struct { + // HDInsightSparkActivityTypeProperties - HDInsight spark activity properties. + *HDInsightSparkActivityTypeProperties `json:"typeProperties,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Policy - Activity policy. + Policy *ActivityPolicy `json:"policy,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Name - Activity name. + Name *string `json:"name,omitempty"` + // Description - Activity description. + Description *string `json:"description,omitempty"` + // DependsOn - Activity depends on condition. + DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"` + // UserProperties - Activity user properties. + UserProperties *[]UserProperty `json:"userProperties,omitempty"` + // Type - Possible values include: 'TypeActivity', 'TypeExecuteDataFlow', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLExecutePipeline', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeSwitch', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer' + Type TypeBasicActivity `json:"type,omitempty"` } -// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for HubspotObjectDataset. -func (hod HubspotObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { - return nil, false +// MarshalJSON is the custom marshaler for HDInsightSparkActivity. +func (hisa HDInsightSparkActivity) MarshalJSON() ([]byte, error) { + hisa.Type = TypeHDInsightSpark + objectMap := make(map[string]interface{}) + if hisa.HDInsightSparkActivityTypeProperties != nil { + objectMap["typeProperties"] = hisa.HDInsightSparkActivityTypeProperties + } + if hisa.LinkedServiceName != nil { + objectMap["linkedServiceName"] = hisa.LinkedServiceName + } + if hisa.Policy != nil { + objectMap["policy"] = hisa.Policy + } + if hisa.Name != nil { + objectMap["name"] = hisa.Name + } + if hisa.Description != nil { + objectMap["description"] = hisa.Description + } + if hisa.DependsOn != nil { + objectMap["dependsOn"] = hisa.DependsOn + } + if hisa.UserProperties != nil { + objectMap["userProperties"] = hisa.UserProperties + } + if hisa.Type != "" { + objectMap["type"] = hisa.Type + } + for k, v := range hisa.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) } -// AsSapBwCubeDataset is the BasicDataset implementation for HubspotObjectDataset. -func (hod HubspotObjectDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { +// AsExecuteDataFlowActivity is the BasicActivity implementation for HDInsightSparkActivity. +func (hisa HDInsightSparkActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) { return nil, false } -// AsSybaseTableDataset is the BasicDataset implementation for HubspotObjectDataset. -func (hod HubspotObjectDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { +// AsAzureFunctionActivity is the BasicActivity implementation for HDInsightSparkActivity. +func (hisa HDInsightSparkActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) { return nil, false } -// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for HubspotObjectDataset. -func (hod HubspotObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { +// AsDatabricksSparkPythonActivity is the BasicActivity implementation for HDInsightSparkActivity. +func (hisa HDInsightSparkActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) { return nil, false } -// AsSalesforceObjectDataset is the BasicDataset implementation for HubspotObjectDataset. -func (hod HubspotObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { +// AsDatabricksSparkJarActivity is the BasicActivity implementation for HDInsightSparkActivity. +func (hisa HDInsightSparkActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) { return nil, false } -// AsMicrosoftAccessTableDataset is the BasicDataset implementation for HubspotObjectDataset. -func (hod HubspotObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { +// AsDatabricksNotebookActivity is the BasicActivity implementation for HDInsightSparkActivity. +func (hisa HDInsightSparkActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) { return nil, false } -// AsPostgreSQLTableDataset is the BasicDataset implementation for HubspotObjectDataset. -func (hod HubspotObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { +// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for HDInsightSparkActivity. +func (hisa HDInsightSparkActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) { return nil, false } -// AsMySQLTableDataset is the BasicDataset implementation for HubspotObjectDataset. -func (hod HubspotObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { +// AsAzureMLExecutePipelineActivity is the BasicActivity implementation for HDInsightSparkActivity. +func (hisa HDInsightSparkActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) { return nil, false } -// AsOdbcTableDataset is the BasicDataset implementation for HubspotObjectDataset. -func (hod HubspotObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { +// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for HDInsightSparkActivity. +func (hisa HDInsightSparkActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) { return nil, false } -// AsInformixTableDataset is the BasicDataset implementation for HubspotObjectDataset. -func (hod HubspotObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { +// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for HDInsightSparkActivity. +func (hisa HDInsightSparkActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) { return nil, false } -// AsRelationalTableDataset is the BasicDataset implementation for HubspotObjectDataset. -func (hod HubspotObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { +// AsGetMetadataActivity is the BasicActivity implementation for HDInsightSparkActivity. +func (hisa HDInsightSparkActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) { return nil, false } -// AsAzureMySQLTableDataset is the BasicDataset implementation for HubspotObjectDataset. -func (hod HubspotObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { +// AsWebActivity is the BasicActivity implementation for HDInsightSparkActivity. +func (hisa HDInsightSparkActivity) AsWebActivity() (*WebActivity, bool) { return nil, false } -// AsTeradataTableDataset is the BasicDataset implementation for HubspotObjectDataset. -func (hod HubspotObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { +// AsLookupActivity is the BasicActivity implementation for HDInsightSparkActivity. +func (hisa HDInsightSparkActivity) AsLookupActivity() (*LookupActivity, bool) { return nil, false } -// AsOracleTableDataset is the BasicDataset implementation for HubspotObjectDataset. -func (hod HubspotObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { +// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for HDInsightSparkActivity. +func (hisa HDInsightSparkActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) { return nil, false } -// AsODataResourceDataset is the BasicDataset implementation for HubspotObjectDataset. -func (hod HubspotObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { +// AsDeleteActivity is the BasicActivity implementation for HDInsightSparkActivity. +func (hisa HDInsightSparkActivity) AsDeleteActivity() (*DeleteActivity, bool) { return nil, false } -// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for HubspotObjectDataset. -func (hod HubspotObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { +// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for HDInsightSparkActivity. +func (hisa HDInsightSparkActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) { return nil, false } -// AsMongoDbV2CollectionDataset is the BasicDataset implementation for HubspotObjectDataset. -func (hod HubspotObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { +// AsCustomActivity is the BasicActivity implementation for HDInsightSparkActivity. +func (hisa HDInsightSparkActivity) AsCustomActivity() (*CustomActivity, bool) { return nil, false } -// AsMongoDbCollectionDataset is the BasicDataset implementation for HubspotObjectDataset. -func (hod HubspotObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { +// AsExecuteSSISPackageActivity is the BasicActivity implementation for HDInsightSparkActivity. +func (hisa HDInsightSparkActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) { return nil, false } -// AsFileShareDataset is the BasicDataset implementation for HubspotObjectDataset. -func (hod HubspotObjectDataset) AsFileShareDataset() (*FileShareDataset, bool) { - return nil, false +// AsHDInsightSparkActivity is the BasicActivity implementation for HDInsightSparkActivity. +func (hisa HDInsightSparkActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) { + return &hisa, true } -// AsOffice365Dataset is the BasicDataset implementation for HubspotObjectDataset. -func (hod HubspotObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) { +// AsHDInsightStreamingActivity is the BasicActivity implementation for HDInsightSparkActivity. +func (hisa HDInsightSparkActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) { return nil, false } -// AsAzureBlobFSDataset is the BasicDataset implementation for HubspotObjectDataset. -func (hod HubspotObjectDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) { +// AsHDInsightMapReduceActivity is the BasicActivity implementation for HDInsightSparkActivity. +func (hisa HDInsightSparkActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) { return nil, false } -// AsAzureDataLakeStoreDataset is the BasicDataset implementation for HubspotObjectDataset. -func (hod HubspotObjectDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) { +// AsHDInsightPigActivity is the BasicActivity implementation for HDInsightSparkActivity. +func (hisa HDInsightSparkActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) { return nil, false } -// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for HubspotObjectDataset. -func (hod HubspotObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { +// AsHDInsightHiveActivity is the BasicActivity implementation for HDInsightSparkActivity. +func (hisa HDInsightSparkActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) { return nil, false } -// AsDynamicsCrmEntityDataset is the BasicDataset implementation for HubspotObjectDataset. -func (hod HubspotObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { +// AsCopyActivity is the BasicActivity implementation for HDInsightSparkActivity. +func (hisa HDInsightSparkActivity) AsCopyActivity() (*CopyActivity, bool) { return nil, false } -// AsDynamicsEntityDataset is the BasicDataset implementation for HubspotObjectDataset. -func (hod HubspotObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { +// AsExecutionActivity is the BasicActivity implementation for HDInsightSparkActivity. +func (hisa HDInsightSparkActivity) AsExecutionActivity() (*ExecutionActivity, bool) { return nil, false } -// AsDocumentDbCollectionDataset is the BasicDataset implementation for HubspotObjectDataset. -func (hod HubspotObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { +// AsBasicExecutionActivity is the BasicActivity implementation for HDInsightSparkActivity. +func (hisa HDInsightSparkActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) { + return &hisa, true +} + +// AsWebHookActivity is the BasicActivity implementation for HDInsightSparkActivity. +func (hisa HDInsightSparkActivity) AsWebHookActivity() (*WebHookActivity, bool) { return nil, false } -// AsCustomDataset is the BasicDataset implementation for HubspotObjectDataset. -func (hod HubspotObjectDataset) AsCustomDataset() (*CustomDataset, bool) { +// AsAppendVariableActivity is the BasicActivity implementation for HDInsightSparkActivity. +func (hisa HDInsightSparkActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) { return nil, false } -// AsCassandraTableDataset is the BasicDataset implementation for HubspotObjectDataset. -func (hod HubspotObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { +// AsSetVariableActivity is the BasicActivity implementation for HDInsightSparkActivity. +func (hisa HDInsightSparkActivity) AsSetVariableActivity() (*SetVariableActivity, bool) { return nil, false } -// AsAzureSQLDWTableDataset is the BasicDataset implementation for HubspotObjectDataset. -func (hod HubspotObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { +// AsFilterActivity is the BasicActivity implementation for HDInsightSparkActivity. +func (hisa HDInsightSparkActivity) AsFilterActivity() (*FilterActivity, bool) { return nil, false } -// AsAzureSQLMITableDataset is the BasicDataset implementation for HubspotObjectDataset. -func (hod HubspotObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { +// AsValidationActivity is the BasicActivity implementation for HDInsightSparkActivity. +func (hisa HDInsightSparkActivity) AsValidationActivity() (*ValidationActivity, bool) { return nil, false } -// AsAzureSQLTableDataset is the BasicDataset implementation for HubspotObjectDataset. -func (hod HubspotObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { +// AsUntilActivity is the BasicActivity implementation for HDInsightSparkActivity. +func (hisa HDInsightSparkActivity) AsUntilActivity() (*UntilActivity, bool) { return nil, false } -// AsAzureTableDataset is the BasicDataset implementation for HubspotObjectDataset. -func (hod HubspotObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { +// AsWaitActivity is the BasicActivity implementation for HDInsightSparkActivity. +func (hisa HDInsightSparkActivity) AsWaitActivity() (*WaitActivity, bool) { return nil, false } -// AsAzureBlobDataset is the BasicDataset implementation for HubspotObjectDataset. -func (hod HubspotObjectDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) { +// AsForEachActivity is the BasicActivity implementation for HDInsightSparkActivity. +func (hisa HDInsightSparkActivity) AsForEachActivity() (*ForEachActivity, bool) { return nil, false } -// AsBinaryDataset is the BasicDataset implementation for HubspotObjectDataset. -func (hod HubspotObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) { +// AsSwitchActivity is the BasicActivity implementation for HDInsightSparkActivity. +func (hisa HDInsightSparkActivity) AsSwitchActivity() (*SwitchActivity, bool) { return nil, false } -// AsDelimitedTextDataset is the BasicDataset implementation for HubspotObjectDataset. -func (hod HubspotObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { +// AsIfConditionActivity is the BasicActivity implementation for HDInsightSparkActivity. +func (hisa HDInsightSparkActivity) AsIfConditionActivity() (*IfConditionActivity, bool) { return nil, false } -// AsParquetDataset is the BasicDataset implementation for HubspotObjectDataset. -func (hod HubspotObjectDataset) AsParquetDataset() (*ParquetDataset, bool) { +// AsExecutePipelineActivity is the BasicActivity implementation for HDInsightSparkActivity. +func (hisa HDInsightSparkActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) { return nil, false } -// AsAvroDataset is the BasicDataset implementation for HubspotObjectDataset. -func (hod HubspotObjectDataset) AsAvroDataset() (*AvroDataset, bool) { +// AsControlActivity is the BasicActivity implementation for HDInsightSparkActivity. +func (hisa HDInsightSparkActivity) AsControlActivity() (*ControlActivity, bool) { return nil, false } -// AsAmazonS3Dataset is the BasicDataset implementation for HubspotObjectDataset. -func (hod HubspotObjectDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) { +// AsBasicControlActivity is the BasicActivity implementation for HDInsightSparkActivity. +func (hisa HDInsightSparkActivity) AsBasicControlActivity() (BasicControlActivity, bool) { return nil, false } -// AsDataset is the BasicDataset implementation for HubspotObjectDataset. -func (hod HubspotObjectDataset) AsDataset() (*Dataset, bool) { +// AsActivity is the BasicActivity implementation for HDInsightSparkActivity. +func (hisa HDInsightSparkActivity) AsActivity() (*Activity, bool) { return nil, false } -// AsBasicDataset is the BasicDataset implementation for HubspotObjectDataset. -func (hod HubspotObjectDataset) AsBasicDataset() (BasicDataset, bool) { - return &hod, true +// AsBasicActivity is the BasicActivity implementation for HDInsightSparkActivity. +func (hisa HDInsightSparkActivity) AsBasicActivity() (BasicActivity, bool) { + return &hisa, true } -// UnmarshalJSON is the custom unmarshaler for HubspotObjectDataset struct. -func (hod *HubspotObjectDataset) UnmarshalJSON(body []byte) error { +// UnmarshalJSON is the custom unmarshaler for HDInsightSparkActivity struct. +func (hisa *HDInsightSparkActivity) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -98156,96 +104369,87 @@ func (hod *HubspotObjectDataset) UnmarshalJSON(body []byte) error { switch k { case "typeProperties": if v != nil { - var genericDatasetTypeProperties GenericDatasetTypeProperties - err = json.Unmarshal(*v, &genericDatasetTypeProperties) + var hDInsightSparkActivityTypeProperties HDInsightSparkActivityTypeProperties + err = json.Unmarshal(*v, &hDInsightSparkActivityTypeProperties) if err != nil { return err } - hod.GenericDatasetTypeProperties = &genericDatasetTypeProperties + hisa.HDInsightSparkActivityTypeProperties = &hDInsightSparkActivityTypeProperties } - default: + case "linkedServiceName": if v != nil { - var additionalProperties interface{} - err = json.Unmarshal(*v, &additionalProperties) + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) if err != nil { return err } - if hod.AdditionalProperties == nil { - hod.AdditionalProperties = make(map[string]interface{}) - } - hod.AdditionalProperties[k] = additionalProperties + hisa.LinkedServiceName = &linkedServiceName } - case "description": + case "policy": if v != nil { - var description string - err = json.Unmarshal(*v, &description) + var policy ActivityPolicy + err = json.Unmarshal(*v, &policy) if err != nil { return err } - hod.Description = &description + hisa.Policy = &policy } - case "structure": + default: if v != nil { - var structure interface{} - err = json.Unmarshal(*v, &structure) + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) if err != nil { return err } - hod.Structure = structure - } - case "schema": - if v != nil { - var schema interface{} - err = json.Unmarshal(*v, &schema) - if err != nil { - return err + if hisa.AdditionalProperties == nil { + hisa.AdditionalProperties = make(map[string]interface{}) } - hod.Schema = schema + hisa.AdditionalProperties[k] = additionalProperties } - case "linkedServiceName": + case "name": if v != nil { - var linkedServiceName LinkedServiceReference - err = json.Unmarshal(*v, &linkedServiceName) + var name string + err = json.Unmarshal(*v, &name) if err != nil { return err } - hod.LinkedServiceName = &linkedServiceName + hisa.Name = &name } - case "parameters": + case "description": if v != nil { - var parameters map[string]*ParameterSpecification - err = json.Unmarshal(*v, ¶meters) + var description string + err = json.Unmarshal(*v, &description) if err != nil { return err } - hod.Parameters = parameters + hisa.Description = &description } - case "annotations": + case "dependsOn": if v != nil { - var annotations []interface{} - err = json.Unmarshal(*v, &annotations) + var dependsOn []ActivityDependency + err = json.Unmarshal(*v, &dependsOn) if err != nil { return err } - hod.Annotations = &annotations + hisa.DependsOn = &dependsOn } - case "folder": + case "userProperties": if v != nil { - var folder DatasetFolder - err = json.Unmarshal(*v, &folder) + var userProperties []UserProperty + err = json.Unmarshal(*v, &userProperties) if err != nil { return err } - hod.Folder = &folder + hisa.UserProperties = &userProperties } case "type": if v != nil { - var typeVar TypeBasicDataset + var typeVar TypeBasicActivity err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - hod.Type = typeVar + hisa.Type = typeVar } } } @@ -98253,779 +104457,1019 @@ func (hod *HubspotObjectDataset) UnmarshalJSON(body []byte) error { return nil } -// HubspotSource a copy activity Hubspot Service source. -type HubspotSource struct { - // Query - A query to retrieve data from source. Type: string (or Expression with resultType string). - Query interface{} `json:"query,omitempty"` - // AdditionalProperties - Unmatched properties from the message are deserialized this collection - AdditionalProperties map[string]interface{} `json:""` - // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). - SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` - // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). - SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` - // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). - MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' - Type TypeBasicCopySource `json:"type,omitempty"` +// HDInsightSparkActivityTypeProperties hDInsight spark activity properties. +type HDInsightSparkActivityTypeProperties struct { + // RootPath - The root path in 'sparkJobLinkedService' for all the job’s files. Type: string (or Expression with resultType string). + RootPath interface{} `json:"rootPath,omitempty"` + // EntryFilePath - The relative path to the root folder of the code/package to be executed. Type: string (or Expression with resultType string). + EntryFilePath interface{} `json:"entryFilePath,omitempty"` + // Arguments - The user-specified arguments to HDInsightSparkActivity. + Arguments *[]interface{} `json:"arguments,omitempty"` + // GetDebugInfo - Debug info option. Possible values include: 'HDInsightActivityDebugInfoOptionNone', 'HDInsightActivityDebugInfoOptionAlways', 'HDInsightActivityDebugInfoOptionFailure' + GetDebugInfo HDInsightActivityDebugInfoOption `json:"getDebugInfo,omitempty"` + // SparkJobLinkedService - The storage linked service for uploading the entry file and dependencies, and for receiving logs. + SparkJobLinkedService *LinkedServiceReference `json:"sparkJobLinkedService,omitempty"` + // ClassName - The application's Java/Spark main class. + ClassName *string `json:"className,omitempty"` + // ProxyUser - The user to impersonate that will execute the job. Type: string (or Expression with resultType string). + ProxyUser interface{} `json:"proxyUser,omitempty"` + // SparkConfig - Spark configuration property. + SparkConfig map[string]interface{} `json:"sparkConfig"` } -// MarshalJSON is the custom marshaler for HubspotSource. -func (hs HubspotSource) MarshalJSON() ([]byte, error) { - hs.Type = TypeHubspotSource +// MarshalJSON is the custom marshaler for HDInsightSparkActivityTypeProperties. +func (hisatp HDInsightSparkActivityTypeProperties) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) - if hs.Query != nil { - objectMap["query"] = hs.Query + if hisatp.RootPath != nil { + objectMap["rootPath"] = hisatp.RootPath } - if hs.SourceRetryCount != nil { - objectMap["sourceRetryCount"] = hs.SourceRetryCount + if hisatp.EntryFilePath != nil { + objectMap["entryFilePath"] = hisatp.EntryFilePath } - if hs.SourceRetryWait != nil { - objectMap["sourceRetryWait"] = hs.SourceRetryWait + if hisatp.Arguments != nil { + objectMap["arguments"] = hisatp.Arguments } - if hs.MaxConcurrentConnections != nil { - objectMap["maxConcurrentConnections"] = hs.MaxConcurrentConnections + if hisatp.GetDebugInfo != "" { + objectMap["getDebugInfo"] = hisatp.GetDebugInfo } - if hs.Type != "" { - objectMap["type"] = hs.Type + if hisatp.SparkJobLinkedService != nil { + objectMap["sparkJobLinkedService"] = hisatp.SparkJobLinkedService } - for k, v := range hs.AdditionalProperties { - objectMap[k] = v + if hisatp.ClassName != nil { + objectMap["className"] = hisatp.ClassName + } + if hisatp.ProxyUser != nil { + objectMap["proxyUser"] = hisatp.ProxyUser + } + if hisatp.SparkConfig != nil { + objectMap["sparkConfig"] = hisatp.SparkConfig } return json.Marshal(objectMap) } -// AsAmazonRedshiftSource is the BasicCopySource implementation for HubspotSource. -func (hs HubspotSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { - return nil, false -} - -// AsGoogleAdWordsSource is the BasicCopySource implementation for HubspotSource. -func (hs HubspotSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { - return nil, false -} - -// AsOracleServiceCloudSource is the BasicCopySource implementation for HubspotSource. -func (hs HubspotSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { +// HDInsightStreamingActivity hDInsight streaming activity type. +type HDInsightStreamingActivity struct { + // HDInsightStreamingActivityTypeProperties - HDInsight streaming activity properties. + *HDInsightStreamingActivityTypeProperties `json:"typeProperties,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Policy - Activity policy. + Policy *ActivityPolicy `json:"policy,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Name - Activity name. + Name *string `json:"name,omitempty"` + // Description - Activity description. + Description *string `json:"description,omitempty"` + // DependsOn - Activity depends on condition. + DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"` + // UserProperties - Activity user properties. + UserProperties *[]UserProperty `json:"userProperties,omitempty"` + // Type - Possible values include: 'TypeActivity', 'TypeExecuteDataFlow', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLExecutePipeline', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeSwitch', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer' + Type TypeBasicActivity `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for HDInsightStreamingActivity. +func (hisa HDInsightStreamingActivity) MarshalJSON() ([]byte, error) { + hisa.Type = TypeHDInsightStreaming + objectMap := make(map[string]interface{}) + if hisa.HDInsightStreamingActivityTypeProperties != nil { + objectMap["typeProperties"] = hisa.HDInsightStreamingActivityTypeProperties + } + if hisa.LinkedServiceName != nil { + objectMap["linkedServiceName"] = hisa.LinkedServiceName + } + if hisa.Policy != nil { + objectMap["policy"] = hisa.Policy + } + if hisa.Name != nil { + objectMap["name"] = hisa.Name + } + if hisa.Description != nil { + objectMap["description"] = hisa.Description + } + if hisa.DependsOn != nil { + objectMap["dependsOn"] = hisa.DependsOn + } + if hisa.UserProperties != nil { + objectMap["userProperties"] = hisa.UserProperties + } + if hisa.Type != "" { + objectMap["type"] = hisa.Type + } + for k, v := range hisa.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsExecuteDataFlowActivity is the BasicActivity implementation for HDInsightStreamingActivity. +func (hisa HDInsightStreamingActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) { return nil, false } -// AsDynamicsAXSource is the BasicCopySource implementation for HubspotSource. -func (hs HubspotSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { +// AsAzureFunctionActivity is the BasicActivity implementation for HDInsightStreamingActivity. +func (hisa HDInsightStreamingActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) { return nil, false } -// AsResponsysSource is the BasicCopySource implementation for HubspotSource. -func (hs HubspotSource) AsResponsysSource() (*ResponsysSource, bool) { +// AsDatabricksSparkPythonActivity is the BasicActivity implementation for HDInsightStreamingActivity. +func (hisa HDInsightStreamingActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) { return nil, false } -// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for HubspotSource. -func (hs HubspotSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { +// AsDatabricksSparkJarActivity is the BasicActivity implementation for HDInsightStreamingActivity. +func (hisa HDInsightStreamingActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) { return nil, false } -// AsVerticaSource is the BasicCopySource implementation for HubspotSource. -func (hs HubspotSource) AsVerticaSource() (*VerticaSource, bool) { +// AsDatabricksNotebookActivity is the BasicActivity implementation for HDInsightStreamingActivity. +func (hisa HDInsightStreamingActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) { return nil, false } -// AsNetezzaSource is the BasicCopySource implementation for HubspotSource. -func (hs HubspotSource) AsNetezzaSource() (*NetezzaSource, bool) { +// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for HDInsightStreamingActivity. +func (hisa HDInsightStreamingActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) { return nil, false } -// AsZohoSource is the BasicCopySource implementation for HubspotSource. -func (hs HubspotSource) AsZohoSource() (*ZohoSource, bool) { +// AsAzureMLExecutePipelineActivity is the BasicActivity implementation for HDInsightStreamingActivity. +func (hisa HDInsightStreamingActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) { return nil, false } -// AsXeroSource is the BasicCopySource implementation for HubspotSource. -func (hs HubspotSource) AsXeroSource() (*XeroSource, bool) { +// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for HDInsightStreamingActivity. +func (hisa HDInsightStreamingActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) { return nil, false } -// AsSquareSource is the BasicCopySource implementation for HubspotSource. -func (hs HubspotSource) AsSquareSource() (*SquareSource, bool) { +// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for HDInsightStreamingActivity. +func (hisa HDInsightStreamingActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) { return nil, false } -// AsSparkSource is the BasicCopySource implementation for HubspotSource. -func (hs HubspotSource) AsSparkSource() (*SparkSource, bool) { +// AsGetMetadataActivity is the BasicActivity implementation for HDInsightStreamingActivity. +func (hisa HDInsightStreamingActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) { return nil, false } -// AsShopifySource is the BasicCopySource implementation for HubspotSource. -func (hs HubspotSource) AsShopifySource() (*ShopifySource, bool) { +// AsWebActivity is the BasicActivity implementation for HDInsightStreamingActivity. +func (hisa HDInsightStreamingActivity) AsWebActivity() (*WebActivity, bool) { return nil, false } -// AsServiceNowSource is the BasicCopySource implementation for HubspotSource. -func (hs HubspotSource) AsServiceNowSource() (*ServiceNowSource, bool) { +// AsLookupActivity is the BasicActivity implementation for HDInsightStreamingActivity. +func (hisa HDInsightStreamingActivity) AsLookupActivity() (*LookupActivity, bool) { return nil, false } -// AsQuickBooksSource is the BasicCopySource implementation for HubspotSource. -func (hs HubspotSource) AsQuickBooksSource() (*QuickBooksSource, bool) { +// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for HDInsightStreamingActivity. +func (hisa HDInsightStreamingActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) { return nil, false } -// AsPrestoSource is the BasicCopySource implementation for HubspotSource. -func (hs HubspotSource) AsPrestoSource() (*PrestoSource, bool) { +// AsDeleteActivity is the BasicActivity implementation for HDInsightStreamingActivity. +func (hisa HDInsightStreamingActivity) AsDeleteActivity() (*DeleteActivity, bool) { return nil, false } -// AsPhoenixSource is the BasicCopySource implementation for HubspotSource. -func (hs HubspotSource) AsPhoenixSource() (*PhoenixSource, bool) { +// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for HDInsightStreamingActivity. +func (hisa HDInsightStreamingActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) { return nil, false } -// AsPaypalSource is the BasicCopySource implementation for HubspotSource. -func (hs HubspotSource) AsPaypalSource() (*PaypalSource, bool) { +// AsCustomActivity is the BasicActivity implementation for HDInsightStreamingActivity. +func (hisa HDInsightStreamingActivity) AsCustomActivity() (*CustomActivity, bool) { return nil, false } -// AsMarketoSource is the BasicCopySource implementation for HubspotSource. -func (hs HubspotSource) AsMarketoSource() (*MarketoSource, bool) { +// AsExecuteSSISPackageActivity is the BasicActivity implementation for HDInsightStreamingActivity. +func (hisa HDInsightStreamingActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) { return nil, false } -// AsAzureMariaDBSource is the BasicCopySource implementation for HubspotSource. -func (hs HubspotSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { +// AsHDInsightSparkActivity is the BasicActivity implementation for HDInsightStreamingActivity. +func (hisa HDInsightStreamingActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) { return nil, false } -// AsMariaDBSource is the BasicCopySource implementation for HubspotSource. -func (hs HubspotSource) AsMariaDBSource() (*MariaDBSource, bool) { +// AsHDInsightStreamingActivity is the BasicActivity implementation for HDInsightStreamingActivity. +func (hisa HDInsightStreamingActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) { + return &hisa, true +} + +// AsHDInsightMapReduceActivity is the BasicActivity implementation for HDInsightStreamingActivity. +func (hisa HDInsightStreamingActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) { return nil, false } -// AsMagentoSource is the BasicCopySource implementation for HubspotSource. -func (hs HubspotSource) AsMagentoSource() (*MagentoSource, bool) { +// AsHDInsightPigActivity is the BasicActivity implementation for HDInsightStreamingActivity. +func (hisa HDInsightStreamingActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) { return nil, false } -// AsJiraSource is the BasicCopySource implementation for HubspotSource. -func (hs HubspotSource) AsJiraSource() (*JiraSource, bool) { +// AsHDInsightHiveActivity is the BasicActivity implementation for HDInsightStreamingActivity. +func (hisa HDInsightStreamingActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) { return nil, false } -// AsImpalaSource is the BasicCopySource implementation for HubspotSource. -func (hs HubspotSource) AsImpalaSource() (*ImpalaSource, bool) { +// AsCopyActivity is the BasicActivity implementation for HDInsightStreamingActivity. +func (hisa HDInsightStreamingActivity) AsCopyActivity() (*CopyActivity, bool) { return nil, false } -// AsHubspotSource is the BasicCopySource implementation for HubspotSource. -func (hs HubspotSource) AsHubspotSource() (*HubspotSource, bool) { - return &hs, true +// AsExecutionActivity is the BasicActivity implementation for HDInsightStreamingActivity. +func (hisa HDInsightStreamingActivity) AsExecutionActivity() (*ExecutionActivity, bool) { + return nil, false } -// AsHiveSource is the BasicCopySource implementation for HubspotSource. -func (hs HubspotSource) AsHiveSource() (*HiveSource, bool) { +// AsBasicExecutionActivity is the BasicActivity implementation for HDInsightStreamingActivity. +func (hisa HDInsightStreamingActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) { + return &hisa, true +} + +// AsWebHookActivity is the BasicActivity implementation for HDInsightStreamingActivity. +func (hisa HDInsightStreamingActivity) AsWebHookActivity() (*WebHookActivity, bool) { return nil, false } -// AsHBaseSource is the BasicCopySource implementation for HubspotSource. -func (hs HubspotSource) AsHBaseSource() (*HBaseSource, bool) { +// AsAppendVariableActivity is the BasicActivity implementation for HDInsightStreamingActivity. +func (hisa HDInsightStreamingActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) { return nil, false } -// AsGreenplumSource is the BasicCopySource implementation for HubspotSource. -func (hs HubspotSource) AsGreenplumSource() (*GreenplumSource, bool) { +// AsSetVariableActivity is the BasicActivity implementation for HDInsightStreamingActivity. +func (hisa HDInsightStreamingActivity) AsSetVariableActivity() (*SetVariableActivity, bool) { return nil, false } -// AsGoogleBigQuerySource is the BasicCopySource implementation for HubspotSource. -func (hs HubspotSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { +// AsFilterActivity is the BasicActivity implementation for HDInsightStreamingActivity. +func (hisa HDInsightStreamingActivity) AsFilterActivity() (*FilterActivity, bool) { return nil, false } -// AsEloquaSource is the BasicCopySource implementation for HubspotSource. -func (hs HubspotSource) AsEloquaSource() (*EloquaSource, bool) { +// AsValidationActivity is the BasicActivity implementation for HDInsightStreamingActivity. +func (hisa HDInsightStreamingActivity) AsValidationActivity() (*ValidationActivity, bool) { return nil, false } -// AsDrillSource is the BasicCopySource implementation for HubspotSource. -func (hs HubspotSource) AsDrillSource() (*DrillSource, bool) { +// AsUntilActivity is the BasicActivity implementation for HDInsightStreamingActivity. +func (hisa HDInsightStreamingActivity) AsUntilActivity() (*UntilActivity, bool) { return nil, false } -// AsCouchbaseSource is the BasicCopySource implementation for HubspotSource. -func (hs HubspotSource) AsCouchbaseSource() (*CouchbaseSource, bool) { +// AsWaitActivity is the BasicActivity implementation for HDInsightStreamingActivity. +func (hisa HDInsightStreamingActivity) AsWaitActivity() (*WaitActivity, bool) { return nil, false } -// AsConcurSource is the BasicCopySource implementation for HubspotSource. -func (hs HubspotSource) AsConcurSource() (*ConcurSource, bool) { +// AsForEachActivity is the BasicActivity implementation for HDInsightStreamingActivity. +func (hisa HDInsightStreamingActivity) AsForEachActivity() (*ForEachActivity, bool) { return nil, false } -// AsAzurePostgreSQLSource is the BasicCopySource implementation for HubspotSource. -func (hs HubspotSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { +// AsSwitchActivity is the BasicActivity implementation for HDInsightStreamingActivity. +func (hisa HDInsightStreamingActivity) AsSwitchActivity() (*SwitchActivity, bool) { return nil, false } -// AsAmazonMWSSource is the BasicCopySource implementation for HubspotSource. -func (hs HubspotSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { +// AsIfConditionActivity is the BasicActivity implementation for HDInsightStreamingActivity. +func (hisa HDInsightStreamingActivity) AsIfConditionActivity() (*IfConditionActivity, bool) { return nil, false } -// AsHTTPSource is the BasicCopySource implementation for HubspotSource. -func (hs HubspotSource) AsHTTPSource() (*HTTPSource, bool) { +// AsExecutePipelineActivity is the BasicActivity implementation for HDInsightStreamingActivity. +func (hisa HDInsightStreamingActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) { return nil, false } -// AsAzureBlobFSSource is the BasicCopySource implementation for HubspotSource. -func (hs HubspotSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { +// AsControlActivity is the BasicActivity implementation for HDInsightStreamingActivity. +func (hisa HDInsightStreamingActivity) AsControlActivity() (*ControlActivity, bool) { return nil, false } -// AsAzureDataLakeStoreSource is the BasicCopySource implementation for HubspotSource. -func (hs HubspotSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { +// AsBasicControlActivity is the BasicActivity implementation for HDInsightStreamingActivity. +func (hisa HDInsightStreamingActivity) AsBasicControlActivity() (BasicControlActivity, bool) { return nil, false } -// AsOffice365Source is the BasicCopySource implementation for HubspotSource. -func (hs HubspotSource) AsOffice365Source() (*Office365Source, bool) { +// AsActivity is the BasicActivity implementation for HDInsightStreamingActivity. +func (hisa HDInsightStreamingActivity) AsActivity() (*Activity, bool) { return nil, false } -// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for HubspotSource. -func (hs HubspotSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { +// AsBasicActivity is the BasicActivity implementation for HDInsightStreamingActivity. +func (hisa HDInsightStreamingActivity) AsBasicActivity() (BasicActivity, bool) { + return &hisa, true +} + +// UnmarshalJSON is the custom unmarshaler for HDInsightStreamingActivity struct. +func (hisa *HDInsightStreamingActivity) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var hDInsightStreamingActivityTypeProperties HDInsightStreamingActivityTypeProperties + err = json.Unmarshal(*v, &hDInsightStreamingActivityTypeProperties) + if err != nil { + return err + } + hisa.HDInsightStreamingActivityTypeProperties = &hDInsightStreamingActivityTypeProperties + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + hisa.LinkedServiceName = &linkedServiceName + } + case "policy": + if v != nil { + var policy ActivityPolicy + err = json.Unmarshal(*v, &policy) + if err != nil { + return err + } + hisa.Policy = &policy + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if hisa.AdditionalProperties == nil { + hisa.AdditionalProperties = make(map[string]interface{}) + } + hisa.AdditionalProperties[k] = additionalProperties + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + hisa.Name = &name + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + hisa.Description = &description + } + case "dependsOn": + if v != nil { + var dependsOn []ActivityDependency + err = json.Unmarshal(*v, &dependsOn) + if err != nil { + return err + } + hisa.DependsOn = &dependsOn + } + case "userProperties": + if v != nil { + var userProperties []UserProperty + err = json.Unmarshal(*v, &userProperties) + if err != nil { + return err + } + hisa.UserProperties = &userProperties + } + case "type": + if v != nil { + var typeVar TypeBasicActivity + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + hisa.Type = typeVar + } + } + } + + return nil +} + +// HDInsightStreamingActivityTypeProperties hDInsight streaming activity properties. +type HDInsightStreamingActivityTypeProperties struct { + // StorageLinkedServices - Storage linked service references. + StorageLinkedServices *[]LinkedServiceReference `json:"storageLinkedServices,omitempty"` + // Arguments - User specified arguments to HDInsightActivity. + Arguments *[]interface{} `json:"arguments,omitempty"` + // GetDebugInfo - Debug info option. Possible values include: 'HDInsightActivityDebugInfoOptionNone', 'HDInsightActivityDebugInfoOptionAlways', 'HDInsightActivityDebugInfoOptionFailure' + GetDebugInfo HDInsightActivityDebugInfoOption `json:"getDebugInfo,omitempty"` + // Mapper - Mapper executable name. Type: string (or Expression with resultType string). + Mapper interface{} `json:"mapper,omitempty"` + // Reducer - Reducer executable name. Type: string (or Expression with resultType string). + Reducer interface{} `json:"reducer,omitempty"` + // Input - Input blob path. Type: string (or Expression with resultType string). + Input interface{} `json:"input,omitempty"` + // Output - Output blob path. Type: string (or Expression with resultType string). + Output interface{} `json:"output,omitempty"` + // FilePaths - Paths to streaming job files. Can be directories. + FilePaths *[]interface{} `json:"filePaths,omitempty"` + // FileLinkedService - Linked service reference where the files are located. + FileLinkedService *LinkedServiceReference `json:"fileLinkedService,omitempty"` + // Combiner - Combiner executable name. Type: string (or Expression with resultType string). + Combiner interface{} `json:"combiner,omitempty"` + // CommandEnvironment - Command line environment values. + CommandEnvironment *[]interface{} `json:"commandEnvironment,omitempty"` + // Defines - Allows user to specify defines for streaming job request. + Defines map[string]interface{} `json:"defines"` +} + +// MarshalJSON is the custom marshaler for HDInsightStreamingActivityTypeProperties. +func (hisatp HDInsightStreamingActivityTypeProperties) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if hisatp.StorageLinkedServices != nil { + objectMap["storageLinkedServices"] = hisatp.StorageLinkedServices + } + if hisatp.Arguments != nil { + objectMap["arguments"] = hisatp.Arguments + } + if hisatp.GetDebugInfo != "" { + objectMap["getDebugInfo"] = hisatp.GetDebugInfo + } + if hisatp.Mapper != nil { + objectMap["mapper"] = hisatp.Mapper + } + if hisatp.Reducer != nil { + objectMap["reducer"] = hisatp.Reducer + } + if hisatp.Input != nil { + objectMap["input"] = hisatp.Input + } + if hisatp.Output != nil { + objectMap["output"] = hisatp.Output + } + if hisatp.FilePaths != nil { + objectMap["filePaths"] = hisatp.FilePaths + } + if hisatp.FileLinkedService != nil { + objectMap["fileLinkedService"] = hisatp.FileLinkedService + } + if hisatp.Combiner != nil { + objectMap["combiner"] = hisatp.Combiner + } + if hisatp.CommandEnvironment != nil { + objectMap["commandEnvironment"] = hisatp.CommandEnvironment + } + if hisatp.Defines != nil { + objectMap["defines"] = hisatp.Defines + } + return json.Marshal(objectMap) +} + +// HiveDatasetTypeProperties hive Properties +type HiveDatasetTypeProperties struct { + // TableName - This property will be retired. Please consider using schema + table properties instead. + TableName interface{} `json:"tableName,omitempty"` + // Table - The table name of the Hive. Type: string (or Expression with resultType string). + Table interface{} `json:"table,omitempty"` + // Schema - The schema name of the Hive. Type: string (or Expression with resultType string). + Schema interface{} `json:"schema,omitempty"` +} + +// HiveLinkedService hive Server linked service. +type HiveLinkedService struct { + // HiveLinkedServiceTypeProperties - Hive Server linked service properties. + *HiveLinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for HiveLinkedService. +func (hls HiveLinkedService) MarshalJSON() ([]byte, error) { + hls.Type = TypeHive + objectMap := make(map[string]interface{}) + if hls.HiveLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = hls.HiveLinkedServiceTypeProperties + } + if hls.ConnectVia != nil { + objectMap["connectVia"] = hls.ConnectVia + } + if hls.Description != nil { + objectMap["description"] = hls.Description + } + if hls.Parameters != nil { + objectMap["parameters"] = hls.Parameters + } + if hls.Annotations != nil { + objectMap["annotations"] = hls.Annotations + } + if hls.Type != "" { + objectMap["type"] = hls.Type + } + for k, v := range hls.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { return nil, false } -// AsMongoDbV2Source is the BasicCopySource implementation for HubspotSource. -func (hs HubspotSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { return nil, false } -// AsMongoDbSource is the BasicCopySource implementation for HubspotSource. -func (hs HubspotSource) AsMongoDbSource() (*MongoDbSource, bool) { +// AsSapTableLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { return nil, false } -// AsCassandraSource is the BasicCopySource implementation for HubspotSource. -func (hs HubspotSource) AsCassandraSource() (*CassandraSource, bool) { +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { return nil, false } -// AsWebSource is the BasicCopySource implementation for HubspotSource. -func (hs HubspotSource) AsWebSource() (*WebSource, bool) { +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { return nil, false } -// AsTeradataSource is the BasicCopySource implementation for HubspotSource. -func (hs HubspotSource) AsTeradataSource() (*TeradataSource, bool) { +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { return nil, false } -// AsOracleSource is the BasicCopySource implementation for HubspotSource. -func (hs HubspotSource) AsOracleSource() (*OracleSource, bool) { +// AsResponsysLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { return nil, false } -// AsAzureDataExplorerSource is the BasicCopySource implementation for HubspotSource. -func (hs HubspotSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { return nil, false } -// AsAzureMySQLSource is the BasicCopySource implementation for HubspotSource. -func (hs HubspotSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { return nil, false } -// AsHdfsSource is the BasicCopySource implementation for HubspotSource. -func (hs HubspotSource) AsHdfsSource() (*HdfsSource, bool) { +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { return nil, false } -// AsFileSystemSource is the BasicCopySource implementation for HubspotSource. -func (hs HubspotSource) AsFileSystemSource() (*FileSystemSource, bool) { +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { return nil, false } -// AsSQLDWSource is the BasicCopySource implementation for HubspotSource. -func (hs HubspotSource) AsSQLDWSource() (*SQLDWSource, bool) { +// AsNetezzaLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { return nil, false } -// AsSQLMISource is the BasicCopySource implementation for HubspotSource. -func (hs HubspotSource) AsSQLMISource() (*SQLMISource, bool) { +// AsVerticaLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { return nil, false } -// AsAzureSQLSource is the BasicCopySource implementation for HubspotSource. -func (hs HubspotSource) AsAzureSQLSource() (*AzureSQLSource, bool) { +// AsZohoLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { return nil, false } -// AsSQLServerSource is the BasicCopySource implementation for HubspotSource. -func (hs HubspotSource) AsSQLServerSource() (*SQLServerSource, bool) { +// AsXeroLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { return nil, false } -// AsSQLSource is the BasicCopySource implementation for HubspotSource. -func (hs HubspotSource) AsSQLSource() (*SQLSource, bool) { +// AsSquareLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { return nil, false } -// AsRestSource is the BasicCopySource implementation for HubspotSource. -func (hs HubspotSource) AsRestSource() (*RestSource, bool) { +// AsSparkLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { return nil, false } -// AsSapTableSource is the BasicCopySource implementation for HubspotSource. -func (hs HubspotSource) AsSapTableSource() (*SapTableSource, bool) { +// AsShopifyLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { return nil, false } -// AsSapOpenHubSource is the BasicCopySource implementation for HubspotSource. -func (hs HubspotSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { +// AsServiceNowLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { return nil, false } -// AsSapHanaSource is the BasicCopySource implementation for HubspotSource. -func (hs HubspotSource) AsSapHanaSource() (*SapHanaSource, bool) { +// AsQuickBooksLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { return nil, false } -// AsSapEccSource is the BasicCopySource implementation for HubspotSource. -func (hs HubspotSource) AsSapEccSource() (*SapEccSource, bool) { +// AsPrestoLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { return nil, false } -// AsSapCloudForCustomerSource is the BasicCopySource implementation for HubspotSource. -func (hs HubspotSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { +// AsPhoenixLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { return nil, false } -// AsSalesforceServiceCloudSource is the BasicCopySource implementation for HubspotSource. -func (hs HubspotSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { +// AsPaypalLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { return nil, false } -// AsSalesforceSource is the BasicCopySource implementation for HubspotSource. -func (hs HubspotSource) AsSalesforceSource() (*SalesforceSource, bool) { +// AsMarketoLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { return nil, false } -// AsODataSource is the BasicCopySource implementation for HubspotSource. -func (hs HubspotSource) AsODataSource() (*ODataSource, bool) { +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { return nil, false } -// AsSapBwSource is the BasicCopySource implementation for HubspotSource. -func (hs HubspotSource) AsSapBwSource() (*SapBwSource, bool) { +// AsMariaDBLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { return nil, false } -// AsSybaseSource is the BasicCopySource implementation for HubspotSource. -func (hs HubspotSource) AsSybaseSource() (*SybaseSource, bool) { +// AsMagentoLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { return nil, false } -// AsPostgreSQLSource is the BasicCopySource implementation for HubspotSource. -func (hs HubspotSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { +// AsJiraLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { return nil, false } -// AsMySQLSource is the BasicCopySource implementation for HubspotSource. -func (hs HubspotSource) AsMySQLSource() (*MySQLSource, bool) { +// AsImpalaLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { return nil, false } -// AsOdbcSource is the BasicCopySource implementation for HubspotSource. -func (hs HubspotSource) AsOdbcSource() (*OdbcSource, bool) { +// AsHubspotLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { return nil, false } -// AsDb2Source is the BasicCopySource implementation for HubspotSource. -func (hs HubspotSource) AsDb2Source() (*Db2Source, bool) { +// AsHiveLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return &hls, true +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { return nil, false } -// AsMicrosoftAccessSource is the BasicCopySource implementation for HubspotSource. -func (hs HubspotSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { +// AsGreenplumLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { return nil, false } -// AsInformixSource is the BasicCopySource implementation for HubspotSource. -func (hs HubspotSource) AsInformixSource() (*InformixSource, bool) { +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { return nil, false } -// AsRelationalSource is the BasicCopySource implementation for HubspotSource. -func (hs HubspotSource) AsRelationalSource() (*RelationalSource, bool) { +// AsEloquaLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { return nil, false } -// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for HubspotSource. -func (hs HubspotSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { +// AsDrillLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { return nil, false } -// AsDynamicsCrmSource is the BasicCopySource implementation for HubspotSource. -func (hs HubspotSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { +// AsCouchbaseLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { return nil, false } -// AsDynamicsSource is the BasicCopySource implementation for HubspotSource. -func (hs HubspotSource) AsDynamicsSource() (*DynamicsSource, bool) { +// AsConcurLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { return nil, false } -// AsDocumentDbCollectionSource is the BasicCopySource implementation for HubspotSource. -func (hs HubspotSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { return nil, false } -// AsBlobSource is the BasicCopySource implementation for HubspotSource. -func (hs HubspotSource) AsBlobSource() (*BlobSource, bool) { +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { return nil, false } -// AsAzureTableSource is the BasicCopySource implementation for HubspotSource. -func (hs HubspotSource) AsAzureTableSource() (*AzureTableSource, bool) { +// AsSapHanaLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { return nil, false } -// AsBinarySource is the BasicCopySource implementation for HubspotSource. -func (hs HubspotSource) AsBinarySource() (*BinarySource, bool) { +// AsSapBWLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { return nil, false } -// AsDelimitedTextSource is the BasicCopySource implementation for HubspotSource. -func (hs HubspotSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { +// AsSftpServerLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { return nil, false } -// AsParquetSource is the BasicCopySource implementation for HubspotSource. -func (hs HubspotSource) AsParquetSource() (*ParquetSource, bool) { +// AsFtpServerLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { return nil, false } -// AsAvroSource is the BasicCopySource implementation for HubspotSource. -func (hs HubspotSource) AsAvroSource() (*AvroSource, bool) { +// AsHTTPLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { return nil, false } -// AsCopySource is the BasicCopySource implementation for HubspotSource. -func (hs HubspotSource) AsCopySource() (*CopySource, bool) { +// AsAzureSearchLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { return nil, false } -// AsBasicCopySource is the BasicCopySource implementation for HubspotSource. -func (hs HubspotSource) AsBasicCopySource() (BasicCopySource, bool) { - return &hs, true +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false } -// UnmarshalJSON is the custom unmarshaler for HubspotSource struct. -func (hs *HubspotSource) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - case "query": - if v != nil { - var query interface{} - err = json.Unmarshal(*v, &query) - if err != nil { - return err - } - hs.Query = query - } - default: - if v != nil { - var additionalProperties interface{} - err = json.Unmarshal(*v, &additionalProperties) - if err != nil { - return err - } - if hs.AdditionalProperties == nil { - hs.AdditionalProperties = make(map[string]interface{}) - } - hs.AdditionalProperties[k] = additionalProperties - } - case "sourceRetryCount": - if v != nil { - var sourceRetryCount interface{} - err = json.Unmarshal(*v, &sourceRetryCount) - if err != nil { - return err - } - hs.SourceRetryCount = sourceRetryCount - } - case "sourceRetryWait": - if v != nil { - var sourceRetryWait interface{} - err = json.Unmarshal(*v, &sourceRetryWait) - if err != nil { - return err - } - hs.SourceRetryWait = sourceRetryWait - } - case "maxConcurrentConnections": - if v != nil { - var maxConcurrentConnections interface{} - err = json.Unmarshal(*v, &maxConcurrentConnections) - if err != nil { - return err - } - hs.MaxConcurrentConnections = maxConcurrentConnections - } - case "type": - if v != nil { - var typeVar TypeBasicCopySource - err = json.Unmarshal(*v, &typeVar) - if err != nil { - return err - } - hs.Type = typeVar - } - } - } +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} - return nil +// AsAmazonS3LinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false } -// IfConditionActivity this activity evaluates a boolean expression and executes either the activities -// under the ifTrueActivities property or the ifFalseActivities property depending on the result of the -// expression. -type IfConditionActivity struct { - // IfConditionActivityTypeProperties - IfCondition activity properties. - *IfConditionActivityTypeProperties `json:"typeProperties,omitempty"` - // AdditionalProperties - Unmatched properties from the message are deserialized this collection - AdditionalProperties map[string]interface{} `json:""` - // Name - Activity name. - Name *string `json:"name,omitempty"` - // Description - Activity description. - Description *string `json:"description,omitempty"` - // DependsOn - Activity depends on condition. - DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"` - // UserProperties - Activity user properties. - UserProperties *[]UserProperty `json:"userProperties,omitempty"` - // Type - Possible values include: 'TypeActivity', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer' - Type TypeBasicActivity `json:"type,omitempty"` +// AsRestServiceLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false } -// MarshalJSON is the custom marshaler for IfConditionActivity. -func (ica IfConditionActivity) MarshalJSON() ([]byte, error) { - ica.Type = TypeIfCondition - objectMap := make(map[string]interface{}) - if ica.IfConditionActivityTypeProperties != nil { - objectMap["typeProperties"] = ica.IfConditionActivityTypeProperties - } - if ica.Name != nil { - objectMap["name"] = ica.Name - } - if ica.Description != nil { - objectMap["description"] = ica.Description - } - if ica.DependsOn != nil { - objectMap["dependsOn"] = ica.DependsOn - } - if ica.UserProperties != nil { - objectMap["userProperties"] = ica.UserProperties - } - if ica.Type != "" { - objectMap["type"] = ica.Type - } - for k, v := range ica.AdditionalProperties { - objectMap[k] = v - } - return json.Marshal(objectMap) +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false } -// AsAzureFunctionActivity is the BasicActivity implementation for IfConditionActivity. -func (ica IfConditionActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) { +// AsSapEccLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { return nil, false } -// AsDatabricksSparkPythonActivity is the BasicActivity implementation for IfConditionActivity. -func (ica IfConditionActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) { +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { return nil, false } -// AsDatabricksSparkJarActivity is the BasicActivity implementation for IfConditionActivity. -func (ica IfConditionActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) { +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { return nil, false } -// AsDatabricksNotebookActivity is the BasicActivity implementation for IfConditionActivity. -func (ica IfConditionActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) { +// AsSalesforceLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { return nil, false } -// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for IfConditionActivity. -func (ica IfConditionActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) { +// AsOffice365LinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { return nil, false } -// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for IfConditionActivity. -func (ica IfConditionActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) { +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { return nil, false } -// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for IfConditionActivity. -func (ica IfConditionActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) { +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { return nil, false } -// AsGetMetadataActivity is the BasicActivity implementation for IfConditionActivity. -func (ica IfConditionActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) { +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { return nil, false } -// AsWebActivity is the BasicActivity implementation for IfConditionActivity. -func (ica IfConditionActivity) AsWebActivity() (*WebActivity, bool) { +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { return nil, false } -// AsLookupActivity is the BasicActivity implementation for IfConditionActivity. -func (ica IfConditionActivity) AsLookupActivity() (*LookupActivity, bool) { +// AsMongoDbLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { return nil, false } -// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for IfConditionActivity. -func (ica IfConditionActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) { +// AsCassandraLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { return nil, false } -// AsDeleteActivity is the BasicActivity implementation for IfConditionActivity. -func (ica IfConditionActivity) AsDeleteActivity() (*DeleteActivity, bool) { +// AsWebLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { return nil, false } -// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for IfConditionActivity. -func (ica IfConditionActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) { +// AsODataLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { return nil, false } -// AsCustomActivity is the BasicActivity implementation for IfConditionActivity. -func (ica IfConditionActivity) AsCustomActivity() (*CustomActivity, bool) { +// AsHdfsLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { return nil, false } -// AsExecuteSSISPackageActivity is the BasicActivity implementation for IfConditionActivity. -func (ica IfConditionActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) { +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { return nil, false } -// AsHDInsightSparkActivity is the BasicActivity implementation for IfConditionActivity. -func (ica IfConditionActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) { +// AsInformixLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { return nil, false } -// AsHDInsightStreamingActivity is the BasicActivity implementation for IfConditionActivity. -func (ica IfConditionActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) { +// AsOdbcLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { return nil, false } -// AsHDInsightMapReduceActivity is the BasicActivity implementation for IfConditionActivity. -func (ica IfConditionActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) { +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { return nil, false } -// AsHDInsightPigActivity is the BasicActivity implementation for IfConditionActivity. -func (ica IfConditionActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) { +// AsAzureMLLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { return nil, false } -// AsHDInsightHiveActivity is the BasicActivity implementation for IfConditionActivity. -func (ica IfConditionActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) { +// AsTeradataLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { return nil, false } -// AsCopyActivity is the BasicActivity implementation for IfConditionActivity. -func (ica IfConditionActivity) AsCopyActivity() (*CopyActivity, bool) { +// AsDb2LinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { return nil, false } -// AsExecutionActivity is the BasicActivity implementation for IfConditionActivity. -func (ica IfConditionActivity) AsExecutionActivity() (*ExecutionActivity, bool) { +// AsSybaseLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { return nil, false } -// AsBasicExecutionActivity is the BasicActivity implementation for IfConditionActivity. -func (ica IfConditionActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) { +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { return nil, false } -// AsWebHookActivity is the BasicActivity implementation for IfConditionActivity. -func (ica IfConditionActivity) AsWebHookActivity() (*WebHookActivity, bool) { +// AsMySQLLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { return nil, false } -// AsAppendVariableActivity is the BasicActivity implementation for IfConditionActivity. -func (ica IfConditionActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) { +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { return nil, false } -// AsSetVariableActivity is the BasicActivity implementation for IfConditionActivity. -func (ica IfConditionActivity) AsSetVariableActivity() (*SetVariableActivity, bool) { +// AsOracleLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { return nil, false } -// AsFilterActivity is the BasicActivity implementation for IfConditionActivity. -func (ica IfConditionActivity) AsFilterActivity() (*FilterActivity, bool) { +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { return nil, false } -// AsValidationActivity is the BasicActivity implementation for IfConditionActivity. -func (ica IfConditionActivity) AsValidationActivity() (*ValidationActivity, bool) { +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { return nil, false } -// AsUntilActivity is the BasicActivity implementation for IfConditionActivity. -func (ica IfConditionActivity) AsUntilActivity() (*UntilActivity, bool) { +// AsFileServerLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { return nil, false } -// AsWaitActivity is the BasicActivity implementation for IfConditionActivity. -func (ica IfConditionActivity) AsWaitActivity() (*WaitActivity, bool) { +// AsHDInsightLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { return nil, false } -// AsForEachActivity is the BasicActivity implementation for IfConditionActivity. -func (ica IfConditionActivity) AsForEachActivity() (*ForEachActivity, bool) { +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { return nil, false } -// AsIfConditionActivity is the BasicActivity implementation for IfConditionActivity. -func (ica IfConditionActivity) AsIfConditionActivity() (*IfConditionActivity, bool) { - return &ica, true +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false } -// AsExecutePipelineActivity is the BasicActivity implementation for IfConditionActivity. -func (ica IfConditionActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) { +// AsDynamicsLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { return nil, false } -// AsControlActivity is the BasicActivity implementation for IfConditionActivity. -func (ica IfConditionActivity) AsControlActivity() (*ControlActivity, bool) { +// AsCosmosDbLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { return nil, false } -// AsBasicControlActivity is the BasicActivity implementation for IfConditionActivity. -func (ica IfConditionActivity) AsBasicControlActivity() (BasicControlActivity, bool) { - return &ica, true +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false } -// AsActivity is the BasicActivity implementation for IfConditionActivity. -func (ica IfConditionActivity) AsActivity() (*Activity, bool) { +// AsAzureBatchLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { return nil, false } -// AsBasicActivity is the BasicActivity implementation for IfConditionActivity. -func (ica IfConditionActivity) AsBasicActivity() (BasicActivity, bool) { - return &ica, true +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false } -// UnmarshalJSON is the custom unmarshaler for IfConditionActivity struct. -func (ica *IfConditionActivity) UnmarshalJSON(body []byte) error { +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for HiveLinkedService. +func (hls HiveLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &hls, true +} + +// UnmarshalJSON is the custom unmarshaler for HiveLinkedService struct. +func (hls *HiveLinkedService) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -99035,12 +105479,12 @@ func (ica *IfConditionActivity) UnmarshalJSON(body []byte) error { switch k { case "typeProperties": if v != nil { - var ifConditionActivityTypeProperties IfConditionActivityTypeProperties - err = json.Unmarshal(*v, &ifConditionActivityTypeProperties) + var hiveLinkedServiceTypeProperties HiveLinkedServiceTypeProperties + err = json.Unmarshal(*v, &hiveLinkedServiceTypeProperties) if err != nil { return err } - ica.IfConditionActivityTypeProperties = &ifConditionActivityTypeProperties + hls.HiveLinkedServiceTypeProperties = &hiveLinkedServiceTypeProperties } default: if v != nil { @@ -99049,19 +105493,19 @@ func (ica *IfConditionActivity) UnmarshalJSON(body []byte) error { if err != nil { return err } - if ica.AdditionalProperties == nil { - ica.AdditionalProperties = make(map[string]interface{}) + if hls.AdditionalProperties == nil { + hls.AdditionalProperties = make(map[string]interface{}) } - ica.AdditionalProperties[k] = additionalProperties + hls.AdditionalProperties[k] = additionalProperties } - case "name": + case "connectVia": if v != nil { - var name string - err = json.Unmarshal(*v, &name) + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) if err != nil { return err } - ica.Name = &name + hls.ConnectVia = &connectVia } case "description": if v != nil { @@ -99070,34 +105514,34 @@ func (ica *IfConditionActivity) UnmarshalJSON(body []byte) error { if err != nil { return err } - ica.Description = &description + hls.Description = &description } - case "dependsOn": + case "parameters": if v != nil { - var dependsOn []ActivityDependency - err = json.Unmarshal(*v, &dependsOn) + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) if err != nil { return err } - ica.DependsOn = &dependsOn + hls.Parameters = parameters } - case "userProperties": + case "annotations": if v != nil { - var userProperties []UserProperty - err = json.Unmarshal(*v, &userProperties) + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) if err != nil { return err } - ica.UserProperties = &userProperties + hls.Annotations = &annotations } case "type": if v != nil { - var typeVar TypeBasicActivity + var typeVar TypeBasicLinkedService err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - ica.Type = typeVar + hls.Type = typeVar } } } @@ -99105,49 +105549,204 @@ func (ica *IfConditionActivity) UnmarshalJSON(body []byte) error { return nil } -// IfConditionActivityTypeProperties ifCondition activity properties. -type IfConditionActivityTypeProperties struct { - // Expression - An expression that would evaluate to Boolean. This is used to determine the block of activities (ifTrueActivities or ifFalseActivities) that will be executed. - Expression *Expression `json:"expression,omitempty"` - // IfTrueActivities - List of activities to execute if expression is evaluated to true. This is an optional property and if not provided, the activity will exit without any action. - IfTrueActivities *[]BasicActivity `json:"ifTrueActivities,omitempty"` - // IfFalseActivities - List of activities to execute if expression is evaluated to false. This is an optional property and if not provided, the activity will exit without any action. - IfFalseActivities *[]BasicActivity `json:"ifFalseActivities,omitempty"` -} - -// UnmarshalJSON is the custom unmarshaler for IfConditionActivityTypeProperties struct. -func (icatp *IfConditionActivityTypeProperties) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - case "expression": - if v != nil { - var expression Expression - err = json.Unmarshal(*v, &expression) - if err != nil { - return err - } - icatp.Expression = &expression - } - case "ifTrueActivities": - if v != nil { - ifTrueActivities, err := unmarshalBasicActivityArray(*v) - if err != nil { - return err - } - icatp.IfTrueActivities = &ifTrueActivities - } - case "ifFalseActivities": - if v != nil { - ifFalseActivities, err := unmarshalBasicActivityArray(*v) +// HiveLinkedServiceTypeProperties hive Server linked service properties. +type HiveLinkedServiceTypeProperties struct { + // Host - IP address or host name of the Hive server, separated by ';' for multiple hosts (only when serviceDiscoveryMode is enable). + Host interface{} `json:"host,omitempty"` + // Port - The TCP port that the Hive server uses to listen for client connections. + Port interface{} `json:"port,omitempty"` + // ServerType - The type of Hive server. Possible values include: 'HiveServer1', 'HiveServer2', 'HiveThriftServer' + ServerType HiveServerType `json:"serverType,omitempty"` + // ThriftTransportProtocol - The transport protocol to use in the Thrift layer. Possible values include: 'Binary', 'SASL', 'HTTP' + ThriftTransportProtocol HiveThriftTransportProtocol `json:"thriftTransportProtocol,omitempty"` + // AuthenticationType - The authentication method used to access the Hive server. Possible values include: 'Anonymous', 'Username', 'UsernameAndPassword', 'WindowsAzureHDInsightService' + AuthenticationType HiveAuthenticationType `json:"authenticationType,omitempty"` + // ServiceDiscoveryMode - true to indicate using the ZooKeeper service, false not. + ServiceDiscoveryMode interface{} `json:"serviceDiscoveryMode,omitempty"` + // ZooKeeperNameSpace - The namespace on ZooKeeper under which Hive Server 2 nodes are added. + ZooKeeperNameSpace interface{} `json:"zooKeeperNameSpace,omitempty"` + // UseNativeQuery - Specifies whether the driver uses native HiveQL queries,or converts them into an equivalent form in HiveQL. + UseNativeQuery interface{} `json:"useNativeQuery,omitempty"` + // Username - The user name that you use to access Hive Server. + Username interface{} `json:"username,omitempty"` + // Password - The password corresponding to the user name that you provided in the Username field + Password BasicSecretBase `json:"password,omitempty"` + // HTTPPath - The partial URL corresponding to the Hive server. + HTTPPath interface{} `json:"httpPath,omitempty"` + // EnableSsl - Specifies whether the connections to the server are encrypted using SSL. The default value is false. + EnableSsl interface{} `json:"enableSsl,omitempty"` + // TrustedCertPath - The full path of the .pem file containing trusted CA certificates for verifying the server when connecting over SSL. This property can only be set when using SSL on self-hosted IR. The default value is the cacerts.pem file installed with the IR. + TrustedCertPath interface{} `json:"trustedCertPath,omitempty"` + // UseSystemTrustStore - Specifies whether to use a CA certificate from the system trust store or from a specified PEM file. The default value is false. + UseSystemTrustStore interface{} `json:"useSystemTrustStore,omitempty"` + // AllowHostNameCNMismatch - Specifies whether to require a CA-issued SSL certificate name to match the host name of the server when connecting over SSL. The default value is false. + AllowHostNameCNMismatch interface{} `json:"allowHostNameCNMismatch,omitempty"` + // AllowSelfSignedServerCert - Specifies whether to allow self-signed certificates from the server. The default value is false. + AllowSelfSignedServerCert interface{} `json:"allowSelfSignedServerCert,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for HiveLinkedServiceTypeProperties struct. +func (hlstp *HiveLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "host": + if v != nil { + var host interface{} + err = json.Unmarshal(*v, &host) if err != nil { return err } - icatp.IfFalseActivities = &ifFalseActivities + hlstp.Host = host + } + case "port": + if v != nil { + var port interface{} + err = json.Unmarshal(*v, &port) + if err != nil { + return err + } + hlstp.Port = port + } + case "serverType": + if v != nil { + var serverType HiveServerType + err = json.Unmarshal(*v, &serverType) + if err != nil { + return err + } + hlstp.ServerType = serverType + } + case "thriftTransportProtocol": + if v != nil { + var thriftTransportProtocol HiveThriftTransportProtocol + err = json.Unmarshal(*v, &thriftTransportProtocol) + if err != nil { + return err + } + hlstp.ThriftTransportProtocol = thriftTransportProtocol + } + case "authenticationType": + if v != nil { + var authenticationType HiveAuthenticationType + err = json.Unmarshal(*v, &authenticationType) + if err != nil { + return err + } + hlstp.AuthenticationType = authenticationType + } + case "serviceDiscoveryMode": + if v != nil { + var serviceDiscoveryMode interface{} + err = json.Unmarshal(*v, &serviceDiscoveryMode) + if err != nil { + return err + } + hlstp.ServiceDiscoveryMode = serviceDiscoveryMode + } + case "zooKeeperNameSpace": + if v != nil { + var zooKeeperNameSpace interface{} + err = json.Unmarshal(*v, &zooKeeperNameSpace) + if err != nil { + return err + } + hlstp.ZooKeeperNameSpace = zooKeeperNameSpace + } + case "useNativeQuery": + if v != nil { + var useNativeQuery interface{} + err = json.Unmarshal(*v, &useNativeQuery) + if err != nil { + return err + } + hlstp.UseNativeQuery = useNativeQuery + } + case "username": + if v != nil { + var username interface{} + err = json.Unmarshal(*v, &username) + if err != nil { + return err + } + hlstp.Username = username + } + case "password": + if v != nil { + password, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + hlstp.Password = password + } + case "httpPath": + if v != nil { + var HTTPPath interface{} + err = json.Unmarshal(*v, &HTTPPath) + if err != nil { + return err + } + hlstp.HTTPPath = HTTPPath + } + case "enableSsl": + if v != nil { + var enableSsl interface{} + err = json.Unmarshal(*v, &enableSsl) + if err != nil { + return err + } + hlstp.EnableSsl = enableSsl + } + case "trustedCertPath": + if v != nil { + var trustedCertPath interface{} + err = json.Unmarshal(*v, &trustedCertPath) + if err != nil { + return err + } + hlstp.TrustedCertPath = trustedCertPath + } + case "useSystemTrustStore": + if v != nil { + var useSystemTrustStore interface{} + err = json.Unmarshal(*v, &useSystemTrustStore) + if err != nil { + return err + } + hlstp.UseSystemTrustStore = useSystemTrustStore + } + case "allowHostNameCNMismatch": + if v != nil { + var allowHostNameCNMismatch interface{} + err = json.Unmarshal(*v, &allowHostNameCNMismatch) + if err != nil { + return err + } + hlstp.AllowHostNameCNMismatch = allowHostNameCNMismatch + } + case "allowSelfSignedServerCert": + if v != nil { + var allowSelfSignedServerCert interface{} + err = json.Unmarshal(*v, &allowSelfSignedServerCert) + if err != nil { + return err + } + hlstp.AllowSelfSignedServerCert = allowSelfSignedServerCert + } + case "encryptedCredential": + if v != nil { + var encryptedCredential interface{} + err = json.Unmarshal(*v, &encryptedCredential) + if err != nil { + return err + } + hlstp.EncryptedCredential = encryptedCredential } } } @@ -99155,529 +105754,514 @@ func (icatp *IfConditionActivityTypeProperties) UnmarshalJSON(body []byte) error return nil } -// ImpalaDatasetTypeProperties impala Dataset Properties -type ImpalaDatasetTypeProperties struct { - // TableName - This property will be retired. Please consider using schema + table properties instead. - TableName interface{} `json:"tableName,omitempty"` - // Table - The table name of the Impala. Type: string (or Expression with resultType string). - Table interface{} `json:"table,omitempty"` - // Schema - The schema name of the Impala. Type: string (or Expression with resultType string). - Schema interface{} `json:"schema,omitempty"` -} - -// ImpalaLinkedService impala server linked service. -type ImpalaLinkedService struct { - // ImpalaLinkedServiceTypeProperties - Impala server linked service properties. - *ImpalaLinkedServiceTypeProperties `json:"typeProperties,omitempty"` +// HiveObjectDataset hive Server dataset. +type HiveObjectDataset struct { + // HiveDatasetTypeProperties - Properties specific to this dataset type. + *HiveDatasetTypeProperties `json:"typeProperties,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` - // ConnectVia - The integration runtime reference. - ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` - // Description - Linked service description. + // Description - Dataset description. Description *string `json:"description,omitempty"` - // Parameters - Parameters for linked service. + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. Parameters map[string]*ParameterSpecification `json:"parameters"` - // Annotations - List of tags that can be used for describing the linked service. + // Annotations - List of tags that can be used for describing the Dataset. Annotations *[]interface{} `json:"annotations,omitempty"` - // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' - Type TypeBasicLinkedService `json:"type,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' + Type TypeBasicDataset `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for ImpalaLinkedService. -func (ils ImpalaLinkedService) MarshalJSON() ([]byte, error) { - ils.Type = TypeImpala +// MarshalJSON is the custom marshaler for HiveObjectDataset. +func (hod HiveObjectDataset) MarshalJSON() ([]byte, error) { + hod.Type = TypeHiveObject objectMap := make(map[string]interface{}) - if ils.ImpalaLinkedServiceTypeProperties != nil { - objectMap["typeProperties"] = ils.ImpalaLinkedServiceTypeProperties + if hod.HiveDatasetTypeProperties != nil { + objectMap["typeProperties"] = hod.HiveDatasetTypeProperties } - if ils.ConnectVia != nil { - objectMap["connectVia"] = ils.ConnectVia + if hod.Description != nil { + objectMap["description"] = hod.Description } - if ils.Description != nil { - objectMap["description"] = ils.Description + if hod.Structure != nil { + objectMap["structure"] = hod.Structure } - if ils.Parameters != nil { - objectMap["parameters"] = ils.Parameters + if hod.Schema != nil { + objectMap["schema"] = hod.Schema } - if ils.Annotations != nil { - objectMap["annotations"] = ils.Annotations + if hod.LinkedServiceName != nil { + objectMap["linkedServiceName"] = hod.LinkedServiceName } - if ils.Type != "" { - objectMap["type"] = ils.Type + if hod.Parameters != nil { + objectMap["parameters"] = hod.Parameters } - for k, v := range ils.AdditionalProperties { + if hod.Annotations != nil { + objectMap["annotations"] = hod.Annotations + } + if hod.Folder != nil { + objectMap["folder"] = hod.Folder + } + if hod.Type != "" { + objectMap["type"] = hod.Type + } + for k, v := range hod.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsAzureFunctionLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. -func (ils ImpalaLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { - return nil, false -} - -// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. -func (ils ImpalaLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { - return nil, false -} - -// AsSapTableLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. -func (ils ImpalaLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { - return nil, false -} - -// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. -func (ils ImpalaLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { return nil, false } -// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. -func (ils ImpalaLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { return nil, false } -// AsDynamicsAXLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. -func (ils ImpalaLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { return nil, false } -// AsResponsysLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. -func (ils ImpalaLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { +// AsDynamicsAXResourceDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { return nil, false } -// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. -func (ils ImpalaLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { +// AsResponsysObjectDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { return nil, false } -// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. -func (ils ImpalaLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { return nil, false } -// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. -func (ils ImpalaLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { +// AsVerticaTableDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { return nil, false } -// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. -func (ils ImpalaLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { +// AsNetezzaTableDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { return nil, false } -// AsNetezzaLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. -func (ils ImpalaLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { +// AsZohoObjectDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { return nil, false } -// AsVerticaLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. -func (ils ImpalaLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { +// AsXeroObjectDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { return nil, false } -// AsZohoLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. -func (ils ImpalaLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { +// AsSquareObjectDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { return nil, false } -// AsXeroLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. -func (ils ImpalaLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { +// AsSparkObjectDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { return nil, false } -// AsSquareLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. -func (ils ImpalaLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { +// AsShopifyObjectDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { return nil, false } -// AsSparkLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. -func (ils ImpalaLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { +// AsServiceNowObjectDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { return nil, false } -// AsShopifyLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. -func (ils ImpalaLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { +// AsQuickBooksObjectDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { return nil, false } -// AsServiceNowLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. -func (ils ImpalaLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { +// AsPrestoObjectDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { return nil, false } -// AsQuickBooksLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. -func (ils ImpalaLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { +// AsPhoenixObjectDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { return nil, false } -// AsPrestoLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. -func (ils ImpalaLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { +// AsPaypalObjectDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { return nil, false } -// AsPhoenixLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. -func (ils ImpalaLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { +// AsMarketoObjectDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { return nil, false } -// AsPaypalLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. -func (ils ImpalaLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { +// AsAzureMariaDBTableDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { return nil, false } -// AsMarketoLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. -func (ils ImpalaLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { +// AsMariaDBTableDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { return nil, false } -// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. -func (ils ImpalaLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { +// AsMagentoObjectDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { return nil, false } -// AsMariaDBLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. -func (ils ImpalaLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { +// AsJiraObjectDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { return nil, false } -// AsMagentoLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. -func (ils ImpalaLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { +// AsImpalaObjectDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { return nil, false } -// AsJiraLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. -func (ils ImpalaLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { +// AsHubspotObjectDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { return nil, false } -// AsImpalaLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. -func (ils ImpalaLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { - return &ils, true -} - -// AsHubspotLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. -func (ils ImpalaLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { - return nil, false +// AsHiveObjectDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { + return &hod, true } -// AsHiveLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. -func (ils ImpalaLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { +// AsHBaseObjectDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { return nil, false } -// AsHBaseLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. -func (ils ImpalaLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { +// AsGreenplumTableDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { return nil, false } -// AsGreenplumLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. -func (ils ImpalaLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { return nil, false } -// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. -func (ils ImpalaLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { +// AsEloquaObjectDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { return nil, false } -// AsEloquaLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. -func (ils ImpalaLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { +// AsDrillTableDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { return nil, false } -// AsDrillLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. -func (ils ImpalaLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { +// AsCouchbaseTableDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { return nil, false } -// AsCouchbaseLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. -func (ils ImpalaLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { +// AsConcurObjectDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { return nil, false } -// AsConcurLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. -func (ils ImpalaLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { return nil, false } -// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. -func (ils ImpalaLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { +// AsAmazonMWSObjectDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { return nil, false } -// AsAmazonMWSLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. -func (ils ImpalaLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { +// AsHTTPDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsHTTPDataset() (*HTTPDataset, bool) { return nil, false } -// AsSapHanaLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. -func (ils ImpalaLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { +// AsAzureSearchIndexDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { return nil, false } -// AsSapBWLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. -func (ils ImpalaLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { +// AsWebTableDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) { return nil, false } -// AsSftpServerLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. -func (ils ImpalaLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { +// AsSapTableResourceDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { return nil, false } -// AsFtpServerLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. -func (ils ImpalaLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { +// AsRestResourceDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { return nil, false } -// AsHTTPLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. -func (ils ImpalaLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { +// AsSQLServerTableDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { return nil, false } -// AsAzureSearchLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. -func (ils ImpalaLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { +// AsSapOpenHubTableDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { return nil, false } -// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. -func (ils ImpalaLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { +// AsSapHanaTableDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { return nil, false } -// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. -func (ils ImpalaLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { +// AsSapEccResourceDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { return nil, false } -// AsAmazonS3LinkedService is the BasicLinkedService implementation for ImpalaLinkedService. -func (ils ImpalaLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { return nil, false } -// AsRestServiceLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. -func (ils ImpalaLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { +// AsSapBwCubeDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { return nil, false } -// AsSapOpenHubLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. -func (ils ImpalaLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { +// AsSybaseTableDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { return nil, false } -// AsSapEccLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. -func (ils ImpalaLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { return nil, false } -// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. -func (ils ImpalaLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { +// AsSalesforceObjectDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { return nil, false } -// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. -func (ils ImpalaLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { return nil, false } -// AsSalesforceLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. -func (ils ImpalaLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { +// AsPostgreSQLTableDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { return nil, false } -// AsOffice365LinkedService is the BasicLinkedService implementation for ImpalaLinkedService. -func (ils ImpalaLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { +// AsMySQLTableDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { return nil, false } -// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. -func (ils ImpalaLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { +// AsOdbcTableDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { return nil, false } -// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. -func (ils ImpalaLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { +// AsInformixTableDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { return nil, false } -// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for ImpalaLinkedService. -func (ils ImpalaLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { +// AsRelationalTableDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { return nil, false } -// AsMongoDbV2LinkedService is the BasicLinkedService implementation for ImpalaLinkedService. -func (ils ImpalaLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { +// AsDb2TableDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { return nil, false } -// AsMongoDbLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. -func (ils ImpalaLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { return nil, false } -// AsCassandraLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. -func (ils ImpalaLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { +// AsAzureMySQLTableDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { return nil, false } -// AsWebLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. -func (ils ImpalaLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { +// AsTeradataTableDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { return nil, false } -// AsODataLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. -func (ils ImpalaLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { +// AsOracleTableDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { return nil, false } -// AsHdfsLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. -func (ils ImpalaLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { +// AsODataResourceDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { return nil, false } -// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. -func (ils ImpalaLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { return nil, false } -// AsInformixLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. -func (ils ImpalaLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { return nil, false } -// AsOdbcLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. -func (ils ImpalaLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { +// AsMongoDbCollectionDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { return nil, false } -// AsAzureMLLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. -func (ils ImpalaLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { +// AsFileShareDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsFileShareDataset() (*FileShareDataset, bool) { return nil, false } -// AsTeradataLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. -func (ils ImpalaLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { +// AsOffice365Dataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) { return nil, false } -// AsDb2LinkedService is the BasicLinkedService implementation for ImpalaLinkedService. -func (ils ImpalaLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { +// AsAzureBlobFSDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) { return nil, false } -// AsSybaseLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. -func (ils ImpalaLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { +// AsAzureDataLakeStoreDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) { return nil, false } -// AsPostgreSQLLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. -func (ils ImpalaLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { return nil, false } -// AsMySQLLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. -func (ils ImpalaLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { return nil, false } -// AsAzureMySQLLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. -func (ils ImpalaLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { +// AsDynamicsEntityDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { return nil, false } -// AsOracleLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. -func (ils ImpalaLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { +// AsDocumentDbCollectionDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { return nil, false } -// AsFileServerLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. -func (ils ImpalaLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { return nil, false } -// AsHDInsightLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. -func (ils ImpalaLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { +// AsCustomDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsCustomDataset() (*CustomDataset, bool) { return nil, false } -// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. -func (ils ImpalaLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { +// AsCassandraTableDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { return nil, false } -// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. -func (ils ImpalaLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { +// AsAzureSQLDWTableDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { return nil, false } -// AsDynamicsLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. -func (ils ImpalaLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { +// AsAzureSQLMITableDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { return nil, false } -// AsCosmosDbLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. -func (ils ImpalaLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { +// AsAzureSQLTableDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { return nil, false } -// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. -func (ils ImpalaLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { +// AsAzureTableDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { return nil, false } -// AsAzureBatchLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. -func (ils ImpalaLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { +// AsAzureBlobDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) { return nil, false } -// AsAzureSQLMILinkedService is the BasicLinkedService implementation for ImpalaLinkedService. -func (ils ImpalaLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { +// AsBinaryDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) { return nil, false } -// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. -func (ils ImpalaLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { +// AsOrcDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsOrcDataset() (*OrcDataset, bool) { return nil, false } -// AsSQLServerLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. -func (ils ImpalaLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { +// AsJSONDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsJSONDataset() (*JSONDataset, bool) { return nil, false } -// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. -func (ils ImpalaLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { +// AsDelimitedTextDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { return nil, false } -// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. -func (ils ImpalaLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { +// AsParquetDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsParquetDataset() (*ParquetDataset, bool) { return nil, false } -// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. -func (ils ImpalaLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { +// AsAvroDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsAvroDataset() (*AvroDataset, bool) { return nil, false } -// AsAzureStorageLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. -func (ils ImpalaLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { +// AsAmazonS3Dataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) { return nil, false } -// AsLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. -func (ils ImpalaLinkedService) AsLinkedService() (*LinkedService, bool) { +// AsDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsDataset() (*Dataset, bool) { return nil, false } -// AsBasicLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. -func (ils ImpalaLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { - return &ils, true +// AsBasicDataset is the BasicDataset implementation for HiveObjectDataset. +func (hod HiveObjectDataset) AsBasicDataset() (BasicDataset, bool) { + return &hod, true } -// UnmarshalJSON is the custom unmarshaler for ImpalaLinkedService struct. -func (ils *ImpalaLinkedService) UnmarshalJSON(body []byte) error { +// UnmarshalJSON is the custom unmarshaler for HiveObjectDataset struct. +func (hod *HiveObjectDataset) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -99687,12 +106271,12 @@ func (ils *ImpalaLinkedService) UnmarshalJSON(body []byte) error { switch k { case "typeProperties": if v != nil { - var impalaLinkedServiceTypeProperties ImpalaLinkedServiceTypeProperties - err = json.Unmarshal(*v, &impalaLinkedServiceTypeProperties) + var hiveDatasetTypeProperties HiveDatasetTypeProperties + err = json.Unmarshal(*v, &hiveDatasetTypeProperties) if err != nil { return err } - ils.ImpalaLinkedServiceTypeProperties = &impalaLinkedServiceTypeProperties + hod.HiveDatasetTypeProperties = &hiveDatasetTypeProperties } default: if v != nil { @@ -99701,19 +106285,10 @@ func (ils *ImpalaLinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - if ils.AdditionalProperties == nil { - ils.AdditionalProperties = make(map[string]interface{}) - } - ils.AdditionalProperties[k] = additionalProperties - } - case "connectVia": - if v != nil { - var connectVia IntegrationRuntimeReference - err = json.Unmarshal(*v, &connectVia) - if err != nil { - return err + if hod.AdditionalProperties == nil { + hod.AdditionalProperties = make(map[string]interface{}) } - ils.ConnectVia = &connectVia + hod.AdditionalProperties[k] = additionalProperties } case "description": if v != nil { @@ -99722,173 +106297,70 @@ func (ils *ImpalaLinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - ils.Description = &description - } - case "parameters": - if v != nil { - var parameters map[string]*ParameterSpecification - err = json.Unmarshal(*v, ¶meters) - if err != nil { - return err - } - ils.Parameters = parameters - } - case "annotations": - if v != nil { - var annotations []interface{} - err = json.Unmarshal(*v, &annotations) - if err != nil { - return err - } - ils.Annotations = &annotations - } - case "type": - if v != nil { - var typeVar TypeBasicLinkedService - err = json.Unmarshal(*v, &typeVar) - if err != nil { - return err - } - ils.Type = typeVar - } - } - } - - return nil -} - -// ImpalaLinkedServiceTypeProperties impala server linked service properties. -type ImpalaLinkedServiceTypeProperties struct { - // Host - The IP address or host name of the Impala server. (i.e. 192.168.222.160) - Host interface{} `json:"host,omitempty"` - // Port - The TCP port that the Impala server uses to listen for client connections. The default value is 21050. - Port interface{} `json:"port,omitempty"` - // AuthenticationType - The authentication type to use. Possible values include: 'ImpalaAuthenticationTypeAnonymous', 'ImpalaAuthenticationTypeSASLUsername', 'ImpalaAuthenticationTypeUsernameAndPassword' - AuthenticationType ImpalaAuthenticationType `json:"authenticationType,omitempty"` - // Username - The user name used to access the Impala server. The default value is anonymous when using SASLUsername. - Username interface{} `json:"username,omitempty"` - // Password - The password corresponding to the user name when using UsernameAndPassword. - Password BasicSecretBase `json:"password,omitempty"` - // EnableSsl - Specifies whether the connections to the server are encrypted using SSL. The default value is false. - EnableSsl interface{} `json:"enableSsl,omitempty"` - // TrustedCertPath - The full path of the .pem file containing trusted CA certificates for verifying the server when connecting over SSL. This property can only be set when using SSL on self-hosted IR. The default value is the cacerts.pem file installed with the IR. - TrustedCertPath interface{} `json:"trustedCertPath,omitempty"` - // UseSystemTrustStore - Specifies whether to use a CA certificate from the system trust store or from a specified PEM file. The default value is false. - UseSystemTrustStore interface{} `json:"useSystemTrustStore,omitempty"` - // AllowHostNameCNMismatch - Specifies whether to require a CA-issued SSL certificate name to match the host name of the server when connecting over SSL. The default value is false. - AllowHostNameCNMismatch interface{} `json:"allowHostNameCNMismatch,omitempty"` - // AllowSelfSignedServerCert - Specifies whether to allow self-signed certificates from the server. The default value is false. - AllowSelfSignedServerCert interface{} `json:"allowSelfSignedServerCert,omitempty"` - // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). - EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` -} - -// UnmarshalJSON is the custom unmarshaler for ImpalaLinkedServiceTypeProperties struct. -func (ilstp *ImpalaLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - case "host": - if v != nil { - var host interface{} - err = json.Unmarshal(*v, &host) - if err != nil { - return err - } - ilstp.Host = host - } - case "port": - if v != nil { - var port interface{} - err = json.Unmarshal(*v, &port) - if err != nil { - return err - } - ilstp.Port = port - } - case "authenticationType": - if v != nil { - var authenticationType ImpalaAuthenticationType - err = json.Unmarshal(*v, &authenticationType) - if err != nil { - return err - } - ilstp.AuthenticationType = authenticationType - } - case "username": - if v != nil { - var username interface{} - err = json.Unmarshal(*v, &username) - if err != nil { - return err - } - ilstp.Username = username + hod.Description = &description } - case "password": + case "structure": if v != nil { - password, err := unmarshalBasicSecretBase(*v) + var structure interface{} + err = json.Unmarshal(*v, &structure) if err != nil { return err } - ilstp.Password = password + hod.Structure = structure } - case "enableSsl": + case "schema": if v != nil { - var enableSsl interface{} - err = json.Unmarshal(*v, &enableSsl) + var schema interface{} + err = json.Unmarshal(*v, &schema) if err != nil { return err } - ilstp.EnableSsl = enableSsl + hod.Schema = schema } - case "trustedCertPath": + case "linkedServiceName": if v != nil { - var trustedCertPath interface{} - err = json.Unmarshal(*v, &trustedCertPath) + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) if err != nil { return err } - ilstp.TrustedCertPath = trustedCertPath + hod.LinkedServiceName = &linkedServiceName } - case "useSystemTrustStore": + case "parameters": if v != nil { - var useSystemTrustStore interface{} - err = json.Unmarshal(*v, &useSystemTrustStore) + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) if err != nil { return err } - ilstp.UseSystemTrustStore = useSystemTrustStore + hod.Parameters = parameters } - case "allowHostNameCNMismatch": + case "annotations": if v != nil { - var allowHostNameCNMismatch interface{} - err = json.Unmarshal(*v, &allowHostNameCNMismatch) + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) if err != nil { return err } - ilstp.AllowHostNameCNMismatch = allowHostNameCNMismatch + hod.Annotations = &annotations } - case "allowSelfSignedServerCert": + case "folder": if v != nil { - var allowSelfSignedServerCert interface{} - err = json.Unmarshal(*v, &allowSelfSignedServerCert) + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) if err != nil { return err } - ilstp.AllowSelfSignedServerCert = allowSelfSignedServerCert + hod.Folder = &folder } - case "encryptedCredential": + case "type": if v != nil { - var encryptedCredential interface{} - err = json.Unmarshal(*v, &encryptedCredential) + var typeVar TypeBasicDataset + err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - ilstp.EncryptedCredential = encryptedCredential + hod.Type = typeVar } } } @@ -99896,489 +106368,504 @@ func (ilstp *ImpalaLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error return nil } -// ImpalaObjectDataset impala server dataset. -type ImpalaObjectDataset struct { - // ImpalaDatasetTypeProperties - Properties specific to this dataset type. - *ImpalaDatasetTypeProperties `json:"typeProperties,omitempty"` +// HiveSource a copy activity Hive Server source. +type HiveSource struct { + // Query - A query to retrieve data from source. Type: string (or Expression with resultType string). + Query interface{} `json:"query,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` - // Description - Dataset description. - Description *string `json:"description,omitempty"` - // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. - Structure interface{} `json:"structure,omitempty"` - // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. - Schema interface{} `json:"schema,omitempty"` - // LinkedServiceName - Linked service reference. - LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` - // Parameters - Parameters for dataset. - Parameters map[string]*ParameterSpecification `json:"parameters"` - // Annotations - List of tags that can be used for describing the Dataset. - Annotations *[]interface{} `json:"annotations,omitempty"` - // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. - Folder *DatasetFolder `json:"folder,omitempty"` - // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' - Type TypeBasicDataset `json:"type,omitempty"` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' + Type TypeBasicCopySource `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for ImpalaObjectDataset. -func (iod ImpalaObjectDataset) MarshalJSON() ([]byte, error) { - iod.Type = TypeImpalaObject +// MarshalJSON is the custom marshaler for HiveSource. +func (hs HiveSource) MarshalJSON() ([]byte, error) { + hs.Type = TypeHiveSource objectMap := make(map[string]interface{}) - if iod.ImpalaDatasetTypeProperties != nil { - objectMap["typeProperties"] = iod.ImpalaDatasetTypeProperties - } - if iod.Description != nil { - objectMap["description"] = iod.Description - } - if iod.Structure != nil { - objectMap["structure"] = iod.Structure - } - if iod.Schema != nil { - objectMap["schema"] = iod.Schema + if hs.Query != nil { + objectMap["query"] = hs.Query } - if iod.LinkedServiceName != nil { - objectMap["linkedServiceName"] = iod.LinkedServiceName + if hs.QueryTimeout != nil { + objectMap["queryTimeout"] = hs.QueryTimeout } - if iod.Parameters != nil { - objectMap["parameters"] = iod.Parameters + if hs.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = hs.SourceRetryCount } - if iod.Annotations != nil { - objectMap["annotations"] = iod.Annotations + if hs.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = hs.SourceRetryWait } - if iod.Folder != nil { - objectMap["folder"] = iod.Folder + if hs.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = hs.MaxConcurrentConnections } - if iod.Type != "" { - objectMap["type"] = iod.Type + if hs.Type != "" { + objectMap["type"] = hs.Type } - for k, v := range iod.AdditionalProperties { + for k, v := range hs.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for ImpalaObjectDataset. -func (iod ImpalaObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { +// AsHTTPSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsHTTPSource() (*HTTPSource, bool) { return nil, false } -// AsAzureDataExplorerTableDataset is the BasicDataset implementation for ImpalaObjectDataset. -func (iod ImpalaObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { +// AsAzureBlobFSSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { return nil, false } -// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for ImpalaObjectDataset. -func (iod ImpalaObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { return nil, false } -// AsDynamicsAXResourceDataset is the BasicDataset implementation for ImpalaObjectDataset. -func (iod ImpalaObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { +// AsOffice365Source is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsOffice365Source() (*Office365Source, bool) { return nil, false } -// AsResponsysObjectDataset is the BasicDataset implementation for ImpalaObjectDataset. -func (iod ImpalaObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { return nil, false } -// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for ImpalaObjectDataset. -func (iod ImpalaObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { +// AsMongoDbV2Source is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { return nil, false } -// AsVerticaTableDataset is the BasicDataset implementation for ImpalaObjectDataset. -func (iod ImpalaObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { +// AsMongoDbSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsMongoDbSource() (*MongoDbSource, bool) { return nil, false } -// AsNetezzaTableDataset is the BasicDataset implementation for ImpalaObjectDataset. -func (iod ImpalaObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { +// AsWebSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsWebSource() (*WebSource, bool) { return nil, false } -// AsZohoObjectDataset is the BasicDataset implementation for ImpalaObjectDataset. -func (iod ImpalaObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { +// AsOracleSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsOracleSource() (*OracleSource, bool) { return nil, false } -// AsXeroObjectDataset is the BasicDataset implementation for ImpalaObjectDataset. -func (iod ImpalaObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { +// AsAzureDataExplorerSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { return nil, false } -// AsSquareObjectDataset is the BasicDataset implementation for ImpalaObjectDataset. -func (iod ImpalaObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { +// AsHdfsSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsHdfsSource() (*HdfsSource, bool) { return nil, false } -// AsSparkObjectDataset is the BasicDataset implementation for ImpalaObjectDataset. -func (iod ImpalaObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { +// AsFileSystemSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsFileSystemSource() (*FileSystemSource, bool) { return nil, false } -// AsShopifyObjectDataset is the BasicDataset implementation for ImpalaObjectDataset. -func (iod ImpalaObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { +// AsRestSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsRestSource() (*RestSource, bool) { return nil, false } -// AsServiceNowObjectDataset is the BasicDataset implementation for ImpalaObjectDataset. -func (iod ImpalaObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { return nil, false } -// AsQuickBooksObjectDataset is the BasicDataset implementation for ImpalaObjectDataset. -func (iod ImpalaObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { +// AsODataSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsODataSource() (*ODataSource, bool) { return nil, false } -// AsPrestoObjectDataset is the BasicDataset implementation for ImpalaObjectDataset. -func (iod ImpalaObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { +// AsMicrosoftAccessSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { return nil, false } -// AsPhoenixObjectDataset is the BasicDataset implementation for ImpalaObjectDataset. -func (iod ImpalaObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { +// AsRelationalSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsRelationalSource() (*RelationalSource, bool) { return nil, false } -// AsPaypalObjectDataset is the BasicDataset implementation for ImpalaObjectDataset. -func (iod ImpalaObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { return nil, false } -// AsMarketoObjectDataset is the BasicDataset implementation for ImpalaObjectDataset. -func (iod ImpalaObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { +// AsDynamicsCrmSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { return nil, false } -// AsAzureMariaDBTableDataset is the BasicDataset implementation for ImpalaObjectDataset. -func (iod ImpalaObjectDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { +// AsDynamicsSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsDynamicsSource() (*DynamicsSource, bool) { return nil, false } -// AsMariaDBTableDataset is the BasicDataset implementation for ImpalaObjectDataset. -func (iod ImpalaObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { return nil, false } -// AsMagentoObjectDataset is the BasicDataset implementation for ImpalaObjectDataset. -func (iod ImpalaObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { +// AsDocumentDbCollectionSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { return nil, false } -// AsJiraObjectDataset is the BasicDataset implementation for ImpalaObjectDataset. -func (iod ImpalaObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { +// AsBlobSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsBlobSource() (*BlobSource, bool) { return nil, false } -// AsImpalaObjectDataset is the BasicDataset implementation for ImpalaObjectDataset. -func (iod ImpalaObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { - return &iod, true -} - -// AsHubspotObjectDataset is the BasicDataset implementation for ImpalaObjectDataset. -func (iod ImpalaObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { +// AsAmazonRedshiftSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { return nil, false } -// AsHiveObjectDataset is the BasicDataset implementation for ImpalaObjectDataset. -func (iod ImpalaObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { +// AsGoogleAdWordsSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { return nil, false } -// AsHBaseObjectDataset is the BasicDataset implementation for ImpalaObjectDataset. -func (iod ImpalaObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { +// AsOracleServiceCloudSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { return nil, false } -// AsGreenplumTableDataset is the BasicDataset implementation for ImpalaObjectDataset. -func (iod ImpalaObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { +// AsDynamicsAXSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { return nil, false } -// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for ImpalaObjectDataset. -func (iod ImpalaObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { +// AsResponsysSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsResponsysSource() (*ResponsysSource, bool) { return nil, false } -// AsEloquaObjectDataset is the BasicDataset implementation for ImpalaObjectDataset. -func (iod ImpalaObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { return nil, false } -// AsDrillTableDataset is the BasicDataset implementation for ImpalaObjectDataset. -func (iod ImpalaObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { +// AsVerticaSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsVerticaSource() (*VerticaSource, bool) { return nil, false } -// AsCouchbaseTableDataset is the BasicDataset implementation for ImpalaObjectDataset. -func (iod ImpalaObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { +// AsNetezzaSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsNetezzaSource() (*NetezzaSource, bool) { return nil, false } -// AsConcurObjectDataset is the BasicDataset implementation for ImpalaObjectDataset. -func (iod ImpalaObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { +// AsZohoSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsZohoSource() (*ZohoSource, bool) { return nil, false } -// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for ImpalaObjectDataset. -func (iod ImpalaObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { +// AsXeroSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsXeroSource() (*XeroSource, bool) { return nil, false } -// AsAmazonMWSObjectDataset is the BasicDataset implementation for ImpalaObjectDataset. -func (iod ImpalaObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { +// AsSquareSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsSquareSource() (*SquareSource, bool) { return nil, false } -// AsHTTPDataset is the BasicDataset implementation for ImpalaObjectDataset. -func (iod ImpalaObjectDataset) AsHTTPDataset() (*HTTPDataset, bool) { +// AsSparkSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsSparkSource() (*SparkSource, bool) { return nil, false } -// AsAzureSearchIndexDataset is the BasicDataset implementation for ImpalaObjectDataset. -func (iod ImpalaObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { +// AsShopifySource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsShopifySource() (*ShopifySource, bool) { return nil, false } -// AsWebTableDataset is the BasicDataset implementation for ImpalaObjectDataset. -func (iod ImpalaObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) { +// AsServiceNowSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsServiceNowSource() (*ServiceNowSource, bool) { return nil, false } -// AsSapTableResourceDataset is the BasicDataset implementation for ImpalaObjectDataset. -func (iod ImpalaObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { +// AsQuickBooksSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsQuickBooksSource() (*QuickBooksSource, bool) { return nil, false } -// AsRestResourceDataset is the BasicDataset implementation for ImpalaObjectDataset. -func (iod ImpalaObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { +// AsPrestoSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsPrestoSource() (*PrestoSource, bool) { return nil, false } -// AsSQLServerTableDataset is the BasicDataset implementation for ImpalaObjectDataset. -func (iod ImpalaObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { +// AsPhoenixSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsPhoenixSource() (*PhoenixSource, bool) { return nil, false } -// AsSapOpenHubTableDataset is the BasicDataset implementation for ImpalaObjectDataset. -func (iod ImpalaObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { +// AsPaypalSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsPaypalSource() (*PaypalSource, bool) { return nil, false } -// AsSapHanaTableDataset is the BasicDataset implementation for ImpalaObjectDataset. -func (iod ImpalaObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { +// AsMarketoSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsMarketoSource() (*MarketoSource, bool) { return nil, false } -// AsSapEccResourceDataset is the BasicDataset implementation for ImpalaObjectDataset. -func (iod ImpalaObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { +// AsAzureMariaDBSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { return nil, false } -// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for ImpalaObjectDataset. -func (iod ImpalaObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { +// AsMariaDBSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsMariaDBSource() (*MariaDBSource, bool) { return nil, false } -// AsSapBwCubeDataset is the BasicDataset implementation for ImpalaObjectDataset. -func (iod ImpalaObjectDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { +// AsMagentoSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsMagentoSource() (*MagentoSource, bool) { return nil, false } -// AsSybaseTableDataset is the BasicDataset implementation for ImpalaObjectDataset. -func (iod ImpalaObjectDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { +// AsJiraSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsJiraSource() (*JiraSource, bool) { return nil, false } -// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for ImpalaObjectDataset. -func (iod ImpalaObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { +// AsImpalaSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsImpalaSource() (*ImpalaSource, bool) { return nil, false } -// AsSalesforceObjectDataset is the BasicDataset implementation for ImpalaObjectDataset. -func (iod ImpalaObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { +// AsHubspotSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsHubspotSource() (*HubspotSource, bool) { return nil, false } -// AsMicrosoftAccessTableDataset is the BasicDataset implementation for ImpalaObjectDataset. -func (iod ImpalaObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { +// AsHiveSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsHiveSource() (*HiveSource, bool) { + return &hs, true +} + +// AsHBaseSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsHBaseSource() (*HBaseSource, bool) { return nil, false } -// AsPostgreSQLTableDataset is the BasicDataset implementation for ImpalaObjectDataset. -func (iod ImpalaObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { +// AsGreenplumSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsGreenplumSource() (*GreenplumSource, bool) { return nil, false } -// AsMySQLTableDataset is the BasicDataset implementation for ImpalaObjectDataset. -func (iod ImpalaObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { +// AsGoogleBigQuerySource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { return nil, false } -// AsOdbcTableDataset is the BasicDataset implementation for ImpalaObjectDataset. -func (iod ImpalaObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { +// AsEloquaSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsEloquaSource() (*EloquaSource, bool) { return nil, false } -// AsInformixTableDataset is the BasicDataset implementation for ImpalaObjectDataset. -func (iod ImpalaObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { +// AsDrillSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsDrillSource() (*DrillSource, bool) { return nil, false } -// AsRelationalTableDataset is the BasicDataset implementation for ImpalaObjectDataset. -func (iod ImpalaObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { +// AsCouchbaseSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsCouchbaseSource() (*CouchbaseSource, bool) { return nil, false } -// AsAzureMySQLTableDataset is the BasicDataset implementation for ImpalaObjectDataset. -func (iod ImpalaObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { +// AsConcurSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsConcurSource() (*ConcurSource, bool) { return nil, false } -// AsTeradataTableDataset is the BasicDataset implementation for ImpalaObjectDataset. -func (iod ImpalaObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { +// AsAzurePostgreSQLSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { return nil, false } -// AsOracleTableDataset is the BasicDataset implementation for ImpalaObjectDataset. -func (iod ImpalaObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { +// AsAmazonMWSSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { return nil, false } -// AsODataResourceDataset is the BasicDataset implementation for ImpalaObjectDataset. -func (iod ImpalaObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { +// AsCassandraSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsCassandraSource() (*CassandraSource, bool) { return nil, false } -// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for ImpalaObjectDataset. -func (iod ImpalaObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { +// AsTeradataSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsTeradataSource() (*TeradataSource, bool) { return nil, false } -// AsMongoDbV2CollectionDataset is the BasicDataset implementation for ImpalaObjectDataset. -func (iod ImpalaObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { +// AsAzureMySQLSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { return nil, false } -// AsMongoDbCollectionDataset is the BasicDataset implementation for ImpalaObjectDataset. -func (iod ImpalaObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { +// AsSQLDWSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsSQLDWSource() (*SQLDWSource, bool) { return nil, false } -// AsFileShareDataset is the BasicDataset implementation for ImpalaObjectDataset. -func (iod ImpalaObjectDataset) AsFileShareDataset() (*FileShareDataset, bool) { +// AsSQLMISource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsSQLMISource() (*SQLMISource, bool) { return nil, false } -// AsOffice365Dataset is the BasicDataset implementation for ImpalaObjectDataset. -func (iod ImpalaObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) { +// AsAzureSQLSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsAzureSQLSource() (*AzureSQLSource, bool) { return nil, false } -// AsAzureBlobFSDataset is the BasicDataset implementation for ImpalaObjectDataset. -func (iod ImpalaObjectDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) { +// AsSQLServerSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsSQLServerSource() (*SQLServerSource, bool) { return nil, false } -// AsAzureDataLakeStoreDataset is the BasicDataset implementation for ImpalaObjectDataset. -func (iod ImpalaObjectDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) { +// AsSQLSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsSQLSource() (*SQLSource, bool) { return nil, false } -// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for ImpalaObjectDataset. -func (iod ImpalaObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { +// AsSapTableSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsSapTableSource() (*SapTableSource, bool) { return nil, false } -// AsDynamicsCrmEntityDataset is the BasicDataset implementation for ImpalaObjectDataset. -func (iod ImpalaObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { +// AsSapOpenHubSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { return nil, false } -// AsDynamicsEntityDataset is the BasicDataset implementation for ImpalaObjectDataset. -func (iod ImpalaObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { +// AsSapHanaSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsSapHanaSource() (*SapHanaSource, bool) { return nil, false } -// AsDocumentDbCollectionDataset is the BasicDataset implementation for ImpalaObjectDataset. -func (iod ImpalaObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { +// AsSapEccSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsSapEccSource() (*SapEccSource, bool) { return nil, false } -// AsCustomDataset is the BasicDataset implementation for ImpalaObjectDataset. -func (iod ImpalaObjectDataset) AsCustomDataset() (*CustomDataset, bool) { +// AsSapCloudForCustomerSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { return nil, false } -// AsCassandraTableDataset is the BasicDataset implementation for ImpalaObjectDataset. -func (iod ImpalaObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { +// AsSalesforceSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsSalesforceSource() (*SalesforceSource, bool) { return nil, false } -// AsAzureSQLDWTableDataset is the BasicDataset implementation for ImpalaObjectDataset. -func (iod ImpalaObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { +// AsSapBwSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsSapBwSource() (*SapBwSource, bool) { return nil, false } -// AsAzureSQLMITableDataset is the BasicDataset implementation for ImpalaObjectDataset. -func (iod ImpalaObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { +// AsSybaseSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsSybaseSource() (*SybaseSource, bool) { return nil, false } -// AsAzureSQLTableDataset is the BasicDataset implementation for ImpalaObjectDataset. -func (iod ImpalaObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { +// AsPostgreSQLSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { return nil, false } -// AsAzureTableDataset is the BasicDataset implementation for ImpalaObjectDataset. -func (iod ImpalaObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { +// AsMySQLSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsMySQLSource() (*MySQLSource, bool) { return nil, false } -// AsAzureBlobDataset is the BasicDataset implementation for ImpalaObjectDataset. -func (iod ImpalaObjectDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) { +// AsOdbcSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsOdbcSource() (*OdbcSource, bool) { return nil, false } -// AsBinaryDataset is the BasicDataset implementation for ImpalaObjectDataset. -func (iod ImpalaObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) { +// AsDb2Source is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsDb2Source() (*Db2Source, bool) { return nil, false } -// AsDelimitedTextDataset is the BasicDataset implementation for ImpalaObjectDataset. -func (iod ImpalaObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { +// AsInformixSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsInformixSource() (*InformixSource, bool) { return nil, false } -// AsParquetDataset is the BasicDataset implementation for ImpalaObjectDataset. -func (iod ImpalaObjectDataset) AsParquetDataset() (*ParquetDataset, bool) { +// AsAzureTableSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsAzureTableSource() (*AzureTableSource, bool) { return nil, false } -// AsAvroDataset is the BasicDataset implementation for ImpalaObjectDataset. -func (iod ImpalaObjectDataset) AsAvroDataset() (*AvroDataset, bool) { +// AsTabularSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsTabularSource() (*TabularSource, bool) { return nil, false } -// AsAmazonS3Dataset is the BasicDataset implementation for ImpalaObjectDataset. -func (iod ImpalaObjectDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) { +// AsBasicTabularSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &hs, true +} + +// AsBinarySource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsBinarySource() (*BinarySource, bool) { return nil, false } -// AsDataset is the BasicDataset implementation for ImpalaObjectDataset. -func (iod ImpalaObjectDataset) AsDataset() (*Dataset, bool) { +// AsOrcSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsOrcSource() (*OrcSource, bool) { return nil, false } -// AsBasicDataset is the BasicDataset implementation for ImpalaObjectDataset. -func (iod ImpalaObjectDataset) AsBasicDataset() (BasicDataset, bool) { - return &iod, true +// AsJSONSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsJSONSource() (*JSONSource, bool) { + return nil, false } -// UnmarshalJSON is the custom unmarshaler for ImpalaObjectDataset struct. -func (iod *ImpalaObjectDataset) UnmarshalJSON(body []byte) error { +// AsDelimitedTextSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false +} + +// AsParquetSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for HiveSource. +func (hs HiveSource) AsBasicCopySource() (BasicCopySource, bool) { + return &hs, true +} + +// UnmarshalJSON is the custom unmarshaler for HiveSource struct. +func (hs *HiveSource) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -100386,98 +106873,71 @@ func (iod *ImpalaObjectDataset) UnmarshalJSON(body []byte) error { } for k, v := range m { switch k { - case "typeProperties": - if v != nil { - var impalaDatasetTypeProperties ImpalaDatasetTypeProperties - err = json.Unmarshal(*v, &impalaDatasetTypeProperties) - if err != nil { - return err - } - iod.ImpalaDatasetTypeProperties = &impalaDatasetTypeProperties - } - default: - if v != nil { - var additionalProperties interface{} - err = json.Unmarshal(*v, &additionalProperties) - if err != nil { - return err - } - if iod.AdditionalProperties == nil { - iod.AdditionalProperties = make(map[string]interface{}) - } - iod.AdditionalProperties[k] = additionalProperties - } - case "description": + case "query": if v != nil { - var description string - err = json.Unmarshal(*v, &description) + var query interface{} + err = json.Unmarshal(*v, &query) if err != nil { return err } - iod.Description = &description + hs.Query = query } - case "structure": + case "queryTimeout": if v != nil { - var structure interface{} - err = json.Unmarshal(*v, &structure) + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) if err != nil { return err } - iod.Structure = structure + hs.QueryTimeout = queryTimeout } - case "schema": + default: if v != nil { - var schema interface{} - err = json.Unmarshal(*v, &schema) + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) if err != nil { return err } - iod.Schema = schema - } - case "linkedServiceName": - if v != nil { - var linkedServiceName LinkedServiceReference - err = json.Unmarshal(*v, &linkedServiceName) - if err != nil { - return err + if hs.AdditionalProperties == nil { + hs.AdditionalProperties = make(map[string]interface{}) } - iod.LinkedServiceName = &linkedServiceName + hs.AdditionalProperties[k] = additionalProperties } - case "parameters": + case "sourceRetryCount": if v != nil { - var parameters map[string]*ParameterSpecification - err = json.Unmarshal(*v, ¶meters) + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) if err != nil { return err } - iod.Parameters = parameters + hs.SourceRetryCount = sourceRetryCount } - case "annotations": + case "sourceRetryWait": if v != nil { - var annotations []interface{} - err = json.Unmarshal(*v, &annotations) + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) if err != nil { return err } - iod.Annotations = &annotations + hs.SourceRetryWait = sourceRetryWait } - case "folder": + case "maxConcurrentConnections": if v != nil { - var folder DatasetFolder - err = json.Unmarshal(*v, &folder) + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) if err != nil { return err } - iod.Folder = &folder + hs.MaxConcurrentConnections = maxConcurrentConnections } case "type": if v != nil { - var typeVar TypeBasicDataset + var typeVar TypeBasicCopySource err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - iod.Type = typeVar + hs.Type = typeVar } } } @@ -100485,474 +106945,514 @@ func (iod *ImpalaObjectDataset) UnmarshalJSON(body []byte) error { return nil } -// ImpalaSource a copy activity Impala server source. -type ImpalaSource struct { - // Query - A query to retrieve data from source. Type: string (or Expression with resultType string). - Query interface{} `json:"query,omitempty"` +// HTTPDataset a file in an HTTP web server. +type HTTPDataset struct { + // HTTPDatasetTypeProperties - Properties specific to this dataset type. + *HTTPDatasetTypeProperties `json:"typeProperties,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` - // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). - SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` - // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). - SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` - // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). - MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' - Type TypeBasicCopySource `json:"type,omitempty"` + // Description - Dataset description. + Description *string `json:"description,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' + Type TypeBasicDataset `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for ImpalaSource. -func (is ImpalaSource) MarshalJSON() ([]byte, error) { - is.Type = TypeImpalaSource +// MarshalJSON is the custom marshaler for HTTPDataset. +func (hd HTTPDataset) MarshalJSON() ([]byte, error) { + hd.Type = TypeHTTPFile objectMap := make(map[string]interface{}) - if is.Query != nil { - objectMap["query"] = is.Query + if hd.HTTPDatasetTypeProperties != nil { + objectMap["typeProperties"] = hd.HTTPDatasetTypeProperties } - if is.SourceRetryCount != nil { - objectMap["sourceRetryCount"] = is.SourceRetryCount + if hd.Description != nil { + objectMap["description"] = hd.Description } - if is.SourceRetryWait != nil { - objectMap["sourceRetryWait"] = is.SourceRetryWait + if hd.Structure != nil { + objectMap["structure"] = hd.Structure } - if is.MaxConcurrentConnections != nil { - objectMap["maxConcurrentConnections"] = is.MaxConcurrentConnections + if hd.Schema != nil { + objectMap["schema"] = hd.Schema } - if is.Type != "" { - objectMap["type"] = is.Type + if hd.LinkedServiceName != nil { + objectMap["linkedServiceName"] = hd.LinkedServiceName } - for k, v := range is.AdditionalProperties { + if hd.Parameters != nil { + objectMap["parameters"] = hd.Parameters + } + if hd.Annotations != nil { + objectMap["annotations"] = hd.Annotations + } + if hd.Folder != nil { + objectMap["folder"] = hd.Folder + } + if hd.Type != "" { + objectMap["type"] = hd.Type + } + for k, v := range hd.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsAmazonRedshiftSource is the BasicCopySource implementation for ImpalaSource. -func (is ImpalaSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for HTTPDataset. +func (hd HTTPDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { return nil, false } -// AsGoogleAdWordsSource is the BasicCopySource implementation for ImpalaSource. -func (is ImpalaSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for HTTPDataset. +func (hd HTTPDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { return nil, false } -// AsOracleServiceCloudSource is the BasicCopySource implementation for ImpalaSource. -func (is ImpalaSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for HTTPDataset. +func (hd HTTPDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { return nil, false } -// AsDynamicsAXSource is the BasicCopySource implementation for ImpalaSource. -func (is ImpalaSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { +// AsDynamicsAXResourceDataset is the BasicDataset implementation for HTTPDataset. +func (hd HTTPDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { return nil, false } -// AsResponsysSource is the BasicCopySource implementation for ImpalaSource. -func (is ImpalaSource) AsResponsysSource() (*ResponsysSource, bool) { +// AsResponsysObjectDataset is the BasicDataset implementation for HTTPDataset. +func (hd HTTPDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { return nil, false } -// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for ImpalaSource. -func (is ImpalaSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for HTTPDataset. +func (hd HTTPDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { return nil, false } -// AsVerticaSource is the BasicCopySource implementation for ImpalaSource. -func (is ImpalaSource) AsVerticaSource() (*VerticaSource, bool) { +// AsVerticaTableDataset is the BasicDataset implementation for HTTPDataset. +func (hd HTTPDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { return nil, false } -// AsNetezzaSource is the BasicCopySource implementation for ImpalaSource. -func (is ImpalaSource) AsNetezzaSource() (*NetezzaSource, bool) { +// AsNetezzaTableDataset is the BasicDataset implementation for HTTPDataset. +func (hd HTTPDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { return nil, false } -// AsZohoSource is the BasicCopySource implementation for ImpalaSource. -func (is ImpalaSource) AsZohoSource() (*ZohoSource, bool) { +// AsZohoObjectDataset is the BasicDataset implementation for HTTPDataset. +func (hd HTTPDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { return nil, false } -// AsXeroSource is the BasicCopySource implementation for ImpalaSource. -func (is ImpalaSource) AsXeroSource() (*XeroSource, bool) { +// AsXeroObjectDataset is the BasicDataset implementation for HTTPDataset. +func (hd HTTPDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { return nil, false } -// AsSquareSource is the BasicCopySource implementation for ImpalaSource. -func (is ImpalaSource) AsSquareSource() (*SquareSource, bool) { +// AsSquareObjectDataset is the BasicDataset implementation for HTTPDataset. +func (hd HTTPDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { return nil, false } -// AsSparkSource is the BasicCopySource implementation for ImpalaSource. -func (is ImpalaSource) AsSparkSource() (*SparkSource, bool) { +// AsSparkObjectDataset is the BasicDataset implementation for HTTPDataset. +func (hd HTTPDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { return nil, false } -// AsShopifySource is the BasicCopySource implementation for ImpalaSource. -func (is ImpalaSource) AsShopifySource() (*ShopifySource, bool) { +// AsShopifyObjectDataset is the BasicDataset implementation for HTTPDataset. +func (hd HTTPDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { return nil, false } -// AsServiceNowSource is the BasicCopySource implementation for ImpalaSource. -func (is ImpalaSource) AsServiceNowSource() (*ServiceNowSource, bool) { +// AsServiceNowObjectDataset is the BasicDataset implementation for HTTPDataset. +func (hd HTTPDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { return nil, false } -// AsQuickBooksSource is the BasicCopySource implementation for ImpalaSource. -func (is ImpalaSource) AsQuickBooksSource() (*QuickBooksSource, bool) { +// AsQuickBooksObjectDataset is the BasicDataset implementation for HTTPDataset. +func (hd HTTPDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { return nil, false } -// AsPrestoSource is the BasicCopySource implementation for ImpalaSource. -func (is ImpalaSource) AsPrestoSource() (*PrestoSource, bool) { +// AsPrestoObjectDataset is the BasicDataset implementation for HTTPDataset. +func (hd HTTPDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { return nil, false } -// AsPhoenixSource is the BasicCopySource implementation for ImpalaSource. -func (is ImpalaSource) AsPhoenixSource() (*PhoenixSource, bool) { +// AsPhoenixObjectDataset is the BasicDataset implementation for HTTPDataset. +func (hd HTTPDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { return nil, false } -// AsPaypalSource is the BasicCopySource implementation for ImpalaSource. -func (is ImpalaSource) AsPaypalSource() (*PaypalSource, bool) { +// AsPaypalObjectDataset is the BasicDataset implementation for HTTPDataset. +func (hd HTTPDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { return nil, false } -// AsMarketoSource is the BasicCopySource implementation for ImpalaSource. -func (is ImpalaSource) AsMarketoSource() (*MarketoSource, bool) { +// AsMarketoObjectDataset is the BasicDataset implementation for HTTPDataset. +func (hd HTTPDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { return nil, false } -// AsAzureMariaDBSource is the BasicCopySource implementation for ImpalaSource. -func (is ImpalaSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { +// AsAzureMariaDBTableDataset is the BasicDataset implementation for HTTPDataset. +func (hd HTTPDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { return nil, false } -// AsMariaDBSource is the BasicCopySource implementation for ImpalaSource. -func (is ImpalaSource) AsMariaDBSource() (*MariaDBSource, bool) { +// AsMariaDBTableDataset is the BasicDataset implementation for HTTPDataset. +func (hd HTTPDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { return nil, false } -// AsMagentoSource is the BasicCopySource implementation for ImpalaSource. -func (is ImpalaSource) AsMagentoSource() (*MagentoSource, bool) { +// AsMagentoObjectDataset is the BasicDataset implementation for HTTPDataset. +func (hd HTTPDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { return nil, false } -// AsJiraSource is the BasicCopySource implementation for ImpalaSource. -func (is ImpalaSource) AsJiraSource() (*JiraSource, bool) { +// AsJiraObjectDataset is the BasicDataset implementation for HTTPDataset. +func (hd HTTPDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { return nil, false } -// AsImpalaSource is the BasicCopySource implementation for ImpalaSource. -func (is ImpalaSource) AsImpalaSource() (*ImpalaSource, bool) { - return &is, true +// AsImpalaObjectDataset is the BasicDataset implementation for HTTPDataset. +func (hd HTTPDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { + return nil, false } -// AsHubspotSource is the BasicCopySource implementation for ImpalaSource. -func (is ImpalaSource) AsHubspotSource() (*HubspotSource, bool) { +// AsHubspotObjectDataset is the BasicDataset implementation for HTTPDataset. +func (hd HTTPDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { return nil, false } -// AsHiveSource is the BasicCopySource implementation for ImpalaSource. -func (is ImpalaSource) AsHiveSource() (*HiveSource, bool) { +// AsHiveObjectDataset is the BasicDataset implementation for HTTPDataset. +func (hd HTTPDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { return nil, false } -// AsHBaseSource is the BasicCopySource implementation for ImpalaSource. -func (is ImpalaSource) AsHBaseSource() (*HBaseSource, bool) { +// AsHBaseObjectDataset is the BasicDataset implementation for HTTPDataset. +func (hd HTTPDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { return nil, false } -// AsGreenplumSource is the BasicCopySource implementation for ImpalaSource. -func (is ImpalaSource) AsGreenplumSource() (*GreenplumSource, bool) { +// AsGreenplumTableDataset is the BasicDataset implementation for HTTPDataset. +func (hd HTTPDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { return nil, false } -// AsGoogleBigQuerySource is the BasicCopySource implementation for ImpalaSource. -func (is ImpalaSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for HTTPDataset. +func (hd HTTPDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { return nil, false } -// AsEloquaSource is the BasicCopySource implementation for ImpalaSource. -func (is ImpalaSource) AsEloquaSource() (*EloquaSource, bool) { +// AsEloquaObjectDataset is the BasicDataset implementation for HTTPDataset. +func (hd HTTPDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { return nil, false } -// AsDrillSource is the BasicCopySource implementation for ImpalaSource. -func (is ImpalaSource) AsDrillSource() (*DrillSource, bool) { +// AsDrillTableDataset is the BasicDataset implementation for HTTPDataset. +func (hd HTTPDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { return nil, false } -// AsCouchbaseSource is the BasicCopySource implementation for ImpalaSource. -func (is ImpalaSource) AsCouchbaseSource() (*CouchbaseSource, bool) { +// AsCouchbaseTableDataset is the BasicDataset implementation for HTTPDataset. +func (hd HTTPDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { return nil, false } -// AsConcurSource is the BasicCopySource implementation for ImpalaSource. -func (is ImpalaSource) AsConcurSource() (*ConcurSource, bool) { +// AsConcurObjectDataset is the BasicDataset implementation for HTTPDataset. +func (hd HTTPDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { return nil, false } -// AsAzurePostgreSQLSource is the BasicCopySource implementation for ImpalaSource. -func (is ImpalaSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for HTTPDataset. +func (hd HTTPDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { return nil, false } -// AsAmazonMWSSource is the BasicCopySource implementation for ImpalaSource. -func (is ImpalaSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { +// AsAmazonMWSObjectDataset is the BasicDataset implementation for HTTPDataset. +func (hd HTTPDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { return nil, false } -// AsHTTPSource is the BasicCopySource implementation for ImpalaSource. -func (is ImpalaSource) AsHTTPSource() (*HTTPSource, bool) { +// AsHTTPDataset is the BasicDataset implementation for HTTPDataset. +func (hd HTTPDataset) AsHTTPDataset() (*HTTPDataset, bool) { + return &hd, true +} + +// AsAzureSearchIndexDataset is the BasicDataset implementation for HTTPDataset. +func (hd HTTPDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { return nil, false } -// AsAzureBlobFSSource is the BasicCopySource implementation for ImpalaSource. -func (is ImpalaSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { +// AsWebTableDataset is the BasicDataset implementation for HTTPDataset. +func (hd HTTPDataset) AsWebTableDataset() (*WebTableDataset, bool) { return nil, false } -// AsAzureDataLakeStoreSource is the BasicCopySource implementation for ImpalaSource. -func (is ImpalaSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { +// AsSapTableResourceDataset is the BasicDataset implementation for HTTPDataset. +func (hd HTTPDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { return nil, false } -// AsOffice365Source is the BasicCopySource implementation for ImpalaSource. -func (is ImpalaSource) AsOffice365Source() (*Office365Source, bool) { +// AsRestResourceDataset is the BasicDataset implementation for HTTPDataset. +func (hd HTTPDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { return nil, false } -// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for ImpalaSource. -func (is ImpalaSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { +// AsSQLServerTableDataset is the BasicDataset implementation for HTTPDataset. +func (hd HTTPDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { return nil, false } -// AsMongoDbV2Source is the BasicCopySource implementation for ImpalaSource. -func (is ImpalaSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { +// AsSapOpenHubTableDataset is the BasicDataset implementation for HTTPDataset. +func (hd HTTPDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { return nil, false } -// AsMongoDbSource is the BasicCopySource implementation for ImpalaSource. -func (is ImpalaSource) AsMongoDbSource() (*MongoDbSource, bool) { +// AsSapHanaTableDataset is the BasicDataset implementation for HTTPDataset. +func (hd HTTPDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { return nil, false } -// AsCassandraSource is the BasicCopySource implementation for ImpalaSource. -func (is ImpalaSource) AsCassandraSource() (*CassandraSource, bool) { +// AsSapEccResourceDataset is the BasicDataset implementation for HTTPDataset. +func (hd HTTPDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { return nil, false } -// AsWebSource is the BasicCopySource implementation for ImpalaSource. -func (is ImpalaSource) AsWebSource() (*WebSource, bool) { +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for HTTPDataset. +func (hd HTTPDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { return nil, false } -// AsTeradataSource is the BasicCopySource implementation for ImpalaSource. -func (is ImpalaSource) AsTeradataSource() (*TeradataSource, bool) { +// AsSapBwCubeDataset is the BasicDataset implementation for HTTPDataset. +func (hd HTTPDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { return nil, false } -// AsOracleSource is the BasicCopySource implementation for ImpalaSource. -func (is ImpalaSource) AsOracleSource() (*OracleSource, bool) { +// AsSybaseTableDataset is the BasicDataset implementation for HTTPDataset. +func (hd HTTPDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { return nil, false } -// AsAzureDataExplorerSource is the BasicCopySource implementation for ImpalaSource. -func (is ImpalaSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for HTTPDataset. +func (hd HTTPDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { return nil, false } -// AsAzureMySQLSource is the BasicCopySource implementation for ImpalaSource. -func (is ImpalaSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { +// AsSalesforceObjectDataset is the BasicDataset implementation for HTTPDataset. +func (hd HTTPDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { return nil, false } -// AsHdfsSource is the BasicCopySource implementation for ImpalaSource. -func (is ImpalaSource) AsHdfsSource() (*HdfsSource, bool) { +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for HTTPDataset. +func (hd HTTPDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { return nil, false } -// AsFileSystemSource is the BasicCopySource implementation for ImpalaSource. -func (is ImpalaSource) AsFileSystemSource() (*FileSystemSource, bool) { +// AsPostgreSQLTableDataset is the BasicDataset implementation for HTTPDataset. +func (hd HTTPDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { return nil, false } -// AsSQLDWSource is the BasicCopySource implementation for ImpalaSource. -func (is ImpalaSource) AsSQLDWSource() (*SQLDWSource, bool) { +// AsMySQLTableDataset is the BasicDataset implementation for HTTPDataset. +func (hd HTTPDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { return nil, false } -// AsSQLMISource is the BasicCopySource implementation for ImpalaSource. -func (is ImpalaSource) AsSQLMISource() (*SQLMISource, bool) { +// AsOdbcTableDataset is the BasicDataset implementation for HTTPDataset. +func (hd HTTPDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { return nil, false } -// AsAzureSQLSource is the BasicCopySource implementation for ImpalaSource. -func (is ImpalaSource) AsAzureSQLSource() (*AzureSQLSource, bool) { +// AsInformixTableDataset is the BasicDataset implementation for HTTPDataset. +func (hd HTTPDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { return nil, false } -// AsSQLServerSource is the BasicCopySource implementation for ImpalaSource. -func (is ImpalaSource) AsSQLServerSource() (*SQLServerSource, bool) { +// AsRelationalTableDataset is the BasicDataset implementation for HTTPDataset. +func (hd HTTPDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { return nil, false } -// AsSQLSource is the BasicCopySource implementation for ImpalaSource. -func (is ImpalaSource) AsSQLSource() (*SQLSource, bool) { +// AsDb2TableDataset is the BasicDataset implementation for HTTPDataset. +func (hd HTTPDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { return nil, false } -// AsRestSource is the BasicCopySource implementation for ImpalaSource. -func (is ImpalaSource) AsRestSource() (*RestSource, bool) { +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for HTTPDataset. +func (hd HTTPDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { return nil, false } -// AsSapTableSource is the BasicCopySource implementation for ImpalaSource. -func (is ImpalaSource) AsSapTableSource() (*SapTableSource, bool) { +// AsAzureMySQLTableDataset is the BasicDataset implementation for HTTPDataset. +func (hd HTTPDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { return nil, false } -// AsSapOpenHubSource is the BasicCopySource implementation for ImpalaSource. -func (is ImpalaSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { +// AsTeradataTableDataset is the BasicDataset implementation for HTTPDataset. +func (hd HTTPDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { return nil, false } -// AsSapHanaSource is the BasicCopySource implementation for ImpalaSource. -func (is ImpalaSource) AsSapHanaSource() (*SapHanaSource, bool) { +// AsOracleTableDataset is the BasicDataset implementation for HTTPDataset. +func (hd HTTPDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { return nil, false } -// AsSapEccSource is the BasicCopySource implementation for ImpalaSource. -func (is ImpalaSource) AsSapEccSource() (*SapEccSource, bool) { +// AsODataResourceDataset is the BasicDataset implementation for HTTPDataset. +func (hd HTTPDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { return nil, false } -// AsSapCloudForCustomerSource is the BasicCopySource implementation for ImpalaSource. -func (is ImpalaSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for HTTPDataset. +func (hd HTTPDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { return nil, false } -// AsSalesforceServiceCloudSource is the BasicCopySource implementation for ImpalaSource. -func (is ImpalaSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for HTTPDataset. +func (hd HTTPDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { return nil, false } -// AsSalesforceSource is the BasicCopySource implementation for ImpalaSource. -func (is ImpalaSource) AsSalesforceSource() (*SalesforceSource, bool) { +// AsMongoDbCollectionDataset is the BasicDataset implementation for HTTPDataset. +func (hd HTTPDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { return nil, false } -// AsODataSource is the BasicCopySource implementation for ImpalaSource. -func (is ImpalaSource) AsODataSource() (*ODataSource, bool) { +// AsFileShareDataset is the BasicDataset implementation for HTTPDataset. +func (hd HTTPDataset) AsFileShareDataset() (*FileShareDataset, bool) { return nil, false } -// AsSapBwSource is the BasicCopySource implementation for ImpalaSource. -func (is ImpalaSource) AsSapBwSource() (*SapBwSource, bool) { +// AsOffice365Dataset is the BasicDataset implementation for HTTPDataset. +func (hd HTTPDataset) AsOffice365Dataset() (*Office365Dataset, bool) { return nil, false } -// AsSybaseSource is the BasicCopySource implementation for ImpalaSource. -func (is ImpalaSource) AsSybaseSource() (*SybaseSource, bool) { +// AsAzureBlobFSDataset is the BasicDataset implementation for HTTPDataset. +func (hd HTTPDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) { return nil, false } -// AsPostgreSQLSource is the BasicCopySource implementation for ImpalaSource. -func (is ImpalaSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { +// AsAzureDataLakeStoreDataset is the BasicDataset implementation for HTTPDataset. +func (hd HTTPDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) { return nil, false } -// AsMySQLSource is the BasicCopySource implementation for ImpalaSource. -func (is ImpalaSource) AsMySQLSource() (*MySQLSource, bool) { +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for HTTPDataset. +func (hd HTTPDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { return nil, false } -// AsOdbcSource is the BasicCopySource implementation for ImpalaSource. -func (is ImpalaSource) AsOdbcSource() (*OdbcSource, bool) { +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for HTTPDataset. +func (hd HTTPDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { return nil, false } -// AsDb2Source is the BasicCopySource implementation for ImpalaSource. -func (is ImpalaSource) AsDb2Source() (*Db2Source, bool) { +// AsDynamicsEntityDataset is the BasicDataset implementation for HTTPDataset. +func (hd HTTPDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { return nil, false } -// AsMicrosoftAccessSource is the BasicCopySource implementation for ImpalaSource. -func (is ImpalaSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { +// AsDocumentDbCollectionDataset is the BasicDataset implementation for HTTPDataset. +func (hd HTTPDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { return nil, false } -// AsInformixSource is the BasicCopySource implementation for ImpalaSource. -func (is ImpalaSource) AsInformixSource() (*InformixSource, bool) { +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for HTTPDataset. +func (hd HTTPDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { return nil, false } -// AsRelationalSource is the BasicCopySource implementation for ImpalaSource. -func (is ImpalaSource) AsRelationalSource() (*RelationalSource, bool) { +// AsCustomDataset is the BasicDataset implementation for HTTPDataset. +func (hd HTTPDataset) AsCustomDataset() (*CustomDataset, bool) { return nil, false } -// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for ImpalaSource. -func (is ImpalaSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { +// AsCassandraTableDataset is the BasicDataset implementation for HTTPDataset. +func (hd HTTPDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { return nil, false } -// AsDynamicsCrmSource is the BasicCopySource implementation for ImpalaSource. -func (is ImpalaSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { +// AsAzureSQLDWTableDataset is the BasicDataset implementation for HTTPDataset. +func (hd HTTPDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { return nil, false } -// AsDynamicsSource is the BasicCopySource implementation for ImpalaSource. -func (is ImpalaSource) AsDynamicsSource() (*DynamicsSource, bool) { +// AsAzureSQLMITableDataset is the BasicDataset implementation for HTTPDataset. +func (hd HTTPDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { return nil, false } -// AsDocumentDbCollectionSource is the BasicCopySource implementation for ImpalaSource. -func (is ImpalaSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { +// AsAzureSQLTableDataset is the BasicDataset implementation for HTTPDataset. +func (hd HTTPDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { return nil, false } -// AsBlobSource is the BasicCopySource implementation for ImpalaSource. -func (is ImpalaSource) AsBlobSource() (*BlobSource, bool) { +// AsAzureTableDataset is the BasicDataset implementation for HTTPDataset. +func (hd HTTPDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { return nil, false } -// AsAzureTableSource is the BasicCopySource implementation for ImpalaSource. -func (is ImpalaSource) AsAzureTableSource() (*AzureTableSource, bool) { +// AsAzureBlobDataset is the BasicDataset implementation for HTTPDataset. +func (hd HTTPDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) { return nil, false } -// AsBinarySource is the BasicCopySource implementation for ImpalaSource. -func (is ImpalaSource) AsBinarySource() (*BinarySource, bool) { +// AsBinaryDataset is the BasicDataset implementation for HTTPDataset. +func (hd HTTPDataset) AsBinaryDataset() (*BinaryDataset, bool) { return nil, false } -// AsDelimitedTextSource is the BasicCopySource implementation for ImpalaSource. -func (is ImpalaSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { +// AsOrcDataset is the BasicDataset implementation for HTTPDataset. +func (hd HTTPDataset) AsOrcDataset() (*OrcDataset, bool) { return nil, false } -// AsParquetSource is the BasicCopySource implementation for ImpalaSource. -func (is ImpalaSource) AsParquetSource() (*ParquetSource, bool) { +// AsJSONDataset is the BasicDataset implementation for HTTPDataset. +func (hd HTTPDataset) AsJSONDataset() (*JSONDataset, bool) { return nil, false } -// AsAvroSource is the BasicCopySource implementation for ImpalaSource. -func (is ImpalaSource) AsAvroSource() (*AvroSource, bool) { +// AsDelimitedTextDataset is the BasicDataset implementation for HTTPDataset. +func (hd HTTPDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { return nil, false } -// AsCopySource is the BasicCopySource implementation for ImpalaSource. -func (is ImpalaSource) AsCopySource() (*CopySource, bool) { +// AsParquetDataset is the BasicDataset implementation for HTTPDataset. +func (hd HTTPDataset) AsParquetDataset() (*ParquetDataset, bool) { return nil, false } -// AsBasicCopySource is the BasicCopySource implementation for ImpalaSource. -func (is ImpalaSource) AsBasicCopySource() (BasicCopySource, bool) { - return &is, true +// AsAvroDataset is the BasicDataset implementation for HTTPDataset. +func (hd HTTPDataset) AsAvroDataset() (*AvroDataset, bool) { + return nil, false } -// UnmarshalJSON is the custom unmarshaler for ImpalaSource struct. -func (is *ImpalaSource) UnmarshalJSON(body []byte) error { +// AsAmazonS3Dataset is the BasicDataset implementation for HTTPDataset. +func (hd HTTPDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) { + return nil, false +} + +// AsDataset is the BasicDataset implementation for HTTPDataset. +func (hd HTTPDataset) AsDataset() (*Dataset, bool) { + return nil, false +} + +// AsBasicDataset is the BasicDataset implementation for HTTPDataset. +func (hd HTTPDataset) AsBasicDataset() (BasicDataset, bool) { + return &hd, true +} + +// UnmarshalJSON is the custom unmarshaler for HTTPDataset struct. +func (hd *HTTPDataset) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -100960,14 +107460,14 @@ func (is *ImpalaSource) UnmarshalJSON(body []byte) error { } for k, v := range m { switch k { - case "query": + case "typeProperties": if v != nil { - var query interface{} - err = json.Unmarshal(*v, &query) + var HTTPDatasetTypeProperties HTTPDatasetTypeProperties + err = json.Unmarshal(*v, &HTTPDatasetTypeProperties) if err != nil { return err } - is.Query = query + hd.HTTPDatasetTypeProperties = &HTTPDatasetTypeProperties } default: if v != nil { @@ -100976,46 +107476,82 @@ func (is *ImpalaSource) UnmarshalJSON(body []byte) error { if err != nil { return err } - if is.AdditionalProperties == nil { - is.AdditionalProperties = make(map[string]interface{}) + if hd.AdditionalProperties == nil { + hd.AdditionalProperties = make(map[string]interface{}) } - is.AdditionalProperties[k] = additionalProperties + hd.AdditionalProperties[k] = additionalProperties } - case "sourceRetryCount": + case "description": if v != nil { - var sourceRetryCount interface{} - err = json.Unmarshal(*v, &sourceRetryCount) + var description string + err = json.Unmarshal(*v, &description) if err != nil { return err } - is.SourceRetryCount = sourceRetryCount + hd.Description = &description } - case "sourceRetryWait": + case "structure": if v != nil { - var sourceRetryWait interface{} - err = json.Unmarshal(*v, &sourceRetryWait) + var structure interface{} + err = json.Unmarshal(*v, &structure) if err != nil { return err } - is.SourceRetryWait = sourceRetryWait + hd.Structure = structure } - case "maxConcurrentConnections": + case "schema": if v != nil { - var maxConcurrentConnections interface{} - err = json.Unmarshal(*v, &maxConcurrentConnections) + var schema interface{} + err = json.Unmarshal(*v, &schema) if err != nil { return err } - is.MaxConcurrentConnections = maxConcurrentConnections + hd.Schema = schema + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + hd.LinkedServiceName = &linkedServiceName + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + hd.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + hd.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + hd.Folder = &folder } case "type": if v != nil { - var typeVar TypeBasicCopySource + var typeVar TypeBasicDataset err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - is.Type = typeVar + hd.Type = typeVar } } } @@ -101023,10 +107559,95 @@ func (is *ImpalaSource) UnmarshalJSON(body []byte) error { return nil } -// InformixLinkedService informix linked service. -type InformixLinkedService struct { - // InformixLinkedServiceTypeProperties - Informix linked service properties. - *InformixLinkedServiceTypeProperties `json:"typeProperties,omitempty"` +// HTTPDatasetTypeProperties properties specific to this dataset type. +type HTTPDatasetTypeProperties struct { + // RelativeURL - The relative URL based on the URL in the HttpLinkedService refers to an HTTP file Type: string (or Expression with resultType string). + RelativeURL interface{} `json:"relativeUrl,omitempty"` + // RequestMethod - The HTTP method for the HTTP request. Type: string (or Expression with resultType string). + RequestMethod interface{} `json:"requestMethod,omitempty"` + // RequestBody - The body for the HTTP request. Type: string (or Expression with resultType string). + RequestBody interface{} `json:"requestBody,omitempty"` + // AdditionalHeaders - The headers for the HTTP Request. e.g. request-header-name-1:request-header-value-1 + // ... + // request-header-name-n:request-header-value-n Type: string (or Expression with resultType string). + AdditionalHeaders interface{} `json:"additionalHeaders,omitempty"` + // Format - The format of files. + Format BasicDatasetStorageFormat `json:"format,omitempty"` + // Compression - The data compression method used on files. + Compression BasicDatasetCompression `json:"compression,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for HTTPDatasetTypeProperties struct. +func (hdtp *HTTPDatasetTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "relativeUrl": + if v != nil { + var relativeURL interface{} + err = json.Unmarshal(*v, &relativeURL) + if err != nil { + return err + } + hdtp.RelativeURL = relativeURL + } + case "requestMethod": + if v != nil { + var requestMethod interface{} + err = json.Unmarshal(*v, &requestMethod) + if err != nil { + return err + } + hdtp.RequestMethod = requestMethod + } + case "requestBody": + if v != nil { + var requestBody interface{} + err = json.Unmarshal(*v, &requestBody) + if err != nil { + return err + } + hdtp.RequestBody = requestBody + } + case "additionalHeaders": + if v != nil { + var additionalHeaders interface{} + err = json.Unmarshal(*v, &additionalHeaders) + if err != nil { + return err + } + hdtp.AdditionalHeaders = additionalHeaders + } + case "format": + if v != nil { + formatVar, err := unmarshalBasicDatasetStorageFormat(*v) + if err != nil { + return err + } + hdtp.Format = formatVar + } + case "compression": + if v != nil { + compression, err := unmarshalBasicDatasetCompression(*v) + if err != nil { + return err + } + hdtp.Compression = compression + } + } + } + + return nil +} + +// HTTPLinkedService linked service for an HTTP source. +type HTTPLinkedService struct { + // HTTPLinkedServiceTypeProperties - Properties specific to this linked service type. + *HTTPLinkedServiceTypeProperties `json:"typeProperties,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` // ConnectVia - The integration runtime reference. @@ -101037,505 +107658,520 @@ type InformixLinkedService struct { Parameters map[string]*ParameterSpecification `json:"parameters"` // Annotations - List of tags that can be used for describing the linked service. Annotations *[]interface{} `json:"annotations,omitempty"` - // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' + // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' Type TypeBasicLinkedService `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for InformixLinkedService. -func (ils InformixLinkedService) MarshalJSON() ([]byte, error) { - ils.Type = TypeInformix +// MarshalJSON is the custom marshaler for HTTPLinkedService. +func (hls HTTPLinkedService) MarshalJSON() ([]byte, error) { + hls.Type = TypeHTTPServer objectMap := make(map[string]interface{}) - if ils.InformixLinkedServiceTypeProperties != nil { - objectMap["typeProperties"] = ils.InformixLinkedServiceTypeProperties + if hls.HTTPLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = hls.HTTPLinkedServiceTypeProperties } - if ils.ConnectVia != nil { - objectMap["connectVia"] = ils.ConnectVia + if hls.ConnectVia != nil { + objectMap["connectVia"] = hls.ConnectVia } - if ils.Description != nil { - objectMap["description"] = ils.Description + if hls.Description != nil { + objectMap["description"] = hls.Description } - if ils.Parameters != nil { - objectMap["parameters"] = ils.Parameters + if hls.Parameters != nil { + objectMap["parameters"] = hls.Parameters } - if ils.Annotations != nil { - objectMap["annotations"] = ils.Annotations + if hls.Annotations != nil { + objectMap["annotations"] = hls.Annotations } - if ils.Type != "" { - objectMap["type"] = ils.Type + if hls.Type != "" { + objectMap["type"] = hls.Type } - for k, v := range ils.AdditionalProperties { + for k, v := range hls.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsAzureFunctionLinkedService is the BasicLinkedService implementation for InformixLinkedService. -func (ils InformixLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { return nil, false } -// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for InformixLinkedService. -func (ils InformixLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { return nil, false } -// AsSapTableLinkedService is the BasicLinkedService implementation for InformixLinkedService. -func (ils InformixLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { +// AsSapTableLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { return nil, false } -// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for InformixLinkedService. -func (ils InformixLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { return nil, false } -// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for InformixLinkedService. -func (ils InformixLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { return nil, false } -// AsDynamicsAXLinkedService is the BasicLinkedService implementation for InformixLinkedService. -func (ils InformixLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { return nil, false } -// AsResponsysLinkedService is the BasicLinkedService implementation for InformixLinkedService. -func (ils InformixLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { +// AsResponsysLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { return nil, false } -// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for InformixLinkedService. -func (ils InformixLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { return nil, false } -// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for InformixLinkedService. -func (ils InformixLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { return nil, false } -// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for InformixLinkedService. -func (ils InformixLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { return nil, false } -// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for InformixLinkedService. -func (ils InformixLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { return nil, false } -// AsNetezzaLinkedService is the BasicLinkedService implementation for InformixLinkedService. -func (ils InformixLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { +// AsNetezzaLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { return nil, false } -// AsVerticaLinkedService is the BasicLinkedService implementation for InformixLinkedService. -func (ils InformixLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { +// AsVerticaLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { return nil, false } -// AsZohoLinkedService is the BasicLinkedService implementation for InformixLinkedService. -func (ils InformixLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { +// AsZohoLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { return nil, false } -// AsXeroLinkedService is the BasicLinkedService implementation for InformixLinkedService. -func (ils InformixLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { +// AsXeroLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { return nil, false } -// AsSquareLinkedService is the BasicLinkedService implementation for InformixLinkedService. -func (ils InformixLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { +// AsSquareLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { return nil, false } -// AsSparkLinkedService is the BasicLinkedService implementation for InformixLinkedService. -func (ils InformixLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { +// AsSparkLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { return nil, false } -// AsShopifyLinkedService is the BasicLinkedService implementation for InformixLinkedService. -func (ils InformixLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { +// AsShopifyLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { return nil, false } -// AsServiceNowLinkedService is the BasicLinkedService implementation for InformixLinkedService. -func (ils InformixLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { +// AsServiceNowLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { return nil, false } -// AsQuickBooksLinkedService is the BasicLinkedService implementation for InformixLinkedService. -func (ils InformixLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { +// AsQuickBooksLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { return nil, false } -// AsPrestoLinkedService is the BasicLinkedService implementation for InformixLinkedService. -func (ils InformixLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { +// AsPrestoLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { return nil, false } -// AsPhoenixLinkedService is the BasicLinkedService implementation for InformixLinkedService. -func (ils InformixLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { +// AsPhoenixLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { return nil, false } -// AsPaypalLinkedService is the BasicLinkedService implementation for InformixLinkedService. -func (ils InformixLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { +// AsPaypalLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { return nil, false } -// AsMarketoLinkedService is the BasicLinkedService implementation for InformixLinkedService. -func (ils InformixLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { +// AsMarketoLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { return nil, false } -// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for InformixLinkedService. -func (ils InformixLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { return nil, false } -// AsMariaDBLinkedService is the BasicLinkedService implementation for InformixLinkedService. -func (ils InformixLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { +// AsMariaDBLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { return nil, false } -// AsMagentoLinkedService is the BasicLinkedService implementation for InformixLinkedService. -func (ils InformixLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { +// AsMagentoLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { return nil, false } -// AsJiraLinkedService is the BasicLinkedService implementation for InformixLinkedService. -func (ils InformixLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { +// AsJiraLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { return nil, false } -// AsImpalaLinkedService is the BasicLinkedService implementation for InformixLinkedService. -func (ils InformixLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { +// AsImpalaLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { return nil, false } -// AsHubspotLinkedService is the BasicLinkedService implementation for InformixLinkedService. -func (ils InformixLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { +// AsHubspotLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { return nil, false } -// AsHiveLinkedService is the BasicLinkedService implementation for InformixLinkedService. -func (ils InformixLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { +// AsHiveLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { return nil, false } -// AsHBaseLinkedService is the BasicLinkedService implementation for InformixLinkedService. -func (ils InformixLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { +// AsHBaseLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { return nil, false } -// AsGreenplumLinkedService is the BasicLinkedService implementation for InformixLinkedService. -func (ils InformixLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { +// AsGreenplumLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { return nil, false } -// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for InformixLinkedService. -func (ils InformixLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { return nil, false } -// AsEloquaLinkedService is the BasicLinkedService implementation for InformixLinkedService. -func (ils InformixLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { +// AsEloquaLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { return nil, false } -// AsDrillLinkedService is the BasicLinkedService implementation for InformixLinkedService. -func (ils InformixLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { +// AsDrillLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { return nil, false } -// AsCouchbaseLinkedService is the BasicLinkedService implementation for InformixLinkedService. -func (ils InformixLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { +// AsCouchbaseLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { return nil, false } -// AsConcurLinkedService is the BasicLinkedService implementation for InformixLinkedService. -func (ils InformixLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { +// AsConcurLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { return nil, false } -// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for InformixLinkedService. -func (ils InformixLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { return nil, false } -// AsAmazonMWSLinkedService is the BasicLinkedService implementation for InformixLinkedService. -func (ils InformixLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { return nil, false } -// AsSapHanaLinkedService is the BasicLinkedService implementation for InformixLinkedService. -func (ils InformixLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { +// AsSapHanaLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { return nil, false } -// AsSapBWLinkedService is the BasicLinkedService implementation for InformixLinkedService. -func (ils InformixLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { +// AsSapBWLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { return nil, false } -// AsSftpServerLinkedService is the BasicLinkedService implementation for InformixLinkedService. -func (ils InformixLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { +// AsSftpServerLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { return nil, false } -// AsFtpServerLinkedService is the BasicLinkedService implementation for InformixLinkedService. -func (ils InformixLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { +// AsFtpServerLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { return nil, false } -// AsHTTPLinkedService is the BasicLinkedService implementation for InformixLinkedService. -func (ils InformixLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { +// AsHTTPLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return &hls, true +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { return nil, false } -// AsAzureSearchLinkedService is the BasicLinkedService implementation for InformixLinkedService. -func (ils InformixLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { return nil, false } -// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for InformixLinkedService. -func (ils InformixLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { return nil, false } -// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for InformixLinkedService. -func (ils InformixLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { +// AsAmazonS3LinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { return nil, false } -// AsAmazonS3LinkedService is the BasicLinkedService implementation for InformixLinkedService. -func (ils InformixLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { +// AsRestServiceLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { return nil, false } -// AsRestServiceLinkedService is the BasicLinkedService implementation for InformixLinkedService. -func (ils InformixLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { return nil, false } -// AsSapOpenHubLinkedService is the BasicLinkedService implementation for InformixLinkedService. -func (ils InformixLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { +// AsSapEccLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { return nil, false } -// AsSapEccLinkedService is the BasicLinkedService implementation for InformixLinkedService. -func (ils InformixLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { return nil, false } -// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for InformixLinkedService. -func (ils InformixLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { return nil, false } -// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for InformixLinkedService. -func (ils InformixLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { +// AsSalesforceLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { return nil, false } -// AsSalesforceLinkedService is the BasicLinkedService implementation for InformixLinkedService. -func (ils InformixLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { +// AsOffice365LinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { return nil, false } -// AsOffice365LinkedService is the BasicLinkedService implementation for InformixLinkedService. -func (ils InformixLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { return nil, false } -// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for InformixLinkedService. -func (ils InformixLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { return nil, false } -// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for InformixLinkedService. -func (ils InformixLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { return nil, false } -// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for InformixLinkedService. -func (ils InformixLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { return nil, false } -// AsMongoDbV2LinkedService is the BasicLinkedService implementation for InformixLinkedService. -func (ils InformixLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { +// AsMongoDbLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { return nil, false } -// AsMongoDbLinkedService is the BasicLinkedService implementation for InformixLinkedService. -func (ils InformixLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { +// AsCassandraLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { return nil, false } -// AsCassandraLinkedService is the BasicLinkedService implementation for InformixLinkedService. -func (ils InformixLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { +// AsWebLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { return nil, false } -// AsWebLinkedService is the BasicLinkedService implementation for InformixLinkedService. -func (ils InformixLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { +// AsODataLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { return nil, false } -// AsODataLinkedService is the BasicLinkedService implementation for InformixLinkedService. -func (ils InformixLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { +// AsHdfsLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { return nil, false } -// AsHdfsLinkedService is the BasicLinkedService implementation for InformixLinkedService. -func (ils InformixLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { return nil, false } -// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for InformixLinkedService. -func (ils InformixLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { +// AsInformixLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { return nil, false } -// AsInformixLinkedService is the BasicLinkedService implementation for InformixLinkedService. -func (ils InformixLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { - return &ils, true +// AsOdbcLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false } -// AsOdbcLinkedService is the BasicLinkedService implementation for InformixLinkedService. -func (ils InformixLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { return nil, false } -// AsAzureMLLinkedService is the BasicLinkedService implementation for InformixLinkedService. -func (ils InformixLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { +// AsAzureMLLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { return nil, false } -// AsTeradataLinkedService is the BasicLinkedService implementation for InformixLinkedService. -func (ils InformixLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { +// AsTeradataLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { return nil, false } -// AsDb2LinkedService is the BasicLinkedService implementation for InformixLinkedService. -func (ils InformixLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { +// AsDb2LinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { return nil, false } -// AsSybaseLinkedService is the BasicLinkedService implementation for InformixLinkedService. -func (ils InformixLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { +// AsSybaseLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { return nil, false } -// AsPostgreSQLLinkedService is the BasicLinkedService implementation for InformixLinkedService. -func (ils InformixLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { return nil, false } -// AsMySQLLinkedService is the BasicLinkedService implementation for InformixLinkedService. -func (ils InformixLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { +// AsMySQLLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { return nil, false } -// AsAzureMySQLLinkedService is the BasicLinkedService implementation for InformixLinkedService. -func (ils InformixLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { return nil, false } -// AsOracleLinkedService is the BasicLinkedService implementation for InformixLinkedService. -func (ils InformixLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { +// AsOracleLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { return nil, false } -// AsFileServerLinkedService is the BasicLinkedService implementation for InformixLinkedService. -func (ils InformixLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { return nil, false } -// AsHDInsightLinkedService is the BasicLinkedService implementation for InformixLinkedService. -func (ils InformixLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { return nil, false } -// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for InformixLinkedService. -func (ils InformixLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { +// AsFileServerLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { return nil, false } -// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for InformixLinkedService. -func (ils InformixLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { +// AsHDInsightLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { return nil, false } -// AsDynamicsLinkedService is the BasicLinkedService implementation for InformixLinkedService. -func (ils InformixLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { return nil, false } -// AsCosmosDbLinkedService is the BasicLinkedService implementation for InformixLinkedService. -func (ils InformixLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { return nil, false } -// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for InformixLinkedService. -func (ils InformixLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { +// AsDynamicsLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { return nil, false } -// AsAzureBatchLinkedService is the BasicLinkedService implementation for InformixLinkedService. -func (ils InformixLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { +// AsCosmosDbLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { return nil, false } -// AsAzureSQLMILinkedService is the BasicLinkedService implementation for InformixLinkedService. -func (ils InformixLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { return nil, false } -// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for InformixLinkedService. -func (ils InformixLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { +// AsAzureBatchLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { return nil, false } -// AsSQLServerLinkedService is the BasicLinkedService implementation for InformixLinkedService. -func (ils InformixLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { return nil, false } -// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for InformixLinkedService. -func (ils InformixLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { return nil, false } -// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for InformixLinkedService. -func (ils InformixLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { +// AsSQLServerLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { return nil, false } -// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for InformixLinkedService. -func (ils InformixLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { return nil, false } -// AsAzureStorageLinkedService is the BasicLinkedService implementation for InformixLinkedService. -func (ils InformixLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { return nil, false } -// AsLinkedService is the BasicLinkedService implementation for InformixLinkedService. -func (ils InformixLinkedService) AsLinkedService() (*LinkedService, bool) { +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { return nil, false } -// AsBasicLinkedService is the BasicLinkedService implementation for InformixLinkedService. -func (ils InformixLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { - return &ils, true +// AsAzureStorageLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false } -// UnmarshalJSON is the custom unmarshaler for InformixLinkedService struct. -func (ils *InformixLinkedService) UnmarshalJSON(body []byte) error { +// AsLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for HTTPLinkedService. +func (hls HTTPLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &hls, true +} + +// UnmarshalJSON is the custom unmarshaler for HTTPLinkedService struct. +func (hls *HTTPLinkedService) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -101545,12 +108181,12 @@ func (ils *InformixLinkedService) UnmarshalJSON(body []byte) error { switch k { case "typeProperties": if v != nil { - var informixLinkedServiceTypeProperties InformixLinkedServiceTypeProperties - err = json.Unmarshal(*v, &informixLinkedServiceTypeProperties) + var HTTPLinkedServiceTypeProperties HTTPLinkedServiceTypeProperties + err = json.Unmarshal(*v, &HTTPLinkedServiceTypeProperties) if err != nil { return err } - ils.InformixLinkedServiceTypeProperties = &informixLinkedServiceTypeProperties + hls.HTTPLinkedServiceTypeProperties = &HTTPLinkedServiceTypeProperties } default: if v != nil { @@ -101559,10 +108195,10 @@ func (ils *InformixLinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - if ils.AdditionalProperties == nil { - ils.AdditionalProperties = make(map[string]interface{}) + if hls.AdditionalProperties == nil { + hls.AdditionalProperties = make(map[string]interface{}) } - ils.AdditionalProperties[k] = additionalProperties + hls.AdditionalProperties[k] = additionalProperties } case "connectVia": if v != nil { @@ -101571,7 +108207,7 @@ func (ils *InformixLinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - ils.ConnectVia = &connectVia + hls.ConnectVia = &connectVia } case "description": if v != nil { @@ -101580,7 +108216,7 @@ func (ils *InformixLinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - ils.Description = &description + hls.Description = &description } case "parameters": if v != nil { @@ -101589,7 +108225,7 @@ func (ils *InformixLinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - ils.Parameters = parameters + hls.Parameters = parameters } case "annotations": if v != nil { @@ -101598,7 +108234,7 @@ func (ils *InformixLinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - ils.Annotations = &annotations + hls.Annotations = &annotations } case "type": if v != nil { @@ -101607,7 +108243,7 @@ func (ils *InformixLinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - ils.Type = typeVar + hls.Type = typeVar } } } @@ -101615,24 +108251,28 @@ func (ils *InformixLinkedService) UnmarshalJSON(body []byte) error { return nil } -// InformixLinkedServiceTypeProperties informix linked service properties. -type InformixLinkedServiceTypeProperties struct { - // ConnectionString - The non-access credential portion of the connection string as well as an optional encrypted credential. Type: string, SecureString or AzureKeyVaultSecretReference. - ConnectionString interface{} `json:"connectionString,omitempty"` - // AuthenticationType - Type of authentication used to connect to the Informix as ODBC data store. Possible values are: Anonymous and Basic. Type: string (or Expression with resultType string). - AuthenticationType interface{} `json:"authenticationType,omitempty"` - // Credential - The access credential portion of the connection string specified in driver-specific property-value format. - Credential BasicSecretBase `json:"credential,omitempty"` - // UserName - User name for Basic authentication. Type: string (or Expression with resultType string). +// HTTPLinkedServiceTypeProperties properties specific to this linked service type. +type HTTPLinkedServiceTypeProperties struct { + // URL - The base URL of the HTTP endpoint, e.g. http://www.microsoft.com. Type: string (or Expression with resultType string). + URL interface{} `json:"url,omitempty"` + // AuthenticationType - The authentication type to be used to connect to the HTTP server. Possible values include: 'HTTPAuthenticationTypeBasic', 'HTTPAuthenticationTypeAnonymous', 'HTTPAuthenticationTypeDigest', 'HTTPAuthenticationTypeWindows', 'HTTPAuthenticationTypeClientCertificate' + AuthenticationType HTTPAuthenticationType `json:"authenticationType,omitempty"` + // UserName - User name for Basic, Digest, or Windows authentication. Type: string (or Expression with resultType string). UserName interface{} `json:"userName,omitempty"` - // Password - Password for Basic authentication. + // Password - Password for Basic, Digest, Windows, or ClientCertificate with EmbeddedCertData authentication. Password BasicSecretBase `json:"password,omitempty"` + // EmbeddedCertData - Base64 encoded certificate data for ClientCertificate authentication. For on-premises copy with ClientCertificate authentication, either CertThumbprint or EmbeddedCertData/Password should be specified. Type: string (or Expression with resultType string). + EmbeddedCertData interface{} `json:"embeddedCertData,omitempty"` + // CertThumbprint - Thumbprint of certificate for ClientCertificate authentication. Only valid for on-premises copy. For on-premises copy with ClientCertificate authentication, either CertThumbprint or EmbeddedCertData/Password should be specified. Type: string (or Expression with resultType string). + CertThumbprint interface{} `json:"certThumbprint,omitempty"` // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` + // EnableServerCertificateValidation - If true, validate the HTTPS server SSL certificate. Default value is true. Type: boolean (or Expression with resultType boolean). + EnableServerCertificateValidation interface{} `json:"enableServerCertificateValidation,omitempty"` } -// UnmarshalJSON is the custom unmarshaler for InformixLinkedServiceTypeProperties struct. -func (ilstp *InformixLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { +// UnmarshalJSON is the custom unmarshaler for HTTPLinkedServiceTypeProperties struct. +func (hlstp *HTTPLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -101640,31 +108280,23 @@ func (ilstp *InformixLinkedServiceTypeProperties) UnmarshalJSON(body []byte) err } for k, v := range m { switch k { - case "connectionString": + case "url": if v != nil { - var connectionString interface{} - err = json.Unmarshal(*v, &connectionString) + var URL interface{} + err = json.Unmarshal(*v, &URL) if err != nil { return err } - ilstp.ConnectionString = connectionString + hlstp.URL = URL } case "authenticationType": if v != nil { - var authenticationType interface{} + var authenticationType HTTPAuthenticationType err = json.Unmarshal(*v, &authenticationType) if err != nil { return err } - ilstp.AuthenticationType = authenticationType - } - case "credential": - if v != nil { - credential, err := unmarshalBasicSecretBase(*v) - if err != nil { - return err - } - ilstp.Credential = credential + hlstp.AuthenticationType = authenticationType } case "userName": if v != nil { @@ -101673,7 +108305,7 @@ func (ilstp *InformixLinkedServiceTypeProperties) UnmarshalJSON(body []byte) err if err != nil { return err } - ilstp.UserName = userName + hlstp.UserName = userName } case "password": if v != nil { @@ -101681,7 +108313,25 @@ func (ilstp *InformixLinkedServiceTypeProperties) UnmarshalJSON(body []byte) err if err != nil { return err } - ilstp.Password = password + hlstp.Password = password + } + case "embeddedCertData": + if v != nil { + var embeddedCertData interface{} + err = json.Unmarshal(*v, &embeddedCertData) + if err != nil { + return err + } + hlstp.EmbeddedCertData = embeddedCertData + } + case "certThumbprint": + if v != nil { + var certThumbprint interface{} + err = json.Unmarshal(*v, &certThumbprint) + if err != nil { + return err + } + hlstp.CertThumbprint = certThumbprint } case "encryptedCredential": if v != nil { @@ -101690,7 +108340,16 @@ func (ilstp *InformixLinkedServiceTypeProperties) UnmarshalJSON(body []byte) err if err != nil { return err } - ilstp.EncryptedCredential = encryptedCredential + hlstp.EncryptedCredential = encryptedCredential + } + case "enableServerCertificateValidation": + if v != nil { + var enableServerCertificateValidation interface{} + err = json.Unmarshal(*v, &enableServerCertificateValidation) + if err != nil { + return err + } + hlstp.EnableServerCertificateValidation = enableServerCertificateValidation } } } @@ -101698,219 +108357,53 @@ func (ilstp *InformixLinkedServiceTypeProperties) UnmarshalJSON(body []byte) err return nil } -// InformixSink a copy activity Informix sink. -type InformixSink struct { - // PreCopyScript - A query to execute before starting the copy. Type: string (or Expression with resultType string). - PreCopyScript interface{} `json:"preCopyScript,omitempty"` +// HTTPReadSettings sftp read settings. +type HTTPReadSettings struct { + // RequestMethod - The HTTP method used to call the RESTful API. The default is GET. Type: string (or Expression with resultType string). + RequestMethod interface{} `json:"requestMethod,omitempty"` + // RequestBody - The HTTP request body to the RESTful API if requestMethod is POST. Type: string (or Expression with resultType string). + RequestBody interface{} `json:"requestBody,omitempty"` + // AdditionalHeaders - The additional HTTP headers in the request to the RESTful API. Type: string (or Expression with resultType string). + AdditionalHeaders interface{} `json:"additionalHeaders,omitempty"` + // RequestTimeout - Specifies the timeout for a HTTP client to get HTTP response from HTTP server. + RequestTimeout interface{} `json:"requestTimeout,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` - // WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0. - WriteBatchSize interface{} `json:"writeBatchSize,omitempty"` - // WriteBatchTimeout - Write batch timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). - WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"` - // SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer). - SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"` - // SinkRetryWait - Sink retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). - SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"` - // MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). + // Type - The read setting type. + Type *string `json:"type,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAvroSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzurePostgreSQLSink', 'TypeDelimitedTextSink' - Type TypeBasicCopySink `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for InformixSink. -func (is InformixSink) MarshalJSON() ([]byte, error) { - is.Type = TypeInformixSink +// MarshalJSON is the custom marshaler for HTTPReadSettings. +func (hrs HTTPReadSettings) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) - if is.PreCopyScript != nil { - objectMap["preCopyScript"] = is.PreCopyScript - } - if is.WriteBatchSize != nil { - objectMap["writeBatchSize"] = is.WriteBatchSize + if hrs.RequestMethod != nil { + objectMap["requestMethod"] = hrs.RequestMethod } - if is.WriteBatchTimeout != nil { - objectMap["writeBatchTimeout"] = is.WriteBatchTimeout + if hrs.RequestBody != nil { + objectMap["requestBody"] = hrs.RequestBody } - if is.SinkRetryCount != nil { - objectMap["sinkRetryCount"] = is.SinkRetryCount + if hrs.AdditionalHeaders != nil { + objectMap["additionalHeaders"] = hrs.AdditionalHeaders } - if is.SinkRetryWait != nil { - objectMap["sinkRetryWait"] = is.SinkRetryWait + if hrs.RequestTimeout != nil { + objectMap["requestTimeout"] = hrs.RequestTimeout } - if is.MaxConcurrentConnections != nil { - objectMap["maxConcurrentConnections"] = is.MaxConcurrentConnections + if hrs.Type != nil { + objectMap["type"] = hrs.Type } - if is.Type != "" { - objectMap["type"] = is.Type + if hrs.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = hrs.MaxConcurrentConnections } - for k, v := range is.AdditionalProperties { + for k, v := range hrs.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for InformixSink. -func (is InformixSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) { - return nil, false -} - -// AsSalesforceServiceCloudSink is the BasicCopySink implementation for InformixSink. -func (is InformixSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) { - return nil, false -} - -// AsSalesforceSink is the BasicCopySink implementation for InformixSink. -func (is InformixSink) AsSalesforceSink() (*SalesforceSink, bool) { - return nil, false -} - -// AsAzureDataExplorerSink is the BasicCopySink implementation for InformixSink. -func (is InformixSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) { - return nil, false -} - -// AsCommonDataServiceForAppsSink is the BasicCopySink implementation for InformixSink. -func (is InformixSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) { - return nil, false -} - -// AsDynamicsCrmSink is the BasicCopySink implementation for InformixSink. -func (is InformixSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) { - return nil, false -} - -// AsDynamicsSink is the BasicCopySink implementation for InformixSink. -func (is InformixSink) AsDynamicsSink() (*DynamicsSink, bool) { - return nil, false -} - -// AsMicrosoftAccessSink is the BasicCopySink implementation for InformixSink. -func (is InformixSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) { - return nil, false -} - -// AsInformixSink is the BasicCopySink implementation for InformixSink. -func (is InformixSink) AsInformixSink() (*InformixSink, bool) { - return &is, true -} - -// AsOdbcSink is the BasicCopySink implementation for InformixSink. -func (is InformixSink) AsOdbcSink() (*OdbcSink, bool) { - return nil, false -} - -// AsAzureSearchIndexSink is the BasicCopySink implementation for InformixSink. -func (is InformixSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) { - return nil, false -} - -// AsAzureBlobFSSink is the BasicCopySink implementation for InformixSink. -func (is InformixSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) { - return nil, false -} - -// AsAzureDataLakeStoreSink is the BasicCopySink implementation for InformixSink. -func (is InformixSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) { - return nil, false -} - -// AsOracleSink is the BasicCopySink implementation for InformixSink. -func (is InformixSink) AsOracleSink() (*OracleSink, bool) { - return nil, false -} - -// AsSQLDWSink is the BasicCopySink implementation for InformixSink. -func (is InformixSink) AsSQLDWSink() (*SQLDWSink, bool) { - return nil, false -} - -// AsSQLMISink is the BasicCopySink implementation for InformixSink. -func (is InformixSink) AsSQLMISink() (*SQLMISink, bool) { - return nil, false -} - -// AsAzureSQLSink is the BasicCopySink implementation for InformixSink. -func (is InformixSink) AsAzureSQLSink() (*AzureSQLSink, bool) { - return nil, false -} - -// AsSQLServerSink is the BasicCopySink implementation for InformixSink. -func (is InformixSink) AsSQLServerSink() (*SQLServerSink, bool) { - return nil, false -} - -// AsSQLSink is the BasicCopySink implementation for InformixSink. -func (is InformixSink) AsSQLSink() (*SQLSink, bool) { - return nil, false -} - -// AsDocumentDbCollectionSink is the BasicCopySink implementation for InformixSink. -func (is InformixSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) { - return nil, false -} - -// AsFileSystemSink is the BasicCopySink implementation for InformixSink. -func (is InformixSink) AsFileSystemSink() (*FileSystemSink, bool) { - return nil, false -} - -// AsBlobSink is the BasicCopySink implementation for InformixSink. -func (is InformixSink) AsBlobSink() (*BlobSink, bool) { - return nil, false -} - -// AsBinarySink is the BasicCopySink implementation for InformixSink. -func (is InformixSink) AsBinarySink() (*BinarySink, bool) { - return nil, false -} - -// AsParquetSink is the BasicCopySink implementation for InformixSink. -func (is InformixSink) AsParquetSink() (*ParquetSink, bool) { - return nil, false -} - -// AsAvroSink is the BasicCopySink implementation for InformixSink. -func (is InformixSink) AsAvroSink() (*AvroSink, bool) { - return nil, false -} - -// AsAzureTableSink is the BasicCopySink implementation for InformixSink. -func (is InformixSink) AsAzureTableSink() (*AzureTableSink, bool) { - return nil, false -} - -// AsAzureQueueSink is the BasicCopySink implementation for InformixSink. -func (is InformixSink) AsAzureQueueSink() (*AzureQueueSink, bool) { - return nil, false -} - -// AsSapCloudForCustomerSink is the BasicCopySink implementation for InformixSink. -func (is InformixSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) { - return nil, false -} - -// AsAzurePostgreSQLSink is the BasicCopySink implementation for InformixSink. -func (is InformixSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) { - return nil, false -} - -// AsDelimitedTextSink is the BasicCopySink implementation for InformixSink. -func (is InformixSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) { - return nil, false -} - -// AsCopySink is the BasicCopySink implementation for InformixSink. -func (is InformixSink) AsCopySink() (*CopySink, bool) { - return nil, false -} - -// AsBasicCopySink is the BasicCopySink implementation for InformixSink. -func (is InformixSink) AsBasicCopySink() (BasicCopySink, bool) { - return &is, true -} - -// UnmarshalJSON is the custom unmarshaler for InformixSink struct. -func (is *InformixSink) UnmarshalJSON(body []byte) error { +// UnmarshalJSON is the custom unmarshaler for HTTPReadSettings struct. +func (hrs *HTTPReadSettings) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -101918,62 +108411,62 @@ func (is *InformixSink) UnmarshalJSON(body []byte) error { } for k, v := range m { switch k { - case "preCopyScript": + case "requestMethod": if v != nil { - var preCopyScript interface{} - err = json.Unmarshal(*v, &preCopyScript) + var requestMethod interface{} + err = json.Unmarshal(*v, &requestMethod) if err != nil { return err } - is.PreCopyScript = preCopyScript + hrs.RequestMethod = requestMethod } - default: + case "requestBody": if v != nil { - var additionalProperties interface{} - err = json.Unmarshal(*v, &additionalProperties) + var requestBody interface{} + err = json.Unmarshal(*v, &requestBody) if err != nil { return err } - if is.AdditionalProperties == nil { - is.AdditionalProperties = make(map[string]interface{}) - } - is.AdditionalProperties[k] = additionalProperties + hrs.RequestBody = requestBody } - case "writeBatchSize": + case "additionalHeaders": if v != nil { - var writeBatchSize interface{} - err = json.Unmarshal(*v, &writeBatchSize) + var additionalHeaders interface{} + err = json.Unmarshal(*v, &additionalHeaders) if err != nil { return err } - is.WriteBatchSize = writeBatchSize + hrs.AdditionalHeaders = additionalHeaders } - case "writeBatchTimeout": + case "requestTimeout": if v != nil { - var writeBatchTimeout interface{} - err = json.Unmarshal(*v, &writeBatchTimeout) + var requestTimeout interface{} + err = json.Unmarshal(*v, &requestTimeout) if err != nil { return err } - is.WriteBatchTimeout = writeBatchTimeout + hrs.RequestTimeout = requestTimeout } - case "sinkRetryCount": + default: if v != nil { - var sinkRetryCount interface{} - err = json.Unmarshal(*v, &sinkRetryCount) + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) if err != nil { return err } - is.SinkRetryCount = sinkRetryCount + if hrs.AdditionalProperties == nil { + hrs.AdditionalProperties = make(map[string]interface{}) + } + hrs.AdditionalProperties[k] = additionalProperties } - case "sinkRetryWait": + case "type": if v != nil { - var sinkRetryWait interface{} - err = json.Unmarshal(*v, &sinkRetryWait) + var typeVar string + err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - is.SinkRetryWait = sinkRetryWait + hrs.Type = &typeVar } case "maxConcurrentConnections": if v != nil { @@ -101982,16 +108475,105 @@ func (is *InformixSink) UnmarshalJSON(body []byte) error { if err != nil { return err } - is.MaxConcurrentConnections = maxConcurrentConnections + hrs.MaxConcurrentConnections = maxConcurrentConnections + } + } + } + + return nil +} + +// HTTPServerLocation the location of http server. +type HTTPServerLocation struct { + // RelativeURL - Specify the relativeUrl of http server. Type: string (or Expression with resultType string) + RelativeURL interface{} `json:"relativeUrl,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Type - Type of dataset storage location. + Type *string `json:"type,omitempty"` + // FolderPath - Specify the folder path of dataset. Type: string (or Expression with resultType string) + FolderPath interface{} `json:"folderPath,omitempty"` + // FileName - Specify the file name of dataset. Type: string (or Expression with resultType string). + FileName interface{} `json:"fileName,omitempty"` +} + +// MarshalJSON is the custom marshaler for HTTPServerLocation. +func (hsl HTTPServerLocation) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if hsl.RelativeURL != nil { + objectMap["relativeUrl"] = hsl.RelativeURL + } + if hsl.Type != nil { + objectMap["type"] = hsl.Type + } + if hsl.FolderPath != nil { + objectMap["folderPath"] = hsl.FolderPath + } + if hsl.FileName != nil { + objectMap["fileName"] = hsl.FileName + } + for k, v := range hsl.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for HTTPServerLocation struct. +func (hsl *HTTPServerLocation) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "relativeUrl": + if v != nil { + var relativeURL interface{} + err = json.Unmarshal(*v, &relativeURL) + if err != nil { + return err + } + hsl.RelativeURL = relativeURL + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if hsl.AdditionalProperties == nil { + hsl.AdditionalProperties = make(map[string]interface{}) + } + hsl.AdditionalProperties[k] = additionalProperties } case "type": if v != nil { - var typeVar TypeBasicCopySink + var typeVar string err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - is.Type = typeVar + hsl.Type = &typeVar + } + case "folderPath": + if v != nil { + var folderPath interface{} + err = json.Unmarshal(*v, &folderPath) + if err != nil { + return err + } + hsl.FolderPath = folderPath + } + case "fileName": + if v != nil { + var fileName interface{} + err = json.Unmarshal(*v, &fileName) + if err != nil { + return err + } + hsl.FileName = fileName } } } @@ -101999,10 +108581,10 @@ func (is *InformixSink) UnmarshalJSON(body []byte) error { return nil } -// InformixSource a copy activity source for Informix. -type InformixSource struct { - // Query - Database query. Type: string (or Expression with resultType string). - Query interface{} `json:"query,omitempty"` +// HTTPSource a copy activity source for an HTTP file. +type HTTPSource struct { + // HTTPRequestTimeout - Specifies the timeout for a HTTP client to get HTTP response from HTTP server. The default value is equivalent to System.Net.HttpWebRequest.Timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + HTTPRequestTimeout interface{} `json:"httpRequestTimeout,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). @@ -102011,462 +108593,487 @@ type InformixSource struct { SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' + // Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' Type TypeBasicCopySource `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for InformixSource. -func (is InformixSource) MarshalJSON() ([]byte, error) { - is.Type = TypeInformixSource +// MarshalJSON is the custom marshaler for HTTPSource. +func (hs HTTPSource) MarshalJSON() ([]byte, error) { + hs.Type = TypeHTTPSource objectMap := make(map[string]interface{}) - if is.Query != nil { - objectMap["query"] = is.Query + if hs.HTTPRequestTimeout != nil { + objectMap["httpRequestTimeout"] = hs.HTTPRequestTimeout } - if is.SourceRetryCount != nil { - objectMap["sourceRetryCount"] = is.SourceRetryCount + if hs.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = hs.SourceRetryCount } - if is.SourceRetryWait != nil { - objectMap["sourceRetryWait"] = is.SourceRetryWait + if hs.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = hs.SourceRetryWait } - if is.MaxConcurrentConnections != nil { - objectMap["maxConcurrentConnections"] = is.MaxConcurrentConnections + if hs.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = hs.MaxConcurrentConnections } - if is.Type != "" { - objectMap["type"] = is.Type + if hs.Type != "" { + objectMap["type"] = hs.Type } - for k, v := range is.AdditionalProperties { + for k, v := range hs.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsAmazonRedshiftSource is the BasicCopySource implementation for InformixSource. -func (is InformixSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { - return nil, false +// AsHTTPSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsHTTPSource() (*HTTPSource, bool) { + return &hs, true } -// AsGoogleAdWordsSource is the BasicCopySource implementation for InformixSource. -func (is InformixSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { +// AsAzureBlobFSSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { return nil, false } -// AsOracleServiceCloudSource is the BasicCopySource implementation for InformixSource. -func (is InformixSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { return nil, false } -// AsDynamicsAXSource is the BasicCopySource implementation for InformixSource. -func (is InformixSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { +// AsOffice365Source is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsOffice365Source() (*Office365Source, bool) { return nil, false } -// AsResponsysSource is the BasicCopySource implementation for InformixSource. -func (is InformixSource) AsResponsysSource() (*ResponsysSource, bool) { +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { return nil, false } -// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for InformixSource. -func (is InformixSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { +// AsMongoDbV2Source is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { return nil, false } -// AsVerticaSource is the BasicCopySource implementation for InformixSource. -func (is InformixSource) AsVerticaSource() (*VerticaSource, bool) { +// AsMongoDbSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsMongoDbSource() (*MongoDbSource, bool) { return nil, false } -// AsNetezzaSource is the BasicCopySource implementation for InformixSource. -func (is InformixSource) AsNetezzaSource() (*NetezzaSource, bool) { +// AsWebSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsWebSource() (*WebSource, bool) { return nil, false } -// AsZohoSource is the BasicCopySource implementation for InformixSource. -func (is InformixSource) AsZohoSource() (*ZohoSource, bool) { +// AsOracleSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsOracleSource() (*OracleSource, bool) { return nil, false } -// AsXeroSource is the BasicCopySource implementation for InformixSource. -func (is InformixSource) AsXeroSource() (*XeroSource, bool) { +// AsAzureDataExplorerSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { return nil, false } -// AsSquareSource is the BasicCopySource implementation for InformixSource. -func (is InformixSource) AsSquareSource() (*SquareSource, bool) { +// AsHdfsSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsHdfsSource() (*HdfsSource, bool) { return nil, false } -// AsSparkSource is the BasicCopySource implementation for InformixSource. -func (is InformixSource) AsSparkSource() (*SparkSource, bool) { +// AsFileSystemSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsFileSystemSource() (*FileSystemSource, bool) { return nil, false } -// AsShopifySource is the BasicCopySource implementation for InformixSource. -func (is InformixSource) AsShopifySource() (*ShopifySource, bool) { +// AsRestSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsRestSource() (*RestSource, bool) { return nil, false } -// AsServiceNowSource is the BasicCopySource implementation for InformixSource. -func (is InformixSource) AsServiceNowSource() (*ServiceNowSource, bool) { +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { return nil, false } -// AsQuickBooksSource is the BasicCopySource implementation for InformixSource. -func (is InformixSource) AsQuickBooksSource() (*QuickBooksSource, bool) { +// AsODataSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsODataSource() (*ODataSource, bool) { return nil, false } -// AsPrestoSource is the BasicCopySource implementation for InformixSource. -func (is InformixSource) AsPrestoSource() (*PrestoSource, bool) { +// AsMicrosoftAccessSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { return nil, false } -// AsPhoenixSource is the BasicCopySource implementation for InformixSource. -func (is InformixSource) AsPhoenixSource() (*PhoenixSource, bool) { +// AsRelationalSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsRelationalSource() (*RelationalSource, bool) { return nil, false } -// AsPaypalSource is the BasicCopySource implementation for InformixSource. -func (is InformixSource) AsPaypalSource() (*PaypalSource, bool) { +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { return nil, false } -// AsMarketoSource is the BasicCopySource implementation for InformixSource. -func (is InformixSource) AsMarketoSource() (*MarketoSource, bool) { +// AsDynamicsCrmSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { return nil, false } -// AsAzureMariaDBSource is the BasicCopySource implementation for InformixSource. -func (is InformixSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { +// AsDynamicsSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsDynamicsSource() (*DynamicsSource, bool) { return nil, false } -// AsMariaDBSource is the BasicCopySource implementation for InformixSource. -func (is InformixSource) AsMariaDBSource() (*MariaDBSource, bool) { +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { return nil, false } -// AsMagentoSource is the BasicCopySource implementation for InformixSource. -func (is InformixSource) AsMagentoSource() (*MagentoSource, bool) { +// AsDocumentDbCollectionSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { return nil, false } -// AsJiraSource is the BasicCopySource implementation for InformixSource. -func (is InformixSource) AsJiraSource() (*JiraSource, bool) { +// AsBlobSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsBlobSource() (*BlobSource, bool) { return nil, false } -// AsImpalaSource is the BasicCopySource implementation for InformixSource. -func (is InformixSource) AsImpalaSource() (*ImpalaSource, bool) { +// AsAmazonRedshiftSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { return nil, false } -// AsHubspotSource is the BasicCopySource implementation for InformixSource. -func (is InformixSource) AsHubspotSource() (*HubspotSource, bool) { +// AsGoogleAdWordsSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { return nil, false } -// AsHiveSource is the BasicCopySource implementation for InformixSource. -func (is InformixSource) AsHiveSource() (*HiveSource, bool) { +// AsOracleServiceCloudSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { return nil, false } -// AsHBaseSource is the BasicCopySource implementation for InformixSource. -func (is InformixSource) AsHBaseSource() (*HBaseSource, bool) { +// AsDynamicsAXSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { return nil, false } -// AsGreenplumSource is the BasicCopySource implementation for InformixSource. -func (is InformixSource) AsGreenplumSource() (*GreenplumSource, bool) { +// AsResponsysSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsResponsysSource() (*ResponsysSource, bool) { return nil, false } -// AsGoogleBigQuerySource is the BasicCopySource implementation for InformixSource. -func (is InformixSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { return nil, false } -// AsEloquaSource is the BasicCopySource implementation for InformixSource. -func (is InformixSource) AsEloquaSource() (*EloquaSource, bool) { +// AsVerticaSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsVerticaSource() (*VerticaSource, bool) { return nil, false } -// AsDrillSource is the BasicCopySource implementation for InformixSource. -func (is InformixSource) AsDrillSource() (*DrillSource, bool) { +// AsNetezzaSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsNetezzaSource() (*NetezzaSource, bool) { return nil, false } -// AsCouchbaseSource is the BasicCopySource implementation for InformixSource. -func (is InformixSource) AsCouchbaseSource() (*CouchbaseSource, bool) { +// AsZohoSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsZohoSource() (*ZohoSource, bool) { return nil, false } -// AsConcurSource is the BasicCopySource implementation for InformixSource. -func (is InformixSource) AsConcurSource() (*ConcurSource, bool) { +// AsXeroSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsXeroSource() (*XeroSource, bool) { return nil, false } -// AsAzurePostgreSQLSource is the BasicCopySource implementation for InformixSource. -func (is InformixSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { +// AsSquareSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsSquareSource() (*SquareSource, bool) { return nil, false } -// AsAmazonMWSSource is the BasicCopySource implementation for InformixSource. -func (is InformixSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { +// AsSparkSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsSparkSource() (*SparkSource, bool) { return nil, false } -// AsHTTPSource is the BasicCopySource implementation for InformixSource. -func (is InformixSource) AsHTTPSource() (*HTTPSource, bool) { +// AsShopifySource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsShopifySource() (*ShopifySource, bool) { return nil, false } -// AsAzureBlobFSSource is the BasicCopySource implementation for InformixSource. -func (is InformixSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { +// AsServiceNowSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsServiceNowSource() (*ServiceNowSource, bool) { return nil, false } -// AsAzureDataLakeStoreSource is the BasicCopySource implementation for InformixSource. -func (is InformixSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { +// AsQuickBooksSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsQuickBooksSource() (*QuickBooksSource, bool) { return nil, false } -// AsOffice365Source is the BasicCopySource implementation for InformixSource. -func (is InformixSource) AsOffice365Source() (*Office365Source, bool) { +// AsPrestoSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsPrestoSource() (*PrestoSource, bool) { return nil, false } -// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for InformixSource. -func (is InformixSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { +// AsPhoenixSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsPhoenixSource() (*PhoenixSource, bool) { return nil, false } -// AsMongoDbV2Source is the BasicCopySource implementation for InformixSource. -func (is InformixSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { +// AsPaypalSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsPaypalSource() (*PaypalSource, bool) { return nil, false } -// AsMongoDbSource is the BasicCopySource implementation for InformixSource. -func (is InformixSource) AsMongoDbSource() (*MongoDbSource, bool) { +// AsMarketoSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsMarketoSource() (*MarketoSource, bool) { return nil, false } -// AsCassandraSource is the BasicCopySource implementation for InformixSource. -func (is InformixSource) AsCassandraSource() (*CassandraSource, bool) { +// AsAzureMariaDBSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { return nil, false } -// AsWebSource is the BasicCopySource implementation for InformixSource. -func (is InformixSource) AsWebSource() (*WebSource, bool) { +// AsMariaDBSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsMariaDBSource() (*MariaDBSource, bool) { return nil, false } -// AsTeradataSource is the BasicCopySource implementation for InformixSource. -func (is InformixSource) AsTeradataSource() (*TeradataSource, bool) { +// AsMagentoSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsMagentoSource() (*MagentoSource, bool) { return nil, false } -// AsOracleSource is the BasicCopySource implementation for InformixSource. -func (is InformixSource) AsOracleSource() (*OracleSource, bool) { +// AsJiraSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsJiraSource() (*JiraSource, bool) { return nil, false } -// AsAzureDataExplorerSource is the BasicCopySource implementation for InformixSource. -func (is InformixSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { +// AsImpalaSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsImpalaSource() (*ImpalaSource, bool) { return nil, false } -// AsAzureMySQLSource is the BasicCopySource implementation for InformixSource. -func (is InformixSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { +// AsHubspotSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsHubspotSource() (*HubspotSource, bool) { return nil, false } -// AsHdfsSource is the BasicCopySource implementation for InformixSource. -func (is InformixSource) AsHdfsSource() (*HdfsSource, bool) { +// AsHiveSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsHiveSource() (*HiveSource, bool) { return nil, false } -// AsFileSystemSource is the BasicCopySource implementation for InformixSource. -func (is InformixSource) AsFileSystemSource() (*FileSystemSource, bool) { +// AsHBaseSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsHBaseSource() (*HBaseSource, bool) { return nil, false } -// AsSQLDWSource is the BasicCopySource implementation for InformixSource. -func (is InformixSource) AsSQLDWSource() (*SQLDWSource, bool) { +// AsGreenplumSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsGreenplumSource() (*GreenplumSource, bool) { return nil, false } -// AsSQLMISource is the BasicCopySource implementation for InformixSource. -func (is InformixSource) AsSQLMISource() (*SQLMISource, bool) { +// AsGoogleBigQuerySource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { return nil, false } -// AsAzureSQLSource is the BasicCopySource implementation for InformixSource. -func (is InformixSource) AsAzureSQLSource() (*AzureSQLSource, bool) { +// AsEloquaSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsEloquaSource() (*EloquaSource, bool) { return nil, false } -// AsSQLServerSource is the BasicCopySource implementation for InformixSource. -func (is InformixSource) AsSQLServerSource() (*SQLServerSource, bool) { +// AsDrillSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsDrillSource() (*DrillSource, bool) { return nil, false } -// AsSQLSource is the BasicCopySource implementation for InformixSource. -func (is InformixSource) AsSQLSource() (*SQLSource, bool) { +// AsCouchbaseSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsCouchbaseSource() (*CouchbaseSource, bool) { return nil, false } -// AsRestSource is the BasicCopySource implementation for InformixSource. -func (is InformixSource) AsRestSource() (*RestSource, bool) { +// AsConcurSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsConcurSource() (*ConcurSource, bool) { return nil, false } -// AsSapTableSource is the BasicCopySource implementation for InformixSource. -func (is InformixSource) AsSapTableSource() (*SapTableSource, bool) { +// AsAzurePostgreSQLSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { return nil, false } -// AsSapOpenHubSource is the BasicCopySource implementation for InformixSource. -func (is InformixSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { +// AsAmazonMWSSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { return nil, false } -// AsSapHanaSource is the BasicCopySource implementation for InformixSource. -func (is InformixSource) AsSapHanaSource() (*SapHanaSource, bool) { +// AsCassandraSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsCassandraSource() (*CassandraSource, bool) { return nil, false } -// AsSapEccSource is the BasicCopySource implementation for InformixSource. -func (is InformixSource) AsSapEccSource() (*SapEccSource, bool) { +// AsTeradataSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsTeradataSource() (*TeradataSource, bool) { return nil, false } -// AsSapCloudForCustomerSource is the BasicCopySource implementation for InformixSource. -func (is InformixSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { +// AsAzureMySQLSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { return nil, false } -// AsSalesforceServiceCloudSource is the BasicCopySource implementation for InformixSource. -func (is InformixSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { +// AsSQLDWSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsSQLDWSource() (*SQLDWSource, bool) { return nil, false } -// AsSalesforceSource is the BasicCopySource implementation for InformixSource. -func (is InformixSource) AsSalesforceSource() (*SalesforceSource, bool) { +// AsSQLMISource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsSQLMISource() (*SQLMISource, bool) { return nil, false } -// AsODataSource is the BasicCopySource implementation for InformixSource. -func (is InformixSource) AsODataSource() (*ODataSource, bool) { +// AsAzureSQLSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsAzureSQLSource() (*AzureSQLSource, bool) { return nil, false } -// AsSapBwSource is the BasicCopySource implementation for InformixSource. -func (is InformixSource) AsSapBwSource() (*SapBwSource, bool) { +// AsSQLServerSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsSQLServerSource() (*SQLServerSource, bool) { return nil, false } -// AsSybaseSource is the BasicCopySource implementation for InformixSource. -func (is InformixSource) AsSybaseSource() (*SybaseSource, bool) { +// AsSQLSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsSQLSource() (*SQLSource, bool) { return nil, false } -// AsPostgreSQLSource is the BasicCopySource implementation for InformixSource. -func (is InformixSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { +// AsSapTableSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsSapTableSource() (*SapTableSource, bool) { return nil, false } -// AsMySQLSource is the BasicCopySource implementation for InformixSource. -func (is InformixSource) AsMySQLSource() (*MySQLSource, bool) { +// AsSapOpenHubSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { return nil, false } -// AsOdbcSource is the BasicCopySource implementation for InformixSource. -func (is InformixSource) AsOdbcSource() (*OdbcSource, bool) { +// AsSapHanaSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsSapHanaSource() (*SapHanaSource, bool) { return nil, false } -// AsDb2Source is the BasicCopySource implementation for InformixSource. -func (is InformixSource) AsDb2Source() (*Db2Source, bool) { +// AsSapEccSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsSapEccSource() (*SapEccSource, bool) { return nil, false } -// AsMicrosoftAccessSource is the BasicCopySource implementation for InformixSource. -func (is InformixSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { +// AsSapCloudForCustomerSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { return nil, false } -// AsInformixSource is the BasicCopySource implementation for InformixSource. -func (is InformixSource) AsInformixSource() (*InformixSource, bool) { - return &is, true +// AsSalesforceSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsSalesforceSource() (*SalesforceSource, bool) { + return nil, false } -// AsRelationalSource is the BasicCopySource implementation for InformixSource. -func (is InformixSource) AsRelationalSource() (*RelationalSource, bool) { +// AsSapBwSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsSapBwSource() (*SapBwSource, bool) { return nil, false } -// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for InformixSource. -func (is InformixSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { +// AsSybaseSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsSybaseSource() (*SybaseSource, bool) { return nil, false } -// AsDynamicsCrmSource is the BasicCopySource implementation for InformixSource. -func (is InformixSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { +// AsPostgreSQLSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { return nil, false } -// AsDynamicsSource is the BasicCopySource implementation for InformixSource. -func (is InformixSource) AsDynamicsSource() (*DynamicsSource, bool) { +// AsMySQLSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsMySQLSource() (*MySQLSource, bool) { return nil, false } -// AsDocumentDbCollectionSource is the BasicCopySource implementation for InformixSource. -func (is InformixSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { +// AsOdbcSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsOdbcSource() (*OdbcSource, bool) { return nil, false } -// AsBlobSource is the BasicCopySource implementation for InformixSource. -func (is InformixSource) AsBlobSource() (*BlobSource, bool) { +// AsDb2Source is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsDb2Source() (*Db2Source, bool) { return nil, false } -// AsAzureTableSource is the BasicCopySource implementation for InformixSource. -func (is InformixSource) AsAzureTableSource() (*AzureTableSource, bool) { +// AsInformixSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsInformixSource() (*InformixSource, bool) { return nil, false } -// AsBinarySource is the BasicCopySource implementation for InformixSource. -func (is InformixSource) AsBinarySource() (*BinarySource, bool) { +// AsAzureTableSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsAzureTableSource() (*AzureTableSource, bool) { return nil, false } -// AsDelimitedTextSource is the BasicCopySource implementation for InformixSource. -func (is InformixSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { +// AsTabularSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsTabularSource() (*TabularSource, bool) { return nil, false } -// AsParquetSource is the BasicCopySource implementation for InformixSource. -func (is InformixSource) AsParquetSource() (*ParquetSource, bool) { +// AsBasicTabularSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsBasicTabularSource() (BasicTabularSource, bool) { return nil, false } -// AsAvroSource is the BasicCopySource implementation for InformixSource. -func (is InformixSource) AsAvroSource() (*AvroSource, bool) { +// AsBinarySource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsBinarySource() (*BinarySource, bool) { return nil, false } -// AsCopySource is the BasicCopySource implementation for InformixSource. -func (is InformixSource) AsCopySource() (*CopySource, bool) { +// AsOrcSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsOrcSource() (*OrcSource, bool) { return nil, false } -// AsBasicCopySource is the BasicCopySource implementation for InformixSource. -func (is InformixSource) AsBasicCopySource() (BasicCopySource, bool) { - return &is, true +// AsJSONSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsJSONSource() (*JSONSource, bool) { + return nil, false } -// UnmarshalJSON is the custom unmarshaler for InformixSource struct. -func (is *InformixSource) UnmarshalJSON(body []byte) error { +// AsDelimitedTextSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false +} + +// AsParquetSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for HTTPSource. +func (hs HTTPSource) AsBasicCopySource() (BasicCopySource, bool) { + return &hs, true +} + +// UnmarshalJSON is the custom unmarshaler for HTTPSource struct. +func (hs *HTTPSource) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -102474,14 +109081,14 @@ func (is *InformixSource) UnmarshalJSON(body []byte) error { } for k, v := range m { switch k { - case "query": + case "httpRequestTimeout": if v != nil { - var query interface{} - err = json.Unmarshal(*v, &query) + var HTTPRequestTimeout interface{} + err = json.Unmarshal(*v, &HTTPRequestTimeout) if err != nil { return err } - is.Query = query + hs.HTTPRequestTimeout = HTTPRequestTimeout } default: if v != nil { @@ -102490,10 +109097,10 @@ func (is *InformixSource) UnmarshalJSON(body []byte) error { if err != nil { return err } - if is.AdditionalProperties == nil { - is.AdditionalProperties = make(map[string]interface{}) + if hs.AdditionalProperties == nil { + hs.AdditionalProperties = make(map[string]interface{}) } - is.AdditionalProperties[k] = additionalProperties + hs.AdditionalProperties[k] = additionalProperties } case "sourceRetryCount": if v != nil { @@ -102502,7 +109109,7 @@ func (is *InformixSource) UnmarshalJSON(body []byte) error { if err != nil { return err } - is.SourceRetryCount = sourceRetryCount + hs.SourceRetryCount = sourceRetryCount } case "sourceRetryWait": if v != nil { @@ -102511,7 +109118,7 @@ func (is *InformixSource) UnmarshalJSON(body []byte) error { if err != nil { return err } - is.SourceRetryWait = sourceRetryWait + hs.SourceRetryWait = sourceRetryWait } case "maxConcurrentConnections": if v != nil { @@ -102520,7 +109127,7 @@ func (is *InformixSource) UnmarshalJSON(body []byte) error { if err != nil { return err } - is.MaxConcurrentConnections = maxConcurrentConnections + hs.MaxConcurrentConnections = maxConcurrentConnections } case "type": if v != nil { @@ -102529,7 +109136,7 @@ func (is *InformixSource) UnmarshalJSON(body []byte) error { if err != nil { return err } - is.Type = typeVar + hs.Type = typeVar } } } @@ -102537,489 +109144,534 @@ func (is *InformixSource) UnmarshalJSON(body []byte) error { return nil } -// InformixTableDataset the Informix table dataset. -type InformixTableDataset struct { - // InformixTableDatasetTypeProperties - Informix table dataset properties. - *InformixTableDatasetTypeProperties `json:"typeProperties,omitempty"` +// HubspotLinkedService hubspot Service linked service. +type HubspotLinkedService struct { + // HubspotLinkedServiceTypeProperties - Hubspot Service linked service properties. + *HubspotLinkedServiceTypeProperties `json:"typeProperties,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` - // Description - Dataset description. + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. Description *string `json:"description,omitempty"` - // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. - Structure interface{} `json:"structure,omitempty"` - // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. - Schema interface{} `json:"schema,omitempty"` - // LinkedServiceName - Linked service reference. - LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` - // Parameters - Parameters for dataset. + // Parameters - Parameters for linked service. Parameters map[string]*ParameterSpecification `json:"parameters"` - // Annotations - List of tags that can be used for describing the Dataset. + // Annotations - List of tags that can be used for describing the linked service. Annotations *[]interface{} `json:"annotations,omitempty"` - // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. - Folder *DatasetFolder `json:"folder,omitempty"` - // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' - Type TypeBasicDataset `json:"type,omitempty"` + // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' + Type TypeBasicLinkedService `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for InformixTableDataset. -func (itd InformixTableDataset) MarshalJSON() ([]byte, error) { - itd.Type = TypeInformixTable +// MarshalJSON is the custom marshaler for HubspotLinkedService. +func (hls HubspotLinkedService) MarshalJSON() ([]byte, error) { + hls.Type = TypeHubspot objectMap := make(map[string]interface{}) - if itd.InformixTableDatasetTypeProperties != nil { - objectMap["typeProperties"] = itd.InformixTableDatasetTypeProperties - } - if itd.Description != nil { - objectMap["description"] = itd.Description - } - if itd.Structure != nil { - objectMap["structure"] = itd.Structure - } - if itd.Schema != nil { - objectMap["schema"] = itd.Schema + if hls.HubspotLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = hls.HubspotLinkedServiceTypeProperties } - if itd.LinkedServiceName != nil { - objectMap["linkedServiceName"] = itd.LinkedServiceName + if hls.ConnectVia != nil { + objectMap["connectVia"] = hls.ConnectVia } - if itd.Parameters != nil { - objectMap["parameters"] = itd.Parameters + if hls.Description != nil { + objectMap["description"] = hls.Description } - if itd.Annotations != nil { - objectMap["annotations"] = itd.Annotations + if hls.Parameters != nil { + objectMap["parameters"] = hls.Parameters } - if itd.Folder != nil { - objectMap["folder"] = itd.Folder + if hls.Annotations != nil { + objectMap["annotations"] = hls.Annotations } - if itd.Type != "" { - objectMap["type"] = itd.Type + if hls.Type != "" { + objectMap["type"] = hls.Type } - for k, v := range itd.AdditionalProperties { + for k, v := range hls.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for InformixTableDataset. -func (itd InformixTableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { return nil, false } -// AsAzureDataExplorerTableDataset is the BasicDataset implementation for InformixTableDataset. -func (itd InformixTableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { return nil, false } -// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for InformixTableDataset. -func (itd InformixTableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { +// AsSapTableLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { return nil, false } -// AsDynamicsAXResourceDataset is the BasicDataset implementation for InformixTableDataset. -func (itd InformixTableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { return nil, false } -// AsResponsysObjectDataset is the BasicDataset implementation for InformixTableDataset. -func (itd InformixTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { return nil, false } -// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for InformixTableDataset. -func (itd InformixTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { return nil, false } -// AsVerticaTableDataset is the BasicDataset implementation for InformixTableDataset. -func (itd InformixTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { +// AsResponsysLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { return nil, false } -// AsNetezzaTableDataset is the BasicDataset implementation for InformixTableDataset. -func (itd InformixTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { return nil, false } -// AsZohoObjectDataset is the BasicDataset implementation for InformixTableDataset. -func (itd InformixTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { return nil, false } -// AsXeroObjectDataset is the BasicDataset implementation for InformixTableDataset. -func (itd InformixTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { return nil, false } -// AsSquareObjectDataset is the BasicDataset implementation for InformixTableDataset. -func (itd InformixTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { return nil, false } -// AsSparkObjectDataset is the BasicDataset implementation for InformixTableDataset. -func (itd InformixTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { +// AsNetezzaLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { return nil, false } -// AsShopifyObjectDataset is the BasicDataset implementation for InformixTableDataset. -func (itd InformixTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { +// AsVerticaLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { return nil, false } -// AsServiceNowObjectDataset is the BasicDataset implementation for InformixTableDataset. -func (itd InformixTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { +// AsZohoLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { return nil, false } -// AsQuickBooksObjectDataset is the BasicDataset implementation for InformixTableDataset. -func (itd InformixTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { +// AsXeroLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { return nil, false } -// AsPrestoObjectDataset is the BasicDataset implementation for InformixTableDataset. -func (itd InformixTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { +// AsSquareLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { return nil, false } -// AsPhoenixObjectDataset is the BasicDataset implementation for InformixTableDataset. -func (itd InformixTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { +// AsSparkLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { return nil, false } -// AsPaypalObjectDataset is the BasicDataset implementation for InformixTableDataset. -func (itd InformixTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { +// AsShopifyLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { return nil, false } -// AsMarketoObjectDataset is the BasicDataset implementation for InformixTableDataset. -func (itd InformixTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { +// AsServiceNowLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { return nil, false } -// AsAzureMariaDBTableDataset is the BasicDataset implementation for InformixTableDataset. -func (itd InformixTableDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { +// AsQuickBooksLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { return nil, false } -// AsMariaDBTableDataset is the BasicDataset implementation for InformixTableDataset. -func (itd InformixTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { +// AsPrestoLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { return nil, false } -// AsMagentoObjectDataset is the BasicDataset implementation for InformixTableDataset. -func (itd InformixTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { +// AsPhoenixLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { return nil, false } -// AsJiraObjectDataset is the BasicDataset implementation for InformixTableDataset. -func (itd InformixTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { +// AsPaypalLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { return nil, false } -// AsImpalaObjectDataset is the BasicDataset implementation for InformixTableDataset. -func (itd InformixTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { +// AsMarketoLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { return nil, false } -// AsHubspotObjectDataset is the BasicDataset implementation for InformixTableDataset. -func (itd InformixTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { return nil, false } -// AsHiveObjectDataset is the BasicDataset implementation for InformixTableDataset. -func (itd InformixTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { +// AsMariaDBLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { return nil, false } -// AsHBaseObjectDataset is the BasicDataset implementation for InformixTableDataset. -func (itd InformixTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { +// AsMagentoLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { return nil, false } -// AsGreenplumTableDataset is the BasicDataset implementation for InformixTableDataset. -func (itd InformixTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { +// AsJiraLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { return nil, false } -// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for InformixTableDataset. -func (itd InformixTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { +// AsImpalaLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { return nil, false } -// AsEloquaObjectDataset is the BasicDataset implementation for InformixTableDataset. -func (itd InformixTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { +// AsHubspotLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return &hls, true +} + +// AsHiveLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { return nil, false } -// AsDrillTableDataset is the BasicDataset implementation for InformixTableDataset. -func (itd InformixTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { +// AsHBaseLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { return nil, false } -// AsCouchbaseTableDataset is the BasicDataset implementation for InformixTableDataset. -func (itd InformixTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { +// AsGreenplumLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { return nil, false } -// AsConcurObjectDataset is the BasicDataset implementation for InformixTableDataset. -func (itd InformixTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { return nil, false } -// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for InformixTableDataset. -func (itd InformixTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { +// AsEloquaLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { return nil, false } -// AsAmazonMWSObjectDataset is the BasicDataset implementation for InformixTableDataset. -func (itd InformixTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { +// AsDrillLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { return nil, false } -// AsHTTPDataset is the BasicDataset implementation for InformixTableDataset. -func (itd InformixTableDataset) AsHTTPDataset() (*HTTPDataset, bool) { +// AsCouchbaseLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { return nil, false } -// AsAzureSearchIndexDataset is the BasicDataset implementation for InformixTableDataset. -func (itd InformixTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { +// AsConcurLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { return nil, false } -// AsWebTableDataset is the BasicDataset implementation for InformixTableDataset. -func (itd InformixTableDataset) AsWebTableDataset() (*WebTableDataset, bool) { +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { return nil, false } -// AsSapTableResourceDataset is the BasicDataset implementation for InformixTableDataset. -func (itd InformixTableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { return nil, false } -// AsRestResourceDataset is the BasicDataset implementation for InformixTableDataset. -func (itd InformixTableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { +// AsSapHanaLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { return nil, false } -// AsSQLServerTableDataset is the BasicDataset implementation for InformixTableDataset. -func (itd InformixTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { +// AsSapBWLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { return nil, false } -// AsSapOpenHubTableDataset is the BasicDataset implementation for InformixTableDataset. -func (itd InformixTableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { +// AsSftpServerLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { return nil, false } -// AsSapHanaTableDataset is the BasicDataset implementation for InformixTableDataset. -func (itd InformixTableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { +// AsFtpServerLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { return nil, false } -// AsSapEccResourceDataset is the BasicDataset implementation for InformixTableDataset. -func (itd InformixTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { +// AsHTTPLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { return nil, false } -// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for InformixTableDataset. -func (itd InformixTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { +// AsAzureSearchLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { return nil, false } -// AsSapBwCubeDataset is the BasicDataset implementation for InformixTableDataset. -func (itd InformixTableDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { return nil, false } -// AsSybaseTableDataset is the BasicDataset implementation for InformixTableDataset. -func (itd InformixTableDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { return nil, false } -// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for InformixTableDataset. -func (itd InformixTableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { +// AsAmazonS3LinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { return nil, false } -// AsSalesforceObjectDataset is the BasicDataset implementation for InformixTableDataset. -func (itd InformixTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { +// AsRestServiceLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { return nil, false } -// AsMicrosoftAccessTableDataset is the BasicDataset implementation for InformixTableDataset. -func (itd InformixTableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { return nil, false } -// AsPostgreSQLTableDataset is the BasicDataset implementation for InformixTableDataset. -func (itd InformixTableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { +// AsSapEccLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { return nil, false } -// AsMySQLTableDataset is the BasicDataset implementation for InformixTableDataset. -func (itd InformixTableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { return nil, false } -// AsOdbcTableDataset is the BasicDataset implementation for InformixTableDataset. -func (itd InformixTableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { return nil, false } -// AsInformixTableDataset is the BasicDataset implementation for InformixTableDataset. -func (itd InformixTableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { - return &itd, true +// AsSalesforceLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false } -// AsRelationalTableDataset is the BasicDataset implementation for InformixTableDataset. -func (itd InformixTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { +// AsOffice365LinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { return nil, false } -// AsAzureMySQLTableDataset is the BasicDataset implementation for InformixTableDataset. -func (itd InformixTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { return nil, false } -// AsTeradataTableDataset is the BasicDataset implementation for InformixTableDataset. -func (itd InformixTableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { return nil, false } -// AsOracleTableDataset is the BasicDataset implementation for InformixTableDataset. -func (itd InformixTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { return nil, false } -// AsODataResourceDataset is the BasicDataset implementation for InformixTableDataset. -func (itd InformixTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { return nil, false } -// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for InformixTableDataset. -func (itd InformixTableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { +// AsMongoDbLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { return nil, false } -// AsMongoDbV2CollectionDataset is the BasicDataset implementation for InformixTableDataset. -func (itd InformixTableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { +// AsCassandraLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { return nil, false } -// AsMongoDbCollectionDataset is the BasicDataset implementation for InformixTableDataset. -func (itd InformixTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { +// AsWebLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { return nil, false } -// AsFileShareDataset is the BasicDataset implementation for InformixTableDataset. -func (itd InformixTableDataset) AsFileShareDataset() (*FileShareDataset, bool) { +// AsODataLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { return nil, false } -// AsOffice365Dataset is the BasicDataset implementation for InformixTableDataset. -func (itd InformixTableDataset) AsOffice365Dataset() (*Office365Dataset, bool) { +// AsHdfsLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { return nil, false } -// AsAzureBlobFSDataset is the BasicDataset implementation for InformixTableDataset. -func (itd InformixTableDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) { +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { return nil, false } -// AsAzureDataLakeStoreDataset is the BasicDataset implementation for InformixTableDataset. -func (itd InformixTableDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) { +// AsInformixLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { return nil, false } -// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for InformixTableDataset. -func (itd InformixTableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { +// AsOdbcLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { return nil, false } -// AsDynamicsCrmEntityDataset is the BasicDataset implementation for InformixTableDataset. -func (itd InformixTableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { return nil, false } -// AsDynamicsEntityDataset is the BasicDataset implementation for InformixTableDataset. -func (itd InformixTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { +// AsAzureMLLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { return nil, false } -// AsDocumentDbCollectionDataset is the BasicDataset implementation for InformixTableDataset. -func (itd InformixTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { +// AsTeradataLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { return nil, false } -// AsCustomDataset is the BasicDataset implementation for InformixTableDataset. -func (itd InformixTableDataset) AsCustomDataset() (*CustomDataset, bool) { +// AsDb2LinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { return nil, false } -// AsCassandraTableDataset is the BasicDataset implementation for InformixTableDataset. -func (itd InformixTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { +// AsSybaseLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { return nil, false } -// AsAzureSQLDWTableDataset is the BasicDataset implementation for InformixTableDataset. -func (itd InformixTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { return nil, false } -// AsAzureSQLMITableDataset is the BasicDataset implementation for InformixTableDataset. -func (itd InformixTableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { +// AsMySQLLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { return nil, false } -// AsAzureSQLTableDataset is the BasicDataset implementation for InformixTableDataset. -func (itd InformixTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { return nil, false } -// AsAzureTableDataset is the BasicDataset implementation for InformixTableDataset. -func (itd InformixTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { +// AsOracleLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { return nil, false } -// AsAzureBlobDataset is the BasicDataset implementation for InformixTableDataset. -func (itd InformixTableDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) { +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { return nil, false } -// AsBinaryDataset is the BasicDataset implementation for InformixTableDataset. -func (itd InformixTableDataset) AsBinaryDataset() (*BinaryDataset, bool) { +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { return nil, false } -// AsDelimitedTextDataset is the BasicDataset implementation for InformixTableDataset. -func (itd InformixTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { +// AsFileServerLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { return nil, false } -// AsParquetDataset is the BasicDataset implementation for InformixTableDataset. -func (itd InformixTableDataset) AsParquetDataset() (*ParquetDataset, bool) { +// AsHDInsightLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { return nil, false } -// AsAvroDataset is the BasicDataset implementation for InformixTableDataset. -func (itd InformixTableDataset) AsAvroDataset() (*AvroDataset, bool) { +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { return nil, false } -// AsAmazonS3Dataset is the BasicDataset implementation for InformixTableDataset. -func (itd InformixTableDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) { +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { return nil, false } -// AsDataset is the BasicDataset implementation for InformixTableDataset. -func (itd InformixTableDataset) AsDataset() (*Dataset, bool) { +// AsDynamicsLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { return nil, false } -// AsBasicDataset is the BasicDataset implementation for InformixTableDataset. -func (itd InformixTableDataset) AsBasicDataset() (BasicDataset, bool) { - return &itd, true +// AsCosmosDbLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false } -// UnmarshalJSON is the custom unmarshaler for InformixTableDataset struct. -func (itd *InformixTableDataset) UnmarshalJSON(body []byte) error { +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for HubspotLinkedService. +func (hls HubspotLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &hls, true +} + +// UnmarshalJSON is the custom unmarshaler for HubspotLinkedService struct. +func (hls *HubspotLinkedService) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -103029,12 +109681,12 @@ func (itd *InformixTableDataset) UnmarshalJSON(body []byte) error { switch k { case "typeProperties": if v != nil { - var informixTableDatasetTypeProperties InformixTableDatasetTypeProperties - err = json.Unmarshal(*v, &informixTableDatasetTypeProperties) + var hubspotLinkedServiceTypeProperties HubspotLinkedServiceTypeProperties + err = json.Unmarshal(*v, &hubspotLinkedServiceTypeProperties) if err != nil { return err } - itd.InformixTableDatasetTypeProperties = &informixTableDatasetTypeProperties + hls.HubspotLinkedServiceTypeProperties = &hubspotLinkedServiceTypeProperties } default: if v != nil { @@ -103043,46 +109695,28 @@ func (itd *InformixTableDataset) UnmarshalJSON(body []byte) error { if err != nil { return err } - if itd.AdditionalProperties == nil { - itd.AdditionalProperties = make(map[string]interface{}) - } - itd.AdditionalProperties[k] = additionalProperties - } - case "description": - if v != nil { - var description string - err = json.Unmarshal(*v, &description) - if err != nil { - return err - } - itd.Description = &description - } - case "structure": - if v != nil { - var structure interface{} - err = json.Unmarshal(*v, &structure) - if err != nil { - return err + if hls.AdditionalProperties == nil { + hls.AdditionalProperties = make(map[string]interface{}) } - itd.Structure = structure + hls.AdditionalProperties[k] = additionalProperties } - case "schema": + case "connectVia": if v != nil { - var schema interface{} - err = json.Unmarshal(*v, &schema) + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) if err != nil { return err } - itd.Schema = schema + hls.ConnectVia = &connectVia } - case "linkedServiceName": + case "description": if v != nil { - var linkedServiceName LinkedServiceReference - err = json.Unmarshal(*v, &linkedServiceName) + var description string + err = json.Unmarshal(*v, &description) if err != nil { return err } - itd.LinkedServiceName = &linkedServiceName + hls.Description = &description } case "parameters": if v != nil { @@ -103091,7 +109725,7 @@ func (itd *InformixTableDataset) UnmarshalJSON(body []byte) error { if err != nil { return err } - itd.Parameters = parameters + hls.Parameters = parameters } case "annotations": if v != nil { @@ -103100,25 +109734,16 @@ func (itd *InformixTableDataset) UnmarshalJSON(body []byte) error { if err != nil { return err } - itd.Annotations = &annotations - } - case "folder": - if v != nil { - var folder DatasetFolder - err = json.Unmarshal(*v, &folder) - if err != nil { - return err - } - itd.Folder = &folder + hls.Annotations = &annotations } case "type": if v != nil { - var typeVar TypeBasicDataset + var typeVar TypeBasicLinkedService err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - itd.Type = typeVar + hls.Type = typeVar } } } @@ -103126,108 +109751,28 @@ func (itd *InformixTableDataset) UnmarshalJSON(body []byte) error { return nil } -// InformixTableDatasetTypeProperties informix table dataset properties. -type InformixTableDatasetTypeProperties struct { - // TableName - The Informix table name. Type: string (or Expression with resultType string). - TableName interface{} `json:"tableName,omitempty"` -} - -// BasicIntegrationRuntime azure Data Factory nested object which serves as a compute resource for activities. -type BasicIntegrationRuntime interface { - AsSelfHostedIntegrationRuntime() (*SelfHostedIntegrationRuntime, bool) - AsManagedIntegrationRuntime() (*ManagedIntegrationRuntime, bool) - AsIntegrationRuntime() (*IntegrationRuntime, bool) -} - -// IntegrationRuntime azure Data Factory nested object which serves as a compute resource for activities. -type IntegrationRuntime struct { - // AdditionalProperties - Unmatched properties from the message are deserialized this collection - AdditionalProperties map[string]interface{} `json:""` - // Description - Integration runtime description. - Description *string `json:"description,omitempty"` - // Type - Possible values include: 'TypeIntegrationRuntime', 'TypeSelfHosted', 'TypeManaged' - Type TypeBasicIntegrationRuntime `json:"type,omitempty"` -} - -func unmarshalBasicIntegrationRuntime(body []byte) (BasicIntegrationRuntime, error) { - var m map[string]interface{} - err := json.Unmarshal(body, &m) - if err != nil { - return nil, err - } - - switch m["type"] { - case string(TypeSelfHosted): - var shir SelfHostedIntegrationRuntime - err := json.Unmarshal(body, &shir) - return shir, err - case string(TypeManaged): - var mir ManagedIntegrationRuntime - err := json.Unmarshal(body, &mir) - return mir, err - default: - var ir IntegrationRuntime - err := json.Unmarshal(body, &ir) - return ir, err - } -} -func unmarshalBasicIntegrationRuntimeArray(body []byte) ([]BasicIntegrationRuntime, error) { - var rawMessages []*json.RawMessage - err := json.Unmarshal(body, &rawMessages) - if err != nil { - return nil, err - } - - irArray := make([]BasicIntegrationRuntime, len(rawMessages)) - - for index, rawMessage := range rawMessages { - ir, err := unmarshalBasicIntegrationRuntime(*rawMessage) - if err != nil { - return nil, err - } - irArray[index] = ir - } - return irArray, nil -} - -// MarshalJSON is the custom marshaler for IntegrationRuntime. -func (ir IntegrationRuntime) MarshalJSON() ([]byte, error) { - ir.Type = TypeIntegrationRuntime - objectMap := make(map[string]interface{}) - if ir.Description != nil { - objectMap["description"] = ir.Description - } - if ir.Type != "" { - objectMap["type"] = ir.Type - } - for k, v := range ir.AdditionalProperties { - objectMap[k] = v - } - return json.Marshal(objectMap) -} - -// AsSelfHostedIntegrationRuntime is the BasicIntegrationRuntime implementation for IntegrationRuntime. -func (ir IntegrationRuntime) AsSelfHostedIntegrationRuntime() (*SelfHostedIntegrationRuntime, bool) { - return nil, false -} - -// AsManagedIntegrationRuntime is the BasicIntegrationRuntime implementation for IntegrationRuntime. -func (ir IntegrationRuntime) AsManagedIntegrationRuntime() (*ManagedIntegrationRuntime, bool) { - return nil, false -} - -// AsIntegrationRuntime is the BasicIntegrationRuntime implementation for IntegrationRuntime. -func (ir IntegrationRuntime) AsIntegrationRuntime() (*IntegrationRuntime, bool) { - return &ir, true -} - -// AsBasicIntegrationRuntime is the BasicIntegrationRuntime implementation for IntegrationRuntime. -func (ir IntegrationRuntime) AsBasicIntegrationRuntime() (BasicIntegrationRuntime, bool) { - return &ir, true +// HubspotLinkedServiceTypeProperties hubspot Service linked service properties. +type HubspotLinkedServiceTypeProperties struct { + // ClientID - The client ID associated with your Hubspot application. + ClientID interface{} `json:"clientId,omitempty"` + // ClientSecret - The client secret associated with your Hubspot application. + ClientSecret BasicSecretBase `json:"clientSecret,omitempty"` + // AccessToken - The access token obtained when initially authenticating your OAuth integration. + AccessToken BasicSecretBase `json:"accessToken,omitempty"` + // RefreshToken - The refresh token obtained when initially authenticating your OAuth integration. + RefreshToken BasicSecretBase `json:"refreshToken,omitempty"` + // UseEncryptedEndpoints - Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true. + UseEncryptedEndpoints interface{} `json:"useEncryptedEndpoints,omitempty"` + // UseHostVerification - Specifies whether to require the host name in the server's certificate to match the host name of the server when connecting over SSL. The default value is true. + UseHostVerification interface{} `json:"useHostVerification,omitempty"` + // UsePeerVerification - Specifies whether to verify the identity of the server when connecting over SSL. The default value is true. + UsePeerVerification interface{} `json:"usePeerVerification,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` } -// UnmarshalJSON is the custom unmarshaler for IntegrationRuntime struct. -func (ir *IntegrationRuntime) UnmarshalJSON(body []byte) error { +// UnmarshalJSON is the custom unmarshaler for HubspotLinkedServiceTypeProperties struct. +func (hlstp *HubspotLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -103235,156 +109780,74 @@ func (ir *IntegrationRuntime) UnmarshalJSON(body []byte) error { } for k, v := range m { switch k { - default: - if v != nil { - var additionalProperties interface{} - err = json.Unmarshal(*v, &additionalProperties) - if err != nil { - return err - } - if ir.AdditionalProperties == nil { - ir.AdditionalProperties = make(map[string]interface{}) - } - ir.AdditionalProperties[k] = additionalProperties - } - case "description": + case "clientId": if v != nil { - var description string - err = json.Unmarshal(*v, &description) + var clientID interface{} + err = json.Unmarshal(*v, &clientID) if err != nil { return err } - ir.Description = &description + hlstp.ClientID = clientID } - case "type": + case "clientSecret": if v != nil { - var typeVar TypeBasicIntegrationRuntime - err = json.Unmarshal(*v, &typeVar) + clientSecret, err := unmarshalBasicSecretBase(*v) if err != nil { return err } - ir.Type = typeVar + hlstp.ClientSecret = clientSecret } - } - } - - return nil -} - -// IntegrationRuntimeAuthKeys the integration runtime authentication keys. -type IntegrationRuntimeAuthKeys struct { - autorest.Response `json:"-"` - // AuthKey1 - The primary integration runtime authentication key. - AuthKey1 *string `json:"authKey1,omitempty"` - // AuthKey2 - The secondary integration runtime authentication key. - AuthKey2 *string `json:"authKey2,omitempty"` -} - -// IntegrationRuntimeComputeProperties the compute resource properties for managed integration runtime. -type IntegrationRuntimeComputeProperties struct { - // AdditionalProperties - Unmatched properties from the message are deserialized this collection - AdditionalProperties map[string]interface{} `json:""` - // Location - The location for managed integration runtime. The supported regions could be found on https://docs.microsoft.com/en-us/azure/data-factory/data-factory-data-movement-activities - Location *string `json:"location,omitempty"` - // NodeSize - The node size requirement to managed integration runtime. - NodeSize *string `json:"nodeSize,omitempty"` - // NumberOfNodes - The required number of nodes for managed integration runtime. - NumberOfNodes *int32 `json:"numberOfNodes,omitempty"` - // MaxParallelExecutionsPerNode - Maximum parallel executions count per node for managed integration runtime. - MaxParallelExecutionsPerNode *int32 `json:"maxParallelExecutionsPerNode,omitempty"` - // VNetProperties - VNet properties for managed integration runtime. - VNetProperties *IntegrationRuntimeVNetProperties `json:"vNetProperties,omitempty"` -} - -// MarshalJSON is the custom marshaler for IntegrationRuntimeComputeProperties. -func (ircp IntegrationRuntimeComputeProperties) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - if ircp.Location != nil { - objectMap["location"] = ircp.Location - } - if ircp.NodeSize != nil { - objectMap["nodeSize"] = ircp.NodeSize - } - if ircp.NumberOfNodes != nil { - objectMap["numberOfNodes"] = ircp.NumberOfNodes - } - if ircp.MaxParallelExecutionsPerNode != nil { - objectMap["maxParallelExecutionsPerNode"] = ircp.MaxParallelExecutionsPerNode - } - if ircp.VNetProperties != nil { - objectMap["vNetProperties"] = ircp.VNetProperties - } - for k, v := range ircp.AdditionalProperties { - objectMap[k] = v - } - return json.Marshal(objectMap) -} - -// UnmarshalJSON is the custom unmarshaler for IntegrationRuntimeComputeProperties struct. -func (ircp *IntegrationRuntimeComputeProperties) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - default: + case "accessToken": if v != nil { - var additionalProperties interface{} - err = json.Unmarshal(*v, &additionalProperties) + accessToken, err := unmarshalBasicSecretBase(*v) if err != nil { return err } - if ircp.AdditionalProperties == nil { - ircp.AdditionalProperties = make(map[string]interface{}) - } - ircp.AdditionalProperties[k] = additionalProperties + hlstp.AccessToken = accessToken } - case "location": + case "refreshToken": if v != nil { - var location string - err = json.Unmarshal(*v, &location) + refreshToken, err := unmarshalBasicSecretBase(*v) if err != nil { return err } - ircp.Location = &location + hlstp.RefreshToken = refreshToken } - case "nodeSize": + case "useEncryptedEndpoints": if v != nil { - var nodeSize string - err = json.Unmarshal(*v, &nodeSize) + var useEncryptedEndpoints interface{} + err = json.Unmarshal(*v, &useEncryptedEndpoints) if err != nil { return err } - ircp.NodeSize = &nodeSize + hlstp.UseEncryptedEndpoints = useEncryptedEndpoints } - case "numberOfNodes": + case "useHostVerification": if v != nil { - var numberOfNodes int32 - err = json.Unmarshal(*v, &numberOfNodes) + var useHostVerification interface{} + err = json.Unmarshal(*v, &useHostVerification) if err != nil { return err } - ircp.NumberOfNodes = &numberOfNodes + hlstp.UseHostVerification = useHostVerification } - case "maxParallelExecutionsPerNode": + case "usePeerVerification": if v != nil { - var maxParallelExecutionsPerNode int32 - err = json.Unmarshal(*v, &maxParallelExecutionsPerNode) + var usePeerVerification interface{} + err = json.Unmarshal(*v, &usePeerVerification) if err != nil { return err } - ircp.MaxParallelExecutionsPerNode = &maxParallelExecutionsPerNode + hlstp.UsePeerVerification = usePeerVerification } - case "vNetProperties": + case "encryptedCredential": if v != nil { - var vNetProperties IntegrationRuntimeVNetProperties - err = json.Unmarshal(*v, &vNetProperties) + var encryptedCredential interface{} + err = json.Unmarshal(*v, &encryptedCredential) if err != nil { return err } - ircp.VNetProperties = &vNetProperties + hlstp.EncryptedCredential = encryptedCredential } } } @@ -103392,505 +109855,514 @@ func (ircp *IntegrationRuntimeComputeProperties) UnmarshalJSON(body []byte) erro return nil } -// IntegrationRuntimeConnectionInfo connection information for encrypting the on-premises data source -// credentials. -type IntegrationRuntimeConnectionInfo struct { - autorest.Response `json:"-"` +// HubspotObjectDataset hubspot Service dataset. +type HubspotObjectDataset struct { + // GenericDatasetTypeProperties - Properties specific to this dataset type. + *GenericDatasetTypeProperties `json:"typeProperties,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` - // ServiceToken - READ-ONLY; The token generated in service. Callers use this token to authenticate to integration runtime. - ServiceToken *string `json:"serviceToken,omitempty"` - // IdentityCertThumbprint - READ-ONLY; The integration runtime SSL certificate thumbprint. Click-Once application uses it to do server validation. - IdentityCertThumbprint *string `json:"identityCertThumbprint,omitempty"` - // HostServiceURI - READ-ONLY; The on-premises integration runtime host URL. - HostServiceURI *string `json:"hostServiceUri,omitempty"` - // Version - READ-ONLY; The integration runtime version. - Version *string `json:"version,omitempty"` - // PublicKey - READ-ONLY; The public key for encrypting a credential when transferring the credential to the integration runtime. - PublicKey *string `json:"publicKey,omitempty"` - // IsIdentityCertExprired - READ-ONLY; Whether the identity certificate is expired. - IsIdentityCertExprired *bool `json:"isIdentityCertExprired,omitempty"` + // Description - Dataset description. + Description *string `json:"description,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' + Type TypeBasicDataset `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for IntegrationRuntimeConnectionInfo. -func (irci IntegrationRuntimeConnectionInfo) MarshalJSON() ([]byte, error) { +// MarshalJSON is the custom marshaler for HubspotObjectDataset. +func (hod HubspotObjectDataset) MarshalJSON() ([]byte, error) { + hod.Type = TypeHubspotObject objectMap := make(map[string]interface{}) - for k, v := range irci.AdditionalProperties { + if hod.GenericDatasetTypeProperties != nil { + objectMap["typeProperties"] = hod.GenericDatasetTypeProperties + } + if hod.Description != nil { + objectMap["description"] = hod.Description + } + if hod.Structure != nil { + objectMap["structure"] = hod.Structure + } + if hod.Schema != nil { + objectMap["schema"] = hod.Schema + } + if hod.LinkedServiceName != nil { + objectMap["linkedServiceName"] = hod.LinkedServiceName + } + if hod.Parameters != nil { + objectMap["parameters"] = hod.Parameters + } + if hod.Annotations != nil { + objectMap["annotations"] = hod.Annotations + } + if hod.Folder != nil { + objectMap["folder"] = hod.Folder + } + if hod.Type != "" { + objectMap["type"] = hod.Type + } + for k, v := range hod.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// UnmarshalJSON is the custom unmarshaler for IntegrationRuntimeConnectionInfo struct. -func (irci *IntegrationRuntimeConnectionInfo) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - default: - if v != nil { - var additionalProperties interface{} - err = json.Unmarshal(*v, &additionalProperties) - if err != nil { - return err - } - if irci.AdditionalProperties == nil { - irci.AdditionalProperties = make(map[string]interface{}) - } - irci.AdditionalProperties[k] = additionalProperties - } - case "serviceToken": - if v != nil { - var serviceToken string - err = json.Unmarshal(*v, &serviceToken) - if err != nil { - return err - } - irci.ServiceToken = &serviceToken - } - case "identityCertThumbprint": - if v != nil { - var identityCertThumbprint string - err = json.Unmarshal(*v, &identityCertThumbprint) - if err != nil { - return err - } - irci.IdentityCertThumbprint = &identityCertThumbprint - } - case "hostServiceUri": - if v != nil { - var hostServiceURI string - err = json.Unmarshal(*v, &hostServiceURI) - if err != nil { - return err - } - irci.HostServiceURI = &hostServiceURI - } - case "version": - if v != nil { - var version string - err = json.Unmarshal(*v, &version) - if err != nil { - return err - } - irci.Version = &version - } - case "publicKey": - if v != nil { - var publicKey string - err = json.Unmarshal(*v, &publicKey) - if err != nil { - return err - } - irci.PublicKey = &publicKey - } - case "isIdentityCertExprired": - if v != nil { - var isIdentityCertExprired bool - err = json.Unmarshal(*v, &isIdentityCertExprired) - if err != nil { - return err - } - irci.IsIdentityCertExprired = &isIdentityCertExprired - } - } - } +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { + return nil, false +} - return nil +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { + return nil, false } -// IntegrationRuntimeCustomSetupScriptProperties custom setup script properties for a managed dedicated -// integration runtime. -type IntegrationRuntimeCustomSetupScriptProperties struct { - // BlobContainerURI - The URI of the Azure blob container that contains the custom setup script. - BlobContainerURI *string `json:"blobContainerUri,omitempty"` - // SasToken - The SAS token of the Azure blob container. - SasToken *SecureString `json:"sasToken,omitempty"` +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { + return nil, false } -// IntegrationRuntimeDataProxyProperties data proxy properties for a managed dedicated integration runtime. -type IntegrationRuntimeDataProxyProperties struct { - // ConnectVia - The self-hosted integration runtime reference. - ConnectVia *EntityReference `json:"connectVia,omitempty"` - // StagingLinkedService - The staging linked service reference. - StagingLinkedService *EntityReference `json:"stagingLinkedService,omitempty"` - // Path - The path to contain the staged data in the Blob storage. - Path *string `json:"path,omitempty"` +// AsDynamicsAXResourceDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { + return nil, false } -// IntegrationRuntimeListResponse a list of integration runtime resources. -type IntegrationRuntimeListResponse struct { - autorest.Response `json:"-"` - // Value - List of integration runtimes. - Value *[]IntegrationRuntimeResource `json:"value,omitempty"` - // NextLink - The link to the next page of results, if any remaining results exist. - NextLink *string `json:"nextLink,omitempty"` +// AsResponsysObjectDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { + return nil, false } -// IntegrationRuntimeListResponseIterator provides access to a complete listing of -// IntegrationRuntimeResource values. -type IntegrationRuntimeListResponseIterator struct { - i int - page IntegrationRuntimeListResponsePage +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { + return nil, false } -// NextWithContext advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -func (iter *IntegrationRuntimeListResponseIterator) NextWithContext(ctx context.Context) (err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationRuntimeListResponseIterator.NextWithContext") - defer func() { - sc := -1 - if iter.Response().Response.Response != nil { - sc = iter.Response().Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - iter.i++ - if iter.i < len(iter.page.Values()) { - return nil - } - err = iter.page.NextWithContext(ctx) - if err != nil { - iter.i-- - return err - } - iter.i = 0 - return nil +// AsVerticaTableDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { + return nil, false } -// Next advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -// Deprecated: Use NextWithContext() instead. -func (iter *IntegrationRuntimeListResponseIterator) Next() error { - return iter.NextWithContext(context.Background()) +// AsNetezzaTableDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { + return nil, false } -// NotDone returns true if the enumeration should be started or is not yet complete. -func (iter IntegrationRuntimeListResponseIterator) NotDone() bool { - return iter.page.NotDone() && iter.i < len(iter.page.Values()) +// AsZohoObjectDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { + return nil, false } -// Response returns the raw server response from the last page request. -func (iter IntegrationRuntimeListResponseIterator) Response() IntegrationRuntimeListResponse { - return iter.page.Response() +// AsXeroObjectDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { + return nil, false } -// Value returns the current value or a zero-initialized value if the -// iterator has advanced beyond the end of the collection. -func (iter IntegrationRuntimeListResponseIterator) Value() IntegrationRuntimeResource { - if !iter.page.NotDone() { - return IntegrationRuntimeResource{} - } - return iter.page.Values()[iter.i] +// AsSquareObjectDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { + return nil, false } -// Creates a new instance of the IntegrationRuntimeListResponseIterator type. -func NewIntegrationRuntimeListResponseIterator(page IntegrationRuntimeListResponsePage) IntegrationRuntimeListResponseIterator { - return IntegrationRuntimeListResponseIterator{page: page} +// AsSparkObjectDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { + return nil, false } -// IsEmpty returns true if the ListResult contains no values. -func (irlr IntegrationRuntimeListResponse) IsEmpty() bool { - return irlr.Value == nil || len(*irlr.Value) == 0 +// AsShopifyObjectDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { + return nil, false } -// integrationRuntimeListResponsePreparer prepares a request to retrieve the next set of results. -// It returns nil if no more results exist. -func (irlr IntegrationRuntimeListResponse) integrationRuntimeListResponsePreparer(ctx context.Context) (*http.Request, error) { - if irlr.NextLink == nil || len(to.String(irlr.NextLink)) < 1 { - return nil, nil - } - return autorest.Prepare((&http.Request{}).WithContext(ctx), - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(irlr.NextLink))) +// AsServiceNowObjectDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { + return nil, false } -// IntegrationRuntimeListResponsePage contains a page of IntegrationRuntimeResource values. -type IntegrationRuntimeListResponsePage struct { - fn func(context.Context, IntegrationRuntimeListResponse) (IntegrationRuntimeListResponse, error) - irlr IntegrationRuntimeListResponse +// AsQuickBooksObjectDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { + return nil, false } -// NextWithContext advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -func (page *IntegrationRuntimeListResponsePage) NextWithContext(ctx context.Context) (err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationRuntimeListResponsePage.NextWithContext") - defer func() { - sc := -1 - if page.Response().Response.Response != nil { - sc = page.Response().Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - next, err := page.fn(ctx, page.irlr) - if err != nil { - return err - } - page.irlr = next - return nil +// AsPrestoObjectDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { + return nil, false } -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -// Deprecated: Use NextWithContext() instead. -func (page *IntegrationRuntimeListResponsePage) Next() error { - return page.NextWithContext(context.Background()) +// AsPhoenixObjectDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { + return nil, false } -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page IntegrationRuntimeListResponsePage) NotDone() bool { - return !page.irlr.IsEmpty() +// AsPaypalObjectDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { + return nil, false } -// Response returns the raw server response from the last page request. -func (page IntegrationRuntimeListResponsePage) Response() IntegrationRuntimeListResponse { - return page.irlr +// AsMarketoObjectDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { + return nil, false } -// Values returns the slice of values for the current page or nil if there are no values. -func (page IntegrationRuntimeListResponsePage) Values() []IntegrationRuntimeResource { - if page.irlr.IsEmpty() { - return nil - } - return *page.irlr.Value +// AsAzureMariaDBTableDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { + return nil, false } -// Creates a new instance of the IntegrationRuntimeListResponsePage type. -func NewIntegrationRuntimeListResponsePage(getNextPage func(context.Context, IntegrationRuntimeListResponse) (IntegrationRuntimeListResponse, error)) IntegrationRuntimeListResponsePage { - return IntegrationRuntimeListResponsePage{fn: getNextPage} +// AsMariaDBTableDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { + return nil, false } -// IntegrationRuntimeMonitoringData get monitoring data response. -type IntegrationRuntimeMonitoringData struct { - autorest.Response `json:"-"` - // Name - Integration runtime name. - Name *string `json:"name,omitempty"` - // Nodes - Integration runtime node monitoring data. - Nodes *[]IntegrationRuntimeNodeMonitoringData `json:"nodes,omitempty"` +// AsMagentoObjectDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { + return nil, false } -// IntegrationRuntimeNodeIPAddress the IP address of self-hosted integration runtime node. -type IntegrationRuntimeNodeIPAddress struct { - autorest.Response `json:"-"` - // IPAddress - READ-ONLY; The IP address of self-hosted integration runtime node. - IPAddress *string `json:"ipAddress,omitempty"` +// AsJiraObjectDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { + return nil, false } -// IntegrationRuntimeNodeMonitoringData monitoring data for integration runtime node. -type IntegrationRuntimeNodeMonitoringData struct { - // AdditionalProperties - Unmatched properties from the message are deserialized this collection - AdditionalProperties map[string]interface{} `json:""` - // NodeName - READ-ONLY; Name of the integration runtime node. - NodeName *string `json:"nodeName,omitempty"` - // AvailableMemoryInMB - READ-ONLY; Available memory (MB) on the integration runtime node. - AvailableMemoryInMB *int32 `json:"availableMemoryInMB,omitempty"` - // CPUUtilization - READ-ONLY; CPU percentage on the integration runtime node. - CPUUtilization *int32 `json:"cpuUtilization,omitempty"` - // ConcurrentJobsLimit - READ-ONLY; Maximum concurrent jobs on the integration runtime node. - ConcurrentJobsLimit *int32 `json:"concurrentJobsLimit,omitempty"` - // ConcurrentJobsRunning - READ-ONLY; The number of jobs currently running on the integration runtime node. - ConcurrentJobsRunning *int32 `json:"concurrentJobsRunning,omitempty"` - // MaxConcurrentJobs - READ-ONLY; The maximum concurrent jobs in this integration runtime. - MaxConcurrentJobs *int32 `json:"maxConcurrentJobs,omitempty"` - // SentBytes - READ-ONLY; Sent bytes on the integration runtime node. - SentBytes *float64 `json:"sentBytes,omitempty"` - // ReceivedBytes - READ-ONLY; Received bytes on the integration runtime node. - ReceivedBytes *float64 `json:"receivedBytes,omitempty"` +// AsImpalaObjectDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { + return nil, false } -// MarshalJSON is the custom marshaler for IntegrationRuntimeNodeMonitoringData. -func (irnmd IntegrationRuntimeNodeMonitoringData) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - for k, v := range irnmd.AdditionalProperties { - objectMap[k] = v - } - return json.Marshal(objectMap) +// AsHubspotObjectDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { + return &hod, true } -// UnmarshalJSON is the custom unmarshaler for IntegrationRuntimeNodeMonitoringData struct. -func (irnmd *IntegrationRuntimeNodeMonitoringData) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - default: - if v != nil { - var additionalProperties interface{} - err = json.Unmarshal(*v, &additionalProperties) - if err != nil { - return err - } - if irnmd.AdditionalProperties == nil { - irnmd.AdditionalProperties = make(map[string]interface{}) - } - irnmd.AdditionalProperties[k] = additionalProperties - } - case "nodeName": - if v != nil { - var nodeName string - err = json.Unmarshal(*v, &nodeName) - if err != nil { - return err - } - irnmd.NodeName = &nodeName - } - case "availableMemoryInMB": - if v != nil { - var availableMemoryInMB int32 - err = json.Unmarshal(*v, &availableMemoryInMB) - if err != nil { - return err - } - irnmd.AvailableMemoryInMB = &availableMemoryInMB - } - case "cpuUtilization": - if v != nil { - var CPUUtilization int32 - err = json.Unmarshal(*v, &CPUUtilization) - if err != nil { - return err - } - irnmd.CPUUtilization = &CPUUtilization - } - case "concurrentJobsLimit": - if v != nil { - var concurrentJobsLimit int32 - err = json.Unmarshal(*v, &concurrentJobsLimit) - if err != nil { - return err - } - irnmd.ConcurrentJobsLimit = &concurrentJobsLimit - } - case "concurrentJobsRunning": - if v != nil { - var concurrentJobsRunning int32 - err = json.Unmarshal(*v, &concurrentJobsRunning) - if err != nil { - return err - } - irnmd.ConcurrentJobsRunning = &concurrentJobsRunning - } - case "maxConcurrentJobs": - if v != nil { - var maxConcurrentJobs int32 - err = json.Unmarshal(*v, &maxConcurrentJobs) - if err != nil { - return err - } - irnmd.MaxConcurrentJobs = &maxConcurrentJobs - } - case "sentBytes": - if v != nil { - var sentBytes float64 - err = json.Unmarshal(*v, &sentBytes) - if err != nil { - return err - } - irnmd.SentBytes = &sentBytes - } - case "receivedBytes": - if v != nil { - var receivedBytes float64 - err = json.Unmarshal(*v, &receivedBytes) - if err != nil { - return err - } - irnmd.ReceivedBytes = &receivedBytes - } - } - } +// AsHiveObjectDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { + return nil, false +} - return nil +// AsHBaseObjectDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { + return nil, false } -// IntegrationRuntimeObjectMetadataRefreshFuture an abstraction for monitoring and retrieving the results -// of a long-running operation. -type IntegrationRuntimeObjectMetadataRefreshFuture struct { - azure.Future +// AsGreenplumTableDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { + return nil, false } -// Result returns the result of the asynchronous operation. -// If the operation has not completed it will return an error. -func (future *IntegrationRuntimeObjectMetadataRefreshFuture) Result(client IntegrationRuntimeObjectMetadataClient) (somsr SsisObjectMetadataStatusResponse, err error) { - var done bool - done, err = future.DoneWithContext(context.Background(), client) - if err != nil { - err = autorest.NewErrorWithError(err, "datafactory.IntegrationRuntimeObjectMetadataRefreshFuture", "Result", future.Response(), "Polling failure") - return - } - if !done { - err = azure.NewAsyncOpIncompleteError("datafactory.IntegrationRuntimeObjectMetadataRefreshFuture") - return - } - sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) - if somsr.Response.Response, err = future.GetResult(sender); err == nil && somsr.Response.Response.StatusCode != http.StatusNoContent { - somsr, err = client.RefreshResponder(somsr.Response.Response) - if err != nil { - err = autorest.NewErrorWithError(err, "datafactory.IntegrationRuntimeObjectMetadataRefreshFuture", "Result", somsr.Response.Response, "Failure responding to request") - } - } - return +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { + return nil, false } -// IntegrationRuntimeReference integration runtime reference type. -type IntegrationRuntimeReference struct { - // Type - Type of integration runtime. - Type *string `json:"type,omitempty"` - // ReferenceName - Reference integration runtime name. - ReferenceName *string `json:"referenceName,omitempty"` - // Parameters - Arguments for integration runtime. - Parameters map[string]interface{} `json:"parameters"` +// AsEloquaObjectDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { + return nil, false } -// MarshalJSON is the custom marshaler for IntegrationRuntimeReference. -func (irr IntegrationRuntimeReference) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - if irr.Type != nil { - objectMap["type"] = irr.Type - } - if irr.ReferenceName != nil { - objectMap["referenceName"] = irr.ReferenceName - } - if irr.Parameters != nil { - objectMap["parameters"] = irr.Parameters - } - return json.Marshal(objectMap) +// AsDrillTableDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { + return nil, false } -// IntegrationRuntimeRegenerateKeyParameters parameters to regenerate the authentication key. -type IntegrationRuntimeRegenerateKeyParameters struct { - // KeyName - The name of the authentication key to regenerate. Possible values include: 'AuthKey1', 'AuthKey2' - KeyName IntegrationRuntimeAuthKeyName `json:"keyName,omitempty"` +// AsCouchbaseTableDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { + return nil, false } -// IntegrationRuntimeResource integration runtime resource type. -type IntegrationRuntimeResource struct { - autorest.Response `json:"-"` - // Properties - Integration runtime properties. - Properties BasicIntegrationRuntime `json:"properties,omitempty"` - // ID - READ-ONLY; The resource identifier. - ID *string `json:"id,omitempty"` - // Name - READ-ONLY; The resource name. - Name *string `json:"name,omitempty"` - // Type - READ-ONLY; The resource type. - Type *string `json:"type,omitempty"` - // Etag - READ-ONLY; Etag identifies change in the resource. - Etag *string `json:"etag,omitempty"` +// AsConcurObjectDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { + return nil, false } -// UnmarshalJSON is the custom unmarshaler for IntegrationRuntimeResource struct. -func (irr *IntegrationRuntimeResource) UnmarshalJSON(body []byte) error { +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { + return nil, false +} + +// AsAmazonMWSObjectDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { + return nil, false +} + +// AsHTTPDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsHTTPDataset() (*HTTPDataset, bool) { + return nil, false +} + +// AsAzureSearchIndexDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { + return nil, false +} + +// AsWebTableDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) { + return nil, false +} + +// AsSapTableResourceDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { + return nil, false +} + +// AsRestResourceDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { + return nil, false +} + +// AsSQLServerTableDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { + return nil, false +} + +// AsSapOpenHubTableDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { + return nil, false +} + +// AsSapHanaTableDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { + return nil, false +} + +// AsSapEccResourceDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { + return nil, false +} + +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { + return nil, false +} + +// AsSapBwCubeDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { + return nil, false +} + +// AsSybaseTableDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { + return nil, false +} + +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsSalesforceObjectDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { + return nil, false +} + +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { + return nil, false +} + +// AsPostgreSQLTableDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { + return nil, false +} + +// AsMySQLTableDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { + return nil, false +} + +// AsOdbcTableDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { + return nil, false +} + +// AsInformixTableDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { + return nil, false +} + +// AsRelationalTableDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { + return nil, false +} + +// AsDb2TableDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + +// AsAzureMySQLTableDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { + return nil, false +} + +// AsTeradataTableDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { + return nil, false +} + +// AsOracleTableDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { + return nil, false +} + +// AsODataResourceDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { + return nil, false +} + +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { + return nil, false +} + +// AsMongoDbCollectionDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { + return nil, false +} + +// AsFileShareDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsFileShareDataset() (*FileShareDataset, bool) { + return nil, false +} + +// AsOffice365Dataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) { + return nil, false +} + +// AsAzureBlobFSDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) { + return nil, false +} + +// AsAzureDataLakeStoreDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { + return nil, false +} + +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { + return nil, false +} + +// AsDynamicsEntityDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { + return nil, false +} + +// AsDocumentDbCollectionDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { + return nil, false +} + +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + +// AsCustomDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsCustomDataset() (*CustomDataset, bool) { + return nil, false +} + +// AsCassandraTableDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { + return nil, false +} + +// AsAzureSQLDWTableDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { + return nil, false +} + +// AsAzureSQLMITableDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { + return nil, false +} + +// AsAzureSQLTableDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { + return nil, false +} + +// AsAzureTableDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { + return nil, false +} + +// AsAzureBlobDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) { + return nil, false +} + +// AsBinaryDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) { + return nil, false +} + +// AsOrcDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + +// AsDelimitedTextDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { + return nil, false +} + +// AsParquetDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsParquetDataset() (*ParquetDataset, bool) { + return nil, false +} + +// AsAvroDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsAvroDataset() (*AvroDataset, bool) { + return nil, false +} + +// AsAmazonS3Dataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) { + return nil, false +} + +// AsDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsDataset() (*Dataset, bool) { + return nil, false +} + +// AsBasicDataset is the BasicDataset implementation for HubspotObjectDataset. +func (hod HubspotObjectDataset) AsBasicDataset() (BasicDataset, bool) { + return &hod, true +} + +// UnmarshalJSON is the custom unmarshaler for HubspotObjectDataset struct. +func (hod *HubspotObjectDataset) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -103898,147 +110370,98 @@ func (irr *IntegrationRuntimeResource) UnmarshalJSON(body []byte) error { } for k, v := range m { switch k { - case "properties": + case "typeProperties": if v != nil { - properties, err := unmarshalBasicIntegrationRuntime(*v) + var genericDatasetTypeProperties GenericDatasetTypeProperties + err = json.Unmarshal(*v, &genericDatasetTypeProperties) if err != nil { return err } - irr.Properties = properties + hod.GenericDatasetTypeProperties = &genericDatasetTypeProperties } - case "id": + default: if v != nil { - var ID string - err = json.Unmarshal(*v, &ID) + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) if err != nil { return err } - irr.ID = &ID + if hod.AdditionalProperties == nil { + hod.AdditionalProperties = make(map[string]interface{}) + } + hod.AdditionalProperties[k] = additionalProperties } - case "name": + case "description": if v != nil { - var name string - err = json.Unmarshal(*v, &name) + var description string + err = json.Unmarshal(*v, &description) if err != nil { return err } - irr.Name = &name + hod.Description = &description } - case "type": + case "structure": if v != nil { - var typeVar string - err = json.Unmarshal(*v, &typeVar) + var structure interface{} + err = json.Unmarshal(*v, &structure) if err != nil { return err } - irr.Type = &typeVar + hod.Structure = structure } - case "etag": + case "schema": if v != nil { - var etag string - err = json.Unmarshal(*v, &etag) + var schema interface{} + err = json.Unmarshal(*v, &schema) if err != nil { return err } - irr.Etag = &etag + hod.Schema = schema } - } - } - - return nil -} - -// IntegrationRuntimeSsisCatalogInfo catalog information for managed dedicated integration runtime. -type IntegrationRuntimeSsisCatalogInfo struct { - // AdditionalProperties - Unmatched properties from the message are deserialized this collection - AdditionalProperties map[string]interface{} `json:""` - // CatalogServerEndpoint - The catalog database server URL. - CatalogServerEndpoint *string `json:"catalogServerEndpoint,omitempty"` - // CatalogAdminUserName - The administrator user name of catalog database. - CatalogAdminUserName *string `json:"catalogAdminUserName,omitempty"` - // CatalogAdminPassword - The password of the administrator user account of the catalog database. - CatalogAdminPassword *SecureString `json:"catalogAdminPassword,omitempty"` - // CatalogPricingTier - The pricing tier for the catalog database. The valid values could be found in https://azure.microsoft.com/en-us/pricing/details/sql-database/. Possible values include: 'IntegrationRuntimeSsisCatalogPricingTierBasic', 'IntegrationRuntimeSsisCatalogPricingTierStandard', 'IntegrationRuntimeSsisCatalogPricingTierPremium', 'IntegrationRuntimeSsisCatalogPricingTierPremiumRS' - CatalogPricingTier IntegrationRuntimeSsisCatalogPricingTier `json:"catalogPricingTier,omitempty"` -} - -// MarshalJSON is the custom marshaler for IntegrationRuntimeSsisCatalogInfo. -func (irsci IntegrationRuntimeSsisCatalogInfo) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - if irsci.CatalogServerEndpoint != nil { - objectMap["catalogServerEndpoint"] = irsci.CatalogServerEndpoint - } - if irsci.CatalogAdminUserName != nil { - objectMap["catalogAdminUserName"] = irsci.CatalogAdminUserName - } - if irsci.CatalogAdminPassword != nil { - objectMap["catalogAdminPassword"] = irsci.CatalogAdminPassword - } - if irsci.CatalogPricingTier != "" { - objectMap["catalogPricingTier"] = irsci.CatalogPricingTier - } - for k, v := range irsci.AdditionalProperties { - objectMap[k] = v - } - return json.Marshal(objectMap) -} - -// UnmarshalJSON is the custom unmarshaler for IntegrationRuntimeSsisCatalogInfo struct. -func (irsci *IntegrationRuntimeSsisCatalogInfo) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - default: + case "linkedServiceName": if v != nil { - var additionalProperties interface{} - err = json.Unmarshal(*v, &additionalProperties) + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) if err != nil { return err } - if irsci.AdditionalProperties == nil { - irsci.AdditionalProperties = make(map[string]interface{}) - } - irsci.AdditionalProperties[k] = additionalProperties + hod.LinkedServiceName = &linkedServiceName } - case "catalogServerEndpoint": + case "parameters": if v != nil { - var catalogServerEndpoint string - err = json.Unmarshal(*v, &catalogServerEndpoint) + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) if err != nil { return err } - irsci.CatalogServerEndpoint = &catalogServerEndpoint + hod.Parameters = parameters } - case "catalogAdminUserName": + case "annotations": if v != nil { - var catalogAdminUserName string - err = json.Unmarshal(*v, &catalogAdminUserName) + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) if err != nil { return err } - irsci.CatalogAdminUserName = &catalogAdminUserName + hod.Annotations = &annotations } - case "catalogAdminPassword": + case "folder": if v != nil { - var catalogAdminPassword SecureString - err = json.Unmarshal(*v, &catalogAdminPassword) + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) if err != nil { return err } - irsci.CatalogAdminPassword = &catalogAdminPassword + hod.Folder = &folder } - case "catalogPricingTier": + case "type": if v != nil { - var catalogPricingTier IntegrationRuntimeSsisCatalogPricingTier - err = json.Unmarshal(*v, &catalogPricingTier) + var typeVar TypeBasicDataset + err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - irsci.CatalogPricingTier = catalogPricingTier + hod.Type = typeVar } } } @@ -104046,111 +110469,576 @@ func (irsci *IntegrationRuntimeSsisCatalogInfo) UnmarshalJSON(body []byte) error return nil } -// IntegrationRuntimeSsisProperties SSIS properties for managed integration runtime. -type IntegrationRuntimeSsisProperties struct { +// HubspotSource a copy activity Hubspot Service source. +type HubspotSource struct { + // Query - A query to retrieve data from source. Type: string (or Expression with resultType string). + Query interface{} `json:"query,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` - // CatalogInfo - Catalog information for managed dedicated integration runtime. - CatalogInfo *IntegrationRuntimeSsisCatalogInfo `json:"catalogInfo,omitempty"` - // LicenseType - License type for bringing your own license scenario. Possible values include: 'BasePrice', 'LicenseIncluded' - LicenseType IntegrationRuntimeLicenseType `json:"licenseType,omitempty"` - // CustomSetupScriptProperties - Custom setup script properties for a managed dedicated integration runtime. - CustomSetupScriptProperties *IntegrationRuntimeCustomSetupScriptProperties `json:"customSetupScriptProperties,omitempty"` - // DataProxyProperties - Data proxy properties for a managed dedicated integration runtime. - DataProxyProperties *IntegrationRuntimeDataProxyProperties `json:"dataProxyProperties,omitempty"` - // Edition - The edition for the SSIS Integration Runtime. Possible values include: 'Standard', 'Enterprise' - Edition IntegrationRuntimeEdition `json:"edition,omitempty"` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' + Type TypeBasicCopySource `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for IntegrationRuntimeSsisProperties. -func (irsp IntegrationRuntimeSsisProperties) MarshalJSON() ([]byte, error) { +// MarshalJSON is the custom marshaler for HubspotSource. +func (hs HubspotSource) MarshalJSON() ([]byte, error) { + hs.Type = TypeHubspotSource objectMap := make(map[string]interface{}) - if irsp.CatalogInfo != nil { - objectMap["catalogInfo"] = irsp.CatalogInfo + if hs.Query != nil { + objectMap["query"] = hs.Query } - if irsp.LicenseType != "" { - objectMap["licenseType"] = irsp.LicenseType + if hs.QueryTimeout != nil { + objectMap["queryTimeout"] = hs.QueryTimeout } - if irsp.CustomSetupScriptProperties != nil { - objectMap["customSetupScriptProperties"] = irsp.CustomSetupScriptProperties + if hs.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = hs.SourceRetryCount } - if irsp.DataProxyProperties != nil { - objectMap["dataProxyProperties"] = irsp.DataProxyProperties + if hs.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = hs.SourceRetryWait } - if irsp.Edition != "" { - objectMap["edition"] = irsp.Edition + if hs.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = hs.MaxConcurrentConnections } - for k, v := range irsp.AdditionalProperties { + if hs.Type != "" { + objectMap["type"] = hs.Type + } + for k, v := range hs.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// UnmarshalJSON is the custom unmarshaler for IntegrationRuntimeSsisProperties struct. -func (irsp *IntegrationRuntimeSsisProperties) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - default: - if v != nil { - var additionalProperties interface{} - err = json.Unmarshal(*v, &additionalProperties) - if err != nil { - return err - } - if irsp.AdditionalProperties == nil { - irsp.AdditionalProperties = make(map[string]interface{}) - } - irsp.AdditionalProperties[k] = additionalProperties - } - case "catalogInfo": - if v != nil { - var catalogInfo IntegrationRuntimeSsisCatalogInfo - err = json.Unmarshal(*v, &catalogInfo) +// AsHTTPSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + +// AsAmazonRedshiftSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { + return nil, false +} + +// AsGoogleAdWordsSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { + return nil, false +} + +// AsOracleServiceCloudSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { + return nil, false +} + +// AsDynamicsAXSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { + return nil, false +} + +// AsResponsysSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsResponsysSource() (*ResponsysSource, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { + return nil, false +} + +// AsVerticaSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsVerticaSource() (*VerticaSource, bool) { + return nil, false +} + +// AsNetezzaSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsNetezzaSource() (*NetezzaSource, bool) { + return nil, false +} + +// AsZohoSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsZohoSource() (*ZohoSource, bool) { + return nil, false +} + +// AsXeroSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsXeroSource() (*XeroSource, bool) { + return nil, false +} + +// AsSquareSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsSquareSource() (*SquareSource, bool) { + return nil, false +} + +// AsSparkSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsSparkSource() (*SparkSource, bool) { + return nil, false +} + +// AsShopifySource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsShopifySource() (*ShopifySource, bool) { + return nil, false +} + +// AsServiceNowSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsServiceNowSource() (*ServiceNowSource, bool) { + return nil, false +} + +// AsQuickBooksSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsQuickBooksSource() (*QuickBooksSource, bool) { + return nil, false +} + +// AsPrestoSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsPrestoSource() (*PrestoSource, bool) { + return nil, false +} + +// AsPhoenixSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsPhoenixSource() (*PhoenixSource, bool) { + return nil, false +} + +// AsPaypalSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsPaypalSource() (*PaypalSource, bool) { + return nil, false +} + +// AsMarketoSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsMarketoSource() (*MarketoSource, bool) { + return nil, false +} + +// AsAzureMariaDBSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { + return nil, false +} + +// AsMariaDBSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsMariaDBSource() (*MariaDBSource, bool) { + return nil, false +} + +// AsMagentoSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsMagentoSource() (*MagentoSource, bool) { + return nil, false +} + +// AsJiraSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsJiraSource() (*JiraSource, bool) { + return nil, false +} + +// AsImpalaSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsImpalaSource() (*ImpalaSource, bool) { + return nil, false +} + +// AsHubspotSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsHubspotSource() (*HubspotSource, bool) { + return &hs, true +} + +// AsHiveSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsHiveSource() (*HiveSource, bool) { + return nil, false +} + +// AsHBaseSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsHBaseSource() (*HBaseSource, bool) { + return nil, false +} + +// AsGreenplumSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsGreenplumSource() (*GreenplumSource, bool) { + return nil, false +} + +// AsGoogleBigQuerySource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { + return nil, false +} + +// AsEloquaSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsEloquaSource() (*EloquaSource, bool) { + return nil, false +} + +// AsDrillSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsDrillSource() (*DrillSource, bool) { + return nil, false +} + +// AsCouchbaseSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsCouchbaseSource() (*CouchbaseSource, bool) { + return nil, false +} + +// AsConcurSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsConcurSource() (*ConcurSource, bool) { + return nil, false +} + +// AsAzurePostgreSQLSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { + return nil, false +} + +// AsAmazonMWSSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { + return nil, false +} + +// AsCassandraSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsCassandraSource() (*CassandraSource, bool) { + return nil, false +} + +// AsTeradataSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsTeradataSource() (*TeradataSource, bool) { + return nil, false +} + +// AsAzureMySQLSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { + return nil, false +} + +// AsSQLDWSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsSQLDWSource() (*SQLDWSource, bool) { + return nil, false +} + +// AsSQLMISource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsSQLMISource() (*SQLMISource, bool) { + return nil, false +} + +// AsAzureSQLSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsAzureSQLSource() (*AzureSQLSource, bool) { + return nil, false +} + +// AsSQLServerSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsSQLServerSource() (*SQLServerSource, bool) { + return nil, false +} + +// AsSQLSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsSQLSource() (*SQLSource, bool) { + return nil, false +} + +// AsSapTableSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsSapTableSource() (*SapTableSource, bool) { + return nil, false +} + +// AsSapOpenHubSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { + return nil, false +} + +// AsSapHanaSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsSapHanaSource() (*SapHanaSource, bool) { + return nil, false +} + +// AsSapEccSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsSapEccSource() (*SapEccSource, bool) { + return nil, false +} + +// AsSapCloudForCustomerSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { + return nil, false +} + +// AsSalesforceSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsSalesforceSource() (*SalesforceSource, bool) { + return nil, false +} + +// AsSapBwSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsSapBwSource() (*SapBwSource, bool) { + return nil, false +} + +// AsSybaseSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsSybaseSource() (*SybaseSource, bool) { + return nil, false +} + +// AsPostgreSQLSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { + return nil, false +} + +// AsMySQLSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsMySQLSource() (*MySQLSource, bool) { + return nil, false +} + +// AsOdbcSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsOdbcSource() (*OdbcSource, bool) { + return nil, false +} + +// AsDb2Source is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsDb2Source() (*Db2Source, bool) { + return nil, false +} + +// AsInformixSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsInformixSource() (*InformixSource, bool) { + return nil, false +} + +// AsAzureTableSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsAzureTableSource() (*AzureTableSource, bool) { + return nil, false +} + +// AsTabularSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsTabularSource() (*TabularSource, bool) { + return nil, false +} + +// AsBasicTabularSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &hs, true +} + +// AsBinarySource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsBinarySource() (*BinarySource, bool) { + return nil, false +} + +// AsOrcSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsOrcSource() (*OrcSource, bool) { + return nil, false +} + +// AsJSONSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsJSONSource() (*JSONSource, bool) { + return nil, false +} + +// AsDelimitedTextSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false +} + +// AsParquetSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for HubspotSource. +func (hs HubspotSource) AsBasicCopySource() (BasicCopySource, bool) { + return &hs, true +} + +// UnmarshalJSON is the custom unmarshaler for HubspotSource struct. +func (hs *HubspotSource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "query": + if v != nil { + var query interface{} + err = json.Unmarshal(*v, &query) if err != nil { return err } - irsp.CatalogInfo = &catalogInfo + hs.Query = query } - case "licenseType": + case "queryTimeout": if v != nil { - var licenseType IntegrationRuntimeLicenseType - err = json.Unmarshal(*v, &licenseType) + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) if err != nil { return err } - irsp.LicenseType = licenseType + hs.QueryTimeout = queryTimeout } - case "customSetupScriptProperties": + default: if v != nil { - var customSetupScriptProperties IntegrationRuntimeCustomSetupScriptProperties - err = json.Unmarshal(*v, &customSetupScriptProperties) + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) if err != nil { return err } - irsp.CustomSetupScriptProperties = &customSetupScriptProperties + if hs.AdditionalProperties == nil { + hs.AdditionalProperties = make(map[string]interface{}) + } + hs.AdditionalProperties[k] = additionalProperties } - case "dataProxyProperties": + case "sourceRetryCount": if v != nil { - var dataProxyProperties IntegrationRuntimeDataProxyProperties - err = json.Unmarshal(*v, &dataProxyProperties) + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) if err != nil { return err } - irsp.DataProxyProperties = &dataProxyProperties + hs.SourceRetryCount = sourceRetryCount } - case "edition": + case "sourceRetryWait": if v != nil { - var edition IntegrationRuntimeEdition - err = json.Unmarshal(*v, &edition) + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) if err != nil { return err } - irsp.Edition = edition + hs.SourceRetryWait = sourceRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + hs.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySource + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + hs.Type = typeVar } } } @@ -104158,153 +111046,256 @@ func (irsp *IntegrationRuntimeSsisProperties) UnmarshalJSON(body []byte) error { return nil } -// IntegrationRuntimesStartFuture an abstraction for monitoring and retrieving the results of a -// long-running operation. -type IntegrationRuntimesStartFuture struct { - azure.Future +// IfConditionActivity this activity evaluates a boolean expression and executes either the activities +// under the ifTrueActivities property or the ifFalseActivities property depending on the result of the +// expression. +type IfConditionActivity struct { + // IfConditionActivityTypeProperties - IfCondition activity properties. + *IfConditionActivityTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Name - Activity name. + Name *string `json:"name,omitempty"` + // Description - Activity description. + Description *string `json:"description,omitempty"` + // DependsOn - Activity depends on condition. + DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"` + // UserProperties - Activity user properties. + UserProperties *[]UserProperty `json:"userProperties,omitempty"` + // Type - Possible values include: 'TypeActivity', 'TypeExecuteDataFlow', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLExecutePipeline', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeSwitch', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer' + Type TypeBasicActivity `json:"type,omitempty"` } -// Result returns the result of the asynchronous operation. -// If the operation has not completed it will return an error. -func (future *IntegrationRuntimesStartFuture) Result(client IntegrationRuntimesClient) (irsr IntegrationRuntimeStatusResponse, err error) { - var done bool - done, err = future.DoneWithContext(context.Background(), client) - if err != nil { - err = autorest.NewErrorWithError(err, "datafactory.IntegrationRuntimesStartFuture", "Result", future.Response(), "Polling failure") - return +// MarshalJSON is the custom marshaler for IfConditionActivity. +func (ica IfConditionActivity) MarshalJSON() ([]byte, error) { + ica.Type = TypeIfCondition + objectMap := make(map[string]interface{}) + if ica.IfConditionActivityTypeProperties != nil { + objectMap["typeProperties"] = ica.IfConditionActivityTypeProperties } - if !done { - err = azure.NewAsyncOpIncompleteError("datafactory.IntegrationRuntimesStartFuture") - return + if ica.Name != nil { + objectMap["name"] = ica.Name } - sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) - if irsr.Response.Response, err = future.GetResult(sender); err == nil && irsr.Response.Response.StatusCode != http.StatusNoContent { - irsr, err = client.StartResponder(irsr.Response.Response) - if err != nil { - err = autorest.NewErrorWithError(err, "datafactory.IntegrationRuntimesStartFuture", "Result", irsr.Response.Response, "Failure responding to request") - } + if ica.Description != nil { + objectMap["description"] = ica.Description } - return + if ica.DependsOn != nil { + objectMap["dependsOn"] = ica.DependsOn + } + if ica.UserProperties != nil { + objectMap["userProperties"] = ica.UserProperties + } + if ica.Type != "" { + objectMap["type"] = ica.Type + } + for k, v := range ica.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) } -// IntegrationRuntimesStopFuture an abstraction for monitoring and retrieving the results of a long-running -// operation. -type IntegrationRuntimesStopFuture struct { - azure.Future +// AsExecuteDataFlowActivity is the BasicActivity implementation for IfConditionActivity. +func (ica IfConditionActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) { + return nil, false } -// Result returns the result of the asynchronous operation. -// If the operation has not completed it will return an error. -func (future *IntegrationRuntimesStopFuture) Result(client IntegrationRuntimesClient) (ar autorest.Response, err error) { - var done bool - done, err = future.DoneWithContext(context.Background(), client) - if err != nil { - err = autorest.NewErrorWithError(err, "datafactory.IntegrationRuntimesStopFuture", "Result", future.Response(), "Polling failure") - return - } - if !done { - err = azure.NewAsyncOpIncompleteError("datafactory.IntegrationRuntimesStopFuture") - return - } - ar.Response = future.Response() - return +// AsAzureFunctionActivity is the BasicActivity implementation for IfConditionActivity. +func (ica IfConditionActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) { + return nil, false } -// BasicIntegrationRuntimeStatus integration runtime status. -type BasicIntegrationRuntimeStatus interface { - AsSelfHostedIntegrationRuntimeStatus() (*SelfHostedIntegrationRuntimeStatus, bool) - AsManagedIntegrationRuntimeStatus() (*ManagedIntegrationRuntimeStatus, bool) - AsIntegrationRuntimeStatus() (*IntegrationRuntimeStatus, bool) +// AsDatabricksSparkPythonActivity is the BasicActivity implementation for IfConditionActivity. +func (ica IfConditionActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) { + return nil, false } -// IntegrationRuntimeStatus integration runtime status. -type IntegrationRuntimeStatus struct { - // AdditionalProperties - Unmatched properties from the message are deserialized this collection - AdditionalProperties map[string]interface{} `json:""` - // DataFactoryName - READ-ONLY; The data factory name which the integration runtime belong to. - DataFactoryName *string `json:"dataFactoryName,omitempty"` - // State - READ-ONLY; The state of integration runtime. Possible values include: 'IntegrationRuntimeStateInitial', 'IntegrationRuntimeStateStopped', 'IntegrationRuntimeStateStarted', 'IntegrationRuntimeStateStarting', 'IntegrationRuntimeStateStopping', 'IntegrationRuntimeStateNeedRegistration', 'IntegrationRuntimeStateOnline', 'IntegrationRuntimeStateLimited', 'IntegrationRuntimeStateOffline', 'IntegrationRuntimeStateAccessDenied' - State IntegrationRuntimeState `json:"state,omitempty"` - // Type - Possible values include: 'TypeBasicIntegrationRuntimeStatusTypeIntegrationRuntimeStatus', 'TypeBasicIntegrationRuntimeStatusTypeSelfHosted', 'TypeBasicIntegrationRuntimeStatusTypeManaged' - Type TypeBasicIntegrationRuntimeStatus `json:"type,omitempty"` +// AsDatabricksSparkJarActivity is the BasicActivity implementation for IfConditionActivity. +func (ica IfConditionActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) { + return nil, false } -func unmarshalBasicIntegrationRuntimeStatus(body []byte) (BasicIntegrationRuntimeStatus, error) { - var m map[string]interface{} - err := json.Unmarshal(body, &m) - if err != nil { - return nil, err - } +// AsDatabricksNotebookActivity is the BasicActivity implementation for IfConditionActivity. +func (ica IfConditionActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) { + return nil, false +} - switch m["type"] { - case string(TypeBasicIntegrationRuntimeStatusTypeSelfHosted): - var shirs SelfHostedIntegrationRuntimeStatus - err := json.Unmarshal(body, &shirs) - return shirs, err - case string(TypeBasicIntegrationRuntimeStatusTypeManaged): - var mirs ManagedIntegrationRuntimeStatus - err := json.Unmarshal(body, &mirs) - return mirs, err - default: - var irs IntegrationRuntimeStatus - err := json.Unmarshal(body, &irs) - return irs, err - } +// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for IfConditionActivity. +func (ica IfConditionActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) { + return nil, false } -func unmarshalBasicIntegrationRuntimeStatusArray(body []byte) ([]BasicIntegrationRuntimeStatus, error) { - var rawMessages []*json.RawMessage - err := json.Unmarshal(body, &rawMessages) - if err != nil { - return nil, err - } - irsArray := make([]BasicIntegrationRuntimeStatus, len(rawMessages)) +// AsAzureMLExecutePipelineActivity is the BasicActivity implementation for IfConditionActivity. +func (ica IfConditionActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) { + return nil, false +} - for index, rawMessage := range rawMessages { - irs, err := unmarshalBasicIntegrationRuntimeStatus(*rawMessage) - if err != nil { - return nil, err - } - irsArray[index] = irs - } - return irsArray, nil +// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for IfConditionActivity. +func (ica IfConditionActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) { + return nil, false } -// MarshalJSON is the custom marshaler for IntegrationRuntimeStatus. -func (irs IntegrationRuntimeStatus) MarshalJSON() ([]byte, error) { - irs.Type = TypeBasicIntegrationRuntimeStatusTypeIntegrationRuntimeStatus - objectMap := make(map[string]interface{}) - if irs.Type != "" { - objectMap["type"] = irs.Type - } - for k, v := range irs.AdditionalProperties { - objectMap[k] = v - } - return json.Marshal(objectMap) +// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for IfConditionActivity. +func (ica IfConditionActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) { + return nil, false } -// AsSelfHostedIntegrationRuntimeStatus is the BasicIntegrationRuntimeStatus implementation for IntegrationRuntimeStatus. -func (irs IntegrationRuntimeStatus) AsSelfHostedIntegrationRuntimeStatus() (*SelfHostedIntegrationRuntimeStatus, bool) { +// AsGetMetadataActivity is the BasicActivity implementation for IfConditionActivity. +func (ica IfConditionActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) { return nil, false } -// AsManagedIntegrationRuntimeStatus is the BasicIntegrationRuntimeStatus implementation for IntegrationRuntimeStatus. -func (irs IntegrationRuntimeStatus) AsManagedIntegrationRuntimeStatus() (*ManagedIntegrationRuntimeStatus, bool) { +// AsWebActivity is the BasicActivity implementation for IfConditionActivity. +func (ica IfConditionActivity) AsWebActivity() (*WebActivity, bool) { return nil, false } -// AsIntegrationRuntimeStatus is the BasicIntegrationRuntimeStatus implementation for IntegrationRuntimeStatus. -func (irs IntegrationRuntimeStatus) AsIntegrationRuntimeStatus() (*IntegrationRuntimeStatus, bool) { - return &irs, true +// AsLookupActivity is the BasicActivity implementation for IfConditionActivity. +func (ica IfConditionActivity) AsLookupActivity() (*LookupActivity, bool) { + return nil, false } -// AsBasicIntegrationRuntimeStatus is the BasicIntegrationRuntimeStatus implementation for IntegrationRuntimeStatus. -func (irs IntegrationRuntimeStatus) AsBasicIntegrationRuntimeStatus() (BasicIntegrationRuntimeStatus, bool) { - return &irs, true +// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for IfConditionActivity. +func (ica IfConditionActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) { + return nil, false } -// UnmarshalJSON is the custom unmarshaler for IntegrationRuntimeStatus struct. -func (irs *IntegrationRuntimeStatus) UnmarshalJSON(body []byte) error { +// AsDeleteActivity is the BasicActivity implementation for IfConditionActivity. +func (ica IfConditionActivity) AsDeleteActivity() (*DeleteActivity, bool) { + return nil, false +} + +// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for IfConditionActivity. +func (ica IfConditionActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) { + return nil, false +} + +// AsCustomActivity is the BasicActivity implementation for IfConditionActivity. +func (ica IfConditionActivity) AsCustomActivity() (*CustomActivity, bool) { + return nil, false +} + +// AsExecuteSSISPackageActivity is the BasicActivity implementation for IfConditionActivity. +func (ica IfConditionActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) { + return nil, false +} + +// AsHDInsightSparkActivity is the BasicActivity implementation for IfConditionActivity. +func (ica IfConditionActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) { + return nil, false +} + +// AsHDInsightStreamingActivity is the BasicActivity implementation for IfConditionActivity. +func (ica IfConditionActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) { + return nil, false +} + +// AsHDInsightMapReduceActivity is the BasicActivity implementation for IfConditionActivity. +func (ica IfConditionActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) { + return nil, false +} + +// AsHDInsightPigActivity is the BasicActivity implementation for IfConditionActivity. +func (ica IfConditionActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) { + return nil, false +} + +// AsHDInsightHiveActivity is the BasicActivity implementation for IfConditionActivity. +func (ica IfConditionActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) { + return nil, false +} + +// AsCopyActivity is the BasicActivity implementation for IfConditionActivity. +func (ica IfConditionActivity) AsCopyActivity() (*CopyActivity, bool) { + return nil, false +} + +// AsExecutionActivity is the BasicActivity implementation for IfConditionActivity. +func (ica IfConditionActivity) AsExecutionActivity() (*ExecutionActivity, bool) { + return nil, false +} + +// AsBasicExecutionActivity is the BasicActivity implementation for IfConditionActivity. +func (ica IfConditionActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) { + return nil, false +} + +// AsWebHookActivity is the BasicActivity implementation for IfConditionActivity. +func (ica IfConditionActivity) AsWebHookActivity() (*WebHookActivity, bool) { + return nil, false +} + +// AsAppendVariableActivity is the BasicActivity implementation for IfConditionActivity. +func (ica IfConditionActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) { + return nil, false +} + +// AsSetVariableActivity is the BasicActivity implementation for IfConditionActivity. +func (ica IfConditionActivity) AsSetVariableActivity() (*SetVariableActivity, bool) { + return nil, false +} + +// AsFilterActivity is the BasicActivity implementation for IfConditionActivity. +func (ica IfConditionActivity) AsFilterActivity() (*FilterActivity, bool) { + return nil, false +} + +// AsValidationActivity is the BasicActivity implementation for IfConditionActivity. +func (ica IfConditionActivity) AsValidationActivity() (*ValidationActivity, bool) { + return nil, false +} + +// AsUntilActivity is the BasicActivity implementation for IfConditionActivity. +func (ica IfConditionActivity) AsUntilActivity() (*UntilActivity, bool) { + return nil, false +} + +// AsWaitActivity is the BasicActivity implementation for IfConditionActivity. +func (ica IfConditionActivity) AsWaitActivity() (*WaitActivity, bool) { + return nil, false +} + +// AsForEachActivity is the BasicActivity implementation for IfConditionActivity. +func (ica IfConditionActivity) AsForEachActivity() (*ForEachActivity, bool) { + return nil, false +} + +// AsSwitchActivity is the BasicActivity implementation for IfConditionActivity. +func (ica IfConditionActivity) AsSwitchActivity() (*SwitchActivity, bool) { + return nil, false +} + +// AsIfConditionActivity is the BasicActivity implementation for IfConditionActivity. +func (ica IfConditionActivity) AsIfConditionActivity() (*IfConditionActivity, bool) { + return &ica, true +} + +// AsExecutePipelineActivity is the BasicActivity implementation for IfConditionActivity. +func (ica IfConditionActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) { + return nil, false +} + +// AsControlActivity is the BasicActivity implementation for IfConditionActivity. +func (ica IfConditionActivity) AsControlActivity() (*ControlActivity, bool) { + return nil, false +} + +// AsBasicControlActivity is the BasicActivity implementation for IfConditionActivity. +func (ica IfConditionActivity) AsBasicControlActivity() (BasicControlActivity, bool) { + return &ica, true +} + +// AsActivity is the BasicActivity implementation for IfConditionActivity. +func (ica IfConditionActivity) AsActivity() (*Activity, bool) { + return nil, false +} + +// AsBasicActivity is the BasicActivity implementation for IfConditionActivity. +func (ica IfConditionActivity) AsBasicActivity() (BasicActivity, bool) { + return &ica, true +} + +// UnmarshalJSON is the custom unmarshaler for IfConditionActivity struct. +func (ica *IfConditionActivity) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -104312,6 +111303,15 @@ func (irs *IntegrationRuntimeStatus) UnmarshalJSON(body []byte) error { } for k, v := range m { switch k { + case "typeProperties": + if v != nil { + var ifConditionActivityTypeProperties IfConditionActivityTypeProperties + err = json.Unmarshal(*v, &ifConditionActivityTypeProperties) + if err != nil { + return err + } + ica.IfConditionActivityTypeProperties = &ifConditionActivityTypeProperties + } default: if v != nil { var additionalProperties interface{} @@ -104319,86 +111319,55 @@ func (irs *IntegrationRuntimeStatus) UnmarshalJSON(body []byte) error { if err != nil { return err } - if irs.AdditionalProperties == nil { - irs.AdditionalProperties = make(map[string]interface{}) + if ica.AdditionalProperties == nil { + ica.AdditionalProperties = make(map[string]interface{}) } - irs.AdditionalProperties[k] = additionalProperties + ica.AdditionalProperties[k] = additionalProperties } - case "dataFactoryName": + case "name": if v != nil { - var dataFactoryName string - err = json.Unmarshal(*v, &dataFactoryName) + var name string + err = json.Unmarshal(*v, &name) if err != nil { return err } - irs.DataFactoryName = &dataFactoryName + ica.Name = &name } - case "state": + case "description": if v != nil { - var state IntegrationRuntimeState - err = json.Unmarshal(*v, &state) + var description string + err = json.Unmarshal(*v, &description) if err != nil { return err } - irs.State = state + ica.Description = &description } - case "type": + case "dependsOn": if v != nil { - var typeVar TypeBasicIntegrationRuntimeStatus - err = json.Unmarshal(*v, &typeVar) + var dependsOn []ActivityDependency + err = json.Unmarshal(*v, &dependsOn) if err != nil { return err } - irs.Type = typeVar + ica.DependsOn = &dependsOn } - } - } - - return nil -} - -// IntegrationRuntimeStatusListResponse a list of integration runtime status. -type IntegrationRuntimeStatusListResponse struct { - // Value - List of integration runtime status. - Value *[]IntegrationRuntimeStatusResponse `json:"value,omitempty"` - // NextLink - The link to the next page of results, if any remaining results exist. - NextLink *string `json:"nextLink,omitempty"` -} - -// IntegrationRuntimeStatusResponse integration runtime status response. -type IntegrationRuntimeStatusResponse struct { - autorest.Response `json:"-"` - // Name - READ-ONLY; The integration runtime name. - Name *string `json:"name,omitempty"` - // Properties - Integration runtime properties. - Properties BasicIntegrationRuntimeStatus `json:"properties,omitempty"` -} - -// UnmarshalJSON is the custom unmarshaler for IntegrationRuntimeStatusResponse struct. -func (irsr *IntegrationRuntimeStatusResponse) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - case "name": + case "userProperties": if v != nil { - var name string - err = json.Unmarshal(*v, &name) + var userProperties []UserProperty + err = json.Unmarshal(*v, &userProperties) if err != nil { return err } - irsr.Name = &name + ica.UserProperties = &userProperties } - case "properties": + case "type": if v != nil { - properties, err := unmarshalBasicIntegrationRuntimeStatus(*v) + var typeVar TypeBasicActivity + err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - irsr.Properties = properties + ica.Type = typeVar } } } @@ -104406,33 +111375,18 @@ func (irsr *IntegrationRuntimeStatusResponse) UnmarshalJSON(body []byte) error { return nil } -// IntegrationRuntimeVNetProperties vNet properties for managed integration runtime. -type IntegrationRuntimeVNetProperties struct { - // AdditionalProperties - Unmatched properties from the message are deserialized this collection - AdditionalProperties map[string]interface{} `json:""` - // VNetID - The ID of the VNet that this integration runtime will join. - VNetID *string `json:"vNetId,omitempty"` - // Subnet - The name of the subnet this integration runtime will join. - Subnet *string `json:"subnet,omitempty"` -} - -// MarshalJSON is the custom marshaler for IntegrationRuntimeVNetProperties. -func (irvnp IntegrationRuntimeVNetProperties) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - if irvnp.VNetID != nil { - objectMap["vNetId"] = irvnp.VNetID - } - if irvnp.Subnet != nil { - objectMap["subnet"] = irvnp.Subnet - } - for k, v := range irvnp.AdditionalProperties { - objectMap[k] = v - } - return json.Marshal(objectMap) +// IfConditionActivityTypeProperties ifCondition activity properties. +type IfConditionActivityTypeProperties struct { + // Expression - An expression that would evaluate to Boolean. This is used to determine the block of activities (ifTrueActivities or ifFalseActivities) that will be executed. + Expression *Expression `json:"expression,omitempty"` + // IfTrueActivities - List of activities to execute if expression is evaluated to true. This is an optional property and if not provided, the activity will exit without any action. + IfTrueActivities *[]BasicActivity `json:"ifTrueActivities,omitempty"` + // IfFalseActivities - List of activities to execute if expression is evaluated to false. This is an optional property and if not provided, the activity will exit without any action. + IfFalseActivities *[]BasicActivity `json:"ifFalseActivities,omitempty"` } -// UnmarshalJSON is the custom unmarshaler for IntegrationRuntimeVNetProperties struct. -func (irvnp *IntegrationRuntimeVNetProperties) UnmarshalJSON(body []byte) error { +// UnmarshalJSON is the custom unmarshaler for IfConditionActivityTypeProperties struct. +func (icatp *IfConditionActivityTypeProperties) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -104440,35 +111394,30 @@ func (irvnp *IntegrationRuntimeVNetProperties) UnmarshalJSON(body []byte) error } for k, v := range m { switch k { - default: + case "expression": if v != nil { - var additionalProperties interface{} - err = json.Unmarshal(*v, &additionalProperties) + var expression Expression + err = json.Unmarshal(*v, &expression) if err != nil { return err } - if irvnp.AdditionalProperties == nil { - irvnp.AdditionalProperties = make(map[string]interface{}) - } - irvnp.AdditionalProperties[k] = additionalProperties + icatp.Expression = &expression } - case "vNetId": + case "ifTrueActivities": if v != nil { - var vNetID string - err = json.Unmarshal(*v, &vNetID) + ifTrueActivities, err := unmarshalBasicActivityArray(*v) if err != nil { return err } - irvnp.VNetID = &vNetID + icatp.IfTrueActivities = &ifTrueActivities } - case "subnet": + case "ifFalseActivities": if v != nil { - var subnet string - err = json.Unmarshal(*v, &subnet) + ifFalseActivities, err := unmarshalBasicActivityArray(*v) if err != nil { return err } - irvnp.Subnet = &subnet + icatp.IfFalseActivities = &ifFalseActivities } } } @@ -104476,10 +111425,20 @@ func (irvnp *IntegrationRuntimeVNetProperties) UnmarshalJSON(body []byte) error return nil } -// JiraLinkedService jira Service linked service. -type JiraLinkedService struct { - // JiraLinkedServiceTypeProperties - Jira Service linked service properties. - *JiraLinkedServiceTypeProperties `json:"typeProperties,omitempty"` +// ImpalaDatasetTypeProperties impala Dataset Properties +type ImpalaDatasetTypeProperties struct { + // TableName - This property will be retired. Please consider using schema + table properties instead. + TableName interface{} `json:"tableName,omitempty"` + // Table - The table name of the Impala. Type: string (or Expression with resultType string). + Table interface{} `json:"table,omitempty"` + // Schema - The schema name of the Impala. Type: string (or Expression with resultType string). + Schema interface{} `json:"schema,omitempty"` +} + +// ImpalaLinkedService impala server linked service. +type ImpalaLinkedService struct { + // ImpalaLinkedServiceTypeProperties - Impala server linked service properties. + *ImpalaLinkedServiceTypeProperties `json:"typeProperties,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` // ConnectVia - The integration runtime reference. @@ -104490,31 +111449,5671 @@ type JiraLinkedService struct { Parameters map[string]*ParameterSpecification `json:"parameters"` // Annotations - List of tags that can be used for describing the linked service. Annotations *[]interface{} `json:"annotations,omitempty"` - // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' + // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' Type TypeBasicLinkedService `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for JiraLinkedService. -func (jls JiraLinkedService) MarshalJSON() ([]byte, error) { - jls.Type = TypeJira +// MarshalJSON is the custom marshaler for ImpalaLinkedService. +func (ils ImpalaLinkedService) MarshalJSON() ([]byte, error) { + ils.Type = TypeImpala objectMap := make(map[string]interface{}) - if jls.JiraLinkedServiceTypeProperties != nil { - objectMap["typeProperties"] = jls.JiraLinkedServiceTypeProperties - } - if jls.ConnectVia != nil { - objectMap["connectVia"] = jls.ConnectVia + if ils.ImpalaLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = ils.ImpalaLinkedServiceTypeProperties } - if jls.Description != nil { - objectMap["description"] = jls.Description + if ils.ConnectVia != nil { + objectMap["connectVia"] = ils.ConnectVia } - if jls.Parameters != nil { - objectMap["parameters"] = jls.Parameters + if ils.Description != nil { + objectMap["description"] = ils.Description } - if jls.Annotations != nil { - objectMap["annotations"] = jls.Annotations + if ils.Parameters != nil { + objectMap["parameters"] = ils.Parameters } - if jls.Type != "" { - objectMap["type"] = jls.Type + if ils.Annotations != nil { + objectMap["annotations"] = ils.Annotations + } + if ils.Type != "" { + objectMap["type"] = ils.Type + } + for k, v := range ils.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { + return nil, false +} + +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return nil, false +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return nil, false +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return nil, false +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return nil, false +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return nil, false +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return nil, false +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return nil, false +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return nil, false +} + +// AsZohoLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { + return nil, false +} + +// AsXeroLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { + return nil, false +} + +// AsSquareLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { + return nil, false +} + +// AsSparkLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { + return nil, false +} + +// AsShopifyLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { + return nil, false +} + +// AsServiceNowLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { + return nil, false +} + +// AsQuickBooksLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { + return nil, false +} + +// AsPrestoLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return nil, false +} + +// AsPhoenixLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return nil, false +} + +// AsPaypalLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return nil, false +} + +// AsMarketoLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return nil, false +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { + return nil, false +} + +// AsMariaDBLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { + return nil, false +} + +// AsMagentoLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return nil, false +} + +// AsJiraLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return nil, false +} + +// AsImpalaLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { + return &ils, true +} + +// AsHubspotLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false +} + +// AsHiveLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return nil, false +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return nil, false +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return nil, false +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return nil, false +} + +// AsDrillLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return nil, false +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return nil, false +} + +// AsConcurLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return nil, false +} + +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return nil, false +} + +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false +} + +// AsSapHanaLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return nil, false +} + +// AsSapBWLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return nil, false +} + +// AsSftpServerLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return nil, false +} + +// AsFtpServerLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return nil, false +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return nil, false +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false +} + +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false +} + +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for ImpalaLinkedService. +func (ils ImpalaLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &ils, true +} + +// UnmarshalJSON is the custom unmarshaler for ImpalaLinkedService struct. +func (ils *ImpalaLinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var impalaLinkedServiceTypeProperties ImpalaLinkedServiceTypeProperties + err = json.Unmarshal(*v, &impalaLinkedServiceTypeProperties) + if err != nil { + return err + } + ils.ImpalaLinkedServiceTypeProperties = &impalaLinkedServiceTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if ils.AdditionalProperties == nil { + ils.AdditionalProperties = make(map[string]interface{}) + } + ils.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + ils.ConnectVia = &connectVia + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + ils.Description = &description + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + ils.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + ils.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ils.Type = typeVar + } + } + } + + return nil +} + +// ImpalaLinkedServiceTypeProperties impala server linked service properties. +type ImpalaLinkedServiceTypeProperties struct { + // Host - The IP address or host name of the Impala server. (i.e. 192.168.222.160) + Host interface{} `json:"host,omitempty"` + // Port - The TCP port that the Impala server uses to listen for client connections. The default value is 21050. + Port interface{} `json:"port,omitempty"` + // AuthenticationType - The authentication type to use. Possible values include: 'ImpalaAuthenticationTypeAnonymous', 'ImpalaAuthenticationTypeSASLUsername', 'ImpalaAuthenticationTypeUsernameAndPassword' + AuthenticationType ImpalaAuthenticationType `json:"authenticationType,omitempty"` + // Username - The user name used to access the Impala server. The default value is anonymous when using SASLUsername. + Username interface{} `json:"username,omitempty"` + // Password - The password corresponding to the user name when using UsernameAndPassword. + Password BasicSecretBase `json:"password,omitempty"` + // EnableSsl - Specifies whether the connections to the server are encrypted using SSL. The default value is false. + EnableSsl interface{} `json:"enableSsl,omitempty"` + // TrustedCertPath - The full path of the .pem file containing trusted CA certificates for verifying the server when connecting over SSL. This property can only be set when using SSL on self-hosted IR. The default value is the cacerts.pem file installed with the IR. + TrustedCertPath interface{} `json:"trustedCertPath,omitempty"` + // UseSystemTrustStore - Specifies whether to use a CA certificate from the system trust store or from a specified PEM file. The default value is false. + UseSystemTrustStore interface{} `json:"useSystemTrustStore,omitempty"` + // AllowHostNameCNMismatch - Specifies whether to require a CA-issued SSL certificate name to match the host name of the server when connecting over SSL. The default value is false. + AllowHostNameCNMismatch interface{} `json:"allowHostNameCNMismatch,omitempty"` + // AllowSelfSignedServerCert - Specifies whether to allow self-signed certificates from the server. The default value is false. + AllowSelfSignedServerCert interface{} `json:"allowSelfSignedServerCert,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for ImpalaLinkedServiceTypeProperties struct. +func (ilstp *ImpalaLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "host": + if v != nil { + var host interface{} + err = json.Unmarshal(*v, &host) + if err != nil { + return err + } + ilstp.Host = host + } + case "port": + if v != nil { + var port interface{} + err = json.Unmarshal(*v, &port) + if err != nil { + return err + } + ilstp.Port = port + } + case "authenticationType": + if v != nil { + var authenticationType ImpalaAuthenticationType + err = json.Unmarshal(*v, &authenticationType) + if err != nil { + return err + } + ilstp.AuthenticationType = authenticationType + } + case "username": + if v != nil { + var username interface{} + err = json.Unmarshal(*v, &username) + if err != nil { + return err + } + ilstp.Username = username + } + case "password": + if v != nil { + password, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + ilstp.Password = password + } + case "enableSsl": + if v != nil { + var enableSsl interface{} + err = json.Unmarshal(*v, &enableSsl) + if err != nil { + return err + } + ilstp.EnableSsl = enableSsl + } + case "trustedCertPath": + if v != nil { + var trustedCertPath interface{} + err = json.Unmarshal(*v, &trustedCertPath) + if err != nil { + return err + } + ilstp.TrustedCertPath = trustedCertPath + } + case "useSystemTrustStore": + if v != nil { + var useSystemTrustStore interface{} + err = json.Unmarshal(*v, &useSystemTrustStore) + if err != nil { + return err + } + ilstp.UseSystemTrustStore = useSystemTrustStore + } + case "allowHostNameCNMismatch": + if v != nil { + var allowHostNameCNMismatch interface{} + err = json.Unmarshal(*v, &allowHostNameCNMismatch) + if err != nil { + return err + } + ilstp.AllowHostNameCNMismatch = allowHostNameCNMismatch + } + case "allowSelfSignedServerCert": + if v != nil { + var allowSelfSignedServerCert interface{} + err = json.Unmarshal(*v, &allowSelfSignedServerCert) + if err != nil { + return err + } + ilstp.AllowSelfSignedServerCert = allowSelfSignedServerCert + } + case "encryptedCredential": + if v != nil { + var encryptedCredential interface{} + err = json.Unmarshal(*v, &encryptedCredential) + if err != nil { + return err + } + ilstp.EncryptedCredential = encryptedCredential + } + } + } + + return nil +} + +// ImpalaObjectDataset impala server dataset. +type ImpalaObjectDataset struct { + // ImpalaDatasetTypeProperties - Properties specific to this dataset type. + *ImpalaDatasetTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - Dataset description. + Description *string `json:"description,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' + Type TypeBasicDataset `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) MarshalJSON() ([]byte, error) { + iod.Type = TypeImpalaObject + objectMap := make(map[string]interface{}) + if iod.ImpalaDatasetTypeProperties != nil { + objectMap["typeProperties"] = iod.ImpalaDatasetTypeProperties + } + if iod.Description != nil { + objectMap["description"] = iod.Description + } + if iod.Structure != nil { + objectMap["structure"] = iod.Structure + } + if iod.Schema != nil { + objectMap["schema"] = iod.Schema + } + if iod.LinkedServiceName != nil { + objectMap["linkedServiceName"] = iod.LinkedServiceName + } + if iod.Parameters != nil { + objectMap["parameters"] = iod.Parameters + } + if iod.Annotations != nil { + objectMap["annotations"] = iod.Annotations + } + if iod.Folder != nil { + objectMap["folder"] = iod.Folder + } + if iod.Type != "" { + objectMap["type"] = iod.Type + } + for k, v := range iod.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { + return nil, false +} + +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { + return nil, false +} + +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsDynamicsAXResourceDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { + return nil, false +} + +// AsResponsysObjectDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { + return nil, false +} + +// AsVerticaTableDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { + return nil, false +} + +// AsNetezzaTableDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { + return nil, false +} + +// AsZohoObjectDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { + return nil, false +} + +// AsXeroObjectDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { + return nil, false +} + +// AsSquareObjectDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { + return nil, false +} + +// AsSparkObjectDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { + return nil, false +} + +// AsShopifyObjectDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { + return nil, false +} + +// AsServiceNowObjectDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { + return nil, false +} + +// AsQuickBooksObjectDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { + return nil, false +} + +// AsPrestoObjectDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { + return nil, false +} + +// AsPhoenixObjectDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { + return nil, false +} + +// AsPaypalObjectDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { + return nil, false +} + +// AsMarketoObjectDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { + return nil, false +} + +// AsAzureMariaDBTableDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { + return nil, false +} + +// AsMariaDBTableDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { + return nil, false +} + +// AsMagentoObjectDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { + return nil, false +} + +// AsJiraObjectDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { + return nil, false +} + +// AsImpalaObjectDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { + return &iod, true +} + +// AsHubspotObjectDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { + return nil, false +} + +// AsHiveObjectDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { + return nil, false +} + +// AsHBaseObjectDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { + return nil, false +} + +// AsGreenplumTableDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { + return nil, false +} + +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { + return nil, false +} + +// AsEloquaObjectDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { + return nil, false +} + +// AsDrillTableDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { + return nil, false +} + +// AsCouchbaseTableDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { + return nil, false +} + +// AsConcurObjectDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { + return nil, false +} + +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { + return nil, false +} + +// AsAmazonMWSObjectDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { + return nil, false +} + +// AsHTTPDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsHTTPDataset() (*HTTPDataset, bool) { + return nil, false +} + +// AsAzureSearchIndexDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { + return nil, false +} + +// AsWebTableDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) { + return nil, false +} + +// AsSapTableResourceDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { + return nil, false +} + +// AsRestResourceDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { + return nil, false +} + +// AsSQLServerTableDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { + return nil, false +} + +// AsSapOpenHubTableDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { + return nil, false +} + +// AsSapHanaTableDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { + return nil, false +} + +// AsSapEccResourceDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { + return nil, false +} + +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { + return nil, false +} + +// AsSapBwCubeDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { + return nil, false +} + +// AsSybaseTableDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { + return nil, false +} + +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsSalesforceObjectDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { + return nil, false +} + +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { + return nil, false +} + +// AsPostgreSQLTableDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { + return nil, false +} + +// AsMySQLTableDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { + return nil, false +} + +// AsOdbcTableDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { + return nil, false +} + +// AsInformixTableDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { + return nil, false +} + +// AsRelationalTableDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { + return nil, false +} + +// AsDb2TableDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + +// AsAzureMySQLTableDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { + return nil, false +} + +// AsTeradataTableDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { + return nil, false +} + +// AsOracleTableDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { + return nil, false +} + +// AsODataResourceDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { + return nil, false +} + +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { + return nil, false +} + +// AsMongoDbCollectionDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { + return nil, false +} + +// AsFileShareDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsFileShareDataset() (*FileShareDataset, bool) { + return nil, false +} + +// AsOffice365Dataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) { + return nil, false +} + +// AsAzureBlobFSDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) { + return nil, false +} + +// AsAzureDataLakeStoreDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { + return nil, false +} + +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { + return nil, false +} + +// AsDynamicsEntityDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { + return nil, false +} + +// AsDocumentDbCollectionDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { + return nil, false +} + +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + +// AsCustomDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsCustomDataset() (*CustomDataset, bool) { + return nil, false +} + +// AsCassandraTableDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { + return nil, false +} + +// AsAzureSQLDWTableDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { + return nil, false +} + +// AsAzureSQLMITableDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { + return nil, false +} + +// AsAzureSQLTableDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { + return nil, false +} + +// AsAzureTableDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { + return nil, false +} + +// AsAzureBlobDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) { + return nil, false +} + +// AsBinaryDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) { + return nil, false +} + +// AsOrcDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + +// AsDelimitedTextDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { + return nil, false +} + +// AsParquetDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsParquetDataset() (*ParquetDataset, bool) { + return nil, false +} + +// AsAvroDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsAvroDataset() (*AvroDataset, bool) { + return nil, false +} + +// AsAmazonS3Dataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) { + return nil, false +} + +// AsDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsDataset() (*Dataset, bool) { + return nil, false +} + +// AsBasicDataset is the BasicDataset implementation for ImpalaObjectDataset. +func (iod ImpalaObjectDataset) AsBasicDataset() (BasicDataset, bool) { + return &iod, true +} + +// UnmarshalJSON is the custom unmarshaler for ImpalaObjectDataset struct. +func (iod *ImpalaObjectDataset) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var impalaDatasetTypeProperties ImpalaDatasetTypeProperties + err = json.Unmarshal(*v, &impalaDatasetTypeProperties) + if err != nil { + return err + } + iod.ImpalaDatasetTypeProperties = &impalaDatasetTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if iod.AdditionalProperties == nil { + iod.AdditionalProperties = make(map[string]interface{}) + } + iod.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + iod.Description = &description + } + case "structure": + if v != nil { + var structure interface{} + err = json.Unmarshal(*v, &structure) + if err != nil { + return err + } + iod.Structure = structure + } + case "schema": + if v != nil { + var schema interface{} + err = json.Unmarshal(*v, &schema) + if err != nil { + return err + } + iod.Schema = schema + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + iod.LinkedServiceName = &linkedServiceName + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + iod.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + iod.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + iod.Folder = &folder + } + case "type": + if v != nil { + var typeVar TypeBasicDataset + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + iod.Type = typeVar + } + } + } + + return nil +} + +// ImpalaSource a copy activity Impala server source. +type ImpalaSource struct { + // Query - A query to retrieve data from source. Type: string (or Expression with resultType string). + Query interface{} `json:"query,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' + Type TypeBasicCopySource `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for ImpalaSource. +func (is ImpalaSource) MarshalJSON() ([]byte, error) { + is.Type = TypeImpalaSource + objectMap := make(map[string]interface{}) + if is.Query != nil { + objectMap["query"] = is.Query + } + if is.QueryTimeout != nil { + objectMap["queryTimeout"] = is.QueryTimeout + } + if is.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = is.SourceRetryCount + } + if is.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = is.SourceRetryWait + } + if is.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = is.MaxConcurrentConnections + } + if is.Type != "" { + objectMap["type"] = is.Type + } + for k, v := range is.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHTTPSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + +// AsAmazonRedshiftSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { + return nil, false +} + +// AsGoogleAdWordsSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { + return nil, false +} + +// AsOracleServiceCloudSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { + return nil, false +} + +// AsDynamicsAXSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { + return nil, false +} + +// AsResponsysSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsResponsysSource() (*ResponsysSource, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { + return nil, false +} + +// AsVerticaSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsVerticaSource() (*VerticaSource, bool) { + return nil, false +} + +// AsNetezzaSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsNetezzaSource() (*NetezzaSource, bool) { + return nil, false +} + +// AsZohoSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsZohoSource() (*ZohoSource, bool) { + return nil, false +} + +// AsXeroSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsXeroSource() (*XeroSource, bool) { + return nil, false +} + +// AsSquareSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsSquareSource() (*SquareSource, bool) { + return nil, false +} + +// AsSparkSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsSparkSource() (*SparkSource, bool) { + return nil, false +} + +// AsShopifySource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsShopifySource() (*ShopifySource, bool) { + return nil, false +} + +// AsServiceNowSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsServiceNowSource() (*ServiceNowSource, bool) { + return nil, false +} + +// AsQuickBooksSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsQuickBooksSource() (*QuickBooksSource, bool) { + return nil, false +} + +// AsPrestoSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsPrestoSource() (*PrestoSource, bool) { + return nil, false +} + +// AsPhoenixSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsPhoenixSource() (*PhoenixSource, bool) { + return nil, false +} + +// AsPaypalSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsPaypalSource() (*PaypalSource, bool) { + return nil, false +} + +// AsMarketoSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsMarketoSource() (*MarketoSource, bool) { + return nil, false +} + +// AsAzureMariaDBSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { + return nil, false +} + +// AsMariaDBSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsMariaDBSource() (*MariaDBSource, bool) { + return nil, false +} + +// AsMagentoSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsMagentoSource() (*MagentoSource, bool) { + return nil, false +} + +// AsJiraSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsJiraSource() (*JiraSource, bool) { + return nil, false +} + +// AsImpalaSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsImpalaSource() (*ImpalaSource, bool) { + return &is, true +} + +// AsHubspotSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsHubspotSource() (*HubspotSource, bool) { + return nil, false +} + +// AsHiveSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsHiveSource() (*HiveSource, bool) { + return nil, false +} + +// AsHBaseSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsHBaseSource() (*HBaseSource, bool) { + return nil, false +} + +// AsGreenplumSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsGreenplumSource() (*GreenplumSource, bool) { + return nil, false +} + +// AsGoogleBigQuerySource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { + return nil, false +} + +// AsEloquaSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsEloquaSource() (*EloquaSource, bool) { + return nil, false +} + +// AsDrillSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsDrillSource() (*DrillSource, bool) { + return nil, false +} + +// AsCouchbaseSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsCouchbaseSource() (*CouchbaseSource, bool) { + return nil, false +} + +// AsConcurSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsConcurSource() (*ConcurSource, bool) { + return nil, false +} + +// AsAzurePostgreSQLSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { + return nil, false +} + +// AsAmazonMWSSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { + return nil, false +} + +// AsCassandraSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsCassandraSource() (*CassandraSource, bool) { + return nil, false +} + +// AsTeradataSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsTeradataSource() (*TeradataSource, bool) { + return nil, false +} + +// AsAzureMySQLSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { + return nil, false +} + +// AsSQLDWSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsSQLDWSource() (*SQLDWSource, bool) { + return nil, false +} + +// AsSQLMISource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsSQLMISource() (*SQLMISource, bool) { + return nil, false +} + +// AsAzureSQLSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsAzureSQLSource() (*AzureSQLSource, bool) { + return nil, false +} + +// AsSQLServerSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsSQLServerSource() (*SQLServerSource, bool) { + return nil, false +} + +// AsSQLSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsSQLSource() (*SQLSource, bool) { + return nil, false +} + +// AsSapTableSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsSapTableSource() (*SapTableSource, bool) { + return nil, false +} + +// AsSapOpenHubSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { + return nil, false +} + +// AsSapHanaSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsSapHanaSource() (*SapHanaSource, bool) { + return nil, false +} + +// AsSapEccSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsSapEccSource() (*SapEccSource, bool) { + return nil, false +} + +// AsSapCloudForCustomerSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { + return nil, false +} + +// AsSalesforceSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsSalesforceSource() (*SalesforceSource, bool) { + return nil, false +} + +// AsSapBwSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsSapBwSource() (*SapBwSource, bool) { + return nil, false +} + +// AsSybaseSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsSybaseSource() (*SybaseSource, bool) { + return nil, false +} + +// AsPostgreSQLSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { + return nil, false +} + +// AsMySQLSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsMySQLSource() (*MySQLSource, bool) { + return nil, false +} + +// AsOdbcSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsOdbcSource() (*OdbcSource, bool) { + return nil, false +} + +// AsDb2Source is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsDb2Source() (*Db2Source, bool) { + return nil, false +} + +// AsInformixSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsInformixSource() (*InformixSource, bool) { + return nil, false +} + +// AsAzureTableSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsAzureTableSource() (*AzureTableSource, bool) { + return nil, false +} + +// AsTabularSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsTabularSource() (*TabularSource, bool) { + return nil, false +} + +// AsBasicTabularSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &is, true +} + +// AsBinarySource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsBinarySource() (*BinarySource, bool) { + return nil, false +} + +// AsOrcSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsOrcSource() (*OrcSource, bool) { + return nil, false +} + +// AsJSONSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsJSONSource() (*JSONSource, bool) { + return nil, false +} + +// AsDelimitedTextSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false +} + +// AsParquetSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for ImpalaSource. +func (is ImpalaSource) AsBasicCopySource() (BasicCopySource, bool) { + return &is, true +} + +// UnmarshalJSON is the custom unmarshaler for ImpalaSource struct. +func (is *ImpalaSource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "query": + if v != nil { + var query interface{} + err = json.Unmarshal(*v, &query) + if err != nil { + return err + } + is.Query = query + } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + is.QueryTimeout = queryTimeout + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if is.AdditionalProperties == nil { + is.AdditionalProperties = make(map[string]interface{}) + } + is.AdditionalProperties[k] = additionalProperties + } + case "sourceRetryCount": + if v != nil { + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) + if err != nil { + return err + } + is.SourceRetryCount = sourceRetryCount + } + case "sourceRetryWait": + if v != nil { + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) + if err != nil { + return err + } + is.SourceRetryWait = sourceRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + is.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySource + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + is.Type = typeVar + } + } + } + + return nil +} + +// InformixLinkedService informix linked service. +type InformixLinkedService struct { + // InformixLinkedServiceTypeProperties - Informix linked service properties. + *InformixLinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for InformixLinkedService. +func (ils InformixLinkedService) MarshalJSON() ([]byte, error) { + ils.Type = TypeInformix + objectMap := make(map[string]interface{}) + if ils.InformixLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = ils.InformixLinkedServiceTypeProperties + } + if ils.ConnectVia != nil { + objectMap["connectVia"] = ils.ConnectVia + } + if ils.Description != nil { + objectMap["description"] = ils.Description + } + if ils.Parameters != nil { + objectMap["parameters"] = ils.Parameters + } + if ils.Annotations != nil { + objectMap["annotations"] = ils.Annotations + } + if ils.Type != "" { + objectMap["type"] = ils.Type + } + for k, v := range ils.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { + return nil, false +} + +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return nil, false +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return nil, false +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return nil, false +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return nil, false +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return nil, false +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return nil, false +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return nil, false +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return nil, false +} + +// AsZohoLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { + return nil, false +} + +// AsXeroLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { + return nil, false +} + +// AsSquareLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { + return nil, false +} + +// AsSparkLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { + return nil, false +} + +// AsShopifyLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { + return nil, false +} + +// AsServiceNowLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { + return nil, false +} + +// AsQuickBooksLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { + return nil, false +} + +// AsPrestoLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return nil, false +} + +// AsPhoenixLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return nil, false +} + +// AsPaypalLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return nil, false +} + +// AsMarketoLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return nil, false +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { + return nil, false +} + +// AsMariaDBLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { + return nil, false +} + +// AsMagentoLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return nil, false +} + +// AsJiraLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return nil, false +} + +// AsImpalaLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { + return nil, false +} + +// AsHubspotLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false +} + +// AsHiveLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return nil, false +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return nil, false +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return nil, false +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return nil, false +} + +// AsDrillLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return nil, false +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return nil, false +} + +// AsConcurLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return nil, false +} + +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return nil, false +} + +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false +} + +// AsSapHanaLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return nil, false +} + +// AsSapBWLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return nil, false +} + +// AsSftpServerLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return nil, false +} + +// AsFtpServerLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return nil, false +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return nil, false +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false +} + +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false +} + +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return &ils, true +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for InformixLinkedService. +func (ils InformixLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &ils, true +} + +// UnmarshalJSON is the custom unmarshaler for InformixLinkedService struct. +func (ils *InformixLinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var informixLinkedServiceTypeProperties InformixLinkedServiceTypeProperties + err = json.Unmarshal(*v, &informixLinkedServiceTypeProperties) + if err != nil { + return err + } + ils.InformixLinkedServiceTypeProperties = &informixLinkedServiceTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if ils.AdditionalProperties == nil { + ils.AdditionalProperties = make(map[string]interface{}) + } + ils.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + ils.ConnectVia = &connectVia + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + ils.Description = &description + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + ils.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + ils.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ils.Type = typeVar + } + } + } + + return nil +} + +// InformixLinkedServiceTypeProperties informix linked service properties. +type InformixLinkedServiceTypeProperties struct { + // ConnectionString - The non-access credential portion of the connection string as well as an optional encrypted credential. Type: string, SecureString or AzureKeyVaultSecretReference. + ConnectionString interface{} `json:"connectionString,omitempty"` + // AuthenticationType - Type of authentication used to connect to the Informix as ODBC data store. Possible values are: Anonymous and Basic. Type: string (or Expression with resultType string). + AuthenticationType interface{} `json:"authenticationType,omitempty"` + // Credential - The access credential portion of the connection string specified in driver-specific property-value format. + Credential BasicSecretBase `json:"credential,omitempty"` + // UserName - User name for Basic authentication. Type: string (or Expression with resultType string). + UserName interface{} `json:"userName,omitempty"` + // Password - Password for Basic authentication. + Password BasicSecretBase `json:"password,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for InformixLinkedServiceTypeProperties struct. +func (ilstp *InformixLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "connectionString": + if v != nil { + var connectionString interface{} + err = json.Unmarshal(*v, &connectionString) + if err != nil { + return err + } + ilstp.ConnectionString = connectionString + } + case "authenticationType": + if v != nil { + var authenticationType interface{} + err = json.Unmarshal(*v, &authenticationType) + if err != nil { + return err + } + ilstp.AuthenticationType = authenticationType + } + case "credential": + if v != nil { + credential, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + ilstp.Credential = credential + } + case "userName": + if v != nil { + var userName interface{} + err = json.Unmarshal(*v, &userName) + if err != nil { + return err + } + ilstp.UserName = userName + } + case "password": + if v != nil { + password, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + ilstp.Password = password + } + case "encryptedCredential": + if v != nil { + var encryptedCredential interface{} + err = json.Unmarshal(*v, &encryptedCredential) + if err != nil { + return err + } + ilstp.EncryptedCredential = encryptedCredential + } + } + } + + return nil +} + +// InformixSink a copy activity Informix sink. +type InformixSink struct { + // PreCopyScript - A query to execute before starting the copy. Type: string (or Expression with resultType string). + PreCopyScript interface{} `json:"preCopyScript,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0. + WriteBatchSize interface{} `json:"writeBatchSize,omitempty"` + // WriteBatchTimeout - Write batch timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"` + // SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer). + SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"` + // SinkRetryWait - Sink retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeCosmosDbSQLAPISink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAvroSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzureMySQLSink', 'TypeAzurePostgreSQLSink', 'TypeOrcSink', 'TypeJSONSink', 'TypeDelimitedTextSink' + Type TypeBasicCopySink `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for InformixSink. +func (is InformixSink) MarshalJSON() ([]byte, error) { + is.Type = TypeInformixSink + objectMap := make(map[string]interface{}) + if is.PreCopyScript != nil { + objectMap["preCopyScript"] = is.PreCopyScript + } + if is.WriteBatchSize != nil { + objectMap["writeBatchSize"] = is.WriteBatchSize + } + if is.WriteBatchTimeout != nil { + objectMap["writeBatchTimeout"] = is.WriteBatchTimeout + } + if is.SinkRetryCount != nil { + objectMap["sinkRetryCount"] = is.SinkRetryCount + } + if is.SinkRetryWait != nil { + objectMap["sinkRetryWait"] = is.SinkRetryWait + } + if is.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = is.MaxConcurrentConnections + } + if is.Type != "" { + objectMap["type"] = is.Type + } + for k, v := range is.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for InformixSink. +func (is InformixSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSink is the BasicCopySink implementation for InformixSink. +func (is InformixSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) { + return nil, false +} + +// AsSalesforceSink is the BasicCopySink implementation for InformixSink. +func (is InformixSink) AsSalesforceSink() (*SalesforceSink, bool) { + return nil, false +} + +// AsAzureDataExplorerSink is the BasicCopySink implementation for InformixSink. +func (is InformixSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSink is the BasicCopySink implementation for InformixSink. +func (is InformixSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) { + return nil, false +} + +// AsDynamicsCrmSink is the BasicCopySink implementation for InformixSink. +func (is InformixSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) { + return nil, false +} + +// AsDynamicsSink is the BasicCopySink implementation for InformixSink. +func (is InformixSink) AsDynamicsSink() (*DynamicsSink, bool) { + return nil, false +} + +// AsMicrosoftAccessSink is the BasicCopySink implementation for InformixSink. +func (is InformixSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) { + return nil, false +} + +// AsInformixSink is the BasicCopySink implementation for InformixSink. +func (is InformixSink) AsInformixSink() (*InformixSink, bool) { + return &is, true +} + +// AsOdbcSink is the BasicCopySink implementation for InformixSink. +func (is InformixSink) AsOdbcSink() (*OdbcSink, bool) { + return nil, false +} + +// AsAzureSearchIndexSink is the BasicCopySink implementation for InformixSink. +func (is InformixSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) { + return nil, false +} + +// AsAzureBlobFSSink is the BasicCopySink implementation for InformixSink. +func (is InformixSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSink is the BasicCopySink implementation for InformixSink. +func (is InformixSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) { + return nil, false +} + +// AsOracleSink is the BasicCopySink implementation for InformixSink. +func (is InformixSink) AsOracleSink() (*OracleSink, bool) { + return nil, false +} + +// AsSQLDWSink is the BasicCopySink implementation for InformixSink. +func (is InformixSink) AsSQLDWSink() (*SQLDWSink, bool) { + return nil, false +} + +// AsSQLMISink is the BasicCopySink implementation for InformixSink. +func (is InformixSink) AsSQLMISink() (*SQLMISink, bool) { + return nil, false +} + +// AsAzureSQLSink is the BasicCopySink implementation for InformixSink. +func (is InformixSink) AsAzureSQLSink() (*AzureSQLSink, bool) { + return nil, false +} + +// AsSQLServerSink is the BasicCopySink implementation for InformixSink. +func (is InformixSink) AsSQLServerSink() (*SQLServerSink, bool) { + return nil, false +} + +// AsSQLSink is the BasicCopySink implementation for InformixSink. +func (is InformixSink) AsSQLSink() (*SQLSink, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISink is the BasicCopySink implementation for InformixSink. +func (is InformixSink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) { + return nil, false +} + +// AsDocumentDbCollectionSink is the BasicCopySink implementation for InformixSink. +func (is InformixSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) { + return nil, false +} + +// AsFileSystemSink is the BasicCopySink implementation for InformixSink. +func (is InformixSink) AsFileSystemSink() (*FileSystemSink, bool) { + return nil, false +} + +// AsBlobSink is the BasicCopySink implementation for InformixSink. +func (is InformixSink) AsBlobSink() (*BlobSink, bool) { + return nil, false +} + +// AsBinarySink is the BasicCopySink implementation for InformixSink. +func (is InformixSink) AsBinarySink() (*BinarySink, bool) { + return nil, false +} + +// AsParquetSink is the BasicCopySink implementation for InformixSink. +func (is InformixSink) AsParquetSink() (*ParquetSink, bool) { + return nil, false +} + +// AsAvroSink is the BasicCopySink implementation for InformixSink. +func (is InformixSink) AsAvroSink() (*AvroSink, bool) { + return nil, false +} + +// AsAzureTableSink is the BasicCopySink implementation for InformixSink. +func (is InformixSink) AsAzureTableSink() (*AzureTableSink, bool) { + return nil, false +} + +// AsAzureQueueSink is the BasicCopySink implementation for InformixSink. +func (is InformixSink) AsAzureQueueSink() (*AzureQueueSink, bool) { + return nil, false +} + +// AsSapCloudForCustomerSink is the BasicCopySink implementation for InformixSink. +func (is InformixSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) { + return nil, false +} + +// AsAzureMySQLSink is the BasicCopySink implementation for InformixSink. +func (is InformixSink) AsAzureMySQLSink() (*AzureMySQLSink, bool) { + return nil, false +} + +// AsAzurePostgreSQLSink is the BasicCopySink implementation for InformixSink. +func (is InformixSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) { + return nil, false +} + +// AsOrcSink is the BasicCopySink implementation for InformixSink. +func (is InformixSink) AsOrcSink() (*OrcSink, bool) { + return nil, false +} + +// AsJSONSink is the BasicCopySink implementation for InformixSink. +func (is InformixSink) AsJSONSink() (*JSONSink, bool) { + return nil, false +} + +// AsDelimitedTextSink is the BasicCopySink implementation for InformixSink. +func (is InformixSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) { + return nil, false +} + +// AsCopySink is the BasicCopySink implementation for InformixSink. +func (is InformixSink) AsCopySink() (*CopySink, bool) { + return nil, false +} + +// AsBasicCopySink is the BasicCopySink implementation for InformixSink. +func (is InformixSink) AsBasicCopySink() (BasicCopySink, bool) { + return &is, true +} + +// UnmarshalJSON is the custom unmarshaler for InformixSink struct. +func (is *InformixSink) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "preCopyScript": + if v != nil { + var preCopyScript interface{} + err = json.Unmarshal(*v, &preCopyScript) + if err != nil { + return err + } + is.PreCopyScript = preCopyScript + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if is.AdditionalProperties == nil { + is.AdditionalProperties = make(map[string]interface{}) + } + is.AdditionalProperties[k] = additionalProperties + } + case "writeBatchSize": + if v != nil { + var writeBatchSize interface{} + err = json.Unmarshal(*v, &writeBatchSize) + if err != nil { + return err + } + is.WriteBatchSize = writeBatchSize + } + case "writeBatchTimeout": + if v != nil { + var writeBatchTimeout interface{} + err = json.Unmarshal(*v, &writeBatchTimeout) + if err != nil { + return err + } + is.WriteBatchTimeout = writeBatchTimeout + } + case "sinkRetryCount": + if v != nil { + var sinkRetryCount interface{} + err = json.Unmarshal(*v, &sinkRetryCount) + if err != nil { + return err + } + is.SinkRetryCount = sinkRetryCount + } + case "sinkRetryWait": + if v != nil { + var sinkRetryWait interface{} + err = json.Unmarshal(*v, &sinkRetryWait) + if err != nil { + return err + } + is.SinkRetryWait = sinkRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + is.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySink + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + is.Type = typeVar + } + } + } + + return nil +} + +// InformixSource a copy activity source for Informix. +type InformixSource struct { + // Query - Database query. Type: string (or Expression with resultType string). + Query interface{} `json:"query,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' + Type TypeBasicCopySource `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for InformixSource. +func (is InformixSource) MarshalJSON() ([]byte, error) { + is.Type = TypeInformixSource + objectMap := make(map[string]interface{}) + if is.Query != nil { + objectMap["query"] = is.Query + } + if is.QueryTimeout != nil { + objectMap["queryTimeout"] = is.QueryTimeout + } + if is.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = is.SourceRetryCount + } + if is.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = is.SourceRetryWait + } + if is.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = is.MaxConcurrentConnections + } + if is.Type != "" { + objectMap["type"] = is.Type + } + for k, v := range is.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHTTPSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + +// AsAmazonRedshiftSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { + return nil, false +} + +// AsGoogleAdWordsSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { + return nil, false +} + +// AsOracleServiceCloudSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { + return nil, false +} + +// AsDynamicsAXSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { + return nil, false +} + +// AsResponsysSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsResponsysSource() (*ResponsysSource, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { + return nil, false +} + +// AsVerticaSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsVerticaSource() (*VerticaSource, bool) { + return nil, false +} + +// AsNetezzaSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsNetezzaSource() (*NetezzaSource, bool) { + return nil, false +} + +// AsZohoSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsZohoSource() (*ZohoSource, bool) { + return nil, false +} + +// AsXeroSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsXeroSource() (*XeroSource, bool) { + return nil, false +} + +// AsSquareSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsSquareSource() (*SquareSource, bool) { + return nil, false +} + +// AsSparkSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsSparkSource() (*SparkSource, bool) { + return nil, false +} + +// AsShopifySource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsShopifySource() (*ShopifySource, bool) { + return nil, false +} + +// AsServiceNowSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsServiceNowSource() (*ServiceNowSource, bool) { + return nil, false +} + +// AsQuickBooksSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsQuickBooksSource() (*QuickBooksSource, bool) { + return nil, false +} + +// AsPrestoSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsPrestoSource() (*PrestoSource, bool) { + return nil, false +} + +// AsPhoenixSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsPhoenixSource() (*PhoenixSource, bool) { + return nil, false +} + +// AsPaypalSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsPaypalSource() (*PaypalSource, bool) { + return nil, false +} + +// AsMarketoSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsMarketoSource() (*MarketoSource, bool) { + return nil, false +} + +// AsAzureMariaDBSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { + return nil, false +} + +// AsMariaDBSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsMariaDBSource() (*MariaDBSource, bool) { + return nil, false +} + +// AsMagentoSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsMagentoSource() (*MagentoSource, bool) { + return nil, false +} + +// AsJiraSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsJiraSource() (*JiraSource, bool) { + return nil, false +} + +// AsImpalaSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsImpalaSource() (*ImpalaSource, bool) { + return nil, false +} + +// AsHubspotSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsHubspotSource() (*HubspotSource, bool) { + return nil, false +} + +// AsHiveSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsHiveSource() (*HiveSource, bool) { + return nil, false +} + +// AsHBaseSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsHBaseSource() (*HBaseSource, bool) { + return nil, false +} + +// AsGreenplumSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsGreenplumSource() (*GreenplumSource, bool) { + return nil, false +} + +// AsGoogleBigQuerySource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { + return nil, false +} + +// AsEloquaSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsEloquaSource() (*EloquaSource, bool) { + return nil, false +} + +// AsDrillSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsDrillSource() (*DrillSource, bool) { + return nil, false +} + +// AsCouchbaseSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsCouchbaseSource() (*CouchbaseSource, bool) { + return nil, false +} + +// AsConcurSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsConcurSource() (*ConcurSource, bool) { + return nil, false +} + +// AsAzurePostgreSQLSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { + return nil, false +} + +// AsAmazonMWSSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { + return nil, false +} + +// AsCassandraSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsCassandraSource() (*CassandraSource, bool) { + return nil, false +} + +// AsTeradataSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsTeradataSource() (*TeradataSource, bool) { + return nil, false +} + +// AsAzureMySQLSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { + return nil, false +} + +// AsSQLDWSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsSQLDWSource() (*SQLDWSource, bool) { + return nil, false +} + +// AsSQLMISource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsSQLMISource() (*SQLMISource, bool) { + return nil, false +} + +// AsAzureSQLSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsAzureSQLSource() (*AzureSQLSource, bool) { + return nil, false +} + +// AsSQLServerSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsSQLServerSource() (*SQLServerSource, bool) { + return nil, false +} + +// AsSQLSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsSQLSource() (*SQLSource, bool) { + return nil, false +} + +// AsSapTableSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsSapTableSource() (*SapTableSource, bool) { + return nil, false +} + +// AsSapOpenHubSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { + return nil, false +} + +// AsSapHanaSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsSapHanaSource() (*SapHanaSource, bool) { + return nil, false +} + +// AsSapEccSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsSapEccSource() (*SapEccSource, bool) { + return nil, false +} + +// AsSapCloudForCustomerSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { + return nil, false +} + +// AsSalesforceSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsSalesforceSource() (*SalesforceSource, bool) { + return nil, false +} + +// AsSapBwSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsSapBwSource() (*SapBwSource, bool) { + return nil, false +} + +// AsSybaseSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsSybaseSource() (*SybaseSource, bool) { + return nil, false +} + +// AsPostgreSQLSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { + return nil, false +} + +// AsMySQLSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsMySQLSource() (*MySQLSource, bool) { + return nil, false +} + +// AsOdbcSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsOdbcSource() (*OdbcSource, bool) { + return nil, false +} + +// AsDb2Source is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsDb2Source() (*Db2Source, bool) { + return nil, false +} + +// AsInformixSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsInformixSource() (*InformixSource, bool) { + return &is, true +} + +// AsAzureTableSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsAzureTableSource() (*AzureTableSource, bool) { + return nil, false +} + +// AsTabularSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsTabularSource() (*TabularSource, bool) { + return nil, false +} + +// AsBasicTabularSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &is, true +} + +// AsBinarySource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsBinarySource() (*BinarySource, bool) { + return nil, false +} + +// AsOrcSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsOrcSource() (*OrcSource, bool) { + return nil, false +} + +// AsJSONSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsJSONSource() (*JSONSource, bool) { + return nil, false +} + +// AsDelimitedTextSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false +} + +// AsParquetSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for InformixSource. +func (is InformixSource) AsBasicCopySource() (BasicCopySource, bool) { + return &is, true +} + +// UnmarshalJSON is the custom unmarshaler for InformixSource struct. +func (is *InformixSource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "query": + if v != nil { + var query interface{} + err = json.Unmarshal(*v, &query) + if err != nil { + return err + } + is.Query = query + } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + is.QueryTimeout = queryTimeout + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if is.AdditionalProperties == nil { + is.AdditionalProperties = make(map[string]interface{}) + } + is.AdditionalProperties[k] = additionalProperties + } + case "sourceRetryCount": + if v != nil { + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) + if err != nil { + return err + } + is.SourceRetryCount = sourceRetryCount + } + case "sourceRetryWait": + if v != nil { + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) + if err != nil { + return err + } + is.SourceRetryWait = sourceRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + is.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySource + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + is.Type = typeVar + } + } + } + + return nil +} + +// InformixTableDataset the Informix table dataset. +type InformixTableDataset struct { + // InformixTableDatasetTypeProperties - Informix table dataset properties. + *InformixTableDatasetTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - Dataset description. + Description *string `json:"description,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' + Type TypeBasicDataset `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for InformixTableDataset. +func (itd InformixTableDataset) MarshalJSON() ([]byte, error) { + itd.Type = TypeInformixTable + objectMap := make(map[string]interface{}) + if itd.InformixTableDatasetTypeProperties != nil { + objectMap["typeProperties"] = itd.InformixTableDatasetTypeProperties + } + if itd.Description != nil { + objectMap["description"] = itd.Description + } + if itd.Structure != nil { + objectMap["structure"] = itd.Structure + } + if itd.Schema != nil { + objectMap["schema"] = itd.Schema + } + if itd.LinkedServiceName != nil { + objectMap["linkedServiceName"] = itd.LinkedServiceName + } + if itd.Parameters != nil { + objectMap["parameters"] = itd.Parameters + } + if itd.Annotations != nil { + objectMap["annotations"] = itd.Annotations + } + if itd.Folder != nil { + objectMap["folder"] = itd.Folder + } + if itd.Type != "" { + objectMap["type"] = itd.Type + } + for k, v := range itd.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { + return nil, false +} + +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { + return nil, false +} + +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsDynamicsAXResourceDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { + return nil, false +} + +// AsResponsysObjectDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { + return nil, false +} + +// AsVerticaTableDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { + return nil, false +} + +// AsNetezzaTableDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { + return nil, false +} + +// AsZohoObjectDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { + return nil, false +} + +// AsXeroObjectDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { + return nil, false +} + +// AsSquareObjectDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { + return nil, false +} + +// AsSparkObjectDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { + return nil, false +} + +// AsShopifyObjectDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { + return nil, false +} + +// AsServiceNowObjectDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { + return nil, false +} + +// AsQuickBooksObjectDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { + return nil, false +} + +// AsPrestoObjectDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { + return nil, false +} + +// AsPhoenixObjectDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { + return nil, false +} + +// AsPaypalObjectDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { + return nil, false +} + +// AsMarketoObjectDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { + return nil, false +} + +// AsAzureMariaDBTableDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { + return nil, false +} + +// AsMariaDBTableDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { + return nil, false +} + +// AsMagentoObjectDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { + return nil, false +} + +// AsJiraObjectDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { + return nil, false +} + +// AsImpalaObjectDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { + return nil, false +} + +// AsHubspotObjectDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { + return nil, false +} + +// AsHiveObjectDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { + return nil, false +} + +// AsHBaseObjectDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { + return nil, false +} + +// AsGreenplumTableDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { + return nil, false +} + +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { + return nil, false +} + +// AsEloquaObjectDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { + return nil, false +} + +// AsDrillTableDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { + return nil, false +} + +// AsCouchbaseTableDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { + return nil, false +} + +// AsConcurObjectDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { + return nil, false +} + +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { + return nil, false +} + +// AsAmazonMWSObjectDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { + return nil, false +} + +// AsHTTPDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsHTTPDataset() (*HTTPDataset, bool) { + return nil, false +} + +// AsAzureSearchIndexDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { + return nil, false +} + +// AsWebTableDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsWebTableDataset() (*WebTableDataset, bool) { + return nil, false +} + +// AsSapTableResourceDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { + return nil, false +} + +// AsRestResourceDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { + return nil, false +} + +// AsSQLServerTableDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { + return nil, false +} + +// AsSapOpenHubTableDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { + return nil, false +} + +// AsSapHanaTableDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { + return nil, false +} + +// AsSapEccResourceDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { + return nil, false +} + +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { + return nil, false +} + +// AsSapBwCubeDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { + return nil, false +} + +// AsSybaseTableDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { + return nil, false +} + +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsSalesforceObjectDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { + return nil, false +} + +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { + return nil, false +} + +// AsPostgreSQLTableDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { + return nil, false +} + +// AsMySQLTableDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { + return nil, false +} + +// AsOdbcTableDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { + return nil, false +} + +// AsInformixTableDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { + return &itd, true +} + +// AsRelationalTableDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { + return nil, false +} + +// AsDb2TableDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + +// AsAzureMySQLTableDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { + return nil, false +} + +// AsTeradataTableDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { + return nil, false +} + +// AsOracleTableDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { + return nil, false +} + +// AsODataResourceDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { + return nil, false +} + +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { + return nil, false +} + +// AsMongoDbCollectionDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { + return nil, false +} + +// AsFileShareDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsFileShareDataset() (*FileShareDataset, bool) { + return nil, false +} + +// AsOffice365Dataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsOffice365Dataset() (*Office365Dataset, bool) { + return nil, false +} + +// AsAzureBlobFSDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) { + return nil, false +} + +// AsAzureDataLakeStoreDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { + return nil, false +} + +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { + return nil, false +} + +// AsDynamicsEntityDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { + return nil, false +} + +// AsDocumentDbCollectionDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { + return nil, false +} + +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + +// AsCustomDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsCustomDataset() (*CustomDataset, bool) { + return nil, false +} + +// AsCassandraTableDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { + return nil, false +} + +// AsAzureSQLDWTableDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { + return nil, false +} + +// AsAzureSQLMITableDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { + return nil, false +} + +// AsAzureSQLTableDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { + return nil, false +} + +// AsAzureTableDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { + return nil, false +} + +// AsAzureBlobDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) { + return nil, false +} + +// AsBinaryDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsBinaryDataset() (*BinaryDataset, bool) { + return nil, false +} + +// AsOrcDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + +// AsDelimitedTextDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { + return nil, false +} + +// AsParquetDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsParquetDataset() (*ParquetDataset, bool) { + return nil, false +} + +// AsAvroDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsAvroDataset() (*AvroDataset, bool) { + return nil, false +} + +// AsAmazonS3Dataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) { + return nil, false +} + +// AsDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsDataset() (*Dataset, bool) { + return nil, false +} + +// AsBasicDataset is the BasicDataset implementation for InformixTableDataset. +func (itd InformixTableDataset) AsBasicDataset() (BasicDataset, bool) { + return &itd, true +} + +// UnmarshalJSON is the custom unmarshaler for InformixTableDataset struct. +func (itd *InformixTableDataset) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var informixTableDatasetTypeProperties InformixTableDatasetTypeProperties + err = json.Unmarshal(*v, &informixTableDatasetTypeProperties) + if err != nil { + return err + } + itd.InformixTableDatasetTypeProperties = &informixTableDatasetTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if itd.AdditionalProperties == nil { + itd.AdditionalProperties = make(map[string]interface{}) + } + itd.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + itd.Description = &description + } + case "structure": + if v != nil { + var structure interface{} + err = json.Unmarshal(*v, &structure) + if err != nil { + return err + } + itd.Structure = structure + } + case "schema": + if v != nil { + var schema interface{} + err = json.Unmarshal(*v, &schema) + if err != nil { + return err + } + itd.Schema = schema + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + itd.LinkedServiceName = &linkedServiceName + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + itd.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + itd.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + itd.Folder = &folder + } + case "type": + if v != nil { + var typeVar TypeBasicDataset + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + itd.Type = typeVar + } + } + } + + return nil +} + +// InformixTableDatasetTypeProperties informix table dataset properties. +type InformixTableDatasetTypeProperties struct { + // TableName - The Informix table name. Type: string (or Expression with resultType string). + TableName interface{} `json:"tableName,omitempty"` +} + +// BasicIntegrationRuntime azure Data Factory nested object which serves as a compute resource for activities. +type BasicIntegrationRuntime interface { + AsSelfHostedIntegrationRuntime() (*SelfHostedIntegrationRuntime, bool) + AsManagedIntegrationRuntime() (*ManagedIntegrationRuntime, bool) + AsIntegrationRuntime() (*IntegrationRuntime, bool) +} + +// IntegrationRuntime azure Data Factory nested object which serves as a compute resource for activities. +type IntegrationRuntime struct { + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - Integration runtime description. + Description *string `json:"description,omitempty"` + // Type - Possible values include: 'TypeIntegrationRuntime', 'TypeSelfHosted', 'TypeManaged' + Type TypeBasicIntegrationRuntime `json:"type,omitempty"` +} + +func unmarshalBasicIntegrationRuntime(body []byte) (BasicIntegrationRuntime, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["type"] { + case string(TypeSelfHosted): + var shir SelfHostedIntegrationRuntime + err := json.Unmarshal(body, &shir) + return shir, err + case string(TypeManaged): + var mir ManagedIntegrationRuntime + err := json.Unmarshal(body, &mir) + return mir, err + default: + var ir IntegrationRuntime + err := json.Unmarshal(body, &ir) + return ir, err + } +} +func unmarshalBasicIntegrationRuntimeArray(body []byte) ([]BasicIntegrationRuntime, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + irArray := make([]BasicIntegrationRuntime, len(rawMessages)) + + for index, rawMessage := range rawMessages { + ir, err := unmarshalBasicIntegrationRuntime(*rawMessage) + if err != nil { + return nil, err + } + irArray[index] = ir + } + return irArray, nil +} + +// MarshalJSON is the custom marshaler for IntegrationRuntime. +func (ir IntegrationRuntime) MarshalJSON() ([]byte, error) { + ir.Type = TypeIntegrationRuntime + objectMap := make(map[string]interface{}) + if ir.Description != nil { + objectMap["description"] = ir.Description + } + if ir.Type != "" { + objectMap["type"] = ir.Type + } + for k, v := range ir.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsSelfHostedIntegrationRuntime is the BasicIntegrationRuntime implementation for IntegrationRuntime. +func (ir IntegrationRuntime) AsSelfHostedIntegrationRuntime() (*SelfHostedIntegrationRuntime, bool) { + return nil, false +} + +// AsManagedIntegrationRuntime is the BasicIntegrationRuntime implementation for IntegrationRuntime. +func (ir IntegrationRuntime) AsManagedIntegrationRuntime() (*ManagedIntegrationRuntime, bool) { + return nil, false +} + +// AsIntegrationRuntime is the BasicIntegrationRuntime implementation for IntegrationRuntime. +func (ir IntegrationRuntime) AsIntegrationRuntime() (*IntegrationRuntime, bool) { + return &ir, true +} + +// AsBasicIntegrationRuntime is the BasicIntegrationRuntime implementation for IntegrationRuntime. +func (ir IntegrationRuntime) AsBasicIntegrationRuntime() (BasicIntegrationRuntime, bool) { + return &ir, true +} + +// UnmarshalJSON is the custom unmarshaler for IntegrationRuntime struct. +func (ir *IntegrationRuntime) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if ir.AdditionalProperties == nil { + ir.AdditionalProperties = make(map[string]interface{}) + } + ir.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + ir.Description = &description + } + case "type": + if v != nil { + var typeVar TypeBasicIntegrationRuntime + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ir.Type = typeVar + } + } + } + + return nil +} + +// IntegrationRuntimeAuthKeys the integration runtime authentication keys. +type IntegrationRuntimeAuthKeys struct { + autorest.Response `json:"-"` + // AuthKey1 - The primary integration runtime authentication key. + AuthKey1 *string `json:"authKey1,omitempty"` + // AuthKey2 - The secondary integration runtime authentication key. + AuthKey2 *string `json:"authKey2,omitempty"` +} + +// IntegrationRuntimeComputeProperties the compute resource properties for managed integration runtime. +type IntegrationRuntimeComputeProperties struct { + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Location - The location for managed integration runtime. The supported regions could be found on https://docs.microsoft.com/en-us/azure/data-factory/data-factory-data-movement-activities + Location *string `json:"location,omitempty"` + // NodeSize - The node size requirement to managed integration runtime. + NodeSize *string `json:"nodeSize,omitempty"` + // NumberOfNodes - The required number of nodes for managed integration runtime. + NumberOfNodes *int32 `json:"numberOfNodes,omitempty"` + // MaxParallelExecutionsPerNode - Maximum parallel executions count per node for managed integration runtime. + MaxParallelExecutionsPerNode *int32 `json:"maxParallelExecutionsPerNode,omitempty"` + // DataFlowProperties - Data flow properties for managed integration runtime. + DataFlowProperties *IntegrationRuntimeDataFlowProperties `json:"dataFlowProperties,omitempty"` + // VNetProperties - VNet properties for managed integration runtime. + VNetProperties *IntegrationRuntimeVNetProperties `json:"vNetProperties,omitempty"` +} + +// MarshalJSON is the custom marshaler for IntegrationRuntimeComputeProperties. +func (ircp IntegrationRuntimeComputeProperties) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if ircp.Location != nil { + objectMap["location"] = ircp.Location + } + if ircp.NodeSize != nil { + objectMap["nodeSize"] = ircp.NodeSize + } + if ircp.NumberOfNodes != nil { + objectMap["numberOfNodes"] = ircp.NumberOfNodes + } + if ircp.MaxParallelExecutionsPerNode != nil { + objectMap["maxParallelExecutionsPerNode"] = ircp.MaxParallelExecutionsPerNode + } + if ircp.DataFlowProperties != nil { + objectMap["dataFlowProperties"] = ircp.DataFlowProperties + } + if ircp.VNetProperties != nil { + objectMap["vNetProperties"] = ircp.VNetProperties + } + for k, v := range ircp.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for IntegrationRuntimeComputeProperties struct. +func (ircp *IntegrationRuntimeComputeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if ircp.AdditionalProperties == nil { + ircp.AdditionalProperties = make(map[string]interface{}) + } + ircp.AdditionalProperties[k] = additionalProperties + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + ircp.Location = &location + } + case "nodeSize": + if v != nil { + var nodeSize string + err = json.Unmarshal(*v, &nodeSize) + if err != nil { + return err + } + ircp.NodeSize = &nodeSize + } + case "numberOfNodes": + if v != nil { + var numberOfNodes int32 + err = json.Unmarshal(*v, &numberOfNodes) + if err != nil { + return err + } + ircp.NumberOfNodes = &numberOfNodes + } + case "maxParallelExecutionsPerNode": + if v != nil { + var maxParallelExecutionsPerNode int32 + err = json.Unmarshal(*v, &maxParallelExecutionsPerNode) + if err != nil { + return err + } + ircp.MaxParallelExecutionsPerNode = &maxParallelExecutionsPerNode + } + case "dataFlowProperties": + if v != nil { + var dataFlowProperties IntegrationRuntimeDataFlowProperties + err = json.Unmarshal(*v, &dataFlowProperties) + if err != nil { + return err + } + ircp.DataFlowProperties = &dataFlowProperties + } + case "vNetProperties": + if v != nil { + var vNetProperties IntegrationRuntimeVNetProperties + err = json.Unmarshal(*v, &vNetProperties) + if err != nil { + return err + } + ircp.VNetProperties = &vNetProperties + } + } + } + + return nil +} + +// IntegrationRuntimeConnectionInfo connection information for encrypting the on-premises data source +// credentials. +type IntegrationRuntimeConnectionInfo struct { + autorest.Response `json:"-"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ServiceToken - READ-ONLY; The token generated in service. Callers use this token to authenticate to integration runtime. + ServiceToken *string `json:"serviceToken,omitempty"` + // IdentityCertThumbprint - READ-ONLY; The integration runtime SSL certificate thumbprint. Click-Once application uses it to do server validation. + IdentityCertThumbprint *string `json:"identityCertThumbprint,omitempty"` + // HostServiceURI - READ-ONLY; The on-premises integration runtime host URL. + HostServiceURI *string `json:"hostServiceUri,omitempty"` + // Version - READ-ONLY; The integration runtime version. + Version *string `json:"version,omitempty"` + // PublicKey - READ-ONLY; The public key for encrypting a credential when transferring the credential to the integration runtime. + PublicKey *string `json:"publicKey,omitempty"` + // IsIdentityCertExprired - READ-ONLY; Whether the identity certificate is expired. + IsIdentityCertExprired *bool `json:"isIdentityCertExprired,omitempty"` +} + +// MarshalJSON is the custom marshaler for IntegrationRuntimeConnectionInfo. +func (irci IntegrationRuntimeConnectionInfo) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + for k, v := range irci.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for IntegrationRuntimeConnectionInfo struct. +func (irci *IntegrationRuntimeConnectionInfo) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if irci.AdditionalProperties == nil { + irci.AdditionalProperties = make(map[string]interface{}) + } + irci.AdditionalProperties[k] = additionalProperties + } + case "serviceToken": + if v != nil { + var serviceToken string + err = json.Unmarshal(*v, &serviceToken) + if err != nil { + return err + } + irci.ServiceToken = &serviceToken + } + case "identityCertThumbprint": + if v != nil { + var identityCertThumbprint string + err = json.Unmarshal(*v, &identityCertThumbprint) + if err != nil { + return err + } + irci.IdentityCertThumbprint = &identityCertThumbprint + } + case "hostServiceUri": + if v != nil { + var hostServiceURI string + err = json.Unmarshal(*v, &hostServiceURI) + if err != nil { + return err + } + irci.HostServiceURI = &hostServiceURI + } + case "version": + if v != nil { + var version string + err = json.Unmarshal(*v, &version) + if err != nil { + return err + } + irci.Version = &version + } + case "publicKey": + if v != nil { + var publicKey string + err = json.Unmarshal(*v, &publicKey) + if err != nil { + return err + } + irci.PublicKey = &publicKey + } + case "isIdentityCertExprired": + if v != nil { + var isIdentityCertExprired bool + err = json.Unmarshal(*v, &isIdentityCertExprired) + if err != nil { + return err + } + irci.IsIdentityCertExprired = &isIdentityCertExprired + } + } + } + + return nil +} + +// IntegrationRuntimeCustomSetupScriptProperties custom setup script properties for a managed dedicated +// integration runtime. +type IntegrationRuntimeCustomSetupScriptProperties struct { + // BlobContainerURI - The URI of the Azure blob container that contains the custom setup script. + BlobContainerURI *string `json:"blobContainerUri,omitempty"` + // SasToken - The SAS token of the Azure blob container. + SasToken *SecureString `json:"sasToken,omitempty"` +} + +// IntegrationRuntimeDataFlowProperties data flow properties for managed integration runtime. +type IntegrationRuntimeDataFlowProperties struct { + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ComputeType - Compute type of the cluster which will execute data flow job. Possible values include: 'General', 'MemoryOptimized', 'ComputeOptimized' + ComputeType DataFlowComputeType `json:"computeType,omitempty"` + // CoreCount - Core count of the cluster which will execute data flow job. Supported values are: 8, 16, 32, 48, 80, 144 and 272. + CoreCount *int32 `json:"coreCount,omitempty"` + // TimeToLive - Time to live (in minutes) setting of the cluster which will execute data flow job. + TimeToLive *int32 `json:"timeToLive,omitempty"` +} + +// MarshalJSON is the custom marshaler for IntegrationRuntimeDataFlowProperties. +func (irdfp IntegrationRuntimeDataFlowProperties) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if irdfp.ComputeType != "" { + objectMap["computeType"] = irdfp.ComputeType + } + if irdfp.CoreCount != nil { + objectMap["coreCount"] = irdfp.CoreCount + } + if irdfp.TimeToLive != nil { + objectMap["timeToLive"] = irdfp.TimeToLive + } + for k, v := range irdfp.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for IntegrationRuntimeDataFlowProperties struct. +func (irdfp *IntegrationRuntimeDataFlowProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if irdfp.AdditionalProperties == nil { + irdfp.AdditionalProperties = make(map[string]interface{}) + } + irdfp.AdditionalProperties[k] = additionalProperties + } + case "computeType": + if v != nil { + var computeType DataFlowComputeType + err = json.Unmarshal(*v, &computeType) + if err != nil { + return err + } + irdfp.ComputeType = computeType + } + case "coreCount": + if v != nil { + var coreCount int32 + err = json.Unmarshal(*v, &coreCount) + if err != nil { + return err + } + irdfp.CoreCount = &coreCount + } + case "timeToLive": + if v != nil { + var timeToLive int32 + err = json.Unmarshal(*v, &timeToLive) + if err != nil { + return err + } + irdfp.TimeToLive = &timeToLive + } + } + } + + return nil +} + +// IntegrationRuntimeDataProxyProperties data proxy properties for a managed dedicated integration runtime. +type IntegrationRuntimeDataProxyProperties struct { + // ConnectVia - The self-hosted integration runtime reference. + ConnectVia *EntityReference `json:"connectVia,omitempty"` + // StagingLinkedService - The staging linked service reference. + StagingLinkedService *EntityReference `json:"stagingLinkedService,omitempty"` + // Path - The path to contain the staged data in the Blob storage. + Path *string `json:"path,omitempty"` +} + +// IntegrationRuntimeDebugResource integration runtime debug resource. +type IntegrationRuntimeDebugResource struct { + // Properties - Integration runtime properties. + Properties BasicIntegrationRuntime `json:"properties,omitempty"` + // Name - The resource name. + Name *string `json:"name,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for IntegrationRuntimeDebugResource struct. +func (irdr *IntegrationRuntimeDebugResource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + properties, err := unmarshalBasicIntegrationRuntime(*v) + if err != nil { + return err + } + irdr.Properties = properties + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + irdr.Name = &name + } + } + } + + return nil +} + +// IntegrationRuntimeListResponse a list of integration runtime resources. +type IntegrationRuntimeListResponse struct { + autorest.Response `json:"-"` + // Value - List of integration runtimes. + Value *[]IntegrationRuntimeResource `json:"value,omitempty"` + // NextLink - The link to the next page of results, if any remaining results exist. + NextLink *string `json:"nextLink,omitempty"` +} + +// IntegrationRuntimeListResponseIterator provides access to a complete listing of +// IntegrationRuntimeResource values. +type IntegrationRuntimeListResponseIterator struct { + i int + page IntegrationRuntimeListResponsePage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *IntegrationRuntimeListResponseIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationRuntimeListResponseIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *IntegrationRuntimeListResponseIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter IntegrationRuntimeListResponseIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter IntegrationRuntimeListResponseIterator) Response() IntegrationRuntimeListResponse { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter IntegrationRuntimeListResponseIterator) Value() IntegrationRuntimeResource { + if !iter.page.NotDone() { + return IntegrationRuntimeResource{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the IntegrationRuntimeListResponseIterator type. +func NewIntegrationRuntimeListResponseIterator(page IntegrationRuntimeListResponsePage) IntegrationRuntimeListResponseIterator { + return IntegrationRuntimeListResponseIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (irlr IntegrationRuntimeListResponse) IsEmpty() bool { + return irlr.Value == nil || len(*irlr.Value) == 0 +} + +// integrationRuntimeListResponsePreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (irlr IntegrationRuntimeListResponse) integrationRuntimeListResponsePreparer(ctx context.Context) (*http.Request, error) { + if irlr.NextLink == nil || len(to.String(irlr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(irlr.NextLink))) +} + +// IntegrationRuntimeListResponsePage contains a page of IntegrationRuntimeResource values. +type IntegrationRuntimeListResponsePage struct { + fn func(context.Context, IntegrationRuntimeListResponse) (IntegrationRuntimeListResponse, error) + irlr IntegrationRuntimeListResponse +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *IntegrationRuntimeListResponsePage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationRuntimeListResponsePage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.irlr) + if err != nil { + return err + } + page.irlr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *IntegrationRuntimeListResponsePage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page IntegrationRuntimeListResponsePage) NotDone() bool { + return !page.irlr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page IntegrationRuntimeListResponsePage) Response() IntegrationRuntimeListResponse { + return page.irlr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page IntegrationRuntimeListResponsePage) Values() []IntegrationRuntimeResource { + if page.irlr.IsEmpty() { + return nil + } + return *page.irlr.Value +} + +// Creates a new instance of the IntegrationRuntimeListResponsePage type. +func NewIntegrationRuntimeListResponsePage(getNextPage func(context.Context, IntegrationRuntimeListResponse) (IntegrationRuntimeListResponse, error)) IntegrationRuntimeListResponsePage { + return IntegrationRuntimeListResponsePage{fn: getNextPage} +} + +// IntegrationRuntimeMonitoringData get monitoring data response. +type IntegrationRuntimeMonitoringData struct { + autorest.Response `json:"-"` + // Name - Integration runtime name. + Name *string `json:"name,omitempty"` + // Nodes - Integration runtime node monitoring data. + Nodes *[]IntegrationRuntimeNodeMonitoringData `json:"nodes,omitempty"` +} + +// IntegrationRuntimeNodeIPAddress the IP address of self-hosted integration runtime node. +type IntegrationRuntimeNodeIPAddress struct { + autorest.Response `json:"-"` + // IPAddress - READ-ONLY; The IP address of self-hosted integration runtime node. + IPAddress *string `json:"ipAddress,omitempty"` +} + +// IntegrationRuntimeNodeMonitoringData monitoring data for integration runtime node. +type IntegrationRuntimeNodeMonitoringData struct { + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // NodeName - READ-ONLY; Name of the integration runtime node. + NodeName *string `json:"nodeName,omitempty"` + // AvailableMemoryInMB - READ-ONLY; Available memory (MB) on the integration runtime node. + AvailableMemoryInMB *int32 `json:"availableMemoryInMB,omitempty"` + // CPUUtilization - READ-ONLY; CPU percentage on the integration runtime node. + CPUUtilization *int32 `json:"cpuUtilization,omitempty"` + // ConcurrentJobsLimit - READ-ONLY; Maximum concurrent jobs on the integration runtime node. + ConcurrentJobsLimit *int32 `json:"concurrentJobsLimit,omitempty"` + // ConcurrentJobsRunning - READ-ONLY; The number of jobs currently running on the integration runtime node. + ConcurrentJobsRunning *int32 `json:"concurrentJobsRunning,omitempty"` + // MaxConcurrentJobs - READ-ONLY; The maximum concurrent jobs in this integration runtime. + MaxConcurrentJobs *int32 `json:"maxConcurrentJobs,omitempty"` + // SentBytes - READ-ONLY; Sent bytes on the integration runtime node. + SentBytes *float64 `json:"sentBytes,omitempty"` + // ReceivedBytes - READ-ONLY; Received bytes on the integration runtime node. + ReceivedBytes *float64 `json:"receivedBytes,omitempty"` +} + +// MarshalJSON is the custom marshaler for IntegrationRuntimeNodeMonitoringData. +func (irnmd IntegrationRuntimeNodeMonitoringData) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + for k, v := range irnmd.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for IntegrationRuntimeNodeMonitoringData struct. +func (irnmd *IntegrationRuntimeNodeMonitoringData) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if irnmd.AdditionalProperties == nil { + irnmd.AdditionalProperties = make(map[string]interface{}) + } + irnmd.AdditionalProperties[k] = additionalProperties + } + case "nodeName": + if v != nil { + var nodeName string + err = json.Unmarshal(*v, &nodeName) + if err != nil { + return err + } + irnmd.NodeName = &nodeName + } + case "availableMemoryInMB": + if v != nil { + var availableMemoryInMB int32 + err = json.Unmarshal(*v, &availableMemoryInMB) + if err != nil { + return err + } + irnmd.AvailableMemoryInMB = &availableMemoryInMB + } + case "cpuUtilization": + if v != nil { + var CPUUtilization int32 + err = json.Unmarshal(*v, &CPUUtilization) + if err != nil { + return err + } + irnmd.CPUUtilization = &CPUUtilization + } + case "concurrentJobsLimit": + if v != nil { + var concurrentJobsLimit int32 + err = json.Unmarshal(*v, &concurrentJobsLimit) + if err != nil { + return err + } + irnmd.ConcurrentJobsLimit = &concurrentJobsLimit + } + case "concurrentJobsRunning": + if v != nil { + var concurrentJobsRunning int32 + err = json.Unmarshal(*v, &concurrentJobsRunning) + if err != nil { + return err + } + irnmd.ConcurrentJobsRunning = &concurrentJobsRunning + } + case "maxConcurrentJobs": + if v != nil { + var maxConcurrentJobs int32 + err = json.Unmarshal(*v, &maxConcurrentJobs) + if err != nil { + return err + } + irnmd.MaxConcurrentJobs = &maxConcurrentJobs + } + case "sentBytes": + if v != nil { + var sentBytes float64 + err = json.Unmarshal(*v, &sentBytes) + if err != nil { + return err + } + irnmd.SentBytes = &sentBytes + } + case "receivedBytes": + if v != nil { + var receivedBytes float64 + err = json.Unmarshal(*v, &receivedBytes) + if err != nil { + return err + } + irnmd.ReceivedBytes = &receivedBytes + } + } + } + + return nil +} + +// IntegrationRuntimeObjectMetadataRefreshFuture an abstraction for monitoring and retrieving the results +// of a long-running operation. +type IntegrationRuntimeObjectMetadataRefreshFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *IntegrationRuntimeObjectMetadataRefreshFuture) Result(client IntegrationRuntimeObjectMetadataClient) (somsr SsisObjectMetadataStatusResponse, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "datafactory.IntegrationRuntimeObjectMetadataRefreshFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("datafactory.IntegrationRuntimeObjectMetadataRefreshFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if somsr.Response.Response, err = future.GetResult(sender); err == nil && somsr.Response.Response.StatusCode != http.StatusNoContent { + somsr, err = client.RefreshResponder(somsr.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "datafactory.IntegrationRuntimeObjectMetadataRefreshFuture", "Result", somsr.Response.Response, "Failure responding to request") + } + } + return +} + +// IntegrationRuntimeReference integration runtime reference type. +type IntegrationRuntimeReference struct { + // Type - Type of integration runtime. + Type *string `json:"type,omitempty"` + // ReferenceName - Reference integration runtime name. + ReferenceName *string `json:"referenceName,omitempty"` + // Parameters - Arguments for integration runtime. + Parameters map[string]interface{} `json:"parameters"` +} + +// MarshalJSON is the custom marshaler for IntegrationRuntimeReference. +func (irr IntegrationRuntimeReference) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if irr.Type != nil { + objectMap["type"] = irr.Type + } + if irr.ReferenceName != nil { + objectMap["referenceName"] = irr.ReferenceName + } + if irr.Parameters != nil { + objectMap["parameters"] = irr.Parameters + } + return json.Marshal(objectMap) +} + +// IntegrationRuntimeRegenerateKeyParameters parameters to regenerate the authentication key. +type IntegrationRuntimeRegenerateKeyParameters struct { + // KeyName - The name of the authentication key to regenerate. Possible values include: 'AuthKey1', 'AuthKey2' + KeyName IntegrationRuntimeAuthKeyName `json:"keyName,omitempty"` +} + +// IntegrationRuntimeResource integration runtime resource type. +type IntegrationRuntimeResource struct { + autorest.Response `json:"-"` + // Properties - Integration runtime properties. + Properties BasicIntegrationRuntime `json:"properties,omitempty"` + // ID - READ-ONLY; The resource identifier. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; The resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; The resource type. + Type *string `json:"type,omitempty"` + // Etag - READ-ONLY; Etag identifies change in the resource. + Etag *string `json:"etag,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for IntegrationRuntimeResource struct. +func (irr *IntegrationRuntimeResource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + properties, err := unmarshalBasicIntegrationRuntime(*v) + if err != nil { + return err + } + irr.Properties = properties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + irr.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + irr.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + irr.Type = &typeVar + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + irr.Etag = &etag + } + } + } + + return nil +} + +// IntegrationRuntimeSsisCatalogInfo catalog information for managed dedicated integration runtime. +type IntegrationRuntimeSsisCatalogInfo struct { + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // CatalogServerEndpoint - The catalog database server URL. + CatalogServerEndpoint *string `json:"catalogServerEndpoint,omitempty"` + // CatalogAdminUserName - The administrator user name of catalog database. + CatalogAdminUserName *string `json:"catalogAdminUserName,omitempty"` + // CatalogAdminPassword - The password of the administrator user account of the catalog database. + CatalogAdminPassword *SecureString `json:"catalogAdminPassword,omitempty"` + // CatalogPricingTier - The pricing tier for the catalog database. The valid values could be found in https://azure.microsoft.com/en-us/pricing/details/sql-database/. Possible values include: 'IntegrationRuntimeSsisCatalogPricingTierBasic', 'IntegrationRuntimeSsisCatalogPricingTierStandard', 'IntegrationRuntimeSsisCatalogPricingTierPremium', 'IntegrationRuntimeSsisCatalogPricingTierPremiumRS' + CatalogPricingTier IntegrationRuntimeSsisCatalogPricingTier `json:"catalogPricingTier,omitempty"` +} + +// MarshalJSON is the custom marshaler for IntegrationRuntimeSsisCatalogInfo. +func (irsci IntegrationRuntimeSsisCatalogInfo) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if irsci.CatalogServerEndpoint != nil { + objectMap["catalogServerEndpoint"] = irsci.CatalogServerEndpoint + } + if irsci.CatalogAdminUserName != nil { + objectMap["catalogAdminUserName"] = irsci.CatalogAdminUserName + } + if irsci.CatalogAdminPassword != nil { + objectMap["catalogAdminPassword"] = irsci.CatalogAdminPassword + } + if irsci.CatalogPricingTier != "" { + objectMap["catalogPricingTier"] = irsci.CatalogPricingTier + } + for k, v := range irsci.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for IntegrationRuntimeSsisCatalogInfo struct. +func (irsci *IntegrationRuntimeSsisCatalogInfo) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if irsci.AdditionalProperties == nil { + irsci.AdditionalProperties = make(map[string]interface{}) + } + irsci.AdditionalProperties[k] = additionalProperties + } + case "catalogServerEndpoint": + if v != nil { + var catalogServerEndpoint string + err = json.Unmarshal(*v, &catalogServerEndpoint) + if err != nil { + return err + } + irsci.CatalogServerEndpoint = &catalogServerEndpoint + } + case "catalogAdminUserName": + if v != nil { + var catalogAdminUserName string + err = json.Unmarshal(*v, &catalogAdminUserName) + if err != nil { + return err + } + irsci.CatalogAdminUserName = &catalogAdminUserName + } + case "catalogAdminPassword": + if v != nil { + var catalogAdminPassword SecureString + err = json.Unmarshal(*v, &catalogAdminPassword) + if err != nil { + return err + } + irsci.CatalogAdminPassword = &catalogAdminPassword + } + case "catalogPricingTier": + if v != nil { + var catalogPricingTier IntegrationRuntimeSsisCatalogPricingTier + err = json.Unmarshal(*v, &catalogPricingTier) + if err != nil { + return err + } + irsci.CatalogPricingTier = catalogPricingTier + } + } + } + + return nil +} + +// IntegrationRuntimeSsisProperties SSIS properties for managed integration runtime. +type IntegrationRuntimeSsisProperties struct { + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // CatalogInfo - Catalog information for managed dedicated integration runtime. + CatalogInfo *IntegrationRuntimeSsisCatalogInfo `json:"catalogInfo,omitempty"` + // LicenseType - License type for bringing your own license scenario. Possible values include: 'BasePrice', 'LicenseIncluded' + LicenseType IntegrationRuntimeLicenseType `json:"licenseType,omitempty"` + // CustomSetupScriptProperties - Custom setup script properties for a managed dedicated integration runtime. + CustomSetupScriptProperties *IntegrationRuntimeCustomSetupScriptProperties `json:"customSetupScriptProperties,omitempty"` + // DataProxyProperties - Data proxy properties for a managed dedicated integration runtime. + DataProxyProperties *IntegrationRuntimeDataProxyProperties `json:"dataProxyProperties,omitempty"` + // Edition - The edition for the SSIS Integration Runtime. Possible values include: 'Standard', 'Enterprise' + Edition IntegrationRuntimeEdition `json:"edition,omitempty"` + // ExpressCustomSetupProperties - Custom setup without script properties for a SSIS integration runtime. + ExpressCustomSetupProperties *[]BasicCustomSetupBase `json:"expressCustomSetupProperties,omitempty"` +} + +// MarshalJSON is the custom marshaler for IntegrationRuntimeSsisProperties. +func (irsp IntegrationRuntimeSsisProperties) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if irsp.CatalogInfo != nil { + objectMap["catalogInfo"] = irsp.CatalogInfo + } + if irsp.LicenseType != "" { + objectMap["licenseType"] = irsp.LicenseType + } + if irsp.CustomSetupScriptProperties != nil { + objectMap["customSetupScriptProperties"] = irsp.CustomSetupScriptProperties + } + if irsp.DataProxyProperties != nil { + objectMap["dataProxyProperties"] = irsp.DataProxyProperties + } + if irsp.Edition != "" { + objectMap["edition"] = irsp.Edition + } + if irsp.ExpressCustomSetupProperties != nil { + objectMap["expressCustomSetupProperties"] = irsp.ExpressCustomSetupProperties + } + for k, v := range irsp.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for IntegrationRuntimeSsisProperties struct. +func (irsp *IntegrationRuntimeSsisProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if irsp.AdditionalProperties == nil { + irsp.AdditionalProperties = make(map[string]interface{}) + } + irsp.AdditionalProperties[k] = additionalProperties + } + case "catalogInfo": + if v != nil { + var catalogInfo IntegrationRuntimeSsisCatalogInfo + err = json.Unmarshal(*v, &catalogInfo) + if err != nil { + return err + } + irsp.CatalogInfo = &catalogInfo + } + case "licenseType": + if v != nil { + var licenseType IntegrationRuntimeLicenseType + err = json.Unmarshal(*v, &licenseType) + if err != nil { + return err + } + irsp.LicenseType = licenseType + } + case "customSetupScriptProperties": + if v != nil { + var customSetupScriptProperties IntegrationRuntimeCustomSetupScriptProperties + err = json.Unmarshal(*v, &customSetupScriptProperties) + if err != nil { + return err + } + irsp.CustomSetupScriptProperties = &customSetupScriptProperties + } + case "dataProxyProperties": + if v != nil { + var dataProxyProperties IntegrationRuntimeDataProxyProperties + err = json.Unmarshal(*v, &dataProxyProperties) + if err != nil { + return err + } + irsp.DataProxyProperties = &dataProxyProperties + } + case "edition": + if v != nil { + var edition IntegrationRuntimeEdition + err = json.Unmarshal(*v, &edition) + if err != nil { + return err + } + irsp.Edition = edition + } + case "expressCustomSetupProperties": + if v != nil { + expressCustomSetupProperties, err := unmarshalBasicCustomSetupBaseArray(*v) + if err != nil { + return err + } + irsp.ExpressCustomSetupProperties = &expressCustomSetupProperties + } + } + } + + return nil +} + +// IntegrationRuntimesStartFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type IntegrationRuntimesStartFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *IntegrationRuntimesStartFuture) Result(client IntegrationRuntimesClient) (irsr IntegrationRuntimeStatusResponse, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "datafactory.IntegrationRuntimesStartFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("datafactory.IntegrationRuntimesStartFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if irsr.Response.Response, err = future.GetResult(sender); err == nil && irsr.Response.Response.StatusCode != http.StatusNoContent { + irsr, err = client.StartResponder(irsr.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "datafactory.IntegrationRuntimesStartFuture", "Result", irsr.Response.Response, "Failure responding to request") + } + } + return +} + +// IntegrationRuntimesStopFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type IntegrationRuntimesStopFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *IntegrationRuntimesStopFuture) Result(client IntegrationRuntimesClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "datafactory.IntegrationRuntimesStopFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("datafactory.IntegrationRuntimesStopFuture") + return + } + ar.Response = future.Response() + return +} + +// BasicIntegrationRuntimeStatus integration runtime status. +type BasicIntegrationRuntimeStatus interface { + AsSelfHostedIntegrationRuntimeStatus() (*SelfHostedIntegrationRuntimeStatus, bool) + AsManagedIntegrationRuntimeStatus() (*ManagedIntegrationRuntimeStatus, bool) + AsIntegrationRuntimeStatus() (*IntegrationRuntimeStatus, bool) +} + +// IntegrationRuntimeStatus integration runtime status. +type IntegrationRuntimeStatus struct { + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // DataFactoryName - READ-ONLY; The data factory name which the integration runtime belong to. + DataFactoryName *string `json:"dataFactoryName,omitempty"` + // State - READ-ONLY; The state of integration runtime. Possible values include: 'IntegrationRuntimeStateInitial', 'IntegrationRuntimeStateStopped', 'IntegrationRuntimeStateStarted', 'IntegrationRuntimeStateStarting', 'IntegrationRuntimeStateStopping', 'IntegrationRuntimeStateNeedRegistration', 'IntegrationRuntimeStateOnline', 'IntegrationRuntimeStateLimited', 'IntegrationRuntimeStateOffline', 'IntegrationRuntimeStateAccessDenied' + State IntegrationRuntimeState `json:"state,omitempty"` + // Type - Possible values include: 'TypeBasicIntegrationRuntimeStatusTypeIntegrationRuntimeStatus', 'TypeBasicIntegrationRuntimeStatusTypeSelfHosted', 'TypeBasicIntegrationRuntimeStatusTypeManaged' + Type TypeBasicIntegrationRuntimeStatus `json:"type,omitempty"` +} + +func unmarshalBasicIntegrationRuntimeStatus(body []byte) (BasicIntegrationRuntimeStatus, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["type"] { + case string(TypeBasicIntegrationRuntimeStatusTypeSelfHosted): + var shirs SelfHostedIntegrationRuntimeStatus + err := json.Unmarshal(body, &shirs) + return shirs, err + case string(TypeBasicIntegrationRuntimeStatusTypeManaged): + var mirs ManagedIntegrationRuntimeStatus + err := json.Unmarshal(body, &mirs) + return mirs, err + default: + var irs IntegrationRuntimeStatus + err := json.Unmarshal(body, &irs) + return irs, err + } +} +func unmarshalBasicIntegrationRuntimeStatusArray(body []byte) ([]BasicIntegrationRuntimeStatus, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + irsArray := make([]BasicIntegrationRuntimeStatus, len(rawMessages)) + + for index, rawMessage := range rawMessages { + irs, err := unmarshalBasicIntegrationRuntimeStatus(*rawMessage) + if err != nil { + return nil, err + } + irsArray[index] = irs + } + return irsArray, nil +} + +// MarshalJSON is the custom marshaler for IntegrationRuntimeStatus. +func (irs IntegrationRuntimeStatus) MarshalJSON() ([]byte, error) { + irs.Type = TypeBasicIntegrationRuntimeStatusTypeIntegrationRuntimeStatus + objectMap := make(map[string]interface{}) + if irs.Type != "" { + objectMap["type"] = irs.Type + } + for k, v := range irs.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsSelfHostedIntegrationRuntimeStatus is the BasicIntegrationRuntimeStatus implementation for IntegrationRuntimeStatus. +func (irs IntegrationRuntimeStatus) AsSelfHostedIntegrationRuntimeStatus() (*SelfHostedIntegrationRuntimeStatus, bool) { + return nil, false +} + +// AsManagedIntegrationRuntimeStatus is the BasicIntegrationRuntimeStatus implementation for IntegrationRuntimeStatus. +func (irs IntegrationRuntimeStatus) AsManagedIntegrationRuntimeStatus() (*ManagedIntegrationRuntimeStatus, bool) { + return nil, false +} + +// AsIntegrationRuntimeStatus is the BasicIntegrationRuntimeStatus implementation for IntegrationRuntimeStatus. +func (irs IntegrationRuntimeStatus) AsIntegrationRuntimeStatus() (*IntegrationRuntimeStatus, bool) { + return &irs, true +} + +// AsBasicIntegrationRuntimeStatus is the BasicIntegrationRuntimeStatus implementation for IntegrationRuntimeStatus. +func (irs IntegrationRuntimeStatus) AsBasicIntegrationRuntimeStatus() (BasicIntegrationRuntimeStatus, bool) { + return &irs, true +} + +// UnmarshalJSON is the custom unmarshaler for IntegrationRuntimeStatus struct. +func (irs *IntegrationRuntimeStatus) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if irs.AdditionalProperties == nil { + irs.AdditionalProperties = make(map[string]interface{}) + } + irs.AdditionalProperties[k] = additionalProperties + } + case "dataFactoryName": + if v != nil { + var dataFactoryName string + err = json.Unmarshal(*v, &dataFactoryName) + if err != nil { + return err + } + irs.DataFactoryName = &dataFactoryName + } + case "state": + if v != nil { + var state IntegrationRuntimeState + err = json.Unmarshal(*v, &state) + if err != nil { + return err + } + irs.State = state + } + case "type": + if v != nil { + var typeVar TypeBasicIntegrationRuntimeStatus + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + irs.Type = typeVar + } + } + } + + return nil +} + +// IntegrationRuntimeStatusListResponse a list of integration runtime status. +type IntegrationRuntimeStatusListResponse struct { + // Value - List of integration runtime status. + Value *[]IntegrationRuntimeStatusResponse `json:"value,omitempty"` + // NextLink - The link to the next page of results, if any remaining results exist. + NextLink *string `json:"nextLink,omitempty"` +} + +// IntegrationRuntimeStatusResponse integration runtime status response. +type IntegrationRuntimeStatusResponse struct { + autorest.Response `json:"-"` + // Name - READ-ONLY; The integration runtime name. + Name *string `json:"name,omitempty"` + // Properties - Integration runtime properties. + Properties BasicIntegrationRuntimeStatus `json:"properties,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for IntegrationRuntimeStatusResponse struct. +func (irsr *IntegrationRuntimeStatusResponse) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + irsr.Name = &name + } + case "properties": + if v != nil { + properties, err := unmarshalBasicIntegrationRuntimeStatus(*v) + if err != nil { + return err + } + irsr.Properties = properties + } + } + } + + return nil +} + +// IntegrationRuntimeVNetProperties vNet properties for managed integration runtime. +type IntegrationRuntimeVNetProperties struct { + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // VNetID - The ID of the VNet that this integration runtime will join. + VNetID *string `json:"vNetId,omitempty"` + // Subnet - The name of the subnet this integration runtime will join. + Subnet *string `json:"subnet,omitempty"` +} + +// MarshalJSON is the custom marshaler for IntegrationRuntimeVNetProperties. +func (irvnp IntegrationRuntimeVNetProperties) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if irvnp.VNetID != nil { + objectMap["vNetId"] = irvnp.VNetID + } + if irvnp.Subnet != nil { + objectMap["subnet"] = irvnp.Subnet + } + for k, v := range irvnp.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for IntegrationRuntimeVNetProperties struct. +func (irvnp *IntegrationRuntimeVNetProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if irvnp.AdditionalProperties == nil { + irvnp.AdditionalProperties = make(map[string]interface{}) + } + irvnp.AdditionalProperties[k] = additionalProperties + } + case "vNetId": + if v != nil { + var vNetID string + err = json.Unmarshal(*v, &vNetID) + if err != nil { + return err + } + irvnp.VNetID = &vNetID + } + case "subnet": + if v != nil { + var subnet string + err = json.Unmarshal(*v, &subnet) + if err != nil { + return err + } + irvnp.Subnet = &subnet + } + } + } + + return nil +} + +// JiraLinkedService jira Service linked service. +type JiraLinkedService struct { + // JiraLinkedServiceTypeProperties - Jira Service linked service properties. + *JiraLinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for JiraLinkedService. +func (jls JiraLinkedService) MarshalJSON() ([]byte, error) { + jls.Type = TypeJira + objectMap := make(map[string]interface{}) + if jls.JiraLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = jls.JiraLinkedServiceTypeProperties + } + if jls.ConnectVia != nil { + objectMap["connectVia"] = jls.ConnectVia + } + if jls.Description != nil { + objectMap["description"] = jls.Description + } + if jls.Parameters != nil { + objectMap["parameters"] = jls.Parameters + } + if jls.Annotations != nil { + objectMap["annotations"] = jls.Annotations + } + if jls.Type != "" { + objectMap["type"] = jls.Type } for k, v := range jls.AdditionalProperties { objectMap[k] = v @@ -104522,473 +117121,5627 @@ func (jls JiraLinkedService) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } -// AsAzureFunctionLinkedService is the BasicLinkedService implementation for JiraLinkedService. -func (jls JiraLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { + return nil, false +} + +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return nil, false +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return nil, false +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return nil, false +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return nil, false +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return nil, false +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return nil, false +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return nil, false +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return nil, false +} + +// AsZohoLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { + return nil, false +} + +// AsXeroLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { + return nil, false +} + +// AsSquareLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { + return nil, false +} + +// AsSparkLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { + return nil, false +} + +// AsShopifyLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { + return nil, false +} + +// AsServiceNowLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { + return nil, false +} + +// AsQuickBooksLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { + return nil, false +} + +// AsPrestoLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return nil, false +} + +// AsPhoenixLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return nil, false +} + +// AsPaypalLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return nil, false +} + +// AsMarketoLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return nil, false +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { + return nil, false +} + +// AsMariaDBLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { + return nil, false +} + +// AsMagentoLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return nil, false +} + +// AsJiraLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return &jls, true +} + +// AsImpalaLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { + return nil, false +} + +// AsHubspotLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false +} + +// AsHiveLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return nil, false +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return nil, false +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return nil, false +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return nil, false +} + +// AsDrillLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return nil, false +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return nil, false +} + +// AsConcurLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return nil, false +} + +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return nil, false +} + +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false +} + +// AsSapHanaLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return nil, false +} + +// AsSapBWLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return nil, false +} + +// AsSftpServerLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return nil, false +} + +// AsFtpServerLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return nil, false +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return nil, false +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false +} + +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false +} + +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { + return nil, false +} + +// AsMySQLLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { + return nil, false +} + +// AsOracleLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + +// AsFileServerLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { + return nil, false +} + +// AsHDInsightLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { + return nil, false +} + +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { + return nil, false +} + +// AsDynamicsLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { + return nil, false +} + +// AsCosmosDbLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false +} + +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for JiraLinkedService. +func (jls JiraLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &jls, true +} + +// UnmarshalJSON is the custom unmarshaler for JiraLinkedService struct. +func (jls *JiraLinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var jiraLinkedServiceTypeProperties JiraLinkedServiceTypeProperties + err = json.Unmarshal(*v, &jiraLinkedServiceTypeProperties) + if err != nil { + return err + } + jls.JiraLinkedServiceTypeProperties = &jiraLinkedServiceTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if jls.AdditionalProperties == nil { + jls.AdditionalProperties = make(map[string]interface{}) + } + jls.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + jls.ConnectVia = &connectVia + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + jls.Description = &description + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + jls.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + jls.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + jls.Type = typeVar + } + } + } + + return nil +} + +// JiraLinkedServiceTypeProperties jira Service linked service properties. +type JiraLinkedServiceTypeProperties struct { + // Host - The IP address or host name of the Jira service. (e.g. jira.example.com) + Host interface{} `json:"host,omitempty"` + // Port - The TCP port that the Jira server uses to listen for client connections. The default value is 443 if connecting through HTTPS, or 8080 if connecting through HTTP. + Port interface{} `json:"port,omitempty"` + // Username - The user name that you use to access Jira Service. + Username interface{} `json:"username,omitempty"` + // Password - The password corresponding to the user name that you provided in the username field. + Password BasicSecretBase `json:"password,omitempty"` + // UseEncryptedEndpoints - Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true. + UseEncryptedEndpoints interface{} `json:"useEncryptedEndpoints,omitempty"` + // UseHostVerification - Specifies whether to require the host name in the server's certificate to match the host name of the server when connecting over SSL. The default value is true. + UseHostVerification interface{} `json:"useHostVerification,omitempty"` + // UsePeerVerification - Specifies whether to verify the identity of the server when connecting over SSL. The default value is true. + UsePeerVerification interface{} `json:"usePeerVerification,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for JiraLinkedServiceTypeProperties struct. +func (jlstp *JiraLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "host": + if v != nil { + var host interface{} + err = json.Unmarshal(*v, &host) + if err != nil { + return err + } + jlstp.Host = host + } + case "port": + if v != nil { + var port interface{} + err = json.Unmarshal(*v, &port) + if err != nil { + return err + } + jlstp.Port = port + } + case "username": + if v != nil { + var username interface{} + err = json.Unmarshal(*v, &username) + if err != nil { + return err + } + jlstp.Username = username + } + case "password": + if v != nil { + password, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + jlstp.Password = password + } + case "useEncryptedEndpoints": + if v != nil { + var useEncryptedEndpoints interface{} + err = json.Unmarshal(*v, &useEncryptedEndpoints) + if err != nil { + return err + } + jlstp.UseEncryptedEndpoints = useEncryptedEndpoints + } + case "useHostVerification": + if v != nil { + var useHostVerification interface{} + err = json.Unmarshal(*v, &useHostVerification) + if err != nil { + return err + } + jlstp.UseHostVerification = useHostVerification + } + case "usePeerVerification": + if v != nil { + var usePeerVerification interface{} + err = json.Unmarshal(*v, &usePeerVerification) + if err != nil { + return err + } + jlstp.UsePeerVerification = usePeerVerification + } + case "encryptedCredential": + if v != nil { + var encryptedCredential interface{} + err = json.Unmarshal(*v, &encryptedCredential) + if err != nil { + return err + } + jlstp.EncryptedCredential = encryptedCredential + } + } + } + + return nil +} + +// JiraObjectDataset jira Service dataset. +type JiraObjectDataset struct { + // GenericDatasetTypeProperties - Properties specific to this dataset type. + *GenericDatasetTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - Dataset description. + Description *string `json:"description,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' + Type TypeBasicDataset `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for JiraObjectDataset. +func (jod JiraObjectDataset) MarshalJSON() ([]byte, error) { + jod.Type = TypeJiraObject + objectMap := make(map[string]interface{}) + if jod.GenericDatasetTypeProperties != nil { + objectMap["typeProperties"] = jod.GenericDatasetTypeProperties + } + if jod.Description != nil { + objectMap["description"] = jod.Description + } + if jod.Structure != nil { + objectMap["structure"] = jod.Structure + } + if jod.Schema != nil { + objectMap["schema"] = jod.Schema + } + if jod.LinkedServiceName != nil { + objectMap["linkedServiceName"] = jod.LinkedServiceName + } + if jod.Parameters != nil { + objectMap["parameters"] = jod.Parameters + } + if jod.Annotations != nil { + objectMap["annotations"] = jod.Annotations + } + if jod.Folder != nil { + objectMap["folder"] = jod.Folder + } + if jod.Type != "" { + objectMap["type"] = jod.Type + } + for k, v := range jod.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { + return nil, false +} + +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { + return nil, false +} + +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsDynamicsAXResourceDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { + return nil, false +} + +// AsResponsysObjectDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { + return nil, false +} + +// AsVerticaTableDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { + return nil, false +} + +// AsNetezzaTableDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { + return nil, false +} + +// AsZohoObjectDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { + return nil, false +} + +// AsXeroObjectDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { + return nil, false +} + +// AsSquareObjectDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { + return nil, false +} + +// AsSparkObjectDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { + return nil, false +} + +// AsShopifyObjectDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { + return nil, false +} + +// AsServiceNowObjectDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { + return nil, false +} + +// AsQuickBooksObjectDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { + return nil, false +} + +// AsPrestoObjectDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { + return nil, false +} + +// AsPhoenixObjectDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { + return nil, false +} + +// AsPaypalObjectDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { + return nil, false +} + +// AsMarketoObjectDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { + return nil, false +} + +// AsAzureMariaDBTableDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { + return nil, false +} + +// AsMariaDBTableDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { + return nil, false +} + +// AsMagentoObjectDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { + return nil, false +} + +// AsJiraObjectDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { + return &jod, true +} + +// AsImpalaObjectDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { + return nil, false +} + +// AsHubspotObjectDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { + return nil, false +} + +// AsHiveObjectDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { + return nil, false +} + +// AsHBaseObjectDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { + return nil, false +} + +// AsGreenplumTableDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { + return nil, false +} + +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { + return nil, false +} + +// AsEloquaObjectDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { + return nil, false +} + +// AsDrillTableDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { + return nil, false +} + +// AsCouchbaseTableDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { + return nil, false +} + +// AsConcurObjectDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { + return nil, false +} + +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { + return nil, false +} + +// AsAmazonMWSObjectDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { + return nil, false +} + +// AsHTTPDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsHTTPDataset() (*HTTPDataset, bool) { + return nil, false +} + +// AsAzureSearchIndexDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { + return nil, false +} + +// AsWebTableDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) { + return nil, false +} + +// AsSapTableResourceDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { + return nil, false +} + +// AsRestResourceDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { + return nil, false +} + +// AsSQLServerTableDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { + return nil, false +} + +// AsSapOpenHubTableDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { + return nil, false +} + +// AsSapHanaTableDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { + return nil, false +} + +// AsSapEccResourceDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { + return nil, false +} + +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { + return nil, false +} + +// AsSapBwCubeDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { + return nil, false +} + +// AsSybaseTableDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { + return nil, false +} + +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsSalesforceObjectDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { + return nil, false +} + +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { + return nil, false +} + +// AsPostgreSQLTableDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { + return nil, false +} + +// AsMySQLTableDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { + return nil, false +} + +// AsOdbcTableDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { + return nil, false +} + +// AsInformixTableDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { + return nil, false +} + +// AsRelationalTableDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { + return nil, false +} + +// AsDb2TableDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + +// AsAzureMySQLTableDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { + return nil, false +} + +// AsTeradataTableDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { + return nil, false +} + +// AsOracleTableDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { + return nil, false +} + +// AsODataResourceDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { + return nil, false +} + +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { + return nil, false +} + +// AsMongoDbCollectionDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { + return nil, false +} + +// AsFileShareDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsFileShareDataset() (*FileShareDataset, bool) { + return nil, false +} + +// AsOffice365Dataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) { + return nil, false +} + +// AsAzureBlobFSDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) { + return nil, false +} + +// AsAzureDataLakeStoreDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { + return nil, false +} + +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { + return nil, false +} + +// AsDynamicsEntityDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { + return nil, false +} + +// AsDocumentDbCollectionDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { + return nil, false +} + +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + +// AsCustomDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsCustomDataset() (*CustomDataset, bool) { + return nil, false +} + +// AsCassandraTableDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { + return nil, false +} + +// AsAzureSQLDWTableDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { + return nil, false +} + +// AsAzureSQLMITableDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { + return nil, false +} + +// AsAzureSQLTableDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { + return nil, false +} + +// AsAzureTableDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { + return nil, false +} + +// AsAzureBlobDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) { + return nil, false +} + +// AsBinaryDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) { + return nil, false +} + +// AsOrcDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + +// AsDelimitedTextDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { + return nil, false +} + +// AsParquetDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsParquetDataset() (*ParquetDataset, bool) { + return nil, false +} + +// AsAvroDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsAvroDataset() (*AvroDataset, bool) { + return nil, false +} + +// AsAmazonS3Dataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) { + return nil, false +} + +// AsDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsDataset() (*Dataset, bool) { + return nil, false +} + +// AsBasicDataset is the BasicDataset implementation for JiraObjectDataset. +func (jod JiraObjectDataset) AsBasicDataset() (BasicDataset, bool) { + return &jod, true +} + +// UnmarshalJSON is the custom unmarshaler for JiraObjectDataset struct. +func (jod *JiraObjectDataset) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var genericDatasetTypeProperties GenericDatasetTypeProperties + err = json.Unmarshal(*v, &genericDatasetTypeProperties) + if err != nil { + return err + } + jod.GenericDatasetTypeProperties = &genericDatasetTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if jod.AdditionalProperties == nil { + jod.AdditionalProperties = make(map[string]interface{}) + } + jod.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + jod.Description = &description + } + case "structure": + if v != nil { + var structure interface{} + err = json.Unmarshal(*v, &structure) + if err != nil { + return err + } + jod.Structure = structure + } + case "schema": + if v != nil { + var schema interface{} + err = json.Unmarshal(*v, &schema) + if err != nil { + return err + } + jod.Schema = schema + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + jod.LinkedServiceName = &linkedServiceName + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + jod.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + jod.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + jod.Folder = &folder + } + case "type": + if v != nil { + var typeVar TypeBasicDataset + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + jod.Type = typeVar + } + } + } + + return nil +} + +// JiraSource a copy activity Jira Service source. +type JiraSource struct { + // Query - A query to retrieve data from source. Type: string (or Expression with resultType string). + Query interface{} `json:"query,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' + Type TypeBasicCopySource `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for JiraSource. +func (js JiraSource) MarshalJSON() ([]byte, error) { + js.Type = TypeJiraSource + objectMap := make(map[string]interface{}) + if js.Query != nil { + objectMap["query"] = js.Query + } + if js.QueryTimeout != nil { + objectMap["queryTimeout"] = js.QueryTimeout + } + if js.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = js.SourceRetryCount + } + if js.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = js.SourceRetryWait + } + if js.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = js.MaxConcurrentConnections + } + if js.Type != "" { + objectMap["type"] = js.Type + } + for k, v := range js.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHTTPSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + +// AsAmazonRedshiftSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { + return nil, false +} + +// AsGoogleAdWordsSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { + return nil, false +} + +// AsOracleServiceCloudSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { + return nil, false +} + +// AsDynamicsAXSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { + return nil, false +} + +// AsResponsysSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsResponsysSource() (*ResponsysSource, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { + return nil, false +} + +// AsVerticaSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsVerticaSource() (*VerticaSource, bool) { + return nil, false +} + +// AsNetezzaSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsNetezzaSource() (*NetezzaSource, bool) { + return nil, false +} + +// AsZohoSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsZohoSource() (*ZohoSource, bool) { + return nil, false +} + +// AsXeroSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsXeroSource() (*XeroSource, bool) { + return nil, false +} + +// AsSquareSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsSquareSource() (*SquareSource, bool) { + return nil, false +} + +// AsSparkSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsSparkSource() (*SparkSource, bool) { + return nil, false +} + +// AsShopifySource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsShopifySource() (*ShopifySource, bool) { + return nil, false +} + +// AsServiceNowSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsServiceNowSource() (*ServiceNowSource, bool) { + return nil, false +} + +// AsQuickBooksSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsQuickBooksSource() (*QuickBooksSource, bool) { + return nil, false +} + +// AsPrestoSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsPrestoSource() (*PrestoSource, bool) { + return nil, false +} + +// AsPhoenixSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsPhoenixSource() (*PhoenixSource, bool) { + return nil, false +} + +// AsPaypalSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsPaypalSource() (*PaypalSource, bool) { + return nil, false +} + +// AsMarketoSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsMarketoSource() (*MarketoSource, bool) { + return nil, false +} + +// AsAzureMariaDBSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { + return nil, false +} + +// AsMariaDBSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsMariaDBSource() (*MariaDBSource, bool) { + return nil, false +} + +// AsMagentoSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsMagentoSource() (*MagentoSource, bool) { + return nil, false +} + +// AsJiraSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsJiraSource() (*JiraSource, bool) { + return &js, true +} + +// AsImpalaSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsImpalaSource() (*ImpalaSource, bool) { + return nil, false +} + +// AsHubspotSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsHubspotSource() (*HubspotSource, bool) { + return nil, false +} + +// AsHiveSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsHiveSource() (*HiveSource, bool) { + return nil, false +} + +// AsHBaseSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsHBaseSource() (*HBaseSource, bool) { + return nil, false +} + +// AsGreenplumSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsGreenplumSource() (*GreenplumSource, bool) { + return nil, false +} + +// AsGoogleBigQuerySource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { + return nil, false +} + +// AsEloquaSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsEloquaSource() (*EloquaSource, bool) { + return nil, false +} + +// AsDrillSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsDrillSource() (*DrillSource, bool) { + return nil, false +} + +// AsCouchbaseSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsCouchbaseSource() (*CouchbaseSource, bool) { + return nil, false +} + +// AsConcurSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsConcurSource() (*ConcurSource, bool) { + return nil, false +} + +// AsAzurePostgreSQLSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { + return nil, false +} + +// AsAmazonMWSSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { + return nil, false +} + +// AsCassandraSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsCassandraSource() (*CassandraSource, bool) { + return nil, false +} + +// AsTeradataSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsTeradataSource() (*TeradataSource, bool) { + return nil, false +} + +// AsAzureMySQLSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { + return nil, false +} + +// AsSQLDWSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsSQLDWSource() (*SQLDWSource, bool) { + return nil, false +} + +// AsSQLMISource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsSQLMISource() (*SQLMISource, bool) { + return nil, false +} + +// AsAzureSQLSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsAzureSQLSource() (*AzureSQLSource, bool) { + return nil, false +} + +// AsSQLServerSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsSQLServerSource() (*SQLServerSource, bool) { + return nil, false +} + +// AsSQLSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsSQLSource() (*SQLSource, bool) { + return nil, false +} + +// AsSapTableSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsSapTableSource() (*SapTableSource, bool) { + return nil, false +} + +// AsSapOpenHubSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { + return nil, false +} + +// AsSapHanaSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsSapHanaSource() (*SapHanaSource, bool) { + return nil, false +} + +// AsSapEccSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsSapEccSource() (*SapEccSource, bool) { + return nil, false +} + +// AsSapCloudForCustomerSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { + return nil, false +} + +// AsSalesforceSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsSalesforceSource() (*SalesforceSource, bool) { + return nil, false +} + +// AsSapBwSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsSapBwSource() (*SapBwSource, bool) { + return nil, false +} + +// AsSybaseSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsSybaseSource() (*SybaseSource, bool) { + return nil, false +} + +// AsPostgreSQLSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { + return nil, false +} + +// AsMySQLSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsMySQLSource() (*MySQLSource, bool) { + return nil, false +} + +// AsOdbcSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsOdbcSource() (*OdbcSource, bool) { + return nil, false +} + +// AsDb2Source is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsDb2Source() (*Db2Source, bool) { + return nil, false +} + +// AsInformixSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsInformixSource() (*InformixSource, bool) { + return nil, false +} + +// AsAzureTableSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsAzureTableSource() (*AzureTableSource, bool) { + return nil, false +} + +// AsTabularSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsTabularSource() (*TabularSource, bool) { + return nil, false +} + +// AsBasicTabularSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &js, true +} + +// AsBinarySource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsBinarySource() (*BinarySource, bool) { + return nil, false +} + +// AsOrcSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsOrcSource() (*OrcSource, bool) { + return nil, false +} + +// AsJSONSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsJSONSource() (*JSONSource, bool) { + return nil, false +} + +// AsDelimitedTextSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false +} + +// AsParquetSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for JiraSource. +func (js JiraSource) AsBasicCopySource() (BasicCopySource, bool) { + return &js, true +} + +// UnmarshalJSON is the custom unmarshaler for JiraSource struct. +func (js *JiraSource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "query": + if v != nil { + var query interface{} + err = json.Unmarshal(*v, &query) + if err != nil { + return err + } + js.Query = query + } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + js.QueryTimeout = queryTimeout + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if js.AdditionalProperties == nil { + js.AdditionalProperties = make(map[string]interface{}) + } + js.AdditionalProperties[k] = additionalProperties + } + case "sourceRetryCount": + if v != nil { + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) + if err != nil { + return err + } + js.SourceRetryCount = sourceRetryCount + } + case "sourceRetryWait": + if v != nil { + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) + if err != nil { + return err + } + js.SourceRetryWait = sourceRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + js.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySource + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + js.Type = typeVar + } + } + } + + return nil +} + +// JSONDataset json dataset. +type JSONDataset struct { + // JSONDatasetTypeProperties - Json dataset properties. + *JSONDatasetTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - Dataset description. + Description *string `json:"description,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' + Type TypeBasicDataset `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for JSONDataset. +func (jd JSONDataset) MarshalJSON() ([]byte, error) { + jd.Type = TypeJSON + objectMap := make(map[string]interface{}) + if jd.JSONDatasetTypeProperties != nil { + objectMap["typeProperties"] = jd.JSONDatasetTypeProperties + } + if jd.Description != nil { + objectMap["description"] = jd.Description + } + if jd.Structure != nil { + objectMap["structure"] = jd.Structure + } + if jd.Schema != nil { + objectMap["schema"] = jd.Schema + } + if jd.LinkedServiceName != nil { + objectMap["linkedServiceName"] = jd.LinkedServiceName + } + if jd.Parameters != nil { + objectMap["parameters"] = jd.Parameters + } + if jd.Annotations != nil { + objectMap["annotations"] = jd.Annotations + } + if jd.Folder != nil { + objectMap["folder"] = jd.Folder + } + if jd.Type != "" { + objectMap["type"] = jd.Type + } + for k, v := range jd.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { + return nil, false +} + +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { + return nil, false +} + +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsDynamicsAXResourceDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { + return nil, false +} + +// AsResponsysObjectDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { + return nil, false +} + +// AsVerticaTableDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { + return nil, false +} + +// AsNetezzaTableDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { + return nil, false +} + +// AsZohoObjectDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { + return nil, false +} + +// AsXeroObjectDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { + return nil, false +} + +// AsSquareObjectDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { + return nil, false +} + +// AsSparkObjectDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { + return nil, false +} + +// AsShopifyObjectDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { + return nil, false +} + +// AsServiceNowObjectDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { + return nil, false +} + +// AsQuickBooksObjectDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { + return nil, false +} + +// AsPrestoObjectDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { + return nil, false +} + +// AsPhoenixObjectDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { + return nil, false +} + +// AsPaypalObjectDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { + return nil, false +} + +// AsMarketoObjectDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { + return nil, false +} + +// AsAzureMariaDBTableDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { + return nil, false +} + +// AsMariaDBTableDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { + return nil, false +} + +// AsMagentoObjectDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { + return nil, false +} + +// AsJiraObjectDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { + return nil, false +} + +// AsImpalaObjectDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { + return nil, false +} + +// AsHubspotObjectDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { + return nil, false +} + +// AsHiveObjectDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { + return nil, false +} + +// AsHBaseObjectDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { + return nil, false +} + +// AsGreenplumTableDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { + return nil, false +} + +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { + return nil, false +} + +// AsEloquaObjectDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { + return nil, false +} + +// AsDrillTableDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { + return nil, false +} + +// AsCouchbaseTableDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { + return nil, false +} + +// AsConcurObjectDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { + return nil, false +} + +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { + return nil, false +} + +// AsAmazonMWSObjectDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { + return nil, false +} + +// AsHTTPDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsHTTPDataset() (*HTTPDataset, bool) { + return nil, false +} + +// AsAzureSearchIndexDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { + return nil, false +} + +// AsWebTableDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsWebTableDataset() (*WebTableDataset, bool) { + return nil, false +} + +// AsSapTableResourceDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { + return nil, false +} + +// AsRestResourceDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { + return nil, false +} + +// AsSQLServerTableDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { + return nil, false +} + +// AsSapOpenHubTableDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { + return nil, false +} + +// AsSapHanaTableDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { + return nil, false +} + +// AsSapEccResourceDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { + return nil, false +} + +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { + return nil, false +} + +// AsSapBwCubeDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { + return nil, false +} + +// AsSybaseTableDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { + return nil, false +} + +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsSalesforceObjectDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { + return nil, false +} + +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { + return nil, false +} + +// AsPostgreSQLTableDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { + return nil, false +} + +// AsMySQLTableDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { + return nil, false +} + +// AsOdbcTableDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { + return nil, false +} + +// AsInformixTableDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { + return nil, false +} + +// AsRelationalTableDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { + return nil, false +} + +// AsDb2TableDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + +// AsAzureMySQLTableDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { + return nil, false +} + +// AsTeradataTableDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { + return nil, false +} + +// AsOracleTableDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { + return nil, false +} + +// AsODataResourceDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { + return nil, false +} + +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { + return nil, false +} + +// AsMongoDbCollectionDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { + return nil, false +} + +// AsFileShareDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsFileShareDataset() (*FileShareDataset, bool) { + return nil, false +} + +// AsOffice365Dataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsOffice365Dataset() (*Office365Dataset, bool) { + return nil, false +} + +// AsAzureBlobFSDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) { + return nil, false +} + +// AsAzureDataLakeStoreDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { + return nil, false +} + +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { + return nil, false +} + +// AsDynamicsEntityDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { + return nil, false +} + +// AsDocumentDbCollectionDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { + return nil, false +} + +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + +// AsCustomDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsCustomDataset() (*CustomDataset, bool) { + return nil, false +} + +// AsCassandraTableDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { + return nil, false +} + +// AsAzureSQLDWTableDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { + return nil, false +} + +// AsAzureSQLMITableDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { + return nil, false +} + +// AsAzureSQLTableDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { + return nil, false +} + +// AsAzureTableDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { + return nil, false +} + +// AsAzureBlobDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) { + return nil, false +} + +// AsBinaryDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsBinaryDataset() (*BinaryDataset, bool) { + return nil, false +} + +// AsOrcDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsJSONDataset() (*JSONDataset, bool) { + return &jd, true +} + +// AsDelimitedTextDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { + return nil, false +} + +// AsParquetDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsParquetDataset() (*ParquetDataset, bool) { + return nil, false +} + +// AsAvroDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsAvroDataset() (*AvroDataset, bool) { + return nil, false +} + +// AsAmazonS3Dataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) { + return nil, false +} + +// AsDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsDataset() (*Dataset, bool) { + return nil, false +} + +// AsBasicDataset is the BasicDataset implementation for JSONDataset. +func (jd JSONDataset) AsBasicDataset() (BasicDataset, bool) { + return &jd, true +} + +// UnmarshalJSON is the custom unmarshaler for JSONDataset struct. +func (jd *JSONDataset) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var JSONDatasetTypeProperties JSONDatasetTypeProperties + err = json.Unmarshal(*v, &JSONDatasetTypeProperties) + if err != nil { + return err + } + jd.JSONDatasetTypeProperties = &JSONDatasetTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if jd.AdditionalProperties == nil { + jd.AdditionalProperties = make(map[string]interface{}) + } + jd.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + jd.Description = &description + } + case "structure": + if v != nil { + var structure interface{} + err = json.Unmarshal(*v, &structure) + if err != nil { + return err + } + jd.Structure = structure + } + case "schema": + if v != nil { + var schema interface{} + err = json.Unmarshal(*v, &schema) + if err != nil { + return err + } + jd.Schema = schema + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + jd.LinkedServiceName = &linkedServiceName + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + jd.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + jd.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + jd.Folder = &folder + } + case "type": + if v != nil { + var typeVar TypeBasicDataset + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + jd.Type = typeVar + } + } + } + + return nil +} + +// JSONDatasetTypeProperties json dataset properties. +type JSONDatasetTypeProperties struct { + // Location - The location of the json data storage. + Location *DatasetLocation `json:"location,omitempty"` + // EncodingName - The code page name of the preferred encoding. If not specified, the default value is UTF-8, unless BOM denotes another Unicode encoding. Refer to the name column of the table in the following link to set supported values: https://msdn.microsoft.com/library/system.text.encoding.aspx. Type: string (or Expression with resultType string). + EncodingName interface{} `json:"encodingName,omitempty"` + // Compression - The data compression method used for the json dataset. + Compression BasicDatasetCompression `json:"compression,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for JSONDatasetTypeProperties struct. +func (jdtp *JSONDatasetTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "location": + if v != nil { + var location DatasetLocation + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + jdtp.Location = &location + } + case "encodingName": + if v != nil { + var encodingName interface{} + err = json.Unmarshal(*v, &encodingName) + if err != nil { + return err + } + jdtp.EncodingName = encodingName + } + case "compression": + if v != nil { + compression, err := unmarshalBasicDatasetCompression(*v) + if err != nil { + return err + } + jdtp.Compression = compression + } + } + } + + return nil +} + +// JSONFormat the data stored in JSON format. +type JSONFormat struct { + // FilePattern - File pattern of JSON. To be more specific, the way of separating a collection of JSON objects. The default value is 'setOfObjects'. It is case-sensitive. + FilePattern interface{} `json:"filePattern,omitempty"` + // NestingSeparator - The character used to separate nesting levels. Default value is '.' (dot). Type: string (or Expression with resultType string). + NestingSeparator interface{} `json:"nestingSeparator,omitempty"` + // EncodingName - The code page name of the preferred encoding. If not provided, the default value is 'utf-8', unless the byte order mark (BOM) denotes another Unicode encoding. The full list of supported values can be found in the 'Name' column of the table of encodings in the following reference: https://go.microsoft.com/fwlink/?linkid=861078. Type: string (or Expression with resultType string). + EncodingName interface{} `json:"encodingName,omitempty"` + // JSONNodeReference - The JSONPath of the JSON array element to be flattened. Example: "$.ArrayPath". Type: string (or Expression with resultType string). + JSONNodeReference interface{} `json:"jsonNodeReference,omitempty"` + // JSONPathDefinition - The JSONPath definition for each column mapping with a customized column name to extract data from JSON file. For fields under root object, start with "$"; for fields inside the array chosen by jsonNodeReference property, start from the array element. Example: {"Column1": "$.Column1Path", "Column2": "Column2PathInArray"}. Type: object (or Expression with resultType object). + JSONPathDefinition interface{} `json:"jsonPathDefinition,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Serializer - Serializer. Type: string (or Expression with resultType string). + Serializer interface{} `json:"serializer,omitempty"` + // Deserializer - Deserializer. Type: string (or Expression with resultType string). + Deserializer interface{} `json:"deserializer,omitempty"` + // Type - Possible values include: 'TypeDatasetStorageFormat', 'TypeParquetFormat', 'TypeOrcFormat', 'TypeAvroFormat', 'TypeJSONFormat', 'TypeTextFormat' + Type TypeBasicDatasetStorageFormat `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for JSONFormat. +func (jf JSONFormat) MarshalJSON() ([]byte, error) { + jf.Type = TypeJSONFormat + objectMap := make(map[string]interface{}) + if jf.FilePattern != nil { + objectMap["filePattern"] = jf.FilePattern + } + if jf.NestingSeparator != nil { + objectMap["nestingSeparator"] = jf.NestingSeparator + } + if jf.EncodingName != nil { + objectMap["encodingName"] = jf.EncodingName + } + if jf.JSONNodeReference != nil { + objectMap["jsonNodeReference"] = jf.JSONNodeReference + } + if jf.JSONPathDefinition != nil { + objectMap["jsonPathDefinition"] = jf.JSONPathDefinition + } + if jf.Serializer != nil { + objectMap["serializer"] = jf.Serializer + } + if jf.Deserializer != nil { + objectMap["deserializer"] = jf.Deserializer + } + if jf.Type != "" { + objectMap["type"] = jf.Type + } + for k, v := range jf.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsParquetFormat is the BasicDatasetStorageFormat implementation for JSONFormat. +func (jf JSONFormat) AsParquetFormat() (*ParquetFormat, bool) { + return nil, false +} + +// AsOrcFormat is the BasicDatasetStorageFormat implementation for JSONFormat. +func (jf JSONFormat) AsOrcFormat() (*OrcFormat, bool) { + return nil, false +} + +// AsAvroFormat is the BasicDatasetStorageFormat implementation for JSONFormat. +func (jf JSONFormat) AsAvroFormat() (*AvroFormat, bool) { + return nil, false +} + +// AsJSONFormat is the BasicDatasetStorageFormat implementation for JSONFormat. +func (jf JSONFormat) AsJSONFormat() (*JSONFormat, bool) { + return &jf, true +} + +// AsTextFormat is the BasicDatasetStorageFormat implementation for JSONFormat. +func (jf JSONFormat) AsTextFormat() (*TextFormat, bool) { + return nil, false +} + +// AsDatasetStorageFormat is the BasicDatasetStorageFormat implementation for JSONFormat. +func (jf JSONFormat) AsDatasetStorageFormat() (*DatasetStorageFormat, bool) { + return nil, false +} + +// AsBasicDatasetStorageFormat is the BasicDatasetStorageFormat implementation for JSONFormat. +func (jf JSONFormat) AsBasicDatasetStorageFormat() (BasicDatasetStorageFormat, bool) { + return &jf, true +} + +// UnmarshalJSON is the custom unmarshaler for JSONFormat struct. +func (jf *JSONFormat) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "filePattern": + if v != nil { + var filePattern interface{} + err = json.Unmarshal(*v, &filePattern) + if err != nil { + return err + } + jf.FilePattern = filePattern + } + case "nestingSeparator": + if v != nil { + var nestingSeparator interface{} + err = json.Unmarshal(*v, &nestingSeparator) + if err != nil { + return err + } + jf.NestingSeparator = nestingSeparator + } + case "encodingName": + if v != nil { + var encodingName interface{} + err = json.Unmarshal(*v, &encodingName) + if err != nil { + return err + } + jf.EncodingName = encodingName + } + case "jsonNodeReference": + if v != nil { + var JSONNodeReference interface{} + err = json.Unmarshal(*v, &JSONNodeReference) + if err != nil { + return err + } + jf.JSONNodeReference = JSONNodeReference + } + case "jsonPathDefinition": + if v != nil { + var JSONPathDefinition interface{} + err = json.Unmarshal(*v, &JSONPathDefinition) + if err != nil { + return err + } + jf.JSONPathDefinition = JSONPathDefinition + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if jf.AdditionalProperties == nil { + jf.AdditionalProperties = make(map[string]interface{}) + } + jf.AdditionalProperties[k] = additionalProperties + } + case "serializer": + if v != nil { + var serializer interface{} + err = json.Unmarshal(*v, &serializer) + if err != nil { + return err + } + jf.Serializer = serializer + } + case "deserializer": + if v != nil { + var deserializer interface{} + err = json.Unmarshal(*v, &deserializer) + if err != nil { + return err + } + jf.Deserializer = deserializer + } + case "type": + if v != nil { + var typeVar TypeBasicDatasetStorageFormat + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + jf.Type = typeVar + } + } + } + + return nil +} + +// JSONSink a copy activity Json sink. +type JSONSink struct { + // StoreSettings - Json store settings. + StoreSettings BasicStoreWriteSettings `json:"storeSettings,omitempty"` + // FormatSettings - Json format settings. + FormatSettings *JSONWriteSettings `json:"formatSettings,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0. + WriteBatchSize interface{} `json:"writeBatchSize,omitempty"` + // WriteBatchTimeout - Write batch timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"` + // SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer). + SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"` + // SinkRetryWait - Sink retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeCosmosDbSQLAPISink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAvroSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzureMySQLSink', 'TypeAzurePostgreSQLSink', 'TypeOrcSink', 'TypeJSONSink', 'TypeDelimitedTextSink' + Type TypeBasicCopySink `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for JSONSink. +func (js JSONSink) MarshalJSON() ([]byte, error) { + js.Type = TypeJSONSink + objectMap := make(map[string]interface{}) + objectMap["storeSettings"] = js.StoreSettings + if js.FormatSettings != nil { + objectMap["formatSettings"] = js.FormatSettings + } + if js.WriteBatchSize != nil { + objectMap["writeBatchSize"] = js.WriteBatchSize + } + if js.WriteBatchTimeout != nil { + objectMap["writeBatchTimeout"] = js.WriteBatchTimeout + } + if js.SinkRetryCount != nil { + objectMap["sinkRetryCount"] = js.SinkRetryCount + } + if js.SinkRetryWait != nil { + objectMap["sinkRetryWait"] = js.SinkRetryWait + } + if js.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = js.MaxConcurrentConnections + } + if js.Type != "" { + objectMap["type"] = js.Type + } + for k, v := range js.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for JSONSink. +func (js JSONSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSink is the BasicCopySink implementation for JSONSink. +func (js JSONSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) { + return nil, false +} + +// AsSalesforceSink is the BasicCopySink implementation for JSONSink. +func (js JSONSink) AsSalesforceSink() (*SalesforceSink, bool) { + return nil, false +} + +// AsAzureDataExplorerSink is the BasicCopySink implementation for JSONSink. +func (js JSONSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSink is the BasicCopySink implementation for JSONSink. +func (js JSONSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) { + return nil, false +} + +// AsDynamicsCrmSink is the BasicCopySink implementation for JSONSink. +func (js JSONSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) { + return nil, false +} + +// AsDynamicsSink is the BasicCopySink implementation for JSONSink. +func (js JSONSink) AsDynamicsSink() (*DynamicsSink, bool) { + return nil, false +} + +// AsMicrosoftAccessSink is the BasicCopySink implementation for JSONSink. +func (js JSONSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) { + return nil, false +} + +// AsInformixSink is the BasicCopySink implementation for JSONSink. +func (js JSONSink) AsInformixSink() (*InformixSink, bool) { + return nil, false +} + +// AsOdbcSink is the BasicCopySink implementation for JSONSink. +func (js JSONSink) AsOdbcSink() (*OdbcSink, bool) { + return nil, false +} + +// AsAzureSearchIndexSink is the BasicCopySink implementation for JSONSink. +func (js JSONSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) { + return nil, false +} + +// AsAzureBlobFSSink is the BasicCopySink implementation for JSONSink. +func (js JSONSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSink is the BasicCopySink implementation for JSONSink. +func (js JSONSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) { + return nil, false +} + +// AsOracleSink is the BasicCopySink implementation for JSONSink. +func (js JSONSink) AsOracleSink() (*OracleSink, bool) { + return nil, false +} + +// AsSQLDWSink is the BasicCopySink implementation for JSONSink. +func (js JSONSink) AsSQLDWSink() (*SQLDWSink, bool) { + return nil, false +} + +// AsSQLMISink is the BasicCopySink implementation for JSONSink. +func (js JSONSink) AsSQLMISink() (*SQLMISink, bool) { + return nil, false +} + +// AsAzureSQLSink is the BasicCopySink implementation for JSONSink. +func (js JSONSink) AsAzureSQLSink() (*AzureSQLSink, bool) { + return nil, false +} + +// AsSQLServerSink is the BasicCopySink implementation for JSONSink. +func (js JSONSink) AsSQLServerSink() (*SQLServerSink, bool) { + return nil, false +} + +// AsSQLSink is the BasicCopySink implementation for JSONSink. +func (js JSONSink) AsSQLSink() (*SQLSink, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISink is the BasicCopySink implementation for JSONSink. +func (js JSONSink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) { + return nil, false +} + +// AsDocumentDbCollectionSink is the BasicCopySink implementation for JSONSink. +func (js JSONSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) { + return nil, false +} + +// AsFileSystemSink is the BasicCopySink implementation for JSONSink. +func (js JSONSink) AsFileSystemSink() (*FileSystemSink, bool) { + return nil, false +} + +// AsBlobSink is the BasicCopySink implementation for JSONSink. +func (js JSONSink) AsBlobSink() (*BlobSink, bool) { + return nil, false +} + +// AsBinarySink is the BasicCopySink implementation for JSONSink. +func (js JSONSink) AsBinarySink() (*BinarySink, bool) { + return nil, false +} + +// AsParquetSink is the BasicCopySink implementation for JSONSink. +func (js JSONSink) AsParquetSink() (*ParquetSink, bool) { + return nil, false +} + +// AsAvroSink is the BasicCopySink implementation for JSONSink. +func (js JSONSink) AsAvroSink() (*AvroSink, bool) { + return nil, false +} + +// AsAzureTableSink is the BasicCopySink implementation for JSONSink. +func (js JSONSink) AsAzureTableSink() (*AzureTableSink, bool) { + return nil, false +} + +// AsAzureQueueSink is the BasicCopySink implementation for JSONSink. +func (js JSONSink) AsAzureQueueSink() (*AzureQueueSink, bool) { + return nil, false +} + +// AsSapCloudForCustomerSink is the BasicCopySink implementation for JSONSink. +func (js JSONSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) { + return nil, false +} + +// AsAzureMySQLSink is the BasicCopySink implementation for JSONSink. +func (js JSONSink) AsAzureMySQLSink() (*AzureMySQLSink, bool) { + return nil, false +} + +// AsAzurePostgreSQLSink is the BasicCopySink implementation for JSONSink. +func (js JSONSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) { + return nil, false +} + +// AsOrcSink is the BasicCopySink implementation for JSONSink. +func (js JSONSink) AsOrcSink() (*OrcSink, bool) { + return nil, false +} + +// AsJSONSink is the BasicCopySink implementation for JSONSink. +func (js JSONSink) AsJSONSink() (*JSONSink, bool) { + return &js, true +} + +// AsDelimitedTextSink is the BasicCopySink implementation for JSONSink. +func (js JSONSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) { + return nil, false +} + +// AsCopySink is the BasicCopySink implementation for JSONSink. +func (js JSONSink) AsCopySink() (*CopySink, bool) { + return nil, false +} + +// AsBasicCopySink is the BasicCopySink implementation for JSONSink. +func (js JSONSink) AsBasicCopySink() (BasicCopySink, bool) { + return &js, true +} + +// UnmarshalJSON is the custom unmarshaler for JSONSink struct. +func (js *JSONSink) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "storeSettings": + if v != nil { + storeSettings, err := unmarshalBasicStoreWriteSettings(*v) + if err != nil { + return err + } + js.StoreSettings = storeSettings + } + case "formatSettings": + if v != nil { + var formatSettings JSONWriteSettings + err = json.Unmarshal(*v, &formatSettings) + if err != nil { + return err + } + js.FormatSettings = &formatSettings + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if js.AdditionalProperties == nil { + js.AdditionalProperties = make(map[string]interface{}) + } + js.AdditionalProperties[k] = additionalProperties + } + case "writeBatchSize": + if v != nil { + var writeBatchSize interface{} + err = json.Unmarshal(*v, &writeBatchSize) + if err != nil { + return err + } + js.WriteBatchSize = writeBatchSize + } + case "writeBatchTimeout": + if v != nil { + var writeBatchTimeout interface{} + err = json.Unmarshal(*v, &writeBatchTimeout) + if err != nil { + return err + } + js.WriteBatchTimeout = writeBatchTimeout + } + case "sinkRetryCount": + if v != nil { + var sinkRetryCount interface{} + err = json.Unmarshal(*v, &sinkRetryCount) + if err != nil { + return err + } + js.SinkRetryCount = sinkRetryCount + } + case "sinkRetryWait": + if v != nil { + var sinkRetryWait interface{} + err = json.Unmarshal(*v, &sinkRetryWait) + if err != nil { + return err + } + js.SinkRetryWait = sinkRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + js.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySink + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + js.Type = typeVar + } + } + } + + return nil +} + +// JSONSource a copy activity Json source. +type JSONSource struct { + // StoreSettings - Json store settings. + StoreSettings *StoreReadSettings `json:"storeSettings,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' + Type TypeBasicCopySource `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for JSONSource. +func (js JSONSource) MarshalJSON() ([]byte, error) { + js.Type = TypeJSONSource + objectMap := make(map[string]interface{}) + if js.StoreSettings != nil { + objectMap["storeSettings"] = js.StoreSettings + } + if js.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = js.SourceRetryCount + } + if js.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = js.SourceRetryWait + } + if js.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = js.MaxConcurrentConnections + } + if js.Type != "" { + objectMap["type"] = js.Type + } + for k, v := range js.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHTTPSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + +// AsAmazonRedshiftSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { + return nil, false +} + +// AsGoogleAdWordsSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { + return nil, false +} + +// AsOracleServiceCloudSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { + return nil, false +} + +// AsDynamicsAXSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { + return nil, false +} + +// AsResponsysSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsResponsysSource() (*ResponsysSource, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { + return nil, false +} + +// AsVerticaSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsVerticaSource() (*VerticaSource, bool) { + return nil, false +} + +// AsNetezzaSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsNetezzaSource() (*NetezzaSource, bool) { + return nil, false +} + +// AsZohoSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsZohoSource() (*ZohoSource, bool) { + return nil, false +} + +// AsXeroSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsXeroSource() (*XeroSource, bool) { + return nil, false +} + +// AsSquareSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsSquareSource() (*SquareSource, bool) { + return nil, false +} + +// AsSparkSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsSparkSource() (*SparkSource, bool) { + return nil, false +} + +// AsShopifySource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsShopifySource() (*ShopifySource, bool) { + return nil, false +} + +// AsServiceNowSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsServiceNowSource() (*ServiceNowSource, bool) { + return nil, false +} + +// AsQuickBooksSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsQuickBooksSource() (*QuickBooksSource, bool) { + return nil, false +} + +// AsPrestoSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsPrestoSource() (*PrestoSource, bool) { + return nil, false +} + +// AsPhoenixSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsPhoenixSource() (*PhoenixSource, bool) { + return nil, false +} + +// AsPaypalSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsPaypalSource() (*PaypalSource, bool) { + return nil, false +} + +// AsMarketoSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsMarketoSource() (*MarketoSource, bool) { + return nil, false +} + +// AsAzureMariaDBSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { + return nil, false +} + +// AsMariaDBSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsMariaDBSource() (*MariaDBSource, bool) { + return nil, false +} + +// AsMagentoSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsMagentoSource() (*MagentoSource, bool) { + return nil, false +} + +// AsJiraSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsJiraSource() (*JiraSource, bool) { + return nil, false +} + +// AsImpalaSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsImpalaSource() (*ImpalaSource, bool) { + return nil, false +} + +// AsHubspotSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsHubspotSource() (*HubspotSource, bool) { + return nil, false +} + +// AsHiveSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsHiveSource() (*HiveSource, bool) { + return nil, false +} + +// AsHBaseSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsHBaseSource() (*HBaseSource, bool) { + return nil, false +} + +// AsGreenplumSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsGreenplumSource() (*GreenplumSource, bool) { + return nil, false +} + +// AsGoogleBigQuerySource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { + return nil, false +} + +// AsEloquaSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsEloquaSource() (*EloquaSource, bool) { + return nil, false +} + +// AsDrillSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsDrillSource() (*DrillSource, bool) { + return nil, false +} + +// AsCouchbaseSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsCouchbaseSource() (*CouchbaseSource, bool) { + return nil, false +} + +// AsConcurSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsConcurSource() (*ConcurSource, bool) { + return nil, false +} + +// AsAzurePostgreSQLSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { + return nil, false +} + +// AsAmazonMWSSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { + return nil, false +} + +// AsCassandraSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsCassandraSource() (*CassandraSource, bool) { + return nil, false +} + +// AsTeradataSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsTeradataSource() (*TeradataSource, bool) { + return nil, false +} + +// AsAzureMySQLSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { + return nil, false +} + +// AsSQLDWSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsSQLDWSource() (*SQLDWSource, bool) { + return nil, false +} + +// AsSQLMISource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsSQLMISource() (*SQLMISource, bool) { + return nil, false +} + +// AsAzureSQLSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsAzureSQLSource() (*AzureSQLSource, bool) { + return nil, false +} + +// AsSQLServerSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsSQLServerSource() (*SQLServerSource, bool) { + return nil, false +} + +// AsSQLSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsSQLSource() (*SQLSource, bool) { + return nil, false +} + +// AsSapTableSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsSapTableSource() (*SapTableSource, bool) { + return nil, false +} + +// AsSapOpenHubSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { + return nil, false +} + +// AsSapHanaSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsSapHanaSource() (*SapHanaSource, bool) { + return nil, false +} + +// AsSapEccSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsSapEccSource() (*SapEccSource, bool) { + return nil, false +} + +// AsSapCloudForCustomerSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { + return nil, false +} + +// AsSalesforceSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsSalesforceSource() (*SalesforceSource, bool) { + return nil, false +} + +// AsSapBwSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsSapBwSource() (*SapBwSource, bool) { + return nil, false +} + +// AsSybaseSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsSybaseSource() (*SybaseSource, bool) { + return nil, false +} + +// AsPostgreSQLSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { + return nil, false +} + +// AsMySQLSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsMySQLSource() (*MySQLSource, bool) { + return nil, false +} + +// AsOdbcSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsOdbcSource() (*OdbcSource, bool) { + return nil, false +} + +// AsDb2Source is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsDb2Source() (*Db2Source, bool) { + return nil, false +} + +// AsInformixSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsInformixSource() (*InformixSource, bool) { + return nil, false +} + +// AsAzureTableSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsAzureTableSource() (*AzureTableSource, bool) { + return nil, false +} + +// AsTabularSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsTabularSource() (*TabularSource, bool) { + return nil, false +} + +// AsBasicTabularSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return nil, false +} + +// AsBinarySource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsBinarySource() (*BinarySource, bool) { + return nil, false +} + +// AsOrcSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsOrcSource() (*OrcSource, bool) { + return nil, false +} + +// AsJSONSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsJSONSource() (*JSONSource, bool) { + return &js, true +} + +// AsDelimitedTextSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false +} + +// AsParquetSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for JSONSource. +func (js JSONSource) AsBasicCopySource() (BasicCopySource, bool) { + return &js, true +} + +// UnmarshalJSON is the custom unmarshaler for JSONSource struct. +func (js *JSONSource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "storeSettings": + if v != nil { + var storeSettings StoreReadSettings + err = json.Unmarshal(*v, &storeSettings) + if err != nil { + return err + } + js.StoreSettings = &storeSettings + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if js.AdditionalProperties == nil { + js.AdditionalProperties = make(map[string]interface{}) + } + js.AdditionalProperties[k] = additionalProperties + } + case "sourceRetryCount": + if v != nil { + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) + if err != nil { + return err + } + js.SourceRetryCount = sourceRetryCount + } + case "sourceRetryWait": + if v != nil { + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) + if err != nil { + return err + } + js.SourceRetryWait = sourceRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + js.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySource + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + js.Type = typeVar + } + } + } + + return nil +} + +// JSONWriteSettings json write settings. +type JSONWriteSettings struct { + // FilePattern - File pattern of JSON. This setting controls the way a collection of JSON objects will be treated. The default value is 'setOfObjects'. It is case-sensitive. Possible values include: 'SetOfObjects', 'ArrayOfObjects' + FilePattern JSONWriteFilePattern `json:"filePattern,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Type - The write setting type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for JSONWriteSettings. +func (jws JSONWriteSettings) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if jws.FilePattern != "" { + objectMap["filePattern"] = jws.FilePattern + } + if jws.Type != nil { + objectMap["type"] = jws.Type + } + for k, v := range jws.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for JSONWriteSettings struct. +func (jws *JSONWriteSettings) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "filePattern": + if v != nil { + var filePattern JSONWriteFilePattern + err = json.Unmarshal(*v, &filePattern) + if err != nil { + return err + } + jws.FilePattern = filePattern + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if jws.AdditionalProperties == nil { + jws.AdditionalProperties = make(map[string]interface{}) + } + jws.AdditionalProperties[k] = additionalProperties + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + jws.Type = &typeVar + } + } + } + + return nil +} + +// LicensedComponentSetupTypeProperties installation of licensed component setup type properties. +type LicensedComponentSetupTypeProperties struct { + // ComponentName - The name of the 3rd party component. + ComponentName *string `json:"componentName,omitempty"` + // LicenseKey - The license key to activate the component. + LicenseKey BasicSecretBase `json:"licenseKey,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for LicensedComponentSetupTypeProperties struct. +func (lcstp *LicensedComponentSetupTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "componentName": + if v != nil { + var componentName string + err = json.Unmarshal(*v, &componentName) + if err != nil { + return err + } + lcstp.ComponentName = &componentName + } + case "licenseKey": + if v != nil { + licenseKey, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + lcstp.LicenseKey = licenseKey + } + } + } + + return nil +} + +// LinkedIntegrationRuntime the linked integration runtime information. +type LinkedIntegrationRuntime struct { + // Name - READ-ONLY; The name of the linked integration runtime. + Name *string `json:"name,omitempty"` + // SubscriptionID - READ-ONLY; The subscription ID for which the linked integration runtime belong to. + SubscriptionID *string `json:"subscriptionId,omitempty"` + // DataFactoryName - READ-ONLY; The name of the data factory for which the linked integration runtime belong to. + DataFactoryName *string `json:"dataFactoryName,omitempty"` + // DataFactoryLocation - READ-ONLY; The location of the data factory for which the linked integration runtime belong to. + DataFactoryLocation *string `json:"dataFactoryLocation,omitempty"` + // CreateTime - READ-ONLY; The creating time of the linked integration runtime. + CreateTime *date.Time `json:"createTime,omitempty"` +} + +// LinkedIntegrationRuntimeKeyAuthorization the key authorization type integration runtime. +type LinkedIntegrationRuntimeKeyAuthorization struct { + // Key - The key used for authorization. + Key *SecureString `json:"key,omitempty"` + // AuthorizationType - Possible values include: 'AuthorizationTypeLinkedIntegrationRuntimeType', 'AuthorizationTypeRBAC', 'AuthorizationTypeKey' + AuthorizationType AuthorizationType `json:"authorizationType,omitempty"` +} + +// MarshalJSON is the custom marshaler for LinkedIntegrationRuntimeKeyAuthorization. +func (lirka LinkedIntegrationRuntimeKeyAuthorization) MarshalJSON() ([]byte, error) { + lirka.AuthorizationType = AuthorizationTypeKey + objectMap := make(map[string]interface{}) + if lirka.Key != nil { + objectMap["key"] = lirka.Key + } + if lirka.AuthorizationType != "" { + objectMap["authorizationType"] = lirka.AuthorizationType + } + return json.Marshal(objectMap) +} + +// AsLinkedIntegrationRuntimeRbacAuthorization is the BasicLinkedIntegrationRuntimeType implementation for LinkedIntegrationRuntimeKeyAuthorization. +func (lirka LinkedIntegrationRuntimeKeyAuthorization) AsLinkedIntegrationRuntimeRbacAuthorization() (*LinkedIntegrationRuntimeRbacAuthorization, bool) { + return nil, false +} + +// AsLinkedIntegrationRuntimeKeyAuthorization is the BasicLinkedIntegrationRuntimeType implementation for LinkedIntegrationRuntimeKeyAuthorization. +func (lirka LinkedIntegrationRuntimeKeyAuthorization) AsLinkedIntegrationRuntimeKeyAuthorization() (*LinkedIntegrationRuntimeKeyAuthorization, bool) { + return &lirka, true +} + +// AsLinkedIntegrationRuntimeType is the BasicLinkedIntegrationRuntimeType implementation for LinkedIntegrationRuntimeKeyAuthorization. +func (lirka LinkedIntegrationRuntimeKeyAuthorization) AsLinkedIntegrationRuntimeType() (*LinkedIntegrationRuntimeType, bool) { + return nil, false +} + +// AsBasicLinkedIntegrationRuntimeType is the BasicLinkedIntegrationRuntimeType implementation for LinkedIntegrationRuntimeKeyAuthorization. +func (lirka LinkedIntegrationRuntimeKeyAuthorization) AsBasicLinkedIntegrationRuntimeType() (BasicLinkedIntegrationRuntimeType, bool) { + return &lirka, true +} + +// LinkedIntegrationRuntimeRbacAuthorization the role based access control (RBAC) authorization type +// integration runtime. +type LinkedIntegrationRuntimeRbacAuthorization struct { + // ResourceID - The resource identifier of the integration runtime to be shared. + ResourceID *string `json:"resourceId,omitempty"` + // AuthorizationType - Possible values include: 'AuthorizationTypeLinkedIntegrationRuntimeType', 'AuthorizationTypeRBAC', 'AuthorizationTypeKey' + AuthorizationType AuthorizationType `json:"authorizationType,omitempty"` +} + +// MarshalJSON is the custom marshaler for LinkedIntegrationRuntimeRbacAuthorization. +func (lirra LinkedIntegrationRuntimeRbacAuthorization) MarshalJSON() ([]byte, error) { + lirra.AuthorizationType = AuthorizationTypeRBAC + objectMap := make(map[string]interface{}) + if lirra.ResourceID != nil { + objectMap["resourceId"] = lirra.ResourceID + } + if lirra.AuthorizationType != "" { + objectMap["authorizationType"] = lirra.AuthorizationType + } + return json.Marshal(objectMap) +} + +// AsLinkedIntegrationRuntimeRbacAuthorization is the BasicLinkedIntegrationRuntimeType implementation for LinkedIntegrationRuntimeRbacAuthorization. +func (lirra LinkedIntegrationRuntimeRbacAuthorization) AsLinkedIntegrationRuntimeRbacAuthorization() (*LinkedIntegrationRuntimeRbacAuthorization, bool) { + return &lirra, true +} + +// AsLinkedIntegrationRuntimeKeyAuthorization is the BasicLinkedIntegrationRuntimeType implementation for LinkedIntegrationRuntimeRbacAuthorization. +func (lirra LinkedIntegrationRuntimeRbacAuthorization) AsLinkedIntegrationRuntimeKeyAuthorization() (*LinkedIntegrationRuntimeKeyAuthorization, bool) { + return nil, false +} + +// AsLinkedIntegrationRuntimeType is the BasicLinkedIntegrationRuntimeType implementation for LinkedIntegrationRuntimeRbacAuthorization. +func (lirra LinkedIntegrationRuntimeRbacAuthorization) AsLinkedIntegrationRuntimeType() (*LinkedIntegrationRuntimeType, bool) { + return nil, false +} + +// AsBasicLinkedIntegrationRuntimeType is the BasicLinkedIntegrationRuntimeType implementation for LinkedIntegrationRuntimeRbacAuthorization. +func (lirra LinkedIntegrationRuntimeRbacAuthorization) AsBasicLinkedIntegrationRuntimeType() (BasicLinkedIntegrationRuntimeType, bool) { + return &lirra, true +} + +// LinkedIntegrationRuntimeRequest data factory name for linked integration runtime request. +type LinkedIntegrationRuntimeRequest struct { + // LinkedFactoryName - The data factory name for linked integration runtime. + LinkedFactoryName *string `json:"factoryName,omitempty"` +} + +// BasicLinkedIntegrationRuntimeType the base definition of a linked integration runtime. +type BasicLinkedIntegrationRuntimeType interface { + AsLinkedIntegrationRuntimeRbacAuthorization() (*LinkedIntegrationRuntimeRbacAuthorization, bool) + AsLinkedIntegrationRuntimeKeyAuthorization() (*LinkedIntegrationRuntimeKeyAuthorization, bool) + AsLinkedIntegrationRuntimeType() (*LinkedIntegrationRuntimeType, bool) +} + +// LinkedIntegrationRuntimeType the base definition of a linked integration runtime. +type LinkedIntegrationRuntimeType struct { + // AuthorizationType - Possible values include: 'AuthorizationTypeLinkedIntegrationRuntimeType', 'AuthorizationTypeRBAC', 'AuthorizationTypeKey' + AuthorizationType AuthorizationType `json:"authorizationType,omitempty"` +} + +func unmarshalBasicLinkedIntegrationRuntimeType(body []byte) (BasicLinkedIntegrationRuntimeType, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["authorizationType"] { + case string(AuthorizationTypeRBAC): + var lirra LinkedIntegrationRuntimeRbacAuthorization + err := json.Unmarshal(body, &lirra) + return lirra, err + case string(AuthorizationTypeKey): + var lirka LinkedIntegrationRuntimeKeyAuthorization + err := json.Unmarshal(body, &lirka) + return lirka, err + default: + var lirt LinkedIntegrationRuntimeType + err := json.Unmarshal(body, &lirt) + return lirt, err + } +} +func unmarshalBasicLinkedIntegrationRuntimeTypeArray(body []byte) ([]BasicLinkedIntegrationRuntimeType, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + lirtArray := make([]BasicLinkedIntegrationRuntimeType, len(rawMessages)) + + for index, rawMessage := range rawMessages { + lirt, err := unmarshalBasicLinkedIntegrationRuntimeType(*rawMessage) + if err != nil { + return nil, err + } + lirtArray[index] = lirt + } + return lirtArray, nil +} + +// MarshalJSON is the custom marshaler for LinkedIntegrationRuntimeType. +func (lirt LinkedIntegrationRuntimeType) MarshalJSON() ([]byte, error) { + lirt.AuthorizationType = AuthorizationTypeLinkedIntegrationRuntimeType + objectMap := make(map[string]interface{}) + if lirt.AuthorizationType != "" { + objectMap["authorizationType"] = lirt.AuthorizationType + } + return json.Marshal(objectMap) +} + +// AsLinkedIntegrationRuntimeRbacAuthorization is the BasicLinkedIntegrationRuntimeType implementation for LinkedIntegrationRuntimeType. +func (lirt LinkedIntegrationRuntimeType) AsLinkedIntegrationRuntimeRbacAuthorization() (*LinkedIntegrationRuntimeRbacAuthorization, bool) { + return nil, false +} + +// AsLinkedIntegrationRuntimeKeyAuthorization is the BasicLinkedIntegrationRuntimeType implementation for LinkedIntegrationRuntimeType. +func (lirt LinkedIntegrationRuntimeType) AsLinkedIntegrationRuntimeKeyAuthorization() (*LinkedIntegrationRuntimeKeyAuthorization, bool) { + return nil, false +} + +// AsLinkedIntegrationRuntimeType is the BasicLinkedIntegrationRuntimeType implementation for LinkedIntegrationRuntimeType. +func (lirt LinkedIntegrationRuntimeType) AsLinkedIntegrationRuntimeType() (*LinkedIntegrationRuntimeType, bool) { + return &lirt, true +} + +// AsBasicLinkedIntegrationRuntimeType is the BasicLinkedIntegrationRuntimeType implementation for LinkedIntegrationRuntimeType. +func (lirt LinkedIntegrationRuntimeType) AsBasicLinkedIntegrationRuntimeType() (BasicLinkedIntegrationRuntimeType, bool) { + return &lirt, true +} + +// BasicLinkedService the Azure Data Factory nested object which contains the information and credential which can be +// used to connect with related store or compute resource. +type BasicLinkedService interface { + AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) + AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) + AsSapTableLinkedService() (*SapTableLinkedService, bool) + AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) + AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) + AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) + AsResponsysLinkedService() (*ResponsysLinkedService, bool) + AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) + AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) + AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) + AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) + AsNetezzaLinkedService() (*NetezzaLinkedService, bool) + AsVerticaLinkedService() (*VerticaLinkedService, bool) + AsZohoLinkedService() (*ZohoLinkedService, bool) + AsXeroLinkedService() (*XeroLinkedService, bool) + AsSquareLinkedService() (*SquareLinkedService, bool) + AsSparkLinkedService() (*SparkLinkedService, bool) + AsShopifyLinkedService() (*ShopifyLinkedService, bool) + AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) + AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) + AsPrestoLinkedService() (*PrestoLinkedService, bool) + AsPhoenixLinkedService() (*PhoenixLinkedService, bool) + AsPaypalLinkedService() (*PaypalLinkedService, bool) + AsMarketoLinkedService() (*MarketoLinkedService, bool) + AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) + AsMariaDBLinkedService() (*MariaDBLinkedService, bool) + AsMagentoLinkedService() (*MagentoLinkedService, bool) + AsJiraLinkedService() (*JiraLinkedService, bool) + AsImpalaLinkedService() (*ImpalaLinkedService, bool) + AsHubspotLinkedService() (*HubspotLinkedService, bool) + AsHiveLinkedService() (*HiveLinkedService, bool) + AsHBaseLinkedService() (*HBaseLinkedService, bool) + AsGreenplumLinkedService() (*GreenplumLinkedService, bool) + AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) + AsEloquaLinkedService() (*EloquaLinkedService, bool) + AsDrillLinkedService() (*DrillLinkedService, bool) + AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) + AsConcurLinkedService() (*ConcurLinkedService, bool) + AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) + AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) + AsSapHanaLinkedService() (*SapHanaLinkedService, bool) + AsSapBWLinkedService() (*SapBWLinkedService, bool) + AsSftpServerLinkedService() (*SftpServerLinkedService, bool) + AsFtpServerLinkedService() (*FtpServerLinkedService, bool) + AsHTTPLinkedService() (*HTTPLinkedService, bool) + AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) + AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) + AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) + AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) + AsRestServiceLinkedService() (*RestServiceLinkedService, bool) + AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) + AsSapEccLinkedService() (*SapEccLinkedService, bool) + AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) + AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) + AsSalesforceLinkedService() (*SalesforceLinkedService, bool) + AsOffice365LinkedService() (*Office365LinkedService, bool) + AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) + AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) + AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) + AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) + AsMongoDbLinkedService() (*MongoDbLinkedService, bool) + AsCassandraLinkedService() (*CassandraLinkedService, bool) + AsWebLinkedService() (*WebLinkedService, bool) + AsODataLinkedService() (*ODataLinkedService, bool) + AsHdfsLinkedService() (*HdfsLinkedService, bool) + AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) + AsInformixLinkedService() (*InformixLinkedService, bool) + AsOdbcLinkedService() (*OdbcLinkedService, bool) + AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) + AsAzureMLLinkedService() (*AzureMLLinkedService, bool) + AsTeradataLinkedService() (*TeradataLinkedService, bool) + AsDb2LinkedService() (*Db2LinkedService, bool) + AsSybaseLinkedService() (*SybaseLinkedService, bool) + AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) + AsMySQLLinkedService() (*MySQLLinkedService, bool) + AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) + AsOracleLinkedService() (*OracleLinkedService, bool) + AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) + AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) + AsFileServerLinkedService() (*FileServerLinkedService, bool) + AsHDInsightLinkedService() (*HDInsightLinkedService, bool) + AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) + AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) + AsDynamicsLinkedService() (*DynamicsLinkedService, bool) + AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) + AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) + AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) + AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) + AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) + AsSQLServerLinkedService() (*SQLServerLinkedService, bool) + AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) + AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) + AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) + AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) + AsLinkedService() (*LinkedService, bool) +} + +// LinkedService the Azure Data Factory nested object which contains the information and credential which can +// be used to connect with related store or compute resource. +type LinkedService struct { + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +func unmarshalBasicLinkedService(body []byte) (BasicLinkedService, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["type"] { + case string(TypeAzureFunction): + var afls AzureFunctionLinkedService + err := json.Unmarshal(body, &afls) + return afls, err + case string(TypeAzureDataExplorer): + var adels AzureDataExplorerLinkedService + err := json.Unmarshal(body, &adels) + return adels, err + case string(TypeSapTable): + var stls SapTableLinkedService + err := json.Unmarshal(body, &stls) + return stls, err + case string(TypeGoogleAdWords): + var gawls GoogleAdWordsLinkedService + err := json.Unmarshal(body, &gawls) + return gawls, err + case string(TypeOracleServiceCloud): + var oscls OracleServiceCloudLinkedService + err := json.Unmarshal(body, &oscls) + return oscls, err + case string(TypeDynamicsAX): + var dals DynamicsAXLinkedService + err := json.Unmarshal(body, &dals) + return dals, err + case string(TypeResponsys): + var rls ResponsysLinkedService + err := json.Unmarshal(body, &rls) + return rls, err + case string(TypeAzureDatabricks): + var adls AzureDatabricksLinkedService + err := json.Unmarshal(body, &adls) + return adls, err + case string(TypeAzureDataLakeAnalytics): + var adlals AzureDataLakeAnalyticsLinkedService + err := json.Unmarshal(body, &adlals) + return adlals, err + case string(TypeHDInsightOnDemand): + var hiodls HDInsightOnDemandLinkedService + err := json.Unmarshal(body, &hiodls) + return hiodls, err + case string(TypeSalesforceMarketingCloud): + var smcls SalesforceMarketingCloudLinkedService + err := json.Unmarshal(body, &smcls) + return smcls, err + case string(TypeNetezza): + var nls NetezzaLinkedService + err := json.Unmarshal(body, &nls) + return nls, err + case string(TypeVertica): + var vls VerticaLinkedService + err := json.Unmarshal(body, &vls) + return vls, err + case string(TypeZoho): + var zls ZohoLinkedService + err := json.Unmarshal(body, &zls) + return zls, err + case string(TypeXero): + var xls XeroLinkedService + err := json.Unmarshal(body, &xls) + return xls, err + case string(TypeSquare): + var sls SquareLinkedService + err := json.Unmarshal(body, &sls) + return sls, err + case string(TypeSpark): + var sls SparkLinkedService + err := json.Unmarshal(body, &sls) + return sls, err + case string(TypeShopify): + var sls ShopifyLinkedService + err := json.Unmarshal(body, &sls) + return sls, err + case string(TypeServiceNow): + var snls ServiceNowLinkedService + err := json.Unmarshal(body, &snls) + return snls, err + case string(TypeQuickBooks): + var qbls QuickBooksLinkedService + err := json.Unmarshal(body, &qbls) + return qbls, err + case string(TypePresto): + var pls PrestoLinkedService + err := json.Unmarshal(body, &pls) + return pls, err + case string(TypePhoenix): + var pls PhoenixLinkedService + err := json.Unmarshal(body, &pls) + return pls, err + case string(TypePaypal): + var pls PaypalLinkedService + err := json.Unmarshal(body, &pls) + return pls, err + case string(TypeMarketo): + var mls MarketoLinkedService + err := json.Unmarshal(body, &mls) + return mls, err + case string(TypeAzureMariaDB): + var amdls AzureMariaDBLinkedService + err := json.Unmarshal(body, &amdls) + return amdls, err + case string(TypeMariaDB): + var mdls MariaDBLinkedService + err := json.Unmarshal(body, &mdls) + return mdls, err + case string(TypeMagento): + var mls MagentoLinkedService + err := json.Unmarshal(body, &mls) + return mls, err + case string(TypeJira): + var jls JiraLinkedService + err := json.Unmarshal(body, &jls) + return jls, err + case string(TypeImpala): + var ils ImpalaLinkedService + err := json.Unmarshal(body, &ils) + return ils, err + case string(TypeHubspot): + var hls HubspotLinkedService + err := json.Unmarshal(body, &hls) + return hls, err + case string(TypeHive): + var hls HiveLinkedService + err := json.Unmarshal(body, &hls) + return hls, err + case string(TypeHBase): + var hbls HBaseLinkedService + err := json.Unmarshal(body, &hbls) + return hbls, err + case string(TypeGreenplum): + var gls GreenplumLinkedService + err := json.Unmarshal(body, &gls) + return gls, err + case string(TypeGoogleBigQuery): + var gbqls GoogleBigQueryLinkedService + err := json.Unmarshal(body, &gbqls) + return gbqls, err + case string(TypeEloqua): + var els EloquaLinkedService + err := json.Unmarshal(body, &els) + return els, err + case string(TypeDrill): + var dls DrillLinkedService + err := json.Unmarshal(body, &dls) + return dls, err + case string(TypeCouchbase): + var cls CouchbaseLinkedService + err := json.Unmarshal(body, &cls) + return cls, err + case string(TypeConcur): + var cls ConcurLinkedService + err := json.Unmarshal(body, &cls) + return cls, err + case string(TypeAzurePostgreSQL): + var apsls AzurePostgreSQLLinkedService + err := json.Unmarshal(body, &apsls) + return apsls, err + case string(TypeAmazonMWS): + var amls AmazonMWSLinkedService + err := json.Unmarshal(body, &amls) + return amls, err + case string(TypeSapHana): + var shls SapHanaLinkedService + err := json.Unmarshal(body, &shls) + return shls, err + case string(TypeSapBW): + var sbls SapBWLinkedService + err := json.Unmarshal(body, &sbls) + return sbls, err + case string(TypeSftp): + var ssls SftpServerLinkedService + err := json.Unmarshal(body, &ssls) + return ssls, err + case string(TypeFtpServer): + var fsls FtpServerLinkedService + err := json.Unmarshal(body, &fsls) + return fsls, err + case string(TypeHTTPServer): + var hls HTTPLinkedService + err := json.Unmarshal(body, &hls) + return hls, err + case string(TypeAzureSearch): + var asls AzureSearchLinkedService + err := json.Unmarshal(body, &asls) + return asls, err + case string(TypeCustomDataSource): + var cdsls CustomDataSourceLinkedService + err := json.Unmarshal(body, &cdsls) + return cdsls, err + case string(TypeAmazonRedshift): + var arls AmazonRedshiftLinkedService + err := json.Unmarshal(body, &arls) + return arls, err + case string(TypeAmazonS3): + var asls AmazonS3LinkedService + err := json.Unmarshal(body, &asls) + return asls, err + case string(TypeRestService): + var rsls RestServiceLinkedService + err := json.Unmarshal(body, &rsls) + return rsls, err + case string(TypeSapOpenHub): + var sohls SapOpenHubLinkedService + err := json.Unmarshal(body, &sohls) + return sohls, err + case string(TypeSapEcc): + var sels SapEccLinkedService + err := json.Unmarshal(body, &sels) + return sels, err + case string(TypeSapCloudForCustomer): + var scfcls SapCloudForCustomerLinkedService + err := json.Unmarshal(body, &scfcls) + return scfcls, err + case string(TypeSalesforceServiceCloud): + var sscls SalesforceServiceCloudLinkedService + err := json.Unmarshal(body, &sscls) + return sscls, err + case string(TypeSalesforce): + var sls SalesforceLinkedService + err := json.Unmarshal(body, &sls) + return sls, err + case string(TypeOffice365): + var o3ls Office365LinkedService + err := json.Unmarshal(body, &o3ls) + return o3ls, err + case string(TypeAzureBlobFS): + var abfls AzureBlobFSLinkedService + err := json.Unmarshal(body, &abfls) + return abfls, err + case string(TypeAzureDataLakeStore): + var adlsls AzureDataLakeStoreLinkedService + err := json.Unmarshal(body, &adlsls) + return adlsls, err + case string(TypeCosmosDbMongoDbAPI): + var cdmdals CosmosDbMongoDbAPILinkedService + err := json.Unmarshal(body, &cdmdals) + return cdmdals, err + case string(TypeMongoDbV2): + var mdvls MongoDbV2LinkedService + err := json.Unmarshal(body, &mdvls) + return mdvls, err + case string(TypeMongoDb): + var mdls MongoDbLinkedService + err := json.Unmarshal(body, &mdls) + return mdls, err + case string(TypeCassandra): + var cls CassandraLinkedService + err := json.Unmarshal(body, &cls) + return cls, err + case string(TypeWeb): + var wls WebLinkedService + err := json.Unmarshal(body, &wls) + return wls, err + case string(TypeOData): + var odls ODataLinkedService + err := json.Unmarshal(body, &odls) + return odls, err + case string(TypeHdfs): + var hls HdfsLinkedService + err := json.Unmarshal(body, &hls) + return hls, err + case string(TypeMicrosoftAccess): + var mals MicrosoftAccessLinkedService + err := json.Unmarshal(body, &mals) + return mals, err + case string(TypeInformix): + var ils InformixLinkedService + err := json.Unmarshal(body, &ils) + return ils, err + case string(TypeOdbc): + var ols OdbcLinkedService + err := json.Unmarshal(body, &ols) + return ols, err + case string(TypeAzureMLService): + var amsls AzureMLServiceLinkedService + err := json.Unmarshal(body, &amsls) + return amsls, err + case string(TypeAzureML): + var amls AzureMLLinkedService + err := json.Unmarshal(body, &amls) + return amls, err + case string(TypeTeradata): + var TLSVar TeradataLinkedService + err := json.Unmarshal(body, &TLSVar) + return TLSVar, err + case string(TypeDb2): + var d2ls Db2LinkedService + err := json.Unmarshal(body, &d2ls) + return d2ls, err + case string(TypeSybase): + var sls SybaseLinkedService + err := json.Unmarshal(body, &sls) + return sls, err + case string(TypePostgreSQL): + var psls PostgreSQLLinkedService + err := json.Unmarshal(body, &psls) + return psls, err + case string(TypeMySQL): + var msls MySQLLinkedService + err := json.Unmarshal(body, &msls) + return msls, err + case string(TypeAzureMySQL): + var amsls AzureMySQLLinkedService + err := json.Unmarshal(body, &amsls) + return amsls, err + case string(TypeOracle): + var ols OracleLinkedService + err := json.Unmarshal(body, &ols) + return ols, err + case string(TypeGoogleCloudStorage): + var gcsls GoogleCloudStorageLinkedService + err := json.Unmarshal(body, &gcsls) + return gcsls, err + case string(TypeAzureFileStorage): + var afsls AzureFileStorageLinkedService + err := json.Unmarshal(body, &afsls) + return afsls, err + case string(TypeFileServer): + var fsls FileServerLinkedService + err := json.Unmarshal(body, &fsls) + return fsls, err + case string(TypeHDInsight): + var hils HDInsightLinkedService + err := json.Unmarshal(body, &hils) + return hils, err + case string(TypeCommonDataServiceForApps): + var cdsfals CommonDataServiceForAppsLinkedService + err := json.Unmarshal(body, &cdsfals) + return cdsfals, err + case string(TypeDynamicsCrm): + var dcls DynamicsCrmLinkedService + err := json.Unmarshal(body, &dcls) + return dcls, err + case string(TypeDynamics): + var dls DynamicsLinkedService + err := json.Unmarshal(body, &dls) + return dls, err + case string(TypeCosmosDb): + var cdls CosmosDbLinkedService + err := json.Unmarshal(body, &cdls) + return cdls, err + case string(TypeAzureKeyVault): + var akvls AzureKeyVaultLinkedService + err := json.Unmarshal(body, &akvls) + return akvls, err + case string(TypeAzureBatch): + var abls AzureBatchLinkedService + err := json.Unmarshal(body, &abls) + return abls, err + case string(TypeAzureSQLMI): + var asmls AzureSQLMILinkedService + err := json.Unmarshal(body, &asmls) + return asmls, err + case string(TypeAzureSQLDatabase): + var asdls AzureSQLDatabaseLinkedService + err := json.Unmarshal(body, &asdls) + return asdls, err + case string(TypeSQLServer): + var ssls SQLServerLinkedService + err := json.Unmarshal(body, &ssls) + return ssls, err + case string(TypeAzureSQLDW): + var asdls AzureSQLDWLinkedService + err := json.Unmarshal(body, &asdls) + return asdls, err + case string(TypeAzureTableStorage): + var atsls AzureTableStorageLinkedService + err := json.Unmarshal(body, &atsls) + return atsls, err + case string(TypeAzureBlobStorage): + var absls AzureBlobStorageLinkedService + err := json.Unmarshal(body, &absls) + return absls, err + case string(TypeAzureStorage): + var asls AzureStorageLinkedService + err := json.Unmarshal(body, &asls) + return asls, err + default: + var ls LinkedService + err := json.Unmarshal(body, &ls) + return ls, err + } +} +func unmarshalBasicLinkedServiceArray(body []byte) ([]BasicLinkedService, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + lsArray := make([]BasicLinkedService, len(rawMessages)) + + for index, rawMessage := range rawMessages { + ls, err := unmarshalBasicLinkedService(*rawMessage) + if err != nil { + return nil, err + } + lsArray[index] = ls + } + return lsArray, nil +} + +// MarshalJSON is the custom marshaler for LinkedService. +func (ls LinkedService) MarshalJSON() ([]byte, error) { + ls.Type = TypeLinkedService + objectMap := make(map[string]interface{}) + if ls.ConnectVia != nil { + objectMap["connectVia"] = ls.ConnectVia + } + if ls.Description != nil { + objectMap["description"] = ls.Description + } + if ls.Parameters != nil { + objectMap["parameters"] = ls.Parameters + } + if ls.Annotations != nil { + objectMap["annotations"] = ls.Annotations + } + if ls.Type != "" { + objectMap["type"] = ls.Type + } + for k, v := range ls.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { return nil, false } -// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for JiraLinkedService. -func (jls JiraLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return nil, false +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return nil, false +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return nil, false +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return nil, false +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return nil, false +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return nil, false +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return nil, false +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return nil, false +} + +// AsZohoLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { + return nil, false +} + +// AsXeroLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { + return nil, false +} + +// AsSquareLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { + return nil, false +} + +// AsSparkLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { + return nil, false +} + +// AsShopifyLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { + return nil, false +} + +// AsServiceNowLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { + return nil, false +} + +// AsQuickBooksLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { + return nil, false +} + +// AsPrestoLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return nil, false +} + +// AsPhoenixLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return nil, false +} + +// AsPaypalLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return nil, false +} + +// AsMarketoLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return nil, false +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { + return nil, false +} + +// AsMariaDBLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { + return nil, false +} + +// AsMagentoLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return nil, false +} + +// AsJiraLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return nil, false +} + +// AsImpalaLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { + return nil, false +} + +// AsHubspotLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false +} + +// AsHiveLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return nil, false +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return nil, false +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return nil, false +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return nil, false +} + +// AsDrillLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return nil, false +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return nil, false +} + +// AsConcurLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return nil, false +} + +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return nil, false +} + +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false +} + +// AsSapHanaLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return nil, false +} + +// AsSapBWLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return nil, false +} + +// AsSftpServerLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return nil, false +} + +// AsFtpServerLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return nil, false +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return nil, false +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false +} + +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false +} + +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false +} + +// AsSapEccLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false +} + +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false +} + +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false +} + +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return nil, false +} + +// AsMongoDbLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false +} + +// AsWebLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsWebLinkedService() (*WebLinkedService, bool) { + return nil, false +} + +// AsODataLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { + return nil, false +} + +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return nil, false +} + +// AsInformixLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { + return nil, false +} + +// AsOdbcLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { + return nil, false +} + +// AsTeradataLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { + return nil, false +} + +// AsDb2LinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false +} + +// AsSybaseLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { + return nil, false +} + +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { return nil, false } -// AsSapTableLinkedService is the BasicLinkedService implementation for JiraLinkedService. -func (jls JiraLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { +// AsMySQLLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { return nil, false } -// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for JiraLinkedService. -func (jls JiraLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { return nil, false } -// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for JiraLinkedService. -func (jls JiraLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { +// AsOracleLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { return nil, false } -// AsDynamicsAXLinkedService is the BasicLinkedService implementation for JiraLinkedService. -func (jls JiraLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { return nil, false } -// AsResponsysLinkedService is the BasicLinkedService implementation for JiraLinkedService. -func (jls JiraLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { return nil, false } -// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for JiraLinkedService. -func (jls JiraLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { +// AsFileServerLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { return nil, false } -// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for JiraLinkedService. -func (jls JiraLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { +// AsHDInsightLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { return nil, false } -// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for JiraLinkedService. -func (jls JiraLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { return nil, false } -// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for JiraLinkedService. -func (jls JiraLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { return nil, false } -// AsNetezzaLinkedService is the BasicLinkedService implementation for JiraLinkedService. -func (jls JiraLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { +// AsDynamicsLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { return nil, false } -// AsVerticaLinkedService is the BasicLinkedService implementation for JiraLinkedService. -func (jls JiraLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { +// AsCosmosDbLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { return nil, false } -// AsZohoLinkedService is the BasicLinkedService implementation for JiraLinkedService. -func (jls JiraLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { return nil, false } -// AsXeroLinkedService is the BasicLinkedService implementation for JiraLinkedService. -func (jls JiraLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { +// AsAzureBatchLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { return nil, false } -// AsSquareLinkedService is the BasicLinkedService implementation for JiraLinkedService. -func (jls JiraLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { return nil, false } -// AsSparkLinkedService is the BasicLinkedService implementation for JiraLinkedService. -func (jls JiraLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { return nil, false } -// AsShopifyLinkedService is the BasicLinkedService implementation for JiraLinkedService. -func (jls JiraLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { +// AsSQLServerLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { return nil, false } -// AsServiceNowLinkedService is the BasicLinkedService implementation for JiraLinkedService. -func (jls JiraLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { return nil, false } -// AsQuickBooksLinkedService is the BasicLinkedService implementation for JiraLinkedService. -func (jls JiraLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { return nil, false } -// AsPrestoLinkedService is the BasicLinkedService implementation for JiraLinkedService. -func (jls JiraLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { return nil, false } -// AsPhoenixLinkedService is the BasicLinkedService implementation for JiraLinkedService. -func (jls JiraLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { +// AsAzureStorageLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { return nil, false } -// AsPaypalLinkedService is the BasicLinkedService implementation for JiraLinkedService. -func (jls JiraLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { - return nil, false +// AsLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsLinkedService() (*LinkedService, bool) { + return &ls, true } -// AsMarketoLinkedService is the BasicLinkedService implementation for JiraLinkedService. -func (jls JiraLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { - return nil, false +// AsBasicLinkedService is the BasicLinkedService implementation for LinkedService. +func (ls LinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &ls, true } -// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for JiraLinkedService. -func (jls JiraLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { - return nil, false +// UnmarshalJSON is the custom unmarshaler for LinkedService struct. +func (ls *LinkedService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if ls.AdditionalProperties == nil { + ls.AdditionalProperties = make(map[string]interface{}) + } + ls.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + ls.ConnectVia = &connectVia + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + ls.Description = &description + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + ls.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + ls.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ls.Type = typeVar + } + } + } + + return nil } -// AsMariaDBLinkedService is the BasicLinkedService implementation for JiraLinkedService. -func (jls JiraLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { - return nil, false +// LinkedServiceDebugResource linked service debug resource. +type LinkedServiceDebugResource struct { + // Properties - Properties of linked service. + Properties BasicLinkedService `json:"properties,omitempty"` + // Name - The resource name. + Name *string `json:"name,omitempty"` } -// AsMagentoLinkedService is the BasicLinkedService implementation for JiraLinkedService. -func (jls JiraLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { - return nil, false +// UnmarshalJSON is the custom unmarshaler for LinkedServiceDebugResource struct. +func (lsdr *LinkedServiceDebugResource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + properties, err := unmarshalBasicLinkedService(*v) + if err != nil { + return err + } + lsdr.Properties = properties + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + lsdr.Name = &name + } + } + } + + return nil } -// AsJiraLinkedService is the BasicLinkedService implementation for JiraLinkedService. -func (jls JiraLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { - return &jls, true +// LinkedServiceListResponse a list of linked service resources. +type LinkedServiceListResponse struct { + autorest.Response `json:"-"` + // Value - List of linked services. + Value *[]LinkedServiceResource `json:"value,omitempty"` + // NextLink - The link to the next page of results, if any remaining results exist. + NextLink *string `json:"nextLink,omitempty"` } -// AsImpalaLinkedService is the BasicLinkedService implementation for JiraLinkedService. -func (jls JiraLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { - return nil, false +// LinkedServiceListResponseIterator provides access to a complete listing of LinkedServiceResource values. +type LinkedServiceListResponseIterator struct { + i int + page LinkedServiceListResponsePage } -// AsHubspotLinkedService is the BasicLinkedService implementation for JiraLinkedService. -func (jls JiraLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { - return nil, false +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *LinkedServiceListResponseIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LinkedServiceListResponseIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil } -// AsHiveLinkedService is the BasicLinkedService implementation for JiraLinkedService. -func (jls JiraLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { - return nil, false +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *LinkedServiceListResponseIterator) Next() error { + return iter.NextWithContext(context.Background()) } -// AsHBaseLinkedService is the BasicLinkedService implementation for JiraLinkedService. -func (jls JiraLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { - return nil, false +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter LinkedServiceListResponseIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) } -// AsGreenplumLinkedService is the BasicLinkedService implementation for JiraLinkedService. -func (jls JiraLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { - return nil, false +// Response returns the raw server response from the last page request. +func (iter LinkedServiceListResponseIterator) Response() LinkedServiceListResponse { + return iter.page.Response() } -// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for JiraLinkedService. -func (jls JiraLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { - return nil, false +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter LinkedServiceListResponseIterator) Value() LinkedServiceResource { + if !iter.page.NotDone() { + return LinkedServiceResource{} + } + return iter.page.Values()[iter.i] } -// AsEloquaLinkedService is the BasicLinkedService implementation for JiraLinkedService. -func (jls JiraLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { - return nil, false +// Creates a new instance of the LinkedServiceListResponseIterator type. +func NewLinkedServiceListResponseIterator(page LinkedServiceListResponsePage) LinkedServiceListResponseIterator { + return LinkedServiceListResponseIterator{page: page} } -// AsDrillLinkedService is the BasicLinkedService implementation for JiraLinkedService. -func (jls JiraLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { - return nil, false +// IsEmpty returns true if the ListResult contains no values. +func (lslr LinkedServiceListResponse) IsEmpty() bool { + return lslr.Value == nil || len(*lslr.Value) == 0 } -// AsCouchbaseLinkedService is the BasicLinkedService implementation for JiraLinkedService. -func (jls JiraLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { - return nil, false +// linkedServiceListResponsePreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (lslr LinkedServiceListResponse) linkedServiceListResponsePreparer(ctx context.Context) (*http.Request, error) { + if lslr.NextLink == nil || len(to.String(lslr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(lslr.NextLink))) } -// AsConcurLinkedService is the BasicLinkedService implementation for JiraLinkedService. -func (jls JiraLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { - return nil, false +// LinkedServiceListResponsePage contains a page of LinkedServiceResource values. +type LinkedServiceListResponsePage struct { + fn func(context.Context, LinkedServiceListResponse) (LinkedServiceListResponse, error) + lslr LinkedServiceListResponse } -// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for JiraLinkedService. -func (jls JiraLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { - return nil, false +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *LinkedServiceListResponsePage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LinkedServiceListResponsePage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.lslr) + if err != nil { + return err + } + page.lslr = next + return nil } -// AsAmazonMWSLinkedService is the BasicLinkedService implementation for JiraLinkedService. -func (jls JiraLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { - return nil, false +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *LinkedServiceListResponsePage) Next() error { + return page.NextWithContext(context.Background()) } -// AsSapHanaLinkedService is the BasicLinkedService implementation for JiraLinkedService. -func (jls JiraLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { - return nil, false +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page LinkedServiceListResponsePage) NotDone() bool { + return !page.lslr.IsEmpty() } -// AsSapBWLinkedService is the BasicLinkedService implementation for JiraLinkedService. -func (jls JiraLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { - return nil, false +// Response returns the raw server response from the last page request. +func (page LinkedServiceListResponsePage) Response() LinkedServiceListResponse { + return page.lslr } -// AsSftpServerLinkedService is the BasicLinkedService implementation for JiraLinkedService. -func (jls JiraLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { - return nil, false +// Values returns the slice of values for the current page or nil if there are no values. +func (page LinkedServiceListResponsePage) Values() []LinkedServiceResource { + if page.lslr.IsEmpty() { + return nil + } + return *page.lslr.Value } -// AsFtpServerLinkedService is the BasicLinkedService implementation for JiraLinkedService. -func (jls JiraLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { - return nil, false +// Creates a new instance of the LinkedServiceListResponsePage type. +func NewLinkedServiceListResponsePage(getNextPage func(context.Context, LinkedServiceListResponse) (LinkedServiceListResponse, error)) LinkedServiceListResponsePage { + return LinkedServiceListResponsePage{fn: getNextPage} } -// AsHTTPLinkedService is the BasicLinkedService implementation for JiraLinkedService. -func (jls JiraLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { - return nil, false +// LinkedServiceReference linked service reference type. +type LinkedServiceReference struct { + // Type - Linked service reference type. + Type *string `json:"type,omitempty"` + // ReferenceName - Reference LinkedService name. + ReferenceName *string `json:"referenceName,omitempty"` + // Parameters - Arguments for LinkedService. + Parameters map[string]interface{} `json:"parameters"` } -// AsAzureSearchLinkedService is the BasicLinkedService implementation for JiraLinkedService. -func (jls JiraLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { - return nil, false +// MarshalJSON is the custom marshaler for LinkedServiceReference. +func (lsr LinkedServiceReference) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if lsr.Type != nil { + objectMap["type"] = lsr.Type + } + if lsr.ReferenceName != nil { + objectMap["referenceName"] = lsr.ReferenceName + } + if lsr.Parameters != nil { + objectMap["parameters"] = lsr.Parameters + } + return json.Marshal(objectMap) } -// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for JiraLinkedService. -func (jls JiraLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { - return nil, false +// LinkedServiceResource linked service resource type. +type LinkedServiceResource struct { + autorest.Response `json:"-"` + // Properties - Properties of linked service. + Properties BasicLinkedService `json:"properties,omitempty"` + // ID - READ-ONLY; The resource identifier. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; The resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; The resource type. + Type *string `json:"type,omitempty"` + // Etag - READ-ONLY; Etag identifies change in the resource. + Etag *string `json:"etag,omitempty"` } -// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for JiraLinkedService. -func (jls JiraLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { - return nil, false +// UnmarshalJSON is the custom unmarshaler for LinkedServiceResource struct. +func (lsr *LinkedServiceResource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + properties, err := unmarshalBasicLinkedService(*v) + if err != nil { + return err + } + lsr.Properties = properties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + lsr.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + lsr.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + lsr.Type = &typeVar + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + lsr.Etag = &etag + } + } + } + + return nil } -// AsAmazonS3LinkedService is the BasicLinkedService implementation for JiraLinkedService. -func (jls JiraLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { - return nil, false +// LogStorageSettings log storage settings. +type LogStorageSettings struct { + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // LinkedServiceName - Log storage linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Path - The path to storage for storing detailed logs of activity execution. Type: string (or Expression with resultType string). + Path interface{} `json:"path,omitempty"` } -// AsRestServiceLinkedService is the BasicLinkedService implementation for JiraLinkedService. -func (jls JiraLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { - return nil, false +// MarshalJSON is the custom marshaler for LogStorageSettings. +func (lss LogStorageSettings) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if lss.LinkedServiceName != nil { + objectMap["linkedServiceName"] = lss.LinkedServiceName + } + if lss.Path != nil { + objectMap["path"] = lss.Path + } + for k, v := range lss.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) } -// AsSapOpenHubLinkedService is the BasicLinkedService implementation for JiraLinkedService. -func (jls JiraLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { - return nil, false +// UnmarshalJSON is the custom unmarshaler for LogStorageSettings struct. +func (lss *LogStorageSettings) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if lss.AdditionalProperties == nil { + lss.AdditionalProperties = make(map[string]interface{}) + } + lss.AdditionalProperties[k] = additionalProperties + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + lss.LinkedServiceName = &linkedServiceName + } + case "path": + if v != nil { + var pathVar interface{} + err = json.Unmarshal(*v, &pathVar) + if err != nil { + return err + } + lss.Path = pathVar + } + } + } + + return nil } -// AsSapEccLinkedService is the BasicLinkedService implementation for JiraLinkedService. -func (jls JiraLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { - return nil, false +// LookupActivity lookup activity. +type LookupActivity struct { + // LookupActivityTypeProperties - Lookup activity properties. + *LookupActivityTypeProperties `json:"typeProperties,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Policy - Activity policy. + Policy *ActivityPolicy `json:"policy,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Name - Activity name. + Name *string `json:"name,omitempty"` + // Description - Activity description. + Description *string `json:"description,omitempty"` + // DependsOn - Activity depends on condition. + DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"` + // UserProperties - Activity user properties. + UserProperties *[]UserProperty `json:"userProperties,omitempty"` + // Type - Possible values include: 'TypeActivity', 'TypeExecuteDataFlow', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLExecutePipeline', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeSwitch', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer' + Type TypeBasicActivity `json:"type,omitempty"` } -// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for JiraLinkedService. -func (jls JiraLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { - return nil, false +// MarshalJSON is the custom marshaler for LookupActivity. +func (la LookupActivity) MarshalJSON() ([]byte, error) { + la.Type = TypeLookup + objectMap := make(map[string]interface{}) + if la.LookupActivityTypeProperties != nil { + objectMap["typeProperties"] = la.LookupActivityTypeProperties + } + if la.LinkedServiceName != nil { + objectMap["linkedServiceName"] = la.LinkedServiceName + } + if la.Policy != nil { + objectMap["policy"] = la.Policy + } + if la.Name != nil { + objectMap["name"] = la.Name + } + if la.Description != nil { + objectMap["description"] = la.Description + } + if la.DependsOn != nil { + objectMap["dependsOn"] = la.DependsOn + } + if la.UserProperties != nil { + objectMap["userProperties"] = la.UserProperties + } + if la.Type != "" { + objectMap["type"] = la.Type + } + for k, v := range la.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) } -// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for JiraLinkedService. -func (jls JiraLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { +// AsExecuteDataFlowActivity is the BasicActivity implementation for LookupActivity. +func (la LookupActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) { return nil, false } -// AsSalesforceLinkedService is the BasicLinkedService implementation for JiraLinkedService. -func (jls JiraLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { +// AsAzureFunctionActivity is the BasicActivity implementation for LookupActivity. +func (la LookupActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) { return nil, false } -// AsOffice365LinkedService is the BasicLinkedService implementation for JiraLinkedService. -func (jls JiraLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { +// AsDatabricksSparkPythonActivity is the BasicActivity implementation for LookupActivity. +func (la LookupActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) { return nil, false } -// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for JiraLinkedService. -func (jls JiraLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { +// AsDatabricksSparkJarActivity is the BasicActivity implementation for LookupActivity. +func (la LookupActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) { return nil, false } -// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for JiraLinkedService. -func (jls JiraLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { +// AsDatabricksNotebookActivity is the BasicActivity implementation for LookupActivity. +func (la LookupActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) { return nil, false } -// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for JiraLinkedService. -func (jls JiraLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { +// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for LookupActivity. +func (la LookupActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) { return nil, false } -// AsMongoDbV2LinkedService is the BasicLinkedService implementation for JiraLinkedService. -func (jls JiraLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { +// AsAzureMLExecutePipelineActivity is the BasicActivity implementation for LookupActivity. +func (la LookupActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) { return nil, false } -// AsMongoDbLinkedService is the BasicLinkedService implementation for JiraLinkedService. -func (jls JiraLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { +// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for LookupActivity. +func (la LookupActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) { return nil, false } -// AsCassandraLinkedService is the BasicLinkedService implementation for JiraLinkedService. -func (jls JiraLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { +// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for LookupActivity. +func (la LookupActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) { return nil, false } -// AsWebLinkedService is the BasicLinkedService implementation for JiraLinkedService. -func (jls JiraLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { +// AsGetMetadataActivity is the BasicActivity implementation for LookupActivity. +func (la LookupActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) { return nil, false } -// AsODataLinkedService is the BasicLinkedService implementation for JiraLinkedService. -func (jls JiraLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { +// AsWebActivity is the BasicActivity implementation for LookupActivity. +func (la LookupActivity) AsWebActivity() (*WebActivity, bool) { return nil, false } -// AsHdfsLinkedService is the BasicLinkedService implementation for JiraLinkedService. -func (jls JiraLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { - return nil, false +// AsLookupActivity is the BasicActivity implementation for LookupActivity. +func (la LookupActivity) AsLookupActivity() (*LookupActivity, bool) { + return &la, true } -// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for JiraLinkedService. -func (jls JiraLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { +// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for LookupActivity. +func (la LookupActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) { return nil, false } -// AsInformixLinkedService is the BasicLinkedService implementation for JiraLinkedService. -func (jls JiraLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { +// AsDeleteActivity is the BasicActivity implementation for LookupActivity. +func (la LookupActivity) AsDeleteActivity() (*DeleteActivity, bool) { return nil, false } -// AsOdbcLinkedService is the BasicLinkedService implementation for JiraLinkedService. -func (jls JiraLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { +// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for LookupActivity. +func (la LookupActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) { return nil, false } -// AsAzureMLLinkedService is the BasicLinkedService implementation for JiraLinkedService. -func (jls JiraLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { +// AsCustomActivity is the BasicActivity implementation for LookupActivity. +func (la LookupActivity) AsCustomActivity() (*CustomActivity, bool) { return nil, false } -// AsTeradataLinkedService is the BasicLinkedService implementation for JiraLinkedService. -func (jls JiraLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { +// AsExecuteSSISPackageActivity is the BasicActivity implementation for LookupActivity. +func (la LookupActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) { return nil, false } -// AsDb2LinkedService is the BasicLinkedService implementation for JiraLinkedService. -func (jls JiraLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { +// AsHDInsightSparkActivity is the BasicActivity implementation for LookupActivity. +func (la LookupActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) { return nil, false } -// AsSybaseLinkedService is the BasicLinkedService implementation for JiraLinkedService. -func (jls JiraLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { +// AsHDInsightStreamingActivity is the BasicActivity implementation for LookupActivity. +func (la LookupActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) { return nil, false } -// AsPostgreSQLLinkedService is the BasicLinkedService implementation for JiraLinkedService. -func (jls JiraLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { +// AsHDInsightMapReduceActivity is the BasicActivity implementation for LookupActivity. +func (la LookupActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) { return nil, false } -// AsMySQLLinkedService is the BasicLinkedService implementation for JiraLinkedService. -func (jls JiraLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { +// AsHDInsightPigActivity is the BasicActivity implementation for LookupActivity. +func (la LookupActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) { return nil, false } -// AsAzureMySQLLinkedService is the BasicLinkedService implementation for JiraLinkedService. -func (jls JiraLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { +// AsHDInsightHiveActivity is the BasicActivity implementation for LookupActivity. +func (la LookupActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) { return nil, false } -// AsOracleLinkedService is the BasicLinkedService implementation for JiraLinkedService. -func (jls JiraLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { +// AsCopyActivity is the BasicActivity implementation for LookupActivity. +func (la LookupActivity) AsCopyActivity() (*CopyActivity, bool) { return nil, false } -// AsFileServerLinkedService is the BasicLinkedService implementation for JiraLinkedService. -func (jls JiraLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { +// AsExecutionActivity is the BasicActivity implementation for LookupActivity. +func (la LookupActivity) AsExecutionActivity() (*ExecutionActivity, bool) { return nil, false } -// AsHDInsightLinkedService is the BasicLinkedService implementation for JiraLinkedService. -func (jls JiraLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { - return nil, false +// AsBasicExecutionActivity is the BasicActivity implementation for LookupActivity. +func (la LookupActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) { + return &la, true } -// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for JiraLinkedService. -func (jls JiraLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { +// AsWebHookActivity is the BasicActivity implementation for LookupActivity. +func (la LookupActivity) AsWebHookActivity() (*WebHookActivity, bool) { return nil, false } -// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for JiraLinkedService. -func (jls JiraLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { +// AsAppendVariableActivity is the BasicActivity implementation for LookupActivity. +func (la LookupActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) { return nil, false } -// AsDynamicsLinkedService is the BasicLinkedService implementation for JiraLinkedService. -func (jls JiraLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { +// AsSetVariableActivity is the BasicActivity implementation for LookupActivity. +func (la LookupActivity) AsSetVariableActivity() (*SetVariableActivity, bool) { return nil, false } -// AsCosmosDbLinkedService is the BasicLinkedService implementation for JiraLinkedService. -func (jls JiraLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { +// AsFilterActivity is the BasicActivity implementation for LookupActivity. +func (la LookupActivity) AsFilterActivity() (*FilterActivity, bool) { return nil, false } -// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for JiraLinkedService. -func (jls JiraLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { +// AsValidationActivity is the BasicActivity implementation for LookupActivity. +func (la LookupActivity) AsValidationActivity() (*ValidationActivity, bool) { return nil, false } -// AsAzureBatchLinkedService is the BasicLinkedService implementation for JiraLinkedService. -func (jls JiraLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { +// AsUntilActivity is the BasicActivity implementation for LookupActivity. +func (la LookupActivity) AsUntilActivity() (*UntilActivity, bool) { return nil, false } -// AsAzureSQLMILinkedService is the BasicLinkedService implementation for JiraLinkedService. -func (jls JiraLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { +// AsWaitActivity is the BasicActivity implementation for LookupActivity. +func (la LookupActivity) AsWaitActivity() (*WaitActivity, bool) { return nil, false } -// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for JiraLinkedService. -func (jls JiraLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { +// AsForEachActivity is the BasicActivity implementation for LookupActivity. +func (la LookupActivity) AsForEachActivity() (*ForEachActivity, bool) { return nil, false } -// AsSQLServerLinkedService is the BasicLinkedService implementation for JiraLinkedService. -func (jls JiraLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { +// AsSwitchActivity is the BasicActivity implementation for LookupActivity. +func (la LookupActivity) AsSwitchActivity() (*SwitchActivity, bool) { return nil, false } -// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for JiraLinkedService. -func (jls JiraLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { +// AsIfConditionActivity is the BasicActivity implementation for LookupActivity. +func (la LookupActivity) AsIfConditionActivity() (*IfConditionActivity, bool) { return nil, false } -// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for JiraLinkedService. -func (jls JiraLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { +// AsExecutePipelineActivity is the BasicActivity implementation for LookupActivity. +func (la LookupActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) { return nil, false } -// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for JiraLinkedService. -func (jls JiraLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { +// AsControlActivity is the BasicActivity implementation for LookupActivity. +func (la LookupActivity) AsControlActivity() (*ControlActivity, bool) { return nil, false } -// AsAzureStorageLinkedService is the BasicLinkedService implementation for JiraLinkedService. -func (jls JiraLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { +// AsBasicControlActivity is the BasicActivity implementation for LookupActivity. +func (la LookupActivity) AsBasicControlActivity() (BasicControlActivity, bool) { return nil, false } -// AsLinkedService is the BasicLinkedService implementation for JiraLinkedService. -func (jls JiraLinkedService) AsLinkedService() (*LinkedService, bool) { +// AsActivity is the BasicActivity implementation for LookupActivity. +func (la LookupActivity) AsActivity() (*Activity, bool) { return nil, false } -// AsBasicLinkedService is the BasicLinkedService implementation for JiraLinkedService. -func (jls JiraLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { - return &jls, true +// AsBasicActivity is the BasicActivity implementation for LookupActivity. +func (la LookupActivity) AsBasicActivity() (BasicActivity, bool) { + return &la, true } -// UnmarshalJSON is the custom unmarshaler for JiraLinkedService struct. -func (jls *JiraLinkedService) UnmarshalJSON(body []byte) error { +// UnmarshalJSON is the custom unmarshaler for LookupActivity struct. +func (la *LookupActivity) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -104998,12 +122751,30 @@ func (jls *JiraLinkedService) UnmarshalJSON(body []byte) error { switch k { case "typeProperties": if v != nil { - var jiraLinkedServiceTypeProperties JiraLinkedServiceTypeProperties - err = json.Unmarshal(*v, &jiraLinkedServiceTypeProperties) + var lookupActivityTypeProperties LookupActivityTypeProperties + err = json.Unmarshal(*v, &lookupActivityTypeProperties) if err != nil { return err } - jls.JiraLinkedServiceTypeProperties = &jiraLinkedServiceTypeProperties + la.LookupActivityTypeProperties = &lookupActivityTypeProperties + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + la.LinkedServiceName = &linkedServiceName + } + case "policy": + if v != nil { + var policy ActivityPolicy + err = json.Unmarshal(*v, &policy) + if err != nil { + return err + } + la.Policy = &policy } default: if v != nil { @@ -105012,19 +122783,19 @@ func (jls *JiraLinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - if jls.AdditionalProperties == nil { - jls.AdditionalProperties = make(map[string]interface{}) + if la.AdditionalProperties == nil { + la.AdditionalProperties = make(map[string]interface{}) } - jls.AdditionalProperties[k] = additionalProperties + la.AdditionalProperties[k] = additionalProperties } - case "connectVia": + case "name": if v != nil { - var connectVia IntegrationRuntimeReference - err = json.Unmarshal(*v, &connectVia) + var name string + err = json.Unmarshal(*v, &name) if err != nil { return err } - jls.ConnectVia = &connectVia + la.Name = &name } case "description": if v != nil { @@ -105033,34 +122804,34 @@ func (jls *JiraLinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - jls.Description = &description + la.Description = &description } - case "parameters": + case "dependsOn": if v != nil { - var parameters map[string]*ParameterSpecification - err = json.Unmarshal(*v, ¶meters) + var dependsOn []ActivityDependency + err = json.Unmarshal(*v, &dependsOn) if err != nil { return err } - jls.Parameters = parameters + la.DependsOn = &dependsOn } - case "annotations": + case "userProperties": if v != nil { - var annotations []interface{} - err = json.Unmarshal(*v, &annotations) + var userProperties []UserProperty + err = json.Unmarshal(*v, &userProperties) if err != nil { return err } - jls.Annotations = &annotations + la.UserProperties = &userProperties } case "type": if v != nil { - var typeVar TypeBasicLinkedService + var typeVar TypeBasicActivity err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - jls.Type = typeVar + la.Type = typeVar } } } @@ -105068,28 +122839,18 @@ func (jls *JiraLinkedService) UnmarshalJSON(body []byte) error { return nil } -// JiraLinkedServiceTypeProperties jira Service linked service properties. -type JiraLinkedServiceTypeProperties struct { - // Host - The IP address or host name of the Jira service. (e.g. jira.example.com) - Host interface{} `json:"host,omitempty"` - // Port - The TCP port that the Jira server uses to listen for client connections. The default value is 443 if connecting through HTTPS, or 8080 if connecting through HTTP. - Port interface{} `json:"port,omitempty"` - // Username - The user name that you use to access Jira Service. - Username interface{} `json:"username,omitempty"` - // Password - The password corresponding to the user name that you provided in the username field. - Password BasicSecretBase `json:"password,omitempty"` - // UseEncryptedEndpoints - Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true. - UseEncryptedEndpoints interface{} `json:"useEncryptedEndpoints,omitempty"` - // UseHostVerification - Specifies whether to require the host name in the server's certificate to match the host name of the server when connecting over SSL. The default value is true. - UseHostVerification interface{} `json:"useHostVerification,omitempty"` - // UsePeerVerification - Specifies whether to verify the identity of the server when connecting over SSL. The default value is true. - UsePeerVerification interface{} `json:"usePeerVerification,omitempty"` - // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). - EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` +// LookupActivityTypeProperties lookup activity properties. +type LookupActivityTypeProperties struct { + // Source - Dataset-specific source properties, same as copy activity source. + Source BasicCopySource `json:"source,omitempty"` + // Dataset - Lookup activity dataset reference. + Dataset *DatasetReference `json:"dataset,omitempty"` + // FirstRowOnly - Whether to return first row or all rows. Default value is true. Type: boolean (or Expression with resultType boolean). + FirstRowOnly interface{} `json:"firstRowOnly,omitempty"` } -// UnmarshalJSON is the custom unmarshaler for JiraLinkedServiceTypeProperties struct. -func (jlstp *JiraLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { +// UnmarshalJSON is the custom unmarshaler for LookupActivityTypeProperties struct. +func (latp *LookupActivityTypeProperties) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -105097,76 +122858,31 @@ func (jlstp *JiraLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { } for k, v := range m { switch k { - case "host": - if v != nil { - var host interface{} - err = json.Unmarshal(*v, &host) - if err != nil { - return err - } - jlstp.Host = host - } - case "port": - if v != nil { - var port interface{} - err = json.Unmarshal(*v, &port) - if err != nil { - return err - } - jlstp.Port = port - } - case "username": - if v != nil { - var username interface{} - err = json.Unmarshal(*v, &username) - if err != nil { - return err - } - jlstp.Username = username - } - case "password": - if v != nil { - password, err := unmarshalBasicSecretBase(*v) - if err != nil { - return err - } - jlstp.Password = password - } - case "useEncryptedEndpoints": - if v != nil { - var useEncryptedEndpoints interface{} - err = json.Unmarshal(*v, &useEncryptedEndpoints) - if err != nil { - return err - } - jlstp.UseEncryptedEndpoints = useEncryptedEndpoints - } - case "useHostVerification": + case "source": if v != nil { - var useHostVerification interface{} - err = json.Unmarshal(*v, &useHostVerification) + source, err := unmarshalBasicCopySource(*v) if err != nil { return err } - jlstp.UseHostVerification = useHostVerification + latp.Source = source } - case "usePeerVerification": + case "dataset": if v != nil { - var usePeerVerification interface{} - err = json.Unmarshal(*v, &usePeerVerification) + var dataset DatasetReference + err = json.Unmarshal(*v, &dataset) if err != nil { return err } - jlstp.UsePeerVerification = usePeerVerification + latp.Dataset = &dataset } - case "encryptedCredential": + case "firstRowOnly": if v != nil { - var encryptedCredential interface{} - err = json.Unmarshal(*v, &encryptedCredential) + var firstRowOnly interface{} + err = json.Unmarshal(*v, &firstRowOnly) if err != nil { return err } - jlstp.EncryptedCredential = encryptedCredential + latp.FirstRowOnly = firstRowOnly } } } @@ -105174,489 +122890,534 @@ func (jlstp *JiraLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { return nil } -// JiraObjectDataset jira Service dataset. -type JiraObjectDataset struct { - // GenericDatasetTypeProperties - Properties specific to this dataset type. - *GenericDatasetTypeProperties `json:"typeProperties,omitempty"` +// MagentoLinkedService magento server linked service. +type MagentoLinkedService struct { + // MagentoLinkedServiceTypeProperties - Magento server linked service properties. + *MagentoLinkedServiceTypeProperties `json:"typeProperties,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` - // Description - Dataset description. + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. Description *string `json:"description,omitempty"` - // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. - Structure interface{} `json:"structure,omitempty"` - // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. - Schema interface{} `json:"schema,omitempty"` - // LinkedServiceName - Linked service reference. - LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` - // Parameters - Parameters for dataset. + // Parameters - Parameters for linked service. Parameters map[string]*ParameterSpecification `json:"parameters"` - // Annotations - List of tags that can be used for describing the Dataset. + // Annotations - List of tags that can be used for describing the linked service. Annotations *[]interface{} `json:"annotations,omitempty"` - // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. - Folder *DatasetFolder `json:"folder,omitempty"` - // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' - Type TypeBasicDataset `json:"type,omitempty"` + // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' + Type TypeBasicLinkedService `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for JiraObjectDataset. -func (jod JiraObjectDataset) MarshalJSON() ([]byte, error) { - jod.Type = TypeJiraObject +// MarshalJSON is the custom marshaler for MagentoLinkedService. +func (mls MagentoLinkedService) MarshalJSON() ([]byte, error) { + mls.Type = TypeMagento objectMap := make(map[string]interface{}) - if jod.GenericDatasetTypeProperties != nil { - objectMap["typeProperties"] = jod.GenericDatasetTypeProperties - } - if jod.Description != nil { - objectMap["description"] = jod.Description - } - if jod.Structure != nil { - objectMap["structure"] = jod.Structure - } - if jod.Schema != nil { - objectMap["schema"] = jod.Schema + if mls.MagentoLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = mls.MagentoLinkedServiceTypeProperties } - if jod.LinkedServiceName != nil { - objectMap["linkedServiceName"] = jod.LinkedServiceName + if mls.ConnectVia != nil { + objectMap["connectVia"] = mls.ConnectVia } - if jod.Parameters != nil { - objectMap["parameters"] = jod.Parameters + if mls.Description != nil { + objectMap["description"] = mls.Description } - if jod.Annotations != nil { - objectMap["annotations"] = jod.Annotations + if mls.Parameters != nil { + objectMap["parameters"] = mls.Parameters } - if jod.Folder != nil { - objectMap["folder"] = jod.Folder + if mls.Annotations != nil { + objectMap["annotations"] = mls.Annotations } - if jod.Type != "" { - objectMap["type"] = jod.Type + if mls.Type != "" { + objectMap["type"] = mls.Type } - for k, v := range jod.AdditionalProperties { + for k, v := range mls.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for JiraObjectDataset. -func (jod JiraObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { + return nil, false +} + +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return nil, false +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return nil, false +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return nil, false +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return nil, false +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return nil, false +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return nil, false +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { return nil, false } -// AsAzureDataExplorerTableDataset is the BasicDataset implementation for JiraObjectDataset. -func (jod JiraObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { return nil, false } -// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for JiraObjectDataset. -func (jod JiraObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { +// AsNetezzaLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { return nil, false } -// AsDynamicsAXResourceDataset is the BasicDataset implementation for JiraObjectDataset. -func (jod JiraObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { +// AsVerticaLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { return nil, false } -// AsResponsysObjectDataset is the BasicDataset implementation for JiraObjectDataset. -func (jod JiraObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { +// AsZohoLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { return nil, false } -// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for JiraObjectDataset. -func (jod JiraObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { +// AsXeroLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { return nil, false } -// AsVerticaTableDataset is the BasicDataset implementation for JiraObjectDataset. -func (jod JiraObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { +// AsSquareLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { return nil, false } -// AsNetezzaTableDataset is the BasicDataset implementation for JiraObjectDataset. -func (jod JiraObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { +// AsSparkLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { return nil, false } -// AsZohoObjectDataset is the BasicDataset implementation for JiraObjectDataset. -func (jod JiraObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { +// AsShopifyLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { return nil, false } -// AsXeroObjectDataset is the BasicDataset implementation for JiraObjectDataset. -func (jod JiraObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { +// AsServiceNowLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { return nil, false } -// AsSquareObjectDataset is the BasicDataset implementation for JiraObjectDataset. -func (jod JiraObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { +// AsQuickBooksLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { return nil, false } -// AsSparkObjectDataset is the BasicDataset implementation for JiraObjectDataset. -func (jod JiraObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { +// AsPrestoLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { return nil, false } -// AsShopifyObjectDataset is the BasicDataset implementation for JiraObjectDataset. -func (jod JiraObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { +// AsPhoenixLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { return nil, false } -// AsServiceNowObjectDataset is the BasicDataset implementation for JiraObjectDataset. -func (jod JiraObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { +// AsPaypalLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { return nil, false } -// AsQuickBooksObjectDataset is the BasicDataset implementation for JiraObjectDataset. -func (jod JiraObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { +// AsMarketoLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { return nil, false } -// AsPrestoObjectDataset is the BasicDataset implementation for JiraObjectDataset. -func (jod JiraObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { return nil, false } -// AsPhoenixObjectDataset is the BasicDataset implementation for JiraObjectDataset. -func (jod JiraObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { +// AsMariaDBLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { return nil, false } -// AsPaypalObjectDataset is the BasicDataset implementation for JiraObjectDataset. -func (jod JiraObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { +// AsMagentoLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return &mls, true +} + +// AsJiraLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { return nil, false } -// AsMarketoObjectDataset is the BasicDataset implementation for JiraObjectDataset. -func (jod JiraObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { +// AsImpalaLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { return nil, false } -// AsAzureMariaDBTableDataset is the BasicDataset implementation for JiraObjectDataset. -func (jod JiraObjectDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { +// AsHubspotLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { return nil, false } -// AsMariaDBTableDataset is the BasicDataset implementation for JiraObjectDataset. -func (jod JiraObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { +// AsHiveLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { return nil, false } -// AsMagentoObjectDataset is the BasicDataset implementation for JiraObjectDataset. -func (jod JiraObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { +// AsHBaseLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { return nil, false } -// AsJiraObjectDataset is the BasicDataset implementation for JiraObjectDataset. -func (jod JiraObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { - return &jod, true +// AsGreenplumLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false } -// AsImpalaObjectDataset is the BasicDataset implementation for JiraObjectDataset. -func (jod JiraObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { return nil, false } -// AsHubspotObjectDataset is the BasicDataset implementation for JiraObjectDataset. -func (jod JiraObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { +// AsEloquaLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { return nil, false } -// AsHiveObjectDataset is the BasicDataset implementation for JiraObjectDataset. -func (jod JiraObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { +// AsDrillLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { return nil, false } -// AsHBaseObjectDataset is the BasicDataset implementation for JiraObjectDataset. -func (jod JiraObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { +// AsCouchbaseLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { return nil, false } -// AsGreenplumTableDataset is the BasicDataset implementation for JiraObjectDataset. -func (jod JiraObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { +// AsConcurLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { return nil, false } -// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for JiraObjectDataset. -func (jod JiraObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { return nil, false } -// AsEloquaObjectDataset is the BasicDataset implementation for JiraObjectDataset. -func (jod JiraObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { return nil, false } -// AsDrillTableDataset is the BasicDataset implementation for JiraObjectDataset. -func (jod JiraObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { +// AsSapHanaLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { return nil, false } -// AsCouchbaseTableDataset is the BasicDataset implementation for JiraObjectDataset. -func (jod JiraObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { +// AsSapBWLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { return nil, false } -// AsConcurObjectDataset is the BasicDataset implementation for JiraObjectDataset. -func (jod JiraObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { +// AsSftpServerLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { return nil, false } -// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for JiraObjectDataset. -func (jod JiraObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { +// AsFtpServerLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { return nil, false } -// AsAmazonMWSObjectDataset is the BasicDataset implementation for JiraObjectDataset. -func (jod JiraObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { +// AsHTTPLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { return nil, false } -// AsHTTPDataset is the BasicDataset implementation for JiraObjectDataset. -func (jod JiraObjectDataset) AsHTTPDataset() (*HTTPDataset, bool) { +// AsAzureSearchLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { return nil, false } -// AsAzureSearchIndexDataset is the BasicDataset implementation for JiraObjectDataset. -func (jod JiraObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { return nil, false } -// AsWebTableDataset is the BasicDataset implementation for JiraObjectDataset. -func (jod JiraObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) { +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { return nil, false } -// AsSapTableResourceDataset is the BasicDataset implementation for JiraObjectDataset. -func (jod JiraObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { +// AsAmazonS3LinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { return nil, false } -// AsRestResourceDataset is the BasicDataset implementation for JiraObjectDataset. -func (jod JiraObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { +// AsRestServiceLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { return nil, false } -// AsSQLServerTableDataset is the BasicDataset implementation for JiraObjectDataset. -func (jod JiraObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { return nil, false } -// AsSapOpenHubTableDataset is the BasicDataset implementation for JiraObjectDataset. -func (jod JiraObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { +// AsSapEccLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { return nil, false } -// AsSapHanaTableDataset is the BasicDataset implementation for JiraObjectDataset. -func (jod JiraObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { return nil, false } -// AsSapEccResourceDataset is the BasicDataset implementation for JiraObjectDataset. -func (jod JiraObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { return nil, false } -// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for JiraObjectDataset. -func (jod JiraObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { +// AsSalesforceLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { return nil, false } -// AsSapBwCubeDataset is the BasicDataset implementation for JiraObjectDataset. -func (jod JiraObjectDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { +// AsOffice365LinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { return nil, false } -// AsSybaseTableDataset is the BasicDataset implementation for JiraObjectDataset. -func (jod JiraObjectDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { return nil, false } -// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for JiraObjectDataset. -func (jod JiraObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { return nil, false } -// AsSalesforceObjectDataset is the BasicDataset implementation for JiraObjectDataset. -func (jod JiraObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { return nil, false } -// AsMicrosoftAccessTableDataset is the BasicDataset implementation for JiraObjectDataset. -func (jod JiraObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { return nil, false } -// AsPostgreSQLTableDataset is the BasicDataset implementation for JiraObjectDataset. -func (jod JiraObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { +// AsMongoDbLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { return nil, false } -// AsMySQLTableDataset is the BasicDataset implementation for JiraObjectDataset. -func (jod JiraObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { +// AsCassandraLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { return nil, false } -// AsOdbcTableDataset is the BasicDataset implementation for JiraObjectDataset. -func (jod JiraObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { +// AsWebLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { return nil, false } -// AsInformixTableDataset is the BasicDataset implementation for JiraObjectDataset. -func (jod JiraObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { +// AsODataLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { return nil, false } -// AsRelationalTableDataset is the BasicDataset implementation for JiraObjectDataset. -func (jod JiraObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { +// AsHdfsLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { return nil, false } -// AsAzureMySQLTableDataset is the BasicDataset implementation for JiraObjectDataset. -func (jod JiraObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { return nil, false } -// AsTeradataTableDataset is the BasicDataset implementation for JiraObjectDataset. -func (jod JiraObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { +// AsInformixLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { return nil, false } -// AsOracleTableDataset is the BasicDataset implementation for JiraObjectDataset. -func (jod JiraObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { +// AsOdbcLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { return nil, false } -// AsODataResourceDataset is the BasicDataset implementation for JiraObjectDataset. -func (jod JiraObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { return nil, false } -// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for JiraObjectDataset. -func (jod JiraObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { +// AsAzureMLLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { return nil, false } -// AsMongoDbV2CollectionDataset is the BasicDataset implementation for JiraObjectDataset. -func (jod JiraObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { +// AsTeradataLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { return nil, false } -// AsMongoDbCollectionDataset is the BasicDataset implementation for JiraObjectDataset. -func (jod JiraObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { +// AsDb2LinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { return nil, false } -// AsFileShareDataset is the BasicDataset implementation for JiraObjectDataset. -func (jod JiraObjectDataset) AsFileShareDataset() (*FileShareDataset, bool) { +// AsSybaseLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { return nil, false } -// AsOffice365Dataset is the BasicDataset implementation for JiraObjectDataset. -func (jod JiraObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) { +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { return nil, false } -// AsAzureBlobFSDataset is the BasicDataset implementation for JiraObjectDataset. -func (jod JiraObjectDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) { +// AsMySQLLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { return nil, false } -// AsAzureDataLakeStoreDataset is the BasicDataset implementation for JiraObjectDataset. -func (jod JiraObjectDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) { +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { return nil, false } -// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for JiraObjectDataset. -func (jod JiraObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { +// AsOracleLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { return nil, false } -// AsDynamicsCrmEntityDataset is the BasicDataset implementation for JiraObjectDataset. -func (jod JiraObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { return nil, false } -// AsDynamicsEntityDataset is the BasicDataset implementation for JiraObjectDataset. -func (jod JiraObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { return nil, false } -// AsDocumentDbCollectionDataset is the BasicDataset implementation for JiraObjectDataset. -func (jod JiraObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { +// AsFileServerLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { return nil, false } -// AsCustomDataset is the BasicDataset implementation for JiraObjectDataset. -func (jod JiraObjectDataset) AsCustomDataset() (*CustomDataset, bool) { +// AsHDInsightLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { return nil, false } -// AsCassandraTableDataset is the BasicDataset implementation for JiraObjectDataset. -func (jod JiraObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { return nil, false } -// AsAzureSQLDWTableDataset is the BasicDataset implementation for JiraObjectDataset. -func (jod JiraObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { return nil, false } -// AsAzureSQLMITableDataset is the BasicDataset implementation for JiraObjectDataset. -func (jod JiraObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { +// AsDynamicsLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { return nil, false } -// AsAzureSQLTableDataset is the BasicDataset implementation for JiraObjectDataset. -func (jod JiraObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { +// AsCosmosDbLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { return nil, false } -// AsAzureTableDataset is the BasicDataset implementation for JiraObjectDataset. -func (jod JiraObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { return nil, false } -// AsAzureBlobDataset is the BasicDataset implementation for JiraObjectDataset. -func (jod JiraObjectDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) { +// AsAzureBatchLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { return nil, false } -// AsBinaryDataset is the BasicDataset implementation for JiraObjectDataset. -func (jod JiraObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) { +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { return nil, false } -// AsDelimitedTextDataset is the BasicDataset implementation for JiraObjectDataset. -func (jod JiraObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { return nil, false } -// AsParquetDataset is the BasicDataset implementation for JiraObjectDataset. -func (jod JiraObjectDataset) AsParquetDataset() (*ParquetDataset, bool) { +// AsSQLServerLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { return nil, false } -// AsAvroDataset is the BasicDataset implementation for JiraObjectDataset. -func (jod JiraObjectDataset) AsAvroDataset() (*AvroDataset, bool) { +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { return nil, false } -// AsAmazonS3Dataset is the BasicDataset implementation for JiraObjectDataset. -func (jod JiraObjectDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) { +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { return nil, false } -// AsDataset is the BasicDataset implementation for JiraObjectDataset. -func (jod JiraObjectDataset) AsDataset() (*Dataset, bool) { +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { return nil, false } -// AsBasicDataset is the BasicDataset implementation for JiraObjectDataset. -func (jod JiraObjectDataset) AsBasicDataset() (BasicDataset, bool) { - return &jod, true +// AsAzureStorageLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false } -// UnmarshalJSON is the custom unmarshaler for JiraObjectDataset struct. -func (jod *JiraObjectDataset) UnmarshalJSON(body []byte) error { +// AsLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for MagentoLinkedService. +func (mls MagentoLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &mls, true +} + +// UnmarshalJSON is the custom unmarshaler for MagentoLinkedService struct. +func (mls *MagentoLinkedService) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -105666,12 +123427,12 @@ func (jod *JiraObjectDataset) UnmarshalJSON(body []byte) error { switch k { case "typeProperties": if v != nil { - var genericDatasetTypeProperties GenericDatasetTypeProperties - err = json.Unmarshal(*v, &genericDatasetTypeProperties) + var magentoLinkedServiceTypeProperties MagentoLinkedServiceTypeProperties + err = json.Unmarshal(*v, &magentoLinkedServiceTypeProperties) if err != nil { return err } - jod.GenericDatasetTypeProperties = &genericDatasetTypeProperties + mls.MagentoLinkedServiceTypeProperties = &magentoLinkedServiceTypeProperties } default: if v != nil { @@ -105680,10 +123441,19 @@ func (jod *JiraObjectDataset) UnmarshalJSON(body []byte) error { if err != nil { return err } - if jod.AdditionalProperties == nil { - jod.AdditionalProperties = make(map[string]interface{}) + if mls.AdditionalProperties == nil { + mls.AdditionalProperties = make(map[string]interface{}) } - jod.AdditionalProperties[k] = additionalProperties + mls.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + mls.ConnectVia = &connectVia } case "description": if v != nil { @@ -105692,70 +123462,118 @@ func (jod *JiraObjectDataset) UnmarshalJSON(body []byte) error { if err != nil { return err } - jod.Description = &description + mls.Description = &description } - case "structure": + case "parameters": if v != nil { - var structure interface{} - err = json.Unmarshal(*v, &structure) + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) if err != nil { return err } - jod.Structure = structure + mls.Parameters = parameters } - case "schema": + case "annotations": if v != nil { - var schema interface{} - err = json.Unmarshal(*v, &schema) + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) if err != nil { return err } - jod.Schema = schema + mls.Annotations = &annotations } - case "linkedServiceName": + case "type": if v != nil { - var linkedServiceName LinkedServiceReference - err = json.Unmarshal(*v, &linkedServiceName) + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - jod.LinkedServiceName = &linkedServiceName + mls.Type = typeVar } - case "parameters": + } + } + + return nil +} + +// MagentoLinkedServiceTypeProperties magento server linked service properties. +type MagentoLinkedServiceTypeProperties struct { + // Host - The URL of the Magento instance. (i.e. 192.168.222.110/magento3) + Host interface{} `json:"host,omitempty"` + // AccessToken - The access token from Magento. + AccessToken BasicSecretBase `json:"accessToken,omitempty"` + // UseEncryptedEndpoints - Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true. + UseEncryptedEndpoints interface{} `json:"useEncryptedEndpoints,omitempty"` + // UseHostVerification - Specifies whether to require the host name in the server's certificate to match the host name of the server when connecting over SSL. The default value is true. + UseHostVerification interface{} `json:"useHostVerification,omitempty"` + // UsePeerVerification - Specifies whether to verify the identity of the server when connecting over SSL. The default value is true. + UsePeerVerification interface{} `json:"usePeerVerification,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for MagentoLinkedServiceTypeProperties struct. +func (mlstp *MagentoLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "host": if v != nil { - var parameters map[string]*ParameterSpecification - err = json.Unmarshal(*v, ¶meters) + var host interface{} + err = json.Unmarshal(*v, &host) if err != nil { return err } - jod.Parameters = parameters + mlstp.Host = host } - case "annotations": + case "accessToken": if v != nil { - var annotations []interface{} - err = json.Unmarshal(*v, &annotations) + accessToken, err := unmarshalBasicSecretBase(*v) if err != nil { return err } - jod.Annotations = &annotations + mlstp.AccessToken = accessToken } - case "folder": + case "useEncryptedEndpoints": if v != nil { - var folder DatasetFolder - err = json.Unmarshal(*v, &folder) + var useEncryptedEndpoints interface{} + err = json.Unmarshal(*v, &useEncryptedEndpoints) if err != nil { return err } - jod.Folder = &folder + mlstp.UseEncryptedEndpoints = useEncryptedEndpoints } - case "type": + case "useHostVerification": if v != nil { - var typeVar TypeBasicDataset - err = json.Unmarshal(*v, &typeVar) + var useHostVerification interface{} + err = json.Unmarshal(*v, &useHostVerification) if err != nil { return err } - jod.Type = typeVar + mlstp.UseHostVerification = useHostVerification + } + case "usePeerVerification": + if v != nil { + var usePeerVerification interface{} + err = json.Unmarshal(*v, &usePeerVerification) + if err != nil { + return err + } + mlstp.UsePeerVerification = usePeerVerification + } + case "encryptedCredential": + if v != nil { + var encryptedCredential interface{} + err = json.Unmarshal(*v, &encryptedCredential) + if err != nil { + return err + } + mlstp.EncryptedCredential = encryptedCredential } } } @@ -105763,637 +123581,514 @@ func (jod *JiraObjectDataset) UnmarshalJSON(body []byte) error { return nil } -// JiraSource a copy activity Jira Service source. -type JiraSource struct { - // Query - A query to retrieve data from source. Type: string (or Expression with resultType string). - Query interface{} `json:"query,omitempty"` +// MagentoObjectDataset magento server dataset. +type MagentoObjectDataset struct { + // GenericDatasetTypeProperties - Properties specific to this dataset type. + *GenericDatasetTypeProperties `json:"typeProperties,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` - // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). - SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` - // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). - SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` - // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). - MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' - Type TypeBasicCopySource `json:"type,omitempty"` + // Description - Dataset description. + Description *string `json:"description,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' + Type TypeBasicDataset `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for JiraSource. -func (js JiraSource) MarshalJSON() ([]byte, error) { - js.Type = TypeJiraSource +// MarshalJSON is the custom marshaler for MagentoObjectDataset. +func (mod MagentoObjectDataset) MarshalJSON() ([]byte, error) { + mod.Type = TypeMagentoObject objectMap := make(map[string]interface{}) - if js.Query != nil { - objectMap["query"] = js.Query + if mod.GenericDatasetTypeProperties != nil { + objectMap["typeProperties"] = mod.GenericDatasetTypeProperties } - if js.SourceRetryCount != nil { - objectMap["sourceRetryCount"] = js.SourceRetryCount + if mod.Description != nil { + objectMap["description"] = mod.Description } - if js.SourceRetryWait != nil { - objectMap["sourceRetryWait"] = js.SourceRetryWait + if mod.Structure != nil { + objectMap["structure"] = mod.Structure } - if js.MaxConcurrentConnections != nil { - objectMap["maxConcurrentConnections"] = js.MaxConcurrentConnections + if mod.Schema != nil { + objectMap["schema"] = mod.Schema } - if js.Type != "" { - objectMap["type"] = js.Type + if mod.LinkedServiceName != nil { + objectMap["linkedServiceName"] = mod.LinkedServiceName } - for k, v := range js.AdditionalProperties { + if mod.Parameters != nil { + objectMap["parameters"] = mod.Parameters + } + if mod.Annotations != nil { + objectMap["annotations"] = mod.Annotations + } + if mod.Folder != nil { + objectMap["folder"] = mod.Folder + } + if mod.Type != "" { + objectMap["type"] = mod.Type + } + for k, v := range mod.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsAmazonRedshiftSource is the BasicCopySource implementation for JiraSource. -func (js JiraSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { - return nil, false -} - -// AsGoogleAdWordsSource is the BasicCopySource implementation for JiraSource. -func (js JiraSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { - return nil, false -} - -// AsOracleServiceCloudSource is the BasicCopySource implementation for JiraSource. -func (js JiraSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { - return nil, false -} - -// AsDynamicsAXSource is the BasicCopySource implementation for JiraSource. -func (js JiraSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { - return nil, false -} - -// AsResponsysSource is the BasicCopySource implementation for JiraSource. -func (js JiraSource) AsResponsysSource() (*ResponsysSource, bool) { - return nil, false -} - -// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for JiraSource. -func (js JiraSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { - return nil, false -} - -// AsVerticaSource is the BasicCopySource implementation for JiraSource. -func (js JiraSource) AsVerticaSource() (*VerticaSource, bool) { - return nil, false -} - -// AsNetezzaSource is the BasicCopySource implementation for JiraSource. -func (js JiraSource) AsNetezzaSource() (*NetezzaSource, bool) { - return nil, false -} - -// AsZohoSource is the BasicCopySource implementation for JiraSource. -func (js JiraSource) AsZohoSource() (*ZohoSource, bool) { +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { return nil, false } -// AsXeroSource is the BasicCopySource implementation for JiraSource. -func (js JiraSource) AsXeroSource() (*XeroSource, bool) { +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { return nil, false } -// AsSquareSource is the BasicCopySource implementation for JiraSource. -func (js JiraSource) AsSquareSource() (*SquareSource, bool) { +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { return nil, false } -// AsSparkSource is the BasicCopySource implementation for JiraSource. -func (js JiraSource) AsSparkSource() (*SparkSource, bool) { +// AsDynamicsAXResourceDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { return nil, false } -// AsShopifySource is the BasicCopySource implementation for JiraSource. -func (js JiraSource) AsShopifySource() (*ShopifySource, bool) { +// AsResponsysObjectDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { return nil, false } -// AsServiceNowSource is the BasicCopySource implementation for JiraSource. -func (js JiraSource) AsServiceNowSource() (*ServiceNowSource, bool) { +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { return nil, false } -// AsQuickBooksSource is the BasicCopySource implementation for JiraSource. -func (js JiraSource) AsQuickBooksSource() (*QuickBooksSource, bool) { +// AsVerticaTableDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { return nil, false } -// AsPrestoSource is the BasicCopySource implementation for JiraSource. -func (js JiraSource) AsPrestoSource() (*PrestoSource, bool) { +// AsNetezzaTableDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { return nil, false } -// AsPhoenixSource is the BasicCopySource implementation for JiraSource. -func (js JiraSource) AsPhoenixSource() (*PhoenixSource, bool) { +// AsZohoObjectDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { return nil, false } -// AsPaypalSource is the BasicCopySource implementation for JiraSource. -func (js JiraSource) AsPaypalSource() (*PaypalSource, bool) { +// AsXeroObjectDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { return nil, false } -// AsMarketoSource is the BasicCopySource implementation for JiraSource. -func (js JiraSource) AsMarketoSource() (*MarketoSource, bool) { +// AsSquareObjectDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { return nil, false } -// AsAzureMariaDBSource is the BasicCopySource implementation for JiraSource. -func (js JiraSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { +// AsSparkObjectDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { return nil, false } -// AsMariaDBSource is the BasicCopySource implementation for JiraSource. -func (js JiraSource) AsMariaDBSource() (*MariaDBSource, bool) { +// AsShopifyObjectDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { return nil, false } -// AsMagentoSource is the BasicCopySource implementation for JiraSource. -func (js JiraSource) AsMagentoSource() (*MagentoSource, bool) { +// AsServiceNowObjectDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { return nil, false } -// AsJiraSource is the BasicCopySource implementation for JiraSource. -func (js JiraSource) AsJiraSource() (*JiraSource, bool) { - return &js, true -} - -// AsImpalaSource is the BasicCopySource implementation for JiraSource. -func (js JiraSource) AsImpalaSource() (*ImpalaSource, bool) { +// AsQuickBooksObjectDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { return nil, false } -// AsHubspotSource is the BasicCopySource implementation for JiraSource. -func (js JiraSource) AsHubspotSource() (*HubspotSource, bool) { +// AsPrestoObjectDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { return nil, false } -// AsHiveSource is the BasicCopySource implementation for JiraSource. -func (js JiraSource) AsHiveSource() (*HiveSource, bool) { +// AsPhoenixObjectDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { return nil, false } -// AsHBaseSource is the BasicCopySource implementation for JiraSource. -func (js JiraSource) AsHBaseSource() (*HBaseSource, bool) { +// AsPaypalObjectDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { return nil, false } -// AsGreenplumSource is the BasicCopySource implementation for JiraSource. -func (js JiraSource) AsGreenplumSource() (*GreenplumSource, bool) { +// AsMarketoObjectDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { return nil, false } -// AsGoogleBigQuerySource is the BasicCopySource implementation for JiraSource. -func (js JiraSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { +// AsAzureMariaDBTableDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { return nil, false } -// AsEloquaSource is the BasicCopySource implementation for JiraSource. -func (js JiraSource) AsEloquaSource() (*EloquaSource, bool) { +// AsMariaDBTableDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { return nil, false } -// AsDrillSource is the BasicCopySource implementation for JiraSource. -func (js JiraSource) AsDrillSource() (*DrillSource, bool) { - return nil, false +// AsMagentoObjectDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { + return &mod, true } -// AsCouchbaseSource is the BasicCopySource implementation for JiraSource. -func (js JiraSource) AsCouchbaseSource() (*CouchbaseSource, bool) { +// AsJiraObjectDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { return nil, false } -// AsConcurSource is the BasicCopySource implementation for JiraSource. -func (js JiraSource) AsConcurSource() (*ConcurSource, bool) { +// AsImpalaObjectDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { return nil, false } -// AsAzurePostgreSQLSource is the BasicCopySource implementation for JiraSource. -func (js JiraSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { +// AsHubspotObjectDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { return nil, false } -// AsAmazonMWSSource is the BasicCopySource implementation for JiraSource. -func (js JiraSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { +// AsHiveObjectDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { return nil, false } -// AsHTTPSource is the BasicCopySource implementation for JiraSource. -func (js JiraSource) AsHTTPSource() (*HTTPSource, bool) { +// AsHBaseObjectDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { return nil, false } -// AsAzureBlobFSSource is the BasicCopySource implementation for JiraSource. -func (js JiraSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { +// AsGreenplumTableDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { return nil, false } -// AsAzureDataLakeStoreSource is the BasicCopySource implementation for JiraSource. -func (js JiraSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { return nil, false } -// AsOffice365Source is the BasicCopySource implementation for JiraSource. -func (js JiraSource) AsOffice365Source() (*Office365Source, bool) { +// AsEloquaObjectDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { return nil, false } -// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for JiraSource. -func (js JiraSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { +// AsDrillTableDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { return nil, false } -// AsMongoDbV2Source is the BasicCopySource implementation for JiraSource. -func (js JiraSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { +// AsCouchbaseTableDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { return nil, false } -// AsMongoDbSource is the BasicCopySource implementation for JiraSource. -func (js JiraSource) AsMongoDbSource() (*MongoDbSource, bool) { +// AsConcurObjectDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { return nil, false } -// AsCassandraSource is the BasicCopySource implementation for JiraSource. -func (js JiraSource) AsCassandraSource() (*CassandraSource, bool) { +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { return nil, false } -// AsWebSource is the BasicCopySource implementation for JiraSource. -func (js JiraSource) AsWebSource() (*WebSource, bool) { +// AsAmazonMWSObjectDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { return nil, false } -// AsTeradataSource is the BasicCopySource implementation for JiraSource. -func (js JiraSource) AsTeradataSource() (*TeradataSource, bool) { +// AsHTTPDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsHTTPDataset() (*HTTPDataset, bool) { return nil, false } -// AsOracleSource is the BasicCopySource implementation for JiraSource. -func (js JiraSource) AsOracleSource() (*OracleSource, bool) { +// AsAzureSearchIndexDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { return nil, false } -// AsAzureDataExplorerSource is the BasicCopySource implementation for JiraSource. -func (js JiraSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { +// AsWebTableDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) { return nil, false } -// AsAzureMySQLSource is the BasicCopySource implementation for JiraSource. -func (js JiraSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { +// AsSapTableResourceDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { return nil, false } -// AsHdfsSource is the BasicCopySource implementation for JiraSource. -func (js JiraSource) AsHdfsSource() (*HdfsSource, bool) { +// AsRestResourceDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { return nil, false } -// AsFileSystemSource is the BasicCopySource implementation for JiraSource. -func (js JiraSource) AsFileSystemSource() (*FileSystemSource, bool) { +// AsSQLServerTableDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { return nil, false } -// AsSQLDWSource is the BasicCopySource implementation for JiraSource. -func (js JiraSource) AsSQLDWSource() (*SQLDWSource, bool) { +// AsSapOpenHubTableDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { return nil, false } -// AsSQLMISource is the BasicCopySource implementation for JiraSource. -func (js JiraSource) AsSQLMISource() (*SQLMISource, bool) { +// AsSapHanaTableDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { return nil, false } -// AsAzureSQLSource is the BasicCopySource implementation for JiraSource. -func (js JiraSource) AsAzureSQLSource() (*AzureSQLSource, bool) { +// AsSapEccResourceDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { return nil, false } -// AsSQLServerSource is the BasicCopySource implementation for JiraSource. -func (js JiraSource) AsSQLServerSource() (*SQLServerSource, bool) { +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { return nil, false } -// AsSQLSource is the BasicCopySource implementation for JiraSource. -func (js JiraSource) AsSQLSource() (*SQLSource, bool) { +// AsSapBwCubeDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { return nil, false } -// AsRestSource is the BasicCopySource implementation for JiraSource. -func (js JiraSource) AsRestSource() (*RestSource, bool) { +// AsSybaseTableDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { return nil, false } -// AsSapTableSource is the BasicCopySource implementation for JiraSource. -func (js JiraSource) AsSapTableSource() (*SapTableSource, bool) { +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { return nil, false } -// AsSapOpenHubSource is the BasicCopySource implementation for JiraSource. -func (js JiraSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { +// AsSalesforceObjectDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { return nil, false } -// AsSapHanaSource is the BasicCopySource implementation for JiraSource. -func (js JiraSource) AsSapHanaSource() (*SapHanaSource, bool) { +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { return nil, false } -// AsSapEccSource is the BasicCopySource implementation for JiraSource. -func (js JiraSource) AsSapEccSource() (*SapEccSource, bool) { +// AsPostgreSQLTableDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { return nil, false } -// AsSapCloudForCustomerSource is the BasicCopySource implementation for JiraSource. -func (js JiraSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { +// AsMySQLTableDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { return nil, false } -// AsSalesforceServiceCloudSource is the BasicCopySource implementation for JiraSource. -func (js JiraSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { +// AsOdbcTableDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { return nil, false } -// AsSalesforceSource is the BasicCopySource implementation for JiraSource. -func (js JiraSource) AsSalesforceSource() (*SalesforceSource, bool) { +// AsInformixTableDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { return nil, false } -// AsODataSource is the BasicCopySource implementation for JiraSource. -func (js JiraSource) AsODataSource() (*ODataSource, bool) { +// AsRelationalTableDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { return nil, false } -// AsSapBwSource is the BasicCopySource implementation for JiraSource. -func (js JiraSource) AsSapBwSource() (*SapBwSource, bool) { +// AsDb2TableDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { return nil, false } -// AsSybaseSource is the BasicCopySource implementation for JiraSource. -func (js JiraSource) AsSybaseSource() (*SybaseSource, bool) { +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { return nil, false } -// AsPostgreSQLSource is the BasicCopySource implementation for JiraSource. -func (js JiraSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { +// AsAzureMySQLTableDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { return nil, false } -// AsMySQLSource is the BasicCopySource implementation for JiraSource. -func (js JiraSource) AsMySQLSource() (*MySQLSource, bool) { +// AsTeradataTableDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { return nil, false } -// AsOdbcSource is the BasicCopySource implementation for JiraSource. -func (js JiraSource) AsOdbcSource() (*OdbcSource, bool) { +// AsOracleTableDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { return nil, false } -// AsDb2Source is the BasicCopySource implementation for JiraSource. -func (js JiraSource) AsDb2Source() (*Db2Source, bool) { +// AsODataResourceDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { return nil, false } -// AsMicrosoftAccessSource is the BasicCopySource implementation for JiraSource. -func (js JiraSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { return nil, false } -// AsInformixSource is the BasicCopySource implementation for JiraSource. -func (js JiraSource) AsInformixSource() (*InformixSource, bool) { +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { return nil, false } -// AsRelationalSource is the BasicCopySource implementation for JiraSource. -func (js JiraSource) AsRelationalSource() (*RelationalSource, bool) { +// AsMongoDbCollectionDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { return nil, false } -// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for JiraSource. -func (js JiraSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { +// AsFileShareDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsFileShareDataset() (*FileShareDataset, bool) { return nil, false } -// AsDynamicsCrmSource is the BasicCopySource implementation for JiraSource. -func (js JiraSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { +// AsOffice365Dataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) { return nil, false } -// AsDynamicsSource is the BasicCopySource implementation for JiraSource. -func (js JiraSource) AsDynamicsSource() (*DynamicsSource, bool) { +// AsAzureBlobFSDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) { return nil, false } -// AsDocumentDbCollectionSource is the BasicCopySource implementation for JiraSource. -func (js JiraSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { +// AsAzureDataLakeStoreDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) { return nil, false } -// AsBlobSource is the BasicCopySource implementation for JiraSource. -func (js JiraSource) AsBlobSource() (*BlobSource, bool) { +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { return nil, false } -// AsAzureTableSource is the BasicCopySource implementation for JiraSource. -func (js JiraSource) AsAzureTableSource() (*AzureTableSource, bool) { +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { return nil, false } -// AsBinarySource is the BasicCopySource implementation for JiraSource. -func (js JiraSource) AsBinarySource() (*BinarySource, bool) { +// AsDynamicsEntityDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { return nil, false } -// AsDelimitedTextSource is the BasicCopySource implementation for JiraSource. -func (js JiraSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { +// AsDocumentDbCollectionDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { return nil, false } -// AsParquetSource is the BasicCopySource implementation for JiraSource. -func (js JiraSource) AsParquetSource() (*ParquetSource, bool) { +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { return nil, false } -// AsAvroSource is the BasicCopySource implementation for JiraSource. -func (js JiraSource) AsAvroSource() (*AvroSource, bool) { +// AsCustomDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsCustomDataset() (*CustomDataset, bool) { return nil, false } -// AsCopySource is the BasicCopySource implementation for JiraSource. -func (js JiraSource) AsCopySource() (*CopySource, bool) { +// AsCassandraTableDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { return nil, false } -// AsBasicCopySource is the BasicCopySource implementation for JiraSource. -func (js JiraSource) AsBasicCopySource() (BasicCopySource, bool) { - return &js, true -} - -// UnmarshalJSON is the custom unmarshaler for JiraSource struct. -func (js *JiraSource) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - case "query": - if v != nil { - var query interface{} - err = json.Unmarshal(*v, &query) - if err != nil { - return err - } - js.Query = query - } - default: - if v != nil { - var additionalProperties interface{} - err = json.Unmarshal(*v, &additionalProperties) - if err != nil { - return err - } - if js.AdditionalProperties == nil { - js.AdditionalProperties = make(map[string]interface{}) - } - js.AdditionalProperties[k] = additionalProperties - } - case "sourceRetryCount": - if v != nil { - var sourceRetryCount interface{} - err = json.Unmarshal(*v, &sourceRetryCount) - if err != nil { - return err - } - js.SourceRetryCount = sourceRetryCount - } - case "sourceRetryWait": - if v != nil { - var sourceRetryWait interface{} - err = json.Unmarshal(*v, &sourceRetryWait) - if err != nil { - return err - } - js.SourceRetryWait = sourceRetryWait - } - case "maxConcurrentConnections": - if v != nil { - var maxConcurrentConnections interface{} - err = json.Unmarshal(*v, &maxConcurrentConnections) - if err != nil { - return err - } - js.MaxConcurrentConnections = maxConcurrentConnections - } - case "type": - if v != nil { - var typeVar TypeBasicCopySource - err = json.Unmarshal(*v, &typeVar) - if err != nil { - return err - } - js.Type = typeVar - } - } - } - - return nil -} - -// JSONFormat the data stored in JSON format. -type JSONFormat struct { - // FilePattern - File pattern of JSON. To be more specific, the way of separating a collection of JSON objects. The default value is 'setOfObjects'. It is case-sensitive. - FilePattern interface{} `json:"filePattern,omitempty"` - // NestingSeparator - The character used to separate nesting levels. Default value is '.' (dot). Type: string (or Expression with resultType string). - NestingSeparator interface{} `json:"nestingSeparator,omitempty"` - // EncodingName - The code page name of the preferred encoding. If not provided, the default value is 'utf-8', unless the byte order mark (BOM) denotes another Unicode encoding. The full list of supported values can be found in the 'Name' column of the table of encodings in the following reference: https://go.microsoft.com/fwlink/?linkid=861078. Type: string (or Expression with resultType string). - EncodingName interface{} `json:"encodingName,omitempty"` - // JSONNodeReference - The JSONPath of the JSON array element to be flattened. Example: "$.ArrayPath". Type: string (or Expression with resultType string). - JSONNodeReference interface{} `json:"jsonNodeReference,omitempty"` - // JSONPathDefinition - The JSONPath definition for each column mapping with a customized column name to extract data from JSON file. For fields under root object, start with "$"; for fields inside the array chosen by jsonNodeReference property, start from the array element. Example: {"Column1": "$.Column1Path", "Column2": "Column2PathInArray"}. Type: object (or Expression with resultType object). - JSONPathDefinition interface{} `json:"jsonPathDefinition,omitempty"` - // AdditionalProperties - Unmatched properties from the message are deserialized this collection - AdditionalProperties map[string]interface{} `json:""` - // Serializer - Serializer. Type: string (or Expression with resultType string). - Serializer interface{} `json:"serializer,omitempty"` - // Deserializer - Deserializer. Type: string (or Expression with resultType string). - Deserializer interface{} `json:"deserializer,omitempty"` - // Type - Possible values include: 'TypeDatasetStorageFormat', 'TypeParquetFormat', 'TypeOrcFormat', 'TypeAvroFormat', 'TypeJSONFormat', 'TypeTextFormat' - Type TypeBasicDatasetStorageFormat `json:"type,omitempty"` -} - -// MarshalJSON is the custom marshaler for JSONFormat. -func (jf JSONFormat) MarshalJSON() ([]byte, error) { - jf.Type = TypeJSONFormat - objectMap := make(map[string]interface{}) - if jf.FilePattern != nil { - objectMap["filePattern"] = jf.FilePattern - } - if jf.NestingSeparator != nil { - objectMap["nestingSeparator"] = jf.NestingSeparator - } - if jf.EncodingName != nil { - objectMap["encodingName"] = jf.EncodingName - } - if jf.JSONNodeReference != nil { - objectMap["jsonNodeReference"] = jf.JSONNodeReference - } - if jf.JSONPathDefinition != nil { - objectMap["jsonPathDefinition"] = jf.JSONPathDefinition - } - if jf.Serializer != nil { - objectMap["serializer"] = jf.Serializer - } - if jf.Deserializer != nil { - objectMap["deserializer"] = jf.Deserializer - } - if jf.Type != "" { - objectMap["type"] = jf.Type - } - for k, v := range jf.AdditionalProperties { - objectMap[k] = v - } - return json.Marshal(objectMap) +// AsAzureSQLDWTableDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { + return nil, false } -// AsParquetFormat is the BasicDatasetStorageFormat implementation for JSONFormat. -func (jf JSONFormat) AsParquetFormat() (*ParquetFormat, bool) { +// AsAzureSQLMITableDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { return nil, false } -// AsOrcFormat is the BasicDatasetStorageFormat implementation for JSONFormat. -func (jf JSONFormat) AsOrcFormat() (*OrcFormat, bool) { +// AsAzureSQLTableDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { return nil, false } -// AsAvroFormat is the BasicDatasetStorageFormat implementation for JSONFormat. -func (jf JSONFormat) AsAvroFormat() (*AvroFormat, bool) { +// AsAzureTableDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { return nil, false } -// AsJSONFormat is the BasicDatasetStorageFormat implementation for JSONFormat. -func (jf JSONFormat) AsJSONFormat() (*JSONFormat, bool) { - return &jf, true +// AsAzureBlobDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) { + return nil, false } -// AsTextFormat is the BasicDatasetStorageFormat implementation for JSONFormat. -func (jf JSONFormat) AsTextFormat() (*TextFormat, bool) { +// AsBinaryDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) { return nil, false } -// AsDatasetStorageFormat is the BasicDatasetStorageFormat implementation for JSONFormat. -func (jf JSONFormat) AsDatasetStorageFormat() (*DatasetStorageFormat, bool) { +// AsOrcDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsOrcDataset() (*OrcDataset, bool) { return nil, false } -// AsBasicDatasetStorageFormat is the BasicDatasetStorageFormat implementation for JSONFormat. -func (jf JSONFormat) AsBasicDatasetStorageFormat() (BasicDatasetStorageFormat, bool) { - return &jf, true +// AsJSONDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false } -// UnmarshalJSON is the custom unmarshaler for JSONFormat struct. -func (jf *JSONFormat) UnmarshalJSON(body []byte) error { +// AsDelimitedTextDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { + return nil, false +} + +// AsParquetDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsParquetDataset() (*ParquetDataset, bool) { + return nil, false +} + +// AsAvroDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsAvroDataset() (*AvroDataset, bool) { + return nil, false +} + +// AsAmazonS3Dataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) { + return nil, false +} + +// AsDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsDataset() (*Dataset, bool) { + return nil, false +} + +// AsBasicDataset is the BasicDataset implementation for MagentoObjectDataset. +func (mod MagentoObjectDataset) AsBasicDataset() (BasicDataset, bool) { + return &mod, true +} + +// UnmarshalJSON is the custom unmarshaler for MagentoObjectDataset struct. +func (mod *MagentoObjectDataset) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -106401,89 +124096,98 @@ func (jf *JSONFormat) UnmarshalJSON(body []byte) error { } for k, v := range m { switch k { - case "filePattern": + case "typeProperties": if v != nil { - var filePattern interface{} - err = json.Unmarshal(*v, &filePattern) + var genericDatasetTypeProperties GenericDatasetTypeProperties + err = json.Unmarshal(*v, &genericDatasetTypeProperties) if err != nil { return err } - jf.FilePattern = filePattern + mod.GenericDatasetTypeProperties = &genericDatasetTypeProperties } - case "nestingSeparator": + default: if v != nil { - var nestingSeparator interface{} - err = json.Unmarshal(*v, &nestingSeparator) + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) if err != nil { return err } - jf.NestingSeparator = nestingSeparator + if mod.AdditionalProperties == nil { + mod.AdditionalProperties = make(map[string]interface{}) + } + mod.AdditionalProperties[k] = additionalProperties } - case "encodingName": + case "description": if v != nil { - var encodingName interface{} - err = json.Unmarshal(*v, &encodingName) + var description string + err = json.Unmarshal(*v, &description) if err != nil { return err } - jf.EncodingName = encodingName + mod.Description = &description } - case "jsonNodeReference": + case "structure": if v != nil { - var JSONNodeReference interface{} - err = json.Unmarshal(*v, &JSONNodeReference) + var structure interface{} + err = json.Unmarshal(*v, &structure) if err != nil { return err } - jf.JSONNodeReference = JSONNodeReference + mod.Structure = structure } - case "jsonPathDefinition": + case "schema": if v != nil { - var JSONPathDefinition interface{} - err = json.Unmarshal(*v, &JSONPathDefinition) + var schema interface{} + err = json.Unmarshal(*v, &schema) if err != nil { return err } - jf.JSONPathDefinition = JSONPathDefinition + mod.Schema = schema } - default: + case "linkedServiceName": if v != nil { - var additionalProperties interface{} - err = json.Unmarshal(*v, &additionalProperties) + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) if err != nil { return err } - if jf.AdditionalProperties == nil { - jf.AdditionalProperties = make(map[string]interface{}) + mod.LinkedServiceName = &linkedServiceName + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err } - jf.AdditionalProperties[k] = additionalProperties + mod.Parameters = parameters } - case "serializer": + case "annotations": if v != nil { - var serializer interface{} - err = json.Unmarshal(*v, &serializer) + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) if err != nil { return err } - jf.Serializer = serializer + mod.Annotations = &annotations } - case "deserializer": + case "folder": if v != nil { - var deserializer interface{} - err = json.Unmarshal(*v, &deserializer) + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) if err != nil { return err } - jf.Deserializer = deserializer + mod.Folder = &folder } case "type": if v != nil { - var typeVar TypeBasicDatasetStorageFormat + var typeVar TypeBasicDataset err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - jf.Type = typeVar + mod.Type = typeVar } } } @@ -106491,1196 +124195,504 @@ func (jf *JSONFormat) UnmarshalJSON(body []byte) error { return nil } -// LinkedIntegrationRuntime the linked integration runtime information. -type LinkedIntegrationRuntime struct { - // Name - READ-ONLY; The name of the linked integration runtime. - Name *string `json:"name,omitempty"` - // SubscriptionID - READ-ONLY; The subscription ID for which the linked integration runtime belong to. - SubscriptionID *string `json:"subscriptionId,omitempty"` - // DataFactoryName - READ-ONLY; The name of the data factory for which the linked integration runtime belong to. - DataFactoryName *string `json:"dataFactoryName,omitempty"` - // DataFactoryLocation - READ-ONLY; The location of the data factory for which the linked integration runtime belong to. - DataFactoryLocation *string `json:"dataFactoryLocation,omitempty"` - // CreateTime - READ-ONLY; The creating time of the linked integration runtime. - CreateTime *date.Time `json:"createTime,omitempty"` -} - -// LinkedIntegrationRuntimeKeyAuthorization the key authorization type integration runtime. -type LinkedIntegrationRuntimeKeyAuthorization struct { - // Key - The key used for authorization. - Key *SecureString `json:"key,omitempty"` - // AuthorizationType - Possible values include: 'AuthorizationTypeLinkedIntegrationRuntimeType', 'AuthorizationTypeRBAC', 'AuthorizationTypeKey' - AuthorizationType AuthorizationType `json:"authorizationType,omitempty"` -} - -// MarshalJSON is the custom marshaler for LinkedIntegrationRuntimeKeyAuthorization. -func (lirka LinkedIntegrationRuntimeKeyAuthorization) MarshalJSON() ([]byte, error) { - lirka.AuthorizationType = AuthorizationTypeKey - objectMap := make(map[string]interface{}) - if lirka.Key != nil { - objectMap["key"] = lirka.Key - } - if lirka.AuthorizationType != "" { - objectMap["authorizationType"] = lirka.AuthorizationType - } - return json.Marshal(objectMap) -} - -// AsLinkedIntegrationRuntimeRbacAuthorization is the BasicLinkedIntegrationRuntimeType implementation for LinkedIntegrationRuntimeKeyAuthorization. -func (lirka LinkedIntegrationRuntimeKeyAuthorization) AsLinkedIntegrationRuntimeRbacAuthorization() (*LinkedIntegrationRuntimeRbacAuthorization, bool) { - return nil, false -} - -// AsLinkedIntegrationRuntimeKeyAuthorization is the BasicLinkedIntegrationRuntimeType implementation for LinkedIntegrationRuntimeKeyAuthorization. -func (lirka LinkedIntegrationRuntimeKeyAuthorization) AsLinkedIntegrationRuntimeKeyAuthorization() (*LinkedIntegrationRuntimeKeyAuthorization, bool) { - return &lirka, true -} - -// AsLinkedIntegrationRuntimeType is the BasicLinkedIntegrationRuntimeType implementation for LinkedIntegrationRuntimeKeyAuthorization. -func (lirka LinkedIntegrationRuntimeKeyAuthorization) AsLinkedIntegrationRuntimeType() (*LinkedIntegrationRuntimeType, bool) { - return nil, false -} - -// AsBasicLinkedIntegrationRuntimeType is the BasicLinkedIntegrationRuntimeType implementation for LinkedIntegrationRuntimeKeyAuthorization. -func (lirka LinkedIntegrationRuntimeKeyAuthorization) AsBasicLinkedIntegrationRuntimeType() (BasicLinkedIntegrationRuntimeType, bool) { - return &lirka, true -} - -// LinkedIntegrationRuntimeRbacAuthorization the role based access control (RBAC) authorization type -// integration runtime. -type LinkedIntegrationRuntimeRbacAuthorization struct { - // ResourceID - The resource identifier of the integration runtime to be shared. - ResourceID *string `json:"resourceId,omitempty"` - // AuthorizationType - Possible values include: 'AuthorizationTypeLinkedIntegrationRuntimeType', 'AuthorizationTypeRBAC', 'AuthorizationTypeKey' - AuthorizationType AuthorizationType `json:"authorizationType,omitempty"` -} - -// MarshalJSON is the custom marshaler for LinkedIntegrationRuntimeRbacAuthorization. -func (lirra LinkedIntegrationRuntimeRbacAuthorization) MarshalJSON() ([]byte, error) { - lirra.AuthorizationType = AuthorizationTypeRBAC - objectMap := make(map[string]interface{}) - if lirra.ResourceID != nil { - objectMap["resourceId"] = lirra.ResourceID - } - if lirra.AuthorizationType != "" { - objectMap["authorizationType"] = lirra.AuthorizationType - } - return json.Marshal(objectMap) -} - -// AsLinkedIntegrationRuntimeRbacAuthorization is the BasicLinkedIntegrationRuntimeType implementation for LinkedIntegrationRuntimeRbacAuthorization. -func (lirra LinkedIntegrationRuntimeRbacAuthorization) AsLinkedIntegrationRuntimeRbacAuthorization() (*LinkedIntegrationRuntimeRbacAuthorization, bool) { - return &lirra, true -} - -// AsLinkedIntegrationRuntimeKeyAuthorization is the BasicLinkedIntegrationRuntimeType implementation for LinkedIntegrationRuntimeRbacAuthorization. -func (lirra LinkedIntegrationRuntimeRbacAuthorization) AsLinkedIntegrationRuntimeKeyAuthorization() (*LinkedIntegrationRuntimeKeyAuthorization, bool) { - return nil, false -} - -// AsLinkedIntegrationRuntimeType is the BasicLinkedIntegrationRuntimeType implementation for LinkedIntegrationRuntimeRbacAuthorization. -func (lirra LinkedIntegrationRuntimeRbacAuthorization) AsLinkedIntegrationRuntimeType() (*LinkedIntegrationRuntimeType, bool) { - return nil, false -} - -// AsBasicLinkedIntegrationRuntimeType is the BasicLinkedIntegrationRuntimeType implementation for LinkedIntegrationRuntimeRbacAuthorization. -func (lirra LinkedIntegrationRuntimeRbacAuthorization) AsBasicLinkedIntegrationRuntimeType() (BasicLinkedIntegrationRuntimeType, bool) { - return &lirra, true -} - -// LinkedIntegrationRuntimeRequest data factory name for linked integration runtime request. -type LinkedIntegrationRuntimeRequest struct { - // LinkedFactoryName - The data factory name for linked integration runtime. - LinkedFactoryName *string `json:"factoryName,omitempty"` -} - -// BasicLinkedIntegrationRuntimeType the base definition of a linked integration runtime. -type BasicLinkedIntegrationRuntimeType interface { - AsLinkedIntegrationRuntimeRbacAuthorization() (*LinkedIntegrationRuntimeRbacAuthorization, bool) - AsLinkedIntegrationRuntimeKeyAuthorization() (*LinkedIntegrationRuntimeKeyAuthorization, bool) - AsLinkedIntegrationRuntimeType() (*LinkedIntegrationRuntimeType, bool) -} - -// LinkedIntegrationRuntimeType the base definition of a linked integration runtime. -type LinkedIntegrationRuntimeType struct { - // AuthorizationType - Possible values include: 'AuthorizationTypeLinkedIntegrationRuntimeType', 'AuthorizationTypeRBAC', 'AuthorizationTypeKey' - AuthorizationType AuthorizationType `json:"authorizationType,omitempty"` -} - -func unmarshalBasicLinkedIntegrationRuntimeType(body []byte) (BasicLinkedIntegrationRuntimeType, error) { - var m map[string]interface{} - err := json.Unmarshal(body, &m) - if err != nil { - return nil, err - } - - switch m["authorizationType"] { - case string(AuthorizationTypeRBAC): - var lirra LinkedIntegrationRuntimeRbacAuthorization - err := json.Unmarshal(body, &lirra) - return lirra, err - case string(AuthorizationTypeKey): - var lirka LinkedIntegrationRuntimeKeyAuthorization - err := json.Unmarshal(body, &lirka) - return lirka, err - default: - var lirt LinkedIntegrationRuntimeType - err := json.Unmarshal(body, &lirt) - return lirt, err - } -} -func unmarshalBasicLinkedIntegrationRuntimeTypeArray(body []byte) ([]BasicLinkedIntegrationRuntimeType, error) { - var rawMessages []*json.RawMessage - err := json.Unmarshal(body, &rawMessages) - if err != nil { - return nil, err - } - - lirtArray := make([]BasicLinkedIntegrationRuntimeType, len(rawMessages)) - - for index, rawMessage := range rawMessages { - lirt, err := unmarshalBasicLinkedIntegrationRuntimeType(*rawMessage) - if err != nil { - return nil, err - } - lirtArray[index] = lirt - } - return lirtArray, nil -} - -// MarshalJSON is the custom marshaler for LinkedIntegrationRuntimeType. -func (lirt LinkedIntegrationRuntimeType) MarshalJSON() ([]byte, error) { - lirt.AuthorizationType = AuthorizationTypeLinkedIntegrationRuntimeType - objectMap := make(map[string]interface{}) - if lirt.AuthorizationType != "" { - objectMap["authorizationType"] = lirt.AuthorizationType - } - return json.Marshal(objectMap) -} - -// AsLinkedIntegrationRuntimeRbacAuthorization is the BasicLinkedIntegrationRuntimeType implementation for LinkedIntegrationRuntimeType. -func (lirt LinkedIntegrationRuntimeType) AsLinkedIntegrationRuntimeRbacAuthorization() (*LinkedIntegrationRuntimeRbacAuthorization, bool) { - return nil, false -} - -// AsLinkedIntegrationRuntimeKeyAuthorization is the BasicLinkedIntegrationRuntimeType implementation for LinkedIntegrationRuntimeType. -func (lirt LinkedIntegrationRuntimeType) AsLinkedIntegrationRuntimeKeyAuthorization() (*LinkedIntegrationRuntimeKeyAuthorization, bool) { - return nil, false -} - -// AsLinkedIntegrationRuntimeType is the BasicLinkedIntegrationRuntimeType implementation for LinkedIntegrationRuntimeType. -func (lirt LinkedIntegrationRuntimeType) AsLinkedIntegrationRuntimeType() (*LinkedIntegrationRuntimeType, bool) { - return &lirt, true -} - -// AsBasicLinkedIntegrationRuntimeType is the BasicLinkedIntegrationRuntimeType implementation for LinkedIntegrationRuntimeType. -func (lirt LinkedIntegrationRuntimeType) AsBasicLinkedIntegrationRuntimeType() (BasicLinkedIntegrationRuntimeType, bool) { - return &lirt, true -} - -// BasicLinkedService the Azure Data Factory nested object which contains the information and credential which can be -// used to connect with related store or compute resource. -type BasicLinkedService interface { - AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) - AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) - AsSapTableLinkedService() (*SapTableLinkedService, bool) - AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) - AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) - AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) - AsResponsysLinkedService() (*ResponsysLinkedService, bool) - AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) - AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) - AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) - AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) - AsNetezzaLinkedService() (*NetezzaLinkedService, bool) - AsVerticaLinkedService() (*VerticaLinkedService, bool) - AsZohoLinkedService() (*ZohoLinkedService, bool) - AsXeroLinkedService() (*XeroLinkedService, bool) - AsSquareLinkedService() (*SquareLinkedService, bool) - AsSparkLinkedService() (*SparkLinkedService, bool) - AsShopifyLinkedService() (*ShopifyLinkedService, bool) - AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) - AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) - AsPrestoLinkedService() (*PrestoLinkedService, bool) - AsPhoenixLinkedService() (*PhoenixLinkedService, bool) - AsPaypalLinkedService() (*PaypalLinkedService, bool) - AsMarketoLinkedService() (*MarketoLinkedService, bool) - AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) - AsMariaDBLinkedService() (*MariaDBLinkedService, bool) - AsMagentoLinkedService() (*MagentoLinkedService, bool) - AsJiraLinkedService() (*JiraLinkedService, bool) - AsImpalaLinkedService() (*ImpalaLinkedService, bool) - AsHubspotLinkedService() (*HubspotLinkedService, bool) - AsHiveLinkedService() (*HiveLinkedService, bool) - AsHBaseLinkedService() (*HBaseLinkedService, bool) - AsGreenplumLinkedService() (*GreenplumLinkedService, bool) - AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) - AsEloquaLinkedService() (*EloquaLinkedService, bool) - AsDrillLinkedService() (*DrillLinkedService, bool) - AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) - AsConcurLinkedService() (*ConcurLinkedService, bool) - AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) - AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) - AsSapHanaLinkedService() (*SapHanaLinkedService, bool) - AsSapBWLinkedService() (*SapBWLinkedService, bool) - AsSftpServerLinkedService() (*SftpServerLinkedService, bool) - AsFtpServerLinkedService() (*FtpServerLinkedService, bool) - AsHTTPLinkedService() (*HTTPLinkedService, bool) - AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) - AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) - AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) - AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) - AsRestServiceLinkedService() (*RestServiceLinkedService, bool) - AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) - AsSapEccLinkedService() (*SapEccLinkedService, bool) - AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) - AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) - AsSalesforceLinkedService() (*SalesforceLinkedService, bool) - AsOffice365LinkedService() (*Office365LinkedService, bool) - AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) - AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) - AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) - AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) - AsMongoDbLinkedService() (*MongoDbLinkedService, bool) - AsCassandraLinkedService() (*CassandraLinkedService, bool) - AsWebLinkedService() (*WebLinkedService, bool) - AsODataLinkedService() (*ODataLinkedService, bool) - AsHdfsLinkedService() (*HdfsLinkedService, bool) - AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) - AsInformixLinkedService() (*InformixLinkedService, bool) - AsOdbcLinkedService() (*OdbcLinkedService, bool) - AsAzureMLLinkedService() (*AzureMLLinkedService, bool) - AsTeradataLinkedService() (*TeradataLinkedService, bool) - AsDb2LinkedService() (*Db2LinkedService, bool) - AsSybaseLinkedService() (*SybaseLinkedService, bool) - AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) - AsMySQLLinkedService() (*MySQLLinkedService, bool) - AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) - AsOracleLinkedService() (*OracleLinkedService, bool) - AsFileServerLinkedService() (*FileServerLinkedService, bool) - AsHDInsightLinkedService() (*HDInsightLinkedService, bool) - AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) - AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) - AsDynamicsLinkedService() (*DynamicsLinkedService, bool) - AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) - AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) - AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) - AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) - AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) - AsSQLServerLinkedService() (*SQLServerLinkedService, bool) - AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) - AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) - AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) - AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) - AsLinkedService() (*LinkedService, bool) -} - -// LinkedService the Azure Data Factory nested object which contains the information and credential which can -// be used to connect with related store or compute resource. -type LinkedService struct { +// MagentoSource a copy activity Magento server source. +type MagentoSource struct { + // Query - A query to retrieve data from source. Type: string (or Expression with resultType string). + Query interface{} `json:"query,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` - // ConnectVia - The integration runtime reference. - ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` - // Description - Linked service description. - Description *string `json:"description,omitempty"` - // Parameters - Parameters for linked service. - Parameters map[string]*ParameterSpecification `json:"parameters"` - // Annotations - List of tags that can be used for describing the linked service. - Annotations *[]interface{} `json:"annotations,omitempty"` - // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' - Type TypeBasicLinkedService `json:"type,omitempty"` -} - -func unmarshalBasicLinkedService(body []byte) (BasicLinkedService, error) { - var m map[string]interface{} - err := json.Unmarshal(body, &m) - if err != nil { - return nil, err - } - - switch m["type"] { - case string(TypeAzureFunction): - var afls AzureFunctionLinkedService - err := json.Unmarshal(body, &afls) - return afls, err - case string(TypeAzureDataExplorer): - var adels AzureDataExplorerLinkedService - err := json.Unmarshal(body, &adels) - return adels, err - case string(TypeSapTable): - var stls SapTableLinkedService - err := json.Unmarshal(body, &stls) - return stls, err - case string(TypeGoogleAdWords): - var gawls GoogleAdWordsLinkedService - err := json.Unmarshal(body, &gawls) - return gawls, err - case string(TypeOracleServiceCloud): - var oscls OracleServiceCloudLinkedService - err := json.Unmarshal(body, &oscls) - return oscls, err - case string(TypeDynamicsAX): - var dals DynamicsAXLinkedService - err := json.Unmarshal(body, &dals) - return dals, err - case string(TypeResponsys): - var rls ResponsysLinkedService - err := json.Unmarshal(body, &rls) - return rls, err - case string(TypeAzureDatabricks): - var adls AzureDatabricksLinkedService - err := json.Unmarshal(body, &adls) - return adls, err - case string(TypeAzureDataLakeAnalytics): - var adlals AzureDataLakeAnalyticsLinkedService - err := json.Unmarshal(body, &adlals) - return adlals, err - case string(TypeHDInsightOnDemand): - var hiodls HDInsightOnDemandLinkedService - err := json.Unmarshal(body, &hiodls) - return hiodls, err - case string(TypeSalesforceMarketingCloud): - var smcls SalesforceMarketingCloudLinkedService - err := json.Unmarshal(body, &smcls) - return smcls, err - case string(TypeNetezza): - var nls NetezzaLinkedService - err := json.Unmarshal(body, &nls) - return nls, err - case string(TypeVertica): - var vls VerticaLinkedService - err := json.Unmarshal(body, &vls) - return vls, err - case string(TypeZoho): - var zls ZohoLinkedService - err := json.Unmarshal(body, &zls) - return zls, err - case string(TypeXero): - var xls XeroLinkedService - err := json.Unmarshal(body, &xls) - return xls, err - case string(TypeSquare): - var sls SquareLinkedService - err := json.Unmarshal(body, &sls) - return sls, err - case string(TypeSpark): - var sls SparkLinkedService - err := json.Unmarshal(body, &sls) - return sls, err - case string(TypeShopify): - var sls ShopifyLinkedService - err := json.Unmarshal(body, &sls) - return sls, err - case string(TypeServiceNow): - var snls ServiceNowLinkedService - err := json.Unmarshal(body, &snls) - return snls, err - case string(TypeQuickBooks): - var qbls QuickBooksLinkedService - err := json.Unmarshal(body, &qbls) - return qbls, err - case string(TypePresto): - var pls PrestoLinkedService - err := json.Unmarshal(body, &pls) - return pls, err - case string(TypePhoenix): - var pls PhoenixLinkedService - err := json.Unmarshal(body, &pls) - return pls, err - case string(TypePaypal): - var pls PaypalLinkedService - err := json.Unmarshal(body, &pls) - return pls, err - case string(TypeMarketo): - var mls MarketoLinkedService - err := json.Unmarshal(body, &mls) - return mls, err - case string(TypeAzureMariaDB): - var amdls AzureMariaDBLinkedService - err := json.Unmarshal(body, &amdls) - return amdls, err - case string(TypeMariaDB): - var mdls MariaDBLinkedService - err := json.Unmarshal(body, &mdls) - return mdls, err - case string(TypeMagento): - var mls MagentoLinkedService - err := json.Unmarshal(body, &mls) - return mls, err - case string(TypeJira): - var jls JiraLinkedService - err := json.Unmarshal(body, &jls) - return jls, err - case string(TypeImpala): - var ils ImpalaLinkedService - err := json.Unmarshal(body, &ils) - return ils, err - case string(TypeHubspot): - var hls HubspotLinkedService - err := json.Unmarshal(body, &hls) - return hls, err - case string(TypeHive): - var hls HiveLinkedService - err := json.Unmarshal(body, &hls) - return hls, err - case string(TypeHBase): - var hbls HBaseLinkedService - err := json.Unmarshal(body, &hbls) - return hbls, err - case string(TypeGreenplum): - var gls GreenplumLinkedService - err := json.Unmarshal(body, &gls) - return gls, err - case string(TypeGoogleBigQuery): - var gbqls GoogleBigQueryLinkedService - err := json.Unmarshal(body, &gbqls) - return gbqls, err - case string(TypeEloqua): - var els EloquaLinkedService - err := json.Unmarshal(body, &els) - return els, err - case string(TypeDrill): - var dls DrillLinkedService - err := json.Unmarshal(body, &dls) - return dls, err - case string(TypeCouchbase): - var cls CouchbaseLinkedService - err := json.Unmarshal(body, &cls) - return cls, err - case string(TypeConcur): - var cls ConcurLinkedService - err := json.Unmarshal(body, &cls) - return cls, err - case string(TypeAzurePostgreSQL): - var apsls AzurePostgreSQLLinkedService - err := json.Unmarshal(body, &apsls) - return apsls, err - case string(TypeAmazonMWS): - var amls AmazonMWSLinkedService - err := json.Unmarshal(body, &amls) - return amls, err - case string(TypeSapHana): - var shls SapHanaLinkedService - err := json.Unmarshal(body, &shls) - return shls, err - case string(TypeSapBW): - var sbls SapBWLinkedService - err := json.Unmarshal(body, &sbls) - return sbls, err - case string(TypeSftp): - var ssls SftpServerLinkedService - err := json.Unmarshal(body, &ssls) - return ssls, err - case string(TypeFtpServer): - var fsls FtpServerLinkedService - err := json.Unmarshal(body, &fsls) - return fsls, err - case string(TypeHTTPServer): - var hls HTTPLinkedService - err := json.Unmarshal(body, &hls) - return hls, err - case string(TypeAzureSearch): - var asls AzureSearchLinkedService - err := json.Unmarshal(body, &asls) - return asls, err - case string(TypeCustomDataSource): - var cdsls CustomDataSourceLinkedService - err := json.Unmarshal(body, &cdsls) - return cdsls, err - case string(TypeAmazonRedshift): - var arls AmazonRedshiftLinkedService - err := json.Unmarshal(body, &arls) - return arls, err - case string(TypeAmazonS3): - var asls AmazonS3LinkedService - err := json.Unmarshal(body, &asls) - return asls, err - case string(TypeRestService): - var rsls RestServiceLinkedService - err := json.Unmarshal(body, &rsls) - return rsls, err - case string(TypeSapOpenHub): - var sohls SapOpenHubLinkedService - err := json.Unmarshal(body, &sohls) - return sohls, err - case string(TypeSapEcc): - var sels SapEccLinkedService - err := json.Unmarshal(body, &sels) - return sels, err - case string(TypeSapCloudForCustomer): - var scfcls SapCloudForCustomerLinkedService - err := json.Unmarshal(body, &scfcls) - return scfcls, err - case string(TypeSalesforceServiceCloud): - var sscls SalesforceServiceCloudLinkedService - err := json.Unmarshal(body, &sscls) - return sscls, err - case string(TypeSalesforce): - var sls SalesforceLinkedService - err := json.Unmarshal(body, &sls) - return sls, err - case string(TypeOffice365): - var o3ls Office365LinkedService - err := json.Unmarshal(body, &o3ls) - return o3ls, err - case string(TypeAzureBlobFS): - var abfls AzureBlobFSLinkedService - err := json.Unmarshal(body, &abfls) - return abfls, err - case string(TypeAzureDataLakeStore): - var adlsls AzureDataLakeStoreLinkedService - err := json.Unmarshal(body, &adlsls) - return adlsls, err - case string(TypeCosmosDbMongoDbAPI): - var cdmdals CosmosDbMongoDbAPILinkedService - err := json.Unmarshal(body, &cdmdals) - return cdmdals, err - case string(TypeMongoDbV2): - var mdvls MongoDbV2LinkedService - err := json.Unmarshal(body, &mdvls) - return mdvls, err - case string(TypeMongoDb): - var mdls MongoDbLinkedService - err := json.Unmarshal(body, &mdls) - return mdls, err - case string(TypeCassandra): - var cls CassandraLinkedService - err := json.Unmarshal(body, &cls) - return cls, err - case string(TypeWeb): - var wls WebLinkedService - err := json.Unmarshal(body, &wls) - return wls, err - case string(TypeOData): - var odls ODataLinkedService - err := json.Unmarshal(body, &odls) - return odls, err - case string(TypeHdfs): - var hls HdfsLinkedService - err := json.Unmarshal(body, &hls) - return hls, err - case string(TypeMicrosoftAccess): - var mals MicrosoftAccessLinkedService - err := json.Unmarshal(body, &mals) - return mals, err - case string(TypeInformix): - var ils InformixLinkedService - err := json.Unmarshal(body, &ils) - return ils, err - case string(TypeOdbc): - var ols OdbcLinkedService - err := json.Unmarshal(body, &ols) - return ols, err - case string(TypeAzureML): - var amls AzureMLLinkedService - err := json.Unmarshal(body, &amls) - return amls, err - case string(TypeTeradata): - var TLSVar TeradataLinkedService - err := json.Unmarshal(body, &TLSVar) - return TLSVar, err - case string(TypeDb2): - var d2ls Db2LinkedService - err := json.Unmarshal(body, &d2ls) - return d2ls, err - case string(TypeSybase): - var sls SybaseLinkedService - err := json.Unmarshal(body, &sls) - return sls, err - case string(TypePostgreSQL): - var psls PostgreSQLLinkedService - err := json.Unmarshal(body, &psls) - return psls, err - case string(TypeMySQL): - var msls MySQLLinkedService - err := json.Unmarshal(body, &msls) - return msls, err - case string(TypeAzureMySQL): - var amsls AzureMySQLLinkedService - err := json.Unmarshal(body, &amsls) - return amsls, err - case string(TypeOracle): - var ols OracleLinkedService - err := json.Unmarshal(body, &ols) - return ols, err - case string(TypeFileServer): - var fsls FileServerLinkedService - err := json.Unmarshal(body, &fsls) - return fsls, err - case string(TypeHDInsight): - var hils HDInsightLinkedService - err := json.Unmarshal(body, &hils) - return hils, err - case string(TypeCommonDataServiceForApps): - var cdsfals CommonDataServiceForAppsLinkedService - err := json.Unmarshal(body, &cdsfals) - return cdsfals, err - case string(TypeDynamicsCrm): - var dcls DynamicsCrmLinkedService - err := json.Unmarshal(body, &dcls) - return dcls, err - case string(TypeDynamics): - var dls DynamicsLinkedService - err := json.Unmarshal(body, &dls) - return dls, err - case string(TypeCosmosDb): - var cdls CosmosDbLinkedService - err := json.Unmarshal(body, &cdls) - return cdls, err - case string(TypeAzureKeyVault): - var akvls AzureKeyVaultLinkedService - err := json.Unmarshal(body, &akvls) - return akvls, err - case string(TypeAzureBatch): - var abls AzureBatchLinkedService - err := json.Unmarshal(body, &abls) - return abls, err - case string(TypeAzureSQLMI): - var asmls AzureSQLMILinkedService - err := json.Unmarshal(body, &asmls) - return asmls, err - case string(TypeAzureSQLDatabase): - var asdls AzureSQLDatabaseLinkedService - err := json.Unmarshal(body, &asdls) - return asdls, err - case string(TypeSQLServer): - var ssls SQLServerLinkedService - err := json.Unmarshal(body, &ssls) - return ssls, err - case string(TypeAzureSQLDW): - var asdls AzureSQLDWLinkedService - err := json.Unmarshal(body, &asdls) - return asdls, err - case string(TypeAzureTableStorage): - var atsls AzureTableStorageLinkedService - err := json.Unmarshal(body, &atsls) - return atsls, err - case string(TypeAzureBlobStorage): - var absls AzureBlobStorageLinkedService - err := json.Unmarshal(body, &absls) - return absls, err - case string(TypeAzureStorage): - var asls AzureStorageLinkedService - err := json.Unmarshal(body, &asls) - return asls, err - default: - var ls LinkedService - err := json.Unmarshal(body, &ls) - return ls, err - } -} -func unmarshalBasicLinkedServiceArray(body []byte) ([]BasicLinkedService, error) { - var rawMessages []*json.RawMessage - err := json.Unmarshal(body, &rawMessages) - if err != nil { - return nil, err - } - - lsArray := make([]BasicLinkedService, len(rawMessages)) - - for index, rawMessage := range rawMessages { - ls, err := unmarshalBasicLinkedService(*rawMessage) - if err != nil { - return nil, err - } - lsArray[index] = ls - } - return lsArray, nil + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' + Type TypeBasicCopySource `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for LinkedService. -func (ls LinkedService) MarshalJSON() ([]byte, error) { - ls.Type = TypeLinkedService +// MarshalJSON is the custom marshaler for MagentoSource. +func (ms MagentoSource) MarshalJSON() ([]byte, error) { + ms.Type = TypeMagentoSource objectMap := make(map[string]interface{}) - if ls.ConnectVia != nil { - objectMap["connectVia"] = ls.ConnectVia + if ms.Query != nil { + objectMap["query"] = ms.Query } - if ls.Description != nil { - objectMap["description"] = ls.Description + if ms.QueryTimeout != nil { + objectMap["queryTimeout"] = ms.QueryTimeout } - if ls.Parameters != nil { - objectMap["parameters"] = ls.Parameters + if ms.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = ms.SourceRetryCount } - if ls.Annotations != nil { - objectMap["annotations"] = ls.Annotations + if ms.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = ms.SourceRetryWait } - if ls.Type != "" { - objectMap["type"] = ls.Type + if ms.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = ms.MaxConcurrentConnections } - for k, v := range ls.AdditionalProperties { + if ms.Type != "" { + objectMap["type"] = ms.Type + } + for k, v := range ms.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsAzureFunctionLinkedService is the BasicLinkedService implementation for LinkedService. -func (ls LinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { - return nil, false -} - -// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for LinkedService. -func (ls LinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { - return nil, false -} - -// AsSapTableLinkedService is the BasicLinkedService implementation for LinkedService. -func (ls LinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { - return nil, false -} - -// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for LinkedService. -func (ls LinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { +// AsHTTPSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsHTTPSource() (*HTTPSource, bool) { return nil, false } -// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for LinkedService. -func (ls LinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { +// AsAzureBlobFSSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { return nil, false } -// AsDynamicsAXLinkedService is the BasicLinkedService implementation for LinkedService. -func (ls LinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { return nil, false } -// AsResponsysLinkedService is the BasicLinkedService implementation for LinkedService. -func (ls LinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { +// AsOffice365Source is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsOffice365Source() (*Office365Source, bool) { return nil, false } -// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for LinkedService. -func (ls LinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { return nil, false } -// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for LinkedService. -func (ls LinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { +// AsMongoDbV2Source is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { return nil, false } -// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for LinkedService. -func (ls LinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { +// AsMongoDbSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsMongoDbSource() (*MongoDbSource, bool) { return nil, false } -// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for LinkedService. -func (ls LinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { +// AsWebSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsWebSource() (*WebSource, bool) { return nil, false } -// AsNetezzaLinkedService is the BasicLinkedService implementation for LinkedService. -func (ls LinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { +// AsOracleSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsOracleSource() (*OracleSource, bool) { return nil, false } -// AsVerticaLinkedService is the BasicLinkedService implementation for LinkedService. -func (ls LinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { +// AsAzureDataExplorerSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { return nil, false } -// AsZohoLinkedService is the BasicLinkedService implementation for LinkedService. -func (ls LinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { +// AsHdfsSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsHdfsSource() (*HdfsSource, bool) { return nil, false } -// AsXeroLinkedService is the BasicLinkedService implementation for LinkedService. -func (ls LinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { +// AsFileSystemSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsFileSystemSource() (*FileSystemSource, bool) { return nil, false } -// AsSquareLinkedService is the BasicLinkedService implementation for LinkedService. -func (ls LinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { +// AsRestSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsRestSource() (*RestSource, bool) { return nil, false } -// AsSparkLinkedService is the BasicLinkedService implementation for LinkedService. -func (ls LinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { return nil, false } -// AsShopifyLinkedService is the BasicLinkedService implementation for LinkedService. -func (ls LinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { +// AsODataSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsODataSource() (*ODataSource, bool) { return nil, false } -// AsServiceNowLinkedService is the BasicLinkedService implementation for LinkedService. -func (ls LinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { +// AsMicrosoftAccessSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { return nil, false } -// AsQuickBooksLinkedService is the BasicLinkedService implementation for LinkedService. -func (ls LinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { +// AsRelationalSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsRelationalSource() (*RelationalSource, bool) { return nil, false } -// AsPrestoLinkedService is the BasicLinkedService implementation for LinkedService. -func (ls LinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { return nil, false } -// AsPhoenixLinkedService is the BasicLinkedService implementation for LinkedService. -func (ls LinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { +// AsDynamicsCrmSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { return nil, false } -// AsPaypalLinkedService is the BasicLinkedService implementation for LinkedService. -func (ls LinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { +// AsDynamicsSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsDynamicsSource() (*DynamicsSource, bool) { return nil, false } -// AsMarketoLinkedService is the BasicLinkedService implementation for LinkedService. -func (ls LinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { return nil, false } -// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for LinkedService. -func (ls LinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { +// AsDocumentDbCollectionSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { return nil, false } -// AsMariaDBLinkedService is the BasicLinkedService implementation for LinkedService. -func (ls LinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { +// AsBlobSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsBlobSource() (*BlobSource, bool) { return nil, false } -// AsMagentoLinkedService is the BasicLinkedService implementation for LinkedService. -func (ls LinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { +// AsAmazonRedshiftSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { return nil, false } -// AsJiraLinkedService is the BasicLinkedService implementation for LinkedService. -func (ls LinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { +// AsGoogleAdWordsSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { return nil, false } -// AsImpalaLinkedService is the BasicLinkedService implementation for LinkedService. -func (ls LinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { +// AsOracleServiceCloudSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { return nil, false } -// AsHubspotLinkedService is the BasicLinkedService implementation for LinkedService. -func (ls LinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { +// AsDynamicsAXSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { return nil, false } -// AsHiveLinkedService is the BasicLinkedService implementation for LinkedService. -func (ls LinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { +// AsResponsysSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsResponsysSource() (*ResponsysSource, bool) { return nil, false } -// AsHBaseLinkedService is the BasicLinkedService implementation for LinkedService. -func (ls LinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { return nil, false } -// AsGreenplumLinkedService is the BasicLinkedService implementation for LinkedService. -func (ls LinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { +// AsVerticaSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsVerticaSource() (*VerticaSource, bool) { return nil, false } -// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for LinkedService. -func (ls LinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { +// AsNetezzaSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsNetezzaSource() (*NetezzaSource, bool) { return nil, false } -// AsEloquaLinkedService is the BasicLinkedService implementation for LinkedService. -func (ls LinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { +// AsZohoSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsZohoSource() (*ZohoSource, bool) { return nil, false } -// AsDrillLinkedService is the BasicLinkedService implementation for LinkedService. -func (ls LinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { +// AsXeroSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsXeroSource() (*XeroSource, bool) { return nil, false } -// AsCouchbaseLinkedService is the BasicLinkedService implementation for LinkedService. -func (ls LinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { +// AsSquareSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsSquareSource() (*SquareSource, bool) { return nil, false } -// AsConcurLinkedService is the BasicLinkedService implementation for LinkedService. -func (ls LinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { +// AsSparkSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsSparkSource() (*SparkSource, bool) { return nil, false } -// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for LinkedService. -func (ls LinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { +// AsShopifySource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsShopifySource() (*ShopifySource, bool) { return nil, false } -// AsAmazonMWSLinkedService is the BasicLinkedService implementation for LinkedService. -func (ls LinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { +// AsServiceNowSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsServiceNowSource() (*ServiceNowSource, bool) { return nil, false } -// AsSapHanaLinkedService is the BasicLinkedService implementation for LinkedService. -func (ls LinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { +// AsQuickBooksSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsQuickBooksSource() (*QuickBooksSource, bool) { return nil, false } -// AsSapBWLinkedService is the BasicLinkedService implementation for LinkedService. -func (ls LinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { +// AsPrestoSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsPrestoSource() (*PrestoSource, bool) { return nil, false } -// AsSftpServerLinkedService is the BasicLinkedService implementation for LinkedService. -func (ls LinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { +// AsPhoenixSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsPhoenixSource() (*PhoenixSource, bool) { return nil, false } -// AsFtpServerLinkedService is the BasicLinkedService implementation for LinkedService. -func (ls LinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { +// AsPaypalSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsPaypalSource() (*PaypalSource, bool) { return nil, false } -// AsHTTPLinkedService is the BasicLinkedService implementation for LinkedService. -func (ls LinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { +// AsMarketoSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsMarketoSource() (*MarketoSource, bool) { return nil, false } -// AsAzureSearchLinkedService is the BasicLinkedService implementation for LinkedService. -func (ls LinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { +// AsAzureMariaDBSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { return nil, false } -// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for LinkedService. -func (ls LinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { +// AsMariaDBSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsMariaDBSource() (*MariaDBSource, bool) { return nil, false } -// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for LinkedService. -func (ls LinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { - return nil, false +// AsMagentoSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsMagentoSource() (*MagentoSource, bool) { + return &ms, true } -// AsAmazonS3LinkedService is the BasicLinkedService implementation for LinkedService. -func (ls LinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { +// AsJiraSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsJiraSource() (*JiraSource, bool) { return nil, false } -// AsRestServiceLinkedService is the BasicLinkedService implementation for LinkedService. -func (ls LinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { +// AsImpalaSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsImpalaSource() (*ImpalaSource, bool) { return nil, false } -// AsSapOpenHubLinkedService is the BasicLinkedService implementation for LinkedService. -func (ls LinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { +// AsHubspotSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsHubspotSource() (*HubspotSource, bool) { return nil, false } -// AsSapEccLinkedService is the BasicLinkedService implementation for LinkedService. -func (ls LinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { +// AsHiveSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsHiveSource() (*HiveSource, bool) { return nil, false } -// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for LinkedService. -func (ls LinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { +// AsHBaseSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsHBaseSource() (*HBaseSource, bool) { return nil, false } -// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for LinkedService. -func (ls LinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { +// AsGreenplumSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsGreenplumSource() (*GreenplumSource, bool) { return nil, false } -// AsSalesforceLinkedService is the BasicLinkedService implementation for LinkedService. -func (ls LinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { +// AsGoogleBigQuerySource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { return nil, false } -// AsOffice365LinkedService is the BasicLinkedService implementation for LinkedService. -func (ls LinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { +// AsEloquaSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsEloquaSource() (*EloquaSource, bool) { return nil, false } -// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for LinkedService. -func (ls LinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { +// AsDrillSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsDrillSource() (*DrillSource, bool) { return nil, false } -// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for LinkedService. -func (ls LinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { +// AsCouchbaseSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsCouchbaseSource() (*CouchbaseSource, bool) { return nil, false } -// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for LinkedService. -func (ls LinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { +// AsConcurSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsConcurSource() (*ConcurSource, bool) { return nil, false } -// AsMongoDbV2LinkedService is the BasicLinkedService implementation for LinkedService. -func (ls LinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { +// AsAzurePostgreSQLSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { return nil, false } -// AsMongoDbLinkedService is the BasicLinkedService implementation for LinkedService. -func (ls LinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { +// AsAmazonMWSSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { return nil, false } -// AsCassandraLinkedService is the BasicLinkedService implementation for LinkedService. -func (ls LinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { +// AsCassandraSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsCassandraSource() (*CassandraSource, bool) { return nil, false } -// AsWebLinkedService is the BasicLinkedService implementation for LinkedService. -func (ls LinkedService) AsWebLinkedService() (*WebLinkedService, bool) { +// AsTeradataSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsTeradataSource() (*TeradataSource, bool) { return nil, false } -// AsODataLinkedService is the BasicLinkedService implementation for LinkedService. -func (ls LinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { +// AsAzureMySQLSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { return nil, false } -// AsHdfsLinkedService is the BasicLinkedService implementation for LinkedService. -func (ls LinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { +// AsSQLDWSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsSQLDWSource() (*SQLDWSource, bool) { return nil, false } -// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for LinkedService. -func (ls LinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { +// AsSQLMISource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsSQLMISource() (*SQLMISource, bool) { return nil, false } -// AsInformixLinkedService is the BasicLinkedService implementation for LinkedService. -func (ls LinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { +// AsAzureSQLSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsAzureSQLSource() (*AzureSQLSource, bool) { return nil, false } -// AsOdbcLinkedService is the BasicLinkedService implementation for LinkedService. -func (ls LinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { +// AsSQLServerSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsSQLServerSource() (*SQLServerSource, bool) { return nil, false } -// AsAzureMLLinkedService is the BasicLinkedService implementation for LinkedService. -func (ls LinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { +// AsSQLSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsSQLSource() (*SQLSource, bool) { return nil, false } -// AsTeradataLinkedService is the BasicLinkedService implementation for LinkedService. -func (ls LinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { +// AsSapTableSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsSapTableSource() (*SapTableSource, bool) { return nil, false } -// AsDb2LinkedService is the BasicLinkedService implementation for LinkedService. -func (ls LinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { +// AsSapOpenHubSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { return nil, false } -// AsSybaseLinkedService is the BasicLinkedService implementation for LinkedService. -func (ls LinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { +// AsSapHanaSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsSapHanaSource() (*SapHanaSource, bool) { return nil, false } -// AsPostgreSQLLinkedService is the BasicLinkedService implementation for LinkedService. -func (ls LinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { +// AsSapEccSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsSapEccSource() (*SapEccSource, bool) { return nil, false } -// AsMySQLLinkedService is the BasicLinkedService implementation for LinkedService. -func (ls LinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { +// AsSapCloudForCustomerSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { return nil, false } -// AsAzureMySQLLinkedService is the BasicLinkedService implementation for LinkedService. -func (ls LinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { +// AsSalesforceSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsSalesforceSource() (*SalesforceSource, bool) { return nil, false } -// AsOracleLinkedService is the BasicLinkedService implementation for LinkedService. -func (ls LinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { +// AsSapBwSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsSapBwSource() (*SapBwSource, bool) { return nil, false } -// AsFileServerLinkedService is the BasicLinkedService implementation for LinkedService. -func (ls LinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { +// AsSybaseSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsSybaseSource() (*SybaseSource, bool) { return nil, false } -// AsHDInsightLinkedService is the BasicLinkedService implementation for LinkedService. -func (ls LinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { +// AsPostgreSQLSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { return nil, false } -// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for LinkedService. -func (ls LinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { +// AsMySQLSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsMySQLSource() (*MySQLSource, bool) { return nil, false } -// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for LinkedService. -func (ls LinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { +// AsOdbcSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsOdbcSource() (*OdbcSource, bool) { return nil, false } -// AsDynamicsLinkedService is the BasicLinkedService implementation for LinkedService. -func (ls LinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { +// AsDb2Source is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsDb2Source() (*Db2Source, bool) { return nil, false } -// AsCosmosDbLinkedService is the BasicLinkedService implementation for LinkedService. -func (ls LinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { +// AsInformixSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsInformixSource() (*InformixSource, bool) { return nil, false } -// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for LinkedService. -func (ls LinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { +// AsAzureTableSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsAzureTableSource() (*AzureTableSource, bool) { return nil, false } -// AsAzureBatchLinkedService is the BasicLinkedService implementation for LinkedService. -func (ls LinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { +// AsTabularSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsTabularSource() (*TabularSource, bool) { return nil, false } -// AsAzureSQLMILinkedService is the BasicLinkedService implementation for LinkedService. -func (ls LinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { - return nil, false +// AsBasicTabularSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &ms, true } -// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for LinkedService. -func (ls LinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { +// AsBinarySource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsBinarySource() (*BinarySource, bool) { return nil, false } -// AsSQLServerLinkedService is the BasicLinkedService implementation for LinkedService. -func (ls LinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { +// AsOrcSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsOrcSource() (*OrcSource, bool) { return nil, false } -// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for LinkedService. -func (ls LinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { +// AsJSONSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsJSONSource() (*JSONSource, bool) { return nil, false } -// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for LinkedService. -func (ls LinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { +// AsDelimitedTextSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { return nil, false } -// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for LinkedService. -func (ls LinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { +// AsParquetSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsParquetSource() (*ParquetSource, bool) { return nil, false } -// AsAzureStorageLinkedService is the BasicLinkedService implementation for LinkedService. -func (ls LinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { +// AsAvroSource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsAvroSource() (*AvroSource, bool) { return nil, false } -// AsLinkedService is the BasicLinkedService implementation for LinkedService. -func (ls LinkedService) AsLinkedService() (*LinkedService, bool) { - return &ls, true +// AsCopySource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsCopySource() (*CopySource, bool) { + return nil, false } -// AsBasicLinkedService is the BasicLinkedService implementation for LinkedService. -func (ls LinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { - return &ls, true +// AsBasicCopySource is the BasicCopySource implementation for MagentoSource. +func (ms MagentoSource) AsBasicCopySource() (BasicCopySource, bool) { + return &ms, true } -// UnmarshalJSON is the custom unmarshaler for LinkedService struct. -func (ls *LinkedService) UnmarshalJSON(body []byte) error { +// UnmarshalJSON is the custom unmarshaler for MagentoSource struct. +func (ms *MagentoSource) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -107688,62 +124700,71 @@ func (ls *LinkedService) UnmarshalJSON(body []byte) error { } for k, v := range m { switch k { - default: + case "query": if v != nil { - var additionalProperties interface{} - err = json.Unmarshal(*v, &additionalProperties) + var query interface{} + err = json.Unmarshal(*v, &query) if err != nil { return err } - if ls.AdditionalProperties == nil { - ls.AdditionalProperties = make(map[string]interface{}) + ms.Query = query + } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err } - ls.AdditionalProperties[k] = additionalProperties + ms.QueryTimeout = queryTimeout } - case "connectVia": + default: if v != nil { - var connectVia IntegrationRuntimeReference - err = json.Unmarshal(*v, &connectVia) + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) if err != nil { return err } - ls.ConnectVia = &connectVia + if ms.AdditionalProperties == nil { + ms.AdditionalProperties = make(map[string]interface{}) + } + ms.AdditionalProperties[k] = additionalProperties } - case "description": + case "sourceRetryCount": if v != nil { - var description string - err = json.Unmarshal(*v, &description) + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) if err != nil { return err } - ls.Description = &description + ms.SourceRetryCount = sourceRetryCount } - case "parameters": + case "sourceRetryWait": if v != nil { - var parameters map[string]*ParameterSpecification - err = json.Unmarshal(*v, ¶meters) + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) if err != nil { return err } - ls.Parameters = parameters + ms.SourceRetryWait = sourceRetryWait } - case "annotations": + case "maxConcurrentConnections": if v != nil { - var annotations []interface{} - err = json.Unmarshal(*v, &annotations) + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) if err != nil { return err } - ls.Annotations = &annotations + ms.MaxConcurrentConnections = maxConcurrentConnections } case "type": if v != nil { - var typeVar TypeBasicLinkedService + var typeVar TypeBasicCopySource err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - ls.Type = typeVar + ms.Type = typeVar } } } @@ -107751,194 +124772,213 @@ func (ls *LinkedService) UnmarshalJSON(body []byte) error { return nil } -// LinkedServiceListResponse a list of linked service resources. -type LinkedServiceListResponse struct { - autorest.Response `json:"-"` - // Value - List of linked services. - Value *[]LinkedServiceResource `json:"value,omitempty"` - // NextLink - The link to the next page of results, if any remaining results exist. - NextLink *string `json:"nextLink,omitempty"` -} - -// LinkedServiceListResponseIterator provides access to a complete listing of LinkedServiceResource values. -type LinkedServiceListResponseIterator struct { - i int - page LinkedServiceListResponsePage +// ManagedIntegrationRuntime managed integration runtime, including managed elastic and managed dedicated +// integration runtimes. +type ManagedIntegrationRuntime struct { + // State - READ-ONLY; Integration runtime state, only valid for managed dedicated integration runtime. Possible values include: 'IntegrationRuntimeStateInitial', 'IntegrationRuntimeStateStopped', 'IntegrationRuntimeStateStarted', 'IntegrationRuntimeStateStarting', 'IntegrationRuntimeStateStopping', 'IntegrationRuntimeStateNeedRegistration', 'IntegrationRuntimeStateOnline', 'IntegrationRuntimeStateLimited', 'IntegrationRuntimeStateOffline', 'IntegrationRuntimeStateAccessDenied' + State IntegrationRuntimeState `json:"state,omitempty"` + // ManagedIntegrationRuntimeTypeProperties - Managed integration runtime properties. + *ManagedIntegrationRuntimeTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Description - Integration runtime description. + Description *string `json:"description,omitempty"` + // Type - Possible values include: 'TypeIntegrationRuntime', 'TypeSelfHosted', 'TypeManaged' + Type TypeBasicIntegrationRuntime `json:"type,omitempty"` } -// NextWithContext advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -func (iter *LinkedServiceListResponseIterator) NextWithContext(ctx context.Context) (err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/LinkedServiceListResponseIterator.NextWithContext") - defer func() { - sc := -1 - if iter.Response().Response.Response != nil { - sc = iter.Response().Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() +// MarshalJSON is the custom marshaler for ManagedIntegrationRuntime. +func (mir ManagedIntegrationRuntime) MarshalJSON() ([]byte, error) { + mir.Type = TypeManaged + objectMap := make(map[string]interface{}) + if mir.ManagedIntegrationRuntimeTypeProperties != nil { + objectMap["typeProperties"] = mir.ManagedIntegrationRuntimeTypeProperties } - iter.i++ - if iter.i < len(iter.page.Values()) { - return nil + if mir.Description != nil { + objectMap["description"] = mir.Description } - err = iter.page.NextWithContext(ctx) - if err != nil { - iter.i-- - return err + if mir.Type != "" { + objectMap["type"] = mir.Type } - iter.i = 0 - return nil -} - -// Next advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -// Deprecated: Use NextWithContext() instead. -func (iter *LinkedServiceListResponseIterator) Next() error { - return iter.NextWithContext(context.Background()) -} - -// NotDone returns true if the enumeration should be started or is not yet complete. -func (iter LinkedServiceListResponseIterator) NotDone() bool { - return iter.page.NotDone() && iter.i < len(iter.page.Values()) -} - -// Response returns the raw server response from the last page request. -func (iter LinkedServiceListResponseIterator) Response() LinkedServiceListResponse { - return iter.page.Response() -} - -// Value returns the current value or a zero-initialized value if the -// iterator has advanced beyond the end of the collection. -func (iter LinkedServiceListResponseIterator) Value() LinkedServiceResource { - if !iter.page.NotDone() { - return LinkedServiceResource{} + for k, v := range mir.AdditionalProperties { + objectMap[k] = v } - return iter.page.Values()[iter.i] + return json.Marshal(objectMap) } -// Creates a new instance of the LinkedServiceListResponseIterator type. -func NewLinkedServiceListResponseIterator(page LinkedServiceListResponsePage) LinkedServiceListResponseIterator { - return LinkedServiceListResponseIterator{page: page} +// AsSelfHostedIntegrationRuntime is the BasicIntegrationRuntime implementation for ManagedIntegrationRuntime. +func (mir ManagedIntegrationRuntime) AsSelfHostedIntegrationRuntime() (*SelfHostedIntegrationRuntime, bool) { + return nil, false } -// IsEmpty returns true if the ListResult contains no values. -func (lslr LinkedServiceListResponse) IsEmpty() bool { - return lslr.Value == nil || len(*lslr.Value) == 0 +// AsManagedIntegrationRuntime is the BasicIntegrationRuntime implementation for ManagedIntegrationRuntime. +func (mir ManagedIntegrationRuntime) AsManagedIntegrationRuntime() (*ManagedIntegrationRuntime, bool) { + return &mir, true } -// linkedServiceListResponsePreparer prepares a request to retrieve the next set of results. -// It returns nil if no more results exist. -func (lslr LinkedServiceListResponse) linkedServiceListResponsePreparer(ctx context.Context) (*http.Request, error) { - if lslr.NextLink == nil || len(to.String(lslr.NextLink)) < 1 { - return nil, nil - } - return autorest.Prepare((&http.Request{}).WithContext(ctx), - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(lslr.NextLink))) +// AsIntegrationRuntime is the BasicIntegrationRuntime implementation for ManagedIntegrationRuntime. +func (mir ManagedIntegrationRuntime) AsIntegrationRuntime() (*IntegrationRuntime, bool) { + return nil, false } -// LinkedServiceListResponsePage contains a page of LinkedServiceResource values. -type LinkedServiceListResponsePage struct { - fn func(context.Context, LinkedServiceListResponse) (LinkedServiceListResponse, error) - lslr LinkedServiceListResponse +// AsBasicIntegrationRuntime is the BasicIntegrationRuntime implementation for ManagedIntegrationRuntime. +func (mir ManagedIntegrationRuntime) AsBasicIntegrationRuntime() (BasicIntegrationRuntime, bool) { + return &mir, true } -// NextWithContext advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -func (page *LinkedServiceListResponsePage) NextWithContext(ctx context.Context) (err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/LinkedServiceListResponsePage.NextWithContext") - defer func() { - sc := -1 - if page.Response().Response.Response != nil { - sc = page.Response().Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - next, err := page.fn(ctx, page.lslr) +// UnmarshalJSON is the custom unmarshaler for ManagedIntegrationRuntime struct. +func (mir *ManagedIntegrationRuntime) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) if err != nil { return err } - page.lslr = next - return nil -} - -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -// Deprecated: Use NextWithContext() instead. -func (page *LinkedServiceListResponsePage) Next() error { - return page.NextWithContext(context.Background()) -} + for k, v := range m { + switch k { + case "state": + if v != nil { + var state IntegrationRuntimeState + err = json.Unmarshal(*v, &state) + if err != nil { + return err + } + mir.State = state + } + case "typeProperties": + if v != nil { + var managedIntegrationRuntimeTypeProperties ManagedIntegrationRuntimeTypeProperties + err = json.Unmarshal(*v, &managedIntegrationRuntimeTypeProperties) + if err != nil { + return err + } + mir.ManagedIntegrationRuntimeTypeProperties = &managedIntegrationRuntimeTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if mir.AdditionalProperties == nil { + mir.AdditionalProperties = make(map[string]interface{}) + } + mir.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + mir.Description = &description + } + case "type": + if v != nil { + var typeVar TypeBasicIntegrationRuntime + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + mir.Type = typeVar + } + } + } -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page LinkedServiceListResponsePage) NotDone() bool { - return !page.lslr.IsEmpty() + return nil } -// Response returns the raw server response from the last page request. -func (page LinkedServiceListResponsePage) Response() LinkedServiceListResponse { - return page.lslr +// ManagedIntegrationRuntimeError error definition for managed integration runtime. +type ManagedIntegrationRuntimeError struct { + // Time - READ-ONLY; The time when the error occurred. + Time *date.Time `json:"time,omitempty"` + // Code - READ-ONLY; Error code. + Code *string `json:"code,omitempty"` + // Parameters - READ-ONLY; Managed integration runtime error parameters. + Parameters *[]string `json:"parameters,omitempty"` + // Message - READ-ONLY; Error message. + Message *string `json:"message,omitempty"` } -// Values returns the slice of values for the current page or nil if there are no values. -func (page LinkedServiceListResponsePage) Values() []LinkedServiceResource { - if page.lslr.IsEmpty() { - return nil - } - return *page.lslr.Value +// ManagedIntegrationRuntimeNode properties of integration runtime node. +type ManagedIntegrationRuntimeNode struct { + // NodeID - READ-ONLY; The managed integration runtime node id. + NodeID *string `json:"nodeId,omitempty"` + // Status - READ-ONLY; The managed integration runtime node status. Possible values include: 'Starting', 'Available', 'Recycling', 'Unavailable' + Status ManagedIntegrationRuntimeNodeStatus `json:"status,omitempty"` + // Errors - The errors that occurred on this integration runtime node. + Errors *[]ManagedIntegrationRuntimeError `json:"errors,omitempty"` } -// Creates a new instance of the LinkedServiceListResponsePage type. -func NewLinkedServiceListResponsePage(getNextPage func(context.Context, LinkedServiceListResponse) (LinkedServiceListResponse, error)) LinkedServiceListResponsePage { - return LinkedServiceListResponsePage{fn: getNextPage} +// ManagedIntegrationRuntimeOperationResult properties of managed integration runtime operation result. +type ManagedIntegrationRuntimeOperationResult struct { + // Type - READ-ONLY; The operation type. Could be start or stop. + Type *string `json:"type,omitempty"` + // StartTime - READ-ONLY; The start time of the operation. + StartTime *date.Time `json:"startTime,omitempty"` + // Result - READ-ONLY; The operation result. + Result *string `json:"result,omitempty"` + // ErrorCode - READ-ONLY; The error code. + ErrorCode *string `json:"errorCode,omitempty"` + // Parameters - READ-ONLY; Managed integration runtime error parameters. + Parameters *[]string `json:"parameters,omitempty"` + // ActivityID - READ-ONLY; The activity id for the operation request. + ActivityID *string `json:"activityId,omitempty"` } -// LinkedServiceReference linked service reference type. -type LinkedServiceReference struct { - // Type - Linked service reference type. - Type *string `json:"type,omitempty"` - // ReferenceName - Reference LinkedService name. - ReferenceName *string `json:"referenceName,omitempty"` - // Parameters - Arguments for LinkedService. - Parameters map[string]interface{} `json:"parameters"` +// ManagedIntegrationRuntimeStatus managed integration runtime status. +type ManagedIntegrationRuntimeStatus struct { + // ManagedIntegrationRuntimeStatusTypeProperties - Managed integration runtime status type properties. + *ManagedIntegrationRuntimeStatusTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // DataFactoryName - READ-ONLY; The data factory name which the integration runtime belong to. + DataFactoryName *string `json:"dataFactoryName,omitempty"` + // State - READ-ONLY; The state of integration runtime. Possible values include: 'IntegrationRuntimeStateInitial', 'IntegrationRuntimeStateStopped', 'IntegrationRuntimeStateStarted', 'IntegrationRuntimeStateStarting', 'IntegrationRuntimeStateStopping', 'IntegrationRuntimeStateNeedRegistration', 'IntegrationRuntimeStateOnline', 'IntegrationRuntimeStateLimited', 'IntegrationRuntimeStateOffline', 'IntegrationRuntimeStateAccessDenied' + State IntegrationRuntimeState `json:"state,omitempty"` + // Type - Possible values include: 'TypeBasicIntegrationRuntimeStatusTypeIntegrationRuntimeStatus', 'TypeBasicIntegrationRuntimeStatusTypeSelfHosted', 'TypeBasicIntegrationRuntimeStatusTypeManaged' + Type TypeBasicIntegrationRuntimeStatus `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for LinkedServiceReference. -func (lsr LinkedServiceReference) MarshalJSON() ([]byte, error) { +// MarshalJSON is the custom marshaler for ManagedIntegrationRuntimeStatus. +func (mirs ManagedIntegrationRuntimeStatus) MarshalJSON() ([]byte, error) { + mirs.Type = TypeBasicIntegrationRuntimeStatusTypeManaged objectMap := make(map[string]interface{}) - if lsr.Type != nil { - objectMap["type"] = lsr.Type + if mirs.ManagedIntegrationRuntimeStatusTypeProperties != nil { + objectMap["typeProperties"] = mirs.ManagedIntegrationRuntimeStatusTypeProperties } - if lsr.ReferenceName != nil { - objectMap["referenceName"] = lsr.ReferenceName + if mirs.Type != "" { + objectMap["type"] = mirs.Type } - if lsr.Parameters != nil { - objectMap["parameters"] = lsr.Parameters + for k, v := range mirs.AdditionalProperties { + objectMap[k] = v } return json.Marshal(objectMap) } -// LinkedServiceResource linked service resource type. -type LinkedServiceResource struct { - autorest.Response `json:"-"` - // Properties - Properties of linked service. - Properties BasicLinkedService `json:"properties,omitempty"` - // ID - READ-ONLY; The resource identifier. - ID *string `json:"id,omitempty"` - // Name - READ-ONLY; The resource name. - Name *string `json:"name,omitempty"` - // Type - READ-ONLY; The resource type. - Type *string `json:"type,omitempty"` - // Etag - READ-ONLY; Etag identifies change in the resource. - Etag *string `json:"etag,omitempty"` +// AsSelfHostedIntegrationRuntimeStatus is the BasicIntegrationRuntimeStatus implementation for ManagedIntegrationRuntimeStatus. +func (mirs ManagedIntegrationRuntimeStatus) AsSelfHostedIntegrationRuntimeStatus() (*SelfHostedIntegrationRuntimeStatus, bool) { + return nil, false } -// UnmarshalJSON is the custom unmarshaler for LinkedServiceResource struct. -func (lsr *LinkedServiceResource) UnmarshalJSON(body []byte) error { +// AsManagedIntegrationRuntimeStatus is the BasicIntegrationRuntimeStatus implementation for ManagedIntegrationRuntimeStatus. +func (mirs ManagedIntegrationRuntimeStatus) AsManagedIntegrationRuntimeStatus() (*ManagedIntegrationRuntimeStatus, bool) { + return &mirs, true +} + +// AsIntegrationRuntimeStatus is the BasicIntegrationRuntimeStatus implementation for ManagedIntegrationRuntimeStatus. +func (mirs ManagedIntegrationRuntimeStatus) AsIntegrationRuntimeStatus() (*IntegrationRuntimeStatus, bool) { + return nil, false +} + +// AsBasicIntegrationRuntimeStatus is the BasicIntegrationRuntimeStatus implementation for ManagedIntegrationRuntimeStatus. +func (mirs ManagedIntegrationRuntimeStatus) AsBasicIntegrationRuntimeStatus() (BasicIntegrationRuntimeStatus, bool) { + return &mirs, true +} + +// UnmarshalJSON is the custom unmarshaler for ManagedIntegrationRuntimeStatus struct. +func (mirs *ManagedIntegrationRuntimeStatus) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -107946,49 +124986,53 @@ func (lsr *LinkedServiceResource) UnmarshalJSON(body []byte) error { } for k, v := range m { switch k { - case "properties": + case "typeProperties": if v != nil { - properties, err := unmarshalBasicLinkedService(*v) + var managedIntegrationRuntimeStatusTypeProperties ManagedIntegrationRuntimeStatusTypeProperties + err = json.Unmarshal(*v, &managedIntegrationRuntimeStatusTypeProperties) if err != nil { return err } - lsr.Properties = properties + mirs.ManagedIntegrationRuntimeStatusTypeProperties = &managedIntegrationRuntimeStatusTypeProperties } - case "id": + default: if v != nil { - var ID string - err = json.Unmarshal(*v, &ID) + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) if err != nil { return err } - lsr.ID = &ID + if mirs.AdditionalProperties == nil { + mirs.AdditionalProperties = make(map[string]interface{}) + } + mirs.AdditionalProperties[k] = additionalProperties } - case "name": + case "dataFactoryName": if v != nil { - var name string - err = json.Unmarshal(*v, &name) + var dataFactoryName string + err = json.Unmarshal(*v, &dataFactoryName) if err != nil { return err } - lsr.Name = &name + mirs.DataFactoryName = &dataFactoryName } - case "type": + case "state": if v != nil { - var typeVar string - err = json.Unmarshal(*v, &typeVar) + var state IntegrationRuntimeState + err = json.Unmarshal(*v, &state) if err != nil { return err } - lsr.Type = &typeVar + mirs.State = state } - case "etag": + case "type": if v != nil { - var etag string - err = json.Unmarshal(*v, &etag) + var typeVar TypeBasicIntegrationRuntimeStatus + err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - lsr.Etag = &etag + mirs.Type = typeVar } } } @@ -107996,33 +125040,79 @@ func (lsr *LinkedServiceResource) UnmarshalJSON(body []byte) error { return nil } -// LogStorageSettings log storage settings. -type LogStorageSettings struct { - // AdditionalProperties - Unmatched properties from the message are deserialized this collection - AdditionalProperties map[string]interface{} `json:""` - // LinkedServiceName - Log storage linked service reference. - LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` - // Path - The path to storage for storing detailed logs of activity execution. Type: string (or Expression with resultType string). - Path interface{} `json:"path,omitempty"` +// ManagedIntegrationRuntimeStatusTypeProperties managed integration runtime status type properties. +type ManagedIntegrationRuntimeStatusTypeProperties struct { + // CreateTime - READ-ONLY; The time at which the integration runtime was created, in ISO8601 format. + CreateTime *date.Time `json:"createTime,omitempty"` + // Nodes - READ-ONLY; The list of nodes for managed integration runtime. + Nodes *[]ManagedIntegrationRuntimeNode `json:"nodes,omitempty"` + // OtherErrors - READ-ONLY; The errors that occurred on this integration runtime. + OtherErrors *[]ManagedIntegrationRuntimeError `json:"otherErrors,omitempty"` + // LastOperation - READ-ONLY; The last operation result that occurred on this integration runtime. + LastOperation *ManagedIntegrationRuntimeOperationResult `json:"lastOperation,omitempty"` } -// MarshalJSON is the custom marshaler for LogStorageSettings. -func (lss LogStorageSettings) MarshalJSON() ([]byte, error) { +// ManagedIntegrationRuntimeTypeProperties managed integration runtime type properties. +type ManagedIntegrationRuntimeTypeProperties struct { + // ComputeProperties - The compute resource for managed integration runtime. + ComputeProperties *IntegrationRuntimeComputeProperties `json:"computeProperties,omitempty"` + // SsisProperties - SSIS properties for managed integration runtime. + SsisProperties *IntegrationRuntimeSsisProperties `json:"ssisProperties,omitempty"` +} + +// MappingDataFlow mapping data flow. +type MappingDataFlow struct { + // MappingDataFlowTypeProperties - Mapping data flow type properties. + *MappingDataFlowTypeProperties `json:"typeProperties,omitempty"` + // Description - The description of the data flow. + Description *string `json:"description,omitempty"` + // Annotations - List of tags that can be used for describing the data flow. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this data flow is in. If not specified, Data flow will appear at the root level. + Folder *DataFlowFolder `json:"folder,omitempty"` + // Type - Possible values include: 'TypeDataFlow', 'TypeMappingDataFlow' + Type TypeBasicDataFlow `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for MappingDataFlow. +func (mdf MappingDataFlow) MarshalJSON() ([]byte, error) { + mdf.Type = TypeMappingDataFlow objectMap := make(map[string]interface{}) - if lss.LinkedServiceName != nil { - objectMap["linkedServiceName"] = lss.LinkedServiceName + if mdf.MappingDataFlowTypeProperties != nil { + objectMap["typeProperties"] = mdf.MappingDataFlowTypeProperties } - if lss.Path != nil { - objectMap["path"] = lss.Path + if mdf.Description != nil { + objectMap["description"] = mdf.Description } - for k, v := range lss.AdditionalProperties { - objectMap[k] = v + if mdf.Annotations != nil { + objectMap["annotations"] = mdf.Annotations + } + if mdf.Folder != nil { + objectMap["folder"] = mdf.Folder + } + if mdf.Type != "" { + objectMap["type"] = mdf.Type } return json.Marshal(objectMap) } -// UnmarshalJSON is the custom unmarshaler for LogStorageSettings struct. -func (lss *LogStorageSettings) UnmarshalJSON(body []byte) error { +// AsMappingDataFlow is the BasicDataFlow implementation for MappingDataFlow. +func (mdf MappingDataFlow) AsMappingDataFlow() (*MappingDataFlow, bool) { + return &mdf, true +} + +// AsDataFlow is the BasicDataFlow implementation for MappingDataFlow. +func (mdf MappingDataFlow) AsDataFlow() (*DataFlow, bool) { + return nil, false +} + +// AsBasicDataFlow is the BasicDataFlow implementation for MappingDataFlow. +func (mdf MappingDataFlow) AsBasicDataFlow() (BasicDataFlow, bool) { + return &mdf, true +} + +// UnmarshalJSON is the custom unmarshaler for MappingDataFlow struct. +func (mdf *MappingDataFlow) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -108030,285 +125120,597 @@ func (lss *LogStorageSettings) UnmarshalJSON(body []byte) error { } for k, v := range m { switch k { - default: + case "typeProperties": if v != nil { - var additionalProperties interface{} - err = json.Unmarshal(*v, &additionalProperties) + var mappingDataFlowTypeProperties MappingDataFlowTypeProperties + err = json.Unmarshal(*v, &mappingDataFlowTypeProperties) if err != nil { return err } - if lss.AdditionalProperties == nil { - lss.AdditionalProperties = make(map[string]interface{}) + mdf.MappingDataFlowTypeProperties = &mappingDataFlowTypeProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err } - lss.AdditionalProperties[k] = additionalProperties + mdf.Description = &description } - case "linkedServiceName": + case "annotations": if v != nil { - var linkedServiceName LinkedServiceReference - err = json.Unmarshal(*v, &linkedServiceName) + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) if err != nil { return err } - lss.LinkedServiceName = &linkedServiceName + mdf.Annotations = &annotations } - case "path": + case "folder": if v != nil { - var pathVar interface{} - err = json.Unmarshal(*v, &pathVar) + var folder DataFlowFolder + err = json.Unmarshal(*v, &folder) if err != nil { return err } - lss.Path = pathVar + mdf.Folder = &folder + } + case "type": + if v != nil { + var typeVar TypeBasicDataFlow + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + mdf.Type = typeVar } } } - return nil + return nil +} + +// MappingDataFlowTypeProperties mapping data flow type properties. +type MappingDataFlowTypeProperties struct { + // Sources - List of sources in data flow. + Sources *[]DataFlowSource `json:"sources,omitempty"` + // Sinks - List of sinks in data flow. + Sinks *[]DataFlowSink `json:"sinks,omitempty"` + // Transformations - List of transformations in data flow. + Transformations *[]Transformation `json:"transformations,omitempty"` + // Script - DataFlow script. + Script *string `json:"script,omitempty"` +} + +// MariaDBLinkedService mariaDB server linked service. +type MariaDBLinkedService struct { + // MariaDBLinkedServiceTypeProperties - MariaDB server linked service properties. + *MariaDBLinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for MariaDBLinkedService. +func (mdls MariaDBLinkedService) MarshalJSON() ([]byte, error) { + mdls.Type = TypeMariaDB + objectMap := make(map[string]interface{}) + if mdls.MariaDBLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = mdls.MariaDBLinkedServiceTypeProperties + } + if mdls.ConnectVia != nil { + objectMap["connectVia"] = mdls.ConnectVia + } + if mdls.Description != nil { + objectMap["description"] = mdls.Description + } + if mdls.Parameters != nil { + objectMap["parameters"] = mdls.Parameters + } + if mdls.Annotations != nil { + objectMap["annotations"] = mdls.Annotations + } + if mdls.Type != "" { + objectMap["type"] = mdls.Type + } + for k, v := range mdls.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { + return nil, false +} + +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { + return nil, false +} + +// AsSapTableLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { + return nil, false +} + +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { + return nil, false +} + +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return nil, false +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { + return nil, false +} + +// AsResponsysLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { + return nil, false +} + +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { + return nil, false +} + +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { + return nil, false +} + +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return nil, false +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return nil, false +} + +// AsZohoLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { + return nil, false +} + +// AsXeroLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { + return nil, false +} + +// AsSquareLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { + return nil, false +} + +// AsSparkLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { + return nil, false +} + +// AsShopifyLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { + return nil, false +} + +// AsServiceNowLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { + return nil, false +} + +// AsQuickBooksLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { + return nil, false +} + +// AsPrestoLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return nil, false +} + +// AsPhoenixLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return nil, false +} + +// AsPaypalLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { + return nil, false +} + +// AsMarketoLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return nil, false +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { + return nil, false +} + +// AsMariaDBLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { + return &mdls, true +} + +// AsMagentoLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { + return nil, false +} + +// AsJiraLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { + return nil, false +} + +// AsImpalaLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { + return nil, false +} + +// AsHubspotLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { + return nil, false +} + +// AsHiveLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { + return nil, false +} + +// AsHBaseLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { + return nil, false +} + +// AsGreenplumLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { + return nil, false +} + +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { + return nil, false +} + +// AsEloquaLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { + return nil, false +} + +// AsDrillLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { + return nil, false +} + +// AsCouchbaseLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { + return nil, false +} + +// AsConcurLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { + return nil, false +} + +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { + return nil, false +} + +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false +} + +// AsSapHanaLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { + return nil, false +} + +// AsSapBWLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { + return nil, false +} + +// AsSftpServerLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { + return nil, false +} + +// AsFtpServerLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { + return nil, false +} + +// AsHTTPLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { + return nil, false +} + +// AsAzureSearchLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { + return nil, false +} + +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { + return nil, false +} + +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { + return nil, false +} + +// AsAmazonS3LinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { + return nil, false +} + +// AsRestServiceLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { + return nil, false } -// LookupActivity lookup activity. -type LookupActivity struct { - // LookupActivityTypeProperties - Lookup activity properties. - *LookupActivityTypeProperties `json:"typeProperties,omitempty"` - // LinkedServiceName - Linked service reference. - LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` - // Policy - Activity policy. - Policy *ActivityPolicy `json:"policy,omitempty"` - // AdditionalProperties - Unmatched properties from the message are deserialized this collection - AdditionalProperties map[string]interface{} `json:""` - // Name - Activity name. - Name *string `json:"name,omitempty"` - // Description - Activity description. - Description *string `json:"description,omitempty"` - // DependsOn - Activity depends on condition. - DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"` - // UserProperties - Activity user properties. - UserProperties *[]UserProperty `json:"userProperties,omitempty"` - // Type - Possible values include: 'TypeActivity', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer' - Type TypeBasicActivity `json:"type,omitempty"` +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { + return nil, false } -// MarshalJSON is the custom marshaler for LookupActivity. -func (la LookupActivity) MarshalJSON() ([]byte, error) { - la.Type = TypeLookup - objectMap := make(map[string]interface{}) - if la.LookupActivityTypeProperties != nil { - objectMap["typeProperties"] = la.LookupActivityTypeProperties - } - if la.LinkedServiceName != nil { - objectMap["linkedServiceName"] = la.LinkedServiceName - } - if la.Policy != nil { - objectMap["policy"] = la.Policy - } - if la.Name != nil { - objectMap["name"] = la.Name - } - if la.Description != nil { - objectMap["description"] = la.Description - } - if la.DependsOn != nil { - objectMap["dependsOn"] = la.DependsOn - } - if la.UserProperties != nil { - objectMap["userProperties"] = la.UserProperties - } - if la.Type != "" { - objectMap["type"] = la.Type - } - for k, v := range la.AdditionalProperties { - objectMap[k] = v - } - return json.Marshal(objectMap) +// AsSapEccLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { + return nil, false } -// AsAzureFunctionActivity is the BasicActivity implementation for LookupActivity. -func (la LookupActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) { +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { return nil, false } -// AsDatabricksSparkPythonActivity is the BasicActivity implementation for LookupActivity. -func (la LookupActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) { +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { return nil, false } -// AsDatabricksSparkJarActivity is the BasicActivity implementation for LookupActivity. -func (la LookupActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) { +// AsSalesforceLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { return nil, false } -// AsDatabricksNotebookActivity is the BasicActivity implementation for LookupActivity. -func (la LookupActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) { +// AsOffice365LinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { return nil, false } -// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for LookupActivity. -func (la LookupActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) { +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { return nil, false } -// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for LookupActivity. -func (la LookupActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) { +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { return nil, false } -// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for LookupActivity. -func (la LookupActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) { +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { return nil, false } -// AsGetMetadataActivity is the BasicActivity implementation for LookupActivity. -func (la LookupActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) { +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { return nil, false } -// AsWebActivity is the BasicActivity implementation for LookupActivity. -func (la LookupActivity) AsWebActivity() (*WebActivity, bool) { +// AsMongoDbLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { return nil, false } -// AsLookupActivity is the BasicActivity implementation for LookupActivity. -func (la LookupActivity) AsLookupActivity() (*LookupActivity, bool) { - return &la, true +// AsCassandraLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { + return nil, false } -// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for LookupActivity. -func (la LookupActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) { +// AsWebLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { return nil, false } -// AsDeleteActivity is the BasicActivity implementation for LookupActivity. -func (la LookupActivity) AsDeleteActivity() (*DeleteActivity, bool) { +// AsODataLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { return nil, false } -// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for LookupActivity. -func (la LookupActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) { +// AsHdfsLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { return nil, false } -// AsCustomActivity is the BasicActivity implementation for LookupActivity. -func (la LookupActivity) AsCustomActivity() (*CustomActivity, bool) { +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { return nil, false } -// AsExecuteSSISPackageActivity is the BasicActivity implementation for LookupActivity. -func (la LookupActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) { +// AsInformixLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { return nil, false } -// AsHDInsightSparkActivity is the BasicActivity implementation for LookupActivity. -func (la LookupActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) { +// AsOdbcLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { return nil, false } -// AsHDInsightStreamingActivity is the BasicActivity implementation for LookupActivity. -func (la LookupActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) { +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { return nil, false } -// AsHDInsightMapReduceActivity is the BasicActivity implementation for LookupActivity. -func (la LookupActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) { +// AsAzureMLLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { return nil, false } -// AsHDInsightPigActivity is the BasicActivity implementation for LookupActivity. -func (la LookupActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) { +// AsTeradataLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { return nil, false } -// AsHDInsightHiveActivity is the BasicActivity implementation for LookupActivity. -func (la LookupActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) { +// AsDb2LinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { return nil, false } -// AsCopyActivity is the BasicActivity implementation for LookupActivity. -func (la LookupActivity) AsCopyActivity() (*CopyActivity, bool) { +// AsSybaseLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { return nil, false } -// AsExecutionActivity is the BasicActivity implementation for LookupActivity. -func (la LookupActivity) AsExecutionActivity() (*ExecutionActivity, bool) { +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { return nil, false } -// AsBasicExecutionActivity is the BasicActivity implementation for LookupActivity. -func (la LookupActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) { - return &la, true +// AsMySQLLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return nil, false } -// AsWebHookActivity is the BasicActivity implementation for LookupActivity. -func (la LookupActivity) AsWebHookActivity() (*WebHookActivity, bool) { +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { return nil, false } -// AsAppendVariableActivity is the BasicActivity implementation for LookupActivity. -func (la LookupActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) { +// AsOracleLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { return nil, false } -// AsSetVariableActivity is the BasicActivity implementation for LookupActivity. -func (la LookupActivity) AsSetVariableActivity() (*SetVariableActivity, bool) { +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { return nil, false } -// AsFilterActivity is the BasicActivity implementation for LookupActivity. -func (la LookupActivity) AsFilterActivity() (*FilterActivity, bool) { +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { return nil, false } -// AsValidationActivity is the BasicActivity implementation for LookupActivity. -func (la LookupActivity) AsValidationActivity() (*ValidationActivity, bool) { +// AsFileServerLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { return nil, false } -// AsUntilActivity is the BasicActivity implementation for LookupActivity. -func (la LookupActivity) AsUntilActivity() (*UntilActivity, bool) { +// AsHDInsightLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { return nil, false } -// AsWaitActivity is the BasicActivity implementation for LookupActivity. -func (la LookupActivity) AsWaitActivity() (*WaitActivity, bool) { +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { return nil, false } -// AsForEachActivity is the BasicActivity implementation for LookupActivity. -func (la LookupActivity) AsForEachActivity() (*ForEachActivity, bool) { +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { return nil, false } -// AsIfConditionActivity is the BasicActivity implementation for LookupActivity. -func (la LookupActivity) AsIfConditionActivity() (*IfConditionActivity, bool) { +// AsDynamicsLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { return nil, false } -// AsExecutePipelineActivity is the BasicActivity implementation for LookupActivity. -func (la LookupActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) { +// AsCosmosDbLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { return nil, false } -// AsControlActivity is the BasicActivity implementation for LookupActivity. -func (la LookupActivity) AsControlActivity() (*ControlActivity, bool) { +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { return nil, false } -// AsBasicControlActivity is the BasicActivity implementation for LookupActivity. -func (la LookupActivity) AsBasicControlActivity() (BasicControlActivity, bool) { +// AsAzureBatchLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { return nil, false } -// AsActivity is the BasicActivity implementation for LookupActivity. -func (la LookupActivity) AsActivity() (*Activity, bool) { +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { return nil, false } -// AsBasicActivity is the BasicActivity implementation for LookupActivity. -func (la LookupActivity) AsBasicActivity() (BasicActivity, bool) { - return &la, true +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false } -// UnmarshalJSON is the custom unmarshaler for LookupActivity struct. -func (la *LookupActivity) UnmarshalJSON(body []byte) error { +// AsSQLServerLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. +func (mdls MariaDBLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &mdls, true +} + +// UnmarshalJSON is the custom unmarshaler for MariaDBLinkedService struct. +func (mdls *MariaDBLinkedService) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -108318,30 +125720,12 @@ func (la *LookupActivity) UnmarshalJSON(body []byte) error { switch k { case "typeProperties": if v != nil { - var lookupActivityTypeProperties LookupActivityTypeProperties - err = json.Unmarshal(*v, &lookupActivityTypeProperties) - if err != nil { - return err - } - la.LookupActivityTypeProperties = &lookupActivityTypeProperties - } - case "linkedServiceName": - if v != nil { - var linkedServiceName LinkedServiceReference - err = json.Unmarshal(*v, &linkedServiceName) - if err != nil { - return err - } - la.LinkedServiceName = &linkedServiceName - } - case "policy": - if v != nil { - var policy ActivityPolicy - err = json.Unmarshal(*v, &policy) + var mariaDBLinkedServiceTypeProperties MariaDBLinkedServiceTypeProperties + err = json.Unmarshal(*v, &mariaDBLinkedServiceTypeProperties) if err != nil { return err } - la.Policy = &policy + mdls.MariaDBLinkedServiceTypeProperties = &mariaDBLinkedServiceTypeProperties } default: if v != nil { @@ -108350,19 +125734,19 @@ func (la *LookupActivity) UnmarshalJSON(body []byte) error { if err != nil { return err } - if la.AdditionalProperties == nil { - la.AdditionalProperties = make(map[string]interface{}) + if mdls.AdditionalProperties == nil { + mdls.AdditionalProperties = make(map[string]interface{}) } - la.AdditionalProperties[k] = additionalProperties + mdls.AdditionalProperties[k] = additionalProperties } - case "name": + case "connectVia": if v != nil { - var name string - err = json.Unmarshal(*v, &name) + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) if err != nil { return err } - la.Name = &name + mdls.ConnectVia = &connectVia } case "description": if v != nil { @@ -108371,34 +125755,34 @@ func (la *LookupActivity) UnmarshalJSON(body []byte) error { if err != nil { return err } - la.Description = &description + mdls.Description = &description } - case "dependsOn": + case "parameters": if v != nil { - var dependsOn []ActivityDependency - err = json.Unmarshal(*v, &dependsOn) + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) if err != nil { return err } - la.DependsOn = &dependsOn + mdls.Parameters = parameters } - case "userProperties": + case "annotations": if v != nil { - var userProperties []UserProperty - err = json.Unmarshal(*v, &userProperties) + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) if err != nil { return err } - la.UserProperties = &userProperties + mdls.Annotations = &annotations } case "type": if v != nil { - var typeVar TypeBasicActivity + var typeVar TypeBasicLinkedService err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - la.Type = typeVar + mdls.Type = typeVar } } } @@ -108406,570 +125790,514 @@ func (la *LookupActivity) UnmarshalJSON(body []byte) error { return nil } -// LookupActivityTypeProperties lookup activity properties. -type LookupActivityTypeProperties struct { - // Source - Dataset-specific source properties, same as copy activity source. - Source BasicCopySource `json:"source,omitempty"` - // Dataset - Lookup activity dataset reference. - Dataset *DatasetReference `json:"dataset,omitempty"` - // FirstRowOnly - Whether to return first row or all rows. Default value is true. Type: boolean (or Expression with resultType boolean). - FirstRowOnly interface{} `json:"firstRowOnly,omitempty"` -} - -// UnmarshalJSON is the custom unmarshaler for LookupActivityTypeProperties struct. -func (latp *LookupActivityTypeProperties) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - case "source": - if v != nil { - source, err := unmarshalBasicCopySource(*v) - if err != nil { - return err - } - latp.Source = source - } - case "dataset": - if v != nil { - var dataset DatasetReference - err = json.Unmarshal(*v, &dataset) - if err != nil { - return err - } - latp.Dataset = &dataset - } - case "firstRowOnly": - if v != nil { - var firstRowOnly interface{} - err = json.Unmarshal(*v, &firstRowOnly) - if err != nil { - return err - } - latp.FirstRowOnly = firstRowOnly - } - } - } - - return nil +// MariaDBLinkedServiceTypeProperties mariaDB server linked service properties. +type MariaDBLinkedServiceTypeProperties struct { + // ConnectionString - An ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference. + ConnectionString interface{} `json:"connectionString,omitempty"` + // Pwd - The Azure key vault secret reference of password in connection string. + Pwd *AzureKeyVaultSecretReference `json:"pwd,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` } -// MagentoLinkedService magento server linked service. -type MagentoLinkedService struct { - // MagentoLinkedServiceTypeProperties - Magento server linked service properties. - *MagentoLinkedServiceTypeProperties `json:"typeProperties,omitempty"` +// MariaDBSource a copy activity MariaDB server source. +type MariaDBSource struct { + // Query - A query to retrieve data from source. Type: string (or Expression with resultType string). + Query interface{} `json:"query,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` - // ConnectVia - The integration runtime reference. - ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` - // Description - Linked service description. - Description *string `json:"description,omitempty"` - // Parameters - Parameters for linked service. - Parameters map[string]*ParameterSpecification `json:"parameters"` - // Annotations - List of tags that can be used for describing the linked service. - Annotations *[]interface{} `json:"annotations,omitempty"` - // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' - Type TypeBasicLinkedService `json:"type,omitempty"` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' + Type TypeBasicCopySource `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for MagentoLinkedService. -func (mls MagentoLinkedService) MarshalJSON() ([]byte, error) { - mls.Type = TypeMagento +// MarshalJSON is the custom marshaler for MariaDBSource. +func (mds MariaDBSource) MarshalJSON() ([]byte, error) { + mds.Type = TypeMariaDBSource objectMap := make(map[string]interface{}) - if mls.MagentoLinkedServiceTypeProperties != nil { - objectMap["typeProperties"] = mls.MagentoLinkedServiceTypeProperties + if mds.Query != nil { + objectMap["query"] = mds.Query } - if mls.ConnectVia != nil { - objectMap["connectVia"] = mls.ConnectVia + if mds.QueryTimeout != nil { + objectMap["queryTimeout"] = mds.QueryTimeout } - if mls.Description != nil { - objectMap["description"] = mls.Description + if mds.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = mds.SourceRetryCount } - if mls.Parameters != nil { - objectMap["parameters"] = mls.Parameters + if mds.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = mds.SourceRetryWait } - if mls.Annotations != nil { - objectMap["annotations"] = mls.Annotations + if mds.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = mds.MaxConcurrentConnections } - if mls.Type != "" { - objectMap["type"] = mls.Type + if mds.Type != "" { + objectMap["type"] = mds.Type } - for k, v := range mls.AdditionalProperties { + for k, v := range mds.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsAzureFunctionLinkedService is the BasicLinkedService implementation for MagentoLinkedService. -func (mls MagentoLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { - return nil, false -} - -// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for MagentoLinkedService. -func (mls MagentoLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { - return nil, false -} - -// AsSapTableLinkedService is the BasicLinkedService implementation for MagentoLinkedService. -func (mls MagentoLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { +// AsHTTPSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsHTTPSource() (*HTTPSource, bool) { return nil, false } -// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for MagentoLinkedService. -func (mls MagentoLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { +// AsAzureBlobFSSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { return nil, false } -// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for MagentoLinkedService. -func (mls MagentoLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { return nil, false } -// AsDynamicsAXLinkedService is the BasicLinkedService implementation for MagentoLinkedService. -func (mls MagentoLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { +// AsOffice365Source is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsOffice365Source() (*Office365Source, bool) { return nil, false } -// AsResponsysLinkedService is the BasicLinkedService implementation for MagentoLinkedService. -func (mls MagentoLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { return nil, false } -// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for MagentoLinkedService. -func (mls MagentoLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { +// AsMongoDbV2Source is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { return nil, false } -// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for MagentoLinkedService. -func (mls MagentoLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { +// AsMongoDbSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsMongoDbSource() (*MongoDbSource, bool) { return nil, false } -// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for MagentoLinkedService. -func (mls MagentoLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { +// AsWebSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsWebSource() (*WebSource, bool) { return nil, false } -// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for MagentoLinkedService. -func (mls MagentoLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { +// AsOracleSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsOracleSource() (*OracleSource, bool) { return nil, false } -// AsNetezzaLinkedService is the BasicLinkedService implementation for MagentoLinkedService. -func (mls MagentoLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { +// AsAzureDataExplorerSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { return nil, false } -// AsVerticaLinkedService is the BasicLinkedService implementation for MagentoLinkedService. -func (mls MagentoLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { +// AsHdfsSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsHdfsSource() (*HdfsSource, bool) { return nil, false } -// AsZohoLinkedService is the BasicLinkedService implementation for MagentoLinkedService. -func (mls MagentoLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { +// AsFileSystemSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsFileSystemSource() (*FileSystemSource, bool) { return nil, false } -// AsXeroLinkedService is the BasicLinkedService implementation for MagentoLinkedService. -func (mls MagentoLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { +// AsRestSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsRestSource() (*RestSource, bool) { return nil, false } -// AsSquareLinkedService is the BasicLinkedService implementation for MagentoLinkedService. -func (mls MagentoLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { return nil, false } -// AsSparkLinkedService is the BasicLinkedService implementation for MagentoLinkedService. -func (mls MagentoLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { +// AsODataSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsODataSource() (*ODataSource, bool) { return nil, false } -// AsShopifyLinkedService is the BasicLinkedService implementation for MagentoLinkedService. -func (mls MagentoLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { +// AsMicrosoftAccessSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { return nil, false } -// AsServiceNowLinkedService is the BasicLinkedService implementation for MagentoLinkedService. -func (mls MagentoLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { +// AsRelationalSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsRelationalSource() (*RelationalSource, bool) { return nil, false } -// AsQuickBooksLinkedService is the BasicLinkedService implementation for MagentoLinkedService. -func (mls MagentoLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { return nil, false } -// AsPrestoLinkedService is the BasicLinkedService implementation for MagentoLinkedService. -func (mls MagentoLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { +// AsDynamicsCrmSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { return nil, false } -// AsPhoenixLinkedService is the BasicLinkedService implementation for MagentoLinkedService. -func (mls MagentoLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { +// AsDynamicsSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsDynamicsSource() (*DynamicsSource, bool) { return nil, false } -// AsPaypalLinkedService is the BasicLinkedService implementation for MagentoLinkedService. -func (mls MagentoLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { return nil, false } -// AsMarketoLinkedService is the BasicLinkedService implementation for MagentoLinkedService. -func (mls MagentoLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { +// AsDocumentDbCollectionSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { return nil, false } -// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for MagentoLinkedService. -func (mls MagentoLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { +// AsBlobSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsBlobSource() (*BlobSource, bool) { return nil, false } -// AsMariaDBLinkedService is the BasicLinkedService implementation for MagentoLinkedService. -func (mls MagentoLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { +// AsAmazonRedshiftSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { return nil, false } -// AsMagentoLinkedService is the BasicLinkedService implementation for MagentoLinkedService. -func (mls MagentoLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { - return &mls, true -} - -// AsJiraLinkedService is the BasicLinkedService implementation for MagentoLinkedService. -func (mls MagentoLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { +// AsGoogleAdWordsSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { return nil, false } -// AsImpalaLinkedService is the BasicLinkedService implementation for MagentoLinkedService. -func (mls MagentoLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { +// AsOracleServiceCloudSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { return nil, false } -// AsHubspotLinkedService is the BasicLinkedService implementation for MagentoLinkedService. -func (mls MagentoLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { +// AsDynamicsAXSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { return nil, false } -// AsHiveLinkedService is the BasicLinkedService implementation for MagentoLinkedService. -func (mls MagentoLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { +// AsResponsysSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsResponsysSource() (*ResponsysSource, bool) { return nil, false } -// AsHBaseLinkedService is the BasicLinkedService implementation for MagentoLinkedService. -func (mls MagentoLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { return nil, false } -// AsGreenplumLinkedService is the BasicLinkedService implementation for MagentoLinkedService. -func (mls MagentoLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { +// AsVerticaSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsVerticaSource() (*VerticaSource, bool) { return nil, false } -// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for MagentoLinkedService. -func (mls MagentoLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { +// AsNetezzaSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsNetezzaSource() (*NetezzaSource, bool) { return nil, false } -// AsEloquaLinkedService is the BasicLinkedService implementation for MagentoLinkedService. -func (mls MagentoLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { +// AsZohoSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsZohoSource() (*ZohoSource, bool) { return nil, false } -// AsDrillLinkedService is the BasicLinkedService implementation for MagentoLinkedService. -func (mls MagentoLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { +// AsXeroSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsXeroSource() (*XeroSource, bool) { return nil, false } -// AsCouchbaseLinkedService is the BasicLinkedService implementation for MagentoLinkedService. -func (mls MagentoLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { +// AsSquareSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsSquareSource() (*SquareSource, bool) { return nil, false } -// AsConcurLinkedService is the BasicLinkedService implementation for MagentoLinkedService. -func (mls MagentoLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { +// AsSparkSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsSparkSource() (*SparkSource, bool) { return nil, false } -// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for MagentoLinkedService. -func (mls MagentoLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { +// AsShopifySource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsShopifySource() (*ShopifySource, bool) { return nil, false } -// AsAmazonMWSLinkedService is the BasicLinkedService implementation for MagentoLinkedService. -func (mls MagentoLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { +// AsServiceNowSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsServiceNowSource() (*ServiceNowSource, bool) { return nil, false } -// AsSapHanaLinkedService is the BasicLinkedService implementation for MagentoLinkedService. -func (mls MagentoLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { +// AsQuickBooksSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsQuickBooksSource() (*QuickBooksSource, bool) { return nil, false } -// AsSapBWLinkedService is the BasicLinkedService implementation for MagentoLinkedService. -func (mls MagentoLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { +// AsPrestoSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsPrestoSource() (*PrestoSource, bool) { return nil, false } -// AsSftpServerLinkedService is the BasicLinkedService implementation for MagentoLinkedService. -func (mls MagentoLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { +// AsPhoenixSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsPhoenixSource() (*PhoenixSource, bool) { return nil, false } -// AsFtpServerLinkedService is the BasicLinkedService implementation for MagentoLinkedService. -func (mls MagentoLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { +// AsPaypalSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsPaypalSource() (*PaypalSource, bool) { return nil, false } -// AsHTTPLinkedService is the BasicLinkedService implementation for MagentoLinkedService. -func (mls MagentoLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { +// AsMarketoSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsMarketoSource() (*MarketoSource, bool) { return nil, false } -// AsAzureSearchLinkedService is the BasicLinkedService implementation for MagentoLinkedService. -func (mls MagentoLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { +// AsAzureMariaDBSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { return nil, false } -// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for MagentoLinkedService. -func (mls MagentoLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { - return nil, false +// AsMariaDBSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsMariaDBSource() (*MariaDBSource, bool) { + return &mds, true } -// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for MagentoLinkedService. -func (mls MagentoLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { +// AsMagentoSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsMagentoSource() (*MagentoSource, bool) { return nil, false } -// AsAmazonS3LinkedService is the BasicLinkedService implementation for MagentoLinkedService. -func (mls MagentoLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { +// AsJiraSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsJiraSource() (*JiraSource, bool) { return nil, false } -// AsRestServiceLinkedService is the BasicLinkedService implementation for MagentoLinkedService. -func (mls MagentoLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { +// AsImpalaSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsImpalaSource() (*ImpalaSource, bool) { return nil, false } -// AsSapOpenHubLinkedService is the BasicLinkedService implementation for MagentoLinkedService. -func (mls MagentoLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { +// AsHubspotSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsHubspotSource() (*HubspotSource, bool) { return nil, false } -// AsSapEccLinkedService is the BasicLinkedService implementation for MagentoLinkedService. -func (mls MagentoLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { +// AsHiveSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsHiveSource() (*HiveSource, bool) { return nil, false } -// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for MagentoLinkedService. -func (mls MagentoLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { +// AsHBaseSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsHBaseSource() (*HBaseSource, bool) { return nil, false } -// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for MagentoLinkedService. -func (mls MagentoLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { +// AsGreenplumSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsGreenplumSource() (*GreenplumSource, bool) { return nil, false } -// AsSalesforceLinkedService is the BasicLinkedService implementation for MagentoLinkedService. -func (mls MagentoLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { +// AsGoogleBigQuerySource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { return nil, false } -// AsOffice365LinkedService is the BasicLinkedService implementation for MagentoLinkedService. -func (mls MagentoLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { +// AsEloquaSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsEloquaSource() (*EloquaSource, bool) { return nil, false } -// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for MagentoLinkedService. -func (mls MagentoLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { +// AsDrillSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsDrillSource() (*DrillSource, bool) { return nil, false } -// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for MagentoLinkedService. -func (mls MagentoLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { +// AsCouchbaseSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsCouchbaseSource() (*CouchbaseSource, bool) { return nil, false } -// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for MagentoLinkedService. -func (mls MagentoLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { +// AsConcurSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsConcurSource() (*ConcurSource, bool) { return nil, false } -// AsMongoDbV2LinkedService is the BasicLinkedService implementation for MagentoLinkedService. -func (mls MagentoLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { +// AsAzurePostgreSQLSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { return nil, false } -// AsMongoDbLinkedService is the BasicLinkedService implementation for MagentoLinkedService. -func (mls MagentoLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { +// AsAmazonMWSSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { return nil, false } -// AsCassandraLinkedService is the BasicLinkedService implementation for MagentoLinkedService. -func (mls MagentoLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { +// AsCassandraSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsCassandraSource() (*CassandraSource, bool) { return nil, false } -// AsWebLinkedService is the BasicLinkedService implementation for MagentoLinkedService. -func (mls MagentoLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { +// AsTeradataSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsTeradataSource() (*TeradataSource, bool) { return nil, false } -// AsODataLinkedService is the BasicLinkedService implementation for MagentoLinkedService. -func (mls MagentoLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { +// AsAzureMySQLSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { return nil, false } -// AsHdfsLinkedService is the BasicLinkedService implementation for MagentoLinkedService. -func (mls MagentoLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { +// AsSQLDWSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsSQLDWSource() (*SQLDWSource, bool) { return nil, false } -// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for MagentoLinkedService. -func (mls MagentoLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { +// AsSQLMISource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsSQLMISource() (*SQLMISource, bool) { return nil, false } -// AsInformixLinkedService is the BasicLinkedService implementation for MagentoLinkedService. -func (mls MagentoLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { +// AsAzureSQLSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsAzureSQLSource() (*AzureSQLSource, bool) { return nil, false } -// AsOdbcLinkedService is the BasicLinkedService implementation for MagentoLinkedService. -func (mls MagentoLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { +// AsSQLServerSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsSQLServerSource() (*SQLServerSource, bool) { return nil, false } -// AsAzureMLLinkedService is the BasicLinkedService implementation for MagentoLinkedService. -func (mls MagentoLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { +// AsSQLSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsSQLSource() (*SQLSource, bool) { return nil, false } -// AsTeradataLinkedService is the BasicLinkedService implementation for MagentoLinkedService. -func (mls MagentoLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { +// AsSapTableSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsSapTableSource() (*SapTableSource, bool) { return nil, false } -// AsDb2LinkedService is the BasicLinkedService implementation for MagentoLinkedService. -func (mls MagentoLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { +// AsSapOpenHubSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { return nil, false } -// AsSybaseLinkedService is the BasicLinkedService implementation for MagentoLinkedService. -func (mls MagentoLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { +// AsSapHanaSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsSapHanaSource() (*SapHanaSource, bool) { return nil, false } -// AsPostgreSQLLinkedService is the BasicLinkedService implementation for MagentoLinkedService. -func (mls MagentoLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { +// AsSapEccSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsSapEccSource() (*SapEccSource, bool) { return nil, false } -// AsMySQLLinkedService is the BasicLinkedService implementation for MagentoLinkedService. -func (mls MagentoLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { +// AsSapCloudForCustomerSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { return nil, false } -// AsAzureMySQLLinkedService is the BasicLinkedService implementation for MagentoLinkedService. -func (mls MagentoLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { +// AsSalesforceSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsSalesforceSource() (*SalesforceSource, bool) { return nil, false } -// AsOracleLinkedService is the BasicLinkedService implementation for MagentoLinkedService. -func (mls MagentoLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { +// AsSapBwSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsSapBwSource() (*SapBwSource, bool) { return nil, false } -// AsFileServerLinkedService is the BasicLinkedService implementation for MagentoLinkedService. -func (mls MagentoLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { +// AsSybaseSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsSybaseSource() (*SybaseSource, bool) { return nil, false } -// AsHDInsightLinkedService is the BasicLinkedService implementation for MagentoLinkedService. -func (mls MagentoLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { +// AsPostgreSQLSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { return nil, false } -// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for MagentoLinkedService. -func (mls MagentoLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { +// AsMySQLSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsMySQLSource() (*MySQLSource, bool) { return nil, false } -// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for MagentoLinkedService. -func (mls MagentoLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { +// AsOdbcSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsOdbcSource() (*OdbcSource, bool) { return nil, false } -// AsDynamicsLinkedService is the BasicLinkedService implementation for MagentoLinkedService. -func (mls MagentoLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { +// AsDb2Source is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsDb2Source() (*Db2Source, bool) { return nil, false } -// AsCosmosDbLinkedService is the BasicLinkedService implementation for MagentoLinkedService. -func (mls MagentoLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { +// AsInformixSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsInformixSource() (*InformixSource, bool) { return nil, false } -// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for MagentoLinkedService. -func (mls MagentoLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { +// AsAzureTableSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsAzureTableSource() (*AzureTableSource, bool) { return nil, false } -// AsAzureBatchLinkedService is the BasicLinkedService implementation for MagentoLinkedService. -func (mls MagentoLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { +// AsTabularSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsTabularSource() (*TabularSource, bool) { return nil, false } -// AsAzureSQLMILinkedService is the BasicLinkedService implementation for MagentoLinkedService. -func (mls MagentoLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { - return nil, false +// AsBasicTabularSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &mds, true } -// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for MagentoLinkedService. -func (mls MagentoLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { +// AsBinarySource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsBinarySource() (*BinarySource, bool) { return nil, false } -// AsSQLServerLinkedService is the BasicLinkedService implementation for MagentoLinkedService. -func (mls MagentoLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { +// AsOrcSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsOrcSource() (*OrcSource, bool) { return nil, false } -// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for MagentoLinkedService. -func (mls MagentoLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { +// AsJSONSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsJSONSource() (*JSONSource, bool) { return nil, false } -// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for MagentoLinkedService. -func (mls MagentoLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { +// AsDelimitedTextSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { return nil, false } -// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for MagentoLinkedService. -func (mls MagentoLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { +// AsParquetSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsParquetSource() (*ParquetSource, bool) { return nil, false } -// AsAzureStorageLinkedService is the BasicLinkedService implementation for MagentoLinkedService. -func (mls MagentoLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { +// AsAvroSource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsAvroSource() (*AvroSource, bool) { return nil, false } -// AsLinkedService is the BasicLinkedService implementation for MagentoLinkedService. -func (mls MagentoLinkedService) AsLinkedService() (*LinkedService, bool) { +// AsCopySource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsCopySource() (*CopySource, bool) { return nil, false } -// AsBasicLinkedService is the BasicLinkedService implementation for MagentoLinkedService. -func (mls MagentoLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { - return &mls, true +// AsBasicCopySource is the BasicCopySource implementation for MariaDBSource. +func (mds MariaDBSource) AsBasicCopySource() (BasicCopySource, bool) { + return &mds, true } -// UnmarshalJSON is the custom unmarshaler for MagentoLinkedService struct. -func (mls *MagentoLinkedService) UnmarshalJSON(body []byte) error { +// UnmarshalJSON is the custom unmarshaler for MariaDBSource struct. +func (mds *MariaDBSource) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -108977,155 +126305,71 @@ func (mls *MagentoLinkedService) UnmarshalJSON(body []byte) error { } for k, v := range m { switch k { - case "typeProperties": + case "query": if v != nil { - var magentoLinkedServiceTypeProperties MagentoLinkedServiceTypeProperties - err = json.Unmarshal(*v, &magentoLinkedServiceTypeProperties) + var query interface{} + err = json.Unmarshal(*v, &query) if err != nil { return err } - mls.MagentoLinkedServiceTypeProperties = &magentoLinkedServiceTypeProperties + mds.Query = query } - default: + case "queryTimeout": if v != nil { - var additionalProperties interface{} - err = json.Unmarshal(*v, &additionalProperties) + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) if err != nil { return err } - if mls.AdditionalProperties == nil { - mls.AdditionalProperties = make(map[string]interface{}) - } - mls.AdditionalProperties[k] = additionalProperties + mds.QueryTimeout = queryTimeout } - case "connectVia": + default: if v != nil { - var connectVia IntegrationRuntimeReference - err = json.Unmarshal(*v, &connectVia) + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) if err != nil { return err } - mls.ConnectVia = &connectVia + if mds.AdditionalProperties == nil { + mds.AdditionalProperties = make(map[string]interface{}) + } + mds.AdditionalProperties[k] = additionalProperties } - case "description": + case "sourceRetryCount": if v != nil { - var description string - err = json.Unmarshal(*v, &description) + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) if err != nil { return err } - mls.Description = &description + mds.SourceRetryCount = sourceRetryCount } - case "parameters": + case "sourceRetryWait": if v != nil { - var parameters map[string]*ParameterSpecification - err = json.Unmarshal(*v, ¶meters) + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) if err != nil { return err } - mls.Parameters = parameters + mds.SourceRetryWait = sourceRetryWait } - case "annotations": + case "maxConcurrentConnections": if v != nil { - var annotations []interface{} - err = json.Unmarshal(*v, &annotations) + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) if err != nil { return err } - mls.Annotations = &annotations + mds.MaxConcurrentConnections = maxConcurrentConnections } case "type": if v != nil { - var typeVar TypeBasicLinkedService + var typeVar TypeBasicCopySource err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - mls.Type = typeVar - } - } - } - - return nil -} - -// MagentoLinkedServiceTypeProperties magento server linked service properties. -type MagentoLinkedServiceTypeProperties struct { - // Host - The URL of the Magento instance. (i.e. 192.168.222.110/magento3) - Host interface{} `json:"host,omitempty"` - // AccessToken - The access token from Magento. - AccessToken BasicSecretBase `json:"accessToken,omitempty"` - // UseEncryptedEndpoints - Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true. - UseEncryptedEndpoints interface{} `json:"useEncryptedEndpoints,omitempty"` - // UseHostVerification - Specifies whether to require the host name in the server's certificate to match the host name of the server when connecting over SSL. The default value is true. - UseHostVerification interface{} `json:"useHostVerification,omitempty"` - // UsePeerVerification - Specifies whether to verify the identity of the server when connecting over SSL. The default value is true. - UsePeerVerification interface{} `json:"usePeerVerification,omitempty"` - // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). - EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` -} - -// UnmarshalJSON is the custom unmarshaler for MagentoLinkedServiceTypeProperties struct. -func (mlstp *MagentoLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - case "host": - if v != nil { - var host interface{} - err = json.Unmarshal(*v, &host) - if err != nil { - return err - } - mlstp.Host = host - } - case "accessToken": - if v != nil { - accessToken, err := unmarshalBasicSecretBase(*v) - if err != nil { - return err - } - mlstp.AccessToken = accessToken - } - case "useEncryptedEndpoints": - if v != nil { - var useEncryptedEndpoints interface{} - err = json.Unmarshal(*v, &useEncryptedEndpoints) - if err != nil { - return err - } - mlstp.UseEncryptedEndpoints = useEncryptedEndpoints - } - case "useHostVerification": - if v != nil { - var useHostVerification interface{} - err = json.Unmarshal(*v, &useHostVerification) - if err != nil { - return err - } - mlstp.UseHostVerification = useHostVerification - } - case "usePeerVerification": - if v != nil { - var usePeerVerification interface{} - err = json.Unmarshal(*v, &usePeerVerification) - if err != nil { - return err - } - mlstp.UsePeerVerification = usePeerVerification - } - case "encryptedCredential": - if v != nil { - var encryptedCredential interface{} - err = json.Unmarshal(*v, &encryptedCredential) - if err != nil { - return err - } - mlstp.EncryptedCredential = encryptedCredential + mds.Type = typeVar } } } @@ -109133,8 +126377,8 @@ func (mlstp *MagentoLinkedServiceTypeProperties) UnmarshalJSON(body []byte) erro return nil } -// MagentoObjectDataset magento server dataset. -type MagentoObjectDataset struct { +// MariaDBTableDataset mariaDB server dataset. +type MariaDBTableDataset struct { // GenericDatasetTypeProperties - Properties specific to this dataset type. *GenericDatasetTypeProperties `json:"typeProperties,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection @@ -109153,469 +126397,494 @@ type MagentoObjectDataset struct { Annotations *[]interface{} `json:"annotations,omitempty"` // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. Folder *DatasetFolder `json:"folder,omitempty"` - // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' + // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' Type TypeBasicDataset `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for MagentoObjectDataset. -func (mod MagentoObjectDataset) MarshalJSON() ([]byte, error) { - mod.Type = TypeMagentoObject +// MarshalJSON is the custom marshaler for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) MarshalJSON() ([]byte, error) { + mdtd.Type = TypeMariaDBTable objectMap := make(map[string]interface{}) - if mod.GenericDatasetTypeProperties != nil { - objectMap["typeProperties"] = mod.GenericDatasetTypeProperties + if mdtd.GenericDatasetTypeProperties != nil { + objectMap["typeProperties"] = mdtd.GenericDatasetTypeProperties } - if mod.Description != nil { - objectMap["description"] = mod.Description + if mdtd.Description != nil { + objectMap["description"] = mdtd.Description } - if mod.Structure != nil { - objectMap["structure"] = mod.Structure + if mdtd.Structure != nil { + objectMap["structure"] = mdtd.Structure } - if mod.Schema != nil { - objectMap["schema"] = mod.Schema + if mdtd.Schema != nil { + objectMap["schema"] = mdtd.Schema } - if mod.LinkedServiceName != nil { - objectMap["linkedServiceName"] = mod.LinkedServiceName + if mdtd.LinkedServiceName != nil { + objectMap["linkedServiceName"] = mdtd.LinkedServiceName } - if mod.Parameters != nil { - objectMap["parameters"] = mod.Parameters + if mdtd.Parameters != nil { + objectMap["parameters"] = mdtd.Parameters } - if mod.Annotations != nil { - objectMap["annotations"] = mod.Annotations + if mdtd.Annotations != nil { + objectMap["annotations"] = mdtd.Annotations } - if mod.Folder != nil { - objectMap["folder"] = mod.Folder + if mdtd.Folder != nil { + objectMap["folder"] = mdtd.Folder } - if mod.Type != "" { - objectMap["type"] = mod.Type + if mdtd.Type != "" { + objectMap["type"] = mdtd.Type } - for k, v := range mod.AdditionalProperties { + for k, v := range mdtd.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for MagentoObjectDataset. -func (mod MagentoObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { return nil, false } -// AsAzureDataExplorerTableDataset is the BasicDataset implementation for MagentoObjectDataset. -func (mod MagentoObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { return nil, false } -// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for MagentoObjectDataset. -func (mod MagentoObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { return nil, false } -// AsDynamicsAXResourceDataset is the BasicDataset implementation for MagentoObjectDataset. -func (mod MagentoObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { +// AsDynamicsAXResourceDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { + return nil, false +} + +// AsResponsysObjectDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { + return nil, false +} + +// AsVerticaTableDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { + return nil, false +} + +// AsNetezzaTableDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { return nil, false } -// AsResponsysObjectDataset is the BasicDataset implementation for MagentoObjectDataset. -func (mod MagentoObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { +// AsZohoObjectDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { return nil, false } -// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for MagentoObjectDataset. -func (mod MagentoObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { +// AsXeroObjectDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { return nil, false } -// AsVerticaTableDataset is the BasicDataset implementation for MagentoObjectDataset. -func (mod MagentoObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { +// AsSquareObjectDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { return nil, false } -// AsNetezzaTableDataset is the BasicDataset implementation for MagentoObjectDataset. -func (mod MagentoObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { +// AsSparkObjectDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { return nil, false } -// AsZohoObjectDataset is the BasicDataset implementation for MagentoObjectDataset. -func (mod MagentoObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { +// AsShopifyObjectDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { return nil, false } -// AsXeroObjectDataset is the BasicDataset implementation for MagentoObjectDataset. -func (mod MagentoObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { +// AsServiceNowObjectDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { return nil, false } -// AsSquareObjectDataset is the BasicDataset implementation for MagentoObjectDataset. -func (mod MagentoObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { +// AsQuickBooksObjectDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { return nil, false } -// AsSparkObjectDataset is the BasicDataset implementation for MagentoObjectDataset. -func (mod MagentoObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { +// AsPrestoObjectDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { return nil, false } -// AsShopifyObjectDataset is the BasicDataset implementation for MagentoObjectDataset. -func (mod MagentoObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { +// AsPhoenixObjectDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { return nil, false } -// AsServiceNowObjectDataset is the BasicDataset implementation for MagentoObjectDataset. -func (mod MagentoObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { +// AsPaypalObjectDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { return nil, false } -// AsQuickBooksObjectDataset is the BasicDataset implementation for MagentoObjectDataset. -func (mod MagentoObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { +// AsMarketoObjectDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { return nil, false } -// AsPrestoObjectDataset is the BasicDataset implementation for MagentoObjectDataset. -func (mod MagentoObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { +// AsAzureMariaDBTableDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { return nil, false } -// AsPhoenixObjectDataset is the BasicDataset implementation for MagentoObjectDataset. -func (mod MagentoObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { +// AsMariaDBTableDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { + return &mdtd, true +} + +// AsMagentoObjectDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { return nil, false } -// AsPaypalObjectDataset is the BasicDataset implementation for MagentoObjectDataset. -func (mod MagentoObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { +// AsJiraObjectDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { return nil, false } -// AsMarketoObjectDataset is the BasicDataset implementation for MagentoObjectDataset. -func (mod MagentoObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { +// AsImpalaObjectDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { return nil, false } -// AsAzureMariaDBTableDataset is the BasicDataset implementation for MagentoObjectDataset. -func (mod MagentoObjectDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { +// AsHubspotObjectDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { return nil, false } -// AsMariaDBTableDataset is the BasicDataset implementation for MagentoObjectDataset. -func (mod MagentoObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { +// AsHiveObjectDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { return nil, false } -// AsMagentoObjectDataset is the BasicDataset implementation for MagentoObjectDataset. -func (mod MagentoObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { - return &mod, true +// AsHBaseObjectDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { + return nil, false } -// AsJiraObjectDataset is the BasicDataset implementation for MagentoObjectDataset. -func (mod MagentoObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { +// AsGreenplumTableDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { return nil, false } -// AsImpalaObjectDataset is the BasicDataset implementation for MagentoObjectDataset. -func (mod MagentoObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { return nil, false } -// AsHubspotObjectDataset is the BasicDataset implementation for MagentoObjectDataset. -func (mod MagentoObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { +// AsEloquaObjectDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { return nil, false } -// AsHiveObjectDataset is the BasicDataset implementation for MagentoObjectDataset. -func (mod MagentoObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { +// AsDrillTableDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { return nil, false } -// AsHBaseObjectDataset is the BasicDataset implementation for MagentoObjectDataset. -func (mod MagentoObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { +// AsCouchbaseTableDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { return nil, false } -// AsGreenplumTableDataset is the BasicDataset implementation for MagentoObjectDataset. -func (mod MagentoObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { +// AsConcurObjectDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { return nil, false } -// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for MagentoObjectDataset. -func (mod MagentoObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { return nil, false } -// AsEloquaObjectDataset is the BasicDataset implementation for MagentoObjectDataset. -func (mod MagentoObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { +// AsAmazonMWSObjectDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { return nil, false } -// AsDrillTableDataset is the BasicDataset implementation for MagentoObjectDataset. -func (mod MagentoObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { +// AsHTTPDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsHTTPDataset() (*HTTPDataset, bool) { return nil, false } -// AsCouchbaseTableDataset is the BasicDataset implementation for MagentoObjectDataset. -func (mod MagentoObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { +// AsAzureSearchIndexDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { return nil, false } -// AsConcurObjectDataset is the BasicDataset implementation for MagentoObjectDataset. -func (mod MagentoObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { +// AsWebTableDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsWebTableDataset() (*WebTableDataset, bool) { return nil, false } -// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for MagentoObjectDataset. -func (mod MagentoObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { +// AsSapTableResourceDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { return nil, false } -// AsAmazonMWSObjectDataset is the BasicDataset implementation for MagentoObjectDataset. -func (mod MagentoObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { +// AsRestResourceDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { return nil, false } -// AsHTTPDataset is the BasicDataset implementation for MagentoObjectDataset. -func (mod MagentoObjectDataset) AsHTTPDataset() (*HTTPDataset, bool) { +// AsSQLServerTableDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { return nil, false } -// AsAzureSearchIndexDataset is the BasicDataset implementation for MagentoObjectDataset. -func (mod MagentoObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { +// AsSapOpenHubTableDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { return nil, false } -// AsWebTableDataset is the BasicDataset implementation for MagentoObjectDataset. -func (mod MagentoObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) { +// AsSapHanaTableDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { return nil, false } -// AsSapTableResourceDataset is the BasicDataset implementation for MagentoObjectDataset. -func (mod MagentoObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { +// AsSapEccResourceDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { return nil, false } -// AsRestResourceDataset is the BasicDataset implementation for MagentoObjectDataset. -func (mod MagentoObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { return nil, false } -// AsSQLServerTableDataset is the BasicDataset implementation for MagentoObjectDataset. -func (mod MagentoObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { +// AsSapBwCubeDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { return nil, false } -// AsSapOpenHubTableDataset is the BasicDataset implementation for MagentoObjectDataset. -func (mod MagentoObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { +// AsSybaseTableDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { return nil, false } -// AsSapHanaTableDataset is the BasicDataset implementation for MagentoObjectDataset. -func (mod MagentoObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { return nil, false } -// AsSapEccResourceDataset is the BasicDataset implementation for MagentoObjectDataset. -func (mod MagentoObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { +// AsSalesforceObjectDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { return nil, false } -// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for MagentoObjectDataset. -func (mod MagentoObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { return nil, false } -// AsSapBwCubeDataset is the BasicDataset implementation for MagentoObjectDataset. -func (mod MagentoObjectDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { +// AsPostgreSQLTableDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { return nil, false } -// AsSybaseTableDataset is the BasicDataset implementation for MagentoObjectDataset. -func (mod MagentoObjectDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { +// AsMySQLTableDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { return nil, false } -// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for MagentoObjectDataset. -func (mod MagentoObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { +// AsOdbcTableDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { return nil, false } -// AsSalesforceObjectDataset is the BasicDataset implementation for MagentoObjectDataset. -func (mod MagentoObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { +// AsInformixTableDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { return nil, false } -// AsMicrosoftAccessTableDataset is the BasicDataset implementation for MagentoObjectDataset. -func (mod MagentoObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { +// AsRelationalTableDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { return nil, false } -// AsPostgreSQLTableDataset is the BasicDataset implementation for MagentoObjectDataset. -func (mod MagentoObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { +// AsDb2TableDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { return nil, false } -// AsMySQLTableDataset is the BasicDataset implementation for MagentoObjectDataset. -func (mod MagentoObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { return nil, false } -// AsOdbcTableDataset is the BasicDataset implementation for MagentoObjectDataset. -func (mod MagentoObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { +// AsAzureMySQLTableDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { return nil, false } -// AsInformixTableDataset is the BasicDataset implementation for MagentoObjectDataset. -func (mod MagentoObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { +// AsTeradataTableDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { return nil, false } -// AsRelationalTableDataset is the BasicDataset implementation for MagentoObjectDataset. -func (mod MagentoObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { +// AsOracleTableDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { return nil, false } -// AsAzureMySQLTableDataset is the BasicDataset implementation for MagentoObjectDataset. -func (mod MagentoObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { +// AsODataResourceDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { return nil, false } -// AsTeradataTableDataset is the BasicDataset implementation for MagentoObjectDataset. -func (mod MagentoObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { return nil, false } -// AsOracleTableDataset is the BasicDataset implementation for MagentoObjectDataset. -func (mod MagentoObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { return nil, false } -// AsODataResourceDataset is the BasicDataset implementation for MagentoObjectDataset. -func (mod MagentoObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { +// AsMongoDbCollectionDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { return nil, false } -// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for MagentoObjectDataset. -func (mod MagentoObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { +// AsFileShareDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsFileShareDataset() (*FileShareDataset, bool) { return nil, false } -// AsMongoDbV2CollectionDataset is the BasicDataset implementation for MagentoObjectDataset. -func (mod MagentoObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { +// AsOffice365Dataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsOffice365Dataset() (*Office365Dataset, bool) { return nil, false } -// AsMongoDbCollectionDataset is the BasicDataset implementation for MagentoObjectDataset. -func (mod MagentoObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { +// AsAzureBlobFSDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) { return nil, false } -// AsFileShareDataset is the BasicDataset implementation for MagentoObjectDataset. -func (mod MagentoObjectDataset) AsFileShareDataset() (*FileShareDataset, bool) { +// AsAzureDataLakeStoreDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) { return nil, false } -// AsOffice365Dataset is the BasicDataset implementation for MagentoObjectDataset. -func (mod MagentoObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) { +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { return nil, false } -// AsAzureBlobFSDataset is the BasicDataset implementation for MagentoObjectDataset. -func (mod MagentoObjectDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) { +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { return nil, false } -// AsAzureDataLakeStoreDataset is the BasicDataset implementation for MagentoObjectDataset. -func (mod MagentoObjectDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) { +// AsDynamicsEntityDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { return nil, false } -// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for MagentoObjectDataset. -func (mod MagentoObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { +// AsDocumentDbCollectionDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { return nil, false } -// AsDynamicsCrmEntityDataset is the BasicDataset implementation for MagentoObjectDataset. -func (mod MagentoObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { return nil, false } -// AsDynamicsEntityDataset is the BasicDataset implementation for MagentoObjectDataset. -func (mod MagentoObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { +// AsCustomDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsCustomDataset() (*CustomDataset, bool) { return nil, false } -// AsDocumentDbCollectionDataset is the BasicDataset implementation for MagentoObjectDataset. -func (mod MagentoObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { +// AsCassandraTableDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { return nil, false } -// AsCustomDataset is the BasicDataset implementation for MagentoObjectDataset. -func (mod MagentoObjectDataset) AsCustomDataset() (*CustomDataset, bool) { +// AsAzureSQLDWTableDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { return nil, false } -// AsCassandraTableDataset is the BasicDataset implementation for MagentoObjectDataset. -func (mod MagentoObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { +// AsAzureSQLMITableDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { return nil, false } -// AsAzureSQLDWTableDataset is the BasicDataset implementation for MagentoObjectDataset. -func (mod MagentoObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { +// AsAzureSQLTableDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { return nil, false } -// AsAzureSQLMITableDataset is the BasicDataset implementation for MagentoObjectDataset. -func (mod MagentoObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { +// AsAzureTableDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { return nil, false } -// AsAzureSQLTableDataset is the BasicDataset implementation for MagentoObjectDataset. -func (mod MagentoObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { +// AsAzureBlobDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) { return nil, false } -// AsAzureTableDataset is the BasicDataset implementation for MagentoObjectDataset. -func (mod MagentoObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { +// AsBinaryDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsBinaryDataset() (*BinaryDataset, bool) { return nil, false } -// AsAzureBlobDataset is the BasicDataset implementation for MagentoObjectDataset. -func (mod MagentoObjectDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) { +// AsOrcDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsOrcDataset() (*OrcDataset, bool) { return nil, false } -// AsBinaryDataset is the BasicDataset implementation for MagentoObjectDataset. -func (mod MagentoObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) { +// AsJSONDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsJSONDataset() (*JSONDataset, bool) { return nil, false } -// AsDelimitedTextDataset is the BasicDataset implementation for MagentoObjectDataset. -func (mod MagentoObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { +// AsDelimitedTextDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { return nil, false } -// AsParquetDataset is the BasicDataset implementation for MagentoObjectDataset. -func (mod MagentoObjectDataset) AsParquetDataset() (*ParquetDataset, bool) { +// AsParquetDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsParquetDataset() (*ParquetDataset, bool) { return nil, false } -// AsAvroDataset is the BasicDataset implementation for MagentoObjectDataset. -func (mod MagentoObjectDataset) AsAvroDataset() (*AvroDataset, bool) { +// AsAvroDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsAvroDataset() (*AvroDataset, bool) { return nil, false } -// AsAmazonS3Dataset is the BasicDataset implementation for MagentoObjectDataset. -func (mod MagentoObjectDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) { +// AsAmazonS3Dataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) { return nil, false } -// AsDataset is the BasicDataset implementation for MagentoObjectDataset. -func (mod MagentoObjectDataset) AsDataset() (*Dataset, bool) { +// AsDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsDataset() (*Dataset, bool) { return nil, false } -// AsBasicDataset is the BasicDataset implementation for MagentoObjectDataset. -func (mod MagentoObjectDataset) AsBasicDataset() (BasicDataset, bool) { - return &mod, true +// AsBasicDataset is the BasicDataset implementation for MariaDBTableDataset. +func (mdtd MariaDBTableDataset) AsBasicDataset() (BasicDataset, bool) { + return &mdtd, true } -// UnmarshalJSON is the custom unmarshaler for MagentoObjectDataset struct. -func (mod *MagentoObjectDataset) UnmarshalJSON(body []byte) error { +// UnmarshalJSON is the custom unmarshaler for MariaDBTableDataset struct. +func (mdtd *MariaDBTableDataset) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -109630,7 +126899,7 @@ func (mod *MagentoObjectDataset) UnmarshalJSON(body []byte) error { if err != nil { return err } - mod.GenericDatasetTypeProperties = &genericDatasetTypeProperties + mdtd.GenericDatasetTypeProperties = &genericDatasetTypeProperties } default: if v != nil { @@ -109639,10 +126908,10 @@ func (mod *MagentoObjectDataset) UnmarshalJSON(body []byte) error { if err != nil { return err } - if mod.AdditionalProperties == nil { - mod.AdditionalProperties = make(map[string]interface{}) + if mdtd.AdditionalProperties == nil { + mdtd.AdditionalProperties = make(map[string]interface{}) } - mod.AdditionalProperties[k] = additionalProperties + mdtd.AdditionalProperties[k] = additionalProperties } case "description": if v != nil { @@ -109651,7 +126920,7 @@ func (mod *MagentoObjectDataset) UnmarshalJSON(body []byte) error { if err != nil { return err } - mod.Description = &description + mdtd.Description = &description } case "structure": if v != nil { @@ -109660,7 +126929,7 @@ func (mod *MagentoObjectDataset) UnmarshalJSON(body []byte) error { if err != nil { return err } - mod.Structure = structure + mdtd.Structure = structure } case "schema": if v != nil { @@ -109669,7 +126938,7 @@ func (mod *MagentoObjectDataset) UnmarshalJSON(body []byte) error { if err != nil { return err } - mod.Schema = schema + mdtd.Schema = schema } case "linkedServiceName": if v != nil { @@ -109678,7 +126947,7 @@ func (mod *MagentoObjectDataset) UnmarshalJSON(body []byte) error { if err != nil { return err } - mod.LinkedServiceName = &linkedServiceName + mdtd.LinkedServiceName = &linkedServiceName } case "parameters": if v != nil { @@ -109687,7 +126956,7 @@ func (mod *MagentoObjectDataset) UnmarshalJSON(body []byte) error { if err != nil { return err } - mod.Parameters = parameters + mdtd.Parameters = parameters } case "annotations": if v != nil { @@ -109696,7 +126965,7 @@ func (mod *MagentoObjectDataset) UnmarshalJSON(body []byte) error { if err != nil { return err } - mod.Annotations = &annotations + mdtd.Annotations = &annotations } case "folder": if v != nil { @@ -109705,7 +126974,7 @@ func (mod *MagentoObjectDataset) UnmarshalJSON(body []byte) error { if err != nil { return err } - mod.Folder = &folder + mdtd.Folder = &folder } case "type": if v != nil { @@ -109714,7 +126983,7 @@ func (mod *MagentoObjectDataset) UnmarshalJSON(body []byte) error { if err != nil { return err } - mod.Type = typeVar + mdtd.Type = typeVar } } } @@ -109722,600 +126991,534 @@ func (mod *MagentoObjectDataset) UnmarshalJSON(body []byte) error { return nil } -// MagentoSource a copy activity Magento server source. -type MagentoSource struct { - // Query - A query to retrieve data from source. Type: string (or Expression with resultType string). - Query interface{} `json:"query,omitempty"` +// MarketoLinkedService marketo server linked service. +type MarketoLinkedService struct { + // MarketoLinkedServiceTypeProperties - Marketo server linked service properties. + *MarketoLinkedServiceTypeProperties `json:"typeProperties,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` - // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). - SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` - // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). - SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` - // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). - MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' - Type TypeBasicCopySource `json:"type,omitempty"` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' + Type TypeBasicLinkedService `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for MagentoSource. -func (ms MagentoSource) MarshalJSON() ([]byte, error) { - ms.Type = TypeMagentoSource +// MarshalJSON is the custom marshaler for MarketoLinkedService. +func (mls MarketoLinkedService) MarshalJSON() ([]byte, error) { + mls.Type = TypeMarketo objectMap := make(map[string]interface{}) - if ms.Query != nil { - objectMap["query"] = ms.Query + if mls.MarketoLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = mls.MarketoLinkedServiceTypeProperties } - if ms.SourceRetryCount != nil { - objectMap["sourceRetryCount"] = ms.SourceRetryCount + if mls.ConnectVia != nil { + objectMap["connectVia"] = mls.ConnectVia } - if ms.SourceRetryWait != nil { - objectMap["sourceRetryWait"] = ms.SourceRetryWait + if mls.Description != nil { + objectMap["description"] = mls.Description } - if ms.MaxConcurrentConnections != nil { - objectMap["maxConcurrentConnections"] = ms.MaxConcurrentConnections + if mls.Parameters != nil { + objectMap["parameters"] = mls.Parameters } - if ms.Type != "" { - objectMap["type"] = ms.Type + if mls.Annotations != nil { + objectMap["annotations"] = mls.Annotations } - for k, v := range ms.AdditionalProperties { + if mls.Type != "" { + objectMap["type"] = mls.Type + } + for k, v := range mls.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsAmazonRedshiftSource is the BasicCopySource implementation for MagentoSource. -func (ms MagentoSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { return nil, false } -// AsGoogleAdWordsSource is the BasicCopySource implementation for MagentoSource. -func (ms MagentoSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { return nil, false } -// AsOracleServiceCloudSource is the BasicCopySource implementation for MagentoSource. -func (ms MagentoSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { +// AsSapTableLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { return nil, false } -// AsDynamicsAXSource is the BasicCopySource implementation for MagentoSource. -func (ms MagentoSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { return nil, false } -// AsResponsysSource is the BasicCopySource implementation for MagentoSource. -func (ms MagentoSource) AsResponsysSource() (*ResponsysSource, bool) { +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { return nil, false } -// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for MagentoSource. -func (ms MagentoSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { return nil, false } -// AsVerticaSource is the BasicCopySource implementation for MagentoSource. -func (ms MagentoSource) AsVerticaSource() (*VerticaSource, bool) { +// AsResponsysLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { return nil, false } -// AsNetezzaSource is the BasicCopySource implementation for MagentoSource. -func (ms MagentoSource) AsNetezzaSource() (*NetezzaSource, bool) { +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { return nil, false } -// AsZohoSource is the BasicCopySource implementation for MagentoSource. -func (ms MagentoSource) AsZohoSource() (*ZohoSource, bool) { +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { return nil, false } -// AsXeroSource is the BasicCopySource implementation for MagentoSource. -func (ms MagentoSource) AsXeroSource() (*XeroSource, bool) { +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { return nil, false } -// AsSquareSource is the BasicCopySource implementation for MagentoSource. -func (ms MagentoSource) AsSquareSource() (*SquareSource, bool) { +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { return nil, false } -// AsSparkSource is the BasicCopySource implementation for MagentoSource. -func (ms MagentoSource) AsSparkSource() (*SparkSource, bool) { +// AsNetezzaLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { return nil, false } -// AsShopifySource is the BasicCopySource implementation for MagentoSource. -func (ms MagentoSource) AsShopifySource() (*ShopifySource, bool) { +// AsVerticaLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { return nil, false } -// AsServiceNowSource is the BasicCopySource implementation for MagentoSource. -func (ms MagentoSource) AsServiceNowSource() (*ServiceNowSource, bool) { +// AsZohoLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { return nil, false } -// AsQuickBooksSource is the BasicCopySource implementation for MagentoSource. -func (ms MagentoSource) AsQuickBooksSource() (*QuickBooksSource, bool) { +// AsXeroLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { return nil, false } -// AsPrestoSource is the BasicCopySource implementation for MagentoSource. -func (ms MagentoSource) AsPrestoSource() (*PrestoSource, bool) { +// AsSquareLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { return nil, false } -// AsPhoenixSource is the BasicCopySource implementation for MagentoSource. -func (ms MagentoSource) AsPhoenixSource() (*PhoenixSource, bool) { +// AsSparkLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { return nil, false } -// AsPaypalSource is the BasicCopySource implementation for MagentoSource. -func (ms MagentoSource) AsPaypalSource() (*PaypalSource, bool) { +// AsShopifyLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { return nil, false } -// AsMarketoSource is the BasicCopySource implementation for MagentoSource. -func (ms MagentoSource) AsMarketoSource() (*MarketoSource, bool) { +// AsServiceNowLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { return nil, false } -// AsAzureMariaDBSource is the BasicCopySource implementation for MagentoSource. -func (ms MagentoSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { +// AsQuickBooksLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { return nil, false } -// AsMariaDBSource is the BasicCopySource implementation for MagentoSource. -func (ms MagentoSource) AsMariaDBSource() (*MariaDBSource, bool) { +// AsPrestoLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { return nil, false } -// AsMagentoSource is the BasicCopySource implementation for MagentoSource. -func (ms MagentoSource) AsMagentoSource() (*MagentoSource, bool) { - return &ms, true +// AsPhoenixLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { + return nil, false } -// AsJiraSource is the BasicCopySource implementation for MagentoSource. -func (ms MagentoSource) AsJiraSource() (*JiraSource, bool) { +// AsPaypalLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { return nil, false } -// AsImpalaSource is the BasicCopySource implementation for MagentoSource. -func (ms MagentoSource) AsImpalaSource() (*ImpalaSource, bool) { +// AsMarketoLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { + return &mls, true +} + +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { return nil, false } -// AsHubspotSource is the BasicCopySource implementation for MagentoSource. -func (ms MagentoSource) AsHubspotSource() (*HubspotSource, bool) { +// AsMariaDBLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { return nil, false } -// AsHiveSource is the BasicCopySource implementation for MagentoSource. -func (ms MagentoSource) AsHiveSource() (*HiveSource, bool) { +// AsMagentoLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { return nil, false } -// AsHBaseSource is the BasicCopySource implementation for MagentoSource. -func (ms MagentoSource) AsHBaseSource() (*HBaseSource, bool) { +// AsJiraLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { return nil, false } -// AsGreenplumSource is the BasicCopySource implementation for MagentoSource. -func (ms MagentoSource) AsGreenplumSource() (*GreenplumSource, bool) { +// AsImpalaLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { return nil, false } -// AsGoogleBigQuerySource is the BasicCopySource implementation for MagentoSource. -func (ms MagentoSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { +// AsHubspotLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { return nil, false } -// AsEloquaSource is the BasicCopySource implementation for MagentoSource. -func (ms MagentoSource) AsEloquaSource() (*EloquaSource, bool) { +// AsHiveLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { return nil, false } -// AsDrillSource is the BasicCopySource implementation for MagentoSource. -func (ms MagentoSource) AsDrillSource() (*DrillSource, bool) { +// AsHBaseLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { return nil, false } -// AsCouchbaseSource is the BasicCopySource implementation for MagentoSource. -func (ms MagentoSource) AsCouchbaseSource() (*CouchbaseSource, bool) { +// AsGreenplumLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { return nil, false } -// AsConcurSource is the BasicCopySource implementation for MagentoSource. -func (ms MagentoSource) AsConcurSource() (*ConcurSource, bool) { +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { return nil, false } -// AsAzurePostgreSQLSource is the BasicCopySource implementation for MagentoSource. -func (ms MagentoSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { +// AsEloquaLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { return nil, false } -// AsAmazonMWSSource is the BasicCopySource implementation for MagentoSource. -func (ms MagentoSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { +// AsDrillLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { return nil, false } -// AsHTTPSource is the BasicCopySource implementation for MagentoSource. -func (ms MagentoSource) AsHTTPSource() (*HTTPSource, bool) { +// AsCouchbaseLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { return nil, false } -// AsAzureBlobFSSource is the BasicCopySource implementation for MagentoSource. -func (ms MagentoSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { +// AsConcurLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { return nil, false } -// AsAzureDataLakeStoreSource is the BasicCopySource implementation for MagentoSource. -func (ms MagentoSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { return nil, false } -// AsOffice365Source is the BasicCopySource implementation for MagentoSource. -func (ms MagentoSource) AsOffice365Source() (*Office365Source, bool) { +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { return nil, false } -// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for MagentoSource. -func (ms MagentoSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { +// AsSapHanaLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { return nil, false } -// AsMongoDbV2Source is the BasicCopySource implementation for MagentoSource. -func (ms MagentoSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { +// AsSapBWLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { return nil, false } -// AsMongoDbSource is the BasicCopySource implementation for MagentoSource. -func (ms MagentoSource) AsMongoDbSource() (*MongoDbSource, bool) { +// AsSftpServerLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { return nil, false } -// AsCassandraSource is the BasicCopySource implementation for MagentoSource. -func (ms MagentoSource) AsCassandraSource() (*CassandraSource, bool) { +// AsFtpServerLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { return nil, false } -// AsWebSource is the BasicCopySource implementation for MagentoSource. -func (ms MagentoSource) AsWebSource() (*WebSource, bool) { +// AsHTTPLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { return nil, false } -// AsTeradataSource is the BasicCopySource implementation for MagentoSource. -func (ms MagentoSource) AsTeradataSource() (*TeradataSource, bool) { +// AsAzureSearchLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { return nil, false } -// AsOracleSource is the BasicCopySource implementation for MagentoSource. -func (ms MagentoSource) AsOracleSource() (*OracleSource, bool) { +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { return nil, false } -// AsAzureDataExplorerSource is the BasicCopySource implementation for MagentoSource. -func (ms MagentoSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { return nil, false } -// AsAzureMySQLSource is the BasicCopySource implementation for MagentoSource. -func (ms MagentoSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { +// AsAmazonS3LinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { return nil, false } -// AsHdfsSource is the BasicCopySource implementation for MagentoSource. -func (ms MagentoSource) AsHdfsSource() (*HdfsSource, bool) { +// AsRestServiceLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { return nil, false } -// AsFileSystemSource is the BasicCopySource implementation for MagentoSource. -func (ms MagentoSource) AsFileSystemSource() (*FileSystemSource, bool) { +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { return nil, false } -// AsSQLDWSource is the BasicCopySource implementation for MagentoSource. -func (ms MagentoSource) AsSQLDWSource() (*SQLDWSource, bool) { +// AsSapEccLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { return nil, false } -// AsSQLMISource is the BasicCopySource implementation for MagentoSource. -func (ms MagentoSource) AsSQLMISource() (*SQLMISource, bool) { +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { return nil, false } -// AsAzureSQLSource is the BasicCopySource implementation for MagentoSource. -func (ms MagentoSource) AsAzureSQLSource() (*AzureSQLSource, bool) { +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { return nil, false } -// AsSQLServerSource is the BasicCopySource implementation for MagentoSource. -func (ms MagentoSource) AsSQLServerSource() (*SQLServerSource, bool) { +// AsSalesforceLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { return nil, false } -// AsSQLSource is the BasicCopySource implementation for MagentoSource. -func (ms MagentoSource) AsSQLSource() (*SQLSource, bool) { +// AsOffice365LinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { return nil, false } -// AsRestSource is the BasicCopySource implementation for MagentoSource. -func (ms MagentoSource) AsRestSource() (*RestSource, bool) { +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { return nil, false } -// AsSapTableSource is the BasicCopySource implementation for MagentoSource. -func (ms MagentoSource) AsSapTableSource() (*SapTableSource, bool) { +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { return nil, false } -// AsSapOpenHubSource is the BasicCopySource implementation for MagentoSource. -func (ms MagentoSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { return nil, false } -// AsSapHanaSource is the BasicCopySource implementation for MagentoSource. -func (ms MagentoSource) AsSapHanaSource() (*SapHanaSource, bool) { +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { return nil, false } -// AsSapEccSource is the BasicCopySource implementation for MagentoSource. -func (ms MagentoSource) AsSapEccSource() (*SapEccSource, bool) { +// AsMongoDbLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { return nil, false } -// AsSapCloudForCustomerSource is the BasicCopySource implementation for MagentoSource. -func (ms MagentoSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { +// AsCassandraLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { return nil, false } -// AsSalesforceServiceCloudSource is the BasicCopySource implementation for MagentoSource. -func (ms MagentoSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { +// AsWebLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { return nil, false } -// AsSalesforceSource is the BasicCopySource implementation for MagentoSource. -func (ms MagentoSource) AsSalesforceSource() (*SalesforceSource, bool) { +// AsODataLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { return nil, false } -// AsODataSource is the BasicCopySource implementation for MagentoSource. -func (ms MagentoSource) AsODataSource() (*ODataSource, bool) { +// AsHdfsLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { return nil, false } -// AsSapBwSource is the BasicCopySource implementation for MagentoSource. -func (ms MagentoSource) AsSapBwSource() (*SapBwSource, bool) { +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { return nil, false } -// AsSybaseSource is the BasicCopySource implementation for MagentoSource. -func (ms MagentoSource) AsSybaseSource() (*SybaseSource, bool) { +// AsInformixLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { return nil, false } -// AsPostgreSQLSource is the BasicCopySource implementation for MagentoSource. -func (ms MagentoSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { +// AsOdbcLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { return nil, false } -// AsMySQLSource is the BasicCopySource implementation for MagentoSource. -func (ms MagentoSource) AsMySQLSource() (*MySQLSource, bool) { +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { return nil, false } -// AsOdbcSource is the BasicCopySource implementation for MagentoSource. -func (ms MagentoSource) AsOdbcSource() (*OdbcSource, bool) { +// AsAzureMLLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { return nil, false } -// AsDb2Source is the BasicCopySource implementation for MagentoSource. -func (ms MagentoSource) AsDb2Source() (*Db2Source, bool) { +// AsTeradataLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { return nil, false } -// AsMicrosoftAccessSource is the BasicCopySource implementation for MagentoSource. -func (ms MagentoSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { +// AsDb2LinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { return nil, false } -// AsInformixSource is the BasicCopySource implementation for MagentoSource. -func (ms MagentoSource) AsInformixSource() (*InformixSource, bool) { +// AsSybaseLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { return nil, false } -// AsRelationalSource is the BasicCopySource implementation for MagentoSource. -func (ms MagentoSource) AsRelationalSource() (*RelationalSource, bool) { +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { return nil, false } -// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for MagentoSource. -func (ms MagentoSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { +// AsMySQLLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { return nil, false } -// AsDynamicsCrmSource is the BasicCopySource implementation for MagentoSource. -func (ms MagentoSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { return nil, false } -// AsDynamicsSource is the BasicCopySource implementation for MagentoSource. -func (ms MagentoSource) AsDynamicsSource() (*DynamicsSource, bool) { +// AsOracleLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { return nil, false } -// AsDocumentDbCollectionSource is the BasicCopySource implementation for MagentoSource. -func (ms MagentoSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { return nil, false } -// AsBlobSource is the BasicCopySource implementation for MagentoSource. -func (ms MagentoSource) AsBlobSource() (*BlobSource, bool) { +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { return nil, false } -// AsAzureTableSource is the BasicCopySource implementation for MagentoSource. -func (ms MagentoSource) AsAzureTableSource() (*AzureTableSource, bool) { +// AsFileServerLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { return nil, false } -// AsBinarySource is the BasicCopySource implementation for MagentoSource. -func (ms MagentoSource) AsBinarySource() (*BinarySource, bool) { +// AsHDInsightLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { return nil, false } -// AsDelimitedTextSource is the BasicCopySource implementation for MagentoSource. -func (ms MagentoSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { return nil, false } -// AsParquetSource is the BasicCopySource implementation for MagentoSource. -func (ms MagentoSource) AsParquetSource() (*ParquetSource, bool) { +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { return nil, false } -// AsAvroSource is the BasicCopySource implementation for MagentoSource. -func (ms MagentoSource) AsAvroSource() (*AvroSource, bool) { +// AsDynamicsLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { return nil, false } -// AsCopySource is the BasicCopySource implementation for MagentoSource. -func (ms MagentoSource) AsCopySource() (*CopySource, bool) { +// AsCosmosDbLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { return nil, false } -// AsBasicCopySource is the BasicCopySource implementation for MagentoSource. -func (ms MagentoSource) AsBasicCopySource() (BasicCopySource, bool) { - return &ms, true +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false } -// UnmarshalJSON is the custom unmarshaler for MagentoSource struct. -func (ms *MagentoSource) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - case "query": - if v != nil { - var query interface{} - err = json.Unmarshal(*v, &query) - if err != nil { - return err - } - ms.Query = query - } - default: - if v != nil { - var additionalProperties interface{} - err = json.Unmarshal(*v, &additionalProperties) - if err != nil { - return err - } - if ms.AdditionalProperties == nil { - ms.AdditionalProperties = make(map[string]interface{}) - } - ms.AdditionalProperties[k] = additionalProperties - } - case "sourceRetryCount": - if v != nil { - var sourceRetryCount interface{} - err = json.Unmarshal(*v, &sourceRetryCount) - if err != nil { - return err - } - ms.SourceRetryCount = sourceRetryCount - } - case "sourceRetryWait": - if v != nil { - var sourceRetryWait interface{} - err = json.Unmarshal(*v, &sourceRetryWait) - if err != nil { - return err - } - ms.SourceRetryWait = sourceRetryWait - } - case "maxConcurrentConnections": - if v != nil { - var maxConcurrentConnections interface{} - err = json.Unmarshal(*v, &maxConcurrentConnections) - if err != nil { - return err - } - ms.MaxConcurrentConnections = maxConcurrentConnections - } - case "type": - if v != nil { - var typeVar TypeBasicCopySource - err = json.Unmarshal(*v, &typeVar) - if err != nil { - return err - } - ms.Type = typeVar - } - } - } +// AsAzureBatchLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} - return nil +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false } -// ManagedIntegrationRuntime managed integration runtime, including managed elastic and managed dedicated -// integration runtimes. -type ManagedIntegrationRuntime struct { - // State - READ-ONLY; Integration runtime state, only valid for managed dedicated integration runtime. Possible values include: 'IntegrationRuntimeStateInitial', 'IntegrationRuntimeStateStopped', 'IntegrationRuntimeStateStarted', 'IntegrationRuntimeStateStarting', 'IntegrationRuntimeStateStopping', 'IntegrationRuntimeStateNeedRegistration', 'IntegrationRuntimeStateOnline', 'IntegrationRuntimeStateLimited', 'IntegrationRuntimeStateOffline', 'IntegrationRuntimeStateAccessDenied' - State IntegrationRuntimeState `json:"state,omitempty"` - // ManagedIntegrationRuntimeTypeProperties - Managed integration runtime properties. - *ManagedIntegrationRuntimeTypeProperties `json:"typeProperties,omitempty"` - // AdditionalProperties - Unmatched properties from the message are deserialized this collection - AdditionalProperties map[string]interface{} `json:""` - // Description - Integration runtime description. - Description *string `json:"description,omitempty"` - // Type - Possible values include: 'TypeIntegrationRuntime', 'TypeSelfHosted', 'TypeManaged' - Type TypeBasicIntegrationRuntime `json:"type,omitempty"` +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false } -// MarshalJSON is the custom marshaler for ManagedIntegrationRuntime. -func (mir ManagedIntegrationRuntime) MarshalJSON() ([]byte, error) { - mir.Type = TypeManaged - objectMap := make(map[string]interface{}) - if mir.ManagedIntegrationRuntimeTypeProperties != nil { - objectMap["typeProperties"] = mir.ManagedIntegrationRuntimeTypeProperties - } - if mir.Description != nil { - objectMap["description"] = mir.Description - } - if mir.Type != "" { - objectMap["type"] = mir.Type - } - for k, v := range mir.AdditionalProperties { - objectMap[k] = v - } - return json.Marshal(objectMap) +// AsSQLServerLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false } -// AsSelfHostedIntegrationRuntime is the BasicIntegrationRuntime implementation for ManagedIntegrationRuntime. -func (mir ManagedIntegrationRuntime) AsSelfHostedIntegrationRuntime() (*SelfHostedIntegrationRuntime, bool) { +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { return nil, false } -// AsManagedIntegrationRuntime is the BasicIntegrationRuntime implementation for ManagedIntegrationRuntime. -func (mir ManagedIntegrationRuntime) AsManagedIntegrationRuntime() (*ManagedIntegrationRuntime, bool) { - return &mir, true +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false } -// AsIntegrationRuntime is the BasicIntegrationRuntime implementation for ManagedIntegrationRuntime. -func (mir ManagedIntegrationRuntime) AsIntegrationRuntime() (*IntegrationRuntime, bool) { +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { return nil, false } -// AsBasicIntegrationRuntime is the BasicIntegrationRuntime implementation for ManagedIntegrationRuntime. -func (mir ManagedIntegrationRuntime) AsBasicIntegrationRuntime() (BasicIntegrationRuntime, bool) { - return &mir, true +// AsAzureStorageLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false } -// UnmarshalJSON is the custom unmarshaler for ManagedIntegrationRuntime struct. -func (mir *ManagedIntegrationRuntime) UnmarshalJSON(body []byte) error { +// AsLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for MarketoLinkedService. +func (mls MarketoLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &mls, true +} + +// UnmarshalJSON is the custom unmarshaler for MarketoLinkedService struct. +func (mls *MarketoLinkedService) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -110323,23 +127526,14 @@ func (mir *ManagedIntegrationRuntime) UnmarshalJSON(body []byte) error { } for k, v := range m { switch k { - case "state": - if v != nil { - var state IntegrationRuntimeState - err = json.Unmarshal(*v, &state) - if err != nil { - return err - } - mir.State = state - } case "typeProperties": if v != nil { - var managedIntegrationRuntimeTypeProperties ManagedIntegrationRuntimeTypeProperties - err = json.Unmarshal(*v, &managedIntegrationRuntimeTypeProperties) + var marketoLinkedServiceTypeProperties MarketoLinkedServiceTypeProperties + err = json.Unmarshal(*v, &marketoLinkedServiceTypeProperties) if err != nil { return err } - mir.ManagedIntegrationRuntimeTypeProperties = &managedIntegrationRuntimeTypeProperties + mls.MarketoLinkedServiceTypeProperties = &marketoLinkedServiceTypeProperties } default: if v != nil { @@ -110348,10 +127542,19 @@ func (mir *ManagedIntegrationRuntime) UnmarshalJSON(body []byte) error { if err != nil { return err } - if mir.AdditionalProperties == nil { - mir.AdditionalProperties = make(map[string]interface{}) + if mls.AdditionalProperties == nil { + mls.AdditionalProperties = make(map[string]interface{}) } - mir.AdditionalProperties[k] = additionalProperties + mls.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + mls.ConnectVia = &connectVia } case "description": if v != nil { @@ -110360,113 +127563,61 @@ func (mir *ManagedIntegrationRuntime) UnmarshalJSON(body []byte) error { if err != nil { return err } - mir.Description = &description + mls.Description = &description } - case "type": + case "parameters": if v != nil { - var typeVar TypeBasicIntegrationRuntime - err = json.Unmarshal(*v, &typeVar) + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) if err != nil { return err } - mir.Type = typeVar + mls.Parameters = parameters } - } - } - - return nil -} - -// ManagedIntegrationRuntimeError error definition for managed integration runtime. -type ManagedIntegrationRuntimeError struct { - // Time - READ-ONLY; The time when the error occurred. - Time *date.Time `json:"time,omitempty"` - // Code - READ-ONLY; Error code. - Code *string `json:"code,omitempty"` - // Parameters - READ-ONLY; Managed integration runtime error parameters. - Parameters *[]string `json:"parameters,omitempty"` - // Message - READ-ONLY; Error message. - Message *string `json:"message,omitempty"` -} - -// ManagedIntegrationRuntimeNode properties of integration runtime node. -type ManagedIntegrationRuntimeNode struct { - // NodeID - READ-ONLY; The managed integration runtime node id. - NodeID *string `json:"nodeId,omitempty"` - // Status - READ-ONLY; The managed integration runtime node status. Possible values include: 'Starting', 'Available', 'Recycling', 'Unavailable' - Status ManagedIntegrationRuntimeNodeStatus `json:"status,omitempty"` - // Errors - The errors that occurred on this integration runtime node. - Errors *[]ManagedIntegrationRuntimeError `json:"errors,omitempty"` -} - -// ManagedIntegrationRuntimeOperationResult properties of managed integration runtime operation result. -type ManagedIntegrationRuntimeOperationResult struct { - // Type - READ-ONLY; The operation type. Could be start or stop. - Type *string `json:"type,omitempty"` - // StartTime - READ-ONLY; The start time of the operation. - StartTime *date.Time `json:"startTime,omitempty"` - // Result - READ-ONLY; The operation result. - Result *string `json:"result,omitempty"` - // ErrorCode - READ-ONLY; The error code. - ErrorCode *string `json:"errorCode,omitempty"` - // Parameters - READ-ONLY; Managed integration runtime error parameters. - Parameters *[]string `json:"parameters,omitempty"` - // ActivityID - READ-ONLY; The activity id for the operation request. - ActivityID *string `json:"activityId,omitempty"` -} - -// ManagedIntegrationRuntimeStatus managed integration runtime status. -type ManagedIntegrationRuntimeStatus struct { - // ManagedIntegrationRuntimeStatusTypeProperties - Managed integration runtime status type properties. - *ManagedIntegrationRuntimeStatusTypeProperties `json:"typeProperties,omitempty"` - // AdditionalProperties - Unmatched properties from the message are deserialized this collection - AdditionalProperties map[string]interface{} `json:""` - // DataFactoryName - READ-ONLY; The data factory name which the integration runtime belong to. - DataFactoryName *string `json:"dataFactoryName,omitempty"` - // State - READ-ONLY; The state of integration runtime. Possible values include: 'IntegrationRuntimeStateInitial', 'IntegrationRuntimeStateStopped', 'IntegrationRuntimeStateStarted', 'IntegrationRuntimeStateStarting', 'IntegrationRuntimeStateStopping', 'IntegrationRuntimeStateNeedRegistration', 'IntegrationRuntimeStateOnline', 'IntegrationRuntimeStateLimited', 'IntegrationRuntimeStateOffline', 'IntegrationRuntimeStateAccessDenied' - State IntegrationRuntimeState `json:"state,omitempty"` - // Type - Possible values include: 'TypeBasicIntegrationRuntimeStatusTypeIntegrationRuntimeStatus', 'TypeBasicIntegrationRuntimeStatusTypeSelfHosted', 'TypeBasicIntegrationRuntimeStatusTypeManaged' - Type TypeBasicIntegrationRuntimeStatus `json:"type,omitempty"` -} - -// MarshalJSON is the custom marshaler for ManagedIntegrationRuntimeStatus. -func (mirs ManagedIntegrationRuntimeStatus) MarshalJSON() ([]byte, error) { - mirs.Type = TypeBasicIntegrationRuntimeStatusTypeManaged - objectMap := make(map[string]interface{}) - if mirs.ManagedIntegrationRuntimeStatusTypeProperties != nil { - objectMap["typeProperties"] = mirs.ManagedIntegrationRuntimeStatusTypeProperties - } - if mirs.Type != "" { - objectMap["type"] = mirs.Type - } - for k, v := range mirs.AdditionalProperties { - objectMap[k] = v - } - return json.Marshal(objectMap) -} - -// AsSelfHostedIntegrationRuntimeStatus is the BasicIntegrationRuntimeStatus implementation for ManagedIntegrationRuntimeStatus. -func (mirs ManagedIntegrationRuntimeStatus) AsSelfHostedIntegrationRuntimeStatus() (*SelfHostedIntegrationRuntimeStatus, bool) { - return nil, false -} - -// AsManagedIntegrationRuntimeStatus is the BasicIntegrationRuntimeStatus implementation for ManagedIntegrationRuntimeStatus. -func (mirs ManagedIntegrationRuntimeStatus) AsManagedIntegrationRuntimeStatus() (*ManagedIntegrationRuntimeStatus, bool) { - return &mirs, true -} + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + mls.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + mls.Type = typeVar + } + } + } -// AsIntegrationRuntimeStatus is the BasicIntegrationRuntimeStatus implementation for ManagedIntegrationRuntimeStatus. -func (mirs ManagedIntegrationRuntimeStatus) AsIntegrationRuntimeStatus() (*IntegrationRuntimeStatus, bool) { - return nil, false + return nil } -// AsBasicIntegrationRuntimeStatus is the BasicIntegrationRuntimeStatus implementation for ManagedIntegrationRuntimeStatus. -func (mirs ManagedIntegrationRuntimeStatus) AsBasicIntegrationRuntimeStatus() (BasicIntegrationRuntimeStatus, bool) { - return &mirs, true +// MarketoLinkedServiceTypeProperties marketo server linked service properties. +type MarketoLinkedServiceTypeProperties struct { + // Endpoint - The endpoint of the Marketo server. (i.e. 123-ABC-321.mktorest.com) + Endpoint interface{} `json:"endpoint,omitempty"` + // ClientID - The client Id of your Marketo service. + ClientID interface{} `json:"clientId,omitempty"` + // ClientSecret - The client secret of your Marketo service. + ClientSecret BasicSecretBase `json:"clientSecret,omitempty"` + // UseEncryptedEndpoints - Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true. + UseEncryptedEndpoints interface{} `json:"useEncryptedEndpoints,omitempty"` + // UseHostVerification - Specifies whether to require the host name in the server's certificate to match the host name of the server when connecting over SSL. The default value is true. + UseHostVerification interface{} `json:"useHostVerification,omitempty"` + // UsePeerVerification - Specifies whether to verify the identity of the server when connecting over SSL. The default value is true. + UsePeerVerification interface{} `json:"usePeerVerification,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` } -// UnmarshalJSON is the custom unmarshaler for ManagedIntegrationRuntimeStatus struct. -func (mirs *ManagedIntegrationRuntimeStatus) UnmarshalJSON(body []byte) error { +// UnmarshalJSON is the custom unmarshaler for MarketoLinkedServiceTypeProperties struct. +func (mlstp *MarketoLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -110474,53 +127625,67 @@ func (mirs *ManagedIntegrationRuntimeStatus) UnmarshalJSON(body []byte) error { } for k, v := range m { switch k { - case "typeProperties": + case "endpoint": if v != nil { - var managedIntegrationRuntimeStatusTypeProperties ManagedIntegrationRuntimeStatusTypeProperties - err = json.Unmarshal(*v, &managedIntegrationRuntimeStatusTypeProperties) + var endpoint interface{} + err = json.Unmarshal(*v, &endpoint) if err != nil { return err } - mirs.ManagedIntegrationRuntimeStatusTypeProperties = &managedIntegrationRuntimeStatusTypeProperties + mlstp.Endpoint = endpoint } - default: + case "clientId": if v != nil { - var additionalProperties interface{} - err = json.Unmarshal(*v, &additionalProperties) + var clientID interface{} + err = json.Unmarshal(*v, &clientID) if err != nil { return err } - if mirs.AdditionalProperties == nil { - mirs.AdditionalProperties = make(map[string]interface{}) + mlstp.ClientID = clientID + } + case "clientSecret": + if v != nil { + clientSecret, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err } - mirs.AdditionalProperties[k] = additionalProperties + mlstp.ClientSecret = clientSecret } - case "dataFactoryName": + case "useEncryptedEndpoints": if v != nil { - var dataFactoryName string - err = json.Unmarshal(*v, &dataFactoryName) + var useEncryptedEndpoints interface{} + err = json.Unmarshal(*v, &useEncryptedEndpoints) if err != nil { return err } - mirs.DataFactoryName = &dataFactoryName + mlstp.UseEncryptedEndpoints = useEncryptedEndpoints } - case "state": + case "useHostVerification": if v != nil { - var state IntegrationRuntimeState - err = json.Unmarshal(*v, &state) + var useHostVerification interface{} + err = json.Unmarshal(*v, &useHostVerification) if err != nil { return err } - mirs.State = state + mlstp.UseHostVerification = useHostVerification } - case "type": + case "usePeerVerification": if v != nil { - var typeVar TypeBasicIntegrationRuntimeStatus - err = json.Unmarshal(*v, &typeVar) + var usePeerVerification interface{} + err = json.Unmarshal(*v, &usePeerVerification) if err != nil { return err } - mirs.Type = typeVar + mlstp.UsePeerVerification = usePeerVerification + } + case "encryptedCredential": + if v != nil { + var encryptedCredential interface{} + err = json.Unmarshal(*v, &encryptedCredential) + if err != nil { + return err + } + mlstp.EncryptedCredential = encryptedCredential } } } @@ -110528,539 +127693,514 @@ func (mirs *ManagedIntegrationRuntimeStatus) UnmarshalJSON(body []byte) error { return nil } -// ManagedIntegrationRuntimeStatusTypeProperties managed integration runtime status type properties. -type ManagedIntegrationRuntimeStatusTypeProperties struct { - // CreateTime - READ-ONLY; The time at which the integration runtime was created, in ISO8601 format. - CreateTime *date.Time `json:"createTime,omitempty"` - // Nodes - READ-ONLY; The list of nodes for managed integration runtime. - Nodes *[]ManagedIntegrationRuntimeNode `json:"nodes,omitempty"` - // OtherErrors - READ-ONLY; The errors that occurred on this integration runtime. - OtherErrors *[]ManagedIntegrationRuntimeError `json:"otherErrors,omitempty"` - // LastOperation - READ-ONLY; The last operation result that occurred on this integration runtime. - LastOperation *ManagedIntegrationRuntimeOperationResult `json:"lastOperation,omitempty"` -} - -// ManagedIntegrationRuntimeTypeProperties managed integration runtime type properties. -type ManagedIntegrationRuntimeTypeProperties struct { - // ComputeProperties - The compute resource for managed integration runtime. - ComputeProperties *IntegrationRuntimeComputeProperties `json:"computeProperties,omitempty"` - // SsisProperties - SSIS properties for managed integration runtime. - SsisProperties *IntegrationRuntimeSsisProperties `json:"ssisProperties,omitempty"` -} - -// MariaDBLinkedService mariaDB server linked service. -type MariaDBLinkedService struct { - // MariaDBLinkedServiceTypeProperties - MariaDB server linked service properties. - *MariaDBLinkedServiceTypeProperties `json:"typeProperties,omitempty"` +// MarketoObjectDataset marketo server dataset. +type MarketoObjectDataset struct { + // GenericDatasetTypeProperties - Properties specific to this dataset type. + *GenericDatasetTypeProperties `json:"typeProperties,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` - // ConnectVia - The integration runtime reference. - ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` - // Description - Linked service description. + // Description - Dataset description. Description *string `json:"description,omitempty"` - // Parameters - Parameters for linked service. + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. Parameters map[string]*ParameterSpecification `json:"parameters"` - // Annotations - List of tags that can be used for describing the linked service. + // Annotations - List of tags that can be used for describing the Dataset. Annotations *[]interface{} `json:"annotations,omitempty"` - // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' - Type TypeBasicLinkedService `json:"type,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' + Type TypeBasicDataset `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for MariaDBLinkedService. -func (mdls MariaDBLinkedService) MarshalJSON() ([]byte, error) { - mdls.Type = TypeMariaDB +// MarshalJSON is the custom marshaler for MarketoObjectDataset. +func (mod MarketoObjectDataset) MarshalJSON() ([]byte, error) { + mod.Type = TypeMarketoObject objectMap := make(map[string]interface{}) - if mdls.MariaDBLinkedServiceTypeProperties != nil { - objectMap["typeProperties"] = mdls.MariaDBLinkedServiceTypeProperties + if mod.GenericDatasetTypeProperties != nil { + objectMap["typeProperties"] = mod.GenericDatasetTypeProperties } - if mdls.ConnectVia != nil { - objectMap["connectVia"] = mdls.ConnectVia + if mod.Description != nil { + objectMap["description"] = mod.Description } - if mdls.Description != nil { - objectMap["description"] = mdls.Description + if mod.Structure != nil { + objectMap["structure"] = mod.Structure } - if mdls.Parameters != nil { - objectMap["parameters"] = mdls.Parameters + if mod.Schema != nil { + objectMap["schema"] = mod.Schema } - if mdls.Annotations != nil { - objectMap["annotations"] = mdls.Annotations + if mod.LinkedServiceName != nil { + objectMap["linkedServiceName"] = mod.LinkedServiceName } - if mdls.Type != "" { - objectMap["type"] = mdls.Type + if mod.Parameters != nil { + objectMap["parameters"] = mod.Parameters } - for k, v := range mdls.AdditionalProperties { + if mod.Annotations != nil { + objectMap["annotations"] = mod.Annotations + } + if mod.Folder != nil { + objectMap["folder"] = mod.Folder + } + if mod.Type != "" { + objectMap["type"] = mod.Type + } + for k, v := range mod.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsAzureFunctionLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. -func (mdls MariaDBLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { - return nil, false -} - -// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. -func (mdls MariaDBLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { - return nil, false -} - -// AsSapTableLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. -func (mdls MariaDBLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { - return nil, false -} - -// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. -func (mdls MariaDBLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { return nil, false } -// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. -func (mdls MariaDBLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { return nil, false } -// AsDynamicsAXLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. -func (mdls MariaDBLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { return nil, false } -// AsResponsysLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. -func (mdls MariaDBLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { +// AsDynamicsAXResourceDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { return nil, false } -// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. -func (mdls MariaDBLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { +// AsResponsysObjectDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { return nil, false } -// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. -func (mdls MariaDBLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { return nil, false } -// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. -func (mdls MariaDBLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { +// AsVerticaTableDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { return nil, false } -// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. -func (mdls MariaDBLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { +// AsNetezzaTableDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { return nil, false } -// AsNetezzaLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. -func (mdls MariaDBLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { +// AsZohoObjectDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { return nil, false } -// AsVerticaLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. -func (mdls MariaDBLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { +// AsXeroObjectDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { return nil, false } -// AsZohoLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. -func (mdls MariaDBLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { +// AsSquareObjectDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { return nil, false } -// AsXeroLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. -func (mdls MariaDBLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { +// AsSparkObjectDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { return nil, false } -// AsSquareLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. -func (mdls MariaDBLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { +// AsShopifyObjectDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { return nil, false } -// AsSparkLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. -func (mdls MariaDBLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { +// AsServiceNowObjectDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { return nil, false } -// AsShopifyLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. -func (mdls MariaDBLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { +// AsQuickBooksObjectDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { return nil, false } -// AsServiceNowLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. -func (mdls MariaDBLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { +// AsPrestoObjectDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { return nil, false } -// AsQuickBooksLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. -func (mdls MariaDBLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { +// AsPhoenixObjectDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { return nil, false } -// AsPrestoLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. -func (mdls MariaDBLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { +// AsPaypalObjectDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { return nil, false } -// AsPhoenixLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. -func (mdls MariaDBLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { - return nil, false +// AsMarketoObjectDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { + return &mod, true } -// AsPaypalLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. -func (mdls MariaDBLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { +// AsAzureMariaDBTableDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { return nil, false } -// AsMarketoLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. -func (mdls MariaDBLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { +// AsMariaDBTableDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { return nil, false } -// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. -func (mdls MariaDBLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { +// AsMagentoObjectDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { return nil, false } -// AsMariaDBLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. -func (mdls MariaDBLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { - return &mdls, true -} - -// AsMagentoLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. -func (mdls MariaDBLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { +// AsJiraObjectDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { return nil, false } -// AsJiraLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. -func (mdls MariaDBLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { +// AsImpalaObjectDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { return nil, false } -// AsImpalaLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. -func (mdls MariaDBLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { +// AsHubspotObjectDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { return nil, false } -// AsHubspotLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. -func (mdls MariaDBLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { +// AsHiveObjectDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { return nil, false } -// AsHiveLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. -func (mdls MariaDBLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { +// AsHBaseObjectDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { return nil, false } -// AsHBaseLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. -func (mdls MariaDBLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { +// AsGreenplumTableDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { return nil, false } -// AsGreenplumLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. -func (mdls MariaDBLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { return nil, false } -// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. -func (mdls MariaDBLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { +// AsEloquaObjectDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { return nil, false } -// AsEloquaLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. -func (mdls MariaDBLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { +// AsDrillTableDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { return nil, false } -// AsDrillLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. -func (mdls MariaDBLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { +// AsCouchbaseTableDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { return nil, false } -// AsCouchbaseLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. -func (mdls MariaDBLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { +// AsConcurObjectDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { return nil, false } -// AsConcurLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. -func (mdls MariaDBLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { return nil, false } -// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. -func (mdls MariaDBLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { +// AsAmazonMWSObjectDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { return nil, false } -// AsAmazonMWSLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. -func (mdls MariaDBLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { +// AsHTTPDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsHTTPDataset() (*HTTPDataset, bool) { return nil, false } -// AsSapHanaLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. -func (mdls MariaDBLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { +// AsAzureSearchIndexDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { return nil, false } -// AsSapBWLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. -func (mdls MariaDBLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { +// AsWebTableDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) { return nil, false } -// AsSftpServerLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. -func (mdls MariaDBLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { +// AsSapTableResourceDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { return nil, false } -// AsFtpServerLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. -func (mdls MariaDBLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { +// AsRestResourceDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { return nil, false } -// AsHTTPLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. -func (mdls MariaDBLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { +// AsSQLServerTableDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { return nil, false } -// AsAzureSearchLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. -func (mdls MariaDBLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { +// AsSapOpenHubTableDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { return nil, false } -// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. -func (mdls MariaDBLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { +// AsSapHanaTableDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { return nil, false } -// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. -func (mdls MariaDBLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { +// AsSapEccResourceDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { return nil, false } -// AsAmazonS3LinkedService is the BasicLinkedService implementation for MariaDBLinkedService. -func (mdls MariaDBLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { return nil, false } -// AsRestServiceLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. -func (mdls MariaDBLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { +// AsSapBwCubeDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { return nil, false } -// AsSapOpenHubLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. -func (mdls MariaDBLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { +// AsSybaseTableDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { return nil, false } -// AsSapEccLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. -func (mdls MariaDBLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { return nil, false } -// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. -func (mdls MariaDBLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { +// AsSalesforceObjectDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { return nil, false } -// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. -func (mdls MariaDBLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { return nil, false } -// AsSalesforceLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. -func (mdls MariaDBLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { +// AsPostgreSQLTableDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { return nil, false } -// AsOffice365LinkedService is the BasicLinkedService implementation for MariaDBLinkedService. -func (mdls MariaDBLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { +// AsMySQLTableDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { return nil, false } -// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. -func (mdls MariaDBLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { +// AsOdbcTableDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { return nil, false } -// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. -func (mdls MariaDBLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { +// AsInformixTableDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { return nil, false } -// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for MariaDBLinkedService. -func (mdls MariaDBLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { +// AsRelationalTableDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { return nil, false } -// AsMongoDbV2LinkedService is the BasicLinkedService implementation for MariaDBLinkedService. -func (mdls MariaDBLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { +// AsDb2TableDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { return nil, false } -// AsMongoDbLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. -func (mdls MariaDBLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { return nil, false } -// AsCassandraLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. -func (mdls MariaDBLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { +// AsAzureMySQLTableDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { return nil, false } -// AsWebLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. -func (mdls MariaDBLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { +// AsTeradataTableDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { return nil, false } -// AsODataLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. -func (mdls MariaDBLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { +// AsOracleTableDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { return nil, false } -// AsHdfsLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. -func (mdls MariaDBLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { +// AsODataResourceDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { return nil, false } -// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. -func (mdls MariaDBLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { return nil, false } -// AsInformixLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. -func (mdls MariaDBLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { return nil, false } -// AsOdbcLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. -func (mdls MariaDBLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { +// AsMongoDbCollectionDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { return nil, false } -// AsAzureMLLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. -func (mdls MariaDBLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { +// AsFileShareDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsFileShareDataset() (*FileShareDataset, bool) { return nil, false } -// AsTeradataLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. -func (mdls MariaDBLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { +// AsOffice365Dataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) { return nil, false } -// AsDb2LinkedService is the BasicLinkedService implementation for MariaDBLinkedService. -func (mdls MariaDBLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { +// AsAzureBlobFSDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) { return nil, false } -// AsSybaseLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. -func (mdls MariaDBLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { +// AsAzureDataLakeStoreDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) { return nil, false } -// AsPostgreSQLLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. -func (mdls MariaDBLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { return nil, false } -// AsMySQLLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. -func (mdls MariaDBLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { return nil, false } -// AsAzureMySQLLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. -func (mdls MariaDBLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { +// AsDynamicsEntityDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { return nil, false } -// AsOracleLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. -func (mdls MariaDBLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { +// AsDocumentDbCollectionDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { return nil, false } -// AsFileServerLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. -func (mdls MariaDBLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { return nil, false } -// AsHDInsightLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. -func (mdls MariaDBLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { +// AsCustomDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsCustomDataset() (*CustomDataset, bool) { return nil, false } -// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. -func (mdls MariaDBLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { +// AsCassandraTableDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { return nil, false } -// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. -func (mdls MariaDBLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { +// AsAzureSQLDWTableDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { return nil, false } -// AsDynamicsLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. -func (mdls MariaDBLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { +// AsAzureSQLMITableDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { return nil, false } -// AsCosmosDbLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. -func (mdls MariaDBLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { +// AsAzureSQLTableDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { return nil, false } -// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. -func (mdls MariaDBLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { +// AsAzureTableDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { return nil, false } -// AsAzureBatchLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. -func (mdls MariaDBLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { +// AsAzureBlobDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) { return nil, false } -// AsAzureSQLMILinkedService is the BasicLinkedService implementation for MariaDBLinkedService. -func (mdls MariaDBLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { +// AsBinaryDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) { return nil, false } -// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. -func (mdls MariaDBLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { +// AsOrcDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsOrcDataset() (*OrcDataset, bool) { return nil, false } -// AsSQLServerLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. -func (mdls MariaDBLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { +// AsJSONDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsJSONDataset() (*JSONDataset, bool) { return nil, false } -// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. -func (mdls MariaDBLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { +// AsDelimitedTextDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { return nil, false } -// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. -func (mdls MariaDBLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { +// AsParquetDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsParquetDataset() (*ParquetDataset, bool) { return nil, false } -// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. -func (mdls MariaDBLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { +// AsAvroDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsAvroDataset() (*AvroDataset, bool) { return nil, false } -// AsAzureStorageLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. -func (mdls MariaDBLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { +// AsAmazonS3Dataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) { return nil, false } -// AsLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. -func (mdls MariaDBLinkedService) AsLinkedService() (*LinkedService, bool) { +// AsDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsDataset() (*Dataset, bool) { return nil, false } -// AsBasicLinkedService is the BasicLinkedService implementation for MariaDBLinkedService. -func (mdls MariaDBLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { - return &mdls, true +// AsBasicDataset is the BasicDataset implementation for MarketoObjectDataset. +func (mod MarketoObjectDataset) AsBasicDataset() (BasicDataset, bool) { + return &mod, true } -// UnmarshalJSON is the custom unmarshaler for MariaDBLinkedService struct. -func (mdls *MariaDBLinkedService) UnmarshalJSON(body []byte) error { +// UnmarshalJSON is the custom unmarshaler for MarketoObjectDataset struct. +func (mod *MarketoObjectDataset) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -111070,12 +128210,12 @@ func (mdls *MariaDBLinkedService) UnmarshalJSON(body []byte) error { switch k { case "typeProperties": if v != nil { - var mariaDBLinkedServiceTypeProperties MariaDBLinkedServiceTypeProperties - err = json.Unmarshal(*v, &mariaDBLinkedServiceTypeProperties) + var genericDatasetTypeProperties GenericDatasetTypeProperties + err = json.Unmarshal(*v, &genericDatasetTypeProperties) if err != nil { return err } - mdls.MariaDBLinkedServiceTypeProperties = &mariaDBLinkedServiceTypeProperties + mod.GenericDatasetTypeProperties = &genericDatasetTypeProperties } default: if v != nil { @@ -111084,28 +128224,46 @@ func (mdls *MariaDBLinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - if mdls.AdditionalProperties == nil { - mdls.AdditionalProperties = make(map[string]interface{}) + if mod.AdditionalProperties == nil { + mod.AdditionalProperties = make(map[string]interface{}) } - mdls.AdditionalProperties[k] = additionalProperties + mod.AdditionalProperties[k] = additionalProperties } - case "connectVia": + case "description": if v != nil { - var connectVia IntegrationRuntimeReference - err = json.Unmarshal(*v, &connectVia) + var description string + err = json.Unmarshal(*v, &description) if err != nil { return err } - mdls.ConnectVia = &connectVia + mod.Description = &description } - case "description": + case "structure": if v != nil { - var description string - err = json.Unmarshal(*v, &description) + var structure interface{} + err = json.Unmarshal(*v, &structure) if err != nil { return err } - mdls.Description = &description + mod.Structure = structure + } + case "schema": + if v != nil { + var schema interface{} + err = json.Unmarshal(*v, &schema) + if err != nil { + return err + } + mod.Schema = schema + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + mod.LinkedServiceName = &linkedServiceName } case "parameters": if v != nil { @@ -111114,7 +128272,7 @@ func (mdls *MariaDBLinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - mdls.Parameters = parameters + mod.Parameters = parameters } case "annotations": if v != nil { @@ -111123,16 +128281,25 @@ func (mdls *MariaDBLinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - mdls.Annotations = &annotations + mod.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + mod.Folder = &folder } case "type": if v != nil { - var typeVar TypeBasicLinkedService + var typeVar TypeBasicDataset err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - mdls.Type = typeVar + mod.Type = typeVar } } } @@ -111140,20 +128307,12 @@ func (mdls *MariaDBLinkedService) UnmarshalJSON(body []byte) error { return nil } -// MariaDBLinkedServiceTypeProperties mariaDB server linked service properties. -type MariaDBLinkedServiceTypeProperties struct { - // ConnectionString - An ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference. - ConnectionString interface{} `json:"connectionString,omitempty"` - // Pwd - The Azure key vault secret reference of password in connection string. - Pwd *AzureKeyVaultSecretReference `json:"pwd,omitempty"` - // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). - EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` -} - -// MariaDBSource a copy activity MariaDB server source. -type MariaDBSource struct { +// MarketoSource a copy activity Marketo server source. +type MarketoSource struct { // Query - A query to retrieve data from source. Type: string (or Expression with resultType string). Query interface{} `json:"query,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). @@ -111162,462 +128321,490 @@ type MariaDBSource struct { SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' + // Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' Type TypeBasicCopySource `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for MariaDBSource. -func (mds MariaDBSource) MarshalJSON() ([]byte, error) { - mds.Type = TypeMariaDBSource +// MarshalJSON is the custom marshaler for MarketoSource. +func (ms MarketoSource) MarshalJSON() ([]byte, error) { + ms.Type = TypeMarketoSource objectMap := make(map[string]interface{}) - if mds.Query != nil { - objectMap["query"] = mds.Query + if ms.Query != nil { + objectMap["query"] = ms.Query } - if mds.SourceRetryCount != nil { - objectMap["sourceRetryCount"] = mds.SourceRetryCount + if ms.QueryTimeout != nil { + objectMap["queryTimeout"] = ms.QueryTimeout } - if mds.SourceRetryWait != nil { - objectMap["sourceRetryWait"] = mds.SourceRetryWait + if ms.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = ms.SourceRetryCount } - if mds.MaxConcurrentConnections != nil { - objectMap["maxConcurrentConnections"] = mds.MaxConcurrentConnections + if ms.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = ms.SourceRetryWait } - if mds.Type != "" { - objectMap["type"] = mds.Type + if ms.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = ms.MaxConcurrentConnections } - for k, v := range mds.AdditionalProperties { + if ms.Type != "" { + objectMap["type"] = ms.Type + } + for k, v := range ms.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsAmazonRedshiftSource is the BasicCopySource implementation for MariaDBSource. -func (mds MariaDBSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { +// AsHTTPSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsHTTPSource() (*HTTPSource, bool) { return nil, false } -// AsGoogleAdWordsSource is the BasicCopySource implementation for MariaDBSource. -func (mds MariaDBSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { +// AsAzureBlobFSSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { return nil, false } -// AsOracleServiceCloudSource is the BasicCopySource implementation for MariaDBSource. -func (mds MariaDBSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { return nil, false } -// AsDynamicsAXSource is the BasicCopySource implementation for MariaDBSource. -func (mds MariaDBSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { +// AsOffice365Source is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsOffice365Source() (*Office365Source, bool) { return nil, false } -// AsResponsysSource is the BasicCopySource implementation for MariaDBSource. -func (mds MariaDBSource) AsResponsysSource() (*ResponsysSource, bool) { +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { return nil, false } -// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for MariaDBSource. -func (mds MariaDBSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { +// AsMongoDbV2Source is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { return nil, false } -// AsVerticaSource is the BasicCopySource implementation for MariaDBSource. -func (mds MariaDBSource) AsVerticaSource() (*VerticaSource, bool) { +// AsMongoDbSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsMongoDbSource() (*MongoDbSource, bool) { return nil, false } -// AsNetezzaSource is the BasicCopySource implementation for MariaDBSource. -func (mds MariaDBSource) AsNetezzaSource() (*NetezzaSource, bool) { +// AsWebSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsWebSource() (*WebSource, bool) { return nil, false } -// AsZohoSource is the BasicCopySource implementation for MariaDBSource. -func (mds MariaDBSource) AsZohoSource() (*ZohoSource, bool) { +// AsOracleSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsOracleSource() (*OracleSource, bool) { return nil, false } -// AsXeroSource is the BasicCopySource implementation for MariaDBSource. -func (mds MariaDBSource) AsXeroSource() (*XeroSource, bool) { +// AsAzureDataExplorerSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { return nil, false } -// AsSquareSource is the BasicCopySource implementation for MariaDBSource. -func (mds MariaDBSource) AsSquareSource() (*SquareSource, bool) { +// AsHdfsSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsHdfsSource() (*HdfsSource, bool) { return nil, false } -// AsSparkSource is the BasicCopySource implementation for MariaDBSource. -func (mds MariaDBSource) AsSparkSource() (*SparkSource, bool) { +// AsFileSystemSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsFileSystemSource() (*FileSystemSource, bool) { return nil, false } -// AsShopifySource is the BasicCopySource implementation for MariaDBSource. -func (mds MariaDBSource) AsShopifySource() (*ShopifySource, bool) { +// AsRestSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsRestSource() (*RestSource, bool) { return nil, false } -// AsServiceNowSource is the BasicCopySource implementation for MariaDBSource. -func (mds MariaDBSource) AsServiceNowSource() (*ServiceNowSource, bool) { +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { return nil, false } -// AsQuickBooksSource is the BasicCopySource implementation for MariaDBSource. -func (mds MariaDBSource) AsQuickBooksSource() (*QuickBooksSource, bool) { +// AsODataSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsODataSource() (*ODataSource, bool) { return nil, false } -// AsPrestoSource is the BasicCopySource implementation for MariaDBSource. -func (mds MariaDBSource) AsPrestoSource() (*PrestoSource, bool) { +// AsMicrosoftAccessSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { return nil, false } -// AsPhoenixSource is the BasicCopySource implementation for MariaDBSource. -func (mds MariaDBSource) AsPhoenixSource() (*PhoenixSource, bool) { +// AsRelationalSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsRelationalSource() (*RelationalSource, bool) { return nil, false } -// AsPaypalSource is the BasicCopySource implementation for MariaDBSource. -func (mds MariaDBSource) AsPaypalSource() (*PaypalSource, bool) { +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { return nil, false } -// AsMarketoSource is the BasicCopySource implementation for MariaDBSource. -func (mds MariaDBSource) AsMarketoSource() (*MarketoSource, bool) { +// AsDynamicsCrmSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { return nil, false } -// AsAzureMariaDBSource is the BasicCopySource implementation for MariaDBSource. -func (mds MariaDBSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { +// AsDynamicsSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsDynamicsSource() (*DynamicsSource, bool) { return nil, false } -// AsMariaDBSource is the BasicCopySource implementation for MariaDBSource. -func (mds MariaDBSource) AsMariaDBSource() (*MariaDBSource, bool) { - return &mds, true +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false } -// AsMagentoSource is the BasicCopySource implementation for MariaDBSource. -func (mds MariaDBSource) AsMagentoSource() (*MagentoSource, bool) { +// AsDocumentDbCollectionSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { return nil, false } -// AsJiraSource is the BasicCopySource implementation for MariaDBSource. -func (mds MariaDBSource) AsJiraSource() (*JiraSource, bool) { +// AsBlobSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsBlobSource() (*BlobSource, bool) { return nil, false } -// AsImpalaSource is the BasicCopySource implementation for MariaDBSource. -func (mds MariaDBSource) AsImpalaSource() (*ImpalaSource, bool) { +// AsAmazonRedshiftSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { return nil, false } -// AsHubspotSource is the BasicCopySource implementation for MariaDBSource. -func (mds MariaDBSource) AsHubspotSource() (*HubspotSource, bool) { +// AsGoogleAdWordsSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { return nil, false } -// AsHiveSource is the BasicCopySource implementation for MariaDBSource. -func (mds MariaDBSource) AsHiveSource() (*HiveSource, bool) { +// AsOracleServiceCloudSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { return nil, false } -// AsHBaseSource is the BasicCopySource implementation for MariaDBSource. -func (mds MariaDBSource) AsHBaseSource() (*HBaseSource, bool) { +// AsDynamicsAXSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { return nil, false } -// AsGreenplumSource is the BasicCopySource implementation for MariaDBSource. -func (mds MariaDBSource) AsGreenplumSource() (*GreenplumSource, bool) { +// AsResponsysSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsResponsysSource() (*ResponsysSource, bool) { return nil, false } -// AsGoogleBigQuerySource is the BasicCopySource implementation for MariaDBSource. -func (mds MariaDBSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { return nil, false } -// AsEloquaSource is the BasicCopySource implementation for MariaDBSource. -func (mds MariaDBSource) AsEloquaSource() (*EloquaSource, bool) { +// AsVerticaSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsVerticaSource() (*VerticaSource, bool) { return nil, false } -// AsDrillSource is the BasicCopySource implementation for MariaDBSource. -func (mds MariaDBSource) AsDrillSource() (*DrillSource, bool) { +// AsNetezzaSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsNetezzaSource() (*NetezzaSource, bool) { return nil, false } -// AsCouchbaseSource is the BasicCopySource implementation for MariaDBSource. -func (mds MariaDBSource) AsCouchbaseSource() (*CouchbaseSource, bool) { +// AsZohoSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsZohoSource() (*ZohoSource, bool) { return nil, false } -// AsConcurSource is the BasicCopySource implementation for MariaDBSource. -func (mds MariaDBSource) AsConcurSource() (*ConcurSource, bool) { +// AsXeroSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsXeroSource() (*XeroSource, bool) { return nil, false } -// AsAzurePostgreSQLSource is the BasicCopySource implementation for MariaDBSource. -func (mds MariaDBSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { +// AsSquareSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsSquareSource() (*SquareSource, bool) { return nil, false } -// AsAmazonMWSSource is the BasicCopySource implementation for MariaDBSource. -func (mds MariaDBSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { +// AsSparkSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsSparkSource() (*SparkSource, bool) { return nil, false } -// AsHTTPSource is the BasicCopySource implementation for MariaDBSource. -func (mds MariaDBSource) AsHTTPSource() (*HTTPSource, bool) { +// AsShopifySource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsShopifySource() (*ShopifySource, bool) { return nil, false } -// AsAzureBlobFSSource is the BasicCopySource implementation for MariaDBSource. -func (mds MariaDBSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { +// AsServiceNowSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsServiceNowSource() (*ServiceNowSource, bool) { return nil, false } -// AsAzureDataLakeStoreSource is the BasicCopySource implementation for MariaDBSource. -func (mds MariaDBSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { +// AsQuickBooksSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsQuickBooksSource() (*QuickBooksSource, bool) { return nil, false } -// AsOffice365Source is the BasicCopySource implementation for MariaDBSource. -func (mds MariaDBSource) AsOffice365Source() (*Office365Source, bool) { +// AsPrestoSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsPrestoSource() (*PrestoSource, bool) { return nil, false } -// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for MariaDBSource. -func (mds MariaDBSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { +// AsPhoenixSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsPhoenixSource() (*PhoenixSource, bool) { return nil, false } -// AsMongoDbV2Source is the BasicCopySource implementation for MariaDBSource. -func (mds MariaDBSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { +// AsPaypalSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsPaypalSource() (*PaypalSource, bool) { return nil, false } -// AsMongoDbSource is the BasicCopySource implementation for MariaDBSource. -func (mds MariaDBSource) AsMongoDbSource() (*MongoDbSource, bool) { +// AsMarketoSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsMarketoSource() (*MarketoSource, bool) { + return &ms, true +} + +// AsAzureMariaDBSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { return nil, false } -// AsCassandraSource is the BasicCopySource implementation for MariaDBSource. -func (mds MariaDBSource) AsCassandraSource() (*CassandraSource, bool) { +// AsMariaDBSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsMariaDBSource() (*MariaDBSource, bool) { return nil, false } -// AsWebSource is the BasicCopySource implementation for MariaDBSource. -func (mds MariaDBSource) AsWebSource() (*WebSource, bool) { +// AsMagentoSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsMagentoSource() (*MagentoSource, bool) { return nil, false } -// AsTeradataSource is the BasicCopySource implementation for MariaDBSource. -func (mds MariaDBSource) AsTeradataSource() (*TeradataSource, bool) { +// AsJiraSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsJiraSource() (*JiraSource, bool) { return nil, false } -// AsOracleSource is the BasicCopySource implementation for MariaDBSource. -func (mds MariaDBSource) AsOracleSource() (*OracleSource, bool) { +// AsImpalaSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsImpalaSource() (*ImpalaSource, bool) { return nil, false } -// AsAzureDataExplorerSource is the BasicCopySource implementation for MariaDBSource. -func (mds MariaDBSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { +// AsHubspotSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsHubspotSource() (*HubspotSource, bool) { return nil, false } -// AsAzureMySQLSource is the BasicCopySource implementation for MariaDBSource. -func (mds MariaDBSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { +// AsHiveSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsHiveSource() (*HiveSource, bool) { return nil, false } -// AsHdfsSource is the BasicCopySource implementation for MariaDBSource. -func (mds MariaDBSource) AsHdfsSource() (*HdfsSource, bool) { +// AsHBaseSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsHBaseSource() (*HBaseSource, bool) { return nil, false } -// AsFileSystemSource is the BasicCopySource implementation for MariaDBSource. -func (mds MariaDBSource) AsFileSystemSource() (*FileSystemSource, bool) { +// AsGreenplumSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsGreenplumSource() (*GreenplumSource, bool) { return nil, false } -// AsSQLDWSource is the BasicCopySource implementation for MariaDBSource. -func (mds MariaDBSource) AsSQLDWSource() (*SQLDWSource, bool) { +// AsGoogleBigQuerySource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { return nil, false } -// AsSQLMISource is the BasicCopySource implementation for MariaDBSource. -func (mds MariaDBSource) AsSQLMISource() (*SQLMISource, bool) { +// AsEloquaSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsEloquaSource() (*EloquaSource, bool) { return nil, false } -// AsAzureSQLSource is the BasicCopySource implementation for MariaDBSource. -func (mds MariaDBSource) AsAzureSQLSource() (*AzureSQLSource, bool) { +// AsDrillSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsDrillSource() (*DrillSource, bool) { return nil, false } -// AsSQLServerSource is the BasicCopySource implementation for MariaDBSource. -func (mds MariaDBSource) AsSQLServerSource() (*SQLServerSource, bool) { +// AsCouchbaseSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsCouchbaseSource() (*CouchbaseSource, bool) { return nil, false } -// AsSQLSource is the BasicCopySource implementation for MariaDBSource. -func (mds MariaDBSource) AsSQLSource() (*SQLSource, bool) { +// AsConcurSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsConcurSource() (*ConcurSource, bool) { return nil, false } -// AsRestSource is the BasicCopySource implementation for MariaDBSource. -func (mds MariaDBSource) AsRestSource() (*RestSource, bool) { +// AsAzurePostgreSQLSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { return nil, false } -// AsSapTableSource is the BasicCopySource implementation for MariaDBSource. -func (mds MariaDBSource) AsSapTableSource() (*SapTableSource, bool) { +// AsAmazonMWSSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { return nil, false } -// AsSapOpenHubSource is the BasicCopySource implementation for MariaDBSource. -func (mds MariaDBSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { +// AsCassandraSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsCassandraSource() (*CassandraSource, bool) { return nil, false } -// AsSapHanaSource is the BasicCopySource implementation for MariaDBSource. -func (mds MariaDBSource) AsSapHanaSource() (*SapHanaSource, bool) { +// AsTeradataSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsTeradataSource() (*TeradataSource, bool) { return nil, false } -// AsSapEccSource is the BasicCopySource implementation for MariaDBSource. -func (mds MariaDBSource) AsSapEccSource() (*SapEccSource, bool) { +// AsAzureMySQLSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { return nil, false } -// AsSapCloudForCustomerSource is the BasicCopySource implementation for MariaDBSource. -func (mds MariaDBSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { +// AsSQLDWSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsSQLDWSource() (*SQLDWSource, bool) { return nil, false } -// AsSalesforceServiceCloudSource is the BasicCopySource implementation for MariaDBSource. -func (mds MariaDBSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { +// AsSQLMISource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsSQLMISource() (*SQLMISource, bool) { return nil, false } -// AsSalesforceSource is the BasicCopySource implementation for MariaDBSource. -func (mds MariaDBSource) AsSalesforceSource() (*SalesforceSource, bool) { +// AsAzureSQLSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsAzureSQLSource() (*AzureSQLSource, bool) { return nil, false } -// AsODataSource is the BasicCopySource implementation for MariaDBSource. -func (mds MariaDBSource) AsODataSource() (*ODataSource, bool) { +// AsSQLServerSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsSQLServerSource() (*SQLServerSource, bool) { return nil, false } -// AsSapBwSource is the BasicCopySource implementation for MariaDBSource. -func (mds MariaDBSource) AsSapBwSource() (*SapBwSource, bool) { +// AsSQLSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsSQLSource() (*SQLSource, bool) { return nil, false } -// AsSybaseSource is the BasicCopySource implementation for MariaDBSource. -func (mds MariaDBSource) AsSybaseSource() (*SybaseSource, bool) { +// AsSapTableSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsSapTableSource() (*SapTableSource, bool) { return nil, false } -// AsPostgreSQLSource is the BasicCopySource implementation for MariaDBSource. -func (mds MariaDBSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { +// AsSapOpenHubSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { return nil, false } -// AsMySQLSource is the BasicCopySource implementation for MariaDBSource. -func (mds MariaDBSource) AsMySQLSource() (*MySQLSource, bool) { +// AsSapHanaSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsSapHanaSource() (*SapHanaSource, bool) { return nil, false } -// AsOdbcSource is the BasicCopySource implementation for MariaDBSource. -func (mds MariaDBSource) AsOdbcSource() (*OdbcSource, bool) { +// AsSapEccSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsSapEccSource() (*SapEccSource, bool) { return nil, false } -// AsDb2Source is the BasicCopySource implementation for MariaDBSource. -func (mds MariaDBSource) AsDb2Source() (*Db2Source, bool) { +// AsSapCloudForCustomerSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { return nil, false } -// AsMicrosoftAccessSource is the BasicCopySource implementation for MariaDBSource. -func (mds MariaDBSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { +// AsSalesforceSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsSalesforceSource() (*SalesforceSource, bool) { return nil, false } -// AsInformixSource is the BasicCopySource implementation for MariaDBSource. -func (mds MariaDBSource) AsInformixSource() (*InformixSource, bool) { +// AsSapBwSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsSapBwSource() (*SapBwSource, bool) { return nil, false } -// AsRelationalSource is the BasicCopySource implementation for MariaDBSource. -func (mds MariaDBSource) AsRelationalSource() (*RelationalSource, bool) { +// AsSybaseSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsSybaseSource() (*SybaseSource, bool) { return nil, false } -// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for MariaDBSource. -func (mds MariaDBSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { +// AsPostgreSQLSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { return nil, false } -// AsDynamicsCrmSource is the BasicCopySource implementation for MariaDBSource. -func (mds MariaDBSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { +// AsMySQLSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsMySQLSource() (*MySQLSource, bool) { return nil, false } -// AsDynamicsSource is the BasicCopySource implementation for MariaDBSource. -func (mds MariaDBSource) AsDynamicsSource() (*DynamicsSource, bool) { +// AsOdbcSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsOdbcSource() (*OdbcSource, bool) { return nil, false } -// AsDocumentDbCollectionSource is the BasicCopySource implementation for MariaDBSource. -func (mds MariaDBSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { +// AsDb2Source is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsDb2Source() (*Db2Source, bool) { return nil, false } -// AsBlobSource is the BasicCopySource implementation for MariaDBSource. -func (mds MariaDBSource) AsBlobSource() (*BlobSource, bool) { +// AsInformixSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsInformixSource() (*InformixSource, bool) { return nil, false } -// AsAzureTableSource is the BasicCopySource implementation for MariaDBSource. -func (mds MariaDBSource) AsAzureTableSource() (*AzureTableSource, bool) { +// AsAzureTableSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsAzureTableSource() (*AzureTableSource, bool) { return nil, false } -// AsBinarySource is the BasicCopySource implementation for MariaDBSource. -func (mds MariaDBSource) AsBinarySource() (*BinarySource, bool) { +// AsTabularSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsTabularSource() (*TabularSource, bool) { return nil, false } -// AsDelimitedTextSource is the BasicCopySource implementation for MariaDBSource. -func (mds MariaDBSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { +// AsBasicTabularSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &ms, true +} + +// AsBinarySource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsBinarySource() (*BinarySource, bool) { return nil, false } -// AsParquetSource is the BasicCopySource implementation for MariaDBSource. -func (mds MariaDBSource) AsParquetSource() (*ParquetSource, bool) { +// AsOrcSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsOrcSource() (*OrcSource, bool) { return nil, false } -// AsAvroSource is the BasicCopySource implementation for MariaDBSource. -func (mds MariaDBSource) AsAvroSource() (*AvroSource, bool) { +// AsJSONSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsJSONSource() (*JSONSource, bool) { return nil, false } -// AsCopySource is the BasicCopySource implementation for MariaDBSource. -func (mds MariaDBSource) AsCopySource() (*CopySource, bool) { +// AsDelimitedTextSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { return nil, false } -// AsBasicCopySource is the BasicCopySource implementation for MariaDBSource. -func (mds MariaDBSource) AsBasicCopySource() (BasicCopySource, bool) { - return &mds, true +// AsParquetSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsParquetSource() (*ParquetSource, bool) { + return nil, false } -// UnmarshalJSON is the custom unmarshaler for MariaDBSource struct. -func (mds *MariaDBSource) UnmarshalJSON(body []byte) error { +// AsAvroSource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for MarketoSource. +func (ms MarketoSource) AsBasicCopySource() (BasicCopySource, bool) { + return &ms, true +} + +// UnmarshalJSON is the custom unmarshaler for MarketoSource struct. +func (ms *MarketoSource) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -111632,7 +128819,16 @@ func (mds *MariaDBSource) UnmarshalJSON(body []byte) error { if err != nil { return err } - mds.Query = query + ms.Query = query + } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + ms.QueryTimeout = queryTimeout } default: if v != nil { @@ -111641,10 +128837,10 @@ func (mds *MariaDBSource) UnmarshalJSON(body []byte) error { if err != nil { return err } - if mds.AdditionalProperties == nil { - mds.AdditionalProperties = make(map[string]interface{}) + if ms.AdditionalProperties == nil { + ms.AdditionalProperties = make(map[string]interface{}) } - mds.AdditionalProperties[k] = additionalProperties + ms.AdditionalProperties[k] = additionalProperties } case "sourceRetryCount": if v != nil { @@ -111653,7 +128849,7 @@ func (mds *MariaDBSource) UnmarshalJSON(body []byte) error { if err != nil { return err } - mds.SourceRetryCount = sourceRetryCount + ms.SourceRetryCount = sourceRetryCount } case "sourceRetryWait": if v != nil { @@ -111662,7 +128858,7 @@ func (mds *MariaDBSource) UnmarshalJSON(body []byte) error { if err != nil { return err } - mds.SourceRetryWait = sourceRetryWait + ms.SourceRetryWait = sourceRetryWait } case "maxConcurrentConnections": if v != nil { @@ -111671,7 +128867,7 @@ func (mds *MariaDBSource) UnmarshalJSON(body []byte) error { if err != nil { return err } - mds.MaxConcurrentConnections = maxConcurrentConnections + ms.MaxConcurrentConnections = maxConcurrentConnections } case "type": if v != nil { @@ -111680,7 +128876,7 @@ func (mds *MariaDBSource) UnmarshalJSON(body []byte) error { if err != nil { return err } - mds.Type = typeVar + ms.Type = typeVar } } } @@ -111688,489 +128884,534 @@ func (mds *MariaDBSource) UnmarshalJSON(body []byte) error { return nil } -// MariaDBTableDataset mariaDB server dataset. -type MariaDBTableDataset struct { - // GenericDatasetTypeProperties - Properties specific to this dataset type. - *GenericDatasetTypeProperties `json:"typeProperties,omitempty"` +// MicrosoftAccessLinkedService microsoft Access linked service. +type MicrosoftAccessLinkedService struct { + // MicrosoftAccessLinkedServiceTypeProperties - Microsoft Access linked service properties. + *MicrosoftAccessLinkedServiceTypeProperties `json:"typeProperties,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` - // Description - Dataset description. + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. Description *string `json:"description,omitempty"` - // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. - Structure interface{} `json:"structure,omitempty"` - // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. - Schema interface{} `json:"schema,omitempty"` - // LinkedServiceName - Linked service reference. - LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` - // Parameters - Parameters for dataset. + // Parameters - Parameters for linked service. Parameters map[string]*ParameterSpecification `json:"parameters"` - // Annotations - List of tags that can be used for describing the Dataset. + // Annotations - List of tags that can be used for describing the linked service. Annotations *[]interface{} `json:"annotations,omitempty"` - // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. - Folder *DatasetFolder `json:"folder,omitempty"` - // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' - Type TypeBasicDataset `json:"type,omitempty"` + // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' + Type TypeBasicLinkedService `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for MariaDBTableDataset. -func (mdtd MariaDBTableDataset) MarshalJSON() ([]byte, error) { - mdtd.Type = TypeMariaDBTable +// MarshalJSON is the custom marshaler for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) MarshalJSON() ([]byte, error) { + mals.Type = TypeMicrosoftAccess objectMap := make(map[string]interface{}) - if mdtd.GenericDatasetTypeProperties != nil { - objectMap["typeProperties"] = mdtd.GenericDatasetTypeProperties - } - if mdtd.Description != nil { - objectMap["description"] = mdtd.Description - } - if mdtd.Structure != nil { - objectMap["structure"] = mdtd.Structure - } - if mdtd.Schema != nil { - objectMap["schema"] = mdtd.Schema + if mals.MicrosoftAccessLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = mals.MicrosoftAccessLinkedServiceTypeProperties } - if mdtd.LinkedServiceName != nil { - objectMap["linkedServiceName"] = mdtd.LinkedServiceName + if mals.ConnectVia != nil { + objectMap["connectVia"] = mals.ConnectVia } - if mdtd.Parameters != nil { - objectMap["parameters"] = mdtd.Parameters + if mals.Description != nil { + objectMap["description"] = mals.Description } - if mdtd.Annotations != nil { - objectMap["annotations"] = mdtd.Annotations + if mals.Parameters != nil { + objectMap["parameters"] = mals.Parameters } - if mdtd.Folder != nil { - objectMap["folder"] = mdtd.Folder + if mals.Annotations != nil { + objectMap["annotations"] = mals.Annotations } - if mdtd.Type != "" { - objectMap["type"] = mdtd.Type + if mals.Type != "" { + objectMap["type"] = mals.Type } - for k, v := range mdtd.AdditionalProperties { + for k, v := range mals.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for MariaDBTableDataset. -func (mdtd MariaDBTableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { return nil, false } -// AsAzureDataExplorerTableDataset is the BasicDataset implementation for MariaDBTableDataset. -func (mdtd MariaDBTableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { return nil, false } -// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for MariaDBTableDataset. -func (mdtd MariaDBTableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { +// AsSapTableLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { return nil, false } -// AsDynamicsAXResourceDataset is the BasicDataset implementation for MariaDBTableDataset. -func (mdtd MariaDBTableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { return nil, false } -// AsResponsysObjectDataset is the BasicDataset implementation for MariaDBTableDataset. -func (mdtd MariaDBTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { return nil, false } -// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for MariaDBTableDataset. -func (mdtd MariaDBTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { return nil, false } -// AsVerticaTableDataset is the BasicDataset implementation for MariaDBTableDataset. -func (mdtd MariaDBTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { +// AsResponsysLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { return nil, false } -// AsNetezzaTableDataset is the BasicDataset implementation for MariaDBTableDataset. -func (mdtd MariaDBTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { return nil, false } -// AsZohoObjectDataset is the BasicDataset implementation for MariaDBTableDataset. -func (mdtd MariaDBTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { return nil, false } -// AsXeroObjectDataset is the BasicDataset implementation for MariaDBTableDataset. -func (mdtd MariaDBTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { return nil, false } -// AsSquareObjectDataset is the BasicDataset implementation for MariaDBTableDataset. -func (mdtd MariaDBTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { return nil, false } -// AsSparkObjectDataset is the BasicDataset implementation for MariaDBTableDataset. -func (mdtd MariaDBTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { +// AsNetezzaLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { return nil, false } -// AsShopifyObjectDataset is the BasicDataset implementation for MariaDBTableDataset. -func (mdtd MariaDBTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { +// AsVerticaLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { return nil, false } -// AsServiceNowObjectDataset is the BasicDataset implementation for MariaDBTableDataset. -func (mdtd MariaDBTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { +// AsZohoLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { return nil, false } -// AsQuickBooksObjectDataset is the BasicDataset implementation for MariaDBTableDataset. -func (mdtd MariaDBTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { +// AsXeroLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { return nil, false } -// AsPrestoObjectDataset is the BasicDataset implementation for MariaDBTableDataset. -func (mdtd MariaDBTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { +// AsSquareLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { return nil, false } -// AsPhoenixObjectDataset is the BasicDataset implementation for MariaDBTableDataset. -func (mdtd MariaDBTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { +// AsSparkLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { return nil, false } -// AsPaypalObjectDataset is the BasicDataset implementation for MariaDBTableDataset. -func (mdtd MariaDBTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { +// AsShopifyLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { return nil, false } -// AsMarketoObjectDataset is the BasicDataset implementation for MariaDBTableDataset. -func (mdtd MariaDBTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { +// AsServiceNowLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { return nil, false } -// AsAzureMariaDBTableDataset is the BasicDataset implementation for MariaDBTableDataset. -func (mdtd MariaDBTableDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { +// AsQuickBooksLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { return nil, false } -// AsMariaDBTableDataset is the BasicDataset implementation for MariaDBTableDataset. -func (mdtd MariaDBTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { - return &mdtd, true +// AsPrestoLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { + return nil, false } -// AsMagentoObjectDataset is the BasicDataset implementation for MariaDBTableDataset. -func (mdtd MariaDBTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { +// AsPhoenixLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { return nil, false } -// AsJiraObjectDataset is the BasicDataset implementation for MariaDBTableDataset. -func (mdtd MariaDBTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { +// AsPaypalLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { return nil, false } -// AsImpalaObjectDataset is the BasicDataset implementation for MariaDBTableDataset. -func (mdtd MariaDBTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { +// AsMarketoLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { return nil, false } -// AsHubspotObjectDataset is the BasicDataset implementation for MariaDBTableDataset. -func (mdtd MariaDBTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { return nil, false } -// AsHiveObjectDataset is the BasicDataset implementation for MariaDBTableDataset. -func (mdtd MariaDBTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { +// AsMariaDBLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { return nil, false } -// AsHBaseObjectDataset is the BasicDataset implementation for MariaDBTableDataset. -func (mdtd MariaDBTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { +// AsMagentoLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { return nil, false } -// AsGreenplumTableDataset is the BasicDataset implementation for MariaDBTableDataset. -func (mdtd MariaDBTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { +// AsJiraLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { return nil, false } -// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for MariaDBTableDataset. -func (mdtd MariaDBTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { +// AsImpalaLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { return nil, false } -// AsEloquaObjectDataset is the BasicDataset implementation for MariaDBTableDataset. -func (mdtd MariaDBTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { +// AsHubspotLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { return nil, false } -// AsDrillTableDataset is the BasicDataset implementation for MariaDBTableDataset. -func (mdtd MariaDBTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { +// AsHiveLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { return nil, false } -// AsCouchbaseTableDataset is the BasicDataset implementation for MariaDBTableDataset. -func (mdtd MariaDBTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { +// AsHBaseLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { return nil, false } -// AsConcurObjectDataset is the BasicDataset implementation for MariaDBTableDataset. -func (mdtd MariaDBTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { +// AsGreenplumLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { return nil, false } -// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for MariaDBTableDataset. -func (mdtd MariaDBTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { return nil, false } -// AsAmazonMWSObjectDataset is the BasicDataset implementation for MariaDBTableDataset. -func (mdtd MariaDBTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { +// AsEloquaLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { return nil, false } -// AsHTTPDataset is the BasicDataset implementation for MariaDBTableDataset. -func (mdtd MariaDBTableDataset) AsHTTPDataset() (*HTTPDataset, bool) { +// AsDrillLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { return nil, false } -// AsAzureSearchIndexDataset is the BasicDataset implementation for MariaDBTableDataset. -func (mdtd MariaDBTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { +// AsCouchbaseLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { return nil, false } -// AsWebTableDataset is the BasicDataset implementation for MariaDBTableDataset. -func (mdtd MariaDBTableDataset) AsWebTableDataset() (*WebTableDataset, bool) { +// AsConcurLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { return nil, false } -// AsSapTableResourceDataset is the BasicDataset implementation for MariaDBTableDataset. -func (mdtd MariaDBTableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { return nil, false } -// AsRestResourceDataset is the BasicDataset implementation for MariaDBTableDataset. -func (mdtd MariaDBTableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { return nil, false } -// AsSQLServerTableDataset is the BasicDataset implementation for MariaDBTableDataset. -func (mdtd MariaDBTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { +// AsSapHanaLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { return nil, false } -// AsSapOpenHubTableDataset is the BasicDataset implementation for MariaDBTableDataset. -func (mdtd MariaDBTableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { +// AsSapBWLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { return nil, false } -// AsSapHanaTableDataset is the BasicDataset implementation for MariaDBTableDataset. -func (mdtd MariaDBTableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { +// AsSftpServerLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { return nil, false } -// AsSapEccResourceDataset is the BasicDataset implementation for MariaDBTableDataset. -func (mdtd MariaDBTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { +// AsFtpServerLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { return nil, false } -// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for MariaDBTableDataset. -func (mdtd MariaDBTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { +// AsHTTPLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { return nil, false } -// AsSapBwCubeDataset is the BasicDataset implementation for MariaDBTableDataset. -func (mdtd MariaDBTableDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { +// AsAzureSearchLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { return nil, false } -// AsSybaseTableDataset is the BasicDataset implementation for MariaDBTableDataset. -func (mdtd MariaDBTableDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { return nil, false } -// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for MariaDBTableDataset. -func (mdtd MariaDBTableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { return nil, false } -// AsSalesforceObjectDataset is the BasicDataset implementation for MariaDBTableDataset. -func (mdtd MariaDBTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { +// AsAmazonS3LinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { return nil, false } -// AsMicrosoftAccessTableDataset is the BasicDataset implementation for MariaDBTableDataset. -func (mdtd MariaDBTableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { +// AsRestServiceLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { return nil, false } -// AsPostgreSQLTableDataset is the BasicDataset implementation for MariaDBTableDataset. -func (mdtd MariaDBTableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { return nil, false } -// AsMySQLTableDataset is the BasicDataset implementation for MariaDBTableDataset. -func (mdtd MariaDBTableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { +// AsSapEccLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { return nil, false } -// AsOdbcTableDataset is the BasicDataset implementation for MariaDBTableDataset. -func (mdtd MariaDBTableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { return nil, false } -// AsInformixTableDataset is the BasicDataset implementation for MariaDBTableDataset. -func (mdtd MariaDBTableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { return nil, false } -// AsRelationalTableDataset is the BasicDataset implementation for MariaDBTableDataset. -func (mdtd MariaDBTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { +// AsSalesforceLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { return nil, false } -// AsAzureMySQLTableDataset is the BasicDataset implementation for MariaDBTableDataset. -func (mdtd MariaDBTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { +// AsOffice365LinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { return nil, false } -// AsTeradataTableDataset is the BasicDataset implementation for MariaDBTableDataset. -func (mdtd MariaDBTableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { return nil, false } -// AsOracleTableDataset is the BasicDataset implementation for MariaDBTableDataset. -func (mdtd MariaDBTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { return nil, false } -// AsODataResourceDataset is the BasicDataset implementation for MariaDBTableDataset. -func (mdtd MariaDBTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { return nil, false } -// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for MariaDBTableDataset. -func (mdtd MariaDBTableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { return nil, false } -// AsMongoDbV2CollectionDataset is the BasicDataset implementation for MariaDBTableDataset. -func (mdtd MariaDBTableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { +// AsMongoDbLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { return nil, false } -// AsMongoDbCollectionDataset is the BasicDataset implementation for MariaDBTableDataset. -func (mdtd MariaDBTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { +// AsCassandraLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { return nil, false } -// AsFileShareDataset is the BasicDataset implementation for MariaDBTableDataset. -func (mdtd MariaDBTableDataset) AsFileShareDataset() (*FileShareDataset, bool) { +// AsWebLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { return nil, false } -// AsOffice365Dataset is the BasicDataset implementation for MariaDBTableDataset. -func (mdtd MariaDBTableDataset) AsOffice365Dataset() (*Office365Dataset, bool) { +// AsODataLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { return nil, false } -// AsAzureBlobFSDataset is the BasicDataset implementation for MariaDBTableDataset. -func (mdtd MariaDBTableDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) { +// AsHdfsLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { return nil, false } -// AsAzureDataLakeStoreDataset is the BasicDataset implementation for MariaDBTableDataset. -func (mdtd MariaDBTableDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) { +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { + return &mals, true +} + +// AsInformixLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { return nil, false } -// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for MariaDBTableDataset. -func (mdtd MariaDBTableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { +// AsOdbcLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { return nil, false } -// AsDynamicsCrmEntityDataset is the BasicDataset implementation for MariaDBTableDataset. -func (mdtd MariaDBTableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { return nil, false } -// AsDynamicsEntityDataset is the BasicDataset implementation for MariaDBTableDataset. -func (mdtd MariaDBTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { +// AsAzureMLLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { return nil, false } -// AsDocumentDbCollectionDataset is the BasicDataset implementation for MariaDBTableDataset. -func (mdtd MariaDBTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { +// AsTeradataLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { return nil, false } -// AsCustomDataset is the BasicDataset implementation for MariaDBTableDataset. -func (mdtd MariaDBTableDataset) AsCustomDataset() (*CustomDataset, bool) { +// AsDb2LinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { return nil, false } -// AsCassandraTableDataset is the BasicDataset implementation for MariaDBTableDataset. -func (mdtd MariaDBTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { +// AsSybaseLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { return nil, false } -// AsAzureSQLDWTableDataset is the BasicDataset implementation for MariaDBTableDataset. -func (mdtd MariaDBTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { return nil, false } -// AsAzureSQLMITableDataset is the BasicDataset implementation for MariaDBTableDataset. -func (mdtd MariaDBTableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { +// AsMySQLLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { return nil, false } -// AsAzureSQLTableDataset is the BasicDataset implementation for MariaDBTableDataset. -func (mdtd MariaDBTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { return nil, false } -// AsAzureTableDataset is the BasicDataset implementation for MariaDBTableDataset. -func (mdtd MariaDBTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { +// AsOracleLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { return nil, false } -// AsAzureBlobDataset is the BasicDataset implementation for MariaDBTableDataset. -func (mdtd MariaDBTableDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) { +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { return nil, false } -// AsBinaryDataset is the BasicDataset implementation for MariaDBTableDataset. -func (mdtd MariaDBTableDataset) AsBinaryDataset() (*BinaryDataset, bool) { +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { return nil, false } -// AsDelimitedTextDataset is the BasicDataset implementation for MariaDBTableDataset. -func (mdtd MariaDBTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { +// AsFileServerLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { return nil, false } -// AsParquetDataset is the BasicDataset implementation for MariaDBTableDataset. -func (mdtd MariaDBTableDataset) AsParquetDataset() (*ParquetDataset, bool) { +// AsHDInsightLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { return nil, false } -// AsAvroDataset is the BasicDataset implementation for MariaDBTableDataset. -func (mdtd MariaDBTableDataset) AsAvroDataset() (*AvroDataset, bool) { +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { return nil, false } -// AsAmazonS3Dataset is the BasicDataset implementation for MariaDBTableDataset. -func (mdtd MariaDBTableDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) { +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { return nil, false } -// AsDataset is the BasicDataset implementation for MariaDBTableDataset. -func (mdtd MariaDBTableDataset) AsDataset() (*Dataset, bool) { +// AsDynamicsLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { return nil, false } -// AsBasicDataset is the BasicDataset implementation for MariaDBTableDataset. -func (mdtd MariaDBTableDataset) AsBasicDataset() (BasicDataset, bool) { - return &mdtd, true +// AsCosmosDbLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false } -// UnmarshalJSON is the custom unmarshaler for MariaDBTableDataset struct. -func (mdtd *MariaDBTableDataset) UnmarshalJSON(body []byte) error { +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. +func (mals MicrosoftAccessLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &mals, true +} + +// UnmarshalJSON is the custom unmarshaler for MicrosoftAccessLinkedService struct. +func (mals *MicrosoftAccessLinkedService) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -112180,12 +129421,12 @@ func (mdtd *MariaDBTableDataset) UnmarshalJSON(body []byte) error { switch k { case "typeProperties": if v != nil { - var genericDatasetTypeProperties GenericDatasetTypeProperties - err = json.Unmarshal(*v, &genericDatasetTypeProperties) + var microsoftAccessLinkedServiceTypeProperties MicrosoftAccessLinkedServiceTypeProperties + err = json.Unmarshal(*v, µsoftAccessLinkedServiceTypeProperties) if err != nil { return err } - mdtd.GenericDatasetTypeProperties = &genericDatasetTypeProperties + mals.MicrosoftAccessLinkedServiceTypeProperties = µsoftAccessLinkedServiceTypeProperties } default: if v != nil { @@ -112194,10 +129435,19 @@ func (mdtd *MariaDBTableDataset) UnmarshalJSON(body []byte) error { if err != nil { return err } - if mdtd.AdditionalProperties == nil { - mdtd.AdditionalProperties = make(map[string]interface{}) + if mals.AdditionalProperties == nil { + mals.AdditionalProperties = make(map[string]interface{}) } - mdtd.AdditionalProperties[k] = additionalProperties + mals.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + mals.ConnectVia = &connectVia } case "description": if v != nil { @@ -112206,70 +129456,117 @@ func (mdtd *MariaDBTableDataset) UnmarshalJSON(body []byte) error { if err != nil { return err } - mdtd.Description = &description + mals.Description = &description } - case "structure": + case "parameters": if v != nil { - var structure interface{} - err = json.Unmarshal(*v, &structure) + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) if err != nil { return err } - mdtd.Structure = structure + mals.Parameters = parameters } - case "schema": + case "annotations": if v != nil { - var schema interface{} - err = json.Unmarshal(*v, &schema) + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) if err != nil { return err } - mdtd.Schema = schema + mals.Annotations = &annotations } - case "linkedServiceName": + case "type": if v != nil { - var linkedServiceName LinkedServiceReference - err = json.Unmarshal(*v, &linkedServiceName) + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - mdtd.LinkedServiceName = &linkedServiceName + mals.Type = typeVar } - case "parameters": + } + } + + return nil +} + +// MicrosoftAccessLinkedServiceTypeProperties microsoft Access linked service properties. +type MicrosoftAccessLinkedServiceTypeProperties struct { + // ConnectionString - The non-access credential portion of the connection string as well as an optional encrypted credential. Type: string, SecureString or AzureKeyVaultSecretReference. + ConnectionString interface{} `json:"connectionString,omitempty"` + // AuthenticationType - Type of authentication used to connect to the Microsoft Access as ODBC data store. Possible values are: Anonymous and Basic. Type: string (or Expression with resultType string). + AuthenticationType interface{} `json:"authenticationType,omitempty"` + // Credential - The access credential portion of the connection string specified in driver-specific property-value format. + Credential BasicSecretBase `json:"credential,omitempty"` + // UserName - User name for Basic authentication. Type: string (or Expression with resultType string). + UserName interface{} `json:"userName,omitempty"` + // Password - Password for Basic authentication. + Password BasicSecretBase `json:"password,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for MicrosoftAccessLinkedServiceTypeProperties struct. +func (malstp *MicrosoftAccessLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "connectionString": if v != nil { - var parameters map[string]*ParameterSpecification - err = json.Unmarshal(*v, ¶meters) + var connectionString interface{} + err = json.Unmarshal(*v, &connectionString) if err != nil { return err } - mdtd.Parameters = parameters + malstp.ConnectionString = connectionString } - case "annotations": + case "authenticationType": if v != nil { - var annotations []interface{} - err = json.Unmarshal(*v, &annotations) + var authenticationType interface{} + err = json.Unmarshal(*v, &authenticationType) if err != nil { return err } - mdtd.Annotations = &annotations + malstp.AuthenticationType = authenticationType } - case "folder": + case "credential": if v != nil { - var folder DatasetFolder - err = json.Unmarshal(*v, &folder) + credential, err := unmarshalBasicSecretBase(*v) if err != nil { return err } - mdtd.Folder = &folder + malstp.Credential = credential } - case "type": + case "userName": if v != nil { - var typeVar TypeBasicDataset - err = json.Unmarshal(*v, &typeVar) + var userName interface{} + err = json.Unmarshal(*v, &userName) if err != nil { return err } - mdtd.Type = typeVar + malstp.UserName = userName + } + case "password": + if v != nil { + password, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + malstp.Password = password + } + case "encryptedCredential": + if v != nil { + var encryptedCredential interface{} + err = json.Unmarshal(*v, &encryptedCredential) + if err != nil { + return err + } + malstp.EncryptedCredential = encryptedCredential } } } @@ -112277,519 +129574,239 @@ func (mdtd *MariaDBTableDataset) UnmarshalJSON(body []byte) error { return nil } -// MarketoLinkedService marketo server linked service. -type MarketoLinkedService struct { - // MarketoLinkedServiceTypeProperties - Marketo server linked service properties. - *MarketoLinkedServiceTypeProperties `json:"typeProperties,omitempty"` +// MicrosoftAccessSink a copy activity Microsoft Access sink. +type MicrosoftAccessSink struct { + // PreCopyScript - A query to execute before starting the copy. Type: string (or Expression with resultType string). + PreCopyScript interface{} `json:"preCopyScript,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` - // ConnectVia - The integration runtime reference. - ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` - // Description - Linked service description. - Description *string `json:"description,omitempty"` - // Parameters - Parameters for linked service. - Parameters map[string]*ParameterSpecification `json:"parameters"` - // Annotations - List of tags that can be used for describing the linked service. - Annotations *[]interface{} `json:"annotations,omitempty"` - // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' - Type TypeBasicLinkedService `json:"type,omitempty"` + // WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0. + WriteBatchSize interface{} `json:"writeBatchSize,omitempty"` + // WriteBatchTimeout - Write batch timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"` + // SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer). + SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"` + // SinkRetryWait - Sink retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeCosmosDbSQLAPISink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAvroSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzureMySQLSink', 'TypeAzurePostgreSQLSink', 'TypeOrcSink', 'TypeJSONSink', 'TypeDelimitedTextSink' + Type TypeBasicCopySink `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for MarketoLinkedService. -func (mls MarketoLinkedService) MarshalJSON() ([]byte, error) { - mls.Type = TypeMarketo +// MarshalJSON is the custom marshaler for MicrosoftAccessSink. +func (mas MicrosoftAccessSink) MarshalJSON() ([]byte, error) { + mas.Type = TypeMicrosoftAccessSink objectMap := make(map[string]interface{}) - if mls.MarketoLinkedServiceTypeProperties != nil { - objectMap["typeProperties"] = mls.MarketoLinkedServiceTypeProperties + if mas.PreCopyScript != nil { + objectMap["preCopyScript"] = mas.PreCopyScript } - if mls.ConnectVia != nil { - objectMap["connectVia"] = mls.ConnectVia + if mas.WriteBatchSize != nil { + objectMap["writeBatchSize"] = mas.WriteBatchSize } - if mls.Description != nil { - objectMap["description"] = mls.Description + if mas.WriteBatchTimeout != nil { + objectMap["writeBatchTimeout"] = mas.WriteBatchTimeout } - if mls.Parameters != nil { - objectMap["parameters"] = mls.Parameters + if mas.SinkRetryCount != nil { + objectMap["sinkRetryCount"] = mas.SinkRetryCount } - if mls.Annotations != nil { - objectMap["annotations"] = mls.Annotations + if mas.SinkRetryWait != nil { + objectMap["sinkRetryWait"] = mas.SinkRetryWait } - if mls.Type != "" { - objectMap["type"] = mls.Type + if mas.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = mas.MaxConcurrentConnections } - for k, v := range mls.AdditionalProperties { + if mas.Type != "" { + objectMap["type"] = mas.Type + } + for k, v := range mas.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsAzureFunctionLinkedService is the BasicLinkedService implementation for MarketoLinkedService. -func (mls MarketoLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { - return nil, false -} - -// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for MarketoLinkedService. -func (mls MarketoLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { - return nil, false -} - -// AsSapTableLinkedService is the BasicLinkedService implementation for MarketoLinkedService. -func (mls MarketoLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { - return nil, false -} - -// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for MarketoLinkedService. -func (mls MarketoLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { - return nil, false -} - -// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for MarketoLinkedService. -func (mls MarketoLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { - return nil, false -} - -// AsDynamicsAXLinkedService is the BasicLinkedService implementation for MarketoLinkedService. -func (mls MarketoLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { - return nil, false -} - -// AsResponsysLinkedService is the BasicLinkedService implementation for MarketoLinkedService. -func (mls MarketoLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { - return nil, false -} - -// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for MarketoLinkedService. -func (mls MarketoLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { - return nil, false -} - -// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for MarketoLinkedService. -func (mls MarketoLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { - return nil, false -} - -// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for MarketoLinkedService. -func (mls MarketoLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { - return nil, false -} - -// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for MarketoLinkedService. -func (mls MarketoLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { - return nil, false -} - -// AsNetezzaLinkedService is the BasicLinkedService implementation for MarketoLinkedService. -func (mls MarketoLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { - return nil, false -} - -// AsVerticaLinkedService is the BasicLinkedService implementation for MarketoLinkedService. -func (mls MarketoLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { - return nil, false -} - -// AsZohoLinkedService is the BasicLinkedService implementation for MarketoLinkedService. -func (mls MarketoLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { - return nil, false -} - -// AsXeroLinkedService is the BasicLinkedService implementation for MarketoLinkedService. -func (mls MarketoLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { - return nil, false -} - -// AsSquareLinkedService is the BasicLinkedService implementation for MarketoLinkedService. -func (mls MarketoLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { - return nil, false -} - -// AsSparkLinkedService is the BasicLinkedService implementation for MarketoLinkedService. -func (mls MarketoLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { - return nil, false -} - -// AsShopifyLinkedService is the BasicLinkedService implementation for MarketoLinkedService. -func (mls MarketoLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { - return nil, false -} - -// AsServiceNowLinkedService is the BasicLinkedService implementation for MarketoLinkedService. -func (mls MarketoLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { - return nil, false -} - -// AsQuickBooksLinkedService is the BasicLinkedService implementation for MarketoLinkedService. -func (mls MarketoLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { - return nil, false -} - -// AsPrestoLinkedService is the BasicLinkedService implementation for MarketoLinkedService. -func (mls MarketoLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { - return nil, false -} - -// AsPhoenixLinkedService is the BasicLinkedService implementation for MarketoLinkedService. -func (mls MarketoLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { - return nil, false -} - -// AsPaypalLinkedService is the BasicLinkedService implementation for MarketoLinkedService. -func (mls MarketoLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { - return nil, false -} - -// AsMarketoLinkedService is the BasicLinkedService implementation for MarketoLinkedService. -func (mls MarketoLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { - return &mls, true -} - -// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for MarketoLinkedService. -func (mls MarketoLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { - return nil, false -} - -// AsMariaDBLinkedService is the BasicLinkedService implementation for MarketoLinkedService. -func (mls MarketoLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { - return nil, false -} - -// AsMagentoLinkedService is the BasicLinkedService implementation for MarketoLinkedService. -func (mls MarketoLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { - return nil, false -} - -// AsJiraLinkedService is the BasicLinkedService implementation for MarketoLinkedService. -func (mls MarketoLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { - return nil, false -} - -// AsImpalaLinkedService is the BasicLinkedService implementation for MarketoLinkedService. -func (mls MarketoLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { - return nil, false -} - -// AsHubspotLinkedService is the BasicLinkedService implementation for MarketoLinkedService. -func (mls MarketoLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { - return nil, false -} - -// AsHiveLinkedService is the BasicLinkedService implementation for MarketoLinkedService. -func (mls MarketoLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { - return nil, false -} - -// AsHBaseLinkedService is the BasicLinkedService implementation for MarketoLinkedService. -func (mls MarketoLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { - return nil, false -} - -// AsGreenplumLinkedService is the BasicLinkedService implementation for MarketoLinkedService. -func (mls MarketoLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { - return nil, false -} - -// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for MarketoLinkedService. -func (mls MarketoLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { - return nil, false -} - -// AsEloquaLinkedService is the BasicLinkedService implementation for MarketoLinkedService. -func (mls MarketoLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { - return nil, false -} - -// AsDrillLinkedService is the BasicLinkedService implementation for MarketoLinkedService. -func (mls MarketoLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { - return nil, false -} - -// AsCouchbaseLinkedService is the BasicLinkedService implementation for MarketoLinkedService. -func (mls MarketoLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { - return nil, false -} - -// AsConcurLinkedService is the BasicLinkedService implementation for MarketoLinkedService. -func (mls MarketoLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { - return nil, false -} - -// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for MarketoLinkedService. -func (mls MarketoLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { - return nil, false -} - -// AsAmazonMWSLinkedService is the BasicLinkedService implementation for MarketoLinkedService. -func (mls MarketoLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { - return nil, false -} - -// AsSapHanaLinkedService is the BasicLinkedService implementation for MarketoLinkedService. -func (mls MarketoLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { - return nil, false -} - -// AsSapBWLinkedService is the BasicLinkedService implementation for MarketoLinkedService. -func (mls MarketoLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { - return nil, false -} - -// AsSftpServerLinkedService is the BasicLinkedService implementation for MarketoLinkedService. -func (mls MarketoLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { - return nil, false -} - -// AsFtpServerLinkedService is the BasicLinkedService implementation for MarketoLinkedService. -func (mls MarketoLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { - return nil, false -} - -// AsHTTPLinkedService is the BasicLinkedService implementation for MarketoLinkedService. -func (mls MarketoLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { - return nil, false -} - -// AsAzureSearchLinkedService is the BasicLinkedService implementation for MarketoLinkedService. -func (mls MarketoLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { - return nil, false -} - -// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for MarketoLinkedService. -func (mls MarketoLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { - return nil, false -} - -// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for MarketoLinkedService. -func (mls MarketoLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { - return nil, false -} - -// AsAmazonS3LinkedService is the BasicLinkedService implementation for MarketoLinkedService. -func (mls MarketoLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { - return nil, false -} - -// AsRestServiceLinkedService is the BasicLinkedService implementation for MarketoLinkedService. -func (mls MarketoLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { - return nil, false -} - -// AsSapOpenHubLinkedService is the BasicLinkedService implementation for MarketoLinkedService. -func (mls MarketoLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { - return nil, false -} - -// AsSapEccLinkedService is the BasicLinkedService implementation for MarketoLinkedService. -func (mls MarketoLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { - return nil, false -} - -// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for MarketoLinkedService. -func (mls MarketoLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { - return nil, false -} - -// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for MarketoLinkedService. -func (mls MarketoLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { - return nil, false -} - -// AsSalesforceLinkedService is the BasicLinkedService implementation for MarketoLinkedService. -func (mls MarketoLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { - return nil, false -} - -// AsOffice365LinkedService is the BasicLinkedService implementation for MarketoLinkedService. -func (mls MarketoLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { - return nil, false -} - -// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for MarketoLinkedService. -func (mls MarketoLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { - return nil, false -} - -// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for MarketoLinkedService. -func (mls MarketoLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { +// AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for MicrosoftAccessSink. +func (mas MicrosoftAccessSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) { return nil, false } -// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for MarketoLinkedService. -func (mls MarketoLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { +// AsSalesforceServiceCloudSink is the BasicCopySink implementation for MicrosoftAccessSink. +func (mas MicrosoftAccessSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) { return nil, false } -// AsMongoDbV2LinkedService is the BasicLinkedService implementation for MarketoLinkedService. -func (mls MarketoLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { +// AsSalesforceSink is the BasicCopySink implementation for MicrosoftAccessSink. +func (mas MicrosoftAccessSink) AsSalesforceSink() (*SalesforceSink, bool) { return nil, false } -// AsMongoDbLinkedService is the BasicLinkedService implementation for MarketoLinkedService. -func (mls MarketoLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { +// AsAzureDataExplorerSink is the BasicCopySink implementation for MicrosoftAccessSink. +func (mas MicrosoftAccessSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) { return nil, false } -// AsCassandraLinkedService is the BasicLinkedService implementation for MarketoLinkedService. -func (mls MarketoLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { +// AsCommonDataServiceForAppsSink is the BasicCopySink implementation for MicrosoftAccessSink. +func (mas MicrosoftAccessSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) { return nil, false } -// AsWebLinkedService is the BasicLinkedService implementation for MarketoLinkedService. -func (mls MarketoLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { +// AsDynamicsCrmSink is the BasicCopySink implementation for MicrosoftAccessSink. +func (mas MicrosoftAccessSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) { return nil, false } -// AsODataLinkedService is the BasicLinkedService implementation for MarketoLinkedService. -func (mls MarketoLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { +// AsDynamicsSink is the BasicCopySink implementation for MicrosoftAccessSink. +func (mas MicrosoftAccessSink) AsDynamicsSink() (*DynamicsSink, bool) { return nil, false } -// AsHdfsLinkedService is the BasicLinkedService implementation for MarketoLinkedService. -func (mls MarketoLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { - return nil, false +// AsMicrosoftAccessSink is the BasicCopySink implementation for MicrosoftAccessSink. +func (mas MicrosoftAccessSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) { + return &mas, true } -// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for MarketoLinkedService. -func (mls MarketoLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { +// AsInformixSink is the BasicCopySink implementation for MicrosoftAccessSink. +func (mas MicrosoftAccessSink) AsInformixSink() (*InformixSink, bool) { return nil, false } -// AsInformixLinkedService is the BasicLinkedService implementation for MarketoLinkedService. -func (mls MarketoLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { +// AsOdbcSink is the BasicCopySink implementation for MicrosoftAccessSink. +func (mas MicrosoftAccessSink) AsOdbcSink() (*OdbcSink, bool) { return nil, false } -// AsOdbcLinkedService is the BasicLinkedService implementation for MarketoLinkedService. -func (mls MarketoLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { +// AsAzureSearchIndexSink is the BasicCopySink implementation for MicrosoftAccessSink. +func (mas MicrosoftAccessSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) { return nil, false } -// AsAzureMLLinkedService is the BasicLinkedService implementation for MarketoLinkedService. -func (mls MarketoLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { +// AsAzureBlobFSSink is the BasicCopySink implementation for MicrosoftAccessSink. +func (mas MicrosoftAccessSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) { return nil, false } -// AsTeradataLinkedService is the BasicLinkedService implementation for MarketoLinkedService. -func (mls MarketoLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { +// AsAzureDataLakeStoreSink is the BasicCopySink implementation for MicrosoftAccessSink. +func (mas MicrosoftAccessSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) { return nil, false } -// AsDb2LinkedService is the BasicLinkedService implementation for MarketoLinkedService. -func (mls MarketoLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { +// AsOracleSink is the BasicCopySink implementation for MicrosoftAccessSink. +func (mas MicrosoftAccessSink) AsOracleSink() (*OracleSink, bool) { return nil, false } -// AsSybaseLinkedService is the BasicLinkedService implementation for MarketoLinkedService. -func (mls MarketoLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { +// AsSQLDWSink is the BasicCopySink implementation for MicrosoftAccessSink. +func (mas MicrosoftAccessSink) AsSQLDWSink() (*SQLDWSink, bool) { return nil, false } -// AsPostgreSQLLinkedService is the BasicLinkedService implementation for MarketoLinkedService. -func (mls MarketoLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { +// AsSQLMISink is the BasicCopySink implementation for MicrosoftAccessSink. +func (mas MicrosoftAccessSink) AsSQLMISink() (*SQLMISink, bool) { return nil, false } -// AsMySQLLinkedService is the BasicLinkedService implementation for MarketoLinkedService. -func (mls MarketoLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { +// AsAzureSQLSink is the BasicCopySink implementation for MicrosoftAccessSink. +func (mas MicrosoftAccessSink) AsAzureSQLSink() (*AzureSQLSink, bool) { return nil, false } -// AsAzureMySQLLinkedService is the BasicLinkedService implementation for MarketoLinkedService. -func (mls MarketoLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { +// AsSQLServerSink is the BasicCopySink implementation for MicrosoftAccessSink. +func (mas MicrosoftAccessSink) AsSQLServerSink() (*SQLServerSink, bool) { return nil, false } -// AsOracleLinkedService is the BasicLinkedService implementation for MarketoLinkedService. -func (mls MarketoLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { +// AsSQLSink is the BasicCopySink implementation for MicrosoftAccessSink. +func (mas MicrosoftAccessSink) AsSQLSink() (*SQLSink, bool) { return nil, false } -// AsFileServerLinkedService is the BasicLinkedService implementation for MarketoLinkedService. -func (mls MarketoLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { +// AsCosmosDbSQLAPISink is the BasicCopySink implementation for MicrosoftAccessSink. +func (mas MicrosoftAccessSink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) { return nil, false } -// AsHDInsightLinkedService is the BasicLinkedService implementation for MarketoLinkedService. -func (mls MarketoLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { +// AsDocumentDbCollectionSink is the BasicCopySink implementation for MicrosoftAccessSink. +func (mas MicrosoftAccessSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) { return nil, false } -// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for MarketoLinkedService. -func (mls MarketoLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { +// AsFileSystemSink is the BasicCopySink implementation for MicrosoftAccessSink. +func (mas MicrosoftAccessSink) AsFileSystemSink() (*FileSystemSink, bool) { return nil, false } -// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for MarketoLinkedService. -func (mls MarketoLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { +// AsBlobSink is the BasicCopySink implementation for MicrosoftAccessSink. +func (mas MicrosoftAccessSink) AsBlobSink() (*BlobSink, bool) { return nil, false } -// AsDynamicsLinkedService is the BasicLinkedService implementation for MarketoLinkedService. -func (mls MarketoLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { +// AsBinarySink is the BasicCopySink implementation for MicrosoftAccessSink. +func (mas MicrosoftAccessSink) AsBinarySink() (*BinarySink, bool) { return nil, false } -// AsCosmosDbLinkedService is the BasicLinkedService implementation for MarketoLinkedService. -func (mls MarketoLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { +// AsParquetSink is the BasicCopySink implementation for MicrosoftAccessSink. +func (mas MicrosoftAccessSink) AsParquetSink() (*ParquetSink, bool) { return nil, false } -// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for MarketoLinkedService. -func (mls MarketoLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { +// AsAvroSink is the BasicCopySink implementation for MicrosoftAccessSink. +func (mas MicrosoftAccessSink) AsAvroSink() (*AvroSink, bool) { return nil, false } -// AsAzureBatchLinkedService is the BasicLinkedService implementation for MarketoLinkedService. -func (mls MarketoLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { +// AsAzureTableSink is the BasicCopySink implementation for MicrosoftAccessSink. +func (mas MicrosoftAccessSink) AsAzureTableSink() (*AzureTableSink, bool) { return nil, false } -// AsAzureSQLMILinkedService is the BasicLinkedService implementation for MarketoLinkedService. -func (mls MarketoLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { +// AsAzureQueueSink is the BasicCopySink implementation for MicrosoftAccessSink. +func (mas MicrosoftAccessSink) AsAzureQueueSink() (*AzureQueueSink, bool) { return nil, false } -// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for MarketoLinkedService. -func (mls MarketoLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { +// AsSapCloudForCustomerSink is the BasicCopySink implementation for MicrosoftAccessSink. +func (mas MicrosoftAccessSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) { return nil, false } -// AsSQLServerLinkedService is the BasicLinkedService implementation for MarketoLinkedService. -func (mls MarketoLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { +// AsAzureMySQLSink is the BasicCopySink implementation for MicrosoftAccessSink. +func (mas MicrosoftAccessSink) AsAzureMySQLSink() (*AzureMySQLSink, bool) { return nil, false } -// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for MarketoLinkedService. -func (mls MarketoLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { +// AsAzurePostgreSQLSink is the BasicCopySink implementation for MicrosoftAccessSink. +func (mas MicrosoftAccessSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) { return nil, false } -// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for MarketoLinkedService. -func (mls MarketoLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { +// AsOrcSink is the BasicCopySink implementation for MicrosoftAccessSink. +func (mas MicrosoftAccessSink) AsOrcSink() (*OrcSink, bool) { return nil, false } -// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for MarketoLinkedService. -func (mls MarketoLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { +// AsJSONSink is the BasicCopySink implementation for MicrosoftAccessSink. +func (mas MicrosoftAccessSink) AsJSONSink() (*JSONSink, bool) { return nil, false } -// AsAzureStorageLinkedService is the BasicLinkedService implementation for MarketoLinkedService. -func (mls MarketoLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { +// AsDelimitedTextSink is the BasicCopySink implementation for MicrosoftAccessSink. +func (mas MicrosoftAccessSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) { return nil, false } -// AsLinkedService is the BasicLinkedService implementation for MarketoLinkedService. -func (mls MarketoLinkedService) AsLinkedService() (*LinkedService, bool) { +// AsCopySink is the BasicCopySink implementation for MicrosoftAccessSink. +func (mas MicrosoftAccessSink) AsCopySink() (*CopySink, bool) { return nil, false } -// AsBasicLinkedService is the BasicLinkedService implementation for MarketoLinkedService. -func (mls MarketoLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { - return &mls, true +// AsBasicCopySink is the BasicCopySink implementation for MicrosoftAccessSink. +func (mas MicrosoftAccessSink) AsBasicCopySink() (BasicCopySink, bool) { + return &mas, true } -// UnmarshalJSON is the custom unmarshaler for MarketoLinkedService struct. -func (mls *MarketoLinkedService) UnmarshalJSON(body []byte) error { +// UnmarshalJSON is the custom unmarshaler for MicrosoftAccessSink struct. +func (mas *MicrosoftAccessSink) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -112797,14 +129814,14 @@ func (mls *MarketoLinkedService) UnmarshalJSON(body []byte) error { } for k, v := range m { switch k { - case "typeProperties": + case "preCopyScript": if v != nil { - var marketoLinkedServiceTypeProperties MarketoLinkedServiceTypeProperties - err = json.Unmarshal(*v, &marketoLinkedServiceTypeProperties) + var preCopyScript interface{} + err = json.Unmarshal(*v, &preCopyScript) if err != nil { return err } - mls.MarketoLinkedServiceTypeProperties = &marketoLinkedServiceTypeProperties + mas.PreCopyScript = preCopyScript } default: if v != nil { @@ -112813,150 +129830,64 @@ func (mls *MarketoLinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - if mls.AdditionalProperties == nil { - mls.AdditionalProperties = make(map[string]interface{}) - } - mls.AdditionalProperties[k] = additionalProperties - } - case "connectVia": - if v != nil { - var connectVia IntegrationRuntimeReference - err = json.Unmarshal(*v, &connectVia) - if err != nil { - return err - } - mls.ConnectVia = &connectVia - } - case "description": - if v != nil { - var description string - err = json.Unmarshal(*v, &description) - if err != nil { - return err - } - mls.Description = &description - } - case "parameters": - if v != nil { - var parameters map[string]*ParameterSpecification - err = json.Unmarshal(*v, ¶meters) - if err != nil { - return err - } - mls.Parameters = parameters - } - case "annotations": - if v != nil { - var annotations []interface{} - err = json.Unmarshal(*v, &annotations) - if err != nil { - return err - } - mls.Annotations = &annotations - } - case "type": - if v != nil { - var typeVar TypeBasicLinkedService - err = json.Unmarshal(*v, &typeVar) - if err != nil { - return err - } - mls.Type = typeVar - } - } - } - - return nil -} - -// MarketoLinkedServiceTypeProperties marketo server linked service properties. -type MarketoLinkedServiceTypeProperties struct { - // Endpoint - The endpoint of the Marketo server. (i.e. 123-ABC-321.mktorest.com) - Endpoint interface{} `json:"endpoint,omitempty"` - // ClientID - The client Id of your Marketo service. - ClientID interface{} `json:"clientId,omitempty"` - // ClientSecret - The client secret of your Marketo service. - ClientSecret BasicSecretBase `json:"clientSecret,omitempty"` - // UseEncryptedEndpoints - Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true. - UseEncryptedEndpoints interface{} `json:"useEncryptedEndpoints,omitempty"` - // UseHostVerification - Specifies whether to require the host name in the server's certificate to match the host name of the server when connecting over SSL. The default value is true. - UseHostVerification interface{} `json:"useHostVerification,omitempty"` - // UsePeerVerification - Specifies whether to verify the identity of the server when connecting over SSL. The default value is true. - UsePeerVerification interface{} `json:"usePeerVerification,omitempty"` - // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). - EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` -} - -// UnmarshalJSON is the custom unmarshaler for MarketoLinkedServiceTypeProperties struct. -func (mlstp *MarketoLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - case "endpoint": - if v != nil { - var endpoint interface{} - err = json.Unmarshal(*v, &endpoint) - if err != nil { - return err + if mas.AdditionalProperties == nil { + mas.AdditionalProperties = make(map[string]interface{}) } - mlstp.Endpoint = endpoint + mas.AdditionalProperties[k] = additionalProperties } - case "clientId": + case "writeBatchSize": if v != nil { - var clientID interface{} - err = json.Unmarshal(*v, &clientID) + var writeBatchSize interface{} + err = json.Unmarshal(*v, &writeBatchSize) if err != nil { return err } - mlstp.ClientID = clientID + mas.WriteBatchSize = writeBatchSize } - case "clientSecret": + case "writeBatchTimeout": if v != nil { - clientSecret, err := unmarshalBasicSecretBase(*v) + var writeBatchTimeout interface{} + err = json.Unmarshal(*v, &writeBatchTimeout) if err != nil { return err } - mlstp.ClientSecret = clientSecret + mas.WriteBatchTimeout = writeBatchTimeout } - case "useEncryptedEndpoints": + case "sinkRetryCount": if v != nil { - var useEncryptedEndpoints interface{} - err = json.Unmarshal(*v, &useEncryptedEndpoints) + var sinkRetryCount interface{} + err = json.Unmarshal(*v, &sinkRetryCount) if err != nil { return err } - mlstp.UseEncryptedEndpoints = useEncryptedEndpoints + mas.SinkRetryCount = sinkRetryCount } - case "useHostVerification": + case "sinkRetryWait": if v != nil { - var useHostVerification interface{} - err = json.Unmarshal(*v, &useHostVerification) + var sinkRetryWait interface{} + err = json.Unmarshal(*v, &sinkRetryWait) if err != nil { return err } - mlstp.UseHostVerification = useHostVerification + mas.SinkRetryWait = sinkRetryWait } - case "usePeerVerification": + case "maxConcurrentConnections": if v != nil { - var usePeerVerification interface{} - err = json.Unmarshal(*v, &usePeerVerification) + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) if err != nil { return err } - mlstp.UsePeerVerification = usePeerVerification + mas.MaxConcurrentConnections = maxConcurrentConnections } - case "encryptedCredential": + case "type": if v != nil { - var encryptedCredential interface{} - err = json.Unmarshal(*v, &encryptedCredential) + var typeVar TypeBasicCopySink + err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - mlstp.EncryptedCredential = encryptedCredential + mas.Type = typeVar } } } @@ -112964,489 +129895,499 @@ func (mlstp *MarketoLinkedServiceTypeProperties) UnmarshalJSON(body []byte) erro return nil } -// MarketoObjectDataset marketo server dataset. -type MarketoObjectDataset struct { - // GenericDatasetTypeProperties - Properties specific to this dataset type. - *GenericDatasetTypeProperties `json:"typeProperties,omitempty"` +// MicrosoftAccessSource a copy activity source for Microsoft Access. +type MicrosoftAccessSource struct { + // Query - Database query. Type: string (or Expression with resultType string). + Query interface{} `json:"query,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` - // Description - Dataset description. - Description *string `json:"description,omitempty"` - // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. - Structure interface{} `json:"structure,omitempty"` - // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. - Schema interface{} `json:"schema,omitempty"` - // LinkedServiceName - Linked service reference. - LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` - // Parameters - Parameters for dataset. - Parameters map[string]*ParameterSpecification `json:"parameters"` - // Annotations - List of tags that can be used for describing the Dataset. - Annotations *[]interface{} `json:"annotations,omitempty"` - // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. - Folder *DatasetFolder `json:"folder,omitempty"` - // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' - Type TypeBasicDataset `json:"type,omitempty"` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' + Type TypeBasicCopySource `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for MarketoObjectDataset. -func (mod MarketoObjectDataset) MarshalJSON() ([]byte, error) { - mod.Type = TypeMarketoObject +// MarshalJSON is the custom marshaler for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) MarshalJSON() ([]byte, error) { + mas.Type = TypeMicrosoftAccessSource objectMap := make(map[string]interface{}) - if mod.GenericDatasetTypeProperties != nil { - objectMap["typeProperties"] = mod.GenericDatasetTypeProperties - } - if mod.Description != nil { - objectMap["description"] = mod.Description - } - if mod.Structure != nil { - objectMap["structure"] = mod.Structure - } - if mod.Schema != nil { - objectMap["schema"] = mod.Schema - } - if mod.LinkedServiceName != nil { - objectMap["linkedServiceName"] = mod.LinkedServiceName + if mas.Query != nil { + objectMap["query"] = mas.Query } - if mod.Parameters != nil { - objectMap["parameters"] = mod.Parameters + if mas.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = mas.SourceRetryCount } - if mod.Annotations != nil { - objectMap["annotations"] = mod.Annotations + if mas.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = mas.SourceRetryWait } - if mod.Folder != nil { - objectMap["folder"] = mod.Folder + if mas.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = mas.MaxConcurrentConnections } - if mod.Type != "" { - objectMap["type"] = mod.Type + if mas.Type != "" { + objectMap["type"] = mas.Type } - for k, v := range mod.AdditionalProperties { + for k, v := range mas.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for MarketoObjectDataset. -func (mod MarketoObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { +// AsHTTPSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsHTTPSource() (*HTTPSource, bool) { return nil, false } -// AsAzureDataExplorerTableDataset is the BasicDataset implementation for MarketoObjectDataset. -func (mod MarketoObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { +// AsAzureBlobFSSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { return nil, false } -// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for MarketoObjectDataset. -func (mod MarketoObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { return nil, false } -// AsDynamicsAXResourceDataset is the BasicDataset implementation for MarketoObjectDataset. -func (mod MarketoObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { +// AsOffice365Source is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsOffice365Source() (*Office365Source, bool) { return nil, false } -// AsResponsysObjectDataset is the BasicDataset implementation for MarketoObjectDataset. -func (mod MarketoObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { return nil, false } -// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for MarketoObjectDataset. -func (mod MarketoObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { +// AsMongoDbV2Source is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { return nil, false } -// AsVerticaTableDataset is the BasicDataset implementation for MarketoObjectDataset. -func (mod MarketoObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { +// AsMongoDbSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsMongoDbSource() (*MongoDbSource, bool) { return nil, false } -// AsNetezzaTableDataset is the BasicDataset implementation for MarketoObjectDataset. -func (mod MarketoObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { +// AsWebSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsWebSource() (*WebSource, bool) { return nil, false } -// AsZohoObjectDataset is the BasicDataset implementation for MarketoObjectDataset. -func (mod MarketoObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { +// AsOracleSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsOracleSource() (*OracleSource, bool) { return nil, false } -// AsXeroObjectDataset is the BasicDataset implementation for MarketoObjectDataset. -func (mod MarketoObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { +// AsAzureDataExplorerSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { return nil, false } -// AsSquareObjectDataset is the BasicDataset implementation for MarketoObjectDataset. -func (mod MarketoObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { +// AsHdfsSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsHdfsSource() (*HdfsSource, bool) { return nil, false } -// AsSparkObjectDataset is the BasicDataset implementation for MarketoObjectDataset. -func (mod MarketoObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { +// AsFileSystemSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsFileSystemSource() (*FileSystemSource, bool) { return nil, false } -// AsShopifyObjectDataset is the BasicDataset implementation for MarketoObjectDataset. -func (mod MarketoObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { +// AsRestSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsRestSource() (*RestSource, bool) { return nil, false } -// AsServiceNowObjectDataset is the BasicDataset implementation for MarketoObjectDataset. -func (mod MarketoObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { return nil, false } -// AsQuickBooksObjectDataset is the BasicDataset implementation for MarketoObjectDataset. -func (mod MarketoObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { +// AsODataSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsODataSource() (*ODataSource, bool) { return nil, false } -// AsPrestoObjectDataset is the BasicDataset implementation for MarketoObjectDataset. -func (mod MarketoObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { +// AsMicrosoftAccessSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return &mas, true +} + +// AsRelationalSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsRelationalSource() (*RelationalSource, bool) { return nil, false } -// AsPhoenixObjectDataset is the BasicDataset implementation for MarketoObjectDataset. -func (mod MarketoObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { return nil, false } -// AsPaypalObjectDataset is the BasicDataset implementation for MarketoObjectDataset. -func (mod MarketoObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { +// AsDynamicsCrmSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { return nil, false } -// AsMarketoObjectDataset is the BasicDataset implementation for MarketoObjectDataset. -func (mod MarketoObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { - return &mod, true +// AsDynamicsSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false } -// AsAzureMariaDBTableDataset is the BasicDataset implementation for MarketoObjectDataset. -func (mod MarketoObjectDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { return nil, false } -// AsMariaDBTableDataset is the BasicDataset implementation for MarketoObjectDataset. -func (mod MarketoObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { +// AsDocumentDbCollectionSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { return nil, false } -// AsMagentoObjectDataset is the BasicDataset implementation for MarketoObjectDataset. -func (mod MarketoObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { +// AsBlobSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsBlobSource() (*BlobSource, bool) { return nil, false } -// AsJiraObjectDataset is the BasicDataset implementation for MarketoObjectDataset. -func (mod MarketoObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { +// AsAmazonRedshiftSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { return nil, false } -// AsImpalaObjectDataset is the BasicDataset implementation for MarketoObjectDataset. -func (mod MarketoObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { +// AsGoogleAdWordsSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { return nil, false } -// AsHubspotObjectDataset is the BasicDataset implementation for MarketoObjectDataset. -func (mod MarketoObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { +// AsOracleServiceCloudSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { return nil, false } -// AsHiveObjectDataset is the BasicDataset implementation for MarketoObjectDataset. -func (mod MarketoObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { +// AsDynamicsAXSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { return nil, false } -// AsHBaseObjectDataset is the BasicDataset implementation for MarketoObjectDataset. -func (mod MarketoObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { +// AsResponsysSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsResponsysSource() (*ResponsysSource, bool) { return nil, false } -// AsGreenplumTableDataset is the BasicDataset implementation for MarketoObjectDataset. -func (mod MarketoObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { return nil, false } -// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for MarketoObjectDataset. -func (mod MarketoObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { +// AsVerticaSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsVerticaSource() (*VerticaSource, bool) { return nil, false } -// AsEloquaObjectDataset is the BasicDataset implementation for MarketoObjectDataset. -func (mod MarketoObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { +// AsNetezzaSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsNetezzaSource() (*NetezzaSource, bool) { return nil, false } -// AsDrillTableDataset is the BasicDataset implementation for MarketoObjectDataset. -func (mod MarketoObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { +// AsZohoSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsZohoSource() (*ZohoSource, bool) { return nil, false } -// AsCouchbaseTableDataset is the BasicDataset implementation for MarketoObjectDataset. -func (mod MarketoObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { +// AsXeroSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsXeroSource() (*XeroSource, bool) { return nil, false } -// AsConcurObjectDataset is the BasicDataset implementation for MarketoObjectDataset. -func (mod MarketoObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { +// AsSquareSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsSquareSource() (*SquareSource, bool) { return nil, false } -// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for MarketoObjectDataset. -func (mod MarketoObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { +// AsSparkSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsSparkSource() (*SparkSource, bool) { return nil, false } -// AsAmazonMWSObjectDataset is the BasicDataset implementation for MarketoObjectDataset. -func (mod MarketoObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { +// AsShopifySource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsShopifySource() (*ShopifySource, bool) { return nil, false } -// AsHTTPDataset is the BasicDataset implementation for MarketoObjectDataset. -func (mod MarketoObjectDataset) AsHTTPDataset() (*HTTPDataset, bool) { +// AsServiceNowSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsServiceNowSource() (*ServiceNowSource, bool) { return nil, false } -// AsAzureSearchIndexDataset is the BasicDataset implementation for MarketoObjectDataset. -func (mod MarketoObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { +// AsQuickBooksSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsQuickBooksSource() (*QuickBooksSource, bool) { return nil, false } -// AsWebTableDataset is the BasicDataset implementation for MarketoObjectDataset. -func (mod MarketoObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) { +// AsPrestoSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsPrestoSource() (*PrestoSource, bool) { return nil, false } -// AsSapTableResourceDataset is the BasicDataset implementation for MarketoObjectDataset. -func (mod MarketoObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { +// AsPhoenixSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsPhoenixSource() (*PhoenixSource, bool) { return nil, false } -// AsRestResourceDataset is the BasicDataset implementation for MarketoObjectDataset. -func (mod MarketoObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { +// AsPaypalSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsPaypalSource() (*PaypalSource, bool) { return nil, false } -// AsSQLServerTableDataset is the BasicDataset implementation for MarketoObjectDataset. -func (mod MarketoObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { +// AsMarketoSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsMarketoSource() (*MarketoSource, bool) { return nil, false } -// AsSapOpenHubTableDataset is the BasicDataset implementation for MarketoObjectDataset. -func (mod MarketoObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { +// AsAzureMariaDBSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { return nil, false } -// AsSapHanaTableDataset is the BasicDataset implementation for MarketoObjectDataset. -func (mod MarketoObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { +// AsMariaDBSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsMariaDBSource() (*MariaDBSource, bool) { return nil, false } -// AsSapEccResourceDataset is the BasicDataset implementation for MarketoObjectDataset. -func (mod MarketoObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { +// AsMagentoSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsMagentoSource() (*MagentoSource, bool) { return nil, false } -// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for MarketoObjectDataset. -func (mod MarketoObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { +// AsJiraSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsJiraSource() (*JiraSource, bool) { return nil, false } -// AsSapBwCubeDataset is the BasicDataset implementation for MarketoObjectDataset. -func (mod MarketoObjectDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { +// AsImpalaSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsImpalaSource() (*ImpalaSource, bool) { return nil, false } -// AsSybaseTableDataset is the BasicDataset implementation for MarketoObjectDataset. -func (mod MarketoObjectDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { +// AsHubspotSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsHubspotSource() (*HubspotSource, bool) { return nil, false } -// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for MarketoObjectDataset. -func (mod MarketoObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { +// AsHiveSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsHiveSource() (*HiveSource, bool) { return nil, false } -// AsSalesforceObjectDataset is the BasicDataset implementation for MarketoObjectDataset. -func (mod MarketoObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { +// AsHBaseSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsHBaseSource() (*HBaseSource, bool) { return nil, false } -// AsMicrosoftAccessTableDataset is the BasicDataset implementation for MarketoObjectDataset. -func (mod MarketoObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { +// AsGreenplumSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsGreenplumSource() (*GreenplumSource, bool) { return nil, false } -// AsPostgreSQLTableDataset is the BasicDataset implementation for MarketoObjectDataset. -func (mod MarketoObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { +// AsGoogleBigQuerySource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { return nil, false } -// AsMySQLTableDataset is the BasicDataset implementation for MarketoObjectDataset. -func (mod MarketoObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { +// AsEloquaSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsEloquaSource() (*EloquaSource, bool) { return nil, false } -// AsOdbcTableDataset is the BasicDataset implementation for MarketoObjectDataset. -func (mod MarketoObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { +// AsDrillSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsDrillSource() (*DrillSource, bool) { return nil, false } -// AsInformixTableDataset is the BasicDataset implementation for MarketoObjectDataset. -func (mod MarketoObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { +// AsCouchbaseSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsCouchbaseSource() (*CouchbaseSource, bool) { return nil, false } -// AsRelationalTableDataset is the BasicDataset implementation for MarketoObjectDataset. -func (mod MarketoObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { +// AsConcurSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsConcurSource() (*ConcurSource, bool) { return nil, false } -// AsAzureMySQLTableDataset is the BasicDataset implementation for MarketoObjectDataset. -func (mod MarketoObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { +// AsAzurePostgreSQLSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { return nil, false } -// AsTeradataTableDataset is the BasicDataset implementation for MarketoObjectDataset. -func (mod MarketoObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { +// AsAmazonMWSSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { return nil, false } -// AsOracleTableDataset is the BasicDataset implementation for MarketoObjectDataset. -func (mod MarketoObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { +// AsCassandraSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsCassandraSource() (*CassandraSource, bool) { return nil, false } -// AsODataResourceDataset is the BasicDataset implementation for MarketoObjectDataset. -func (mod MarketoObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { +// AsTeradataSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsTeradataSource() (*TeradataSource, bool) { return nil, false } -// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for MarketoObjectDataset. -func (mod MarketoObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { +// AsAzureMySQLSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { return nil, false } -// AsMongoDbV2CollectionDataset is the BasicDataset implementation for MarketoObjectDataset. -func (mod MarketoObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { +// AsSQLDWSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsSQLDWSource() (*SQLDWSource, bool) { return nil, false } -// AsMongoDbCollectionDataset is the BasicDataset implementation for MarketoObjectDataset. -func (mod MarketoObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { +// AsSQLMISource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsSQLMISource() (*SQLMISource, bool) { return nil, false } -// AsFileShareDataset is the BasicDataset implementation for MarketoObjectDataset. -func (mod MarketoObjectDataset) AsFileShareDataset() (*FileShareDataset, bool) { +// AsAzureSQLSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsAzureSQLSource() (*AzureSQLSource, bool) { return nil, false } -// AsOffice365Dataset is the BasicDataset implementation for MarketoObjectDataset. -func (mod MarketoObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) { +// AsSQLServerSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsSQLServerSource() (*SQLServerSource, bool) { return nil, false } -// AsAzureBlobFSDataset is the BasicDataset implementation for MarketoObjectDataset. -func (mod MarketoObjectDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) { +// AsSQLSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsSQLSource() (*SQLSource, bool) { return nil, false } -// AsAzureDataLakeStoreDataset is the BasicDataset implementation for MarketoObjectDataset. -func (mod MarketoObjectDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) { +// AsSapTableSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsSapTableSource() (*SapTableSource, bool) { return nil, false } -// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for MarketoObjectDataset. -func (mod MarketoObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { +// AsSapOpenHubSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { return nil, false } -// AsDynamicsCrmEntityDataset is the BasicDataset implementation for MarketoObjectDataset. -func (mod MarketoObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { +// AsSapHanaSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsSapHanaSource() (*SapHanaSource, bool) { return nil, false } -// AsDynamicsEntityDataset is the BasicDataset implementation for MarketoObjectDataset. -func (mod MarketoObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { +// AsSapEccSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsSapEccSource() (*SapEccSource, bool) { return nil, false } -// AsDocumentDbCollectionDataset is the BasicDataset implementation for MarketoObjectDataset. -func (mod MarketoObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { +// AsSapCloudForCustomerSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { return nil, false } -// AsCustomDataset is the BasicDataset implementation for MarketoObjectDataset. -func (mod MarketoObjectDataset) AsCustomDataset() (*CustomDataset, bool) { +// AsSalesforceSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsSalesforceSource() (*SalesforceSource, bool) { return nil, false } -// AsCassandraTableDataset is the BasicDataset implementation for MarketoObjectDataset. -func (mod MarketoObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { +// AsSapBwSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsSapBwSource() (*SapBwSource, bool) { return nil, false } -// AsAzureSQLDWTableDataset is the BasicDataset implementation for MarketoObjectDataset. -func (mod MarketoObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { +// AsSybaseSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsSybaseSource() (*SybaseSource, bool) { return nil, false } -// AsAzureSQLMITableDataset is the BasicDataset implementation for MarketoObjectDataset. -func (mod MarketoObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { +// AsPostgreSQLSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { return nil, false } -// AsAzureSQLTableDataset is the BasicDataset implementation for MarketoObjectDataset. -func (mod MarketoObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { +// AsMySQLSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsMySQLSource() (*MySQLSource, bool) { return nil, false } -// AsAzureTableDataset is the BasicDataset implementation for MarketoObjectDataset. -func (mod MarketoObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { +// AsOdbcSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsOdbcSource() (*OdbcSource, bool) { return nil, false } -// AsAzureBlobDataset is the BasicDataset implementation for MarketoObjectDataset. -func (mod MarketoObjectDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) { +// AsDb2Source is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsDb2Source() (*Db2Source, bool) { return nil, false } -// AsBinaryDataset is the BasicDataset implementation for MarketoObjectDataset. -func (mod MarketoObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) { +// AsInformixSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsInformixSource() (*InformixSource, bool) { return nil, false } -// AsDelimitedTextDataset is the BasicDataset implementation for MarketoObjectDataset. -func (mod MarketoObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { +// AsAzureTableSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsAzureTableSource() (*AzureTableSource, bool) { return nil, false } -// AsParquetDataset is the BasicDataset implementation for MarketoObjectDataset. -func (mod MarketoObjectDataset) AsParquetDataset() (*ParquetDataset, bool) { +// AsTabularSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsTabularSource() (*TabularSource, bool) { return nil, false } -// AsAvroDataset is the BasicDataset implementation for MarketoObjectDataset. -func (mod MarketoObjectDataset) AsAvroDataset() (*AvroDataset, bool) { +// AsBasicTabularSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsBasicTabularSource() (BasicTabularSource, bool) { return nil, false } -// AsAmazonS3Dataset is the BasicDataset implementation for MarketoObjectDataset. -func (mod MarketoObjectDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) { +// AsBinarySource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsBinarySource() (*BinarySource, bool) { return nil, false } -// AsDataset is the BasicDataset implementation for MarketoObjectDataset. -func (mod MarketoObjectDataset) AsDataset() (*Dataset, bool) { +// AsOrcSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsOrcSource() (*OrcSource, bool) { return nil, false } -// AsBasicDataset is the BasicDataset implementation for MarketoObjectDataset. -func (mod MarketoObjectDataset) AsBasicDataset() (BasicDataset, bool) { - return &mod, true +// AsJSONSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsJSONSource() (*JSONSource, bool) { + return nil, false } -// UnmarshalJSON is the custom unmarshaler for MarketoObjectDataset struct. -func (mod *MarketoObjectDataset) UnmarshalJSON(body []byte) error { +// AsDelimitedTextSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false +} + +// AsParquetSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for MicrosoftAccessSource. +func (mas MicrosoftAccessSource) AsBasicCopySource() (BasicCopySource, bool) { + return &mas, true +} + +// UnmarshalJSON is the custom unmarshaler for MicrosoftAccessSource struct. +func (mas *MicrosoftAccessSource) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -113454,14 +130395,14 @@ func (mod *MarketoObjectDataset) UnmarshalJSON(body []byte) error { } for k, v := range m { switch k { - case "typeProperties": + case "query": if v != nil { - var genericDatasetTypeProperties GenericDatasetTypeProperties - err = json.Unmarshal(*v, &genericDatasetTypeProperties) + var query interface{} + err = json.Unmarshal(*v, &query) if err != nil { return err } - mod.GenericDatasetTypeProperties = &genericDatasetTypeProperties + mas.Query = query } default: if v != nil { @@ -113470,82 +130411,46 @@ func (mod *MarketoObjectDataset) UnmarshalJSON(body []byte) error { if err != nil { return err } - if mod.AdditionalProperties == nil { - mod.AdditionalProperties = make(map[string]interface{}) - } - mod.AdditionalProperties[k] = additionalProperties - } - case "description": - if v != nil { - var description string - err = json.Unmarshal(*v, &description) - if err != nil { - return err - } - mod.Description = &description - } - case "structure": - if v != nil { - var structure interface{} - err = json.Unmarshal(*v, &structure) - if err != nil { - return err - } - mod.Structure = structure - } - case "schema": - if v != nil { - var schema interface{} - err = json.Unmarshal(*v, &schema) - if err != nil { - return err - } - mod.Schema = schema - } - case "linkedServiceName": - if v != nil { - var linkedServiceName LinkedServiceReference - err = json.Unmarshal(*v, &linkedServiceName) - if err != nil { - return err + if mas.AdditionalProperties == nil { + mas.AdditionalProperties = make(map[string]interface{}) } - mod.LinkedServiceName = &linkedServiceName + mas.AdditionalProperties[k] = additionalProperties } - case "parameters": + case "sourceRetryCount": if v != nil { - var parameters map[string]*ParameterSpecification - err = json.Unmarshal(*v, ¶meters) + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) if err != nil { return err } - mod.Parameters = parameters + mas.SourceRetryCount = sourceRetryCount } - case "annotations": + case "sourceRetryWait": if v != nil { - var annotations []interface{} - err = json.Unmarshal(*v, &annotations) + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) if err != nil { return err } - mod.Annotations = &annotations + mas.SourceRetryWait = sourceRetryWait } - case "folder": + case "maxConcurrentConnections": if v != nil { - var folder DatasetFolder - err = json.Unmarshal(*v, &folder) + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) if err != nil { return err } - mod.Folder = &folder + mas.MaxConcurrentConnections = maxConcurrentConnections } case "type": if v != nil { - var typeVar TypeBasicDataset + var typeVar TypeBasicCopySource err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - mod.Type = typeVar + mas.Type = typeVar } } } @@ -113553,474 +130458,514 @@ func (mod *MarketoObjectDataset) UnmarshalJSON(body []byte) error { return nil } -// MarketoSource a copy activity Marketo server source. -type MarketoSource struct { - // Query - A query to retrieve data from source. Type: string (or Expression with resultType string). - Query interface{} `json:"query,omitempty"` +// MicrosoftAccessTableDataset the Microsoft Access table dataset. +type MicrosoftAccessTableDataset struct { + // MicrosoftAccessTableDatasetTypeProperties - Microsoft Access table dataset properties. + *MicrosoftAccessTableDatasetTypeProperties `json:"typeProperties,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` - // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). - SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` - // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). - SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` - // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). - MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' - Type TypeBasicCopySource `json:"type,omitempty"` + // Description - Dataset description. + Description *string `json:"description,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' + Type TypeBasicDataset `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for MarketoSource. -func (ms MarketoSource) MarshalJSON() ([]byte, error) { - ms.Type = TypeMarketoSource +// MarshalJSON is the custom marshaler for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) MarshalJSON() ([]byte, error) { + matd.Type = TypeMicrosoftAccessTable objectMap := make(map[string]interface{}) - if ms.Query != nil { - objectMap["query"] = ms.Query + if matd.MicrosoftAccessTableDatasetTypeProperties != nil { + objectMap["typeProperties"] = matd.MicrosoftAccessTableDatasetTypeProperties } - if ms.SourceRetryCount != nil { - objectMap["sourceRetryCount"] = ms.SourceRetryCount + if matd.Description != nil { + objectMap["description"] = matd.Description } - if ms.SourceRetryWait != nil { - objectMap["sourceRetryWait"] = ms.SourceRetryWait + if matd.Structure != nil { + objectMap["structure"] = matd.Structure } - if ms.MaxConcurrentConnections != nil { - objectMap["maxConcurrentConnections"] = ms.MaxConcurrentConnections + if matd.Schema != nil { + objectMap["schema"] = matd.Schema } - if ms.Type != "" { - objectMap["type"] = ms.Type + if matd.LinkedServiceName != nil { + objectMap["linkedServiceName"] = matd.LinkedServiceName } - for k, v := range ms.AdditionalProperties { + if matd.Parameters != nil { + objectMap["parameters"] = matd.Parameters + } + if matd.Annotations != nil { + objectMap["annotations"] = matd.Annotations + } + if matd.Folder != nil { + objectMap["folder"] = matd.Folder + } + if matd.Type != "" { + objectMap["type"] = matd.Type + } + for k, v := range matd.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsAmazonRedshiftSource is the BasicCopySource implementation for MarketoSource. -func (ms MarketoSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { return nil, false } -// AsGoogleAdWordsSource is the BasicCopySource implementation for MarketoSource. -func (ms MarketoSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { return nil, false } -// AsOracleServiceCloudSource is the BasicCopySource implementation for MarketoSource. -func (ms MarketoSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { return nil, false } -// AsDynamicsAXSource is the BasicCopySource implementation for MarketoSource. -func (ms MarketoSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { +// AsDynamicsAXResourceDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { return nil, false } -// AsResponsysSource is the BasicCopySource implementation for MarketoSource. -func (ms MarketoSource) AsResponsysSource() (*ResponsysSource, bool) { +// AsResponsysObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { return nil, false } -// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for MarketoSource. -func (ms MarketoSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { return nil, false } -// AsVerticaSource is the BasicCopySource implementation for MarketoSource. -func (ms MarketoSource) AsVerticaSource() (*VerticaSource, bool) { +// AsVerticaTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { return nil, false } -// AsNetezzaSource is the BasicCopySource implementation for MarketoSource. -func (ms MarketoSource) AsNetezzaSource() (*NetezzaSource, bool) { +// AsNetezzaTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { return nil, false } -// AsZohoSource is the BasicCopySource implementation for MarketoSource. -func (ms MarketoSource) AsZohoSource() (*ZohoSource, bool) { +// AsZohoObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { return nil, false } -// AsXeroSource is the BasicCopySource implementation for MarketoSource. -func (ms MarketoSource) AsXeroSource() (*XeroSource, bool) { +// AsXeroObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { return nil, false } -// AsSquareSource is the BasicCopySource implementation for MarketoSource. -func (ms MarketoSource) AsSquareSource() (*SquareSource, bool) { +// AsSquareObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { return nil, false } -// AsSparkSource is the BasicCopySource implementation for MarketoSource. -func (ms MarketoSource) AsSparkSource() (*SparkSource, bool) { +// AsSparkObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { return nil, false } -// AsShopifySource is the BasicCopySource implementation for MarketoSource. -func (ms MarketoSource) AsShopifySource() (*ShopifySource, bool) { +// AsShopifyObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { return nil, false } -// AsServiceNowSource is the BasicCopySource implementation for MarketoSource. -func (ms MarketoSource) AsServiceNowSource() (*ServiceNowSource, bool) { +// AsServiceNowObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { return nil, false } -// AsQuickBooksSource is the BasicCopySource implementation for MarketoSource. -func (ms MarketoSource) AsQuickBooksSource() (*QuickBooksSource, bool) { +// AsQuickBooksObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { return nil, false } -// AsPrestoSource is the BasicCopySource implementation for MarketoSource. -func (ms MarketoSource) AsPrestoSource() (*PrestoSource, bool) { +// AsPrestoObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { return nil, false } -// AsPhoenixSource is the BasicCopySource implementation for MarketoSource. -func (ms MarketoSource) AsPhoenixSource() (*PhoenixSource, bool) { +// AsPhoenixObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { return nil, false } -// AsPaypalSource is the BasicCopySource implementation for MarketoSource. -func (ms MarketoSource) AsPaypalSource() (*PaypalSource, bool) { +// AsPaypalObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { return nil, false } -// AsMarketoSource is the BasicCopySource implementation for MarketoSource. -func (ms MarketoSource) AsMarketoSource() (*MarketoSource, bool) { - return &ms, true +// AsMarketoObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { + return nil, false } -// AsAzureMariaDBSource is the BasicCopySource implementation for MarketoSource. -func (ms MarketoSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { +// AsAzureMariaDBTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { return nil, false } -// AsMariaDBSource is the BasicCopySource implementation for MarketoSource. -func (ms MarketoSource) AsMariaDBSource() (*MariaDBSource, bool) { +// AsMariaDBTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { return nil, false } -// AsMagentoSource is the BasicCopySource implementation for MarketoSource. -func (ms MarketoSource) AsMagentoSource() (*MagentoSource, bool) { +// AsMagentoObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { return nil, false } -// AsJiraSource is the BasicCopySource implementation for MarketoSource. -func (ms MarketoSource) AsJiraSource() (*JiraSource, bool) { +// AsJiraObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { return nil, false } -// AsImpalaSource is the BasicCopySource implementation for MarketoSource. -func (ms MarketoSource) AsImpalaSource() (*ImpalaSource, bool) { +// AsImpalaObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { return nil, false } -// AsHubspotSource is the BasicCopySource implementation for MarketoSource. -func (ms MarketoSource) AsHubspotSource() (*HubspotSource, bool) { +// AsHubspotObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { return nil, false } -// AsHiveSource is the BasicCopySource implementation for MarketoSource. -func (ms MarketoSource) AsHiveSource() (*HiveSource, bool) { +// AsHiveObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { return nil, false } -// AsHBaseSource is the BasicCopySource implementation for MarketoSource. -func (ms MarketoSource) AsHBaseSource() (*HBaseSource, bool) { +// AsHBaseObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { return nil, false } -// AsGreenplumSource is the BasicCopySource implementation for MarketoSource. -func (ms MarketoSource) AsGreenplumSource() (*GreenplumSource, bool) { +// AsGreenplumTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { return nil, false } -// AsGoogleBigQuerySource is the BasicCopySource implementation for MarketoSource. -func (ms MarketoSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { return nil, false } -// AsEloquaSource is the BasicCopySource implementation for MarketoSource. -func (ms MarketoSource) AsEloquaSource() (*EloquaSource, bool) { +// AsEloquaObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { return nil, false } -// AsDrillSource is the BasicCopySource implementation for MarketoSource. -func (ms MarketoSource) AsDrillSource() (*DrillSource, bool) { +// AsDrillTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { return nil, false } -// AsCouchbaseSource is the BasicCopySource implementation for MarketoSource. -func (ms MarketoSource) AsCouchbaseSource() (*CouchbaseSource, bool) { +// AsCouchbaseTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { return nil, false } -// AsConcurSource is the BasicCopySource implementation for MarketoSource. -func (ms MarketoSource) AsConcurSource() (*ConcurSource, bool) { +// AsConcurObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { return nil, false } -// AsAzurePostgreSQLSource is the BasicCopySource implementation for MarketoSource. -func (ms MarketoSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { return nil, false } -// AsAmazonMWSSource is the BasicCopySource implementation for MarketoSource. -func (ms MarketoSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { +// AsAmazonMWSObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { return nil, false } -// AsHTTPSource is the BasicCopySource implementation for MarketoSource. -func (ms MarketoSource) AsHTTPSource() (*HTTPSource, bool) { +// AsHTTPDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsHTTPDataset() (*HTTPDataset, bool) { return nil, false } -// AsAzureBlobFSSource is the BasicCopySource implementation for MarketoSource. -func (ms MarketoSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { +// AsAzureSearchIndexDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { return nil, false } -// AsAzureDataLakeStoreSource is the BasicCopySource implementation for MarketoSource. -func (ms MarketoSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { +// AsWebTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsWebTableDataset() (*WebTableDataset, bool) { return nil, false } -// AsOffice365Source is the BasicCopySource implementation for MarketoSource. -func (ms MarketoSource) AsOffice365Source() (*Office365Source, bool) { +// AsSapTableResourceDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { return nil, false } -// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for MarketoSource. -func (ms MarketoSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { +// AsRestResourceDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { return nil, false } -// AsMongoDbV2Source is the BasicCopySource implementation for MarketoSource. -func (ms MarketoSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { +// AsSQLServerTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { return nil, false } -// AsMongoDbSource is the BasicCopySource implementation for MarketoSource. -func (ms MarketoSource) AsMongoDbSource() (*MongoDbSource, bool) { +// AsSapOpenHubTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { return nil, false } -// AsCassandraSource is the BasicCopySource implementation for MarketoSource. -func (ms MarketoSource) AsCassandraSource() (*CassandraSource, bool) { +// AsSapHanaTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { return nil, false } -// AsWebSource is the BasicCopySource implementation for MarketoSource. -func (ms MarketoSource) AsWebSource() (*WebSource, bool) { +// AsSapEccResourceDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { return nil, false } -// AsTeradataSource is the BasicCopySource implementation for MarketoSource. -func (ms MarketoSource) AsTeradataSource() (*TeradataSource, bool) { +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { return nil, false } -// AsOracleSource is the BasicCopySource implementation for MarketoSource. -func (ms MarketoSource) AsOracleSource() (*OracleSource, bool) { +// AsSapBwCubeDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { return nil, false } -// AsAzureDataExplorerSource is the BasicCopySource implementation for MarketoSource. -func (ms MarketoSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { +// AsSybaseTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { + return nil, false +} + +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { + return nil, false +} + +// AsSalesforceObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { + return nil, false +} + +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { + return &matd, true +} + +// AsPostgreSQLTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { return nil, false } -// AsAzureMySQLSource is the BasicCopySource implementation for MarketoSource. -func (ms MarketoSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { +// AsMySQLTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { return nil, false } -// AsHdfsSource is the BasicCopySource implementation for MarketoSource. -func (ms MarketoSource) AsHdfsSource() (*HdfsSource, bool) { +// AsOdbcTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { return nil, false } -// AsFileSystemSource is the BasicCopySource implementation for MarketoSource. -func (ms MarketoSource) AsFileSystemSource() (*FileSystemSource, bool) { +// AsInformixTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { return nil, false } -// AsSQLDWSource is the BasicCopySource implementation for MarketoSource. -func (ms MarketoSource) AsSQLDWSource() (*SQLDWSource, bool) { +// AsRelationalTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { return nil, false } -// AsSQLMISource is the BasicCopySource implementation for MarketoSource. -func (ms MarketoSource) AsSQLMISource() (*SQLMISource, bool) { +// AsDb2TableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { return nil, false } -// AsAzureSQLSource is the BasicCopySource implementation for MarketoSource. -func (ms MarketoSource) AsAzureSQLSource() (*AzureSQLSource, bool) { +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { return nil, false } -// AsSQLServerSource is the BasicCopySource implementation for MarketoSource. -func (ms MarketoSource) AsSQLServerSource() (*SQLServerSource, bool) { +// AsAzureMySQLTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { return nil, false } -// AsSQLSource is the BasicCopySource implementation for MarketoSource. -func (ms MarketoSource) AsSQLSource() (*SQLSource, bool) { +// AsTeradataTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { return nil, false } -// AsRestSource is the BasicCopySource implementation for MarketoSource. -func (ms MarketoSource) AsRestSource() (*RestSource, bool) { +// AsOracleTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { return nil, false } -// AsSapTableSource is the BasicCopySource implementation for MarketoSource. -func (ms MarketoSource) AsSapTableSource() (*SapTableSource, bool) { +// AsODataResourceDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { return nil, false } -// AsSapOpenHubSource is the BasicCopySource implementation for MarketoSource. -func (ms MarketoSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { return nil, false } -// AsSapHanaSource is the BasicCopySource implementation for MarketoSource. -func (ms MarketoSource) AsSapHanaSource() (*SapHanaSource, bool) { +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { return nil, false } -// AsSapEccSource is the BasicCopySource implementation for MarketoSource. -func (ms MarketoSource) AsSapEccSource() (*SapEccSource, bool) { +// AsMongoDbCollectionDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { return nil, false } -// AsSapCloudForCustomerSource is the BasicCopySource implementation for MarketoSource. -func (ms MarketoSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { +// AsFileShareDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsFileShareDataset() (*FileShareDataset, bool) { return nil, false } -// AsSalesforceServiceCloudSource is the BasicCopySource implementation for MarketoSource. -func (ms MarketoSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { +// AsOffice365Dataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsOffice365Dataset() (*Office365Dataset, bool) { return nil, false } -// AsSalesforceSource is the BasicCopySource implementation for MarketoSource. -func (ms MarketoSource) AsSalesforceSource() (*SalesforceSource, bool) { +// AsAzureBlobFSDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) { return nil, false } -// AsODataSource is the BasicCopySource implementation for MarketoSource. -func (ms MarketoSource) AsODataSource() (*ODataSource, bool) { +// AsAzureDataLakeStoreDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) { return nil, false } -// AsSapBwSource is the BasicCopySource implementation for MarketoSource. -func (ms MarketoSource) AsSapBwSource() (*SapBwSource, bool) { +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { return nil, false } -// AsSybaseSource is the BasicCopySource implementation for MarketoSource. -func (ms MarketoSource) AsSybaseSource() (*SybaseSource, bool) { +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { return nil, false } -// AsPostgreSQLSource is the BasicCopySource implementation for MarketoSource. -func (ms MarketoSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { +// AsDynamicsEntityDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { return nil, false } -// AsMySQLSource is the BasicCopySource implementation for MarketoSource. -func (ms MarketoSource) AsMySQLSource() (*MySQLSource, bool) { +// AsDocumentDbCollectionDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { return nil, false } -// AsOdbcSource is the BasicCopySource implementation for MarketoSource. -func (ms MarketoSource) AsOdbcSource() (*OdbcSource, bool) { +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { return nil, false } -// AsDb2Source is the BasicCopySource implementation for MarketoSource. -func (ms MarketoSource) AsDb2Source() (*Db2Source, bool) { +// AsCustomDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsCustomDataset() (*CustomDataset, bool) { return nil, false } -// AsMicrosoftAccessSource is the BasicCopySource implementation for MarketoSource. -func (ms MarketoSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { +// AsCassandraTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { return nil, false } -// AsInformixSource is the BasicCopySource implementation for MarketoSource. -func (ms MarketoSource) AsInformixSource() (*InformixSource, bool) { +// AsAzureSQLDWTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { return nil, false } -// AsRelationalSource is the BasicCopySource implementation for MarketoSource. -func (ms MarketoSource) AsRelationalSource() (*RelationalSource, bool) { +// AsAzureSQLMITableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { return nil, false } -// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for MarketoSource. -func (ms MarketoSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { +// AsAzureSQLTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { return nil, false } -// AsDynamicsCrmSource is the BasicCopySource implementation for MarketoSource. -func (ms MarketoSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { +// AsAzureTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { return nil, false } -// AsDynamicsSource is the BasicCopySource implementation for MarketoSource. -func (ms MarketoSource) AsDynamicsSource() (*DynamicsSource, bool) { +// AsAzureBlobDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) { return nil, false } -// AsDocumentDbCollectionSource is the BasicCopySource implementation for MarketoSource. -func (ms MarketoSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { +// AsBinaryDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsBinaryDataset() (*BinaryDataset, bool) { return nil, false } -// AsBlobSource is the BasicCopySource implementation for MarketoSource. -func (ms MarketoSource) AsBlobSource() (*BlobSource, bool) { +// AsOrcDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsOrcDataset() (*OrcDataset, bool) { return nil, false } -// AsAzureTableSource is the BasicCopySource implementation for MarketoSource. -func (ms MarketoSource) AsAzureTableSource() (*AzureTableSource, bool) { +// AsJSONDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsJSONDataset() (*JSONDataset, bool) { return nil, false } -// AsBinarySource is the BasicCopySource implementation for MarketoSource. -func (ms MarketoSource) AsBinarySource() (*BinarySource, bool) { +// AsDelimitedTextDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { return nil, false } -// AsDelimitedTextSource is the BasicCopySource implementation for MarketoSource. -func (ms MarketoSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { +// AsParquetDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsParquetDataset() (*ParquetDataset, bool) { return nil, false } -// AsParquetSource is the BasicCopySource implementation for MarketoSource. -func (ms MarketoSource) AsParquetSource() (*ParquetSource, bool) { +// AsAvroDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsAvroDataset() (*AvroDataset, bool) { return nil, false } -// AsAvroSource is the BasicCopySource implementation for MarketoSource. -func (ms MarketoSource) AsAvroSource() (*AvroSource, bool) { +// AsAmazonS3Dataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) { return nil, false } -// AsCopySource is the BasicCopySource implementation for MarketoSource. -func (ms MarketoSource) AsCopySource() (*CopySource, bool) { +// AsDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsDataset() (*Dataset, bool) { return nil, false } -// AsBasicCopySource is the BasicCopySource implementation for MarketoSource. -func (ms MarketoSource) AsBasicCopySource() (BasicCopySource, bool) { - return &ms, true +// AsBasicDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. +func (matd MicrosoftAccessTableDataset) AsBasicDataset() (BasicDataset, bool) { + return &matd, true } -// UnmarshalJSON is the custom unmarshaler for MarketoSource struct. -func (ms *MarketoSource) UnmarshalJSON(body []byte) error { +// UnmarshalJSON is the custom unmarshaler for MicrosoftAccessTableDataset struct. +func (matd *MicrosoftAccessTableDataset) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -114028,14 +130973,14 @@ func (ms *MarketoSource) UnmarshalJSON(body []byte) error { } for k, v := range m { switch k { - case "query": + case "typeProperties": if v != nil { - var query interface{} - err = json.Unmarshal(*v, &query) + var microsoftAccessTableDatasetTypeProperties MicrosoftAccessTableDatasetTypeProperties + err = json.Unmarshal(*v, µsoftAccessTableDatasetTypeProperties) if err != nil { return err } - ms.Query = query + matd.MicrosoftAccessTableDatasetTypeProperties = µsoftAccessTableDatasetTypeProperties } default: if v != nil { @@ -114044,46 +130989,82 @@ func (ms *MarketoSource) UnmarshalJSON(body []byte) error { if err != nil { return err } - if ms.AdditionalProperties == nil { - ms.AdditionalProperties = make(map[string]interface{}) + if matd.AdditionalProperties == nil { + matd.AdditionalProperties = make(map[string]interface{}) } - ms.AdditionalProperties[k] = additionalProperties + matd.AdditionalProperties[k] = additionalProperties } - case "sourceRetryCount": + case "description": if v != nil { - var sourceRetryCount interface{} - err = json.Unmarshal(*v, &sourceRetryCount) + var description string + err = json.Unmarshal(*v, &description) if err != nil { return err } - ms.SourceRetryCount = sourceRetryCount + matd.Description = &description } - case "sourceRetryWait": + case "structure": if v != nil { - var sourceRetryWait interface{} - err = json.Unmarshal(*v, &sourceRetryWait) + var structure interface{} + err = json.Unmarshal(*v, &structure) if err != nil { return err } - ms.SourceRetryWait = sourceRetryWait + matd.Structure = structure } - case "maxConcurrentConnections": + case "schema": if v != nil { - var maxConcurrentConnections interface{} - err = json.Unmarshal(*v, &maxConcurrentConnections) + var schema interface{} + err = json.Unmarshal(*v, &schema) if err != nil { return err } - ms.MaxConcurrentConnections = maxConcurrentConnections + matd.Schema = schema + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + matd.LinkedServiceName = &linkedServiceName + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + matd.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + matd.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + matd.Folder = &folder } case "type": if v != nil { - var typeVar TypeBasicCopySource + var typeVar TypeBasicDataset err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - ms.Type = typeVar + matd.Type = typeVar } } } @@ -114091,519 +131072,520 @@ func (ms *MarketoSource) UnmarshalJSON(body []byte) error { return nil } -// MicrosoftAccessLinkedService microsoft Access linked service. -type MicrosoftAccessLinkedService struct { - // MicrosoftAccessLinkedServiceTypeProperties - Microsoft Access linked service properties. - *MicrosoftAccessLinkedServiceTypeProperties `json:"typeProperties,omitempty"` +// MicrosoftAccessTableDatasetTypeProperties microsoft Access table dataset properties. +type MicrosoftAccessTableDatasetTypeProperties struct { + // TableName - The Microsoft Access table name. Type: string (or Expression with resultType string). + TableName interface{} `json:"tableName,omitempty"` +} + +// MongoDbCollectionDataset the MongoDB database dataset. +type MongoDbCollectionDataset struct { + // MongoDbCollectionDatasetTypeProperties - MongoDB database dataset properties. + *MongoDbCollectionDatasetTypeProperties `json:"typeProperties,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` - // ConnectVia - The integration runtime reference. - ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` - // Description - Linked service description. + // Description - Dataset description. Description *string `json:"description,omitempty"` - // Parameters - Parameters for linked service. + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. Parameters map[string]*ParameterSpecification `json:"parameters"` - // Annotations - List of tags that can be used for describing the linked service. + // Annotations - List of tags that can be used for describing the Dataset. Annotations *[]interface{} `json:"annotations,omitempty"` - // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' - Type TypeBasicLinkedService `json:"type,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' + Type TypeBasicDataset `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for MicrosoftAccessLinkedService. -func (mals MicrosoftAccessLinkedService) MarshalJSON() ([]byte, error) { - mals.Type = TypeMicrosoftAccess +// MarshalJSON is the custom marshaler for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) MarshalJSON() ([]byte, error) { + mdcd.Type = TypeMongoDbCollection objectMap := make(map[string]interface{}) - if mals.MicrosoftAccessLinkedServiceTypeProperties != nil { - objectMap["typeProperties"] = mals.MicrosoftAccessLinkedServiceTypeProperties + if mdcd.MongoDbCollectionDatasetTypeProperties != nil { + objectMap["typeProperties"] = mdcd.MongoDbCollectionDatasetTypeProperties } - if mals.ConnectVia != nil { - objectMap["connectVia"] = mals.ConnectVia + if mdcd.Description != nil { + objectMap["description"] = mdcd.Description } - if mals.Description != nil { - objectMap["description"] = mals.Description + if mdcd.Structure != nil { + objectMap["structure"] = mdcd.Structure } - if mals.Parameters != nil { - objectMap["parameters"] = mals.Parameters + if mdcd.Schema != nil { + objectMap["schema"] = mdcd.Schema } - if mals.Annotations != nil { - objectMap["annotations"] = mals.Annotations + if mdcd.LinkedServiceName != nil { + objectMap["linkedServiceName"] = mdcd.LinkedServiceName } - if mals.Type != "" { - objectMap["type"] = mals.Type + if mdcd.Parameters != nil { + objectMap["parameters"] = mdcd.Parameters } - for k, v := range mals.AdditionalProperties { + if mdcd.Annotations != nil { + objectMap["annotations"] = mdcd.Annotations + } + if mdcd.Folder != nil { + objectMap["folder"] = mdcd.Folder + } + if mdcd.Type != "" { + objectMap["type"] = mdcd.Type + } + for k, v := range mdcd.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsAzureFunctionLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. -func (mals MicrosoftAccessLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { - return nil, false -} - -// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. -func (mals MicrosoftAccessLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { - return nil, false -} - -// AsSapTableLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. -func (mals MicrosoftAccessLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { - return nil, false -} - -// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. -func (mals MicrosoftAccessLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { return nil, false } -// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. -func (mals MicrosoftAccessLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { return nil, false } -// AsDynamicsAXLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. -func (mals MicrosoftAccessLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { return nil, false } -// AsResponsysLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. -func (mals MicrosoftAccessLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { +// AsDynamicsAXResourceDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { return nil, false } -// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. -func (mals MicrosoftAccessLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { +// AsResponsysObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { return nil, false } -// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. -func (mals MicrosoftAccessLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { return nil, false } -// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. -func (mals MicrosoftAccessLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { +// AsVerticaTableDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { return nil, false } -// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. -func (mals MicrosoftAccessLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { +// AsNetezzaTableDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { return nil, false } -// AsNetezzaLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. -func (mals MicrosoftAccessLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { +// AsZohoObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { return nil, false } -// AsVerticaLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. -func (mals MicrosoftAccessLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { +// AsXeroObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { return nil, false } -// AsZohoLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. -func (mals MicrosoftAccessLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { +// AsSquareObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { return nil, false } -// AsXeroLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. -func (mals MicrosoftAccessLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { +// AsSparkObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { return nil, false } -// AsSquareLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. -func (mals MicrosoftAccessLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { +// AsShopifyObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { return nil, false } -// AsSparkLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. -func (mals MicrosoftAccessLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { +// AsServiceNowObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { return nil, false } -// AsShopifyLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. -func (mals MicrosoftAccessLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { +// AsQuickBooksObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { return nil, false } -// AsServiceNowLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. -func (mals MicrosoftAccessLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { +// AsPrestoObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { return nil, false } -// AsQuickBooksLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. -func (mals MicrosoftAccessLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { +// AsPhoenixObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { return nil, false } -// AsPrestoLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. -func (mals MicrosoftAccessLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { +// AsPaypalObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { return nil, false } -// AsPhoenixLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. -func (mals MicrosoftAccessLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { +// AsMarketoObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { return nil, false } -// AsPaypalLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. -func (mals MicrosoftAccessLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { +// AsAzureMariaDBTableDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { return nil, false } -// AsMarketoLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. -func (mals MicrosoftAccessLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { +// AsMariaDBTableDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { return nil, false } -// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. -func (mals MicrosoftAccessLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { +// AsMagentoObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { return nil, false } -// AsMariaDBLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. -func (mals MicrosoftAccessLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { +// AsJiraObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { return nil, false } -// AsMagentoLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. -func (mals MicrosoftAccessLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { +// AsImpalaObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { return nil, false } -// AsJiraLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. -func (mals MicrosoftAccessLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { +// AsHubspotObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { return nil, false } -// AsImpalaLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. -func (mals MicrosoftAccessLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { +// AsHiveObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { return nil, false } -// AsHubspotLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. -func (mals MicrosoftAccessLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { +// AsHBaseObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { return nil, false } -// AsHiveLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. -func (mals MicrosoftAccessLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { +// AsGreenplumTableDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { return nil, false } -// AsHBaseLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. -func (mals MicrosoftAccessLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { return nil, false } -// AsGreenplumLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. -func (mals MicrosoftAccessLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { +// AsEloquaObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { return nil, false } -// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. -func (mals MicrosoftAccessLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { +// AsDrillTableDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { return nil, false } -// AsEloquaLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. -func (mals MicrosoftAccessLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { +// AsCouchbaseTableDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { return nil, false } -// AsDrillLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. -func (mals MicrosoftAccessLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { +// AsConcurObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { return nil, false } -// AsCouchbaseLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. -func (mals MicrosoftAccessLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { return nil, false } -// AsConcurLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. -func (mals MicrosoftAccessLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { +// AsAmazonMWSObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { return nil, false } -// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. -func (mals MicrosoftAccessLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { +// AsHTTPDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsHTTPDataset() (*HTTPDataset, bool) { return nil, false } -// AsAmazonMWSLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. -func (mals MicrosoftAccessLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { +// AsAzureSearchIndexDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { return nil, false } -// AsSapHanaLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. -func (mals MicrosoftAccessLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { +// AsWebTableDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsWebTableDataset() (*WebTableDataset, bool) { return nil, false } -// AsSapBWLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. -func (mals MicrosoftAccessLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { +// AsSapTableResourceDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { return nil, false } -// AsSftpServerLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. -func (mals MicrosoftAccessLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { +// AsRestResourceDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { return nil, false } -// AsFtpServerLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. -func (mals MicrosoftAccessLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { +// AsSQLServerTableDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { return nil, false } -// AsHTTPLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. -func (mals MicrosoftAccessLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { +// AsSapOpenHubTableDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { return nil, false } -// AsAzureSearchLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. -func (mals MicrosoftAccessLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { +// AsSapHanaTableDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { return nil, false } -// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. -func (mals MicrosoftAccessLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { +// AsSapEccResourceDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { return nil, false } -// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. -func (mals MicrosoftAccessLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { return nil, false } -// AsAmazonS3LinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. -func (mals MicrosoftAccessLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { +// AsSapBwCubeDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { return nil, false } -// AsRestServiceLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. -func (mals MicrosoftAccessLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { +// AsSybaseTableDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { return nil, false } -// AsSapOpenHubLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. -func (mals MicrosoftAccessLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { return nil, false } -// AsSapEccLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. -func (mals MicrosoftAccessLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { +// AsSalesforceObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { return nil, false } -// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. -func (mals MicrosoftAccessLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { return nil, false } -// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. -func (mals MicrosoftAccessLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { +// AsPostgreSQLTableDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { return nil, false } -// AsSalesforceLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. -func (mals MicrosoftAccessLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { +// AsMySQLTableDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { return nil, false } -// AsOffice365LinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. -func (mals MicrosoftAccessLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { +// AsOdbcTableDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { return nil, false } -// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. -func (mals MicrosoftAccessLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { +// AsInformixTableDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { return nil, false } -// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. -func (mals MicrosoftAccessLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { +// AsRelationalTableDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { return nil, false } -// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. -func (mals MicrosoftAccessLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { +// AsDb2TableDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { return nil, false } -// AsMongoDbV2LinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. -func (mals MicrosoftAccessLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { return nil, false } -// AsMongoDbLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. -func (mals MicrosoftAccessLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { +// AsAzureMySQLTableDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { return nil, false } -// AsCassandraLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. -func (mals MicrosoftAccessLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { +// AsTeradataTableDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { return nil, false } -// AsWebLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. -func (mals MicrosoftAccessLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { +// AsOracleTableDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { return nil, false } -// AsODataLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. -func (mals MicrosoftAccessLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { +// AsODataResourceDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { return nil, false } -// AsHdfsLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. -func (mals MicrosoftAccessLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { return nil, false } -// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. -func (mals MicrosoftAccessLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { - return &mals, true -} - -// AsInformixLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. -func (mals MicrosoftAccessLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { return nil, false } -// AsOdbcLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. -func (mals MicrosoftAccessLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { - return nil, false +// AsMongoDbCollectionDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { + return &mdcd, true } -// AsAzureMLLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. -func (mals MicrosoftAccessLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { +// AsFileShareDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsFileShareDataset() (*FileShareDataset, bool) { return nil, false } -// AsTeradataLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. -func (mals MicrosoftAccessLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { +// AsOffice365Dataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsOffice365Dataset() (*Office365Dataset, bool) { return nil, false } -// AsDb2LinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. -func (mals MicrosoftAccessLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { +// AsAzureBlobFSDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) { return nil, false } -// AsSybaseLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. -func (mals MicrosoftAccessLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { +// AsAzureDataLakeStoreDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) { return nil, false } -// AsPostgreSQLLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. -func (mals MicrosoftAccessLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { return nil, false } -// AsMySQLLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. -func (mals MicrosoftAccessLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { return nil, false } -// AsAzureMySQLLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. -func (mals MicrosoftAccessLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { +// AsDynamicsEntityDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { return nil, false } -// AsOracleLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. -func (mals MicrosoftAccessLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { +// AsDocumentDbCollectionDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { return nil, false } -// AsFileServerLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. -func (mals MicrosoftAccessLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { return nil, false } -// AsHDInsightLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. -func (mals MicrosoftAccessLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { +// AsCustomDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsCustomDataset() (*CustomDataset, bool) { return nil, false } -// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. -func (mals MicrosoftAccessLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { +// AsCassandraTableDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { return nil, false } -// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. -func (mals MicrosoftAccessLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { +// AsAzureSQLDWTableDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { return nil, false } -// AsDynamicsLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. -func (mals MicrosoftAccessLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { +// AsAzureSQLMITableDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { return nil, false } -// AsCosmosDbLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. -func (mals MicrosoftAccessLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { +// AsAzureSQLTableDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { return nil, false } -// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. -func (mals MicrosoftAccessLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { +// AsAzureTableDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { return nil, false } -// AsAzureBatchLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. -func (mals MicrosoftAccessLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { +// AsAzureBlobDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) { return nil, false } -// AsAzureSQLMILinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. -func (mals MicrosoftAccessLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { +// AsBinaryDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsBinaryDataset() (*BinaryDataset, bool) { return nil, false } -// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. -func (mals MicrosoftAccessLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { +// AsOrcDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsOrcDataset() (*OrcDataset, bool) { return nil, false } -// AsSQLServerLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. -func (mals MicrosoftAccessLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { +// AsJSONDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsJSONDataset() (*JSONDataset, bool) { return nil, false } -// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. -func (mals MicrosoftAccessLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { +// AsDelimitedTextDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { return nil, false } -// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. -func (mals MicrosoftAccessLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { +// AsParquetDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsParquetDataset() (*ParquetDataset, bool) { return nil, false } -// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. -func (mals MicrosoftAccessLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { +// AsAvroDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsAvroDataset() (*AvroDataset, bool) { return nil, false } -// AsAzureStorageLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. -func (mals MicrosoftAccessLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { +// AsAmazonS3Dataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) { return nil, false } -// AsLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. -func (mals MicrosoftAccessLinkedService) AsLinkedService() (*LinkedService, bool) { +// AsDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsDataset() (*Dataset, bool) { return nil, false } -// AsBasicLinkedService is the BasicLinkedService implementation for MicrosoftAccessLinkedService. -func (mals MicrosoftAccessLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { - return &mals, true +// AsBasicDataset is the BasicDataset implementation for MongoDbCollectionDataset. +func (mdcd MongoDbCollectionDataset) AsBasicDataset() (BasicDataset, bool) { + return &mdcd, true } -// UnmarshalJSON is the custom unmarshaler for MicrosoftAccessLinkedService struct. -func (mals *MicrosoftAccessLinkedService) UnmarshalJSON(body []byte) error { +// UnmarshalJSON is the custom unmarshaler for MongoDbCollectionDataset struct. +func (mdcd *MongoDbCollectionDataset) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -114613,12 +131595,12 @@ func (mals *MicrosoftAccessLinkedService) UnmarshalJSON(body []byte) error { switch k { case "typeProperties": if v != nil { - var microsoftAccessLinkedServiceTypeProperties MicrosoftAccessLinkedServiceTypeProperties - err = json.Unmarshal(*v, µsoftAccessLinkedServiceTypeProperties) + var mongoDbCollectionDatasetTypeProperties MongoDbCollectionDatasetTypeProperties + err = json.Unmarshal(*v, &mongoDbCollectionDatasetTypeProperties) if err != nil { return err } - mals.MicrosoftAccessLinkedServiceTypeProperties = µsoftAccessLinkedServiceTypeProperties + mdcd.MongoDbCollectionDatasetTypeProperties = &mongoDbCollectionDatasetTypeProperties } default: if v != nil { @@ -114627,19 +131609,10 @@ func (mals *MicrosoftAccessLinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - if mals.AdditionalProperties == nil { - mals.AdditionalProperties = make(map[string]interface{}) - } - mals.AdditionalProperties[k] = additionalProperties - } - case "connectVia": - if v != nil { - var connectVia IntegrationRuntimeReference - err = json.Unmarshal(*v, &connectVia) - if err != nil { - return err + if mdcd.AdditionalProperties == nil { + mdcd.AdditionalProperties = make(map[string]interface{}) } - mals.ConnectVia = &connectVia + mdcd.AdditionalProperties[k] = additionalProperties } case "description": if v != nil { @@ -114648,117 +131621,70 @@ func (mals *MicrosoftAccessLinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - mals.Description = &description - } - case "parameters": - if v != nil { - var parameters map[string]*ParameterSpecification - err = json.Unmarshal(*v, ¶meters) - if err != nil { - return err - } - mals.Parameters = parameters - } - case "annotations": - if v != nil { - var annotations []interface{} - err = json.Unmarshal(*v, &annotations) - if err != nil { - return err - } - mals.Annotations = &annotations + mdcd.Description = &description } - case "type": + case "structure": if v != nil { - var typeVar TypeBasicLinkedService - err = json.Unmarshal(*v, &typeVar) + var structure interface{} + err = json.Unmarshal(*v, &structure) if err != nil { return err } - mals.Type = typeVar + mdcd.Structure = structure } - } - } - - return nil -} - -// MicrosoftAccessLinkedServiceTypeProperties microsoft Access linked service properties. -type MicrosoftAccessLinkedServiceTypeProperties struct { - // ConnectionString - The non-access credential portion of the connection string as well as an optional encrypted credential. Type: string, SecureString or AzureKeyVaultSecretReference. - ConnectionString interface{} `json:"connectionString,omitempty"` - // AuthenticationType - Type of authentication used to connect to the Microsoft Access as ODBC data store. Possible values are: Anonymous and Basic. Type: string (or Expression with resultType string). - AuthenticationType interface{} `json:"authenticationType,omitempty"` - // Credential - The access credential portion of the connection string specified in driver-specific property-value format. - Credential BasicSecretBase `json:"credential,omitempty"` - // UserName - User name for Basic authentication. Type: string (or Expression with resultType string). - UserName interface{} `json:"userName,omitempty"` - // Password - Password for Basic authentication. - Password BasicSecretBase `json:"password,omitempty"` - // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). - EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` -} - -// UnmarshalJSON is the custom unmarshaler for MicrosoftAccessLinkedServiceTypeProperties struct. -func (malstp *MicrosoftAccessLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - case "connectionString": + case "schema": if v != nil { - var connectionString interface{} - err = json.Unmarshal(*v, &connectionString) + var schema interface{} + err = json.Unmarshal(*v, &schema) if err != nil { return err } - malstp.ConnectionString = connectionString + mdcd.Schema = schema } - case "authenticationType": + case "linkedServiceName": if v != nil { - var authenticationType interface{} - err = json.Unmarshal(*v, &authenticationType) + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) if err != nil { return err } - malstp.AuthenticationType = authenticationType + mdcd.LinkedServiceName = &linkedServiceName } - case "credential": + case "parameters": if v != nil { - credential, err := unmarshalBasicSecretBase(*v) + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) if err != nil { return err } - malstp.Credential = credential + mdcd.Parameters = parameters } - case "userName": + case "annotations": if v != nil { - var userName interface{} - err = json.Unmarshal(*v, &userName) + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) if err != nil { return err } - malstp.UserName = userName + mdcd.Annotations = &annotations } - case "password": + case "folder": if v != nil { - password, err := unmarshalBasicSecretBase(*v) + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) if err != nil { return err } - malstp.Password = password + mdcd.Folder = &folder } - case "encryptedCredential": + case "type": if v != nil { - var encryptedCredential interface{} - err = json.Unmarshal(*v, &encryptedCredential) + var typeVar TypeBasicDataset + err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - malstp.EncryptedCredential = encryptedCredential + mdcd.Type = typeVar } } } @@ -114766,219 +131692,49 @@ func (malstp *MicrosoftAccessLinkedServiceTypeProperties) UnmarshalJSON(body []b return nil } -// MicrosoftAccessSink a copy activity Microsoft Access sink. -type MicrosoftAccessSink struct { - // PreCopyScript - A query to execute before starting the copy. Type: string (or Expression with resultType string). - PreCopyScript interface{} `json:"preCopyScript,omitempty"` +// MongoDbCollectionDatasetTypeProperties mongoDB database dataset properties. +type MongoDbCollectionDatasetTypeProperties struct { + // CollectionName - The table name of the MongoDB database. Type: string (or Expression with resultType string). + CollectionName interface{} `json:"collectionName,omitempty"` +} + +// MongoDbCursorMethodsProperties cursor methods for Mongodb query +type MongoDbCursorMethodsProperties struct { // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` - // WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0. - WriteBatchSize interface{} `json:"writeBatchSize,omitempty"` - // WriteBatchTimeout - Write batch timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). - WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"` - // SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer). - SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"` - // SinkRetryWait - Sink retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). - SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"` - // MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). - MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAvroSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzurePostgreSQLSink', 'TypeDelimitedTextSink' - Type TypeBasicCopySink `json:"type,omitempty"` + // Project - Specifies the fields to return in the documents that match the query filter. To return all fields in the matching documents, omit this parameter. Type: string (or Expression with resultType string). + Project interface{} `json:"project,omitempty"` + // Sort - Specifies the order in which the query returns matching documents. Type: string (or Expression with resultType string). Type: string (or Expression with resultType string). + Sort interface{} `json:"sort,omitempty"` + // Skip - Specifies the how many documents skipped and where MongoDB begins returning results. This approach may be useful in implementing paginated results. Type: integer (or Expression with resultType integer). + Skip interface{} `json:"skip,omitempty"` + // Limit - Specifies the maximum number of documents the server returns. limit() is analogous to the LIMIT statement in a SQL database. Type: integer (or Expression with resultType integer). + Limit interface{} `json:"limit,omitempty"` } -// MarshalJSON is the custom marshaler for MicrosoftAccessSink. -func (mas MicrosoftAccessSink) MarshalJSON() ([]byte, error) { - mas.Type = TypeMicrosoftAccessSink +// MarshalJSON is the custom marshaler for MongoDbCursorMethodsProperties. +func (mdcmp MongoDbCursorMethodsProperties) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) - if mas.PreCopyScript != nil { - objectMap["preCopyScript"] = mas.PreCopyScript - } - if mas.WriteBatchSize != nil { - objectMap["writeBatchSize"] = mas.WriteBatchSize - } - if mas.WriteBatchTimeout != nil { - objectMap["writeBatchTimeout"] = mas.WriteBatchTimeout - } - if mas.SinkRetryCount != nil { - objectMap["sinkRetryCount"] = mas.SinkRetryCount - } - if mas.SinkRetryWait != nil { - objectMap["sinkRetryWait"] = mas.SinkRetryWait - } - if mas.MaxConcurrentConnections != nil { - objectMap["maxConcurrentConnections"] = mas.MaxConcurrentConnections - } - if mas.Type != "" { - objectMap["type"] = mas.Type - } - for k, v := range mas.AdditionalProperties { - objectMap[k] = v - } - return json.Marshal(objectMap) -} - -// AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for MicrosoftAccessSink. -func (mas MicrosoftAccessSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) { - return nil, false -} - -// AsSalesforceServiceCloudSink is the BasicCopySink implementation for MicrosoftAccessSink. -func (mas MicrosoftAccessSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) { - return nil, false -} - -// AsSalesforceSink is the BasicCopySink implementation for MicrosoftAccessSink. -func (mas MicrosoftAccessSink) AsSalesforceSink() (*SalesforceSink, bool) { - return nil, false -} - -// AsAzureDataExplorerSink is the BasicCopySink implementation for MicrosoftAccessSink. -func (mas MicrosoftAccessSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) { - return nil, false -} - -// AsCommonDataServiceForAppsSink is the BasicCopySink implementation for MicrosoftAccessSink. -func (mas MicrosoftAccessSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) { - return nil, false -} - -// AsDynamicsCrmSink is the BasicCopySink implementation for MicrosoftAccessSink. -func (mas MicrosoftAccessSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) { - return nil, false -} - -// AsDynamicsSink is the BasicCopySink implementation for MicrosoftAccessSink. -func (mas MicrosoftAccessSink) AsDynamicsSink() (*DynamicsSink, bool) { - return nil, false -} - -// AsMicrosoftAccessSink is the BasicCopySink implementation for MicrosoftAccessSink. -func (mas MicrosoftAccessSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) { - return &mas, true -} - -// AsInformixSink is the BasicCopySink implementation for MicrosoftAccessSink. -func (mas MicrosoftAccessSink) AsInformixSink() (*InformixSink, bool) { - return nil, false -} - -// AsOdbcSink is the BasicCopySink implementation for MicrosoftAccessSink. -func (mas MicrosoftAccessSink) AsOdbcSink() (*OdbcSink, bool) { - return nil, false -} - -// AsAzureSearchIndexSink is the BasicCopySink implementation for MicrosoftAccessSink. -func (mas MicrosoftAccessSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) { - return nil, false -} - -// AsAzureBlobFSSink is the BasicCopySink implementation for MicrosoftAccessSink. -func (mas MicrosoftAccessSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) { - return nil, false -} - -// AsAzureDataLakeStoreSink is the BasicCopySink implementation for MicrosoftAccessSink. -func (mas MicrosoftAccessSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) { - return nil, false -} - -// AsOracleSink is the BasicCopySink implementation for MicrosoftAccessSink. -func (mas MicrosoftAccessSink) AsOracleSink() (*OracleSink, bool) { - return nil, false -} - -// AsSQLDWSink is the BasicCopySink implementation for MicrosoftAccessSink. -func (mas MicrosoftAccessSink) AsSQLDWSink() (*SQLDWSink, bool) { - return nil, false -} - -// AsSQLMISink is the BasicCopySink implementation for MicrosoftAccessSink. -func (mas MicrosoftAccessSink) AsSQLMISink() (*SQLMISink, bool) { - return nil, false -} - -// AsAzureSQLSink is the BasicCopySink implementation for MicrosoftAccessSink. -func (mas MicrosoftAccessSink) AsAzureSQLSink() (*AzureSQLSink, bool) { - return nil, false -} - -// AsSQLServerSink is the BasicCopySink implementation for MicrosoftAccessSink. -func (mas MicrosoftAccessSink) AsSQLServerSink() (*SQLServerSink, bool) { - return nil, false -} - -// AsSQLSink is the BasicCopySink implementation for MicrosoftAccessSink. -func (mas MicrosoftAccessSink) AsSQLSink() (*SQLSink, bool) { - return nil, false -} - -// AsDocumentDbCollectionSink is the BasicCopySink implementation for MicrosoftAccessSink. -func (mas MicrosoftAccessSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) { - return nil, false -} - -// AsFileSystemSink is the BasicCopySink implementation for MicrosoftAccessSink. -func (mas MicrosoftAccessSink) AsFileSystemSink() (*FileSystemSink, bool) { - return nil, false -} - -// AsBlobSink is the BasicCopySink implementation for MicrosoftAccessSink. -func (mas MicrosoftAccessSink) AsBlobSink() (*BlobSink, bool) { - return nil, false -} - -// AsBinarySink is the BasicCopySink implementation for MicrosoftAccessSink. -func (mas MicrosoftAccessSink) AsBinarySink() (*BinarySink, bool) { - return nil, false -} - -// AsParquetSink is the BasicCopySink implementation for MicrosoftAccessSink. -func (mas MicrosoftAccessSink) AsParquetSink() (*ParquetSink, bool) { - return nil, false -} - -// AsAvroSink is the BasicCopySink implementation for MicrosoftAccessSink. -func (mas MicrosoftAccessSink) AsAvroSink() (*AvroSink, bool) { - return nil, false -} - -// AsAzureTableSink is the BasicCopySink implementation for MicrosoftAccessSink. -func (mas MicrosoftAccessSink) AsAzureTableSink() (*AzureTableSink, bool) { - return nil, false -} - -// AsAzureQueueSink is the BasicCopySink implementation for MicrosoftAccessSink. -func (mas MicrosoftAccessSink) AsAzureQueueSink() (*AzureQueueSink, bool) { - return nil, false -} - -// AsSapCloudForCustomerSink is the BasicCopySink implementation for MicrosoftAccessSink. -func (mas MicrosoftAccessSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) { - return nil, false -} - -// AsAzurePostgreSQLSink is the BasicCopySink implementation for MicrosoftAccessSink. -func (mas MicrosoftAccessSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) { - return nil, false -} - -// AsDelimitedTextSink is the BasicCopySink implementation for MicrosoftAccessSink. -func (mas MicrosoftAccessSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) { - return nil, false -} - -// AsCopySink is the BasicCopySink implementation for MicrosoftAccessSink. -func (mas MicrosoftAccessSink) AsCopySink() (*CopySink, bool) { - return nil, false -} - -// AsBasicCopySink is the BasicCopySink implementation for MicrosoftAccessSink. -func (mas MicrosoftAccessSink) AsBasicCopySink() (BasicCopySink, bool) { - return &mas, true + if mdcmp.Project != nil { + objectMap["project"] = mdcmp.Project + } + if mdcmp.Sort != nil { + objectMap["sort"] = mdcmp.Sort + } + if mdcmp.Skip != nil { + objectMap["skip"] = mdcmp.Skip + } + if mdcmp.Limit != nil { + objectMap["limit"] = mdcmp.Limit + } + for k, v := range mdcmp.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) } -// UnmarshalJSON is the custom unmarshaler for MicrosoftAccessSink struct. -func (mas *MicrosoftAccessSink) UnmarshalJSON(body []byte) error { +// UnmarshalJSON is the custom unmarshaler for MongoDbCursorMethodsProperties struct. +func (mdcmp *MongoDbCursorMethodsProperties) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -114986,15 +131742,6 @@ func (mas *MicrosoftAccessSink) UnmarshalJSON(body []byte) error { } for k, v := range m { switch k { - case "preCopyScript": - if v != nil { - var preCopyScript interface{} - err = json.Unmarshal(*v, &preCopyScript) - if err != nil { - return err - } - mas.PreCopyScript = preCopyScript - } default: if v != nil { var additionalProperties interface{} @@ -115002,64 +131749,46 @@ func (mas *MicrosoftAccessSink) UnmarshalJSON(body []byte) error { if err != nil { return err } - if mas.AdditionalProperties == nil { - mas.AdditionalProperties = make(map[string]interface{}) - } - mas.AdditionalProperties[k] = additionalProperties - } - case "writeBatchSize": - if v != nil { - var writeBatchSize interface{} - err = json.Unmarshal(*v, &writeBatchSize) - if err != nil { - return err - } - mas.WriteBatchSize = writeBatchSize - } - case "writeBatchTimeout": - if v != nil { - var writeBatchTimeout interface{} - err = json.Unmarshal(*v, &writeBatchTimeout) - if err != nil { - return err + if mdcmp.AdditionalProperties == nil { + mdcmp.AdditionalProperties = make(map[string]interface{}) } - mas.WriteBatchTimeout = writeBatchTimeout + mdcmp.AdditionalProperties[k] = additionalProperties } - case "sinkRetryCount": + case "project": if v != nil { - var sinkRetryCount interface{} - err = json.Unmarshal(*v, &sinkRetryCount) + var project interface{} + err = json.Unmarshal(*v, &project) if err != nil { return err } - mas.SinkRetryCount = sinkRetryCount + mdcmp.Project = project } - case "sinkRetryWait": + case "sort": if v != nil { - var sinkRetryWait interface{} - err = json.Unmarshal(*v, &sinkRetryWait) + var sortVar interface{} + err = json.Unmarshal(*v, &sortVar) if err != nil { return err } - mas.SinkRetryWait = sinkRetryWait + mdcmp.Sort = sortVar } - case "maxConcurrentConnections": + case "skip": if v != nil { - var maxConcurrentConnections interface{} - err = json.Unmarshal(*v, &maxConcurrentConnections) + var skip interface{} + err = json.Unmarshal(*v, &skip) if err != nil { return err } - mas.MaxConcurrentConnections = maxConcurrentConnections + mdcmp.Skip = skip } - case "type": + case "limit": if v != nil { - var typeVar TypeBasicCopySink - err = json.Unmarshal(*v, &typeVar) + var limit interface{} + err = json.Unmarshal(*v, &limit) if err != nil { return err } - mas.Type = typeVar + mdcmp.Limit = limit } } } @@ -115067,474 +131796,534 @@ func (mas *MicrosoftAccessSink) UnmarshalJSON(body []byte) error { return nil } -// MicrosoftAccessSource a copy activity source for Microsoft Access. -type MicrosoftAccessSource struct { - // Query - Database query. Type: string (or Expression with resultType string). - Query interface{} `json:"query,omitempty"` +// MongoDbLinkedService linked service for MongoDb data source. +type MongoDbLinkedService struct { + // MongoDbLinkedServiceTypeProperties - MongoDB linked service properties. + *MongoDbLinkedServiceTypeProperties `json:"typeProperties,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` - // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). - SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` - // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). - SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` - // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). - MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' - Type TypeBasicCopySource `json:"type,omitempty"` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' + Type TypeBasicLinkedService `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for MicrosoftAccessSource. -func (mas MicrosoftAccessSource) MarshalJSON() ([]byte, error) { - mas.Type = TypeMicrosoftAccessSource +// MarshalJSON is the custom marshaler for MongoDbLinkedService. +func (mdls MongoDbLinkedService) MarshalJSON() ([]byte, error) { + mdls.Type = TypeMongoDb objectMap := make(map[string]interface{}) - if mas.Query != nil { - objectMap["query"] = mas.Query + if mdls.MongoDbLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = mdls.MongoDbLinkedServiceTypeProperties } - if mas.SourceRetryCount != nil { - objectMap["sourceRetryCount"] = mas.SourceRetryCount + if mdls.ConnectVia != nil { + objectMap["connectVia"] = mdls.ConnectVia } - if mas.SourceRetryWait != nil { - objectMap["sourceRetryWait"] = mas.SourceRetryWait + if mdls.Description != nil { + objectMap["description"] = mdls.Description } - if mas.MaxConcurrentConnections != nil { - objectMap["maxConcurrentConnections"] = mas.MaxConcurrentConnections + if mdls.Parameters != nil { + objectMap["parameters"] = mdls.Parameters } - if mas.Type != "" { - objectMap["type"] = mas.Type + if mdls.Annotations != nil { + objectMap["annotations"] = mdls.Annotations } - for k, v := range mas.AdditionalProperties { + if mdls.Type != "" { + objectMap["type"] = mdls.Type + } + for k, v := range mdls.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsAmazonRedshiftSource is the BasicCopySource implementation for MicrosoftAccessSource. -func (mas MicrosoftAccessSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { return nil, false } -// AsGoogleAdWordsSource is the BasicCopySource implementation for MicrosoftAccessSource. -func (mas MicrosoftAccessSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { return nil, false } -// AsOracleServiceCloudSource is the BasicCopySource implementation for MicrosoftAccessSource. -func (mas MicrosoftAccessSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { +// AsSapTableLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { return nil, false } -// AsDynamicsAXSource is the BasicCopySource implementation for MicrosoftAccessSource. -func (mas MicrosoftAccessSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { return nil, false } -// AsResponsysSource is the BasicCopySource implementation for MicrosoftAccessSource. -func (mas MicrosoftAccessSource) AsResponsysSource() (*ResponsysSource, bool) { +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { return nil, false } -// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for MicrosoftAccessSource. -func (mas MicrosoftAccessSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { return nil, false } -// AsVerticaSource is the BasicCopySource implementation for MicrosoftAccessSource. -func (mas MicrosoftAccessSource) AsVerticaSource() (*VerticaSource, bool) { +// AsResponsysLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { return nil, false } -// AsNetezzaSource is the BasicCopySource implementation for MicrosoftAccessSource. -func (mas MicrosoftAccessSource) AsNetezzaSource() (*NetezzaSource, bool) { +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { return nil, false } -// AsZohoSource is the BasicCopySource implementation for MicrosoftAccessSource. -func (mas MicrosoftAccessSource) AsZohoSource() (*ZohoSource, bool) { +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { return nil, false } -// AsXeroSource is the BasicCopySource implementation for MicrosoftAccessSource. -func (mas MicrosoftAccessSource) AsXeroSource() (*XeroSource, bool) { +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { return nil, false } -// AsSquareSource is the BasicCopySource implementation for MicrosoftAccessSource. -func (mas MicrosoftAccessSource) AsSquareSource() (*SquareSource, bool) { +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { return nil, false } -// AsSparkSource is the BasicCopySource implementation for MicrosoftAccessSource. -func (mas MicrosoftAccessSource) AsSparkSource() (*SparkSource, bool) { +// AsNetezzaLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { return nil, false } -// AsShopifySource is the BasicCopySource implementation for MicrosoftAccessSource. -func (mas MicrosoftAccessSource) AsShopifySource() (*ShopifySource, bool) { +// AsVerticaLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { return nil, false } -// AsServiceNowSource is the BasicCopySource implementation for MicrosoftAccessSource. -func (mas MicrosoftAccessSource) AsServiceNowSource() (*ServiceNowSource, bool) { +// AsZohoLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { return nil, false } -// AsQuickBooksSource is the BasicCopySource implementation for MicrosoftAccessSource. -func (mas MicrosoftAccessSource) AsQuickBooksSource() (*QuickBooksSource, bool) { +// AsXeroLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { return nil, false } -// AsPrestoSource is the BasicCopySource implementation for MicrosoftAccessSource. -func (mas MicrosoftAccessSource) AsPrestoSource() (*PrestoSource, bool) { +// AsSquareLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { return nil, false } -// AsPhoenixSource is the BasicCopySource implementation for MicrosoftAccessSource. -func (mas MicrosoftAccessSource) AsPhoenixSource() (*PhoenixSource, bool) { +// AsSparkLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { return nil, false } -// AsPaypalSource is the BasicCopySource implementation for MicrosoftAccessSource. -func (mas MicrosoftAccessSource) AsPaypalSource() (*PaypalSource, bool) { +// AsShopifyLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { return nil, false } -// AsMarketoSource is the BasicCopySource implementation for MicrosoftAccessSource. -func (mas MicrosoftAccessSource) AsMarketoSource() (*MarketoSource, bool) { +// AsServiceNowLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { return nil, false } -// AsAzureMariaDBSource is the BasicCopySource implementation for MicrosoftAccessSource. -func (mas MicrosoftAccessSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { +// AsQuickBooksLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { return nil, false } -// AsMariaDBSource is the BasicCopySource implementation for MicrosoftAccessSource. -func (mas MicrosoftAccessSource) AsMariaDBSource() (*MariaDBSource, bool) { +// AsPrestoLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { return nil, false } -// AsMagentoSource is the BasicCopySource implementation for MicrosoftAccessSource. -func (mas MicrosoftAccessSource) AsMagentoSource() (*MagentoSource, bool) { +// AsPhoenixLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { return nil, false } -// AsJiraSource is the BasicCopySource implementation for MicrosoftAccessSource. -func (mas MicrosoftAccessSource) AsJiraSource() (*JiraSource, bool) { +// AsPaypalLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { return nil, false } -// AsImpalaSource is the BasicCopySource implementation for MicrosoftAccessSource. -func (mas MicrosoftAccessSource) AsImpalaSource() (*ImpalaSource, bool) { +// AsMarketoLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { return nil, false } -// AsHubspotSource is the BasicCopySource implementation for MicrosoftAccessSource. -func (mas MicrosoftAccessSource) AsHubspotSource() (*HubspotSource, bool) { +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { return nil, false } -// AsHiveSource is the BasicCopySource implementation for MicrosoftAccessSource. -func (mas MicrosoftAccessSource) AsHiveSource() (*HiveSource, bool) { +// AsMariaDBLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { return nil, false } -// AsHBaseSource is the BasicCopySource implementation for MicrosoftAccessSource. -func (mas MicrosoftAccessSource) AsHBaseSource() (*HBaseSource, bool) { +// AsMagentoLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { return nil, false } -// AsGreenplumSource is the BasicCopySource implementation for MicrosoftAccessSource. -func (mas MicrosoftAccessSource) AsGreenplumSource() (*GreenplumSource, bool) { +// AsJiraLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { return nil, false } -// AsGoogleBigQuerySource is the BasicCopySource implementation for MicrosoftAccessSource. -func (mas MicrosoftAccessSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { +// AsImpalaLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { return nil, false } -// AsEloquaSource is the BasicCopySource implementation for MicrosoftAccessSource. -func (mas MicrosoftAccessSource) AsEloquaSource() (*EloquaSource, bool) { +// AsHubspotLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { return nil, false } -// AsDrillSource is the BasicCopySource implementation for MicrosoftAccessSource. -func (mas MicrosoftAccessSource) AsDrillSource() (*DrillSource, bool) { +// AsHiveLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { return nil, false } -// AsCouchbaseSource is the BasicCopySource implementation for MicrosoftAccessSource. -func (mas MicrosoftAccessSource) AsCouchbaseSource() (*CouchbaseSource, bool) { +// AsHBaseLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { return nil, false } -// AsConcurSource is the BasicCopySource implementation for MicrosoftAccessSource. -func (mas MicrosoftAccessSource) AsConcurSource() (*ConcurSource, bool) { +// AsGreenplumLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { return nil, false } -// AsAzurePostgreSQLSource is the BasicCopySource implementation for MicrosoftAccessSource. -func (mas MicrosoftAccessSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { return nil, false } -// AsAmazonMWSSource is the BasicCopySource implementation for MicrosoftAccessSource. -func (mas MicrosoftAccessSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { +// AsEloquaLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { return nil, false } -// AsHTTPSource is the BasicCopySource implementation for MicrosoftAccessSource. -func (mas MicrosoftAccessSource) AsHTTPSource() (*HTTPSource, bool) { +// AsDrillLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { return nil, false } -// AsAzureBlobFSSource is the BasicCopySource implementation for MicrosoftAccessSource. -func (mas MicrosoftAccessSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { +// AsCouchbaseLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { return nil, false } -// AsAzureDataLakeStoreSource is the BasicCopySource implementation for MicrosoftAccessSource. -func (mas MicrosoftAccessSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { +// AsConcurLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { return nil, false } -// AsOffice365Source is the BasicCopySource implementation for MicrosoftAccessSource. -func (mas MicrosoftAccessSource) AsOffice365Source() (*Office365Source, bool) { +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { return nil, false } -// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for MicrosoftAccessSource. -func (mas MicrosoftAccessSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { return nil, false } -// AsMongoDbV2Source is the BasicCopySource implementation for MicrosoftAccessSource. -func (mas MicrosoftAccessSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { +// AsSapHanaLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { return nil, false } -// AsMongoDbSource is the BasicCopySource implementation for MicrosoftAccessSource. -func (mas MicrosoftAccessSource) AsMongoDbSource() (*MongoDbSource, bool) { +// AsSapBWLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { return nil, false } -// AsCassandraSource is the BasicCopySource implementation for MicrosoftAccessSource. -func (mas MicrosoftAccessSource) AsCassandraSource() (*CassandraSource, bool) { +// AsSftpServerLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { return nil, false } -// AsWebSource is the BasicCopySource implementation for MicrosoftAccessSource. -func (mas MicrosoftAccessSource) AsWebSource() (*WebSource, bool) { +// AsFtpServerLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { return nil, false } -// AsTeradataSource is the BasicCopySource implementation for MicrosoftAccessSource. -func (mas MicrosoftAccessSource) AsTeradataSource() (*TeradataSource, bool) { +// AsHTTPLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { return nil, false } -// AsOracleSource is the BasicCopySource implementation for MicrosoftAccessSource. -func (mas MicrosoftAccessSource) AsOracleSource() (*OracleSource, bool) { +// AsAzureSearchLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { return nil, false } -// AsAzureDataExplorerSource is the BasicCopySource implementation for MicrosoftAccessSource. -func (mas MicrosoftAccessSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { return nil, false } -// AsAzureMySQLSource is the BasicCopySource implementation for MicrosoftAccessSource. -func (mas MicrosoftAccessSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { return nil, false } -// AsHdfsSource is the BasicCopySource implementation for MicrosoftAccessSource. -func (mas MicrosoftAccessSource) AsHdfsSource() (*HdfsSource, bool) { +// AsAmazonS3LinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { return nil, false } -// AsFileSystemSource is the BasicCopySource implementation for MicrosoftAccessSource. -func (mas MicrosoftAccessSource) AsFileSystemSource() (*FileSystemSource, bool) { +// AsRestServiceLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { return nil, false } -// AsSQLDWSource is the BasicCopySource implementation for MicrosoftAccessSource. -func (mas MicrosoftAccessSource) AsSQLDWSource() (*SQLDWSource, bool) { +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { return nil, false } -// AsSQLMISource is the BasicCopySource implementation for MicrosoftAccessSource. -func (mas MicrosoftAccessSource) AsSQLMISource() (*SQLMISource, bool) { +// AsSapEccLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { return nil, false } -// AsAzureSQLSource is the BasicCopySource implementation for MicrosoftAccessSource. -func (mas MicrosoftAccessSource) AsAzureSQLSource() (*AzureSQLSource, bool) { +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { return nil, false } -// AsSQLServerSource is the BasicCopySource implementation for MicrosoftAccessSource. -func (mas MicrosoftAccessSource) AsSQLServerSource() (*SQLServerSource, bool) { +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { return nil, false } -// AsSQLSource is the BasicCopySource implementation for MicrosoftAccessSource. -func (mas MicrosoftAccessSource) AsSQLSource() (*SQLSource, bool) { +// AsSalesforceLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { return nil, false } -// AsRestSource is the BasicCopySource implementation for MicrosoftAccessSource. -func (mas MicrosoftAccessSource) AsRestSource() (*RestSource, bool) { +// AsOffice365LinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { return nil, false } -// AsSapTableSource is the BasicCopySource implementation for MicrosoftAccessSource. -func (mas MicrosoftAccessSource) AsSapTableSource() (*SapTableSource, bool) { +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { return nil, false } -// AsSapOpenHubSource is the BasicCopySource implementation for MicrosoftAccessSource. -func (mas MicrosoftAccessSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { return nil, false } -// AsSapHanaSource is the BasicCopySource implementation for MicrosoftAccessSource. -func (mas MicrosoftAccessSource) AsSapHanaSource() (*SapHanaSource, bool) { +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { return nil, false } -// AsSapEccSource is the BasicCopySource implementation for MicrosoftAccessSource. -func (mas MicrosoftAccessSource) AsSapEccSource() (*SapEccSource, bool) { +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { return nil, false } -// AsSapCloudForCustomerSource is the BasicCopySource implementation for MicrosoftAccessSource. -func (mas MicrosoftAccessSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { +// AsMongoDbLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return &mdls, true +} + +// AsCassandraLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { return nil, false } -// AsSalesforceServiceCloudSource is the BasicCopySource implementation for MicrosoftAccessSource. -func (mas MicrosoftAccessSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { +// AsWebLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { return nil, false } -// AsSalesforceSource is the BasicCopySource implementation for MicrosoftAccessSource. -func (mas MicrosoftAccessSource) AsSalesforceSource() (*SalesforceSource, bool) { +// AsODataLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { return nil, false } -// AsODataSource is the BasicCopySource implementation for MicrosoftAccessSource. -func (mas MicrosoftAccessSource) AsODataSource() (*ODataSource, bool) { +// AsHdfsLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { return nil, false } -// AsSapBwSource is the BasicCopySource implementation for MicrosoftAccessSource. -func (mas MicrosoftAccessSource) AsSapBwSource() (*SapBwSource, bool) { +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { return nil, false } -// AsSybaseSource is the BasicCopySource implementation for MicrosoftAccessSource. -func (mas MicrosoftAccessSource) AsSybaseSource() (*SybaseSource, bool) { +// AsInformixLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { return nil, false } -// AsPostgreSQLSource is the BasicCopySource implementation for MicrosoftAccessSource. -func (mas MicrosoftAccessSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { +// AsOdbcLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { return nil, false } -// AsMySQLSource is the BasicCopySource implementation for MicrosoftAccessSource. -func (mas MicrosoftAccessSource) AsMySQLSource() (*MySQLSource, bool) { +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { return nil, false } -// AsOdbcSource is the BasicCopySource implementation for MicrosoftAccessSource. -func (mas MicrosoftAccessSource) AsOdbcSource() (*OdbcSource, bool) { +// AsAzureMLLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { return nil, false } -// AsDb2Source is the BasicCopySource implementation for MicrosoftAccessSource. -func (mas MicrosoftAccessSource) AsDb2Source() (*Db2Source, bool) { +// AsTeradataLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { return nil, false } -// AsMicrosoftAccessSource is the BasicCopySource implementation for MicrosoftAccessSource. -func (mas MicrosoftAccessSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { - return &mas, true +// AsDb2LinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { + return nil, false } -// AsInformixSource is the BasicCopySource implementation for MicrosoftAccessSource. -func (mas MicrosoftAccessSource) AsInformixSource() (*InformixSource, bool) { +// AsSybaseLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { return nil, false } -// AsRelationalSource is the BasicCopySource implementation for MicrosoftAccessSource. -func (mas MicrosoftAccessSource) AsRelationalSource() (*RelationalSource, bool) { +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { return nil, false } -// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for MicrosoftAccessSource. -func (mas MicrosoftAccessSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { +// AsMySQLLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { return nil, false } -// AsDynamicsCrmSource is the BasicCopySource implementation for MicrosoftAccessSource. -func (mas MicrosoftAccessSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { return nil, false } -// AsDynamicsSource is the BasicCopySource implementation for MicrosoftAccessSource. -func (mas MicrosoftAccessSource) AsDynamicsSource() (*DynamicsSource, bool) { +// AsOracleLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { return nil, false } -// AsDocumentDbCollectionSource is the BasicCopySource implementation for MicrosoftAccessSource. -func (mas MicrosoftAccessSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { return nil, false } -// AsBlobSource is the BasicCopySource implementation for MicrosoftAccessSource. -func (mas MicrosoftAccessSource) AsBlobSource() (*BlobSource, bool) { +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { return nil, false } -// AsAzureTableSource is the BasicCopySource implementation for MicrosoftAccessSource. -func (mas MicrosoftAccessSource) AsAzureTableSource() (*AzureTableSource, bool) { +// AsFileServerLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { return nil, false } -// AsBinarySource is the BasicCopySource implementation for MicrosoftAccessSource. -func (mas MicrosoftAccessSource) AsBinarySource() (*BinarySource, bool) { +// AsHDInsightLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { return nil, false } -// AsDelimitedTextSource is the BasicCopySource implementation for MicrosoftAccessSource. -func (mas MicrosoftAccessSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { return nil, false } -// AsParquetSource is the BasicCopySource implementation for MicrosoftAccessSource. -func (mas MicrosoftAccessSource) AsParquetSource() (*ParquetSource, bool) { +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { return nil, false } -// AsAvroSource is the BasicCopySource implementation for MicrosoftAccessSource. -func (mas MicrosoftAccessSource) AsAvroSource() (*AvroSource, bool) { +// AsDynamicsLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { return nil, false } -// AsCopySource is the BasicCopySource implementation for MicrosoftAccessSource. -func (mas MicrosoftAccessSource) AsCopySource() (*CopySource, bool) { +// AsCosmosDbLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { return nil, false } -// AsBasicCopySource is the BasicCopySource implementation for MicrosoftAccessSource. -func (mas MicrosoftAccessSource) AsBasicCopySource() (BasicCopySource, bool) { - return &mas, true +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false } -// UnmarshalJSON is the custom unmarshaler for MicrosoftAccessSource struct. -func (mas *MicrosoftAccessSource) UnmarshalJSON(body []byte) error { +// AsAzureBatchLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. +func (mdls MongoDbLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &mdls, true +} + +// UnmarshalJSON is the custom unmarshaler for MongoDbLinkedService struct. +func (mdls *MongoDbLinkedService) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -115542,14 +132331,14 @@ func (mas *MicrosoftAccessSource) UnmarshalJSON(body []byte) error { } for k, v := range m { switch k { - case "query": + case "typeProperties": if v != nil { - var query interface{} - err = json.Unmarshal(*v, &query) + var mongoDbLinkedServiceTypeProperties MongoDbLinkedServiceTypeProperties + err = json.Unmarshal(*v, &mongoDbLinkedServiceTypeProperties) if err != nil { return err } - mas.Query = query + mdls.MongoDbLinkedServiceTypeProperties = &mongoDbLinkedServiceTypeProperties } default: if v != nil { @@ -115558,46 +132347,55 @@ func (mas *MicrosoftAccessSource) UnmarshalJSON(body []byte) error { if err != nil { return err } - if mas.AdditionalProperties == nil { - mas.AdditionalProperties = make(map[string]interface{}) + if mdls.AdditionalProperties == nil { + mdls.AdditionalProperties = make(map[string]interface{}) } - mas.AdditionalProperties[k] = additionalProperties + mdls.AdditionalProperties[k] = additionalProperties } - case "sourceRetryCount": + case "connectVia": if v != nil { - var sourceRetryCount interface{} - err = json.Unmarshal(*v, &sourceRetryCount) + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) if err != nil { return err } - mas.SourceRetryCount = sourceRetryCount + mdls.ConnectVia = &connectVia } - case "sourceRetryWait": + case "description": if v != nil { - var sourceRetryWait interface{} - err = json.Unmarshal(*v, &sourceRetryWait) + var description string + err = json.Unmarshal(*v, &description) if err != nil { return err } - mas.SourceRetryWait = sourceRetryWait + mdls.Description = &description } - case "maxConcurrentConnections": + case "parameters": if v != nil { - var maxConcurrentConnections interface{} - err = json.Unmarshal(*v, &maxConcurrentConnections) + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) if err != nil { return err } - mas.MaxConcurrentConnections = maxConcurrentConnections + mdls.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + mdls.Annotations = &annotations } case "type": if v != nil { - var typeVar TypeBasicCopySource + var typeVar TypeBasicLinkedService err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - mas.Type = typeVar + mdls.Type = typeVar } } } @@ -115605,489 +132403,627 @@ func (mas *MicrosoftAccessSource) UnmarshalJSON(body []byte) error { return nil } -// MicrosoftAccessTableDataset the Microsoft Access table dataset. -type MicrosoftAccessTableDataset struct { - // MicrosoftAccessTableDatasetTypeProperties - Microsoft Access table dataset properties. - *MicrosoftAccessTableDatasetTypeProperties `json:"typeProperties,omitempty"` +// MongoDbLinkedServiceTypeProperties mongoDB linked service properties. +type MongoDbLinkedServiceTypeProperties struct { + // Server - The IP address or server name of the MongoDB server. Type: string (or Expression with resultType string). + Server interface{} `json:"server,omitempty"` + // AuthenticationType - The authentication type to be used to connect to the MongoDB database. Possible values include: 'MongoDbAuthenticationTypeBasic', 'MongoDbAuthenticationTypeAnonymous' + AuthenticationType MongoDbAuthenticationType `json:"authenticationType,omitempty"` + // DatabaseName - The name of the MongoDB database that you want to access. Type: string (or Expression with resultType string). + DatabaseName interface{} `json:"databaseName,omitempty"` + // Username - Username for authentication. Type: string (or Expression with resultType string). + Username interface{} `json:"username,omitempty"` + // Password - Password for authentication. + Password BasicSecretBase `json:"password,omitempty"` + // AuthSource - Database to verify the username and password. Type: string (or Expression with resultType string). + AuthSource interface{} `json:"authSource,omitempty"` + // Port - The TCP port number that the MongoDB server uses to listen for client connections. The default value is 27017. Type: integer (or Expression with resultType integer), minimum: 0. + Port interface{} `json:"port,omitempty"` + // EnableSsl - Specifies whether the connections to the server are encrypted using SSL. The default value is false. Type: boolean (or Expression with resultType boolean). + EnableSsl interface{} `json:"enableSsl,omitempty"` + // AllowSelfSignedServerCert - Specifies whether to allow self-signed certificates from the server. The default value is false. Type: boolean (or Expression with resultType boolean). + AllowSelfSignedServerCert interface{} `json:"allowSelfSignedServerCert,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for MongoDbLinkedServiceTypeProperties struct. +func (mdlstp *MongoDbLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "server": + if v != nil { + var server interface{} + err = json.Unmarshal(*v, &server) + if err != nil { + return err + } + mdlstp.Server = server + } + case "authenticationType": + if v != nil { + var authenticationType MongoDbAuthenticationType + err = json.Unmarshal(*v, &authenticationType) + if err != nil { + return err + } + mdlstp.AuthenticationType = authenticationType + } + case "databaseName": + if v != nil { + var databaseName interface{} + err = json.Unmarshal(*v, &databaseName) + if err != nil { + return err + } + mdlstp.DatabaseName = databaseName + } + case "username": + if v != nil { + var username interface{} + err = json.Unmarshal(*v, &username) + if err != nil { + return err + } + mdlstp.Username = username + } + case "password": + if v != nil { + password, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + mdlstp.Password = password + } + case "authSource": + if v != nil { + var authSource interface{} + err = json.Unmarshal(*v, &authSource) + if err != nil { + return err + } + mdlstp.AuthSource = authSource + } + case "port": + if v != nil { + var port interface{} + err = json.Unmarshal(*v, &port) + if err != nil { + return err + } + mdlstp.Port = port + } + case "enableSsl": + if v != nil { + var enableSsl interface{} + err = json.Unmarshal(*v, &enableSsl) + if err != nil { + return err + } + mdlstp.EnableSsl = enableSsl + } + case "allowSelfSignedServerCert": + if v != nil { + var allowSelfSignedServerCert interface{} + err = json.Unmarshal(*v, &allowSelfSignedServerCert) + if err != nil { + return err + } + mdlstp.AllowSelfSignedServerCert = allowSelfSignedServerCert + } + case "encryptedCredential": + if v != nil { + var encryptedCredential interface{} + err = json.Unmarshal(*v, &encryptedCredential) + if err != nil { + return err + } + mdlstp.EncryptedCredential = encryptedCredential + } + } + } + + return nil +} + +// MongoDbSource a copy activity source for a MongoDB database. +type MongoDbSource struct { + // Query - Database query. Should be a SQL-92 query expression. Type: string (or Expression with resultType string). + Query interface{} `json:"query,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` - // Description - Dataset description. - Description *string `json:"description,omitempty"` - // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. - Structure interface{} `json:"structure,omitempty"` - // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. - Schema interface{} `json:"schema,omitempty"` - // LinkedServiceName - Linked service reference. - LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` - // Parameters - Parameters for dataset. - Parameters map[string]*ParameterSpecification `json:"parameters"` - // Annotations - List of tags that can be used for describing the Dataset. - Annotations *[]interface{} `json:"annotations,omitempty"` - // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. - Folder *DatasetFolder `json:"folder,omitempty"` - // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' - Type TypeBasicDataset `json:"type,omitempty"` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' + Type TypeBasicCopySource `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for MicrosoftAccessTableDataset. -func (matd MicrosoftAccessTableDataset) MarshalJSON() ([]byte, error) { - matd.Type = TypeMicrosoftAccessTable +// MarshalJSON is the custom marshaler for MongoDbSource. +func (mds MongoDbSource) MarshalJSON() ([]byte, error) { + mds.Type = TypeMongoDbSource objectMap := make(map[string]interface{}) - if matd.MicrosoftAccessTableDatasetTypeProperties != nil { - objectMap["typeProperties"] = matd.MicrosoftAccessTableDatasetTypeProperties - } - if matd.Description != nil { - objectMap["description"] = matd.Description - } - if matd.Structure != nil { - objectMap["structure"] = matd.Structure - } - if matd.Schema != nil { - objectMap["schema"] = matd.Schema - } - if matd.LinkedServiceName != nil { - objectMap["linkedServiceName"] = matd.LinkedServiceName + if mds.Query != nil { + objectMap["query"] = mds.Query } - if matd.Parameters != nil { - objectMap["parameters"] = matd.Parameters + if mds.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = mds.SourceRetryCount } - if matd.Annotations != nil { - objectMap["annotations"] = matd.Annotations + if mds.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = mds.SourceRetryWait } - if matd.Folder != nil { - objectMap["folder"] = matd.Folder + if mds.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = mds.MaxConcurrentConnections } - if matd.Type != "" { - objectMap["type"] = matd.Type + if mds.Type != "" { + objectMap["type"] = mds.Type } - for k, v := range matd.AdditionalProperties { + for k, v := range mds.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. -func (matd MicrosoftAccessTableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { +// AsHTTPSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsHTTPSource() (*HTTPSource, bool) { return nil, false } -// AsAzureDataExplorerTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. -func (matd MicrosoftAccessTableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { +// AsAzureBlobFSSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { return nil, false } -// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. -func (matd MicrosoftAccessTableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { return nil, false } -// AsDynamicsAXResourceDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. -func (matd MicrosoftAccessTableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { +// AsOffice365Source is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsOffice365Source() (*Office365Source, bool) { return nil, false } -// AsResponsysObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. -func (matd MicrosoftAccessTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { return nil, false } -// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. -func (matd MicrosoftAccessTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { +// AsMongoDbV2Source is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { return nil, false } -// AsVerticaTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. -func (matd MicrosoftAccessTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { +// AsMongoDbSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsMongoDbSource() (*MongoDbSource, bool) { + return &mds, true +} + +// AsWebSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsWebSource() (*WebSource, bool) { return nil, false } -// AsNetezzaTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. -func (matd MicrosoftAccessTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { +// AsOracleSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsOracleSource() (*OracleSource, bool) { return nil, false } -// AsZohoObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. -func (matd MicrosoftAccessTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { +// AsAzureDataExplorerSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { return nil, false } -// AsXeroObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. -func (matd MicrosoftAccessTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { +// AsHdfsSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsHdfsSource() (*HdfsSource, bool) { return nil, false } -// AsSquareObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. -func (matd MicrosoftAccessTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { +// AsFileSystemSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsFileSystemSource() (*FileSystemSource, bool) { return nil, false } -// AsSparkObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. -func (matd MicrosoftAccessTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { +// AsRestSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsRestSource() (*RestSource, bool) { return nil, false } -// AsShopifyObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. -func (matd MicrosoftAccessTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { return nil, false } -// AsServiceNowObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. -func (matd MicrosoftAccessTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { +// AsODataSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsODataSource() (*ODataSource, bool) { return nil, false } -// AsQuickBooksObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. -func (matd MicrosoftAccessTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { +// AsMicrosoftAccessSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { return nil, false } -// AsPrestoObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. -func (matd MicrosoftAccessTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { +// AsRelationalSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsRelationalSource() (*RelationalSource, bool) { return nil, false } -// AsPhoenixObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. -func (matd MicrosoftAccessTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { return nil, false } -// AsPaypalObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. -func (matd MicrosoftAccessTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { +// AsDynamicsCrmSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { return nil, false } -// AsMarketoObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. -func (matd MicrosoftAccessTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { +// AsDynamicsSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsDynamicsSource() (*DynamicsSource, bool) { return nil, false } -// AsAzureMariaDBTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. -func (matd MicrosoftAccessTableDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { return nil, false } -// AsMariaDBTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. -func (matd MicrosoftAccessTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { +// AsDocumentDbCollectionSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { return nil, false } -// AsMagentoObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. -func (matd MicrosoftAccessTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { +// AsBlobSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsBlobSource() (*BlobSource, bool) { return nil, false } -// AsJiraObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. -func (matd MicrosoftAccessTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { +// AsAmazonRedshiftSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { return nil, false } -// AsImpalaObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. -func (matd MicrosoftAccessTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { +// AsGoogleAdWordsSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { return nil, false } -// AsHubspotObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. -func (matd MicrosoftAccessTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { +// AsOracleServiceCloudSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { return nil, false } -// AsHiveObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. -func (matd MicrosoftAccessTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { +// AsDynamicsAXSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { return nil, false } -// AsHBaseObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. -func (matd MicrosoftAccessTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { +// AsResponsysSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsResponsysSource() (*ResponsysSource, bool) { return nil, false } -// AsGreenplumTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. -func (matd MicrosoftAccessTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { return nil, false } -// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. -func (matd MicrosoftAccessTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { +// AsVerticaSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsVerticaSource() (*VerticaSource, bool) { return nil, false } -// AsEloquaObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. -func (matd MicrosoftAccessTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { +// AsNetezzaSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsNetezzaSource() (*NetezzaSource, bool) { return nil, false } -// AsDrillTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. -func (matd MicrosoftAccessTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { +// AsZohoSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsZohoSource() (*ZohoSource, bool) { return nil, false } -// AsCouchbaseTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. -func (matd MicrosoftAccessTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { +// AsXeroSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsXeroSource() (*XeroSource, bool) { return nil, false } -// AsConcurObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. -func (matd MicrosoftAccessTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { +// AsSquareSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsSquareSource() (*SquareSource, bool) { return nil, false } -// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. -func (matd MicrosoftAccessTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { +// AsSparkSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsSparkSource() (*SparkSource, bool) { return nil, false } -// AsAmazonMWSObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. -func (matd MicrosoftAccessTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { +// AsShopifySource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsShopifySource() (*ShopifySource, bool) { return nil, false } -// AsHTTPDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. -func (matd MicrosoftAccessTableDataset) AsHTTPDataset() (*HTTPDataset, bool) { +// AsServiceNowSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsServiceNowSource() (*ServiceNowSource, bool) { return nil, false } -// AsAzureSearchIndexDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. -func (matd MicrosoftAccessTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { +// AsQuickBooksSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsQuickBooksSource() (*QuickBooksSource, bool) { return nil, false } -// AsWebTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. -func (matd MicrosoftAccessTableDataset) AsWebTableDataset() (*WebTableDataset, bool) { +// AsPrestoSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsPrestoSource() (*PrestoSource, bool) { return nil, false } -// AsSapTableResourceDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. -func (matd MicrosoftAccessTableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { +// AsPhoenixSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsPhoenixSource() (*PhoenixSource, bool) { return nil, false } -// AsRestResourceDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. -func (matd MicrosoftAccessTableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { +// AsPaypalSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsPaypalSource() (*PaypalSource, bool) { return nil, false } -// AsSQLServerTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. -func (matd MicrosoftAccessTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { +// AsMarketoSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsMarketoSource() (*MarketoSource, bool) { return nil, false } -// AsSapOpenHubTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. -func (matd MicrosoftAccessTableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { +// AsAzureMariaDBSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { return nil, false } -// AsSapHanaTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. -func (matd MicrosoftAccessTableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { +// AsMariaDBSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsMariaDBSource() (*MariaDBSource, bool) { return nil, false } -// AsSapEccResourceDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. -func (matd MicrosoftAccessTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { +// AsMagentoSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsMagentoSource() (*MagentoSource, bool) { return nil, false } -// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. -func (matd MicrosoftAccessTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { +// AsJiraSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsJiraSource() (*JiraSource, bool) { return nil, false } -// AsSapBwCubeDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. -func (matd MicrosoftAccessTableDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { +// AsImpalaSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsImpalaSource() (*ImpalaSource, bool) { return nil, false } -// AsSybaseTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. -func (matd MicrosoftAccessTableDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { +// AsHubspotSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsHubspotSource() (*HubspotSource, bool) { return nil, false } -// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. -func (matd MicrosoftAccessTableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { +// AsHiveSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsHiveSource() (*HiveSource, bool) { return nil, false } -// AsSalesforceObjectDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. -func (matd MicrosoftAccessTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { +// AsHBaseSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsHBaseSource() (*HBaseSource, bool) { return nil, false } -// AsMicrosoftAccessTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. -func (matd MicrosoftAccessTableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { - return &matd, true +// AsGreenplumSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsGreenplumSource() (*GreenplumSource, bool) { + return nil, false } -// AsPostgreSQLTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. -func (matd MicrosoftAccessTableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { +// AsGoogleBigQuerySource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { return nil, false } -// AsMySQLTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. -func (matd MicrosoftAccessTableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { +// AsEloquaSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsEloquaSource() (*EloquaSource, bool) { return nil, false } -// AsOdbcTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. -func (matd MicrosoftAccessTableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { +// AsDrillSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsDrillSource() (*DrillSource, bool) { + return nil, false +} + +// AsCouchbaseSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsCouchbaseSource() (*CouchbaseSource, bool) { + return nil, false +} + +// AsConcurSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsConcurSource() (*ConcurSource, bool) { + return nil, false +} + +// AsAzurePostgreSQLSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { + return nil, false +} + +// AsAmazonMWSSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { + return nil, false +} + +// AsCassandraSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsCassandraSource() (*CassandraSource, bool) { return nil, false } -// AsInformixTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. -func (matd MicrosoftAccessTableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { +// AsTeradataSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsTeradataSource() (*TeradataSource, bool) { return nil, false } -// AsRelationalTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. -func (matd MicrosoftAccessTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { +// AsAzureMySQLSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { return nil, false } -// AsAzureMySQLTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. -func (matd MicrosoftAccessTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { +// AsSQLDWSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsSQLDWSource() (*SQLDWSource, bool) { return nil, false } -// AsTeradataTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. -func (matd MicrosoftAccessTableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { +// AsSQLMISource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsSQLMISource() (*SQLMISource, bool) { return nil, false } -// AsOracleTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. -func (matd MicrosoftAccessTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { +// AsAzureSQLSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsAzureSQLSource() (*AzureSQLSource, bool) { return nil, false } -// AsODataResourceDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. -func (matd MicrosoftAccessTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { +// AsSQLServerSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsSQLServerSource() (*SQLServerSource, bool) { return nil, false } -// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. -func (matd MicrosoftAccessTableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { +// AsSQLSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsSQLSource() (*SQLSource, bool) { return nil, false } -// AsMongoDbV2CollectionDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. -func (matd MicrosoftAccessTableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { +// AsSapTableSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsSapTableSource() (*SapTableSource, bool) { return nil, false } -// AsMongoDbCollectionDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. -func (matd MicrosoftAccessTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { +// AsSapOpenHubSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { return nil, false } -// AsFileShareDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. -func (matd MicrosoftAccessTableDataset) AsFileShareDataset() (*FileShareDataset, bool) { +// AsSapHanaSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsSapHanaSource() (*SapHanaSource, bool) { return nil, false } -// AsOffice365Dataset is the BasicDataset implementation for MicrosoftAccessTableDataset. -func (matd MicrosoftAccessTableDataset) AsOffice365Dataset() (*Office365Dataset, bool) { +// AsSapEccSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsSapEccSource() (*SapEccSource, bool) { return nil, false } -// AsAzureBlobFSDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. -func (matd MicrosoftAccessTableDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) { +// AsSapCloudForCustomerSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { return nil, false } -// AsAzureDataLakeStoreDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. -func (matd MicrosoftAccessTableDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) { +// AsSalesforceSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsSalesforceSource() (*SalesforceSource, bool) { return nil, false } -// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. -func (matd MicrosoftAccessTableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { +// AsSapBwSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsSapBwSource() (*SapBwSource, bool) { return nil, false } -// AsDynamicsCrmEntityDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. -func (matd MicrosoftAccessTableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { +// AsSybaseSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsSybaseSource() (*SybaseSource, bool) { return nil, false } -// AsDynamicsEntityDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. -func (matd MicrosoftAccessTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { +// AsPostgreSQLSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { return nil, false } -// AsDocumentDbCollectionDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. -func (matd MicrosoftAccessTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { +// AsMySQLSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsMySQLSource() (*MySQLSource, bool) { return nil, false } -// AsCustomDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. -func (matd MicrosoftAccessTableDataset) AsCustomDataset() (*CustomDataset, bool) { +// AsOdbcSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsOdbcSource() (*OdbcSource, bool) { return nil, false } -// AsCassandraTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. -func (matd MicrosoftAccessTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { +// AsDb2Source is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsDb2Source() (*Db2Source, bool) { return nil, false } -// AsAzureSQLDWTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. -func (matd MicrosoftAccessTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { +// AsInformixSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsInformixSource() (*InformixSource, bool) { return nil, false } -// AsAzureSQLMITableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. -func (matd MicrosoftAccessTableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { +// AsAzureTableSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsAzureTableSource() (*AzureTableSource, bool) { return nil, false } -// AsAzureSQLTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. -func (matd MicrosoftAccessTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { +// AsTabularSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsTabularSource() (*TabularSource, bool) { return nil, false } -// AsAzureTableDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. -func (matd MicrosoftAccessTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { +// AsBasicTabularSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsBasicTabularSource() (BasicTabularSource, bool) { return nil, false } -// AsAzureBlobDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. -func (matd MicrosoftAccessTableDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) { +// AsBinarySource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsBinarySource() (*BinarySource, bool) { return nil, false } -// AsBinaryDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. -func (matd MicrosoftAccessTableDataset) AsBinaryDataset() (*BinaryDataset, bool) { +// AsOrcSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsOrcSource() (*OrcSource, bool) { return nil, false } -// AsDelimitedTextDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. -func (matd MicrosoftAccessTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { +// AsJSONSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsJSONSource() (*JSONSource, bool) { return nil, false } -// AsParquetDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. -func (matd MicrosoftAccessTableDataset) AsParquetDataset() (*ParquetDataset, bool) { +// AsDelimitedTextSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { return nil, false } -// AsAvroDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. -func (matd MicrosoftAccessTableDataset) AsAvroDataset() (*AvroDataset, bool) { +// AsParquetSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsParquetSource() (*ParquetSource, bool) { return nil, false } -// AsAmazonS3Dataset is the BasicDataset implementation for MicrosoftAccessTableDataset. -func (matd MicrosoftAccessTableDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) { +// AsAvroSource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsAvroSource() (*AvroSource, bool) { return nil, false } -// AsDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. -func (matd MicrosoftAccessTableDataset) AsDataset() (*Dataset, bool) { +// AsCopySource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsCopySource() (*CopySource, bool) { return nil, false } -// AsBasicDataset is the BasicDataset implementation for MicrosoftAccessTableDataset. -func (matd MicrosoftAccessTableDataset) AsBasicDataset() (BasicDataset, bool) { - return &matd, true +// AsBasicCopySource is the BasicCopySource implementation for MongoDbSource. +func (mds MongoDbSource) AsBasicCopySource() (BasicCopySource, bool) { + return &mds, true } -// UnmarshalJSON is the custom unmarshaler for MicrosoftAccessTableDataset struct. -func (matd *MicrosoftAccessTableDataset) UnmarshalJSON(body []byte) error { +// UnmarshalJSON is the custom unmarshaler for MongoDbSource struct. +func (mds *MongoDbSource) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -116095,14 +133031,14 @@ func (matd *MicrosoftAccessTableDataset) UnmarshalJSON(body []byte) error { } for k, v := range m { switch k { - case "typeProperties": + case "query": if v != nil { - var microsoftAccessTableDatasetTypeProperties MicrosoftAccessTableDatasetTypeProperties - err = json.Unmarshal(*v, µsoftAccessTableDatasetTypeProperties) + var query interface{} + err = json.Unmarshal(*v, &query) if err != nil { return err } - matd.MicrosoftAccessTableDatasetTypeProperties = µsoftAccessTableDatasetTypeProperties + mds.Query = query } default: if v != nil { @@ -116111,82 +133047,46 @@ func (matd *MicrosoftAccessTableDataset) UnmarshalJSON(body []byte) error { if err != nil { return err } - if matd.AdditionalProperties == nil { - matd.AdditionalProperties = make(map[string]interface{}) - } - matd.AdditionalProperties[k] = additionalProperties - } - case "description": - if v != nil { - var description string - err = json.Unmarshal(*v, &description) - if err != nil { - return err - } - matd.Description = &description - } - case "structure": - if v != nil { - var structure interface{} - err = json.Unmarshal(*v, &structure) - if err != nil { - return err - } - matd.Structure = structure - } - case "schema": - if v != nil { - var schema interface{} - err = json.Unmarshal(*v, &schema) - if err != nil { - return err - } - matd.Schema = schema - } - case "linkedServiceName": - if v != nil { - var linkedServiceName LinkedServiceReference - err = json.Unmarshal(*v, &linkedServiceName) - if err != nil { - return err + if mds.AdditionalProperties == nil { + mds.AdditionalProperties = make(map[string]interface{}) } - matd.LinkedServiceName = &linkedServiceName + mds.AdditionalProperties[k] = additionalProperties } - case "parameters": + case "sourceRetryCount": if v != nil { - var parameters map[string]*ParameterSpecification - err = json.Unmarshal(*v, ¶meters) + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) if err != nil { return err } - matd.Parameters = parameters + mds.SourceRetryCount = sourceRetryCount } - case "annotations": + case "sourceRetryWait": if v != nil { - var annotations []interface{} - err = json.Unmarshal(*v, &annotations) + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) if err != nil { return err } - matd.Annotations = &annotations + mds.SourceRetryWait = sourceRetryWait } - case "folder": + case "maxConcurrentConnections": if v != nil { - var folder DatasetFolder - err = json.Unmarshal(*v, &folder) + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) if err != nil { return err } - matd.Folder = &folder + mds.MaxConcurrentConnections = maxConcurrentConnections } case "type": if v != nil { - var typeVar TypeBasicDataset + var typeVar TypeBasicCopySource err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - matd.Type = typeVar + mds.Type = typeVar } } } @@ -116194,16 +133094,10 @@ func (matd *MicrosoftAccessTableDataset) UnmarshalJSON(body []byte) error { return nil } -// MicrosoftAccessTableDatasetTypeProperties microsoft Access table dataset properties. -type MicrosoftAccessTableDatasetTypeProperties struct { - // TableName - The Microsoft Access table name. Type: string (or Expression with resultType string). - TableName interface{} `json:"tableName,omitempty"` -} - -// MongoDbCollectionDataset the MongoDB database dataset. -type MongoDbCollectionDataset struct { - // MongoDbCollectionDatasetTypeProperties - MongoDB database dataset properties. - *MongoDbCollectionDatasetTypeProperties `json:"typeProperties,omitempty"` +// MongoDbV2CollectionDataset the MongoDB database dataset. +type MongoDbV2CollectionDataset struct { + // MongoDbV2CollectionDatasetTypeProperties - MongoDB database dataset properties. + *MongoDbV2CollectionDatasetTypeProperties `json:"typeProperties,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` // Description - Dataset description. @@ -116220,469 +133114,494 @@ type MongoDbCollectionDataset struct { Annotations *[]interface{} `json:"annotations,omitempty"` // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. Folder *DatasetFolder `json:"folder,omitempty"` - // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' + // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' Type TypeBasicDataset `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for MongoDbCollectionDataset. -func (mdcd MongoDbCollectionDataset) MarshalJSON() ([]byte, error) { - mdcd.Type = TypeMongoDbCollection +// MarshalJSON is the custom marshaler for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) MarshalJSON() ([]byte, error) { + mdvcd.Type = TypeMongoDbV2Collection objectMap := make(map[string]interface{}) - if mdcd.MongoDbCollectionDatasetTypeProperties != nil { - objectMap["typeProperties"] = mdcd.MongoDbCollectionDatasetTypeProperties + if mdvcd.MongoDbV2CollectionDatasetTypeProperties != nil { + objectMap["typeProperties"] = mdvcd.MongoDbV2CollectionDatasetTypeProperties } - if mdcd.Description != nil { - objectMap["description"] = mdcd.Description + if mdvcd.Description != nil { + objectMap["description"] = mdvcd.Description } - if mdcd.Structure != nil { - objectMap["structure"] = mdcd.Structure + if mdvcd.Structure != nil { + objectMap["structure"] = mdvcd.Structure } - if mdcd.Schema != nil { - objectMap["schema"] = mdcd.Schema + if mdvcd.Schema != nil { + objectMap["schema"] = mdvcd.Schema } - if mdcd.LinkedServiceName != nil { - objectMap["linkedServiceName"] = mdcd.LinkedServiceName + if mdvcd.LinkedServiceName != nil { + objectMap["linkedServiceName"] = mdvcd.LinkedServiceName } - if mdcd.Parameters != nil { - objectMap["parameters"] = mdcd.Parameters + if mdvcd.Parameters != nil { + objectMap["parameters"] = mdvcd.Parameters } - if mdcd.Annotations != nil { - objectMap["annotations"] = mdcd.Annotations + if mdvcd.Annotations != nil { + objectMap["annotations"] = mdvcd.Annotations } - if mdcd.Folder != nil { - objectMap["folder"] = mdcd.Folder + if mdvcd.Folder != nil { + objectMap["folder"] = mdvcd.Folder } - if mdcd.Type != "" { - objectMap["type"] = mdcd.Type + if mdvcd.Type != "" { + objectMap["type"] = mdvcd.Type } - for k, v := range mdcd.AdditionalProperties { + for k, v := range mdvcd.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset. -func (mdcd MongoDbCollectionDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { return nil, false } -// AsAzureDataExplorerTableDataset is the BasicDataset implementation for MongoDbCollectionDataset. -func (mdcd MongoDbCollectionDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { return nil, false } -// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset. -func (mdcd MongoDbCollectionDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { return nil, false } -// AsDynamicsAXResourceDataset is the BasicDataset implementation for MongoDbCollectionDataset. -func (mdcd MongoDbCollectionDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { +// AsDynamicsAXResourceDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { return nil, false } -// AsResponsysObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset. -func (mdcd MongoDbCollectionDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { +// AsResponsysObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { return nil, false } -// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset. -func (mdcd MongoDbCollectionDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { return nil, false } -// AsVerticaTableDataset is the BasicDataset implementation for MongoDbCollectionDataset. -func (mdcd MongoDbCollectionDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { +// AsVerticaTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { return nil, false } -// AsNetezzaTableDataset is the BasicDataset implementation for MongoDbCollectionDataset. -func (mdcd MongoDbCollectionDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { +// AsNetezzaTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { return nil, false } -// AsZohoObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset. -func (mdcd MongoDbCollectionDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { +// AsZohoObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { return nil, false } -// AsXeroObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset. -func (mdcd MongoDbCollectionDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { +// AsXeroObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { return nil, false } -// AsSquareObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset. -func (mdcd MongoDbCollectionDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { +// AsSquareObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { return nil, false } -// AsSparkObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset. -func (mdcd MongoDbCollectionDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { +// AsSparkObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { return nil, false } -// AsShopifyObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset. -func (mdcd MongoDbCollectionDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { +// AsShopifyObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { return nil, false } -// AsServiceNowObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset. -func (mdcd MongoDbCollectionDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { +// AsServiceNowObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { return nil, false } -// AsQuickBooksObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset. -func (mdcd MongoDbCollectionDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { +// AsQuickBooksObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { return nil, false } -// AsPrestoObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset. -func (mdcd MongoDbCollectionDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { +// AsPrestoObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { return nil, false } -// AsPhoenixObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset. -func (mdcd MongoDbCollectionDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { +// AsPhoenixObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { return nil, false } -// AsPaypalObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset. -func (mdcd MongoDbCollectionDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { +// AsPaypalObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { return nil, false } -// AsMarketoObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset. -func (mdcd MongoDbCollectionDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { +// AsMarketoObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { return nil, false } -// AsAzureMariaDBTableDataset is the BasicDataset implementation for MongoDbCollectionDataset. -func (mdcd MongoDbCollectionDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { +// AsAzureMariaDBTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { return nil, false } -// AsMariaDBTableDataset is the BasicDataset implementation for MongoDbCollectionDataset. -func (mdcd MongoDbCollectionDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { +// AsMariaDBTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { return nil, false } -// AsMagentoObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset. -func (mdcd MongoDbCollectionDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { +// AsMagentoObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { return nil, false } -// AsJiraObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset. -func (mdcd MongoDbCollectionDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { +// AsJiraObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { return nil, false } -// AsImpalaObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset. -func (mdcd MongoDbCollectionDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { +// AsImpalaObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { return nil, false } -// AsHubspotObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset. -func (mdcd MongoDbCollectionDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { +// AsHubspotObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { return nil, false } -// AsHiveObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset. -func (mdcd MongoDbCollectionDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { +// AsHiveObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { return nil, false } -// AsHBaseObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset. -func (mdcd MongoDbCollectionDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { +// AsHBaseObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { return nil, false } -// AsGreenplumTableDataset is the BasicDataset implementation for MongoDbCollectionDataset. -func (mdcd MongoDbCollectionDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { +// AsGreenplumTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { return nil, false } -// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset. -func (mdcd MongoDbCollectionDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { return nil, false } -// AsEloquaObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset. -func (mdcd MongoDbCollectionDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { +// AsEloquaObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { return nil, false } -// AsDrillTableDataset is the BasicDataset implementation for MongoDbCollectionDataset. -func (mdcd MongoDbCollectionDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { +// AsDrillTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { return nil, false } -// AsCouchbaseTableDataset is the BasicDataset implementation for MongoDbCollectionDataset. -func (mdcd MongoDbCollectionDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { +// AsCouchbaseTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { return nil, false } -// AsConcurObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset. -func (mdcd MongoDbCollectionDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { +// AsConcurObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { return nil, false } -// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for MongoDbCollectionDataset. -func (mdcd MongoDbCollectionDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { return nil, false } -// AsAmazonMWSObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset. -func (mdcd MongoDbCollectionDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { +// AsAmazonMWSObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { return nil, false } -// AsHTTPDataset is the BasicDataset implementation for MongoDbCollectionDataset. -func (mdcd MongoDbCollectionDataset) AsHTTPDataset() (*HTTPDataset, bool) { +// AsHTTPDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsHTTPDataset() (*HTTPDataset, bool) { return nil, false } -// AsAzureSearchIndexDataset is the BasicDataset implementation for MongoDbCollectionDataset. -func (mdcd MongoDbCollectionDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { +// AsAzureSearchIndexDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { return nil, false } -// AsWebTableDataset is the BasicDataset implementation for MongoDbCollectionDataset. -func (mdcd MongoDbCollectionDataset) AsWebTableDataset() (*WebTableDataset, bool) { +// AsWebTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsWebTableDataset() (*WebTableDataset, bool) { return nil, false } -// AsSapTableResourceDataset is the BasicDataset implementation for MongoDbCollectionDataset. -func (mdcd MongoDbCollectionDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { +// AsSapTableResourceDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { return nil, false } -// AsRestResourceDataset is the BasicDataset implementation for MongoDbCollectionDataset. -func (mdcd MongoDbCollectionDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { +// AsRestResourceDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { return nil, false } -// AsSQLServerTableDataset is the BasicDataset implementation for MongoDbCollectionDataset. -func (mdcd MongoDbCollectionDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { +// AsSQLServerTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { return nil, false } -// AsSapOpenHubTableDataset is the BasicDataset implementation for MongoDbCollectionDataset. -func (mdcd MongoDbCollectionDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { +// AsSapOpenHubTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { return nil, false } -// AsSapHanaTableDataset is the BasicDataset implementation for MongoDbCollectionDataset. -func (mdcd MongoDbCollectionDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { +// AsSapHanaTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { return nil, false } -// AsSapEccResourceDataset is the BasicDataset implementation for MongoDbCollectionDataset. -func (mdcd MongoDbCollectionDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { +// AsSapEccResourceDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { return nil, false } -// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for MongoDbCollectionDataset. -func (mdcd MongoDbCollectionDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { return nil, false } -// AsSapBwCubeDataset is the BasicDataset implementation for MongoDbCollectionDataset. -func (mdcd MongoDbCollectionDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { +// AsSapBwCubeDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { return nil, false } -// AsSybaseTableDataset is the BasicDataset implementation for MongoDbCollectionDataset. -func (mdcd MongoDbCollectionDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { +// AsSybaseTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { return nil, false } -// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset. -func (mdcd MongoDbCollectionDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { return nil, false } -// AsSalesforceObjectDataset is the BasicDataset implementation for MongoDbCollectionDataset. -func (mdcd MongoDbCollectionDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { +// AsSalesforceObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { return nil, false } -// AsMicrosoftAccessTableDataset is the BasicDataset implementation for MongoDbCollectionDataset. -func (mdcd MongoDbCollectionDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { return nil, false } -// AsPostgreSQLTableDataset is the BasicDataset implementation for MongoDbCollectionDataset. -func (mdcd MongoDbCollectionDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { +// AsPostgreSQLTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { return nil, false } -// AsMySQLTableDataset is the BasicDataset implementation for MongoDbCollectionDataset. -func (mdcd MongoDbCollectionDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { +// AsMySQLTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { return nil, false } -// AsOdbcTableDataset is the BasicDataset implementation for MongoDbCollectionDataset. -func (mdcd MongoDbCollectionDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { +// AsOdbcTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { return nil, false } -// AsInformixTableDataset is the BasicDataset implementation for MongoDbCollectionDataset. -func (mdcd MongoDbCollectionDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { +// AsInformixTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { return nil, false } -// AsRelationalTableDataset is the BasicDataset implementation for MongoDbCollectionDataset. -func (mdcd MongoDbCollectionDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { +// AsRelationalTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { return nil, false } -// AsAzureMySQLTableDataset is the BasicDataset implementation for MongoDbCollectionDataset. -func (mdcd MongoDbCollectionDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { +// AsDb2TableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { return nil, false } -// AsTeradataTableDataset is the BasicDataset implementation for MongoDbCollectionDataset. -func (mdcd MongoDbCollectionDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { return nil, false } -// AsOracleTableDataset is the BasicDataset implementation for MongoDbCollectionDataset. -func (mdcd MongoDbCollectionDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { +// AsAzureMySQLTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { return nil, false } -// AsODataResourceDataset is the BasicDataset implementation for MongoDbCollectionDataset. -func (mdcd MongoDbCollectionDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { +// AsTeradataTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { return nil, false } -// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for MongoDbCollectionDataset. -func (mdcd MongoDbCollectionDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { +// AsOracleTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { return nil, false } -// AsMongoDbV2CollectionDataset is the BasicDataset implementation for MongoDbCollectionDataset. -func (mdcd MongoDbCollectionDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { +// AsODataResourceDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { return nil, false } -// AsMongoDbCollectionDataset is the BasicDataset implementation for MongoDbCollectionDataset. -func (mdcd MongoDbCollectionDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { - return &mdcd, true +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { + return nil, false } -// AsFileShareDataset is the BasicDataset implementation for MongoDbCollectionDataset. -func (mdcd MongoDbCollectionDataset) AsFileShareDataset() (*FileShareDataset, bool) { +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { + return &mdvcd, true +} + +// AsMongoDbCollectionDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { return nil, false } -// AsOffice365Dataset is the BasicDataset implementation for MongoDbCollectionDataset. -func (mdcd MongoDbCollectionDataset) AsOffice365Dataset() (*Office365Dataset, bool) { +// AsFileShareDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsFileShareDataset() (*FileShareDataset, bool) { return nil, false } -// AsAzureBlobFSDataset is the BasicDataset implementation for MongoDbCollectionDataset. -func (mdcd MongoDbCollectionDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) { +// AsOffice365Dataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsOffice365Dataset() (*Office365Dataset, bool) { return nil, false } -// AsAzureDataLakeStoreDataset is the BasicDataset implementation for MongoDbCollectionDataset. -func (mdcd MongoDbCollectionDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) { +// AsAzureBlobFSDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) { return nil, false } -// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for MongoDbCollectionDataset. -func (mdcd MongoDbCollectionDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { +// AsAzureDataLakeStoreDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) { return nil, false } -// AsDynamicsCrmEntityDataset is the BasicDataset implementation for MongoDbCollectionDataset. -func (mdcd MongoDbCollectionDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { return nil, false } -// AsDynamicsEntityDataset is the BasicDataset implementation for MongoDbCollectionDataset. -func (mdcd MongoDbCollectionDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { return nil, false } -// AsDocumentDbCollectionDataset is the BasicDataset implementation for MongoDbCollectionDataset. -func (mdcd MongoDbCollectionDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { +// AsDynamicsEntityDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { return nil, false } -// AsCustomDataset is the BasicDataset implementation for MongoDbCollectionDataset. -func (mdcd MongoDbCollectionDataset) AsCustomDataset() (*CustomDataset, bool) { +// AsDocumentDbCollectionDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { return nil, false } -// AsCassandraTableDataset is the BasicDataset implementation for MongoDbCollectionDataset. -func (mdcd MongoDbCollectionDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { return nil, false } -// AsAzureSQLDWTableDataset is the BasicDataset implementation for MongoDbCollectionDataset. -func (mdcd MongoDbCollectionDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { +// AsCustomDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsCustomDataset() (*CustomDataset, bool) { return nil, false } -// AsAzureSQLMITableDataset is the BasicDataset implementation for MongoDbCollectionDataset. -func (mdcd MongoDbCollectionDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { +// AsCassandraTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { return nil, false } -// AsAzureSQLTableDataset is the BasicDataset implementation for MongoDbCollectionDataset. -func (mdcd MongoDbCollectionDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { +// AsAzureSQLDWTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { return nil, false } -// AsAzureTableDataset is the BasicDataset implementation for MongoDbCollectionDataset. -func (mdcd MongoDbCollectionDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { +// AsAzureSQLMITableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { return nil, false } -// AsAzureBlobDataset is the BasicDataset implementation for MongoDbCollectionDataset. -func (mdcd MongoDbCollectionDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) { +// AsAzureSQLTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { return nil, false } -// AsBinaryDataset is the BasicDataset implementation for MongoDbCollectionDataset. -func (mdcd MongoDbCollectionDataset) AsBinaryDataset() (*BinaryDataset, bool) { +// AsAzureTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { return nil, false } -// AsDelimitedTextDataset is the BasicDataset implementation for MongoDbCollectionDataset. -func (mdcd MongoDbCollectionDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { +// AsAzureBlobDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) { return nil, false } -// AsParquetDataset is the BasicDataset implementation for MongoDbCollectionDataset. -func (mdcd MongoDbCollectionDataset) AsParquetDataset() (*ParquetDataset, bool) { +// AsBinaryDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsBinaryDataset() (*BinaryDataset, bool) { return nil, false } -// AsAvroDataset is the BasicDataset implementation for MongoDbCollectionDataset. -func (mdcd MongoDbCollectionDataset) AsAvroDataset() (*AvroDataset, bool) { +// AsOrcDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsOrcDataset() (*OrcDataset, bool) { return nil, false } -// AsAmazonS3Dataset is the BasicDataset implementation for MongoDbCollectionDataset. -func (mdcd MongoDbCollectionDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) { +// AsJSONDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsJSONDataset() (*JSONDataset, bool) { return nil, false } -// AsDataset is the BasicDataset implementation for MongoDbCollectionDataset. -func (mdcd MongoDbCollectionDataset) AsDataset() (*Dataset, bool) { +// AsDelimitedTextDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { return nil, false } -// AsBasicDataset is the BasicDataset implementation for MongoDbCollectionDataset. -func (mdcd MongoDbCollectionDataset) AsBasicDataset() (BasicDataset, bool) { - return &mdcd, true +// AsParquetDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsParquetDataset() (*ParquetDataset, bool) { + return nil, false } -// UnmarshalJSON is the custom unmarshaler for MongoDbCollectionDataset struct. -func (mdcd *MongoDbCollectionDataset) UnmarshalJSON(body []byte) error { +// AsAvroDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsAvroDataset() (*AvroDataset, bool) { + return nil, false +} + +// AsAmazonS3Dataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) { + return nil, false +} + +// AsDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsDataset() (*Dataset, bool) { + return nil, false +} + +// AsBasicDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. +func (mdvcd MongoDbV2CollectionDataset) AsBasicDataset() (BasicDataset, bool) { + return &mdvcd, true +} + +// UnmarshalJSON is the custom unmarshaler for MongoDbV2CollectionDataset struct. +func (mdvcd *MongoDbV2CollectionDataset) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -116692,12 +133611,12 @@ func (mdcd *MongoDbCollectionDataset) UnmarshalJSON(body []byte) error { switch k { case "typeProperties": if v != nil { - var mongoDbCollectionDatasetTypeProperties MongoDbCollectionDatasetTypeProperties - err = json.Unmarshal(*v, &mongoDbCollectionDatasetTypeProperties) + var mongoDbV2CollectionDatasetTypeProperties MongoDbV2CollectionDatasetTypeProperties + err = json.Unmarshal(*v, &mongoDbV2CollectionDatasetTypeProperties) if err != nil { return err } - mdcd.MongoDbCollectionDatasetTypeProperties = &mongoDbCollectionDatasetTypeProperties + mdvcd.MongoDbV2CollectionDatasetTypeProperties = &mongoDbV2CollectionDatasetTypeProperties } default: if v != nil { @@ -116706,10 +133625,10 @@ func (mdcd *MongoDbCollectionDataset) UnmarshalJSON(body []byte) error { if err != nil { return err } - if mdcd.AdditionalProperties == nil { - mdcd.AdditionalProperties = make(map[string]interface{}) + if mdvcd.AdditionalProperties == nil { + mdvcd.AdditionalProperties = make(map[string]interface{}) } - mdcd.AdditionalProperties[k] = additionalProperties + mdvcd.AdditionalProperties[k] = additionalProperties } case "description": if v != nil { @@ -116718,7 +133637,7 @@ func (mdcd *MongoDbCollectionDataset) UnmarshalJSON(body []byte) error { if err != nil { return err } - mdcd.Description = &description + mdvcd.Description = &description } case "structure": if v != nil { @@ -116727,7 +133646,7 @@ func (mdcd *MongoDbCollectionDataset) UnmarshalJSON(body []byte) error { if err != nil { return err } - mdcd.Structure = structure + mdvcd.Structure = structure } case "schema": if v != nil { @@ -116736,7 +133655,7 @@ func (mdcd *MongoDbCollectionDataset) UnmarshalJSON(body []byte) error { if err != nil { return err } - mdcd.Schema = schema + mdvcd.Schema = schema } case "linkedServiceName": if v != nil { @@ -116745,7 +133664,7 @@ func (mdcd *MongoDbCollectionDataset) UnmarshalJSON(body []byte) error { if err != nil { return err } - mdcd.LinkedServiceName = &linkedServiceName + mdvcd.LinkedServiceName = &linkedServiceName } case "parameters": if v != nil { @@ -116754,7 +133673,7 @@ func (mdcd *MongoDbCollectionDataset) UnmarshalJSON(body []byte) error { if err != nil { return err } - mdcd.Parameters = parameters + mdvcd.Parameters = parameters } case "annotations": if v != nil { @@ -116763,7 +133682,7 @@ func (mdcd *MongoDbCollectionDataset) UnmarshalJSON(body []byte) error { if err != nil { return err } - mdcd.Annotations = &annotations + mdvcd.Annotations = &annotations } case "folder": if v != nil { @@ -116772,7 +133691,7 @@ func (mdcd *MongoDbCollectionDataset) UnmarshalJSON(body []byte) error { if err != nil { return err } - mdcd.Folder = &folder + mdvcd.Folder = &folder } case "type": if v != nil { @@ -116781,7 +133700,7 @@ func (mdcd *MongoDbCollectionDataset) UnmarshalJSON(body []byte) error { if err != nil { return err } - mdcd.Type = typeVar + mdvcd.Type = typeVar } } } @@ -116789,114 +133708,16 @@ func (mdcd *MongoDbCollectionDataset) UnmarshalJSON(body []byte) error { return nil } -// MongoDbCollectionDatasetTypeProperties mongoDB database dataset properties. -type MongoDbCollectionDatasetTypeProperties struct { - // CollectionName - The table name of the MongoDB database. Type: string (or Expression with resultType string). - CollectionName interface{} `json:"collectionName,omitempty"` -} - -// MongoDbCursorMethodsProperties cursor methods for Mongodb query -type MongoDbCursorMethodsProperties struct { - // AdditionalProperties - Unmatched properties from the message are deserialized this collection - AdditionalProperties map[string]interface{} `json:""` - // Project - Specifies the fields to return in the documents that match the query filter. To return all fields in the matching documents, omit this parameter. Type: string (or Expression with resultType string). - Project interface{} `json:"project,omitempty"` - // Sort - Specifies the order in which the query returns matching documents. Type: string (or Expression with resultType string). Type: string (or Expression with resultType string). - Sort interface{} `json:"sort,omitempty"` - // Skip - Specifies the how many documents skipped and where MongoDB begins returning results. This approach may be useful in implementing paginated results. Type: integer (or Expression with resultType integer). - Skip interface{} `json:"skip,omitempty"` - // Limit - Specifies the maximum number of documents the server returns. limit() is analogous to the LIMIT statement in a SQL database. Type: integer (or Expression with resultType integer). - Limit interface{} `json:"limit,omitempty"` -} - -// MarshalJSON is the custom marshaler for MongoDbCursorMethodsProperties. -func (mdcmp MongoDbCursorMethodsProperties) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - if mdcmp.Project != nil { - objectMap["project"] = mdcmp.Project - } - if mdcmp.Sort != nil { - objectMap["sort"] = mdcmp.Sort - } - if mdcmp.Skip != nil { - objectMap["skip"] = mdcmp.Skip - } - if mdcmp.Limit != nil { - objectMap["limit"] = mdcmp.Limit - } - for k, v := range mdcmp.AdditionalProperties { - objectMap[k] = v - } - return json.Marshal(objectMap) -} - -// UnmarshalJSON is the custom unmarshaler for MongoDbCursorMethodsProperties struct. -func (mdcmp *MongoDbCursorMethodsProperties) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - default: - if v != nil { - var additionalProperties interface{} - err = json.Unmarshal(*v, &additionalProperties) - if err != nil { - return err - } - if mdcmp.AdditionalProperties == nil { - mdcmp.AdditionalProperties = make(map[string]interface{}) - } - mdcmp.AdditionalProperties[k] = additionalProperties - } - case "project": - if v != nil { - var project interface{} - err = json.Unmarshal(*v, &project) - if err != nil { - return err - } - mdcmp.Project = project - } - case "sort": - if v != nil { - var sortVar interface{} - err = json.Unmarshal(*v, &sortVar) - if err != nil { - return err - } - mdcmp.Sort = sortVar - } - case "skip": - if v != nil { - var skip interface{} - err = json.Unmarshal(*v, &skip) - if err != nil { - return err - } - mdcmp.Skip = skip - } - case "limit": - if v != nil { - var limit interface{} - err = json.Unmarshal(*v, &limit) - if err != nil { - return err - } - mdcmp.Limit = limit - } - } - } - - return nil +// MongoDbV2CollectionDatasetTypeProperties mongoDB database dataset properties. +type MongoDbV2CollectionDatasetTypeProperties struct { + // Collection - The collection name of the MongoDB database. Type: string (or Expression with resultType string). + Collection interface{} `json:"collection,omitempty"` } -// MongoDbLinkedService linked service for MongoDb data source. -type MongoDbLinkedService struct { - // MongoDbLinkedServiceTypeProperties - MongoDB linked service properties. - *MongoDbLinkedServiceTypeProperties `json:"typeProperties,omitempty"` +// MongoDbV2LinkedService linked service for MongoDB data source. +type MongoDbV2LinkedService struct { + // MongoDbV2LinkedServiceTypeProperties - MongoDB linked service properties. + *MongoDbV2LinkedServiceTypeProperties `json:"typeProperties,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` // ConnectVia - The integration runtime reference. @@ -116907,505 +133728,520 @@ type MongoDbLinkedService struct { Parameters map[string]*ParameterSpecification `json:"parameters"` // Annotations - List of tags that can be used for describing the linked service. Annotations *[]interface{} `json:"annotations,omitempty"` - // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' + // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' Type TypeBasicLinkedService `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for MongoDbLinkedService. -func (mdls MongoDbLinkedService) MarshalJSON() ([]byte, error) { - mdls.Type = TypeMongoDb +// MarshalJSON is the custom marshaler for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) MarshalJSON() ([]byte, error) { + mdvls.Type = TypeMongoDbV2 objectMap := make(map[string]interface{}) - if mdls.MongoDbLinkedServiceTypeProperties != nil { - objectMap["typeProperties"] = mdls.MongoDbLinkedServiceTypeProperties + if mdvls.MongoDbV2LinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = mdvls.MongoDbV2LinkedServiceTypeProperties } - if mdls.ConnectVia != nil { - objectMap["connectVia"] = mdls.ConnectVia + if mdvls.ConnectVia != nil { + objectMap["connectVia"] = mdvls.ConnectVia } - if mdls.Description != nil { - objectMap["description"] = mdls.Description + if mdvls.Description != nil { + objectMap["description"] = mdvls.Description } - if mdls.Parameters != nil { - objectMap["parameters"] = mdls.Parameters + if mdvls.Parameters != nil { + objectMap["parameters"] = mdvls.Parameters } - if mdls.Annotations != nil { - objectMap["annotations"] = mdls.Annotations + if mdvls.Annotations != nil { + objectMap["annotations"] = mdvls.Annotations } - if mdls.Type != "" { - objectMap["type"] = mdls.Type + if mdvls.Type != "" { + objectMap["type"] = mdvls.Type } - for k, v := range mdls.AdditionalProperties { + for k, v := range mdvls.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsAzureFunctionLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. -func (mdls MongoDbLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { return nil, false } -// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. -func (mdls MongoDbLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { return nil, false } -// AsSapTableLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. -func (mdls MongoDbLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { +// AsSapTableLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { return nil, false } -// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. -func (mdls MongoDbLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { return nil, false } -// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. -func (mdls MongoDbLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { return nil, false } -// AsDynamicsAXLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. -func (mdls MongoDbLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { return nil, false } -// AsResponsysLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. -func (mdls MongoDbLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { +// AsResponsysLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { return nil, false } -// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. -func (mdls MongoDbLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { return nil, false } -// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. -func (mdls MongoDbLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { return nil, false } -// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. -func (mdls MongoDbLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { return nil, false } -// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. -func (mdls MongoDbLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { return nil, false } -// AsNetezzaLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. -func (mdls MongoDbLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { +// AsNetezzaLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { return nil, false } -// AsVerticaLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. -func (mdls MongoDbLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { +// AsVerticaLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { return nil, false } -// AsZohoLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. -func (mdls MongoDbLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { +// AsZohoLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { return nil, false } -// AsXeroLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. -func (mdls MongoDbLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { +// AsXeroLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { return nil, false } -// AsSquareLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. -func (mdls MongoDbLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { +// AsSquareLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { return nil, false } -// AsSparkLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. -func (mdls MongoDbLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { +// AsSparkLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { return nil, false } -// AsShopifyLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. -func (mdls MongoDbLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { +// AsShopifyLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { return nil, false } -// AsServiceNowLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. -func (mdls MongoDbLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { +// AsServiceNowLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { return nil, false } -// AsQuickBooksLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. -func (mdls MongoDbLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { +// AsQuickBooksLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { return nil, false } -// AsPrestoLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. -func (mdls MongoDbLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { +// AsPrestoLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { return nil, false } -// AsPhoenixLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. -func (mdls MongoDbLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { +// AsPhoenixLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { return nil, false } -// AsPaypalLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. -func (mdls MongoDbLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { +// AsPaypalLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { return nil, false } -// AsMarketoLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. -func (mdls MongoDbLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { +// AsMarketoLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { return nil, false } -// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. -func (mdls MongoDbLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { return nil, false } -// AsMariaDBLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. -func (mdls MongoDbLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { +// AsMariaDBLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { return nil, false } -// AsMagentoLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. -func (mdls MongoDbLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { +// AsMagentoLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { return nil, false } -// AsJiraLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. -func (mdls MongoDbLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { +// AsJiraLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { return nil, false } -// AsImpalaLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. -func (mdls MongoDbLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { +// AsImpalaLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { return nil, false } -// AsHubspotLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. -func (mdls MongoDbLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { +// AsHubspotLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { return nil, false } -// AsHiveLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. -func (mdls MongoDbLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { +// AsHiveLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { return nil, false } -// AsHBaseLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. -func (mdls MongoDbLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { +// AsHBaseLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { return nil, false } -// AsGreenplumLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. -func (mdls MongoDbLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { +// AsGreenplumLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { return nil, false } -// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. -func (mdls MongoDbLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { return nil, false } -// AsEloquaLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. -func (mdls MongoDbLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { +// AsEloquaLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { return nil, false } -// AsDrillLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. -func (mdls MongoDbLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { +// AsDrillLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { return nil, false } -// AsCouchbaseLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. -func (mdls MongoDbLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { +// AsCouchbaseLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { return nil, false } -// AsConcurLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. -func (mdls MongoDbLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { +// AsConcurLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { return nil, false } -// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. -func (mdls MongoDbLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { return nil, false } -// AsAmazonMWSLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. -func (mdls MongoDbLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { return nil, false } -// AsSapHanaLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. -func (mdls MongoDbLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { +// AsSapHanaLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { return nil, false } -// AsSapBWLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. -func (mdls MongoDbLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { +// AsSapBWLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { return nil, false } -// AsSftpServerLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. -func (mdls MongoDbLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { +// AsSftpServerLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { return nil, false } -// AsFtpServerLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. -func (mdls MongoDbLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { +// AsFtpServerLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { return nil, false } -// AsHTTPLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. -func (mdls MongoDbLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { +// AsHTTPLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { return nil, false } -// AsAzureSearchLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. -func (mdls MongoDbLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { +// AsAzureSearchLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { return nil, false } -// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. -func (mdls MongoDbLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { return nil, false } -// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. -func (mdls MongoDbLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { return nil, false } -// AsAmazonS3LinkedService is the BasicLinkedService implementation for MongoDbLinkedService. -func (mdls MongoDbLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { +// AsAmazonS3LinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { return nil, false } -// AsRestServiceLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. -func (mdls MongoDbLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { +// AsRestServiceLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { return nil, false } -// AsSapOpenHubLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. -func (mdls MongoDbLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { return nil, false } -// AsSapEccLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. -func (mdls MongoDbLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { +// AsSapEccLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { return nil, false } -// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. -func (mdls MongoDbLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { return nil, false } -// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. -func (mdls MongoDbLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { + return nil, false +} + +// AsSalesforceLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { + return nil, false +} + +// AsOffice365LinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return nil, false +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { return nil, false } -// AsSalesforceLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. -func (mdls MongoDbLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { return nil, false } -// AsOffice365LinkedService is the BasicLinkedService implementation for MongoDbLinkedService. -func (mdls MongoDbLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { return nil, false } -// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. -func (mdls MongoDbLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { - return nil, false +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { + return &mdvls, true } -// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. -func (mdls MongoDbLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { +// AsMongoDbLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { return nil, false } -// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for MongoDbLinkedService. -func (mdls MongoDbLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { +// AsCassandraLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { return nil, false } -// AsMongoDbV2LinkedService is the BasicLinkedService implementation for MongoDbLinkedService. -func (mdls MongoDbLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { +// AsWebLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsWebLinkedService() (*WebLinkedService, bool) { return nil, false } -// AsMongoDbLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. -func (mdls MongoDbLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { - return &mdls, true +// AsODataLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false } -// AsCassandraLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. -func (mdls MongoDbLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { +// AsHdfsLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { return nil, false } -// AsWebLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. -func (mdls MongoDbLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { return nil, false } -// AsODataLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. -func (mdls MongoDbLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { +// AsInformixLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { return nil, false } -// AsHdfsLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. -func (mdls MongoDbLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { +// AsOdbcLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { return nil, false } -// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. -func (mdls MongoDbLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { return nil, false } -// AsInformixLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. -func (mdls MongoDbLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { +// AsAzureMLLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { return nil, false } -// AsOdbcLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. -func (mdls MongoDbLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { +// AsTeradataLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { return nil, false } -// AsAzureMLLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. -func (mdls MongoDbLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { +// AsDb2LinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { return nil, false } -// AsTeradataLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. -func (mdls MongoDbLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { +// AsSybaseLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { return nil, false } -// AsDb2LinkedService is the BasicLinkedService implementation for MongoDbLinkedService. -func (mdls MongoDbLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { return nil, false } -// AsSybaseLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. -func (mdls MongoDbLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { +// AsMySQLLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { return nil, false } -// AsPostgreSQLLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. -func (mdls MongoDbLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { return nil, false } -// AsMySQLLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. -func (mdls MongoDbLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { +// AsOracleLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { return nil, false } -// AsAzureMySQLLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. -func (mdls MongoDbLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { return nil, false } -// AsOracleLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. -func (mdls MongoDbLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { return nil, false } -// AsFileServerLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. -func (mdls MongoDbLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { +// AsFileServerLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { return nil, false } -// AsHDInsightLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. -func (mdls MongoDbLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { +// AsHDInsightLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { return nil, false } -// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. -func (mdls MongoDbLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { return nil, false } -// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. -func (mdls MongoDbLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { return nil, false } -// AsDynamicsLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. -func (mdls MongoDbLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { +// AsDynamicsLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { return nil, false } -// AsCosmosDbLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. -func (mdls MongoDbLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { +// AsCosmosDbLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { return nil, false } -// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. -func (mdls MongoDbLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { return nil, false } -// AsAzureBatchLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. -func (mdls MongoDbLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { +// AsAzureBatchLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { return nil, false } -// AsAzureSQLMILinkedService is the BasicLinkedService implementation for MongoDbLinkedService. -func (mdls MongoDbLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { return nil, false } -// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. -func (mdls MongoDbLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { return nil, false } -// AsSQLServerLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. -func (mdls MongoDbLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { +// AsSQLServerLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { return nil, false } -// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. -func (mdls MongoDbLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { return nil, false } -// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. -func (mdls MongoDbLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { return nil, false } -// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. -func (mdls MongoDbLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { return nil, false } -// AsAzureStorageLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. -func (mdls MongoDbLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { +// AsAzureStorageLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { return nil, false } -// AsLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. -func (mdls MongoDbLinkedService) AsLinkedService() (*LinkedService, bool) { +// AsLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsLinkedService() (*LinkedService, bool) { return nil, false } -// AsBasicLinkedService is the BasicLinkedService implementation for MongoDbLinkedService. -func (mdls MongoDbLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { - return &mdls, true +// AsBasicLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. +func (mdvls MongoDbV2LinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &mdvls, true } -// UnmarshalJSON is the custom unmarshaler for MongoDbLinkedService struct. -func (mdls *MongoDbLinkedService) UnmarshalJSON(body []byte) error { +// UnmarshalJSON is the custom unmarshaler for MongoDbV2LinkedService struct. +func (mdvls *MongoDbV2LinkedService) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -117415,12 +134251,12 @@ func (mdls *MongoDbLinkedService) UnmarshalJSON(body []byte) error { switch k { case "typeProperties": if v != nil { - var mongoDbLinkedServiceTypeProperties MongoDbLinkedServiceTypeProperties - err = json.Unmarshal(*v, &mongoDbLinkedServiceTypeProperties) + var mongoDbV2LinkedServiceTypeProperties MongoDbV2LinkedServiceTypeProperties + err = json.Unmarshal(*v, &mongoDbV2LinkedServiceTypeProperties) if err != nil { return err } - mdls.MongoDbLinkedServiceTypeProperties = &mongoDbLinkedServiceTypeProperties + mdvls.MongoDbV2LinkedServiceTypeProperties = &mongoDbV2LinkedServiceTypeProperties } default: if v != nil { @@ -117429,10 +134265,10 @@ func (mdls *MongoDbLinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - if mdls.AdditionalProperties == nil { - mdls.AdditionalProperties = make(map[string]interface{}) + if mdvls.AdditionalProperties == nil { + mdvls.AdditionalProperties = make(map[string]interface{}) } - mdls.AdditionalProperties[k] = additionalProperties + mdvls.AdditionalProperties[k] = additionalProperties } case "connectVia": if v != nil { @@ -117441,7 +134277,7 @@ func (mdls *MongoDbLinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - mdls.ConnectVia = &connectVia + mdvls.ConnectVia = &connectVia } case "description": if v != nil { @@ -117450,7 +134286,7 @@ func (mdls *MongoDbLinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - mdls.Description = &description + mdvls.Description = &description } case "parameters": if v != nil { @@ -117459,7 +134295,7 @@ func (mdls *MongoDbLinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - mdls.Parameters = parameters + mdvls.Parameters = parameters } case "annotations": if v != nil { @@ -117468,7 +134304,7 @@ func (mdls *MongoDbLinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - mdls.Annotations = &annotations + mdvls.Annotations = &annotations } case "type": if v != nil { @@ -117477,7 +134313,7 @@ func (mdls *MongoDbLinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - mdls.Type = typeVar + mdvls.Type = typeVar } } } @@ -117485,138 +134321,24 @@ func (mdls *MongoDbLinkedService) UnmarshalJSON(body []byte) error { return nil } -// MongoDbLinkedServiceTypeProperties mongoDB linked service properties. -type MongoDbLinkedServiceTypeProperties struct { - // Server - The IP address or server name of the MongoDB server. Type: string (or Expression with resultType string). - Server interface{} `json:"server,omitempty"` - // AuthenticationType - The authentication type to be used to connect to the MongoDB database. Possible values include: 'MongoDbAuthenticationTypeBasic', 'MongoDbAuthenticationTypeAnonymous' - AuthenticationType MongoDbAuthenticationType `json:"authenticationType,omitempty"` - // DatabaseName - The name of the MongoDB database that you want to access. Type: string (or Expression with resultType string). - DatabaseName interface{} `json:"databaseName,omitempty"` - // Username - Username for authentication. Type: string (or Expression with resultType string). - Username interface{} `json:"username,omitempty"` - // Password - Password for authentication. - Password BasicSecretBase `json:"password,omitempty"` - // AuthSource - Database to verify the username and password. Type: string (or Expression with resultType string). - AuthSource interface{} `json:"authSource,omitempty"` - // Port - The TCP port number that the MongoDB server uses to listen for client connections. The default value is 27017. Type: integer (or Expression with resultType integer), minimum: 0. - Port interface{} `json:"port,omitempty"` - // EnableSsl - Specifies whether the connections to the server are encrypted using SSL. The default value is false. Type: boolean (or Expression with resultType boolean). - EnableSsl interface{} `json:"enableSsl,omitempty"` - // AllowSelfSignedServerCert - Specifies whether to allow self-signed certificates from the server. The default value is false. Type: boolean (or Expression with resultType boolean). - AllowSelfSignedServerCert interface{} `json:"allowSelfSignedServerCert,omitempty"` - // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). - EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` -} - -// UnmarshalJSON is the custom unmarshaler for MongoDbLinkedServiceTypeProperties struct. -func (mdlstp *MongoDbLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - case "server": - if v != nil { - var server interface{} - err = json.Unmarshal(*v, &server) - if err != nil { - return err - } - mdlstp.Server = server - } - case "authenticationType": - if v != nil { - var authenticationType MongoDbAuthenticationType - err = json.Unmarshal(*v, &authenticationType) - if err != nil { - return err - } - mdlstp.AuthenticationType = authenticationType - } - case "databaseName": - if v != nil { - var databaseName interface{} - err = json.Unmarshal(*v, &databaseName) - if err != nil { - return err - } - mdlstp.DatabaseName = databaseName - } - case "username": - if v != nil { - var username interface{} - err = json.Unmarshal(*v, &username) - if err != nil { - return err - } - mdlstp.Username = username - } - case "password": - if v != nil { - password, err := unmarshalBasicSecretBase(*v) - if err != nil { - return err - } - mdlstp.Password = password - } - case "authSource": - if v != nil { - var authSource interface{} - err = json.Unmarshal(*v, &authSource) - if err != nil { - return err - } - mdlstp.AuthSource = authSource - } - case "port": - if v != nil { - var port interface{} - err = json.Unmarshal(*v, &port) - if err != nil { - return err - } - mdlstp.Port = port - } - case "enableSsl": - if v != nil { - var enableSsl interface{} - err = json.Unmarshal(*v, &enableSsl) - if err != nil { - return err - } - mdlstp.EnableSsl = enableSsl - } - case "allowSelfSignedServerCert": - if v != nil { - var allowSelfSignedServerCert interface{} - err = json.Unmarshal(*v, &allowSelfSignedServerCert) - if err != nil { - return err - } - mdlstp.AllowSelfSignedServerCert = allowSelfSignedServerCert - } - case "encryptedCredential": - if v != nil { - var encryptedCredential interface{} - err = json.Unmarshal(*v, &encryptedCredential) - if err != nil { - return err - } - mdlstp.EncryptedCredential = encryptedCredential - } - } - } - - return nil +// MongoDbV2LinkedServiceTypeProperties mongoDB linked service properties. +type MongoDbV2LinkedServiceTypeProperties struct { + // ConnectionString - The MongoDB connection string. Type: string, SecureString or AzureKeyVaultSecretReference. Type: string, SecureString or AzureKeyVaultSecretReference. + ConnectionString interface{} `json:"connectionString,omitempty"` + // Database - The name of the MongoDB database that you want to access. Type: string (or Expression with resultType string). + Database interface{} `json:"database,omitempty"` } -// MongoDbSource a copy activity source for a MongoDB database. -type MongoDbSource struct { - // Query - Database query. Should be a SQL-92 query expression. Type: string (or Expression with resultType string). - Query interface{} `json:"query,omitempty"` +// MongoDbV2Source a copy activity source for a MongoDB database. +type MongoDbV2Source struct { + // Filter - Specifies selection filter using query operators. To return all documents in a collection, omit this parameter or pass an empty document ({}). Type: string (or Expression with resultType string). + Filter interface{} `json:"filter,omitempty"` + // CursorMethods - Cursor methods for Mongodb query + CursorMethods *MongoDbCursorMethodsProperties `json:"cursorMethods,omitempty"` + // BatchSize - Specifies the number of documents to return in each batch of the response from MongoDB instance. In most cases, modifying the batch size will not affect the user or the application. This property's main purpose is to avoid hit the limitation of response size. Type: integer (or Expression with resultType integer). + BatchSize interface{} `json:"batchSize,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). @@ -117625,462 +134347,496 @@ type MongoDbSource struct { SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' + // Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' Type TypeBasicCopySource `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for MongoDbSource. -func (mds MongoDbSource) MarshalJSON() ([]byte, error) { - mds.Type = TypeMongoDbSource +// MarshalJSON is the custom marshaler for MongoDbV2Source. +func (mdvs MongoDbV2Source) MarshalJSON() ([]byte, error) { + mdvs.Type = TypeMongoDbV2Source objectMap := make(map[string]interface{}) - if mds.Query != nil { - objectMap["query"] = mds.Query + if mdvs.Filter != nil { + objectMap["filter"] = mdvs.Filter } - if mds.SourceRetryCount != nil { - objectMap["sourceRetryCount"] = mds.SourceRetryCount + if mdvs.CursorMethods != nil { + objectMap["cursorMethods"] = mdvs.CursorMethods } - if mds.SourceRetryWait != nil { - objectMap["sourceRetryWait"] = mds.SourceRetryWait + if mdvs.BatchSize != nil { + objectMap["batchSize"] = mdvs.BatchSize } - if mds.MaxConcurrentConnections != nil { - objectMap["maxConcurrentConnections"] = mds.MaxConcurrentConnections + if mdvs.QueryTimeout != nil { + objectMap["queryTimeout"] = mdvs.QueryTimeout } - if mds.Type != "" { - objectMap["type"] = mds.Type + if mdvs.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = mdvs.SourceRetryCount } - for k, v := range mds.AdditionalProperties { + if mdvs.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = mdvs.SourceRetryWait + } + if mdvs.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = mdvs.MaxConcurrentConnections + } + if mdvs.Type != "" { + objectMap["type"] = mdvs.Type + } + for k, v := range mdvs.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsAmazonRedshiftSource is the BasicCopySource implementation for MongoDbSource. -func (mds MongoDbSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { +// AsHTTPSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsHTTPSource() (*HTTPSource, bool) { return nil, false } -// AsGoogleAdWordsSource is the BasicCopySource implementation for MongoDbSource. -func (mds MongoDbSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { +// AsAzureBlobFSSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { return nil, false } -// AsOracleServiceCloudSource is the BasicCopySource implementation for MongoDbSource. -func (mds MongoDbSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { return nil, false } -// AsDynamicsAXSource is the BasicCopySource implementation for MongoDbSource. -func (mds MongoDbSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { +// AsOffice365Source is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsOffice365Source() (*Office365Source, bool) { return nil, false } -// AsResponsysSource is the BasicCopySource implementation for MongoDbSource. -func (mds MongoDbSource) AsResponsysSource() (*ResponsysSource, bool) { +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { return nil, false } -// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for MongoDbSource. -func (mds MongoDbSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { +// AsMongoDbV2Source is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return &mdvs, true +} + +// AsMongoDbSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsMongoDbSource() (*MongoDbSource, bool) { return nil, false } -// AsVerticaSource is the BasicCopySource implementation for MongoDbSource. -func (mds MongoDbSource) AsVerticaSource() (*VerticaSource, bool) { +// AsWebSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsWebSource() (*WebSource, bool) { return nil, false } -// AsNetezzaSource is the BasicCopySource implementation for MongoDbSource. -func (mds MongoDbSource) AsNetezzaSource() (*NetezzaSource, bool) { +// AsOracleSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsOracleSource() (*OracleSource, bool) { return nil, false } -// AsZohoSource is the BasicCopySource implementation for MongoDbSource. -func (mds MongoDbSource) AsZohoSource() (*ZohoSource, bool) { +// AsAzureDataExplorerSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { return nil, false } -// AsXeroSource is the BasicCopySource implementation for MongoDbSource. -func (mds MongoDbSource) AsXeroSource() (*XeroSource, bool) { +// AsHdfsSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsHdfsSource() (*HdfsSource, bool) { return nil, false } -// AsSquareSource is the BasicCopySource implementation for MongoDbSource. -func (mds MongoDbSource) AsSquareSource() (*SquareSource, bool) { +// AsFileSystemSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsFileSystemSource() (*FileSystemSource, bool) { return nil, false } -// AsSparkSource is the BasicCopySource implementation for MongoDbSource. -func (mds MongoDbSource) AsSparkSource() (*SparkSource, bool) { +// AsRestSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsRestSource() (*RestSource, bool) { return nil, false } -// AsShopifySource is the BasicCopySource implementation for MongoDbSource. -func (mds MongoDbSource) AsShopifySource() (*ShopifySource, bool) { +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { return nil, false } -// AsServiceNowSource is the BasicCopySource implementation for MongoDbSource. -func (mds MongoDbSource) AsServiceNowSource() (*ServiceNowSource, bool) { +// AsODataSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsODataSource() (*ODataSource, bool) { return nil, false } -// AsQuickBooksSource is the BasicCopySource implementation for MongoDbSource. -func (mds MongoDbSource) AsQuickBooksSource() (*QuickBooksSource, bool) { +// AsMicrosoftAccessSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { return nil, false } -// AsPrestoSource is the BasicCopySource implementation for MongoDbSource. -func (mds MongoDbSource) AsPrestoSource() (*PrestoSource, bool) { +// AsRelationalSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsRelationalSource() (*RelationalSource, bool) { return nil, false } -// AsPhoenixSource is the BasicCopySource implementation for MongoDbSource. -func (mds MongoDbSource) AsPhoenixSource() (*PhoenixSource, bool) { +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { return nil, false } -// AsPaypalSource is the BasicCopySource implementation for MongoDbSource. -func (mds MongoDbSource) AsPaypalSource() (*PaypalSource, bool) { +// AsDynamicsCrmSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { return nil, false } -// AsMarketoSource is the BasicCopySource implementation for MongoDbSource. -func (mds MongoDbSource) AsMarketoSource() (*MarketoSource, bool) { +// AsDynamicsSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsDynamicsSource() (*DynamicsSource, bool) { return nil, false } -// AsAzureMariaDBSource is the BasicCopySource implementation for MongoDbSource. -func (mds MongoDbSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { return nil, false } -// AsMariaDBSource is the BasicCopySource implementation for MongoDbSource. -func (mds MongoDbSource) AsMariaDBSource() (*MariaDBSource, bool) { +// AsDocumentDbCollectionSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { return nil, false } -// AsMagentoSource is the BasicCopySource implementation for MongoDbSource. -func (mds MongoDbSource) AsMagentoSource() (*MagentoSource, bool) { +// AsBlobSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsBlobSource() (*BlobSource, bool) { return nil, false } -// AsJiraSource is the BasicCopySource implementation for MongoDbSource. -func (mds MongoDbSource) AsJiraSource() (*JiraSource, bool) { +// AsAmazonRedshiftSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { return nil, false } -// AsImpalaSource is the BasicCopySource implementation for MongoDbSource. -func (mds MongoDbSource) AsImpalaSource() (*ImpalaSource, bool) { +// AsGoogleAdWordsSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { return nil, false } -// AsHubspotSource is the BasicCopySource implementation for MongoDbSource. -func (mds MongoDbSource) AsHubspotSource() (*HubspotSource, bool) { +// AsOracleServiceCloudSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { return nil, false } -// AsHiveSource is the BasicCopySource implementation for MongoDbSource. -func (mds MongoDbSource) AsHiveSource() (*HiveSource, bool) { +// AsDynamicsAXSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsDynamicsAXSource() (*DynamicsAXSource, bool) { return nil, false } -// AsHBaseSource is the BasicCopySource implementation for MongoDbSource. -func (mds MongoDbSource) AsHBaseSource() (*HBaseSource, bool) { +// AsResponsysSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsResponsysSource() (*ResponsysSource, bool) { return nil, false } -// AsGreenplumSource is the BasicCopySource implementation for MongoDbSource. -func (mds MongoDbSource) AsGreenplumSource() (*GreenplumSource, bool) { +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { return nil, false } -// AsGoogleBigQuerySource is the BasicCopySource implementation for MongoDbSource. -func (mds MongoDbSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { +// AsVerticaSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsVerticaSource() (*VerticaSource, bool) { return nil, false } -// AsEloquaSource is the BasicCopySource implementation for MongoDbSource. -func (mds MongoDbSource) AsEloquaSource() (*EloquaSource, bool) { +// AsNetezzaSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsNetezzaSource() (*NetezzaSource, bool) { return nil, false } -// AsDrillSource is the BasicCopySource implementation for MongoDbSource. -func (mds MongoDbSource) AsDrillSource() (*DrillSource, bool) { +// AsZohoSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsZohoSource() (*ZohoSource, bool) { return nil, false } -// AsCouchbaseSource is the BasicCopySource implementation for MongoDbSource. -func (mds MongoDbSource) AsCouchbaseSource() (*CouchbaseSource, bool) { +// AsXeroSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsXeroSource() (*XeroSource, bool) { return nil, false } -// AsConcurSource is the BasicCopySource implementation for MongoDbSource. -func (mds MongoDbSource) AsConcurSource() (*ConcurSource, bool) { +// AsSquareSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsSquareSource() (*SquareSource, bool) { return nil, false } -// AsAzurePostgreSQLSource is the BasicCopySource implementation for MongoDbSource. -func (mds MongoDbSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { +// AsSparkSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsSparkSource() (*SparkSource, bool) { return nil, false } -// AsAmazonMWSSource is the BasicCopySource implementation for MongoDbSource. -func (mds MongoDbSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { +// AsShopifySource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsShopifySource() (*ShopifySource, bool) { return nil, false } -// AsHTTPSource is the BasicCopySource implementation for MongoDbSource. -func (mds MongoDbSource) AsHTTPSource() (*HTTPSource, bool) { +// AsServiceNowSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsServiceNowSource() (*ServiceNowSource, bool) { return nil, false } -// AsAzureBlobFSSource is the BasicCopySource implementation for MongoDbSource. -func (mds MongoDbSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { +// AsQuickBooksSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsQuickBooksSource() (*QuickBooksSource, bool) { return nil, false } -// AsAzureDataLakeStoreSource is the BasicCopySource implementation for MongoDbSource. -func (mds MongoDbSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { +// AsPrestoSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsPrestoSource() (*PrestoSource, bool) { return nil, false } -// AsOffice365Source is the BasicCopySource implementation for MongoDbSource. -func (mds MongoDbSource) AsOffice365Source() (*Office365Source, bool) { +// AsPhoenixSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsPhoenixSource() (*PhoenixSource, bool) { return nil, false } -// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for MongoDbSource. -func (mds MongoDbSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { +// AsPaypalSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsPaypalSource() (*PaypalSource, bool) { return nil, false } -// AsMongoDbV2Source is the BasicCopySource implementation for MongoDbSource. -func (mds MongoDbSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { +// AsMarketoSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsMarketoSource() (*MarketoSource, bool) { return nil, false } -// AsMongoDbSource is the BasicCopySource implementation for MongoDbSource. -func (mds MongoDbSource) AsMongoDbSource() (*MongoDbSource, bool) { - return &mds, true +// AsAzureMariaDBSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { + return nil, false } -// AsCassandraSource is the BasicCopySource implementation for MongoDbSource. -func (mds MongoDbSource) AsCassandraSource() (*CassandraSource, bool) { +// AsMariaDBSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsMariaDBSource() (*MariaDBSource, bool) { return nil, false } -// AsWebSource is the BasicCopySource implementation for MongoDbSource. -func (mds MongoDbSource) AsWebSource() (*WebSource, bool) { +// AsMagentoSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsMagentoSource() (*MagentoSource, bool) { return nil, false } -// AsTeradataSource is the BasicCopySource implementation for MongoDbSource. -func (mds MongoDbSource) AsTeradataSource() (*TeradataSource, bool) { +// AsJiraSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsJiraSource() (*JiraSource, bool) { return nil, false } -// AsOracleSource is the BasicCopySource implementation for MongoDbSource. -func (mds MongoDbSource) AsOracleSource() (*OracleSource, bool) { +// AsImpalaSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsImpalaSource() (*ImpalaSource, bool) { return nil, false } -// AsAzureDataExplorerSource is the BasicCopySource implementation for MongoDbSource. -func (mds MongoDbSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { +// AsHubspotSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsHubspotSource() (*HubspotSource, bool) { return nil, false } -// AsAzureMySQLSource is the BasicCopySource implementation for MongoDbSource. -func (mds MongoDbSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { +// AsHiveSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsHiveSource() (*HiveSource, bool) { return nil, false } -// AsHdfsSource is the BasicCopySource implementation for MongoDbSource. -func (mds MongoDbSource) AsHdfsSource() (*HdfsSource, bool) { +// AsHBaseSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsHBaseSource() (*HBaseSource, bool) { return nil, false } -// AsFileSystemSource is the BasicCopySource implementation for MongoDbSource. -func (mds MongoDbSource) AsFileSystemSource() (*FileSystemSource, bool) { +// AsGreenplumSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsGreenplumSource() (*GreenplumSource, bool) { return nil, false } -// AsSQLDWSource is the BasicCopySource implementation for MongoDbSource. -func (mds MongoDbSource) AsSQLDWSource() (*SQLDWSource, bool) { +// AsGoogleBigQuerySource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { return nil, false } -// AsSQLMISource is the BasicCopySource implementation for MongoDbSource. -func (mds MongoDbSource) AsSQLMISource() (*SQLMISource, bool) { +// AsEloquaSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsEloquaSource() (*EloquaSource, bool) { return nil, false } -// AsAzureSQLSource is the BasicCopySource implementation for MongoDbSource. -func (mds MongoDbSource) AsAzureSQLSource() (*AzureSQLSource, bool) { +// AsDrillSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsDrillSource() (*DrillSource, bool) { return nil, false } -// AsSQLServerSource is the BasicCopySource implementation for MongoDbSource. -func (mds MongoDbSource) AsSQLServerSource() (*SQLServerSource, bool) { +// AsCouchbaseSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsCouchbaseSource() (*CouchbaseSource, bool) { return nil, false } -// AsSQLSource is the BasicCopySource implementation for MongoDbSource. -func (mds MongoDbSource) AsSQLSource() (*SQLSource, bool) { +// AsConcurSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsConcurSource() (*ConcurSource, bool) { return nil, false } -// AsRestSource is the BasicCopySource implementation for MongoDbSource. -func (mds MongoDbSource) AsRestSource() (*RestSource, bool) { +// AsAzurePostgreSQLSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { return nil, false } -// AsSapTableSource is the BasicCopySource implementation for MongoDbSource. -func (mds MongoDbSource) AsSapTableSource() (*SapTableSource, bool) { +// AsAmazonMWSSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsAmazonMWSSource() (*AmazonMWSSource, bool) { return nil, false } -// AsSapOpenHubSource is the BasicCopySource implementation for MongoDbSource. -func (mds MongoDbSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { +// AsCassandraSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsCassandraSource() (*CassandraSource, bool) { return nil, false } -// AsSapHanaSource is the BasicCopySource implementation for MongoDbSource. -func (mds MongoDbSource) AsSapHanaSource() (*SapHanaSource, bool) { +// AsTeradataSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsTeradataSource() (*TeradataSource, bool) { return nil, false } -// AsSapEccSource is the BasicCopySource implementation for MongoDbSource. -func (mds MongoDbSource) AsSapEccSource() (*SapEccSource, bool) { +// AsAzureMySQLSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsAzureMySQLSource() (*AzureMySQLSource, bool) { return nil, false } -// AsSapCloudForCustomerSource is the BasicCopySource implementation for MongoDbSource. -func (mds MongoDbSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { +// AsSQLDWSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsSQLDWSource() (*SQLDWSource, bool) { return nil, false } -// AsSalesforceServiceCloudSource is the BasicCopySource implementation for MongoDbSource. -func (mds MongoDbSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { +// AsSQLMISource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsSQLMISource() (*SQLMISource, bool) { return nil, false } -// AsSalesforceSource is the BasicCopySource implementation for MongoDbSource. -func (mds MongoDbSource) AsSalesforceSource() (*SalesforceSource, bool) { +// AsAzureSQLSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsAzureSQLSource() (*AzureSQLSource, bool) { return nil, false } -// AsODataSource is the BasicCopySource implementation for MongoDbSource. -func (mds MongoDbSource) AsODataSource() (*ODataSource, bool) { +// AsSQLServerSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsSQLServerSource() (*SQLServerSource, bool) { return nil, false } -// AsSapBwSource is the BasicCopySource implementation for MongoDbSource. -func (mds MongoDbSource) AsSapBwSource() (*SapBwSource, bool) { +// AsSQLSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsSQLSource() (*SQLSource, bool) { return nil, false } -// AsSybaseSource is the BasicCopySource implementation for MongoDbSource. -func (mds MongoDbSource) AsSybaseSource() (*SybaseSource, bool) { +// AsSapTableSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsSapTableSource() (*SapTableSource, bool) { return nil, false } -// AsPostgreSQLSource is the BasicCopySource implementation for MongoDbSource. -func (mds MongoDbSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { +// AsSapOpenHubSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsSapOpenHubSource() (*SapOpenHubSource, bool) { return nil, false } -// AsMySQLSource is the BasicCopySource implementation for MongoDbSource. -func (mds MongoDbSource) AsMySQLSource() (*MySQLSource, bool) { +// AsSapHanaSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsSapHanaSource() (*SapHanaSource, bool) { return nil, false } -// AsOdbcSource is the BasicCopySource implementation for MongoDbSource. -func (mds MongoDbSource) AsOdbcSource() (*OdbcSource, bool) { +// AsSapEccSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsSapEccSource() (*SapEccSource, bool) { return nil, false } -// AsDb2Source is the BasicCopySource implementation for MongoDbSource. -func (mds MongoDbSource) AsDb2Source() (*Db2Source, bool) { +// AsSapCloudForCustomerSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { return nil, false } -// AsMicrosoftAccessSource is the BasicCopySource implementation for MongoDbSource. -func (mds MongoDbSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { +// AsSalesforceSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsSalesforceSource() (*SalesforceSource, bool) { return nil, false } -// AsInformixSource is the BasicCopySource implementation for MongoDbSource. -func (mds MongoDbSource) AsInformixSource() (*InformixSource, bool) { +// AsSapBwSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsSapBwSource() (*SapBwSource, bool) { return nil, false } -// AsRelationalSource is the BasicCopySource implementation for MongoDbSource. -func (mds MongoDbSource) AsRelationalSource() (*RelationalSource, bool) { +// AsSybaseSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsSybaseSource() (*SybaseSource, bool) { return nil, false } -// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for MongoDbSource. -func (mds MongoDbSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { +// AsPostgreSQLSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsPostgreSQLSource() (*PostgreSQLSource, bool) { return nil, false } -// AsDynamicsCrmSource is the BasicCopySource implementation for MongoDbSource. -func (mds MongoDbSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { +// AsMySQLSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsMySQLSource() (*MySQLSource, bool) { return nil, false } -// AsDynamicsSource is the BasicCopySource implementation for MongoDbSource. -func (mds MongoDbSource) AsDynamicsSource() (*DynamicsSource, bool) { +// AsOdbcSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsOdbcSource() (*OdbcSource, bool) { return nil, false } -// AsDocumentDbCollectionSource is the BasicCopySource implementation for MongoDbSource. -func (mds MongoDbSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { +// AsDb2Source is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsDb2Source() (*Db2Source, bool) { return nil, false } -// AsBlobSource is the BasicCopySource implementation for MongoDbSource. -func (mds MongoDbSource) AsBlobSource() (*BlobSource, bool) { +// AsInformixSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsInformixSource() (*InformixSource, bool) { return nil, false } -// AsAzureTableSource is the BasicCopySource implementation for MongoDbSource. -func (mds MongoDbSource) AsAzureTableSource() (*AzureTableSource, bool) { +// AsAzureTableSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsAzureTableSource() (*AzureTableSource, bool) { return nil, false } -// AsBinarySource is the BasicCopySource implementation for MongoDbSource. -func (mds MongoDbSource) AsBinarySource() (*BinarySource, bool) { +// AsTabularSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsTabularSource() (*TabularSource, bool) { return nil, false } -// AsDelimitedTextSource is the BasicCopySource implementation for MongoDbSource. -func (mds MongoDbSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { +// AsBasicTabularSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsBasicTabularSource() (BasicTabularSource, bool) { return nil, false } -// AsParquetSource is the BasicCopySource implementation for MongoDbSource. -func (mds MongoDbSource) AsParquetSource() (*ParquetSource, bool) { +// AsBinarySource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsBinarySource() (*BinarySource, bool) { return nil, false } -// AsAvroSource is the BasicCopySource implementation for MongoDbSource. -func (mds MongoDbSource) AsAvroSource() (*AvroSource, bool) { +// AsOrcSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsOrcSource() (*OrcSource, bool) { return nil, false } -// AsCopySource is the BasicCopySource implementation for MongoDbSource. -func (mds MongoDbSource) AsCopySource() (*CopySource, bool) { +// AsJSONSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsJSONSource() (*JSONSource, bool) { return nil, false } -// AsBasicCopySource is the BasicCopySource implementation for MongoDbSource. -func (mds MongoDbSource) AsBasicCopySource() (BasicCopySource, bool) { - return &mds, true +// AsDelimitedTextSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false } -// UnmarshalJSON is the custom unmarshaler for MongoDbSource struct. -func (mds *MongoDbSource) UnmarshalJSON(body []byte) error { +// AsParquetSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for MongoDbV2Source. +func (mdvs MongoDbV2Source) AsBasicCopySource() (BasicCopySource, bool) { + return &mdvs, true +} + +// UnmarshalJSON is the custom unmarshaler for MongoDbV2Source struct. +func (mdvs *MongoDbV2Source) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -118088,14 +134844,41 @@ func (mds *MongoDbSource) UnmarshalJSON(body []byte) error { } for k, v := range m { switch k { - case "query": + case "filter": if v != nil { - var query interface{} - err = json.Unmarshal(*v, &query) + var filter interface{} + err = json.Unmarshal(*v, &filter) if err != nil { return err } - mds.Query = query + mdvs.Filter = filter + } + case "cursorMethods": + if v != nil { + var cursorMethods MongoDbCursorMethodsProperties + err = json.Unmarshal(*v, &cursorMethods) + if err != nil { + return err + } + mdvs.CursorMethods = &cursorMethods + } + case "batchSize": + if v != nil { + var batchSize interface{} + err = json.Unmarshal(*v, &batchSize) + if err != nil { + return err + } + mdvs.BatchSize = batchSize + } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + mdvs.QueryTimeout = queryTimeout } default: if v != nil { @@ -118104,10 +134887,10 @@ func (mds *MongoDbSource) UnmarshalJSON(body []byte) error { if err != nil { return err } - if mds.AdditionalProperties == nil { - mds.AdditionalProperties = make(map[string]interface{}) + if mdvs.AdditionalProperties == nil { + mdvs.AdditionalProperties = make(map[string]interface{}) } - mds.AdditionalProperties[k] = additionalProperties + mdvs.AdditionalProperties[k] = additionalProperties } case "sourceRetryCount": if v != nil { @@ -118116,7 +134899,7 @@ func (mds *MongoDbSource) UnmarshalJSON(body []byte) error { if err != nil { return err } - mds.SourceRetryCount = sourceRetryCount + mdvs.SourceRetryCount = sourceRetryCount } case "sourceRetryWait": if v != nil { @@ -118125,7 +134908,7 @@ func (mds *MongoDbSource) UnmarshalJSON(body []byte) error { if err != nil { return err } - mds.SourceRetryWait = sourceRetryWait + mdvs.SourceRetryWait = sourceRetryWait } case "maxConcurrentConnections": if v != nil { @@ -118134,7 +134917,7 @@ func (mds *MongoDbSource) UnmarshalJSON(body []byte) error { if err != nil { return err } - mds.MaxConcurrentConnections = maxConcurrentConnections + mdvs.MaxConcurrentConnections = maxConcurrentConnections } case "type": if v != nil { @@ -118143,7 +134926,7 @@ func (mds *MongoDbSource) UnmarshalJSON(body []byte) error { if err != nil { return err } - mds.Type = typeVar + mdvs.Type = typeVar } } } @@ -118151,489 +134934,747 @@ func (mds *MongoDbSource) UnmarshalJSON(body []byte) error { return nil } -// MongoDbV2CollectionDataset the MongoDB database dataset. -type MongoDbV2CollectionDataset struct { - // MongoDbV2CollectionDatasetTypeProperties - MongoDB database dataset properties. - *MongoDbV2CollectionDatasetTypeProperties `json:"typeProperties,omitempty"` +// BasicMultiplePipelineTrigger base class for all triggers that support one to many model for trigger to pipeline. +type BasicMultiplePipelineTrigger interface { + AsBlobEventsTrigger() (*BlobEventsTrigger, bool) + AsBlobTrigger() (*BlobTrigger, bool) + AsScheduleTrigger() (*ScheduleTrigger, bool) + AsMultiplePipelineTrigger() (*MultiplePipelineTrigger, bool) +} + +// MultiplePipelineTrigger base class for all triggers that support one to many model for trigger to pipeline. +type MultiplePipelineTrigger struct { + // Pipelines - Pipelines that need to be started. + Pipelines *[]TriggerPipelineReference `json:"pipelines,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` - // Description - Dataset description. + // Description - Trigger description. Description *string `json:"description,omitempty"` - // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. - Structure interface{} `json:"structure,omitempty"` - // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. - Schema interface{} `json:"schema,omitempty"` - // LinkedServiceName - Linked service reference. - LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` - // Parameters - Parameters for dataset. - Parameters map[string]*ParameterSpecification `json:"parameters"` - // Annotations - List of tags that can be used for describing the Dataset. + // RuntimeState - READ-ONLY; Indicates if trigger is running or not. Updated when Start/Stop APIs are called on the Trigger. Possible values include: 'TriggerRuntimeStateStarted', 'TriggerRuntimeStateStopped', 'TriggerRuntimeStateDisabled' + RuntimeState TriggerRuntimeState `json:"runtimeState,omitempty"` + // Annotations - List of tags that can be used for describing the trigger. Annotations *[]interface{} `json:"annotations,omitempty"` - // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. - Folder *DatasetFolder `json:"folder,omitempty"` - // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' - Type TypeBasicDataset `json:"type,omitempty"` + // Type - Possible values include: 'TypeTrigger', 'TypeRerunTumblingWindowTrigger', 'TypeChainingTrigger', 'TypeTumblingWindowTrigger', 'TypeBlobEventsTrigger', 'TypeBlobTrigger', 'TypeScheduleTrigger', 'TypeMultiplePipelineTrigger' + Type TypeBasicTrigger `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for MongoDbV2CollectionDataset. -func (mdvcd MongoDbV2CollectionDataset) MarshalJSON() ([]byte, error) { - mdvcd.Type = TypeMongoDbV2Collection +func unmarshalBasicMultiplePipelineTrigger(body []byte) (BasicMultiplePipelineTrigger, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["type"] { + case string(TypeBlobEventsTrigger): + var bet BlobEventsTrigger + err := json.Unmarshal(body, &bet) + return bet, err + case string(TypeBlobTrigger): + var bt BlobTrigger + err := json.Unmarshal(body, &bt) + return bt, err + case string(TypeScheduleTrigger): + var st ScheduleTrigger + err := json.Unmarshal(body, &st) + return st, err + default: + var mpt MultiplePipelineTrigger + err := json.Unmarshal(body, &mpt) + return mpt, err + } +} +func unmarshalBasicMultiplePipelineTriggerArray(body []byte) ([]BasicMultiplePipelineTrigger, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + mptArray := make([]BasicMultiplePipelineTrigger, len(rawMessages)) + + for index, rawMessage := range rawMessages { + mpt, err := unmarshalBasicMultiplePipelineTrigger(*rawMessage) + if err != nil { + return nil, err + } + mptArray[index] = mpt + } + return mptArray, nil +} + +// MarshalJSON is the custom marshaler for MultiplePipelineTrigger. +func (mpt MultiplePipelineTrigger) MarshalJSON() ([]byte, error) { + mpt.Type = TypeMultiplePipelineTrigger objectMap := make(map[string]interface{}) - if mdvcd.MongoDbV2CollectionDatasetTypeProperties != nil { - objectMap["typeProperties"] = mdvcd.MongoDbV2CollectionDatasetTypeProperties + if mpt.Pipelines != nil { + objectMap["pipelines"] = mpt.Pipelines } - if mdvcd.Description != nil { - objectMap["description"] = mdvcd.Description + if mpt.Description != nil { + objectMap["description"] = mpt.Description } - if mdvcd.Structure != nil { - objectMap["structure"] = mdvcd.Structure + if mpt.Annotations != nil { + objectMap["annotations"] = mpt.Annotations } - if mdvcd.Schema != nil { - objectMap["schema"] = mdvcd.Schema + if mpt.Type != "" { + objectMap["type"] = mpt.Type + } + for k, v := range mpt.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsRerunTumblingWindowTrigger is the BasicTrigger implementation for MultiplePipelineTrigger. +func (mpt MultiplePipelineTrigger) AsRerunTumblingWindowTrigger() (*RerunTumblingWindowTrigger, bool) { + return nil, false +} + +// AsChainingTrigger is the BasicTrigger implementation for MultiplePipelineTrigger. +func (mpt MultiplePipelineTrigger) AsChainingTrigger() (*ChainingTrigger, bool) { + return nil, false +} + +// AsTumblingWindowTrigger is the BasicTrigger implementation for MultiplePipelineTrigger. +func (mpt MultiplePipelineTrigger) AsTumblingWindowTrigger() (*TumblingWindowTrigger, bool) { + return nil, false +} + +// AsBlobEventsTrigger is the BasicTrigger implementation for MultiplePipelineTrigger. +func (mpt MultiplePipelineTrigger) AsBlobEventsTrigger() (*BlobEventsTrigger, bool) { + return nil, false +} + +// AsBlobTrigger is the BasicTrigger implementation for MultiplePipelineTrigger. +func (mpt MultiplePipelineTrigger) AsBlobTrigger() (*BlobTrigger, bool) { + return nil, false +} + +// AsScheduleTrigger is the BasicTrigger implementation for MultiplePipelineTrigger. +func (mpt MultiplePipelineTrigger) AsScheduleTrigger() (*ScheduleTrigger, bool) { + return nil, false +} + +// AsMultiplePipelineTrigger is the BasicTrigger implementation for MultiplePipelineTrigger. +func (mpt MultiplePipelineTrigger) AsMultiplePipelineTrigger() (*MultiplePipelineTrigger, bool) { + return &mpt, true +} + +// AsBasicMultiplePipelineTrigger is the BasicTrigger implementation for MultiplePipelineTrigger. +func (mpt MultiplePipelineTrigger) AsBasicMultiplePipelineTrigger() (BasicMultiplePipelineTrigger, bool) { + return &mpt, true +} + +// AsTrigger is the BasicTrigger implementation for MultiplePipelineTrigger. +func (mpt MultiplePipelineTrigger) AsTrigger() (*Trigger, bool) { + return nil, false +} + +// AsBasicTrigger is the BasicTrigger implementation for MultiplePipelineTrigger. +func (mpt MultiplePipelineTrigger) AsBasicTrigger() (BasicTrigger, bool) { + return &mpt, true +} + +// UnmarshalJSON is the custom unmarshaler for MultiplePipelineTrigger struct. +func (mpt *MultiplePipelineTrigger) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "pipelines": + if v != nil { + var pipelines []TriggerPipelineReference + err = json.Unmarshal(*v, &pipelines) + if err != nil { + return err + } + mpt.Pipelines = &pipelines + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if mpt.AdditionalProperties == nil { + mpt.AdditionalProperties = make(map[string]interface{}) + } + mpt.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + mpt.Description = &description + } + case "runtimeState": + if v != nil { + var runtimeState TriggerRuntimeState + err = json.Unmarshal(*v, &runtimeState) + if err != nil { + return err + } + mpt.RuntimeState = runtimeState + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + mpt.Annotations = &annotations + } + case "type": + if v != nil { + var typeVar TypeBasicTrigger + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + mpt.Type = typeVar + } + } + } + + return nil +} + +// MySQLLinkedService linked service for MySQL data source. +type MySQLLinkedService struct { + // MySQLLinkedServiceTypeProperties - MySQL linked service properties. + *MySQLLinkedServiceTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' + Type TypeBasicLinkedService `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for MySQLLinkedService. +func (msls MySQLLinkedService) MarshalJSON() ([]byte, error) { + msls.Type = TypeMySQL + objectMap := make(map[string]interface{}) + if msls.MySQLLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = msls.MySQLLinkedServiceTypeProperties } - if mdvcd.LinkedServiceName != nil { - objectMap["linkedServiceName"] = mdvcd.LinkedServiceName + if msls.ConnectVia != nil { + objectMap["connectVia"] = msls.ConnectVia } - if mdvcd.Parameters != nil { - objectMap["parameters"] = mdvcd.Parameters + if msls.Description != nil { + objectMap["description"] = msls.Description } - if mdvcd.Annotations != nil { - objectMap["annotations"] = mdvcd.Annotations + if msls.Parameters != nil { + objectMap["parameters"] = msls.Parameters } - if mdvcd.Folder != nil { - objectMap["folder"] = mdvcd.Folder + if msls.Annotations != nil { + objectMap["annotations"] = msls.Annotations } - if mdvcd.Type != "" { - objectMap["type"] = mdvcd.Type + if msls.Type != "" { + objectMap["type"] = msls.Type } - for k, v := range mdvcd.AdditionalProperties { + for k, v := range msls.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. -func (mdvcd MongoDbV2CollectionDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { return nil, false } -// AsAzureDataExplorerTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. -func (mdvcd MongoDbV2CollectionDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { return nil, false } -// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. -func (mdvcd MongoDbV2CollectionDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { +// AsSapTableLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { return nil, false } -// AsDynamicsAXResourceDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. -func (mdvcd MongoDbV2CollectionDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { return nil, false } -// AsResponsysObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. -func (mdvcd MongoDbV2CollectionDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { return nil, false } -// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. -func (mdvcd MongoDbV2CollectionDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { return nil, false } -// AsVerticaTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. -func (mdvcd MongoDbV2CollectionDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { +// AsResponsysLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { return nil, false } -// AsNetezzaTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. -func (mdvcd MongoDbV2CollectionDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { return nil, false } -// AsZohoObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. -func (mdvcd MongoDbV2CollectionDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { return nil, false } -// AsXeroObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. -func (mdvcd MongoDbV2CollectionDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { return nil, false } -// AsSquareObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. -func (mdvcd MongoDbV2CollectionDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { return nil, false } -// AsSparkObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. -func (mdvcd MongoDbV2CollectionDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { +// AsNetezzaLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { return nil, false } -// AsShopifyObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. -func (mdvcd MongoDbV2CollectionDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { +// AsVerticaLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { return nil, false } -// AsServiceNowObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. -func (mdvcd MongoDbV2CollectionDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { +// AsZohoLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { return nil, false } -// AsQuickBooksObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. -func (mdvcd MongoDbV2CollectionDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { +// AsXeroLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { return nil, false } -// AsPrestoObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. -func (mdvcd MongoDbV2CollectionDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { +// AsSquareLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { return nil, false } -// AsPhoenixObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. -func (mdvcd MongoDbV2CollectionDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { +// AsSparkLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { return nil, false } -// AsPaypalObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. -func (mdvcd MongoDbV2CollectionDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { +// AsShopifyLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { return nil, false } -// AsMarketoObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. -func (mdvcd MongoDbV2CollectionDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { +// AsServiceNowLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { return nil, false } -// AsAzureMariaDBTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. -func (mdvcd MongoDbV2CollectionDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { +// AsQuickBooksLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { return nil, false } -// AsMariaDBTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. -func (mdvcd MongoDbV2CollectionDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { +// AsPrestoLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { return nil, false } -// AsMagentoObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. -func (mdvcd MongoDbV2CollectionDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { +// AsPhoenixLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { return nil, false } -// AsJiraObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. -func (mdvcd MongoDbV2CollectionDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { +// AsPaypalLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { return nil, false } -// AsImpalaObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. -func (mdvcd MongoDbV2CollectionDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { +// AsMarketoLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { return nil, false } -// AsHubspotObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. -func (mdvcd MongoDbV2CollectionDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { return nil, false } -// AsHiveObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. -func (mdvcd MongoDbV2CollectionDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { +// AsMariaDBLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { return nil, false } -// AsHBaseObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. -func (mdvcd MongoDbV2CollectionDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { +// AsMagentoLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { return nil, false } -// AsGreenplumTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. -func (mdvcd MongoDbV2CollectionDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { +// AsJiraLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { return nil, false } -// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. -func (mdvcd MongoDbV2CollectionDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { +// AsImpalaLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { return nil, false } -// AsEloquaObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. -func (mdvcd MongoDbV2CollectionDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { +// AsHubspotLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { return nil, false } -// AsDrillTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. -func (mdvcd MongoDbV2CollectionDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { +// AsHiveLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { return nil, false } -// AsCouchbaseTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. -func (mdvcd MongoDbV2CollectionDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { +// AsHBaseLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { return nil, false } -// AsConcurObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. -func (mdvcd MongoDbV2CollectionDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { +// AsGreenplumLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { return nil, false } -// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. -func (mdvcd MongoDbV2CollectionDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { return nil, false } -// AsAmazonMWSObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. -func (mdvcd MongoDbV2CollectionDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { +// AsEloquaLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { return nil, false } -// AsHTTPDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. -func (mdvcd MongoDbV2CollectionDataset) AsHTTPDataset() (*HTTPDataset, bool) { +// AsDrillLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { return nil, false } -// AsAzureSearchIndexDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. -func (mdvcd MongoDbV2CollectionDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { +// AsCouchbaseLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { return nil, false } -// AsWebTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. -func (mdvcd MongoDbV2CollectionDataset) AsWebTableDataset() (*WebTableDataset, bool) { +// AsConcurLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { return nil, false } -// AsSapTableResourceDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. -func (mdvcd MongoDbV2CollectionDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { return nil, false } -// AsRestResourceDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. -func (mdvcd MongoDbV2CollectionDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { return nil, false } -// AsSQLServerTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. -func (mdvcd MongoDbV2CollectionDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { +// AsSapHanaLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { return nil, false } -// AsSapOpenHubTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. -func (mdvcd MongoDbV2CollectionDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { +// AsSapBWLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { return nil, false } -// AsSapHanaTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. -func (mdvcd MongoDbV2CollectionDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { +// AsSftpServerLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { return nil, false } -// AsSapEccResourceDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. -func (mdvcd MongoDbV2CollectionDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { +// AsFtpServerLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { return nil, false } -// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. -func (mdvcd MongoDbV2CollectionDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { +// AsHTTPLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { return nil, false } -// AsSapBwCubeDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. -func (mdvcd MongoDbV2CollectionDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { +// AsAzureSearchLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { return nil, false } -// AsSybaseTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. -func (mdvcd MongoDbV2CollectionDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { return nil, false } -// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. -func (mdvcd MongoDbV2CollectionDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { return nil, false } -// AsSalesforceObjectDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. -func (mdvcd MongoDbV2CollectionDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { +// AsAmazonS3LinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { return nil, false } -// AsMicrosoftAccessTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. -func (mdvcd MongoDbV2CollectionDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { +// AsRestServiceLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { return nil, false } -// AsPostgreSQLTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. -func (mdvcd MongoDbV2CollectionDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { return nil, false } -// AsMySQLTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. -func (mdvcd MongoDbV2CollectionDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { +// AsSapEccLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { return nil, false } -// AsOdbcTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. -func (mdvcd MongoDbV2CollectionDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { return nil, false } -// AsInformixTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. -func (mdvcd MongoDbV2CollectionDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { return nil, false } -// AsRelationalTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. -func (mdvcd MongoDbV2CollectionDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { +// AsSalesforceLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { return nil, false } -// AsAzureMySQLTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. -func (mdvcd MongoDbV2CollectionDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { +// AsOffice365LinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { return nil, false } -// AsTeradataTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. -func (mdvcd MongoDbV2CollectionDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { return nil, false } -// AsOracleTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. -func (mdvcd MongoDbV2CollectionDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { return nil, false } -// AsODataResourceDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. -func (mdvcd MongoDbV2CollectionDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { return nil, false } -// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. -func (mdvcd MongoDbV2CollectionDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { return nil, false } -// AsMongoDbV2CollectionDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. -func (mdvcd MongoDbV2CollectionDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { - return &mdvcd, true +// AsMongoDbLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { + return nil, false } -// AsMongoDbCollectionDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. -func (mdvcd MongoDbV2CollectionDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { +// AsCassandraLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { return nil, false } -// AsFileShareDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. -func (mdvcd MongoDbV2CollectionDataset) AsFileShareDataset() (*FileShareDataset, bool) { +// AsWebLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { return nil, false } -// AsOffice365Dataset is the BasicDataset implementation for MongoDbV2CollectionDataset. -func (mdvcd MongoDbV2CollectionDataset) AsOffice365Dataset() (*Office365Dataset, bool) { +// AsODataLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { return nil, false } -// AsAzureBlobFSDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. -func (mdvcd MongoDbV2CollectionDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) { +// AsHdfsLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { return nil, false } -// AsAzureDataLakeStoreDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. -func (mdvcd MongoDbV2CollectionDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) { +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { return nil, false } -// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. -func (mdvcd MongoDbV2CollectionDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { +// AsInformixLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { return nil, false } -// AsDynamicsCrmEntityDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. -func (mdvcd MongoDbV2CollectionDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { +// AsOdbcLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { return nil, false } -// AsDynamicsEntityDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. -func (mdvcd MongoDbV2CollectionDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { return nil, false } -// AsDocumentDbCollectionDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. -func (mdvcd MongoDbV2CollectionDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { +// AsAzureMLLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { return nil, false } -// AsCustomDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. -func (mdvcd MongoDbV2CollectionDataset) AsCustomDataset() (*CustomDataset, bool) { +// AsTeradataLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { return nil, false } -// AsCassandraTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. -func (mdvcd MongoDbV2CollectionDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { +// AsDb2LinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { return nil, false } -// AsAzureSQLDWTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. -func (mdvcd MongoDbV2CollectionDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { +// AsSybaseLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { return nil, false } -// AsAzureSQLMITableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. -func (mdvcd MongoDbV2CollectionDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { return nil, false } -// AsAzureSQLTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. -func (mdvcd MongoDbV2CollectionDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { +// AsMySQLLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { + return &msls, true +} + +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { return nil, false } -// AsAzureTableDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. -func (mdvcd MongoDbV2CollectionDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { +// AsOracleLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { return nil, false } -// AsAzureBlobDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. -func (mdvcd MongoDbV2CollectionDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) { +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { return nil, false } -// AsBinaryDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. -func (mdvcd MongoDbV2CollectionDataset) AsBinaryDataset() (*BinaryDataset, bool) { +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { return nil, false } -// AsDelimitedTextDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. -func (mdvcd MongoDbV2CollectionDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { +// AsFileServerLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { return nil, false } -// AsParquetDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. -func (mdvcd MongoDbV2CollectionDataset) AsParquetDataset() (*ParquetDataset, bool) { +// AsHDInsightLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { return nil, false } -// AsAvroDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. -func (mdvcd MongoDbV2CollectionDataset) AsAvroDataset() (*AvroDataset, bool) { +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { return nil, false } -// AsAmazonS3Dataset is the BasicDataset implementation for MongoDbV2CollectionDataset. -func (mdvcd MongoDbV2CollectionDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) { +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { return nil, false } -// AsDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. -func (mdvcd MongoDbV2CollectionDataset) AsDataset() (*Dataset, bool) { +// AsDynamicsLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { return nil, false } -// AsBasicDataset is the BasicDataset implementation for MongoDbV2CollectionDataset. -func (mdvcd MongoDbV2CollectionDataset) AsBasicDataset() (BasicDataset, bool) { - return &mdvcd, true +// AsCosmosDbLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false } -// UnmarshalJSON is the custom unmarshaler for MongoDbV2CollectionDataset struct. -func (mdvcd *MongoDbV2CollectionDataset) UnmarshalJSON(body []byte) error { +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for MySQLLinkedService. +func (msls MySQLLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &msls, true +} + +// UnmarshalJSON is the custom unmarshaler for MySQLLinkedService struct. +func (msls *MySQLLinkedService) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -118643,12 +135684,12 @@ func (mdvcd *MongoDbV2CollectionDataset) UnmarshalJSON(body []byte) error { switch k { case "typeProperties": if v != nil { - var mongoDbV2CollectionDatasetTypeProperties MongoDbV2CollectionDatasetTypeProperties - err = json.Unmarshal(*v, &mongoDbV2CollectionDatasetTypeProperties) + var mySQLLinkedServiceTypeProperties MySQLLinkedServiceTypeProperties + err = json.Unmarshal(*v, &mySQLLinkedServiceTypeProperties) if err != nil { return err } - mdvcd.MongoDbV2CollectionDatasetTypeProperties = &mongoDbV2CollectionDatasetTypeProperties + msls.MySQLLinkedServiceTypeProperties = &mySQLLinkedServiceTypeProperties } default: if v != nil { @@ -118657,82 +135698,106 @@ func (mdvcd *MongoDbV2CollectionDataset) UnmarshalJSON(body []byte) error { if err != nil { return err } - if mdvcd.AdditionalProperties == nil { - mdvcd.AdditionalProperties = make(map[string]interface{}) + if msls.AdditionalProperties == nil { + msls.AdditionalProperties = make(map[string]interface{}) } - mdvcd.AdditionalProperties[k] = additionalProperties + msls.AdditionalProperties[k] = additionalProperties } - case "description": + case "connectVia": if v != nil { - var description string - err = json.Unmarshal(*v, &description) + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) if err != nil { return err } - mdvcd.Description = &description + msls.ConnectVia = &connectVia } - case "structure": + case "description": if v != nil { - var structure interface{} - err = json.Unmarshal(*v, &structure) + var description string + err = json.Unmarshal(*v, &description) if err != nil { return err } - mdvcd.Structure = structure + msls.Description = &description } - case "schema": + case "parameters": if v != nil { - var schema interface{} - err = json.Unmarshal(*v, &schema) + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) if err != nil { return err } - mdvcd.Schema = schema + msls.Parameters = parameters } - case "linkedServiceName": + case "annotations": if v != nil { - var linkedServiceName LinkedServiceReference - err = json.Unmarshal(*v, &linkedServiceName) + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) if err != nil { return err } - mdvcd.LinkedServiceName = &linkedServiceName + msls.Annotations = &annotations } - case "parameters": + case "type": if v != nil { - var parameters map[string]*ParameterSpecification - err = json.Unmarshal(*v, ¶meters) + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - mdvcd.Parameters = parameters + msls.Type = typeVar } - case "annotations": + } + } + + return nil +} + +// MySQLLinkedServiceTypeProperties mySQL linked service properties. +type MySQLLinkedServiceTypeProperties struct { + // ConnectionString - The connection string. + ConnectionString BasicSecretBase `json:"connectionString,omitempty"` + // Password - The Azure key vault secret reference of password in connection string. + Password *AzureKeyVaultSecretReference `json:"password,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for MySQLLinkedServiceTypeProperties struct. +func (mslstp *MySQLLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "connectionString": if v != nil { - var annotations []interface{} - err = json.Unmarshal(*v, &annotations) + connectionString, err := unmarshalBasicSecretBase(*v) if err != nil { return err } - mdvcd.Annotations = &annotations + mslstp.ConnectionString = connectionString } - case "folder": + case "password": if v != nil { - var folder DatasetFolder - err = json.Unmarshal(*v, &folder) + var password AzureKeyVaultSecretReference + err = json.Unmarshal(*v, &password) if err != nil { return err } - mdvcd.Folder = &folder + mslstp.Password = &password } - case "type": + case "encryptedCredential": if v != nil { - var typeVar TypeBasicDataset - err = json.Unmarshal(*v, &typeVar) + var encryptedCredential interface{} + err = json.Unmarshal(*v, &encryptedCredential) if err != nil { return err } - mdvcd.Type = typeVar + mslstp.EncryptedCredential = encryptedCredential } } } @@ -118740,525 +135805,504 @@ func (mdvcd *MongoDbV2CollectionDataset) UnmarshalJSON(body []byte) error { return nil } -// MongoDbV2CollectionDatasetTypeProperties mongoDB database dataset properties. -type MongoDbV2CollectionDatasetTypeProperties struct { - // Collection - The collection name of the MongoDB database. Type: string (or Expression with resultType string). - Collection interface{} `json:"collection,omitempty"` -} - -// MongoDbV2LinkedService linked service for MongoDB data source. -type MongoDbV2LinkedService struct { - // MongoDbV2LinkedServiceTypeProperties - MongoDB linked service properties. - *MongoDbV2LinkedServiceTypeProperties `json:"typeProperties,omitempty"` +// MySQLSource a copy activity source for MySQL databases. +type MySQLSource struct { + // Query - Database query. Type: string (or Expression with resultType string). + Query interface{} `json:"query,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` - // ConnectVia - The integration runtime reference. - ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` - // Description - Linked service description. - Description *string `json:"description,omitempty"` - // Parameters - Parameters for linked service. - Parameters map[string]*ParameterSpecification `json:"parameters"` - // Annotations - List of tags that can be used for describing the linked service. - Annotations *[]interface{} `json:"annotations,omitempty"` - // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' - Type TypeBasicLinkedService `json:"type,omitempty"` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' + Type TypeBasicCopySource `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for MongoDbV2LinkedService. -func (mdvls MongoDbV2LinkedService) MarshalJSON() ([]byte, error) { - mdvls.Type = TypeMongoDbV2 +// MarshalJSON is the custom marshaler for MySQLSource. +func (mss MySQLSource) MarshalJSON() ([]byte, error) { + mss.Type = TypeMySQLSource objectMap := make(map[string]interface{}) - if mdvls.MongoDbV2LinkedServiceTypeProperties != nil { - objectMap["typeProperties"] = mdvls.MongoDbV2LinkedServiceTypeProperties + if mss.Query != nil { + objectMap["query"] = mss.Query } - if mdvls.ConnectVia != nil { - objectMap["connectVia"] = mdvls.ConnectVia + if mss.QueryTimeout != nil { + objectMap["queryTimeout"] = mss.QueryTimeout } - if mdvls.Description != nil { - objectMap["description"] = mdvls.Description + if mss.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = mss.SourceRetryCount } - if mdvls.Parameters != nil { - objectMap["parameters"] = mdvls.Parameters + if mss.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = mss.SourceRetryWait } - if mdvls.Annotations != nil { - objectMap["annotations"] = mdvls.Annotations + if mss.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = mss.MaxConcurrentConnections } - if mdvls.Type != "" { - objectMap["type"] = mdvls.Type + if mss.Type != "" { + objectMap["type"] = mss.Type } - for k, v := range mdvls.AdditionalProperties { + for k, v := range mss.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsAzureFunctionLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. -func (mdvls MongoDbV2LinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { - return nil, false -} - -// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. -func (mdvls MongoDbV2LinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { - return nil, false -} - -// AsSapTableLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. -func (mdvls MongoDbV2LinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { +// AsHTTPSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsHTTPSource() (*HTTPSource, bool) { return nil, false } -// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. -func (mdvls MongoDbV2LinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { +// AsAzureBlobFSSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { return nil, false } -// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. -func (mdvls MongoDbV2LinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { return nil, false } -// AsDynamicsAXLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. -func (mdvls MongoDbV2LinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { +// AsOffice365Source is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsOffice365Source() (*Office365Source, bool) { return nil, false } -// AsResponsysLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. -func (mdvls MongoDbV2LinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { return nil, false } -// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. -func (mdvls MongoDbV2LinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { +// AsMongoDbV2Source is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { return nil, false } -// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. -func (mdvls MongoDbV2LinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { +// AsMongoDbSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsMongoDbSource() (*MongoDbSource, bool) { return nil, false } -// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. -func (mdvls MongoDbV2LinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { +// AsWebSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsWebSource() (*WebSource, bool) { return nil, false } -// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. -func (mdvls MongoDbV2LinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { +// AsOracleSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsOracleSource() (*OracleSource, bool) { return nil, false } -// AsNetezzaLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. -func (mdvls MongoDbV2LinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { +// AsAzureDataExplorerSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { return nil, false } -// AsVerticaLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. -func (mdvls MongoDbV2LinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { +// AsHdfsSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsHdfsSource() (*HdfsSource, bool) { return nil, false } -// AsZohoLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. -func (mdvls MongoDbV2LinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { +// AsFileSystemSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsFileSystemSource() (*FileSystemSource, bool) { return nil, false } -// AsXeroLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. -func (mdvls MongoDbV2LinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { +// AsRestSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsRestSource() (*RestSource, bool) { return nil, false } -// AsSquareLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. -func (mdvls MongoDbV2LinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { return nil, false } -// AsSparkLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. -func (mdvls MongoDbV2LinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { +// AsODataSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsODataSource() (*ODataSource, bool) { return nil, false } -// AsShopifyLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. -func (mdvls MongoDbV2LinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { +// AsMicrosoftAccessSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { return nil, false } -// AsServiceNowLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. -func (mdvls MongoDbV2LinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { +// AsRelationalSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsRelationalSource() (*RelationalSource, bool) { return nil, false } -// AsQuickBooksLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. -func (mdvls MongoDbV2LinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { return nil, false } -// AsPrestoLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. -func (mdvls MongoDbV2LinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { +// AsDynamicsCrmSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { return nil, false } -// AsPhoenixLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. -func (mdvls MongoDbV2LinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { +// AsDynamicsSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsDynamicsSource() (*DynamicsSource, bool) { return nil, false } -// AsPaypalLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. -func (mdvls MongoDbV2LinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { return nil, false } -// AsMarketoLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. -func (mdvls MongoDbV2LinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { +// AsDocumentDbCollectionSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { return nil, false } -// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. -func (mdvls MongoDbV2LinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { +// AsBlobSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsBlobSource() (*BlobSource, bool) { return nil, false } -// AsMariaDBLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. -func (mdvls MongoDbV2LinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { +// AsAmazonRedshiftSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { return nil, false } -// AsMagentoLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. -func (mdvls MongoDbV2LinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { +// AsGoogleAdWordsSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { return nil, false } -// AsJiraLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. -func (mdvls MongoDbV2LinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { +// AsOracleServiceCloudSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { return nil, false } -// AsImpalaLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. -func (mdvls MongoDbV2LinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { +// AsDynamicsAXSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { return nil, false } -// AsHubspotLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. -func (mdvls MongoDbV2LinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { +// AsResponsysSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsResponsysSource() (*ResponsysSource, bool) { return nil, false } -// AsHiveLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. -func (mdvls MongoDbV2LinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { return nil, false } -// AsHBaseLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. -func (mdvls MongoDbV2LinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { +// AsVerticaSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsVerticaSource() (*VerticaSource, bool) { return nil, false } -// AsGreenplumLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. -func (mdvls MongoDbV2LinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { +// AsNetezzaSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsNetezzaSource() (*NetezzaSource, bool) { return nil, false } -// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. -func (mdvls MongoDbV2LinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { +// AsZohoSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsZohoSource() (*ZohoSource, bool) { return nil, false } -// AsEloquaLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. -func (mdvls MongoDbV2LinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { +// AsXeroSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsXeroSource() (*XeroSource, bool) { return nil, false } -// AsDrillLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. -func (mdvls MongoDbV2LinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { +// AsSquareSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsSquareSource() (*SquareSource, bool) { return nil, false } -// AsCouchbaseLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. -func (mdvls MongoDbV2LinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { +// AsSparkSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsSparkSource() (*SparkSource, bool) { return nil, false } -// AsConcurLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. -func (mdvls MongoDbV2LinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { +// AsShopifySource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsShopifySource() (*ShopifySource, bool) { return nil, false } -// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. -func (mdvls MongoDbV2LinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { +// AsServiceNowSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsServiceNowSource() (*ServiceNowSource, bool) { return nil, false } -// AsAmazonMWSLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. -func (mdvls MongoDbV2LinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { +// AsQuickBooksSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsQuickBooksSource() (*QuickBooksSource, bool) { return nil, false } -// AsSapHanaLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. -func (mdvls MongoDbV2LinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { +// AsPrestoSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsPrestoSource() (*PrestoSource, bool) { return nil, false } -// AsSapBWLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. -func (mdvls MongoDbV2LinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { +// AsPhoenixSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsPhoenixSource() (*PhoenixSource, bool) { return nil, false } -// AsSftpServerLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. -func (mdvls MongoDbV2LinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { +// AsPaypalSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsPaypalSource() (*PaypalSource, bool) { return nil, false } -// AsFtpServerLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. -func (mdvls MongoDbV2LinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { +// AsMarketoSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsMarketoSource() (*MarketoSource, bool) { return nil, false } -// AsHTTPLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. -func (mdvls MongoDbV2LinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { +// AsAzureMariaDBSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { return nil, false } -// AsAzureSearchLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. -func (mdvls MongoDbV2LinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { +// AsMariaDBSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsMariaDBSource() (*MariaDBSource, bool) { return nil, false } -// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. -func (mdvls MongoDbV2LinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { +// AsMagentoSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsMagentoSource() (*MagentoSource, bool) { return nil, false } -// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. -func (mdvls MongoDbV2LinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { +// AsJiraSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsJiraSource() (*JiraSource, bool) { return nil, false } -// AsAmazonS3LinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. -func (mdvls MongoDbV2LinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { +// AsImpalaSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsImpalaSource() (*ImpalaSource, bool) { return nil, false } -// AsRestServiceLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. -func (mdvls MongoDbV2LinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { +// AsHubspotSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsHubspotSource() (*HubspotSource, bool) { return nil, false } -// AsSapOpenHubLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. -func (mdvls MongoDbV2LinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { +// AsHiveSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsHiveSource() (*HiveSource, bool) { return nil, false } -// AsSapEccLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. -func (mdvls MongoDbV2LinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { +// AsHBaseSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsHBaseSource() (*HBaseSource, bool) { return nil, false } -// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. -func (mdvls MongoDbV2LinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { +// AsGreenplumSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsGreenplumSource() (*GreenplumSource, bool) { return nil, false } -// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. -func (mdvls MongoDbV2LinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { +// AsGoogleBigQuerySource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { return nil, false } -// AsSalesforceLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. -func (mdvls MongoDbV2LinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { +// AsEloquaSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsEloquaSource() (*EloquaSource, bool) { return nil, false } -// AsOffice365LinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. -func (mdvls MongoDbV2LinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { +// AsDrillSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsDrillSource() (*DrillSource, bool) { return nil, false } -// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. -func (mdvls MongoDbV2LinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { +// AsCouchbaseSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsCouchbaseSource() (*CouchbaseSource, bool) { return nil, false } -// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. -func (mdvls MongoDbV2LinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { +// AsConcurSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsConcurSource() (*ConcurSource, bool) { return nil, false } -// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. -func (mdvls MongoDbV2LinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { +// AsAzurePostgreSQLSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { return nil, false } -// AsMongoDbV2LinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. -func (mdvls MongoDbV2LinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { - return &mdvls, true -} - -// AsMongoDbLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. -func (mdvls MongoDbV2LinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { +// AsAmazonMWSSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { return nil, false } -// AsCassandraLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. -func (mdvls MongoDbV2LinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { +// AsCassandraSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsCassandraSource() (*CassandraSource, bool) { return nil, false } -// AsWebLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. -func (mdvls MongoDbV2LinkedService) AsWebLinkedService() (*WebLinkedService, bool) { +// AsTeradataSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsTeradataSource() (*TeradataSource, bool) { return nil, false } -// AsODataLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. -func (mdvls MongoDbV2LinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { +// AsAzureMySQLSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { return nil, false } -// AsHdfsLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. -func (mdvls MongoDbV2LinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { +// AsSQLDWSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsSQLDWSource() (*SQLDWSource, bool) { return nil, false } -// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. -func (mdvls MongoDbV2LinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { +// AsSQLMISource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsSQLMISource() (*SQLMISource, bool) { return nil, false } -// AsInformixLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. -func (mdvls MongoDbV2LinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { +// AsAzureSQLSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsAzureSQLSource() (*AzureSQLSource, bool) { return nil, false } -// AsOdbcLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. -func (mdvls MongoDbV2LinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { +// AsSQLServerSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsSQLServerSource() (*SQLServerSource, bool) { return nil, false } -// AsAzureMLLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. -func (mdvls MongoDbV2LinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { +// AsSQLSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsSQLSource() (*SQLSource, bool) { return nil, false } -// AsTeradataLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. -func (mdvls MongoDbV2LinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { +// AsSapTableSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsSapTableSource() (*SapTableSource, bool) { return nil, false } -// AsDb2LinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. -func (mdvls MongoDbV2LinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { +// AsSapOpenHubSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { return nil, false } -// AsSybaseLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. -func (mdvls MongoDbV2LinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { +// AsSapHanaSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsSapHanaSource() (*SapHanaSource, bool) { return nil, false } -// AsPostgreSQLLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. -func (mdvls MongoDbV2LinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { +// AsSapEccSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsSapEccSource() (*SapEccSource, bool) { return nil, false } -// AsMySQLLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. -func (mdvls MongoDbV2LinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { +// AsSapCloudForCustomerSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { return nil, false } -// AsAzureMySQLLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. -func (mdvls MongoDbV2LinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { +// AsSalesforceSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsSalesforceSource() (*SalesforceSource, bool) { return nil, false } -// AsOracleLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. -func (mdvls MongoDbV2LinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { +// AsSapBwSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsSapBwSource() (*SapBwSource, bool) { return nil, false } -// AsFileServerLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. -func (mdvls MongoDbV2LinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { +// AsSybaseSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsSybaseSource() (*SybaseSource, bool) { return nil, false } -// AsHDInsightLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. -func (mdvls MongoDbV2LinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { +// AsPostgreSQLSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { return nil, false } -// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. -func (mdvls MongoDbV2LinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { - return nil, false +// AsMySQLSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsMySQLSource() (*MySQLSource, bool) { + return &mss, true } -// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. -func (mdvls MongoDbV2LinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { +// AsOdbcSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsOdbcSource() (*OdbcSource, bool) { return nil, false } -// AsDynamicsLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. -func (mdvls MongoDbV2LinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { +// AsDb2Source is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsDb2Source() (*Db2Source, bool) { return nil, false } -// AsCosmosDbLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. -func (mdvls MongoDbV2LinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { +// AsInformixSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsInformixSource() (*InformixSource, bool) { return nil, false } -// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. -func (mdvls MongoDbV2LinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { +// AsAzureTableSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsAzureTableSource() (*AzureTableSource, bool) { return nil, false } -// AsAzureBatchLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. -func (mdvls MongoDbV2LinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { +// AsTabularSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsTabularSource() (*TabularSource, bool) { return nil, false } -// AsAzureSQLMILinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. -func (mdvls MongoDbV2LinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { - return nil, false +// AsBasicTabularSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &mss, true } -// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. -func (mdvls MongoDbV2LinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { +// AsBinarySource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsBinarySource() (*BinarySource, bool) { return nil, false } -// AsSQLServerLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. -func (mdvls MongoDbV2LinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { +// AsOrcSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsOrcSource() (*OrcSource, bool) { return nil, false } -// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. -func (mdvls MongoDbV2LinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { +// AsJSONSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsJSONSource() (*JSONSource, bool) { return nil, false } -// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. -func (mdvls MongoDbV2LinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { +// AsDelimitedTextSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { return nil, false } -// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. -func (mdvls MongoDbV2LinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { +// AsParquetSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsParquetSource() (*ParquetSource, bool) { return nil, false } -// AsAzureStorageLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. -func (mdvls MongoDbV2LinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { +// AsAvroSource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsAvroSource() (*AvroSource, bool) { return nil, false } -// AsLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. -func (mdvls MongoDbV2LinkedService) AsLinkedService() (*LinkedService, bool) { +// AsCopySource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsCopySource() (*CopySource, bool) { return nil, false } -// AsBasicLinkedService is the BasicLinkedService implementation for MongoDbV2LinkedService. -func (mdvls MongoDbV2LinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { - return &mdvls, true +// AsBasicCopySource is the BasicCopySource implementation for MySQLSource. +func (mss MySQLSource) AsBasicCopySource() (BasicCopySource, bool) { + return &mss, true } -// UnmarshalJSON is the custom unmarshaler for MongoDbV2LinkedService struct. -func (mdvls *MongoDbV2LinkedService) UnmarshalJSON(body []byte) error { +// UnmarshalJSON is the custom unmarshaler for MySQLSource struct. +func (mss *MySQLSource) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -119266,564 +136310,586 @@ func (mdvls *MongoDbV2LinkedService) UnmarshalJSON(body []byte) error { } for k, v := range m { switch k { - case "typeProperties": + case "query": if v != nil { - var mongoDbV2LinkedServiceTypeProperties MongoDbV2LinkedServiceTypeProperties - err = json.Unmarshal(*v, &mongoDbV2LinkedServiceTypeProperties) + var query interface{} + err = json.Unmarshal(*v, &query) if err != nil { return err } - mdvls.MongoDbV2LinkedServiceTypeProperties = &mongoDbV2LinkedServiceTypeProperties + mss.Query = query } - default: + case "queryTimeout": if v != nil { - var additionalProperties interface{} - err = json.Unmarshal(*v, &additionalProperties) + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) if err != nil { return err } - if mdvls.AdditionalProperties == nil { - mdvls.AdditionalProperties = make(map[string]interface{}) - } - mdvls.AdditionalProperties[k] = additionalProperties + mss.QueryTimeout = queryTimeout } - case "connectVia": + default: if v != nil { - var connectVia IntegrationRuntimeReference - err = json.Unmarshal(*v, &connectVia) + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) if err != nil { return err } - mdvls.ConnectVia = &connectVia + if mss.AdditionalProperties == nil { + mss.AdditionalProperties = make(map[string]interface{}) + } + mss.AdditionalProperties[k] = additionalProperties } - case "description": + case "sourceRetryCount": if v != nil { - var description string - err = json.Unmarshal(*v, &description) + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) if err != nil { return err } - mdvls.Description = &description + mss.SourceRetryCount = sourceRetryCount } - case "parameters": + case "sourceRetryWait": if v != nil { - var parameters map[string]*ParameterSpecification - err = json.Unmarshal(*v, ¶meters) + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) if err != nil { return err } - mdvls.Parameters = parameters + mss.SourceRetryWait = sourceRetryWait } - case "annotations": + case "maxConcurrentConnections": if v != nil { - var annotations []interface{} - err = json.Unmarshal(*v, &annotations) + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) if err != nil { return err } - mdvls.Annotations = &annotations + mss.MaxConcurrentConnections = maxConcurrentConnections } case "type": if v != nil { - var typeVar TypeBasicLinkedService + var typeVar TypeBasicCopySource err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - mdvls.Type = typeVar + mss.Type = typeVar } } } - - return nil -} - -// MongoDbV2LinkedServiceTypeProperties mongoDB linked service properties. -type MongoDbV2LinkedServiceTypeProperties struct { - // ConnectionString - The MongoDB connection string. Type: string, SecureString or AzureKeyVaultSecretReference. Type: string, SecureString or AzureKeyVaultSecretReference. - ConnectionString interface{} `json:"connectionString,omitempty"` - // Database - The name of the MongoDB database that you want to access. Type: string (or Expression with resultType string). - Database interface{} `json:"database,omitempty"` + + return nil } -// MongoDbV2Source a copy activity source for a MongoDB database. -type MongoDbV2Source struct { - // Filter - Specifies selection filter using query operators. To return all documents in a collection, omit this parameter or pass an empty document ({}). Type: string (or Expression with resultType string). - Filter interface{} `json:"filter,omitempty"` - // CursorMethods - Cursor methods for Mongodb query - CursorMethods *MongoDbCursorMethodsProperties `json:"cursorMethods,omitempty"` - // BatchSize - Specifies the number of documents to return in each batch of the response from MongoDB instance. In most cases, modifying the batch size will not affect the user or the application. This property's main purpose is to avoid hit the limitation of response size. Type: integer (or Expression with resultType integer). - BatchSize interface{} `json:"batchSize,omitempty"` +// MySQLTableDataset the MySQL table dataset. +type MySQLTableDataset struct { + // MySQLTableDatasetTypeProperties - MySQL table dataset properties. + *MySQLTableDatasetTypeProperties `json:"typeProperties,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` - // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). - SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` - // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). - SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` - // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). - MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' - Type TypeBasicCopySource `json:"type,omitempty"` + // Description - Dataset description. + Description *string `json:"description,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' + Type TypeBasicDataset `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for MongoDbV2Source. -func (mdvs MongoDbV2Source) MarshalJSON() ([]byte, error) { - mdvs.Type = TypeMongoDbV2Source +// MarshalJSON is the custom marshaler for MySQLTableDataset. +func (mstd MySQLTableDataset) MarshalJSON() ([]byte, error) { + mstd.Type = TypeMySQLTable objectMap := make(map[string]interface{}) - if mdvs.Filter != nil { - objectMap["filter"] = mdvs.Filter + if mstd.MySQLTableDatasetTypeProperties != nil { + objectMap["typeProperties"] = mstd.MySQLTableDatasetTypeProperties } - if mdvs.CursorMethods != nil { - objectMap["cursorMethods"] = mdvs.CursorMethods + if mstd.Description != nil { + objectMap["description"] = mstd.Description } - if mdvs.BatchSize != nil { - objectMap["batchSize"] = mdvs.BatchSize + if mstd.Structure != nil { + objectMap["structure"] = mstd.Structure } - if mdvs.SourceRetryCount != nil { - objectMap["sourceRetryCount"] = mdvs.SourceRetryCount + if mstd.Schema != nil { + objectMap["schema"] = mstd.Schema } - if mdvs.SourceRetryWait != nil { - objectMap["sourceRetryWait"] = mdvs.SourceRetryWait + if mstd.LinkedServiceName != nil { + objectMap["linkedServiceName"] = mstd.LinkedServiceName } - if mdvs.MaxConcurrentConnections != nil { - objectMap["maxConcurrentConnections"] = mdvs.MaxConcurrentConnections + if mstd.Parameters != nil { + objectMap["parameters"] = mstd.Parameters } - if mdvs.Type != "" { - objectMap["type"] = mdvs.Type + if mstd.Annotations != nil { + objectMap["annotations"] = mstd.Annotations } - for k, v := range mdvs.AdditionalProperties { + if mstd.Folder != nil { + objectMap["folder"] = mstd.Folder + } + if mstd.Type != "" { + objectMap["type"] = mstd.Type + } + for k, v := range mstd.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsAmazonRedshiftSource is the BasicCopySource implementation for MongoDbV2Source. -func (mdvs MongoDbV2Source) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { return nil, false } -// AsGoogleAdWordsSource is the BasicCopySource implementation for MongoDbV2Source. -func (mdvs MongoDbV2Source) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { return nil, false } -// AsOracleServiceCloudSource is the BasicCopySource implementation for MongoDbV2Source. -func (mdvs MongoDbV2Source) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { return nil, false } -// AsDynamicsAXSource is the BasicCopySource implementation for MongoDbV2Source. -func (mdvs MongoDbV2Source) AsDynamicsAXSource() (*DynamicsAXSource, bool) { +// AsDynamicsAXResourceDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { return nil, false } -// AsResponsysSource is the BasicCopySource implementation for MongoDbV2Source. -func (mdvs MongoDbV2Source) AsResponsysSource() (*ResponsysSource, bool) { +// AsResponsysObjectDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { return nil, false } -// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for MongoDbV2Source. -func (mdvs MongoDbV2Source) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { return nil, false } -// AsVerticaSource is the BasicCopySource implementation for MongoDbV2Source. -func (mdvs MongoDbV2Source) AsVerticaSource() (*VerticaSource, bool) { +// AsVerticaTableDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { return nil, false } -// AsNetezzaSource is the BasicCopySource implementation for MongoDbV2Source. -func (mdvs MongoDbV2Source) AsNetezzaSource() (*NetezzaSource, bool) { +// AsNetezzaTableDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { return nil, false } -// AsZohoSource is the BasicCopySource implementation for MongoDbV2Source. -func (mdvs MongoDbV2Source) AsZohoSource() (*ZohoSource, bool) { +// AsZohoObjectDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { return nil, false } -// AsXeroSource is the BasicCopySource implementation for MongoDbV2Source. -func (mdvs MongoDbV2Source) AsXeroSource() (*XeroSource, bool) { +// AsXeroObjectDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { return nil, false } -// AsSquareSource is the BasicCopySource implementation for MongoDbV2Source. -func (mdvs MongoDbV2Source) AsSquareSource() (*SquareSource, bool) { +// AsSquareObjectDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { return nil, false } -// AsSparkSource is the BasicCopySource implementation for MongoDbV2Source. -func (mdvs MongoDbV2Source) AsSparkSource() (*SparkSource, bool) { +// AsSparkObjectDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { return nil, false } -// AsShopifySource is the BasicCopySource implementation for MongoDbV2Source. -func (mdvs MongoDbV2Source) AsShopifySource() (*ShopifySource, bool) { +// AsShopifyObjectDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { return nil, false } -// AsServiceNowSource is the BasicCopySource implementation for MongoDbV2Source. -func (mdvs MongoDbV2Source) AsServiceNowSource() (*ServiceNowSource, bool) { +// AsServiceNowObjectDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { return nil, false } -// AsQuickBooksSource is the BasicCopySource implementation for MongoDbV2Source. -func (mdvs MongoDbV2Source) AsQuickBooksSource() (*QuickBooksSource, bool) { +// AsQuickBooksObjectDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { return nil, false } -// AsPrestoSource is the BasicCopySource implementation for MongoDbV2Source. -func (mdvs MongoDbV2Source) AsPrestoSource() (*PrestoSource, bool) { +// AsPrestoObjectDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { return nil, false } -// AsPhoenixSource is the BasicCopySource implementation for MongoDbV2Source. -func (mdvs MongoDbV2Source) AsPhoenixSource() (*PhoenixSource, bool) { +// AsPhoenixObjectDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { return nil, false } -// AsPaypalSource is the BasicCopySource implementation for MongoDbV2Source. -func (mdvs MongoDbV2Source) AsPaypalSource() (*PaypalSource, bool) { +// AsPaypalObjectDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { return nil, false } -// AsMarketoSource is the BasicCopySource implementation for MongoDbV2Source. -func (mdvs MongoDbV2Source) AsMarketoSource() (*MarketoSource, bool) { +// AsMarketoObjectDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { return nil, false } -// AsAzureMariaDBSource is the BasicCopySource implementation for MongoDbV2Source. -func (mdvs MongoDbV2Source) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { +// AsAzureMariaDBTableDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { return nil, false } -// AsMariaDBSource is the BasicCopySource implementation for MongoDbV2Source. -func (mdvs MongoDbV2Source) AsMariaDBSource() (*MariaDBSource, bool) { +// AsMariaDBTableDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { return nil, false } -// AsMagentoSource is the BasicCopySource implementation for MongoDbV2Source. -func (mdvs MongoDbV2Source) AsMagentoSource() (*MagentoSource, bool) { +// AsMagentoObjectDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { return nil, false } -// AsJiraSource is the BasicCopySource implementation for MongoDbV2Source. -func (mdvs MongoDbV2Source) AsJiraSource() (*JiraSource, bool) { +// AsJiraObjectDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { return nil, false } -// AsImpalaSource is the BasicCopySource implementation for MongoDbV2Source. -func (mdvs MongoDbV2Source) AsImpalaSource() (*ImpalaSource, bool) { +// AsImpalaObjectDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { return nil, false } -// AsHubspotSource is the BasicCopySource implementation for MongoDbV2Source. -func (mdvs MongoDbV2Source) AsHubspotSource() (*HubspotSource, bool) { +// AsHubspotObjectDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { return nil, false } -// AsHiveSource is the BasicCopySource implementation for MongoDbV2Source. -func (mdvs MongoDbV2Source) AsHiveSource() (*HiveSource, bool) { +// AsHiveObjectDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { return nil, false } -// AsHBaseSource is the BasicCopySource implementation for MongoDbV2Source. -func (mdvs MongoDbV2Source) AsHBaseSource() (*HBaseSource, bool) { +// AsHBaseObjectDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { return nil, false } -// AsGreenplumSource is the BasicCopySource implementation for MongoDbV2Source. -func (mdvs MongoDbV2Source) AsGreenplumSource() (*GreenplumSource, bool) { +// AsGreenplumTableDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { return nil, false } -// AsGoogleBigQuerySource is the BasicCopySource implementation for MongoDbV2Source. -func (mdvs MongoDbV2Source) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { return nil, false } -// AsEloquaSource is the BasicCopySource implementation for MongoDbV2Source. -func (mdvs MongoDbV2Source) AsEloquaSource() (*EloquaSource, bool) { +// AsEloquaObjectDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { return nil, false } -// AsDrillSource is the BasicCopySource implementation for MongoDbV2Source. -func (mdvs MongoDbV2Source) AsDrillSource() (*DrillSource, bool) { +// AsDrillTableDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { return nil, false } -// AsCouchbaseSource is the BasicCopySource implementation for MongoDbV2Source. -func (mdvs MongoDbV2Source) AsCouchbaseSource() (*CouchbaseSource, bool) { +// AsCouchbaseTableDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { return nil, false } -// AsConcurSource is the BasicCopySource implementation for MongoDbV2Source. -func (mdvs MongoDbV2Source) AsConcurSource() (*ConcurSource, bool) { +// AsConcurObjectDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { return nil, false } -// AsAzurePostgreSQLSource is the BasicCopySource implementation for MongoDbV2Source. -func (mdvs MongoDbV2Source) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { return nil, false } -// AsAmazonMWSSource is the BasicCopySource implementation for MongoDbV2Source. -func (mdvs MongoDbV2Source) AsAmazonMWSSource() (*AmazonMWSSource, bool) { +// AsAmazonMWSObjectDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { return nil, false } -// AsHTTPSource is the BasicCopySource implementation for MongoDbV2Source. -func (mdvs MongoDbV2Source) AsHTTPSource() (*HTTPSource, bool) { +// AsHTTPDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsHTTPDataset() (*HTTPDataset, bool) { return nil, false } -// AsAzureBlobFSSource is the BasicCopySource implementation for MongoDbV2Source. -func (mdvs MongoDbV2Source) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { +// AsAzureSearchIndexDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { return nil, false } -// AsAzureDataLakeStoreSource is the BasicCopySource implementation for MongoDbV2Source. -func (mdvs MongoDbV2Source) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { +// AsWebTableDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsWebTableDataset() (*WebTableDataset, bool) { return nil, false } -// AsOffice365Source is the BasicCopySource implementation for MongoDbV2Source. -func (mdvs MongoDbV2Source) AsOffice365Source() (*Office365Source, bool) { +// AsSapTableResourceDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { return nil, false } -// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for MongoDbV2Source. -func (mdvs MongoDbV2Source) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { +// AsRestResourceDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { return nil, false } -// AsMongoDbV2Source is the BasicCopySource implementation for MongoDbV2Source. -func (mdvs MongoDbV2Source) AsMongoDbV2Source() (*MongoDbV2Source, bool) { - return &mdvs, true +// AsSQLServerTableDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { + return nil, false } -// AsMongoDbSource is the BasicCopySource implementation for MongoDbV2Source. -func (mdvs MongoDbV2Source) AsMongoDbSource() (*MongoDbSource, bool) { +// AsSapOpenHubTableDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { return nil, false } -// AsCassandraSource is the BasicCopySource implementation for MongoDbV2Source. -func (mdvs MongoDbV2Source) AsCassandraSource() (*CassandraSource, bool) { +// AsSapHanaTableDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { return nil, false } -// AsWebSource is the BasicCopySource implementation for MongoDbV2Source. -func (mdvs MongoDbV2Source) AsWebSource() (*WebSource, bool) { +// AsSapEccResourceDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { return nil, false } -// AsTeradataSource is the BasicCopySource implementation for MongoDbV2Source. -func (mdvs MongoDbV2Source) AsTeradataSource() (*TeradataSource, bool) { +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { return nil, false } -// AsOracleSource is the BasicCopySource implementation for MongoDbV2Source. -func (mdvs MongoDbV2Source) AsOracleSource() (*OracleSource, bool) { +// AsSapBwCubeDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { return nil, false } -// AsAzureDataExplorerSource is the BasicCopySource implementation for MongoDbV2Source. -func (mdvs MongoDbV2Source) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { +// AsSybaseTableDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { return nil, false } -// AsAzureMySQLSource is the BasicCopySource implementation for MongoDbV2Source. -func (mdvs MongoDbV2Source) AsAzureMySQLSource() (*AzureMySQLSource, bool) { +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { return nil, false } -// AsHdfsSource is the BasicCopySource implementation for MongoDbV2Source. -func (mdvs MongoDbV2Source) AsHdfsSource() (*HdfsSource, bool) { +// AsSalesforceObjectDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { return nil, false } -// AsFileSystemSource is the BasicCopySource implementation for MongoDbV2Source. -func (mdvs MongoDbV2Source) AsFileSystemSource() (*FileSystemSource, bool) { +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { return nil, false } -// AsSQLDWSource is the BasicCopySource implementation for MongoDbV2Source. -func (mdvs MongoDbV2Source) AsSQLDWSource() (*SQLDWSource, bool) { +// AsPostgreSQLTableDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { return nil, false } -// AsSQLMISource is the BasicCopySource implementation for MongoDbV2Source. -func (mdvs MongoDbV2Source) AsSQLMISource() (*SQLMISource, bool) { +// AsMySQLTableDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { + return &mstd, true +} + +// AsOdbcTableDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { return nil, false } -// AsAzureSQLSource is the BasicCopySource implementation for MongoDbV2Source. -func (mdvs MongoDbV2Source) AsAzureSQLSource() (*AzureSQLSource, bool) { +// AsInformixTableDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { return nil, false } -// AsSQLServerSource is the BasicCopySource implementation for MongoDbV2Source. -func (mdvs MongoDbV2Source) AsSQLServerSource() (*SQLServerSource, bool) { +// AsRelationalTableDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { return nil, false } -// AsSQLSource is the BasicCopySource implementation for MongoDbV2Source. -func (mdvs MongoDbV2Source) AsSQLSource() (*SQLSource, bool) { +// AsDb2TableDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { return nil, false } -// AsRestSource is the BasicCopySource implementation for MongoDbV2Source. -func (mdvs MongoDbV2Source) AsRestSource() (*RestSource, bool) { +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { return nil, false } -// AsSapTableSource is the BasicCopySource implementation for MongoDbV2Source. -func (mdvs MongoDbV2Source) AsSapTableSource() (*SapTableSource, bool) { +// AsAzureMySQLTableDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { return nil, false } -// AsSapOpenHubSource is the BasicCopySource implementation for MongoDbV2Source. -func (mdvs MongoDbV2Source) AsSapOpenHubSource() (*SapOpenHubSource, bool) { +// AsTeradataTableDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { return nil, false } -// AsSapHanaSource is the BasicCopySource implementation for MongoDbV2Source. -func (mdvs MongoDbV2Source) AsSapHanaSource() (*SapHanaSource, bool) { +// AsOracleTableDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { return nil, false } -// AsSapEccSource is the BasicCopySource implementation for MongoDbV2Source. -func (mdvs MongoDbV2Source) AsSapEccSource() (*SapEccSource, bool) { +// AsODataResourceDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { return nil, false } -// AsSapCloudForCustomerSource is the BasicCopySource implementation for MongoDbV2Source. -func (mdvs MongoDbV2Source) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { return nil, false } -// AsSalesforceServiceCloudSource is the BasicCopySource implementation for MongoDbV2Source. -func (mdvs MongoDbV2Source) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { return nil, false } -// AsSalesforceSource is the BasicCopySource implementation for MongoDbV2Source. -func (mdvs MongoDbV2Source) AsSalesforceSource() (*SalesforceSource, bool) { +// AsMongoDbCollectionDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { return nil, false } -// AsODataSource is the BasicCopySource implementation for MongoDbV2Source. -func (mdvs MongoDbV2Source) AsODataSource() (*ODataSource, bool) { +// AsFileShareDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsFileShareDataset() (*FileShareDataset, bool) { return nil, false } -// AsSapBwSource is the BasicCopySource implementation for MongoDbV2Source. -func (mdvs MongoDbV2Source) AsSapBwSource() (*SapBwSource, bool) { +// AsOffice365Dataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsOffice365Dataset() (*Office365Dataset, bool) { return nil, false } -// AsSybaseSource is the BasicCopySource implementation for MongoDbV2Source. -func (mdvs MongoDbV2Source) AsSybaseSource() (*SybaseSource, bool) { +// AsAzureBlobFSDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) { return nil, false } -// AsPostgreSQLSource is the BasicCopySource implementation for MongoDbV2Source. -func (mdvs MongoDbV2Source) AsPostgreSQLSource() (*PostgreSQLSource, bool) { +// AsAzureDataLakeStoreDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) { return nil, false } -// AsMySQLSource is the BasicCopySource implementation for MongoDbV2Source. -func (mdvs MongoDbV2Source) AsMySQLSource() (*MySQLSource, bool) { +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { return nil, false } -// AsOdbcSource is the BasicCopySource implementation for MongoDbV2Source. -func (mdvs MongoDbV2Source) AsOdbcSource() (*OdbcSource, bool) { +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { return nil, false } -// AsDb2Source is the BasicCopySource implementation for MongoDbV2Source. -func (mdvs MongoDbV2Source) AsDb2Source() (*Db2Source, bool) { +// AsDynamicsEntityDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { return nil, false } -// AsMicrosoftAccessSource is the BasicCopySource implementation for MongoDbV2Source. -func (mdvs MongoDbV2Source) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { +// AsDocumentDbCollectionDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { return nil, false } -// AsInformixSource is the BasicCopySource implementation for MongoDbV2Source. -func (mdvs MongoDbV2Source) AsInformixSource() (*InformixSource, bool) { +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { return nil, false } -// AsRelationalSource is the BasicCopySource implementation for MongoDbV2Source. -func (mdvs MongoDbV2Source) AsRelationalSource() (*RelationalSource, bool) { +// AsCustomDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsCustomDataset() (*CustomDataset, bool) { return nil, false } -// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for MongoDbV2Source. -func (mdvs MongoDbV2Source) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { +// AsCassandraTableDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { return nil, false } -// AsDynamicsCrmSource is the BasicCopySource implementation for MongoDbV2Source. -func (mdvs MongoDbV2Source) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { +// AsAzureSQLDWTableDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { return nil, false } -// AsDynamicsSource is the BasicCopySource implementation for MongoDbV2Source. -func (mdvs MongoDbV2Source) AsDynamicsSource() (*DynamicsSource, bool) { +// AsAzureSQLMITableDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { return nil, false } -// AsDocumentDbCollectionSource is the BasicCopySource implementation for MongoDbV2Source. -func (mdvs MongoDbV2Source) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { +// AsAzureSQLTableDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { return nil, false } -// AsBlobSource is the BasicCopySource implementation for MongoDbV2Source. -func (mdvs MongoDbV2Source) AsBlobSource() (*BlobSource, bool) { +// AsAzureTableDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { return nil, false } -// AsAzureTableSource is the BasicCopySource implementation for MongoDbV2Source. -func (mdvs MongoDbV2Source) AsAzureTableSource() (*AzureTableSource, bool) { +// AsAzureBlobDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) { return nil, false } -// AsBinarySource is the BasicCopySource implementation for MongoDbV2Source. -func (mdvs MongoDbV2Source) AsBinarySource() (*BinarySource, bool) { +// AsBinaryDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsBinaryDataset() (*BinaryDataset, bool) { return nil, false } -// AsDelimitedTextSource is the BasicCopySource implementation for MongoDbV2Source. -func (mdvs MongoDbV2Source) AsDelimitedTextSource() (*DelimitedTextSource, bool) { +// AsOrcDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsOrcDataset() (*OrcDataset, bool) { return nil, false } -// AsParquetSource is the BasicCopySource implementation for MongoDbV2Source. -func (mdvs MongoDbV2Source) AsParquetSource() (*ParquetSource, bool) { +// AsJSONDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsJSONDataset() (*JSONDataset, bool) { return nil, false } -// AsAvroSource is the BasicCopySource implementation for MongoDbV2Source. -func (mdvs MongoDbV2Source) AsAvroSource() (*AvroSource, bool) { +// AsDelimitedTextDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { return nil, false } -// AsCopySource is the BasicCopySource implementation for MongoDbV2Source. -func (mdvs MongoDbV2Source) AsCopySource() (*CopySource, bool) { +// AsParquetDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsParquetDataset() (*ParquetDataset, bool) { return nil, false } -// AsBasicCopySource is the BasicCopySource implementation for MongoDbV2Source. -func (mdvs MongoDbV2Source) AsBasicCopySource() (BasicCopySource, bool) { - return &mdvs, true +// AsAvroDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsAvroDataset() (*AvroDataset, bool) { + return nil, false } -// UnmarshalJSON is the custom unmarshaler for MongoDbV2Source struct. -func (mdvs *MongoDbV2Source) UnmarshalJSON(body []byte) error { +// AsAmazonS3Dataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) { + return nil, false +} + +// AsDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsDataset() (*Dataset, bool) { + return nil, false +} + +// AsBasicDataset is the BasicDataset implementation for MySQLTableDataset. +func (mstd MySQLTableDataset) AsBasicDataset() (BasicDataset, bool) { + return &mstd, true +} + +// UnmarshalJSON is the custom unmarshaler for MySQLTableDataset struct. +func (mstd *MySQLTableDataset) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -119831,32 +136897,14 @@ func (mdvs *MongoDbV2Source) UnmarshalJSON(body []byte) error { } for k, v := range m { switch k { - case "filter": - if v != nil { - var filter interface{} - err = json.Unmarshal(*v, &filter) - if err != nil { - return err - } - mdvs.Filter = filter - } - case "cursorMethods": - if v != nil { - var cursorMethods MongoDbCursorMethodsProperties - err = json.Unmarshal(*v, &cursorMethods) - if err != nil { - return err - } - mdvs.CursorMethods = &cursorMethods - } - case "batchSize": + case "typeProperties": if v != nil { - var batchSize interface{} - err = json.Unmarshal(*v, &batchSize) + var mySQLTableDatasetTypeProperties MySQLTableDatasetTypeProperties + err = json.Unmarshal(*v, &mySQLTableDatasetTypeProperties) if err != nil { return err } - mdvs.BatchSize = batchSize + mstd.MySQLTableDatasetTypeProperties = &mySQLTableDatasetTypeProperties } default: if v != nil { @@ -119865,254 +136913,82 @@ func (mdvs *MongoDbV2Source) UnmarshalJSON(body []byte) error { if err != nil { return err } - if mdvs.AdditionalProperties == nil { - mdvs.AdditionalProperties = make(map[string]interface{}) - } - mdvs.AdditionalProperties[k] = additionalProperties - } - case "sourceRetryCount": - if v != nil { - var sourceRetryCount interface{} - err = json.Unmarshal(*v, &sourceRetryCount) - if err != nil { - return err - } - mdvs.SourceRetryCount = sourceRetryCount - } - case "sourceRetryWait": - if v != nil { - var sourceRetryWait interface{} - err = json.Unmarshal(*v, &sourceRetryWait) - if err != nil { - return err + if mstd.AdditionalProperties == nil { + mstd.AdditionalProperties = make(map[string]interface{}) } - mdvs.SourceRetryWait = sourceRetryWait + mstd.AdditionalProperties[k] = additionalProperties } - case "maxConcurrentConnections": + case "description": if v != nil { - var maxConcurrentConnections interface{} - err = json.Unmarshal(*v, &maxConcurrentConnections) + var description string + err = json.Unmarshal(*v, &description) if err != nil { return err } - mdvs.MaxConcurrentConnections = maxConcurrentConnections + mstd.Description = &description } - case "type": + case "structure": if v != nil { - var typeVar TypeBasicCopySource - err = json.Unmarshal(*v, &typeVar) + var structure interface{} + err = json.Unmarshal(*v, &structure) if err != nil { return err } - mdvs.Type = typeVar + mstd.Structure = structure } - } - } - - return nil -} - -// BasicMultiplePipelineTrigger base class for all triggers that support one to many model for trigger to pipeline. -type BasicMultiplePipelineTrigger interface { - AsBlobEventsTrigger() (*BlobEventsTrigger, bool) - AsBlobTrigger() (*BlobTrigger, bool) - AsScheduleTrigger() (*ScheduleTrigger, bool) - AsMultiplePipelineTrigger() (*MultiplePipelineTrigger, bool) -} - -// MultiplePipelineTrigger base class for all triggers that support one to many model for trigger to pipeline. -type MultiplePipelineTrigger struct { - // Pipelines - Pipelines that need to be started. - Pipelines *[]TriggerPipelineReference `json:"pipelines,omitempty"` - // AdditionalProperties - Unmatched properties from the message are deserialized this collection - AdditionalProperties map[string]interface{} `json:""` - // Description - Trigger description. - Description *string `json:"description,omitempty"` - // RuntimeState - READ-ONLY; Indicates if trigger is running or not. Updated when Start/Stop APIs are called on the Trigger. Possible values include: 'Started', 'Stopped', 'Disabled' - RuntimeState TriggerRuntimeState `json:"runtimeState,omitempty"` - // Annotations - List of tags that can be used for describing the trigger. - Annotations *[]interface{} `json:"annotations,omitempty"` - // Type - Possible values include: 'TypeTrigger', 'TypeRerunTumblingWindowTrigger', 'TypeTumblingWindowTrigger', 'TypeBlobEventsTrigger', 'TypeBlobTrigger', 'TypeScheduleTrigger', 'TypeMultiplePipelineTrigger' - Type TypeBasicTrigger `json:"type,omitempty"` -} - -func unmarshalBasicMultiplePipelineTrigger(body []byte) (BasicMultiplePipelineTrigger, error) { - var m map[string]interface{} - err := json.Unmarshal(body, &m) - if err != nil { - return nil, err - } - - switch m["type"] { - case string(TypeBlobEventsTrigger): - var bet BlobEventsTrigger - err := json.Unmarshal(body, &bet) - return bet, err - case string(TypeBlobTrigger): - var bt BlobTrigger - err := json.Unmarshal(body, &bt) - return bt, err - case string(TypeScheduleTrigger): - var st ScheduleTrigger - err := json.Unmarshal(body, &st) - return st, err - default: - var mpt MultiplePipelineTrigger - err := json.Unmarshal(body, &mpt) - return mpt, err - } -} -func unmarshalBasicMultiplePipelineTriggerArray(body []byte) ([]BasicMultiplePipelineTrigger, error) { - var rawMessages []*json.RawMessage - err := json.Unmarshal(body, &rawMessages) - if err != nil { - return nil, err - } - - mptArray := make([]BasicMultiplePipelineTrigger, len(rawMessages)) - - for index, rawMessage := range rawMessages { - mpt, err := unmarshalBasicMultiplePipelineTrigger(*rawMessage) - if err != nil { - return nil, err - } - mptArray[index] = mpt - } - return mptArray, nil -} - -// MarshalJSON is the custom marshaler for MultiplePipelineTrigger. -func (mpt MultiplePipelineTrigger) MarshalJSON() ([]byte, error) { - mpt.Type = TypeMultiplePipelineTrigger - objectMap := make(map[string]interface{}) - if mpt.Pipelines != nil { - objectMap["pipelines"] = mpt.Pipelines - } - if mpt.Description != nil { - objectMap["description"] = mpt.Description - } - if mpt.Annotations != nil { - objectMap["annotations"] = mpt.Annotations - } - if mpt.Type != "" { - objectMap["type"] = mpt.Type - } - for k, v := range mpt.AdditionalProperties { - objectMap[k] = v - } - return json.Marshal(objectMap) -} - -// AsRerunTumblingWindowTrigger is the BasicTrigger implementation for MultiplePipelineTrigger. -func (mpt MultiplePipelineTrigger) AsRerunTumblingWindowTrigger() (*RerunTumblingWindowTrigger, bool) { - return nil, false -} - -// AsTumblingWindowTrigger is the BasicTrigger implementation for MultiplePipelineTrigger. -func (mpt MultiplePipelineTrigger) AsTumblingWindowTrigger() (*TumblingWindowTrigger, bool) { - return nil, false -} - -// AsBlobEventsTrigger is the BasicTrigger implementation for MultiplePipelineTrigger. -func (mpt MultiplePipelineTrigger) AsBlobEventsTrigger() (*BlobEventsTrigger, bool) { - return nil, false -} - -// AsBlobTrigger is the BasicTrigger implementation for MultiplePipelineTrigger. -func (mpt MultiplePipelineTrigger) AsBlobTrigger() (*BlobTrigger, bool) { - return nil, false -} - -// AsScheduleTrigger is the BasicTrigger implementation for MultiplePipelineTrigger. -func (mpt MultiplePipelineTrigger) AsScheduleTrigger() (*ScheduleTrigger, bool) { - return nil, false -} - -// AsMultiplePipelineTrigger is the BasicTrigger implementation for MultiplePipelineTrigger. -func (mpt MultiplePipelineTrigger) AsMultiplePipelineTrigger() (*MultiplePipelineTrigger, bool) { - return &mpt, true -} - -// AsBasicMultiplePipelineTrigger is the BasicTrigger implementation for MultiplePipelineTrigger. -func (mpt MultiplePipelineTrigger) AsBasicMultiplePipelineTrigger() (BasicMultiplePipelineTrigger, bool) { - return &mpt, true -} - -// AsTrigger is the BasicTrigger implementation for MultiplePipelineTrigger. -func (mpt MultiplePipelineTrigger) AsTrigger() (*Trigger, bool) { - return nil, false -} - -// AsBasicTrigger is the BasicTrigger implementation for MultiplePipelineTrigger. -func (mpt MultiplePipelineTrigger) AsBasicTrigger() (BasicTrigger, bool) { - return &mpt, true -} - -// UnmarshalJSON is the custom unmarshaler for MultiplePipelineTrigger struct. -func (mpt *MultiplePipelineTrigger) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - case "pipelines": + case "schema": if v != nil { - var pipelines []TriggerPipelineReference - err = json.Unmarshal(*v, &pipelines) + var schema interface{} + err = json.Unmarshal(*v, &schema) if err != nil { return err } - mpt.Pipelines = &pipelines + mstd.Schema = schema } - default: + case "linkedServiceName": if v != nil { - var additionalProperties interface{} - err = json.Unmarshal(*v, &additionalProperties) + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) if err != nil { return err } - if mpt.AdditionalProperties == nil { - mpt.AdditionalProperties = make(map[string]interface{}) - } - mpt.AdditionalProperties[k] = additionalProperties + mstd.LinkedServiceName = &linkedServiceName } - case "description": + case "parameters": if v != nil { - var description string - err = json.Unmarshal(*v, &description) + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) if err != nil { return err } - mpt.Description = &description + mstd.Parameters = parameters } - case "runtimeState": + case "annotations": if v != nil { - var runtimeState TriggerRuntimeState - err = json.Unmarshal(*v, &runtimeState) + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) if err != nil { return err } - mpt.RuntimeState = runtimeState + mstd.Annotations = &annotations } - case "annotations": + case "folder": if v != nil { - var annotations []interface{} - err = json.Unmarshal(*v, &annotations) + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) if err != nil { return err } - mpt.Annotations = &annotations + mstd.Folder = &folder } case "type": if v != nil { - var typeVar TypeBasicTrigger + var typeVar TypeBasicDataset err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - mpt.Type = typeVar + mstd.Type = typeVar } } } @@ -120120,10 +136996,16 @@ func (mpt *MultiplePipelineTrigger) UnmarshalJSON(body []byte) error { return nil } -// MySQLLinkedService linked service for MySQL data source. -type MySQLLinkedService struct { - // MySQLLinkedServiceTypeProperties - MySQL linked service properties. - *MySQLLinkedServiceTypeProperties `json:"typeProperties,omitempty"` +// MySQLTableDatasetTypeProperties mySql table dataset properties. +type MySQLTableDatasetTypeProperties struct { + // TableName - The MySQL table name. Type: string (or Expression with resultType string). + TableName interface{} `json:"tableName,omitempty"` +} + +// NetezzaLinkedService netezza linked service. +type NetezzaLinkedService struct { + // NetezzaLinkedServiceTypeProperties - Netezza linked service properties. + *NetezzaLinkedServiceTypeProperties `json:"typeProperties,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` // ConnectVia - The integration runtime reference. @@ -120134,505 +137016,520 @@ type MySQLLinkedService struct { Parameters map[string]*ParameterSpecification `json:"parameters"` // Annotations - List of tags that can be used for describing the linked service. Annotations *[]interface{} `json:"annotations,omitempty"` - // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' + // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' Type TypeBasicLinkedService `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for MySQLLinkedService. -func (msls MySQLLinkedService) MarshalJSON() ([]byte, error) { - msls.Type = TypeMySQL +// MarshalJSON is the custom marshaler for NetezzaLinkedService. +func (nls NetezzaLinkedService) MarshalJSON() ([]byte, error) { + nls.Type = TypeNetezza objectMap := make(map[string]interface{}) - if msls.MySQLLinkedServiceTypeProperties != nil { - objectMap["typeProperties"] = msls.MySQLLinkedServiceTypeProperties + if nls.NetezzaLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = nls.NetezzaLinkedServiceTypeProperties } - if msls.ConnectVia != nil { - objectMap["connectVia"] = msls.ConnectVia + if nls.ConnectVia != nil { + objectMap["connectVia"] = nls.ConnectVia } - if msls.Description != nil { - objectMap["description"] = msls.Description + if nls.Description != nil { + objectMap["description"] = nls.Description } - if msls.Parameters != nil { - objectMap["parameters"] = msls.Parameters + if nls.Parameters != nil { + objectMap["parameters"] = nls.Parameters } - if msls.Annotations != nil { - objectMap["annotations"] = msls.Annotations + if nls.Annotations != nil { + objectMap["annotations"] = nls.Annotations } - if msls.Type != "" { - objectMap["type"] = msls.Type + if nls.Type != "" { + objectMap["type"] = nls.Type } - for k, v := range msls.AdditionalProperties { + for k, v := range nls.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsAzureFunctionLinkedService is the BasicLinkedService implementation for MySQLLinkedService. -func (msls MySQLLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { return nil, false } -// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for MySQLLinkedService. -func (msls MySQLLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { return nil, false } -// AsSapTableLinkedService is the BasicLinkedService implementation for MySQLLinkedService. -func (msls MySQLLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { +// AsSapTableLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { return nil, false } -// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for MySQLLinkedService. -func (msls MySQLLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { return nil, false } -// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for MySQLLinkedService. -func (msls MySQLLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { return nil, false } -// AsDynamicsAXLinkedService is the BasicLinkedService implementation for MySQLLinkedService. -func (msls MySQLLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { return nil, false } -// AsResponsysLinkedService is the BasicLinkedService implementation for MySQLLinkedService. -func (msls MySQLLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { +// AsResponsysLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { return nil, false } -// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for MySQLLinkedService. -func (msls MySQLLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { return nil, false } -// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for MySQLLinkedService. -func (msls MySQLLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { return nil, false } -// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for MySQLLinkedService. -func (msls MySQLLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { return nil, false } -// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for MySQLLinkedService. -func (msls MySQLLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { return nil, false } -// AsNetezzaLinkedService is the BasicLinkedService implementation for MySQLLinkedService. -func (msls MySQLLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { +// AsNetezzaLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return &nls, true +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { return nil, false } -// AsVerticaLinkedService is the BasicLinkedService implementation for MySQLLinkedService. -func (msls MySQLLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { +// AsZohoLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { return nil, false } -// AsZohoLinkedService is the BasicLinkedService implementation for MySQLLinkedService. -func (msls MySQLLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { +// AsXeroLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { return nil, false } -// AsXeroLinkedService is the BasicLinkedService implementation for MySQLLinkedService. -func (msls MySQLLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { +// AsSquareLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { return nil, false } -// AsSquareLinkedService is the BasicLinkedService implementation for MySQLLinkedService. -func (msls MySQLLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { +// AsSparkLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { return nil, false } -// AsSparkLinkedService is the BasicLinkedService implementation for MySQLLinkedService. -func (msls MySQLLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { +// AsShopifyLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { return nil, false } -// AsShopifyLinkedService is the BasicLinkedService implementation for MySQLLinkedService. -func (msls MySQLLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { +// AsServiceNowLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { return nil, false } -// AsServiceNowLinkedService is the BasicLinkedService implementation for MySQLLinkedService. -func (msls MySQLLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { +// AsQuickBooksLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { return nil, false } -// AsQuickBooksLinkedService is the BasicLinkedService implementation for MySQLLinkedService. -func (msls MySQLLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { +// AsPrestoLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { return nil, false } -// AsPrestoLinkedService is the BasicLinkedService implementation for MySQLLinkedService. -func (msls MySQLLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { +// AsPhoenixLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { return nil, false } -// AsPhoenixLinkedService is the BasicLinkedService implementation for MySQLLinkedService. -func (msls MySQLLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { +// AsPaypalLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { return nil, false } -// AsPaypalLinkedService is the BasicLinkedService implementation for MySQLLinkedService. -func (msls MySQLLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { +// AsMarketoLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { return nil, false } -// AsMarketoLinkedService is the BasicLinkedService implementation for MySQLLinkedService. -func (msls MySQLLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { return nil, false } -// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for MySQLLinkedService. -func (msls MySQLLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { +// AsMariaDBLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { return nil, false } -// AsMariaDBLinkedService is the BasicLinkedService implementation for MySQLLinkedService. -func (msls MySQLLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { +// AsMagentoLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { return nil, false } -// AsMagentoLinkedService is the BasicLinkedService implementation for MySQLLinkedService. -func (msls MySQLLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { +// AsJiraLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { return nil, false } -// AsJiraLinkedService is the BasicLinkedService implementation for MySQLLinkedService. -func (msls MySQLLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { +// AsImpalaLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { return nil, false } -// AsImpalaLinkedService is the BasicLinkedService implementation for MySQLLinkedService. -func (msls MySQLLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { +// AsHubspotLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { return nil, false } -// AsHubspotLinkedService is the BasicLinkedService implementation for MySQLLinkedService. -func (msls MySQLLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { +// AsHiveLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { return nil, false } -// AsHiveLinkedService is the BasicLinkedService implementation for MySQLLinkedService. -func (msls MySQLLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { +// AsHBaseLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { return nil, false } -// AsHBaseLinkedService is the BasicLinkedService implementation for MySQLLinkedService. -func (msls MySQLLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { +// AsGreenplumLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { return nil, false } -// AsGreenplumLinkedService is the BasicLinkedService implementation for MySQLLinkedService. -func (msls MySQLLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { return nil, false } -// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for MySQLLinkedService. -func (msls MySQLLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { +// AsEloquaLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { return nil, false } -// AsEloquaLinkedService is the BasicLinkedService implementation for MySQLLinkedService. -func (msls MySQLLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { +// AsDrillLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { return nil, false } -// AsDrillLinkedService is the BasicLinkedService implementation for MySQLLinkedService. -func (msls MySQLLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { +// AsCouchbaseLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { return nil, false } -// AsCouchbaseLinkedService is the BasicLinkedService implementation for MySQLLinkedService. -func (msls MySQLLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { +// AsConcurLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { return nil, false } -// AsConcurLinkedService is the BasicLinkedService implementation for MySQLLinkedService. -func (msls MySQLLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { return nil, false } -// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for MySQLLinkedService. -func (msls MySQLLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { return nil, false } -// AsAmazonMWSLinkedService is the BasicLinkedService implementation for MySQLLinkedService. -func (msls MySQLLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { +// AsSapHanaLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { return nil, false } -// AsSapHanaLinkedService is the BasicLinkedService implementation for MySQLLinkedService. -func (msls MySQLLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { +// AsSapBWLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { return nil, false } -// AsSapBWLinkedService is the BasicLinkedService implementation for MySQLLinkedService. -func (msls MySQLLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { +// AsSftpServerLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { return nil, false } -// AsSftpServerLinkedService is the BasicLinkedService implementation for MySQLLinkedService. -func (msls MySQLLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { +// AsFtpServerLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { return nil, false } -// AsFtpServerLinkedService is the BasicLinkedService implementation for MySQLLinkedService. -func (msls MySQLLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { +// AsHTTPLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { return nil, false } -// AsHTTPLinkedService is the BasicLinkedService implementation for MySQLLinkedService. -func (msls MySQLLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { +// AsAzureSearchLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { return nil, false } -// AsAzureSearchLinkedService is the BasicLinkedService implementation for MySQLLinkedService. -func (msls MySQLLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { return nil, false } -// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for MySQLLinkedService. -func (msls MySQLLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { return nil, false } -// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for MySQLLinkedService. -func (msls MySQLLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { +// AsAmazonS3LinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { return nil, false } -// AsAmazonS3LinkedService is the BasicLinkedService implementation for MySQLLinkedService. -func (msls MySQLLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { +// AsRestServiceLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { return nil, false } -// AsRestServiceLinkedService is the BasicLinkedService implementation for MySQLLinkedService. -func (msls MySQLLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { return nil, false } -// AsSapOpenHubLinkedService is the BasicLinkedService implementation for MySQLLinkedService. -func (msls MySQLLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { +// AsSapEccLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { return nil, false } -// AsSapEccLinkedService is the BasicLinkedService implementation for MySQLLinkedService. -func (msls MySQLLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { return nil, false } -// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for MySQLLinkedService. -func (msls MySQLLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { return nil, false } -// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for MySQLLinkedService. -func (msls MySQLLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { +// AsSalesforceLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { return nil, false } -// AsSalesforceLinkedService is the BasicLinkedService implementation for MySQLLinkedService. -func (msls MySQLLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { +// AsOffice365LinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { return nil, false } -// AsOffice365LinkedService is the BasicLinkedService implementation for MySQLLinkedService. -func (msls MySQLLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { return nil, false } -// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for MySQLLinkedService. -func (msls MySQLLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { return nil, false } -// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for MySQLLinkedService. -func (msls MySQLLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { return nil, false } -// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for MySQLLinkedService. -func (msls MySQLLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { return nil, false } -// AsMongoDbV2LinkedService is the BasicLinkedService implementation for MySQLLinkedService. -func (msls MySQLLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { +// AsMongoDbLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { return nil, false } -// AsMongoDbLinkedService is the BasicLinkedService implementation for MySQLLinkedService. -func (msls MySQLLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { +// AsCassandraLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { return nil, false } -// AsCassandraLinkedService is the BasicLinkedService implementation for MySQLLinkedService. -func (msls MySQLLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { +// AsWebLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { return nil, false } -// AsWebLinkedService is the BasicLinkedService implementation for MySQLLinkedService. -func (msls MySQLLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { +// AsODataLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { return nil, false } -// AsODataLinkedService is the BasicLinkedService implementation for MySQLLinkedService. -func (msls MySQLLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { +// AsHdfsLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { return nil, false } -// AsHdfsLinkedService is the BasicLinkedService implementation for MySQLLinkedService. -func (msls MySQLLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { return nil, false } -// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for MySQLLinkedService. -func (msls MySQLLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { +// AsInformixLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { return nil, false } -// AsInformixLinkedService is the BasicLinkedService implementation for MySQLLinkedService. -func (msls MySQLLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { +// AsOdbcLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return nil, false +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + +// AsAzureMLLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { return nil, false } -// AsOdbcLinkedService is the BasicLinkedService implementation for MySQLLinkedService. -func (msls MySQLLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { +// AsTeradataLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { return nil, false } -// AsAzureMLLinkedService is the BasicLinkedService implementation for MySQLLinkedService. -func (msls MySQLLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { +// AsDb2LinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { return nil, false } -// AsTeradataLinkedService is the BasicLinkedService implementation for MySQLLinkedService. -func (msls MySQLLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { +// AsSybaseLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { return nil, false } -// AsDb2LinkedService is the BasicLinkedService implementation for MySQLLinkedService. -func (msls MySQLLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { return nil, false } -// AsSybaseLinkedService is the BasicLinkedService implementation for MySQLLinkedService. -func (msls MySQLLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { +// AsMySQLLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { return nil, false } -// AsPostgreSQLLinkedService is the BasicLinkedService implementation for MySQLLinkedService. -func (msls MySQLLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { return nil, false } -// AsMySQLLinkedService is the BasicLinkedService implementation for MySQLLinkedService. -func (msls MySQLLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { - return &msls, true +// AsOracleLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false } -// AsAzureMySQLLinkedService is the BasicLinkedService implementation for MySQLLinkedService. -func (msls MySQLLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { return nil, false } -// AsOracleLinkedService is the BasicLinkedService implementation for MySQLLinkedService. -func (msls MySQLLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { return nil, false } -// AsFileServerLinkedService is the BasicLinkedService implementation for MySQLLinkedService. -func (msls MySQLLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { +// AsFileServerLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { return nil, false } -// AsHDInsightLinkedService is the BasicLinkedService implementation for MySQLLinkedService. -func (msls MySQLLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { +// AsHDInsightLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { return nil, false } -// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for MySQLLinkedService. -func (msls MySQLLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { return nil, false } -// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for MySQLLinkedService. -func (msls MySQLLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { return nil, false } -// AsDynamicsLinkedService is the BasicLinkedService implementation for MySQLLinkedService. -func (msls MySQLLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { +// AsDynamicsLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { return nil, false } -// AsCosmosDbLinkedService is the BasicLinkedService implementation for MySQLLinkedService. -func (msls MySQLLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { +// AsCosmosDbLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { return nil, false } -// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for MySQLLinkedService. -func (msls MySQLLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { return nil, false } -// AsAzureBatchLinkedService is the BasicLinkedService implementation for MySQLLinkedService. -func (msls MySQLLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { +// AsAzureBatchLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { return nil, false } -// AsAzureSQLMILinkedService is the BasicLinkedService implementation for MySQLLinkedService. -func (msls MySQLLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { return nil, false } -// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for MySQLLinkedService. -func (msls MySQLLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { return nil, false } -// AsSQLServerLinkedService is the BasicLinkedService implementation for MySQLLinkedService. -func (msls MySQLLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { +// AsSQLServerLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { return nil, false } -// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for MySQLLinkedService. -func (msls MySQLLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { return nil, false } -// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for MySQLLinkedService. -func (msls MySQLLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { return nil, false } -// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for MySQLLinkedService. -func (msls MySQLLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { return nil, false } -// AsAzureStorageLinkedService is the BasicLinkedService implementation for MySQLLinkedService. -func (msls MySQLLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { +// AsAzureStorageLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { return nil, false } -// AsLinkedService is the BasicLinkedService implementation for MySQLLinkedService. -func (msls MySQLLinkedService) AsLinkedService() (*LinkedService, bool) { +// AsLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsLinkedService() (*LinkedService, bool) { return nil, false } -// AsBasicLinkedService is the BasicLinkedService implementation for MySQLLinkedService. -func (msls MySQLLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { - return &msls, true +// AsBasicLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. +func (nls NetezzaLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &nls, true } -// UnmarshalJSON is the custom unmarshaler for MySQLLinkedService struct. -func (msls *MySQLLinkedService) UnmarshalJSON(body []byte) error { +// UnmarshalJSON is the custom unmarshaler for NetezzaLinkedService struct. +func (nls *NetezzaLinkedService) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -120642,12 +137539,12 @@ func (msls *MySQLLinkedService) UnmarshalJSON(body []byte) error { switch k { case "typeProperties": if v != nil { - var mySQLLinkedServiceTypeProperties MySQLLinkedServiceTypeProperties - err = json.Unmarshal(*v, &mySQLLinkedServiceTypeProperties) + var netezzaLinkedServiceTypeProperties NetezzaLinkedServiceTypeProperties + err = json.Unmarshal(*v, &netezzaLinkedServiceTypeProperties) if err != nil { return err } - msls.MySQLLinkedServiceTypeProperties = &mySQLLinkedServiceTypeProperties + nls.NetezzaLinkedServiceTypeProperties = &netezzaLinkedServiceTypeProperties } default: if v != nil { @@ -120656,10 +137553,10 @@ func (msls *MySQLLinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - if msls.AdditionalProperties == nil { - msls.AdditionalProperties = make(map[string]interface{}) + if nls.AdditionalProperties == nil { + nls.AdditionalProperties = make(map[string]interface{}) } - msls.AdditionalProperties[k] = additionalProperties + nls.AdditionalProperties[k] = additionalProperties } case "connectVia": if v != nil { @@ -120668,7 +137565,7 @@ func (msls *MySQLLinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - msls.ConnectVia = &connectVia + nls.ConnectVia = &connectVia } case "description": if v != nil { @@ -120677,7 +137574,7 @@ func (msls *MySQLLinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - msls.Description = &description + nls.Description = &description } case "parameters": if v != nil { @@ -120686,7 +137583,7 @@ func (msls *MySQLLinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - msls.Parameters = parameters + nls.Parameters = parameters } case "annotations": if v != nil { @@ -120695,7 +137592,7 @@ func (msls *MySQLLinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - msls.Annotations = &annotations + nls.Annotations = &annotations } case "type": if v != nil { @@ -120704,7 +137601,7 @@ func (msls *MySQLLinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - msls.Type = typeVar + nls.Type = typeVar } } } @@ -120712,61 +137609,36 @@ func (msls *MySQLLinkedService) UnmarshalJSON(body []byte) error { return nil } -// MySQLLinkedServiceTypeProperties mySQL linked service properties. -type MySQLLinkedServiceTypeProperties struct { - // ConnectionString - The connection string. - ConnectionString BasicSecretBase `json:"connectionString,omitempty"` - // Password - The Azure key vault secret reference of password in connection string. - Password *AzureKeyVaultSecretReference `json:"password,omitempty"` +// NetezzaLinkedServiceTypeProperties netezza linked service properties. +type NetezzaLinkedServiceTypeProperties struct { + // ConnectionString - An ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference. + ConnectionString interface{} `json:"connectionString,omitempty"` + // Pwd - The Azure key vault secret reference of password in connection string. + Pwd *AzureKeyVaultSecretReference `json:"pwd,omitempty"` // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` } -// UnmarshalJSON is the custom unmarshaler for MySQLLinkedServiceTypeProperties struct. -func (mslstp *MySQLLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - case "connectionString": - if v != nil { - connectionString, err := unmarshalBasicSecretBase(*v) - if err != nil { - return err - } - mslstp.ConnectionString = connectionString - } - case "password": - if v != nil { - var password AzureKeyVaultSecretReference - err = json.Unmarshal(*v, &password) - if err != nil { - return err - } - mslstp.Password = &password - } - case "encryptedCredential": - if v != nil { - var encryptedCredential interface{} - err = json.Unmarshal(*v, &encryptedCredential) - if err != nil { - return err - } - mslstp.EncryptedCredential = encryptedCredential - } - } - } - - return nil +// NetezzaPartitionSettings the settings that will be leveraged for Netezza source partitioning. +type NetezzaPartitionSettings struct { + // PartitionColumnName - The name of the column in integer type that will be used for proceeding range partitioning. Type: string (or Expression with resultType string). + PartitionColumnName interface{} `json:"partitionColumnName,omitempty"` + // PartitionUpperBound - The maximum value of column specified in partitionColumnName that will be used for proceeding range partitioning. Type: string (or Expression with resultType string). + PartitionUpperBound interface{} `json:"partitionUpperBound,omitempty"` + // PartitionLowerBound - The minimum value of column specified in partitionColumnName that will be used for proceeding range partitioning. Type: string (or Expression with resultType string). + PartitionLowerBound interface{} `json:"partitionLowerBound,omitempty"` } -// MySQLSource a copy activity source for MySQL databases. -type MySQLSource struct { - // Query - Database query. Type: string (or Expression with resultType string). +// NetezzaSource a copy activity Netezza source. +type NetezzaSource struct { + // Query - A query to retrieve data from source. Type: string (or Expression with resultType string). Query interface{} `json:"query,omitempty"` + // PartitionOption - The partition mechanism that will be used for Netezza read in parallel. Possible values include: 'NetezzaPartitionOptionNone', 'NetezzaPartitionOptionDataSlice', 'NetezzaPartitionOptionDynamicRange' + PartitionOption NetezzaPartitionOption `json:"partitionOption,omitempty"` + // PartitionSettings - The settings that will be leveraged for Netezza source partitioning. + PartitionSettings *NetezzaPartitionSettings `json:"partitionSettings,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). @@ -120775,462 +137647,496 @@ type MySQLSource struct { SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' + // Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' Type TypeBasicCopySource `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for MySQLSource. -func (mss MySQLSource) MarshalJSON() ([]byte, error) { - mss.Type = TypeMySQLSource +// MarshalJSON is the custom marshaler for NetezzaSource. +func (ns NetezzaSource) MarshalJSON() ([]byte, error) { + ns.Type = TypeNetezzaSource objectMap := make(map[string]interface{}) - if mss.Query != nil { - objectMap["query"] = mss.Query + if ns.Query != nil { + objectMap["query"] = ns.Query } - if mss.SourceRetryCount != nil { - objectMap["sourceRetryCount"] = mss.SourceRetryCount + if ns.PartitionOption != "" { + objectMap["partitionOption"] = ns.PartitionOption } - if mss.SourceRetryWait != nil { - objectMap["sourceRetryWait"] = mss.SourceRetryWait + if ns.PartitionSettings != nil { + objectMap["partitionSettings"] = ns.PartitionSettings } - if mss.MaxConcurrentConnections != nil { - objectMap["maxConcurrentConnections"] = mss.MaxConcurrentConnections + if ns.QueryTimeout != nil { + objectMap["queryTimeout"] = ns.QueryTimeout } - if mss.Type != "" { - objectMap["type"] = mss.Type + if ns.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = ns.SourceRetryCount } - for k, v := range mss.AdditionalProperties { + if ns.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = ns.SourceRetryWait + } + if ns.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = ns.MaxConcurrentConnections + } + if ns.Type != "" { + objectMap["type"] = ns.Type + } + for k, v := range ns.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsAmazonRedshiftSource is the BasicCopySource implementation for MySQLSource. -func (mss MySQLSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { +// AsHTTPSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsHTTPSource() (*HTTPSource, bool) { return nil, false } -// AsGoogleAdWordsSource is the BasicCopySource implementation for MySQLSource. -func (mss MySQLSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { +// AsAzureBlobFSSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { return nil, false } -// AsOracleServiceCloudSource is the BasicCopySource implementation for MySQLSource. -func (mss MySQLSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { return nil, false } -// AsDynamicsAXSource is the BasicCopySource implementation for MySQLSource. -func (mss MySQLSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { +// AsOffice365Source is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsOffice365Source() (*Office365Source, bool) { return nil, false } -// AsResponsysSource is the BasicCopySource implementation for MySQLSource. -func (mss MySQLSource) AsResponsysSource() (*ResponsysSource, bool) { +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { return nil, false } -// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for MySQLSource. -func (mss MySQLSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { +// AsMongoDbV2Source is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { return nil, false } -// AsVerticaSource is the BasicCopySource implementation for MySQLSource. -func (mss MySQLSource) AsVerticaSource() (*VerticaSource, bool) { +// AsMongoDbSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsMongoDbSource() (*MongoDbSource, bool) { return nil, false } -// AsNetezzaSource is the BasicCopySource implementation for MySQLSource. -func (mss MySQLSource) AsNetezzaSource() (*NetezzaSource, bool) { +// AsWebSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsWebSource() (*WebSource, bool) { return nil, false } -// AsZohoSource is the BasicCopySource implementation for MySQLSource. -func (mss MySQLSource) AsZohoSource() (*ZohoSource, bool) { +// AsOracleSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsOracleSource() (*OracleSource, bool) { return nil, false } -// AsXeroSource is the BasicCopySource implementation for MySQLSource. -func (mss MySQLSource) AsXeroSource() (*XeroSource, bool) { +// AsAzureDataExplorerSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { return nil, false } -// AsSquareSource is the BasicCopySource implementation for MySQLSource. -func (mss MySQLSource) AsSquareSource() (*SquareSource, bool) { +// AsHdfsSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsHdfsSource() (*HdfsSource, bool) { return nil, false } -// AsSparkSource is the BasicCopySource implementation for MySQLSource. -func (mss MySQLSource) AsSparkSource() (*SparkSource, bool) { +// AsFileSystemSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsFileSystemSource() (*FileSystemSource, bool) { return nil, false } -// AsShopifySource is the BasicCopySource implementation for MySQLSource. -func (mss MySQLSource) AsShopifySource() (*ShopifySource, bool) { +// AsRestSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsRestSource() (*RestSource, bool) { return nil, false } -// AsServiceNowSource is the BasicCopySource implementation for MySQLSource. -func (mss MySQLSource) AsServiceNowSource() (*ServiceNowSource, bool) { +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { return nil, false } -// AsQuickBooksSource is the BasicCopySource implementation for MySQLSource. -func (mss MySQLSource) AsQuickBooksSource() (*QuickBooksSource, bool) { +// AsODataSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsODataSource() (*ODataSource, bool) { return nil, false } -// AsPrestoSource is the BasicCopySource implementation for MySQLSource. -func (mss MySQLSource) AsPrestoSource() (*PrestoSource, bool) { +// AsMicrosoftAccessSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { return nil, false } -// AsPhoenixSource is the BasicCopySource implementation for MySQLSource. -func (mss MySQLSource) AsPhoenixSource() (*PhoenixSource, bool) { +// AsRelationalSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsRelationalSource() (*RelationalSource, bool) { return nil, false } -// AsPaypalSource is the BasicCopySource implementation for MySQLSource. -func (mss MySQLSource) AsPaypalSource() (*PaypalSource, bool) { +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { return nil, false } -// AsMarketoSource is the BasicCopySource implementation for MySQLSource. -func (mss MySQLSource) AsMarketoSource() (*MarketoSource, bool) { +// AsDynamicsCrmSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { return nil, false } -// AsAzureMariaDBSource is the BasicCopySource implementation for MySQLSource. -func (mss MySQLSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { +// AsDynamicsSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsDynamicsSource() (*DynamicsSource, bool) { return nil, false } -// AsMariaDBSource is the BasicCopySource implementation for MySQLSource. -func (mss MySQLSource) AsMariaDBSource() (*MariaDBSource, bool) { +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { return nil, false } -// AsMagentoSource is the BasicCopySource implementation for MySQLSource. -func (mss MySQLSource) AsMagentoSource() (*MagentoSource, bool) { +// AsDocumentDbCollectionSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { return nil, false } -// AsJiraSource is the BasicCopySource implementation for MySQLSource. -func (mss MySQLSource) AsJiraSource() (*JiraSource, bool) { +// AsBlobSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsBlobSource() (*BlobSource, bool) { return nil, false } -// AsImpalaSource is the BasicCopySource implementation for MySQLSource. -func (mss MySQLSource) AsImpalaSource() (*ImpalaSource, bool) { +// AsAmazonRedshiftSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { return nil, false } -// AsHubspotSource is the BasicCopySource implementation for MySQLSource. -func (mss MySQLSource) AsHubspotSource() (*HubspotSource, bool) { +// AsGoogleAdWordsSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { return nil, false } -// AsHiveSource is the BasicCopySource implementation for MySQLSource. -func (mss MySQLSource) AsHiveSource() (*HiveSource, bool) { +// AsOracleServiceCloudSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { return nil, false } -// AsHBaseSource is the BasicCopySource implementation for MySQLSource. -func (mss MySQLSource) AsHBaseSource() (*HBaseSource, bool) { +// AsDynamicsAXSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { return nil, false } -// AsGreenplumSource is the BasicCopySource implementation for MySQLSource. -func (mss MySQLSource) AsGreenplumSource() (*GreenplumSource, bool) { +// AsResponsysSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsResponsysSource() (*ResponsysSource, bool) { return nil, false } -// AsGoogleBigQuerySource is the BasicCopySource implementation for MySQLSource. -func (mss MySQLSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { return nil, false } -// AsEloquaSource is the BasicCopySource implementation for MySQLSource. -func (mss MySQLSource) AsEloquaSource() (*EloquaSource, bool) { +// AsVerticaSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsVerticaSource() (*VerticaSource, bool) { return nil, false } -// AsDrillSource is the BasicCopySource implementation for MySQLSource. -func (mss MySQLSource) AsDrillSource() (*DrillSource, bool) { +// AsNetezzaSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsNetezzaSource() (*NetezzaSource, bool) { + return &ns, true +} + +// AsZohoSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsZohoSource() (*ZohoSource, bool) { return nil, false } -// AsCouchbaseSource is the BasicCopySource implementation for MySQLSource. -func (mss MySQLSource) AsCouchbaseSource() (*CouchbaseSource, bool) { +// AsXeroSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsXeroSource() (*XeroSource, bool) { return nil, false } -// AsConcurSource is the BasicCopySource implementation for MySQLSource. -func (mss MySQLSource) AsConcurSource() (*ConcurSource, bool) { +// AsSquareSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsSquareSource() (*SquareSource, bool) { return nil, false } -// AsAzurePostgreSQLSource is the BasicCopySource implementation for MySQLSource. -func (mss MySQLSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { +// AsSparkSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsSparkSource() (*SparkSource, bool) { return nil, false } -// AsAmazonMWSSource is the BasicCopySource implementation for MySQLSource. -func (mss MySQLSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { +// AsShopifySource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsShopifySource() (*ShopifySource, bool) { return nil, false } -// AsHTTPSource is the BasicCopySource implementation for MySQLSource. -func (mss MySQLSource) AsHTTPSource() (*HTTPSource, bool) { +// AsServiceNowSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsServiceNowSource() (*ServiceNowSource, bool) { return nil, false } -// AsAzureBlobFSSource is the BasicCopySource implementation for MySQLSource. -func (mss MySQLSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { +// AsQuickBooksSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsQuickBooksSource() (*QuickBooksSource, bool) { return nil, false } -// AsAzureDataLakeStoreSource is the BasicCopySource implementation for MySQLSource. -func (mss MySQLSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { +// AsPrestoSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsPrestoSource() (*PrestoSource, bool) { return nil, false } -// AsOffice365Source is the BasicCopySource implementation for MySQLSource. -func (mss MySQLSource) AsOffice365Source() (*Office365Source, bool) { +// AsPhoenixSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsPhoenixSource() (*PhoenixSource, bool) { return nil, false } -// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for MySQLSource. -func (mss MySQLSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { +// AsPaypalSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsPaypalSource() (*PaypalSource, bool) { return nil, false } -// AsMongoDbV2Source is the BasicCopySource implementation for MySQLSource. -func (mss MySQLSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { +// AsMarketoSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsMarketoSource() (*MarketoSource, bool) { return nil, false } -// AsMongoDbSource is the BasicCopySource implementation for MySQLSource. -func (mss MySQLSource) AsMongoDbSource() (*MongoDbSource, bool) { +// AsAzureMariaDBSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { return nil, false } -// AsCassandraSource is the BasicCopySource implementation for MySQLSource. -func (mss MySQLSource) AsCassandraSource() (*CassandraSource, bool) { +// AsMariaDBSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsMariaDBSource() (*MariaDBSource, bool) { return nil, false } -// AsWebSource is the BasicCopySource implementation for MySQLSource. -func (mss MySQLSource) AsWebSource() (*WebSource, bool) { +// AsMagentoSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsMagentoSource() (*MagentoSource, bool) { return nil, false } -// AsTeradataSource is the BasicCopySource implementation for MySQLSource. -func (mss MySQLSource) AsTeradataSource() (*TeradataSource, bool) { +// AsJiraSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsJiraSource() (*JiraSource, bool) { return nil, false } -// AsOracleSource is the BasicCopySource implementation for MySQLSource. -func (mss MySQLSource) AsOracleSource() (*OracleSource, bool) { +// AsImpalaSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsImpalaSource() (*ImpalaSource, bool) { return nil, false } -// AsAzureDataExplorerSource is the BasicCopySource implementation for MySQLSource. -func (mss MySQLSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { +// AsHubspotSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsHubspotSource() (*HubspotSource, bool) { return nil, false } -// AsAzureMySQLSource is the BasicCopySource implementation for MySQLSource. -func (mss MySQLSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { +// AsHiveSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsHiveSource() (*HiveSource, bool) { return nil, false } -// AsHdfsSource is the BasicCopySource implementation for MySQLSource. -func (mss MySQLSource) AsHdfsSource() (*HdfsSource, bool) { +// AsHBaseSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsHBaseSource() (*HBaseSource, bool) { return nil, false } -// AsFileSystemSource is the BasicCopySource implementation for MySQLSource. -func (mss MySQLSource) AsFileSystemSource() (*FileSystemSource, bool) { +// AsGreenplumSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsGreenplumSource() (*GreenplumSource, bool) { return nil, false } -// AsSQLDWSource is the BasicCopySource implementation for MySQLSource. -func (mss MySQLSource) AsSQLDWSource() (*SQLDWSource, bool) { +// AsGoogleBigQuerySource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { return nil, false } -// AsSQLMISource is the BasicCopySource implementation for MySQLSource. -func (mss MySQLSource) AsSQLMISource() (*SQLMISource, bool) { +// AsEloquaSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsEloquaSource() (*EloquaSource, bool) { return nil, false } -// AsAzureSQLSource is the BasicCopySource implementation for MySQLSource. -func (mss MySQLSource) AsAzureSQLSource() (*AzureSQLSource, bool) { +// AsDrillSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsDrillSource() (*DrillSource, bool) { return nil, false } -// AsSQLServerSource is the BasicCopySource implementation for MySQLSource. -func (mss MySQLSource) AsSQLServerSource() (*SQLServerSource, bool) { +// AsCouchbaseSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsCouchbaseSource() (*CouchbaseSource, bool) { return nil, false } -// AsSQLSource is the BasicCopySource implementation for MySQLSource. -func (mss MySQLSource) AsSQLSource() (*SQLSource, bool) { +// AsConcurSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsConcurSource() (*ConcurSource, bool) { return nil, false } -// AsRestSource is the BasicCopySource implementation for MySQLSource. -func (mss MySQLSource) AsRestSource() (*RestSource, bool) { +// AsAzurePostgreSQLSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { return nil, false } -// AsSapTableSource is the BasicCopySource implementation for MySQLSource. -func (mss MySQLSource) AsSapTableSource() (*SapTableSource, bool) { +// AsAmazonMWSSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { return nil, false } -// AsSapOpenHubSource is the BasicCopySource implementation for MySQLSource. -func (mss MySQLSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { +// AsCassandraSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsCassandraSource() (*CassandraSource, bool) { return nil, false } -// AsSapHanaSource is the BasicCopySource implementation for MySQLSource. -func (mss MySQLSource) AsSapHanaSource() (*SapHanaSource, bool) { +// AsTeradataSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsTeradataSource() (*TeradataSource, bool) { return nil, false } -// AsSapEccSource is the BasicCopySource implementation for MySQLSource. -func (mss MySQLSource) AsSapEccSource() (*SapEccSource, bool) { +// AsAzureMySQLSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { return nil, false } -// AsSapCloudForCustomerSource is the BasicCopySource implementation for MySQLSource. -func (mss MySQLSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { +// AsSQLDWSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsSQLDWSource() (*SQLDWSource, bool) { return nil, false } -// AsSalesforceServiceCloudSource is the BasicCopySource implementation for MySQLSource. -func (mss MySQLSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { +// AsSQLMISource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsSQLMISource() (*SQLMISource, bool) { return nil, false } -// AsSalesforceSource is the BasicCopySource implementation for MySQLSource. -func (mss MySQLSource) AsSalesforceSource() (*SalesforceSource, bool) { +// AsAzureSQLSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsAzureSQLSource() (*AzureSQLSource, bool) { return nil, false } -// AsODataSource is the BasicCopySource implementation for MySQLSource. -func (mss MySQLSource) AsODataSource() (*ODataSource, bool) { +// AsSQLServerSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsSQLServerSource() (*SQLServerSource, bool) { return nil, false } -// AsSapBwSource is the BasicCopySource implementation for MySQLSource. -func (mss MySQLSource) AsSapBwSource() (*SapBwSource, bool) { +// AsSQLSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsSQLSource() (*SQLSource, bool) { return nil, false } -// AsSybaseSource is the BasicCopySource implementation for MySQLSource. -func (mss MySQLSource) AsSybaseSource() (*SybaseSource, bool) { +// AsSapTableSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsSapTableSource() (*SapTableSource, bool) { return nil, false } -// AsPostgreSQLSource is the BasicCopySource implementation for MySQLSource. -func (mss MySQLSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { +// AsSapOpenHubSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { return nil, false } -// AsMySQLSource is the BasicCopySource implementation for MySQLSource. -func (mss MySQLSource) AsMySQLSource() (*MySQLSource, bool) { - return &mss, true +// AsSapHanaSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsSapHanaSource() (*SapHanaSource, bool) { + return nil, false } -// AsOdbcSource is the BasicCopySource implementation for MySQLSource. -func (mss MySQLSource) AsOdbcSource() (*OdbcSource, bool) { +// AsSapEccSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsSapEccSource() (*SapEccSource, bool) { return nil, false } -// AsDb2Source is the BasicCopySource implementation for MySQLSource. -func (mss MySQLSource) AsDb2Source() (*Db2Source, bool) { +// AsSapCloudForCustomerSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { return nil, false } -// AsMicrosoftAccessSource is the BasicCopySource implementation for MySQLSource. -func (mss MySQLSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { +// AsSalesforceSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsSalesforceSource() (*SalesforceSource, bool) { return nil, false } -// AsInformixSource is the BasicCopySource implementation for MySQLSource. -func (mss MySQLSource) AsInformixSource() (*InformixSource, bool) { +// AsSapBwSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsSapBwSource() (*SapBwSource, bool) { return nil, false } -// AsRelationalSource is the BasicCopySource implementation for MySQLSource. -func (mss MySQLSource) AsRelationalSource() (*RelationalSource, bool) { +// AsSybaseSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsSybaseSource() (*SybaseSource, bool) { return nil, false } -// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for MySQLSource. -func (mss MySQLSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { +// AsPostgreSQLSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { return nil, false } -// AsDynamicsCrmSource is the BasicCopySource implementation for MySQLSource. -func (mss MySQLSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { +// AsMySQLSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsMySQLSource() (*MySQLSource, bool) { return nil, false } -// AsDynamicsSource is the BasicCopySource implementation for MySQLSource. -func (mss MySQLSource) AsDynamicsSource() (*DynamicsSource, bool) { +// AsOdbcSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsOdbcSource() (*OdbcSource, bool) { return nil, false } -// AsDocumentDbCollectionSource is the BasicCopySource implementation for MySQLSource. -func (mss MySQLSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { +// AsDb2Source is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsDb2Source() (*Db2Source, bool) { return nil, false } -// AsBlobSource is the BasicCopySource implementation for MySQLSource. -func (mss MySQLSource) AsBlobSource() (*BlobSource, bool) { +// AsInformixSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsInformixSource() (*InformixSource, bool) { return nil, false } -// AsAzureTableSource is the BasicCopySource implementation for MySQLSource. -func (mss MySQLSource) AsAzureTableSource() (*AzureTableSource, bool) { +// AsAzureTableSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsAzureTableSource() (*AzureTableSource, bool) { return nil, false } -// AsBinarySource is the BasicCopySource implementation for MySQLSource. -func (mss MySQLSource) AsBinarySource() (*BinarySource, bool) { +// AsTabularSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsTabularSource() (*TabularSource, bool) { return nil, false } -// AsDelimitedTextSource is the BasicCopySource implementation for MySQLSource. -func (mss MySQLSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { +// AsBasicTabularSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &ns, true +} + +// AsBinarySource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsBinarySource() (*BinarySource, bool) { return nil, false } -// AsParquetSource is the BasicCopySource implementation for MySQLSource. -func (mss MySQLSource) AsParquetSource() (*ParquetSource, bool) { +// AsOrcSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsOrcSource() (*OrcSource, bool) { return nil, false } -// AsAvroSource is the BasicCopySource implementation for MySQLSource. -func (mss MySQLSource) AsAvroSource() (*AvroSource, bool) { +// AsJSONSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsJSONSource() (*JSONSource, bool) { return nil, false } -// AsCopySource is the BasicCopySource implementation for MySQLSource. -func (mss MySQLSource) AsCopySource() (*CopySource, bool) { +// AsDelimitedTextSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { return nil, false } -// AsBasicCopySource is the BasicCopySource implementation for MySQLSource. -func (mss MySQLSource) AsBasicCopySource() (BasicCopySource, bool) { - return &mss, true +// AsParquetSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsParquetSource() (*ParquetSource, bool) { + return nil, false } -// UnmarshalJSON is the custom unmarshaler for MySQLSource struct. -func (mss *MySQLSource) UnmarshalJSON(body []byte) error { +// AsAvroSource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for NetezzaSource. +func (ns NetezzaSource) AsBasicCopySource() (BasicCopySource, bool) { + return &ns, true +} + +// UnmarshalJSON is the custom unmarshaler for NetezzaSource struct. +func (ns *NetezzaSource) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -121245,7 +138151,34 @@ func (mss *MySQLSource) UnmarshalJSON(body []byte) error { if err != nil { return err } - mss.Query = query + ns.Query = query + } + case "partitionOption": + if v != nil { + var partitionOption NetezzaPartitionOption + err = json.Unmarshal(*v, &partitionOption) + if err != nil { + return err + } + ns.PartitionOption = partitionOption + } + case "partitionSettings": + if v != nil { + var partitionSettings NetezzaPartitionSettings + err = json.Unmarshal(*v, &partitionSettings) + if err != nil { + return err + } + ns.PartitionSettings = &partitionSettings + } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + ns.QueryTimeout = queryTimeout } default: if v != nil { @@ -121254,10 +138187,10 @@ func (mss *MySQLSource) UnmarshalJSON(body []byte) error { if err != nil { return err } - if mss.AdditionalProperties == nil { - mss.AdditionalProperties = make(map[string]interface{}) + if ns.AdditionalProperties == nil { + ns.AdditionalProperties = make(map[string]interface{}) } - mss.AdditionalProperties[k] = additionalProperties + ns.AdditionalProperties[k] = additionalProperties } case "sourceRetryCount": if v != nil { @@ -121266,7 +138199,7 @@ func (mss *MySQLSource) UnmarshalJSON(body []byte) error { if err != nil { return err } - mss.SourceRetryCount = sourceRetryCount + ns.SourceRetryCount = sourceRetryCount } case "sourceRetryWait": if v != nil { @@ -121275,7 +138208,7 @@ func (mss *MySQLSource) UnmarshalJSON(body []byte) error { if err != nil { return err } - mss.SourceRetryWait = sourceRetryWait + ns.SourceRetryWait = sourceRetryWait } case "maxConcurrentConnections": if v != nil { @@ -121284,7 +138217,7 @@ func (mss *MySQLSource) UnmarshalJSON(body []byte) error { if err != nil { return err } - mss.MaxConcurrentConnections = maxConcurrentConnections + ns.MaxConcurrentConnections = maxConcurrentConnections } case "type": if v != nil { @@ -121293,7 +138226,7 @@ func (mss *MySQLSource) UnmarshalJSON(body []byte) error { if err != nil { return err } - mss.Type = typeVar + ns.Type = typeVar } } } @@ -121301,10 +138234,10 @@ func (mss *MySQLSource) UnmarshalJSON(body []byte) error { return nil } -// MySQLTableDataset the MySQL table dataset. -type MySQLTableDataset struct { - // MySQLTableDatasetTypeProperties - MySQL table dataset properties. - *MySQLTableDatasetTypeProperties `json:"typeProperties,omitempty"` +// NetezzaTableDataset netezza dataset. +type NetezzaTableDataset struct { + // NetezzaTableDatasetTypeProperties - Properties specific to this dataset type. + *NetezzaTableDatasetTypeProperties `json:"typeProperties,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` // Description - Dataset description. @@ -121321,469 +138254,494 @@ type MySQLTableDataset struct { Annotations *[]interface{} `json:"annotations,omitempty"` // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. Folder *DatasetFolder `json:"folder,omitempty"` - // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' + // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' Type TypeBasicDataset `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for MySQLTableDataset. -func (mstd MySQLTableDataset) MarshalJSON() ([]byte, error) { - mstd.Type = TypeMySQLTable +// MarshalJSON is the custom marshaler for NetezzaTableDataset. +func (ntd NetezzaTableDataset) MarshalJSON() ([]byte, error) { + ntd.Type = TypeNetezzaTable objectMap := make(map[string]interface{}) - if mstd.MySQLTableDatasetTypeProperties != nil { - objectMap["typeProperties"] = mstd.MySQLTableDatasetTypeProperties + if ntd.NetezzaTableDatasetTypeProperties != nil { + objectMap["typeProperties"] = ntd.NetezzaTableDatasetTypeProperties } - if mstd.Description != nil { - objectMap["description"] = mstd.Description + if ntd.Description != nil { + objectMap["description"] = ntd.Description } - if mstd.Structure != nil { - objectMap["structure"] = mstd.Structure + if ntd.Structure != nil { + objectMap["structure"] = ntd.Structure } - if mstd.Schema != nil { - objectMap["schema"] = mstd.Schema + if ntd.Schema != nil { + objectMap["schema"] = ntd.Schema } - if mstd.LinkedServiceName != nil { - objectMap["linkedServiceName"] = mstd.LinkedServiceName + if ntd.LinkedServiceName != nil { + objectMap["linkedServiceName"] = ntd.LinkedServiceName } - if mstd.Parameters != nil { - objectMap["parameters"] = mstd.Parameters + if ntd.Parameters != nil { + objectMap["parameters"] = ntd.Parameters } - if mstd.Annotations != nil { - objectMap["annotations"] = mstd.Annotations + if ntd.Annotations != nil { + objectMap["annotations"] = ntd.Annotations } - if mstd.Folder != nil { - objectMap["folder"] = mstd.Folder + if ntd.Folder != nil { + objectMap["folder"] = ntd.Folder } - if mstd.Type != "" { - objectMap["type"] = mstd.Type + if ntd.Type != "" { + objectMap["type"] = ntd.Type } - for k, v := range mstd.AdditionalProperties { + for k, v := range ntd.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for MySQLTableDataset. -func (mstd MySQLTableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { return nil, false } -// AsAzureDataExplorerTableDataset is the BasicDataset implementation for MySQLTableDataset. -func (mstd MySQLTableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { return nil, false } -// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for MySQLTableDataset. -func (mstd MySQLTableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { return nil, false } -// AsDynamicsAXResourceDataset is the BasicDataset implementation for MySQLTableDataset. -func (mstd MySQLTableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { +// AsDynamicsAXResourceDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { return nil, false } -// AsResponsysObjectDataset is the BasicDataset implementation for MySQLTableDataset. -func (mstd MySQLTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { +// AsResponsysObjectDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { return nil, false } -// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for MySQLTableDataset. -func (mstd MySQLTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { return nil, false } -// AsVerticaTableDataset is the BasicDataset implementation for MySQLTableDataset. -func (mstd MySQLTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { +// AsVerticaTableDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { return nil, false } -// AsNetezzaTableDataset is the BasicDataset implementation for MySQLTableDataset. -func (mstd MySQLTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { +// AsNetezzaTableDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { + return &ntd, true +} + +// AsZohoObjectDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { return nil, false } -// AsZohoObjectDataset is the BasicDataset implementation for MySQLTableDataset. -func (mstd MySQLTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { +// AsXeroObjectDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { return nil, false } -// AsXeroObjectDataset is the BasicDataset implementation for MySQLTableDataset. -func (mstd MySQLTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { +// AsSquareObjectDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { return nil, false } -// AsSquareObjectDataset is the BasicDataset implementation for MySQLTableDataset. -func (mstd MySQLTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { +// AsSparkObjectDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { return nil, false } -// AsSparkObjectDataset is the BasicDataset implementation for MySQLTableDataset. -func (mstd MySQLTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { +// AsShopifyObjectDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { return nil, false } -// AsShopifyObjectDataset is the BasicDataset implementation for MySQLTableDataset. -func (mstd MySQLTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { +// AsServiceNowObjectDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { return nil, false } -// AsServiceNowObjectDataset is the BasicDataset implementation for MySQLTableDataset. -func (mstd MySQLTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { +// AsQuickBooksObjectDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { return nil, false } -// AsQuickBooksObjectDataset is the BasicDataset implementation for MySQLTableDataset. -func (mstd MySQLTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { +// AsPrestoObjectDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { return nil, false } -// AsPrestoObjectDataset is the BasicDataset implementation for MySQLTableDataset. -func (mstd MySQLTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { +// AsPhoenixObjectDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { return nil, false } -// AsPhoenixObjectDataset is the BasicDataset implementation for MySQLTableDataset. -func (mstd MySQLTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { +// AsPaypalObjectDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { return nil, false } -// AsPaypalObjectDataset is the BasicDataset implementation for MySQLTableDataset. -func (mstd MySQLTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { +// AsMarketoObjectDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { return nil, false } -// AsMarketoObjectDataset is the BasicDataset implementation for MySQLTableDataset. -func (mstd MySQLTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { +// AsAzureMariaDBTableDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { return nil, false } -// AsAzureMariaDBTableDataset is the BasicDataset implementation for MySQLTableDataset. -func (mstd MySQLTableDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { +// AsMariaDBTableDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { return nil, false } -// AsMariaDBTableDataset is the BasicDataset implementation for MySQLTableDataset. -func (mstd MySQLTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { +// AsMagentoObjectDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { return nil, false } -// AsMagentoObjectDataset is the BasicDataset implementation for MySQLTableDataset. -func (mstd MySQLTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { +// AsJiraObjectDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { return nil, false } -// AsJiraObjectDataset is the BasicDataset implementation for MySQLTableDataset. -func (mstd MySQLTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { +// AsImpalaObjectDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { return nil, false } -// AsImpalaObjectDataset is the BasicDataset implementation for MySQLTableDataset. -func (mstd MySQLTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { +// AsHubspotObjectDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { return nil, false } -// AsHubspotObjectDataset is the BasicDataset implementation for MySQLTableDataset. -func (mstd MySQLTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { +// AsHiveObjectDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { return nil, false } -// AsHiveObjectDataset is the BasicDataset implementation for MySQLTableDataset. -func (mstd MySQLTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { +// AsHBaseObjectDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { return nil, false } -// AsHBaseObjectDataset is the BasicDataset implementation for MySQLTableDataset. -func (mstd MySQLTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { +// AsGreenplumTableDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { return nil, false } -// AsGreenplumTableDataset is the BasicDataset implementation for MySQLTableDataset. -func (mstd MySQLTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { return nil, false } -// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for MySQLTableDataset. -func (mstd MySQLTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { +// AsEloquaObjectDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { return nil, false } -// AsEloquaObjectDataset is the BasicDataset implementation for MySQLTableDataset. -func (mstd MySQLTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { +// AsDrillTableDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { return nil, false } -// AsDrillTableDataset is the BasicDataset implementation for MySQLTableDataset. -func (mstd MySQLTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { +// AsCouchbaseTableDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { return nil, false } -// AsCouchbaseTableDataset is the BasicDataset implementation for MySQLTableDataset. -func (mstd MySQLTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { +// AsConcurObjectDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { return nil, false } -// AsConcurObjectDataset is the BasicDataset implementation for MySQLTableDataset. -func (mstd MySQLTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { return nil, false } -// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for MySQLTableDataset. -func (mstd MySQLTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { +// AsAmazonMWSObjectDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { return nil, false } -// AsAmazonMWSObjectDataset is the BasicDataset implementation for MySQLTableDataset. -func (mstd MySQLTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { +// AsHTTPDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsHTTPDataset() (*HTTPDataset, bool) { return nil, false } -// AsHTTPDataset is the BasicDataset implementation for MySQLTableDataset. -func (mstd MySQLTableDataset) AsHTTPDataset() (*HTTPDataset, bool) { +// AsAzureSearchIndexDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { return nil, false } -// AsAzureSearchIndexDataset is the BasicDataset implementation for MySQLTableDataset. -func (mstd MySQLTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { +// AsWebTableDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsWebTableDataset() (*WebTableDataset, bool) { return nil, false } -// AsWebTableDataset is the BasicDataset implementation for MySQLTableDataset. -func (mstd MySQLTableDataset) AsWebTableDataset() (*WebTableDataset, bool) { +// AsSapTableResourceDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { return nil, false } -// AsSapTableResourceDataset is the BasicDataset implementation for MySQLTableDataset. -func (mstd MySQLTableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { +// AsRestResourceDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { return nil, false } -// AsRestResourceDataset is the BasicDataset implementation for MySQLTableDataset. -func (mstd MySQLTableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { +// AsSQLServerTableDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { return nil, false } -// AsSQLServerTableDataset is the BasicDataset implementation for MySQLTableDataset. -func (mstd MySQLTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { +// AsSapOpenHubTableDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { return nil, false } -// AsSapOpenHubTableDataset is the BasicDataset implementation for MySQLTableDataset. -func (mstd MySQLTableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { +// AsSapHanaTableDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { return nil, false } -// AsSapHanaTableDataset is the BasicDataset implementation for MySQLTableDataset. -func (mstd MySQLTableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { +// AsSapEccResourceDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { return nil, false } -// AsSapEccResourceDataset is the BasicDataset implementation for MySQLTableDataset. -func (mstd MySQLTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { return nil, false } -// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for MySQLTableDataset. -func (mstd MySQLTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { +// AsSapBwCubeDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { return nil, false } -// AsSapBwCubeDataset is the BasicDataset implementation for MySQLTableDataset. -func (mstd MySQLTableDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { +// AsSybaseTableDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { return nil, false } -// AsSybaseTableDataset is the BasicDataset implementation for MySQLTableDataset. -func (mstd MySQLTableDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { return nil, false } -// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for MySQLTableDataset. -func (mstd MySQLTableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { +// AsSalesforceObjectDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { return nil, false } -// AsSalesforceObjectDataset is the BasicDataset implementation for MySQLTableDataset. -func (mstd MySQLTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { return nil, false } -// AsMicrosoftAccessTableDataset is the BasicDataset implementation for MySQLTableDataset. -func (mstd MySQLTableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { +// AsPostgreSQLTableDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { return nil, false } -// AsPostgreSQLTableDataset is the BasicDataset implementation for MySQLTableDataset. -func (mstd MySQLTableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { +// AsMySQLTableDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { return nil, false } -// AsMySQLTableDataset is the BasicDataset implementation for MySQLTableDataset. -func (mstd MySQLTableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { - return &mstd, true +// AsOdbcTableDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { + return nil, false } -// AsOdbcTableDataset is the BasicDataset implementation for MySQLTableDataset. -func (mstd MySQLTableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { +// AsInformixTableDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { return nil, false } -// AsInformixTableDataset is the BasicDataset implementation for MySQLTableDataset. -func (mstd MySQLTableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { +// AsRelationalTableDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { return nil, false } -// AsRelationalTableDataset is the BasicDataset implementation for MySQLTableDataset. -func (mstd MySQLTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { +// AsDb2TableDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { return nil, false } -// AsAzureMySQLTableDataset is the BasicDataset implementation for MySQLTableDataset. -func (mstd MySQLTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { return nil, false } -// AsTeradataTableDataset is the BasicDataset implementation for MySQLTableDataset. -func (mstd MySQLTableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { +// AsAzureMySQLTableDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { return nil, false } -// AsOracleTableDataset is the BasicDataset implementation for MySQLTableDataset. -func (mstd MySQLTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { +// AsTeradataTableDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { return nil, false } -// AsODataResourceDataset is the BasicDataset implementation for MySQLTableDataset. -func (mstd MySQLTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { +// AsOracleTableDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { return nil, false } -// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for MySQLTableDataset. -func (mstd MySQLTableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { +// AsODataResourceDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { return nil, false } -// AsMongoDbV2CollectionDataset is the BasicDataset implementation for MySQLTableDataset. -func (mstd MySQLTableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { return nil, false } -// AsMongoDbCollectionDataset is the BasicDataset implementation for MySQLTableDataset. -func (mstd MySQLTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { return nil, false } -// AsFileShareDataset is the BasicDataset implementation for MySQLTableDataset. -func (mstd MySQLTableDataset) AsFileShareDataset() (*FileShareDataset, bool) { +// AsMongoDbCollectionDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { return nil, false } -// AsOffice365Dataset is the BasicDataset implementation for MySQLTableDataset. -func (mstd MySQLTableDataset) AsOffice365Dataset() (*Office365Dataset, bool) { +// AsFileShareDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsFileShareDataset() (*FileShareDataset, bool) { return nil, false } -// AsAzureBlobFSDataset is the BasicDataset implementation for MySQLTableDataset. -func (mstd MySQLTableDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) { +// AsOffice365Dataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsOffice365Dataset() (*Office365Dataset, bool) { return nil, false } -// AsAzureDataLakeStoreDataset is the BasicDataset implementation for MySQLTableDataset. -func (mstd MySQLTableDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) { +// AsAzureBlobFSDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) { return nil, false } -// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for MySQLTableDataset. -func (mstd MySQLTableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { +// AsAzureDataLakeStoreDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) { return nil, false } -// AsDynamicsCrmEntityDataset is the BasicDataset implementation for MySQLTableDataset. -func (mstd MySQLTableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { return nil, false } -// AsDynamicsEntityDataset is the BasicDataset implementation for MySQLTableDataset. -func (mstd MySQLTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { return nil, false } -// AsDocumentDbCollectionDataset is the BasicDataset implementation for MySQLTableDataset. -func (mstd MySQLTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { +// AsDynamicsEntityDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { return nil, false } -// AsCustomDataset is the BasicDataset implementation for MySQLTableDataset. -func (mstd MySQLTableDataset) AsCustomDataset() (*CustomDataset, bool) { +// AsDocumentDbCollectionDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { return nil, false } -// AsCassandraTableDataset is the BasicDataset implementation for MySQLTableDataset. -func (mstd MySQLTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { return nil, false } -// AsAzureSQLDWTableDataset is the BasicDataset implementation for MySQLTableDataset. -func (mstd MySQLTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { +// AsCustomDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsCustomDataset() (*CustomDataset, bool) { return nil, false } -// AsAzureSQLMITableDataset is the BasicDataset implementation for MySQLTableDataset. -func (mstd MySQLTableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { +// AsCassandraTableDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { return nil, false } -// AsAzureSQLTableDataset is the BasicDataset implementation for MySQLTableDataset. -func (mstd MySQLTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { +// AsAzureSQLDWTableDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { return nil, false } -// AsAzureTableDataset is the BasicDataset implementation for MySQLTableDataset. -func (mstd MySQLTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { +// AsAzureSQLMITableDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { return nil, false } -// AsAzureBlobDataset is the BasicDataset implementation for MySQLTableDataset. -func (mstd MySQLTableDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) { +// AsAzureSQLTableDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { return nil, false } -// AsBinaryDataset is the BasicDataset implementation for MySQLTableDataset. -func (mstd MySQLTableDataset) AsBinaryDataset() (*BinaryDataset, bool) { +// AsAzureTableDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { return nil, false } -// AsDelimitedTextDataset is the BasicDataset implementation for MySQLTableDataset. -func (mstd MySQLTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { +// AsAzureBlobDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) { return nil, false } -// AsParquetDataset is the BasicDataset implementation for MySQLTableDataset. -func (mstd MySQLTableDataset) AsParquetDataset() (*ParquetDataset, bool) { +// AsBinaryDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsBinaryDataset() (*BinaryDataset, bool) { + return nil, false +} + +// AsOrcDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + +// AsDelimitedTextDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { + return nil, false +} + +// AsParquetDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsParquetDataset() (*ParquetDataset, bool) { return nil, false } -// AsAvroDataset is the BasicDataset implementation for MySQLTableDataset. -func (mstd MySQLTableDataset) AsAvroDataset() (*AvroDataset, bool) { +// AsAvroDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsAvroDataset() (*AvroDataset, bool) { return nil, false } -// AsAmazonS3Dataset is the BasicDataset implementation for MySQLTableDataset. -func (mstd MySQLTableDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) { +// AsAmazonS3Dataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) { return nil, false } -// AsDataset is the BasicDataset implementation for MySQLTableDataset. -func (mstd MySQLTableDataset) AsDataset() (*Dataset, bool) { +// AsDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsDataset() (*Dataset, bool) { return nil, false } -// AsBasicDataset is the BasicDataset implementation for MySQLTableDataset. -func (mstd MySQLTableDataset) AsBasicDataset() (BasicDataset, bool) { - return &mstd, true +// AsBasicDataset is the BasicDataset implementation for NetezzaTableDataset. +func (ntd NetezzaTableDataset) AsBasicDataset() (BasicDataset, bool) { + return &ntd, true } -// UnmarshalJSON is the custom unmarshaler for MySQLTableDataset struct. -func (mstd *MySQLTableDataset) UnmarshalJSON(body []byte) error { +// UnmarshalJSON is the custom unmarshaler for NetezzaTableDataset struct. +func (ntd *NetezzaTableDataset) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -121793,12 +138751,12 @@ func (mstd *MySQLTableDataset) UnmarshalJSON(body []byte) error { switch k { case "typeProperties": if v != nil { - var mySQLTableDatasetTypeProperties MySQLTableDatasetTypeProperties - err = json.Unmarshal(*v, &mySQLTableDatasetTypeProperties) + var netezzaTableDatasetTypeProperties NetezzaTableDatasetTypeProperties + err = json.Unmarshal(*v, &netezzaTableDatasetTypeProperties) if err != nil { return err } - mstd.MySQLTableDatasetTypeProperties = &mySQLTableDatasetTypeProperties + ntd.NetezzaTableDatasetTypeProperties = &netezzaTableDatasetTypeProperties } default: if v != nil { @@ -121807,10 +138765,10 @@ func (mstd *MySQLTableDataset) UnmarshalJSON(body []byte) error { if err != nil { return err } - if mstd.AdditionalProperties == nil { - mstd.AdditionalProperties = make(map[string]interface{}) + if ntd.AdditionalProperties == nil { + ntd.AdditionalProperties = make(map[string]interface{}) } - mstd.AdditionalProperties[k] = additionalProperties + ntd.AdditionalProperties[k] = additionalProperties } case "description": if v != nil { @@ -121819,7 +138777,7 @@ func (mstd *MySQLTableDataset) UnmarshalJSON(body []byte) error { if err != nil { return err } - mstd.Description = &description + ntd.Description = &description } case "structure": if v != nil { @@ -121828,7 +138786,7 @@ func (mstd *MySQLTableDataset) UnmarshalJSON(body []byte) error { if err != nil { return err } - mstd.Structure = structure + ntd.Structure = structure } case "schema": if v != nil { @@ -121837,7 +138795,7 @@ func (mstd *MySQLTableDataset) UnmarshalJSON(body []byte) error { if err != nil { return err } - mstd.Schema = schema + ntd.Schema = schema } case "linkedServiceName": if v != nil { @@ -121846,7 +138804,7 @@ func (mstd *MySQLTableDataset) UnmarshalJSON(body []byte) error { if err != nil { return err } - mstd.LinkedServiceName = &linkedServiceName + ntd.LinkedServiceName = &linkedServiceName } case "parameters": if v != nil { @@ -121855,7 +138813,7 @@ func (mstd *MySQLTableDataset) UnmarshalJSON(body []byte) error { if err != nil { return err } - mstd.Parameters = parameters + ntd.Parameters = parameters } case "annotations": if v != nil { @@ -121864,7 +138822,7 @@ func (mstd *MySQLTableDataset) UnmarshalJSON(body []byte) error { if err != nil { return err } - mstd.Annotations = &annotations + ntd.Annotations = &annotations } case "folder": if v != nil { @@ -121873,7 +138831,7 @@ func (mstd *MySQLTableDataset) UnmarshalJSON(body []byte) error { if err != nil { return err } - mstd.Folder = &folder + ntd.Folder = &folder } case "type": if v != nil { @@ -121882,7 +138840,7 @@ func (mstd *MySQLTableDataset) UnmarshalJSON(body []byte) error { if err != nil { return err } - mstd.Type = typeVar + ntd.Type = typeVar } } } @@ -121890,16 +138848,20 @@ func (mstd *MySQLTableDataset) UnmarshalJSON(body []byte) error { return nil } -// MySQLTableDatasetTypeProperties mySql table dataset properties. -type MySQLTableDatasetTypeProperties struct { - // TableName - The MySQL table name. Type: string (or Expression with resultType string). +// NetezzaTableDatasetTypeProperties netezza dataset properties. +type NetezzaTableDatasetTypeProperties struct { + // TableName - This property will be retired. Please consider using schema + table properties instead. TableName interface{} `json:"tableName,omitempty"` + // Table - The table name of the Netezza. Type: string (or Expression with resultType string). + Table interface{} `json:"table,omitempty"` + // Schema - The schema name of the Netezza. Type: string (or Expression with resultType string). + Schema interface{} `json:"schema,omitempty"` } -// NetezzaLinkedService netezza linked service. -type NetezzaLinkedService struct { - // NetezzaLinkedServiceTypeProperties - Netezza linked service properties. - *NetezzaLinkedServiceTypeProperties `json:"typeProperties,omitempty"` +// ODataLinkedService open Data Protocol (OData) linked service. +type ODataLinkedService struct { + // ODataLinkedServiceTypeProperties - OData linked service properties. + *ODataLinkedServiceTypeProperties `json:"typeProperties,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` // ConnectVia - The integration runtime reference. @@ -121910,505 +138872,520 @@ type NetezzaLinkedService struct { Parameters map[string]*ParameterSpecification `json:"parameters"` // Annotations - List of tags that can be used for describing the linked service. Annotations *[]interface{} `json:"annotations,omitempty"` - // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' + // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' Type TypeBasicLinkedService `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for NetezzaLinkedService. -func (nls NetezzaLinkedService) MarshalJSON() ([]byte, error) { - nls.Type = TypeNetezza +// MarshalJSON is the custom marshaler for ODataLinkedService. +func (odls ODataLinkedService) MarshalJSON() ([]byte, error) { + odls.Type = TypeOData objectMap := make(map[string]interface{}) - if nls.NetezzaLinkedServiceTypeProperties != nil { - objectMap["typeProperties"] = nls.NetezzaLinkedServiceTypeProperties + if odls.ODataLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = odls.ODataLinkedServiceTypeProperties } - if nls.ConnectVia != nil { - objectMap["connectVia"] = nls.ConnectVia + if odls.ConnectVia != nil { + objectMap["connectVia"] = odls.ConnectVia } - if nls.Description != nil { - objectMap["description"] = nls.Description + if odls.Description != nil { + objectMap["description"] = odls.Description } - if nls.Parameters != nil { - objectMap["parameters"] = nls.Parameters + if odls.Parameters != nil { + objectMap["parameters"] = odls.Parameters } - if nls.Annotations != nil { - objectMap["annotations"] = nls.Annotations + if odls.Annotations != nil { + objectMap["annotations"] = odls.Annotations } - if nls.Type != "" { - objectMap["type"] = nls.Type + if odls.Type != "" { + objectMap["type"] = odls.Type } - for k, v := range nls.AdditionalProperties { + for k, v := range odls.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsAzureFunctionLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. -func (nls NetezzaLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { return nil, false } -// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. -func (nls NetezzaLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { return nil, false } -// AsSapTableLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. -func (nls NetezzaLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { +// AsSapTableLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { return nil, false } -// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. -func (nls NetezzaLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { return nil, false } -// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. -func (nls NetezzaLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { return nil, false } -// AsDynamicsAXLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. -func (nls NetezzaLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { return nil, false } -// AsResponsysLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. -func (nls NetezzaLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { +// AsResponsysLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { return nil, false } -// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. -func (nls NetezzaLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { return nil, false } -// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. -func (nls NetezzaLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { return nil, false } -// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. -func (nls NetezzaLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { return nil, false } -// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. -func (nls NetezzaLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { return nil, false } -// AsNetezzaLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. -func (nls NetezzaLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { - return &nls, true +// AsNetezzaLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false } -// AsVerticaLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. -func (nls NetezzaLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { +// AsVerticaLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { return nil, false } -// AsZohoLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. -func (nls NetezzaLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { +// AsZohoLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { return nil, false } -// AsXeroLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. -func (nls NetezzaLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { +// AsXeroLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { return nil, false } -// AsSquareLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. -func (nls NetezzaLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { +// AsSquareLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { return nil, false } -// AsSparkLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. -func (nls NetezzaLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { +// AsSparkLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { return nil, false } -// AsShopifyLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. -func (nls NetezzaLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { +// AsShopifyLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { return nil, false } -// AsServiceNowLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. -func (nls NetezzaLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { +// AsServiceNowLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { return nil, false } -// AsQuickBooksLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. -func (nls NetezzaLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { +// AsQuickBooksLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { return nil, false } -// AsPrestoLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. -func (nls NetezzaLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { +// AsPrestoLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { return nil, false } -// AsPhoenixLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. -func (nls NetezzaLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { +// AsPhoenixLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { return nil, false } -// AsPaypalLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. -func (nls NetezzaLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { +// AsPaypalLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { return nil, false } -// AsMarketoLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. -func (nls NetezzaLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { +// AsMarketoLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { return nil, false } -// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. -func (nls NetezzaLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { return nil, false } -// AsMariaDBLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. -func (nls NetezzaLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { +// AsMariaDBLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { return nil, false } -// AsMagentoLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. -func (nls NetezzaLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { +// AsMagentoLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { return nil, false } -// AsJiraLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. -func (nls NetezzaLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { +// AsJiraLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { return nil, false } -// AsImpalaLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. -func (nls NetezzaLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { +// AsImpalaLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { return nil, false } -// AsHubspotLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. -func (nls NetezzaLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { +// AsHubspotLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { return nil, false } -// AsHiveLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. -func (nls NetezzaLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { +// AsHiveLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { return nil, false } -// AsHBaseLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. -func (nls NetezzaLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { +// AsHBaseLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { return nil, false } -// AsGreenplumLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. -func (nls NetezzaLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { +// AsGreenplumLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { return nil, false } -// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. -func (nls NetezzaLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { return nil, false } -// AsEloquaLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. -func (nls NetezzaLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { +// AsEloquaLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { return nil, false } -// AsDrillLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. -func (nls NetezzaLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { +// AsDrillLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { return nil, false } -// AsCouchbaseLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. -func (nls NetezzaLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { +// AsCouchbaseLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { return nil, false } -// AsConcurLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. -func (nls NetezzaLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { +// AsConcurLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { return nil, false } -// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. -func (nls NetezzaLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { return nil, false } -// AsAmazonMWSLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. -func (nls NetezzaLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { return nil, false } -// AsSapHanaLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. -func (nls NetezzaLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { +// AsSapHanaLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { return nil, false } -// AsSapBWLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. -func (nls NetezzaLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { +// AsSapBWLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { return nil, false } -// AsSftpServerLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. -func (nls NetezzaLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { +// AsSftpServerLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { return nil, false } -// AsFtpServerLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. -func (nls NetezzaLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { +// AsFtpServerLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { return nil, false } -// AsHTTPLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. -func (nls NetezzaLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { +// AsHTTPLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { return nil, false } -// AsAzureSearchLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. -func (nls NetezzaLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { +// AsAzureSearchLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { return nil, false } -// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. -func (nls NetezzaLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { return nil, false } -// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. -func (nls NetezzaLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { return nil, false } -// AsAmazonS3LinkedService is the BasicLinkedService implementation for NetezzaLinkedService. -func (nls NetezzaLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { +// AsAmazonS3LinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { return nil, false } -// AsRestServiceLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. -func (nls NetezzaLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { +// AsRestServiceLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { return nil, false } -// AsSapOpenHubLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. -func (nls NetezzaLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { return nil, false } -// AsSapEccLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. -func (nls NetezzaLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { +// AsSapEccLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { return nil, false } -// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. -func (nls NetezzaLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { return nil, false } -// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. -func (nls NetezzaLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { return nil, false } -// AsSalesforceLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. -func (nls NetezzaLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { +// AsSalesforceLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { return nil, false } -// AsOffice365LinkedService is the BasicLinkedService implementation for NetezzaLinkedService. -func (nls NetezzaLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { +// AsOffice365LinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { return nil, false } -// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. -func (nls NetezzaLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { return nil, false } -// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. -func (nls NetezzaLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { return nil, false } -// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for NetezzaLinkedService. -func (nls NetezzaLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { return nil, false } -// AsMongoDbV2LinkedService is the BasicLinkedService implementation for NetezzaLinkedService. -func (nls NetezzaLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { return nil, false } -// AsMongoDbLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. -func (nls NetezzaLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { +// AsMongoDbLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { return nil, false } -// AsCassandraLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. -func (nls NetezzaLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { +// AsCassandraLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { return nil, false } -// AsWebLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. -func (nls NetezzaLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { +// AsWebLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { return nil, false } -// AsODataLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. -func (nls NetezzaLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { +// AsODataLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return &odls, true +} + +// AsHdfsLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { return nil, false } -// AsHdfsLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. -func (nls NetezzaLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { return nil, false } -// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. -func (nls NetezzaLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { +// AsInformixLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { return nil, false } -// AsInformixLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. -func (nls NetezzaLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { +// AsOdbcLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { return nil, false } -// AsOdbcLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. -func (nls NetezzaLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { return nil, false } -// AsAzureMLLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. -func (nls NetezzaLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { +// AsAzureMLLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { return nil, false } -// AsTeradataLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. -func (nls NetezzaLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { +// AsTeradataLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { return nil, false } -// AsDb2LinkedService is the BasicLinkedService implementation for NetezzaLinkedService. -func (nls NetezzaLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { +// AsDb2LinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { return nil, false } -// AsSybaseLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. -func (nls NetezzaLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { +// AsSybaseLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { return nil, false } -// AsPostgreSQLLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. -func (nls NetezzaLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { return nil, false } -// AsMySQLLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. -func (nls NetezzaLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { +// AsMySQLLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { return nil, false } -// AsAzureMySQLLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. -func (nls NetezzaLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { return nil, false } -// AsOracleLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. -func (nls NetezzaLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { +// AsOracleLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { return nil, false } -// AsFileServerLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. -func (nls NetezzaLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { return nil, false } -// AsHDInsightLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. -func (nls NetezzaLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { return nil, false } -// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. -func (nls NetezzaLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { +// AsFileServerLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { return nil, false } -// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. -func (nls NetezzaLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { +// AsHDInsightLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { return nil, false } -// AsDynamicsLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. -func (nls NetezzaLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { return nil, false } -// AsCosmosDbLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. -func (nls NetezzaLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { return nil, false } -// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. -func (nls NetezzaLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { +// AsDynamicsLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { return nil, false } -// AsAzureBatchLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. -func (nls NetezzaLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { +// AsCosmosDbLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { return nil, false } -// AsAzureSQLMILinkedService is the BasicLinkedService implementation for NetezzaLinkedService. -func (nls NetezzaLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { return nil, false } -// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. -func (nls NetezzaLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { +// AsAzureBatchLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { return nil, false } -// AsSQLServerLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. -func (nls NetezzaLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { return nil, false } -// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. -func (nls NetezzaLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { return nil, false } -// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. -func (nls NetezzaLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { +// AsSQLServerLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { return nil, false } -// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. -func (nls NetezzaLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { return nil, false } -// AsAzureStorageLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. -func (nls NetezzaLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { return nil, false } -// AsLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. -func (nls NetezzaLinkedService) AsLinkedService() (*LinkedService, bool) { +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { return nil, false } -// AsBasicLinkedService is the BasicLinkedService implementation for NetezzaLinkedService. -func (nls NetezzaLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { - return &nls, true +// AsAzureStorageLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false } -// UnmarshalJSON is the custom unmarshaler for NetezzaLinkedService struct. -func (nls *NetezzaLinkedService) UnmarshalJSON(body []byte) error { +// AsLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for ODataLinkedService. +func (odls ODataLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &odls, true +} + +// UnmarshalJSON is the custom unmarshaler for ODataLinkedService struct. +func (odls *ODataLinkedService) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -122418,12 +139395,12 @@ func (nls *NetezzaLinkedService) UnmarshalJSON(body []byte) error { switch k { case "typeProperties": if v != nil { - var netezzaLinkedServiceTypeProperties NetezzaLinkedServiceTypeProperties - err = json.Unmarshal(*v, &netezzaLinkedServiceTypeProperties) + var oDataLinkedServiceTypeProperties ODataLinkedServiceTypeProperties + err = json.Unmarshal(*v, &oDataLinkedServiceTypeProperties) if err != nil { return err } - nls.NetezzaLinkedServiceTypeProperties = &netezzaLinkedServiceTypeProperties + odls.ODataLinkedServiceTypeProperties = &oDataLinkedServiceTypeProperties } default: if v != nil { @@ -122432,10 +139409,10 @@ func (nls *NetezzaLinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - if nls.AdditionalProperties == nil { - nls.AdditionalProperties = make(map[string]interface{}) + if odls.AdditionalProperties == nil { + odls.AdditionalProperties = make(map[string]interface{}) } - nls.AdditionalProperties[k] = additionalProperties + odls.AdditionalProperties[k] = additionalProperties } case "connectVia": if v != nil { @@ -122444,7 +139421,7 @@ func (nls *NetezzaLinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - nls.ConnectVia = &connectVia + odls.ConnectVia = &connectVia } case "description": if v != nil { @@ -122453,7 +139430,7 @@ func (nls *NetezzaLinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - nls.Description = &description + odls.Description = &description } case "parameters": if v != nil { @@ -122462,7 +139439,7 @@ func (nls *NetezzaLinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - nls.Parameters = parameters + odls.Parameters = parameters } case "annotations": if v != nil { @@ -122471,7 +139448,7 @@ func (nls *NetezzaLinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - nls.Annotations = &annotations + odls.Annotations = &annotations } case "type": if v != nil { @@ -122480,7 +139457,7 @@ func (nls *NetezzaLinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - nls.Type = typeVar + odls.Type = typeVar } } } @@ -122488,504 +139465,661 @@ func (nls *NetezzaLinkedService) UnmarshalJSON(body []byte) error { return nil } -// NetezzaLinkedServiceTypeProperties netezza linked service properties. -type NetezzaLinkedServiceTypeProperties struct { - // ConnectionString - An ODBC connection string. Type: string, SecureString or AzureKeyVaultSecretReference. - ConnectionString interface{} `json:"connectionString,omitempty"` - // Pwd - The Azure key vault secret reference of password in connection string. - Pwd *AzureKeyVaultSecretReference `json:"pwd,omitempty"` +// ODataLinkedServiceTypeProperties oData linked service properties. +type ODataLinkedServiceTypeProperties struct { + // URL - The URL of the OData service endpoint. Type: string (or Expression with resultType string). + URL interface{} `json:"url,omitempty"` + // AuthenticationType - Type of authentication used to connect to the OData service. Possible values include: 'ODataAuthenticationTypeBasic', 'ODataAuthenticationTypeAnonymous', 'ODataAuthenticationTypeWindows', 'ODataAuthenticationTypeAadServicePrincipal', 'ODataAuthenticationTypeManagedServiceIdentity' + AuthenticationType ODataAuthenticationType `json:"authenticationType,omitempty"` + // UserName - User name of the OData service. Type: string (or Expression with resultType string). + UserName interface{} `json:"userName,omitempty"` + // Password - Password of the OData service. + Password BasicSecretBase `json:"password,omitempty"` + // Tenant - Specify the tenant information (domain name or tenant ID) under which your application resides. Type: string (or Expression with resultType string). + Tenant interface{} `json:"tenant,omitempty"` + // ServicePrincipalID - Specify the application id of your application registered in Azure Active Directory. Type: string (or Expression with resultType string). + ServicePrincipalID interface{} `json:"servicePrincipalId,omitempty"` + // AadResourceID - Specify the resource you are requesting authorization to use Directory. Type: string (or Expression with resultType string). + AadResourceID interface{} `json:"aadResourceId,omitempty"` + // AadServicePrincipalCredentialType - Specify the credential type (key or cert) is used for service principal. Possible values include: 'ServicePrincipalKey', 'ServicePrincipalCert' + AadServicePrincipalCredentialType ODataAadServicePrincipalCredentialType `json:"aadServicePrincipalCredentialType,omitempty"` + // ServicePrincipalKey - Specify the secret of your application registered in Azure Active Directory. Type: string (or Expression with resultType string). + ServicePrincipalKey BasicSecretBase `json:"servicePrincipalKey,omitempty"` + // ServicePrincipalEmbeddedCert - Specify the base64 encoded certificate of your application registered in Azure Active Directory. Type: string (or Expression with resultType string). + ServicePrincipalEmbeddedCert BasicSecretBase `json:"servicePrincipalEmbeddedCert,omitempty"` + // ServicePrincipalEmbeddedCertPassword - Specify the password of your certificate if your certificate has a password and you are using AadServicePrincipal authentication. Type: string (or Expression with resultType string). + ServicePrincipalEmbeddedCertPassword BasicSecretBase `json:"servicePrincipalEmbeddedCertPassword,omitempty"` // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` } -// NetezzaPartitionSettings the settings that will be leveraged for Netezza source partitioning. -type NetezzaPartitionSettings struct { - // PartitionColumnName - The name of the column in integer type that will be used for proceeding range partitioning. Type: string (or Expression with resultType string). - PartitionColumnName interface{} `json:"partitionColumnName,omitempty"` - // PartitionUpperBound - The maximum value of column specified in partitionColumnName that will be used for proceeding range partitioning. Type: string (or Expression with resultType string). - PartitionUpperBound interface{} `json:"partitionUpperBound,omitempty"` - // PartitionLowerBound - The minimum value of column specified in partitionColumnName that will be used for proceeding range partitioning. Type: string (or Expression with resultType string). - PartitionLowerBound interface{} `json:"partitionLowerBound,omitempty"` +// UnmarshalJSON is the custom unmarshaler for ODataLinkedServiceTypeProperties struct. +func (odlstp *ODataLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "url": + if v != nil { + var URL interface{} + err = json.Unmarshal(*v, &URL) + if err != nil { + return err + } + odlstp.URL = URL + } + case "authenticationType": + if v != nil { + var authenticationType ODataAuthenticationType + err = json.Unmarshal(*v, &authenticationType) + if err != nil { + return err + } + odlstp.AuthenticationType = authenticationType + } + case "userName": + if v != nil { + var userName interface{} + err = json.Unmarshal(*v, &userName) + if err != nil { + return err + } + odlstp.UserName = userName + } + case "password": + if v != nil { + password, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + odlstp.Password = password + } + case "tenant": + if v != nil { + var tenant interface{} + err = json.Unmarshal(*v, &tenant) + if err != nil { + return err + } + odlstp.Tenant = tenant + } + case "servicePrincipalId": + if v != nil { + var servicePrincipalID interface{} + err = json.Unmarshal(*v, &servicePrincipalID) + if err != nil { + return err + } + odlstp.ServicePrincipalID = servicePrincipalID + } + case "aadResourceId": + if v != nil { + var aadResourceID interface{} + err = json.Unmarshal(*v, &aadResourceID) + if err != nil { + return err + } + odlstp.AadResourceID = aadResourceID + } + case "aadServicePrincipalCredentialType": + if v != nil { + var aadServicePrincipalCredentialType ODataAadServicePrincipalCredentialType + err = json.Unmarshal(*v, &aadServicePrincipalCredentialType) + if err != nil { + return err + } + odlstp.AadServicePrincipalCredentialType = aadServicePrincipalCredentialType + } + case "servicePrincipalKey": + if v != nil { + servicePrincipalKey, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + odlstp.ServicePrincipalKey = servicePrincipalKey + } + case "servicePrincipalEmbeddedCert": + if v != nil { + servicePrincipalEmbeddedCert, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + odlstp.ServicePrincipalEmbeddedCert = servicePrincipalEmbeddedCert + } + case "servicePrincipalEmbeddedCertPassword": + if v != nil { + servicePrincipalEmbeddedCertPassword, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + odlstp.ServicePrincipalEmbeddedCertPassword = servicePrincipalEmbeddedCertPassword + } + case "encryptedCredential": + if v != nil { + var encryptedCredential interface{} + err = json.Unmarshal(*v, &encryptedCredential) + if err != nil { + return err + } + odlstp.EncryptedCredential = encryptedCredential + } + } + } + + return nil } -// NetezzaSource a copy activity Netezza source. -type NetezzaSource struct { - // Query - A query to retrieve data from source. Type: string (or Expression with resultType string). - Query interface{} `json:"query,omitempty"` - // PartitionOption - The partition mechanism that will be used for Netezza read in parallel. Possible values include: 'NetezzaPartitionOptionNone', 'NetezzaPartitionOptionDataSlice', 'NetezzaPartitionOptionDynamicRange' - PartitionOption NetezzaPartitionOption `json:"partitionOption,omitempty"` - // PartitionSettings - The settings that will be leveraged for Netezza source partitioning. - PartitionSettings *NetezzaPartitionSettings `json:"partitionSettings,omitempty"` +// ODataResourceDataset the Open Data Protocol (OData) resource dataset. +type ODataResourceDataset struct { + // ODataResourceDatasetTypeProperties - OData dataset properties. + *ODataResourceDatasetTypeProperties `json:"typeProperties,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` - // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). - SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` - // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). - SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` - // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). - MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' - Type TypeBasicCopySource `json:"type,omitempty"` + // Description - Dataset description. + Description *string `json:"description,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' + Type TypeBasicDataset `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for NetezzaSource. -func (ns NetezzaSource) MarshalJSON() ([]byte, error) { - ns.Type = TypeNetezzaSource +// MarshalJSON is the custom marshaler for ODataResourceDataset. +func (odrd ODataResourceDataset) MarshalJSON() ([]byte, error) { + odrd.Type = TypeODataResource objectMap := make(map[string]interface{}) - if ns.Query != nil { - objectMap["query"] = ns.Query + if odrd.ODataResourceDatasetTypeProperties != nil { + objectMap["typeProperties"] = odrd.ODataResourceDatasetTypeProperties } - if ns.PartitionOption != "" { - objectMap["partitionOption"] = ns.PartitionOption + if odrd.Description != nil { + objectMap["description"] = odrd.Description } - if ns.PartitionSettings != nil { - objectMap["partitionSettings"] = ns.PartitionSettings + if odrd.Structure != nil { + objectMap["structure"] = odrd.Structure } - if ns.SourceRetryCount != nil { - objectMap["sourceRetryCount"] = ns.SourceRetryCount + if odrd.Schema != nil { + objectMap["schema"] = odrd.Schema } - if ns.SourceRetryWait != nil { - objectMap["sourceRetryWait"] = ns.SourceRetryWait + if odrd.LinkedServiceName != nil { + objectMap["linkedServiceName"] = odrd.LinkedServiceName } - if ns.MaxConcurrentConnections != nil { - objectMap["maxConcurrentConnections"] = ns.MaxConcurrentConnections + if odrd.Parameters != nil { + objectMap["parameters"] = odrd.Parameters } - if ns.Type != "" { - objectMap["type"] = ns.Type + if odrd.Annotations != nil { + objectMap["annotations"] = odrd.Annotations } - for k, v := range ns.AdditionalProperties { + if odrd.Folder != nil { + objectMap["folder"] = odrd.Folder + } + if odrd.Type != "" { + objectMap["type"] = odrd.Type + } + for k, v := range odrd.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsAmazonRedshiftSource is the BasicCopySource implementation for NetezzaSource. -func (ns NetezzaSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { return nil, false } -// AsGoogleAdWordsSource is the BasicCopySource implementation for NetezzaSource. -func (ns NetezzaSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { return nil, false } -// AsOracleServiceCloudSource is the BasicCopySource implementation for NetezzaSource. -func (ns NetezzaSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { return nil, false } -// AsDynamicsAXSource is the BasicCopySource implementation for NetezzaSource. -func (ns NetezzaSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { +// AsDynamicsAXResourceDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { return nil, false } -// AsResponsysSource is the BasicCopySource implementation for NetezzaSource. -func (ns NetezzaSource) AsResponsysSource() (*ResponsysSource, bool) { +// AsResponsysObjectDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { return nil, false } -// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for NetezzaSource. -func (ns NetezzaSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { return nil, false } -// AsVerticaSource is the BasicCopySource implementation for NetezzaSource. -func (ns NetezzaSource) AsVerticaSource() (*VerticaSource, bool) { +// AsVerticaTableDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { return nil, false } -// AsNetezzaSource is the BasicCopySource implementation for NetezzaSource. -func (ns NetezzaSource) AsNetezzaSource() (*NetezzaSource, bool) { - return &ns, true +// AsNetezzaTableDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { + return nil, false } -// AsZohoSource is the BasicCopySource implementation for NetezzaSource. -func (ns NetezzaSource) AsZohoSource() (*ZohoSource, bool) { +// AsZohoObjectDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { return nil, false } -// AsXeroSource is the BasicCopySource implementation for NetezzaSource. -func (ns NetezzaSource) AsXeroSource() (*XeroSource, bool) { +// AsXeroObjectDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { return nil, false } -// AsSquareSource is the BasicCopySource implementation for NetezzaSource. -func (ns NetezzaSource) AsSquareSource() (*SquareSource, bool) { +// AsSquareObjectDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { return nil, false } -// AsSparkSource is the BasicCopySource implementation for NetezzaSource. -func (ns NetezzaSource) AsSparkSource() (*SparkSource, bool) { +// AsSparkObjectDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { return nil, false } -// AsShopifySource is the BasicCopySource implementation for NetezzaSource. -func (ns NetezzaSource) AsShopifySource() (*ShopifySource, bool) { +// AsShopifyObjectDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { return nil, false } -// AsServiceNowSource is the BasicCopySource implementation for NetezzaSource. -func (ns NetezzaSource) AsServiceNowSource() (*ServiceNowSource, bool) { +// AsServiceNowObjectDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { return nil, false } -// AsQuickBooksSource is the BasicCopySource implementation for NetezzaSource. -func (ns NetezzaSource) AsQuickBooksSource() (*QuickBooksSource, bool) { +// AsQuickBooksObjectDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { return nil, false } -// AsPrestoSource is the BasicCopySource implementation for NetezzaSource. -func (ns NetezzaSource) AsPrestoSource() (*PrestoSource, bool) { +// AsPrestoObjectDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { return nil, false } -// AsPhoenixSource is the BasicCopySource implementation for NetezzaSource. -func (ns NetezzaSource) AsPhoenixSource() (*PhoenixSource, bool) { +// AsPhoenixObjectDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { return nil, false } -// AsPaypalSource is the BasicCopySource implementation for NetezzaSource. -func (ns NetezzaSource) AsPaypalSource() (*PaypalSource, bool) { +// AsPaypalObjectDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { return nil, false } -// AsMarketoSource is the BasicCopySource implementation for NetezzaSource. -func (ns NetezzaSource) AsMarketoSource() (*MarketoSource, bool) { +// AsMarketoObjectDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { return nil, false } -// AsAzureMariaDBSource is the BasicCopySource implementation for NetezzaSource. -func (ns NetezzaSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { +// AsAzureMariaDBTableDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { return nil, false } -// AsMariaDBSource is the BasicCopySource implementation for NetezzaSource. -func (ns NetezzaSource) AsMariaDBSource() (*MariaDBSource, bool) { +// AsMariaDBTableDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { return nil, false } -// AsMagentoSource is the BasicCopySource implementation for NetezzaSource. -func (ns NetezzaSource) AsMagentoSource() (*MagentoSource, bool) { +// AsMagentoObjectDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { return nil, false } -// AsJiraSource is the BasicCopySource implementation for NetezzaSource. -func (ns NetezzaSource) AsJiraSource() (*JiraSource, bool) { +// AsJiraObjectDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { return nil, false } -// AsImpalaSource is the BasicCopySource implementation for NetezzaSource. -func (ns NetezzaSource) AsImpalaSource() (*ImpalaSource, bool) { +// AsImpalaObjectDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { return nil, false } -// AsHubspotSource is the BasicCopySource implementation for NetezzaSource. -func (ns NetezzaSource) AsHubspotSource() (*HubspotSource, bool) { +// AsHubspotObjectDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { return nil, false } -// AsHiveSource is the BasicCopySource implementation for NetezzaSource. -func (ns NetezzaSource) AsHiveSource() (*HiveSource, bool) { +// AsHiveObjectDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { return nil, false } -// AsHBaseSource is the BasicCopySource implementation for NetezzaSource. -func (ns NetezzaSource) AsHBaseSource() (*HBaseSource, bool) { +// AsHBaseObjectDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { return nil, false } -// AsGreenplumSource is the BasicCopySource implementation for NetezzaSource. -func (ns NetezzaSource) AsGreenplumSource() (*GreenplumSource, bool) { +// AsGreenplumTableDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { return nil, false } -// AsGoogleBigQuerySource is the BasicCopySource implementation for NetezzaSource. -func (ns NetezzaSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { return nil, false } -// AsEloquaSource is the BasicCopySource implementation for NetezzaSource. -func (ns NetezzaSource) AsEloquaSource() (*EloquaSource, bool) { +// AsEloquaObjectDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { return nil, false } -// AsDrillSource is the BasicCopySource implementation for NetezzaSource. -func (ns NetezzaSource) AsDrillSource() (*DrillSource, bool) { +// AsDrillTableDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { return nil, false } -// AsCouchbaseSource is the BasicCopySource implementation for NetezzaSource. -func (ns NetezzaSource) AsCouchbaseSource() (*CouchbaseSource, bool) { +// AsCouchbaseTableDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { return nil, false } -// AsConcurSource is the BasicCopySource implementation for NetezzaSource. -func (ns NetezzaSource) AsConcurSource() (*ConcurSource, bool) { +// AsConcurObjectDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { return nil, false } -// AsAzurePostgreSQLSource is the BasicCopySource implementation for NetezzaSource. -func (ns NetezzaSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { return nil, false } -// AsAmazonMWSSource is the BasicCopySource implementation for NetezzaSource. -func (ns NetezzaSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { +// AsAmazonMWSObjectDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { return nil, false } -// AsHTTPSource is the BasicCopySource implementation for NetezzaSource. -func (ns NetezzaSource) AsHTTPSource() (*HTTPSource, bool) { +// AsHTTPDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsHTTPDataset() (*HTTPDataset, bool) { return nil, false } -// AsAzureBlobFSSource is the BasicCopySource implementation for NetezzaSource. -func (ns NetezzaSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { +// AsAzureSearchIndexDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { return nil, false } -// AsAzureDataLakeStoreSource is the BasicCopySource implementation for NetezzaSource. -func (ns NetezzaSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { +// AsWebTableDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsWebTableDataset() (*WebTableDataset, bool) { return nil, false } -// AsOffice365Source is the BasicCopySource implementation for NetezzaSource. -func (ns NetezzaSource) AsOffice365Source() (*Office365Source, bool) { +// AsSapTableResourceDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { return nil, false } -// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for NetezzaSource. -func (ns NetezzaSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { +// AsRestResourceDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { return nil, false } -// AsMongoDbV2Source is the BasicCopySource implementation for NetezzaSource. -func (ns NetezzaSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { +// AsSQLServerTableDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { return nil, false } -// AsMongoDbSource is the BasicCopySource implementation for NetezzaSource. -func (ns NetezzaSource) AsMongoDbSource() (*MongoDbSource, bool) { +// AsSapOpenHubTableDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { return nil, false } -// AsCassandraSource is the BasicCopySource implementation for NetezzaSource. -func (ns NetezzaSource) AsCassandraSource() (*CassandraSource, bool) { +// AsSapHanaTableDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { return nil, false } -// AsWebSource is the BasicCopySource implementation for NetezzaSource. -func (ns NetezzaSource) AsWebSource() (*WebSource, bool) { +// AsSapEccResourceDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { return nil, false } -// AsTeradataSource is the BasicCopySource implementation for NetezzaSource. -func (ns NetezzaSource) AsTeradataSource() (*TeradataSource, bool) { +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { return nil, false } -// AsOracleSource is the BasicCopySource implementation for NetezzaSource. -func (ns NetezzaSource) AsOracleSource() (*OracleSource, bool) { +// AsSapBwCubeDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { return nil, false } -// AsAzureDataExplorerSource is the BasicCopySource implementation for NetezzaSource. -func (ns NetezzaSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { +// AsSybaseTableDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { return nil, false } -// AsAzureMySQLSource is the BasicCopySource implementation for NetezzaSource. -func (ns NetezzaSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { return nil, false } -// AsHdfsSource is the BasicCopySource implementation for NetezzaSource. -func (ns NetezzaSource) AsHdfsSource() (*HdfsSource, bool) { +// AsSalesforceObjectDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { return nil, false } -// AsFileSystemSource is the BasicCopySource implementation for NetezzaSource. -func (ns NetezzaSource) AsFileSystemSource() (*FileSystemSource, bool) { +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { return nil, false } -// AsSQLDWSource is the BasicCopySource implementation for NetezzaSource. -func (ns NetezzaSource) AsSQLDWSource() (*SQLDWSource, bool) { +// AsPostgreSQLTableDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { return nil, false } -// AsSQLMISource is the BasicCopySource implementation for NetezzaSource. -func (ns NetezzaSource) AsSQLMISource() (*SQLMISource, bool) { +// AsMySQLTableDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { return nil, false } -// AsAzureSQLSource is the BasicCopySource implementation for NetezzaSource. -func (ns NetezzaSource) AsAzureSQLSource() (*AzureSQLSource, bool) { +// AsOdbcTableDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { return nil, false } -// AsSQLServerSource is the BasicCopySource implementation for NetezzaSource. -func (ns NetezzaSource) AsSQLServerSource() (*SQLServerSource, bool) { +// AsInformixTableDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { return nil, false } -// AsSQLSource is the BasicCopySource implementation for NetezzaSource. -func (ns NetezzaSource) AsSQLSource() (*SQLSource, bool) { +// AsRelationalTableDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { return nil, false } -// AsRestSource is the BasicCopySource implementation for NetezzaSource. -func (ns NetezzaSource) AsRestSource() (*RestSource, bool) { +// AsDb2TableDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { return nil, false } -// AsSapTableSource is the BasicCopySource implementation for NetezzaSource. -func (ns NetezzaSource) AsSapTableSource() (*SapTableSource, bool) { +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { return nil, false } -// AsSapOpenHubSource is the BasicCopySource implementation for NetezzaSource. -func (ns NetezzaSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { +// AsAzureMySQLTableDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { return nil, false } -// AsSapHanaSource is the BasicCopySource implementation for NetezzaSource. -func (ns NetezzaSource) AsSapHanaSource() (*SapHanaSource, bool) { +// AsTeradataTableDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { return nil, false } -// AsSapEccSource is the BasicCopySource implementation for NetezzaSource. -func (ns NetezzaSource) AsSapEccSource() (*SapEccSource, bool) { +// AsOracleTableDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { return nil, false } -// AsSapCloudForCustomerSource is the BasicCopySource implementation for NetezzaSource. -func (ns NetezzaSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { +// AsODataResourceDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { + return &odrd, true +} + +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { return nil, false } -// AsSalesforceServiceCloudSource is the BasicCopySource implementation for NetezzaSource. -func (ns NetezzaSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { return nil, false } -// AsSalesforceSource is the BasicCopySource implementation for NetezzaSource. -func (ns NetezzaSource) AsSalesforceSource() (*SalesforceSource, bool) { +// AsMongoDbCollectionDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { return nil, false } -// AsODataSource is the BasicCopySource implementation for NetezzaSource. -func (ns NetezzaSource) AsODataSource() (*ODataSource, bool) { +// AsFileShareDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsFileShareDataset() (*FileShareDataset, bool) { return nil, false } -// AsSapBwSource is the BasicCopySource implementation for NetezzaSource. -func (ns NetezzaSource) AsSapBwSource() (*SapBwSource, bool) { +// AsOffice365Dataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsOffice365Dataset() (*Office365Dataset, bool) { return nil, false } -// AsSybaseSource is the BasicCopySource implementation for NetezzaSource. -func (ns NetezzaSource) AsSybaseSource() (*SybaseSource, bool) { +// AsAzureBlobFSDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) { return nil, false } -// AsPostgreSQLSource is the BasicCopySource implementation for NetezzaSource. -func (ns NetezzaSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { +// AsAzureDataLakeStoreDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { + return nil, false +} + +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { + return nil, false +} + +// AsDynamicsEntityDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { return nil, false } -// AsMySQLSource is the BasicCopySource implementation for NetezzaSource. -func (ns NetezzaSource) AsMySQLSource() (*MySQLSource, bool) { +// AsDocumentDbCollectionDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { return nil, false } -// AsOdbcSource is the BasicCopySource implementation for NetezzaSource. -func (ns NetezzaSource) AsOdbcSource() (*OdbcSource, bool) { +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { return nil, false } -// AsDb2Source is the BasicCopySource implementation for NetezzaSource. -func (ns NetezzaSource) AsDb2Source() (*Db2Source, bool) { +// AsCustomDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsCustomDataset() (*CustomDataset, bool) { return nil, false } -// AsMicrosoftAccessSource is the BasicCopySource implementation for NetezzaSource. -func (ns NetezzaSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { +// AsCassandraTableDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { return nil, false } -// AsInformixSource is the BasicCopySource implementation for NetezzaSource. -func (ns NetezzaSource) AsInformixSource() (*InformixSource, bool) { +// AsAzureSQLDWTableDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { return nil, false } -// AsRelationalSource is the BasicCopySource implementation for NetezzaSource. -func (ns NetezzaSource) AsRelationalSource() (*RelationalSource, bool) { +// AsAzureSQLMITableDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { return nil, false } -// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for NetezzaSource. -func (ns NetezzaSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { +// AsAzureSQLTableDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { return nil, false } -// AsDynamicsCrmSource is the BasicCopySource implementation for NetezzaSource. -func (ns NetezzaSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { +// AsAzureTableDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { return nil, false } -// AsDynamicsSource is the BasicCopySource implementation for NetezzaSource. -func (ns NetezzaSource) AsDynamicsSource() (*DynamicsSource, bool) { +// AsAzureBlobDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) { return nil, false } -// AsDocumentDbCollectionSource is the BasicCopySource implementation for NetezzaSource. -func (ns NetezzaSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { +// AsBinaryDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsBinaryDataset() (*BinaryDataset, bool) { return nil, false } -// AsBlobSource is the BasicCopySource implementation for NetezzaSource. -func (ns NetezzaSource) AsBlobSource() (*BlobSource, bool) { +// AsOrcDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsOrcDataset() (*OrcDataset, bool) { return nil, false } -// AsAzureTableSource is the BasicCopySource implementation for NetezzaSource. -func (ns NetezzaSource) AsAzureTableSource() (*AzureTableSource, bool) { +// AsJSONDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsJSONDataset() (*JSONDataset, bool) { return nil, false } -// AsBinarySource is the BasicCopySource implementation for NetezzaSource. -func (ns NetezzaSource) AsBinarySource() (*BinarySource, bool) { +// AsDelimitedTextDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { return nil, false } -// AsDelimitedTextSource is the BasicCopySource implementation for NetezzaSource. -func (ns NetezzaSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { +// AsParquetDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsParquetDataset() (*ParquetDataset, bool) { return nil, false } -// AsParquetSource is the BasicCopySource implementation for NetezzaSource. -func (ns NetezzaSource) AsParquetSource() (*ParquetSource, bool) { +// AsAvroDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsAvroDataset() (*AvroDataset, bool) { return nil, false } -// AsAvroSource is the BasicCopySource implementation for NetezzaSource. -func (ns NetezzaSource) AsAvroSource() (*AvroSource, bool) { +// AsAmazonS3Dataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) { return nil, false } -// AsCopySource is the BasicCopySource implementation for NetezzaSource. -func (ns NetezzaSource) AsCopySource() (*CopySource, bool) { +// AsDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsDataset() (*Dataset, bool) { return nil, false } -// AsBasicCopySource is the BasicCopySource implementation for NetezzaSource. -func (ns NetezzaSource) AsBasicCopySource() (BasicCopySource, bool) { - return &ns, true +// AsBasicDataset is the BasicDataset implementation for ODataResourceDataset. +func (odrd ODataResourceDataset) AsBasicDataset() (BasicDataset, bool) { + return &odrd, true } -// UnmarshalJSON is the custom unmarshaler for NetezzaSource struct. -func (ns *NetezzaSource) UnmarshalJSON(body []byte) error { +// UnmarshalJSON is the custom unmarshaler for ODataResourceDataset struct. +func (odrd *ODataResourceDataset) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -122993,80 +140127,98 @@ func (ns *NetezzaSource) UnmarshalJSON(body []byte) error { } for k, v := range m { switch k { - case "query": + case "typeProperties": if v != nil { - var query interface{} - err = json.Unmarshal(*v, &query) + var oDataResourceDatasetTypeProperties ODataResourceDatasetTypeProperties + err = json.Unmarshal(*v, &oDataResourceDatasetTypeProperties) if err != nil { return err } - ns.Query = query + odrd.ODataResourceDatasetTypeProperties = &oDataResourceDatasetTypeProperties } - case "partitionOption": + default: if v != nil { - var partitionOption NetezzaPartitionOption - err = json.Unmarshal(*v, &partitionOption) + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) if err != nil { return err } - ns.PartitionOption = partitionOption + if odrd.AdditionalProperties == nil { + odrd.AdditionalProperties = make(map[string]interface{}) + } + odrd.AdditionalProperties[k] = additionalProperties } - case "partitionSettings": + case "description": if v != nil { - var partitionSettings NetezzaPartitionSettings - err = json.Unmarshal(*v, &partitionSettings) + var description string + err = json.Unmarshal(*v, &description) if err != nil { return err } - ns.PartitionSettings = &partitionSettings + odrd.Description = &description } - default: + case "structure": if v != nil { - var additionalProperties interface{} - err = json.Unmarshal(*v, &additionalProperties) + var structure interface{} + err = json.Unmarshal(*v, &structure) if err != nil { return err } - if ns.AdditionalProperties == nil { - ns.AdditionalProperties = make(map[string]interface{}) + odrd.Structure = structure + } + case "schema": + if v != nil { + var schema interface{} + err = json.Unmarshal(*v, &schema) + if err != nil { + return err } - ns.AdditionalProperties[k] = additionalProperties + odrd.Schema = schema } - case "sourceRetryCount": + case "linkedServiceName": if v != nil { - var sourceRetryCount interface{} - err = json.Unmarshal(*v, &sourceRetryCount) + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) if err != nil { return err } - ns.SourceRetryCount = sourceRetryCount + odrd.LinkedServiceName = &linkedServiceName } - case "sourceRetryWait": + case "parameters": if v != nil { - var sourceRetryWait interface{} - err = json.Unmarshal(*v, &sourceRetryWait) + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) if err != nil { return err } - ns.SourceRetryWait = sourceRetryWait + odrd.Parameters = parameters } - case "maxConcurrentConnections": + case "annotations": if v != nil { - var maxConcurrentConnections interface{} - err = json.Unmarshal(*v, &maxConcurrentConnections) + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) if err != nil { return err } - ns.MaxConcurrentConnections = maxConcurrentConnections + odrd.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + odrd.Folder = &folder } case "type": if v != nil { - var typeVar TypeBasicCopySource + var typeVar TypeBasicDataset err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - ns.Type = typeVar + odrd.Type = typeVar } } } @@ -123074,489 +140226,505 @@ func (ns *NetezzaSource) UnmarshalJSON(body []byte) error { return nil } -// NetezzaTableDataset netezza dataset. -type NetezzaTableDataset struct { - // GenericDatasetTypeProperties - Properties specific to this dataset type. - *GenericDatasetTypeProperties `json:"typeProperties,omitempty"` +// ODataResourceDatasetTypeProperties oData dataset properties. +type ODataResourceDatasetTypeProperties struct { + // Path - The OData resource path. Type: string (or Expression with resultType string). + Path interface{} `json:"path,omitempty"` +} + +// ODataSource a copy activity source for OData source. +type ODataSource struct { + // Query - OData query. For example, "$top=1". Type: string (or Expression with resultType string). + Query interface{} `json:"query,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` - // Description - Dataset description. - Description *string `json:"description,omitempty"` - // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. - Structure interface{} `json:"structure,omitempty"` - // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. - Schema interface{} `json:"schema,omitempty"` - // LinkedServiceName - Linked service reference. - LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` - // Parameters - Parameters for dataset. - Parameters map[string]*ParameterSpecification `json:"parameters"` - // Annotations - List of tags that can be used for describing the Dataset. - Annotations *[]interface{} `json:"annotations,omitempty"` - // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. - Folder *DatasetFolder `json:"folder,omitempty"` - // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' - Type TypeBasicDataset `json:"type,omitempty"` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' + Type TypeBasicCopySource `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for NetezzaTableDataset. -func (ntd NetezzaTableDataset) MarshalJSON() ([]byte, error) { - ntd.Type = TypeNetezzaTable +// MarshalJSON is the custom marshaler for ODataSource. +func (ods ODataSource) MarshalJSON() ([]byte, error) { + ods.Type = TypeODataSource objectMap := make(map[string]interface{}) - if ntd.GenericDatasetTypeProperties != nil { - objectMap["typeProperties"] = ntd.GenericDatasetTypeProperties - } - if ntd.Description != nil { - objectMap["description"] = ntd.Description - } - if ntd.Structure != nil { - objectMap["structure"] = ntd.Structure - } - if ntd.Schema != nil { - objectMap["schema"] = ntd.Schema - } - if ntd.LinkedServiceName != nil { - objectMap["linkedServiceName"] = ntd.LinkedServiceName + if ods.Query != nil { + objectMap["query"] = ods.Query } - if ntd.Parameters != nil { - objectMap["parameters"] = ntd.Parameters + if ods.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = ods.SourceRetryCount } - if ntd.Annotations != nil { - objectMap["annotations"] = ntd.Annotations + if ods.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = ods.SourceRetryWait } - if ntd.Folder != nil { - objectMap["folder"] = ntd.Folder + if ods.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = ods.MaxConcurrentConnections } - if ntd.Type != "" { - objectMap["type"] = ntd.Type + if ods.Type != "" { + objectMap["type"] = ods.Type } - for k, v := range ntd.AdditionalProperties { + for k, v := range ods.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for NetezzaTableDataset. -func (ntd NetezzaTableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { +// AsHTTPSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsHTTPSource() (*HTTPSource, bool) { return nil, false } -// AsAzureDataExplorerTableDataset is the BasicDataset implementation for NetezzaTableDataset. -func (ntd NetezzaTableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { +// AsAzureBlobFSSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { return nil, false } -// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for NetezzaTableDataset. -func (ntd NetezzaTableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { return nil, false } -// AsDynamicsAXResourceDataset is the BasicDataset implementation for NetezzaTableDataset. -func (ntd NetezzaTableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { +// AsOffice365Source is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsOffice365Source() (*Office365Source, bool) { return nil, false } -// AsResponsysObjectDataset is the BasicDataset implementation for NetezzaTableDataset. -func (ntd NetezzaTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { return nil, false } -// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for NetezzaTableDataset. -func (ntd NetezzaTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { +// AsMongoDbV2Source is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { return nil, false } -// AsVerticaTableDataset is the BasicDataset implementation for NetezzaTableDataset. -func (ntd NetezzaTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { +// AsMongoDbSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsMongoDbSource() (*MongoDbSource, bool) { return nil, false } -// AsNetezzaTableDataset is the BasicDataset implementation for NetezzaTableDataset. -func (ntd NetezzaTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { - return &ntd, true +// AsWebSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsWebSource() (*WebSource, bool) { + return nil, false } -// AsZohoObjectDataset is the BasicDataset implementation for NetezzaTableDataset. -func (ntd NetezzaTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { +// AsOracleSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsOracleSource() (*OracleSource, bool) { return nil, false } -// AsXeroObjectDataset is the BasicDataset implementation for NetezzaTableDataset. -func (ntd NetezzaTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { +// AsAzureDataExplorerSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { return nil, false } -// AsSquareObjectDataset is the BasicDataset implementation for NetezzaTableDataset. -func (ntd NetezzaTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { +// AsHdfsSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsHdfsSource() (*HdfsSource, bool) { return nil, false } -// AsSparkObjectDataset is the BasicDataset implementation for NetezzaTableDataset. -func (ntd NetezzaTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { +// AsFileSystemSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsFileSystemSource() (*FileSystemSource, bool) { return nil, false } -// AsShopifyObjectDataset is the BasicDataset implementation for NetezzaTableDataset. -func (ntd NetezzaTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { +// AsRestSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsRestSource() (*RestSource, bool) { return nil, false } -// AsServiceNowObjectDataset is the BasicDataset implementation for NetezzaTableDataset. -func (ntd NetezzaTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { return nil, false } -// AsQuickBooksObjectDataset is the BasicDataset implementation for NetezzaTableDataset. -func (ntd NetezzaTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { +// AsODataSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsODataSource() (*ODataSource, bool) { + return &ods, true +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { return nil, false } -// AsPrestoObjectDataset is the BasicDataset implementation for NetezzaTableDataset. -func (ntd NetezzaTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { +// AsRelationalSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsRelationalSource() (*RelationalSource, bool) { return nil, false } -// AsPhoenixObjectDataset is the BasicDataset implementation for NetezzaTableDataset. -func (ntd NetezzaTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { return nil, false } -// AsPaypalObjectDataset is the BasicDataset implementation for NetezzaTableDataset. -func (ntd NetezzaTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { +// AsDynamicsCrmSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { return nil, false } -// AsMarketoObjectDataset is the BasicDataset implementation for NetezzaTableDataset. -func (ntd NetezzaTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { +// AsDynamicsSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsDynamicsSource() (*DynamicsSource, bool) { return nil, false } -// AsAzureMariaDBTableDataset is the BasicDataset implementation for NetezzaTableDataset. -func (ntd NetezzaTableDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { return nil, false } -// AsMariaDBTableDataset is the BasicDataset implementation for NetezzaTableDataset. -func (ntd NetezzaTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { +// AsDocumentDbCollectionSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { return nil, false } -// AsMagentoObjectDataset is the BasicDataset implementation for NetezzaTableDataset. -func (ntd NetezzaTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { +// AsBlobSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsBlobSource() (*BlobSource, bool) { return nil, false } -// AsJiraObjectDataset is the BasicDataset implementation for NetezzaTableDataset. -func (ntd NetezzaTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { +// AsAmazonRedshiftSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { return nil, false } -// AsImpalaObjectDataset is the BasicDataset implementation for NetezzaTableDataset. -func (ntd NetezzaTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { +// AsGoogleAdWordsSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { return nil, false } -// AsHubspotObjectDataset is the BasicDataset implementation for NetezzaTableDataset. -func (ntd NetezzaTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { +// AsOracleServiceCloudSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { return nil, false } -// AsHiveObjectDataset is the BasicDataset implementation for NetezzaTableDataset. -func (ntd NetezzaTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { +// AsDynamicsAXSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { return nil, false } -// AsHBaseObjectDataset is the BasicDataset implementation for NetezzaTableDataset. -func (ntd NetezzaTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { +// AsResponsysSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsResponsysSource() (*ResponsysSource, bool) { return nil, false } -// AsGreenplumTableDataset is the BasicDataset implementation for NetezzaTableDataset. -func (ntd NetezzaTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { return nil, false } -// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for NetezzaTableDataset. -func (ntd NetezzaTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { +// AsVerticaSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsVerticaSource() (*VerticaSource, bool) { return nil, false } -// AsEloquaObjectDataset is the BasicDataset implementation for NetezzaTableDataset. -func (ntd NetezzaTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { +// AsNetezzaSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsNetezzaSource() (*NetezzaSource, bool) { return nil, false } -// AsDrillTableDataset is the BasicDataset implementation for NetezzaTableDataset. -func (ntd NetezzaTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { +// AsZohoSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsZohoSource() (*ZohoSource, bool) { return nil, false } -// AsCouchbaseTableDataset is the BasicDataset implementation for NetezzaTableDataset. -func (ntd NetezzaTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { +// AsXeroSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsXeroSource() (*XeroSource, bool) { return nil, false } -// AsConcurObjectDataset is the BasicDataset implementation for NetezzaTableDataset. -func (ntd NetezzaTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { +// AsSquareSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsSquareSource() (*SquareSource, bool) { return nil, false } -// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for NetezzaTableDataset. -func (ntd NetezzaTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { +// AsSparkSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsSparkSource() (*SparkSource, bool) { return nil, false } -// AsAmazonMWSObjectDataset is the BasicDataset implementation for NetezzaTableDataset. -func (ntd NetezzaTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { +// AsShopifySource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsShopifySource() (*ShopifySource, bool) { return nil, false } -// AsHTTPDataset is the BasicDataset implementation for NetezzaTableDataset. -func (ntd NetezzaTableDataset) AsHTTPDataset() (*HTTPDataset, bool) { +// AsServiceNowSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsServiceNowSource() (*ServiceNowSource, bool) { return nil, false } -// AsAzureSearchIndexDataset is the BasicDataset implementation for NetezzaTableDataset. -func (ntd NetezzaTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { +// AsQuickBooksSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsQuickBooksSource() (*QuickBooksSource, bool) { return nil, false } -// AsWebTableDataset is the BasicDataset implementation for NetezzaTableDataset. -func (ntd NetezzaTableDataset) AsWebTableDataset() (*WebTableDataset, bool) { +// AsPrestoSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsPrestoSource() (*PrestoSource, bool) { return nil, false } -// AsSapTableResourceDataset is the BasicDataset implementation for NetezzaTableDataset. -func (ntd NetezzaTableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { +// AsPhoenixSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsPhoenixSource() (*PhoenixSource, bool) { return nil, false } -// AsRestResourceDataset is the BasicDataset implementation for NetezzaTableDataset. -func (ntd NetezzaTableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { +// AsPaypalSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsPaypalSource() (*PaypalSource, bool) { return nil, false } -// AsSQLServerTableDataset is the BasicDataset implementation for NetezzaTableDataset. -func (ntd NetezzaTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { +// AsMarketoSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsMarketoSource() (*MarketoSource, bool) { return nil, false } -// AsSapOpenHubTableDataset is the BasicDataset implementation for NetezzaTableDataset. -func (ntd NetezzaTableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { +// AsAzureMariaDBSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { return nil, false } -// AsSapHanaTableDataset is the BasicDataset implementation for NetezzaTableDataset. -func (ntd NetezzaTableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { +// AsMariaDBSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsMariaDBSource() (*MariaDBSource, bool) { return nil, false } -// AsSapEccResourceDataset is the BasicDataset implementation for NetezzaTableDataset. -func (ntd NetezzaTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { +// AsMagentoSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsMagentoSource() (*MagentoSource, bool) { return nil, false } -// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for NetezzaTableDataset. -func (ntd NetezzaTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { +// AsJiraSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsJiraSource() (*JiraSource, bool) { return nil, false } -// AsSapBwCubeDataset is the BasicDataset implementation for NetezzaTableDataset. -func (ntd NetezzaTableDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { +// AsImpalaSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsImpalaSource() (*ImpalaSource, bool) { return nil, false } -// AsSybaseTableDataset is the BasicDataset implementation for NetezzaTableDataset. -func (ntd NetezzaTableDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { +// AsHubspotSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsHubspotSource() (*HubspotSource, bool) { return nil, false } -// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for NetezzaTableDataset. -func (ntd NetezzaTableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { +// AsHiveSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsHiveSource() (*HiveSource, bool) { return nil, false } -// AsSalesforceObjectDataset is the BasicDataset implementation for NetezzaTableDataset. -func (ntd NetezzaTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { +// AsHBaseSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsHBaseSource() (*HBaseSource, bool) { return nil, false } -// AsMicrosoftAccessTableDataset is the BasicDataset implementation for NetezzaTableDataset. -func (ntd NetezzaTableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { +// AsGreenplumSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsGreenplumSource() (*GreenplumSource, bool) { return nil, false } -// AsPostgreSQLTableDataset is the BasicDataset implementation for NetezzaTableDataset. -func (ntd NetezzaTableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { +// AsGoogleBigQuerySource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { return nil, false } -// AsMySQLTableDataset is the BasicDataset implementation for NetezzaTableDataset. -func (ntd NetezzaTableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { +// AsEloquaSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsEloquaSource() (*EloquaSource, bool) { return nil, false } -// AsOdbcTableDataset is the BasicDataset implementation for NetezzaTableDataset. -func (ntd NetezzaTableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { +// AsDrillSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsDrillSource() (*DrillSource, bool) { return nil, false } -// AsInformixTableDataset is the BasicDataset implementation for NetezzaTableDataset. -func (ntd NetezzaTableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { +// AsCouchbaseSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsCouchbaseSource() (*CouchbaseSource, bool) { return nil, false } -// AsRelationalTableDataset is the BasicDataset implementation for NetezzaTableDataset. -func (ntd NetezzaTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { +// AsConcurSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsConcurSource() (*ConcurSource, bool) { return nil, false } -// AsAzureMySQLTableDataset is the BasicDataset implementation for NetezzaTableDataset. -func (ntd NetezzaTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { +// AsAzurePostgreSQLSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { return nil, false } -// AsTeradataTableDataset is the BasicDataset implementation for NetezzaTableDataset. -func (ntd NetezzaTableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { +// AsAmazonMWSSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { return nil, false } -// AsOracleTableDataset is the BasicDataset implementation for NetezzaTableDataset. -func (ntd NetezzaTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { +// AsCassandraSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsCassandraSource() (*CassandraSource, bool) { return nil, false } -// AsODataResourceDataset is the BasicDataset implementation for NetezzaTableDataset. -func (ntd NetezzaTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { +// AsTeradataSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsTeradataSource() (*TeradataSource, bool) { return nil, false } -// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for NetezzaTableDataset. -func (ntd NetezzaTableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { +// AsAzureMySQLSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { return nil, false } -// AsMongoDbV2CollectionDataset is the BasicDataset implementation for NetezzaTableDataset. -func (ntd NetezzaTableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { +// AsSQLDWSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsSQLDWSource() (*SQLDWSource, bool) { return nil, false } -// AsMongoDbCollectionDataset is the BasicDataset implementation for NetezzaTableDataset. -func (ntd NetezzaTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { +// AsSQLMISource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsSQLMISource() (*SQLMISource, bool) { return nil, false } -// AsFileShareDataset is the BasicDataset implementation for NetezzaTableDataset. -func (ntd NetezzaTableDataset) AsFileShareDataset() (*FileShareDataset, bool) { +// AsAzureSQLSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsAzureSQLSource() (*AzureSQLSource, bool) { return nil, false } -// AsOffice365Dataset is the BasicDataset implementation for NetezzaTableDataset. -func (ntd NetezzaTableDataset) AsOffice365Dataset() (*Office365Dataset, bool) { +// AsSQLServerSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsSQLServerSource() (*SQLServerSource, bool) { return nil, false } -// AsAzureBlobFSDataset is the BasicDataset implementation for NetezzaTableDataset. -func (ntd NetezzaTableDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) { +// AsSQLSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsSQLSource() (*SQLSource, bool) { return nil, false } -// AsAzureDataLakeStoreDataset is the BasicDataset implementation for NetezzaTableDataset. -func (ntd NetezzaTableDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) { +// AsSapTableSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsSapTableSource() (*SapTableSource, bool) { return nil, false } -// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for NetezzaTableDataset. -func (ntd NetezzaTableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { +// AsSapOpenHubSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { return nil, false } -// AsDynamicsCrmEntityDataset is the BasicDataset implementation for NetezzaTableDataset. -func (ntd NetezzaTableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { +// AsSapHanaSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsSapHanaSource() (*SapHanaSource, bool) { return nil, false } -// AsDynamicsEntityDataset is the BasicDataset implementation for NetezzaTableDataset. -func (ntd NetezzaTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { +// AsSapEccSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsSapEccSource() (*SapEccSource, bool) { return nil, false } -// AsDocumentDbCollectionDataset is the BasicDataset implementation for NetezzaTableDataset. -func (ntd NetezzaTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { +// AsSapCloudForCustomerSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { return nil, false } -// AsCustomDataset is the BasicDataset implementation for NetezzaTableDataset. -func (ntd NetezzaTableDataset) AsCustomDataset() (*CustomDataset, bool) { +// AsSalesforceSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsSalesforceSource() (*SalesforceSource, bool) { return nil, false } -// AsCassandraTableDataset is the BasicDataset implementation for NetezzaTableDataset. -func (ntd NetezzaTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { +// AsSapBwSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsSapBwSource() (*SapBwSource, bool) { return nil, false } -// AsAzureSQLDWTableDataset is the BasicDataset implementation for NetezzaTableDataset. -func (ntd NetezzaTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { +// AsSybaseSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsSybaseSource() (*SybaseSource, bool) { return nil, false } -// AsAzureSQLMITableDataset is the BasicDataset implementation for NetezzaTableDataset. -func (ntd NetezzaTableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { +// AsPostgreSQLSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { return nil, false } -// AsAzureSQLTableDataset is the BasicDataset implementation for NetezzaTableDataset. -func (ntd NetezzaTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { +// AsMySQLSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsMySQLSource() (*MySQLSource, bool) { return nil, false } -// AsAzureTableDataset is the BasicDataset implementation for NetezzaTableDataset. -func (ntd NetezzaTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { +// AsOdbcSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsOdbcSource() (*OdbcSource, bool) { return nil, false } -// AsAzureBlobDataset is the BasicDataset implementation for NetezzaTableDataset. -func (ntd NetezzaTableDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) { +// AsDb2Source is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsDb2Source() (*Db2Source, bool) { return nil, false } -// AsBinaryDataset is the BasicDataset implementation for NetezzaTableDataset. -func (ntd NetezzaTableDataset) AsBinaryDataset() (*BinaryDataset, bool) { +// AsInformixSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsInformixSource() (*InformixSource, bool) { return nil, false } -// AsDelimitedTextDataset is the BasicDataset implementation for NetezzaTableDataset. -func (ntd NetezzaTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { +// AsAzureTableSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsAzureTableSource() (*AzureTableSource, bool) { return nil, false } -// AsParquetDataset is the BasicDataset implementation for NetezzaTableDataset. -func (ntd NetezzaTableDataset) AsParquetDataset() (*ParquetDataset, bool) { +// AsTabularSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsTabularSource() (*TabularSource, bool) { return nil, false } -// AsAvroDataset is the BasicDataset implementation for NetezzaTableDataset. -func (ntd NetezzaTableDataset) AsAvroDataset() (*AvroDataset, bool) { +// AsBasicTabularSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsBasicTabularSource() (BasicTabularSource, bool) { return nil, false } -// AsAmazonS3Dataset is the BasicDataset implementation for NetezzaTableDataset. -func (ntd NetezzaTableDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) { +// AsBinarySource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsBinarySource() (*BinarySource, bool) { return nil, false } -// AsDataset is the BasicDataset implementation for NetezzaTableDataset. -func (ntd NetezzaTableDataset) AsDataset() (*Dataset, bool) { +// AsOrcSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsOrcSource() (*OrcSource, bool) { return nil, false } -// AsBasicDataset is the BasicDataset implementation for NetezzaTableDataset. -func (ntd NetezzaTableDataset) AsBasicDataset() (BasicDataset, bool) { - return &ntd, true +// AsJSONSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsJSONSource() (*JSONSource, bool) { + return nil, false } -// UnmarshalJSON is the custom unmarshaler for NetezzaTableDataset struct. -func (ntd *NetezzaTableDataset) UnmarshalJSON(body []byte) error { +// AsDelimitedTextSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false +} + +// AsParquetSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for ODataSource. +func (ods ODataSource) AsBasicCopySource() (BasicCopySource, bool) { + return &ods, true +} + +// UnmarshalJSON is the custom unmarshaler for ODataSource struct. +func (ods *ODataSource) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -123564,14 +140732,14 @@ func (ntd *NetezzaTableDataset) UnmarshalJSON(body []byte) error { } for k, v := range m { switch k { - case "typeProperties": + case "query": if v != nil { - var genericDatasetTypeProperties GenericDatasetTypeProperties - err = json.Unmarshal(*v, &genericDatasetTypeProperties) + var query interface{} + err = json.Unmarshal(*v, &query) if err != nil { return err } - ntd.GenericDatasetTypeProperties = &genericDatasetTypeProperties + ods.Query = query } default: if v != nil { @@ -123580,82 +140748,46 @@ func (ntd *NetezzaTableDataset) UnmarshalJSON(body []byte) error { if err != nil { return err } - if ntd.AdditionalProperties == nil { - ntd.AdditionalProperties = make(map[string]interface{}) - } - ntd.AdditionalProperties[k] = additionalProperties - } - case "description": - if v != nil { - var description string - err = json.Unmarshal(*v, &description) - if err != nil { - return err - } - ntd.Description = &description - } - case "structure": - if v != nil { - var structure interface{} - err = json.Unmarshal(*v, &structure) - if err != nil { - return err - } - ntd.Structure = structure - } - case "schema": - if v != nil { - var schema interface{} - err = json.Unmarshal(*v, &schema) - if err != nil { - return err - } - ntd.Schema = schema - } - case "linkedServiceName": - if v != nil { - var linkedServiceName LinkedServiceReference - err = json.Unmarshal(*v, &linkedServiceName) - if err != nil { - return err + if ods.AdditionalProperties == nil { + ods.AdditionalProperties = make(map[string]interface{}) } - ntd.LinkedServiceName = &linkedServiceName + ods.AdditionalProperties[k] = additionalProperties } - case "parameters": + case "sourceRetryCount": if v != nil { - var parameters map[string]*ParameterSpecification - err = json.Unmarshal(*v, ¶meters) + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) if err != nil { return err } - ntd.Parameters = parameters + ods.SourceRetryCount = sourceRetryCount } - case "annotations": + case "sourceRetryWait": if v != nil { - var annotations []interface{} - err = json.Unmarshal(*v, &annotations) + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) if err != nil { return err } - ntd.Annotations = &annotations + ods.SourceRetryWait = sourceRetryWait } - case "folder": + case "maxConcurrentConnections": if v != nil { - var folder DatasetFolder - err = json.Unmarshal(*v, &folder) + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) if err != nil { return err } - ntd.Folder = &folder + ods.MaxConcurrentConnections = maxConcurrentConnections } case "type": if v != nil { - var typeVar TypeBasicDataset + var typeVar TypeBasicCopySource err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - ntd.Type = typeVar + ods.Type = typeVar } } } @@ -123663,10 +140795,10 @@ func (ntd *NetezzaTableDataset) UnmarshalJSON(body []byte) error { return nil } -// ODataLinkedService open Data Protocol (OData) linked service. -type ODataLinkedService struct { - // ODataLinkedServiceTypeProperties - OData linked service properties. - *ODataLinkedServiceTypeProperties `json:"typeProperties,omitempty"` +// OdbcLinkedService open Database Connectivity (ODBC) linked service. +type OdbcLinkedService struct { + // OdbcLinkedServiceTypeProperties - ODBC linked service properties. + *OdbcLinkedServiceTypeProperties `json:"typeProperties,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` // ConnectVia - The integration runtime reference. @@ -123677,505 +140809,520 @@ type ODataLinkedService struct { Parameters map[string]*ParameterSpecification `json:"parameters"` // Annotations - List of tags that can be used for describing the linked service. Annotations *[]interface{} `json:"annotations,omitempty"` - // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' + // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' Type TypeBasicLinkedService `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for ODataLinkedService. -func (odls ODataLinkedService) MarshalJSON() ([]byte, error) { - odls.Type = TypeOData +// MarshalJSON is the custom marshaler for OdbcLinkedService. +func (ols OdbcLinkedService) MarshalJSON() ([]byte, error) { + ols.Type = TypeOdbc objectMap := make(map[string]interface{}) - if odls.ODataLinkedServiceTypeProperties != nil { - objectMap["typeProperties"] = odls.ODataLinkedServiceTypeProperties + if ols.OdbcLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = ols.OdbcLinkedServiceTypeProperties } - if odls.ConnectVia != nil { - objectMap["connectVia"] = odls.ConnectVia + if ols.ConnectVia != nil { + objectMap["connectVia"] = ols.ConnectVia } - if odls.Description != nil { - objectMap["description"] = odls.Description + if ols.Description != nil { + objectMap["description"] = ols.Description } - if odls.Parameters != nil { - objectMap["parameters"] = odls.Parameters + if ols.Parameters != nil { + objectMap["parameters"] = ols.Parameters } - if odls.Annotations != nil { - objectMap["annotations"] = odls.Annotations + if ols.Annotations != nil { + objectMap["annotations"] = ols.Annotations } - if odls.Type != "" { - objectMap["type"] = odls.Type + if ols.Type != "" { + objectMap["type"] = ols.Type } - for k, v := range odls.AdditionalProperties { + for k, v := range ols.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsAzureFunctionLinkedService is the BasicLinkedService implementation for ODataLinkedService. -func (odls ODataLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { return nil, false } -// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for ODataLinkedService. -func (odls ODataLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { return nil, false } -// AsSapTableLinkedService is the BasicLinkedService implementation for ODataLinkedService. -func (odls ODataLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { +// AsSapTableLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { return nil, false } -// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for ODataLinkedService. -func (odls ODataLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { return nil, false } -// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for ODataLinkedService. -func (odls ODataLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { return nil, false } -// AsDynamicsAXLinkedService is the BasicLinkedService implementation for ODataLinkedService. -func (odls ODataLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { return nil, false } -// AsResponsysLinkedService is the BasicLinkedService implementation for ODataLinkedService. -func (odls ODataLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { +// AsResponsysLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { return nil, false } -// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for ODataLinkedService. -func (odls ODataLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { return nil, false } -// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for ODataLinkedService. -func (odls ODataLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { return nil, false } -// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for ODataLinkedService. -func (odls ODataLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { return nil, false } -// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for ODataLinkedService. -func (odls ODataLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { return nil, false } -// AsNetezzaLinkedService is the BasicLinkedService implementation for ODataLinkedService. -func (odls ODataLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { +// AsNetezzaLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { return nil, false } -// AsVerticaLinkedService is the BasicLinkedService implementation for ODataLinkedService. -func (odls ODataLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { +// AsVerticaLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { return nil, false } -// AsZohoLinkedService is the BasicLinkedService implementation for ODataLinkedService. -func (odls ODataLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { +// AsZohoLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { return nil, false } -// AsXeroLinkedService is the BasicLinkedService implementation for ODataLinkedService. -func (odls ODataLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { +// AsXeroLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { return nil, false } -// AsSquareLinkedService is the BasicLinkedService implementation for ODataLinkedService. -func (odls ODataLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { +// AsSquareLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { return nil, false } -// AsSparkLinkedService is the BasicLinkedService implementation for ODataLinkedService. -func (odls ODataLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { +// AsSparkLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { return nil, false } -// AsShopifyLinkedService is the BasicLinkedService implementation for ODataLinkedService. -func (odls ODataLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { +// AsShopifyLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { return nil, false } -// AsServiceNowLinkedService is the BasicLinkedService implementation for ODataLinkedService. -func (odls ODataLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { +// AsServiceNowLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { return nil, false } -// AsQuickBooksLinkedService is the BasicLinkedService implementation for ODataLinkedService. -func (odls ODataLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { +// AsQuickBooksLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { return nil, false } -// AsPrestoLinkedService is the BasicLinkedService implementation for ODataLinkedService. -func (odls ODataLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { +// AsPrestoLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { return nil, false } -// AsPhoenixLinkedService is the BasicLinkedService implementation for ODataLinkedService. -func (odls ODataLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { +// AsPhoenixLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { return nil, false } -// AsPaypalLinkedService is the BasicLinkedService implementation for ODataLinkedService. -func (odls ODataLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { +// AsPaypalLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { return nil, false } -// AsMarketoLinkedService is the BasicLinkedService implementation for ODataLinkedService. -func (odls ODataLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { +// AsMarketoLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { return nil, false } -// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for ODataLinkedService. -func (odls ODataLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { return nil, false } -// AsMariaDBLinkedService is the BasicLinkedService implementation for ODataLinkedService. -func (odls ODataLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { +// AsMariaDBLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { return nil, false } -// AsMagentoLinkedService is the BasicLinkedService implementation for ODataLinkedService. -func (odls ODataLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { +// AsMagentoLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { return nil, false } -// AsJiraLinkedService is the BasicLinkedService implementation for ODataLinkedService. -func (odls ODataLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { +// AsJiraLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { return nil, false } -// AsImpalaLinkedService is the BasicLinkedService implementation for ODataLinkedService. -func (odls ODataLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { +// AsImpalaLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { return nil, false } -// AsHubspotLinkedService is the BasicLinkedService implementation for ODataLinkedService. -func (odls ODataLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { +// AsHubspotLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { return nil, false } -// AsHiveLinkedService is the BasicLinkedService implementation for ODataLinkedService. -func (odls ODataLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { +// AsHiveLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { return nil, false } -// AsHBaseLinkedService is the BasicLinkedService implementation for ODataLinkedService. -func (odls ODataLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { +// AsHBaseLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { return nil, false } -// AsGreenplumLinkedService is the BasicLinkedService implementation for ODataLinkedService. -func (odls ODataLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { +// AsGreenplumLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { return nil, false } -// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for ODataLinkedService. -func (odls ODataLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { return nil, false } -// AsEloquaLinkedService is the BasicLinkedService implementation for ODataLinkedService. -func (odls ODataLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { +// AsEloquaLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { return nil, false } -// AsDrillLinkedService is the BasicLinkedService implementation for ODataLinkedService. -func (odls ODataLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { +// AsDrillLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { return nil, false } -// AsCouchbaseLinkedService is the BasicLinkedService implementation for ODataLinkedService. -func (odls ODataLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { +// AsCouchbaseLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { return nil, false } -// AsConcurLinkedService is the BasicLinkedService implementation for ODataLinkedService. -func (odls ODataLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { +// AsConcurLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { return nil, false } -// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for ODataLinkedService. -func (odls ODataLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { return nil, false } -// AsAmazonMWSLinkedService is the BasicLinkedService implementation for ODataLinkedService. -func (odls ODataLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { return nil, false } -// AsSapHanaLinkedService is the BasicLinkedService implementation for ODataLinkedService. -func (odls ODataLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { +// AsSapHanaLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { return nil, false } -// AsSapBWLinkedService is the BasicLinkedService implementation for ODataLinkedService. -func (odls ODataLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { +// AsSapBWLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { return nil, false } -// AsSftpServerLinkedService is the BasicLinkedService implementation for ODataLinkedService. -func (odls ODataLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { +// AsSftpServerLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { return nil, false } -// AsFtpServerLinkedService is the BasicLinkedService implementation for ODataLinkedService. -func (odls ODataLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { +// AsFtpServerLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { return nil, false } -// AsHTTPLinkedService is the BasicLinkedService implementation for ODataLinkedService. -func (odls ODataLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { +// AsHTTPLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { return nil, false } -// AsAzureSearchLinkedService is the BasicLinkedService implementation for ODataLinkedService. -func (odls ODataLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { +// AsAzureSearchLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { return nil, false } -// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for ODataLinkedService. -func (odls ODataLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { return nil, false } -// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for ODataLinkedService. -func (odls ODataLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { return nil, false } -// AsAmazonS3LinkedService is the BasicLinkedService implementation for ODataLinkedService. -func (odls ODataLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { +// AsAmazonS3LinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { return nil, false } -// AsRestServiceLinkedService is the BasicLinkedService implementation for ODataLinkedService. -func (odls ODataLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { +// AsRestServiceLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { return nil, false } -// AsSapOpenHubLinkedService is the BasicLinkedService implementation for ODataLinkedService. -func (odls ODataLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { return nil, false } -// AsSapEccLinkedService is the BasicLinkedService implementation for ODataLinkedService. -func (odls ODataLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { +// AsSapEccLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { return nil, false } -// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for ODataLinkedService. -func (odls ODataLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { return nil, false } -// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for ODataLinkedService. -func (odls ODataLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { return nil, false } -// AsSalesforceLinkedService is the BasicLinkedService implementation for ODataLinkedService. -func (odls ODataLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { +// AsSalesforceLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { return nil, false } -// AsOffice365LinkedService is the BasicLinkedService implementation for ODataLinkedService. -func (odls ODataLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { +// AsOffice365LinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { return nil, false } -// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for ODataLinkedService. -func (odls ODataLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { return nil, false } -// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for ODataLinkedService. -func (odls ODataLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { return nil, false } -// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for ODataLinkedService. -func (odls ODataLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { return nil, false } -// AsMongoDbV2LinkedService is the BasicLinkedService implementation for ODataLinkedService. -func (odls ODataLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { return nil, false } -// AsMongoDbLinkedService is the BasicLinkedService implementation for ODataLinkedService. -func (odls ODataLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { +// AsMongoDbLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { return nil, false } -// AsCassandraLinkedService is the BasicLinkedService implementation for ODataLinkedService. -func (odls ODataLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { +// AsCassandraLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { return nil, false } -// AsWebLinkedService is the BasicLinkedService implementation for ODataLinkedService. -func (odls ODataLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { +// AsWebLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { return nil, false } -// AsODataLinkedService is the BasicLinkedService implementation for ODataLinkedService. -func (odls ODataLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { - return &odls, true +// AsODataLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { + return nil, false } -// AsHdfsLinkedService is the BasicLinkedService implementation for ODataLinkedService. -func (odls ODataLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { +// AsHdfsLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { return nil, false } -// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for ODataLinkedService. -func (odls ODataLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { return nil, false } -// AsInformixLinkedService is the BasicLinkedService implementation for ODataLinkedService. -func (odls ODataLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { +// AsInformixLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { return nil, false } -// AsOdbcLinkedService is the BasicLinkedService implementation for ODataLinkedService. -func (odls ODataLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { +// AsOdbcLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { + return &ols, true +} + +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { return nil, false } -// AsAzureMLLinkedService is the BasicLinkedService implementation for ODataLinkedService. -func (odls ODataLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { +// AsAzureMLLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { return nil, false } -// AsTeradataLinkedService is the BasicLinkedService implementation for ODataLinkedService. -func (odls ODataLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { +// AsTeradataLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { return nil, false } -// AsDb2LinkedService is the BasicLinkedService implementation for ODataLinkedService. -func (odls ODataLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { +// AsDb2LinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { return nil, false } -// AsSybaseLinkedService is the BasicLinkedService implementation for ODataLinkedService. -func (odls ODataLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { +// AsSybaseLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { return nil, false } -// AsPostgreSQLLinkedService is the BasicLinkedService implementation for ODataLinkedService. -func (odls ODataLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { return nil, false } -// AsMySQLLinkedService is the BasicLinkedService implementation for ODataLinkedService. -func (odls ODataLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { +// AsMySQLLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { return nil, false } -// AsAzureMySQLLinkedService is the BasicLinkedService implementation for ODataLinkedService. -func (odls ODataLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { return nil, false } -// AsOracleLinkedService is the BasicLinkedService implementation for ODataLinkedService. -func (odls ODataLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { +// AsOracleLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return nil, false +} + +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { return nil, false } -// AsFileServerLinkedService is the BasicLinkedService implementation for ODataLinkedService. -func (odls ODataLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { +// AsFileServerLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { return nil, false } -// AsHDInsightLinkedService is the BasicLinkedService implementation for ODataLinkedService. -func (odls ODataLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { +// AsHDInsightLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { return nil, false } -// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for ODataLinkedService. -func (odls ODataLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { return nil, false } -// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for ODataLinkedService. -func (odls ODataLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { return nil, false } -// AsDynamicsLinkedService is the BasicLinkedService implementation for ODataLinkedService. -func (odls ODataLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { +// AsDynamicsLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { return nil, false } -// AsCosmosDbLinkedService is the BasicLinkedService implementation for ODataLinkedService. -func (odls ODataLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { +// AsCosmosDbLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { return nil, false } -// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for ODataLinkedService. -func (odls ODataLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { return nil, false } -// AsAzureBatchLinkedService is the BasicLinkedService implementation for ODataLinkedService. -func (odls ODataLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { +// AsAzureBatchLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { return nil, false } -// AsAzureSQLMILinkedService is the BasicLinkedService implementation for ODataLinkedService. -func (odls ODataLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { return nil, false } -// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for ODataLinkedService. -func (odls ODataLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { return nil, false } -// AsSQLServerLinkedService is the BasicLinkedService implementation for ODataLinkedService. -func (odls ODataLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { +// AsSQLServerLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { return nil, false } -// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for ODataLinkedService. -func (odls ODataLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { return nil, false } -// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for ODataLinkedService. -func (odls ODataLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { return nil, false } -// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for ODataLinkedService. -func (odls ODataLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { return nil, false } -// AsAzureStorageLinkedService is the BasicLinkedService implementation for ODataLinkedService. -func (odls ODataLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { +// AsAzureStorageLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { return nil, false } -// AsLinkedService is the BasicLinkedService implementation for ODataLinkedService. -func (odls ODataLinkedService) AsLinkedService() (*LinkedService, bool) { +// AsLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsLinkedService() (*LinkedService, bool) { return nil, false } -// AsBasicLinkedService is the BasicLinkedService implementation for ODataLinkedService. -func (odls ODataLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { - return &odls, true +// AsBasicLinkedService is the BasicLinkedService implementation for OdbcLinkedService. +func (ols OdbcLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &ols, true } -// UnmarshalJSON is the custom unmarshaler for ODataLinkedService struct. -func (odls *ODataLinkedService) UnmarshalJSON(body []byte) error { +// UnmarshalJSON is the custom unmarshaler for OdbcLinkedService struct. +func (ols *OdbcLinkedService) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -124185,12 +141332,12 @@ func (odls *ODataLinkedService) UnmarshalJSON(body []byte) error { switch k { case "typeProperties": if v != nil { - var oDataLinkedServiceTypeProperties ODataLinkedServiceTypeProperties - err = json.Unmarshal(*v, &oDataLinkedServiceTypeProperties) + var odbcLinkedServiceTypeProperties OdbcLinkedServiceTypeProperties + err = json.Unmarshal(*v, &odbcLinkedServiceTypeProperties) if err != nil { return err } - odls.ODataLinkedServiceTypeProperties = &oDataLinkedServiceTypeProperties + ols.OdbcLinkedServiceTypeProperties = &odbcLinkedServiceTypeProperties } default: if v != nil { @@ -124199,10 +141346,10 @@ func (odls *ODataLinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - if odls.AdditionalProperties == nil { - odls.AdditionalProperties = make(map[string]interface{}) + if ols.AdditionalProperties == nil { + ols.AdditionalProperties = make(map[string]interface{}) } - odls.AdditionalProperties[k] = additionalProperties + ols.AdditionalProperties[k] = additionalProperties } case "connectVia": if v != nil { @@ -124211,7 +141358,7 @@ func (odls *ODataLinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - odls.ConnectVia = &connectVia + ols.ConnectVia = &connectVia } case "description": if v != nil { @@ -124220,7 +141367,7 @@ func (odls *ODataLinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - odls.Description = &description + ols.Description = &description } case "parameters": if v != nil { @@ -124229,7 +141376,7 @@ func (odls *ODataLinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - odls.Parameters = parameters + ols.Parameters = parameters } case "annotations": if v != nil { @@ -124238,7 +141385,7 @@ func (odls *ODataLinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - odls.Annotations = &annotations + ols.Annotations = &annotations } case "type": if v != nil { @@ -124247,7 +141394,7 @@ func (odls *ODataLinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - odls.Type = typeVar + ols.Type = typeVar } } } @@ -124255,36 +141402,24 @@ func (odls *ODataLinkedService) UnmarshalJSON(body []byte) error { return nil } -// ODataLinkedServiceTypeProperties oData linked service properties. -type ODataLinkedServiceTypeProperties struct { - // URL - The URL of the OData service endpoint. Type: string (or Expression with resultType string). - URL interface{} `json:"url,omitempty"` - // AuthenticationType - Type of authentication used to connect to the OData service. Possible values include: 'ODataAuthenticationTypeBasic', 'ODataAuthenticationTypeAnonymous', 'ODataAuthenticationTypeWindows', 'ODataAuthenticationTypeAadServicePrincipal', 'ODataAuthenticationTypeManagedServiceIdentity' - AuthenticationType ODataAuthenticationType `json:"authenticationType,omitempty"` - // UserName - User name of the OData service. Type: string (or Expression with resultType string). +// OdbcLinkedServiceTypeProperties ODBC linked service properties. +type OdbcLinkedServiceTypeProperties struct { + // ConnectionString - The non-access credential portion of the connection string as well as an optional encrypted credential. Type: string, SecureString or AzureKeyVaultSecretReference. + ConnectionString interface{} `json:"connectionString,omitempty"` + // AuthenticationType - Type of authentication used to connect to the ODBC data store. Possible values are: Anonymous and Basic. Type: string (or Expression with resultType string). + AuthenticationType interface{} `json:"authenticationType,omitempty"` + // Credential - The access credential portion of the connection string specified in driver-specific property-value format. + Credential BasicSecretBase `json:"credential,omitempty"` + // UserName - User name for Basic authentication. Type: string (or Expression with resultType string). UserName interface{} `json:"userName,omitempty"` - // Password - Password of the OData service. + // Password - Password for Basic authentication. Password BasicSecretBase `json:"password,omitempty"` - // Tenant - Specify the tenant information (domain name or tenant ID) under which your application resides. Type: string (or Expression with resultType string). - Tenant interface{} `json:"tenant,omitempty"` - // ServicePrincipalID - Specify the application id of your application registered in Azure Active Directory. Type: string (or Expression with resultType string). - ServicePrincipalID interface{} `json:"servicePrincipalId,omitempty"` - // AadResourceID - Specify the resource you are requesting authorization to use Directory. Type: string (or Expression with resultType string). - AadResourceID interface{} `json:"aadResourceId,omitempty"` - // AadServicePrincipalCredentialType - Specify the credential type (key or cert) is used for service principal. Possible values include: 'ServicePrincipalKey', 'ServicePrincipalCert' - AadServicePrincipalCredentialType ODataAadServicePrincipalCredentialType `json:"aadServicePrincipalCredentialType,omitempty"` - // ServicePrincipalKey - Specify the secret of your application registered in Azure Active Directory. Type: string (or Expression with resultType string). - ServicePrincipalKey BasicSecretBase `json:"servicePrincipalKey,omitempty"` - // ServicePrincipalEmbeddedCert - Specify the base64 encoded certificate of your application registered in Azure Active Directory. Type: string (or Expression with resultType string). - ServicePrincipalEmbeddedCert BasicSecretBase `json:"servicePrincipalEmbeddedCert,omitempty"` - // ServicePrincipalEmbeddedCertPassword - Specify the password of your certificate if your certificate has a password and you are using AadServicePrincipal authentication. Type: string (or Expression with resultType string). - ServicePrincipalEmbeddedCertPassword BasicSecretBase `json:"servicePrincipalEmbeddedCertPassword,omitempty"` // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` } -// UnmarshalJSON is the custom unmarshaler for ODataLinkedServiceTypeProperties struct. -func (odlstp *ODataLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { +// UnmarshalJSON is the custom unmarshaler for OdbcLinkedServiceTypeProperties struct. +func (olstp *OdbcLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -124292,100 +141427,48 @@ func (odlstp *ODataLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error } for k, v := range m { switch k { - case "url": + case "connectionString": if v != nil { - var URL interface{} - err = json.Unmarshal(*v, &URL) + var connectionString interface{} + err = json.Unmarshal(*v, &connectionString) if err != nil { return err } - odlstp.URL = URL + olstp.ConnectionString = connectionString } case "authenticationType": if v != nil { - var authenticationType ODataAuthenticationType + var authenticationType interface{} err = json.Unmarshal(*v, &authenticationType) if err != nil { return err } - odlstp.AuthenticationType = authenticationType - } - case "userName": - if v != nil { - var userName interface{} - err = json.Unmarshal(*v, &userName) - if err != nil { - return err - } - odlstp.UserName = userName - } - case "password": - if v != nil { - password, err := unmarshalBasicSecretBase(*v) - if err != nil { - return err - } - odlstp.Password = password - } - case "tenant": - if v != nil { - var tenant interface{} - err = json.Unmarshal(*v, &tenant) - if err != nil { - return err - } - odlstp.Tenant = tenant - } - case "servicePrincipalId": - if v != nil { - var servicePrincipalID interface{} - err = json.Unmarshal(*v, &servicePrincipalID) - if err != nil { - return err - } - odlstp.ServicePrincipalID = servicePrincipalID - } - case "aadResourceId": - if v != nil { - var aadResourceID interface{} - err = json.Unmarshal(*v, &aadResourceID) - if err != nil { - return err - } - odlstp.AadResourceID = aadResourceID - } - case "aadServicePrincipalCredentialType": - if v != nil { - var aadServicePrincipalCredentialType ODataAadServicePrincipalCredentialType - err = json.Unmarshal(*v, &aadServicePrincipalCredentialType) - if err != nil { - return err - } - odlstp.AadServicePrincipalCredentialType = aadServicePrincipalCredentialType + olstp.AuthenticationType = authenticationType } - case "servicePrincipalKey": + case "credential": if v != nil { - servicePrincipalKey, err := unmarshalBasicSecretBase(*v) + credential, err := unmarshalBasicSecretBase(*v) if err != nil { return err } - odlstp.ServicePrincipalKey = servicePrincipalKey + olstp.Credential = credential } - case "servicePrincipalEmbeddedCert": + case "userName": if v != nil { - servicePrincipalEmbeddedCert, err := unmarshalBasicSecretBase(*v) + var userName interface{} + err = json.Unmarshal(*v, &userName) if err != nil { return err } - odlstp.ServicePrincipalEmbeddedCert = servicePrincipalEmbeddedCert + olstp.UserName = userName } - case "servicePrincipalEmbeddedCertPassword": + case "password": if v != nil { - servicePrincipalEmbeddedCertPassword, err := unmarshalBasicSecretBase(*v) + password, err := unmarshalBasicSecretBase(*v) if err != nil { return err } - odlstp.ServicePrincipalEmbeddedCertPassword = servicePrincipalEmbeddedCertPassword + olstp.Password = password } case "encryptedCredential": if v != nil { @@ -124394,7 +141477,7 @@ func (odlstp *ODataLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error if err != nil { return err } - odlstp.EncryptedCredential = encryptedCredential + olstp.EncryptedCredential = encryptedCredential } } } @@ -124402,489 +141485,239 @@ func (odlstp *ODataLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error return nil } -// ODataResourceDataset the Open Data Protocol (OData) resource dataset. -type ODataResourceDataset struct { - // ODataResourceDatasetTypeProperties - OData dataset properties. - *ODataResourceDatasetTypeProperties `json:"typeProperties,omitempty"` +// OdbcSink a copy activity ODBC sink. +type OdbcSink struct { + // PreCopyScript - A query to execute before starting the copy. Type: string (or Expression with resultType string). + PreCopyScript interface{} `json:"preCopyScript,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` - // Description - Dataset description. - Description *string `json:"description,omitempty"` - // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. - Structure interface{} `json:"structure,omitempty"` - // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. - Schema interface{} `json:"schema,omitempty"` - // LinkedServiceName - Linked service reference. - LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` - // Parameters - Parameters for dataset. - Parameters map[string]*ParameterSpecification `json:"parameters"` - // Annotations - List of tags that can be used for describing the Dataset. - Annotations *[]interface{} `json:"annotations,omitempty"` - // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. - Folder *DatasetFolder `json:"folder,omitempty"` - // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' - Type TypeBasicDataset `json:"type,omitempty"` + // WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0. + WriteBatchSize interface{} `json:"writeBatchSize,omitempty"` + // WriteBatchTimeout - Write batch timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"` + // SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer). + SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"` + // SinkRetryWait - Sink retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeCosmosDbSQLAPISink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAvroSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzureMySQLSink', 'TypeAzurePostgreSQLSink', 'TypeOrcSink', 'TypeJSONSink', 'TypeDelimitedTextSink' + Type TypeBasicCopySink `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for ODataResourceDataset. -func (odrd ODataResourceDataset) MarshalJSON() ([]byte, error) { - odrd.Type = TypeODataResource +// MarshalJSON is the custom marshaler for OdbcSink. +func (osVar OdbcSink) MarshalJSON() ([]byte, error) { + osVar.Type = TypeOdbcSink objectMap := make(map[string]interface{}) - if odrd.ODataResourceDatasetTypeProperties != nil { - objectMap["typeProperties"] = odrd.ODataResourceDatasetTypeProperties - } - if odrd.Description != nil { - objectMap["description"] = odrd.Description - } - if odrd.Structure != nil { - objectMap["structure"] = odrd.Structure + if osVar.PreCopyScript != nil { + objectMap["preCopyScript"] = osVar.PreCopyScript } - if odrd.Schema != nil { - objectMap["schema"] = odrd.Schema + if osVar.WriteBatchSize != nil { + objectMap["writeBatchSize"] = osVar.WriteBatchSize } - if odrd.LinkedServiceName != nil { - objectMap["linkedServiceName"] = odrd.LinkedServiceName + if osVar.WriteBatchTimeout != nil { + objectMap["writeBatchTimeout"] = osVar.WriteBatchTimeout } - if odrd.Parameters != nil { - objectMap["parameters"] = odrd.Parameters + if osVar.SinkRetryCount != nil { + objectMap["sinkRetryCount"] = osVar.SinkRetryCount } - if odrd.Annotations != nil { - objectMap["annotations"] = odrd.Annotations + if osVar.SinkRetryWait != nil { + objectMap["sinkRetryWait"] = osVar.SinkRetryWait } - if odrd.Folder != nil { - objectMap["folder"] = odrd.Folder + if osVar.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = osVar.MaxConcurrentConnections } - if odrd.Type != "" { - objectMap["type"] = odrd.Type + if osVar.Type != "" { + objectMap["type"] = osVar.Type } - for k, v := range odrd.AdditionalProperties { + for k, v := range osVar.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for ODataResourceDataset. -func (odrd ODataResourceDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { - return nil, false -} - -// AsAzureDataExplorerTableDataset is the BasicDataset implementation for ODataResourceDataset. -func (odrd ODataResourceDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { - return nil, false -} - -// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for ODataResourceDataset. -func (odrd ODataResourceDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { - return nil, false -} - -// AsDynamicsAXResourceDataset is the BasicDataset implementation for ODataResourceDataset. -func (odrd ODataResourceDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { - return nil, false -} - -// AsResponsysObjectDataset is the BasicDataset implementation for ODataResourceDataset. -func (odrd ODataResourceDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { - return nil, false -} - -// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for ODataResourceDataset. -func (odrd ODataResourceDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { - return nil, false -} - -// AsVerticaTableDataset is the BasicDataset implementation for ODataResourceDataset. -func (odrd ODataResourceDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { - return nil, false -} - -// AsNetezzaTableDataset is the BasicDataset implementation for ODataResourceDataset. -func (odrd ODataResourceDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { - return nil, false -} - -// AsZohoObjectDataset is the BasicDataset implementation for ODataResourceDataset. -func (odrd ODataResourceDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { - return nil, false -} - -// AsXeroObjectDataset is the BasicDataset implementation for ODataResourceDataset. -func (odrd ODataResourceDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { - return nil, false -} - -// AsSquareObjectDataset is the BasicDataset implementation for ODataResourceDataset. -func (odrd ODataResourceDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { - return nil, false -} - -// AsSparkObjectDataset is the BasicDataset implementation for ODataResourceDataset. -func (odrd ODataResourceDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { - return nil, false -} - -// AsShopifyObjectDataset is the BasicDataset implementation for ODataResourceDataset. -func (odrd ODataResourceDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { - return nil, false -} - -// AsServiceNowObjectDataset is the BasicDataset implementation for ODataResourceDataset. -func (odrd ODataResourceDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { - return nil, false -} - -// AsQuickBooksObjectDataset is the BasicDataset implementation for ODataResourceDataset. -func (odrd ODataResourceDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { - return nil, false -} - -// AsPrestoObjectDataset is the BasicDataset implementation for ODataResourceDataset. -func (odrd ODataResourceDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { - return nil, false -} - -// AsPhoenixObjectDataset is the BasicDataset implementation for ODataResourceDataset. -func (odrd ODataResourceDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { - return nil, false -} - -// AsPaypalObjectDataset is the BasicDataset implementation for ODataResourceDataset. -func (odrd ODataResourceDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { - return nil, false -} - -// AsMarketoObjectDataset is the BasicDataset implementation for ODataResourceDataset. -func (odrd ODataResourceDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { - return nil, false -} - -// AsAzureMariaDBTableDataset is the BasicDataset implementation for ODataResourceDataset. -func (odrd ODataResourceDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { - return nil, false -} - -// AsMariaDBTableDataset is the BasicDataset implementation for ODataResourceDataset. -func (odrd ODataResourceDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { - return nil, false -} - -// AsMagentoObjectDataset is the BasicDataset implementation for ODataResourceDataset. -func (odrd ODataResourceDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { - return nil, false -} - -// AsJiraObjectDataset is the BasicDataset implementation for ODataResourceDataset. -func (odrd ODataResourceDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { - return nil, false -} - -// AsImpalaObjectDataset is the BasicDataset implementation for ODataResourceDataset. -func (odrd ODataResourceDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { - return nil, false -} - -// AsHubspotObjectDataset is the BasicDataset implementation for ODataResourceDataset. -func (odrd ODataResourceDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { - return nil, false -} - -// AsHiveObjectDataset is the BasicDataset implementation for ODataResourceDataset. -func (odrd ODataResourceDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { - return nil, false -} - -// AsHBaseObjectDataset is the BasicDataset implementation for ODataResourceDataset. -func (odrd ODataResourceDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { - return nil, false -} - -// AsGreenplumTableDataset is the BasicDataset implementation for ODataResourceDataset. -func (odrd ODataResourceDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { - return nil, false -} - -// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for ODataResourceDataset. -func (odrd ODataResourceDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { - return nil, false -} - -// AsEloquaObjectDataset is the BasicDataset implementation for ODataResourceDataset. -func (odrd ODataResourceDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { - return nil, false -} - -// AsDrillTableDataset is the BasicDataset implementation for ODataResourceDataset. -func (odrd ODataResourceDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { - return nil, false -} - -// AsCouchbaseTableDataset is the BasicDataset implementation for ODataResourceDataset. -func (odrd ODataResourceDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { - return nil, false -} - -// AsConcurObjectDataset is the BasicDataset implementation for ODataResourceDataset. -func (odrd ODataResourceDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { - return nil, false -} - -// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for ODataResourceDataset. -func (odrd ODataResourceDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { - return nil, false -} - -// AsAmazonMWSObjectDataset is the BasicDataset implementation for ODataResourceDataset. -func (odrd ODataResourceDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { - return nil, false -} - -// AsHTTPDataset is the BasicDataset implementation for ODataResourceDataset. -func (odrd ODataResourceDataset) AsHTTPDataset() (*HTTPDataset, bool) { - return nil, false -} - -// AsAzureSearchIndexDataset is the BasicDataset implementation for ODataResourceDataset. -func (odrd ODataResourceDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { - return nil, false -} - -// AsWebTableDataset is the BasicDataset implementation for ODataResourceDataset. -func (odrd ODataResourceDataset) AsWebTableDataset() (*WebTableDataset, bool) { - return nil, false -} - -// AsSapTableResourceDataset is the BasicDataset implementation for ODataResourceDataset. -func (odrd ODataResourceDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { - return nil, false -} - -// AsRestResourceDataset is the BasicDataset implementation for ODataResourceDataset. -func (odrd ODataResourceDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { - return nil, false -} - -// AsSQLServerTableDataset is the BasicDataset implementation for ODataResourceDataset. -func (odrd ODataResourceDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { - return nil, false -} - -// AsSapOpenHubTableDataset is the BasicDataset implementation for ODataResourceDataset. -func (odrd ODataResourceDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { - return nil, false -} - -// AsSapHanaTableDataset is the BasicDataset implementation for ODataResourceDataset. -func (odrd ODataResourceDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { - return nil, false -} - -// AsSapEccResourceDataset is the BasicDataset implementation for ODataResourceDataset. -func (odrd ODataResourceDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { - return nil, false -} - -// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for ODataResourceDataset. -func (odrd ODataResourceDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { - return nil, false -} - -// AsSapBwCubeDataset is the BasicDataset implementation for ODataResourceDataset. -func (odrd ODataResourceDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { - return nil, false -} - -// AsSybaseTableDataset is the BasicDataset implementation for ODataResourceDataset. -func (odrd ODataResourceDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { - return nil, false -} - -// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for ODataResourceDataset. -func (odrd ODataResourceDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { +// AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for OdbcSink. +func (osVar OdbcSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) { return nil, false } -// AsSalesforceObjectDataset is the BasicDataset implementation for ODataResourceDataset. -func (odrd ODataResourceDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { +// AsSalesforceServiceCloudSink is the BasicCopySink implementation for OdbcSink. +func (osVar OdbcSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) { return nil, false } -// AsMicrosoftAccessTableDataset is the BasicDataset implementation for ODataResourceDataset. -func (odrd ODataResourceDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { +// AsSalesforceSink is the BasicCopySink implementation for OdbcSink. +func (osVar OdbcSink) AsSalesforceSink() (*SalesforceSink, bool) { return nil, false } -// AsPostgreSQLTableDataset is the BasicDataset implementation for ODataResourceDataset. -func (odrd ODataResourceDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { +// AsAzureDataExplorerSink is the BasicCopySink implementation for OdbcSink. +func (osVar OdbcSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) { return nil, false } -// AsMySQLTableDataset is the BasicDataset implementation for ODataResourceDataset. -func (odrd ODataResourceDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { +// AsCommonDataServiceForAppsSink is the BasicCopySink implementation for OdbcSink. +func (osVar OdbcSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) { return nil, false } -// AsOdbcTableDataset is the BasicDataset implementation for ODataResourceDataset. -func (odrd ODataResourceDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { +// AsDynamicsCrmSink is the BasicCopySink implementation for OdbcSink. +func (osVar OdbcSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) { return nil, false } -// AsInformixTableDataset is the BasicDataset implementation for ODataResourceDataset. -func (odrd ODataResourceDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { +// AsDynamicsSink is the BasicCopySink implementation for OdbcSink. +func (osVar OdbcSink) AsDynamicsSink() (*DynamicsSink, bool) { return nil, false } -// AsRelationalTableDataset is the BasicDataset implementation for ODataResourceDataset. -func (odrd ODataResourceDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { +// AsMicrosoftAccessSink is the BasicCopySink implementation for OdbcSink. +func (osVar OdbcSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) { return nil, false } -// AsAzureMySQLTableDataset is the BasicDataset implementation for ODataResourceDataset. -func (odrd ODataResourceDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { +// AsInformixSink is the BasicCopySink implementation for OdbcSink. +func (osVar OdbcSink) AsInformixSink() (*InformixSink, bool) { return nil, false } -// AsTeradataTableDataset is the BasicDataset implementation for ODataResourceDataset. -func (odrd ODataResourceDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { - return nil, false +// AsOdbcSink is the BasicCopySink implementation for OdbcSink. +func (osVar OdbcSink) AsOdbcSink() (*OdbcSink, bool) { + return &osVar, true } -// AsOracleTableDataset is the BasicDataset implementation for ODataResourceDataset. -func (odrd ODataResourceDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { +// AsAzureSearchIndexSink is the BasicCopySink implementation for OdbcSink. +func (osVar OdbcSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) { return nil, false } -// AsODataResourceDataset is the BasicDataset implementation for ODataResourceDataset. -func (odrd ODataResourceDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { - return &odrd, true -} - -// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for ODataResourceDataset. -func (odrd ODataResourceDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { +// AsAzureBlobFSSink is the BasicCopySink implementation for OdbcSink. +func (osVar OdbcSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) { return nil, false } -// AsMongoDbV2CollectionDataset is the BasicDataset implementation for ODataResourceDataset. -func (odrd ODataResourceDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { +// AsAzureDataLakeStoreSink is the BasicCopySink implementation for OdbcSink. +func (osVar OdbcSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) { return nil, false } -// AsMongoDbCollectionDataset is the BasicDataset implementation for ODataResourceDataset. -func (odrd ODataResourceDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { +// AsOracleSink is the BasicCopySink implementation for OdbcSink. +func (osVar OdbcSink) AsOracleSink() (*OracleSink, bool) { return nil, false } -// AsFileShareDataset is the BasicDataset implementation for ODataResourceDataset. -func (odrd ODataResourceDataset) AsFileShareDataset() (*FileShareDataset, bool) { +// AsSQLDWSink is the BasicCopySink implementation for OdbcSink. +func (osVar OdbcSink) AsSQLDWSink() (*SQLDWSink, bool) { return nil, false } -// AsOffice365Dataset is the BasicDataset implementation for ODataResourceDataset. -func (odrd ODataResourceDataset) AsOffice365Dataset() (*Office365Dataset, bool) { +// AsSQLMISink is the BasicCopySink implementation for OdbcSink. +func (osVar OdbcSink) AsSQLMISink() (*SQLMISink, bool) { return nil, false } -// AsAzureBlobFSDataset is the BasicDataset implementation for ODataResourceDataset. -func (odrd ODataResourceDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) { +// AsAzureSQLSink is the BasicCopySink implementation for OdbcSink. +func (osVar OdbcSink) AsAzureSQLSink() (*AzureSQLSink, bool) { return nil, false } -// AsAzureDataLakeStoreDataset is the BasicDataset implementation for ODataResourceDataset. -func (odrd ODataResourceDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) { +// AsSQLServerSink is the BasicCopySink implementation for OdbcSink. +func (osVar OdbcSink) AsSQLServerSink() (*SQLServerSink, bool) { return nil, false } -// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for ODataResourceDataset. -func (odrd ODataResourceDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { +// AsSQLSink is the BasicCopySink implementation for OdbcSink. +func (osVar OdbcSink) AsSQLSink() (*SQLSink, bool) { return nil, false } -// AsDynamicsCrmEntityDataset is the BasicDataset implementation for ODataResourceDataset. -func (odrd ODataResourceDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { +// AsCosmosDbSQLAPISink is the BasicCopySink implementation for OdbcSink. +func (osVar OdbcSink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) { return nil, false } -// AsDynamicsEntityDataset is the BasicDataset implementation for ODataResourceDataset. -func (odrd ODataResourceDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { +// AsDocumentDbCollectionSink is the BasicCopySink implementation for OdbcSink. +func (osVar OdbcSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) { return nil, false } -// AsDocumentDbCollectionDataset is the BasicDataset implementation for ODataResourceDataset. -func (odrd ODataResourceDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { +// AsFileSystemSink is the BasicCopySink implementation for OdbcSink. +func (osVar OdbcSink) AsFileSystemSink() (*FileSystemSink, bool) { return nil, false } -// AsCustomDataset is the BasicDataset implementation for ODataResourceDataset. -func (odrd ODataResourceDataset) AsCustomDataset() (*CustomDataset, bool) { +// AsBlobSink is the BasicCopySink implementation for OdbcSink. +func (osVar OdbcSink) AsBlobSink() (*BlobSink, bool) { return nil, false } -// AsCassandraTableDataset is the BasicDataset implementation for ODataResourceDataset. -func (odrd ODataResourceDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { +// AsBinarySink is the BasicCopySink implementation for OdbcSink. +func (osVar OdbcSink) AsBinarySink() (*BinarySink, bool) { return nil, false } -// AsAzureSQLDWTableDataset is the BasicDataset implementation for ODataResourceDataset. -func (odrd ODataResourceDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { +// AsParquetSink is the BasicCopySink implementation for OdbcSink. +func (osVar OdbcSink) AsParquetSink() (*ParquetSink, bool) { return nil, false } -// AsAzureSQLMITableDataset is the BasicDataset implementation for ODataResourceDataset. -func (odrd ODataResourceDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { +// AsAvroSink is the BasicCopySink implementation for OdbcSink. +func (osVar OdbcSink) AsAvroSink() (*AvroSink, bool) { return nil, false } -// AsAzureSQLTableDataset is the BasicDataset implementation for ODataResourceDataset. -func (odrd ODataResourceDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { +// AsAzureTableSink is the BasicCopySink implementation for OdbcSink. +func (osVar OdbcSink) AsAzureTableSink() (*AzureTableSink, bool) { return nil, false } -// AsAzureTableDataset is the BasicDataset implementation for ODataResourceDataset. -func (odrd ODataResourceDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { +// AsAzureQueueSink is the BasicCopySink implementation for OdbcSink. +func (osVar OdbcSink) AsAzureQueueSink() (*AzureQueueSink, bool) { return nil, false } -// AsAzureBlobDataset is the BasicDataset implementation for ODataResourceDataset. -func (odrd ODataResourceDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) { +// AsSapCloudForCustomerSink is the BasicCopySink implementation for OdbcSink. +func (osVar OdbcSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) { return nil, false } -// AsBinaryDataset is the BasicDataset implementation for ODataResourceDataset. -func (odrd ODataResourceDataset) AsBinaryDataset() (*BinaryDataset, bool) { +// AsAzureMySQLSink is the BasicCopySink implementation for OdbcSink. +func (osVar OdbcSink) AsAzureMySQLSink() (*AzureMySQLSink, bool) { return nil, false } -// AsDelimitedTextDataset is the BasicDataset implementation for ODataResourceDataset. -func (odrd ODataResourceDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { +// AsAzurePostgreSQLSink is the BasicCopySink implementation for OdbcSink. +func (osVar OdbcSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) { return nil, false } -// AsParquetDataset is the BasicDataset implementation for ODataResourceDataset. -func (odrd ODataResourceDataset) AsParquetDataset() (*ParquetDataset, bool) { +// AsOrcSink is the BasicCopySink implementation for OdbcSink. +func (osVar OdbcSink) AsOrcSink() (*OrcSink, bool) { return nil, false } -// AsAvroDataset is the BasicDataset implementation for ODataResourceDataset. -func (odrd ODataResourceDataset) AsAvroDataset() (*AvroDataset, bool) { +// AsJSONSink is the BasicCopySink implementation for OdbcSink. +func (osVar OdbcSink) AsJSONSink() (*JSONSink, bool) { return nil, false } -// AsAmazonS3Dataset is the BasicDataset implementation for ODataResourceDataset. -func (odrd ODataResourceDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) { +// AsDelimitedTextSink is the BasicCopySink implementation for OdbcSink. +func (osVar OdbcSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) { return nil, false } -// AsDataset is the BasicDataset implementation for ODataResourceDataset. -func (odrd ODataResourceDataset) AsDataset() (*Dataset, bool) { +// AsCopySink is the BasicCopySink implementation for OdbcSink. +func (osVar OdbcSink) AsCopySink() (*CopySink, bool) { return nil, false } -// AsBasicDataset is the BasicDataset implementation for ODataResourceDataset. -func (odrd ODataResourceDataset) AsBasicDataset() (BasicDataset, bool) { - return &odrd, true +// AsBasicCopySink is the BasicCopySink implementation for OdbcSink. +func (osVar OdbcSink) AsBasicCopySink() (BasicCopySink, bool) { + return &osVar, true } -// UnmarshalJSON is the custom unmarshaler for ODataResourceDataset struct. -func (odrd *ODataResourceDataset) UnmarshalJSON(body []byte) error { +// UnmarshalJSON is the custom unmarshaler for OdbcSink struct. +func (osVar *OdbcSink) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -124892,14 +141725,14 @@ func (odrd *ODataResourceDataset) UnmarshalJSON(body []byte) error { } for k, v := range m { switch k { - case "typeProperties": + case "preCopyScript": if v != nil { - var oDataResourceDatasetTypeProperties ODataResourceDatasetTypeProperties - err = json.Unmarshal(*v, &oDataResourceDatasetTypeProperties) + var preCopyScript interface{} + err = json.Unmarshal(*v, &preCopyScript) if err != nil { return err } - odrd.ODataResourceDatasetTypeProperties = &oDataResourceDatasetTypeProperties + osVar.PreCopyScript = preCopyScript } default: if v != nil { @@ -124908,82 +141741,64 @@ func (odrd *ODataResourceDataset) UnmarshalJSON(body []byte) error { if err != nil { return err } - if odrd.AdditionalProperties == nil { - odrd.AdditionalProperties = make(map[string]interface{}) - } - odrd.AdditionalProperties[k] = additionalProperties - } - case "description": - if v != nil { - var description string - err = json.Unmarshal(*v, &description) - if err != nil { - return err - } - odrd.Description = &description - } - case "structure": - if v != nil { - var structure interface{} - err = json.Unmarshal(*v, &structure) - if err != nil { - return err + if osVar.AdditionalProperties == nil { + osVar.AdditionalProperties = make(map[string]interface{}) } - odrd.Structure = structure + osVar.AdditionalProperties[k] = additionalProperties } - case "schema": + case "writeBatchSize": if v != nil { - var schema interface{} - err = json.Unmarshal(*v, &schema) + var writeBatchSize interface{} + err = json.Unmarshal(*v, &writeBatchSize) if err != nil { return err } - odrd.Schema = schema + osVar.WriteBatchSize = writeBatchSize } - case "linkedServiceName": + case "writeBatchTimeout": if v != nil { - var linkedServiceName LinkedServiceReference - err = json.Unmarshal(*v, &linkedServiceName) + var writeBatchTimeout interface{} + err = json.Unmarshal(*v, &writeBatchTimeout) if err != nil { return err } - odrd.LinkedServiceName = &linkedServiceName + osVar.WriteBatchTimeout = writeBatchTimeout } - case "parameters": + case "sinkRetryCount": if v != nil { - var parameters map[string]*ParameterSpecification - err = json.Unmarshal(*v, ¶meters) + var sinkRetryCount interface{} + err = json.Unmarshal(*v, &sinkRetryCount) if err != nil { return err } - odrd.Parameters = parameters + osVar.SinkRetryCount = sinkRetryCount } - case "annotations": + case "sinkRetryWait": if v != nil { - var annotations []interface{} - err = json.Unmarshal(*v, &annotations) + var sinkRetryWait interface{} + err = json.Unmarshal(*v, &sinkRetryWait) if err != nil { return err } - odrd.Annotations = &annotations + osVar.SinkRetryWait = sinkRetryWait } - case "folder": + case "maxConcurrentConnections": if v != nil { - var folder DatasetFolder - err = json.Unmarshal(*v, &folder) + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) if err != nil { return err } - odrd.Folder = &folder + osVar.MaxConcurrentConnections = maxConcurrentConnections } case "type": if v != nil { - var typeVar TypeBasicDataset + var typeVar TypeBasicCopySink err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - odrd.Type = typeVar + osVar.Type = typeVar } } } @@ -124991,16 +141806,12 @@ func (odrd *ODataResourceDataset) UnmarshalJSON(body []byte) error { return nil } -// ODataResourceDatasetTypeProperties oData dataset properties. -type ODataResourceDatasetTypeProperties struct { - // Path - The OData resource path. Type: string (or Expression with resultType string). - Path interface{} `json:"path,omitempty"` -} - -// ODataSource a copy activity source for OData source. -type ODataSource struct { - // Query - OData query. For example, "$top=1". Type: string (or Expression with resultType string). +// OdbcSource a copy activity source for ODBC databases. +type OdbcSource struct { + // Query - Database query. Type: string (or Expression with resultType string). Query interface{} `json:"query,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). @@ -125009,462 +141820,490 @@ type ODataSource struct { SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' + // Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' Type TypeBasicCopySource `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for ODataSource. -func (ods ODataSource) MarshalJSON() ([]byte, error) { - ods.Type = TypeODataSource +// MarshalJSON is the custom marshaler for OdbcSource. +func (osVar OdbcSource) MarshalJSON() ([]byte, error) { + osVar.Type = TypeOdbcSource objectMap := make(map[string]interface{}) - if ods.Query != nil { - objectMap["query"] = ods.Query + if osVar.Query != nil { + objectMap["query"] = osVar.Query } - if ods.SourceRetryCount != nil { - objectMap["sourceRetryCount"] = ods.SourceRetryCount + if osVar.QueryTimeout != nil { + objectMap["queryTimeout"] = osVar.QueryTimeout } - if ods.SourceRetryWait != nil { - objectMap["sourceRetryWait"] = ods.SourceRetryWait + if osVar.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = osVar.SourceRetryCount } - if ods.MaxConcurrentConnections != nil { - objectMap["maxConcurrentConnections"] = ods.MaxConcurrentConnections + if osVar.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = osVar.SourceRetryWait } - if ods.Type != "" { - objectMap["type"] = ods.Type + if osVar.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = osVar.MaxConcurrentConnections } - for k, v := range ods.AdditionalProperties { + if osVar.Type != "" { + objectMap["type"] = osVar.Type + } + for k, v := range osVar.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsAmazonRedshiftSource is the BasicCopySource implementation for ODataSource. -func (ods ODataSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { +// AsHTTPSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsHTTPSource() (*HTTPSource, bool) { return nil, false } -// AsGoogleAdWordsSource is the BasicCopySource implementation for ODataSource. -func (ods ODataSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { +// AsAzureBlobFSSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { return nil, false } -// AsOracleServiceCloudSource is the BasicCopySource implementation for ODataSource. -func (ods ODataSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { return nil, false } -// AsDynamicsAXSource is the BasicCopySource implementation for ODataSource. -func (ods ODataSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { +// AsOffice365Source is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsOffice365Source() (*Office365Source, bool) { return nil, false } -// AsResponsysSource is the BasicCopySource implementation for ODataSource. -func (ods ODataSource) AsResponsysSource() (*ResponsysSource, bool) { +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { return nil, false } -// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for ODataSource. -func (ods ODataSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { +// AsMongoDbV2Source is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { return nil, false } -// AsVerticaSource is the BasicCopySource implementation for ODataSource. -func (ods ODataSource) AsVerticaSource() (*VerticaSource, bool) { +// AsMongoDbSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsMongoDbSource() (*MongoDbSource, bool) { return nil, false } -// AsNetezzaSource is the BasicCopySource implementation for ODataSource. -func (ods ODataSource) AsNetezzaSource() (*NetezzaSource, bool) { +// AsWebSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsWebSource() (*WebSource, bool) { return nil, false } -// AsZohoSource is the BasicCopySource implementation for ODataSource. -func (ods ODataSource) AsZohoSource() (*ZohoSource, bool) { +// AsOracleSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsOracleSource() (*OracleSource, bool) { return nil, false } -// AsXeroSource is the BasicCopySource implementation for ODataSource. -func (ods ODataSource) AsXeroSource() (*XeroSource, bool) { +// AsAzureDataExplorerSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { return nil, false } -// AsSquareSource is the BasicCopySource implementation for ODataSource. -func (ods ODataSource) AsSquareSource() (*SquareSource, bool) { +// AsHdfsSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsHdfsSource() (*HdfsSource, bool) { return nil, false } -// AsSparkSource is the BasicCopySource implementation for ODataSource. -func (ods ODataSource) AsSparkSource() (*SparkSource, bool) { +// AsFileSystemSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsFileSystemSource() (*FileSystemSource, bool) { return nil, false } -// AsShopifySource is the BasicCopySource implementation for ODataSource. -func (ods ODataSource) AsShopifySource() (*ShopifySource, bool) { +// AsRestSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsRestSource() (*RestSource, bool) { return nil, false } -// AsServiceNowSource is the BasicCopySource implementation for ODataSource. -func (ods ODataSource) AsServiceNowSource() (*ServiceNowSource, bool) { +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { return nil, false } -// AsQuickBooksSource is the BasicCopySource implementation for ODataSource. -func (ods ODataSource) AsQuickBooksSource() (*QuickBooksSource, bool) { +// AsODataSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsODataSource() (*ODataSource, bool) { return nil, false } -// AsPrestoSource is the BasicCopySource implementation for ODataSource. -func (ods ODataSource) AsPrestoSource() (*PrestoSource, bool) { +// AsMicrosoftAccessSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { return nil, false } -// AsPhoenixSource is the BasicCopySource implementation for ODataSource. -func (ods ODataSource) AsPhoenixSource() (*PhoenixSource, bool) { +// AsRelationalSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsRelationalSource() (*RelationalSource, bool) { return nil, false } -// AsPaypalSource is the BasicCopySource implementation for ODataSource. -func (ods ODataSource) AsPaypalSource() (*PaypalSource, bool) { +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { return nil, false } -// AsMarketoSource is the BasicCopySource implementation for ODataSource. -func (ods ODataSource) AsMarketoSource() (*MarketoSource, bool) { +// AsDynamicsCrmSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { return nil, false } -// AsAzureMariaDBSource is the BasicCopySource implementation for ODataSource. -func (ods ODataSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { +// AsDynamicsSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsDynamicsSource() (*DynamicsSource, bool) { return nil, false } -// AsMariaDBSource is the BasicCopySource implementation for ODataSource. -func (ods ODataSource) AsMariaDBSource() (*MariaDBSource, bool) { +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { return nil, false } -// AsMagentoSource is the BasicCopySource implementation for ODataSource. -func (ods ODataSource) AsMagentoSource() (*MagentoSource, bool) { +// AsDocumentDbCollectionSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { return nil, false } -// AsJiraSource is the BasicCopySource implementation for ODataSource. -func (ods ODataSource) AsJiraSource() (*JiraSource, bool) { +// AsBlobSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsBlobSource() (*BlobSource, bool) { return nil, false } -// AsImpalaSource is the BasicCopySource implementation for ODataSource. -func (ods ODataSource) AsImpalaSource() (*ImpalaSource, bool) { +// AsAmazonRedshiftSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { return nil, false } -// AsHubspotSource is the BasicCopySource implementation for ODataSource. -func (ods ODataSource) AsHubspotSource() (*HubspotSource, bool) { +// AsGoogleAdWordsSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { return nil, false } -// AsHiveSource is the BasicCopySource implementation for ODataSource. -func (ods ODataSource) AsHiveSource() (*HiveSource, bool) { +// AsOracleServiceCloudSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { return nil, false } -// AsHBaseSource is the BasicCopySource implementation for ODataSource. -func (ods ODataSource) AsHBaseSource() (*HBaseSource, bool) { +// AsDynamicsAXSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { return nil, false } -// AsGreenplumSource is the BasicCopySource implementation for ODataSource. -func (ods ODataSource) AsGreenplumSource() (*GreenplumSource, bool) { +// AsResponsysSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsResponsysSource() (*ResponsysSource, bool) { return nil, false } -// AsGoogleBigQuerySource is the BasicCopySource implementation for ODataSource. -func (ods ODataSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { return nil, false } -// AsEloquaSource is the BasicCopySource implementation for ODataSource. -func (ods ODataSource) AsEloquaSource() (*EloquaSource, bool) { +// AsVerticaSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsVerticaSource() (*VerticaSource, bool) { return nil, false } -// AsDrillSource is the BasicCopySource implementation for ODataSource. -func (ods ODataSource) AsDrillSource() (*DrillSource, bool) { +// AsNetezzaSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsNetezzaSource() (*NetezzaSource, bool) { return nil, false } -// AsCouchbaseSource is the BasicCopySource implementation for ODataSource. -func (ods ODataSource) AsCouchbaseSource() (*CouchbaseSource, bool) { +// AsZohoSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsZohoSource() (*ZohoSource, bool) { return nil, false } -// AsConcurSource is the BasicCopySource implementation for ODataSource. -func (ods ODataSource) AsConcurSource() (*ConcurSource, bool) { +// AsXeroSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsXeroSource() (*XeroSource, bool) { return nil, false } -// AsAzurePostgreSQLSource is the BasicCopySource implementation for ODataSource. -func (ods ODataSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { +// AsSquareSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsSquareSource() (*SquareSource, bool) { return nil, false } -// AsAmazonMWSSource is the BasicCopySource implementation for ODataSource. -func (ods ODataSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { +// AsSparkSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsSparkSource() (*SparkSource, bool) { return nil, false } -// AsHTTPSource is the BasicCopySource implementation for ODataSource. -func (ods ODataSource) AsHTTPSource() (*HTTPSource, bool) { +// AsShopifySource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsShopifySource() (*ShopifySource, bool) { return nil, false } -// AsAzureBlobFSSource is the BasicCopySource implementation for ODataSource. -func (ods ODataSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { +// AsServiceNowSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsServiceNowSource() (*ServiceNowSource, bool) { return nil, false } -// AsAzureDataLakeStoreSource is the BasicCopySource implementation for ODataSource. -func (ods ODataSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { +// AsQuickBooksSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsQuickBooksSource() (*QuickBooksSource, bool) { return nil, false } -// AsOffice365Source is the BasicCopySource implementation for ODataSource. -func (ods ODataSource) AsOffice365Source() (*Office365Source, bool) { +// AsPrestoSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsPrestoSource() (*PrestoSource, bool) { return nil, false } -// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for ODataSource. -func (ods ODataSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { +// AsPhoenixSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsPhoenixSource() (*PhoenixSource, bool) { return nil, false } -// AsMongoDbV2Source is the BasicCopySource implementation for ODataSource. -func (ods ODataSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { +// AsPaypalSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsPaypalSource() (*PaypalSource, bool) { return nil, false } -// AsMongoDbSource is the BasicCopySource implementation for ODataSource. -func (ods ODataSource) AsMongoDbSource() (*MongoDbSource, bool) { +// AsMarketoSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsMarketoSource() (*MarketoSource, bool) { return nil, false } -// AsCassandraSource is the BasicCopySource implementation for ODataSource. -func (ods ODataSource) AsCassandraSource() (*CassandraSource, bool) { +// AsAzureMariaDBSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { return nil, false } -// AsWebSource is the BasicCopySource implementation for ODataSource. -func (ods ODataSource) AsWebSource() (*WebSource, bool) { +// AsMariaDBSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsMariaDBSource() (*MariaDBSource, bool) { return nil, false } -// AsTeradataSource is the BasicCopySource implementation for ODataSource. -func (ods ODataSource) AsTeradataSource() (*TeradataSource, bool) { +// AsMagentoSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsMagentoSource() (*MagentoSource, bool) { return nil, false } -// AsOracleSource is the BasicCopySource implementation for ODataSource. -func (ods ODataSource) AsOracleSource() (*OracleSource, bool) { +// AsJiraSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsJiraSource() (*JiraSource, bool) { return nil, false } -// AsAzureDataExplorerSource is the BasicCopySource implementation for ODataSource. -func (ods ODataSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { +// AsImpalaSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsImpalaSource() (*ImpalaSource, bool) { return nil, false } -// AsAzureMySQLSource is the BasicCopySource implementation for ODataSource. -func (ods ODataSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { +// AsHubspotSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsHubspotSource() (*HubspotSource, bool) { return nil, false } -// AsHdfsSource is the BasicCopySource implementation for ODataSource. -func (ods ODataSource) AsHdfsSource() (*HdfsSource, bool) { +// AsHiveSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsHiveSource() (*HiveSource, bool) { return nil, false } -// AsFileSystemSource is the BasicCopySource implementation for ODataSource. -func (ods ODataSource) AsFileSystemSource() (*FileSystemSource, bool) { +// AsHBaseSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsHBaseSource() (*HBaseSource, bool) { return nil, false } -// AsSQLDWSource is the BasicCopySource implementation for ODataSource. -func (ods ODataSource) AsSQLDWSource() (*SQLDWSource, bool) { +// AsGreenplumSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsGreenplumSource() (*GreenplumSource, bool) { + return nil, false +} + +// AsGoogleBigQuerySource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { + return nil, false +} + +// AsEloquaSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsEloquaSource() (*EloquaSource, bool) { + return nil, false +} + +// AsDrillSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsDrillSource() (*DrillSource, bool) { + return nil, false +} + +// AsCouchbaseSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsCouchbaseSource() (*CouchbaseSource, bool) { + return nil, false +} + +// AsConcurSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsConcurSource() (*ConcurSource, bool) { return nil, false } -// AsSQLMISource is the BasicCopySource implementation for ODataSource. -func (ods ODataSource) AsSQLMISource() (*SQLMISource, bool) { +// AsAzurePostgreSQLSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { return nil, false } -// AsAzureSQLSource is the BasicCopySource implementation for ODataSource. -func (ods ODataSource) AsAzureSQLSource() (*AzureSQLSource, bool) { +// AsAmazonMWSSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { return nil, false } -// AsSQLServerSource is the BasicCopySource implementation for ODataSource. -func (ods ODataSource) AsSQLServerSource() (*SQLServerSource, bool) { +// AsCassandraSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsCassandraSource() (*CassandraSource, bool) { return nil, false } -// AsSQLSource is the BasicCopySource implementation for ODataSource. -func (ods ODataSource) AsSQLSource() (*SQLSource, bool) { +// AsTeradataSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsTeradataSource() (*TeradataSource, bool) { return nil, false } -// AsRestSource is the BasicCopySource implementation for ODataSource. -func (ods ODataSource) AsRestSource() (*RestSource, bool) { +// AsAzureMySQLSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { return nil, false } -// AsSapTableSource is the BasicCopySource implementation for ODataSource. -func (ods ODataSource) AsSapTableSource() (*SapTableSource, bool) { +// AsSQLDWSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsSQLDWSource() (*SQLDWSource, bool) { return nil, false } -// AsSapOpenHubSource is the BasicCopySource implementation for ODataSource. -func (ods ODataSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { +// AsSQLMISource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsSQLMISource() (*SQLMISource, bool) { return nil, false } -// AsSapHanaSource is the BasicCopySource implementation for ODataSource. -func (ods ODataSource) AsSapHanaSource() (*SapHanaSource, bool) { +// AsAzureSQLSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsAzureSQLSource() (*AzureSQLSource, bool) { return nil, false } -// AsSapEccSource is the BasicCopySource implementation for ODataSource. -func (ods ODataSource) AsSapEccSource() (*SapEccSource, bool) { +// AsSQLServerSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsSQLServerSource() (*SQLServerSource, bool) { return nil, false } -// AsSapCloudForCustomerSource is the BasicCopySource implementation for ODataSource. -func (ods ODataSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { +// AsSQLSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsSQLSource() (*SQLSource, bool) { return nil, false } -// AsSalesforceServiceCloudSource is the BasicCopySource implementation for ODataSource. -func (ods ODataSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { +// AsSapTableSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsSapTableSource() (*SapTableSource, bool) { return nil, false } -// AsSalesforceSource is the BasicCopySource implementation for ODataSource. -func (ods ODataSource) AsSalesforceSource() (*SalesforceSource, bool) { +// AsSapOpenHubSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { return nil, false } -// AsODataSource is the BasicCopySource implementation for ODataSource. -func (ods ODataSource) AsODataSource() (*ODataSource, bool) { - return &ods, true +// AsSapHanaSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsSapHanaSource() (*SapHanaSource, bool) { + return nil, false } -// AsSapBwSource is the BasicCopySource implementation for ODataSource. -func (ods ODataSource) AsSapBwSource() (*SapBwSource, bool) { +// AsSapEccSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsSapEccSource() (*SapEccSource, bool) { return nil, false } -// AsSybaseSource is the BasicCopySource implementation for ODataSource. -func (ods ODataSource) AsSybaseSource() (*SybaseSource, bool) { +// AsSapCloudForCustomerSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { return nil, false } -// AsPostgreSQLSource is the BasicCopySource implementation for ODataSource. -func (ods ODataSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { +// AsSalesforceSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsSalesforceSource() (*SalesforceSource, bool) { return nil, false } -// AsMySQLSource is the BasicCopySource implementation for ODataSource. -func (ods ODataSource) AsMySQLSource() (*MySQLSource, bool) { +// AsSapBwSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsSapBwSource() (*SapBwSource, bool) { return nil, false } -// AsOdbcSource is the BasicCopySource implementation for ODataSource. -func (ods ODataSource) AsOdbcSource() (*OdbcSource, bool) { +// AsSybaseSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsSybaseSource() (*SybaseSource, bool) { return nil, false } -// AsDb2Source is the BasicCopySource implementation for ODataSource. -func (ods ODataSource) AsDb2Source() (*Db2Source, bool) { +// AsPostgreSQLSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { return nil, false } -// AsMicrosoftAccessSource is the BasicCopySource implementation for ODataSource. -func (ods ODataSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { +// AsMySQLSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsMySQLSource() (*MySQLSource, bool) { return nil, false } -// AsInformixSource is the BasicCopySource implementation for ODataSource. -func (ods ODataSource) AsInformixSource() (*InformixSource, bool) { - return nil, false +// AsOdbcSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsOdbcSource() (*OdbcSource, bool) { + return &osVar, true } -// AsRelationalSource is the BasicCopySource implementation for ODataSource. -func (ods ODataSource) AsRelationalSource() (*RelationalSource, bool) { +// AsDb2Source is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsDb2Source() (*Db2Source, bool) { return nil, false } -// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for ODataSource. -func (ods ODataSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { +// AsInformixSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsInformixSource() (*InformixSource, bool) { return nil, false } -// AsDynamicsCrmSource is the BasicCopySource implementation for ODataSource. -func (ods ODataSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { +// AsAzureTableSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsAzureTableSource() (*AzureTableSource, bool) { return nil, false } -// AsDynamicsSource is the BasicCopySource implementation for ODataSource. -func (ods ODataSource) AsDynamicsSource() (*DynamicsSource, bool) { +// AsTabularSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsTabularSource() (*TabularSource, bool) { return nil, false } -// AsDocumentDbCollectionSource is the BasicCopySource implementation for ODataSource. -func (ods ODataSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { - return nil, false +// AsBasicTabularSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &osVar, true } -// AsBlobSource is the BasicCopySource implementation for ODataSource. -func (ods ODataSource) AsBlobSource() (*BlobSource, bool) { +// AsBinarySource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsBinarySource() (*BinarySource, bool) { return nil, false } -// AsAzureTableSource is the BasicCopySource implementation for ODataSource. -func (ods ODataSource) AsAzureTableSource() (*AzureTableSource, bool) { +// AsOrcSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsOrcSource() (*OrcSource, bool) { return nil, false } -// AsBinarySource is the BasicCopySource implementation for ODataSource. -func (ods ODataSource) AsBinarySource() (*BinarySource, bool) { +// AsJSONSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsJSONSource() (*JSONSource, bool) { return nil, false } -// AsDelimitedTextSource is the BasicCopySource implementation for ODataSource. -func (ods ODataSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { +// AsDelimitedTextSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { return nil, false } -// AsParquetSource is the BasicCopySource implementation for ODataSource. -func (ods ODataSource) AsParquetSource() (*ParquetSource, bool) { +// AsParquetSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsParquetSource() (*ParquetSource, bool) { return nil, false } -// AsAvroSource is the BasicCopySource implementation for ODataSource. -func (ods ODataSource) AsAvroSource() (*AvroSource, bool) { +// AsAvroSource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsAvroSource() (*AvroSource, bool) { return nil, false } -// AsCopySource is the BasicCopySource implementation for ODataSource. -func (ods ODataSource) AsCopySource() (*CopySource, bool) { +// AsCopySource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsCopySource() (*CopySource, bool) { return nil, false } -// AsBasicCopySource is the BasicCopySource implementation for ODataSource. -func (ods ODataSource) AsBasicCopySource() (BasicCopySource, bool) { - return &ods, true +// AsBasicCopySource is the BasicCopySource implementation for OdbcSource. +func (osVar OdbcSource) AsBasicCopySource() (BasicCopySource, bool) { + return &osVar, true } -// UnmarshalJSON is the custom unmarshaler for ODataSource struct. -func (ods *ODataSource) UnmarshalJSON(body []byte) error { +// UnmarshalJSON is the custom unmarshaler for OdbcSource struct. +func (osVar *OdbcSource) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -125479,7 +142318,16 @@ func (ods *ODataSource) UnmarshalJSON(body []byte) error { if err != nil { return err } - ods.Query = query + osVar.Query = query + } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + osVar.QueryTimeout = queryTimeout } default: if v != nil { @@ -125488,10 +142336,10 @@ func (ods *ODataSource) UnmarshalJSON(body []byte) error { if err != nil { return err } - if ods.AdditionalProperties == nil { - ods.AdditionalProperties = make(map[string]interface{}) + if osVar.AdditionalProperties == nil { + osVar.AdditionalProperties = make(map[string]interface{}) } - ods.AdditionalProperties[k] = additionalProperties + osVar.AdditionalProperties[k] = additionalProperties } case "sourceRetryCount": if v != nil { @@ -125500,7 +142348,7 @@ func (ods *ODataSource) UnmarshalJSON(body []byte) error { if err != nil { return err } - ods.SourceRetryCount = sourceRetryCount + osVar.SourceRetryCount = sourceRetryCount } case "sourceRetryWait": if v != nil { @@ -125509,7 +142357,7 @@ func (ods *ODataSource) UnmarshalJSON(body []byte) error { if err != nil { return err } - ods.SourceRetryWait = sourceRetryWait + osVar.SourceRetryWait = sourceRetryWait } case "maxConcurrentConnections": if v != nil { @@ -125518,7 +142366,7 @@ func (ods *ODataSource) UnmarshalJSON(body []byte) error { if err != nil { return err } - ods.MaxConcurrentConnections = maxConcurrentConnections + osVar.MaxConcurrentConnections = maxConcurrentConnections } case "type": if v != nil { @@ -125527,7 +142375,7 @@ func (ods *ODataSource) UnmarshalJSON(body []byte) error { if err != nil { return err } - ods.Type = typeVar + osVar.Type = typeVar } } } @@ -125535,519 +142383,514 @@ func (ods *ODataSource) UnmarshalJSON(body []byte) error { return nil } -// OdbcLinkedService open Database Connectivity (ODBC) linked service. -type OdbcLinkedService struct { - // OdbcLinkedServiceTypeProperties - ODBC linked service properties. - *OdbcLinkedServiceTypeProperties `json:"typeProperties,omitempty"` +// OdbcTableDataset the ODBC table dataset. +type OdbcTableDataset struct { + // OdbcTableDatasetTypeProperties - ODBC table dataset properties. + *OdbcTableDatasetTypeProperties `json:"typeProperties,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` - // ConnectVia - The integration runtime reference. - ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` - // Description - Linked service description. + // Description - Dataset description. Description *string `json:"description,omitempty"` - // Parameters - Parameters for linked service. + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. Parameters map[string]*ParameterSpecification `json:"parameters"` - // Annotations - List of tags that can be used for describing the linked service. + // Annotations - List of tags that can be used for describing the Dataset. Annotations *[]interface{} `json:"annotations,omitempty"` - // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' - Type TypeBasicLinkedService `json:"type,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' + Type TypeBasicDataset `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for OdbcLinkedService. -func (ols OdbcLinkedService) MarshalJSON() ([]byte, error) { - ols.Type = TypeOdbc +// MarshalJSON is the custom marshaler for OdbcTableDataset. +func (otd OdbcTableDataset) MarshalJSON() ([]byte, error) { + otd.Type = TypeOdbcTable objectMap := make(map[string]interface{}) - if ols.OdbcLinkedServiceTypeProperties != nil { - objectMap["typeProperties"] = ols.OdbcLinkedServiceTypeProperties + if otd.OdbcTableDatasetTypeProperties != nil { + objectMap["typeProperties"] = otd.OdbcTableDatasetTypeProperties } - if ols.ConnectVia != nil { - objectMap["connectVia"] = ols.ConnectVia + if otd.Description != nil { + objectMap["description"] = otd.Description } - if ols.Description != nil { - objectMap["description"] = ols.Description + if otd.Structure != nil { + objectMap["structure"] = otd.Structure } - if ols.Parameters != nil { - objectMap["parameters"] = ols.Parameters + if otd.Schema != nil { + objectMap["schema"] = otd.Schema } - if ols.Annotations != nil { - objectMap["annotations"] = ols.Annotations + if otd.LinkedServiceName != nil { + objectMap["linkedServiceName"] = otd.LinkedServiceName } - if ols.Type != "" { - objectMap["type"] = ols.Type + if otd.Parameters != nil { + objectMap["parameters"] = otd.Parameters } - for k, v := range ols.AdditionalProperties { + if otd.Annotations != nil { + objectMap["annotations"] = otd.Annotations + } + if otd.Folder != nil { + objectMap["folder"] = otd.Folder + } + if otd.Type != "" { + objectMap["type"] = otd.Type + } + for k, v := range otd.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsAzureFunctionLinkedService is the BasicLinkedService implementation for OdbcLinkedService. -func (ols OdbcLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { - return nil, false -} - -// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for OdbcLinkedService. -func (ols OdbcLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { - return nil, false -} - -// AsSapTableLinkedService is the BasicLinkedService implementation for OdbcLinkedService. -func (ols OdbcLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { - return nil, false -} - -// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for OdbcLinkedService. -func (ols OdbcLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { return nil, false } -// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for OdbcLinkedService. -func (ols OdbcLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { return nil, false } -// AsDynamicsAXLinkedService is the BasicLinkedService implementation for OdbcLinkedService. -func (ols OdbcLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { return nil, false } -// AsResponsysLinkedService is the BasicLinkedService implementation for OdbcLinkedService. -func (ols OdbcLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { +// AsDynamicsAXResourceDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { return nil, false } -// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for OdbcLinkedService. -func (ols OdbcLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { +// AsResponsysObjectDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { return nil, false } -// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for OdbcLinkedService. -func (ols OdbcLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { return nil, false } -// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for OdbcLinkedService. -func (ols OdbcLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { +// AsVerticaTableDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { return nil, false } -// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for OdbcLinkedService. -func (ols OdbcLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { +// AsNetezzaTableDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { return nil, false } -// AsNetezzaLinkedService is the BasicLinkedService implementation for OdbcLinkedService. -func (ols OdbcLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { +// AsZohoObjectDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { return nil, false } -// AsVerticaLinkedService is the BasicLinkedService implementation for OdbcLinkedService. -func (ols OdbcLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { +// AsXeroObjectDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { return nil, false } -// AsZohoLinkedService is the BasicLinkedService implementation for OdbcLinkedService. -func (ols OdbcLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { +// AsSquareObjectDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { return nil, false } -// AsXeroLinkedService is the BasicLinkedService implementation for OdbcLinkedService. -func (ols OdbcLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { +// AsSparkObjectDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { return nil, false } -// AsSquareLinkedService is the BasicLinkedService implementation for OdbcLinkedService. -func (ols OdbcLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { +// AsShopifyObjectDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { return nil, false } -// AsSparkLinkedService is the BasicLinkedService implementation for OdbcLinkedService. -func (ols OdbcLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { +// AsServiceNowObjectDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { return nil, false } -// AsShopifyLinkedService is the BasicLinkedService implementation for OdbcLinkedService. -func (ols OdbcLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { +// AsQuickBooksObjectDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { return nil, false } -// AsServiceNowLinkedService is the BasicLinkedService implementation for OdbcLinkedService. -func (ols OdbcLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { +// AsPrestoObjectDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { return nil, false } -// AsQuickBooksLinkedService is the BasicLinkedService implementation for OdbcLinkedService. -func (ols OdbcLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { +// AsPhoenixObjectDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { return nil, false } -// AsPrestoLinkedService is the BasicLinkedService implementation for OdbcLinkedService. -func (ols OdbcLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { +// AsPaypalObjectDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { return nil, false } -// AsPhoenixLinkedService is the BasicLinkedService implementation for OdbcLinkedService. -func (ols OdbcLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { +// AsMarketoObjectDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { return nil, false } -// AsPaypalLinkedService is the BasicLinkedService implementation for OdbcLinkedService. -func (ols OdbcLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { +// AsAzureMariaDBTableDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { return nil, false } -// AsMarketoLinkedService is the BasicLinkedService implementation for OdbcLinkedService. -func (ols OdbcLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { +// AsMariaDBTableDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { return nil, false } -// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for OdbcLinkedService. -func (ols OdbcLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { +// AsMagentoObjectDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { return nil, false } -// AsMariaDBLinkedService is the BasicLinkedService implementation for OdbcLinkedService. -func (ols OdbcLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { +// AsJiraObjectDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { return nil, false } -// AsMagentoLinkedService is the BasicLinkedService implementation for OdbcLinkedService. -func (ols OdbcLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { +// AsImpalaObjectDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { return nil, false } -// AsJiraLinkedService is the BasicLinkedService implementation for OdbcLinkedService. -func (ols OdbcLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { +// AsHubspotObjectDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { return nil, false } -// AsImpalaLinkedService is the BasicLinkedService implementation for OdbcLinkedService. -func (ols OdbcLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { +// AsHiveObjectDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { return nil, false } -// AsHubspotLinkedService is the BasicLinkedService implementation for OdbcLinkedService. -func (ols OdbcLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { +// AsHBaseObjectDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { return nil, false } -// AsHiveLinkedService is the BasicLinkedService implementation for OdbcLinkedService. -func (ols OdbcLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { +// AsGreenplumTableDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { return nil, false } -// AsHBaseLinkedService is the BasicLinkedService implementation for OdbcLinkedService. -func (ols OdbcLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { return nil, false } -// AsGreenplumLinkedService is the BasicLinkedService implementation for OdbcLinkedService. -func (ols OdbcLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { +// AsEloquaObjectDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { return nil, false } -// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for OdbcLinkedService. -func (ols OdbcLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { +// AsDrillTableDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { return nil, false } -// AsEloquaLinkedService is the BasicLinkedService implementation for OdbcLinkedService. -func (ols OdbcLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { +// AsCouchbaseTableDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { return nil, false } -// AsDrillLinkedService is the BasicLinkedService implementation for OdbcLinkedService. -func (ols OdbcLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { +// AsConcurObjectDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { return nil, false } -// AsCouchbaseLinkedService is the BasicLinkedService implementation for OdbcLinkedService. -func (ols OdbcLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { return nil, false } -// AsConcurLinkedService is the BasicLinkedService implementation for OdbcLinkedService. -func (ols OdbcLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { +// AsAmazonMWSObjectDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { return nil, false } -// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for OdbcLinkedService. -func (ols OdbcLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { +// AsHTTPDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsHTTPDataset() (*HTTPDataset, bool) { return nil, false } -// AsAmazonMWSLinkedService is the BasicLinkedService implementation for OdbcLinkedService. -func (ols OdbcLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { +// AsAzureSearchIndexDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { return nil, false } -// AsSapHanaLinkedService is the BasicLinkedService implementation for OdbcLinkedService. -func (ols OdbcLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { +// AsWebTableDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsWebTableDataset() (*WebTableDataset, bool) { return nil, false } -// AsSapBWLinkedService is the BasicLinkedService implementation for OdbcLinkedService. -func (ols OdbcLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { +// AsSapTableResourceDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { return nil, false } -// AsSftpServerLinkedService is the BasicLinkedService implementation for OdbcLinkedService. -func (ols OdbcLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { +// AsRestResourceDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { return nil, false } -// AsFtpServerLinkedService is the BasicLinkedService implementation for OdbcLinkedService. -func (ols OdbcLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { +// AsSQLServerTableDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { return nil, false } -// AsHTTPLinkedService is the BasicLinkedService implementation for OdbcLinkedService. -func (ols OdbcLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { +// AsSapOpenHubTableDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { return nil, false } -// AsAzureSearchLinkedService is the BasicLinkedService implementation for OdbcLinkedService. -func (ols OdbcLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { +// AsSapHanaTableDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { return nil, false } -// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for OdbcLinkedService. -func (ols OdbcLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { +// AsSapEccResourceDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { return nil, false } -// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for OdbcLinkedService. -func (ols OdbcLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { return nil, false } -// AsAmazonS3LinkedService is the BasicLinkedService implementation for OdbcLinkedService. -func (ols OdbcLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { +// AsSapBwCubeDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { return nil, false } -// AsRestServiceLinkedService is the BasicLinkedService implementation for OdbcLinkedService. -func (ols OdbcLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { +// AsSybaseTableDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { return nil, false } -// AsSapOpenHubLinkedService is the BasicLinkedService implementation for OdbcLinkedService. -func (ols OdbcLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { return nil, false } -// AsSapEccLinkedService is the BasicLinkedService implementation for OdbcLinkedService. -func (ols OdbcLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { +// AsSalesforceObjectDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { return nil, false } -// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for OdbcLinkedService. -func (ols OdbcLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { return nil, false } -// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for OdbcLinkedService. -func (ols OdbcLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { +// AsPostgreSQLTableDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { return nil, false } -// AsSalesforceLinkedService is the BasicLinkedService implementation for OdbcLinkedService. -func (ols OdbcLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { +// AsMySQLTableDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { return nil, false } -// AsOffice365LinkedService is the BasicLinkedService implementation for OdbcLinkedService. -func (ols OdbcLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { - return nil, false +// AsOdbcTableDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { + return &otd, true } -// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for OdbcLinkedService. -func (ols OdbcLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { +// AsInformixTableDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { return nil, false } -// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for OdbcLinkedService. -func (ols OdbcLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { +// AsRelationalTableDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { return nil, false } -// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for OdbcLinkedService. -func (ols OdbcLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { +// AsDb2TableDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { return nil, false } -// AsMongoDbV2LinkedService is the BasicLinkedService implementation for OdbcLinkedService. -func (ols OdbcLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { return nil, false } -// AsMongoDbLinkedService is the BasicLinkedService implementation for OdbcLinkedService. -func (ols OdbcLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { +// AsAzureMySQLTableDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { return nil, false } -// AsCassandraLinkedService is the BasicLinkedService implementation for OdbcLinkedService. -func (ols OdbcLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { +// AsTeradataTableDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { return nil, false } -// AsWebLinkedService is the BasicLinkedService implementation for OdbcLinkedService. -func (ols OdbcLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { +// AsOracleTableDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { return nil, false } -// AsODataLinkedService is the BasicLinkedService implementation for OdbcLinkedService. -func (ols OdbcLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { +// AsODataResourceDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { return nil, false } -// AsHdfsLinkedService is the BasicLinkedService implementation for OdbcLinkedService. -func (ols OdbcLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { return nil, false } -// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for OdbcLinkedService. -func (ols OdbcLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { return nil, false } -// AsInformixLinkedService is the BasicLinkedService implementation for OdbcLinkedService. -func (ols OdbcLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { +// AsMongoDbCollectionDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { return nil, false } -// AsOdbcLinkedService is the BasicLinkedService implementation for OdbcLinkedService. -func (ols OdbcLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { - return &ols, true -} - -// AsAzureMLLinkedService is the BasicLinkedService implementation for OdbcLinkedService. -func (ols OdbcLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { +// AsFileShareDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsFileShareDataset() (*FileShareDataset, bool) { return nil, false } -// AsTeradataLinkedService is the BasicLinkedService implementation for OdbcLinkedService. -func (ols OdbcLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { +// AsOffice365Dataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsOffice365Dataset() (*Office365Dataset, bool) { return nil, false } -// AsDb2LinkedService is the BasicLinkedService implementation for OdbcLinkedService. -func (ols OdbcLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { +// AsAzureBlobFSDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) { return nil, false } -// AsSybaseLinkedService is the BasicLinkedService implementation for OdbcLinkedService. -func (ols OdbcLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { +// AsAzureDataLakeStoreDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) { return nil, false } -// AsPostgreSQLLinkedService is the BasicLinkedService implementation for OdbcLinkedService. -func (ols OdbcLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { return nil, false } -// AsMySQLLinkedService is the BasicLinkedService implementation for OdbcLinkedService. -func (ols OdbcLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { return nil, false } -// AsAzureMySQLLinkedService is the BasicLinkedService implementation for OdbcLinkedService. -func (ols OdbcLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { +// AsDynamicsEntityDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { return nil, false } -// AsOracleLinkedService is the BasicLinkedService implementation for OdbcLinkedService. -func (ols OdbcLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { +// AsDocumentDbCollectionDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { return nil, false } -// AsFileServerLinkedService is the BasicLinkedService implementation for OdbcLinkedService. -func (ols OdbcLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { return nil, false } -// AsHDInsightLinkedService is the BasicLinkedService implementation for OdbcLinkedService. -func (ols OdbcLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { +// AsCustomDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsCustomDataset() (*CustomDataset, bool) { return nil, false } -// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for OdbcLinkedService. -func (ols OdbcLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { +// AsCassandraTableDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { return nil, false } -// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for OdbcLinkedService. -func (ols OdbcLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { +// AsAzureSQLDWTableDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { return nil, false } -// AsDynamicsLinkedService is the BasicLinkedService implementation for OdbcLinkedService. -func (ols OdbcLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { +// AsAzureSQLMITableDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { return nil, false } -// AsCosmosDbLinkedService is the BasicLinkedService implementation for OdbcLinkedService. -func (ols OdbcLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { +// AsAzureSQLTableDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { return nil, false } -// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for OdbcLinkedService. -func (ols OdbcLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { +// AsAzureTableDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { return nil, false } -// AsAzureBatchLinkedService is the BasicLinkedService implementation for OdbcLinkedService. -func (ols OdbcLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { +// AsAzureBlobDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) { return nil, false } -// AsAzureSQLMILinkedService is the BasicLinkedService implementation for OdbcLinkedService. -func (ols OdbcLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { +// AsBinaryDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsBinaryDataset() (*BinaryDataset, bool) { return nil, false } -// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for OdbcLinkedService. -func (ols OdbcLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { +// AsOrcDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsOrcDataset() (*OrcDataset, bool) { return nil, false } -// AsSQLServerLinkedService is the BasicLinkedService implementation for OdbcLinkedService. -func (ols OdbcLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { +// AsJSONDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsJSONDataset() (*JSONDataset, bool) { return nil, false } -// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for OdbcLinkedService. -func (ols OdbcLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { +// AsDelimitedTextDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { return nil, false } -// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for OdbcLinkedService. -func (ols OdbcLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { +// AsParquetDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsParquetDataset() (*ParquetDataset, bool) { return nil, false } -// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for OdbcLinkedService. -func (ols OdbcLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { +// AsAvroDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsAvroDataset() (*AvroDataset, bool) { return nil, false } -// AsAzureStorageLinkedService is the BasicLinkedService implementation for OdbcLinkedService. -func (ols OdbcLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { +// AsAmazonS3Dataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) { return nil, false } -// AsLinkedService is the BasicLinkedService implementation for OdbcLinkedService. -func (ols OdbcLinkedService) AsLinkedService() (*LinkedService, bool) { +// AsDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsDataset() (*Dataset, bool) { return nil, false } -// AsBasicLinkedService is the BasicLinkedService implementation for OdbcLinkedService. -func (ols OdbcLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { - return &ols, true +// AsBasicDataset is the BasicDataset implementation for OdbcTableDataset. +func (otd OdbcTableDataset) AsBasicDataset() (BasicDataset, bool) { + return &otd, true } -// UnmarshalJSON is the custom unmarshaler for OdbcLinkedService struct. -func (ols *OdbcLinkedService) UnmarshalJSON(body []byte) error { +// UnmarshalJSON is the custom unmarshaler for OdbcTableDataset struct. +func (otd *OdbcTableDataset) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -126057,12 +142900,12 @@ func (ols *OdbcLinkedService) UnmarshalJSON(body []byte) error { switch k { case "typeProperties": if v != nil { - var odbcLinkedServiceTypeProperties OdbcLinkedServiceTypeProperties - err = json.Unmarshal(*v, &odbcLinkedServiceTypeProperties) + var odbcTableDatasetTypeProperties OdbcTableDatasetTypeProperties + err = json.Unmarshal(*v, &odbcTableDatasetTypeProperties) if err != nil { return err } - ols.OdbcLinkedServiceTypeProperties = &odbcLinkedServiceTypeProperties + otd.OdbcTableDatasetTypeProperties = &odbcTableDatasetTypeProperties } default: if v != nil { @@ -126071,19 +142914,10 @@ func (ols *OdbcLinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - if ols.AdditionalProperties == nil { - ols.AdditionalProperties = make(map[string]interface{}) - } - ols.AdditionalProperties[k] = additionalProperties - } - case "connectVia": - if v != nil { - var connectVia IntegrationRuntimeReference - err = json.Unmarshal(*v, &connectVia) - if err != nil { - return err + if otd.AdditionalProperties == nil { + otd.AdditionalProperties = make(map[string]interface{}) } - ols.ConnectVia = &connectVia + otd.AdditionalProperties[k] = additionalProperties } case "description": if v != nil { @@ -126092,418 +142926,70 @@ func (ols *OdbcLinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - ols.Description = &description - } - case "parameters": - if v != nil { - var parameters map[string]*ParameterSpecification - err = json.Unmarshal(*v, ¶meters) - if err != nil { - return err - } - ols.Parameters = parameters - } - case "annotations": - if v != nil { - var annotations []interface{} - err = json.Unmarshal(*v, &annotations) - if err != nil { - return err - } - ols.Annotations = &annotations - } - case "type": - if v != nil { - var typeVar TypeBasicLinkedService - err = json.Unmarshal(*v, &typeVar) - if err != nil { - return err - } - ols.Type = typeVar - } - } - } - - return nil -} - -// OdbcLinkedServiceTypeProperties ODBC linked service properties. -type OdbcLinkedServiceTypeProperties struct { - // ConnectionString - The non-access credential portion of the connection string as well as an optional encrypted credential. Type: string, SecureString or AzureKeyVaultSecretReference. - ConnectionString interface{} `json:"connectionString,omitempty"` - // AuthenticationType - Type of authentication used to connect to the ODBC data store. Possible values are: Anonymous and Basic. Type: string (or Expression with resultType string). - AuthenticationType interface{} `json:"authenticationType,omitempty"` - // Credential - The access credential portion of the connection string specified in driver-specific property-value format. - Credential BasicSecretBase `json:"credential,omitempty"` - // UserName - User name for Basic authentication. Type: string (or Expression with resultType string). - UserName interface{} `json:"userName,omitempty"` - // Password - Password for Basic authentication. - Password BasicSecretBase `json:"password,omitempty"` - // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). - EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` -} - -// UnmarshalJSON is the custom unmarshaler for OdbcLinkedServiceTypeProperties struct. -func (olstp *OdbcLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - case "connectionString": - if v != nil { - var connectionString interface{} - err = json.Unmarshal(*v, &connectionString) - if err != nil { - return err - } - olstp.ConnectionString = connectionString - } - case "authenticationType": - if v != nil { - var authenticationType interface{} - err = json.Unmarshal(*v, &authenticationType) - if err != nil { - return err - } - olstp.AuthenticationType = authenticationType - } - case "credential": - if v != nil { - credential, err := unmarshalBasicSecretBase(*v) - if err != nil { - return err - } - olstp.Credential = credential - } - case "userName": - if v != nil { - var userName interface{} - err = json.Unmarshal(*v, &userName) - if err != nil { - return err - } - olstp.UserName = userName - } - case "password": - if v != nil { - password, err := unmarshalBasicSecretBase(*v) - if err != nil { - return err - } - olstp.Password = password - } - case "encryptedCredential": - if v != nil { - var encryptedCredential interface{} - err = json.Unmarshal(*v, &encryptedCredential) - if err != nil { - return err - } - olstp.EncryptedCredential = encryptedCredential - } - } - } - - return nil -} - -// OdbcSink a copy activity ODBC sink. -type OdbcSink struct { - // PreCopyScript - A query to execute before starting the copy. Type: string (or Expression with resultType string). - PreCopyScript interface{} `json:"preCopyScript,omitempty"` - // AdditionalProperties - Unmatched properties from the message are deserialized this collection - AdditionalProperties map[string]interface{} `json:""` - // WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0. - WriteBatchSize interface{} `json:"writeBatchSize,omitempty"` - // WriteBatchTimeout - Write batch timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). - WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"` - // SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer). - SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"` - // SinkRetryWait - Sink retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). - SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"` - // MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). - MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAvroSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzurePostgreSQLSink', 'TypeDelimitedTextSink' - Type TypeBasicCopySink `json:"type,omitempty"` -} - -// MarshalJSON is the custom marshaler for OdbcSink. -func (osVar OdbcSink) MarshalJSON() ([]byte, error) { - osVar.Type = TypeOdbcSink - objectMap := make(map[string]interface{}) - if osVar.PreCopyScript != nil { - objectMap["preCopyScript"] = osVar.PreCopyScript - } - if osVar.WriteBatchSize != nil { - objectMap["writeBatchSize"] = osVar.WriteBatchSize - } - if osVar.WriteBatchTimeout != nil { - objectMap["writeBatchTimeout"] = osVar.WriteBatchTimeout - } - if osVar.SinkRetryCount != nil { - objectMap["sinkRetryCount"] = osVar.SinkRetryCount - } - if osVar.SinkRetryWait != nil { - objectMap["sinkRetryWait"] = osVar.SinkRetryWait - } - if osVar.MaxConcurrentConnections != nil { - objectMap["maxConcurrentConnections"] = osVar.MaxConcurrentConnections - } - if osVar.Type != "" { - objectMap["type"] = osVar.Type - } - for k, v := range osVar.AdditionalProperties { - objectMap[k] = v - } - return json.Marshal(objectMap) -} - -// AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for OdbcSink. -func (osVar OdbcSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) { - return nil, false -} - -// AsSalesforceServiceCloudSink is the BasicCopySink implementation for OdbcSink. -func (osVar OdbcSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) { - return nil, false -} - -// AsSalesforceSink is the BasicCopySink implementation for OdbcSink. -func (osVar OdbcSink) AsSalesforceSink() (*SalesforceSink, bool) { - return nil, false -} - -// AsAzureDataExplorerSink is the BasicCopySink implementation for OdbcSink. -func (osVar OdbcSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) { - return nil, false -} - -// AsCommonDataServiceForAppsSink is the BasicCopySink implementation for OdbcSink. -func (osVar OdbcSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) { - return nil, false -} - -// AsDynamicsCrmSink is the BasicCopySink implementation for OdbcSink. -func (osVar OdbcSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) { - return nil, false -} - -// AsDynamicsSink is the BasicCopySink implementation for OdbcSink. -func (osVar OdbcSink) AsDynamicsSink() (*DynamicsSink, bool) { - return nil, false -} - -// AsMicrosoftAccessSink is the BasicCopySink implementation for OdbcSink. -func (osVar OdbcSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) { - return nil, false -} - -// AsInformixSink is the BasicCopySink implementation for OdbcSink. -func (osVar OdbcSink) AsInformixSink() (*InformixSink, bool) { - return nil, false -} - -// AsOdbcSink is the BasicCopySink implementation for OdbcSink. -func (osVar OdbcSink) AsOdbcSink() (*OdbcSink, bool) { - return &osVar, true -} - -// AsAzureSearchIndexSink is the BasicCopySink implementation for OdbcSink. -func (osVar OdbcSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) { - return nil, false -} - -// AsAzureBlobFSSink is the BasicCopySink implementation for OdbcSink. -func (osVar OdbcSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) { - return nil, false -} - -// AsAzureDataLakeStoreSink is the BasicCopySink implementation for OdbcSink. -func (osVar OdbcSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) { - return nil, false -} - -// AsOracleSink is the BasicCopySink implementation for OdbcSink. -func (osVar OdbcSink) AsOracleSink() (*OracleSink, bool) { - return nil, false -} - -// AsSQLDWSink is the BasicCopySink implementation for OdbcSink. -func (osVar OdbcSink) AsSQLDWSink() (*SQLDWSink, bool) { - return nil, false -} - -// AsSQLMISink is the BasicCopySink implementation for OdbcSink. -func (osVar OdbcSink) AsSQLMISink() (*SQLMISink, bool) { - return nil, false -} - -// AsAzureSQLSink is the BasicCopySink implementation for OdbcSink. -func (osVar OdbcSink) AsAzureSQLSink() (*AzureSQLSink, bool) { - return nil, false -} - -// AsSQLServerSink is the BasicCopySink implementation for OdbcSink. -func (osVar OdbcSink) AsSQLServerSink() (*SQLServerSink, bool) { - return nil, false -} - -// AsSQLSink is the BasicCopySink implementation for OdbcSink. -func (osVar OdbcSink) AsSQLSink() (*SQLSink, bool) { - return nil, false -} - -// AsDocumentDbCollectionSink is the BasicCopySink implementation for OdbcSink. -func (osVar OdbcSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) { - return nil, false -} - -// AsFileSystemSink is the BasicCopySink implementation for OdbcSink. -func (osVar OdbcSink) AsFileSystemSink() (*FileSystemSink, bool) { - return nil, false -} - -// AsBlobSink is the BasicCopySink implementation for OdbcSink. -func (osVar OdbcSink) AsBlobSink() (*BlobSink, bool) { - return nil, false -} - -// AsBinarySink is the BasicCopySink implementation for OdbcSink. -func (osVar OdbcSink) AsBinarySink() (*BinarySink, bool) { - return nil, false -} - -// AsParquetSink is the BasicCopySink implementation for OdbcSink. -func (osVar OdbcSink) AsParquetSink() (*ParquetSink, bool) { - return nil, false -} - -// AsAvroSink is the BasicCopySink implementation for OdbcSink. -func (osVar OdbcSink) AsAvroSink() (*AvroSink, bool) { - return nil, false -} - -// AsAzureTableSink is the BasicCopySink implementation for OdbcSink. -func (osVar OdbcSink) AsAzureTableSink() (*AzureTableSink, bool) { - return nil, false -} - -// AsAzureQueueSink is the BasicCopySink implementation for OdbcSink. -func (osVar OdbcSink) AsAzureQueueSink() (*AzureQueueSink, bool) { - return nil, false -} - -// AsSapCloudForCustomerSink is the BasicCopySink implementation for OdbcSink. -func (osVar OdbcSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) { - return nil, false -} - -// AsAzurePostgreSQLSink is the BasicCopySink implementation for OdbcSink. -func (osVar OdbcSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) { - return nil, false -} - -// AsDelimitedTextSink is the BasicCopySink implementation for OdbcSink. -func (osVar OdbcSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) { - return nil, false -} - -// AsCopySink is the BasicCopySink implementation for OdbcSink. -func (osVar OdbcSink) AsCopySink() (*CopySink, bool) { - return nil, false -} - -// AsBasicCopySink is the BasicCopySink implementation for OdbcSink. -func (osVar OdbcSink) AsBasicCopySink() (BasicCopySink, bool) { - return &osVar, true -} - -// UnmarshalJSON is the custom unmarshaler for OdbcSink struct. -func (osVar *OdbcSink) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - case "preCopyScript": - if v != nil { - var preCopyScript interface{} - err = json.Unmarshal(*v, &preCopyScript) - if err != nil { - return err - } - osVar.PreCopyScript = preCopyScript + otd.Description = &description } - default: + case "structure": if v != nil { - var additionalProperties interface{} - err = json.Unmarshal(*v, &additionalProperties) + var structure interface{} + err = json.Unmarshal(*v, &structure) if err != nil { return err } - if osVar.AdditionalProperties == nil { - osVar.AdditionalProperties = make(map[string]interface{}) - } - osVar.AdditionalProperties[k] = additionalProperties + otd.Structure = structure } - case "writeBatchSize": + case "schema": if v != nil { - var writeBatchSize interface{} - err = json.Unmarshal(*v, &writeBatchSize) + var schema interface{} + err = json.Unmarshal(*v, &schema) if err != nil { return err } - osVar.WriteBatchSize = writeBatchSize + otd.Schema = schema } - case "writeBatchTimeout": + case "linkedServiceName": if v != nil { - var writeBatchTimeout interface{} - err = json.Unmarshal(*v, &writeBatchTimeout) + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) if err != nil { return err } - osVar.WriteBatchTimeout = writeBatchTimeout + otd.LinkedServiceName = &linkedServiceName } - case "sinkRetryCount": + case "parameters": if v != nil { - var sinkRetryCount interface{} - err = json.Unmarshal(*v, &sinkRetryCount) + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) if err != nil { return err } - osVar.SinkRetryCount = sinkRetryCount + otd.Parameters = parameters } - case "sinkRetryWait": + case "annotations": if v != nil { - var sinkRetryWait interface{} - err = json.Unmarshal(*v, &sinkRetryWait) + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) if err != nil { return err } - osVar.SinkRetryWait = sinkRetryWait + otd.Annotations = &annotations } - case "maxConcurrentConnections": + case "folder": if v != nil { - var maxConcurrentConnections interface{} - err = json.Unmarshal(*v, &maxConcurrentConnections) + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) if err != nil { return err } - osVar.MaxConcurrentConnections = maxConcurrentConnections + otd.Folder = &folder } case "type": if v != nil { - var typeVar TypeBasicCopySink + var typeVar TypeBasicDataset err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - osVar.Type = typeVar + otd.Type = typeVar } } } @@ -126511,474 +142997,520 @@ func (osVar *OdbcSink) UnmarshalJSON(body []byte) error { return nil } -// OdbcSource a copy activity source for ODBC databases. -type OdbcSource struct { - // Query - Database query. Type: string (or Expression with resultType string). - Query interface{} `json:"query,omitempty"` +// OdbcTableDatasetTypeProperties ODBC table dataset properties. +type OdbcTableDatasetTypeProperties struct { + // TableName - The ODBC table name. Type: string (or Expression with resultType string). + TableName interface{} `json:"tableName,omitempty"` +} + +// Office365Dataset the Office365 account. +type Office365Dataset struct { + // Office365DatasetTypeProperties - Office365 dataset properties. + *Office365DatasetTypeProperties `json:"typeProperties,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` - // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). - SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` - // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). - SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` - // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). - MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' - Type TypeBasicCopySource `json:"type,omitempty"` + // Description - Dataset description. + Description *string `json:"description,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' + Type TypeBasicDataset `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for OdbcSource. -func (osVar OdbcSource) MarshalJSON() ([]byte, error) { - osVar.Type = TypeOdbcSource +// MarshalJSON is the custom marshaler for Office365Dataset. +func (o3d Office365Dataset) MarshalJSON() ([]byte, error) { + o3d.Type = TypeOffice365Table objectMap := make(map[string]interface{}) - if osVar.Query != nil { - objectMap["query"] = osVar.Query + if o3d.Office365DatasetTypeProperties != nil { + objectMap["typeProperties"] = o3d.Office365DatasetTypeProperties } - if osVar.SourceRetryCount != nil { - objectMap["sourceRetryCount"] = osVar.SourceRetryCount + if o3d.Description != nil { + objectMap["description"] = o3d.Description } - if osVar.SourceRetryWait != nil { - objectMap["sourceRetryWait"] = osVar.SourceRetryWait + if o3d.Structure != nil { + objectMap["structure"] = o3d.Structure } - if osVar.MaxConcurrentConnections != nil { - objectMap["maxConcurrentConnections"] = osVar.MaxConcurrentConnections + if o3d.Schema != nil { + objectMap["schema"] = o3d.Schema } - if osVar.Type != "" { - objectMap["type"] = osVar.Type + if o3d.LinkedServiceName != nil { + objectMap["linkedServiceName"] = o3d.LinkedServiceName } - for k, v := range osVar.AdditionalProperties { + if o3d.Parameters != nil { + objectMap["parameters"] = o3d.Parameters + } + if o3d.Annotations != nil { + objectMap["annotations"] = o3d.Annotations + } + if o3d.Folder != nil { + objectMap["folder"] = o3d.Folder + } + if o3d.Type != "" { + objectMap["type"] = o3d.Type + } + for k, v := range o3d.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsAmazonRedshiftSource is the BasicCopySource implementation for OdbcSource. -func (osVar OdbcSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { return nil, false } -// AsGoogleAdWordsSource is the BasicCopySource implementation for OdbcSource. -func (osVar OdbcSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { return nil, false } -// AsOracleServiceCloudSource is the BasicCopySource implementation for OdbcSource. -func (osVar OdbcSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { return nil, false } -// AsDynamicsAXSource is the BasicCopySource implementation for OdbcSource. -func (osVar OdbcSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { +// AsDynamicsAXResourceDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { return nil, false } -// AsResponsysSource is the BasicCopySource implementation for OdbcSource. -func (osVar OdbcSource) AsResponsysSource() (*ResponsysSource, bool) { +// AsResponsysObjectDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { return nil, false } -// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for OdbcSource. -func (osVar OdbcSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { return nil, false } -// AsVerticaSource is the BasicCopySource implementation for OdbcSource. -func (osVar OdbcSource) AsVerticaSource() (*VerticaSource, bool) { +// AsVerticaTableDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { return nil, false } -// AsNetezzaSource is the BasicCopySource implementation for OdbcSource. -func (osVar OdbcSource) AsNetezzaSource() (*NetezzaSource, bool) { +// AsNetezzaTableDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { return nil, false } -// AsZohoSource is the BasicCopySource implementation for OdbcSource. -func (osVar OdbcSource) AsZohoSource() (*ZohoSource, bool) { +// AsZohoObjectDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { return nil, false } -// AsXeroSource is the BasicCopySource implementation for OdbcSource. -func (osVar OdbcSource) AsXeroSource() (*XeroSource, bool) { +// AsXeroObjectDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { return nil, false } -// AsSquareSource is the BasicCopySource implementation for OdbcSource. -func (osVar OdbcSource) AsSquareSource() (*SquareSource, bool) { +// AsSquareObjectDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { return nil, false } -// AsSparkSource is the BasicCopySource implementation for OdbcSource. -func (osVar OdbcSource) AsSparkSource() (*SparkSource, bool) { +// AsSparkObjectDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { return nil, false } -// AsShopifySource is the BasicCopySource implementation for OdbcSource. -func (osVar OdbcSource) AsShopifySource() (*ShopifySource, bool) { +// AsShopifyObjectDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { return nil, false } -// AsServiceNowSource is the BasicCopySource implementation for OdbcSource. -func (osVar OdbcSource) AsServiceNowSource() (*ServiceNowSource, bool) { +// AsServiceNowObjectDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { return nil, false } -// AsQuickBooksSource is the BasicCopySource implementation for OdbcSource. -func (osVar OdbcSource) AsQuickBooksSource() (*QuickBooksSource, bool) { +// AsQuickBooksObjectDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { return nil, false } -// AsPrestoSource is the BasicCopySource implementation for OdbcSource. -func (osVar OdbcSource) AsPrestoSource() (*PrestoSource, bool) { +// AsPrestoObjectDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { return nil, false } -// AsPhoenixSource is the BasicCopySource implementation for OdbcSource. -func (osVar OdbcSource) AsPhoenixSource() (*PhoenixSource, bool) { +// AsPhoenixObjectDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { return nil, false } -// AsPaypalSource is the BasicCopySource implementation for OdbcSource. -func (osVar OdbcSource) AsPaypalSource() (*PaypalSource, bool) { +// AsPaypalObjectDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { return nil, false } -// AsMarketoSource is the BasicCopySource implementation for OdbcSource. -func (osVar OdbcSource) AsMarketoSource() (*MarketoSource, bool) { +// AsMarketoObjectDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { return nil, false } -// AsAzureMariaDBSource is the BasicCopySource implementation for OdbcSource. -func (osVar OdbcSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { +// AsAzureMariaDBTableDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { return nil, false } -// AsMariaDBSource is the BasicCopySource implementation for OdbcSource. -func (osVar OdbcSource) AsMariaDBSource() (*MariaDBSource, bool) { +// AsMariaDBTableDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { return nil, false } -// AsMagentoSource is the BasicCopySource implementation for OdbcSource. -func (osVar OdbcSource) AsMagentoSource() (*MagentoSource, bool) { +// AsMagentoObjectDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { return nil, false } -// AsJiraSource is the BasicCopySource implementation for OdbcSource. -func (osVar OdbcSource) AsJiraSource() (*JiraSource, bool) { +// AsJiraObjectDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { return nil, false } -// AsImpalaSource is the BasicCopySource implementation for OdbcSource. -func (osVar OdbcSource) AsImpalaSource() (*ImpalaSource, bool) { +// AsImpalaObjectDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { return nil, false } -// AsHubspotSource is the BasicCopySource implementation for OdbcSource. -func (osVar OdbcSource) AsHubspotSource() (*HubspotSource, bool) { +// AsHubspotObjectDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { return nil, false } -// AsHiveSource is the BasicCopySource implementation for OdbcSource. -func (osVar OdbcSource) AsHiveSource() (*HiveSource, bool) { +// AsHiveObjectDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { return nil, false } -// AsHBaseSource is the BasicCopySource implementation for OdbcSource. -func (osVar OdbcSource) AsHBaseSource() (*HBaseSource, bool) { +// AsHBaseObjectDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { return nil, false } -// AsGreenplumSource is the BasicCopySource implementation for OdbcSource. -func (osVar OdbcSource) AsGreenplumSource() (*GreenplumSource, bool) { +// AsGreenplumTableDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { return nil, false } -// AsGoogleBigQuerySource is the BasicCopySource implementation for OdbcSource. -func (osVar OdbcSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { return nil, false } -// AsEloquaSource is the BasicCopySource implementation for OdbcSource. -func (osVar OdbcSource) AsEloquaSource() (*EloquaSource, bool) { +// AsEloquaObjectDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { return nil, false } -// AsDrillSource is the BasicCopySource implementation for OdbcSource. -func (osVar OdbcSource) AsDrillSource() (*DrillSource, bool) { +// AsDrillTableDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsDrillTableDataset() (*DrillTableDataset, bool) { return nil, false } -// AsCouchbaseSource is the BasicCopySource implementation for OdbcSource. -func (osVar OdbcSource) AsCouchbaseSource() (*CouchbaseSource, bool) { +// AsCouchbaseTableDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { return nil, false } -// AsConcurSource is the BasicCopySource implementation for OdbcSource. -func (osVar OdbcSource) AsConcurSource() (*ConcurSource, bool) { +// AsConcurObjectDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { return nil, false } -// AsAzurePostgreSQLSource is the BasicCopySource implementation for OdbcSource. -func (osVar OdbcSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { return nil, false } -// AsAmazonMWSSource is the BasicCopySource implementation for OdbcSource. -func (osVar OdbcSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { +// AsAmazonMWSObjectDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { return nil, false } -// AsHTTPSource is the BasicCopySource implementation for OdbcSource. -func (osVar OdbcSource) AsHTTPSource() (*HTTPSource, bool) { +// AsHTTPDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsHTTPDataset() (*HTTPDataset, bool) { return nil, false } -// AsAzureBlobFSSource is the BasicCopySource implementation for OdbcSource. -func (osVar OdbcSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { +// AsAzureSearchIndexDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { return nil, false } -// AsAzureDataLakeStoreSource is the BasicCopySource implementation for OdbcSource. -func (osVar OdbcSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { +// AsWebTableDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsWebTableDataset() (*WebTableDataset, bool) { return nil, false } -// AsOffice365Source is the BasicCopySource implementation for OdbcSource. -func (osVar OdbcSource) AsOffice365Source() (*Office365Source, bool) { +// AsSapTableResourceDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { return nil, false } -// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for OdbcSource. -func (osVar OdbcSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { +// AsRestResourceDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsRestResourceDataset() (*RestResourceDataset, bool) { return nil, false } -// AsMongoDbV2Source is the BasicCopySource implementation for OdbcSource. -func (osVar OdbcSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { +// AsSQLServerTableDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { return nil, false } -// AsMongoDbSource is the BasicCopySource implementation for OdbcSource. -func (osVar OdbcSource) AsMongoDbSource() (*MongoDbSource, bool) { +// AsSapOpenHubTableDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { return nil, false } -// AsCassandraSource is the BasicCopySource implementation for OdbcSource. -func (osVar OdbcSource) AsCassandraSource() (*CassandraSource, bool) { +// AsSapHanaTableDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { return nil, false } -// AsWebSource is the BasicCopySource implementation for OdbcSource. -func (osVar OdbcSource) AsWebSource() (*WebSource, bool) { +// AsSapEccResourceDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { return nil, false } -// AsTeradataSource is the BasicCopySource implementation for OdbcSource. -func (osVar OdbcSource) AsTeradataSource() (*TeradataSource, bool) { +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { return nil, false } -// AsOracleSource is the BasicCopySource implementation for OdbcSource. -func (osVar OdbcSource) AsOracleSource() (*OracleSource, bool) { +// AsSapBwCubeDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { return nil, false } -// AsAzureDataExplorerSource is the BasicCopySource implementation for OdbcSource. -func (osVar OdbcSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { +// AsSybaseTableDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { return nil, false } -// AsAzureMySQLSource is the BasicCopySource implementation for OdbcSource. -func (osVar OdbcSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { return nil, false } -// AsHdfsSource is the BasicCopySource implementation for OdbcSource. -func (osVar OdbcSource) AsHdfsSource() (*HdfsSource, bool) { +// AsSalesforceObjectDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { return nil, false } -// AsFileSystemSource is the BasicCopySource implementation for OdbcSource. -func (osVar OdbcSource) AsFileSystemSource() (*FileSystemSource, bool) { +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { return nil, false } -// AsSQLDWSource is the BasicCopySource implementation for OdbcSource. -func (osVar OdbcSource) AsSQLDWSource() (*SQLDWSource, bool) { +// AsPostgreSQLTableDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { return nil, false } -// AsSQLMISource is the BasicCopySource implementation for OdbcSource. -func (osVar OdbcSource) AsSQLMISource() (*SQLMISource, bool) { +// AsMySQLTableDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { return nil, false } -// AsAzureSQLSource is the BasicCopySource implementation for OdbcSource. -func (osVar OdbcSource) AsAzureSQLSource() (*AzureSQLSource, bool) { +// AsOdbcTableDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { return nil, false } -// AsSQLServerSource is the BasicCopySource implementation for OdbcSource. -func (osVar OdbcSource) AsSQLServerSource() (*SQLServerSource, bool) { +// AsInformixTableDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsInformixTableDataset() (*InformixTableDataset, bool) { return nil, false } -// AsSQLSource is the BasicCopySource implementation for OdbcSource. -func (osVar OdbcSource) AsSQLSource() (*SQLSource, bool) { +// AsRelationalTableDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { return nil, false } -// AsRestSource is the BasicCopySource implementation for OdbcSource. -func (osVar OdbcSource) AsRestSource() (*RestSource, bool) { +// AsDb2TableDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsDb2TableDataset() (*Db2TableDataset, bool) { return nil, false } -// AsSapTableSource is the BasicCopySource implementation for OdbcSource. -func (osVar OdbcSource) AsSapTableSource() (*SapTableSource, bool) { +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { return nil, false } -// AsSapOpenHubSource is the BasicCopySource implementation for OdbcSource. -func (osVar OdbcSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { +// AsAzureMySQLTableDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { return nil, false } -// AsSapHanaSource is the BasicCopySource implementation for OdbcSource. -func (osVar OdbcSource) AsSapHanaSource() (*SapHanaSource, bool) { +// AsTeradataTableDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { return nil, false } -// AsSapEccSource is the BasicCopySource implementation for OdbcSource. -func (osVar OdbcSource) AsSapEccSource() (*SapEccSource, bool) { +// AsOracleTableDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsOracleTableDataset() (*OracleTableDataset, bool) { return nil, false } -// AsSapCloudForCustomerSource is the BasicCopySource implementation for OdbcSource. -func (osVar OdbcSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { +// AsODataResourceDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { return nil, false } -// AsSalesforceServiceCloudSource is the BasicCopySource implementation for OdbcSource. -func (osVar OdbcSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { return nil, false } -// AsSalesforceSource is the BasicCopySource implementation for OdbcSource. -func (osVar OdbcSource) AsSalesforceSource() (*SalesforceSource, bool) { +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { return nil, false } -// AsODataSource is the BasicCopySource implementation for OdbcSource. -func (osVar OdbcSource) AsODataSource() (*ODataSource, bool) { +// AsMongoDbCollectionDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { return nil, false } -// AsSapBwSource is the BasicCopySource implementation for OdbcSource. -func (osVar OdbcSource) AsSapBwSource() (*SapBwSource, bool) { +// AsFileShareDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsFileShareDataset() (*FileShareDataset, bool) { return nil, false } -// AsSybaseSource is the BasicCopySource implementation for OdbcSource. -func (osVar OdbcSource) AsSybaseSource() (*SybaseSource, bool) { +// AsOffice365Dataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsOffice365Dataset() (*Office365Dataset, bool) { + return &o3d, true +} + +// AsAzureBlobFSDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) { return nil, false } -// AsPostgreSQLSource is the BasicCopySource implementation for OdbcSource. -func (osVar OdbcSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { +// AsAzureDataLakeStoreDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) { return nil, false } -// AsMySQLSource is the BasicCopySource implementation for OdbcSource. -func (osVar OdbcSource) AsMySQLSource() (*MySQLSource, bool) { +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { return nil, false } -// AsOdbcSource is the BasicCopySource implementation for OdbcSource. -func (osVar OdbcSource) AsOdbcSource() (*OdbcSource, bool) { - return &osVar, true +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { + return nil, false } -// AsDb2Source is the BasicCopySource implementation for OdbcSource. -func (osVar OdbcSource) AsDb2Source() (*Db2Source, bool) { +// AsDynamicsEntityDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { return nil, false } -// AsMicrosoftAccessSource is the BasicCopySource implementation for OdbcSource. -func (osVar OdbcSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { +// AsDocumentDbCollectionDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { return nil, false } -// AsInformixSource is the BasicCopySource implementation for OdbcSource. -func (osVar OdbcSource) AsInformixSource() (*InformixSource, bool) { +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { return nil, false } -// AsRelationalSource is the BasicCopySource implementation for OdbcSource. -func (osVar OdbcSource) AsRelationalSource() (*RelationalSource, bool) { +// AsCustomDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsCustomDataset() (*CustomDataset, bool) { return nil, false } -// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for OdbcSource. -func (osVar OdbcSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { +// AsCassandraTableDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { return nil, false } -// AsDynamicsCrmSource is the BasicCopySource implementation for OdbcSource. -func (osVar OdbcSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { +// AsAzureSQLDWTableDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { return nil, false } -// AsDynamicsSource is the BasicCopySource implementation for OdbcSource. -func (osVar OdbcSource) AsDynamicsSource() (*DynamicsSource, bool) { +// AsAzureSQLMITableDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { return nil, false } -// AsDocumentDbCollectionSource is the BasicCopySource implementation for OdbcSource. -func (osVar OdbcSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { +// AsAzureSQLTableDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { return nil, false } -// AsBlobSource is the BasicCopySource implementation for OdbcSource. -func (osVar OdbcSource) AsBlobSource() (*BlobSource, bool) { +// AsAzureTableDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsAzureTableDataset() (*AzureTableDataset, bool) { return nil, false } -// AsAzureTableSource is the BasicCopySource implementation for OdbcSource. -func (osVar OdbcSource) AsAzureTableSource() (*AzureTableSource, bool) { +// AsAzureBlobDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) { return nil, false } -// AsBinarySource is the BasicCopySource implementation for OdbcSource. -func (osVar OdbcSource) AsBinarySource() (*BinarySource, bool) { +// AsBinaryDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsBinaryDataset() (*BinaryDataset, bool) { return nil, false } -// AsDelimitedTextSource is the BasicCopySource implementation for OdbcSource. -func (osVar OdbcSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { +// AsOrcDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsOrcDataset() (*OrcDataset, bool) { return nil, false } -// AsParquetSource is the BasicCopySource implementation for OdbcSource. -func (osVar OdbcSource) AsParquetSource() (*ParquetSource, bool) { +// AsJSONDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsJSONDataset() (*JSONDataset, bool) { return nil, false } -// AsAvroSource is the BasicCopySource implementation for OdbcSource. -func (osVar OdbcSource) AsAvroSource() (*AvroSource, bool) { +// AsDelimitedTextDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { return nil, false } -// AsCopySource is the BasicCopySource implementation for OdbcSource. -func (osVar OdbcSource) AsCopySource() (*CopySource, bool) { +// AsParquetDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsParquetDataset() (*ParquetDataset, bool) { return nil, false } -// AsBasicCopySource is the BasicCopySource implementation for OdbcSource. -func (osVar OdbcSource) AsBasicCopySource() (BasicCopySource, bool) { - return &osVar, true +// AsAvroDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsAvroDataset() (*AvroDataset, bool) { + return nil, false } -// UnmarshalJSON is the custom unmarshaler for OdbcSource struct. -func (osVar *OdbcSource) UnmarshalJSON(body []byte) error { +// AsAmazonS3Dataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) { + return nil, false +} + +// AsDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsDataset() (*Dataset, bool) { + return nil, false +} + +// AsBasicDataset is the BasicDataset implementation for Office365Dataset. +func (o3d Office365Dataset) AsBasicDataset() (BasicDataset, bool) { + return &o3d, true +} + +// UnmarshalJSON is the custom unmarshaler for Office365Dataset struct. +func (o3d *Office365Dataset) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -126986,14 +143518,14 @@ func (osVar *OdbcSource) UnmarshalJSON(body []byte) error { } for k, v := range m { switch k { - case "query": + case "typeProperties": if v != nil { - var query interface{} - err = json.Unmarshal(*v, &query) + var office365DatasetTypeProperties Office365DatasetTypeProperties + err = json.Unmarshal(*v, &office365DatasetTypeProperties) if err != nil { return err } - osVar.Query = query + o3d.Office365DatasetTypeProperties = &office365DatasetTypeProperties } default: if v != nil { @@ -127002,46 +143534,82 @@ func (osVar *OdbcSource) UnmarshalJSON(body []byte) error { if err != nil { return err } - if osVar.AdditionalProperties == nil { - osVar.AdditionalProperties = make(map[string]interface{}) + if o3d.AdditionalProperties == nil { + o3d.AdditionalProperties = make(map[string]interface{}) } - osVar.AdditionalProperties[k] = additionalProperties + o3d.AdditionalProperties[k] = additionalProperties } - case "sourceRetryCount": + case "description": if v != nil { - var sourceRetryCount interface{} - err = json.Unmarshal(*v, &sourceRetryCount) + var description string + err = json.Unmarshal(*v, &description) if err != nil { return err } - osVar.SourceRetryCount = sourceRetryCount + o3d.Description = &description } - case "sourceRetryWait": + case "structure": if v != nil { - var sourceRetryWait interface{} - err = json.Unmarshal(*v, &sourceRetryWait) + var structure interface{} + err = json.Unmarshal(*v, &structure) if err != nil { return err } - osVar.SourceRetryWait = sourceRetryWait + o3d.Structure = structure } - case "maxConcurrentConnections": + case "schema": if v != nil { - var maxConcurrentConnections interface{} - err = json.Unmarshal(*v, &maxConcurrentConnections) + var schema interface{} + err = json.Unmarshal(*v, &schema) if err != nil { return err } - osVar.MaxConcurrentConnections = maxConcurrentConnections + o3d.Schema = schema + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + o3d.LinkedServiceName = &linkedServiceName + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + o3d.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + o3d.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + o3d.Folder = &folder } case "type": if v != nil { - var typeVar TypeBasicCopySource + var typeVar TypeBasicDataset err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - osVar.Type = typeVar + o3d.Type = typeVar } } } @@ -127049,489 +143617,542 @@ func (osVar *OdbcSource) UnmarshalJSON(body []byte) error { return nil } -// OdbcTableDataset the ODBC table dataset. -type OdbcTableDataset struct { - // OdbcTableDatasetTypeProperties - ODBC table dataset properties. - *OdbcTableDatasetTypeProperties `json:"typeProperties,omitempty"` +// Office365DatasetTypeProperties office365 dataset properties. +type Office365DatasetTypeProperties struct { + // TableName - Name of the dataset to extract from Office 365. Type: string (or Expression with resultType string). + TableName interface{} `json:"tableName,omitempty"` + // Predicate - A predicate expression that can be used to filter the specific rows to extract from Office 365. Type: string (or Expression with resultType string). + Predicate interface{} `json:"predicate,omitempty"` +} + +// Office365LinkedService office365 linked service. +type Office365LinkedService struct { + // Office365LinkedServiceTypeProperties - Office365 linked service properties. + *Office365LinkedServiceTypeProperties `json:"typeProperties,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` - // Description - Dataset description. + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. Description *string `json:"description,omitempty"` - // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. - Structure interface{} `json:"structure,omitempty"` - // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. - Schema interface{} `json:"schema,omitempty"` - // LinkedServiceName - Linked service reference. - LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` - // Parameters - Parameters for dataset. + // Parameters - Parameters for linked service. Parameters map[string]*ParameterSpecification `json:"parameters"` - // Annotations - List of tags that can be used for describing the Dataset. + // Annotations - List of tags that can be used for describing the linked service. Annotations *[]interface{} `json:"annotations,omitempty"` - // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. - Folder *DatasetFolder `json:"folder,omitempty"` - // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' - Type TypeBasicDataset `json:"type,omitempty"` + // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' + Type TypeBasicLinkedService `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for OdbcTableDataset. -func (otd OdbcTableDataset) MarshalJSON() ([]byte, error) { - otd.Type = TypeOdbcTable +// MarshalJSON is the custom marshaler for Office365LinkedService. +func (o3ls Office365LinkedService) MarshalJSON() ([]byte, error) { + o3ls.Type = TypeOffice365 objectMap := make(map[string]interface{}) - if otd.OdbcTableDatasetTypeProperties != nil { - objectMap["typeProperties"] = otd.OdbcTableDatasetTypeProperties - } - if otd.Description != nil { - objectMap["description"] = otd.Description - } - if otd.Structure != nil { - objectMap["structure"] = otd.Structure - } - if otd.Schema != nil { - objectMap["schema"] = otd.Schema + if o3ls.Office365LinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = o3ls.Office365LinkedServiceTypeProperties } - if otd.LinkedServiceName != nil { - objectMap["linkedServiceName"] = otd.LinkedServiceName + if o3ls.ConnectVia != nil { + objectMap["connectVia"] = o3ls.ConnectVia } - if otd.Parameters != nil { - objectMap["parameters"] = otd.Parameters + if o3ls.Description != nil { + objectMap["description"] = o3ls.Description } - if otd.Annotations != nil { - objectMap["annotations"] = otd.Annotations + if o3ls.Parameters != nil { + objectMap["parameters"] = o3ls.Parameters } - if otd.Folder != nil { - objectMap["folder"] = otd.Folder + if o3ls.Annotations != nil { + objectMap["annotations"] = o3ls.Annotations } - if otd.Type != "" { - objectMap["type"] = otd.Type + if o3ls.Type != "" { + objectMap["type"] = o3ls.Type } - for k, v := range otd.AdditionalProperties { + for k, v := range o3ls.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for OdbcTableDataset. -func (otd OdbcTableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { return nil, false } -// AsAzureDataExplorerTableDataset is the BasicDataset implementation for OdbcTableDataset. -func (otd OdbcTableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { return nil, false } -// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for OdbcTableDataset. -func (otd OdbcTableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { +// AsSapTableLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { return nil, false } -// AsDynamicsAXResourceDataset is the BasicDataset implementation for OdbcTableDataset. -func (otd OdbcTableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { return nil, false } -// AsResponsysObjectDataset is the BasicDataset implementation for OdbcTableDataset. -func (otd OdbcTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { return nil, false } -// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for OdbcTableDataset. -func (otd OdbcTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { return nil, false } -// AsVerticaTableDataset is the BasicDataset implementation for OdbcTableDataset. -func (otd OdbcTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { +// AsResponsysLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { return nil, false } -// AsNetezzaTableDataset is the BasicDataset implementation for OdbcTableDataset. -func (otd OdbcTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { return nil, false } -// AsZohoObjectDataset is the BasicDataset implementation for OdbcTableDataset. -func (otd OdbcTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { return nil, false } -// AsXeroObjectDataset is the BasicDataset implementation for OdbcTableDataset. -func (otd OdbcTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { return nil, false } -// AsSquareObjectDataset is the BasicDataset implementation for OdbcTableDataset. -func (otd OdbcTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { return nil, false } -// AsSparkObjectDataset is the BasicDataset implementation for OdbcTableDataset. -func (otd OdbcTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { +// AsNetezzaLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { return nil, false } -// AsShopifyObjectDataset is the BasicDataset implementation for OdbcTableDataset. -func (otd OdbcTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { +// AsVerticaLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { return nil, false } -// AsServiceNowObjectDataset is the BasicDataset implementation for OdbcTableDataset. -func (otd OdbcTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { +// AsZohoLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { return nil, false } -// AsQuickBooksObjectDataset is the BasicDataset implementation for OdbcTableDataset. -func (otd OdbcTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { +// AsXeroLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { return nil, false } -// AsPrestoObjectDataset is the BasicDataset implementation for OdbcTableDataset. -func (otd OdbcTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { +// AsSquareLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { return nil, false } -// AsPhoenixObjectDataset is the BasicDataset implementation for OdbcTableDataset. -func (otd OdbcTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { +// AsSparkLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { return nil, false } -// AsPaypalObjectDataset is the BasicDataset implementation for OdbcTableDataset. -func (otd OdbcTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { +// AsShopifyLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { return nil, false } -// AsMarketoObjectDataset is the BasicDataset implementation for OdbcTableDataset. -func (otd OdbcTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { +// AsServiceNowLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { return nil, false } -// AsAzureMariaDBTableDataset is the BasicDataset implementation for OdbcTableDataset. -func (otd OdbcTableDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { +// AsQuickBooksLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { return nil, false } -// AsMariaDBTableDataset is the BasicDataset implementation for OdbcTableDataset. -func (otd OdbcTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { +// AsPrestoLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { return nil, false } -// AsMagentoObjectDataset is the BasicDataset implementation for OdbcTableDataset. -func (otd OdbcTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { +// AsPhoenixLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { return nil, false } -// AsJiraObjectDataset is the BasicDataset implementation for OdbcTableDataset. -func (otd OdbcTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { +// AsPaypalLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { return nil, false } -// AsImpalaObjectDataset is the BasicDataset implementation for OdbcTableDataset. -func (otd OdbcTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { +// AsMarketoLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { return nil, false } -// AsHubspotObjectDataset is the BasicDataset implementation for OdbcTableDataset. -func (otd OdbcTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { return nil, false } -// AsHiveObjectDataset is the BasicDataset implementation for OdbcTableDataset. -func (otd OdbcTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { +// AsMariaDBLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { return nil, false } -// AsHBaseObjectDataset is the BasicDataset implementation for OdbcTableDataset. -func (otd OdbcTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { +// AsMagentoLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { return nil, false } -// AsGreenplumTableDataset is the BasicDataset implementation for OdbcTableDataset. -func (otd OdbcTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { +// AsJiraLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { return nil, false } -// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for OdbcTableDataset. -func (otd OdbcTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { +// AsImpalaLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { return nil, false } -// AsEloquaObjectDataset is the BasicDataset implementation for OdbcTableDataset. -func (otd OdbcTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { +// AsHubspotLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { return nil, false } -// AsDrillTableDataset is the BasicDataset implementation for OdbcTableDataset. -func (otd OdbcTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { +// AsHiveLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { return nil, false } -// AsCouchbaseTableDataset is the BasicDataset implementation for OdbcTableDataset. -func (otd OdbcTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { +// AsHBaseLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { return nil, false } -// AsConcurObjectDataset is the BasicDataset implementation for OdbcTableDataset. -func (otd OdbcTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { +// AsGreenplumLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { return nil, false } -// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for OdbcTableDataset. -func (otd OdbcTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { return nil, false } -// AsAmazonMWSObjectDataset is the BasicDataset implementation for OdbcTableDataset. -func (otd OdbcTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { +// AsEloquaLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { return nil, false } -// AsHTTPDataset is the BasicDataset implementation for OdbcTableDataset. -func (otd OdbcTableDataset) AsHTTPDataset() (*HTTPDataset, bool) { +// AsDrillLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { return nil, false } -// AsAzureSearchIndexDataset is the BasicDataset implementation for OdbcTableDataset. -func (otd OdbcTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { +// AsCouchbaseLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { return nil, false } -// AsWebTableDataset is the BasicDataset implementation for OdbcTableDataset. -func (otd OdbcTableDataset) AsWebTableDataset() (*WebTableDataset, bool) { +// AsConcurLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { return nil, false } -// AsSapTableResourceDataset is the BasicDataset implementation for OdbcTableDataset. -func (otd OdbcTableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { return nil, false } -// AsRestResourceDataset is the BasicDataset implementation for OdbcTableDataset. -func (otd OdbcTableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { return nil, false } -// AsSQLServerTableDataset is the BasicDataset implementation for OdbcTableDataset. -func (otd OdbcTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { +// AsSapHanaLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { return nil, false } -// AsSapOpenHubTableDataset is the BasicDataset implementation for OdbcTableDataset. -func (otd OdbcTableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { +// AsSapBWLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { return nil, false } -// AsSapHanaTableDataset is the BasicDataset implementation for OdbcTableDataset. -func (otd OdbcTableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { +// AsSftpServerLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { return nil, false } -// AsSapEccResourceDataset is the BasicDataset implementation for OdbcTableDataset. -func (otd OdbcTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { +// AsFtpServerLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { return nil, false } -// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for OdbcTableDataset. -func (otd OdbcTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { +// AsHTTPLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { return nil, false } -// AsSapBwCubeDataset is the BasicDataset implementation for OdbcTableDataset. -func (otd OdbcTableDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { +// AsAzureSearchLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { return nil, false } -// AsSybaseTableDataset is the BasicDataset implementation for OdbcTableDataset. -func (otd OdbcTableDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { return nil, false } -// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for OdbcTableDataset. -func (otd OdbcTableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { return nil, false } -// AsSalesforceObjectDataset is the BasicDataset implementation for OdbcTableDataset. -func (otd OdbcTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { +// AsAmazonS3LinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { return nil, false } -// AsMicrosoftAccessTableDataset is the BasicDataset implementation for OdbcTableDataset. -func (otd OdbcTableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { +// AsRestServiceLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { return nil, false } -// AsPostgreSQLTableDataset is the BasicDataset implementation for OdbcTableDataset. -func (otd OdbcTableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { return nil, false } -// AsMySQLTableDataset is the BasicDataset implementation for OdbcTableDataset. -func (otd OdbcTableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { +// AsSapEccLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { return nil, false } -// AsOdbcTableDataset is the BasicDataset implementation for OdbcTableDataset. -func (otd OdbcTableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { - return &otd, true +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { + return nil, false } -// AsInformixTableDataset is the BasicDataset implementation for OdbcTableDataset. -func (otd OdbcTableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { return nil, false } -// AsRelationalTableDataset is the BasicDataset implementation for OdbcTableDataset. -func (otd OdbcTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { +// AsSalesforceLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { return nil, false } -// AsAzureMySQLTableDataset is the BasicDataset implementation for OdbcTableDataset. -func (otd OdbcTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { +// AsOffice365LinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { + return &o3ls, true +} + +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { return nil, false } -// AsTeradataTableDataset is the BasicDataset implementation for OdbcTableDataset. -func (otd OdbcTableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { return nil, false } -// AsOracleTableDataset is the BasicDataset implementation for OdbcTableDataset. -func (otd OdbcTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { return nil, false } -// AsODataResourceDataset is the BasicDataset implementation for OdbcTableDataset. -func (otd OdbcTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { return nil, false } -// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for OdbcTableDataset. -func (otd OdbcTableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { +// AsMongoDbLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { return nil, false } -// AsMongoDbV2CollectionDataset is the BasicDataset implementation for OdbcTableDataset. -func (otd OdbcTableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { +// AsCassandraLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { return nil, false } -// AsMongoDbCollectionDataset is the BasicDataset implementation for OdbcTableDataset. -func (otd OdbcTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { +// AsWebLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsWebLinkedService() (*WebLinkedService, bool) { return nil, false } -// AsFileShareDataset is the BasicDataset implementation for OdbcTableDataset. -func (otd OdbcTableDataset) AsFileShareDataset() (*FileShareDataset, bool) { +// AsODataLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { return nil, false } -// AsOffice365Dataset is the BasicDataset implementation for OdbcTableDataset. -func (otd OdbcTableDataset) AsOffice365Dataset() (*Office365Dataset, bool) { +// AsHdfsLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { return nil, false } -// AsAzureBlobFSDataset is the BasicDataset implementation for OdbcTableDataset. -func (otd OdbcTableDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) { +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { return nil, false } -// AsAzureDataLakeStoreDataset is the BasicDataset implementation for OdbcTableDataset. -func (otd OdbcTableDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) { +// AsInformixLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { return nil, false } -// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for OdbcTableDataset. -func (otd OdbcTableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { +// AsOdbcLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { return nil, false } -// AsDynamicsCrmEntityDataset is the BasicDataset implementation for OdbcTableDataset. -func (otd OdbcTableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { return nil, false } -// AsDynamicsEntityDataset is the BasicDataset implementation for OdbcTableDataset. -func (otd OdbcTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { +// AsAzureMLLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { return nil, false } -// AsDocumentDbCollectionDataset is the BasicDataset implementation for OdbcTableDataset. -func (otd OdbcTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { +// AsTeradataLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { return nil, false } -// AsCustomDataset is the BasicDataset implementation for OdbcTableDataset. -func (otd OdbcTableDataset) AsCustomDataset() (*CustomDataset, bool) { +// AsDb2LinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { return nil, false } -// AsCassandraTableDataset is the BasicDataset implementation for OdbcTableDataset. -func (otd OdbcTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { +// AsSybaseLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { return nil, false } -// AsAzureSQLDWTableDataset is the BasicDataset implementation for OdbcTableDataset. -func (otd OdbcTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { return nil, false } -// AsAzureSQLMITableDataset is the BasicDataset implementation for OdbcTableDataset. -func (otd OdbcTableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { +// AsMySQLLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { return nil, false } -// AsAzureSQLTableDataset is the BasicDataset implementation for OdbcTableDataset. -func (otd OdbcTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { return nil, false } -// AsAzureTableDataset is the BasicDataset implementation for OdbcTableDataset. -func (otd OdbcTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { +// AsOracleLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { return nil, false } -// AsAzureBlobDataset is the BasicDataset implementation for OdbcTableDataset. -func (otd OdbcTableDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) { +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { return nil, false } -// AsBinaryDataset is the BasicDataset implementation for OdbcTableDataset. -func (otd OdbcTableDataset) AsBinaryDataset() (*BinaryDataset, bool) { +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { return nil, false } -// AsDelimitedTextDataset is the BasicDataset implementation for OdbcTableDataset. -func (otd OdbcTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { +// AsFileServerLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { return nil, false } -// AsParquetDataset is the BasicDataset implementation for OdbcTableDataset. -func (otd OdbcTableDataset) AsParquetDataset() (*ParquetDataset, bool) { +// AsHDInsightLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { return nil, false } -// AsAvroDataset is the BasicDataset implementation for OdbcTableDataset. -func (otd OdbcTableDataset) AsAvroDataset() (*AvroDataset, bool) { +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { return nil, false } -// AsAmazonS3Dataset is the BasicDataset implementation for OdbcTableDataset. -func (otd OdbcTableDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) { +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { return nil, false } -// AsDataset is the BasicDataset implementation for OdbcTableDataset. -func (otd OdbcTableDataset) AsDataset() (*Dataset, bool) { +// AsDynamicsLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { return nil, false } -// AsBasicDataset is the BasicDataset implementation for OdbcTableDataset. -func (otd OdbcTableDataset) AsBasicDataset() (BasicDataset, bool) { - return &otd, true +// AsCosmosDbLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { + return nil, false } -// UnmarshalJSON is the custom unmarshaler for OdbcTableDataset struct. -func (otd *OdbcTableDataset) UnmarshalJSON(body []byte) error { +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false +} + +// AsAzureBatchLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for Office365LinkedService. +func (o3ls Office365LinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &o3ls, true +} + +// UnmarshalJSON is the custom unmarshaler for Office365LinkedService struct. +func (o3ls *Office365LinkedService) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -127541,12 +144162,12 @@ func (otd *OdbcTableDataset) UnmarshalJSON(body []byte) error { switch k { case "typeProperties": if v != nil { - var odbcTableDatasetTypeProperties OdbcTableDatasetTypeProperties - err = json.Unmarshal(*v, &odbcTableDatasetTypeProperties) + var office365LinkedServiceTypeProperties Office365LinkedServiceTypeProperties + err = json.Unmarshal(*v, &office365LinkedServiceTypeProperties) if err != nil { return err } - otd.OdbcTableDatasetTypeProperties = &odbcTableDatasetTypeProperties + o3ls.Office365LinkedServiceTypeProperties = &office365LinkedServiceTypeProperties } default: if v != nil { @@ -127555,10 +144176,19 @@ func (otd *OdbcTableDataset) UnmarshalJSON(body []byte) error { if err != nil { return err } - if otd.AdditionalProperties == nil { - otd.AdditionalProperties = make(map[string]interface{}) + if o3ls.AdditionalProperties == nil { + o3ls.AdditionalProperties = make(map[string]interface{}) } - otd.AdditionalProperties[k] = additionalProperties + o3ls.AdditionalProperties[k] = additionalProperties + } + case "connectVia": + if v != nil { + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) + if err != nil { + return err + } + o3ls.ConnectVia = &connectVia } case "description": if v != nil { @@ -127567,70 +144197,107 @@ func (otd *OdbcTableDataset) UnmarshalJSON(body []byte) error { if err != nil { return err } - otd.Description = &description + o3ls.Description = &description } - case "structure": + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + o3ls.Parameters = parameters + } + case "annotations": if v != nil { - var structure interface{} - err = json.Unmarshal(*v, &structure) + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) if err != nil { return err } - otd.Structure = structure + o3ls.Annotations = &annotations } - case "schema": + case "type": if v != nil { - var schema interface{} - err = json.Unmarshal(*v, &schema) + var typeVar TypeBasicLinkedService + err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - otd.Schema = schema + o3ls.Type = typeVar } - case "linkedServiceName": + } + } + + return nil +} + +// Office365LinkedServiceTypeProperties office365 linked service properties. +type Office365LinkedServiceTypeProperties struct { + // Office365TenantID - Azure tenant ID to which the Office 365 account belongs. Type: string (or Expression with resultType string). + Office365TenantID interface{} `json:"office365TenantId,omitempty"` + // ServicePrincipalTenantID - Specify the tenant information under which your Azure AD web application resides. Type: string (or Expression with resultType string). + ServicePrincipalTenantID interface{} `json:"servicePrincipalTenantId,omitempty"` + // ServicePrincipalID - Specify the application's client ID. Type: string (or Expression with resultType string). + ServicePrincipalID interface{} `json:"servicePrincipalId,omitempty"` + // ServicePrincipalKey - Specify the application's key. + ServicePrincipalKey BasicSecretBase `json:"servicePrincipalKey,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for Office365LinkedServiceTypeProperties struct. +func (o3lstp *Office365LinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "office365TenantId": if v != nil { - var linkedServiceName LinkedServiceReference - err = json.Unmarshal(*v, &linkedServiceName) + var office365TenantID interface{} + err = json.Unmarshal(*v, &office365TenantID) if err != nil { return err } - otd.LinkedServiceName = &linkedServiceName + o3lstp.Office365TenantID = office365TenantID } - case "parameters": + case "servicePrincipalTenantId": if v != nil { - var parameters map[string]*ParameterSpecification - err = json.Unmarshal(*v, ¶meters) + var servicePrincipalTenantID interface{} + err = json.Unmarshal(*v, &servicePrincipalTenantID) if err != nil { return err } - otd.Parameters = parameters + o3lstp.ServicePrincipalTenantID = servicePrincipalTenantID } - case "annotations": + case "servicePrincipalId": if v != nil { - var annotations []interface{} - err = json.Unmarshal(*v, &annotations) + var servicePrincipalID interface{} + err = json.Unmarshal(*v, &servicePrincipalID) if err != nil { return err } - otd.Annotations = &annotations + o3lstp.ServicePrincipalID = servicePrincipalID } - case "folder": + case "servicePrincipalKey": if v != nil { - var folder DatasetFolder - err = json.Unmarshal(*v, &folder) + servicePrincipalKey, err := unmarshalBasicSecretBase(*v) if err != nil { return err } - otd.Folder = &folder + o3lstp.ServicePrincipalKey = servicePrincipalKey } - case "type": + case "encryptedCredential": if v != nil { - var typeVar TypeBasicDataset - err = json.Unmarshal(*v, &typeVar) + var encryptedCredential interface{} + err = json.Unmarshal(*v, &encryptedCredential) if err != nil { return err } - otd.Type = typeVar + o3lstp.EncryptedCredential = encryptedCredential } } } @@ -127638,495 +144305,524 @@ func (otd *OdbcTableDataset) UnmarshalJSON(body []byte) error { return nil } -// OdbcTableDatasetTypeProperties ODBC table dataset properties. -type OdbcTableDatasetTypeProperties struct { - // TableName - The ODBC table name. Type: string (or Expression with resultType string). - TableName interface{} `json:"tableName,omitempty"` -} - -// Office365Dataset the Office365 account. -type Office365Dataset struct { - // Office365DatasetTypeProperties - Office365 dataset properties. - *Office365DatasetTypeProperties `json:"typeProperties,omitempty"` +// Office365Source a copy activity source for an Office 365 service. +type Office365Source struct { + // AllowedGroups - The groups containing all the users. Type: array of strings (or Expression with resultType array of strings). + AllowedGroups interface{} `json:"allowedGroups,omitempty"` + // UserScopeFilterURI - The user scope uri. Type: string (or Expression with resultType string). + UserScopeFilterURI interface{} `json:"userScopeFilterUri,omitempty"` + // DateFilterColumn - The Column to apply the and . Type: string (or Expression with resultType string). + DateFilterColumn interface{} `json:"dateFilterColumn,omitempty"` + // StartTime - Start time of the requested range for this dataset. Type: string (or Expression with resultType string). + StartTime interface{} `json:"startTime,omitempty"` + // EndTime - End time of the requested range for this dataset. Type: string (or Expression with resultType string). + EndTime interface{} `json:"endTime,omitempty"` + // OutputColumns - The columns to be read out from the Office 365 table. Type: array of objects (or Expression with resultType array of objects). Example: [ { "name": "Id" }, { "name": "CreatedDateTime" } ] + OutputColumns interface{} `json:"outputColumns,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` - // Description - Dataset description. - Description *string `json:"description,omitempty"` - // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. - Structure interface{} `json:"structure,omitempty"` - // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. - Schema interface{} `json:"schema,omitempty"` - // LinkedServiceName - Linked service reference. - LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` - // Parameters - Parameters for dataset. - Parameters map[string]*ParameterSpecification `json:"parameters"` - // Annotations - List of tags that can be used for describing the Dataset. - Annotations *[]interface{} `json:"annotations,omitempty"` - // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. - Folder *DatasetFolder `json:"folder,omitempty"` - // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' - Type TypeBasicDataset `json:"type,omitempty"` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' + Type TypeBasicCopySource `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for Office365Dataset. -func (o3d Office365Dataset) MarshalJSON() ([]byte, error) { - o3d.Type = TypeOffice365Table +// MarshalJSON is the custom marshaler for Office365Source. +func (o3s Office365Source) MarshalJSON() ([]byte, error) { + o3s.Type = TypeOffice365Source objectMap := make(map[string]interface{}) - if o3d.Office365DatasetTypeProperties != nil { - objectMap["typeProperties"] = o3d.Office365DatasetTypeProperties + if o3s.AllowedGroups != nil { + objectMap["allowedGroups"] = o3s.AllowedGroups } - if o3d.Description != nil { - objectMap["description"] = o3d.Description + if o3s.UserScopeFilterURI != nil { + objectMap["userScopeFilterUri"] = o3s.UserScopeFilterURI } - if o3d.Structure != nil { - objectMap["structure"] = o3d.Structure + if o3s.DateFilterColumn != nil { + objectMap["dateFilterColumn"] = o3s.DateFilterColumn } - if o3d.Schema != nil { - objectMap["schema"] = o3d.Schema + if o3s.StartTime != nil { + objectMap["startTime"] = o3s.StartTime } - if o3d.LinkedServiceName != nil { - objectMap["linkedServiceName"] = o3d.LinkedServiceName + if o3s.EndTime != nil { + objectMap["endTime"] = o3s.EndTime } - if o3d.Parameters != nil { - objectMap["parameters"] = o3d.Parameters + if o3s.OutputColumns != nil { + objectMap["outputColumns"] = o3s.OutputColumns } - if o3d.Annotations != nil { - objectMap["annotations"] = o3d.Annotations + if o3s.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = o3s.SourceRetryCount } - if o3d.Folder != nil { - objectMap["folder"] = o3d.Folder + if o3s.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = o3s.SourceRetryWait } - if o3d.Type != "" { - objectMap["type"] = o3d.Type + if o3s.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = o3s.MaxConcurrentConnections } - for k, v := range o3d.AdditionalProperties { + if o3s.Type != "" { + objectMap["type"] = o3s.Type + } + for k, v := range o3s.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for Office365Dataset. -func (o3d Office365Dataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { +// AsHTTPSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsHTTPSource() (*HTTPSource, bool) { return nil, false } -// AsAzureDataExplorerTableDataset is the BasicDataset implementation for Office365Dataset. -func (o3d Office365Dataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { +// AsAzureBlobFSSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { return nil, false } -// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for Office365Dataset. -func (o3d Office365Dataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { return nil, false } -// AsDynamicsAXResourceDataset is the BasicDataset implementation for Office365Dataset. -func (o3d Office365Dataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { +// AsOffice365Source is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsOffice365Source() (*Office365Source, bool) { + return &o3s, true +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { return nil, false } -// AsResponsysObjectDataset is the BasicDataset implementation for Office365Dataset. -func (o3d Office365Dataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { +// AsMongoDbV2Source is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsMongoDbV2Source() (*MongoDbV2Source, bool) { return nil, false } -// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for Office365Dataset. -func (o3d Office365Dataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { +// AsMongoDbSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsMongoDbSource() (*MongoDbSource, bool) { return nil, false } -// AsVerticaTableDataset is the BasicDataset implementation for Office365Dataset. -func (o3d Office365Dataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { +// AsWebSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsWebSource() (*WebSource, bool) { return nil, false } -// AsNetezzaTableDataset is the BasicDataset implementation for Office365Dataset. -func (o3d Office365Dataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { +// AsOracleSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsOracleSource() (*OracleSource, bool) { return nil, false } -// AsZohoObjectDataset is the BasicDataset implementation for Office365Dataset. -func (o3d Office365Dataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { +// AsAzureDataExplorerSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { return nil, false } -// AsXeroObjectDataset is the BasicDataset implementation for Office365Dataset. -func (o3d Office365Dataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { +// AsHdfsSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsHdfsSource() (*HdfsSource, bool) { return nil, false } -// AsSquareObjectDataset is the BasicDataset implementation for Office365Dataset. -func (o3d Office365Dataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { +// AsFileSystemSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsFileSystemSource() (*FileSystemSource, bool) { return nil, false } -// AsSparkObjectDataset is the BasicDataset implementation for Office365Dataset. -func (o3d Office365Dataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { +// AsRestSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsRestSource() (*RestSource, bool) { return nil, false } -// AsShopifyObjectDataset is the BasicDataset implementation for Office365Dataset. -func (o3d Office365Dataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { return nil, false } -// AsServiceNowObjectDataset is the BasicDataset implementation for Office365Dataset. -func (o3d Office365Dataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { +// AsODataSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsODataSource() (*ODataSource, bool) { return nil, false } -// AsQuickBooksObjectDataset is the BasicDataset implementation for Office365Dataset. -func (o3d Office365Dataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { +// AsMicrosoftAccessSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { return nil, false } -// AsPrestoObjectDataset is the BasicDataset implementation for Office365Dataset. -func (o3d Office365Dataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { +// AsRelationalSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsRelationalSource() (*RelationalSource, bool) { return nil, false } -// AsPhoenixObjectDataset is the BasicDataset implementation for Office365Dataset. -func (o3d Office365Dataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { return nil, false } -// AsPaypalObjectDataset is the BasicDataset implementation for Office365Dataset. -func (o3d Office365Dataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { +// AsDynamicsCrmSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { return nil, false } -// AsMarketoObjectDataset is the BasicDataset implementation for Office365Dataset. -func (o3d Office365Dataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { +// AsDynamicsSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsDynamicsSource() (*DynamicsSource, bool) { return nil, false } -// AsAzureMariaDBTableDataset is the BasicDataset implementation for Office365Dataset. -func (o3d Office365Dataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { return nil, false } -// AsMariaDBTableDataset is the BasicDataset implementation for Office365Dataset. -func (o3d Office365Dataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { +// AsDocumentDbCollectionSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { return nil, false } -// AsMagentoObjectDataset is the BasicDataset implementation for Office365Dataset. -func (o3d Office365Dataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { +// AsBlobSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsBlobSource() (*BlobSource, bool) { return nil, false } -// AsJiraObjectDataset is the BasicDataset implementation for Office365Dataset. -func (o3d Office365Dataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { +// AsAmazonRedshiftSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { return nil, false } -// AsImpalaObjectDataset is the BasicDataset implementation for Office365Dataset. -func (o3d Office365Dataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { +// AsGoogleAdWordsSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { return nil, false } -// AsHubspotObjectDataset is the BasicDataset implementation for Office365Dataset. -func (o3d Office365Dataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { +// AsOracleServiceCloudSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { return nil, false } -// AsHiveObjectDataset is the BasicDataset implementation for Office365Dataset. -func (o3d Office365Dataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { +// AsDynamicsAXSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsDynamicsAXSource() (*DynamicsAXSource, bool) { return nil, false } -// AsHBaseObjectDataset is the BasicDataset implementation for Office365Dataset. -func (o3d Office365Dataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { +// AsResponsysSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsResponsysSource() (*ResponsysSource, bool) { return nil, false } -// AsGreenplumTableDataset is the BasicDataset implementation for Office365Dataset. -func (o3d Office365Dataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { return nil, false } -// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for Office365Dataset. -func (o3d Office365Dataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { +// AsVerticaSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsVerticaSource() (*VerticaSource, bool) { return nil, false } -// AsEloquaObjectDataset is the BasicDataset implementation for Office365Dataset. -func (o3d Office365Dataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { +// AsNetezzaSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsNetezzaSource() (*NetezzaSource, bool) { return nil, false } -// AsDrillTableDataset is the BasicDataset implementation for Office365Dataset. -func (o3d Office365Dataset) AsDrillTableDataset() (*DrillTableDataset, bool) { +// AsZohoSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsZohoSource() (*ZohoSource, bool) { return nil, false } -// AsCouchbaseTableDataset is the BasicDataset implementation for Office365Dataset. -func (o3d Office365Dataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { +// AsXeroSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsXeroSource() (*XeroSource, bool) { return nil, false } -// AsConcurObjectDataset is the BasicDataset implementation for Office365Dataset. -func (o3d Office365Dataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { +// AsSquareSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsSquareSource() (*SquareSource, bool) { return nil, false } -// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for Office365Dataset. -func (o3d Office365Dataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { +// AsSparkSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsSparkSource() (*SparkSource, bool) { return nil, false } -// AsAmazonMWSObjectDataset is the BasicDataset implementation for Office365Dataset. -func (o3d Office365Dataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { +// AsShopifySource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsShopifySource() (*ShopifySource, bool) { return nil, false } -// AsHTTPDataset is the BasicDataset implementation for Office365Dataset. -func (o3d Office365Dataset) AsHTTPDataset() (*HTTPDataset, bool) { +// AsServiceNowSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsServiceNowSource() (*ServiceNowSource, bool) { return nil, false } -// AsAzureSearchIndexDataset is the BasicDataset implementation for Office365Dataset. -func (o3d Office365Dataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { +// AsQuickBooksSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsQuickBooksSource() (*QuickBooksSource, bool) { return nil, false } -// AsWebTableDataset is the BasicDataset implementation for Office365Dataset. -func (o3d Office365Dataset) AsWebTableDataset() (*WebTableDataset, bool) { +// AsPrestoSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsPrestoSource() (*PrestoSource, bool) { return nil, false } -// AsSapTableResourceDataset is the BasicDataset implementation for Office365Dataset. -func (o3d Office365Dataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { +// AsPhoenixSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsPhoenixSource() (*PhoenixSource, bool) { return nil, false } -// AsRestResourceDataset is the BasicDataset implementation for Office365Dataset. -func (o3d Office365Dataset) AsRestResourceDataset() (*RestResourceDataset, bool) { +// AsPaypalSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsPaypalSource() (*PaypalSource, bool) { return nil, false } -// AsSQLServerTableDataset is the BasicDataset implementation for Office365Dataset. -func (o3d Office365Dataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { +// AsMarketoSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsMarketoSource() (*MarketoSource, bool) { return nil, false } -// AsSapOpenHubTableDataset is the BasicDataset implementation for Office365Dataset. -func (o3d Office365Dataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { +// AsAzureMariaDBSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { return nil, false } -// AsSapHanaTableDataset is the BasicDataset implementation for Office365Dataset. -func (o3d Office365Dataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { +// AsMariaDBSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsMariaDBSource() (*MariaDBSource, bool) { return nil, false } -// AsSapEccResourceDataset is the BasicDataset implementation for Office365Dataset. -func (o3d Office365Dataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { +// AsMagentoSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsMagentoSource() (*MagentoSource, bool) { return nil, false } -// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for Office365Dataset. -func (o3d Office365Dataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { +// AsJiraSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsJiraSource() (*JiraSource, bool) { return nil, false } -// AsSapBwCubeDataset is the BasicDataset implementation for Office365Dataset. -func (o3d Office365Dataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { +// AsImpalaSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsImpalaSource() (*ImpalaSource, bool) { return nil, false } -// AsSybaseTableDataset is the BasicDataset implementation for Office365Dataset. -func (o3d Office365Dataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { +// AsHubspotSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsHubspotSource() (*HubspotSource, bool) { return nil, false } -// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for Office365Dataset. -func (o3d Office365Dataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { +// AsHiveSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsHiveSource() (*HiveSource, bool) { return nil, false } -// AsSalesforceObjectDataset is the BasicDataset implementation for Office365Dataset. -func (o3d Office365Dataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { +// AsHBaseSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsHBaseSource() (*HBaseSource, bool) { return nil, false } -// AsMicrosoftAccessTableDataset is the BasicDataset implementation for Office365Dataset. -func (o3d Office365Dataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { +// AsGreenplumSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsGreenplumSource() (*GreenplumSource, bool) { return nil, false } -// AsPostgreSQLTableDataset is the BasicDataset implementation for Office365Dataset. -func (o3d Office365Dataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { +// AsGoogleBigQuerySource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { return nil, false } -// AsMySQLTableDataset is the BasicDataset implementation for Office365Dataset. -func (o3d Office365Dataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { +// AsEloquaSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsEloquaSource() (*EloquaSource, bool) { return nil, false } -// AsOdbcTableDataset is the BasicDataset implementation for Office365Dataset. -func (o3d Office365Dataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { +// AsDrillSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsDrillSource() (*DrillSource, bool) { return nil, false } -// AsInformixTableDataset is the BasicDataset implementation for Office365Dataset. -func (o3d Office365Dataset) AsInformixTableDataset() (*InformixTableDataset, bool) { +// AsCouchbaseSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsCouchbaseSource() (*CouchbaseSource, bool) { return nil, false } -// AsRelationalTableDataset is the BasicDataset implementation for Office365Dataset. -func (o3d Office365Dataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { +// AsConcurSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsConcurSource() (*ConcurSource, bool) { return nil, false } -// AsAzureMySQLTableDataset is the BasicDataset implementation for Office365Dataset. -func (o3d Office365Dataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { +// AsAzurePostgreSQLSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { return nil, false } -// AsTeradataTableDataset is the BasicDataset implementation for Office365Dataset. -func (o3d Office365Dataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { +// AsAmazonMWSSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsAmazonMWSSource() (*AmazonMWSSource, bool) { return nil, false } -// AsOracleTableDataset is the BasicDataset implementation for Office365Dataset. -func (o3d Office365Dataset) AsOracleTableDataset() (*OracleTableDataset, bool) { +// AsCassandraSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsCassandraSource() (*CassandraSource, bool) { return nil, false } -// AsODataResourceDataset is the BasicDataset implementation for Office365Dataset. -func (o3d Office365Dataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { +// AsTeradataSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsTeradataSource() (*TeradataSource, bool) { return nil, false } -// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for Office365Dataset. -func (o3d Office365Dataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { +// AsAzureMySQLSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsAzureMySQLSource() (*AzureMySQLSource, bool) { return nil, false } -// AsMongoDbV2CollectionDataset is the BasicDataset implementation for Office365Dataset. -func (o3d Office365Dataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { +// AsSQLDWSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsSQLDWSource() (*SQLDWSource, bool) { return nil, false } -// AsMongoDbCollectionDataset is the BasicDataset implementation for Office365Dataset. -func (o3d Office365Dataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { +// AsSQLMISource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsSQLMISource() (*SQLMISource, bool) { return nil, false } -// AsFileShareDataset is the BasicDataset implementation for Office365Dataset. -func (o3d Office365Dataset) AsFileShareDataset() (*FileShareDataset, bool) { +// AsAzureSQLSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsAzureSQLSource() (*AzureSQLSource, bool) { return nil, false } -// AsOffice365Dataset is the BasicDataset implementation for Office365Dataset. -func (o3d Office365Dataset) AsOffice365Dataset() (*Office365Dataset, bool) { - return &o3d, true +// AsSQLServerSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsSQLServerSource() (*SQLServerSource, bool) { + return nil, false } -// AsAzureBlobFSDataset is the BasicDataset implementation for Office365Dataset. -func (o3d Office365Dataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) { +// AsSQLSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsSQLSource() (*SQLSource, bool) { return nil, false } -// AsAzureDataLakeStoreDataset is the BasicDataset implementation for Office365Dataset. -func (o3d Office365Dataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) { +// AsSapTableSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsSapTableSource() (*SapTableSource, bool) { return nil, false } -// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for Office365Dataset. -func (o3d Office365Dataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { +// AsSapOpenHubSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsSapOpenHubSource() (*SapOpenHubSource, bool) { return nil, false } -// AsDynamicsCrmEntityDataset is the BasicDataset implementation for Office365Dataset. -func (o3d Office365Dataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { +// AsSapHanaSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsSapHanaSource() (*SapHanaSource, bool) { return nil, false } -// AsDynamicsEntityDataset is the BasicDataset implementation for Office365Dataset. -func (o3d Office365Dataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { +// AsSapEccSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsSapEccSource() (*SapEccSource, bool) { return nil, false } -// AsDocumentDbCollectionDataset is the BasicDataset implementation for Office365Dataset. -func (o3d Office365Dataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { +// AsSapCloudForCustomerSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { return nil, false } -// AsCustomDataset is the BasicDataset implementation for Office365Dataset. -func (o3d Office365Dataset) AsCustomDataset() (*CustomDataset, bool) { +// AsSalesforceSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsSalesforceSource() (*SalesforceSource, bool) { return nil, false } -// AsCassandraTableDataset is the BasicDataset implementation for Office365Dataset. -func (o3d Office365Dataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { +// AsSapBwSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsSapBwSource() (*SapBwSource, bool) { return nil, false } -// AsAzureSQLDWTableDataset is the BasicDataset implementation for Office365Dataset. -func (o3d Office365Dataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { +// AsSybaseSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsSybaseSource() (*SybaseSource, bool) { return nil, false } -// AsAzureSQLMITableDataset is the BasicDataset implementation for Office365Dataset. -func (o3d Office365Dataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { +// AsPostgreSQLSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsPostgreSQLSource() (*PostgreSQLSource, bool) { return nil, false } -// AsAzureSQLTableDataset is the BasicDataset implementation for Office365Dataset. -func (o3d Office365Dataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { +// AsMySQLSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsMySQLSource() (*MySQLSource, bool) { return nil, false } -// AsAzureTableDataset is the BasicDataset implementation for Office365Dataset. -func (o3d Office365Dataset) AsAzureTableDataset() (*AzureTableDataset, bool) { +// AsOdbcSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsOdbcSource() (*OdbcSource, bool) { return nil, false } -// AsAzureBlobDataset is the BasicDataset implementation for Office365Dataset. -func (o3d Office365Dataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) { +// AsDb2Source is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsDb2Source() (*Db2Source, bool) { return nil, false } -// AsBinaryDataset is the BasicDataset implementation for Office365Dataset. -func (o3d Office365Dataset) AsBinaryDataset() (*BinaryDataset, bool) { +// AsInformixSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsInformixSource() (*InformixSource, bool) { return nil, false } -// AsDelimitedTextDataset is the BasicDataset implementation for Office365Dataset. -func (o3d Office365Dataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { +// AsAzureTableSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsAzureTableSource() (*AzureTableSource, bool) { return nil, false } -// AsParquetDataset is the BasicDataset implementation for Office365Dataset. -func (o3d Office365Dataset) AsParquetDataset() (*ParquetDataset, bool) { +// AsTabularSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsTabularSource() (*TabularSource, bool) { return nil, false } -// AsAvroDataset is the BasicDataset implementation for Office365Dataset. -func (o3d Office365Dataset) AsAvroDataset() (*AvroDataset, bool) { +// AsBasicTabularSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsBasicTabularSource() (BasicTabularSource, bool) { return nil, false } -// AsAmazonS3Dataset is the BasicDataset implementation for Office365Dataset. -func (o3d Office365Dataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) { +// AsBinarySource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsBinarySource() (*BinarySource, bool) { return nil, false } -// AsDataset is the BasicDataset implementation for Office365Dataset. -func (o3d Office365Dataset) AsDataset() (*Dataset, bool) { +// AsOrcSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsOrcSource() (*OrcSource, bool) { return nil, false } -// AsBasicDataset is the BasicDataset implementation for Office365Dataset. -func (o3d Office365Dataset) AsBasicDataset() (BasicDataset, bool) { - return &o3d, true +// AsJSONSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsJSONSource() (*JSONSource, bool) { + return nil, false } -// UnmarshalJSON is the custom unmarshaler for Office365Dataset struct. -func (o3d *Office365Dataset) UnmarshalJSON(body []byte) error { +// AsDelimitedTextSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false +} + +// AsParquetSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for Office365Source. +func (o3s Office365Source) AsBasicCopySource() (BasicCopySource, bool) { + return &o3s, true +} + +// UnmarshalJSON is the custom unmarshaler for Office365Source struct. +func (o3s *Office365Source) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -128134,14 +144830,59 @@ func (o3d *Office365Dataset) UnmarshalJSON(body []byte) error { } for k, v := range m { switch k { - case "typeProperties": + case "allowedGroups": if v != nil { - var office365DatasetTypeProperties Office365DatasetTypeProperties - err = json.Unmarshal(*v, &office365DatasetTypeProperties) + var allowedGroups interface{} + err = json.Unmarshal(*v, &allowedGroups) if err != nil { return err } - o3d.Office365DatasetTypeProperties = &office365DatasetTypeProperties + o3s.AllowedGroups = allowedGroups + } + case "userScopeFilterUri": + if v != nil { + var userScopeFilterURI interface{} + err = json.Unmarshal(*v, &userScopeFilterURI) + if err != nil { + return err + } + o3s.UserScopeFilterURI = userScopeFilterURI + } + case "dateFilterColumn": + if v != nil { + var dateFilterColumn interface{} + err = json.Unmarshal(*v, &dateFilterColumn) + if err != nil { + return err + } + o3s.DateFilterColumn = dateFilterColumn + } + case "startTime": + if v != nil { + var startTime interface{} + err = json.Unmarshal(*v, &startTime) + if err != nil { + return err + } + o3s.StartTime = startTime + } + case "endTime": + if v != nil { + var endTime interface{} + err = json.Unmarshal(*v, &endTime) + if err != nil { + return err + } + o3s.EndTime = endTime + } + case "outputColumns": + if v != nil { + var outputColumns interface{} + err = json.Unmarshal(*v, &outputColumns) + if err != nil { + return err + } + o3s.OutputColumns = outputColumns } default: if v != nil { @@ -128150,82 +144891,127 @@ func (o3d *Office365Dataset) UnmarshalJSON(body []byte) error { if err != nil { return err } - if o3d.AdditionalProperties == nil { - o3d.AdditionalProperties = make(map[string]interface{}) + if o3s.AdditionalProperties == nil { + o3s.AdditionalProperties = make(map[string]interface{}) } - o3d.AdditionalProperties[k] = additionalProperties + o3s.AdditionalProperties[k] = additionalProperties } - case "description": + case "sourceRetryCount": if v != nil { - var description string - err = json.Unmarshal(*v, &description) + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) if err != nil { return err } - o3d.Description = &description + o3s.SourceRetryCount = sourceRetryCount } - case "structure": + case "sourceRetryWait": if v != nil { - var structure interface{} - err = json.Unmarshal(*v, &structure) + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) if err != nil { return err } - o3d.Structure = structure + o3s.SourceRetryWait = sourceRetryWait } - case "schema": + case "maxConcurrentConnections": if v != nil { - var schema interface{} - err = json.Unmarshal(*v, &schema) + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) if err != nil { return err } - o3d.Schema = schema + o3s.MaxConcurrentConnections = maxConcurrentConnections } - case "linkedServiceName": + case "type": if v != nil { - var linkedServiceName LinkedServiceReference - err = json.Unmarshal(*v, &linkedServiceName) + var typeVar TypeBasicCopySource + err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - o3d.LinkedServiceName = &linkedServiceName + o3s.Type = typeVar } - case "parameters": + } + } + + return nil +} + +// Operation azure Data Factory API operation definition. +type Operation struct { + // Name - Operation name: {provider}/{resource}/{operation} + Name *string `json:"name,omitempty"` + // Origin - The intended executor of the operation. + Origin *string `json:"origin,omitempty"` + // Display - Metadata associated with the operation. + Display *OperationDisplay `json:"display,omitempty"` + // OperationProperties - Additional details about the operation. + *OperationProperties `json:"properties,omitempty"` +} + +// MarshalJSON is the custom marshaler for Operation. +func (o Operation) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if o.Name != nil { + objectMap["name"] = o.Name + } + if o.Origin != nil { + objectMap["origin"] = o.Origin + } + if o.Display != nil { + objectMap["display"] = o.Display + } + if o.OperationProperties != nil { + objectMap["properties"] = o.OperationProperties + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for Operation struct. +func (o *Operation) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "name": if v != nil { - var parameters map[string]*ParameterSpecification - err = json.Unmarshal(*v, ¶meters) + var name string + err = json.Unmarshal(*v, &name) if err != nil { return err } - o3d.Parameters = parameters + o.Name = &name } - case "annotations": + case "origin": if v != nil { - var annotations []interface{} - err = json.Unmarshal(*v, &annotations) + var origin string + err = json.Unmarshal(*v, &origin) if err != nil { return err } - o3d.Annotations = &annotations + o.Origin = &origin } - case "folder": + case "display": if v != nil { - var folder DatasetFolder - err = json.Unmarshal(*v, &folder) + var display OperationDisplay + err = json.Unmarshal(*v, &display) if err != nil { return err } - o3d.Folder = &folder + o.Display = &display } - case "type": + case "properties": if v != nil { - var typeVar TypeBasicDataset - err = json.Unmarshal(*v, &typeVar) + var operationProperties OperationProperties + err = json.Unmarshal(*v, &operationProperties) if err != nil { return err } - o3d.Type = typeVar + o.OperationProperties = &operationProperties } } } @@ -128233,18 +145019,234 @@ func (o3d *Office365Dataset) UnmarshalJSON(body []byte) error { return nil } -// Office365DatasetTypeProperties office365 dataset properties. -type Office365DatasetTypeProperties struct { - // TableName - Name of the dataset to extract from Office 365. Type: string (or Expression with resultType string). - TableName interface{} `json:"tableName,omitempty"` - // Predicate - A predicate expression that can be used to filter the specific rows to extract from Office 365. Type: string (or Expression with resultType string). - Predicate interface{} `json:"predicate,omitempty"` +// OperationDisplay metadata associated with the operation. +type OperationDisplay struct { + // Description - The description of the operation. + Description *string `json:"description,omitempty"` + // Provider - The name of the provider. + Provider *string `json:"provider,omitempty"` + // Resource - The name of the resource type on which the operation is performed. + Resource *string `json:"resource,omitempty"` + // Operation - The type of operation: get, read, delete, etc. + Operation *string `json:"operation,omitempty"` } -// Office365LinkedService office365 linked service. -type Office365LinkedService struct { - // Office365LinkedServiceTypeProperties - Office365 linked service properties. - *Office365LinkedServiceTypeProperties `json:"typeProperties,omitempty"` +// OperationListResponse a list of operations that can be performed by the Data Factory service. +type OperationListResponse struct { + autorest.Response `json:"-"` + // Value - List of Data Factory operations supported by the Data Factory resource provider. + Value *[]Operation `json:"value,omitempty"` + // NextLink - The link to the next page of results, if any remaining results exist. + NextLink *string `json:"nextLink,omitempty"` +} + +// OperationListResponseIterator provides access to a complete listing of Operation values. +type OperationListResponseIterator struct { + i int + page OperationListResponsePage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *OperationListResponseIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/OperationListResponseIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *OperationListResponseIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter OperationListResponseIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter OperationListResponseIterator) Response() OperationListResponse { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter OperationListResponseIterator) Value() Operation { + if !iter.page.NotDone() { + return Operation{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the OperationListResponseIterator type. +func NewOperationListResponseIterator(page OperationListResponsePage) OperationListResponseIterator { + return OperationListResponseIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (olr OperationListResponse) IsEmpty() bool { + return olr.Value == nil || len(*olr.Value) == 0 +} + +// operationListResponsePreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (olr OperationListResponse) operationListResponsePreparer(ctx context.Context) (*http.Request, error) { + if olr.NextLink == nil || len(to.String(olr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(olr.NextLink))) +} + +// OperationListResponsePage contains a page of Operation values. +type OperationListResponsePage struct { + fn func(context.Context, OperationListResponse) (OperationListResponse, error) + olr OperationListResponse +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *OperationListResponsePage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/OperationListResponsePage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.olr) + if err != nil { + return err + } + page.olr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *OperationListResponsePage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page OperationListResponsePage) NotDone() bool { + return !page.olr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page OperationListResponsePage) Response() OperationListResponse { + return page.olr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page OperationListResponsePage) Values() []Operation { + if page.olr.IsEmpty() { + return nil + } + return *page.olr.Value +} + +// Creates a new instance of the OperationListResponsePage type. +func NewOperationListResponsePage(getNextPage func(context.Context, OperationListResponse) (OperationListResponse, error)) OperationListResponsePage { + return OperationListResponsePage{fn: getNextPage} +} + +// OperationLogSpecification details about an operation related to logs. +type OperationLogSpecification struct { + // Name - The name of the log category. + Name *string `json:"name,omitempty"` + // DisplayName - Localized display name. + DisplayName *string `json:"displayName,omitempty"` + // BlobDuration - Blobs created in the customer storage account, per hour. + BlobDuration *string `json:"blobDuration,omitempty"` +} + +// OperationMetricAvailability defines how often data for a metric becomes available. +type OperationMetricAvailability struct { + // TimeGrain - The granularity for the metric. + TimeGrain *string `json:"timeGrain,omitempty"` + // BlobDuration - Blob created in the customer storage account, per hour. + BlobDuration *string `json:"blobDuration,omitempty"` +} + +// OperationMetricDimension defines the metric dimension. +type OperationMetricDimension struct { + // Name - The name of the dimension for the metric. + Name *string `json:"name,omitempty"` + // DisplayName - The display name of the metric dimension. + DisplayName *string `json:"displayName,omitempty"` + // ToBeExportedForShoebox - Whether the dimension should be exported to Azure Monitor. + ToBeExportedForShoebox *bool `json:"toBeExportedForShoebox,omitempty"` +} + +// OperationMetricSpecification details about an operation related to metrics. +type OperationMetricSpecification struct { + // Name - The name of the metric. + Name *string `json:"name,omitempty"` + // DisplayName - Localized display name of the metric. + DisplayName *string `json:"displayName,omitempty"` + // DisplayDescription - The description of the metric. + DisplayDescription *string `json:"displayDescription,omitempty"` + // Unit - The unit that the metric is measured in. + Unit *string `json:"unit,omitempty"` + // AggregationType - The type of metric aggregation. + AggregationType *string `json:"aggregationType,omitempty"` + // EnableRegionalMdmAccount - Whether or not the service is using regional MDM accounts. + EnableRegionalMdmAccount *string `json:"enableRegionalMdmAccount,omitempty"` + // SourceMdmAccount - The name of the MDM account. + SourceMdmAccount *string `json:"sourceMdmAccount,omitempty"` + // SourceMdmNamespace - The name of the MDM namespace. + SourceMdmNamespace *string `json:"sourceMdmNamespace,omitempty"` + // Availabilities - Defines how often data for metrics becomes available. + Availabilities *[]OperationMetricAvailability `json:"availabilities,omitempty"` + // Dimensions - Defines the metric dimension. + Dimensions *[]OperationMetricDimension `json:"dimensions,omitempty"` +} + +// OperationProperties additional details about an operation. +type OperationProperties struct { + // ServiceSpecification - Details about a service operation. + ServiceSpecification *OperationServiceSpecification `json:"serviceSpecification,omitempty"` +} + +// OperationServiceSpecification details about a service operation. +type OperationServiceSpecification struct { + // LogSpecifications - Details about operations related to logs. + LogSpecifications *[]OperationLogSpecification `json:"logSpecifications,omitempty"` + // MetricSpecifications - Details about operations related to metrics. + MetricSpecifications *[]OperationMetricSpecification `json:"metricSpecifications,omitempty"` +} + +// OracleLinkedService oracle database. +type OracleLinkedService struct { + // OracleLinkedServiceTypeProperties - Oracle database linked service properties. + *OracleLinkedServiceTypeProperties `json:"typeProperties,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` // ConnectVia - The integration runtime reference. @@ -128255,505 +145257,520 @@ type Office365LinkedService struct { Parameters map[string]*ParameterSpecification `json:"parameters"` // Annotations - List of tags that can be used for describing the linked service. Annotations *[]interface{} `json:"annotations,omitempty"` - // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' + // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' Type TypeBasicLinkedService `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for Office365LinkedService. -func (o3ls Office365LinkedService) MarshalJSON() ([]byte, error) { - o3ls.Type = TypeOffice365 +// MarshalJSON is the custom marshaler for OracleLinkedService. +func (ols OracleLinkedService) MarshalJSON() ([]byte, error) { + ols.Type = TypeOracle objectMap := make(map[string]interface{}) - if o3ls.Office365LinkedServiceTypeProperties != nil { - objectMap["typeProperties"] = o3ls.Office365LinkedServiceTypeProperties + if ols.OracleLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = ols.OracleLinkedServiceTypeProperties } - if o3ls.ConnectVia != nil { - objectMap["connectVia"] = o3ls.ConnectVia + if ols.ConnectVia != nil { + objectMap["connectVia"] = ols.ConnectVia } - if o3ls.Description != nil { - objectMap["description"] = o3ls.Description + if ols.Description != nil { + objectMap["description"] = ols.Description } - if o3ls.Parameters != nil { - objectMap["parameters"] = o3ls.Parameters + if ols.Parameters != nil { + objectMap["parameters"] = ols.Parameters } - if o3ls.Annotations != nil { - objectMap["annotations"] = o3ls.Annotations + if ols.Annotations != nil { + objectMap["annotations"] = ols.Annotations } - if o3ls.Type != "" { - objectMap["type"] = o3ls.Type + if ols.Type != "" { + objectMap["type"] = ols.Type } - for k, v := range o3ls.AdditionalProperties { + for k, v := range ols.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsAzureFunctionLinkedService is the BasicLinkedService implementation for Office365LinkedService. -func (o3ls Office365LinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { return nil, false } -// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for Office365LinkedService. -func (o3ls Office365LinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { return nil, false } -// AsSapTableLinkedService is the BasicLinkedService implementation for Office365LinkedService. -func (o3ls Office365LinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { +// AsSapTableLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { return nil, false } -// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for Office365LinkedService. -func (o3ls Office365LinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { return nil, false } -// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for Office365LinkedService. -func (o3ls Office365LinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { return nil, false } -// AsDynamicsAXLinkedService is the BasicLinkedService implementation for Office365LinkedService. -func (o3ls Office365LinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { return nil, false } -// AsResponsysLinkedService is the BasicLinkedService implementation for Office365LinkedService. -func (o3ls Office365LinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { +// AsResponsysLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { return nil, false } -// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for Office365LinkedService. -func (o3ls Office365LinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { return nil, false } -// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for Office365LinkedService. -func (o3ls Office365LinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { return nil, false } -// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for Office365LinkedService. -func (o3ls Office365LinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { return nil, false } -// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for Office365LinkedService. -func (o3ls Office365LinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { + return nil, false +} + +// AsNetezzaLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { + return nil, false +} + +// AsVerticaLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { + return nil, false +} + +// AsZohoLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { return nil, false } -// AsNetezzaLinkedService is the BasicLinkedService implementation for Office365LinkedService. -func (o3ls Office365LinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { +// AsXeroLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { return nil, false } -// AsVerticaLinkedService is the BasicLinkedService implementation for Office365LinkedService. -func (o3ls Office365LinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { +// AsSquareLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { return nil, false } -// AsZohoLinkedService is the BasicLinkedService implementation for Office365LinkedService. -func (o3ls Office365LinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { +// AsSparkLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { return nil, false } -// AsXeroLinkedService is the BasicLinkedService implementation for Office365LinkedService. -func (o3ls Office365LinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { +// AsShopifyLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { return nil, false } -// AsSquareLinkedService is the BasicLinkedService implementation for Office365LinkedService. -func (o3ls Office365LinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { +// AsServiceNowLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { return nil, false } -// AsSparkLinkedService is the BasicLinkedService implementation for Office365LinkedService. -func (o3ls Office365LinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { +// AsQuickBooksLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { return nil, false } -// AsShopifyLinkedService is the BasicLinkedService implementation for Office365LinkedService. -func (o3ls Office365LinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { +// AsPrestoLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { return nil, false } -// AsServiceNowLinkedService is the BasicLinkedService implementation for Office365LinkedService. -func (o3ls Office365LinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { +// AsPhoenixLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { return nil, false } -// AsQuickBooksLinkedService is the BasicLinkedService implementation for Office365LinkedService. -func (o3ls Office365LinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { +// AsPaypalLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { return nil, false } -// AsPrestoLinkedService is the BasicLinkedService implementation for Office365LinkedService. -func (o3ls Office365LinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { +// AsMarketoLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { return nil, false } -// AsPhoenixLinkedService is the BasicLinkedService implementation for Office365LinkedService. -func (o3ls Office365LinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { return nil, false } -// AsPaypalLinkedService is the BasicLinkedService implementation for Office365LinkedService. -func (o3ls Office365LinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { +// AsMariaDBLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { return nil, false } -// AsMarketoLinkedService is the BasicLinkedService implementation for Office365LinkedService. -func (o3ls Office365LinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { +// AsMagentoLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { return nil, false } -// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for Office365LinkedService. -func (o3ls Office365LinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { +// AsJiraLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { return nil, false } -// AsMariaDBLinkedService is the BasicLinkedService implementation for Office365LinkedService. -func (o3ls Office365LinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { +// AsImpalaLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { return nil, false } -// AsMagentoLinkedService is the BasicLinkedService implementation for Office365LinkedService. -func (o3ls Office365LinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { +// AsHubspotLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { return nil, false } -// AsJiraLinkedService is the BasicLinkedService implementation for Office365LinkedService. -func (o3ls Office365LinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { +// AsHiveLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { return nil, false } -// AsImpalaLinkedService is the BasicLinkedService implementation for Office365LinkedService. -func (o3ls Office365LinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { +// AsHBaseLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { return nil, false } -// AsHubspotLinkedService is the BasicLinkedService implementation for Office365LinkedService. -func (o3ls Office365LinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { +// AsGreenplumLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { return nil, false } -// AsHiveLinkedService is the BasicLinkedService implementation for Office365LinkedService. -func (o3ls Office365LinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { return nil, false } -// AsHBaseLinkedService is the BasicLinkedService implementation for Office365LinkedService. -func (o3ls Office365LinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { +// AsEloquaLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { return nil, false } -// AsGreenplumLinkedService is the BasicLinkedService implementation for Office365LinkedService. -func (o3ls Office365LinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { +// AsDrillLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { return nil, false } -// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for Office365LinkedService. -func (o3ls Office365LinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { +// AsCouchbaseLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { return nil, false } -// AsEloquaLinkedService is the BasicLinkedService implementation for Office365LinkedService. -func (o3ls Office365LinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { +// AsConcurLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { return nil, false } -// AsDrillLinkedService is the BasicLinkedService implementation for Office365LinkedService. -func (o3ls Office365LinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { return nil, false } -// AsCouchbaseLinkedService is the BasicLinkedService implementation for Office365LinkedService. -func (o3ls Office365LinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { return nil, false } -// AsConcurLinkedService is the BasicLinkedService implementation for Office365LinkedService. -func (o3ls Office365LinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { +// AsSapHanaLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { return nil, false } -// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for Office365LinkedService. -func (o3ls Office365LinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { +// AsSapBWLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { return nil, false } -// AsAmazonMWSLinkedService is the BasicLinkedService implementation for Office365LinkedService. -func (o3ls Office365LinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { +// AsSftpServerLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { return nil, false } -// AsSapHanaLinkedService is the BasicLinkedService implementation for Office365LinkedService. -func (o3ls Office365LinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { +// AsFtpServerLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { return nil, false } -// AsSapBWLinkedService is the BasicLinkedService implementation for Office365LinkedService. -func (o3ls Office365LinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { +// AsHTTPLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { return nil, false } -// AsSftpServerLinkedService is the BasicLinkedService implementation for Office365LinkedService. -func (o3ls Office365LinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { +// AsAzureSearchLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { return nil, false } -// AsFtpServerLinkedService is the BasicLinkedService implementation for Office365LinkedService. -func (o3ls Office365LinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { return nil, false } -// AsHTTPLinkedService is the BasicLinkedService implementation for Office365LinkedService. -func (o3ls Office365LinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { return nil, false } -// AsAzureSearchLinkedService is the BasicLinkedService implementation for Office365LinkedService. -func (o3ls Office365LinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { +// AsAmazonS3LinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { return nil, false } -// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for Office365LinkedService. -func (o3ls Office365LinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { +// AsRestServiceLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { return nil, false } -// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for Office365LinkedService. -func (o3ls Office365LinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { return nil, false } -// AsAmazonS3LinkedService is the BasicLinkedService implementation for Office365LinkedService. -func (o3ls Office365LinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { +// AsSapEccLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { return nil, false } -// AsRestServiceLinkedService is the BasicLinkedService implementation for Office365LinkedService. -func (o3ls Office365LinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { return nil, false } -// AsSapOpenHubLinkedService is the BasicLinkedService implementation for Office365LinkedService. -func (o3ls Office365LinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { return nil, false } -// AsSapEccLinkedService is the BasicLinkedService implementation for Office365LinkedService. -func (o3ls Office365LinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { +// AsSalesforceLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { return nil, false } -// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for Office365LinkedService. -func (o3ls Office365LinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { +// AsOffice365LinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { return nil, false } -// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for Office365LinkedService. -func (o3ls Office365LinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { return nil, false } -// AsSalesforceLinkedService is the BasicLinkedService implementation for Office365LinkedService. -func (o3ls Office365LinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { return nil, false } -// AsOffice365LinkedService is the BasicLinkedService implementation for Office365LinkedService. -func (o3ls Office365LinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { - return &o3ls, true +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { + return nil, false } -// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for Office365LinkedService. -func (o3ls Office365LinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { return nil, false } -// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for Office365LinkedService. -func (o3ls Office365LinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { +// AsMongoDbLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { return nil, false } -// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for Office365LinkedService. -func (o3ls Office365LinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { +// AsCassandraLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { return nil, false } -// AsMongoDbV2LinkedService is the BasicLinkedService implementation for Office365LinkedService. -func (o3ls Office365LinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { +// AsWebLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { return nil, false } -// AsMongoDbLinkedService is the BasicLinkedService implementation for Office365LinkedService. -func (o3ls Office365LinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { +// AsODataLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { return nil, false } -// AsCassandraLinkedService is the BasicLinkedService implementation for Office365LinkedService. -func (o3ls Office365LinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { +// AsHdfsLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { return nil, false } -// AsWebLinkedService is the BasicLinkedService implementation for Office365LinkedService. -func (o3ls Office365LinkedService) AsWebLinkedService() (*WebLinkedService, bool) { +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { return nil, false } -// AsODataLinkedService is the BasicLinkedService implementation for Office365LinkedService. -func (o3ls Office365LinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { +// AsInformixLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { return nil, false } -// AsHdfsLinkedService is the BasicLinkedService implementation for Office365LinkedService. -func (o3ls Office365LinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { +// AsOdbcLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { return nil, false } -// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for Office365LinkedService. -func (o3ls Office365LinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { return nil, false } -// AsInformixLinkedService is the BasicLinkedService implementation for Office365LinkedService. -func (o3ls Office365LinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { +// AsAzureMLLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { return nil, false } -// AsOdbcLinkedService is the BasicLinkedService implementation for Office365LinkedService. -func (o3ls Office365LinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { +// AsTeradataLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { return nil, false } -// AsAzureMLLinkedService is the BasicLinkedService implementation for Office365LinkedService. -func (o3ls Office365LinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { +// AsDb2LinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { return nil, false } -// AsTeradataLinkedService is the BasicLinkedService implementation for Office365LinkedService. -func (o3ls Office365LinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { +// AsSybaseLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { return nil, false } -// AsDb2LinkedService is the BasicLinkedService implementation for Office365LinkedService. -func (o3ls Office365LinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { return nil, false } -// AsSybaseLinkedService is the BasicLinkedService implementation for Office365LinkedService. -func (o3ls Office365LinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { +// AsMySQLLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { return nil, false } -// AsPostgreSQLLinkedService is the BasicLinkedService implementation for Office365LinkedService. -func (o3ls Office365LinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { return nil, false } -// AsMySQLLinkedService is the BasicLinkedService implementation for Office365LinkedService. -func (o3ls Office365LinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { - return nil, false +// AsOracleLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { + return &ols, true } -// AsAzureMySQLLinkedService is the BasicLinkedService implementation for Office365LinkedService. -func (o3ls Office365LinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { return nil, false } -// AsOracleLinkedService is the BasicLinkedService implementation for Office365LinkedService. -func (o3ls Office365LinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { return nil, false } -// AsFileServerLinkedService is the BasicLinkedService implementation for Office365LinkedService. -func (o3ls Office365LinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { +// AsFileServerLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { return nil, false } -// AsHDInsightLinkedService is the BasicLinkedService implementation for Office365LinkedService. -func (o3ls Office365LinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { +// AsHDInsightLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { return nil, false } -// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for Office365LinkedService. -func (o3ls Office365LinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { return nil, false } -// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for Office365LinkedService. -func (o3ls Office365LinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { return nil, false } -// AsDynamicsLinkedService is the BasicLinkedService implementation for Office365LinkedService. -func (o3ls Office365LinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { +// AsDynamicsLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { return nil, false } -// AsCosmosDbLinkedService is the BasicLinkedService implementation for Office365LinkedService. -func (o3ls Office365LinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { +// AsCosmosDbLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { return nil, false } -// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for Office365LinkedService. -func (o3ls Office365LinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { return nil, false } -// AsAzureBatchLinkedService is the BasicLinkedService implementation for Office365LinkedService. -func (o3ls Office365LinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { +// AsAzureBatchLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { return nil, false } -// AsAzureSQLMILinkedService is the BasicLinkedService implementation for Office365LinkedService. -func (o3ls Office365LinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { return nil, false } -// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for Office365LinkedService. -func (o3ls Office365LinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { return nil, false } -// AsSQLServerLinkedService is the BasicLinkedService implementation for Office365LinkedService. -func (o3ls Office365LinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { +// AsSQLServerLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { return nil, false } -// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for Office365LinkedService. -func (o3ls Office365LinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { return nil, false } -// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for Office365LinkedService. -func (o3ls Office365LinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { return nil, false } -// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for Office365LinkedService. -func (o3ls Office365LinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { return nil, false } -// AsAzureStorageLinkedService is the BasicLinkedService implementation for Office365LinkedService. -func (o3ls Office365LinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { +// AsAzureStorageLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { return nil, false } -// AsLinkedService is the BasicLinkedService implementation for Office365LinkedService. -func (o3ls Office365LinkedService) AsLinkedService() (*LinkedService, bool) { +// AsLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsLinkedService() (*LinkedService, bool) { return nil, false } -// AsBasicLinkedService is the BasicLinkedService implementation for Office365LinkedService. -func (o3ls Office365LinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { - return &o3ls, true +// AsBasicLinkedService is the BasicLinkedService implementation for OracleLinkedService. +func (ols OracleLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &ols, true } -// UnmarshalJSON is the custom unmarshaler for Office365LinkedService struct. -func (o3ls *Office365LinkedService) UnmarshalJSON(body []byte) error { +// UnmarshalJSON is the custom unmarshaler for OracleLinkedService struct. +func (ols *OracleLinkedService) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -128763,12 +145780,12 @@ func (o3ls *Office365LinkedService) UnmarshalJSON(body []byte) error { switch k { case "typeProperties": if v != nil { - var office365LinkedServiceTypeProperties Office365LinkedServiceTypeProperties - err = json.Unmarshal(*v, &office365LinkedServiceTypeProperties) + var oracleLinkedServiceTypeProperties OracleLinkedServiceTypeProperties + err = json.Unmarshal(*v, &oracleLinkedServiceTypeProperties) if err != nil { return err } - o3ls.Office365LinkedServiceTypeProperties = &office365LinkedServiceTypeProperties + ols.OracleLinkedServiceTypeProperties = &oracleLinkedServiceTypeProperties } default: if v != nil { @@ -128777,10 +145794,10 @@ func (o3ls *Office365LinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - if o3ls.AdditionalProperties == nil { - o3ls.AdditionalProperties = make(map[string]interface{}) + if ols.AdditionalProperties == nil { + ols.AdditionalProperties = make(map[string]interface{}) } - o3ls.AdditionalProperties[k] = additionalProperties + ols.AdditionalProperties[k] = additionalProperties } case "connectVia": if v != nil { @@ -128789,7 +145806,7 @@ func (o3ls *Office365LinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - o3ls.ConnectVia = &connectVia + ols.ConnectVia = &connectVia } case "description": if v != nil { @@ -128798,7 +145815,7 @@ func (o3ls *Office365LinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - o3ls.Description = &description + ols.Description = &description } case "parameters": if v != nil { @@ -128807,7 +145824,7 @@ func (o3ls *Office365LinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - o3ls.Parameters = parameters + ols.Parameters = parameters } case "annotations": if v != nil { @@ -128816,7 +145833,7 @@ func (o3ls *Office365LinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - o3ls.Annotations = &annotations + ols.Annotations = &annotations } case "type": if v != nil { @@ -128825,7 +145842,7 @@ func (o3ls *Office365LinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - o3ls.Type = typeVar + ols.Type = typeVar } } } @@ -128833,567 +145850,556 @@ func (o3ls *Office365LinkedService) UnmarshalJSON(body []byte) error { return nil } -// Office365LinkedServiceTypeProperties office365 linked service properties. -type Office365LinkedServiceTypeProperties struct { - // Office365TenantID - Azure tenant ID to which the Office 365 account belongs. Type: string (or Expression with resultType string). - Office365TenantID interface{} `json:"office365TenantId,omitempty"` - // ServicePrincipalTenantID - Specify the tenant information under which your Azure AD web application resides. Type: string (or Expression with resultType string). - ServicePrincipalTenantID interface{} `json:"servicePrincipalTenantId,omitempty"` - // ServicePrincipalID - Specify the application's client ID. Type: string (or Expression with resultType string). - ServicePrincipalID interface{} `json:"servicePrincipalId,omitempty"` - // ServicePrincipalKey - Specify the application's key. - ServicePrincipalKey BasicSecretBase `json:"servicePrincipalKey,omitempty"` +// OracleLinkedServiceTypeProperties oracle database linked service properties. +type OracleLinkedServiceTypeProperties struct { + // ConnectionString - The connection string. Type: string, SecureString or AzureKeyVaultSecretReference. + ConnectionString interface{} `json:"connectionString,omitempty"` + // Password - The Azure key vault secret reference of password in connection string. + Password *AzureKeyVaultSecretReference `json:"password,omitempty"` // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` } -// UnmarshalJSON is the custom unmarshaler for Office365LinkedServiceTypeProperties struct. -func (o3lstp *Office365LinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - case "office365TenantId": - if v != nil { - var office365TenantID interface{} - err = json.Unmarshal(*v, &office365TenantID) - if err != nil { - return err - } - o3lstp.Office365TenantID = office365TenantID - } - case "servicePrincipalTenantId": - if v != nil { - var servicePrincipalTenantID interface{} - err = json.Unmarshal(*v, &servicePrincipalTenantID) - if err != nil { - return err - } - o3lstp.ServicePrincipalTenantID = servicePrincipalTenantID - } - case "servicePrincipalId": - if v != nil { - var servicePrincipalID interface{} - err = json.Unmarshal(*v, &servicePrincipalID) - if err != nil { - return err - } - o3lstp.ServicePrincipalID = servicePrincipalID - } - case "servicePrincipalKey": - if v != nil { - servicePrincipalKey, err := unmarshalBasicSecretBase(*v) - if err != nil { - return err - } - o3lstp.ServicePrincipalKey = servicePrincipalKey - } - case "encryptedCredential": - if v != nil { - var encryptedCredential interface{} - err = json.Unmarshal(*v, &encryptedCredential) - if err != nil { - return err - } - o3lstp.EncryptedCredential = encryptedCredential - } - } - } - - return nil +// OraclePartitionSettings the settings that will be leveraged for Oracle source partitioning. +type OraclePartitionSettings struct { + // PartitionNames - Names of the physical partitions of Oracle table. + PartitionNames interface{} `json:"partitionNames,omitempty"` + // PartitionColumnName - The name of the column in integer type that will be used for proceeding range partitioning. Type: string (or Expression with resultType string). + PartitionColumnName interface{} `json:"partitionColumnName,omitempty"` + // PartitionUpperBound - The maximum value of column specified in partitionColumnName that will be used for proceeding range partitioning. Type: string (or Expression with resultType string). + PartitionUpperBound interface{} `json:"partitionUpperBound,omitempty"` + // PartitionLowerBound - The minimum value of column specified in partitionColumnName that will be used for proceeding range partitioning. Type: string (or Expression with resultType string). + PartitionLowerBound interface{} `json:"partitionLowerBound,omitempty"` } -// Office365Source a copy activity source for an Office365 service. -type Office365Source struct { - // AllowedGroups - The groups containing all the users. Type: array of strings (or Expression with resultType array of strings). - AllowedGroups interface{} `json:"allowedGroups,omitempty"` - // UserScopeFilterURI - The user scope uri. Type: string (or Expression with resultType string). - UserScopeFilterURI interface{} `json:"userScopeFilterUri,omitempty"` - // DateFilterColumn - The Column to apply the and . Type: string (or Expression with resultType string). - DateFilterColumn interface{} `json:"dateFilterColumn,omitempty"` - // StartTime - Start time of the requested range for this dataset. Type: string (or Expression with resultType string). - StartTime interface{} `json:"startTime,omitempty"` - // EndTime - End time of the requested range for this dataset. Type: string (or Expression with resultType string). - EndTime interface{} `json:"endTime,omitempty"` +// OracleServiceCloudLinkedService oracle Service Cloud linked service. +type OracleServiceCloudLinkedService struct { + // OracleServiceCloudLinkedServiceTypeProperties - Oracle Service Cloud linked service properties. + *OracleServiceCloudLinkedServiceTypeProperties `json:"typeProperties,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` - // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). - SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` - // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). - SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` - // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). - MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' - Type TypeBasicCopySource `json:"type,omitempty"` + // ConnectVia - The integration runtime reference. + ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` + // Description - Linked service description. + Description *string `json:"description,omitempty"` + // Parameters - Parameters for linked service. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the linked service. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' + Type TypeBasicLinkedService `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for Office365Source. -func (o3s Office365Source) MarshalJSON() ([]byte, error) { - o3s.Type = TypeOffice365Source +// MarshalJSON is the custom marshaler for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) MarshalJSON() ([]byte, error) { + oscls.Type = TypeOracleServiceCloud objectMap := make(map[string]interface{}) - if o3s.AllowedGroups != nil { - objectMap["allowedGroups"] = o3s.AllowedGroups - } - if o3s.UserScopeFilterURI != nil { - objectMap["userScopeFilterUri"] = o3s.UserScopeFilterURI - } - if o3s.DateFilterColumn != nil { - objectMap["dateFilterColumn"] = o3s.DateFilterColumn - } - if o3s.StartTime != nil { - objectMap["startTime"] = o3s.StartTime + if oscls.OracleServiceCloudLinkedServiceTypeProperties != nil { + objectMap["typeProperties"] = oscls.OracleServiceCloudLinkedServiceTypeProperties } - if o3s.EndTime != nil { - objectMap["endTime"] = o3s.EndTime + if oscls.ConnectVia != nil { + objectMap["connectVia"] = oscls.ConnectVia } - if o3s.SourceRetryCount != nil { - objectMap["sourceRetryCount"] = o3s.SourceRetryCount + if oscls.Description != nil { + objectMap["description"] = oscls.Description } - if o3s.SourceRetryWait != nil { - objectMap["sourceRetryWait"] = o3s.SourceRetryWait + if oscls.Parameters != nil { + objectMap["parameters"] = oscls.Parameters } - if o3s.MaxConcurrentConnections != nil { - objectMap["maxConcurrentConnections"] = o3s.MaxConcurrentConnections + if oscls.Annotations != nil { + objectMap["annotations"] = oscls.Annotations } - if o3s.Type != "" { - objectMap["type"] = o3s.Type + if oscls.Type != "" { + objectMap["type"] = oscls.Type } - for k, v := range o3s.AdditionalProperties { + for k, v := range oscls.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsAmazonRedshiftSource is the BasicCopySource implementation for Office365Source. -func (o3s Office365Source) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { +// AsAzureFunctionLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { return nil, false } -// AsGoogleAdWordsSource is the BasicCopySource implementation for Office365Source. -func (o3s Office365Source) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { +// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { return nil, false } -// AsOracleServiceCloudSource is the BasicCopySource implementation for Office365Source. -func (o3s Office365Source) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { +// AsSapTableLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { return nil, false } -// AsDynamicsAXSource is the BasicCopySource implementation for Office365Source. -func (o3s Office365Source) AsDynamicsAXSource() (*DynamicsAXSource, bool) { +// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { return nil, false } -// AsResponsysSource is the BasicCopySource implementation for Office365Source. -func (o3s Office365Source) AsResponsysSource() (*ResponsysSource, bool) { +// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { + return &oscls, true +} + +// AsDynamicsAXLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { return nil, false } -// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for Office365Source. -func (o3s Office365Source) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { +// AsResponsysLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { return nil, false } -// AsVerticaSource is the BasicCopySource implementation for Office365Source. -func (o3s Office365Source) AsVerticaSource() (*VerticaSource, bool) { +// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { return nil, false } -// AsNetezzaSource is the BasicCopySource implementation for Office365Source. -func (o3s Office365Source) AsNetezzaSource() (*NetezzaSource, bool) { +// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { return nil, false } -// AsZohoSource is the BasicCopySource implementation for Office365Source. -func (o3s Office365Source) AsZohoSource() (*ZohoSource, bool) { +// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { return nil, false } -// AsXeroSource is the BasicCopySource implementation for Office365Source. -func (o3s Office365Source) AsXeroSource() (*XeroSource, bool) { +// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { return nil, false } -// AsSquareSource is the BasicCopySource implementation for Office365Source. -func (o3s Office365Source) AsSquareSource() (*SquareSource, bool) { +// AsNetezzaLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { return nil, false } -// AsSparkSource is the BasicCopySource implementation for Office365Source. -func (o3s Office365Source) AsSparkSource() (*SparkSource, bool) { +// AsVerticaLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { return nil, false } -// AsShopifySource is the BasicCopySource implementation for Office365Source. -func (o3s Office365Source) AsShopifySource() (*ShopifySource, bool) { +// AsZohoLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { return nil, false } -// AsServiceNowSource is the BasicCopySource implementation for Office365Source. -func (o3s Office365Source) AsServiceNowSource() (*ServiceNowSource, bool) { +// AsXeroLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { return nil, false } -// AsQuickBooksSource is the BasicCopySource implementation for Office365Source. -func (o3s Office365Source) AsQuickBooksSource() (*QuickBooksSource, bool) { +// AsSquareLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { return nil, false } -// AsPrestoSource is the BasicCopySource implementation for Office365Source. -func (o3s Office365Source) AsPrestoSource() (*PrestoSource, bool) { +// AsSparkLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { return nil, false } -// AsPhoenixSource is the BasicCopySource implementation for Office365Source. -func (o3s Office365Source) AsPhoenixSource() (*PhoenixSource, bool) { +// AsShopifyLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { return nil, false } -// AsPaypalSource is the BasicCopySource implementation for Office365Source. -func (o3s Office365Source) AsPaypalSource() (*PaypalSource, bool) { +// AsServiceNowLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { return nil, false } -// AsMarketoSource is the BasicCopySource implementation for Office365Source. -func (o3s Office365Source) AsMarketoSource() (*MarketoSource, bool) { +// AsQuickBooksLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { return nil, false } -// AsAzureMariaDBSource is the BasicCopySource implementation for Office365Source. -func (o3s Office365Source) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { +// AsPrestoLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { return nil, false } -// AsMariaDBSource is the BasicCopySource implementation for Office365Source. -func (o3s Office365Source) AsMariaDBSource() (*MariaDBSource, bool) { +// AsPhoenixLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { return nil, false } -// AsMagentoSource is the BasicCopySource implementation for Office365Source. -func (o3s Office365Source) AsMagentoSource() (*MagentoSource, bool) { +// AsPaypalLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { return nil, false } -// AsJiraSource is the BasicCopySource implementation for Office365Source. -func (o3s Office365Source) AsJiraSource() (*JiraSource, bool) { +// AsMarketoLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { return nil, false } -// AsImpalaSource is the BasicCopySource implementation for Office365Source. -func (o3s Office365Source) AsImpalaSource() (*ImpalaSource, bool) { +// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { return nil, false } -// AsHubspotSource is the BasicCopySource implementation for Office365Source. -func (o3s Office365Source) AsHubspotSource() (*HubspotSource, bool) { +// AsMariaDBLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { return nil, false } -// AsHiveSource is the BasicCopySource implementation for Office365Source. -func (o3s Office365Source) AsHiveSource() (*HiveSource, bool) { +// AsMagentoLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { return nil, false } -// AsHBaseSource is the BasicCopySource implementation for Office365Source. -func (o3s Office365Source) AsHBaseSource() (*HBaseSource, bool) { +// AsJiraLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { return nil, false } -// AsGreenplumSource is the BasicCopySource implementation for Office365Source. -func (o3s Office365Source) AsGreenplumSource() (*GreenplumSource, bool) { +// AsImpalaLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { return nil, false } -// AsGoogleBigQuerySource is the BasicCopySource implementation for Office365Source. -func (o3s Office365Source) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { +// AsHubspotLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { return nil, false } -// AsEloquaSource is the BasicCopySource implementation for Office365Source. -func (o3s Office365Source) AsEloquaSource() (*EloquaSource, bool) { +// AsHiveLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { return nil, false } -// AsDrillSource is the BasicCopySource implementation for Office365Source. -func (o3s Office365Source) AsDrillSource() (*DrillSource, bool) { +// AsHBaseLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { return nil, false } -// AsCouchbaseSource is the BasicCopySource implementation for Office365Source. -func (o3s Office365Source) AsCouchbaseSource() (*CouchbaseSource, bool) { +// AsGreenplumLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { return nil, false } -// AsConcurSource is the BasicCopySource implementation for Office365Source. -func (o3s Office365Source) AsConcurSource() (*ConcurSource, bool) { +// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { return nil, false } -// AsAzurePostgreSQLSource is the BasicCopySource implementation for Office365Source. -func (o3s Office365Source) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { +// AsEloquaLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { return nil, false } -// AsAmazonMWSSource is the BasicCopySource implementation for Office365Source. -func (o3s Office365Source) AsAmazonMWSSource() (*AmazonMWSSource, bool) { +// AsDrillLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { return nil, false } -// AsHTTPSource is the BasicCopySource implementation for Office365Source. -func (o3s Office365Source) AsHTTPSource() (*HTTPSource, bool) { +// AsCouchbaseLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { return nil, false } -// AsAzureBlobFSSource is the BasicCopySource implementation for Office365Source. -func (o3s Office365Source) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { +// AsConcurLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { return nil, false } -// AsAzureDataLakeStoreSource is the BasicCopySource implementation for Office365Source. -func (o3s Office365Source) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { +// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { return nil, false } -// AsOffice365Source is the BasicCopySource implementation for Office365Source. -func (o3s Office365Source) AsOffice365Source() (*Office365Source, bool) { - return &o3s, true +// AsAmazonMWSLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { + return nil, false } -// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for Office365Source. -func (o3s Office365Source) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { +// AsSapHanaLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { return nil, false } -// AsMongoDbV2Source is the BasicCopySource implementation for Office365Source. -func (o3s Office365Source) AsMongoDbV2Source() (*MongoDbV2Source, bool) { +// AsSapBWLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { return nil, false } -// AsMongoDbSource is the BasicCopySource implementation for Office365Source. -func (o3s Office365Source) AsMongoDbSource() (*MongoDbSource, bool) { +// AsSftpServerLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { return nil, false } -// AsCassandraSource is the BasicCopySource implementation for Office365Source. -func (o3s Office365Source) AsCassandraSource() (*CassandraSource, bool) { +// AsFtpServerLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { return nil, false } -// AsWebSource is the BasicCopySource implementation for Office365Source. -func (o3s Office365Source) AsWebSource() (*WebSource, bool) { +// AsHTTPLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { return nil, false } -// AsTeradataSource is the BasicCopySource implementation for Office365Source. -func (o3s Office365Source) AsTeradataSource() (*TeradataSource, bool) { +// AsAzureSearchLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { return nil, false } -// AsOracleSource is the BasicCopySource implementation for Office365Source. -func (o3s Office365Source) AsOracleSource() (*OracleSource, bool) { +// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { return nil, false } -// AsAzureDataExplorerSource is the BasicCopySource implementation for Office365Source. -func (o3s Office365Source) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { +// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { return nil, false } -// AsAzureMySQLSource is the BasicCopySource implementation for Office365Source. -func (o3s Office365Source) AsAzureMySQLSource() (*AzureMySQLSource, bool) { +// AsAmazonS3LinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { return nil, false } -// AsHdfsSource is the BasicCopySource implementation for Office365Source. -func (o3s Office365Source) AsHdfsSource() (*HdfsSource, bool) { +// AsRestServiceLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { return nil, false } -// AsFileSystemSource is the BasicCopySource implementation for Office365Source. -func (o3s Office365Source) AsFileSystemSource() (*FileSystemSource, bool) { +// AsSapOpenHubLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { return nil, false } -// AsSQLDWSource is the BasicCopySource implementation for Office365Source. -func (o3s Office365Source) AsSQLDWSource() (*SQLDWSource, bool) { +// AsSapEccLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { return nil, false } -// AsSQLMISource is the BasicCopySource implementation for Office365Source. -func (o3s Office365Source) AsSQLMISource() (*SQLMISource, bool) { +// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { return nil, false } -// AsAzureSQLSource is the BasicCopySource implementation for Office365Source. -func (o3s Office365Source) AsAzureSQLSource() (*AzureSQLSource, bool) { +// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { return nil, false } -// AsSQLServerSource is the BasicCopySource implementation for Office365Source. -func (o3s Office365Source) AsSQLServerSource() (*SQLServerSource, bool) { +// AsSalesforceLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { return nil, false } -// AsSQLSource is the BasicCopySource implementation for Office365Source. -func (o3s Office365Source) AsSQLSource() (*SQLSource, bool) { +// AsOffice365LinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { return nil, false } -// AsRestSource is the BasicCopySource implementation for Office365Source. -func (o3s Office365Source) AsRestSource() (*RestSource, bool) { +// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { return nil, false } -// AsSapTableSource is the BasicCopySource implementation for Office365Source. -func (o3s Office365Source) AsSapTableSource() (*SapTableSource, bool) { +// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { return nil, false } -// AsSapOpenHubSource is the BasicCopySource implementation for Office365Source. -func (o3s Office365Source) AsSapOpenHubSource() (*SapOpenHubSource, bool) { +// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { return nil, false } -// AsSapHanaSource is the BasicCopySource implementation for Office365Source. -func (o3s Office365Source) AsSapHanaSource() (*SapHanaSource, bool) { +// AsMongoDbV2LinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { return nil, false } -// AsSapEccSource is the BasicCopySource implementation for Office365Source. -func (o3s Office365Source) AsSapEccSource() (*SapEccSource, bool) { +// AsMongoDbLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { return nil, false } -// AsSapCloudForCustomerSource is the BasicCopySource implementation for Office365Source. -func (o3s Office365Source) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { +// AsCassandraLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { return nil, false } -// AsSalesforceServiceCloudSource is the BasicCopySource implementation for Office365Source. -func (o3s Office365Source) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { +// AsWebLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { return nil, false } -// AsSalesforceSource is the BasicCopySource implementation for Office365Source. -func (o3s Office365Source) AsSalesforceSource() (*SalesforceSource, bool) { +// AsODataLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { return nil, false } -// AsODataSource is the BasicCopySource implementation for Office365Source. -func (o3s Office365Source) AsODataSource() (*ODataSource, bool) { +// AsHdfsLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { return nil, false } -// AsSapBwSource is the BasicCopySource implementation for Office365Source. -func (o3s Office365Source) AsSapBwSource() (*SapBwSource, bool) { +// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { return nil, false } -// AsSybaseSource is the BasicCopySource implementation for Office365Source. -func (o3s Office365Source) AsSybaseSource() (*SybaseSource, bool) { +// AsInformixLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { return nil, false } -// AsPostgreSQLSource is the BasicCopySource implementation for Office365Source. -func (o3s Office365Source) AsPostgreSQLSource() (*PostgreSQLSource, bool) { +// AsOdbcLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { return nil, false } -// AsMySQLSource is the BasicCopySource implementation for Office365Source. -func (o3s Office365Source) AsMySQLSource() (*MySQLSource, bool) { +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { return nil, false } -// AsOdbcSource is the BasicCopySource implementation for Office365Source. -func (o3s Office365Source) AsOdbcSource() (*OdbcSource, bool) { +// AsAzureMLLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { return nil, false } -// AsDb2Source is the BasicCopySource implementation for Office365Source. -func (o3s Office365Source) AsDb2Source() (*Db2Source, bool) { +// AsTeradataLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { return nil, false } -// AsMicrosoftAccessSource is the BasicCopySource implementation for Office365Source. -func (o3s Office365Source) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { +// AsDb2LinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { return nil, false } -// AsInformixSource is the BasicCopySource implementation for Office365Source. -func (o3s Office365Source) AsInformixSource() (*InformixSource, bool) { +// AsSybaseLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { return nil, false } -// AsRelationalSource is the BasicCopySource implementation for Office365Source. -func (o3s Office365Source) AsRelationalSource() (*RelationalSource, bool) { +// AsPostgreSQLLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { return nil, false } -// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for Office365Source. -func (o3s Office365Source) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { +// AsMySQLLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { return nil, false } -// AsDynamicsCrmSource is the BasicCopySource implementation for Office365Source. -func (o3s Office365Source) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { +// AsAzureMySQLLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { return nil, false } -// AsDynamicsSource is the BasicCopySource implementation for Office365Source. -func (o3s Office365Source) AsDynamicsSource() (*DynamicsSource, bool) { +// AsOracleLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { return nil, false } -// AsDocumentDbCollectionSource is the BasicCopySource implementation for Office365Source. -func (o3s Office365Source) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { return nil, false } -// AsBlobSource is the BasicCopySource implementation for Office365Source. -func (o3s Office365Source) AsBlobSource() (*BlobSource, bool) { +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { return nil, false } -// AsAzureTableSource is the BasicCopySource implementation for Office365Source. -func (o3s Office365Source) AsAzureTableSource() (*AzureTableSource, bool) { +// AsFileServerLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { return nil, false } -// AsBinarySource is the BasicCopySource implementation for Office365Source. -func (o3s Office365Source) AsBinarySource() (*BinarySource, bool) { +// AsHDInsightLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { return nil, false } -// AsDelimitedTextSource is the BasicCopySource implementation for Office365Source. -func (o3s Office365Source) AsDelimitedTextSource() (*DelimitedTextSource, bool) { +// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { return nil, false } -// AsParquetSource is the BasicCopySource implementation for Office365Source. -func (o3s Office365Source) AsParquetSource() (*ParquetSource, bool) { +// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { return nil, false } -// AsAvroSource is the BasicCopySource implementation for Office365Source. -func (o3s Office365Source) AsAvroSource() (*AvroSource, bool) { +// AsDynamicsLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { return nil, false } -// AsCopySource is the BasicCopySource implementation for Office365Source. -func (o3s Office365Source) AsCopySource() (*CopySource, bool) { +// AsCosmosDbLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { return nil, false } -// AsBasicCopySource is the BasicCopySource implementation for Office365Source. -func (o3s Office365Source) AsBasicCopySource() (BasicCopySource, bool) { - return &o3s, true +// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { + return nil, false } -// UnmarshalJSON is the custom unmarshaler for Office365Source struct. -func (o3s *Office365Source) UnmarshalJSON(body []byte) error { +// AsAzureBatchLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { + return nil, false +} + +// AsAzureSQLMILinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { + return nil, false +} + +// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { + return nil, false +} + +// AsSQLServerLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { + return nil, false +} + +// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { + return nil, false +} + +// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { + return nil, false +} + +// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { + return nil, false +} + +// AsAzureStorageLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { + return nil, false +} + +// AsLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsLinkedService() (*LinkedService, bool) { + return nil, false +} + +// AsBasicLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. +func (oscls OracleServiceCloudLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { + return &oscls, true +} + +// UnmarshalJSON is the custom unmarshaler for OracleServiceCloudLinkedService struct. +func (oscls *OracleServiceCloudLinkedService) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -129401,98 +146407,71 @@ func (o3s *Office365Source) UnmarshalJSON(body []byte) error { } for k, v := range m { switch k { - case "allowedGroups": - if v != nil { - var allowedGroups interface{} - err = json.Unmarshal(*v, &allowedGroups) - if err != nil { - return err - } - o3s.AllowedGroups = allowedGroups - } - case "userScopeFilterUri": - if v != nil { - var userScopeFilterURI interface{} - err = json.Unmarshal(*v, &userScopeFilterURI) - if err != nil { - return err - } - o3s.UserScopeFilterURI = userScopeFilterURI - } - case "dateFilterColumn": + case "typeProperties": if v != nil { - var dateFilterColumn interface{} - err = json.Unmarshal(*v, &dateFilterColumn) + var oracleServiceCloudLinkedServiceTypeProperties OracleServiceCloudLinkedServiceTypeProperties + err = json.Unmarshal(*v, &oracleServiceCloudLinkedServiceTypeProperties) if err != nil { return err } - o3s.DateFilterColumn = dateFilterColumn + oscls.OracleServiceCloudLinkedServiceTypeProperties = &oracleServiceCloudLinkedServiceTypeProperties } - case "startTime": + default: if v != nil { - var startTime interface{} - err = json.Unmarshal(*v, &startTime) + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) if err != nil { return err } - o3s.StartTime = startTime - } - case "endTime": - if v != nil { - var endTime interface{} - err = json.Unmarshal(*v, &endTime) - if err != nil { - return err + if oscls.AdditionalProperties == nil { + oscls.AdditionalProperties = make(map[string]interface{}) } - o3s.EndTime = endTime + oscls.AdditionalProperties[k] = additionalProperties } - default: + case "connectVia": if v != nil { - var additionalProperties interface{} - err = json.Unmarshal(*v, &additionalProperties) + var connectVia IntegrationRuntimeReference + err = json.Unmarshal(*v, &connectVia) if err != nil { return err } - if o3s.AdditionalProperties == nil { - o3s.AdditionalProperties = make(map[string]interface{}) - } - o3s.AdditionalProperties[k] = additionalProperties + oscls.ConnectVia = &connectVia } - case "sourceRetryCount": + case "description": if v != nil { - var sourceRetryCount interface{} - err = json.Unmarshal(*v, &sourceRetryCount) + var description string + err = json.Unmarshal(*v, &description) if err != nil { return err } - o3s.SourceRetryCount = sourceRetryCount + oscls.Description = &description } - case "sourceRetryWait": + case "parameters": if v != nil { - var sourceRetryWait interface{} - err = json.Unmarshal(*v, &sourceRetryWait) + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) if err != nil { return err } - o3s.SourceRetryWait = sourceRetryWait + oscls.Parameters = parameters } - case "maxConcurrentConnections": + case "annotations": if v != nil { - var maxConcurrentConnections interface{} - err = json.Unmarshal(*v, &maxConcurrentConnections) + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) if err != nil { return err } - o3s.MaxConcurrentConnections = maxConcurrentConnections + oscls.Annotations = &annotations } case "type": if v != nil { - var typeVar TypeBasicCopySource + var typeVar TypeBasicLinkedService err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - o3s.Type = typeVar + oscls.Type = typeVar } } } @@ -129500,38 +146479,26 @@ func (o3s *Office365Source) UnmarshalJSON(body []byte) error { return nil } -// Operation azure Data Factory API operation definition. -type Operation struct { - // Name - Operation name: {provider}/{resource}/{operation} - Name *string `json:"name,omitempty"` - // Origin - The intended executor of the operation. - Origin *string `json:"origin,omitempty"` - // Display - Metadata associated with the operation. - Display *OperationDisplay `json:"display,omitempty"` - // OperationProperties - Additional details about the operation. - *OperationProperties `json:"properties,omitempty"` -} - -// MarshalJSON is the custom marshaler for Operation. -func (o Operation) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - if o.Name != nil { - objectMap["name"] = o.Name - } - if o.Origin != nil { - objectMap["origin"] = o.Origin - } - if o.Display != nil { - objectMap["display"] = o.Display - } - if o.OperationProperties != nil { - objectMap["properties"] = o.OperationProperties - } - return json.Marshal(objectMap) +// OracleServiceCloudLinkedServiceTypeProperties oracle Service Cloud linked service properties. +type OracleServiceCloudLinkedServiceTypeProperties struct { + // Host - The URL of the Oracle Service Cloud instance. + Host interface{} `json:"host,omitempty"` + // Username - The user name that you use to access Oracle Service Cloud server. + Username interface{} `json:"username,omitempty"` + // Password - The password corresponding to the user name that you provided in the username key. + Password BasicSecretBase `json:"password,omitempty"` + // UseEncryptedEndpoints - Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true. Type: boolean (or Expression with resultType boolean). + UseEncryptedEndpoints interface{} `json:"useEncryptedEndpoints,omitempty"` + // UseHostVerification - Specifies whether to require the host name in the server's certificate to match the host name of the server when connecting over SSL. The default value is true. Type: boolean (or Expression with resultType boolean). + UseHostVerification interface{} `json:"useHostVerification,omitempty"` + // UsePeerVerification - Specifies whether to verify the identity of the server when connecting over SSL. The default value is true. Type: boolean (or Expression with resultType boolean). + UsePeerVerification interface{} `json:"usePeerVerification,omitempty"` + // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). + EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` } -// UnmarshalJSON is the custom unmarshaler for Operation struct. -func (o *Operation) UnmarshalJSON(body []byte) error { +// UnmarshalJSON is the custom unmarshaler for OracleServiceCloudLinkedServiceTypeProperties struct. +func (osclstp *OracleServiceCloudLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -129539,785 +146506,582 @@ func (o *Operation) UnmarshalJSON(body []byte) error { } for k, v := range m { switch k { - case "name": + case "host": if v != nil { - var name string - err = json.Unmarshal(*v, &name) + var host interface{} + err = json.Unmarshal(*v, &host) if err != nil { return err } - o.Name = &name + osclstp.Host = host } - case "origin": + case "username": if v != nil { - var origin string - err = json.Unmarshal(*v, &origin) + var username interface{} + err = json.Unmarshal(*v, &username) if err != nil { return err } - o.Origin = &origin + osclstp.Username = username } - case "display": + case "password": if v != nil { - var display OperationDisplay - err = json.Unmarshal(*v, &display) + password, err := unmarshalBasicSecretBase(*v) if err != nil { return err } - o.Display = &display + osclstp.Password = password } - case "properties": + case "useEncryptedEndpoints": if v != nil { - var operationProperties OperationProperties - err = json.Unmarshal(*v, &operationProperties) + var useEncryptedEndpoints interface{} + err = json.Unmarshal(*v, &useEncryptedEndpoints) if err != nil { return err } - o.OperationProperties = &operationProperties + osclstp.UseEncryptedEndpoints = useEncryptedEndpoints } - } - } - - return nil -} - -// OperationDisplay metadata associated with the operation. -type OperationDisplay struct { - // Description - The description of the operation. - Description *string `json:"description,omitempty"` - // Provider - The name of the provider. - Provider *string `json:"provider,omitempty"` - // Resource - The name of the resource type on which the operation is performed. - Resource *string `json:"resource,omitempty"` - // Operation - The type of operation: get, read, delete, etc. - Operation *string `json:"operation,omitempty"` -} - -// OperationListResponse a list of operations that can be performed by the Data Factory service. -type OperationListResponse struct { - autorest.Response `json:"-"` - // Value - List of Data Factory operations supported by the Data Factory resource provider. - Value *[]Operation `json:"value,omitempty"` - // NextLink - The link to the next page of results, if any remaining results exist. - NextLink *string `json:"nextLink,omitempty"` -} - -// OperationListResponseIterator provides access to a complete listing of Operation values. -type OperationListResponseIterator struct { - i int - page OperationListResponsePage -} - -// NextWithContext advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -func (iter *OperationListResponseIterator) NextWithContext(ctx context.Context) (err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/OperationListResponseIterator.NextWithContext") - defer func() { - sc := -1 - if iter.Response().Response.Response != nil { - sc = iter.Response().Response.Response.StatusCode + case "useHostVerification": + if v != nil { + var useHostVerification interface{} + err = json.Unmarshal(*v, &useHostVerification) + if err != nil { + return err + } + osclstp.UseHostVerification = useHostVerification } - tracing.EndSpan(ctx, sc, err) - }() - } - iter.i++ - if iter.i < len(iter.page.Values()) { - return nil - } - err = iter.page.NextWithContext(ctx) - if err != nil { - iter.i-- - return err - } - iter.i = 0 - return nil -} - -// Next advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -// Deprecated: Use NextWithContext() instead. -func (iter *OperationListResponseIterator) Next() error { - return iter.NextWithContext(context.Background()) -} - -// NotDone returns true if the enumeration should be started or is not yet complete. -func (iter OperationListResponseIterator) NotDone() bool { - return iter.page.NotDone() && iter.i < len(iter.page.Values()) -} - -// Response returns the raw server response from the last page request. -func (iter OperationListResponseIterator) Response() OperationListResponse { - return iter.page.Response() -} - -// Value returns the current value or a zero-initialized value if the -// iterator has advanced beyond the end of the collection. -func (iter OperationListResponseIterator) Value() Operation { - if !iter.page.NotDone() { - return Operation{} - } - return iter.page.Values()[iter.i] -} - -// Creates a new instance of the OperationListResponseIterator type. -func NewOperationListResponseIterator(page OperationListResponsePage) OperationListResponseIterator { - return OperationListResponseIterator{page: page} -} - -// IsEmpty returns true if the ListResult contains no values. -func (olr OperationListResponse) IsEmpty() bool { - return olr.Value == nil || len(*olr.Value) == 0 -} - -// operationListResponsePreparer prepares a request to retrieve the next set of results. -// It returns nil if no more results exist. -func (olr OperationListResponse) operationListResponsePreparer(ctx context.Context) (*http.Request, error) { - if olr.NextLink == nil || len(to.String(olr.NextLink)) < 1 { - return nil, nil - } - return autorest.Prepare((&http.Request{}).WithContext(ctx), - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(olr.NextLink))) -} - -// OperationListResponsePage contains a page of Operation values. -type OperationListResponsePage struct { - fn func(context.Context, OperationListResponse) (OperationListResponse, error) - olr OperationListResponse -} - -// NextWithContext advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -func (page *OperationListResponsePage) NextWithContext(ctx context.Context) (err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/OperationListResponsePage.NextWithContext") - defer func() { - sc := -1 - if page.Response().Response.Response != nil { - sc = page.Response().Response.Response.StatusCode + case "usePeerVerification": + if v != nil { + var usePeerVerification interface{} + err = json.Unmarshal(*v, &usePeerVerification) + if err != nil { + return err + } + osclstp.UsePeerVerification = usePeerVerification } - tracing.EndSpan(ctx, sc, err) - }() - } - next, err := page.fn(ctx, page.olr) - if err != nil { - return err - } - page.olr = next - return nil -} - -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -// Deprecated: Use NextWithContext() instead. -func (page *OperationListResponsePage) Next() error { - return page.NextWithContext(context.Background()) -} - -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page OperationListResponsePage) NotDone() bool { - return !page.olr.IsEmpty() -} - -// Response returns the raw server response from the last page request. -func (page OperationListResponsePage) Response() OperationListResponse { - return page.olr -} - -// Values returns the slice of values for the current page or nil if there are no values. -func (page OperationListResponsePage) Values() []Operation { - if page.olr.IsEmpty() { - return nil + case "encryptedCredential": + if v != nil { + var encryptedCredential interface{} + err = json.Unmarshal(*v, &encryptedCredential) + if err != nil { + return err + } + osclstp.EncryptedCredential = encryptedCredential + } + } } - return *page.olr.Value -} - -// Creates a new instance of the OperationListResponsePage type. -func NewOperationListResponsePage(getNextPage func(context.Context, OperationListResponse) (OperationListResponse, error)) OperationListResponsePage { - return OperationListResponsePage{fn: getNextPage} -} - -// OperationLogSpecification details about an operation related to logs. -type OperationLogSpecification struct { - // Name - The name of the log category. - Name *string `json:"name,omitempty"` - // DisplayName - Localized display name. - DisplayName *string `json:"displayName,omitempty"` - // BlobDuration - Blobs created in the customer storage account, per hour. - BlobDuration *string `json:"blobDuration,omitempty"` -} - -// OperationMetricAvailability defines how often data for a metric becomes available. -type OperationMetricAvailability struct { - // TimeGrain - The granularity for the metric. - TimeGrain *string `json:"timeGrain,omitempty"` - // BlobDuration - Blob created in the customer storage account, per hour. - BlobDuration *string `json:"blobDuration,omitempty"` -} - -// OperationMetricDimension defines the metric dimension. -type OperationMetricDimension struct { - // Name - The name of the dimension for the metric. - Name *string `json:"name,omitempty"` - // DisplayName - The display name of the metric dimension. - DisplayName *string `json:"displayName,omitempty"` - // ToBeExportedForShoebox - Whether the dimension should be exported to Azure Monitor. - ToBeExportedForShoebox *bool `json:"toBeExportedForShoebox,omitempty"` -} - -// OperationMetricSpecification details about an operation related to metrics. -type OperationMetricSpecification struct { - // Name - The name of the metric. - Name *string `json:"name,omitempty"` - // DisplayName - Localized display name of the metric. - DisplayName *string `json:"displayName,omitempty"` - // DisplayDescription - The description of the metric. - DisplayDescription *string `json:"displayDescription,omitempty"` - // Unit - The unit that the metric is measured in. - Unit *string `json:"unit,omitempty"` - // AggregationType - The type of metric aggregation. - AggregationType *string `json:"aggregationType,omitempty"` - // EnableRegionalMdmAccount - Whether or not the service is using regional MDM accounts. - EnableRegionalMdmAccount *string `json:"enableRegionalMdmAccount,omitempty"` - // SourceMdmAccount - The name of the MDM account. - SourceMdmAccount *string `json:"sourceMdmAccount,omitempty"` - // SourceMdmNamespace - The name of the MDM namespace. - SourceMdmNamespace *string `json:"sourceMdmNamespace,omitempty"` - // Availabilities - Defines how often data for metrics becomes available. - Availabilities *[]OperationMetricAvailability `json:"availabilities,omitempty"` - // Dimensions - Defines the metric dimension. - Dimensions *[]OperationMetricDimension `json:"dimensions,omitempty"` -} - -// OperationProperties additional details about an operation. -type OperationProperties struct { - // ServiceSpecification - Details about a service operation. - ServiceSpecification *OperationServiceSpecification `json:"serviceSpecification,omitempty"` -} -// OperationServiceSpecification details about a service operation. -type OperationServiceSpecification struct { - // LogSpecifications - Details about operations related to logs. - LogSpecifications *[]OperationLogSpecification `json:"logSpecifications,omitempty"` - // MetricSpecifications - Details about operations related to metrics. - MetricSpecifications *[]OperationMetricSpecification `json:"metricSpecifications,omitempty"` + return nil } -// OracleLinkedService oracle database. -type OracleLinkedService struct { - // OracleLinkedServiceTypeProperties - Oracle database linked service properties. - *OracleLinkedServiceTypeProperties `json:"typeProperties,omitempty"` +// OracleServiceCloudObjectDataset oracle Service Cloud dataset. +type OracleServiceCloudObjectDataset struct { + // GenericDatasetTypeProperties - Properties specific to this dataset type. + *GenericDatasetTypeProperties `json:"typeProperties,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` - // ConnectVia - The integration runtime reference. - ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` - // Description - Linked service description. + // Description - Dataset description. Description *string `json:"description,omitempty"` - // Parameters - Parameters for linked service. + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. Parameters map[string]*ParameterSpecification `json:"parameters"` - // Annotations - List of tags that can be used for describing the linked service. + // Annotations - List of tags that can be used for describing the Dataset. Annotations *[]interface{} `json:"annotations,omitempty"` - // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' - Type TypeBasicLinkedService `json:"type,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' + Type TypeBasicDataset `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for OracleLinkedService. -func (ols OracleLinkedService) MarshalJSON() ([]byte, error) { - ols.Type = TypeOracle +// MarshalJSON is the custom marshaler for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) MarshalJSON() ([]byte, error) { + oscod.Type = TypeOracleServiceCloudObject objectMap := make(map[string]interface{}) - if ols.OracleLinkedServiceTypeProperties != nil { - objectMap["typeProperties"] = ols.OracleLinkedServiceTypeProperties + if oscod.GenericDatasetTypeProperties != nil { + objectMap["typeProperties"] = oscod.GenericDatasetTypeProperties } - if ols.ConnectVia != nil { - objectMap["connectVia"] = ols.ConnectVia + if oscod.Description != nil { + objectMap["description"] = oscod.Description } - if ols.Description != nil { - objectMap["description"] = ols.Description + if oscod.Structure != nil { + objectMap["structure"] = oscod.Structure } - if ols.Parameters != nil { - objectMap["parameters"] = ols.Parameters + if oscod.Schema != nil { + objectMap["schema"] = oscod.Schema } - if ols.Annotations != nil { - objectMap["annotations"] = ols.Annotations + if oscod.LinkedServiceName != nil { + objectMap["linkedServiceName"] = oscod.LinkedServiceName } - if ols.Type != "" { - objectMap["type"] = ols.Type + if oscod.Parameters != nil { + objectMap["parameters"] = oscod.Parameters } - for k, v := range ols.AdditionalProperties { + if oscod.Annotations != nil { + objectMap["annotations"] = oscod.Annotations + } + if oscod.Folder != nil { + objectMap["folder"] = oscod.Folder + } + if oscod.Type != "" { + objectMap["type"] = oscod.Type + } + for k, v := range oscod.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsAzureFunctionLinkedService is the BasicLinkedService implementation for OracleLinkedService. -func (ols OracleLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { - return nil, false -} - -// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for OracleLinkedService. -func (ols OracleLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { - return nil, false -} - -// AsSapTableLinkedService is the BasicLinkedService implementation for OracleLinkedService. -func (ols OracleLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { - return nil, false -} - -// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for OracleLinkedService. -func (ols OracleLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { return nil, false } -// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for OracleLinkedService. -func (ols OracleLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { return nil, false } -// AsDynamicsAXLinkedService is the BasicLinkedService implementation for OracleLinkedService. -func (ols OracleLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { - return nil, false +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { + return &oscod, true } -// AsResponsysLinkedService is the BasicLinkedService implementation for OracleLinkedService. -func (ols OracleLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { +// AsDynamicsAXResourceDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { return nil, false } -// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for OracleLinkedService. -func (ols OracleLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { +// AsResponsysObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { return nil, false } -// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for OracleLinkedService. -func (ols OracleLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { return nil, false } -// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for OracleLinkedService. -func (ols OracleLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { +// AsVerticaTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { return nil, false } -// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for OracleLinkedService. -func (ols OracleLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { +// AsNetezzaTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { return nil, false } -// AsNetezzaLinkedService is the BasicLinkedService implementation for OracleLinkedService. -func (ols OracleLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { +// AsZohoObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { return nil, false } -// AsVerticaLinkedService is the BasicLinkedService implementation for OracleLinkedService. -func (ols OracleLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { +// AsXeroObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { return nil, false } -// AsZohoLinkedService is the BasicLinkedService implementation for OracleLinkedService. -func (ols OracleLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { +// AsSquareObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { return nil, false } -// AsXeroLinkedService is the BasicLinkedService implementation for OracleLinkedService. -func (ols OracleLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { +// AsSparkObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { return nil, false } -// AsSquareLinkedService is the BasicLinkedService implementation for OracleLinkedService. -func (ols OracleLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { +// AsShopifyObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { return nil, false } -// AsSparkLinkedService is the BasicLinkedService implementation for OracleLinkedService. -func (ols OracleLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { +// AsServiceNowObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { return nil, false } -// AsShopifyLinkedService is the BasicLinkedService implementation for OracleLinkedService. -func (ols OracleLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { +// AsQuickBooksObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { return nil, false } -// AsServiceNowLinkedService is the BasicLinkedService implementation for OracleLinkedService. -func (ols OracleLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { +// AsPrestoObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { return nil, false } -// AsQuickBooksLinkedService is the BasicLinkedService implementation for OracleLinkedService. -func (ols OracleLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { +// AsPhoenixObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { return nil, false } -// AsPrestoLinkedService is the BasicLinkedService implementation for OracleLinkedService. -func (ols OracleLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { +// AsPaypalObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { return nil, false } -// AsPhoenixLinkedService is the BasicLinkedService implementation for OracleLinkedService. -func (ols OracleLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { +// AsMarketoObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { return nil, false } -// AsPaypalLinkedService is the BasicLinkedService implementation for OracleLinkedService. -func (ols OracleLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { +// AsAzureMariaDBTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { return nil, false } -// AsMarketoLinkedService is the BasicLinkedService implementation for OracleLinkedService. -func (ols OracleLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { +// AsMariaDBTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { return nil, false } -// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for OracleLinkedService. -func (ols OracleLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { +// AsMagentoObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { return nil, false } -// AsMariaDBLinkedService is the BasicLinkedService implementation for OracleLinkedService. -func (ols OracleLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { +// AsJiraObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { return nil, false } -// AsMagentoLinkedService is the BasicLinkedService implementation for OracleLinkedService. -func (ols OracleLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { +// AsImpalaObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { return nil, false } -// AsJiraLinkedService is the BasicLinkedService implementation for OracleLinkedService. -func (ols OracleLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { +// AsHubspotObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { return nil, false } -// AsImpalaLinkedService is the BasicLinkedService implementation for OracleLinkedService. -func (ols OracleLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { +// AsHiveObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { return nil, false } -// AsHubspotLinkedService is the BasicLinkedService implementation for OracleLinkedService. -func (ols OracleLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { +// AsHBaseObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { return nil, false } -// AsHiveLinkedService is the BasicLinkedService implementation for OracleLinkedService. -func (ols OracleLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { +// AsGreenplumTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { return nil, false } -// AsHBaseLinkedService is the BasicLinkedService implementation for OracleLinkedService. -func (ols OracleLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { return nil, false } -// AsGreenplumLinkedService is the BasicLinkedService implementation for OracleLinkedService. -func (ols OracleLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { +// AsEloquaObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { return nil, false } -// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for OracleLinkedService. -func (ols OracleLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { +// AsDrillTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { return nil, false } -// AsEloquaLinkedService is the BasicLinkedService implementation for OracleLinkedService. -func (ols OracleLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { +// AsCouchbaseTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { return nil, false } -// AsDrillLinkedService is the BasicLinkedService implementation for OracleLinkedService. -func (ols OracleLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { +// AsConcurObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { return nil, false } -// AsCouchbaseLinkedService is the BasicLinkedService implementation for OracleLinkedService. -func (ols OracleLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { return nil, false } -// AsConcurLinkedService is the BasicLinkedService implementation for OracleLinkedService. -func (ols OracleLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { +// AsAmazonMWSObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { return nil, false } -// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for OracleLinkedService. -func (ols OracleLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { +// AsHTTPDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsHTTPDataset() (*HTTPDataset, bool) { return nil, false } -// AsAmazonMWSLinkedService is the BasicLinkedService implementation for OracleLinkedService. -func (ols OracleLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { +// AsAzureSearchIndexDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { return nil, false } -// AsSapHanaLinkedService is the BasicLinkedService implementation for OracleLinkedService. -func (ols OracleLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { +// AsWebTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) { return nil, false } -// AsSapBWLinkedService is the BasicLinkedService implementation for OracleLinkedService. -func (ols OracleLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { +// AsSapTableResourceDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { return nil, false } -// AsSftpServerLinkedService is the BasicLinkedService implementation for OracleLinkedService. -func (ols OracleLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { +// AsRestResourceDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { return nil, false } -// AsFtpServerLinkedService is the BasicLinkedService implementation for OracleLinkedService. -func (ols OracleLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { +// AsSQLServerTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { return nil, false } -// AsHTTPLinkedService is the BasicLinkedService implementation for OracleLinkedService. -func (ols OracleLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { +// AsSapOpenHubTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { return nil, false } -// AsAzureSearchLinkedService is the BasicLinkedService implementation for OracleLinkedService. -func (ols OracleLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { +// AsSapHanaTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { return nil, false } -// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for OracleLinkedService. -func (ols OracleLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { +// AsSapEccResourceDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { return nil, false } -// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for OracleLinkedService. -func (ols OracleLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { return nil, false } -// AsAmazonS3LinkedService is the BasicLinkedService implementation for OracleLinkedService. -func (ols OracleLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { +// AsSapBwCubeDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { return nil, false } -// AsRestServiceLinkedService is the BasicLinkedService implementation for OracleLinkedService. -func (ols OracleLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { +// AsSybaseTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { return nil, false } -// AsSapOpenHubLinkedService is the BasicLinkedService implementation for OracleLinkedService. -func (ols OracleLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { return nil, false } -// AsSapEccLinkedService is the BasicLinkedService implementation for OracleLinkedService. -func (ols OracleLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { +// AsSalesforceObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { return nil, false } -// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for OracleLinkedService. -func (ols OracleLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { return nil, false } -// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for OracleLinkedService. -func (ols OracleLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { +// AsPostgreSQLTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { return nil, false } -// AsSalesforceLinkedService is the BasicLinkedService implementation for OracleLinkedService. -func (ols OracleLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { +// AsMySQLTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { return nil, false } -// AsOffice365LinkedService is the BasicLinkedService implementation for OracleLinkedService. -func (ols OracleLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { +// AsOdbcTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { return nil, false } -// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for OracleLinkedService. -func (ols OracleLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { +// AsInformixTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { return nil, false } -// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for OracleLinkedService. -func (ols OracleLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { +// AsRelationalTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { return nil, false } -// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for OracleLinkedService. -func (ols OracleLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { +// AsDb2TableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { return nil, false } -// AsMongoDbV2LinkedService is the BasicLinkedService implementation for OracleLinkedService. -func (ols OracleLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { return nil, false } -// AsMongoDbLinkedService is the BasicLinkedService implementation for OracleLinkedService. -func (ols OracleLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { +// AsAzureMySQLTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { return nil, false } -// AsCassandraLinkedService is the BasicLinkedService implementation for OracleLinkedService. -func (ols OracleLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { +// AsTeradataTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { return nil, false } -// AsWebLinkedService is the BasicLinkedService implementation for OracleLinkedService. -func (ols OracleLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { +// AsOracleTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { return nil, false } -// AsODataLinkedService is the BasicLinkedService implementation for OracleLinkedService. -func (ols OracleLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { +// AsODataResourceDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { return nil, false } -// AsHdfsLinkedService is the BasicLinkedService implementation for OracleLinkedService. -func (ols OracleLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { return nil, false } -// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for OracleLinkedService. -func (ols OracleLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { return nil, false } -// AsInformixLinkedService is the BasicLinkedService implementation for OracleLinkedService. -func (ols OracleLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { +// AsMongoDbCollectionDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { return nil, false } -// AsOdbcLinkedService is the BasicLinkedService implementation for OracleLinkedService. -func (ols OracleLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { +// AsFileShareDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsFileShareDataset() (*FileShareDataset, bool) { return nil, false } -// AsAzureMLLinkedService is the BasicLinkedService implementation for OracleLinkedService. -func (ols OracleLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { +// AsOffice365Dataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) { return nil, false } -// AsTeradataLinkedService is the BasicLinkedService implementation for OracleLinkedService. -func (ols OracleLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { +// AsAzureBlobFSDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) { return nil, false } -// AsDb2LinkedService is the BasicLinkedService implementation for OracleLinkedService. -func (ols OracleLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { +// AsAzureDataLakeStoreDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) { return nil, false } -// AsSybaseLinkedService is the BasicLinkedService implementation for OracleLinkedService. -func (ols OracleLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { return nil, false } -// AsPostgreSQLLinkedService is the BasicLinkedService implementation for OracleLinkedService. -func (ols OracleLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { return nil, false } -// AsMySQLLinkedService is the BasicLinkedService implementation for OracleLinkedService. -func (ols OracleLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { +// AsDynamicsEntityDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { return nil, false } -// AsAzureMySQLLinkedService is the BasicLinkedService implementation for OracleLinkedService. -func (ols OracleLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { +// AsDocumentDbCollectionDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { return nil, false } -// AsOracleLinkedService is the BasicLinkedService implementation for OracleLinkedService. -func (ols OracleLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { - return &ols, true -} - -// AsFileServerLinkedService is the BasicLinkedService implementation for OracleLinkedService. -func (ols OracleLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { return nil, false } -// AsHDInsightLinkedService is the BasicLinkedService implementation for OracleLinkedService. -func (ols OracleLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { +// AsCustomDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsCustomDataset() (*CustomDataset, bool) { return nil, false } -// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for OracleLinkedService. -func (ols OracleLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { +// AsCassandraTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { return nil, false } -// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for OracleLinkedService. -func (ols OracleLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { +// AsAzureSQLDWTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { return nil, false } -// AsDynamicsLinkedService is the BasicLinkedService implementation for OracleLinkedService. -func (ols OracleLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { +// AsAzureSQLMITableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { return nil, false } -// AsCosmosDbLinkedService is the BasicLinkedService implementation for OracleLinkedService. -func (ols OracleLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { +// AsAzureSQLTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { return nil, false } -// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for OracleLinkedService. -func (ols OracleLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { +// AsAzureTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { return nil, false } -// AsAzureBatchLinkedService is the BasicLinkedService implementation for OracleLinkedService. -func (ols OracleLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { +// AsAzureBlobDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) { return nil, false } -// AsAzureSQLMILinkedService is the BasicLinkedService implementation for OracleLinkedService. -func (ols OracleLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { +// AsBinaryDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) { return nil, false } -// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for OracleLinkedService. -func (ols OracleLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { +// AsOrcDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsOrcDataset() (*OrcDataset, bool) { return nil, false } -// AsSQLServerLinkedService is the BasicLinkedService implementation for OracleLinkedService. -func (ols OracleLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { +// AsJSONDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsJSONDataset() (*JSONDataset, bool) { return nil, false } -// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for OracleLinkedService. -func (ols OracleLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { +// AsDelimitedTextDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { return nil, false } -// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for OracleLinkedService. -func (ols OracleLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { +// AsParquetDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsParquetDataset() (*ParquetDataset, bool) { return nil, false } -// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for OracleLinkedService. -func (ols OracleLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { +// AsAvroDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsAvroDataset() (*AvroDataset, bool) { return nil, false } -// AsAzureStorageLinkedService is the BasicLinkedService implementation for OracleLinkedService. -func (ols OracleLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { +// AsAmazonS3Dataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) { return nil, false } -// AsLinkedService is the BasicLinkedService implementation for OracleLinkedService. -func (ols OracleLinkedService) AsLinkedService() (*LinkedService, bool) { +// AsDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsDataset() (*Dataset, bool) { return nil, false } -// AsBasicLinkedService is the BasicLinkedService implementation for OracleLinkedService. -func (ols OracleLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { - return &ols, true +// AsBasicDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. +func (oscod OracleServiceCloudObjectDataset) AsBasicDataset() (BasicDataset, bool) { + return &oscod, true } -// UnmarshalJSON is the custom unmarshaler for OracleLinkedService struct. -func (ols *OracleLinkedService) UnmarshalJSON(body []byte) error { +// UnmarshalJSON is the custom unmarshaler for OracleServiceCloudObjectDataset struct. +func (oscod *OracleServiceCloudObjectDataset) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -130327,12 +147091,12 @@ func (ols *OracleLinkedService) UnmarshalJSON(body []byte) error { switch k { case "typeProperties": if v != nil { - var oracleLinkedServiceTypeProperties OracleLinkedServiceTypeProperties - err = json.Unmarshal(*v, &oracleLinkedServiceTypeProperties) + var genericDatasetTypeProperties GenericDatasetTypeProperties + err = json.Unmarshal(*v, &genericDatasetTypeProperties) if err != nil { return err } - ols.OracleLinkedServiceTypeProperties = &oracleLinkedServiceTypeProperties + oscod.GenericDatasetTypeProperties = &genericDatasetTypeProperties } default: if v != nil { @@ -130341,28 +147105,46 @@ func (ols *OracleLinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - if ols.AdditionalProperties == nil { - ols.AdditionalProperties = make(map[string]interface{}) + if oscod.AdditionalProperties == nil { + oscod.AdditionalProperties = make(map[string]interface{}) } - ols.AdditionalProperties[k] = additionalProperties + oscod.AdditionalProperties[k] = additionalProperties } - case "connectVia": + case "description": if v != nil { - var connectVia IntegrationRuntimeReference - err = json.Unmarshal(*v, &connectVia) + var description string + err = json.Unmarshal(*v, &description) if err != nil { return err } - ols.ConnectVia = &connectVia + oscod.Description = &description } - case "description": + case "structure": if v != nil { - var description string - err = json.Unmarshal(*v, &description) + var structure interface{} + err = json.Unmarshal(*v, &structure) if err != nil { return err } - ols.Description = &description + oscod.Structure = structure + } + case "schema": + if v != nil { + var schema interface{} + err = json.Unmarshal(*v, &schema) + if err != nil { + return err + } + oscod.Schema = schema + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + oscod.LinkedServiceName = &linkedServiceName } case "parameters": if v != nil { @@ -130371,7 +147153,7 @@ func (ols *OracleLinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - ols.Parameters = parameters + oscod.Parameters = parameters } case "annotations": if v != nil { @@ -130380,16 +147162,25 @@ func (ols *OracleLinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - ols.Annotations = &annotations + oscod.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + oscod.Folder = &folder } case "type": if v != nil { - var typeVar TypeBasicLinkedService + var typeVar TypeBasicDataset err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - ols.Type = typeVar + oscod.Type = typeVar } } } @@ -130397,541 +147188,816 @@ func (ols *OracleLinkedService) UnmarshalJSON(body []byte) error { return nil } -// OracleLinkedServiceTypeProperties oracle database linked service properties. -type OracleLinkedServiceTypeProperties struct { - // ConnectionString - The connection string. Type: string, SecureString or AzureKeyVaultSecretReference. - ConnectionString interface{} `json:"connectionString,omitempty"` - // Password - The Azure key vault secret reference of password in connection string. - Password *AzureKeyVaultSecretReference `json:"password,omitempty"` - // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). - EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` -} - -// OraclePartitionSettings the settings that will be leveraged for Oracle source partitioning. -type OraclePartitionSettings struct { - // PartitionNames - Names of the physical partitions of Oracle table. - PartitionNames interface{} `json:"partitionNames,omitempty"` - // PartitionColumnName - The name of the column in integer type that will be used for proceeding range partitioning. Type: string (or Expression with resultType string). - PartitionColumnName interface{} `json:"partitionColumnName,omitempty"` - // PartitionUpperBound - The maximum value of column specified in partitionColumnName that will be used for proceeding range partitioning. Type: string (or Expression with resultType string). - PartitionUpperBound interface{} `json:"partitionUpperBound,omitempty"` - // PartitionLowerBound - The minimum value of column specified in partitionColumnName that will be used for proceeding range partitioning. Type: string (or Expression with resultType string). - PartitionLowerBound interface{} `json:"partitionLowerBound,omitempty"` -} - -// OracleServiceCloudLinkedService oracle Service Cloud linked service. -type OracleServiceCloudLinkedService struct { - // OracleServiceCloudLinkedServiceTypeProperties - Oracle Service Cloud linked service properties. - *OracleServiceCloudLinkedServiceTypeProperties `json:"typeProperties,omitempty"` +// OracleServiceCloudSource a copy activity Oracle Service Cloud source. +type OracleServiceCloudSource struct { + // Query - A query to retrieve data from source. Type: string (or Expression with resultType string). + Query interface{} `json:"query,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` - // ConnectVia - The integration runtime reference. - ConnectVia *IntegrationRuntimeReference `json:"connectVia,omitempty"` - // Description - Linked service description. - Description *string `json:"description,omitempty"` - // Parameters - Parameters for linked service. - Parameters map[string]*ParameterSpecification `json:"parameters"` - // Annotations - List of tags that can be used for describing the linked service. - Annotations *[]interface{} `json:"annotations,omitempty"` - // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' - Type TypeBasicLinkedService `json:"type,omitempty"` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' + Type TypeBasicCopySource `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for OracleServiceCloudLinkedService. -func (oscls OracleServiceCloudLinkedService) MarshalJSON() ([]byte, error) { - oscls.Type = TypeOracleServiceCloud +// MarshalJSON is the custom marshaler for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) MarshalJSON() ([]byte, error) { + oscs.Type = TypeOracleServiceCloudSource objectMap := make(map[string]interface{}) - if oscls.OracleServiceCloudLinkedServiceTypeProperties != nil { - objectMap["typeProperties"] = oscls.OracleServiceCloudLinkedServiceTypeProperties + if oscs.Query != nil { + objectMap["query"] = oscs.Query } - if oscls.ConnectVia != nil { - objectMap["connectVia"] = oscls.ConnectVia + if oscs.QueryTimeout != nil { + objectMap["queryTimeout"] = oscs.QueryTimeout } - if oscls.Description != nil { - objectMap["description"] = oscls.Description + if oscs.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = oscs.SourceRetryCount } - if oscls.Parameters != nil { - objectMap["parameters"] = oscls.Parameters + if oscs.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = oscs.SourceRetryWait } - if oscls.Annotations != nil { - objectMap["annotations"] = oscls.Annotations + if oscs.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = oscs.MaxConcurrentConnections } - if oscls.Type != "" { - objectMap["type"] = oscls.Type + if oscs.Type != "" { + objectMap["type"] = oscs.Type } - for k, v := range oscls.AdditionalProperties { + for k, v := range oscs.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsAzureFunctionLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. -func (oscls OracleServiceCloudLinkedService) AsAzureFunctionLinkedService() (*AzureFunctionLinkedService, bool) { +// AsHTTPSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + +// AsAmazonRedshiftSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { + return nil, false +} + +// AsGoogleAdWordsSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { + return nil, false +} + +// AsOracleServiceCloudSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { + return &oscs, true +} + +// AsDynamicsAXSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { + return nil, false +} + +// AsResponsysSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsResponsysSource() (*ResponsysSource, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { + return nil, false +} + +// AsVerticaSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsVerticaSource() (*VerticaSource, bool) { + return nil, false +} + +// AsNetezzaSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsNetezzaSource() (*NetezzaSource, bool) { return nil, false } -// AsAzureDataExplorerLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. -func (oscls OracleServiceCloudLinkedService) AsAzureDataExplorerLinkedService() (*AzureDataExplorerLinkedService, bool) { +// AsZohoSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsZohoSource() (*ZohoSource, bool) { return nil, false } -// AsSapTableLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. -func (oscls OracleServiceCloudLinkedService) AsSapTableLinkedService() (*SapTableLinkedService, bool) { +// AsXeroSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsXeroSource() (*XeroSource, bool) { return nil, false } -// AsGoogleAdWordsLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. -func (oscls OracleServiceCloudLinkedService) AsGoogleAdWordsLinkedService() (*GoogleAdWordsLinkedService, bool) { +// AsSquareSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsSquareSource() (*SquareSource, bool) { return nil, false } -// AsOracleServiceCloudLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. -func (oscls OracleServiceCloudLinkedService) AsOracleServiceCloudLinkedService() (*OracleServiceCloudLinkedService, bool) { - return &oscls, true +// AsSparkSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsSparkSource() (*SparkSource, bool) { + return nil, false } -// AsDynamicsAXLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. -func (oscls OracleServiceCloudLinkedService) AsDynamicsAXLinkedService() (*DynamicsAXLinkedService, bool) { +// AsShopifySource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsShopifySource() (*ShopifySource, bool) { return nil, false } -// AsResponsysLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. -func (oscls OracleServiceCloudLinkedService) AsResponsysLinkedService() (*ResponsysLinkedService, bool) { +// AsServiceNowSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsServiceNowSource() (*ServiceNowSource, bool) { return nil, false } -// AsAzureDatabricksLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. -func (oscls OracleServiceCloudLinkedService) AsAzureDatabricksLinkedService() (*AzureDatabricksLinkedService, bool) { +// AsQuickBooksSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsQuickBooksSource() (*QuickBooksSource, bool) { return nil, false } -// AsAzureDataLakeAnalyticsLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. -func (oscls OracleServiceCloudLinkedService) AsAzureDataLakeAnalyticsLinkedService() (*AzureDataLakeAnalyticsLinkedService, bool) { +// AsPrestoSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsPrestoSource() (*PrestoSource, bool) { return nil, false } -// AsHDInsightOnDemandLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. -func (oscls OracleServiceCloudLinkedService) AsHDInsightOnDemandLinkedService() (*HDInsightOnDemandLinkedService, bool) { +// AsPhoenixSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsPhoenixSource() (*PhoenixSource, bool) { return nil, false } -// AsSalesforceMarketingCloudLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. -func (oscls OracleServiceCloudLinkedService) AsSalesforceMarketingCloudLinkedService() (*SalesforceMarketingCloudLinkedService, bool) { +// AsPaypalSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsPaypalSource() (*PaypalSource, bool) { return nil, false } -// AsNetezzaLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. -func (oscls OracleServiceCloudLinkedService) AsNetezzaLinkedService() (*NetezzaLinkedService, bool) { +// AsMarketoSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsMarketoSource() (*MarketoSource, bool) { return nil, false } -// AsVerticaLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. -func (oscls OracleServiceCloudLinkedService) AsVerticaLinkedService() (*VerticaLinkedService, bool) { +// AsAzureMariaDBSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { return nil, false } -// AsZohoLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. -func (oscls OracleServiceCloudLinkedService) AsZohoLinkedService() (*ZohoLinkedService, bool) { +// AsMariaDBSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsMariaDBSource() (*MariaDBSource, bool) { return nil, false } -// AsXeroLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. -func (oscls OracleServiceCloudLinkedService) AsXeroLinkedService() (*XeroLinkedService, bool) { +// AsMagentoSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsMagentoSource() (*MagentoSource, bool) { return nil, false } -// AsSquareLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. -func (oscls OracleServiceCloudLinkedService) AsSquareLinkedService() (*SquareLinkedService, bool) { +// AsJiraSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsJiraSource() (*JiraSource, bool) { return nil, false } -// AsSparkLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. -func (oscls OracleServiceCloudLinkedService) AsSparkLinkedService() (*SparkLinkedService, bool) { +// AsImpalaSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsImpalaSource() (*ImpalaSource, bool) { return nil, false } -// AsShopifyLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. -func (oscls OracleServiceCloudLinkedService) AsShopifyLinkedService() (*ShopifyLinkedService, bool) { +// AsHubspotSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsHubspotSource() (*HubspotSource, bool) { return nil, false } -// AsServiceNowLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. -func (oscls OracleServiceCloudLinkedService) AsServiceNowLinkedService() (*ServiceNowLinkedService, bool) { +// AsHiveSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsHiveSource() (*HiveSource, bool) { return nil, false } -// AsQuickBooksLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. -func (oscls OracleServiceCloudLinkedService) AsQuickBooksLinkedService() (*QuickBooksLinkedService, bool) { +// AsHBaseSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsHBaseSource() (*HBaseSource, bool) { return nil, false } -// AsPrestoLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. -func (oscls OracleServiceCloudLinkedService) AsPrestoLinkedService() (*PrestoLinkedService, bool) { +// AsGreenplumSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsGreenplumSource() (*GreenplumSource, bool) { return nil, false } -// AsPhoenixLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. -func (oscls OracleServiceCloudLinkedService) AsPhoenixLinkedService() (*PhoenixLinkedService, bool) { +// AsGoogleBigQuerySource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { return nil, false } -// AsPaypalLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. -func (oscls OracleServiceCloudLinkedService) AsPaypalLinkedService() (*PaypalLinkedService, bool) { +// AsEloquaSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsEloquaSource() (*EloquaSource, bool) { return nil, false } -// AsMarketoLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. -func (oscls OracleServiceCloudLinkedService) AsMarketoLinkedService() (*MarketoLinkedService, bool) { +// AsDrillSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsDrillSource() (*DrillSource, bool) { return nil, false } -// AsAzureMariaDBLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. -func (oscls OracleServiceCloudLinkedService) AsAzureMariaDBLinkedService() (*AzureMariaDBLinkedService, bool) { +// AsCouchbaseSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsCouchbaseSource() (*CouchbaseSource, bool) { return nil, false } -// AsMariaDBLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. -func (oscls OracleServiceCloudLinkedService) AsMariaDBLinkedService() (*MariaDBLinkedService, bool) { +// AsConcurSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsConcurSource() (*ConcurSource, bool) { return nil, false } -// AsMagentoLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. -func (oscls OracleServiceCloudLinkedService) AsMagentoLinkedService() (*MagentoLinkedService, bool) { +// AsAzurePostgreSQLSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { return nil, false } -// AsJiraLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. -func (oscls OracleServiceCloudLinkedService) AsJiraLinkedService() (*JiraLinkedService, bool) { +// AsAmazonMWSSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { return nil, false } -// AsImpalaLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. -func (oscls OracleServiceCloudLinkedService) AsImpalaLinkedService() (*ImpalaLinkedService, bool) { +// AsCassandraSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsCassandraSource() (*CassandraSource, bool) { return nil, false } -// AsHubspotLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. -func (oscls OracleServiceCloudLinkedService) AsHubspotLinkedService() (*HubspotLinkedService, bool) { +// AsTeradataSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsTeradataSource() (*TeradataSource, bool) { return nil, false } -// AsHiveLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. -func (oscls OracleServiceCloudLinkedService) AsHiveLinkedService() (*HiveLinkedService, bool) { +// AsAzureMySQLSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { return nil, false } -// AsHBaseLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. -func (oscls OracleServiceCloudLinkedService) AsHBaseLinkedService() (*HBaseLinkedService, bool) { +// AsSQLDWSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsSQLDWSource() (*SQLDWSource, bool) { return nil, false } -// AsGreenplumLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. -func (oscls OracleServiceCloudLinkedService) AsGreenplumLinkedService() (*GreenplumLinkedService, bool) { +// AsSQLMISource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsSQLMISource() (*SQLMISource, bool) { return nil, false } -// AsGoogleBigQueryLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. -func (oscls OracleServiceCloudLinkedService) AsGoogleBigQueryLinkedService() (*GoogleBigQueryLinkedService, bool) { +// AsAzureSQLSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsAzureSQLSource() (*AzureSQLSource, bool) { return nil, false } -// AsEloquaLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. -func (oscls OracleServiceCloudLinkedService) AsEloquaLinkedService() (*EloquaLinkedService, bool) { +// AsSQLServerSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsSQLServerSource() (*SQLServerSource, bool) { return nil, false } -// AsDrillLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. -func (oscls OracleServiceCloudLinkedService) AsDrillLinkedService() (*DrillLinkedService, bool) { +// AsSQLSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsSQLSource() (*SQLSource, bool) { return nil, false } -// AsCouchbaseLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. -func (oscls OracleServiceCloudLinkedService) AsCouchbaseLinkedService() (*CouchbaseLinkedService, bool) { +// AsSapTableSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsSapTableSource() (*SapTableSource, bool) { return nil, false } -// AsConcurLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. -func (oscls OracleServiceCloudLinkedService) AsConcurLinkedService() (*ConcurLinkedService, bool) { +// AsSapOpenHubSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { return nil, false } -// AsAzurePostgreSQLLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. -func (oscls OracleServiceCloudLinkedService) AsAzurePostgreSQLLinkedService() (*AzurePostgreSQLLinkedService, bool) { +// AsSapHanaSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsSapHanaSource() (*SapHanaSource, bool) { return nil, false } -// AsAmazonMWSLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. -func (oscls OracleServiceCloudLinkedService) AsAmazonMWSLinkedService() (*AmazonMWSLinkedService, bool) { +// AsSapEccSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsSapEccSource() (*SapEccSource, bool) { return nil, false } -// AsSapHanaLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. -func (oscls OracleServiceCloudLinkedService) AsSapHanaLinkedService() (*SapHanaLinkedService, bool) { +// AsSapCloudForCustomerSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { return nil, false } -// AsSapBWLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. -func (oscls OracleServiceCloudLinkedService) AsSapBWLinkedService() (*SapBWLinkedService, bool) { +// AsSalesforceSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsSalesforceSource() (*SalesforceSource, bool) { return nil, false } -// AsSftpServerLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. -func (oscls OracleServiceCloudLinkedService) AsSftpServerLinkedService() (*SftpServerLinkedService, bool) { +// AsSapBwSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsSapBwSource() (*SapBwSource, bool) { return nil, false } -// AsFtpServerLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. -func (oscls OracleServiceCloudLinkedService) AsFtpServerLinkedService() (*FtpServerLinkedService, bool) { +// AsSybaseSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsSybaseSource() (*SybaseSource, bool) { return nil, false } -// AsHTTPLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. -func (oscls OracleServiceCloudLinkedService) AsHTTPLinkedService() (*HTTPLinkedService, bool) { +// AsPostgreSQLSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { return nil, false } -// AsAzureSearchLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. -func (oscls OracleServiceCloudLinkedService) AsAzureSearchLinkedService() (*AzureSearchLinkedService, bool) { +// AsMySQLSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsMySQLSource() (*MySQLSource, bool) { return nil, false } -// AsCustomDataSourceLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. -func (oscls OracleServiceCloudLinkedService) AsCustomDataSourceLinkedService() (*CustomDataSourceLinkedService, bool) { +// AsOdbcSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsOdbcSource() (*OdbcSource, bool) { return nil, false } -// AsAmazonRedshiftLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. -func (oscls OracleServiceCloudLinkedService) AsAmazonRedshiftLinkedService() (*AmazonRedshiftLinkedService, bool) { +// AsDb2Source is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsDb2Source() (*Db2Source, bool) { return nil, false } -// AsAmazonS3LinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. -func (oscls OracleServiceCloudLinkedService) AsAmazonS3LinkedService() (*AmazonS3LinkedService, bool) { +// AsInformixSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsInformixSource() (*InformixSource, bool) { return nil, false } -// AsRestServiceLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. -func (oscls OracleServiceCloudLinkedService) AsRestServiceLinkedService() (*RestServiceLinkedService, bool) { +// AsAzureTableSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsAzureTableSource() (*AzureTableSource, bool) { return nil, false } -// AsSapOpenHubLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. -func (oscls OracleServiceCloudLinkedService) AsSapOpenHubLinkedService() (*SapOpenHubLinkedService, bool) { +// AsTabularSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsTabularSource() (*TabularSource, bool) { return nil, false } -// AsSapEccLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. -func (oscls OracleServiceCloudLinkedService) AsSapEccLinkedService() (*SapEccLinkedService, bool) { +// AsBasicTabularSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &oscs, true +} + +// AsBinarySource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsBinarySource() (*BinarySource, bool) { return nil, false } -// AsSapCloudForCustomerLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. -func (oscls OracleServiceCloudLinkedService) AsSapCloudForCustomerLinkedService() (*SapCloudForCustomerLinkedService, bool) { +// AsOrcSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsOrcSource() (*OrcSource, bool) { return nil, false } -// AsSalesforceServiceCloudLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. -func (oscls OracleServiceCloudLinkedService) AsSalesforceServiceCloudLinkedService() (*SalesforceServiceCloudLinkedService, bool) { +// AsJSONSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsJSONSource() (*JSONSource, bool) { return nil, false } -// AsSalesforceLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. -func (oscls OracleServiceCloudLinkedService) AsSalesforceLinkedService() (*SalesforceLinkedService, bool) { +// AsDelimitedTextSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { return nil, false } -// AsOffice365LinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. -func (oscls OracleServiceCloudLinkedService) AsOffice365LinkedService() (*Office365LinkedService, bool) { +// AsParquetSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsParquetSource() (*ParquetSource, bool) { return nil, false } -// AsAzureBlobFSLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. -func (oscls OracleServiceCloudLinkedService) AsAzureBlobFSLinkedService() (*AzureBlobFSLinkedService, bool) { +// AsAvroSource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsAvroSource() (*AvroSource, bool) { return nil, false } -// AsAzureDataLakeStoreLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. -func (oscls OracleServiceCloudLinkedService) AsAzureDataLakeStoreLinkedService() (*AzureDataLakeStoreLinkedService, bool) { +// AsCopySource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsCopySource() (*CopySource, bool) { return nil, false } -// AsCosmosDbMongoDbAPILinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. -func (oscls OracleServiceCloudLinkedService) AsCosmosDbMongoDbAPILinkedService() (*CosmosDbMongoDbAPILinkedService, bool) { +// AsBasicCopySource is the BasicCopySource implementation for OracleServiceCloudSource. +func (oscs OracleServiceCloudSource) AsBasicCopySource() (BasicCopySource, bool) { + return &oscs, true +} + +// UnmarshalJSON is the custom unmarshaler for OracleServiceCloudSource struct. +func (oscs *OracleServiceCloudSource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "query": + if v != nil { + var query interface{} + err = json.Unmarshal(*v, &query) + if err != nil { + return err + } + oscs.Query = query + } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + oscs.QueryTimeout = queryTimeout + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if oscs.AdditionalProperties == nil { + oscs.AdditionalProperties = make(map[string]interface{}) + } + oscs.AdditionalProperties[k] = additionalProperties + } + case "sourceRetryCount": + if v != nil { + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) + if err != nil { + return err + } + oscs.SourceRetryCount = sourceRetryCount + } + case "sourceRetryWait": + if v != nil { + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) + if err != nil { + return err + } + oscs.SourceRetryWait = sourceRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + oscs.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySource + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + oscs.Type = typeVar + } + } + } + + return nil +} + +// OracleSink a copy activity Oracle sink. +type OracleSink struct { + // PreCopyScript - SQL pre-copy script. Type: string (or Expression with resultType string). + PreCopyScript interface{} `json:"preCopyScript,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0. + WriteBatchSize interface{} `json:"writeBatchSize,omitempty"` + // WriteBatchTimeout - Write batch timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"` + // SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer). + SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"` + // SinkRetryWait - Sink retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeCosmosDbSQLAPISink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAvroSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzureMySQLSink', 'TypeAzurePostgreSQLSink', 'TypeOrcSink', 'TypeJSONSink', 'TypeDelimitedTextSink' + Type TypeBasicCopySink `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for OracleSink. +func (osVar OracleSink) MarshalJSON() ([]byte, error) { + osVar.Type = TypeOracleSink + objectMap := make(map[string]interface{}) + if osVar.PreCopyScript != nil { + objectMap["preCopyScript"] = osVar.PreCopyScript + } + if osVar.WriteBatchSize != nil { + objectMap["writeBatchSize"] = osVar.WriteBatchSize + } + if osVar.WriteBatchTimeout != nil { + objectMap["writeBatchTimeout"] = osVar.WriteBatchTimeout + } + if osVar.SinkRetryCount != nil { + objectMap["sinkRetryCount"] = osVar.SinkRetryCount + } + if osVar.SinkRetryWait != nil { + objectMap["sinkRetryWait"] = osVar.SinkRetryWait + } + if osVar.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = osVar.MaxConcurrentConnections + } + if osVar.Type != "" { + objectMap["type"] = osVar.Type + } + for k, v := range osVar.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for OracleSink. +func (osVar OracleSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) { return nil, false } -// AsMongoDbV2LinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. -func (oscls OracleServiceCloudLinkedService) AsMongoDbV2LinkedService() (*MongoDbV2LinkedService, bool) { +// AsSalesforceServiceCloudSink is the BasicCopySink implementation for OracleSink. +func (osVar OracleSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) { return nil, false } -// AsMongoDbLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. -func (oscls OracleServiceCloudLinkedService) AsMongoDbLinkedService() (*MongoDbLinkedService, bool) { +// AsSalesforceSink is the BasicCopySink implementation for OracleSink. +func (osVar OracleSink) AsSalesforceSink() (*SalesforceSink, bool) { return nil, false } -// AsCassandraLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. -func (oscls OracleServiceCloudLinkedService) AsCassandraLinkedService() (*CassandraLinkedService, bool) { +// AsAzureDataExplorerSink is the BasicCopySink implementation for OracleSink. +func (osVar OracleSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) { return nil, false } -// AsWebLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. -func (oscls OracleServiceCloudLinkedService) AsWebLinkedService() (*WebLinkedService, bool) { +// AsCommonDataServiceForAppsSink is the BasicCopySink implementation for OracleSink. +func (osVar OracleSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) { return nil, false } -// AsODataLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. -func (oscls OracleServiceCloudLinkedService) AsODataLinkedService() (*ODataLinkedService, bool) { +// AsDynamicsCrmSink is the BasicCopySink implementation for OracleSink. +func (osVar OracleSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) { return nil, false } -// AsHdfsLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. -func (oscls OracleServiceCloudLinkedService) AsHdfsLinkedService() (*HdfsLinkedService, bool) { +// AsDynamicsSink is the BasicCopySink implementation for OracleSink. +func (osVar OracleSink) AsDynamicsSink() (*DynamicsSink, bool) { return nil, false } -// AsMicrosoftAccessLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. -func (oscls OracleServiceCloudLinkedService) AsMicrosoftAccessLinkedService() (*MicrosoftAccessLinkedService, bool) { +// AsMicrosoftAccessSink is the BasicCopySink implementation for OracleSink. +func (osVar OracleSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) { return nil, false } -// AsInformixLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. -func (oscls OracleServiceCloudLinkedService) AsInformixLinkedService() (*InformixLinkedService, bool) { +// AsInformixSink is the BasicCopySink implementation for OracleSink. +func (osVar OracleSink) AsInformixSink() (*InformixSink, bool) { return nil, false } -// AsOdbcLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. -func (oscls OracleServiceCloudLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { +// AsOdbcSink is the BasicCopySink implementation for OracleSink. +func (osVar OracleSink) AsOdbcSink() (*OdbcSink, bool) { return nil, false } -// AsAzureMLLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. -func (oscls OracleServiceCloudLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { +// AsAzureSearchIndexSink is the BasicCopySink implementation for OracleSink. +func (osVar OracleSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) { return nil, false } -// AsTeradataLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. -func (oscls OracleServiceCloudLinkedService) AsTeradataLinkedService() (*TeradataLinkedService, bool) { +// AsAzureBlobFSSink is the BasicCopySink implementation for OracleSink. +func (osVar OracleSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) { return nil, false } -// AsDb2LinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. -func (oscls OracleServiceCloudLinkedService) AsDb2LinkedService() (*Db2LinkedService, bool) { +// AsAzureDataLakeStoreSink is the BasicCopySink implementation for OracleSink. +func (osVar OracleSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) { return nil, false } -// AsSybaseLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. -func (oscls OracleServiceCloudLinkedService) AsSybaseLinkedService() (*SybaseLinkedService, bool) { +// AsOracleSink is the BasicCopySink implementation for OracleSink. +func (osVar OracleSink) AsOracleSink() (*OracleSink, bool) { + return &osVar, true +} + +// AsSQLDWSink is the BasicCopySink implementation for OracleSink. +func (osVar OracleSink) AsSQLDWSink() (*SQLDWSink, bool) { return nil, false } -// AsPostgreSQLLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. -func (oscls OracleServiceCloudLinkedService) AsPostgreSQLLinkedService() (*PostgreSQLLinkedService, bool) { +// AsSQLMISink is the BasicCopySink implementation for OracleSink. +func (osVar OracleSink) AsSQLMISink() (*SQLMISink, bool) { return nil, false } -// AsMySQLLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. -func (oscls OracleServiceCloudLinkedService) AsMySQLLinkedService() (*MySQLLinkedService, bool) { +// AsAzureSQLSink is the BasicCopySink implementation for OracleSink. +func (osVar OracleSink) AsAzureSQLSink() (*AzureSQLSink, bool) { return nil, false } -// AsAzureMySQLLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. -func (oscls OracleServiceCloudLinkedService) AsAzureMySQLLinkedService() (*AzureMySQLLinkedService, bool) { +// AsSQLServerSink is the BasicCopySink implementation for OracleSink. +func (osVar OracleSink) AsSQLServerSink() (*SQLServerSink, bool) { return nil, false } -// AsOracleLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. -func (oscls OracleServiceCloudLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) { +// AsSQLSink is the BasicCopySink implementation for OracleSink. +func (osVar OracleSink) AsSQLSink() (*SQLSink, bool) { return nil, false } -// AsFileServerLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. -func (oscls OracleServiceCloudLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { +// AsCosmosDbSQLAPISink is the BasicCopySink implementation for OracleSink. +func (osVar OracleSink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) { return nil, false } -// AsHDInsightLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. -func (oscls OracleServiceCloudLinkedService) AsHDInsightLinkedService() (*HDInsightLinkedService, bool) { +// AsDocumentDbCollectionSink is the BasicCopySink implementation for OracleSink. +func (osVar OracleSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) { return nil, false } -// AsCommonDataServiceForAppsLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. -func (oscls OracleServiceCloudLinkedService) AsCommonDataServiceForAppsLinkedService() (*CommonDataServiceForAppsLinkedService, bool) { +// AsFileSystemSink is the BasicCopySink implementation for OracleSink. +func (osVar OracleSink) AsFileSystemSink() (*FileSystemSink, bool) { return nil, false } -// AsDynamicsCrmLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. -func (oscls OracleServiceCloudLinkedService) AsDynamicsCrmLinkedService() (*DynamicsCrmLinkedService, bool) { +// AsBlobSink is the BasicCopySink implementation for OracleSink. +func (osVar OracleSink) AsBlobSink() (*BlobSink, bool) { return nil, false } -// AsDynamicsLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. -func (oscls OracleServiceCloudLinkedService) AsDynamicsLinkedService() (*DynamicsLinkedService, bool) { +// AsBinarySink is the BasicCopySink implementation for OracleSink. +func (osVar OracleSink) AsBinarySink() (*BinarySink, bool) { return nil, false } -// AsCosmosDbLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. -func (oscls OracleServiceCloudLinkedService) AsCosmosDbLinkedService() (*CosmosDbLinkedService, bool) { +// AsParquetSink is the BasicCopySink implementation for OracleSink. +func (osVar OracleSink) AsParquetSink() (*ParquetSink, bool) { return nil, false } -// AsAzureKeyVaultLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. -func (oscls OracleServiceCloudLinkedService) AsAzureKeyVaultLinkedService() (*AzureKeyVaultLinkedService, bool) { +// AsAvroSink is the BasicCopySink implementation for OracleSink. +func (osVar OracleSink) AsAvroSink() (*AvroSink, bool) { return nil, false } -// AsAzureBatchLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. -func (oscls OracleServiceCloudLinkedService) AsAzureBatchLinkedService() (*AzureBatchLinkedService, bool) { +// AsAzureTableSink is the BasicCopySink implementation for OracleSink. +func (osVar OracleSink) AsAzureTableSink() (*AzureTableSink, bool) { return nil, false } -// AsAzureSQLMILinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. -func (oscls OracleServiceCloudLinkedService) AsAzureSQLMILinkedService() (*AzureSQLMILinkedService, bool) { +// AsAzureQueueSink is the BasicCopySink implementation for OracleSink. +func (osVar OracleSink) AsAzureQueueSink() (*AzureQueueSink, bool) { return nil, false } -// AsAzureSQLDatabaseLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. -func (oscls OracleServiceCloudLinkedService) AsAzureSQLDatabaseLinkedService() (*AzureSQLDatabaseLinkedService, bool) { +// AsSapCloudForCustomerSink is the BasicCopySink implementation for OracleSink. +func (osVar OracleSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) { return nil, false } -// AsSQLServerLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. -func (oscls OracleServiceCloudLinkedService) AsSQLServerLinkedService() (*SQLServerLinkedService, bool) { +// AsAzureMySQLSink is the BasicCopySink implementation for OracleSink. +func (osVar OracleSink) AsAzureMySQLSink() (*AzureMySQLSink, bool) { return nil, false } -// AsAzureSQLDWLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. -func (oscls OracleServiceCloudLinkedService) AsAzureSQLDWLinkedService() (*AzureSQLDWLinkedService, bool) { +// AsAzurePostgreSQLSink is the BasicCopySink implementation for OracleSink. +func (osVar OracleSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) { return nil, false } -// AsAzureTableStorageLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. -func (oscls OracleServiceCloudLinkedService) AsAzureTableStorageLinkedService() (*AzureTableStorageLinkedService, bool) { +// AsOrcSink is the BasicCopySink implementation for OracleSink. +func (osVar OracleSink) AsOrcSink() (*OrcSink, bool) { return nil, false } -// AsAzureBlobStorageLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. -func (oscls OracleServiceCloudLinkedService) AsAzureBlobStorageLinkedService() (*AzureBlobStorageLinkedService, bool) { +// AsJSONSink is the BasicCopySink implementation for OracleSink. +func (osVar OracleSink) AsJSONSink() (*JSONSink, bool) { return nil, false } -// AsAzureStorageLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. -func (oscls OracleServiceCloudLinkedService) AsAzureStorageLinkedService() (*AzureStorageLinkedService, bool) { +// AsDelimitedTextSink is the BasicCopySink implementation for OracleSink. +func (osVar OracleSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) { return nil, false } -// AsLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. -func (oscls OracleServiceCloudLinkedService) AsLinkedService() (*LinkedService, bool) { +// AsCopySink is the BasicCopySink implementation for OracleSink. +func (osVar OracleSink) AsCopySink() (*CopySink, bool) { return nil, false } -// AsBasicLinkedService is the BasicLinkedService implementation for OracleServiceCloudLinkedService. -func (oscls OracleServiceCloudLinkedService) AsBasicLinkedService() (BasicLinkedService, bool) { - return &oscls, true +// AsBasicCopySink is the BasicCopySink implementation for OracleSink. +func (osVar OracleSink) AsBasicCopySink() (BasicCopySink, bool) { + return &osVar, true } -// UnmarshalJSON is the custom unmarshaler for OracleServiceCloudLinkedService struct. -func (oscls *OracleServiceCloudLinkedService) UnmarshalJSON(body []byte) error { +// UnmarshalJSON is the custom unmarshaler for OracleSink struct. +func (osVar *OracleSink) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -130939,14 +148005,14 @@ func (oscls *OracleServiceCloudLinkedService) UnmarshalJSON(body []byte) error { } for k, v := range m { switch k { - case "typeProperties": + case "preCopyScript": if v != nil { - var oracleServiceCloudLinkedServiceTypeProperties OracleServiceCloudLinkedServiceTypeProperties - err = json.Unmarshal(*v, &oracleServiceCloudLinkedServiceTypeProperties) + var preCopyScript interface{} + err = json.Unmarshal(*v, &preCopyScript) if err != nil { return err } - oscls.OracleServiceCloudLinkedServiceTypeProperties = &oracleServiceCloudLinkedServiceTypeProperties + osVar.PreCopyScript = preCopyScript } default: if v != nil { @@ -130955,150 +148021,64 @@ func (oscls *OracleServiceCloudLinkedService) UnmarshalJSON(body []byte) error { if err != nil { return err } - if oscls.AdditionalProperties == nil { - oscls.AdditionalProperties = make(map[string]interface{}) - } - oscls.AdditionalProperties[k] = additionalProperties - } - case "connectVia": - if v != nil { - var connectVia IntegrationRuntimeReference - err = json.Unmarshal(*v, &connectVia) - if err != nil { - return err - } - oscls.ConnectVia = &connectVia - } - case "description": - if v != nil { - var description string - err = json.Unmarshal(*v, &description) - if err != nil { - return err - } - oscls.Description = &description - } - case "parameters": - if v != nil { - var parameters map[string]*ParameterSpecification - err = json.Unmarshal(*v, ¶meters) - if err != nil { - return err - } - oscls.Parameters = parameters - } - case "annotations": - if v != nil { - var annotations []interface{} - err = json.Unmarshal(*v, &annotations) - if err != nil { - return err - } - oscls.Annotations = &annotations - } - case "type": - if v != nil { - var typeVar TypeBasicLinkedService - err = json.Unmarshal(*v, &typeVar) - if err != nil { - return err - } - oscls.Type = typeVar - } - } - } - - return nil -} - -// OracleServiceCloudLinkedServiceTypeProperties oracle Service Cloud linked service properties. -type OracleServiceCloudLinkedServiceTypeProperties struct { - // Host - The URL of the Oracle Service Cloud instance. - Host interface{} `json:"host,omitempty"` - // Username - The user name that you use to access Oracle Service Cloud server. - Username interface{} `json:"username,omitempty"` - // Password - The password corresponding to the user name that you provided in the username key. - Password BasicSecretBase `json:"password,omitempty"` - // UseEncryptedEndpoints - Specifies whether the data source endpoints are encrypted using HTTPS. The default value is true. Type: boolean (or Expression with resultType boolean). - UseEncryptedEndpoints interface{} `json:"useEncryptedEndpoints,omitempty"` - // UseHostVerification - Specifies whether to require the host name in the server's certificate to match the host name of the server when connecting over SSL. The default value is true. Type: boolean (or Expression with resultType boolean). - UseHostVerification interface{} `json:"useHostVerification,omitempty"` - // UsePeerVerification - Specifies whether to verify the identity of the server when connecting over SSL. The default value is true. Type: boolean (or Expression with resultType boolean). - UsePeerVerification interface{} `json:"usePeerVerification,omitempty"` - // EncryptedCredential - The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string). - EncryptedCredential interface{} `json:"encryptedCredential,omitempty"` -} - -// UnmarshalJSON is the custom unmarshaler for OracleServiceCloudLinkedServiceTypeProperties struct. -func (osclstp *OracleServiceCloudLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - case "host": - if v != nil { - var host interface{} - err = json.Unmarshal(*v, &host) - if err != nil { - return err + if osVar.AdditionalProperties == nil { + osVar.AdditionalProperties = make(map[string]interface{}) } - osclstp.Host = host + osVar.AdditionalProperties[k] = additionalProperties } - case "username": + case "writeBatchSize": if v != nil { - var username interface{} - err = json.Unmarshal(*v, &username) + var writeBatchSize interface{} + err = json.Unmarshal(*v, &writeBatchSize) if err != nil { return err } - osclstp.Username = username + osVar.WriteBatchSize = writeBatchSize } - case "password": + case "writeBatchTimeout": if v != nil { - password, err := unmarshalBasicSecretBase(*v) + var writeBatchTimeout interface{} + err = json.Unmarshal(*v, &writeBatchTimeout) if err != nil { return err } - osclstp.Password = password + osVar.WriteBatchTimeout = writeBatchTimeout } - case "useEncryptedEndpoints": + case "sinkRetryCount": if v != nil { - var useEncryptedEndpoints interface{} - err = json.Unmarshal(*v, &useEncryptedEndpoints) + var sinkRetryCount interface{} + err = json.Unmarshal(*v, &sinkRetryCount) if err != nil { return err } - osclstp.UseEncryptedEndpoints = useEncryptedEndpoints + osVar.SinkRetryCount = sinkRetryCount } - case "useHostVerification": + case "sinkRetryWait": if v != nil { - var useHostVerification interface{} - err = json.Unmarshal(*v, &useHostVerification) + var sinkRetryWait interface{} + err = json.Unmarshal(*v, &sinkRetryWait) if err != nil { return err } - osclstp.UseHostVerification = useHostVerification + osVar.SinkRetryWait = sinkRetryWait } - case "usePeerVerification": + case "maxConcurrentConnections": if v != nil { - var usePeerVerification interface{} - err = json.Unmarshal(*v, &usePeerVerification) + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) if err != nil { return err } - osclstp.UsePeerVerification = usePeerVerification + osVar.MaxConcurrentConnections = maxConcurrentConnections } - case "encryptedCredential": + case "type": if v != nil { - var encryptedCredential interface{} - err = json.Unmarshal(*v, &encryptedCredential) + var typeVar TypeBasicCopySink + err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - osclstp.EncryptedCredential = encryptedCredential + osVar.Type = typeVar } } } @@ -131106,489 +148086,514 @@ func (osclstp *OracleServiceCloudLinkedServiceTypeProperties) UnmarshalJSON(body return nil } -// OracleServiceCloudObjectDataset oracle Service Cloud dataset. -type OracleServiceCloudObjectDataset struct { - // GenericDatasetTypeProperties - Properties specific to this dataset type. - *GenericDatasetTypeProperties `json:"typeProperties,omitempty"` +// OracleSource a copy activity Oracle source. +type OracleSource struct { + // OracleReaderQuery - Oracle reader query. Type: string (or Expression with resultType string). + OracleReaderQuery interface{} `json:"oracleReaderQuery,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` + // PartitionOption - The partition mechanism that will be used for Oracle read in parallel. Possible values include: 'OraclePartitionOptionNone', 'OraclePartitionOptionPhysicalPartitionsOfTable', 'OraclePartitionOptionDynamicRange' + PartitionOption OraclePartitionOption `json:"partitionOption,omitempty"` + // PartitionSettings - The settings that will be leveraged for Oracle source partitioning. + PartitionSettings *OraclePartitionSettings `json:"partitionSettings,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` - // Description - Dataset description. - Description *string `json:"description,omitempty"` - // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. - Structure interface{} `json:"structure,omitempty"` - // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. - Schema interface{} `json:"schema,omitempty"` - // LinkedServiceName - Linked service reference. - LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` - // Parameters - Parameters for dataset. - Parameters map[string]*ParameterSpecification `json:"parameters"` - // Annotations - List of tags that can be used for describing the Dataset. - Annotations *[]interface{} `json:"annotations,omitempty"` - // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. - Folder *DatasetFolder `json:"folder,omitempty"` - // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' - Type TypeBasicDataset `json:"type,omitempty"` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' + Type TypeBasicCopySource `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for OracleServiceCloudObjectDataset. -func (oscod OracleServiceCloudObjectDataset) MarshalJSON() ([]byte, error) { - oscod.Type = TypeOracleServiceCloudObject +// MarshalJSON is the custom marshaler for OracleSource. +func (osVar OracleSource) MarshalJSON() ([]byte, error) { + osVar.Type = TypeOracleSource objectMap := make(map[string]interface{}) - if oscod.GenericDatasetTypeProperties != nil { - objectMap["typeProperties"] = oscod.GenericDatasetTypeProperties - } - if oscod.Description != nil { - objectMap["description"] = oscod.Description + if osVar.OracleReaderQuery != nil { + objectMap["oracleReaderQuery"] = osVar.OracleReaderQuery } - if oscod.Structure != nil { - objectMap["structure"] = oscod.Structure + if osVar.QueryTimeout != nil { + objectMap["queryTimeout"] = osVar.QueryTimeout } - if oscod.Schema != nil { - objectMap["schema"] = oscod.Schema + if osVar.PartitionOption != "" { + objectMap["partitionOption"] = osVar.PartitionOption } - if oscod.LinkedServiceName != nil { - objectMap["linkedServiceName"] = oscod.LinkedServiceName + if osVar.PartitionSettings != nil { + objectMap["partitionSettings"] = osVar.PartitionSettings } - if oscod.Parameters != nil { - objectMap["parameters"] = oscod.Parameters + if osVar.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = osVar.SourceRetryCount } - if oscod.Annotations != nil { - objectMap["annotations"] = oscod.Annotations + if osVar.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = osVar.SourceRetryWait } - if oscod.Folder != nil { - objectMap["folder"] = oscod.Folder + if osVar.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = osVar.MaxConcurrentConnections } - if oscod.Type != "" { - objectMap["type"] = oscod.Type + if osVar.Type != "" { + objectMap["type"] = osVar.Type } - for k, v := range oscod.AdditionalProperties { + for k, v := range osVar.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. -func (oscod OracleServiceCloudObjectDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { +// AsHTTPSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsHTTPSource() (*HTTPSource, bool) { return nil, false } -// AsAzureDataExplorerTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. -func (oscod OracleServiceCloudObjectDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { +// AsAzureBlobFSSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { return nil, false } -// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. -func (oscod OracleServiceCloudObjectDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { - return &oscod, true +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false } -// AsDynamicsAXResourceDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. -func (oscod OracleServiceCloudObjectDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { +// AsOffice365Source is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsOffice365Source() (*Office365Source, bool) { return nil, false } -// AsResponsysObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. -func (oscod OracleServiceCloudObjectDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { return nil, false } -// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. -func (oscod OracleServiceCloudObjectDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { +// AsMongoDbV2Source is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { return nil, false } -// AsVerticaTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. -func (oscod OracleServiceCloudObjectDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { +// AsMongoDbSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsMongoDbSource() (*MongoDbSource, bool) { return nil, false } -// AsNetezzaTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. -func (oscod OracleServiceCloudObjectDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { +// AsWebSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsWebSource() (*WebSource, bool) { return nil, false } -// AsZohoObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. -func (oscod OracleServiceCloudObjectDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { +// AsOracleSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsOracleSource() (*OracleSource, bool) { + return &osVar, true +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { return nil, false } -// AsXeroObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. -func (oscod OracleServiceCloudObjectDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { +// AsHdfsSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsHdfsSource() (*HdfsSource, bool) { return nil, false } -// AsSquareObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. -func (oscod OracleServiceCloudObjectDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { +// AsFileSystemSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsFileSystemSource() (*FileSystemSource, bool) { return nil, false } -// AsSparkObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. -func (oscod OracleServiceCloudObjectDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { +// AsRestSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsRestSource() (*RestSource, bool) { return nil, false } -// AsShopifyObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. -func (oscod OracleServiceCloudObjectDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { return nil, false } -// AsServiceNowObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. -func (oscod OracleServiceCloudObjectDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { +// AsODataSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsODataSource() (*ODataSource, bool) { return nil, false } -// AsQuickBooksObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. -func (oscod OracleServiceCloudObjectDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { +// AsMicrosoftAccessSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { return nil, false } -// AsPrestoObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. -func (oscod OracleServiceCloudObjectDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { +// AsRelationalSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsRelationalSource() (*RelationalSource, bool) { return nil, false } -// AsPhoenixObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. -func (oscod OracleServiceCloudObjectDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { return nil, false } -// AsPaypalObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. -func (oscod OracleServiceCloudObjectDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { +// AsDynamicsCrmSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { return nil, false } -// AsMarketoObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. -func (oscod OracleServiceCloudObjectDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { +// AsDynamicsSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsDynamicsSource() (*DynamicsSource, bool) { return nil, false } -// AsAzureMariaDBTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. -func (oscod OracleServiceCloudObjectDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { return nil, false } -// AsMariaDBTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. -func (oscod OracleServiceCloudObjectDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { +// AsDocumentDbCollectionSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { return nil, false } -// AsMagentoObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. -func (oscod OracleServiceCloudObjectDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { +// AsBlobSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsBlobSource() (*BlobSource, bool) { return nil, false } -// AsJiraObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. -func (oscod OracleServiceCloudObjectDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { +// AsAmazonRedshiftSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { return nil, false } -// AsImpalaObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. -func (oscod OracleServiceCloudObjectDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { +// AsGoogleAdWordsSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { return nil, false } -// AsHubspotObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. -func (oscod OracleServiceCloudObjectDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { +// AsOracleServiceCloudSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { return nil, false } -// AsHiveObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. -func (oscod OracleServiceCloudObjectDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { +// AsDynamicsAXSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { return nil, false } -// AsHBaseObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. -func (oscod OracleServiceCloudObjectDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { +// AsResponsysSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsResponsysSource() (*ResponsysSource, bool) { return nil, false } -// AsGreenplumTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. -func (oscod OracleServiceCloudObjectDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { return nil, false } -// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. -func (oscod OracleServiceCloudObjectDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { +// AsVerticaSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsVerticaSource() (*VerticaSource, bool) { return nil, false } -// AsEloquaObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. -func (oscod OracleServiceCloudObjectDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { +// AsNetezzaSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsNetezzaSource() (*NetezzaSource, bool) { return nil, false } -// AsDrillTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. -func (oscod OracleServiceCloudObjectDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { +// AsZohoSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsZohoSource() (*ZohoSource, bool) { return nil, false } -// AsCouchbaseTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. -func (oscod OracleServiceCloudObjectDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { +// AsXeroSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsXeroSource() (*XeroSource, bool) { return nil, false } -// AsConcurObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. -func (oscod OracleServiceCloudObjectDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { +// AsSquareSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsSquareSource() (*SquareSource, bool) { return nil, false } -// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. -func (oscod OracleServiceCloudObjectDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { +// AsSparkSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsSparkSource() (*SparkSource, bool) { return nil, false } -// AsAmazonMWSObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. -func (oscod OracleServiceCloudObjectDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { +// AsShopifySource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsShopifySource() (*ShopifySource, bool) { return nil, false } -// AsHTTPDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. -func (oscod OracleServiceCloudObjectDataset) AsHTTPDataset() (*HTTPDataset, bool) { +// AsServiceNowSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsServiceNowSource() (*ServiceNowSource, bool) { return nil, false } -// AsAzureSearchIndexDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. -func (oscod OracleServiceCloudObjectDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { +// AsQuickBooksSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsQuickBooksSource() (*QuickBooksSource, bool) { return nil, false } -// AsWebTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. -func (oscod OracleServiceCloudObjectDataset) AsWebTableDataset() (*WebTableDataset, bool) { +// AsPrestoSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsPrestoSource() (*PrestoSource, bool) { return nil, false } -// AsSapTableResourceDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. -func (oscod OracleServiceCloudObjectDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { +// AsPhoenixSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsPhoenixSource() (*PhoenixSource, bool) { return nil, false } -// AsRestResourceDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. -func (oscod OracleServiceCloudObjectDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { +// AsPaypalSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsPaypalSource() (*PaypalSource, bool) { return nil, false } -// AsSQLServerTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. -func (oscod OracleServiceCloudObjectDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { +// AsMarketoSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsMarketoSource() (*MarketoSource, bool) { return nil, false } -// AsSapOpenHubTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. -func (oscod OracleServiceCloudObjectDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { +// AsAzureMariaDBSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { return nil, false } -// AsSapHanaTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. -func (oscod OracleServiceCloudObjectDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { +// AsMariaDBSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsMariaDBSource() (*MariaDBSource, bool) { return nil, false } -// AsSapEccResourceDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. -func (oscod OracleServiceCloudObjectDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { +// AsMagentoSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsMagentoSource() (*MagentoSource, bool) { return nil, false } -// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. -func (oscod OracleServiceCloudObjectDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { +// AsJiraSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsJiraSource() (*JiraSource, bool) { return nil, false } -// AsSapBwCubeDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. -func (oscod OracleServiceCloudObjectDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { +// AsImpalaSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsImpalaSource() (*ImpalaSource, bool) { return nil, false } -// AsSybaseTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. -func (oscod OracleServiceCloudObjectDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { +// AsHubspotSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsHubspotSource() (*HubspotSource, bool) { return nil, false } -// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. -func (oscod OracleServiceCloudObjectDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { +// AsHiveSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsHiveSource() (*HiveSource, bool) { return nil, false } -// AsSalesforceObjectDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. -func (oscod OracleServiceCloudObjectDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { +// AsHBaseSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsHBaseSource() (*HBaseSource, bool) { return nil, false } -// AsMicrosoftAccessTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. -func (oscod OracleServiceCloudObjectDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { +// AsGreenplumSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsGreenplumSource() (*GreenplumSource, bool) { return nil, false } -// AsPostgreSQLTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. -func (oscod OracleServiceCloudObjectDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { +// AsGoogleBigQuerySource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { return nil, false } -// AsMySQLTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. -func (oscod OracleServiceCloudObjectDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { +// AsEloquaSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsEloquaSource() (*EloquaSource, bool) { return nil, false } -// AsOdbcTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. -func (oscod OracleServiceCloudObjectDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { +// AsDrillSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsDrillSource() (*DrillSource, bool) { return nil, false } -// AsInformixTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. -func (oscod OracleServiceCloudObjectDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { +// AsCouchbaseSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsCouchbaseSource() (*CouchbaseSource, bool) { return nil, false } -// AsRelationalTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. -func (oscod OracleServiceCloudObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { +// AsConcurSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsConcurSource() (*ConcurSource, bool) { return nil, false } -// AsAzureMySQLTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. -func (oscod OracleServiceCloudObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { +// AsAzurePostgreSQLSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { return nil, false } -// AsTeradataTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. -func (oscod OracleServiceCloudObjectDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { +// AsAmazonMWSSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { return nil, false } -// AsOracleTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. -func (oscod OracleServiceCloudObjectDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { +// AsCassandraSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsCassandraSource() (*CassandraSource, bool) { return nil, false } -// AsODataResourceDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. -func (oscod OracleServiceCloudObjectDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { +// AsTeradataSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsTeradataSource() (*TeradataSource, bool) { return nil, false } -// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. -func (oscod OracleServiceCloudObjectDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { +// AsAzureMySQLSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { return nil, false } -// AsMongoDbV2CollectionDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. -func (oscod OracleServiceCloudObjectDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { +// AsSQLDWSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsSQLDWSource() (*SQLDWSource, bool) { return nil, false } -// AsMongoDbCollectionDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. -func (oscod OracleServiceCloudObjectDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { +// AsSQLMISource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsSQLMISource() (*SQLMISource, bool) { return nil, false } -// AsFileShareDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. -func (oscod OracleServiceCloudObjectDataset) AsFileShareDataset() (*FileShareDataset, bool) { +// AsAzureSQLSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsAzureSQLSource() (*AzureSQLSource, bool) { return nil, false } -// AsOffice365Dataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. -func (oscod OracleServiceCloudObjectDataset) AsOffice365Dataset() (*Office365Dataset, bool) { +// AsSQLServerSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsSQLServerSource() (*SQLServerSource, bool) { + return nil, false +} + +// AsSQLSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsSQLSource() (*SQLSource, bool) { + return nil, false +} + +// AsSapTableSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsSapTableSource() (*SapTableSource, bool) { + return nil, false +} + +// AsSapOpenHubSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { + return nil, false +} + +// AsSapHanaSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsSapHanaSource() (*SapHanaSource, bool) { + return nil, false +} + +// AsSapEccSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsSapEccSource() (*SapEccSource, bool) { return nil, false } -// AsAzureBlobFSDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. -func (oscod OracleServiceCloudObjectDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) { +// AsSapCloudForCustomerSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { return nil, false } -// AsAzureDataLakeStoreDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. -func (oscod OracleServiceCloudObjectDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) { +// AsSalesforceSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsSalesforceSource() (*SalesforceSource, bool) { return nil, false } -// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. -func (oscod OracleServiceCloudObjectDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { +// AsSapBwSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsSapBwSource() (*SapBwSource, bool) { return nil, false } -// AsDynamicsCrmEntityDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. -func (oscod OracleServiceCloudObjectDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { +// AsSybaseSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsSybaseSource() (*SybaseSource, bool) { return nil, false } -// AsDynamicsEntityDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. -func (oscod OracleServiceCloudObjectDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { +// AsPostgreSQLSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { return nil, false } -// AsDocumentDbCollectionDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. -func (oscod OracleServiceCloudObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { +// AsMySQLSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsMySQLSource() (*MySQLSource, bool) { return nil, false } -// AsCustomDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. -func (oscod OracleServiceCloudObjectDataset) AsCustomDataset() (*CustomDataset, bool) { +// AsOdbcSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsOdbcSource() (*OdbcSource, bool) { return nil, false } -// AsCassandraTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. -func (oscod OracleServiceCloudObjectDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { +// AsDb2Source is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsDb2Source() (*Db2Source, bool) { return nil, false } -// AsAzureSQLDWTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. -func (oscod OracleServiceCloudObjectDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { +// AsInformixSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsInformixSource() (*InformixSource, bool) { return nil, false } -// AsAzureSQLMITableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. -func (oscod OracleServiceCloudObjectDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { +// AsAzureTableSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsAzureTableSource() (*AzureTableSource, bool) { return nil, false } -// AsAzureSQLTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. -func (oscod OracleServiceCloudObjectDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { +// AsTabularSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsTabularSource() (*TabularSource, bool) { return nil, false } -// AsAzureTableDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. -func (oscod OracleServiceCloudObjectDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { +// AsBasicTabularSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsBasicTabularSource() (BasicTabularSource, bool) { return nil, false } -// AsAzureBlobDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. -func (oscod OracleServiceCloudObjectDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) { +// AsBinarySource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsBinarySource() (*BinarySource, bool) { return nil, false } -// AsBinaryDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. -func (oscod OracleServiceCloudObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) { +// AsOrcSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsOrcSource() (*OrcSource, bool) { return nil, false } -// AsDelimitedTextDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. -func (oscod OracleServiceCloudObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { +// AsJSONSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsJSONSource() (*JSONSource, bool) { return nil, false } -// AsParquetDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. -func (oscod OracleServiceCloudObjectDataset) AsParquetDataset() (*ParquetDataset, bool) { +// AsDelimitedTextSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { return nil, false } -// AsAvroDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. -func (oscod OracleServiceCloudObjectDataset) AsAvroDataset() (*AvroDataset, bool) { +// AsParquetSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsParquetSource() (*ParquetSource, bool) { return nil, false } -// AsAmazonS3Dataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. -func (oscod OracleServiceCloudObjectDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) { +// AsAvroSource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsAvroSource() (*AvroSource, bool) { return nil, false } -// AsDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. -func (oscod OracleServiceCloudObjectDataset) AsDataset() (*Dataset, bool) { +// AsCopySource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsCopySource() (*CopySource, bool) { return nil, false } -// AsBasicDataset is the BasicDataset implementation for OracleServiceCloudObjectDataset. -func (oscod OracleServiceCloudObjectDataset) AsBasicDataset() (BasicDataset, bool) { - return &oscod, true +// AsBasicCopySource is the BasicCopySource implementation for OracleSource. +func (osVar OracleSource) AsBasicCopySource() (BasicCopySource, bool) { + return &osVar, true } -// UnmarshalJSON is the custom unmarshaler for OracleServiceCloudObjectDataset struct. -func (oscod *OracleServiceCloudObjectDataset) UnmarshalJSON(body []byte) error { +// UnmarshalJSON is the custom unmarshaler for OracleSource struct. +func (osVar *OracleSource) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -131596,98 +148601,89 @@ func (oscod *OracleServiceCloudObjectDataset) UnmarshalJSON(body []byte) error { } for k, v := range m { switch k { - case "typeProperties": + case "oracleReaderQuery": if v != nil { - var genericDatasetTypeProperties GenericDatasetTypeProperties - err = json.Unmarshal(*v, &genericDatasetTypeProperties) + var oracleReaderQuery interface{} + err = json.Unmarshal(*v, &oracleReaderQuery) if err != nil { return err } - oscod.GenericDatasetTypeProperties = &genericDatasetTypeProperties + osVar.OracleReaderQuery = oracleReaderQuery } - default: + case "queryTimeout": if v != nil { - var additionalProperties interface{} - err = json.Unmarshal(*v, &additionalProperties) + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) if err != nil { return err } - if oscod.AdditionalProperties == nil { - oscod.AdditionalProperties = make(map[string]interface{}) - } - oscod.AdditionalProperties[k] = additionalProperties + osVar.QueryTimeout = queryTimeout } - case "description": + case "partitionOption": if v != nil { - var description string - err = json.Unmarshal(*v, &description) + var partitionOption OraclePartitionOption + err = json.Unmarshal(*v, &partitionOption) if err != nil { return err } - oscod.Description = &description + osVar.PartitionOption = partitionOption } - case "structure": + case "partitionSettings": if v != nil { - var structure interface{} - err = json.Unmarshal(*v, &structure) + var partitionSettings OraclePartitionSettings + err = json.Unmarshal(*v, &partitionSettings) if err != nil { return err } - oscod.Structure = structure + osVar.PartitionSettings = &partitionSettings } - case "schema": + default: if v != nil { - var schema interface{} - err = json.Unmarshal(*v, &schema) + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) if err != nil { return err } - oscod.Schema = schema - } - case "linkedServiceName": - if v != nil { - var linkedServiceName LinkedServiceReference - err = json.Unmarshal(*v, &linkedServiceName) - if err != nil { - return err + if osVar.AdditionalProperties == nil { + osVar.AdditionalProperties = make(map[string]interface{}) } - oscod.LinkedServiceName = &linkedServiceName + osVar.AdditionalProperties[k] = additionalProperties } - case "parameters": + case "sourceRetryCount": if v != nil { - var parameters map[string]*ParameterSpecification - err = json.Unmarshal(*v, ¶meters) + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) if err != nil { return err } - oscod.Parameters = parameters + osVar.SourceRetryCount = sourceRetryCount } - case "annotations": + case "sourceRetryWait": if v != nil { - var annotations []interface{} - err = json.Unmarshal(*v, &annotations) + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) if err != nil { return err } - oscod.Annotations = &annotations + osVar.SourceRetryWait = sourceRetryWait } - case "folder": + case "maxConcurrentConnections": if v != nil { - var folder DatasetFolder - err = json.Unmarshal(*v, &folder) + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) if err != nil { return err } - oscod.Folder = &folder + osVar.MaxConcurrentConnections = maxConcurrentConnections } case "type": if v != nil { - var typeVar TypeBasicDataset + var typeVar TypeBasicCopySource err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - oscod.Type = typeVar + osVar.Type = typeVar } } } @@ -131695,474 +148691,514 @@ func (oscod *OracleServiceCloudObjectDataset) UnmarshalJSON(body []byte) error { return nil } -// OracleServiceCloudSource a copy activity Oracle Service Cloud source. -type OracleServiceCloudSource struct { - // Query - A query to retrieve data from source. Type: string (or Expression with resultType string). - Query interface{} `json:"query,omitempty"` +// OracleTableDataset the on-premises Oracle database dataset. +type OracleTableDataset struct { + // OracleTableDatasetTypeProperties - On-premises Oracle dataset properties. + *OracleTableDatasetTypeProperties `json:"typeProperties,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` - // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). - SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` - // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). - SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` - // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). - MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' - Type TypeBasicCopySource `json:"type,omitempty"` + // Description - Dataset description. + Description *string `json:"description,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' + Type TypeBasicDataset `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for OracleServiceCloudSource. -func (oscs OracleServiceCloudSource) MarshalJSON() ([]byte, error) { - oscs.Type = TypeOracleServiceCloudSource +// MarshalJSON is the custom marshaler for OracleTableDataset. +func (otd OracleTableDataset) MarshalJSON() ([]byte, error) { + otd.Type = TypeOracleTable objectMap := make(map[string]interface{}) - if oscs.Query != nil { - objectMap["query"] = oscs.Query + if otd.OracleTableDatasetTypeProperties != nil { + objectMap["typeProperties"] = otd.OracleTableDatasetTypeProperties } - if oscs.SourceRetryCount != nil { - objectMap["sourceRetryCount"] = oscs.SourceRetryCount + if otd.Description != nil { + objectMap["description"] = otd.Description } - if oscs.SourceRetryWait != nil { - objectMap["sourceRetryWait"] = oscs.SourceRetryWait + if otd.Structure != nil { + objectMap["structure"] = otd.Structure } - if oscs.MaxConcurrentConnections != nil { - objectMap["maxConcurrentConnections"] = oscs.MaxConcurrentConnections + if otd.Schema != nil { + objectMap["schema"] = otd.Schema } - if oscs.Type != "" { - objectMap["type"] = oscs.Type + if otd.LinkedServiceName != nil { + objectMap["linkedServiceName"] = otd.LinkedServiceName } - for k, v := range oscs.AdditionalProperties { + if otd.Parameters != nil { + objectMap["parameters"] = otd.Parameters + } + if otd.Annotations != nil { + objectMap["annotations"] = otd.Annotations + } + if otd.Folder != nil { + objectMap["folder"] = otd.Folder + } + if otd.Type != "" { + objectMap["type"] = otd.Type + } + for k, v := range otd.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsAmazonRedshiftSource is the BasicCopySource implementation for OracleServiceCloudSource. -func (oscs OracleServiceCloudSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { return nil, false } -// AsGoogleAdWordsSource is the BasicCopySource implementation for OracleServiceCloudSource. -func (oscs OracleServiceCloudSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { return nil, false } -// AsOracleServiceCloudSource is the BasicCopySource implementation for OracleServiceCloudSource. -func (oscs OracleServiceCloudSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { - return &oscs, true +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { + return nil, false } -// AsDynamicsAXSource is the BasicCopySource implementation for OracleServiceCloudSource. -func (oscs OracleServiceCloudSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { +// AsDynamicsAXResourceDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { return nil, false } -// AsResponsysSource is the BasicCopySource implementation for OracleServiceCloudSource. -func (oscs OracleServiceCloudSource) AsResponsysSource() (*ResponsysSource, bool) { +// AsResponsysObjectDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { return nil, false } -// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for OracleServiceCloudSource. -func (oscs OracleServiceCloudSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { return nil, false } -// AsVerticaSource is the BasicCopySource implementation for OracleServiceCloudSource. -func (oscs OracleServiceCloudSource) AsVerticaSource() (*VerticaSource, bool) { +// AsVerticaTableDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { return nil, false } -// AsNetezzaSource is the BasicCopySource implementation for OracleServiceCloudSource. -func (oscs OracleServiceCloudSource) AsNetezzaSource() (*NetezzaSource, bool) { +// AsNetezzaTableDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { return nil, false } -// AsZohoSource is the BasicCopySource implementation for OracleServiceCloudSource. -func (oscs OracleServiceCloudSource) AsZohoSource() (*ZohoSource, bool) { +// AsZohoObjectDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { return nil, false } -// AsXeroSource is the BasicCopySource implementation for OracleServiceCloudSource. -func (oscs OracleServiceCloudSource) AsXeroSource() (*XeroSource, bool) { +// AsXeroObjectDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { return nil, false } -// AsSquareSource is the BasicCopySource implementation for OracleServiceCloudSource. -func (oscs OracleServiceCloudSource) AsSquareSource() (*SquareSource, bool) { +// AsSquareObjectDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { return nil, false } -// AsSparkSource is the BasicCopySource implementation for OracleServiceCloudSource. -func (oscs OracleServiceCloudSource) AsSparkSource() (*SparkSource, bool) { +// AsSparkObjectDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { return nil, false } -// AsShopifySource is the BasicCopySource implementation for OracleServiceCloudSource. -func (oscs OracleServiceCloudSource) AsShopifySource() (*ShopifySource, bool) { +// AsShopifyObjectDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { return nil, false } -// AsServiceNowSource is the BasicCopySource implementation for OracleServiceCloudSource. -func (oscs OracleServiceCloudSource) AsServiceNowSource() (*ServiceNowSource, bool) { +// AsServiceNowObjectDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { return nil, false } -// AsQuickBooksSource is the BasicCopySource implementation for OracleServiceCloudSource. -func (oscs OracleServiceCloudSource) AsQuickBooksSource() (*QuickBooksSource, bool) { +// AsQuickBooksObjectDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { return nil, false } -// AsPrestoSource is the BasicCopySource implementation for OracleServiceCloudSource. -func (oscs OracleServiceCloudSource) AsPrestoSource() (*PrestoSource, bool) { +// AsPrestoObjectDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { return nil, false } -// AsPhoenixSource is the BasicCopySource implementation for OracleServiceCloudSource. -func (oscs OracleServiceCloudSource) AsPhoenixSource() (*PhoenixSource, bool) { +// AsPhoenixObjectDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { return nil, false } -// AsPaypalSource is the BasicCopySource implementation for OracleServiceCloudSource. -func (oscs OracleServiceCloudSource) AsPaypalSource() (*PaypalSource, bool) { +// AsPaypalObjectDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { return nil, false } -// AsMarketoSource is the BasicCopySource implementation for OracleServiceCloudSource. -func (oscs OracleServiceCloudSource) AsMarketoSource() (*MarketoSource, bool) { +// AsMarketoObjectDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { return nil, false } -// AsAzureMariaDBSource is the BasicCopySource implementation for OracleServiceCloudSource. -func (oscs OracleServiceCloudSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { +// AsAzureMariaDBTableDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { return nil, false } -// AsMariaDBSource is the BasicCopySource implementation for OracleServiceCloudSource. -func (oscs OracleServiceCloudSource) AsMariaDBSource() (*MariaDBSource, bool) { +// AsMariaDBTableDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { return nil, false } -// AsMagentoSource is the BasicCopySource implementation for OracleServiceCloudSource. -func (oscs OracleServiceCloudSource) AsMagentoSource() (*MagentoSource, bool) { +// AsMagentoObjectDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { return nil, false } -// AsJiraSource is the BasicCopySource implementation for OracleServiceCloudSource. -func (oscs OracleServiceCloudSource) AsJiraSource() (*JiraSource, bool) { +// AsJiraObjectDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { return nil, false } -// AsImpalaSource is the BasicCopySource implementation for OracleServiceCloudSource. -func (oscs OracleServiceCloudSource) AsImpalaSource() (*ImpalaSource, bool) { +// AsImpalaObjectDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { return nil, false } -// AsHubspotSource is the BasicCopySource implementation for OracleServiceCloudSource. -func (oscs OracleServiceCloudSource) AsHubspotSource() (*HubspotSource, bool) { +// AsHubspotObjectDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { return nil, false } -// AsHiveSource is the BasicCopySource implementation for OracleServiceCloudSource. -func (oscs OracleServiceCloudSource) AsHiveSource() (*HiveSource, bool) { +// AsHiveObjectDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { return nil, false } -// AsHBaseSource is the BasicCopySource implementation for OracleServiceCloudSource. -func (oscs OracleServiceCloudSource) AsHBaseSource() (*HBaseSource, bool) { +// AsHBaseObjectDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { return nil, false } -// AsGreenplumSource is the BasicCopySource implementation for OracleServiceCloudSource. -func (oscs OracleServiceCloudSource) AsGreenplumSource() (*GreenplumSource, bool) { +// AsGreenplumTableDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { return nil, false } -// AsGoogleBigQuerySource is the BasicCopySource implementation for OracleServiceCloudSource. -func (oscs OracleServiceCloudSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { return nil, false } -// AsEloquaSource is the BasicCopySource implementation for OracleServiceCloudSource. -func (oscs OracleServiceCloudSource) AsEloquaSource() (*EloquaSource, bool) { +// AsEloquaObjectDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { return nil, false } -// AsDrillSource is the BasicCopySource implementation for OracleServiceCloudSource. -func (oscs OracleServiceCloudSource) AsDrillSource() (*DrillSource, bool) { +// AsDrillTableDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { return nil, false } -// AsCouchbaseSource is the BasicCopySource implementation for OracleServiceCloudSource. -func (oscs OracleServiceCloudSource) AsCouchbaseSource() (*CouchbaseSource, bool) { +// AsCouchbaseTableDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { return nil, false } -// AsConcurSource is the BasicCopySource implementation for OracleServiceCloudSource. -func (oscs OracleServiceCloudSource) AsConcurSource() (*ConcurSource, bool) { +// AsConcurObjectDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { return nil, false } -// AsAzurePostgreSQLSource is the BasicCopySource implementation for OracleServiceCloudSource. -func (oscs OracleServiceCloudSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { return nil, false } -// AsAmazonMWSSource is the BasicCopySource implementation for OracleServiceCloudSource. -func (oscs OracleServiceCloudSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { +// AsAmazonMWSObjectDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { return nil, false } -// AsHTTPSource is the BasicCopySource implementation for OracleServiceCloudSource. -func (oscs OracleServiceCloudSource) AsHTTPSource() (*HTTPSource, bool) { +// AsHTTPDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsHTTPDataset() (*HTTPDataset, bool) { return nil, false } -// AsAzureBlobFSSource is the BasicCopySource implementation for OracleServiceCloudSource. -func (oscs OracleServiceCloudSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { +// AsAzureSearchIndexDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { return nil, false } -// AsAzureDataLakeStoreSource is the BasicCopySource implementation for OracleServiceCloudSource. -func (oscs OracleServiceCloudSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { +// AsWebTableDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsWebTableDataset() (*WebTableDataset, bool) { return nil, false } -// AsOffice365Source is the BasicCopySource implementation for OracleServiceCloudSource. -func (oscs OracleServiceCloudSource) AsOffice365Source() (*Office365Source, bool) { +// AsSapTableResourceDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { return nil, false } -// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for OracleServiceCloudSource. -func (oscs OracleServiceCloudSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { +// AsRestResourceDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { return nil, false } -// AsMongoDbV2Source is the BasicCopySource implementation for OracleServiceCloudSource. -func (oscs OracleServiceCloudSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { +// AsSQLServerTableDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { return nil, false } -// AsMongoDbSource is the BasicCopySource implementation for OracleServiceCloudSource. -func (oscs OracleServiceCloudSource) AsMongoDbSource() (*MongoDbSource, bool) { +// AsSapOpenHubTableDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { return nil, false } -// AsCassandraSource is the BasicCopySource implementation for OracleServiceCloudSource. -func (oscs OracleServiceCloudSource) AsCassandraSource() (*CassandraSource, bool) { +// AsSapHanaTableDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { return nil, false } -// AsWebSource is the BasicCopySource implementation for OracleServiceCloudSource. -func (oscs OracleServiceCloudSource) AsWebSource() (*WebSource, bool) { +// AsSapEccResourceDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { return nil, false } -// AsTeradataSource is the BasicCopySource implementation for OracleServiceCloudSource. -func (oscs OracleServiceCloudSource) AsTeradataSource() (*TeradataSource, bool) { +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { return nil, false } -// AsOracleSource is the BasicCopySource implementation for OracleServiceCloudSource. -func (oscs OracleServiceCloudSource) AsOracleSource() (*OracleSource, bool) { +// AsSapBwCubeDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { return nil, false } -// AsAzureDataExplorerSource is the BasicCopySource implementation for OracleServiceCloudSource. -func (oscs OracleServiceCloudSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { +// AsSybaseTableDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { return nil, false } -// AsAzureMySQLSource is the BasicCopySource implementation for OracleServiceCloudSource. -func (oscs OracleServiceCloudSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { return nil, false } -// AsHdfsSource is the BasicCopySource implementation for OracleServiceCloudSource. -func (oscs OracleServiceCloudSource) AsHdfsSource() (*HdfsSource, bool) { +// AsSalesforceObjectDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { return nil, false } -// AsFileSystemSource is the BasicCopySource implementation for OracleServiceCloudSource. -func (oscs OracleServiceCloudSource) AsFileSystemSource() (*FileSystemSource, bool) { +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { return nil, false } -// AsSQLDWSource is the BasicCopySource implementation for OracleServiceCloudSource. -func (oscs OracleServiceCloudSource) AsSQLDWSource() (*SQLDWSource, bool) { +// AsPostgreSQLTableDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { return nil, false } -// AsSQLMISource is the BasicCopySource implementation for OracleServiceCloudSource. -func (oscs OracleServiceCloudSource) AsSQLMISource() (*SQLMISource, bool) { +// AsMySQLTableDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { return nil, false } -// AsAzureSQLSource is the BasicCopySource implementation for OracleServiceCloudSource. -func (oscs OracleServiceCloudSource) AsAzureSQLSource() (*AzureSQLSource, bool) { +// AsOdbcTableDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { return nil, false } -// AsSQLServerSource is the BasicCopySource implementation for OracleServiceCloudSource. -func (oscs OracleServiceCloudSource) AsSQLServerSource() (*SQLServerSource, bool) { +// AsInformixTableDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { return nil, false } -// AsSQLSource is the BasicCopySource implementation for OracleServiceCloudSource. -func (oscs OracleServiceCloudSource) AsSQLSource() (*SQLSource, bool) { +// AsRelationalTableDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { return nil, false } -// AsRestSource is the BasicCopySource implementation for OracleServiceCloudSource. -func (oscs OracleServiceCloudSource) AsRestSource() (*RestSource, bool) { +// AsDb2TableDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { return nil, false } -// AsSapTableSource is the BasicCopySource implementation for OracleServiceCloudSource. -func (oscs OracleServiceCloudSource) AsSapTableSource() (*SapTableSource, bool) { +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { return nil, false } -// AsSapOpenHubSource is the BasicCopySource implementation for OracleServiceCloudSource. -func (oscs OracleServiceCloudSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { +// AsAzureMySQLTableDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { return nil, false } -// AsSapHanaSource is the BasicCopySource implementation for OracleServiceCloudSource. -func (oscs OracleServiceCloudSource) AsSapHanaSource() (*SapHanaSource, bool) { +// AsTeradataTableDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { return nil, false } -// AsSapEccSource is the BasicCopySource implementation for OracleServiceCloudSource. -func (oscs OracleServiceCloudSource) AsSapEccSource() (*SapEccSource, bool) { +// AsOracleTableDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { + return &otd, true +} + +// AsODataResourceDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { return nil, false } -// AsSapCloudForCustomerSource is the BasicCopySource implementation for OracleServiceCloudSource. -func (oscs OracleServiceCloudSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { return nil, false } -// AsSalesforceServiceCloudSource is the BasicCopySource implementation for OracleServiceCloudSource. -func (oscs OracleServiceCloudSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { return nil, false } -// AsSalesforceSource is the BasicCopySource implementation for OracleServiceCloudSource. -func (oscs OracleServiceCloudSource) AsSalesforceSource() (*SalesforceSource, bool) { +// AsMongoDbCollectionDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { return nil, false } -// AsODataSource is the BasicCopySource implementation for OracleServiceCloudSource. -func (oscs OracleServiceCloudSource) AsODataSource() (*ODataSource, bool) { +// AsFileShareDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsFileShareDataset() (*FileShareDataset, bool) { return nil, false } -// AsSapBwSource is the BasicCopySource implementation for OracleServiceCloudSource. -func (oscs OracleServiceCloudSource) AsSapBwSource() (*SapBwSource, bool) { +// AsOffice365Dataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsOffice365Dataset() (*Office365Dataset, bool) { return nil, false } -// AsSybaseSource is the BasicCopySource implementation for OracleServiceCloudSource. -func (oscs OracleServiceCloudSource) AsSybaseSource() (*SybaseSource, bool) { +// AsAzureBlobFSDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) { return nil, false } -// AsPostgreSQLSource is the BasicCopySource implementation for OracleServiceCloudSource. -func (oscs OracleServiceCloudSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { +// AsAzureDataLakeStoreDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) { return nil, false } -// AsMySQLSource is the BasicCopySource implementation for OracleServiceCloudSource. -func (oscs OracleServiceCloudSource) AsMySQLSource() (*MySQLSource, bool) { +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { return nil, false } -// AsOdbcSource is the BasicCopySource implementation for OracleServiceCloudSource. -func (oscs OracleServiceCloudSource) AsOdbcSource() (*OdbcSource, bool) { +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { return nil, false } -// AsDb2Source is the BasicCopySource implementation for OracleServiceCloudSource. -func (oscs OracleServiceCloudSource) AsDb2Source() (*Db2Source, bool) { +// AsDynamicsEntityDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { return nil, false } -// AsMicrosoftAccessSource is the BasicCopySource implementation for OracleServiceCloudSource. -func (oscs OracleServiceCloudSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { +// AsDocumentDbCollectionDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { return nil, false } -// AsInformixSource is the BasicCopySource implementation for OracleServiceCloudSource. -func (oscs OracleServiceCloudSource) AsInformixSource() (*InformixSource, bool) { +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { return nil, false } -// AsRelationalSource is the BasicCopySource implementation for OracleServiceCloudSource. -func (oscs OracleServiceCloudSource) AsRelationalSource() (*RelationalSource, bool) { +// AsCustomDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsCustomDataset() (*CustomDataset, bool) { return nil, false } -// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for OracleServiceCloudSource. -func (oscs OracleServiceCloudSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { +// AsCassandraTableDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { return nil, false } -// AsDynamicsCrmSource is the BasicCopySource implementation for OracleServiceCloudSource. -func (oscs OracleServiceCloudSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { +// AsAzureSQLDWTableDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { return nil, false } -// AsDynamicsSource is the BasicCopySource implementation for OracleServiceCloudSource. -func (oscs OracleServiceCloudSource) AsDynamicsSource() (*DynamicsSource, bool) { +// AsAzureSQLMITableDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { return nil, false } -// AsDocumentDbCollectionSource is the BasicCopySource implementation for OracleServiceCloudSource. -func (oscs OracleServiceCloudSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { +// AsAzureSQLTableDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { return nil, false } -// AsBlobSource is the BasicCopySource implementation for OracleServiceCloudSource. -func (oscs OracleServiceCloudSource) AsBlobSource() (*BlobSource, bool) { +// AsAzureTableDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { return nil, false } -// AsAzureTableSource is the BasicCopySource implementation for OracleServiceCloudSource. -func (oscs OracleServiceCloudSource) AsAzureTableSource() (*AzureTableSource, bool) { +// AsAzureBlobDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) { return nil, false } -// AsBinarySource is the BasicCopySource implementation for OracleServiceCloudSource. -func (oscs OracleServiceCloudSource) AsBinarySource() (*BinarySource, bool) { +// AsBinaryDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsBinaryDataset() (*BinaryDataset, bool) { return nil, false } -// AsDelimitedTextSource is the BasicCopySource implementation for OracleServiceCloudSource. -func (oscs OracleServiceCloudSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { +// AsOrcDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsOrcDataset() (*OrcDataset, bool) { return nil, false } -// AsParquetSource is the BasicCopySource implementation for OracleServiceCloudSource. -func (oscs OracleServiceCloudSource) AsParquetSource() (*ParquetSource, bool) { +// AsJSONDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsJSONDataset() (*JSONDataset, bool) { return nil, false } -// AsAvroSource is the BasicCopySource implementation for OracleServiceCloudSource. -func (oscs OracleServiceCloudSource) AsAvroSource() (*AvroSource, bool) { +// AsDelimitedTextDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { return nil, false } -// AsCopySource is the BasicCopySource implementation for OracleServiceCloudSource. -func (oscs OracleServiceCloudSource) AsCopySource() (*CopySource, bool) { +// AsParquetDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsParquetDataset() (*ParquetDataset, bool) { return nil, false } -// AsBasicCopySource is the BasicCopySource implementation for OracleServiceCloudSource. -func (oscs OracleServiceCloudSource) AsBasicCopySource() (BasicCopySource, bool) { - return &oscs, true +// AsAvroDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsAvroDataset() (*AvroDataset, bool) { + return nil, false } -// UnmarshalJSON is the custom unmarshaler for OracleServiceCloudSource struct. -func (oscs *OracleServiceCloudSource) UnmarshalJSON(body []byte) error { +// AsAmazonS3Dataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) { + return nil, false +} + +// AsDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsDataset() (*Dataset, bool) { + return nil, false +} + +// AsBasicDataset is the BasicDataset implementation for OracleTableDataset. +func (otd OracleTableDataset) AsBasicDataset() (BasicDataset, bool) { + return &otd, true +} + +// UnmarshalJSON is the custom unmarshaler for OracleTableDataset struct. +func (otd *OracleTableDataset) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -132170,14 +149206,14 @@ func (oscs *OracleServiceCloudSource) UnmarshalJSON(body []byte) error { } for k, v := range m { switch k { - case "query": + case "typeProperties": if v != nil { - var query interface{} - err = json.Unmarshal(*v, &query) + var oracleTableDatasetTypeProperties OracleTableDatasetTypeProperties + err = json.Unmarshal(*v, &oracleTableDatasetTypeProperties) if err != nil { return err } - oscs.Query = query + otd.OracleTableDatasetTypeProperties = &oracleTableDatasetTypeProperties } default: if v != nil { @@ -132186,46 +149222,82 @@ func (oscs *OracleServiceCloudSource) UnmarshalJSON(body []byte) error { if err != nil { return err } - if oscs.AdditionalProperties == nil { - oscs.AdditionalProperties = make(map[string]interface{}) + if otd.AdditionalProperties == nil { + otd.AdditionalProperties = make(map[string]interface{}) } - oscs.AdditionalProperties[k] = additionalProperties + otd.AdditionalProperties[k] = additionalProperties } - case "sourceRetryCount": + case "description": if v != nil { - var sourceRetryCount interface{} - err = json.Unmarshal(*v, &sourceRetryCount) + var description string + err = json.Unmarshal(*v, &description) if err != nil { return err } - oscs.SourceRetryCount = sourceRetryCount + otd.Description = &description } - case "sourceRetryWait": + case "structure": if v != nil { - var sourceRetryWait interface{} - err = json.Unmarshal(*v, &sourceRetryWait) + var structure interface{} + err = json.Unmarshal(*v, &structure) if err != nil { return err } - oscs.SourceRetryWait = sourceRetryWait + otd.Structure = structure } - case "maxConcurrentConnections": + case "schema": if v != nil { - var maxConcurrentConnections interface{} - err = json.Unmarshal(*v, &maxConcurrentConnections) + var schema interface{} + err = json.Unmarshal(*v, &schema) if err != nil { return err } - oscs.MaxConcurrentConnections = maxConcurrentConnections + otd.Schema = schema + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + otd.LinkedServiceName = &linkedServiceName + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + otd.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + otd.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + otd.Folder = &folder } case "type": if v != nil { - var typeVar TypeBasicCopySource + var typeVar TypeBasicDataset err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - oscs.Type = typeVar + otd.Type = typeVar } } } @@ -132233,790 +149305,989 @@ func (oscs *OracleServiceCloudSource) UnmarshalJSON(body []byte) error { return nil } -// OracleSink a copy activity Oracle sink. -type OracleSink struct { - // PreCopyScript - SQL pre-copy script. Type: string (or Expression with resultType string). - PreCopyScript interface{} `json:"preCopyScript,omitempty"` +// OracleTableDatasetTypeProperties on-premises Oracle dataset properties. +type OracleTableDatasetTypeProperties struct { + // TableName - This property will be retired. Please consider using schema + table properties instead. + TableName interface{} `json:"tableName,omitempty"` + // Schema - The schema name of the on-premises Oracle database. Type: string (or Expression with resultType string). + Schema interface{} `json:"schema,omitempty"` + // Table - The table name of the on-premises Oracle database. Type: string (or Expression with resultType string). + Table interface{} `json:"table,omitempty"` +} + +// OrcDataset ORC dataset. +type OrcDataset struct { + // OrcDatasetTypeProperties - ORC dataset properties. + *OrcDatasetTypeProperties `json:"typeProperties,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` - // WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0. - WriteBatchSize interface{} `json:"writeBatchSize,omitempty"` - // WriteBatchTimeout - Write batch timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). - WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"` - // SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer). - SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"` - // SinkRetryWait - Sink retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). - SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"` - // MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). - MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAvroSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzurePostgreSQLSink', 'TypeDelimitedTextSink' - Type TypeBasicCopySink `json:"type,omitempty"` + // Description - Dataset description. + Description *string `json:"description,omitempty"` + // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. + Structure interface{} `json:"structure,omitempty"` + // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. + Schema interface{} `json:"schema,omitempty"` + // LinkedServiceName - Linked service reference. + LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` + // Parameters - Parameters for dataset. + Parameters map[string]*ParameterSpecification `json:"parameters"` + // Annotations - List of tags that can be used for describing the Dataset. + Annotations *[]interface{} `json:"annotations,omitempty"` + // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. + Folder *DatasetFolder `json:"folder,omitempty"` + // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' + Type TypeBasicDataset `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for OracleSink. -func (osVar OracleSink) MarshalJSON() ([]byte, error) { - osVar.Type = TypeOracleSink +// MarshalJSON is the custom marshaler for OrcDataset. +func (od OrcDataset) MarshalJSON() ([]byte, error) { + od.Type = TypeOrc objectMap := make(map[string]interface{}) - if osVar.PreCopyScript != nil { - objectMap["preCopyScript"] = osVar.PreCopyScript + if od.OrcDatasetTypeProperties != nil { + objectMap["typeProperties"] = od.OrcDatasetTypeProperties } - if osVar.WriteBatchSize != nil { - objectMap["writeBatchSize"] = osVar.WriteBatchSize + if od.Description != nil { + objectMap["description"] = od.Description } - if osVar.WriteBatchTimeout != nil { - objectMap["writeBatchTimeout"] = osVar.WriteBatchTimeout + if od.Structure != nil { + objectMap["structure"] = od.Structure } - if osVar.SinkRetryCount != nil { - objectMap["sinkRetryCount"] = osVar.SinkRetryCount + if od.Schema != nil { + objectMap["schema"] = od.Schema } - if osVar.SinkRetryWait != nil { - objectMap["sinkRetryWait"] = osVar.SinkRetryWait + if od.LinkedServiceName != nil { + objectMap["linkedServiceName"] = od.LinkedServiceName } - if osVar.MaxConcurrentConnections != nil { - objectMap["maxConcurrentConnections"] = osVar.MaxConcurrentConnections + if od.Parameters != nil { + objectMap["parameters"] = od.Parameters } - if osVar.Type != "" { - objectMap["type"] = osVar.Type + if od.Annotations != nil { + objectMap["annotations"] = od.Annotations } - for k, v := range osVar.AdditionalProperties { + if od.Folder != nil { + objectMap["folder"] = od.Folder + } + if od.Type != "" { + objectMap["type"] = od.Type + } + for k, v := range od.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for OracleSink. -func (osVar OracleSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) { +// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { return nil, false } -// AsSalesforceServiceCloudSink is the BasicCopySink implementation for OracleSink. -func (osVar OracleSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) { +// AsAzureDataExplorerTableDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { return nil, false } -// AsSalesforceSink is the BasicCopySink implementation for OracleSink. -func (osVar OracleSink) AsSalesforceSink() (*SalesforceSink, bool) { +// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { return nil, false } -// AsAzureDataExplorerSink is the BasicCopySink implementation for OracleSink. -func (osVar OracleSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) { +// AsDynamicsAXResourceDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { return nil, false } -// AsCommonDataServiceForAppsSink is the BasicCopySink implementation for OracleSink. -func (osVar OracleSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) { +// AsResponsysObjectDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { return nil, false } -// AsDynamicsCrmSink is the BasicCopySink implementation for OracleSink. -func (osVar OracleSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) { +// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { return nil, false } -// AsDynamicsSink is the BasicCopySink implementation for OracleSink. -func (osVar OracleSink) AsDynamicsSink() (*DynamicsSink, bool) { +// AsVerticaTableDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { return nil, false } -// AsMicrosoftAccessSink is the BasicCopySink implementation for OracleSink. -func (osVar OracleSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) { +// AsNetezzaTableDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { return nil, false } -// AsInformixSink is the BasicCopySink implementation for OracleSink. -func (osVar OracleSink) AsInformixSink() (*InformixSink, bool) { +// AsZohoObjectDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { return nil, false } -// AsOdbcSink is the BasicCopySink implementation for OracleSink. -func (osVar OracleSink) AsOdbcSink() (*OdbcSink, bool) { +// AsXeroObjectDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { return nil, false } -// AsAzureSearchIndexSink is the BasicCopySink implementation for OracleSink. -func (osVar OracleSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) { +// AsSquareObjectDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { return nil, false } -// AsAzureBlobFSSink is the BasicCopySink implementation for OracleSink. -func (osVar OracleSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) { +// AsSparkObjectDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { return nil, false } -// AsAzureDataLakeStoreSink is the BasicCopySink implementation for OracleSink. -func (osVar OracleSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) { +// AsShopifyObjectDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { return nil, false } -// AsOracleSink is the BasicCopySink implementation for OracleSink. -func (osVar OracleSink) AsOracleSink() (*OracleSink, bool) { - return &osVar, true +// AsServiceNowObjectDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { + return nil, false } -// AsSQLDWSink is the BasicCopySink implementation for OracleSink. -func (osVar OracleSink) AsSQLDWSink() (*SQLDWSink, bool) { +// AsQuickBooksObjectDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { return nil, false } -// AsSQLMISink is the BasicCopySink implementation for OracleSink. -func (osVar OracleSink) AsSQLMISink() (*SQLMISink, bool) { +// AsPrestoObjectDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { return nil, false } -// AsAzureSQLSink is the BasicCopySink implementation for OracleSink. -func (osVar OracleSink) AsAzureSQLSink() (*AzureSQLSink, bool) { +// AsPhoenixObjectDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { return nil, false } -// AsSQLServerSink is the BasicCopySink implementation for OracleSink. -func (osVar OracleSink) AsSQLServerSink() (*SQLServerSink, bool) { +// AsPaypalObjectDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { return nil, false } -// AsSQLSink is the BasicCopySink implementation for OracleSink. -func (osVar OracleSink) AsSQLSink() (*SQLSink, bool) { +// AsMarketoObjectDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { return nil, false } -// AsDocumentDbCollectionSink is the BasicCopySink implementation for OracleSink. -func (osVar OracleSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) { +// AsAzureMariaDBTableDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { return nil, false } -// AsFileSystemSink is the BasicCopySink implementation for OracleSink. -func (osVar OracleSink) AsFileSystemSink() (*FileSystemSink, bool) { +// AsMariaDBTableDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { return nil, false } -// AsBlobSink is the BasicCopySink implementation for OracleSink. -func (osVar OracleSink) AsBlobSink() (*BlobSink, bool) { +// AsMagentoObjectDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { return nil, false } -// AsBinarySink is the BasicCopySink implementation for OracleSink. -func (osVar OracleSink) AsBinarySink() (*BinarySink, bool) { +// AsJiraObjectDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { return nil, false } -// AsParquetSink is the BasicCopySink implementation for OracleSink. -func (osVar OracleSink) AsParquetSink() (*ParquetSink, bool) { +// AsImpalaObjectDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { return nil, false } -// AsAvroSink is the BasicCopySink implementation for OracleSink. -func (osVar OracleSink) AsAvroSink() (*AvroSink, bool) { +// AsHubspotObjectDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { return nil, false } -// AsAzureTableSink is the BasicCopySink implementation for OracleSink. -func (osVar OracleSink) AsAzureTableSink() (*AzureTableSink, bool) { +// AsHiveObjectDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { return nil, false } -// AsAzureQueueSink is the BasicCopySink implementation for OracleSink. -func (osVar OracleSink) AsAzureQueueSink() (*AzureQueueSink, bool) { +// AsHBaseObjectDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { return nil, false } -// AsSapCloudForCustomerSink is the BasicCopySink implementation for OracleSink. -func (osVar OracleSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) { +// AsGreenplumTableDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { return nil, false } -// AsAzurePostgreSQLSink is the BasicCopySink implementation for OracleSink. -func (osVar OracleSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) { +// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { return nil, false } -// AsDelimitedTextSink is the BasicCopySink implementation for OracleSink. -func (osVar OracleSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) { +// AsEloquaObjectDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { return nil, false } -// AsCopySink is the BasicCopySink implementation for OracleSink. -func (osVar OracleSink) AsCopySink() (*CopySink, bool) { +// AsDrillTableDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { return nil, false } -// AsBasicCopySink is the BasicCopySink implementation for OracleSink. -func (osVar OracleSink) AsBasicCopySink() (BasicCopySink, bool) { - return &osVar, true +// AsCouchbaseTableDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { + return nil, false } -// UnmarshalJSON is the custom unmarshaler for OracleSink struct. -func (osVar *OracleSink) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - case "preCopyScript": - if v != nil { - var preCopyScript interface{} - err = json.Unmarshal(*v, &preCopyScript) - if err != nil { - return err - } - osVar.PreCopyScript = preCopyScript - } - default: - if v != nil { - var additionalProperties interface{} - err = json.Unmarshal(*v, &additionalProperties) - if err != nil { - return err - } - if osVar.AdditionalProperties == nil { - osVar.AdditionalProperties = make(map[string]interface{}) - } - osVar.AdditionalProperties[k] = additionalProperties - } - case "writeBatchSize": - if v != nil { - var writeBatchSize interface{} - err = json.Unmarshal(*v, &writeBatchSize) - if err != nil { - return err - } - osVar.WriteBatchSize = writeBatchSize - } - case "writeBatchTimeout": - if v != nil { - var writeBatchTimeout interface{} - err = json.Unmarshal(*v, &writeBatchTimeout) - if err != nil { - return err - } - osVar.WriteBatchTimeout = writeBatchTimeout - } - case "sinkRetryCount": - if v != nil { - var sinkRetryCount interface{} - err = json.Unmarshal(*v, &sinkRetryCount) - if err != nil { - return err - } - osVar.SinkRetryCount = sinkRetryCount - } - case "sinkRetryWait": - if v != nil { - var sinkRetryWait interface{} - err = json.Unmarshal(*v, &sinkRetryWait) - if err != nil { - return err - } - osVar.SinkRetryWait = sinkRetryWait - } - case "maxConcurrentConnections": - if v != nil { - var maxConcurrentConnections interface{} - err = json.Unmarshal(*v, &maxConcurrentConnections) - if err != nil { - return err - } - osVar.MaxConcurrentConnections = maxConcurrentConnections - } - case "type": - if v != nil { - var typeVar TypeBasicCopySink - err = json.Unmarshal(*v, &typeVar) - if err != nil { - return err - } - osVar.Type = typeVar - } - } - } +// AsConcurObjectDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { + return nil, false +} - return nil +// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { + return nil, false } -// OracleSource a copy activity Oracle source. -type OracleSource struct { - // OracleReaderQuery - Oracle reader query. Type: string (or Expression with resultType string). - OracleReaderQuery interface{} `json:"oracleReaderQuery,omitempty"` - // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). - QueryTimeout interface{} `json:"queryTimeout,omitempty"` - // PartitionOption - The partition mechanism that will be used for Oracle read in parallel. Possible values include: 'OraclePartitionOptionNone', 'OraclePartitionOptionPhysicalPartitionsOfTable', 'OraclePartitionOptionDynamicRange' - PartitionOption OraclePartitionOption `json:"partitionOption,omitempty"` - // PartitionSettings - The settings that will be leveraged for Oracle source partitioning. - PartitionSettings *OraclePartitionSettings `json:"partitionSettings,omitempty"` - // AdditionalProperties - Unmatched properties from the message are deserialized this collection - AdditionalProperties map[string]interface{} `json:""` - // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). - SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` - // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). - SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` - // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). - MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' - Type TypeBasicCopySource `json:"type,omitempty"` +// AsAmazonMWSObjectDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { + return nil, false } -// MarshalJSON is the custom marshaler for OracleSource. -func (osVar OracleSource) MarshalJSON() ([]byte, error) { - osVar.Type = TypeOracleSource - objectMap := make(map[string]interface{}) - if osVar.OracleReaderQuery != nil { - objectMap["oracleReaderQuery"] = osVar.OracleReaderQuery - } - if osVar.QueryTimeout != nil { - objectMap["queryTimeout"] = osVar.QueryTimeout - } - if osVar.PartitionOption != "" { - objectMap["partitionOption"] = osVar.PartitionOption - } - if osVar.PartitionSettings != nil { - objectMap["partitionSettings"] = osVar.PartitionSettings - } - if osVar.SourceRetryCount != nil { - objectMap["sourceRetryCount"] = osVar.SourceRetryCount - } - if osVar.SourceRetryWait != nil { - objectMap["sourceRetryWait"] = osVar.SourceRetryWait - } - if osVar.MaxConcurrentConnections != nil { - objectMap["maxConcurrentConnections"] = osVar.MaxConcurrentConnections - } - if osVar.Type != "" { - objectMap["type"] = osVar.Type - } - for k, v := range osVar.AdditionalProperties { - objectMap[k] = v - } - return json.Marshal(objectMap) +// AsHTTPDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsHTTPDataset() (*HTTPDataset, bool) { + return nil, false } -// AsAmazonRedshiftSource is the BasicCopySource implementation for OracleSource. -func (osVar OracleSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { +// AsAzureSearchIndexDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { return nil, false } -// AsGoogleAdWordsSource is the BasicCopySource implementation for OracleSource. -func (osVar OracleSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { +// AsWebTableDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsWebTableDataset() (*WebTableDataset, bool) { return nil, false } -// AsOracleServiceCloudSource is the BasicCopySource implementation for OracleSource. -func (osVar OracleSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { +// AsSapTableResourceDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { return nil, false } -// AsDynamicsAXSource is the BasicCopySource implementation for OracleSource. -func (osVar OracleSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { +// AsRestResourceDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { return nil, false } -// AsResponsysSource is the BasicCopySource implementation for OracleSource. -func (osVar OracleSource) AsResponsysSource() (*ResponsysSource, bool) { +// AsSQLServerTableDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { return nil, false } -// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for OracleSource. -func (osVar OracleSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { +// AsSapOpenHubTableDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { return nil, false } -// AsVerticaSource is the BasicCopySource implementation for OracleSource. -func (osVar OracleSource) AsVerticaSource() (*VerticaSource, bool) { +// AsSapHanaTableDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { return nil, false } -// AsNetezzaSource is the BasicCopySource implementation for OracleSource. -func (osVar OracleSource) AsNetezzaSource() (*NetezzaSource, bool) { +// AsSapEccResourceDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { return nil, false } -// AsZohoSource is the BasicCopySource implementation for OracleSource. -func (osVar OracleSource) AsZohoSource() (*ZohoSource, bool) { +// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { return nil, false } -// AsXeroSource is the BasicCopySource implementation for OracleSource. -func (osVar OracleSource) AsXeroSource() (*XeroSource, bool) { +// AsSapBwCubeDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { return nil, false } -// AsSquareSource is the BasicCopySource implementation for OracleSource. -func (osVar OracleSource) AsSquareSource() (*SquareSource, bool) { +// AsSybaseTableDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { return nil, false } -// AsSparkSource is the BasicCopySource implementation for OracleSource. -func (osVar OracleSource) AsSparkSource() (*SparkSource, bool) { +// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { return nil, false } -// AsShopifySource is the BasicCopySource implementation for OracleSource. -func (osVar OracleSource) AsShopifySource() (*ShopifySource, bool) { +// AsSalesforceObjectDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { return nil, false } -// AsServiceNowSource is the BasicCopySource implementation for OracleSource. -func (osVar OracleSource) AsServiceNowSource() (*ServiceNowSource, bool) { +// AsMicrosoftAccessTableDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { return nil, false } -// AsQuickBooksSource is the BasicCopySource implementation for OracleSource. -func (osVar OracleSource) AsQuickBooksSource() (*QuickBooksSource, bool) { +// AsPostgreSQLTableDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { return nil, false } -// AsPrestoSource is the BasicCopySource implementation for OracleSource. -func (osVar OracleSource) AsPrestoSource() (*PrestoSource, bool) { +// AsMySQLTableDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { return nil, false } -// AsPhoenixSource is the BasicCopySource implementation for OracleSource. -func (osVar OracleSource) AsPhoenixSource() (*PhoenixSource, bool) { +// AsOdbcTableDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { return nil, false } -// AsPaypalSource is the BasicCopySource implementation for OracleSource. -func (osVar OracleSource) AsPaypalSource() (*PaypalSource, bool) { +// AsInformixTableDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { + return nil, false +} + +// AsRelationalTableDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { + return nil, false +} + +// AsDb2TableDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + +// AsAzureMySQLTableDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { + return nil, false +} + +// AsTeradataTableDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { + return nil, false +} + +// AsOracleTableDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { + return nil, false +} + +// AsODataResourceDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { + return nil, false +} + +// AsMongoDbV2CollectionDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { + return nil, false +} + +// AsMongoDbCollectionDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { + return nil, false +} + +// AsFileShareDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsFileShareDataset() (*FileShareDataset, bool) { + return nil, false +} + +// AsOffice365Dataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsOffice365Dataset() (*Office365Dataset, bool) { + return nil, false +} + +// AsAzureBlobFSDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) { + return nil, false +} + +// AsAzureDataLakeStoreDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { + return nil, false +} + +// AsDynamicsCrmEntityDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { + return nil, false +} + +// AsDynamicsEntityDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { return nil, false } -// AsMarketoSource is the BasicCopySource implementation for OracleSource. -func (osVar OracleSource) AsMarketoSource() (*MarketoSource, bool) { +// AsDocumentDbCollectionDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { return nil, false } -// AsAzureMariaDBSource is the BasicCopySource implementation for OracleSource. -func (osVar OracleSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { return nil, false } -// AsMariaDBSource is the BasicCopySource implementation for OracleSource. -func (osVar OracleSource) AsMariaDBSource() (*MariaDBSource, bool) { +// AsCustomDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsCustomDataset() (*CustomDataset, bool) { return nil, false } -// AsMagentoSource is the BasicCopySource implementation for OracleSource. -func (osVar OracleSource) AsMagentoSource() (*MagentoSource, bool) { +// AsCassandraTableDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { return nil, false } -// AsJiraSource is the BasicCopySource implementation for OracleSource. -func (osVar OracleSource) AsJiraSource() (*JiraSource, bool) { +// AsAzureSQLDWTableDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { return nil, false } -// AsImpalaSource is the BasicCopySource implementation for OracleSource. -func (osVar OracleSource) AsImpalaSource() (*ImpalaSource, bool) { +// AsAzureSQLMITableDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { return nil, false } -// AsHubspotSource is the BasicCopySource implementation for OracleSource. -func (osVar OracleSource) AsHubspotSource() (*HubspotSource, bool) { +// AsAzureSQLTableDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { return nil, false } -// AsHiveSource is the BasicCopySource implementation for OracleSource. -func (osVar OracleSource) AsHiveSource() (*HiveSource, bool) { +// AsAzureTableDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { return nil, false } -// AsHBaseSource is the BasicCopySource implementation for OracleSource. -func (osVar OracleSource) AsHBaseSource() (*HBaseSource, bool) { +// AsAzureBlobDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) { return nil, false } -// AsGreenplumSource is the BasicCopySource implementation for OracleSource. -func (osVar OracleSource) AsGreenplumSource() (*GreenplumSource, bool) { +// AsBinaryDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsBinaryDataset() (*BinaryDataset, bool) { return nil, false } -// AsGoogleBigQuerySource is the BasicCopySource implementation for OracleSource. -func (osVar OracleSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { - return nil, false +// AsOrcDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsOrcDataset() (*OrcDataset, bool) { + return &od, true } -// AsEloquaSource is the BasicCopySource implementation for OracleSource. -func (osVar OracleSource) AsEloquaSource() (*EloquaSource, bool) { +// AsJSONDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsJSONDataset() (*JSONDataset, bool) { return nil, false } -// AsDrillSource is the BasicCopySource implementation for OracleSource. -func (osVar OracleSource) AsDrillSource() (*DrillSource, bool) { +// AsDelimitedTextDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { return nil, false } -// AsCouchbaseSource is the BasicCopySource implementation for OracleSource. -func (osVar OracleSource) AsCouchbaseSource() (*CouchbaseSource, bool) { +// AsParquetDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsParquetDataset() (*ParquetDataset, bool) { return nil, false } -// AsConcurSource is the BasicCopySource implementation for OracleSource. -func (osVar OracleSource) AsConcurSource() (*ConcurSource, bool) { +// AsAvroDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsAvroDataset() (*AvroDataset, bool) { return nil, false } -// AsAzurePostgreSQLSource is the BasicCopySource implementation for OracleSource. -func (osVar OracleSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { +// AsAmazonS3Dataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) { return nil, false } -// AsAmazonMWSSource is the BasicCopySource implementation for OracleSource. -func (osVar OracleSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { +// AsDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsDataset() (*Dataset, bool) { return nil, false } -// AsHTTPSource is the BasicCopySource implementation for OracleSource. -func (osVar OracleSource) AsHTTPSource() (*HTTPSource, bool) { - return nil, false +// AsBasicDataset is the BasicDataset implementation for OrcDataset. +func (od OrcDataset) AsBasicDataset() (BasicDataset, bool) { + return &od, true } -// AsAzureBlobFSSource is the BasicCopySource implementation for OracleSource. -func (osVar OracleSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { - return nil, false +// UnmarshalJSON is the custom unmarshaler for OrcDataset struct. +func (od *OrcDataset) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var orcDatasetTypeProperties OrcDatasetTypeProperties + err = json.Unmarshal(*v, &orcDatasetTypeProperties) + if err != nil { + return err + } + od.OrcDatasetTypeProperties = &orcDatasetTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if od.AdditionalProperties == nil { + od.AdditionalProperties = make(map[string]interface{}) + } + od.AdditionalProperties[k] = additionalProperties + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + od.Description = &description + } + case "structure": + if v != nil { + var structure interface{} + err = json.Unmarshal(*v, &structure) + if err != nil { + return err + } + od.Structure = structure + } + case "schema": + if v != nil { + var schema interface{} + err = json.Unmarshal(*v, &schema) + if err != nil { + return err + } + od.Schema = schema + } + case "linkedServiceName": + if v != nil { + var linkedServiceName LinkedServiceReference + err = json.Unmarshal(*v, &linkedServiceName) + if err != nil { + return err + } + od.LinkedServiceName = &linkedServiceName + } + case "parameters": + if v != nil { + var parameters map[string]*ParameterSpecification + err = json.Unmarshal(*v, ¶meters) + if err != nil { + return err + } + od.Parameters = parameters + } + case "annotations": + if v != nil { + var annotations []interface{} + err = json.Unmarshal(*v, &annotations) + if err != nil { + return err + } + od.Annotations = &annotations + } + case "folder": + if v != nil { + var folder DatasetFolder + err = json.Unmarshal(*v, &folder) + if err != nil { + return err + } + od.Folder = &folder + } + case "type": + if v != nil { + var typeVar TypeBasicDataset + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + od.Type = typeVar + } + } + } + + return nil } -// AsAzureDataLakeStoreSource is the BasicCopySource implementation for OracleSource. -func (osVar OracleSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { - return nil, false +// OrcDatasetTypeProperties ORC dataset properties. +type OrcDatasetTypeProperties struct { + // Location - The location of the ORC data storage. + Location *DatasetLocation `json:"location,omitempty"` + // OrcCompressionCodec - Possible values include: 'OrcCompressionCodecNone', 'OrcCompressionCodecZlib', 'OrcCompressionCodecSnappy' + OrcCompressionCodec OrcCompressionCodec `json:"orcCompressionCodec,omitempty"` } -// AsOffice365Source is the BasicCopySource implementation for OracleSource. -func (osVar OracleSource) AsOffice365Source() (*Office365Source, bool) { - return nil, false +// OrcFormat the data stored in Optimized Row Columnar (ORC) format. +type OrcFormat struct { + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Serializer - Serializer. Type: string (or Expression with resultType string). + Serializer interface{} `json:"serializer,omitempty"` + // Deserializer - Deserializer. Type: string (or Expression with resultType string). + Deserializer interface{} `json:"deserializer,omitempty"` + // Type - Possible values include: 'TypeDatasetStorageFormat', 'TypeParquetFormat', 'TypeOrcFormat', 'TypeAvroFormat', 'TypeJSONFormat', 'TypeTextFormat' + Type TypeBasicDatasetStorageFormat `json:"type,omitempty"` } -// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for OracleSource. -func (osVar OracleSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { - return nil, false +// MarshalJSON is the custom marshaler for OrcFormat. +func (of OrcFormat) MarshalJSON() ([]byte, error) { + of.Type = TypeOrcFormat + objectMap := make(map[string]interface{}) + if of.Serializer != nil { + objectMap["serializer"] = of.Serializer + } + if of.Deserializer != nil { + objectMap["deserializer"] = of.Deserializer + } + if of.Type != "" { + objectMap["type"] = of.Type + } + for k, v := range of.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) } -// AsMongoDbV2Source is the BasicCopySource implementation for OracleSource. -func (osVar OracleSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { +// AsParquetFormat is the BasicDatasetStorageFormat implementation for OrcFormat. +func (of OrcFormat) AsParquetFormat() (*ParquetFormat, bool) { return nil, false } -// AsMongoDbSource is the BasicCopySource implementation for OracleSource. -func (osVar OracleSource) AsMongoDbSource() (*MongoDbSource, bool) { +// AsOrcFormat is the BasicDatasetStorageFormat implementation for OrcFormat. +func (of OrcFormat) AsOrcFormat() (*OrcFormat, bool) { + return &of, true +} + +// AsAvroFormat is the BasicDatasetStorageFormat implementation for OrcFormat. +func (of OrcFormat) AsAvroFormat() (*AvroFormat, bool) { return nil, false } -// AsCassandraSource is the BasicCopySource implementation for OracleSource. -func (osVar OracleSource) AsCassandraSource() (*CassandraSource, bool) { +// AsJSONFormat is the BasicDatasetStorageFormat implementation for OrcFormat. +func (of OrcFormat) AsJSONFormat() (*JSONFormat, bool) { return nil, false } -// AsWebSource is the BasicCopySource implementation for OracleSource. -func (osVar OracleSource) AsWebSource() (*WebSource, bool) { +// AsTextFormat is the BasicDatasetStorageFormat implementation for OrcFormat. +func (of OrcFormat) AsTextFormat() (*TextFormat, bool) { return nil, false } -// AsTeradataSource is the BasicCopySource implementation for OracleSource. -func (osVar OracleSource) AsTeradataSource() (*TeradataSource, bool) { +// AsDatasetStorageFormat is the BasicDatasetStorageFormat implementation for OrcFormat. +func (of OrcFormat) AsDatasetStorageFormat() (*DatasetStorageFormat, bool) { return nil, false } -// AsOracleSource is the BasicCopySource implementation for OracleSource. -func (osVar OracleSource) AsOracleSource() (*OracleSource, bool) { - return &osVar, true +// AsBasicDatasetStorageFormat is the BasicDatasetStorageFormat implementation for OrcFormat. +func (of OrcFormat) AsBasicDatasetStorageFormat() (BasicDatasetStorageFormat, bool) { + return &of, true } -// AsAzureDataExplorerSource is the BasicCopySource implementation for OracleSource. -func (osVar OracleSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { - return nil, false +// UnmarshalJSON is the custom unmarshaler for OrcFormat struct. +func (of *OrcFormat) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if of.AdditionalProperties == nil { + of.AdditionalProperties = make(map[string]interface{}) + } + of.AdditionalProperties[k] = additionalProperties + } + case "serializer": + if v != nil { + var serializer interface{} + err = json.Unmarshal(*v, &serializer) + if err != nil { + return err + } + of.Serializer = serializer + } + case "deserializer": + if v != nil { + var deserializer interface{} + err = json.Unmarshal(*v, &deserializer) + if err != nil { + return err + } + of.Deserializer = deserializer + } + case "type": + if v != nil { + var typeVar TypeBasicDatasetStorageFormat + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + of.Type = typeVar + } + } + } + + return nil } -// AsAzureMySQLSource is the BasicCopySource implementation for OracleSource. -func (osVar OracleSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { - return nil, false +// OrcSink a copy activity ORC sink. +type OrcSink struct { + // StoreSettings - ORC store settings. + StoreSettings BasicStoreWriteSettings `json:"storeSettings,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0. + WriteBatchSize interface{} `json:"writeBatchSize,omitempty"` + // WriteBatchTimeout - Write batch timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + WriteBatchTimeout interface{} `json:"writeBatchTimeout,omitempty"` + // SinkRetryCount - Sink retry count. Type: integer (or Expression with resultType integer). + SinkRetryCount interface{} `json:"sinkRetryCount,omitempty"` + // SinkRetryWait - Sink retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeCosmosDbSQLAPISink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAvroSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzureMySQLSink', 'TypeAzurePostgreSQLSink', 'TypeOrcSink', 'TypeJSONSink', 'TypeDelimitedTextSink' + Type TypeBasicCopySink `json:"type,omitempty"` } -// AsHdfsSource is the BasicCopySource implementation for OracleSource. -func (osVar OracleSource) AsHdfsSource() (*HdfsSource, bool) { - return nil, false +// MarshalJSON is the custom marshaler for OrcSink. +func (osVar OrcSink) MarshalJSON() ([]byte, error) { + osVar.Type = TypeOrcSink + objectMap := make(map[string]interface{}) + objectMap["storeSettings"] = osVar.StoreSettings + if osVar.WriteBatchSize != nil { + objectMap["writeBatchSize"] = osVar.WriteBatchSize + } + if osVar.WriteBatchTimeout != nil { + objectMap["writeBatchTimeout"] = osVar.WriteBatchTimeout + } + if osVar.SinkRetryCount != nil { + objectMap["sinkRetryCount"] = osVar.SinkRetryCount + } + if osVar.SinkRetryWait != nil { + objectMap["sinkRetryWait"] = osVar.SinkRetryWait + } + if osVar.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = osVar.MaxConcurrentConnections + } + if osVar.Type != "" { + objectMap["type"] = osVar.Type + } + for k, v := range osVar.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) } -// AsFileSystemSource is the BasicCopySource implementation for OracleSource. -func (osVar OracleSource) AsFileSystemSource() (*FileSystemSource, bool) { +// AsCosmosDbMongoDbAPISink is the BasicCopySink implementation for OrcSink. +func (osVar OrcSink) AsCosmosDbMongoDbAPISink() (*CosmosDbMongoDbAPISink, bool) { return nil, false } -// AsSQLDWSource is the BasicCopySource implementation for OracleSource. -func (osVar OracleSource) AsSQLDWSource() (*SQLDWSource, bool) { +// AsSalesforceServiceCloudSink is the BasicCopySink implementation for OrcSink. +func (osVar OrcSink) AsSalesforceServiceCloudSink() (*SalesforceServiceCloudSink, bool) { return nil, false } -// AsSQLMISource is the BasicCopySource implementation for OracleSource. -func (osVar OracleSource) AsSQLMISource() (*SQLMISource, bool) { +// AsSalesforceSink is the BasicCopySink implementation for OrcSink. +func (osVar OrcSink) AsSalesforceSink() (*SalesforceSink, bool) { return nil, false } -// AsAzureSQLSource is the BasicCopySource implementation for OracleSource. -func (osVar OracleSource) AsAzureSQLSource() (*AzureSQLSource, bool) { +// AsAzureDataExplorerSink is the BasicCopySink implementation for OrcSink. +func (osVar OrcSink) AsAzureDataExplorerSink() (*AzureDataExplorerSink, bool) { return nil, false } -// AsSQLServerSource is the BasicCopySource implementation for OracleSource. -func (osVar OracleSource) AsSQLServerSource() (*SQLServerSource, bool) { +// AsCommonDataServiceForAppsSink is the BasicCopySink implementation for OrcSink. +func (osVar OrcSink) AsCommonDataServiceForAppsSink() (*CommonDataServiceForAppsSink, bool) { return nil, false } -// AsSQLSource is the BasicCopySource implementation for OracleSource. -func (osVar OracleSource) AsSQLSource() (*SQLSource, bool) { +// AsDynamicsCrmSink is the BasicCopySink implementation for OrcSink. +func (osVar OrcSink) AsDynamicsCrmSink() (*DynamicsCrmSink, bool) { return nil, false } -// AsRestSource is the BasicCopySource implementation for OracleSource. -func (osVar OracleSource) AsRestSource() (*RestSource, bool) { +// AsDynamicsSink is the BasicCopySink implementation for OrcSink. +func (osVar OrcSink) AsDynamicsSink() (*DynamicsSink, bool) { return nil, false } -// AsSapTableSource is the BasicCopySource implementation for OracleSource. -func (osVar OracleSource) AsSapTableSource() (*SapTableSource, bool) { +// AsMicrosoftAccessSink is the BasicCopySink implementation for OrcSink. +func (osVar OrcSink) AsMicrosoftAccessSink() (*MicrosoftAccessSink, bool) { return nil, false } -// AsSapOpenHubSource is the BasicCopySource implementation for OracleSource. -func (osVar OracleSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { +// AsInformixSink is the BasicCopySink implementation for OrcSink. +func (osVar OrcSink) AsInformixSink() (*InformixSink, bool) { return nil, false } -// AsSapHanaSource is the BasicCopySource implementation for OracleSource. -func (osVar OracleSource) AsSapHanaSource() (*SapHanaSource, bool) { +// AsOdbcSink is the BasicCopySink implementation for OrcSink. +func (osVar OrcSink) AsOdbcSink() (*OdbcSink, bool) { return nil, false } -// AsSapEccSource is the BasicCopySource implementation for OracleSource. -func (osVar OracleSource) AsSapEccSource() (*SapEccSource, bool) { +// AsAzureSearchIndexSink is the BasicCopySink implementation for OrcSink. +func (osVar OrcSink) AsAzureSearchIndexSink() (*AzureSearchIndexSink, bool) { return nil, false } -// AsSapCloudForCustomerSource is the BasicCopySource implementation for OracleSource. -func (osVar OracleSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { +// AsAzureBlobFSSink is the BasicCopySink implementation for OrcSink. +func (osVar OrcSink) AsAzureBlobFSSink() (*AzureBlobFSSink, bool) { return nil, false } -// AsSalesforceServiceCloudSource is the BasicCopySource implementation for OracleSource. -func (osVar OracleSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { +// AsAzureDataLakeStoreSink is the BasicCopySink implementation for OrcSink. +func (osVar OrcSink) AsAzureDataLakeStoreSink() (*AzureDataLakeStoreSink, bool) { return nil, false } -// AsSalesforceSource is the BasicCopySource implementation for OracleSource. -func (osVar OracleSource) AsSalesforceSource() (*SalesforceSource, bool) { +// AsOracleSink is the BasicCopySink implementation for OrcSink. +func (osVar OrcSink) AsOracleSink() (*OracleSink, bool) { return nil, false } -// AsODataSource is the BasicCopySource implementation for OracleSource. -func (osVar OracleSource) AsODataSource() (*ODataSource, bool) { +// AsSQLDWSink is the BasicCopySink implementation for OrcSink. +func (osVar OrcSink) AsSQLDWSink() (*SQLDWSink, bool) { return nil, false } -// AsSapBwSource is the BasicCopySource implementation for OracleSource. -func (osVar OracleSource) AsSapBwSource() (*SapBwSource, bool) { +// AsSQLMISink is the BasicCopySink implementation for OrcSink. +func (osVar OrcSink) AsSQLMISink() (*SQLMISink, bool) { return nil, false } -// AsSybaseSource is the BasicCopySource implementation for OracleSource. -func (osVar OracleSource) AsSybaseSource() (*SybaseSource, bool) { +// AsAzureSQLSink is the BasicCopySink implementation for OrcSink. +func (osVar OrcSink) AsAzureSQLSink() (*AzureSQLSink, bool) { return nil, false } -// AsPostgreSQLSource is the BasicCopySource implementation for OracleSource. -func (osVar OracleSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { +// AsSQLServerSink is the BasicCopySink implementation for OrcSink. +func (osVar OrcSink) AsSQLServerSink() (*SQLServerSink, bool) { return nil, false } -// AsMySQLSource is the BasicCopySource implementation for OracleSource. -func (osVar OracleSource) AsMySQLSource() (*MySQLSource, bool) { +// AsSQLSink is the BasicCopySink implementation for OrcSink. +func (osVar OrcSink) AsSQLSink() (*SQLSink, bool) { return nil, false } -// AsOdbcSource is the BasicCopySource implementation for OracleSource. -func (osVar OracleSource) AsOdbcSource() (*OdbcSource, bool) { +// AsCosmosDbSQLAPISink is the BasicCopySink implementation for OrcSink. +func (osVar OrcSink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) { return nil, false } -// AsDb2Source is the BasicCopySource implementation for OracleSource. -func (osVar OracleSource) AsDb2Source() (*Db2Source, bool) { +// AsDocumentDbCollectionSink is the BasicCopySink implementation for OrcSink. +func (osVar OrcSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) { return nil, false } -// AsMicrosoftAccessSource is the BasicCopySource implementation for OracleSource. -func (osVar OracleSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { +// AsFileSystemSink is the BasicCopySink implementation for OrcSink. +func (osVar OrcSink) AsFileSystemSink() (*FileSystemSink, bool) { return nil, false } -// AsInformixSource is the BasicCopySource implementation for OracleSource. -func (osVar OracleSource) AsInformixSource() (*InformixSource, bool) { +// AsBlobSink is the BasicCopySink implementation for OrcSink. +func (osVar OrcSink) AsBlobSink() (*BlobSink, bool) { return nil, false } -// AsRelationalSource is the BasicCopySource implementation for OracleSource. -func (osVar OracleSource) AsRelationalSource() (*RelationalSource, bool) { +// AsBinarySink is the BasicCopySink implementation for OrcSink. +func (osVar OrcSink) AsBinarySink() (*BinarySink, bool) { return nil, false } -// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for OracleSource. -func (osVar OracleSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { +// AsParquetSink is the BasicCopySink implementation for OrcSink. +func (osVar OrcSink) AsParquetSink() (*ParquetSink, bool) { return nil, false } -// AsDynamicsCrmSource is the BasicCopySource implementation for OracleSource. -func (osVar OracleSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { +// AsAvroSink is the BasicCopySink implementation for OrcSink. +func (osVar OrcSink) AsAvroSink() (*AvroSink, bool) { return nil, false } -// AsDynamicsSource is the BasicCopySource implementation for OracleSource. -func (osVar OracleSource) AsDynamicsSource() (*DynamicsSource, bool) { +// AsAzureTableSink is the BasicCopySink implementation for OrcSink. +func (osVar OrcSink) AsAzureTableSink() (*AzureTableSink, bool) { return nil, false } -// AsDocumentDbCollectionSource is the BasicCopySource implementation for OracleSource. -func (osVar OracleSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { +// AsAzureQueueSink is the BasicCopySink implementation for OrcSink. +func (osVar OrcSink) AsAzureQueueSink() (*AzureQueueSink, bool) { return nil, false } -// AsBlobSource is the BasicCopySource implementation for OracleSource. -func (osVar OracleSource) AsBlobSource() (*BlobSource, bool) { +// AsSapCloudForCustomerSink is the BasicCopySink implementation for OrcSink. +func (osVar OrcSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) { return nil, false } -// AsAzureTableSource is the BasicCopySource implementation for OracleSource. -func (osVar OracleSource) AsAzureTableSource() (*AzureTableSource, bool) { +// AsAzureMySQLSink is the BasicCopySink implementation for OrcSink. +func (osVar OrcSink) AsAzureMySQLSink() (*AzureMySQLSink, bool) { return nil, false } -// AsBinarySource is the BasicCopySource implementation for OracleSource. -func (osVar OracleSource) AsBinarySource() (*BinarySource, bool) { +// AsAzurePostgreSQLSink is the BasicCopySink implementation for OrcSink. +func (osVar OrcSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) { return nil, false } -// AsDelimitedTextSource is the BasicCopySource implementation for OracleSource. -func (osVar OracleSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { - return nil, false +// AsOrcSink is the BasicCopySink implementation for OrcSink. +func (osVar OrcSink) AsOrcSink() (*OrcSink, bool) { + return &osVar, true } -// AsParquetSource is the BasicCopySource implementation for OracleSource. -func (osVar OracleSource) AsParquetSource() (*ParquetSource, bool) { +// AsJSONSink is the BasicCopySink implementation for OrcSink. +func (osVar OrcSink) AsJSONSink() (*JSONSink, bool) { return nil, false } -// AsAvroSource is the BasicCopySource implementation for OracleSource. -func (osVar OracleSource) AsAvroSource() (*AvroSource, bool) { +// AsDelimitedTextSink is the BasicCopySink implementation for OrcSink. +func (osVar OrcSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) { return nil, false } -// AsCopySource is the BasicCopySource implementation for OracleSource. -func (osVar OracleSource) AsCopySource() (*CopySource, bool) { +// AsCopySink is the BasicCopySink implementation for OrcSink. +func (osVar OrcSink) AsCopySink() (*CopySink, bool) { return nil, false } -// AsBasicCopySource is the BasicCopySource implementation for OracleSource. -func (osVar OracleSource) AsBasicCopySource() (BasicCopySource, bool) { +// AsBasicCopySink is the BasicCopySink implementation for OrcSink. +func (osVar OrcSink) AsBasicCopySink() (BasicCopySink, bool) { return &osVar, true } -// UnmarshalJSON is the custom unmarshaler for OracleSource struct. -func (osVar *OracleSource) UnmarshalJSON(body []byte) error { +// UnmarshalJSON is the custom unmarshaler for OrcSink struct. +func (osVar *OrcSink) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -133024,71 +150295,61 @@ func (osVar *OracleSource) UnmarshalJSON(body []byte) error { } for k, v := range m { switch k { - case "oracleReaderQuery": + case "storeSettings": if v != nil { - var oracleReaderQuery interface{} - err = json.Unmarshal(*v, &oracleReaderQuery) + storeSettings, err := unmarshalBasicStoreWriteSettings(*v) if err != nil { return err } - osVar.OracleReaderQuery = oracleReaderQuery + osVar.StoreSettings = storeSettings } - case "queryTimeout": + default: if v != nil { - var queryTimeout interface{} - err = json.Unmarshal(*v, &queryTimeout) + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) if err != nil { return err } - osVar.QueryTimeout = queryTimeout - } - case "partitionOption": - if v != nil { - var partitionOption OraclePartitionOption - err = json.Unmarshal(*v, &partitionOption) - if err != nil { - return err + if osVar.AdditionalProperties == nil { + osVar.AdditionalProperties = make(map[string]interface{}) } - osVar.PartitionOption = partitionOption + osVar.AdditionalProperties[k] = additionalProperties } - case "partitionSettings": + case "writeBatchSize": if v != nil { - var partitionSettings OraclePartitionSettings - err = json.Unmarshal(*v, &partitionSettings) + var writeBatchSize interface{} + err = json.Unmarshal(*v, &writeBatchSize) if err != nil { return err } - osVar.PartitionSettings = &partitionSettings + osVar.WriteBatchSize = writeBatchSize } - default: + case "writeBatchTimeout": if v != nil { - var additionalProperties interface{} - err = json.Unmarshal(*v, &additionalProperties) + var writeBatchTimeout interface{} + err = json.Unmarshal(*v, &writeBatchTimeout) if err != nil { return err } - if osVar.AdditionalProperties == nil { - osVar.AdditionalProperties = make(map[string]interface{}) - } - osVar.AdditionalProperties[k] = additionalProperties + osVar.WriteBatchTimeout = writeBatchTimeout } - case "sourceRetryCount": + case "sinkRetryCount": if v != nil { - var sourceRetryCount interface{} - err = json.Unmarshal(*v, &sourceRetryCount) + var sinkRetryCount interface{} + err = json.Unmarshal(*v, &sinkRetryCount) if err != nil { return err } - osVar.SourceRetryCount = sourceRetryCount + osVar.SinkRetryCount = sinkRetryCount } - case "sourceRetryWait": + case "sinkRetryWait": if v != nil { - var sourceRetryWait interface{} - err = json.Unmarshal(*v, &sourceRetryWait) + var sinkRetryWait interface{} + err = json.Unmarshal(*v, &sinkRetryWait) if err != nil { return err } - osVar.SourceRetryWait = sourceRetryWait + osVar.SinkRetryWait = sinkRetryWait } case "maxConcurrentConnections": if v != nil { @@ -133101,7 +150362,7 @@ func (osVar *OracleSource) UnmarshalJSON(body []byte) error { } case "type": if v != nil { - var typeVar TypeBasicCopySource + var typeVar TypeBasicCopySink err = json.Unmarshal(*v, &typeVar) if err != nil { return err @@ -133114,673 +150375,499 @@ func (osVar *OracleSource) UnmarshalJSON(body []byte) error { return nil } -// OracleTableDataset the on-premises Oracle database dataset. -type OracleTableDataset struct { - // OracleTableDatasetTypeProperties - On-premises Oracle dataset properties. - *OracleTableDatasetTypeProperties `json:"typeProperties,omitempty"` +// OrcSource a copy activity ORC source. +type OrcSource struct { + // StoreSettings - ORC store settings. + StoreSettings *StoreReadSettings `json:"storeSettings,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` - // Description - Dataset description. - Description *string `json:"description,omitempty"` - // Structure - Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement. - Structure interface{} `json:"structure,omitempty"` - // Schema - Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement. - Schema interface{} `json:"schema,omitempty"` - // LinkedServiceName - Linked service reference. - LinkedServiceName *LinkedServiceReference `json:"linkedServiceName,omitempty"` - // Parameters - Parameters for dataset. - Parameters map[string]*ParameterSpecification `json:"parameters"` - // Annotations - List of tags that can be used for describing the Dataset. - Annotations *[]interface{} `json:"annotations,omitempty"` - // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. - Folder *DatasetFolder `json:"folder,omitempty"` - // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' - Type TypeBasicDataset `json:"type,omitempty"` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' + Type TypeBasicCopySource `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for OracleTableDataset. -func (otd OracleTableDataset) MarshalJSON() ([]byte, error) { - otd.Type = TypeOracleTable +// MarshalJSON is the custom marshaler for OrcSource. +func (osVar OrcSource) MarshalJSON() ([]byte, error) { + osVar.Type = TypeOrcSource objectMap := make(map[string]interface{}) - if otd.OracleTableDatasetTypeProperties != nil { - objectMap["typeProperties"] = otd.OracleTableDatasetTypeProperties + if osVar.StoreSettings != nil { + objectMap["storeSettings"] = osVar.StoreSettings } - if otd.Description != nil { - objectMap["description"] = otd.Description - } - if otd.Structure != nil { - objectMap["structure"] = otd.Structure - } - if otd.Schema != nil { - objectMap["schema"] = otd.Schema - } - if otd.LinkedServiceName != nil { - objectMap["linkedServiceName"] = otd.LinkedServiceName - } - if otd.Parameters != nil { - objectMap["parameters"] = otd.Parameters + if osVar.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = osVar.SourceRetryCount } - if otd.Annotations != nil { - objectMap["annotations"] = otd.Annotations + if osVar.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = osVar.SourceRetryWait } - if otd.Folder != nil { - objectMap["folder"] = otd.Folder + if osVar.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = osVar.MaxConcurrentConnections } - if otd.Type != "" { - objectMap["type"] = otd.Type + if osVar.Type != "" { + objectMap["type"] = osVar.Type } - for k, v := range otd.AdditionalProperties { + for k, v := range osVar.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } -// AsGoogleAdWordsObjectDataset is the BasicDataset implementation for OracleTableDataset. -func (otd OracleTableDataset) AsGoogleAdWordsObjectDataset() (*GoogleAdWordsObjectDataset, bool) { +// AsHTTPSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsHTTPSource() (*HTTPSource, bool) { return nil, false } -// AsAzureDataExplorerTableDataset is the BasicDataset implementation for OracleTableDataset. -func (otd OracleTableDataset) AsAzureDataExplorerTableDataset() (*AzureDataExplorerTableDataset, bool) { +// AsAzureBlobFSSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { return nil, false } -// AsOracleServiceCloudObjectDataset is the BasicDataset implementation for OracleTableDataset. -func (otd OracleTableDataset) AsOracleServiceCloudObjectDataset() (*OracleServiceCloudObjectDataset, bool) { +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { return nil, false } -// AsDynamicsAXResourceDataset is the BasicDataset implementation for OracleTableDataset. -func (otd OracleTableDataset) AsDynamicsAXResourceDataset() (*DynamicsAXResourceDataset, bool) { +// AsOffice365Source is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsOffice365Source() (*Office365Source, bool) { return nil, false } -// AsResponsysObjectDataset is the BasicDataset implementation for OracleTableDataset. -func (otd OracleTableDataset) AsResponsysObjectDataset() (*ResponsysObjectDataset, bool) { +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { return nil, false } -// AsSalesforceMarketingCloudObjectDataset is the BasicDataset implementation for OracleTableDataset. -func (otd OracleTableDataset) AsSalesforceMarketingCloudObjectDataset() (*SalesforceMarketingCloudObjectDataset, bool) { +// AsMongoDbV2Source is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { return nil, false } -// AsVerticaTableDataset is the BasicDataset implementation for OracleTableDataset. -func (otd OracleTableDataset) AsVerticaTableDataset() (*VerticaTableDataset, bool) { +// AsMongoDbSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsMongoDbSource() (*MongoDbSource, bool) { return nil, false } -// AsNetezzaTableDataset is the BasicDataset implementation for OracleTableDataset. -func (otd OracleTableDataset) AsNetezzaTableDataset() (*NetezzaTableDataset, bool) { +// AsWebSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsWebSource() (*WebSource, bool) { return nil, false } -// AsZohoObjectDataset is the BasicDataset implementation for OracleTableDataset. -func (otd OracleTableDataset) AsZohoObjectDataset() (*ZohoObjectDataset, bool) { +// AsOracleSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsOracleSource() (*OracleSource, bool) { return nil, false } -// AsXeroObjectDataset is the BasicDataset implementation for OracleTableDataset. -func (otd OracleTableDataset) AsXeroObjectDataset() (*XeroObjectDataset, bool) { +// AsAzureDataExplorerSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { return nil, false } -// AsSquareObjectDataset is the BasicDataset implementation for OracleTableDataset. -func (otd OracleTableDataset) AsSquareObjectDataset() (*SquareObjectDataset, bool) { +// AsHdfsSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsHdfsSource() (*HdfsSource, bool) { return nil, false } -// AsSparkObjectDataset is the BasicDataset implementation for OracleTableDataset. -func (otd OracleTableDataset) AsSparkObjectDataset() (*SparkObjectDataset, bool) { +// AsFileSystemSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsFileSystemSource() (*FileSystemSource, bool) { return nil, false } -// AsShopifyObjectDataset is the BasicDataset implementation for OracleTableDataset. -func (otd OracleTableDataset) AsShopifyObjectDataset() (*ShopifyObjectDataset, bool) { +// AsRestSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsRestSource() (*RestSource, bool) { return nil, false } -// AsServiceNowObjectDataset is the BasicDataset implementation for OracleTableDataset. -func (otd OracleTableDataset) AsServiceNowObjectDataset() (*ServiceNowObjectDataset, bool) { +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { return nil, false } -// AsQuickBooksObjectDataset is the BasicDataset implementation for OracleTableDataset. -func (otd OracleTableDataset) AsQuickBooksObjectDataset() (*QuickBooksObjectDataset, bool) { +// AsODataSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsODataSource() (*ODataSource, bool) { return nil, false } -// AsPrestoObjectDataset is the BasicDataset implementation for OracleTableDataset. -func (otd OracleTableDataset) AsPrestoObjectDataset() (*PrestoObjectDataset, bool) { +// AsMicrosoftAccessSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { return nil, false } -// AsPhoenixObjectDataset is the BasicDataset implementation for OracleTableDataset. -func (otd OracleTableDataset) AsPhoenixObjectDataset() (*PhoenixObjectDataset, bool) { +// AsRelationalSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsRelationalSource() (*RelationalSource, bool) { return nil, false } -// AsPaypalObjectDataset is the BasicDataset implementation for OracleTableDataset. -func (otd OracleTableDataset) AsPaypalObjectDataset() (*PaypalObjectDataset, bool) { +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { return nil, false } -// AsMarketoObjectDataset is the BasicDataset implementation for OracleTableDataset. -func (otd OracleTableDataset) AsMarketoObjectDataset() (*MarketoObjectDataset, bool) { +// AsDynamicsCrmSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { return nil, false } -// AsAzureMariaDBTableDataset is the BasicDataset implementation for OracleTableDataset. -func (otd OracleTableDataset) AsAzureMariaDBTableDataset() (*AzureMariaDBTableDataset, bool) { +// AsDynamicsSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsDynamicsSource() (*DynamicsSource, bool) { return nil, false } -// AsMariaDBTableDataset is the BasicDataset implementation for OracleTableDataset. -func (otd OracleTableDataset) AsMariaDBTableDataset() (*MariaDBTableDataset, bool) { +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { return nil, false } -// AsMagentoObjectDataset is the BasicDataset implementation for OracleTableDataset. -func (otd OracleTableDataset) AsMagentoObjectDataset() (*MagentoObjectDataset, bool) { +// AsDocumentDbCollectionSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { return nil, false } -// AsJiraObjectDataset is the BasicDataset implementation for OracleTableDataset. -func (otd OracleTableDataset) AsJiraObjectDataset() (*JiraObjectDataset, bool) { +// AsBlobSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsBlobSource() (*BlobSource, bool) { return nil, false } -// AsImpalaObjectDataset is the BasicDataset implementation for OracleTableDataset. -func (otd OracleTableDataset) AsImpalaObjectDataset() (*ImpalaObjectDataset, bool) { +// AsAmazonRedshiftSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { return nil, false } -// AsHubspotObjectDataset is the BasicDataset implementation for OracleTableDataset. -func (otd OracleTableDataset) AsHubspotObjectDataset() (*HubspotObjectDataset, bool) { +// AsGoogleAdWordsSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { return nil, false } -// AsHiveObjectDataset is the BasicDataset implementation for OracleTableDataset. -func (otd OracleTableDataset) AsHiveObjectDataset() (*HiveObjectDataset, bool) { +// AsOracleServiceCloudSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { return nil, false } -// AsHBaseObjectDataset is the BasicDataset implementation for OracleTableDataset. -func (otd OracleTableDataset) AsHBaseObjectDataset() (*HBaseObjectDataset, bool) { +// AsDynamicsAXSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { return nil, false } -// AsGreenplumTableDataset is the BasicDataset implementation for OracleTableDataset. -func (otd OracleTableDataset) AsGreenplumTableDataset() (*GreenplumTableDataset, bool) { +// AsResponsysSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsResponsysSource() (*ResponsysSource, bool) { return nil, false } -// AsGoogleBigQueryObjectDataset is the BasicDataset implementation for OracleTableDataset. -func (otd OracleTableDataset) AsGoogleBigQueryObjectDataset() (*GoogleBigQueryObjectDataset, bool) { +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { return nil, false } -// AsEloquaObjectDataset is the BasicDataset implementation for OracleTableDataset. -func (otd OracleTableDataset) AsEloquaObjectDataset() (*EloquaObjectDataset, bool) { +// AsVerticaSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsVerticaSource() (*VerticaSource, bool) { return nil, false } -// AsDrillTableDataset is the BasicDataset implementation for OracleTableDataset. -func (otd OracleTableDataset) AsDrillTableDataset() (*DrillTableDataset, bool) { +// AsNetezzaSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsNetezzaSource() (*NetezzaSource, bool) { return nil, false } -// AsCouchbaseTableDataset is the BasicDataset implementation for OracleTableDataset. -func (otd OracleTableDataset) AsCouchbaseTableDataset() (*CouchbaseTableDataset, bool) { +// AsZohoSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsZohoSource() (*ZohoSource, bool) { return nil, false } -// AsConcurObjectDataset is the BasicDataset implementation for OracleTableDataset. -func (otd OracleTableDataset) AsConcurObjectDataset() (*ConcurObjectDataset, bool) { +// AsXeroSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsXeroSource() (*XeroSource, bool) { return nil, false } -// AsAzurePostgreSQLTableDataset is the BasicDataset implementation for OracleTableDataset. -func (otd OracleTableDataset) AsAzurePostgreSQLTableDataset() (*AzurePostgreSQLTableDataset, bool) { +// AsSquareSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsSquareSource() (*SquareSource, bool) { return nil, false } -// AsAmazonMWSObjectDataset is the BasicDataset implementation for OracleTableDataset. -func (otd OracleTableDataset) AsAmazonMWSObjectDataset() (*AmazonMWSObjectDataset, bool) { +// AsSparkSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsSparkSource() (*SparkSource, bool) { return nil, false } -// AsHTTPDataset is the BasicDataset implementation for OracleTableDataset. -func (otd OracleTableDataset) AsHTTPDataset() (*HTTPDataset, bool) { +// AsShopifySource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsShopifySource() (*ShopifySource, bool) { return nil, false } -// AsAzureSearchIndexDataset is the BasicDataset implementation for OracleTableDataset. -func (otd OracleTableDataset) AsAzureSearchIndexDataset() (*AzureSearchIndexDataset, bool) { +// AsServiceNowSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsServiceNowSource() (*ServiceNowSource, bool) { return nil, false } -// AsWebTableDataset is the BasicDataset implementation for OracleTableDataset. -func (otd OracleTableDataset) AsWebTableDataset() (*WebTableDataset, bool) { +// AsQuickBooksSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsQuickBooksSource() (*QuickBooksSource, bool) { return nil, false } -// AsSapTableResourceDataset is the BasicDataset implementation for OracleTableDataset. -func (otd OracleTableDataset) AsSapTableResourceDataset() (*SapTableResourceDataset, bool) { +// AsPrestoSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsPrestoSource() (*PrestoSource, bool) { return nil, false } -// AsRestResourceDataset is the BasicDataset implementation for OracleTableDataset. -func (otd OracleTableDataset) AsRestResourceDataset() (*RestResourceDataset, bool) { +// AsPhoenixSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsPhoenixSource() (*PhoenixSource, bool) { return nil, false } -// AsSQLServerTableDataset is the BasicDataset implementation for OracleTableDataset. -func (otd OracleTableDataset) AsSQLServerTableDataset() (*SQLServerTableDataset, bool) { +// AsPaypalSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsPaypalSource() (*PaypalSource, bool) { return nil, false } -// AsSapOpenHubTableDataset is the BasicDataset implementation for OracleTableDataset. -func (otd OracleTableDataset) AsSapOpenHubTableDataset() (*SapOpenHubTableDataset, bool) { +// AsMarketoSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsMarketoSource() (*MarketoSource, bool) { return nil, false } -// AsSapHanaTableDataset is the BasicDataset implementation for OracleTableDataset. -func (otd OracleTableDataset) AsSapHanaTableDataset() (*SapHanaTableDataset, bool) { +// AsAzureMariaDBSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { return nil, false } -// AsSapEccResourceDataset is the BasicDataset implementation for OracleTableDataset. -func (otd OracleTableDataset) AsSapEccResourceDataset() (*SapEccResourceDataset, bool) { +// AsMariaDBSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsMariaDBSource() (*MariaDBSource, bool) { return nil, false } -// AsSapCloudForCustomerResourceDataset is the BasicDataset implementation for OracleTableDataset. -func (otd OracleTableDataset) AsSapCloudForCustomerResourceDataset() (*SapCloudForCustomerResourceDataset, bool) { +// AsMagentoSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsMagentoSource() (*MagentoSource, bool) { return nil, false } -// AsSapBwCubeDataset is the BasicDataset implementation for OracleTableDataset. -func (otd OracleTableDataset) AsSapBwCubeDataset() (*SapBwCubeDataset, bool) { +// AsJiraSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsJiraSource() (*JiraSource, bool) { return nil, false } -// AsSybaseTableDataset is the BasicDataset implementation for OracleTableDataset. -func (otd OracleTableDataset) AsSybaseTableDataset() (*SybaseTableDataset, bool) { +// AsImpalaSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsImpalaSource() (*ImpalaSource, bool) { return nil, false } -// AsSalesforceServiceCloudObjectDataset is the BasicDataset implementation for OracleTableDataset. -func (otd OracleTableDataset) AsSalesforceServiceCloudObjectDataset() (*SalesforceServiceCloudObjectDataset, bool) { +// AsHubspotSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsHubspotSource() (*HubspotSource, bool) { return nil, false } -// AsSalesforceObjectDataset is the BasicDataset implementation for OracleTableDataset. -func (otd OracleTableDataset) AsSalesforceObjectDataset() (*SalesforceObjectDataset, bool) { +// AsHiveSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsHiveSource() (*HiveSource, bool) { return nil, false } -// AsMicrosoftAccessTableDataset is the BasicDataset implementation for OracleTableDataset. -func (otd OracleTableDataset) AsMicrosoftAccessTableDataset() (*MicrosoftAccessTableDataset, bool) { +// AsHBaseSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsHBaseSource() (*HBaseSource, bool) { return nil, false } -// AsPostgreSQLTableDataset is the BasicDataset implementation for OracleTableDataset. -func (otd OracleTableDataset) AsPostgreSQLTableDataset() (*PostgreSQLTableDataset, bool) { +// AsGreenplumSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsGreenplumSource() (*GreenplumSource, bool) { return nil, false } -// AsMySQLTableDataset is the BasicDataset implementation for OracleTableDataset. -func (otd OracleTableDataset) AsMySQLTableDataset() (*MySQLTableDataset, bool) { +// AsGoogleBigQuerySource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { return nil, false } -// AsOdbcTableDataset is the BasicDataset implementation for OracleTableDataset. -func (otd OracleTableDataset) AsOdbcTableDataset() (*OdbcTableDataset, bool) { +// AsEloquaSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsEloquaSource() (*EloquaSource, bool) { return nil, false } -// AsInformixTableDataset is the BasicDataset implementation for OracleTableDataset. -func (otd OracleTableDataset) AsInformixTableDataset() (*InformixTableDataset, bool) { +// AsDrillSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsDrillSource() (*DrillSource, bool) { return nil, false } -// AsRelationalTableDataset is the BasicDataset implementation for OracleTableDataset. -func (otd OracleTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, bool) { +// AsCouchbaseSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsCouchbaseSource() (*CouchbaseSource, bool) { return nil, false } -// AsAzureMySQLTableDataset is the BasicDataset implementation for OracleTableDataset. -func (otd OracleTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { +// AsConcurSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsConcurSource() (*ConcurSource, bool) { return nil, false } -// AsTeradataTableDataset is the BasicDataset implementation for OracleTableDataset. -func (otd OracleTableDataset) AsTeradataTableDataset() (*TeradataTableDataset, bool) { +// AsAzurePostgreSQLSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { return nil, false } -// AsOracleTableDataset is the BasicDataset implementation for OracleTableDataset. -func (otd OracleTableDataset) AsOracleTableDataset() (*OracleTableDataset, bool) { - return &otd, true -} - -// AsODataResourceDataset is the BasicDataset implementation for OracleTableDataset. -func (otd OracleTableDataset) AsODataResourceDataset() (*ODataResourceDataset, bool) { +// AsAmazonMWSSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { return nil, false } -// AsCosmosDbMongoDbAPICollectionDataset is the BasicDataset implementation for OracleTableDataset. -func (otd OracleTableDataset) AsCosmosDbMongoDbAPICollectionDataset() (*CosmosDbMongoDbAPICollectionDataset, bool) { +// AsCassandraSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsCassandraSource() (*CassandraSource, bool) { return nil, false } -// AsMongoDbV2CollectionDataset is the BasicDataset implementation for OracleTableDataset. -func (otd OracleTableDataset) AsMongoDbV2CollectionDataset() (*MongoDbV2CollectionDataset, bool) { +// AsTeradataSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsTeradataSource() (*TeradataSource, bool) { return nil, false } -// AsMongoDbCollectionDataset is the BasicDataset implementation for OracleTableDataset. -func (otd OracleTableDataset) AsMongoDbCollectionDataset() (*MongoDbCollectionDataset, bool) { +// AsAzureMySQLSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { return nil, false } -// AsFileShareDataset is the BasicDataset implementation for OracleTableDataset. -func (otd OracleTableDataset) AsFileShareDataset() (*FileShareDataset, bool) { +// AsSQLDWSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsSQLDWSource() (*SQLDWSource, bool) { return nil, false } -// AsOffice365Dataset is the BasicDataset implementation for OracleTableDataset. -func (otd OracleTableDataset) AsOffice365Dataset() (*Office365Dataset, bool) { +// AsSQLMISource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsSQLMISource() (*SQLMISource, bool) { return nil, false } -// AsAzureBlobFSDataset is the BasicDataset implementation for OracleTableDataset. -func (otd OracleTableDataset) AsAzureBlobFSDataset() (*AzureBlobFSDataset, bool) { +// AsAzureSQLSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsAzureSQLSource() (*AzureSQLSource, bool) { return nil, false } -// AsAzureDataLakeStoreDataset is the BasicDataset implementation for OracleTableDataset. -func (otd OracleTableDataset) AsAzureDataLakeStoreDataset() (*AzureDataLakeStoreDataset, bool) { +// AsSQLServerSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsSQLServerSource() (*SQLServerSource, bool) { return nil, false } -// AsCommonDataServiceForAppsEntityDataset is the BasicDataset implementation for OracleTableDataset. -func (otd OracleTableDataset) AsCommonDataServiceForAppsEntityDataset() (*CommonDataServiceForAppsEntityDataset, bool) { +// AsSQLSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsSQLSource() (*SQLSource, bool) { return nil, false } -// AsDynamicsCrmEntityDataset is the BasicDataset implementation for OracleTableDataset. -func (otd OracleTableDataset) AsDynamicsCrmEntityDataset() (*DynamicsCrmEntityDataset, bool) { +// AsSapTableSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsSapTableSource() (*SapTableSource, bool) { return nil, false } -// AsDynamicsEntityDataset is the BasicDataset implementation for OracleTableDataset. -func (otd OracleTableDataset) AsDynamicsEntityDataset() (*DynamicsEntityDataset, bool) { +// AsSapOpenHubSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { return nil, false } -// AsDocumentDbCollectionDataset is the BasicDataset implementation for OracleTableDataset. -func (otd OracleTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionDataset, bool) { +// AsSapHanaSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsSapHanaSource() (*SapHanaSource, bool) { return nil, false } -// AsCustomDataset is the BasicDataset implementation for OracleTableDataset. -func (otd OracleTableDataset) AsCustomDataset() (*CustomDataset, bool) { +// AsSapEccSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsSapEccSource() (*SapEccSource, bool) { return nil, false } -// AsCassandraTableDataset is the BasicDataset implementation for OracleTableDataset. -func (otd OracleTableDataset) AsCassandraTableDataset() (*CassandraTableDataset, bool) { +// AsSapCloudForCustomerSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { return nil, false } -// AsAzureSQLDWTableDataset is the BasicDataset implementation for OracleTableDataset. -func (otd OracleTableDataset) AsAzureSQLDWTableDataset() (*AzureSQLDWTableDataset, bool) { +// AsSalesforceSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsSalesforceSource() (*SalesforceSource, bool) { return nil, false } -// AsAzureSQLMITableDataset is the BasicDataset implementation for OracleTableDataset. -func (otd OracleTableDataset) AsAzureSQLMITableDataset() (*AzureSQLMITableDataset, bool) { +// AsSapBwSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsSapBwSource() (*SapBwSource, bool) { return nil, false } -// AsAzureSQLTableDataset is the BasicDataset implementation for OracleTableDataset. -func (otd OracleTableDataset) AsAzureSQLTableDataset() (*AzureSQLTableDataset, bool) { +// AsSybaseSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsSybaseSource() (*SybaseSource, bool) { return nil, false } -// AsAzureTableDataset is the BasicDataset implementation for OracleTableDataset. -func (otd OracleTableDataset) AsAzureTableDataset() (*AzureTableDataset, bool) { +// AsPostgreSQLSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { return nil, false } -// AsAzureBlobDataset is the BasicDataset implementation for OracleTableDataset. -func (otd OracleTableDataset) AsAzureBlobDataset() (*AzureBlobDataset, bool) { +// AsMySQLSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsMySQLSource() (*MySQLSource, bool) { return nil, false } -// AsBinaryDataset is the BasicDataset implementation for OracleTableDataset. -func (otd OracleTableDataset) AsBinaryDataset() (*BinaryDataset, bool) { +// AsOdbcSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsOdbcSource() (*OdbcSource, bool) { return nil, false } -// AsDelimitedTextDataset is the BasicDataset implementation for OracleTableDataset. -func (otd OracleTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { +// AsDb2Source is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsDb2Source() (*Db2Source, bool) { return nil, false } -// AsParquetDataset is the BasicDataset implementation for OracleTableDataset. -func (otd OracleTableDataset) AsParquetDataset() (*ParquetDataset, bool) { +// AsInformixSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsInformixSource() (*InformixSource, bool) { return nil, false } -// AsAvroDataset is the BasicDataset implementation for OracleTableDataset. -func (otd OracleTableDataset) AsAvroDataset() (*AvroDataset, bool) { +// AsAzureTableSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsAzureTableSource() (*AzureTableSource, bool) { return nil, false } -// AsAmazonS3Dataset is the BasicDataset implementation for OracleTableDataset. -func (otd OracleTableDataset) AsAmazonS3Dataset() (*AmazonS3Dataset, bool) { +// AsTabularSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsTabularSource() (*TabularSource, bool) { return nil, false } -// AsDataset is the BasicDataset implementation for OracleTableDataset. -func (otd OracleTableDataset) AsDataset() (*Dataset, bool) { +// AsBasicTabularSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsBasicTabularSource() (BasicTabularSource, bool) { return nil, false } -// AsBasicDataset is the BasicDataset implementation for OracleTableDataset. -func (otd OracleTableDataset) AsBasicDataset() (BasicDataset, bool) { - return &otd, true -} - -// UnmarshalJSON is the custom unmarshaler for OracleTableDataset struct. -func (otd *OracleTableDataset) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - case "typeProperties": - if v != nil { - var oracleTableDatasetTypeProperties OracleTableDatasetTypeProperties - err = json.Unmarshal(*v, &oracleTableDatasetTypeProperties) - if err != nil { - return err - } - otd.OracleTableDatasetTypeProperties = &oracleTableDatasetTypeProperties - } - default: - if v != nil { - var additionalProperties interface{} - err = json.Unmarshal(*v, &additionalProperties) - if err != nil { - return err - } - if otd.AdditionalProperties == nil { - otd.AdditionalProperties = make(map[string]interface{}) - } - otd.AdditionalProperties[k] = additionalProperties - } - case "description": - if v != nil { - var description string - err = json.Unmarshal(*v, &description) - if err != nil { - return err - } - otd.Description = &description - } - case "structure": - if v != nil { - var structure interface{} - err = json.Unmarshal(*v, &structure) - if err != nil { - return err - } - otd.Structure = structure - } - case "schema": - if v != nil { - var schema interface{} - err = json.Unmarshal(*v, &schema) - if err != nil { - return err - } - otd.Schema = schema - } - case "linkedServiceName": - if v != nil { - var linkedServiceName LinkedServiceReference - err = json.Unmarshal(*v, &linkedServiceName) - if err != nil { - return err - } - otd.LinkedServiceName = &linkedServiceName - } - case "parameters": - if v != nil { - var parameters map[string]*ParameterSpecification - err = json.Unmarshal(*v, ¶meters) - if err != nil { - return err - } - otd.Parameters = parameters - } - case "annotations": - if v != nil { - var annotations []interface{} - err = json.Unmarshal(*v, &annotations) - if err != nil { - return err - } - otd.Annotations = &annotations - } - case "folder": - if v != nil { - var folder DatasetFolder - err = json.Unmarshal(*v, &folder) - if err != nil { - return err - } - otd.Folder = &folder - } - case "type": - if v != nil { - var typeVar TypeBasicDataset - err = json.Unmarshal(*v, &typeVar) - if err != nil { - return err - } - otd.Type = typeVar - } - } - } - - return nil -} - -// OracleTableDatasetTypeProperties on-premises Oracle dataset properties. -type OracleTableDatasetTypeProperties struct { - // TableName - This property will be retired. Please consider using schema + table properties instead. - TableName interface{} `json:"tableName,omitempty"` - // Schema - The schema name of the on-premises Oracle database. Type: string (or Expression with resultType string). - Schema interface{} `json:"schema,omitempty"` - // Table - The table name of the on-premises Oracle database. Type: string (or Expression with resultType string). - Table interface{} `json:"table,omitempty"` -} - -// OrcFormat the data stored in Optimized Row Columnar (ORC) format. -type OrcFormat struct { - // AdditionalProperties - Unmatched properties from the message are deserialized this collection - AdditionalProperties map[string]interface{} `json:""` - // Serializer - Serializer. Type: string (or Expression with resultType string). - Serializer interface{} `json:"serializer,omitempty"` - // Deserializer - Deserializer. Type: string (or Expression with resultType string). - Deserializer interface{} `json:"deserializer,omitempty"` - // Type - Possible values include: 'TypeDatasetStorageFormat', 'TypeParquetFormat', 'TypeOrcFormat', 'TypeAvroFormat', 'TypeJSONFormat', 'TypeTextFormat' - Type TypeBasicDatasetStorageFormat `json:"type,omitempty"` +// AsBinarySource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsBinarySource() (*BinarySource, bool) { + return nil, false } -// MarshalJSON is the custom marshaler for OrcFormat. -func (of OrcFormat) MarshalJSON() ([]byte, error) { - of.Type = TypeOrcFormat - objectMap := make(map[string]interface{}) - if of.Serializer != nil { - objectMap["serializer"] = of.Serializer - } - if of.Deserializer != nil { - objectMap["deserializer"] = of.Deserializer - } - if of.Type != "" { - objectMap["type"] = of.Type - } - for k, v := range of.AdditionalProperties { - objectMap[k] = v - } - return json.Marshal(objectMap) +// AsOrcSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsOrcSource() (*OrcSource, bool) { + return &osVar, true } -// AsParquetFormat is the BasicDatasetStorageFormat implementation for OrcFormat. -func (of OrcFormat) AsParquetFormat() (*ParquetFormat, bool) { +// AsJSONSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsJSONSource() (*JSONSource, bool) { return nil, false } -// AsOrcFormat is the BasicDatasetStorageFormat implementation for OrcFormat. -func (of OrcFormat) AsOrcFormat() (*OrcFormat, bool) { - return &of, true -} - -// AsAvroFormat is the BasicDatasetStorageFormat implementation for OrcFormat. -func (of OrcFormat) AsAvroFormat() (*AvroFormat, bool) { +// AsDelimitedTextSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { return nil, false } -// AsJSONFormat is the BasicDatasetStorageFormat implementation for OrcFormat. -func (of OrcFormat) AsJSONFormat() (*JSONFormat, bool) { +// AsParquetSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsParquetSource() (*ParquetSource, bool) { return nil, false } -// AsTextFormat is the BasicDatasetStorageFormat implementation for OrcFormat. -func (of OrcFormat) AsTextFormat() (*TextFormat, bool) { +// AsAvroSource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsAvroSource() (*AvroSource, bool) { return nil, false } -// AsDatasetStorageFormat is the BasicDatasetStorageFormat implementation for OrcFormat. -func (of OrcFormat) AsDatasetStorageFormat() (*DatasetStorageFormat, bool) { +// AsCopySource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsCopySource() (*CopySource, bool) { return nil, false } -// AsBasicDatasetStorageFormat is the BasicDatasetStorageFormat implementation for OrcFormat. -func (of OrcFormat) AsBasicDatasetStorageFormat() (BasicDatasetStorageFormat, bool) { - return &of, true +// AsBasicCopySource is the BasicCopySource implementation for OrcSource. +func (osVar OrcSource) AsBasicCopySource() (BasicCopySource, bool) { + return &osVar, true } -// UnmarshalJSON is the custom unmarshaler for OrcFormat struct. -func (of *OrcFormat) UnmarshalJSON(body []byte) error { +// UnmarshalJSON is the custom unmarshaler for OrcSource struct. +func (osVar *OrcSource) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -133788,6 +150875,15 @@ func (of *OrcFormat) UnmarshalJSON(body []byte) error { } for k, v := range m { switch k { + case "storeSettings": + if v != nil { + var storeSettings StoreReadSettings + err = json.Unmarshal(*v, &storeSettings) + if err != nil { + return err + } + osVar.StoreSettings = &storeSettings + } default: if v != nil { var additionalProperties interface{} @@ -133795,37 +150891,46 @@ func (of *OrcFormat) UnmarshalJSON(body []byte) error { if err != nil { return err } - if of.AdditionalProperties == nil { - of.AdditionalProperties = make(map[string]interface{}) + if osVar.AdditionalProperties == nil { + osVar.AdditionalProperties = make(map[string]interface{}) } - of.AdditionalProperties[k] = additionalProperties + osVar.AdditionalProperties[k] = additionalProperties } - case "serializer": + case "sourceRetryCount": if v != nil { - var serializer interface{} - err = json.Unmarshal(*v, &serializer) + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) if err != nil { return err } - of.Serializer = serializer + osVar.SourceRetryCount = sourceRetryCount } - case "deserializer": + case "sourceRetryWait": if v != nil { - var deserializer interface{} - err = json.Unmarshal(*v, &deserializer) + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) if err != nil { return err } - of.Deserializer = deserializer + osVar.SourceRetryWait = sourceRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + osVar.MaxConcurrentConnections = maxConcurrentConnections } case "type": if v != nil { - var typeVar TypeBasicDatasetStorageFormat + var typeVar TypeBasicCopySource err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - of.Type = typeVar + osVar.Type = typeVar } } } @@ -133861,7 +150966,7 @@ type ParquetDataset struct { Annotations *[]interface{} `json:"annotations,omitempty"` // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. Folder *DatasetFolder `json:"folder,omitempty"` - // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' + // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' Type TypeBasicDataset `json:"type,omitempty"` } @@ -134177,6 +151282,16 @@ func (pd ParquetDataset) AsRelationalTableDataset() (*RelationalTableDataset, bo return nil, false } +// AsDb2TableDataset is the BasicDataset implementation for ParquetDataset. +func (pd ParquetDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for ParquetDataset. +func (pd ParquetDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + // AsAzureMySQLTableDataset is the BasicDataset implementation for ParquetDataset. func (pd ParquetDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { return nil, false @@ -134252,6 +151367,11 @@ func (pd ParquetDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectionD return nil, false } +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for ParquetDataset. +func (pd ParquetDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + // AsCustomDataset is the BasicDataset implementation for ParquetDataset. func (pd ParquetDataset) AsCustomDataset() (*CustomDataset, bool) { return nil, false @@ -134292,6 +151412,16 @@ func (pd ParquetDataset) AsBinaryDataset() (*BinaryDataset, bool) { return nil, false } +// AsOrcDataset is the BasicDataset implementation for ParquetDataset. +func (pd ParquetDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for ParquetDataset. +func (pd ParquetDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + // AsDelimitedTextDataset is the BasicDataset implementation for ParquetDataset. func (pd ParquetDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { return nil, false @@ -134560,7 +151690,7 @@ func (pf *ParquetFormat) UnmarshalJSON(body []byte) error { // ParquetSink a copy activity Parquet sink. type ParquetSink struct { // StoreSettings - Parquet store settings. - StoreSettings *StoreWriteSettings `json:"storeSettings,omitempty"` + StoreSettings BasicStoreWriteSettings `json:"storeSettings,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` // WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0. @@ -134573,7 +151703,7 @@ type ParquetSink struct { SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"` // MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAvroSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzurePostgreSQLSink', 'TypeDelimitedTextSink' + // Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeCosmosDbSQLAPISink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAvroSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzureMySQLSink', 'TypeAzurePostgreSQLSink', 'TypeOrcSink', 'TypeJSONSink', 'TypeDelimitedTextSink' Type TypeBasicCopySink `json:"type,omitempty"` } @@ -134581,9 +151711,7 @@ type ParquetSink struct { func (ps ParquetSink) MarshalJSON() ([]byte, error) { ps.Type = TypeParquetSink objectMap := make(map[string]interface{}) - if ps.StoreSettings != nil { - objectMap["storeSettings"] = ps.StoreSettings - } + objectMap["storeSettings"] = ps.StoreSettings if ps.WriteBatchSize != nil { objectMap["writeBatchSize"] = ps.WriteBatchSize } @@ -134703,6 +151831,11 @@ func (ps ParquetSink) AsSQLSink() (*SQLSink, bool) { return nil, false } +// AsCosmosDbSQLAPISink is the BasicCopySink implementation for ParquetSink. +func (ps ParquetSink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) { + return nil, false +} + // AsDocumentDbCollectionSink is the BasicCopySink implementation for ParquetSink. func (ps ParquetSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) { return nil, false @@ -134748,11 +151881,26 @@ func (ps ParquetSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, boo return nil, false } +// AsAzureMySQLSink is the BasicCopySink implementation for ParquetSink. +func (ps ParquetSink) AsAzureMySQLSink() (*AzureMySQLSink, bool) { + return nil, false +} + // AsAzurePostgreSQLSink is the BasicCopySink implementation for ParquetSink. func (ps ParquetSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) { return nil, false } +// AsOrcSink is the BasicCopySink implementation for ParquetSink. +func (ps ParquetSink) AsOrcSink() (*OrcSink, bool) { + return nil, false +} + +// AsJSONSink is the BasicCopySink implementation for ParquetSink. +func (ps ParquetSink) AsJSONSink() (*JSONSink, bool) { + return nil, false +} + // AsDelimitedTextSink is the BasicCopySink implementation for ParquetSink. func (ps ParquetSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) { return nil, false @@ -134779,12 +151927,11 @@ func (ps *ParquetSink) UnmarshalJSON(body []byte) error { switch k { case "storeSettings": if v != nil { - var storeSettings StoreWriteSettings - err = json.Unmarshal(*v, &storeSettings) + storeSettings, err := unmarshalBasicStoreWriteSettings(*v) if err != nil { return err } - ps.StoreSettings = &storeSettings + ps.StoreSettings = storeSettings } default: if v != nil { @@ -134870,7 +152017,7 @@ type ParquetSource struct { SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' + // Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' Type TypeBasicCopySource `json:"type,omitempty"` } @@ -134899,6 +152046,121 @@ func (ps ParquetSource) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } +// AsHTTPSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + // AsAmazonRedshiftSource is the BasicCopySource implementation for ParquetSource. func (ps ParquetSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { return nil, false @@ -135074,81 +152336,21 @@ func (ps ParquetSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { return nil, false } -// AsHTTPSource is the BasicCopySource implementation for ParquetSource. -func (ps ParquetSource) AsHTTPSource() (*HTTPSource, bool) { - return nil, false -} - -// AsAzureBlobFSSource is the BasicCopySource implementation for ParquetSource. -func (ps ParquetSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { - return nil, false -} - -// AsAzureDataLakeStoreSource is the BasicCopySource implementation for ParquetSource. -func (ps ParquetSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { - return nil, false -} - -// AsOffice365Source is the BasicCopySource implementation for ParquetSource. -func (ps ParquetSource) AsOffice365Source() (*Office365Source, bool) { - return nil, false -} - -// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for ParquetSource. -func (ps ParquetSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { - return nil, false -} - -// AsMongoDbV2Source is the BasicCopySource implementation for ParquetSource. -func (ps ParquetSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { - return nil, false -} - -// AsMongoDbSource is the BasicCopySource implementation for ParquetSource. -func (ps ParquetSource) AsMongoDbSource() (*MongoDbSource, bool) { - return nil, false -} - // AsCassandraSource is the BasicCopySource implementation for ParquetSource. func (ps ParquetSource) AsCassandraSource() (*CassandraSource, bool) { return nil, false } -// AsWebSource is the BasicCopySource implementation for ParquetSource. -func (ps ParquetSource) AsWebSource() (*WebSource, bool) { - return nil, false -} - // AsTeradataSource is the BasicCopySource implementation for ParquetSource. func (ps ParquetSource) AsTeradataSource() (*TeradataSource, bool) { return nil, false } -// AsOracleSource is the BasicCopySource implementation for ParquetSource. -func (ps ParquetSource) AsOracleSource() (*OracleSource, bool) { - return nil, false -} - -// AsAzureDataExplorerSource is the BasicCopySource implementation for ParquetSource. -func (ps ParquetSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { - return nil, false -} - // AsAzureMySQLSource is the BasicCopySource implementation for ParquetSource. func (ps ParquetSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { return nil, false } -// AsHdfsSource is the BasicCopySource implementation for ParquetSource. -func (ps ParquetSource) AsHdfsSource() (*HdfsSource, bool) { - return nil, false -} - -// AsFileSystemSource is the BasicCopySource implementation for ParquetSource. -func (ps ParquetSource) AsFileSystemSource() (*FileSystemSource, bool) { - return nil, false -} - // AsSQLDWSource is the BasicCopySource implementation for ParquetSource. func (ps ParquetSource) AsSQLDWSource() (*SQLDWSource, bool) { return nil, false @@ -135174,11 +152376,6 @@ func (ps ParquetSource) AsSQLSource() (*SQLSource, bool) { return nil, false } -// AsRestSource is the BasicCopySource implementation for ParquetSource. -func (ps ParquetSource) AsRestSource() (*RestSource, bool) { - return nil, false -} - // AsSapTableSource is the BasicCopySource implementation for ParquetSource. func (ps ParquetSource) AsSapTableSource() (*SapTableSource, bool) { return nil, false @@ -135204,21 +152401,11 @@ func (ps ParquetSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSourc return nil, false } -// AsSalesforceServiceCloudSource is the BasicCopySource implementation for ParquetSource. -func (ps ParquetSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { - return nil, false -} - // AsSalesforceSource is the BasicCopySource implementation for ParquetSource. func (ps ParquetSource) AsSalesforceSource() (*SalesforceSource, bool) { return nil, false } -// AsODataSource is the BasicCopySource implementation for ParquetSource. -func (ps ParquetSource) AsODataSource() (*ODataSource, bool) { - return nil, false -} - // AsSapBwSource is the BasicCopySource implementation for ParquetSource. func (ps ParquetSource) AsSapBwSource() (*SapBwSource, bool) { return nil, false @@ -135249,53 +152436,38 @@ func (ps ParquetSource) AsDb2Source() (*Db2Source, bool) { return nil, false } -// AsMicrosoftAccessSource is the BasicCopySource implementation for ParquetSource. -func (ps ParquetSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { - return nil, false -} - // AsInformixSource is the BasicCopySource implementation for ParquetSource. func (ps ParquetSource) AsInformixSource() (*InformixSource, bool) { return nil, false } -// AsRelationalSource is the BasicCopySource implementation for ParquetSource. -func (ps ParquetSource) AsRelationalSource() (*RelationalSource, bool) { - return nil, false -} - -// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for ParquetSource. -func (ps ParquetSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { - return nil, false -} - -// AsDynamicsCrmSource is the BasicCopySource implementation for ParquetSource. -func (ps ParquetSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { +// AsAzureTableSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsAzureTableSource() (*AzureTableSource, bool) { return nil, false } -// AsDynamicsSource is the BasicCopySource implementation for ParquetSource. -func (ps ParquetSource) AsDynamicsSource() (*DynamicsSource, bool) { +// AsTabularSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsTabularSource() (*TabularSource, bool) { return nil, false } -// AsDocumentDbCollectionSource is the BasicCopySource implementation for ParquetSource. -func (ps ParquetSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { +// AsBasicTabularSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsBasicTabularSource() (BasicTabularSource, bool) { return nil, false } -// AsBlobSource is the BasicCopySource implementation for ParquetSource. -func (ps ParquetSource) AsBlobSource() (*BlobSource, bool) { +// AsBinarySource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsBinarySource() (*BinarySource, bool) { return nil, false } -// AsAzureTableSource is the BasicCopySource implementation for ParquetSource. -func (ps ParquetSource) AsAzureTableSource() (*AzureTableSource, bool) { +// AsOrcSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsOrcSource() (*OrcSource, bool) { return nil, false } -// AsBinarySource is the BasicCopySource implementation for ParquetSource. -func (ps ParquetSource) AsBinarySource() (*BinarySource, bool) { +// AsJSONSource is the BasicCopySource implementation for ParquetSource. +func (ps ParquetSource) AsJSONSource() (*JSONSource, bool) { return nil, false } @@ -135410,7 +152582,7 @@ type PaypalLinkedService struct { Parameters map[string]*ParameterSpecification `json:"parameters"` // Annotations - List of tags that can be used for describing the linked service. Annotations *[]interface{} `json:"annotations,omitempty"` - // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' + // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' Type TypeBasicLinkedService `json:"type,omitempty"` } @@ -135782,6 +152954,11 @@ func (pls PaypalLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) return nil, false } +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for PaypalLinkedService. +func (pls PaypalLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + // AsAzureMLLinkedService is the BasicLinkedService implementation for PaypalLinkedService. func (pls PaypalLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { return nil, false @@ -135822,6 +152999,16 @@ func (pls PaypalLinkedService) AsOracleLinkedService() (*OracleLinkedService, bo return nil, false } +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for PaypalLinkedService. +func (pls PaypalLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for PaypalLinkedService. +func (pls PaypalLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + // AsFileServerLinkedService is the BasicLinkedService implementation for PaypalLinkedService. func (pls PaypalLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { return nil, false @@ -136103,7 +153290,7 @@ type PaypalObjectDataset struct { Annotations *[]interface{} `json:"annotations,omitempty"` // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. Folder *DatasetFolder `json:"folder,omitempty"` - // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' + // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' Type TypeBasicDataset `json:"type,omitempty"` } @@ -136419,6 +153606,16 @@ func (pod PaypalObjectDataset) AsRelationalTableDataset() (*RelationalTableDatas return nil, false } +// AsDb2TableDataset is the BasicDataset implementation for PaypalObjectDataset. +func (pod PaypalObjectDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for PaypalObjectDataset. +func (pod PaypalObjectDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + // AsAzureMySQLTableDataset is the BasicDataset implementation for PaypalObjectDataset. func (pod PaypalObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { return nil, false @@ -136494,6 +153691,11 @@ func (pod PaypalObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbColle return nil, false } +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for PaypalObjectDataset. +func (pod PaypalObjectDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + // AsCustomDataset is the BasicDataset implementation for PaypalObjectDataset. func (pod PaypalObjectDataset) AsCustomDataset() (*CustomDataset, bool) { return nil, false @@ -136534,6 +153736,16 @@ func (pod PaypalObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) { return nil, false } +// AsOrcDataset is the BasicDataset implementation for PaypalObjectDataset. +func (pod PaypalObjectDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for PaypalObjectDataset. +func (pod PaypalObjectDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + // AsDelimitedTextDataset is the BasicDataset implementation for PaypalObjectDataset. func (pod PaypalObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { return nil, false @@ -136676,6 +153888,8 @@ func (pod *PaypalObjectDataset) UnmarshalJSON(body []byte) error { type PaypalSource struct { // Query - A query to retrieve data from source. Type: string (or Expression with resultType string). Query interface{} `json:"query,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). @@ -136684,7 +153898,7 @@ type PaypalSource struct { SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' + // Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' Type TypeBasicCopySource `json:"type,omitempty"` } @@ -136695,6 +153909,9 @@ func (ps PaypalSource) MarshalJSON() ([]byte, error) { if ps.Query != nil { objectMap["query"] = ps.Query } + if ps.QueryTimeout != nil { + objectMap["queryTimeout"] = ps.QueryTimeout + } if ps.SourceRetryCount != nil { objectMap["sourceRetryCount"] = ps.SourceRetryCount } @@ -136713,6 +153930,121 @@ func (ps PaypalSource) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } +// AsHTTPSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + // AsAmazonRedshiftSource is the BasicCopySource implementation for PaypalSource. func (ps PaypalSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { return nil, false @@ -136888,81 +154220,21 @@ func (ps PaypalSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { return nil, false } -// AsHTTPSource is the BasicCopySource implementation for PaypalSource. -func (ps PaypalSource) AsHTTPSource() (*HTTPSource, bool) { - return nil, false -} - -// AsAzureBlobFSSource is the BasicCopySource implementation for PaypalSource. -func (ps PaypalSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { - return nil, false -} - -// AsAzureDataLakeStoreSource is the BasicCopySource implementation for PaypalSource. -func (ps PaypalSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { - return nil, false -} - -// AsOffice365Source is the BasicCopySource implementation for PaypalSource. -func (ps PaypalSource) AsOffice365Source() (*Office365Source, bool) { - return nil, false -} - -// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for PaypalSource. -func (ps PaypalSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { - return nil, false -} - -// AsMongoDbV2Source is the BasicCopySource implementation for PaypalSource. -func (ps PaypalSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { - return nil, false -} - -// AsMongoDbSource is the BasicCopySource implementation for PaypalSource. -func (ps PaypalSource) AsMongoDbSource() (*MongoDbSource, bool) { - return nil, false -} - // AsCassandraSource is the BasicCopySource implementation for PaypalSource. func (ps PaypalSource) AsCassandraSource() (*CassandraSource, bool) { return nil, false } -// AsWebSource is the BasicCopySource implementation for PaypalSource. -func (ps PaypalSource) AsWebSource() (*WebSource, bool) { - return nil, false -} - // AsTeradataSource is the BasicCopySource implementation for PaypalSource. func (ps PaypalSource) AsTeradataSource() (*TeradataSource, bool) { return nil, false } -// AsOracleSource is the BasicCopySource implementation for PaypalSource. -func (ps PaypalSource) AsOracleSource() (*OracleSource, bool) { - return nil, false -} - -// AsAzureDataExplorerSource is the BasicCopySource implementation for PaypalSource. -func (ps PaypalSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { - return nil, false -} - // AsAzureMySQLSource is the BasicCopySource implementation for PaypalSource. func (ps PaypalSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { return nil, false } -// AsHdfsSource is the BasicCopySource implementation for PaypalSource. -func (ps PaypalSource) AsHdfsSource() (*HdfsSource, bool) { - return nil, false -} - -// AsFileSystemSource is the BasicCopySource implementation for PaypalSource. -func (ps PaypalSource) AsFileSystemSource() (*FileSystemSource, bool) { - return nil, false -} - // AsSQLDWSource is the BasicCopySource implementation for PaypalSource. func (ps PaypalSource) AsSQLDWSource() (*SQLDWSource, bool) { return nil, false @@ -136988,11 +154260,6 @@ func (ps PaypalSource) AsSQLSource() (*SQLSource, bool) { return nil, false } -// AsRestSource is the BasicCopySource implementation for PaypalSource. -func (ps PaypalSource) AsRestSource() (*RestSource, bool) { - return nil, false -} - // AsSapTableSource is the BasicCopySource implementation for PaypalSource. func (ps PaypalSource) AsSapTableSource() (*SapTableSource, bool) { return nil, false @@ -137018,21 +154285,11 @@ func (ps PaypalSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource return nil, false } -// AsSalesforceServiceCloudSource is the BasicCopySource implementation for PaypalSource. -func (ps PaypalSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { - return nil, false -} - // AsSalesforceSource is the BasicCopySource implementation for PaypalSource. func (ps PaypalSource) AsSalesforceSource() (*SalesforceSource, bool) { return nil, false } -// AsODataSource is the BasicCopySource implementation for PaypalSource. -func (ps PaypalSource) AsODataSource() (*ODataSource, bool) { - return nil, false -} - // AsSapBwSource is the BasicCopySource implementation for PaypalSource. func (ps PaypalSource) AsSapBwSource() (*SapBwSource, bool) { return nil, false @@ -137063,53 +154320,38 @@ func (ps PaypalSource) AsDb2Source() (*Db2Source, bool) { return nil, false } -// AsMicrosoftAccessSource is the BasicCopySource implementation for PaypalSource. -func (ps PaypalSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { - return nil, false -} - // AsInformixSource is the BasicCopySource implementation for PaypalSource. func (ps PaypalSource) AsInformixSource() (*InformixSource, bool) { return nil, false } -// AsRelationalSource is the BasicCopySource implementation for PaypalSource. -func (ps PaypalSource) AsRelationalSource() (*RelationalSource, bool) { - return nil, false -} - -// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for PaypalSource. -func (ps PaypalSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { - return nil, false -} - -// AsDynamicsCrmSource is the BasicCopySource implementation for PaypalSource. -func (ps PaypalSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { +// AsAzureTableSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsAzureTableSource() (*AzureTableSource, bool) { return nil, false } -// AsDynamicsSource is the BasicCopySource implementation for PaypalSource. -func (ps PaypalSource) AsDynamicsSource() (*DynamicsSource, bool) { +// AsTabularSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsTabularSource() (*TabularSource, bool) { return nil, false } -// AsDocumentDbCollectionSource is the BasicCopySource implementation for PaypalSource. -func (ps PaypalSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { - return nil, false +// AsBasicTabularSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &ps, true } -// AsBlobSource is the BasicCopySource implementation for PaypalSource. -func (ps PaypalSource) AsBlobSource() (*BlobSource, bool) { +// AsBinarySource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsBinarySource() (*BinarySource, bool) { return nil, false } -// AsAzureTableSource is the BasicCopySource implementation for PaypalSource. -func (ps PaypalSource) AsAzureTableSource() (*AzureTableSource, bool) { +// AsOrcSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsOrcSource() (*OrcSource, bool) { return nil, false } -// AsBinarySource is the BasicCopySource implementation for PaypalSource. -func (ps PaypalSource) AsBinarySource() (*BinarySource, bool) { +// AsJSONSource is the BasicCopySource implementation for PaypalSource. +func (ps PaypalSource) AsJSONSource() (*JSONSource, bool) { return nil, false } @@ -137156,6 +154398,15 @@ func (ps *PaypalSource) UnmarshalJSON(body []byte) error { } ps.Query = query } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + ps.QueryTimeout = queryTimeout + } default: if v != nil { var additionalProperties interface{} @@ -137234,7 +154485,7 @@ type PhoenixLinkedService struct { Parameters map[string]*ParameterSpecification `json:"parameters"` // Annotations - List of tags that can be used for describing the linked service. Annotations *[]interface{} `json:"annotations,omitempty"` - // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' + // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' Type TypeBasicLinkedService `json:"type,omitempty"` } @@ -137606,6 +154857,11 @@ func (pls PhoenixLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) return nil, false } +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for PhoenixLinkedService. +func (pls PhoenixLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + // AsAzureMLLinkedService is the BasicLinkedService implementation for PhoenixLinkedService. func (pls PhoenixLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { return nil, false @@ -137646,6 +154902,16 @@ func (pls PhoenixLinkedService) AsOracleLinkedService() (*OracleLinkedService, b return nil, false } +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for PhoenixLinkedService. +func (pls PhoenixLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for PhoenixLinkedService. +func (pls PhoenixLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + // AsFileServerLinkedService is the BasicLinkedService implementation for PhoenixLinkedService. func (pls PhoenixLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { return nil, false @@ -137982,7 +155248,7 @@ type PhoenixObjectDataset struct { Annotations *[]interface{} `json:"annotations,omitempty"` // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. Folder *DatasetFolder `json:"folder,omitempty"` - // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' + // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' Type TypeBasicDataset `json:"type,omitempty"` } @@ -138298,6 +155564,16 @@ func (pod PhoenixObjectDataset) AsRelationalTableDataset() (*RelationalTableData return nil, false } +// AsDb2TableDataset is the BasicDataset implementation for PhoenixObjectDataset. +func (pod PhoenixObjectDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for PhoenixObjectDataset. +func (pod PhoenixObjectDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + // AsAzureMySQLTableDataset is the BasicDataset implementation for PhoenixObjectDataset. func (pod PhoenixObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { return nil, false @@ -138373,6 +155649,11 @@ func (pod PhoenixObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbColl return nil, false } +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for PhoenixObjectDataset. +func (pod PhoenixObjectDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + // AsCustomDataset is the BasicDataset implementation for PhoenixObjectDataset. func (pod PhoenixObjectDataset) AsCustomDataset() (*CustomDataset, bool) { return nil, false @@ -138413,6 +155694,16 @@ func (pod PhoenixObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) { return nil, false } +// AsOrcDataset is the BasicDataset implementation for PhoenixObjectDataset. +func (pod PhoenixObjectDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for PhoenixObjectDataset. +func (pod PhoenixObjectDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + // AsDelimitedTextDataset is the BasicDataset implementation for PhoenixObjectDataset. func (pod PhoenixObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { return nil, false @@ -138555,6 +155846,8 @@ func (pod *PhoenixObjectDataset) UnmarshalJSON(body []byte) error { type PhoenixSource struct { // Query - A query to retrieve data from source. Type: string (or Expression with resultType string). Query interface{} `json:"query,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). @@ -138563,7 +155856,7 @@ type PhoenixSource struct { SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' + // Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' Type TypeBasicCopySource `json:"type,omitempty"` } @@ -138574,6 +155867,9 @@ func (ps PhoenixSource) MarshalJSON() ([]byte, error) { if ps.Query != nil { objectMap["query"] = ps.Query } + if ps.QueryTimeout != nil { + objectMap["queryTimeout"] = ps.QueryTimeout + } if ps.SourceRetryCount != nil { objectMap["sourceRetryCount"] = ps.SourceRetryCount } @@ -138592,6 +155888,121 @@ func (ps PhoenixSource) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } +// AsHTTPSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + // AsAmazonRedshiftSource is the BasicCopySource implementation for PhoenixSource. func (ps PhoenixSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { return nil, false @@ -138767,81 +156178,21 @@ func (ps PhoenixSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { return nil, false } -// AsHTTPSource is the BasicCopySource implementation for PhoenixSource. -func (ps PhoenixSource) AsHTTPSource() (*HTTPSource, bool) { - return nil, false -} - -// AsAzureBlobFSSource is the BasicCopySource implementation for PhoenixSource. -func (ps PhoenixSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { - return nil, false -} - -// AsAzureDataLakeStoreSource is the BasicCopySource implementation for PhoenixSource. -func (ps PhoenixSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { - return nil, false -} - -// AsOffice365Source is the BasicCopySource implementation for PhoenixSource. -func (ps PhoenixSource) AsOffice365Source() (*Office365Source, bool) { - return nil, false -} - -// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for PhoenixSource. -func (ps PhoenixSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { - return nil, false -} - -// AsMongoDbV2Source is the BasicCopySource implementation for PhoenixSource. -func (ps PhoenixSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { - return nil, false -} - -// AsMongoDbSource is the BasicCopySource implementation for PhoenixSource. -func (ps PhoenixSource) AsMongoDbSource() (*MongoDbSource, bool) { - return nil, false -} - // AsCassandraSource is the BasicCopySource implementation for PhoenixSource. func (ps PhoenixSource) AsCassandraSource() (*CassandraSource, bool) { return nil, false } -// AsWebSource is the BasicCopySource implementation for PhoenixSource. -func (ps PhoenixSource) AsWebSource() (*WebSource, bool) { - return nil, false -} - // AsTeradataSource is the BasicCopySource implementation for PhoenixSource. func (ps PhoenixSource) AsTeradataSource() (*TeradataSource, bool) { return nil, false } -// AsOracleSource is the BasicCopySource implementation for PhoenixSource. -func (ps PhoenixSource) AsOracleSource() (*OracleSource, bool) { - return nil, false -} - -// AsAzureDataExplorerSource is the BasicCopySource implementation for PhoenixSource. -func (ps PhoenixSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { - return nil, false -} - // AsAzureMySQLSource is the BasicCopySource implementation for PhoenixSource. func (ps PhoenixSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { return nil, false } -// AsHdfsSource is the BasicCopySource implementation for PhoenixSource. -func (ps PhoenixSource) AsHdfsSource() (*HdfsSource, bool) { - return nil, false -} - -// AsFileSystemSource is the BasicCopySource implementation for PhoenixSource. -func (ps PhoenixSource) AsFileSystemSource() (*FileSystemSource, bool) { - return nil, false -} - // AsSQLDWSource is the BasicCopySource implementation for PhoenixSource. func (ps PhoenixSource) AsSQLDWSource() (*SQLDWSource, bool) { return nil, false @@ -138867,11 +156218,6 @@ func (ps PhoenixSource) AsSQLSource() (*SQLSource, bool) { return nil, false } -// AsRestSource is the BasicCopySource implementation for PhoenixSource. -func (ps PhoenixSource) AsRestSource() (*RestSource, bool) { - return nil, false -} - // AsSapTableSource is the BasicCopySource implementation for PhoenixSource. func (ps PhoenixSource) AsSapTableSource() (*SapTableSource, bool) { return nil, false @@ -138897,21 +156243,11 @@ func (ps PhoenixSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSourc return nil, false } -// AsSalesforceServiceCloudSource is the BasicCopySource implementation for PhoenixSource. -func (ps PhoenixSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { - return nil, false -} - // AsSalesforceSource is the BasicCopySource implementation for PhoenixSource. func (ps PhoenixSource) AsSalesforceSource() (*SalesforceSource, bool) { return nil, false } -// AsODataSource is the BasicCopySource implementation for PhoenixSource. -func (ps PhoenixSource) AsODataSource() (*ODataSource, bool) { - return nil, false -} - // AsSapBwSource is the BasicCopySource implementation for PhoenixSource. func (ps PhoenixSource) AsSapBwSource() (*SapBwSource, bool) { return nil, false @@ -138942,53 +156278,38 @@ func (ps PhoenixSource) AsDb2Source() (*Db2Source, bool) { return nil, false } -// AsMicrosoftAccessSource is the BasicCopySource implementation for PhoenixSource. -func (ps PhoenixSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { - return nil, false -} - // AsInformixSource is the BasicCopySource implementation for PhoenixSource. func (ps PhoenixSource) AsInformixSource() (*InformixSource, bool) { return nil, false } -// AsRelationalSource is the BasicCopySource implementation for PhoenixSource. -func (ps PhoenixSource) AsRelationalSource() (*RelationalSource, bool) { - return nil, false -} - -// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for PhoenixSource. -func (ps PhoenixSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { - return nil, false -} - -// AsDynamicsCrmSource is the BasicCopySource implementation for PhoenixSource. -func (ps PhoenixSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { +// AsAzureTableSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsAzureTableSource() (*AzureTableSource, bool) { return nil, false } -// AsDynamicsSource is the BasicCopySource implementation for PhoenixSource. -func (ps PhoenixSource) AsDynamicsSource() (*DynamicsSource, bool) { +// AsTabularSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsTabularSource() (*TabularSource, bool) { return nil, false } -// AsDocumentDbCollectionSource is the BasicCopySource implementation for PhoenixSource. -func (ps PhoenixSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { - return nil, false +// AsBasicTabularSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &ps, true } -// AsBlobSource is the BasicCopySource implementation for PhoenixSource. -func (ps PhoenixSource) AsBlobSource() (*BlobSource, bool) { +// AsBinarySource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsBinarySource() (*BinarySource, bool) { return nil, false } -// AsAzureTableSource is the BasicCopySource implementation for PhoenixSource. -func (ps PhoenixSource) AsAzureTableSource() (*AzureTableSource, bool) { +// AsOrcSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsOrcSource() (*OrcSource, bool) { return nil, false } -// AsBinarySource is the BasicCopySource implementation for PhoenixSource. -func (ps PhoenixSource) AsBinarySource() (*BinarySource, bool) { +// AsJSONSource is the BasicCopySource implementation for PhoenixSource. +func (ps PhoenixSource) AsJSONSource() (*JSONSource, bool) { return nil, false } @@ -139035,6 +156356,15 @@ func (ps *PhoenixSource) UnmarshalJSON(body []byte) error { } ps.Query = query } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + ps.QueryTimeout = queryTimeout + } default: if v != nil { var additionalProperties interface{} @@ -139103,6 +156433,8 @@ type Pipeline struct { Concurrency *int32 `json:"concurrency,omitempty"` // Annotations - List of tags that can be used for describing the Pipeline. Annotations *[]interface{} `json:"annotations,omitempty"` + // RunDimensions - Dimensions emitted by Pipeline. + RunDimensions map[string]interface{} `json:"runDimensions"` // Folder - The folder that this Pipeline is in. If not specified, Pipeline will appear at the root level. Folder *PipelineFolder `json:"folder,omitempty"` } @@ -139128,6 +156460,9 @@ func (p Pipeline) MarshalJSON() ([]byte, error) { if p.Annotations != nil { objectMap["annotations"] = p.Annotations } + if p.RunDimensions != nil { + objectMap["runDimensions"] = p.RunDimensions + } if p.Folder != nil { objectMap["folder"] = p.Folder } @@ -139196,6 +156531,15 @@ func (p *Pipeline) UnmarshalJSON(body []byte) error { } p.Annotations = &annotations } + case "runDimensions": + if v != nil { + var runDimensions map[string]interface{} + err = json.Unmarshal(*v, &runDimensions) + if err != nil { + return err + } + p.RunDimensions = runDimensions + } case "folder": if v != nil { var folder PipelineFolder @@ -139490,6 +156834,8 @@ type PipelineRun struct { PipelineName *string `json:"pipelineName,omitempty"` // Parameters - READ-ONLY; The full or partial list of parameter name, value pair used in the pipeline run. Parameters map[string]*string `json:"parameters"` + // RunDimensions - READ-ONLY; Run dimensions emitted by Pipeline run. + RunDimensions map[string]*string `json:"runDimensions"` // InvokedBy - READ-ONLY; Entity that started the pipeline run. InvokedBy *PipelineRunInvokedBy `json:"invokedBy,omitempty"` // LastUpdated - READ-ONLY; The last updated timestamp for the pipeline run event in ISO8601 format. @@ -139581,6 +156927,15 @@ func (pr *PipelineRun) UnmarshalJSON(body []byte) error { } pr.Parameters = parameters } + case "runDimensions": + if v != nil { + var runDimensions map[string]*string + err = json.Unmarshal(*v, &runDimensions) + if err != nil { + return err + } + pr.RunDimensions = runDimensions + } case "invokedBy": if v != nil { var invokedBy PipelineRunInvokedBy @@ -139781,7 +157136,7 @@ type PostgreSQLLinkedService struct { Parameters map[string]*ParameterSpecification `json:"parameters"` // Annotations - List of tags that can be used for describing the linked service. Annotations *[]interface{} `json:"annotations,omitempty"` - // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' + // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' Type TypeBasicLinkedService `json:"type,omitempty"` } @@ -140153,6 +157508,11 @@ func (psls PostgreSQLLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, b return nil, false } +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService. +func (psls PostgreSQLLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + // AsAzureMLLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService. func (psls PostgreSQLLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { return nil, false @@ -140193,6 +157553,16 @@ func (psls PostgreSQLLinkedService) AsOracleLinkedService() (*OracleLinkedServic return nil, false } +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService. +func (psls PostgreSQLLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService. +func (psls PostgreSQLLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + // AsFileServerLinkedService is the BasicLinkedService implementation for PostgreSQLLinkedService. func (psls PostgreSQLLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { return nil, false @@ -140414,6 +157784,8 @@ func (pslstp *PostgreSQLLinkedServiceTypeProperties) UnmarshalJSON(body []byte) type PostgreSQLSource struct { // Query - Database query. Type: string (or Expression with resultType string). Query interface{} `json:"query,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). @@ -140422,7 +157794,7 @@ type PostgreSQLSource struct { SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' + // Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' Type TypeBasicCopySource `json:"type,omitempty"` } @@ -140433,6 +157805,9 @@ func (pss PostgreSQLSource) MarshalJSON() ([]byte, error) { if pss.Query != nil { objectMap["query"] = pss.Query } + if pss.QueryTimeout != nil { + objectMap["queryTimeout"] = pss.QueryTimeout + } if pss.SourceRetryCount != nil { objectMap["sourceRetryCount"] = pss.SourceRetryCount } @@ -140451,6 +157826,121 @@ func (pss PostgreSQLSource) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } +// AsHTTPSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + // AsAmazonRedshiftSource is the BasicCopySource implementation for PostgreSQLSource. func (pss PostgreSQLSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { return nil, false @@ -140626,81 +158116,21 @@ func (pss PostgreSQLSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { return nil, false } -// AsHTTPSource is the BasicCopySource implementation for PostgreSQLSource. -func (pss PostgreSQLSource) AsHTTPSource() (*HTTPSource, bool) { - return nil, false -} - -// AsAzureBlobFSSource is the BasicCopySource implementation for PostgreSQLSource. -func (pss PostgreSQLSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { - return nil, false -} - -// AsAzureDataLakeStoreSource is the BasicCopySource implementation for PostgreSQLSource. -func (pss PostgreSQLSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { - return nil, false -} - -// AsOffice365Source is the BasicCopySource implementation for PostgreSQLSource. -func (pss PostgreSQLSource) AsOffice365Source() (*Office365Source, bool) { - return nil, false -} - -// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for PostgreSQLSource. -func (pss PostgreSQLSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { - return nil, false -} - -// AsMongoDbV2Source is the BasicCopySource implementation for PostgreSQLSource. -func (pss PostgreSQLSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { - return nil, false -} - -// AsMongoDbSource is the BasicCopySource implementation for PostgreSQLSource. -func (pss PostgreSQLSource) AsMongoDbSource() (*MongoDbSource, bool) { - return nil, false -} - // AsCassandraSource is the BasicCopySource implementation for PostgreSQLSource. func (pss PostgreSQLSource) AsCassandraSource() (*CassandraSource, bool) { return nil, false } -// AsWebSource is the BasicCopySource implementation for PostgreSQLSource. -func (pss PostgreSQLSource) AsWebSource() (*WebSource, bool) { - return nil, false -} - // AsTeradataSource is the BasicCopySource implementation for PostgreSQLSource. func (pss PostgreSQLSource) AsTeradataSource() (*TeradataSource, bool) { return nil, false } -// AsOracleSource is the BasicCopySource implementation for PostgreSQLSource. -func (pss PostgreSQLSource) AsOracleSource() (*OracleSource, bool) { - return nil, false -} - -// AsAzureDataExplorerSource is the BasicCopySource implementation for PostgreSQLSource. -func (pss PostgreSQLSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { - return nil, false -} - // AsAzureMySQLSource is the BasicCopySource implementation for PostgreSQLSource. func (pss PostgreSQLSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { return nil, false } -// AsHdfsSource is the BasicCopySource implementation for PostgreSQLSource. -func (pss PostgreSQLSource) AsHdfsSource() (*HdfsSource, bool) { - return nil, false -} - -// AsFileSystemSource is the BasicCopySource implementation for PostgreSQLSource. -func (pss PostgreSQLSource) AsFileSystemSource() (*FileSystemSource, bool) { - return nil, false -} - // AsSQLDWSource is the BasicCopySource implementation for PostgreSQLSource. func (pss PostgreSQLSource) AsSQLDWSource() (*SQLDWSource, bool) { return nil, false @@ -140726,11 +158156,6 @@ func (pss PostgreSQLSource) AsSQLSource() (*SQLSource, bool) { return nil, false } -// AsRestSource is the BasicCopySource implementation for PostgreSQLSource. -func (pss PostgreSQLSource) AsRestSource() (*RestSource, bool) { - return nil, false -} - // AsSapTableSource is the BasicCopySource implementation for PostgreSQLSource. func (pss PostgreSQLSource) AsSapTableSource() (*SapTableSource, bool) { return nil, false @@ -140756,21 +158181,11 @@ func (pss PostgreSQLSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerS return nil, false } -// AsSalesforceServiceCloudSource is the BasicCopySource implementation for PostgreSQLSource. -func (pss PostgreSQLSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { - return nil, false -} - // AsSalesforceSource is the BasicCopySource implementation for PostgreSQLSource. func (pss PostgreSQLSource) AsSalesforceSource() (*SalesforceSource, bool) { return nil, false } -// AsODataSource is the BasicCopySource implementation for PostgreSQLSource. -func (pss PostgreSQLSource) AsODataSource() (*ODataSource, bool) { - return nil, false -} - // AsSapBwSource is the BasicCopySource implementation for PostgreSQLSource. func (pss PostgreSQLSource) AsSapBwSource() (*SapBwSource, bool) { return nil, false @@ -140801,53 +158216,38 @@ func (pss PostgreSQLSource) AsDb2Source() (*Db2Source, bool) { return nil, false } -// AsMicrosoftAccessSource is the BasicCopySource implementation for PostgreSQLSource. -func (pss PostgreSQLSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { - return nil, false -} - // AsInformixSource is the BasicCopySource implementation for PostgreSQLSource. func (pss PostgreSQLSource) AsInformixSource() (*InformixSource, bool) { return nil, false } -// AsRelationalSource is the BasicCopySource implementation for PostgreSQLSource. -func (pss PostgreSQLSource) AsRelationalSource() (*RelationalSource, bool) { - return nil, false -} - -// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for PostgreSQLSource. -func (pss PostgreSQLSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { - return nil, false -} - -// AsDynamicsCrmSource is the BasicCopySource implementation for PostgreSQLSource. -func (pss PostgreSQLSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { +// AsAzureTableSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsAzureTableSource() (*AzureTableSource, bool) { return nil, false } -// AsDynamicsSource is the BasicCopySource implementation for PostgreSQLSource. -func (pss PostgreSQLSource) AsDynamicsSource() (*DynamicsSource, bool) { +// AsTabularSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsTabularSource() (*TabularSource, bool) { return nil, false } -// AsDocumentDbCollectionSource is the BasicCopySource implementation for PostgreSQLSource. -func (pss PostgreSQLSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { - return nil, false +// AsBasicTabularSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &pss, true } -// AsBlobSource is the BasicCopySource implementation for PostgreSQLSource. -func (pss PostgreSQLSource) AsBlobSource() (*BlobSource, bool) { +// AsBinarySource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsBinarySource() (*BinarySource, bool) { return nil, false } -// AsAzureTableSource is the BasicCopySource implementation for PostgreSQLSource. -func (pss PostgreSQLSource) AsAzureTableSource() (*AzureTableSource, bool) { +// AsOrcSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsOrcSource() (*OrcSource, bool) { return nil, false } -// AsBinarySource is the BasicCopySource implementation for PostgreSQLSource. -func (pss PostgreSQLSource) AsBinarySource() (*BinarySource, bool) { +// AsJSONSource is the BasicCopySource implementation for PostgreSQLSource. +func (pss PostgreSQLSource) AsJSONSource() (*JSONSource, bool) { return nil, false } @@ -140894,6 +158294,15 @@ func (pss *PostgreSQLSource) UnmarshalJSON(body []byte) error { } pss.Query = query } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + pss.QueryTimeout = queryTimeout + } default: if v != nil { var additionalProperties interface{} @@ -140968,7 +158377,7 @@ type PostgreSQLTableDataset struct { Annotations *[]interface{} `json:"annotations,omitempty"` // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. Folder *DatasetFolder `json:"folder,omitempty"` - // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' + // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' Type TypeBasicDataset `json:"type,omitempty"` } @@ -141284,6 +158693,16 @@ func (pstd PostgreSQLTableDataset) AsRelationalTableDataset() (*RelationalTableD return nil, false } +// AsDb2TableDataset is the BasicDataset implementation for PostgreSQLTableDataset. +func (pstd PostgreSQLTableDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for PostgreSQLTableDataset. +func (pstd PostgreSQLTableDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + // AsAzureMySQLTableDataset is the BasicDataset implementation for PostgreSQLTableDataset. func (pstd PostgreSQLTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { return nil, false @@ -141359,6 +158778,11 @@ func (pstd PostgreSQLTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbC return nil, false } +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for PostgreSQLTableDataset. +func (pstd PostgreSQLTableDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + // AsCustomDataset is the BasicDataset implementation for PostgreSQLTableDataset. func (pstd PostgreSQLTableDataset) AsCustomDataset() (*CustomDataset, bool) { return nil, false @@ -141399,6 +158823,16 @@ func (pstd PostgreSQLTableDataset) AsBinaryDataset() (*BinaryDataset, bool) { return nil, false } +// AsOrcDataset is the BasicDataset implementation for PostgreSQLTableDataset. +func (pstd PostgreSQLTableDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for PostgreSQLTableDataset. +func (pstd PostgreSQLTableDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + // AsDelimitedTextDataset is the BasicDataset implementation for PostgreSQLTableDataset. func (pstd PostgreSQLTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { return nil, false @@ -141539,8 +158973,12 @@ func (pstd *PostgreSQLTableDataset) UnmarshalJSON(body []byte) error { // PostgreSQLTableDatasetTypeProperties postgreSQL table dataset properties. type PostgreSQLTableDatasetTypeProperties struct { - // TableName - The PostgreSQL table name. Type: string (or Expression with resultType string). + // TableName - This property will be retired. Please consider using schema + table properties instead. TableName interface{} `json:"tableName,omitempty"` + // Table - The PostgreSQL table name. Type: string (or Expression with resultType string). + Table interface{} `json:"table,omitempty"` + // Schema - The PostgreSQL schema name. Type: string (or Expression with resultType string). + Schema interface{} `json:"schema,omitempty"` } // PrestoDatasetTypeProperties presto Dataset Properties @@ -141567,7 +159005,7 @@ type PrestoLinkedService struct { Parameters map[string]*ParameterSpecification `json:"parameters"` // Annotations - List of tags that can be used for describing the linked service. Annotations *[]interface{} `json:"annotations,omitempty"` - // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' + // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' Type TypeBasicLinkedService `json:"type,omitempty"` } @@ -141939,6 +159377,11 @@ func (pls PrestoLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) return nil, false } +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for PrestoLinkedService. +func (pls PrestoLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + // AsAzureMLLinkedService is the BasicLinkedService implementation for PrestoLinkedService. func (pls PrestoLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { return nil, false @@ -141979,6 +159422,16 @@ func (pls PrestoLinkedService) AsOracleLinkedService() (*OracleLinkedService, bo return nil, false } +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for PrestoLinkedService. +func (pls PrestoLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for PrestoLinkedService. +func (pls PrestoLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + // AsFileServerLinkedService is the BasicLinkedService implementation for PrestoLinkedService. func (pls PrestoLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { return nil, false @@ -142337,7 +159790,7 @@ type PrestoObjectDataset struct { Annotations *[]interface{} `json:"annotations,omitempty"` // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. Folder *DatasetFolder `json:"folder,omitempty"` - // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' + // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' Type TypeBasicDataset `json:"type,omitempty"` } @@ -142653,6 +160106,16 @@ func (pod PrestoObjectDataset) AsRelationalTableDataset() (*RelationalTableDatas return nil, false } +// AsDb2TableDataset is the BasicDataset implementation for PrestoObjectDataset. +func (pod PrestoObjectDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for PrestoObjectDataset. +func (pod PrestoObjectDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + // AsAzureMySQLTableDataset is the BasicDataset implementation for PrestoObjectDataset. func (pod PrestoObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { return nil, false @@ -142728,6 +160191,11 @@ func (pod PrestoObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbColle return nil, false } +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for PrestoObjectDataset. +func (pod PrestoObjectDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + // AsCustomDataset is the BasicDataset implementation for PrestoObjectDataset. func (pod PrestoObjectDataset) AsCustomDataset() (*CustomDataset, bool) { return nil, false @@ -142768,6 +160236,16 @@ func (pod PrestoObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) { return nil, false } +// AsOrcDataset is the BasicDataset implementation for PrestoObjectDataset. +func (pod PrestoObjectDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for PrestoObjectDataset. +func (pod PrestoObjectDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + // AsDelimitedTextDataset is the BasicDataset implementation for PrestoObjectDataset. func (pod PrestoObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { return nil, false @@ -142910,6 +160388,8 @@ func (pod *PrestoObjectDataset) UnmarshalJSON(body []byte) error { type PrestoSource struct { // Query - A query to retrieve data from source. Type: string (or Expression with resultType string). Query interface{} `json:"query,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). @@ -142918,7 +160398,7 @@ type PrestoSource struct { SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' + // Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' Type TypeBasicCopySource `json:"type,omitempty"` } @@ -142929,6 +160409,9 @@ func (ps PrestoSource) MarshalJSON() ([]byte, error) { if ps.Query != nil { objectMap["query"] = ps.Query } + if ps.QueryTimeout != nil { + objectMap["queryTimeout"] = ps.QueryTimeout + } if ps.SourceRetryCount != nil { objectMap["sourceRetryCount"] = ps.SourceRetryCount } @@ -142947,6 +160430,121 @@ func (ps PrestoSource) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } +// AsHTTPSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + // AsAmazonRedshiftSource is the BasicCopySource implementation for PrestoSource. func (ps PrestoSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { return nil, false @@ -143122,81 +160720,21 @@ func (ps PrestoSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { return nil, false } -// AsHTTPSource is the BasicCopySource implementation for PrestoSource. -func (ps PrestoSource) AsHTTPSource() (*HTTPSource, bool) { - return nil, false -} - -// AsAzureBlobFSSource is the BasicCopySource implementation for PrestoSource. -func (ps PrestoSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { - return nil, false -} - -// AsAzureDataLakeStoreSource is the BasicCopySource implementation for PrestoSource. -func (ps PrestoSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { - return nil, false -} - -// AsOffice365Source is the BasicCopySource implementation for PrestoSource. -func (ps PrestoSource) AsOffice365Source() (*Office365Source, bool) { - return nil, false -} - -// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for PrestoSource. -func (ps PrestoSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { - return nil, false -} - -// AsMongoDbV2Source is the BasicCopySource implementation for PrestoSource. -func (ps PrestoSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { - return nil, false -} - -// AsMongoDbSource is the BasicCopySource implementation for PrestoSource. -func (ps PrestoSource) AsMongoDbSource() (*MongoDbSource, bool) { - return nil, false -} - // AsCassandraSource is the BasicCopySource implementation for PrestoSource. func (ps PrestoSource) AsCassandraSource() (*CassandraSource, bool) { return nil, false } -// AsWebSource is the BasicCopySource implementation for PrestoSource. -func (ps PrestoSource) AsWebSource() (*WebSource, bool) { - return nil, false -} - // AsTeradataSource is the BasicCopySource implementation for PrestoSource. func (ps PrestoSource) AsTeradataSource() (*TeradataSource, bool) { return nil, false } -// AsOracleSource is the BasicCopySource implementation for PrestoSource. -func (ps PrestoSource) AsOracleSource() (*OracleSource, bool) { - return nil, false -} - -// AsAzureDataExplorerSource is the BasicCopySource implementation for PrestoSource. -func (ps PrestoSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { - return nil, false -} - // AsAzureMySQLSource is the BasicCopySource implementation for PrestoSource. func (ps PrestoSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { return nil, false } -// AsHdfsSource is the BasicCopySource implementation for PrestoSource. -func (ps PrestoSource) AsHdfsSource() (*HdfsSource, bool) { - return nil, false -} - -// AsFileSystemSource is the BasicCopySource implementation for PrestoSource. -func (ps PrestoSource) AsFileSystemSource() (*FileSystemSource, bool) { - return nil, false -} - // AsSQLDWSource is the BasicCopySource implementation for PrestoSource. func (ps PrestoSource) AsSQLDWSource() (*SQLDWSource, bool) { return nil, false @@ -143222,11 +160760,6 @@ func (ps PrestoSource) AsSQLSource() (*SQLSource, bool) { return nil, false } -// AsRestSource is the BasicCopySource implementation for PrestoSource. -func (ps PrestoSource) AsRestSource() (*RestSource, bool) { - return nil, false -} - // AsSapTableSource is the BasicCopySource implementation for PrestoSource. func (ps PrestoSource) AsSapTableSource() (*SapTableSource, bool) { return nil, false @@ -143252,21 +160785,11 @@ func (ps PrestoSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource return nil, false } -// AsSalesforceServiceCloudSource is the BasicCopySource implementation for PrestoSource. -func (ps PrestoSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { - return nil, false -} - // AsSalesforceSource is the BasicCopySource implementation for PrestoSource. func (ps PrestoSource) AsSalesforceSource() (*SalesforceSource, bool) { return nil, false } -// AsODataSource is the BasicCopySource implementation for PrestoSource. -func (ps PrestoSource) AsODataSource() (*ODataSource, bool) { - return nil, false -} - // AsSapBwSource is the BasicCopySource implementation for PrestoSource. func (ps PrestoSource) AsSapBwSource() (*SapBwSource, bool) { return nil, false @@ -143297,53 +160820,38 @@ func (ps PrestoSource) AsDb2Source() (*Db2Source, bool) { return nil, false } -// AsMicrosoftAccessSource is the BasicCopySource implementation for PrestoSource. -func (ps PrestoSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { - return nil, false -} - // AsInformixSource is the BasicCopySource implementation for PrestoSource. func (ps PrestoSource) AsInformixSource() (*InformixSource, bool) { return nil, false } -// AsRelationalSource is the BasicCopySource implementation for PrestoSource. -func (ps PrestoSource) AsRelationalSource() (*RelationalSource, bool) { - return nil, false -} - -// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for PrestoSource. -func (ps PrestoSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { - return nil, false -} - -// AsDynamicsCrmSource is the BasicCopySource implementation for PrestoSource. -func (ps PrestoSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { +// AsAzureTableSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsAzureTableSource() (*AzureTableSource, bool) { return nil, false } -// AsDynamicsSource is the BasicCopySource implementation for PrestoSource. -func (ps PrestoSource) AsDynamicsSource() (*DynamicsSource, bool) { +// AsTabularSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsTabularSource() (*TabularSource, bool) { return nil, false } -// AsDocumentDbCollectionSource is the BasicCopySource implementation for PrestoSource. -func (ps PrestoSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { - return nil, false +// AsBasicTabularSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &ps, true } -// AsBlobSource is the BasicCopySource implementation for PrestoSource. -func (ps PrestoSource) AsBlobSource() (*BlobSource, bool) { +// AsBinarySource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsBinarySource() (*BinarySource, bool) { return nil, false } -// AsAzureTableSource is the BasicCopySource implementation for PrestoSource. -func (ps PrestoSource) AsAzureTableSource() (*AzureTableSource, bool) { +// AsOrcSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsOrcSource() (*OrcSource, bool) { return nil, false } -// AsBinarySource is the BasicCopySource implementation for PrestoSource. -func (ps PrestoSource) AsBinarySource() (*BinarySource, bool) { +// AsJSONSource is the BasicCopySource implementation for PrestoSource. +func (ps PrestoSource) AsJSONSource() (*JSONSource, bool) { return nil, false } @@ -143390,6 +160898,15 @@ func (ps *PrestoSource) UnmarshalJSON(body []byte) error { } ps.Query = query } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + ps.QueryTimeout = queryTimeout + } default: if v != nil { var additionalProperties interface{} @@ -143444,6 +160961,153 @@ func (ps *PrestoSource) UnmarshalJSON(body []byte) error { return nil } +// QueryDataFlowDebugSessionsResponse a list of active debug sessions. +type QueryDataFlowDebugSessionsResponse struct { + autorest.Response `json:"-"` + // Value - Array with all active debug sessions. + Value *[]DataFlowDebugSessionInfo `json:"value,omitempty"` + // NextLink - The link to the next page of results, if any remaining results exist. + NextLink *string `json:"nextLink,omitempty"` +} + +// QueryDataFlowDebugSessionsResponseIterator provides access to a complete listing of +// DataFlowDebugSessionInfo values. +type QueryDataFlowDebugSessionsResponseIterator struct { + i int + page QueryDataFlowDebugSessionsResponsePage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *QueryDataFlowDebugSessionsResponseIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/QueryDataFlowDebugSessionsResponseIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *QueryDataFlowDebugSessionsResponseIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter QueryDataFlowDebugSessionsResponseIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter QueryDataFlowDebugSessionsResponseIterator) Response() QueryDataFlowDebugSessionsResponse { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter QueryDataFlowDebugSessionsResponseIterator) Value() DataFlowDebugSessionInfo { + if !iter.page.NotDone() { + return DataFlowDebugSessionInfo{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the QueryDataFlowDebugSessionsResponseIterator type. +func NewQueryDataFlowDebugSessionsResponseIterator(page QueryDataFlowDebugSessionsResponsePage) QueryDataFlowDebugSessionsResponseIterator { + return QueryDataFlowDebugSessionsResponseIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (qdfdsr QueryDataFlowDebugSessionsResponse) IsEmpty() bool { + return qdfdsr.Value == nil || len(*qdfdsr.Value) == 0 +} + +// queryDataFlowDebugSessionsResponsePreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (qdfdsr QueryDataFlowDebugSessionsResponse) queryDataFlowDebugSessionsResponsePreparer(ctx context.Context) (*http.Request, error) { + if qdfdsr.NextLink == nil || len(to.String(qdfdsr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(qdfdsr.NextLink))) +} + +// QueryDataFlowDebugSessionsResponsePage contains a page of DataFlowDebugSessionInfo values. +type QueryDataFlowDebugSessionsResponsePage struct { + fn func(context.Context, QueryDataFlowDebugSessionsResponse) (QueryDataFlowDebugSessionsResponse, error) + qdfdsr QueryDataFlowDebugSessionsResponse +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *QueryDataFlowDebugSessionsResponsePage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/QueryDataFlowDebugSessionsResponsePage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.qdfdsr) + if err != nil { + return err + } + page.qdfdsr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *QueryDataFlowDebugSessionsResponsePage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page QueryDataFlowDebugSessionsResponsePage) NotDone() bool { + return !page.qdfdsr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page QueryDataFlowDebugSessionsResponsePage) Response() QueryDataFlowDebugSessionsResponse { + return page.qdfdsr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page QueryDataFlowDebugSessionsResponsePage) Values() []DataFlowDebugSessionInfo { + if page.qdfdsr.IsEmpty() { + return nil + } + return *page.qdfdsr.Value +} + +// Creates a new instance of the QueryDataFlowDebugSessionsResponsePage type. +func NewQueryDataFlowDebugSessionsResponsePage(getNextPage func(context.Context, QueryDataFlowDebugSessionsResponse) (QueryDataFlowDebugSessionsResponse, error)) QueryDataFlowDebugSessionsResponsePage { + return QueryDataFlowDebugSessionsResponsePage{fn: getNextPage} +} + // QuickBooksLinkedService quickBooks server linked service. type QuickBooksLinkedService struct { // QuickBooksLinkedServiceTypeProperties - QuickBooks server linked service properties. @@ -143458,7 +161122,7 @@ type QuickBooksLinkedService struct { Parameters map[string]*ParameterSpecification `json:"parameters"` // Annotations - List of tags that can be used for describing the linked service. Annotations *[]interface{} `json:"annotations,omitempty"` - // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' + // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' Type TypeBasicLinkedService `json:"type,omitempty"` } @@ -143830,6 +161494,11 @@ func (qbls QuickBooksLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, b return nil, false } +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService. +func (qbls QuickBooksLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + // AsAzureMLLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService. func (qbls QuickBooksLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { return nil, false @@ -143870,6 +161539,16 @@ func (qbls QuickBooksLinkedService) AsOracleLinkedService() (*OracleLinkedServic return nil, false } +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService. +func (qbls QuickBooksLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService. +func (qbls QuickBooksLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + // AsFileServerLinkedService is the BasicLinkedService implementation for QuickBooksLinkedService. func (qbls QuickBooksLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { return nil, false @@ -144160,7 +161839,7 @@ type QuickBooksObjectDataset struct { Annotations *[]interface{} `json:"annotations,omitempty"` // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. Folder *DatasetFolder `json:"folder,omitempty"` - // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' + // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' Type TypeBasicDataset `json:"type,omitempty"` } @@ -144476,6 +162155,16 @@ func (qbod QuickBooksObjectDataset) AsRelationalTableDataset() (*RelationalTable return nil, false } +// AsDb2TableDataset is the BasicDataset implementation for QuickBooksObjectDataset. +func (qbod QuickBooksObjectDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for QuickBooksObjectDataset. +func (qbod QuickBooksObjectDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + // AsAzureMySQLTableDataset is the BasicDataset implementation for QuickBooksObjectDataset. func (qbod QuickBooksObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { return nil, false @@ -144551,6 +162240,11 @@ func (qbod QuickBooksObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDb return nil, false } +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for QuickBooksObjectDataset. +func (qbod QuickBooksObjectDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + // AsCustomDataset is the BasicDataset implementation for QuickBooksObjectDataset. func (qbod QuickBooksObjectDataset) AsCustomDataset() (*CustomDataset, bool) { return nil, false @@ -144591,6 +162285,16 @@ func (qbod QuickBooksObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) { return nil, false } +// AsOrcDataset is the BasicDataset implementation for QuickBooksObjectDataset. +func (qbod QuickBooksObjectDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for QuickBooksObjectDataset. +func (qbod QuickBooksObjectDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + // AsDelimitedTextDataset is the BasicDataset implementation for QuickBooksObjectDataset. func (qbod QuickBooksObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { return nil, false @@ -144733,6 +162437,8 @@ func (qbod *QuickBooksObjectDataset) UnmarshalJSON(body []byte) error { type QuickBooksSource struct { // Query - A query to retrieve data from source. Type: string (or Expression with resultType string). Query interface{} `json:"query,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). @@ -144741,7 +162447,7 @@ type QuickBooksSource struct { SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' + // Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' Type TypeBasicCopySource `json:"type,omitempty"` } @@ -144752,6 +162458,9 @@ func (qbs QuickBooksSource) MarshalJSON() ([]byte, error) { if qbs.Query != nil { objectMap["query"] = qbs.Query } + if qbs.QueryTimeout != nil { + objectMap["queryTimeout"] = qbs.QueryTimeout + } if qbs.SourceRetryCount != nil { objectMap["sourceRetryCount"] = qbs.SourceRetryCount } @@ -144770,6 +162479,121 @@ func (qbs QuickBooksSource) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } +// AsHTTPSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + // AsAmazonRedshiftSource is the BasicCopySource implementation for QuickBooksSource. func (qbs QuickBooksSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { return nil, false @@ -144945,81 +162769,21 @@ func (qbs QuickBooksSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { return nil, false } -// AsHTTPSource is the BasicCopySource implementation for QuickBooksSource. -func (qbs QuickBooksSource) AsHTTPSource() (*HTTPSource, bool) { - return nil, false -} - -// AsAzureBlobFSSource is the BasicCopySource implementation for QuickBooksSource. -func (qbs QuickBooksSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { - return nil, false -} - -// AsAzureDataLakeStoreSource is the BasicCopySource implementation for QuickBooksSource. -func (qbs QuickBooksSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { - return nil, false -} - -// AsOffice365Source is the BasicCopySource implementation for QuickBooksSource. -func (qbs QuickBooksSource) AsOffice365Source() (*Office365Source, bool) { - return nil, false -} - -// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for QuickBooksSource. -func (qbs QuickBooksSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { - return nil, false -} - -// AsMongoDbV2Source is the BasicCopySource implementation for QuickBooksSource. -func (qbs QuickBooksSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { - return nil, false -} - -// AsMongoDbSource is the BasicCopySource implementation for QuickBooksSource. -func (qbs QuickBooksSource) AsMongoDbSource() (*MongoDbSource, bool) { - return nil, false -} - // AsCassandraSource is the BasicCopySource implementation for QuickBooksSource. func (qbs QuickBooksSource) AsCassandraSource() (*CassandraSource, bool) { return nil, false } -// AsWebSource is the BasicCopySource implementation for QuickBooksSource. -func (qbs QuickBooksSource) AsWebSource() (*WebSource, bool) { - return nil, false -} - // AsTeradataSource is the BasicCopySource implementation for QuickBooksSource. func (qbs QuickBooksSource) AsTeradataSource() (*TeradataSource, bool) { return nil, false } -// AsOracleSource is the BasicCopySource implementation for QuickBooksSource. -func (qbs QuickBooksSource) AsOracleSource() (*OracleSource, bool) { - return nil, false -} - -// AsAzureDataExplorerSource is the BasicCopySource implementation for QuickBooksSource. -func (qbs QuickBooksSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { - return nil, false -} - // AsAzureMySQLSource is the BasicCopySource implementation for QuickBooksSource. func (qbs QuickBooksSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { return nil, false } -// AsHdfsSource is the BasicCopySource implementation for QuickBooksSource. -func (qbs QuickBooksSource) AsHdfsSource() (*HdfsSource, bool) { - return nil, false -} - -// AsFileSystemSource is the BasicCopySource implementation for QuickBooksSource. -func (qbs QuickBooksSource) AsFileSystemSource() (*FileSystemSource, bool) { - return nil, false -} - // AsSQLDWSource is the BasicCopySource implementation for QuickBooksSource. func (qbs QuickBooksSource) AsSQLDWSource() (*SQLDWSource, bool) { return nil, false @@ -145045,11 +162809,6 @@ func (qbs QuickBooksSource) AsSQLSource() (*SQLSource, bool) { return nil, false } -// AsRestSource is the BasicCopySource implementation for QuickBooksSource. -func (qbs QuickBooksSource) AsRestSource() (*RestSource, bool) { - return nil, false -} - // AsSapTableSource is the BasicCopySource implementation for QuickBooksSource. func (qbs QuickBooksSource) AsSapTableSource() (*SapTableSource, bool) { return nil, false @@ -145075,21 +162834,11 @@ func (qbs QuickBooksSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerS return nil, false } -// AsSalesforceServiceCloudSource is the BasicCopySource implementation for QuickBooksSource. -func (qbs QuickBooksSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { - return nil, false -} - // AsSalesforceSource is the BasicCopySource implementation for QuickBooksSource. func (qbs QuickBooksSource) AsSalesforceSource() (*SalesforceSource, bool) { return nil, false } -// AsODataSource is the BasicCopySource implementation for QuickBooksSource. -func (qbs QuickBooksSource) AsODataSource() (*ODataSource, bool) { - return nil, false -} - // AsSapBwSource is the BasicCopySource implementation for QuickBooksSource. func (qbs QuickBooksSource) AsSapBwSource() (*SapBwSource, bool) { return nil, false @@ -145120,53 +162869,38 @@ func (qbs QuickBooksSource) AsDb2Source() (*Db2Source, bool) { return nil, false } -// AsMicrosoftAccessSource is the BasicCopySource implementation for QuickBooksSource. -func (qbs QuickBooksSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { - return nil, false -} - // AsInformixSource is the BasicCopySource implementation for QuickBooksSource. func (qbs QuickBooksSource) AsInformixSource() (*InformixSource, bool) { return nil, false } -// AsRelationalSource is the BasicCopySource implementation for QuickBooksSource. -func (qbs QuickBooksSource) AsRelationalSource() (*RelationalSource, bool) { - return nil, false -} - -// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for QuickBooksSource. -func (qbs QuickBooksSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { - return nil, false -} - -// AsDynamicsCrmSource is the BasicCopySource implementation for QuickBooksSource. -func (qbs QuickBooksSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { +// AsAzureTableSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsAzureTableSource() (*AzureTableSource, bool) { return nil, false } -// AsDynamicsSource is the BasicCopySource implementation for QuickBooksSource. -func (qbs QuickBooksSource) AsDynamicsSource() (*DynamicsSource, bool) { +// AsTabularSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsTabularSource() (*TabularSource, bool) { return nil, false } -// AsDocumentDbCollectionSource is the BasicCopySource implementation for QuickBooksSource. -func (qbs QuickBooksSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { - return nil, false +// AsBasicTabularSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &qbs, true } -// AsBlobSource is the BasicCopySource implementation for QuickBooksSource. -func (qbs QuickBooksSource) AsBlobSource() (*BlobSource, bool) { +// AsBinarySource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsBinarySource() (*BinarySource, bool) { return nil, false } -// AsAzureTableSource is the BasicCopySource implementation for QuickBooksSource. -func (qbs QuickBooksSource) AsAzureTableSource() (*AzureTableSource, bool) { +// AsOrcSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsOrcSource() (*OrcSource, bool) { return nil, false } -// AsBinarySource is the BasicCopySource implementation for QuickBooksSource. -func (qbs QuickBooksSource) AsBinarySource() (*BinarySource, bool) { +// AsJSONSource is the BasicCopySource implementation for QuickBooksSource. +func (qbs QuickBooksSource) AsJSONSource() (*JSONSource, bool) { return nil, false } @@ -145213,6 +162947,15 @@ func (qbs *QuickBooksSource) UnmarshalJSON(body []byte) error { } qbs.Query = query } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + qbs.QueryTimeout = queryTimeout + } default: if v != nil { var additionalProperties interface{} @@ -145541,7 +163284,7 @@ type RelationalSource struct { SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' + // Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' Type TypeBasicCopySource `json:"type,omitempty"` } @@ -145570,6 +163313,121 @@ func (rs RelationalSource) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } +// AsHTTPSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsRelationalSource() (*RelationalSource, bool) { + return &rs, true +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + // AsAmazonRedshiftSource is the BasicCopySource implementation for RelationalSource. func (rs RelationalSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { return nil, false @@ -145745,81 +163603,21 @@ func (rs RelationalSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { return nil, false } -// AsHTTPSource is the BasicCopySource implementation for RelationalSource. -func (rs RelationalSource) AsHTTPSource() (*HTTPSource, bool) { - return nil, false -} - -// AsAzureBlobFSSource is the BasicCopySource implementation for RelationalSource. -func (rs RelationalSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { - return nil, false -} - -// AsAzureDataLakeStoreSource is the BasicCopySource implementation for RelationalSource. -func (rs RelationalSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { - return nil, false -} - -// AsOffice365Source is the BasicCopySource implementation for RelationalSource. -func (rs RelationalSource) AsOffice365Source() (*Office365Source, bool) { - return nil, false -} - -// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for RelationalSource. -func (rs RelationalSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { - return nil, false -} - -// AsMongoDbV2Source is the BasicCopySource implementation for RelationalSource. -func (rs RelationalSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { - return nil, false -} - -// AsMongoDbSource is the BasicCopySource implementation for RelationalSource. -func (rs RelationalSource) AsMongoDbSource() (*MongoDbSource, bool) { - return nil, false -} - // AsCassandraSource is the BasicCopySource implementation for RelationalSource. func (rs RelationalSource) AsCassandraSource() (*CassandraSource, bool) { return nil, false } -// AsWebSource is the BasicCopySource implementation for RelationalSource. -func (rs RelationalSource) AsWebSource() (*WebSource, bool) { - return nil, false -} - // AsTeradataSource is the BasicCopySource implementation for RelationalSource. func (rs RelationalSource) AsTeradataSource() (*TeradataSource, bool) { return nil, false } -// AsOracleSource is the BasicCopySource implementation for RelationalSource. -func (rs RelationalSource) AsOracleSource() (*OracleSource, bool) { - return nil, false -} - -// AsAzureDataExplorerSource is the BasicCopySource implementation for RelationalSource. -func (rs RelationalSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { - return nil, false -} - // AsAzureMySQLSource is the BasicCopySource implementation for RelationalSource. func (rs RelationalSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { return nil, false } -// AsHdfsSource is the BasicCopySource implementation for RelationalSource. -func (rs RelationalSource) AsHdfsSource() (*HdfsSource, bool) { - return nil, false -} - -// AsFileSystemSource is the BasicCopySource implementation for RelationalSource. -func (rs RelationalSource) AsFileSystemSource() (*FileSystemSource, bool) { - return nil, false -} - // AsSQLDWSource is the BasicCopySource implementation for RelationalSource. func (rs RelationalSource) AsSQLDWSource() (*SQLDWSource, bool) { return nil, false @@ -145845,11 +163643,6 @@ func (rs RelationalSource) AsSQLSource() (*SQLSource, bool) { return nil, false } -// AsRestSource is the BasicCopySource implementation for RelationalSource. -func (rs RelationalSource) AsRestSource() (*RestSource, bool) { - return nil, false -} - // AsSapTableSource is the BasicCopySource implementation for RelationalSource. func (rs RelationalSource) AsSapTableSource() (*SapTableSource, bool) { return nil, false @@ -145875,21 +163668,11 @@ func (rs RelationalSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSo return nil, false } -// AsSalesforceServiceCloudSource is the BasicCopySource implementation for RelationalSource. -func (rs RelationalSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { - return nil, false -} - // AsSalesforceSource is the BasicCopySource implementation for RelationalSource. func (rs RelationalSource) AsSalesforceSource() (*SalesforceSource, bool) { return nil, false } -// AsODataSource is the BasicCopySource implementation for RelationalSource. -func (rs RelationalSource) AsODataSource() (*ODataSource, bool) { - return nil, false -} - // AsSapBwSource is the BasicCopySource implementation for RelationalSource. func (rs RelationalSource) AsSapBwSource() (*SapBwSource, bool) { return nil, false @@ -145920,53 +163703,38 @@ func (rs RelationalSource) AsDb2Source() (*Db2Source, bool) { return nil, false } -// AsMicrosoftAccessSource is the BasicCopySource implementation for RelationalSource. -func (rs RelationalSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { - return nil, false -} - // AsInformixSource is the BasicCopySource implementation for RelationalSource. func (rs RelationalSource) AsInformixSource() (*InformixSource, bool) { return nil, false } -// AsRelationalSource is the BasicCopySource implementation for RelationalSource. -func (rs RelationalSource) AsRelationalSource() (*RelationalSource, bool) { - return &rs, true -} - -// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for RelationalSource. -func (rs RelationalSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { - return nil, false -} - -// AsDynamicsCrmSource is the BasicCopySource implementation for RelationalSource. -func (rs RelationalSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { +// AsAzureTableSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsAzureTableSource() (*AzureTableSource, bool) { return nil, false } -// AsDynamicsSource is the BasicCopySource implementation for RelationalSource. -func (rs RelationalSource) AsDynamicsSource() (*DynamicsSource, bool) { +// AsTabularSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsTabularSource() (*TabularSource, bool) { return nil, false } -// AsDocumentDbCollectionSource is the BasicCopySource implementation for RelationalSource. -func (rs RelationalSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { +// AsBasicTabularSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsBasicTabularSource() (BasicTabularSource, bool) { return nil, false } -// AsBlobSource is the BasicCopySource implementation for RelationalSource. -func (rs RelationalSource) AsBlobSource() (*BlobSource, bool) { +// AsBinarySource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsBinarySource() (*BinarySource, bool) { return nil, false } -// AsAzureTableSource is the BasicCopySource implementation for RelationalSource. -func (rs RelationalSource) AsAzureTableSource() (*AzureTableSource, bool) { +// AsOrcSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsOrcSource() (*OrcSource, bool) { return nil, false } -// AsBinarySource is the BasicCopySource implementation for RelationalSource. -func (rs RelationalSource) AsBinarySource() (*BinarySource, bool) { +// AsJSONSource is the BasicCopySource implementation for RelationalSource. +func (rs RelationalSource) AsJSONSource() (*JSONSource, bool) { return nil, false } @@ -146087,7 +163855,7 @@ type RelationalTableDataset struct { Annotations *[]interface{} `json:"annotations,omitempty"` // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. Folder *DatasetFolder `json:"folder,omitempty"` - // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' + // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' Type TypeBasicDataset `json:"type,omitempty"` } @@ -146403,6 +164171,16 @@ func (rtd RelationalTableDataset) AsRelationalTableDataset() (*RelationalTableDa return &rtd, true } +// AsDb2TableDataset is the BasicDataset implementation for RelationalTableDataset. +func (rtd RelationalTableDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for RelationalTableDataset. +func (rtd RelationalTableDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + // AsAzureMySQLTableDataset is the BasicDataset implementation for RelationalTableDataset. func (rtd RelationalTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { return nil, false @@ -146478,6 +164256,11 @@ func (rtd RelationalTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCo return nil, false } +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for RelationalTableDataset. +func (rtd RelationalTableDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + // AsCustomDataset is the BasicDataset implementation for RelationalTableDataset. func (rtd RelationalTableDataset) AsCustomDataset() (*CustomDataset, bool) { return nil, false @@ -146518,6 +164301,16 @@ func (rtd RelationalTableDataset) AsBinaryDataset() (*BinaryDataset, bool) { return nil, false } +// AsOrcDataset is the BasicDataset implementation for RelationalTableDataset. +func (rtd RelationalTableDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for RelationalTableDataset. +func (rtd RelationalTableDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + // AsDelimitedTextDataset is the BasicDataset implementation for RelationalTableDataset. func (rtd RelationalTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { return nil, false @@ -146900,11 +164693,11 @@ type RerunTumblingWindowTrigger struct { AdditionalProperties map[string]interface{} `json:""` // Description - Trigger description. Description *string `json:"description,omitempty"` - // RuntimeState - READ-ONLY; Indicates if trigger is running or not. Updated when Start/Stop APIs are called on the Trigger. Possible values include: 'Started', 'Stopped', 'Disabled' + // RuntimeState - READ-ONLY; Indicates if trigger is running or not. Updated when Start/Stop APIs are called on the Trigger. Possible values include: 'TriggerRuntimeStateStarted', 'TriggerRuntimeStateStopped', 'TriggerRuntimeStateDisabled' RuntimeState TriggerRuntimeState `json:"runtimeState,omitempty"` // Annotations - List of tags that can be used for describing the trigger. Annotations *[]interface{} `json:"annotations,omitempty"` - // Type - Possible values include: 'TypeTrigger', 'TypeRerunTumblingWindowTrigger', 'TypeTumblingWindowTrigger', 'TypeBlobEventsTrigger', 'TypeBlobTrigger', 'TypeScheduleTrigger', 'TypeMultiplePipelineTrigger' + // Type - Possible values include: 'TypeTrigger', 'TypeRerunTumblingWindowTrigger', 'TypeChainingTrigger', 'TypeTumblingWindowTrigger', 'TypeBlobEventsTrigger', 'TypeBlobTrigger', 'TypeScheduleTrigger', 'TypeMultiplePipelineTrigger' Type TypeBasicTrigger `json:"type,omitempty"` } @@ -146935,6 +164728,11 @@ func (rtwt RerunTumblingWindowTrigger) AsRerunTumblingWindowTrigger() (*RerunTum return &rtwt, true } +// AsChainingTrigger is the BasicTrigger implementation for RerunTumblingWindowTrigger. +func (rtwt RerunTumblingWindowTrigger) AsChainingTrigger() (*ChainingTrigger, bool) { + return nil, false +} + // AsTumblingWindowTrigger is the BasicTrigger implementation for RerunTumblingWindowTrigger. func (rtwt RerunTumblingWindowTrigger) AsTumblingWindowTrigger() (*TumblingWindowTrigger, bool) { return nil, false @@ -147111,7 +164909,7 @@ type ResponsysLinkedService struct { Parameters map[string]*ParameterSpecification `json:"parameters"` // Annotations - List of tags that can be used for describing the linked service. Annotations *[]interface{} `json:"annotations,omitempty"` - // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' + // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' Type TypeBasicLinkedService `json:"type,omitempty"` } @@ -147483,6 +165281,11 @@ func (rls ResponsysLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, boo return nil, false } +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for ResponsysLinkedService. +func (rls ResponsysLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + // AsAzureMLLinkedService is the BasicLinkedService implementation for ResponsysLinkedService. func (rls ResponsysLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { return nil, false @@ -147523,6 +165326,16 @@ func (rls ResponsysLinkedService) AsOracleLinkedService() (*OracleLinkedService, return nil, false } +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for ResponsysLinkedService. +func (rls ResponsysLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for ResponsysLinkedService. +func (rls ResponsysLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + // AsFileServerLinkedService is the BasicLinkedService implementation for ResponsysLinkedService. func (rls ResponsysLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { return nil, false @@ -147804,7 +165617,7 @@ type ResponsysObjectDataset struct { Annotations *[]interface{} `json:"annotations,omitempty"` // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. Folder *DatasetFolder `json:"folder,omitempty"` - // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' + // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' Type TypeBasicDataset `json:"type,omitempty"` } @@ -148120,6 +165933,16 @@ func (rod ResponsysObjectDataset) AsRelationalTableDataset() (*RelationalTableDa return nil, false } +// AsDb2TableDataset is the BasicDataset implementation for ResponsysObjectDataset. +func (rod ResponsysObjectDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for ResponsysObjectDataset. +func (rod ResponsysObjectDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + // AsAzureMySQLTableDataset is the BasicDataset implementation for ResponsysObjectDataset. func (rod ResponsysObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { return nil, false @@ -148195,6 +166018,11 @@ func (rod ResponsysObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCo return nil, false } +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for ResponsysObjectDataset. +func (rod ResponsysObjectDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + // AsCustomDataset is the BasicDataset implementation for ResponsysObjectDataset. func (rod ResponsysObjectDataset) AsCustomDataset() (*CustomDataset, bool) { return nil, false @@ -148235,6 +166063,16 @@ func (rod ResponsysObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) { return nil, false } +// AsOrcDataset is the BasicDataset implementation for ResponsysObjectDataset. +func (rod ResponsysObjectDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for ResponsysObjectDataset. +func (rod ResponsysObjectDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + // AsDelimitedTextDataset is the BasicDataset implementation for ResponsysObjectDataset. func (rod ResponsysObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { return nil, false @@ -148377,6 +166215,8 @@ func (rod *ResponsysObjectDataset) UnmarshalJSON(body []byte) error { type ResponsysSource struct { // Query - A query to retrieve data from source. Type: string (or Expression with resultType string). Query interface{} `json:"query,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). @@ -148385,7 +166225,7 @@ type ResponsysSource struct { SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' + // Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' Type TypeBasicCopySource `json:"type,omitempty"` } @@ -148396,6 +166236,9 @@ func (rs ResponsysSource) MarshalJSON() ([]byte, error) { if rs.Query != nil { objectMap["query"] = rs.Query } + if rs.QueryTimeout != nil { + objectMap["queryTimeout"] = rs.QueryTimeout + } if rs.SourceRetryCount != nil { objectMap["sourceRetryCount"] = rs.SourceRetryCount } @@ -148414,6 +166257,121 @@ func (rs ResponsysSource) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } +// AsHTTPSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + // AsAmazonRedshiftSource is the BasicCopySource implementation for ResponsysSource. func (rs ResponsysSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { return nil, false @@ -148589,81 +166547,21 @@ func (rs ResponsysSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { return nil, false } -// AsHTTPSource is the BasicCopySource implementation for ResponsysSource. -func (rs ResponsysSource) AsHTTPSource() (*HTTPSource, bool) { - return nil, false -} - -// AsAzureBlobFSSource is the BasicCopySource implementation for ResponsysSource. -func (rs ResponsysSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { - return nil, false -} - -// AsAzureDataLakeStoreSource is the BasicCopySource implementation for ResponsysSource. -func (rs ResponsysSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { - return nil, false -} - -// AsOffice365Source is the BasicCopySource implementation for ResponsysSource. -func (rs ResponsysSource) AsOffice365Source() (*Office365Source, bool) { - return nil, false -} - -// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for ResponsysSource. -func (rs ResponsysSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { - return nil, false -} - -// AsMongoDbV2Source is the BasicCopySource implementation for ResponsysSource. -func (rs ResponsysSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { - return nil, false -} - -// AsMongoDbSource is the BasicCopySource implementation for ResponsysSource. -func (rs ResponsysSource) AsMongoDbSource() (*MongoDbSource, bool) { - return nil, false -} - // AsCassandraSource is the BasicCopySource implementation for ResponsysSource. func (rs ResponsysSource) AsCassandraSource() (*CassandraSource, bool) { return nil, false } -// AsWebSource is the BasicCopySource implementation for ResponsysSource. -func (rs ResponsysSource) AsWebSource() (*WebSource, bool) { - return nil, false -} - // AsTeradataSource is the BasicCopySource implementation for ResponsysSource. func (rs ResponsysSource) AsTeradataSource() (*TeradataSource, bool) { return nil, false } -// AsOracleSource is the BasicCopySource implementation for ResponsysSource. -func (rs ResponsysSource) AsOracleSource() (*OracleSource, bool) { - return nil, false -} - -// AsAzureDataExplorerSource is the BasicCopySource implementation for ResponsysSource. -func (rs ResponsysSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { - return nil, false -} - // AsAzureMySQLSource is the BasicCopySource implementation for ResponsysSource. func (rs ResponsysSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { return nil, false } -// AsHdfsSource is the BasicCopySource implementation for ResponsysSource. -func (rs ResponsysSource) AsHdfsSource() (*HdfsSource, bool) { - return nil, false -} - -// AsFileSystemSource is the BasicCopySource implementation for ResponsysSource. -func (rs ResponsysSource) AsFileSystemSource() (*FileSystemSource, bool) { - return nil, false -} - // AsSQLDWSource is the BasicCopySource implementation for ResponsysSource. func (rs ResponsysSource) AsSQLDWSource() (*SQLDWSource, bool) { return nil, false @@ -148689,11 +166587,6 @@ func (rs ResponsysSource) AsSQLSource() (*SQLSource, bool) { return nil, false } -// AsRestSource is the BasicCopySource implementation for ResponsysSource. -func (rs ResponsysSource) AsRestSource() (*RestSource, bool) { - return nil, false -} - // AsSapTableSource is the BasicCopySource implementation for ResponsysSource. func (rs ResponsysSource) AsSapTableSource() (*SapTableSource, bool) { return nil, false @@ -148719,21 +166612,11 @@ func (rs ResponsysSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSou return nil, false } -// AsSalesforceServiceCloudSource is the BasicCopySource implementation for ResponsysSource. -func (rs ResponsysSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { - return nil, false -} - // AsSalesforceSource is the BasicCopySource implementation for ResponsysSource. func (rs ResponsysSource) AsSalesforceSource() (*SalesforceSource, bool) { return nil, false } -// AsODataSource is the BasicCopySource implementation for ResponsysSource. -func (rs ResponsysSource) AsODataSource() (*ODataSource, bool) { - return nil, false -} - // AsSapBwSource is the BasicCopySource implementation for ResponsysSource. func (rs ResponsysSource) AsSapBwSource() (*SapBwSource, bool) { return nil, false @@ -148764,53 +166647,38 @@ func (rs ResponsysSource) AsDb2Source() (*Db2Source, bool) { return nil, false } -// AsMicrosoftAccessSource is the BasicCopySource implementation for ResponsysSource. -func (rs ResponsysSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { - return nil, false -} - // AsInformixSource is the BasicCopySource implementation for ResponsysSource. func (rs ResponsysSource) AsInformixSource() (*InformixSource, bool) { return nil, false } -// AsRelationalSource is the BasicCopySource implementation for ResponsysSource. -func (rs ResponsysSource) AsRelationalSource() (*RelationalSource, bool) { - return nil, false -} - -// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for ResponsysSource. -func (rs ResponsysSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { - return nil, false -} - -// AsDynamicsCrmSource is the BasicCopySource implementation for ResponsysSource. -func (rs ResponsysSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { +// AsAzureTableSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsAzureTableSource() (*AzureTableSource, bool) { return nil, false } -// AsDynamicsSource is the BasicCopySource implementation for ResponsysSource. -func (rs ResponsysSource) AsDynamicsSource() (*DynamicsSource, bool) { +// AsTabularSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsTabularSource() (*TabularSource, bool) { return nil, false } -// AsDocumentDbCollectionSource is the BasicCopySource implementation for ResponsysSource. -func (rs ResponsysSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { - return nil, false +// AsBasicTabularSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &rs, true } -// AsBlobSource is the BasicCopySource implementation for ResponsysSource. -func (rs ResponsysSource) AsBlobSource() (*BlobSource, bool) { +// AsBinarySource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsBinarySource() (*BinarySource, bool) { return nil, false } -// AsAzureTableSource is the BasicCopySource implementation for ResponsysSource. -func (rs ResponsysSource) AsAzureTableSource() (*AzureTableSource, bool) { +// AsOrcSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsOrcSource() (*OrcSource, bool) { return nil, false } -// AsBinarySource is the BasicCopySource implementation for ResponsysSource. -func (rs ResponsysSource) AsBinarySource() (*BinarySource, bool) { +// AsJSONSource is the BasicCopySource implementation for ResponsysSource. +func (rs ResponsysSource) AsJSONSource() (*JSONSource, bool) { return nil, false } @@ -148857,6 +166725,15 @@ func (rs *ResponsysSource) UnmarshalJSON(body []byte) error { } rs.Query = query } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + rs.QueryTimeout = queryTimeout + } default: if v != nil { var additionalProperties interface{} @@ -148931,7 +166808,7 @@ type RestResourceDataset struct { Annotations *[]interface{} `json:"annotations,omitempty"` // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. Folder *DatasetFolder `json:"folder,omitempty"` - // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' + // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' Type TypeBasicDataset `json:"type,omitempty"` } @@ -149247,6 +167124,16 @@ func (rrd RestResourceDataset) AsRelationalTableDataset() (*RelationalTableDatas return nil, false } +// AsDb2TableDataset is the BasicDataset implementation for RestResourceDataset. +func (rrd RestResourceDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for RestResourceDataset. +func (rrd RestResourceDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + // AsAzureMySQLTableDataset is the BasicDataset implementation for RestResourceDataset. func (rrd RestResourceDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { return nil, false @@ -149322,6 +167209,11 @@ func (rrd RestResourceDataset) AsDocumentDbCollectionDataset() (*DocumentDbColle return nil, false } +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for RestResourceDataset. +func (rrd RestResourceDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + // AsCustomDataset is the BasicDataset implementation for RestResourceDataset. func (rrd RestResourceDataset) AsCustomDataset() (*CustomDataset, bool) { return nil, false @@ -149362,6 +167254,16 @@ func (rrd RestResourceDataset) AsBinaryDataset() (*BinaryDataset, bool) { return nil, false } +// AsOrcDataset is the BasicDataset implementation for RestResourceDataset. +func (rrd RestResourceDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for RestResourceDataset. +func (rrd RestResourceDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + // AsDelimitedTextDataset is the BasicDataset implementation for RestResourceDataset. func (rrd RestResourceDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { return nil, false @@ -149528,7 +167430,7 @@ type RestServiceLinkedService struct { Parameters map[string]*ParameterSpecification `json:"parameters"` // Annotations - List of tags that can be used for describing the linked service. Annotations *[]interface{} `json:"annotations,omitempty"` - // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' + // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' Type TypeBasicLinkedService `json:"type,omitempty"` } @@ -149900,6 +167802,11 @@ func (rsls RestServiceLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, return nil, false } +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for RestServiceLinkedService. +func (rsls RestServiceLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + // AsAzureMLLinkedService is the BasicLinkedService implementation for RestServiceLinkedService. func (rsls RestServiceLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { return nil, false @@ -149940,6 +167847,16 @@ func (rsls RestServiceLinkedService) AsOracleLinkedService() (*OracleLinkedServi return nil, false } +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for RestServiceLinkedService. +func (rsls RestServiceLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for RestServiceLinkedService. +func (rsls RestServiceLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + // AsFileServerLinkedService is the BasicLinkedService implementation for RestServiceLinkedService. func (rsls RestServiceLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { return nil, false @@ -150255,7 +168172,7 @@ type RestSource struct { SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' + // Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' Type TypeBasicCopySource `json:"type,omitempty"` } @@ -150299,6 +168216,121 @@ func (rs RestSource) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } +// AsHTTPSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsRestSource() (*RestSource, bool) { + return &rs, true +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + // AsAmazonRedshiftSource is the BasicCopySource implementation for RestSource. func (rs RestSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { return nil, false @@ -150474,81 +168506,21 @@ func (rs RestSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { return nil, false } -// AsHTTPSource is the BasicCopySource implementation for RestSource. -func (rs RestSource) AsHTTPSource() (*HTTPSource, bool) { - return nil, false -} - -// AsAzureBlobFSSource is the BasicCopySource implementation for RestSource. -func (rs RestSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { - return nil, false -} - -// AsAzureDataLakeStoreSource is the BasicCopySource implementation for RestSource. -func (rs RestSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { - return nil, false -} - -// AsOffice365Source is the BasicCopySource implementation for RestSource. -func (rs RestSource) AsOffice365Source() (*Office365Source, bool) { - return nil, false -} - -// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for RestSource. -func (rs RestSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { - return nil, false -} - -// AsMongoDbV2Source is the BasicCopySource implementation for RestSource. -func (rs RestSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { - return nil, false -} - -// AsMongoDbSource is the BasicCopySource implementation for RestSource. -func (rs RestSource) AsMongoDbSource() (*MongoDbSource, bool) { - return nil, false -} - // AsCassandraSource is the BasicCopySource implementation for RestSource. func (rs RestSource) AsCassandraSource() (*CassandraSource, bool) { return nil, false } -// AsWebSource is the BasicCopySource implementation for RestSource. -func (rs RestSource) AsWebSource() (*WebSource, bool) { - return nil, false -} - // AsTeradataSource is the BasicCopySource implementation for RestSource. func (rs RestSource) AsTeradataSource() (*TeradataSource, bool) { return nil, false } -// AsOracleSource is the BasicCopySource implementation for RestSource. -func (rs RestSource) AsOracleSource() (*OracleSource, bool) { - return nil, false -} - -// AsAzureDataExplorerSource is the BasicCopySource implementation for RestSource. -func (rs RestSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { - return nil, false -} - // AsAzureMySQLSource is the BasicCopySource implementation for RestSource. func (rs RestSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { return nil, false } -// AsHdfsSource is the BasicCopySource implementation for RestSource. -func (rs RestSource) AsHdfsSource() (*HdfsSource, bool) { - return nil, false -} - -// AsFileSystemSource is the BasicCopySource implementation for RestSource. -func (rs RestSource) AsFileSystemSource() (*FileSystemSource, bool) { - return nil, false -} - // AsSQLDWSource is the BasicCopySource implementation for RestSource. func (rs RestSource) AsSQLDWSource() (*SQLDWSource, bool) { return nil, false @@ -150574,11 +168546,6 @@ func (rs RestSource) AsSQLSource() (*SQLSource, bool) { return nil, false } -// AsRestSource is the BasicCopySource implementation for RestSource. -func (rs RestSource) AsRestSource() (*RestSource, bool) { - return &rs, true -} - // AsSapTableSource is the BasicCopySource implementation for RestSource. func (rs RestSource) AsSapTableSource() (*SapTableSource, bool) { return nil, false @@ -150604,21 +168571,11 @@ func (rs RestSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, return nil, false } -// AsSalesforceServiceCloudSource is the BasicCopySource implementation for RestSource. -func (rs RestSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { - return nil, false -} - // AsSalesforceSource is the BasicCopySource implementation for RestSource. func (rs RestSource) AsSalesforceSource() (*SalesforceSource, bool) { return nil, false } -// AsODataSource is the BasicCopySource implementation for RestSource. -func (rs RestSource) AsODataSource() (*ODataSource, bool) { - return nil, false -} - // AsSapBwSource is the BasicCopySource implementation for RestSource. func (rs RestSource) AsSapBwSource() (*SapBwSource, bool) { return nil, false @@ -150649,53 +168606,38 @@ func (rs RestSource) AsDb2Source() (*Db2Source, bool) { return nil, false } -// AsMicrosoftAccessSource is the BasicCopySource implementation for RestSource. -func (rs RestSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { - return nil, false -} - // AsInformixSource is the BasicCopySource implementation for RestSource. func (rs RestSource) AsInformixSource() (*InformixSource, bool) { return nil, false } -// AsRelationalSource is the BasicCopySource implementation for RestSource. -func (rs RestSource) AsRelationalSource() (*RelationalSource, bool) { - return nil, false -} - -// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for RestSource. -func (rs RestSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { - return nil, false -} - -// AsDynamicsCrmSource is the BasicCopySource implementation for RestSource. -func (rs RestSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { +// AsAzureTableSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsAzureTableSource() (*AzureTableSource, bool) { return nil, false } -// AsDynamicsSource is the BasicCopySource implementation for RestSource. -func (rs RestSource) AsDynamicsSource() (*DynamicsSource, bool) { +// AsTabularSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsTabularSource() (*TabularSource, bool) { return nil, false } -// AsDocumentDbCollectionSource is the BasicCopySource implementation for RestSource. -func (rs RestSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { +// AsBasicTabularSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsBasicTabularSource() (BasicTabularSource, bool) { return nil, false } -// AsBlobSource is the BasicCopySource implementation for RestSource. -func (rs RestSource) AsBlobSource() (*BlobSource, bool) { +// AsBinarySource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsBinarySource() (*BinarySource, bool) { return nil, false } -// AsAzureTableSource is the BasicCopySource implementation for RestSource. -func (rs RestSource) AsAzureTableSource() (*AzureTableSource, bool) { +// AsOrcSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsOrcSource() (*OrcSource, bool) { return nil, false } -// AsBinarySource is the BasicCopySource implementation for RestSource. -func (rs RestSource) AsBinarySource() (*BinarySource, bool) { +// AsJSONSource is the BasicCopySource implementation for RestSource. +func (rs RestSource) AsJSONSource() (*JSONSource, bool) { return nil, false } @@ -150895,7 +168837,7 @@ type SalesforceLinkedService struct { Parameters map[string]*ParameterSpecification `json:"parameters"` // Annotations - List of tags that can be used for describing the linked service. Annotations *[]interface{} `json:"annotations,omitempty"` - // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' + // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' Type TypeBasicLinkedService `json:"type,omitempty"` } @@ -151267,6 +169209,11 @@ func (sls SalesforceLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bo return nil, false } +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for SalesforceLinkedService. +func (sls SalesforceLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + // AsAzureMLLinkedService is the BasicLinkedService implementation for SalesforceLinkedService. func (sls SalesforceLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { return nil, false @@ -151307,6 +169254,16 @@ func (sls SalesforceLinkedService) AsOracleLinkedService() (*OracleLinkedService return nil, false } +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for SalesforceLinkedService. +func (sls SalesforceLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for SalesforceLinkedService. +func (sls SalesforceLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + // AsFileServerLinkedService is the BasicLinkedService implementation for SalesforceLinkedService. func (sls SalesforceLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { return nil, false @@ -151559,7 +169516,7 @@ type SalesforceMarketingCloudLinkedService struct { Parameters map[string]*ParameterSpecification `json:"parameters"` // Annotations - List of tags that can be used for describing the linked service. Annotations *[]interface{} `json:"annotations,omitempty"` - // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' + // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' Type TypeBasicLinkedService `json:"type,omitempty"` } @@ -151931,6 +169888,11 @@ func (smcls SalesforceMarketingCloudLinkedService) AsOdbcLinkedService() (*OdbcL return nil, false } +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService. +func (smcls SalesforceMarketingCloudLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + // AsAzureMLLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService. func (smcls SalesforceMarketingCloudLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { return nil, false @@ -151971,6 +169933,16 @@ func (smcls SalesforceMarketingCloudLinkedService) AsOracleLinkedService() (*Ora return nil, false } +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService. +func (smcls SalesforceMarketingCloudLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService. +func (smcls SalesforceMarketingCloudLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + // AsFileServerLinkedService is the BasicLinkedService implementation for SalesforceMarketingCloudLinkedService. func (smcls SalesforceMarketingCloudLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { return nil, false @@ -152242,7 +170214,7 @@ type SalesforceMarketingCloudObjectDataset struct { Annotations *[]interface{} `json:"annotations,omitempty"` // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. Folder *DatasetFolder `json:"folder,omitempty"` - // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' + // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' Type TypeBasicDataset `json:"type,omitempty"` } @@ -152558,6 +170530,16 @@ func (smcod SalesforceMarketingCloudObjectDataset) AsRelationalTableDataset() (* return nil, false } +// AsDb2TableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset. +func (smcod SalesforceMarketingCloudObjectDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset. +func (smcod SalesforceMarketingCloudObjectDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + // AsAzureMySQLTableDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset. func (smcod SalesforceMarketingCloudObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { return nil, false @@ -152633,6 +170615,11 @@ func (smcod SalesforceMarketingCloudObjectDataset) AsDocumentDbCollectionDataset return nil, false } +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset. +func (smcod SalesforceMarketingCloudObjectDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + // AsCustomDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset. func (smcod SalesforceMarketingCloudObjectDataset) AsCustomDataset() (*CustomDataset, bool) { return nil, false @@ -152673,6 +170660,16 @@ func (smcod SalesforceMarketingCloudObjectDataset) AsBinaryDataset() (*BinaryDat return nil, false } +// AsOrcDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset. +func (smcod SalesforceMarketingCloudObjectDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset. +func (smcod SalesforceMarketingCloudObjectDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + // AsDelimitedTextDataset is the BasicDataset implementation for SalesforceMarketingCloudObjectDataset. func (smcod SalesforceMarketingCloudObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { return nil, false @@ -152815,6 +170812,8 @@ func (smcod *SalesforceMarketingCloudObjectDataset) UnmarshalJSON(body []byte) e type SalesforceMarketingCloudSource struct { // Query - A query to retrieve data from source. Type: string (or Expression with resultType string). Query interface{} `json:"query,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). @@ -152823,7 +170822,7 @@ type SalesforceMarketingCloudSource struct { SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' + // Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' Type TypeBasicCopySource `json:"type,omitempty"` } @@ -152834,6 +170833,9 @@ func (smcs SalesforceMarketingCloudSource) MarshalJSON() ([]byte, error) { if smcs.Query != nil { objectMap["query"] = smcs.Query } + if smcs.QueryTimeout != nil { + objectMap["queryTimeout"] = smcs.QueryTimeout + } if smcs.SourceRetryCount != nil { objectMap["sourceRetryCount"] = smcs.SourceRetryCount } @@ -152852,6 +170854,121 @@ func (smcs SalesforceMarketingCloudSource) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } +// AsHTTPSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + // AsAmazonRedshiftSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. func (smcs SalesforceMarketingCloudSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { return nil, false @@ -153027,81 +171144,21 @@ func (smcs SalesforceMarketingCloudSource) AsAmazonMWSSource() (*AmazonMWSSource return nil, false } -// AsHTTPSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. -func (smcs SalesforceMarketingCloudSource) AsHTTPSource() (*HTTPSource, bool) { - return nil, false -} - -// AsAzureBlobFSSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. -func (smcs SalesforceMarketingCloudSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { - return nil, false -} - -// AsAzureDataLakeStoreSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. -func (smcs SalesforceMarketingCloudSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { - return nil, false -} - -// AsOffice365Source is the BasicCopySource implementation for SalesforceMarketingCloudSource. -func (smcs SalesforceMarketingCloudSource) AsOffice365Source() (*Office365Source, bool) { - return nil, false -} - -// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for SalesforceMarketingCloudSource. -func (smcs SalesforceMarketingCloudSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { - return nil, false -} - -// AsMongoDbV2Source is the BasicCopySource implementation for SalesforceMarketingCloudSource. -func (smcs SalesforceMarketingCloudSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { - return nil, false -} - -// AsMongoDbSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. -func (smcs SalesforceMarketingCloudSource) AsMongoDbSource() (*MongoDbSource, bool) { - return nil, false -} - // AsCassandraSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. func (smcs SalesforceMarketingCloudSource) AsCassandraSource() (*CassandraSource, bool) { return nil, false } -// AsWebSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. -func (smcs SalesforceMarketingCloudSource) AsWebSource() (*WebSource, bool) { - return nil, false -} - // AsTeradataSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. func (smcs SalesforceMarketingCloudSource) AsTeradataSource() (*TeradataSource, bool) { return nil, false } -// AsOracleSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. -func (smcs SalesforceMarketingCloudSource) AsOracleSource() (*OracleSource, bool) { - return nil, false -} - -// AsAzureDataExplorerSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. -func (smcs SalesforceMarketingCloudSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { - return nil, false -} - // AsAzureMySQLSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. func (smcs SalesforceMarketingCloudSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { return nil, false } -// AsHdfsSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. -func (smcs SalesforceMarketingCloudSource) AsHdfsSource() (*HdfsSource, bool) { - return nil, false -} - -// AsFileSystemSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. -func (smcs SalesforceMarketingCloudSource) AsFileSystemSource() (*FileSystemSource, bool) { - return nil, false -} - // AsSQLDWSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. func (smcs SalesforceMarketingCloudSource) AsSQLDWSource() (*SQLDWSource, bool) { return nil, false @@ -153127,11 +171184,6 @@ func (smcs SalesforceMarketingCloudSource) AsSQLSource() (*SQLSource, bool) { return nil, false } -// AsRestSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. -func (smcs SalesforceMarketingCloudSource) AsRestSource() (*RestSource, bool) { - return nil, false -} - // AsSapTableSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. func (smcs SalesforceMarketingCloudSource) AsSapTableSource() (*SapTableSource, bool) { return nil, false @@ -153157,21 +171209,11 @@ func (smcs SalesforceMarketingCloudSource) AsSapCloudForCustomerSource() (*SapCl return nil, false } -// AsSalesforceServiceCloudSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. -func (smcs SalesforceMarketingCloudSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { - return nil, false -} - // AsSalesforceSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. func (smcs SalesforceMarketingCloudSource) AsSalesforceSource() (*SalesforceSource, bool) { return nil, false } -// AsODataSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. -func (smcs SalesforceMarketingCloudSource) AsODataSource() (*ODataSource, bool) { - return nil, false -} - // AsSapBwSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. func (smcs SalesforceMarketingCloudSource) AsSapBwSource() (*SapBwSource, bool) { return nil, false @@ -153202,53 +171244,38 @@ func (smcs SalesforceMarketingCloudSource) AsDb2Source() (*Db2Source, bool) { return nil, false } -// AsMicrosoftAccessSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. -func (smcs SalesforceMarketingCloudSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { - return nil, false -} - // AsInformixSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. func (smcs SalesforceMarketingCloudSource) AsInformixSource() (*InformixSource, bool) { return nil, false } -// AsRelationalSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. -func (smcs SalesforceMarketingCloudSource) AsRelationalSource() (*RelationalSource, bool) { - return nil, false -} - -// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. -func (smcs SalesforceMarketingCloudSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { - return nil, false -} - -// AsDynamicsCrmSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. -func (smcs SalesforceMarketingCloudSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { +// AsAzureTableSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsAzureTableSource() (*AzureTableSource, bool) { return nil, false } -// AsDynamicsSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. -func (smcs SalesforceMarketingCloudSource) AsDynamicsSource() (*DynamicsSource, bool) { +// AsTabularSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsTabularSource() (*TabularSource, bool) { return nil, false } -// AsDocumentDbCollectionSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. -func (smcs SalesforceMarketingCloudSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { - return nil, false +// AsBasicTabularSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &smcs, true } -// AsBlobSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. -func (smcs SalesforceMarketingCloudSource) AsBlobSource() (*BlobSource, bool) { +// AsBinarySource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsBinarySource() (*BinarySource, bool) { return nil, false } -// AsAzureTableSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. -func (smcs SalesforceMarketingCloudSource) AsAzureTableSource() (*AzureTableSource, bool) { +// AsOrcSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsOrcSource() (*OrcSource, bool) { return nil, false } -// AsBinarySource is the BasicCopySource implementation for SalesforceMarketingCloudSource. -func (smcs SalesforceMarketingCloudSource) AsBinarySource() (*BinarySource, bool) { +// AsJSONSource is the BasicCopySource implementation for SalesforceMarketingCloudSource. +func (smcs SalesforceMarketingCloudSource) AsJSONSource() (*JSONSource, bool) { return nil, false } @@ -153295,6 +171322,15 @@ func (smcs *SalesforceMarketingCloudSource) UnmarshalJSON(body []byte) error { } smcs.Query = query } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + smcs.QueryTimeout = queryTimeout + } default: if v != nil { var additionalProperties interface{} @@ -153369,7 +171405,7 @@ type SalesforceObjectDataset struct { Annotations *[]interface{} `json:"annotations,omitempty"` // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. Folder *DatasetFolder `json:"folder,omitempty"` - // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' + // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' Type TypeBasicDataset `json:"type,omitempty"` } @@ -153685,6 +171721,16 @@ func (sod SalesforceObjectDataset) AsRelationalTableDataset() (*RelationalTableD return nil, false } +// AsDb2TableDataset is the BasicDataset implementation for SalesforceObjectDataset. +func (sod SalesforceObjectDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for SalesforceObjectDataset. +func (sod SalesforceObjectDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + // AsAzureMySQLTableDataset is the BasicDataset implementation for SalesforceObjectDataset. func (sod SalesforceObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { return nil, false @@ -153760,6 +171806,11 @@ func (sod SalesforceObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbC return nil, false } +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for SalesforceObjectDataset. +func (sod SalesforceObjectDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + // AsCustomDataset is the BasicDataset implementation for SalesforceObjectDataset. func (sod SalesforceObjectDataset) AsCustomDataset() (*CustomDataset, bool) { return nil, false @@ -153800,6 +171851,16 @@ func (sod SalesforceObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) { return nil, false } +// AsOrcDataset is the BasicDataset implementation for SalesforceObjectDataset. +func (sod SalesforceObjectDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for SalesforceObjectDataset. +func (sod SalesforceObjectDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + // AsDelimitedTextDataset is the BasicDataset implementation for SalesforceObjectDataset. func (sod SalesforceObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { return nil, false @@ -153958,7 +172019,7 @@ type SalesforceServiceCloudLinkedService struct { Parameters map[string]*ParameterSpecification `json:"parameters"` // Annotations - List of tags that can be used for describing the linked service. Annotations *[]interface{} `json:"annotations,omitempty"` - // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' + // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' Type TypeBasicLinkedService `json:"type,omitempty"` } @@ -154330,6 +172391,11 @@ func (sscls SalesforceServiceCloudLinkedService) AsOdbcLinkedService() (*OdbcLin return nil, false } +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService. +func (sscls SalesforceServiceCloudLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + // AsAzureMLLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService. func (sscls SalesforceServiceCloudLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { return nil, false @@ -154370,6 +172436,16 @@ func (sscls SalesforceServiceCloudLinkedService) AsOracleLinkedService() (*Oracl return nil, false } +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService. +func (sscls SalesforceServiceCloudLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService. +func (sscls SalesforceServiceCloudLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + // AsFileServerLinkedService is the BasicLinkedService implementation for SalesforceServiceCloudLinkedService. func (sscls SalesforceServiceCloudLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { return nil, false @@ -154639,7 +172715,7 @@ type SalesforceServiceCloudObjectDataset struct { Annotations *[]interface{} `json:"annotations,omitempty"` // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. Folder *DatasetFolder `json:"folder,omitempty"` - // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' + // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' Type TypeBasicDataset `json:"type,omitempty"` } @@ -154955,6 +173031,16 @@ func (sscod SalesforceServiceCloudObjectDataset) AsRelationalTableDataset() (*Re return nil, false } +// AsDb2TableDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset. +func (sscod SalesforceServiceCloudObjectDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset. +func (sscod SalesforceServiceCloudObjectDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + // AsAzureMySQLTableDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset. func (sscod SalesforceServiceCloudObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { return nil, false @@ -155030,6 +173116,11 @@ func (sscod SalesforceServiceCloudObjectDataset) AsDocumentDbCollectionDataset() return nil, false } +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset. +func (sscod SalesforceServiceCloudObjectDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + // AsCustomDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset. func (sscod SalesforceServiceCloudObjectDataset) AsCustomDataset() (*CustomDataset, bool) { return nil, false @@ -155070,6 +173161,16 @@ func (sscod SalesforceServiceCloudObjectDataset) AsBinaryDataset() (*BinaryDatas return nil, false } +// AsOrcDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset. +func (sscod SalesforceServiceCloudObjectDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset. +func (sscod SalesforceServiceCloudObjectDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + // AsDelimitedTextDataset is the BasicDataset implementation for SalesforceServiceCloudObjectDataset. func (sscod SalesforceServiceCloudObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { return nil, false @@ -155234,7 +173335,7 @@ type SalesforceServiceCloudSink struct { SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"` // MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAvroSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzurePostgreSQLSink', 'TypeDelimitedTextSink' + // Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeCosmosDbSQLAPISink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAvroSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzureMySQLSink', 'TypeAzurePostgreSQLSink', 'TypeOrcSink', 'TypeJSONSink', 'TypeDelimitedTextSink' Type TypeBasicCopySink `json:"type,omitempty"` } @@ -155370,6 +173471,11 @@ func (sscs SalesforceServiceCloudSink) AsSQLSink() (*SQLSink, bool) { return nil, false } +// AsCosmosDbSQLAPISink is the BasicCopySink implementation for SalesforceServiceCloudSink. +func (sscs SalesforceServiceCloudSink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) { + return nil, false +} + // AsDocumentDbCollectionSink is the BasicCopySink implementation for SalesforceServiceCloudSink. func (sscs SalesforceServiceCloudSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) { return nil, false @@ -155415,11 +173521,26 @@ func (sscs SalesforceServiceCloudSink) AsSapCloudForCustomerSink() (*SapCloudFor return nil, false } +// AsAzureMySQLSink is the BasicCopySink implementation for SalesforceServiceCloudSink. +func (sscs SalesforceServiceCloudSink) AsAzureMySQLSink() (*AzureMySQLSink, bool) { + return nil, false +} + // AsAzurePostgreSQLSink is the BasicCopySink implementation for SalesforceServiceCloudSink. func (sscs SalesforceServiceCloudSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) { return nil, false } +// AsOrcSink is the BasicCopySink implementation for SalesforceServiceCloudSink. +func (sscs SalesforceServiceCloudSink) AsOrcSink() (*OrcSink, bool) { + return nil, false +} + +// AsJSONSink is the BasicCopySink implementation for SalesforceServiceCloudSink. +func (sscs SalesforceServiceCloudSink) AsJSONSink() (*JSONSink, bool) { + return nil, false +} + // AsDelimitedTextSink is the BasicCopySink implementation for SalesforceServiceCloudSink. func (sscs SalesforceServiceCloudSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) { return nil, false @@ -155557,7 +173678,7 @@ type SalesforceServiceCloudSource struct { SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' + // Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' Type TypeBasicCopySource `json:"type,omitempty"` } @@ -155589,6 +173710,121 @@ func (sscs SalesforceServiceCloudSource) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } +// AsHTTPSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return &sscs, true +} + +// AsODataSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + // AsAmazonRedshiftSource is the BasicCopySource implementation for SalesforceServiceCloudSource. func (sscs SalesforceServiceCloudSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { return nil, false @@ -155764,81 +174000,21 @@ func (sscs SalesforceServiceCloudSource) AsAmazonMWSSource() (*AmazonMWSSource, return nil, false } -// AsHTTPSource is the BasicCopySource implementation for SalesforceServiceCloudSource. -func (sscs SalesforceServiceCloudSource) AsHTTPSource() (*HTTPSource, bool) { - return nil, false -} - -// AsAzureBlobFSSource is the BasicCopySource implementation for SalesforceServiceCloudSource. -func (sscs SalesforceServiceCloudSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { - return nil, false -} - -// AsAzureDataLakeStoreSource is the BasicCopySource implementation for SalesforceServiceCloudSource. -func (sscs SalesforceServiceCloudSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { - return nil, false -} - -// AsOffice365Source is the BasicCopySource implementation for SalesforceServiceCloudSource. -func (sscs SalesforceServiceCloudSource) AsOffice365Source() (*Office365Source, bool) { - return nil, false -} - -// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for SalesforceServiceCloudSource. -func (sscs SalesforceServiceCloudSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { - return nil, false -} - -// AsMongoDbV2Source is the BasicCopySource implementation for SalesforceServiceCloudSource. -func (sscs SalesforceServiceCloudSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { - return nil, false -} - -// AsMongoDbSource is the BasicCopySource implementation for SalesforceServiceCloudSource. -func (sscs SalesforceServiceCloudSource) AsMongoDbSource() (*MongoDbSource, bool) { - return nil, false -} - // AsCassandraSource is the BasicCopySource implementation for SalesforceServiceCloudSource. func (sscs SalesforceServiceCloudSource) AsCassandraSource() (*CassandraSource, bool) { return nil, false } -// AsWebSource is the BasicCopySource implementation for SalesforceServiceCloudSource. -func (sscs SalesforceServiceCloudSource) AsWebSource() (*WebSource, bool) { - return nil, false -} - // AsTeradataSource is the BasicCopySource implementation for SalesforceServiceCloudSource. func (sscs SalesforceServiceCloudSource) AsTeradataSource() (*TeradataSource, bool) { return nil, false } -// AsOracleSource is the BasicCopySource implementation for SalesforceServiceCloudSource. -func (sscs SalesforceServiceCloudSource) AsOracleSource() (*OracleSource, bool) { - return nil, false -} - -// AsAzureDataExplorerSource is the BasicCopySource implementation for SalesforceServiceCloudSource. -func (sscs SalesforceServiceCloudSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { - return nil, false -} - // AsAzureMySQLSource is the BasicCopySource implementation for SalesforceServiceCloudSource. func (sscs SalesforceServiceCloudSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { return nil, false } -// AsHdfsSource is the BasicCopySource implementation for SalesforceServiceCloudSource. -func (sscs SalesforceServiceCloudSource) AsHdfsSource() (*HdfsSource, bool) { - return nil, false -} - -// AsFileSystemSource is the BasicCopySource implementation for SalesforceServiceCloudSource. -func (sscs SalesforceServiceCloudSource) AsFileSystemSource() (*FileSystemSource, bool) { - return nil, false -} - // AsSQLDWSource is the BasicCopySource implementation for SalesforceServiceCloudSource. func (sscs SalesforceServiceCloudSource) AsSQLDWSource() (*SQLDWSource, bool) { return nil, false @@ -155864,11 +174040,6 @@ func (sscs SalesforceServiceCloudSource) AsSQLSource() (*SQLSource, bool) { return nil, false } -// AsRestSource is the BasicCopySource implementation for SalesforceServiceCloudSource. -func (sscs SalesforceServiceCloudSource) AsRestSource() (*RestSource, bool) { - return nil, false -} - // AsSapTableSource is the BasicCopySource implementation for SalesforceServiceCloudSource. func (sscs SalesforceServiceCloudSource) AsSapTableSource() (*SapTableSource, bool) { return nil, false @@ -155894,21 +174065,11 @@ func (sscs SalesforceServiceCloudSource) AsSapCloudForCustomerSource() (*SapClou return nil, false } -// AsSalesforceServiceCloudSource is the BasicCopySource implementation for SalesforceServiceCloudSource. -func (sscs SalesforceServiceCloudSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { - return &sscs, true -} - // AsSalesforceSource is the BasicCopySource implementation for SalesforceServiceCloudSource. func (sscs SalesforceServiceCloudSource) AsSalesforceSource() (*SalesforceSource, bool) { return nil, false } -// AsODataSource is the BasicCopySource implementation for SalesforceServiceCloudSource. -func (sscs SalesforceServiceCloudSource) AsODataSource() (*ODataSource, bool) { - return nil, false -} - // AsSapBwSource is the BasicCopySource implementation for SalesforceServiceCloudSource. func (sscs SalesforceServiceCloudSource) AsSapBwSource() (*SapBwSource, bool) { return nil, false @@ -155939,53 +174100,38 @@ func (sscs SalesforceServiceCloudSource) AsDb2Source() (*Db2Source, bool) { return nil, false } -// AsMicrosoftAccessSource is the BasicCopySource implementation for SalesforceServiceCloudSource. -func (sscs SalesforceServiceCloudSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { - return nil, false -} - // AsInformixSource is the BasicCopySource implementation for SalesforceServiceCloudSource. func (sscs SalesforceServiceCloudSource) AsInformixSource() (*InformixSource, bool) { return nil, false } -// AsRelationalSource is the BasicCopySource implementation for SalesforceServiceCloudSource. -func (sscs SalesforceServiceCloudSource) AsRelationalSource() (*RelationalSource, bool) { - return nil, false -} - -// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for SalesforceServiceCloudSource. -func (sscs SalesforceServiceCloudSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { - return nil, false -} - -// AsDynamicsCrmSource is the BasicCopySource implementation for SalesforceServiceCloudSource. -func (sscs SalesforceServiceCloudSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { +// AsAzureTableSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsAzureTableSource() (*AzureTableSource, bool) { return nil, false } -// AsDynamicsSource is the BasicCopySource implementation for SalesforceServiceCloudSource. -func (sscs SalesforceServiceCloudSource) AsDynamicsSource() (*DynamicsSource, bool) { +// AsTabularSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsTabularSource() (*TabularSource, bool) { return nil, false } -// AsDocumentDbCollectionSource is the BasicCopySource implementation for SalesforceServiceCloudSource. -func (sscs SalesforceServiceCloudSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { +// AsBasicTabularSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsBasicTabularSource() (BasicTabularSource, bool) { return nil, false } -// AsBlobSource is the BasicCopySource implementation for SalesforceServiceCloudSource. -func (sscs SalesforceServiceCloudSource) AsBlobSource() (*BlobSource, bool) { +// AsBinarySource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsBinarySource() (*BinarySource, bool) { return nil, false } -// AsAzureTableSource is the BasicCopySource implementation for SalesforceServiceCloudSource. -func (sscs SalesforceServiceCloudSource) AsAzureTableSource() (*AzureTableSource, bool) { +// AsOrcSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsOrcSource() (*OrcSource, bool) { return nil, false } -// AsBinarySource is the BasicCopySource implementation for SalesforceServiceCloudSource. -func (sscs SalesforceServiceCloudSource) AsBinarySource() (*BinarySource, bool) { +// AsJSONSource is the BasicCopySource implementation for SalesforceServiceCloudSource. +func (sscs SalesforceServiceCloudSource) AsJSONSource() (*JSONSource, bool) { return nil, false } @@ -156115,7 +174261,7 @@ type SalesforceSink struct { SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"` // MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAvroSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzurePostgreSQLSink', 'TypeDelimitedTextSink' + // Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeCosmosDbSQLAPISink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAvroSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzureMySQLSink', 'TypeAzurePostgreSQLSink', 'TypeOrcSink', 'TypeJSONSink', 'TypeDelimitedTextSink' Type TypeBasicCopySink `json:"type,omitempty"` } @@ -156251,6 +174397,11 @@ func (ss SalesforceSink) AsSQLSink() (*SQLSink, bool) { return nil, false } +// AsCosmosDbSQLAPISink is the BasicCopySink implementation for SalesforceSink. +func (ss SalesforceSink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) { + return nil, false +} + // AsDocumentDbCollectionSink is the BasicCopySink implementation for SalesforceSink. func (ss SalesforceSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) { return nil, false @@ -156296,11 +174447,26 @@ func (ss SalesforceSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, return nil, false } +// AsAzureMySQLSink is the BasicCopySink implementation for SalesforceSink. +func (ss SalesforceSink) AsAzureMySQLSink() (*AzureMySQLSink, bool) { + return nil, false +} + // AsAzurePostgreSQLSink is the BasicCopySink implementation for SalesforceSink. func (ss SalesforceSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) { return nil, false } +// AsOrcSink is the BasicCopySink implementation for SalesforceSink. +func (ss SalesforceSink) AsOrcSink() (*OrcSink, bool) { + return nil, false +} + +// AsJSONSink is the BasicCopySink implementation for SalesforceSink. +func (ss SalesforceSink) AsJSONSink() (*JSONSink, bool) { + return nil, false +} + // AsDelimitedTextSink is the BasicCopySink implementation for SalesforceSink. func (ss SalesforceSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) { return nil, false @@ -156430,6 +174596,8 @@ type SalesforceSource struct { Query interface{} `json:"query,omitempty"` // ReadBehavior - The read behavior for the operation. Default is Query. Possible values include: 'Query', 'QueryAll' ReadBehavior SalesforceSourceReadBehavior `json:"readBehavior,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). @@ -156438,7 +174606,7 @@ type SalesforceSource struct { SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' + // Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' Type TypeBasicCopySource `json:"type,omitempty"` } @@ -156452,6 +174620,9 @@ func (ss SalesforceSource) MarshalJSON() ([]byte, error) { if ss.ReadBehavior != "" { objectMap["readBehavior"] = ss.ReadBehavior } + if ss.QueryTimeout != nil { + objectMap["queryTimeout"] = ss.QueryTimeout + } if ss.SourceRetryCount != nil { objectMap["sourceRetryCount"] = ss.SourceRetryCount } @@ -156470,6 +174641,121 @@ func (ss SalesforceSource) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } +// AsHTTPSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + // AsAmazonRedshiftSource is the BasicCopySource implementation for SalesforceSource. func (ss SalesforceSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { return nil, false @@ -156645,81 +174931,21 @@ func (ss SalesforceSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { return nil, false } -// AsHTTPSource is the BasicCopySource implementation for SalesforceSource. -func (ss SalesforceSource) AsHTTPSource() (*HTTPSource, bool) { - return nil, false -} - -// AsAzureBlobFSSource is the BasicCopySource implementation for SalesforceSource. -func (ss SalesforceSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { - return nil, false -} - -// AsAzureDataLakeStoreSource is the BasicCopySource implementation for SalesforceSource. -func (ss SalesforceSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { - return nil, false -} - -// AsOffice365Source is the BasicCopySource implementation for SalesforceSource. -func (ss SalesforceSource) AsOffice365Source() (*Office365Source, bool) { - return nil, false -} - -// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for SalesforceSource. -func (ss SalesforceSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { - return nil, false -} - -// AsMongoDbV2Source is the BasicCopySource implementation for SalesforceSource. -func (ss SalesforceSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { - return nil, false -} - -// AsMongoDbSource is the BasicCopySource implementation for SalesforceSource. -func (ss SalesforceSource) AsMongoDbSource() (*MongoDbSource, bool) { - return nil, false -} - // AsCassandraSource is the BasicCopySource implementation for SalesforceSource. func (ss SalesforceSource) AsCassandraSource() (*CassandraSource, bool) { return nil, false } -// AsWebSource is the BasicCopySource implementation for SalesforceSource. -func (ss SalesforceSource) AsWebSource() (*WebSource, bool) { - return nil, false -} - // AsTeradataSource is the BasicCopySource implementation for SalesforceSource. func (ss SalesforceSource) AsTeradataSource() (*TeradataSource, bool) { return nil, false } -// AsOracleSource is the BasicCopySource implementation for SalesforceSource. -func (ss SalesforceSource) AsOracleSource() (*OracleSource, bool) { - return nil, false -} - -// AsAzureDataExplorerSource is the BasicCopySource implementation for SalesforceSource. -func (ss SalesforceSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { - return nil, false -} - // AsAzureMySQLSource is the BasicCopySource implementation for SalesforceSource. func (ss SalesforceSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { return nil, false } -// AsHdfsSource is the BasicCopySource implementation for SalesforceSource. -func (ss SalesforceSource) AsHdfsSource() (*HdfsSource, bool) { - return nil, false -} - -// AsFileSystemSource is the BasicCopySource implementation for SalesforceSource. -func (ss SalesforceSource) AsFileSystemSource() (*FileSystemSource, bool) { - return nil, false -} - // AsSQLDWSource is the BasicCopySource implementation for SalesforceSource. func (ss SalesforceSource) AsSQLDWSource() (*SQLDWSource, bool) { return nil, false @@ -156745,11 +174971,6 @@ func (ss SalesforceSource) AsSQLSource() (*SQLSource, bool) { return nil, false } -// AsRestSource is the BasicCopySource implementation for SalesforceSource. -func (ss SalesforceSource) AsRestSource() (*RestSource, bool) { - return nil, false -} - // AsSapTableSource is the BasicCopySource implementation for SalesforceSource. func (ss SalesforceSource) AsSapTableSource() (*SapTableSource, bool) { return nil, false @@ -156775,21 +174996,11 @@ func (ss SalesforceSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSo return nil, false } -// AsSalesforceServiceCloudSource is the BasicCopySource implementation for SalesforceSource. -func (ss SalesforceSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { - return nil, false -} - // AsSalesforceSource is the BasicCopySource implementation for SalesforceSource. func (ss SalesforceSource) AsSalesforceSource() (*SalesforceSource, bool) { return &ss, true } -// AsODataSource is the BasicCopySource implementation for SalesforceSource. -func (ss SalesforceSource) AsODataSource() (*ODataSource, bool) { - return nil, false -} - // AsSapBwSource is the BasicCopySource implementation for SalesforceSource. func (ss SalesforceSource) AsSapBwSource() (*SapBwSource, bool) { return nil, false @@ -156820,53 +175031,38 @@ func (ss SalesforceSource) AsDb2Source() (*Db2Source, bool) { return nil, false } -// AsMicrosoftAccessSource is the BasicCopySource implementation for SalesforceSource. -func (ss SalesforceSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { - return nil, false -} - // AsInformixSource is the BasicCopySource implementation for SalesforceSource. func (ss SalesforceSource) AsInformixSource() (*InformixSource, bool) { return nil, false } -// AsRelationalSource is the BasicCopySource implementation for SalesforceSource. -func (ss SalesforceSource) AsRelationalSource() (*RelationalSource, bool) { - return nil, false -} - -// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for SalesforceSource. -func (ss SalesforceSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { - return nil, false -} - -// AsDynamicsCrmSource is the BasicCopySource implementation for SalesforceSource. -func (ss SalesforceSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { +// AsAzureTableSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsAzureTableSource() (*AzureTableSource, bool) { return nil, false } -// AsDynamicsSource is the BasicCopySource implementation for SalesforceSource. -func (ss SalesforceSource) AsDynamicsSource() (*DynamicsSource, bool) { +// AsTabularSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsTabularSource() (*TabularSource, bool) { return nil, false } -// AsDocumentDbCollectionSource is the BasicCopySource implementation for SalesforceSource. -func (ss SalesforceSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { - return nil, false +// AsBasicTabularSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &ss, true } -// AsBlobSource is the BasicCopySource implementation for SalesforceSource. -func (ss SalesforceSource) AsBlobSource() (*BlobSource, bool) { +// AsBinarySource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsBinarySource() (*BinarySource, bool) { return nil, false } -// AsAzureTableSource is the BasicCopySource implementation for SalesforceSource. -func (ss SalesforceSource) AsAzureTableSource() (*AzureTableSource, bool) { +// AsOrcSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsOrcSource() (*OrcSource, bool) { return nil, false } -// AsBinarySource is the BasicCopySource implementation for SalesforceSource. -func (ss SalesforceSource) AsBinarySource() (*BinarySource, bool) { +// AsJSONSource is the BasicCopySource implementation for SalesforceSource. +func (ss SalesforceSource) AsJSONSource() (*JSONSource, bool) { return nil, false } @@ -156922,6 +175118,15 @@ func (ss *SalesforceSource) UnmarshalJSON(body []byte) error { } ss.ReadBehavior = readBehavior } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + ss.QueryTimeout = queryTimeout + } default: if v != nil { var additionalProperties interface{} @@ -156994,7 +175199,7 @@ type SapBwCubeDataset struct { Annotations *[]interface{} `json:"annotations,omitempty"` // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. Folder *DatasetFolder `json:"folder,omitempty"` - // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' + // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' Type TypeBasicDataset `json:"type,omitempty"` } @@ -157307,6 +175512,16 @@ func (sbcd SapBwCubeDataset) AsRelationalTableDataset() (*RelationalTableDataset return nil, false } +// AsDb2TableDataset is the BasicDataset implementation for SapBwCubeDataset. +func (sbcd SapBwCubeDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for SapBwCubeDataset. +func (sbcd SapBwCubeDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + // AsAzureMySQLTableDataset is the BasicDataset implementation for SapBwCubeDataset. func (sbcd SapBwCubeDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { return nil, false @@ -157382,6 +175597,11 @@ func (sbcd SapBwCubeDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollect return nil, false } +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for SapBwCubeDataset. +func (sbcd SapBwCubeDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + // AsCustomDataset is the BasicDataset implementation for SapBwCubeDataset. func (sbcd SapBwCubeDataset) AsCustomDataset() (*CustomDataset, bool) { return nil, false @@ -157422,6 +175642,16 @@ func (sbcd SapBwCubeDataset) AsBinaryDataset() (*BinaryDataset, bool) { return nil, false } +// AsOrcDataset is the BasicDataset implementation for SapBwCubeDataset. +func (sbcd SapBwCubeDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for SapBwCubeDataset. +func (sbcd SapBwCubeDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + // AsDelimitedTextDataset is the BasicDataset implementation for SapBwCubeDataset. func (sbcd SapBwCubeDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { return nil, false @@ -157565,7 +175795,7 @@ type SapBWLinkedService struct { Parameters map[string]*ParameterSpecification `json:"parameters"` // Annotations - List of tags that can be used for describing the linked service. Annotations *[]interface{} `json:"annotations,omitempty"` - // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' + // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' Type TypeBasicLinkedService `json:"type,omitempty"` } @@ -157937,6 +176167,11 @@ func (sbls SapBWLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) return nil, false } +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for SapBWLinkedService. +func (sbls SapBWLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + // AsAzureMLLinkedService is the BasicLinkedService implementation for SapBWLinkedService. func (sbls SapBWLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { return nil, false @@ -157977,6 +176212,16 @@ func (sbls SapBWLinkedService) AsOracleLinkedService() (*OracleLinkedService, bo return nil, false } +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for SapBWLinkedService. +func (sbls SapBWLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for SapBWLinkedService. +func (sbls SapBWLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + // AsFileServerLinkedService is the BasicLinkedService implementation for SapBWLinkedService. func (sbls SapBWLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { return nil, false @@ -158231,6 +176476,8 @@ func (sblstp *SapBWLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error type SapBwSource struct { // Query - MDX query. Type: string (or Expression with resultType string). Query interface{} `json:"query,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). @@ -158239,7 +176486,7 @@ type SapBwSource struct { SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' + // Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' Type TypeBasicCopySource `json:"type,omitempty"` } @@ -158250,6 +176497,9 @@ func (sbs SapBwSource) MarshalJSON() ([]byte, error) { if sbs.Query != nil { objectMap["query"] = sbs.Query } + if sbs.QueryTimeout != nil { + objectMap["queryTimeout"] = sbs.QueryTimeout + } if sbs.SourceRetryCount != nil { objectMap["sourceRetryCount"] = sbs.SourceRetryCount } @@ -158268,6 +176518,121 @@ func (sbs SapBwSource) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } +// AsHTTPSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + // AsAmazonRedshiftSource is the BasicCopySource implementation for SapBwSource. func (sbs SapBwSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { return nil, false @@ -158443,81 +176808,21 @@ func (sbs SapBwSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { return nil, false } -// AsHTTPSource is the BasicCopySource implementation for SapBwSource. -func (sbs SapBwSource) AsHTTPSource() (*HTTPSource, bool) { - return nil, false -} - -// AsAzureBlobFSSource is the BasicCopySource implementation for SapBwSource. -func (sbs SapBwSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { - return nil, false -} - -// AsAzureDataLakeStoreSource is the BasicCopySource implementation for SapBwSource. -func (sbs SapBwSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { - return nil, false -} - -// AsOffice365Source is the BasicCopySource implementation for SapBwSource. -func (sbs SapBwSource) AsOffice365Source() (*Office365Source, bool) { - return nil, false -} - -// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for SapBwSource. -func (sbs SapBwSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { - return nil, false -} - -// AsMongoDbV2Source is the BasicCopySource implementation for SapBwSource. -func (sbs SapBwSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { - return nil, false -} - -// AsMongoDbSource is the BasicCopySource implementation for SapBwSource. -func (sbs SapBwSource) AsMongoDbSource() (*MongoDbSource, bool) { - return nil, false -} - // AsCassandraSource is the BasicCopySource implementation for SapBwSource. func (sbs SapBwSource) AsCassandraSource() (*CassandraSource, bool) { return nil, false } -// AsWebSource is the BasicCopySource implementation for SapBwSource. -func (sbs SapBwSource) AsWebSource() (*WebSource, bool) { - return nil, false -} - // AsTeradataSource is the BasicCopySource implementation for SapBwSource. func (sbs SapBwSource) AsTeradataSource() (*TeradataSource, bool) { return nil, false } -// AsOracleSource is the BasicCopySource implementation for SapBwSource. -func (sbs SapBwSource) AsOracleSource() (*OracleSource, bool) { - return nil, false -} - -// AsAzureDataExplorerSource is the BasicCopySource implementation for SapBwSource. -func (sbs SapBwSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { - return nil, false -} - // AsAzureMySQLSource is the BasicCopySource implementation for SapBwSource. func (sbs SapBwSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { return nil, false } -// AsHdfsSource is the BasicCopySource implementation for SapBwSource. -func (sbs SapBwSource) AsHdfsSource() (*HdfsSource, bool) { - return nil, false -} - -// AsFileSystemSource is the BasicCopySource implementation for SapBwSource. -func (sbs SapBwSource) AsFileSystemSource() (*FileSystemSource, bool) { - return nil, false -} - // AsSQLDWSource is the BasicCopySource implementation for SapBwSource. func (sbs SapBwSource) AsSQLDWSource() (*SQLDWSource, bool) { return nil, false @@ -158543,11 +176848,6 @@ func (sbs SapBwSource) AsSQLSource() (*SQLSource, bool) { return nil, false } -// AsRestSource is the BasicCopySource implementation for SapBwSource. -func (sbs SapBwSource) AsRestSource() (*RestSource, bool) { - return nil, false -} - // AsSapTableSource is the BasicCopySource implementation for SapBwSource. func (sbs SapBwSource) AsSapTableSource() (*SapTableSource, bool) { return nil, false @@ -158573,21 +176873,11 @@ func (sbs SapBwSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource return nil, false } -// AsSalesforceServiceCloudSource is the BasicCopySource implementation for SapBwSource. -func (sbs SapBwSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { - return nil, false -} - // AsSalesforceSource is the BasicCopySource implementation for SapBwSource. func (sbs SapBwSource) AsSalesforceSource() (*SalesforceSource, bool) { return nil, false } -// AsODataSource is the BasicCopySource implementation for SapBwSource. -func (sbs SapBwSource) AsODataSource() (*ODataSource, bool) { - return nil, false -} - // AsSapBwSource is the BasicCopySource implementation for SapBwSource. func (sbs SapBwSource) AsSapBwSource() (*SapBwSource, bool) { return &sbs, true @@ -158618,53 +176908,38 @@ func (sbs SapBwSource) AsDb2Source() (*Db2Source, bool) { return nil, false } -// AsMicrosoftAccessSource is the BasicCopySource implementation for SapBwSource. -func (sbs SapBwSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { - return nil, false -} - // AsInformixSource is the BasicCopySource implementation for SapBwSource. func (sbs SapBwSource) AsInformixSource() (*InformixSource, bool) { return nil, false } -// AsRelationalSource is the BasicCopySource implementation for SapBwSource. -func (sbs SapBwSource) AsRelationalSource() (*RelationalSource, bool) { - return nil, false -} - -// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for SapBwSource. -func (sbs SapBwSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { - return nil, false -} - -// AsDynamicsCrmSource is the BasicCopySource implementation for SapBwSource. -func (sbs SapBwSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { +// AsAzureTableSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsAzureTableSource() (*AzureTableSource, bool) { return nil, false } -// AsDynamicsSource is the BasicCopySource implementation for SapBwSource. -func (sbs SapBwSource) AsDynamicsSource() (*DynamicsSource, bool) { +// AsTabularSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsTabularSource() (*TabularSource, bool) { return nil, false } -// AsDocumentDbCollectionSource is the BasicCopySource implementation for SapBwSource. -func (sbs SapBwSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { - return nil, false +// AsBasicTabularSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &sbs, true } -// AsBlobSource is the BasicCopySource implementation for SapBwSource. -func (sbs SapBwSource) AsBlobSource() (*BlobSource, bool) { +// AsBinarySource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsBinarySource() (*BinarySource, bool) { return nil, false } -// AsAzureTableSource is the BasicCopySource implementation for SapBwSource. -func (sbs SapBwSource) AsAzureTableSource() (*AzureTableSource, bool) { +// AsOrcSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsOrcSource() (*OrcSource, bool) { return nil, false } -// AsBinarySource is the BasicCopySource implementation for SapBwSource. -func (sbs SapBwSource) AsBinarySource() (*BinarySource, bool) { +// AsJSONSource is the BasicCopySource implementation for SapBwSource. +func (sbs SapBwSource) AsJSONSource() (*JSONSource, bool) { return nil, false } @@ -158711,6 +176986,15 @@ func (sbs *SapBwSource) UnmarshalJSON(body []byte) error { } sbs.Query = query } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + sbs.QueryTimeout = queryTimeout + } default: if v != nil { var additionalProperties interface{} @@ -158779,7 +177063,7 @@ type SapCloudForCustomerLinkedService struct { Parameters map[string]*ParameterSpecification `json:"parameters"` // Annotations - List of tags that can be used for describing the linked service. Annotations *[]interface{} `json:"annotations,omitempty"` - // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' + // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' Type TypeBasicLinkedService `json:"type,omitempty"` } @@ -159151,6 +177435,11 @@ func (scfcls SapCloudForCustomerLinkedService) AsOdbcLinkedService() (*OdbcLinke return nil, false } +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService. +func (scfcls SapCloudForCustomerLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + // AsAzureMLLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService. func (scfcls SapCloudForCustomerLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { return nil, false @@ -159191,6 +177480,16 @@ func (scfcls SapCloudForCustomerLinkedService) AsOracleLinkedService() (*OracleL return nil, false } +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService. +func (scfcls SapCloudForCustomerLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService. +func (scfcls SapCloudForCustomerLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + // AsFileServerLinkedService is the BasicLinkedService implementation for SapCloudForCustomerLinkedService. func (scfcls SapCloudForCustomerLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { return nil, false @@ -159439,7 +177738,7 @@ type SapCloudForCustomerResourceDataset struct { Annotations *[]interface{} `json:"annotations,omitempty"` // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. Folder *DatasetFolder `json:"folder,omitempty"` - // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' + // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' Type TypeBasicDataset `json:"type,omitempty"` } @@ -159755,6 +178054,16 @@ func (scfcrd SapCloudForCustomerResourceDataset) AsRelationalTableDataset() (*Re return nil, false } +// AsDb2TableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset. +func (scfcrd SapCloudForCustomerResourceDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset. +func (scfcrd SapCloudForCustomerResourceDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + // AsAzureMySQLTableDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset. func (scfcrd SapCloudForCustomerResourceDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { return nil, false @@ -159830,6 +178139,11 @@ func (scfcrd SapCloudForCustomerResourceDataset) AsDocumentDbCollectionDataset() return nil, false } +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset. +func (scfcrd SapCloudForCustomerResourceDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + // AsCustomDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset. func (scfcrd SapCloudForCustomerResourceDataset) AsCustomDataset() (*CustomDataset, bool) { return nil, false @@ -159870,6 +178184,16 @@ func (scfcrd SapCloudForCustomerResourceDataset) AsBinaryDataset() (*BinaryDatas return nil, false } +// AsOrcDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset. +func (scfcrd SapCloudForCustomerResourceDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset. +func (scfcrd SapCloudForCustomerResourceDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + // AsDelimitedTextDataset is the BasicDataset implementation for SapCloudForCustomerResourceDataset. func (scfcrd SapCloudForCustomerResourceDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { return nil, false @@ -160031,7 +178355,7 @@ type SapCloudForCustomerSink struct { SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"` // MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAvroSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzurePostgreSQLSink', 'TypeDelimitedTextSink' + // Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeCosmosDbSQLAPISink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAvroSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzureMySQLSink', 'TypeAzurePostgreSQLSink', 'TypeOrcSink', 'TypeJSONSink', 'TypeDelimitedTextSink' Type TypeBasicCopySink `json:"type,omitempty"` } @@ -160161,6 +178485,11 @@ func (scfcs SapCloudForCustomerSink) AsSQLSink() (*SQLSink, bool) { return nil, false } +// AsCosmosDbSQLAPISink is the BasicCopySink implementation for SapCloudForCustomerSink. +func (scfcs SapCloudForCustomerSink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) { + return nil, false +} + // AsDocumentDbCollectionSink is the BasicCopySink implementation for SapCloudForCustomerSink. func (scfcs SapCloudForCustomerSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) { return nil, false @@ -160206,11 +178535,26 @@ func (scfcs SapCloudForCustomerSink) AsSapCloudForCustomerSink() (*SapCloudForCu return &scfcs, true } +// AsAzureMySQLSink is the BasicCopySink implementation for SapCloudForCustomerSink. +func (scfcs SapCloudForCustomerSink) AsAzureMySQLSink() (*AzureMySQLSink, bool) { + return nil, false +} + // AsAzurePostgreSQLSink is the BasicCopySink implementation for SapCloudForCustomerSink. func (scfcs SapCloudForCustomerSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) { return nil, false } +// AsOrcSink is the BasicCopySink implementation for SapCloudForCustomerSink. +func (scfcs SapCloudForCustomerSink) AsOrcSink() (*OrcSink, bool) { + return nil, false +} + +// AsJSONSink is the BasicCopySink implementation for SapCloudForCustomerSink. +func (scfcs SapCloudForCustomerSink) AsJSONSink() (*JSONSink, bool) { + return nil, false +} + // AsDelimitedTextSink is the BasicCopySink implementation for SapCloudForCustomerSink. func (scfcs SapCloudForCustomerSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) { return nil, false @@ -160320,6 +178664,8 @@ func (scfcs *SapCloudForCustomerSink) UnmarshalJSON(body []byte) error { type SapCloudForCustomerSource struct { // Query - SAP Cloud for Customer OData query. For example, "$top=1". Type: string (or Expression with resultType string). Query interface{} `json:"query,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). @@ -160328,7 +178674,7 @@ type SapCloudForCustomerSource struct { SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' + // Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' Type TypeBasicCopySource `json:"type,omitempty"` } @@ -160339,6 +178685,9 @@ func (scfcs SapCloudForCustomerSource) MarshalJSON() ([]byte, error) { if scfcs.Query != nil { objectMap["query"] = scfcs.Query } + if scfcs.QueryTimeout != nil { + objectMap["queryTimeout"] = scfcs.QueryTimeout + } if scfcs.SourceRetryCount != nil { objectMap["sourceRetryCount"] = scfcs.SourceRetryCount } @@ -160357,6 +178706,121 @@ func (scfcs SapCloudForCustomerSource) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } +// AsHTTPSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + // AsAmazonRedshiftSource is the BasicCopySource implementation for SapCloudForCustomerSource. func (scfcs SapCloudForCustomerSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { return nil, false @@ -160532,81 +178996,21 @@ func (scfcs SapCloudForCustomerSource) AsAmazonMWSSource() (*AmazonMWSSource, bo return nil, false } -// AsHTTPSource is the BasicCopySource implementation for SapCloudForCustomerSource. -func (scfcs SapCloudForCustomerSource) AsHTTPSource() (*HTTPSource, bool) { - return nil, false -} - -// AsAzureBlobFSSource is the BasicCopySource implementation for SapCloudForCustomerSource. -func (scfcs SapCloudForCustomerSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { - return nil, false -} - -// AsAzureDataLakeStoreSource is the BasicCopySource implementation for SapCloudForCustomerSource. -func (scfcs SapCloudForCustomerSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { - return nil, false -} - -// AsOffice365Source is the BasicCopySource implementation for SapCloudForCustomerSource. -func (scfcs SapCloudForCustomerSource) AsOffice365Source() (*Office365Source, bool) { - return nil, false -} - -// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for SapCloudForCustomerSource. -func (scfcs SapCloudForCustomerSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { - return nil, false -} - -// AsMongoDbV2Source is the BasicCopySource implementation for SapCloudForCustomerSource. -func (scfcs SapCloudForCustomerSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { - return nil, false -} - -// AsMongoDbSource is the BasicCopySource implementation for SapCloudForCustomerSource. -func (scfcs SapCloudForCustomerSource) AsMongoDbSource() (*MongoDbSource, bool) { - return nil, false -} - // AsCassandraSource is the BasicCopySource implementation for SapCloudForCustomerSource. func (scfcs SapCloudForCustomerSource) AsCassandraSource() (*CassandraSource, bool) { return nil, false } -// AsWebSource is the BasicCopySource implementation for SapCloudForCustomerSource. -func (scfcs SapCloudForCustomerSource) AsWebSource() (*WebSource, bool) { - return nil, false -} - // AsTeradataSource is the BasicCopySource implementation for SapCloudForCustomerSource. func (scfcs SapCloudForCustomerSource) AsTeradataSource() (*TeradataSource, bool) { return nil, false } -// AsOracleSource is the BasicCopySource implementation for SapCloudForCustomerSource. -func (scfcs SapCloudForCustomerSource) AsOracleSource() (*OracleSource, bool) { - return nil, false -} - -// AsAzureDataExplorerSource is the BasicCopySource implementation for SapCloudForCustomerSource. -func (scfcs SapCloudForCustomerSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { - return nil, false -} - // AsAzureMySQLSource is the BasicCopySource implementation for SapCloudForCustomerSource. func (scfcs SapCloudForCustomerSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { return nil, false } -// AsHdfsSource is the BasicCopySource implementation for SapCloudForCustomerSource. -func (scfcs SapCloudForCustomerSource) AsHdfsSource() (*HdfsSource, bool) { - return nil, false -} - -// AsFileSystemSource is the BasicCopySource implementation for SapCloudForCustomerSource. -func (scfcs SapCloudForCustomerSource) AsFileSystemSource() (*FileSystemSource, bool) { - return nil, false -} - // AsSQLDWSource is the BasicCopySource implementation for SapCloudForCustomerSource. func (scfcs SapCloudForCustomerSource) AsSQLDWSource() (*SQLDWSource, bool) { return nil, false @@ -160632,11 +179036,6 @@ func (scfcs SapCloudForCustomerSource) AsSQLSource() (*SQLSource, bool) { return nil, false } -// AsRestSource is the BasicCopySource implementation for SapCloudForCustomerSource. -func (scfcs SapCloudForCustomerSource) AsRestSource() (*RestSource, bool) { - return nil, false -} - // AsSapTableSource is the BasicCopySource implementation for SapCloudForCustomerSource. func (scfcs SapCloudForCustomerSource) AsSapTableSource() (*SapTableSource, bool) { return nil, false @@ -160662,21 +179061,11 @@ func (scfcs SapCloudForCustomerSource) AsSapCloudForCustomerSource() (*SapCloudF return &scfcs, true } -// AsSalesforceServiceCloudSource is the BasicCopySource implementation for SapCloudForCustomerSource. -func (scfcs SapCloudForCustomerSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { - return nil, false -} - // AsSalesforceSource is the BasicCopySource implementation for SapCloudForCustomerSource. func (scfcs SapCloudForCustomerSource) AsSalesforceSource() (*SalesforceSource, bool) { return nil, false } -// AsODataSource is the BasicCopySource implementation for SapCloudForCustomerSource. -func (scfcs SapCloudForCustomerSource) AsODataSource() (*ODataSource, bool) { - return nil, false -} - // AsSapBwSource is the BasicCopySource implementation for SapCloudForCustomerSource. func (scfcs SapCloudForCustomerSource) AsSapBwSource() (*SapBwSource, bool) { return nil, false @@ -160707,53 +179096,38 @@ func (scfcs SapCloudForCustomerSource) AsDb2Source() (*Db2Source, bool) { return nil, false } -// AsMicrosoftAccessSource is the BasicCopySource implementation for SapCloudForCustomerSource. -func (scfcs SapCloudForCustomerSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { - return nil, false -} - // AsInformixSource is the BasicCopySource implementation for SapCloudForCustomerSource. func (scfcs SapCloudForCustomerSource) AsInformixSource() (*InformixSource, bool) { return nil, false } -// AsRelationalSource is the BasicCopySource implementation for SapCloudForCustomerSource. -func (scfcs SapCloudForCustomerSource) AsRelationalSource() (*RelationalSource, bool) { - return nil, false -} - -// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for SapCloudForCustomerSource. -func (scfcs SapCloudForCustomerSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { - return nil, false -} - -// AsDynamicsCrmSource is the BasicCopySource implementation for SapCloudForCustomerSource. -func (scfcs SapCloudForCustomerSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { +// AsAzureTableSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsAzureTableSource() (*AzureTableSource, bool) { return nil, false } -// AsDynamicsSource is the BasicCopySource implementation for SapCloudForCustomerSource. -func (scfcs SapCloudForCustomerSource) AsDynamicsSource() (*DynamicsSource, bool) { +// AsTabularSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsTabularSource() (*TabularSource, bool) { return nil, false } -// AsDocumentDbCollectionSource is the BasicCopySource implementation for SapCloudForCustomerSource. -func (scfcs SapCloudForCustomerSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { - return nil, false +// AsBasicTabularSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &scfcs, true } -// AsBlobSource is the BasicCopySource implementation for SapCloudForCustomerSource. -func (scfcs SapCloudForCustomerSource) AsBlobSource() (*BlobSource, bool) { +// AsBinarySource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsBinarySource() (*BinarySource, bool) { return nil, false } -// AsAzureTableSource is the BasicCopySource implementation for SapCloudForCustomerSource. -func (scfcs SapCloudForCustomerSource) AsAzureTableSource() (*AzureTableSource, bool) { +// AsOrcSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsOrcSource() (*OrcSource, bool) { return nil, false } -// AsBinarySource is the BasicCopySource implementation for SapCloudForCustomerSource. -func (scfcs SapCloudForCustomerSource) AsBinarySource() (*BinarySource, bool) { +// AsJSONSource is the BasicCopySource implementation for SapCloudForCustomerSource. +func (scfcs SapCloudForCustomerSource) AsJSONSource() (*JSONSource, bool) { return nil, false } @@ -160800,6 +179174,15 @@ func (scfcs *SapCloudForCustomerSource) UnmarshalJSON(body []byte) error { } scfcs.Query = query } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + scfcs.QueryTimeout = queryTimeout + } default: if v != nil { var additionalProperties interface{} @@ -160868,7 +179251,7 @@ type SapEccLinkedService struct { Parameters map[string]*ParameterSpecification `json:"parameters"` // Annotations - List of tags that can be used for describing the linked service. Annotations *[]interface{} `json:"annotations,omitempty"` - // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' + // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' Type TypeBasicLinkedService `json:"type,omitempty"` } @@ -161240,6 +179623,11 @@ func (sels SapEccLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) return nil, false } +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for SapEccLinkedService. +func (sels SapEccLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + // AsAzureMLLinkedService is the BasicLinkedService implementation for SapEccLinkedService. func (sels SapEccLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { return nil, false @@ -161280,6 +179668,16 @@ func (sels SapEccLinkedService) AsOracleLinkedService() (*OracleLinkedService, b return nil, false } +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for SapEccLinkedService. +func (sels SapEccLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for SapEccLinkedService. +func (sels SapEccLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + // AsFileServerLinkedService is the BasicLinkedService implementation for SapEccLinkedService. func (sels SapEccLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { return nil, false @@ -161528,7 +179926,7 @@ type SapEccResourceDataset struct { Annotations *[]interface{} `json:"annotations,omitempty"` // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. Folder *DatasetFolder `json:"folder,omitempty"` - // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' + // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' Type TypeBasicDataset `json:"type,omitempty"` } @@ -161844,6 +180242,16 @@ func (serd SapEccResourceDataset) AsRelationalTableDataset() (*RelationalTableDa return nil, false } +// AsDb2TableDataset is the BasicDataset implementation for SapEccResourceDataset. +func (serd SapEccResourceDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for SapEccResourceDataset. +func (serd SapEccResourceDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + // AsAzureMySQLTableDataset is the BasicDataset implementation for SapEccResourceDataset. func (serd SapEccResourceDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { return nil, false @@ -161919,6 +180327,11 @@ func (serd SapEccResourceDataset) AsDocumentDbCollectionDataset() (*DocumentDbCo return nil, false } +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for SapEccResourceDataset. +func (serd SapEccResourceDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + // AsCustomDataset is the BasicDataset implementation for SapEccResourceDataset. func (serd SapEccResourceDataset) AsCustomDataset() (*CustomDataset, bool) { return nil, false @@ -161959,6 +180372,16 @@ func (serd SapEccResourceDataset) AsBinaryDataset() (*BinaryDataset, bool) { return nil, false } +// AsOrcDataset is the BasicDataset implementation for SapEccResourceDataset. +func (serd SapEccResourceDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for SapEccResourceDataset. +func (serd SapEccResourceDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + // AsDelimitedTextDataset is the BasicDataset implementation for SapEccResourceDataset. func (serd SapEccResourceDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { return nil, false @@ -162107,6 +180530,8 @@ type SapEccResourceDatasetTypeProperties struct { type SapEccSource struct { // Query - SAP ECC OData query. For example, "$top=1". Type: string (or Expression with resultType string). Query interface{} `json:"query,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). @@ -162115,7 +180540,7 @@ type SapEccSource struct { SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' + // Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' Type TypeBasicCopySource `json:"type,omitempty"` } @@ -162126,6 +180551,9 @@ func (ses SapEccSource) MarshalJSON() ([]byte, error) { if ses.Query != nil { objectMap["query"] = ses.Query } + if ses.QueryTimeout != nil { + objectMap["queryTimeout"] = ses.QueryTimeout + } if ses.SourceRetryCount != nil { objectMap["sourceRetryCount"] = ses.SourceRetryCount } @@ -162144,6 +180572,121 @@ func (ses SapEccSource) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } +// AsHTTPSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + // AsAmazonRedshiftSource is the BasicCopySource implementation for SapEccSource. func (ses SapEccSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { return nil, false @@ -162319,81 +180862,21 @@ func (ses SapEccSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { return nil, false } -// AsHTTPSource is the BasicCopySource implementation for SapEccSource. -func (ses SapEccSource) AsHTTPSource() (*HTTPSource, bool) { - return nil, false -} - -// AsAzureBlobFSSource is the BasicCopySource implementation for SapEccSource. -func (ses SapEccSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { - return nil, false -} - -// AsAzureDataLakeStoreSource is the BasicCopySource implementation for SapEccSource. -func (ses SapEccSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { - return nil, false -} - -// AsOffice365Source is the BasicCopySource implementation for SapEccSource. -func (ses SapEccSource) AsOffice365Source() (*Office365Source, bool) { - return nil, false -} - -// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for SapEccSource. -func (ses SapEccSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { - return nil, false -} - -// AsMongoDbV2Source is the BasicCopySource implementation for SapEccSource. -func (ses SapEccSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { - return nil, false -} - -// AsMongoDbSource is the BasicCopySource implementation for SapEccSource. -func (ses SapEccSource) AsMongoDbSource() (*MongoDbSource, bool) { - return nil, false -} - // AsCassandraSource is the BasicCopySource implementation for SapEccSource. func (ses SapEccSource) AsCassandraSource() (*CassandraSource, bool) { return nil, false } -// AsWebSource is the BasicCopySource implementation for SapEccSource. -func (ses SapEccSource) AsWebSource() (*WebSource, bool) { - return nil, false -} - // AsTeradataSource is the BasicCopySource implementation for SapEccSource. func (ses SapEccSource) AsTeradataSource() (*TeradataSource, bool) { return nil, false } -// AsOracleSource is the BasicCopySource implementation for SapEccSource. -func (ses SapEccSource) AsOracleSource() (*OracleSource, bool) { - return nil, false -} - -// AsAzureDataExplorerSource is the BasicCopySource implementation for SapEccSource. -func (ses SapEccSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { - return nil, false -} - // AsAzureMySQLSource is the BasicCopySource implementation for SapEccSource. func (ses SapEccSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { return nil, false } -// AsHdfsSource is the BasicCopySource implementation for SapEccSource. -func (ses SapEccSource) AsHdfsSource() (*HdfsSource, bool) { - return nil, false -} - -// AsFileSystemSource is the BasicCopySource implementation for SapEccSource. -func (ses SapEccSource) AsFileSystemSource() (*FileSystemSource, bool) { - return nil, false -} - // AsSQLDWSource is the BasicCopySource implementation for SapEccSource. func (ses SapEccSource) AsSQLDWSource() (*SQLDWSource, bool) { return nil, false @@ -162419,11 +180902,6 @@ func (ses SapEccSource) AsSQLSource() (*SQLSource, bool) { return nil, false } -// AsRestSource is the BasicCopySource implementation for SapEccSource. -func (ses SapEccSource) AsRestSource() (*RestSource, bool) { - return nil, false -} - // AsSapTableSource is the BasicCopySource implementation for SapEccSource. func (ses SapEccSource) AsSapTableSource() (*SapTableSource, bool) { return nil, false @@ -162449,21 +180927,11 @@ func (ses SapEccSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSourc return nil, false } -// AsSalesforceServiceCloudSource is the BasicCopySource implementation for SapEccSource. -func (ses SapEccSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { - return nil, false -} - // AsSalesforceSource is the BasicCopySource implementation for SapEccSource. func (ses SapEccSource) AsSalesforceSource() (*SalesforceSource, bool) { return nil, false } -// AsODataSource is the BasicCopySource implementation for SapEccSource. -func (ses SapEccSource) AsODataSource() (*ODataSource, bool) { - return nil, false -} - // AsSapBwSource is the BasicCopySource implementation for SapEccSource. func (ses SapEccSource) AsSapBwSource() (*SapBwSource, bool) { return nil, false @@ -162494,53 +180962,38 @@ func (ses SapEccSource) AsDb2Source() (*Db2Source, bool) { return nil, false } -// AsMicrosoftAccessSource is the BasicCopySource implementation for SapEccSource. -func (ses SapEccSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { - return nil, false -} - // AsInformixSource is the BasicCopySource implementation for SapEccSource. func (ses SapEccSource) AsInformixSource() (*InformixSource, bool) { return nil, false } -// AsRelationalSource is the BasicCopySource implementation for SapEccSource. -func (ses SapEccSource) AsRelationalSource() (*RelationalSource, bool) { - return nil, false -} - -// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for SapEccSource. -func (ses SapEccSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { - return nil, false -} - -// AsDynamicsCrmSource is the BasicCopySource implementation for SapEccSource. -func (ses SapEccSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { +// AsAzureTableSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsAzureTableSource() (*AzureTableSource, bool) { return nil, false } -// AsDynamicsSource is the BasicCopySource implementation for SapEccSource. -func (ses SapEccSource) AsDynamicsSource() (*DynamicsSource, bool) { +// AsTabularSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsTabularSource() (*TabularSource, bool) { return nil, false } -// AsDocumentDbCollectionSource is the BasicCopySource implementation for SapEccSource. -func (ses SapEccSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { - return nil, false +// AsBasicTabularSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &ses, true } -// AsBlobSource is the BasicCopySource implementation for SapEccSource. -func (ses SapEccSource) AsBlobSource() (*BlobSource, bool) { +// AsBinarySource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsBinarySource() (*BinarySource, bool) { return nil, false } -// AsAzureTableSource is the BasicCopySource implementation for SapEccSource. -func (ses SapEccSource) AsAzureTableSource() (*AzureTableSource, bool) { +// AsOrcSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsOrcSource() (*OrcSource, bool) { return nil, false } -// AsBinarySource is the BasicCopySource implementation for SapEccSource. -func (ses SapEccSource) AsBinarySource() (*BinarySource, bool) { +// AsJSONSource is the BasicCopySource implementation for SapEccSource. +func (ses SapEccSource) AsJSONSource() (*JSONSource, bool) { return nil, false } @@ -162587,6 +181040,15 @@ func (ses *SapEccSource) UnmarshalJSON(body []byte) error { } ses.Query = query } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + ses.QueryTimeout = queryTimeout + } default: if v != nil { var additionalProperties interface{} @@ -162655,7 +181117,7 @@ type SapHanaLinkedService struct { Parameters map[string]*ParameterSpecification `json:"parameters"` // Annotations - List of tags that can be used for describing the linked service. Annotations *[]interface{} `json:"annotations,omitempty"` - // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' + // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' Type TypeBasicLinkedService `json:"type,omitempty"` } @@ -163027,6 +181489,11 @@ func (shls SapHanaLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool return nil, false } +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for SapHanaLinkedService. +func (shls SapHanaLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + // AsAzureMLLinkedService is the BasicLinkedService implementation for SapHanaLinkedService. func (shls SapHanaLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { return nil, false @@ -163067,6 +181534,16 @@ func (shls SapHanaLinkedService) AsOracleLinkedService() (*OracleLinkedService, return nil, false } +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for SapHanaLinkedService. +func (shls SapHanaLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for SapHanaLinkedService. +func (shls SapHanaLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + // AsFileServerLinkedService is the BasicLinkedService implementation for SapHanaLinkedService. func (shls SapHanaLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { return nil, false @@ -163323,6 +181800,8 @@ type SapHanaSource struct { Query interface{} `json:"query,omitempty"` // PacketSize - The packet size of data read from SAP HANA. Type: integer(or Expression with resultType integer). PacketSize interface{} `json:"packetSize,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). @@ -163331,7 +181810,7 @@ type SapHanaSource struct { SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' + // Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' Type TypeBasicCopySource `json:"type,omitempty"` } @@ -163345,6 +181824,9 @@ func (shs SapHanaSource) MarshalJSON() ([]byte, error) { if shs.PacketSize != nil { objectMap["packetSize"] = shs.PacketSize } + if shs.QueryTimeout != nil { + objectMap["queryTimeout"] = shs.QueryTimeout + } if shs.SourceRetryCount != nil { objectMap["sourceRetryCount"] = shs.SourceRetryCount } @@ -163363,6 +181845,121 @@ func (shs SapHanaSource) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } +// AsHTTPSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + // AsAmazonRedshiftSource is the BasicCopySource implementation for SapHanaSource. func (shs SapHanaSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { return nil, false @@ -163538,81 +182135,21 @@ func (shs SapHanaSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { return nil, false } -// AsHTTPSource is the BasicCopySource implementation for SapHanaSource. -func (shs SapHanaSource) AsHTTPSource() (*HTTPSource, bool) { - return nil, false -} - -// AsAzureBlobFSSource is the BasicCopySource implementation for SapHanaSource. -func (shs SapHanaSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { - return nil, false -} - -// AsAzureDataLakeStoreSource is the BasicCopySource implementation for SapHanaSource. -func (shs SapHanaSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { - return nil, false -} - -// AsOffice365Source is the BasicCopySource implementation for SapHanaSource. -func (shs SapHanaSource) AsOffice365Source() (*Office365Source, bool) { - return nil, false -} - -// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for SapHanaSource. -func (shs SapHanaSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { - return nil, false -} - -// AsMongoDbV2Source is the BasicCopySource implementation for SapHanaSource. -func (shs SapHanaSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { - return nil, false -} - -// AsMongoDbSource is the BasicCopySource implementation for SapHanaSource. -func (shs SapHanaSource) AsMongoDbSource() (*MongoDbSource, bool) { - return nil, false -} - // AsCassandraSource is the BasicCopySource implementation for SapHanaSource. func (shs SapHanaSource) AsCassandraSource() (*CassandraSource, bool) { return nil, false } -// AsWebSource is the BasicCopySource implementation for SapHanaSource. -func (shs SapHanaSource) AsWebSource() (*WebSource, bool) { - return nil, false -} - // AsTeradataSource is the BasicCopySource implementation for SapHanaSource. func (shs SapHanaSource) AsTeradataSource() (*TeradataSource, bool) { return nil, false } -// AsOracleSource is the BasicCopySource implementation for SapHanaSource. -func (shs SapHanaSource) AsOracleSource() (*OracleSource, bool) { - return nil, false -} - -// AsAzureDataExplorerSource is the BasicCopySource implementation for SapHanaSource. -func (shs SapHanaSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { - return nil, false -} - // AsAzureMySQLSource is the BasicCopySource implementation for SapHanaSource. func (shs SapHanaSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { return nil, false } -// AsHdfsSource is the BasicCopySource implementation for SapHanaSource. -func (shs SapHanaSource) AsHdfsSource() (*HdfsSource, bool) { - return nil, false -} - -// AsFileSystemSource is the BasicCopySource implementation for SapHanaSource. -func (shs SapHanaSource) AsFileSystemSource() (*FileSystemSource, bool) { - return nil, false -} - // AsSQLDWSource is the BasicCopySource implementation for SapHanaSource. func (shs SapHanaSource) AsSQLDWSource() (*SQLDWSource, bool) { return nil, false @@ -163638,11 +182175,6 @@ func (shs SapHanaSource) AsSQLSource() (*SQLSource, bool) { return nil, false } -// AsRestSource is the BasicCopySource implementation for SapHanaSource. -func (shs SapHanaSource) AsRestSource() (*RestSource, bool) { - return nil, false -} - // AsSapTableSource is the BasicCopySource implementation for SapHanaSource. func (shs SapHanaSource) AsSapTableSource() (*SapTableSource, bool) { return nil, false @@ -163668,21 +182200,11 @@ func (shs SapHanaSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSour return nil, false } -// AsSalesforceServiceCloudSource is the BasicCopySource implementation for SapHanaSource. -func (shs SapHanaSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { - return nil, false -} - // AsSalesforceSource is the BasicCopySource implementation for SapHanaSource. func (shs SapHanaSource) AsSalesforceSource() (*SalesforceSource, bool) { return nil, false } -// AsODataSource is the BasicCopySource implementation for SapHanaSource. -func (shs SapHanaSource) AsODataSource() (*ODataSource, bool) { - return nil, false -} - // AsSapBwSource is the BasicCopySource implementation for SapHanaSource. func (shs SapHanaSource) AsSapBwSource() (*SapBwSource, bool) { return nil, false @@ -163713,53 +182235,38 @@ func (shs SapHanaSource) AsDb2Source() (*Db2Source, bool) { return nil, false } -// AsMicrosoftAccessSource is the BasicCopySource implementation for SapHanaSource. -func (shs SapHanaSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { - return nil, false -} - // AsInformixSource is the BasicCopySource implementation for SapHanaSource. func (shs SapHanaSource) AsInformixSource() (*InformixSource, bool) { return nil, false } -// AsRelationalSource is the BasicCopySource implementation for SapHanaSource. -func (shs SapHanaSource) AsRelationalSource() (*RelationalSource, bool) { - return nil, false -} - -// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for SapHanaSource. -func (shs SapHanaSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { - return nil, false -} - -// AsDynamicsCrmSource is the BasicCopySource implementation for SapHanaSource. -func (shs SapHanaSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { +// AsAzureTableSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsAzureTableSource() (*AzureTableSource, bool) { return nil, false } -// AsDynamicsSource is the BasicCopySource implementation for SapHanaSource. -func (shs SapHanaSource) AsDynamicsSource() (*DynamicsSource, bool) { +// AsTabularSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsTabularSource() (*TabularSource, bool) { return nil, false } -// AsDocumentDbCollectionSource is the BasicCopySource implementation for SapHanaSource. -func (shs SapHanaSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { - return nil, false +// AsBasicTabularSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &shs, true } -// AsBlobSource is the BasicCopySource implementation for SapHanaSource. -func (shs SapHanaSource) AsBlobSource() (*BlobSource, bool) { +// AsBinarySource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsBinarySource() (*BinarySource, bool) { return nil, false } -// AsAzureTableSource is the BasicCopySource implementation for SapHanaSource. -func (shs SapHanaSource) AsAzureTableSource() (*AzureTableSource, bool) { +// AsOrcSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsOrcSource() (*OrcSource, bool) { return nil, false } -// AsBinarySource is the BasicCopySource implementation for SapHanaSource. -func (shs SapHanaSource) AsBinarySource() (*BinarySource, bool) { +// AsJSONSource is the BasicCopySource implementation for SapHanaSource. +func (shs SapHanaSource) AsJSONSource() (*JSONSource, bool) { return nil, false } @@ -163815,6 +182322,15 @@ func (shs *SapHanaSource) UnmarshalJSON(body []byte) error { } shs.PacketSize = packetSize } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + shs.QueryTimeout = queryTimeout + } default: if v != nil { var additionalProperties interface{} @@ -163889,7 +182405,7 @@ type SapHanaTableDataset struct { Annotations *[]interface{} `json:"annotations,omitempty"` // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. Folder *DatasetFolder `json:"folder,omitempty"` - // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' + // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' Type TypeBasicDataset `json:"type,omitempty"` } @@ -164205,6 +182721,16 @@ func (shtd SapHanaTableDataset) AsRelationalTableDataset() (*RelationalTableData return nil, false } +// AsDb2TableDataset is the BasicDataset implementation for SapHanaTableDataset. +func (shtd SapHanaTableDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for SapHanaTableDataset. +func (shtd SapHanaTableDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + // AsAzureMySQLTableDataset is the BasicDataset implementation for SapHanaTableDataset. func (shtd SapHanaTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { return nil, false @@ -164280,6 +182806,11 @@ func (shtd SapHanaTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbColl return nil, false } +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for SapHanaTableDataset. +func (shtd SapHanaTableDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + // AsCustomDataset is the BasicDataset implementation for SapHanaTableDataset. func (shtd SapHanaTableDataset) AsCustomDataset() (*CustomDataset, bool) { return nil, false @@ -164320,6 +182851,16 @@ func (shtd SapHanaTableDataset) AsBinaryDataset() (*BinaryDataset, bool) { return nil, false } +// AsOrcDataset is the BasicDataset implementation for SapHanaTableDataset. +func (shtd SapHanaTableDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for SapHanaTableDataset. +func (shtd SapHanaTableDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + // AsDelimitedTextDataset is the BasicDataset implementation for SapHanaTableDataset. func (shtd SapHanaTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { return nil, false @@ -164480,7 +183021,7 @@ type SapOpenHubLinkedService struct { Parameters map[string]*ParameterSpecification `json:"parameters"` // Annotations - List of tags that can be used for describing the linked service. Annotations *[]interface{} `json:"annotations,omitempty"` - // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' + // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' Type TypeBasicLinkedService `json:"type,omitempty"` } @@ -164852,6 +183393,11 @@ func (sohls SapOpenHubLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, return nil, false } +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService. +func (sohls SapOpenHubLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + // AsAzureMLLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService. func (sohls SapOpenHubLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { return nil, false @@ -164892,6 +183438,16 @@ func (sohls SapOpenHubLinkedService) AsOracleLinkedService() (*OracleLinkedServi return nil, false } +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService. +func (sohls SapOpenHubLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService. +func (sohls SapOpenHubLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + // AsFileServerLinkedService is the BasicLinkedService implementation for SapOpenHubLinkedService. func (sohls SapOpenHubLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { return nil, false @@ -165160,6 +183716,8 @@ type SapOpenHubSource struct { ExcludeLastRequest interface{} `json:"excludeLastRequest,omitempty"` // BaseRequestID - The ID of request for delta loading. Once it is set, only data with requestId larger than the value of this property will be retrieved. The default value is 0. Type: integer (or Expression with resultType integer ). BaseRequestID interface{} `json:"baseRequestId,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). @@ -165168,7 +183726,7 @@ type SapOpenHubSource struct { SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' + // Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' Type TypeBasicCopySource `json:"type,omitempty"` } @@ -165182,6 +183740,9 @@ func (sohs SapOpenHubSource) MarshalJSON() ([]byte, error) { if sohs.BaseRequestID != nil { objectMap["baseRequestId"] = sohs.BaseRequestID } + if sohs.QueryTimeout != nil { + objectMap["queryTimeout"] = sohs.QueryTimeout + } if sohs.SourceRetryCount != nil { objectMap["sourceRetryCount"] = sohs.SourceRetryCount } @@ -165200,6 +183761,121 @@ func (sohs SapOpenHubSource) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } +// AsHTTPSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + // AsAmazonRedshiftSource is the BasicCopySource implementation for SapOpenHubSource. func (sohs SapOpenHubSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { return nil, false @@ -165375,81 +184051,21 @@ func (sohs SapOpenHubSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { return nil, false } -// AsHTTPSource is the BasicCopySource implementation for SapOpenHubSource. -func (sohs SapOpenHubSource) AsHTTPSource() (*HTTPSource, bool) { - return nil, false -} - -// AsAzureBlobFSSource is the BasicCopySource implementation for SapOpenHubSource. -func (sohs SapOpenHubSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { - return nil, false -} - -// AsAzureDataLakeStoreSource is the BasicCopySource implementation for SapOpenHubSource. -func (sohs SapOpenHubSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { - return nil, false -} - -// AsOffice365Source is the BasicCopySource implementation for SapOpenHubSource. -func (sohs SapOpenHubSource) AsOffice365Source() (*Office365Source, bool) { - return nil, false -} - -// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for SapOpenHubSource. -func (sohs SapOpenHubSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { - return nil, false -} - -// AsMongoDbV2Source is the BasicCopySource implementation for SapOpenHubSource. -func (sohs SapOpenHubSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { - return nil, false -} - -// AsMongoDbSource is the BasicCopySource implementation for SapOpenHubSource. -func (sohs SapOpenHubSource) AsMongoDbSource() (*MongoDbSource, bool) { - return nil, false -} - // AsCassandraSource is the BasicCopySource implementation for SapOpenHubSource. func (sohs SapOpenHubSource) AsCassandraSource() (*CassandraSource, bool) { return nil, false } -// AsWebSource is the BasicCopySource implementation for SapOpenHubSource. -func (sohs SapOpenHubSource) AsWebSource() (*WebSource, bool) { - return nil, false -} - // AsTeradataSource is the BasicCopySource implementation for SapOpenHubSource. func (sohs SapOpenHubSource) AsTeradataSource() (*TeradataSource, bool) { return nil, false } -// AsOracleSource is the BasicCopySource implementation for SapOpenHubSource. -func (sohs SapOpenHubSource) AsOracleSource() (*OracleSource, bool) { - return nil, false -} - -// AsAzureDataExplorerSource is the BasicCopySource implementation for SapOpenHubSource. -func (sohs SapOpenHubSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { - return nil, false -} - // AsAzureMySQLSource is the BasicCopySource implementation for SapOpenHubSource. func (sohs SapOpenHubSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { return nil, false } -// AsHdfsSource is the BasicCopySource implementation for SapOpenHubSource. -func (sohs SapOpenHubSource) AsHdfsSource() (*HdfsSource, bool) { - return nil, false -} - -// AsFileSystemSource is the BasicCopySource implementation for SapOpenHubSource. -func (sohs SapOpenHubSource) AsFileSystemSource() (*FileSystemSource, bool) { - return nil, false -} - // AsSQLDWSource is the BasicCopySource implementation for SapOpenHubSource. func (sohs SapOpenHubSource) AsSQLDWSource() (*SQLDWSource, bool) { return nil, false @@ -165475,11 +184091,6 @@ func (sohs SapOpenHubSource) AsSQLSource() (*SQLSource, bool) { return nil, false } -// AsRestSource is the BasicCopySource implementation for SapOpenHubSource. -func (sohs SapOpenHubSource) AsRestSource() (*RestSource, bool) { - return nil, false -} - // AsSapTableSource is the BasicCopySource implementation for SapOpenHubSource. func (sohs SapOpenHubSource) AsSapTableSource() (*SapTableSource, bool) { return nil, false @@ -165505,21 +184116,11 @@ func (sohs SapOpenHubSource) AsSapCloudForCustomerSource() (*SapCloudForCustomer return nil, false } -// AsSalesforceServiceCloudSource is the BasicCopySource implementation for SapOpenHubSource. -func (sohs SapOpenHubSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { - return nil, false -} - // AsSalesforceSource is the BasicCopySource implementation for SapOpenHubSource. func (sohs SapOpenHubSource) AsSalesforceSource() (*SalesforceSource, bool) { return nil, false } -// AsODataSource is the BasicCopySource implementation for SapOpenHubSource. -func (sohs SapOpenHubSource) AsODataSource() (*ODataSource, bool) { - return nil, false -} - // AsSapBwSource is the BasicCopySource implementation for SapOpenHubSource. func (sohs SapOpenHubSource) AsSapBwSource() (*SapBwSource, bool) { return nil, false @@ -165550,53 +184151,38 @@ func (sohs SapOpenHubSource) AsDb2Source() (*Db2Source, bool) { return nil, false } -// AsMicrosoftAccessSource is the BasicCopySource implementation for SapOpenHubSource. -func (sohs SapOpenHubSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { - return nil, false -} - // AsInformixSource is the BasicCopySource implementation for SapOpenHubSource. func (sohs SapOpenHubSource) AsInformixSource() (*InformixSource, bool) { return nil, false } -// AsRelationalSource is the BasicCopySource implementation for SapOpenHubSource. -func (sohs SapOpenHubSource) AsRelationalSource() (*RelationalSource, bool) { - return nil, false -} - -// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for SapOpenHubSource. -func (sohs SapOpenHubSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { - return nil, false -} - -// AsDynamicsCrmSource is the BasicCopySource implementation for SapOpenHubSource. -func (sohs SapOpenHubSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { +// AsAzureTableSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsAzureTableSource() (*AzureTableSource, bool) { return nil, false } -// AsDynamicsSource is the BasicCopySource implementation for SapOpenHubSource. -func (sohs SapOpenHubSource) AsDynamicsSource() (*DynamicsSource, bool) { +// AsTabularSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsTabularSource() (*TabularSource, bool) { return nil, false } -// AsDocumentDbCollectionSource is the BasicCopySource implementation for SapOpenHubSource. -func (sohs SapOpenHubSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { - return nil, false +// AsBasicTabularSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &sohs, true } -// AsBlobSource is the BasicCopySource implementation for SapOpenHubSource. -func (sohs SapOpenHubSource) AsBlobSource() (*BlobSource, bool) { +// AsBinarySource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsBinarySource() (*BinarySource, bool) { return nil, false } -// AsAzureTableSource is the BasicCopySource implementation for SapOpenHubSource. -func (sohs SapOpenHubSource) AsAzureTableSource() (*AzureTableSource, bool) { +// AsOrcSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsOrcSource() (*OrcSource, bool) { return nil, false } -// AsBinarySource is the BasicCopySource implementation for SapOpenHubSource. -func (sohs SapOpenHubSource) AsBinarySource() (*BinarySource, bool) { +// AsJSONSource is the BasicCopySource implementation for SapOpenHubSource. +func (sohs SapOpenHubSource) AsJSONSource() (*JSONSource, bool) { return nil, false } @@ -165652,6 +184238,15 @@ func (sohs *SapOpenHubSource) UnmarshalJSON(body []byte) error { } sohs.BaseRequestID = baseRequestID } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + sohs.QueryTimeout = queryTimeout + } default: if v != nil { var additionalProperties interface{} @@ -165726,7 +184321,7 @@ type SapOpenHubTableDataset struct { Annotations *[]interface{} `json:"annotations,omitempty"` // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. Folder *DatasetFolder `json:"folder,omitempty"` - // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' + // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' Type TypeBasicDataset `json:"type,omitempty"` } @@ -166042,6 +184637,16 @@ func (sohtd SapOpenHubTableDataset) AsRelationalTableDataset() (*RelationalTable return nil, false } +// AsDb2TableDataset is the BasicDataset implementation for SapOpenHubTableDataset. +func (sohtd SapOpenHubTableDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for SapOpenHubTableDataset. +func (sohtd SapOpenHubTableDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + // AsAzureMySQLTableDataset is the BasicDataset implementation for SapOpenHubTableDataset. func (sohtd SapOpenHubTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { return nil, false @@ -166117,6 +184722,11 @@ func (sohtd SapOpenHubTableDataset) AsDocumentDbCollectionDataset() (*DocumentDb return nil, false } +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for SapOpenHubTableDataset. +func (sohtd SapOpenHubTableDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + // AsCustomDataset is the BasicDataset implementation for SapOpenHubTableDataset. func (sohtd SapOpenHubTableDataset) AsCustomDataset() (*CustomDataset, bool) { return nil, false @@ -166157,6 +184767,16 @@ func (sohtd SapOpenHubTableDataset) AsBinaryDataset() (*BinaryDataset, bool) { return nil, false } +// AsOrcDataset is the BasicDataset implementation for SapOpenHubTableDataset. +func (sohtd SapOpenHubTableDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for SapOpenHubTableDataset. +func (sohtd SapOpenHubTableDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + // AsDelimitedTextDataset is the BasicDataset implementation for SapOpenHubTableDataset. func (sohtd SapOpenHubTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { return nil, false @@ -166319,7 +184939,7 @@ type SapTableLinkedService struct { Parameters map[string]*ParameterSpecification `json:"parameters"` // Annotations - List of tags that can be used for describing the linked service. Annotations *[]interface{} `json:"annotations,omitempty"` - // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' + // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' Type TypeBasicLinkedService `json:"type,omitempty"` } @@ -166691,6 +185311,11 @@ func (stls SapTableLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, boo return nil, false } +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for SapTableLinkedService. +func (stls SapTableLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + // AsAzureMLLinkedService is the BasicLinkedService implementation for SapTableLinkedService. func (stls SapTableLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { return nil, false @@ -166731,6 +185356,16 @@ func (stls SapTableLinkedService) AsOracleLinkedService() (*OracleLinkedService, return nil, false } +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for SapTableLinkedService. +func (stls SapTableLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for SapTableLinkedService. +func (stls SapTableLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + // AsFileServerLinkedService is the BasicLinkedService implementation for SapTableLinkedService. func (stls SapTableLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { return nil, false @@ -167123,7 +185758,7 @@ type SapTableResourceDataset struct { Annotations *[]interface{} `json:"annotations,omitempty"` // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. Folder *DatasetFolder `json:"folder,omitempty"` - // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' + // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' Type TypeBasicDataset `json:"type,omitempty"` } @@ -167439,6 +186074,16 @@ func (strd SapTableResourceDataset) AsRelationalTableDataset() (*RelationalTable return nil, false } +// AsDb2TableDataset is the BasicDataset implementation for SapTableResourceDataset. +func (strd SapTableResourceDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for SapTableResourceDataset. +func (strd SapTableResourceDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + // AsAzureMySQLTableDataset is the BasicDataset implementation for SapTableResourceDataset. func (strd SapTableResourceDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { return nil, false @@ -167514,6 +186159,11 @@ func (strd SapTableResourceDataset) AsDocumentDbCollectionDataset() (*DocumentDb return nil, false } +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for SapTableResourceDataset. +func (strd SapTableResourceDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + // AsCustomDataset is the BasicDataset implementation for SapTableResourceDataset. func (strd SapTableResourceDataset) AsCustomDataset() (*CustomDataset, bool) { return nil, false @@ -167554,6 +186204,16 @@ func (strd SapTableResourceDataset) AsBinaryDataset() (*BinaryDataset, bool) { return nil, false } +// AsOrcDataset is the BasicDataset implementation for SapTableResourceDataset. +func (strd SapTableResourceDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for SapTableResourceDataset. +func (strd SapTableResourceDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + // AsDelimitedTextDataset is the BasicDataset implementation for SapTableResourceDataset. func (strd SapTableResourceDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { return nil, false @@ -167716,6 +186376,8 @@ type SapTableSource struct { PartitionOption SapTablePartitionOption `json:"partitionOption,omitempty"` // PartitionSettings - The settings that will be leveraged for SAP table source partitioning. PartitionSettings *SapTablePartitionSettings `json:"partitionSettings,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). @@ -167724,7 +186386,7 @@ type SapTableSource struct { SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' + // Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' Type TypeBasicCopySource `json:"type,omitempty"` } @@ -167756,6 +186418,9 @@ func (sts SapTableSource) MarshalJSON() ([]byte, error) { if sts.PartitionSettings != nil { objectMap["partitionSettings"] = sts.PartitionSettings } + if sts.QueryTimeout != nil { + objectMap["queryTimeout"] = sts.QueryTimeout + } if sts.SourceRetryCount != nil { objectMap["sourceRetryCount"] = sts.SourceRetryCount } @@ -167774,6 +186439,121 @@ func (sts SapTableSource) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } +// AsHTTPSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + // AsAmazonRedshiftSource is the BasicCopySource implementation for SapTableSource. func (sts SapTableSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { return nil, false @@ -167949,81 +186729,21 @@ func (sts SapTableSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { return nil, false } -// AsHTTPSource is the BasicCopySource implementation for SapTableSource. -func (sts SapTableSource) AsHTTPSource() (*HTTPSource, bool) { - return nil, false -} - -// AsAzureBlobFSSource is the BasicCopySource implementation for SapTableSource. -func (sts SapTableSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { - return nil, false -} - -// AsAzureDataLakeStoreSource is the BasicCopySource implementation for SapTableSource. -func (sts SapTableSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { - return nil, false -} - -// AsOffice365Source is the BasicCopySource implementation for SapTableSource. -func (sts SapTableSource) AsOffice365Source() (*Office365Source, bool) { - return nil, false -} - -// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for SapTableSource. -func (sts SapTableSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { - return nil, false -} - -// AsMongoDbV2Source is the BasicCopySource implementation for SapTableSource. -func (sts SapTableSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { - return nil, false -} - -// AsMongoDbSource is the BasicCopySource implementation for SapTableSource. -func (sts SapTableSource) AsMongoDbSource() (*MongoDbSource, bool) { - return nil, false -} - // AsCassandraSource is the BasicCopySource implementation for SapTableSource. func (sts SapTableSource) AsCassandraSource() (*CassandraSource, bool) { return nil, false } -// AsWebSource is the BasicCopySource implementation for SapTableSource. -func (sts SapTableSource) AsWebSource() (*WebSource, bool) { - return nil, false -} - // AsTeradataSource is the BasicCopySource implementation for SapTableSource. func (sts SapTableSource) AsTeradataSource() (*TeradataSource, bool) { return nil, false } -// AsOracleSource is the BasicCopySource implementation for SapTableSource. -func (sts SapTableSource) AsOracleSource() (*OracleSource, bool) { - return nil, false -} - -// AsAzureDataExplorerSource is the BasicCopySource implementation for SapTableSource. -func (sts SapTableSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { - return nil, false -} - // AsAzureMySQLSource is the BasicCopySource implementation for SapTableSource. func (sts SapTableSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { return nil, false } -// AsHdfsSource is the BasicCopySource implementation for SapTableSource. -func (sts SapTableSource) AsHdfsSource() (*HdfsSource, bool) { - return nil, false -} - -// AsFileSystemSource is the BasicCopySource implementation for SapTableSource. -func (sts SapTableSource) AsFileSystemSource() (*FileSystemSource, bool) { - return nil, false -} - // AsSQLDWSource is the BasicCopySource implementation for SapTableSource. func (sts SapTableSource) AsSQLDWSource() (*SQLDWSource, bool) { return nil, false @@ -168049,11 +186769,6 @@ func (sts SapTableSource) AsSQLSource() (*SQLSource, bool) { return nil, false } -// AsRestSource is the BasicCopySource implementation for SapTableSource. -func (sts SapTableSource) AsRestSource() (*RestSource, bool) { - return nil, false -} - // AsSapTableSource is the BasicCopySource implementation for SapTableSource. func (sts SapTableSource) AsSapTableSource() (*SapTableSource, bool) { return &sts, true @@ -168079,21 +186794,11 @@ func (sts SapTableSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSou return nil, false } -// AsSalesforceServiceCloudSource is the BasicCopySource implementation for SapTableSource. -func (sts SapTableSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { - return nil, false -} - // AsSalesforceSource is the BasicCopySource implementation for SapTableSource. func (sts SapTableSource) AsSalesforceSource() (*SalesforceSource, bool) { return nil, false } -// AsODataSource is the BasicCopySource implementation for SapTableSource. -func (sts SapTableSource) AsODataSource() (*ODataSource, bool) { - return nil, false -} - // AsSapBwSource is the BasicCopySource implementation for SapTableSource. func (sts SapTableSource) AsSapBwSource() (*SapBwSource, bool) { return nil, false @@ -168124,53 +186829,38 @@ func (sts SapTableSource) AsDb2Source() (*Db2Source, bool) { return nil, false } -// AsMicrosoftAccessSource is the BasicCopySource implementation for SapTableSource. -func (sts SapTableSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { - return nil, false -} - // AsInformixSource is the BasicCopySource implementation for SapTableSource. func (sts SapTableSource) AsInformixSource() (*InformixSource, bool) { return nil, false } -// AsRelationalSource is the BasicCopySource implementation for SapTableSource. -func (sts SapTableSource) AsRelationalSource() (*RelationalSource, bool) { - return nil, false -} - -// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for SapTableSource. -func (sts SapTableSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { - return nil, false -} - -// AsDynamicsCrmSource is the BasicCopySource implementation for SapTableSource. -func (sts SapTableSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { +// AsAzureTableSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsAzureTableSource() (*AzureTableSource, bool) { return nil, false } -// AsDynamicsSource is the BasicCopySource implementation for SapTableSource. -func (sts SapTableSource) AsDynamicsSource() (*DynamicsSource, bool) { +// AsTabularSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsTabularSource() (*TabularSource, bool) { return nil, false } -// AsDocumentDbCollectionSource is the BasicCopySource implementation for SapTableSource. -func (sts SapTableSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { - return nil, false +// AsBasicTabularSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &sts, true } -// AsBlobSource is the BasicCopySource implementation for SapTableSource. -func (sts SapTableSource) AsBlobSource() (*BlobSource, bool) { +// AsBinarySource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsBinarySource() (*BinarySource, bool) { return nil, false } -// AsAzureTableSource is the BasicCopySource implementation for SapTableSource. -func (sts SapTableSource) AsAzureTableSource() (*AzureTableSource, bool) { +// AsOrcSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsOrcSource() (*OrcSource, bool) { return nil, false } -// AsBinarySource is the BasicCopySource implementation for SapTableSource. -func (sts SapTableSource) AsBinarySource() (*BinarySource, bool) { +// AsJSONSource is the BasicCopySource implementation for SapTableSource. +func (sts SapTableSource) AsJSONSource() (*JSONSource, bool) { return nil, false } @@ -168280,6 +186970,15 @@ func (sts *SapTableSource) UnmarshalJSON(body []byte) error { } sts.PartitionSettings = &partitionSettings } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + sts.QueryTimeout = queryTimeout + } default: if v != nil { var additionalProperties interface{} @@ -168344,11 +187043,11 @@ type ScheduleTrigger struct { AdditionalProperties map[string]interface{} `json:""` // Description - Trigger description. Description *string `json:"description,omitempty"` - // RuntimeState - READ-ONLY; Indicates if trigger is running or not. Updated when Start/Stop APIs are called on the Trigger. Possible values include: 'Started', 'Stopped', 'Disabled' + // RuntimeState - READ-ONLY; Indicates if trigger is running or not. Updated when Start/Stop APIs are called on the Trigger. Possible values include: 'TriggerRuntimeStateStarted', 'TriggerRuntimeStateStopped', 'TriggerRuntimeStateDisabled' RuntimeState TriggerRuntimeState `json:"runtimeState,omitempty"` // Annotations - List of tags that can be used for describing the trigger. Annotations *[]interface{} `json:"annotations,omitempty"` - // Type - Possible values include: 'TypeTrigger', 'TypeRerunTumblingWindowTrigger', 'TypeTumblingWindowTrigger', 'TypeBlobEventsTrigger', 'TypeBlobTrigger', 'TypeScheduleTrigger', 'TypeMultiplePipelineTrigger' + // Type - Possible values include: 'TypeTrigger', 'TypeRerunTumblingWindowTrigger', 'TypeChainingTrigger', 'TypeTumblingWindowTrigger', 'TypeBlobEventsTrigger', 'TypeBlobTrigger', 'TypeScheduleTrigger', 'TypeMultiplePipelineTrigger' Type TypeBasicTrigger `json:"type,omitempty"` } @@ -168382,6 +187081,11 @@ func (st ScheduleTrigger) AsRerunTumblingWindowTrigger() (*RerunTumblingWindowTr return nil, false } +// AsChainingTrigger is the BasicTrigger implementation for ScheduleTrigger. +func (st ScheduleTrigger) AsChainingTrigger() (*ChainingTrigger, bool) { + return nil, false +} + // AsTumblingWindowTrigger is the BasicTrigger implementation for ScheduleTrigger. func (st ScheduleTrigger) AsTumblingWindowTrigger() (*TumblingWindowTrigger, bool) { return nil, false @@ -169184,7 +187888,7 @@ type ServiceNowLinkedService struct { Parameters map[string]*ParameterSpecification `json:"parameters"` // Annotations - List of tags that can be used for describing the linked service. Annotations *[]interface{} `json:"annotations,omitempty"` - // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' + // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' Type TypeBasicLinkedService `json:"type,omitempty"` } @@ -169556,6 +188260,11 @@ func (snls ServiceNowLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, b return nil, false } +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService. +func (snls ServiceNowLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + // AsAzureMLLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService. func (snls ServiceNowLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { return nil, false @@ -169596,6 +188305,16 @@ func (snls ServiceNowLinkedService) AsOracleLinkedService() (*OracleLinkedServic return nil, false } +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService. +func (snls ServiceNowLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService. +func (snls ServiceNowLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + // AsFileServerLinkedService is the BasicLinkedService implementation for ServiceNowLinkedService. func (snls ServiceNowLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { return nil, false @@ -169909,7 +188628,7 @@ type ServiceNowObjectDataset struct { Annotations *[]interface{} `json:"annotations,omitempty"` // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. Folder *DatasetFolder `json:"folder,omitempty"` - // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' + // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' Type TypeBasicDataset `json:"type,omitempty"` } @@ -170225,6 +188944,16 @@ func (snod ServiceNowObjectDataset) AsRelationalTableDataset() (*RelationalTable return nil, false } +// AsDb2TableDataset is the BasicDataset implementation for ServiceNowObjectDataset. +func (snod ServiceNowObjectDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for ServiceNowObjectDataset. +func (snod ServiceNowObjectDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + // AsAzureMySQLTableDataset is the BasicDataset implementation for ServiceNowObjectDataset. func (snod ServiceNowObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { return nil, false @@ -170300,6 +189029,11 @@ func (snod ServiceNowObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDb return nil, false } +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for ServiceNowObjectDataset. +func (snod ServiceNowObjectDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + // AsCustomDataset is the BasicDataset implementation for ServiceNowObjectDataset. func (snod ServiceNowObjectDataset) AsCustomDataset() (*CustomDataset, bool) { return nil, false @@ -170340,6 +189074,16 @@ func (snod ServiceNowObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) { return nil, false } +// AsOrcDataset is the BasicDataset implementation for ServiceNowObjectDataset. +func (snod ServiceNowObjectDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for ServiceNowObjectDataset. +func (snod ServiceNowObjectDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + // AsDelimitedTextDataset is the BasicDataset implementation for ServiceNowObjectDataset. func (snod ServiceNowObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { return nil, false @@ -170482,6 +189226,8 @@ func (snod *ServiceNowObjectDataset) UnmarshalJSON(body []byte) error { type ServiceNowSource struct { // Query - A query to retrieve data from source. Type: string (or Expression with resultType string). Query interface{} `json:"query,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). @@ -170490,7 +189236,7 @@ type ServiceNowSource struct { SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' + // Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' Type TypeBasicCopySource `json:"type,omitempty"` } @@ -170501,6 +189247,9 @@ func (sns ServiceNowSource) MarshalJSON() ([]byte, error) { if sns.Query != nil { objectMap["query"] = sns.Query } + if sns.QueryTimeout != nil { + objectMap["queryTimeout"] = sns.QueryTimeout + } if sns.SourceRetryCount != nil { objectMap["sourceRetryCount"] = sns.SourceRetryCount } @@ -170519,6 +189268,121 @@ func (sns ServiceNowSource) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } +// AsHTTPSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + // AsAmazonRedshiftSource is the BasicCopySource implementation for ServiceNowSource. func (sns ServiceNowSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { return nil, false @@ -170694,81 +189558,21 @@ func (sns ServiceNowSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { return nil, false } -// AsHTTPSource is the BasicCopySource implementation for ServiceNowSource. -func (sns ServiceNowSource) AsHTTPSource() (*HTTPSource, bool) { - return nil, false -} - -// AsAzureBlobFSSource is the BasicCopySource implementation for ServiceNowSource. -func (sns ServiceNowSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { - return nil, false -} - -// AsAzureDataLakeStoreSource is the BasicCopySource implementation for ServiceNowSource. -func (sns ServiceNowSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { - return nil, false -} - -// AsOffice365Source is the BasicCopySource implementation for ServiceNowSource. -func (sns ServiceNowSource) AsOffice365Source() (*Office365Source, bool) { - return nil, false -} - -// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for ServiceNowSource. -func (sns ServiceNowSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { - return nil, false -} - -// AsMongoDbV2Source is the BasicCopySource implementation for ServiceNowSource. -func (sns ServiceNowSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { - return nil, false -} - -// AsMongoDbSource is the BasicCopySource implementation for ServiceNowSource. -func (sns ServiceNowSource) AsMongoDbSource() (*MongoDbSource, bool) { - return nil, false -} - // AsCassandraSource is the BasicCopySource implementation for ServiceNowSource. func (sns ServiceNowSource) AsCassandraSource() (*CassandraSource, bool) { return nil, false } -// AsWebSource is the BasicCopySource implementation for ServiceNowSource. -func (sns ServiceNowSource) AsWebSource() (*WebSource, bool) { - return nil, false -} - // AsTeradataSource is the BasicCopySource implementation for ServiceNowSource. func (sns ServiceNowSource) AsTeradataSource() (*TeradataSource, bool) { return nil, false } -// AsOracleSource is the BasicCopySource implementation for ServiceNowSource. -func (sns ServiceNowSource) AsOracleSource() (*OracleSource, bool) { - return nil, false -} - -// AsAzureDataExplorerSource is the BasicCopySource implementation for ServiceNowSource. -func (sns ServiceNowSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { - return nil, false -} - // AsAzureMySQLSource is the BasicCopySource implementation for ServiceNowSource. func (sns ServiceNowSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { return nil, false } -// AsHdfsSource is the BasicCopySource implementation for ServiceNowSource. -func (sns ServiceNowSource) AsHdfsSource() (*HdfsSource, bool) { - return nil, false -} - -// AsFileSystemSource is the BasicCopySource implementation for ServiceNowSource. -func (sns ServiceNowSource) AsFileSystemSource() (*FileSystemSource, bool) { - return nil, false -} - // AsSQLDWSource is the BasicCopySource implementation for ServiceNowSource. func (sns ServiceNowSource) AsSQLDWSource() (*SQLDWSource, bool) { return nil, false @@ -170794,11 +189598,6 @@ func (sns ServiceNowSource) AsSQLSource() (*SQLSource, bool) { return nil, false } -// AsRestSource is the BasicCopySource implementation for ServiceNowSource. -func (sns ServiceNowSource) AsRestSource() (*RestSource, bool) { - return nil, false -} - // AsSapTableSource is the BasicCopySource implementation for ServiceNowSource. func (sns ServiceNowSource) AsSapTableSource() (*SapTableSource, bool) { return nil, false @@ -170824,21 +189623,11 @@ func (sns ServiceNowSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerS return nil, false } -// AsSalesforceServiceCloudSource is the BasicCopySource implementation for ServiceNowSource. -func (sns ServiceNowSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { - return nil, false -} - // AsSalesforceSource is the BasicCopySource implementation for ServiceNowSource. func (sns ServiceNowSource) AsSalesforceSource() (*SalesforceSource, bool) { return nil, false } -// AsODataSource is the BasicCopySource implementation for ServiceNowSource. -func (sns ServiceNowSource) AsODataSource() (*ODataSource, bool) { - return nil, false -} - // AsSapBwSource is the BasicCopySource implementation for ServiceNowSource. func (sns ServiceNowSource) AsSapBwSource() (*SapBwSource, bool) { return nil, false @@ -170869,53 +189658,38 @@ func (sns ServiceNowSource) AsDb2Source() (*Db2Source, bool) { return nil, false } -// AsMicrosoftAccessSource is the BasicCopySource implementation for ServiceNowSource. -func (sns ServiceNowSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { - return nil, false -} - // AsInformixSource is the BasicCopySource implementation for ServiceNowSource. func (sns ServiceNowSource) AsInformixSource() (*InformixSource, bool) { return nil, false } -// AsRelationalSource is the BasicCopySource implementation for ServiceNowSource. -func (sns ServiceNowSource) AsRelationalSource() (*RelationalSource, bool) { - return nil, false -} - -// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for ServiceNowSource. -func (sns ServiceNowSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { - return nil, false -} - -// AsDynamicsCrmSource is the BasicCopySource implementation for ServiceNowSource. -func (sns ServiceNowSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { +// AsAzureTableSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsAzureTableSource() (*AzureTableSource, bool) { return nil, false } -// AsDynamicsSource is the BasicCopySource implementation for ServiceNowSource. -func (sns ServiceNowSource) AsDynamicsSource() (*DynamicsSource, bool) { +// AsTabularSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsTabularSource() (*TabularSource, bool) { return nil, false } -// AsDocumentDbCollectionSource is the BasicCopySource implementation for ServiceNowSource. -func (sns ServiceNowSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { - return nil, false +// AsBasicTabularSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &sns, true } -// AsBlobSource is the BasicCopySource implementation for ServiceNowSource. -func (sns ServiceNowSource) AsBlobSource() (*BlobSource, bool) { +// AsBinarySource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsBinarySource() (*BinarySource, bool) { return nil, false } -// AsAzureTableSource is the BasicCopySource implementation for ServiceNowSource. -func (sns ServiceNowSource) AsAzureTableSource() (*AzureTableSource, bool) { +// AsOrcSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsOrcSource() (*OrcSource, bool) { return nil, false } -// AsBinarySource is the BasicCopySource implementation for ServiceNowSource. -func (sns ServiceNowSource) AsBinarySource() (*BinarySource, bool) { +// AsJSONSource is the BasicCopySource implementation for ServiceNowSource. +func (sns ServiceNowSource) AsJSONSource() (*JSONSource, bool) { return nil, false } @@ -170962,6 +189736,15 @@ func (sns *ServiceNowSource) UnmarshalJSON(body []byte) error { } sns.Query = query } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + sns.QueryTimeout = queryTimeout + } default: if v != nil { var additionalProperties interface{} @@ -171030,7 +189813,7 @@ type SetVariableActivity struct { DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"` // UserProperties - Activity user properties. UserProperties *[]UserProperty `json:"userProperties,omitempty"` - // Type - Possible values include: 'TypeActivity', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer' + // Type - Possible values include: 'TypeActivity', 'TypeExecuteDataFlow', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLExecutePipeline', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeSwitch', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer' Type TypeBasicActivity `json:"type,omitempty"` } @@ -171062,6 +189845,11 @@ func (sva SetVariableActivity) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } +// AsExecuteDataFlowActivity is the BasicActivity implementation for SetVariableActivity. +func (sva SetVariableActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) { + return nil, false +} + // AsAzureFunctionActivity is the BasicActivity implementation for SetVariableActivity. func (sva SetVariableActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) { return nil, false @@ -171087,6 +189875,11 @@ func (sva SetVariableActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnaly return nil, false } +// AsAzureMLExecutePipelineActivity is the BasicActivity implementation for SetVariableActivity. +func (sva SetVariableActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) { + return nil, false +} + // AsAzureMLUpdateResourceActivity is the BasicActivity implementation for SetVariableActivity. func (sva SetVariableActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) { return nil, false @@ -171217,6 +190010,11 @@ func (sva SetVariableActivity) AsForEachActivity() (*ForEachActivity, bool) { return nil, false } +// AsSwitchActivity is the BasicActivity implementation for SetVariableActivity. +func (sva SetVariableActivity) AsSwitchActivity() (*SwitchActivity, bool) { + return nil, false +} + // AsIfConditionActivity is the BasicActivity implementation for SetVariableActivity. func (sva SetVariableActivity) AsIfConditionActivity() (*IfConditionActivity, bool) { return nil, false @@ -171574,7 +190372,7 @@ type SftpServerLinkedService struct { Parameters map[string]*ParameterSpecification `json:"parameters"` // Annotations - List of tags that can be used for describing the linked service. Annotations *[]interface{} `json:"annotations,omitempty"` - // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' + // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' Type TypeBasicLinkedService `json:"type,omitempty"` } @@ -171946,6 +190744,11 @@ func (ssls SftpServerLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, b return nil, false } +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for SftpServerLinkedService. +func (ssls SftpServerLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + // AsAzureMLLinkedService is the BasicLinkedService implementation for SftpServerLinkedService. func (ssls SftpServerLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { return nil, false @@ -171986,6 +190789,16 @@ func (ssls SftpServerLinkedService) AsOracleLinkedService() (*OracleLinkedServic return nil, false } +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for SftpServerLinkedService. +func (ssls SftpServerLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for SftpServerLinkedService. +func (ssls SftpServerLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + // AsFileServerLinkedService is the BasicLinkedService implementation for SftpServerLinkedService. func (ssls SftpServerLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { return nil, false @@ -172303,7 +191116,7 @@ type ShopifyLinkedService struct { Parameters map[string]*ParameterSpecification `json:"parameters"` // Annotations - List of tags that can be used for describing the linked service. Annotations *[]interface{} `json:"annotations,omitempty"` - // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' + // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' Type TypeBasicLinkedService `json:"type,omitempty"` } @@ -172675,6 +191488,11 @@ func (sls ShopifyLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) return nil, false } +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for ShopifyLinkedService. +func (sls ShopifyLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + // AsAzureMLLinkedService is the BasicLinkedService implementation for ShopifyLinkedService. func (sls ShopifyLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { return nil, false @@ -172715,6 +191533,16 @@ func (sls ShopifyLinkedService) AsOracleLinkedService() (*OracleLinkedService, b return nil, false } +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for ShopifyLinkedService. +func (sls ShopifyLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for ShopifyLinkedService. +func (sls ShopifyLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + // AsFileServerLinkedService is the BasicLinkedService implementation for ShopifyLinkedService. func (sls ShopifyLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { return nil, false @@ -172985,7 +191813,7 @@ type ShopifyObjectDataset struct { Annotations *[]interface{} `json:"annotations,omitempty"` // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. Folder *DatasetFolder `json:"folder,omitempty"` - // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' + // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' Type TypeBasicDataset `json:"type,omitempty"` } @@ -173301,6 +192129,16 @@ func (sod ShopifyObjectDataset) AsRelationalTableDataset() (*RelationalTableData return nil, false } +// AsDb2TableDataset is the BasicDataset implementation for ShopifyObjectDataset. +func (sod ShopifyObjectDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for ShopifyObjectDataset. +func (sod ShopifyObjectDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + // AsAzureMySQLTableDataset is the BasicDataset implementation for ShopifyObjectDataset. func (sod ShopifyObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { return nil, false @@ -173376,6 +192214,11 @@ func (sod ShopifyObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbColl return nil, false } +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for ShopifyObjectDataset. +func (sod ShopifyObjectDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + // AsCustomDataset is the BasicDataset implementation for ShopifyObjectDataset. func (sod ShopifyObjectDataset) AsCustomDataset() (*CustomDataset, bool) { return nil, false @@ -173416,6 +192259,16 @@ func (sod ShopifyObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) { return nil, false } +// AsOrcDataset is the BasicDataset implementation for ShopifyObjectDataset. +func (sod ShopifyObjectDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for ShopifyObjectDataset. +func (sod ShopifyObjectDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + // AsDelimitedTextDataset is the BasicDataset implementation for ShopifyObjectDataset. func (sod ShopifyObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { return nil, false @@ -173558,6 +192411,8 @@ func (sod *ShopifyObjectDataset) UnmarshalJSON(body []byte) error { type ShopifySource struct { // Query - A query to retrieve data from source. Type: string (or Expression with resultType string). Query interface{} `json:"query,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). @@ -173566,7 +192421,7 @@ type ShopifySource struct { SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' + // Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' Type TypeBasicCopySource `json:"type,omitempty"` } @@ -173577,6 +192432,9 @@ func (ss ShopifySource) MarshalJSON() ([]byte, error) { if ss.Query != nil { objectMap["query"] = ss.Query } + if ss.QueryTimeout != nil { + objectMap["queryTimeout"] = ss.QueryTimeout + } if ss.SourceRetryCount != nil { objectMap["sourceRetryCount"] = ss.SourceRetryCount } @@ -173595,6 +192453,121 @@ func (ss ShopifySource) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } +// AsHTTPSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + // AsAmazonRedshiftSource is the BasicCopySource implementation for ShopifySource. func (ss ShopifySource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { return nil, false @@ -173770,81 +192743,21 @@ func (ss ShopifySource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { return nil, false } -// AsHTTPSource is the BasicCopySource implementation for ShopifySource. -func (ss ShopifySource) AsHTTPSource() (*HTTPSource, bool) { - return nil, false -} - -// AsAzureBlobFSSource is the BasicCopySource implementation for ShopifySource. -func (ss ShopifySource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { - return nil, false -} - -// AsAzureDataLakeStoreSource is the BasicCopySource implementation for ShopifySource. -func (ss ShopifySource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { - return nil, false -} - -// AsOffice365Source is the BasicCopySource implementation for ShopifySource. -func (ss ShopifySource) AsOffice365Source() (*Office365Source, bool) { - return nil, false -} - -// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for ShopifySource. -func (ss ShopifySource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { - return nil, false -} - -// AsMongoDbV2Source is the BasicCopySource implementation for ShopifySource. -func (ss ShopifySource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { - return nil, false -} - -// AsMongoDbSource is the BasicCopySource implementation for ShopifySource. -func (ss ShopifySource) AsMongoDbSource() (*MongoDbSource, bool) { - return nil, false -} - // AsCassandraSource is the BasicCopySource implementation for ShopifySource. func (ss ShopifySource) AsCassandraSource() (*CassandraSource, bool) { return nil, false } -// AsWebSource is the BasicCopySource implementation for ShopifySource. -func (ss ShopifySource) AsWebSource() (*WebSource, bool) { - return nil, false -} - // AsTeradataSource is the BasicCopySource implementation for ShopifySource. func (ss ShopifySource) AsTeradataSource() (*TeradataSource, bool) { return nil, false } -// AsOracleSource is the BasicCopySource implementation for ShopifySource. -func (ss ShopifySource) AsOracleSource() (*OracleSource, bool) { - return nil, false -} - -// AsAzureDataExplorerSource is the BasicCopySource implementation for ShopifySource. -func (ss ShopifySource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { - return nil, false -} - // AsAzureMySQLSource is the BasicCopySource implementation for ShopifySource. func (ss ShopifySource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { return nil, false } -// AsHdfsSource is the BasicCopySource implementation for ShopifySource. -func (ss ShopifySource) AsHdfsSource() (*HdfsSource, bool) { - return nil, false -} - -// AsFileSystemSource is the BasicCopySource implementation for ShopifySource. -func (ss ShopifySource) AsFileSystemSource() (*FileSystemSource, bool) { - return nil, false -} - // AsSQLDWSource is the BasicCopySource implementation for ShopifySource. func (ss ShopifySource) AsSQLDWSource() (*SQLDWSource, bool) { return nil, false @@ -173870,11 +192783,6 @@ func (ss ShopifySource) AsSQLSource() (*SQLSource, bool) { return nil, false } -// AsRestSource is the BasicCopySource implementation for ShopifySource. -func (ss ShopifySource) AsRestSource() (*RestSource, bool) { - return nil, false -} - // AsSapTableSource is the BasicCopySource implementation for ShopifySource. func (ss ShopifySource) AsSapTableSource() (*SapTableSource, bool) { return nil, false @@ -173900,21 +192808,11 @@ func (ss ShopifySource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSourc return nil, false } -// AsSalesforceServiceCloudSource is the BasicCopySource implementation for ShopifySource. -func (ss ShopifySource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { - return nil, false -} - // AsSalesforceSource is the BasicCopySource implementation for ShopifySource. func (ss ShopifySource) AsSalesforceSource() (*SalesforceSource, bool) { return nil, false } -// AsODataSource is the BasicCopySource implementation for ShopifySource. -func (ss ShopifySource) AsODataSource() (*ODataSource, bool) { - return nil, false -} - // AsSapBwSource is the BasicCopySource implementation for ShopifySource. func (ss ShopifySource) AsSapBwSource() (*SapBwSource, bool) { return nil, false @@ -173945,53 +192843,38 @@ func (ss ShopifySource) AsDb2Source() (*Db2Source, bool) { return nil, false } -// AsMicrosoftAccessSource is the BasicCopySource implementation for ShopifySource. -func (ss ShopifySource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { - return nil, false -} - // AsInformixSource is the BasicCopySource implementation for ShopifySource. func (ss ShopifySource) AsInformixSource() (*InformixSource, bool) { return nil, false } -// AsRelationalSource is the BasicCopySource implementation for ShopifySource. -func (ss ShopifySource) AsRelationalSource() (*RelationalSource, bool) { - return nil, false -} - -// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for ShopifySource. -func (ss ShopifySource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { - return nil, false -} - -// AsDynamicsCrmSource is the BasicCopySource implementation for ShopifySource. -func (ss ShopifySource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { +// AsAzureTableSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsAzureTableSource() (*AzureTableSource, bool) { return nil, false } -// AsDynamicsSource is the BasicCopySource implementation for ShopifySource. -func (ss ShopifySource) AsDynamicsSource() (*DynamicsSource, bool) { +// AsTabularSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsTabularSource() (*TabularSource, bool) { return nil, false } -// AsDocumentDbCollectionSource is the BasicCopySource implementation for ShopifySource. -func (ss ShopifySource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { - return nil, false +// AsBasicTabularSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &ss, true } -// AsBlobSource is the BasicCopySource implementation for ShopifySource. -func (ss ShopifySource) AsBlobSource() (*BlobSource, bool) { +// AsBinarySource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsBinarySource() (*BinarySource, bool) { return nil, false } -// AsAzureTableSource is the BasicCopySource implementation for ShopifySource. -func (ss ShopifySource) AsAzureTableSource() (*AzureTableSource, bool) { +// AsOrcSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsOrcSource() (*OrcSource, bool) { return nil, false } -// AsBinarySource is the BasicCopySource implementation for ShopifySource. -func (ss ShopifySource) AsBinarySource() (*BinarySource, bool) { +// AsJSONSource is the BasicCopySource implementation for ShopifySource. +func (ss ShopifySource) AsJSONSource() (*JSONSource, bool) { return nil, false } @@ -174038,6 +192921,15 @@ func (ss *ShopifySource) UnmarshalJSON(body []byte) error { } ss.Query = query } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + ss.QueryTimeout = queryTimeout + } default: if v != nil { var additionalProperties interface{} @@ -174116,7 +193008,7 @@ type SparkLinkedService struct { Parameters map[string]*ParameterSpecification `json:"parameters"` // Annotations - List of tags that can be used for describing the linked service. Annotations *[]interface{} `json:"annotations,omitempty"` - // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' + // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' Type TypeBasicLinkedService `json:"type,omitempty"` } @@ -174488,6 +193380,11 @@ func (sls SparkLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { return nil, false } +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for SparkLinkedService. +func (sls SparkLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + // AsAzureMLLinkedService is the BasicLinkedService implementation for SparkLinkedService. func (sls SparkLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { return nil, false @@ -174528,6 +193425,16 @@ func (sls SparkLinkedService) AsOracleLinkedService() (*OracleLinkedService, boo return nil, false } +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for SparkLinkedService. +func (sls SparkLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for SparkLinkedService. +func (sls SparkLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + // AsFileServerLinkedService is the BasicLinkedService implementation for SparkLinkedService. func (sls SparkLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { return nil, false @@ -174886,7 +193793,7 @@ type SparkObjectDataset struct { Annotations *[]interface{} `json:"annotations,omitempty"` // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. Folder *DatasetFolder `json:"folder,omitempty"` - // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' + // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' Type TypeBasicDataset `json:"type,omitempty"` } @@ -175202,6 +194109,16 @@ func (sod SparkObjectDataset) AsRelationalTableDataset() (*RelationalTableDatase return nil, false } +// AsDb2TableDataset is the BasicDataset implementation for SparkObjectDataset. +func (sod SparkObjectDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for SparkObjectDataset. +func (sod SparkObjectDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + // AsAzureMySQLTableDataset is the BasicDataset implementation for SparkObjectDataset. func (sod SparkObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { return nil, false @@ -175277,6 +194194,11 @@ func (sod SparkObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollec return nil, false } +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for SparkObjectDataset. +func (sod SparkObjectDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + // AsCustomDataset is the BasicDataset implementation for SparkObjectDataset. func (sod SparkObjectDataset) AsCustomDataset() (*CustomDataset, bool) { return nil, false @@ -175317,6 +194239,16 @@ func (sod SparkObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) { return nil, false } +// AsOrcDataset is the BasicDataset implementation for SparkObjectDataset. +func (sod SparkObjectDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for SparkObjectDataset. +func (sod SparkObjectDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + // AsDelimitedTextDataset is the BasicDataset implementation for SparkObjectDataset. func (sod SparkObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { return nil, false @@ -175459,6 +194391,8 @@ func (sod *SparkObjectDataset) UnmarshalJSON(body []byte) error { type SparkSource struct { // Query - A query to retrieve data from source. Type: string (or Expression with resultType string). Query interface{} `json:"query,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). @@ -175467,7 +194401,7 @@ type SparkSource struct { SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' + // Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' Type TypeBasicCopySource `json:"type,omitempty"` } @@ -175478,6 +194412,9 @@ func (ss SparkSource) MarshalJSON() ([]byte, error) { if ss.Query != nil { objectMap["query"] = ss.Query } + if ss.QueryTimeout != nil { + objectMap["queryTimeout"] = ss.QueryTimeout + } if ss.SourceRetryCount != nil { objectMap["sourceRetryCount"] = ss.SourceRetryCount } @@ -175496,6 +194433,121 @@ func (ss SparkSource) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } +// AsHTTPSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + // AsAmazonRedshiftSource is the BasicCopySource implementation for SparkSource. func (ss SparkSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { return nil, false @@ -175671,81 +194723,21 @@ func (ss SparkSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { return nil, false } -// AsHTTPSource is the BasicCopySource implementation for SparkSource. -func (ss SparkSource) AsHTTPSource() (*HTTPSource, bool) { - return nil, false -} - -// AsAzureBlobFSSource is the BasicCopySource implementation for SparkSource. -func (ss SparkSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { - return nil, false -} - -// AsAzureDataLakeStoreSource is the BasicCopySource implementation for SparkSource. -func (ss SparkSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { - return nil, false -} - -// AsOffice365Source is the BasicCopySource implementation for SparkSource. -func (ss SparkSource) AsOffice365Source() (*Office365Source, bool) { - return nil, false -} - -// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for SparkSource. -func (ss SparkSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { - return nil, false -} - -// AsMongoDbV2Source is the BasicCopySource implementation for SparkSource. -func (ss SparkSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { - return nil, false -} - -// AsMongoDbSource is the BasicCopySource implementation for SparkSource. -func (ss SparkSource) AsMongoDbSource() (*MongoDbSource, bool) { - return nil, false -} - // AsCassandraSource is the BasicCopySource implementation for SparkSource. func (ss SparkSource) AsCassandraSource() (*CassandraSource, bool) { return nil, false } -// AsWebSource is the BasicCopySource implementation for SparkSource. -func (ss SparkSource) AsWebSource() (*WebSource, bool) { - return nil, false -} - // AsTeradataSource is the BasicCopySource implementation for SparkSource. func (ss SparkSource) AsTeradataSource() (*TeradataSource, bool) { return nil, false } -// AsOracleSource is the BasicCopySource implementation for SparkSource. -func (ss SparkSource) AsOracleSource() (*OracleSource, bool) { - return nil, false -} - -// AsAzureDataExplorerSource is the BasicCopySource implementation for SparkSource. -func (ss SparkSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { - return nil, false -} - // AsAzureMySQLSource is the BasicCopySource implementation for SparkSource. func (ss SparkSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { return nil, false } -// AsHdfsSource is the BasicCopySource implementation for SparkSource. -func (ss SparkSource) AsHdfsSource() (*HdfsSource, bool) { - return nil, false -} - -// AsFileSystemSource is the BasicCopySource implementation for SparkSource. -func (ss SparkSource) AsFileSystemSource() (*FileSystemSource, bool) { - return nil, false -} - // AsSQLDWSource is the BasicCopySource implementation for SparkSource. func (ss SparkSource) AsSQLDWSource() (*SQLDWSource, bool) { return nil, false @@ -175771,11 +194763,6 @@ func (ss SparkSource) AsSQLSource() (*SQLSource, bool) { return nil, false } -// AsRestSource is the BasicCopySource implementation for SparkSource. -func (ss SparkSource) AsRestSource() (*RestSource, bool) { - return nil, false -} - // AsSapTableSource is the BasicCopySource implementation for SparkSource. func (ss SparkSource) AsSapTableSource() (*SapTableSource, bool) { return nil, false @@ -175801,21 +194788,11 @@ func (ss SparkSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, return nil, false } -// AsSalesforceServiceCloudSource is the BasicCopySource implementation for SparkSource. -func (ss SparkSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { - return nil, false -} - // AsSalesforceSource is the BasicCopySource implementation for SparkSource. func (ss SparkSource) AsSalesforceSource() (*SalesforceSource, bool) { return nil, false } -// AsODataSource is the BasicCopySource implementation for SparkSource. -func (ss SparkSource) AsODataSource() (*ODataSource, bool) { - return nil, false -} - // AsSapBwSource is the BasicCopySource implementation for SparkSource. func (ss SparkSource) AsSapBwSource() (*SapBwSource, bool) { return nil, false @@ -175846,53 +194823,38 @@ func (ss SparkSource) AsDb2Source() (*Db2Source, bool) { return nil, false } -// AsMicrosoftAccessSource is the BasicCopySource implementation for SparkSource. -func (ss SparkSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { - return nil, false -} - // AsInformixSource is the BasicCopySource implementation for SparkSource. func (ss SparkSource) AsInformixSource() (*InformixSource, bool) { return nil, false } -// AsRelationalSource is the BasicCopySource implementation for SparkSource. -func (ss SparkSource) AsRelationalSource() (*RelationalSource, bool) { - return nil, false -} - -// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for SparkSource. -func (ss SparkSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { - return nil, false -} - -// AsDynamicsCrmSource is the BasicCopySource implementation for SparkSource. -func (ss SparkSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { +// AsAzureTableSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsAzureTableSource() (*AzureTableSource, bool) { return nil, false } -// AsDynamicsSource is the BasicCopySource implementation for SparkSource. -func (ss SparkSource) AsDynamicsSource() (*DynamicsSource, bool) { +// AsTabularSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsTabularSource() (*TabularSource, bool) { return nil, false } -// AsDocumentDbCollectionSource is the BasicCopySource implementation for SparkSource. -func (ss SparkSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { - return nil, false +// AsBasicTabularSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &ss, true } -// AsBlobSource is the BasicCopySource implementation for SparkSource. -func (ss SparkSource) AsBlobSource() (*BlobSource, bool) { +// AsBinarySource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsBinarySource() (*BinarySource, bool) { return nil, false } -// AsAzureTableSource is the BasicCopySource implementation for SparkSource. -func (ss SparkSource) AsAzureTableSource() (*AzureTableSource, bool) { +// AsOrcSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsOrcSource() (*OrcSource, bool) { return nil, false } -// AsBinarySource is the BasicCopySource implementation for SparkSource. -func (ss SparkSource) AsBinarySource() (*BinarySource, bool) { +// AsJSONSource is the BasicCopySource implementation for SparkSource. +func (ss SparkSource) AsJSONSource() (*JSONSource, bool) { return nil, false } @@ -175939,6 +194901,15 @@ func (ss *SparkSource) UnmarshalJSON(body []byte) error { } ss.Query = query } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + ss.QueryTimeout = queryTimeout + } default: if v != nil { var additionalProperties interface{} @@ -176001,6 +194972,8 @@ type SQLDWSink struct { AllowPolyBase interface{} `json:"allowPolyBase,omitempty"` // PolyBaseSettings - Specifies PolyBase-related settings when allowPolyBase is true. PolyBaseSettings *PolybaseSettings `json:"polyBaseSettings,omitempty"` + // TableOption - The option to handle sink table, such as autoCreate. For now only 'autoCreate' value is supported. Type: string (or Expression with resultType string). + TableOption interface{} `json:"tableOption,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` // WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0. @@ -176013,7 +194986,7 @@ type SQLDWSink struct { SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"` // MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAvroSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzurePostgreSQLSink', 'TypeDelimitedTextSink' + // Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeCosmosDbSQLAPISink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAvroSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzureMySQLSink', 'TypeAzurePostgreSQLSink', 'TypeOrcSink', 'TypeJSONSink', 'TypeDelimitedTextSink' Type TypeBasicCopySink `json:"type,omitempty"` } @@ -176030,6 +195003,9 @@ func (sds SQLDWSink) MarshalJSON() ([]byte, error) { if sds.PolyBaseSettings != nil { objectMap["polyBaseSettings"] = sds.PolyBaseSettings } + if sds.TableOption != nil { + objectMap["tableOption"] = sds.TableOption + } if sds.WriteBatchSize != nil { objectMap["writeBatchSize"] = sds.WriteBatchSize } @@ -176149,6 +195125,11 @@ func (sds SQLDWSink) AsSQLSink() (*SQLSink, bool) { return nil, false } +// AsCosmosDbSQLAPISink is the BasicCopySink implementation for SQLDWSink. +func (sds SQLDWSink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) { + return nil, false +} + // AsDocumentDbCollectionSink is the BasicCopySink implementation for SQLDWSink. func (sds SQLDWSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) { return nil, false @@ -176194,11 +195175,26 @@ func (sds SQLDWSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool return nil, false } +// AsAzureMySQLSink is the BasicCopySink implementation for SQLDWSink. +func (sds SQLDWSink) AsAzureMySQLSink() (*AzureMySQLSink, bool) { + return nil, false +} + // AsAzurePostgreSQLSink is the BasicCopySink implementation for SQLDWSink. func (sds SQLDWSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) { return nil, false } +// AsOrcSink is the BasicCopySink implementation for SQLDWSink. +func (sds SQLDWSink) AsOrcSink() (*OrcSink, bool) { + return nil, false +} + +// AsJSONSink is the BasicCopySink implementation for SQLDWSink. +func (sds SQLDWSink) AsJSONSink() (*JSONSink, bool) { + return nil, false +} + // AsDelimitedTextSink is the BasicCopySink implementation for SQLDWSink. func (sds SQLDWSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) { return nil, false @@ -176250,6 +195246,15 @@ func (sds *SQLDWSink) UnmarshalJSON(body []byte) error { } sds.PolyBaseSettings = &polyBaseSettings } + case "tableOption": + if v != nil { + var tableOption interface{} + err = json.Unmarshal(*v, &tableOption) + if err != nil { + return err + } + sds.TableOption = tableOption + } default: if v != nil { var additionalProperties interface{} @@ -176330,6 +195335,8 @@ type SQLDWSource struct { SQLReaderStoredProcedureName interface{} `json:"sqlReaderStoredProcedureName,omitempty"` // StoredProcedureParameters - Value and type setting for stored procedure parameters. Example: "{Parameter1: {value: "1", type: "int"}}". Type: object (or Expression with resultType object), itemType: StoredProcedureParameter. StoredProcedureParameters interface{} `json:"storedProcedureParameters,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). @@ -176338,7 +195345,7 @@ type SQLDWSource struct { SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' + // Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' Type TypeBasicCopySource `json:"type,omitempty"` } @@ -176355,6 +195362,9 @@ func (sds SQLDWSource) MarshalJSON() ([]byte, error) { if sds.StoredProcedureParameters != nil { objectMap["storedProcedureParameters"] = sds.StoredProcedureParameters } + if sds.QueryTimeout != nil { + objectMap["queryTimeout"] = sds.QueryTimeout + } if sds.SourceRetryCount != nil { objectMap["sourceRetryCount"] = sds.SourceRetryCount } @@ -176373,6 +195383,121 @@ func (sds SQLDWSource) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } +// AsHTTPSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + // AsAmazonRedshiftSource is the BasicCopySource implementation for SQLDWSource. func (sds SQLDWSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { return nil, false @@ -176548,81 +195673,21 @@ func (sds SQLDWSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { return nil, false } -// AsHTTPSource is the BasicCopySource implementation for SQLDWSource. -func (sds SQLDWSource) AsHTTPSource() (*HTTPSource, bool) { - return nil, false -} - -// AsAzureBlobFSSource is the BasicCopySource implementation for SQLDWSource. -func (sds SQLDWSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { - return nil, false -} - -// AsAzureDataLakeStoreSource is the BasicCopySource implementation for SQLDWSource. -func (sds SQLDWSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { - return nil, false -} - -// AsOffice365Source is the BasicCopySource implementation for SQLDWSource. -func (sds SQLDWSource) AsOffice365Source() (*Office365Source, bool) { - return nil, false -} - -// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for SQLDWSource. -func (sds SQLDWSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { - return nil, false -} - -// AsMongoDbV2Source is the BasicCopySource implementation for SQLDWSource. -func (sds SQLDWSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { - return nil, false -} - -// AsMongoDbSource is the BasicCopySource implementation for SQLDWSource. -func (sds SQLDWSource) AsMongoDbSource() (*MongoDbSource, bool) { - return nil, false -} - // AsCassandraSource is the BasicCopySource implementation for SQLDWSource. func (sds SQLDWSource) AsCassandraSource() (*CassandraSource, bool) { return nil, false } -// AsWebSource is the BasicCopySource implementation for SQLDWSource. -func (sds SQLDWSource) AsWebSource() (*WebSource, bool) { - return nil, false -} - // AsTeradataSource is the BasicCopySource implementation for SQLDWSource. func (sds SQLDWSource) AsTeradataSource() (*TeradataSource, bool) { return nil, false } -// AsOracleSource is the BasicCopySource implementation for SQLDWSource. -func (sds SQLDWSource) AsOracleSource() (*OracleSource, bool) { - return nil, false -} - -// AsAzureDataExplorerSource is the BasicCopySource implementation for SQLDWSource. -func (sds SQLDWSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { - return nil, false -} - // AsAzureMySQLSource is the BasicCopySource implementation for SQLDWSource. func (sds SQLDWSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { return nil, false } -// AsHdfsSource is the BasicCopySource implementation for SQLDWSource. -func (sds SQLDWSource) AsHdfsSource() (*HdfsSource, bool) { - return nil, false -} - -// AsFileSystemSource is the BasicCopySource implementation for SQLDWSource. -func (sds SQLDWSource) AsFileSystemSource() (*FileSystemSource, bool) { - return nil, false -} - // AsSQLDWSource is the BasicCopySource implementation for SQLDWSource. func (sds SQLDWSource) AsSQLDWSource() (*SQLDWSource, bool) { return &sds, true @@ -176648,11 +195713,6 @@ func (sds SQLDWSource) AsSQLSource() (*SQLSource, bool) { return nil, false } -// AsRestSource is the BasicCopySource implementation for SQLDWSource. -func (sds SQLDWSource) AsRestSource() (*RestSource, bool) { - return nil, false -} - // AsSapTableSource is the BasicCopySource implementation for SQLDWSource. func (sds SQLDWSource) AsSapTableSource() (*SapTableSource, bool) { return nil, false @@ -176678,21 +195738,11 @@ func (sds SQLDWSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource return nil, false } -// AsSalesforceServiceCloudSource is the BasicCopySource implementation for SQLDWSource. -func (sds SQLDWSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { - return nil, false -} - // AsSalesforceSource is the BasicCopySource implementation for SQLDWSource. func (sds SQLDWSource) AsSalesforceSource() (*SalesforceSource, bool) { return nil, false } -// AsODataSource is the BasicCopySource implementation for SQLDWSource. -func (sds SQLDWSource) AsODataSource() (*ODataSource, bool) { - return nil, false -} - // AsSapBwSource is the BasicCopySource implementation for SQLDWSource. func (sds SQLDWSource) AsSapBwSource() (*SapBwSource, bool) { return nil, false @@ -176723,53 +195773,38 @@ func (sds SQLDWSource) AsDb2Source() (*Db2Source, bool) { return nil, false } -// AsMicrosoftAccessSource is the BasicCopySource implementation for SQLDWSource. -func (sds SQLDWSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { - return nil, false -} - // AsInformixSource is the BasicCopySource implementation for SQLDWSource. func (sds SQLDWSource) AsInformixSource() (*InformixSource, bool) { return nil, false } -// AsRelationalSource is the BasicCopySource implementation for SQLDWSource. -func (sds SQLDWSource) AsRelationalSource() (*RelationalSource, bool) { - return nil, false -} - -// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for SQLDWSource. -func (sds SQLDWSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { - return nil, false -} - -// AsDynamicsCrmSource is the BasicCopySource implementation for SQLDWSource. -func (sds SQLDWSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { +// AsAzureTableSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsAzureTableSource() (*AzureTableSource, bool) { return nil, false } -// AsDynamicsSource is the BasicCopySource implementation for SQLDWSource. -func (sds SQLDWSource) AsDynamicsSource() (*DynamicsSource, bool) { +// AsTabularSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsTabularSource() (*TabularSource, bool) { return nil, false } -// AsDocumentDbCollectionSource is the BasicCopySource implementation for SQLDWSource. -func (sds SQLDWSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { - return nil, false +// AsBasicTabularSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &sds, true } -// AsBlobSource is the BasicCopySource implementation for SQLDWSource. -func (sds SQLDWSource) AsBlobSource() (*BlobSource, bool) { +// AsBinarySource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsBinarySource() (*BinarySource, bool) { return nil, false } -// AsAzureTableSource is the BasicCopySource implementation for SQLDWSource. -func (sds SQLDWSource) AsAzureTableSource() (*AzureTableSource, bool) { +// AsOrcSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsOrcSource() (*OrcSource, bool) { return nil, false } -// AsBinarySource is the BasicCopySource implementation for SQLDWSource. -func (sds SQLDWSource) AsBinarySource() (*BinarySource, bool) { +// AsJSONSource is the BasicCopySource implementation for SQLDWSource. +func (sds SQLDWSource) AsJSONSource() (*JSONSource, bool) { return nil, false } @@ -176834,6 +195869,15 @@ func (sds *SQLDWSource) UnmarshalJSON(body []byte) error { } sds.StoredProcedureParameters = storedProcedureParameters } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + sds.QueryTimeout = queryTimeout + } default: if v != nil { var additionalProperties interface{} @@ -176900,6 +195944,8 @@ type SQLMISink struct { StoredProcedureParameters map[string]*StoredProcedureParameter `json:"storedProcedureParameters"` // StoredProcedureTableTypeParameterName - The stored procedure parameter name of the table type. Type: string (or Expression with resultType string). StoredProcedureTableTypeParameterName interface{} `json:"storedProcedureTableTypeParameterName,omitempty"` + // TableOption - The option to handle sink table, such as autoCreate. For now only 'autoCreate' value is supported. Type: string (or Expression with resultType string). + TableOption interface{} `json:"tableOption,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` // WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0. @@ -176912,7 +195958,7 @@ type SQLMISink struct { SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"` // MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAvroSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzurePostgreSQLSink', 'TypeDelimitedTextSink' + // Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeCosmosDbSQLAPISink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAvroSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzureMySQLSink', 'TypeAzurePostgreSQLSink', 'TypeOrcSink', 'TypeJSONSink', 'TypeDelimitedTextSink' Type TypeBasicCopySink `json:"type,omitempty"` } @@ -176935,6 +195981,9 @@ func (sms SQLMISink) MarshalJSON() ([]byte, error) { if sms.StoredProcedureTableTypeParameterName != nil { objectMap["storedProcedureTableTypeParameterName"] = sms.StoredProcedureTableTypeParameterName } + if sms.TableOption != nil { + objectMap["tableOption"] = sms.TableOption + } if sms.WriteBatchSize != nil { objectMap["writeBatchSize"] = sms.WriteBatchSize } @@ -177054,6 +196103,11 @@ func (sms SQLMISink) AsSQLSink() (*SQLSink, bool) { return nil, false } +// AsCosmosDbSQLAPISink is the BasicCopySink implementation for SQLMISink. +func (sms SQLMISink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) { + return nil, false +} + // AsDocumentDbCollectionSink is the BasicCopySink implementation for SQLMISink. func (sms SQLMISink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) { return nil, false @@ -177099,11 +196153,26 @@ func (sms SQLMISink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool return nil, false } +// AsAzureMySQLSink is the BasicCopySink implementation for SQLMISink. +func (sms SQLMISink) AsAzureMySQLSink() (*AzureMySQLSink, bool) { + return nil, false +} + // AsAzurePostgreSQLSink is the BasicCopySink implementation for SQLMISink. func (sms SQLMISink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) { return nil, false } +// AsOrcSink is the BasicCopySink implementation for SQLMISink. +func (sms SQLMISink) AsOrcSink() (*OrcSink, bool) { + return nil, false +} + +// AsJSONSink is the BasicCopySink implementation for SQLMISink. +func (sms SQLMISink) AsJSONSink() (*JSONSink, bool) { + return nil, false +} + // AsDelimitedTextSink is the BasicCopySink implementation for SQLMISink. func (sms SQLMISink) AsDelimitedTextSink() (*DelimitedTextSink, bool) { return nil, false @@ -177173,6 +196242,15 @@ func (sms *SQLMISink) UnmarshalJSON(body []byte) error { } sms.StoredProcedureTableTypeParameterName = storedProcedureTableTypeParameterName } + case "tableOption": + if v != nil { + var tableOption interface{} + err = json.Unmarshal(*v, &tableOption) + if err != nil { + return err + } + sms.TableOption = tableOption + } default: if v != nil { var additionalProperties interface{} @@ -177255,6 +196333,8 @@ type SQLMISource struct { StoredProcedureParameters map[string]*StoredProcedureParameter `json:"storedProcedureParameters"` // ProduceAdditionalTypes - Which additional types to produce. ProduceAdditionalTypes interface{} `json:"produceAdditionalTypes,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). @@ -177263,7 +196343,7 @@ type SQLMISource struct { SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' + // Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' Type TypeBasicCopySource `json:"type,omitempty"` } @@ -177283,6 +196363,9 @@ func (sms SQLMISource) MarshalJSON() ([]byte, error) { if sms.ProduceAdditionalTypes != nil { objectMap["produceAdditionalTypes"] = sms.ProduceAdditionalTypes } + if sms.QueryTimeout != nil { + objectMap["queryTimeout"] = sms.QueryTimeout + } if sms.SourceRetryCount != nil { objectMap["sourceRetryCount"] = sms.SourceRetryCount } @@ -177301,6 +196384,121 @@ func (sms SQLMISource) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } +// AsHTTPSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + // AsAmazonRedshiftSource is the BasicCopySource implementation for SQLMISource. func (sms SQLMISource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { return nil, false @@ -177476,81 +196674,21 @@ func (sms SQLMISource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { return nil, false } -// AsHTTPSource is the BasicCopySource implementation for SQLMISource. -func (sms SQLMISource) AsHTTPSource() (*HTTPSource, bool) { - return nil, false -} - -// AsAzureBlobFSSource is the BasicCopySource implementation for SQLMISource. -func (sms SQLMISource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { - return nil, false -} - -// AsAzureDataLakeStoreSource is the BasicCopySource implementation for SQLMISource. -func (sms SQLMISource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { - return nil, false -} - -// AsOffice365Source is the BasicCopySource implementation for SQLMISource. -func (sms SQLMISource) AsOffice365Source() (*Office365Source, bool) { - return nil, false -} - -// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for SQLMISource. -func (sms SQLMISource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { - return nil, false -} - -// AsMongoDbV2Source is the BasicCopySource implementation for SQLMISource. -func (sms SQLMISource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { - return nil, false -} - -// AsMongoDbSource is the BasicCopySource implementation for SQLMISource. -func (sms SQLMISource) AsMongoDbSource() (*MongoDbSource, bool) { - return nil, false -} - // AsCassandraSource is the BasicCopySource implementation for SQLMISource. func (sms SQLMISource) AsCassandraSource() (*CassandraSource, bool) { return nil, false } -// AsWebSource is the BasicCopySource implementation for SQLMISource. -func (sms SQLMISource) AsWebSource() (*WebSource, bool) { - return nil, false -} - // AsTeradataSource is the BasicCopySource implementation for SQLMISource. func (sms SQLMISource) AsTeradataSource() (*TeradataSource, bool) { return nil, false } -// AsOracleSource is the BasicCopySource implementation for SQLMISource. -func (sms SQLMISource) AsOracleSource() (*OracleSource, bool) { - return nil, false -} - -// AsAzureDataExplorerSource is the BasicCopySource implementation for SQLMISource. -func (sms SQLMISource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { - return nil, false -} - // AsAzureMySQLSource is the BasicCopySource implementation for SQLMISource. func (sms SQLMISource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { return nil, false } -// AsHdfsSource is the BasicCopySource implementation for SQLMISource. -func (sms SQLMISource) AsHdfsSource() (*HdfsSource, bool) { - return nil, false -} - -// AsFileSystemSource is the BasicCopySource implementation for SQLMISource. -func (sms SQLMISource) AsFileSystemSource() (*FileSystemSource, bool) { - return nil, false -} - // AsSQLDWSource is the BasicCopySource implementation for SQLMISource. func (sms SQLMISource) AsSQLDWSource() (*SQLDWSource, bool) { return nil, false @@ -177576,11 +196714,6 @@ func (sms SQLMISource) AsSQLSource() (*SQLSource, bool) { return nil, false } -// AsRestSource is the BasicCopySource implementation for SQLMISource. -func (sms SQLMISource) AsRestSource() (*RestSource, bool) { - return nil, false -} - // AsSapTableSource is the BasicCopySource implementation for SQLMISource. func (sms SQLMISource) AsSapTableSource() (*SapTableSource, bool) { return nil, false @@ -177606,21 +196739,11 @@ func (sms SQLMISource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource return nil, false } -// AsSalesforceServiceCloudSource is the BasicCopySource implementation for SQLMISource. -func (sms SQLMISource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { - return nil, false -} - // AsSalesforceSource is the BasicCopySource implementation for SQLMISource. func (sms SQLMISource) AsSalesforceSource() (*SalesforceSource, bool) { return nil, false } -// AsODataSource is the BasicCopySource implementation for SQLMISource. -func (sms SQLMISource) AsODataSource() (*ODataSource, bool) { - return nil, false -} - // AsSapBwSource is the BasicCopySource implementation for SQLMISource. func (sms SQLMISource) AsSapBwSource() (*SapBwSource, bool) { return nil, false @@ -177651,53 +196774,38 @@ func (sms SQLMISource) AsDb2Source() (*Db2Source, bool) { return nil, false } -// AsMicrosoftAccessSource is the BasicCopySource implementation for SQLMISource. -func (sms SQLMISource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { - return nil, false -} - // AsInformixSource is the BasicCopySource implementation for SQLMISource. func (sms SQLMISource) AsInformixSource() (*InformixSource, bool) { return nil, false } -// AsRelationalSource is the BasicCopySource implementation for SQLMISource. -func (sms SQLMISource) AsRelationalSource() (*RelationalSource, bool) { - return nil, false -} - -// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for SQLMISource. -func (sms SQLMISource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { - return nil, false -} - -// AsDynamicsCrmSource is the BasicCopySource implementation for SQLMISource. -func (sms SQLMISource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { +// AsAzureTableSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsAzureTableSource() (*AzureTableSource, bool) { return nil, false } -// AsDynamicsSource is the BasicCopySource implementation for SQLMISource. -func (sms SQLMISource) AsDynamicsSource() (*DynamicsSource, bool) { +// AsTabularSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsTabularSource() (*TabularSource, bool) { return nil, false } -// AsDocumentDbCollectionSource is the BasicCopySource implementation for SQLMISource. -func (sms SQLMISource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { - return nil, false +// AsBasicTabularSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &sms, true } -// AsBlobSource is the BasicCopySource implementation for SQLMISource. -func (sms SQLMISource) AsBlobSource() (*BlobSource, bool) { +// AsBinarySource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsBinarySource() (*BinarySource, bool) { return nil, false } -// AsAzureTableSource is the BasicCopySource implementation for SQLMISource. -func (sms SQLMISource) AsAzureTableSource() (*AzureTableSource, bool) { +// AsOrcSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsOrcSource() (*OrcSource, bool) { return nil, false } -// AsBinarySource is the BasicCopySource implementation for SQLMISource. -func (sms SQLMISource) AsBinarySource() (*BinarySource, bool) { +// AsJSONSource is the BasicCopySource implementation for SQLMISource. +func (sms SQLMISource) AsJSONSource() (*JSONSource, bool) { return nil, false } @@ -177771,6 +196879,15 @@ func (sms *SQLMISource) UnmarshalJSON(body []byte) error { } sms.ProduceAdditionalTypes = produceAdditionalTypes } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + sms.QueryTimeout = queryTimeout + } default: if v != nil { var additionalProperties interface{} @@ -177839,7 +196956,7 @@ type SQLServerLinkedService struct { Parameters map[string]*ParameterSpecification `json:"parameters"` // Annotations - List of tags that can be used for describing the linked service. Annotations *[]interface{} `json:"annotations,omitempty"` - // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' + // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' Type TypeBasicLinkedService `json:"type,omitempty"` } @@ -178211,6 +197328,11 @@ func (ssls SQLServerLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bo return nil, false } +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for SQLServerLinkedService. +func (ssls SQLServerLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + // AsAzureMLLinkedService is the BasicLinkedService implementation for SQLServerLinkedService. func (ssls SQLServerLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { return nil, false @@ -178251,6 +197373,16 @@ func (ssls SQLServerLinkedService) AsOracleLinkedService() (*OracleLinkedService return nil, false } +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for SQLServerLinkedService. +func (ssls SQLServerLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for SQLServerLinkedService. +func (ssls SQLServerLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + // AsFileServerLinkedService is the BasicLinkedService implementation for SQLServerLinkedService. func (ssls SQLServerLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { return nil, false @@ -178491,6 +197623,8 @@ type SQLServerSink struct { StoredProcedureParameters map[string]*StoredProcedureParameter `json:"storedProcedureParameters"` // StoredProcedureTableTypeParameterName - The stored procedure parameter name of the table type. Type: string (or Expression with resultType string). StoredProcedureTableTypeParameterName interface{} `json:"storedProcedureTableTypeParameterName,omitempty"` + // TableOption - The option to handle sink table, such as autoCreate. For now only 'autoCreate' value is supported. Type: string (or Expression with resultType string). + TableOption interface{} `json:"tableOption,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` // WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0. @@ -178503,7 +197637,7 @@ type SQLServerSink struct { SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"` // MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAvroSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzurePostgreSQLSink', 'TypeDelimitedTextSink' + // Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeCosmosDbSQLAPISink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAvroSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzureMySQLSink', 'TypeAzurePostgreSQLSink', 'TypeOrcSink', 'TypeJSONSink', 'TypeDelimitedTextSink' Type TypeBasicCopySink `json:"type,omitempty"` } @@ -178526,6 +197660,9 @@ func (sss SQLServerSink) MarshalJSON() ([]byte, error) { if sss.StoredProcedureTableTypeParameterName != nil { objectMap["storedProcedureTableTypeParameterName"] = sss.StoredProcedureTableTypeParameterName } + if sss.TableOption != nil { + objectMap["tableOption"] = sss.TableOption + } if sss.WriteBatchSize != nil { objectMap["writeBatchSize"] = sss.WriteBatchSize } @@ -178645,6 +197782,11 @@ func (sss SQLServerSink) AsSQLSink() (*SQLSink, bool) { return nil, false } +// AsCosmosDbSQLAPISink is the BasicCopySink implementation for SQLServerSink. +func (sss SQLServerSink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) { + return nil, false +} + // AsDocumentDbCollectionSink is the BasicCopySink implementation for SQLServerSink. func (sss SQLServerSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) { return nil, false @@ -178690,11 +197832,26 @@ func (sss SQLServerSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, return nil, false } +// AsAzureMySQLSink is the BasicCopySink implementation for SQLServerSink. +func (sss SQLServerSink) AsAzureMySQLSink() (*AzureMySQLSink, bool) { + return nil, false +} + // AsAzurePostgreSQLSink is the BasicCopySink implementation for SQLServerSink. func (sss SQLServerSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) { return nil, false } +// AsOrcSink is the BasicCopySink implementation for SQLServerSink. +func (sss SQLServerSink) AsOrcSink() (*OrcSink, bool) { + return nil, false +} + +// AsJSONSink is the BasicCopySink implementation for SQLServerSink. +func (sss SQLServerSink) AsJSONSink() (*JSONSink, bool) { + return nil, false +} + // AsDelimitedTextSink is the BasicCopySink implementation for SQLServerSink. func (sss SQLServerSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) { return nil, false @@ -178764,6 +197921,15 @@ func (sss *SQLServerSink) UnmarshalJSON(body []byte) error { } sss.StoredProcedureTableTypeParameterName = storedProcedureTableTypeParameterName } + case "tableOption": + if v != nil { + var tableOption interface{} + err = json.Unmarshal(*v, &tableOption) + if err != nil { + return err + } + sss.TableOption = tableOption + } default: if v != nil { var additionalProperties interface{} @@ -178846,6 +198012,8 @@ type SQLServerSource struct { StoredProcedureParameters map[string]*StoredProcedureParameter `json:"storedProcedureParameters"` // ProduceAdditionalTypes - Which additional types to produce. ProduceAdditionalTypes interface{} `json:"produceAdditionalTypes,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). @@ -178854,7 +198022,7 @@ type SQLServerSource struct { SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' + // Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' Type TypeBasicCopySource `json:"type,omitempty"` } @@ -178874,6 +198042,9 @@ func (sss SQLServerSource) MarshalJSON() ([]byte, error) { if sss.ProduceAdditionalTypes != nil { objectMap["produceAdditionalTypes"] = sss.ProduceAdditionalTypes } + if sss.QueryTimeout != nil { + objectMap["queryTimeout"] = sss.QueryTimeout + } if sss.SourceRetryCount != nil { objectMap["sourceRetryCount"] = sss.SourceRetryCount } @@ -178892,6 +198063,121 @@ func (sss SQLServerSource) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } +// AsHTTPSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + // AsAmazonRedshiftSource is the BasicCopySource implementation for SQLServerSource. func (sss SQLServerSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { return nil, false @@ -179067,81 +198353,21 @@ func (sss SQLServerSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { return nil, false } -// AsHTTPSource is the BasicCopySource implementation for SQLServerSource. -func (sss SQLServerSource) AsHTTPSource() (*HTTPSource, bool) { - return nil, false -} - -// AsAzureBlobFSSource is the BasicCopySource implementation for SQLServerSource. -func (sss SQLServerSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { - return nil, false -} - -// AsAzureDataLakeStoreSource is the BasicCopySource implementation for SQLServerSource. -func (sss SQLServerSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { - return nil, false -} - -// AsOffice365Source is the BasicCopySource implementation for SQLServerSource. -func (sss SQLServerSource) AsOffice365Source() (*Office365Source, bool) { - return nil, false -} - -// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for SQLServerSource. -func (sss SQLServerSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { - return nil, false -} - -// AsMongoDbV2Source is the BasicCopySource implementation for SQLServerSource. -func (sss SQLServerSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { - return nil, false -} - -// AsMongoDbSource is the BasicCopySource implementation for SQLServerSource. -func (sss SQLServerSource) AsMongoDbSource() (*MongoDbSource, bool) { - return nil, false -} - // AsCassandraSource is the BasicCopySource implementation for SQLServerSource. func (sss SQLServerSource) AsCassandraSource() (*CassandraSource, bool) { return nil, false } -// AsWebSource is the BasicCopySource implementation for SQLServerSource. -func (sss SQLServerSource) AsWebSource() (*WebSource, bool) { - return nil, false -} - // AsTeradataSource is the BasicCopySource implementation for SQLServerSource. func (sss SQLServerSource) AsTeradataSource() (*TeradataSource, bool) { return nil, false } -// AsOracleSource is the BasicCopySource implementation for SQLServerSource. -func (sss SQLServerSource) AsOracleSource() (*OracleSource, bool) { - return nil, false -} - -// AsAzureDataExplorerSource is the BasicCopySource implementation for SQLServerSource. -func (sss SQLServerSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { - return nil, false -} - // AsAzureMySQLSource is the BasicCopySource implementation for SQLServerSource. func (sss SQLServerSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { return nil, false } -// AsHdfsSource is the BasicCopySource implementation for SQLServerSource. -func (sss SQLServerSource) AsHdfsSource() (*HdfsSource, bool) { - return nil, false -} - -// AsFileSystemSource is the BasicCopySource implementation for SQLServerSource. -func (sss SQLServerSource) AsFileSystemSource() (*FileSystemSource, bool) { - return nil, false -} - // AsSQLDWSource is the BasicCopySource implementation for SQLServerSource. func (sss SQLServerSource) AsSQLDWSource() (*SQLDWSource, bool) { return nil, false @@ -179167,11 +198393,6 @@ func (sss SQLServerSource) AsSQLSource() (*SQLSource, bool) { return nil, false } -// AsRestSource is the BasicCopySource implementation for SQLServerSource. -func (sss SQLServerSource) AsRestSource() (*RestSource, bool) { - return nil, false -} - // AsSapTableSource is the BasicCopySource implementation for SQLServerSource. func (sss SQLServerSource) AsSapTableSource() (*SapTableSource, bool) { return nil, false @@ -179197,21 +198418,11 @@ func (sss SQLServerSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSo return nil, false } -// AsSalesforceServiceCloudSource is the BasicCopySource implementation for SQLServerSource. -func (sss SQLServerSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { - return nil, false -} - // AsSalesforceSource is the BasicCopySource implementation for SQLServerSource. func (sss SQLServerSource) AsSalesforceSource() (*SalesforceSource, bool) { return nil, false } -// AsODataSource is the BasicCopySource implementation for SQLServerSource. -func (sss SQLServerSource) AsODataSource() (*ODataSource, bool) { - return nil, false -} - // AsSapBwSource is the BasicCopySource implementation for SQLServerSource. func (sss SQLServerSource) AsSapBwSource() (*SapBwSource, bool) { return nil, false @@ -179242,53 +198453,38 @@ func (sss SQLServerSource) AsDb2Source() (*Db2Source, bool) { return nil, false } -// AsMicrosoftAccessSource is the BasicCopySource implementation for SQLServerSource. -func (sss SQLServerSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { - return nil, false -} - // AsInformixSource is the BasicCopySource implementation for SQLServerSource. func (sss SQLServerSource) AsInformixSource() (*InformixSource, bool) { return nil, false } -// AsRelationalSource is the BasicCopySource implementation for SQLServerSource. -func (sss SQLServerSource) AsRelationalSource() (*RelationalSource, bool) { - return nil, false -} - -// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for SQLServerSource. -func (sss SQLServerSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { +// AsAzureTableSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsAzureTableSource() (*AzureTableSource, bool) { return nil, false } -// AsDynamicsCrmSource is the BasicCopySource implementation for SQLServerSource. -func (sss SQLServerSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { +// AsTabularSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsTabularSource() (*TabularSource, bool) { return nil, false } -// AsDynamicsSource is the BasicCopySource implementation for SQLServerSource. -func (sss SQLServerSource) AsDynamicsSource() (*DynamicsSource, bool) { - return nil, false +// AsBasicTabularSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &sss, true } -// AsDocumentDbCollectionSource is the BasicCopySource implementation for SQLServerSource. -func (sss SQLServerSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { +// AsBinarySource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsBinarySource() (*BinarySource, bool) { return nil, false } -// AsBlobSource is the BasicCopySource implementation for SQLServerSource. -func (sss SQLServerSource) AsBlobSource() (*BlobSource, bool) { +// AsOrcSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsOrcSource() (*OrcSource, bool) { return nil, false } -// AsAzureTableSource is the BasicCopySource implementation for SQLServerSource. -func (sss SQLServerSource) AsAzureTableSource() (*AzureTableSource, bool) { - return nil, false -} - -// AsBinarySource is the BasicCopySource implementation for SQLServerSource. -func (sss SQLServerSource) AsBinarySource() (*BinarySource, bool) { +// AsJSONSource is the BasicCopySource implementation for SQLServerSource. +func (sss SQLServerSource) AsJSONSource() (*JSONSource, bool) { return nil, false } @@ -179362,6 +198558,15 @@ func (sss *SQLServerSource) UnmarshalJSON(body []byte) error { } sss.ProduceAdditionalTypes = produceAdditionalTypes } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + sss.QueryTimeout = queryTimeout + } default: if v != nil { var additionalProperties interface{} @@ -179434,7 +198639,7 @@ type SQLServerStoredProcedureActivity struct { DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"` // UserProperties - Activity user properties. UserProperties *[]UserProperty `json:"userProperties,omitempty"` - // Type - Possible values include: 'TypeActivity', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer' + // Type - Possible values include: 'TypeActivity', 'TypeExecuteDataFlow', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLExecutePipeline', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeSwitch', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer' Type TypeBasicActivity `json:"type,omitempty"` } @@ -179472,6 +198677,11 @@ func (ssspa SQLServerStoredProcedureActivity) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } +// AsExecuteDataFlowActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity. +func (ssspa SQLServerStoredProcedureActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) { + return nil, false +} + // AsAzureFunctionActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity. func (ssspa SQLServerStoredProcedureActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) { return nil, false @@ -179497,6 +198707,11 @@ func (ssspa SQLServerStoredProcedureActivity) AsDataLakeAnalyticsUSQLActivity() return nil, false } +// AsAzureMLExecutePipelineActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity. +func (ssspa SQLServerStoredProcedureActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) { + return nil, false +} + // AsAzureMLUpdateResourceActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity. func (ssspa SQLServerStoredProcedureActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) { return nil, false @@ -179627,6 +198842,11 @@ func (ssspa SQLServerStoredProcedureActivity) AsForEachActivity() (*ForEachActiv return nil, false } +// AsSwitchActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity. +func (ssspa SQLServerStoredProcedureActivity) AsSwitchActivity() (*SwitchActivity, bool) { + return nil, false +} + // AsIfConditionActivity is the BasicActivity implementation for SQLServerStoredProcedureActivity. func (ssspa SQLServerStoredProcedureActivity) AsIfConditionActivity() (*IfConditionActivity, bool) { return nil, false @@ -179796,7 +199016,7 @@ type SQLServerTableDataset struct { Annotations *[]interface{} `json:"annotations,omitempty"` // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. Folder *DatasetFolder `json:"folder,omitempty"` - // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' + // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' Type TypeBasicDataset `json:"type,omitempty"` } @@ -180112,6 +199332,16 @@ func (sstd SQLServerTableDataset) AsRelationalTableDataset() (*RelationalTableDa return nil, false } +// AsDb2TableDataset is the BasicDataset implementation for SQLServerTableDataset. +func (sstd SQLServerTableDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for SQLServerTableDataset. +func (sstd SQLServerTableDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + // AsAzureMySQLTableDataset is the BasicDataset implementation for SQLServerTableDataset. func (sstd SQLServerTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { return nil, false @@ -180187,6 +199417,11 @@ func (sstd SQLServerTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCo return nil, false } +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for SQLServerTableDataset. +func (sstd SQLServerTableDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + // AsCustomDataset is the BasicDataset implementation for SQLServerTableDataset. func (sstd SQLServerTableDataset) AsCustomDataset() (*CustomDataset, bool) { return nil, false @@ -180227,6 +199462,16 @@ func (sstd SQLServerTableDataset) AsBinaryDataset() (*BinaryDataset, bool) { return nil, false } +// AsOrcDataset is the BasicDataset implementation for SQLServerTableDataset. +func (sstd SQLServerTableDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for SQLServerTableDataset. +func (sstd SQLServerTableDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + // AsDelimitedTextDataset is the BasicDataset implementation for SQLServerTableDataset. func (sstd SQLServerTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { return nil, false @@ -180387,6 +199632,8 @@ type SQLSink struct { StoredProcedureParameters map[string]*StoredProcedureParameter `json:"storedProcedureParameters"` // StoredProcedureTableTypeParameterName - The stored procedure parameter name of the table type. Type: string (or Expression with resultType string). StoredProcedureTableTypeParameterName interface{} `json:"storedProcedureTableTypeParameterName,omitempty"` + // TableOption - The option to handle sink table, such as autoCreate. For now only 'autoCreate' value is supported. Type: string (or Expression with resultType string). + TableOption interface{} `json:"tableOption,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` // WriteBatchSize - Write batch size. Type: integer (or Expression with resultType integer), minimum: 0. @@ -180399,7 +199646,7 @@ type SQLSink struct { SinkRetryWait interface{} `json:"sinkRetryWait,omitempty"` // MaxConcurrentConnections - The maximum concurrent connection count for the sink data store. Type: integer (or Expression with resultType integer). MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAvroSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzurePostgreSQLSink', 'TypeDelimitedTextSink' + // Type - Possible values include: 'TypeCopySink', 'TypeCosmosDbMongoDbAPISink', 'TypeSalesforceServiceCloudSink', 'TypeSalesforceSink', 'TypeAzureDataExplorerSink', 'TypeCommonDataServiceForAppsSink', 'TypeDynamicsCrmSink', 'TypeDynamicsSink', 'TypeMicrosoftAccessSink', 'TypeInformixSink', 'TypeOdbcSink', 'TypeAzureSearchIndexSink', 'TypeAzureBlobFSSink', 'TypeAzureDataLakeStoreSink', 'TypeOracleSink', 'TypeSQLDWSink', 'TypeSQLMISink', 'TypeAzureSQLSink', 'TypeSQLServerSink', 'TypeSQLSink', 'TypeCosmosDbSQLAPISink', 'TypeDocumentDbCollectionSink', 'TypeFileSystemSink', 'TypeBlobSink', 'TypeBinarySink', 'TypeParquetSink', 'TypeAvroSink', 'TypeAzureTableSink', 'TypeAzureQueueSink', 'TypeSapCloudForCustomerSink', 'TypeAzureMySQLSink', 'TypeAzurePostgreSQLSink', 'TypeOrcSink', 'TypeJSONSink', 'TypeDelimitedTextSink' Type TypeBasicCopySink `json:"type,omitempty"` } @@ -180422,6 +199669,9 @@ func (ss SQLSink) MarshalJSON() ([]byte, error) { if ss.StoredProcedureTableTypeParameterName != nil { objectMap["storedProcedureTableTypeParameterName"] = ss.StoredProcedureTableTypeParameterName } + if ss.TableOption != nil { + objectMap["tableOption"] = ss.TableOption + } if ss.WriteBatchSize != nil { objectMap["writeBatchSize"] = ss.WriteBatchSize } @@ -180541,6 +199791,11 @@ func (ss SQLSink) AsSQLSink() (*SQLSink, bool) { return &ss, true } +// AsCosmosDbSQLAPISink is the BasicCopySink implementation for SQLSink. +func (ss SQLSink) AsCosmosDbSQLAPISink() (*CosmosDbSQLAPISink, bool) { + return nil, false +} + // AsDocumentDbCollectionSink is the BasicCopySink implementation for SQLSink. func (ss SQLSink) AsDocumentDbCollectionSink() (*DocumentDbCollectionSink, bool) { return nil, false @@ -180586,11 +199841,26 @@ func (ss SQLSink) AsSapCloudForCustomerSink() (*SapCloudForCustomerSink, bool) { return nil, false } +// AsAzureMySQLSink is the BasicCopySink implementation for SQLSink. +func (ss SQLSink) AsAzureMySQLSink() (*AzureMySQLSink, bool) { + return nil, false +} + // AsAzurePostgreSQLSink is the BasicCopySink implementation for SQLSink. func (ss SQLSink) AsAzurePostgreSQLSink() (*AzurePostgreSQLSink, bool) { return nil, false } +// AsOrcSink is the BasicCopySink implementation for SQLSink. +func (ss SQLSink) AsOrcSink() (*OrcSink, bool) { + return nil, false +} + +// AsJSONSink is the BasicCopySink implementation for SQLSink. +func (ss SQLSink) AsJSONSink() (*JSONSink, bool) { + return nil, false +} + // AsDelimitedTextSink is the BasicCopySink implementation for SQLSink. func (ss SQLSink) AsDelimitedTextSink() (*DelimitedTextSink, bool) { return nil, false @@ -180660,6 +199930,15 @@ func (ss *SQLSink) UnmarshalJSON(body []byte) error { } ss.StoredProcedureTableTypeParameterName = storedProcedureTableTypeParameterName } + case "tableOption": + if v != nil { + var tableOption interface{} + err = json.Unmarshal(*v, &tableOption) + if err != nil { + return err + } + ss.TableOption = tableOption + } default: if v != nil { var additionalProperties interface{} @@ -180740,6 +200019,8 @@ type SQLSource struct { SQLReaderStoredProcedureName interface{} `json:"sqlReaderStoredProcedureName,omitempty"` // StoredProcedureParameters - Value and type setting for stored procedure parameters. Example: "{Parameter1: {value: "1", type: "int"}}". StoredProcedureParameters map[string]*StoredProcedureParameter `json:"storedProcedureParameters"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). @@ -180748,7 +200029,7 @@ type SQLSource struct { SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' + // Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' Type TypeBasicCopySource `json:"type,omitempty"` } @@ -180765,6 +200046,9 @@ func (ss SQLSource) MarshalJSON() ([]byte, error) { if ss.StoredProcedureParameters != nil { objectMap["storedProcedureParameters"] = ss.StoredProcedureParameters } + if ss.QueryTimeout != nil { + objectMap["queryTimeout"] = ss.QueryTimeout + } if ss.SourceRetryCount != nil { objectMap["sourceRetryCount"] = ss.SourceRetryCount } @@ -180783,6 +200067,121 @@ func (ss SQLSource) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } +// AsHTTPSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + // AsAmazonRedshiftSource is the BasicCopySource implementation for SQLSource. func (ss SQLSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { return nil, false @@ -180958,81 +200357,21 @@ func (ss SQLSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { return nil, false } -// AsHTTPSource is the BasicCopySource implementation for SQLSource. -func (ss SQLSource) AsHTTPSource() (*HTTPSource, bool) { - return nil, false -} - -// AsAzureBlobFSSource is the BasicCopySource implementation for SQLSource. -func (ss SQLSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { - return nil, false -} - -// AsAzureDataLakeStoreSource is the BasicCopySource implementation for SQLSource. -func (ss SQLSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { - return nil, false -} - -// AsOffice365Source is the BasicCopySource implementation for SQLSource. -func (ss SQLSource) AsOffice365Source() (*Office365Source, bool) { - return nil, false -} - -// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for SQLSource. -func (ss SQLSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { - return nil, false -} - -// AsMongoDbV2Source is the BasicCopySource implementation for SQLSource. -func (ss SQLSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { - return nil, false -} - -// AsMongoDbSource is the BasicCopySource implementation for SQLSource. -func (ss SQLSource) AsMongoDbSource() (*MongoDbSource, bool) { - return nil, false -} - // AsCassandraSource is the BasicCopySource implementation for SQLSource. func (ss SQLSource) AsCassandraSource() (*CassandraSource, bool) { return nil, false } -// AsWebSource is the BasicCopySource implementation for SQLSource. -func (ss SQLSource) AsWebSource() (*WebSource, bool) { - return nil, false -} - // AsTeradataSource is the BasicCopySource implementation for SQLSource. func (ss SQLSource) AsTeradataSource() (*TeradataSource, bool) { return nil, false } -// AsOracleSource is the BasicCopySource implementation for SQLSource. -func (ss SQLSource) AsOracleSource() (*OracleSource, bool) { - return nil, false -} - -// AsAzureDataExplorerSource is the BasicCopySource implementation for SQLSource. -func (ss SQLSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { - return nil, false -} - // AsAzureMySQLSource is the BasicCopySource implementation for SQLSource. func (ss SQLSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { return nil, false } -// AsHdfsSource is the BasicCopySource implementation for SQLSource. -func (ss SQLSource) AsHdfsSource() (*HdfsSource, bool) { - return nil, false -} - -// AsFileSystemSource is the BasicCopySource implementation for SQLSource. -func (ss SQLSource) AsFileSystemSource() (*FileSystemSource, bool) { - return nil, false -} - // AsSQLDWSource is the BasicCopySource implementation for SQLSource. func (ss SQLSource) AsSQLDWSource() (*SQLDWSource, bool) { return nil, false @@ -181058,11 +200397,6 @@ func (ss SQLSource) AsSQLSource() (*SQLSource, bool) { return &ss, true } -// AsRestSource is the BasicCopySource implementation for SQLSource. -func (ss SQLSource) AsRestSource() (*RestSource, bool) { - return nil, false -} - // AsSapTableSource is the BasicCopySource implementation for SQLSource. func (ss SQLSource) AsSapTableSource() (*SapTableSource, bool) { return nil, false @@ -181088,21 +200422,11 @@ func (ss SQLSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, b return nil, false } -// AsSalesforceServiceCloudSource is the BasicCopySource implementation for SQLSource. -func (ss SQLSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { - return nil, false -} - // AsSalesforceSource is the BasicCopySource implementation for SQLSource. func (ss SQLSource) AsSalesforceSource() (*SalesforceSource, bool) { return nil, false } -// AsODataSource is the BasicCopySource implementation for SQLSource. -func (ss SQLSource) AsODataSource() (*ODataSource, bool) { - return nil, false -} - // AsSapBwSource is the BasicCopySource implementation for SQLSource. func (ss SQLSource) AsSapBwSource() (*SapBwSource, bool) { return nil, false @@ -181133,53 +200457,38 @@ func (ss SQLSource) AsDb2Source() (*Db2Source, bool) { return nil, false } -// AsMicrosoftAccessSource is the BasicCopySource implementation for SQLSource. -func (ss SQLSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { - return nil, false -} - // AsInformixSource is the BasicCopySource implementation for SQLSource. func (ss SQLSource) AsInformixSource() (*InformixSource, bool) { return nil, false } -// AsRelationalSource is the BasicCopySource implementation for SQLSource. -func (ss SQLSource) AsRelationalSource() (*RelationalSource, bool) { - return nil, false -} - -// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for SQLSource. -func (ss SQLSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { - return nil, false -} - -// AsDynamicsCrmSource is the BasicCopySource implementation for SQLSource. -func (ss SQLSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { +// AsAzureTableSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsAzureTableSource() (*AzureTableSource, bool) { return nil, false } -// AsDynamicsSource is the BasicCopySource implementation for SQLSource. -func (ss SQLSource) AsDynamicsSource() (*DynamicsSource, bool) { +// AsTabularSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsTabularSource() (*TabularSource, bool) { return nil, false } -// AsDocumentDbCollectionSource is the BasicCopySource implementation for SQLSource. -func (ss SQLSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { - return nil, false +// AsBasicTabularSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &ss, true } -// AsBlobSource is the BasicCopySource implementation for SQLSource. -func (ss SQLSource) AsBlobSource() (*BlobSource, bool) { +// AsBinarySource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsBinarySource() (*BinarySource, bool) { return nil, false } -// AsAzureTableSource is the BasicCopySource implementation for SQLSource. -func (ss SQLSource) AsAzureTableSource() (*AzureTableSource, bool) { +// AsOrcSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsOrcSource() (*OrcSource, bool) { return nil, false } -// AsBinarySource is the BasicCopySource implementation for SQLSource. -func (ss SQLSource) AsBinarySource() (*BinarySource, bool) { +// AsJSONSource is the BasicCopySource implementation for SQLSource. +func (ss SQLSource) AsJSONSource() (*JSONSource, bool) { return nil, false } @@ -181244,6 +200553,15 @@ func (ss *SQLSource) UnmarshalJSON(body []byte) error { } ss.StoredProcedureParameters = storedProcedureParameters } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + ss.QueryTimeout = queryTimeout + } default: if v != nil { var additionalProperties interface{} @@ -181312,7 +200630,7 @@ type SquareLinkedService struct { Parameters map[string]*ParameterSpecification `json:"parameters"` // Annotations - List of tags that can be used for describing the linked service. Annotations *[]interface{} `json:"annotations,omitempty"` - // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' + // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' Type TypeBasicLinkedService `json:"type,omitempty"` } @@ -181684,6 +201002,11 @@ func (sls SquareLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) return nil, false } +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for SquareLinkedService. +func (sls SquareLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + // AsAzureMLLinkedService is the BasicLinkedService implementation for SquareLinkedService. func (sls SquareLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { return nil, false @@ -181724,6 +201047,16 @@ func (sls SquareLinkedService) AsOracleLinkedService() (*OracleLinkedService, bo return nil, false } +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for SquareLinkedService. +func (sls SquareLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for SquareLinkedService. +func (sls SquareLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + // AsFileServerLinkedService is the BasicLinkedService implementation for SquareLinkedService. func (sls SquareLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { return nil, false @@ -182016,7 +201349,7 @@ type SquareObjectDataset struct { Annotations *[]interface{} `json:"annotations,omitempty"` // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. Folder *DatasetFolder `json:"folder,omitempty"` - // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' + // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' Type TypeBasicDataset `json:"type,omitempty"` } @@ -182332,6 +201665,16 @@ func (sod SquareObjectDataset) AsRelationalTableDataset() (*RelationalTableDatas return nil, false } +// AsDb2TableDataset is the BasicDataset implementation for SquareObjectDataset. +func (sod SquareObjectDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for SquareObjectDataset. +func (sod SquareObjectDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + // AsAzureMySQLTableDataset is the BasicDataset implementation for SquareObjectDataset. func (sod SquareObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { return nil, false @@ -182407,6 +201750,11 @@ func (sod SquareObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbColle return nil, false } +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for SquareObjectDataset. +func (sod SquareObjectDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + // AsCustomDataset is the BasicDataset implementation for SquareObjectDataset. func (sod SquareObjectDataset) AsCustomDataset() (*CustomDataset, bool) { return nil, false @@ -182447,6 +201795,16 @@ func (sod SquareObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) { return nil, false } +// AsOrcDataset is the BasicDataset implementation for SquareObjectDataset. +func (sod SquareObjectDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for SquareObjectDataset. +func (sod SquareObjectDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + // AsDelimitedTextDataset is the BasicDataset implementation for SquareObjectDataset. func (sod SquareObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { return nil, false @@ -182589,6 +201947,8 @@ func (sod *SquareObjectDataset) UnmarshalJSON(body []byte) error { type SquareSource struct { // Query - A query to retrieve data from source. Type: string (or Expression with resultType string). Query interface{} `json:"query,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). @@ -182597,7 +201957,7 @@ type SquareSource struct { SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' + // Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' Type TypeBasicCopySource `json:"type,omitempty"` } @@ -182608,6 +201968,9 @@ func (ss SquareSource) MarshalJSON() ([]byte, error) { if ss.Query != nil { objectMap["query"] = ss.Query } + if ss.QueryTimeout != nil { + objectMap["queryTimeout"] = ss.QueryTimeout + } if ss.SourceRetryCount != nil { objectMap["sourceRetryCount"] = ss.SourceRetryCount } @@ -182626,6 +201989,121 @@ func (ss SquareSource) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } +// AsHTTPSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + // AsAmazonRedshiftSource is the BasicCopySource implementation for SquareSource. func (ss SquareSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { return nil, false @@ -182801,81 +202279,21 @@ func (ss SquareSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { return nil, false } -// AsHTTPSource is the BasicCopySource implementation for SquareSource. -func (ss SquareSource) AsHTTPSource() (*HTTPSource, bool) { - return nil, false -} - -// AsAzureBlobFSSource is the BasicCopySource implementation for SquareSource. -func (ss SquareSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { - return nil, false -} - -// AsAzureDataLakeStoreSource is the BasicCopySource implementation for SquareSource. -func (ss SquareSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { - return nil, false -} - -// AsOffice365Source is the BasicCopySource implementation for SquareSource. -func (ss SquareSource) AsOffice365Source() (*Office365Source, bool) { - return nil, false -} - -// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for SquareSource. -func (ss SquareSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { - return nil, false -} - -// AsMongoDbV2Source is the BasicCopySource implementation for SquareSource. -func (ss SquareSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { - return nil, false -} - -// AsMongoDbSource is the BasicCopySource implementation for SquareSource. -func (ss SquareSource) AsMongoDbSource() (*MongoDbSource, bool) { - return nil, false -} - // AsCassandraSource is the BasicCopySource implementation for SquareSource. func (ss SquareSource) AsCassandraSource() (*CassandraSource, bool) { return nil, false } -// AsWebSource is the BasicCopySource implementation for SquareSource. -func (ss SquareSource) AsWebSource() (*WebSource, bool) { - return nil, false -} - // AsTeradataSource is the BasicCopySource implementation for SquareSource. func (ss SquareSource) AsTeradataSource() (*TeradataSource, bool) { return nil, false } -// AsOracleSource is the BasicCopySource implementation for SquareSource. -func (ss SquareSource) AsOracleSource() (*OracleSource, bool) { - return nil, false -} - -// AsAzureDataExplorerSource is the BasicCopySource implementation for SquareSource. -func (ss SquareSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { - return nil, false -} - // AsAzureMySQLSource is the BasicCopySource implementation for SquareSource. func (ss SquareSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { return nil, false } -// AsHdfsSource is the BasicCopySource implementation for SquareSource. -func (ss SquareSource) AsHdfsSource() (*HdfsSource, bool) { - return nil, false -} - -// AsFileSystemSource is the BasicCopySource implementation for SquareSource. -func (ss SquareSource) AsFileSystemSource() (*FileSystemSource, bool) { - return nil, false -} - // AsSQLDWSource is the BasicCopySource implementation for SquareSource. func (ss SquareSource) AsSQLDWSource() (*SQLDWSource, bool) { return nil, false @@ -182901,11 +202319,6 @@ func (ss SquareSource) AsSQLSource() (*SQLSource, bool) { return nil, false } -// AsRestSource is the BasicCopySource implementation for SquareSource. -func (ss SquareSource) AsRestSource() (*RestSource, bool) { - return nil, false -} - // AsSapTableSource is the BasicCopySource implementation for SquareSource. func (ss SquareSource) AsSapTableSource() (*SapTableSource, bool) { return nil, false @@ -182931,21 +202344,11 @@ func (ss SquareSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource return nil, false } -// AsSalesforceServiceCloudSource is the BasicCopySource implementation for SquareSource. -func (ss SquareSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { - return nil, false -} - // AsSalesforceSource is the BasicCopySource implementation for SquareSource. func (ss SquareSource) AsSalesforceSource() (*SalesforceSource, bool) { return nil, false } -// AsODataSource is the BasicCopySource implementation for SquareSource. -func (ss SquareSource) AsODataSource() (*ODataSource, bool) { - return nil, false -} - // AsSapBwSource is the BasicCopySource implementation for SquareSource. func (ss SquareSource) AsSapBwSource() (*SapBwSource, bool) { return nil, false @@ -182976,53 +202379,38 @@ func (ss SquareSource) AsDb2Source() (*Db2Source, bool) { return nil, false } -// AsMicrosoftAccessSource is the BasicCopySource implementation for SquareSource. -func (ss SquareSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { - return nil, false -} - // AsInformixSource is the BasicCopySource implementation for SquareSource. func (ss SquareSource) AsInformixSource() (*InformixSource, bool) { return nil, false } -// AsRelationalSource is the BasicCopySource implementation for SquareSource. -func (ss SquareSource) AsRelationalSource() (*RelationalSource, bool) { - return nil, false -} - -// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for SquareSource. -func (ss SquareSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { - return nil, false -} - -// AsDynamicsCrmSource is the BasicCopySource implementation for SquareSource. -func (ss SquareSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { +// AsAzureTableSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsAzureTableSource() (*AzureTableSource, bool) { return nil, false } -// AsDynamicsSource is the BasicCopySource implementation for SquareSource. -func (ss SquareSource) AsDynamicsSource() (*DynamicsSource, bool) { +// AsTabularSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsTabularSource() (*TabularSource, bool) { return nil, false } -// AsDocumentDbCollectionSource is the BasicCopySource implementation for SquareSource. -func (ss SquareSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { - return nil, false +// AsBasicTabularSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &ss, true } -// AsBlobSource is the BasicCopySource implementation for SquareSource. -func (ss SquareSource) AsBlobSource() (*BlobSource, bool) { +// AsBinarySource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsBinarySource() (*BinarySource, bool) { return nil, false } -// AsAzureTableSource is the BasicCopySource implementation for SquareSource. -func (ss SquareSource) AsAzureTableSource() (*AzureTableSource, bool) { +// AsOrcSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsOrcSource() (*OrcSource, bool) { return nil, false } -// AsBinarySource is the BasicCopySource implementation for SquareSource. -func (ss SquareSource) AsBinarySource() (*BinarySource, bool) { +// AsJSONSource is the BasicCopySource implementation for SquareSource. +func (ss SquareSource) AsJSONSource() (*JSONSource, bool) { return nil, false } @@ -183069,6 +202457,15 @@ func (ss *SquareSource) UnmarshalJSON(body []byte) error { } ss.Query = query } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + ss.QueryTimeout = queryTimeout + } default: if v != nil { var additionalProperties interface{} @@ -183130,7 +202527,48 @@ type SSISAccessCredential struct { // UserName - UseName for windows authentication. UserName interface{} `json:"userName,omitempty"` // Password - Password for windows authentication. - Password *SecureString `json:"password,omitempty"` + Password BasicSecretBase `json:"password,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for SSISAccessCredential struct. +func (sac *SSISAccessCredential) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "domain": + if v != nil { + var domain interface{} + err = json.Unmarshal(*v, &domain) + if err != nil { + return err + } + sac.Domain = domain + } + case "userName": + if v != nil { + var userName interface{} + err = json.Unmarshal(*v, &userName) + if err != nil { + return err + } + sac.UserName = userName + } + case "password": + if v != nil { + password, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + sac.Password = password + } + } + } + + return nil } // SsisEnvironment ssis environment. @@ -183692,13 +203130,54 @@ func (spl *SSISPackageLocation) UnmarshalJSON(body []byte) error { // SSISPackageLocationTypeProperties SSIS package location properties. type SSISPackageLocationTypeProperties struct { // PackagePassword - Password of the package. - PackagePassword *SecureString `json:"packagePassword,omitempty"` + PackagePassword BasicSecretBase `json:"packagePassword,omitempty"` // AccessCredential - The package access credential. AccessCredential *SSISAccessCredential `json:"accessCredential,omitempty"` // ConfigurationPath - The configuration file of the package execution. Type: string (or Expression with resultType string). ConfigurationPath interface{} `json:"configurationPath,omitempty"` } +// UnmarshalJSON is the custom unmarshaler for SSISPackageLocationTypeProperties struct. +func (spltp *SSISPackageLocationTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "packagePassword": + if v != nil { + packagePassword, err := unmarshalBasicSecretBase(*v) + if err != nil { + return err + } + spltp.PackagePassword = packagePassword + } + case "accessCredential": + if v != nil { + var accessCredential SSISAccessCredential + err = json.Unmarshal(*v, &accessCredential) + if err != nil { + return err + } + spltp.AccessCredential = &accessCredential + } + case "configurationPath": + if v != nil { + var configurationPath interface{} + err = json.Unmarshal(*v, &configurationPath) + if err != nil { + return err + } + spltp.ConfigurationPath = configurationPath + } + } + } + + return nil +} + // SsisParameter ssis parameter. type SsisParameter struct { // ID - Parameter id. @@ -183996,36 +203475,125 @@ func (srs *StoreReadSettings) UnmarshalJSON(body []byte) error { return nil } +// BasicStoreWriteSettings connector write settings. +type BasicStoreWriteSettings interface { + AsFileServerWriteSettings() (*FileServerWriteSettings, bool) + AsAzureDataLakeStoreWriteSettings() (*AzureDataLakeStoreWriteSettings, bool) + AsAzureBlobFSWriteSettings() (*AzureBlobFSWriteSettings, bool) + AsAzureBlobStorageWriteSettings() (*AzureBlobStorageWriteSettings, bool) + AsStoreWriteSettings() (*StoreWriteSettings, bool) +} + // StoreWriteSettings connector write settings. type StoreWriteSettings struct { // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` - // Type - The write setting type. - Type *string `json:"type,omitempty"` // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` // CopyBehavior - The type of copy behavior for copy sink. CopyBehavior interface{} `json:"copyBehavior,omitempty"` + // Type - Possible values include: 'TypeStoreWriteSettings', 'TypeFileServerWriteSettings', 'TypeAzureDataLakeStoreWriteSettings', 'TypeAzureBlobFSWriteSettings', 'TypeAzureBlobStorageWriteSettings' + Type TypeBasicStoreWriteSettings `json:"type,omitempty"` +} + +func unmarshalBasicStoreWriteSettings(body []byte) (BasicStoreWriteSettings, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["type"] { + case string(TypeFileServerWriteSettings): + var fsws FileServerWriteSettings + err := json.Unmarshal(body, &fsws) + return fsws, err + case string(TypeAzureDataLakeStoreWriteSettings): + var adlsws AzureDataLakeStoreWriteSettings + err := json.Unmarshal(body, &adlsws) + return adlsws, err + case string(TypeAzureBlobFSWriteSettings): + var abfws AzureBlobFSWriteSettings + err := json.Unmarshal(body, &abfws) + return abfws, err + case string(TypeAzureBlobStorageWriteSettings): + var absws AzureBlobStorageWriteSettings + err := json.Unmarshal(body, &absws) + return absws, err + default: + var sws StoreWriteSettings + err := json.Unmarshal(body, &sws) + return sws, err + } +} +func unmarshalBasicStoreWriteSettingsArray(body []byte) ([]BasicStoreWriteSettings, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + swsArray := make([]BasicStoreWriteSettings, len(rawMessages)) + + for index, rawMessage := range rawMessages { + sws, err := unmarshalBasicStoreWriteSettings(*rawMessage) + if err != nil { + return nil, err + } + swsArray[index] = sws + } + return swsArray, nil } // MarshalJSON is the custom marshaler for StoreWriteSettings. func (sws StoreWriteSettings) MarshalJSON() ([]byte, error) { + sws.Type = TypeStoreWriteSettings objectMap := make(map[string]interface{}) - if sws.Type != nil { - objectMap["type"] = sws.Type - } if sws.MaxConcurrentConnections != nil { objectMap["maxConcurrentConnections"] = sws.MaxConcurrentConnections } if sws.CopyBehavior != nil { objectMap["copyBehavior"] = sws.CopyBehavior } + if sws.Type != "" { + objectMap["type"] = sws.Type + } for k, v := range sws.AdditionalProperties { objectMap[k] = v } return json.Marshal(objectMap) } +// AsFileServerWriteSettings is the BasicStoreWriteSettings implementation for StoreWriteSettings. +func (sws StoreWriteSettings) AsFileServerWriteSettings() (*FileServerWriteSettings, bool) { + return nil, false +} + +// AsAzureDataLakeStoreWriteSettings is the BasicStoreWriteSettings implementation for StoreWriteSettings. +func (sws StoreWriteSettings) AsAzureDataLakeStoreWriteSettings() (*AzureDataLakeStoreWriteSettings, bool) { + return nil, false +} + +// AsAzureBlobFSWriteSettings is the BasicStoreWriteSettings implementation for StoreWriteSettings. +func (sws StoreWriteSettings) AsAzureBlobFSWriteSettings() (*AzureBlobFSWriteSettings, bool) { + return nil, false +} + +// AsAzureBlobStorageWriteSettings is the BasicStoreWriteSettings implementation for StoreWriteSettings. +func (sws StoreWriteSettings) AsAzureBlobStorageWriteSettings() (*AzureBlobStorageWriteSettings, bool) { + return nil, false +} + +// AsStoreWriteSettings is the BasicStoreWriteSettings implementation for StoreWriteSettings. +func (sws StoreWriteSettings) AsStoreWriteSettings() (*StoreWriteSettings, bool) { + return &sws, true +} + +// AsBasicStoreWriteSettings is the BasicStoreWriteSettings implementation for StoreWriteSettings. +func (sws StoreWriteSettings) AsBasicStoreWriteSettings() (BasicStoreWriteSettings, bool) { + return &sws, true +} + // UnmarshalJSON is the custom unmarshaler for StoreWriteSettings struct. func (sws *StoreWriteSettings) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage @@ -184047,15 +203615,6 @@ func (sws *StoreWriteSettings) UnmarshalJSON(body []byte) error { } sws.AdditionalProperties[k] = additionalProperties } - case "type": - if v != nil { - var typeVar string - err = json.Unmarshal(*v, &typeVar) - if err != nil { - return err - } - sws.Type = &typeVar - } case "maxConcurrentConnections": if v != nil { var maxConcurrentConnections interface{} @@ -184074,6 +203633,15 @@ func (sws *StoreWriteSettings) UnmarshalJSON(body []byte) error { } sws.CopyBehavior = copyBehavior } + case "type": + if v != nil { + var typeVar TypeBasicStoreWriteSettings + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + sws.Type = typeVar + } } } @@ -184092,6 +203660,431 @@ type SubResource struct { Etag *string `json:"etag,omitempty"` } +// SubResourceDebugResource azure Data Factory nested debug resource. +type SubResourceDebugResource struct { + // Name - The resource name. + Name *string `json:"name,omitempty"` +} + +// SwitchActivity this activity evaluates an expression and executes activities under the cases property +// that correspond to the expression evaluation expected in the equals property. +type SwitchActivity struct { + // SwitchActivityTypeProperties - Switch activity properties. + *SwitchActivityTypeProperties `json:"typeProperties,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // Name - Activity name. + Name *string `json:"name,omitempty"` + // Description - Activity description. + Description *string `json:"description,omitempty"` + // DependsOn - Activity depends on condition. + DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"` + // UserProperties - Activity user properties. + UserProperties *[]UserProperty `json:"userProperties,omitempty"` + // Type - Possible values include: 'TypeActivity', 'TypeExecuteDataFlow', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLExecutePipeline', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeSwitch', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer' + Type TypeBasicActivity `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for SwitchActivity. +func (sa SwitchActivity) MarshalJSON() ([]byte, error) { + sa.Type = TypeSwitch + objectMap := make(map[string]interface{}) + if sa.SwitchActivityTypeProperties != nil { + objectMap["typeProperties"] = sa.SwitchActivityTypeProperties + } + if sa.Name != nil { + objectMap["name"] = sa.Name + } + if sa.Description != nil { + objectMap["description"] = sa.Description + } + if sa.DependsOn != nil { + objectMap["dependsOn"] = sa.DependsOn + } + if sa.UserProperties != nil { + objectMap["userProperties"] = sa.UserProperties + } + if sa.Type != "" { + objectMap["type"] = sa.Type + } + for k, v := range sa.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsExecuteDataFlowActivity is the BasicActivity implementation for SwitchActivity. +func (sa SwitchActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) { + return nil, false +} + +// AsAzureFunctionActivity is the BasicActivity implementation for SwitchActivity. +func (sa SwitchActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) { + return nil, false +} + +// AsDatabricksSparkPythonActivity is the BasicActivity implementation for SwitchActivity. +func (sa SwitchActivity) AsDatabricksSparkPythonActivity() (*DatabricksSparkPythonActivity, bool) { + return nil, false +} + +// AsDatabricksSparkJarActivity is the BasicActivity implementation for SwitchActivity. +func (sa SwitchActivity) AsDatabricksSparkJarActivity() (*DatabricksSparkJarActivity, bool) { + return nil, false +} + +// AsDatabricksNotebookActivity is the BasicActivity implementation for SwitchActivity. +func (sa SwitchActivity) AsDatabricksNotebookActivity() (*DatabricksNotebookActivity, bool) { + return nil, false +} + +// AsDataLakeAnalyticsUSQLActivity is the BasicActivity implementation for SwitchActivity. +func (sa SwitchActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLActivity, bool) { + return nil, false +} + +// AsAzureMLExecutePipelineActivity is the BasicActivity implementation for SwitchActivity. +func (sa SwitchActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) { + return nil, false +} + +// AsAzureMLUpdateResourceActivity is the BasicActivity implementation for SwitchActivity. +func (sa SwitchActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) { + return nil, false +} + +// AsAzureMLBatchExecutionActivity is the BasicActivity implementation for SwitchActivity. +func (sa SwitchActivity) AsAzureMLBatchExecutionActivity() (*AzureMLBatchExecutionActivity, bool) { + return nil, false +} + +// AsGetMetadataActivity is the BasicActivity implementation for SwitchActivity. +func (sa SwitchActivity) AsGetMetadataActivity() (*GetMetadataActivity, bool) { + return nil, false +} + +// AsWebActivity is the BasicActivity implementation for SwitchActivity. +func (sa SwitchActivity) AsWebActivity() (*WebActivity, bool) { + return nil, false +} + +// AsLookupActivity is the BasicActivity implementation for SwitchActivity. +func (sa SwitchActivity) AsLookupActivity() (*LookupActivity, bool) { + return nil, false +} + +// AsAzureDataExplorerCommandActivity is the BasicActivity implementation for SwitchActivity. +func (sa SwitchActivity) AsAzureDataExplorerCommandActivity() (*AzureDataExplorerCommandActivity, bool) { + return nil, false +} + +// AsDeleteActivity is the BasicActivity implementation for SwitchActivity. +func (sa SwitchActivity) AsDeleteActivity() (*DeleteActivity, bool) { + return nil, false +} + +// AsSQLServerStoredProcedureActivity is the BasicActivity implementation for SwitchActivity. +func (sa SwitchActivity) AsSQLServerStoredProcedureActivity() (*SQLServerStoredProcedureActivity, bool) { + return nil, false +} + +// AsCustomActivity is the BasicActivity implementation for SwitchActivity. +func (sa SwitchActivity) AsCustomActivity() (*CustomActivity, bool) { + return nil, false +} + +// AsExecuteSSISPackageActivity is the BasicActivity implementation for SwitchActivity. +func (sa SwitchActivity) AsExecuteSSISPackageActivity() (*ExecuteSSISPackageActivity, bool) { + return nil, false +} + +// AsHDInsightSparkActivity is the BasicActivity implementation for SwitchActivity. +func (sa SwitchActivity) AsHDInsightSparkActivity() (*HDInsightSparkActivity, bool) { + return nil, false +} + +// AsHDInsightStreamingActivity is the BasicActivity implementation for SwitchActivity. +func (sa SwitchActivity) AsHDInsightStreamingActivity() (*HDInsightStreamingActivity, bool) { + return nil, false +} + +// AsHDInsightMapReduceActivity is the BasicActivity implementation for SwitchActivity. +func (sa SwitchActivity) AsHDInsightMapReduceActivity() (*HDInsightMapReduceActivity, bool) { + return nil, false +} + +// AsHDInsightPigActivity is the BasicActivity implementation for SwitchActivity. +func (sa SwitchActivity) AsHDInsightPigActivity() (*HDInsightPigActivity, bool) { + return nil, false +} + +// AsHDInsightHiveActivity is the BasicActivity implementation for SwitchActivity. +func (sa SwitchActivity) AsHDInsightHiveActivity() (*HDInsightHiveActivity, bool) { + return nil, false +} + +// AsCopyActivity is the BasicActivity implementation for SwitchActivity. +func (sa SwitchActivity) AsCopyActivity() (*CopyActivity, bool) { + return nil, false +} + +// AsExecutionActivity is the BasicActivity implementation for SwitchActivity. +func (sa SwitchActivity) AsExecutionActivity() (*ExecutionActivity, bool) { + return nil, false +} + +// AsBasicExecutionActivity is the BasicActivity implementation for SwitchActivity. +func (sa SwitchActivity) AsBasicExecutionActivity() (BasicExecutionActivity, bool) { + return nil, false +} + +// AsWebHookActivity is the BasicActivity implementation for SwitchActivity. +func (sa SwitchActivity) AsWebHookActivity() (*WebHookActivity, bool) { + return nil, false +} + +// AsAppendVariableActivity is the BasicActivity implementation for SwitchActivity. +func (sa SwitchActivity) AsAppendVariableActivity() (*AppendVariableActivity, bool) { + return nil, false +} + +// AsSetVariableActivity is the BasicActivity implementation for SwitchActivity. +func (sa SwitchActivity) AsSetVariableActivity() (*SetVariableActivity, bool) { + return nil, false +} + +// AsFilterActivity is the BasicActivity implementation for SwitchActivity. +func (sa SwitchActivity) AsFilterActivity() (*FilterActivity, bool) { + return nil, false +} + +// AsValidationActivity is the BasicActivity implementation for SwitchActivity. +func (sa SwitchActivity) AsValidationActivity() (*ValidationActivity, bool) { + return nil, false +} + +// AsUntilActivity is the BasicActivity implementation for SwitchActivity. +func (sa SwitchActivity) AsUntilActivity() (*UntilActivity, bool) { + return nil, false +} + +// AsWaitActivity is the BasicActivity implementation for SwitchActivity. +func (sa SwitchActivity) AsWaitActivity() (*WaitActivity, bool) { + return nil, false +} + +// AsForEachActivity is the BasicActivity implementation for SwitchActivity. +func (sa SwitchActivity) AsForEachActivity() (*ForEachActivity, bool) { + return nil, false +} + +// AsSwitchActivity is the BasicActivity implementation for SwitchActivity. +func (sa SwitchActivity) AsSwitchActivity() (*SwitchActivity, bool) { + return &sa, true +} + +// AsIfConditionActivity is the BasicActivity implementation for SwitchActivity. +func (sa SwitchActivity) AsIfConditionActivity() (*IfConditionActivity, bool) { + return nil, false +} + +// AsExecutePipelineActivity is the BasicActivity implementation for SwitchActivity. +func (sa SwitchActivity) AsExecutePipelineActivity() (*ExecutePipelineActivity, bool) { + return nil, false +} + +// AsControlActivity is the BasicActivity implementation for SwitchActivity. +func (sa SwitchActivity) AsControlActivity() (*ControlActivity, bool) { + return nil, false +} + +// AsBasicControlActivity is the BasicActivity implementation for SwitchActivity. +func (sa SwitchActivity) AsBasicControlActivity() (BasicControlActivity, bool) { + return &sa, true +} + +// AsActivity is the BasicActivity implementation for SwitchActivity. +func (sa SwitchActivity) AsActivity() (*Activity, bool) { + return nil, false +} + +// AsBasicActivity is the BasicActivity implementation for SwitchActivity. +func (sa SwitchActivity) AsBasicActivity() (BasicActivity, bool) { + return &sa, true +} + +// UnmarshalJSON is the custom unmarshaler for SwitchActivity struct. +func (sa *SwitchActivity) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "typeProperties": + if v != nil { + var switchActivityTypeProperties SwitchActivityTypeProperties + err = json.Unmarshal(*v, &switchActivityTypeProperties) + if err != nil { + return err + } + sa.SwitchActivityTypeProperties = &switchActivityTypeProperties + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if sa.AdditionalProperties == nil { + sa.AdditionalProperties = make(map[string]interface{}) + } + sa.AdditionalProperties[k] = additionalProperties + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + sa.Name = &name + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + sa.Description = &description + } + case "dependsOn": + if v != nil { + var dependsOn []ActivityDependency + err = json.Unmarshal(*v, &dependsOn) + if err != nil { + return err + } + sa.DependsOn = &dependsOn + } + case "userProperties": + if v != nil { + var userProperties []UserProperty + err = json.Unmarshal(*v, &userProperties) + if err != nil { + return err + } + sa.UserProperties = &userProperties + } + case "type": + if v != nil { + var typeVar TypeBasicActivity + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + sa.Type = typeVar + } + } + } + + return nil +} + +// SwitchActivityTypeProperties switch activity properties. +type SwitchActivityTypeProperties struct { + // On - An expression that would evaluate to a string or integer. This is used to determine the block of activities in cases that will be executed. + On *Expression `json:"on,omitempty"` + // Cases - List of cases that correspond to expected values of the 'on' property. This is an optional property and if not provided, the activity will execute activities provided in defaultActivities. + Cases *[]SwitchCase `json:"cases,omitempty"` + // DefaultActivities - List of activities to execute if no case condition is satisfied. This is an optional property and if not provided, the activity will exit without any action. + DefaultActivities *[]BasicActivity `json:"defaultActivities,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for SwitchActivityTypeProperties struct. +func (satp *SwitchActivityTypeProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "on": + if v != nil { + var on Expression + err = json.Unmarshal(*v, &on) + if err != nil { + return err + } + satp.On = &on + } + case "cases": + if v != nil { + var cases []SwitchCase + err = json.Unmarshal(*v, &cases) + if err != nil { + return err + } + satp.Cases = &cases + } + case "defaultActivities": + if v != nil { + defaultActivities, err := unmarshalBasicActivityArray(*v) + if err != nil { + return err + } + satp.DefaultActivities = &defaultActivities + } + } + } + + return nil +} + +// SwitchCase switch cases with have a value and corresponding activities. +type SwitchCase struct { + // Value - Expected value that satisfies the expression result of the 'on' property. + Value *string `json:"value,omitempty"` + // Activities - List of activities to execute for satisfied case condition. + Activities *[]BasicActivity `json:"activities,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for SwitchCase struct. +func (sc *SwitchCase) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "value": + if v != nil { + var value string + err = json.Unmarshal(*v, &value) + if err != nil { + return err + } + sc.Value = &value + } + case "activities": + if v != nil { + activities, err := unmarshalBasicActivityArray(*v) + if err != nil { + return err + } + sc.Activities = &activities + } + } + } + + return nil +} + // SybaseLinkedService linked service for Sybase data source. type SybaseLinkedService struct { // SybaseLinkedServiceTypeProperties - Sybase linked service properties. @@ -184106,7 +204099,7 @@ type SybaseLinkedService struct { Parameters map[string]*ParameterSpecification `json:"parameters"` // Annotations - List of tags that can be used for describing the linked service. Annotations *[]interface{} `json:"annotations,omitempty"` - // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' + // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' Type TypeBasicLinkedService `json:"type,omitempty"` } @@ -184478,6 +204471,11 @@ func (sls SybaseLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) return nil, false } +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for SybaseLinkedService. +func (sls SybaseLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + // AsAzureMLLinkedService is the BasicLinkedService implementation for SybaseLinkedService. func (sls SybaseLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { return nil, false @@ -184518,6 +204516,16 @@ func (sls SybaseLinkedService) AsOracleLinkedService() (*OracleLinkedService, bo return nil, false } +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for SybaseLinkedService. +func (sls SybaseLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for SybaseLinkedService. +func (sls SybaseLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + // AsFileServerLinkedService is the BasicLinkedService implementation for SybaseLinkedService. func (sls SybaseLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { return nil, false @@ -184783,6 +204791,8 @@ func (slstp *SybaseLinkedServiceTypeProperties) UnmarshalJSON(body []byte) error type SybaseSource struct { // Query - Database query. Type: string (or Expression with resultType string). Query interface{} `json:"query,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). @@ -184791,7 +204801,7 @@ type SybaseSource struct { SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' + // Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' Type TypeBasicCopySource `json:"type,omitempty"` } @@ -184802,6 +204812,9 @@ func (ss SybaseSource) MarshalJSON() ([]byte, error) { if ss.Query != nil { objectMap["query"] = ss.Query } + if ss.QueryTimeout != nil { + objectMap["queryTimeout"] = ss.QueryTimeout + } if ss.SourceRetryCount != nil { objectMap["sourceRetryCount"] = ss.SourceRetryCount } @@ -184820,6 +204833,121 @@ func (ss SybaseSource) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } +// AsHTTPSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + // AsAmazonRedshiftSource is the BasicCopySource implementation for SybaseSource. func (ss SybaseSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { return nil, false @@ -184995,81 +205123,21 @@ func (ss SybaseSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { return nil, false } -// AsHTTPSource is the BasicCopySource implementation for SybaseSource. -func (ss SybaseSource) AsHTTPSource() (*HTTPSource, bool) { - return nil, false -} - -// AsAzureBlobFSSource is the BasicCopySource implementation for SybaseSource. -func (ss SybaseSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { - return nil, false -} - -// AsAzureDataLakeStoreSource is the BasicCopySource implementation for SybaseSource. -func (ss SybaseSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { - return nil, false -} - -// AsOffice365Source is the BasicCopySource implementation for SybaseSource. -func (ss SybaseSource) AsOffice365Source() (*Office365Source, bool) { - return nil, false -} - -// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for SybaseSource. -func (ss SybaseSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { - return nil, false -} - -// AsMongoDbV2Source is the BasicCopySource implementation for SybaseSource. -func (ss SybaseSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { - return nil, false -} - -// AsMongoDbSource is the BasicCopySource implementation for SybaseSource. -func (ss SybaseSource) AsMongoDbSource() (*MongoDbSource, bool) { - return nil, false -} - // AsCassandraSource is the BasicCopySource implementation for SybaseSource. func (ss SybaseSource) AsCassandraSource() (*CassandraSource, bool) { return nil, false } -// AsWebSource is the BasicCopySource implementation for SybaseSource. -func (ss SybaseSource) AsWebSource() (*WebSource, bool) { - return nil, false -} - // AsTeradataSource is the BasicCopySource implementation for SybaseSource. func (ss SybaseSource) AsTeradataSource() (*TeradataSource, bool) { return nil, false } -// AsOracleSource is the BasicCopySource implementation for SybaseSource. -func (ss SybaseSource) AsOracleSource() (*OracleSource, bool) { - return nil, false -} - -// AsAzureDataExplorerSource is the BasicCopySource implementation for SybaseSource. -func (ss SybaseSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { - return nil, false -} - // AsAzureMySQLSource is the BasicCopySource implementation for SybaseSource. func (ss SybaseSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { return nil, false } -// AsHdfsSource is the BasicCopySource implementation for SybaseSource. -func (ss SybaseSource) AsHdfsSource() (*HdfsSource, bool) { - return nil, false -} - -// AsFileSystemSource is the BasicCopySource implementation for SybaseSource. -func (ss SybaseSource) AsFileSystemSource() (*FileSystemSource, bool) { - return nil, false -} - // AsSQLDWSource is the BasicCopySource implementation for SybaseSource. func (ss SybaseSource) AsSQLDWSource() (*SQLDWSource, bool) { return nil, false @@ -185095,11 +205163,6 @@ func (ss SybaseSource) AsSQLSource() (*SQLSource, bool) { return nil, false } -// AsRestSource is the BasicCopySource implementation for SybaseSource. -func (ss SybaseSource) AsRestSource() (*RestSource, bool) { - return nil, false -} - // AsSapTableSource is the BasicCopySource implementation for SybaseSource. func (ss SybaseSource) AsSapTableSource() (*SapTableSource, bool) { return nil, false @@ -185125,21 +205188,11 @@ func (ss SybaseSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource return nil, false } -// AsSalesforceServiceCloudSource is the BasicCopySource implementation for SybaseSource. -func (ss SybaseSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { - return nil, false -} - // AsSalesforceSource is the BasicCopySource implementation for SybaseSource. func (ss SybaseSource) AsSalesforceSource() (*SalesforceSource, bool) { return nil, false } -// AsODataSource is the BasicCopySource implementation for SybaseSource. -func (ss SybaseSource) AsODataSource() (*ODataSource, bool) { - return nil, false -} - // AsSapBwSource is the BasicCopySource implementation for SybaseSource. func (ss SybaseSource) AsSapBwSource() (*SapBwSource, bool) { return nil, false @@ -185170,53 +205223,38 @@ func (ss SybaseSource) AsDb2Source() (*Db2Source, bool) { return nil, false } -// AsMicrosoftAccessSource is the BasicCopySource implementation for SybaseSource. -func (ss SybaseSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { - return nil, false -} - // AsInformixSource is the BasicCopySource implementation for SybaseSource. func (ss SybaseSource) AsInformixSource() (*InformixSource, bool) { return nil, false } -// AsRelationalSource is the BasicCopySource implementation for SybaseSource. -func (ss SybaseSource) AsRelationalSource() (*RelationalSource, bool) { - return nil, false -} - -// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for SybaseSource. -func (ss SybaseSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { - return nil, false -} - -// AsDynamicsCrmSource is the BasicCopySource implementation for SybaseSource. -func (ss SybaseSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { +// AsAzureTableSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsAzureTableSource() (*AzureTableSource, bool) { return nil, false } -// AsDynamicsSource is the BasicCopySource implementation for SybaseSource. -func (ss SybaseSource) AsDynamicsSource() (*DynamicsSource, bool) { +// AsTabularSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsTabularSource() (*TabularSource, bool) { return nil, false } -// AsDocumentDbCollectionSource is the BasicCopySource implementation for SybaseSource. -func (ss SybaseSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { - return nil, false +// AsBasicTabularSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &ss, true } -// AsBlobSource is the BasicCopySource implementation for SybaseSource. -func (ss SybaseSource) AsBlobSource() (*BlobSource, bool) { +// AsBinarySource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsBinarySource() (*BinarySource, bool) { return nil, false } -// AsAzureTableSource is the BasicCopySource implementation for SybaseSource. -func (ss SybaseSource) AsAzureTableSource() (*AzureTableSource, bool) { +// AsOrcSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsOrcSource() (*OrcSource, bool) { return nil, false } -// AsBinarySource is the BasicCopySource implementation for SybaseSource. -func (ss SybaseSource) AsBinarySource() (*BinarySource, bool) { +// AsJSONSource is the BasicCopySource implementation for SybaseSource. +func (ss SybaseSource) AsJSONSource() (*JSONSource, bool) { return nil, false } @@ -185263,6 +205301,15 @@ func (ss *SybaseSource) UnmarshalJSON(body []byte) error { } ss.Query = query } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + ss.QueryTimeout = queryTimeout + } default: if v != nil { var additionalProperties interface{} @@ -185337,7 +205384,7 @@ type SybaseTableDataset struct { Annotations *[]interface{} `json:"annotations,omitempty"` // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. Folder *DatasetFolder `json:"folder,omitempty"` - // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' + // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' Type TypeBasicDataset `json:"type,omitempty"` } @@ -185653,6 +205700,16 @@ func (std SybaseTableDataset) AsRelationalTableDataset() (*RelationalTableDatase return nil, false } +// AsDb2TableDataset is the BasicDataset implementation for SybaseTableDataset. +func (std SybaseTableDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for SybaseTableDataset. +func (std SybaseTableDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + // AsAzureMySQLTableDataset is the BasicDataset implementation for SybaseTableDataset. func (std SybaseTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { return nil, false @@ -185728,6 +205785,11 @@ func (std SybaseTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollec return nil, false } +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for SybaseTableDataset. +func (std SybaseTableDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + // AsCustomDataset is the BasicDataset implementation for SybaseTableDataset. func (std SybaseTableDataset) AsCustomDataset() (*CustomDataset, bool) { return nil, false @@ -185768,6 +205830,16 @@ func (std SybaseTableDataset) AsBinaryDataset() (*BinaryDataset, bool) { return nil, false } +// AsOrcDataset is the BasicDataset implementation for SybaseTableDataset. +func (std SybaseTableDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for SybaseTableDataset. +func (std SybaseTableDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + // AsDelimitedTextDataset is the BasicDataset implementation for SybaseTableDataset. func (std SybaseTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { return nil, false @@ -185912,6 +205984,892 @@ type SybaseTableDatasetTypeProperties struct { TableName interface{} `json:"tableName,omitempty"` } +// BasicTabularSource copy activity sources of tabular type. +type BasicTabularSource interface { + AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) + AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) + AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) + AsDynamicsAXSource() (*DynamicsAXSource, bool) + AsResponsysSource() (*ResponsysSource, bool) + AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) + AsVerticaSource() (*VerticaSource, bool) + AsNetezzaSource() (*NetezzaSource, bool) + AsZohoSource() (*ZohoSource, bool) + AsXeroSource() (*XeroSource, bool) + AsSquareSource() (*SquareSource, bool) + AsSparkSource() (*SparkSource, bool) + AsShopifySource() (*ShopifySource, bool) + AsServiceNowSource() (*ServiceNowSource, bool) + AsQuickBooksSource() (*QuickBooksSource, bool) + AsPrestoSource() (*PrestoSource, bool) + AsPhoenixSource() (*PhoenixSource, bool) + AsPaypalSource() (*PaypalSource, bool) + AsMarketoSource() (*MarketoSource, bool) + AsAzureMariaDBSource() (*AzureMariaDBSource, bool) + AsMariaDBSource() (*MariaDBSource, bool) + AsMagentoSource() (*MagentoSource, bool) + AsJiraSource() (*JiraSource, bool) + AsImpalaSource() (*ImpalaSource, bool) + AsHubspotSource() (*HubspotSource, bool) + AsHiveSource() (*HiveSource, bool) + AsHBaseSource() (*HBaseSource, bool) + AsGreenplumSource() (*GreenplumSource, bool) + AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) + AsEloquaSource() (*EloquaSource, bool) + AsDrillSource() (*DrillSource, bool) + AsCouchbaseSource() (*CouchbaseSource, bool) + AsConcurSource() (*ConcurSource, bool) + AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) + AsAmazonMWSSource() (*AmazonMWSSource, bool) + AsCassandraSource() (*CassandraSource, bool) + AsTeradataSource() (*TeradataSource, bool) + AsAzureMySQLSource() (*AzureMySQLSource, bool) + AsSQLDWSource() (*SQLDWSource, bool) + AsSQLMISource() (*SQLMISource, bool) + AsAzureSQLSource() (*AzureSQLSource, bool) + AsSQLServerSource() (*SQLServerSource, bool) + AsSQLSource() (*SQLSource, bool) + AsSapTableSource() (*SapTableSource, bool) + AsSapOpenHubSource() (*SapOpenHubSource, bool) + AsSapHanaSource() (*SapHanaSource, bool) + AsSapEccSource() (*SapEccSource, bool) + AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) + AsSalesforceSource() (*SalesforceSource, bool) + AsSapBwSource() (*SapBwSource, bool) + AsSybaseSource() (*SybaseSource, bool) + AsPostgreSQLSource() (*PostgreSQLSource, bool) + AsMySQLSource() (*MySQLSource, bool) + AsOdbcSource() (*OdbcSource, bool) + AsDb2Source() (*Db2Source, bool) + AsInformixSource() (*InformixSource, bool) + AsAzureTableSource() (*AzureTableSource, bool) + AsTabularSource() (*TabularSource, bool) +} + +// TabularSource copy activity sources of tabular type. +type TabularSource struct { + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). + SourceRetryCount interface{} `json:"sourceRetryCount,omitempty"` + // SourceRetryWait - Source retry wait. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` + // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). + MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` + // Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' + Type TypeBasicCopySource `json:"type,omitempty"` +} + +func unmarshalBasicTabularSource(body []byte) (BasicTabularSource, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["type"] { + case string(TypeAmazonRedshiftSource): + var ars AmazonRedshiftSource + err := json.Unmarshal(body, &ars) + return ars, err + case string(TypeGoogleAdWordsSource): + var gaws GoogleAdWordsSource + err := json.Unmarshal(body, &gaws) + return gaws, err + case string(TypeOracleServiceCloudSource): + var oscs OracleServiceCloudSource + err := json.Unmarshal(body, &oscs) + return oscs, err + case string(TypeDynamicsAXSource): + var das DynamicsAXSource + err := json.Unmarshal(body, &das) + return das, err + case string(TypeResponsysSource): + var rs ResponsysSource + err := json.Unmarshal(body, &rs) + return rs, err + case string(TypeSalesforceMarketingCloudSource): + var smcs SalesforceMarketingCloudSource + err := json.Unmarshal(body, &smcs) + return smcs, err + case string(TypeVerticaSource): + var vs VerticaSource + err := json.Unmarshal(body, &vs) + return vs, err + case string(TypeNetezzaSource): + var ns NetezzaSource + err := json.Unmarshal(body, &ns) + return ns, err + case string(TypeZohoSource): + var zs ZohoSource + err := json.Unmarshal(body, &zs) + return zs, err + case string(TypeXeroSource): + var xs XeroSource + err := json.Unmarshal(body, &xs) + return xs, err + case string(TypeSquareSource): + var ss SquareSource + err := json.Unmarshal(body, &ss) + return ss, err + case string(TypeSparkSource): + var ss SparkSource + err := json.Unmarshal(body, &ss) + return ss, err + case string(TypeShopifySource): + var ss ShopifySource + err := json.Unmarshal(body, &ss) + return ss, err + case string(TypeServiceNowSource): + var sns ServiceNowSource + err := json.Unmarshal(body, &sns) + return sns, err + case string(TypeQuickBooksSource): + var qbs QuickBooksSource + err := json.Unmarshal(body, &qbs) + return qbs, err + case string(TypePrestoSource): + var ps PrestoSource + err := json.Unmarshal(body, &ps) + return ps, err + case string(TypePhoenixSource): + var ps PhoenixSource + err := json.Unmarshal(body, &ps) + return ps, err + case string(TypePaypalSource): + var ps PaypalSource + err := json.Unmarshal(body, &ps) + return ps, err + case string(TypeMarketoSource): + var ms MarketoSource + err := json.Unmarshal(body, &ms) + return ms, err + case string(TypeAzureMariaDBSource): + var amds AzureMariaDBSource + err := json.Unmarshal(body, &amds) + return amds, err + case string(TypeMariaDBSource): + var mds MariaDBSource + err := json.Unmarshal(body, &mds) + return mds, err + case string(TypeMagentoSource): + var ms MagentoSource + err := json.Unmarshal(body, &ms) + return ms, err + case string(TypeJiraSource): + var js JiraSource + err := json.Unmarshal(body, &js) + return js, err + case string(TypeImpalaSource): + var is ImpalaSource + err := json.Unmarshal(body, &is) + return is, err + case string(TypeHubspotSource): + var hs HubspotSource + err := json.Unmarshal(body, &hs) + return hs, err + case string(TypeHiveSource): + var hs HiveSource + err := json.Unmarshal(body, &hs) + return hs, err + case string(TypeHBaseSource): + var hbs HBaseSource + err := json.Unmarshal(body, &hbs) + return hbs, err + case string(TypeGreenplumSource): + var gs GreenplumSource + err := json.Unmarshal(body, &gs) + return gs, err + case string(TypeGoogleBigQuerySource): + var gbqs GoogleBigQuerySource + err := json.Unmarshal(body, &gbqs) + return gbqs, err + case string(TypeEloquaSource): + var es EloquaSource + err := json.Unmarshal(body, &es) + return es, err + case string(TypeDrillSource): + var ds DrillSource + err := json.Unmarshal(body, &ds) + return ds, err + case string(TypeCouchbaseSource): + var cs CouchbaseSource + err := json.Unmarshal(body, &cs) + return cs, err + case string(TypeConcurSource): + var cs ConcurSource + err := json.Unmarshal(body, &cs) + return cs, err + case string(TypeAzurePostgreSQLSource): + var apss AzurePostgreSQLSource + err := json.Unmarshal(body, &apss) + return apss, err + case string(TypeAmazonMWSSource): + var ams AmazonMWSSource + err := json.Unmarshal(body, &ams) + return ams, err + case string(TypeCassandraSource): + var cs CassandraSource + err := json.Unmarshal(body, &cs) + return cs, err + case string(TypeTeradataSource): + var ts TeradataSource + err := json.Unmarshal(body, &ts) + return ts, err + case string(TypeAzureMySQLSource): + var amss AzureMySQLSource + err := json.Unmarshal(body, &amss) + return amss, err + case string(TypeSQLDWSource): + var sds SQLDWSource + err := json.Unmarshal(body, &sds) + return sds, err + case string(TypeSQLMISource): + var sms SQLMISource + err := json.Unmarshal(body, &sms) + return sms, err + case string(TypeAzureSQLSource): + var ass AzureSQLSource + err := json.Unmarshal(body, &ass) + return ass, err + case string(TypeSQLServerSource): + var sss SQLServerSource + err := json.Unmarshal(body, &sss) + return sss, err + case string(TypeSQLSource): + var ss SQLSource + err := json.Unmarshal(body, &ss) + return ss, err + case string(TypeSapTableSource): + var sts SapTableSource + err := json.Unmarshal(body, &sts) + return sts, err + case string(TypeSapOpenHubSource): + var sohs SapOpenHubSource + err := json.Unmarshal(body, &sohs) + return sohs, err + case string(TypeSapHanaSource): + var shs SapHanaSource + err := json.Unmarshal(body, &shs) + return shs, err + case string(TypeSapEccSource): + var ses SapEccSource + err := json.Unmarshal(body, &ses) + return ses, err + case string(TypeSapCloudForCustomerSource): + var scfcs SapCloudForCustomerSource + err := json.Unmarshal(body, &scfcs) + return scfcs, err + case string(TypeSalesforceSource): + var ss SalesforceSource + err := json.Unmarshal(body, &ss) + return ss, err + case string(TypeSapBwSource): + var sbs SapBwSource + err := json.Unmarshal(body, &sbs) + return sbs, err + case string(TypeSybaseSource): + var ss SybaseSource + err := json.Unmarshal(body, &ss) + return ss, err + case string(TypePostgreSQLSource): + var pss PostgreSQLSource + err := json.Unmarshal(body, &pss) + return pss, err + case string(TypeMySQLSource): + var mss MySQLSource + err := json.Unmarshal(body, &mss) + return mss, err + case string(TypeOdbcSource): + var osVar OdbcSource + err := json.Unmarshal(body, &osVar) + return osVar, err + case string(TypeDb2Source): + var d2s Db2Source + err := json.Unmarshal(body, &d2s) + return d2s, err + case string(TypeInformixSource): + var is InformixSource + err := json.Unmarshal(body, &is) + return is, err + case string(TypeAzureTableSource): + var ats AzureTableSource + err := json.Unmarshal(body, &ats) + return ats, err + default: + var ts TabularSource + err := json.Unmarshal(body, &ts) + return ts, err + } +} +func unmarshalBasicTabularSourceArray(body []byte) ([]BasicTabularSource, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + tsArray := make([]BasicTabularSource, len(rawMessages)) + + for index, rawMessage := range rawMessages { + ts, err := unmarshalBasicTabularSource(*rawMessage) + if err != nil { + return nil, err + } + tsArray[index] = ts + } + return tsArray, nil +} + +// MarshalJSON is the custom marshaler for TabularSource. +func (ts TabularSource) MarshalJSON() ([]byte, error) { + ts.Type = TypeTabularSource + objectMap := make(map[string]interface{}) + if ts.QueryTimeout != nil { + objectMap["queryTimeout"] = ts.QueryTimeout + } + if ts.SourceRetryCount != nil { + objectMap["sourceRetryCount"] = ts.SourceRetryCount + } + if ts.SourceRetryWait != nil { + objectMap["sourceRetryWait"] = ts.SourceRetryWait + } + if ts.MaxConcurrentConnections != nil { + objectMap["maxConcurrentConnections"] = ts.MaxConcurrentConnections + } + if ts.Type != "" { + objectMap["type"] = ts.Type + } + for k, v := range ts.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// AsHTTPSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + +// AsAmazonRedshiftSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { + return nil, false +} + +// AsGoogleAdWordsSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsGoogleAdWordsSource() (*GoogleAdWordsSource, bool) { + return nil, false +} + +// AsOracleServiceCloudSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsOracleServiceCloudSource() (*OracleServiceCloudSource, bool) { + return nil, false +} + +// AsDynamicsAXSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsDynamicsAXSource() (*DynamicsAXSource, bool) { + return nil, false +} + +// AsResponsysSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsResponsysSource() (*ResponsysSource, bool) { + return nil, false +} + +// AsSalesforceMarketingCloudSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsSalesforceMarketingCloudSource() (*SalesforceMarketingCloudSource, bool) { + return nil, false +} + +// AsVerticaSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsVerticaSource() (*VerticaSource, bool) { + return nil, false +} + +// AsNetezzaSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsNetezzaSource() (*NetezzaSource, bool) { + return nil, false +} + +// AsZohoSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsZohoSource() (*ZohoSource, bool) { + return nil, false +} + +// AsXeroSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsXeroSource() (*XeroSource, bool) { + return nil, false +} + +// AsSquareSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsSquareSource() (*SquareSource, bool) { + return nil, false +} + +// AsSparkSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsSparkSource() (*SparkSource, bool) { + return nil, false +} + +// AsShopifySource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsShopifySource() (*ShopifySource, bool) { + return nil, false +} + +// AsServiceNowSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsServiceNowSource() (*ServiceNowSource, bool) { + return nil, false +} + +// AsQuickBooksSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsQuickBooksSource() (*QuickBooksSource, bool) { + return nil, false +} + +// AsPrestoSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsPrestoSource() (*PrestoSource, bool) { + return nil, false +} + +// AsPhoenixSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsPhoenixSource() (*PhoenixSource, bool) { + return nil, false +} + +// AsPaypalSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsPaypalSource() (*PaypalSource, bool) { + return nil, false +} + +// AsMarketoSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsMarketoSource() (*MarketoSource, bool) { + return nil, false +} + +// AsAzureMariaDBSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsAzureMariaDBSource() (*AzureMariaDBSource, bool) { + return nil, false +} + +// AsMariaDBSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsMariaDBSource() (*MariaDBSource, bool) { + return nil, false +} + +// AsMagentoSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsMagentoSource() (*MagentoSource, bool) { + return nil, false +} + +// AsJiraSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsJiraSource() (*JiraSource, bool) { + return nil, false +} + +// AsImpalaSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsImpalaSource() (*ImpalaSource, bool) { + return nil, false +} + +// AsHubspotSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsHubspotSource() (*HubspotSource, bool) { + return nil, false +} + +// AsHiveSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsHiveSource() (*HiveSource, bool) { + return nil, false +} + +// AsHBaseSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsHBaseSource() (*HBaseSource, bool) { + return nil, false +} + +// AsGreenplumSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsGreenplumSource() (*GreenplumSource, bool) { + return nil, false +} + +// AsGoogleBigQuerySource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsGoogleBigQuerySource() (*GoogleBigQuerySource, bool) { + return nil, false +} + +// AsEloquaSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsEloquaSource() (*EloquaSource, bool) { + return nil, false +} + +// AsDrillSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsDrillSource() (*DrillSource, bool) { + return nil, false +} + +// AsCouchbaseSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsCouchbaseSource() (*CouchbaseSource, bool) { + return nil, false +} + +// AsConcurSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsConcurSource() (*ConcurSource, bool) { + return nil, false +} + +// AsAzurePostgreSQLSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsAzurePostgreSQLSource() (*AzurePostgreSQLSource, bool) { + return nil, false +} + +// AsAmazonMWSSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { + return nil, false +} + +// AsCassandraSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsCassandraSource() (*CassandraSource, bool) { + return nil, false +} + +// AsTeradataSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsTeradataSource() (*TeradataSource, bool) { + return nil, false +} + +// AsAzureMySQLSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { + return nil, false +} + +// AsSQLDWSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsSQLDWSource() (*SQLDWSource, bool) { + return nil, false +} + +// AsSQLMISource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsSQLMISource() (*SQLMISource, bool) { + return nil, false +} + +// AsAzureSQLSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsAzureSQLSource() (*AzureSQLSource, bool) { + return nil, false +} + +// AsSQLServerSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsSQLServerSource() (*SQLServerSource, bool) { + return nil, false +} + +// AsSQLSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsSQLSource() (*SQLSource, bool) { + return nil, false +} + +// AsSapTableSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsSapTableSource() (*SapTableSource, bool) { + return nil, false +} + +// AsSapOpenHubSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsSapOpenHubSource() (*SapOpenHubSource, bool) { + return nil, false +} + +// AsSapHanaSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsSapHanaSource() (*SapHanaSource, bool) { + return nil, false +} + +// AsSapEccSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsSapEccSource() (*SapEccSource, bool) { + return nil, false +} + +// AsSapCloudForCustomerSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, bool) { + return nil, false +} + +// AsSalesforceSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsSalesforceSource() (*SalesforceSource, bool) { + return nil, false +} + +// AsSapBwSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsSapBwSource() (*SapBwSource, bool) { + return nil, false +} + +// AsSybaseSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsSybaseSource() (*SybaseSource, bool) { + return nil, false +} + +// AsPostgreSQLSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsPostgreSQLSource() (*PostgreSQLSource, bool) { + return nil, false +} + +// AsMySQLSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsMySQLSource() (*MySQLSource, bool) { + return nil, false +} + +// AsOdbcSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsOdbcSource() (*OdbcSource, bool) { + return nil, false +} + +// AsDb2Source is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsDb2Source() (*Db2Source, bool) { + return nil, false +} + +// AsInformixSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsInformixSource() (*InformixSource, bool) { + return nil, false +} + +// AsAzureTableSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsAzureTableSource() (*AzureTableSource, bool) { + return nil, false +} + +// AsTabularSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsTabularSource() (*TabularSource, bool) { + return &ts, true +} + +// AsBasicTabularSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &ts, true +} + +// AsBinarySource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsBinarySource() (*BinarySource, bool) { + return nil, false +} + +// AsOrcSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsOrcSource() (*OrcSource, bool) { + return nil, false +} + +// AsJSONSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsJSONSource() (*JSONSource, bool) { + return nil, false +} + +// AsDelimitedTextSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsDelimitedTextSource() (*DelimitedTextSource, bool) { + return nil, false +} + +// AsParquetSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsParquetSource() (*ParquetSource, bool) { + return nil, false +} + +// AsAvroSource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsAvroSource() (*AvroSource, bool) { + return nil, false +} + +// AsCopySource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsCopySource() (*CopySource, bool) { + return nil, false +} + +// AsBasicCopySource is the BasicCopySource implementation for TabularSource. +func (ts TabularSource) AsBasicCopySource() (BasicCopySource, bool) { + return &ts, true +} + +// UnmarshalJSON is the custom unmarshaler for TabularSource struct. +func (ts *TabularSource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + ts.QueryTimeout = queryTimeout + } + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if ts.AdditionalProperties == nil { + ts.AdditionalProperties = make(map[string]interface{}) + } + ts.AdditionalProperties[k] = additionalProperties + } + case "sourceRetryCount": + if v != nil { + var sourceRetryCount interface{} + err = json.Unmarshal(*v, &sourceRetryCount) + if err != nil { + return err + } + ts.SourceRetryCount = sourceRetryCount + } + case "sourceRetryWait": + if v != nil { + var sourceRetryWait interface{} + err = json.Unmarshal(*v, &sourceRetryWait) + if err != nil { + return err + } + ts.SourceRetryWait = sourceRetryWait + } + case "maxConcurrentConnections": + if v != nil { + var maxConcurrentConnections interface{} + err = json.Unmarshal(*v, &maxConcurrentConnections) + if err != nil { + return err + } + ts.MaxConcurrentConnections = maxConcurrentConnections + } + case "type": + if v != nil { + var typeVar TypeBasicCopySource + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ts.Type = typeVar + } + } + } + + return nil +} + // TeradataLinkedService linked service for Teradata data source. type TeradataLinkedService struct { // TeradataLinkedServiceTypeProperties - Teradata linked service properties. @@ -185926,7 +206884,7 @@ type TeradataLinkedService struct { Parameters map[string]*ParameterSpecification `json:"parameters"` // Annotations - List of tags that can be used for describing the linked service. Annotations *[]interface{} `json:"annotations,omitempty"` - // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' + // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' Type TypeBasicLinkedService `json:"type,omitempty"` } @@ -186298,6 +207256,11 @@ func (TLSVar TeradataLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, b return nil, false } +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for TeradataLinkedService. +func (TLSVar TeradataLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + // AsAzureMLLinkedService is the BasicLinkedService implementation for TeradataLinkedService. func (TLSVar TeradataLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { return nil, false @@ -186338,6 +207301,16 @@ func (TLSVar TeradataLinkedService) AsOracleLinkedService() (*OracleLinkedServic return nil, false } +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for TeradataLinkedService. +func (TLSVar TeradataLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for TeradataLinkedService. +func (TLSVar TeradataLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + // AsFileServerLinkedService is the BasicLinkedService implementation for TeradataLinkedService. func (TLSVar TeradataLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { return nil, false @@ -186606,6 +207579,8 @@ type TeradataSource struct { PartitionOption TeradataPartitionOption `json:"partitionOption,omitempty"` // PartitionSettings - The settings that will be leveraged for teradata source partitioning. PartitionSettings *TeradataPartitionSettings `json:"partitionSettings,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). @@ -186614,7 +207589,7 @@ type TeradataSource struct { SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' + // Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' Type TypeBasicCopySource `json:"type,omitempty"` } @@ -186631,6 +207606,9 @@ func (ts TeradataSource) MarshalJSON() ([]byte, error) { if ts.PartitionSettings != nil { objectMap["partitionSettings"] = ts.PartitionSettings } + if ts.QueryTimeout != nil { + objectMap["queryTimeout"] = ts.QueryTimeout + } if ts.SourceRetryCount != nil { objectMap["sourceRetryCount"] = ts.SourceRetryCount } @@ -186649,6 +207627,121 @@ func (ts TeradataSource) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } +// AsHTTPSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + // AsAmazonRedshiftSource is the BasicCopySource implementation for TeradataSource. func (ts TeradataSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { return nil, false @@ -186824,81 +207917,21 @@ func (ts TeradataSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { return nil, false } -// AsHTTPSource is the BasicCopySource implementation for TeradataSource. -func (ts TeradataSource) AsHTTPSource() (*HTTPSource, bool) { - return nil, false -} - -// AsAzureBlobFSSource is the BasicCopySource implementation for TeradataSource. -func (ts TeradataSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { - return nil, false -} - -// AsAzureDataLakeStoreSource is the BasicCopySource implementation for TeradataSource. -func (ts TeradataSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { - return nil, false -} - -// AsOffice365Source is the BasicCopySource implementation for TeradataSource. -func (ts TeradataSource) AsOffice365Source() (*Office365Source, bool) { - return nil, false -} - -// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for TeradataSource. -func (ts TeradataSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { - return nil, false -} - -// AsMongoDbV2Source is the BasicCopySource implementation for TeradataSource. -func (ts TeradataSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { - return nil, false -} - -// AsMongoDbSource is the BasicCopySource implementation for TeradataSource. -func (ts TeradataSource) AsMongoDbSource() (*MongoDbSource, bool) { - return nil, false -} - // AsCassandraSource is the BasicCopySource implementation for TeradataSource. func (ts TeradataSource) AsCassandraSource() (*CassandraSource, bool) { return nil, false } -// AsWebSource is the BasicCopySource implementation for TeradataSource. -func (ts TeradataSource) AsWebSource() (*WebSource, bool) { - return nil, false -} - // AsTeradataSource is the BasicCopySource implementation for TeradataSource. func (ts TeradataSource) AsTeradataSource() (*TeradataSource, bool) { return &ts, true } -// AsOracleSource is the BasicCopySource implementation for TeradataSource. -func (ts TeradataSource) AsOracleSource() (*OracleSource, bool) { - return nil, false -} - -// AsAzureDataExplorerSource is the BasicCopySource implementation for TeradataSource. -func (ts TeradataSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { - return nil, false -} - // AsAzureMySQLSource is the BasicCopySource implementation for TeradataSource. func (ts TeradataSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { return nil, false } -// AsHdfsSource is the BasicCopySource implementation for TeradataSource. -func (ts TeradataSource) AsHdfsSource() (*HdfsSource, bool) { - return nil, false -} - -// AsFileSystemSource is the BasicCopySource implementation for TeradataSource. -func (ts TeradataSource) AsFileSystemSource() (*FileSystemSource, bool) { - return nil, false -} - // AsSQLDWSource is the BasicCopySource implementation for TeradataSource. func (ts TeradataSource) AsSQLDWSource() (*SQLDWSource, bool) { return nil, false @@ -186924,11 +207957,6 @@ func (ts TeradataSource) AsSQLSource() (*SQLSource, bool) { return nil, false } -// AsRestSource is the BasicCopySource implementation for TeradataSource. -func (ts TeradataSource) AsRestSource() (*RestSource, bool) { - return nil, false -} - // AsSapTableSource is the BasicCopySource implementation for TeradataSource. func (ts TeradataSource) AsSapTableSource() (*SapTableSource, bool) { return nil, false @@ -186954,21 +207982,11 @@ func (ts TeradataSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSour return nil, false } -// AsSalesforceServiceCloudSource is the BasicCopySource implementation for TeradataSource. -func (ts TeradataSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { - return nil, false -} - // AsSalesforceSource is the BasicCopySource implementation for TeradataSource. func (ts TeradataSource) AsSalesforceSource() (*SalesforceSource, bool) { return nil, false } -// AsODataSource is the BasicCopySource implementation for TeradataSource. -func (ts TeradataSource) AsODataSource() (*ODataSource, bool) { - return nil, false -} - // AsSapBwSource is the BasicCopySource implementation for TeradataSource. func (ts TeradataSource) AsSapBwSource() (*SapBwSource, bool) { return nil, false @@ -186999,53 +208017,38 @@ func (ts TeradataSource) AsDb2Source() (*Db2Source, bool) { return nil, false } -// AsMicrosoftAccessSource is the BasicCopySource implementation for TeradataSource. -func (ts TeradataSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { - return nil, false -} - // AsInformixSource is the BasicCopySource implementation for TeradataSource. func (ts TeradataSource) AsInformixSource() (*InformixSource, bool) { return nil, false } -// AsRelationalSource is the BasicCopySource implementation for TeradataSource. -func (ts TeradataSource) AsRelationalSource() (*RelationalSource, bool) { - return nil, false -} - -// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for TeradataSource. -func (ts TeradataSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { - return nil, false -} - -// AsDynamicsCrmSource is the BasicCopySource implementation for TeradataSource. -func (ts TeradataSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { +// AsAzureTableSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsAzureTableSource() (*AzureTableSource, bool) { return nil, false } -// AsDynamicsSource is the BasicCopySource implementation for TeradataSource. -func (ts TeradataSource) AsDynamicsSource() (*DynamicsSource, bool) { +// AsTabularSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsTabularSource() (*TabularSource, bool) { return nil, false } -// AsDocumentDbCollectionSource is the BasicCopySource implementation for TeradataSource. -func (ts TeradataSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { - return nil, false +// AsBasicTabularSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &ts, true } -// AsBlobSource is the BasicCopySource implementation for TeradataSource. -func (ts TeradataSource) AsBlobSource() (*BlobSource, bool) { +// AsBinarySource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsBinarySource() (*BinarySource, bool) { return nil, false } -// AsAzureTableSource is the BasicCopySource implementation for TeradataSource. -func (ts TeradataSource) AsAzureTableSource() (*AzureTableSource, bool) { +// AsOrcSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsOrcSource() (*OrcSource, bool) { return nil, false } -// AsBinarySource is the BasicCopySource implementation for TeradataSource. -func (ts TeradataSource) AsBinarySource() (*BinarySource, bool) { +// AsJSONSource is the BasicCopySource implementation for TeradataSource. +func (ts TeradataSource) AsJSONSource() (*JSONSource, bool) { return nil, false } @@ -187110,6 +208113,15 @@ func (ts *TeradataSource) UnmarshalJSON(body []byte) error { } ts.PartitionSettings = &partitionSettings } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + ts.QueryTimeout = queryTimeout + } default: if v != nil { var additionalProperties interface{} @@ -187184,7 +208196,7 @@ type TeradataTableDataset struct { Annotations *[]interface{} `json:"annotations,omitempty"` // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. Folder *DatasetFolder `json:"folder,omitempty"` - // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' + // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' Type TypeBasicDataset `json:"type,omitempty"` } @@ -187500,6 +208512,16 @@ func (ttd TeradataTableDataset) AsRelationalTableDataset() (*RelationalTableData return nil, false } +// AsDb2TableDataset is the BasicDataset implementation for TeradataTableDataset. +func (ttd TeradataTableDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for TeradataTableDataset. +func (ttd TeradataTableDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + // AsAzureMySQLTableDataset is the BasicDataset implementation for TeradataTableDataset. func (ttd TeradataTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { return nil, false @@ -187575,6 +208597,11 @@ func (ttd TeradataTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbColl return nil, false } +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for TeradataTableDataset. +func (ttd TeradataTableDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + // AsCustomDataset is the BasicDataset implementation for TeradataTableDataset. func (ttd TeradataTableDataset) AsCustomDataset() (*CustomDataset, bool) { return nil, false @@ -187615,6 +208642,16 @@ func (ttd TeradataTableDataset) AsBinaryDataset() (*BinaryDataset, bool) { return nil, false } +// AsOrcDataset is the BasicDataset implementation for TeradataTableDataset. +func (ttd TeradataTableDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for TeradataTableDataset. +func (ttd TeradataTableDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + // AsDelimitedTextDataset is the BasicDataset implementation for TeradataTableDataset. func (ttd TeradataTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { return nil, false @@ -188007,9 +209044,18 @@ func (tf *TextFormat) UnmarshalJSON(body []byte) error { return nil } +// Transformation a data flow transformation. +type Transformation struct { + // Name - Transformation name. + Name *string `json:"name,omitempty"` + // Description - Transformation description. + Description *string `json:"description,omitempty"` +} + // BasicTrigger azure data factory nested object which contains information about creating pipeline run type BasicTrigger interface { AsRerunTumblingWindowTrigger() (*RerunTumblingWindowTrigger, bool) + AsChainingTrigger() (*ChainingTrigger, bool) AsTumblingWindowTrigger() (*TumblingWindowTrigger, bool) AsBlobEventsTrigger() (*BlobEventsTrigger, bool) AsBlobTrigger() (*BlobTrigger, bool) @@ -188025,11 +209071,11 @@ type Trigger struct { AdditionalProperties map[string]interface{} `json:""` // Description - Trigger description. Description *string `json:"description,omitempty"` - // RuntimeState - READ-ONLY; Indicates if trigger is running or not. Updated when Start/Stop APIs are called on the Trigger. Possible values include: 'Started', 'Stopped', 'Disabled' + // RuntimeState - READ-ONLY; Indicates if trigger is running or not. Updated when Start/Stop APIs are called on the Trigger. Possible values include: 'TriggerRuntimeStateStarted', 'TriggerRuntimeStateStopped', 'TriggerRuntimeStateDisabled' RuntimeState TriggerRuntimeState `json:"runtimeState,omitempty"` // Annotations - List of tags that can be used for describing the trigger. Annotations *[]interface{} `json:"annotations,omitempty"` - // Type - Possible values include: 'TypeTrigger', 'TypeRerunTumblingWindowTrigger', 'TypeTumblingWindowTrigger', 'TypeBlobEventsTrigger', 'TypeBlobTrigger', 'TypeScheduleTrigger', 'TypeMultiplePipelineTrigger' + // Type - Possible values include: 'TypeTrigger', 'TypeRerunTumblingWindowTrigger', 'TypeChainingTrigger', 'TypeTumblingWindowTrigger', 'TypeBlobEventsTrigger', 'TypeBlobTrigger', 'TypeScheduleTrigger', 'TypeMultiplePipelineTrigger' Type TypeBasicTrigger `json:"type,omitempty"` } @@ -188045,6 +209091,10 @@ func unmarshalBasicTrigger(body []byte) (BasicTrigger, error) { var rtwt RerunTumblingWindowTrigger err := json.Unmarshal(body, &rtwt) return rtwt, err + case string(TypeChainingTrigger): + var ct ChainingTrigger + err := json.Unmarshal(body, &ct) + return ct, err case string(TypeTumblingWindowTrigger): var twt TumblingWindowTrigger err := json.Unmarshal(body, &twt) @@ -188114,6 +209164,11 @@ func (t Trigger) AsRerunTumblingWindowTrigger() (*RerunTumblingWindowTrigger, bo return nil, false } +// AsChainingTrigger is the BasicTrigger implementation for Trigger. +func (t Trigger) AsChainingTrigger() (*ChainingTrigger, bool) { + return nil, false +} + // AsTumblingWindowTrigger is the BasicTrigger implementation for Trigger. func (t Trigger) AsTumblingWindowTrigger() (*TumblingWindowTrigger, bool) { return nil, false @@ -188579,6 +209634,10 @@ type TriggerRun struct { Properties map[string]*string `json:"properties"` // TriggeredPipelines - READ-ONLY; List of pipeline name and run Id triggered by the trigger run. TriggeredPipelines map[string]*string `json:"triggeredPipelines"` + // RunDimension - READ-ONLY; Run dimension for which trigger was fired. + RunDimension map[string]*string `json:"runDimension"` + // DependencyStatus - READ-ONLY; Status of the upstream pipelines. + DependencyStatus map[string]interface{} `json:"dependencyStatus"` } // MarshalJSON is the custom marshaler for TriggerRun. @@ -188683,6 +209742,24 @@ func (tr *TriggerRun) UnmarshalJSON(body []byte) error { } tr.TriggeredPipelines = triggeredPipelines } + case "runDimension": + if v != nil { + var runDimension map[string]*string + err = json.Unmarshal(*v, &runDimension) + if err != nil { + return err + } + tr.RunDimension = runDimension + } + case "dependencyStatus": + if v != nil { + var dependencyStatus map[string]interface{} + err = json.Unmarshal(*v, &dependencyStatus) + if err != nil { + return err + } + tr.DependencyStatus = dependencyStatus + } } } @@ -188743,6 +209820,73 @@ func (future *TriggersStopFuture) Result(client TriggersClient) (ar autorest.Res return } +// TriggersSubscribeToEventsFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type TriggersSubscribeToEventsFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *TriggersSubscribeToEventsFuture) Result(client TriggersClient) (tsos TriggerSubscriptionOperationStatus, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "datafactory.TriggersSubscribeToEventsFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("datafactory.TriggersSubscribeToEventsFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if tsos.Response.Response, err = future.GetResult(sender); err == nil && tsos.Response.Response.StatusCode != http.StatusNoContent { + tsos, err = client.SubscribeToEventsResponder(tsos.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "datafactory.TriggersSubscribeToEventsFuture", "Result", tsos.Response.Response, "Failure responding to request") + } + } + return +} + +// TriggerSubscriptionOperationStatus defines the response of a trigger subscription operation. +type TriggerSubscriptionOperationStatus struct { + autorest.Response `json:"-"` + // TriggerName - READ-ONLY; Trigger name. + TriggerName *string `json:"triggerName,omitempty"` + // Status - READ-ONLY; Event Subscription Status. Possible values include: 'Enabled', 'Provisioning', 'Deprovisioning', 'Disabled', 'Unknown' + Status EventSubscriptionStatus `json:"status,omitempty"` +} + +// TriggersUnsubscribeFromEventsFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type TriggersUnsubscribeFromEventsFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *TriggersUnsubscribeFromEventsFuture) Result(client TriggersClient) (tsos TriggerSubscriptionOperationStatus, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "datafactory.TriggersUnsubscribeFromEventsFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("datafactory.TriggersUnsubscribeFromEventsFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if tsos.Response.Response, err = future.GetResult(sender); err == nil && tsos.Response.Response.StatusCode != http.StatusNoContent { + tsos, err = client.UnsubscribeFromEventsResponder(tsos.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "datafactory.TriggersUnsubscribeFromEventsFuture", "Result", tsos.Response.Response, "Failure responding to request") + } + } + return +} + // TumblingWindowTrigger trigger that schedules pipeline runs for all fixed time interval windows from a // start time without gaps and also supports backfill scenarios (when start time is in the past). type TumblingWindowTrigger struct { @@ -188754,11 +209898,11 @@ type TumblingWindowTrigger struct { AdditionalProperties map[string]interface{} `json:""` // Description - Trigger description. Description *string `json:"description,omitempty"` - // RuntimeState - READ-ONLY; Indicates if trigger is running or not. Updated when Start/Stop APIs are called on the Trigger. Possible values include: 'Started', 'Stopped', 'Disabled' + // RuntimeState - READ-ONLY; Indicates if trigger is running or not. Updated when Start/Stop APIs are called on the Trigger. Possible values include: 'TriggerRuntimeStateStarted', 'TriggerRuntimeStateStopped', 'TriggerRuntimeStateDisabled' RuntimeState TriggerRuntimeState `json:"runtimeState,omitempty"` // Annotations - List of tags that can be used for describing the trigger. Annotations *[]interface{} `json:"annotations,omitempty"` - // Type - Possible values include: 'TypeTrigger', 'TypeRerunTumblingWindowTrigger', 'TypeTumblingWindowTrigger', 'TypeBlobEventsTrigger', 'TypeBlobTrigger', 'TypeScheduleTrigger', 'TypeMultiplePipelineTrigger' + // Type - Possible values include: 'TypeTrigger', 'TypeRerunTumblingWindowTrigger', 'TypeChainingTrigger', 'TypeTumblingWindowTrigger', 'TypeBlobEventsTrigger', 'TypeBlobTrigger', 'TypeScheduleTrigger', 'TypeMultiplePipelineTrigger' Type TypeBasicTrigger `json:"type,omitempty"` } @@ -188792,6 +209936,11 @@ func (twt TumblingWindowTrigger) AsRerunTumblingWindowTrigger() (*RerunTumblingW return nil, false } +// AsChainingTrigger is the BasicTrigger implementation for TumblingWindowTrigger. +func (twt TumblingWindowTrigger) AsChainingTrigger() (*ChainingTrigger, bool) { + return nil, false +} + // AsTumblingWindowTrigger is the BasicTrigger implementation for TumblingWindowTrigger. func (twt TumblingWindowTrigger) AsTumblingWindowTrigger() (*TumblingWindowTrigger, bool) { return &twt, true @@ -189095,7 +210244,7 @@ type UntilActivity struct { DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"` // UserProperties - Activity user properties. UserProperties *[]UserProperty `json:"userProperties,omitempty"` - // Type - Possible values include: 'TypeActivity', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer' + // Type - Possible values include: 'TypeActivity', 'TypeExecuteDataFlow', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLExecutePipeline', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeSwitch', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer' Type TypeBasicActivity `json:"type,omitempty"` } @@ -189127,6 +210276,11 @@ func (ua UntilActivity) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } +// AsExecuteDataFlowActivity is the BasicActivity implementation for UntilActivity. +func (ua UntilActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) { + return nil, false +} + // AsAzureFunctionActivity is the BasicActivity implementation for UntilActivity. func (ua UntilActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) { return nil, false @@ -189152,6 +210306,11 @@ func (ua UntilActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQ return nil, false } +// AsAzureMLExecutePipelineActivity is the BasicActivity implementation for UntilActivity. +func (ua UntilActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) { + return nil, false +} + // AsAzureMLUpdateResourceActivity is the BasicActivity implementation for UntilActivity. func (ua UntilActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) { return nil, false @@ -189282,6 +210441,11 @@ func (ua UntilActivity) AsForEachActivity() (*ForEachActivity, bool) { return nil, false } +// AsSwitchActivity is the BasicActivity implementation for UntilActivity. +func (ua UntilActivity) AsSwitchActivity() (*SwitchActivity, bool) { + return nil, false +} + // AsIfConditionActivity is the BasicActivity implementation for UntilActivity. func (ua UntilActivity) AsIfConditionActivity() (*IfConditionActivity, bool) { return nil, false @@ -189494,7 +210658,7 @@ type ValidationActivity struct { DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"` // UserProperties - Activity user properties. UserProperties *[]UserProperty `json:"userProperties,omitempty"` - // Type - Possible values include: 'TypeActivity', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer' + // Type - Possible values include: 'TypeActivity', 'TypeExecuteDataFlow', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLExecutePipeline', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeSwitch', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer' Type TypeBasicActivity `json:"type,omitempty"` } @@ -189526,6 +210690,11 @@ func (va ValidationActivity) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } +// AsExecuteDataFlowActivity is the BasicActivity implementation for ValidationActivity. +func (va ValidationActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) { + return nil, false +} + // AsAzureFunctionActivity is the BasicActivity implementation for ValidationActivity. func (va ValidationActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) { return nil, false @@ -189551,6 +210720,11 @@ func (va ValidationActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyti return nil, false } +// AsAzureMLExecutePipelineActivity is the BasicActivity implementation for ValidationActivity. +func (va ValidationActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) { + return nil, false +} + // AsAzureMLUpdateResourceActivity is the BasicActivity implementation for ValidationActivity. func (va ValidationActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) { return nil, false @@ -189681,6 +210855,11 @@ func (va ValidationActivity) AsForEachActivity() (*ForEachActivity, bool) { return nil, false } +// AsSwitchActivity is the BasicActivity implementation for ValidationActivity. +func (va ValidationActivity) AsSwitchActivity() (*SwitchActivity, bool) { + return nil, false +} + // AsIfConditionActivity is the BasicActivity implementation for ValidationActivity. func (va ValidationActivity) AsIfConditionActivity() (*IfConditionActivity, bool) { return nil, false @@ -189838,7 +211017,7 @@ type VerticaLinkedService struct { Parameters map[string]*ParameterSpecification `json:"parameters"` // Annotations - List of tags that can be used for describing the linked service. Annotations *[]interface{} `json:"annotations,omitempty"` - // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' + // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' Type TypeBasicLinkedService `json:"type,omitempty"` } @@ -190210,6 +211389,11 @@ func (vls VerticaLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) return nil, false } +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for VerticaLinkedService. +func (vls VerticaLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + // AsAzureMLLinkedService is the BasicLinkedService implementation for VerticaLinkedService. func (vls VerticaLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { return nil, false @@ -190250,6 +211434,16 @@ func (vls VerticaLinkedService) AsOracleLinkedService() (*OracleLinkedService, b return nil, false } +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for VerticaLinkedService. +func (vls VerticaLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for VerticaLinkedService. +func (vls VerticaLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + // AsFileServerLinkedService is the BasicLinkedService implementation for VerticaLinkedService. func (vls VerticaLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { return nil, false @@ -190430,6 +211624,8 @@ type VerticaLinkedServiceTypeProperties struct { type VerticaSource struct { // Query - A query to retrieve data from source. Type: string (or Expression with resultType string). Query interface{} `json:"query,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). @@ -190438,7 +211634,7 @@ type VerticaSource struct { SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' + // Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' Type TypeBasicCopySource `json:"type,omitempty"` } @@ -190449,6 +211645,9 @@ func (vs VerticaSource) MarshalJSON() ([]byte, error) { if vs.Query != nil { objectMap["query"] = vs.Query } + if vs.QueryTimeout != nil { + objectMap["queryTimeout"] = vs.QueryTimeout + } if vs.SourceRetryCount != nil { objectMap["sourceRetryCount"] = vs.SourceRetryCount } @@ -190467,6 +211666,121 @@ func (vs VerticaSource) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } +// AsHTTPSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + // AsAmazonRedshiftSource is the BasicCopySource implementation for VerticaSource. func (vs VerticaSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { return nil, false @@ -190642,81 +211956,21 @@ func (vs VerticaSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { return nil, false } -// AsHTTPSource is the BasicCopySource implementation for VerticaSource. -func (vs VerticaSource) AsHTTPSource() (*HTTPSource, bool) { - return nil, false -} - -// AsAzureBlobFSSource is the BasicCopySource implementation for VerticaSource. -func (vs VerticaSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { - return nil, false -} - -// AsAzureDataLakeStoreSource is the BasicCopySource implementation for VerticaSource. -func (vs VerticaSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { - return nil, false -} - -// AsOffice365Source is the BasicCopySource implementation for VerticaSource. -func (vs VerticaSource) AsOffice365Source() (*Office365Source, bool) { - return nil, false -} - -// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for VerticaSource. -func (vs VerticaSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { - return nil, false -} - -// AsMongoDbV2Source is the BasicCopySource implementation for VerticaSource. -func (vs VerticaSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { - return nil, false -} - -// AsMongoDbSource is the BasicCopySource implementation for VerticaSource. -func (vs VerticaSource) AsMongoDbSource() (*MongoDbSource, bool) { - return nil, false -} - // AsCassandraSource is the BasicCopySource implementation for VerticaSource. func (vs VerticaSource) AsCassandraSource() (*CassandraSource, bool) { return nil, false } -// AsWebSource is the BasicCopySource implementation for VerticaSource. -func (vs VerticaSource) AsWebSource() (*WebSource, bool) { - return nil, false -} - // AsTeradataSource is the BasicCopySource implementation for VerticaSource. func (vs VerticaSource) AsTeradataSource() (*TeradataSource, bool) { return nil, false } -// AsOracleSource is the BasicCopySource implementation for VerticaSource. -func (vs VerticaSource) AsOracleSource() (*OracleSource, bool) { - return nil, false -} - -// AsAzureDataExplorerSource is the BasicCopySource implementation for VerticaSource. -func (vs VerticaSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { - return nil, false -} - // AsAzureMySQLSource is the BasicCopySource implementation for VerticaSource. func (vs VerticaSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { return nil, false } -// AsHdfsSource is the BasicCopySource implementation for VerticaSource. -func (vs VerticaSource) AsHdfsSource() (*HdfsSource, bool) { - return nil, false -} - -// AsFileSystemSource is the BasicCopySource implementation for VerticaSource. -func (vs VerticaSource) AsFileSystemSource() (*FileSystemSource, bool) { - return nil, false -} - // AsSQLDWSource is the BasicCopySource implementation for VerticaSource. func (vs VerticaSource) AsSQLDWSource() (*SQLDWSource, bool) { return nil, false @@ -190742,11 +211996,6 @@ func (vs VerticaSource) AsSQLSource() (*SQLSource, bool) { return nil, false } -// AsRestSource is the BasicCopySource implementation for VerticaSource. -func (vs VerticaSource) AsRestSource() (*RestSource, bool) { - return nil, false -} - // AsSapTableSource is the BasicCopySource implementation for VerticaSource. func (vs VerticaSource) AsSapTableSource() (*SapTableSource, bool) { return nil, false @@ -190772,21 +212021,11 @@ func (vs VerticaSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSourc return nil, false } -// AsSalesforceServiceCloudSource is the BasicCopySource implementation for VerticaSource. -func (vs VerticaSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { - return nil, false -} - // AsSalesforceSource is the BasicCopySource implementation for VerticaSource. func (vs VerticaSource) AsSalesforceSource() (*SalesforceSource, bool) { return nil, false } -// AsODataSource is the BasicCopySource implementation for VerticaSource. -func (vs VerticaSource) AsODataSource() (*ODataSource, bool) { - return nil, false -} - // AsSapBwSource is the BasicCopySource implementation for VerticaSource. func (vs VerticaSource) AsSapBwSource() (*SapBwSource, bool) { return nil, false @@ -190817,53 +212056,38 @@ func (vs VerticaSource) AsDb2Source() (*Db2Source, bool) { return nil, false } -// AsMicrosoftAccessSource is the BasicCopySource implementation for VerticaSource. -func (vs VerticaSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { - return nil, false -} - // AsInformixSource is the BasicCopySource implementation for VerticaSource. func (vs VerticaSource) AsInformixSource() (*InformixSource, bool) { return nil, false } -// AsRelationalSource is the BasicCopySource implementation for VerticaSource. -func (vs VerticaSource) AsRelationalSource() (*RelationalSource, bool) { - return nil, false -} - -// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for VerticaSource. -func (vs VerticaSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { - return nil, false -} - -// AsDynamicsCrmSource is the BasicCopySource implementation for VerticaSource. -func (vs VerticaSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { +// AsAzureTableSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsAzureTableSource() (*AzureTableSource, bool) { return nil, false } -// AsDynamicsSource is the BasicCopySource implementation for VerticaSource. -func (vs VerticaSource) AsDynamicsSource() (*DynamicsSource, bool) { +// AsTabularSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsTabularSource() (*TabularSource, bool) { return nil, false } -// AsDocumentDbCollectionSource is the BasicCopySource implementation for VerticaSource. -func (vs VerticaSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { - return nil, false +// AsBasicTabularSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &vs, true } -// AsBlobSource is the BasicCopySource implementation for VerticaSource. -func (vs VerticaSource) AsBlobSource() (*BlobSource, bool) { +// AsBinarySource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsBinarySource() (*BinarySource, bool) { return nil, false } -// AsAzureTableSource is the BasicCopySource implementation for VerticaSource. -func (vs VerticaSource) AsAzureTableSource() (*AzureTableSource, bool) { +// AsOrcSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsOrcSource() (*OrcSource, bool) { return nil, false } -// AsBinarySource is the BasicCopySource implementation for VerticaSource. -func (vs VerticaSource) AsBinarySource() (*BinarySource, bool) { +// AsJSONSource is the BasicCopySource implementation for VerticaSource. +func (vs VerticaSource) AsJSONSource() (*JSONSource, bool) { return nil, false } @@ -190910,6 +212134,15 @@ func (vs *VerticaSource) UnmarshalJSON(body []byte) error { } vs.Query = query } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + vs.QueryTimeout = queryTimeout + } default: if v != nil { var additionalProperties interface{} @@ -190984,7 +212217,7 @@ type VerticaTableDataset struct { Annotations *[]interface{} `json:"annotations,omitempty"` // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. Folder *DatasetFolder `json:"folder,omitempty"` - // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' + // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' Type TypeBasicDataset `json:"type,omitempty"` } @@ -191300,6 +212533,16 @@ func (vtd VerticaTableDataset) AsRelationalTableDataset() (*RelationalTableDatas return nil, false } +// AsDb2TableDataset is the BasicDataset implementation for VerticaTableDataset. +func (vtd VerticaTableDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for VerticaTableDataset. +func (vtd VerticaTableDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + // AsAzureMySQLTableDataset is the BasicDataset implementation for VerticaTableDataset. func (vtd VerticaTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { return nil, false @@ -191375,6 +212618,11 @@ func (vtd VerticaTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbColle return nil, false } +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for VerticaTableDataset. +func (vtd VerticaTableDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + // AsCustomDataset is the BasicDataset implementation for VerticaTableDataset. func (vtd VerticaTableDataset) AsCustomDataset() (*CustomDataset, bool) { return nil, false @@ -191415,6 +212663,16 @@ func (vtd VerticaTableDataset) AsBinaryDataset() (*BinaryDataset, bool) { return nil, false } +// AsOrcDataset is the BasicDataset implementation for VerticaTableDataset. +func (vtd VerticaTableDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for VerticaTableDataset. +func (vtd VerticaTableDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + // AsDelimitedTextDataset is the BasicDataset implementation for VerticaTableDataset. func (vtd VerticaTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { return nil, false @@ -191567,7 +212825,7 @@ type WaitActivity struct { DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"` // UserProperties - Activity user properties. UserProperties *[]UserProperty `json:"userProperties,omitempty"` - // Type - Possible values include: 'TypeActivity', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer' + // Type - Possible values include: 'TypeActivity', 'TypeExecuteDataFlow', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLExecutePipeline', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeSwitch', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer' Type TypeBasicActivity `json:"type,omitempty"` } @@ -191599,6 +212857,11 @@ func (wa WaitActivity) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } +// AsExecuteDataFlowActivity is the BasicActivity implementation for WaitActivity. +func (wa WaitActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) { + return nil, false +} + // AsAzureFunctionActivity is the BasicActivity implementation for WaitActivity. func (wa WaitActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) { return nil, false @@ -191624,6 +212887,11 @@ func (wa WaitActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQL return nil, false } +// AsAzureMLExecutePipelineActivity is the BasicActivity implementation for WaitActivity. +func (wa WaitActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) { + return nil, false +} + // AsAzureMLUpdateResourceActivity is the BasicActivity implementation for WaitActivity. func (wa WaitActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) { return nil, false @@ -191754,6 +213022,11 @@ func (wa WaitActivity) AsForEachActivity() (*ForEachActivity, bool) { return nil, false } +// AsSwitchActivity is the BasicActivity implementation for WaitActivity. +func (wa WaitActivity) AsSwitchActivity() (*SwitchActivity, bool) { + return nil, false +} + // AsIfConditionActivity is the BasicActivity implementation for WaitActivity. func (wa WaitActivity) AsIfConditionActivity() (*IfConditionActivity, bool) { return nil, false @@ -191889,7 +213162,7 @@ type WebActivity struct { DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"` // UserProperties - Activity user properties. UserProperties *[]UserProperty `json:"userProperties,omitempty"` - // Type - Possible values include: 'TypeActivity', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer' + // Type - Possible values include: 'TypeActivity', 'TypeExecuteDataFlow', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLExecutePipeline', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeSwitch', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer' Type TypeBasicActivity `json:"type,omitempty"` } @@ -191927,6 +213200,11 @@ func (wa WebActivity) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } +// AsExecuteDataFlowActivity is the BasicActivity implementation for WebActivity. +func (wa WebActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) { + return nil, false +} + // AsAzureFunctionActivity is the BasicActivity implementation for WebActivity. func (wa WebActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) { return nil, false @@ -191952,6 +213230,11 @@ func (wa WebActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalyticsUSQLA return nil, false } +// AsAzureMLExecutePipelineActivity is the BasicActivity implementation for WebActivity. +func (wa WebActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) { + return nil, false +} + // AsAzureMLUpdateResourceActivity is the BasicActivity implementation for WebActivity. func (wa WebActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) { return nil, false @@ -192082,6 +213365,11 @@ func (wa WebActivity) AsForEachActivity() (*ForEachActivity, bool) { return nil, false } +// AsSwitchActivity is the BasicActivity implementation for WebActivity. +func (wa WebActivity) AsSwitchActivity() (*SwitchActivity, bool) { + return nil, false +} + // AsIfConditionActivity is the BasicActivity implementation for WebActivity. func (wa WebActivity) AsIfConditionActivity() (*IfConditionActivity, bool) { return nil, false @@ -192512,7 +213800,7 @@ type WebHookActivity struct { DependsOn *[]ActivityDependency `json:"dependsOn,omitempty"` // UserProperties - Activity user properties. UserProperties *[]UserProperty `json:"userProperties,omitempty"` - // Type - Possible values include: 'TypeActivity', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer' + // Type - Possible values include: 'TypeActivity', 'TypeExecuteDataFlow', 'TypeAzureFunctionActivity', 'TypeDatabricksSparkPython', 'TypeDatabricksSparkJar', 'TypeDatabricksNotebook', 'TypeDataLakeAnalyticsUSQL', 'TypeAzureMLExecutePipeline', 'TypeAzureMLUpdateResource', 'TypeAzureMLBatchExecution', 'TypeGetMetadata', 'TypeWebActivity', 'TypeLookup', 'TypeAzureDataExplorerCommand', 'TypeDelete', 'TypeSQLServerStoredProcedure', 'TypeCustom', 'TypeExecuteSSISPackage', 'TypeHDInsightSpark', 'TypeHDInsightStreaming', 'TypeHDInsightMapReduce', 'TypeHDInsightPig', 'TypeHDInsightHive', 'TypeCopy', 'TypeExecution', 'TypeWebHook', 'TypeAppendVariable', 'TypeSetVariable', 'TypeFilter', 'TypeValidation', 'TypeUntil', 'TypeWait', 'TypeForEach', 'TypeSwitch', 'TypeIfCondition', 'TypeExecutePipeline', 'TypeContainer' Type TypeBasicActivity `json:"type,omitempty"` } @@ -192544,6 +213832,11 @@ func (wha WebHookActivity) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } +// AsExecuteDataFlowActivity is the BasicActivity implementation for WebHookActivity. +func (wha WebHookActivity) AsExecuteDataFlowActivity() (*ExecuteDataFlowActivity, bool) { + return nil, false +} + // AsAzureFunctionActivity is the BasicActivity implementation for WebHookActivity. func (wha WebHookActivity) AsAzureFunctionActivity() (*AzureFunctionActivity, bool) { return nil, false @@ -192569,6 +213862,11 @@ func (wha WebHookActivity) AsDataLakeAnalyticsUSQLActivity() (*DataLakeAnalytics return nil, false } +// AsAzureMLExecutePipelineActivity is the BasicActivity implementation for WebHookActivity. +func (wha WebHookActivity) AsAzureMLExecutePipelineActivity() (*AzureMLExecutePipelineActivity, bool) { + return nil, false +} + // AsAzureMLUpdateResourceActivity is the BasicActivity implementation for WebHookActivity. func (wha WebHookActivity) AsAzureMLUpdateResourceActivity() (*AzureMLUpdateResourceActivity, bool) { return nil, false @@ -192699,6 +213997,11 @@ func (wha WebHookActivity) AsForEachActivity() (*ForEachActivity, bool) { return nil, false } +// AsSwitchActivity is the BasicActivity implementation for WebHookActivity. +func (wha WebHookActivity) AsSwitchActivity() (*SwitchActivity, bool) { + return nil, false +} + // AsIfConditionActivity is the BasicActivity implementation for WebHookActivity. func (wha WebHookActivity) AsIfConditionActivity() (*IfConditionActivity, bool) { return nil, false @@ -192840,7 +214143,7 @@ type WebLinkedService struct { Parameters map[string]*ParameterSpecification `json:"parameters"` // Annotations - List of tags that can be used for describing the linked service. Annotations *[]interface{} `json:"annotations,omitempty"` - // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' + // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' Type TypeBasicLinkedService `json:"type,omitempty"` } @@ -193210,6 +214513,11 @@ func (wls WebLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { return nil, false } +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for WebLinkedService. +func (wls WebLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + // AsAzureMLLinkedService is the BasicLinkedService implementation for WebLinkedService. func (wls WebLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { return nil, false @@ -193250,6 +214558,16 @@ func (wls WebLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool) return nil, false } +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for WebLinkedService. +func (wls WebLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for WebLinkedService. +func (wls WebLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + // AsFileServerLinkedService is the BasicLinkedService implementation for WebLinkedService. func (wls WebLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { return nil, false @@ -193526,7 +214844,7 @@ type WebSource struct { SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' + // Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' Type TypeBasicCopySource `json:"type,omitempty"` } @@ -193552,6 +214870,121 @@ func (ws WebSource) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } +// AsHTTPSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsWebSource() (*WebSource, bool) { + return &ws, true +} + +// AsOracleSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + // AsAmazonRedshiftSource is the BasicCopySource implementation for WebSource. func (ws WebSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { return nil, false @@ -193727,81 +215160,21 @@ func (ws WebSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { return nil, false } -// AsHTTPSource is the BasicCopySource implementation for WebSource. -func (ws WebSource) AsHTTPSource() (*HTTPSource, bool) { - return nil, false -} - -// AsAzureBlobFSSource is the BasicCopySource implementation for WebSource. -func (ws WebSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { - return nil, false -} - -// AsAzureDataLakeStoreSource is the BasicCopySource implementation for WebSource. -func (ws WebSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { - return nil, false -} - -// AsOffice365Source is the BasicCopySource implementation for WebSource. -func (ws WebSource) AsOffice365Source() (*Office365Source, bool) { - return nil, false -} - -// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for WebSource. -func (ws WebSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { - return nil, false -} - -// AsMongoDbV2Source is the BasicCopySource implementation for WebSource. -func (ws WebSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { - return nil, false -} - -// AsMongoDbSource is the BasicCopySource implementation for WebSource. -func (ws WebSource) AsMongoDbSource() (*MongoDbSource, bool) { - return nil, false -} - // AsCassandraSource is the BasicCopySource implementation for WebSource. func (ws WebSource) AsCassandraSource() (*CassandraSource, bool) { return nil, false } -// AsWebSource is the BasicCopySource implementation for WebSource. -func (ws WebSource) AsWebSource() (*WebSource, bool) { - return &ws, true -} - // AsTeradataSource is the BasicCopySource implementation for WebSource. func (ws WebSource) AsTeradataSource() (*TeradataSource, bool) { return nil, false } -// AsOracleSource is the BasicCopySource implementation for WebSource. -func (ws WebSource) AsOracleSource() (*OracleSource, bool) { - return nil, false -} - -// AsAzureDataExplorerSource is the BasicCopySource implementation for WebSource. -func (ws WebSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { - return nil, false -} - // AsAzureMySQLSource is the BasicCopySource implementation for WebSource. func (ws WebSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { return nil, false } -// AsHdfsSource is the BasicCopySource implementation for WebSource. -func (ws WebSource) AsHdfsSource() (*HdfsSource, bool) { - return nil, false -} - -// AsFileSystemSource is the BasicCopySource implementation for WebSource. -func (ws WebSource) AsFileSystemSource() (*FileSystemSource, bool) { - return nil, false -} - // AsSQLDWSource is the BasicCopySource implementation for WebSource. func (ws WebSource) AsSQLDWSource() (*SQLDWSource, bool) { return nil, false @@ -193827,11 +215200,6 @@ func (ws WebSource) AsSQLSource() (*SQLSource, bool) { return nil, false } -// AsRestSource is the BasicCopySource implementation for WebSource. -func (ws WebSource) AsRestSource() (*RestSource, bool) { - return nil, false -} - // AsSapTableSource is the BasicCopySource implementation for WebSource. func (ws WebSource) AsSapTableSource() (*SapTableSource, bool) { return nil, false @@ -193857,21 +215225,11 @@ func (ws WebSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, b return nil, false } -// AsSalesforceServiceCloudSource is the BasicCopySource implementation for WebSource. -func (ws WebSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { - return nil, false -} - // AsSalesforceSource is the BasicCopySource implementation for WebSource. func (ws WebSource) AsSalesforceSource() (*SalesforceSource, bool) { return nil, false } -// AsODataSource is the BasicCopySource implementation for WebSource. -func (ws WebSource) AsODataSource() (*ODataSource, bool) { - return nil, false -} - // AsSapBwSource is the BasicCopySource implementation for WebSource. func (ws WebSource) AsSapBwSource() (*SapBwSource, bool) { return nil, false @@ -193902,53 +215260,38 @@ func (ws WebSource) AsDb2Source() (*Db2Source, bool) { return nil, false } -// AsMicrosoftAccessSource is the BasicCopySource implementation for WebSource. -func (ws WebSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { - return nil, false -} - // AsInformixSource is the BasicCopySource implementation for WebSource. func (ws WebSource) AsInformixSource() (*InformixSource, bool) { return nil, false } -// AsRelationalSource is the BasicCopySource implementation for WebSource. -func (ws WebSource) AsRelationalSource() (*RelationalSource, bool) { - return nil, false -} - -// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for WebSource. -func (ws WebSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { - return nil, false -} - -// AsDynamicsCrmSource is the BasicCopySource implementation for WebSource. -func (ws WebSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { +// AsAzureTableSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsAzureTableSource() (*AzureTableSource, bool) { return nil, false } -// AsDynamicsSource is the BasicCopySource implementation for WebSource. -func (ws WebSource) AsDynamicsSource() (*DynamicsSource, bool) { +// AsTabularSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsTabularSource() (*TabularSource, bool) { return nil, false } -// AsDocumentDbCollectionSource is the BasicCopySource implementation for WebSource. -func (ws WebSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { +// AsBasicTabularSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsBasicTabularSource() (BasicTabularSource, bool) { return nil, false } -// AsBlobSource is the BasicCopySource implementation for WebSource. -func (ws WebSource) AsBlobSource() (*BlobSource, bool) { +// AsBinarySource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsBinarySource() (*BinarySource, bool) { return nil, false } -// AsAzureTableSource is the BasicCopySource implementation for WebSource. -func (ws WebSource) AsAzureTableSource() (*AzureTableSource, bool) { +// AsOrcSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsOrcSource() (*OrcSource, bool) { return nil, false } -// AsBinarySource is the BasicCopySource implementation for WebSource. -func (ws WebSource) AsBinarySource() (*BinarySource, bool) { +// AsJSONSource is the BasicCopySource implementation for WebSource. +func (ws WebSource) AsJSONSource() (*JSONSource, bool) { return nil, false } @@ -194060,7 +215403,7 @@ type WebTableDataset struct { Annotations *[]interface{} `json:"annotations,omitempty"` // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. Folder *DatasetFolder `json:"folder,omitempty"` - // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' + // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' Type TypeBasicDataset `json:"type,omitempty"` } @@ -194376,6 +215719,16 @@ func (wtd WebTableDataset) AsRelationalTableDataset() (*RelationalTableDataset, return nil, false } +// AsDb2TableDataset is the BasicDataset implementation for WebTableDataset. +func (wtd WebTableDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for WebTableDataset. +func (wtd WebTableDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + // AsAzureMySQLTableDataset is the BasicDataset implementation for WebTableDataset. func (wtd WebTableDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { return nil, false @@ -194451,6 +215804,11 @@ func (wtd WebTableDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollectio return nil, false } +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for WebTableDataset. +func (wtd WebTableDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + // AsCustomDataset is the BasicDataset implementation for WebTableDataset. func (wtd WebTableDataset) AsCustomDataset() (*CustomDataset, bool) { return nil, false @@ -194491,6 +215849,16 @@ func (wtd WebTableDataset) AsBinaryDataset() (*BinaryDataset, bool) { return nil, false } +// AsOrcDataset is the BasicDataset implementation for WebTableDataset. +func (wtd WebTableDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for WebTableDataset. +func (wtd WebTableDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + // AsDelimitedTextDataset is the BasicDataset implementation for WebTableDataset. func (wtd WebTableDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { return nil, false @@ -194651,7 +216019,7 @@ type XeroLinkedService struct { Parameters map[string]*ParameterSpecification `json:"parameters"` // Annotations - List of tags that can be used for describing the linked service. Annotations *[]interface{} `json:"annotations,omitempty"` - // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' + // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' Type TypeBasicLinkedService `json:"type,omitempty"` } @@ -195023,6 +216391,11 @@ func (xls XeroLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { return nil, false } +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for XeroLinkedService. +func (xls XeroLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + // AsAzureMLLinkedService is the BasicLinkedService implementation for XeroLinkedService. func (xls XeroLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { return nil, false @@ -195063,6 +216436,16 @@ func (xls XeroLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool return nil, false } +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for XeroLinkedService. +func (xls XeroLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for XeroLinkedService. +func (xls XeroLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + // AsFileServerLinkedService is the BasicLinkedService implementation for XeroLinkedService. func (xls XeroLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { return nil, false @@ -195344,7 +216727,7 @@ type XeroObjectDataset struct { Annotations *[]interface{} `json:"annotations,omitempty"` // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. Folder *DatasetFolder `json:"folder,omitempty"` - // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' + // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' Type TypeBasicDataset `json:"type,omitempty"` } @@ -195660,6 +217043,16 @@ func (xod XeroObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset return nil, false } +// AsDb2TableDataset is the BasicDataset implementation for XeroObjectDataset. +func (xod XeroObjectDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for XeroObjectDataset. +func (xod XeroObjectDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + // AsAzureMySQLTableDataset is the BasicDataset implementation for XeroObjectDataset. func (xod XeroObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { return nil, false @@ -195735,6 +217128,11 @@ func (xod XeroObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollect return nil, false } +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for XeroObjectDataset. +func (xod XeroObjectDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + // AsCustomDataset is the BasicDataset implementation for XeroObjectDataset. func (xod XeroObjectDataset) AsCustomDataset() (*CustomDataset, bool) { return nil, false @@ -195775,6 +217173,16 @@ func (xod XeroObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) { return nil, false } +// AsOrcDataset is the BasicDataset implementation for XeroObjectDataset. +func (xod XeroObjectDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for XeroObjectDataset. +func (xod XeroObjectDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + // AsDelimitedTextDataset is the BasicDataset implementation for XeroObjectDataset. func (xod XeroObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { return nil, false @@ -195917,6 +217325,8 @@ func (xod *XeroObjectDataset) UnmarshalJSON(body []byte) error { type XeroSource struct { // Query - A query to retrieve data from source. Type: string (or Expression with resultType string). Query interface{} `json:"query,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). @@ -195925,7 +217335,7 @@ type XeroSource struct { SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' + // Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' Type TypeBasicCopySource `json:"type,omitempty"` } @@ -195936,6 +217346,9 @@ func (xs XeroSource) MarshalJSON() ([]byte, error) { if xs.Query != nil { objectMap["query"] = xs.Query } + if xs.QueryTimeout != nil { + objectMap["queryTimeout"] = xs.QueryTimeout + } if xs.SourceRetryCount != nil { objectMap["sourceRetryCount"] = xs.SourceRetryCount } @@ -195954,6 +217367,121 @@ func (xs XeroSource) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } +// AsHTTPSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + // AsAmazonRedshiftSource is the BasicCopySource implementation for XeroSource. func (xs XeroSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { return nil, false @@ -196129,81 +217657,21 @@ func (xs XeroSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { return nil, false } -// AsHTTPSource is the BasicCopySource implementation for XeroSource. -func (xs XeroSource) AsHTTPSource() (*HTTPSource, bool) { - return nil, false -} - -// AsAzureBlobFSSource is the BasicCopySource implementation for XeroSource. -func (xs XeroSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { - return nil, false -} - -// AsAzureDataLakeStoreSource is the BasicCopySource implementation for XeroSource. -func (xs XeroSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { - return nil, false -} - -// AsOffice365Source is the BasicCopySource implementation for XeroSource. -func (xs XeroSource) AsOffice365Source() (*Office365Source, bool) { - return nil, false -} - -// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for XeroSource. -func (xs XeroSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { - return nil, false -} - -// AsMongoDbV2Source is the BasicCopySource implementation for XeroSource. -func (xs XeroSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { - return nil, false -} - -// AsMongoDbSource is the BasicCopySource implementation for XeroSource. -func (xs XeroSource) AsMongoDbSource() (*MongoDbSource, bool) { - return nil, false -} - // AsCassandraSource is the BasicCopySource implementation for XeroSource. func (xs XeroSource) AsCassandraSource() (*CassandraSource, bool) { return nil, false } -// AsWebSource is the BasicCopySource implementation for XeroSource. -func (xs XeroSource) AsWebSource() (*WebSource, bool) { - return nil, false -} - // AsTeradataSource is the BasicCopySource implementation for XeroSource. func (xs XeroSource) AsTeradataSource() (*TeradataSource, bool) { return nil, false } -// AsOracleSource is the BasicCopySource implementation for XeroSource. -func (xs XeroSource) AsOracleSource() (*OracleSource, bool) { - return nil, false -} - -// AsAzureDataExplorerSource is the BasicCopySource implementation for XeroSource. -func (xs XeroSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { - return nil, false -} - // AsAzureMySQLSource is the BasicCopySource implementation for XeroSource. func (xs XeroSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { return nil, false } -// AsHdfsSource is the BasicCopySource implementation for XeroSource. -func (xs XeroSource) AsHdfsSource() (*HdfsSource, bool) { - return nil, false -} - -// AsFileSystemSource is the BasicCopySource implementation for XeroSource. -func (xs XeroSource) AsFileSystemSource() (*FileSystemSource, bool) { - return nil, false -} - // AsSQLDWSource is the BasicCopySource implementation for XeroSource. func (xs XeroSource) AsSQLDWSource() (*SQLDWSource, bool) { return nil, false @@ -196229,11 +217697,6 @@ func (xs XeroSource) AsSQLSource() (*SQLSource, bool) { return nil, false } -// AsRestSource is the BasicCopySource implementation for XeroSource. -func (xs XeroSource) AsRestSource() (*RestSource, bool) { - return nil, false -} - // AsSapTableSource is the BasicCopySource implementation for XeroSource. func (xs XeroSource) AsSapTableSource() (*SapTableSource, bool) { return nil, false @@ -196259,21 +217722,11 @@ func (xs XeroSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, return nil, false } -// AsSalesforceServiceCloudSource is the BasicCopySource implementation for XeroSource. -func (xs XeroSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { - return nil, false -} - // AsSalesforceSource is the BasicCopySource implementation for XeroSource. func (xs XeroSource) AsSalesforceSource() (*SalesforceSource, bool) { return nil, false } -// AsODataSource is the BasicCopySource implementation for XeroSource. -func (xs XeroSource) AsODataSource() (*ODataSource, bool) { - return nil, false -} - // AsSapBwSource is the BasicCopySource implementation for XeroSource. func (xs XeroSource) AsSapBwSource() (*SapBwSource, bool) { return nil, false @@ -196304,53 +217757,38 @@ func (xs XeroSource) AsDb2Source() (*Db2Source, bool) { return nil, false } -// AsMicrosoftAccessSource is the BasicCopySource implementation for XeroSource. -func (xs XeroSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { - return nil, false -} - // AsInformixSource is the BasicCopySource implementation for XeroSource. func (xs XeroSource) AsInformixSource() (*InformixSource, bool) { return nil, false } -// AsRelationalSource is the BasicCopySource implementation for XeroSource. -func (xs XeroSource) AsRelationalSource() (*RelationalSource, bool) { - return nil, false -} - -// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for XeroSource. -func (xs XeroSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { - return nil, false -} - -// AsDynamicsCrmSource is the BasicCopySource implementation for XeroSource. -func (xs XeroSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { +// AsAzureTableSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsAzureTableSource() (*AzureTableSource, bool) { return nil, false } -// AsDynamicsSource is the BasicCopySource implementation for XeroSource. -func (xs XeroSource) AsDynamicsSource() (*DynamicsSource, bool) { +// AsTabularSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsTabularSource() (*TabularSource, bool) { return nil, false } -// AsDocumentDbCollectionSource is the BasicCopySource implementation for XeroSource. -func (xs XeroSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { - return nil, false +// AsBasicTabularSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &xs, true } -// AsBlobSource is the BasicCopySource implementation for XeroSource. -func (xs XeroSource) AsBlobSource() (*BlobSource, bool) { +// AsBinarySource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsBinarySource() (*BinarySource, bool) { return nil, false } -// AsAzureTableSource is the BasicCopySource implementation for XeroSource. -func (xs XeroSource) AsAzureTableSource() (*AzureTableSource, bool) { +// AsOrcSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsOrcSource() (*OrcSource, bool) { return nil, false } -// AsBinarySource is the BasicCopySource implementation for XeroSource. -func (xs XeroSource) AsBinarySource() (*BinarySource, bool) { +// AsJSONSource is the BasicCopySource implementation for XeroSource. +func (xs XeroSource) AsJSONSource() (*JSONSource, bool) { return nil, false } @@ -196397,6 +217835,15 @@ func (xs *XeroSource) UnmarshalJSON(body []byte) error { } xs.Query = query } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + xs.QueryTimeout = queryTimeout + } default: if v != nil { var additionalProperties interface{} @@ -196465,7 +217912,7 @@ type ZohoLinkedService struct { Parameters map[string]*ParameterSpecification `json:"parameters"` // Annotations - List of tags that can be used for describing the linked service. Annotations *[]interface{} `json:"annotations,omitempty"` - // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' + // Type - Possible values include: 'TypeLinkedService', 'TypeAzureFunction', 'TypeAzureDataExplorer', 'TypeSapTable', 'TypeGoogleAdWords', 'TypeOracleServiceCloud', 'TypeDynamicsAX', 'TypeResponsys', 'TypeAzureDatabricks', 'TypeAzureDataLakeAnalytics', 'TypeHDInsightOnDemand', 'TypeSalesforceMarketingCloud', 'TypeNetezza', 'TypeVertica', 'TypeZoho', 'TypeXero', 'TypeSquare', 'TypeSpark', 'TypeShopify', 'TypeServiceNow', 'TypeQuickBooks', 'TypePresto', 'TypePhoenix', 'TypePaypal', 'TypeMarketo', 'TypeAzureMariaDB', 'TypeMariaDB', 'TypeMagento', 'TypeJira', 'TypeImpala', 'TypeHubspot', 'TypeHive', 'TypeHBase', 'TypeGreenplum', 'TypeGoogleBigQuery', 'TypeEloqua', 'TypeDrill', 'TypeCouchbase', 'TypeConcur', 'TypeAzurePostgreSQL', 'TypeAmazonMWS', 'TypeSapHana', 'TypeSapBW', 'TypeSftp', 'TypeFtpServer', 'TypeHTTPServer', 'TypeAzureSearch', 'TypeCustomDataSource', 'TypeAmazonRedshift', 'TypeAmazonS3', 'TypeRestService', 'TypeSapOpenHub', 'TypeSapEcc', 'TypeSapCloudForCustomer', 'TypeSalesforceServiceCloud', 'TypeSalesforce', 'TypeOffice365', 'TypeAzureBlobFS', 'TypeAzureDataLakeStore', 'TypeCosmosDbMongoDbAPI', 'TypeMongoDbV2', 'TypeMongoDb', 'TypeCassandra', 'TypeWeb', 'TypeOData', 'TypeHdfs', 'TypeMicrosoftAccess', 'TypeInformix', 'TypeOdbc', 'TypeAzureMLService', 'TypeAzureML', 'TypeTeradata', 'TypeDb2', 'TypeSybase', 'TypePostgreSQL', 'TypeMySQL', 'TypeAzureMySQL', 'TypeOracle', 'TypeGoogleCloudStorage', 'TypeAzureFileStorage', 'TypeFileServer', 'TypeHDInsight', 'TypeCommonDataServiceForApps', 'TypeDynamicsCrm', 'TypeDynamics', 'TypeCosmosDb', 'TypeAzureKeyVault', 'TypeAzureBatch', 'TypeAzureSQLMI', 'TypeAzureSQLDatabase', 'TypeSQLServer', 'TypeAzureSQLDW', 'TypeAzureTableStorage', 'TypeAzureBlobStorage', 'TypeAzureStorage' Type TypeBasicLinkedService `json:"type,omitempty"` } @@ -196837,6 +218284,11 @@ func (zls ZohoLinkedService) AsOdbcLinkedService() (*OdbcLinkedService, bool) { return nil, false } +// AsAzureMLServiceLinkedService is the BasicLinkedService implementation for ZohoLinkedService. +func (zls ZohoLinkedService) AsAzureMLServiceLinkedService() (*AzureMLServiceLinkedService, bool) { + return nil, false +} + // AsAzureMLLinkedService is the BasicLinkedService implementation for ZohoLinkedService. func (zls ZohoLinkedService) AsAzureMLLinkedService() (*AzureMLLinkedService, bool) { return nil, false @@ -196877,6 +218329,16 @@ func (zls ZohoLinkedService) AsOracleLinkedService() (*OracleLinkedService, bool return nil, false } +// AsGoogleCloudStorageLinkedService is the BasicLinkedService implementation for ZohoLinkedService. +func (zls ZohoLinkedService) AsGoogleCloudStorageLinkedService() (*GoogleCloudStorageLinkedService, bool) { + return nil, false +} + +// AsAzureFileStorageLinkedService is the BasicLinkedService implementation for ZohoLinkedService. +func (zls ZohoLinkedService) AsAzureFileStorageLinkedService() (*AzureFileStorageLinkedService, bool) { + return nil, false +} + // AsFileServerLinkedService is the BasicLinkedService implementation for ZohoLinkedService. func (zls ZohoLinkedService) AsFileServerLinkedService() (*FileServerLinkedService, bool) { return nil, false @@ -197147,7 +218609,7 @@ type ZohoObjectDataset struct { Annotations *[]interface{} `json:"annotations,omitempty"` // Folder - The folder that this Dataset is in. If not specified, Dataset will appear at the root level. Folder *DatasetFolder `json:"folder,omitempty"` - // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' + // Type - Possible values include: 'TypeDataset', 'TypeGoogleAdWordsObject', 'TypeAzureDataExplorerTable', 'TypeOracleServiceCloudObject', 'TypeDynamicsAXResource', 'TypeResponsysObject', 'TypeSalesforceMarketingCloudObject', 'TypeVerticaTable', 'TypeNetezzaTable', 'TypeZohoObject', 'TypeXeroObject', 'TypeSquareObject', 'TypeSparkObject', 'TypeShopifyObject', 'TypeServiceNowObject', 'TypeQuickBooksObject', 'TypePrestoObject', 'TypePhoenixObject', 'TypePaypalObject', 'TypeMarketoObject', 'TypeAzureMariaDBTable', 'TypeMariaDBTable', 'TypeMagentoObject', 'TypeJiraObject', 'TypeImpalaObject', 'TypeHubspotObject', 'TypeHiveObject', 'TypeHBaseObject', 'TypeGreenplumTable', 'TypeGoogleBigQueryObject', 'TypeEloquaObject', 'TypeDrillTable', 'TypeCouchbaseTable', 'TypeConcurObject', 'TypeAzurePostgreSQLTable', 'TypeAmazonMWSObject', 'TypeHTTPFile', 'TypeAzureSearchIndex', 'TypeWebTable', 'TypeSapTableResource', 'TypeRestResource', 'TypeSQLServerTable', 'TypeSapOpenHubTable', 'TypeSapHanaTable', 'TypeSapEccResource', 'TypeSapCloudForCustomerResource', 'TypeSapBwCube', 'TypeSybaseTable', 'TypeSalesforceServiceCloudObject', 'TypeSalesforceObject', 'TypeMicrosoftAccessTable', 'TypePostgreSQLTable', 'TypeMySQLTable', 'TypeOdbcTable', 'TypeInformixTable', 'TypeRelationalTable', 'TypeDb2Table', 'TypeAmazonRedshiftTable', 'TypeAzureMySQLTable', 'TypeTeradataTable', 'TypeOracleTable', 'TypeODataResource', 'TypeCosmosDbMongoDbAPICollection', 'TypeMongoDbV2Collection', 'TypeMongoDbCollection', 'TypeFileShare', 'TypeOffice365Table', 'TypeAzureBlobFSFile', 'TypeAzureDataLakeStoreFile', 'TypeCommonDataServiceForAppsEntity', 'TypeDynamicsCrmEntity', 'TypeDynamicsEntity', 'TypeDocumentDbCollection', 'TypeCosmosDbSQLAPICollection', 'TypeCustomDataset', 'TypeCassandraTable', 'TypeAzureSQLDWTable', 'TypeAzureSQLMITable', 'TypeAzureSQLTable', 'TypeAzureTable', 'TypeAzureBlob', 'TypeBinary', 'TypeOrc', 'TypeJSON', 'TypeDelimitedText', 'TypeParquet', 'TypeAvro', 'TypeAmazonS3Object' Type TypeBasicDataset `json:"type,omitempty"` } @@ -197463,6 +218925,16 @@ func (zod ZohoObjectDataset) AsRelationalTableDataset() (*RelationalTableDataset return nil, false } +// AsDb2TableDataset is the BasicDataset implementation for ZohoObjectDataset. +func (zod ZohoObjectDataset) AsDb2TableDataset() (*Db2TableDataset, bool) { + return nil, false +} + +// AsAmazonRedshiftTableDataset is the BasicDataset implementation for ZohoObjectDataset. +func (zod ZohoObjectDataset) AsAmazonRedshiftTableDataset() (*AmazonRedshiftTableDataset, bool) { + return nil, false +} + // AsAzureMySQLTableDataset is the BasicDataset implementation for ZohoObjectDataset. func (zod ZohoObjectDataset) AsAzureMySQLTableDataset() (*AzureMySQLTableDataset, bool) { return nil, false @@ -197538,6 +219010,11 @@ func (zod ZohoObjectDataset) AsDocumentDbCollectionDataset() (*DocumentDbCollect return nil, false } +// AsCosmosDbSQLAPICollectionDataset is the BasicDataset implementation for ZohoObjectDataset. +func (zod ZohoObjectDataset) AsCosmosDbSQLAPICollectionDataset() (*CosmosDbSQLAPICollectionDataset, bool) { + return nil, false +} + // AsCustomDataset is the BasicDataset implementation for ZohoObjectDataset. func (zod ZohoObjectDataset) AsCustomDataset() (*CustomDataset, bool) { return nil, false @@ -197578,6 +219055,16 @@ func (zod ZohoObjectDataset) AsBinaryDataset() (*BinaryDataset, bool) { return nil, false } +// AsOrcDataset is the BasicDataset implementation for ZohoObjectDataset. +func (zod ZohoObjectDataset) AsOrcDataset() (*OrcDataset, bool) { + return nil, false +} + +// AsJSONDataset is the BasicDataset implementation for ZohoObjectDataset. +func (zod ZohoObjectDataset) AsJSONDataset() (*JSONDataset, bool) { + return nil, false +} + // AsDelimitedTextDataset is the BasicDataset implementation for ZohoObjectDataset. func (zod ZohoObjectDataset) AsDelimitedTextDataset() (*DelimitedTextDataset, bool) { return nil, false @@ -197720,6 +219207,8 @@ func (zod *ZohoObjectDataset) UnmarshalJSON(body []byte) error { type ZohoSource struct { // Query - A query to retrieve data from source. Type: string (or Expression with resultType string). Query interface{} `json:"query,omitempty"` + // QueryTimeout - Query timeout. Type: string (or Expression with resultType string), pattern: ((\d+)\.)?(\d\d):(60|([0-5][0-9])):(60|([0-5][0-9])). + QueryTimeout interface{} `json:"queryTimeout,omitempty"` // AdditionalProperties - Unmatched properties from the message are deserialized this collection AdditionalProperties map[string]interface{} `json:""` // SourceRetryCount - Source retry count. Type: integer (or Expression with resultType integer). @@ -197728,7 +219217,7 @@ type ZohoSource struct { SourceRetryWait interface{} `json:"sourceRetryWait,omitempty"` // MaxConcurrentConnections - The maximum concurrent connection count for the source data store. Type: integer (or Expression with resultType integer). MaxConcurrentConnections interface{} `json:"maxConcurrentConnections,omitempty"` - // Type - Possible values include: 'TypeCopySource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeCassandraSource', 'TypeWebSource', 'TypeTeradataSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeAzureMySQLSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeRestSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceServiceCloudSource', 'TypeSalesforceSource', 'TypeODataSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeMicrosoftAccessSource', 'TypeInformixSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAzureTableSource', 'TypeBinarySource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' + // Type - Possible values include: 'TypeCopySource', 'TypeHTTPSource', 'TypeAzureBlobFSSource', 'TypeAzureDataLakeStoreSource', 'TypeOffice365Source', 'TypeCosmosDbMongoDbAPISource', 'TypeMongoDbV2Source', 'TypeMongoDbSource', 'TypeWebSource', 'TypeOracleSource', 'TypeAzureDataExplorerSource', 'TypeHdfsSource', 'TypeFileSystemSource', 'TypeRestSource', 'TypeSalesforceServiceCloudSource', 'TypeODataSource', 'TypeMicrosoftAccessSource', 'TypeRelationalSource', 'TypeCommonDataServiceForAppsSource', 'TypeDynamicsCrmSource', 'TypeDynamicsSource', 'TypeCosmosDbSQLAPISource', 'TypeDocumentDbCollectionSource', 'TypeBlobSource', 'TypeAmazonRedshiftSource', 'TypeGoogleAdWordsSource', 'TypeOracleServiceCloudSource', 'TypeDynamicsAXSource', 'TypeResponsysSource', 'TypeSalesforceMarketingCloudSource', 'TypeVerticaSource', 'TypeNetezzaSource', 'TypeZohoSource', 'TypeXeroSource', 'TypeSquareSource', 'TypeSparkSource', 'TypeShopifySource', 'TypeServiceNowSource', 'TypeQuickBooksSource', 'TypePrestoSource', 'TypePhoenixSource', 'TypePaypalSource', 'TypeMarketoSource', 'TypeAzureMariaDBSource', 'TypeMariaDBSource', 'TypeMagentoSource', 'TypeJiraSource', 'TypeImpalaSource', 'TypeHubspotSource', 'TypeHiveSource', 'TypeHBaseSource', 'TypeGreenplumSource', 'TypeGoogleBigQuerySource', 'TypeEloquaSource', 'TypeDrillSource', 'TypeCouchbaseSource', 'TypeConcurSource', 'TypeAzurePostgreSQLSource', 'TypeAmazonMWSSource', 'TypeCassandraSource', 'TypeTeradataSource', 'TypeAzureMySQLSource', 'TypeSQLDWSource', 'TypeSQLMISource', 'TypeAzureSQLSource', 'TypeSQLServerSource', 'TypeSQLSource', 'TypeSapTableSource', 'TypeSapOpenHubSource', 'TypeSapHanaSource', 'TypeSapEccSource', 'TypeSapCloudForCustomerSource', 'TypeSalesforceSource', 'TypeSapBwSource', 'TypeSybaseSource', 'TypePostgreSQLSource', 'TypeMySQLSource', 'TypeOdbcSource', 'TypeDb2Source', 'TypeInformixSource', 'TypeAzureTableSource', 'TypeTabularSource', 'TypeBinarySource', 'TypeOrcSource', 'TypeJSONSource', 'TypeDelimitedTextSource', 'TypeParquetSource', 'TypeAvroSource' Type TypeBasicCopySource `json:"type,omitempty"` } @@ -197739,6 +219228,9 @@ func (zs ZohoSource) MarshalJSON() ([]byte, error) { if zs.Query != nil { objectMap["query"] = zs.Query } + if zs.QueryTimeout != nil { + objectMap["queryTimeout"] = zs.QueryTimeout + } if zs.SourceRetryCount != nil { objectMap["sourceRetryCount"] = zs.SourceRetryCount } @@ -197757,6 +219249,121 @@ func (zs ZohoSource) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } +// AsHTTPSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsHTTPSource() (*HTTPSource, bool) { + return nil, false +} + +// AsAzureBlobFSSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { + return nil, false +} + +// AsAzureDataLakeStoreSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { + return nil, false +} + +// AsOffice365Source is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsOffice365Source() (*Office365Source, bool) { + return nil, false +} + +// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { + return nil, false +} + +// AsMongoDbV2Source is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { + return nil, false +} + +// AsMongoDbSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsMongoDbSource() (*MongoDbSource, bool) { + return nil, false +} + +// AsWebSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsWebSource() (*WebSource, bool) { + return nil, false +} + +// AsOracleSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsOracleSource() (*OracleSource, bool) { + return nil, false +} + +// AsAzureDataExplorerSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { + return nil, false +} + +// AsHdfsSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsHdfsSource() (*HdfsSource, bool) { + return nil, false +} + +// AsFileSystemSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsFileSystemSource() (*FileSystemSource, bool) { + return nil, false +} + +// AsRestSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsRestSource() (*RestSource, bool) { + return nil, false +} + +// AsSalesforceServiceCloudSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { + return nil, false +} + +// AsODataSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsODataSource() (*ODataSource, bool) { + return nil, false +} + +// AsMicrosoftAccessSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { + return nil, false +} + +// AsRelationalSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsRelationalSource() (*RelationalSource, bool) { + return nil, false +} + +// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { + return nil, false +} + +// AsDynamicsCrmSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { + return nil, false +} + +// AsDynamicsSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsDynamicsSource() (*DynamicsSource, bool) { + return nil, false +} + +// AsCosmosDbSQLAPISource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsCosmosDbSQLAPISource() (*CosmosDbSQLAPISource, bool) { + return nil, false +} + +// AsDocumentDbCollectionSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { + return nil, false +} + +// AsBlobSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsBlobSource() (*BlobSource, bool) { + return nil, false +} + // AsAmazonRedshiftSource is the BasicCopySource implementation for ZohoSource. func (zs ZohoSource) AsAmazonRedshiftSource() (*AmazonRedshiftSource, bool) { return nil, false @@ -197932,81 +219539,21 @@ func (zs ZohoSource) AsAmazonMWSSource() (*AmazonMWSSource, bool) { return nil, false } -// AsHTTPSource is the BasicCopySource implementation for ZohoSource. -func (zs ZohoSource) AsHTTPSource() (*HTTPSource, bool) { - return nil, false -} - -// AsAzureBlobFSSource is the BasicCopySource implementation for ZohoSource. -func (zs ZohoSource) AsAzureBlobFSSource() (*AzureBlobFSSource, bool) { - return nil, false -} - -// AsAzureDataLakeStoreSource is the BasicCopySource implementation for ZohoSource. -func (zs ZohoSource) AsAzureDataLakeStoreSource() (*AzureDataLakeStoreSource, bool) { - return nil, false -} - -// AsOffice365Source is the BasicCopySource implementation for ZohoSource. -func (zs ZohoSource) AsOffice365Source() (*Office365Source, bool) { - return nil, false -} - -// AsCosmosDbMongoDbAPISource is the BasicCopySource implementation for ZohoSource. -func (zs ZohoSource) AsCosmosDbMongoDbAPISource() (*CosmosDbMongoDbAPISource, bool) { - return nil, false -} - -// AsMongoDbV2Source is the BasicCopySource implementation for ZohoSource. -func (zs ZohoSource) AsMongoDbV2Source() (*MongoDbV2Source, bool) { - return nil, false -} - -// AsMongoDbSource is the BasicCopySource implementation for ZohoSource. -func (zs ZohoSource) AsMongoDbSource() (*MongoDbSource, bool) { - return nil, false -} - // AsCassandraSource is the BasicCopySource implementation for ZohoSource. func (zs ZohoSource) AsCassandraSource() (*CassandraSource, bool) { return nil, false } -// AsWebSource is the BasicCopySource implementation for ZohoSource. -func (zs ZohoSource) AsWebSource() (*WebSource, bool) { - return nil, false -} - // AsTeradataSource is the BasicCopySource implementation for ZohoSource. func (zs ZohoSource) AsTeradataSource() (*TeradataSource, bool) { return nil, false } -// AsOracleSource is the BasicCopySource implementation for ZohoSource. -func (zs ZohoSource) AsOracleSource() (*OracleSource, bool) { - return nil, false -} - -// AsAzureDataExplorerSource is the BasicCopySource implementation for ZohoSource. -func (zs ZohoSource) AsAzureDataExplorerSource() (*AzureDataExplorerSource, bool) { - return nil, false -} - // AsAzureMySQLSource is the BasicCopySource implementation for ZohoSource. func (zs ZohoSource) AsAzureMySQLSource() (*AzureMySQLSource, bool) { return nil, false } -// AsHdfsSource is the BasicCopySource implementation for ZohoSource. -func (zs ZohoSource) AsHdfsSource() (*HdfsSource, bool) { - return nil, false -} - -// AsFileSystemSource is the BasicCopySource implementation for ZohoSource. -func (zs ZohoSource) AsFileSystemSource() (*FileSystemSource, bool) { - return nil, false -} - // AsSQLDWSource is the BasicCopySource implementation for ZohoSource. func (zs ZohoSource) AsSQLDWSource() (*SQLDWSource, bool) { return nil, false @@ -198032,11 +219579,6 @@ func (zs ZohoSource) AsSQLSource() (*SQLSource, bool) { return nil, false } -// AsRestSource is the BasicCopySource implementation for ZohoSource. -func (zs ZohoSource) AsRestSource() (*RestSource, bool) { - return nil, false -} - // AsSapTableSource is the BasicCopySource implementation for ZohoSource. func (zs ZohoSource) AsSapTableSource() (*SapTableSource, bool) { return nil, false @@ -198062,21 +219604,11 @@ func (zs ZohoSource) AsSapCloudForCustomerSource() (*SapCloudForCustomerSource, return nil, false } -// AsSalesforceServiceCloudSource is the BasicCopySource implementation for ZohoSource. -func (zs ZohoSource) AsSalesforceServiceCloudSource() (*SalesforceServiceCloudSource, bool) { - return nil, false -} - // AsSalesforceSource is the BasicCopySource implementation for ZohoSource. func (zs ZohoSource) AsSalesforceSource() (*SalesforceSource, bool) { return nil, false } -// AsODataSource is the BasicCopySource implementation for ZohoSource. -func (zs ZohoSource) AsODataSource() (*ODataSource, bool) { - return nil, false -} - // AsSapBwSource is the BasicCopySource implementation for ZohoSource. func (zs ZohoSource) AsSapBwSource() (*SapBwSource, bool) { return nil, false @@ -198107,53 +219639,38 @@ func (zs ZohoSource) AsDb2Source() (*Db2Source, bool) { return nil, false } -// AsMicrosoftAccessSource is the BasicCopySource implementation for ZohoSource. -func (zs ZohoSource) AsMicrosoftAccessSource() (*MicrosoftAccessSource, bool) { - return nil, false -} - // AsInformixSource is the BasicCopySource implementation for ZohoSource. func (zs ZohoSource) AsInformixSource() (*InformixSource, bool) { return nil, false } -// AsRelationalSource is the BasicCopySource implementation for ZohoSource. -func (zs ZohoSource) AsRelationalSource() (*RelationalSource, bool) { - return nil, false -} - -// AsCommonDataServiceForAppsSource is the BasicCopySource implementation for ZohoSource. -func (zs ZohoSource) AsCommonDataServiceForAppsSource() (*CommonDataServiceForAppsSource, bool) { - return nil, false -} - -// AsDynamicsCrmSource is the BasicCopySource implementation for ZohoSource. -func (zs ZohoSource) AsDynamicsCrmSource() (*DynamicsCrmSource, bool) { +// AsAzureTableSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsAzureTableSource() (*AzureTableSource, bool) { return nil, false } -// AsDynamicsSource is the BasicCopySource implementation for ZohoSource. -func (zs ZohoSource) AsDynamicsSource() (*DynamicsSource, bool) { +// AsTabularSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsTabularSource() (*TabularSource, bool) { return nil, false } -// AsDocumentDbCollectionSource is the BasicCopySource implementation for ZohoSource. -func (zs ZohoSource) AsDocumentDbCollectionSource() (*DocumentDbCollectionSource, bool) { - return nil, false +// AsBasicTabularSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsBasicTabularSource() (BasicTabularSource, bool) { + return &zs, true } -// AsBlobSource is the BasicCopySource implementation for ZohoSource. -func (zs ZohoSource) AsBlobSource() (*BlobSource, bool) { +// AsBinarySource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsBinarySource() (*BinarySource, bool) { return nil, false } -// AsAzureTableSource is the BasicCopySource implementation for ZohoSource. -func (zs ZohoSource) AsAzureTableSource() (*AzureTableSource, bool) { +// AsOrcSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsOrcSource() (*OrcSource, bool) { return nil, false } -// AsBinarySource is the BasicCopySource implementation for ZohoSource. -func (zs ZohoSource) AsBinarySource() (*BinarySource, bool) { +// AsJSONSource is the BasicCopySource implementation for ZohoSource. +func (zs ZohoSource) AsJSONSource() (*JSONSource, bool) { return nil, false } @@ -198200,6 +219717,15 @@ func (zs *ZohoSource) UnmarshalJSON(body []byte) error { } zs.Query = query } + case "queryTimeout": + if v != nil { + var queryTimeout interface{} + err = json.Unmarshal(*v, &queryTimeout) + if err != nil { + return err + } + zs.QueryTimeout = queryTimeout + } default: if v != nil { var additionalProperties interface{} diff --git a/services/datafactory/mgmt/2018-06-01/datafactory/triggers.go b/services/datafactory/mgmt/2018-06-01/datafactory/triggers.go index cc6fc803c787..ace9d7cfbbce 100644 --- a/services/datafactory/mgmt/2018-06-01/datafactory/triggers.go +++ b/services/datafactory/mgmt/2018-06-01/datafactory/triggers.go @@ -343,6 +343,101 @@ func (client TriggersClient) GetResponder(resp *http.Response) (result TriggerRe return } +// GetEventSubscriptionStatus get a trigger's event subscription status. +// Parameters: +// resourceGroupName - the resource group name. +// factoryName - the factory name. +// triggerName - the trigger name. +func (client TriggersClient) GetEventSubscriptionStatus(ctx context.Context, resourceGroupName string, factoryName string, triggerName string) (result TriggerSubscriptionOperationStatus, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/TriggersClient.GetEventSubscriptionStatus") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}, + {TargetValue: factoryName, + Constraints: []validation.Constraint{{Target: "factoryName", Name: validation.MaxLength, Rule: 63, Chain: nil}, + {Target: "factoryName", Name: validation.MinLength, Rule: 3, Chain: nil}, + {Target: "factoryName", Name: validation.Pattern, Rule: `^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$`, Chain: nil}}}, + {TargetValue: triggerName, + Constraints: []validation.Constraint{{Target: "triggerName", Name: validation.MaxLength, Rule: 260, Chain: nil}, + {Target: "triggerName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "triggerName", Name: validation.Pattern, Rule: `^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("datafactory.TriggersClient", "GetEventSubscriptionStatus", err.Error()) + } + + req, err := client.GetEventSubscriptionStatusPreparer(ctx, resourceGroupName, factoryName, triggerName) + if err != nil { + err = autorest.NewErrorWithError(err, "datafactory.TriggersClient", "GetEventSubscriptionStatus", nil, "Failure preparing request") + return + } + + resp, err := client.GetEventSubscriptionStatusSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "datafactory.TriggersClient", "GetEventSubscriptionStatus", resp, "Failure sending request") + return + } + + result, err = client.GetEventSubscriptionStatusResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "datafactory.TriggersClient", "GetEventSubscriptionStatus", resp, "Failure responding to request") + } + + return +} + +// GetEventSubscriptionStatusPreparer prepares the GetEventSubscriptionStatus request. +func (client TriggersClient) GetEventSubscriptionStatusPreparer(ctx context.Context, resourceGroupName string, factoryName string, triggerName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "factoryName": autorest.Encode("path", factoryName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "triggerName": autorest.Encode("path", triggerName), + } + + const APIVersion = "2018-06-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}/getEventSubscriptionStatus", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetEventSubscriptionStatusSender sends the GetEventSubscriptionStatus request. The method will close the +// http.Response Body if it receives an error. +func (client TriggersClient) GetEventSubscriptionStatusSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetEventSubscriptionStatusResponder handles the response to the GetEventSubscriptionStatus request. The method always +// closes the http.Response Body. +func (client TriggersClient) GetEventSubscriptionStatusResponder(resp *http.Response) (result TriggerSubscriptionOperationStatus, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + // ListByFactory lists triggers. // Parameters: // resourceGroupName - the resource group name. @@ -657,3 +752,193 @@ func (client TriggersClient) StopResponder(resp *http.Response) (result autorest result.Response = resp return } + +// SubscribeToEvents subscribe event trigger to events. +// Parameters: +// resourceGroupName - the resource group name. +// factoryName - the factory name. +// triggerName - the trigger name. +func (client TriggersClient) SubscribeToEvents(ctx context.Context, resourceGroupName string, factoryName string, triggerName string) (result TriggersSubscribeToEventsFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/TriggersClient.SubscribeToEvents") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}, + {TargetValue: factoryName, + Constraints: []validation.Constraint{{Target: "factoryName", Name: validation.MaxLength, Rule: 63, Chain: nil}, + {Target: "factoryName", Name: validation.MinLength, Rule: 3, Chain: nil}, + {Target: "factoryName", Name: validation.Pattern, Rule: `^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$`, Chain: nil}}}, + {TargetValue: triggerName, + Constraints: []validation.Constraint{{Target: "triggerName", Name: validation.MaxLength, Rule: 260, Chain: nil}, + {Target: "triggerName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "triggerName", Name: validation.Pattern, Rule: `^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("datafactory.TriggersClient", "SubscribeToEvents", err.Error()) + } + + req, err := client.SubscribeToEventsPreparer(ctx, resourceGroupName, factoryName, triggerName) + if err != nil { + err = autorest.NewErrorWithError(err, "datafactory.TriggersClient", "SubscribeToEvents", nil, "Failure preparing request") + return + } + + result, err = client.SubscribeToEventsSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "datafactory.TriggersClient", "SubscribeToEvents", result.Response(), "Failure sending request") + return + } + + return +} + +// SubscribeToEventsPreparer prepares the SubscribeToEvents request. +func (client TriggersClient) SubscribeToEventsPreparer(ctx context.Context, resourceGroupName string, factoryName string, triggerName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "factoryName": autorest.Encode("path", factoryName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "triggerName": autorest.Encode("path", triggerName), + } + + const APIVersion = "2018-06-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}/subscribeToEvents", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// SubscribeToEventsSender sends the SubscribeToEvents request. The method will close the +// http.Response Body if it receives an error. +func (client TriggersClient) SubscribeToEventsSender(req *http.Request) (future TriggersSubscribeToEventsFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// SubscribeToEventsResponder handles the response to the SubscribeToEvents request. The method always +// closes the http.Response Body. +func (client TriggersClient) SubscribeToEventsResponder(resp *http.Response) (result TriggerSubscriptionOperationStatus, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// UnsubscribeFromEvents unsubscribe event trigger from events. +// Parameters: +// resourceGroupName - the resource group name. +// factoryName - the factory name. +// triggerName - the trigger name. +func (client TriggersClient) UnsubscribeFromEvents(ctx context.Context, resourceGroupName string, factoryName string, triggerName string) (result TriggersUnsubscribeFromEventsFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/TriggersClient.UnsubscribeFromEvents") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}, + {TargetValue: factoryName, + Constraints: []validation.Constraint{{Target: "factoryName", Name: validation.MaxLength, Rule: 63, Chain: nil}, + {Target: "factoryName", Name: validation.MinLength, Rule: 3, Chain: nil}, + {Target: "factoryName", Name: validation.Pattern, Rule: `^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$`, Chain: nil}}}, + {TargetValue: triggerName, + Constraints: []validation.Constraint{{Target: "triggerName", Name: validation.MaxLength, Rule: 260, Chain: nil}, + {Target: "triggerName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "triggerName", Name: validation.Pattern, Rule: `^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("datafactory.TriggersClient", "UnsubscribeFromEvents", err.Error()) + } + + req, err := client.UnsubscribeFromEventsPreparer(ctx, resourceGroupName, factoryName, triggerName) + if err != nil { + err = autorest.NewErrorWithError(err, "datafactory.TriggersClient", "UnsubscribeFromEvents", nil, "Failure preparing request") + return + } + + result, err = client.UnsubscribeFromEventsSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "datafactory.TriggersClient", "UnsubscribeFromEvents", result.Response(), "Failure sending request") + return + } + + return +} + +// UnsubscribeFromEventsPreparer prepares the UnsubscribeFromEvents request. +func (client TriggersClient) UnsubscribeFromEventsPreparer(ctx context.Context, resourceGroupName string, factoryName string, triggerName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "factoryName": autorest.Encode("path", factoryName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "triggerName": autorest.Encode("path", triggerName), + } + + const APIVersion = "2018-06-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}/unsubscribeFromEvents", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UnsubscribeFromEventsSender sends the UnsubscribeFromEvents request. The method will close the +// http.Response Body if it receives an error. +func (client TriggersClient) UnsubscribeFromEventsSender(req *http.Request) (future TriggersUnsubscribeFromEventsFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// UnsubscribeFromEventsResponder handles the response to the UnsubscribeFromEvents request. The method always +// closes the http.Response Body. +func (client TriggersClient) UnsubscribeFromEventsResponder(resp *http.Response) (result TriggerSubscriptionOperationStatus, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/datalake/analytics/2016-11-01-preview/catalog/models.go b/services/datalake/analytics/2016-11-01-preview/catalog/models.go index 845f50ce9888..f7fde509ba0f 100644 --- a/services/datalake/analytics/2016-11-01-preview/catalog/models.go +++ b/services/datalake/analytics/2016-11-01-preview/catalog/models.go @@ -405,9 +405,9 @@ type USQLAssemblyDependencyInfo struct { type USQLAssemblyFileInfo struct { // Type - the assembly file type. Possible values include: 'Assembly', 'Resource', 'Nodeploy' Type FileType `json:"type,omitempty"` - // OriginalPath - the the original path to the assembly file. + // OriginalPath - The original path to the assembly file. OriginalPath *string `json:"originalPath,omitempty"` - // ContentPath - the the content path to the assembly file. + // ContentPath - The content path to the assembly file. ContentPath *string `json:"contentPath,omitempty"` } @@ -2318,15 +2318,15 @@ type USQLTableType struct { SchemaID *int32 `json:"schemaId,omitempty"` // PrincipalID - the principal ID for this type. PrincipalID *int32 `json:"principalId,omitempty"` - // IsNullable - the the switch indicating if this type is nullable. + // IsNullable - The switch indicating if this type is nullable. IsNullable *bool `json:"isNullable,omitempty"` - // IsUserDefined - the the switch indicating if this type is user defined. + // IsUserDefined - The switch indicating if this type is user defined. IsUserDefined *bool `json:"isUserDefined,omitempty"` - // IsAssemblyType - the the switch indicating if this type is an assembly type. + // IsAssemblyType - The switch indicating if this type is an assembly type. IsAssemblyType *bool `json:"isAssemblyType,omitempty"` - // IsTableType - the the switch indicating if this type is a table type. + // IsTableType - The switch indicating if this type is a table type. IsTableType *bool `json:"isTableType,omitempty"` - // IsComplexType - the the switch indicating if this type is a complex type. + // IsComplexType - The switch indicating if this type is a complex type. IsComplexType *bool `json:"isComplexType,omitempty"` // ComputeAccountName - the name of the Data Lake Analytics account. ComputeAccountName *string `json:"computeAccountName,omitempty"` @@ -2666,15 +2666,15 @@ type USQLType struct { SchemaID *int32 `json:"schemaId,omitempty"` // PrincipalID - the principal ID for this type. PrincipalID *int32 `json:"principalId,omitempty"` - // IsNullable - the the switch indicating if this type is nullable. + // IsNullable - The switch indicating if this type is nullable. IsNullable *bool `json:"isNullable,omitempty"` - // IsUserDefined - the the switch indicating if this type is user defined. + // IsUserDefined - The switch indicating if this type is user defined. IsUserDefined *bool `json:"isUserDefined,omitempty"` - // IsAssemblyType - the the switch indicating if this type is an assembly type. + // IsAssemblyType - The switch indicating if this type is an assembly type. IsAssemblyType *bool `json:"isAssemblyType,omitempty"` - // IsTableType - the the switch indicating if this type is a table type. + // IsTableType - The switch indicating if this type is a table type. IsTableType *bool `json:"isTableType,omitempty"` - // IsComplexType - the the switch indicating if this type is a complex type. + // IsComplexType - The switch indicating if this type is a complex type. IsComplexType *bool `json:"isComplexType,omitempty"` // ComputeAccountName - the name of the Data Lake Analytics account. ComputeAccountName *string `json:"computeAccountName,omitempty"` diff --git a/services/datamigration/mgmt/2018-04-19/datamigration/client.go b/services/datamigration/mgmt/2018-04-19/datamigration/client.go index a32a8533f370..898cc1ada833 100644 --- a/services/datamigration/mgmt/2018-04-19/datamigration/client.go +++ b/services/datamigration/mgmt/2018-04-19/datamigration/client.go @@ -1,4 +1,4 @@ -// Package datamigration implements the Azure ARM Datamigration service API version . +// Package datamigration implements the Azure ARM Datamigration service API version 2018-04-19. // // Data Migration Client package datamigration diff --git a/services/datamigration/mgmt/2018-04-19/datamigration/models.go b/services/datamigration/mgmt/2018-04-19/datamigration/models.go index 75375eb2a75c..3becb4a76024 100644 --- a/services/datamigration/mgmt/2018-04-19/datamigration/models.go +++ b/services/datamigration/mgmt/2018-04-19/datamigration/models.go @@ -9441,8 +9441,8 @@ func (msccp MigrateSyncCompleteCommandProperties) AsBasicCommandProperties() (Ba // MigrationEligibilityInfo information about migration eligibility of a server object type MigrationEligibilityInfo struct { - // IsEligibileForMigration - READ-ONLY; Whether object is eligible for migration or not. - IsEligibileForMigration *bool `json:"isEligibileForMigration,omitempty"` + // IsEligibleForMigration - READ-ONLY; Whether object is eligible for migration or not. + IsEligibleForMigration *bool `json:"isEligibleForMigration,omitempty"` // ValidationMessages - READ-ONLY; Information about eligibility failure for the server object. ValidationMessages *[]string `json:"validationMessages,omitempty"` } diff --git a/services/eventgrid/2018-01-01/eventgrid/models.go b/services/eventgrid/2018-01-01/eventgrid/models.go index ce5f2d0042c9..22409444354c 100644 --- a/services/eventgrid/2018-01-01/eventgrid/models.go +++ b/services/eventgrid/2018-01-01/eventgrid/models.go @@ -551,6 +551,176 @@ func (ihdted IotHubDeviceTelemetryEventData) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } +// KeyVaultCertificateExpiredEventData schema of the Data property of an EventGridEvent for an +// CertificateExpired event. +type KeyVaultCertificateExpiredEventData struct { + // ID - The id of the object that triggered this event. + ID *string `json:"id,omitempty"` + // VaultName - Key vault name of the object that triggered this event. + VaultName *string `json:"vaultName,omitempty"` + // ObjectType - The type of the object that triggered this event + ObjectType *string `json:"objectType,omitempty"` + // ObjectName - The name of the object that triggered this event + ObjectName *string `json:"objectName,omitempty"` + // Version - The version of the object that triggered this event + Version *string `json:"version,omitempty"` + // Nbf - Not before date of the object that triggered this event + Nbf *float64 `json:"nbf,omitempty"` + // Exp - The expiration date of the object that triggered this event + Exp *float64 `json:"exp,omitempty"` +} + +// KeyVaultCertificateNearExpiryEventData schema of the Data property of an EventGridEvent for an +// CertificateNearExpiry event. +type KeyVaultCertificateNearExpiryEventData struct { + // ID - The id of the object that triggered this event. + ID *string `json:"id,omitempty"` + // VaultName - Key vault name of the object that triggered this event. + VaultName *string `json:"vaultName,omitempty"` + // ObjectType - The type of the object that triggered this event + ObjectType *string `json:"objectType,omitempty"` + // ObjectName - The name of the object that triggered this event + ObjectName *string `json:"objectName,omitempty"` + // Version - The version of the object that triggered this event + Version *string `json:"version,omitempty"` + // Nbf - Not before date of the object that triggered this event + Nbf *float64 `json:"nbf,omitempty"` + // Exp - The expiration date of the object that triggered this event + Exp *float64 `json:"exp,omitempty"` +} + +// KeyVaultCertificateNewVersionCreatedEventData schema of the Data property of an EventGridEvent for an +// CertificateNewVersionCreated event. +type KeyVaultCertificateNewVersionCreatedEventData struct { + // ID - The id of the object that triggered this event. + ID *string `json:"id,omitempty"` + // VaultName - Key vault name of the object that triggered this event. + VaultName *string `json:"vaultName,omitempty"` + // ObjectType - The type of the object that triggered this event + ObjectType *string `json:"objectType,omitempty"` + // ObjectName - The name of the object that triggered this event + ObjectName *string `json:"objectName,omitempty"` + // Version - The version of the object that triggered this event + Version *string `json:"version,omitempty"` + // Nbf - Not before date of the object that triggered this event + Nbf *float64 `json:"nbf,omitempty"` + // Exp - The expiration date of the object that triggered this event + Exp *float64 `json:"exp,omitempty"` +} + +// KeyVaultKeyExpiredEventData schema of the Data property of an EventGridEvent for an KeyExpired event. +type KeyVaultKeyExpiredEventData struct { + // ID - The id of the object that triggered this event. + ID *string `json:"id,omitempty"` + // VaultName - Key vault name of the object that triggered this event. + VaultName *string `json:"vaultName,omitempty"` + // ObjectType - The type of the object that triggered this event + ObjectType *string `json:"objectType,omitempty"` + // ObjectName - The name of the object that triggered this event + ObjectName *string `json:"objectName,omitempty"` + // Version - The version of the object that triggered this event + Version *string `json:"version,omitempty"` + // Nbf - Not before date of the object that triggered this event + Nbf *float64 `json:"nbf,omitempty"` + // Exp - The expiration date of the object that triggered this event + Exp *float64 `json:"exp,omitempty"` +} + +// KeyVaultKeyNearExpiryEventData schema of the Data property of an EventGridEvent for an KeyNearExpiry +// event. +type KeyVaultKeyNearExpiryEventData struct { + // ID - The id of the object that triggered this event. + ID *string `json:"id,omitempty"` + // VaultName - Key vault name of the object that triggered this event. + VaultName *string `json:"vaultName,omitempty"` + // ObjectType - The type of the object that triggered this event + ObjectType *string `json:"objectType,omitempty"` + // ObjectName - The name of the object that triggered this event + ObjectName *string `json:"objectName,omitempty"` + // Version - The version of the object that triggered this event + Version *string `json:"version,omitempty"` + // Nbf - Not before date of the object that triggered this event + Nbf *float64 `json:"nbf,omitempty"` + // Exp - The expiration date of the object that triggered this event + Exp *float64 `json:"exp,omitempty"` +} + +// KeyVaultKeyNewVersionCreatedEventData schema of the Data property of an EventGridEvent for an +// KeyNewVersionCreated event. +type KeyVaultKeyNewVersionCreatedEventData struct { + // ID - The id of the object that triggered this event. + ID *string `json:"id,omitempty"` + // VaultName - Key vault name of the object that triggered this event. + VaultName *string `json:"vaultName,omitempty"` + // ObjectType - The type of the object that triggered this event + ObjectType *string `json:"objectType,omitempty"` + // ObjectName - The name of the object that triggered this event + ObjectName *string `json:"objectName,omitempty"` + // Version - The version of the object that triggered this event + Version *string `json:"version,omitempty"` + // Nbf - Not before date of the object that triggered this event + Nbf *float64 `json:"nbf,omitempty"` + // Exp - The expiration date of the object that triggered this event + Exp *float64 `json:"exp,omitempty"` +} + +// KeyVaultSecretExpiredEventData schema of the Data property of an EventGridEvent for an SecretExpired +// event. +type KeyVaultSecretExpiredEventData struct { + // ID - The id of the object that triggered this event. + ID *string `json:"id,omitempty"` + // VaultName - Key vault name of the object that triggered this event. + VaultName *string `json:"vaultName,omitempty"` + // ObjectType - The type of the object that triggered this event + ObjectType *string `json:"objectType,omitempty"` + // ObjectName - The name of the object that triggered this event + ObjectName *string `json:"objectName,omitempty"` + // Version - The version of the object that triggered this event + Version *string `json:"version,omitempty"` + // Nbf - Not before date of the object that triggered this event + Nbf *float64 `json:"nbf,omitempty"` + // Exp - The expiration date of the object that triggered this event + Exp *float64 `json:"exp,omitempty"` +} + +// KeyVaultSecretNearExpiryEventData schema of the Data property of an EventGridEvent for an +// SecretNearExpiry event. +type KeyVaultSecretNearExpiryEventData struct { + // ID - The id of the object that triggered this event. + ID *string `json:"id,omitempty"` + // VaultName - Key vault name of the object that triggered this event. + VaultName *string `json:"vaultName,omitempty"` + // ObjectType - The type of the object that triggered this event + ObjectType *string `json:"objectType,omitempty"` + // ObjectName - The name of the object that triggered this event + ObjectName *string `json:"objectName,omitempty"` + // Version - The version of the object that triggered this event + Version *string `json:"version,omitempty"` + // Nbf - Not before date of the object that triggered this event + Nbf *float64 `json:"nbf,omitempty"` + // Exp - The expiration date of the object that triggered this event + Exp *float64 `json:"exp,omitempty"` +} + +// KeyVaultSecretNewVersionCreatedEventData schema of the Data property of an EventGridEvent for an +// SecretNewVersionCreated event. +type KeyVaultSecretNewVersionCreatedEventData struct { + // ID - The id of the object that triggered this event. + ID *string `json:"id,omitempty"` + // VaultName - Key vault name of the object that triggered this event. + VaultName *string `json:"vaultName,omitempty"` + // ObjectType - The type of the object that triggered this event + ObjectType *string `json:"objectType,omitempty"` + // ObjectName - The name of the object that triggered this event + ObjectName *string `json:"objectName,omitempty"` + // Version - The version of the object that triggered this event + Version *string `json:"version,omitempty"` + // Nbf - Not before date of the object that triggered this event + Nbf *float64 `json:"nbf,omitempty"` + // Exp - The expiration date of the object that triggered this event + Exp *float64 `json:"exp,omitempty"` +} + // MapsGeofenceEnteredEventData schema of the Data property of an EventGridEvent for a // Microsoft.Maps.GeofenceEntered event. type MapsGeofenceEnteredEventData struct { diff --git a/services/eventhub/mgmt/2017-04-01/eventhub/eventhubapi/interfaces.go b/services/eventhub/mgmt/2017-04-01/eventhub/eventhubapi/interfaces.go index b7ab6ff5d7e2..80789f252a5d 100644 --- a/services/eventhub/mgmt/2017-04-01/eventhub/eventhubapi/interfaces.go +++ b/services/eventhub/mgmt/2017-04-01/eventhub/eventhubapi/interfaces.go @@ -46,6 +46,7 @@ type NamespacesClientAPI interface { ListAuthorizationRules(ctx context.Context, resourceGroupName string, namespaceName string) (result eventhub.AuthorizationRuleListResultPage, err error) ListByResourceGroup(ctx context.Context, resourceGroupName string) (result eventhub.EHNamespaceListResultPage, err error) ListKeys(ctx context.Context, resourceGroupName string, namespaceName string, authorizationRuleName string) (result eventhub.AccessKeys, err error) + ListNetworkRuleSets(ctx context.Context, resourceGroupName string, namespaceName string) (result eventhub.NetworkRuleSetListResultPage, err error) RegenerateKeys(ctx context.Context, resourceGroupName string, namespaceName string, authorizationRuleName string, parameters eventhub.RegenerateAccessKeyParameters) (result eventhub.AccessKeys, err error) Update(ctx context.Context, resourceGroupName string, namespaceName string, parameters eventhub.EHNamespace) (result eventhub.EHNamespace, err error) } diff --git a/services/eventhub/mgmt/2017-04-01/eventhub/models.go b/services/eventhub/mgmt/2017-04-01/eventhub/models.go index 4cff4d2dc750..76ef7508385a 100644 --- a/services/eventhub/mgmt/2017-04-01/eventhub/models.go +++ b/services/eventhub/mgmt/2017-04-01/eventhub/models.go @@ -1957,6 +1957,152 @@ func (nrs *NetworkRuleSet) UnmarshalJSON(body []byte) error { return nil } +// NetworkRuleSetListResult the response of the List NetworkRuleSet operation +type NetworkRuleSetListResult struct { + autorest.Response `json:"-"` + // Value - Result of the List NetworkRuleSet operation. + Value *[]NetworkRuleSet `json:"value,omitempty"` + // NextLink - Link to the next set of results. Not empty if Value contains incomplete list of NetworkRuleSet. + NextLink *string `json:"nextLink,omitempty"` +} + +// NetworkRuleSetListResultIterator provides access to a complete listing of NetworkRuleSet values. +type NetworkRuleSetListResultIterator struct { + i int + page NetworkRuleSetListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *NetworkRuleSetListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/NetworkRuleSetListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *NetworkRuleSetListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter NetworkRuleSetListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter NetworkRuleSetListResultIterator) Response() NetworkRuleSetListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter NetworkRuleSetListResultIterator) Value() NetworkRuleSet { + if !iter.page.NotDone() { + return NetworkRuleSet{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the NetworkRuleSetListResultIterator type. +func NewNetworkRuleSetListResultIterator(page NetworkRuleSetListResultPage) NetworkRuleSetListResultIterator { + return NetworkRuleSetListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (nrslr NetworkRuleSetListResult) IsEmpty() bool { + return nrslr.Value == nil || len(*nrslr.Value) == 0 +} + +// networkRuleSetListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (nrslr NetworkRuleSetListResult) networkRuleSetListResultPreparer(ctx context.Context) (*http.Request, error) { + if nrslr.NextLink == nil || len(to.String(nrslr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(nrslr.NextLink))) +} + +// NetworkRuleSetListResultPage contains a page of NetworkRuleSet values. +type NetworkRuleSetListResultPage struct { + fn func(context.Context, NetworkRuleSetListResult) (NetworkRuleSetListResult, error) + nrslr NetworkRuleSetListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *NetworkRuleSetListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/NetworkRuleSetListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.nrslr) + if err != nil { + return err + } + page.nrslr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *NetworkRuleSetListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page NetworkRuleSetListResultPage) NotDone() bool { + return !page.nrslr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page NetworkRuleSetListResultPage) Response() NetworkRuleSetListResult { + return page.nrslr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page NetworkRuleSetListResultPage) Values() []NetworkRuleSet { + if page.nrslr.IsEmpty() { + return nil + } + return *page.nrslr.Value +} + +// Creates a new instance of the NetworkRuleSetListResultPage type. +func NewNetworkRuleSetListResultPage(getNextPage func(context.Context, NetworkRuleSetListResult) (NetworkRuleSetListResult, error)) NetworkRuleSetListResultPage { + return NetworkRuleSetListResultPage{fn: getNextPage} +} + // NetworkRuleSetProperties networkRuleSet properties type NetworkRuleSetProperties struct { // DefaultAction - Default Action for Network Rule Set. Possible values include: 'Allow', 'Deny' diff --git a/services/eventhub/mgmt/2017-04-01/eventhub/namespaces.go b/services/eventhub/mgmt/2017-04-01/eventhub/namespaces.go index ce27612c9187..92e4987c2429 100644 --- a/services/eventhub/mgmt/2017-04-01/eventhub/namespaces.go +++ b/services/eventhub/mgmt/2017-04-01/eventhub/namespaces.go @@ -1388,6 +1388,131 @@ func (client NamespacesClient) ListKeysResponder(resp *http.Response) (result Ac return } +// ListNetworkRuleSets gets list of NetworkRuleSet for a Namespace. +// Parameters: +// resourceGroupName - name of the resource group within the azure subscription. +// namespaceName - the Namespace name +func (client NamespacesClient) ListNetworkRuleSets(ctx context.Context, resourceGroupName string, namespaceName string) (result NetworkRuleSetListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/NamespacesClient.ListNetworkRuleSets") + defer func() { + sc := -1 + if result.nrslr.Response.Response != nil { + sc = result.nrslr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, + {TargetValue: namespaceName, + Constraints: []validation.Constraint{{Target: "namespaceName", Name: validation.MaxLength, Rule: 50, Chain: nil}, + {Target: "namespaceName", Name: validation.MinLength, Rule: 6, Chain: nil}}}}); err != nil { + return result, validation.NewError("eventhub.NamespacesClient", "ListNetworkRuleSets", err.Error()) + } + + result.fn = client.listNetworkRuleSetsNextResults + req, err := client.ListNetworkRuleSetsPreparer(ctx, resourceGroupName, namespaceName) + if err != nil { + err = autorest.NewErrorWithError(err, "eventhub.NamespacesClient", "ListNetworkRuleSets", nil, "Failure preparing request") + return + } + + resp, err := client.ListNetworkRuleSetsSender(req) + if err != nil { + result.nrslr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "eventhub.NamespacesClient", "ListNetworkRuleSets", resp, "Failure sending request") + return + } + + result.nrslr, err = client.ListNetworkRuleSetsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "eventhub.NamespacesClient", "ListNetworkRuleSets", resp, "Failure responding to request") + } + + return +} + +// ListNetworkRuleSetsPreparer prepares the ListNetworkRuleSets request. +func (client NamespacesClient) ListNetworkRuleSetsPreparer(ctx context.Context, resourceGroupName string, namespaceName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "namespaceName": autorest.Encode("path", namespaceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/networkRuleSets", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListNetworkRuleSetsSender sends the ListNetworkRuleSets request. The method will close the +// http.Response Body if it receives an error. +func (client NamespacesClient) ListNetworkRuleSetsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListNetworkRuleSetsResponder handles the response to the ListNetworkRuleSets request. The method always +// closes the http.Response Body. +func (client NamespacesClient) ListNetworkRuleSetsResponder(resp *http.Response) (result NetworkRuleSetListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNetworkRuleSetsNextResults retrieves the next set of results, if any. +func (client NamespacesClient) listNetworkRuleSetsNextResults(ctx context.Context, lastResults NetworkRuleSetListResult) (result NetworkRuleSetListResult, err error) { + req, err := lastResults.networkRuleSetListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "eventhub.NamespacesClient", "listNetworkRuleSetsNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListNetworkRuleSetsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "eventhub.NamespacesClient", "listNetworkRuleSetsNextResults", resp, "Failure sending next results request") + } + result, err = client.ListNetworkRuleSetsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "eventhub.NamespacesClient", "listNetworkRuleSetsNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListNetworkRuleSetsComplete enumerates all values, automatically crossing page boundaries as required. +func (client NamespacesClient) ListNetworkRuleSetsComplete(ctx context.Context, resourceGroupName string, namespaceName string) (result NetworkRuleSetListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/NamespacesClient.ListNetworkRuleSets") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListNetworkRuleSets(ctx, resourceGroupName, namespaceName) + return +} + // RegenerateKeys regenerates the primary or secondary connection strings for the specified Namespace. // Parameters: // resourceGroupName - name of the resource group within the azure subscription. diff --git a/services/preview/frontdoor/mgmt/2019-04-01/frontdoor/client.go b/services/frontdoor/mgmt/2019-04-01/frontdoor/client.go similarity index 100% rename from services/preview/frontdoor/mgmt/2019-04-01/frontdoor/client.go rename to services/frontdoor/mgmt/2019-04-01/frontdoor/client.go diff --git a/services/preview/frontdoor/mgmt/2019-04-01/frontdoor/endpoints.go b/services/frontdoor/mgmt/2019-04-01/frontdoor/endpoints.go similarity index 100% rename from services/preview/frontdoor/mgmt/2019-04-01/frontdoor/endpoints.go rename to services/frontdoor/mgmt/2019-04-01/frontdoor/endpoints.go diff --git a/services/preview/frontdoor/mgmt/2019-04-01/frontdoor/frontdoorapi/interfaces.go b/services/frontdoor/mgmt/2019-04-01/frontdoor/frontdoorapi/interfaces.go similarity index 53% rename from services/preview/frontdoor/mgmt/2019-04-01/frontdoor/frontdoorapi/interfaces.go rename to services/frontdoor/mgmt/2019-04-01/frontdoor/frontdoorapi/interfaces.go index b332729c4f1e..f7fa78530e1e 100644 --- a/services/preview/frontdoor/mgmt/2019-04-01/frontdoor/frontdoorapi/interfaces.go +++ b/services/frontdoor/mgmt/2019-04-01/frontdoor/frontdoorapi/interfaces.go @@ -19,7 +19,7 @@ package frontdoorapi import ( "context" - "github.com/Azure/azure-sdk-for-go/services/preview/frontdoor/mgmt/2019-04-01/frontdoor" + "github.com/Azure/azure-sdk-for-go/services/frontdoor/mgmt/2019-04-01/frontdoor" ) // BaseClientAPI contains the set of methods on the BaseClient type. @@ -42,50 +42,8 @@ type FrontDoorsClientAPI interface { var _ FrontDoorsClientAPI = (*frontdoor.FrontDoorsClient)(nil) -// RoutingRulesClientAPI contains the set of methods on the RoutingRulesClient type. -type RoutingRulesClientAPI interface { - CreateOrUpdate(ctx context.Context, resourceGroupName string, frontDoorName string, routingRuleName string, routingRuleParameters frontdoor.RoutingRule) (result frontdoor.RoutingRulesCreateOrUpdateFuture, err error) - Delete(ctx context.Context, resourceGroupName string, frontDoorName string, routingRuleName string) (result frontdoor.RoutingRulesDeleteFuture, err error) - Get(ctx context.Context, resourceGroupName string, frontDoorName string, routingRuleName string) (result frontdoor.RoutingRule, err error) - ListByFrontDoor(ctx context.Context, resourceGroupName string, frontDoorName string) (result frontdoor.RoutingRuleListResultPage, err error) -} - -var _ RoutingRulesClientAPI = (*frontdoor.RoutingRulesClient)(nil) - -// HealthProbeSettingsClientAPI contains the set of methods on the HealthProbeSettingsClient type. -type HealthProbeSettingsClientAPI interface { - CreateOrUpdate(ctx context.Context, resourceGroupName string, frontDoorName string, healthProbeSettingsName string, healthProbeSettingsParameters frontdoor.HealthProbeSettingsModel) (result frontdoor.HealthProbeSettingsCreateOrUpdateFuture, err error) - Delete(ctx context.Context, resourceGroupName string, frontDoorName string, healthProbeSettingsName string) (result frontdoor.HealthProbeSettingsDeleteFuture, err error) - Get(ctx context.Context, resourceGroupName string, frontDoorName string, healthProbeSettingsName string) (result frontdoor.HealthProbeSettingsModel, err error) - ListByFrontDoor(ctx context.Context, resourceGroupName string, frontDoorName string) (result frontdoor.HealthProbeSettingsListResultPage, err error) -} - -var _ HealthProbeSettingsClientAPI = (*frontdoor.HealthProbeSettingsClient)(nil) - -// LoadBalancingSettingsClientAPI contains the set of methods on the LoadBalancingSettingsClient type. -type LoadBalancingSettingsClientAPI interface { - CreateOrUpdate(ctx context.Context, resourceGroupName string, frontDoorName string, loadBalancingSettingsName string, loadBalancingSettingsParameters frontdoor.LoadBalancingSettingsModel) (result frontdoor.LoadBalancingSettingsCreateOrUpdateFuture, err error) - Delete(ctx context.Context, resourceGroupName string, frontDoorName string, loadBalancingSettingsName string) (result frontdoor.LoadBalancingSettingsDeleteFuture, err error) - Get(ctx context.Context, resourceGroupName string, frontDoorName string, loadBalancingSettingsName string) (result frontdoor.LoadBalancingSettingsModel, err error) - ListByFrontDoor(ctx context.Context, resourceGroupName string, frontDoorName string) (result frontdoor.LoadBalancingSettingsListResultPage, err error) -} - -var _ LoadBalancingSettingsClientAPI = (*frontdoor.LoadBalancingSettingsClient)(nil) - -// BackendPoolsClientAPI contains the set of methods on the BackendPoolsClient type. -type BackendPoolsClientAPI interface { - CreateOrUpdate(ctx context.Context, resourceGroupName string, frontDoorName string, backendPoolName string, backendPoolParameters frontdoor.BackendPool) (result frontdoor.BackendPoolsCreateOrUpdateFuture, err error) - Delete(ctx context.Context, resourceGroupName string, frontDoorName string, backendPoolName string) (result frontdoor.BackendPoolsDeleteFuture, err error) - Get(ctx context.Context, resourceGroupName string, frontDoorName string, backendPoolName string) (result frontdoor.BackendPool, err error) - ListByFrontDoor(ctx context.Context, resourceGroupName string, frontDoorName string) (result frontdoor.BackendPoolListResultPage, err error) -} - -var _ BackendPoolsClientAPI = (*frontdoor.BackendPoolsClient)(nil) - // FrontendEndpointsClientAPI contains the set of methods on the FrontendEndpointsClient type. type FrontendEndpointsClientAPI interface { - CreateOrUpdate(ctx context.Context, resourceGroupName string, frontDoorName string, frontendEndpointName string, frontendEndpointParameters frontdoor.FrontendEndpoint) (result frontdoor.FrontendEndpointsCreateOrUpdateFuture, err error) - Delete(ctx context.Context, resourceGroupName string, frontDoorName string, frontendEndpointName string) (result frontdoor.FrontendEndpointsDeleteFuture, err error) DisableHTTPS(ctx context.Context, resourceGroupName string, frontDoorName string, frontendEndpointName string) (result frontdoor.FrontendEndpointsDisableHTTPSFuture, err error) EnableHTTPS(ctx context.Context, resourceGroupName string, frontDoorName string, frontendEndpointName string, customHTTPSConfiguration frontdoor.CustomHTTPSConfiguration) (result frontdoor.FrontendEndpointsEnableHTTPSFuture, err error) Get(ctx context.Context, resourceGroupName string, frontDoorName string, frontendEndpointName string) (result frontdoor.FrontendEndpoint, err error) diff --git a/services/preview/frontdoor/mgmt/2019-04-01/frontdoor/frontdoors.go b/services/frontdoor/mgmt/2019-04-01/frontdoor/frontdoors.go similarity index 100% rename from services/preview/frontdoor/mgmt/2019-04-01/frontdoor/frontdoors.go rename to services/frontdoor/mgmt/2019-04-01/frontdoor/frontdoors.go diff --git a/services/preview/frontdoor/mgmt/2019-04-01/frontdoor/frontendendpoints.go b/services/frontdoor/mgmt/2019-04-01/frontdoor/frontendendpoints.go similarity index 69% rename from services/preview/frontdoor/mgmt/2019-04-01/frontdoor/frontendendpoints.go rename to services/frontdoor/mgmt/2019-04-01/frontdoor/frontendendpoints.go index b0f94bb20bd3..c05303c37ea4 100644 --- a/services/preview/frontdoor/mgmt/2019-04-01/frontdoor/frontendendpoints.go +++ b/services/frontdoor/mgmt/2019-04-01/frontdoor/frontendendpoints.go @@ -41,199 +41,6 @@ func NewFrontendEndpointsClientWithBaseURI(baseURI string, subscriptionID string return FrontendEndpointsClient{NewWithBaseURI(baseURI, subscriptionID)} } -// CreateOrUpdate creates a new frontend endpoint with the specified host name within the specified Front Door. -// Parameters: -// resourceGroupName - name of the Resource group within the Azure subscription. -// frontDoorName - name of the Front Door which is globally unique. -// frontendEndpointName - name of the Frontend endpoint which is unique within the Front Door. -// frontendEndpointParameters - frontend endpoint properties needed to create a new endpoint. -func (client FrontendEndpointsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, frontDoorName string, frontendEndpointName string, frontendEndpointParameters FrontendEndpoint) (result FrontendEndpointsCreateOrUpdateFuture, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/FrontendEndpointsClient.CreateOrUpdate") - defer func() { - sc := -1 - if result.Response() != nil { - sc = result.Response().StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - if err := validation.Validate([]validation.Validation{ - {TargetValue: resourceGroupName, - Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 80, Chain: nil}, - {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9_\-\(\)\.]*[^\.]$`, Chain: nil}}}, - {TargetValue: frontDoorName, - Constraints: []validation.Constraint{{Target: "frontDoorName", Name: validation.MaxLength, Rule: 64, Chain: nil}, - {Target: "frontDoorName", Name: validation.MinLength, Rule: 5, Chain: nil}, - {Target: "frontDoorName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$`, Chain: nil}}}, - {TargetValue: frontendEndpointName, - Constraints: []validation.Constraint{{Target: "frontendEndpointName", Name: validation.MaxLength, Rule: 255, Chain: nil}, - {Target: "frontendEndpointName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "frontendEndpointName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$`, Chain: nil}}}}); err != nil { - return result, validation.NewError("frontdoor.FrontendEndpointsClient", "CreateOrUpdate", err.Error()) - } - - req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, frontDoorName, frontendEndpointName, frontendEndpointParameters) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.FrontendEndpointsClient", "CreateOrUpdate", nil, "Failure preparing request") - return - } - - result, err = client.CreateOrUpdateSender(req) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.FrontendEndpointsClient", "CreateOrUpdate", result.Response(), "Failure sending request") - return - } - - return -} - -// CreateOrUpdatePreparer prepares the CreateOrUpdate request. -func (client FrontendEndpointsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, frontDoorName string, frontendEndpointName string, frontendEndpointParameters FrontendEndpoint) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "frontDoorName": autorest.Encode("path", frontDoorName), - "frontendEndpointName": autorest.Encode("path", frontendEndpointName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2019-04-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - frontendEndpointParameters.Type = nil - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; charset=utf-8"), - autorest.AsPut(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/frontendEndpoints/{frontendEndpointName}", pathParameters), - autorest.WithJSON(frontendEndpointParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the -// http.Response Body if it receives an error. -func (client FrontendEndpointsClient) CreateOrUpdateSender(req *http.Request) (future FrontendEndpointsCreateOrUpdateFuture, err error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - var resp *http.Response - resp, err = autorest.SendWithSender(client, req, sd...) - if err != nil { - return - } - future.Future, err = azure.NewFutureFromResponse(resp) - return -} - -// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always -// closes the http.Response Body. -func (client FrontendEndpointsClient) CreateOrUpdateResponder(resp *http.Response) (result FrontendEndpoint, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated, http.StatusAccepted), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// Delete deletes an existing frontend endpoint with the specified parameters. -// Parameters: -// resourceGroupName - name of the Resource group within the Azure subscription. -// frontDoorName - name of the Front Door which is globally unique. -// frontendEndpointName - name of the Frontend endpoint which is unique within the Front Door. -func (client FrontendEndpointsClient) Delete(ctx context.Context, resourceGroupName string, frontDoorName string, frontendEndpointName string) (result FrontendEndpointsDeleteFuture, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/FrontendEndpointsClient.Delete") - defer func() { - sc := -1 - if result.Response() != nil { - sc = result.Response().StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - if err := validation.Validate([]validation.Validation{ - {TargetValue: resourceGroupName, - Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 80, Chain: nil}, - {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9_\-\(\)\.]*[^\.]$`, Chain: nil}}}, - {TargetValue: frontDoorName, - Constraints: []validation.Constraint{{Target: "frontDoorName", Name: validation.MaxLength, Rule: 64, Chain: nil}, - {Target: "frontDoorName", Name: validation.MinLength, Rule: 5, Chain: nil}, - {Target: "frontDoorName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$`, Chain: nil}}}, - {TargetValue: frontendEndpointName, - Constraints: []validation.Constraint{{Target: "frontendEndpointName", Name: validation.MaxLength, Rule: 255, Chain: nil}, - {Target: "frontendEndpointName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "frontendEndpointName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$`, Chain: nil}}}}); err != nil { - return result, validation.NewError("frontdoor.FrontendEndpointsClient", "Delete", err.Error()) - } - - req, err := client.DeletePreparer(ctx, resourceGroupName, frontDoorName, frontendEndpointName) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.FrontendEndpointsClient", "Delete", nil, "Failure preparing request") - return - } - - result, err = client.DeleteSender(req) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.FrontendEndpointsClient", "Delete", result.Response(), "Failure sending request") - return - } - - return -} - -// DeletePreparer prepares the Delete request. -func (client FrontendEndpointsClient) DeletePreparer(ctx context.Context, resourceGroupName string, frontDoorName string, frontendEndpointName string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "frontDoorName": autorest.Encode("path", frontDoorName), - "frontendEndpointName": autorest.Encode("path", frontendEndpointName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2019-04-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsDelete(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/frontendEndpoints/{frontendEndpointName}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DeleteSender sends the Delete request. The method will close the -// http.Response Body if it receives an error. -func (client FrontendEndpointsClient) DeleteSender(req *http.Request) (future FrontendEndpointsDeleteFuture, err error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - var resp *http.Response - resp, err = autorest.SendWithSender(client, req, sd...) - if err != nil { - return - } - future.Future, err = azure.NewFutureFromResponse(resp) - return -} - -// DeleteResponder handles the response to the Delete request. The method always -// closes the http.Response Body. -func (client FrontendEndpointsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), - autorest.ByClosing()) - result.Response = resp - return -} - // DisableHTTPS disables a frontendEndpoint for HTTPS traffic // Parameters: // resourceGroupName - name of the Resource group within the Azure subscription. diff --git a/services/preview/frontdoor/mgmt/2019-04-01/frontdoor/managedrulesets.go b/services/frontdoor/mgmt/2019-04-01/frontdoor/managedrulesets.go similarity index 100% rename from services/preview/frontdoor/mgmt/2019-04-01/frontdoor/managedrulesets.go rename to services/frontdoor/mgmt/2019-04-01/frontdoor/managedrulesets.go diff --git a/services/preview/frontdoor/mgmt/2019-04-01/frontdoor/models.go b/services/frontdoor/mgmt/2019-04-01/frontdoor/models.go similarity index 78% rename from services/preview/frontdoor/mgmt/2019-04-01/frontdoor/models.go rename to services/frontdoor/mgmt/2019-04-01/frontdoor/models.go index 3adc55d112a2..75a2835240ef 100644 --- a/services/preview/frontdoor/mgmt/2019-04-01/frontdoor/models.go +++ b/services/frontdoor/mgmt/2019-04-01/frontdoor/models.go @@ -28,7 +28,7 @@ import ( ) // The package's fully qualified name. -const fqdn = "github.com/Azure/azure-sdk-for-go/services/preview/frontdoor/mgmt/2019-04-01/frontdoor" +const fqdn = "github.com/Azure/azure-sdk-for-go/services/frontdoor/mgmt/2019-04-01/frontdoor" // ActionType enumerates the values for action type. type ActionType string @@ -272,11 +272,13 @@ const ( RequestMethod MatchVariable = "RequestMethod" // RequestURI ... RequestURI MatchVariable = "RequestUri" + // SocketAddr ... + SocketAddr MatchVariable = "SocketAddr" ) // PossibleMatchVariableValues returns an array of possible values for the MatchVariable const type. func PossibleMatchVariableValues() []MatchVariable { - return []MatchVariable{Cookies, PostArgs, QueryString, RemoteAddr, RequestBody, RequestHeader, RequestMethod, RequestURI} + return []MatchVariable{Cookies, PostArgs, QueryString, RemoteAddr, RequestBody, RequestHeader, RequestMethod, RequestURI, SocketAddr} } // NetworkOperationStatus enumerates the values for network operation status. @@ -618,7 +620,6 @@ type Backend struct { // BackendPool a backend pool is a collection of backends that can be routed to. type BackendPool struct { - autorest.Response `json:"-"` // BackendPoolProperties - Properties of the Front Door Backend Pool *BackendPoolProperties `json:"properties,omitempty"` // Name - Resource name. @@ -698,150 +699,12 @@ func (bp *BackendPool) UnmarshalJSON(body []byte) error { // BackendPoolListResult result of the request to list Backend Pools. It contains a list of Backend Pools // objects and a URL link to get the next set of results. type BackendPoolListResult struct { - autorest.Response `json:"-"` // Value - READ-ONLY; List of Backend Pools within a Front Door. Value *[]BackendPool `json:"value,omitempty"` // NextLink - URL to get the next set of BackendPool objects if there are any. NextLink *string `json:"nextLink,omitempty"` } -// BackendPoolListResultIterator provides access to a complete listing of BackendPool values. -type BackendPoolListResultIterator struct { - i int - page BackendPoolListResultPage -} - -// NextWithContext advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -func (iter *BackendPoolListResultIterator) NextWithContext(ctx context.Context) (err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/BackendPoolListResultIterator.NextWithContext") - defer func() { - sc := -1 - if iter.Response().Response.Response != nil { - sc = iter.Response().Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - iter.i++ - if iter.i < len(iter.page.Values()) { - return nil - } - err = iter.page.NextWithContext(ctx) - if err != nil { - iter.i-- - return err - } - iter.i = 0 - return nil -} - -// Next advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -// Deprecated: Use NextWithContext() instead. -func (iter *BackendPoolListResultIterator) Next() error { - return iter.NextWithContext(context.Background()) -} - -// NotDone returns true if the enumeration should be started or is not yet complete. -func (iter BackendPoolListResultIterator) NotDone() bool { - return iter.page.NotDone() && iter.i < len(iter.page.Values()) -} - -// Response returns the raw server response from the last page request. -func (iter BackendPoolListResultIterator) Response() BackendPoolListResult { - return iter.page.Response() -} - -// Value returns the current value or a zero-initialized value if the -// iterator has advanced beyond the end of the collection. -func (iter BackendPoolListResultIterator) Value() BackendPool { - if !iter.page.NotDone() { - return BackendPool{} - } - return iter.page.Values()[iter.i] -} - -// Creates a new instance of the BackendPoolListResultIterator type. -func NewBackendPoolListResultIterator(page BackendPoolListResultPage) BackendPoolListResultIterator { - return BackendPoolListResultIterator{page: page} -} - -// IsEmpty returns true if the ListResult contains no values. -func (bplr BackendPoolListResult) IsEmpty() bool { - return bplr.Value == nil || len(*bplr.Value) == 0 -} - -// backendPoolListResultPreparer prepares a request to retrieve the next set of results. -// It returns nil if no more results exist. -func (bplr BackendPoolListResult) backendPoolListResultPreparer(ctx context.Context) (*http.Request, error) { - if bplr.NextLink == nil || len(to.String(bplr.NextLink)) < 1 { - return nil, nil - } - return autorest.Prepare((&http.Request{}).WithContext(ctx), - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(bplr.NextLink))) -} - -// BackendPoolListResultPage contains a page of BackendPool values. -type BackendPoolListResultPage struct { - fn func(context.Context, BackendPoolListResult) (BackendPoolListResult, error) - bplr BackendPoolListResult -} - -// NextWithContext advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -func (page *BackendPoolListResultPage) NextWithContext(ctx context.Context) (err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/BackendPoolListResultPage.NextWithContext") - defer func() { - sc := -1 - if page.Response().Response.Response != nil { - sc = page.Response().Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - next, err := page.fn(ctx, page.bplr) - if err != nil { - return err - } - page.bplr = next - return nil -} - -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -// Deprecated: Use NextWithContext() instead. -func (page *BackendPoolListResultPage) Next() error { - return page.NextWithContext(context.Background()) -} - -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page BackendPoolListResultPage) NotDone() bool { - return !page.bplr.IsEmpty() -} - -// Response returns the raw server response from the last page request. -func (page BackendPoolListResultPage) Response() BackendPoolListResult { - return page.bplr -} - -// Values returns the slice of values for the current page or nil if there are no values. -func (page BackendPoolListResultPage) Values() []BackendPool { - if page.bplr.IsEmpty() { - return nil - } - return *page.bplr.Value -} - -// Creates a new instance of the BackendPoolListResultPage type. -func NewBackendPoolListResultPage(getNextPage func(context.Context, BackendPoolListResult) (BackendPoolListResult, error)) BackendPoolListResultPage { - return BackendPoolListResultPage{fn: getNextPage} -} - // BackendPoolProperties the JSON object that contains the properties required to create a routing rule. type BackendPoolProperties struct { // ResourceState - Resource status. Possible values include: 'ResourceStateCreating', 'ResourceStateEnabling', 'ResourceStateEnabled', 'ResourceStateDisabling', 'ResourceStateDisabled', 'ResourceStateDeleting' @@ -854,58 +717,6 @@ type BackendPoolProperties struct { HealthProbeSettings *SubResource `json:"healthProbeSettings,omitempty"` } -// BackendPoolsCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a -// long-running operation. -type BackendPoolsCreateOrUpdateFuture struct { - azure.Future -} - -// Result returns the result of the asynchronous operation. -// If the operation has not completed it will return an error. -func (future *BackendPoolsCreateOrUpdateFuture) Result(client BackendPoolsClient) (bp BackendPool, err error) { - var done bool - done, err = future.DoneWithContext(context.Background(), client) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.BackendPoolsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") - return - } - if !done { - err = azure.NewAsyncOpIncompleteError("frontdoor.BackendPoolsCreateOrUpdateFuture") - return - } - sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) - if bp.Response.Response, err = future.GetResult(sender); err == nil && bp.Response.Response.StatusCode != http.StatusNoContent { - bp, err = client.CreateOrUpdateResponder(bp.Response.Response) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.BackendPoolsCreateOrUpdateFuture", "Result", bp.Response.Response, "Failure responding to request") - } - } - return -} - -// BackendPoolsDeleteFuture an abstraction for monitoring and retrieving the results of a long-running -// operation. -type BackendPoolsDeleteFuture struct { - azure.Future -} - -// Result returns the result of the asynchronous operation. -// If the operation has not completed it will return an error. -func (future *BackendPoolsDeleteFuture) Result(client BackendPoolsClient) (ar autorest.Response, err error) { - var done bool - done, err = future.DoneWithContext(context.Background(), client) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.BackendPoolsDeleteFuture", "Result", future.Response(), "Polling failure") - return - } - if !done { - err = azure.NewAsyncOpIncompleteError("frontdoor.BackendPoolsDeleteFuture") - return - } - ar.Response = future.Response() - return -} - // BackendPoolsSettings settings that apply to all backend pools. type BackendPoolsSettings struct { // EnforceCertificateNameCheck - Whether to enforce certificate name check on HTTPS requests to all backend pools. No effect on non-HTTPS requests. Possible values include: 'EnforceCertificateNameCheckEnabledStateEnabled', 'EnforceCertificateNameCheckEnabledStateDisabled' @@ -1427,58 +1238,6 @@ type FrontendEndpointProperties struct { WebApplicationFirewallPolicyLink *FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink `json:"webApplicationFirewallPolicyLink,omitempty"` } -// FrontendEndpointsCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a -// long-running operation. -type FrontendEndpointsCreateOrUpdateFuture struct { - azure.Future -} - -// Result returns the result of the asynchronous operation. -// If the operation has not completed it will return an error. -func (future *FrontendEndpointsCreateOrUpdateFuture) Result(client FrontendEndpointsClient) (fe FrontendEndpoint, err error) { - var done bool - done, err = future.DoneWithContext(context.Background(), client) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.FrontendEndpointsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") - return - } - if !done { - err = azure.NewAsyncOpIncompleteError("frontdoor.FrontendEndpointsCreateOrUpdateFuture") - return - } - sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) - if fe.Response.Response, err = future.GetResult(sender); err == nil && fe.Response.Response.StatusCode != http.StatusNoContent { - fe, err = client.CreateOrUpdateResponder(fe.Response.Response) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.FrontendEndpointsCreateOrUpdateFuture", "Result", fe.Response.Response, "Failure responding to request") - } - } - return -} - -// FrontendEndpointsDeleteFuture an abstraction for monitoring and retrieving the results of a long-running -// operation. -type FrontendEndpointsDeleteFuture struct { - azure.Future -} - -// Result returns the result of the asynchronous operation. -// If the operation has not completed it will return an error. -func (future *FrontendEndpointsDeleteFuture) Result(client FrontendEndpointsClient) (ar autorest.Response, err error) { - var done bool - done, err = future.DoneWithContext(context.Background(), client) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.FrontendEndpointsDeleteFuture", "Result", future.Response(), "Polling failure") - return - } - if !done { - err = azure.NewAsyncOpIncompleteError("frontdoor.FrontendEndpointsDeleteFuture") - return - } - ar.Response = future.Response() - return -} - // FrontendEndpointsDisableHTTPSFuture an abstraction for monitoring and retrieving the results of a // long-running operation. type FrontendEndpointsDisableHTTPSFuture struct { @@ -1691,227 +1450,35 @@ type FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink struct { ID *string `json:"id,omitempty"` } -// HealthProbeSettingsCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a -// long-running operation. -type HealthProbeSettingsCreateOrUpdateFuture struct { - azure.Future -} - -// Result returns the result of the asynchronous operation. -// If the operation has not completed it will return an error. -func (future *HealthProbeSettingsCreateOrUpdateFuture) Result(client HealthProbeSettingsClient) (hpsm HealthProbeSettingsModel, err error) { - var done bool - done, err = future.DoneWithContext(context.Background(), client) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.HealthProbeSettingsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") - return - } - if !done { - err = azure.NewAsyncOpIncompleteError("frontdoor.HealthProbeSettingsCreateOrUpdateFuture") - return - } - sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) - if hpsm.Response.Response, err = future.GetResult(sender); err == nil && hpsm.Response.Response.StatusCode != http.StatusNoContent { - hpsm, err = client.CreateOrUpdateResponder(hpsm.Response.Response) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.HealthProbeSettingsCreateOrUpdateFuture", "Result", hpsm.Response.Response, "Failure responding to request") - } - } - return -} - -// HealthProbeSettingsDeleteFuture an abstraction for monitoring and retrieving the results of a -// long-running operation. -type HealthProbeSettingsDeleteFuture struct { - azure.Future -} - -// Result returns the result of the asynchronous operation. -// If the operation has not completed it will return an error. -func (future *HealthProbeSettingsDeleteFuture) Result(client HealthProbeSettingsClient) (ar autorest.Response, err error) { - var done bool - done, err = future.DoneWithContext(context.Background(), client) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.HealthProbeSettingsDeleteFuture", "Result", future.Response(), "Polling failure") - return - } - if !done { - err = azure.NewAsyncOpIncompleteError("frontdoor.HealthProbeSettingsDeleteFuture") - return - } - ar.Response = future.Response() - return -} - // HealthProbeSettingsListResult result of the request to list HealthProbeSettings. It contains a list of // HealthProbeSettings objects and a URL link to get the next set of results. type HealthProbeSettingsListResult struct { - autorest.Response `json:"-"` // Value - READ-ONLY; List of HealthProbeSettings within a Front Door. Value *[]HealthProbeSettingsModel `json:"value,omitempty"` // NextLink - URL to get the next set of HealthProbeSettings objects if there are any. NextLink *string `json:"nextLink,omitempty"` } -// HealthProbeSettingsListResultIterator provides access to a complete listing of HealthProbeSettingsModel -// values. -type HealthProbeSettingsListResultIterator struct { - i int - page HealthProbeSettingsListResultPage +// HealthProbeSettingsModel load balancing settings for a backend pool +type HealthProbeSettingsModel struct { + // HealthProbeSettingsProperties - Properties of the health probe settings + *HealthProbeSettingsProperties `json:"properties,omitempty"` + // Name - Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` } -// NextWithContext advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -func (iter *HealthProbeSettingsListResultIterator) NextWithContext(ctx context.Context) (err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/HealthProbeSettingsListResultIterator.NextWithContext") - defer func() { - sc := -1 - if iter.Response().Response.Response != nil { - sc = iter.Response().Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - iter.i++ - if iter.i < len(iter.page.Values()) { - return nil +// MarshalJSON is the custom marshaler for HealthProbeSettingsModel. +func (hpsm HealthProbeSettingsModel) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if hpsm.HealthProbeSettingsProperties != nil { + objectMap["properties"] = hpsm.HealthProbeSettingsProperties } - err = iter.page.NextWithContext(ctx) - if err != nil { - iter.i-- - return err - } - iter.i = 0 - return nil -} - -// Next advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -// Deprecated: Use NextWithContext() instead. -func (iter *HealthProbeSettingsListResultIterator) Next() error { - return iter.NextWithContext(context.Background()) -} - -// NotDone returns true if the enumeration should be started or is not yet complete. -func (iter HealthProbeSettingsListResultIterator) NotDone() bool { - return iter.page.NotDone() && iter.i < len(iter.page.Values()) -} - -// Response returns the raw server response from the last page request. -func (iter HealthProbeSettingsListResultIterator) Response() HealthProbeSettingsListResult { - return iter.page.Response() -} - -// Value returns the current value or a zero-initialized value if the -// iterator has advanced beyond the end of the collection. -func (iter HealthProbeSettingsListResultIterator) Value() HealthProbeSettingsModel { - if !iter.page.NotDone() { - return HealthProbeSettingsModel{} - } - return iter.page.Values()[iter.i] -} - -// Creates a new instance of the HealthProbeSettingsListResultIterator type. -func NewHealthProbeSettingsListResultIterator(page HealthProbeSettingsListResultPage) HealthProbeSettingsListResultIterator { - return HealthProbeSettingsListResultIterator{page: page} -} - -// IsEmpty returns true if the ListResult contains no values. -func (hpslr HealthProbeSettingsListResult) IsEmpty() bool { - return hpslr.Value == nil || len(*hpslr.Value) == 0 -} - -// healthProbeSettingsListResultPreparer prepares a request to retrieve the next set of results. -// It returns nil if no more results exist. -func (hpslr HealthProbeSettingsListResult) healthProbeSettingsListResultPreparer(ctx context.Context) (*http.Request, error) { - if hpslr.NextLink == nil || len(to.String(hpslr.NextLink)) < 1 { - return nil, nil - } - return autorest.Prepare((&http.Request{}).WithContext(ctx), - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(hpslr.NextLink))) -} - -// HealthProbeSettingsListResultPage contains a page of HealthProbeSettingsModel values. -type HealthProbeSettingsListResultPage struct { - fn func(context.Context, HealthProbeSettingsListResult) (HealthProbeSettingsListResult, error) - hpslr HealthProbeSettingsListResult -} - -// NextWithContext advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -func (page *HealthProbeSettingsListResultPage) NextWithContext(ctx context.Context) (err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/HealthProbeSettingsListResultPage.NextWithContext") - defer func() { - sc := -1 - if page.Response().Response.Response != nil { - sc = page.Response().Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - next, err := page.fn(ctx, page.hpslr) - if err != nil { - return err - } - page.hpslr = next - return nil -} - -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -// Deprecated: Use NextWithContext() instead. -func (page *HealthProbeSettingsListResultPage) Next() error { - return page.NextWithContext(context.Background()) -} - -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page HealthProbeSettingsListResultPage) NotDone() bool { - return !page.hpslr.IsEmpty() -} - -// Response returns the raw server response from the last page request. -func (page HealthProbeSettingsListResultPage) Response() HealthProbeSettingsListResult { - return page.hpslr -} - -// Values returns the slice of values for the current page or nil if there are no values. -func (page HealthProbeSettingsListResultPage) Values() []HealthProbeSettingsModel { - if page.hpslr.IsEmpty() { - return nil - } - return *page.hpslr.Value -} - -// Creates a new instance of the HealthProbeSettingsListResultPage type. -func NewHealthProbeSettingsListResultPage(getNextPage func(context.Context, HealthProbeSettingsListResult) (HealthProbeSettingsListResult, error)) HealthProbeSettingsListResultPage { - return HealthProbeSettingsListResultPage{fn: getNextPage} -} - -// HealthProbeSettingsModel load balancing settings for a backend pool -type HealthProbeSettingsModel struct { - autorest.Response `json:"-"` - // HealthProbeSettingsProperties - Properties of the health probe settings - *HealthProbeSettingsProperties `json:"properties,omitempty"` - // Name - Resource name. - Name *string `json:"name,omitempty"` - // Type - READ-ONLY; Resource type. - Type *string `json:"type,omitempty"` - // ID - Resource ID. - ID *string `json:"id,omitempty"` -} - -// MarshalJSON is the custom marshaler for HealthProbeSettingsModel. -func (hpsm HealthProbeSettingsModel) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - if hpsm.HealthProbeSettingsProperties != nil { - objectMap["properties"] = hpsm.HealthProbeSettingsProperties - } - if hpsm.Name != nil { - objectMap["name"] = hpsm.Name + if hpsm.Name != nil { + objectMap["name"] = hpsm.Name } if hpsm.ID != nil { objectMap["id"] = hpsm.ID @@ -1960,276 +1527,76 @@ func (hpsm *HealthProbeSettingsModel) UnmarshalJSON(body []byte) error { var ID string err = json.Unmarshal(*v, &ID) if err != nil { - return err - } - hpsm.ID = &ID - } - } - } - - return nil -} - -// HealthProbeSettingsProperties the JSON object that contains the properties required to create a health -// probe settings. -type HealthProbeSettingsProperties struct { - // ResourceState - Resource status. Possible values include: 'ResourceStateCreating', 'ResourceStateEnabling', 'ResourceStateEnabled', 'ResourceStateDisabling', 'ResourceStateDisabled', 'ResourceStateDeleting' - ResourceState ResourceState `json:"resourceState,omitempty"` - // Path - The path to use for the health probe. Default is / - Path *string `json:"path,omitempty"` - // Protocol - Protocol scheme to use for this probe. Possible values include: 'HTTP', 'HTTPS' - Protocol Protocol `json:"protocol,omitempty"` - // IntervalInSeconds - The number of seconds between health probes. - IntervalInSeconds *int32 `json:"intervalInSeconds,omitempty"` -} - -// HealthProbeSettingsUpdateParameters l7 health probe settings for a backend pool -type HealthProbeSettingsUpdateParameters struct { - // Path - The path to use for the health probe. Default is / - Path *string `json:"path,omitempty"` - // Protocol - Protocol scheme to use for this probe. Possible values include: 'HTTP', 'HTTPS' - Protocol Protocol `json:"protocol,omitempty"` - // IntervalInSeconds - The number of seconds between health probes. - IntervalInSeconds *int32 `json:"intervalInSeconds,omitempty"` -} - -// KeyVaultCertificateSourceParameters parameters required for bring-your-own-certification via Key Vault -type KeyVaultCertificateSourceParameters struct { - // Vault - The Key Vault containing the SSL certificate - Vault *KeyVaultCertificateSourceParametersVault `json:"vault,omitempty"` - // SecretName - The name of the Key Vault secret representing the full certificate PFX - SecretName *string `json:"secretName,omitempty"` - // SecretVersion - The version of the Key Vault secret representing the full certificate PFX - SecretVersion *string `json:"secretVersion,omitempty"` -} - -// KeyVaultCertificateSourceParametersVault the Key Vault containing the SSL certificate -type KeyVaultCertificateSourceParametersVault struct { - // ID - Resource ID. - ID *string `json:"id,omitempty"` -} - -// ListResult result of the request to list Front Doors. It contains a list of Front Door objects and a URL -// link to get the next set of results. -type ListResult struct { - autorest.Response `json:"-"` - // Value - READ-ONLY; List of Front Doors within a resource group. - Value *[]FrontDoor `json:"value,omitempty"` - // NextLink - URL to get the next set of Front Door objects if there are any. - NextLink *string `json:"nextLink,omitempty"` -} - -// ListResultIterator provides access to a complete listing of FrontDoor values. -type ListResultIterator struct { - i int - page ListResultPage -} - -// NextWithContext advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -func (iter *ListResultIterator) NextWithContext(ctx context.Context) (err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/ListResultIterator.NextWithContext") - defer func() { - sc := -1 - if iter.Response().Response.Response != nil { - sc = iter.Response().Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - iter.i++ - if iter.i < len(iter.page.Values()) { - return nil - } - err = iter.page.NextWithContext(ctx) - if err != nil { - iter.i-- - return err - } - iter.i = 0 - return nil -} - -// Next advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -// Deprecated: Use NextWithContext() instead. -func (iter *ListResultIterator) Next() error { - return iter.NextWithContext(context.Background()) -} - -// NotDone returns true if the enumeration should be started or is not yet complete. -func (iter ListResultIterator) NotDone() bool { - return iter.page.NotDone() && iter.i < len(iter.page.Values()) -} - -// Response returns the raw server response from the last page request. -func (iter ListResultIterator) Response() ListResult { - return iter.page.Response() -} - -// Value returns the current value or a zero-initialized value if the -// iterator has advanced beyond the end of the collection. -func (iter ListResultIterator) Value() FrontDoor { - if !iter.page.NotDone() { - return FrontDoor{} - } - return iter.page.Values()[iter.i] -} - -// Creates a new instance of the ListResultIterator type. -func NewListResultIterator(page ListResultPage) ListResultIterator { - return ListResultIterator{page: page} -} - -// IsEmpty returns true if the ListResult contains no values. -func (lr ListResult) IsEmpty() bool { - return lr.Value == nil || len(*lr.Value) == 0 -} - -// listResultPreparer prepares a request to retrieve the next set of results. -// It returns nil if no more results exist. -func (lr ListResult) listResultPreparer(ctx context.Context) (*http.Request, error) { - if lr.NextLink == nil || len(to.String(lr.NextLink)) < 1 { - return nil, nil - } - return autorest.Prepare((&http.Request{}).WithContext(ctx), - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(lr.NextLink))) -} - -// ListResultPage contains a page of FrontDoor values. -type ListResultPage struct { - fn func(context.Context, ListResult) (ListResult, error) - lr ListResult -} - -// NextWithContext advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -func (page *ListResultPage) NextWithContext(ctx context.Context) (err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/ListResultPage.NextWithContext") - defer func() { - sc := -1 - if page.Response().Response.Response != nil { - sc = page.Response().Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - next, err := page.fn(ctx, page.lr) - if err != nil { - return err - } - page.lr = next - return nil -} - -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -// Deprecated: Use NextWithContext() instead. -func (page *ListResultPage) Next() error { - return page.NextWithContext(context.Background()) -} - -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page ListResultPage) NotDone() bool { - return !page.lr.IsEmpty() -} - -// Response returns the raw server response from the last page request. -func (page ListResultPage) Response() ListResult { - return page.lr -} - -// Values returns the slice of values for the current page or nil if there are no values. -func (page ListResultPage) Values() []FrontDoor { - if page.lr.IsEmpty() { - return nil - } - return *page.lr.Value -} - -// Creates a new instance of the ListResultPage type. -func NewListResultPage(getNextPage func(context.Context, ListResult) (ListResult, error)) ListResultPage { - return ListResultPage{fn: getNextPage} -} - -// LoadBalancingSettingsCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a -// long-running operation. -type LoadBalancingSettingsCreateOrUpdateFuture struct { - azure.Future -} - -// Result returns the result of the asynchronous operation. -// If the operation has not completed it will return an error. -func (future *LoadBalancingSettingsCreateOrUpdateFuture) Result(client LoadBalancingSettingsClient) (lbsm LoadBalancingSettingsModel, err error) { - var done bool - done, err = future.DoneWithContext(context.Background(), client) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.LoadBalancingSettingsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") - return - } - if !done { - err = azure.NewAsyncOpIncompleteError("frontdoor.LoadBalancingSettingsCreateOrUpdateFuture") - return - } - sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) - if lbsm.Response.Response, err = future.GetResult(sender); err == nil && lbsm.Response.Response.StatusCode != http.StatusNoContent { - lbsm, err = client.CreateOrUpdateResponder(lbsm.Response.Response) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.LoadBalancingSettingsCreateOrUpdateFuture", "Result", lbsm.Response.Response, "Failure responding to request") + return err + } + hpsm.ID = &ID + } } } - return + + return nil } -// LoadBalancingSettingsDeleteFuture an abstraction for monitoring and retrieving the results of a -// long-running operation. -type LoadBalancingSettingsDeleteFuture struct { - azure.Future +// HealthProbeSettingsProperties the JSON object that contains the properties required to create a health +// probe settings. +type HealthProbeSettingsProperties struct { + // ResourceState - Resource status. Possible values include: 'ResourceStateCreating', 'ResourceStateEnabling', 'ResourceStateEnabled', 'ResourceStateDisabling', 'ResourceStateDisabled', 'ResourceStateDeleting' + ResourceState ResourceState `json:"resourceState,omitempty"` + // Path - The path to use for the health probe. Default is / + Path *string `json:"path,omitempty"` + // Protocol - Protocol scheme to use for this probe. Possible values include: 'HTTP', 'HTTPS' + Protocol Protocol `json:"protocol,omitempty"` + // IntervalInSeconds - The number of seconds between health probes. + IntervalInSeconds *int32 `json:"intervalInSeconds,omitempty"` } -// Result returns the result of the asynchronous operation. -// If the operation has not completed it will return an error. -func (future *LoadBalancingSettingsDeleteFuture) Result(client LoadBalancingSettingsClient) (ar autorest.Response, err error) { - var done bool - done, err = future.DoneWithContext(context.Background(), client) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.LoadBalancingSettingsDeleteFuture", "Result", future.Response(), "Polling failure") - return - } - if !done { - err = azure.NewAsyncOpIncompleteError("frontdoor.LoadBalancingSettingsDeleteFuture") - return - } - ar.Response = future.Response() - return +// HealthProbeSettingsUpdateParameters l7 health probe settings for a backend pool +type HealthProbeSettingsUpdateParameters struct { + // Path - The path to use for the health probe. Default is / + Path *string `json:"path,omitempty"` + // Protocol - Protocol scheme to use for this probe. Possible values include: 'HTTP', 'HTTPS' + Protocol Protocol `json:"protocol,omitempty"` + // IntervalInSeconds - The number of seconds between health probes. + IntervalInSeconds *int32 `json:"intervalInSeconds,omitempty"` } -// LoadBalancingSettingsListResult result of the request to list load balancing settings. It contains a -// list of load balancing settings objects and a URL link to get the next set of results. -type LoadBalancingSettingsListResult struct { +// KeyVaultCertificateSourceParameters parameters required for bring-your-own-certification via Key Vault +type KeyVaultCertificateSourceParameters struct { + // Vault - The Key Vault containing the SSL certificate + Vault *KeyVaultCertificateSourceParametersVault `json:"vault,omitempty"` + // SecretName - The name of the Key Vault secret representing the full certificate PFX + SecretName *string `json:"secretName,omitempty"` + // SecretVersion - The version of the Key Vault secret representing the full certificate PFX + SecretVersion *string `json:"secretVersion,omitempty"` +} + +// KeyVaultCertificateSourceParametersVault the Key Vault containing the SSL certificate +type KeyVaultCertificateSourceParametersVault struct { + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// ListResult result of the request to list Front Doors. It contains a list of Front Door objects and a URL +// link to get the next set of results. +type ListResult struct { autorest.Response `json:"-"` - // Value - READ-ONLY; List of Backend Pools within a Front Door. - Value *[]LoadBalancingSettingsModel `json:"value,omitempty"` - // NextLink - URL to get the next set of LoadBalancingSettings objects if there are any. + // Value - READ-ONLY; List of Front Doors within a resource group. + Value *[]FrontDoor `json:"value,omitempty"` + // NextLink - URL to get the next set of Front Door objects if there are any. NextLink *string `json:"nextLink,omitempty"` } -// LoadBalancingSettingsListResultIterator provides access to a complete listing of -// LoadBalancingSettingsModel values. -type LoadBalancingSettingsListResultIterator struct { +// ListResultIterator provides access to a complete listing of FrontDoor values. +type ListResultIterator struct { i int - page LoadBalancingSettingsListResultPage + page ListResultPage } // NextWithContext advances to the next value. If there was an error making // the request the iterator does not advance and the error is returned. -func (iter *LoadBalancingSettingsListResultIterator) NextWithContext(ctx context.Context) (err error) { +func (iter *ListResultIterator) NextWithContext(ctx context.Context) (err error) { if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/LoadBalancingSettingsListResultIterator.NextWithContext") + ctx = tracing.StartSpan(ctx, fqdn+"/ListResultIterator.NextWithContext") defer func() { sc := -1 if iter.Response().Response.Response != nil { @@ -2254,62 +1621,62 @@ func (iter *LoadBalancingSettingsListResultIterator) NextWithContext(ctx context // Next advances to the next value. If there was an error making // the request the iterator does not advance and the error is returned. // Deprecated: Use NextWithContext() instead. -func (iter *LoadBalancingSettingsListResultIterator) Next() error { +func (iter *ListResultIterator) Next() error { return iter.NextWithContext(context.Background()) } // NotDone returns true if the enumeration should be started or is not yet complete. -func (iter LoadBalancingSettingsListResultIterator) NotDone() bool { +func (iter ListResultIterator) NotDone() bool { return iter.page.NotDone() && iter.i < len(iter.page.Values()) } // Response returns the raw server response from the last page request. -func (iter LoadBalancingSettingsListResultIterator) Response() LoadBalancingSettingsListResult { +func (iter ListResultIterator) Response() ListResult { return iter.page.Response() } // Value returns the current value or a zero-initialized value if the // iterator has advanced beyond the end of the collection. -func (iter LoadBalancingSettingsListResultIterator) Value() LoadBalancingSettingsModel { +func (iter ListResultIterator) Value() FrontDoor { if !iter.page.NotDone() { - return LoadBalancingSettingsModel{} + return FrontDoor{} } return iter.page.Values()[iter.i] } -// Creates a new instance of the LoadBalancingSettingsListResultIterator type. -func NewLoadBalancingSettingsListResultIterator(page LoadBalancingSettingsListResultPage) LoadBalancingSettingsListResultIterator { - return LoadBalancingSettingsListResultIterator{page: page} +// Creates a new instance of the ListResultIterator type. +func NewListResultIterator(page ListResultPage) ListResultIterator { + return ListResultIterator{page: page} } // IsEmpty returns true if the ListResult contains no values. -func (lbslr LoadBalancingSettingsListResult) IsEmpty() bool { - return lbslr.Value == nil || len(*lbslr.Value) == 0 +func (lr ListResult) IsEmpty() bool { + return lr.Value == nil || len(*lr.Value) == 0 } -// loadBalancingSettingsListResultPreparer prepares a request to retrieve the next set of results. +// listResultPreparer prepares a request to retrieve the next set of results. // It returns nil if no more results exist. -func (lbslr LoadBalancingSettingsListResult) loadBalancingSettingsListResultPreparer(ctx context.Context) (*http.Request, error) { - if lbslr.NextLink == nil || len(to.String(lbslr.NextLink)) < 1 { +func (lr ListResult) listResultPreparer(ctx context.Context) (*http.Request, error) { + if lr.NextLink == nil || len(to.String(lr.NextLink)) < 1 { return nil, nil } return autorest.Prepare((&http.Request{}).WithContext(ctx), autorest.AsJSON(), autorest.AsGet(), - autorest.WithBaseURL(to.String(lbslr.NextLink))) + autorest.WithBaseURL(to.String(lr.NextLink))) } -// LoadBalancingSettingsListResultPage contains a page of LoadBalancingSettingsModel values. -type LoadBalancingSettingsListResultPage struct { - fn func(context.Context, LoadBalancingSettingsListResult) (LoadBalancingSettingsListResult, error) - lbslr LoadBalancingSettingsListResult +// ListResultPage contains a page of FrontDoor values. +type ListResultPage struct { + fn func(context.Context, ListResult) (ListResult, error) + lr ListResult } // NextWithContext advances to the next page of values. If there was an error making // the request the page does not advance and the error is returned. -func (page *LoadBalancingSettingsListResultPage) NextWithContext(ctx context.Context) (err error) { +func (page *ListResultPage) NextWithContext(ctx context.Context) (err error) { if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/LoadBalancingSettingsListResultPage.NextWithContext") + ctx = tracing.StartSpan(ctx, fqdn+"/ListResultPage.NextWithContext") defer func() { sc := -1 if page.Response().Response.Response != nil { @@ -2318,47 +1685,55 @@ func (page *LoadBalancingSettingsListResultPage) NextWithContext(ctx context.Con tracing.EndSpan(ctx, sc, err) }() } - next, err := page.fn(ctx, page.lbslr) + next, err := page.fn(ctx, page.lr) if err != nil { return err } - page.lbslr = next + page.lr = next return nil } // Next advances to the next page of values. If there was an error making // the request the page does not advance and the error is returned. // Deprecated: Use NextWithContext() instead. -func (page *LoadBalancingSettingsListResultPage) Next() error { +func (page *ListResultPage) Next() error { return page.NextWithContext(context.Background()) } // NotDone returns true if the page enumeration should be started or is not yet complete. -func (page LoadBalancingSettingsListResultPage) NotDone() bool { - return !page.lbslr.IsEmpty() +func (page ListResultPage) NotDone() bool { + return !page.lr.IsEmpty() } // Response returns the raw server response from the last page request. -func (page LoadBalancingSettingsListResultPage) Response() LoadBalancingSettingsListResult { - return page.lbslr +func (page ListResultPage) Response() ListResult { + return page.lr } // Values returns the slice of values for the current page or nil if there are no values. -func (page LoadBalancingSettingsListResultPage) Values() []LoadBalancingSettingsModel { - if page.lbslr.IsEmpty() { +func (page ListResultPage) Values() []FrontDoor { + if page.lr.IsEmpty() { return nil } - return *page.lbslr.Value + return *page.lr.Value +} + +// Creates a new instance of the ListResultPage type. +func NewListResultPage(getNextPage func(context.Context, ListResult) (ListResult, error)) ListResultPage { + return ListResultPage{fn: getNextPage} } -// Creates a new instance of the LoadBalancingSettingsListResultPage type. -func NewLoadBalancingSettingsListResultPage(getNextPage func(context.Context, LoadBalancingSettingsListResult) (LoadBalancingSettingsListResult, error)) LoadBalancingSettingsListResultPage { - return LoadBalancingSettingsListResultPage{fn: getNextPage} +// LoadBalancingSettingsListResult result of the request to list load balancing settings. It contains a +// list of load balancing settings objects and a URL link to get the next set of results. +type LoadBalancingSettingsListResult struct { + // Value - READ-ONLY; List of Backend Pools within a Front Door. + Value *[]LoadBalancingSettingsModel `json:"value,omitempty"` + // NextLink - URL to get the next set of LoadBalancingSettings objects if there are any. + NextLink *string `json:"nextLink,omitempty"` } // LoadBalancingSettingsModel load balancing settings for a backend pool type LoadBalancingSettingsModel struct { - autorest.Response `json:"-"` // LoadBalancingSettingsProperties - Properties of the load balancing settings *LoadBalancingSettingsProperties `json:"properties,omitempty"` // Name - Resource name. @@ -2462,6 +1837,10 @@ type LoadBalancingSettingsUpdateParameters struct { type ManagedRuleDefinition struct { // RuleID - READ-ONLY; Identifier for the managed rule. RuleID *string `json:"ruleId,omitempty"` + // DefaultState - READ-ONLY; Describes the default state for the managed rule. Possible values include: 'ManagedRuleEnabledStateDisabled', 'ManagedRuleEnabledStateEnabled' + DefaultState ManagedRuleEnabledState `json:"defaultState,omitempty"` + // DefaultAction - READ-ONLY; Describes the default action to be applied when the managed rule matches. Possible values include: 'Allow', 'Block', 'Log', 'Redirect' + DefaultAction ActionType `json:"defaultAction,omitempty"` // Description - READ-ONLY; Describes the functionality of the managed rule. Description *string `json:"description,omitempty"` } @@ -2771,7 +2150,7 @@ type ManagedRuleSetList struct { // MatchCondition define a match condition. type MatchCondition struct { - // MatchVariable - Request variable to compare with. Possible values include: 'RemoteAddr', 'RequestMethod', 'QueryString', 'PostArgs', 'RequestURI', 'RequestHeader', 'RequestBody', 'Cookies' + // MatchVariable - Request variable to compare with. Possible values include: 'RemoteAddr', 'RequestMethod', 'QueryString', 'PostArgs', 'RequestURI', 'RequestHeader', 'RequestBody', 'Cookies', 'SocketAddr' MatchVariable MatchVariable `json:"matchVariable,omitempty"` // Selector - Match against a specific key from the QueryString, PostArgs, RequestHeader or Cookies variables. Default is null. Selector *string `json:"selector,omitempty"` @@ -3062,7 +2441,6 @@ func (rc RouteConfiguration) AsBasicRouteConfiguration() (BasicRouteConfiguratio // RoutingRule a routing rule represents a specification for traffic to treat and where to send it, along // with health probe information. type RoutingRule struct { - autorest.Response `json:"-"` // RoutingRuleProperties - Properties of the Front Door Routing Rule *RoutingRuleProperties `json:"properties,omitempty"` // Name - Resource name. @@ -3142,150 +2520,12 @@ func (rr *RoutingRule) UnmarshalJSON(body []byte) error { // RoutingRuleListResult result of the request to list Routing Rules. It contains a list of Routing Rule // objects and a URL link to get the next set of results. type RoutingRuleListResult struct { - autorest.Response `json:"-"` // Value - READ-ONLY; List of Routing Rules within a Front Door. Value *[]RoutingRule `json:"value,omitempty"` // NextLink - URL to get the next set of RoutingRule objects if there are any. NextLink *string `json:"nextLink,omitempty"` } -// RoutingRuleListResultIterator provides access to a complete listing of RoutingRule values. -type RoutingRuleListResultIterator struct { - i int - page RoutingRuleListResultPage -} - -// NextWithContext advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -func (iter *RoutingRuleListResultIterator) NextWithContext(ctx context.Context) (err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/RoutingRuleListResultIterator.NextWithContext") - defer func() { - sc := -1 - if iter.Response().Response.Response != nil { - sc = iter.Response().Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - iter.i++ - if iter.i < len(iter.page.Values()) { - return nil - } - err = iter.page.NextWithContext(ctx) - if err != nil { - iter.i-- - return err - } - iter.i = 0 - return nil -} - -// Next advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -// Deprecated: Use NextWithContext() instead. -func (iter *RoutingRuleListResultIterator) Next() error { - return iter.NextWithContext(context.Background()) -} - -// NotDone returns true if the enumeration should be started or is not yet complete. -func (iter RoutingRuleListResultIterator) NotDone() bool { - return iter.page.NotDone() && iter.i < len(iter.page.Values()) -} - -// Response returns the raw server response from the last page request. -func (iter RoutingRuleListResultIterator) Response() RoutingRuleListResult { - return iter.page.Response() -} - -// Value returns the current value or a zero-initialized value if the -// iterator has advanced beyond the end of the collection. -func (iter RoutingRuleListResultIterator) Value() RoutingRule { - if !iter.page.NotDone() { - return RoutingRule{} - } - return iter.page.Values()[iter.i] -} - -// Creates a new instance of the RoutingRuleListResultIterator type. -func NewRoutingRuleListResultIterator(page RoutingRuleListResultPage) RoutingRuleListResultIterator { - return RoutingRuleListResultIterator{page: page} -} - -// IsEmpty returns true if the ListResult contains no values. -func (rrlr RoutingRuleListResult) IsEmpty() bool { - return rrlr.Value == nil || len(*rrlr.Value) == 0 -} - -// routingRuleListResultPreparer prepares a request to retrieve the next set of results. -// It returns nil if no more results exist. -func (rrlr RoutingRuleListResult) routingRuleListResultPreparer(ctx context.Context) (*http.Request, error) { - if rrlr.NextLink == nil || len(to.String(rrlr.NextLink)) < 1 { - return nil, nil - } - return autorest.Prepare((&http.Request{}).WithContext(ctx), - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(rrlr.NextLink))) -} - -// RoutingRuleListResultPage contains a page of RoutingRule values. -type RoutingRuleListResultPage struct { - fn func(context.Context, RoutingRuleListResult) (RoutingRuleListResult, error) - rrlr RoutingRuleListResult -} - -// NextWithContext advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -func (page *RoutingRuleListResultPage) NextWithContext(ctx context.Context) (err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/RoutingRuleListResultPage.NextWithContext") - defer func() { - sc := -1 - if page.Response().Response.Response != nil { - sc = page.Response().Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - next, err := page.fn(ctx, page.rrlr) - if err != nil { - return err - } - page.rrlr = next - return nil -} - -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -// Deprecated: Use NextWithContext() instead. -func (page *RoutingRuleListResultPage) Next() error { - return page.NextWithContext(context.Background()) -} - -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page RoutingRuleListResultPage) NotDone() bool { - return !page.rrlr.IsEmpty() -} - -// Response returns the raw server response from the last page request. -func (page RoutingRuleListResultPage) Response() RoutingRuleListResult { - return page.rrlr -} - -// Values returns the slice of values for the current page or nil if there are no values. -func (page RoutingRuleListResultPage) Values() []RoutingRule { - if page.rrlr.IsEmpty() { - return nil - } - return *page.rrlr.Value -} - -// Creates a new instance of the RoutingRuleListResultPage type. -func NewRoutingRuleListResultPage(getNextPage func(context.Context, RoutingRuleListResult) (RoutingRuleListResult, error)) RoutingRuleListResultPage { - return RoutingRuleListResultPage{fn: getNextPage} -} - // RoutingRuleProperties the JSON object that contains the properties required to create a routing rule. type RoutingRuleProperties struct { // ResourceState - Resource status. Possible values include: 'ResourceStateCreating', 'ResourceStateEnabling', 'ResourceStateEnabled', 'ResourceStateDisabling', 'ResourceStateDisabled', 'ResourceStateDeleting' @@ -3370,58 +2610,6 @@ func (rrp *RoutingRuleProperties) UnmarshalJSON(body []byte) error { return nil } -// RoutingRulesCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a -// long-running operation. -type RoutingRulesCreateOrUpdateFuture struct { - azure.Future -} - -// Result returns the result of the asynchronous operation. -// If the operation has not completed it will return an error. -func (future *RoutingRulesCreateOrUpdateFuture) Result(client RoutingRulesClient) (rr RoutingRule, err error) { - var done bool - done, err = future.DoneWithContext(context.Background(), client) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.RoutingRulesCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") - return - } - if !done { - err = azure.NewAsyncOpIncompleteError("frontdoor.RoutingRulesCreateOrUpdateFuture") - return - } - sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) - if rr.Response.Response, err = future.GetResult(sender); err == nil && rr.Response.Response.StatusCode != http.StatusNoContent { - rr, err = client.CreateOrUpdateResponder(rr.Response.Response) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.RoutingRulesCreateOrUpdateFuture", "Result", rr.Response.Response, "Failure responding to request") - } - } - return -} - -// RoutingRulesDeleteFuture an abstraction for monitoring and retrieving the results of a long-running -// operation. -type RoutingRulesDeleteFuture struct { - azure.Future -} - -// Result returns the result of the asynchronous operation. -// If the operation has not completed it will return an error. -func (future *RoutingRulesDeleteFuture) Result(client RoutingRulesClient) (ar autorest.Response, err error) { - var done bool - done, err = future.DoneWithContext(context.Background(), client) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.RoutingRulesDeleteFuture", "Result", future.Response(), "Polling failure") - return - } - if !done { - err = azure.NewAsyncOpIncompleteError("frontdoor.RoutingRulesDeleteFuture") - return - } - ar.Response = future.Response() - return -} - // RoutingRuleUpdateParameters routing rules to apply to an endpoint type RoutingRuleUpdateParameters struct { // FrontendEndpoints - Frontend endpoints associated with this rule diff --git a/services/preview/frontdoor/mgmt/2019-04-01/frontdoor/policies.go b/services/frontdoor/mgmt/2019-04-01/frontdoor/policies.go similarity index 100% rename from services/preview/frontdoor/mgmt/2019-04-01/frontdoor/policies.go rename to services/frontdoor/mgmt/2019-04-01/frontdoor/policies.go diff --git a/services/preview/frontdoor/mgmt/2019-04-01/frontdoor/version.go b/services/frontdoor/mgmt/2019-04-01/frontdoor/version.go similarity index 100% rename from services/preview/frontdoor/mgmt/2019-04-01/frontdoor/version.go rename to services/frontdoor/mgmt/2019-04-01/frontdoor/version.go diff --git a/services/preview/frontdoor/mgmt/2019-05-01/frontdoor/client.go b/services/frontdoor/mgmt/2019-05-01/frontdoor/client.go similarity index 100% rename from services/preview/frontdoor/mgmt/2019-05-01/frontdoor/client.go rename to services/frontdoor/mgmt/2019-05-01/frontdoor/client.go diff --git a/services/preview/frontdoor/mgmt/2019-05-01/frontdoor/endpoints.go b/services/frontdoor/mgmt/2019-05-01/frontdoor/endpoints.go similarity index 100% rename from services/preview/frontdoor/mgmt/2019-05-01/frontdoor/endpoints.go rename to services/frontdoor/mgmt/2019-05-01/frontdoor/endpoints.go diff --git a/services/preview/frontdoor/mgmt/2019-05-01/frontdoor/frontdoorapi/interfaces.go b/services/frontdoor/mgmt/2019-05-01/frontdoor/frontdoorapi/interfaces.go similarity index 53% rename from services/preview/frontdoor/mgmt/2019-05-01/frontdoor/frontdoorapi/interfaces.go rename to services/frontdoor/mgmt/2019-05-01/frontdoor/frontdoorapi/interfaces.go index abed0a7f8810..2fa8bb51b743 100644 --- a/services/preview/frontdoor/mgmt/2019-05-01/frontdoor/frontdoorapi/interfaces.go +++ b/services/frontdoor/mgmt/2019-05-01/frontdoor/frontdoorapi/interfaces.go @@ -19,7 +19,7 @@ package frontdoorapi import ( "context" - "github.com/Azure/azure-sdk-for-go/services/preview/frontdoor/mgmt/2019-05-01/frontdoor" + "github.com/Azure/azure-sdk-for-go/services/frontdoor/mgmt/2019-05-01/frontdoor" ) // BaseClientAPI contains the set of methods on the BaseClient type. @@ -42,50 +42,8 @@ type FrontDoorsClientAPI interface { var _ FrontDoorsClientAPI = (*frontdoor.FrontDoorsClient)(nil) -// RoutingRulesClientAPI contains the set of methods on the RoutingRulesClient type. -type RoutingRulesClientAPI interface { - CreateOrUpdate(ctx context.Context, resourceGroupName string, frontDoorName string, routingRuleName string, routingRuleParameters frontdoor.RoutingRule) (result frontdoor.RoutingRulesCreateOrUpdateFuture, err error) - Delete(ctx context.Context, resourceGroupName string, frontDoorName string, routingRuleName string) (result frontdoor.RoutingRulesDeleteFuture, err error) - Get(ctx context.Context, resourceGroupName string, frontDoorName string, routingRuleName string) (result frontdoor.RoutingRule, err error) - ListByFrontDoor(ctx context.Context, resourceGroupName string, frontDoorName string) (result frontdoor.RoutingRuleListResultPage, err error) -} - -var _ RoutingRulesClientAPI = (*frontdoor.RoutingRulesClient)(nil) - -// HealthProbeSettingsClientAPI contains the set of methods on the HealthProbeSettingsClient type. -type HealthProbeSettingsClientAPI interface { - CreateOrUpdate(ctx context.Context, resourceGroupName string, frontDoorName string, healthProbeSettingsName string, healthProbeSettingsParameters frontdoor.HealthProbeSettingsModel) (result frontdoor.HealthProbeSettingsCreateOrUpdateFuture, err error) - Delete(ctx context.Context, resourceGroupName string, frontDoorName string, healthProbeSettingsName string) (result frontdoor.HealthProbeSettingsDeleteFuture, err error) - Get(ctx context.Context, resourceGroupName string, frontDoorName string, healthProbeSettingsName string) (result frontdoor.HealthProbeSettingsModel, err error) - ListByFrontDoor(ctx context.Context, resourceGroupName string, frontDoorName string) (result frontdoor.HealthProbeSettingsListResultPage, err error) -} - -var _ HealthProbeSettingsClientAPI = (*frontdoor.HealthProbeSettingsClient)(nil) - -// LoadBalancingSettingsClientAPI contains the set of methods on the LoadBalancingSettingsClient type. -type LoadBalancingSettingsClientAPI interface { - CreateOrUpdate(ctx context.Context, resourceGroupName string, frontDoorName string, loadBalancingSettingsName string, loadBalancingSettingsParameters frontdoor.LoadBalancingSettingsModel) (result frontdoor.LoadBalancingSettingsCreateOrUpdateFuture, err error) - Delete(ctx context.Context, resourceGroupName string, frontDoorName string, loadBalancingSettingsName string) (result frontdoor.LoadBalancingSettingsDeleteFuture, err error) - Get(ctx context.Context, resourceGroupName string, frontDoorName string, loadBalancingSettingsName string) (result frontdoor.LoadBalancingSettingsModel, err error) - ListByFrontDoor(ctx context.Context, resourceGroupName string, frontDoorName string) (result frontdoor.LoadBalancingSettingsListResultPage, err error) -} - -var _ LoadBalancingSettingsClientAPI = (*frontdoor.LoadBalancingSettingsClient)(nil) - -// BackendPoolsClientAPI contains the set of methods on the BackendPoolsClient type. -type BackendPoolsClientAPI interface { - CreateOrUpdate(ctx context.Context, resourceGroupName string, frontDoorName string, backendPoolName string, backendPoolParameters frontdoor.BackendPool) (result frontdoor.BackendPoolsCreateOrUpdateFuture, err error) - Delete(ctx context.Context, resourceGroupName string, frontDoorName string, backendPoolName string) (result frontdoor.BackendPoolsDeleteFuture, err error) - Get(ctx context.Context, resourceGroupName string, frontDoorName string, backendPoolName string) (result frontdoor.BackendPool, err error) - ListByFrontDoor(ctx context.Context, resourceGroupName string, frontDoorName string) (result frontdoor.BackendPoolListResultPage, err error) -} - -var _ BackendPoolsClientAPI = (*frontdoor.BackendPoolsClient)(nil) - // FrontendEndpointsClientAPI contains the set of methods on the FrontendEndpointsClient type. type FrontendEndpointsClientAPI interface { - CreateOrUpdate(ctx context.Context, resourceGroupName string, frontDoorName string, frontendEndpointName string, frontendEndpointParameters frontdoor.FrontendEndpoint) (result frontdoor.FrontendEndpointsCreateOrUpdateFuture, err error) - Delete(ctx context.Context, resourceGroupName string, frontDoorName string, frontendEndpointName string) (result frontdoor.FrontendEndpointsDeleteFuture, err error) DisableHTTPS(ctx context.Context, resourceGroupName string, frontDoorName string, frontendEndpointName string) (result frontdoor.FrontendEndpointsDisableHTTPSFuture, err error) EnableHTTPS(ctx context.Context, resourceGroupName string, frontDoorName string, frontendEndpointName string, customHTTPSConfiguration frontdoor.CustomHTTPSConfiguration) (result frontdoor.FrontendEndpointsEnableHTTPSFuture, err error) Get(ctx context.Context, resourceGroupName string, frontDoorName string, frontendEndpointName string) (result frontdoor.FrontendEndpoint, err error) diff --git a/services/preview/frontdoor/mgmt/2019-05-01/frontdoor/frontdoors.go b/services/frontdoor/mgmt/2019-05-01/frontdoor/frontdoors.go similarity index 100% rename from services/preview/frontdoor/mgmt/2019-05-01/frontdoor/frontdoors.go rename to services/frontdoor/mgmt/2019-05-01/frontdoor/frontdoors.go diff --git a/services/preview/frontdoor/mgmt/2019-05-01/frontdoor/frontendendpoints.go b/services/frontdoor/mgmt/2019-05-01/frontdoor/frontendendpoints.go similarity index 68% rename from services/preview/frontdoor/mgmt/2019-05-01/frontdoor/frontendendpoints.go rename to services/frontdoor/mgmt/2019-05-01/frontdoor/frontendendpoints.go index 6dbff638e20a..9fa5f132ff37 100644 --- a/services/preview/frontdoor/mgmt/2019-05-01/frontdoor/frontendendpoints.go +++ b/services/frontdoor/mgmt/2019-05-01/frontdoor/frontendendpoints.go @@ -41,204 +41,6 @@ func NewFrontendEndpointsClientWithBaseURI(baseURI string, subscriptionID string return FrontendEndpointsClient{NewWithBaseURI(baseURI, subscriptionID)} } -// CreateOrUpdate creates a new frontend endpoint with the specified host name within the specified Front Door. -// Parameters: -// resourceGroupName - name of the Resource group within the Azure subscription. -// frontDoorName - name of the Front Door which is globally unique. -// frontendEndpointName - name of the Frontend endpoint which is unique within the Front Door. -// frontendEndpointParameters - frontend endpoint properties needed to create a new endpoint. -func (client FrontendEndpointsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, frontDoorName string, frontendEndpointName string, frontendEndpointParameters FrontendEndpoint) (result FrontendEndpointsCreateOrUpdateFuture, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/FrontendEndpointsClient.CreateOrUpdate") - defer func() { - sc := -1 - if result.Response() != nil { - sc = result.Response().StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - if err := validation.Validate([]validation.Validation{ - {TargetValue: resourceGroupName, - Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 80, Chain: nil}, - {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9_\-\(\)\.]*[^\.]$`, Chain: nil}}}, - {TargetValue: frontDoorName, - Constraints: []validation.Constraint{{Target: "frontDoorName", Name: validation.MaxLength, Rule: 64, Chain: nil}, - {Target: "frontDoorName", Name: validation.MinLength, Rule: 5, Chain: nil}, - {Target: "frontDoorName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$`, Chain: nil}}}, - {TargetValue: frontendEndpointName, - Constraints: []validation.Constraint{{Target: "frontendEndpointName", Name: validation.MaxLength, Rule: 255, Chain: nil}, - {Target: "frontendEndpointName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "frontendEndpointName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$`, Chain: nil}}}, - {TargetValue: frontendEndpointParameters, - Constraints: []validation.Constraint{{Target: "frontendEndpointParameters.FrontendEndpointProperties", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "frontendEndpointParameters.FrontendEndpointProperties.CustomHTTPSConfiguration", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "frontendEndpointParameters.FrontendEndpointProperties.CustomHTTPSConfiguration.ProtocolType", Name: validation.Null, Rule: true, Chain: nil}}}, - }}}}}); err != nil { - return result, validation.NewError("frontdoor.FrontendEndpointsClient", "CreateOrUpdate", err.Error()) - } - - req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, frontDoorName, frontendEndpointName, frontendEndpointParameters) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.FrontendEndpointsClient", "CreateOrUpdate", nil, "Failure preparing request") - return - } - - result, err = client.CreateOrUpdateSender(req) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.FrontendEndpointsClient", "CreateOrUpdate", result.Response(), "Failure sending request") - return - } - - return -} - -// CreateOrUpdatePreparer prepares the CreateOrUpdate request. -func (client FrontendEndpointsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, frontDoorName string, frontendEndpointName string, frontendEndpointParameters FrontendEndpoint) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "frontDoorName": autorest.Encode("path", frontDoorName), - "frontendEndpointName": autorest.Encode("path", frontendEndpointName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2019-05-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - frontendEndpointParameters.Type = nil - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; charset=utf-8"), - autorest.AsPut(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/frontendEndpoints/{frontendEndpointName}", pathParameters), - autorest.WithJSON(frontendEndpointParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the -// http.Response Body if it receives an error. -func (client FrontendEndpointsClient) CreateOrUpdateSender(req *http.Request) (future FrontendEndpointsCreateOrUpdateFuture, err error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - var resp *http.Response - resp, err = autorest.SendWithSender(client, req, sd...) - if err != nil { - return - } - future.Future, err = azure.NewFutureFromResponse(resp) - return -} - -// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always -// closes the http.Response Body. -func (client FrontendEndpointsClient) CreateOrUpdateResponder(resp *http.Response) (result FrontendEndpoint, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated, http.StatusAccepted), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// Delete deletes an existing frontend endpoint with the specified parameters. -// Parameters: -// resourceGroupName - name of the Resource group within the Azure subscription. -// frontDoorName - name of the Front Door which is globally unique. -// frontendEndpointName - name of the Frontend endpoint which is unique within the Front Door. -func (client FrontendEndpointsClient) Delete(ctx context.Context, resourceGroupName string, frontDoorName string, frontendEndpointName string) (result FrontendEndpointsDeleteFuture, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/FrontendEndpointsClient.Delete") - defer func() { - sc := -1 - if result.Response() != nil { - sc = result.Response().StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - if err := validation.Validate([]validation.Validation{ - {TargetValue: resourceGroupName, - Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 80, Chain: nil}, - {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9_\-\(\)\.]*[^\.]$`, Chain: nil}}}, - {TargetValue: frontDoorName, - Constraints: []validation.Constraint{{Target: "frontDoorName", Name: validation.MaxLength, Rule: 64, Chain: nil}, - {Target: "frontDoorName", Name: validation.MinLength, Rule: 5, Chain: nil}, - {Target: "frontDoorName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$`, Chain: nil}}}, - {TargetValue: frontendEndpointName, - Constraints: []validation.Constraint{{Target: "frontendEndpointName", Name: validation.MaxLength, Rule: 255, Chain: nil}, - {Target: "frontendEndpointName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "frontendEndpointName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$`, Chain: nil}}}}); err != nil { - return result, validation.NewError("frontdoor.FrontendEndpointsClient", "Delete", err.Error()) - } - - req, err := client.DeletePreparer(ctx, resourceGroupName, frontDoorName, frontendEndpointName) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.FrontendEndpointsClient", "Delete", nil, "Failure preparing request") - return - } - - result, err = client.DeleteSender(req) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.FrontendEndpointsClient", "Delete", result.Response(), "Failure sending request") - return - } - - return -} - -// DeletePreparer prepares the Delete request. -func (client FrontendEndpointsClient) DeletePreparer(ctx context.Context, resourceGroupName string, frontDoorName string, frontendEndpointName string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "frontDoorName": autorest.Encode("path", frontDoorName), - "frontendEndpointName": autorest.Encode("path", frontendEndpointName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2019-05-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsDelete(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/frontendEndpoints/{frontendEndpointName}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DeleteSender sends the Delete request. The method will close the -// http.Response Body if it receives an error. -func (client FrontendEndpointsClient) DeleteSender(req *http.Request) (future FrontendEndpointsDeleteFuture, err error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - var resp *http.Response - resp, err = autorest.SendWithSender(client, req, sd...) - if err != nil { - return - } - future.Future, err = azure.NewFutureFromResponse(resp) - return -} - -// DeleteResponder handles the response to the Delete request. The method always -// closes the http.Response Body. -func (client FrontendEndpointsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), - autorest.ByClosing()) - result.Response = resp - return -} - // DisableHTTPS disables a frontendEndpoint for HTTPS traffic // Parameters: // resourceGroupName - name of the Resource group within the Azure subscription. diff --git a/services/preview/frontdoor/mgmt/2019-05-01/frontdoor/managedrulesets.go b/services/frontdoor/mgmt/2019-05-01/frontdoor/managedrulesets.go similarity index 100% rename from services/preview/frontdoor/mgmt/2019-05-01/frontdoor/managedrulesets.go rename to services/frontdoor/mgmt/2019-05-01/frontdoor/managedrulesets.go diff --git a/services/preview/frontdoor/mgmt/2019-05-01/frontdoor/models.go b/services/frontdoor/mgmt/2019-05-01/frontdoor/models.go similarity index 79% rename from services/preview/frontdoor/mgmt/2019-05-01/frontdoor/models.go rename to services/frontdoor/mgmt/2019-05-01/frontdoor/models.go index b7801231ebc4..1ebc7c3e44d0 100644 --- a/services/preview/frontdoor/mgmt/2019-05-01/frontdoor/models.go +++ b/services/frontdoor/mgmt/2019-05-01/frontdoor/models.go @@ -28,7 +28,7 @@ import ( ) // The package's fully qualified name. -const fqdn = "github.com/Azure/azure-sdk-for-go/services/preview/frontdoor/mgmt/2019-05-01/frontdoor" +const fqdn = "github.com/Azure/azure-sdk-for-go/services/frontdoor/mgmt/2019-05-01/frontdoor" // ActionType enumerates the values for action type. type ActionType string @@ -302,11 +302,13 @@ const ( RequestMethod MatchVariable = "RequestMethod" // RequestURI ... RequestURI MatchVariable = "RequestUri" + // SocketAddr ... + SocketAddr MatchVariable = "SocketAddr" ) // PossibleMatchVariableValues returns an array of possible values for the MatchVariable const type. func PossibleMatchVariableValues() []MatchVariable { - return []MatchVariable{Cookies, PostArgs, QueryString, RemoteAddr, RequestBody, RequestHeader, RequestMethod, RequestURI} + return []MatchVariable{Cookies, PostArgs, QueryString, RemoteAddr, RequestBody, RequestHeader, RequestMethod, RequestURI, SocketAddr} } // MinimumTLSVersion enumerates the values for minimum tls version. @@ -650,7 +652,6 @@ type Backend struct { // BackendPool a backend pool is a collection of backends that can be routed to. type BackendPool struct { - autorest.Response `json:"-"` // BackendPoolProperties - Properties of the Front Door Backend Pool *BackendPoolProperties `json:"properties,omitempty"` // Name - Resource name. @@ -730,150 +731,12 @@ func (bp *BackendPool) UnmarshalJSON(body []byte) error { // BackendPoolListResult result of the request to list Backend Pools. It contains a list of Backend Pools // objects and a URL link to get the next set of results. type BackendPoolListResult struct { - autorest.Response `json:"-"` // Value - READ-ONLY; List of Backend Pools within a Front Door. Value *[]BackendPool `json:"value,omitempty"` // NextLink - URL to get the next set of BackendPool objects if there are any. NextLink *string `json:"nextLink,omitempty"` } -// BackendPoolListResultIterator provides access to a complete listing of BackendPool values. -type BackendPoolListResultIterator struct { - i int - page BackendPoolListResultPage -} - -// NextWithContext advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -func (iter *BackendPoolListResultIterator) NextWithContext(ctx context.Context) (err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/BackendPoolListResultIterator.NextWithContext") - defer func() { - sc := -1 - if iter.Response().Response.Response != nil { - sc = iter.Response().Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - iter.i++ - if iter.i < len(iter.page.Values()) { - return nil - } - err = iter.page.NextWithContext(ctx) - if err != nil { - iter.i-- - return err - } - iter.i = 0 - return nil -} - -// Next advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -// Deprecated: Use NextWithContext() instead. -func (iter *BackendPoolListResultIterator) Next() error { - return iter.NextWithContext(context.Background()) -} - -// NotDone returns true if the enumeration should be started or is not yet complete. -func (iter BackendPoolListResultIterator) NotDone() bool { - return iter.page.NotDone() && iter.i < len(iter.page.Values()) -} - -// Response returns the raw server response from the last page request. -func (iter BackendPoolListResultIterator) Response() BackendPoolListResult { - return iter.page.Response() -} - -// Value returns the current value or a zero-initialized value if the -// iterator has advanced beyond the end of the collection. -func (iter BackendPoolListResultIterator) Value() BackendPool { - if !iter.page.NotDone() { - return BackendPool{} - } - return iter.page.Values()[iter.i] -} - -// Creates a new instance of the BackendPoolListResultIterator type. -func NewBackendPoolListResultIterator(page BackendPoolListResultPage) BackendPoolListResultIterator { - return BackendPoolListResultIterator{page: page} -} - -// IsEmpty returns true if the ListResult contains no values. -func (bplr BackendPoolListResult) IsEmpty() bool { - return bplr.Value == nil || len(*bplr.Value) == 0 -} - -// backendPoolListResultPreparer prepares a request to retrieve the next set of results. -// It returns nil if no more results exist. -func (bplr BackendPoolListResult) backendPoolListResultPreparer(ctx context.Context) (*http.Request, error) { - if bplr.NextLink == nil || len(to.String(bplr.NextLink)) < 1 { - return nil, nil - } - return autorest.Prepare((&http.Request{}).WithContext(ctx), - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(bplr.NextLink))) -} - -// BackendPoolListResultPage contains a page of BackendPool values. -type BackendPoolListResultPage struct { - fn func(context.Context, BackendPoolListResult) (BackendPoolListResult, error) - bplr BackendPoolListResult -} - -// NextWithContext advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -func (page *BackendPoolListResultPage) NextWithContext(ctx context.Context) (err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/BackendPoolListResultPage.NextWithContext") - defer func() { - sc := -1 - if page.Response().Response.Response != nil { - sc = page.Response().Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - next, err := page.fn(ctx, page.bplr) - if err != nil { - return err - } - page.bplr = next - return nil -} - -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -// Deprecated: Use NextWithContext() instead. -func (page *BackendPoolListResultPage) Next() error { - return page.NextWithContext(context.Background()) -} - -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page BackendPoolListResultPage) NotDone() bool { - return !page.bplr.IsEmpty() -} - -// Response returns the raw server response from the last page request. -func (page BackendPoolListResultPage) Response() BackendPoolListResult { - return page.bplr -} - -// Values returns the slice of values for the current page or nil if there are no values. -func (page BackendPoolListResultPage) Values() []BackendPool { - if page.bplr.IsEmpty() { - return nil - } - return *page.bplr.Value -} - -// Creates a new instance of the BackendPoolListResultPage type. -func NewBackendPoolListResultPage(getNextPage func(context.Context, BackendPoolListResult) (BackendPoolListResult, error)) BackendPoolListResultPage { - return BackendPoolListResultPage{fn: getNextPage} -} - // BackendPoolProperties the JSON object that contains the properties required to create a routing rule. type BackendPoolProperties struct { // ResourceState - Resource status. Possible values include: 'ResourceStateCreating', 'ResourceStateEnabling', 'ResourceStateEnabled', 'ResourceStateDisabling', 'ResourceStateDisabled', 'ResourceStateDeleting' @@ -886,58 +749,6 @@ type BackendPoolProperties struct { HealthProbeSettings *SubResource `json:"healthProbeSettings,omitempty"` } -// BackendPoolsCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a -// long-running operation. -type BackendPoolsCreateOrUpdateFuture struct { - azure.Future -} - -// Result returns the result of the asynchronous operation. -// If the operation has not completed it will return an error. -func (future *BackendPoolsCreateOrUpdateFuture) Result(client BackendPoolsClient) (bp BackendPool, err error) { - var done bool - done, err = future.DoneWithContext(context.Background(), client) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.BackendPoolsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") - return - } - if !done { - err = azure.NewAsyncOpIncompleteError("frontdoor.BackendPoolsCreateOrUpdateFuture") - return - } - sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) - if bp.Response.Response, err = future.GetResult(sender); err == nil && bp.Response.Response.StatusCode != http.StatusNoContent { - bp, err = client.CreateOrUpdateResponder(bp.Response.Response) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.BackendPoolsCreateOrUpdateFuture", "Result", bp.Response.Response, "Failure responding to request") - } - } - return -} - -// BackendPoolsDeleteFuture an abstraction for monitoring and retrieving the results of a long-running -// operation. -type BackendPoolsDeleteFuture struct { - azure.Future -} - -// Result returns the result of the asynchronous operation. -// If the operation has not completed it will return an error. -func (future *BackendPoolsDeleteFuture) Result(client BackendPoolsClient) (ar autorest.Response, err error) { - var done bool - done, err = future.DoneWithContext(context.Background(), client) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.BackendPoolsDeleteFuture", "Result", future.Response(), "Polling failure") - return - } - if !done { - err = azure.NewAsyncOpIncompleteError("frontdoor.BackendPoolsDeleteFuture") - return - } - ar.Response = future.Response() - return -} - // BackendPoolsSettings settings that apply to all backend pools. type BackendPoolsSettings struct { // EnforceCertificateNameCheck - Whether to enforce certificate name check on HTTPS requests to all backend pools. No effect on non-HTTPS requests. Possible values include: 'EnforceCertificateNameCheckEnabledStateEnabled', 'EnforceCertificateNameCheckEnabledStateDisabled' @@ -1475,58 +1286,6 @@ type FrontendEndpointProperties struct { WebApplicationFirewallPolicyLink *FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink `json:"webApplicationFirewallPolicyLink,omitempty"` } -// FrontendEndpointsCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a -// long-running operation. -type FrontendEndpointsCreateOrUpdateFuture struct { - azure.Future -} - -// Result returns the result of the asynchronous operation. -// If the operation has not completed it will return an error. -func (future *FrontendEndpointsCreateOrUpdateFuture) Result(client FrontendEndpointsClient) (fe FrontendEndpoint, err error) { - var done bool - done, err = future.DoneWithContext(context.Background(), client) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.FrontendEndpointsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") - return - } - if !done { - err = azure.NewAsyncOpIncompleteError("frontdoor.FrontendEndpointsCreateOrUpdateFuture") - return - } - sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) - if fe.Response.Response, err = future.GetResult(sender); err == nil && fe.Response.Response.StatusCode != http.StatusNoContent { - fe, err = client.CreateOrUpdateResponder(fe.Response.Response) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.FrontendEndpointsCreateOrUpdateFuture", "Result", fe.Response.Response, "Failure responding to request") - } - } - return -} - -// FrontendEndpointsDeleteFuture an abstraction for monitoring and retrieving the results of a long-running -// operation. -type FrontendEndpointsDeleteFuture struct { - azure.Future -} - -// Result returns the result of the asynchronous operation. -// If the operation has not completed it will return an error. -func (future *FrontendEndpointsDeleteFuture) Result(client FrontendEndpointsClient) (ar autorest.Response, err error) { - var done bool - done, err = future.DoneWithContext(context.Background(), client) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.FrontendEndpointsDeleteFuture", "Result", future.Response(), "Polling failure") - return - } - if !done { - err = azure.NewAsyncOpIncompleteError("frontdoor.FrontendEndpointsDeleteFuture") - return - } - ar.Response = future.Response() - return -} - // FrontendEndpointsDisableHTTPSFuture an abstraction for monitoring and retrieving the results of a // long-running operation. type FrontendEndpointsDisableHTTPSFuture struct { @@ -1739,209 +1498,17 @@ type FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink struct { ID *string `json:"id,omitempty"` } -// HealthProbeSettingsCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a -// long-running operation. -type HealthProbeSettingsCreateOrUpdateFuture struct { - azure.Future -} - -// Result returns the result of the asynchronous operation. -// If the operation has not completed it will return an error. -func (future *HealthProbeSettingsCreateOrUpdateFuture) Result(client HealthProbeSettingsClient) (hpsm HealthProbeSettingsModel, err error) { - var done bool - done, err = future.DoneWithContext(context.Background(), client) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.HealthProbeSettingsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") - return - } - if !done { - err = azure.NewAsyncOpIncompleteError("frontdoor.HealthProbeSettingsCreateOrUpdateFuture") - return - } - sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) - if hpsm.Response.Response, err = future.GetResult(sender); err == nil && hpsm.Response.Response.StatusCode != http.StatusNoContent { - hpsm, err = client.CreateOrUpdateResponder(hpsm.Response.Response) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.HealthProbeSettingsCreateOrUpdateFuture", "Result", hpsm.Response.Response, "Failure responding to request") - } - } - return -} - -// HealthProbeSettingsDeleteFuture an abstraction for monitoring and retrieving the results of a -// long-running operation. -type HealthProbeSettingsDeleteFuture struct { - azure.Future -} - -// Result returns the result of the asynchronous operation. -// If the operation has not completed it will return an error. -func (future *HealthProbeSettingsDeleteFuture) Result(client HealthProbeSettingsClient) (ar autorest.Response, err error) { - var done bool - done, err = future.DoneWithContext(context.Background(), client) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.HealthProbeSettingsDeleteFuture", "Result", future.Response(), "Polling failure") - return - } - if !done { - err = azure.NewAsyncOpIncompleteError("frontdoor.HealthProbeSettingsDeleteFuture") - return - } - ar.Response = future.Response() - return -} - // HealthProbeSettingsListResult result of the request to list HealthProbeSettings. It contains a list of // HealthProbeSettings objects and a URL link to get the next set of results. type HealthProbeSettingsListResult struct { - autorest.Response `json:"-"` // Value - READ-ONLY; List of HealthProbeSettings within a Front Door. Value *[]HealthProbeSettingsModel `json:"value,omitempty"` // NextLink - URL to get the next set of HealthProbeSettings objects if there are any. NextLink *string `json:"nextLink,omitempty"` } -// HealthProbeSettingsListResultIterator provides access to a complete listing of HealthProbeSettingsModel -// values. -type HealthProbeSettingsListResultIterator struct { - i int - page HealthProbeSettingsListResultPage -} - -// NextWithContext advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -func (iter *HealthProbeSettingsListResultIterator) NextWithContext(ctx context.Context) (err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/HealthProbeSettingsListResultIterator.NextWithContext") - defer func() { - sc := -1 - if iter.Response().Response.Response != nil { - sc = iter.Response().Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - iter.i++ - if iter.i < len(iter.page.Values()) { - return nil - } - err = iter.page.NextWithContext(ctx) - if err != nil { - iter.i-- - return err - } - iter.i = 0 - return nil -} - -// Next advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -// Deprecated: Use NextWithContext() instead. -func (iter *HealthProbeSettingsListResultIterator) Next() error { - return iter.NextWithContext(context.Background()) -} - -// NotDone returns true if the enumeration should be started or is not yet complete. -func (iter HealthProbeSettingsListResultIterator) NotDone() bool { - return iter.page.NotDone() && iter.i < len(iter.page.Values()) -} - -// Response returns the raw server response from the last page request. -func (iter HealthProbeSettingsListResultIterator) Response() HealthProbeSettingsListResult { - return iter.page.Response() -} - -// Value returns the current value or a zero-initialized value if the -// iterator has advanced beyond the end of the collection. -func (iter HealthProbeSettingsListResultIterator) Value() HealthProbeSettingsModel { - if !iter.page.NotDone() { - return HealthProbeSettingsModel{} - } - return iter.page.Values()[iter.i] -} - -// Creates a new instance of the HealthProbeSettingsListResultIterator type. -func NewHealthProbeSettingsListResultIterator(page HealthProbeSettingsListResultPage) HealthProbeSettingsListResultIterator { - return HealthProbeSettingsListResultIterator{page: page} -} - -// IsEmpty returns true if the ListResult contains no values. -func (hpslr HealthProbeSettingsListResult) IsEmpty() bool { - return hpslr.Value == nil || len(*hpslr.Value) == 0 -} - -// healthProbeSettingsListResultPreparer prepares a request to retrieve the next set of results. -// It returns nil if no more results exist. -func (hpslr HealthProbeSettingsListResult) healthProbeSettingsListResultPreparer(ctx context.Context) (*http.Request, error) { - if hpslr.NextLink == nil || len(to.String(hpslr.NextLink)) < 1 { - return nil, nil - } - return autorest.Prepare((&http.Request{}).WithContext(ctx), - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(hpslr.NextLink))) -} - -// HealthProbeSettingsListResultPage contains a page of HealthProbeSettingsModel values. -type HealthProbeSettingsListResultPage struct { - fn func(context.Context, HealthProbeSettingsListResult) (HealthProbeSettingsListResult, error) - hpslr HealthProbeSettingsListResult -} - -// NextWithContext advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -func (page *HealthProbeSettingsListResultPage) NextWithContext(ctx context.Context) (err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/HealthProbeSettingsListResultPage.NextWithContext") - defer func() { - sc := -1 - if page.Response().Response.Response != nil { - sc = page.Response().Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - next, err := page.fn(ctx, page.hpslr) - if err != nil { - return err - } - page.hpslr = next - return nil -} - -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -// Deprecated: Use NextWithContext() instead. -func (page *HealthProbeSettingsListResultPage) Next() error { - return page.NextWithContext(context.Background()) -} - -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page HealthProbeSettingsListResultPage) NotDone() bool { - return !page.hpslr.IsEmpty() -} - -// Response returns the raw server response from the last page request. -func (page HealthProbeSettingsListResultPage) Response() HealthProbeSettingsListResult { - return page.hpslr -} - -// Values returns the slice of values for the current page or nil if there are no values. -func (page HealthProbeSettingsListResultPage) Values() []HealthProbeSettingsModel { - if page.hpslr.IsEmpty() { - return nil - } - return *page.hpslr.Value -} - -// Creates a new instance of the HealthProbeSettingsListResultPage type. -func NewHealthProbeSettingsListResultPage(getNextPage func(context.Context, HealthProbeSettingsListResult) (HealthProbeSettingsListResult, error)) HealthProbeSettingsListResultPage { - return HealthProbeSettingsListResultPage{fn: getNextPage} -} - // HealthProbeSettingsModel load balancing settings for a backend pool type HealthProbeSettingsModel struct { - autorest.Response `json:"-"` // HealthProbeSettingsProperties - Properties of the health probe settings *HealthProbeSettingsProperties `json:"properties,omitempty"` // Name - Resource name. @@ -2030,262 +1597,62 @@ type HealthProbeSettingsProperties struct { // IntervalInSeconds - The number of seconds between health probes. IntervalInSeconds *int32 `json:"intervalInSeconds,omitempty"` // HealthProbeMethod - Configures which HTTP method to use to probe the backends defined under backendPools. Possible values include: 'GET', 'HEAD' - HealthProbeMethod HealthProbeMethod `json:"healthProbeMethod,omitempty"` - // EnabledState - Whether to enable health probes to be made against backends defined under backendPools. Health probes can only be disabled if there is a single enabled backend in single enabled backend pool. Possible values include: 'HealthProbeEnabledEnabled', 'HealthProbeEnabledDisabled' - EnabledState HealthProbeEnabled `json:"enabledState,omitempty"` -} - -// HealthProbeSettingsUpdateParameters l7 health probe settings for a backend pool -type HealthProbeSettingsUpdateParameters struct { - // Path - The path to use for the health probe. Default is / - Path *string `json:"path,omitempty"` - // Protocol - Protocol scheme to use for this probe. Possible values include: 'HTTP', 'HTTPS' - Protocol Protocol `json:"protocol,omitempty"` - // IntervalInSeconds - The number of seconds between health probes. - IntervalInSeconds *int32 `json:"intervalInSeconds,omitempty"` - // HealthProbeMethod - Configures which HTTP method to use to probe the backends defined under backendPools. Possible values include: 'GET', 'HEAD' - HealthProbeMethod HealthProbeMethod `json:"healthProbeMethod,omitempty"` - // EnabledState - Whether to enable health probes to be made against backends defined under backendPools. Health probes can only be disabled if there is a single enabled backend in single enabled backend pool. Possible values include: 'HealthProbeEnabledEnabled', 'HealthProbeEnabledDisabled' - EnabledState HealthProbeEnabled `json:"enabledState,omitempty"` -} - -// KeyVaultCertificateSourceParameters parameters required for bring-your-own-certification via Key Vault -type KeyVaultCertificateSourceParameters struct { - // Vault - The Key Vault containing the SSL certificate - Vault *KeyVaultCertificateSourceParametersVault `json:"vault,omitempty"` - // SecretName - The name of the Key Vault secret representing the full certificate PFX - SecretName *string `json:"secretName,omitempty"` - // SecretVersion - The version of the Key Vault secret representing the full certificate PFX - SecretVersion *string `json:"secretVersion,omitempty"` -} - -// KeyVaultCertificateSourceParametersVault the Key Vault containing the SSL certificate -type KeyVaultCertificateSourceParametersVault struct { - // ID - Resource ID. - ID *string `json:"id,omitempty"` -} - -// ListResult result of the request to list Front Doors. It contains a list of Front Door objects and a URL -// link to get the next set of results. -type ListResult struct { - autorest.Response `json:"-"` - // Value - READ-ONLY; List of Front Doors within a resource group. - Value *[]FrontDoor `json:"value,omitempty"` - // NextLink - URL to get the next set of Front Door objects if there are any. - NextLink *string `json:"nextLink,omitempty"` -} - -// ListResultIterator provides access to a complete listing of FrontDoor values. -type ListResultIterator struct { - i int - page ListResultPage -} - -// NextWithContext advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -func (iter *ListResultIterator) NextWithContext(ctx context.Context) (err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/ListResultIterator.NextWithContext") - defer func() { - sc := -1 - if iter.Response().Response.Response != nil { - sc = iter.Response().Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - iter.i++ - if iter.i < len(iter.page.Values()) { - return nil - } - err = iter.page.NextWithContext(ctx) - if err != nil { - iter.i-- - return err - } - iter.i = 0 - return nil -} - -// Next advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -// Deprecated: Use NextWithContext() instead. -func (iter *ListResultIterator) Next() error { - return iter.NextWithContext(context.Background()) -} - -// NotDone returns true if the enumeration should be started or is not yet complete. -func (iter ListResultIterator) NotDone() bool { - return iter.page.NotDone() && iter.i < len(iter.page.Values()) -} - -// Response returns the raw server response from the last page request. -func (iter ListResultIterator) Response() ListResult { - return iter.page.Response() -} - -// Value returns the current value or a zero-initialized value if the -// iterator has advanced beyond the end of the collection. -func (iter ListResultIterator) Value() FrontDoor { - if !iter.page.NotDone() { - return FrontDoor{} - } - return iter.page.Values()[iter.i] -} - -// Creates a new instance of the ListResultIterator type. -func NewListResultIterator(page ListResultPage) ListResultIterator { - return ListResultIterator{page: page} -} - -// IsEmpty returns true if the ListResult contains no values. -func (lr ListResult) IsEmpty() bool { - return lr.Value == nil || len(*lr.Value) == 0 -} - -// listResultPreparer prepares a request to retrieve the next set of results. -// It returns nil if no more results exist. -func (lr ListResult) listResultPreparer(ctx context.Context) (*http.Request, error) { - if lr.NextLink == nil || len(to.String(lr.NextLink)) < 1 { - return nil, nil - } - return autorest.Prepare((&http.Request{}).WithContext(ctx), - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(lr.NextLink))) -} - -// ListResultPage contains a page of FrontDoor values. -type ListResultPage struct { - fn func(context.Context, ListResult) (ListResult, error) - lr ListResult -} - -// NextWithContext advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -func (page *ListResultPage) NextWithContext(ctx context.Context) (err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/ListResultPage.NextWithContext") - defer func() { - sc := -1 - if page.Response().Response.Response != nil { - sc = page.Response().Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - next, err := page.fn(ctx, page.lr) - if err != nil { - return err - } - page.lr = next - return nil -} - -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -// Deprecated: Use NextWithContext() instead. -func (page *ListResultPage) Next() error { - return page.NextWithContext(context.Background()) -} - -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page ListResultPage) NotDone() bool { - return !page.lr.IsEmpty() -} - -// Response returns the raw server response from the last page request. -func (page ListResultPage) Response() ListResult { - return page.lr -} - -// Values returns the slice of values for the current page or nil if there are no values. -func (page ListResultPage) Values() []FrontDoor { - if page.lr.IsEmpty() { - return nil - } - return *page.lr.Value -} - -// Creates a new instance of the ListResultPage type. -func NewListResultPage(getNextPage func(context.Context, ListResult) (ListResult, error)) ListResultPage { - return ListResultPage{fn: getNextPage} -} - -// LoadBalancingSettingsCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a -// long-running operation. -type LoadBalancingSettingsCreateOrUpdateFuture struct { - azure.Future + HealthProbeMethod HealthProbeMethod `json:"healthProbeMethod,omitempty"` + // EnabledState - Whether to enable health probes to be made against backends defined under backendPools. Health probes can only be disabled if there is a single enabled backend in single enabled backend pool. Possible values include: 'HealthProbeEnabledEnabled', 'HealthProbeEnabledDisabled' + EnabledState HealthProbeEnabled `json:"enabledState,omitempty"` } -// Result returns the result of the asynchronous operation. -// If the operation has not completed it will return an error. -func (future *LoadBalancingSettingsCreateOrUpdateFuture) Result(client LoadBalancingSettingsClient) (lbsm LoadBalancingSettingsModel, err error) { - var done bool - done, err = future.DoneWithContext(context.Background(), client) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.LoadBalancingSettingsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") - return - } - if !done { - err = azure.NewAsyncOpIncompleteError("frontdoor.LoadBalancingSettingsCreateOrUpdateFuture") - return - } - sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) - if lbsm.Response.Response, err = future.GetResult(sender); err == nil && lbsm.Response.Response.StatusCode != http.StatusNoContent { - lbsm, err = client.CreateOrUpdateResponder(lbsm.Response.Response) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.LoadBalancingSettingsCreateOrUpdateFuture", "Result", lbsm.Response.Response, "Failure responding to request") - } - } - return +// HealthProbeSettingsUpdateParameters l7 health probe settings for a backend pool +type HealthProbeSettingsUpdateParameters struct { + // Path - The path to use for the health probe. Default is / + Path *string `json:"path,omitempty"` + // Protocol - Protocol scheme to use for this probe. Possible values include: 'HTTP', 'HTTPS' + Protocol Protocol `json:"protocol,omitempty"` + // IntervalInSeconds - The number of seconds between health probes. + IntervalInSeconds *int32 `json:"intervalInSeconds,omitempty"` + // HealthProbeMethod - Configures which HTTP method to use to probe the backends defined under backendPools. Possible values include: 'GET', 'HEAD' + HealthProbeMethod HealthProbeMethod `json:"healthProbeMethod,omitempty"` + // EnabledState - Whether to enable health probes to be made against backends defined under backendPools. Health probes can only be disabled if there is a single enabled backend in single enabled backend pool. Possible values include: 'HealthProbeEnabledEnabled', 'HealthProbeEnabledDisabled' + EnabledState HealthProbeEnabled `json:"enabledState,omitempty"` } -// LoadBalancingSettingsDeleteFuture an abstraction for monitoring and retrieving the results of a -// long-running operation. -type LoadBalancingSettingsDeleteFuture struct { - azure.Future +// KeyVaultCertificateSourceParameters parameters required for bring-your-own-certification via Key Vault +type KeyVaultCertificateSourceParameters struct { + // Vault - The Key Vault containing the SSL certificate + Vault *KeyVaultCertificateSourceParametersVault `json:"vault,omitempty"` + // SecretName - The name of the Key Vault secret representing the full certificate PFX + SecretName *string `json:"secretName,omitempty"` + // SecretVersion - The version of the Key Vault secret representing the full certificate PFX + SecretVersion *string `json:"secretVersion,omitempty"` } -// Result returns the result of the asynchronous operation. -// If the operation has not completed it will return an error. -func (future *LoadBalancingSettingsDeleteFuture) Result(client LoadBalancingSettingsClient) (ar autorest.Response, err error) { - var done bool - done, err = future.DoneWithContext(context.Background(), client) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.LoadBalancingSettingsDeleteFuture", "Result", future.Response(), "Polling failure") - return - } - if !done { - err = azure.NewAsyncOpIncompleteError("frontdoor.LoadBalancingSettingsDeleteFuture") - return - } - ar.Response = future.Response() - return +// KeyVaultCertificateSourceParametersVault the Key Vault containing the SSL certificate +type KeyVaultCertificateSourceParametersVault struct { + // ID - Resource ID. + ID *string `json:"id,omitempty"` } -// LoadBalancingSettingsListResult result of the request to list load balancing settings. It contains a -// list of load balancing settings objects and a URL link to get the next set of results. -type LoadBalancingSettingsListResult struct { +// ListResult result of the request to list Front Doors. It contains a list of Front Door objects and a URL +// link to get the next set of results. +type ListResult struct { autorest.Response `json:"-"` - // Value - READ-ONLY; List of Backend Pools within a Front Door. - Value *[]LoadBalancingSettingsModel `json:"value,omitempty"` - // NextLink - URL to get the next set of LoadBalancingSettings objects if there are any. + // Value - READ-ONLY; List of Front Doors within a resource group. + Value *[]FrontDoor `json:"value,omitempty"` + // NextLink - URL to get the next set of Front Door objects if there are any. NextLink *string `json:"nextLink,omitempty"` } -// LoadBalancingSettingsListResultIterator provides access to a complete listing of -// LoadBalancingSettingsModel values. -type LoadBalancingSettingsListResultIterator struct { +// ListResultIterator provides access to a complete listing of FrontDoor values. +type ListResultIterator struct { i int - page LoadBalancingSettingsListResultPage + page ListResultPage } // NextWithContext advances to the next value. If there was an error making // the request the iterator does not advance and the error is returned. -func (iter *LoadBalancingSettingsListResultIterator) NextWithContext(ctx context.Context) (err error) { +func (iter *ListResultIterator) NextWithContext(ctx context.Context) (err error) { if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/LoadBalancingSettingsListResultIterator.NextWithContext") + ctx = tracing.StartSpan(ctx, fqdn+"/ListResultIterator.NextWithContext") defer func() { sc := -1 if iter.Response().Response.Response != nil { @@ -2310,62 +1677,62 @@ func (iter *LoadBalancingSettingsListResultIterator) NextWithContext(ctx context // Next advances to the next value. If there was an error making // the request the iterator does not advance and the error is returned. // Deprecated: Use NextWithContext() instead. -func (iter *LoadBalancingSettingsListResultIterator) Next() error { +func (iter *ListResultIterator) Next() error { return iter.NextWithContext(context.Background()) } // NotDone returns true if the enumeration should be started or is not yet complete. -func (iter LoadBalancingSettingsListResultIterator) NotDone() bool { +func (iter ListResultIterator) NotDone() bool { return iter.page.NotDone() && iter.i < len(iter.page.Values()) } // Response returns the raw server response from the last page request. -func (iter LoadBalancingSettingsListResultIterator) Response() LoadBalancingSettingsListResult { +func (iter ListResultIterator) Response() ListResult { return iter.page.Response() } // Value returns the current value or a zero-initialized value if the // iterator has advanced beyond the end of the collection. -func (iter LoadBalancingSettingsListResultIterator) Value() LoadBalancingSettingsModel { +func (iter ListResultIterator) Value() FrontDoor { if !iter.page.NotDone() { - return LoadBalancingSettingsModel{} + return FrontDoor{} } return iter.page.Values()[iter.i] } -// Creates a new instance of the LoadBalancingSettingsListResultIterator type. -func NewLoadBalancingSettingsListResultIterator(page LoadBalancingSettingsListResultPage) LoadBalancingSettingsListResultIterator { - return LoadBalancingSettingsListResultIterator{page: page} +// Creates a new instance of the ListResultIterator type. +func NewListResultIterator(page ListResultPage) ListResultIterator { + return ListResultIterator{page: page} } // IsEmpty returns true if the ListResult contains no values. -func (lbslr LoadBalancingSettingsListResult) IsEmpty() bool { - return lbslr.Value == nil || len(*lbslr.Value) == 0 +func (lr ListResult) IsEmpty() bool { + return lr.Value == nil || len(*lr.Value) == 0 } -// loadBalancingSettingsListResultPreparer prepares a request to retrieve the next set of results. +// listResultPreparer prepares a request to retrieve the next set of results. // It returns nil if no more results exist. -func (lbslr LoadBalancingSettingsListResult) loadBalancingSettingsListResultPreparer(ctx context.Context) (*http.Request, error) { - if lbslr.NextLink == nil || len(to.String(lbslr.NextLink)) < 1 { +func (lr ListResult) listResultPreparer(ctx context.Context) (*http.Request, error) { + if lr.NextLink == nil || len(to.String(lr.NextLink)) < 1 { return nil, nil } return autorest.Prepare((&http.Request{}).WithContext(ctx), autorest.AsJSON(), autorest.AsGet(), - autorest.WithBaseURL(to.String(lbslr.NextLink))) + autorest.WithBaseURL(to.String(lr.NextLink))) } -// LoadBalancingSettingsListResultPage contains a page of LoadBalancingSettingsModel values. -type LoadBalancingSettingsListResultPage struct { - fn func(context.Context, LoadBalancingSettingsListResult) (LoadBalancingSettingsListResult, error) - lbslr LoadBalancingSettingsListResult +// ListResultPage contains a page of FrontDoor values. +type ListResultPage struct { + fn func(context.Context, ListResult) (ListResult, error) + lr ListResult } // NextWithContext advances to the next page of values. If there was an error making // the request the page does not advance and the error is returned. -func (page *LoadBalancingSettingsListResultPage) NextWithContext(ctx context.Context) (err error) { +func (page *ListResultPage) NextWithContext(ctx context.Context) (err error) { if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/LoadBalancingSettingsListResultPage.NextWithContext") + ctx = tracing.StartSpan(ctx, fqdn+"/ListResultPage.NextWithContext") defer func() { sc := -1 if page.Response().Response.Response != nil { @@ -2374,47 +1741,55 @@ func (page *LoadBalancingSettingsListResultPage) NextWithContext(ctx context.Con tracing.EndSpan(ctx, sc, err) }() } - next, err := page.fn(ctx, page.lbslr) + next, err := page.fn(ctx, page.lr) if err != nil { return err } - page.lbslr = next + page.lr = next return nil } // Next advances to the next page of values. If there was an error making // the request the page does not advance and the error is returned. // Deprecated: Use NextWithContext() instead. -func (page *LoadBalancingSettingsListResultPage) Next() error { +func (page *ListResultPage) Next() error { return page.NextWithContext(context.Background()) } // NotDone returns true if the page enumeration should be started or is not yet complete. -func (page LoadBalancingSettingsListResultPage) NotDone() bool { - return !page.lbslr.IsEmpty() +func (page ListResultPage) NotDone() bool { + return !page.lr.IsEmpty() } // Response returns the raw server response from the last page request. -func (page LoadBalancingSettingsListResultPage) Response() LoadBalancingSettingsListResult { - return page.lbslr +func (page ListResultPage) Response() ListResult { + return page.lr } // Values returns the slice of values for the current page or nil if there are no values. -func (page LoadBalancingSettingsListResultPage) Values() []LoadBalancingSettingsModel { - if page.lbslr.IsEmpty() { +func (page ListResultPage) Values() []FrontDoor { + if page.lr.IsEmpty() { return nil } - return *page.lbslr.Value + return *page.lr.Value +} + +// Creates a new instance of the ListResultPage type. +func NewListResultPage(getNextPage func(context.Context, ListResult) (ListResult, error)) ListResultPage { + return ListResultPage{fn: getNextPage} } -// Creates a new instance of the LoadBalancingSettingsListResultPage type. -func NewLoadBalancingSettingsListResultPage(getNextPage func(context.Context, LoadBalancingSettingsListResult) (LoadBalancingSettingsListResult, error)) LoadBalancingSettingsListResultPage { - return LoadBalancingSettingsListResultPage{fn: getNextPage} +// LoadBalancingSettingsListResult result of the request to list load balancing settings. It contains a +// list of load balancing settings objects and a URL link to get the next set of results. +type LoadBalancingSettingsListResult struct { + // Value - READ-ONLY; List of Backend Pools within a Front Door. + Value *[]LoadBalancingSettingsModel `json:"value,omitempty"` + // NextLink - URL to get the next set of LoadBalancingSettings objects if there are any. + NextLink *string `json:"nextLink,omitempty"` } // LoadBalancingSettingsModel load balancing settings for a backend pool type LoadBalancingSettingsModel struct { - autorest.Response `json:"-"` // LoadBalancingSettingsProperties - Properties of the load balancing settings *LoadBalancingSettingsProperties `json:"properties,omitempty"` // Name - Resource name. @@ -2518,6 +1893,10 @@ type LoadBalancingSettingsUpdateParameters struct { type ManagedRuleDefinition struct { // RuleID - READ-ONLY; Identifier for the managed rule. RuleID *string `json:"ruleId,omitempty"` + // DefaultState - READ-ONLY; Describes the default state for the managed rule. Possible values include: 'ManagedRuleEnabledStateDisabled', 'ManagedRuleEnabledStateEnabled' + DefaultState ManagedRuleEnabledState `json:"defaultState,omitempty"` + // DefaultAction - READ-ONLY; Describes the default action to be applied when the managed rule matches. Possible values include: 'Allow', 'Block', 'Log', 'Redirect' + DefaultAction ActionType `json:"defaultAction,omitempty"` // Description - READ-ONLY; Describes the functionality of the managed rule. Description *string `json:"description,omitempty"` } @@ -2827,7 +2206,7 @@ type ManagedRuleSetList struct { // MatchCondition define a match condition. type MatchCondition struct { - // MatchVariable - Request variable to compare with. Possible values include: 'RemoteAddr', 'RequestMethod', 'QueryString', 'PostArgs', 'RequestURI', 'RequestHeader', 'RequestBody', 'Cookies' + // MatchVariable - Request variable to compare with. Possible values include: 'RemoteAddr', 'RequestMethod', 'QueryString', 'PostArgs', 'RequestURI', 'RequestHeader', 'RequestBody', 'Cookies', 'SocketAddr' MatchVariable MatchVariable `json:"matchVariable,omitempty"` // Selector - Match against a specific key from the QueryString, PostArgs, RequestHeader or Cookies variables. Default is null. Selector *string `json:"selector,omitempty"` @@ -3118,7 +2497,6 @@ func (rc RouteConfiguration) AsBasicRouteConfiguration() (BasicRouteConfiguratio // RoutingRule a routing rule represents a specification for traffic to treat and where to send it, along // with health probe information. type RoutingRule struct { - autorest.Response `json:"-"` // RoutingRuleProperties - Properties of the Front Door Routing Rule *RoutingRuleProperties `json:"properties,omitempty"` // Name - Resource name. @@ -3198,150 +2576,12 @@ func (rr *RoutingRule) UnmarshalJSON(body []byte) error { // RoutingRuleListResult result of the request to list Routing Rules. It contains a list of Routing Rule // objects and a URL link to get the next set of results. type RoutingRuleListResult struct { - autorest.Response `json:"-"` // Value - READ-ONLY; List of Routing Rules within a Front Door. Value *[]RoutingRule `json:"value,omitempty"` // NextLink - URL to get the next set of RoutingRule objects if there are any. NextLink *string `json:"nextLink,omitempty"` } -// RoutingRuleListResultIterator provides access to a complete listing of RoutingRule values. -type RoutingRuleListResultIterator struct { - i int - page RoutingRuleListResultPage -} - -// NextWithContext advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -func (iter *RoutingRuleListResultIterator) NextWithContext(ctx context.Context) (err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/RoutingRuleListResultIterator.NextWithContext") - defer func() { - sc := -1 - if iter.Response().Response.Response != nil { - sc = iter.Response().Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - iter.i++ - if iter.i < len(iter.page.Values()) { - return nil - } - err = iter.page.NextWithContext(ctx) - if err != nil { - iter.i-- - return err - } - iter.i = 0 - return nil -} - -// Next advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -// Deprecated: Use NextWithContext() instead. -func (iter *RoutingRuleListResultIterator) Next() error { - return iter.NextWithContext(context.Background()) -} - -// NotDone returns true if the enumeration should be started or is not yet complete. -func (iter RoutingRuleListResultIterator) NotDone() bool { - return iter.page.NotDone() && iter.i < len(iter.page.Values()) -} - -// Response returns the raw server response from the last page request. -func (iter RoutingRuleListResultIterator) Response() RoutingRuleListResult { - return iter.page.Response() -} - -// Value returns the current value or a zero-initialized value if the -// iterator has advanced beyond the end of the collection. -func (iter RoutingRuleListResultIterator) Value() RoutingRule { - if !iter.page.NotDone() { - return RoutingRule{} - } - return iter.page.Values()[iter.i] -} - -// Creates a new instance of the RoutingRuleListResultIterator type. -func NewRoutingRuleListResultIterator(page RoutingRuleListResultPage) RoutingRuleListResultIterator { - return RoutingRuleListResultIterator{page: page} -} - -// IsEmpty returns true if the ListResult contains no values. -func (rrlr RoutingRuleListResult) IsEmpty() bool { - return rrlr.Value == nil || len(*rrlr.Value) == 0 -} - -// routingRuleListResultPreparer prepares a request to retrieve the next set of results. -// It returns nil if no more results exist. -func (rrlr RoutingRuleListResult) routingRuleListResultPreparer(ctx context.Context) (*http.Request, error) { - if rrlr.NextLink == nil || len(to.String(rrlr.NextLink)) < 1 { - return nil, nil - } - return autorest.Prepare((&http.Request{}).WithContext(ctx), - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(rrlr.NextLink))) -} - -// RoutingRuleListResultPage contains a page of RoutingRule values. -type RoutingRuleListResultPage struct { - fn func(context.Context, RoutingRuleListResult) (RoutingRuleListResult, error) - rrlr RoutingRuleListResult -} - -// NextWithContext advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -func (page *RoutingRuleListResultPage) NextWithContext(ctx context.Context) (err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/RoutingRuleListResultPage.NextWithContext") - defer func() { - sc := -1 - if page.Response().Response.Response != nil { - sc = page.Response().Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - next, err := page.fn(ctx, page.rrlr) - if err != nil { - return err - } - page.rrlr = next - return nil -} - -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -// Deprecated: Use NextWithContext() instead. -func (page *RoutingRuleListResultPage) Next() error { - return page.NextWithContext(context.Background()) -} - -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page RoutingRuleListResultPage) NotDone() bool { - return !page.rrlr.IsEmpty() -} - -// Response returns the raw server response from the last page request. -func (page RoutingRuleListResultPage) Response() RoutingRuleListResult { - return page.rrlr -} - -// Values returns the slice of values for the current page or nil if there are no values. -func (page RoutingRuleListResultPage) Values() []RoutingRule { - if page.rrlr.IsEmpty() { - return nil - } - return *page.rrlr.Value -} - -// Creates a new instance of the RoutingRuleListResultPage type. -func NewRoutingRuleListResultPage(getNextPage func(context.Context, RoutingRuleListResult) (RoutingRuleListResult, error)) RoutingRuleListResultPage { - return RoutingRuleListResultPage{fn: getNextPage} -} - // RoutingRuleProperties the JSON object that contains the properties required to create a routing rule. type RoutingRuleProperties struct { // ResourceState - Resource status. Possible values include: 'ResourceStateCreating', 'ResourceStateEnabling', 'ResourceStateEnabled', 'ResourceStateDisabling', 'ResourceStateDisabled', 'ResourceStateDeleting' @@ -3426,58 +2666,6 @@ func (rrp *RoutingRuleProperties) UnmarshalJSON(body []byte) error { return nil } -// RoutingRulesCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a -// long-running operation. -type RoutingRulesCreateOrUpdateFuture struct { - azure.Future -} - -// Result returns the result of the asynchronous operation. -// If the operation has not completed it will return an error. -func (future *RoutingRulesCreateOrUpdateFuture) Result(client RoutingRulesClient) (rr RoutingRule, err error) { - var done bool - done, err = future.DoneWithContext(context.Background(), client) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.RoutingRulesCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") - return - } - if !done { - err = azure.NewAsyncOpIncompleteError("frontdoor.RoutingRulesCreateOrUpdateFuture") - return - } - sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) - if rr.Response.Response, err = future.GetResult(sender); err == nil && rr.Response.Response.StatusCode != http.StatusNoContent { - rr, err = client.CreateOrUpdateResponder(rr.Response.Response) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.RoutingRulesCreateOrUpdateFuture", "Result", rr.Response.Response, "Failure responding to request") - } - } - return -} - -// RoutingRulesDeleteFuture an abstraction for monitoring and retrieving the results of a long-running -// operation. -type RoutingRulesDeleteFuture struct { - azure.Future -} - -// Result returns the result of the asynchronous operation. -// If the operation has not completed it will return an error. -func (future *RoutingRulesDeleteFuture) Result(client RoutingRulesClient) (ar autorest.Response, err error) { - var done bool - done, err = future.DoneWithContext(context.Background(), client) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.RoutingRulesDeleteFuture", "Result", future.Response(), "Polling failure") - return - } - if !done { - err = azure.NewAsyncOpIncompleteError("frontdoor.RoutingRulesDeleteFuture") - return - } - ar.Response = future.Response() - return -} - // RoutingRuleUpdateParameters routing rules to apply to an endpoint type RoutingRuleUpdateParameters struct { // FrontendEndpoints - Frontend endpoints associated with this rule diff --git a/services/preview/frontdoor/mgmt/2019-05-01/frontdoor/policies.go b/services/frontdoor/mgmt/2019-05-01/frontdoor/policies.go similarity index 100% rename from services/preview/frontdoor/mgmt/2019-05-01/frontdoor/policies.go rename to services/frontdoor/mgmt/2019-05-01/frontdoor/policies.go diff --git a/services/preview/frontdoor/mgmt/2019-05-01/frontdoor/version.go b/services/frontdoor/mgmt/2019-05-01/frontdoor/version.go similarity index 100% rename from services/preview/frontdoor/mgmt/2019-05-01/frontdoor/version.go rename to services/frontdoor/mgmt/2019-05-01/frontdoor/version.go diff --git a/services/healthcareapis/mgmt/2019-09-16/healthcareapis/client.go b/services/healthcareapis/mgmt/2019-09-16/healthcareapis/client.go new file mode 100644 index 000000000000..c2bd63627422 --- /dev/null +++ b/services/healthcareapis/mgmt/2019-09-16/healthcareapis/client.go @@ -0,0 +1,51 @@ +// Package healthcareapis implements the Azure ARM Healthcareapis service API version 2019-09-16. +// +// Azure Healthcare APIs Client +package healthcareapis + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" +) + +const ( + // DefaultBaseURI is the default URI used for the service Healthcareapis + DefaultBaseURI = "https://management.azure.com" +) + +// BaseClient is the base client for Healthcareapis. +type BaseClient struct { + autorest.Client + BaseURI string + SubscriptionID string +} + +// New creates an instance of the BaseClient client. +func New(subscriptionID string) BaseClient { + return NewWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewWithBaseURI creates an instance of the BaseClient client. +func NewWithBaseURI(baseURI string, subscriptionID string) BaseClient { + return BaseClient{ + Client: autorest.NewClientWithUserAgent(UserAgent()), + BaseURI: baseURI, + SubscriptionID: subscriptionID, + } +} diff --git a/services/healthcareapis/mgmt/2019-09-16/healthcareapis/healthcareapisapi/interfaces.go b/services/healthcareapis/mgmt/2019-09-16/healthcareapis/healthcareapisapi/interfaces.go new file mode 100644 index 000000000000..1d06a54548b2 --- /dev/null +++ b/services/healthcareapis/mgmt/2019-09-16/healthcareapis/healthcareapisapi/interfaces.go @@ -0,0 +1,50 @@ +package healthcareapisapi + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/azure-sdk-for-go/services/healthcareapis/mgmt/2019-09-16/healthcareapis" +) + +// ServicesClientAPI contains the set of methods on the ServicesClient type. +type ServicesClientAPI interface { + CheckNameAvailability(ctx context.Context, checkNameAvailabilityInputs healthcareapis.CheckNameAvailabilityParameters) (result healthcareapis.ServicesNameAvailabilityInfo, err error) + CreateOrUpdate(ctx context.Context, resourceGroupName string, resourceName string, serviceDescription healthcareapis.ServicesDescription) (result healthcareapis.ServicesCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, resourceName string) (result healthcareapis.ServicesDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, resourceName string) (result healthcareapis.ServicesDescription, err error) + List(ctx context.Context) (result healthcareapis.ServicesDescriptionListResultPage, err error) + ListByResourceGroup(ctx context.Context, resourceGroupName string) (result healthcareapis.ServicesDescriptionListResultPage, err error) + Update(ctx context.Context, resourceGroupName string, resourceName string, servicePatchDescription healthcareapis.ServicesPatchDescription) (result healthcareapis.ServicesUpdateFuture, err error) +} + +var _ ServicesClientAPI = (*healthcareapis.ServicesClient)(nil) + +// OperationsClientAPI contains the set of methods on the OperationsClient type. +type OperationsClientAPI interface { + List(ctx context.Context) (result healthcareapis.OperationListResultPage, err error) +} + +var _ OperationsClientAPI = (*healthcareapis.OperationsClient)(nil) + +// OperationResultsClientAPI contains the set of methods on the OperationResultsClient type. +type OperationResultsClientAPI interface { + Get(ctx context.Context, locationName string, operationResultID string) (result healthcareapis.SetObject, err error) +} + +var _ OperationResultsClientAPI = (*healthcareapis.OperationResultsClient)(nil) diff --git a/services/healthcareapis/mgmt/2019-09-16/healthcareapis/models.go b/services/healthcareapis/mgmt/2019-09-16/healthcareapis/models.go new file mode 100644 index 000000000000..23c268b77377 --- /dev/null +++ b/services/healthcareapis/mgmt/2019-09-16/healthcareapis/models.go @@ -0,0 +1,708 @@ +package healthcareapis + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "encoding/json" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/to" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// The package's fully qualified name. +const fqdn = "github.com/Azure/azure-sdk-for-go/services/healthcareapis/mgmt/2019-09-16/healthcareapis" + +// Kind enumerates the values for kind. +type Kind string + +const ( + // Fhir ... + Fhir Kind = "fhir" + // FhirR4 ... + FhirR4 Kind = "fhir-R4" + // FhirStu3 ... + FhirStu3 Kind = "fhir-Stu3" +) + +// PossibleKindValues returns an array of possible values for the Kind const type. +func PossibleKindValues() []Kind { + return []Kind{Fhir, FhirR4, FhirStu3} +} + +// OperationResultStatus enumerates the values for operation result status. +type OperationResultStatus string + +const ( + // Canceled ... + Canceled OperationResultStatus = "Canceled" + // Failed ... + Failed OperationResultStatus = "Failed" + // Requested ... + Requested OperationResultStatus = "Requested" + // Running ... + Running OperationResultStatus = "Running" + // Succeeded ... + Succeeded OperationResultStatus = "Succeeded" +) + +// PossibleOperationResultStatusValues returns an array of possible values for the OperationResultStatus const type. +func PossibleOperationResultStatusValues() []OperationResultStatus { + return []OperationResultStatus{Canceled, Failed, Requested, Running, Succeeded} +} + +// ProvisioningState enumerates the values for provisioning state. +type ProvisioningState string + +const ( + // ProvisioningStateAccepted ... + ProvisioningStateAccepted ProvisioningState = "Accepted" + // ProvisioningStateCanceled ... + ProvisioningStateCanceled ProvisioningState = "Canceled" + // ProvisioningStateCreating ... + ProvisioningStateCreating ProvisioningState = "Creating" + // ProvisioningStateDeleting ... + ProvisioningStateDeleting ProvisioningState = "Deleting" + // ProvisioningStateDeprovisioned ... + ProvisioningStateDeprovisioned ProvisioningState = "Deprovisioned" + // ProvisioningStateFailed ... + ProvisioningStateFailed ProvisioningState = "Failed" + // ProvisioningStateSucceeded ... + ProvisioningStateSucceeded ProvisioningState = "Succeeded" + // ProvisioningStateUpdating ... + ProvisioningStateUpdating ProvisioningState = "Updating" + // ProvisioningStateVerifying ... + ProvisioningStateVerifying ProvisioningState = "Verifying" +) + +// PossibleProvisioningStateValues returns an array of possible values for the ProvisioningState const type. +func PossibleProvisioningStateValues() []ProvisioningState { + return []ProvisioningState{ProvisioningStateAccepted, ProvisioningStateCanceled, ProvisioningStateCreating, ProvisioningStateDeleting, ProvisioningStateDeprovisioned, ProvisioningStateFailed, ProvisioningStateSucceeded, ProvisioningStateUpdating, ProvisioningStateVerifying} +} + +// ServiceNameUnavailabilityReason enumerates the values for service name unavailability reason. +type ServiceNameUnavailabilityReason string + +const ( + // AlreadyExists ... + AlreadyExists ServiceNameUnavailabilityReason = "AlreadyExists" + // Invalid ... + Invalid ServiceNameUnavailabilityReason = "Invalid" +) + +// PossibleServiceNameUnavailabilityReasonValues returns an array of possible values for the ServiceNameUnavailabilityReason const type. +func PossibleServiceNameUnavailabilityReasonValues() []ServiceNameUnavailabilityReason { + return []ServiceNameUnavailabilityReason{AlreadyExists, Invalid} +} + +// CheckNameAvailabilityParameters input values. +type CheckNameAvailabilityParameters struct { + // Name - The name of the service instance to check. + Name *string `json:"name,omitempty"` + // Type - The fully qualified resource type which includes provider namespace. + Type *string `json:"type,omitempty"` +} + +// ErrorDetails error details. +type ErrorDetails struct { + // Error - Object containing error details. + Error *ErrorDetailsInternal `json:"error,omitempty"` +} + +// ErrorDetailsInternal error details. +type ErrorDetailsInternal struct { + // Code - READ-ONLY; The error code. + Code *string `json:"code,omitempty"` + // Message - READ-ONLY; The error message. + Message *string `json:"message,omitempty"` + // Target - READ-ONLY; The target of the particular error. + Target *string `json:"target,omitempty"` +} + +// Operation service REST API operation. +type Operation struct { + // Name - READ-ONLY; Operation name: {provider}/{resource}/{read | write | action | delete} + Name *string `json:"name,omitempty"` + // Origin - READ-ONLY; Default value is 'user,system'. + Origin *string `json:"origin,omitempty"` + // Display - The information displayed about the operation. + Display *OperationDisplay `json:"display,omitempty"` +} + +// OperationDisplay the object that represents the operation. +type OperationDisplay struct { + // Provider - READ-ONLY; Service provider: Microsoft.HealthcareApis + Provider *string `json:"provider,omitempty"` + // Resource - READ-ONLY; Resource Type: Services + Resource *string `json:"resource,omitempty"` + // Operation - READ-ONLY; Name of the operation + Operation *string `json:"operation,omitempty"` + // Description - READ-ONLY; Friendly description for the operation, + Description *string `json:"description,omitempty"` +} + +// OperationListResult a list of service operations. It contains a list of operations and a URL link to get +// the next set of results. +type OperationListResult struct { + autorest.Response `json:"-"` + // NextLink - The link used to get the next page of service description objects. + NextLink *string `json:"nextLink,omitempty"` + // Value - READ-ONLY; A list of service operations supported by the Microsoft.HealthcareApis resource provider. + Value *[]Operation `json:"value,omitempty"` +} + +// OperationListResultIterator provides access to a complete listing of Operation values. +type OperationListResultIterator struct { + i int + page OperationListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *OperationListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/OperationListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *OperationListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter OperationListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter OperationListResultIterator) Response() OperationListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter OperationListResultIterator) Value() Operation { + if !iter.page.NotDone() { + return Operation{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the OperationListResultIterator type. +func NewOperationListResultIterator(page OperationListResultPage) OperationListResultIterator { + return OperationListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (olr OperationListResult) IsEmpty() bool { + return olr.Value == nil || len(*olr.Value) == 0 +} + +// operationListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (olr OperationListResult) operationListResultPreparer(ctx context.Context) (*http.Request, error) { + if olr.NextLink == nil || len(to.String(olr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(olr.NextLink))) +} + +// OperationListResultPage contains a page of Operation values. +type OperationListResultPage struct { + fn func(context.Context, OperationListResult) (OperationListResult, error) + olr OperationListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *OperationListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/OperationListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.olr) + if err != nil { + return err + } + page.olr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *OperationListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page OperationListResultPage) NotDone() bool { + return !page.olr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page OperationListResultPage) Response() OperationListResult { + return page.olr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page OperationListResultPage) Values() []Operation { + if page.olr.IsEmpty() { + return nil + } + return *page.olr.Value +} + +// Creates a new instance of the OperationListResultPage type. +func NewOperationListResultPage(getNextPage func(context.Context, OperationListResult) (OperationListResult, error)) OperationListResultPage { + return OperationListResultPage{fn: getNextPage} +} + +// OperationResultsDescription the properties indicating the operation result of an operation on a service. +type OperationResultsDescription struct { + // ID - READ-ONLY; The ID of the operation returned. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; The name of the operation result. + Name *string `json:"name,omitempty"` + // Status - READ-ONLY; The status of the operation being performed. Possible values include: 'Canceled', 'Succeeded', 'Failed', 'Requested', 'Running' + Status OperationResultStatus `json:"status,omitempty"` + // StartTime - READ-ONLY; The time that the operation was started. + StartTime *string `json:"startTime,omitempty"` + // Properties - Additional properties of the operation result. + Properties interface{} `json:"properties,omitempty"` +} + +// Resource the common properties of a service. +type Resource struct { + // ID - READ-ONLY; The resource identifier. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; The resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; The resource type. + Type *string `json:"type,omitempty"` + // Kind - The kind of the service. Possible values include: 'Fhir', 'FhirStu3', 'FhirR4' + Kind Kind `json:"kind,omitempty"` + // Location - The resource location. + Location *string `json:"location,omitempty"` + // Tags - The resource tags. + Tags map[string]*string `json:"tags"` + // Etag - An etag associated with the resource, used for optimistic concurrency when editing it. + Etag *string `json:"etag,omitempty"` +} + +// MarshalJSON is the custom marshaler for Resource. +func (r Resource) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if r.Kind != "" { + objectMap["kind"] = r.Kind + } + if r.Location != nil { + objectMap["location"] = r.Location + } + if r.Tags != nil { + objectMap["tags"] = r.Tags + } + if r.Etag != nil { + objectMap["etag"] = r.Etag + } + return json.Marshal(objectMap) +} + +// ServiceAccessPolicyEntry an access policy entry. +type ServiceAccessPolicyEntry struct { + // ObjectID - An Azure AD object ID (User or Apps) that is allowed access to the FHIR service. + ObjectID *string `json:"objectId,omitempty"` +} + +// ServiceAuthenticationConfigurationInfo authentication configuration information +type ServiceAuthenticationConfigurationInfo struct { + // Authority - The authority url for the service + Authority *string `json:"authority,omitempty"` + // Audience - The audience url for the service + Audience *string `json:"audience,omitempty"` + // SmartProxyEnabled - If the SMART on FHIR proxy is enabled + SmartProxyEnabled *bool `json:"smartProxyEnabled,omitempty"` +} + +// ServiceCorsConfigurationInfo the settings for the CORS configuration of the service instance. +type ServiceCorsConfigurationInfo struct { + // Origins - The origins to be allowed via CORS. + Origins *[]string `json:"origins,omitempty"` + // Headers - The headers to be allowed via CORS. + Headers *[]string `json:"headers,omitempty"` + // Methods - The methods to be allowed via CORS. + Methods *[]string `json:"methods,omitempty"` + // MaxAge - The max age to be allowed via CORS. + MaxAge *int32 `json:"maxAge,omitempty"` + // AllowCredentials - If credentials are allowed via CORS. + AllowCredentials *bool `json:"allowCredentials,omitempty"` +} + +// ServiceCosmosDbConfigurationInfo the settings for the Cosmos DB database backing the service. +type ServiceCosmosDbConfigurationInfo struct { + // OfferThroughput - The provisioned throughput for the backing database. + OfferThroughput *int32 `json:"offerThroughput,omitempty"` +} + +// ServicesCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type ServicesCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ServicesCreateOrUpdateFuture) Result(client ServicesClient) (sd ServicesDescription, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "healthcareapis.ServicesCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("healthcareapis.ServicesCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if sd.Response.Response, err = future.GetResult(sender); err == nil && sd.Response.Response.StatusCode != http.StatusNoContent { + sd, err = client.CreateOrUpdateResponder(sd.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "healthcareapis.ServicesCreateOrUpdateFuture", "Result", sd.Response.Response, "Failure responding to request") + } + } + return +} + +// ServicesDeleteFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type ServicesDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ServicesDeleteFuture) Result(client ServicesClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "healthcareapis.ServicesDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("healthcareapis.ServicesDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// ServicesDescription the description of the service. +type ServicesDescription struct { + autorest.Response `json:"-"` + // Properties - The common properties of a service. + Properties *ServicesProperties `json:"properties,omitempty"` + // ID - READ-ONLY; The resource identifier. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; The resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; The resource type. + Type *string `json:"type,omitempty"` + // Kind - The kind of the service. Possible values include: 'Fhir', 'FhirStu3', 'FhirR4' + Kind Kind `json:"kind,omitempty"` + // Location - The resource location. + Location *string `json:"location,omitempty"` + // Tags - The resource tags. + Tags map[string]*string `json:"tags"` + // Etag - An etag associated with the resource, used for optimistic concurrency when editing it. + Etag *string `json:"etag,omitempty"` +} + +// MarshalJSON is the custom marshaler for ServicesDescription. +func (sd ServicesDescription) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if sd.Properties != nil { + objectMap["properties"] = sd.Properties + } + if sd.Kind != "" { + objectMap["kind"] = sd.Kind + } + if sd.Location != nil { + objectMap["location"] = sd.Location + } + if sd.Tags != nil { + objectMap["tags"] = sd.Tags + } + if sd.Etag != nil { + objectMap["etag"] = sd.Etag + } + return json.Marshal(objectMap) +} + +// ServicesDescriptionListResult a list of service description objects with a next link. +type ServicesDescriptionListResult struct { + autorest.Response `json:"-"` + // NextLink - The link used to get the next page of service description objects. + NextLink *string `json:"nextLink,omitempty"` + // Value - A list of service description objects. + Value *[]ServicesDescription `json:"value,omitempty"` +} + +// ServicesDescriptionListResultIterator provides access to a complete listing of ServicesDescription +// values. +type ServicesDescriptionListResultIterator struct { + i int + page ServicesDescriptionListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *ServicesDescriptionListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServicesDescriptionListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *ServicesDescriptionListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter ServicesDescriptionListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter ServicesDescriptionListResultIterator) Response() ServicesDescriptionListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter ServicesDescriptionListResultIterator) Value() ServicesDescription { + if !iter.page.NotDone() { + return ServicesDescription{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the ServicesDescriptionListResultIterator type. +func NewServicesDescriptionListResultIterator(page ServicesDescriptionListResultPage) ServicesDescriptionListResultIterator { + return ServicesDescriptionListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (sdlr ServicesDescriptionListResult) IsEmpty() bool { + return sdlr.Value == nil || len(*sdlr.Value) == 0 +} + +// servicesDescriptionListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (sdlr ServicesDescriptionListResult) servicesDescriptionListResultPreparer(ctx context.Context) (*http.Request, error) { + if sdlr.NextLink == nil || len(to.String(sdlr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(sdlr.NextLink))) +} + +// ServicesDescriptionListResultPage contains a page of ServicesDescription values. +type ServicesDescriptionListResultPage struct { + fn func(context.Context, ServicesDescriptionListResult) (ServicesDescriptionListResult, error) + sdlr ServicesDescriptionListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *ServicesDescriptionListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServicesDescriptionListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.sdlr) + if err != nil { + return err + } + page.sdlr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *ServicesDescriptionListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page ServicesDescriptionListResultPage) NotDone() bool { + return !page.sdlr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page ServicesDescriptionListResultPage) Response() ServicesDescriptionListResult { + return page.sdlr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page ServicesDescriptionListResultPage) Values() []ServicesDescription { + if page.sdlr.IsEmpty() { + return nil + } + return *page.sdlr.Value +} + +// Creates a new instance of the ServicesDescriptionListResultPage type. +func NewServicesDescriptionListResultPage(getNextPage func(context.Context, ServicesDescriptionListResult) (ServicesDescriptionListResult, error)) ServicesDescriptionListResultPage { + return ServicesDescriptionListResultPage{fn: getNextPage} +} + +// ServicesNameAvailabilityInfo the properties indicating whether a given service name is available. +type ServicesNameAvailabilityInfo struct { + autorest.Response `json:"-"` + // NameAvailable - READ-ONLY; The value which indicates whether the provided name is available. + NameAvailable *bool `json:"nameAvailable,omitempty"` + // Reason - READ-ONLY; The reason for unavailability. Possible values include: 'Invalid', 'AlreadyExists' + Reason ServiceNameUnavailabilityReason `json:"reason,omitempty"` + // Message - The detailed reason message. + Message *string `json:"message,omitempty"` +} + +// ServicesPatchDescription the description of the service. +type ServicesPatchDescription struct { + // Tags - Instance tags + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for ServicesPatchDescription. +func (spd ServicesPatchDescription) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if spd.Tags != nil { + objectMap["tags"] = spd.Tags + } + return json.Marshal(objectMap) +} + +// ServicesProperties the properties of a service instance. +type ServicesProperties struct { + // ProvisioningState - READ-ONLY; The provisioning state. Possible values include: 'ProvisioningStateDeleting', 'ProvisioningStateSucceeded', 'ProvisioningStateCreating', 'ProvisioningStateAccepted', 'ProvisioningStateVerifying', 'ProvisioningStateUpdating', 'ProvisioningStateFailed', 'ProvisioningStateCanceled', 'ProvisioningStateDeprovisioned' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + // AccessPolicies - The access policies of the service instance. + AccessPolicies *[]ServiceAccessPolicyEntry `json:"accessPolicies,omitempty"` + // CosmosDbConfiguration - The settings for the Cosmos DB database backing the service. + CosmosDbConfiguration *ServiceCosmosDbConfigurationInfo `json:"cosmosDbConfiguration,omitempty"` + // AuthenticationConfiguration - The authentication configuration for the service instance. + AuthenticationConfiguration *ServiceAuthenticationConfigurationInfo `json:"authenticationConfiguration,omitempty"` + // CorsConfiguration - The settings for the CORS configuration of the service instance. + CorsConfiguration *ServiceCorsConfigurationInfo `json:"corsConfiguration,omitempty"` +} + +// ServicesUpdateFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type ServicesUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ServicesUpdateFuture) Result(client ServicesClient) (sd ServicesDescription, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "healthcareapis.ServicesUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("healthcareapis.ServicesUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if sd.Response.Response, err = future.GetResult(sender); err == nil && sd.Response.Response.StatusCode != http.StatusNoContent { + sd, err = client.UpdateResponder(sd.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "healthcareapis.ServicesUpdateFuture", "Result", sd.Response.Response, "Failure responding to request") + } + } + return +} + +// SetObject ... +type SetObject struct { + autorest.Response `json:"-"` + Value interface{} `json:"value,omitempty"` +} diff --git a/services/healthcareapis/mgmt/2019-09-16/healthcareapis/operationresults.go b/services/healthcareapis/mgmt/2019-09-16/healthcareapis/operationresults.go new file mode 100644 index 000000000000..10f2174c33df --- /dev/null +++ b/services/healthcareapis/mgmt/2019-09-16/healthcareapis/operationresults.go @@ -0,0 +1,118 @@ +package healthcareapis + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// OperationResultsClient is the azure Healthcare APIs Client +type OperationResultsClient struct { + BaseClient +} + +// NewOperationResultsClient creates an instance of the OperationResultsClient client. +func NewOperationResultsClient(subscriptionID string) OperationResultsClient { + return NewOperationResultsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewOperationResultsClientWithBaseURI creates an instance of the OperationResultsClient client. +func NewOperationResultsClientWithBaseURI(baseURI string, subscriptionID string) OperationResultsClient { + return OperationResultsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// Get get the operation result for a long running operation. +// Parameters: +// locationName - the location of the operation. +// operationResultID - the ID of the operation result to get. +func (client OperationResultsClient) Get(ctx context.Context, locationName string, operationResultID string) (result SetObject, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/OperationResultsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, locationName, operationResultID) + if err != nil { + err = autorest.NewErrorWithError(err, "healthcareapis.OperationResultsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "healthcareapis.OperationResultsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "healthcareapis.OperationResultsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client OperationResultsClient) GetPreparer(ctx context.Context, locationName string, operationResultID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "locationName": autorest.Encode("path", locationName), + "operationResultId": autorest.Encode("path", operationResultID), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-09-16" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.HealthcareApis/locations/{locationName}/operationresults/{operationResultId}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client OperationResultsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client OperationResultsClient) GetResponder(resp *http.Response) (result SetObject, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result.Value), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/preview/servicefabric/mgmt/2019-03-01/servicefabric/operations.go b/services/healthcareapis/mgmt/2019-09-16/healthcareapis/operations.go similarity index 80% rename from services/preview/servicefabric/mgmt/2019-03-01/servicefabric/operations.go rename to services/healthcareapis/mgmt/2019-09-16/healthcareapis/operations.go index 212b6ff8ee34..5acb766ce32c 100644 --- a/services/preview/servicefabric/mgmt/2019-03-01/servicefabric/operations.go +++ b/services/healthcareapis/mgmt/2019-09-16/healthcareapis/operations.go @@ -1,4 +1,4 @@ -package servicefabric +package healthcareapis // Copyright (c) Microsoft and contributors. All rights reserved. // @@ -25,7 +25,7 @@ import ( "net/http" ) -// OperationsClient is the service Fabric Management Client +// OperationsClient is the azure Healthcare APIs Client type OperationsClient struct { BaseClient } @@ -40,7 +40,7 @@ func NewOperationsClientWithBaseURI(baseURI string, subscriptionID string) Opera return OperationsClient{NewWithBaseURI(baseURI, subscriptionID)} } -// List get the list of available Service Fabric resource provider API operations. +// List lists all of the available Healthcare service REST API operations. func (client OperationsClient) List(ctx context.Context) (result OperationListResultPage, err error) { if tracing.IsEnabled() { ctx = tracing.StartSpan(ctx, fqdn+"/OperationsClient.List") @@ -55,20 +55,20 @@ func (client OperationsClient) List(ctx context.Context) (result OperationListRe result.fn = client.listNextResults req, err := client.ListPreparer(ctx) if err != nil { - err = autorest.NewErrorWithError(err, "servicefabric.OperationsClient", "List", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "healthcareapis.OperationsClient", "List", nil, "Failure preparing request") return } resp, err := client.ListSender(req) if err != nil { result.olr.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "servicefabric.OperationsClient", "List", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "healthcareapis.OperationsClient", "List", resp, "Failure sending request") return } result.olr, err = client.ListResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "servicefabric.OperationsClient", "List", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "healthcareapis.OperationsClient", "List", resp, "Failure responding to request") } return @@ -76,7 +76,7 @@ func (client OperationsClient) List(ctx context.Context) (result OperationListRe // ListPreparer prepares the List request. func (client OperationsClient) ListPreparer(ctx context.Context) (*http.Request, error) { - const APIVersion = "2019-03-01-preview" + const APIVersion = "2019-09-16" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -84,7 +84,7 @@ func (client OperationsClient) ListPreparer(ctx context.Context) (*http.Request, preparer := autorest.CreatePreparer( autorest.AsGet(), autorest.WithBaseURL(client.BaseURI), - autorest.WithPath("/providers/Microsoft.ServiceFabric/operations"), + autorest.WithPath("/providers/Microsoft.HealthcareApis/operations"), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) } @@ -113,7 +113,7 @@ func (client OperationsClient) ListResponder(resp *http.Response) (result Operat func (client OperationsClient) listNextResults(ctx context.Context, lastResults OperationListResult) (result OperationListResult, err error) { req, err := lastResults.operationListResultPreparer(ctx) if err != nil { - return result, autorest.NewErrorWithError(err, "servicefabric.OperationsClient", "listNextResults", nil, "Failure preparing next results request") + return result, autorest.NewErrorWithError(err, "healthcareapis.OperationsClient", "listNextResults", nil, "Failure preparing next results request") } if req == nil { return @@ -121,11 +121,11 @@ func (client OperationsClient) listNextResults(ctx context.Context, lastResults resp, err := client.ListSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "servicefabric.OperationsClient", "listNextResults", resp, "Failure sending next results request") + return result, autorest.NewErrorWithError(err, "healthcareapis.OperationsClient", "listNextResults", resp, "Failure sending next results request") } result, err = client.ListResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "servicefabric.OperationsClient", "listNextResults", resp, "Failure responding to next results request") + err = autorest.NewErrorWithError(err, "healthcareapis.OperationsClient", "listNextResults", resp, "Failure responding to next results request") } return } diff --git a/services/healthcareapis/mgmt/2019-09-16/healthcareapis/services.go b/services/healthcareapis/mgmt/2019-09-16/healthcareapis/services.go new file mode 100644 index 000000000000..129dd2f0fc13 --- /dev/null +++ b/services/healthcareapis/mgmt/2019-09-16/healthcareapis/services.go @@ -0,0 +1,730 @@ +package healthcareapis + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// ServicesClient is the azure Healthcare APIs Client +type ServicesClient struct { + BaseClient +} + +// NewServicesClient creates an instance of the ServicesClient client. +func NewServicesClient(subscriptionID string) ServicesClient { + return NewServicesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewServicesClientWithBaseURI creates an instance of the ServicesClient client. +func NewServicesClientWithBaseURI(baseURI string, subscriptionID string) ServicesClient { + return ServicesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CheckNameAvailability check if a service instance name is available. +// Parameters: +// checkNameAvailabilityInputs - set the name parameter in the CheckNameAvailabilityParameters structure to the +// name of the service instance to check. +func (client ServicesClient) CheckNameAvailability(ctx context.Context, checkNameAvailabilityInputs CheckNameAvailabilityParameters) (result ServicesNameAvailabilityInfo, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServicesClient.CheckNameAvailability") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: checkNameAvailabilityInputs, + Constraints: []validation.Constraint{{Target: "checkNameAvailabilityInputs.Name", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "checkNameAvailabilityInputs.Type", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + return result, validation.NewError("healthcareapis.ServicesClient", "CheckNameAvailability", err.Error()) + } + + req, err := client.CheckNameAvailabilityPreparer(ctx, checkNameAvailabilityInputs) + if err != nil { + err = autorest.NewErrorWithError(err, "healthcareapis.ServicesClient", "CheckNameAvailability", nil, "Failure preparing request") + return + } + + resp, err := client.CheckNameAvailabilitySender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "healthcareapis.ServicesClient", "CheckNameAvailability", resp, "Failure sending request") + return + } + + result, err = client.CheckNameAvailabilityResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "healthcareapis.ServicesClient", "CheckNameAvailability", resp, "Failure responding to request") + } + + return +} + +// CheckNameAvailabilityPreparer prepares the CheckNameAvailability request. +func (client ServicesClient) CheckNameAvailabilityPreparer(ctx context.Context, checkNameAvailabilityInputs CheckNameAvailabilityParameters) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-09-16" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.HealthcareApis/checkNameAvailability", pathParameters), + autorest.WithJSON(checkNameAvailabilityInputs), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CheckNameAvailabilitySender sends the CheckNameAvailability request. The method will close the +// http.Response Body if it receives an error. +func (client ServicesClient) CheckNameAvailabilitySender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CheckNameAvailabilityResponder handles the response to the CheckNameAvailability request. The method always +// closes the http.Response Body. +func (client ServicesClient) CheckNameAvailabilityResponder(resp *http.Response) (result ServicesNameAvailabilityInfo, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// CreateOrUpdate create or update the metadata of a service instance. +// Parameters: +// resourceGroupName - the name of the resource group that contains the service instance. +// resourceName - the name of the service instance. +// serviceDescription - the service instance metadata. +func (client ServicesClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, resourceName string, serviceDescription ServicesDescription) (result ServicesCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServicesClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}, + {TargetValue: resourceName, + Constraints: []validation.Constraint{{Target: "resourceName", Name: validation.MaxLength, Rule: 24, Chain: nil}, + {Target: "resourceName", Name: validation.MinLength, Rule: 3, Chain: nil}}}, + {TargetValue: serviceDescription, + Constraints: []validation.Constraint{{Target: "serviceDescription.Properties", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "serviceDescription.Properties.AccessPolicies", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "serviceDescription.Properties.CosmosDbConfiguration", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "serviceDescription.Properties.CosmosDbConfiguration.OfferThroughput", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "serviceDescription.Properties.CosmosDbConfiguration.OfferThroughput", Name: validation.InclusiveMaximum, Rule: int64(10000), Chain: nil}, + {Target: "serviceDescription.Properties.CosmosDbConfiguration.OfferThroughput", Name: validation.InclusiveMinimum, Rule: 400, Chain: nil}, + }}, + }}, + {Target: "serviceDescription.Properties.CorsConfiguration", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "serviceDescription.Properties.CorsConfiguration.MaxAge", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "serviceDescription.Properties.CorsConfiguration.MaxAge", Name: validation.InclusiveMaximum, Rule: int64(99999), Chain: nil}, + {Target: "serviceDescription.Properties.CorsConfiguration.MaxAge", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}, + }}, + }}, + }}}}}); err != nil { + return result, validation.NewError("healthcareapis.ServicesClient", "CreateOrUpdate", err.Error()) + } + + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, resourceName, serviceDescription) + if err != nil { + err = autorest.NewErrorWithError(err, "healthcareapis.ServicesClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "healthcareapis.ServicesClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client ServicesClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, resourceName string, serviceDescription ServicesDescription) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "resourceName": autorest.Encode("path", resourceName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-09-16" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HealthcareApis/services/{resourceName}", pathParameters), + autorest.WithJSON(serviceDescription), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client ServicesClient) CreateOrUpdateSender(req *http.Request) (future ServicesCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client ServicesClient) CreateOrUpdateResponder(resp *http.Response) (result ServicesDescription, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete delete a service instance. +// Parameters: +// resourceGroupName - the name of the resource group that contains the service instance. +// resourceName - the name of the service instance. +func (client ServicesClient) Delete(ctx context.Context, resourceGroupName string, resourceName string) (result ServicesDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServicesClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}, + {TargetValue: resourceName, + Constraints: []validation.Constraint{{Target: "resourceName", Name: validation.MaxLength, Rule: 24, Chain: nil}, + {Target: "resourceName", Name: validation.MinLength, Rule: 3, Chain: nil}}}}); err != nil { + return result, validation.NewError("healthcareapis.ServicesClient", "Delete", err.Error()) + } + + req, err := client.DeletePreparer(ctx, resourceGroupName, resourceName) + if err != nil { + err = autorest.NewErrorWithError(err, "healthcareapis.ServicesClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "healthcareapis.ServicesClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client ServicesClient) DeletePreparer(ctx context.Context, resourceGroupName string, resourceName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "resourceName": autorest.Encode("path", resourceName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-09-16" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HealthcareApis/services/{resourceName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client ServicesClient) DeleteSender(req *http.Request) (future ServicesDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client ServicesClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get get the metadata of a service instance. +// Parameters: +// resourceGroupName - the name of the resource group that contains the service instance. +// resourceName - the name of the service instance. +func (client ServicesClient) Get(ctx context.Context, resourceGroupName string, resourceName string) (result ServicesDescription, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServicesClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}, + {TargetValue: resourceName, + Constraints: []validation.Constraint{{Target: "resourceName", Name: validation.MaxLength, Rule: 24, Chain: nil}, + {Target: "resourceName", Name: validation.MinLength, Rule: 3, Chain: nil}}}}); err != nil { + return result, validation.NewError("healthcareapis.ServicesClient", "Get", err.Error()) + } + + req, err := client.GetPreparer(ctx, resourceGroupName, resourceName) + if err != nil { + err = autorest.NewErrorWithError(err, "healthcareapis.ServicesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "healthcareapis.ServicesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "healthcareapis.ServicesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client ServicesClient) GetPreparer(ctx context.Context, resourceGroupName string, resourceName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "resourceName": autorest.Encode("path", resourceName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-09-16" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HealthcareApis/services/{resourceName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client ServicesClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client ServicesClient) GetResponder(resp *http.Response) (result ServicesDescription, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List get all the service instances in a subscription. +func (client ServicesClient) List(ctx context.Context) (result ServicesDescriptionListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServicesClient.List") + defer func() { + sc := -1 + if result.sdlr.Response.Response != nil { + sc = result.sdlr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "healthcareapis.ServicesClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.sdlr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "healthcareapis.ServicesClient", "List", resp, "Failure sending request") + return + } + + result.sdlr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "healthcareapis.ServicesClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client ServicesClient) ListPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-09-16" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.HealthcareApis/services", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client ServicesClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client ServicesClient) ListResponder(resp *http.Response) (result ServicesDescriptionListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client ServicesClient) listNextResults(ctx context.Context, lastResults ServicesDescriptionListResult) (result ServicesDescriptionListResult, err error) { + req, err := lastResults.servicesDescriptionListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "healthcareapis.ServicesClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "healthcareapis.ServicesClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "healthcareapis.ServicesClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client ServicesClient) ListComplete(ctx context.Context) (result ServicesDescriptionListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServicesClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx) + return +} + +// ListByResourceGroup get all the service instances in a resource group. +// Parameters: +// resourceGroupName - the name of the resource group that contains the service instance. +func (client ServicesClient) ListByResourceGroup(ctx context.Context, resourceGroupName string) (result ServicesDescriptionListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServicesClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.sdlr.Response.Response != nil { + sc = result.sdlr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("healthcareapis.ServicesClient", "ListByResourceGroup", err.Error()) + } + + result.fn = client.listByResourceGroupNextResults + req, err := client.ListByResourceGroupPreparer(ctx, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "healthcareapis.ServicesClient", "ListByResourceGroup", nil, "Failure preparing request") + return + } + + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.sdlr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "healthcareapis.ServicesClient", "ListByResourceGroup", resp, "Failure sending request") + return + } + + result.sdlr, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "healthcareapis.ServicesClient", "ListByResourceGroup", resp, "Failure responding to request") + } + + return +} + +// ListByResourceGroupPreparer prepares the ListByResourceGroup request. +func (client ServicesClient) ListByResourceGroupPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-09-16" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HealthcareApis/services", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByResourceGroupSender sends the ListByResourceGroup request. The method will close the +// http.Response Body if it receives an error. +func (client ServicesClient) ListByResourceGroupSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByResourceGroupResponder handles the response to the ListByResourceGroup request. The method always +// closes the http.Response Body. +func (client ServicesClient) ListByResourceGroupResponder(resp *http.Response) (result ServicesDescriptionListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listByResourceGroupNextResults retrieves the next set of results, if any. +func (client ServicesClient) listByResourceGroupNextResults(ctx context.Context, lastResults ServicesDescriptionListResult) (result ServicesDescriptionListResult, err error) { + req, err := lastResults.servicesDescriptionListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "healthcareapis.ServicesClient", "listByResourceGroupNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "healthcareapis.ServicesClient", "listByResourceGroupNextResults", resp, "Failure sending next results request") + } + result, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "healthcareapis.ServicesClient", "listByResourceGroupNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListByResourceGroupComplete enumerates all values, automatically crossing page boundaries as required. +func (client ServicesClient) ListByResourceGroupComplete(ctx context.Context, resourceGroupName string) (result ServicesDescriptionListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServicesClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListByResourceGroup(ctx, resourceGroupName) + return +} + +// Update update the metadata of a service instance. +// Parameters: +// resourceGroupName - the name of the resource group that contains the service instance. +// resourceName - the name of the service instance. +// servicePatchDescription - the service instance metadata and security metadata. +func (client ServicesClient) Update(ctx context.Context, resourceGroupName string, resourceName string, servicePatchDescription ServicesPatchDescription) (result ServicesUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServicesClient.Update") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}, + {TargetValue: resourceName, + Constraints: []validation.Constraint{{Target: "resourceName", Name: validation.MaxLength, Rule: 24, Chain: nil}, + {Target: "resourceName", Name: validation.MinLength, Rule: 3, Chain: nil}}}}); err != nil { + return result, validation.NewError("healthcareapis.ServicesClient", "Update", err.Error()) + } + + req, err := client.UpdatePreparer(ctx, resourceGroupName, resourceName, servicePatchDescription) + if err != nil { + err = autorest.NewErrorWithError(err, "healthcareapis.ServicesClient", "Update", nil, "Failure preparing request") + return + } + + result, err = client.UpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "healthcareapis.ServicesClient", "Update", result.Response(), "Failure sending request") + return + } + + return +} + +// UpdatePreparer prepares the Update request. +func (client ServicesClient) UpdatePreparer(ctx context.Context, resourceGroupName string, resourceName string, servicePatchDescription ServicesPatchDescription) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "resourceName": autorest.Encode("path", resourceName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-09-16" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HealthcareApis/services/{resourceName}", pathParameters), + autorest.WithJSON(servicePatchDescription), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateSender sends the Update request. The method will close the +// http.Response Body if it receives an error. +func (client ServicesClient) UpdateSender(req *http.Request) (future ServicesUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// UpdateResponder handles the response to the Update request. The method always +// closes the http.Response Body. +func (client ServicesClient) UpdateResponder(resp *http.Response) (result ServicesDescription, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/healthcareapis/mgmt/2019-09-16/healthcareapis/version.go b/services/healthcareapis/mgmt/2019-09-16/healthcareapis/version.go new file mode 100644 index 000000000000..f7a574efeb9b --- /dev/null +++ b/services/healthcareapis/mgmt/2019-09-16/healthcareapis/version.go @@ -0,0 +1,30 @@ +package healthcareapis + +import "github.com/Azure/azure-sdk-for-go/version" + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +// UserAgent returns the UserAgent string to use when sending http.Requests. +func UserAgent() string { + return "Azure-SDK-For-Go/" + version.Number + " healthcareapis/2019-09-16" +} + +// Version returns the semantic version (see http://semver.org) of the client. +func Version() string { + return version.Number +} diff --git a/services/keyvault/2015-06-01/keyvault/models.go b/services/keyvault/2015-06-01/keyvault/models.go index b67b5d1930bd..e55201488211 100644 --- a/services/keyvault/2015-06-01/keyvault/models.go +++ b/services/keyvault/2015-06-01/keyvault/models.go @@ -180,13 +180,13 @@ type AdministratorDetails struct { type Attributes struct { // Enabled - Determines whether the object is enabled Enabled *bool `json:"enabled,omitempty"` - // NotBefore - Not before date in UTC + // NotBefore - Not before date in seconds since 1970-01-01T00:00:00Z NotBefore *date.UnixTime `json:"nbf,omitempty"` - // Expires - Expiry date in UTC + // Expires - Expiry date in seconds since 1970-01-01T00:00:00Z Expires *date.UnixTime `json:"exp,omitempty"` - // Created - READ-ONLY; Creation time in UTC + // Created - READ-ONLY; Creation time in seconds since 1970-01-01T00:00:00Z Created *date.UnixTime `json:"created,omitempty"` - // Updated - READ-ONLY; Last updated time in UTC + // Updated - READ-ONLY; Last updated time in seconds since 1970-01-01T00:00:00Z Updated *date.UnixTime `json:"updated,omitempty"` } @@ -201,13 +201,13 @@ type BackupKeyResult struct { type CertificateAttributes struct { // Enabled - Determines whether the object is enabled Enabled *bool `json:"enabled,omitempty"` - // NotBefore - Not before date in UTC + // NotBefore - Not before date in seconds since 1970-01-01T00:00:00Z NotBefore *date.UnixTime `json:"nbf,omitempty"` - // Expires - Expiry date in UTC + // Expires - Expiry date in seconds since 1970-01-01T00:00:00Z Expires *date.UnixTime `json:"exp,omitempty"` - // Created - READ-ONLY; Creation time in UTC + // Created - READ-ONLY; Creation time in seconds since 1970-01-01T00:00:00Z Created *date.UnixTime `json:"created,omitempty"` - // Updated - READ-ONLY; Last updated time in UTC + // Updated - READ-ONLY; Last updated time in seconds since 1970-01-01T00:00:00Z Updated *date.UnixTime `json:"updated,omitempty"` } @@ -802,9 +802,9 @@ type ErrorType struct { type IssuerAttributes struct { // Enabled - Determines whether the issuer is enabled Enabled *bool `json:"enabled,omitempty"` - // Created - READ-ONLY; Creation time in UTC + // Created - READ-ONLY; Creation time in seconds since 1970-01-01T00:00:00Z Created *date.UnixTime `json:"created,omitempty"` - // Updated - READ-ONLY; Last updated time in UTC + // Updated - READ-ONLY; Last updated time in seconds since 1970-01-01T00:00:00Z Updated *date.UnixTime `json:"updated,omitempty"` } @@ -872,13 +872,13 @@ type JSONWebKey struct { type KeyAttributes struct { // Enabled - Determines whether the object is enabled Enabled *bool `json:"enabled,omitempty"` - // NotBefore - Not before date in UTC + // NotBefore - Not before date in seconds since 1970-01-01T00:00:00Z NotBefore *date.UnixTime `json:"nbf,omitempty"` - // Expires - Expiry date in UTC + // Expires - Expiry date in seconds since 1970-01-01T00:00:00Z Expires *date.UnixTime `json:"exp,omitempty"` - // Created - READ-ONLY; Creation time in UTC + // Created - READ-ONLY; Creation time in seconds since 1970-01-01T00:00:00Z Created *date.UnixTime `json:"created,omitempty"` - // Updated - READ-ONLY; Last updated time in UTC + // Updated - READ-ONLY; Last updated time in seconds since 1970-01-01T00:00:00Z Updated *date.UnixTime `json:"updated,omitempty"` } @@ -1257,13 +1257,13 @@ type PendingCertificateSigningRequestResult struct { type SecretAttributes struct { // Enabled - Determines whether the object is enabled Enabled *bool `json:"enabled,omitempty"` - // NotBefore - Not before date in UTC + // NotBefore - Not before date in seconds since 1970-01-01T00:00:00Z NotBefore *date.UnixTime `json:"nbf,omitempty"` - // Expires - Expiry date in UTC + // Expires - Expiry date in seconds since 1970-01-01T00:00:00Z Expires *date.UnixTime `json:"exp,omitempty"` - // Created - READ-ONLY; Creation time in UTC + // Created - READ-ONLY; Creation time in seconds since 1970-01-01T00:00:00Z Created *date.UnixTime `json:"created,omitempty"` - // Updated - READ-ONLY; Last updated time in UTC + // Updated - READ-ONLY; Last updated time in seconds since 1970-01-01T00:00:00Z Updated *date.UnixTime `json:"updated,omitempty"` } diff --git a/services/keyvault/auth/auth.go b/services/keyvault/auth/auth.go deleted file mode 100644 index 8afaf859ac2f..000000000000 --- a/services/keyvault/auth/auth.go +++ /dev/null @@ -1,77 +0,0 @@ -package auth - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. - -import ( - "os" - "strings" - - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/autorest/azure/auth" -) - -// NewAuthorizerFromEnvironment creates a keyvault dataplane Authorizer configured from environment variables in the order: -// 1. Client credentials -// 2. Client certificate -// 3. Username password -// 4. MSI -func NewAuthorizerFromEnvironment() (autorest.Authorizer, error) { - res, err := getResource() - if err != nil { - return nil, err - } - return auth.NewAuthorizerFromEnvironmentWithResource(*res) -} - -// NewAuthorizerFromFile creates a keyvault dataplane Authorizer configured from a configuration file -func NewAuthorizerFromFile(baseURI string) (autorest.Authorizer, error) { - res, err := getResource() - if err != nil { - return nil, err - } - return auth.NewAuthorizerFromFileWithResource(*res) -} - -// NewAuthorizerFromCLI creates a keyvault dataplane Authorizer configured from Azure CLI 2.0 for local development scenarios. -func NewAuthorizerFromCLI() (autorest.Authorizer, error) { - res, err := getResource() - if err != nil { - return nil, err - } - return auth.NewAuthorizerFromCLIWithResource(*res) -} - -func getResource() (*string, error) { - envName := os.Getenv("AZURE_ENVIRONMENT") - var env azure.Environment - var err error - - if envName == "" { - env = azure.PublicCloud - } else { - env, err = azure.EnvironmentFromName(envName) - if err != nil { - return nil, err - } - } - - resource := os.Getenv("AZURE_KEYVAULT_RESOURCE") - if resource == "" { - resource = strings.TrimSuffix(env.KeyVaultEndpoint, "/") - } - - return &resource, nil -} diff --git a/services/kusto/mgmt/2019-05-15/kusto/models.go b/services/kusto/mgmt/2019-05-15/kusto/models.go index 5860664762ec..013aac2aa229 100644 --- a/services/kusto/mgmt/2019-05-15/kusto/models.go +++ b/services/kusto/mgmt/2019-05-15/kusto/models.go @@ -161,13 +161,15 @@ const ( SOHSV DataFormat = "SOHSV" // TSV ... TSV DataFormat = "TSV" + // TSVE ... + TSVE DataFormat = "TSVE" // TXT ... TXT DataFormat = "TXT" ) // PossibleDataFormatValues returns an array of possible values for the DataFormat const type. func PossibleDataFormatValues() []DataFormat { - return []DataFormat{AVRO, CSV, JSON, MULTIJSON, PSV, RAW, SCSV, SINGLEJSON, SOHSV, TSV, TXT} + return []DataFormat{AVRO, CSV, JSON, MULTIJSON, PSV, RAW, SCSV, SINGLEJSON, SOHSV, TSV, TSVE, TXT} } // Kind enumerates the values for kind. @@ -1363,7 +1365,7 @@ type EventGridConnectionProperties struct { TableName *string `json:"tableName,omitempty"` // MappingRuleName - The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message. MappingRuleName *string `json:"mappingRuleName,omitempty"` - // DataFormat - The data format of the message. Optionally the data format can be added to each message. Possible values include: 'MULTIJSON', 'JSON', 'CSV', 'TSV', 'SCSV', 'SOHSV', 'PSV', 'TXT', 'RAW', 'SINGLEJSON', 'AVRO' + // DataFormat - The data format of the message. Optionally the data format can be added to each message. Possible values include: 'MULTIJSON', 'JSON', 'CSV', 'TSV', 'SCSV', 'SOHSV', 'PSV', 'TXT', 'RAW', 'SINGLEJSON', 'AVRO', 'TSVE' DataFormat DataFormat `json:"dataFormat,omitempty"` } @@ -1503,7 +1505,7 @@ type EventHubConnectionProperties struct { TableName *string `json:"tableName,omitempty"` // MappingRuleName - The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message. MappingRuleName *string `json:"mappingRuleName,omitempty"` - // DataFormat - The data format of the message. Optionally the data format can be added to each message. Possible values include: 'MULTIJSON', 'JSON', 'CSV', 'TSV', 'SCSV', 'SOHSV', 'PSV', 'TXT', 'RAW', 'SINGLEJSON', 'AVRO' + // DataFormat - The data format of the message. Optionally the data format can be added to each message. Possible values include: 'MULTIJSON', 'JSON', 'CSV', 'TSV', 'SCSV', 'SOHSV', 'PSV', 'TXT', 'RAW', 'SINGLEJSON', 'AVRO', 'TSVE' DataFormat DataFormat `json:"dataFormat,omitempty"` // EventSystemProperties - System properties of the event hub EventSystemProperties *[]string `json:"eventSystemProperties,omitempty"` @@ -1645,7 +1647,7 @@ type IotHubConnectionProperties struct { TableName *string `json:"tableName,omitempty"` // MappingRuleName - The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message. MappingRuleName *string `json:"mappingRuleName,omitempty"` - // DataFormat - The data format of the message. Optionally the data format can be added to each message. Possible values include: 'MULTIJSON', 'JSON', 'CSV', 'TSV', 'SCSV', 'SOHSV', 'PSV', 'TXT', 'RAW', 'SINGLEJSON', 'AVRO' + // DataFormat - The data format of the message. Optionally the data format can be added to each message. Possible values include: 'MULTIJSON', 'JSON', 'CSV', 'TSV', 'SCSV', 'SOHSV', 'PSV', 'TXT', 'RAW', 'SINGLEJSON', 'AVRO', 'TSVE' DataFormat DataFormat `json:"dataFormat,omitempty"` // EventSystemProperties - System properties of the iot hub EventSystemProperties *[]string `json:"eventSystemProperties,omitempty"` diff --git a/services/kusto/mgmt/2019-09-07/kusto/attacheddatabaseconfigurations.go b/services/kusto/mgmt/2019-09-07/kusto/attacheddatabaseconfigurations.go new file mode 100644 index 000000000000..c2d6c459235b --- /dev/null +++ b/services/kusto/mgmt/2019-09-07/kusto/attacheddatabaseconfigurations.go @@ -0,0 +1,370 @@ +package kusto + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// AttachedDatabaseConfigurationsClient is the the Azure Kusto management API provides a RESTful set of web services +// that interact with Azure Kusto services to manage your clusters and databases. The API enables you to create, +// update, and delete clusters and databases. +type AttachedDatabaseConfigurationsClient struct { + BaseClient +} + +// NewAttachedDatabaseConfigurationsClient creates an instance of the AttachedDatabaseConfigurationsClient client. +func NewAttachedDatabaseConfigurationsClient(subscriptionID string) AttachedDatabaseConfigurationsClient { + return NewAttachedDatabaseConfigurationsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewAttachedDatabaseConfigurationsClientWithBaseURI creates an instance of the AttachedDatabaseConfigurationsClient +// client. +func NewAttachedDatabaseConfigurationsClientWithBaseURI(baseURI string, subscriptionID string) AttachedDatabaseConfigurationsClient { + return AttachedDatabaseConfigurationsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates an attached database configuration. +// Parameters: +// resourceGroupName - the name of the resource group containing the Kusto cluster. +// clusterName - the name of the Kusto cluster. +// attachedDatabaseConfigurationName - the name of the attached database configuration. +// parameters - the database parameters supplied to the CreateOrUpdate operation. +func (client AttachedDatabaseConfigurationsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, clusterName string, attachedDatabaseConfigurationName string, parameters AttachedDatabaseConfiguration) (result AttachedDatabaseConfigurationsCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AttachedDatabaseConfigurationsClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.AttachedDatabaseConfigurationProperties", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.AttachedDatabaseConfigurationProperties.DatabaseName", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "parameters.AttachedDatabaseConfigurationProperties.ClusterResourceID", Name: validation.Null, Rule: true, Chain: nil}, + }}}}}); err != nil { + return result, validation.NewError("kusto.AttachedDatabaseConfigurationsClient", "CreateOrUpdate", err.Error()) + } + + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, clusterName, attachedDatabaseConfigurationName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "kusto.AttachedDatabaseConfigurationsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "kusto.AttachedDatabaseConfigurationsClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client AttachedDatabaseConfigurationsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, clusterName string, attachedDatabaseConfigurationName string, parameters AttachedDatabaseConfiguration) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "attachedDatabaseConfigurationName": autorest.Encode("path", attachedDatabaseConfigurationName), + "clusterName": autorest.Encode("path", clusterName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-09-07" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/attachedDatabaseConfigurations/{attachedDatabaseConfigurationName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client AttachedDatabaseConfigurationsClient) CreateOrUpdateSender(req *http.Request) (future AttachedDatabaseConfigurationsCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client AttachedDatabaseConfigurationsClient) CreateOrUpdateResponder(resp *http.Response) (result AttachedDatabaseConfiguration, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the attached database configuration with the given name. +// Parameters: +// resourceGroupName - the name of the resource group containing the Kusto cluster. +// clusterName - the name of the Kusto cluster. +// attachedDatabaseConfigurationName - the name of the attached database configuration. +func (client AttachedDatabaseConfigurationsClient) Delete(ctx context.Context, resourceGroupName string, clusterName string, attachedDatabaseConfigurationName string) (result AttachedDatabaseConfigurationsDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AttachedDatabaseConfigurationsClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, clusterName, attachedDatabaseConfigurationName) + if err != nil { + err = autorest.NewErrorWithError(err, "kusto.AttachedDatabaseConfigurationsClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "kusto.AttachedDatabaseConfigurationsClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client AttachedDatabaseConfigurationsClient) DeletePreparer(ctx context.Context, resourceGroupName string, clusterName string, attachedDatabaseConfigurationName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "attachedDatabaseConfigurationName": autorest.Encode("path", attachedDatabaseConfigurationName), + "clusterName": autorest.Encode("path", clusterName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-09-07" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/attachedDatabaseConfigurations/{attachedDatabaseConfigurationName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client AttachedDatabaseConfigurationsClient) DeleteSender(req *http.Request) (future AttachedDatabaseConfigurationsDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client AttachedDatabaseConfigurationsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get returns an attached database configuration. +// Parameters: +// resourceGroupName - the name of the resource group containing the Kusto cluster. +// clusterName - the name of the Kusto cluster. +// attachedDatabaseConfigurationName - the name of the attached database configuration. +func (client AttachedDatabaseConfigurationsClient) Get(ctx context.Context, resourceGroupName string, clusterName string, attachedDatabaseConfigurationName string) (result AttachedDatabaseConfiguration, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AttachedDatabaseConfigurationsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, clusterName, attachedDatabaseConfigurationName) + if err != nil { + err = autorest.NewErrorWithError(err, "kusto.AttachedDatabaseConfigurationsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "kusto.AttachedDatabaseConfigurationsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "kusto.AttachedDatabaseConfigurationsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client AttachedDatabaseConfigurationsClient) GetPreparer(ctx context.Context, resourceGroupName string, clusterName string, attachedDatabaseConfigurationName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "attachedDatabaseConfigurationName": autorest.Encode("path", attachedDatabaseConfigurationName), + "clusterName": autorest.Encode("path", clusterName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-09-07" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/attachedDatabaseConfigurations/{attachedDatabaseConfigurationName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client AttachedDatabaseConfigurationsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client AttachedDatabaseConfigurationsClient) GetResponder(resp *http.Response) (result AttachedDatabaseConfiguration, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByCluster returns the list of attached database configurations of the given Kusto cluster. +// Parameters: +// resourceGroupName - the name of the resource group containing the Kusto cluster. +// clusterName - the name of the Kusto cluster. +func (client AttachedDatabaseConfigurationsClient) ListByCluster(ctx context.Context, resourceGroupName string, clusterName string) (result AttachedDatabaseConfigurationListResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AttachedDatabaseConfigurationsClient.ListByCluster") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListByClusterPreparer(ctx, resourceGroupName, clusterName) + if err != nil { + err = autorest.NewErrorWithError(err, "kusto.AttachedDatabaseConfigurationsClient", "ListByCluster", nil, "Failure preparing request") + return + } + + resp, err := client.ListByClusterSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "kusto.AttachedDatabaseConfigurationsClient", "ListByCluster", resp, "Failure sending request") + return + } + + result, err = client.ListByClusterResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "kusto.AttachedDatabaseConfigurationsClient", "ListByCluster", resp, "Failure responding to request") + } + + return +} + +// ListByClusterPreparer prepares the ListByCluster request. +func (client AttachedDatabaseConfigurationsClient) ListByClusterPreparer(ctx context.Context, resourceGroupName string, clusterName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "clusterName": autorest.Encode("path", clusterName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-09-07" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/attachedDatabaseConfigurations", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByClusterSender sends the ListByCluster request. The method will close the +// http.Response Body if it receives an error. +func (client AttachedDatabaseConfigurationsClient) ListByClusterSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByClusterResponder handles the response to the ListByCluster request. The method always +// closes the http.Response Body. +func (client AttachedDatabaseConfigurationsClient) ListByClusterResponder(resp *http.Response) (result AttachedDatabaseConfigurationListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/kusto/mgmt/2019-09-07/kusto/client.go b/services/kusto/mgmt/2019-09-07/kusto/client.go new file mode 100644 index 000000000000..de3e2cda6fb4 --- /dev/null +++ b/services/kusto/mgmt/2019-09-07/kusto/client.go @@ -0,0 +1,52 @@ +// Package kusto implements the Azure ARM Kusto service API version 2019-09-07. +// +// The Azure Kusto management API provides a RESTful set of web services that interact with Azure Kusto services to +// manage your clusters and databases. The API enables you to create, update, and delete clusters and databases. +package kusto + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" +) + +const ( + // DefaultBaseURI is the default URI used for the service Kusto + DefaultBaseURI = "https://management.azure.com" +) + +// BaseClient is the base client for Kusto. +type BaseClient struct { + autorest.Client + BaseURI string + SubscriptionID string +} + +// New creates an instance of the BaseClient client. +func New(subscriptionID string) BaseClient { + return NewWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewWithBaseURI creates an instance of the BaseClient client. +func NewWithBaseURI(baseURI string, subscriptionID string) BaseClient { + return BaseClient{ + Client: autorest.NewClientWithUserAgent(UserAgent()), + BaseURI: baseURI, + SubscriptionID: subscriptionID, + } +} diff --git a/services/kusto/mgmt/2019-09-07/kusto/clusters.go b/services/kusto/mgmt/2019-09-07/kusto/clusters.go new file mode 100644 index 000000000000..3d5a6c656874 --- /dev/null +++ b/services/kusto/mgmt/2019-09-07/kusto/clusters.go @@ -0,0 +1,1079 @@ +package kusto + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// ClustersClient is the the Azure Kusto management API provides a RESTful set of web services that interact with Azure +// Kusto services to manage your clusters and databases. The API enables you to create, update, and delete clusters and +// databases. +type ClustersClient struct { + BaseClient +} + +// NewClustersClient creates an instance of the ClustersClient client. +func NewClustersClient(subscriptionID string) ClustersClient { + return NewClustersClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewClustersClientWithBaseURI creates an instance of the ClustersClient client. +func NewClustersClientWithBaseURI(baseURI string, subscriptionID string) ClustersClient { + return ClustersClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CheckNameAvailability checks that the cluster name is valid and is not already in use. +// Parameters: +// location - azure location. +// clusterName - the name of the cluster. +func (client ClustersClient) CheckNameAvailability(ctx context.Context, location string, clusterName ClusterCheckNameRequest) (result CheckNameResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ClustersClient.CheckNameAvailability") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: clusterName, + Constraints: []validation.Constraint{{Target: "clusterName.Name", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "clusterName.Type", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + return result, validation.NewError("kusto.ClustersClient", "CheckNameAvailability", err.Error()) + } + + req, err := client.CheckNameAvailabilityPreparer(ctx, location, clusterName) + if err != nil { + err = autorest.NewErrorWithError(err, "kusto.ClustersClient", "CheckNameAvailability", nil, "Failure preparing request") + return + } + + resp, err := client.CheckNameAvailabilitySender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "kusto.ClustersClient", "CheckNameAvailability", resp, "Failure sending request") + return + } + + result, err = client.CheckNameAvailabilityResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "kusto.ClustersClient", "CheckNameAvailability", resp, "Failure responding to request") + } + + return +} + +// CheckNameAvailabilityPreparer prepares the CheckNameAvailability request. +func (client ClustersClient) CheckNameAvailabilityPreparer(ctx context.Context, location string, clusterName ClusterCheckNameRequest) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "location": autorest.Encode("path", location), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-09-07" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Kusto/locations/{location}/checkNameAvailability", pathParameters), + autorest.WithJSON(clusterName), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CheckNameAvailabilitySender sends the CheckNameAvailability request. The method will close the +// http.Response Body if it receives an error. +func (client ClustersClient) CheckNameAvailabilitySender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CheckNameAvailabilityResponder handles the response to the CheckNameAvailability request. The method always +// closes the http.Response Body. +func (client ClustersClient) CheckNameAvailabilityResponder(resp *http.Response) (result CheckNameResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// CreateOrUpdate create or update a Kusto cluster. +// Parameters: +// resourceGroupName - the name of the resource group containing the Kusto cluster. +// clusterName - the name of the Kusto cluster. +// parameters - the Kusto cluster parameters supplied to the CreateOrUpdate operation. +func (client ClustersClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, clusterName string, parameters Cluster) (result ClustersCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ClustersClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.Sku", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "parameters.ClusterProperties", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.ClusterProperties.OptimizedAutoscale", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.ClusterProperties.OptimizedAutoscale.Version", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "parameters.ClusterProperties.OptimizedAutoscale.IsEnabled", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "parameters.ClusterProperties.OptimizedAutoscale.Minimum", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "parameters.ClusterProperties.OptimizedAutoscale.Maximum", Name: validation.Null, Rule: true, Chain: nil}, + }}, + {Target: "parameters.ClusterProperties.VirtualNetworkConfiguration", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.ClusterProperties.VirtualNetworkConfiguration.SubnetID", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "parameters.ClusterProperties.VirtualNetworkConfiguration.EnginePublicIPID", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "parameters.ClusterProperties.VirtualNetworkConfiguration.DataManagementPublicIPID", Name: validation.Null, Rule: true, Chain: nil}, + }}, + {Target: "parameters.ClusterProperties.KeyVaultProperties", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.ClusterProperties.KeyVaultProperties.KeyName", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "parameters.ClusterProperties.KeyVaultProperties.KeyVersion", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "parameters.ClusterProperties.KeyVaultProperties.KeyVaultURI", Name: validation.Null, Rule: true, Chain: nil}, + }}, + }}}}}); err != nil { + return result, validation.NewError("kusto.ClustersClient", "CreateOrUpdate", err.Error()) + } + + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, clusterName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "kusto.ClustersClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "kusto.ClustersClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client ClustersClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, clusterName string, parameters Cluster) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "clusterName": autorest.Encode("path", clusterName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-09-07" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client ClustersClient) CreateOrUpdateSender(req *http.Request) (future ClustersCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client ClustersClient) CreateOrUpdateResponder(resp *http.Response) (result Cluster, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes a Kusto cluster. +// Parameters: +// resourceGroupName - the name of the resource group containing the Kusto cluster. +// clusterName - the name of the Kusto cluster. +func (client ClustersClient) Delete(ctx context.Context, resourceGroupName string, clusterName string) (result ClustersDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ClustersClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, clusterName) + if err != nil { + err = autorest.NewErrorWithError(err, "kusto.ClustersClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "kusto.ClustersClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client ClustersClient) DeletePreparer(ctx context.Context, resourceGroupName string, clusterName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "clusterName": autorest.Encode("path", clusterName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-09-07" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client ClustersClient) DeleteSender(req *http.Request) (future ClustersDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client ClustersClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// DetachFollowerDatabases detaches all followers of a database owned by this cluster. +// Parameters: +// resourceGroupName - the name of the resource group containing the Kusto cluster. +// clusterName - the name of the Kusto cluster. +// followerDatabaseToRemove - the follower databases properties to remove. +func (client ClustersClient) DetachFollowerDatabases(ctx context.Context, resourceGroupName string, clusterName string, followerDatabaseToRemove FollowerDatabaseDefinition) (result ClustersDetachFollowerDatabasesFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ClustersClient.DetachFollowerDatabases") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: followerDatabaseToRemove, + Constraints: []validation.Constraint{{Target: "followerDatabaseToRemove.ClusterResourceID", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "followerDatabaseToRemove.AttachedDatabaseConfigurationName", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + return result, validation.NewError("kusto.ClustersClient", "DetachFollowerDatabases", err.Error()) + } + + req, err := client.DetachFollowerDatabasesPreparer(ctx, resourceGroupName, clusterName, followerDatabaseToRemove) + if err != nil { + err = autorest.NewErrorWithError(err, "kusto.ClustersClient", "DetachFollowerDatabases", nil, "Failure preparing request") + return + } + + result, err = client.DetachFollowerDatabasesSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "kusto.ClustersClient", "DetachFollowerDatabases", result.Response(), "Failure sending request") + return + } + + return +} + +// DetachFollowerDatabasesPreparer prepares the DetachFollowerDatabases request. +func (client ClustersClient) DetachFollowerDatabasesPreparer(ctx context.Context, resourceGroupName string, clusterName string, followerDatabaseToRemove FollowerDatabaseDefinition) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "clusterName": autorest.Encode("path", clusterName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-09-07" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + followerDatabaseToRemove.DatabaseName = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/detachFollowerDatabases", pathParameters), + autorest.WithJSON(followerDatabaseToRemove), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DetachFollowerDatabasesSender sends the DetachFollowerDatabases request. The method will close the +// http.Response Body if it receives an error. +func (client ClustersClient) DetachFollowerDatabasesSender(req *http.Request) (future ClustersDetachFollowerDatabasesFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DetachFollowerDatabasesResponder handles the response to the DetachFollowerDatabases request. The method always +// closes the http.Response Body. +func (client ClustersClient) DetachFollowerDatabasesResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets a Kusto cluster. +// Parameters: +// resourceGroupName - the name of the resource group containing the Kusto cluster. +// clusterName - the name of the Kusto cluster. +func (client ClustersClient) Get(ctx context.Context, resourceGroupName string, clusterName string) (result Cluster, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ClustersClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, clusterName) + if err != nil { + err = autorest.NewErrorWithError(err, "kusto.ClustersClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "kusto.ClustersClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "kusto.ClustersClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client ClustersClient) GetPreparer(ctx context.Context, resourceGroupName string, clusterName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "clusterName": autorest.Encode("path", clusterName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-09-07" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client ClustersClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client ClustersClient) GetResponder(resp *http.Response) (result Cluster, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List lists all Kusto clusters within a subscription. +func (client ClustersClient) List(ctx context.Context) (result ClusterListResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ClustersClient.List") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "kusto.ClustersClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "kusto.ClustersClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "kusto.ClustersClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client ClustersClient) ListPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-09-07" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Kusto/clusters", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client ClustersClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client ClustersClient) ListResponder(resp *http.Response) (result ClusterListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByResourceGroup lists all Kusto clusters within a resource group. +// Parameters: +// resourceGroupName - the name of the resource group containing the Kusto cluster. +func (client ClustersClient) ListByResourceGroup(ctx context.Context, resourceGroupName string) (result ClusterListResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ClustersClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListByResourceGroupPreparer(ctx, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "kusto.ClustersClient", "ListByResourceGroup", nil, "Failure preparing request") + return + } + + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "kusto.ClustersClient", "ListByResourceGroup", resp, "Failure sending request") + return + } + + result, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "kusto.ClustersClient", "ListByResourceGroup", resp, "Failure responding to request") + } + + return +} + +// ListByResourceGroupPreparer prepares the ListByResourceGroup request. +func (client ClustersClient) ListByResourceGroupPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-09-07" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByResourceGroupSender sends the ListByResourceGroup request. The method will close the +// http.Response Body if it receives an error. +func (client ClustersClient) ListByResourceGroupSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByResourceGroupResponder handles the response to the ListByResourceGroup request. The method always +// closes the http.Response Body. +func (client ClustersClient) ListByResourceGroupResponder(resp *http.Response) (result ClusterListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListFollowerDatabases returns a list of databases that are owned by this cluster and were followed by another +// cluster. +// Parameters: +// resourceGroupName - the name of the resource group containing the Kusto cluster. +// clusterName - the name of the Kusto cluster. +func (client ClustersClient) ListFollowerDatabases(ctx context.Context, resourceGroupName string, clusterName string) (result FollowerDatabaseListResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ClustersClient.ListFollowerDatabases") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListFollowerDatabasesPreparer(ctx, resourceGroupName, clusterName) + if err != nil { + err = autorest.NewErrorWithError(err, "kusto.ClustersClient", "ListFollowerDatabases", nil, "Failure preparing request") + return + } + + resp, err := client.ListFollowerDatabasesSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "kusto.ClustersClient", "ListFollowerDatabases", resp, "Failure sending request") + return + } + + result, err = client.ListFollowerDatabasesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "kusto.ClustersClient", "ListFollowerDatabases", resp, "Failure responding to request") + } + + return +} + +// ListFollowerDatabasesPreparer prepares the ListFollowerDatabases request. +func (client ClustersClient) ListFollowerDatabasesPreparer(ctx context.Context, resourceGroupName string, clusterName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "clusterName": autorest.Encode("path", clusterName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-09-07" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/listFollowerDatabases", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListFollowerDatabasesSender sends the ListFollowerDatabases request. The method will close the +// http.Response Body if it receives an error. +func (client ClustersClient) ListFollowerDatabasesSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListFollowerDatabasesResponder handles the response to the ListFollowerDatabases request. The method always +// closes the http.Response Body. +func (client ClustersClient) ListFollowerDatabasesResponder(resp *http.Response) (result FollowerDatabaseListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListSkus lists eligible SKUs for Kusto resource provider. +func (client ClustersClient) ListSkus(ctx context.Context) (result SkuDescriptionList, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ClustersClient.ListSkus") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListSkusPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "kusto.ClustersClient", "ListSkus", nil, "Failure preparing request") + return + } + + resp, err := client.ListSkusSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "kusto.ClustersClient", "ListSkus", resp, "Failure sending request") + return + } + + result, err = client.ListSkusResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "kusto.ClustersClient", "ListSkus", resp, "Failure responding to request") + } + + return +} + +// ListSkusPreparer prepares the ListSkus request. +func (client ClustersClient) ListSkusPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-09-07" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Kusto/skus", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSkusSender sends the ListSkus request. The method will close the +// http.Response Body if it receives an error. +func (client ClustersClient) ListSkusSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListSkusResponder handles the response to the ListSkus request. The method always +// closes the http.Response Body. +func (client ClustersClient) ListSkusResponder(resp *http.Response) (result SkuDescriptionList, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListSkusByResource returns the SKUs available for the provided resource. +// Parameters: +// resourceGroupName - the name of the resource group containing the Kusto cluster. +// clusterName - the name of the Kusto cluster. +func (client ClustersClient) ListSkusByResource(ctx context.Context, resourceGroupName string, clusterName string) (result ListResourceSkusResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ClustersClient.ListSkusByResource") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListSkusByResourcePreparer(ctx, resourceGroupName, clusterName) + if err != nil { + err = autorest.NewErrorWithError(err, "kusto.ClustersClient", "ListSkusByResource", nil, "Failure preparing request") + return + } + + resp, err := client.ListSkusByResourceSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "kusto.ClustersClient", "ListSkusByResource", resp, "Failure sending request") + return + } + + result, err = client.ListSkusByResourceResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "kusto.ClustersClient", "ListSkusByResource", resp, "Failure responding to request") + } + + return +} + +// ListSkusByResourcePreparer prepares the ListSkusByResource request. +func (client ClustersClient) ListSkusByResourcePreparer(ctx context.Context, resourceGroupName string, clusterName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "clusterName": autorest.Encode("path", clusterName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-09-07" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/skus", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSkusByResourceSender sends the ListSkusByResource request. The method will close the +// http.Response Body if it receives an error. +func (client ClustersClient) ListSkusByResourceSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListSkusByResourceResponder handles the response to the ListSkusByResource request. The method always +// closes the http.Response Body. +func (client ClustersClient) ListSkusByResourceResponder(resp *http.Response) (result ListResourceSkusResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Start starts a Kusto cluster. +// Parameters: +// resourceGroupName - the name of the resource group containing the Kusto cluster. +// clusterName - the name of the Kusto cluster. +func (client ClustersClient) Start(ctx context.Context, resourceGroupName string, clusterName string) (result ClustersStartFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ClustersClient.Start") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.StartPreparer(ctx, resourceGroupName, clusterName) + if err != nil { + err = autorest.NewErrorWithError(err, "kusto.ClustersClient", "Start", nil, "Failure preparing request") + return + } + + result, err = client.StartSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "kusto.ClustersClient", "Start", result.Response(), "Failure sending request") + return + } + + return +} + +// StartPreparer prepares the Start request. +func (client ClustersClient) StartPreparer(ctx context.Context, resourceGroupName string, clusterName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "clusterName": autorest.Encode("path", clusterName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-09-07" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/start", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// StartSender sends the Start request. The method will close the +// http.Response Body if it receives an error. +func (client ClustersClient) StartSender(req *http.Request) (future ClustersStartFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// StartResponder handles the response to the Start request. The method always +// closes the http.Response Body. +func (client ClustersClient) StartResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByClosing()) + result.Response = resp + return +} + +// Stop stops a Kusto cluster. +// Parameters: +// resourceGroupName - the name of the resource group containing the Kusto cluster. +// clusterName - the name of the Kusto cluster. +func (client ClustersClient) Stop(ctx context.Context, resourceGroupName string, clusterName string) (result ClustersStopFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ClustersClient.Stop") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.StopPreparer(ctx, resourceGroupName, clusterName) + if err != nil { + err = autorest.NewErrorWithError(err, "kusto.ClustersClient", "Stop", nil, "Failure preparing request") + return + } + + result, err = client.StopSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "kusto.ClustersClient", "Stop", result.Response(), "Failure sending request") + return + } + + return +} + +// StopPreparer prepares the Stop request. +func (client ClustersClient) StopPreparer(ctx context.Context, resourceGroupName string, clusterName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "clusterName": autorest.Encode("path", clusterName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-09-07" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/stop", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// StopSender sends the Stop request. The method will close the +// http.Response Body if it receives an error. +func (client ClustersClient) StopSender(req *http.Request) (future ClustersStopFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// StopResponder handles the response to the Stop request. The method always +// closes the http.Response Body. +func (client ClustersClient) StopResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByClosing()) + result.Response = resp + return +} + +// Update update a Kusto cluster. +// Parameters: +// resourceGroupName - the name of the resource group containing the Kusto cluster. +// clusterName - the name of the Kusto cluster. +// parameters - the Kusto cluster parameters supplied to the Update operation. +func (client ClustersClient) Update(ctx context.Context, resourceGroupName string, clusterName string, parameters ClusterUpdate) (result ClustersUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ClustersClient.Update") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdatePreparer(ctx, resourceGroupName, clusterName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "kusto.ClustersClient", "Update", nil, "Failure preparing request") + return + } + + result, err = client.UpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "kusto.ClustersClient", "Update", result.Response(), "Failure sending request") + return + } + + return +} + +// UpdatePreparer prepares the Update request. +func (client ClustersClient) UpdatePreparer(ctx context.Context, resourceGroupName string, clusterName string, parameters ClusterUpdate) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "clusterName": autorest.Encode("path", clusterName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-09-07" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateSender sends the Update request. The method will close the +// http.Response Body if it receives an error. +func (client ClustersClient) UpdateSender(req *http.Request) (future ClustersUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// UpdateResponder handles the response to the Update request. The method always +// closes the http.Response Body. +func (client ClustersClient) UpdateResponder(resp *http.Response) (result Cluster, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/kusto/mgmt/2019-09-07/kusto/databases.go b/services/kusto/mgmt/2019-09-07/kusto/databases.go new file mode 100644 index 000000000000..f9f67be0601a --- /dev/null +++ b/services/kusto/mgmt/2019-09-07/kusto/databases.go @@ -0,0 +1,771 @@ +package kusto + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// DatabasesClient is the the Azure Kusto management API provides a RESTful set of web services that interact with +// Azure Kusto services to manage your clusters and databases. The API enables you to create, update, and delete +// clusters and databases. +type DatabasesClient struct { + BaseClient +} + +// NewDatabasesClient creates an instance of the DatabasesClient client. +func NewDatabasesClient(subscriptionID string) DatabasesClient { + return NewDatabasesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewDatabasesClientWithBaseURI creates an instance of the DatabasesClient client. +func NewDatabasesClientWithBaseURI(baseURI string, subscriptionID string) DatabasesClient { + return DatabasesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// AddPrincipals add Database principals permissions. +// Parameters: +// resourceGroupName - the name of the resource group containing the Kusto cluster. +// clusterName - the name of the Kusto cluster. +// databaseName - the name of the database in the Kusto cluster. +// databasePrincipalsToAdd - list of database principals to add. +func (client DatabasesClient) AddPrincipals(ctx context.Context, resourceGroupName string, clusterName string, databaseName string, databasePrincipalsToAdd DatabasePrincipalListRequest) (result DatabasePrincipalListResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DatabasesClient.AddPrincipals") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.AddPrincipalsPreparer(ctx, resourceGroupName, clusterName, databaseName, databasePrincipalsToAdd) + if err != nil { + err = autorest.NewErrorWithError(err, "kusto.DatabasesClient", "AddPrincipals", nil, "Failure preparing request") + return + } + + resp, err := client.AddPrincipalsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "kusto.DatabasesClient", "AddPrincipals", resp, "Failure sending request") + return + } + + result, err = client.AddPrincipalsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "kusto.DatabasesClient", "AddPrincipals", resp, "Failure responding to request") + } + + return +} + +// AddPrincipalsPreparer prepares the AddPrincipals request. +func (client DatabasesClient) AddPrincipalsPreparer(ctx context.Context, resourceGroupName string, clusterName string, databaseName string, databasePrincipalsToAdd DatabasePrincipalListRequest) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "clusterName": autorest.Encode("path", clusterName), + "databaseName": autorest.Encode("path", databaseName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-09-07" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/addPrincipals", pathParameters), + autorest.WithJSON(databasePrincipalsToAdd), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// AddPrincipalsSender sends the AddPrincipals request. The method will close the +// http.Response Body if it receives an error. +func (client DatabasesClient) AddPrincipalsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// AddPrincipalsResponder handles the response to the AddPrincipals request. The method always +// closes the http.Response Body. +func (client DatabasesClient) AddPrincipalsResponder(resp *http.Response) (result DatabasePrincipalListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// CheckNameAvailability checks that the database name is valid and is not already in use. +// Parameters: +// resourceGroupName - the name of the resource group containing the Kusto cluster. +// clusterName - the name of the Kusto cluster. +// resourceName - the name of the resource. +func (client DatabasesClient) CheckNameAvailability(ctx context.Context, resourceGroupName string, clusterName string, resourceName CheckNameRequest) (result CheckNameResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DatabasesClient.CheckNameAvailability") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceName, + Constraints: []validation.Constraint{{Target: "resourceName.Name", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + return result, validation.NewError("kusto.DatabasesClient", "CheckNameAvailability", err.Error()) + } + + req, err := client.CheckNameAvailabilityPreparer(ctx, resourceGroupName, clusterName, resourceName) + if err != nil { + err = autorest.NewErrorWithError(err, "kusto.DatabasesClient", "CheckNameAvailability", nil, "Failure preparing request") + return + } + + resp, err := client.CheckNameAvailabilitySender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "kusto.DatabasesClient", "CheckNameAvailability", resp, "Failure sending request") + return + } + + result, err = client.CheckNameAvailabilityResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "kusto.DatabasesClient", "CheckNameAvailability", resp, "Failure responding to request") + } + + return +} + +// CheckNameAvailabilityPreparer prepares the CheckNameAvailability request. +func (client DatabasesClient) CheckNameAvailabilityPreparer(ctx context.Context, resourceGroupName string, clusterName string, resourceName CheckNameRequest) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "clusterName": autorest.Encode("path", clusterName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-09-07" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/checkNameAvailability", pathParameters), + autorest.WithJSON(resourceName), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CheckNameAvailabilitySender sends the CheckNameAvailability request. The method will close the +// http.Response Body if it receives an error. +func (client DatabasesClient) CheckNameAvailabilitySender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CheckNameAvailabilityResponder handles the response to the CheckNameAvailability request. The method always +// closes the http.Response Body. +func (client DatabasesClient) CheckNameAvailabilityResponder(resp *http.Response) (result CheckNameResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// CreateOrUpdate creates or updates a database. +// Parameters: +// resourceGroupName - the name of the resource group containing the Kusto cluster. +// clusterName - the name of the Kusto cluster. +// databaseName - the name of the database in the Kusto cluster. +// parameters - the database parameters supplied to the CreateOrUpdate operation. +func (client DatabasesClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, clusterName string, databaseName string, parameters BasicDatabase) (result DatabasesCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DatabasesClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, clusterName, databaseName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "kusto.DatabasesClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "kusto.DatabasesClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client DatabasesClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, clusterName string, databaseName string, parameters BasicDatabase) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "clusterName": autorest.Encode("path", clusterName), + "databaseName": autorest.Encode("path", databaseName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-09-07" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client DatabasesClient) CreateOrUpdateSender(req *http.Request) (future DatabasesCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client DatabasesClient) CreateOrUpdateResponder(resp *http.Response) (result DatabaseModel, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the database with the given name. +// Parameters: +// resourceGroupName - the name of the resource group containing the Kusto cluster. +// clusterName - the name of the Kusto cluster. +// databaseName - the name of the database in the Kusto cluster. +func (client DatabasesClient) Delete(ctx context.Context, resourceGroupName string, clusterName string, databaseName string) (result DatabasesDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DatabasesClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, clusterName, databaseName) + if err != nil { + err = autorest.NewErrorWithError(err, "kusto.DatabasesClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "kusto.DatabasesClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client DatabasesClient) DeletePreparer(ctx context.Context, resourceGroupName string, clusterName string, databaseName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "clusterName": autorest.Encode("path", clusterName), + "databaseName": autorest.Encode("path", databaseName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-09-07" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client DatabasesClient) DeleteSender(req *http.Request) (future DatabasesDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client DatabasesClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get returns a database. +// Parameters: +// resourceGroupName - the name of the resource group containing the Kusto cluster. +// clusterName - the name of the Kusto cluster. +// databaseName - the name of the database in the Kusto cluster. +func (client DatabasesClient) Get(ctx context.Context, resourceGroupName string, clusterName string, databaseName string) (result DatabaseModel, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DatabasesClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, clusterName, databaseName) + if err != nil { + err = autorest.NewErrorWithError(err, "kusto.DatabasesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "kusto.DatabasesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "kusto.DatabasesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client DatabasesClient) GetPreparer(ctx context.Context, resourceGroupName string, clusterName string, databaseName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "clusterName": autorest.Encode("path", clusterName), + "databaseName": autorest.Encode("path", databaseName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-09-07" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client DatabasesClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client DatabasesClient) GetResponder(resp *http.Response) (result DatabaseModel, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByCluster returns the list of databases of the given Kusto cluster. +// Parameters: +// resourceGroupName - the name of the resource group containing the Kusto cluster. +// clusterName - the name of the Kusto cluster. +func (client DatabasesClient) ListByCluster(ctx context.Context, resourceGroupName string, clusterName string) (result DatabaseListResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DatabasesClient.ListByCluster") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListByClusterPreparer(ctx, resourceGroupName, clusterName) + if err != nil { + err = autorest.NewErrorWithError(err, "kusto.DatabasesClient", "ListByCluster", nil, "Failure preparing request") + return + } + + resp, err := client.ListByClusterSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "kusto.DatabasesClient", "ListByCluster", resp, "Failure sending request") + return + } + + result, err = client.ListByClusterResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "kusto.DatabasesClient", "ListByCluster", resp, "Failure responding to request") + } + + return +} + +// ListByClusterPreparer prepares the ListByCluster request. +func (client DatabasesClient) ListByClusterPreparer(ctx context.Context, resourceGroupName string, clusterName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "clusterName": autorest.Encode("path", clusterName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-09-07" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByClusterSender sends the ListByCluster request. The method will close the +// http.Response Body if it receives an error. +func (client DatabasesClient) ListByClusterSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByClusterResponder handles the response to the ListByCluster request. The method always +// closes the http.Response Body. +func (client DatabasesClient) ListByClusterResponder(resp *http.Response) (result DatabaseListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListPrincipals returns a list of database principals of the given Kusto cluster and database. +// Parameters: +// resourceGroupName - the name of the resource group containing the Kusto cluster. +// clusterName - the name of the Kusto cluster. +// databaseName - the name of the database in the Kusto cluster. +func (client DatabasesClient) ListPrincipals(ctx context.Context, resourceGroupName string, clusterName string, databaseName string) (result DatabasePrincipalListResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DatabasesClient.ListPrincipals") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListPrincipalsPreparer(ctx, resourceGroupName, clusterName, databaseName) + if err != nil { + err = autorest.NewErrorWithError(err, "kusto.DatabasesClient", "ListPrincipals", nil, "Failure preparing request") + return + } + + resp, err := client.ListPrincipalsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "kusto.DatabasesClient", "ListPrincipals", resp, "Failure sending request") + return + } + + result, err = client.ListPrincipalsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "kusto.DatabasesClient", "ListPrincipals", resp, "Failure responding to request") + } + + return +} + +// ListPrincipalsPreparer prepares the ListPrincipals request. +func (client DatabasesClient) ListPrincipalsPreparer(ctx context.Context, resourceGroupName string, clusterName string, databaseName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "clusterName": autorest.Encode("path", clusterName), + "databaseName": autorest.Encode("path", databaseName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-09-07" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/listPrincipals", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListPrincipalsSender sends the ListPrincipals request. The method will close the +// http.Response Body if it receives an error. +func (client DatabasesClient) ListPrincipalsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListPrincipalsResponder handles the response to the ListPrincipals request. The method always +// closes the http.Response Body. +func (client DatabasesClient) ListPrincipalsResponder(resp *http.Response) (result DatabasePrincipalListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// RemovePrincipals remove Database principals permissions. +// Parameters: +// resourceGroupName - the name of the resource group containing the Kusto cluster. +// clusterName - the name of the Kusto cluster. +// databaseName - the name of the database in the Kusto cluster. +// databasePrincipalsToRemove - list of database principals to remove. +func (client DatabasesClient) RemovePrincipals(ctx context.Context, resourceGroupName string, clusterName string, databaseName string, databasePrincipalsToRemove DatabasePrincipalListRequest) (result DatabasePrincipalListResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DatabasesClient.RemovePrincipals") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.RemovePrincipalsPreparer(ctx, resourceGroupName, clusterName, databaseName, databasePrincipalsToRemove) + if err != nil { + err = autorest.NewErrorWithError(err, "kusto.DatabasesClient", "RemovePrincipals", nil, "Failure preparing request") + return + } + + resp, err := client.RemovePrincipalsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "kusto.DatabasesClient", "RemovePrincipals", resp, "Failure sending request") + return + } + + result, err = client.RemovePrincipalsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "kusto.DatabasesClient", "RemovePrincipals", resp, "Failure responding to request") + } + + return +} + +// RemovePrincipalsPreparer prepares the RemovePrincipals request. +func (client DatabasesClient) RemovePrincipalsPreparer(ctx context.Context, resourceGroupName string, clusterName string, databaseName string, databasePrincipalsToRemove DatabasePrincipalListRequest) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "clusterName": autorest.Encode("path", clusterName), + "databaseName": autorest.Encode("path", databaseName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-09-07" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/removePrincipals", pathParameters), + autorest.WithJSON(databasePrincipalsToRemove), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// RemovePrincipalsSender sends the RemovePrincipals request. The method will close the +// http.Response Body if it receives an error. +func (client DatabasesClient) RemovePrincipalsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// RemovePrincipalsResponder handles the response to the RemovePrincipals request. The method always +// closes the http.Response Body. +func (client DatabasesClient) RemovePrincipalsResponder(resp *http.Response) (result DatabasePrincipalListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Update updates a database. +// Parameters: +// resourceGroupName - the name of the resource group containing the Kusto cluster. +// clusterName - the name of the Kusto cluster. +// databaseName - the name of the database in the Kusto cluster. +// parameters - the database parameters supplied to the Update operation. +func (client DatabasesClient) Update(ctx context.Context, resourceGroupName string, clusterName string, databaseName string, parameters BasicDatabase) (result DatabasesUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DatabasesClient.Update") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdatePreparer(ctx, resourceGroupName, clusterName, databaseName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "kusto.DatabasesClient", "Update", nil, "Failure preparing request") + return + } + + result, err = client.UpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "kusto.DatabasesClient", "Update", result.Response(), "Failure sending request") + return + } + + return +} + +// UpdatePreparer prepares the Update request. +func (client DatabasesClient) UpdatePreparer(ctx context.Context, resourceGroupName string, clusterName string, databaseName string, parameters BasicDatabase) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "clusterName": autorest.Encode("path", clusterName), + "databaseName": autorest.Encode("path", databaseName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-09-07" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateSender sends the Update request. The method will close the +// http.Response Body if it receives an error. +func (client DatabasesClient) UpdateSender(req *http.Request) (future DatabasesUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// UpdateResponder handles the response to the Update request. The method always +// closes the http.Response Body. +func (client DatabasesClient) UpdateResponder(resp *http.Response) (result DatabaseModel, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/kusto/mgmt/2019-09-07/kusto/dataconnections.go b/services/kusto/mgmt/2019-09-07/kusto/dataconnections.go new file mode 100644 index 000000000000..8e3f1ff254a7 --- /dev/null +++ b/services/kusto/mgmt/2019-09-07/kusto/dataconnections.go @@ -0,0 +1,623 @@ +package kusto + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// DataConnectionsClient is the the Azure Kusto management API provides a RESTful set of web services that interact +// with Azure Kusto services to manage your clusters and databases. The API enables you to create, update, and delete +// clusters and databases. +type DataConnectionsClient struct { + BaseClient +} + +// NewDataConnectionsClient creates an instance of the DataConnectionsClient client. +func NewDataConnectionsClient(subscriptionID string) DataConnectionsClient { + return NewDataConnectionsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewDataConnectionsClientWithBaseURI creates an instance of the DataConnectionsClient client. +func NewDataConnectionsClientWithBaseURI(baseURI string, subscriptionID string) DataConnectionsClient { + return DataConnectionsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CheckNameAvailability checks that the data connection name is valid and is not already in use. +// Parameters: +// resourceGroupName - the name of the resource group containing the Kusto cluster. +// clusterName - the name of the Kusto cluster. +// databaseName - the name of the database in the Kusto cluster. +// dataConnectionName - the name of the data connection. +func (client DataConnectionsClient) CheckNameAvailability(ctx context.Context, resourceGroupName string, clusterName string, databaseName string, dataConnectionName DataConnectionCheckNameRequest) (result CheckNameResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DataConnectionsClient.CheckNameAvailability") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: dataConnectionName, + Constraints: []validation.Constraint{{Target: "dataConnectionName.Name", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "dataConnectionName.Type", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + return result, validation.NewError("kusto.DataConnectionsClient", "CheckNameAvailability", err.Error()) + } + + req, err := client.CheckNameAvailabilityPreparer(ctx, resourceGroupName, clusterName, databaseName, dataConnectionName) + if err != nil { + err = autorest.NewErrorWithError(err, "kusto.DataConnectionsClient", "CheckNameAvailability", nil, "Failure preparing request") + return + } + + resp, err := client.CheckNameAvailabilitySender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "kusto.DataConnectionsClient", "CheckNameAvailability", resp, "Failure sending request") + return + } + + result, err = client.CheckNameAvailabilityResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "kusto.DataConnectionsClient", "CheckNameAvailability", resp, "Failure responding to request") + } + + return +} + +// CheckNameAvailabilityPreparer prepares the CheckNameAvailability request. +func (client DataConnectionsClient) CheckNameAvailabilityPreparer(ctx context.Context, resourceGroupName string, clusterName string, databaseName string, dataConnectionName DataConnectionCheckNameRequest) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "clusterName": autorest.Encode("path", clusterName), + "databaseName": autorest.Encode("path", databaseName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-09-07" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/checkNameAvailability", pathParameters), + autorest.WithJSON(dataConnectionName), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CheckNameAvailabilitySender sends the CheckNameAvailability request. The method will close the +// http.Response Body if it receives an error. +func (client DataConnectionsClient) CheckNameAvailabilitySender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CheckNameAvailabilityResponder handles the response to the CheckNameAvailability request. The method always +// closes the http.Response Body. +func (client DataConnectionsClient) CheckNameAvailabilityResponder(resp *http.Response) (result CheckNameResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// CreateOrUpdate creates or updates a data connection. +// Parameters: +// resourceGroupName - the name of the resource group containing the Kusto cluster. +// clusterName - the name of the Kusto cluster. +// databaseName - the name of the database in the Kusto cluster. +// dataConnectionName - the name of the data connection. +// parameters - the data connection parameters supplied to the CreateOrUpdate operation. +func (client DataConnectionsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, clusterName string, databaseName string, dataConnectionName string, parameters BasicDataConnection) (result DataConnectionsCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DataConnectionsClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, clusterName, databaseName, dataConnectionName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "kusto.DataConnectionsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "kusto.DataConnectionsClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client DataConnectionsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, clusterName string, databaseName string, dataConnectionName string, parameters BasicDataConnection) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "clusterName": autorest.Encode("path", clusterName), + "databaseName": autorest.Encode("path", databaseName), + "dataConnectionName": autorest.Encode("path", dataConnectionName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-09-07" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/dataConnections/{dataConnectionName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client DataConnectionsClient) CreateOrUpdateSender(req *http.Request) (future DataConnectionsCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client DataConnectionsClient) CreateOrUpdateResponder(resp *http.Response) (result DataConnectionModel, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// DataConnectionValidationMethod checks that the data connection parameters are valid. +// Parameters: +// resourceGroupName - the name of the resource group containing the Kusto cluster. +// clusterName - the name of the Kusto cluster. +// databaseName - the name of the database in the Kusto cluster. +// parameters - the data connection parameters supplied to the CreateOrUpdate operation. +func (client DataConnectionsClient) DataConnectionValidationMethod(ctx context.Context, resourceGroupName string, clusterName string, databaseName string, parameters DataConnectionValidation) (result DataConnectionValidationListResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DataConnectionsClient.DataConnectionValidationMethod") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DataConnectionValidationMethodPreparer(ctx, resourceGroupName, clusterName, databaseName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "kusto.DataConnectionsClient", "DataConnectionValidationMethod", nil, "Failure preparing request") + return + } + + resp, err := client.DataConnectionValidationMethodSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "kusto.DataConnectionsClient", "DataConnectionValidationMethod", resp, "Failure sending request") + return + } + + result, err = client.DataConnectionValidationMethodResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "kusto.DataConnectionsClient", "DataConnectionValidationMethod", resp, "Failure responding to request") + } + + return +} + +// DataConnectionValidationMethodPreparer prepares the DataConnectionValidationMethod request. +func (client DataConnectionsClient) DataConnectionValidationMethodPreparer(ctx context.Context, resourceGroupName string, clusterName string, databaseName string, parameters DataConnectionValidation) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "clusterName": autorest.Encode("path", clusterName), + "databaseName": autorest.Encode("path", databaseName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-09-07" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/dataConnectionValidation", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DataConnectionValidationMethodSender sends the DataConnectionValidationMethod request. The method will close the +// http.Response Body if it receives an error. +func (client DataConnectionsClient) DataConnectionValidationMethodSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// DataConnectionValidationMethodResponder handles the response to the DataConnectionValidationMethod request. The method always +// closes the http.Response Body. +func (client DataConnectionsClient) DataConnectionValidationMethodResponder(resp *http.Response) (result DataConnectionValidationListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the data connection with the given name. +// Parameters: +// resourceGroupName - the name of the resource group containing the Kusto cluster. +// clusterName - the name of the Kusto cluster. +// databaseName - the name of the database in the Kusto cluster. +// dataConnectionName - the name of the data connection. +func (client DataConnectionsClient) Delete(ctx context.Context, resourceGroupName string, clusterName string, databaseName string, dataConnectionName string) (result DataConnectionsDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DataConnectionsClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, clusterName, databaseName, dataConnectionName) + if err != nil { + err = autorest.NewErrorWithError(err, "kusto.DataConnectionsClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "kusto.DataConnectionsClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client DataConnectionsClient) DeletePreparer(ctx context.Context, resourceGroupName string, clusterName string, databaseName string, dataConnectionName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "clusterName": autorest.Encode("path", clusterName), + "databaseName": autorest.Encode("path", databaseName), + "dataConnectionName": autorest.Encode("path", dataConnectionName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-09-07" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/dataConnections/{dataConnectionName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client DataConnectionsClient) DeleteSender(req *http.Request) (future DataConnectionsDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client DataConnectionsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get returns a data connection. +// Parameters: +// resourceGroupName - the name of the resource group containing the Kusto cluster. +// clusterName - the name of the Kusto cluster. +// databaseName - the name of the database in the Kusto cluster. +// dataConnectionName - the name of the data connection. +func (client DataConnectionsClient) Get(ctx context.Context, resourceGroupName string, clusterName string, databaseName string, dataConnectionName string) (result DataConnectionModel, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DataConnectionsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, clusterName, databaseName, dataConnectionName) + if err != nil { + err = autorest.NewErrorWithError(err, "kusto.DataConnectionsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "kusto.DataConnectionsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "kusto.DataConnectionsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client DataConnectionsClient) GetPreparer(ctx context.Context, resourceGroupName string, clusterName string, databaseName string, dataConnectionName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "clusterName": autorest.Encode("path", clusterName), + "databaseName": autorest.Encode("path", databaseName), + "dataConnectionName": autorest.Encode("path", dataConnectionName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-09-07" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/dataConnections/{dataConnectionName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client DataConnectionsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client DataConnectionsClient) GetResponder(resp *http.Response) (result DataConnectionModel, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByDatabase returns the list of data connections of the given Kusto database. +// Parameters: +// resourceGroupName - the name of the resource group containing the Kusto cluster. +// clusterName - the name of the Kusto cluster. +// databaseName - the name of the database in the Kusto cluster. +func (client DataConnectionsClient) ListByDatabase(ctx context.Context, resourceGroupName string, clusterName string, databaseName string) (result DataConnectionListResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DataConnectionsClient.ListByDatabase") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListByDatabasePreparer(ctx, resourceGroupName, clusterName, databaseName) + if err != nil { + err = autorest.NewErrorWithError(err, "kusto.DataConnectionsClient", "ListByDatabase", nil, "Failure preparing request") + return + } + + resp, err := client.ListByDatabaseSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "kusto.DataConnectionsClient", "ListByDatabase", resp, "Failure sending request") + return + } + + result, err = client.ListByDatabaseResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "kusto.DataConnectionsClient", "ListByDatabase", resp, "Failure responding to request") + } + + return +} + +// ListByDatabasePreparer prepares the ListByDatabase request. +func (client DataConnectionsClient) ListByDatabasePreparer(ctx context.Context, resourceGroupName string, clusterName string, databaseName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "clusterName": autorest.Encode("path", clusterName), + "databaseName": autorest.Encode("path", databaseName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-09-07" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/dataConnections", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByDatabaseSender sends the ListByDatabase request. The method will close the +// http.Response Body if it receives an error. +func (client DataConnectionsClient) ListByDatabaseSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByDatabaseResponder handles the response to the ListByDatabase request. The method always +// closes the http.Response Body. +func (client DataConnectionsClient) ListByDatabaseResponder(resp *http.Response) (result DataConnectionListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Update updates a data connection. +// Parameters: +// resourceGroupName - the name of the resource group containing the Kusto cluster. +// clusterName - the name of the Kusto cluster. +// databaseName - the name of the database in the Kusto cluster. +// dataConnectionName - the name of the data connection. +// parameters - the data connection parameters supplied to the Update operation. +func (client DataConnectionsClient) Update(ctx context.Context, resourceGroupName string, clusterName string, databaseName string, dataConnectionName string, parameters BasicDataConnection) (result DataConnectionsUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DataConnectionsClient.Update") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdatePreparer(ctx, resourceGroupName, clusterName, databaseName, dataConnectionName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "kusto.DataConnectionsClient", "Update", nil, "Failure preparing request") + return + } + + result, err = client.UpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "kusto.DataConnectionsClient", "Update", result.Response(), "Failure sending request") + return + } + + return +} + +// UpdatePreparer prepares the Update request. +func (client DataConnectionsClient) UpdatePreparer(ctx context.Context, resourceGroupName string, clusterName string, databaseName string, dataConnectionName string, parameters BasicDataConnection) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "clusterName": autorest.Encode("path", clusterName), + "databaseName": autorest.Encode("path", databaseName), + "dataConnectionName": autorest.Encode("path", dataConnectionName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-09-07" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/dataConnections/{dataConnectionName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateSender sends the Update request. The method will close the +// http.Response Body if it receives an error. +func (client DataConnectionsClient) UpdateSender(req *http.Request) (future DataConnectionsUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// UpdateResponder handles the response to the Update request. The method always +// closes the http.Response Body. +func (client DataConnectionsClient) UpdateResponder(resp *http.Response) (result DataConnectionModel, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/kusto/mgmt/2019-09-07/kusto/kustoapi/interfaces.go b/services/kusto/mgmt/2019-09-07/kusto/kustoapi/interfaces.go new file mode 100644 index 000000000000..32763ab216ba --- /dev/null +++ b/services/kusto/mgmt/2019-09-07/kusto/kustoapi/interfaces.go @@ -0,0 +1,87 @@ +package kustoapi + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/azure-sdk-for-go/services/kusto/mgmt/2019-09-07/kusto" +) + +// ClustersClientAPI contains the set of methods on the ClustersClient type. +type ClustersClientAPI interface { + CheckNameAvailability(ctx context.Context, location string, clusterName kusto.ClusterCheckNameRequest) (result kusto.CheckNameResult, err error) + CreateOrUpdate(ctx context.Context, resourceGroupName string, clusterName string, parameters kusto.Cluster) (result kusto.ClustersCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, clusterName string) (result kusto.ClustersDeleteFuture, err error) + DetachFollowerDatabases(ctx context.Context, resourceGroupName string, clusterName string, followerDatabaseToRemove kusto.FollowerDatabaseDefinition) (result kusto.ClustersDetachFollowerDatabasesFuture, err error) + Get(ctx context.Context, resourceGroupName string, clusterName string) (result kusto.Cluster, err error) + List(ctx context.Context) (result kusto.ClusterListResult, err error) + ListByResourceGroup(ctx context.Context, resourceGroupName string) (result kusto.ClusterListResult, err error) + ListFollowerDatabases(ctx context.Context, resourceGroupName string, clusterName string) (result kusto.FollowerDatabaseListResult, err error) + ListSkus(ctx context.Context) (result kusto.SkuDescriptionList, err error) + ListSkusByResource(ctx context.Context, resourceGroupName string, clusterName string) (result kusto.ListResourceSkusResult, err error) + Start(ctx context.Context, resourceGroupName string, clusterName string) (result kusto.ClustersStartFuture, err error) + Stop(ctx context.Context, resourceGroupName string, clusterName string) (result kusto.ClustersStopFuture, err error) + Update(ctx context.Context, resourceGroupName string, clusterName string, parameters kusto.ClusterUpdate) (result kusto.ClustersUpdateFuture, err error) +} + +var _ ClustersClientAPI = (*kusto.ClustersClient)(nil) + +// DatabasesClientAPI contains the set of methods on the DatabasesClient type. +type DatabasesClientAPI interface { + AddPrincipals(ctx context.Context, resourceGroupName string, clusterName string, databaseName string, databasePrincipalsToAdd kusto.DatabasePrincipalListRequest) (result kusto.DatabasePrincipalListResult, err error) + CheckNameAvailability(ctx context.Context, resourceGroupName string, clusterName string, resourceName kusto.CheckNameRequest) (result kusto.CheckNameResult, err error) + CreateOrUpdate(ctx context.Context, resourceGroupName string, clusterName string, databaseName string, parameters kusto.BasicDatabase) (result kusto.DatabasesCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, clusterName string, databaseName string) (result kusto.DatabasesDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, clusterName string, databaseName string) (result kusto.DatabaseModel, err error) + ListByCluster(ctx context.Context, resourceGroupName string, clusterName string) (result kusto.DatabaseListResult, err error) + ListPrincipals(ctx context.Context, resourceGroupName string, clusterName string, databaseName string) (result kusto.DatabasePrincipalListResult, err error) + RemovePrincipals(ctx context.Context, resourceGroupName string, clusterName string, databaseName string, databasePrincipalsToRemove kusto.DatabasePrincipalListRequest) (result kusto.DatabasePrincipalListResult, err error) + Update(ctx context.Context, resourceGroupName string, clusterName string, databaseName string, parameters kusto.BasicDatabase) (result kusto.DatabasesUpdateFuture, err error) +} + +var _ DatabasesClientAPI = (*kusto.DatabasesClient)(nil) + +// AttachedDatabaseConfigurationsClientAPI contains the set of methods on the AttachedDatabaseConfigurationsClient type. +type AttachedDatabaseConfigurationsClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, clusterName string, attachedDatabaseConfigurationName string, parameters kusto.AttachedDatabaseConfiguration) (result kusto.AttachedDatabaseConfigurationsCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, clusterName string, attachedDatabaseConfigurationName string) (result kusto.AttachedDatabaseConfigurationsDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, clusterName string, attachedDatabaseConfigurationName string) (result kusto.AttachedDatabaseConfiguration, err error) + ListByCluster(ctx context.Context, resourceGroupName string, clusterName string) (result kusto.AttachedDatabaseConfigurationListResult, err error) +} + +var _ AttachedDatabaseConfigurationsClientAPI = (*kusto.AttachedDatabaseConfigurationsClient)(nil) + +// DataConnectionsClientAPI contains the set of methods on the DataConnectionsClient type. +type DataConnectionsClientAPI interface { + CheckNameAvailability(ctx context.Context, resourceGroupName string, clusterName string, databaseName string, dataConnectionName kusto.DataConnectionCheckNameRequest) (result kusto.CheckNameResult, err error) + CreateOrUpdate(ctx context.Context, resourceGroupName string, clusterName string, databaseName string, dataConnectionName string, parameters kusto.BasicDataConnection) (result kusto.DataConnectionsCreateOrUpdateFuture, err error) + DataConnectionValidationMethod(ctx context.Context, resourceGroupName string, clusterName string, databaseName string, parameters kusto.DataConnectionValidation) (result kusto.DataConnectionValidationListResult, err error) + Delete(ctx context.Context, resourceGroupName string, clusterName string, databaseName string, dataConnectionName string) (result kusto.DataConnectionsDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, clusterName string, databaseName string, dataConnectionName string) (result kusto.DataConnectionModel, err error) + ListByDatabase(ctx context.Context, resourceGroupName string, clusterName string, databaseName string) (result kusto.DataConnectionListResult, err error) + Update(ctx context.Context, resourceGroupName string, clusterName string, databaseName string, dataConnectionName string, parameters kusto.BasicDataConnection) (result kusto.DataConnectionsUpdateFuture, err error) +} + +var _ DataConnectionsClientAPI = (*kusto.DataConnectionsClient)(nil) + +// OperationsClientAPI contains the set of methods on the OperationsClient type. +type OperationsClientAPI interface { + List(ctx context.Context) (result kusto.OperationListResultPage, err error) +} + +var _ OperationsClientAPI = (*kusto.OperationsClient)(nil) diff --git a/services/kusto/mgmt/2019-09-07/kusto/models.go b/services/kusto/mgmt/2019-09-07/kusto/models.go new file mode 100644 index 000000000000..982aec753533 --- /dev/null +++ b/services/kusto/mgmt/2019-09-07/kusto/models.go @@ -0,0 +1,2634 @@ +package kusto + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "encoding/json" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/to" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// The package's fully qualified name. +const fqdn = "github.com/Azure/azure-sdk-for-go/services/kusto/mgmt/2019-09-07/kusto" + +// AzureScaleType enumerates the values for azure scale type. +type AzureScaleType string + +const ( + // Automatic ... + Automatic AzureScaleType = "automatic" + // Manual ... + Manual AzureScaleType = "manual" + // None ... + None AzureScaleType = "none" +) + +// PossibleAzureScaleTypeValues returns an array of possible values for the AzureScaleType const type. +func PossibleAzureScaleTypeValues() []AzureScaleType { + return []AzureScaleType{Automatic, Manual, None} +} + +// AzureSkuName enumerates the values for azure sku name. +type AzureSkuName string + +const ( + // DevNoSLAStandardD11V2 ... + DevNoSLAStandardD11V2 AzureSkuName = "Dev(No SLA)_Standard_D11_v2" + // StandardD11V2 ... + StandardD11V2 AzureSkuName = "Standard_D11_v2" + // StandardD12V2 ... + StandardD12V2 AzureSkuName = "Standard_D12_v2" + // StandardD13V2 ... + StandardD13V2 AzureSkuName = "Standard_D13_v2" + // StandardD14V2 ... + StandardD14V2 AzureSkuName = "Standard_D14_v2" + // StandardDS13V21TBPS ... + StandardDS13V21TBPS AzureSkuName = "Standard_DS13_v2+1TB_PS" + // StandardDS13V22TBPS ... + StandardDS13V22TBPS AzureSkuName = "Standard_DS13_v2+2TB_PS" + // StandardDS14V23TBPS ... + StandardDS14V23TBPS AzureSkuName = "Standard_DS14_v2+3TB_PS" + // StandardDS14V24TBPS ... + StandardDS14V24TBPS AzureSkuName = "Standard_DS14_v2+4TB_PS" + // StandardL16s ... + StandardL16s AzureSkuName = "Standard_L16s" + // StandardL4s ... + StandardL4s AzureSkuName = "Standard_L4s" + // StandardL8s ... + StandardL8s AzureSkuName = "Standard_L8s" +) + +// PossibleAzureSkuNameValues returns an array of possible values for the AzureSkuName const type. +func PossibleAzureSkuNameValues() []AzureSkuName { + return []AzureSkuName{DevNoSLAStandardD11V2, StandardD11V2, StandardD12V2, StandardD13V2, StandardD14V2, StandardDS13V21TBPS, StandardDS13V22TBPS, StandardDS14V23TBPS, StandardDS14V24TBPS, StandardL16s, StandardL4s, StandardL8s} +} + +// AzureSkuTier enumerates the values for azure sku tier. +type AzureSkuTier string + +const ( + // Basic ... + Basic AzureSkuTier = "Basic" + // Standard ... + Standard AzureSkuTier = "Standard" +) + +// PossibleAzureSkuTierValues returns an array of possible values for the AzureSkuTier const type. +func PossibleAzureSkuTierValues() []AzureSkuTier { + return []AzureSkuTier{Basic, Standard} +} + +// DatabasePrincipalRole enumerates the values for database principal role. +type DatabasePrincipalRole string + +const ( + // Admin ... + Admin DatabasePrincipalRole = "Admin" + // Ingestor ... + Ingestor DatabasePrincipalRole = "Ingestor" + // Monitor ... + Monitor DatabasePrincipalRole = "Monitor" + // UnrestrictedViewers ... + UnrestrictedViewers DatabasePrincipalRole = "UnrestrictedViewers" + // User ... + User DatabasePrincipalRole = "User" + // Viewer ... + Viewer DatabasePrincipalRole = "Viewer" +) + +// PossibleDatabasePrincipalRoleValues returns an array of possible values for the DatabasePrincipalRole const type. +func PossibleDatabasePrincipalRoleValues() []DatabasePrincipalRole { + return []DatabasePrincipalRole{Admin, Ingestor, Monitor, UnrestrictedViewers, User, Viewer} +} + +// DatabasePrincipalType enumerates the values for database principal type. +type DatabasePrincipalType string + +const ( + // DatabasePrincipalTypeApp ... + DatabasePrincipalTypeApp DatabasePrincipalType = "App" + // DatabasePrincipalTypeGroup ... + DatabasePrincipalTypeGroup DatabasePrincipalType = "Group" + // DatabasePrincipalTypeUser ... + DatabasePrincipalTypeUser DatabasePrincipalType = "User" +) + +// PossibleDatabasePrincipalTypeValues returns an array of possible values for the DatabasePrincipalType const type. +func PossibleDatabasePrincipalTypeValues() []DatabasePrincipalType { + return []DatabasePrincipalType{DatabasePrincipalTypeApp, DatabasePrincipalTypeGroup, DatabasePrincipalTypeUser} +} + +// DataFormat enumerates the values for data format. +type DataFormat string + +const ( + // AVRO ... + AVRO DataFormat = "AVRO" + // CSV ... + CSV DataFormat = "CSV" + // JSON ... + JSON DataFormat = "JSON" + // MULTIJSON ... + MULTIJSON DataFormat = "MULTIJSON" + // PSV ... + PSV DataFormat = "PSV" + // RAW ... + RAW DataFormat = "RAW" + // SCSV ... + SCSV DataFormat = "SCSV" + // SINGLEJSON ... + SINGLEJSON DataFormat = "SINGLEJSON" + // SOHSV ... + SOHSV DataFormat = "SOHSV" + // TSV ... + TSV DataFormat = "TSV" + // TSVE ... + TSVE DataFormat = "TSVE" + // TXT ... + TXT DataFormat = "TXT" +) + +// PossibleDataFormatValues returns an array of possible values for the DataFormat const type. +func PossibleDataFormatValues() []DataFormat { + return []DataFormat{AVRO, CSV, JSON, MULTIJSON, PSV, RAW, SCSV, SINGLEJSON, SOHSV, TSV, TSVE, TXT} +} + +// DefaultPrincipalsModificationKind enumerates the values for default principals modification kind. +type DefaultPrincipalsModificationKind string + +const ( + // DefaultPrincipalsModificationKindNone ... + DefaultPrincipalsModificationKindNone DefaultPrincipalsModificationKind = "None" + // DefaultPrincipalsModificationKindReplace ... + DefaultPrincipalsModificationKindReplace DefaultPrincipalsModificationKind = "Replace" + // DefaultPrincipalsModificationKindUnion ... + DefaultPrincipalsModificationKindUnion DefaultPrincipalsModificationKind = "Union" +) + +// PossibleDefaultPrincipalsModificationKindValues returns an array of possible values for the DefaultPrincipalsModificationKind const type. +func PossibleDefaultPrincipalsModificationKindValues() []DefaultPrincipalsModificationKind { + return []DefaultPrincipalsModificationKind{DefaultPrincipalsModificationKindNone, DefaultPrincipalsModificationKindReplace, DefaultPrincipalsModificationKindUnion} +} + +// IdentityType enumerates the values for identity type. +type IdentityType string + +const ( + // IdentityTypeNone ... + IdentityTypeNone IdentityType = "None" + // IdentityTypeSystemAssigned ... + IdentityTypeSystemAssigned IdentityType = "SystemAssigned" +) + +// PossibleIdentityTypeValues returns an array of possible values for the IdentityType const type. +func PossibleIdentityTypeValues() []IdentityType { + return []IdentityType{IdentityTypeNone, IdentityTypeSystemAssigned} +} + +// Kind enumerates the values for kind. +type Kind string + +const ( + // KindDatabase ... + KindDatabase Kind = "Database" + // KindReadOnlyFollowing ... + KindReadOnlyFollowing Kind = "ReadOnlyFollowing" + // KindReadWrite ... + KindReadWrite Kind = "ReadWrite" +) + +// PossibleKindValues returns an array of possible values for the Kind const type. +func PossibleKindValues() []Kind { + return []Kind{KindDatabase, KindReadOnlyFollowing, KindReadWrite} +} + +// KindBasicDataConnection enumerates the values for kind basic data connection. +type KindBasicDataConnection string + +const ( + // KindDataConnection ... + KindDataConnection KindBasicDataConnection = "DataConnection" + // KindEventGrid ... + KindEventGrid KindBasicDataConnection = "EventGrid" + // KindEventHub ... + KindEventHub KindBasicDataConnection = "EventHub" + // KindIotHub ... + KindIotHub KindBasicDataConnection = "IotHub" +) + +// PossibleKindBasicDataConnectionValues returns an array of possible values for the KindBasicDataConnection const type. +func PossibleKindBasicDataConnectionValues() []KindBasicDataConnection { + return []KindBasicDataConnection{KindDataConnection, KindEventGrid, KindEventHub, KindIotHub} +} + +// PrincipalsModificationKind enumerates the values for principals modification kind. +type PrincipalsModificationKind string + +const ( + // PrincipalsModificationKindNone ... + PrincipalsModificationKindNone PrincipalsModificationKind = "None" + // PrincipalsModificationKindReplace ... + PrincipalsModificationKindReplace PrincipalsModificationKind = "Replace" + // PrincipalsModificationKindUnion ... + PrincipalsModificationKindUnion PrincipalsModificationKind = "Union" +) + +// PossiblePrincipalsModificationKindValues returns an array of possible values for the PrincipalsModificationKind const type. +func PossiblePrincipalsModificationKindValues() []PrincipalsModificationKind { + return []PrincipalsModificationKind{PrincipalsModificationKindNone, PrincipalsModificationKindReplace, PrincipalsModificationKindUnion} +} + +// ProvisioningState enumerates the values for provisioning state. +type ProvisioningState string + +const ( + // Creating ... + Creating ProvisioningState = "Creating" + // Deleting ... + Deleting ProvisioningState = "Deleting" + // Failed ... + Failed ProvisioningState = "Failed" + // Moving ... + Moving ProvisioningState = "Moving" + // Running ... + Running ProvisioningState = "Running" + // Succeeded ... + Succeeded ProvisioningState = "Succeeded" +) + +// PossibleProvisioningStateValues returns an array of possible values for the ProvisioningState const type. +func PossibleProvisioningStateValues() []ProvisioningState { + return []ProvisioningState{Creating, Deleting, Failed, Moving, Running, Succeeded} +} + +// Reason enumerates the values for reason. +type Reason string + +const ( + // AlreadyExists ... + AlreadyExists Reason = "AlreadyExists" + // Invalid ... + Invalid Reason = "Invalid" +) + +// PossibleReasonValues returns an array of possible values for the Reason const type. +func PossibleReasonValues() []Reason { + return []Reason{AlreadyExists, Invalid} +} + +// State enumerates the values for state. +type State string + +const ( + // StateCreating ... + StateCreating State = "Creating" + // StateDeleted ... + StateDeleted State = "Deleted" + // StateDeleting ... + StateDeleting State = "Deleting" + // StateRunning ... + StateRunning State = "Running" + // StateStarting ... + StateStarting State = "Starting" + // StateStopped ... + StateStopped State = "Stopped" + // StateStopping ... + StateStopping State = "Stopping" + // StateUnavailable ... + StateUnavailable State = "Unavailable" + // StateUpdating ... + StateUpdating State = "Updating" +) + +// PossibleStateValues returns an array of possible values for the State const type. +func PossibleStateValues() []State { + return []State{StateCreating, StateDeleted, StateDeleting, StateRunning, StateStarting, StateStopped, StateStopping, StateUnavailable, StateUpdating} +} + +// Type enumerates the values for type. +type Type string + +const ( + // MicrosoftKustoclustersattachedDatabaseConfigurations ... + MicrosoftKustoclustersattachedDatabaseConfigurations Type = "Microsoft.Kusto/clusters/attachedDatabaseConfigurations" + // MicrosoftKustoclustersdatabases ... + MicrosoftKustoclustersdatabases Type = "Microsoft.Kusto/clusters/databases" +) + +// PossibleTypeValues returns an array of possible values for the Type const type. +func PossibleTypeValues() []Type { + return []Type{MicrosoftKustoclustersattachedDatabaseConfigurations, MicrosoftKustoclustersdatabases} +} + +// AttachedDatabaseConfiguration class representing an attached database configuration. +type AttachedDatabaseConfiguration struct { + autorest.Response `json:"-"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // AttachedDatabaseConfigurationProperties - The properties of the attached database configuration. + *AttachedDatabaseConfigurationProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; The name of the resource + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for AttachedDatabaseConfiguration. +func (adc AttachedDatabaseConfiguration) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if adc.Location != nil { + objectMap["location"] = adc.Location + } + if adc.AttachedDatabaseConfigurationProperties != nil { + objectMap["properties"] = adc.AttachedDatabaseConfigurationProperties + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for AttachedDatabaseConfiguration struct. +func (adc *AttachedDatabaseConfiguration) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + adc.Location = &location + } + case "properties": + if v != nil { + var attachedDatabaseConfigurationProperties AttachedDatabaseConfigurationProperties + err = json.Unmarshal(*v, &attachedDatabaseConfigurationProperties) + if err != nil { + return err + } + adc.AttachedDatabaseConfigurationProperties = &attachedDatabaseConfigurationProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + adc.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + adc.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + adc.Type = &typeVar + } + } + } + + return nil +} + +// AttachedDatabaseConfigurationListResult the list attached database configurations operation response. +type AttachedDatabaseConfigurationListResult struct { + autorest.Response `json:"-"` + // Value - The list of attached database configurations. + Value *[]AttachedDatabaseConfiguration `json:"value,omitempty"` +} + +// AttachedDatabaseConfigurationProperties class representing the an attached database configuration +// properties of kind specific. +type AttachedDatabaseConfigurationProperties struct { + // ProvisioningState - READ-ONLY; The provisioned state of the resource. Possible values include: 'Running', 'Creating', 'Deleting', 'Succeeded', 'Failed', 'Moving' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + // DatabaseName - The name of the database which you would like to attach, use * if you want to follow all current and future databases. + DatabaseName *string `json:"databaseName,omitempty"` + // ClusterResourceID - The resource id of the cluster where the databases you would like to attach reside. + ClusterResourceID *string `json:"clusterResourceId,omitempty"` + // AttachedDatabaseNames - READ-ONLY; The list of databases from the clusterResourceId which are currently attached to the cluster. + AttachedDatabaseNames *[]string `json:"attachedDatabaseNames,omitempty"` + // DefaultPrincipalsModificationKind - The default principals modification kind. Possible values include: 'DefaultPrincipalsModificationKindUnion', 'DefaultPrincipalsModificationKindReplace', 'DefaultPrincipalsModificationKindNone' + DefaultPrincipalsModificationKind DefaultPrincipalsModificationKind `json:"defaultPrincipalsModificationKind,omitempty"` +} + +// AttachedDatabaseConfigurationsCreateOrUpdateFuture an abstraction for monitoring and retrieving the +// results of a long-running operation. +type AttachedDatabaseConfigurationsCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *AttachedDatabaseConfigurationsCreateOrUpdateFuture) Result(client AttachedDatabaseConfigurationsClient) (adc AttachedDatabaseConfiguration, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "kusto.AttachedDatabaseConfigurationsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("kusto.AttachedDatabaseConfigurationsCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if adc.Response.Response, err = future.GetResult(sender); err == nil && adc.Response.Response.StatusCode != http.StatusNoContent { + adc, err = client.CreateOrUpdateResponder(adc.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "kusto.AttachedDatabaseConfigurationsCreateOrUpdateFuture", "Result", adc.Response.Response, "Failure responding to request") + } + } + return +} + +// AttachedDatabaseConfigurationsDeleteFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type AttachedDatabaseConfigurationsDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *AttachedDatabaseConfigurationsDeleteFuture) Result(client AttachedDatabaseConfigurationsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "kusto.AttachedDatabaseConfigurationsDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("kusto.AttachedDatabaseConfigurationsDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// AzureCapacity azure capacity definition. +type AzureCapacity struct { + // ScaleType - Scale type. Possible values include: 'Automatic', 'Manual', 'None' + ScaleType AzureScaleType `json:"scaleType,omitempty"` + // Minimum - Minimum allowed capacity. + Minimum *int32 `json:"minimum,omitempty"` + // Maximum - Maximum allowed capacity. + Maximum *int32 `json:"maximum,omitempty"` + // Default - The default capacity that would be used. + Default *int32 `json:"default,omitempty"` +} + +// AzureEntityResource the resource model definition for a Azure Resource Manager resource with an etag. +type AzureEntityResource struct { + // Etag - READ-ONLY; Resource Etag. + Etag *string `json:"etag,omitempty"` + // ID - READ-ONLY; Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; The name of the resource + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + Type *string `json:"type,omitempty"` +} + +// AzureResourceSku azure resource SKU definition. +type AzureResourceSku struct { + // ResourceType - Resource Namespace and Type. + ResourceType *string `json:"resourceType,omitempty"` + // Sku - The SKU details. + Sku *AzureSku `json:"sku,omitempty"` + // Capacity - The number of instances of the cluster. + Capacity *AzureCapacity `json:"capacity,omitempty"` +} + +// AzureSku azure SKU definition. +type AzureSku struct { + // Name - SKU name. Possible values include: 'StandardDS13V21TBPS', 'StandardDS13V22TBPS', 'StandardDS14V23TBPS', 'StandardDS14V24TBPS', 'StandardD13V2', 'StandardD14V2', 'StandardL8s', 'StandardL16s', 'StandardD11V2', 'StandardD12V2', 'StandardL4s', 'DevNoSLAStandardD11V2' + Name AzureSkuName `json:"name,omitempty"` + // Capacity - The number of instances of the cluster. + Capacity *int32 `json:"capacity,omitempty"` + // Tier - SKU tier. Possible values include: 'Basic', 'Standard' + Tier AzureSkuTier `json:"tier,omitempty"` +} + +// CheckNameRequest the result returned from a database check name availability request. +type CheckNameRequest struct { + // Name - Resource name. + Name *string `json:"name,omitempty"` + // Type - The type of resource, for instance Microsoft.Kusto/clusters/databases. Possible values include: 'MicrosoftKustoclustersdatabases', 'MicrosoftKustoclustersattachedDatabaseConfigurations' + Type Type `json:"type,omitempty"` +} + +// CheckNameResult the result returned from a check name availability request. +type CheckNameResult struct { + autorest.Response `json:"-"` + // NameAvailable - Specifies a Boolean value that indicates if the name is available. + NameAvailable *bool `json:"nameAvailable,omitempty"` + // Name - The name that was checked. + Name *string `json:"name,omitempty"` + // Message - Message indicating an unavailable name due to a conflict, or a description of the naming rules that are violated. + Message *string `json:"message,omitempty"` + // Reason - Message providing the reason why the given name is invalid. Possible values include: 'Invalid', 'AlreadyExists' + Reason Reason `json:"reason,omitempty"` +} + +// CloudError an error response from Kusto. +type CloudError struct { + // Error - An error response from Kusto. + Error *CloudErrorBody `json:"error,omitempty"` +} + +// CloudErrorBody an error response from Kusto. +type CloudErrorBody struct { + // Code - An identifier for the error. Codes are invariant and are intended to be consumed programmatically. + Code *string `json:"code,omitempty"` + // Message - A message describing the error, intended to be suitable for displaying in a user interface. + Message *string `json:"message,omitempty"` + // Target - The target of the particular error. For example, the name of the property in error. + Target *string `json:"target,omitempty"` + // Details - A list of additional details about the error. + Details *[]CloudErrorBody `json:"details,omitempty"` +} + +// Cluster class representing a Kusto cluster. +type Cluster struct { + autorest.Response `json:"-"` + // Sku - The SKU of the cluster. + Sku *AzureSku `json:"sku,omitempty"` + // Zones - The availability zones of the cluster. + Zones *[]string `json:"zones,omitempty"` + // Identity - The identity of the cluster, if configured. + Identity *Identity `json:"identity,omitempty"` + // ClusterProperties - The cluster properties. + *ClusterProperties `json:"properties,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` + // Location - The geo-location where the resource lives + Location *string `json:"location,omitempty"` + // ID - READ-ONLY; Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; The name of the resource + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for Cluster. +func (c Cluster) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if c.Sku != nil { + objectMap["sku"] = c.Sku + } + if c.Zones != nil { + objectMap["zones"] = c.Zones + } + if c.Identity != nil { + objectMap["identity"] = c.Identity + } + if c.ClusterProperties != nil { + objectMap["properties"] = c.ClusterProperties + } + if c.Tags != nil { + objectMap["tags"] = c.Tags + } + if c.Location != nil { + objectMap["location"] = c.Location + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for Cluster struct. +func (c *Cluster) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "sku": + if v != nil { + var sku AzureSku + err = json.Unmarshal(*v, &sku) + if err != nil { + return err + } + c.Sku = &sku + } + case "zones": + if v != nil { + var zones []string + err = json.Unmarshal(*v, &zones) + if err != nil { + return err + } + c.Zones = &zones + } + case "identity": + if v != nil { + var identity Identity + err = json.Unmarshal(*v, &identity) + if err != nil { + return err + } + c.Identity = &identity + } + case "properties": + if v != nil { + var clusterProperties ClusterProperties + err = json.Unmarshal(*v, &clusterProperties) + if err != nil { + return err + } + c.ClusterProperties = &clusterProperties + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + c.Tags = tags + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + c.Location = &location + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + c.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + c.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + c.Type = &typeVar + } + } + } + + return nil +} + +// ClusterCheckNameRequest the result returned from a cluster check name availability request. +type ClusterCheckNameRequest struct { + // Name - Cluster name. + Name *string `json:"name,omitempty"` + // Type - The type of resource, Microsoft.Kusto/clusters. + Type *string `json:"type,omitempty"` +} + +// ClusterListResult the list Kusto clusters operation response. +type ClusterListResult struct { + autorest.Response `json:"-"` + // Value - The list of Kusto clusters. + Value *[]Cluster `json:"value,omitempty"` +} + +// ClusterProperties class representing the Kusto cluster properties. +type ClusterProperties struct { + // State - READ-ONLY; The state of the resource. Possible values include: 'StateCreating', 'StateUnavailable', 'StateRunning', 'StateDeleting', 'StateDeleted', 'StateStopping', 'StateStopped', 'StateStarting', 'StateUpdating' + State State `json:"state,omitempty"` + // ProvisioningState - READ-ONLY; The provisioned state of the resource. Possible values include: 'Running', 'Creating', 'Deleting', 'Succeeded', 'Failed', 'Moving' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + // URI - READ-ONLY; The cluster URI. + URI *string `json:"uri,omitempty"` + // DataIngestionURI - READ-ONLY; The cluster data ingestion URI. + DataIngestionURI *string `json:"dataIngestionUri,omitempty"` + // TrustedExternalTenants - The cluster's external tenants. + TrustedExternalTenants *[]TrustedExternalTenant `json:"trustedExternalTenants,omitempty"` + // OptimizedAutoscale - Optimized auto scale definition. + OptimizedAutoscale *OptimizedAutoscale `json:"optimizedAutoscale,omitempty"` + // EnableDiskEncryption - A boolean value that indicates if the cluster's disks are encrypted. + EnableDiskEncryption *bool `json:"enableDiskEncryption,omitempty"` + // EnableStreamingIngest - A boolean value that indicates if the streaming ingest is enabled. + EnableStreamingIngest *bool `json:"enableStreamingIngest,omitempty"` + // VirtualNetworkConfiguration - Virtual network definition. + VirtualNetworkConfiguration *VirtualNetworkConfiguration `json:"virtualNetworkConfiguration,omitempty"` + // KeyVaultProperties - KeyVault properties for the cluster encryption. + KeyVaultProperties *KeyVaultProperties `json:"keyVaultProperties,omitempty"` +} + +// ClustersCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type ClustersCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ClustersCreateOrUpdateFuture) Result(client ClustersClient) (c Cluster, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "kusto.ClustersCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("kusto.ClustersCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if c.Response.Response, err = future.GetResult(sender); err == nil && c.Response.Response.StatusCode != http.StatusNoContent { + c, err = client.CreateOrUpdateResponder(c.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "kusto.ClustersCreateOrUpdateFuture", "Result", c.Response.Response, "Failure responding to request") + } + } + return +} + +// ClustersDeleteFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type ClustersDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ClustersDeleteFuture) Result(client ClustersClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "kusto.ClustersDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("kusto.ClustersDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// ClustersDetachFollowerDatabasesFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type ClustersDetachFollowerDatabasesFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ClustersDetachFollowerDatabasesFuture) Result(client ClustersClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "kusto.ClustersDetachFollowerDatabasesFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("kusto.ClustersDetachFollowerDatabasesFuture") + return + } + ar.Response = future.Response() + return +} + +// ClustersStartFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type ClustersStartFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ClustersStartFuture) Result(client ClustersClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "kusto.ClustersStartFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("kusto.ClustersStartFuture") + return + } + ar.Response = future.Response() + return +} + +// ClustersStopFuture an abstraction for monitoring and retrieving the results of a long-running operation. +type ClustersStopFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ClustersStopFuture) Result(client ClustersClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "kusto.ClustersStopFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("kusto.ClustersStopFuture") + return + } + ar.Response = future.Response() + return +} + +// ClustersUpdateFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type ClustersUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ClustersUpdateFuture) Result(client ClustersClient) (c Cluster, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "kusto.ClustersUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("kusto.ClustersUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if c.Response.Response, err = future.GetResult(sender); err == nil && c.Response.Response.StatusCode != http.StatusNoContent { + c, err = client.UpdateResponder(c.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "kusto.ClustersUpdateFuture", "Result", c.Response.Response, "Failure responding to request") + } + } + return +} + +// ClusterUpdate class representing an update to a Kusto cluster. +type ClusterUpdate struct { + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Sku - The SKU of the cluster. + Sku *AzureSku `json:"sku,omitempty"` + // Identity - The identity of the cluster, if configured. + Identity *Identity `json:"identity,omitempty"` + // ClusterProperties - The cluster properties. + *ClusterProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; The name of the resource + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for ClusterUpdate. +func (cu ClusterUpdate) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if cu.Tags != nil { + objectMap["tags"] = cu.Tags + } + if cu.Location != nil { + objectMap["location"] = cu.Location + } + if cu.Sku != nil { + objectMap["sku"] = cu.Sku + } + if cu.Identity != nil { + objectMap["identity"] = cu.Identity + } + if cu.ClusterProperties != nil { + objectMap["properties"] = cu.ClusterProperties + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ClusterUpdate struct. +func (cu *ClusterUpdate) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + cu.Tags = tags + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + cu.Location = &location + } + case "sku": + if v != nil { + var sku AzureSku + err = json.Unmarshal(*v, &sku) + if err != nil { + return err + } + cu.Sku = &sku + } + case "identity": + if v != nil { + var identity Identity + err = json.Unmarshal(*v, &identity) + if err != nil { + return err + } + cu.Identity = &identity + } + case "properties": + if v != nil { + var clusterProperties ClusterProperties + err = json.Unmarshal(*v, &clusterProperties) + if err != nil { + return err + } + cu.ClusterProperties = &clusterProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + cu.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + cu.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + cu.Type = &typeVar + } + } + } + + return nil +} + +// BasicDatabase class representing a Kusto database. +type BasicDatabase interface { + AsReadWriteDatabase() (*ReadWriteDatabase, bool) + AsReadOnlyFollowingDatabase() (*ReadOnlyFollowingDatabase, bool) + AsDatabase() (*Database, bool) +} + +// Database class representing a Kusto database. +type Database struct { + autorest.Response `json:"-"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Kind - Possible values include: 'KindDatabase', 'KindReadWrite', 'KindReadOnlyFollowing' + Kind Kind `json:"kind,omitempty"` + // ID - READ-ONLY; Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; The name of the resource + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + Type *string `json:"type,omitempty"` +} + +func unmarshalBasicDatabase(body []byte) (BasicDatabase, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["kind"] { + case string(KindReadWrite): + var rwd ReadWriteDatabase + err := json.Unmarshal(body, &rwd) + return rwd, err + case string(KindReadOnlyFollowing): + var rofd ReadOnlyFollowingDatabase + err := json.Unmarshal(body, &rofd) + return rofd, err + default: + var d Database + err := json.Unmarshal(body, &d) + return d, err + } +} +func unmarshalBasicDatabaseArray(body []byte) ([]BasicDatabase, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + dArray := make([]BasicDatabase, len(rawMessages)) + + for index, rawMessage := range rawMessages { + d, err := unmarshalBasicDatabase(*rawMessage) + if err != nil { + return nil, err + } + dArray[index] = d + } + return dArray, nil +} + +// MarshalJSON is the custom marshaler for Database. +func (d Database) MarshalJSON() ([]byte, error) { + d.Kind = KindDatabase + objectMap := make(map[string]interface{}) + if d.Location != nil { + objectMap["location"] = d.Location + } + if d.Kind != "" { + objectMap["kind"] = d.Kind + } + return json.Marshal(objectMap) +} + +// AsReadWriteDatabase is the BasicDatabase implementation for Database. +func (d Database) AsReadWriteDatabase() (*ReadWriteDatabase, bool) { + return nil, false +} + +// AsReadOnlyFollowingDatabase is the BasicDatabase implementation for Database. +func (d Database) AsReadOnlyFollowingDatabase() (*ReadOnlyFollowingDatabase, bool) { + return nil, false +} + +// AsDatabase is the BasicDatabase implementation for Database. +func (d Database) AsDatabase() (*Database, bool) { + return &d, true +} + +// AsBasicDatabase is the BasicDatabase implementation for Database. +func (d Database) AsBasicDatabase() (BasicDatabase, bool) { + return &d, true +} + +// DatabaseListResult the list Kusto databases operation response. +type DatabaseListResult struct { + autorest.Response `json:"-"` + // Value - The list of Kusto databases. + Value *[]BasicDatabase `json:"value,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for DatabaseListResult struct. +func (dlr *DatabaseListResult) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "value": + if v != nil { + value, err := unmarshalBasicDatabaseArray(*v) + if err != nil { + return err + } + dlr.Value = &value + } + } + } + + return nil +} + +// DatabaseModel ... +type DatabaseModel struct { + autorest.Response `json:"-"` + Value BasicDatabase `json:"value,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for DatabaseModel struct. +func (dm *DatabaseModel) UnmarshalJSON(body []byte) error { + d, err := unmarshalBasicDatabase(body) + if err != nil { + return err + } + dm.Value = d + + return nil +} + +// DatabasePrincipal a class representing database principal entity. +type DatabasePrincipal struct { + // Role - Database principal role. Possible values include: 'Admin', 'Ingestor', 'Monitor', 'User', 'UnrestrictedViewers', 'Viewer' + Role DatabasePrincipalRole `json:"role,omitempty"` + // Name - Database principal name. + Name *string `json:"name,omitempty"` + // Type - Database principal type. Possible values include: 'DatabasePrincipalTypeApp', 'DatabasePrincipalTypeGroup', 'DatabasePrincipalTypeUser' + Type DatabasePrincipalType `json:"type,omitempty"` + // Fqn - Database principal fully qualified name. + Fqn *string `json:"fqn,omitempty"` + // Email - Database principal email if exists. + Email *string `json:"email,omitempty"` + // AppID - Application id - relevant only for application principal type. + AppID *string `json:"appId,omitempty"` + // TenantName - READ-ONLY; The tenant name of the principal + TenantName *string `json:"tenantName,omitempty"` +} + +// DatabasePrincipalListRequest the list Kusto database principals operation request. +type DatabasePrincipalListRequest struct { + // Value - The list of Kusto database principals. + Value *[]DatabasePrincipal `json:"value,omitempty"` +} + +// DatabasePrincipalListResult the list Kusto database principals operation response. +type DatabasePrincipalListResult struct { + autorest.Response `json:"-"` + // Value - The list of Kusto database principals. + Value *[]DatabasePrincipal `json:"value,omitempty"` +} + +// DatabasesCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type DatabasesCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *DatabasesCreateOrUpdateFuture) Result(client DatabasesClient) (dm DatabaseModel, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "kusto.DatabasesCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("kusto.DatabasesCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if dm.Response.Response, err = future.GetResult(sender); err == nil && dm.Response.Response.StatusCode != http.StatusNoContent { + dm, err = client.CreateOrUpdateResponder(dm.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "kusto.DatabasesCreateOrUpdateFuture", "Result", dm.Response.Response, "Failure responding to request") + } + } + return +} + +// DatabasesDeleteFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type DatabasesDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *DatabasesDeleteFuture) Result(client DatabasesClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "kusto.DatabasesDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("kusto.DatabasesDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// DatabaseStatistics a class that contains database statistics information. +type DatabaseStatistics struct { + // Size - The database size - the total size of compressed data and index in bytes. + Size *float64 `json:"size,omitempty"` +} + +// DatabasesUpdateFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type DatabasesUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *DatabasesUpdateFuture) Result(client DatabasesClient) (dm DatabaseModel, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "kusto.DatabasesUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("kusto.DatabasesUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if dm.Response.Response, err = future.GetResult(sender); err == nil && dm.Response.Response.StatusCode != http.StatusNoContent { + dm, err = client.UpdateResponder(dm.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "kusto.DatabasesUpdateFuture", "Result", dm.Response.Response, "Failure responding to request") + } + } + return +} + +// BasicDataConnection class representing an data connection. +type BasicDataConnection interface { + AsEventHubDataConnection() (*EventHubDataConnection, bool) + AsIotHubDataConnection() (*IotHubDataConnection, bool) + AsEventGridDataConnection() (*EventGridDataConnection, bool) + AsDataConnection() (*DataConnection, bool) +} + +// DataConnection class representing an data connection. +type DataConnection struct { + autorest.Response `json:"-"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Kind - Possible values include: 'KindDataConnection', 'KindEventHub', 'KindIotHub', 'KindEventGrid' + Kind KindBasicDataConnection `json:"kind,omitempty"` + // ID - READ-ONLY; Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; The name of the resource + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + Type *string `json:"type,omitempty"` +} + +func unmarshalBasicDataConnection(body []byte) (BasicDataConnection, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["kind"] { + case string(KindEventHub): + var ehdc EventHubDataConnection + err := json.Unmarshal(body, &ehdc) + return ehdc, err + case string(KindIotHub): + var ihdc IotHubDataConnection + err := json.Unmarshal(body, &ihdc) + return ihdc, err + case string(KindEventGrid): + var egdc EventGridDataConnection + err := json.Unmarshal(body, &egdc) + return egdc, err + default: + var dc DataConnection + err := json.Unmarshal(body, &dc) + return dc, err + } +} +func unmarshalBasicDataConnectionArray(body []byte) ([]BasicDataConnection, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + dcArray := make([]BasicDataConnection, len(rawMessages)) + + for index, rawMessage := range rawMessages { + dc, err := unmarshalBasicDataConnection(*rawMessage) + if err != nil { + return nil, err + } + dcArray[index] = dc + } + return dcArray, nil +} + +// MarshalJSON is the custom marshaler for DataConnection. +func (dc DataConnection) MarshalJSON() ([]byte, error) { + dc.Kind = KindDataConnection + objectMap := make(map[string]interface{}) + if dc.Location != nil { + objectMap["location"] = dc.Location + } + if dc.Kind != "" { + objectMap["kind"] = dc.Kind + } + return json.Marshal(objectMap) +} + +// AsEventHubDataConnection is the BasicDataConnection implementation for DataConnection. +func (dc DataConnection) AsEventHubDataConnection() (*EventHubDataConnection, bool) { + return nil, false +} + +// AsIotHubDataConnection is the BasicDataConnection implementation for DataConnection. +func (dc DataConnection) AsIotHubDataConnection() (*IotHubDataConnection, bool) { + return nil, false +} + +// AsEventGridDataConnection is the BasicDataConnection implementation for DataConnection. +func (dc DataConnection) AsEventGridDataConnection() (*EventGridDataConnection, bool) { + return nil, false +} + +// AsDataConnection is the BasicDataConnection implementation for DataConnection. +func (dc DataConnection) AsDataConnection() (*DataConnection, bool) { + return &dc, true +} + +// AsBasicDataConnection is the BasicDataConnection implementation for DataConnection. +func (dc DataConnection) AsBasicDataConnection() (BasicDataConnection, bool) { + return &dc, true +} + +// DataConnectionCheckNameRequest the result returned from a data connections check name availability +// request. +type DataConnectionCheckNameRequest struct { + // Name - Data Connection name. + Name *string `json:"name,omitempty"` + // Type - The type of resource, Microsoft.Kusto/clusters/databases/dataConnections. + Type *string `json:"type,omitempty"` +} + +// DataConnectionListResult the list Kusto data connections operation response. +type DataConnectionListResult struct { + autorest.Response `json:"-"` + // Value - The list of Kusto data connections. + Value *[]BasicDataConnection `json:"value,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for DataConnectionListResult struct. +func (dclr *DataConnectionListResult) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "value": + if v != nil { + value, err := unmarshalBasicDataConnectionArray(*v) + if err != nil { + return err + } + dclr.Value = &value + } + } + } + + return nil +} + +// DataConnectionModel ... +type DataConnectionModel struct { + autorest.Response `json:"-"` + Value BasicDataConnection `json:"value,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for DataConnectionModel struct. +func (dcm *DataConnectionModel) UnmarshalJSON(body []byte) error { + dc, err := unmarshalBasicDataConnection(body) + if err != nil { + return err + } + dcm.Value = dc + + return nil +} + +// DataConnectionsCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type DataConnectionsCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *DataConnectionsCreateOrUpdateFuture) Result(client DataConnectionsClient) (dcm DataConnectionModel, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "kusto.DataConnectionsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("kusto.DataConnectionsCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if dcm.Response.Response, err = future.GetResult(sender); err == nil && dcm.Response.Response.StatusCode != http.StatusNoContent { + dcm, err = client.CreateOrUpdateResponder(dcm.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "kusto.DataConnectionsCreateOrUpdateFuture", "Result", dcm.Response.Response, "Failure responding to request") + } + } + return +} + +// DataConnectionsDeleteFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type DataConnectionsDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *DataConnectionsDeleteFuture) Result(client DataConnectionsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "kusto.DataConnectionsDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("kusto.DataConnectionsDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// DataConnectionsUpdateFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type DataConnectionsUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *DataConnectionsUpdateFuture) Result(client DataConnectionsClient) (dcm DataConnectionModel, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "kusto.DataConnectionsUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("kusto.DataConnectionsUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if dcm.Response.Response, err = future.GetResult(sender); err == nil && dcm.Response.Response.StatusCode != http.StatusNoContent { + dcm, err = client.UpdateResponder(dcm.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "kusto.DataConnectionsUpdateFuture", "Result", dcm.Response.Response, "Failure responding to request") + } + } + return +} + +// DataConnectionValidation class representing an data connection validation. +type DataConnectionValidation struct { + // DataConnectionName - The name of the data connection. + DataConnectionName *string `json:"dataConnectionName,omitempty"` + // Properties - The data connection properties to validate. + Properties BasicDataConnection `json:"properties,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for DataConnectionValidation struct. +func (dcv *DataConnectionValidation) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "dataConnectionName": + if v != nil { + var dataConnectionName string + err = json.Unmarshal(*v, &dataConnectionName) + if err != nil { + return err + } + dcv.DataConnectionName = &dataConnectionName + } + case "properties": + if v != nil { + properties, err := unmarshalBasicDataConnection(*v) + if err != nil { + return err + } + dcv.Properties = properties + } + } + } + + return nil +} + +// DataConnectionValidationListResult the list Kusto data connection validation result. +type DataConnectionValidationListResult struct { + autorest.Response `json:"-"` + // Value - The list of Kusto data connection validation errors. + Value *[]DataConnectionValidationResult `json:"value,omitempty"` +} + +// DataConnectionValidationResult the result returned from a data connection validation request. +type DataConnectionValidationResult struct { + // ErrorMessage - A message which indicates a problem in data connection validation. + ErrorMessage *string `json:"errorMessage,omitempty"` +} + +// EventGridConnectionProperties class representing the Kusto event grid connection properties. +type EventGridConnectionProperties struct { + // StorageAccountResourceID - The resource ID of the storage account where the data resides. + StorageAccountResourceID *string `json:"storageAccountResourceId,omitempty"` + // EventHubResourceID - The resource ID where the event grid is configured to send events. + EventHubResourceID *string `json:"eventHubResourceId,omitempty"` + // ConsumerGroup - The event hub consumer group. + ConsumerGroup *string `json:"consumerGroup,omitempty"` + // TableName - The table where the data should be ingested. Optionally the table information can be added to each message. + TableName *string `json:"tableName,omitempty"` + // MappingRuleName - The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message. + MappingRuleName *string `json:"mappingRuleName,omitempty"` + // DataFormat - The data format of the message. Optionally the data format can be added to each message. Possible values include: 'MULTIJSON', 'JSON', 'CSV', 'TSV', 'SCSV', 'SOHSV', 'PSV', 'TXT', 'RAW', 'SINGLEJSON', 'AVRO', 'TSVE' + DataFormat DataFormat `json:"dataFormat,omitempty"` +} + +// EventGridDataConnection class representing an Event Grid data connection. +type EventGridDataConnection struct { + // EventGridConnectionProperties - The properties of the Event Grid data connection. + *EventGridConnectionProperties `json:"properties,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Kind - Possible values include: 'KindDataConnection', 'KindEventHub', 'KindIotHub', 'KindEventGrid' + Kind KindBasicDataConnection `json:"kind,omitempty"` + // ID - READ-ONLY; Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; The name of the resource + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for EventGridDataConnection. +func (egdc EventGridDataConnection) MarshalJSON() ([]byte, error) { + egdc.Kind = KindEventGrid + objectMap := make(map[string]interface{}) + if egdc.EventGridConnectionProperties != nil { + objectMap["properties"] = egdc.EventGridConnectionProperties + } + if egdc.Location != nil { + objectMap["location"] = egdc.Location + } + if egdc.Kind != "" { + objectMap["kind"] = egdc.Kind + } + return json.Marshal(objectMap) +} + +// AsEventHubDataConnection is the BasicDataConnection implementation for EventGridDataConnection. +func (egdc EventGridDataConnection) AsEventHubDataConnection() (*EventHubDataConnection, bool) { + return nil, false +} + +// AsIotHubDataConnection is the BasicDataConnection implementation for EventGridDataConnection. +func (egdc EventGridDataConnection) AsIotHubDataConnection() (*IotHubDataConnection, bool) { + return nil, false +} + +// AsEventGridDataConnection is the BasicDataConnection implementation for EventGridDataConnection. +func (egdc EventGridDataConnection) AsEventGridDataConnection() (*EventGridDataConnection, bool) { + return &egdc, true +} + +// AsDataConnection is the BasicDataConnection implementation for EventGridDataConnection. +func (egdc EventGridDataConnection) AsDataConnection() (*DataConnection, bool) { + return nil, false +} + +// AsBasicDataConnection is the BasicDataConnection implementation for EventGridDataConnection. +func (egdc EventGridDataConnection) AsBasicDataConnection() (BasicDataConnection, bool) { + return &egdc, true +} + +// UnmarshalJSON is the custom unmarshaler for EventGridDataConnection struct. +func (egdc *EventGridDataConnection) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var eventGridConnectionProperties EventGridConnectionProperties + err = json.Unmarshal(*v, &eventGridConnectionProperties) + if err != nil { + return err + } + egdc.EventGridConnectionProperties = &eventGridConnectionProperties + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + egdc.Location = &location + } + case "kind": + if v != nil { + var kind KindBasicDataConnection + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + egdc.Kind = kind + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + egdc.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + egdc.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + egdc.Type = &typeVar + } + } + } + + return nil +} + +// EventHubConnectionProperties class representing the Kusto event hub connection properties. +type EventHubConnectionProperties struct { + // EventHubResourceID - The resource ID of the event hub to be used to create a data connection. + EventHubResourceID *string `json:"eventHubResourceId,omitempty"` + // ConsumerGroup - The event hub consumer group. + ConsumerGroup *string `json:"consumerGroup,omitempty"` + // TableName - The table where the data should be ingested. Optionally the table information can be added to each message. + TableName *string `json:"tableName,omitempty"` + // MappingRuleName - The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message. + MappingRuleName *string `json:"mappingRuleName,omitempty"` + // DataFormat - The data format of the message. Optionally the data format can be added to each message. Possible values include: 'MULTIJSON', 'JSON', 'CSV', 'TSV', 'SCSV', 'SOHSV', 'PSV', 'TXT', 'RAW', 'SINGLEJSON', 'AVRO', 'TSVE' + DataFormat DataFormat `json:"dataFormat,omitempty"` + // EventSystemProperties - System properties of the event hub + EventSystemProperties *[]string `json:"eventSystemProperties,omitempty"` +} + +// EventHubDataConnection class representing an event hub data connection. +type EventHubDataConnection struct { + // EventHubConnectionProperties - The Event Hub data connection properties to validate. + *EventHubConnectionProperties `json:"properties,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Kind - Possible values include: 'KindDataConnection', 'KindEventHub', 'KindIotHub', 'KindEventGrid' + Kind KindBasicDataConnection `json:"kind,omitempty"` + // ID - READ-ONLY; Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; The name of the resource + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for EventHubDataConnection. +func (ehdc EventHubDataConnection) MarshalJSON() ([]byte, error) { + ehdc.Kind = KindEventHub + objectMap := make(map[string]interface{}) + if ehdc.EventHubConnectionProperties != nil { + objectMap["properties"] = ehdc.EventHubConnectionProperties + } + if ehdc.Location != nil { + objectMap["location"] = ehdc.Location + } + if ehdc.Kind != "" { + objectMap["kind"] = ehdc.Kind + } + return json.Marshal(objectMap) +} + +// AsEventHubDataConnection is the BasicDataConnection implementation for EventHubDataConnection. +func (ehdc EventHubDataConnection) AsEventHubDataConnection() (*EventHubDataConnection, bool) { + return &ehdc, true +} + +// AsIotHubDataConnection is the BasicDataConnection implementation for EventHubDataConnection. +func (ehdc EventHubDataConnection) AsIotHubDataConnection() (*IotHubDataConnection, bool) { + return nil, false +} + +// AsEventGridDataConnection is the BasicDataConnection implementation for EventHubDataConnection. +func (ehdc EventHubDataConnection) AsEventGridDataConnection() (*EventGridDataConnection, bool) { + return nil, false +} + +// AsDataConnection is the BasicDataConnection implementation for EventHubDataConnection. +func (ehdc EventHubDataConnection) AsDataConnection() (*DataConnection, bool) { + return nil, false +} + +// AsBasicDataConnection is the BasicDataConnection implementation for EventHubDataConnection. +func (ehdc EventHubDataConnection) AsBasicDataConnection() (BasicDataConnection, bool) { + return &ehdc, true +} + +// UnmarshalJSON is the custom unmarshaler for EventHubDataConnection struct. +func (ehdc *EventHubDataConnection) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var eventHubConnectionProperties EventHubConnectionProperties + err = json.Unmarshal(*v, &eventHubConnectionProperties) + if err != nil { + return err + } + ehdc.EventHubConnectionProperties = &eventHubConnectionProperties + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + ehdc.Location = &location + } + case "kind": + if v != nil { + var kind KindBasicDataConnection + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + ehdc.Kind = kind + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + ehdc.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + ehdc.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ehdc.Type = &typeVar + } + } + } + + return nil +} + +// FollowerDatabaseDefinition a class representing follower database request. +type FollowerDatabaseDefinition struct { + // ClusterResourceID - Resource id of the cluster that follows a database owned by this cluster. + ClusterResourceID *string `json:"clusterResourceId,omitempty"` + // AttachedDatabaseConfigurationName - Resource name of the attached database configuration in the follower cluster. + AttachedDatabaseConfigurationName *string `json:"attachedDatabaseConfigurationName,omitempty"` + // DatabaseName - READ-ONLY; The database name owned by this cluster that was followed. * in case following all databases. + DatabaseName *string `json:"databaseName,omitempty"` +} + +// FollowerDatabaseListResult the list Kusto database principals operation response. +type FollowerDatabaseListResult struct { + autorest.Response `json:"-"` + // Value - The list of follower database result. + Value *[]FollowerDatabaseDefinition `json:"value,omitempty"` +} + +// Identity identity for the resource. +type Identity struct { + // PrincipalID - READ-ONLY; The principal ID of resource identity. + PrincipalID *string `json:"principalId,omitempty"` + // TenantID - READ-ONLY; The tenant ID of resource. + TenantID *string `json:"tenantId,omitempty"` + // Type - The identity type. Possible values include: 'IdentityTypeNone', 'IdentityTypeSystemAssigned' + Type IdentityType `json:"type,omitempty"` + // UserAssignedIdentities - The list of user identities associated with the Kusto cluster. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + UserAssignedIdentities map[string]*IdentityUserAssignedIdentitiesValue `json:"userAssignedIdentities"` +} + +// MarshalJSON is the custom marshaler for Identity. +func (i Identity) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if i.Type != "" { + objectMap["type"] = i.Type + } + if i.UserAssignedIdentities != nil { + objectMap["userAssignedIdentities"] = i.UserAssignedIdentities + } + return json.Marshal(objectMap) +} + +// IdentityUserAssignedIdentitiesValue ... +type IdentityUserAssignedIdentitiesValue struct { + // PrincipalID - READ-ONLY; The principal id of user assigned identity. + PrincipalID *string `json:"principalId,omitempty"` + // ClientID - READ-ONLY; The client id of user assigned identity. + ClientID *string `json:"clientId,omitempty"` +} + +// IotHubConnectionProperties class representing the Kusto iot hub connection properties. +type IotHubConnectionProperties struct { + // IotHubResourceID - The resource ID of the Iot hub to be used to create a data connection. + IotHubResourceID *string `json:"iotHubResourceId,omitempty"` + // ConsumerGroup - The iot hub consumer group. + ConsumerGroup *string `json:"consumerGroup,omitempty"` + // TableName - The table where the data should be ingested. Optionally the table information can be added to each message. + TableName *string `json:"tableName,omitempty"` + // MappingRuleName - The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message. + MappingRuleName *string `json:"mappingRuleName,omitempty"` + // DataFormat - The data format of the message. Optionally the data format can be added to each message. Possible values include: 'MULTIJSON', 'JSON', 'CSV', 'TSV', 'SCSV', 'SOHSV', 'PSV', 'TXT', 'RAW', 'SINGLEJSON', 'AVRO', 'TSVE' + DataFormat DataFormat `json:"dataFormat,omitempty"` + // EventSystemProperties - System properties of the iot hub + EventSystemProperties *[]string `json:"eventSystemProperties,omitempty"` + // SharedAccessPolicyName - The name of the share access policy name + SharedAccessPolicyName *string `json:"sharedAccessPolicyName,omitempty"` +} + +// IotHubDataConnection class representing an iot hub data connection. +type IotHubDataConnection struct { + // IotHubConnectionProperties - The Iot Hub data connection properties. + *IotHubConnectionProperties `json:"properties,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Kind - Possible values include: 'KindDataConnection', 'KindEventHub', 'KindIotHub', 'KindEventGrid' + Kind KindBasicDataConnection `json:"kind,omitempty"` + // ID - READ-ONLY; Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; The name of the resource + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for IotHubDataConnection. +func (ihdc IotHubDataConnection) MarshalJSON() ([]byte, error) { + ihdc.Kind = KindIotHub + objectMap := make(map[string]interface{}) + if ihdc.IotHubConnectionProperties != nil { + objectMap["properties"] = ihdc.IotHubConnectionProperties + } + if ihdc.Location != nil { + objectMap["location"] = ihdc.Location + } + if ihdc.Kind != "" { + objectMap["kind"] = ihdc.Kind + } + return json.Marshal(objectMap) +} + +// AsEventHubDataConnection is the BasicDataConnection implementation for IotHubDataConnection. +func (ihdc IotHubDataConnection) AsEventHubDataConnection() (*EventHubDataConnection, bool) { + return nil, false +} + +// AsIotHubDataConnection is the BasicDataConnection implementation for IotHubDataConnection. +func (ihdc IotHubDataConnection) AsIotHubDataConnection() (*IotHubDataConnection, bool) { + return &ihdc, true +} + +// AsEventGridDataConnection is the BasicDataConnection implementation for IotHubDataConnection. +func (ihdc IotHubDataConnection) AsEventGridDataConnection() (*EventGridDataConnection, bool) { + return nil, false +} + +// AsDataConnection is the BasicDataConnection implementation for IotHubDataConnection. +func (ihdc IotHubDataConnection) AsDataConnection() (*DataConnection, bool) { + return nil, false +} + +// AsBasicDataConnection is the BasicDataConnection implementation for IotHubDataConnection. +func (ihdc IotHubDataConnection) AsBasicDataConnection() (BasicDataConnection, bool) { + return &ihdc, true +} + +// UnmarshalJSON is the custom unmarshaler for IotHubDataConnection struct. +func (ihdc *IotHubDataConnection) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var iotHubConnectionProperties IotHubConnectionProperties + err = json.Unmarshal(*v, &iotHubConnectionProperties) + if err != nil { + return err + } + ihdc.IotHubConnectionProperties = &iotHubConnectionProperties + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + ihdc.Location = &location + } + case "kind": + if v != nil { + var kind KindBasicDataConnection + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + ihdc.Kind = kind + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + ihdc.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + ihdc.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ihdc.Type = &typeVar + } + } + } + + return nil +} + +// KeyVaultProperties properties of the key vault. +type KeyVaultProperties struct { + // KeyName - The name of the key vault key. + KeyName *string `json:"keyName,omitempty"` + // KeyVersion - The version of the key vault key. + KeyVersion *string `json:"keyVersion,omitempty"` + // KeyVaultURI - The Uri of the key vault. + KeyVaultURI *string `json:"keyVaultUri,omitempty"` +} + +// ListResourceSkusResult list of available SKUs for a Kusto Cluster. +type ListResourceSkusResult struct { + autorest.Response `json:"-"` + // Value - The collection of available SKUs for an existing resource. + Value *[]AzureResourceSku `json:"value,omitempty"` +} + +// Operation ... +type Operation struct { + // Name - This is of the format {provider}/{resource}/{operation}. + Name *string `json:"name,omitempty"` + Display *OperationDisplay `json:"display,omitempty"` + Origin *string `json:"origin,omitempty"` + Properties interface{} `json:"properties,omitempty"` +} + +// OperationDisplay ... +type OperationDisplay struct { + Provider *string `json:"provider,omitempty"` + // Operation - For example: read, write, delete. + Operation *string `json:"operation,omitempty"` + Resource *string `json:"resource,omitempty"` + Description *string `json:"description,omitempty"` +} + +// OperationListResult ... +type OperationListResult struct { + autorest.Response `json:"-"` + Value *[]Operation `json:"value,omitempty"` + NextLink *string `json:"nextLink,omitempty"` +} + +// OperationListResultIterator provides access to a complete listing of Operation values. +type OperationListResultIterator struct { + i int + page OperationListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *OperationListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/OperationListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *OperationListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter OperationListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter OperationListResultIterator) Response() OperationListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter OperationListResultIterator) Value() Operation { + if !iter.page.NotDone() { + return Operation{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the OperationListResultIterator type. +func NewOperationListResultIterator(page OperationListResultPage) OperationListResultIterator { + return OperationListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (olr OperationListResult) IsEmpty() bool { + return olr.Value == nil || len(*olr.Value) == 0 +} + +// operationListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (olr OperationListResult) operationListResultPreparer(ctx context.Context) (*http.Request, error) { + if olr.NextLink == nil || len(to.String(olr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(olr.NextLink))) +} + +// OperationListResultPage contains a page of Operation values. +type OperationListResultPage struct { + fn func(context.Context, OperationListResult) (OperationListResult, error) + olr OperationListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *OperationListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/OperationListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.olr) + if err != nil { + return err + } + page.olr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *OperationListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page OperationListResultPage) NotDone() bool { + return !page.olr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page OperationListResultPage) Response() OperationListResult { + return page.olr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page OperationListResultPage) Values() []Operation { + if page.olr.IsEmpty() { + return nil + } + return *page.olr.Value +} + +// Creates a new instance of the OperationListResultPage type. +func NewOperationListResultPage(getNextPage func(context.Context, OperationListResult) (OperationListResult, error)) OperationListResultPage { + return OperationListResultPage{fn: getNextPage} +} + +// OptimizedAutoscale a class that contains the optimized auto scale definition. +type OptimizedAutoscale struct { + // Version - The version of the template defined, for instance 1. + Version *int32 `json:"version,omitempty"` + // IsEnabled - A boolean value that indicate if the optimized autoscale feature is enabled or not. + IsEnabled *bool `json:"isEnabled,omitempty"` + // Minimum - Minimum allowed instances count. + Minimum *int32 `json:"minimum,omitempty"` + // Maximum - Maximum allowed instances count. + Maximum *int32 `json:"maximum,omitempty"` +} + +// ProxyResource the resource model definition for a ARM proxy resource. It will have everything other than +// required location and tags +type ProxyResource struct { + // ID - READ-ONLY; Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; The name of the resource + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + Type *string `json:"type,omitempty"` +} + +// ReadOnlyFollowingDatabase class representing a read only following database. +type ReadOnlyFollowingDatabase struct { + // ReadOnlyFollowingDatabaseProperties - The database properties. + *ReadOnlyFollowingDatabaseProperties `json:"properties,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Kind - Possible values include: 'KindDatabase', 'KindReadWrite', 'KindReadOnlyFollowing' + Kind Kind `json:"kind,omitempty"` + // ID - READ-ONLY; Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; The name of the resource + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for ReadOnlyFollowingDatabase. +func (rofd ReadOnlyFollowingDatabase) MarshalJSON() ([]byte, error) { + rofd.Kind = KindReadOnlyFollowing + objectMap := make(map[string]interface{}) + if rofd.ReadOnlyFollowingDatabaseProperties != nil { + objectMap["properties"] = rofd.ReadOnlyFollowingDatabaseProperties + } + if rofd.Location != nil { + objectMap["location"] = rofd.Location + } + if rofd.Kind != "" { + objectMap["kind"] = rofd.Kind + } + return json.Marshal(objectMap) +} + +// AsReadWriteDatabase is the BasicDatabase implementation for ReadOnlyFollowingDatabase. +func (rofd ReadOnlyFollowingDatabase) AsReadWriteDatabase() (*ReadWriteDatabase, bool) { + return nil, false +} + +// AsReadOnlyFollowingDatabase is the BasicDatabase implementation for ReadOnlyFollowingDatabase. +func (rofd ReadOnlyFollowingDatabase) AsReadOnlyFollowingDatabase() (*ReadOnlyFollowingDatabase, bool) { + return &rofd, true +} + +// AsDatabase is the BasicDatabase implementation for ReadOnlyFollowingDatabase. +func (rofd ReadOnlyFollowingDatabase) AsDatabase() (*Database, bool) { + return nil, false +} + +// AsBasicDatabase is the BasicDatabase implementation for ReadOnlyFollowingDatabase. +func (rofd ReadOnlyFollowingDatabase) AsBasicDatabase() (BasicDatabase, bool) { + return &rofd, true +} + +// UnmarshalJSON is the custom unmarshaler for ReadOnlyFollowingDatabase struct. +func (rofd *ReadOnlyFollowingDatabase) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var readOnlyFollowingDatabaseProperties ReadOnlyFollowingDatabaseProperties + err = json.Unmarshal(*v, &readOnlyFollowingDatabaseProperties) + if err != nil { + return err + } + rofd.ReadOnlyFollowingDatabaseProperties = &readOnlyFollowingDatabaseProperties + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + rofd.Location = &location + } + case "kind": + if v != nil { + var kind Kind + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + rofd.Kind = kind + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + rofd.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + rofd.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + rofd.Type = &typeVar + } + } + } + + return nil +} + +// ReadOnlyFollowingDatabaseProperties class representing the Kusto database properties. +type ReadOnlyFollowingDatabaseProperties struct { + // ProvisioningState - READ-ONLY; The provisioned state of the resource. Possible values include: 'Running', 'Creating', 'Deleting', 'Succeeded', 'Failed', 'Moving' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + // SoftDeletePeriod - READ-ONLY; The time the data should be kept before it stops being accessible to queries in TimeSpan. + SoftDeletePeriod *string `json:"softDeletePeriod,omitempty"` + // HotCachePeriod - The time the data should be kept in cache for fast queries in TimeSpan. + HotCachePeriod *string `json:"hotCachePeriod,omitempty"` + // Statistics - The statistics of the database. + Statistics *DatabaseStatistics `json:"statistics,omitempty"` + // LeaderClusterResourceID - READ-ONLY; The name of the leader cluster + LeaderClusterResourceID *string `json:"leaderClusterResourceId,omitempty"` + // AttachedDatabaseConfigurationName - READ-ONLY; The name of the attached database configuration cluster + AttachedDatabaseConfigurationName *string `json:"attachedDatabaseConfigurationName,omitempty"` + // PrincipalsModificationKind - READ-ONLY; The principals modification kind of the database. Possible values include: 'PrincipalsModificationKindUnion', 'PrincipalsModificationKindReplace', 'PrincipalsModificationKindNone' + PrincipalsModificationKind PrincipalsModificationKind `json:"principalsModificationKind,omitempty"` +} + +// ReadWriteDatabase class representing a read write database. +type ReadWriteDatabase struct { + // ReadWriteDatabaseProperties - The database properties. + *ReadWriteDatabaseProperties `json:"properties,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Kind - Possible values include: 'KindDatabase', 'KindReadWrite', 'KindReadOnlyFollowing' + Kind Kind `json:"kind,omitempty"` + // ID - READ-ONLY; Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; The name of the resource + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for ReadWriteDatabase. +func (rwd ReadWriteDatabase) MarshalJSON() ([]byte, error) { + rwd.Kind = KindReadWrite + objectMap := make(map[string]interface{}) + if rwd.ReadWriteDatabaseProperties != nil { + objectMap["properties"] = rwd.ReadWriteDatabaseProperties + } + if rwd.Location != nil { + objectMap["location"] = rwd.Location + } + if rwd.Kind != "" { + objectMap["kind"] = rwd.Kind + } + return json.Marshal(objectMap) +} + +// AsReadWriteDatabase is the BasicDatabase implementation for ReadWriteDatabase. +func (rwd ReadWriteDatabase) AsReadWriteDatabase() (*ReadWriteDatabase, bool) { + return &rwd, true +} + +// AsReadOnlyFollowingDatabase is the BasicDatabase implementation for ReadWriteDatabase. +func (rwd ReadWriteDatabase) AsReadOnlyFollowingDatabase() (*ReadOnlyFollowingDatabase, bool) { + return nil, false +} + +// AsDatabase is the BasicDatabase implementation for ReadWriteDatabase. +func (rwd ReadWriteDatabase) AsDatabase() (*Database, bool) { + return nil, false +} + +// AsBasicDatabase is the BasicDatabase implementation for ReadWriteDatabase. +func (rwd ReadWriteDatabase) AsBasicDatabase() (BasicDatabase, bool) { + return &rwd, true +} + +// UnmarshalJSON is the custom unmarshaler for ReadWriteDatabase struct. +func (rwd *ReadWriteDatabase) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var readWriteDatabaseProperties ReadWriteDatabaseProperties + err = json.Unmarshal(*v, &readWriteDatabaseProperties) + if err != nil { + return err + } + rwd.ReadWriteDatabaseProperties = &readWriteDatabaseProperties + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + rwd.Location = &location + } + case "kind": + if v != nil { + var kind Kind + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + rwd.Kind = kind + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + rwd.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + rwd.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + rwd.Type = &typeVar + } + } + } + + return nil +} + +// ReadWriteDatabaseProperties class representing the Kusto database properties. +type ReadWriteDatabaseProperties struct { + // ProvisioningState - READ-ONLY; The provisioned state of the resource. Possible values include: 'Running', 'Creating', 'Deleting', 'Succeeded', 'Failed', 'Moving' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + // SoftDeletePeriod - The time the data should be kept before it stops being accessible to queries in TimeSpan. + SoftDeletePeriod *string `json:"softDeletePeriod,omitempty"` + // HotCachePeriod - The time the data should be kept in cache for fast queries in TimeSpan. + HotCachePeriod *string `json:"hotCachePeriod,omitempty"` + // Statistics - The statistics of the database. + Statistics *DatabaseStatistics `json:"statistics,omitempty"` +} + +// Resource ... +type Resource struct { + // ID - READ-ONLY; Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; The name of the resource + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + Type *string `json:"type,omitempty"` +} + +// SkuDescription the Kusto SKU description of given resource type +type SkuDescription struct { + // ResourceType - READ-ONLY; The resource type + ResourceType *string `json:"resourceType,omitempty"` + // Name - READ-ONLY; The name of the SKU + Name *string `json:"name,omitempty"` + // Tier - READ-ONLY; The tier of the SKU + Tier *string `json:"tier,omitempty"` + // Locations - READ-ONLY; The set of locations that the SKU is available + Locations *[]string `json:"locations,omitempty"` + // LocationInfo - READ-ONLY; Locations and zones + LocationInfo *[]SkuLocationInfoItem `json:"locationInfo,omitempty"` + // Restrictions - READ-ONLY; The restrictions because of which SKU cannot be used + Restrictions *[]interface{} `json:"restrictions,omitempty"` +} + +// SkuDescriptionList the list of the EngagementFabric SKU descriptions +type SkuDescriptionList struct { + autorest.Response `json:"-"` + // Value - READ-ONLY; SKU descriptions + Value *[]SkuDescription `json:"value,omitempty"` +} + +// SkuLocationInfoItem the locations and zones info for SKU. +type SkuLocationInfoItem struct { + // Location - The available location of the SKU. + Location *string `json:"location,omitempty"` + // Zones - The available zone of the SKU. + Zones *[]string `json:"zones,omitempty"` +} + +// TrackedResource the resource model definition for a ARM tracked top level resource +type TrackedResource struct { + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` + // Location - The geo-location where the resource lives + Location *string `json:"location,omitempty"` + // ID - READ-ONLY; Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; The name of the resource + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for TrackedResource. +func (tr TrackedResource) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if tr.Tags != nil { + objectMap["tags"] = tr.Tags + } + if tr.Location != nil { + objectMap["location"] = tr.Location + } + return json.Marshal(objectMap) +} + +// TrustedExternalTenant represents a tenant ID that is trusted by the cluster. +type TrustedExternalTenant struct { + // Value - GUID representing an external tenant. + Value *string `json:"value,omitempty"` +} + +// VirtualNetworkConfiguration a class that contains virtual network definition. +type VirtualNetworkConfiguration struct { + // SubnetID - The subnet resource id. + SubnetID *string `json:"subnetId,omitempty"` + // EnginePublicIPID - Engine service's public IP address resource id. + EnginePublicIPID *string `json:"enginePublicIpId,omitempty"` + // DataManagementPublicIPID - Data management's service public IP address resource id. + DataManagementPublicIPID *string `json:"dataManagementPublicIpId,omitempty"` +} diff --git a/services/preview/devspaces/mgmt/2019-01-01-preview/devspaces/operations.go b/services/kusto/mgmt/2019-09-07/kusto/operations.go similarity index 67% rename from services/preview/devspaces/mgmt/2019-01-01-preview/devspaces/operations.go rename to services/kusto/mgmt/2019-09-07/kusto/operations.go index 54e547567c76..3fe756252f6f 100644 --- a/services/preview/devspaces/mgmt/2019-01-01-preview/devspaces/operations.go +++ b/services/kusto/mgmt/2019-09-07/kusto/operations.go @@ -1,4 +1,4 @@ -package devspaces +package kusto // Copyright (c) Microsoft and contributors. All rights reserved. // @@ -25,7 +25,9 @@ import ( "net/http" ) -// OperationsClient is the dev Spaces Client +// OperationsClient is the the Azure Kusto management API provides a RESTful set of web services that interact with +// Azure Kusto services to manage your clusters and databases. The API enables you to create, update, and delete +// clusters and databases. type OperationsClient struct { BaseClient } @@ -40,14 +42,14 @@ func NewOperationsClientWithBaseURI(baseURI string, subscriptionID string) Opera return OperationsClient{NewWithBaseURI(baseURI, subscriptionID)} } -// List lists all the supported operations by the Microsoft.DevSpaces resource provider along with their description. -func (client OperationsClient) List(ctx context.Context) (result ResourceProviderOperationListPage, err error) { +// List lists available operations for the Microsoft.Kusto provider. +func (client OperationsClient) List(ctx context.Context) (result OperationListResultPage, err error) { if tracing.IsEnabled() { ctx = tracing.StartSpan(ctx, fqdn+"/OperationsClient.List") defer func() { sc := -1 - if result.rpol.Response.Response != nil { - sc = result.rpol.Response.Response.StatusCode + if result.olr.Response.Response != nil { + sc = result.olr.Response.Response.StatusCode } tracing.EndSpan(ctx, sc, err) }() @@ -55,20 +57,20 @@ func (client OperationsClient) List(ctx context.Context) (result ResourceProvide result.fn = client.listNextResults req, err := client.ListPreparer(ctx) if err != nil { - err = autorest.NewErrorWithError(err, "devspaces.OperationsClient", "List", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "kusto.OperationsClient", "List", nil, "Failure preparing request") return } resp, err := client.ListSender(req) if err != nil { - result.rpol.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "devspaces.OperationsClient", "List", resp, "Failure sending request") + result.olr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "kusto.OperationsClient", "List", resp, "Failure sending request") return } - result.rpol, err = client.ListResponder(resp) + result.olr, err = client.ListResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "devspaces.OperationsClient", "List", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "kusto.OperationsClient", "List", resp, "Failure responding to request") } return @@ -76,7 +78,7 @@ func (client OperationsClient) List(ctx context.Context) (result ResourceProvide // ListPreparer prepares the List request. func (client OperationsClient) ListPreparer(ctx context.Context) (*http.Request, error) { - const APIVersion = "2019-01-01-preview" + const APIVersion = "2019-09-07" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -84,7 +86,7 @@ func (client OperationsClient) ListPreparer(ctx context.Context) (*http.Request, preparer := autorest.CreatePreparer( autorest.AsGet(), autorest.WithBaseURL(client.BaseURI), - autorest.WithPath("/providers/Microsoft.DevSpaces/operations"), + autorest.WithPath("/providers/Microsoft.Kusto/operations"), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) } @@ -92,13 +94,13 @@ func (client OperationsClient) ListPreparer(ctx context.Context) (*http.Request, // ListSender sends the List request. The method will close the // http.Response Body if it receives an error. func (client OperationsClient) ListSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // ListResponder handles the response to the List request. The method always // closes the http.Response Body. -func (client OperationsClient) ListResponder(resp *http.Response) (result ResourceProviderOperationList, err error) { +func (client OperationsClient) ListResponder(resp *http.Response) (result OperationListResult, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -110,10 +112,10 @@ func (client OperationsClient) ListResponder(resp *http.Response) (result Resour } // listNextResults retrieves the next set of results, if any. -func (client OperationsClient) listNextResults(ctx context.Context, lastResults ResourceProviderOperationList) (result ResourceProviderOperationList, err error) { - req, err := lastResults.resourceProviderOperationListPreparer(ctx) +func (client OperationsClient) listNextResults(ctx context.Context, lastResults OperationListResult) (result OperationListResult, err error) { + req, err := lastResults.operationListResultPreparer(ctx) if err != nil { - return result, autorest.NewErrorWithError(err, "devspaces.OperationsClient", "listNextResults", nil, "Failure preparing next results request") + return result, autorest.NewErrorWithError(err, "kusto.OperationsClient", "listNextResults", nil, "Failure preparing next results request") } if req == nil { return @@ -121,17 +123,17 @@ func (client OperationsClient) listNextResults(ctx context.Context, lastResults resp, err := client.ListSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "devspaces.OperationsClient", "listNextResults", resp, "Failure sending next results request") + return result, autorest.NewErrorWithError(err, "kusto.OperationsClient", "listNextResults", resp, "Failure sending next results request") } result, err = client.ListResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "devspaces.OperationsClient", "listNextResults", resp, "Failure responding to next results request") + err = autorest.NewErrorWithError(err, "kusto.OperationsClient", "listNextResults", resp, "Failure responding to next results request") } return } // ListComplete enumerates all values, automatically crossing page boundaries as required. -func (client OperationsClient) ListComplete(ctx context.Context) (result ResourceProviderOperationListIterator, err error) { +func (client OperationsClient) ListComplete(ctx context.Context) (result OperationListResultIterator, err error) { if tracing.IsEnabled() { ctx = tracing.StartSpan(ctx, fqdn+"/OperationsClient.List") defer func() { diff --git a/services/batch/2015-12-01.2.2/batch/version.go b/services/kusto/mgmt/2019-09-07/kusto/version.go similarity index 92% rename from services/batch/2015-12-01.2.2/batch/version.go rename to services/kusto/mgmt/2019-09-07/kusto/version.go index 84ce24450b69..f0ff576cbc66 100644 --- a/services/batch/2015-12-01.2.2/batch/version.go +++ b/services/kusto/mgmt/2019-09-07/kusto/version.go @@ -1,4 +1,4 @@ -package batch +package kusto import "github.com/Azure/azure-sdk-for-go/version" @@ -21,7 +21,7 @@ import "github.com/Azure/azure-sdk-for-go/version" // UserAgent returns the UserAgent string to use when sending http.Requests. func UserAgent() string { - return "Azure-SDK-For-Go/" + version.Number + " batch/2015-12-01.2.2" + return "Azure-SDK-For-Go/" + version.Number + " kusto/2019-09-07" } // Version returns the semantic version (see http://semver.org) of the client. diff --git a/services/logic/mgmt/2016-06-01/logic/logicapi/interfaces.go b/services/logic/mgmt/2016-06-01/logic/logicapi/interfaces.go index b72eee1fe4cd..868667281e2e 100644 --- a/services/logic/mgmt/2016-06-01/logic/logicapi/interfaces.go +++ b/services/logic/mgmt/2016-06-01/logic/logicapi/interfaces.go @@ -85,6 +85,7 @@ var _ WorkflowTriggerHistoriesClientAPI = (*logic.WorkflowTriggerHistoriesClient // WorkflowRunsClientAPI contains the set of methods on the WorkflowRunsClient type. type WorkflowRunsClientAPI interface { Cancel(ctx context.Context, resourceGroupName string, workflowName string, runName string) (result autorest.Response, err error) + Delete(ctx context.Context, resourceGroupName string, workflowName string, runName string) (result autorest.Response, err error) Get(ctx context.Context, resourceGroupName string, workflowName string, runName string) (result logic.WorkflowRun, err error) List(ctx context.Context, resourceGroupName string, workflowName string, top *int32, filter string) (result logic.WorkflowRunListResultPage, err error) } diff --git a/services/logic/mgmt/2016-06-01/logic/models.go b/services/logic/mgmt/2016-06-01/logic/models.go index 88623e967a9f..e195bbb13a07 100644 --- a/services/logic/mgmt/2016-06-01/logic/models.go +++ b/services/logic/mgmt/2016-06-01/logic/models.go @@ -4792,7 +4792,7 @@ type WorkflowProperties struct { Sku *Sku `json:"sku,omitempty"` // IntegrationAccount - The integration account. IntegrationAccount *ResourceReference `json:"integrationAccount,omitempty"` - // Definition - The definition. + // Definition - The definition. See [Schema reference for Workflow Definition Language in Azure Logic Apps](https://aka.ms/logic-apps-workflow-definition-language). Definition interface{} `json:"definition,omitempty"` // Parameters - The parameters. Parameters map[string]*WorkflowParameter `json:"parameters"` diff --git a/services/logic/mgmt/2016-06-01/logic/workflowruns.go b/services/logic/mgmt/2016-06-01/logic/workflowruns.go index d40c2b4ed1f5..5049bb1e43e2 100644 --- a/services/logic/mgmt/2016-06-01/logic/workflowruns.go +++ b/services/logic/mgmt/2016-06-01/logic/workflowruns.go @@ -118,6 +118,84 @@ func (client WorkflowRunsClient) CancelResponder(resp *http.Response) (result au return } +// Delete deletes a workflow run. +// Parameters: +// resourceGroupName - the resource group name. +// workflowName - the workflow name. +// runName - the workflow run name. +func (client WorkflowRunsClient) Delete(ctx context.Context, resourceGroupName string, workflowName string, runName string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WorkflowRunsClient.Delete") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, workflowName, runName) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.WorkflowRunsClient", "Delete", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "logic.WorkflowRunsClient", "Delete", resp, "Failure sending request") + return + } + + result, err = client.DeleteResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.WorkflowRunsClient", "Delete", resp, "Failure responding to request") + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client WorkflowRunsClient) DeletePreparer(ctx context.Context, resourceGroupName string, workflowName string, runName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "runName": autorest.Encode("path", runName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "workflowName": autorest.Encode("path", workflowName), + } + + const APIVersion = "2016-06-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client WorkflowRunsClient) DeleteSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client WorkflowRunsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + // Get gets a workflow run. // Parameters: // resourceGroupName - the resource group name. diff --git a/services/machinelearningservices/mgmt/2019-06-01/machinelearningservices/machinelearningservicesapi/interfaces.go b/services/machinelearningservices/mgmt/2019-06-01/machinelearningservices/machinelearningservicesapi/interfaces.go index 6eee7c0c701c..7c99803ab17f 100644 --- a/services/machinelearningservices/mgmt/2019-06-01/machinelearningservices/machinelearningservicesapi/interfaces.go +++ b/services/machinelearningservices/mgmt/2019-06-01/machinelearningservices/machinelearningservicesapi/interfaces.go @@ -46,7 +46,7 @@ var _ WorkspacesClientAPI = (*machinelearningservices.WorkspacesClient)(nil) // UsagesClientAPI contains the set of methods on the UsagesClient type. type UsagesClientAPI interface { - List(ctx context.Context, location string) (result machinelearningservices.ListUsagesResultPage, err error) + List(ctx context.Context, location string, expandChildren string) (result machinelearningservices.ListUsagesResultPage, err error) } var _ UsagesClientAPI = (*machinelearningservices.UsagesClient)(nil) @@ -58,6 +58,14 @@ type VirtualMachineSizesClientAPI interface { var _ VirtualMachineSizesClientAPI = (*machinelearningservices.VirtualMachineSizesClient)(nil) +// QuotasClientAPI contains the set of methods on the QuotasClient type. +type QuotasClientAPI interface { + List(ctx context.Context, location string) (result machinelearningservices.ListWorkspaceQuotasPage, err error) + Update(ctx context.Context, location string, parameters machinelearningservices.QuotaUpdateParameters) (result machinelearningservices.UpdateWorkspaceQuotasResult, err error) +} + +var _ QuotasClientAPI = (*machinelearningservices.QuotasClient)(nil) + // MachineLearningComputeClientAPI contains the set of methods on the MachineLearningComputeClient type. type MachineLearningComputeClientAPI interface { CreateOrUpdate(ctx context.Context, resourceGroupName string, workspaceName string, computeName string, parameters machinelearningservices.ComputeResource) (result machinelearningservices.MachineLearningComputeCreateOrUpdateFuture, err error) diff --git a/services/machinelearningservices/mgmt/2019-06-01/machinelearningservices/models.go b/services/machinelearningservices/mgmt/2019-06-01/machinelearningservices/models.go index 4281ddbfef3b..7086dd2e9dad 100644 --- a/services/machinelearningservices/mgmt/2019-06-01/machinelearningservices/models.go +++ b/services/machinelearningservices/mgmt/2019-06-01/machinelearningservices/models.go @@ -181,6 +181,19 @@ func PossibleProvisioningStateValues() []ProvisioningState { return []ProvisioningState{Canceled, Creating, Deleting, Failed, Succeeded, Unknown, Updating} } +// QuotaUnit enumerates the values for quota unit. +type QuotaUnit string + +const ( + // Count ... + Count QuotaUnit = "Count" +) + +// PossibleQuotaUnitValues returns an array of possible values for the QuotaUnit const type. +func PossibleQuotaUnitValues() []QuotaUnit { + return []QuotaUnit{Count} +} + // RemoteLoginPortPublicAccess enumerates the values for remote login port public access. type RemoteLoginPortPublicAccess string @@ -215,15 +228,38 @@ func PossibleResourceIdentityTypeValues() []ResourceIdentityType { type Status string const ( - // StatusDisabled ... - StatusDisabled Status = "Disabled" - // StatusEnabled ... - StatusEnabled Status = "Enabled" + // Failure ... + Failure Status = "Failure" + // InvalidQuotaBelowClusterMinimum ... + InvalidQuotaBelowClusterMinimum Status = "InvalidQuotaBelowClusterMinimum" + // InvalidQuotaExceedsSubscriptionLimit ... + InvalidQuotaExceedsSubscriptionLimit Status = "InvalidQuotaExceedsSubscriptionLimit" + // InvalidVMFamilyName ... + InvalidVMFamilyName Status = "InvalidVMFamilyName" + // Success ... + Success Status = "Success" + // Undefined ... + Undefined Status = "Undefined" ) // PossibleStatusValues returns an array of possible values for the Status const type. func PossibleStatusValues() []Status { - return []Status{StatusDisabled, StatusEnabled} + return []Status{Failure, InvalidQuotaBelowClusterMinimum, InvalidQuotaExceedsSubscriptionLimit, InvalidVMFamilyName, Success, Undefined} +} + +// Status1 enumerates the values for status 1. +type Status1 string + +const ( + // Status1Disabled ... + Status1Disabled Status1 = "Disabled" + // Status1Enabled ... + Status1Enabled Status1 = "Enabled" +) + +// PossibleStatus1Values returns an array of possible values for the Status1 const type. +func PossibleStatus1Values() []Status1 { + return []Status1{Status1Disabled, Status1Enabled} } // UnderlyingResourceAction enumerates the values for underlying resource action. @@ -245,13 +281,13 @@ func PossibleUnderlyingResourceActionValues() []UnderlyingResourceAction { type UsageUnit string const ( - // Count ... - Count UsageUnit = "Count" + // UsageUnitCount ... + UsageUnitCount UsageUnit = "Count" ) // PossibleUsageUnitValues returns an array of possible values for the UsageUnit const type. func PossibleUsageUnitValues() []UsageUnit { - return []UsageUnit{Count} + return []UsageUnit{UsageUnitCount} } // VMPriority enumerates the values for vm priority. @@ -1735,6 +1771,152 @@ type ListWorkspaceKeysResult struct { ContainerRegistryCredentials *RegistryListCredentialsResult `json:"containerRegistryCredentials,omitempty"` } +// ListWorkspaceQuotas the List WorkspaceQuotasByVMFamily operation response. +type ListWorkspaceQuotas struct { + autorest.Response `json:"-"` + // Value - READ-ONLY; The list of Workspace Quotas by VM Family + Value *[]ResourceQuota `json:"value,omitempty"` + // NextLink - READ-ONLY; The URI to fetch the next page of workspace quota information by VM Family. Call ListNext() with this to fetch the next page of Workspace Quota information. + NextLink *string `json:"nextLink,omitempty"` +} + +// ListWorkspaceQuotasIterator provides access to a complete listing of ResourceQuota values. +type ListWorkspaceQuotasIterator struct { + i int + page ListWorkspaceQuotasPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *ListWorkspaceQuotasIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ListWorkspaceQuotasIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *ListWorkspaceQuotasIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter ListWorkspaceQuotasIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter ListWorkspaceQuotasIterator) Response() ListWorkspaceQuotas { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter ListWorkspaceQuotasIterator) Value() ResourceQuota { + if !iter.page.NotDone() { + return ResourceQuota{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the ListWorkspaceQuotasIterator type. +func NewListWorkspaceQuotasIterator(page ListWorkspaceQuotasPage) ListWorkspaceQuotasIterator { + return ListWorkspaceQuotasIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (lwq ListWorkspaceQuotas) IsEmpty() bool { + return lwq.Value == nil || len(*lwq.Value) == 0 +} + +// listWorkspaceQuotasPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (lwq ListWorkspaceQuotas) listWorkspaceQuotasPreparer(ctx context.Context) (*http.Request, error) { + if lwq.NextLink == nil || len(to.String(lwq.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(lwq.NextLink))) +} + +// ListWorkspaceQuotasPage contains a page of ResourceQuota values. +type ListWorkspaceQuotasPage struct { + fn func(context.Context, ListWorkspaceQuotas) (ListWorkspaceQuotas, error) + lwq ListWorkspaceQuotas +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *ListWorkspaceQuotasPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ListWorkspaceQuotasPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.lwq) + if err != nil { + return err + } + page.lwq = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *ListWorkspaceQuotasPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page ListWorkspaceQuotasPage) NotDone() bool { + return !page.lwq.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page ListWorkspaceQuotasPage) Response() ListWorkspaceQuotas { + return page.lwq +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page ListWorkspaceQuotasPage) Values() []ResourceQuota { + if page.lwq.IsEmpty() { + return nil + } + return *page.lwq.Value +} + +// Creates a new instance of the ListWorkspaceQuotasPage type. +func NewListWorkspaceQuotasPage(getNextPage func(context.Context, ListWorkspaceQuotas) (ListWorkspaceQuotas, error)) ListWorkspaceQuotasPage { + return ListWorkspaceQuotasPage{fn: getNextPage} +} + // MachineLearningComputeCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a // long-running operation. type MachineLearningComputeCreateOrUpdateFuture struct { @@ -2014,6 +2196,24 @@ type Password struct { Value *string `json:"value,omitempty"` } +// QuotaBaseProperties the properties for Quota update or retrieval. +type QuotaBaseProperties struct { + // ID - Specifies the resource ID. + ID *string `json:"id,omitempty"` + // Type - Specifies the resource type. + Type *string `json:"type,omitempty"` + // Limit - The maximum permitted quota of the resource. + Limit *int64 `json:"limit,omitempty"` + // Unit - An enum describing the unit of quota measurement. Possible values include: 'Count' + Unit QuotaUnit `json:"unit,omitempty"` +} + +// QuotaUpdateParameters quota update parameters. +type QuotaUpdateParameters struct { + // Value - The list for update quota. + Value *[]QuotaBaseProperties `json:"value,omitempty"` +} + // RegistryListCredentialsResult ... type RegistryListCredentialsResult struct { // Location - READ-ONLY @@ -2057,6 +2257,28 @@ type ResourceID struct { ID *string `json:"id,omitempty"` } +// ResourceName the Resource Name. +type ResourceName struct { + // Value - READ-ONLY; The name of the resource. + Value *string `json:"value,omitempty"` + // LocalizedValue - READ-ONLY; The localized name of the resource. + LocalizedValue *string `json:"localizedValue,omitempty"` +} + +// ResourceQuota the quota assigned to a resource. +type ResourceQuota struct { + // ID - READ-ONLY; Specifies the resource ID. + ID *string `json:"id,omitempty"` + // Type - READ-ONLY; Specifies the resource type. + Type *string `json:"type,omitempty"` + // Name - READ-ONLY; Name of the resource. + Name *ResourceName `json:"name,omitempty"` + // Limit - READ-ONLY; The maximum permitted quota of the resource. + Limit *int64 `json:"limit,omitempty"` + // Unit - READ-ONLY; An enum describing the unit of quota measurement. Possible values include: 'Count' + Unit QuotaUnit `json:"unit,omitempty"` +} + // ScaleSettings scale settings for AML Compute type ScaleSettings struct { // MaxNodeCount - Max number of nodes to use @@ -2077,8 +2299,8 @@ type ServicePrincipalCredentials struct { // SslConfiguration the ssl configuration for scoring type SslConfiguration struct { - // Status - Enable or disable ssl for scoring. Possible values include: 'StatusDisabled', 'StatusEnabled' - Status Status `json:"status,omitempty"` + // Status - Enable or disable ssl for scoring. Possible values include: 'Status1Disabled', 'Status1Enabled' + Status Status1 `json:"status,omitempty"` // Cert - Cert data Cert *string `json:"cert,omitempty"` // Key - Key data @@ -2097,13 +2319,36 @@ type SystemService struct { Version *string `json:"version,omitempty"` } +// UpdateWorkspaceQuotas the properties for update Quota response. +type UpdateWorkspaceQuotas struct { + // ID - READ-ONLY; Specifies the resource ID. + ID *string `json:"id,omitempty"` + // Type - READ-ONLY; Specifies the resource type. + Type *string `json:"type,omitempty"` + // Limit - The maximum permitted quota of the resource. + Limit *int64 `json:"limit,omitempty"` + // Unit - READ-ONLY; An enum describing the unit of quota measurement. Possible values include: 'Count' + Unit QuotaUnit `json:"unit,omitempty"` + // Status - Status of update workspace quota. Possible values include: 'Undefined', 'Success', 'Failure', 'InvalidQuotaBelowClusterMinimum', 'InvalidQuotaExceedsSubscriptionLimit', 'InvalidVMFamilyName' + Status Status `json:"status,omitempty"` +} + +// UpdateWorkspaceQuotasResult the result of update workspace quota. +type UpdateWorkspaceQuotasResult struct { + autorest.Response `json:"-"` + // Value - READ-ONLY; The list of workspace quota update result. + Value *[]UpdateWorkspaceQuotas `json:"value,omitempty"` + // NextLink - READ-ONLY; The URI to fetch the next page of workspace quota update result. Call ListNext() with this to fetch the next page of Workspace Quota update result. + NextLink *string `json:"nextLink,omitempty"` +} + // Usage describes AML Resource Usage. type Usage struct { // ID - READ-ONLY; Specifies the resource ID. ID *string `json:"id,omitempty"` // Type - READ-ONLY; Specifies the resource type. Type *string `json:"type,omitempty"` - // Unit - READ-ONLY; An enum describing the unit of usage measurement. Possible values include: 'Count' + // Unit - READ-ONLY; An enum describing the unit of usage measurement. Possible values include: 'UsageUnitCount' Unit UsageUnit `json:"unit,omitempty"` // CurrentValue - READ-ONLY; The current usage of the resource. CurrentValue *int64 `json:"currentValue,omitempty"` diff --git a/services/machinelearningservices/mgmt/2019-06-01/machinelearningservices/quotas.go b/services/machinelearningservices/mgmt/2019-06-01/machinelearningservices/quotas.go new file mode 100644 index 000000000000..72621c6e6c11 --- /dev/null +++ b/services/machinelearningservices/mgmt/2019-06-01/machinelearningservices/quotas.go @@ -0,0 +1,245 @@ +package machinelearningservices + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// QuotasClient is the these APIs allow end users to operate on Azure Machine Learning Workspace resources. +type QuotasClient struct { + BaseClient +} + +// NewQuotasClient creates an instance of the QuotasClient client. +func NewQuotasClient(subscriptionID string) QuotasClient { + return NewQuotasClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewQuotasClientWithBaseURI creates an instance of the QuotasClient client. +func NewQuotasClientWithBaseURI(baseURI string, subscriptionID string) QuotasClient { + return QuotasClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// List gets the currently assigned Workspace Quotas based on VMFamily. +// Parameters: +// location - the location for which resource usage is queried. +func (client QuotasClient) List(ctx context.Context, location string) (result ListWorkspaceQuotasPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/QuotasClient.List") + defer func() { + sc := -1 + if result.lwq.Response.Response != nil { + sc = result.lwq.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: location, + Constraints: []validation.Constraint{{Target: "location", Name: validation.Pattern, Rule: `^[-\w\._]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("machinelearningservices.QuotasClient", "List", err.Error()) + } + + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, location) + if err != nil { + err = autorest.NewErrorWithError(err, "machinelearningservices.QuotasClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.lwq.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "machinelearningservices.QuotasClient", "List", resp, "Failure sending request") + return + } + + result.lwq, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "machinelearningservices.QuotasClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client QuotasClient) ListPreparer(ctx context.Context, location string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "location": autorest.Encode("path", location), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-06-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearningServices/locations/{location}/Quotas", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client QuotasClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client QuotasClient) ListResponder(resp *http.Response) (result ListWorkspaceQuotas, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client QuotasClient) listNextResults(ctx context.Context, lastResults ListWorkspaceQuotas) (result ListWorkspaceQuotas, err error) { + req, err := lastResults.listWorkspaceQuotasPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "machinelearningservices.QuotasClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "machinelearningservices.QuotasClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "machinelearningservices.QuotasClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client QuotasClient) ListComplete(ctx context.Context, location string) (result ListWorkspaceQuotasIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/QuotasClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, location) + return +} + +// Update update quota for each VM family in workspace. +// Parameters: +// location - the location for update quota is queried. +// parameters - quota update parameters. +func (client QuotasClient) Update(ctx context.Context, location string, parameters QuotaUpdateParameters) (result UpdateWorkspaceQuotasResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/QuotasClient.Update") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: location, + Constraints: []validation.Constraint{{Target: "location", Name: validation.Pattern, Rule: `^[-\w\._]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("machinelearningservices.QuotasClient", "Update", err.Error()) + } + + req, err := client.UpdatePreparer(ctx, location, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "machinelearningservices.QuotasClient", "Update", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "machinelearningservices.QuotasClient", "Update", resp, "Failure sending request") + return + } + + result, err = client.UpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "machinelearningservices.QuotasClient", "Update", resp, "Failure responding to request") + } + + return +} + +// UpdatePreparer prepares the Update request. +func (client QuotasClient) UpdatePreparer(ctx context.Context, location string, parameters QuotaUpdateParameters) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "location": autorest.Encode("path", location), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-06-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearningServices/locations/{location}/updateQuotas", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateSender sends the Update request. The method will close the +// http.Response Body if it receives an error. +func (client QuotasClient) UpdateSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// UpdateResponder handles the response to the Update request. The method always +// closes the http.Response Body. +func (client QuotasClient) UpdateResponder(resp *http.Response) (result UpdateWorkspaceQuotasResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/machinelearningservices/mgmt/2019-06-01/machinelearningservices/usages.go b/services/machinelearningservices/mgmt/2019-06-01/machinelearningservices/usages.go index 95c27149def3..95538f0275d7 100644 --- a/services/machinelearningservices/mgmt/2019-06-01/machinelearningservices/usages.go +++ b/services/machinelearningservices/mgmt/2019-06-01/machinelearningservices/usages.go @@ -44,7 +44,8 @@ func NewUsagesClientWithBaseURI(baseURI string, subscriptionID string) UsagesCli // List gets the current usage information as well as limits for AML resources for given subscription and location. // Parameters: // location - the location for which resource usage is queried. -func (client UsagesClient) List(ctx context.Context, location string) (result ListUsagesResultPage, err error) { +// expandChildren - specifies if detailed usages of child resources are required. +func (client UsagesClient) List(ctx context.Context, location string, expandChildren string) (result ListUsagesResultPage, err error) { if tracing.IsEnabled() { ctx = tracing.StartSpan(ctx, fqdn+"/UsagesClient.List") defer func() { @@ -62,7 +63,7 @@ func (client UsagesClient) List(ctx context.Context, location string) (result Li } result.fn = client.listNextResults - req, err := client.ListPreparer(ctx, location) + req, err := client.ListPreparer(ctx, location, expandChildren) if err != nil { err = autorest.NewErrorWithError(err, "machinelearningservices.UsagesClient", "List", nil, "Failure preparing request") return @@ -84,7 +85,7 @@ func (client UsagesClient) List(ctx context.Context, location string) (result Li } // ListPreparer prepares the List request. -func (client UsagesClient) ListPreparer(ctx context.Context, location string) (*http.Request, error) { +func (client UsagesClient) ListPreparer(ctx context.Context, location string, expandChildren string) (*http.Request, error) { pathParameters := map[string]interface{}{ "location": autorest.Encode("path", location), "subscriptionId": autorest.Encode("path", client.SubscriptionID), @@ -94,6 +95,9 @@ func (client UsagesClient) ListPreparer(ctx context.Context, location string) (* queryParameters := map[string]interface{}{ "api-version": APIVersion, } + if len(expandChildren) > 0 { + queryParameters["expandChildren"] = autorest.Encode("query", expandChildren) + } preparer := autorest.CreatePreparer( autorest.AsGet(), @@ -145,7 +149,7 @@ func (client UsagesClient) listNextResults(ctx context.Context, lastResults List } // ListComplete enumerates all values, automatically crossing page boundaries as required. -func (client UsagesClient) ListComplete(ctx context.Context, location string) (result ListUsagesResultIterator, err error) { +func (client UsagesClient) ListComplete(ctx context.Context, location string, expandChildren string) (result ListUsagesResultIterator, err error) { if tracing.IsEnabled() { ctx = tracing.StartSpan(ctx, fqdn+"/UsagesClient.List") defer func() { @@ -156,6 +160,6 @@ func (client UsagesClient) ListComplete(ctx context.Context, location string) (r tracing.EndSpan(ctx, sc, err) }() } - result.page, err = client.List(ctx, location) + result.page, err = client.List(ctx, location, expandChildren) return } diff --git a/services/mobileengagement/mgmt/2014-12-01/mobileengagement/appcollections.go b/services/mobileengagement/mgmt/2014-12-01/mobileengagement/appcollections.go deleted file mode 100644 index a92d14433656..000000000000 --- a/services/mobileengagement/mgmt/2014-12-01/mobileengagement/appcollections.go +++ /dev/null @@ -1,195 +0,0 @@ -package mobileengagement - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "net/http" -) - -// AppCollectionsClient is the microsoft Azure Mobile Engagement REST APIs. -type AppCollectionsClient struct { - BaseClient -} - -// NewAppCollectionsClient creates an instance of the AppCollectionsClient client. -func NewAppCollectionsClient(subscriptionID string) AppCollectionsClient { - return NewAppCollectionsClientWithBaseURI(DefaultBaseURI, subscriptionID) -} - -// NewAppCollectionsClientWithBaseURI creates an instance of the AppCollectionsClient client. -func NewAppCollectionsClientWithBaseURI(baseURI string, subscriptionID string) AppCollectionsClient { - return AppCollectionsClient{NewWithBaseURI(baseURI, subscriptionID)} -} - -// CheckNameAvailability checks availability of an app collection name in the Engagement domain. -// -func (client AppCollectionsClient) CheckNameAvailability(ctx context.Context, parameters AppCollectionNameAvailability) (result AppCollectionNameAvailability, err error) { - req, err := client.CheckNameAvailabilityPreparer(ctx, parameters) - if err != nil { - err = autorest.NewErrorWithError(err, "mobileengagement.AppCollectionsClient", "CheckNameAvailability", nil, "Failure preparing request") - return - } - - resp, err := client.CheckNameAvailabilitySender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "mobileengagement.AppCollectionsClient", "CheckNameAvailability", resp, "Failure sending request") - return - } - - result, err = client.CheckNameAvailabilityResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "mobileengagement.AppCollectionsClient", "CheckNameAvailability", resp, "Failure responding to request") - } - - return -} - -// CheckNameAvailabilityPreparer prepares the CheckNameAvailability request. -func (client AppCollectionsClient) CheckNameAvailabilityPreparer(ctx context.Context, parameters AppCollectionNameAvailability) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2014-12-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.MobileEngagement/checkAppCollectionNameAvailability", pathParameters), - autorest.WithJSON(parameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// CheckNameAvailabilitySender sends the CheckNameAvailability request. The method will close the -// http.Response Body if it receives an error. -func (client AppCollectionsClient) CheckNameAvailabilitySender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - azure.DoRetryWithRegistration(client.Client)) -} - -// CheckNameAvailabilityResponder handles the response to the CheckNameAvailability request. The method always -// closes the http.Response Body. -func (client AppCollectionsClient) CheckNameAvailabilityResponder(resp *http.Response) (result AppCollectionNameAvailability, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// List lists app collections in a subscription. -func (client AppCollectionsClient) List(ctx context.Context) (result AppCollectionListResultPage, err error) { - result.fn = client.listNextResults - req, err := client.ListPreparer(ctx) - if err != nil { - err = autorest.NewErrorWithError(err, "mobileengagement.AppCollectionsClient", "List", nil, "Failure preparing request") - return - } - - resp, err := client.ListSender(req) - if err != nil { - result.aclr.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "mobileengagement.AppCollectionsClient", "List", resp, "Failure sending request") - return - } - - result.aclr, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "mobileengagement.AppCollectionsClient", "List", resp, "Failure responding to request") - } - - return -} - -// ListPreparer prepares the List request. -func (client AppCollectionsClient) ListPreparer(ctx context.Context) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2014-12-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.MobileEngagement/appCollections", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListSender sends the List request. The method will close the -// http.Response Body if it receives an error. -func (client AppCollectionsClient) ListSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - azure.DoRetryWithRegistration(client.Client)) -} - -// ListResponder handles the response to the List request. The method always -// closes the http.Response Body. -func (client AppCollectionsClient) ListResponder(resp *http.Response) (result AppCollectionListResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listNextResults retrieves the next set of results, if any. -func (client AppCollectionsClient) listNextResults(lastResults AppCollectionListResult) (result AppCollectionListResult, err error) { - req, err := lastResults.appCollectionListResultPreparer() - if err != nil { - return result, autorest.NewErrorWithError(err, "mobileengagement.AppCollectionsClient", "listNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "mobileengagement.AppCollectionsClient", "listNextResults", resp, "Failure sending next results request") - } - result, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "mobileengagement.AppCollectionsClient", "listNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListComplete enumerates all values, automatically crossing page boundaries as required. -func (client AppCollectionsClient) ListComplete(ctx context.Context) (result AppCollectionListResultIterator, err error) { - result.page, err = client.List(ctx) - return -} diff --git a/services/mobileengagement/mgmt/2014-12-01/mobileengagement/apps.go b/services/mobileengagement/mgmt/2014-12-01/mobileengagement/apps.go deleted file mode 100644 index 9cc89a4c3e10..000000000000 --- a/services/mobileengagement/mgmt/2014-12-01/mobileengagement/apps.go +++ /dev/null @@ -1,134 +0,0 @@ -package mobileengagement - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "net/http" -) - -// AppsClient is the microsoft Azure Mobile Engagement REST APIs. -type AppsClient struct { - BaseClient -} - -// NewAppsClient creates an instance of the AppsClient client. -func NewAppsClient(subscriptionID string) AppsClient { - return NewAppsClientWithBaseURI(DefaultBaseURI, subscriptionID) -} - -// NewAppsClientWithBaseURI creates an instance of the AppsClient client. -func NewAppsClientWithBaseURI(baseURI string, subscriptionID string) AppsClient { - return AppsClient{NewWithBaseURI(baseURI, subscriptionID)} -} - -// List lists apps in an appCollection. -// -// resourceGroupName is the name of the resource group. appCollection is application collection. -func (client AppsClient) List(ctx context.Context, resourceGroupName string, appCollection string) (result AppListResultPage, err error) { - result.fn = client.listNextResults - req, err := client.ListPreparer(ctx, resourceGroupName, appCollection) - if err != nil { - err = autorest.NewErrorWithError(err, "mobileengagement.AppsClient", "List", nil, "Failure preparing request") - return - } - - resp, err := client.ListSender(req) - if err != nil { - result.alr.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "mobileengagement.AppsClient", "List", resp, "Failure sending request") - return - } - - result.alr, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "mobileengagement.AppsClient", "List", resp, "Failure responding to request") - } - - return -} - -// ListPreparer prepares the List request. -func (client AppsClient) ListPreparer(ctx context.Context, resourceGroupName string, appCollection string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "appCollection": autorest.Encode("path", appCollection), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2014-12-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MobileEngagement/appcollections/{appCollection}/apps", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListSender sends the List request. The method will close the -// http.Response Body if it receives an error. -func (client AppsClient) ListSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - azure.DoRetryWithRegistration(client.Client)) -} - -// ListResponder handles the response to the List request. The method always -// closes the http.Response Body. -func (client AppsClient) ListResponder(resp *http.Response) (result AppListResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listNextResults retrieves the next set of results, if any. -func (client AppsClient) listNextResults(lastResults AppListResult) (result AppListResult, err error) { - req, err := lastResults.appListResultPreparer() - if err != nil { - return result, autorest.NewErrorWithError(err, "mobileengagement.AppsClient", "listNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "mobileengagement.AppsClient", "listNextResults", resp, "Failure sending next results request") - } - result, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "mobileengagement.AppsClient", "listNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListComplete enumerates all values, automatically crossing page boundaries as required. -func (client AppsClient) ListComplete(ctx context.Context, resourceGroupName string, appCollection string) (result AppListResultIterator, err error) { - result.page, err = client.List(ctx, resourceGroupName, appCollection) - return -} diff --git a/services/mobileengagement/mgmt/2014-12-01/mobileengagement/campaigns.go b/services/mobileengagement/mgmt/2014-12-01/mobileengagement/campaigns.go deleted file mode 100644 index 3fb9248fc418..000000000000 --- a/services/mobileengagement/mgmt/2014-12-01/mobileengagement/campaigns.go +++ /dev/null @@ -1,1065 +0,0 @@ -package mobileengagement - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/autorest/validation" - "net/http" -) - -// CampaignsClient is the microsoft Azure Mobile Engagement REST APIs. -type CampaignsClient struct { - BaseClient -} - -// NewCampaignsClient creates an instance of the CampaignsClient client. -func NewCampaignsClient(subscriptionID string) CampaignsClient { - return NewCampaignsClientWithBaseURI(DefaultBaseURI, subscriptionID) -} - -// NewCampaignsClientWithBaseURI creates an instance of the CampaignsClient client. -func NewCampaignsClientWithBaseURI(baseURI string, subscriptionID string) CampaignsClient { - return CampaignsClient{NewWithBaseURI(baseURI, subscriptionID)} -} - -// Activate activate a campaign previously created by a call to Create campaign. -// -// resourceGroupName is the name of the resource group. appCollection is application collection. appName is -// application resource name. kind is campaign kind. ID is campaign identifier. -func (client CampaignsClient) Activate(ctx context.Context, resourceGroupName string, appCollection string, appName string, kind CampaignKinds, ID int32) (result CampaignStateResult, err error) { - req, err := client.ActivatePreparer(ctx, resourceGroupName, appCollection, appName, kind, ID) - if err != nil { - err = autorest.NewErrorWithError(err, "mobileengagement.CampaignsClient", "Activate", nil, "Failure preparing request") - return - } - - resp, err := client.ActivateSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "mobileengagement.CampaignsClient", "Activate", resp, "Failure sending request") - return - } - - result, err = client.ActivateResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "mobileengagement.CampaignsClient", "Activate", resp, "Failure responding to request") - } - - return -} - -// ActivatePreparer prepares the Activate request. -func (client CampaignsClient) ActivatePreparer(ctx context.Context, resourceGroupName string, appCollection string, appName string, kind CampaignKinds, ID int32) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "appCollection": autorest.Encode("path", appCollection), - "appName": autorest.Encode("path", appName), - "id": autorest.Encode("path", ID), - "kind": autorest.Encode("path", kind), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2014-12-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MobileEngagement/appcollections/{appCollection}/apps/{appName}/campaigns/{kind}/{id}/activate", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ActivateSender sends the Activate request. The method will close the -// http.Response Body if it receives an error. -func (client CampaignsClient) ActivateSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - azure.DoRetryWithRegistration(client.Client)) -} - -// ActivateResponder handles the response to the Activate request. The method always -// closes the http.Response Body. -func (client CampaignsClient) ActivateResponder(resp *http.Response) (result CampaignStateResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// Create create a push campaign (announcement, poll, data push or native push). -// -// resourceGroupName is the name of the resource group. appCollection is application collection. appName is -// application resource name. kind is campaign kind. parameters is parameters supplied to the Update Campaign -// operation. -func (client CampaignsClient) Create(ctx context.Context, resourceGroupName string, appCollection string, appName string, kind CampaignKinds, parameters Campaign) (result CampaignStateResult, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: parameters, - Constraints: []validation.Constraint{{Target: "parameters.Name", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "parameters.Name", Name: validation.MaxLength, Rule: 64, Chain: nil}}}, - {Target: "parameters.Category", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "parameters.Category", Name: validation.MaxLength, Rule: 64, Chain: nil}}}}}}); err != nil { - return result, validation.NewError("mobileengagement.CampaignsClient", "Create", err.Error()) - } - - req, err := client.CreatePreparer(ctx, resourceGroupName, appCollection, appName, kind, parameters) - if err != nil { - err = autorest.NewErrorWithError(err, "mobileengagement.CampaignsClient", "Create", nil, "Failure preparing request") - return - } - - resp, err := client.CreateSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "mobileengagement.CampaignsClient", "Create", resp, "Failure sending request") - return - } - - result, err = client.CreateResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "mobileengagement.CampaignsClient", "Create", resp, "Failure responding to request") - } - - return -} - -// CreatePreparer prepares the Create request. -func (client CampaignsClient) CreatePreparer(ctx context.Context, resourceGroupName string, appCollection string, appName string, kind CampaignKinds, parameters Campaign) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "appCollection": autorest.Encode("path", appCollection), - "appName": autorest.Encode("path", appName), - "kind": autorest.Encode("path", kind), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2014-12-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MobileEngagement/appcollections/{appCollection}/apps/{appName}/campaigns/{kind}", pathParameters), - autorest.WithJSON(parameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// CreateSender sends the Create request. The method will close the -// http.Response Body if it receives an error. -func (client CampaignsClient) CreateSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - azure.DoRetryWithRegistration(client.Client)) -} - -// CreateResponder handles the response to the Create request. The method always -// closes the http.Response Body. -func (client CampaignsClient) CreateResponder(resp *http.Response) (result CampaignStateResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// Delete delete a campaign previously created by a call to Create campaign. -// -// kind is campaign kind. ID is campaign identifier. resourceGroupName is the name of the resource group. -// appCollection is application collection. appName is application resource name. -func (client CampaignsClient) Delete(ctx context.Context, kind CampaignKinds, ID int32, resourceGroupName string, appCollection string, appName string) (result autorest.Response, err error) { - req, err := client.DeletePreparer(ctx, kind, ID, resourceGroupName, appCollection, appName) - if err != nil { - err = autorest.NewErrorWithError(err, "mobileengagement.CampaignsClient", "Delete", nil, "Failure preparing request") - return - } - - resp, err := client.DeleteSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "mobileengagement.CampaignsClient", "Delete", resp, "Failure sending request") - return - } - - result, err = client.DeleteResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "mobileengagement.CampaignsClient", "Delete", resp, "Failure responding to request") - } - - return -} - -// DeletePreparer prepares the Delete request. -func (client CampaignsClient) DeletePreparer(ctx context.Context, kind CampaignKinds, ID int32, resourceGroupName string, appCollection string, appName string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "appCollection": autorest.Encode("path", appCollection), - "appName": autorest.Encode("path", appName), - "id": autorest.Encode("path", ID), - "kind": autorest.Encode("path", kind), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2014-12-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsDelete(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MobileEngagement/appcollections/{appCollection}/apps/{appName}/campaigns/{kind}/{id}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DeleteSender sends the Delete request. The method will close the -// http.Response Body if it receives an error. -func (client CampaignsClient) DeleteSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - azure.DoRetryWithRegistration(client.Client)) -} - -// DeleteResponder handles the response to the Delete request. The method always -// closes the http.Response Body. -func (client CampaignsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} - -// Finish finish a push campaign previously activated by a call to Activate campaign. -// -// resourceGroupName is the name of the resource group. appCollection is application collection. appName is -// application resource name. kind is campaign kind. ID is campaign identifier. -func (client CampaignsClient) Finish(ctx context.Context, resourceGroupName string, appCollection string, appName string, kind CampaignKinds, ID int32) (result CampaignStateResult, err error) { - req, err := client.FinishPreparer(ctx, resourceGroupName, appCollection, appName, kind, ID) - if err != nil { - err = autorest.NewErrorWithError(err, "mobileengagement.CampaignsClient", "Finish", nil, "Failure preparing request") - return - } - - resp, err := client.FinishSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "mobileengagement.CampaignsClient", "Finish", resp, "Failure sending request") - return - } - - result, err = client.FinishResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "mobileengagement.CampaignsClient", "Finish", resp, "Failure responding to request") - } - - return -} - -// FinishPreparer prepares the Finish request. -func (client CampaignsClient) FinishPreparer(ctx context.Context, resourceGroupName string, appCollection string, appName string, kind CampaignKinds, ID int32) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "appCollection": autorest.Encode("path", appCollection), - "appName": autorest.Encode("path", appName), - "id": autorest.Encode("path", ID), - "kind": autorest.Encode("path", kind), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2014-12-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MobileEngagement/appcollections/{appCollection}/apps/{appName}/campaigns/{kind}/{id}/finish", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// FinishSender sends the Finish request. The method will close the -// http.Response Body if it receives an error. -func (client CampaignsClient) FinishSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - azure.DoRetryWithRegistration(client.Client)) -} - -// FinishResponder handles the response to the Finish request. The method always -// closes the http.Response Body. -func (client CampaignsClient) FinishResponder(resp *http.Response) (result CampaignStateResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// Get the Get campaign operation retrieves information about a previously created campaign. -// -// kind is campaign kind. ID is campaign identifier. resourceGroupName is the name of the resource group. -// appCollection is application collection. appName is application resource name. -func (client CampaignsClient) Get(ctx context.Context, kind CampaignKinds, ID int32, resourceGroupName string, appCollection string, appName string) (result CampaignResult, err error) { - req, err := client.GetPreparer(ctx, kind, ID, resourceGroupName, appCollection, appName) - if err != nil { - err = autorest.NewErrorWithError(err, "mobileengagement.CampaignsClient", "Get", nil, "Failure preparing request") - return - } - - resp, err := client.GetSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "mobileengagement.CampaignsClient", "Get", resp, "Failure sending request") - return - } - - result, err = client.GetResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "mobileengagement.CampaignsClient", "Get", resp, "Failure responding to request") - } - - return -} - -// GetPreparer prepares the Get request. -func (client CampaignsClient) GetPreparer(ctx context.Context, kind CampaignKinds, ID int32, resourceGroupName string, appCollection string, appName string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "appCollection": autorest.Encode("path", appCollection), - "appName": autorest.Encode("path", appName), - "id": autorest.Encode("path", ID), - "kind": autorest.Encode("path", kind), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2014-12-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MobileEngagement/appcollections/{appCollection}/apps/{appName}/campaigns/{kind}/{id}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetSender sends the Get request. The method will close the -// http.Response Body if it receives an error. -func (client CampaignsClient) GetSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - azure.DoRetryWithRegistration(client.Client)) -} - -// GetResponder handles the response to the Get request. The method always -// closes the http.Response Body. -func (client CampaignsClient) GetResponder(resp *http.Response) (result CampaignResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// GetByName the Get campaign operation retrieves information about a previously created campaign. -// -// resourceGroupName is the name of the resource group. appCollection is application collection. appName is -// application resource name. kind is campaign kind. name is campaign name. -func (client CampaignsClient) GetByName(ctx context.Context, resourceGroupName string, appCollection string, appName string, kind CampaignKinds, name string) (result CampaignResult, err error) { - req, err := client.GetByNamePreparer(ctx, resourceGroupName, appCollection, appName, kind, name) - if err != nil { - err = autorest.NewErrorWithError(err, "mobileengagement.CampaignsClient", "GetByName", nil, "Failure preparing request") - return - } - - resp, err := client.GetByNameSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "mobileengagement.CampaignsClient", "GetByName", resp, "Failure sending request") - return - } - - result, err = client.GetByNameResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "mobileengagement.CampaignsClient", "GetByName", resp, "Failure responding to request") - } - - return -} - -// GetByNamePreparer prepares the GetByName request. -func (client CampaignsClient) GetByNamePreparer(ctx context.Context, resourceGroupName string, appCollection string, appName string, kind CampaignKinds, name string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "appCollection": autorest.Encode("path", appCollection), - "appName": autorest.Encode("path", appName), - "kind": autorest.Encode("path", kind), - "name": autorest.Encode("path", name), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2014-12-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MobileEngagement/appcollections/{appCollection}/apps/{appName}/campaignsByName/{kind}/{name}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetByNameSender sends the GetByName request. The method will close the -// http.Response Body if it receives an error. -func (client CampaignsClient) GetByNameSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - azure.DoRetryWithRegistration(client.Client)) -} - -// GetByNameResponder handles the response to the GetByName request. The method always -// closes the http.Response Body. -func (client CampaignsClient) GetByNameResponder(resp *http.Response) (result CampaignResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// GetStatistics get all the campaign statistics. -// -// kind is campaign kind. ID is campaign identifier. resourceGroupName is the name of the resource group. -// appCollection is application collection. appName is application resource name. -func (client CampaignsClient) GetStatistics(ctx context.Context, kind CampaignKinds, ID int32, resourceGroupName string, appCollection string, appName string) (result CampaignStatisticsResult, err error) { - req, err := client.GetStatisticsPreparer(ctx, kind, ID, resourceGroupName, appCollection, appName) - if err != nil { - err = autorest.NewErrorWithError(err, "mobileengagement.CampaignsClient", "GetStatistics", nil, "Failure preparing request") - return - } - - resp, err := client.GetStatisticsSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "mobileengagement.CampaignsClient", "GetStatistics", resp, "Failure sending request") - return - } - - result, err = client.GetStatisticsResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "mobileengagement.CampaignsClient", "GetStatistics", resp, "Failure responding to request") - } - - return -} - -// GetStatisticsPreparer prepares the GetStatistics request. -func (client CampaignsClient) GetStatisticsPreparer(ctx context.Context, kind CampaignKinds, ID int32, resourceGroupName string, appCollection string, appName string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "appCollection": autorest.Encode("path", appCollection), - "appName": autorest.Encode("path", appName), - "id": autorest.Encode("path", ID), - "kind": autorest.Encode("path", kind), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2014-12-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MobileEngagement/appcollections/{appCollection}/apps/{appName}/campaigns/{kind}/{id}/statistics", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetStatisticsSender sends the GetStatistics request. The method will close the -// http.Response Body if it receives an error. -func (client CampaignsClient) GetStatisticsSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - azure.DoRetryWithRegistration(client.Client)) -} - -// GetStatisticsResponder handles the response to the GetStatistics request. The method always -// closes the http.Response Body. -func (client CampaignsClient) GetStatisticsResponder(resp *http.Response) (result CampaignStatisticsResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// List get the list of campaigns. -// -// resourceGroupName is the name of the resource group. appCollection is application collection. appName is -// application resource name. kind is campaign kind. skip is control paging of campaigns, start results at the -// given offset, defaults to 0 (1st page of data). top is control paging of campaigns, number of campaigns to -// return with each call. It returns all campaigns by default. When specifying $top parameter, the response -// contains a `nextLink` property describing the path to get the next page if there are more results. filter is -// filter can be used to restrict the results to campaigns matching a specific state. The syntax is `$filter=state -// eq 'draft'`. Valid state values are: draft, scheduled, in-progress, and finished. Only the eq operator and the -// state property are supported. orderby is sort results by an expression which looks like `$orderby=id asc` (this -// example is actually the default behavior). The syntax is orderby={property} {direction} or just -// orderby={property}. The available sorting properties are id, name, state, activatedDate, and finishedDate. The -// available directions are asc (for ascending order) and desc (for descending order). When not specified the asc -// direction is used. Only one property at a time can be used for sorting. search is restrict results to campaigns -// matching the optional `search` expression. This currently performs the search based on the name on the campaign -// only, case insensitive. If the campaign contains the value of the `search` parameter anywhere in the name, it -// matches. -func (client CampaignsClient) List(ctx context.Context, resourceGroupName string, appCollection string, appName string, kind CampaignKinds, skip *int32, top *int32, filter string, orderby string, search string) (result CampaignsListResultPage, err error) { - result.fn = client.listNextResults - req, err := client.ListPreparer(ctx, resourceGroupName, appCollection, appName, kind, skip, top, filter, orderby, search) - if err != nil { - err = autorest.NewErrorWithError(err, "mobileengagement.CampaignsClient", "List", nil, "Failure preparing request") - return - } - - resp, err := client.ListSender(req) - if err != nil { - result.clr.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "mobileengagement.CampaignsClient", "List", resp, "Failure sending request") - return - } - - result.clr, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "mobileengagement.CampaignsClient", "List", resp, "Failure responding to request") - } - - return -} - -// ListPreparer prepares the List request. -func (client CampaignsClient) ListPreparer(ctx context.Context, resourceGroupName string, appCollection string, appName string, kind CampaignKinds, skip *int32, top *int32, filter string, orderby string, search string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "appCollection": autorest.Encode("path", appCollection), - "appName": autorest.Encode("path", appName), - "kind": autorest.Encode("path", kind), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2014-12-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if skip != nil { - queryParameters["$skip"] = autorest.Encode("query", *skip) - } - if top != nil { - queryParameters["$top"] = autorest.Encode("query", *top) - } - if len(filter) > 0 { - queryParameters["$filter"] = autorest.Encode("query", filter) - } - if len(orderby) > 0 { - queryParameters["$orderby"] = autorest.Encode("query", orderby) - } - if len(search) > 0 { - queryParameters["$search"] = autorest.Encode("query", search) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MobileEngagement/appcollections/{appCollection}/apps/{appName}/campaigns/{kind}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListSender sends the List request. The method will close the -// http.Response Body if it receives an error. -func (client CampaignsClient) ListSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - azure.DoRetryWithRegistration(client.Client)) -} - -// ListResponder handles the response to the List request. The method always -// closes the http.Response Body. -func (client CampaignsClient) ListResponder(resp *http.Response) (result CampaignsListResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listNextResults retrieves the next set of results, if any. -func (client CampaignsClient) listNextResults(lastResults CampaignsListResult) (result CampaignsListResult, err error) { - req, err := lastResults.campaignsListResultPreparer() - if err != nil { - return result, autorest.NewErrorWithError(err, "mobileengagement.CampaignsClient", "listNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "mobileengagement.CampaignsClient", "listNextResults", resp, "Failure sending next results request") - } - result, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "mobileengagement.CampaignsClient", "listNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListComplete enumerates all values, automatically crossing page boundaries as required. -func (client CampaignsClient) ListComplete(ctx context.Context, resourceGroupName string, appCollection string, appName string, kind CampaignKinds, skip *int32, top *int32, filter string, orderby string, search string) (result CampaignsListResultIterator, err error) { - result.page, err = client.List(ctx, resourceGroupName, appCollection, appName, kind, skip, top, filter, orderby, search) - return -} - -// Push push a previously saved campaign (created with Create campaign) to a set of devices. -// -// resourceGroupName is the name of the resource group. appCollection is application collection. appName is -// application resource name. kind is campaign kind. ID is campaign identifier. parameters is parameters supplied -// to the Push Campaign operation. -func (client CampaignsClient) Push(ctx context.Context, resourceGroupName string, appCollection string, appName string, kind CampaignKinds, ID int32, parameters CampaignPushParameters) (result CampaignPushResult, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: parameters, - Constraints: []validation.Constraint{{Target: "parameters.DeviceIds", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "parameters.Data", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "parameters.Data.Name", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "parameters.Data.Name", Name: validation.MaxLength, Rule: 64, Chain: nil}}}, - {Target: "parameters.Data.Category", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "parameters.Data.Category", Name: validation.MaxLength, Rule: 64, Chain: nil}}}, - }}}}}); err != nil { - return result, validation.NewError("mobileengagement.CampaignsClient", "Push", err.Error()) - } - - req, err := client.PushPreparer(ctx, resourceGroupName, appCollection, appName, kind, ID, parameters) - if err != nil { - err = autorest.NewErrorWithError(err, "mobileengagement.CampaignsClient", "Push", nil, "Failure preparing request") - return - } - - resp, err := client.PushSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "mobileengagement.CampaignsClient", "Push", resp, "Failure sending request") - return - } - - result, err = client.PushResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "mobileengagement.CampaignsClient", "Push", resp, "Failure responding to request") - } - - return -} - -// PushPreparer prepares the Push request. -func (client CampaignsClient) PushPreparer(ctx context.Context, resourceGroupName string, appCollection string, appName string, kind CampaignKinds, ID int32, parameters CampaignPushParameters) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "appCollection": autorest.Encode("path", appCollection), - "appName": autorest.Encode("path", appName), - "id": autorest.Encode("path", ID), - "kind": autorest.Encode("path", kind), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2014-12-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MobileEngagement/appcollections/{appCollection}/apps/{appName}/campaigns/{kind}/{id}/push", pathParameters), - autorest.WithJSON(parameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// PushSender sends the Push request. The method will close the -// http.Response Body if it receives an error. -func (client CampaignsClient) PushSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - azure.DoRetryWithRegistration(client.Client)) -} - -// PushResponder handles the response to the Push request. The method always -// closes the http.Response Body. -func (client CampaignsClient) PushResponder(resp *http.Response) (result CampaignPushResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// Suspend suspend a push campaign previously activated by a call to Activate campaign. -// -// resourceGroupName is the name of the resource group. appCollection is application collection. appName is -// application resource name. kind is campaign kind. ID is campaign identifier. -func (client CampaignsClient) Suspend(ctx context.Context, resourceGroupName string, appCollection string, appName string, kind CampaignKinds, ID int32) (result CampaignStateResult, err error) { - req, err := client.SuspendPreparer(ctx, resourceGroupName, appCollection, appName, kind, ID) - if err != nil { - err = autorest.NewErrorWithError(err, "mobileengagement.CampaignsClient", "Suspend", nil, "Failure preparing request") - return - } - - resp, err := client.SuspendSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "mobileengagement.CampaignsClient", "Suspend", resp, "Failure sending request") - return - } - - result, err = client.SuspendResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "mobileengagement.CampaignsClient", "Suspend", resp, "Failure responding to request") - } - - return -} - -// SuspendPreparer prepares the Suspend request. -func (client CampaignsClient) SuspendPreparer(ctx context.Context, resourceGroupName string, appCollection string, appName string, kind CampaignKinds, ID int32) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "appCollection": autorest.Encode("path", appCollection), - "appName": autorest.Encode("path", appName), - "id": autorest.Encode("path", ID), - "kind": autorest.Encode("path", kind), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2014-12-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MobileEngagement/appcollections/{appCollection}/apps/{appName}/campaigns/{kind}/{id}/suspend", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// SuspendSender sends the Suspend request. The method will close the -// http.Response Body if it receives an error. -func (client CampaignsClient) SuspendSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - azure.DoRetryWithRegistration(client.Client)) -} - -// SuspendResponder handles the response to the Suspend request. The method always -// closes the http.Response Body. -func (client CampaignsClient) SuspendResponder(resp *http.Response) (result CampaignStateResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// TestNew test a new campaign on a set of devices. -// -// resourceGroupName is the name of the resource group. appCollection is application collection. appName is -// application resource name. kind is campaign kind. parameters is parameters supplied to the Test Campaign -// operation. -func (client CampaignsClient) TestNew(ctx context.Context, resourceGroupName string, appCollection string, appName string, kind CampaignKinds, parameters CampaignTestNewParameters) (result CampaignState, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: parameters, - Constraints: []validation.Constraint{{Target: "parameters.Data", Name: validation.Null, Rule: true, - Chain: []validation.Constraint{{Target: "parameters.Data.Name", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "parameters.Data.Name", Name: validation.MaxLength, Rule: 64, Chain: nil}}}, - {Target: "parameters.Data.Category", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "parameters.Data.Category", Name: validation.MaxLength, Rule: 64, Chain: nil}}}, - }}}}}); err != nil { - return result, validation.NewError("mobileengagement.CampaignsClient", "TestNew", err.Error()) - } - - req, err := client.TestNewPreparer(ctx, resourceGroupName, appCollection, appName, kind, parameters) - if err != nil { - err = autorest.NewErrorWithError(err, "mobileengagement.CampaignsClient", "TestNew", nil, "Failure preparing request") - return - } - - resp, err := client.TestNewSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "mobileengagement.CampaignsClient", "TestNew", resp, "Failure sending request") - return - } - - result, err = client.TestNewResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "mobileengagement.CampaignsClient", "TestNew", resp, "Failure responding to request") - } - - return -} - -// TestNewPreparer prepares the TestNew request. -func (client CampaignsClient) TestNewPreparer(ctx context.Context, resourceGroupName string, appCollection string, appName string, kind CampaignKinds, parameters CampaignTestNewParameters) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "appCollection": autorest.Encode("path", appCollection), - "appName": autorest.Encode("path", appName), - "kind": autorest.Encode("path", kind), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2014-12-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MobileEngagement/appcollections/{appCollection}/apps/{appName}/campaigns/{kind}/test", pathParameters), - autorest.WithJSON(parameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// TestNewSender sends the TestNew request. The method will close the -// http.Response Body if it receives an error. -func (client CampaignsClient) TestNewSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - azure.DoRetryWithRegistration(client.Client)) -} - -// TestNewResponder handles the response to the TestNew request. The method always -// closes the http.Response Body. -func (client CampaignsClient) TestNewResponder(resp *http.Response) (result CampaignState, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// TestSaved test an existing campaign (created with Create campaign) on a set of devices. -// -// resourceGroupName is the name of the resource group. appCollection is application collection. appName is -// application resource name. kind is campaign kind. ID is campaign identifier. parameters is parameters supplied -// to the Test Campaign operation. -func (client CampaignsClient) TestSaved(ctx context.Context, resourceGroupName string, appCollection string, appName string, kind CampaignKinds, ID int32, parameters CampaignTestSavedParameters) (result CampaignStateResult, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: parameters, - Constraints: []validation.Constraint{{Target: "parameters.DeviceID", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { - return result, validation.NewError("mobileengagement.CampaignsClient", "TestSaved", err.Error()) - } - - req, err := client.TestSavedPreparer(ctx, resourceGroupName, appCollection, appName, kind, ID, parameters) - if err != nil { - err = autorest.NewErrorWithError(err, "mobileengagement.CampaignsClient", "TestSaved", nil, "Failure preparing request") - return - } - - resp, err := client.TestSavedSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "mobileengagement.CampaignsClient", "TestSaved", resp, "Failure sending request") - return - } - - result, err = client.TestSavedResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "mobileengagement.CampaignsClient", "TestSaved", resp, "Failure responding to request") - } - - return -} - -// TestSavedPreparer prepares the TestSaved request. -func (client CampaignsClient) TestSavedPreparer(ctx context.Context, resourceGroupName string, appCollection string, appName string, kind CampaignKinds, ID int32, parameters CampaignTestSavedParameters) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "appCollection": autorest.Encode("path", appCollection), - "appName": autorest.Encode("path", appName), - "id": autorest.Encode("path", ID), - "kind": autorest.Encode("path", kind), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2014-12-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MobileEngagement/appcollections/{appCollection}/apps/{appName}/campaigns/{kind}/{id}/test", pathParameters), - autorest.WithJSON(parameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// TestSavedSender sends the TestSaved request. The method will close the -// http.Response Body if it receives an error. -func (client CampaignsClient) TestSavedSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - azure.DoRetryWithRegistration(client.Client)) -} - -// TestSavedResponder handles the response to the TestSaved request. The method always -// closes the http.Response Body. -func (client CampaignsClient) TestSavedResponder(resp *http.Response) (result CampaignStateResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// Update update an existing push campaign (announcement, poll, data push or native push). -// -// kind is campaign kind. ID is campaign identifier. parameters is parameters supplied to the Update Campaign -// operation. resourceGroupName is the name of the resource group. appCollection is application collection. appName -// is application resource name. -func (client CampaignsClient) Update(ctx context.Context, kind CampaignKinds, ID int32, parameters Campaign, resourceGroupName string, appCollection string, appName string) (result CampaignStateResult, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: parameters, - Constraints: []validation.Constraint{{Target: "parameters.Name", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "parameters.Name", Name: validation.MaxLength, Rule: 64, Chain: nil}}}, - {Target: "parameters.Category", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "parameters.Category", Name: validation.MaxLength, Rule: 64, Chain: nil}}}}}}); err != nil { - return result, validation.NewError("mobileengagement.CampaignsClient", "Update", err.Error()) - } - - req, err := client.UpdatePreparer(ctx, kind, ID, parameters, resourceGroupName, appCollection, appName) - if err != nil { - err = autorest.NewErrorWithError(err, "mobileengagement.CampaignsClient", "Update", nil, "Failure preparing request") - return - } - - resp, err := client.UpdateSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "mobileengagement.CampaignsClient", "Update", resp, "Failure sending request") - return - } - - result, err = client.UpdateResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "mobileengagement.CampaignsClient", "Update", resp, "Failure responding to request") - } - - return -} - -// UpdatePreparer prepares the Update request. -func (client CampaignsClient) UpdatePreparer(ctx context.Context, kind CampaignKinds, ID int32, parameters Campaign, resourceGroupName string, appCollection string, appName string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "appCollection": autorest.Encode("path", appCollection), - "appName": autorest.Encode("path", appName), - "id": autorest.Encode("path", ID), - "kind": autorest.Encode("path", kind), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2014-12-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; charset=utf-8"), - autorest.AsPut(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MobileEngagement/appcollections/{appCollection}/apps/{appName}/campaigns/{kind}/{id}", pathParameters), - autorest.WithJSON(parameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// UpdateSender sends the Update request. The method will close the -// http.Response Body if it receives an error. -func (client CampaignsClient) UpdateSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - azure.DoRetryWithRegistration(client.Client)) -} - -// UpdateResponder handles the response to the Update request. The method always -// closes the http.Response Body. -func (client CampaignsClient) UpdateResponder(resp *http.Response) (result CampaignStateResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} diff --git a/services/mobileengagement/mgmt/2014-12-01/mobileengagement/devices.go b/services/mobileengagement/mgmt/2014-12-01/mobileengagement/devices.go deleted file mode 100644 index 2ec6b235404d..000000000000 --- a/services/mobileengagement/mgmt/2014-12-01/mobileengagement/devices.go +++ /dev/null @@ -1,466 +0,0 @@ -package mobileengagement - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/autorest/validation" - "net/http" -) - -// DevicesClient is the microsoft Azure Mobile Engagement REST APIs. -type DevicesClient struct { - BaseClient -} - -// NewDevicesClient creates an instance of the DevicesClient client. -func NewDevicesClient(subscriptionID string) DevicesClient { - return NewDevicesClientWithBaseURI(DefaultBaseURI, subscriptionID) -} - -// NewDevicesClientWithBaseURI creates an instance of the DevicesClient client. -func NewDevicesClientWithBaseURI(baseURI string, subscriptionID string) DevicesClient { - return DevicesClient{NewWithBaseURI(baseURI, subscriptionID)} -} - -// GetByDeviceID get the information associated to a device running an application. -// -// resourceGroupName is the name of the resource group. appCollection is application collection. appName is -// application resource name. deviceID is device identifier. -func (client DevicesClient) GetByDeviceID(ctx context.Context, resourceGroupName string, appCollection string, appName string, deviceID string) (result Device, err error) { - req, err := client.GetByDeviceIDPreparer(ctx, resourceGroupName, appCollection, appName, deviceID) - if err != nil { - err = autorest.NewErrorWithError(err, "mobileengagement.DevicesClient", "GetByDeviceID", nil, "Failure preparing request") - return - } - - resp, err := client.GetByDeviceIDSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "mobileengagement.DevicesClient", "GetByDeviceID", resp, "Failure sending request") - return - } - - result, err = client.GetByDeviceIDResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "mobileengagement.DevicesClient", "GetByDeviceID", resp, "Failure responding to request") - } - - return -} - -// GetByDeviceIDPreparer prepares the GetByDeviceID request. -func (client DevicesClient) GetByDeviceIDPreparer(ctx context.Context, resourceGroupName string, appCollection string, appName string, deviceID string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "appCollection": autorest.Encode("path", appCollection), - "appName": autorest.Encode("path", appName), - "deviceId": autorest.Encode("path", deviceID), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2014-12-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MobileEngagement/appcollections/{appCollection}/apps/{appName}/devices/{deviceId}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetByDeviceIDSender sends the GetByDeviceID request. The method will close the -// http.Response Body if it receives an error. -func (client DevicesClient) GetByDeviceIDSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - azure.DoRetryWithRegistration(client.Client)) -} - -// GetByDeviceIDResponder handles the response to the GetByDeviceID request. The method always -// closes the http.Response Body. -func (client DevicesClient) GetByDeviceIDResponder(resp *http.Response) (result Device, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// GetByUserID get the information associated to a device running an application using the user identifier. -// -// resourceGroupName is the name of the resource group. appCollection is application collection. appName is -// application resource name. userID is user identifier. -func (client DevicesClient) GetByUserID(ctx context.Context, resourceGroupName string, appCollection string, appName string, userID string) (result Device, err error) { - req, err := client.GetByUserIDPreparer(ctx, resourceGroupName, appCollection, appName, userID) - if err != nil { - err = autorest.NewErrorWithError(err, "mobileengagement.DevicesClient", "GetByUserID", nil, "Failure preparing request") - return - } - - resp, err := client.GetByUserIDSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "mobileengagement.DevicesClient", "GetByUserID", resp, "Failure sending request") - return - } - - result, err = client.GetByUserIDResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "mobileengagement.DevicesClient", "GetByUserID", resp, "Failure responding to request") - } - - return -} - -// GetByUserIDPreparer prepares the GetByUserID request. -func (client DevicesClient) GetByUserIDPreparer(ctx context.Context, resourceGroupName string, appCollection string, appName string, userID string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "appCollection": autorest.Encode("path", appCollection), - "appName": autorest.Encode("path", appName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - "userId": autorest.Encode("path", userID), - } - - const APIVersion = "2014-12-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MobileEngagement/appcollections/{appCollection}/apps/{appName}/users/{userId}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetByUserIDSender sends the GetByUserID request. The method will close the -// http.Response Body if it receives an error. -func (client DevicesClient) GetByUserIDSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - azure.DoRetryWithRegistration(client.Client)) -} - -// GetByUserIDResponder handles the response to the GetByUserID request. The method always -// closes the http.Response Body. -func (client DevicesClient) GetByUserIDResponder(resp *http.Response) (result Device, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// List query the information associated to the devices running an application. -// -// resourceGroupName is the name of the resource group. appCollection is application collection. appName is -// application resource name. top is number of devices to return with each call. Defaults to 100 and cannot return -// more. Passing a greater value is ignored. The response contains a `nextLink` property describing the URI path to -// get the next page of results if not all results could be returned at once. selectParameter is by default all -// `meta` and `appInfo` properties are returned, this property is used to restrict the output to the desired -// properties. It also excludes all devices from the output that have none of the selected properties. In other -// terms, only devices having at least one of the selected property being set is part of the results. Examples: - -// `$select=appInfo` : select all devices having at least 1 appInfo, return them all and don’t return any meta -// property. - `$select=meta` : return only meta properties in the output. - -// `$select=appInfo,meta/firstSeen,meta/lastSeen` : return all `appInfo`, plus meta object containing only -// firstSeen and lastSeen properties. The format is thus a comma separated list of properties to select. Use -// `appInfo` to select all appInfo properties, `meta` to select all meta properties. Use `appInfo/{key}` and -// `meta/{key}` to select specific appInfo and meta properties. filter is filter can be used to reduce the number -// of results. Filter is a boolean expression that can look like the following examples: * `$filter=deviceId gt -// 'abcdef0123456789abcdef0123456789'` * `$filter=lastModified le 1447284263690L` * `$filter=(deviceId ge -// 'abcdef0123456789abcdef0123456789') and (deviceId lt 'bacdef0123456789abcdef0123456789') and (lastModified gt -// 1447284263690L)` The first example is used automatically for paging when returning the `nextLink` property. The -// filter expression is a combination of checks on some properties that can be compared to their value. The -// available operators are: * `gt` : greater than * `ge` : greater than or equals * `lt` : less than * `le` : -// less than or equals * `and` : to add multiple checks (all checks must pass), optional parentheses can be used. -// The properties that can be used in the expression are the following: * `deviceId {operator} '{deviceIdValue}'` : -// a lexicographical comparison is made on the deviceId value, use single quotes for the value. * `lastModified -// {operator} {number}L` : returns only meta properties or appInfo properties whose last value modification -// timestamp compared to the specified value is matching (value is milliseconds since January 1st, 1970 UTC). -// Please note the `L` character after the number of milliseconds, its required when the number of milliseconds -// exceeds `2^31 - 1` (which is always the case for recent timestamps). Using `lastModified` excludes all devices -// from the output that have no property matching the timestamp criteria, like `$select`. Please note that the -// internal value of `lastModified` timestamp for a given property is never part of the results. -func (client DevicesClient) List(ctx context.Context, resourceGroupName string, appCollection string, appName string, top *int32, selectParameter string, filter string) (result DevicesQueryResultPage, err error) { - result.fn = client.listNextResults - req, err := client.ListPreparer(ctx, resourceGroupName, appCollection, appName, top, selectParameter, filter) - if err != nil { - err = autorest.NewErrorWithError(err, "mobileengagement.DevicesClient", "List", nil, "Failure preparing request") - return - } - - resp, err := client.ListSender(req) - if err != nil { - result.dqr.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "mobileengagement.DevicesClient", "List", resp, "Failure sending request") - return - } - - result.dqr, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "mobileengagement.DevicesClient", "List", resp, "Failure responding to request") - } - - return -} - -// ListPreparer prepares the List request. -func (client DevicesClient) ListPreparer(ctx context.Context, resourceGroupName string, appCollection string, appName string, top *int32, selectParameter string, filter string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "appCollection": autorest.Encode("path", appCollection), - "appName": autorest.Encode("path", appName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2014-12-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if top != nil { - queryParameters["$top"] = autorest.Encode("query", *top) - } - if len(selectParameter) > 0 { - queryParameters["$select"] = autorest.Encode("query", selectParameter) - } - if len(filter) > 0 { - queryParameters["$filter"] = autorest.Encode("query", filter) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MobileEngagement/appcollections/{appCollection}/apps/{appName}/devices", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListSender sends the List request. The method will close the -// http.Response Body if it receives an error. -func (client DevicesClient) ListSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - azure.DoRetryWithRegistration(client.Client)) -} - -// ListResponder handles the response to the List request. The method always -// closes the http.Response Body. -func (client DevicesClient) ListResponder(resp *http.Response) (result DevicesQueryResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listNextResults retrieves the next set of results, if any. -func (client DevicesClient) listNextResults(lastResults DevicesQueryResult) (result DevicesQueryResult, err error) { - req, err := lastResults.devicesQueryResultPreparer() - if err != nil { - return result, autorest.NewErrorWithError(err, "mobileengagement.DevicesClient", "listNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "mobileengagement.DevicesClient", "listNextResults", resp, "Failure sending next results request") - } - result, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "mobileengagement.DevicesClient", "listNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListComplete enumerates all values, automatically crossing page boundaries as required. -func (client DevicesClient) ListComplete(ctx context.Context, resourceGroupName string, appCollection string, appName string, top *int32, selectParameter string, filter string) (result DevicesQueryResultIterator, err error) { - result.page, err = client.List(ctx, resourceGroupName, appCollection, appName, top, selectParameter, filter) - return -} - -// TagByDeviceID update the tags registered for a set of devices running an application. Updates are performed -// asynchronously, meaning that a few seconds are needed before the modifications appear in the results of the Get -// device command. -// -// resourceGroupName is the name of the resource group. appCollection is application collection. appName is -// application resource name. -func (client DevicesClient) TagByDeviceID(ctx context.Context, resourceGroupName string, appCollection string, appName string, parameters DeviceTagsParameters) (result DeviceTagsResult, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: parameters, - Constraints: []validation.Constraint{{Target: "parameters.Tags", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { - return result, validation.NewError("mobileengagement.DevicesClient", "TagByDeviceID", err.Error()) - } - - req, err := client.TagByDeviceIDPreparer(ctx, resourceGroupName, appCollection, appName, parameters) - if err != nil { - err = autorest.NewErrorWithError(err, "mobileengagement.DevicesClient", "TagByDeviceID", nil, "Failure preparing request") - return - } - - resp, err := client.TagByDeviceIDSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "mobileengagement.DevicesClient", "TagByDeviceID", resp, "Failure sending request") - return - } - - result, err = client.TagByDeviceIDResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "mobileengagement.DevicesClient", "TagByDeviceID", resp, "Failure responding to request") - } - - return -} - -// TagByDeviceIDPreparer prepares the TagByDeviceID request. -func (client DevicesClient) TagByDeviceIDPreparer(ctx context.Context, resourceGroupName string, appCollection string, appName string, parameters DeviceTagsParameters) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "appCollection": autorest.Encode("path", appCollection), - "appName": autorest.Encode("path", appName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2014-12-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MobileEngagement/appcollections/{appCollection}/apps/{appName}/devices/tag", pathParameters), - autorest.WithJSON(parameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// TagByDeviceIDSender sends the TagByDeviceID request. The method will close the -// http.Response Body if it receives an error. -func (client DevicesClient) TagByDeviceIDSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - azure.DoRetryWithRegistration(client.Client)) -} - -// TagByDeviceIDResponder handles the response to the TagByDeviceID request. The method always -// closes the http.Response Body. -func (client DevicesClient) TagByDeviceIDResponder(resp *http.Response) (result DeviceTagsResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// TagByUserID update the tags registered for a set of users running an application. Updates are performed -// asynchronously, meaning that a few seconds are needed before the modifications appear in the results of the Get -// device command. -// -// resourceGroupName is the name of the resource group. appCollection is application collection. appName is -// application resource name. -func (client DevicesClient) TagByUserID(ctx context.Context, resourceGroupName string, appCollection string, appName string, parameters DeviceTagsParameters) (result DeviceTagsResult, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: parameters, - Constraints: []validation.Constraint{{Target: "parameters.Tags", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { - return result, validation.NewError("mobileengagement.DevicesClient", "TagByUserID", err.Error()) - } - - req, err := client.TagByUserIDPreparer(ctx, resourceGroupName, appCollection, appName, parameters) - if err != nil { - err = autorest.NewErrorWithError(err, "mobileengagement.DevicesClient", "TagByUserID", nil, "Failure preparing request") - return - } - - resp, err := client.TagByUserIDSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "mobileengagement.DevicesClient", "TagByUserID", resp, "Failure sending request") - return - } - - result, err = client.TagByUserIDResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "mobileengagement.DevicesClient", "TagByUserID", resp, "Failure responding to request") - } - - return -} - -// TagByUserIDPreparer prepares the TagByUserID request. -func (client DevicesClient) TagByUserIDPreparer(ctx context.Context, resourceGroupName string, appCollection string, appName string, parameters DeviceTagsParameters) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "appCollection": autorest.Encode("path", appCollection), - "appName": autorest.Encode("path", appName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2014-12-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MobileEngagement/appcollections/{appCollection}/apps/{appName}/users/tag", pathParameters), - autorest.WithJSON(parameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// TagByUserIDSender sends the TagByUserID request. The method will close the -// http.Response Body if it receives an error. -func (client DevicesClient) TagByUserIDSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - azure.DoRetryWithRegistration(client.Client)) -} - -// TagByUserIDResponder handles the response to the TagByUserID request. The method always -// closes the http.Response Body. -func (client DevicesClient) TagByUserIDResponder(resp *http.Response) (result DeviceTagsResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} diff --git a/services/mobileengagement/mgmt/2014-12-01/mobileengagement/exporttasks.go b/services/mobileengagement/mgmt/2014-12-01/mobileengagement/exporttasks.go deleted file mode 100644 index 69b245ea4b34..000000000000 --- a/services/mobileengagement/mgmt/2014-12-01/mobileengagement/exporttasks.go +++ /dev/null @@ -1,1017 +0,0 @@ -package mobileengagement - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/autorest/validation" - "net/http" -) - -// ExportTasksClient is the microsoft Azure Mobile Engagement REST APIs. -type ExportTasksClient struct { - BaseClient -} - -// NewExportTasksClient creates an instance of the ExportTasksClient client. -func NewExportTasksClient(subscriptionID string) ExportTasksClient { - return NewExportTasksClientWithBaseURI(DefaultBaseURI, subscriptionID) -} - -// NewExportTasksClientWithBaseURI creates an instance of the ExportTasksClient client. -func NewExportTasksClientWithBaseURI(baseURI string, subscriptionID string) ExportTasksClient { - return ExportTasksClient{NewWithBaseURI(baseURI, subscriptionID)} -} - -// CreateActivitiesTask creates a task to export activities. -// -// resourceGroupName is the name of the resource group. appCollection is application collection. appName is -// application resource name. -func (client ExportTasksClient) CreateActivitiesTask(ctx context.Context, resourceGroupName string, appCollection string, appName string, parameters DateRangeExportTaskParameter) (result ExportTaskResult, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: parameters, - Constraints: []validation.Constraint{{Target: "parameters.ContainerURL", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "parameters.StartDate", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "parameters.EndDate", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { - return result, validation.NewError("mobileengagement.ExportTasksClient", "CreateActivitiesTask", err.Error()) - } - - req, err := client.CreateActivitiesTaskPreparer(ctx, resourceGroupName, appCollection, appName, parameters) - if err != nil { - err = autorest.NewErrorWithError(err, "mobileengagement.ExportTasksClient", "CreateActivitiesTask", nil, "Failure preparing request") - return - } - - resp, err := client.CreateActivitiesTaskSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "mobileengagement.ExportTasksClient", "CreateActivitiesTask", resp, "Failure sending request") - return - } - - result, err = client.CreateActivitiesTaskResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "mobileengagement.ExportTasksClient", "CreateActivitiesTask", resp, "Failure responding to request") - } - - return -} - -// CreateActivitiesTaskPreparer prepares the CreateActivitiesTask request. -func (client ExportTasksClient) CreateActivitiesTaskPreparer(ctx context.Context, resourceGroupName string, appCollection string, appName string, parameters DateRangeExportTaskParameter) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "appCollection": autorest.Encode("path", appCollection), - "appName": autorest.Encode("path", appName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2014-12-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MobileEngagement/appcollections/{appCollection}/apps/{appName}/devices/exportTasks/activities", pathParameters), - autorest.WithJSON(parameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// CreateActivitiesTaskSender sends the CreateActivitiesTask request. The method will close the -// http.Response Body if it receives an error. -func (client ExportTasksClient) CreateActivitiesTaskSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - azure.DoRetryWithRegistration(client.Client)) -} - -// CreateActivitiesTaskResponder handles the response to the CreateActivitiesTask request. The method always -// closes the http.Response Body. -func (client ExportTasksClient) CreateActivitiesTaskResponder(resp *http.Response) (result ExportTaskResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// CreateCrashesTask creates a task to export crashes. -// -// resourceGroupName is the name of the resource group. appCollection is application collection. appName is -// application resource name. -func (client ExportTasksClient) CreateCrashesTask(ctx context.Context, resourceGroupName string, appCollection string, appName string, parameters DateRangeExportTaskParameter) (result ExportTaskResult, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: parameters, - Constraints: []validation.Constraint{{Target: "parameters.ContainerURL", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "parameters.StartDate", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "parameters.EndDate", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { - return result, validation.NewError("mobileengagement.ExportTasksClient", "CreateCrashesTask", err.Error()) - } - - req, err := client.CreateCrashesTaskPreparer(ctx, resourceGroupName, appCollection, appName, parameters) - if err != nil { - err = autorest.NewErrorWithError(err, "mobileengagement.ExportTasksClient", "CreateCrashesTask", nil, "Failure preparing request") - return - } - - resp, err := client.CreateCrashesTaskSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "mobileengagement.ExportTasksClient", "CreateCrashesTask", resp, "Failure sending request") - return - } - - result, err = client.CreateCrashesTaskResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "mobileengagement.ExportTasksClient", "CreateCrashesTask", resp, "Failure responding to request") - } - - return -} - -// CreateCrashesTaskPreparer prepares the CreateCrashesTask request. -func (client ExportTasksClient) CreateCrashesTaskPreparer(ctx context.Context, resourceGroupName string, appCollection string, appName string, parameters DateRangeExportTaskParameter) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "appCollection": autorest.Encode("path", appCollection), - "appName": autorest.Encode("path", appName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2014-12-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MobileEngagement/appcollections/{appCollection}/apps/{appName}/devices/exportTasks/crashes", pathParameters), - autorest.WithJSON(parameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// CreateCrashesTaskSender sends the CreateCrashesTask request. The method will close the -// http.Response Body if it receives an error. -func (client ExportTasksClient) CreateCrashesTaskSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - azure.DoRetryWithRegistration(client.Client)) -} - -// CreateCrashesTaskResponder handles the response to the CreateCrashesTask request. The method always -// closes the http.Response Body. -func (client ExportTasksClient) CreateCrashesTaskResponder(resp *http.Response) (result ExportTaskResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// CreateErrorsTask creates a task to export errors. -// -// resourceGroupName is the name of the resource group. appCollection is application collection. appName is -// application resource name. -func (client ExportTasksClient) CreateErrorsTask(ctx context.Context, resourceGroupName string, appCollection string, appName string, parameters DateRangeExportTaskParameter) (result ExportTaskResult, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: parameters, - Constraints: []validation.Constraint{{Target: "parameters.ContainerURL", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "parameters.StartDate", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "parameters.EndDate", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { - return result, validation.NewError("mobileengagement.ExportTasksClient", "CreateErrorsTask", err.Error()) - } - - req, err := client.CreateErrorsTaskPreparer(ctx, resourceGroupName, appCollection, appName, parameters) - if err != nil { - err = autorest.NewErrorWithError(err, "mobileengagement.ExportTasksClient", "CreateErrorsTask", nil, "Failure preparing request") - return - } - - resp, err := client.CreateErrorsTaskSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "mobileengagement.ExportTasksClient", "CreateErrorsTask", resp, "Failure sending request") - return - } - - result, err = client.CreateErrorsTaskResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "mobileengagement.ExportTasksClient", "CreateErrorsTask", resp, "Failure responding to request") - } - - return -} - -// CreateErrorsTaskPreparer prepares the CreateErrorsTask request. -func (client ExportTasksClient) CreateErrorsTaskPreparer(ctx context.Context, resourceGroupName string, appCollection string, appName string, parameters DateRangeExportTaskParameter) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "appCollection": autorest.Encode("path", appCollection), - "appName": autorest.Encode("path", appName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2014-12-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MobileEngagement/appcollections/{appCollection}/apps/{appName}/devices/exportTasks/errors", pathParameters), - autorest.WithJSON(parameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// CreateErrorsTaskSender sends the CreateErrorsTask request. The method will close the -// http.Response Body if it receives an error. -func (client ExportTasksClient) CreateErrorsTaskSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - azure.DoRetryWithRegistration(client.Client)) -} - -// CreateErrorsTaskResponder handles the response to the CreateErrorsTask request. The method always -// closes the http.Response Body. -func (client ExportTasksClient) CreateErrorsTaskResponder(resp *http.Response) (result ExportTaskResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// CreateEventsTask creates a task to export events. -// -// resourceGroupName is the name of the resource group. appCollection is application collection. appName is -// application resource name. -func (client ExportTasksClient) CreateEventsTask(ctx context.Context, resourceGroupName string, appCollection string, appName string, parameters DateRangeExportTaskParameter) (result ExportTaskResult, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: parameters, - Constraints: []validation.Constraint{{Target: "parameters.ContainerURL", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "parameters.StartDate", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "parameters.EndDate", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { - return result, validation.NewError("mobileengagement.ExportTasksClient", "CreateEventsTask", err.Error()) - } - - req, err := client.CreateEventsTaskPreparer(ctx, resourceGroupName, appCollection, appName, parameters) - if err != nil { - err = autorest.NewErrorWithError(err, "mobileengagement.ExportTasksClient", "CreateEventsTask", nil, "Failure preparing request") - return - } - - resp, err := client.CreateEventsTaskSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "mobileengagement.ExportTasksClient", "CreateEventsTask", resp, "Failure sending request") - return - } - - result, err = client.CreateEventsTaskResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "mobileengagement.ExportTasksClient", "CreateEventsTask", resp, "Failure responding to request") - } - - return -} - -// CreateEventsTaskPreparer prepares the CreateEventsTask request. -func (client ExportTasksClient) CreateEventsTaskPreparer(ctx context.Context, resourceGroupName string, appCollection string, appName string, parameters DateRangeExportTaskParameter) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "appCollection": autorest.Encode("path", appCollection), - "appName": autorest.Encode("path", appName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2014-12-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MobileEngagement/appcollections/{appCollection}/apps/{appName}/devices/exportTasks/events", pathParameters), - autorest.WithJSON(parameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// CreateEventsTaskSender sends the CreateEventsTask request. The method will close the -// http.Response Body if it receives an error. -func (client ExportTasksClient) CreateEventsTaskSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - azure.DoRetryWithRegistration(client.Client)) -} - -// CreateEventsTaskResponder handles the response to the CreateEventsTask request. The method always -// closes the http.Response Body. -func (client ExportTasksClient) CreateEventsTaskResponder(resp *http.Response) (result ExportTaskResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// CreateFeedbackTaskByCampaign creates a task to export push campaign data for a set of campaigns. -// -// resourceGroupName is the name of the resource group. appCollection is application collection. appName is -// application resource name. -func (client ExportTasksClient) CreateFeedbackTaskByCampaign(ctx context.Context, resourceGroupName string, appCollection string, appName string, parameters FeedbackByCampaignParameter) (result ExportTaskResult, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: parameters, - Constraints: []validation.Constraint{{Target: "parameters.ContainerURL", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "parameters.CampaignIds", Name: validation.Null, Rule: true, - Chain: []validation.Constraint{{Target: "parameters.CampaignIds", Name: validation.MinItems, Rule: 1, Chain: nil}}}}}}); err != nil { - return result, validation.NewError("mobileengagement.ExportTasksClient", "CreateFeedbackTaskByCampaign", err.Error()) - } - - req, err := client.CreateFeedbackTaskByCampaignPreparer(ctx, resourceGroupName, appCollection, appName, parameters) - if err != nil { - err = autorest.NewErrorWithError(err, "mobileengagement.ExportTasksClient", "CreateFeedbackTaskByCampaign", nil, "Failure preparing request") - return - } - - resp, err := client.CreateFeedbackTaskByCampaignSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "mobileengagement.ExportTasksClient", "CreateFeedbackTaskByCampaign", resp, "Failure sending request") - return - } - - result, err = client.CreateFeedbackTaskByCampaignResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "mobileengagement.ExportTasksClient", "CreateFeedbackTaskByCampaign", resp, "Failure responding to request") - } - - return -} - -// CreateFeedbackTaskByCampaignPreparer prepares the CreateFeedbackTaskByCampaign request. -func (client ExportTasksClient) CreateFeedbackTaskByCampaignPreparer(ctx context.Context, resourceGroupName string, appCollection string, appName string, parameters FeedbackByCampaignParameter) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "appCollection": autorest.Encode("path", appCollection), - "appName": autorest.Encode("path", appName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2014-12-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MobileEngagement/appcollections/{appCollection}/apps/{appName}/devices/exportTasks/feedbackByCampaign", pathParameters), - autorest.WithJSON(parameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// CreateFeedbackTaskByCampaignSender sends the CreateFeedbackTaskByCampaign request. The method will close the -// http.Response Body if it receives an error. -func (client ExportTasksClient) CreateFeedbackTaskByCampaignSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - azure.DoRetryWithRegistration(client.Client)) -} - -// CreateFeedbackTaskByCampaignResponder handles the response to the CreateFeedbackTaskByCampaign request. The method always -// closes the http.Response Body. -func (client ExportTasksClient) CreateFeedbackTaskByCampaignResponder(resp *http.Response) (result ExportTaskResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// CreateFeedbackTaskByDateRange creates a task to export push campaign data for a date range. -// -// resourceGroupName is the name of the resource group. appCollection is application collection. appName is -// application resource name. -func (client ExportTasksClient) CreateFeedbackTaskByDateRange(ctx context.Context, resourceGroupName string, appCollection string, appName string, parameters FeedbackByDateRangeParameter) (result ExportTaskResult, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: parameters, - Constraints: []validation.Constraint{{Target: "parameters.ContainerURL", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "parameters.CampaignWindowStart", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "parameters.CampaignWindowEnd", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { - return result, validation.NewError("mobileengagement.ExportTasksClient", "CreateFeedbackTaskByDateRange", err.Error()) - } - - req, err := client.CreateFeedbackTaskByDateRangePreparer(ctx, resourceGroupName, appCollection, appName, parameters) - if err != nil { - err = autorest.NewErrorWithError(err, "mobileengagement.ExportTasksClient", "CreateFeedbackTaskByDateRange", nil, "Failure preparing request") - return - } - - resp, err := client.CreateFeedbackTaskByDateRangeSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "mobileengagement.ExportTasksClient", "CreateFeedbackTaskByDateRange", resp, "Failure sending request") - return - } - - result, err = client.CreateFeedbackTaskByDateRangeResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "mobileengagement.ExportTasksClient", "CreateFeedbackTaskByDateRange", resp, "Failure responding to request") - } - - return -} - -// CreateFeedbackTaskByDateRangePreparer prepares the CreateFeedbackTaskByDateRange request. -func (client ExportTasksClient) CreateFeedbackTaskByDateRangePreparer(ctx context.Context, resourceGroupName string, appCollection string, appName string, parameters FeedbackByDateRangeParameter) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "appCollection": autorest.Encode("path", appCollection), - "appName": autorest.Encode("path", appName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2014-12-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MobileEngagement/appcollections/{appCollection}/apps/{appName}/devices/exportTasks/feedbackByDate", pathParameters), - autorest.WithJSON(parameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// CreateFeedbackTaskByDateRangeSender sends the CreateFeedbackTaskByDateRange request. The method will close the -// http.Response Body if it receives an error. -func (client ExportTasksClient) CreateFeedbackTaskByDateRangeSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - azure.DoRetryWithRegistration(client.Client)) -} - -// CreateFeedbackTaskByDateRangeResponder handles the response to the CreateFeedbackTaskByDateRange request. The method always -// closes the http.Response Body. -func (client ExportTasksClient) CreateFeedbackTaskByDateRangeResponder(resp *http.Response) (result ExportTaskResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// CreateJobsTask creates a task to export jobs. -// -// resourceGroupName is the name of the resource group. appCollection is application collection. appName is -// application resource name. -func (client ExportTasksClient) CreateJobsTask(ctx context.Context, resourceGroupName string, appCollection string, appName string, parameters DateRangeExportTaskParameter) (result ExportTaskResult, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: parameters, - Constraints: []validation.Constraint{{Target: "parameters.ContainerURL", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "parameters.StartDate", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "parameters.EndDate", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { - return result, validation.NewError("mobileengagement.ExportTasksClient", "CreateJobsTask", err.Error()) - } - - req, err := client.CreateJobsTaskPreparer(ctx, resourceGroupName, appCollection, appName, parameters) - if err != nil { - err = autorest.NewErrorWithError(err, "mobileengagement.ExportTasksClient", "CreateJobsTask", nil, "Failure preparing request") - return - } - - resp, err := client.CreateJobsTaskSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "mobileengagement.ExportTasksClient", "CreateJobsTask", resp, "Failure sending request") - return - } - - result, err = client.CreateJobsTaskResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "mobileengagement.ExportTasksClient", "CreateJobsTask", resp, "Failure responding to request") - } - - return -} - -// CreateJobsTaskPreparer prepares the CreateJobsTask request. -func (client ExportTasksClient) CreateJobsTaskPreparer(ctx context.Context, resourceGroupName string, appCollection string, appName string, parameters DateRangeExportTaskParameter) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "appCollection": autorest.Encode("path", appCollection), - "appName": autorest.Encode("path", appName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2014-12-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MobileEngagement/appcollections/{appCollection}/apps/{appName}/devices/exportTasks/jobs", pathParameters), - autorest.WithJSON(parameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// CreateJobsTaskSender sends the CreateJobsTask request. The method will close the -// http.Response Body if it receives an error. -func (client ExportTasksClient) CreateJobsTaskSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - azure.DoRetryWithRegistration(client.Client)) -} - -// CreateJobsTaskResponder handles the response to the CreateJobsTask request. The method always -// closes the http.Response Body. -func (client ExportTasksClient) CreateJobsTaskResponder(resp *http.Response) (result ExportTaskResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// CreateSessionsTask creates a task to export sessions. -// -// resourceGroupName is the name of the resource group. appCollection is application collection. appName is -// application resource name. -func (client ExportTasksClient) CreateSessionsTask(ctx context.Context, resourceGroupName string, appCollection string, appName string, parameters DateRangeExportTaskParameter) (result ExportTaskResult, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: parameters, - Constraints: []validation.Constraint{{Target: "parameters.ContainerURL", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "parameters.StartDate", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "parameters.EndDate", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { - return result, validation.NewError("mobileengagement.ExportTasksClient", "CreateSessionsTask", err.Error()) - } - - req, err := client.CreateSessionsTaskPreparer(ctx, resourceGroupName, appCollection, appName, parameters) - if err != nil { - err = autorest.NewErrorWithError(err, "mobileengagement.ExportTasksClient", "CreateSessionsTask", nil, "Failure preparing request") - return - } - - resp, err := client.CreateSessionsTaskSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "mobileengagement.ExportTasksClient", "CreateSessionsTask", resp, "Failure sending request") - return - } - - result, err = client.CreateSessionsTaskResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "mobileengagement.ExportTasksClient", "CreateSessionsTask", resp, "Failure responding to request") - } - - return -} - -// CreateSessionsTaskPreparer prepares the CreateSessionsTask request. -func (client ExportTasksClient) CreateSessionsTaskPreparer(ctx context.Context, resourceGroupName string, appCollection string, appName string, parameters DateRangeExportTaskParameter) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "appCollection": autorest.Encode("path", appCollection), - "appName": autorest.Encode("path", appName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2014-12-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MobileEngagement/appcollections/{appCollection}/apps/{appName}/devices/exportTasks/sessions", pathParameters), - autorest.WithJSON(parameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// CreateSessionsTaskSender sends the CreateSessionsTask request. The method will close the -// http.Response Body if it receives an error. -func (client ExportTasksClient) CreateSessionsTaskSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - azure.DoRetryWithRegistration(client.Client)) -} - -// CreateSessionsTaskResponder handles the response to the CreateSessionsTask request. The method always -// closes the http.Response Body. -func (client ExportTasksClient) CreateSessionsTaskResponder(resp *http.Response) (result ExportTaskResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// CreateTagsTask creates a task to export tags. -// -// resourceGroupName is the name of the resource group. appCollection is application collection. appName is -// application resource name. -func (client ExportTasksClient) CreateTagsTask(ctx context.Context, resourceGroupName string, appCollection string, appName string, parameters ExportTaskParameter) (result ExportTaskResult, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: parameters, - Constraints: []validation.Constraint{{Target: "parameters.ContainerURL", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { - return result, validation.NewError("mobileengagement.ExportTasksClient", "CreateTagsTask", err.Error()) - } - - req, err := client.CreateTagsTaskPreparer(ctx, resourceGroupName, appCollection, appName, parameters) - if err != nil { - err = autorest.NewErrorWithError(err, "mobileengagement.ExportTasksClient", "CreateTagsTask", nil, "Failure preparing request") - return - } - - resp, err := client.CreateTagsTaskSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "mobileengagement.ExportTasksClient", "CreateTagsTask", resp, "Failure sending request") - return - } - - result, err = client.CreateTagsTaskResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "mobileengagement.ExportTasksClient", "CreateTagsTask", resp, "Failure responding to request") - } - - return -} - -// CreateTagsTaskPreparer prepares the CreateTagsTask request. -func (client ExportTasksClient) CreateTagsTaskPreparer(ctx context.Context, resourceGroupName string, appCollection string, appName string, parameters ExportTaskParameter) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "appCollection": autorest.Encode("path", appCollection), - "appName": autorest.Encode("path", appName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2014-12-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MobileEngagement/appcollections/{appCollection}/apps/{appName}/devices/exportTasks/tags", pathParameters), - autorest.WithJSON(parameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// CreateTagsTaskSender sends the CreateTagsTask request. The method will close the -// http.Response Body if it receives an error. -func (client ExportTasksClient) CreateTagsTaskSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - azure.DoRetryWithRegistration(client.Client)) -} - -// CreateTagsTaskResponder handles the response to the CreateTagsTask request. The method always -// closes the http.Response Body. -func (client ExportTasksClient) CreateTagsTaskResponder(resp *http.Response) (result ExportTaskResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// CreateTokensTask creates a task to export tags. -// -// resourceGroupName is the name of the resource group. appCollection is application collection. appName is -// application resource name. -func (client ExportTasksClient) CreateTokensTask(ctx context.Context, resourceGroupName string, appCollection string, appName string, parameters ExportTaskParameter) (result ExportTaskResult, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: parameters, - Constraints: []validation.Constraint{{Target: "parameters.ContainerURL", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { - return result, validation.NewError("mobileengagement.ExportTasksClient", "CreateTokensTask", err.Error()) - } - - req, err := client.CreateTokensTaskPreparer(ctx, resourceGroupName, appCollection, appName, parameters) - if err != nil { - err = autorest.NewErrorWithError(err, "mobileengagement.ExportTasksClient", "CreateTokensTask", nil, "Failure preparing request") - return - } - - resp, err := client.CreateTokensTaskSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "mobileengagement.ExportTasksClient", "CreateTokensTask", resp, "Failure sending request") - return - } - - result, err = client.CreateTokensTaskResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "mobileengagement.ExportTasksClient", "CreateTokensTask", resp, "Failure responding to request") - } - - return -} - -// CreateTokensTaskPreparer prepares the CreateTokensTask request. -func (client ExportTasksClient) CreateTokensTaskPreparer(ctx context.Context, resourceGroupName string, appCollection string, appName string, parameters ExportTaskParameter) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "appCollection": autorest.Encode("path", appCollection), - "appName": autorest.Encode("path", appName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2014-12-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MobileEngagement/appcollections/{appCollection}/apps/{appName}/devices/exportTasks/tokens", pathParameters), - autorest.WithJSON(parameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// CreateTokensTaskSender sends the CreateTokensTask request. The method will close the -// http.Response Body if it receives an error. -func (client ExportTasksClient) CreateTokensTaskSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - azure.DoRetryWithRegistration(client.Client)) -} - -// CreateTokensTaskResponder handles the response to the CreateTokensTask request. The method always -// closes the http.Response Body. -func (client ExportTasksClient) CreateTokensTaskResponder(resp *http.Response) (result ExportTaskResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// Get retrieves information about a previously created export task. -// -// resourceGroupName is the name of the resource group. appCollection is application collection. appName is -// application resource name. ID is export task identifier. -func (client ExportTasksClient) Get(ctx context.Context, resourceGroupName string, appCollection string, appName string, ID string) (result ExportTaskResult, err error) { - req, err := client.GetPreparer(ctx, resourceGroupName, appCollection, appName, ID) - if err != nil { - err = autorest.NewErrorWithError(err, "mobileengagement.ExportTasksClient", "Get", nil, "Failure preparing request") - return - } - - resp, err := client.GetSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "mobileengagement.ExportTasksClient", "Get", resp, "Failure sending request") - return - } - - result, err = client.GetResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "mobileengagement.ExportTasksClient", "Get", resp, "Failure responding to request") - } - - return -} - -// GetPreparer prepares the Get request. -func (client ExportTasksClient) GetPreparer(ctx context.Context, resourceGroupName string, appCollection string, appName string, ID string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "appCollection": autorest.Encode("path", appCollection), - "appName": autorest.Encode("path", appName), - "id": autorest.Encode("path", ID), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2014-12-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MobileEngagement/appcollections/{appCollection}/apps/{appName}/devices/exportTasks/{id}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetSender sends the Get request. The method will close the -// http.Response Body if it receives an error. -func (client ExportTasksClient) GetSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - azure.DoRetryWithRegistration(client.Client)) -} - -// GetResponder handles the response to the Get request. The method always -// closes the http.Response Body. -func (client ExportTasksClient) GetResponder(resp *http.Response) (result ExportTaskResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// List get the list of export tasks. -// -// resourceGroupName is the name of the resource group. appCollection is application collection. appName is -// application resource name. skip is control paging of export tasks, start results at the given offset, defaults -// to 0 (1st page of data). top is control paging of export tasks, number of export tasks to return with each call. -// By default, it returns all export tasks with a default paging of 20. -// The response contains a `nextLink` property describing the path to get the next page if there are more results. -// The maximum paging limit for $top is 40. orderby is sort results by an expression which looks like -// `$orderby=taskId asc` (default when not specified). -// The syntax is orderby={property} {direction} or just orderby={property}. -// Properties that can be specified for sorting: taskId, errorDetails, dateCreated, taskStatus, and dateCreated. -// The available directions are asc (for ascending order) and desc (for descending order). -// When not specified the asc direction is used. -// Only one orderby property can be specified. -func (client ExportTasksClient) List(ctx context.Context, resourceGroupName string, appCollection string, appName string, skip *int32, top *int32, orderby string) (result ExportTaskListResultPage, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: skip, - Constraints: []validation.Constraint{{Target: "skip", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "skip", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}}}}}, - {TargetValue: top, - Constraints: []validation.Constraint{{Target: "top", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "top", Name: validation.InclusiveMaximum, Rule: 40, Chain: nil}, - {Target: "top", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}, - }}}}}); err != nil { - return result, validation.NewError("mobileengagement.ExportTasksClient", "List", err.Error()) - } - - result.fn = client.listNextResults - req, err := client.ListPreparer(ctx, resourceGroupName, appCollection, appName, skip, top, orderby) - if err != nil { - err = autorest.NewErrorWithError(err, "mobileengagement.ExportTasksClient", "List", nil, "Failure preparing request") - return - } - - resp, err := client.ListSender(req) - if err != nil { - result.etlr.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "mobileengagement.ExportTasksClient", "List", resp, "Failure sending request") - return - } - - result.etlr, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "mobileengagement.ExportTasksClient", "List", resp, "Failure responding to request") - } - - return -} - -// ListPreparer prepares the List request. -func (client ExportTasksClient) ListPreparer(ctx context.Context, resourceGroupName string, appCollection string, appName string, skip *int32, top *int32, orderby string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "appCollection": autorest.Encode("path", appCollection), - "appName": autorest.Encode("path", appName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2014-12-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if skip != nil { - queryParameters["$skip"] = autorest.Encode("query", *skip) - } else { - queryParameters["$skip"] = autorest.Encode("query", 0) - } - if top != nil { - queryParameters["$top"] = autorest.Encode("query", *top) - } else { - queryParameters["$top"] = autorest.Encode("query", 20) - } - if len(orderby) > 0 { - queryParameters["$orderby"] = autorest.Encode("query", orderby) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MobileEngagement/appcollections/{appCollection}/apps/{appName}/devices/exportTasks", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListSender sends the List request. The method will close the -// http.Response Body if it receives an error. -func (client ExportTasksClient) ListSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - azure.DoRetryWithRegistration(client.Client)) -} - -// ListResponder handles the response to the List request. The method always -// closes the http.Response Body. -func (client ExportTasksClient) ListResponder(resp *http.Response) (result ExportTaskListResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listNextResults retrieves the next set of results, if any. -func (client ExportTasksClient) listNextResults(lastResults ExportTaskListResult) (result ExportTaskListResult, err error) { - req, err := lastResults.exportTaskListResultPreparer() - if err != nil { - return result, autorest.NewErrorWithError(err, "mobileengagement.ExportTasksClient", "listNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "mobileengagement.ExportTasksClient", "listNextResults", resp, "Failure sending next results request") - } - result, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "mobileengagement.ExportTasksClient", "listNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListComplete enumerates all values, automatically crossing page boundaries as required. -func (client ExportTasksClient) ListComplete(ctx context.Context, resourceGroupName string, appCollection string, appName string, skip *int32, top *int32, orderby string) (result ExportTaskListResultIterator, err error) { - result.page, err = client.List(ctx, resourceGroupName, appCollection, appName, skip, top, orderby) - return -} diff --git a/services/mobileengagement/mgmt/2014-12-01/mobileengagement/importtasks.go b/services/mobileengagement/mgmt/2014-12-01/mobileengagement/importtasks.go deleted file mode 100644 index 3c0a99b40185..000000000000 --- a/services/mobileengagement/mgmt/2014-12-01/mobileengagement/importtasks.go +++ /dev/null @@ -1,311 +0,0 @@ -package mobileengagement - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/autorest/validation" - "net/http" -) - -// ImportTasksClient is the microsoft Azure Mobile Engagement REST APIs. -type ImportTasksClient struct { - BaseClient -} - -// NewImportTasksClient creates an instance of the ImportTasksClient client. -func NewImportTasksClient(subscriptionID string) ImportTasksClient { - return NewImportTasksClientWithBaseURI(DefaultBaseURI, subscriptionID) -} - -// NewImportTasksClientWithBaseURI creates an instance of the ImportTasksClient client. -func NewImportTasksClientWithBaseURI(baseURI string, subscriptionID string) ImportTasksClient { - return ImportTasksClient{NewWithBaseURI(baseURI, subscriptionID)} -} - -// Create creates a job to import the specified data to a storageUrl. -// -// resourceGroupName is the name of the resource group. appCollection is application collection. appName is -// application resource name. -func (client ImportTasksClient) Create(ctx context.Context, resourceGroupName string, appCollection string, appName string, parameters ImportTask) (result ImportTaskResult, err error) { - req, err := client.CreatePreparer(ctx, resourceGroupName, appCollection, appName, parameters) - if err != nil { - err = autorest.NewErrorWithError(err, "mobileengagement.ImportTasksClient", "Create", nil, "Failure preparing request") - return - } - - resp, err := client.CreateSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "mobileengagement.ImportTasksClient", "Create", resp, "Failure sending request") - return - } - - result, err = client.CreateResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "mobileengagement.ImportTasksClient", "Create", resp, "Failure responding to request") - } - - return -} - -// CreatePreparer prepares the Create request. -func (client ImportTasksClient) CreatePreparer(ctx context.Context, resourceGroupName string, appCollection string, appName string, parameters ImportTask) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "appCollection": autorest.Encode("path", appCollection), - "appName": autorest.Encode("path", appName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2014-12-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MobileEngagement/appcollections/{appCollection}/apps/{appName}/devices/importTasks", pathParameters), - autorest.WithJSON(parameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// CreateSender sends the Create request. The method will close the -// http.Response Body if it receives an error. -func (client ImportTasksClient) CreateSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - azure.DoRetryWithRegistration(client.Client)) -} - -// CreateResponder handles the response to the Create request. The method always -// closes the http.Response Body. -func (client ImportTasksClient) CreateResponder(resp *http.Response) (result ImportTaskResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated, http.StatusAccepted), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// Get the Get import job operation retrieves information about a previously created import job. -// -// ID is import job identifier. resourceGroupName is the name of the resource group. appCollection is application -// collection. appName is application resource name. -func (client ImportTasksClient) Get(ctx context.Context, ID string, resourceGroupName string, appCollection string, appName string) (result ImportTaskResult, err error) { - req, err := client.GetPreparer(ctx, ID, resourceGroupName, appCollection, appName) - if err != nil { - err = autorest.NewErrorWithError(err, "mobileengagement.ImportTasksClient", "Get", nil, "Failure preparing request") - return - } - - resp, err := client.GetSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "mobileengagement.ImportTasksClient", "Get", resp, "Failure sending request") - return - } - - result, err = client.GetResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "mobileengagement.ImportTasksClient", "Get", resp, "Failure responding to request") - } - - return -} - -// GetPreparer prepares the Get request. -func (client ImportTasksClient) GetPreparer(ctx context.Context, ID string, resourceGroupName string, appCollection string, appName string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "appCollection": autorest.Encode("path", appCollection), - "appName": autorest.Encode("path", appName), - "id": autorest.Encode("path", ID), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2014-12-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MobileEngagement/appcollections/{appCollection}/apps/{appName}/devices/importTasks/{id}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetSender sends the Get request. The method will close the -// http.Response Body if it receives an error. -func (client ImportTasksClient) GetSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - azure.DoRetryWithRegistration(client.Client)) -} - -// GetResponder handles the response to the Get request. The method always -// closes the http.Response Body. -func (client ImportTasksClient) GetResponder(resp *http.Response) (result ImportTaskResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// List get the list of import jobs. -// -// resourceGroupName is the name of the resource group. appCollection is application collection. appName is -// application resource name. skip is control paging of import jobs, start results at the given offset, defaults to -// 0 (1st page of data). top is control paging of import jobs, number of import jobs to return with each call. By -// default, it returns all import jobs with a default paging of 20. -// The response contains a `nextLink` property describing the path to get the next page if there are more results. -// The maximum paging limit for $top is 40. orderby is sort results by an expression which looks like -// `$orderby=jobId asc` (default when not specified). -// The syntax is orderby={property} {direction} or just orderby={property}. -// Properties that can be specified for sorting: jobId, errorDetails, dateCreated, jobStatus, and dateCreated. -// The available directions are asc (for ascending order) and desc (for descending order). -// When not specified the asc direction is used. -// Only one orderby property can be specified. -func (client ImportTasksClient) List(ctx context.Context, resourceGroupName string, appCollection string, appName string, skip *int32, top *int32, orderby string) (result ImportTaskListResultPage, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: skip, - Constraints: []validation.Constraint{{Target: "skip", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "skip", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}}}}}, - {TargetValue: top, - Constraints: []validation.Constraint{{Target: "top", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "top", Name: validation.InclusiveMaximum, Rule: 40, Chain: nil}, - {Target: "top", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}, - }}}}}); err != nil { - return result, validation.NewError("mobileengagement.ImportTasksClient", "List", err.Error()) - } - - result.fn = client.listNextResults - req, err := client.ListPreparer(ctx, resourceGroupName, appCollection, appName, skip, top, orderby) - if err != nil { - err = autorest.NewErrorWithError(err, "mobileengagement.ImportTasksClient", "List", nil, "Failure preparing request") - return - } - - resp, err := client.ListSender(req) - if err != nil { - result.itlr.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "mobileengagement.ImportTasksClient", "List", resp, "Failure sending request") - return - } - - result.itlr, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "mobileengagement.ImportTasksClient", "List", resp, "Failure responding to request") - } - - return -} - -// ListPreparer prepares the List request. -func (client ImportTasksClient) ListPreparer(ctx context.Context, resourceGroupName string, appCollection string, appName string, skip *int32, top *int32, orderby string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "appCollection": autorest.Encode("path", appCollection), - "appName": autorest.Encode("path", appName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2014-12-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if skip != nil { - queryParameters["$skip"] = autorest.Encode("query", *skip) - } else { - queryParameters["$skip"] = autorest.Encode("query", 0) - } - if top != nil { - queryParameters["$top"] = autorest.Encode("query", *top) - } else { - queryParameters["$top"] = autorest.Encode("query", 20) - } - if len(orderby) > 0 { - queryParameters["$orderby"] = autorest.Encode("query", orderby) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MobileEngagement/appcollections/{appCollection}/apps/{appName}/devices/importTasks", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListSender sends the List request. The method will close the -// http.Response Body if it receives an error. -func (client ImportTasksClient) ListSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - azure.DoRetryWithRegistration(client.Client)) -} - -// ListResponder handles the response to the List request. The method always -// closes the http.Response Body. -func (client ImportTasksClient) ListResponder(resp *http.Response) (result ImportTaskListResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listNextResults retrieves the next set of results, if any. -func (client ImportTasksClient) listNextResults(lastResults ImportTaskListResult) (result ImportTaskListResult, err error) { - req, err := lastResults.importTaskListResultPreparer() - if err != nil { - return result, autorest.NewErrorWithError(err, "mobileengagement.ImportTasksClient", "listNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "mobileengagement.ImportTasksClient", "listNextResults", resp, "Failure sending next results request") - } - result, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "mobileengagement.ImportTasksClient", "listNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListComplete enumerates all values, automatically crossing page boundaries as required. -func (client ImportTasksClient) ListComplete(ctx context.Context, resourceGroupName string, appCollection string, appName string, skip *int32, top *int32, orderby string) (result ImportTaskListResultIterator, err error) { - result.page, err = client.List(ctx, resourceGroupName, appCollection, appName, skip, top, orderby) - return -} diff --git a/services/mobileengagement/mgmt/2014-12-01/mobileengagement/models.go b/services/mobileengagement/mgmt/2014-12-01/mobileengagement/models.go deleted file mode 100644 index b43297c14d8c..000000000000 --- a/services/mobileengagement/mgmt/2014-12-01/mobileengagement/models.go +++ /dev/null @@ -1,5874 +0,0 @@ -package mobileengagement - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "encoding/json" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/date" - "github.com/Azure/go-autorest/autorest/to" - "net/http" -) - -// AudienceOperators enumerates the values for audience operators. -type AudienceOperators string - -const ( - // EQ ... - EQ AudienceOperators = "EQ" - // GE ... - GE AudienceOperators = "GE" - // GT ... - GT AudienceOperators = "GT" - // LE ... - LE AudienceOperators = "LE" - // LT ... - LT AudienceOperators = "LT" -) - -// PossibleAudienceOperatorsValues returns an array of possible values for the AudienceOperators const type. -func PossibleAudienceOperatorsValues() []AudienceOperators { - return []AudienceOperators{EQ, GE, GT, LE, LT} -} - -// CampaignFeedbacks enumerates the values for campaign feedbacks. -type CampaignFeedbacks string - -const ( - // Actioned ... - Actioned CampaignFeedbacks = "actioned" - // Exited ... - Exited CampaignFeedbacks = "exited" - // Pushed ... - Pushed CampaignFeedbacks = "pushed" - // Replied ... - Replied CampaignFeedbacks = "replied" -) - -// PossibleCampaignFeedbacksValues returns an array of possible values for the CampaignFeedbacks const type. -func PossibleCampaignFeedbacksValues() []CampaignFeedbacks { - return []CampaignFeedbacks{Actioned, Exited, Pushed, Replied} -} - -// CampaignKinds enumerates the values for campaign kinds. -type CampaignKinds string - -const ( - // Announcements ... - Announcements CampaignKinds = "announcements" - // DataPushes ... - DataPushes CampaignKinds = "dataPushes" - // NativePushes ... - NativePushes CampaignKinds = "nativePushes" - // Polls ... - Polls CampaignKinds = "polls" -) - -// PossibleCampaignKindsValues returns an array of possible values for the CampaignKinds const type. -func PossibleCampaignKindsValues() []CampaignKinds { - return []CampaignKinds{Announcements, DataPushes, NativePushes, Polls} -} - -// CampaignStates enumerates the values for campaign states. -type CampaignStates string - -const ( - // Draft ... - Draft CampaignStates = "draft" - // Finished ... - Finished CampaignStates = "finished" - // InProgress ... - InProgress CampaignStates = "in-progress" - // Queued ... - Queued CampaignStates = "queued" - // Scheduled ... - Scheduled CampaignStates = "scheduled" -) - -// PossibleCampaignStatesValues returns an array of possible values for the CampaignStates const type. -func PossibleCampaignStatesValues() []CampaignStates { - return []CampaignStates{Draft, Finished, InProgress, Queued, Scheduled} -} - -// CampaignType enumerates the values for campaign type. -type CampaignType string - -const ( - // Announcement ... - Announcement CampaignType = "Announcement" - // DataPush ... - DataPush CampaignType = "DataPush" - // NativePush ... - NativePush CampaignType = "NativePush" - // Poll ... - Poll CampaignType = "Poll" -) - -// PossibleCampaignTypeValues returns an array of possible values for the CampaignType const type. -func PossibleCampaignTypeValues() []CampaignType { - return []CampaignType{Announcement, DataPush, NativePush, Poll} -} - -// CampaignTypes enumerates the values for campaign types. -type CampaignTypes string - -const ( - // OnlyNotif ... - OnlyNotif CampaignTypes = "only_notif" - // Textbase64 ... - Textbase64 CampaignTypes = "text/base64" - // Texthtml ... - Texthtml CampaignTypes = "text/html" - // Textplain ... - Textplain CampaignTypes = "text/plain" -) - -// PossibleCampaignTypesValues returns an array of possible values for the CampaignTypes const type. -func PossibleCampaignTypesValues() []CampaignTypes { - return []CampaignTypes{OnlyNotif, Textbase64, Texthtml, Textplain} -} - -// DeliveryTimes enumerates the values for delivery times. -type DeliveryTimes string - -const ( - // Any ... - Any DeliveryTimes = "any" - // Background ... - Background DeliveryTimes = "background" - // Session ... - Session DeliveryTimes = "session" -) - -// PossibleDeliveryTimesValues returns an array of possible values for the DeliveryTimes const type. -func PossibleDeliveryTimesValues() []DeliveryTimes { - return []DeliveryTimes{Any, Background, Session} -} - -// ExportFormat enumerates the values for export format. -type ExportFormat string - -const ( - // CsvBlob ... - CsvBlob ExportFormat = "CsvBlob" - // JSONBlob ... - JSONBlob ExportFormat = "JsonBlob" -) - -// PossibleExportFormatValues returns an array of possible values for the ExportFormat const type. -func PossibleExportFormatValues() []ExportFormat { - return []ExportFormat{CsvBlob, JSONBlob} -} - -// ExportState enumerates the values for export state. -type ExportState string - -const ( - // ExportStateFailed ... - ExportStateFailed ExportState = "Failed" - // ExportStateQueued ... - ExportStateQueued ExportState = "Queued" - // ExportStateStarted ... - ExportStateStarted ExportState = "Started" - // ExportStateSucceeded ... - ExportStateSucceeded ExportState = "Succeeded" -) - -// PossibleExportStateValues returns an array of possible values for the ExportState const type. -func PossibleExportStateValues() []ExportState { - return []ExportState{ExportStateFailed, ExportStateQueued, ExportStateStarted, ExportStateSucceeded} -} - -// ExportType enumerates the values for export type. -type ExportType string - -const ( - // ExportTypeActivity ... - ExportTypeActivity ExportType = "Activity" - // ExportTypeCrash ... - ExportTypeCrash ExportType = "Crash" - // ExportTypeError ... - ExportTypeError ExportType = "Error" - // ExportTypeEvent ... - ExportTypeEvent ExportType = "Event" - // ExportTypeJob ... - ExportTypeJob ExportType = "Job" - // ExportTypePush ... - ExportTypePush ExportType = "Push" - // ExportTypeSession ... - ExportTypeSession ExportType = "Session" - // ExportTypeTag ... - ExportTypeTag ExportType = "Tag" - // ExportTypeToken ... - ExportTypeToken ExportType = "Token" -) - -// PossibleExportTypeValues returns an array of possible values for the ExportType const type. -func PossibleExportTypeValues() []ExportType { - return []ExportType{ExportTypeActivity, ExportTypeCrash, ExportTypeError, ExportTypeEvent, ExportTypeJob, ExportTypePush, ExportTypeSession, ExportTypeTag, ExportTypeToken} -} - -// JobStates enumerates the values for job states. -type JobStates string - -const ( - // JobStatesFailed ... - JobStatesFailed JobStates = "Failed" - // JobStatesQueued ... - JobStatesQueued JobStates = "Queued" - // JobStatesStarted ... - JobStatesStarted JobStates = "Started" - // JobStatesSucceeded ... - JobStatesSucceeded JobStates = "Succeeded" -) - -// PossibleJobStatesValues returns an array of possible values for the JobStates const type. -func PossibleJobStatesValues() []JobStates { - return []JobStates{JobStatesFailed, JobStatesQueued, JobStatesStarted, JobStatesSucceeded} -} - -// NotificationTypes enumerates the values for notification types. -type NotificationTypes string - -const ( - // Popup ... - Popup NotificationTypes = "popup" - // System ... - System NotificationTypes = "system" -) - -// PossibleNotificationTypesValues returns an array of possible values for the NotificationTypes const type. -func PossibleNotificationTypesValues() []NotificationTypes { - return []NotificationTypes{Popup, System} -} - -// ProvisioningStates enumerates the values for provisioning states. -type ProvisioningStates string - -const ( - // Creating ... - Creating ProvisioningStates = "Creating" - // Succeeded ... - Succeeded ProvisioningStates = "Succeeded" -) - -// PossibleProvisioningStatesValues returns an array of possible values for the ProvisioningStates const type. -func PossibleProvisioningStatesValues() []ProvisioningStates { - return []ProvisioningStates{Creating, Succeeded} -} - -// PushModes enumerates the values for push modes. -type PushModes string - -const ( - // Manual ... - Manual PushModes = "manual" - // OneShot ... - OneShot PushModes = "one-shot" - // RealTime ... - RealTime PushModes = "real-time" -) - -// PossiblePushModesValues returns an array of possible values for the PushModes const type. -func PossiblePushModesValues() []PushModes { - return []PushModes{Manual, OneShot, RealTime} -} - -// Type enumerates the values for type. -type Type string - -const ( - // TypeAnnouncementFeedback ... - TypeAnnouncementFeedback Type = "announcement-feedback" - // TypeApplicationVersion ... - TypeApplicationVersion Type = "application-version" - // TypeBooleanTag ... - TypeBooleanTag Type = "boolean-tag" - // TypeCarrierCountry ... - TypeCarrierCountry Type = "carrier-country" - // TypeCarrierName ... - TypeCarrierName Type = "carrier-name" - // TypeCriterion ... - TypeCriterion Type = "Criterion" - // TypeDatapushFeedback ... - TypeDatapushFeedback Type = "datapush-feedback" - // TypeDateTag ... - TypeDateTag Type = "date-tag" - // TypeDeviceManufacturer ... - TypeDeviceManufacturer Type = "device-manufacturer" - // TypeDeviceModel ... - TypeDeviceModel Type = "device-model" - // TypeFirmwareVersion ... - TypeFirmwareVersion Type = "firmware-version" - // TypeGeoFencing ... - TypeGeoFencing Type = "geo-fencing" - // TypeIntegerTag ... - TypeIntegerTag Type = "integer-tag" - // TypeLanguage ... - TypeLanguage Type = "language" - // TypeLocation ... - TypeLocation Type = "location" - // TypeNetworkType ... - TypeNetworkType Type = "network-type" - // TypePollAnswerFeedback ... - TypePollAnswerFeedback Type = "poll-answer-feedback" - // TypePollFeedback ... - TypePollFeedback Type = "poll-feedback" - // TypeScreenSize ... - TypeScreenSize Type = "screen-size" - // TypeSegment ... - TypeSegment Type = "segment" - // TypeStringTag ... - TypeStringTag Type = "string-tag" -) - -// PossibleTypeValues returns an array of possible values for the Type const type. -func PossibleTypeValues() []Type { - return []Type{TypeAnnouncementFeedback, TypeApplicationVersion, TypeBooleanTag, TypeCarrierCountry, TypeCarrierName, TypeCriterion, TypeDatapushFeedback, TypeDateTag, TypeDeviceManufacturer, TypeDeviceModel, TypeFirmwareVersion, TypeGeoFencing, TypeIntegerTag, TypeLanguage, TypeLocation, TypeNetworkType, TypePollAnswerFeedback, TypePollFeedback, TypeScreenSize, TypeSegment, TypeStringTag} -} - -// TypeBasicFilter enumerates the values for type basic filter. -type TypeBasicFilter string - -const ( - // TypeAppInfo ... - TypeAppInfo TypeBasicFilter = "app-info" - // TypeEngageActiveUsers ... - TypeEngageActiveUsers TypeBasicFilter = "engage-active-users" - // TypeEngageIdleUsers ... - TypeEngageIdleUsers TypeBasicFilter = "engage-idle-users" - // TypeEngageNewUsers ... - TypeEngageNewUsers TypeBasicFilter = "engage-new-users" - // TypeEngageOldUsers ... - TypeEngageOldUsers TypeBasicFilter = "engage-old-users" - // TypeEngageSubset ... - TypeEngageSubset TypeBasicFilter = "engage-subset" - // TypeFilter ... - TypeFilter TypeBasicFilter = "Filter" - // TypeNativePushEnabled ... - TypeNativePushEnabled TypeBasicFilter = "native-push-enabled" - // TypePushQuota ... - TypePushQuota TypeBasicFilter = "push-quota" -) - -// PossibleTypeBasicFilterValues returns an array of possible values for the TypeBasicFilter const type. -func PossibleTypeBasicFilterValues() []TypeBasicFilter { - return []TypeBasicFilter{TypeAppInfo, TypeEngageActiveUsers, TypeEngageIdleUsers, TypeEngageNewUsers, TypeEngageOldUsers, TypeEngageSubset, TypeFilter, TypeNativePushEnabled, TypePushQuota} -} - -// AnnouncementFeedbackCriterion used to target devices who received an announcement. -type AnnouncementFeedbackCriterion struct { - // ContentID - The unique identifier of the announcement. - ContentID *int32 `json:"content-id,omitempty"` - // Action - Action that was performed on the announcement. Possible values include: 'Pushed', 'Replied', 'Actioned', 'Exited' - Action CampaignFeedbacks `json:"action,omitempty"` - // Type - Possible values include: 'TypeCriterion', 'TypeCarrierName', 'TypeCarrierCountry', 'TypeFirmwareVersion', 'TypeDeviceManufacturer', 'TypeDeviceModel', 'TypeApplicationVersion', 'TypeNetworkType', 'TypeLanguage', 'TypeScreenSize', 'TypeLocation', 'TypeGeoFencing', 'TypeAnnouncementFeedback', 'TypePollFeedback', 'TypePollAnswerFeedback', 'TypeDatapushFeedback', 'TypeSegment', 'TypeStringTag', 'TypeDateTag', 'TypeIntegerTag', 'TypeBooleanTag' - Type Type `json:"type,omitempty"` -} - -// MarshalJSON is the custom marshaler for AnnouncementFeedbackCriterion. -func (afc AnnouncementFeedbackCriterion) MarshalJSON() ([]byte, error) { - afc.Type = TypeAnnouncementFeedback - objectMap := make(map[string]interface{}) - if afc.ContentID != nil { - objectMap["content-id"] = afc.ContentID - } - if afc.Action != "" { - objectMap["action"] = afc.Action - } - if afc.Type != "" { - objectMap["type"] = afc.Type - } - return json.Marshal(objectMap) -} - -// AsCarrierNameCriterion is the BasicCriterion implementation for AnnouncementFeedbackCriterion. -func (afc AnnouncementFeedbackCriterion) AsCarrierNameCriterion() (*CarrierNameCriterion, bool) { - return nil, false -} - -// AsCarrierCountryCriterion is the BasicCriterion implementation for AnnouncementFeedbackCriterion. -func (afc AnnouncementFeedbackCriterion) AsCarrierCountryCriterion() (*CarrierCountryCriterion, bool) { - return nil, false -} - -// AsFirmwareVersionCriterion is the BasicCriterion implementation for AnnouncementFeedbackCriterion. -func (afc AnnouncementFeedbackCriterion) AsFirmwareVersionCriterion() (*FirmwareVersionCriterion, bool) { - return nil, false -} - -// AsDeviceManufacturerCriterion is the BasicCriterion implementation for AnnouncementFeedbackCriterion. -func (afc AnnouncementFeedbackCriterion) AsDeviceManufacturerCriterion() (*DeviceManufacturerCriterion, bool) { - return nil, false -} - -// AsDeviceModelCriterion is the BasicCriterion implementation for AnnouncementFeedbackCriterion. -func (afc AnnouncementFeedbackCriterion) AsDeviceModelCriterion() (*DeviceModelCriterion, bool) { - return nil, false -} - -// AsApplicationVersionCriterion is the BasicCriterion implementation for AnnouncementFeedbackCriterion. -func (afc AnnouncementFeedbackCriterion) AsApplicationVersionCriterion() (*ApplicationVersionCriterion, bool) { - return nil, false -} - -// AsNetworkTypeCriterion is the BasicCriterion implementation for AnnouncementFeedbackCriterion. -func (afc AnnouncementFeedbackCriterion) AsNetworkTypeCriterion() (*NetworkTypeCriterion, bool) { - return nil, false -} - -// AsLanguageCriterion is the BasicCriterion implementation for AnnouncementFeedbackCriterion. -func (afc AnnouncementFeedbackCriterion) AsLanguageCriterion() (*LanguageCriterion, bool) { - return nil, false -} - -// AsScreenSizeCriterion is the BasicCriterion implementation for AnnouncementFeedbackCriterion. -func (afc AnnouncementFeedbackCriterion) AsScreenSizeCriterion() (*ScreenSizeCriterion, bool) { - return nil, false -} - -// AsLocationCriterion is the BasicCriterion implementation for AnnouncementFeedbackCriterion. -func (afc AnnouncementFeedbackCriterion) AsLocationCriterion() (*LocationCriterion, bool) { - return nil, false -} - -// AsGeoFencingCriterion is the BasicCriterion implementation for AnnouncementFeedbackCriterion. -func (afc AnnouncementFeedbackCriterion) AsGeoFencingCriterion() (*GeoFencingCriterion, bool) { - return nil, false -} - -// AsAnnouncementFeedbackCriterion is the BasicCriterion implementation for AnnouncementFeedbackCriterion. -func (afc AnnouncementFeedbackCriterion) AsAnnouncementFeedbackCriterion() (*AnnouncementFeedbackCriterion, bool) { - return &afc, true -} - -// AsPollFeedbackCriterion is the BasicCriterion implementation for AnnouncementFeedbackCriterion. -func (afc AnnouncementFeedbackCriterion) AsPollFeedbackCriterion() (*PollFeedbackCriterion, bool) { - return nil, false -} - -// AsPollAnswerFeedbackCriterion is the BasicCriterion implementation for AnnouncementFeedbackCriterion. -func (afc AnnouncementFeedbackCriterion) AsPollAnswerFeedbackCriterion() (*PollAnswerFeedbackCriterion, bool) { - return nil, false -} - -// AsDatapushFeedbackCriterion is the BasicCriterion implementation for AnnouncementFeedbackCriterion. -func (afc AnnouncementFeedbackCriterion) AsDatapushFeedbackCriterion() (*DatapushFeedbackCriterion, bool) { - return nil, false -} - -// AsSegmentCriterion is the BasicCriterion implementation for AnnouncementFeedbackCriterion. -func (afc AnnouncementFeedbackCriterion) AsSegmentCriterion() (*SegmentCriterion, bool) { - return nil, false -} - -// AsStringTagCriterion is the BasicCriterion implementation for AnnouncementFeedbackCriterion. -func (afc AnnouncementFeedbackCriterion) AsStringTagCriterion() (*StringTagCriterion, bool) { - return nil, false -} - -// AsDateTagCriterion is the BasicCriterion implementation for AnnouncementFeedbackCriterion. -func (afc AnnouncementFeedbackCriterion) AsDateTagCriterion() (*DateTagCriterion, bool) { - return nil, false -} - -// AsIntegerTagCriterion is the BasicCriterion implementation for AnnouncementFeedbackCriterion. -func (afc AnnouncementFeedbackCriterion) AsIntegerTagCriterion() (*IntegerTagCriterion, bool) { - return nil, false -} - -// AsBooleanTagCriterion is the BasicCriterion implementation for AnnouncementFeedbackCriterion. -func (afc AnnouncementFeedbackCriterion) AsBooleanTagCriterion() (*BooleanTagCriterion, bool) { - return nil, false -} - -// AsCriterion is the BasicCriterion implementation for AnnouncementFeedbackCriterion. -func (afc AnnouncementFeedbackCriterion) AsCriterion() (*Criterion, bool) { - return nil, false -} - -// AsBasicCriterion is the BasicCriterion implementation for AnnouncementFeedbackCriterion. -func (afc AnnouncementFeedbackCriterion) AsBasicCriterion() (BasicCriterion, bool) { - return &afc, true -} - -// APIError ... -type APIError struct { - Error *APIErrorError `json:"error,omitempty"` -} - -// APIErrorError ... -type APIErrorError struct { - Code *string `json:"code,omitempty"` - Message *string `json:"message,omitempty"` -} - -// App the Mobile Engagement App resource. -type App struct { - *AppProperties `json:"properties,omitempty"` - // ID - Resource Id - ID *string `json:"id,omitempty"` - // Name - Resource name - Name *string `json:"name,omitempty"` - // Type - Resource type - Type *string `json:"type,omitempty"` - // Location - Resource location - Location *string `json:"location,omitempty"` - // Tags - Resource tags - Tags map[string]*string `json:"tags"` -} - -// MarshalJSON is the custom marshaler for App. -func (a App) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - if a.AppProperties != nil { - objectMap["properties"] = a.AppProperties - } - if a.ID != nil { - objectMap["id"] = a.ID - } - if a.Name != nil { - objectMap["name"] = a.Name - } - if a.Type != nil { - objectMap["type"] = a.Type - } - if a.Location != nil { - objectMap["location"] = a.Location - } - if a.Tags != nil { - objectMap["tags"] = a.Tags - } - return json.Marshal(objectMap) -} - -// UnmarshalJSON is the custom unmarshaler for App struct. -func (a *App) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - case "properties": - if v != nil { - var appProperties AppProperties - err = json.Unmarshal(*v, &appProperties) - if err != nil { - return err - } - a.AppProperties = &appProperties - } - case "id": - if v != nil { - var ID string - err = json.Unmarshal(*v, &ID) - if err != nil { - return err - } - a.ID = &ID - } - case "name": - if v != nil { - var name string - err = json.Unmarshal(*v, &name) - if err != nil { - return err - } - a.Name = &name - } - case "type": - if v != nil { - var typeVar string - err = json.Unmarshal(*v, &typeVar) - if err != nil { - return err - } - a.Type = &typeVar - } - case "location": - if v != nil { - var location string - err = json.Unmarshal(*v, &location) - if err != nil { - return err - } - a.Location = &location - } - case "tags": - if v != nil { - var tags map[string]*string - err = json.Unmarshal(*v, &tags) - if err != nil { - return err - } - a.Tags = tags - } - } - } - - return nil -} - -// AppCollection the AppCollection resource. -type AppCollection struct { - *AppCollectionProperties `json:"properties,omitempty"` - // ID - Resource Id - ID *string `json:"id,omitempty"` - // Name - Resource name - Name *string `json:"name,omitempty"` - // Type - Resource type - Type *string `json:"type,omitempty"` - // Location - Resource location - Location *string `json:"location,omitempty"` - // Tags - Resource tags - Tags map[string]*string `json:"tags"` -} - -// MarshalJSON is the custom marshaler for AppCollection. -func (ac AppCollection) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - if ac.AppCollectionProperties != nil { - objectMap["properties"] = ac.AppCollectionProperties - } - if ac.ID != nil { - objectMap["id"] = ac.ID - } - if ac.Name != nil { - objectMap["name"] = ac.Name - } - if ac.Type != nil { - objectMap["type"] = ac.Type - } - if ac.Location != nil { - objectMap["location"] = ac.Location - } - if ac.Tags != nil { - objectMap["tags"] = ac.Tags - } - return json.Marshal(objectMap) -} - -// UnmarshalJSON is the custom unmarshaler for AppCollection struct. -func (ac *AppCollection) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - case "properties": - if v != nil { - var appCollectionProperties AppCollectionProperties - err = json.Unmarshal(*v, &appCollectionProperties) - if err != nil { - return err - } - ac.AppCollectionProperties = &appCollectionProperties - } - case "id": - if v != nil { - var ID string - err = json.Unmarshal(*v, &ID) - if err != nil { - return err - } - ac.ID = &ID - } - case "name": - if v != nil { - var name string - err = json.Unmarshal(*v, &name) - if err != nil { - return err - } - ac.Name = &name - } - case "type": - if v != nil { - var typeVar string - err = json.Unmarshal(*v, &typeVar) - if err != nil { - return err - } - ac.Type = &typeVar - } - case "location": - if v != nil { - var location string - err = json.Unmarshal(*v, &location) - if err != nil { - return err - } - ac.Location = &location - } - case "tags": - if v != nil { - var tags map[string]*string - err = json.Unmarshal(*v, &tags) - if err != nil { - return err - } - ac.Tags = tags - } - } - } - - return nil -} - -// AppCollectionListResult the list AppCollections operation response. -type AppCollectionListResult struct { - autorest.Response `json:"-"` - // Value - The list of AppCollections and their properties. - Value *[]AppCollection `json:"value,omitempty"` - // NextLink - When the results are paged, the nextLink is the URI for the next page of results. This property is empty when there are no additional pages. - NextLink *string `json:"nextLink,omitempty"` -} - -// AppCollectionListResultIterator provides access to a complete listing of AppCollection values. -type AppCollectionListResultIterator struct { - i int - page AppCollectionListResultPage -} - -// Next advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -func (iter *AppCollectionListResultIterator) Next() error { - iter.i++ - if iter.i < len(iter.page.Values()) { - return nil - } - err := iter.page.Next() - if err != nil { - iter.i-- - return err - } - iter.i = 0 - return nil -} - -// NotDone returns true if the enumeration should be started or is not yet complete. -func (iter AppCollectionListResultIterator) NotDone() bool { - return iter.page.NotDone() && iter.i < len(iter.page.Values()) -} - -// Response returns the raw server response from the last page request. -func (iter AppCollectionListResultIterator) Response() AppCollectionListResult { - return iter.page.Response() -} - -// Value returns the current value or a zero-initialized value if the -// iterator has advanced beyond the end of the collection. -func (iter AppCollectionListResultIterator) Value() AppCollection { - if !iter.page.NotDone() { - return AppCollection{} - } - return iter.page.Values()[iter.i] -} - -// IsEmpty returns true if the ListResult contains no values. -func (aclr AppCollectionListResult) IsEmpty() bool { - return aclr.Value == nil || len(*aclr.Value) == 0 -} - -// appCollectionListResultPreparer prepares a request to retrieve the next set of results. -// It returns nil if no more results exist. -func (aclr AppCollectionListResult) appCollectionListResultPreparer() (*http.Request, error) { - if aclr.NextLink == nil || len(to.String(aclr.NextLink)) < 1 { - return nil, nil - } - return autorest.Prepare(&http.Request{}, - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(aclr.NextLink))) -} - -// AppCollectionListResultPage contains a page of AppCollection values. -type AppCollectionListResultPage struct { - fn func(AppCollectionListResult) (AppCollectionListResult, error) - aclr AppCollectionListResult -} - -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -func (page *AppCollectionListResultPage) Next() error { - next, err := page.fn(page.aclr) - if err != nil { - return err - } - page.aclr = next - return nil -} - -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page AppCollectionListResultPage) NotDone() bool { - return !page.aclr.IsEmpty() -} - -// Response returns the raw server response from the last page request. -func (page AppCollectionListResultPage) Response() AppCollectionListResult { - return page.aclr -} - -// Values returns the slice of values for the current page or nil if there are no values. -func (page AppCollectionListResultPage) Values() []AppCollection { - if page.aclr.IsEmpty() { - return nil - } - return *page.aclr.Value -} - -// AppCollectionNameAvailability ... -type AppCollectionNameAvailability struct { - autorest.Response `json:"-"` - // Name - Name. - Name *string `json:"name,omitempty"` - // Available - Available. - Available *bool `json:"available,omitempty"` - // UnavailabilityReason - UnavailabilityReason. - UnavailabilityReason *string `json:"unavailabilityReason,omitempty"` -} - -// AppCollectionProperties ... -type AppCollectionProperties struct { - // ProvisioningState - Mobile Engagement AppCollection Properties. Possible values include: 'Creating', 'Succeeded' - ProvisioningState ProvisioningStates `json:"provisioningState,omitempty"` -} - -// AppInfoFilter send only to users who have some app info set. This is a special filter that is automatically -// added if your campaign contains appInfo parameters. It is not intended to be public and should not be used as it -// could be removed or replaced by the API. -type AppInfoFilter struct { - // AppInfo - An array containing all the required appInfo. - AppInfo *[]string `json:"appInfo,omitempty"` - // Type - Possible values include: 'TypeFilter', 'TypeEngageSubset', 'TypeEngageOldUsers', 'TypeEngageNewUsers', 'TypeEngageActiveUsers', 'TypeEngageIdleUsers', 'TypeNativePushEnabled', 'TypePushQuota', 'TypeAppInfo' - Type TypeBasicFilter `json:"type,omitempty"` -} - -// MarshalJSON is the custom marshaler for AppInfoFilter. -func (aif AppInfoFilter) MarshalJSON() ([]byte, error) { - aif.Type = TypeAppInfo - objectMap := make(map[string]interface{}) - if aif.AppInfo != nil { - objectMap["appInfo"] = aif.AppInfo - } - if aif.Type != "" { - objectMap["type"] = aif.Type - } - return json.Marshal(objectMap) -} - -// AsEngageSubsetFilter is the BasicFilter implementation for AppInfoFilter. -func (aif AppInfoFilter) AsEngageSubsetFilter() (*EngageSubsetFilter, bool) { - return nil, false -} - -// AsEngageOldUsersFilter is the BasicFilter implementation for AppInfoFilter. -func (aif AppInfoFilter) AsEngageOldUsersFilter() (*EngageOldUsersFilter, bool) { - return nil, false -} - -// AsEngageNewUsersFilter is the BasicFilter implementation for AppInfoFilter. -func (aif AppInfoFilter) AsEngageNewUsersFilter() (*EngageNewUsersFilter, bool) { - return nil, false -} - -// AsEngageActiveUsersFilter is the BasicFilter implementation for AppInfoFilter. -func (aif AppInfoFilter) AsEngageActiveUsersFilter() (*EngageActiveUsersFilter, bool) { - return nil, false -} - -// AsEngageIdleUsersFilter is the BasicFilter implementation for AppInfoFilter. -func (aif AppInfoFilter) AsEngageIdleUsersFilter() (*EngageIdleUsersFilter, bool) { - return nil, false -} - -// AsNativePushEnabledFilter is the BasicFilter implementation for AppInfoFilter. -func (aif AppInfoFilter) AsNativePushEnabledFilter() (*NativePushEnabledFilter, bool) { - return nil, false -} - -// AsPushQuotaFilter is the BasicFilter implementation for AppInfoFilter. -func (aif AppInfoFilter) AsPushQuotaFilter() (*PushQuotaFilter, bool) { - return nil, false -} - -// AsAppInfoFilter is the BasicFilter implementation for AppInfoFilter. -func (aif AppInfoFilter) AsAppInfoFilter() (*AppInfoFilter, bool) { - return &aif, true -} - -// AsFilter is the BasicFilter implementation for AppInfoFilter. -func (aif AppInfoFilter) AsFilter() (*Filter, bool) { - return nil, false -} - -// AsBasicFilter is the BasicFilter implementation for AppInfoFilter. -func (aif AppInfoFilter) AsBasicFilter() (BasicFilter, bool) { - return &aif, true -} - -// ApplicationVersionCriterion used to target devices based on the version of the application they are using. -type ApplicationVersionCriterion struct { - // Name - The application version. - Name *string `json:"name,omitempty"` - // Type - Possible values include: 'TypeCriterion', 'TypeCarrierName', 'TypeCarrierCountry', 'TypeFirmwareVersion', 'TypeDeviceManufacturer', 'TypeDeviceModel', 'TypeApplicationVersion', 'TypeNetworkType', 'TypeLanguage', 'TypeScreenSize', 'TypeLocation', 'TypeGeoFencing', 'TypeAnnouncementFeedback', 'TypePollFeedback', 'TypePollAnswerFeedback', 'TypeDatapushFeedback', 'TypeSegment', 'TypeStringTag', 'TypeDateTag', 'TypeIntegerTag', 'TypeBooleanTag' - Type Type `json:"type,omitempty"` -} - -// MarshalJSON is the custom marshaler for ApplicationVersionCriterion. -func (avc ApplicationVersionCriterion) MarshalJSON() ([]byte, error) { - avc.Type = TypeApplicationVersion - objectMap := make(map[string]interface{}) - if avc.Name != nil { - objectMap["name"] = avc.Name - } - if avc.Type != "" { - objectMap["type"] = avc.Type - } - return json.Marshal(objectMap) -} - -// AsCarrierNameCriterion is the BasicCriterion implementation for ApplicationVersionCriterion. -func (avc ApplicationVersionCriterion) AsCarrierNameCriterion() (*CarrierNameCriterion, bool) { - return nil, false -} - -// AsCarrierCountryCriterion is the BasicCriterion implementation for ApplicationVersionCriterion. -func (avc ApplicationVersionCriterion) AsCarrierCountryCriterion() (*CarrierCountryCriterion, bool) { - return nil, false -} - -// AsFirmwareVersionCriterion is the BasicCriterion implementation for ApplicationVersionCriterion. -func (avc ApplicationVersionCriterion) AsFirmwareVersionCriterion() (*FirmwareVersionCriterion, bool) { - return nil, false -} - -// AsDeviceManufacturerCriterion is the BasicCriterion implementation for ApplicationVersionCriterion. -func (avc ApplicationVersionCriterion) AsDeviceManufacturerCriterion() (*DeviceManufacturerCriterion, bool) { - return nil, false -} - -// AsDeviceModelCriterion is the BasicCriterion implementation for ApplicationVersionCriterion. -func (avc ApplicationVersionCriterion) AsDeviceModelCriterion() (*DeviceModelCriterion, bool) { - return nil, false -} - -// AsApplicationVersionCriterion is the BasicCriterion implementation for ApplicationVersionCriterion. -func (avc ApplicationVersionCriterion) AsApplicationVersionCriterion() (*ApplicationVersionCriterion, bool) { - return &avc, true -} - -// AsNetworkTypeCriterion is the BasicCriterion implementation for ApplicationVersionCriterion. -func (avc ApplicationVersionCriterion) AsNetworkTypeCriterion() (*NetworkTypeCriterion, bool) { - return nil, false -} - -// AsLanguageCriterion is the BasicCriterion implementation for ApplicationVersionCriterion. -func (avc ApplicationVersionCriterion) AsLanguageCriterion() (*LanguageCriterion, bool) { - return nil, false -} - -// AsScreenSizeCriterion is the BasicCriterion implementation for ApplicationVersionCriterion. -func (avc ApplicationVersionCriterion) AsScreenSizeCriterion() (*ScreenSizeCriterion, bool) { - return nil, false -} - -// AsLocationCriterion is the BasicCriterion implementation for ApplicationVersionCriterion. -func (avc ApplicationVersionCriterion) AsLocationCriterion() (*LocationCriterion, bool) { - return nil, false -} - -// AsGeoFencingCriterion is the BasicCriterion implementation for ApplicationVersionCriterion. -func (avc ApplicationVersionCriterion) AsGeoFencingCriterion() (*GeoFencingCriterion, bool) { - return nil, false -} - -// AsAnnouncementFeedbackCriterion is the BasicCriterion implementation for ApplicationVersionCriterion. -func (avc ApplicationVersionCriterion) AsAnnouncementFeedbackCriterion() (*AnnouncementFeedbackCriterion, bool) { - return nil, false -} - -// AsPollFeedbackCriterion is the BasicCriterion implementation for ApplicationVersionCriterion. -func (avc ApplicationVersionCriterion) AsPollFeedbackCriterion() (*PollFeedbackCriterion, bool) { - return nil, false -} - -// AsPollAnswerFeedbackCriterion is the BasicCriterion implementation for ApplicationVersionCriterion. -func (avc ApplicationVersionCriterion) AsPollAnswerFeedbackCriterion() (*PollAnswerFeedbackCriterion, bool) { - return nil, false -} - -// AsDatapushFeedbackCriterion is the BasicCriterion implementation for ApplicationVersionCriterion. -func (avc ApplicationVersionCriterion) AsDatapushFeedbackCriterion() (*DatapushFeedbackCriterion, bool) { - return nil, false -} - -// AsSegmentCriterion is the BasicCriterion implementation for ApplicationVersionCriterion. -func (avc ApplicationVersionCriterion) AsSegmentCriterion() (*SegmentCriterion, bool) { - return nil, false -} - -// AsStringTagCriterion is the BasicCriterion implementation for ApplicationVersionCriterion. -func (avc ApplicationVersionCriterion) AsStringTagCriterion() (*StringTagCriterion, bool) { - return nil, false -} - -// AsDateTagCriterion is the BasicCriterion implementation for ApplicationVersionCriterion. -func (avc ApplicationVersionCriterion) AsDateTagCriterion() (*DateTagCriterion, bool) { - return nil, false -} - -// AsIntegerTagCriterion is the BasicCriterion implementation for ApplicationVersionCriterion. -func (avc ApplicationVersionCriterion) AsIntegerTagCriterion() (*IntegerTagCriterion, bool) { - return nil, false -} - -// AsBooleanTagCriterion is the BasicCriterion implementation for ApplicationVersionCriterion. -func (avc ApplicationVersionCriterion) AsBooleanTagCriterion() (*BooleanTagCriterion, bool) { - return nil, false -} - -// AsCriterion is the BasicCriterion implementation for ApplicationVersionCriterion. -func (avc ApplicationVersionCriterion) AsCriterion() (*Criterion, bool) { - return nil, false -} - -// AsBasicCriterion is the BasicCriterion implementation for ApplicationVersionCriterion. -func (avc ApplicationVersionCriterion) AsBasicCriterion() (BasicCriterion, bool) { - return &avc, true -} - -// AppListResult the list Apps operation response. -type AppListResult struct { - autorest.Response `json:"-"` - // Value - The list of Apps and their properties. - Value *[]App `json:"value,omitempty"` - // NextLink - When the results are paged, the nextLink is the URI for the next page of results. This property is empty when there are no additional pages. - NextLink *string `json:"nextLink,omitempty"` -} - -// AppListResultIterator provides access to a complete listing of App values. -type AppListResultIterator struct { - i int - page AppListResultPage -} - -// Next advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -func (iter *AppListResultIterator) Next() error { - iter.i++ - if iter.i < len(iter.page.Values()) { - return nil - } - err := iter.page.Next() - if err != nil { - iter.i-- - return err - } - iter.i = 0 - return nil -} - -// NotDone returns true if the enumeration should be started or is not yet complete. -func (iter AppListResultIterator) NotDone() bool { - return iter.page.NotDone() && iter.i < len(iter.page.Values()) -} - -// Response returns the raw server response from the last page request. -func (iter AppListResultIterator) Response() AppListResult { - return iter.page.Response() -} - -// Value returns the current value or a zero-initialized value if the -// iterator has advanced beyond the end of the collection. -func (iter AppListResultIterator) Value() App { - if !iter.page.NotDone() { - return App{} - } - return iter.page.Values()[iter.i] -} - -// IsEmpty returns true if the ListResult contains no values. -func (alr AppListResult) IsEmpty() bool { - return alr.Value == nil || len(*alr.Value) == 0 -} - -// appListResultPreparer prepares a request to retrieve the next set of results. -// It returns nil if no more results exist. -func (alr AppListResult) appListResultPreparer() (*http.Request, error) { - if alr.NextLink == nil || len(to.String(alr.NextLink)) < 1 { - return nil, nil - } - return autorest.Prepare(&http.Request{}, - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(alr.NextLink))) -} - -// AppListResultPage contains a page of App values. -type AppListResultPage struct { - fn func(AppListResult) (AppListResult, error) - alr AppListResult -} - -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -func (page *AppListResultPage) Next() error { - next, err := page.fn(page.alr) - if err != nil { - return err - } - page.alr = next - return nil -} - -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page AppListResultPage) NotDone() bool { - return !page.alr.IsEmpty() -} - -// Response returns the raw server response from the last page request. -func (page AppListResultPage) Response() AppListResult { - return page.alr -} - -// Values returns the slice of values for the current page or nil if there are no values. -func (page AppListResultPage) Values() []App { - if page.alr.IsEmpty() { - return nil - } - return *page.alr.Value -} - -// AppProperties ... -type AppProperties struct { - // BackendID - The application unique identifier. - BackendID *string `json:"backendId,omitempty"` - // Platform - The platform of the app. - Platform *string `json:"platform,omitempty"` - // AppState - The state of the application. - AppState *string `json:"appState,omitempty"` -} - -// BooleanTagCriterion target devices based on a boolean tag value. -type BooleanTagCriterion struct { - // Name - The name of the custom tag. - Name *string `json:"name,omitempty"` - // Value - A custom boolean value to match. - Value *bool `json:"value,omitempty"` - // Type - Possible values include: 'TypeCriterion', 'TypeCarrierName', 'TypeCarrierCountry', 'TypeFirmwareVersion', 'TypeDeviceManufacturer', 'TypeDeviceModel', 'TypeApplicationVersion', 'TypeNetworkType', 'TypeLanguage', 'TypeScreenSize', 'TypeLocation', 'TypeGeoFencing', 'TypeAnnouncementFeedback', 'TypePollFeedback', 'TypePollAnswerFeedback', 'TypeDatapushFeedback', 'TypeSegment', 'TypeStringTag', 'TypeDateTag', 'TypeIntegerTag', 'TypeBooleanTag' - Type Type `json:"type,omitempty"` -} - -// MarshalJSON is the custom marshaler for BooleanTagCriterion. -func (btc BooleanTagCriterion) MarshalJSON() ([]byte, error) { - btc.Type = TypeBooleanTag - objectMap := make(map[string]interface{}) - if btc.Name != nil { - objectMap["name"] = btc.Name - } - if btc.Value != nil { - objectMap["value"] = btc.Value - } - if btc.Type != "" { - objectMap["type"] = btc.Type - } - return json.Marshal(objectMap) -} - -// AsCarrierNameCriterion is the BasicCriterion implementation for BooleanTagCriterion. -func (btc BooleanTagCriterion) AsCarrierNameCriterion() (*CarrierNameCriterion, bool) { - return nil, false -} - -// AsCarrierCountryCriterion is the BasicCriterion implementation for BooleanTagCriterion. -func (btc BooleanTagCriterion) AsCarrierCountryCriterion() (*CarrierCountryCriterion, bool) { - return nil, false -} - -// AsFirmwareVersionCriterion is the BasicCriterion implementation for BooleanTagCriterion. -func (btc BooleanTagCriterion) AsFirmwareVersionCriterion() (*FirmwareVersionCriterion, bool) { - return nil, false -} - -// AsDeviceManufacturerCriterion is the BasicCriterion implementation for BooleanTagCriterion. -func (btc BooleanTagCriterion) AsDeviceManufacturerCriterion() (*DeviceManufacturerCriterion, bool) { - return nil, false -} - -// AsDeviceModelCriterion is the BasicCriterion implementation for BooleanTagCriterion. -func (btc BooleanTagCriterion) AsDeviceModelCriterion() (*DeviceModelCriterion, bool) { - return nil, false -} - -// AsApplicationVersionCriterion is the BasicCriterion implementation for BooleanTagCriterion. -func (btc BooleanTagCriterion) AsApplicationVersionCriterion() (*ApplicationVersionCriterion, bool) { - return nil, false -} - -// AsNetworkTypeCriterion is the BasicCriterion implementation for BooleanTagCriterion. -func (btc BooleanTagCriterion) AsNetworkTypeCriterion() (*NetworkTypeCriterion, bool) { - return nil, false -} - -// AsLanguageCriterion is the BasicCriterion implementation for BooleanTagCriterion. -func (btc BooleanTagCriterion) AsLanguageCriterion() (*LanguageCriterion, bool) { - return nil, false -} - -// AsScreenSizeCriterion is the BasicCriterion implementation for BooleanTagCriterion. -func (btc BooleanTagCriterion) AsScreenSizeCriterion() (*ScreenSizeCriterion, bool) { - return nil, false -} - -// AsLocationCriterion is the BasicCriterion implementation for BooleanTagCriterion. -func (btc BooleanTagCriterion) AsLocationCriterion() (*LocationCriterion, bool) { - return nil, false -} - -// AsGeoFencingCriterion is the BasicCriterion implementation for BooleanTagCriterion. -func (btc BooleanTagCriterion) AsGeoFencingCriterion() (*GeoFencingCriterion, bool) { - return nil, false -} - -// AsAnnouncementFeedbackCriterion is the BasicCriterion implementation for BooleanTagCriterion. -func (btc BooleanTagCriterion) AsAnnouncementFeedbackCriterion() (*AnnouncementFeedbackCriterion, bool) { - return nil, false -} - -// AsPollFeedbackCriterion is the BasicCriterion implementation for BooleanTagCriterion. -func (btc BooleanTagCriterion) AsPollFeedbackCriterion() (*PollFeedbackCriterion, bool) { - return nil, false -} - -// AsPollAnswerFeedbackCriterion is the BasicCriterion implementation for BooleanTagCriterion. -func (btc BooleanTagCriterion) AsPollAnswerFeedbackCriterion() (*PollAnswerFeedbackCriterion, bool) { - return nil, false -} - -// AsDatapushFeedbackCriterion is the BasicCriterion implementation for BooleanTagCriterion. -func (btc BooleanTagCriterion) AsDatapushFeedbackCriterion() (*DatapushFeedbackCriterion, bool) { - return nil, false -} - -// AsSegmentCriterion is the BasicCriterion implementation for BooleanTagCriterion. -func (btc BooleanTagCriterion) AsSegmentCriterion() (*SegmentCriterion, bool) { - return nil, false -} - -// AsStringTagCriterion is the BasicCriterion implementation for BooleanTagCriterion. -func (btc BooleanTagCriterion) AsStringTagCriterion() (*StringTagCriterion, bool) { - return nil, false -} - -// AsDateTagCriterion is the BasicCriterion implementation for BooleanTagCriterion. -func (btc BooleanTagCriterion) AsDateTagCriterion() (*DateTagCriterion, bool) { - return nil, false -} - -// AsIntegerTagCriterion is the BasicCriterion implementation for BooleanTagCriterion. -func (btc BooleanTagCriterion) AsIntegerTagCriterion() (*IntegerTagCriterion, bool) { - return nil, false -} - -// AsBooleanTagCriterion is the BasicCriterion implementation for BooleanTagCriterion. -func (btc BooleanTagCriterion) AsBooleanTagCriterion() (*BooleanTagCriterion, bool) { - return &btc, true -} - -// AsCriterion is the BasicCriterion implementation for BooleanTagCriterion. -func (btc BooleanTagCriterion) AsCriterion() (*Criterion, bool) { - return nil, false -} - -// AsBasicCriterion is the BasicCriterion implementation for BooleanTagCriterion. -func (btc BooleanTagCriterion) AsBasicCriterion() (BasicCriterion, bool) { - return &btc, true -} - -// Campaign ... -type Campaign struct { - // Name - Unique name of the campaign. - Name *string `json:"name,omitempty"` - // Audience - Specify which users will be targeted by this campaign. By default, all users will be targeted. If you set `pushMode` property to `manual`, the only thing you can specify in the audience is the push quota filter. An audience is a boolean expression made of criteria (variables) operators (`not`, `and` or `or`) and parenthesis. Additionally, a set of filters can be added to an audience. 65535 bytes max as per JSON encoding. - Audience *CampaignAudience `json:"audience,omitempty"` - // Category - Category of the campaign. Categories can be used on the application side to customize campaigns. - Category *string `json:"category,omitempty"` - // PushMode - Announcements/polls only. Defines how the campaign is pushed. Valid values are: * `real-time`: Never ending campaign, the campaign will be delivered to your existing users and also to your new users. * `one-shot`: In this mode, the campaign will be delivered only to your existing users (campaign will stop after that). * `manual`: In this mode, the campaign will not be pushed automatically to devices. You will have to use the Push campaign command to push the campaign to your end-users. Campaigns can be pushed multiple times to the same device. - // . Possible values include: 'RealTime', 'OneShot', 'Manual' - PushMode PushModes `json:"pushMode,omitempty"` - // Type - Applicable only to announcements and data pushes. Type of announcement. Valid values are: * `text/plain`: Text-only announcement: `body` property should only contain plain text. * `text/html`: HTML announcement: `body` attribute can contain HTML code. * `only_notif`: Notification-only announcement. With this kind of announcements, the `body`, `title`, `actionButtonText` and `exitButtonText` are ignored. Type of data push. Valid values are: * `text/plain`: Text only data push: `body` property must be plain text. * `text/base64`: Base 64 data push: `body` property must be encoded in base 64. - // . Possible values include: 'Textplain', 'Texthtml', 'OnlyNotif', 'Textbase64' - Type CampaignTypes `json:"type,omitempty"` - // DeliveryTime - Announcements/polls only. Defines when the campaign should be delivered. Valid values are: * `any`: Campaign will be delivered as soon as possible. * `background`: iOS only. Campaign will be only delivered when the application is in background (out of app). * `session`: Campaign will be delivered when the application is running. - // . Possible values include: 'Any', 'Background', 'Session' - DeliveryTime DeliveryTimes `json:"deliveryTime,omitempty"` - // DeliveryActivities - Announcements/polls only. Array containing the list of activities in which the campaign can be delivered. deliveryTime must be set to session. If the platform is iOS, this option can also be set if deliveryTime is set to any. In that case, if the campaign is received when the application is launched, it will be delivered only in the specified list of activities. - DeliveryActivities *[]string `json:"deliveryActivities,omitempty"` - // StartTime - The date at which the campaign should be started. The date shall conform to the following format: `yyyy-MM-ddTHH:mm:ssZ`. * If you set pushMode property to manual, this attribute will be ignored. * If you set pushMode property to one-shot, then the timezone attribute must be specified. Example: `2011-11-21 15:23Z` - StartTime *string `json:"startTime,omitempty"` - // EndTime - The date at which the campaign should be finished. The date shall conform to the following format: `yyyy-MM-ddTHH:mm:ssZ`. Example: `2011-11-21 15:23Z` - EndTime *string `json:"endTime,omitempty"` - // Timezone - The id of the time zone to use for the startTime and endTime dates. If not provided, the two date attributes will be expressed using the device timezone. Example: America/Los_Angeles - Timezone *string `json:"timezone,omitempty"` - // NotificationType - Android only. Defines how the notification should be displayed. Valid values are: * `system`: Display the notification using a standard system notification. * `popup`: Display the notification using a in-app banner notification. - // . Possible values include: 'System', 'Popup' - NotificationType NotificationTypes `json:"notificationType,omitempty"` - // NotificationIcon - A flag indicating whether or not you want to display the resource icon in notification content. - NotificationIcon *bool `json:"notificationIcon,omitempty"` - // NotificationCloseable - A flag indicating whether or not you want the notification to be closeable. - NotificationCloseable *bool `json:"notificationCloseable,omitempty"` - // NotificationVibrate - Android only. A flag indicating whether or not you want the system notification to make a vibration. The notificationType property must be set to system. - NotificationVibrate *bool `json:"notificationVibrate,omitempty"` - // NotificationSound - * `Android`: A flag indicating whether or not you want the system notification to make a sound. The `notificationType` property must be set to `system`. * `iOS`: A flag indicating whether or not you want the native Apple Push notification to make a sound. The `deliveryTime` property must be set to `any` or `background`. This will play the 'default' sound. If you want to play a custom sound, see the `notificationOptions` property. * `Windows`: A flag indicating whether or not you want the native Windows Notification Service to make a sound. The `deliveryTime` property must be set to `any`. - NotificationSound *bool `json:"notificationSound,omitempty"` - // NotificationBadge - A flag indicating whether or not you want the native Apple Push notification to update the badge icon to the number of unread messages. The `deliveryTime` property must be set to `any` or `background`. - NotificationBadge *bool `json:"notificationBadge,omitempty"` - // Localization - Push campaigns can be localized using an optional JSON object. The JSON key is a two-character language code as specified by the ISO 639-1 standard. The corresponding value is an object containing the localizable properties. - Localization map[string]*CampaignLocalization `json:"localization"` - // Questions - Poll questions. - Questions *[]PollQuestion `json:"questions,omitempty"` - // NotificationTitle - Title of the notification. This field supports appInfo markers. - NotificationTitle *string `json:"notificationTitle,omitempty"` - // NotificationMessage - Message of the notification. This field supports appInfo markers. - NotificationMessage *string `json:"notificationMessage,omitempty"` - // NotificationImage - Optional image encoded in base 64. Usually included in the right part of in app notifications (or as a banner if there is neither text nor content icon). For Android system notifications, the image is used as the large icon (displayed only on Android 3+). - NotificationImage *[]byte `json:"notificationImage,omitempty"` - // NotificationOptions - Additional platform specific options. - NotificationOptions *NotificationOptions `json:"notificationOptions,omitempty"` - // Title - Title of the announcement or poll. This field supports appInfo markers. - Title *string `json:"title,omitempty"` - // Body - Body of the text/web announcement, poll or data push. This field supports appInfo markers. - Body *string `json:"body,omitempty"` - // ActionButtonText - Text of the action button for text/web announcements and polls (answer button). - ActionButtonText *string `json:"actionButtonText,omitempty"` - // ExitButtonText - Text of the exit button for text/web announcements and polls. - ExitButtonText *string `json:"exitButtonText,omitempty"` - // ActionURL - URL to launch when the announcement is actioned. - ActionURL *string `json:"actionUrl,omitempty"` - // Payload - Native push payload. - Payload interface{} `json:"payload,omitempty"` -} - -// MarshalJSON is the custom marshaler for Campaign. -func (c Campaign) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - if c.Name != nil { - objectMap["name"] = c.Name - } - if c.Audience != nil { - objectMap["audience"] = c.Audience - } - if c.Category != nil { - objectMap["category"] = c.Category - } - if c.PushMode != "" { - objectMap["pushMode"] = c.PushMode - } - if c.Type != "" { - objectMap["type"] = c.Type - } - if c.DeliveryTime != "" { - objectMap["deliveryTime"] = c.DeliveryTime - } - if c.DeliveryActivities != nil { - objectMap["deliveryActivities"] = c.DeliveryActivities - } - if c.StartTime != nil { - objectMap["startTime"] = c.StartTime - } - if c.EndTime != nil { - objectMap["endTime"] = c.EndTime - } - if c.Timezone != nil { - objectMap["timezone"] = c.Timezone - } - if c.NotificationType != "" { - objectMap["notificationType"] = c.NotificationType - } - if c.NotificationIcon != nil { - objectMap["notificationIcon"] = c.NotificationIcon - } - if c.NotificationCloseable != nil { - objectMap["notificationCloseable"] = c.NotificationCloseable - } - if c.NotificationVibrate != nil { - objectMap["notificationVibrate"] = c.NotificationVibrate - } - if c.NotificationSound != nil { - objectMap["notificationSound"] = c.NotificationSound - } - if c.NotificationBadge != nil { - objectMap["notificationBadge"] = c.NotificationBadge - } - if c.Localization != nil { - objectMap["localization"] = c.Localization - } - if c.Questions != nil { - objectMap["questions"] = c.Questions - } - if c.NotificationTitle != nil { - objectMap["notificationTitle"] = c.NotificationTitle - } - if c.NotificationMessage != nil { - objectMap["notificationMessage"] = c.NotificationMessage - } - if c.NotificationImage != nil { - objectMap["notificationImage"] = c.NotificationImage - } - if c.NotificationOptions != nil { - objectMap["notificationOptions"] = c.NotificationOptions - } - if c.Title != nil { - objectMap["title"] = c.Title - } - if c.Body != nil { - objectMap["body"] = c.Body - } - if c.ActionButtonText != nil { - objectMap["actionButtonText"] = c.ActionButtonText - } - if c.ExitButtonText != nil { - objectMap["exitButtonText"] = c.ExitButtonText - } - if c.ActionURL != nil { - objectMap["actionUrl"] = c.ActionURL - } - objectMap["payload"] = c.Payload - return json.Marshal(objectMap) -} - -// CampaignAudience specify which users will be targeted by this campaign. By default, all users will be targeted. -// If you set `pushMode` property to `manual`, the only thing you can specify in the audience is the push quota -// filter. An audience is a boolean expression made of criteria (variables) operators (`not`, `and` or `or`) and -// parenthesis. Additionally, a set of filters can be added to an audience. 65535 bytes max as per JSON encoding. -type CampaignAudience struct { - // Expression - Boolean expression made of criteria (variables) operators (`not`, `and` or `or`) and parenthesis. Criterion names in the audience expression must start with a capital letter and can only contain alphanumeric (A-Z,a-z,0-9) and underscore (_) characters. - Expression *string `json:"expression,omitempty"` - // Criteria - Criteria by name. - Criteria map[string]*Criterion `json:"criteria"` - // Filters - Global filters applied to all devices. - Filters *[]BasicFilter `json:"filters,omitempty"` -} - -// MarshalJSON is the custom marshaler for CampaignAudience. -func (c CampaignAudience) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - if c.Expression != nil { - objectMap["expression"] = c.Expression - } - if c.Criteria != nil { - objectMap["criteria"] = c.Criteria - } - if c.Filters != nil { - objectMap["filters"] = c.Filters - } - return json.Marshal(objectMap) -} - -// UnmarshalJSON is the custom unmarshaler for CampaignAudience struct. -func (c *CampaignAudience) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - case "expression": - if v != nil { - var expression string - err = json.Unmarshal(*v, &expression) - if err != nil { - return err - } - c.Expression = &expression - } - case "criteria": - if v != nil { - var criteria map[string]*Criterion - err = json.Unmarshal(*v, &criteria) - if err != nil { - return err - } - c.Criteria = criteria - } - case "filters": - if v != nil { - filters, err := unmarshalBasicFilterArray(*v) - if err != nil { - return err - } - c.Filters = &filters - } - } - } - - return nil -} - -// CampaignListResult ... -type CampaignListResult struct { - // Name - Name of the campaign. - Name *string `json:"name,omitempty"` - // ActivatedDate - The date at which the campaign was activated (Not present if not yet activated). The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard. - ActivatedDate *date.Time `json:"activatedDate,omitempty"` - // FinishedDate - The date at which the campaign was finished (Not present if not yet finished). The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard. - FinishedDate *date.Time `json:"finishedDate,omitempty"` - // StartTime - The date at which the campaign should be started if specified. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard. Applicable only to announcements and polls. - StartTime *date.Time `json:"startTime,omitempty"` - // EndTime - The date at which the campaign should be finished if specified. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard. Applicable only to announcements and polls. - EndTime *date.Time `json:"endTime,omitempty"` - // Timezone - The id of the time zone to use for the `startTime` and `endTime` dates. If not provided, the two date attributes are referencing to the device timezone. Applicable only to announcements and polls. - Timezone *string `json:"timezone,omitempty"` - // ID - Campaign identifier. - ID *int32 `json:"id,omitempty"` - // State - State of the campaign, or 'queued' when testing a campaign. Possible values include: 'Draft', 'Scheduled', 'InProgress', 'Finished', 'Queued' - State CampaignStates `json:"state,omitempty"` -} - -// CampaignLocalization ... -type CampaignLocalization struct { - // NotificationTitle - Title of the notification. This field supports appInfo markers. - NotificationTitle *string `json:"notificationTitle,omitempty"` - // NotificationMessage - Message of the notification. This field supports appInfo markers. - NotificationMessage *string `json:"notificationMessage,omitempty"` - // NotificationImage - Optional image encoded in base 64. Usually included in the right part of in app notifications (or as a banner if there is neither text nor content icon). For Android system notifications, the image is used as the large icon (displayed only on Android 3+). - NotificationImage *[]byte `json:"notificationImage,omitempty"` - // NotificationOptions - Additional platform specific options. - NotificationOptions *NotificationOptions `json:"notificationOptions,omitempty"` - // Title - Title of the announcement or poll. This field supports appInfo markers. - Title *string `json:"title,omitempty"` - // Body - Body of the text/web announcement, poll or data push. This field supports appInfo markers. - Body *string `json:"body,omitempty"` - // ActionButtonText - Text of the action button for text/web announcements and polls (answer button). - ActionButtonText *string `json:"actionButtonText,omitempty"` - // ExitButtonText - Text of the exit button for text/web announcements and polls. - ExitButtonText *string `json:"exitButtonText,omitempty"` - // ActionURL - URL to launch when the announcement is actioned. - ActionURL *string `json:"actionUrl,omitempty"` - // Payload - Native push payload. - Payload interface{} `json:"payload,omitempty"` -} - -// CampaignPushParameters ... -type CampaignPushParameters struct { - // DeviceIds - Device identifiers to push as a JSON array of strings. Note that if you want to push the same campaign several times to the same device, you need to make several API calls. - DeviceIds *[]string `json:"deviceIds,omitempty"` - // Data - Alternative campaign's content to use instead of the referenced campaign. All campaign's properties can be overridden except for the following: `name`, `manualPush`, `audience`, `startTime` and `timezone`. `endTime` can be overridden while keeping original `timezone` parameter. The effect is to change the client side expiration of the received campaign for the specific devices. If your campaign is a *poll*, the provided data should contain the same number of questions and choices that the one you created with the create command. Please note that all the push messages created using this parameter will expire after 4 weeks at maximum (`endTime` property of the campaign will be used if lower than 4 weeks in the future). - Data *Campaign `json:"data,omitempty"` -} - -// CampaignPushResult ... -type CampaignPushResult struct { - autorest.Response `json:"-"` - // InvalidDeviceIds - A JSON array containing all identifiers that have been rejected. A device can be rejected for the following reasons: * The device hasn’t reported any session yet. * The device is over quota (if a push quota filter is applied on your campaign). Please note that if the request parameters are valid but all the specified devices are rejected, the status code is still `200` with a response including all the devices as being rejected. - InvalidDeviceIds *[]string `json:"invalidDeviceIds,omitempty"` -} - -// CampaignResult ... -type CampaignResult struct { - autorest.Response `json:"-"` - // ID - Campaign identifier. - ID *int32 `json:"id,omitempty"` - // State - State of the campaign, or 'queued' when testing a campaign. Possible values include: 'Draft', 'Scheduled', 'InProgress', 'Finished', 'Queued' - State CampaignStates `json:"state,omitempty"` - // ActivatedDate - The date at which the campaign was activated (Not present if not yet activated). The date conforms to the following format: yyyy-MM-ddTHH:mm:ssZ as specified by the ISO 8601 standard. - ActivatedDate *date.Time `json:"activatedDate,omitempty"` - // FinishedDate - The date at which the campaign was finished (Not present if not yet finished). The date conforms to the following format: yyyy-MM-ddTHH:mm:ssZ as specified by the ISO 8601 standard. - FinishedDate *date.Time `json:"finishedDate,omitempty"` - // Name - Unique name of the campaign. - Name *string `json:"name,omitempty"` - // Audience - Specify which users will be targeted by this campaign. By default, all users will be targeted. If you set `pushMode` property to `manual`, the only thing you can specify in the audience is the push quota filter. An audience is a boolean expression made of criteria (variables) operators (`not`, `and` or `or`) and parenthesis. Additionally, a set of filters can be added to an audience. 65535 bytes max as per JSON encoding. - Audience *CampaignAudience `json:"audience,omitempty"` - // Category - Category of the campaign. Categories can be used on the application side to customize campaigns. - Category *string `json:"category,omitempty"` - // PushMode - Announcements/polls only. Defines how the campaign is pushed. Valid values are: * `real-time`: Never ending campaign, the campaign will be delivered to your existing users and also to your new users. * `one-shot`: In this mode, the campaign will be delivered only to your existing users (campaign will stop after that). * `manual`: In this mode, the campaign will not be pushed automatically to devices. You will have to use the Push campaign command to push the campaign to your end-users. Campaigns can be pushed multiple times to the same device. - // . Possible values include: 'RealTime', 'OneShot', 'Manual' - PushMode PushModes `json:"pushMode,omitempty"` - // Type - Applicable only to announcements and data pushes. Type of announcement. Valid values are: * `text/plain`: Text-only announcement: `body` property should only contain plain text. * `text/html`: HTML announcement: `body` attribute can contain HTML code. * `only_notif`: Notification-only announcement. With this kind of announcements, the `body`, `title`, `actionButtonText` and `exitButtonText` are ignored. Type of data push. Valid values are: * `text/plain`: Text only data push: `body` property must be plain text. * `text/base64`: Base 64 data push: `body` property must be encoded in base 64. - // . Possible values include: 'Textplain', 'Texthtml', 'OnlyNotif', 'Textbase64' - Type CampaignTypes `json:"type,omitempty"` - // DeliveryTime - Announcements/polls only. Defines when the campaign should be delivered. Valid values are: * `any`: Campaign will be delivered as soon as possible. * `background`: iOS only. Campaign will be only delivered when the application is in background (out of app). * `session`: Campaign will be delivered when the application is running. - // . Possible values include: 'Any', 'Background', 'Session' - DeliveryTime DeliveryTimes `json:"deliveryTime,omitempty"` - // DeliveryActivities - Announcements/polls only. Array containing the list of activities in which the campaign can be delivered. deliveryTime must be set to session. If the platform is iOS, this option can also be set if deliveryTime is set to any. In that case, if the campaign is received when the application is launched, it will be delivered only in the specified list of activities. - DeliveryActivities *[]string `json:"deliveryActivities,omitempty"` - // StartTime - The date at which the campaign should be started. The date shall conform to the following format: `yyyy-MM-ddTHH:mm:ssZ`. * If you set pushMode property to manual, this attribute will be ignored. * If you set pushMode property to one-shot, then the timezone attribute must be specified. Example: `2011-11-21 15:23Z` - StartTime *string `json:"startTime,omitempty"` - // EndTime - The date at which the campaign should be finished. The date shall conform to the following format: `yyyy-MM-ddTHH:mm:ssZ`. Example: `2011-11-21 15:23Z` - EndTime *string `json:"endTime,omitempty"` - // Timezone - The id of the time zone to use for the startTime and endTime dates. If not provided, the two date attributes will be expressed using the device timezone. Example: America/Los_Angeles - Timezone *string `json:"timezone,omitempty"` - // NotificationType - Android only. Defines how the notification should be displayed. Valid values are: * `system`: Display the notification using a standard system notification. * `popup`: Display the notification using a in-app banner notification. - // . Possible values include: 'System', 'Popup' - NotificationType NotificationTypes `json:"notificationType,omitempty"` - // NotificationIcon - A flag indicating whether or not you want to display the resource icon in notification content. - NotificationIcon *bool `json:"notificationIcon,omitempty"` - // NotificationCloseable - A flag indicating whether or not you want the notification to be closeable. - NotificationCloseable *bool `json:"notificationCloseable,omitempty"` - // NotificationVibrate - Android only. A flag indicating whether or not you want the system notification to make a vibration. The notificationType property must be set to system. - NotificationVibrate *bool `json:"notificationVibrate,omitempty"` - // NotificationSound - * `Android`: A flag indicating whether or not you want the system notification to make a sound. The `notificationType` property must be set to `system`. * `iOS`: A flag indicating whether or not you want the native Apple Push notification to make a sound. The `deliveryTime` property must be set to `any` or `background`. This will play the 'default' sound. If you want to play a custom sound, see the `notificationOptions` property. * `Windows`: A flag indicating whether or not you want the native Windows Notification Service to make a sound. The `deliveryTime` property must be set to `any`. - NotificationSound *bool `json:"notificationSound,omitempty"` - // NotificationBadge - A flag indicating whether or not you want the native Apple Push notification to update the badge icon to the number of unread messages. The `deliveryTime` property must be set to `any` or `background`. - NotificationBadge *bool `json:"notificationBadge,omitempty"` - // Localization - Push campaigns can be localized using an optional JSON object. The JSON key is a two-character language code as specified by the ISO 639-1 standard. The corresponding value is an object containing the localizable properties. - Localization map[string]*CampaignLocalization `json:"localization"` - // Questions - Poll questions. - Questions *[]PollQuestion `json:"questions,omitempty"` - // NotificationTitle - Title of the notification. This field supports appInfo markers. - NotificationTitle *string `json:"notificationTitle,omitempty"` - // NotificationMessage - Message of the notification. This field supports appInfo markers. - NotificationMessage *string `json:"notificationMessage,omitempty"` - // NotificationImage - Optional image encoded in base 64. Usually included in the right part of in app notifications (or as a banner if there is neither text nor content icon). For Android system notifications, the image is used as the large icon (displayed only on Android 3+). - NotificationImage *[]byte `json:"notificationImage,omitempty"` - // NotificationOptions - Additional platform specific options. - NotificationOptions *NotificationOptions `json:"notificationOptions,omitempty"` - // Title - Title of the announcement or poll. This field supports appInfo markers. - Title *string `json:"title,omitempty"` - // Body - Body of the text/web announcement, poll or data push. This field supports appInfo markers. - Body *string `json:"body,omitempty"` - // ActionButtonText - Text of the action button for text/web announcements and polls (answer button). - ActionButtonText *string `json:"actionButtonText,omitempty"` - // ExitButtonText - Text of the exit button for text/web announcements and polls. - ExitButtonText *string `json:"exitButtonText,omitempty"` - // ActionURL - URL to launch when the announcement is actioned. - ActionURL *string `json:"actionUrl,omitempty"` - // Payload - Native push payload. - Payload interface{} `json:"payload,omitempty"` -} - -// MarshalJSON is the custom marshaler for CampaignResult. -func (cr CampaignResult) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - if cr.ID != nil { - objectMap["id"] = cr.ID - } - if cr.State != "" { - objectMap["state"] = cr.State - } - if cr.ActivatedDate != nil { - objectMap["activatedDate"] = cr.ActivatedDate - } - if cr.FinishedDate != nil { - objectMap["finishedDate"] = cr.FinishedDate - } - if cr.Name != nil { - objectMap["name"] = cr.Name - } - if cr.Audience != nil { - objectMap["audience"] = cr.Audience - } - if cr.Category != nil { - objectMap["category"] = cr.Category - } - if cr.PushMode != "" { - objectMap["pushMode"] = cr.PushMode - } - if cr.Type != "" { - objectMap["type"] = cr.Type - } - if cr.DeliveryTime != "" { - objectMap["deliveryTime"] = cr.DeliveryTime - } - if cr.DeliveryActivities != nil { - objectMap["deliveryActivities"] = cr.DeliveryActivities - } - if cr.StartTime != nil { - objectMap["startTime"] = cr.StartTime - } - if cr.EndTime != nil { - objectMap["endTime"] = cr.EndTime - } - if cr.Timezone != nil { - objectMap["timezone"] = cr.Timezone - } - if cr.NotificationType != "" { - objectMap["notificationType"] = cr.NotificationType - } - if cr.NotificationIcon != nil { - objectMap["notificationIcon"] = cr.NotificationIcon - } - if cr.NotificationCloseable != nil { - objectMap["notificationCloseable"] = cr.NotificationCloseable - } - if cr.NotificationVibrate != nil { - objectMap["notificationVibrate"] = cr.NotificationVibrate - } - if cr.NotificationSound != nil { - objectMap["notificationSound"] = cr.NotificationSound - } - if cr.NotificationBadge != nil { - objectMap["notificationBadge"] = cr.NotificationBadge - } - if cr.Localization != nil { - objectMap["localization"] = cr.Localization - } - if cr.Questions != nil { - objectMap["questions"] = cr.Questions - } - if cr.NotificationTitle != nil { - objectMap["notificationTitle"] = cr.NotificationTitle - } - if cr.NotificationMessage != nil { - objectMap["notificationMessage"] = cr.NotificationMessage - } - if cr.NotificationImage != nil { - objectMap["notificationImage"] = cr.NotificationImage - } - if cr.NotificationOptions != nil { - objectMap["notificationOptions"] = cr.NotificationOptions - } - if cr.Title != nil { - objectMap["title"] = cr.Title - } - if cr.Body != nil { - objectMap["body"] = cr.Body - } - if cr.ActionButtonText != nil { - objectMap["actionButtonText"] = cr.ActionButtonText - } - if cr.ExitButtonText != nil { - objectMap["exitButtonText"] = cr.ExitButtonText - } - if cr.ActionURL != nil { - objectMap["actionUrl"] = cr.ActionURL - } - objectMap["payload"] = cr.Payload - return json.Marshal(objectMap) -} - -// CampaignsListResult the campaigns list result. -type CampaignsListResult struct { - autorest.Response `json:"-"` - // Value - The list of campaigns. - Value *[]CampaignListResult `json:"value,omitempty"` - // NextLink - When using `top` parameter and if partial results are returned, this property describes a URI path to get the next results. This property is not set when reaching the last page. - NextLink *string `json:"nextLink,omitempty"` -} - -// CampaignsListResultIterator provides access to a complete listing of CampaignListResult values. -type CampaignsListResultIterator struct { - i int - page CampaignsListResultPage -} - -// Next advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -func (iter *CampaignsListResultIterator) Next() error { - iter.i++ - if iter.i < len(iter.page.Values()) { - return nil - } - err := iter.page.Next() - if err != nil { - iter.i-- - return err - } - iter.i = 0 - return nil -} - -// NotDone returns true if the enumeration should be started or is not yet complete. -func (iter CampaignsListResultIterator) NotDone() bool { - return iter.page.NotDone() && iter.i < len(iter.page.Values()) -} - -// Response returns the raw server response from the last page request. -func (iter CampaignsListResultIterator) Response() CampaignsListResult { - return iter.page.Response() -} - -// Value returns the current value or a zero-initialized value if the -// iterator has advanced beyond the end of the collection. -func (iter CampaignsListResultIterator) Value() CampaignListResult { - if !iter.page.NotDone() { - return CampaignListResult{} - } - return iter.page.Values()[iter.i] -} - -// IsEmpty returns true if the ListResult contains no values. -func (clr CampaignsListResult) IsEmpty() bool { - return clr.Value == nil || len(*clr.Value) == 0 -} - -// campaignsListResultPreparer prepares a request to retrieve the next set of results. -// It returns nil if no more results exist. -func (clr CampaignsListResult) campaignsListResultPreparer() (*http.Request, error) { - if clr.NextLink == nil || len(to.String(clr.NextLink)) < 1 { - return nil, nil - } - return autorest.Prepare(&http.Request{}, - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(clr.NextLink))) -} - -// CampaignsListResultPage contains a page of CampaignListResult values. -type CampaignsListResultPage struct { - fn func(CampaignsListResult) (CampaignsListResult, error) - clr CampaignsListResult -} - -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -func (page *CampaignsListResultPage) Next() error { - next, err := page.fn(page.clr) - if err != nil { - return err - } - page.clr = next - return nil -} - -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page CampaignsListResultPage) NotDone() bool { - return !page.clr.IsEmpty() -} - -// Response returns the raw server response from the last page request. -func (page CampaignsListResultPage) Response() CampaignsListResult { - return page.clr -} - -// Values returns the slice of values for the current page or nil if there are no values. -func (page CampaignsListResultPage) Values() []CampaignListResult { - if page.clr.IsEmpty() { - return nil - } - return *page.clr.Value -} - -// CampaignState ... -type CampaignState struct { - autorest.Response `json:"-"` - // State - State of the campaign, or 'queued' when testing a campaign. Possible values include: 'Draft', 'Scheduled', 'InProgress', 'Finished', 'Queued' - State CampaignStates `json:"state,omitempty"` -} - -// CampaignStateResult ... -type CampaignStateResult struct { - autorest.Response `json:"-"` - // ID - Campaign identifier. - ID *int32 `json:"id,omitempty"` - // State - State of the campaign, or 'queued' when testing a campaign. Possible values include: 'Draft', 'Scheduled', 'InProgress', 'Finished', 'Queued' - State CampaignStates `json:"state,omitempty"` -} - -// CampaignStatisticsResult ... -type CampaignStatisticsResult struct { - autorest.Response `json:"-"` - // Queued - Number of times the campaign was registered to be pushed. - Queued *int32 `json:"queued,omitempty"` - // Pushed - Number of pushes performed. - Pushed *int32 `json:"pushed,omitempty"` - // PushedNative - Total number of native pushes. Information only available on Android, iOS, Windows Phone and Windows applications. - PushedNative *int32 `json:"pushed-native,omitempty"` - // PushedNativeGoogle - Number of C2DM/GCM pushes (available only on Android applications). - PushedNativeGoogle *int32 `json:"pushed-native-google,omitempty"` - // PushedNativeAdm - Number of ADM pushes (available only on Android applications). - PushedNativeAdm *int32 `json:"pushed-native-adm,omitempty"` - // Delivered - Number of times the campaign was received by the application (Not present in case of a native-push). - Delivered *int32 `json:"delivered,omitempty"` - // Dropped - Number of times the campaign was dropped by the application. It can happen if the SDK failed to parse the campaign payload or if an error occurred while trying to notify the end-user (Not present in case of a native-push). - Dropped *int32 `json:"dropped,omitempty"` - // SystemNotificationDisplayed - Number of times the system notification was displayed (Not present in case of a data-push or a native-push). On Android it corresponds to a status bar notification. - SystemNotificationDisplayed *int32 `json:"system-notification-displayed,omitempty"` - // InAppNotificationDisplayed - Number of times the in-app notification was displayed (Not present in case of a data-push or a native-push). - InAppNotificationDisplayed *int32 `json:"in-app-notification-displayed,omitempty"` - // ContentDisplayed - Number of times the campaign’s content view was displayed (Not present in case of a notification-only announcement, a data-push or a native-push). - ContentDisplayed *int32 `json:"content-displayed,omitempty"` - // SystemNotificationActioned - Number of times the system notification (On Android it corresponds to a status bar notification. On iOS, it is the Apple Push notification) was actioned. - SystemNotificationActioned *int32 `json:"system-notification-actioned,omitempty"` - // SystemNotificationExited - Number of times the system notification was exited (Not present in case of a data-push or a native-push). - SystemNotificationExited *int32 `json:"system-notification-exited,omitempty"` - // InAppNotificationActioned - Number of times the in-app notification was actioned (Not present in case of a data-push or a native-push). - InAppNotificationActioned *int32 `json:"in-app-notification-actioned,omitempty"` - // InAppNotificationExited - Number of times the in-app notification was exited (Not present in case of a data-push or a native-push). - InAppNotificationExited *int32 `json:"in-app-notification-exited,omitempty"` - // ContentActioned - Number of times the campaign’s content view was actioned (Not present in case of a notification-only announcement or a native-push). - ContentActioned *int32 `json:"content-actioned,omitempty"` - // ContentExited - Number of times the campaign’s content view was exited (Not present in case of a notification-only announcement or a native-push). - ContentExited *int32 `json:"content-exited,omitempty"` - // Answers - Poll specific statistics. - Answers map[string]interface{} `json:"answers"` -} - -// MarshalJSON is the custom marshaler for CampaignStatisticsResult. -func (csr CampaignStatisticsResult) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - if csr.Queued != nil { - objectMap["queued"] = csr.Queued - } - if csr.Pushed != nil { - objectMap["pushed"] = csr.Pushed - } - if csr.PushedNative != nil { - objectMap["pushed-native"] = csr.PushedNative - } - if csr.PushedNativeGoogle != nil { - objectMap["pushed-native-google"] = csr.PushedNativeGoogle - } - if csr.PushedNativeAdm != nil { - objectMap["pushed-native-adm"] = csr.PushedNativeAdm - } - if csr.Delivered != nil { - objectMap["delivered"] = csr.Delivered - } - if csr.Dropped != nil { - objectMap["dropped"] = csr.Dropped - } - if csr.SystemNotificationDisplayed != nil { - objectMap["system-notification-displayed"] = csr.SystemNotificationDisplayed - } - if csr.InAppNotificationDisplayed != nil { - objectMap["in-app-notification-displayed"] = csr.InAppNotificationDisplayed - } - if csr.ContentDisplayed != nil { - objectMap["content-displayed"] = csr.ContentDisplayed - } - if csr.SystemNotificationActioned != nil { - objectMap["system-notification-actioned"] = csr.SystemNotificationActioned - } - if csr.SystemNotificationExited != nil { - objectMap["system-notification-exited"] = csr.SystemNotificationExited - } - if csr.InAppNotificationActioned != nil { - objectMap["in-app-notification-actioned"] = csr.InAppNotificationActioned - } - if csr.InAppNotificationExited != nil { - objectMap["in-app-notification-exited"] = csr.InAppNotificationExited - } - if csr.ContentActioned != nil { - objectMap["content-actioned"] = csr.ContentActioned - } - if csr.ContentExited != nil { - objectMap["content-exited"] = csr.ContentExited - } - if csr.Answers != nil { - objectMap["answers"] = csr.Answers - } - return json.Marshal(objectMap) -} - -// CampaignTestNewParameters ... -type CampaignTestNewParameters struct { - Data *Campaign `json:"data,omitempty"` - // DeviceID - Device identifier (as returned by the SDK). - DeviceID *string `json:"deviceId,omitempty"` - // Lang - The language to test expressed using ISO 639-1 code. The default language of the campaign will be used if the parameter is not provided. - Lang *string `json:"lang,omitempty"` -} - -// CampaignTestSavedParameters ... -type CampaignTestSavedParameters struct { - // DeviceID - Device identifier (as returned by the SDK). - DeviceID *string `json:"deviceId,omitempty"` - // Lang - The language to test expressed using ISO 639-1 code. The default language of the campaign will be used if the parameter is not provided. - Lang *string `json:"lang,omitempty"` -} - -// CarrierCountryCriterion used to target devices based on their carrier country. -type CarrierCountryCriterion struct { - // Name - Two-characters country code (ISO 3166-1). - Name *string `json:"name,omitempty"` - // Type - Possible values include: 'TypeCriterion', 'TypeCarrierName', 'TypeCarrierCountry', 'TypeFirmwareVersion', 'TypeDeviceManufacturer', 'TypeDeviceModel', 'TypeApplicationVersion', 'TypeNetworkType', 'TypeLanguage', 'TypeScreenSize', 'TypeLocation', 'TypeGeoFencing', 'TypeAnnouncementFeedback', 'TypePollFeedback', 'TypePollAnswerFeedback', 'TypeDatapushFeedback', 'TypeSegment', 'TypeStringTag', 'TypeDateTag', 'TypeIntegerTag', 'TypeBooleanTag' - Type Type `json:"type,omitempty"` -} - -// MarshalJSON is the custom marshaler for CarrierCountryCriterion. -func (ccc CarrierCountryCriterion) MarshalJSON() ([]byte, error) { - ccc.Type = TypeCarrierCountry - objectMap := make(map[string]interface{}) - if ccc.Name != nil { - objectMap["name"] = ccc.Name - } - if ccc.Type != "" { - objectMap["type"] = ccc.Type - } - return json.Marshal(objectMap) -} - -// AsCarrierNameCriterion is the BasicCriterion implementation for CarrierCountryCriterion. -func (ccc CarrierCountryCriterion) AsCarrierNameCriterion() (*CarrierNameCriterion, bool) { - return nil, false -} - -// AsCarrierCountryCriterion is the BasicCriterion implementation for CarrierCountryCriterion. -func (ccc CarrierCountryCriterion) AsCarrierCountryCriterion() (*CarrierCountryCriterion, bool) { - return &ccc, true -} - -// AsFirmwareVersionCriterion is the BasicCriterion implementation for CarrierCountryCriterion. -func (ccc CarrierCountryCriterion) AsFirmwareVersionCriterion() (*FirmwareVersionCriterion, bool) { - return nil, false -} - -// AsDeviceManufacturerCriterion is the BasicCriterion implementation for CarrierCountryCriterion. -func (ccc CarrierCountryCriterion) AsDeviceManufacturerCriterion() (*DeviceManufacturerCriterion, bool) { - return nil, false -} - -// AsDeviceModelCriterion is the BasicCriterion implementation for CarrierCountryCriterion. -func (ccc CarrierCountryCriterion) AsDeviceModelCriterion() (*DeviceModelCriterion, bool) { - return nil, false -} - -// AsApplicationVersionCriterion is the BasicCriterion implementation for CarrierCountryCriterion. -func (ccc CarrierCountryCriterion) AsApplicationVersionCriterion() (*ApplicationVersionCriterion, bool) { - return nil, false -} - -// AsNetworkTypeCriterion is the BasicCriterion implementation for CarrierCountryCriterion. -func (ccc CarrierCountryCriterion) AsNetworkTypeCriterion() (*NetworkTypeCriterion, bool) { - return nil, false -} - -// AsLanguageCriterion is the BasicCriterion implementation for CarrierCountryCriterion. -func (ccc CarrierCountryCriterion) AsLanguageCriterion() (*LanguageCriterion, bool) { - return nil, false -} - -// AsScreenSizeCriterion is the BasicCriterion implementation for CarrierCountryCriterion. -func (ccc CarrierCountryCriterion) AsScreenSizeCriterion() (*ScreenSizeCriterion, bool) { - return nil, false -} - -// AsLocationCriterion is the BasicCriterion implementation for CarrierCountryCriterion. -func (ccc CarrierCountryCriterion) AsLocationCriterion() (*LocationCriterion, bool) { - return nil, false -} - -// AsGeoFencingCriterion is the BasicCriterion implementation for CarrierCountryCriterion. -func (ccc CarrierCountryCriterion) AsGeoFencingCriterion() (*GeoFencingCriterion, bool) { - return nil, false -} - -// AsAnnouncementFeedbackCriterion is the BasicCriterion implementation for CarrierCountryCriterion. -func (ccc CarrierCountryCriterion) AsAnnouncementFeedbackCriterion() (*AnnouncementFeedbackCriterion, bool) { - return nil, false -} - -// AsPollFeedbackCriterion is the BasicCriterion implementation for CarrierCountryCriterion. -func (ccc CarrierCountryCriterion) AsPollFeedbackCriterion() (*PollFeedbackCriterion, bool) { - return nil, false -} - -// AsPollAnswerFeedbackCriterion is the BasicCriterion implementation for CarrierCountryCriterion. -func (ccc CarrierCountryCriterion) AsPollAnswerFeedbackCriterion() (*PollAnswerFeedbackCriterion, bool) { - return nil, false -} - -// AsDatapushFeedbackCriterion is the BasicCriterion implementation for CarrierCountryCriterion. -func (ccc CarrierCountryCriterion) AsDatapushFeedbackCriterion() (*DatapushFeedbackCriterion, bool) { - return nil, false -} - -// AsSegmentCriterion is the BasicCriterion implementation for CarrierCountryCriterion. -func (ccc CarrierCountryCriterion) AsSegmentCriterion() (*SegmentCriterion, bool) { - return nil, false -} - -// AsStringTagCriterion is the BasicCriterion implementation for CarrierCountryCriterion. -func (ccc CarrierCountryCriterion) AsStringTagCriterion() (*StringTagCriterion, bool) { - return nil, false -} - -// AsDateTagCriterion is the BasicCriterion implementation for CarrierCountryCriterion. -func (ccc CarrierCountryCriterion) AsDateTagCriterion() (*DateTagCriterion, bool) { - return nil, false -} - -// AsIntegerTagCriterion is the BasicCriterion implementation for CarrierCountryCriterion. -func (ccc CarrierCountryCriterion) AsIntegerTagCriterion() (*IntegerTagCriterion, bool) { - return nil, false -} - -// AsBooleanTagCriterion is the BasicCriterion implementation for CarrierCountryCriterion. -func (ccc CarrierCountryCriterion) AsBooleanTagCriterion() (*BooleanTagCriterion, bool) { - return nil, false -} - -// AsCriterion is the BasicCriterion implementation for CarrierCountryCriterion. -func (ccc CarrierCountryCriterion) AsCriterion() (*Criterion, bool) { - return nil, false -} - -// AsBasicCriterion is the BasicCriterion implementation for CarrierCountryCriterion. -func (ccc CarrierCountryCriterion) AsBasicCriterion() (BasicCriterion, bool) { - return &ccc, true -} - -// CarrierNameCriterion used to target devices based on their carrier name. -type CarrierNameCriterion struct { - // Name - Carrier name value. - Name *string `json:"name,omitempty"` - // Type - Possible values include: 'TypeCriterion', 'TypeCarrierName', 'TypeCarrierCountry', 'TypeFirmwareVersion', 'TypeDeviceManufacturer', 'TypeDeviceModel', 'TypeApplicationVersion', 'TypeNetworkType', 'TypeLanguage', 'TypeScreenSize', 'TypeLocation', 'TypeGeoFencing', 'TypeAnnouncementFeedback', 'TypePollFeedback', 'TypePollAnswerFeedback', 'TypeDatapushFeedback', 'TypeSegment', 'TypeStringTag', 'TypeDateTag', 'TypeIntegerTag', 'TypeBooleanTag' - Type Type `json:"type,omitempty"` -} - -// MarshalJSON is the custom marshaler for CarrierNameCriterion. -func (cnc CarrierNameCriterion) MarshalJSON() ([]byte, error) { - cnc.Type = TypeCarrierName - objectMap := make(map[string]interface{}) - if cnc.Name != nil { - objectMap["name"] = cnc.Name - } - if cnc.Type != "" { - objectMap["type"] = cnc.Type - } - return json.Marshal(objectMap) -} - -// AsCarrierNameCriterion is the BasicCriterion implementation for CarrierNameCriterion. -func (cnc CarrierNameCriterion) AsCarrierNameCriterion() (*CarrierNameCriterion, bool) { - return &cnc, true -} - -// AsCarrierCountryCriterion is the BasicCriterion implementation for CarrierNameCriterion. -func (cnc CarrierNameCriterion) AsCarrierCountryCriterion() (*CarrierCountryCriterion, bool) { - return nil, false -} - -// AsFirmwareVersionCriterion is the BasicCriterion implementation for CarrierNameCriterion. -func (cnc CarrierNameCriterion) AsFirmwareVersionCriterion() (*FirmwareVersionCriterion, bool) { - return nil, false -} - -// AsDeviceManufacturerCriterion is the BasicCriterion implementation for CarrierNameCriterion. -func (cnc CarrierNameCriterion) AsDeviceManufacturerCriterion() (*DeviceManufacturerCriterion, bool) { - return nil, false -} - -// AsDeviceModelCriterion is the BasicCriterion implementation for CarrierNameCriterion. -func (cnc CarrierNameCriterion) AsDeviceModelCriterion() (*DeviceModelCriterion, bool) { - return nil, false -} - -// AsApplicationVersionCriterion is the BasicCriterion implementation for CarrierNameCriterion. -func (cnc CarrierNameCriterion) AsApplicationVersionCriterion() (*ApplicationVersionCriterion, bool) { - return nil, false -} - -// AsNetworkTypeCriterion is the BasicCriterion implementation for CarrierNameCriterion. -func (cnc CarrierNameCriterion) AsNetworkTypeCriterion() (*NetworkTypeCriterion, bool) { - return nil, false -} - -// AsLanguageCriterion is the BasicCriterion implementation for CarrierNameCriterion. -func (cnc CarrierNameCriterion) AsLanguageCriterion() (*LanguageCriterion, bool) { - return nil, false -} - -// AsScreenSizeCriterion is the BasicCriterion implementation for CarrierNameCriterion. -func (cnc CarrierNameCriterion) AsScreenSizeCriterion() (*ScreenSizeCriterion, bool) { - return nil, false -} - -// AsLocationCriterion is the BasicCriterion implementation for CarrierNameCriterion. -func (cnc CarrierNameCriterion) AsLocationCriterion() (*LocationCriterion, bool) { - return nil, false -} - -// AsGeoFencingCriterion is the BasicCriterion implementation for CarrierNameCriterion. -func (cnc CarrierNameCriterion) AsGeoFencingCriterion() (*GeoFencingCriterion, bool) { - return nil, false -} - -// AsAnnouncementFeedbackCriterion is the BasicCriterion implementation for CarrierNameCriterion. -func (cnc CarrierNameCriterion) AsAnnouncementFeedbackCriterion() (*AnnouncementFeedbackCriterion, bool) { - return nil, false -} - -// AsPollFeedbackCriterion is the BasicCriterion implementation for CarrierNameCriterion. -func (cnc CarrierNameCriterion) AsPollFeedbackCriterion() (*PollFeedbackCriterion, bool) { - return nil, false -} - -// AsPollAnswerFeedbackCriterion is the BasicCriterion implementation for CarrierNameCriterion. -func (cnc CarrierNameCriterion) AsPollAnswerFeedbackCriterion() (*PollAnswerFeedbackCriterion, bool) { - return nil, false -} - -// AsDatapushFeedbackCriterion is the BasicCriterion implementation for CarrierNameCriterion. -func (cnc CarrierNameCriterion) AsDatapushFeedbackCriterion() (*DatapushFeedbackCriterion, bool) { - return nil, false -} - -// AsSegmentCriterion is the BasicCriterion implementation for CarrierNameCriterion. -func (cnc CarrierNameCriterion) AsSegmentCriterion() (*SegmentCriterion, bool) { - return nil, false -} - -// AsStringTagCriterion is the BasicCriterion implementation for CarrierNameCriterion. -func (cnc CarrierNameCriterion) AsStringTagCriterion() (*StringTagCriterion, bool) { - return nil, false -} - -// AsDateTagCriterion is the BasicCriterion implementation for CarrierNameCriterion. -func (cnc CarrierNameCriterion) AsDateTagCriterion() (*DateTagCriterion, bool) { - return nil, false -} - -// AsIntegerTagCriterion is the BasicCriterion implementation for CarrierNameCriterion. -func (cnc CarrierNameCriterion) AsIntegerTagCriterion() (*IntegerTagCriterion, bool) { - return nil, false -} - -// AsBooleanTagCriterion is the BasicCriterion implementation for CarrierNameCriterion. -func (cnc CarrierNameCriterion) AsBooleanTagCriterion() (*BooleanTagCriterion, bool) { - return nil, false -} - -// AsCriterion is the BasicCriterion implementation for CarrierNameCriterion. -func (cnc CarrierNameCriterion) AsCriterion() (*Criterion, bool) { - return nil, false -} - -// AsBasicCriterion is the BasicCriterion implementation for CarrierNameCriterion. -func (cnc CarrierNameCriterion) AsBasicCriterion() (BasicCriterion, bool) { - return &cnc, true -} - -// BasicCriterion ... -type BasicCriterion interface { - AsCarrierNameCriterion() (*CarrierNameCriterion, bool) - AsCarrierCountryCriterion() (*CarrierCountryCriterion, bool) - AsFirmwareVersionCriterion() (*FirmwareVersionCriterion, bool) - AsDeviceManufacturerCriterion() (*DeviceManufacturerCriterion, bool) - AsDeviceModelCriterion() (*DeviceModelCriterion, bool) - AsApplicationVersionCriterion() (*ApplicationVersionCriterion, bool) - AsNetworkTypeCriterion() (*NetworkTypeCriterion, bool) - AsLanguageCriterion() (*LanguageCriterion, bool) - AsScreenSizeCriterion() (*ScreenSizeCriterion, bool) - AsLocationCriterion() (*LocationCriterion, bool) - AsGeoFencingCriterion() (*GeoFencingCriterion, bool) - AsAnnouncementFeedbackCriterion() (*AnnouncementFeedbackCriterion, bool) - AsPollFeedbackCriterion() (*PollFeedbackCriterion, bool) - AsPollAnswerFeedbackCriterion() (*PollAnswerFeedbackCriterion, bool) - AsDatapushFeedbackCriterion() (*DatapushFeedbackCriterion, bool) - AsSegmentCriterion() (*SegmentCriterion, bool) - AsStringTagCriterion() (*StringTagCriterion, bool) - AsDateTagCriterion() (*DateTagCriterion, bool) - AsIntegerTagCriterion() (*IntegerTagCriterion, bool) - AsBooleanTagCriterion() (*BooleanTagCriterion, bool) - AsCriterion() (*Criterion, bool) -} - -// Criterion ... -type Criterion struct { - // Type - Possible values include: 'TypeCriterion', 'TypeCarrierName', 'TypeCarrierCountry', 'TypeFirmwareVersion', 'TypeDeviceManufacturer', 'TypeDeviceModel', 'TypeApplicationVersion', 'TypeNetworkType', 'TypeLanguage', 'TypeScreenSize', 'TypeLocation', 'TypeGeoFencing', 'TypeAnnouncementFeedback', 'TypePollFeedback', 'TypePollAnswerFeedback', 'TypeDatapushFeedback', 'TypeSegment', 'TypeStringTag', 'TypeDateTag', 'TypeIntegerTag', 'TypeBooleanTag' - Type Type `json:"type,omitempty"` -} - -func unmarshalBasicCriterion(body []byte) (BasicCriterion, error) { - var m map[string]interface{} - err := json.Unmarshal(body, &m) - if err != nil { - return nil, err - } - - switch m["type"] { - case string(TypeCarrierName): - var cnc CarrierNameCriterion - err := json.Unmarshal(body, &cnc) - return cnc, err - case string(TypeCarrierCountry): - var ccc CarrierCountryCriterion - err := json.Unmarshal(body, &ccc) - return ccc, err - case string(TypeFirmwareVersion): - var fvc FirmwareVersionCriterion - err := json.Unmarshal(body, &fvc) - return fvc, err - case string(TypeDeviceManufacturer): - var dmc DeviceManufacturerCriterion - err := json.Unmarshal(body, &dmc) - return dmc, err - case string(TypeDeviceModel): - var dmc DeviceModelCriterion - err := json.Unmarshal(body, &dmc) - return dmc, err - case string(TypeApplicationVersion): - var avc ApplicationVersionCriterion - err := json.Unmarshal(body, &avc) - return avc, err - case string(TypeNetworkType): - var ntc NetworkTypeCriterion - err := json.Unmarshal(body, &ntc) - return ntc, err - case string(TypeLanguage): - var lc LanguageCriterion - err := json.Unmarshal(body, &lc) - return lc, err - case string(TypeScreenSize): - var ssc ScreenSizeCriterion - err := json.Unmarshal(body, &ssc) - return ssc, err - case string(TypeLocation): - var lc LocationCriterion - err := json.Unmarshal(body, &lc) - return lc, err - case string(TypeGeoFencing): - var gfc GeoFencingCriterion - err := json.Unmarshal(body, &gfc) - return gfc, err - case string(TypeAnnouncementFeedback): - var afc AnnouncementFeedbackCriterion - err := json.Unmarshal(body, &afc) - return afc, err - case string(TypePollFeedback): - var pfc PollFeedbackCriterion - err := json.Unmarshal(body, &pfc) - return pfc, err - case string(TypePollAnswerFeedback): - var pafc PollAnswerFeedbackCriterion - err := json.Unmarshal(body, &pafc) - return pafc, err - case string(TypeDatapushFeedback): - var dfc DatapushFeedbackCriterion - err := json.Unmarshal(body, &dfc) - return dfc, err - case string(TypeSegment): - var sc SegmentCriterion - err := json.Unmarshal(body, &sc) - return sc, err - case string(TypeStringTag): - var stc StringTagCriterion - err := json.Unmarshal(body, &stc) - return stc, err - case string(TypeDateTag): - var dtc DateTagCriterion - err := json.Unmarshal(body, &dtc) - return dtc, err - case string(TypeIntegerTag): - var itc IntegerTagCriterion - err := json.Unmarshal(body, &itc) - return itc, err - case string(TypeBooleanTag): - var btc BooleanTagCriterion - err := json.Unmarshal(body, &btc) - return btc, err - default: - var c Criterion - err := json.Unmarshal(body, &c) - return c, err - } -} -func unmarshalBasicCriterionArray(body []byte) ([]BasicCriterion, error) { - var rawMessages []*json.RawMessage - err := json.Unmarshal(body, &rawMessages) - if err != nil { - return nil, err - } - - cArray := make([]BasicCriterion, len(rawMessages)) - - for index, rawMessage := range rawMessages { - c, err := unmarshalBasicCriterion(*rawMessage) - if err != nil { - return nil, err - } - cArray[index] = c - } - return cArray, nil -} - -// MarshalJSON is the custom marshaler for Criterion. -func (c Criterion) MarshalJSON() ([]byte, error) { - c.Type = TypeCriterion - objectMap := make(map[string]interface{}) - if c.Type != "" { - objectMap["type"] = c.Type - } - return json.Marshal(objectMap) -} - -// AsCarrierNameCriterion is the BasicCriterion implementation for Criterion. -func (c Criterion) AsCarrierNameCriterion() (*CarrierNameCriterion, bool) { - return nil, false -} - -// AsCarrierCountryCriterion is the BasicCriterion implementation for Criterion. -func (c Criterion) AsCarrierCountryCriterion() (*CarrierCountryCriterion, bool) { - return nil, false -} - -// AsFirmwareVersionCriterion is the BasicCriterion implementation for Criterion. -func (c Criterion) AsFirmwareVersionCriterion() (*FirmwareVersionCriterion, bool) { - return nil, false -} - -// AsDeviceManufacturerCriterion is the BasicCriterion implementation for Criterion. -func (c Criterion) AsDeviceManufacturerCriterion() (*DeviceManufacturerCriterion, bool) { - return nil, false -} - -// AsDeviceModelCriterion is the BasicCriterion implementation for Criterion. -func (c Criterion) AsDeviceModelCriterion() (*DeviceModelCriterion, bool) { - return nil, false -} - -// AsApplicationVersionCriterion is the BasicCriterion implementation for Criterion. -func (c Criterion) AsApplicationVersionCriterion() (*ApplicationVersionCriterion, bool) { - return nil, false -} - -// AsNetworkTypeCriterion is the BasicCriterion implementation for Criterion. -func (c Criterion) AsNetworkTypeCriterion() (*NetworkTypeCriterion, bool) { - return nil, false -} - -// AsLanguageCriterion is the BasicCriterion implementation for Criterion. -func (c Criterion) AsLanguageCriterion() (*LanguageCriterion, bool) { - return nil, false -} - -// AsScreenSizeCriterion is the BasicCriterion implementation for Criterion. -func (c Criterion) AsScreenSizeCriterion() (*ScreenSizeCriterion, bool) { - return nil, false -} - -// AsLocationCriterion is the BasicCriterion implementation for Criterion. -func (c Criterion) AsLocationCriterion() (*LocationCriterion, bool) { - return nil, false -} - -// AsGeoFencingCriterion is the BasicCriterion implementation for Criterion. -func (c Criterion) AsGeoFencingCriterion() (*GeoFencingCriterion, bool) { - return nil, false -} - -// AsAnnouncementFeedbackCriterion is the BasicCriterion implementation for Criterion. -func (c Criterion) AsAnnouncementFeedbackCriterion() (*AnnouncementFeedbackCriterion, bool) { - return nil, false -} - -// AsPollFeedbackCriterion is the BasicCriterion implementation for Criterion. -func (c Criterion) AsPollFeedbackCriterion() (*PollFeedbackCriterion, bool) { - return nil, false -} - -// AsPollAnswerFeedbackCriterion is the BasicCriterion implementation for Criterion. -func (c Criterion) AsPollAnswerFeedbackCriterion() (*PollAnswerFeedbackCriterion, bool) { - return nil, false -} - -// AsDatapushFeedbackCriterion is the BasicCriterion implementation for Criterion. -func (c Criterion) AsDatapushFeedbackCriterion() (*DatapushFeedbackCriterion, bool) { - return nil, false -} - -// AsSegmentCriterion is the BasicCriterion implementation for Criterion. -func (c Criterion) AsSegmentCriterion() (*SegmentCriterion, bool) { - return nil, false -} - -// AsStringTagCriterion is the BasicCriterion implementation for Criterion. -func (c Criterion) AsStringTagCriterion() (*StringTagCriterion, bool) { - return nil, false -} - -// AsDateTagCriterion is the BasicCriterion implementation for Criterion. -func (c Criterion) AsDateTagCriterion() (*DateTagCriterion, bool) { - return nil, false -} - -// AsIntegerTagCriterion is the BasicCriterion implementation for Criterion. -func (c Criterion) AsIntegerTagCriterion() (*IntegerTagCriterion, bool) { - return nil, false -} - -// AsBooleanTagCriterion is the BasicCriterion implementation for Criterion. -func (c Criterion) AsBooleanTagCriterion() (*BooleanTagCriterion, bool) { - return nil, false -} - -// AsCriterion is the BasicCriterion implementation for Criterion. -func (c Criterion) AsCriterion() (*Criterion, bool) { - return &c, true -} - -// AsBasicCriterion is the BasicCriterion implementation for Criterion. -func (c Criterion) AsBasicCriterion() (BasicCriterion, bool) { - return &c, true -} - -// DatapushFeedbackCriterion used to target devices who received a data push. -type DatapushFeedbackCriterion struct { - // ContentID - The unique identifier of the data push. - ContentID *int32 `json:"content-id,omitempty"` - // Action - Action that was performed on the data push (action depends on the return value in the callbacks you declared in the client code). - // . Possible values include: 'Pushed', 'Replied', 'Actioned', 'Exited' - Action CampaignFeedbacks `json:"action,omitempty"` - // Type - Possible values include: 'TypeCriterion', 'TypeCarrierName', 'TypeCarrierCountry', 'TypeFirmwareVersion', 'TypeDeviceManufacturer', 'TypeDeviceModel', 'TypeApplicationVersion', 'TypeNetworkType', 'TypeLanguage', 'TypeScreenSize', 'TypeLocation', 'TypeGeoFencing', 'TypeAnnouncementFeedback', 'TypePollFeedback', 'TypePollAnswerFeedback', 'TypeDatapushFeedback', 'TypeSegment', 'TypeStringTag', 'TypeDateTag', 'TypeIntegerTag', 'TypeBooleanTag' - Type Type `json:"type,omitempty"` -} - -// MarshalJSON is the custom marshaler for DatapushFeedbackCriterion. -func (dfc DatapushFeedbackCriterion) MarshalJSON() ([]byte, error) { - dfc.Type = TypeDatapushFeedback - objectMap := make(map[string]interface{}) - if dfc.ContentID != nil { - objectMap["content-id"] = dfc.ContentID - } - if dfc.Action != "" { - objectMap["action"] = dfc.Action - } - if dfc.Type != "" { - objectMap["type"] = dfc.Type - } - return json.Marshal(objectMap) -} - -// AsCarrierNameCriterion is the BasicCriterion implementation for DatapushFeedbackCriterion. -func (dfc DatapushFeedbackCriterion) AsCarrierNameCriterion() (*CarrierNameCriterion, bool) { - return nil, false -} - -// AsCarrierCountryCriterion is the BasicCriterion implementation for DatapushFeedbackCriterion. -func (dfc DatapushFeedbackCriterion) AsCarrierCountryCriterion() (*CarrierCountryCriterion, bool) { - return nil, false -} - -// AsFirmwareVersionCriterion is the BasicCriterion implementation for DatapushFeedbackCriterion. -func (dfc DatapushFeedbackCriterion) AsFirmwareVersionCriterion() (*FirmwareVersionCriterion, bool) { - return nil, false -} - -// AsDeviceManufacturerCriterion is the BasicCriterion implementation for DatapushFeedbackCriterion. -func (dfc DatapushFeedbackCriterion) AsDeviceManufacturerCriterion() (*DeviceManufacturerCriterion, bool) { - return nil, false -} - -// AsDeviceModelCriterion is the BasicCriterion implementation for DatapushFeedbackCriterion. -func (dfc DatapushFeedbackCriterion) AsDeviceModelCriterion() (*DeviceModelCriterion, bool) { - return nil, false -} - -// AsApplicationVersionCriterion is the BasicCriterion implementation for DatapushFeedbackCriterion. -func (dfc DatapushFeedbackCriterion) AsApplicationVersionCriterion() (*ApplicationVersionCriterion, bool) { - return nil, false -} - -// AsNetworkTypeCriterion is the BasicCriterion implementation for DatapushFeedbackCriterion. -func (dfc DatapushFeedbackCriterion) AsNetworkTypeCriterion() (*NetworkTypeCriterion, bool) { - return nil, false -} - -// AsLanguageCriterion is the BasicCriterion implementation for DatapushFeedbackCriterion. -func (dfc DatapushFeedbackCriterion) AsLanguageCriterion() (*LanguageCriterion, bool) { - return nil, false -} - -// AsScreenSizeCriterion is the BasicCriterion implementation for DatapushFeedbackCriterion. -func (dfc DatapushFeedbackCriterion) AsScreenSizeCriterion() (*ScreenSizeCriterion, bool) { - return nil, false -} - -// AsLocationCriterion is the BasicCriterion implementation for DatapushFeedbackCriterion. -func (dfc DatapushFeedbackCriterion) AsLocationCriterion() (*LocationCriterion, bool) { - return nil, false -} - -// AsGeoFencingCriterion is the BasicCriterion implementation for DatapushFeedbackCriterion. -func (dfc DatapushFeedbackCriterion) AsGeoFencingCriterion() (*GeoFencingCriterion, bool) { - return nil, false -} - -// AsAnnouncementFeedbackCriterion is the BasicCriterion implementation for DatapushFeedbackCriterion. -func (dfc DatapushFeedbackCriterion) AsAnnouncementFeedbackCriterion() (*AnnouncementFeedbackCriterion, bool) { - return nil, false -} - -// AsPollFeedbackCriterion is the BasicCriterion implementation for DatapushFeedbackCriterion. -func (dfc DatapushFeedbackCriterion) AsPollFeedbackCriterion() (*PollFeedbackCriterion, bool) { - return nil, false -} - -// AsPollAnswerFeedbackCriterion is the BasicCriterion implementation for DatapushFeedbackCriterion. -func (dfc DatapushFeedbackCriterion) AsPollAnswerFeedbackCriterion() (*PollAnswerFeedbackCriterion, bool) { - return nil, false -} - -// AsDatapushFeedbackCriterion is the BasicCriterion implementation for DatapushFeedbackCriterion. -func (dfc DatapushFeedbackCriterion) AsDatapushFeedbackCriterion() (*DatapushFeedbackCriterion, bool) { - return &dfc, true -} - -// AsSegmentCriterion is the BasicCriterion implementation for DatapushFeedbackCriterion. -func (dfc DatapushFeedbackCriterion) AsSegmentCriterion() (*SegmentCriterion, bool) { - return nil, false -} - -// AsStringTagCriterion is the BasicCriterion implementation for DatapushFeedbackCriterion. -func (dfc DatapushFeedbackCriterion) AsStringTagCriterion() (*StringTagCriterion, bool) { - return nil, false -} - -// AsDateTagCriterion is the BasicCriterion implementation for DatapushFeedbackCriterion. -func (dfc DatapushFeedbackCriterion) AsDateTagCriterion() (*DateTagCriterion, bool) { - return nil, false -} - -// AsIntegerTagCriterion is the BasicCriterion implementation for DatapushFeedbackCriterion. -func (dfc DatapushFeedbackCriterion) AsIntegerTagCriterion() (*IntegerTagCriterion, bool) { - return nil, false -} - -// AsBooleanTagCriterion is the BasicCriterion implementation for DatapushFeedbackCriterion. -func (dfc DatapushFeedbackCriterion) AsBooleanTagCriterion() (*BooleanTagCriterion, bool) { - return nil, false -} - -// AsCriterion is the BasicCriterion implementation for DatapushFeedbackCriterion. -func (dfc DatapushFeedbackCriterion) AsCriterion() (*Criterion, bool) { - return nil, false -} - -// AsBasicCriterion is the BasicCriterion implementation for DatapushFeedbackCriterion. -func (dfc DatapushFeedbackCriterion) AsBasicCriterion() (BasicCriterion, bool) { - return &dfc, true -} - -// DateRangeExportTaskParameter ... -type DateRangeExportTaskParameter struct { - ContainerURL *string `json:"containerUrl,omitempty"` - // Description - A description of the export task. - Description *string `json:"description,omitempty"` - // StartDate - The RFC3339 full-date of the start of the period for which data is exported. - StartDate *date.Date `json:"startDate,omitempty"` - // EndDate - The RFC3339 full-date of the end of the period for which data is exported. - EndDate *date.Date `json:"endDate,omitempty"` - // ExportFormat - The format of the exported data. Possible values include: 'JSONBlob', 'CsvBlob' - ExportFormat ExportFormat `json:"exportFormat,omitempty"` -} - -// DateTagCriterion target devices based on a date tag value. -type DateTagCriterion struct { - // Name - The name of the custom tag. - Name *string `json:"name,omitempty"` - // Value - It can be either: * an absolute date using yyyy-MM-dd format (e.g. 1969-12-07 stands for 7 Dec 1969). * an offset in days relative to the current day (`TODAY` + `value`). - Value *date.Date `json:"value,omitempty"` - // Op - comparison operator: `EQ` (equal to), `LT` (less than), `GT` (greater than), `LE` (less than or equal to) or `GE` (greater than or equal to). Possible values include: 'EQ', 'LT', 'GT', 'LE', 'GE' - Op AudienceOperators `json:"op,omitempty"` - // Type - Possible values include: 'TypeCriterion', 'TypeCarrierName', 'TypeCarrierCountry', 'TypeFirmwareVersion', 'TypeDeviceManufacturer', 'TypeDeviceModel', 'TypeApplicationVersion', 'TypeNetworkType', 'TypeLanguage', 'TypeScreenSize', 'TypeLocation', 'TypeGeoFencing', 'TypeAnnouncementFeedback', 'TypePollFeedback', 'TypePollAnswerFeedback', 'TypeDatapushFeedback', 'TypeSegment', 'TypeStringTag', 'TypeDateTag', 'TypeIntegerTag', 'TypeBooleanTag' - Type Type `json:"type,omitempty"` -} - -// MarshalJSON is the custom marshaler for DateTagCriterion. -func (dtc DateTagCriterion) MarshalJSON() ([]byte, error) { - dtc.Type = TypeDateTag - objectMap := make(map[string]interface{}) - if dtc.Name != nil { - objectMap["name"] = dtc.Name - } - if dtc.Value != nil { - objectMap["value"] = dtc.Value - } - if dtc.Op != "" { - objectMap["op"] = dtc.Op - } - if dtc.Type != "" { - objectMap["type"] = dtc.Type - } - return json.Marshal(objectMap) -} - -// AsCarrierNameCriterion is the BasicCriterion implementation for DateTagCriterion. -func (dtc DateTagCriterion) AsCarrierNameCriterion() (*CarrierNameCriterion, bool) { - return nil, false -} - -// AsCarrierCountryCriterion is the BasicCriterion implementation for DateTagCriterion. -func (dtc DateTagCriterion) AsCarrierCountryCriterion() (*CarrierCountryCriterion, bool) { - return nil, false -} - -// AsFirmwareVersionCriterion is the BasicCriterion implementation for DateTagCriterion. -func (dtc DateTagCriterion) AsFirmwareVersionCriterion() (*FirmwareVersionCriterion, bool) { - return nil, false -} - -// AsDeviceManufacturerCriterion is the BasicCriterion implementation for DateTagCriterion. -func (dtc DateTagCriterion) AsDeviceManufacturerCriterion() (*DeviceManufacturerCriterion, bool) { - return nil, false -} - -// AsDeviceModelCriterion is the BasicCriterion implementation for DateTagCriterion. -func (dtc DateTagCriterion) AsDeviceModelCriterion() (*DeviceModelCriterion, bool) { - return nil, false -} - -// AsApplicationVersionCriterion is the BasicCriterion implementation for DateTagCriterion. -func (dtc DateTagCriterion) AsApplicationVersionCriterion() (*ApplicationVersionCriterion, bool) { - return nil, false -} - -// AsNetworkTypeCriterion is the BasicCriterion implementation for DateTagCriterion. -func (dtc DateTagCriterion) AsNetworkTypeCriterion() (*NetworkTypeCriterion, bool) { - return nil, false -} - -// AsLanguageCriterion is the BasicCriterion implementation for DateTagCriterion. -func (dtc DateTagCriterion) AsLanguageCriterion() (*LanguageCriterion, bool) { - return nil, false -} - -// AsScreenSizeCriterion is the BasicCriterion implementation for DateTagCriterion. -func (dtc DateTagCriterion) AsScreenSizeCriterion() (*ScreenSizeCriterion, bool) { - return nil, false -} - -// AsLocationCriterion is the BasicCriterion implementation for DateTagCriterion. -func (dtc DateTagCriterion) AsLocationCriterion() (*LocationCriterion, bool) { - return nil, false -} - -// AsGeoFencingCriterion is the BasicCriterion implementation for DateTagCriterion. -func (dtc DateTagCriterion) AsGeoFencingCriterion() (*GeoFencingCriterion, bool) { - return nil, false -} - -// AsAnnouncementFeedbackCriterion is the BasicCriterion implementation for DateTagCriterion. -func (dtc DateTagCriterion) AsAnnouncementFeedbackCriterion() (*AnnouncementFeedbackCriterion, bool) { - return nil, false -} - -// AsPollFeedbackCriterion is the BasicCriterion implementation for DateTagCriterion. -func (dtc DateTagCriterion) AsPollFeedbackCriterion() (*PollFeedbackCriterion, bool) { - return nil, false -} - -// AsPollAnswerFeedbackCriterion is the BasicCriterion implementation for DateTagCriterion. -func (dtc DateTagCriterion) AsPollAnswerFeedbackCriterion() (*PollAnswerFeedbackCriterion, bool) { - return nil, false -} - -// AsDatapushFeedbackCriterion is the BasicCriterion implementation for DateTagCriterion. -func (dtc DateTagCriterion) AsDatapushFeedbackCriterion() (*DatapushFeedbackCriterion, bool) { - return nil, false -} - -// AsSegmentCriterion is the BasicCriterion implementation for DateTagCriterion. -func (dtc DateTagCriterion) AsSegmentCriterion() (*SegmentCriterion, bool) { - return nil, false -} - -// AsStringTagCriterion is the BasicCriterion implementation for DateTagCriterion. -func (dtc DateTagCriterion) AsStringTagCriterion() (*StringTagCriterion, bool) { - return nil, false -} - -// AsDateTagCriterion is the BasicCriterion implementation for DateTagCriterion. -func (dtc DateTagCriterion) AsDateTagCriterion() (*DateTagCriterion, bool) { - return &dtc, true -} - -// AsIntegerTagCriterion is the BasicCriterion implementation for DateTagCriterion. -func (dtc DateTagCriterion) AsIntegerTagCriterion() (*IntegerTagCriterion, bool) { - return nil, false -} - -// AsBooleanTagCriterion is the BasicCriterion implementation for DateTagCriterion. -func (dtc DateTagCriterion) AsBooleanTagCriterion() (*BooleanTagCriterion, bool) { - return nil, false -} - -// AsCriterion is the BasicCriterion implementation for DateTagCriterion. -func (dtc DateTagCriterion) AsCriterion() (*Criterion, bool) { - return nil, false -} - -// AsBasicCriterion is the BasicCriterion implementation for DateTagCriterion. -func (dtc DateTagCriterion) AsBasicCriterion() (BasicCriterion, bool) { - return &dtc, true -} - -// Device ... -type Device struct { - autorest.Response `json:"-"` - // DeviceID - The device result. - DeviceID *string `json:"deviceId,omitempty"` - // Meta - Application usage data. - Meta *DeviceMeta `json:"meta,omitempty"` - // Info - Last technical data received (concerning device, system, network and application identification). - Info *DeviceInfo `json:"info,omitempty"` - // Location - Last geo-location data received. - Location *DeviceLocation `json:"location,omitempty"` - // AppInfo - Also known as tags, a key-value set as a JSON object. - AppInfo map[string]*string `json:"appInfo"` -} - -// MarshalJSON is the custom marshaler for Device. -func (d Device) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - if d.DeviceID != nil { - objectMap["deviceId"] = d.DeviceID - } - if d.Meta != nil { - objectMap["meta"] = d.Meta - } - if d.Info != nil { - objectMap["info"] = d.Info - } - if d.Location != nil { - objectMap["location"] = d.Location - } - if d.AppInfo != nil { - objectMap["appInfo"] = d.AppInfo - } - return json.Marshal(objectMap) -} - -// DeviceInfo ... -type DeviceInfo struct { - // PhoneModel - Phone model. - PhoneModel *string `json:"phoneModel,omitempty"` - // PhoneManufacturer - Phone manufacturer - PhoneManufacturer *string `json:"phoneManufacturer,omitempty"` - // FirmwareVersion - Firmware version. - FirmwareVersion *string `json:"firmwareVersion,omitempty"` - // FirmwareName - Firmware name. - FirmwareName *string `json:"firmwareName,omitempty"` - // AndroidAPILevel - Android API level. - AndroidAPILevel *int32 `json:"androidAPILevel,omitempty"` - // CarrierCountry - Carrier country. - CarrierCountry *string `json:"carrierCountry,omitempty"` - // Locale - Locale code. - Locale *string `json:"locale,omitempty"` - // CarrierName - Carrier name. - CarrierName *string `json:"carrierName,omitempty"` - // NetworkType - Network type. - NetworkType *string `json:"networkType,omitempty"` - // NetworkSubtype - Network sub-type. - NetworkSubtype *string `json:"networkSubtype,omitempty"` - // ApplicationVersionName - Application version name. - ApplicationVersionName *string `json:"applicationVersionName,omitempty"` - // ApplicationVersionCode - Application version code. - ApplicationVersionCode *int32 `json:"applicationVersionCode,omitempty"` - // TimeZoneOffset - The offset in minutes from UTC for the device time zone, including daylight savings time. - TimeZoneOffset *int32 `json:"timeZoneOffset,omitempty"` - // ServiceVersion - SDK version. - ServiceVersion *string `json:"serviceVersion,omitempty"` -} - -// DeviceLocation ... -type DeviceLocation struct { - // Countrycode - The ISO 3166 two-letter country code. - Countrycode *string `json:"countrycode,omitempty"` - // Region - An administrative region of the nation, such as a state or province. - Region *string `json:"region,omitempty"` - // Locality - A locality within the administrative region, such as a town or city. - Locality *string `json:"locality,omitempty"` -} - -// DeviceManufacturerCriterion used to target devices based on the device manufacturer. -type DeviceManufacturerCriterion struct { - // Name - The device manufacturer. - Name *string `json:"name,omitempty"` - // Type - Possible values include: 'TypeCriterion', 'TypeCarrierName', 'TypeCarrierCountry', 'TypeFirmwareVersion', 'TypeDeviceManufacturer', 'TypeDeviceModel', 'TypeApplicationVersion', 'TypeNetworkType', 'TypeLanguage', 'TypeScreenSize', 'TypeLocation', 'TypeGeoFencing', 'TypeAnnouncementFeedback', 'TypePollFeedback', 'TypePollAnswerFeedback', 'TypeDatapushFeedback', 'TypeSegment', 'TypeStringTag', 'TypeDateTag', 'TypeIntegerTag', 'TypeBooleanTag' - Type Type `json:"type,omitempty"` -} - -// MarshalJSON is the custom marshaler for DeviceManufacturerCriterion. -func (dmc DeviceManufacturerCriterion) MarshalJSON() ([]byte, error) { - dmc.Type = TypeDeviceManufacturer - objectMap := make(map[string]interface{}) - if dmc.Name != nil { - objectMap["name"] = dmc.Name - } - if dmc.Type != "" { - objectMap["type"] = dmc.Type - } - return json.Marshal(objectMap) -} - -// AsCarrierNameCriterion is the BasicCriterion implementation for DeviceManufacturerCriterion. -func (dmc DeviceManufacturerCriterion) AsCarrierNameCriterion() (*CarrierNameCriterion, bool) { - return nil, false -} - -// AsCarrierCountryCriterion is the BasicCriterion implementation for DeviceManufacturerCriterion. -func (dmc DeviceManufacturerCriterion) AsCarrierCountryCriterion() (*CarrierCountryCriterion, bool) { - return nil, false -} - -// AsFirmwareVersionCriterion is the BasicCriterion implementation for DeviceManufacturerCriterion. -func (dmc DeviceManufacturerCriterion) AsFirmwareVersionCriterion() (*FirmwareVersionCriterion, bool) { - return nil, false -} - -// AsDeviceManufacturerCriterion is the BasicCriterion implementation for DeviceManufacturerCriterion. -func (dmc DeviceManufacturerCriterion) AsDeviceManufacturerCriterion() (*DeviceManufacturerCriterion, bool) { - return &dmc, true -} - -// AsDeviceModelCriterion is the BasicCriterion implementation for DeviceManufacturerCriterion. -func (dmc DeviceManufacturerCriterion) AsDeviceModelCriterion() (*DeviceModelCriterion, bool) { - return nil, false -} - -// AsApplicationVersionCriterion is the BasicCriterion implementation for DeviceManufacturerCriterion. -func (dmc DeviceManufacturerCriterion) AsApplicationVersionCriterion() (*ApplicationVersionCriterion, bool) { - return nil, false -} - -// AsNetworkTypeCriterion is the BasicCriterion implementation for DeviceManufacturerCriterion. -func (dmc DeviceManufacturerCriterion) AsNetworkTypeCriterion() (*NetworkTypeCriterion, bool) { - return nil, false -} - -// AsLanguageCriterion is the BasicCriterion implementation for DeviceManufacturerCriterion. -func (dmc DeviceManufacturerCriterion) AsLanguageCriterion() (*LanguageCriterion, bool) { - return nil, false -} - -// AsScreenSizeCriterion is the BasicCriterion implementation for DeviceManufacturerCriterion. -func (dmc DeviceManufacturerCriterion) AsScreenSizeCriterion() (*ScreenSizeCriterion, bool) { - return nil, false -} - -// AsLocationCriterion is the BasicCriterion implementation for DeviceManufacturerCriterion. -func (dmc DeviceManufacturerCriterion) AsLocationCriterion() (*LocationCriterion, bool) { - return nil, false -} - -// AsGeoFencingCriterion is the BasicCriterion implementation for DeviceManufacturerCriterion. -func (dmc DeviceManufacturerCriterion) AsGeoFencingCriterion() (*GeoFencingCriterion, bool) { - return nil, false -} - -// AsAnnouncementFeedbackCriterion is the BasicCriterion implementation for DeviceManufacturerCriterion. -func (dmc DeviceManufacturerCriterion) AsAnnouncementFeedbackCriterion() (*AnnouncementFeedbackCriterion, bool) { - return nil, false -} - -// AsPollFeedbackCriterion is the BasicCriterion implementation for DeviceManufacturerCriterion. -func (dmc DeviceManufacturerCriterion) AsPollFeedbackCriterion() (*PollFeedbackCriterion, bool) { - return nil, false -} - -// AsPollAnswerFeedbackCriterion is the BasicCriterion implementation for DeviceManufacturerCriterion. -func (dmc DeviceManufacturerCriterion) AsPollAnswerFeedbackCriterion() (*PollAnswerFeedbackCriterion, bool) { - return nil, false -} - -// AsDatapushFeedbackCriterion is the BasicCriterion implementation for DeviceManufacturerCriterion. -func (dmc DeviceManufacturerCriterion) AsDatapushFeedbackCriterion() (*DatapushFeedbackCriterion, bool) { - return nil, false -} - -// AsSegmentCriterion is the BasicCriterion implementation for DeviceManufacturerCriterion. -func (dmc DeviceManufacturerCriterion) AsSegmentCriterion() (*SegmentCriterion, bool) { - return nil, false -} - -// AsStringTagCriterion is the BasicCriterion implementation for DeviceManufacturerCriterion. -func (dmc DeviceManufacturerCriterion) AsStringTagCriterion() (*StringTagCriterion, bool) { - return nil, false -} - -// AsDateTagCriterion is the BasicCriterion implementation for DeviceManufacturerCriterion. -func (dmc DeviceManufacturerCriterion) AsDateTagCriterion() (*DateTagCriterion, bool) { - return nil, false -} - -// AsIntegerTagCriterion is the BasicCriterion implementation for DeviceManufacturerCriterion. -func (dmc DeviceManufacturerCriterion) AsIntegerTagCriterion() (*IntegerTagCriterion, bool) { - return nil, false -} - -// AsBooleanTagCriterion is the BasicCriterion implementation for DeviceManufacturerCriterion. -func (dmc DeviceManufacturerCriterion) AsBooleanTagCriterion() (*BooleanTagCriterion, bool) { - return nil, false -} - -// AsCriterion is the BasicCriterion implementation for DeviceManufacturerCriterion. -func (dmc DeviceManufacturerCriterion) AsCriterion() (*Criterion, bool) { - return nil, false -} - -// AsBasicCriterion is the BasicCriterion implementation for DeviceManufacturerCriterion. -func (dmc DeviceManufacturerCriterion) AsBasicCriterion() (BasicCriterion, bool) { - return &dmc, true -} - -// DeviceMeta ... -type DeviceMeta struct { - // FirstSeen - First time the device used the application in milliseconds since January 1st, 1970 UTC. - FirstSeen *int64 `json:"firstSeen,omitempty"` - // LastSeen - Last time the device used the application in milliseconds since January 1st, 1970 UTC. - LastSeen *int64 `json:"lastSeen,omitempty"` - // LastInfo - Timestamp corresponding to the info object in milliseconds since January 1st, 1970 UTC. - LastInfo *int64 `json:"lastInfo,omitempty"` - // LastLocation - Timestamp corresponding to the location object in milliseconds since January 1st, 1970 UTC. - LastLocation *int64 `json:"lastLocation,omitempty"` - // NativePushEnabled - Boolean indicating if native push notifications (like Android’s GCM or Apple’s APNS) are enabled for the application. This boolean is set to true when the application registers successfully to the native push service, and set to false when the native push service reports to Mobile Engagement that the application can no longer be pushed (which means that it has been uninstalled). This report is performed a few hours after Mobile Engagement has tried to perform a native push to a device on which the application has been uninstalled. - NativePushEnabled *bool `json:"nativePushEnabled,omitempty"` -} - -// DeviceModelCriterion used to target devices based on the device model. -type DeviceModelCriterion struct { - // Name - The device model. - Name *string `json:"name,omitempty"` - // Type - Possible values include: 'TypeCriterion', 'TypeCarrierName', 'TypeCarrierCountry', 'TypeFirmwareVersion', 'TypeDeviceManufacturer', 'TypeDeviceModel', 'TypeApplicationVersion', 'TypeNetworkType', 'TypeLanguage', 'TypeScreenSize', 'TypeLocation', 'TypeGeoFencing', 'TypeAnnouncementFeedback', 'TypePollFeedback', 'TypePollAnswerFeedback', 'TypeDatapushFeedback', 'TypeSegment', 'TypeStringTag', 'TypeDateTag', 'TypeIntegerTag', 'TypeBooleanTag' - Type Type `json:"type,omitempty"` -} - -// MarshalJSON is the custom marshaler for DeviceModelCriterion. -func (dmc DeviceModelCriterion) MarshalJSON() ([]byte, error) { - dmc.Type = TypeDeviceModel - objectMap := make(map[string]interface{}) - if dmc.Name != nil { - objectMap["name"] = dmc.Name - } - if dmc.Type != "" { - objectMap["type"] = dmc.Type - } - return json.Marshal(objectMap) -} - -// AsCarrierNameCriterion is the BasicCriterion implementation for DeviceModelCriterion. -func (dmc DeviceModelCriterion) AsCarrierNameCriterion() (*CarrierNameCriterion, bool) { - return nil, false -} - -// AsCarrierCountryCriterion is the BasicCriterion implementation for DeviceModelCriterion. -func (dmc DeviceModelCriterion) AsCarrierCountryCriterion() (*CarrierCountryCriterion, bool) { - return nil, false -} - -// AsFirmwareVersionCriterion is the BasicCriterion implementation for DeviceModelCriterion. -func (dmc DeviceModelCriterion) AsFirmwareVersionCriterion() (*FirmwareVersionCriterion, bool) { - return nil, false -} - -// AsDeviceManufacturerCriterion is the BasicCriterion implementation for DeviceModelCriterion. -func (dmc DeviceModelCriterion) AsDeviceManufacturerCriterion() (*DeviceManufacturerCriterion, bool) { - return nil, false -} - -// AsDeviceModelCriterion is the BasicCriterion implementation for DeviceModelCriterion. -func (dmc DeviceModelCriterion) AsDeviceModelCriterion() (*DeviceModelCriterion, bool) { - return &dmc, true -} - -// AsApplicationVersionCriterion is the BasicCriterion implementation for DeviceModelCriterion. -func (dmc DeviceModelCriterion) AsApplicationVersionCriterion() (*ApplicationVersionCriterion, bool) { - return nil, false -} - -// AsNetworkTypeCriterion is the BasicCriterion implementation for DeviceModelCriterion. -func (dmc DeviceModelCriterion) AsNetworkTypeCriterion() (*NetworkTypeCriterion, bool) { - return nil, false -} - -// AsLanguageCriterion is the BasicCriterion implementation for DeviceModelCriterion. -func (dmc DeviceModelCriterion) AsLanguageCriterion() (*LanguageCriterion, bool) { - return nil, false -} - -// AsScreenSizeCriterion is the BasicCriterion implementation for DeviceModelCriterion. -func (dmc DeviceModelCriterion) AsScreenSizeCriterion() (*ScreenSizeCriterion, bool) { - return nil, false -} - -// AsLocationCriterion is the BasicCriterion implementation for DeviceModelCriterion. -func (dmc DeviceModelCriterion) AsLocationCriterion() (*LocationCriterion, bool) { - return nil, false -} - -// AsGeoFencingCriterion is the BasicCriterion implementation for DeviceModelCriterion. -func (dmc DeviceModelCriterion) AsGeoFencingCriterion() (*GeoFencingCriterion, bool) { - return nil, false -} - -// AsAnnouncementFeedbackCriterion is the BasicCriterion implementation for DeviceModelCriterion. -func (dmc DeviceModelCriterion) AsAnnouncementFeedbackCriterion() (*AnnouncementFeedbackCriterion, bool) { - return nil, false -} - -// AsPollFeedbackCriterion is the BasicCriterion implementation for DeviceModelCriterion. -func (dmc DeviceModelCriterion) AsPollFeedbackCriterion() (*PollFeedbackCriterion, bool) { - return nil, false -} - -// AsPollAnswerFeedbackCriterion is the BasicCriterion implementation for DeviceModelCriterion. -func (dmc DeviceModelCriterion) AsPollAnswerFeedbackCriterion() (*PollAnswerFeedbackCriterion, bool) { - return nil, false -} - -// AsDatapushFeedbackCriterion is the BasicCriterion implementation for DeviceModelCriterion. -func (dmc DeviceModelCriterion) AsDatapushFeedbackCriterion() (*DatapushFeedbackCriterion, bool) { - return nil, false -} - -// AsSegmentCriterion is the BasicCriterion implementation for DeviceModelCriterion. -func (dmc DeviceModelCriterion) AsSegmentCriterion() (*SegmentCriterion, bool) { - return nil, false -} - -// AsStringTagCriterion is the BasicCriterion implementation for DeviceModelCriterion. -func (dmc DeviceModelCriterion) AsStringTagCriterion() (*StringTagCriterion, bool) { - return nil, false -} - -// AsDateTagCriterion is the BasicCriterion implementation for DeviceModelCriterion. -func (dmc DeviceModelCriterion) AsDateTagCriterion() (*DateTagCriterion, bool) { - return nil, false -} - -// AsIntegerTagCriterion is the BasicCriterion implementation for DeviceModelCriterion. -func (dmc DeviceModelCriterion) AsIntegerTagCriterion() (*IntegerTagCriterion, bool) { - return nil, false -} - -// AsBooleanTagCriterion is the BasicCriterion implementation for DeviceModelCriterion. -func (dmc DeviceModelCriterion) AsBooleanTagCriterion() (*BooleanTagCriterion, bool) { - return nil, false -} - -// AsCriterion is the BasicCriterion implementation for DeviceModelCriterion. -func (dmc DeviceModelCriterion) AsCriterion() (*Criterion, bool) { - return nil, false -} - -// AsBasicCriterion is the BasicCriterion implementation for DeviceModelCriterion. -func (dmc DeviceModelCriterion) AsBasicCriterion() (BasicCriterion, bool) { - return &dmc, true -} - -// DeviceQueryResult ... -type DeviceQueryResult struct { - // DeviceID - The device result. - DeviceID *string `json:"deviceId,omitempty"` - // Meta - Application usage data. - Meta *DeviceMeta `json:"meta,omitempty"` - // AppInfo - Also known as tags, a key-value set as a JSON object. - AppInfo map[string]*string `json:"appInfo"` -} - -// MarshalJSON is the custom marshaler for DeviceQueryResult. -func (dqr DeviceQueryResult) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - if dqr.DeviceID != nil { - objectMap["deviceId"] = dqr.DeviceID - } - if dqr.Meta != nil { - objectMap["meta"] = dqr.Meta - } - if dqr.AppInfo != nil { - objectMap["appInfo"] = dqr.AppInfo - } - return json.Marshal(objectMap) -} - -// DevicesQueryResult the campaigns list result. -type DevicesQueryResult struct { - autorest.Response `json:"-"` - // Value - The list of devices. - Value *[]DeviceQueryResult `json:"value,omitempty"` - // NextLink - If partial results are returned, this property describes a URI path to get the next result page. - NextLink *string `json:"nextLink,omitempty"` -} - -// DevicesQueryResultIterator provides access to a complete listing of DeviceQueryResult values. -type DevicesQueryResultIterator struct { - i int - page DevicesQueryResultPage -} - -// Next advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -func (iter *DevicesQueryResultIterator) Next() error { - iter.i++ - if iter.i < len(iter.page.Values()) { - return nil - } - err := iter.page.Next() - if err != nil { - iter.i-- - return err - } - iter.i = 0 - return nil -} - -// NotDone returns true if the enumeration should be started or is not yet complete. -func (iter DevicesQueryResultIterator) NotDone() bool { - return iter.page.NotDone() && iter.i < len(iter.page.Values()) -} - -// Response returns the raw server response from the last page request. -func (iter DevicesQueryResultIterator) Response() DevicesQueryResult { - return iter.page.Response() -} - -// Value returns the current value or a zero-initialized value if the -// iterator has advanced beyond the end of the collection. -func (iter DevicesQueryResultIterator) Value() DeviceQueryResult { - if !iter.page.NotDone() { - return DeviceQueryResult{} - } - return iter.page.Values()[iter.i] -} - -// IsEmpty returns true if the ListResult contains no values. -func (dqr DevicesQueryResult) IsEmpty() bool { - return dqr.Value == nil || len(*dqr.Value) == 0 -} - -// devicesQueryResultPreparer prepares a request to retrieve the next set of results. -// It returns nil if no more results exist. -func (dqr DevicesQueryResult) devicesQueryResultPreparer() (*http.Request, error) { - if dqr.NextLink == nil || len(to.String(dqr.NextLink)) < 1 { - return nil, nil - } - return autorest.Prepare(&http.Request{}, - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(dqr.NextLink))) -} - -// DevicesQueryResultPage contains a page of DeviceQueryResult values. -type DevicesQueryResultPage struct { - fn func(DevicesQueryResult) (DevicesQueryResult, error) - dqr DevicesQueryResult -} - -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -func (page *DevicesQueryResultPage) Next() error { - next, err := page.fn(page.dqr) - if err != nil { - return err - } - page.dqr = next - return nil -} - -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page DevicesQueryResultPage) NotDone() bool { - return !page.dqr.IsEmpty() -} - -// Response returns the raw server response from the last page request. -func (page DevicesQueryResultPage) Response() DevicesQueryResult { - return page.dqr -} - -// Values returns the slice of values for the current page or nil if there are no values. -func (page DevicesQueryResultPage) Values() []DeviceQueryResult { - if page.dqr.IsEmpty() { - return nil - } - return *page.dqr.Value -} - -// DeviceTagsParameters ... -type DeviceTagsParameters struct { - // Tags - A JSON object describing the set of tags to record for a set of users. Each key is a device/user identifier, each value is itself a key/value set: the tags to set for the specified device/user identifier. - Tags map[string]map[string]*string `json:"tags"` - // DeleteOnNull - If this parameter is `true`, tags with a null value will be deleted. - DeleteOnNull *bool `json:"deleteOnNull,omitempty"` -} - -// MarshalJSON is the custom marshaler for DeviceTagsParameters. -func (dtp DeviceTagsParameters) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - if dtp.Tags != nil { - objectMap["tags"] = dtp.Tags - } - if dtp.DeleteOnNull != nil { - objectMap["deleteOnNull"] = dtp.DeleteOnNull - } - return json.Marshal(objectMap) -} - -// DeviceTagsResult ... -type DeviceTagsResult struct { - autorest.Response `json:"-"` - // InvalidIds - A JSON array containing all identifiers that have been rejected. Please note that if the request parameters are valid but all the specified devices are rejected, the status code is still `200` with a response including all the devices as being rejected. - InvalidIds *[]string `json:"invalidIds,omitempty"` -} - -// EngageActiveUsersFilter send only to users who have used the app in the last {threshold} days. -type EngageActiveUsersFilter struct { - // Threshold - An integer value representing the threshold to apply on this filter. - Threshold *int32 `json:"threshold,omitempty"` - // Type - Possible values include: 'TypeFilter', 'TypeEngageSubset', 'TypeEngageOldUsers', 'TypeEngageNewUsers', 'TypeEngageActiveUsers', 'TypeEngageIdleUsers', 'TypeNativePushEnabled', 'TypePushQuota', 'TypeAppInfo' - Type TypeBasicFilter `json:"type,omitempty"` -} - -// MarshalJSON is the custom marshaler for EngageActiveUsersFilter. -func (eauf EngageActiveUsersFilter) MarshalJSON() ([]byte, error) { - eauf.Type = TypeEngageActiveUsers - objectMap := make(map[string]interface{}) - if eauf.Threshold != nil { - objectMap["threshold"] = eauf.Threshold - } - if eauf.Type != "" { - objectMap["type"] = eauf.Type - } - return json.Marshal(objectMap) -} - -// AsEngageSubsetFilter is the BasicFilter implementation for EngageActiveUsersFilter. -func (eauf EngageActiveUsersFilter) AsEngageSubsetFilter() (*EngageSubsetFilter, bool) { - return nil, false -} - -// AsEngageOldUsersFilter is the BasicFilter implementation for EngageActiveUsersFilter. -func (eauf EngageActiveUsersFilter) AsEngageOldUsersFilter() (*EngageOldUsersFilter, bool) { - return nil, false -} - -// AsEngageNewUsersFilter is the BasicFilter implementation for EngageActiveUsersFilter. -func (eauf EngageActiveUsersFilter) AsEngageNewUsersFilter() (*EngageNewUsersFilter, bool) { - return nil, false -} - -// AsEngageActiveUsersFilter is the BasicFilter implementation for EngageActiveUsersFilter. -func (eauf EngageActiveUsersFilter) AsEngageActiveUsersFilter() (*EngageActiveUsersFilter, bool) { - return &eauf, true -} - -// AsEngageIdleUsersFilter is the BasicFilter implementation for EngageActiveUsersFilter. -func (eauf EngageActiveUsersFilter) AsEngageIdleUsersFilter() (*EngageIdleUsersFilter, bool) { - return nil, false -} - -// AsNativePushEnabledFilter is the BasicFilter implementation for EngageActiveUsersFilter. -func (eauf EngageActiveUsersFilter) AsNativePushEnabledFilter() (*NativePushEnabledFilter, bool) { - return nil, false -} - -// AsPushQuotaFilter is the BasicFilter implementation for EngageActiveUsersFilter. -func (eauf EngageActiveUsersFilter) AsPushQuotaFilter() (*PushQuotaFilter, bool) { - return nil, false -} - -// AsAppInfoFilter is the BasicFilter implementation for EngageActiveUsersFilter. -func (eauf EngageActiveUsersFilter) AsAppInfoFilter() (*AppInfoFilter, bool) { - return nil, false -} - -// AsFilter is the BasicFilter implementation for EngageActiveUsersFilter. -func (eauf EngageActiveUsersFilter) AsFilter() (*Filter, bool) { - return nil, false -} - -// AsBasicFilter is the BasicFilter implementation for EngageActiveUsersFilter. -func (eauf EngageActiveUsersFilter) AsBasicFilter() (BasicFilter, bool) { - return &eauf, true -} - -// EngageIdleUsersFilter send only to users who haven't used the app in the last {threshold} days. -type EngageIdleUsersFilter struct { - // Threshold - An integer value representing the threshold to apply on this filter. - Threshold *int32 `json:"threshold,omitempty"` - // Type - Possible values include: 'TypeFilter', 'TypeEngageSubset', 'TypeEngageOldUsers', 'TypeEngageNewUsers', 'TypeEngageActiveUsers', 'TypeEngageIdleUsers', 'TypeNativePushEnabled', 'TypePushQuota', 'TypeAppInfo' - Type TypeBasicFilter `json:"type,omitempty"` -} - -// MarshalJSON is the custom marshaler for EngageIdleUsersFilter. -func (eiuf EngageIdleUsersFilter) MarshalJSON() ([]byte, error) { - eiuf.Type = TypeEngageIdleUsers - objectMap := make(map[string]interface{}) - if eiuf.Threshold != nil { - objectMap["threshold"] = eiuf.Threshold - } - if eiuf.Type != "" { - objectMap["type"] = eiuf.Type - } - return json.Marshal(objectMap) -} - -// AsEngageSubsetFilter is the BasicFilter implementation for EngageIdleUsersFilter. -func (eiuf EngageIdleUsersFilter) AsEngageSubsetFilter() (*EngageSubsetFilter, bool) { - return nil, false -} - -// AsEngageOldUsersFilter is the BasicFilter implementation for EngageIdleUsersFilter. -func (eiuf EngageIdleUsersFilter) AsEngageOldUsersFilter() (*EngageOldUsersFilter, bool) { - return nil, false -} - -// AsEngageNewUsersFilter is the BasicFilter implementation for EngageIdleUsersFilter. -func (eiuf EngageIdleUsersFilter) AsEngageNewUsersFilter() (*EngageNewUsersFilter, bool) { - return nil, false -} - -// AsEngageActiveUsersFilter is the BasicFilter implementation for EngageIdleUsersFilter. -func (eiuf EngageIdleUsersFilter) AsEngageActiveUsersFilter() (*EngageActiveUsersFilter, bool) { - return nil, false -} - -// AsEngageIdleUsersFilter is the BasicFilter implementation for EngageIdleUsersFilter. -func (eiuf EngageIdleUsersFilter) AsEngageIdleUsersFilter() (*EngageIdleUsersFilter, bool) { - return &eiuf, true -} - -// AsNativePushEnabledFilter is the BasicFilter implementation for EngageIdleUsersFilter. -func (eiuf EngageIdleUsersFilter) AsNativePushEnabledFilter() (*NativePushEnabledFilter, bool) { - return nil, false -} - -// AsPushQuotaFilter is the BasicFilter implementation for EngageIdleUsersFilter. -func (eiuf EngageIdleUsersFilter) AsPushQuotaFilter() (*PushQuotaFilter, bool) { - return nil, false -} - -// AsAppInfoFilter is the BasicFilter implementation for EngageIdleUsersFilter. -func (eiuf EngageIdleUsersFilter) AsAppInfoFilter() (*AppInfoFilter, bool) { - return nil, false -} - -// AsFilter is the BasicFilter implementation for EngageIdleUsersFilter. -func (eiuf EngageIdleUsersFilter) AsFilter() (*Filter, bool) { - return nil, false -} - -// AsBasicFilter is the BasicFilter implementation for EngageIdleUsersFilter. -func (eiuf EngageIdleUsersFilter) AsBasicFilter() (BasicFilter, bool) { - return &eiuf, true -} - -// EngageNewUsersFilter send only to users whose first app use is less than {threshold} days old. -type EngageNewUsersFilter struct { - // Threshold - An integer value representing the threshold to apply on this filter. - Threshold *int32 `json:"threshold,omitempty"` - // Type - Possible values include: 'TypeFilter', 'TypeEngageSubset', 'TypeEngageOldUsers', 'TypeEngageNewUsers', 'TypeEngageActiveUsers', 'TypeEngageIdleUsers', 'TypeNativePushEnabled', 'TypePushQuota', 'TypeAppInfo' - Type TypeBasicFilter `json:"type,omitempty"` -} - -// MarshalJSON is the custom marshaler for EngageNewUsersFilter. -func (enuf EngageNewUsersFilter) MarshalJSON() ([]byte, error) { - enuf.Type = TypeEngageNewUsers - objectMap := make(map[string]interface{}) - if enuf.Threshold != nil { - objectMap["threshold"] = enuf.Threshold - } - if enuf.Type != "" { - objectMap["type"] = enuf.Type - } - return json.Marshal(objectMap) -} - -// AsEngageSubsetFilter is the BasicFilter implementation for EngageNewUsersFilter. -func (enuf EngageNewUsersFilter) AsEngageSubsetFilter() (*EngageSubsetFilter, bool) { - return nil, false -} - -// AsEngageOldUsersFilter is the BasicFilter implementation for EngageNewUsersFilter. -func (enuf EngageNewUsersFilter) AsEngageOldUsersFilter() (*EngageOldUsersFilter, bool) { - return nil, false -} - -// AsEngageNewUsersFilter is the BasicFilter implementation for EngageNewUsersFilter. -func (enuf EngageNewUsersFilter) AsEngageNewUsersFilter() (*EngageNewUsersFilter, bool) { - return &enuf, true -} - -// AsEngageActiveUsersFilter is the BasicFilter implementation for EngageNewUsersFilter. -func (enuf EngageNewUsersFilter) AsEngageActiveUsersFilter() (*EngageActiveUsersFilter, bool) { - return nil, false -} - -// AsEngageIdleUsersFilter is the BasicFilter implementation for EngageNewUsersFilter. -func (enuf EngageNewUsersFilter) AsEngageIdleUsersFilter() (*EngageIdleUsersFilter, bool) { - return nil, false -} - -// AsNativePushEnabledFilter is the BasicFilter implementation for EngageNewUsersFilter. -func (enuf EngageNewUsersFilter) AsNativePushEnabledFilter() (*NativePushEnabledFilter, bool) { - return nil, false -} - -// AsPushQuotaFilter is the BasicFilter implementation for EngageNewUsersFilter. -func (enuf EngageNewUsersFilter) AsPushQuotaFilter() (*PushQuotaFilter, bool) { - return nil, false -} - -// AsAppInfoFilter is the BasicFilter implementation for EngageNewUsersFilter. -func (enuf EngageNewUsersFilter) AsAppInfoFilter() (*AppInfoFilter, bool) { - return nil, false -} - -// AsFilter is the BasicFilter implementation for EngageNewUsersFilter. -func (enuf EngageNewUsersFilter) AsFilter() (*Filter, bool) { - return nil, false -} - -// AsBasicFilter is the BasicFilter implementation for EngageNewUsersFilter. -func (enuf EngageNewUsersFilter) AsBasicFilter() (BasicFilter, bool) { - return &enuf, true -} - -// EngageOldUsersFilter send only to users whose first app use is more than {threshold} days old. -type EngageOldUsersFilter struct { - // Threshold - An integer value representing the threshold to apply on this filter. - Threshold *int32 `json:"threshold,omitempty"` - // Type - Possible values include: 'TypeFilter', 'TypeEngageSubset', 'TypeEngageOldUsers', 'TypeEngageNewUsers', 'TypeEngageActiveUsers', 'TypeEngageIdleUsers', 'TypeNativePushEnabled', 'TypePushQuota', 'TypeAppInfo' - Type TypeBasicFilter `json:"type,omitempty"` -} - -// MarshalJSON is the custom marshaler for EngageOldUsersFilter. -func (eouf EngageOldUsersFilter) MarshalJSON() ([]byte, error) { - eouf.Type = TypeEngageOldUsers - objectMap := make(map[string]interface{}) - if eouf.Threshold != nil { - objectMap["threshold"] = eouf.Threshold - } - if eouf.Type != "" { - objectMap["type"] = eouf.Type - } - return json.Marshal(objectMap) -} - -// AsEngageSubsetFilter is the BasicFilter implementation for EngageOldUsersFilter. -func (eouf EngageOldUsersFilter) AsEngageSubsetFilter() (*EngageSubsetFilter, bool) { - return nil, false -} - -// AsEngageOldUsersFilter is the BasicFilter implementation for EngageOldUsersFilter. -func (eouf EngageOldUsersFilter) AsEngageOldUsersFilter() (*EngageOldUsersFilter, bool) { - return &eouf, true -} - -// AsEngageNewUsersFilter is the BasicFilter implementation for EngageOldUsersFilter. -func (eouf EngageOldUsersFilter) AsEngageNewUsersFilter() (*EngageNewUsersFilter, bool) { - return nil, false -} - -// AsEngageActiveUsersFilter is the BasicFilter implementation for EngageOldUsersFilter. -func (eouf EngageOldUsersFilter) AsEngageActiveUsersFilter() (*EngageActiveUsersFilter, bool) { - return nil, false -} - -// AsEngageIdleUsersFilter is the BasicFilter implementation for EngageOldUsersFilter. -func (eouf EngageOldUsersFilter) AsEngageIdleUsersFilter() (*EngageIdleUsersFilter, bool) { - return nil, false -} - -// AsNativePushEnabledFilter is the BasicFilter implementation for EngageOldUsersFilter. -func (eouf EngageOldUsersFilter) AsNativePushEnabledFilter() (*NativePushEnabledFilter, bool) { - return nil, false -} - -// AsPushQuotaFilter is the BasicFilter implementation for EngageOldUsersFilter. -func (eouf EngageOldUsersFilter) AsPushQuotaFilter() (*PushQuotaFilter, bool) { - return nil, false -} - -// AsAppInfoFilter is the BasicFilter implementation for EngageOldUsersFilter. -func (eouf EngageOldUsersFilter) AsAppInfoFilter() (*AppInfoFilter, bool) { - return nil, false -} - -// AsFilter is the BasicFilter implementation for EngageOldUsersFilter. -func (eouf EngageOldUsersFilter) AsFilter() (*Filter, bool) { - return nil, false -} - -// AsBasicFilter is the BasicFilter implementation for EngageOldUsersFilter. -func (eouf EngageOldUsersFilter) AsBasicFilter() (BasicFilter, bool) { - return &eouf, true -} - -// EngageSubsetFilter send only to a maximum of max users. -type EngageSubsetFilter struct { - // Max - An integer value representing the maximum users that should be pushed. - Max *int32 `json:"max,omitempty"` - // Type - Possible values include: 'TypeFilter', 'TypeEngageSubset', 'TypeEngageOldUsers', 'TypeEngageNewUsers', 'TypeEngageActiveUsers', 'TypeEngageIdleUsers', 'TypeNativePushEnabled', 'TypePushQuota', 'TypeAppInfo' - Type TypeBasicFilter `json:"type,omitempty"` -} - -// MarshalJSON is the custom marshaler for EngageSubsetFilter. -func (esf EngageSubsetFilter) MarshalJSON() ([]byte, error) { - esf.Type = TypeEngageSubset - objectMap := make(map[string]interface{}) - if esf.Max != nil { - objectMap["max"] = esf.Max - } - if esf.Type != "" { - objectMap["type"] = esf.Type - } - return json.Marshal(objectMap) -} - -// AsEngageSubsetFilter is the BasicFilter implementation for EngageSubsetFilter. -func (esf EngageSubsetFilter) AsEngageSubsetFilter() (*EngageSubsetFilter, bool) { - return &esf, true -} - -// AsEngageOldUsersFilter is the BasicFilter implementation for EngageSubsetFilter. -func (esf EngageSubsetFilter) AsEngageOldUsersFilter() (*EngageOldUsersFilter, bool) { - return nil, false -} - -// AsEngageNewUsersFilter is the BasicFilter implementation for EngageSubsetFilter. -func (esf EngageSubsetFilter) AsEngageNewUsersFilter() (*EngageNewUsersFilter, bool) { - return nil, false -} - -// AsEngageActiveUsersFilter is the BasicFilter implementation for EngageSubsetFilter. -func (esf EngageSubsetFilter) AsEngageActiveUsersFilter() (*EngageActiveUsersFilter, bool) { - return nil, false -} - -// AsEngageIdleUsersFilter is the BasicFilter implementation for EngageSubsetFilter. -func (esf EngageSubsetFilter) AsEngageIdleUsersFilter() (*EngageIdleUsersFilter, bool) { - return nil, false -} - -// AsNativePushEnabledFilter is the BasicFilter implementation for EngageSubsetFilter. -func (esf EngageSubsetFilter) AsNativePushEnabledFilter() (*NativePushEnabledFilter, bool) { - return nil, false -} - -// AsPushQuotaFilter is the BasicFilter implementation for EngageSubsetFilter. -func (esf EngageSubsetFilter) AsPushQuotaFilter() (*PushQuotaFilter, bool) { - return nil, false -} - -// AsAppInfoFilter is the BasicFilter implementation for EngageSubsetFilter. -func (esf EngageSubsetFilter) AsAppInfoFilter() (*AppInfoFilter, bool) { - return nil, false -} - -// AsFilter is the BasicFilter implementation for EngageSubsetFilter. -func (esf EngageSubsetFilter) AsFilter() (*Filter, bool) { - return nil, false -} - -// AsBasicFilter is the BasicFilter implementation for EngageSubsetFilter. -func (esf EngageSubsetFilter) AsBasicFilter() (BasicFilter, bool) { - return &esf, true -} - -// ExportOptions options to control export generation. -type ExportOptions struct { - ExportUserID *bool `json:"exportUserId,omitempty"` -} - -// ExportTaskListResult gets a paged list of ExportTasks. -type ExportTaskListResult struct { - autorest.Response `json:"-"` - // Value - The list of export tasks. - Value *[]ExportTaskResult `json:"value,omitempty"` - // NextLink - When the results are paged, the nextLink is the URI for the next page of results. This property is empty when there are no additional pages. - NextLink *string `json:"nextLink,omitempty"` -} - -// ExportTaskListResultIterator provides access to a complete listing of ExportTaskResult values. -type ExportTaskListResultIterator struct { - i int - page ExportTaskListResultPage -} - -// Next advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -func (iter *ExportTaskListResultIterator) Next() error { - iter.i++ - if iter.i < len(iter.page.Values()) { - return nil - } - err := iter.page.Next() - if err != nil { - iter.i-- - return err - } - iter.i = 0 - return nil -} - -// NotDone returns true if the enumeration should be started or is not yet complete. -func (iter ExportTaskListResultIterator) NotDone() bool { - return iter.page.NotDone() && iter.i < len(iter.page.Values()) -} - -// Response returns the raw server response from the last page request. -func (iter ExportTaskListResultIterator) Response() ExportTaskListResult { - return iter.page.Response() -} - -// Value returns the current value or a zero-initialized value if the -// iterator has advanced beyond the end of the collection. -func (iter ExportTaskListResultIterator) Value() ExportTaskResult { - if !iter.page.NotDone() { - return ExportTaskResult{} - } - return iter.page.Values()[iter.i] -} - -// IsEmpty returns true if the ListResult contains no values. -func (etlr ExportTaskListResult) IsEmpty() bool { - return etlr.Value == nil || len(*etlr.Value) == 0 -} - -// exportTaskListResultPreparer prepares a request to retrieve the next set of results. -// It returns nil if no more results exist. -func (etlr ExportTaskListResult) exportTaskListResultPreparer() (*http.Request, error) { - if etlr.NextLink == nil || len(to.String(etlr.NextLink)) < 1 { - return nil, nil - } - return autorest.Prepare(&http.Request{}, - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(etlr.NextLink))) -} - -// ExportTaskListResultPage contains a page of ExportTaskResult values. -type ExportTaskListResultPage struct { - fn func(ExportTaskListResult) (ExportTaskListResult, error) - etlr ExportTaskListResult -} - -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -func (page *ExportTaskListResultPage) Next() error { - next, err := page.fn(page.etlr) - if err != nil { - return err - } - page.etlr = next - return nil -} - -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page ExportTaskListResultPage) NotDone() bool { - return !page.etlr.IsEmpty() -} - -// Response returns the raw server response from the last page request. -func (page ExportTaskListResultPage) Response() ExportTaskListResult { - return page.etlr -} - -// Values returns the slice of values for the current page or nil if there are no values. -func (page ExportTaskListResultPage) Values() []ExportTaskResult { - if page.etlr.IsEmpty() { - return nil - } - return *page.etlr.Value -} - -// ExportTaskParameter ... -type ExportTaskParameter struct { - ContainerURL *string `json:"containerUrl,omitempty"` - // Description - A description of the export task. - Description *string `json:"description,omitempty"` - // ExportFormat - The format of the exported data. Possible values include: 'JSONBlob', 'CsvBlob' - ExportFormat ExportFormat `json:"exportFormat,omitempty"` -} - -// ExportTaskResult ... -type ExportTaskResult struct { - autorest.Response `json:"-"` - // ID - Unique identifier of the export task. - ID *string `json:"id,omitempty"` - // Description - A description of the export task. - Description *string `json:"description,omitempty"` - // State - Possible values include: 'ExportStateQueued', 'ExportStateStarted', 'ExportStateSucceeded', 'ExportStateFailed' - State ExportState `json:"state,omitempty"` - // DateCreated - The RFC3339 date-time the export task was created. - DateCreated *date.Time `json:"dateCreated,omitempty"` - // DateCompleted - The RFC3339 date-time the export task was completed. - DateCompleted *date.Time `json:"dateCompleted,omitempty"` - // ExportType - Possible values include: 'ExportTypeActivity', 'ExportTypeTag', 'ExportTypeCrash', 'ExportTypeError', 'ExportTypeEvent', 'ExportTypeJob', 'ExportTypeSession', 'ExportTypeToken', 'ExportTypePush' - ExportType ExportType `json:"exportType,omitempty"` - // ErrorDetails - Details of errors encountered during the export, if any. - ErrorDetails *string `json:"errorDetails,omitempty"` -} - -// FeedbackByCampaignParameter ... -type FeedbackByCampaignParameter struct { - ContainerURL *string `json:"containerUrl,omitempty"` - // Description - A description of the export task. - Description *string `json:"description,omitempty"` - // CampaignType - Possible values include: 'Announcement', 'DataPush', 'NativePush', 'Poll' - CampaignType CampaignType `json:"campaignType,omitempty"` - // CampaignIds - A list of campaign identifiers. - CampaignIds *[]int32 `json:"campaignIds,omitempty"` - // ExportFormat - The format of the exported data. Possible values include: 'JSONBlob', 'CsvBlob' - ExportFormat ExportFormat `json:"exportFormat,omitempty"` -} - -// FeedbackByDateRangeParameter ... -type FeedbackByDateRangeParameter struct { - ContainerURL *string `json:"containerUrl,omitempty"` - // Description - A description of the export task. - Description *string `json:"description,omitempty"` - // CampaignType - Possible values include: 'Announcement', 'DataPush', 'NativePush', 'Poll' - CampaignType CampaignType `json:"campaignType,omitempty"` - // CampaignWindowStart - The RFC3339 date-time start of the period for inclusion of active campaigns. - CampaignWindowStart *date.Time `json:"campaignWindowStart,omitempty"` - // CampaignWindowEnd - The RFC3339 date-time end of the period for inclusion of active campaigns. - CampaignWindowEnd *date.Time `json:"campaignWindowEnd,omitempty"` - // ExportFormat - The format of the exported data. Possible values include: 'JSONBlob', 'CsvBlob' - ExportFormat ExportFormat `json:"exportFormat,omitempty"` -} - -// BasicFilter ... -type BasicFilter interface { - AsEngageSubsetFilter() (*EngageSubsetFilter, bool) - AsEngageOldUsersFilter() (*EngageOldUsersFilter, bool) - AsEngageNewUsersFilter() (*EngageNewUsersFilter, bool) - AsEngageActiveUsersFilter() (*EngageActiveUsersFilter, bool) - AsEngageIdleUsersFilter() (*EngageIdleUsersFilter, bool) - AsNativePushEnabledFilter() (*NativePushEnabledFilter, bool) - AsPushQuotaFilter() (*PushQuotaFilter, bool) - AsAppInfoFilter() (*AppInfoFilter, bool) - AsFilter() (*Filter, bool) -} - -// Filter ... -type Filter struct { - // Type - Possible values include: 'TypeFilter', 'TypeEngageSubset', 'TypeEngageOldUsers', 'TypeEngageNewUsers', 'TypeEngageActiveUsers', 'TypeEngageIdleUsers', 'TypeNativePushEnabled', 'TypePushQuota', 'TypeAppInfo' - Type TypeBasicFilter `json:"type,omitempty"` -} - -func unmarshalBasicFilter(body []byte) (BasicFilter, error) { - var m map[string]interface{} - err := json.Unmarshal(body, &m) - if err != nil { - return nil, err - } - - switch m["type"] { - case string(TypeEngageSubset): - var esf EngageSubsetFilter - err := json.Unmarshal(body, &esf) - return esf, err - case string(TypeEngageOldUsers): - var eouf EngageOldUsersFilter - err := json.Unmarshal(body, &eouf) - return eouf, err - case string(TypeEngageNewUsers): - var enuf EngageNewUsersFilter - err := json.Unmarshal(body, &enuf) - return enuf, err - case string(TypeEngageActiveUsers): - var eauf EngageActiveUsersFilter - err := json.Unmarshal(body, &eauf) - return eauf, err - case string(TypeEngageIdleUsers): - var eiuf EngageIdleUsersFilter - err := json.Unmarshal(body, &eiuf) - return eiuf, err - case string(TypeNativePushEnabled): - var npef NativePushEnabledFilter - err := json.Unmarshal(body, &npef) - return npef, err - case string(TypePushQuota): - var pqf PushQuotaFilter - err := json.Unmarshal(body, &pqf) - return pqf, err - case string(TypeAppInfo): - var aif AppInfoFilter - err := json.Unmarshal(body, &aif) - return aif, err - default: - var f Filter - err := json.Unmarshal(body, &f) - return f, err - } -} -func unmarshalBasicFilterArray(body []byte) ([]BasicFilter, error) { - var rawMessages []*json.RawMessage - err := json.Unmarshal(body, &rawMessages) - if err != nil { - return nil, err - } - - fArray := make([]BasicFilter, len(rawMessages)) - - for index, rawMessage := range rawMessages { - f, err := unmarshalBasicFilter(*rawMessage) - if err != nil { - return nil, err - } - fArray[index] = f - } - return fArray, nil -} - -// MarshalJSON is the custom marshaler for Filter. -func (f Filter) MarshalJSON() ([]byte, error) { - f.Type = TypeFilter - objectMap := make(map[string]interface{}) - if f.Type != "" { - objectMap["type"] = f.Type - } - return json.Marshal(objectMap) -} - -// AsEngageSubsetFilter is the BasicFilter implementation for Filter. -func (f Filter) AsEngageSubsetFilter() (*EngageSubsetFilter, bool) { - return nil, false -} - -// AsEngageOldUsersFilter is the BasicFilter implementation for Filter. -func (f Filter) AsEngageOldUsersFilter() (*EngageOldUsersFilter, bool) { - return nil, false -} - -// AsEngageNewUsersFilter is the BasicFilter implementation for Filter. -func (f Filter) AsEngageNewUsersFilter() (*EngageNewUsersFilter, bool) { - return nil, false -} - -// AsEngageActiveUsersFilter is the BasicFilter implementation for Filter. -func (f Filter) AsEngageActiveUsersFilter() (*EngageActiveUsersFilter, bool) { - return nil, false -} - -// AsEngageIdleUsersFilter is the BasicFilter implementation for Filter. -func (f Filter) AsEngageIdleUsersFilter() (*EngageIdleUsersFilter, bool) { - return nil, false -} - -// AsNativePushEnabledFilter is the BasicFilter implementation for Filter. -func (f Filter) AsNativePushEnabledFilter() (*NativePushEnabledFilter, bool) { - return nil, false -} - -// AsPushQuotaFilter is the BasicFilter implementation for Filter. -func (f Filter) AsPushQuotaFilter() (*PushQuotaFilter, bool) { - return nil, false -} - -// AsAppInfoFilter is the BasicFilter implementation for Filter. -func (f Filter) AsAppInfoFilter() (*AppInfoFilter, bool) { - return nil, false -} - -// AsFilter is the BasicFilter implementation for Filter. -func (f Filter) AsFilter() (*Filter, bool) { - return &f, true -} - -// AsBasicFilter is the BasicFilter implementation for Filter. -func (f Filter) AsBasicFilter() (BasicFilter, bool) { - return &f, true -} - -// FirmwareVersionCriterion used to target devices based on their firmware version. -type FirmwareVersionCriterion struct { - // Name - Firmware version. - Name *string `json:"name,omitempty"` - // Type - Possible values include: 'TypeCriterion', 'TypeCarrierName', 'TypeCarrierCountry', 'TypeFirmwareVersion', 'TypeDeviceManufacturer', 'TypeDeviceModel', 'TypeApplicationVersion', 'TypeNetworkType', 'TypeLanguage', 'TypeScreenSize', 'TypeLocation', 'TypeGeoFencing', 'TypeAnnouncementFeedback', 'TypePollFeedback', 'TypePollAnswerFeedback', 'TypeDatapushFeedback', 'TypeSegment', 'TypeStringTag', 'TypeDateTag', 'TypeIntegerTag', 'TypeBooleanTag' - Type Type `json:"type,omitempty"` -} - -// MarshalJSON is the custom marshaler for FirmwareVersionCriterion. -func (fvc FirmwareVersionCriterion) MarshalJSON() ([]byte, error) { - fvc.Type = TypeFirmwareVersion - objectMap := make(map[string]interface{}) - if fvc.Name != nil { - objectMap["name"] = fvc.Name - } - if fvc.Type != "" { - objectMap["type"] = fvc.Type - } - return json.Marshal(objectMap) -} - -// AsCarrierNameCriterion is the BasicCriterion implementation for FirmwareVersionCriterion. -func (fvc FirmwareVersionCriterion) AsCarrierNameCriterion() (*CarrierNameCriterion, bool) { - return nil, false -} - -// AsCarrierCountryCriterion is the BasicCriterion implementation for FirmwareVersionCriterion. -func (fvc FirmwareVersionCriterion) AsCarrierCountryCriterion() (*CarrierCountryCriterion, bool) { - return nil, false -} - -// AsFirmwareVersionCriterion is the BasicCriterion implementation for FirmwareVersionCriterion. -func (fvc FirmwareVersionCriterion) AsFirmwareVersionCriterion() (*FirmwareVersionCriterion, bool) { - return &fvc, true -} - -// AsDeviceManufacturerCriterion is the BasicCriterion implementation for FirmwareVersionCriterion. -func (fvc FirmwareVersionCriterion) AsDeviceManufacturerCriterion() (*DeviceManufacturerCriterion, bool) { - return nil, false -} - -// AsDeviceModelCriterion is the BasicCriterion implementation for FirmwareVersionCriterion. -func (fvc FirmwareVersionCriterion) AsDeviceModelCriterion() (*DeviceModelCriterion, bool) { - return nil, false -} - -// AsApplicationVersionCriterion is the BasicCriterion implementation for FirmwareVersionCriterion. -func (fvc FirmwareVersionCriterion) AsApplicationVersionCriterion() (*ApplicationVersionCriterion, bool) { - return nil, false -} - -// AsNetworkTypeCriterion is the BasicCriterion implementation for FirmwareVersionCriterion. -func (fvc FirmwareVersionCriterion) AsNetworkTypeCriterion() (*NetworkTypeCriterion, bool) { - return nil, false -} - -// AsLanguageCriterion is the BasicCriterion implementation for FirmwareVersionCriterion. -func (fvc FirmwareVersionCriterion) AsLanguageCriterion() (*LanguageCriterion, bool) { - return nil, false -} - -// AsScreenSizeCriterion is the BasicCriterion implementation for FirmwareVersionCriterion. -func (fvc FirmwareVersionCriterion) AsScreenSizeCriterion() (*ScreenSizeCriterion, bool) { - return nil, false -} - -// AsLocationCriterion is the BasicCriterion implementation for FirmwareVersionCriterion. -func (fvc FirmwareVersionCriterion) AsLocationCriterion() (*LocationCriterion, bool) { - return nil, false -} - -// AsGeoFencingCriterion is the BasicCriterion implementation for FirmwareVersionCriterion. -func (fvc FirmwareVersionCriterion) AsGeoFencingCriterion() (*GeoFencingCriterion, bool) { - return nil, false -} - -// AsAnnouncementFeedbackCriterion is the BasicCriterion implementation for FirmwareVersionCriterion. -func (fvc FirmwareVersionCriterion) AsAnnouncementFeedbackCriterion() (*AnnouncementFeedbackCriterion, bool) { - return nil, false -} - -// AsPollFeedbackCriterion is the BasicCriterion implementation for FirmwareVersionCriterion. -func (fvc FirmwareVersionCriterion) AsPollFeedbackCriterion() (*PollFeedbackCriterion, bool) { - return nil, false -} - -// AsPollAnswerFeedbackCriterion is the BasicCriterion implementation for FirmwareVersionCriterion. -func (fvc FirmwareVersionCriterion) AsPollAnswerFeedbackCriterion() (*PollAnswerFeedbackCriterion, bool) { - return nil, false -} - -// AsDatapushFeedbackCriterion is the BasicCriterion implementation for FirmwareVersionCriterion. -func (fvc FirmwareVersionCriterion) AsDatapushFeedbackCriterion() (*DatapushFeedbackCriterion, bool) { - return nil, false -} - -// AsSegmentCriterion is the BasicCriterion implementation for FirmwareVersionCriterion. -func (fvc FirmwareVersionCriterion) AsSegmentCriterion() (*SegmentCriterion, bool) { - return nil, false -} - -// AsStringTagCriterion is the BasicCriterion implementation for FirmwareVersionCriterion. -func (fvc FirmwareVersionCriterion) AsStringTagCriterion() (*StringTagCriterion, bool) { - return nil, false -} - -// AsDateTagCriterion is the BasicCriterion implementation for FirmwareVersionCriterion. -func (fvc FirmwareVersionCriterion) AsDateTagCriterion() (*DateTagCriterion, bool) { - return nil, false -} - -// AsIntegerTagCriterion is the BasicCriterion implementation for FirmwareVersionCriterion. -func (fvc FirmwareVersionCriterion) AsIntegerTagCriterion() (*IntegerTagCriterion, bool) { - return nil, false -} - -// AsBooleanTagCriterion is the BasicCriterion implementation for FirmwareVersionCriterion. -func (fvc FirmwareVersionCriterion) AsBooleanTagCriterion() (*BooleanTagCriterion, bool) { - return nil, false -} - -// AsCriterion is the BasicCriterion implementation for FirmwareVersionCriterion. -func (fvc FirmwareVersionCriterion) AsCriterion() (*Criterion, bool) { - return nil, false -} - -// AsBasicCriterion is the BasicCriterion implementation for FirmwareVersionCriterion. -func (fvc FirmwareVersionCriterion) AsBasicCriterion() (BasicCriterion, bool) { - return &fvc, true -} - -// GeoFencingCriterion used to target devices based on a specific region. A center point (defined by a latitude and -// longitude) and a radius form the boundary for the region. This criterion will be met when the user crosses the -// boundaries of the region. -type GeoFencingCriterion struct { - // Lat - The latitude of the central point of the region. - Lat *float64 `json:"lat,omitempty"` - // Lon - The longitude of the central point of the region. - Lon *float64 `json:"lon,omitempty"` - // Radius - The radius of the central point of the region, in meters. - Radius *int32 `json:"radius,omitempty"` - // Expiration - Number of minutes before device location is considered to be expired. - Expiration *int32 `json:"expiration,omitempty"` - // Type - Possible values include: 'TypeCriterion', 'TypeCarrierName', 'TypeCarrierCountry', 'TypeFirmwareVersion', 'TypeDeviceManufacturer', 'TypeDeviceModel', 'TypeApplicationVersion', 'TypeNetworkType', 'TypeLanguage', 'TypeScreenSize', 'TypeLocation', 'TypeGeoFencing', 'TypeAnnouncementFeedback', 'TypePollFeedback', 'TypePollAnswerFeedback', 'TypeDatapushFeedback', 'TypeSegment', 'TypeStringTag', 'TypeDateTag', 'TypeIntegerTag', 'TypeBooleanTag' - Type Type `json:"type,omitempty"` -} - -// MarshalJSON is the custom marshaler for GeoFencingCriterion. -func (gfc GeoFencingCriterion) MarshalJSON() ([]byte, error) { - gfc.Type = TypeGeoFencing - objectMap := make(map[string]interface{}) - if gfc.Lat != nil { - objectMap["lat"] = gfc.Lat - } - if gfc.Lon != nil { - objectMap["lon"] = gfc.Lon - } - if gfc.Radius != nil { - objectMap["radius"] = gfc.Radius - } - if gfc.Expiration != nil { - objectMap["expiration"] = gfc.Expiration - } - if gfc.Type != "" { - objectMap["type"] = gfc.Type - } - return json.Marshal(objectMap) -} - -// AsCarrierNameCriterion is the BasicCriterion implementation for GeoFencingCriterion. -func (gfc GeoFencingCriterion) AsCarrierNameCriterion() (*CarrierNameCriterion, bool) { - return nil, false -} - -// AsCarrierCountryCriterion is the BasicCriterion implementation for GeoFencingCriterion. -func (gfc GeoFencingCriterion) AsCarrierCountryCriterion() (*CarrierCountryCriterion, bool) { - return nil, false -} - -// AsFirmwareVersionCriterion is the BasicCriterion implementation for GeoFencingCriterion. -func (gfc GeoFencingCriterion) AsFirmwareVersionCriterion() (*FirmwareVersionCriterion, bool) { - return nil, false -} - -// AsDeviceManufacturerCriterion is the BasicCriterion implementation for GeoFencingCriterion. -func (gfc GeoFencingCriterion) AsDeviceManufacturerCriterion() (*DeviceManufacturerCriterion, bool) { - return nil, false -} - -// AsDeviceModelCriterion is the BasicCriterion implementation for GeoFencingCriterion. -func (gfc GeoFencingCriterion) AsDeviceModelCriterion() (*DeviceModelCriterion, bool) { - return nil, false -} - -// AsApplicationVersionCriterion is the BasicCriterion implementation for GeoFencingCriterion. -func (gfc GeoFencingCriterion) AsApplicationVersionCriterion() (*ApplicationVersionCriterion, bool) { - return nil, false -} - -// AsNetworkTypeCriterion is the BasicCriterion implementation for GeoFencingCriterion. -func (gfc GeoFencingCriterion) AsNetworkTypeCriterion() (*NetworkTypeCriterion, bool) { - return nil, false -} - -// AsLanguageCriterion is the BasicCriterion implementation for GeoFencingCriterion. -func (gfc GeoFencingCriterion) AsLanguageCriterion() (*LanguageCriterion, bool) { - return nil, false -} - -// AsScreenSizeCriterion is the BasicCriterion implementation for GeoFencingCriterion. -func (gfc GeoFencingCriterion) AsScreenSizeCriterion() (*ScreenSizeCriterion, bool) { - return nil, false -} - -// AsLocationCriterion is the BasicCriterion implementation for GeoFencingCriterion. -func (gfc GeoFencingCriterion) AsLocationCriterion() (*LocationCriterion, bool) { - return nil, false -} - -// AsGeoFencingCriterion is the BasicCriterion implementation for GeoFencingCriterion. -func (gfc GeoFencingCriterion) AsGeoFencingCriterion() (*GeoFencingCriterion, bool) { - return &gfc, true -} - -// AsAnnouncementFeedbackCriterion is the BasicCriterion implementation for GeoFencingCriterion. -func (gfc GeoFencingCriterion) AsAnnouncementFeedbackCriterion() (*AnnouncementFeedbackCriterion, bool) { - return nil, false -} - -// AsPollFeedbackCriterion is the BasicCriterion implementation for GeoFencingCriterion. -func (gfc GeoFencingCriterion) AsPollFeedbackCriterion() (*PollFeedbackCriterion, bool) { - return nil, false -} - -// AsPollAnswerFeedbackCriterion is the BasicCriterion implementation for GeoFencingCriterion. -func (gfc GeoFencingCriterion) AsPollAnswerFeedbackCriterion() (*PollAnswerFeedbackCriterion, bool) { - return nil, false -} - -// AsDatapushFeedbackCriterion is the BasicCriterion implementation for GeoFencingCriterion. -func (gfc GeoFencingCriterion) AsDatapushFeedbackCriterion() (*DatapushFeedbackCriterion, bool) { - return nil, false -} - -// AsSegmentCriterion is the BasicCriterion implementation for GeoFencingCriterion. -func (gfc GeoFencingCriterion) AsSegmentCriterion() (*SegmentCriterion, bool) { - return nil, false -} - -// AsStringTagCriterion is the BasicCriterion implementation for GeoFencingCriterion. -func (gfc GeoFencingCriterion) AsStringTagCriterion() (*StringTagCriterion, bool) { - return nil, false -} - -// AsDateTagCriterion is the BasicCriterion implementation for GeoFencingCriterion. -func (gfc GeoFencingCriterion) AsDateTagCriterion() (*DateTagCriterion, bool) { - return nil, false -} - -// AsIntegerTagCriterion is the BasicCriterion implementation for GeoFencingCriterion. -func (gfc GeoFencingCriterion) AsIntegerTagCriterion() (*IntegerTagCriterion, bool) { - return nil, false -} - -// AsBooleanTagCriterion is the BasicCriterion implementation for GeoFencingCriterion. -func (gfc GeoFencingCriterion) AsBooleanTagCriterion() (*BooleanTagCriterion, bool) { - return nil, false -} - -// AsCriterion is the BasicCriterion implementation for GeoFencingCriterion. -func (gfc GeoFencingCriterion) AsCriterion() (*Criterion, bool) { - return nil, false -} - -// AsBasicCriterion is the BasicCriterion implementation for GeoFencingCriterion. -func (gfc GeoFencingCriterion) AsBasicCriterion() (BasicCriterion, bool) { - return &gfc, true -} - -// ImportTask ... -type ImportTask struct { - // StorageURL - A shared Access Signature (SAS) Storage URI where the job results will be retrieved from. - StorageURL *string `json:"storageUrl,omitempty"` -} - -// ImportTaskListResult gets a paged list of import tasks. -type ImportTaskListResult struct { - autorest.Response `json:"-"` - // Value - The list of import task. - Value *[]ImportTaskResult `json:"value,omitempty"` - // NextLink - When the results are paged, the nextLink is the URI for the next page of results. This property is empty when there are no additional pages. - NextLink *string `json:"nextLink,omitempty"` -} - -// ImportTaskListResultIterator provides access to a complete listing of ImportTaskResult values. -type ImportTaskListResultIterator struct { - i int - page ImportTaskListResultPage -} - -// Next advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -func (iter *ImportTaskListResultIterator) Next() error { - iter.i++ - if iter.i < len(iter.page.Values()) { - return nil - } - err := iter.page.Next() - if err != nil { - iter.i-- - return err - } - iter.i = 0 - return nil -} - -// NotDone returns true if the enumeration should be started or is not yet complete. -func (iter ImportTaskListResultIterator) NotDone() bool { - return iter.page.NotDone() && iter.i < len(iter.page.Values()) -} - -// Response returns the raw server response from the last page request. -func (iter ImportTaskListResultIterator) Response() ImportTaskListResult { - return iter.page.Response() -} - -// Value returns the current value or a zero-initialized value if the -// iterator has advanced beyond the end of the collection. -func (iter ImportTaskListResultIterator) Value() ImportTaskResult { - if !iter.page.NotDone() { - return ImportTaskResult{} - } - return iter.page.Values()[iter.i] -} - -// IsEmpty returns true if the ListResult contains no values. -func (itlr ImportTaskListResult) IsEmpty() bool { - return itlr.Value == nil || len(*itlr.Value) == 0 -} - -// importTaskListResultPreparer prepares a request to retrieve the next set of results. -// It returns nil if no more results exist. -func (itlr ImportTaskListResult) importTaskListResultPreparer() (*http.Request, error) { - if itlr.NextLink == nil || len(to.String(itlr.NextLink)) < 1 { - return nil, nil - } - return autorest.Prepare(&http.Request{}, - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(itlr.NextLink))) -} - -// ImportTaskListResultPage contains a page of ImportTaskResult values. -type ImportTaskListResultPage struct { - fn func(ImportTaskListResult) (ImportTaskListResult, error) - itlr ImportTaskListResult -} - -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -func (page *ImportTaskListResultPage) Next() error { - next, err := page.fn(page.itlr) - if err != nil { - return err - } - page.itlr = next - return nil -} - -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page ImportTaskListResultPage) NotDone() bool { - return !page.itlr.IsEmpty() -} - -// Response returns the raw server response from the last page request. -func (page ImportTaskListResultPage) Response() ImportTaskListResult { - return page.itlr -} - -// Values returns the slice of values for the current page or nil if there are no values. -func (page ImportTaskListResultPage) Values() []ImportTaskResult { - if page.itlr.IsEmpty() { - return nil - } - return *page.itlr.Value -} - -// ImportTaskResult ... -type ImportTaskResult struct { - autorest.Response `json:"-"` - // ID - Unique identifier of the import task. - ID *string `json:"id,omitempty"` - // State - The current state of the import task. Possible values include: 'JobStatesQueued', 'JobStatesStarted', 'JobStatesSucceeded', 'JobStatesFailed' - State JobStates `json:"state,omitempty"` - // DateCreated - The date at which the import job was created. - // The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard. - DateCreated *date.Time `json:"dateCreated,omitempty"` - // DateCompleted - The date at which the import job completed (Not present if not yet completed). - // The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard. - DateCompleted *date.Time `json:"dateCompleted,omitempty"` - // ErrorDetails - Details of any errors encountered during the import, if any. - ErrorDetails *string `json:"errorDetails,omitempty"` - // StorageURL - A shared Access Signature (SAS) Storage URI where the job results will be retrieved from. - StorageURL *string `json:"storageUrl,omitempty"` -} - -// IntegerTagCriterion target devices based on an integer tag value. -type IntegerTagCriterion struct { - // Name - The name of the custom tag. - Name *string `json:"name,omitempty"` - // Value - A custom integer value to match. - Value *int32 `json:"value,omitempty"` - // Op - comparison operator: `EQ` (equal to), `LT` (less than), `GT` (greater than), `LE` (less than or equal to) or `GE` (greater than or equal to). Possible values include: 'EQ', 'LT', 'GT', 'LE', 'GE' - Op AudienceOperators `json:"op,omitempty"` - // Type - Possible values include: 'TypeCriterion', 'TypeCarrierName', 'TypeCarrierCountry', 'TypeFirmwareVersion', 'TypeDeviceManufacturer', 'TypeDeviceModel', 'TypeApplicationVersion', 'TypeNetworkType', 'TypeLanguage', 'TypeScreenSize', 'TypeLocation', 'TypeGeoFencing', 'TypeAnnouncementFeedback', 'TypePollFeedback', 'TypePollAnswerFeedback', 'TypeDatapushFeedback', 'TypeSegment', 'TypeStringTag', 'TypeDateTag', 'TypeIntegerTag', 'TypeBooleanTag' - Type Type `json:"type,omitempty"` -} - -// MarshalJSON is the custom marshaler for IntegerTagCriterion. -func (itc IntegerTagCriterion) MarshalJSON() ([]byte, error) { - itc.Type = TypeIntegerTag - objectMap := make(map[string]interface{}) - if itc.Name != nil { - objectMap["name"] = itc.Name - } - if itc.Value != nil { - objectMap["value"] = itc.Value - } - if itc.Op != "" { - objectMap["op"] = itc.Op - } - if itc.Type != "" { - objectMap["type"] = itc.Type - } - return json.Marshal(objectMap) -} - -// AsCarrierNameCriterion is the BasicCriterion implementation for IntegerTagCriterion. -func (itc IntegerTagCriterion) AsCarrierNameCriterion() (*CarrierNameCriterion, bool) { - return nil, false -} - -// AsCarrierCountryCriterion is the BasicCriterion implementation for IntegerTagCriterion. -func (itc IntegerTagCriterion) AsCarrierCountryCriterion() (*CarrierCountryCriterion, bool) { - return nil, false -} - -// AsFirmwareVersionCriterion is the BasicCriterion implementation for IntegerTagCriterion. -func (itc IntegerTagCriterion) AsFirmwareVersionCriterion() (*FirmwareVersionCriterion, bool) { - return nil, false -} - -// AsDeviceManufacturerCriterion is the BasicCriterion implementation for IntegerTagCriterion. -func (itc IntegerTagCriterion) AsDeviceManufacturerCriterion() (*DeviceManufacturerCriterion, bool) { - return nil, false -} - -// AsDeviceModelCriterion is the BasicCriterion implementation for IntegerTagCriterion. -func (itc IntegerTagCriterion) AsDeviceModelCriterion() (*DeviceModelCriterion, bool) { - return nil, false -} - -// AsApplicationVersionCriterion is the BasicCriterion implementation for IntegerTagCriterion. -func (itc IntegerTagCriterion) AsApplicationVersionCriterion() (*ApplicationVersionCriterion, bool) { - return nil, false -} - -// AsNetworkTypeCriterion is the BasicCriterion implementation for IntegerTagCriterion. -func (itc IntegerTagCriterion) AsNetworkTypeCriterion() (*NetworkTypeCriterion, bool) { - return nil, false -} - -// AsLanguageCriterion is the BasicCriterion implementation for IntegerTagCriterion. -func (itc IntegerTagCriterion) AsLanguageCriterion() (*LanguageCriterion, bool) { - return nil, false -} - -// AsScreenSizeCriterion is the BasicCriterion implementation for IntegerTagCriterion. -func (itc IntegerTagCriterion) AsScreenSizeCriterion() (*ScreenSizeCriterion, bool) { - return nil, false -} - -// AsLocationCriterion is the BasicCriterion implementation for IntegerTagCriterion. -func (itc IntegerTagCriterion) AsLocationCriterion() (*LocationCriterion, bool) { - return nil, false -} - -// AsGeoFencingCriterion is the BasicCriterion implementation for IntegerTagCriterion. -func (itc IntegerTagCriterion) AsGeoFencingCriterion() (*GeoFencingCriterion, bool) { - return nil, false -} - -// AsAnnouncementFeedbackCriterion is the BasicCriterion implementation for IntegerTagCriterion. -func (itc IntegerTagCriterion) AsAnnouncementFeedbackCriterion() (*AnnouncementFeedbackCriterion, bool) { - return nil, false -} - -// AsPollFeedbackCriterion is the BasicCriterion implementation for IntegerTagCriterion. -func (itc IntegerTagCriterion) AsPollFeedbackCriterion() (*PollFeedbackCriterion, bool) { - return nil, false -} - -// AsPollAnswerFeedbackCriterion is the BasicCriterion implementation for IntegerTagCriterion. -func (itc IntegerTagCriterion) AsPollAnswerFeedbackCriterion() (*PollAnswerFeedbackCriterion, bool) { - return nil, false -} - -// AsDatapushFeedbackCriterion is the BasicCriterion implementation for IntegerTagCriterion. -func (itc IntegerTagCriterion) AsDatapushFeedbackCriterion() (*DatapushFeedbackCriterion, bool) { - return nil, false -} - -// AsSegmentCriterion is the BasicCriterion implementation for IntegerTagCriterion. -func (itc IntegerTagCriterion) AsSegmentCriterion() (*SegmentCriterion, bool) { - return nil, false -} - -// AsStringTagCriterion is the BasicCriterion implementation for IntegerTagCriterion. -func (itc IntegerTagCriterion) AsStringTagCriterion() (*StringTagCriterion, bool) { - return nil, false -} - -// AsDateTagCriterion is the BasicCriterion implementation for IntegerTagCriterion. -func (itc IntegerTagCriterion) AsDateTagCriterion() (*DateTagCriterion, bool) { - return nil, false -} - -// AsIntegerTagCriterion is the BasicCriterion implementation for IntegerTagCriterion. -func (itc IntegerTagCriterion) AsIntegerTagCriterion() (*IntegerTagCriterion, bool) { - return &itc, true -} - -// AsBooleanTagCriterion is the BasicCriterion implementation for IntegerTagCriterion. -func (itc IntegerTagCriterion) AsBooleanTagCriterion() (*BooleanTagCriterion, bool) { - return nil, false -} - -// AsCriterion is the BasicCriterion implementation for IntegerTagCriterion. -func (itc IntegerTagCriterion) AsCriterion() (*Criterion, bool) { - return nil, false -} - -// AsBasicCriterion is the BasicCriterion implementation for IntegerTagCriterion. -func (itc IntegerTagCriterion) AsBasicCriterion() (BasicCriterion, bool) { - return &itc, true -} - -// LanguageCriterion used to target devices based on the language of their device. -type LanguageCriterion struct { - // Name - Two character language code (ISO 639-1). - Name *string `json:"name,omitempty"` - // Type - Possible values include: 'TypeCriterion', 'TypeCarrierName', 'TypeCarrierCountry', 'TypeFirmwareVersion', 'TypeDeviceManufacturer', 'TypeDeviceModel', 'TypeApplicationVersion', 'TypeNetworkType', 'TypeLanguage', 'TypeScreenSize', 'TypeLocation', 'TypeGeoFencing', 'TypeAnnouncementFeedback', 'TypePollFeedback', 'TypePollAnswerFeedback', 'TypeDatapushFeedback', 'TypeSegment', 'TypeStringTag', 'TypeDateTag', 'TypeIntegerTag', 'TypeBooleanTag' - Type Type `json:"type,omitempty"` -} - -// MarshalJSON is the custom marshaler for LanguageCriterion. -func (lc LanguageCriterion) MarshalJSON() ([]byte, error) { - lc.Type = TypeLanguage - objectMap := make(map[string]interface{}) - if lc.Name != nil { - objectMap["name"] = lc.Name - } - if lc.Type != "" { - objectMap["type"] = lc.Type - } - return json.Marshal(objectMap) -} - -// AsCarrierNameCriterion is the BasicCriterion implementation for LanguageCriterion. -func (lc LanguageCriterion) AsCarrierNameCriterion() (*CarrierNameCriterion, bool) { - return nil, false -} - -// AsCarrierCountryCriterion is the BasicCriterion implementation for LanguageCriterion. -func (lc LanguageCriterion) AsCarrierCountryCriterion() (*CarrierCountryCriterion, bool) { - return nil, false -} - -// AsFirmwareVersionCriterion is the BasicCriterion implementation for LanguageCriterion. -func (lc LanguageCriterion) AsFirmwareVersionCriterion() (*FirmwareVersionCriterion, bool) { - return nil, false -} - -// AsDeviceManufacturerCriterion is the BasicCriterion implementation for LanguageCriterion. -func (lc LanguageCriterion) AsDeviceManufacturerCriterion() (*DeviceManufacturerCriterion, bool) { - return nil, false -} - -// AsDeviceModelCriterion is the BasicCriterion implementation for LanguageCriterion. -func (lc LanguageCriterion) AsDeviceModelCriterion() (*DeviceModelCriterion, bool) { - return nil, false -} - -// AsApplicationVersionCriterion is the BasicCriterion implementation for LanguageCriterion. -func (lc LanguageCriterion) AsApplicationVersionCriterion() (*ApplicationVersionCriterion, bool) { - return nil, false -} - -// AsNetworkTypeCriterion is the BasicCriterion implementation for LanguageCriterion. -func (lc LanguageCriterion) AsNetworkTypeCriterion() (*NetworkTypeCriterion, bool) { - return nil, false -} - -// AsLanguageCriterion is the BasicCriterion implementation for LanguageCriterion. -func (lc LanguageCriterion) AsLanguageCriterion() (*LanguageCriterion, bool) { - return &lc, true -} - -// AsScreenSizeCriterion is the BasicCriterion implementation for LanguageCriterion. -func (lc LanguageCriterion) AsScreenSizeCriterion() (*ScreenSizeCriterion, bool) { - return nil, false -} - -// AsLocationCriterion is the BasicCriterion implementation for LanguageCriterion. -func (lc LanguageCriterion) AsLocationCriterion() (*LocationCriterion, bool) { - return nil, false -} - -// AsGeoFencingCriterion is the BasicCriterion implementation for LanguageCriterion. -func (lc LanguageCriterion) AsGeoFencingCriterion() (*GeoFencingCriterion, bool) { - return nil, false -} - -// AsAnnouncementFeedbackCriterion is the BasicCriterion implementation for LanguageCriterion. -func (lc LanguageCriterion) AsAnnouncementFeedbackCriterion() (*AnnouncementFeedbackCriterion, bool) { - return nil, false -} - -// AsPollFeedbackCriterion is the BasicCriterion implementation for LanguageCriterion. -func (lc LanguageCriterion) AsPollFeedbackCriterion() (*PollFeedbackCriterion, bool) { - return nil, false -} - -// AsPollAnswerFeedbackCriterion is the BasicCriterion implementation for LanguageCriterion. -func (lc LanguageCriterion) AsPollAnswerFeedbackCriterion() (*PollAnswerFeedbackCriterion, bool) { - return nil, false -} - -// AsDatapushFeedbackCriterion is the BasicCriterion implementation for LanguageCriterion. -func (lc LanguageCriterion) AsDatapushFeedbackCriterion() (*DatapushFeedbackCriterion, bool) { - return nil, false -} - -// AsSegmentCriterion is the BasicCriterion implementation for LanguageCriterion. -func (lc LanguageCriterion) AsSegmentCriterion() (*SegmentCriterion, bool) { - return nil, false -} - -// AsStringTagCriterion is the BasicCriterion implementation for LanguageCriterion. -func (lc LanguageCriterion) AsStringTagCriterion() (*StringTagCriterion, bool) { - return nil, false -} - -// AsDateTagCriterion is the BasicCriterion implementation for LanguageCriterion. -func (lc LanguageCriterion) AsDateTagCriterion() (*DateTagCriterion, bool) { - return nil, false -} - -// AsIntegerTagCriterion is the BasicCriterion implementation for LanguageCriterion. -func (lc LanguageCriterion) AsIntegerTagCriterion() (*IntegerTagCriterion, bool) { - return nil, false -} - -// AsBooleanTagCriterion is the BasicCriterion implementation for LanguageCriterion. -func (lc LanguageCriterion) AsBooleanTagCriterion() (*BooleanTagCriterion, bool) { - return nil, false -} - -// AsCriterion is the BasicCriterion implementation for LanguageCriterion. -func (lc LanguageCriterion) AsCriterion() (*Criterion, bool) { - return nil, false -} - -// AsBasicCriterion is the BasicCriterion implementation for LanguageCriterion. -func (lc LanguageCriterion) AsBasicCriterion() (BasicCriterion, bool) { - return &lc, true -} - -// LocationCriterion used to target devices based on their last know area. -type LocationCriterion struct { - // Country - Two character country code where the user is located (ISO 3166-1). - Country *string `json:"country,omitempty"` - // Region - An administrative region of the country, such as a state or province. - Region *string `json:"region,omitempty"` - // Locality - A locality within the administrative region, such as a town or city. - Locality *string `json:"locality,omitempty"` - // Type - Possible values include: 'TypeCriterion', 'TypeCarrierName', 'TypeCarrierCountry', 'TypeFirmwareVersion', 'TypeDeviceManufacturer', 'TypeDeviceModel', 'TypeApplicationVersion', 'TypeNetworkType', 'TypeLanguage', 'TypeScreenSize', 'TypeLocation', 'TypeGeoFencing', 'TypeAnnouncementFeedback', 'TypePollFeedback', 'TypePollAnswerFeedback', 'TypeDatapushFeedback', 'TypeSegment', 'TypeStringTag', 'TypeDateTag', 'TypeIntegerTag', 'TypeBooleanTag' - Type Type `json:"type,omitempty"` -} - -// MarshalJSON is the custom marshaler for LocationCriterion. -func (lc LocationCriterion) MarshalJSON() ([]byte, error) { - lc.Type = TypeLocation - objectMap := make(map[string]interface{}) - if lc.Country != nil { - objectMap["country"] = lc.Country - } - if lc.Region != nil { - objectMap["region"] = lc.Region - } - if lc.Locality != nil { - objectMap["locality"] = lc.Locality - } - if lc.Type != "" { - objectMap["type"] = lc.Type - } - return json.Marshal(objectMap) -} - -// AsCarrierNameCriterion is the BasicCriterion implementation for LocationCriterion. -func (lc LocationCriterion) AsCarrierNameCriterion() (*CarrierNameCriterion, bool) { - return nil, false -} - -// AsCarrierCountryCriterion is the BasicCriterion implementation for LocationCriterion. -func (lc LocationCriterion) AsCarrierCountryCriterion() (*CarrierCountryCriterion, bool) { - return nil, false -} - -// AsFirmwareVersionCriterion is the BasicCriterion implementation for LocationCriterion. -func (lc LocationCriterion) AsFirmwareVersionCriterion() (*FirmwareVersionCriterion, bool) { - return nil, false -} - -// AsDeviceManufacturerCriterion is the BasicCriterion implementation for LocationCriterion. -func (lc LocationCriterion) AsDeviceManufacturerCriterion() (*DeviceManufacturerCriterion, bool) { - return nil, false -} - -// AsDeviceModelCriterion is the BasicCriterion implementation for LocationCriterion. -func (lc LocationCriterion) AsDeviceModelCriterion() (*DeviceModelCriterion, bool) { - return nil, false -} - -// AsApplicationVersionCriterion is the BasicCriterion implementation for LocationCriterion. -func (lc LocationCriterion) AsApplicationVersionCriterion() (*ApplicationVersionCriterion, bool) { - return nil, false -} - -// AsNetworkTypeCriterion is the BasicCriterion implementation for LocationCriterion. -func (lc LocationCriterion) AsNetworkTypeCriterion() (*NetworkTypeCriterion, bool) { - return nil, false -} - -// AsLanguageCriterion is the BasicCriterion implementation for LocationCriterion. -func (lc LocationCriterion) AsLanguageCriterion() (*LanguageCriterion, bool) { - return nil, false -} - -// AsScreenSizeCriterion is the BasicCriterion implementation for LocationCriterion. -func (lc LocationCriterion) AsScreenSizeCriterion() (*ScreenSizeCriterion, bool) { - return nil, false -} - -// AsLocationCriterion is the BasicCriterion implementation for LocationCriterion. -func (lc LocationCriterion) AsLocationCriterion() (*LocationCriterion, bool) { - return &lc, true -} - -// AsGeoFencingCriterion is the BasicCriterion implementation for LocationCriterion. -func (lc LocationCriterion) AsGeoFencingCriterion() (*GeoFencingCriterion, bool) { - return nil, false -} - -// AsAnnouncementFeedbackCriterion is the BasicCriterion implementation for LocationCriterion. -func (lc LocationCriterion) AsAnnouncementFeedbackCriterion() (*AnnouncementFeedbackCriterion, bool) { - return nil, false -} - -// AsPollFeedbackCriterion is the BasicCriterion implementation for LocationCriterion. -func (lc LocationCriterion) AsPollFeedbackCriterion() (*PollFeedbackCriterion, bool) { - return nil, false -} - -// AsPollAnswerFeedbackCriterion is the BasicCriterion implementation for LocationCriterion. -func (lc LocationCriterion) AsPollAnswerFeedbackCriterion() (*PollAnswerFeedbackCriterion, bool) { - return nil, false -} - -// AsDatapushFeedbackCriterion is the BasicCriterion implementation for LocationCriterion. -func (lc LocationCriterion) AsDatapushFeedbackCriterion() (*DatapushFeedbackCriterion, bool) { - return nil, false -} - -// AsSegmentCriterion is the BasicCriterion implementation for LocationCriterion. -func (lc LocationCriterion) AsSegmentCriterion() (*SegmentCriterion, bool) { - return nil, false -} - -// AsStringTagCriterion is the BasicCriterion implementation for LocationCriterion. -func (lc LocationCriterion) AsStringTagCriterion() (*StringTagCriterion, bool) { - return nil, false -} - -// AsDateTagCriterion is the BasicCriterion implementation for LocationCriterion. -func (lc LocationCriterion) AsDateTagCriterion() (*DateTagCriterion, bool) { - return nil, false -} - -// AsIntegerTagCriterion is the BasicCriterion implementation for LocationCriterion. -func (lc LocationCriterion) AsIntegerTagCriterion() (*IntegerTagCriterion, bool) { - return nil, false -} - -// AsBooleanTagCriterion is the BasicCriterion implementation for LocationCriterion. -func (lc LocationCriterion) AsBooleanTagCriterion() (*BooleanTagCriterion, bool) { - return nil, false -} - -// AsCriterion is the BasicCriterion implementation for LocationCriterion. -func (lc LocationCriterion) AsCriterion() (*Criterion, bool) { - return nil, false -} - -// AsBasicCriterion is the BasicCriterion implementation for LocationCriterion. -func (lc LocationCriterion) AsBasicCriterion() (BasicCriterion, bool) { - return &lc, true -} - -// NativePushEnabledFilter engage only users with native push enabled. -type NativePushEnabledFilter struct { - // Type - Possible values include: 'TypeFilter', 'TypeEngageSubset', 'TypeEngageOldUsers', 'TypeEngageNewUsers', 'TypeEngageActiveUsers', 'TypeEngageIdleUsers', 'TypeNativePushEnabled', 'TypePushQuota', 'TypeAppInfo' - Type TypeBasicFilter `json:"type,omitempty"` -} - -// MarshalJSON is the custom marshaler for NativePushEnabledFilter. -func (npef NativePushEnabledFilter) MarshalJSON() ([]byte, error) { - npef.Type = TypeNativePushEnabled - objectMap := make(map[string]interface{}) - if npef.Type != "" { - objectMap["type"] = npef.Type - } - return json.Marshal(objectMap) -} - -// AsEngageSubsetFilter is the BasicFilter implementation for NativePushEnabledFilter. -func (npef NativePushEnabledFilter) AsEngageSubsetFilter() (*EngageSubsetFilter, bool) { - return nil, false -} - -// AsEngageOldUsersFilter is the BasicFilter implementation for NativePushEnabledFilter. -func (npef NativePushEnabledFilter) AsEngageOldUsersFilter() (*EngageOldUsersFilter, bool) { - return nil, false -} - -// AsEngageNewUsersFilter is the BasicFilter implementation for NativePushEnabledFilter. -func (npef NativePushEnabledFilter) AsEngageNewUsersFilter() (*EngageNewUsersFilter, bool) { - return nil, false -} - -// AsEngageActiveUsersFilter is the BasicFilter implementation for NativePushEnabledFilter. -func (npef NativePushEnabledFilter) AsEngageActiveUsersFilter() (*EngageActiveUsersFilter, bool) { - return nil, false -} - -// AsEngageIdleUsersFilter is the BasicFilter implementation for NativePushEnabledFilter. -func (npef NativePushEnabledFilter) AsEngageIdleUsersFilter() (*EngageIdleUsersFilter, bool) { - return nil, false -} - -// AsNativePushEnabledFilter is the BasicFilter implementation for NativePushEnabledFilter. -func (npef NativePushEnabledFilter) AsNativePushEnabledFilter() (*NativePushEnabledFilter, bool) { - return &npef, true -} - -// AsPushQuotaFilter is the BasicFilter implementation for NativePushEnabledFilter. -func (npef NativePushEnabledFilter) AsPushQuotaFilter() (*PushQuotaFilter, bool) { - return nil, false -} - -// AsAppInfoFilter is the BasicFilter implementation for NativePushEnabledFilter. -func (npef NativePushEnabledFilter) AsAppInfoFilter() (*AppInfoFilter, bool) { - return nil, false -} - -// AsFilter is the BasicFilter implementation for NativePushEnabledFilter. -func (npef NativePushEnabledFilter) AsFilter() (*Filter, bool) { - return nil, false -} - -// AsBasicFilter is the BasicFilter implementation for NativePushEnabledFilter. -func (npef NativePushEnabledFilter) AsBasicFilter() (BasicFilter, bool) { - return &npef, true -} - -// NetworkTypeCriterion used to target devices based their network type. -type NetworkTypeCriterion struct { - // Name - The network type (Wifi, Mobile...). - Name *string `json:"name,omitempty"` - // Type - Possible values include: 'TypeCriterion', 'TypeCarrierName', 'TypeCarrierCountry', 'TypeFirmwareVersion', 'TypeDeviceManufacturer', 'TypeDeviceModel', 'TypeApplicationVersion', 'TypeNetworkType', 'TypeLanguage', 'TypeScreenSize', 'TypeLocation', 'TypeGeoFencing', 'TypeAnnouncementFeedback', 'TypePollFeedback', 'TypePollAnswerFeedback', 'TypeDatapushFeedback', 'TypeSegment', 'TypeStringTag', 'TypeDateTag', 'TypeIntegerTag', 'TypeBooleanTag' - Type Type `json:"type,omitempty"` -} - -// MarshalJSON is the custom marshaler for NetworkTypeCriterion. -func (ntc NetworkTypeCriterion) MarshalJSON() ([]byte, error) { - ntc.Type = TypeNetworkType - objectMap := make(map[string]interface{}) - if ntc.Name != nil { - objectMap["name"] = ntc.Name - } - if ntc.Type != "" { - objectMap["type"] = ntc.Type - } - return json.Marshal(objectMap) -} - -// AsCarrierNameCriterion is the BasicCriterion implementation for NetworkTypeCriterion. -func (ntc NetworkTypeCriterion) AsCarrierNameCriterion() (*CarrierNameCriterion, bool) { - return nil, false -} - -// AsCarrierCountryCriterion is the BasicCriterion implementation for NetworkTypeCriterion. -func (ntc NetworkTypeCriterion) AsCarrierCountryCriterion() (*CarrierCountryCriterion, bool) { - return nil, false -} - -// AsFirmwareVersionCriterion is the BasicCriterion implementation for NetworkTypeCriterion. -func (ntc NetworkTypeCriterion) AsFirmwareVersionCriterion() (*FirmwareVersionCriterion, bool) { - return nil, false -} - -// AsDeviceManufacturerCriterion is the BasicCriterion implementation for NetworkTypeCriterion. -func (ntc NetworkTypeCriterion) AsDeviceManufacturerCriterion() (*DeviceManufacturerCriterion, bool) { - return nil, false -} - -// AsDeviceModelCriterion is the BasicCriterion implementation for NetworkTypeCriterion. -func (ntc NetworkTypeCriterion) AsDeviceModelCriterion() (*DeviceModelCriterion, bool) { - return nil, false -} - -// AsApplicationVersionCriterion is the BasicCriterion implementation for NetworkTypeCriterion. -func (ntc NetworkTypeCriterion) AsApplicationVersionCriterion() (*ApplicationVersionCriterion, bool) { - return nil, false -} - -// AsNetworkTypeCriterion is the BasicCriterion implementation for NetworkTypeCriterion. -func (ntc NetworkTypeCriterion) AsNetworkTypeCriterion() (*NetworkTypeCriterion, bool) { - return &ntc, true -} - -// AsLanguageCriterion is the BasicCriterion implementation for NetworkTypeCriterion. -func (ntc NetworkTypeCriterion) AsLanguageCriterion() (*LanguageCriterion, bool) { - return nil, false -} - -// AsScreenSizeCriterion is the BasicCriterion implementation for NetworkTypeCriterion. -func (ntc NetworkTypeCriterion) AsScreenSizeCriterion() (*ScreenSizeCriterion, bool) { - return nil, false -} - -// AsLocationCriterion is the BasicCriterion implementation for NetworkTypeCriterion. -func (ntc NetworkTypeCriterion) AsLocationCriterion() (*LocationCriterion, bool) { - return nil, false -} - -// AsGeoFencingCriterion is the BasicCriterion implementation for NetworkTypeCriterion. -func (ntc NetworkTypeCriterion) AsGeoFencingCriterion() (*GeoFencingCriterion, bool) { - return nil, false -} - -// AsAnnouncementFeedbackCriterion is the BasicCriterion implementation for NetworkTypeCriterion. -func (ntc NetworkTypeCriterion) AsAnnouncementFeedbackCriterion() (*AnnouncementFeedbackCriterion, bool) { - return nil, false -} - -// AsPollFeedbackCriterion is the BasicCriterion implementation for NetworkTypeCriterion. -func (ntc NetworkTypeCriterion) AsPollFeedbackCriterion() (*PollFeedbackCriterion, bool) { - return nil, false -} - -// AsPollAnswerFeedbackCriterion is the BasicCriterion implementation for NetworkTypeCriterion. -func (ntc NetworkTypeCriterion) AsPollAnswerFeedbackCriterion() (*PollAnswerFeedbackCriterion, bool) { - return nil, false -} - -// AsDatapushFeedbackCriterion is the BasicCriterion implementation for NetworkTypeCriterion. -func (ntc NetworkTypeCriterion) AsDatapushFeedbackCriterion() (*DatapushFeedbackCriterion, bool) { - return nil, false -} - -// AsSegmentCriterion is the BasicCriterion implementation for NetworkTypeCriterion. -func (ntc NetworkTypeCriterion) AsSegmentCriterion() (*SegmentCriterion, bool) { - return nil, false -} - -// AsStringTagCriterion is the BasicCriterion implementation for NetworkTypeCriterion. -func (ntc NetworkTypeCriterion) AsStringTagCriterion() (*StringTagCriterion, bool) { - return nil, false -} - -// AsDateTagCriterion is the BasicCriterion implementation for NetworkTypeCriterion. -func (ntc NetworkTypeCriterion) AsDateTagCriterion() (*DateTagCriterion, bool) { - return nil, false -} - -// AsIntegerTagCriterion is the BasicCriterion implementation for NetworkTypeCriterion. -func (ntc NetworkTypeCriterion) AsIntegerTagCriterion() (*IntegerTagCriterion, bool) { - return nil, false -} - -// AsBooleanTagCriterion is the BasicCriterion implementation for NetworkTypeCriterion. -func (ntc NetworkTypeCriterion) AsBooleanTagCriterion() (*BooleanTagCriterion, bool) { - return nil, false -} - -// AsCriterion is the BasicCriterion implementation for NetworkTypeCriterion. -func (ntc NetworkTypeCriterion) AsCriterion() (*Criterion, bool) { - return nil, false -} - -// AsBasicCriterion is the BasicCriterion implementation for NetworkTypeCriterion. -func (ntc NetworkTypeCriterion) AsBasicCriterion() (BasicCriterion, bool) { - return &ntc, true -} - -// NotificationOptions ... -type NotificationOptions struct { - // BigText - Android 4.1+ only. Multi line message shown in expanded notifications on Android 4.1+ devices. The `notificationType` property must be set to `system`. - BigText *string `json:"bigText,omitempty"` - // BigPicture - URL of a remote image displayed in expanded notifications on - // Android 4.1+ devices with the following constraints: - // * The URL length is limited to 2000 characters. - // * The image size must be less than 4 MiB. - // * The following MIME types are supported: - // ** image/png - // ** image/jpeg - // ** image/gif - // ** image/webp - // ** image/bmp - // ** image/x-bmp - // ** image/x-ms-bmp - // * URL scheme must be HTTP or HTTPS (with valid SSL certificate). - // * Incompatible with `bigText`, only one of the fields can be set. - // * The `notificationType` property must be set to `system`. - BigPicture *string `json:"bigPicture,omitempty"` - // Sound - iOS only. The name of a sound file in the application bundle. The sound in this file is played as an alert. If the sound file doesn’t exist or default is specified as the value, the default alert sound is played. The audio must be in one of the audio data formats that are compatible with system sounds. The `deliveryTime` property must be set to `any` or `background`. - Sound *string `json:"sound,omitempty"` - // ActionText - The action text is the title of the right button of the alert or the value of the unlock slider, where the value replaces 'unlock' in 'slide to unlock'. 'View' (localized to the preferred language) is used as the default value. The `deliveryTime` property must be set to `any` or `background`. - ActionText *string `json:"actionText,omitempty"` -} - -// PollAnswerFeedbackCriterion used to target devices who answered X to a given question. -type PollAnswerFeedbackCriterion struct { - // ContentID - The unique identifier of the poll. - ContentID *int32 `json:"content-id,omitempty"` - // ChoiceID - The unique identifier of the choice. - ChoiceID *int32 `json:"choice-id,omitempty"` - // Type - Possible values include: 'TypeCriterion', 'TypeCarrierName', 'TypeCarrierCountry', 'TypeFirmwareVersion', 'TypeDeviceManufacturer', 'TypeDeviceModel', 'TypeApplicationVersion', 'TypeNetworkType', 'TypeLanguage', 'TypeScreenSize', 'TypeLocation', 'TypeGeoFencing', 'TypeAnnouncementFeedback', 'TypePollFeedback', 'TypePollAnswerFeedback', 'TypeDatapushFeedback', 'TypeSegment', 'TypeStringTag', 'TypeDateTag', 'TypeIntegerTag', 'TypeBooleanTag' - Type Type `json:"type,omitempty"` -} - -// MarshalJSON is the custom marshaler for PollAnswerFeedbackCriterion. -func (pafc PollAnswerFeedbackCriterion) MarshalJSON() ([]byte, error) { - pafc.Type = TypePollAnswerFeedback - objectMap := make(map[string]interface{}) - if pafc.ContentID != nil { - objectMap["content-id"] = pafc.ContentID - } - if pafc.ChoiceID != nil { - objectMap["choice-id"] = pafc.ChoiceID - } - if pafc.Type != "" { - objectMap["type"] = pafc.Type - } - return json.Marshal(objectMap) -} - -// AsCarrierNameCriterion is the BasicCriterion implementation for PollAnswerFeedbackCriterion. -func (pafc PollAnswerFeedbackCriterion) AsCarrierNameCriterion() (*CarrierNameCriterion, bool) { - return nil, false -} - -// AsCarrierCountryCriterion is the BasicCriterion implementation for PollAnswerFeedbackCriterion. -func (pafc PollAnswerFeedbackCriterion) AsCarrierCountryCriterion() (*CarrierCountryCriterion, bool) { - return nil, false -} - -// AsFirmwareVersionCriterion is the BasicCriterion implementation for PollAnswerFeedbackCriterion. -func (pafc PollAnswerFeedbackCriterion) AsFirmwareVersionCriterion() (*FirmwareVersionCriterion, bool) { - return nil, false -} - -// AsDeviceManufacturerCriterion is the BasicCriterion implementation for PollAnswerFeedbackCriterion. -func (pafc PollAnswerFeedbackCriterion) AsDeviceManufacturerCriterion() (*DeviceManufacturerCriterion, bool) { - return nil, false -} - -// AsDeviceModelCriterion is the BasicCriterion implementation for PollAnswerFeedbackCriterion. -func (pafc PollAnswerFeedbackCriterion) AsDeviceModelCriterion() (*DeviceModelCriterion, bool) { - return nil, false -} - -// AsApplicationVersionCriterion is the BasicCriterion implementation for PollAnswerFeedbackCriterion. -func (pafc PollAnswerFeedbackCriterion) AsApplicationVersionCriterion() (*ApplicationVersionCriterion, bool) { - return nil, false -} - -// AsNetworkTypeCriterion is the BasicCriterion implementation for PollAnswerFeedbackCriterion. -func (pafc PollAnswerFeedbackCriterion) AsNetworkTypeCriterion() (*NetworkTypeCriterion, bool) { - return nil, false -} - -// AsLanguageCriterion is the BasicCriterion implementation for PollAnswerFeedbackCriterion. -func (pafc PollAnswerFeedbackCriterion) AsLanguageCriterion() (*LanguageCriterion, bool) { - return nil, false -} - -// AsScreenSizeCriterion is the BasicCriterion implementation for PollAnswerFeedbackCriterion. -func (pafc PollAnswerFeedbackCriterion) AsScreenSizeCriterion() (*ScreenSizeCriterion, bool) { - return nil, false -} - -// AsLocationCriterion is the BasicCriterion implementation for PollAnswerFeedbackCriterion. -func (pafc PollAnswerFeedbackCriterion) AsLocationCriterion() (*LocationCriterion, bool) { - return nil, false -} - -// AsGeoFencingCriterion is the BasicCriterion implementation for PollAnswerFeedbackCriterion. -func (pafc PollAnswerFeedbackCriterion) AsGeoFencingCriterion() (*GeoFencingCriterion, bool) { - return nil, false -} - -// AsAnnouncementFeedbackCriterion is the BasicCriterion implementation for PollAnswerFeedbackCriterion. -func (pafc PollAnswerFeedbackCriterion) AsAnnouncementFeedbackCriterion() (*AnnouncementFeedbackCriterion, bool) { - return nil, false -} - -// AsPollFeedbackCriterion is the BasicCriterion implementation for PollAnswerFeedbackCriterion. -func (pafc PollAnswerFeedbackCriterion) AsPollFeedbackCriterion() (*PollFeedbackCriterion, bool) { - return nil, false -} - -// AsPollAnswerFeedbackCriterion is the BasicCriterion implementation for PollAnswerFeedbackCriterion. -func (pafc PollAnswerFeedbackCriterion) AsPollAnswerFeedbackCriterion() (*PollAnswerFeedbackCriterion, bool) { - return &pafc, true -} - -// AsDatapushFeedbackCriterion is the BasicCriterion implementation for PollAnswerFeedbackCriterion. -func (pafc PollAnswerFeedbackCriterion) AsDatapushFeedbackCriterion() (*DatapushFeedbackCriterion, bool) { - return nil, false -} - -// AsSegmentCriterion is the BasicCriterion implementation for PollAnswerFeedbackCriterion. -func (pafc PollAnswerFeedbackCriterion) AsSegmentCriterion() (*SegmentCriterion, bool) { - return nil, false -} - -// AsStringTagCriterion is the BasicCriterion implementation for PollAnswerFeedbackCriterion. -func (pafc PollAnswerFeedbackCriterion) AsStringTagCriterion() (*StringTagCriterion, bool) { - return nil, false -} - -// AsDateTagCriterion is the BasicCriterion implementation for PollAnswerFeedbackCriterion. -func (pafc PollAnswerFeedbackCriterion) AsDateTagCriterion() (*DateTagCriterion, bool) { - return nil, false -} - -// AsIntegerTagCriterion is the BasicCriterion implementation for PollAnswerFeedbackCriterion. -func (pafc PollAnswerFeedbackCriterion) AsIntegerTagCriterion() (*IntegerTagCriterion, bool) { - return nil, false -} - -// AsBooleanTagCriterion is the BasicCriterion implementation for PollAnswerFeedbackCriterion. -func (pafc PollAnswerFeedbackCriterion) AsBooleanTagCriterion() (*BooleanTagCriterion, bool) { - return nil, false -} - -// AsCriterion is the BasicCriterion implementation for PollAnswerFeedbackCriterion. -func (pafc PollAnswerFeedbackCriterion) AsCriterion() (*Criterion, bool) { - return nil, false -} - -// AsBasicCriterion is the BasicCriterion implementation for PollAnswerFeedbackCriterion. -func (pafc PollAnswerFeedbackCriterion) AsBasicCriterion() (BasicCriterion, bool) { - return &pafc, true -} - -// PollFeedbackCriterion used to target devices who received a poll. -type PollFeedbackCriterion struct { - // ContentID - The unique identifier of the poll. - ContentID *int32 `json:"content-id,omitempty"` - // Action - Action that was performed on the poll. Possible values include: 'Pushed', 'Replied', 'Actioned', 'Exited' - Action CampaignFeedbacks `json:"action,omitempty"` - // Type - Possible values include: 'TypeCriterion', 'TypeCarrierName', 'TypeCarrierCountry', 'TypeFirmwareVersion', 'TypeDeviceManufacturer', 'TypeDeviceModel', 'TypeApplicationVersion', 'TypeNetworkType', 'TypeLanguage', 'TypeScreenSize', 'TypeLocation', 'TypeGeoFencing', 'TypeAnnouncementFeedback', 'TypePollFeedback', 'TypePollAnswerFeedback', 'TypeDatapushFeedback', 'TypeSegment', 'TypeStringTag', 'TypeDateTag', 'TypeIntegerTag', 'TypeBooleanTag' - Type Type `json:"type,omitempty"` -} - -// MarshalJSON is the custom marshaler for PollFeedbackCriterion. -func (pfc PollFeedbackCriterion) MarshalJSON() ([]byte, error) { - pfc.Type = TypePollFeedback - objectMap := make(map[string]interface{}) - if pfc.ContentID != nil { - objectMap["content-id"] = pfc.ContentID - } - if pfc.Action != "" { - objectMap["action"] = pfc.Action - } - if pfc.Type != "" { - objectMap["type"] = pfc.Type - } - return json.Marshal(objectMap) -} - -// AsCarrierNameCriterion is the BasicCriterion implementation for PollFeedbackCriterion. -func (pfc PollFeedbackCriterion) AsCarrierNameCriterion() (*CarrierNameCriterion, bool) { - return nil, false -} - -// AsCarrierCountryCriterion is the BasicCriterion implementation for PollFeedbackCriterion. -func (pfc PollFeedbackCriterion) AsCarrierCountryCriterion() (*CarrierCountryCriterion, bool) { - return nil, false -} - -// AsFirmwareVersionCriterion is the BasicCriterion implementation for PollFeedbackCriterion. -func (pfc PollFeedbackCriterion) AsFirmwareVersionCriterion() (*FirmwareVersionCriterion, bool) { - return nil, false -} - -// AsDeviceManufacturerCriterion is the BasicCriterion implementation for PollFeedbackCriterion. -func (pfc PollFeedbackCriterion) AsDeviceManufacturerCriterion() (*DeviceManufacturerCriterion, bool) { - return nil, false -} - -// AsDeviceModelCriterion is the BasicCriterion implementation for PollFeedbackCriterion. -func (pfc PollFeedbackCriterion) AsDeviceModelCriterion() (*DeviceModelCriterion, bool) { - return nil, false -} - -// AsApplicationVersionCriterion is the BasicCriterion implementation for PollFeedbackCriterion. -func (pfc PollFeedbackCriterion) AsApplicationVersionCriterion() (*ApplicationVersionCriterion, bool) { - return nil, false -} - -// AsNetworkTypeCriterion is the BasicCriterion implementation for PollFeedbackCriterion. -func (pfc PollFeedbackCriterion) AsNetworkTypeCriterion() (*NetworkTypeCriterion, bool) { - return nil, false -} - -// AsLanguageCriterion is the BasicCriterion implementation for PollFeedbackCriterion. -func (pfc PollFeedbackCriterion) AsLanguageCriterion() (*LanguageCriterion, bool) { - return nil, false -} - -// AsScreenSizeCriterion is the BasicCriterion implementation for PollFeedbackCriterion. -func (pfc PollFeedbackCriterion) AsScreenSizeCriterion() (*ScreenSizeCriterion, bool) { - return nil, false -} - -// AsLocationCriterion is the BasicCriterion implementation for PollFeedbackCriterion. -func (pfc PollFeedbackCriterion) AsLocationCriterion() (*LocationCriterion, bool) { - return nil, false -} - -// AsGeoFencingCriterion is the BasicCriterion implementation for PollFeedbackCriterion. -func (pfc PollFeedbackCriterion) AsGeoFencingCriterion() (*GeoFencingCriterion, bool) { - return nil, false -} - -// AsAnnouncementFeedbackCriterion is the BasicCriterion implementation for PollFeedbackCriterion. -func (pfc PollFeedbackCriterion) AsAnnouncementFeedbackCriterion() (*AnnouncementFeedbackCriterion, bool) { - return nil, false -} - -// AsPollFeedbackCriterion is the BasicCriterion implementation for PollFeedbackCriterion. -func (pfc PollFeedbackCriterion) AsPollFeedbackCriterion() (*PollFeedbackCriterion, bool) { - return &pfc, true -} - -// AsPollAnswerFeedbackCriterion is the BasicCriterion implementation for PollFeedbackCriterion. -func (pfc PollFeedbackCriterion) AsPollAnswerFeedbackCriterion() (*PollAnswerFeedbackCriterion, bool) { - return nil, false -} - -// AsDatapushFeedbackCriterion is the BasicCriterion implementation for PollFeedbackCriterion. -func (pfc PollFeedbackCriterion) AsDatapushFeedbackCriterion() (*DatapushFeedbackCriterion, bool) { - return nil, false -} - -// AsSegmentCriterion is the BasicCriterion implementation for PollFeedbackCriterion. -func (pfc PollFeedbackCriterion) AsSegmentCriterion() (*SegmentCriterion, bool) { - return nil, false -} - -// AsStringTagCriterion is the BasicCriterion implementation for PollFeedbackCriterion. -func (pfc PollFeedbackCriterion) AsStringTagCriterion() (*StringTagCriterion, bool) { - return nil, false -} - -// AsDateTagCriterion is the BasicCriterion implementation for PollFeedbackCriterion. -func (pfc PollFeedbackCriterion) AsDateTagCriterion() (*DateTagCriterion, bool) { - return nil, false -} - -// AsIntegerTagCriterion is the BasicCriterion implementation for PollFeedbackCriterion. -func (pfc PollFeedbackCriterion) AsIntegerTagCriterion() (*IntegerTagCriterion, bool) { - return nil, false -} - -// AsBooleanTagCriterion is the BasicCriterion implementation for PollFeedbackCriterion. -func (pfc PollFeedbackCriterion) AsBooleanTagCriterion() (*BooleanTagCriterion, bool) { - return nil, false -} - -// AsCriterion is the BasicCriterion implementation for PollFeedbackCriterion. -func (pfc PollFeedbackCriterion) AsCriterion() (*Criterion, bool) { - return nil, false -} - -// AsBasicCriterion is the BasicCriterion implementation for PollFeedbackCriterion. -func (pfc PollFeedbackCriterion) AsBasicCriterion() (BasicCriterion, bool) { - return &pfc, true -} - -// PollQuestion ... -type PollQuestion struct { - // ID - Unique identifier of the question. - ID *int32 `json:"id,omitempty"` - // Localization - Poll questions can be localized using an optional JSON object. The JSON key is a two-character language code as specified by the ISO 639-1 standard. The corresponding value is an object containing the localizable property title. - Localization map[string]*PollQuestionLocalization `json:"localization"` - // Choices - List of possible choices for this question. - Choices *[]PollQuestionChoice `json:"choices,omitempty"` - // Title - Title of the question. - Title *string `json:"title,omitempty"` -} - -// MarshalJSON is the custom marshaler for PollQuestion. -func (pq PollQuestion) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - if pq.ID != nil { - objectMap["id"] = pq.ID - } - if pq.Localization != nil { - objectMap["localization"] = pq.Localization - } - if pq.Choices != nil { - objectMap["choices"] = pq.Choices - } - if pq.Title != nil { - objectMap["title"] = pq.Title - } - return json.Marshal(objectMap) -} - -// PollQuestionChoice ... -type PollQuestionChoice struct { - // ID - Unique identifier of the choice. - ID *int32 `json:"id,omitempty"` - // Localization - Poll choices can be localized using an optional JSON object. The JSON key is a two-character language code as specified by the ISO 639-1 standard. The corresponding value is an object containing the localizable property title. - Localization map[string]*PollQuestionChoiceLocalization `json:"localization"` - // IsDefault - A flag indicating if this choice is the default choice for the associated question. Only one choice in the array can have this value set to true. - IsDefault *bool `json:"isDefault,omitempty"` - // Title - Title of the choice. - Title *string `json:"title,omitempty"` -} - -// MarshalJSON is the custom marshaler for PollQuestionChoice. -func (pqc PollQuestionChoice) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - if pqc.ID != nil { - objectMap["id"] = pqc.ID - } - if pqc.Localization != nil { - objectMap["localization"] = pqc.Localization - } - if pqc.IsDefault != nil { - objectMap["isDefault"] = pqc.IsDefault - } - if pqc.Title != nil { - objectMap["title"] = pqc.Title - } - return json.Marshal(objectMap) -} - -// PollQuestionChoiceLocalization ... -type PollQuestionChoiceLocalization struct { - // Title - Title of the choice. - Title *string `json:"title,omitempty"` -} - -// PollQuestionLocalization ... -type PollQuestionLocalization struct { - // Title - Title of the question. - Title *string `json:"title,omitempty"` -} - -// PushQuotaFilter engage only users for whom the push quota is not reached. -type PushQuotaFilter struct { - // Type - Possible values include: 'TypeFilter', 'TypeEngageSubset', 'TypeEngageOldUsers', 'TypeEngageNewUsers', 'TypeEngageActiveUsers', 'TypeEngageIdleUsers', 'TypeNativePushEnabled', 'TypePushQuota', 'TypeAppInfo' - Type TypeBasicFilter `json:"type,omitempty"` -} - -// MarshalJSON is the custom marshaler for PushQuotaFilter. -func (pqf PushQuotaFilter) MarshalJSON() ([]byte, error) { - pqf.Type = TypePushQuota - objectMap := make(map[string]interface{}) - if pqf.Type != "" { - objectMap["type"] = pqf.Type - } - return json.Marshal(objectMap) -} - -// AsEngageSubsetFilter is the BasicFilter implementation for PushQuotaFilter. -func (pqf PushQuotaFilter) AsEngageSubsetFilter() (*EngageSubsetFilter, bool) { - return nil, false -} - -// AsEngageOldUsersFilter is the BasicFilter implementation for PushQuotaFilter. -func (pqf PushQuotaFilter) AsEngageOldUsersFilter() (*EngageOldUsersFilter, bool) { - return nil, false -} - -// AsEngageNewUsersFilter is the BasicFilter implementation for PushQuotaFilter. -func (pqf PushQuotaFilter) AsEngageNewUsersFilter() (*EngageNewUsersFilter, bool) { - return nil, false -} - -// AsEngageActiveUsersFilter is the BasicFilter implementation for PushQuotaFilter. -func (pqf PushQuotaFilter) AsEngageActiveUsersFilter() (*EngageActiveUsersFilter, bool) { - return nil, false -} - -// AsEngageIdleUsersFilter is the BasicFilter implementation for PushQuotaFilter. -func (pqf PushQuotaFilter) AsEngageIdleUsersFilter() (*EngageIdleUsersFilter, bool) { - return nil, false -} - -// AsNativePushEnabledFilter is the BasicFilter implementation for PushQuotaFilter. -func (pqf PushQuotaFilter) AsNativePushEnabledFilter() (*NativePushEnabledFilter, bool) { - return nil, false -} - -// AsPushQuotaFilter is the BasicFilter implementation for PushQuotaFilter. -func (pqf PushQuotaFilter) AsPushQuotaFilter() (*PushQuotaFilter, bool) { - return &pqf, true -} - -// AsAppInfoFilter is the BasicFilter implementation for PushQuotaFilter. -func (pqf PushQuotaFilter) AsAppInfoFilter() (*AppInfoFilter, bool) { - return nil, false -} - -// AsFilter is the BasicFilter implementation for PushQuotaFilter. -func (pqf PushQuotaFilter) AsFilter() (*Filter, bool) { - return nil, false -} - -// AsBasicFilter is the BasicFilter implementation for PushQuotaFilter. -func (pqf PushQuotaFilter) AsBasicFilter() (BasicFilter, bool) { - return &pqf, true -} - -// Resource ... -type Resource struct { - // ID - Resource Id - ID *string `json:"id,omitempty"` - // Name - Resource name - Name *string `json:"name,omitempty"` - // Type - Resource type - Type *string `json:"type,omitempty"` - // Location - Resource location - Location *string `json:"location,omitempty"` - // Tags - Resource tags - Tags map[string]*string `json:"tags"` -} - -// MarshalJSON is the custom marshaler for Resource. -func (r Resource) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - if r.ID != nil { - objectMap["id"] = r.ID - } - if r.Name != nil { - objectMap["name"] = r.Name - } - if r.Type != nil { - objectMap["type"] = r.Type - } - if r.Location != nil { - objectMap["location"] = r.Location - } - if r.Tags != nil { - objectMap["tags"] = r.Tags - } - return json.Marshal(objectMap) -} - -// ScreenSizeCriterion used to target devices based on the screen resolution of their device. -type ScreenSizeCriterion struct { - // Name - Screen size using the following format WIDTH**x**HEIGHT. - Name *string `json:"name,omitempty"` - // Type - Possible values include: 'TypeCriterion', 'TypeCarrierName', 'TypeCarrierCountry', 'TypeFirmwareVersion', 'TypeDeviceManufacturer', 'TypeDeviceModel', 'TypeApplicationVersion', 'TypeNetworkType', 'TypeLanguage', 'TypeScreenSize', 'TypeLocation', 'TypeGeoFencing', 'TypeAnnouncementFeedback', 'TypePollFeedback', 'TypePollAnswerFeedback', 'TypeDatapushFeedback', 'TypeSegment', 'TypeStringTag', 'TypeDateTag', 'TypeIntegerTag', 'TypeBooleanTag' - Type Type `json:"type,omitempty"` -} - -// MarshalJSON is the custom marshaler for ScreenSizeCriterion. -func (ssc ScreenSizeCriterion) MarshalJSON() ([]byte, error) { - ssc.Type = TypeScreenSize - objectMap := make(map[string]interface{}) - if ssc.Name != nil { - objectMap["name"] = ssc.Name - } - if ssc.Type != "" { - objectMap["type"] = ssc.Type - } - return json.Marshal(objectMap) -} - -// AsCarrierNameCriterion is the BasicCriterion implementation for ScreenSizeCriterion. -func (ssc ScreenSizeCriterion) AsCarrierNameCriterion() (*CarrierNameCriterion, bool) { - return nil, false -} - -// AsCarrierCountryCriterion is the BasicCriterion implementation for ScreenSizeCriterion. -func (ssc ScreenSizeCriterion) AsCarrierCountryCriterion() (*CarrierCountryCriterion, bool) { - return nil, false -} - -// AsFirmwareVersionCriterion is the BasicCriterion implementation for ScreenSizeCriterion. -func (ssc ScreenSizeCriterion) AsFirmwareVersionCriterion() (*FirmwareVersionCriterion, bool) { - return nil, false -} - -// AsDeviceManufacturerCriterion is the BasicCriterion implementation for ScreenSizeCriterion. -func (ssc ScreenSizeCriterion) AsDeviceManufacturerCriterion() (*DeviceManufacturerCriterion, bool) { - return nil, false -} - -// AsDeviceModelCriterion is the BasicCriterion implementation for ScreenSizeCriterion. -func (ssc ScreenSizeCriterion) AsDeviceModelCriterion() (*DeviceModelCriterion, bool) { - return nil, false -} - -// AsApplicationVersionCriterion is the BasicCriterion implementation for ScreenSizeCriterion. -func (ssc ScreenSizeCriterion) AsApplicationVersionCriterion() (*ApplicationVersionCriterion, bool) { - return nil, false -} - -// AsNetworkTypeCriterion is the BasicCriterion implementation for ScreenSizeCriterion. -func (ssc ScreenSizeCriterion) AsNetworkTypeCriterion() (*NetworkTypeCriterion, bool) { - return nil, false -} - -// AsLanguageCriterion is the BasicCriterion implementation for ScreenSizeCriterion. -func (ssc ScreenSizeCriterion) AsLanguageCriterion() (*LanguageCriterion, bool) { - return nil, false -} - -// AsScreenSizeCriterion is the BasicCriterion implementation for ScreenSizeCriterion. -func (ssc ScreenSizeCriterion) AsScreenSizeCriterion() (*ScreenSizeCriterion, bool) { - return &ssc, true -} - -// AsLocationCriterion is the BasicCriterion implementation for ScreenSizeCriterion. -func (ssc ScreenSizeCriterion) AsLocationCriterion() (*LocationCriterion, bool) { - return nil, false -} - -// AsGeoFencingCriterion is the BasicCriterion implementation for ScreenSizeCriterion. -func (ssc ScreenSizeCriterion) AsGeoFencingCriterion() (*GeoFencingCriterion, bool) { - return nil, false -} - -// AsAnnouncementFeedbackCriterion is the BasicCriterion implementation for ScreenSizeCriterion. -func (ssc ScreenSizeCriterion) AsAnnouncementFeedbackCriterion() (*AnnouncementFeedbackCriterion, bool) { - return nil, false -} - -// AsPollFeedbackCriterion is the BasicCriterion implementation for ScreenSizeCriterion. -func (ssc ScreenSizeCriterion) AsPollFeedbackCriterion() (*PollFeedbackCriterion, bool) { - return nil, false -} - -// AsPollAnswerFeedbackCriterion is the BasicCriterion implementation for ScreenSizeCriterion. -func (ssc ScreenSizeCriterion) AsPollAnswerFeedbackCriterion() (*PollAnswerFeedbackCriterion, bool) { - return nil, false -} - -// AsDatapushFeedbackCriterion is the BasicCriterion implementation for ScreenSizeCriterion. -func (ssc ScreenSizeCriterion) AsDatapushFeedbackCriterion() (*DatapushFeedbackCriterion, bool) { - return nil, false -} - -// AsSegmentCriterion is the BasicCriterion implementation for ScreenSizeCriterion. -func (ssc ScreenSizeCriterion) AsSegmentCriterion() (*SegmentCriterion, bool) { - return nil, false -} - -// AsStringTagCriterion is the BasicCriterion implementation for ScreenSizeCriterion. -func (ssc ScreenSizeCriterion) AsStringTagCriterion() (*StringTagCriterion, bool) { - return nil, false -} - -// AsDateTagCriterion is the BasicCriterion implementation for ScreenSizeCriterion. -func (ssc ScreenSizeCriterion) AsDateTagCriterion() (*DateTagCriterion, bool) { - return nil, false -} - -// AsIntegerTagCriterion is the BasicCriterion implementation for ScreenSizeCriterion. -func (ssc ScreenSizeCriterion) AsIntegerTagCriterion() (*IntegerTagCriterion, bool) { - return nil, false -} - -// AsBooleanTagCriterion is the BasicCriterion implementation for ScreenSizeCriterion. -func (ssc ScreenSizeCriterion) AsBooleanTagCriterion() (*BooleanTagCriterion, bool) { - return nil, false -} - -// AsCriterion is the BasicCriterion implementation for ScreenSizeCriterion. -func (ssc ScreenSizeCriterion) AsCriterion() (*Criterion, bool) { - return nil, false -} - -// AsBasicCriterion is the BasicCriterion implementation for ScreenSizeCriterion. -func (ssc ScreenSizeCriterion) AsBasicCriterion() (BasicCriterion, bool) { - return &ssc, true -} - -// SegmentCriterion target devices based on an existing segment. -type SegmentCriterion struct { - // ID - Segment identifier. - ID *int32 `json:"id,omitempty"` - // Exclude - If value is true, the criterion will target users that are NOT part of the segment. - Exclude *bool `json:"exclude,omitempty"` - // Type - Possible values include: 'TypeCriterion', 'TypeCarrierName', 'TypeCarrierCountry', 'TypeFirmwareVersion', 'TypeDeviceManufacturer', 'TypeDeviceModel', 'TypeApplicationVersion', 'TypeNetworkType', 'TypeLanguage', 'TypeScreenSize', 'TypeLocation', 'TypeGeoFencing', 'TypeAnnouncementFeedback', 'TypePollFeedback', 'TypePollAnswerFeedback', 'TypeDatapushFeedback', 'TypeSegment', 'TypeStringTag', 'TypeDateTag', 'TypeIntegerTag', 'TypeBooleanTag' - Type Type `json:"type,omitempty"` -} - -// MarshalJSON is the custom marshaler for SegmentCriterion. -func (sc SegmentCriterion) MarshalJSON() ([]byte, error) { - sc.Type = TypeSegment - objectMap := make(map[string]interface{}) - if sc.ID != nil { - objectMap["id"] = sc.ID - } - if sc.Exclude != nil { - objectMap["exclude"] = sc.Exclude - } - if sc.Type != "" { - objectMap["type"] = sc.Type - } - return json.Marshal(objectMap) -} - -// AsCarrierNameCriterion is the BasicCriterion implementation for SegmentCriterion. -func (sc SegmentCriterion) AsCarrierNameCriterion() (*CarrierNameCriterion, bool) { - return nil, false -} - -// AsCarrierCountryCriterion is the BasicCriterion implementation for SegmentCriterion. -func (sc SegmentCriterion) AsCarrierCountryCriterion() (*CarrierCountryCriterion, bool) { - return nil, false -} - -// AsFirmwareVersionCriterion is the BasicCriterion implementation for SegmentCriterion. -func (sc SegmentCriterion) AsFirmwareVersionCriterion() (*FirmwareVersionCriterion, bool) { - return nil, false -} - -// AsDeviceManufacturerCriterion is the BasicCriterion implementation for SegmentCriterion. -func (sc SegmentCriterion) AsDeviceManufacturerCriterion() (*DeviceManufacturerCriterion, bool) { - return nil, false -} - -// AsDeviceModelCriterion is the BasicCriterion implementation for SegmentCriterion. -func (sc SegmentCriterion) AsDeviceModelCriterion() (*DeviceModelCriterion, bool) { - return nil, false -} - -// AsApplicationVersionCriterion is the BasicCriterion implementation for SegmentCriterion. -func (sc SegmentCriterion) AsApplicationVersionCriterion() (*ApplicationVersionCriterion, bool) { - return nil, false -} - -// AsNetworkTypeCriterion is the BasicCriterion implementation for SegmentCriterion. -func (sc SegmentCriterion) AsNetworkTypeCriterion() (*NetworkTypeCriterion, bool) { - return nil, false -} - -// AsLanguageCriterion is the BasicCriterion implementation for SegmentCriterion. -func (sc SegmentCriterion) AsLanguageCriterion() (*LanguageCriterion, bool) { - return nil, false -} - -// AsScreenSizeCriterion is the BasicCriterion implementation for SegmentCriterion. -func (sc SegmentCriterion) AsScreenSizeCriterion() (*ScreenSizeCriterion, bool) { - return nil, false -} - -// AsLocationCriterion is the BasicCriterion implementation for SegmentCriterion. -func (sc SegmentCriterion) AsLocationCriterion() (*LocationCriterion, bool) { - return nil, false -} - -// AsGeoFencingCriterion is the BasicCriterion implementation for SegmentCriterion. -func (sc SegmentCriterion) AsGeoFencingCriterion() (*GeoFencingCriterion, bool) { - return nil, false -} - -// AsAnnouncementFeedbackCriterion is the BasicCriterion implementation for SegmentCriterion. -func (sc SegmentCriterion) AsAnnouncementFeedbackCriterion() (*AnnouncementFeedbackCriterion, bool) { - return nil, false -} - -// AsPollFeedbackCriterion is the BasicCriterion implementation for SegmentCriterion. -func (sc SegmentCriterion) AsPollFeedbackCriterion() (*PollFeedbackCriterion, bool) { - return nil, false -} - -// AsPollAnswerFeedbackCriterion is the BasicCriterion implementation for SegmentCriterion. -func (sc SegmentCriterion) AsPollAnswerFeedbackCriterion() (*PollAnswerFeedbackCriterion, bool) { - return nil, false -} - -// AsDatapushFeedbackCriterion is the BasicCriterion implementation for SegmentCriterion. -func (sc SegmentCriterion) AsDatapushFeedbackCriterion() (*DatapushFeedbackCriterion, bool) { - return nil, false -} - -// AsSegmentCriterion is the BasicCriterion implementation for SegmentCriterion. -func (sc SegmentCriterion) AsSegmentCriterion() (*SegmentCriterion, bool) { - return &sc, true -} - -// AsStringTagCriterion is the BasicCriterion implementation for SegmentCriterion. -func (sc SegmentCriterion) AsStringTagCriterion() (*StringTagCriterion, bool) { - return nil, false -} - -// AsDateTagCriterion is the BasicCriterion implementation for SegmentCriterion. -func (sc SegmentCriterion) AsDateTagCriterion() (*DateTagCriterion, bool) { - return nil, false -} - -// AsIntegerTagCriterion is the BasicCriterion implementation for SegmentCriterion. -func (sc SegmentCriterion) AsIntegerTagCriterion() (*IntegerTagCriterion, bool) { - return nil, false -} - -// AsBooleanTagCriterion is the BasicCriterion implementation for SegmentCriterion. -func (sc SegmentCriterion) AsBooleanTagCriterion() (*BooleanTagCriterion, bool) { - return nil, false -} - -// AsCriterion is the BasicCriterion implementation for SegmentCriterion. -func (sc SegmentCriterion) AsCriterion() (*Criterion, bool) { - return nil, false -} - -// AsBasicCriterion is the BasicCriterion implementation for SegmentCriterion. -func (sc SegmentCriterion) AsBasicCriterion() (BasicCriterion, bool) { - return &sc, true -} - -// StringTagCriterion target devices based on a string tag value. -type StringTagCriterion struct { - // Name - The name of the custom tag. - Name *string `json:"name,omitempty"` - // Value - A custom string to match for tag value (? and * characters can be used to perform wildcard matching). - Value *string `json:"value,omitempty"` - // Type - Possible values include: 'TypeCriterion', 'TypeCarrierName', 'TypeCarrierCountry', 'TypeFirmwareVersion', 'TypeDeviceManufacturer', 'TypeDeviceModel', 'TypeApplicationVersion', 'TypeNetworkType', 'TypeLanguage', 'TypeScreenSize', 'TypeLocation', 'TypeGeoFencing', 'TypeAnnouncementFeedback', 'TypePollFeedback', 'TypePollAnswerFeedback', 'TypeDatapushFeedback', 'TypeSegment', 'TypeStringTag', 'TypeDateTag', 'TypeIntegerTag', 'TypeBooleanTag' - Type Type `json:"type,omitempty"` -} - -// MarshalJSON is the custom marshaler for StringTagCriterion. -func (stc StringTagCriterion) MarshalJSON() ([]byte, error) { - stc.Type = TypeStringTag - objectMap := make(map[string]interface{}) - if stc.Name != nil { - objectMap["name"] = stc.Name - } - if stc.Value != nil { - objectMap["value"] = stc.Value - } - if stc.Type != "" { - objectMap["type"] = stc.Type - } - return json.Marshal(objectMap) -} - -// AsCarrierNameCriterion is the BasicCriterion implementation for StringTagCriterion. -func (stc StringTagCriterion) AsCarrierNameCriterion() (*CarrierNameCriterion, bool) { - return nil, false -} - -// AsCarrierCountryCriterion is the BasicCriterion implementation for StringTagCriterion. -func (stc StringTagCriterion) AsCarrierCountryCriterion() (*CarrierCountryCriterion, bool) { - return nil, false -} - -// AsFirmwareVersionCriterion is the BasicCriterion implementation for StringTagCriterion. -func (stc StringTagCriterion) AsFirmwareVersionCriterion() (*FirmwareVersionCriterion, bool) { - return nil, false -} - -// AsDeviceManufacturerCriterion is the BasicCriterion implementation for StringTagCriterion. -func (stc StringTagCriterion) AsDeviceManufacturerCriterion() (*DeviceManufacturerCriterion, bool) { - return nil, false -} - -// AsDeviceModelCriterion is the BasicCriterion implementation for StringTagCriterion. -func (stc StringTagCriterion) AsDeviceModelCriterion() (*DeviceModelCriterion, bool) { - return nil, false -} - -// AsApplicationVersionCriterion is the BasicCriterion implementation for StringTagCriterion. -func (stc StringTagCriterion) AsApplicationVersionCriterion() (*ApplicationVersionCriterion, bool) { - return nil, false -} - -// AsNetworkTypeCriterion is the BasicCriterion implementation for StringTagCriterion. -func (stc StringTagCriterion) AsNetworkTypeCriterion() (*NetworkTypeCriterion, bool) { - return nil, false -} - -// AsLanguageCriterion is the BasicCriterion implementation for StringTagCriterion. -func (stc StringTagCriterion) AsLanguageCriterion() (*LanguageCriterion, bool) { - return nil, false -} - -// AsScreenSizeCriterion is the BasicCriterion implementation for StringTagCriterion. -func (stc StringTagCriterion) AsScreenSizeCriterion() (*ScreenSizeCriterion, bool) { - return nil, false -} - -// AsLocationCriterion is the BasicCriterion implementation for StringTagCriterion. -func (stc StringTagCriterion) AsLocationCriterion() (*LocationCriterion, bool) { - return nil, false -} - -// AsGeoFencingCriterion is the BasicCriterion implementation for StringTagCriterion. -func (stc StringTagCriterion) AsGeoFencingCriterion() (*GeoFencingCriterion, bool) { - return nil, false -} - -// AsAnnouncementFeedbackCriterion is the BasicCriterion implementation for StringTagCriterion. -func (stc StringTagCriterion) AsAnnouncementFeedbackCriterion() (*AnnouncementFeedbackCriterion, bool) { - return nil, false -} - -// AsPollFeedbackCriterion is the BasicCriterion implementation for StringTagCriterion. -func (stc StringTagCriterion) AsPollFeedbackCriterion() (*PollFeedbackCriterion, bool) { - return nil, false -} - -// AsPollAnswerFeedbackCriterion is the BasicCriterion implementation for StringTagCriterion. -func (stc StringTagCriterion) AsPollAnswerFeedbackCriterion() (*PollAnswerFeedbackCriterion, bool) { - return nil, false -} - -// AsDatapushFeedbackCriterion is the BasicCriterion implementation for StringTagCriterion. -func (stc StringTagCriterion) AsDatapushFeedbackCriterion() (*DatapushFeedbackCriterion, bool) { - return nil, false -} - -// AsSegmentCriterion is the BasicCriterion implementation for StringTagCriterion. -func (stc StringTagCriterion) AsSegmentCriterion() (*SegmentCriterion, bool) { - return nil, false -} - -// AsStringTagCriterion is the BasicCriterion implementation for StringTagCriterion. -func (stc StringTagCriterion) AsStringTagCriterion() (*StringTagCriterion, bool) { - return &stc, true -} - -// AsDateTagCriterion is the BasicCriterion implementation for StringTagCriterion. -func (stc StringTagCriterion) AsDateTagCriterion() (*DateTagCriterion, bool) { - return nil, false -} - -// AsIntegerTagCriterion is the BasicCriterion implementation for StringTagCriterion. -func (stc StringTagCriterion) AsIntegerTagCriterion() (*IntegerTagCriterion, bool) { - return nil, false -} - -// AsBooleanTagCriterion is the BasicCriterion implementation for StringTagCriterion. -func (stc StringTagCriterion) AsBooleanTagCriterion() (*BooleanTagCriterion, bool) { - return nil, false -} - -// AsCriterion is the BasicCriterion implementation for StringTagCriterion. -func (stc StringTagCriterion) AsCriterion() (*Criterion, bool) { - return nil, false -} - -// AsBasicCriterion is the BasicCriterion implementation for StringTagCriterion. -func (stc StringTagCriterion) AsBasicCriterion() (BasicCriterion, bool) { - return &stc, true -} - -// SupportedPlatformsListResult ... -type SupportedPlatformsListResult struct { - autorest.Response `json:"-"` - // Platforms - List of supported platforms. - Platforms *[]string `json:"platforms,omitempty"` -} diff --git a/services/mobileengagement/mgmt/2014-12-01/mobileengagement/supportedplatforms.go b/services/mobileengagement/mgmt/2014-12-01/mobileengagement/supportedplatforms.go deleted file mode 100644 index 43721ba84489..000000000000 --- a/services/mobileengagement/mgmt/2014-12-01/mobileengagement/supportedplatforms.go +++ /dev/null @@ -1,102 +0,0 @@ -package mobileengagement - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "net/http" -) - -// SupportedPlatformsClient is the microsoft Azure Mobile Engagement REST APIs. -type SupportedPlatformsClient struct { - BaseClient -} - -// NewSupportedPlatformsClient creates an instance of the SupportedPlatformsClient client. -func NewSupportedPlatformsClient(subscriptionID string) SupportedPlatformsClient { - return NewSupportedPlatformsClientWithBaseURI(DefaultBaseURI, subscriptionID) -} - -// NewSupportedPlatformsClientWithBaseURI creates an instance of the SupportedPlatformsClient client. -func NewSupportedPlatformsClientWithBaseURI(baseURI string, subscriptionID string) SupportedPlatformsClient { - return SupportedPlatformsClient{NewWithBaseURI(baseURI, subscriptionID)} -} - -// List lists supported platforms for Engagement applications. -func (client SupportedPlatformsClient) List(ctx context.Context) (result SupportedPlatformsListResult, err error) { - req, err := client.ListPreparer(ctx) - if err != nil { - err = autorest.NewErrorWithError(err, "mobileengagement.SupportedPlatformsClient", "List", nil, "Failure preparing request") - return - } - - resp, err := client.ListSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "mobileengagement.SupportedPlatformsClient", "List", resp, "Failure sending request") - return - } - - result, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "mobileengagement.SupportedPlatformsClient", "List", resp, "Failure responding to request") - } - - return -} - -// ListPreparer prepares the List request. -func (client SupportedPlatformsClient) ListPreparer(ctx context.Context) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2014-12-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.MobileEngagement/supportedPlatforms", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListSender sends the List request. The method will close the -// http.Response Body if it receives an error. -func (client SupportedPlatformsClient) ListSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - azure.DoRetryWithRegistration(client.Client)) -} - -// ListResponder handles the response to the List request. The method always -// closes the http.Response Body. -func (client SupportedPlatformsClient) ListResponder(resp *http.Response) (result SupportedPlatformsListResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} diff --git a/services/mobileengagement/mgmt/2014-12-01/mobileengagement/version.go b/services/mobileengagement/mgmt/2014-12-01/mobileengagement/version.go deleted file mode 100644 index fbf5ae0f930c..000000000000 --- a/services/mobileengagement/mgmt/2014-12-01/mobileengagement/version.go +++ /dev/null @@ -1,30 +0,0 @@ -package mobileengagement - -import "github.com/Azure/azure-sdk-for-go/version" - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -// UserAgent returns the UserAgent string to use when sending http.Requests. -func UserAgent() string { - return "Azure-SDK-For-Go/" + version.Number + " mobileengagement/2014-12-01" -} - -// Version returns the semantic version (see http://semver.org) of the client. -func Version() string { - return version.Number -} diff --git a/services/netapp/mgmt/2019-07-01/netapp/accounts.go b/services/netapp/mgmt/2019-07-01/netapp/accounts.go new file mode 100644 index 000000000000..0153e80d6a37 --- /dev/null +++ b/services/netapp/mgmt/2019-07-01/netapp/accounts.go @@ -0,0 +1,478 @@ +package netapp + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// AccountsClient is the microsoft NetApp Azure Resource Provider specification +type AccountsClient struct { + BaseClient +} + +// NewAccountsClient creates an instance of the AccountsClient client. +func NewAccountsClient(subscriptionID string) AccountsClient { + return NewAccountsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewAccountsClientWithBaseURI creates an instance of the AccountsClient client. +func NewAccountsClientWithBaseURI(baseURI string, subscriptionID string) AccountsClient { + return AccountsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate create or update the specified NetApp account within the resource group +// Parameters: +// body - netApp Account object supplied in the body of the operation. +// resourceGroupName - the name of the resource group. +// accountName - the name of the NetApp account +func (client AccountsClient) CreateOrUpdate(ctx context.Context, body Account, resourceGroupName string, accountName string) (result AccountsCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AccountsClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: body, + Constraints: []validation.Constraint{{Target: "body.Location", Name: validation.Null, Rule: true, Chain: nil}}}, + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("netapp.AccountsClient", "CreateOrUpdate", err.Error()) + } + + req, err := client.CreateOrUpdatePreparer(ctx, body, resourceGroupName, accountName) + if err != nil { + err = autorest.NewErrorWithError(err, "netapp.AccountsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "netapp.AccountsClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client AccountsClient) CreateOrUpdatePreparer(ctx context.Context, body Account, resourceGroupName string, accountName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "accountName": autorest.Encode("path", accountName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + body.ID = nil + body.Name = nil + body.Type = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}", pathParameters), + autorest.WithJSON(body), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client AccountsClient) CreateOrUpdateSender(req *http.Request) (future AccountsCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client AccountsClient) CreateOrUpdateResponder(resp *http.Response) (result Account, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete delete the specified NetApp account +// Parameters: +// resourceGroupName - the name of the resource group. +// accountName - the name of the NetApp account +func (client AccountsClient) Delete(ctx context.Context, resourceGroupName string, accountName string) (result AccountsDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AccountsClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("netapp.AccountsClient", "Delete", err.Error()) + } + + req, err := client.DeletePreparer(ctx, resourceGroupName, accountName) + if err != nil { + err = autorest.NewErrorWithError(err, "netapp.AccountsClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "netapp.AccountsClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client AccountsClient) DeletePreparer(ctx context.Context, resourceGroupName string, accountName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "accountName": autorest.Encode("path", accountName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client AccountsClient) DeleteSender(req *http.Request) (future AccountsDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client AccountsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get get the NetApp account +// Parameters: +// resourceGroupName - the name of the resource group. +// accountName - the name of the NetApp account +func (client AccountsClient) Get(ctx context.Context, resourceGroupName string, accountName string) (result Account, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AccountsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("netapp.AccountsClient", "Get", err.Error()) + } + + req, err := client.GetPreparer(ctx, resourceGroupName, accountName) + if err != nil { + err = autorest.NewErrorWithError(err, "netapp.AccountsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "netapp.AccountsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "netapp.AccountsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client AccountsClient) GetPreparer(ctx context.Context, resourceGroupName string, accountName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "accountName": autorest.Encode("path", accountName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client AccountsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client AccountsClient) GetResponder(resp *http.Response) (result Account, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List list and describe all NetApp accounts in the resource group +// Parameters: +// resourceGroupName - the name of the resource group. +func (client AccountsClient) List(ctx context.Context, resourceGroupName string) (result AccountList, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AccountsClient.List") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("netapp.AccountsClient", "List", err.Error()) + } + + req, err := client.ListPreparer(ctx, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "netapp.AccountsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "netapp.AccountsClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "netapp.AccountsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client AccountsClient) ListPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client AccountsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client AccountsClient) ListResponder(resp *http.Response) (result AccountList, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Update patch the specified NetApp account +// Parameters: +// body - netApp Account object supplied in the body of the operation. +// resourceGroupName - the name of the resource group. +// accountName - the name of the NetApp account +func (client AccountsClient) Update(ctx context.Context, body AccountPatch, resourceGroupName string, accountName string) (result Account, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AccountsClient.Update") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("netapp.AccountsClient", "Update", err.Error()) + } + + req, err := client.UpdatePreparer(ctx, body, resourceGroupName, accountName) + if err != nil { + err = autorest.NewErrorWithError(err, "netapp.AccountsClient", "Update", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "netapp.AccountsClient", "Update", resp, "Failure sending request") + return + } + + result, err = client.UpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "netapp.AccountsClient", "Update", resp, "Failure responding to request") + } + + return +} + +// UpdatePreparer prepares the Update request. +func (client AccountsClient) UpdatePreparer(ctx context.Context, body AccountPatch, resourceGroupName string, accountName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "accountName": autorest.Encode("path", accountName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + body.ID = nil + body.Name = nil + body.Type = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}", pathParameters), + autorest.WithJSON(body), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateSender sends the Update request. The method will close the +// http.Response Body if it receives an error. +func (client AccountsClient) UpdateSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// UpdateResponder handles the response to the Update request. The method always +// closes the http.Response Body. +func (client AccountsClient) UpdateResponder(resp *http.Response) (result Account, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/netapp/mgmt/2019-07-01/netapp/client.go b/services/netapp/mgmt/2019-07-01/netapp/client.go new file mode 100644 index 000000000000..eac55ebbe83c --- /dev/null +++ b/services/netapp/mgmt/2019-07-01/netapp/client.go @@ -0,0 +1,226 @@ +// Package netapp implements the Azure ARM Netapp service API version 2019-07-01. +// +// Microsoft NetApp Azure Resource Provider specification +package netapp + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +const ( + // DefaultBaseURI is the default URI used for the service Netapp + DefaultBaseURI = "https://management.azure.com" +) + +// BaseClient is the base client for Netapp. +type BaseClient struct { + autorest.Client + BaseURI string + SubscriptionID string +} + +// New creates an instance of the BaseClient client. +func New(subscriptionID string) BaseClient { + return NewWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewWithBaseURI creates an instance of the BaseClient client. +func NewWithBaseURI(baseURI string, subscriptionID string) BaseClient { + return BaseClient{ + Client: autorest.NewClientWithUserAgent(UserAgent()), + BaseURI: baseURI, + SubscriptionID: subscriptionID, + } +} + +// CheckFilePathAvailability check if a file path is available. +// Parameters: +// body - file path availability request. +// location - the location +func (client BaseClient) CheckFilePathAvailability(ctx context.Context, body ResourceNameAvailabilityRequest, location string) (result ResourceNameAvailability, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.CheckFilePathAvailability") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: body, + Constraints: []validation.Constraint{{Target: "body.Name", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "body.ResourceGroup", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + return result, validation.NewError("netapp.BaseClient", "CheckFilePathAvailability", err.Error()) + } + + req, err := client.CheckFilePathAvailabilityPreparer(ctx, body, location) + if err != nil { + err = autorest.NewErrorWithError(err, "netapp.BaseClient", "CheckFilePathAvailability", nil, "Failure preparing request") + return + } + + resp, err := client.CheckFilePathAvailabilitySender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "netapp.BaseClient", "CheckFilePathAvailability", resp, "Failure sending request") + return + } + + result, err = client.CheckFilePathAvailabilityResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "netapp.BaseClient", "CheckFilePathAvailability", resp, "Failure responding to request") + } + + return +} + +// CheckFilePathAvailabilityPreparer prepares the CheckFilePathAvailability request. +func (client BaseClient) CheckFilePathAvailabilityPreparer(ctx context.Context, body ResourceNameAvailabilityRequest, location string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "location": autorest.Encode("path", location), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.NetApp/locations/{location}/checkFilePathAvailability", pathParameters), + autorest.WithJSON(body), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CheckFilePathAvailabilitySender sends the CheckFilePathAvailability request. The method will close the +// http.Response Body if it receives an error. +func (client BaseClient) CheckFilePathAvailabilitySender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CheckFilePathAvailabilityResponder handles the response to the CheckFilePathAvailability request. The method always +// closes the http.Response Body. +func (client BaseClient) CheckFilePathAvailabilityResponder(resp *http.Response) (result ResourceNameAvailability, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// CheckNameAvailability check if a resource name is available. +// Parameters: +// body - name availability request. +// location - the location +func (client BaseClient) CheckNameAvailability(ctx context.Context, body ResourceNameAvailabilityRequest, location string) (result ResourceNameAvailability, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.CheckNameAvailability") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: body, + Constraints: []validation.Constraint{{Target: "body.Name", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "body.ResourceGroup", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + return result, validation.NewError("netapp.BaseClient", "CheckNameAvailability", err.Error()) + } + + req, err := client.CheckNameAvailabilityPreparer(ctx, body, location) + if err != nil { + err = autorest.NewErrorWithError(err, "netapp.BaseClient", "CheckNameAvailability", nil, "Failure preparing request") + return + } + + resp, err := client.CheckNameAvailabilitySender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "netapp.BaseClient", "CheckNameAvailability", resp, "Failure sending request") + return + } + + result, err = client.CheckNameAvailabilityResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "netapp.BaseClient", "CheckNameAvailability", resp, "Failure responding to request") + } + + return +} + +// CheckNameAvailabilityPreparer prepares the CheckNameAvailability request. +func (client BaseClient) CheckNameAvailabilityPreparer(ctx context.Context, body ResourceNameAvailabilityRequest, location string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "location": autorest.Encode("path", location), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.NetApp/locations/{location}/checkNameAvailability", pathParameters), + autorest.WithJSON(body), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CheckNameAvailabilitySender sends the CheckNameAvailability request. The method will close the +// http.Response Body if it receives an error. +func (client BaseClient) CheckNameAvailabilitySender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CheckNameAvailabilityResponder handles the response to the CheckNameAvailability request. The method always +// closes the http.Response Body. +func (client BaseClient) CheckNameAvailabilityResponder(resp *http.Response) (result ResourceNameAvailability, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/netapp/mgmt/2019-07-01/netapp/models.go b/services/netapp/mgmt/2019-07-01/netapp/models.go new file mode 100644 index 000000000000..37cc8897ce3c --- /dev/null +++ b/services/netapp/mgmt/2019-07-01/netapp/models.go @@ -0,0 +1,1436 @@ +package netapp + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "encoding/json" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/date" + "net/http" +) + +// The package's fully qualified name. +const fqdn = "github.com/Azure/azure-sdk-for-go/services/netapp/mgmt/2019-07-01/netapp" + +// CheckNameResourceTypes enumerates the values for check name resource types. +type CheckNameResourceTypes string + +const ( + // MicrosoftNetAppnetAppAccounts ... + MicrosoftNetAppnetAppAccounts CheckNameResourceTypes = "Microsoft.NetApp/netAppAccounts" + // MicrosoftNetAppnetAppAccountscapacityPools ... + MicrosoftNetAppnetAppAccountscapacityPools CheckNameResourceTypes = "Microsoft.NetApp/netAppAccounts/capacityPools" + // MicrosoftNetAppnetAppAccountscapacityPoolsvolumes ... + MicrosoftNetAppnetAppAccountscapacityPoolsvolumes CheckNameResourceTypes = "Microsoft.NetApp/netAppAccounts/capacityPools/volumes" + // MicrosoftNetAppnetAppAccountscapacityPoolsvolumessnapshots ... + MicrosoftNetAppnetAppAccountscapacityPoolsvolumessnapshots CheckNameResourceTypes = "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots" +) + +// PossibleCheckNameResourceTypesValues returns an array of possible values for the CheckNameResourceTypes const type. +func PossibleCheckNameResourceTypesValues() []CheckNameResourceTypes { + return []CheckNameResourceTypes{MicrosoftNetAppnetAppAccounts, MicrosoftNetAppnetAppAccountscapacityPools, MicrosoftNetAppnetAppAccountscapacityPoolsvolumes, MicrosoftNetAppnetAppAccountscapacityPoolsvolumessnapshots} +} + +// InAvailabilityReasonType enumerates the values for in availability reason type. +type InAvailabilityReasonType string + +const ( + // AlreadyExists ... + AlreadyExists InAvailabilityReasonType = "AlreadyExists" + // Invalid ... + Invalid InAvailabilityReasonType = "Invalid" +) + +// PossibleInAvailabilityReasonTypeValues returns an array of possible values for the InAvailabilityReasonType const type. +func PossibleInAvailabilityReasonTypeValues() []InAvailabilityReasonType { + return []InAvailabilityReasonType{AlreadyExists, Invalid} +} + +// ServiceLevel enumerates the values for service level. +type ServiceLevel string + +const ( + // Premium Premium service level + Premium ServiceLevel = "Premium" + // Standard Standard service level + Standard ServiceLevel = "Standard" + // Ultra Ultra service level + Ultra ServiceLevel = "Ultra" +) + +// PossibleServiceLevelValues returns an array of possible values for the ServiceLevel const type. +func PossibleServiceLevelValues() []ServiceLevel { + return []ServiceLevel{Premium, Standard, Ultra} +} + +// Account netApp account resource +type Account struct { + autorest.Response `json:"-"` + // Location - Resource location + Location *string `json:"location,omitempty"` + // ID - READ-ONLY; Resource Id + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type + Type *string `json:"type,omitempty"` + // Tags - Resource tags + Tags interface{} `json:"tags,omitempty"` + // AccountProperties - NetApp Account properties + *AccountProperties `json:"properties,omitempty"` +} + +// MarshalJSON is the custom marshaler for Account. +func (a Account) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if a.Location != nil { + objectMap["location"] = a.Location + } + if a.Tags != nil { + objectMap["tags"] = a.Tags + } + if a.AccountProperties != nil { + objectMap["properties"] = a.AccountProperties + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for Account struct. +func (a *Account) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + a.Location = &location + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + a.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + a.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + a.Type = &typeVar + } + case "tags": + if v != nil { + var tags interface{} + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + a.Tags = tags + } + case "properties": + if v != nil { + var accountProperties AccountProperties + err = json.Unmarshal(*v, &accountProperties) + if err != nil { + return err + } + a.AccountProperties = &accountProperties + } + } + } + + return nil +} + +// AccountList list of NetApp account resources +type AccountList struct { + autorest.Response `json:"-"` + // Value - Multiple NetApp accounts + Value *[]Account `json:"value,omitempty"` +} + +// AccountPatch netApp account patch resource +type AccountPatch struct { + // Location - Resource location + Location *string `json:"location,omitempty"` + // ID - READ-ONLY; Resource Id + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type + Type *string `json:"type,omitempty"` + // Tags - Resource tags + Tags interface{} `json:"tags,omitempty"` + // AccountProperties - NetApp Account properties + *AccountProperties `json:"properties,omitempty"` +} + +// MarshalJSON is the custom marshaler for AccountPatch. +func (ap AccountPatch) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if ap.Location != nil { + objectMap["location"] = ap.Location + } + if ap.Tags != nil { + objectMap["tags"] = ap.Tags + } + if ap.AccountProperties != nil { + objectMap["properties"] = ap.AccountProperties + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for AccountPatch struct. +func (ap *AccountPatch) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + ap.Location = &location + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + ap.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + ap.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ap.Type = &typeVar + } + case "tags": + if v != nil { + var tags interface{} + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + ap.Tags = tags + } + case "properties": + if v != nil { + var accountProperties AccountProperties + err = json.Unmarshal(*v, &accountProperties) + if err != nil { + return err + } + ap.AccountProperties = &accountProperties + } + } + } + + return nil +} + +// AccountProperties netApp account properties +type AccountProperties struct { + // ProvisioningState - READ-ONLY; Azure lifecycle management + ProvisioningState *string `json:"provisioningState,omitempty"` + // ActiveDirectories - Active Directories + ActiveDirectories *[]ActiveDirectory `json:"activeDirectories,omitempty"` +} + +// AccountsCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type AccountsCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *AccountsCreateOrUpdateFuture) Result(client AccountsClient) (a Account, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "netapp.AccountsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("netapp.AccountsCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if a.Response.Response, err = future.GetResult(sender); err == nil && a.Response.Response.StatusCode != http.StatusNoContent { + a, err = client.CreateOrUpdateResponder(a.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "netapp.AccountsCreateOrUpdateFuture", "Result", a.Response.Response, "Failure responding to request") + } + } + return +} + +// AccountsDeleteFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type AccountsDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *AccountsDeleteFuture) Result(client AccountsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "netapp.AccountsDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("netapp.AccountsDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// ActiveDirectory active Directory +type ActiveDirectory struct { + // ActiveDirectoryID - Id of the Active Directory + ActiveDirectoryID *string `json:"activeDirectoryId,omitempty"` + // Username - Username of Active Directory domain administrator + Username *string `json:"username,omitempty"` + // Password - Plain text password of Active Directory domain administrator + Password *string `json:"password,omitempty"` + // Domain - Name of the Active Directory domain + Domain *string `json:"domain,omitempty"` + // DNS - Comma separated list of DNS server IP addresses for the Active Directory domain + DNS *string `json:"dns,omitempty"` + // Status - Status of the Active Directory + Status *string `json:"status,omitempty"` + // SmbServerName - NetBIOS name of the SMB server. This name will be registered as a computer account in the AD and used to mount volumes + SmbServerName *string `json:"smbServerName,omitempty"` + // OrganizationalUnit - The Organizational Unit (OU) within the Windows Active Directory + OrganizationalUnit *string `json:"organizationalUnit,omitempty"` +} + +// CapacityPool capacity pool resource +type CapacityPool struct { + autorest.Response `json:"-"` + // Location - Resource location + Location *string `json:"location,omitempty"` + // ID - READ-ONLY; Resource Id + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type + Type *string `json:"type,omitempty"` + // Tags - Resource tags + Tags interface{} `json:"tags,omitempty"` + // PoolProperties - Capacity pool properties + *PoolProperties `json:"properties,omitempty"` +} + +// MarshalJSON is the custom marshaler for CapacityPool. +func (cp CapacityPool) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if cp.Location != nil { + objectMap["location"] = cp.Location + } + if cp.Tags != nil { + objectMap["tags"] = cp.Tags + } + if cp.PoolProperties != nil { + objectMap["properties"] = cp.PoolProperties + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for CapacityPool struct. +func (cp *CapacityPool) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + cp.Location = &location + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + cp.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + cp.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + cp.Type = &typeVar + } + case "tags": + if v != nil { + var tags interface{} + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + cp.Tags = tags + } + case "properties": + if v != nil { + var poolProperties PoolProperties + err = json.Unmarshal(*v, &poolProperties) + if err != nil { + return err + } + cp.PoolProperties = &poolProperties + } + } + } + + return nil +} + +// CapacityPoolList list of capacity pool resources +type CapacityPoolList struct { + autorest.Response `json:"-"` + // Value - List of Capacity pools + Value *[]CapacityPool `json:"value,omitempty"` +} + +// CapacityPoolPatch capacity pool patch resource +type CapacityPoolPatch struct { + // Location - Resource location + Location *string `json:"location,omitempty"` + // ID - READ-ONLY; Resource Id + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type + Type *string `json:"type,omitempty"` + // Tags - Resource tags + Tags interface{} `json:"tags,omitempty"` + // PoolPatchProperties - Capacity pool properties + *PoolPatchProperties `json:"properties,omitempty"` +} + +// MarshalJSON is the custom marshaler for CapacityPoolPatch. +func (cpp CapacityPoolPatch) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if cpp.Location != nil { + objectMap["location"] = cpp.Location + } + if cpp.Tags != nil { + objectMap["tags"] = cpp.Tags + } + if cpp.PoolPatchProperties != nil { + objectMap["properties"] = cpp.PoolPatchProperties + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for CapacityPoolPatch struct. +func (cpp *CapacityPoolPatch) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + cpp.Location = &location + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + cpp.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + cpp.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + cpp.Type = &typeVar + } + case "tags": + if v != nil { + var tags interface{} + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + cpp.Tags = tags + } + case "properties": + if v != nil { + var poolPatchProperties PoolPatchProperties + err = json.Unmarshal(*v, &poolPatchProperties) + if err != nil { + return err + } + cpp.PoolPatchProperties = &poolPatchProperties + } + } + } + + return nil +} + +// Dimension dimension of blobs, possibly be blob type or access tier. +type Dimension struct { + // Name - Display name of dimension. + Name *string `json:"name,omitempty"` + // DisplayName - Display name of dimension. + DisplayName *string `json:"displayName,omitempty"` +} + +// ExportPolicyRule volume Export Policy Rule +type ExportPolicyRule struct { + // RuleIndex - Order index + RuleIndex *int32 `json:"ruleIndex,omitempty"` + // UnixReadOnly - Read only access + UnixReadOnly *bool `json:"unixReadOnly,omitempty"` + // UnixReadWrite - Read and write access + UnixReadWrite *bool `json:"unixReadWrite,omitempty"` + // Cifs - Allows CIFS protocol + Cifs *bool `json:"cifs,omitempty"` + // Nfsv3 - Allows NFSv3 protocol + Nfsv3 *bool `json:"nfsv3,omitempty"` + // Nfsv41 - Allows NFSv4.1 protocol + Nfsv41 *bool `json:"nfsv41,omitempty"` + // AllowedClients - Client ingress specification as comma separated string with IPv4 CIDRs, IPv4 host addresses and host names + AllowedClients *string `json:"allowedClients,omitempty"` +} + +// MetricSpecification metric specification of operation. +type MetricSpecification struct { + // Name - Name of metric specification. + Name *string `json:"name,omitempty"` + // DisplayName - Display name of metric specification. + DisplayName *string `json:"displayName,omitempty"` + // DisplayDescription - Display description of metric specification. + DisplayDescription *string `json:"displayDescription,omitempty"` + // Unit - Unit could be Bytes or Count. + Unit *string `json:"unit,omitempty"` + // Dimensions - Dimensions of blobs, including blob type and access tier. + Dimensions *[]Dimension `json:"dimensions,omitempty"` + // AggregationType - Aggregation type could be Average. + AggregationType *string `json:"aggregationType,omitempty"` + // FillGapWithZero - The property to decide fill gap with zero or not. + FillGapWithZero *bool `json:"fillGapWithZero,omitempty"` + // Category - The category this metric specification belong to, could be Capacity. + Category *string `json:"category,omitempty"` + // ResourceIDDimensionNameOverride - Account Resource Id. + ResourceIDDimensionNameOverride *string `json:"resourceIdDimensionNameOverride,omitempty"` +} + +// MountTarget mount Target +type MountTarget struct { + // Location - Resource location + Location *string `json:"location,omitempty"` + // ID - READ-ONLY; Resource Id + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name + Name *string `json:"name,omitempty"` + // Tags - Resource tags + Tags interface{} `json:"tags,omitempty"` + // MountTargetProperties - Mount Target Properties + *MountTargetProperties `json:"properties,omitempty"` +} + +// MarshalJSON is the custom marshaler for MountTarget. +func (mt MountTarget) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if mt.Location != nil { + objectMap["location"] = mt.Location + } + if mt.Tags != nil { + objectMap["tags"] = mt.Tags + } + if mt.MountTargetProperties != nil { + objectMap["properties"] = mt.MountTargetProperties + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for MountTarget struct. +func (mt *MountTarget) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + mt.Location = &location + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + mt.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + mt.Name = &name + } + case "tags": + if v != nil { + var tags interface{} + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + mt.Tags = tags + } + case "properties": + if v != nil { + var mountTargetProperties MountTargetProperties + err = json.Unmarshal(*v, &mountTargetProperties) + if err != nil { + return err + } + mt.MountTargetProperties = &mountTargetProperties + } + } + } + + return nil +} + +// MountTargetList list of Mount Targets +type MountTargetList struct { + autorest.Response `json:"-"` + // Value - A list of Mount targets + Value *[]MountTarget `json:"value,omitempty"` +} + +// MountTargetProperties mount target properties +type MountTargetProperties struct { + // MountTargetID - READ-ONLY; UUID v4 used to identify the MountTarget + MountTargetID *string `json:"mountTargetId,omitempty"` + // FileSystemID - UUID v4 used to identify the MountTarget + FileSystemID *string `json:"fileSystemId,omitempty"` + // IPAddress - READ-ONLY; The mount target's IPv4 address + IPAddress *string `json:"ipAddress,omitempty"` + // Subnet - The subnet + Subnet *string `json:"subnet,omitempty"` + // StartIP - The start of IPv4 address range to use when creating a new mount target + StartIP *string `json:"startIp,omitempty"` + // EndIP - The end of IPv4 address range to use when creating a new mount target + EndIP *string `json:"endIp,omitempty"` + // Gateway - The gateway of the IPv4 address range to use when creating a new mount target + Gateway *string `json:"gateway,omitempty"` + // Netmask - The netmask of the IPv4 address range to use when creating a new mount target + Netmask *string `json:"netmask,omitempty"` + // SmbServerFqdn - The SMB server's Fully Qualified Domain Name, FQDN + SmbServerFqdn *string `json:"smbServerFqdn,omitempty"` + // ProvisioningState - READ-ONLY; Azure lifecycle management + ProvisioningState *string `json:"provisioningState,omitempty"` +} + +// Operation microsoft.NetApp REST API operation definition. +type Operation struct { + // Name - Operation name: {provider}/{resource}/{operation} + Name *string `json:"name,omitempty"` + // Display - Display metadata associated with the operation. + Display *OperationDisplay `json:"display,omitempty"` + // Origin - The origin of operations. + Origin *string `json:"origin,omitempty"` + // OperationProperties - Properties of operation, include metric specifications. + *OperationProperties `json:"properties,omitempty"` +} + +// MarshalJSON is the custom marshaler for Operation. +func (o Operation) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if o.Name != nil { + objectMap["name"] = o.Name + } + if o.Display != nil { + objectMap["display"] = o.Display + } + if o.Origin != nil { + objectMap["origin"] = o.Origin + } + if o.OperationProperties != nil { + objectMap["properties"] = o.OperationProperties + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for Operation struct. +func (o *Operation) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + o.Name = &name + } + case "display": + if v != nil { + var display OperationDisplay + err = json.Unmarshal(*v, &display) + if err != nil { + return err + } + o.Display = &display + } + case "origin": + if v != nil { + var origin string + err = json.Unmarshal(*v, &origin) + if err != nil { + return err + } + o.Origin = &origin + } + case "properties": + if v != nil { + var operationProperties OperationProperties + err = json.Unmarshal(*v, &operationProperties) + if err != nil { + return err + } + o.OperationProperties = &operationProperties + } + } + } + + return nil +} + +// OperationDisplay display metadata associated with the operation. +type OperationDisplay struct { + // Provider - Service provider: Microsoft NetApp. + Provider *string `json:"provider,omitempty"` + // Resource - Resource on which the operation is performed etc. + Resource *string `json:"resource,omitempty"` + // Operation - Type of operation: get, read, delete, etc. + Operation *string `json:"operation,omitempty"` + // Description - Operation description. + Description *string `json:"description,omitempty"` +} + +// OperationListResult result of the request to list Cloud Volume operations. It contains a list of +// operations and a URL link to get the next set of results. +type OperationListResult struct { + autorest.Response `json:"-"` + // Value - List of Storage operations supported by the Storage resource provider. + Value *[]Operation `json:"value,omitempty"` +} + +// OperationProperties properties of operation, include metric specifications. +type OperationProperties struct { + // ServiceSpecification - One property of operation, include metric specifications. + ServiceSpecification *ServiceSpecification `json:"serviceSpecification,omitempty"` +} + +// PoolPatchProperties patchable pool properties +type PoolPatchProperties struct { + // Size - Provisioned size of the pool (in bytes). Allowed values are in 4TiB chunks (value must be multiply of 4398046511104). + Size *int64 `json:"size,omitempty"` + // ServiceLevel - The service level of the file system. Possible values include: 'Standard', 'Premium', 'Ultra' + ServiceLevel ServiceLevel `json:"serviceLevel,omitempty"` +} + +// PoolProperties pool properties +type PoolProperties struct { + // PoolID - READ-ONLY; UUID v4 used to identify the Pool + PoolID *string `json:"poolId,omitempty"` + // Size - Provisioned size of the pool (in bytes). Allowed values are in 4TiB chunks (value must be multiply of 4398046511104). + Size *int64 `json:"size,omitempty"` + // ServiceLevel - The service level of the file system. Possible values include: 'Standard', 'Premium', 'Ultra' + ServiceLevel ServiceLevel `json:"serviceLevel,omitempty"` + // ProvisioningState - READ-ONLY; Azure lifecycle management + ProvisioningState *string `json:"provisioningState,omitempty"` +} + +// PoolsCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type PoolsCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *PoolsCreateOrUpdateFuture) Result(client PoolsClient) (cp CapacityPool, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "netapp.PoolsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("netapp.PoolsCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if cp.Response.Response, err = future.GetResult(sender); err == nil && cp.Response.Response.StatusCode != http.StatusNoContent { + cp, err = client.CreateOrUpdateResponder(cp.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "netapp.PoolsCreateOrUpdateFuture", "Result", cp.Response.Response, "Failure responding to request") + } + } + return +} + +// PoolsDeleteFuture an abstraction for monitoring and retrieving the results of a long-running operation. +type PoolsDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *PoolsDeleteFuture) Result(client PoolsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "netapp.PoolsDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("netapp.PoolsDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// ResourceNameAvailability information regarding availability of a resource name. +type ResourceNameAvailability struct { + autorest.Response `json:"-"` + // IsAvailable - true indicates name is valid and available. false indicates the name is invalid, unavailable, or both. + IsAvailable *bool `json:"isAvailable,omitempty"` + // Reason - Invalid indicates the name provided does not match Azure App Service naming requirements. AlreadyExists indicates that the name is already in use and is therefore unavailable. Possible values include: 'Invalid', 'AlreadyExists' + Reason InAvailabilityReasonType `json:"reason,omitempty"` + // Message - If reason == invalid, provide the user with the reason why the given name is invalid, and provide the resource naming requirements so that the user can select a valid name. If reason == AlreadyExists, explain that resource name is already in use, and direct them to select a different name. + Message *string `json:"message,omitempty"` +} + +// ResourceNameAvailabilityRequest resource name availability request content. +type ResourceNameAvailabilityRequest struct { + // Name - Resource name to verify. + Name *string `json:"name,omitempty"` + // Type - Resource type used for verification. Possible values include: 'MicrosoftNetAppnetAppAccounts', 'MicrosoftNetAppnetAppAccountscapacityPools', 'MicrosoftNetAppnetAppAccountscapacityPoolsvolumes', 'MicrosoftNetAppnetAppAccountscapacityPoolsvolumessnapshots' + Type CheckNameResourceTypes `json:"type,omitempty"` + // ResourceGroup - Resource group name. + ResourceGroup *string `json:"resourceGroup,omitempty"` +} + +// ServiceSpecification one property of operation, include metric specifications. +type ServiceSpecification struct { + // MetricSpecifications - Metric specifications of operation. + MetricSpecifications *[]MetricSpecification `json:"metricSpecifications,omitempty"` +} + +// Snapshot snapshot of a Volume +type Snapshot struct { + autorest.Response `json:"-"` + // Location - Resource location + Location *string `json:"location,omitempty"` + // ID - READ-ONLY; Resource Id + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type + Type *string `json:"type,omitempty"` + // Tags - Resource tags + Tags interface{} `json:"tags,omitempty"` + // SnapshotProperties - Snapshot Properties + *SnapshotProperties `json:"properties,omitempty"` +} + +// MarshalJSON is the custom marshaler for Snapshot. +func (s Snapshot) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if s.Location != nil { + objectMap["location"] = s.Location + } + if s.Tags != nil { + objectMap["tags"] = s.Tags + } + if s.SnapshotProperties != nil { + objectMap["properties"] = s.SnapshotProperties + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for Snapshot struct. +func (s *Snapshot) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + s.Location = &location + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + s.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + s.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + s.Type = &typeVar + } + case "tags": + if v != nil { + var tags interface{} + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + s.Tags = tags + } + case "properties": + if v != nil { + var snapshotProperties SnapshotProperties + err = json.Unmarshal(*v, &snapshotProperties) + if err != nil { + return err + } + s.SnapshotProperties = &snapshotProperties + } + } + } + + return nil +} + +// SnapshotPatch snapshot patch +type SnapshotPatch struct { + // Tags - Resource tags + Tags interface{} `json:"tags,omitempty"` +} + +// SnapshotProperties snapshot properties +type SnapshotProperties struct { + // SnapshotID - READ-ONLY; UUID v4 used to identify the Snapshot + SnapshotID *string `json:"snapshotId,omitempty"` + // FileSystemID - UUID v4 used to identify the FileSystem + FileSystemID *string `json:"fileSystemId,omitempty"` + // Created - READ-ONLY; The creation date of the snapshot + Created *date.Time `json:"created,omitempty"` + // ProvisioningState - READ-ONLY; Azure lifecycle management + ProvisioningState *string `json:"provisioningState,omitempty"` +} + +// SnapshotsCreateFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type SnapshotsCreateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *SnapshotsCreateFuture) Result(client SnapshotsClient) (s Snapshot, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "netapp.SnapshotsCreateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("netapp.SnapshotsCreateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if s.Response.Response, err = future.GetResult(sender); err == nil && s.Response.Response.StatusCode != http.StatusNoContent { + s, err = client.CreateResponder(s.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "netapp.SnapshotsCreateFuture", "Result", s.Response.Response, "Failure responding to request") + } + } + return +} + +// SnapshotsDeleteFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type SnapshotsDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *SnapshotsDeleteFuture) Result(client SnapshotsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "netapp.SnapshotsDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("netapp.SnapshotsDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// SnapshotsList list of Snapshots +type SnapshotsList struct { + autorest.Response `json:"-"` + // Value - A list of Snapshots + Value *[]Snapshot `json:"value,omitempty"` +} + +// Volume volume resource +type Volume struct { + autorest.Response `json:"-"` + // Location - Resource location + Location *string `json:"location,omitempty"` + // ID - READ-ONLY; Resource Id + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type + Type *string `json:"type,omitempty"` + // Tags - Resource tags + Tags interface{} `json:"tags,omitempty"` + // VolumeProperties - Volume properties + *VolumeProperties `json:"properties,omitempty"` +} + +// MarshalJSON is the custom marshaler for Volume. +func (vVar Volume) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if vVar.Location != nil { + objectMap["location"] = vVar.Location + } + if vVar.Tags != nil { + objectMap["tags"] = vVar.Tags + } + if vVar.VolumeProperties != nil { + objectMap["properties"] = vVar.VolumeProperties + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for Volume struct. +func (vVar *Volume) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + vVar.Location = &location + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + vVar.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + vVar.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + vVar.Type = &typeVar + } + case "tags": + if v != nil { + var tags interface{} + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + vVar.Tags = tags + } + case "properties": + if v != nil { + var volumeProperties VolumeProperties + err = json.Unmarshal(*v, &volumeProperties) + if err != nil { + return err + } + vVar.VolumeProperties = &volumeProperties + } + } + } + + return nil +} + +// VolumeList list of volume resources +type VolumeList struct { + autorest.Response `json:"-"` + // Value - List of volumes + Value *[]Volume `json:"value,omitempty"` +} + +// VolumePatch volume patch resource +type VolumePatch struct { + // Location - Resource location + Location *string `json:"location,omitempty"` + // ID - READ-ONLY; Resource Id + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type + Type *string `json:"type,omitempty"` + // Tags - Resource tags + Tags interface{} `json:"tags,omitempty"` + // VolumePatchProperties - Patchable volume properties + *VolumePatchProperties `json:"properties,omitempty"` +} + +// MarshalJSON is the custom marshaler for VolumePatch. +func (vp VolumePatch) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if vp.Location != nil { + objectMap["location"] = vp.Location + } + if vp.Tags != nil { + objectMap["tags"] = vp.Tags + } + if vp.VolumePatchProperties != nil { + objectMap["properties"] = vp.VolumePatchProperties + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for VolumePatch struct. +func (vp *VolumePatch) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + vp.Location = &location + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + vp.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + vp.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + vp.Type = &typeVar + } + case "tags": + if v != nil { + var tags interface{} + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + vp.Tags = tags + } + case "properties": + if v != nil { + var volumePatchProperties VolumePatchProperties + err = json.Unmarshal(*v, &volumePatchProperties) + if err != nil { + return err + } + vp.VolumePatchProperties = &volumePatchProperties + } + } + } + + return nil +} + +// VolumePatchProperties patchable volume properties +type VolumePatchProperties struct { + // ServiceLevel - The service level of the file system. Possible values include: 'Standard', 'Premium', 'Ultra' + ServiceLevel ServiceLevel `json:"serviceLevel,omitempty"` + // UsageThreshold - Maximum storage quota allowed for a file system in bytes. This is a soft quota used for alerting only. Minimum size is 100 GiB. Upper limit is 100TiB. Specified in bytes. + UsageThreshold *int64 `json:"usageThreshold,omitempty"` + // ExportPolicy - Set of export policy rules + ExportPolicy *VolumePatchPropertiesExportPolicy `json:"exportPolicy,omitempty"` +} + +// VolumePatchPropertiesExportPolicy set of export policy rules +type VolumePatchPropertiesExportPolicy struct { + // Rules - Export policy rule + Rules *[]ExportPolicyRule `json:"rules,omitempty"` +} + +// VolumeProperties volume properties +type VolumeProperties struct { + // FileSystemID - READ-ONLY; Unique FileSystem Identifier. + FileSystemID *string `json:"fileSystemId,omitempty"` + // CreationToken - A unique file path for the volume. Used when creating mount targets + CreationToken *string `json:"creationToken,omitempty"` + // ServiceLevel - The service level of the file system. Possible values include: 'Standard', 'Premium', 'Ultra' + ServiceLevel ServiceLevel `json:"serviceLevel,omitempty"` + // UsageThreshold - Maximum storage quota allowed for a file system in bytes. This is a soft quota used for alerting only. Minimum size is 100 GiB. Upper limit is 100TiB. Specified in bytes. + UsageThreshold *int64 `json:"usageThreshold,omitempty"` + // ExportPolicy - Set of export policy rules + ExportPolicy *VolumePropertiesExportPolicy `json:"exportPolicy,omitempty"` + // ProtocolTypes - Set of protocol types + ProtocolTypes *[]string `json:"protocolTypes,omitempty"` + // ProvisioningState - READ-ONLY; Azure lifecycle management + ProvisioningState *string `json:"provisioningState,omitempty"` + // SnapshotID - UUID v4 or resource identifier used to identify the Snapshot. + SnapshotID *string `json:"snapshotId,omitempty"` + // BaremetalTenantID - READ-ONLY; Unique Baremetal Tenant Identifier. + BaremetalTenantID *string `json:"baremetalTenantId,omitempty"` + // SubnetID - The Azure Resource URI for a delegated subnet. Must have the delegation Microsoft.NetApp/volumes + SubnetID *string `json:"subnetId,omitempty"` + // MountTargets - List of mount targets + MountTargets interface{} `json:"mountTargets,omitempty"` +} + +// VolumePropertiesExportPolicy set of export policy rules +type VolumePropertiesExportPolicy struct { + // Rules - Export policy rule + Rules *[]ExportPolicyRule `json:"rules,omitempty"` +} + +// VolumesCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type VolumesCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VolumesCreateOrUpdateFuture) Result(client VolumesClient) (vVar Volume, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "netapp.VolumesCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("netapp.VolumesCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if vVar.Response.Response, err = future.GetResult(sender); err == nil && vVar.Response.Response.StatusCode != http.StatusNoContent { + vVar, err = client.CreateOrUpdateResponder(vVar.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "netapp.VolumesCreateOrUpdateFuture", "Result", vVar.Response.Response, "Failure responding to request") + } + } + return +} + +// VolumesDeleteFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type VolumesDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VolumesDeleteFuture) Result(client VolumesClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "netapp.VolumesDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("netapp.VolumesDeleteFuture") + return + } + ar.Response = future.Response() + return +} diff --git a/services/netapp/mgmt/2019-07-01/netapp/mounttargets.go b/services/netapp/mgmt/2019-07-01/netapp/mounttargets.go new file mode 100644 index 000000000000..ce1763ba3a2d --- /dev/null +++ b/services/netapp/mgmt/2019-07-01/netapp/mounttargets.go @@ -0,0 +1,131 @@ +package netapp + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// MountTargetsClient is the microsoft NetApp Azure Resource Provider specification +type MountTargetsClient struct { + BaseClient +} + +// NewMountTargetsClient creates an instance of the MountTargetsClient client. +func NewMountTargetsClient(subscriptionID string) MountTargetsClient { + return NewMountTargetsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewMountTargetsClientWithBaseURI creates an instance of the MountTargetsClient client. +func NewMountTargetsClientWithBaseURI(baseURI string, subscriptionID string) MountTargetsClient { + return MountTargetsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// List list all mount targets associated with the volume +// Parameters: +// resourceGroupName - the name of the resource group. +// accountName - the name of the NetApp account +// poolName - the name of the capacity pool +// volumeName - the name of the volume +func (client MountTargetsClient) List(ctx context.Context, resourceGroupName string, accountName string, poolName string, volumeName string) (result MountTargetList, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/MountTargetsClient.List") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("netapp.MountTargetsClient", "List", err.Error()) + } + + req, err := client.ListPreparer(ctx, resourceGroupName, accountName, poolName, volumeName) + if err != nil { + err = autorest.NewErrorWithError(err, "netapp.MountTargetsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "netapp.MountTargetsClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "netapp.MountTargetsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client MountTargetsClient) ListPreparer(ctx context.Context, resourceGroupName string, accountName string, poolName string, volumeName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "accountName": autorest.Encode("path", accountName), + "poolName": autorest.Encode("path", poolName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "volumeName": autorest.Encode("path", volumeName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/mountTargets", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client MountTargetsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client MountTargetsClient) ListResponder(resp *http.Response) (result MountTargetList, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/netapp/mgmt/2019-07-01/netapp/netappapi/interfaces.go b/services/netapp/mgmt/2019-07-01/netapp/netappapi/interfaces.go new file mode 100644 index 000000000000..67d9eadf7a09 --- /dev/null +++ b/services/netapp/mgmt/2019-07-01/netapp/netappapi/interfaces.go @@ -0,0 +1,89 @@ +package netappapi + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/azure-sdk-for-go/services/netapp/mgmt/2019-07-01/netapp" +) + +// BaseClientAPI contains the set of methods on the BaseClient type. +type BaseClientAPI interface { + CheckFilePathAvailability(ctx context.Context, body netapp.ResourceNameAvailabilityRequest, location string) (result netapp.ResourceNameAvailability, err error) + CheckNameAvailability(ctx context.Context, body netapp.ResourceNameAvailabilityRequest, location string) (result netapp.ResourceNameAvailability, err error) +} + +var _ BaseClientAPI = (*netapp.BaseClient)(nil) + +// OperationsClientAPI contains the set of methods on the OperationsClient type. +type OperationsClientAPI interface { + List(ctx context.Context) (result netapp.OperationListResult, err error) +} + +var _ OperationsClientAPI = (*netapp.OperationsClient)(nil) + +// AccountsClientAPI contains the set of methods on the AccountsClient type. +type AccountsClientAPI interface { + CreateOrUpdate(ctx context.Context, body netapp.Account, resourceGroupName string, accountName string) (result netapp.AccountsCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, accountName string) (result netapp.AccountsDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, accountName string) (result netapp.Account, err error) + List(ctx context.Context, resourceGroupName string) (result netapp.AccountList, err error) + Update(ctx context.Context, body netapp.AccountPatch, resourceGroupName string, accountName string) (result netapp.Account, err error) +} + +var _ AccountsClientAPI = (*netapp.AccountsClient)(nil) + +// PoolsClientAPI contains the set of methods on the PoolsClient type. +type PoolsClientAPI interface { + CreateOrUpdate(ctx context.Context, body netapp.CapacityPool, resourceGroupName string, accountName string, poolName string) (result netapp.PoolsCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, accountName string, poolName string) (result netapp.PoolsDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, accountName string, poolName string) (result netapp.CapacityPool, err error) + List(ctx context.Context, resourceGroupName string, accountName string) (result netapp.CapacityPoolList, err error) + Update(ctx context.Context, body netapp.CapacityPoolPatch, resourceGroupName string, accountName string, poolName string) (result netapp.CapacityPool, err error) +} + +var _ PoolsClientAPI = (*netapp.PoolsClient)(nil) + +// VolumesClientAPI contains the set of methods on the VolumesClient type. +type VolumesClientAPI interface { + CreateOrUpdate(ctx context.Context, body netapp.Volume, resourceGroupName string, accountName string, poolName string, volumeName string) (result netapp.VolumesCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, accountName string, poolName string, volumeName string) (result netapp.VolumesDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, accountName string, poolName string, volumeName string) (result netapp.Volume, err error) + List(ctx context.Context, resourceGroupName string, accountName string, poolName string) (result netapp.VolumeList, err error) + Update(ctx context.Context, body netapp.VolumePatch, resourceGroupName string, accountName string, poolName string, volumeName string) (result netapp.Volume, err error) +} + +var _ VolumesClientAPI = (*netapp.VolumesClient)(nil) + +// MountTargetsClientAPI contains the set of methods on the MountTargetsClient type. +type MountTargetsClientAPI interface { + List(ctx context.Context, resourceGroupName string, accountName string, poolName string, volumeName string) (result netapp.MountTargetList, err error) +} + +var _ MountTargetsClientAPI = (*netapp.MountTargetsClient)(nil) + +// SnapshotsClientAPI contains the set of methods on the SnapshotsClient type. +type SnapshotsClientAPI interface { + Create(ctx context.Context, body netapp.Snapshot, resourceGroupName string, accountName string, poolName string, volumeName string, snapshotName string) (result netapp.SnapshotsCreateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, accountName string, poolName string, volumeName string, snapshotName string) (result netapp.SnapshotsDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, accountName string, poolName string, volumeName string, snapshotName string) (result netapp.Snapshot, err error) + List(ctx context.Context, resourceGroupName string, accountName string, poolName string, volumeName string) (result netapp.SnapshotsList, err error) + Update(ctx context.Context, body netapp.SnapshotPatch, resourceGroupName string, accountName string, poolName string, volumeName string, snapshotName string) (result netapp.Snapshot, err error) +} + +var _ SnapshotsClientAPI = (*netapp.SnapshotsClient)(nil) diff --git a/services/preview/machinelearning/mgmt/2018-03-01-preview/services/operations.go b/services/netapp/mgmt/2019-07-01/netapp/operations.go similarity index 78% rename from services/preview/machinelearning/mgmt/2018-03-01-preview/services/operations.go rename to services/netapp/mgmt/2019-07-01/netapp/operations.go index c37ea63911b8..c6b1e7923306 100644 --- a/services/preview/machinelearning/mgmt/2018-03-01-preview/services/operations.go +++ b/services/netapp/mgmt/2019-07-01/netapp/operations.go @@ -1,4 +1,4 @@ -package services +package netapp // Copyright (c) Microsoft and contributors. All rights reserved. // @@ -25,7 +25,7 @@ import ( "net/http" ) -// OperationsClient is the these APIs allow end users to operate on Azure Machine Learning Workspace resources. +// OperationsClient is the microsoft NetApp Azure Resource Provider specification type OperationsClient struct { BaseClient } @@ -40,7 +40,7 @@ func NewOperationsClientWithBaseURI(baseURI string, subscriptionID string) Opera return OperationsClient{NewWithBaseURI(baseURI, subscriptionID)} } -// List lists all of the available Azure Machine Learning Workspaces REST API operations. +// List lists all of the available Microsoft.NetApp Rest API operations func (client OperationsClient) List(ctx context.Context) (result OperationListResult, err error) { if tracing.IsEnabled() { ctx = tracing.StartSpan(ctx, fqdn+"/OperationsClient.List") @@ -54,20 +54,20 @@ func (client OperationsClient) List(ctx context.Context) (result OperationListRe } req, err := client.ListPreparer(ctx) if err != nil { - err = autorest.NewErrorWithError(err, "services.OperationsClient", "List", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "netapp.OperationsClient", "List", nil, "Failure preparing request") return } resp, err := client.ListSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "services.OperationsClient", "List", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "netapp.OperationsClient", "List", resp, "Failure sending request") return } result, err = client.ListResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "services.OperationsClient", "List", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "netapp.OperationsClient", "List", resp, "Failure responding to request") } return @@ -75,7 +75,7 @@ func (client OperationsClient) List(ctx context.Context) (result OperationListRe // ListPreparer prepares the List request. func (client OperationsClient) ListPreparer(ctx context.Context) (*http.Request, error) { - const APIVersion = "2018-03-01-preview" + const APIVersion = "2019-07-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -83,7 +83,7 @@ func (client OperationsClient) ListPreparer(ctx context.Context) (*http.Request, preparer := autorest.CreatePreparer( autorest.AsGet(), autorest.WithBaseURL(client.BaseURI), - autorest.WithPath("/providers/Microsoft.MachineLearningServices/operations"), + autorest.WithPath("/providers/Microsoft.NetApp/operations"), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) } @@ -91,8 +91,8 @@ func (client OperationsClient) ListPreparer(ctx context.Context) (*http.Request, // ListSender sends the List request. The method will close the // http.Response Body if it receives an error. func (client OperationsClient) ListSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // ListResponder handles the response to the List request. The method always diff --git a/services/netapp/mgmt/2019-07-01/netapp/pools.go b/services/netapp/mgmt/2019-07-01/netapp/pools.go new file mode 100644 index 000000000000..b565a03ad3d6 --- /dev/null +++ b/services/netapp/mgmt/2019-07-01/netapp/pools.go @@ -0,0 +1,499 @@ +package netapp + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// PoolsClient is the microsoft NetApp Azure Resource Provider specification +type PoolsClient struct { + BaseClient +} + +// NewPoolsClient creates an instance of the PoolsClient client. +func NewPoolsClient(subscriptionID string) PoolsClient { + return NewPoolsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewPoolsClientWithBaseURI creates an instance of the PoolsClient client. +func NewPoolsClientWithBaseURI(baseURI string, subscriptionID string) PoolsClient { + return PoolsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate create or Update a capacity pool +// Parameters: +// body - capacity pool object supplied in the body of the operation. +// resourceGroupName - the name of the resource group. +// accountName - the name of the NetApp account +// poolName - the name of the capacity pool +func (client PoolsClient) CreateOrUpdate(ctx context.Context, body CapacityPool, resourceGroupName string, accountName string, poolName string) (result PoolsCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PoolsClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: body, + Constraints: []validation.Constraint{{Target: "body.Location", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "body.PoolProperties", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "body.PoolProperties.PoolID", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "body.PoolProperties.PoolID", Name: validation.MaxLength, Rule: 36, Chain: nil}, + {Target: "body.PoolProperties.PoolID", Name: validation.MinLength, Rule: 36, Chain: nil}, + {Target: "body.PoolProperties.PoolID", Name: validation.Pattern, Rule: `^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$`, Chain: nil}, + }}, + {Target: "body.PoolProperties.Size", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "body.PoolProperties.Size", Name: validation.InclusiveMaximum, Rule: int64(549755813888000), Chain: nil}, + {Target: "body.PoolProperties.Size", Name: validation.InclusiveMinimum, Rule: 4398046511104, Chain: nil}, + }}, + }}}}, + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("netapp.PoolsClient", "CreateOrUpdate", err.Error()) + } + + req, err := client.CreateOrUpdatePreparer(ctx, body, resourceGroupName, accountName, poolName) + if err != nil { + err = autorest.NewErrorWithError(err, "netapp.PoolsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "netapp.PoolsClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client PoolsClient) CreateOrUpdatePreparer(ctx context.Context, body CapacityPool, resourceGroupName string, accountName string, poolName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "accountName": autorest.Encode("path", accountName), + "poolName": autorest.Encode("path", poolName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + body.ID = nil + body.Name = nil + body.Type = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}", pathParameters), + autorest.WithJSON(body), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client PoolsClient) CreateOrUpdateSender(req *http.Request) (future PoolsCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client PoolsClient) CreateOrUpdateResponder(resp *http.Response) (result CapacityPool, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete delete the specified capacity pool +// Parameters: +// resourceGroupName - the name of the resource group. +// accountName - the name of the NetApp account +// poolName - the name of the capacity pool +func (client PoolsClient) Delete(ctx context.Context, resourceGroupName string, accountName string, poolName string) (result PoolsDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PoolsClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("netapp.PoolsClient", "Delete", err.Error()) + } + + req, err := client.DeletePreparer(ctx, resourceGroupName, accountName, poolName) + if err != nil { + err = autorest.NewErrorWithError(err, "netapp.PoolsClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "netapp.PoolsClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client PoolsClient) DeletePreparer(ctx context.Context, resourceGroupName string, accountName string, poolName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "accountName": autorest.Encode("path", accountName), + "poolName": autorest.Encode("path", poolName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client PoolsClient) DeleteSender(req *http.Request) (future PoolsDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client PoolsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get get details of the specified capacity pool +// Parameters: +// resourceGroupName - the name of the resource group. +// accountName - the name of the NetApp account +// poolName - the name of the capacity pool +func (client PoolsClient) Get(ctx context.Context, resourceGroupName string, accountName string, poolName string) (result CapacityPool, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PoolsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("netapp.PoolsClient", "Get", err.Error()) + } + + req, err := client.GetPreparer(ctx, resourceGroupName, accountName, poolName) + if err != nil { + err = autorest.NewErrorWithError(err, "netapp.PoolsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "netapp.PoolsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "netapp.PoolsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client PoolsClient) GetPreparer(ctx context.Context, resourceGroupName string, accountName string, poolName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "accountName": autorest.Encode("path", accountName), + "poolName": autorest.Encode("path", poolName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client PoolsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client PoolsClient) GetResponder(resp *http.Response) (result CapacityPool, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List list all capacity pools in the NetApp Account +// Parameters: +// resourceGroupName - the name of the resource group. +// accountName - the name of the NetApp account +func (client PoolsClient) List(ctx context.Context, resourceGroupName string, accountName string) (result CapacityPoolList, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PoolsClient.List") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("netapp.PoolsClient", "List", err.Error()) + } + + req, err := client.ListPreparer(ctx, resourceGroupName, accountName) + if err != nil { + err = autorest.NewErrorWithError(err, "netapp.PoolsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "netapp.PoolsClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "netapp.PoolsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client PoolsClient) ListPreparer(ctx context.Context, resourceGroupName string, accountName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "accountName": autorest.Encode("path", accountName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client PoolsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client PoolsClient) ListResponder(resp *http.Response) (result CapacityPoolList, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Update patch the specified capacity pool +// Parameters: +// body - capacity pool object supplied in the body of the operation. +// resourceGroupName - the name of the resource group. +// accountName - the name of the NetApp account +// poolName - the name of the capacity pool +func (client PoolsClient) Update(ctx context.Context, body CapacityPoolPatch, resourceGroupName string, accountName string, poolName string) (result CapacityPool, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PoolsClient.Update") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("netapp.PoolsClient", "Update", err.Error()) + } + + req, err := client.UpdatePreparer(ctx, body, resourceGroupName, accountName, poolName) + if err != nil { + err = autorest.NewErrorWithError(err, "netapp.PoolsClient", "Update", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "netapp.PoolsClient", "Update", resp, "Failure sending request") + return + } + + result, err = client.UpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "netapp.PoolsClient", "Update", resp, "Failure responding to request") + } + + return +} + +// UpdatePreparer prepares the Update request. +func (client PoolsClient) UpdatePreparer(ctx context.Context, body CapacityPoolPatch, resourceGroupName string, accountName string, poolName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "accountName": autorest.Encode("path", accountName), + "poolName": autorest.Encode("path", poolName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + body.ID = nil + body.Name = nil + body.Type = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}", pathParameters), + autorest.WithJSON(body), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateSender sends the Update request. The method will close the +// http.Response Body if it receives an error. +func (client PoolsClient) UpdateSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// UpdateResponder handles the response to the Update request. The method always +// closes the http.Response Body. +func (client PoolsClient) UpdateResponder(resp *http.Response) (result CapacityPool, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/netapp/mgmt/2019-07-01/netapp/snapshots.go b/services/netapp/mgmt/2019-07-01/netapp/snapshots.go new file mode 100644 index 000000000000..3150984c7d65 --- /dev/null +++ b/services/netapp/mgmt/2019-07-01/netapp/snapshots.go @@ -0,0 +1,517 @@ +package netapp + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// SnapshotsClient is the microsoft NetApp Azure Resource Provider specification +type SnapshotsClient struct { + BaseClient +} + +// NewSnapshotsClient creates an instance of the SnapshotsClient client. +func NewSnapshotsClient(subscriptionID string) SnapshotsClient { + return NewSnapshotsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewSnapshotsClientWithBaseURI creates an instance of the SnapshotsClient client. +func NewSnapshotsClientWithBaseURI(baseURI string, subscriptionID string) SnapshotsClient { + return SnapshotsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// Create create the specified snapshot within the given volume +// Parameters: +// body - snapshot object supplied in the body of the operation. +// resourceGroupName - the name of the resource group. +// accountName - the name of the NetApp account +// poolName - the name of the capacity pool +// volumeName - the name of the volume +// snapshotName - the name of the mount target +func (client SnapshotsClient) Create(ctx context.Context, body Snapshot, resourceGroupName string, accountName string, poolName string, volumeName string, snapshotName string) (result SnapshotsCreateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SnapshotsClient.Create") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: body, + Constraints: []validation.Constraint{{Target: "body.Location", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "body.SnapshotProperties", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "body.SnapshotProperties.SnapshotID", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "body.SnapshotProperties.SnapshotID", Name: validation.MaxLength, Rule: 36, Chain: nil}, + {Target: "body.SnapshotProperties.SnapshotID", Name: validation.MinLength, Rule: 36, Chain: nil}, + {Target: "body.SnapshotProperties.SnapshotID", Name: validation.Pattern, Rule: `^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$`, Chain: nil}, + }}, + {Target: "body.SnapshotProperties.FileSystemID", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "body.SnapshotProperties.FileSystemID", Name: validation.MaxLength, Rule: 36, Chain: nil}, + {Target: "body.SnapshotProperties.FileSystemID", Name: validation.MinLength, Rule: 36, Chain: nil}, + {Target: "body.SnapshotProperties.FileSystemID", Name: validation.Pattern, Rule: `^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$`, Chain: nil}, + }}, + }}}}, + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("netapp.SnapshotsClient", "Create", err.Error()) + } + + req, err := client.CreatePreparer(ctx, body, resourceGroupName, accountName, poolName, volumeName, snapshotName) + if err != nil { + err = autorest.NewErrorWithError(err, "netapp.SnapshotsClient", "Create", nil, "Failure preparing request") + return + } + + result, err = client.CreateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "netapp.SnapshotsClient", "Create", result.Response(), "Failure sending request") + return + } + + return +} + +// CreatePreparer prepares the Create request. +func (client SnapshotsClient) CreatePreparer(ctx context.Context, body Snapshot, resourceGroupName string, accountName string, poolName string, volumeName string, snapshotName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "accountName": autorest.Encode("path", accountName), + "poolName": autorest.Encode("path", poolName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "snapshotName": autorest.Encode("path", snapshotName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "volumeName": autorest.Encode("path", volumeName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + body.ID = nil + body.Name = nil + body.Type = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/snapshots/{snapshotName}", pathParameters), + autorest.WithJSON(body), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateSender sends the Create request. The method will close the +// http.Response Body if it receives an error. +func (client SnapshotsClient) CreateSender(req *http.Request) (future SnapshotsCreateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateResponder handles the response to the Create request. The method always +// closes the http.Response Body. +func (client SnapshotsClient) CreateResponder(resp *http.Response) (result Snapshot, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete delete snapshot +// Parameters: +// resourceGroupName - the name of the resource group. +// accountName - the name of the NetApp account +// poolName - the name of the capacity pool +// volumeName - the name of the volume +// snapshotName - the name of the mount target +func (client SnapshotsClient) Delete(ctx context.Context, resourceGroupName string, accountName string, poolName string, volumeName string, snapshotName string) (result SnapshotsDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SnapshotsClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("netapp.SnapshotsClient", "Delete", err.Error()) + } + + req, err := client.DeletePreparer(ctx, resourceGroupName, accountName, poolName, volumeName, snapshotName) + if err != nil { + err = autorest.NewErrorWithError(err, "netapp.SnapshotsClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "netapp.SnapshotsClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client SnapshotsClient) DeletePreparer(ctx context.Context, resourceGroupName string, accountName string, poolName string, volumeName string, snapshotName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "accountName": autorest.Encode("path", accountName), + "poolName": autorest.Encode("path", poolName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "snapshotName": autorest.Encode("path", snapshotName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "volumeName": autorest.Encode("path", volumeName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/snapshots/{snapshotName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client SnapshotsClient) DeleteSender(req *http.Request) (future SnapshotsDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client SnapshotsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get get details of the specified snapshot +// Parameters: +// resourceGroupName - the name of the resource group. +// accountName - the name of the NetApp account +// poolName - the name of the capacity pool +// volumeName - the name of the volume +// snapshotName - the name of the mount target +func (client SnapshotsClient) Get(ctx context.Context, resourceGroupName string, accountName string, poolName string, volumeName string, snapshotName string) (result Snapshot, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SnapshotsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("netapp.SnapshotsClient", "Get", err.Error()) + } + + req, err := client.GetPreparer(ctx, resourceGroupName, accountName, poolName, volumeName, snapshotName) + if err != nil { + err = autorest.NewErrorWithError(err, "netapp.SnapshotsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "netapp.SnapshotsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "netapp.SnapshotsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client SnapshotsClient) GetPreparer(ctx context.Context, resourceGroupName string, accountName string, poolName string, volumeName string, snapshotName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "accountName": autorest.Encode("path", accountName), + "poolName": autorest.Encode("path", poolName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "snapshotName": autorest.Encode("path", snapshotName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "volumeName": autorest.Encode("path", volumeName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/snapshots/{snapshotName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client SnapshotsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client SnapshotsClient) GetResponder(resp *http.Response) (result Snapshot, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List list all snapshots associated with the volume +// Parameters: +// resourceGroupName - the name of the resource group. +// accountName - the name of the NetApp account +// poolName - the name of the capacity pool +// volumeName - the name of the volume +func (client SnapshotsClient) List(ctx context.Context, resourceGroupName string, accountName string, poolName string, volumeName string) (result SnapshotsList, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SnapshotsClient.List") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("netapp.SnapshotsClient", "List", err.Error()) + } + + req, err := client.ListPreparer(ctx, resourceGroupName, accountName, poolName, volumeName) + if err != nil { + err = autorest.NewErrorWithError(err, "netapp.SnapshotsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "netapp.SnapshotsClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "netapp.SnapshotsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client SnapshotsClient) ListPreparer(ctx context.Context, resourceGroupName string, accountName string, poolName string, volumeName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "accountName": autorest.Encode("path", accountName), + "poolName": autorest.Encode("path", poolName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "volumeName": autorest.Encode("path", volumeName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/snapshots", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client SnapshotsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client SnapshotsClient) ListResponder(resp *http.Response) (result SnapshotsList, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Update patch a snapshot +// Parameters: +// body - snapshot object supplied in the body of the operation. +// resourceGroupName - the name of the resource group. +// accountName - the name of the NetApp account +// poolName - the name of the capacity pool +// volumeName - the name of the volume +// snapshotName - the name of the mount target +func (client SnapshotsClient) Update(ctx context.Context, body SnapshotPatch, resourceGroupName string, accountName string, poolName string, volumeName string, snapshotName string) (result Snapshot, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SnapshotsClient.Update") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("netapp.SnapshotsClient", "Update", err.Error()) + } + + req, err := client.UpdatePreparer(ctx, body, resourceGroupName, accountName, poolName, volumeName, snapshotName) + if err != nil { + err = autorest.NewErrorWithError(err, "netapp.SnapshotsClient", "Update", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "netapp.SnapshotsClient", "Update", resp, "Failure sending request") + return + } + + result, err = client.UpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "netapp.SnapshotsClient", "Update", resp, "Failure responding to request") + } + + return +} + +// UpdatePreparer prepares the Update request. +func (client SnapshotsClient) UpdatePreparer(ctx context.Context, body SnapshotPatch, resourceGroupName string, accountName string, poolName string, volumeName string, snapshotName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "accountName": autorest.Encode("path", accountName), + "poolName": autorest.Encode("path", poolName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "snapshotName": autorest.Encode("path", snapshotName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "volumeName": autorest.Encode("path", volumeName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}/snapshots/{snapshotName}", pathParameters), + autorest.WithJSON(body), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateSender sends the Update request. The method will close the +// http.Response Body if it receives an error. +func (client SnapshotsClient) UpdateSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// UpdateResponder handles the response to the Update request. The method always +// closes the http.Response Body. +func (client SnapshotsClient) UpdateResponder(resp *http.Response) (result Snapshot, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/netapp/mgmt/2019-07-01/netapp/version.go b/services/netapp/mgmt/2019-07-01/netapp/version.go new file mode 100644 index 000000000000..0488879435ca --- /dev/null +++ b/services/netapp/mgmt/2019-07-01/netapp/version.go @@ -0,0 +1,30 @@ +package netapp + +import "github.com/Azure/azure-sdk-for-go/version" + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +// UserAgent returns the UserAgent string to use when sending http.Requests. +func UserAgent() string { + return "Azure-SDK-For-Go/" + version.Number + " netapp/2019-07-01" +} + +// Version returns the semantic version (see http://semver.org) of the client. +func Version() string { + return version.Number +} diff --git a/services/netapp/mgmt/2019-07-01/netapp/volumes.go b/services/netapp/mgmt/2019-07-01/netapp/volumes.go new file mode 100644 index 000000000000..9114e5dbb534 --- /dev/null +++ b/services/netapp/mgmt/2019-07-01/netapp/volumes.go @@ -0,0 +1,521 @@ +package netapp + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// VolumesClient is the microsoft NetApp Azure Resource Provider specification +type VolumesClient struct { + BaseClient +} + +// NewVolumesClient creates an instance of the VolumesClient client. +func NewVolumesClient(subscriptionID string) VolumesClient { + return NewVolumesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewVolumesClientWithBaseURI creates an instance of the VolumesClient client. +func NewVolumesClientWithBaseURI(baseURI string, subscriptionID string) VolumesClient { + return VolumesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate create or update the specified volume within the capacity pool +// Parameters: +// body - volume object supplied in the body of the operation. +// resourceGroupName - the name of the resource group. +// accountName - the name of the NetApp account +// poolName - the name of the capacity pool +// volumeName - the name of the volume +func (client VolumesClient) CreateOrUpdate(ctx context.Context, body Volume, resourceGroupName string, accountName string, poolName string, volumeName string) (result VolumesCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VolumesClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: body, + Constraints: []validation.Constraint{{Target: "body.Location", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "body.VolumeProperties", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "body.VolumeProperties.FileSystemID", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "body.VolumeProperties.FileSystemID", Name: validation.MaxLength, Rule: 36, Chain: nil}, + {Target: "body.VolumeProperties.FileSystemID", Name: validation.MinLength, Rule: 36, Chain: nil}, + {Target: "body.VolumeProperties.FileSystemID", Name: validation.Pattern, Rule: `^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$`, Chain: nil}, + }}, + {Target: "body.VolumeProperties.CreationToken", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "body.VolumeProperties.UsageThreshold", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "body.VolumeProperties.UsageThreshold", Name: validation.InclusiveMaximum, Rule: int64(109951162777600), Chain: nil}, + {Target: "body.VolumeProperties.UsageThreshold", Name: validation.InclusiveMinimum, Rule: 107374182400, Chain: nil}, + }}, + {Target: "body.VolumeProperties.SnapshotID", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "body.VolumeProperties.SnapshotID", Name: validation.MaxLength, Rule: 36, Chain: nil}, + {Target: "body.VolumeProperties.SnapshotID", Name: validation.MinLength, Rule: 36, Chain: nil}, + {Target: "body.VolumeProperties.SnapshotID", Name: validation.Pattern, Rule: `^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}|(\\?([^\/]*[\/])*)([^\/]+)$`, Chain: nil}, + }}, + {Target: "body.VolumeProperties.BaremetalTenantID", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "body.VolumeProperties.BaremetalTenantID", Name: validation.MaxLength, Rule: 36, Chain: nil}, + {Target: "body.VolumeProperties.BaremetalTenantID", Name: validation.MinLength, Rule: 36, Chain: nil}, + {Target: "body.VolumeProperties.BaremetalTenantID", Name: validation.Pattern, Rule: `^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$`, Chain: nil}, + }}, + {Target: "body.VolumeProperties.SubnetID", Name: validation.Null, Rule: true, Chain: nil}, + }}}}, + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("netapp.VolumesClient", "CreateOrUpdate", err.Error()) + } + + req, err := client.CreateOrUpdatePreparer(ctx, body, resourceGroupName, accountName, poolName, volumeName) + if err != nil { + err = autorest.NewErrorWithError(err, "netapp.VolumesClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "netapp.VolumesClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client VolumesClient) CreateOrUpdatePreparer(ctx context.Context, body Volume, resourceGroupName string, accountName string, poolName string, volumeName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "accountName": autorest.Encode("path", accountName), + "poolName": autorest.Encode("path", poolName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "volumeName": autorest.Encode("path", volumeName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + body.ID = nil + body.Name = nil + body.Type = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}", pathParameters), + autorest.WithJSON(body), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client VolumesClient) CreateOrUpdateSender(req *http.Request) (future VolumesCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client VolumesClient) CreateOrUpdateResponder(resp *http.Response) (result Volume, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete delete the specified volume +// Parameters: +// resourceGroupName - the name of the resource group. +// accountName - the name of the NetApp account +// poolName - the name of the capacity pool +// volumeName - the name of the volume +func (client VolumesClient) Delete(ctx context.Context, resourceGroupName string, accountName string, poolName string, volumeName string) (result VolumesDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VolumesClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("netapp.VolumesClient", "Delete", err.Error()) + } + + req, err := client.DeletePreparer(ctx, resourceGroupName, accountName, poolName, volumeName) + if err != nil { + err = autorest.NewErrorWithError(err, "netapp.VolumesClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "netapp.VolumesClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client VolumesClient) DeletePreparer(ctx context.Context, resourceGroupName string, accountName string, poolName string, volumeName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "accountName": autorest.Encode("path", accountName), + "poolName": autorest.Encode("path", poolName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "volumeName": autorest.Encode("path", volumeName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client VolumesClient) DeleteSender(req *http.Request) (future VolumesDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client VolumesClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get get the details of the specified volume +// Parameters: +// resourceGroupName - the name of the resource group. +// accountName - the name of the NetApp account +// poolName - the name of the capacity pool +// volumeName - the name of the volume +func (client VolumesClient) Get(ctx context.Context, resourceGroupName string, accountName string, poolName string, volumeName string) (result Volume, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VolumesClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("netapp.VolumesClient", "Get", err.Error()) + } + + req, err := client.GetPreparer(ctx, resourceGroupName, accountName, poolName, volumeName) + if err != nil { + err = autorest.NewErrorWithError(err, "netapp.VolumesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "netapp.VolumesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "netapp.VolumesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client VolumesClient) GetPreparer(ctx context.Context, resourceGroupName string, accountName string, poolName string, volumeName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "accountName": autorest.Encode("path", accountName), + "poolName": autorest.Encode("path", poolName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "volumeName": autorest.Encode("path", volumeName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client VolumesClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client VolumesClient) GetResponder(resp *http.Response) (result Volume, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List list all volumes within the capacity pool +// Parameters: +// resourceGroupName - the name of the resource group. +// accountName - the name of the NetApp account +// poolName - the name of the capacity pool +func (client VolumesClient) List(ctx context.Context, resourceGroupName string, accountName string, poolName string) (result VolumeList, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VolumesClient.List") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("netapp.VolumesClient", "List", err.Error()) + } + + req, err := client.ListPreparer(ctx, resourceGroupName, accountName, poolName) + if err != nil { + err = autorest.NewErrorWithError(err, "netapp.VolumesClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "netapp.VolumesClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "netapp.VolumesClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client VolumesClient) ListPreparer(ctx context.Context, resourceGroupName string, accountName string, poolName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "accountName": autorest.Encode("path", accountName), + "poolName": autorest.Encode("path", poolName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client VolumesClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client VolumesClient) ListResponder(resp *http.Response) (result VolumeList, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Update patch the specified volume +// Parameters: +// body - volume object supplied in the body of the operation. +// resourceGroupName - the name of the resource group. +// accountName - the name of the NetApp account +// poolName - the name of the capacity pool +// volumeName - the name of the volume +func (client VolumesClient) Update(ctx context.Context, body VolumePatch, resourceGroupName string, accountName string, poolName string, volumeName string) (result Volume, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VolumesClient.Update") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("netapp.VolumesClient", "Update", err.Error()) + } + + req, err := client.UpdatePreparer(ctx, body, resourceGroupName, accountName, poolName, volumeName) + if err != nil { + err = autorest.NewErrorWithError(err, "netapp.VolumesClient", "Update", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "netapp.VolumesClient", "Update", resp, "Failure sending request") + return + } + + result, err = client.UpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "netapp.VolumesClient", "Update", resp, "Failure responding to request") + } + + return +} + +// UpdatePreparer prepares the Update request. +func (client VolumesClient) UpdatePreparer(ctx context.Context, body VolumePatch, resourceGroupName string, accountName string, poolName string, volumeName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "accountName": autorest.Encode("path", accountName), + "poolName": autorest.Encode("path", poolName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "volumeName": autorest.Encode("path", volumeName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + body.ID = nil + body.Name = nil + body.Type = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NetApp/netAppAccounts/{accountName}/capacityPools/{poolName}/volumes/{volumeName}", pathParameters), + autorest.WithJSON(body), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateSender sends the Update request. The method will close the +// http.Response Body if it receives an error. +func (client VolumesClient) UpdateSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// UpdateResponder handles the response to the Update request. The method always +// closes the http.Response Body. +func (client VolumesClient) UpdateResponder(resp *http.Response) (result Volume, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/network/mgmt/2018-07-01/network/models.go b/services/network/mgmt/2018-07-01/network/models.go index 4280b942f451..06df04000084 100644 --- a/services/network/mgmt/2018-07-01/network/models.go +++ b/services/network/mgmt/2018-07-01/network/models.go @@ -5404,6 +5404,8 @@ type BackendAddressPoolPropertiesFormat struct { LoadBalancingRules *[]SubResource `json:"loadBalancingRules,omitempty"` // OutboundRule - READ-ONLY; Gets outbound rules that use this backend address pool. OutboundRule *SubResource `json:"outboundRule,omitempty"` + // OutboundRules - READ-ONLY; Gets outbound rules that use this backend address pool. + OutboundRules *[]SubResource `json:"outboundRules,omitempty"` // ProvisioningState - Get provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. ProvisioningState *string `json:"provisioningState,omitempty"` } @@ -13524,7 +13526,7 @@ type OperationPropertiesFormatServiceSpecification struct { LogSpecifications *[]LogSpecification `json:"logSpecifications,omitempty"` } -// OutboundRule outbound pool of the load balancer. +// OutboundRule outbound rule of the load balancer. type OutboundRule struct { // OutboundRulePropertiesFormat - Properties of load balancer outbound rule. *OutboundRulePropertiesFormat `json:"properties,omitempty"` @@ -13605,7 +13607,7 @@ func (or *OutboundRule) UnmarshalJSON(body []byte) error { return nil } -// OutboundRulePropertiesFormat outbound pool of the load balancer. +// OutboundRulePropertiesFormat outbound rule of the load balancer. type OutboundRulePropertiesFormat struct { // AllocatedOutboundPorts - The number of outbound ports to be used for NAT. AllocatedOutboundPorts *int32 `json:"allocatedOutboundPorts,omitempty"` diff --git a/services/network/mgmt/2018-08-01/network/models.go b/services/network/mgmt/2018-08-01/network/models.go index 93528ce26775..d875b8aba3d0 100644 --- a/services/network/mgmt/2018-08-01/network/models.go +++ b/services/network/mgmt/2018-08-01/network/models.go @@ -6236,6 +6236,8 @@ type BackendAddressPoolPropertiesFormat struct { LoadBalancingRules *[]SubResource `json:"loadBalancingRules,omitempty"` // OutboundRule - READ-ONLY; Gets outbound rules that use this backend address pool. OutboundRule *SubResource `json:"outboundRule,omitempty"` + // OutboundRules - READ-ONLY; Gets outbound rules that use this backend address pool. + OutboundRules *[]SubResource `json:"outboundRules,omitempty"` // ProvisioningState - Get provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. ProvisioningState *string `json:"provisioningState,omitempty"` } @@ -17148,7 +17150,7 @@ type OperationPropertiesFormatServiceSpecification struct { LogSpecifications *[]LogSpecification `json:"logSpecifications,omitempty"` } -// OutboundRule outbound pool of the load balancer. +// OutboundRule outbound rule of the load balancer. type OutboundRule struct { autorest.Response `json:"-"` // OutboundRulePropertiesFormat - Properties of load balancer outbound rule. @@ -17230,7 +17232,7 @@ func (or *OutboundRule) UnmarshalJSON(body []byte) error { return nil } -// OutboundRulePropertiesFormat outbound pool of the load balancer. +// OutboundRulePropertiesFormat outbound rule of the load balancer. type OutboundRulePropertiesFormat struct { // AllocatedOutboundPorts - The number of outbound ports to be used for NAT. AllocatedOutboundPorts *int32 `json:"allocatedOutboundPorts,omitempty"` diff --git a/services/network/mgmt/2018-10-01/network/models.go b/services/network/mgmt/2018-10-01/network/models.go index f23b3e99fba5..279622c6b0ce 100644 --- a/services/network/mgmt/2018-10-01/network/models.go +++ b/services/network/mgmt/2018-10-01/network/models.go @@ -6402,6 +6402,8 @@ type BackendAddressPoolPropertiesFormat struct { LoadBalancingRules *[]SubResource `json:"loadBalancingRules,omitempty"` // OutboundRule - READ-ONLY; Gets outbound rules that use this backend address pool. OutboundRule *SubResource `json:"outboundRule,omitempty"` + // OutboundRules - READ-ONLY; Gets outbound rules that use this backend address pool. + OutboundRules *[]SubResource `json:"outboundRules,omitempty"` // ProvisioningState - Get provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. ProvisioningState *string `json:"provisioningState,omitempty"` } @@ -17503,7 +17505,7 @@ type OperationPropertiesFormatServiceSpecification struct { LogSpecifications *[]LogSpecification `json:"logSpecifications,omitempty"` } -// OutboundRule outbound pool of the load balancer. +// OutboundRule outbound rule of the load balancer. type OutboundRule struct { autorest.Response `json:"-"` // OutboundRulePropertiesFormat - Properties of load balancer outbound rule. @@ -17585,7 +17587,7 @@ func (or *OutboundRule) UnmarshalJSON(body []byte) error { return nil } -// OutboundRulePropertiesFormat outbound pool of the load balancer. +// OutboundRulePropertiesFormat outbound rule of the load balancer. type OutboundRulePropertiesFormat struct { // AllocatedOutboundPorts - The number of outbound ports to be used for NAT. AllocatedOutboundPorts *int32 `json:"allocatedOutboundPorts,omitempty"` diff --git a/services/network/mgmt/2018-11-01/network/models.go b/services/network/mgmt/2018-11-01/network/models.go index 7694128c6daa..4c72f7b0d62f 100644 --- a/services/network/mgmt/2018-11-01/network/models.go +++ b/services/network/mgmt/2018-11-01/network/models.go @@ -6485,6 +6485,8 @@ type BackendAddressPoolPropertiesFormat struct { LoadBalancingRules *[]SubResource `json:"loadBalancingRules,omitempty"` // OutboundRule - READ-ONLY; Gets outbound rules that use this backend address pool. OutboundRule *SubResource `json:"outboundRule,omitempty"` + // OutboundRules - READ-ONLY; Gets outbound rules that use this backend address pool. + OutboundRules *[]SubResource `json:"outboundRules,omitempty"` // ProvisioningState - Get provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. ProvisioningState *string `json:"provisioningState,omitempty"` } @@ -17855,7 +17857,7 @@ type OperationPropertiesFormatServiceSpecification struct { LogSpecifications *[]LogSpecification `json:"logSpecifications,omitempty"` } -// OutboundRule outbound pool of the load balancer. +// OutboundRule outbound rule of the load balancer. type OutboundRule struct { autorest.Response `json:"-"` // OutboundRulePropertiesFormat - Properties of load balancer outbound rule. @@ -17937,7 +17939,7 @@ func (or *OutboundRule) UnmarshalJSON(body []byte) error { return nil } -// OutboundRulePropertiesFormat outbound pool of the load balancer. +// OutboundRulePropertiesFormat outbound rule of the load balancer. type OutboundRulePropertiesFormat struct { // AllocatedOutboundPorts - The number of outbound ports to be used for NAT. AllocatedOutboundPorts *int32 `json:"allocatedOutboundPorts,omitempty"` diff --git a/services/network/mgmt/2018-12-01/network/models.go b/services/network/mgmt/2018-12-01/network/models.go index d5ffe92ada2c..58a5955cd2ac 100644 --- a/services/network/mgmt/2018-12-01/network/models.go +++ b/services/network/mgmt/2018-12-01/network/models.go @@ -6695,6 +6695,8 @@ type BackendAddressPoolPropertiesFormat struct { LoadBalancingRules *[]SubResource `json:"loadBalancingRules,omitempty"` // OutboundRule - READ-ONLY; Gets outbound rules that use this backend address pool. OutboundRule *SubResource `json:"outboundRule,omitempty"` + // OutboundRules - READ-ONLY; Gets outbound rules that use this backend address pool. + OutboundRules *[]SubResource `json:"outboundRules,omitempty"` // ProvisioningState - Get provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. ProvisioningState *string `json:"provisioningState,omitempty"` } @@ -18132,7 +18134,7 @@ type OperationPropertiesFormatServiceSpecification struct { LogSpecifications *[]LogSpecification `json:"logSpecifications,omitempty"` } -// OutboundRule outbound pool of the load balancer. +// OutboundRule outbound rule of the load balancer. type OutboundRule struct { autorest.Response `json:"-"` // OutboundRulePropertiesFormat - Properties of load balancer outbound rule. @@ -18214,7 +18216,7 @@ func (or *OutboundRule) UnmarshalJSON(body []byte) error { return nil } -// OutboundRulePropertiesFormat outbound pool of the load balancer. +// OutboundRulePropertiesFormat outbound rule of the load balancer. type OutboundRulePropertiesFormat struct { // AllocatedOutboundPorts - The number of outbound ports to be used for NAT. AllocatedOutboundPorts *int32 `json:"allocatedOutboundPorts,omitempty"` diff --git a/services/network/mgmt/2019-02-01/network/models.go b/services/network/mgmt/2019-02-01/network/models.go index 8c789a21518e..49eb537d081a 100644 --- a/services/network/mgmt/2019-02-01/network/models.go +++ b/services/network/mgmt/2019-02-01/network/models.go @@ -6797,6 +6797,8 @@ type BackendAddressPoolPropertiesFormat struct { LoadBalancingRules *[]SubResource `json:"loadBalancingRules,omitempty"` // OutboundRule - READ-ONLY; Gets outbound rules that use this backend address pool. OutboundRule *SubResource `json:"outboundRule,omitempty"` + // OutboundRules - READ-ONLY; Gets outbound rules that use this backend address pool. + OutboundRules *[]SubResource `json:"outboundRules,omitempty"` // ProvisioningState - Get provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. ProvisioningState *string `json:"provisioningState,omitempty"` } @@ -18624,7 +18626,7 @@ type OperationPropertiesFormatServiceSpecification struct { LogSpecifications *[]LogSpecification `json:"logSpecifications,omitempty"` } -// OutboundRule outbound pool of the load balancer. +// OutboundRule outbound rule of the load balancer. type OutboundRule struct { autorest.Response `json:"-"` // OutboundRulePropertiesFormat - Properties of load balancer outbound rule. @@ -18706,7 +18708,7 @@ func (or *OutboundRule) UnmarshalJSON(body []byte) error { return nil } -// OutboundRulePropertiesFormat outbound pool of the load balancer. +// OutboundRulePropertiesFormat outbound rule of the load balancer. type OutboundRulePropertiesFormat struct { // AllocatedOutboundPorts - The number of outbound ports to be used for NAT. AllocatedOutboundPorts *int32 `json:"allocatedOutboundPorts,omitempty"` diff --git a/services/network/mgmt/2019-04-01/network/models.go b/services/network/mgmt/2019-04-01/network/models.go index 042b85a49b10..8aa70030b245 100644 --- a/services/network/mgmt/2019-04-01/network/models.go +++ b/services/network/mgmt/2019-04-01/network/models.go @@ -7126,6 +7126,8 @@ type BackendAddressPoolPropertiesFormat struct { LoadBalancingRules *[]SubResource `json:"loadBalancingRules,omitempty"` // OutboundRule - READ-ONLY; Gets outbound rules that use this backend address pool. OutboundRule *SubResource `json:"outboundRule,omitempty"` + // OutboundRules - READ-ONLY; Gets outbound rules that use this backend address pool. + OutboundRules *[]SubResource `json:"outboundRules,omitempty"` // ProvisioningState - Get provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. ProvisioningState *string `json:"provisioningState,omitempty"` } @@ -19095,7 +19097,7 @@ type OperationPropertiesFormatServiceSpecification struct { LogSpecifications *[]LogSpecification `json:"logSpecifications,omitempty"` } -// OutboundRule outbound pool of the load balancer. +// OutboundRule outbound rule of the load balancer. type OutboundRule struct { autorest.Response `json:"-"` // OutboundRulePropertiesFormat - Properties of load balancer outbound rule. @@ -19177,7 +19179,7 @@ func (or *OutboundRule) UnmarshalJSON(body []byte) error { return nil } -// OutboundRulePropertiesFormat outbound pool of the load balancer. +// OutboundRulePropertiesFormat outbound rule of the load balancer. type OutboundRulePropertiesFormat struct { // AllocatedOutboundPorts - The number of outbound ports to be used for NAT. AllocatedOutboundPorts *int32 `json:"allocatedOutboundPorts,omitempty"` @@ -20754,7 +20756,7 @@ type PrivateEndpoint struct { autorest.Response `json:"-"` // PrivateEndpointProperties - Properties of the private endpoint. *PrivateEndpointProperties `json:"properties,omitempty"` - // Etag - Gets a unique read-only string that changes whenever the resource is updated. + // Etag - A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty"` // ID - Resource ID. ID *string `json:"id,omitempty"` @@ -20874,6 +20876,10 @@ type PrivateEndpointConnection struct { *PrivateEndpointConnectionProperties `json:"properties,omitempty"` // Name - The name of the resource that is unique within a resource group. This name can be used to access the resource. Name *string `json:"name,omitempty"` + // Type - READ-ONLY; The resource type. + Type *string `json:"type,omitempty"` + // Etag - READ-ONLY; A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` // ID - Resource ID. ID *string `json:"id,omitempty"` } @@ -20920,6 +20926,24 @@ func (pec *PrivateEndpointConnection) UnmarshalJSON(body []byte) error { } pec.Name = &name } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + pec.Type = &typeVar + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + pec.Etag = &etag + } case "id": if v != nil { var ID string @@ -20941,6 +20965,8 @@ type PrivateEndpointConnectionProperties struct { PrivateEndpoint *PrivateEndpoint `json:"privateEndpoint,omitempty"` // PrivateLinkServiceConnectionState - A collection of information about the state of the connection between service consumer and provider. PrivateLinkServiceConnectionState *PrivateLinkServiceConnectionState `json:"privateLinkServiceConnectionState,omitempty"` + // ProvisioningState - READ-ONLY; The provisioning state of the private endpoint connection. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` } // PrivateEndpointListResult response for the ListPrivateEndpoints API service call. @@ -21095,8 +21121,8 @@ type PrivateEndpointProperties struct { Subnet *Subnet `json:"subnet,omitempty"` // NetworkInterfaces - READ-ONLY; Gets an array of references to the network interfaces created for this private endpoint. NetworkInterfaces *[]Interface `json:"networkInterfaces,omitempty"` - // ProvisioningState - READ-ONLY; The provisioning state of the private endpoint. Possible values are: 'Updating', 'Deleting', and 'Failed'. - ProvisioningState *string `json:"provisioningState,omitempty"` + // ProvisioningState - READ-ONLY; The provisioning state of the private endpoint. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` // PrivateLinkServiceConnections - A grouping of information about the connection to the remote resource. PrivateLinkServiceConnections *[]PrivateLinkServiceConnection `json:"privateLinkServiceConnections,omitempty"` // ManualPrivateLinkServiceConnections - A grouping of information about the connection to the remote resource. Used when the network admin does not have access to approve connections to the remote resource. @@ -21160,7 +21186,7 @@ type PrivateLinkService struct { autorest.Response `json:"-"` // PrivateLinkServiceProperties - Properties of the private link service. *PrivateLinkServiceProperties `json:"properties,omitempty"` - // Etag - Gets a unique read-only string that changes whenever the resource is updated. + // Etag - A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty"` // ID - Resource ID. ID *string `json:"id,omitempty"` @@ -21279,6 +21305,10 @@ type PrivateLinkServiceConnection struct { *PrivateLinkServiceConnectionProperties `json:"properties,omitempty"` // Name - The name of the resource that is unique within a resource group. This name can be used to access the resource. Name *string `json:"name,omitempty"` + // Type - READ-ONLY; The resource type. + Type *string `json:"type,omitempty"` + // Etag - READ-ONLY; A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` // ID - Resource ID. ID *string `json:"id,omitempty"` } @@ -21325,6 +21355,24 @@ func (plsc *PrivateLinkServiceConnection) UnmarshalJSON(body []byte) error { } plsc.Name = &name } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + plsc.Type = &typeVar + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + plsc.Etag = &etag + } case "id": if v != nil { var ID string @@ -21342,6 +21390,8 @@ func (plsc *PrivateLinkServiceConnection) UnmarshalJSON(body []byte) error { // PrivateLinkServiceConnectionProperties properties of the PrivateLinkServiceConnection. type PrivateLinkServiceConnectionProperties struct { + // ProvisioningState - READ-ONLY; The provisioning state of the private link service connection. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` // PrivateLinkServiceID - The resource id of private link service. PrivateLinkServiceID *string `json:"privateLinkServiceId,omitempty"` // GroupIds - The ID(s) of the group(s) obtained from the remote resource that this private endpoint should connect to. @@ -21369,6 +21419,12 @@ type PrivateLinkServiceIPConfiguration struct { *PrivateLinkServiceIPConfigurationProperties `json:"properties,omitempty"` // Name - The name of private link service ip configuration. Name *string `json:"name,omitempty"` + // Etag - READ-ONLY; A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // Type - READ-ONLY; The resource type. + Type *string `json:"type,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` } // MarshalJSON is the custom marshaler for PrivateLinkServiceIPConfiguration. @@ -21380,6 +21436,9 @@ func (plsic PrivateLinkServiceIPConfiguration) MarshalJSON() ([]byte, error) { if plsic.Name != nil { objectMap["name"] = plsic.Name } + if plsic.ID != nil { + objectMap["id"] = plsic.ID + } return json.Marshal(objectMap) } @@ -21410,6 +21469,33 @@ func (plsic *PrivateLinkServiceIPConfiguration) UnmarshalJSON(body []byte) error } plsic.Name = &name } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + plsic.Etag = &etag + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + plsic.Type = &typeVar + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + plsic.ID = &ID + } } } @@ -21424,10 +21510,10 @@ type PrivateLinkServiceIPConfigurationProperties struct { PrivateIPAllocationMethod IPAllocationMethod `json:"privateIPAllocationMethod,omitempty"` // Subnet - The reference of the subnet resource. Subnet *Subnet `json:"subnet,omitempty"` - // PublicIPAddress - The reference of the public IP resource. - PublicIPAddress *PublicIPAddress `json:"publicIPAddress,omitempty"` - // ProvisioningState - Gets the provisioning state of the public IP resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. - ProvisioningState *string `json:"provisioningState,omitempty"` + // Primary - Whether the ip configuration is primary or not. + Primary *bool `json:"primary,omitempty"` + // ProvisioningState - READ-ONLY; The provisioning state of the private link service ip configuration. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` // PrivateIPAddressVersion - Available from Api-Version 2016-03-30 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values include: 'IPv4', 'IPv6' PrivateIPAddressVersion IPVersion `json:"privateIPAddressVersion,omitempty"` } @@ -21586,8 +21672,8 @@ type PrivateLinkServiceProperties struct { IPConfigurations *[]PrivateLinkServiceIPConfiguration `json:"ipConfigurations,omitempty"` // NetworkInterfaces - READ-ONLY; Gets an array of references to the network interfaces created for this private link service. NetworkInterfaces *[]Interface `json:"networkInterfaces,omitempty"` - // ProvisioningState - READ-ONLY; The provisioning state of the private link service. Possible values are: 'Updating', 'Succeeded', and 'Failed'. - ProvisioningState *string `json:"provisioningState,omitempty"` + // ProvisioningState - READ-ONLY; The provisioning state of the private link service. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` // PrivateEndpointConnections - An array of list about connections to the private endpoint. PrivateEndpointConnections *[]PrivateEndpointConnection `json:"privateEndpointConnections,omitempty"` // Visibility - The visibility list of the private link service. diff --git a/services/network/mgmt/2019-04-01/network/privateendpoints.go b/services/network/mgmt/2019-04-01/network/privateendpoints.go index db6516d7b5fb..6a5d5aed1857 100644 --- a/services/network/mgmt/2019-04-01/network/privateendpoints.go +++ b/services/network/mgmt/2019-04-01/network/privateendpoints.go @@ -44,7 +44,7 @@ func NewPrivateEndpointsClientWithBaseURI(baseURI string, subscriptionID string) // Parameters: // resourceGroupName - the name of the resource group. // privateEndpointName - the name of the private endpoint. -// parameters - parameters supplied to the create or update private endpoint operation +// parameters - parameters supplied to the create or update private endpoint operation. func (client PrivateEndpointsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, privateEndpointName string, parameters PrivateEndpoint) (result PrivateEndpointsCreateOrUpdateFuture, err error) { if tracing.IsEnabled() { ctx = tracing.StartSpan(ctx, fqdn+"/PrivateEndpointsClient.CreateOrUpdate") diff --git a/services/network/mgmt/2019-04-01/network/privatelinkservices.go b/services/network/mgmt/2019-04-01/network/privatelinkservices.go index 2ac430bd5eb2..22603fa59204 100644 --- a/services/network/mgmt/2019-04-01/network/privatelinkservices.go +++ b/services/network/mgmt/2019-04-01/network/privatelinkservices.go @@ -202,7 +202,7 @@ func (client PrivateLinkServicesClient) CheckPrivateLinkServiceVisibilityByResou // Parameters: // resourceGroupName - the name of the resource group. // serviceName - the name of the private link service. -// parameters - parameters supplied to the create or update private link service operation +// parameters - parameters supplied to the create or update private link service operation. func (client PrivateLinkServicesClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, serviceName string, parameters PrivateLinkService) (result PrivateLinkServicesCreateOrUpdateFuture, err error) { if tracing.IsEnabled() { ctx = tracing.StartSpan(ctx, fqdn+"/PrivateLinkServicesClient.CreateOrUpdate") @@ -1019,6 +1019,8 @@ func (client PrivateLinkServicesClient) UpdatePrivateEndpointConnectionPreparer( "api-version": APIVersion, } + parameters.Type = nil + parameters.Etag = nil preparer := autorest.CreatePreparer( autorest.AsContentType("application/json; charset=utf-8"), autorest.AsPut(), diff --git a/services/network/mgmt/2019-04-01/network/servicetags.go b/services/network/mgmt/2019-04-01/network/servicetags.go index 879ccc5535ea..13f39ba07e90 100644 --- a/services/network/mgmt/2019-04-01/network/servicetags.go +++ b/services/network/mgmt/2019-04-01/network/servicetags.go @@ -42,7 +42,9 @@ func NewServiceTagsClientWithBaseURI(baseURI string, subscriptionID string) Serv // List gets a list of service tag information resources. // Parameters: -// location - the location. +// location - the location that will be used as a reference for version (not as a filter based on location, you +// will get the list of service tags with prefix details across all regions but limited to the cloud that your +// subscription belongs to). func (client ServiceTagsClient) List(ctx context.Context, location string) (result ServiceTagsListResult, err error) { if tracing.IsEnabled() { ctx = tracing.StartSpan(ctx, fqdn+"/ServiceTagsClient.List") diff --git a/services/network/mgmt/2019-06-01/network/bastionhosts.go b/services/network/mgmt/2019-06-01/network/bastionhosts.go index c15c2e1a8529..7d2f594dfc0a 100644 --- a/services/network/mgmt/2019-06-01/network/bastionhosts.go +++ b/services/network/mgmt/2019-06-01/network/bastionhosts.go @@ -496,3 +496,83 @@ func (client BastionHostsClient) ListByResourceGroupComplete(ctx context.Context result.page, err = client.ListByResourceGroup(ctx, resourceGroupName) return } + +// UpdateTags updates bastion host tags. +// Parameters: +// resourceGroupName - the resource group name of the BastionHost. +// bastionHostName - the name of the bastionHost. +// bastionHostParameters - parameters supplied to update a bastion host tags. +func (client BastionHostsClient) UpdateTags(ctx context.Context, resourceGroupName string, bastionHostName string, bastionHostParameters TagsObject) (result BastionHostsUpdateTagsFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BastionHostsClient.UpdateTags") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdateTagsPreparer(ctx, resourceGroupName, bastionHostName, bastionHostParameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.BastionHostsClient", "UpdateTags", nil, "Failure preparing request") + return + } + + result, err = client.UpdateTagsSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.BastionHostsClient", "UpdateTags", result.Response(), "Failure sending request") + return + } + + return +} + +// UpdateTagsPreparer prepares the UpdateTags request. +func (client BastionHostsClient) UpdateTagsPreparer(ctx context.Context, resourceGroupName string, bastionHostName string, bastionHostParameters TagsObject) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "bastionHostName": autorest.Encode("path", bastionHostName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-06-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/bastionHosts/{bastionHostName}", pathParameters), + autorest.WithJSON(bastionHostParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateTagsSender sends the UpdateTags request. The method will close the +// http.Response Body if it receives an error. +func (client BastionHostsClient) UpdateTagsSender(req *http.Request) (future BastionHostsUpdateTagsFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// UpdateTagsResponder handles the response to the UpdateTags request. The method always +// closes the http.Response Body. +func (client BastionHostsClient) UpdateTagsResponder(resp *http.Response) (result BastionHost, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/network/mgmt/2019-06-01/network/connectionmonitors.go b/services/network/mgmt/2019-06-01/network/connectionmonitors.go index 843e1f5594c9..ca171615eb08 100644 --- a/services/network/mgmt/2019-06-01/network/connectionmonitors.go +++ b/services/network/mgmt/2019-06-01/network/connectionmonitors.go @@ -601,3 +601,85 @@ func (client ConnectionMonitorsClient) StopResponder(resp *http.Response) (resul result.Response = resp return } + +// UpdateTags update tags of the specified connection monitor. +// Parameters: +// resourceGroupName - the name of the resource group. +// networkWatcherName - the name of the network watcher. +// connectionMonitorName - the name of the connection monitor. +// parameters - parameters supplied to update connection monitor tags. +func (client ConnectionMonitorsClient) UpdateTags(ctx context.Context, resourceGroupName string, networkWatcherName string, connectionMonitorName string, parameters TagsObject) (result ConnectionMonitorResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ConnectionMonitorsClient.UpdateTags") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdateTagsPreparer(ctx, resourceGroupName, networkWatcherName, connectionMonitorName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ConnectionMonitorsClient", "UpdateTags", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateTagsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ConnectionMonitorsClient", "UpdateTags", resp, "Failure sending request") + return + } + + result, err = client.UpdateTagsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ConnectionMonitorsClient", "UpdateTags", resp, "Failure responding to request") + } + + return +} + +// UpdateTagsPreparer prepares the UpdateTags request. +func (client ConnectionMonitorsClient) UpdateTagsPreparer(ctx context.Context, resourceGroupName string, networkWatcherName string, connectionMonitorName string, parameters TagsObject) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "connectionMonitorName": autorest.Encode("path", connectionMonitorName), + "networkWatcherName": autorest.Encode("path", networkWatcherName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-06-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateTagsSender sends the UpdateTags request. The method will close the +// http.Response Body if it receives an error. +func (client ConnectionMonitorsClient) UpdateTagsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// UpdateTagsResponder handles the response to the UpdateTags request. The method always +// closes the http.Response Body. +func (client ConnectionMonitorsClient) UpdateTagsResponder(resp *http.Response) (result ConnectionMonitorResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/network/mgmt/2019-06-01/network/models.go b/services/network/mgmt/2019-06-01/network/models.go index 3d20830d548b..49f667bf9a30 100644 --- a/services/network/mgmt/2019-06-01/network/models.go +++ b/services/network/mgmt/2019-06-01/network/models.go @@ -7752,6 +7752,35 @@ func (future *BastionHostsDeleteFuture) Result(client BastionHostsClient) (ar au return } +// BastionHostsUpdateTagsFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type BastionHostsUpdateTagsFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *BastionHostsUpdateTagsFuture) Result(client BastionHostsClient) (bh BastionHost, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.BastionHostsUpdateTagsFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.BastionHostsUpdateTagsFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if bh.Response.Response, err = future.GetResult(sender); err == nil && bh.Response.Response.StatusCode != http.StatusNoContent { + bh, err = client.UpdateTagsResponder(bh.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.BastionHostsUpdateTagsFuture", "Result", bh.Response.Response, "Failure responding to request") + } + } + return +} + // BGPCommunity contains bgp community information offered in Service Community resources. type BGPCommunity struct { // ServiceSupportedRegion - The region which the service support. e.g. For O365, region is Global. diff --git a/services/network/mgmt/2019-06-01/network/networkapi/interfaces.go b/services/network/mgmt/2019-06-01/network/networkapi/interfaces.go index 939405bdfd87..0c5d619c9ba2 100644 --- a/services/network/mgmt/2019-06-01/network/networkapi/interfaces.go +++ b/services/network/mgmt/2019-06-01/network/networkapi/interfaces.go @@ -105,6 +105,7 @@ type BastionHostsClientAPI interface { Get(ctx context.Context, resourceGroupName string, bastionHostName string) (result network.BastionHost, err error) List(ctx context.Context) (result network.BastionHostListResultPage, err error) ListByResourceGroup(ctx context.Context, resourceGroupName string) (result network.BastionHostListResultPage, err error) + UpdateTags(ctx context.Context, resourceGroupName string, bastionHostName string, bastionHostParameters network.TagsObject) (result network.BastionHostsUpdateTagsFuture, err error) } var _ BastionHostsClientAPI = (*network.BastionHostsClient)(nil) @@ -507,6 +508,7 @@ type ConnectionMonitorsClientAPI interface { Query(ctx context.Context, resourceGroupName string, networkWatcherName string, connectionMonitorName string) (result network.ConnectionMonitorsQueryFuture, err error) Start(ctx context.Context, resourceGroupName string, networkWatcherName string, connectionMonitorName string) (result network.ConnectionMonitorsStartFuture, err error) Stop(ctx context.Context, resourceGroupName string, networkWatcherName string, connectionMonitorName string) (result network.ConnectionMonitorsStopFuture, err error) + UpdateTags(ctx context.Context, resourceGroupName string, networkWatcherName string, connectionMonitorName string, parameters network.TagsObject) (result network.ConnectionMonitorResult, err error) } var _ ConnectionMonitorsClientAPI = (*network.ConnectionMonitorsClient)(nil) diff --git a/services/network/mgmt/2019-06-01/network/servicetags.go b/services/network/mgmt/2019-06-01/network/servicetags.go index 962c21b801e9..f7d39cf55650 100644 --- a/services/network/mgmt/2019-06-01/network/servicetags.go +++ b/services/network/mgmt/2019-06-01/network/servicetags.go @@ -42,7 +42,9 @@ func NewServiceTagsClientWithBaseURI(baseURI string, subscriptionID string) Serv // List gets a list of service tag information resources. // Parameters: -// location - the location. +// location - the location that will be used as a reference for version (not as a filter based on location, you +// will get the list of service tags with prefix details across all regions but limited to the cloud that your +// subscription belongs to). func (client ServiceTagsClient) List(ctx context.Context, location string) (result ServiceTagsListResult, err error) { if tracing.IsEnabled() { ctx = tracing.StartSpan(ctx, fqdn+"/ServiceTagsClient.List") diff --git a/services/network/mgmt/2019-07-01/network/applicationgateways.go b/services/network/mgmt/2019-07-01/network/applicationgateways.go new file mode 100644 index 000000000000..98594f46ea05 --- /dev/null +++ b/services/network/mgmt/2019-07-01/network/applicationgateways.go @@ -0,0 +1,1469 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// ApplicationGatewaysClient is the network Client +type ApplicationGatewaysClient struct { + BaseClient +} + +// NewApplicationGatewaysClient creates an instance of the ApplicationGatewaysClient client. +func NewApplicationGatewaysClient(subscriptionID string) ApplicationGatewaysClient { + return NewApplicationGatewaysClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewApplicationGatewaysClientWithBaseURI creates an instance of the ApplicationGatewaysClient client. +func NewApplicationGatewaysClientWithBaseURI(baseURI string, subscriptionID string) ApplicationGatewaysClient { + return ApplicationGatewaysClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// BackendHealth gets the backend health of the specified application gateway in a resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +// applicationGatewayName - the name of the application gateway. +// expand - expands BackendAddressPool and BackendHttpSettings referenced in backend health. +func (client ApplicationGatewaysClient) BackendHealth(ctx context.Context, resourceGroupName string, applicationGatewayName string, expand string) (result ApplicationGatewaysBackendHealthFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationGatewaysClient.BackendHealth") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.BackendHealthPreparer(ctx, resourceGroupName, applicationGatewayName, expand) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "BackendHealth", nil, "Failure preparing request") + return + } + + result, err = client.BackendHealthSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "BackendHealth", result.Response(), "Failure sending request") + return + } + + return +} + +// BackendHealthPreparer prepares the BackendHealth request. +func (client ApplicationGatewaysClient) BackendHealthPreparer(ctx context.Context, resourceGroupName string, applicationGatewayName string, expand string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "applicationGatewayName": autorest.Encode("path", applicationGatewayName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(expand) > 0 { + queryParameters["$expand"] = autorest.Encode("query", expand) + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}/backendhealth", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// BackendHealthSender sends the BackendHealth request. The method will close the +// http.Response Body if it receives an error. +func (client ApplicationGatewaysClient) BackendHealthSender(req *http.Request) (future ApplicationGatewaysBackendHealthFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// BackendHealthResponder handles the response to the BackendHealth request. The method always +// closes the http.Response Body. +func (client ApplicationGatewaysClient) BackendHealthResponder(resp *http.Response) (result ApplicationGatewayBackendHealth, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// BackendHealthOnDemand gets the backend health for given combination of backend pool and http setting of the +// specified application gateway in a resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +// applicationGatewayName - the name of the application gateway. +// probeRequest - request body for on-demand test probe operation. +// expand - expands BackendAddressPool and BackendHttpSettings referenced in backend health. +func (client ApplicationGatewaysClient) BackendHealthOnDemand(ctx context.Context, resourceGroupName string, applicationGatewayName string, probeRequest ApplicationGatewayOnDemandProbe, expand string) (result ApplicationGatewaysBackendHealthOnDemandFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationGatewaysClient.BackendHealthOnDemand") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.BackendHealthOnDemandPreparer(ctx, resourceGroupName, applicationGatewayName, probeRequest, expand) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "BackendHealthOnDemand", nil, "Failure preparing request") + return + } + + result, err = client.BackendHealthOnDemandSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "BackendHealthOnDemand", result.Response(), "Failure sending request") + return + } + + return +} + +// BackendHealthOnDemandPreparer prepares the BackendHealthOnDemand request. +func (client ApplicationGatewaysClient) BackendHealthOnDemandPreparer(ctx context.Context, resourceGroupName string, applicationGatewayName string, probeRequest ApplicationGatewayOnDemandProbe, expand string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "applicationGatewayName": autorest.Encode("path", applicationGatewayName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(expand) > 0 { + queryParameters["$expand"] = autorest.Encode("query", expand) + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}/getBackendHealthOnDemand", pathParameters), + autorest.WithJSON(probeRequest), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// BackendHealthOnDemandSender sends the BackendHealthOnDemand request. The method will close the +// http.Response Body if it receives an error. +func (client ApplicationGatewaysClient) BackendHealthOnDemandSender(req *http.Request) (future ApplicationGatewaysBackendHealthOnDemandFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// BackendHealthOnDemandResponder handles the response to the BackendHealthOnDemand request. The method always +// closes the http.Response Body. +func (client ApplicationGatewaysClient) BackendHealthOnDemandResponder(resp *http.Response) (result ApplicationGatewayBackendHealthOnDemand, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// CreateOrUpdate creates or updates the specified application gateway. +// Parameters: +// resourceGroupName - the name of the resource group. +// applicationGatewayName - the name of the application gateway. +// parameters - parameters supplied to the create or update application gateway operation. +func (client ApplicationGatewaysClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, applicationGatewayName string, parameters ApplicationGateway) (result ApplicationGatewaysCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationGatewaysClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.ApplicationGatewayPropertiesFormat", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.ApplicationGatewayPropertiesFormat.WebApplicationFirewallConfiguration", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.ApplicationGatewayPropertiesFormat.WebApplicationFirewallConfiguration.Enabled", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "parameters.ApplicationGatewayPropertiesFormat.WebApplicationFirewallConfiguration.RuleSetType", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "parameters.ApplicationGatewayPropertiesFormat.WebApplicationFirewallConfiguration.RuleSetVersion", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "parameters.ApplicationGatewayPropertiesFormat.WebApplicationFirewallConfiguration.MaxRequestBodySize", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.ApplicationGatewayPropertiesFormat.WebApplicationFirewallConfiguration.MaxRequestBodySize", Name: validation.InclusiveMaximum, Rule: int64(128), Chain: nil}, + {Target: "parameters.ApplicationGatewayPropertiesFormat.WebApplicationFirewallConfiguration.MaxRequestBodySize", Name: validation.InclusiveMinimum, Rule: 8, Chain: nil}, + }}, + {Target: "parameters.ApplicationGatewayPropertiesFormat.WebApplicationFirewallConfiguration.MaxRequestBodySizeInKb", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.ApplicationGatewayPropertiesFormat.WebApplicationFirewallConfiguration.MaxRequestBodySizeInKb", Name: validation.InclusiveMaximum, Rule: int64(128), Chain: nil}, + {Target: "parameters.ApplicationGatewayPropertiesFormat.WebApplicationFirewallConfiguration.MaxRequestBodySizeInKb", Name: validation.InclusiveMinimum, Rule: 8, Chain: nil}, + }}, + {Target: "parameters.ApplicationGatewayPropertiesFormat.WebApplicationFirewallConfiguration.FileUploadLimitInMb", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.ApplicationGatewayPropertiesFormat.WebApplicationFirewallConfiguration.FileUploadLimitInMb", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}}}, + }}, + {Target: "parameters.ApplicationGatewayPropertiesFormat.AutoscaleConfiguration", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.ApplicationGatewayPropertiesFormat.AutoscaleConfiguration.MinCapacity", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "parameters.ApplicationGatewayPropertiesFormat.AutoscaleConfiguration.MinCapacity", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}}}, + {Target: "parameters.ApplicationGatewayPropertiesFormat.AutoscaleConfiguration.MaxCapacity", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.ApplicationGatewayPropertiesFormat.AutoscaleConfiguration.MaxCapacity", Name: validation.InclusiveMinimum, Rule: 2, Chain: nil}}}, + }}, + }}}}}); err != nil { + return result, validation.NewError("network.ApplicationGatewaysClient", "CreateOrUpdate", err.Error()) + } + + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, applicationGatewayName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client ApplicationGatewaysClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, applicationGatewayName string, parameters ApplicationGateway) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "applicationGatewayName": autorest.Encode("path", applicationGatewayName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client ApplicationGatewaysClient) CreateOrUpdateSender(req *http.Request) (future ApplicationGatewaysCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client ApplicationGatewaysClient) CreateOrUpdateResponder(resp *http.Response) (result ApplicationGateway, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the specified application gateway. +// Parameters: +// resourceGroupName - the name of the resource group. +// applicationGatewayName - the name of the application gateway. +func (client ApplicationGatewaysClient) Delete(ctx context.Context, resourceGroupName string, applicationGatewayName string) (result ApplicationGatewaysDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationGatewaysClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, applicationGatewayName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client ApplicationGatewaysClient) DeletePreparer(ctx context.Context, resourceGroupName string, applicationGatewayName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "applicationGatewayName": autorest.Encode("path", applicationGatewayName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client ApplicationGatewaysClient) DeleteSender(req *http.Request) (future ApplicationGatewaysDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client ApplicationGatewaysClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets the specified application gateway. +// Parameters: +// resourceGroupName - the name of the resource group. +// applicationGatewayName - the name of the application gateway. +func (client ApplicationGatewaysClient) Get(ctx context.Context, resourceGroupName string, applicationGatewayName string) (result ApplicationGateway, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationGatewaysClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, applicationGatewayName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client ApplicationGatewaysClient) GetPreparer(ctx context.Context, resourceGroupName string, applicationGatewayName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "applicationGatewayName": autorest.Encode("path", applicationGatewayName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client ApplicationGatewaysClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client ApplicationGatewaysClient) GetResponder(resp *http.Response) (result ApplicationGateway, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetSslPredefinedPolicy gets Ssl predefined policy with the specified policy name. +// Parameters: +// predefinedPolicyName - name of Ssl predefined policy. +func (client ApplicationGatewaysClient) GetSslPredefinedPolicy(ctx context.Context, predefinedPolicyName string) (result ApplicationGatewaySslPredefinedPolicy, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationGatewaysClient.GetSslPredefinedPolicy") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetSslPredefinedPolicyPreparer(ctx, predefinedPolicyName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "GetSslPredefinedPolicy", nil, "Failure preparing request") + return + } + + resp, err := client.GetSslPredefinedPolicySender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "GetSslPredefinedPolicy", resp, "Failure sending request") + return + } + + result, err = client.GetSslPredefinedPolicyResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "GetSslPredefinedPolicy", resp, "Failure responding to request") + } + + return +} + +// GetSslPredefinedPolicyPreparer prepares the GetSslPredefinedPolicy request. +func (client ApplicationGatewaysClient) GetSslPredefinedPolicyPreparer(ctx context.Context, predefinedPolicyName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "predefinedPolicyName": autorest.Encode("path", predefinedPolicyName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableSslOptions/default/predefinedPolicies/{predefinedPolicyName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSslPredefinedPolicySender sends the GetSslPredefinedPolicy request. The method will close the +// http.Response Body if it receives an error. +func (client ApplicationGatewaysClient) GetSslPredefinedPolicySender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetSslPredefinedPolicyResponder handles the response to the GetSslPredefinedPolicy request. The method always +// closes the http.Response Body. +func (client ApplicationGatewaysClient) GetSslPredefinedPolicyResponder(resp *http.Response) (result ApplicationGatewaySslPredefinedPolicy, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List lists all application gateways in a resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +func (client ApplicationGatewaysClient) List(ctx context.Context, resourceGroupName string) (result ApplicationGatewayListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationGatewaysClient.List") + defer func() { + sc := -1 + if result.aglr.Response.Response != nil { + sc = result.aglr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.aglr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "List", resp, "Failure sending request") + return + } + + result.aglr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client ApplicationGatewaysClient) ListPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client ApplicationGatewaysClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client ApplicationGatewaysClient) ListResponder(resp *http.Response) (result ApplicationGatewayListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client ApplicationGatewaysClient) listNextResults(ctx context.Context, lastResults ApplicationGatewayListResult) (result ApplicationGatewayListResult, err error) { + req, err := lastResults.applicationGatewayListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client ApplicationGatewaysClient) ListComplete(ctx context.Context, resourceGroupName string) (result ApplicationGatewayListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationGatewaysClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName) + return +} + +// ListAll gets all the application gateways in a subscription. +func (client ApplicationGatewaysClient) ListAll(ctx context.Context) (result ApplicationGatewayListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationGatewaysClient.ListAll") + defer func() { + sc := -1 + if result.aglr.Response.Response != nil { + sc = result.aglr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listAllNextResults + req, err := client.ListAllPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "ListAll", nil, "Failure preparing request") + return + } + + resp, err := client.ListAllSender(req) + if err != nil { + result.aglr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "ListAll", resp, "Failure sending request") + return + } + + result.aglr, err = client.ListAllResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "ListAll", resp, "Failure responding to request") + } + + return +} + +// ListAllPreparer prepares the ListAll request. +func (client ApplicationGatewaysClient) ListAllPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGateways", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListAllSender sends the ListAll request. The method will close the +// http.Response Body if it receives an error. +func (client ApplicationGatewaysClient) ListAllSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListAllResponder handles the response to the ListAll request. The method always +// closes the http.Response Body. +func (client ApplicationGatewaysClient) ListAllResponder(resp *http.Response) (result ApplicationGatewayListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listAllNextResults retrieves the next set of results, if any. +func (client ApplicationGatewaysClient) listAllNextResults(ctx context.Context, lastResults ApplicationGatewayListResult) (result ApplicationGatewayListResult, err error) { + req, err := lastResults.applicationGatewayListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "listAllNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListAllSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "listAllNextResults", resp, "Failure sending next results request") + } + result, err = client.ListAllResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "listAllNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListAllComplete enumerates all values, automatically crossing page boundaries as required. +func (client ApplicationGatewaysClient) ListAllComplete(ctx context.Context) (result ApplicationGatewayListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationGatewaysClient.ListAll") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListAll(ctx) + return +} + +// ListAvailableRequestHeaders lists all available request headers. +func (client ApplicationGatewaysClient) ListAvailableRequestHeaders(ctx context.Context) (result ListString, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationGatewaysClient.ListAvailableRequestHeaders") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListAvailableRequestHeadersPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "ListAvailableRequestHeaders", nil, "Failure preparing request") + return + } + + resp, err := client.ListAvailableRequestHeadersSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "ListAvailableRequestHeaders", resp, "Failure sending request") + return + } + + result, err = client.ListAvailableRequestHeadersResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "ListAvailableRequestHeaders", resp, "Failure responding to request") + } + + return +} + +// ListAvailableRequestHeadersPreparer prepares the ListAvailableRequestHeaders request. +func (client ApplicationGatewaysClient) ListAvailableRequestHeadersPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableRequestHeaders", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListAvailableRequestHeadersSender sends the ListAvailableRequestHeaders request. The method will close the +// http.Response Body if it receives an error. +func (client ApplicationGatewaysClient) ListAvailableRequestHeadersSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListAvailableRequestHeadersResponder handles the response to the ListAvailableRequestHeaders request. The method always +// closes the http.Response Body. +func (client ApplicationGatewaysClient) ListAvailableRequestHeadersResponder(resp *http.Response) (result ListString, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result.Value), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListAvailableResponseHeaders lists all available response headers. +func (client ApplicationGatewaysClient) ListAvailableResponseHeaders(ctx context.Context) (result ListString, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationGatewaysClient.ListAvailableResponseHeaders") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListAvailableResponseHeadersPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "ListAvailableResponseHeaders", nil, "Failure preparing request") + return + } + + resp, err := client.ListAvailableResponseHeadersSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "ListAvailableResponseHeaders", resp, "Failure sending request") + return + } + + result, err = client.ListAvailableResponseHeadersResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "ListAvailableResponseHeaders", resp, "Failure responding to request") + } + + return +} + +// ListAvailableResponseHeadersPreparer prepares the ListAvailableResponseHeaders request. +func (client ApplicationGatewaysClient) ListAvailableResponseHeadersPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableResponseHeaders", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListAvailableResponseHeadersSender sends the ListAvailableResponseHeaders request. The method will close the +// http.Response Body if it receives an error. +func (client ApplicationGatewaysClient) ListAvailableResponseHeadersSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListAvailableResponseHeadersResponder handles the response to the ListAvailableResponseHeaders request. The method always +// closes the http.Response Body. +func (client ApplicationGatewaysClient) ListAvailableResponseHeadersResponder(resp *http.Response) (result ListString, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result.Value), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListAvailableServerVariables lists all available server variables. +func (client ApplicationGatewaysClient) ListAvailableServerVariables(ctx context.Context) (result ListString, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationGatewaysClient.ListAvailableServerVariables") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListAvailableServerVariablesPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "ListAvailableServerVariables", nil, "Failure preparing request") + return + } + + resp, err := client.ListAvailableServerVariablesSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "ListAvailableServerVariables", resp, "Failure sending request") + return + } + + result, err = client.ListAvailableServerVariablesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "ListAvailableServerVariables", resp, "Failure responding to request") + } + + return +} + +// ListAvailableServerVariablesPreparer prepares the ListAvailableServerVariables request. +func (client ApplicationGatewaysClient) ListAvailableServerVariablesPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableServerVariables", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListAvailableServerVariablesSender sends the ListAvailableServerVariables request. The method will close the +// http.Response Body if it receives an error. +func (client ApplicationGatewaysClient) ListAvailableServerVariablesSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListAvailableServerVariablesResponder handles the response to the ListAvailableServerVariables request. The method always +// closes the http.Response Body. +func (client ApplicationGatewaysClient) ListAvailableServerVariablesResponder(resp *http.Response) (result ListString, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result.Value), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListAvailableSslOptions lists available Ssl options for configuring Ssl policy. +func (client ApplicationGatewaysClient) ListAvailableSslOptions(ctx context.Context) (result ApplicationGatewayAvailableSslOptions, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationGatewaysClient.ListAvailableSslOptions") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListAvailableSslOptionsPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "ListAvailableSslOptions", nil, "Failure preparing request") + return + } + + resp, err := client.ListAvailableSslOptionsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "ListAvailableSslOptions", resp, "Failure sending request") + return + } + + result, err = client.ListAvailableSslOptionsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "ListAvailableSslOptions", resp, "Failure responding to request") + } + + return +} + +// ListAvailableSslOptionsPreparer prepares the ListAvailableSslOptions request. +func (client ApplicationGatewaysClient) ListAvailableSslOptionsPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableSslOptions/default", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListAvailableSslOptionsSender sends the ListAvailableSslOptions request. The method will close the +// http.Response Body if it receives an error. +func (client ApplicationGatewaysClient) ListAvailableSslOptionsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListAvailableSslOptionsResponder handles the response to the ListAvailableSslOptions request. The method always +// closes the http.Response Body. +func (client ApplicationGatewaysClient) ListAvailableSslOptionsResponder(resp *http.Response) (result ApplicationGatewayAvailableSslOptions, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListAvailableSslPredefinedPolicies lists all SSL predefined policies for configuring Ssl policy. +func (client ApplicationGatewaysClient) ListAvailableSslPredefinedPolicies(ctx context.Context) (result ApplicationGatewayAvailableSslPredefinedPoliciesPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationGatewaysClient.ListAvailableSslPredefinedPolicies") + defer func() { + sc := -1 + if result.agaspp.Response.Response != nil { + sc = result.agaspp.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listAvailableSslPredefinedPoliciesNextResults + req, err := client.ListAvailableSslPredefinedPoliciesPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "ListAvailableSslPredefinedPolicies", nil, "Failure preparing request") + return + } + + resp, err := client.ListAvailableSslPredefinedPoliciesSender(req) + if err != nil { + result.agaspp.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "ListAvailableSslPredefinedPolicies", resp, "Failure sending request") + return + } + + result.agaspp, err = client.ListAvailableSslPredefinedPoliciesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "ListAvailableSslPredefinedPolicies", resp, "Failure responding to request") + } + + return +} + +// ListAvailableSslPredefinedPoliciesPreparer prepares the ListAvailableSslPredefinedPolicies request. +func (client ApplicationGatewaysClient) ListAvailableSslPredefinedPoliciesPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableSslOptions/default/predefinedPolicies", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListAvailableSslPredefinedPoliciesSender sends the ListAvailableSslPredefinedPolicies request. The method will close the +// http.Response Body if it receives an error. +func (client ApplicationGatewaysClient) ListAvailableSslPredefinedPoliciesSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListAvailableSslPredefinedPoliciesResponder handles the response to the ListAvailableSslPredefinedPolicies request. The method always +// closes the http.Response Body. +func (client ApplicationGatewaysClient) ListAvailableSslPredefinedPoliciesResponder(resp *http.Response) (result ApplicationGatewayAvailableSslPredefinedPolicies, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listAvailableSslPredefinedPoliciesNextResults retrieves the next set of results, if any. +func (client ApplicationGatewaysClient) listAvailableSslPredefinedPoliciesNextResults(ctx context.Context, lastResults ApplicationGatewayAvailableSslPredefinedPolicies) (result ApplicationGatewayAvailableSslPredefinedPolicies, err error) { + req, err := lastResults.applicationGatewayAvailableSslPredefinedPoliciesPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "listAvailableSslPredefinedPoliciesNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListAvailableSslPredefinedPoliciesSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "listAvailableSslPredefinedPoliciesNextResults", resp, "Failure sending next results request") + } + result, err = client.ListAvailableSslPredefinedPoliciesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "listAvailableSslPredefinedPoliciesNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListAvailableSslPredefinedPoliciesComplete enumerates all values, automatically crossing page boundaries as required. +func (client ApplicationGatewaysClient) ListAvailableSslPredefinedPoliciesComplete(ctx context.Context) (result ApplicationGatewayAvailableSslPredefinedPoliciesIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationGatewaysClient.ListAvailableSslPredefinedPolicies") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListAvailableSslPredefinedPolicies(ctx) + return +} + +// ListAvailableWafRuleSets lists all available web application firewall rule sets. +func (client ApplicationGatewaysClient) ListAvailableWafRuleSets(ctx context.Context) (result ApplicationGatewayAvailableWafRuleSetsResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationGatewaysClient.ListAvailableWafRuleSets") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListAvailableWafRuleSetsPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "ListAvailableWafRuleSets", nil, "Failure preparing request") + return + } + + resp, err := client.ListAvailableWafRuleSetsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "ListAvailableWafRuleSets", resp, "Failure sending request") + return + } + + result, err = client.ListAvailableWafRuleSetsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "ListAvailableWafRuleSets", resp, "Failure responding to request") + } + + return +} + +// ListAvailableWafRuleSetsPreparer prepares the ListAvailableWafRuleSets request. +func (client ApplicationGatewaysClient) ListAvailableWafRuleSetsPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableWafRuleSets", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListAvailableWafRuleSetsSender sends the ListAvailableWafRuleSets request. The method will close the +// http.Response Body if it receives an error. +func (client ApplicationGatewaysClient) ListAvailableWafRuleSetsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListAvailableWafRuleSetsResponder handles the response to the ListAvailableWafRuleSets request. The method always +// closes the http.Response Body. +func (client ApplicationGatewaysClient) ListAvailableWafRuleSetsResponder(resp *http.Response) (result ApplicationGatewayAvailableWafRuleSetsResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Start starts the specified application gateway. +// Parameters: +// resourceGroupName - the name of the resource group. +// applicationGatewayName - the name of the application gateway. +func (client ApplicationGatewaysClient) Start(ctx context.Context, resourceGroupName string, applicationGatewayName string) (result ApplicationGatewaysStartFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationGatewaysClient.Start") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.StartPreparer(ctx, resourceGroupName, applicationGatewayName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "Start", nil, "Failure preparing request") + return + } + + result, err = client.StartSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "Start", result.Response(), "Failure sending request") + return + } + + return +} + +// StartPreparer prepares the Start request. +func (client ApplicationGatewaysClient) StartPreparer(ctx context.Context, resourceGroupName string, applicationGatewayName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "applicationGatewayName": autorest.Encode("path", applicationGatewayName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}/start", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// StartSender sends the Start request. The method will close the +// http.Response Body if it receives an error. +func (client ApplicationGatewaysClient) StartSender(req *http.Request) (future ApplicationGatewaysStartFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// StartResponder handles the response to the Start request. The method always +// closes the http.Response Body. +func (client ApplicationGatewaysClient) StartResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByClosing()) + result.Response = resp + return +} + +// Stop stops the specified application gateway in a resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +// applicationGatewayName - the name of the application gateway. +func (client ApplicationGatewaysClient) Stop(ctx context.Context, resourceGroupName string, applicationGatewayName string) (result ApplicationGatewaysStopFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationGatewaysClient.Stop") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.StopPreparer(ctx, resourceGroupName, applicationGatewayName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "Stop", nil, "Failure preparing request") + return + } + + result, err = client.StopSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "Stop", result.Response(), "Failure sending request") + return + } + + return +} + +// StopPreparer prepares the Stop request. +func (client ApplicationGatewaysClient) StopPreparer(ctx context.Context, resourceGroupName string, applicationGatewayName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "applicationGatewayName": autorest.Encode("path", applicationGatewayName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}/stop", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// StopSender sends the Stop request. The method will close the +// http.Response Body if it receives an error. +func (client ApplicationGatewaysClient) StopSender(req *http.Request) (future ApplicationGatewaysStopFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// StopResponder handles the response to the Stop request. The method always +// closes the http.Response Body. +func (client ApplicationGatewaysClient) StopResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByClosing()) + result.Response = resp + return +} + +// UpdateTags updates the specified application gateway tags. +// Parameters: +// resourceGroupName - the name of the resource group. +// applicationGatewayName - the name of the application gateway. +// parameters - parameters supplied to update application gateway tags. +func (client ApplicationGatewaysClient) UpdateTags(ctx context.Context, resourceGroupName string, applicationGatewayName string, parameters TagsObject) (result ApplicationGatewaysUpdateTagsFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationGatewaysClient.UpdateTags") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdateTagsPreparer(ctx, resourceGroupName, applicationGatewayName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "UpdateTags", nil, "Failure preparing request") + return + } + + result, err = client.UpdateTagsSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "UpdateTags", result.Response(), "Failure sending request") + return + } + + return +} + +// UpdateTagsPreparer prepares the UpdateTags request. +func (client ApplicationGatewaysClient) UpdateTagsPreparer(ctx context.Context, resourceGroupName string, applicationGatewayName string, parameters TagsObject) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "applicationGatewayName": autorest.Encode("path", applicationGatewayName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateTagsSender sends the UpdateTags request. The method will close the +// http.Response Body if it receives an error. +func (client ApplicationGatewaysClient) UpdateTagsSender(req *http.Request) (future ApplicationGatewaysUpdateTagsFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// UpdateTagsResponder handles the response to the UpdateTags request. The method always +// closes the http.Response Body. +func (client ApplicationGatewaysClient) UpdateTagsResponder(resp *http.Response) (result ApplicationGateway, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/network/mgmt/2019-07-01/network/applicationsecuritygroups.go b/services/network/mgmt/2019-07-01/network/applicationsecuritygroups.go new file mode 100644 index 000000000000..e697c2e450fd --- /dev/null +++ b/services/network/mgmt/2019-07-01/network/applicationsecuritygroups.go @@ -0,0 +1,578 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// ApplicationSecurityGroupsClient is the network Client +type ApplicationSecurityGroupsClient struct { + BaseClient +} + +// NewApplicationSecurityGroupsClient creates an instance of the ApplicationSecurityGroupsClient client. +func NewApplicationSecurityGroupsClient(subscriptionID string) ApplicationSecurityGroupsClient { + return NewApplicationSecurityGroupsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewApplicationSecurityGroupsClientWithBaseURI creates an instance of the ApplicationSecurityGroupsClient client. +func NewApplicationSecurityGroupsClientWithBaseURI(baseURI string, subscriptionID string) ApplicationSecurityGroupsClient { + return ApplicationSecurityGroupsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates an application security group. +// Parameters: +// resourceGroupName - the name of the resource group. +// applicationSecurityGroupName - the name of the application security group. +// parameters - parameters supplied to the create or update ApplicationSecurityGroup operation. +func (client ApplicationSecurityGroupsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, applicationSecurityGroupName string, parameters ApplicationSecurityGroup) (result ApplicationSecurityGroupsCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationSecurityGroupsClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, applicationSecurityGroupName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationSecurityGroupsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationSecurityGroupsClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client ApplicationSecurityGroupsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, applicationSecurityGroupName string, parameters ApplicationSecurityGroup) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "applicationSecurityGroupName": autorest.Encode("path", applicationSecurityGroupName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + parameters.Etag = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationSecurityGroups/{applicationSecurityGroupName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client ApplicationSecurityGroupsClient) CreateOrUpdateSender(req *http.Request) (future ApplicationSecurityGroupsCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client ApplicationSecurityGroupsClient) CreateOrUpdateResponder(resp *http.Response) (result ApplicationSecurityGroup, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the specified application security group. +// Parameters: +// resourceGroupName - the name of the resource group. +// applicationSecurityGroupName - the name of the application security group. +func (client ApplicationSecurityGroupsClient) Delete(ctx context.Context, resourceGroupName string, applicationSecurityGroupName string) (result ApplicationSecurityGroupsDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationSecurityGroupsClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, applicationSecurityGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationSecurityGroupsClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationSecurityGroupsClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client ApplicationSecurityGroupsClient) DeletePreparer(ctx context.Context, resourceGroupName string, applicationSecurityGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "applicationSecurityGroupName": autorest.Encode("path", applicationSecurityGroupName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationSecurityGroups/{applicationSecurityGroupName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client ApplicationSecurityGroupsClient) DeleteSender(req *http.Request) (future ApplicationSecurityGroupsDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client ApplicationSecurityGroupsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets information about the specified application security group. +// Parameters: +// resourceGroupName - the name of the resource group. +// applicationSecurityGroupName - the name of the application security group. +func (client ApplicationSecurityGroupsClient) Get(ctx context.Context, resourceGroupName string, applicationSecurityGroupName string) (result ApplicationSecurityGroup, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationSecurityGroupsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, applicationSecurityGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationSecurityGroupsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ApplicationSecurityGroupsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationSecurityGroupsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client ApplicationSecurityGroupsClient) GetPreparer(ctx context.Context, resourceGroupName string, applicationSecurityGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "applicationSecurityGroupName": autorest.Encode("path", applicationSecurityGroupName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationSecurityGroups/{applicationSecurityGroupName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client ApplicationSecurityGroupsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client ApplicationSecurityGroupsClient) GetResponder(resp *http.Response) (result ApplicationSecurityGroup, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets all the application security groups in a resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +func (client ApplicationSecurityGroupsClient) List(ctx context.Context, resourceGroupName string) (result ApplicationSecurityGroupListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationSecurityGroupsClient.List") + defer func() { + sc := -1 + if result.asglr.Response.Response != nil { + sc = result.asglr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationSecurityGroupsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.asglr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ApplicationSecurityGroupsClient", "List", resp, "Failure sending request") + return + } + + result.asglr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationSecurityGroupsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client ApplicationSecurityGroupsClient) ListPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationSecurityGroups", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client ApplicationSecurityGroupsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client ApplicationSecurityGroupsClient) ListResponder(resp *http.Response) (result ApplicationSecurityGroupListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client ApplicationSecurityGroupsClient) listNextResults(ctx context.Context, lastResults ApplicationSecurityGroupListResult) (result ApplicationSecurityGroupListResult, err error) { + req, err := lastResults.applicationSecurityGroupListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.ApplicationSecurityGroupsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.ApplicationSecurityGroupsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationSecurityGroupsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client ApplicationSecurityGroupsClient) ListComplete(ctx context.Context, resourceGroupName string) (result ApplicationSecurityGroupListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationSecurityGroupsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName) + return +} + +// ListAll gets all application security groups in a subscription. +func (client ApplicationSecurityGroupsClient) ListAll(ctx context.Context) (result ApplicationSecurityGroupListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationSecurityGroupsClient.ListAll") + defer func() { + sc := -1 + if result.asglr.Response.Response != nil { + sc = result.asglr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listAllNextResults + req, err := client.ListAllPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationSecurityGroupsClient", "ListAll", nil, "Failure preparing request") + return + } + + resp, err := client.ListAllSender(req) + if err != nil { + result.asglr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ApplicationSecurityGroupsClient", "ListAll", resp, "Failure sending request") + return + } + + result.asglr, err = client.ListAllResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationSecurityGroupsClient", "ListAll", resp, "Failure responding to request") + } + + return +} + +// ListAllPreparer prepares the ListAll request. +func (client ApplicationSecurityGroupsClient) ListAllPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationSecurityGroups", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListAllSender sends the ListAll request. The method will close the +// http.Response Body if it receives an error. +func (client ApplicationSecurityGroupsClient) ListAllSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListAllResponder handles the response to the ListAll request. The method always +// closes the http.Response Body. +func (client ApplicationSecurityGroupsClient) ListAllResponder(resp *http.Response) (result ApplicationSecurityGroupListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listAllNextResults retrieves the next set of results, if any. +func (client ApplicationSecurityGroupsClient) listAllNextResults(ctx context.Context, lastResults ApplicationSecurityGroupListResult) (result ApplicationSecurityGroupListResult, err error) { + req, err := lastResults.applicationSecurityGroupListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.ApplicationSecurityGroupsClient", "listAllNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListAllSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.ApplicationSecurityGroupsClient", "listAllNextResults", resp, "Failure sending next results request") + } + result, err = client.ListAllResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationSecurityGroupsClient", "listAllNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListAllComplete enumerates all values, automatically crossing page boundaries as required. +func (client ApplicationSecurityGroupsClient) ListAllComplete(ctx context.Context) (result ApplicationSecurityGroupListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationSecurityGroupsClient.ListAll") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListAll(ctx) + return +} + +// UpdateTags updates an application security group's tags. +// Parameters: +// resourceGroupName - the name of the resource group. +// applicationSecurityGroupName - the name of the application security group. +// parameters - parameters supplied to update application security group tags. +func (client ApplicationSecurityGroupsClient) UpdateTags(ctx context.Context, resourceGroupName string, applicationSecurityGroupName string, parameters TagsObject) (result ApplicationSecurityGroupsUpdateTagsFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationSecurityGroupsClient.UpdateTags") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdateTagsPreparer(ctx, resourceGroupName, applicationSecurityGroupName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationSecurityGroupsClient", "UpdateTags", nil, "Failure preparing request") + return + } + + result, err = client.UpdateTagsSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationSecurityGroupsClient", "UpdateTags", result.Response(), "Failure sending request") + return + } + + return +} + +// UpdateTagsPreparer prepares the UpdateTags request. +func (client ApplicationSecurityGroupsClient) UpdateTagsPreparer(ctx context.Context, resourceGroupName string, applicationSecurityGroupName string, parameters TagsObject) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "applicationSecurityGroupName": autorest.Encode("path", applicationSecurityGroupName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationSecurityGroups/{applicationSecurityGroupName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateTagsSender sends the UpdateTags request. The method will close the +// http.Response Body if it receives an error. +func (client ApplicationSecurityGroupsClient) UpdateTagsSender(req *http.Request) (future ApplicationSecurityGroupsUpdateTagsFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// UpdateTagsResponder handles the response to the UpdateTags request. The method always +// closes the http.Response Body. +func (client ApplicationSecurityGroupsClient) UpdateTagsResponder(resp *http.Response) (result ApplicationSecurityGroup, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/network/mgmt/2019-07-01/network/availabledelegations.go b/services/network/mgmt/2019-07-01/network/availabledelegations.go new file mode 100644 index 000000000000..590749fae9fb --- /dev/null +++ b/services/network/mgmt/2019-07-01/network/availabledelegations.go @@ -0,0 +1,154 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// AvailableDelegationsClient is the network Client +type AvailableDelegationsClient struct { + BaseClient +} + +// NewAvailableDelegationsClient creates an instance of the AvailableDelegationsClient client. +func NewAvailableDelegationsClient(subscriptionID string) AvailableDelegationsClient { + return NewAvailableDelegationsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewAvailableDelegationsClientWithBaseURI creates an instance of the AvailableDelegationsClient client. +func NewAvailableDelegationsClientWithBaseURI(baseURI string, subscriptionID string) AvailableDelegationsClient { + return AvailableDelegationsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// List gets all of the available subnet delegations for this subscription in this region. +// Parameters: +// location - the location of the subnet. +func (client AvailableDelegationsClient) List(ctx context.Context, location string) (result AvailableDelegationsResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AvailableDelegationsClient.List") + defer func() { + sc := -1 + if result.adr.Response.Response != nil { + sc = result.adr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, location) + if err != nil { + err = autorest.NewErrorWithError(err, "network.AvailableDelegationsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.adr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.AvailableDelegationsClient", "List", resp, "Failure sending request") + return + } + + result.adr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.AvailableDelegationsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client AvailableDelegationsClient) ListPreparer(ctx context.Context, location string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "location": autorest.Encode("path", location), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/availableDelegations", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client AvailableDelegationsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client AvailableDelegationsClient) ListResponder(resp *http.Response) (result AvailableDelegationsResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client AvailableDelegationsClient) listNextResults(ctx context.Context, lastResults AvailableDelegationsResult) (result AvailableDelegationsResult, err error) { + req, err := lastResults.availableDelegationsResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.AvailableDelegationsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.AvailableDelegationsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.AvailableDelegationsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client AvailableDelegationsClient) ListComplete(ctx context.Context, location string) (result AvailableDelegationsResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AvailableDelegationsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, location) + return +} diff --git a/services/network/mgmt/2019-07-01/network/availableendpointservices.go b/services/network/mgmt/2019-07-01/network/availableendpointservices.go new file mode 100644 index 000000000000..8be2bc7079b6 --- /dev/null +++ b/services/network/mgmt/2019-07-01/network/availableendpointservices.go @@ -0,0 +1,154 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// AvailableEndpointServicesClient is the network Client +type AvailableEndpointServicesClient struct { + BaseClient +} + +// NewAvailableEndpointServicesClient creates an instance of the AvailableEndpointServicesClient client. +func NewAvailableEndpointServicesClient(subscriptionID string) AvailableEndpointServicesClient { + return NewAvailableEndpointServicesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewAvailableEndpointServicesClientWithBaseURI creates an instance of the AvailableEndpointServicesClient client. +func NewAvailableEndpointServicesClientWithBaseURI(baseURI string, subscriptionID string) AvailableEndpointServicesClient { + return AvailableEndpointServicesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// List list what values of endpoint services are available for use. +// Parameters: +// location - the location to check available endpoint services. +func (client AvailableEndpointServicesClient) List(ctx context.Context, location string) (result EndpointServicesListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AvailableEndpointServicesClient.List") + defer func() { + sc := -1 + if result.eslr.Response.Response != nil { + sc = result.eslr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, location) + if err != nil { + err = autorest.NewErrorWithError(err, "network.AvailableEndpointServicesClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.eslr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.AvailableEndpointServicesClient", "List", resp, "Failure sending request") + return + } + + result.eslr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.AvailableEndpointServicesClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client AvailableEndpointServicesClient) ListPreparer(ctx context.Context, location string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "location": autorest.Encode("path", location), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/virtualNetworkAvailableEndpointServices", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client AvailableEndpointServicesClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client AvailableEndpointServicesClient) ListResponder(resp *http.Response) (result EndpointServicesListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client AvailableEndpointServicesClient) listNextResults(ctx context.Context, lastResults EndpointServicesListResult) (result EndpointServicesListResult, err error) { + req, err := lastResults.endpointServicesListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.AvailableEndpointServicesClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.AvailableEndpointServicesClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.AvailableEndpointServicesClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client AvailableEndpointServicesClient) ListComplete(ctx context.Context, location string) (result EndpointServicesListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AvailableEndpointServicesClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, location) + return +} diff --git a/services/network/mgmt/2019-07-01/network/availableprivateendpointtypes.go b/services/network/mgmt/2019-07-01/network/availableprivateendpointtypes.go new file mode 100644 index 000000000000..bf880c8bc121 --- /dev/null +++ b/services/network/mgmt/2019-07-01/network/availableprivateendpointtypes.go @@ -0,0 +1,271 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// AvailablePrivateEndpointTypesClient is the network Client +type AvailablePrivateEndpointTypesClient struct { + BaseClient +} + +// NewAvailablePrivateEndpointTypesClient creates an instance of the AvailablePrivateEndpointTypesClient client. +func NewAvailablePrivateEndpointTypesClient(subscriptionID string) AvailablePrivateEndpointTypesClient { + return NewAvailablePrivateEndpointTypesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewAvailablePrivateEndpointTypesClientWithBaseURI creates an instance of the AvailablePrivateEndpointTypesClient +// client. +func NewAvailablePrivateEndpointTypesClientWithBaseURI(baseURI string, subscriptionID string) AvailablePrivateEndpointTypesClient { + return AvailablePrivateEndpointTypesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// List returns all of the resource types that can be linked to a Private Endpoint in this subscription in this region. +// Parameters: +// location - the location of the domain name. +func (client AvailablePrivateEndpointTypesClient) List(ctx context.Context, location string) (result AvailablePrivateEndpointTypesResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AvailablePrivateEndpointTypesClient.List") + defer func() { + sc := -1 + if result.apetr.Response.Response != nil { + sc = result.apetr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, location) + if err != nil { + err = autorest.NewErrorWithError(err, "network.AvailablePrivateEndpointTypesClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.apetr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.AvailablePrivateEndpointTypesClient", "List", resp, "Failure sending request") + return + } + + result.apetr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.AvailablePrivateEndpointTypesClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client AvailablePrivateEndpointTypesClient) ListPreparer(ctx context.Context, location string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "location": autorest.Encode("path", location), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/availablePrivateEndpointTypes", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client AvailablePrivateEndpointTypesClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client AvailablePrivateEndpointTypesClient) ListResponder(resp *http.Response) (result AvailablePrivateEndpointTypesResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client AvailablePrivateEndpointTypesClient) listNextResults(ctx context.Context, lastResults AvailablePrivateEndpointTypesResult) (result AvailablePrivateEndpointTypesResult, err error) { + req, err := lastResults.availablePrivateEndpointTypesResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.AvailablePrivateEndpointTypesClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.AvailablePrivateEndpointTypesClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.AvailablePrivateEndpointTypesClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client AvailablePrivateEndpointTypesClient) ListComplete(ctx context.Context, location string) (result AvailablePrivateEndpointTypesResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AvailablePrivateEndpointTypesClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, location) + return +} + +// ListByResourceGroup returns all of the resource types that can be linked to a Private Endpoint in this subscription +// in this region. +// Parameters: +// location - the location of the domain name. +// resourceGroupName - the name of the resource group. +func (client AvailablePrivateEndpointTypesClient) ListByResourceGroup(ctx context.Context, location string, resourceGroupName string) (result AvailablePrivateEndpointTypesResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AvailablePrivateEndpointTypesClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.apetr.Response.Response != nil { + sc = result.apetr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listByResourceGroupNextResults + req, err := client.ListByResourceGroupPreparer(ctx, location, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.AvailablePrivateEndpointTypesClient", "ListByResourceGroup", nil, "Failure preparing request") + return + } + + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.apetr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.AvailablePrivateEndpointTypesClient", "ListByResourceGroup", resp, "Failure sending request") + return + } + + result.apetr, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.AvailablePrivateEndpointTypesClient", "ListByResourceGroup", resp, "Failure responding to request") + } + + return +} + +// ListByResourceGroupPreparer prepares the ListByResourceGroup request. +func (client AvailablePrivateEndpointTypesClient) ListByResourceGroupPreparer(ctx context.Context, location string, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "location": autorest.Encode("path", location), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/locations/{location}/availablePrivateEndpointTypes", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByResourceGroupSender sends the ListByResourceGroup request. The method will close the +// http.Response Body if it receives an error. +func (client AvailablePrivateEndpointTypesClient) ListByResourceGroupSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByResourceGroupResponder handles the response to the ListByResourceGroup request. The method always +// closes the http.Response Body. +func (client AvailablePrivateEndpointTypesClient) ListByResourceGroupResponder(resp *http.Response) (result AvailablePrivateEndpointTypesResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listByResourceGroupNextResults retrieves the next set of results, if any. +func (client AvailablePrivateEndpointTypesClient) listByResourceGroupNextResults(ctx context.Context, lastResults AvailablePrivateEndpointTypesResult) (result AvailablePrivateEndpointTypesResult, err error) { + req, err := lastResults.availablePrivateEndpointTypesResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.AvailablePrivateEndpointTypesClient", "listByResourceGroupNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.AvailablePrivateEndpointTypesClient", "listByResourceGroupNextResults", resp, "Failure sending next results request") + } + result, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.AvailablePrivateEndpointTypesClient", "listByResourceGroupNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListByResourceGroupComplete enumerates all values, automatically crossing page boundaries as required. +func (client AvailablePrivateEndpointTypesClient) ListByResourceGroupComplete(ctx context.Context, location string, resourceGroupName string) (result AvailablePrivateEndpointTypesResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AvailablePrivateEndpointTypesClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListByResourceGroup(ctx, location, resourceGroupName) + return +} diff --git a/services/network/mgmt/2019-07-01/network/availableresourcegroupdelegations.go b/services/network/mgmt/2019-07-01/network/availableresourcegroupdelegations.go new file mode 100644 index 000000000000..b729c3eda0ee --- /dev/null +++ b/services/network/mgmt/2019-07-01/network/availableresourcegroupdelegations.go @@ -0,0 +1,158 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// AvailableResourceGroupDelegationsClient is the network Client +type AvailableResourceGroupDelegationsClient struct { + BaseClient +} + +// NewAvailableResourceGroupDelegationsClient creates an instance of the AvailableResourceGroupDelegationsClient +// client. +func NewAvailableResourceGroupDelegationsClient(subscriptionID string) AvailableResourceGroupDelegationsClient { + return NewAvailableResourceGroupDelegationsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewAvailableResourceGroupDelegationsClientWithBaseURI creates an instance of the +// AvailableResourceGroupDelegationsClient client. +func NewAvailableResourceGroupDelegationsClientWithBaseURI(baseURI string, subscriptionID string) AvailableResourceGroupDelegationsClient { + return AvailableResourceGroupDelegationsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// List gets all of the available subnet delegations for this resource group in this region. +// Parameters: +// location - the location of the domain name. +// resourceGroupName - the name of the resource group. +func (client AvailableResourceGroupDelegationsClient) List(ctx context.Context, location string, resourceGroupName string) (result AvailableDelegationsResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AvailableResourceGroupDelegationsClient.List") + defer func() { + sc := -1 + if result.adr.Response.Response != nil { + sc = result.adr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, location, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.AvailableResourceGroupDelegationsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.adr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.AvailableResourceGroupDelegationsClient", "List", resp, "Failure sending request") + return + } + + result.adr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.AvailableResourceGroupDelegationsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client AvailableResourceGroupDelegationsClient) ListPreparer(ctx context.Context, location string, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "location": autorest.Encode("path", location), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/locations/{location}/availableDelegations", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client AvailableResourceGroupDelegationsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client AvailableResourceGroupDelegationsClient) ListResponder(resp *http.Response) (result AvailableDelegationsResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client AvailableResourceGroupDelegationsClient) listNextResults(ctx context.Context, lastResults AvailableDelegationsResult) (result AvailableDelegationsResult, err error) { + req, err := lastResults.availableDelegationsResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.AvailableResourceGroupDelegationsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.AvailableResourceGroupDelegationsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.AvailableResourceGroupDelegationsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client AvailableResourceGroupDelegationsClient) ListComplete(ctx context.Context, location string, resourceGroupName string) (result AvailableDelegationsResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AvailableResourceGroupDelegationsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, location, resourceGroupName) + return +} diff --git a/services/network/mgmt/2019-07-01/network/azurefirewallfqdntags.go b/services/network/mgmt/2019-07-01/network/azurefirewallfqdntags.go new file mode 100644 index 000000000000..ef9b5288900d --- /dev/null +++ b/services/network/mgmt/2019-07-01/network/azurefirewallfqdntags.go @@ -0,0 +1,151 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// AzureFirewallFqdnTagsClient is the network Client +type AzureFirewallFqdnTagsClient struct { + BaseClient +} + +// NewAzureFirewallFqdnTagsClient creates an instance of the AzureFirewallFqdnTagsClient client. +func NewAzureFirewallFqdnTagsClient(subscriptionID string) AzureFirewallFqdnTagsClient { + return NewAzureFirewallFqdnTagsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewAzureFirewallFqdnTagsClientWithBaseURI creates an instance of the AzureFirewallFqdnTagsClient client. +func NewAzureFirewallFqdnTagsClientWithBaseURI(baseURI string, subscriptionID string) AzureFirewallFqdnTagsClient { + return AzureFirewallFqdnTagsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// ListAll gets all the Azure Firewall FQDN Tags in a subscription. +func (client AzureFirewallFqdnTagsClient) ListAll(ctx context.Context) (result AzureFirewallFqdnTagListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AzureFirewallFqdnTagsClient.ListAll") + defer func() { + sc := -1 + if result.afftlr.Response.Response != nil { + sc = result.afftlr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listAllNextResults + req, err := client.ListAllPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "network.AzureFirewallFqdnTagsClient", "ListAll", nil, "Failure preparing request") + return + } + + resp, err := client.ListAllSender(req) + if err != nil { + result.afftlr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.AzureFirewallFqdnTagsClient", "ListAll", resp, "Failure sending request") + return + } + + result.afftlr, err = client.ListAllResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.AzureFirewallFqdnTagsClient", "ListAll", resp, "Failure responding to request") + } + + return +} + +// ListAllPreparer prepares the ListAll request. +func (client AzureFirewallFqdnTagsClient) ListAllPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/azureFirewallFqdnTags", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListAllSender sends the ListAll request. The method will close the +// http.Response Body if it receives an error. +func (client AzureFirewallFqdnTagsClient) ListAllSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListAllResponder handles the response to the ListAll request. The method always +// closes the http.Response Body. +func (client AzureFirewallFqdnTagsClient) ListAllResponder(resp *http.Response) (result AzureFirewallFqdnTagListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listAllNextResults retrieves the next set of results, if any. +func (client AzureFirewallFqdnTagsClient) listAllNextResults(ctx context.Context, lastResults AzureFirewallFqdnTagListResult) (result AzureFirewallFqdnTagListResult, err error) { + req, err := lastResults.azureFirewallFqdnTagListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.AzureFirewallFqdnTagsClient", "listAllNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListAllSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.AzureFirewallFqdnTagsClient", "listAllNextResults", resp, "Failure sending next results request") + } + result, err = client.ListAllResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.AzureFirewallFqdnTagsClient", "listAllNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListAllComplete enumerates all values, automatically crossing page boundaries as required. +func (client AzureFirewallFqdnTagsClient) ListAllComplete(ctx context.Context) (result AzureFirewallFqdnTagListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AzureFirewallFqdnTagsClient.ListAll") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListAll(ctx) + return +} diff --git a/services/network/mgmt/2019-07-01/network/azurefirewalls.go b/services/network/mgmt/2019-07-01/network/azurefirewalls.go new file mode 100644 index 000000000000..eac686f53fb4 --- /dev/null +++ b/services/network/mgmt/2019-07-01/network/azurefirewalls.go @@ -0,0 +1,579 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// AzureFirewallsClient is the network Client +type AzureFirewallsClient struct { + BaseClient +} + +// NewAzureFirewallsClient creates an instance of the AzureFirewallsClient client. +func NewAzureFirewallsClient(subscriptionID string) AzureFirewallsClient { + return NewAzureFirewallsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewAzureFirewallsClientWithBaseURI creates an instance of the AzureFirewallsClient client. +func NewAzureFirewallsClientWithBaseURI(baseURI string, subscriptionID string) AzureFirewallsClient { + return AzureFirewallsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates the specified Azure Firewall. +// Parameters: +// resourceGroupName - the name of the resource group. +// azureFirewallName - the name of the Azure Firewall. +// parameters - parameters supplied to the create or update Azure Firewall operation. +func (client AzureFirewallsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, azureFirewallName string, parameters AzureFirewall) (result AzureFirewallsCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AzureFirewallsClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, azureFirewallName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.AzureFirewallsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.AzureFirewallsClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client AzureFirewallsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, azureFirewallName string, parameters AzureFirewall) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "azureFirewallName": autorest.Encode("path", azureFirewallName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + parameters.Etag = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/azureFirewalls/{azureFirewallName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client AzureFirewallsClient) CreateOrUpdateSender(req *http.Request) (future AzureFirewallsCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client AzureFirewallsClient) CreateOrUpdateResponder(resp *http.Response) (result AzureFirewall, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the specified Azure Firewall. +// Parameters: +// resourceGroupName - the name of the resource group. +// azureFirewallName - the name of the Azure Firewall. +func (client AzureFirewallsClient) Delete(ctx context.Context, resourceGroupName string, azureFirewallName string) (result AzureFirewallsDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AzureFirewallsClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, azureFirewallName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.AzureFirewallsClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.AzureFirewallsClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client AzureFirewallsClient) DeletePreparer(ctx context.Context, resourceGroupName string, azureFirewallName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "azureFirewallName": autorest.Encode("path", azureFirewallName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/azureFirewalls/{azureFirewallName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client AzureFirewallsClient) DeleteSender(req *http.Request) (future AzureFirewallsDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client AzureFirewallsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets the specified Azure Firewall. +// Parameters: +// resourceGroupName - the name of the resource group. +// azureFirewallName - the name of the Azure Firewall. +func (client AzureFirewallsClient) Get(ctx context.Context, resourceGroupName string, azureFirewallName string) (result AzureFirewall, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AzureFirewallsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, azureFirewallName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.AzureFirewallsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.AzureFirewallsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.AzureFirewallsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client AzureFirewallsClient) GetPreparer(ctx context.Context, resourceGroupName string, azureFirewallName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "azureFirewallName": autorest.Encode("path", azureFirewallName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/azureFirewalls/{azureFirewallName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client AzureFirewallsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client AzureFirewallsClient) GetResponder(resp *http.Response) (result AzureFirewall, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List lists all Azure Firewalls in a resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +func (client AzureFirewallsClient) List(ctx context.Context, resourceGroupName string) (result AzureFirewallListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AzureFirewallsClient.List") + defer func() { + sc := -1 + if result.aflr.Response.Response != nil { + sc = result.aflr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.AzureFirewallsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.aflr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.AzureFirewallsClient", "List", resp, "Failure sending request") + return + } + + result.aflr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.AzureFirewallsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client AzureFirewallsClient) ListPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/azureFirewalls", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client AzureFirewallsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client AzureFirewallsClient) ListResponder(resp *http.Response) (result AzureFirewallListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client AzureFirewallsClient) listNextResults(ctx context.Context, lastResults AzureFirewallListResult) (result AzureFirewallListResult, err error) { + req, err := lastResults.azureFirewallListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.AzureFirewallsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.AzureFirewallsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.AzureFirewallsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client AzureFirewallsClient) ListComplete(ctx context.Context, resourceGroupName string) (result AzureFirewallListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AzureFirewallsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName) + return +} + +// ListAll gets all the Azure Firewalls in a subscription. +func (client AzureFirewallsClient) ListAll(ctx context.Context) (result AzureFirewallListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AzureFirewallsClient.ListAll") + defer func() { + sc := -1 + if result.aflr.Response.Response != nil { + sc = result.aflr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listAllNextResults + req, err := client.ListAllPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "network.AzureFirewallsClient", "ListAll", nil, "Failure preparing request") + return + } + + resp, err := client.ListAllSender(req) + if err != nil { + result.aflr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.AzureFirewallsClient", "ListAll", resp, "Failure sending request") + return + } + + result.aflr, err = client.ListAllResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.AzureFirewallsClient", "ListAll", resp, "Failure responding to request") + } + + return +} + +// ListAllPreparer prepares the ListAll request. +func (client AzureFirewallsClient) ListAllPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/azureFirewalls", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListAllSender sends the ListAll request. The method will close the +// http.Response Body if it receives an error. +func (client AzureFirewallsClient) ListAllSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListAllResponder handles the response to the ListAll request. The method always +// closes the http.Response Body. +func (client AzureFirewallsClient) ListAllResponder(resp *http.Response) (result AzureFirewallListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listAllNextResults retrieves the next set of results, if any. +func (client AzureFirewallsClient) listAllNextResults(ctx context.Context, lastResults AzureFirewallListResult) (result AzureFirewallListResult, err error) { + req, err := lastResults.azureFirewallListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.AzureFirewallsClient", "listAllNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListAllSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.AzureFirewallsClient", "listAllNextResults", resp, "Failure sending next results request") + } + result, err = client.ListAllResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.AzureFirewallsClient", "listAllNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListAllComplete enumerates all values, automatically crossing page boundaries as required. +func (client AzureFirewallsClient) ListAllComplete(ctx context.Context) (result AzureFirewallListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AzureFirewallsClient.ListAll") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListAll(ctx) + return +} + +// UpdateTags updates tags for an Azure Firewall resource. +// Parameters: +// resourceGroupName - the name of the resource group. +// azureFirewallName - the name of the Azure Firewall. +// parameters - parameters supplied to the create or update Azure Firewall operation. +func (client AzureFirewallsClient) UpdateTags(ctx context.Context, resourceGroupName string, azureFirewallName string, parameters AzureFirewall) (result AzureFirewall, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AzureFirewallsClient.UpdateTags") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdateTagsPreparer(ctx, resourceGroupName, azureFirewallName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.AzureFirewallsClient", "UpdateTags", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateTagsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.AzureFirewallsClient", "UpdateTags", resp, "Failure sending request") + return + } + + result, err = client.UpdateTagsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.AzureFirewallsClient", "UpdateTags", resp, "Failure responding to request") + } + + return +} + +// UpdateTagsPreparer prepares the UpdateTags request. +func (client AzureFirewallsClient) UpdateTagsPreparer(ctx context.Context, resourceGroupName string, azureFirewallName string, parameters AzureFirewall) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "azureFirewallName": autorest.Encode("path", azureFirewallName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + parameters.Etag = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/azureFirewalls/{azureFirewallName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateTagsSender sends the UpdateTags request. The method will close the +// http.Response Body if it receives an error. +func (client AzureFirewallsClient) UpdateTagsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// UpdateTagsResponder handles the response to the UpdateTags request. The method always +// closes the http.Response Body. +func (client AzureFirewallsClient) UpdateTagsResponder(resp *http.Response) (result AzureFirewall, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/network/mgmt/2019-07-01/network/bastionhosts.go b/services/network/mgmt/2019-07-01/network/bastionhosts.go new file mode 100644 index 000000000000..cb1d53fa0408 --- /dev/null +++ b/services/network/mgmt/2019-07-01/network/bastionhosts.go @@ -0,0 +1,498 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// BastionHostsClient is the network Client +type BastionHostsClient struct { + BaseClient +} + +// NewBastionHostsClient creates an instance of the BastionHostsClient client. +func NewBastionHostsClient(subscriptionID string) BastionHostsClient { + return NewBastionHostsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewBastionHostsClientWithBaseURI creates an instance of the BastionHostsClient client. +func NewBastionHostsClientWithBaseURI(baseURI string, subscriptionID string) BastionHostsClient { + return BastionHostsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates the specified Bastion Host. +// Parameters: +// resourceGroupName - the name of the resource group. +// bastionHostName - the name of the Bastion Host. +// parameters - parameters supplied to the create or update Bastion Host operation. +func (client BastionHostsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, bastionHostName string, parameters BastionHost) (result BastionHostsCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BastionHostsClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, bastionHostName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.BastionHostsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.BastionHostsClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client BastionHostsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, bastionHostName string, parameters BastionHost) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "bastionHostName": autorest.Encode("path", bastionHostName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + parameters.Etag = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/bastionHosts/{bastionHostName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client BastionHostsClient) CreateOrUpdateSender(req *http.Request) (future BastionHostsCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client BastionHostsClient) CreateOrUpdateResponder(resp *http.Response) (result BastionHost, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the specified Bastion Host. +// Parameters: +// resourceGroupName - the name of the resource group. +// bastionHostName - the name of the Bastion Host. +func (client BastionHostsClient) Delete(ctx context.Context, resourceGroupName string, bastionHostName string) (result BastionHostsDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BastionHostsClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, bastionHostName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.BastionHostsClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.BastionHostsClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client BastionHostsClient) DeletePreparer(ctx context.Context, resourceGroupName string, bastionHostName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "bastionHostName": autorest.Encode("path", bastionHostName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/bastionHosts/{bastionHostName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client BastionHostsClient) DeleteSender(req *http.Request) (future BastionHostsDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client BastionHostsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets the specified Bastion Host. +// Parameters: +// resourceGroupName - the name of the resource group. +// bastionHostName - the name of the Bastion Host. +func (client BastionHostsClient) Get(ctx context.Context, resourceGroupName string, bastionHostName string) (result BastionHost, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BastionHostsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, bastionHostName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.BastionHostsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.BastionHostsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.BastionHostsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client BastionHostsClient) GetPreparer(ctx context.Context, resourceGroupName string, bastionHostName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "bastionHostName": autorest.Encode("path", bastionHostName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/bastionHosts/{bastionHostName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client BastionHostsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client BastionHostsClient) GetResponder(resp *http.Response) (result BastionHost, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List lists all Bastion Hosts in a subscription. +func (client BastionHostsClient) List(ctx context.Context) (result BastionHostListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BastionHostsClient.List") + defer func() { + sc := -1 + if result.bhlr.Response.Response != nil { + sc = result.bhlr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "network.BastionHostsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.bhlr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.BastionHostsClient", "List", resp, "Failure sending request") + return + } + + result.bhlr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.BastionHostsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client BastionHostsClient) ListPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/bastionHosts", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client BastionHostsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client BastionHostsClient) ListResponder(resp *http.Response) (result BastionHostListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client BastionHostsClient) listNextResults(ctx context.Context, lastResults BastionHostListResult) (result BastionHostListResult, err error) { + req, err := lastResults.bastionHostListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.BastionHostsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.BastionHostsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.BastionHostsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client BastionHostsClient) ListComplete(ctx context.Context) (result BastionHostListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BastionHostsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx) + return +} + +// ListByResourceGroup lists all Bastion Hosts in a resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +func (client BastionHostsClient) ListByResourceGroup(ctx context.Context, resourceGroupName string) (result BastionHostListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BastionHostsClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.bhlr.Response.Response != nil { + sc = result.bhlr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listByResourceGroupNextResults + req, err := client.ListByResourceGroupPreparer(ctx, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.BastionHostsClient", "ListByResourceGroup", nil, "Failure preparing request") + return + } + + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.bhlr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.BastionHostsClient", "ListByResourceGroup", resp, "Failure sending request") + return + } + + result.bhlr, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.BastionHostsClient", "ListByResourceGroup", resp, "Failure responding to request") + } + + return +} + +// ListByResourceGroupPreparer prepares the ListByResourceGroup request. +func (client BastionHostsClient) ListByResourceGroupPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/bastionHosts", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByResourceGroupSender sends the ListByResourceGroup request. The method will close the +// http.Response Body if it receives an error. +func (client BastionHostsClient) ListByResourceGroupSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByResourceGroupResponder handles the response to the ListByResourceGroup request. The method always +// closes the http.Response Body. +func (client BastionHostsClient) ListByResourceGroupResponder(resp *http.Response) (result BastionHostListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listByResourceGroupNextResults retrieves the next set of results, if any. +func (client BastionHostsClient) listByResourceGroupNextResults(ctx context.Context, lastResults BastionHostListResult) (result BastionHostListResult, err error) { + req, err := lastResults.bastionHostListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.BastionHostsClient", "listByResourceGroupNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.BastionHostsClient", "listByResourceGroupNextResults", resp, "Failure sending next results request") + } + result, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.BastionHostsClient", "listByResourceGroupNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListByResourceGroupComplete enumerates all values, automatically crossing page boundaries as required. +func (client BastionHostsClient) ListByResourceGroupComplete(ctx context.Context, resourceGroupName string) (result BastionHostListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BastionHostsClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListByResourceGroup(ctx, resourceGroupName) + return +} diff --git a/services/network/mgmt/2019-07-01/network/bgpservicecommunities.go b/services/network/mgmt/2019-07-01/network/bgpservicecommunities.go new file mode 100644 index 000000000000..b6e3d0268459 --- /dev/null +++ b/services/network/mgmt/2019-07-01/network/bgpservicecommunities.go @@ -0,0 +1,151 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// BgpServiceCommunitiesClient is the network Client +type BgpServiceCommunitiesClient struct { + BaseClient +} + +// NewBgpServiceCommunitiesClient creates an instance of the BgpServiceCommunitiesClient client. +func NewBgpServiceCommunitiesClient(subscriptionID string) BgpServiceCommunitiesClient { + return NewBgpServiceCommunitiesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewBgpServiceCommunitiesClientWithBaseURI creates an instance of the BgpServiceCommunitiesClient client. +func NewBgpServiceCommunitiesClientWithBaseURI(baseURI string, subscriptionID string) BgpServiceCommunitiesClient { + return BgpServiceCommunitiesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// List gets all the available bgp service communities. +func (client BgpServiceCommunitiesClient) List(ctx context.Context) (result BgpServiceCommunityListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BgpServiceCommunitiesClient.List") + defer func() { + sc := -1 + if result.bsclr.Response.Response != nil { + sc = result.bsclr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "network.BgpServiceCommunitiesClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.bsclr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.BgpServiceCommunitiesClient", "List", resp, "Failure sending request") + return + } + + result.bsclr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.BgpServiceCommunitiesClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client BgpServiceCommunitiesClient) ListPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/bgpServiceCommunities", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client BgpServiceCommunitiesClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client BgpServiceCommunitiesClient) ListResponder(resp *http.Response) (result BgpServiceCommunityListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client BgpServiceCommunitiesClient) listNextResults(ctx context.Context, lastResults BgpServiceCommunityListResult) (result BgpServiceCommunityListResult, err error) { + req, err := lastResults.bgpServiceCommunityListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.BgpServiceCommunitiesClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.BgpServiceCommunitiesClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.BgpServiceCommunitiesClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client BgpServiceCommunitiesClient) ListComplete(ctx context.Context) (result BgpServiceCommunityListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BgpServiceCommunitiesClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx) + return +} diff --git a/services/network/mgmt/2019-07-01/network/client.go b/services/network/mgmt/2019-07-01/network/client.go new file mode 100644 index 000000000000..a3b0b893696c --- /dev/null +++ b/services/network/mgmt/2019-07-01/network/client.go @@ -0,0 +1,210 @@ +// Package network implements the Azure ARM Network service API version . +// +// Network Client +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +const ( + // DefaultBaseURI is the default URI used for the service Network + DefaultBaseURI = "https://management.azure.com" +) + +// BaseClient is the base client for Network. +type BaseClient struct { + autorest.Client + BaseURI string + SubscriptionID string +} + +// New creates an instance of the BaseClient client. +func New(subscriptionID string) BaseClient { + return NewWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewWithBaseURI creates an instance of the BaseClient client. +func NewWithBaseURI(baseURI string, subscriptionID string) BaseClient { + return BaseClient{ + Client: autorest.NewClientWithUserAgent(UserAgent()), + BaseURI: baseURI, + SubscriptionID: subscriptionID, + } +} + +// CheckDNSNameAvailability checks whether a domain name in the cloudapp.azure.com zone is available for use. +// Parameters: +// location - the location of the domain name. +// domainNameLabel - the domain name to be verified. It must conform to the following regular expression: +// ^[a-z][a-z0-9-]{1,61}[a-z0-9]$. +func (client BaseClient) CheckDNSNameAvailability(ctx context.Context, location string, domainNameLabel string) (result DNSNameAvailabilityResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.CheckDNSNameAvailability") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CheckDNSNameAvailabilityPreparer(ctx, location, domainNameLabel) + if err != nil { + err = autorest.NewErrorWithError(err, "network.BaseClient", "CheckDNSNameAvailability", nil, "Failure preparing request") + return + } + + resp, err := client.CheckDNSNameAvailabilitySender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.BaseClient", "CheckDNSNameAvailability", resp, "Failure sending request") + return + } + + result, err = client.CheckDNSNameAvailabilityResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.BaseClient", "CheckDNSNameAvailability", resp, "Failure responding to request") + } + + return +} + +// CheckDNSNameAvailabilityPreparer prepares the CheckDNSNameAvailability request. +func (client BaseClient) CheckDNSNameAvailabilityPreparer(ctx context.Context, location string, domainNameLabel string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "location": autorest.Encode("path", location), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + "domainNameLabel": autorest.Encode("query", domainNameLabel), + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/CheckDnsNameAvailability", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CheckDNSNameAvailabilitySender sends the CheckDNSNameAvailability request. The method will close the +// http.Response Body if it receives an error. +func (client BaseClient) CheckDNSNameAvailabilitySender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CheckDNSNameAvailabilityResponder handles the response to the CheckDNSNameAvailability request. The method always +// closes the http.Response Body. +func (client BaseClient) CheckDNSNameAvailabilityResponder(resp *http.Response) (result DNSNameAvailabilityResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// SupportedSecurityProviders gives the supported security providers for the virtual wan. +// Parameters: +// resourceGroupName - the resource group name. +// virtualWANName - the name of the VirtualWAN for which supported security providers are needed. +func (client BaseClient) SupportedSecurityProviders(ctx context.Context, resourceGroupName string, virtualWANName string) (result VirtualWanSecurityProviders, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.SupportedSecurityProviders") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.SupportedSecurityProvidersPreparer(ctx, resourceGroupName, virtualWANName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.BaseClient", "SupportedSecurityProviders", nil, "Failure preparing request") + return + } + + resp, err := client.SupportedSecurityProvidersSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.BaseClient", "SupportedSecurityProviders", resp, "Failure sending request") + return + } + + result, err = client.SupportedSecurityProvidersResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.BaseClient", "SupportedSecurityProviders", resp, "Failure responding to request") + } + + return +} + +// SupportedSecurityProvidersPreparer prepares the SupportedSecurityProviders request. +func (client BaseClient) SupportedSecurityProvidersPreparer(ctx context.Context, resourceGroupName string, virtualWANName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualWANName": autorest.Encode("path", virtualWANName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{virtualWANName}/supportedSecurityProviders", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// SupportedSecurityProvidersSender sends the SupportedSecurityProviders request. The method will close the +// http.Response Body if it receives an error. +func (client BaseClient) SupportedSecurityProvidersSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// SupportedSecurityProvidersResponder handles the response to the SupportedSecurityProviders request. The method always +// closes the http.Response Body. +func (client BaseClient) SupportedSecurityProvidersResponder(resp *http.Response) (result VirtualWanSecurityProviders, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/network/mgmt/2019-07-01/network/connectionmonitors.go b/services/network/mgmt/2019-07-01/network/connectionmonitors.go new file mode 100644 index 000000000000..ca171615eb08 --- /dev/null +++ b/services/network/mgmt/2019-07-01/network/connectionmonitors.go @@ -0,0 +1,685 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// ConnectionMonitorsClient is the network Client +type ConnectionMonitorsClient struct { + BaseClient +} + +// NewConnectionMonitorsClient creates an instance of the ConnectionMonitorsClient client. +func NewConnectionMonitorsClient(subscriptionID string) ConnectionMonitorsClient { + return NewConnectionMonitorsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewConnectionMonitorsClientWithBaseURI creates an instance of the ConnectionMonitorsClient client. +func NewConnectionMonitorsClientWithBaseURI(baseURI string, subscriptionID string) ConnectionMonitorsClient { + return ConnectionMonitorsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate create or update a connection monitor. +// Parameters: +// resourceGroupName - the name of the resource group containing Network Watcher. +// networkWatcherName - the name of the Network Watcher resource. +// connectionMonitorName - the name of the connection monitor. +// parameters - parameters that define the operation to create a connection monitor. +func (client ConnectionMonitorsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, networkWatcherName string, connectionMonitorName string, parameters ConnectionMonitor) (result ConnectionMonitorsCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ConnectionMonitorsClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.ConnectionMonitorParameters", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "parameters.ConnectionMonitorParameters.Source", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "parameters.ConnectionMonitorParameters.Source.ResourceID", Name: validation.Null, Rule: true, Chain: nil}}}, + {Target: "parameters.ConnectionMonitorParameters.Destination", Name: validation.Null, Rule: true, Chain: nil}, + }}}}}); err != nil { + return result, validation.NewError("network.ConnectionMonitorsClient", "CreateOrUpdate", err.Error()) + } + + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, networkWatcherName, connectionMonitorName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ConnectionMonitorsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ConnectionMonitorsClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client ConnectionMonitorsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, networkWatcherName string, connectionMonitorName string, parameters ConnectionMonitor) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "connectionMonitorName": autorest.Encode("path", connectionMonitorName), + "networkWatcherName": autorest.Encode("path", networkWatcherName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-06-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client ConnectionMonitorsClient) CreateOrUpdateSender(req *http.Request) (future ConnectionMonitorsCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client ConnectionMonitorsClient) CreateOrUpdateResponder(resp *http.Response) (result ConnectionMonitorResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the specified connection monitor. +// Parameters: +// resourceGroupName - the name of the resource group containing Network Watcher. +// networkWatcherName - the name of the Network Watcher resource. +// connectionMonitorName - the name of the connection monitor. +func (client ConnectionMonitorsClient) Delete(ctx context.Context, resourceGroupName string, networkWatcherName string, connectionMonitorName string) (result ConnectionMonitorsDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ConnectionMonitorsClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, networkWatcherName, connectionMonitorName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ConnectionMonitorsClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ConnectionMonitorsClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client ConnectionMonitorsClient) DeletePreparer(ctx context.Context, resourceGroupName string, networkWatcherName string, connectionMonitorName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "connectionMonitorName": autorest.Encode("path", connectionMonitorName), + "networkWatcherName": autorest.Encode("path", networkWatcherName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-06-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client ConnectionMonitorsClient) DeleteSender(req *http.Request) (future ConnectionMonitorsDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client ConnectionMonitorsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets a connection monitor by name. +// Parameters: +// resourceGroupName - the name of the resource group containing Network Watcher. +// networkWatcherName - the name of the Network Watcher resource. +// connectionMonitorName - the name of the connection monitor. +func (client ConnectionMonitorsClient) Get(ctx context.Context, resourceGroupName string, networkWatcherName string, connectionMonitorName string) (result ConnectionMonitorResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ConnectionMonitorsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, networkWatcherName, connectionMonitorName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ConnectionMonitorsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ConnectionMonitorsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ConnectionMonitorsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client ConnectionMonitorsClient) GetPreparer(ctx context.Context, resourceGroupName string, networkWatcherName string, connectionMonitorName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "connectionMonitorName": autorest.Encode("path", connectionMonitorName), + "networkWatcherName": autorest.Encode("path", networkWatcherName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-06-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client ConnectionMonitorsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client ConnectionMonitorsClient) GetResponder(resp *http.Response) (result ConnectionMonitorResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List lists all connection monitors for the specified Network Watcher. +// Parameters: +// resourceGroupName - the name of the resource group containing Network Watcher. +// networkWatcherName - the name of the Network Watcher resource. +func (client ConnectionMonitorsClient) List(ctx context.Context, resourceGroupName string, networkWatcherName string) (result ConnectionMonitorListResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ConnectionMonitorsClient.List") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListPreparer(ctx, resourceGroupName, networkWatcherName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ConnectionMonitorsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ConnectionMonitorsClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ConnectionMonitorsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client ConnectionMonitorsClient) ListPreparer(ctx context.Context, resourceGroupName string, networkWatcherName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkWatcherName": autorest.Encode("path", networkWatcherName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-06-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client ConnectionMonitorsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client ConnectionMonitorsClient) ListResponder(resp *http.Response) (result ConnectionMonitorListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Query query a snapshot of the most recent connection states. +// Parameters: +// resourceGroupName - the name of the resource group containing Network Watcher. +// networkWatcherName - the name of the Network Watcher resource. +// connectionMonitorName - the name given to the connection monitor. +func (client ConnectionMonitorsClient) Query(ctx context.Context, resourceGroupName string, networkWatcherName string, connectionMonitorName string) (result ConnectionMonitorsQueryFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ConnectionMonitorsClient.Query") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.QueryPreparer(ctx, resourceGroupName, networkWatcherName, connectionMonitorName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ConnectionMonitorsClient", "Query", nil, "Failure preparing request") + return + } + + result, err = client.QuerySender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ConnectionMonitorsClient", "Query", result.Response(), "Failure sending request") + return + } + + return +} + +// QueryPreparer prepares the Query request. +func (client ConnectionMonitorsClient) QueryPreparer(ctx context.Context, resourceGroupName string, networkWatcherName string, connectionMonitorName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "connectionMonitorName": autorest.Encode("path", connectionMonitorName), + "networkWatcherName": autorest.Encode("path", networkWatcherName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-06-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}/query", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// QuerySender sends the Query request. The method will close the +// http.Response Body if it receives an error. +func (client ConnectionMonitorsClient) QuerySender(req *http.Request) (future ConnectionMonitorsQueryFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// QueryResponder handles the response to the Query request. The method always +// closes the http.Response Body. +func (client ConnectionMonitorsClient) QueryResponder(resp *http.Response) (result ConnectionMonitorQueryResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Start starts the specified connection monitor. +// Parameters: +// resourceGroupName - the name of the resource group containing Network Watcher. +// networkWatcherName - the name of the Network Watcher resource. +// connectionMonitorName - the name of the connection monitor. +func (client ConnectionMonitorsClient) Start(ctx context.Context, resourceGroupName string, networkWatcherName string, connectionMonitorName string) (result ConnectionMonitorsStartFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ConnectionMonitorsClient.Start") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.StartPreparer(ctx, resourceGroupName, networkWatcherName, connectionMonitorName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ConnectionMonitorsClient", "Start", nil, "Failure preparing request") + return + } + + result, err = client.StartSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ConnectionMonitorsClient", "Start", result.Response(), "Failure sending request") + return + } + + return +} + +// StartPreparer prepares the Start request. +func (client ConnectionMonitorsClient) StartPreparer(ctx context.Context, resourceGroupName string, networkWatcherName string, connectionMonitorName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "connectionMonitorName": autorest.Encode("path", connectionMonitorName), + "networkWatcherName": autorest.Encode("path", networkWatcherName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-06-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}/start", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// StartSender sends the Start request. The method will close the +// http.Response Body if it receives an error. +func (client ConnectionMonitorsClient) StartSender(req *http.Request) (future ConnectionMonitorsStartFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// StartResponder handles the response to the Start request. The method always +// closes the http.Response Body. +func (client ConnectionMonitorsClient) StartResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByClosing()) + result.Response = resp + return +} + +// Stop stops the specified connection monitor. +// Parameters: +// resourceGroupName - the name of the resource group containing Network Watcher. +// networkWatcherName - the name of the Network Watcher resource. +// connectionMonitorName - the name of the connection monitor. +func (client ConnectionMonitorsClient) Stop(ctx context.Context, resourceGroupName string, networkWatcherName string, connectionMonitorName string) (result ConnectionMonitorsStopFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ConnectionMonitorsClient.Stop") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.StopPreparer(ctx, resourceGroupName, networkWatcherName, connectionMonitorName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ConnectionMonitorsClient", "Stop", nil, "Failure preparing request") + return + } + + result, err = client.StopSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ConnectionMonitorsClient", "Stop", result.Response(), "Failure sending request") + return + } + + return +} + +// StopPreparer prepares the Stop request. +func (client ConnectionMonitorsClient) StopPreparer(ctx context.Context, resourceGroupName string, networkWatcherName string, connectionMonitorName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "connectionMonitorName": autorest.Encode("path", connectionMonitorName), + "networkWatcherName": autorest.Encode("path", networkWatcherName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-06-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}/stop", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// StopSender sends the Stop request. The method will close the +// http.Response Body if it receives an error. +func (client ConnectionMonitorsClient) StopSender(req *http.Request) (future ConnectionMonitorsStopFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// StopResponder handles the response to the Stop request. The method always +// closes the http.Response Body. +func (client ConnectionMonitorsClient) StopResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByClosing()) + result.Response = resp + return +} + +// UpdateTags update tags of the specified connection monitor. +// Parameters: +// resourceGroupName - the name of the resource group. +// networkWatcherName - the name of the network watcher. +// connectionMonitorName - the name of the connection monitor. +// parameters - parameters supplied to update connection monitor tags. +func (client ConnectionMonitorsClient) UpdateTags(ctx context.Context, resourceGroupName string, networkWatcherName string, connectionMonitorName string, parameters TagsObject) (result ConnectionMonitorResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ConnectionMonitorsClient.UpdateTags") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdateTagsPreparer(ctx, resourceGroupName, networkWatcherName, connectionMonitorName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ConnectionMonitorsClient", "UpdateTags", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateTagsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ConnectionMonitorsClient", "UpdateTags", resp, "Failure sending request") + return + } + + result, err = client.UpdateTagsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ConnectionMonitorsClient", "UpdateTags", resp, "Failure responding to request") + } + + return +} + +// UpdateTagsPreparer prepares the UpdateTags request. +func (client ConnectionMonitorsClient) UpdateTagsPreparer(ctx context.Context, resourceGroupName string, networkWatcherName string, connectionMonitorName string, parameters TagsObject) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "connectionMonitorName": autorest.Encode("path", connectionMonitorName), + "networkWatcherName": autorest.Encode("path", networkWatcherName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-06-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateTagsSender sends the UpdateTags request. The method will close the +// http.Response Body if it receives an error. +func (client ConnectionMonitorsClient) UpdateTagsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// UpdateTagsResponder handles the response to the UpdateTags request. The method always +// closes the http.Response Body. +func (client ConnectionMonitorsClient) UpdateTagsResponder(resp *http.Response) (result ConnectionMonitorResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/network/mgmt/2019-07-01/network/ddoscustompolicies.go b/services/network/mgmt/2019-07-01/network/ddoscustompolicies.go new file mode 100644 index 000000000000..b3d021a65b2b --- /dev/null +++ b/services/network/mgmt/2019-07-01/network/ddoscustompolicies.go @@ -0,0 +1,355 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// DdosCustomPoliciesClient is the network Client +type DdosCustomPoliciesClient struct { + BaseClient +} + +// NewDdosCustomPoliciesClient creates an instance of the DdosCustomPoliciesClient client. +func NewDdosCustomPoliciesClient(subscriptionID string) DdosCustomPoliciesClient { + return NewDdosCustomPoliciesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewDdosCustomPoliciesClientWithBaseURI creates an instance of the DdosCustomPoliciesClient client. +func NewDdosCustomPoliciesClientWithBaseURI(baseURI string, subscriptionID string) DdosCustomPoliciesClient { + return DdosCustomPoliciesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates a DDoS custom policy. +// Parameters: +// resourceGroupName - the name of the resource group. +// ddosCustomPolicyName - the name of the DDoS custom policy. +// parameters - parameters supplied to the create or update operation. +func (client DdosCustomPoliciesClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, ddosCustomPolicyName string, parameters DdosCustomPolicy) (result DdosCustomPoliciesCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DdosCustomPoliciesClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, ddosCustomPolicyName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.DdosCustomPoliciesClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.DdosCustomPoliciesClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client DdosCustomPoliciesClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, ddosCustomPolicyName string, parameters DdosCustomPolicy) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "ddosCustomPolicyName": autorest.Encode("path", ddosCustomPolicyName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + parameters.Etag = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ddosCustomPolicies/{ddosCustomPolicyName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client DdosCustomPoliciesClient) CreateOrUpdateSender(req *http.Request) (future DdosCustomPoliciesCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client DdosCustomPoliciesClient) CreateOrUpdateResponder(resp *http.Response) (result DdosCustomPolicy, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the specified DDoS custom policy. +// Parameters: +// resourceGroupName - the name of the resource group. +// ddosCustomPolicyName - the name of the DDoS custom policy. +func (client DdosCustomPoliciesClient) Delete(ctx context.Context, resourceGroupName string, ddosCustomPolicyName string) (result DdosCustomPoliciesDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DdosCustomPoliciesClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, ddosCustomPolicyName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.DdosCustomPoliciesClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.DdosCustomPoliciesClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client DdosCustomPoliciesClient) DeletePreparer(ctx context.Context, resourceGroupName string, ddosCustomPolicyName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "ddosCustomPolicyName": autorest.Encode("path", ddosCustomPolicyName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ddosCustomPolicies/{ddosCustomPolicyName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client DdosCustomPoliciesClient) DeleteSender(req *http.Request) (future DdosCustomPoliciesDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client DdosCustomPoliciesClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets information about the specified DDoS custom policy. +// Parameters: +// resourceGroupName - the name of the resource group. +// ddosCustomPolicyName - the name of the DDoS custom policy. +func (client DdosCustomPoliciesClient) Get(ctx context.Context, resourceGroupName string, ddosCustomPolicyName string) (result DdosCustomPolicy, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DdosCustomPoliciesClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, ddosCustomPolicyName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.DdosCustomPoliciesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.DdosCustomPoliciesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.DdosCustomPoliciesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client DdosCustomPoliciesClient) GetPreparer(ctx context.Context, resourceGroupName string, ddosCustomPolicyName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "ddosCustomPolicyName": autorest.Encode("path", ddosCustomPolicyName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ddosCustomPolicies/{ddosCustomPolicyName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client DdosCustomPoliciesClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client DdosCustomPoliciesClient) GetResponder(resp *http.Response) (result DdosCustomPolicy, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// UpdateTags update a DDoS custom policy tags. +// Parameters: +// resourceGroupName - the name of the resource group. +// ddosCustomPolicyName - the name of the DDoS custom policy. +// parameters - parameters supplied to the update DDoS custom policy resource tags. +func (client DdosCustomPoliciesClient) UpdateTags(ctx context.Context, resourceGroupName string, ddosCustomPolicyName string, parameters TagsObject) (result DdosCustomPoliciesUpdateTagsFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DdosCustomPoliciesClient.UpdateTags") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdateTagsPreparer(ctx, resourceGroupName, ddosCustomPolicyName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.DdosCustomPoliciesClient", "UpdateTags", nil, "Failure preparing request") + return + } + + result, err = client.UpdateTagsSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.DdosCustomPoliciesClient", "UpdateTags", result.Response(), "Failure sending request") + return + } + + return +} + +// UpdateTagsPreparer prepares the UpdateTags request. +func (client DdosCustomPoliciesClient) UpdateTagsPreparer(ctx context.Context, resourceGroupName string, ddosCustomPolicyName string, parameters TagsObject) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "ddosCustomPolicyName": autorest.Encode("path", ddosCustomPolicyName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ddosCustomPolicies/{ddosCustomPolicyName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateTagsSender sends the UpdateTags request. The method will close the +// http.Response Body if it receives an error. +func (client DdosCustomPoliciesClient) UpdateTagsSender(req *http.Request) (future DdosCustomPoliciesUpdateTagsFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// UpdateTagsResponder handles the response to the UpdateTags request. The method always +// closes the http.Response Body. +func (client DdosCustomPoliciesClient) UpdateTagsResponder(resp *http.Response) (result DdosCustomPolicy, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/network/mgmt/2019-07-01/network/ddosprotectionplans.go b/services/network/mgmt/2019-07-01/network/ddosprotectionplans.go new file mode 100644 index 000000000000..4278d4000d93 --- /dev/null +++ b/services/network/mgmt/2019-07-01/network/ddosprotectionplans.go @@ -0,0 +1,581 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// DdosProtectionPlansClient is the network Client +type DdosProtectionPlansClient struct { + BaseClient +} + +// NewDdosProtectionPlansClient creates an instance of the DdosProtectionPlansClient client. +func NewDdosProtectionPlansClient(subscriptionID string) DdosProtectionPlansClient { + return NewDdosProtectionPlansClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewDdosProtectionPlansClientWithBaseURI creates an instance of the DdosProtectionPlansClient client. +func NewDdosProtectionPlansClientWithBaseURI(baseURI string, subscriptionID string) DdosProtectionPlansClient { + return DdosProtectionPlansClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates a DDoS protection plan. +// Parameters: +// resourceGroupName - the name of the resource group. +// ddosProtectionPlanName - the name of the DDoS protection plan. +// parameters - parameters supplied to the create or update operation. +func (client DdosProtectionPlansClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, ddosProtectionPlanName string, parameters DdosProtectionPlan) (result DdosProtectionPlansCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DdosProtectionPlansClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, ddosProtectionPlanName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.DdosProtectionPlansClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.DdosProtectionPlansClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client DdosProtectionPlansClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, ddosProtectionPlanName string, parameters DdosProtectionPlan) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "ddosProtectionPlanName": autorest.Encode("path", ddosProtectionPlanName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + parameters.ID = nil + parameters.Name = nil + parameters.Type = nil + parameters.Etag = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ddosProtectionPlans/{ddosProtectionPlanName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client DdosProtectionPlansClient) CreateOrUpdateSender(req *http.Request) (future DdosProtectionPlansCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client DdosProtectionPlansClient) CreateOrUpdateResponder(resp *http.Response) (result DdosProtectionPlan, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the specified DDoS protection plan. +// Parameters: +// resourceGroupName - the name of the resource group. +// ddosProtectionPlanName - the name of the DDoS protection plan. +func (client DdosProtectionPlansClient) Delete(ctx context.Context, resourceGroupName string, ddosProtectionPlanName string) (result DdosProtectionPlansDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DdosProtectionPlansClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, ddosProtectionPlanName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.DdosProtectionPlansClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.DdosProtectionPlansClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client DdosProtectionPlansClient) DeletePreparer(ctx context.Context, resourceGroupName string, ddosProtectionPlanName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "ddosProtectionPlanName": autorest.Encode("path", ddosProtectionPlanName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ddosProtectionPlans/{ddosProtectionPlanName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client DdosProtectionPlansClient) DeleteSender(req *http.Request) (future DdosProtectionPlansDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client DdosProtectionPlansClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets information about the specified DDoS protection plan. +// Parameters: +// resourceGroupName - the name of the resource group. +// ddosProtectionPlanName - the name of the DDoS protection plan. +func (client DdosProtectionPlansClient) Get(ctx context.Context, resourceGroupName string, ddosProtectionPlanName string) (result DdosProtectionPlan, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DdosProtectionPlansClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, ddosProtectionPlanName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.DdosProtectionPlansClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.DdosProtectionPlansClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.DdosProtectionPlansClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client DdosProtectionPlansClient) GetPreparer(ctx context.Context, resourceGroupName string, ddosProtectionPlanName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "ddosProtectionPlanName": autorest.Encode("path", ddosProtectionPlanName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ddosProtectionPlans/{ddosProtectionPlanName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client DdosProtectionPlansClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client DdosProtectionPlansClient) GetResponder(resp *http.Response) (result DdosProtectionPlan, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets all DDoS protection plans in a subscription. +func (client DdosProtectionPlansClient) List(ctx context.Context) (result DdosProtectionPlanListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DdosProtectionPlansClient.List") + defer func() { + sc := -1 + if result.dpplr.Response.Response != nil { + sc = result.dpplr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "network.DdosProtectionPlansClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.dpplr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.DdosProtectionPlansClient", "List", resp, "Failure sending request") + return + } + + result.dpplr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.DdosProtectionPlansClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client DdosProtectionPlansClient) ListPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/ddosProtectionPlans", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client DdosProtectionPlansClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client DdosProtectionPlansClient) ListResponder(resp *http.Response) (result DdosProtectionPlanListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client DdosProtectionPlansClient) listNextResults(ctx context.Context, lastResults DdosProtectionPlanListResult) (result DdosProtectionPlanListResult, err error) { + req, err := lastResults.ddosProtectionPlanListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.DdosProtectionPlansClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.DdosProtectionPlansClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.DdosProtectionPlansClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client DdosProtectionPlansClient) ListComplete(ctx context.Context) (result DdosProtectionPlanListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DdosProtectionPlansClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx) + return +} + +// ListByResourceGroup gets all the DDoS protection plans in a resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +func (client DdosProtectionPlansClient) ListByResourceGroup(ctx context.Context, resourceGroupName string) (result DdosProtectionPlanListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DdosProtectionPlansClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.dpplr.Response.Response != nil { + sc = result.dpplr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listByResourceGroupNextResults + req, err := client.ListByResourceGroupPreparer(ctx, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.DdosProtectionPlansClient", "ListByResourceGroup", nil, "Failure preparing request") + return + } + + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.dpplr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.DdosProtectionPlansClient", "ListByResourceGroup", resp, "Failure sending request") + return + } + + result.dpplr, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.DdosProtectionPlansClient", "ListByResourceGroup", resp, "Failure responding to request") + } + + return +} + +// ListByResourceGroupPreparer prepares the ListByResourceGroup request. +func (client DdosProtectionPlansClient) ListByResourceGroupPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ddosProtectionPlans", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByResourceGroupSender sends the ListByResourceGroup request. The method will close the +// http.Response Body if it receives an error. +func (client DdosProtectionPlansClient) ListByResourceGroupSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByResourceGroupResponder handles the response to the ListByResourceGroup request. The method always +// closes the http.Response Body. +func (client DdosProtectionPlansClient) ListByResourceGroupResponder(resp *http.Response) (result DdosProtectionPlanListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listByResourceGroupNextResults retrieves the next set of results, if any. +func (client DdosProtectionPlansClient) listByResourceGroupNextResults(ctx context.Context, lastResults DdosProtectionPlanListResult) (result DdosProtectionPlanListResult, err error) { + req, err := lastResults.ddosProtectionPlanListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.DdosProtectionPlansClient", "listByResourceGroupNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.DdosProtectionPlansClient", "listByResourceGroupNextResults", resp, "Failure sending next results request") + } + result, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.DdosProtectionPlansClient", "listByResourceGroupNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListByResourceGroupComplete enumerates all values, automatically crossing page boundaries as required. +func (client DdosProtectionPlansClient) ListByResourceGroupComplete(ctx context.Context, resourceGroupName string) (result DdosProtectionPlanListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DdosProtectionPlansClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListByResourceGroup(ctx, resourceGroupName) + return +} + +// UpdateTags update a DDoS protection plan tags. +// Parameters: +// resourceGroupName - the name of the resource group. +// ddosProtectionPlanName - the name of the DDoS protection plan. +// parameters - parameters supplied to the update DDoS protection plan resource tags. +func (client DdosProtectionPlansClient) UpdateTags(ctx context.Context, resourceGroupName string, ddosProtectionPlanName string, parameters TagsObject) (result DdosProtectionPlansUpdateTagsFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DdosProtectionPlansClient.UpdateTags") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdateTagsPreparer(ctx, resourceGroupName, ddosProtectionPlanName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.DdosProtectionPlansClient", "UpdateTags", nil, "Failure preparing request") + return + } + + result, err = client.UpdateTagsSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.DdosProtectionPlansClient", "UpdateTags", result.Response(), "Failure sending request") + return + } + + return +} + +// UpdateTagsPreparer prepares the UpdateTags request. +func (client DdosProtectionPlansClient) UpdateTagsPreparer(ctx context.Context, resourceGroupName string, ddosProtectionPlanName string, parameters TagsObject) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "ddosProtectionPlanName": autorest.Encode("path", ddosProtectionPlanName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ddosProtectionPlans/{ddosProtectionPlanName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateTagsSender sends the UpdateTags request. The method will close the +// http.Response Body if it receives an error. +func (client DdosProtectionPlansClient) UpdateTagsSender(req *http.Request) (future DdosProtectionPlansUpdateTagsFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// UpdateTagsResponder handles the response to the UpdateTags request. The method always +// closes the http.Response Body. +func (client DdosProtectionPlansClient) UpdateTagsResponder(resp *http.Response) (result DdosProtectionPlan, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/network/mgmt/2019-07-01/network/defaultsecurityrules.go b/services/network/mgmt/2019-07-01/network/defaultsecurityrules.go new file mode 100644 index 000000000000..00e112b530f9 --- /dev/null +++ b/services/network/mgmt/2019-07-01/network/defaultsecurityrules.go @@ -0,0 +1,235 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// DefaultSecurityRulesClient is the network Client +type DefaultSecurityRulesClient struct { + BaseClient +} + +// NewDefaultSecurityRulesClient creates an instance of the DefaultSecurityRulesClient client. +func NewDefaultSecurityRulesClient(subscriptionID string) DefaultSecurityRulesClient { + return NewDefaultSecurityRulesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewDefaultSecurityRulesClientWithBaseURI creates an instance of the DefaultSecurityRulesClient client. +func NewDefaultSecurityRulesClientWithBaseURI(baseURI string, subscriptionID string) DefaultSecurityRulesClient { + return DefaultSecurityRulesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// Get get the specified default network security rule. +// Parameters: +// resourceGroupName - the name of the resource group. +// networkSecurityGroupName - the name of the network security group. +// defaultSecurityRuleName - the name of the default security rule. +func (client DefaultSecurityRulesClient) Get(ctx context.Context, resourceGroupName string, networkSecurityGroupName string, defaultSecurityRuleName string) (result SecurityRule, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DefaultSecurityRulesClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, networkSecurityGroupName, defaultSecurityRuleName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.DefaultSecurityRulesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.DefaultSecurityRulesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.DefaultSecurityRulesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client DefaultSecurityRulesClient) GetPreparer(ctx context.Context, resourceGroupName string, networkSecurityGroupName string, defaultSecurityRuleName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "defaultSecurityRuleName": autorest.Encode("path", defaultSecurityRuleName), + "networkSecurityGroupName": autorest.Encode("path", networkSecurityGroupName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/defaultSecurityRules/{defaultSecurityRuleName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client DefaultSecurityRulesClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client DefaultSecurityRulesClient) GetResponder(resp *http.Response) (result SecurityRule, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets all default security rules in a network security group. +// Parameters: +// resourceGroupName - the name of the resource group. +// networkSecurityGroupName - the name of the network security group. +func (client DefaultSecurityRulesClient) List(ctx context.Context, resourceGroupName string, networkSecurityGroupName string) (result SecurityRuleListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DefaultSecurityRulesClient.List") + defer func() { + sc := -1 + if result.srlr.Response.Response != nil { + sc = result.srlr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName, networkSecurityGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.DefaultSecurityRulesClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.srlr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.DefaultSecurityRulesClient", "List", resp, "Failure sending request") + return + } + + result.srlr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.DefaultSecurityRulesClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client DefaultSecurityRulesClient) ListPreparer(ctx context.Context, resourceGroupName string, networkSecurityGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkSecurityGroupName": autorest.Encode("path", networkSecurityGroupName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/defaultSecurityRules", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client DefaultSecurityRulesClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client DefaultSecurityRulesClient) ListResponder(resp *http.Response) (result SecurityRuleListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client DefaultSecurityRulesClient) listNextResults(ctx context.Context, lastResults SecurityRuleListResult) (result SecurityRuleListResult, err error) { + req, err := lastResults.securityRuleListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.DefaultSecurityRulesClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.DefaultSecurityRulesClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.DefaultSecurityRulesClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client DefaultSecurityRulesClient) ListComplete(ctx context.Context, resourceGroupName string, networkSecurityGroupName string) (result SecurityRuleListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DefaultSecurityRulesClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName, networkSecurityGroupName) + return +} diff --git a/services/network/mgmt/2019-07-01/network/expressroutecircuitauthorizations.go b/services/network/mgmt/2019-07-01/network/expressroutecircuitauthorizations.go new file mode 100644 index 000000000000..fd5ac2a9832e --- /dev/null +++ b/services/network/mgmt/2019-07-01/network/expressroutecircuitauthorizations.go @@ -0,0 +1,400 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// ExpressRouteCircuitAuthorizationsClient is the network Client +type ExpressRouteCircuitAuthorizationsClient struct { + BaseClient +} + +// NewExpressRouteCircuitAuthorizationsClient creates an instance of the ExpressRouteCircuitAuthorizationsClient +// client. +func NewExpressRouteCircuitAuthorizationsClient(subscriptionID string) ExpressRouteCircuitAuthorizationsClient { + return NewExpressRouteCircuitAuthorizationsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewExpressRouteCircuitAuthorizationsClientWithBaseURI creates an instance of the +// ExpressRouteCircuitAuthorizationsClient client. +func NewExpressRouteCircuitAuthorizationsClientWithBaseURI(baseURI string, subscriptionID string) ExpressRouteCircuitAuthorizationsClient { + return ExpressRouteCircuitAuthorizationsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates an authorization in the specified express route circuit. +// Parameters: +// resourceGroupName - the name of the resource group. +// circuitName - the name of the express route circuit. +// authorizationName - the name of the authorization. +// authorizationParameters - parameters supplied to the create or update express route circuit authorization +// operation. +func (client ExpressRouteCircuitAuthorizationsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, circuitName string, authorizationName string, authorizationParameters ExpressRouteCircuitAuthorization) (result ExpressRouteCircuitAuthorizationsCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCircuitAuthorizationsClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, circuitName, authorizationName, authorizationParameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitAuthorizationsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitAuthorizationsClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client ExpressRouteCircuitAuthorizationsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, circuitName string, authorizationName string, authorizationParameters ExpressRouteCircuitAuthorization) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "authorizationName": autorest.Encode("path", authorizationName), + "circuitName": autorest.Encode("path", circuitName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + authorizationParameters.Etag = nil + authorizationParameters.Type = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/authorizations/{authorizationName}", pathParameters), + autorest.WithJSON(authorizationParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRouteCircuitAuthorizationsClient) CreateOrUpdateSender(req *http.Request) (future ExpressRouteCircuitAuthorizationsCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client ExpressRouteCircuitAuthorizationsClient) CreateOrUpdateResponder(resp *http.Response) (result ExpressRouteCircuitAuthorization, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the specified authorization from the specified express route circuit. +// Parameters: +// resourceGroupName - the name of the resource group. +// circuitName - the name of the express route circuit. +// authorizationName - the name of the authorization. +func (client ExpressRouteCircuitAuthorizationsClient) Delete(ctx context.Context, resourceGroupName string, circuitName string, authorizationName string) (result ExpressRouteCircuitAuthorizationsDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCircuitAuthorizationsClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, circuitName, authorizationName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitAuthorizationsClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitAuthorizationsClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client ExpressRouteCircuitAuthorizationsClient) DeletePreparer(ctx context.Context, resourceGroupName string, circuitName string, authorizationName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "authorizationName": autorest.Encode("path", authorizationName), + "circuitName": autorest.Encode("path", circuitName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/authorizations/{authorizationName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRouteCircuitAuthorizationsClient) DeleteSender(req *http.Request) (future ExpressRouteCircuitAuthorizationsDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client ExpressRouteCircuitAuthorizationsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets the specified authorization from the specified express route circuit. +// Parameters: +// resourceGroupName - the name of the resource group. +// circuitName - the name of the express route circuit. +// authorizationName - the name of the authorization. +func (client ExpressRouteCircuitAuthorizationsClient) Get(ctx context.Context, resourceGroupName string, circuitName string, authorizationName string) (result ExpressRouteCircuitAuthorization, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCircuitAuthorizationsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, circuitName, authorizationName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitAuthorizationsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitAuthorizationsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitAuthorizationsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client ExpressRouteCircuitAuthorizationsClient) GetPreparer(ctx context.Context, resourceGroupName string, circuitName string, authorizationName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "authorizationName": autorest.Encode("path", authorizationName), + "circuitName": autorest.Encode("path", circuitName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/authorizations/{authorizationName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRouteCircuitAuthorizationsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client ExpressRouteCircuitAuthorizationsClient) GetResponder(resp *http.Response) (result ExpressRouteCircuitAuthorization, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets all authorizations in an express route circuit. +// Parameters: +// resourceGroupName - the name of the resource group. +// circuitName - the name of the circuit. +func (client ExpressRouteCircuitAuthorizationsClient) List(ctx context.Context, resourceGroupName string, circuitName string) (result AuthorizationListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCircuitAuthorizationsClient.List") + defer func() { + sc := -1 + if result.alr.Response.Response != nil { + sc = result.alr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName, circuitName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitAuthorizationsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.alr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitAuthorizationsClient", "List", resp, "Failure sending request") + return + } + + result.alr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitAuthorizationsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client ExpressRouteCircuitAuthorizationsClient) ListPreparer(ctx context.Context, resourceGroupName string, circuitName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "circuitName": autorest.Encode("path", circuitName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/authorizations", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRouteCircuitAuthorizationsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client ExpressRouteCircuitAuthorizationsClient) ListResponder(resp *http.Response) (result AuthorizationListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client ExpressRouteCircuitAuthorizationsClient) listNextResults(ctx context.Context, lastResults AuthorizationListResult) (result AuthorizationListResult, err error) { + req, err := lastResults.authorizationListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.ExpressRouteCircuitAuthorizationsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.ExpressRouteCircuitAuthorizationsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitAuthorizationsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client ExpressRouteCircuitAuthorizationsClient) ListComplete(ctx context.Context, resourceGroupName string, circuitName string) (result AuthorizationListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCircuitAuthorizationsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName, circuitName) + return +} diff --git a/services/network/mgmt/2019-07-01/network/expressroutecircuitconnections.go b/services/network/mgmt/2019-07-01/network/expressroutecircuitconnections.go new file mode 100644 index 000000000000..d414f09a6653 --- /dev/null +++ b/services/network/mgmt/2019-07-01/network/expressroutecircuitconnections.go @@ -0,0 +1,407 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// ExpressRouteCircuitConnectionsClient is the network Client +type ExpressRouteCircuitConnectionsClient struct { + BaseClient +} + +// NewExpressRouteCircuitConnectionsClient creates an instance of the ExpressRouteCircuitConnectionsClient client. +func NewExpressRouteCircuitConnectionsClient(subscriptionID string) ExpressRouteCircuitConnectionsClient { + return NewExpressRouteCircuitConnectionsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewExpressRouteCircuitConnectionsClientWithBaseURI creates an instance of the ExpressRouteCircuitConnectionsClient +// client. +func NewExpressRouteCircuitConnectionsClientWithBaseURI(baseURI string, subscriptionID string) ExpressRouteCircuitConnectionsClient { + return ExpressRouteCircuitConnectionsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates a Express Route Circuit Connection in the specified express route circuits. +// Parameters: +// resourceGroupName - the name of the resource group. +// circuitName - the name of the express route circuit. +// peeringName - the name of the peering. +// connectionName - the name of the express route circuit connection. +// expressRouteCircuitConnectionParameters - parameters supplied to the create or update express route circuit +// connection operation. +func (client ExpressRouteCircuitConnectionsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, circuitName string, peeringName string, connectionName string, expressRouteCircuitConnectionParameters ExpressRouteCircuitConnection) (result ExpressRouteCircuitConnectionsCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCircuitConnectionsClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, circuitName, peeringName, connectionName, expressRouteCircuitConnectionParameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitConnectionsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitConnectionsClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client ExpressRouteCircuitConnectionsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, circuitName string, peeringName string, connectionName string, expressRouteCircuitConnectionParameters ExpressRouteCircuitConnection) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "circuitName": autorest.Encode("path", circuitName), + "connectionName": autorest.Encode("path", connectionName), + "peeringName": autorest.Encode("path", peeringName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + expressRouteCircuitConnectionParameters.Etag = nil + expressRouteCircuitConnectionParameters.Type = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/connections/{connectionName}", pathParameters), + autorest.WithJSON(expressRouteCircuitConnectionParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRouteCircuitConnectionsClient) CreateOrUpdateSender(req *http.Request) (future ExpressRouteCircuitConnectionsCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client ExpressRouteCircuitConnectionsClient) CreateOrUpdateResponder(resp *http.Response) (result ExpressRouteCircuitConnection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the specified Express Route Circuit Connection from the specified express route circuit. +// Parameters: +// resourceGroupName - the name of the resource group. +// circuitName - the name of the express route circuit. +// peeringName - the name of the peering. +// connectionName - the name of the express route circuit connection. +func (client ExpressRouteCircuitConnectionsClient) Delete(ctx context.Context, resourceGroupName string, circuitName string, peeringName string, connectionName string) (result ExpressRouteCircuitConnectionsDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCircuitConnectionsClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, circuitName, peeringName, connectionName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitConnectionsClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitConnectionsClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client ExpressRouteCircuitConnectionsClient) DeletePreparer(ctx context.Context, resourceGroupName string, circuitName string, peeringName string, connectionName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "circuitName": autorest.Encode("path", circuitName), + "connectionName": autorest.Encode("path", connectionName), + "peeringName": autorest.Encode("path", peeringName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/connections/{connectionName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRouteCircuitConnectionsClient) DeleteSender(req *http.Request) (future ExpressRouteCircuitConnectionsDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client ExpressRouteCircuitConnectionsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets the specified Express Route Circuit Connection from the specified express route circuit. +// Parameters: +// resourceGroupName - the name of the resource group. +// circuitName - the name of the express route circuit. +// peeringName - the name of the peering. +// connectionName - the name of the express route circuit connection. +func (client ExpressRouteCircuitConnectionsClient) Get(ctx context.Context, resourceGroupName string, circuitName string, peeringName string, connectionName string) (result ExpressRouteCircuitConnection, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCircuitConnectionsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, circuitName, peeringName, connectionName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitConnectionsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitConnectionsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitConnectionsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client ExpressRouteCircuitConnectionsClient) GetPreparer(ctx context.Context, resourceGroupName string, circuitName string, peeringName string, connectionName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "circuitName": autorest.Encode("path", circuitName), + "connectionName": autorest.Encode("path", connectionName), + "peeringName": autorest.Encode("path", peeringName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/connections/{connectionName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRouteCircuitConnectionsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client ExpressRouteCircuitConnectionsClient) GetResponder(resp *http.Response) (result ExpressRouteCircuitConnection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets all global reach connections associated with a private peering in an express route circuit. +// Parameters: +// resourceGroupName - the name of the resource group. +// circuitName - the name of the circuit. +// peeringName - the name of the peering. +func (client ExpressRouteCircuitConnectionsClient) List(ctx context.Context, resourceGroupName string, circuitName string, peeringName string) (result ExpressRouteCircuitConnectionListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCircuitConnectionsClient.List") + defer func() { + sc := -1 + if result.ercclr.Response.Response != nil { + sc = result.ercclr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName, circuitName, peeringName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitConnectionsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.ercclr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitConnectionsClient", "List", resp, "Failure sending request") + return + } + + result.ercclr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitConnectionsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client ExpressRouteCircuitConnectionsClient) ListPreparer(ctx context.Context, resourceGroupName string, circuitName string, peeringName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "circuitName": autorest.Encode("path", circuitName), + "peeringName": autorest.Encode("path", peeringName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/connections", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRouteCircuitConnectionsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client ExpressRouteCircuitConnectionsClient) ListResponder(resp *http.Response) (result ExpressRouteCircuitConnectionListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client ExpressRouteCircuitConnectionsClient) listNextResults(ctx context.Context, lastResults ExpressRouteCircuitConnectionListResult) (result ExpressRouteCircuitConnectionListResult, err error) { + req, err := lastResults.expressRouteCircuitConnectionListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.ExpressRouteCircuitConnectionsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.ExpressRouteCircuitConnectionsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitConnectionsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client ExpressRouteCircuitConnectionsClient) ListComplete(ctx context.Context, resourceGroupName string, circuitName string, peeringName string) (result ExpressRouteCircuitConnectionListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCircuitConnectionsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName, circuitName, peeringName) + return +} diff --git a/services/network/mgmt/2019-07-01/network/expressroutecircuitpeerings.go b/services/network/mgmt/2019-07-01/network/expressroutecircuitpeerings.go new file mode 100644 index 000000000000..1a63f4afbbe4 --- /dev/null +++ b/services/network/mgmt/2019-07-01/network/expressroutecircuitpeerings.go @@ -0,0 +1,409 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// ExpressRouteCircuitPeeringsClient is the network Client +type ExpressRouteCircuitPeeringsClient struct { + BaseClient +} + +// NewExpressRouteCircuitPeeringsClient creates an instance of the ExpressRouteCircuitPeeringsClient client. +func NewExpressRouteCircuitPeeringsClient(subscriptionID string) ExpressRouteCircuitPeeringsClient { + return NewExpressRouteCircuitPeeringsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewExpressRouteCircuitPeeringsClientWithBaseURI creates an instance of the ExpressRouteCircuitPeeringsClient client. +func NewExpressRouteCircuitPeeringsClientWithBaseURI(baseURI string, subscriptionID string) ExpressRouteCircuitPeeringsClient { + return ExpressRouteCircuitPeeringsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates a peering in the specified express route circuits. +// Parameters: +// resourceGroupName - the name of the resource group. +// circuitName - the name of the express route circuit. +// peeringName - the name of the peering. +// peeringParameters - parameters supplied to the create or update express route circuit peering operation. +func (client ExpressRouteCircuitPeeringsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, circuitName string, peeringName string, peeringParameters ExpressRouteCircuitPeering) (result ExpressRouteCircuitPeeringsCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCircuitPeeringsClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: peeringParameters, + Constraints: []validation.Constraint{{Target: "peeringParameters.ExpressRouteCircuitPeeringPropertiesFormat", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "peeringParameters.ExpressRouteCircuitPeeringPropertiesFormat.PeerASN", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "peeringParameters.ExpressRouteCircuitPeeringPropertiesFormat.PeerASN", Name: validation.InclusiveMaximum, Rule: int64(4294967295), Chain: nil}, + {Target: "peeringParameters.ExpressRouteCircuitPeeringPropertiesFormat.PeerASN", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}, + }}, + }}}}}); err != nil { + return result, validation.NewError("network.ExpressRouteCircuitPeeringsClient", "CreateOrUpdate", err.Error()) + } + + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, circuitName, peeringName, peeringParameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitPeeringsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitPeeringsClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client ExpressRouteCircuitPeeringsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, circuitName string, peeringName string, peeringParameters ExpressRouteCircuitPeering) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "circuitName": autorest.Encode("path", circuitName), + "peeringName": autorest.Encode("path", peeringName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + peeringParameters.Etag = nil + peeringParameters.Type = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}", pathParameters), + autorest.WithJSON(peeringParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRouteCircuitPeeringsClient) CreateOrUpdateSender(req *http.Request) (future ExpressRouteCircuitPeeringsCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client ExpressRouteCircuitPeeringsClient) CreateOrUpdateResponder(resp *http.Response) (result ExpressRouteCircuitPeering, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the specified peering from the specified express route circuit. +// Parameters: +// resourceGroupName - the name of the resource group. +// circuitName - the name of the express route circuit. +// peeringName - the name of the peering. +func (client ExpressRouteCircuitPeeringsClient) Delete(ctx context.Context, resourceGroupName string, circuitName string, peeringName string) (result ExpressRouteCircuitPeeringsDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCircuitPeeringsClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, circuitName, peeringName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitPeeringsClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitPeeringsClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client ExpressRouteCircuitPeeringsClient) DeletePreparer(ctx context.Context, resourceGroupName string, circuitName string, peeringName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "circuitName": autorest.Encode("path", circuitName), + "peeringName": autorest.Encode("path", peeringName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRouteCircuitPeeringsClient) DeleteSender(req *http.Request) (future ExpressRouteCircuitPeeringsDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client ExpressRouteCircuitPeeringsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets the specified peering for the express route circuit. +// Parameters: +// resourceGroupName - the name of the resource group. +// circuitName - the name of the express route circuit. +// peeringName - the name of the peering. +func (client ExpressRouteCircuitPeeringsClient) Get(ctx context.Context, resourceGroupName string, circuitName string, peeringName string) (result ExpressRouteCircuitPeering, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCircuitPeeringsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, circuitName, peeringName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitPeeringsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitPeeringsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitPeeringsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client ExpressRouteCircuitPeeringsClient) GetPreparer(ctx context.Context, resourceGroupName string, circuitName string, peeringName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "circuitName": autorest.Encode("path", circuitName), + "peeringName": autorest.Encode("path", peeringName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRouteCircuitPeeringsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client ExpressRouteCircuitPeeringsClient) GetResponder(resp *http.Response) (result ExpressRouteCircuitPeering, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets all peerings in a specified express route circuit. +// Parameters: +// resourceGroupName - the name of the resource group. +// circuitName - the name of the express route circuit. +func (client ExpressRouteCircuitPeeringsClient) List(ctx context.Context, resourceGroupName string, circuitName string) (result ExpressRouteCircuitPeeringListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCircuitPeeringsClient.List") + defer func() { + sc := -1 + if result.ercplr.Response.Response != nil { + sc = result.ercplr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName, circuitName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitPeeringsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.ercplr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitPeeringsClient", "List", resp, "Failure sending request") + return + } + + result.ercplr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitPeeringsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client ExpressRouteCircuitPeeringsClient) ListPreparer(ctx context.Context, resourceGroupName string, circuitName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "circuitName": autorest.Encode("path", circuitName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRouteCircuitPeeringsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client ExpressRouteCircuitPeeringsClient) ListResponder(resp *http.Response) (result ExpressRouteCircuitPeeringListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client ExpressRouteCircuitPeeringsClient) listNextResults(ctx context.Context, lastResults ExpressRouteCircuitPeeringListResult) (result ExpressRouteCircuitPeeringListResult, err error) { + req, err := lastResults.expressRouteCircuitPeeringListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.ExpressRouteCircuitPeeringsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.ExpressRouteCircuitPeeringsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitPeeringsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client ExpressRouteCircuitPeeringsClient) ListComplete(ctx context.Context, resourceGroupName string, circuitName string) (result ExpressRouteCircuitPeeringListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCircuitPeeringsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName, circuitName) + return +} diff --git a/services/network/mgmt/2019-07-01/network/expressroutecircuits.go b/services/network/mgmt/2019-07-01/network/expressroutecircuits.go new file mode 100644 index 000000000000..06819c16b581 --- /dev/null +++ b/services/network/mgmt/2019-07-01/network/expressroutecircuits.go @@ -0,0 +1,979 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// ExpressRouteCircuitsClient is the network Client +type ExpressRouteCircuitsClient struct { + BaseClient +} + +// NewExpressRouteCircuitsClient creates an instance of the ExpressRouteCircuitsClient client. +func NewExpressRouteCircuitsClient(subscriptionID string) ExpressRouteCircuitsClient { + return NewExpressRouteCircuitsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewExpressRouteCircuitsClientWithBaseURI creates an instance of the ExpressRouteCircuitsClient client. +func NewExpressRouteCircuitsClientWithBaseURI(baseURI string, subscriptionID string) ExpressRouteCircuitsClient { + return ExpressRouteCircuitsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates an express route circuit. +// Parameters: +// resourceGroupName - the name of the resource group. +// circuitName - the name of the circuit. +// parameters - parameters supplied to the create or update express route circuit operation. +func (client ExpressRouteCircuitsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, circuitName string, parameters ExpressRouteCircuit) (result ExpressRouteCircuitsCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCircuitsClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, circuitName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitsClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client ExpressRouteCircuitsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, circuitName string, parameters ExpressRouteCircuit) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "circuitName": autorest.Encode("path", circuitName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + parameters.Etag = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRouteCircuitsClient) CreateOrUpdateSender(req *http.Request) (future ExpressRouteCircuitsCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client ExpressRouteCircuitsClient) CreateOrUpdateResponder(resp *http.Response) (result ExpressRouteCircuit, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the specified express route circuit. +// Parameters: +// resourceGroupName - the name of the resource group. +// circuitName - the name of the express route circuit. +func (client ExpressRouteCircuitsClient) Delete(ctx context.Context, resourceGroupName string, circuitName string) (result ExpressRouteCircuitsDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCircuitsClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, circuitName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitsClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitsClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client ExpressRouteCircuitsClient) DeletePreparer(ctx context.Context, resourceGroupName string, circuitName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "circuitName": autorest.Encode("path", circuitName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRouteCircuitsClient) DeleteSender(req *http.Request) (future ExpressRouteCircuitsDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client ExpressRouteCircuitsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets information about the specified express route circuit. +// Parameters: +// resourceGroupName - the name of the resource group. +// circuitName - the name of express route circuit. +func (client ExpressRouteCircuitsClient) Get(ctx context.Context, resourceGroupName string, circuitName string) (result ExpressRouteCircuit, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCircuitsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, circuitName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client ExpressRouteCircuitsClient) GetPreparer(ctx context.Context, resourceGroupName string, circuitName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "circuitName": autorest.Encode("path", circuitName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRouteCircuitsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client ExpressRouteCircuitsClient) GetResponder(resp *http.Response) (result ExpressRouteCircuit, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetPeeringStats gets all stats from an express route circuit in a resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +// circuitName - the name of the express route circuit. +// peeringName - the name of the peering. +func (client ExpressRouteCircuitsClient) GetPeeringStats(ctx context.Context, resourceGroupName string, circuitName string, peeringName string) (result ExpressRouteCircuitStats, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCircuitsClient.GetPeeringStats") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPeeringStatsPreparer(ctx, resourceGroupName, circuitName, peeringName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitsClient", "GetPeeringStats", nil, "Failure preparing request") + return + } + + resp, err := client.GetPeeringStatsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitsClient", "GetPeeringStats", resp, "Failure sending request") + return + } + + result, err = client.GetPeeringStatsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitsClient", "GetPeeringStats", resp, "Failure responding to request") + } + + return +} + +// GetPeeringStatsPreparer prepares the GetPeeringStats request. +func (client ExpressRouteCircuitsClient) GetPeeringStatsPreparer(ctx context.Context, resourceGroupName string, circuitName string, peeringName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "circuitName": autorest.Encode("path", circuitName), + "peeringName": autorest.Encode("path", peeringName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/stats", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetPeeringStatsSender sends the GetPeeringStats request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRouteCircuitsClient) GetPeeringStatsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetPeeringStatsResponder handles the response to the GetPeeringStats request. The method always +// closes the http.Response Body. +func (client ExpressRouteCircuitsClient) GetPeeringStatsResponder(resp *http.Response) (result ExpressRouteCircuitStats, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetStats gets all the stats from an express route circuit in a resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +// circuitName - the name of the express route circuit. +func (client ExpressRouteCircuitsClient) GetStats(ctx context.Context, resourceGroupName string, circuitName string) (result ExpressRouteCircuitStats, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCircuitsClient.GetStats") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetStatsPreparer(ctx, resourceGroupName, circuitName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitsClient", "GetStats", nil, "Failure preparing request") + return + } + + resp, err := client.GetStatsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitsClient", "GetStats", resp, "Failure sending request") + return + } + + result, err = client.GetStatsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitsClient", "GetStats", resp, "Failure responding to request") + } + + return +} + +// GetStatsPreparer prepares the GetStats request. +func (client ExpressRouteCircuitsClient) GetStatsPreparer(ctx context.Context, resourceGroupName string, circuitName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "circuitName": autorest.Encode("path", circuitName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/stats", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetStatsSender sends the GetStats request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRouteCircuitsClient) GetStatsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetStatsResponder handles the response to the GetStats request. The method always +// closes the http.Response Body. +func (client ExpressRouteCircuitsClient) GetStatsResponder(resp *http.Response) (result ExpressRouteCircuitStats, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets all the express route circuits in a resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +func (client ExpressRouteCircuitsClient) List(ctx context.Context, resourceGroupName string) (result ExpressRouteCircuitListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCircuitsClient.List") + defer func() { + sc := -1 + if result.erclr.Response.Response != nil { + sc = result.erclr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.erclr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitsClient", "List", resp, "Failure sending request") + return + } + + result.erclr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client ExpressRouteCircuitsClient) ListPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRouteCircuitsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client ExpressRouteCircuitsClient) ListResponder(resp *http.Response) (result ExpressRouteCircuitListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client ExpressRouteCircuitsClient) listNextResults(ctx context.Context, lastResults ExpressRouteCircuitListResult) (result ExpressRouteCircuitListResult, err error) { + req, err := lastResults.expressRouteCircuitListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.ExpressRouteCircuitsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.ExpressRouteCircuitsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client ExpressRouteCircuitsClient) ListComplete(ctx context.Context, resourceGroupName string) (result ExpressRouteCircuitListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCircuitsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName) + return +} + +// ListAll gets all the express route circuits in a subscription. +func (client ExpressRouteCircuitsClient) ListAll(ctx context.Context) (result ExpressRouteCircuitListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCircuitsClient.ListAll") + defer func() { + sc := -1 + if result.erclr.Response.Response != nil { + sc = result.erclr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listAllNextResults + req, err := client.ListAllPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitsClient", "ListAll", nil, "Failure preparing request") + return + } + + resp, err := client.ListAllSender(req) + if err != nil { + result.erclr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitsClient", "ListAll", resp, "Failure sending request") + return + } + + result.erclr, err = client.ListAllResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitsClient", "ListAll", resp, "Failure responding to request") + } + + return +} + +// ListAllPreparer prepares the ListAll request. +func (client ExpressRouteCircuitsClient) ListAllPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/expressRouteCircuits", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListAllSender sends the ListAll request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRouteCircuitsClient) ListAllSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListAllResponder handles the response to the ListAll request. The method always +// closes the http.Response Body. +func (client ExpressRouteCircuitsClient) ListAllResponder(resp *http.Response) (result ExpressRouteCircuitListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listAllNextResults retrieves the next set of results, if any. +func (client ExpressRouteCircuitsClient) listAllNextResults(ctx context.Context, lastResults ExpressRouteCircuitListResult) (result ExpressRouteCircuitListResult, err error) { + req, err := lastResults.expressRouteCircuitListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.ExpressRouteCircuitsClient", "listAllNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListAllSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.ExpressRouteCircuitsClient", "listAllNextResults", resp, "Failure sending next results request") + } + result, err = client.ListAllResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitsClient", "listAllNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListAllComplete enumerates all values, automatically crossing page boundaries as required. +func (client ExpressRouteCircuitsClient) ListAllComplete(ctx context.Context) (result ExpressRouteCircuitListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCircuitsClient.ListAll") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListAll(ctx) + return +} + +// ListArpTable gets the currently advertised ARP table associated with the express route circuit in a resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +// circuitName - the name of the express route circuit. +// peeringName - the name of the peering. +// devicePath - the path of the device. +func (client ExpressRouteCircuitsClient) ListArpTable(ctx context.Context, resourceGroupName string, circuitName string, peeringName string, devicePath string) (result ExpressRouteCircuitsListArpTableFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCircuitsClient.ListArpTable") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListArpTablePreparer(ctx, resourceGroupName, circuitName, peeringName, devicePath) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitsClient", "ListArpTable", nil, "Failure preparing request") + return + } + + result, err = client.ListArpTableSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitsClient", "ListArpTable", result.Response(), "Failure sending request") + return + } + + return +} + +// ListArpTablePreparer prepares the ListArpTable request. +func (client ExpressRouteCircuitsClient) ListArpTablePreparer(ctx context.Context, resourceGroupName string, circuitName string, peeringName string, devicePath string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "circuitName": autorest.Encode("path", circuitName), + "devicePath": autorest.Encode("path", devicePath), + "peeringName": autorest.Encode("path", peeringName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/arpTables/{devicePath}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListArpTableSender sends the ListArpTable request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRouteCircuitsClient) ListArpTableSender(req *http.Request) (future ExpressRouteCircuitsListArpTableFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// ListArpTableResponder handles the response to the ListArpTable request. The method always +// closes the http.Response Body. +func (client ExpressRouteCircuitsClient) ListArpTableResponder(resp *http.Response) (result ExpressRouteCircuitsArpTableListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListRoutesTable gets the currently advertised routes table associated with the express route circuit in a resource +// group. +// Parameters: +// resourceGroupName - the name of the resource group. +// circuitName - the name of the express route circuit. +// peeringName - the name of the peering. +// devicePath - the path of the device. +func (client ExpressRouteCircuitsClient) ListRoutesTable(ctx context.Context, resourceGroupName string, circuitName string, peeringName string, devicePath string) (result ExpressRouteCircuitsListRoutesTableFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCircuitsClient.ListRoutesTable") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListRoutesTablePreparer(ctx, resourceGroupName, circuitName, peeringName, devicePath) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitsClient", "ListRoutesTable", nil, "Failure preparing request") + return + } + + result, err = client.ListRoutesTableSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitsClient", "ListRoutesTable", result.Response(), "Failure sending request") + return + } + + return +} + +// ListRoutesTablePreparer prepares the ListRoutesTable request. +func (client ExpressRouteCircuitsClient) ListRoutesTablePreparer(ctx context.Context, resourceGroupName string, circuitName string, peeringName string, devicePath string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "circuitName": autorest.Encode("path", circuitName), + "devicePath": autorest.Encode("path", devicePath), + "peeringName": autorest.Encode("path", peeringName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/routeTables/{devicePath}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListRoutesTableSender sends the ListRoutesTable request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRouteCircuitsClient) ListRoutesTableSender(req *http.Request) (future ExpressRouteCircuitsListRoutesTableFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// ListRoutesTableResponder handles the response to the ListRoutesTable request. The method always +// closes the http.Response Body. +func (client ExpressRouteCircuitsClient) ListRoutesTableResponder(resp *http.Response) (result ExpressRouteCircuitsRoutesTableListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListRoutesTableSummary gets the currently advertised routes table summary associated with the express route circuit +// in a resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +// circuitName - the name of the express route circuit. +// peeringName - the name of the peering. +// devicePath - the path of the device. +func (client ExpressRouteCircuitsClient) ListRoutesTableSummary(ctx context.Context, resourceGroupName string, circuitName string, peeringName string, devicePath string) (result ExpressRouteCircuitsListRoutesTableSummaryFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCircuitsClient.ListRoutesTableSummary") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListRoutesTableSummaryPreparer(ctx, resourceGroupName, circuitName, peeringName, devicePath) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitsClient", "ListRoutesTableSummary", nil, "Failure preparing request") + return + } + + result, err = client.ListRoutesTableSummarySender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitsClient", "ListRoutesTableSummary", result.Response(), "Failure sending request") + return + } + + return +} + +// ListRoutesTableSummaryPreparer prepares the ListRoutesTableSummary request. +func (client ExpressRouteCircuitsClient) ListRoutesTableSummaryPreparer(ctx context.Context, resourceGroupName string, circuitName string, peeringName string, devicePath string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "circuitName": autorest.Encode("path", circuitName), + "devicePath": autorest.Encode("path", devicePath), + "peeringName": autorest.Encode("path", peeringName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/routeTablesSummary/{devicePath}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListRoutesTableSummarySender sends the ListRoutesTableSummary request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRouteCircuitsClient) ListRoutesTableSummarySender(req *http.Request) (future ExpressRouteCircuitsListRoutesTableSummaryFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// ListRoutesTableSummaryResponder handles the response to the ListRoutesTableSummary request. The method always +// closes the http.Response Body. +func (client ExpressRouteCircuitsClient) ListRoutesTableSummaryResponder(resp *http.Response) (result ExpressRouteCircuitsRoutesTableSummaryListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// UpdateTags updates an express route circuit tags. +// Parameters: +// resourceGroupName - the name of the resource group. +// circuitName - the name of the circuit. +// parameters - parameters supplied to update express route circuit tags. +func (client ExpressRouteCircuitsClient) UpdateTags(ctx context.Context, resourceGroupName string, circuitName string, parameters TagsObject) (result ExpressRouteCircuitsUpdateTagsFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCircuitsClient.UpdateTags") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdateTagsPreparer(ctx, resourceGroupName, circuitName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitsClient", "UpdateTags", nil, "Failure preparing request") + return + } + + result, err = client.UpdateTagsSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitsClient", "UpdateTags", result.Response(), "Failure sending request") + return + } + + return +} + +// UpdateTagsPreparer prepares the UpdateTags request. +func (client ExpressRouteCircuitsClient) UpdateTagsPreparer(ctx context.Context, resourceGroupName string, circuitName string, parameters TagsObject) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "circuitName": autorest.Encode("path", circuitName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateTagsSender sends the UpdateTags request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRouteCircuitsClient) UpdateTagsSender(req *http.Request) (future ExpressRouteCircuitsUpdateTagsFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// UpdateTagsResponder handles the response to the UpdateTags request. The method always +// closes the http.Response Body. +func (client ExpressRouteCircuitsClient) UpdateTagsResponder(resp *http.Response) (result ExpressRouteCircuit, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/network/mgmt/2019-07-01/network/expressrouteconnections.go b/services/network/mgmt/2019-07-01/network/expressrouteconnections.go new file mode 100644 index 000000000000..f7c17bdeff2a --- /dev/null +++ b/services/network/mgmt/2019-07-01/network/expressrouteconnections.go @@ -0,0 +1,366 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// ExpressRouteConnectionsClient is the network Client +type ExpressRouteConnectionsClient struct { + BaseClient +} + +// NewExpressRouteConnectionsClient creates an instance of the ExpressRouteConnectionsClient client. +func NewExpressRouteConnectionsClient(subscriptionID string) ExpressRouteConnectionsClient { + return NewExpressRouteConnectionsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewExpressRouteConnectionsClientWithBaseURI creates an instance of the ExpressRouteConnectionsClient client. +func NewExpressRouteConnectionsClientWithBaseURI(baseURI string, subscriptionID string) ExpressRouteConnectionsClient { + return ExpressRouteConnectionsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates a connection between an ExpressRoute gateway and an ExpressRoute circuit. +// Parameters: +// resourceGroupName - the name of the resource group. +// expressRouteGatewayName - the name of the ExpressRoute gateway. +// connectionName - the name of the connection subresource. +// putExpressRouteConnectionParameters - parameters required in an ExpressRouteConnection PUT operation. +func (client ExpressRouteConnectionsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, expressRouteGatewayName string, connectionName string, putExpressRouteConnectionParameters ExpressRouteConnection) (result ExpressRouteConnectionsCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteConnectionsClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: putExpressRouteConnectionParameters, + Constraints: []validation.Constraint{{Target: "putExpressRouteConnectionParameters.ExpressRouteConnectionProperties", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "putExpressRouteConnectionParameters.ExpressRouteConnectionProperties.ExpressRouteCircuitPeering", Name: validation.Null, Rule: true, Chain: nil}}}, + {Target: "putExpressRouteConnectionParameters.Name", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + return result, validation.NewError("network.ExpressRouteConnectionsClient", "CreateOrUpdate", err.Error()) + } + + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, expressRouteGatewayName, connectionName, putExpressRouteConnectionParameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteConnectionsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteConnectionsClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client ExpressRouteConnectionsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, expressRouteGatewayName string, connectionName string, putExpressRouteConnectionParameters ExpressRouteConnection) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "connectionName": autorest.Encode("path", connectionName), + "expressRouteGatewayName": autorest.Encode("path", expressRouteGatewayName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteGateways/{expressRouteGatewayName}/expressRouteConnections/{connectionName}", pathParameters), + autorest.WithJSON(putExpressRouteConnectionParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRouteConnectionsClient) CreateOrUpdateSender(req *http.Request) (future ExpressRouteConnectionsCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client ExpressRouteConnectionsClient) CreateOrUpdateResponder(resp *http.Response) (result ExpressRouteConnection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes a connection to a ExpressRoute circuit. +// Parameters: +// resourceGroupName - the name of the resource group. +// expressRouteGatewayName - the name of the ExpressRoute gateway. +// connectionName - the name of the connection subresource. +func (client ExpressRouteConnectionsClient) Delete(ctx context.Context, resourceGroupName string, expressRouteGatewayName string, connectionName string) (result ExpressRouteConnectionsDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteConnectionsClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, expressRouteGatewayName, connectionName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteConnectionsClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteConnectionsClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client ExpressRouteConnectionsClient) DeletePreparer(ctx context.Context, resourceGroupName string, expressRouteGatewayName string, connectionName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "connectionName": autorest.Encode("path", connectionName), + "expressRouteGatewayName": autorest.Encode("path", expressRouteGatewayName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteGateways/{expressRouteGatewayName}/expressRouteConnections/{connectionName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRouteConnectionsClient) DeleteSender(req *http.Request) (future ExpressRouteConnectionsDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client ExpressRouteConnectionsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets the specified ExpressRouteConnection. +// Parameters: +// resourceGroupName - the name of the resource group. +// expressRouteGatewayName - the name of the ExpressRoute gateway. +// connectionName - the name of the ExpressRoute connection. +func (client ExpressRouteConnectionsClient) Get(ctx context.Context, resourceGroupName string, expressRouteGatewayName string, connectionName string) (result ExpressRouteConnection, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteConnectionsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, expressRouteGatewayName, connectionName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteConnectionsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ExpressRouteConnectionsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteConnectionsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client ExpressRouteConnectionsClient) GetPreparer(ctx context.Context, resourceGroupName string, expressRouteGatewayName string, connectionName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "connectionName": autorest.Encode("path", connectionName), + "expressRouteGatewayName": autorest.Encode("path", expressRouteGatewayName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteGateways/{expressRouteGatewayName}/expressRouteConnections/{connectionName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRouteConnectionsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client ExpressRouteConnectionsClient) GetResponder(resp *http.Response) (result ExpressRouteConnection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List lists ExpressRouteConnections. +// Parameters: +// resourceGroupName - the name of the resource group. +// expressRouteGatewayName - the name of the ExpressRoute gateway. +func (client ExpressRouteConnectionsClient) List(ctx context.Context, resourceGroupName string, expressRouteGatewayName string) (result ExpressRouteConnectionList, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteConnectionsClient.List") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListPreparer(ctx, resourceGroupName, expressRouteGatewayName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteConnectionsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ExpressRouteConnectionsClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteConnectionsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client ExpressRouteConnectionsClient) ListPreparer(ctx context.Context, resourceGroupName string, expressRouteGatewayName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "expressRouteGatewayName": autorest.Encode("path", expressRouteGatewayName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteGateways/{expressRouteGatewayName}/expressRouteConnections", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRouteConnectionsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client ExpressRouteConnectionsClient) ListResponder(resp *http.Response) (result ExpressRouteConnectionList, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/network/mgmt/2019-07-01/network/expressroutecrossconnectionpeerings.go b/services/network/mgmt/2019-07-01/network/expressroutecrossconnectionpeerings.go new file mode 100644 index 000000000000..39b9a4eefe0a --- /dev/null +++ b/services/network/mgmt/2019-07-01/network/expressroutecrossconnectionpeerings.go @@ -0,0 +1,411 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// ExpressRouteCrossConnectionPeeringsClient is the network Client +type ExpressRouteCrossConnectionPeeringsClient struct { + BaseClient +} + +// NewExpressRouteCrossConnectionPeeringsClient creates an instance of the ExpressRouteCrossConnectionPeeringsClient +// client. +func NewExpressRouteCrossConnectionPeeringsClient(subscriptionID string) ExpressRouteCrossConnectionPeeringsClient { + return NewExpressRouteCrossConnectionPeeringsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewExpressRouteCrossConnectionPeeringsClientWithBaseURI creates an instance of the +// ExpressRouteCrossConnectionPeeringsClient client. +func NewExpressRouteCrossConnectionPeeringsClientWithBaseURI(baseURI string, subscriptionID string) ExpressRouteCrossConnectionPeeringsClient { + return ExpressRouteCrossConnectionPeeringsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates a peering in the specified ExpressRouteCrossConnection. +// Parameters: +// resourceGroupName - the name of the resource group. +// crossConnectionName - the name of the ExpressRouteCrossConnection. +// peeringName - the name of the peering. +// peeringParameters - parameters supplied to the create or update ExpressRouteCrossConnection peering +// operation. +func (client ExpressRouteCrossConnectionPeeringsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, crossConnectionName string, peeringName string, peeringParameters ExpressRouteCrossConnectionPeering) (result ExpressRouteCrossConnectionPeeringsCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCrossConnectionPeeringsClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: peeringParameters, + Constraints: []validation.Constraint{{Target: "peeringParameters.ExpressRouteCrossConnectionPeeringProperties", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "peeringParameters.ExpressRouteCrossConnectionPeeringProperties.PeerASN", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "peeringParameters.ExpressRouteCrossConnectionPeeringProperties.PeerASN", Name: validation.InclusiveMaximum, Rule: int64(4294967295), Chain: nil}, + {Target: "peeringParameters.ExpressRouteCrossConnectionPeeringProperties.PeerASN", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}, + }}, + }}}}}); err != nil { + return result, validation.NewError("network.ExpressRouteCrossConnectionPeeringsClient", "CreateOrUpdate", err.Error()) + } + + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, crossConnectionName, peeringName, peeringParameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCrossConnectionPeeringsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCrossConnectionPeeringsClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client ExpressRouteCrossConnectionPeeringsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, crossConnectionName string, peeringName string, peeringParameters ExpressRouteCrossConnectionPeering) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "crossConnectionName": autorest.Encode("path", crossConnectionName), + "peeringName": autorest.Encode("path", peeringName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + peeringParameters.Etag = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}", pathParameters), + autorest.WithJSON(peeringParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRouteCrossConnectionPeeringsClient) CreateOrUpdateSender(req *http.Request) (future ExpressRouteCrossConnectionPeeringsCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client ExpressRouteCrossConnectionPeeringsClient) CreateOrUpdateResponder(resp *http.Response) (result ExpressRouteCrossConnectionPeering, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the specified peering from the ExpressRouteCrossConnection. +// Parameters: +// resourceGroupName - the name of the resource group. +// crossConnectionName - the name of the ExpressRouteCrossConnection. +// peeringName - the name of the peering. +func (client ExpressRouteCrossConnectionPeeringsClient) Delete(ctx context.Context, resourceGroupName string, crossConnectionName string, peeringName string) (result ExpressRouteCrossConnectionPeeringsDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCrossConnectionPeeringsClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, crossConnectionName, peeringName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCrossConnectionPeeringsClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCrossConnectionPeeringsClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client ExpressRouteCrossConnectionPeeringsClient) DeletePreparer(ctx context.Context, resourceGroupName string, crossConnectionName string, peeringName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "crossConnectionName": autorest.Encode("path", crossConnectionName), + "peeringName": autorest.Encode("path", peeringName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRouteCrossConnectionPeeringsClient) DeleteSender(req *http.Request) (future ExpressRouteCrossConnectionPeeringsDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client ExpressRouteCrossConnectionPeeringsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets the specified peering for the ExpressRouteCrossConnection. +// Parameters: +// resourceGroupName - the name of the resource group. +// crossConnectionName - the name of the ExpressRouteCrossConnection. +// peeringName - the name of the peering. +func (client ExpressRouteCrossConnectionPeeringsClient) Get(ctx context.Context, resourceGroupName string, crossConnectionName string, peeringName string) (result ExpressRouteCrossConnectionPeering, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCrossConnectionPeeringsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, crossConnectionName, peeringName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCrossConnectionPeeringsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ExpressRouteCrossConnectionPeeringsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCrossConnectionPeeringsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client ExpressRouteCrossConnectionPeeringsClient) GetPreparer(ctx context.Context, resourceGroupName string, crossConnectionName string, peeringName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "crossConnectionName": autorest.Encode("path", crossConnectionName), + "peeringName": autorest.Encode("path", peeringName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRouteCrossConnectionPeeringsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client ExpressRouteCrossConnectionPeeringsClient) GetResponder(resp *http.Response) (result ExpressRouteCrossConnectionPeering, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets all peerings in a specified ExpressRouteCrossConnection. +// Parameters: +// resourceGroupName - the name of the resource group. +// crossConnectionName - the name of the ExpressRouteCrossConnection. +func (client ExpressRouteCrossConnectionPeeringsClient) List(ctx context.Context, resourceGroupName string, crossConnectionName string) (result ExpressRouteCrossConnectionPeeringListPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCrossConnectionPeeringsClient.List") + defer func() { + sc := -1 + if result.erccpl.Response.Response != nil { + sc = result.erccpl.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName, crossConnectionName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCrossConnectionPeeringsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.erccpl.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ExpressRouteCrossConnectionPeeringsClient", "List", resp, "Failure sending request") + return + } + + result.erccpl, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCrossConnectionPeeringsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client ExpressRouteCrossConnectionPeeringsClient) ListPreparer(ctx context.Context, resourceGroupName string, crossConnectionName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "crossConnectionName": autorest.Encode("path", crossConnectionName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRouteCrossConnectionPeeringsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client ExpressRouteCrossConnectionPeeringsClient) ListResponder(resp *http.Response) (result ExpressRouteCrossConnectionPeeringList, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client ExpressRouteCrossConnectionPeeringsClient) listNextResults(ctx context.Context, lastResults ExpressRouteCrossConnectionPeeringList) (result ExpressRouteCrossConnectionPeeringList, err error) { + req, err := lastResults.expressRouteCrossConnectionPeeringListPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.ExpressRouteCrossConnectionPeeringsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.ExpressRouteCrossConnectionPeeringsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCrossConnectionPeeringsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client ExpressRouteCrossConnectionPeeringsClient) ListComplete(ctx context.Context, resourceGroupName string, crossConnectionName string) (result ExpressRouteCrossConnectionPeeringListIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCrossConnectionPeeringsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName, crossConnectionName) + return +} diff --git a/services/network/mgmt/2019-07-01/network/expressroutecrossconnections.go b/services/network/mgmt/2019-07-01/network/expressroutecrossconnections.go new file mode 100644 index 000000000000..a00ecb6fab68 --- /dev/null +++ b/services/network/mgmt/2019-07-01/network/expressroutecrossconnections.go @@ -0,0 +1,749 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// ExpressRouteCrossConnectionsClient is the network Client +type ExpressRouteCrossConnectionsClient struct { + BaseClient +} + +// NewExpressRouteCrossConnectionsClient creates an instance of the ExpressRouteCrossConnectionsClient client. +func NewExpressRouteCrossConnectionsClient(subscriptionID string) ExpressRouteCrossConnectionsClient { + return NewExpressRouteCrossConnectionsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewExpressRouteCrossConnectionsClientWithBaseURI creates an instance of the ExpressRouteCrossConnectionsClient +// client. +func NewExpressRouteCrossConnectionsClientWithBaseURI(baseURI string, subscriptionID string) ExpressRouteCrossConnectionsClient { + return ExpressRouteCrossConnectionsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate update the specified ExpressRouteCrossConnection. +// Parameters: +// resourceGroupName - the name of the resource group. +// crossConnectionName - the name of the ExpressRouteCrossConnection. +// parameters - parameters supplied to the update express route crossConnection operation. +func (client ExpressRouteCrossConnectionsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, crossConnectionName string, parameters ExpressRouteCrossConnection) (result ExpressRouteCrossConnectionsCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCrossConnectionsClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, crossConnectionName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCrossConnectionsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCrossConnectionsClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client ExpressRouteCrossConnectionsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, crossConnectionName string, parameters ExpressRouteCrossConnection) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "crossConnectionName": autorest.Encode("path", crossConnectionName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + parameters.Etag = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRouteCrossConnectionsClient) CreateOrUpdateSender(req *http.Request) (future ExpressRouteCrossConnectionsCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client ExpressRouteCrossConnectionsClient) CreateOrUpdateResponder(resp *http.Response) (result ExpressRouteCrossConnection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Get gets details about the specified ExpressRouteCrossConnection. +// Parameters: +// resourceGroupName - the name of the resource group (peering location of the circuit). +// crossConnectionName - the name of the ExpressRouteCrossConnection (service key of the circuit). +func (client ExpressRouteCrossConnectionsClient) Get(ctx context.Context, resourceGroupName string, crossConnectionName string) (result ExpressRouteCrossConnection, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCrossConnectionsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, crossConnectionName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCrossConnectionsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ExpressRouteCrossConnectionsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCrossConnectionsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client ExpressRouteCrossConnectionsClient) GetPreparer(ctx context.Context, resourceGroupName string, crossConnectionName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "crossConnectionName": autorest.Encode("path", crossConnectionName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRouteCrossConnectionsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client ExpressRouteCrossConnectionsClient) GetResponder(resp *http.Response) (result ExpressRouteCrossConnection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List retrieves all the ExpressRouteCrossConnections in a subscription. +func (client ExpressRouteCrossConnectionsClient) List(ctx context.Context) (result ExpressRouteCrossConnectionListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCrossConnectionsClient.List") + defer func() { + sc := -1 + if result.ercclr.Response.Response != nil { + sc = result.ercclr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCrossConnectionsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.ercclr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ExpressRouteCrossConnectionsClient", "List", resp, "Failure sending request") + return + } + + result.ercclr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCrossConnectionsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client ExpressRouteCrossConnectionsClient) ListPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/expressRouteCrossConnections", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRouteCrossConnectionsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client ExpressRouteCrossConnectionsClient) ListResponder(resp *http.Response) (result ExpressRouteCrossConnectionListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client ExpressRouteCrossConnectionsClient) listNextResults(ctx context.Context, lastResults ExpressRouteCrossConnectionListResult) (result ExpressRouteCrossConnectionListResult, err error) { + req, err := lastResults.expressRouteCrossConnectionListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.ExpressRouteCrossConnectionsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.ExpressRouteCrossConnectionsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCrossConnectionsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client ExpressRouteCrossConnectionsClient) ListComplete(ctx context.Context) (result ExpressRouteCrossConnectionListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCrossConnectionsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx) + return +} + +// ListArpTable gets the currently advertised ARP table associated with the express route cross connection in a +// resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +// crossConnectionName - the name of the ExpressRouteCrossConnection. +// peeringName - the name of the peering. +// devicePath - the path of the device. +func (client ExpressRouteCrossConnectionsClient) ListArpTable(ctx context.Context, resourceGroupName string, crossConnectionName string, peeringName string, devicePath string) (result ExpressRouteCrossConnectionsListArpTableFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCrossConnectionsClient.ListArpTable") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListArpTablePreparer(ctx, resourceGroupName, crossConnectionName, peeringName, devicePath) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCrossConnectionsClient", "ListArpTable", nil, "Failure preparing request") + return + } + + result, err = client.ListArpTableSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCrossConnectionsClient", "ListArpTable", result.Response(), "Failure sending request") + return + } + + return +} + +// ListArpTablePreparer prepares the ListArpTable request. +func (client ExpressRouteCrossConnectionsClient) ListArpTablePreparer(ctx context.Context, resourceGroupName string, crossConnectionName string, peeringName string, devicePath string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "crossConnectionName": autorest.Encode("path", crossConnectionName), + "devicePath": autorest.Encode("path", devicePath), + "peeringName": autorest.Encode("path", peeringName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}/arpTables/{devicePath}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListArpTableSender sends the ListArpTable request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRouteCrossConnectionsClient) ListArpTableSender(req *http.Request) (future ExpressRouteCrossConnectionsListArpTableFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// ListArpTableResponder handles the response to the ListArpTable request. The method always +// closes the http.Response Body. +func (client ExpressRouteCrossConnectionsClient) ListArpTableResponder(resp *http.Response) (result ExpressRouteCircuitsArpTableListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByResourceGroup retrieves all the ExpressRouteCrossConnections in a resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +func (client ExpressRouteCrossConnectionsClient) ListByResourceGroup(ctx context.Context, resourceGroupName string) (result ExpressRouteCrossConnectionListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCrossConnectionsClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.ercclr.Response.Response != nil { + sc = result.ercclr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listByResourceGroupNextResults + req, err := client.ListByResourceGroupPreparer(ctx, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCrossConnectionsClient", "ListByResourceGroup", nil, "Failure preparing request") + return + } + + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.ercclr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ExpressRouteCrossConnectionsClient", "ListByResourceGroup", resp, "Failure sending request") + return + } + + result.ercclr, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCrossConnectionsClient", "ListByResourceGroup", resp, "Failure responding to request") + } + + return +} + +// ListByResourceGroupPreparer prepares the ListByResourceGroup request. +func (client ExpressRouteCrossConnectionsClient) ListByResourceGroupPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByResourceGroupSender sends the ListByResourceGroup request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRouteCrossConnectionsClient) ListByResourceGroupSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByResourceGroupResponder handles the response to the ListByResourceGroup request. The method always +// closes the http.Response Body. +func (client ExpressRouteCrossConnectionsClient) ListByResourceGroupResponder(resp *http.Response) (result ExpressRouteCrossConnectionListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listByResourceGroupNextResults retrieves the next set of results, if any. +func (client ExpressRouteCrossConnectionsClient) listByResourceGroupNextResults(ctx context.Context, lastResults ExpressRouteCrossConnectionListResult) (result ExpressRouteCrossConnectionListResult, err error) { + req, err := lastResults.expressRouteCrossConnectionListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.ExpressRouteCrossConnectionsClient", "listByResourceGroupNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.ExpressRouteCrossConnectionsClient", "listByResourceGroupNextResults", resp, "Failure sending next results request") + } + result, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCrossConnectionsClient", "listByResourceGroupNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListByResourceGroupComplete enumerates all values, automatically crossing page boundaries as required. +func (client ExpressRouteCrossConnectionsClient) ListByResourceGroupComplete(ctx context.Context, resourceGroupName string) (result ExpressRouteCrossConnectionListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCrossConnectionsClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListByResourceGroup(ctx, resourceGroupName) + return +} + +// ListRoutesTable gets the currently advertised routes table associated with the express route cross connection in a +// resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +// crossConnectionName - the name of the ExpressRouteCrossConnection. +// peeringName - the name of the peering. +// devicePath - the path of the device. +func (client ExpressRouteCrossConnectionsClient) ListRoutesTable(ctx context.Context, resourceGroupName string, crossConnectionName string, peeringName string, devicePath string) (result ExpressRouteCrossConnectionsListRoutesTableFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCrossConnectionsClient.ListRoutesTable") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListRoutesTablePreparer(ctx, resourceGroupName, crossConnectionName, peeringName, devicePath) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCrossConnectionsClient", "ListRoutesTable", nil, "Failure preparing request") + return + } + + result, err = client.ListRoutesTableSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCrossConnectionsClient", "ListRoutesTable", result.Response(), "Failure sending request") + return + } + + return +} + +// ListRoutesTablePreparer prepares the ListRoutesTable request. +func (client ExpressRouteCrossConnectionsClient) ListRoutesTablePreparer(ctx context.Context, resourceGroupName string, crossConnectionName string, peeringName string, devicePath string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "crossConnectionName": autorest.Encode("path", crossConnectionName), + "devicePath": autorest.Encode("path", devicePath), + "peeringName": autorest.Encode("path", peeringName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}/routeTables/{devicePath}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListRoutesTableSender sends the ListRoutesTable request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRouteCrossConnectionsClient) ListRoutesTableSender(req *http.Request) (future ExpressRouteCrossConnectionsListRoutesTableFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// ListRoutesTableResponder handles the response to the ListRoutesTable request. The method always +// closes the http.Response Body. +func (client ExpressRouteCrossConnectionsClient) ListRoutesTableResponder(resp *http.Response) (result ExpressRouteCircuitsRoutesTableListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListRoutesTableSummary gets the route table summary associated with the express route cross connection in a resource +// group. +// Parameters: +// resourceGroupName - the name of the resource group. +// crossConnectionName - the name of the ExpressRouteCrossConnection. +// peeringName - the name of the peering. +// devicePath - the path of the device. +func (client ExpressRouteCrossConnectionsClient) ListRoutesTableSummary(ctx context.Context, resourceGroupName string, crossConnectionName string, peeringName string, devicePath string) (result ExpressRouteCrossConnectionsListRoutesTableSummaryFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCrossConnectionsClient.ListRoutesTableSummary") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListRoutesTableSummaryPreparer(ctx, resourceGroupName, crossConnectionName, peeringName, devicePath) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCrossConnectionsClient", "ListRoutesTableSummary", nil, "Failure preparing request") + return + } + + result, err = client.ListRoutesTableSummarySender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCrossConnectionsClient", "ListRoutesTableSummary", result.Response(), "Failure sending request") + return + } + + return +} + +// ListRoutesTableSummaryPreparer prepares the ListRoutesTableSummary request. +func (client ExpressRouteCrossConnectionsClient) ListRoutesTableSummaryPreparer(ctx context.Context, resourceGroupName string, crossConnectionName string, peeringName string, devicePath string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "crossConnectionName": autorest.Encode("path", crossConnectionName), + "devicePath": autorest.Encode("path", devicePath), + "peeringName": autorest.Encode("path", peeringName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}/routeTablesSummary/{devicePath}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListRoutesTableSummarySender sends the ListRoutesTableSummary request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRouteCrossConnectionsClient) ListRoutesTableSummarySender(req *http.Request) (future ExpressRouteCrossConnectionsListRoutesTableSummaryFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// ListRoutesTableSummaryResponder handles the response to the ListRoutesTableSummary request. The method always +// closes the http.Response Body. +func (client ExpressRouteCrossConnectionsClient) ListRoutesTableSummaryResponder(resp *http.Response) (result ExpressRouteCrossConnectionsRoutesTableSummaryListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// UpdateTags updates an express route cross connection tags. +// Parameters: +// resourceGroupName - the name of the resource group. +// crossConnectionName - the name of the cross connection. +// crossConnectionParameters - parameters supplied to update express route cross connection tags. +func (client ExpressRouteCrossConnectionsClient) UpdateTags(ctx context.Context, resourceGroupName string, crossConnectionName string, crossConnectionParameters TagsObject) (result ExpressRouteCrossConnectionsUpdateTagsFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCrossConnectionsClient.UpdateTags") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdateTagsPreparer(ctx, resourceGroupName, crossConnectionName, crossConnectionParameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCrossConnectionsClient", "UpdateTags", nil, "Failure preparing request") + return + } + + result, err = client.UpdateTagsSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCrossConnectionsClient", "UpdateTags", result.Response(), "Failure sending request") + return + } + + return +} + +// UpdateTagsPreparer prepares the UpdateTags request. +func (client ExpressRouteCrossConnectionsClient) UpdateTagsPreparer(ctx context.Context, resourceGroupName string, crossConnectionName string, crossConnectionParameters TagsObject) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "crossConnectionName": autorest.Encode("path", crossConnectionName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}", pathParameters), + autorest.WithJSON(crossConnectionParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateTagsSender sends the UpdateTags request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRouteCrossConnectionsClient) UpdateTagsSender(req *http.Request) (future ExpressRouteCrossConnectionsUpdateTagsFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// UpdateTagsResponder handles the response to the UpdateTags request. The method always +// closes the http.Response Body. +func (client ExpressRouteCrossConnectionsClient) UpdateTagsResponder(resp *http.Response) (result ExpressRouteCrossConnection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/network/mgmt/2019-07-01/network/expressroutegateways.go b/services/network/mgmt/2019-07-01/network/expressroutegateways.go new file mode 100644 index 000000000000..6d710c708bb7 --- /dev/null +++ b/services/network/mgmt/2019-07-01/network/expressroutegateways.go @@ -0,0 +1,431 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// ExpressRouteGatewaysClient is the network Client +type ExpressRouteGatewaysClient struct { + BaseClient +} + +// NewExpressRouteGatewaysClient creates an instance of the ExpressRouteGatewaysClient client. +func NewExpressRouteGatewaysClient(subscriptionID string) ExpressRouteGatewaysClient { + return NewExpressRouteGatewaysClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewExpressRouteGatewaysClientWithBaseURI creates an instance of the ExpressRouteGatewaysClient client. +func NewExpressRouteGatewaysClientWithBaseURI(baseURI string, subscriptionID string) ExpressRouteGatewaysClient { + return ExpressRouteGatewaysClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates a ExpressRoute gateway in a specified resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +// expressRouteGatewayName - the name of the ExpressRoute gateway. +// putExpressRouteGatewayParameters - parameters required in an ExpressRoute gateway PUT operation. +func (client ExpressRouteGatewaysClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, expressRouteGatewayName string, putExpressRouteGatewayParameters ExpressRouteGateway) (result ExpressRouteGatewaysCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteGatewaysClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: putExpressRouteGatewayParameters, + Constraints: []validation.Constraint{{Target: "putExpressRouteGatewayParameters.ExpressRouteGatewayProperties", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "putExpressRouteGatewayParameters.ExpressRouteGatewayProperties.VirtualHub", Name: validation.Null, Rule: true, Chain: nil}}}}}}); err != nil { + return result, validation.NewError("network.ExpressRouteGatewaysClient", "CreateOrUpdate", err.Error()) + } + + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, expressRouteGatewayName, putExpressRouteGatewayParameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteGatewaysClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteGatewaysClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client ExpressRouteGatewaysClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, expressRouteGatewayName string, putExpressRouteGatewayParameters ExpressRouteGateway) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "expressRouteGatewayName": autorest.Encode("path", expressRouteGatewayName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + putExpressRouteGatewayParameters.Etag = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteGateways/{expressRouteGatewayName}", pathParameters), + autorest.WithJSON(putExpressRouteGatewayParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRouteGatewaysClient) CreateOrUpdateSender(req *http.Request) (future ExpressRouteGatewaysCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client ExpressRouteGatewaysClient) CreateOrUpdateResponder(resp *http.Response) (result ExpressRouteGateway, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the specified ExpressRoute gateway in a resource group. An ExpressRoute gateway resource can only be +// deleted when there are no connection subresources. +// Parameters: +// resourceGroupName - the name of the resource group. +// expressRouteGatewayName - the name of the ExpressRoute gateway. +func (client ExpressRouteGatewaysClient) Delete(ctx context.Context, resourceGroupName string, expressRouteGatewayName string) (result ExpressRouteGatewaysDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteGatewaysClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, expressRouteGatewayName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteGatewaysClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteGatewaysClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client ExpressRouteGatewaysClient) DeletePreparer(ctx context.Context, resourceGroupName string, expressRouteGatewayName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "expressRouteGatewayName": autorest.Encode("path", expressRouteGatewayName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteGateways/{expressRouteGatewayName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRouteGatewaysClient) DeleteSender(req *http.Request) (future ExpressRouteGatewaysDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client ExpressRouteGatewaysClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get fetches the details of a ExpressRoute gateway in a resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +// expressRouteGatewayName - the name of the ExpressRoute gateway. +func (client ExpressRouteGatewaysClient) Get(ctx context.Context, resourceGroupName string, expressRouteGatewayName string) (result ExpressRouteGateway, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteGatewaysClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, expressRouteGatewayName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteGatewaysClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ExpressRouteGatewaysClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteGatewaysClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client ExpressRouteGatewaysClient) GetPreparer(ctx context.Context, resourceGroupName string, expressRouteGatewayName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "expressRouteGatewayName": autorest.Encode("path", expressRouteGatewayName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteGateways/{expressRouteGatewayName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRouteGatewaysClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client ExpressRouteGatewaysClient) GetResponder(resp *http.Response) (result ExpressRouteGateway, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByResourceGroup lists ExpressRoute gateways in a given resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +func (client ExpressRouteGatewaysClient) ListByResourceGroup(ctx context.Context, resourceGroupName string) (result ExpressRouteGatewayList, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteGatewaysClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListByResourceGroupPreparer(ctx, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteGatewaysClient", "ListByResourceGroup", nil, "Failure preparing request") + return + } + + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ExpressRouteGatewaysClient", "ListByResourceGroup", resp, "Failure sending request") + return + } + + result, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteGatewaysClient", "ListByResourceGroup", resp, "Failure responding to request") + } + + return +} + +// ListByResourceGroupPreparer prepares the ListByResourceGroup request. +func (client ExpressRouteGatewaysClient) ListByResourceGroupPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteGateways", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByResourceGroupSender sends the ListByResourceGroup request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRouteGatewaysClient) ListByResourceGroupSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByResourceGroupResponder handles the response to the ListByResourceGroup request. The method always +// closes the http.Response Body. +func (client ExpressRouteGatewaysClient) ListByResourceGroupResponder(resp *http.Response) (result ExpressRouteGatewayList, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListBySubscription lists ExpressRoute gateways under a given subscription. +func (client ExpressRouteGatewaysClient) ListBySubscription(ctx context.Context) (result ExpressRouteGatewayList, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteGatewaysClient.ListBySubscription") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListBySubscriptionPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteGatewaysClient", "ListBySubscription", nil, "Failure preparing request") + return + } + + resp, err := client.ListBySubscriptionSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ExpressRouteGatewaysClient", "ListBySubscription", resp, "Failure sending request") + return + } + + result, err = client.ListBySubscriptionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteGatewaysClient", "ListBySubscription", resp, "Failure responding to request") + } + + return +} + +// ListBySubscriptionPreparer prepares the ListBySubscription request. +func (client ExpressRouteGatewaysClient) ListBySubscriptionPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/expressRouteGateways", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListBySubscriptionSender sends the ListBySubscription request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRouteGatewaysClient) ListBySubscriptionSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListBySubscriptionResponder handles the response to the ListBySubscription request. The method always +// closes the http.Response Body. +func (client ExpressRouteGatewaysClient) ListBySubscriptionResponder(resp *http.Response) (result ExpressRouteGatewayList, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/network/mgmt/2019-07-01/network/expressroutelinks.go b/services/network/mgmt/2019-07-01/network/expressroutelinks.go new file mode 100644 index 000000000000..950ab8358cb4 --- /dev/null +++ b/services/network/mgmt/2019-07-01/network/expressroutelinks.go @@ -0,0 +1,235 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// ExpressRouteLinksClient is the network Client +type ExpressRouteLinksClient struct { + BaseClient +} + +// NewExpressRouteLinksClient creates an instance of the ExpressRouteLinksClient client. +func NewExpressRouteLinksClient(subscriptionID string) ExpressRouteLinksClient { + return NewExpressRouteLinksClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewExpressRouteLinksClientWithBaseURI creates an instance of the ExpressRouteLinksClient client. +func NewExpressRouteLinksClientWithBaseURI(baseURI string, subscriptionID string) ExpressRouteLinksClient { + return ExpressRouteLinksClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// Get retrieves the specified ExpressRouteLink resource. +// Parameters: +// resourceGroupName - the name of the resource group. +// expressRoutePortName - the name of the ExpressRoutePort resource. +// linkName - the name of the ExpressRouteLink resource. +func (client ExpressRouteLinksClient) Get(ctx context.Context, resourceGroupName string, expressRoutePortName string, linkName string) (result ExpressRouteLink, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteLinksClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, expressRoutePortName, linkName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteLinksClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ExpressRouteLinksClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteLinksClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client ExpressRouteLinksClient) GetPreparer(ctx context.Context, resourceGroupName string, expressRoutePortName string, linkName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "expressRoutePortName": autorest.Encode("path", expressRoutePortName), + "linkName": autorest.Encode("path", linkName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ExpressRoutePorts/{expressRoutePortName}/links/{linkName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRouteLinksClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client ExpressRouteLinksClient) GetResponder(resp *http.Response) (result ExpressRouteLink, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List retrieve the ExpressRouteLink sub-resources of the specified ExpressRoutePort resource. +// Parameters: +// resourceGroupName - the name of the resource group. +// expressRoutePortName - the name of the ExpressRoutePort resource. +func (client ExpressRouteLinksClient) List(ctx context.Context, resourceGroupName string, expressRoutePortName string) (result ExpressRouteLinkListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteLinksClient.List") + defer func() { + sc := -1 + if result.erllr.Response.Response != nil { + sc = result.erllr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName, expressRoutePortName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteLinksClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.erllr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ExpressRouteLinksClient", "List", resp, "Failure sending request") + return + } + + result.erllr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteLinksClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client ExpressRouteLinksClient) ListPreparer(ctx context.Context, resourceGroupName string, expressRoutePortName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "expressRoutePortName": autorest.Encode("path", expressRoutePortName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ExpressRoutePorts/{expressRoutePortName}/links", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRouteLinksClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client ExpressRouteLinksClient) ListResponder(resp *http.Response) (result ExpressRouteLinkListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client ExpressRouteLinksClient) listNextResults(ctx context.Context, lastResults ExpressRouteLinkListResult) (result ExpressRouteLinkListResult, err error) { + req, err := lastResults.expressRouteLinkListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.ExpressRouteLinksClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.ExpressRouteLinksClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteLinksClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client ExpressRouteLinksClient) ListComplete(ctx context.Context, resourceGroupName string, expressRoutePortName string) (result ExpressRouteLinkListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteLinksClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName, expressRoutePortName) + return +} diff --git a/services/network/mgmt/2019-07-01/network/expressrouteports.go b/services/network/mgmt/2019-07-01/network/expressrouteports.go new file mode 100644 index 000000000000..759321690b84 --- /dev/null +++ b/services/network/mgmt/2019-07-01/network/expressrouteports.go @@ -0,0 +1,578 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// ExpressRoutePortsClient is the network Client +type ExpressRoutePortsClient struct { + BaseClient +} + +// NewExpressRoutePortsClient creates an instance of the ExpressRoutePortsClient client. +func NewExpressRoutePortsClient(subscriptionID string) ExpressRoutePortsClient { + return NewExpressRoutePortsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewExpressRoutePortsClientWithBaseURI creates an instance of the ExpressRoutePortsClient client. +func NewExpressRoutePortsClientWithBaseURI(baseURI string, subscriptionID string) ExpressRoutePortsClient { + return ExpressRoutePortsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates the specified ExpressRoutePort resource. +// Parameters: +// resourceGroupName - the name of the resource group. +// expressRoutePortName - the name of the ExpressRoutePort resource. +// parameters - parameters supplied to the create ExpressRoutePort operation. +func (client ExpressRoutePortsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, expressRoutePortName string, parameters ExpressRoutePort) (result ExpressRoutePortsCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRoutePortsClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, expressRoutePortName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRoutePortsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRoutePortsClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client ExpressRoutePortsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, expressRoutePortName string, parameters ExpressRoutePort) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "expressRoutePortName": autorest.Encode("path", expressRoutePortName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + parameters.Etag = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ExpressRoutePorts/{expressRoutePortName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRoutePortsClient) CreateOrUpdateSender(req *http.Request) (future ExpressRoutePortsCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client ExpressRoutePortsClient) CreateOrUpdateResponder(resp *http.Response) (result ExpressRoutePort, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the specified ExpressRoutePort resource. +// Parameters: +// resourceGroupName - the name of the resource group. +// expressRoutePortName - the name of the ExpressRoutePort resource. +func (client ExpressRoutePortsClient) Delete(ctx context.Context, resourceGroupName string, expressRoutePortName string) (result ExpressRoutePortsDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRoutePortsClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, expressRoutePortName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRoutePortsClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRoutePortsClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client ExpressRoutePortsClient) DeletePreparer(ctx context.Context, resourceGroupName string, expressRoutePortName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "expressRoutePortName": autorest.Encode("path", expressRoutePortName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ExpressRoutePorts/{expressRoutePortName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRoutePortsClient) DeleteSender(req *http.Request) (future ExpressRoutePortsDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client ExpressRoutePortsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get retrieves the requested ExpressRoutePort resource. +// Parameters: +// resourceGroupName - the name of the resource group. +// expressRoutePortName - the name of ExpressRoutePort. +func (client ExpressRoutePortsClient) Get(ctx context.Context, resourceGroupName string, expressRoutePortName string) (result ExpressRoutePort, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRoutePortsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, expressRoutePortName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRoutePortsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ExpressRoutePortsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRoutePortsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client ExpressRoutePortsClient) GetPreparer(ctx context.Context, resourceGroupName string, expressRoutePortName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "expressRoutePortName": autorest.Encode("path", expressRoutePortName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ExpressRoutePorts/{expressRoutePortName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRoutePortsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client ExpressRoutePortsClient) GetResponder(resp *http.Response) (result ExpressRoutePort, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List list all the ExpressRoutePort resources in the specified subscription. +func (client ExpressRoutePortsClient) List(ctx context.Context) (result ExpressRoutePortListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRoutePortsClient.List") + defer func() { + sc := -1 + if result.erplr.Response.Response != nil { + sc = result.erplr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRoutePortsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.erplr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ExpressRoutePortsClient", "List", resp, "Failure sending request") + return + } + + result.erplr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRoutePortsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client ExpressRoutePortsClient) ListPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/ExpressRoutePorts", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRoutePortsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client ExpressRoutePortsClient) ListResponder(resp *http.Response) (result ExpressRoutePortListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client ExpressRoutePortsClient) listNextResults(ctx context.Context, lastResults ExpressRoutePortListResult) (result ExpressRoutePortListResult, err error) { + req, err := lastResults.expressRoutePortListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.ExpressRoutePortsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.ExpressRoutePortsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRoutePortsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client ExpressRoutePortsClient) ListComplete(ctx context.Context) (result ExpressRoutePortListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRoutePortsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx) + return +} + +// ListByResourceGroup list all the ExpressRoutePort resources in the specified resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +func (client ExpressRoutePortsClient) ListByResourceGroup(ctx context.Context, resourceGroupName string) (result ExpressRoutePortListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRoutePortsClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.erplr.Response.Response != nil { + sc = result.erplr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listByResourceGroupNextResults + req, err := client.ListByResourceGroupPreparer(ctx, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRoutePortsClient", "ListByResourceGroup", nil, "Failure preparing request") + return + } + + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.erplr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ExpressRoutePortsClient", "ListByResourceGroup", resp, "Failure sending request") + return + } + + result.erplr, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRoutePortsClient", "ListByResourceGroup", resp, "Failure responding to request") + } + + return +} + +// ListByResourceGroupPreparer prepares the ListByResourceGroup request. +func (client ExpressRoutePortsClient) ListByResourceGroupPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ExpressRoutePorts", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByResourceGroupSender sends the ListByResourceGroup request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRoutePortsClient) ListByResourceGroupSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByResourceGroupResponder handles the response to the ListByResourceGroup request. The method always +// closes the http.Response Body. +func (client ExpressRoutePortsClient) ListByResourceGroupResponder(resp *http.Response) (result ExpressRoutePortListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listByResourceGroupNextResults retrieves the next set of results, if any. +func (client ExpressRoutePortsClient) listByResourceGroupNextResults(ctx context.Context, lastResults ExpressRoutePortListResult) (result ExpressRoutePortListResult, err error) { + req, err := lastResults.expressRoutePortListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.ExpressRoutePortsClient", "listByResourceGroupNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.ExpressRoutePortsClient", "listByResourceGroupNextResults", resp, "Failure sending next results request") + } + result, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRoutePortsClient", "listByResourceGroupNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListByResourceGroupComplete enumerates all values, automatically crossing page boundaries as required. +func (client ExpressRoutePortsClient) ListByResourceGroupComplete(ctx context.Context, resourceGroupName string) (result ExpressRoutePortListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRoutePortsClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListByResourceGroup(ctx, resourceGroupName) + return +} + +// UpdateTags update ExpressRoutePort tags. +// Parameters: +// resourceGroupName - the name of the resource group. +// expressRoutePortName - the name of the ExpressRoutePort resource. +// parameters - parameters supplied to update ExpressRoutePort resource tags. +func (client ExpressRoutePortsClient) UpdateTags(ctx context.Context, resourceGroupName string, expressRoutePortName string, parameters TagsObject) (result ExpressRoutePortsUpdateTagsFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRoutePortsClient.UpdateTags") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdateTagsPreparer(ctx, resourceGroupName, expressRoutePortName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRoutePortsClient", "UpdateTags", nil, "Failure preparing request") + return + } + + result, err = client.UpdateTagsSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRoutePortsClient", "UpdateTags", result.Response(), "Failure sending request") + return + } + + return +} + +// UpdateTagsPreparer prepares the UpdateTags request. +func (client ExpressRoutePortsClient) UpdateTagsPreparer(ctx context.Context, resourceGroupName string, expressRoutePortName string, parameters TagsObject) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "expressRoutePortName": autorest.Encode("path", expressRoutePortName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ExpressRoutePorts/{expressRoutePortName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateTagsSender sends the UpdateTags request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRoutePortsClient) UpdateTagsSender(req *http.Request) (future ExpressRoutePortsUpdateTagsFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// UpdateTagsResponder handles the response to the UpdateTags request. The method always +// closes the http.Response Body. +func (client ExpressRoutePortsClient) UpdateTagsResponder(resp *http.Response) (result ExpressRoutePort, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/network/mgmt/2019-07-01/network/expressrouteportslocations.go b/services/network/mgmt/2019-07-01/network/expressrouteportslocations.go new file mode 100644 index 000000000000..af27ddc97129 --- /dev/null +++ b/services/network/mgmt/2019-07-01/network/expressrouteportslocations.go @@ -0,0 +1,228 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// ExpressRoutePortsLocationsClient is the network Client +type ExpressRoutePortsLocationsClient struct { + BaseClient +} + +// NewExpressRoutePortsLocationsClient creates an instance of the ExpressRoutePortsLocationsClient client. +func NewExpressRoutePortsLocationsClient(subscriptionID string) ExpressRoutePortsLocationsClient { + return NewExpressRoutePortsLocationsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewExpressRoutePortsLocationsClientWithBaseURI creates an instance of the ExpressRoutePortsLocationsClient client. +func NewExpressRoutePortsLocationsClientWithBaseURI(baseURI string, subscriptionID string) ExpressRoutePortsLocationsClient { + return ExpressRoutePortsLocationsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// Get retrieves a single ExpressRoutePort peering location, including the list of available bandwidths available at +// said peering location. +// Parameters: +// locationName - name of the requested ExpressRoutePort peering location. +func (client ExpressRoutePortsLocationsClient) Get(ctx context.Context, locationName string) (result ExpressRoutePortsLocation, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRoutePortsLocationsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, locationName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRoutePortsLocationsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ExpressRoutePortsLocationsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRoutePortsLocationsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client ExpressRoutePortsLocationsClient) GetPreparer(ctx context.Context, locationName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "locationName": autorest.Encode("path", locationName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/ExpressRoutePortsLocations/{locationName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRoutePortsLocationsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client ExpressRoutePortsLocationsClient) GetResponder(resp *http.Response) (result ExpressRoutePortsLocation, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List retrieves all ExpressRoutePort peering locations. Does not return available bandwidths for each location. +// Available bandwidths can only be obtained when retrieving a specific peering location. +func (client ExpressRoutePortsLocationsClient) List(ctx context.Context) (result ExpressRoutePortsLocationListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRoutePortsLocationsClient.List") + defer func() { + sc := -1 + if result.erpllr.Response.Response != nil { + sc = result.erpllr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRoutePortsLocationsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.erpllr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ExpressRoutePortsLocationsClient", "List", resp, "Failure sending request") + return + } + + result.erpllr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRoutePortsLocationsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client ExpressRoutePortsLocationsClient) ListPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/ExpressRoutePortsLocations", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRoutePortsLocationsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client ExpressRoutePortsLocationsClient) ListResponder(resp *http.Response) (result ExpressRoutePortsLocationListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client ExpressRoutePortsLocationsClient) listNextResults(ctx context.Context, lastResults ExpressRoutePortsLocationListResult) (result ExpressRoutePortsLocationListResult, err error) { + req, err := lastResults.expressRoutePortsLocationListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.ExpressRoutePortsLocationsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.ExpressRoutePortsLocationsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRoutePortsLocationsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client ExpressRoutePortsLocationsClient) ListComplete(ctx context.Context) (result ExpressRoutePortsLocationListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRoutePortsLocationsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx) + return +} diff --git a/services/network/mgmt/2019-07-01/network/expressrouteserviceproviders.go b/services/network/mgmt/2019-07-01/network/expressrouteserviceproviders.go new file mode 100644 index 000000000000..1a785e950ce6 --- /dev/null +++ b/services/network/mgmt/2019-07-01/network/expressrouteserviceproviders.go @@ -0,0 +1,152 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// ExpressRouteServiceProvidersClient is the network Client +type ExpressRouteServiceProvidersClient struct { + BaseClient +} + +// NewExpressRouteServiceProvidersClient creates an instance of the ExpressRouteServiceProvidersClient client. +func NewExpressRouteServiceProvidersClient(subscriptionID string) ExpressRouteServiceProvidersClient { + return NewExpressRouteServiceProvidersClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewExpressRouteServiceProvidersClientWithBaseURI creates an instance of the ExpressRouteServiceProvidersClient +// client. +func NewExpressRouteServiceProvidersClientWithBaseURI(baseURI string, subscriptionID string) ExpressRouteServiceProvidersClient { + return ExpressRouteServiceProvidersClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// List gets all the available express route service providers. +func (client ExpressRouteServiceProvidersClient) List(ctx context.Context) (result ExpressRouteServiceProviderListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteServiceProvidersClient.List") + defer func() { + sc := -1 + if result.ersplr.Response.Response != nil { + sc = result.ersplr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteServiceProvidersClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.ersplr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ExpressRouteServiceProvidersClient", "List", resp, "Failure sending request") + return + } + + result.ersplr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteServiceProvidersClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client ExpressRouteServiceProvidersClient) ListPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/expressRouteServiceProviders", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRouteServiceProvidersClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client ExpressRouteServiceProvidersClient) ListResponder(resp *http.Response) (result ExpressRouteServiceProviderListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client ExpressRouteServiceProvidersClient) listNextResults(ctx context.Context, lastResults ExpressRouteServiceProviderListResult) (result ExpressRouteServiceProviderListResult, err error) { + req, err := lastResults.expressRouteServiceProviderListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.ExpressRouteServiceProvidersClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.ExpressRouteServiceProvidersClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteServiceProvidersClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client ExpressRouteServiceProvidersClient) ListComplete(ctx context.Context) (result ExpressRouteServiceProviderListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteServiceProvidersClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx) + return +} diff --git a/services/network/mgmt/2019-07-01/network/firewallpolicies.go b/services/network/mgmt/2019-07-01/network/firewallpolicies.go new file mode 100644 index 000000000000..c4603a60dd58 --- /dev/null +++ b/services/network/mgmt/2019-07-01/network/firewallpolicies.go @@ -0,0 +1,582 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// FirewallPoliciesClient is the network Client +type FirewallPoliciesClient struct { + BaseClient +} + +// NewFirewallPoliciesClient creates an instance of the FirewallPoliciesClient client. +func NewFirewallPoliciesClient(subscriptionID string) FirewallPoliciesClient { + return NewFirewallPoliciesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewFirewallPoliciesClientWithBaseURI creates an instance of the FirewallPoliciesClient client. +func NewFirewallPoliciesClientWithBaseURI(baseURI string, subscriptionID string) FirewallPoliciesClient { + return FirewallPoliciesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates the specified Firewall Policy. +// Parameters: +// resourceGroupName - the name of the resource group. +// firewallPolicyName - the name of the Firewall Policy. +// parameters - parameters supplied to the create or update Firewall Policy operation. +func (client FirewallPoliciesClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, firewallPolicyName string, parameters FirewallPolicy) (result FirewallPoliciesCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/FirewallPoliciesClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, firewallPolicyName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.FirewallPoliciesClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.FirewallPoliciesClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client FirewallPoliciesClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, firewallPolicyName string, parameters FirewallPolicy) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "firewallPolicyName": autorest.Encode("path", firewallPolicyName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + parameters.Etag = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/firewallPolicies/{firewallPolicyName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client FirewallPoliciesClient) CreateOrUpdateSender(req *http.Request) (future FirewallPoliciesCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client FirewallPoliciesClient) CreateOrUpdateResponder(resp *http.Response) (result FirewallPolicy, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the specified Firewall Policy. +// Parameters: +// resourceGroupName - the name of the resource group. +// firewallPolicyName - the name of the Firewall Policy. +func (client FirewallPoliciesClient) Delete(ctx context.Context, resourceGroupName string, firewallPolicyName string) (result FirewallPoliciesDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/FirewallPoliciesClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, firewallPolicyName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.FirewallPoliciesClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.FirewallPoliciesClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client FirewallPoliciesClient) DeletePreparer(ctx context.Context, resourceGroupName string, firewallPolicyName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "firewallPolicyName": autorest.Encode("path", firewallPolicyName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/firewallPolicies/{firewallPolicyName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client FirewallPoliciesClient) DeleteSender(req *http.Request) (future FirewallPoliciesDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client FirewallPoliciesClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets the specified Firewall Policy. +// Parameters: +// resourceGroupName - the name of the resource group. +// firewallPolicyName - the name of the Firewall Policy. +// expand - expands referenced resources. +func (client FirewallPoliciesClient) Get(ctx context.Context, resourceGroupName string, firewallPolicyName string, expand string) (result FirewallPolicy, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/FirewallPoliciesClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, firewallPolicyName, expand) + if err != nil { + err = autorest.NewErrorWithError(err, "network.FirewallPoliciesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.FirewallPoliciesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.FirewallPoliciesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client FirewallPoliciesClient) GetPreparer(ctx context.Context, resourceGroupName string, firewallPolicyName string, expand string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "firewallPolicyName": autorest.Encode("path", firewallPolicyName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(expand) > 0 { + queryParameters["$expand"] = autorest.Encode("query", expand) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/firewallPolicies/{firewallPolicyName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client FirewallPoliciesClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client FirewallPoliciesClient) GetResponder(resp *http.Response) (result FirewallPolicy, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List lists all Firewall Policies in a resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +func (client FirewallPoliciesClient) List(ctx context.Context, resourceGroupName string) (result FirewallPolicyListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/FirewallPoliciesClient.List") + defer func() { + sc := -1 + if result.fplr.Response.Response != nil { + sc = result.fplr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.FirewallPoliciesClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.fplr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.FirewallPoliciesClient", "List", resp, "Failure sending request") + return + } + + result.fplr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.FirewallPoliciesClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client FirewallPoliciesClient) ListPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/firewallPolicies", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client FirewallPoliciesClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client FirewallPoliciesClient) ListResponder(resp *http.Response) (result FirewallPolicyListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client FirewallPoliciesClient) listNextResults(ctx context.Context, lastResults FirewallPolicyListResult) (result FirewallPolicyListResult, err error) { + req, err := lastResults.firewallPolicyListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.FirewallPoliciesClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.FirewallPoliciesClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.FirewallPoliciesClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client FirewallPoliciesClient) ListComplete(ctx context.Context, resourceGroupName string) (result FirewallPolicyListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/FirewallPoliciesClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName) + return +} + +// ListAll gets all the Firewall Policies in a subscription. +func (client FirewallPoliciesClient) ListAll(ctx context.Context) (result FirewallPolicyListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/FirewallPoliciesClient.ListAll") + defer func() { + sc := -1 + if result.fplr.Response.Response != nil { + sc = result.fplr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listAllNextResults + req, err := client.ListAllPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "network.FirewallPoliciesClient", "ListAll", nil, "Failure preparing request") + return + } + + resp, err := client.ListAllSender(req) + if err != nil { + result.fplr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.FirewallPoliciesClient", "ListAll", resp, "Failure sending request") + return + } + + result.fplr, err = client.ListAllResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.FirewallPoliciesClient", "ListAll", resp, "Failure responding to request") + } + + return +} + +// ListAllPreparer prepares the ListAll request. +func (client FirewallPoliciesClient) ListAllPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/firewallPolicies", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListAllSender sends the ListAll request. The method will close the +// http.Response Body if it receives an error. +func (client FirewallPoliciesClient) ListAllSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListAllResponder handles the response to the ListAll request. The method always +// closes the http.Response Body. +func (client FirewallPoliciesClient) ListAllResponder(resp *http.Response) (result FirewallPolicyListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listAllNextResults retrieves the next set of results, if any. +func (client FirewallPoliciesClient) listAllNextResults(ctx context.Context, lastResults FirewallPolicyListResult) (result FirewallPolicyListResult, err error) { + req, err := lastResults.firewallPolicyListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.FirewallPoliciesClient", "listAllNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListAllSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.FirewallPoliciesClient", "listAllNextResults", resp, "Failure sending next results request") + } + result, err = client.ListAllResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.FirewallPoliciesClient", "listAllNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListAllComplete enumerates all values, automatically crossing page boundaries as required. +func (client FirewallPoliciesClient) ListAllComplete(ctx context.Context) (result FirewallPolicyListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/FirewallPoliciesClient.ListAll") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListAll(ctx) + return +} + +// UpdateTags updates a Firewall Policy Tags. +// Parameters: +// resourceGroupName - the resource group name of the Firewall Policy. +// firewallPolicyName - the name of the Firewall Policy being updated. +// firewallPolicyParameters - parameters supplied to Update Firewall Policy tags. +func (client FirewallPoliciesClient) UpdateTags(ctx context.Context, resourceGroupName string, firewallPolicyName string, firewallPolicyParameters TagsObject) (result FirewallPolicy, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/FirewallPoliciesClient.UpdateTags") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdateTagsPreparer(ctx, resourceGroupName, firewallPolicyName, firewallPolicyParameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.FirewallPoliciesClient", "UpdateTags", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateTagsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.FirewallPoliciesClient", "UpdateTags", resp, "Failure sending request") + return + } + + result, err = client.UpdateTagsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.FirewallPoliciesClient", "UpdateTags", resp, "Failure responding to request") + } + + return +} + +// UpdateTagsPreparer prepares the UpdateTags request. +func (client FirewallPoliciesClient) UpdateTagsPreparer(ctx context.Context, resourceGroupName string, firewallPolicyName string, firewallPolicyParameters TagsObject) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "firewallPolicyName": autorest.Encode("path", firewallPolicyName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/firewallPolicies/{firewallPolicyName}", pathParameters), + autorest.WithJSON(firewallPolicyParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateTagsSender sends the UpdateTags request. The method will close the +// http.Response Body if it receives an error. +func (client FirewallPoliciesClient) UpdateTagsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// UpdateTagsResponder handles the response to the UpdateTags request. The method always +// closes the http.Response Body. +func (client FirewallPoliciesClient) UpdateTagsResponder(resp *http.Response) (result FirewallPolicy, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/network/mgmt/2019-07-01/network/firewallpolicyrulegroups.go b/services/network/mgmt/2019-07-01/network/firewallpolicyrulegroups.go new file mode 100644 index 000000000000..1714fa0120d0 --- /dev/null +++ b/services/network/mgmt/2019-07-01/network/firewallpolicyrulegroups.go @@ -0,0 +1,409 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// FirewallPolicyRuleGroupsClient is the network Client +type FirewallPolicyRuleGroupsClient struct { + BaseClient +} + +// NewFirewallPolicyRuleGroupsClient creates an instance of the FirewallPolicyRuleGroupsClient client. +func NewFirewallPolicyRuleGroupsClient(subscriptionID string) FirewallPolicyRuleGroupsClient { + return NewFirewallPolicyRuleGroupsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewFirewallPolicyRuleGroupsClientWithBaseURI creates an instance of the FirewallPolicyRuleGroupsClient client. +func NewFirewallPolicyRuleGroupsClientWithBaseURI(baseURI string, subscriptionID string) FirewallPolicyRuleGroupsClient { + return FirewallPolicyRuleGroupsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates the specified FirewallPolicyRuleGroup. +// Parameters: +// resourceGroupName - the name of the resource group. +// firewallPolicyName - the name of the Firewall Policy. +// ruleGroupName - the name of the FirewallPolicyRuleGroup. +// parameters - parameters supplied to the create or update FirewallPolicyRuleGroup operation. +func (client FirewallPolicyRuleGroupsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, firewallPolicyName string, ruleGroupName string, parameters FirewallPolicyRuleGroup) (result FirewallPolicyRuleGroupsCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/FirewallPolicyRuleGroupsClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.FirewallPolicyRuleGroupProperties", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.FirewallPolicyRuleGroupProperties.Priority", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.FirewallPolicyRuleGroupProperties.Priority", Name: validation.InclusiveMaximum, Rule: int64(65000), Chain: nil}, + {Target: "parameters.FirewallPolicyRuleGroupProperties.Priority", Name: validation.InclusiveMinimum, Rule: 100, Chain: nil}, + }}, + }}}}}); err != nil { + return result, validation.NewError("network.FirewallPolicyRuleGroupsClient", "CreateOrUpdate", err.Error()) + } + + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, firewallPolicyName, ruleGroupName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.FirewallPolicyRuleGroupsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.FirewallPolicyRuleGroupsClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client FirewallPolicyRuleGroupsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, firewallPolicyName string, ruleGroupName string, parameters FirewallPolicyRuleGroup) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "firewallPolicyName": autorest.Encode("path", firewallPolicyName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "ruleGroupName": autorest.Encode("path", ruleGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + parameters.Etag = nil + parameters.Type = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/firewallPolicies/{firewallPolicyName}/ruleGroups/{ruleGroupName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client FirewallPolicyRuleGroupsClient) CreateOrUpdateSender(req *http.Request) (future FirewallPolicyRuleGroupsCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client FirewallPolicyRuleGroupsClient) CreateOrUpdateResponder(resp *http.Response) (result FirewallPolicyRuleGroup, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the specified FirewallPolicyRuleGroup. +// Parameters: +// resourceGroupName - the name of the resource group. +// firewallPolicyName - the name of the Firewall Policy. +// ruleGroupName - the name of the FirewallPolicyRuleGroup. +func (client FirewallPolicyRuleGroupsClient) Delete(ctx context.Context, resourceGroupName string, firewallPolicyName string, ruleGroupName string) (result FirewallPolicyRuleGroupsDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/FirewallPolicyRuleGroupsClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, firewallPolicyName, ruleGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.FirewallPolicyRuleGroupsClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.FirewallPolicyRuleGroupsClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client FirewallPolicyRuleGroupsClient) DeletePreparer(ctx context.Context, resourceGroupName string, firewallPolicyName string, ruleGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "firewallPolicyName": autorest.Encode("path", firewallPolicyName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "ruleGroupName": autorest.Encode("path", ruleGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/firewallPolicies/{firewallPolicyName}/ruleGroups/{ruleGroupName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client FirewallPolicyRuleGroupsClient) DeleteSender(req *http.Request) (future FirewallPolicyRuleGroupsDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client FirewallPolicyRuleGroupsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets the specified FirewallPolicyRuleGroup. +// Parameters: +// resourceGroupName - the name of the resource group. +// firewallPolicyName - the name of the Firewall Policy. +// ruleGroupName - the name of the FirewallPolicyRuleGroup. +func (client FirewallPolicyRuleGroupsClient) Get(ctx context.Context, resourceGroupName string, firewallPolicyName string, ruleGroupName string) (result FirewallPolicyRuleGroup, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/FirewallPolicyRuleGroupsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, firewallPolicyName, ruleGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.FirewallPolicyRuleGroupsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.FirewallPolicyRuleGroupsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.FirewallPolicyRuleGroupsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client FirewallPolicyRuleGroupsClient) GetPreparer(ctx context.Context, resourceGroupName string, firewallPolicyName string, ruleGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "firewallPolicyName": autorest.Encode("path", firewallPolicyName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "ruleGroupName": autorest.Encode("path", ruleGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/firewallPolicies/{firewallPolicyName}/ruleGroups/{ruleGroupName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client FirewallPolicyRuleGroupsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client FirewallPolicyRuleGroupsClient) GetResponder(resp *http.Response) (result FirewallPolicyRuleGroup, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List lists all FirewallPolicyRuleGroups in a FirewallPolicy resource. +// Parameters: +// resourceGroupName - the name of the resource group. +// firewallPolicyName - the name of the Firewall Policy. +func (client FirewallPolicyRuleGroupsClient) List(ctx context.Context, resourceGroupName string, firewallPolicyName string) (result FirewallPolicyRuleGroupListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/FirewallPolicyRuleGroupsClient.List") + defer func() { + sc := -1 + if result.fprglr.Response.Response != nil { + sc = result.fprglr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName, firewallPolicyName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.FirewallPolicyRuleGroupsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.fprglr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.FirewallPolicyRuleGroupsClient", "List", resp, "Failure sending request") + return + } + + result.fprglr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.FirewallPolicyRuleGroupsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client FirewallPolicyRuleGroupsClient) ListPreparer(ctx context.Context, resourceGroupName string, firewallPolicyName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "firewallPolicyName": autorest.Encode("path", firewallPolicyName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/firewallPolicies/{firewallPolicyName}/ruleGroups", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client FirewallPolicyRuleGroupsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client FirewallPolicyRuleGroupsClient) ListResponder(resp *http.Response) (result FirewallPolicyRuleGroupListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client FirewallPolicyRuleGroupsClient) listNextResults(ctx context.Context, lastResults FirewallPolicyRuleGroupListResult) (result FirewallPolicyRuleGroupListResult, err error) { + req, err := lastResults.firewallPolicyRuleGroupListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.FirewallPolicyRuleGroupsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.FirewallPolicyRuleGroupsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.FirewallPolicyRuleGroupsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client FirewallPolicyRuleGroupsClient) ListComplete(ctx context.Context, resourceGroupName string, firewallPolicyName string) (result FirewallPolicyRuleGroupListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/FirewallPolicyRuleGroupsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName, firewallPolicyName) + return +} diff --git a/services/network/mgmt/2019-07-01/network/hubvirtualnetworkconnections.go b/services/network/mgmt/2019-07-01/network/hubvirtualnetworkconnections.go new file mode 100644 index 000000000000..3201d17b7e24 --- /dev/null +++ b/services/network/mgmt/2019-07-01/network/hubvirtualnetworkconnections.go @@ -0,0 +1,236 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// HubVirtualNetworkConnectionsClient is the network Client +type HubVirtualNetworkConnectionsClient struct { + BaseClient +} + +// NewHubVirtualNetworkConnectionsClient creates an instance of the HubVirtualNetworkConnectionsClient client. +func NewHubVirtualNetworkConnectionsClient(subscriptionID string) HubVirtualNetworkConnectionsClient { + return NewHubVirtualNetworkConnectionsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewHubVirtualNetworkConnectionsClientWithBaseURI creates an instance of the HubVirtualNetworkConnectionsClient +// client. +func NewHubVirtualNetworkConnectionsClientWithBaseURI(baseURI string, subscriptionID string) HubVirtualNetworkConnectionsClient { + return HubVirtualNetworkConnectionsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// Get retrieves the details of a HubVirtualNetworkConnection. +// Parameters: +// resourceGroupName - the resource group name of the VirtualHub. +// virtualHubName - the name of the VirtualHub. +// connectionName - the name of the vpn connection. +func (client HubVirtualNetworkConnectionsClient) Get(ctx context.Context, resourceGroupName string, virtualHubName string, connectionName string) (result HubVirtualNetworkConnection, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/HubVirtualNetworkConnectionsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, virtualHubName, connectionName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.HubVirtualNetworkConnectionsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.HubVirtualNetworkConnectionsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.HubVirtualNetworkConnectionsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client HubVirtualNetworkConnectionsClient) GetPreparer(ctx context.Context, resourceGroupName string, virtualHubName string, connectionName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "connectionName": autorest.Encode("path", connectionName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualHubName": autorest.Encode("path", virtualHubName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}/hubVirtualNetworkConnections/{connectionName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client HubVirtualNetworkConnectionsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client HubVirtualNetworkConnectionsClient) GetResponder(resp *http.Response) (result HubVirtualNetworkConnection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List retrieves the details of all HubVirtualNetworkConnections. +// Parameters: +// resourceGroupName - the resource group name of the VirtualHub. +// virtualHubName - the name of the VirtualHub. +func (client HubVirtualNetworkConnectionsClient) List(ctx context.Context, resourceGroupName string, virtualHubName string) (result ListHubVirtualNetworkConnectionsResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/HubVirtualNetworkConnectionsClient.List") + defer func() { + sc := -1 + if result.lhvncr.Response.Response != nil { + sc = result.lhvncr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName, virtualHubName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.HubVirtualNetworkConnectionsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.lhvncr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.HubVirtualNetworkConnectionsClient", "List", resp, "Failure sending request") + return + } + + result.lhvncr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.HubVirtualNetworkConnectionsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client HubVirtualNetworkConnectionsClient) ListPreparer(ctx context.Context, resourceGroupName string, virtualHubName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualHubName": autorest.Encode("path", virtualHubName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}/hubVirtualNetworkConnections", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client HubVirtualNetworkConnectionsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client HubVirtualNetworkConnectionsClient) ListResponder(resp *http.Response) (result ListHubVirtualNetworkConnectionsResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client HubVirtualNetworkConnectionsClient) listNextResults(ctx context.Context, lastResults ListHubVirtualNetworkConnectionsResult) (result ListHubVirtualNetworkConnectionsResult, err error) { + req, err := lastResults.listHubVirtualNetworkConnectionsResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.HubVirtualNetworkConnectionsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.HubVirtualNetworkConnectionsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.HubVirtualNetworkConnectionsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client HubVirtualNetworkConnectionsClient) ListComplete(ctx context.Context, resourceGroupName string, virtualHubName string) (result ListHubVirtualNetworkConnectionsResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/HubVirtualNetworkConnectionsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName, virtualHubName) + return +} diff --git a/services/network/mgmt/2019-07-01/network/inboundnatrules.go b/services/network/mgmt/2019-07-01/network/inboundnatrules.go new file mode 100644 index 000000000000..7fe4c8a21da7 --- /dev/null +++ b/services/network/mgmt/2019-07-01/network/inboundnatrules.go @@ -0,0 +1,420 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// InboundNatRulesClient is the network Client +type InboundNatRulesClient struct { + BaseClient +} + +// NewInboundNatRulesClient creates an instance of the InboundNatRulesClient client. +func NewInboundNatRulesClient(subscriptionID string) InboundNatRulesClient { + return NewInboundNatRulesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewInboundNatRulesClientWithBaseURI creates an instance of the InboundNatRulesClient client. +func NewInboundNatRulesClientWithBaseURI(baseURI string, subscriptionID string) InboundNatRulesClient { + return InboundNatRulesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates a load balancer inbound nat rule. +// Parameters: +// resourceGroupName - the name of the resource group. +// loadBalancerName - the name of the load balancer. +// inboundNatRuleName - the name of the inbound nat rule. +// inboundNatRuleParameters - parameters supplied to the create or update inbound nat rule operation. +func (client InboundNatRulesClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, loadBalancerName string, inboundNatRuleName string, inboundNatRuleParameters InboundNatRule) (result InboundNatRulesCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/InboundNatRulesClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: inboundNatRuleParameters, + Constraints: []validation.Constraint{{Target: "inboundNatRuleParameters.InboundNatRulePropertiesFormat", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "inboundNatRuleParameters.InboundNatRulePropertiesFormat.BackendIPConfiguration", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "inboundNatRuleParameters.InboundNatRulePropertiesFormat.BackendIPConfiguration.InterfaceIPConfigurationPropertiesFormat", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "inboundNatRuleParameters.InboundNatRulePropertiesFormat.BackendIPConfiguration.InterfaceIPConfigurationPropertiesFormat.PublicIPAddress", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "inboundNatRuleParameters.InboundNatRulePropertiesFormat.BackendIPConfiguration.InterfaceIPConfigurationPropertiesFormat.PublicIPAddress.PublicIPAddressPropertiesFormat", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "inboundNatRuleParameters.InboundNatRulePropertiesFormat.BackendIPConfiguration.InterfaceIPConfigurationPropertiesFormat.PublicIPAddress.PublicIPAddressPropertiesFormat.IPConfiguration", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "inboundNatRuleParameters.InboundNatRulePropertiesFormat.BackendIPConfiguration.InterfaceIPConfigurationPropertiesFormat.PublicIPAddress.PublicIPAddressPropertiesFormat.IPConfiguration.IPConfigurationPropertiesFormat", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "inboundNatRuleParameters.InboundNatRulePropertiesFormat.BackendIPConfiguration.InterfaceIPConfigurationPropertiesFormat.PublicIPAddress.PublicIPAddressPropertiesFormat.IPConfiguration.IPConfigurationPropertiesFormat.PublicIPAddress", Name: validation.Null, Rule: false, Chain: nil}}}, + }}, + }}, + }}, + }}, + }}, + }}}}}); err != nil { + return result, validation.NewError("network.InboundNatRulesClient", "CreateOrUpdate", err.Error()) + } + + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, loadBalancerName, inboundNatRuleName, inboundNatRuleParameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InboundNatRulesClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InboundNatRulesClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client InboundNatRulesClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, loadBalancerName string, inboundNatRuleName string, inboundNatRuleParameters InboundNatRule) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "inboundNatRuleName": autorest.Encode("path", inboundNatRuleName), + "loadBalancerName": autorest.Encode("path", loadBalancerName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + inboundNatRuleParameters.Type = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/inboundNatRules/{inboundNatRuleName}", pathParameters), + autorest.WithJSON(inboundNatRuleParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client InboundNatRulesClient) CreateOrUpdateSender(req *http.Request) (future InboundNatRulesCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client InboundNatRulesClient) CreateOrUpdateResponder(resp *http.Response) (result InboundNatRule, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the specified load balancer inbound nat rule. +// Parameters: +// resourceGroupName - the name of the resource group. +// loadBalancerName - the name of the load balancer. +// inboundNatRuleName - the name of the inbound nat rule. +func (client InboundNatRulesClient) Delete(ctx context.Context, resourceGroupName string, loadBalancerName string, inboundNatRuleName string) (result InboundNatRulesDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/InboundNatRulesClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, loadBalancerName, inboundNatRuleName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InboundNatRulesClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InboundNatRulesClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client InboundNatRulesClient) DeletePreparer(ctx context.Context, resourceGroupName string, loadBalancerName string, inboundNatRuleName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "inboundNatRuleName": autorest.Encode("path", inboundNatRuleName), + "loadBalancerName": autorest.Encode("path", loadBalancerName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/inboundNatRules/{inboundNatRuleName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client InboundNatRulesClient) DeleteSender(req *http.Request) (future InboundNatRulesDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client InboundNatRulesClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets the specified load balancer inbound nat rule. +// Parameters: +// resourceGroupName - the name of the resource group. +// loadBalancerName - the name of the load balancer. +// inboundNatRuleName - the name of the inbound nat rule. +// expand - expands referenced resources. +func (client InboundNatRulesClient) Get(ctx context.Context, resourceGroupName string, loadBalancerName string, inboundNatRuleName string, expand string) (result InboundNatRule, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/InboundNatRulesClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, loadBalancerName, inboundNatRuleName, expand) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InboundNatRulesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.InboundNatRulesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InboundNatRulesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client InboundNatRulesClient) GetPreparer(ctx context.Context, resourceGroupName string, loadBalancerName string, inboundNatRuleName string, expand string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "inboundNatRuleName": autorest.Encode("path", inboundNatRuleName), + "loadBalancerName": autorest.Encode("path", loadBalancerName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(expand) > 0 { + queryParameters["$expand"] = autorest.Encode("query", expand) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/inboundNatRules/{inboundNatRuleName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client InboundNatRulesClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client InboundNatRulesClient) GetResponder(resp *http.Response) (result InboundNatRule, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets all the inbound nat rules in a load balancer. +// Parameters: +// resourceGroupName - the name of the resource group. +// loadBalancerName - the name of the load balancer. +func (client InboundNatRulesClient) List(ctx context.Context, resourceGroupName string, loadBalancerName string) (result InboundNatRuleListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/InboundNatRulesClient.List") + defer func() { + sc := -1 + if result.inrlr.Response.Response != nil { + sc = result.inrlr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName, loadBalancerName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InboundNatRulesClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.inrlr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.InboundNatRulesClient", "List", resp, "Failure sending request") + return + } + + result.inrlr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InboundNatRulesClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client InboundNatRulesClient) ListPreparer(ctx context.Context, resourceGroupName string, loadBalancerName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "loadBalancerName": autorest.Encode("path", loadBalancerName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/inboundNatRules", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client InboundNatRulesClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client InboundNatRulesClient) ListResponder(resp *http.Response) (result InboundNatRuleListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client InboundNatRulesClient) listNextResults(ctx context.Context, lastResults InboundNatRuleListResult) (result InboundNatRuleListResult, err error) { + req, err := lastResults.inboundNatRuleListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.InboundNatRulesClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.InboundNatRulesClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InboundNatRulesClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client InboundNatRulesClient) ListComplete(ctx context.Context, resourceGroupName string, loadBalancerName string) (result InboundNatRuleListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/InboundNatRulesClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName, loadBalancerName) + return +} diff --git a/services/network/mgmt/2019-07-01/network/interfaceipconfigurations.go b/services/network/mgmt/2019-07-01/network/interfaceipconfigurations.go new file mode 100644 index 000000000000..f0bb40acd4f4 --- /dev/null +++ b/services/network/mgmt/2019-07-01/network/interfaceipconfigurations.go @@ -0,0 +1,235 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// InterfaceIPConfigurationsClient is the network Client +type InterfaceIPConfigurationsClient struct { + BaseClient +} + +// NewInterfaceIPConfigurationsClient creates an instance of the InterfaceIPConfigurationsClient client. +func NewInterfaceIPConfigurationsClient(subscriptionID string) InterfaceIPConfigurationsClient { + return NewInterfaceIPConfigurationsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewInterfaceIPConfigurationsClientWithBaseURI creates an instance of the InterfaceIPConfigurationsClient client. +func NewInterfaceIPConfigurationsClientWithBaseURI(baseURI string, subscriptionID string) InterfaceIPConfigurationsClient { + return InterfaceIPConfigurationsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// Get gets the specified network interface ip configuration. +// Parameters: +// resourceGroupName - the name of the resource group. +// networkInterfaceName - the name of the network interface. +// IPConfigurationName - the name of the ip configuration name. +func (client InterfaceIPConfigurationsClient) Get(ctx context.Context, resourceGroupName string, networkInterfaceName string, IPConfigurationName string) (result InterfaceIPConfiguration, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/InterfaceIPConfigurationsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, networkInterfaceName, IPConfigurationName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfaceIPConfigurationsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.InterfaceIPConfigurationsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfaceIPConfigurationsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client InterfaceIPConfigurationsClient) GetPreparer(ctx context.Context, resourceGroupName string, networkInterfaceName string, IPConfigurationName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "ipConfigurationName": autorest.Encode("path", IPConfigurationName), + "networkInterfaceName": autorest.Encode("path", networkInterfaceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/ipConfigurations/{ipConfigurationName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client InterfaceIPConfigurationsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client InterfaceIPConfigurationsClient) GetResponder(resp *http.Response) (result InterfaceIPConfiguration, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List get all ip configurations in a network interface. +// Parameters: +// resourceGroupName - the name of the resource group. +// networkInterfaceName - the name of the network interface. +func (client InterfaceIPConfigurationsClient) List(ctx context.Context, resourceGroupName string, networkInterfaceName string) (result InterfaceIPConfigurationListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/InterfaceIPConfigurationsClient.List") + defer func() { + sc := -1 + if result.iiclr.Response.Response != nil { + sc = result.iiclr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName, networkInterfaceName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfaceIPConfigurationsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.iiclr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.InterfaceIPConfigurationsClient", "List", resp, "Failure sending request") + return + } + + result.iiclr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfaceIPConfigurationsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client InterfaceIPConfigurationsClient) ListPreparer(ctx context.Context, resourceGroupName string, networkInterfaceName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkInterfaceName": autorest.Encode("path", networkInterfaceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/ipConfigurations", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client InterfaceIPConfigurationsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client InterfaceIPConfigurationsClient) ListResponder(resp *http.Response) (result InterfaceIPConfigurationListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client InterfaceIPConfigurationsClient) listNextResults(ctx context.Context, lastResults InterfaceIPConfigurationListResult) (result InterfaceIPConfigurationListResult, err error) { + req, err := lastResults.interfaceIPConfigurationListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.InterfaceIPConfigurationsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.InterfaceIPConfigurationsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfaceIPConfigurationsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client InterfaceIPConfigurationsClient) ListComplete(ctx context.Context, resourceGroupName string, networkInterfaceName string) (result InterfaceIPConfigurationListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/InterfaceIPConfigurationsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName, networkInterfaceName) + return +} diff --git a/services/network/mgmt/2019-07-01/network/interfaceloadbalancers.go b/services/network/mgmt/2019-07-01/network/interfaceloadbalancers.go new file mode 100644 index 000000000000..470f81b85da2 --- /dev/null +++ b/services/network/mgmt/2019-07-01/network/interfaceloadbalancers.go @@ -0,0 +1,156 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// InterfaceLoadBalancersClient is the network Client +type InterfaceLoadBalancersClient struct { + BaseClient +} + +// NewInterfaceLoadBalancersClient creates an instance of the InterfaceLoadBalancersClient client. +func NewInterfaceLoadBalancersClient(subscriptionID string) InterfaceLoadBalancersClient { + return NewInterfaceLoadBalancersClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewInterfaceLoadBalancersClientWithBaseURI creates an instance of the InterfaceLoadBalancersClient client. +func NewInterfaceLoadBalancersClientWithBaseURI(baseURI string, subscriptionID string) InterfaceLoadBalancersClient { + return InterfaceLoadBalancersClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// List list all load balancers in a network interface. +// Parameters: +// resourceGroupName - the name of the resource group. +// networkInterfaceName - the name of the network interface. +func (client InterfaceLoadBalancersClient) List(ctx context.Context, resourceGroupName string, networkInterfaceName string) (result InterfaceLoadBalancerListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/InterfaceLoadBalancersClient.List") + defer func() { + sc := -1 + if result.ilblr.Response.Response != nil { + sc = result.ilblr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName, networkInterfaceName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfaceLoadBalancersClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.ilblr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.InterfaceLoadBalancersClient", "List", resp, "Failure sending request") + return + } + + result.ilblr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfaceLoadBalancersClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client InterfaceLoadBalancersClient) ListPreparer(ctx context.Context, resourceGroupName string, networkInterfaceName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkInterfaceName": autorest.Encode("path", networkInterfaceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/loadBalancers", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client InterfaceLoadBalancersClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client InterfaceLoadBalancersClient) ListResponder(resp *http.Response) (result InterfaceLoadBalancerListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client InterfaceLoadBalancersClient) listNextResults(ctx context.Context, lastResults InterfaceLoadBalancerListResult) (result InterfaceLoadBalancerListResult, err error) { + req, err := lastResults.interfaceLoadBalancerListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.InterfaceLoadBalancersClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.InterfaceLoadBalancersClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfaceLoadBalancersClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client InterfaceLoadBalancersClient) ListComplete(ctx context.Context, resourceGroupName string, networkInterfaceName string) (result InterfaceLoadBalancerListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/InterfaceLoadBalancersClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName, networkInterfaceName) + return +} diff --git a/services/network/mgmt/2019-07-01/network/interfacesgroup.go b/services/network/mgmt/2019-07-01/network/interfacesgroup.go new file mode 100644 index 000000000000..b27f9a39da3a --- /dev/null +++ b/services/network/mgmt/2019-07-01/network/interfacesgroup.go @@ -0,0 +1,1265 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// InterfacesClient is the network Client +type InterfacesClient struct { + BaseClient +} + +// NewInterfacesClient creates an instance of the InterfacesClient client. +func NewInterfacesClient(subscriptionID string) InterfacesClient { + return NewInterfacesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewInterfacesClientWithBaseURI creates an instance of the InterfacesClient client. +func NewInterfacesClientWithBaseURI(baseURI string, subscriptionID string) InterfacesClient { + return InterfacesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates a network interface. +// Parameters: +// resourceGroupName - the name of the resource group. +// networkInterfaceName - the name of the network interface. +// parameters - parameters supplied to the create or update network interface operation. +func (client InterfacesClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, networkInterfaceName string, parameters Interface) (result InterfacesCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/InterfacesClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, networkInterfaceName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfacesClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfacesClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client InterfacesClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, networkInterfaceName string, parameters Interface) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkInterfaceName": autorest.Encode("path", networkInterfaceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client InterfacesClient) CreateOrUpdateSender(req *http.Request) (future InterfacesCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client InterfacesClient) CreateOrUpdateResponder(resp *http.Response) (result Interface, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the specified network interface. +// Parameters: +// resourceGroupName - the name of the resource group. +// networkInterfaceName - the name of the network interface. +func (client InterfacesClient) Delete(ctx context.Context, resourceGroupName string, networkInterfaceName string) (result InterfacesDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/InterfacesClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, networkInterfaceName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfacesClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfacesClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client InterfacesClient) DeletePreparer(ctx context.Context, resourceGroupName string, networkInterfaceName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkInterfaceName": autorest.Encode("path", networkInterfaceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client InterfacesClient) DeleteSender(req *http.Request) (future InterfacesDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client InterfacesClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets information about the specified network interface. +// Parameters: +// resourceGroupName - the name of the resource group. +// networkInterfaceName - the name of the network interface. +// expand - expands referenced resources. +func (client InterfacesClient) Get(ctx context.Context, resourceGroupName string, networkInterfaceName string, expand string) (result Interface, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/InterfacesClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, networkInterfaceName, expand) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfacesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.InterfacesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfacesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client InterfacesClient) GetPreparer(ctx context.Context, resourceGroupName string, networkInterfaceName string, expand string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkInterfaceName": autorest.Encode("path", networkInterfaceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(expand) > 0 { + queryParameters["$expand"] = autorest.Encode("query", expand) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client InterfacesClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client InterfacesClient) GetResponder(resp *http.Response) (result Interface, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetEffectiveRouteTable gets all route tables applied to a network interface. +// Parameters: +// resourceGroupName - the name of the resource group. +// networkInterfaceName - the name of the network interface. +func (client InterfacesClient) GetEffectiveRouteTable(ctx context.Context, resourceGroupName string, networkInterfaceName string) (result InterfacesGetEffectiveRouteTableFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/InterfacesClient.GetEffectiveRouteTable") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetEffectiveRouteTablePreparer(ctx, resourceGroupName, networkInterfaceName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfacesClient", "GetEffectiveRouteTable", nil, "Failure preparing request") + return + } + + result, err = client.GetEffectiveRouteTableSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfacesClient", "GetEffectiveRouteTable", result.Response(), "Failure sending request") + return + } + + return +} + +// GetEffectiveRouteTablePreparer prepares the GetEffectiveRouteTable request. +func (client InterfacesClient) GetEffectiveRouteTablePreparer(ctx context.Context, resourceGroupName string, networkInterfaceName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkInterfaceName": autorest.Encode("path", networkInterfaceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/effectiveRouteTable", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetEffectiveRouteTableSender sends the GetEffectiveRouteTable request. The method will close the +// http.Response Body if it receives an error. +func (client InterfacesClient) GetEffectiveRouteTableSender(req *http.Request) (future InterfacesGetEffectiveRouteTableFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// GetEffectiveRouteTableResponder handles the response to the GetEffectiveRouteTable request. The method always +// closes the http.Response Body. +func (client InterfacesClient) GetEffectiveRouteTableResponder(resp *http.Response) (result EffectiveRouteListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetVirtualMachineScaleSetIPConfiguration get the specified network interface ip configuration in a virtual machine +// scale set. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualMachineScaleSetName - the name of the virtual machine scale set. +// virtualmachineIndex - the virtual machine index. +// networkInterfaceName - the name of the network interface. +// IPConfigurationName - the name of the ip configuration. +// expand - expands referenced resources. +func (client InterfacesClient) GetVirtualMachineScaleSetIPConfiguration(ctx context.Context, resourceGroupName string, virtualMachineScaleSetName string, virtualmachineIndex string, networkInterfaceName string, IPConfigurationName string, expand string) (result InterfaceIPConfiguration, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/InterfacesClient.GetVirtualMachineScaleSetIPConfiguration") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetVirtualMachineScaleSetIPConfigurationPreparer(ctx, resourceGroupName, virtualMachineScaleSetName, virtualmachineIndex, networkInterfaceName, IPConfigurationName, expand) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfacesClient", "GetVirtualMachineScaleSetIPConfiguration", nil, "Failure preparing request") + return + } + + resp, err := client.GetVirtualMachineScaleSetIPConfigurationSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.InterfacesClient", "GetVirtualMachineScaleSetIPConfiguration", resp, "Failure sending request") + return + } + + result, err = client.GetVirtualMachineScaleSetIPConfigurationResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfacesClient", "GetVirtualMachineScaleSetIPConfiguration", resp, "Failure responding to request") + } + + return +} + +// GetVirtualMachineScaleSetIPConfigurationPreparer prepares the GetVirtualMachineScaleSetIPConfiguration request. +func (client InterfacesClient) GetVirtualMachineScaleSetIPConfigurationPreparer(ctx context.Context, resourceGroupName string, virtualMachineScaleSetName string, virtualmachineIndex string, networkInterfaceName string, IPConfigurationName string, expand string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "ipConfigurationName": autorest.Encode("path", IPConfigurationName), + "networkInterfaceName": autorest.Encode("path", networkInterfaceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualmachineIndex": autorest.Encode("path", virtualmachineIndex), + "virtualMachineScaleSetName": autorest.Encode("path", virtualMachineScaleSetName), + } + + const APIVersion = "2018-10-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(expand) > 0 { + queryParameters["$expand"] = autorest.Encode("query", expand) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}/ipConfigurations/{ipConfigurationName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetVirtualMachineScaleSetIPConfigurationSender sends the GetVirtualMachineScaleSetIPConfiguration request. The method will close the +// http.Response Body if it receives an error. +func (client InterfacesClient) GetVirtualMachineScaleSetIPConfigurationSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetVirtualMachineScaleSetIPConfigurationResponder handles the response to the GetVirtualMachineScaleSetIPConfiguration request. The method always +// closes the http.Response Body. +func (client InterfacesClient) GetVirtualMachineScaleSetIPConfigurationResponder(resp *http.Response) (result InterfaceIPConfiguration, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetVirtualMachineScaleSetNetworkInterface get the specified network interface in a virtual machine scale set. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualMachineScaleSetName - the name of the virtual machine scale set. +// virtualmachineIndex - the virtual machine index. +// networkInterfaceName - the name of the network interface. +// expand - expands referenced resources. +func (client InterfacesClient) GetVirtualMachineScaleSetNetworkInterface(ctx context.Context, resourceGroupName string, virtualMachineScaleSetName string, virtualmachineIndex string, networkInterfaceName string, expand string) (result Interface, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/InterfacesClient.GetVirtualMachineScaleSetNetworkInterface") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetVirtualMachineScaleSetNetworkInterfacePreparer(ctx, resourceGroupName, virtualMachineScaleSetName, virtualmachineIndex, networkInterfaceName, expand) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfacesClient", "GetVirtualMachineScaleSetNetworkInterface", nil, "Failure preparing request") + return + } + + resp, err := client.GetVirtualMachineScaleSetNetworkInterfaceSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.InterfacesClient", "GetVirtualMachineScaleSetNetworkInterface", resp, "Failure sending request") + return + } + + result, err = client.GetVirtualMachineScaleSetNetworkInterfaceResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfacesClient", "GetVirtualMachineScaleSetNetworkInterface", resp, "Failure responding to request") + } + + return +} + +// GetVirtualMachineScaleSetNetworkInterfacePreparer prepares the GetVirtualMachineScaleSetNetworkInterface request. +func (client InterfacesClient) GetVirtualMachineScaleSetNetworkInterfacePreparer(ctx context.Context, resourceGroupName string, virtualMachineScaleSetName string, virtualmachineIndex string, networkInterfaceName string, expand string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkInterfaceName": autorest.Encode("path", networkInterfaceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualmachineIndex": autorest.Encode("path", virtualmachineIndex), + "virtualMachineScaleSetName": autorest.Encode("path", virtualMachineScaleSetName), + } + + const APIVersion = "2018-10-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(expand) > 0 { + queryParameters["$expand"] = autorest.Encode("query", expand) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetVirtualMachineScaleSetNetworkInterfaceSender sends the GetVirtualMachineScaleSetNetworkInterface request. The method will close the +// http.Response Body if it receives an error. +func (client InterfacesClient) GetVirtualMachineScaleSetNetworkInterfaceSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetVirtualMachineScaleSetNetworkInterfaceResponder handles the response to the GetVirtualMachineScaleSetNetworkInterface request. The method always +// closes the http.Response Body. +func (client InterfacesClient) GetVirtualMachineScaleSetNetworkInterfaceResponder(resp *http.Response) (result Interface, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets all network interfaces in a resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +func (client InterfacesClient) List(ctx context.Context, resourceGroupName string) (result InterfaceListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/InterfacesClient.List") + defer func() { + sc := -1 + if result.ilr.Response.Response != nil { + sc = result.ilr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfacesClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.ilr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.InterfacesClient", "List", resp, "Failure sending request") + return + } + + result.ilr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfacesClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client InterfacesClient) ListPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client InterfacesClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client InterfacesClient) ListResponder(resp *http.Response) (result InterfaceListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client InterfacesClient) listNextResults(ctx context.Context, lastResults InterfaceListResult) (result InterfaceListResult, err error) { + req, err := lastResults.interfaceListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.InterfacesClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.InterfacesClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfacesClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client InterfacesClient) ListComplete(ctx context.Context, resourceGroupName string) (result InterfaceListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/InterfacesClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName) + return +} + +// ListAll gets all network interfaces in a subscription. +func (client InterfacesClient) ListAll(ctx context.Context) (result InterfaceListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/InterfacesClient.ListAll") + defer func() { + sc := -1 + if result.ilr.Response.Response != nil { + sc = result.ilr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listAllNextResults + req, err := client.ListAllPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfacesClient", "ListAll", nil, "Failure preparing request") + return + } + + resp, err := client.ListAllSender(req) + if err != nil { + result.ilr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.InterfacesClient", "ListAll", resp, "Failure sending request") + return + } + + result.ilr, err = client.ListAllResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfacesClient", "ListAll", resp, "Failure responding to request") + } + + return +} + +// ListAllPreparer prepares the ListAll request. +func (client InterfacesClient) ListAllPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkInterfaces", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListAllSender sends the ListAll request. The method will close the +// http.Response Body if it receives an error. +func (client InterfacesClient) ListAllSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListAllResponder handles the response to the ListAll request. The method always +// closes the http.Response Body. +func (client InterfacesClient) ListAllResponder(resp *http.Response) (result InterfaceListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listAllNextResults retrieves the next set of results, if any. +func (client InterfacesClient) listAllNextResults(ctx context.Context, lastResults InterfaceListResult) (result InterfaceListResult, err error) { + req, err := lastResults.interfaceListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.InterfacesClient", "listAllNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListAllSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.InterfacesClient", "listAllNextResults", resp, "Failure sending next results request") + } + result, err = client.ListAllResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfacesClient", "listAllNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListAllComplete enumerates all values, automatically crossing page boundaries as required. +func (client InterfacesClient) ListAllComplete(ctx context.Context) (result InterfaceListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/InterfacesClient.ListAll") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListAll(ctx) + return +} + +// ListEffectiveNetworkSecurityGroups gets all network security groups applied to a network interface. +// Parameters: +// resourceGroupName - the name of the resource group. +// networkInterfaceName - the name of the network interface. +func (client InterfacesClient) ListEffectiveNetworkSecurityGroups(ctx context.Context, resourceGroupName string, networkInterfaceName string) (result InterfacesListEffectiveNetworkSecurityGroupsFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/InterfacesClient.ListEffectiveNetworkSecurityGroups") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListEffectiveNetworkSecurityGroupsPreparer(ctx, resourceGroupName, networkInterfaceName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfacesClient", "ListEffectiveNetworkSecurityGroups", nil, "Failure preparing request") + return + } + + result, err = client.ListEffectiveNetworkSecurityGroupsSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfacesClient", "ListEffectiveNetworkSecurityGroups", result.Response(), "Failure sending request") + return + } + + return +} + +// ListEffectiveNetworkSecurityGroupsPreparer prepares the ListEffectiveNetworkSecurityGroups request. +func (client InterfacesClient) ListEffectiveNetworkSecurityGroupsPreparer(ctx context.Context, resourceGroupName string, networkInterfaceName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkInterfaceName": autorest.Encode("path", networkInterfaceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/effectiveNetworkSecurityGroups", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListEffectiveNetworkSecurityGroupsSender sends the ListEffectiveNetworkSecurityGroups request. The method will close the +// http.Response Body if it receives an error. +func (client InterfacesClient) ListEffectiveNetworkSecurityGroupsSender(req *http.Request) (future InterfacesListEffectiveNetworkSecurityGroupsFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// ListEffectiveNetworkSecurityGroupsResponder handles the response to the ListEffectiveNetworkSecurityGroups request. The method always +// closes the http.Response Body. +func (client InterfacesClient) ListEffectiveNetworkSecurityGroupsResponder(resp *http.Response) (result EffectiveNetworkSecurityGroupListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListVirtualMachineScaleSetIPConfigurations get the specified network interface ip configuration in a virtual machine +// scale set. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualMachineScaleSetName - the name of the virtual machine scale set. +// virtualmachineIndex - the virtual machine index. +// networkInterfaceName - the name of the network interface. +// expand - expands referenced resources. +func (client InterfacesClient) ListVirtualMachineScaleSetIPConfigurations(ctx context.Context, resourceGroupName string, virtualMachineScaleSetName string, virtualmachineIndex string, networkInterfaceName string, expand string) (result InterfaceIPConfigurationListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/InterfacesClient.ListVirtualMachineScaleSetIPConfigurations") + defer func() { + sc := -1 + if result.iiclr.Response.Response != nil { + sc = result.iiclr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listVirtualMachineScaleSetIPConfigurationsNextResults + req, err := client.ListVirtualMachineScaleSetIPConfigurationsPreparer(ctx, resourceGroupName, virtualMachineScaleSetName, virtualmachineIndex, networkInterfaceName, expand) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfacesClient", "ListVirtualMachineScaleSetIPConfigurations", nil, "Failure preparing request") + return + } + + resp, err := client.ListVirtualMachineScaleSetIPConfigurationsSender(req) + if err != nil { + result.iiclr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.InterfacesClient", "ListVirtualMachineScaleSetIPConfigurations", resp, "Failure sending request") + return + } + + result.iiclr, err = client.ListVirtualMachineScaleSetIPConfigurationsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfacesClient", "ListVirtualMachineScaleSetIPConfigurations", resp, "Failure responding to request") + } + + return +} + +// ListVirtualMachineScaleSetIPConfigurationsPreparer prepares the ListVirtualMachineScaleSetIPConfigurations request. +func (client InterfacesClient) ListVirtualMachineScaleSetIPConfigurationsPreparer(ctx context.Context, resourceGroupName string, virtualMachineScaleSetName string, virtualmachineIndex string, networkInterfaceName string, expand string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkInterfaceName": autorest.Encode("path", networkInterfaceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualmachineIndex": autorest.Encode("path", virtualmachineIndex), + "virtualMachineScaleSetName": autorest.Encode("path", virtualMachineScaleSetName), + } + + const APIVersion = "2018-10-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(expand) > 0 { + queryParameters["$expand"] = autorest.Encode("query", expand) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}/ipConfigurations", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListVirtualMachineScaleSetIPConfigurationsSender sends the ListVirtualMachineScaleSetIPConfigurations request. The method will close the +// http.Response Body if it receives an error. +func (client InterfacesClient) ListVirtualMachineScaleSetIPConfigurationsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListVirtualMachineScaleSetIPConfigurationsResponder handles the response to the ListVirtualMachineScaleSetIPConfigurations request. The method always +// closes the http.Response Body. +func (client InterfacesClient) ListVirtualMachineScaleSetIPConfigurationsResponder(resp *http.Response) (result InterfaceIPConfigurationListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listVirtualMachineScaleSetIPConfigurationsNextResults retrieves the next set of results, if any. +func (client InterfacesClient) listVirtualMachineScaleSetIPConfigurationsNextResults(ctx context.Context, lastResults InterfaceIPConfigurationListResult) (result InterfaceIPConfigurationListResult, err error) { + req, err := lastResults.interfaceIPConfigurationListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.InterfacesClient", "listVirtualMachineScaleSetIPConfigurationsNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListVirtualMachineScaleSetIPConfigurationsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.InterfacesClient", "listVirtualMachineScaleSetIPConfigurationsNextResults", resp, "Failure sending next results request") + } + result, err = client.ListVirtualMachineScaleSetIPConfigurationsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfacesClient", "listVirtualMachineScaleSetIPConfigurationsNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListVirtualMachineScaleSetIPConfigurationsComplete enumerates all values, automatically crossing page boundaries as required. +func (client InterfacesClient) ListVirtualMachineScaleSetIPConfigurationsComplete(ctx context.Context, resourceGroupName string, virtualMachineScaleSetName string, virtualmachineIndex string, networkInterfaceName string, expand string) (result InterfaceIPConfigurationListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/InterfacesClient.ListVirtualMachineScaleSetIPConfigurations") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListVirtualMachineScaleSetIPConfigurations(ctx, resourceGroupName, virtualMachineScaleSetName, virtualmachineIndex, networkInterfaceName, expand) + return +} + +// ListVirtualMachineScaleSetNetworkInterfaces gets all network interfaces in a virtual machine scale set. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualMachineScaleSetName - the name of the virtual machine scale set. +func (client InterfacesClient) ListVirtualMachineScaleSetNetworkInterfaces(ctx context.Context, resourceGroupName string, virtualMachineScaleSetName string) (result InterfaceListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/InterfacesClient.ListVirtualMachineScaleSetNetworkInterfaces") + defer func() { + sc := -1 + if result.ilr.Response.Response != nil { + sc = result.ilr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listVirtualMachineScaleSetNetworkInterfacesNextResults + req, err := client.ListVirtualMachineScaleSetNetworkInterfacesPreparer(ctx, resourceGroupName, virtualMachineScaleSetName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfacesClient", "ListVirtualMachineScaleSetNetworkInterfaces", nil, "Failure preparing request") + return + } + + resp, err := client.ListVirtualMachineScaleSetNetworkInterfacesSender(req) + if err != nil { + result.ilr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.InterfacesClient", "ListVirtualMachineScaleSetNetworkInterfaces", resp, "Failure sending request") + return + } + + result.ilr, err = client.ListVirtualMachineScaleSetNetworkInterfacesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfacesClient", "ListVirtualMachineScaleSetNetworkInterfaces", resp, "Failure responding to request") + } + + return +} + +// ListVirtualMachineScaleSetNetworkInterfacesPreparer prepares the ListVirtualMachineScaleSetNetworkInterfaces request. +func (client InterfacesClient) ListVirtualMachineScaleSetNetworkInterfacesPreparer(ctx context.Context, resourceGroupName string, virtualMachineScaleSetName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualMachineScaleSetName": autorest.Encode("path", virtualMachineScaleSetName), + } + + const APIVersion = "2018-10-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/networkInterfaces", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListVirtualMachineScaleSetNetworkInterfacesSender sends the ListVirtualMachineScaleSetNetworkInterfaces request. The method will close the +// http.Response Body if it receives an error. +func (client InterfacesClient) ListVirtualMachineScaleSetNetworkInterfacesSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListVirtualMachineScaleSetNetworkInterfacesResponder handles the response to the ListVirtualMachineScaleSetNetworkInterfaces request. The method always +// closes the http.Response Body. +func (client InterfacesClient) ListVirtualMachineScaleSetNetworkInterfacesResponder(resp *http.Response) (result InterfaceListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listVirtualMachineScaleSetNetworkInterfacesNextResults retrieves the next set of results, if any. +func (client InterfacesClient) listVirtualMachineScaleSetNetworkInterfacesNextResults(ctx context.Context, lastResults InterfaceListResult) (result InterfaceListResult, err error) { + req, err := lastResults.interfaceListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.InterfacesClient", "listVirtualMachineScaleSetNetworkInterfacesNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListVirtualMachineScaleSetNetworkInterfacesSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.InterfacesClient", "listVirtualMachineScaleSetNetworkInterfacesNextResults", resp, "Failure sending next results request") + } + result, err = client.ListVirtualMachineScaleSetNetworkInterfacesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfacesClient", "listVirtualMachineScaleSetNetworkInterfacesNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListVirtualMachineScaleSetNetworkInterfacesComplete enumerates all values, automatically crossing page boundaries as required. +func (client InterfacesClient) ListVirtualMachineScaleSetNetworkInterfacesComplete(ctx context.Context, resourceGroupName string, virtualMachineScaleSetName string) (result InterfaceListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/InterfacesClient.ListVirtualMachineScaleSetNetworkInterfaces") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListVirtualMachineScaleSetNetworkInterfaces(ctx, resourceGroupName, virtualMachineScaleSetName) + return +} + +// ListVirtualMachineScaleSetVMNetworkInterfaces gets information about all network interfaces in a virtual machine in +// a virtual machine scale set. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualMachineScaleSetName - the name of the virtual machine scale set. +// virtualmachineIndex - the virtual machine index. +func (client InterfacesClient) ListVirtualMachineScaleSetVMNetworkInterfaces(ctx context.Context, resourceGroupName string, virtualMachineScaleSetName string, virtualmachineIndex string) (result InterfaceListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/InterfacesClient.ListVirtualMachineScaleSetVMNetworkInterfaces") + defer func() { + sc := -1 + if result.ilr.Response.Response != nil { + sc = result.ilr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listVirtualMachineScaleSetVMNetworkInterfacesNextResults + req, err := client.ListVirtualMachineScaleSetVMNetworkInterfacesPreparer(ctx, resourceGroupName, virtualMachineScaleSetName, virtualmachineIndex) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfacesClient", "ListVirtualMachineScaleSetVMNetworkInterfaces", nil, "Failure preparing request") + return + } + + resp, err := client.ListVirtualMachineScaleSetVMNetworkInterfacesSender(req) + if err != nil { + result.ilr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.InterfacesClient", "ListVirtualMachineScaleSetVMNetworkInterfaces", resp, "Failure sending request") + return + } + + result.ilr, err = client.ListVirtualMachineScaleSetVMNetworkInterfacesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfacesClient", "ListVirtualMachineScaleSetVMNetworkInterfaces", resp, "Failure responding to request") + } + + return +} + +// ListVirtualMachineScaleSetVMNetworkInterfacesPreparer prepares the ListVirtualMachineScaleSetVMNetworkInterfaces request. +func (client InterfacesClient) ListVirtualMachineScaleSetVMNetworkInterfacesPreparer(ctx context.Context, resourceGroupName string, virtualMachineScaleSetName string, virtualmachineIndex string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualmachineIndex": autorest.Encode("path", virtualmachineIndex), + "virtualMachineScaleSetName": autorest.Encode("path", virtualMachineScaleSetName), + } + + const APIVersion = "2018-10-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListVirtualMachineScaleSetVMNetworkInterfacesSender sends the ListVirtualMachineScaleSetVMNetworkInterfaces request. The method will close the +// http.Response Body if it receives an error. +func (client InterfacesClient) ListVirtualMachineScaleSetVMNetworkInterfacesSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListVirtualMachineScaleSetVMNetworkInterfacesResponder handles the response to the ListVirtualMachineScaleSetVMNetworkInterfaces request. The method always +// closes the http.Response Body. +func (client InterfacesClient) ListVirtualMachineScaleSetVMNetworkInterfacesResponder(resp *http.Response) (result InterfaceListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listVirtualMachineScaleSetVMNetworkInterfacesNextResults retrieves the next set of results, if any. +func (client InterfacesClient) listVirtualMachineScaleSetVMNetworkInterfacesNextResults(ctx context.Context, lastResults InterfaceListResult) (result InterfaceListResult, err error) { + req, err := lastResults.interfaceListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.InterfacesClient", "listVirtualMachineScaleSetVMNetworkInterfacesNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListVirtualMachineScaleSetVMNetworkInterfacesSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.InterfacesClient", "listVirtualMachineScaleSetVMNetworkInterfacesNextResults", resp, "Failure sending next results request") + } + result, err = client.ListVirtualMachineScaleSetVMNetworkInterfacesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfacesClient", "listVirtualMachineScaleSetVMNetworkInterfacesNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListVirtualMachineScaleSetVMNetworkInterfacesComplete enumerates all values, automatically crossing page boundaries as required. +func (client InterfacesClient) ListVirtualMachineScaleSetVMNetworkInterfacesComplete(ctx context.Context, resourceGroupName string, virtualMachineScaleSetName string, virtualmachineIndex string) (result InterfaceListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/InterfacesClient.ListVirtualMachineScaleSetVMNetworkInterfaces") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListVirtualMachineScaleSetVMNetworkInterfaces(ctx, resourceGroupName, virtualMachineScaleSetName, virtualmachineIndex) + return +} + +// UpdateTags updates a network interface tags. +// Parameters: +// resourceGroupName - the name of the resource group. +// networkInterfaceName - the name of the network interface. +// parameters - parameters supplied to update network interface tags. +func (client InterfacesClient) UpdateTags(ctx context.Context, resourceGroupName string, networkInterfaceName string, parameters TagsObject) (result InterfacesUpdateTagsFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/InterfacesClient.UpdateTags") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdateTagsPreparer(ctx, resourceGroupName, networkInterfaceName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfacesClient", "UpdateTags", nil, "Failure preparing request") + return + } + + result, err = client.UpdateTagsSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfacesClient", "UpdateTags", result.Response(), "Failure sending request") + return + } + + return +} + +// UpdateTagsPreparer prepares the UpdateTags request. +func (client InterfacesClient) UpdateTagsPreparer(ctx context.Context, resourceGroupName string, networkInterfaceName string, parameters TagsObject) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkInterfaceName": autorest.Encode("path", networkInterfaceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateTagsSender sends the UpdateTags request. The method will close the +// http.Response Body if it receives an error. +func (client InterfacesClient) UpdateTagsSender(req *http.Request) (future InterfacesUpdateTagsFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// UpdateTagsResponder handles the response to the UpdateTags request. The method always +// closes the http.Response Body. +func (client InterfacesClient) UpdateTagsResponder(resp *http.Response) (result Interface, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/network/mgmt/2019-07-01/network/interfacetapconfigurations.go b/services/network/mgmt/2019-07-01/network/interfacetapconfigurations.go new file mode 100644 index 000000000000..7f4e2ee1e3ba --- /dev/null +++ b/services/network/mgmt/2019-07-01/network/interfacetapconfigurations.go @@ -0,0 +1,432 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// InterfaceTapConfigurationsClient is the network Client +type InterfaceTapConfigurationsClient struct { + BaseClient +} + +// NewInterfaceTapConfigurationsClient creates an instance of the InterfaceTapConfigurationsClient client. +func NewInterfaceTapConfigurationsClient(subscriptionID string) InterfaceTapConfigurationsClient { + return NewInterfaceTapConfigurationsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewInterfaceTapConfigurationsClientWithBaseURI creates an instance of the InterfaceTapConfigurationsClient client. +func NewInterfaceTapConfigurationsClientWithBaseURI(baseURI string, subscriptionID string) InterfaceTapConfigurationsClient { + return InterfaceTapConfigurationsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates a Tap configuration in the specified NetworkInterface. +// Parameters: +// resourceGroupName - the name of the resource group. +// networkInterfaceName - the name of the network interface. +// tapConfigurationName - the name of the tap configuration. +// tapConfigurationParameters - parameters supplied to the create or update tap configuration operation. +func (client InterfaceTapConfigurationsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, networkInterfaceName string, tapConfigurationName string, tapConfigurationParameters InterfaceTapConfiguration) (result InterfaceTapConfigurationsCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/InterfaceTapConfigurationsClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: tapConfigurationParameters, + Constraints: []validation.Constraint{{Target: "tapConfigurationParameters.InterfaceTapConfigurationPropertiesFormat", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "tapConfigurationParameters.InterfaceTapConfigurationPropertiesFormat.VirtualNetworkTap", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "tapConfigurationParameters.InterfaceTapConfigurationPropertiesFormat.VirtualNetworkTap.VirtualNetworkTapPropertiesFormat", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "tapConfigurationParameters.InterfaceTapConfigurationPropertiesFormat.VirtualNetworkTap.VirtualNetworkTapPropertiesFormat.DestinationNetworkInterfaceIPConfiguration", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "tapConfigurationParameters.InterfaceTapConfigurationPropertiesFormat.VirtualNetworkTap.VirtualNetworkTapPropertiesFormat.DestinationNetworkInterfaceIPConfiguration.InterfaceIPConfigurationPropertiesFormat", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "tapConfigurationParameters.InterfaceTapConfigurationPropertiesFormat.VirtualNetworkTap.VirtualNetworkTapPropertiesFormat.DestinationNetworkInterfaceIPConfiguration.InterfaceIPConfigurationPropertiesFormat.PublicIPAddress", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "tapConfigurationParameters.InterfaceTapConfigurationPropertiesFormat.VirtualNetworkTap.VirtualNetworkTapPropertiesFormat.DestinationNetworkInterfaceIPConfiguration.InterfaceIPConfigurationPropertiesFormat.PublicIPAddress.PublicIPAddressPropertiesFormat", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "tapConfigurationParameters.InterfaceTapConfigurationPropertiesFormat.VirtualNetworkTap.VirtualNetworkTapPropertiesFormat.DestinationNetworkInterfaceIPConfiguration.InterfaceIPConfigurationPropertiesFormat.PublicIPAddress.PublicIPAddressPropertiesFormat.IPConfiguration", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "tapConfigurationParameters.InterfaceTapConfigurationPropertiesFormat.VirtualNetworkTap.VirtualNetworkTapPropertiesFormat.DestinationNetworkInterfaceIPConfiguration.InterfaceIPConfigurationPropertiesFormat.PublicIPAddress.PublicIPAddressPropertiesFormat.IPConfiguration.IPConfigurationPropertiesFormat", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "tapConfigurationParameters.InterfaceTapConfigurationPropertiesFormat.VirtualNetworkTap.VirtualNetworkTapPropertiesFormat.DestinationNetworkInterfaceIPConfiguration.InterfaceIPConfigurationPropertiesFormat.PublicIPAddress.PublicIPAddressPropertiesFormat.IPConfiguration.IPConfigurationPropertiesFormat.PublicIPAddress", Name: validation.Null, Rule: false, Chain: nil}}}, + }}, + }}, + }}, + }}, + }}, + {Target: "tapConfigurationParameters.InterfaceTapConfigurationPropertiesFormat.VirtualNetworkTap.VirtualNetworkTapPropertiesFormat.DestinationLoadBalancerFrontEndIPConfiguration", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "tapConfigurationParameters.InterfaceTapConfigurationPropertiesFormat.VirtualNetworkTap.VirtualNetworkTapPropertiesFormat.DestinationLoadBalancerFrontEndIPConfiguration.FrontendIPConfigurationPropertiesFormat", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "tapConfigurationParameters.InterfaceTapConfigurationPropertiesFormat.VirtualNetworkTap.VirtualNetworkTapPropertiesFormat.DestinationLoadBalancerFrontEndIPConfiguration.FrontendIPConfigurationPropertiesFormat.PublicIPAddress", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "tapConfigurationParameters.InterfaceTapConfigurationPropertiesFormat.VirtualNetworkTap.VirtualNetworkTapPropertiesFormat.DestinationLoadBalancerFrontEndIPConfiguration.FrontendIPConfigurationPropertiesFormat.PublicIPAddress.PublicIPAddressPropertiesFormat", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "tapConfigurationParameters.InterfaceTapConfigurationPropertiesFormat.VirtualNetworkTap.VirtualNetworkTapPropertiesFormat.DestinationLoadBalancerFrontEndIPConfiguration.FrontendIPConfigurationPropertiesFormat.PublicIPAddress.PublicIPAddressPropertiesFormat.IPConfiguration", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "tapConfigurationParameters.InterfaceTapConfigurationPropertiesFormat.VirtualNetworkTap.VirtualNetworkTapPropertiesFormat.DestinationLoadBalancerFrontEndIPConfiguration.FrontendIPConfigurationPropertiesFormat.PublicIPAddress.PublicIPAddressPropertiesFormat.IPConfiguration.IPConfigurationPropertiesFormat", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "tapConfigurationParameters.InterfaceTapConfigurationPropertiesFormat.VirtualNetworkTap.VirtualNetworkTapPropertiesFormat.DestinationLoadBalancerFrontEndIPConfiguration.FrontendIPConfigurationPropertiesFormat.PublicIPAddress.PublicIPAddressPropertiesFormat.IPConfiguration.IPConfigurationPropertiesFormat.PublicIPAddress", Name: validation.Null, Rule: false, Chain: nil}}}, + }}, + }}, + }}, + }}, + }}, + }}, + }}, + }}}}}); err != nil { + return result, validation.NewError("network.InterfaceTapConfigurationsClient", "CreateOrUpdate", err.Error()) + } + + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, networkInterfaceName, tapConfigurationName, tapConfigurationParameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfaceTapConfigurationsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfaceTapConfigurationsClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client InterfaceTapConfigurationsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, networkInterfaceName string, tapConfigurationName string, tapConfigurationParameters InterfaceTapConfiguration) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkInterfaceName": autorest.Encode("path", networkInterfaceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "tapConfigurationName": autorest.Encode("path", tapConfigurationName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + tapConfigurationParameters.Type = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/tapConfigurations/{tapConfigurationName}", pathParameters), + autorest.WithJSON(tapConfigurationParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client InterfaceTapConfigurationsClient) CreateOrUpdateSender(req *http.Request) (future InterfaceTapConfigurationsCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client InterfaceTapConfigurationsClient) CreateOrUpdateResponder(resp *http.Response) (result InterfaceTapConfiguration, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the specified tap configuration from the NetworkInterface. +// Parameters: +// resourceGroupName - the name of the resource group. +// networkInterfaceName - the name of the network interface. +// tapConfigurationName - the name of the tap configuration. +func (client InterfaceTapConfigurationsClient) Delete(ctx context.Context, resourceGroupName string, networkInterfaceName string, tapConfigurationName string) (result InterfaceTapConfigurationsDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/InterfaceTapConfigurationsClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, networkInterfaceName, tapConfigurationName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfaceTapConfigurationsClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfaceTapConfigurationsClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client InterfaceTapConfigurationsClient) DeletePreparer(ctx context.Context, resourceGroupName string, networkInterfaceName string, tapConfigurationName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkInterfaceName": autorest.Encode("path", networkInterfaceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "tapConfigurationName": autorest.Encode("path", tapConfigurationName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/tapConfigurations/{tapConfigurationName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client InterfaceTapConfigurationsClient) DeleteSender(req *http.Request) (future InterfaceTapConfigurationsDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client InterfaceTapConfigurationsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get get the specified tap configuration on a network interface. +// Parameters: +// resourceGroupName - the name of the resource group. +// networkInterfaceName - the name of the network interface. +// tapConfigurationName - the name of the tap configuration. +func (client InterfaceTapConfigurationsClient) Get(ctx context.Context, resourceGroupName string, networkInterfaceName string, tapConfigurationName string) (result InterfaceTapConfiguration, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/InterfaceTapConfigurationsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, networkInterfaceName, tapConfigurationName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfaceTapConfigurationsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.InterfaceTapConfigurationsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfaceTapConfigurationsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client InterfaceTapConfigurationsClient) GetPreparer(ctx context.Context, resourceGroupName string, networkInterfaceName string, tapConfigurationName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkInterfaceName": autorest.Encode("path", networkInterfaceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "tapConfigurationName": autorest.Encode("path", tapConfigurationName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/tapConfigurations/{tapConfigurationName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client InterfaceTapConfigurationsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client InterfaceTapConfigurationsClient) GetResponder(resp *http.Response) (result InterfaceTapConfiguration, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List get all Tap configurations in a network interface. +// Parameters: +// resourceGroupName - the name of the resource group. +// networkInterfaceName - the name of the network interface. +func (client InterfaceTapConfigurationsClient) List(ctx context.Context, resourceGroupName string, networkInterfaceName string) (result InterfaceTapConfigurationListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/InterfaceTapConfigurationsClient.List") + defer func() { + sc := -1 + if result.itclr.Response.Response != nil { + sc = result.itclr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName, networkInterfaceName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfaceTapConfigurationsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.itclr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.InterfaceTapConfigurationsClient", "List", resp, "Failure sending request") + return + } + + result.itclr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfaceTapConfigurationsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client InterfaceTapConfigurationsClient) ListPreparer(ctx context.Context, resourceGroupName string, networkInterfaceName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkInterfaceName": autorest.Encode("path", networkInterfaceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/tapConfigurations", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client InterfaceTapConfigurationsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client InterfaceTapConfigurationsClient) ListResponder(resp *http.Response) (result InterfaceTapConfigurationListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client InterfaceTapConfigurationsClient) listNextResults(ctx context.Context, lastResults InterfaceTapConfigurationListResult) (result InterfaceTapConfigurationListResult, err error) { + req, err := lastResults.interfaceTapConfigurationListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.InterfaceTapConfigurationsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.InterfaceTapConfigurationsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfaceTapConfigurationsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client InterfaceTapConfigurationsClient) ListComplete(ctx context.Context, resourceGroupName string, networkInterfaceName string) (result InterfaceTapConfigurationListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/InterfaceTapConfigurationsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName, networkInterfaceName) + return +} diff --git a/services/network/mgmt/2019-07-01/network/loadbalancerbackendaddresspools.go b/services/network/mgmt/2019-07-01/network/loadbalancerbackendaddresspools.go new file mode 100644 index 000000000000..3933ca803600 --- /dev/null +++ b/services/network/mgmt/2019-07-01/network/loadbalancerbackendaddresspools.go @@ -0,0 +1,236 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// LoadBalancerBackendAddressPoolsClient is the network Client +type LoadBalancerBackendAddressPoolsClient struct { + BaseClient +} + +// NewLoadBalancerBackendAddressPoolsClient creates an instance of the LoadBalancerBackendAddressPoolsClient client. +func NewLoadBalancerBackendAddressPoolsClient(subscriptionID string) LoadBalancerBackendAddressPoolsClient { + return NewLoadBalancerBackendAddressPoolsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewLoadBalancerBackendAddressPoolsClientWithBaseURI creates an instance of the LoadBalancerBackendAddressPoolsClient +// client. +func NewLoadBalancerBackendAddressPoolsClientWithBaseURI(baseURI string, subscriptionID string) LoadBalancerBackendAddressPoolsClient { + return LoadBalancerBackendAddressPoolsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// Get gets load balancer backend address pool. +// Parameters: +// resourceGroupName - the name of the resource group. +// loadBalancerName - the name of the load balancer. +// backendAddressPoolName - the name of the backend address pool. +func (client LoadBalancerBackendAddressPoolsClient) Get(ctx context.Context, resourceGroupName string, loadBalancerName string, backendAddressPoolName string) (result BackendAddressPool, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LoadBalancerBackendAddressPoolsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, loadBalancerName, backendAddressPoolName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancerBackendAddressPoolsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.LoadBalancerBackendAddressPoolsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancerBackendAddressPoolsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client LoadBalancerBackendAddressPoolsClient) GetPreparer(ctx context.Context, resourceGroupName string, loadBalancerName string, backendAddressPoolName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "backendAddressPoolName": autorest.Encode("path", backendAddressPoolName), + "loadBalancerName": autorest.Encode("path", loadBalancerName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/backendAddressPools/{backendAddressPoolName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client LoadBalancerBackendAddressPoolsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client LoadBalancerBackendAddressPoolsClient) GetResponder(resp *http.Response) (result BackendAddressPool, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets all the load balancer backed address pools. +// Parameters: +// resourceGroupName - the name of the resource group. +// loadBalancerName - the name of the load balancer. +func (client LoadBalancerBackendAddressPoolsClient) List(ctx context.Context, resourceGroupName string, loadBalancerName string) (result LoadBalancerBackendAddressPoolListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LoadBalancerBackendAddressPoolsClient.List") + defer func() { + sc := -1 + if result.lbbaplr.Response.Response != nil { + sc = result.lbbaplr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName, loadBalancerName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancerBackendAddressPoolsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.lbbaplr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.LoadBalancerBackendAddressPoolsClient", "List", resp, "Failure sending request") + return + } + + result.lbbaplr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancerBackendAddressPoolsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client LoadBalancerBackendAddressPoolsClient) ListPreparer(ctx context.Context, resourceGroupName string, loadBalancerName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "loadBalancerName": autorest.Encode("path", loadBalancerName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/backendAddressPools", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client LoadBalancerBackendAddressPoolsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client LoadBalancerBackendAddressPoolsClient) ListResponder(resp *http.Response) (result LoadBalancerBackendAddressPoolListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client LoadBalancerBackendAddressPoolsClient) listNextResults(ctx context.Context, lastResults LoadBalancerBackendAddressPoolListResult) (result LoadBalancerBackendAddressPoolListResult, err error) { + req, err := lastResults.loadBalancerBackendAddressPoolListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.LoadBalancerBackendAddressPoolsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.LoadBalancerBackendAddressPoolsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancerBackendAddressPoolsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client LoadBalancerBackendAddressPoolsClient) ListComplete(ctx context.Context, resourceGroupName string, loadBalancerName string) (result LoadBalancerBackendAddressPoolListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LoadBalancerBackendAddressPoolsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName, loadBalancerName) + return +} diff --git a/services/network/mgmt/2019-07-01/network/loadbalancerfrontendipconfigurations.go b/services/network/mgmt/2019-07-01/network/loadbalancerfrontendipconfigurations.go new file mode 100644 index 000000000000..f3fe42a2b741 --- /dev/null +++ b/services/network/mgmt/2019-07-01/network/loadbalancerfrontendipconfigurations.go @@ -0,0 +1,237 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// LoadBalancerFrontendIPConfigurationsClient is the network Client +type LoadBalancerFrontendIPConfigurationsClient struct { + BaseClient +} + +// NewLoadBalancerFrontendIPConfigurationsClient creates an instance of the LoadBalancerFrontendIPConfigurationsClient +// client. +func NewLoadBalancerFrontendIPConfigurationsClient(subscriptionID string) LoadBalancerFrontendIPConfigurationsClient { + return NewLoadBalancerFrontendIPConfigurationsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewLoadBalancerFrontendIPConfigurationsClientWithBaseURI creates an instance of the +// LoadBalancerFrontendIPConfigurationsClient client. +func NewLoadBalancerFrontendIPConfigurationsClientWithBaseURI(baseURI string, subscriptionID string) LoadBalancerFrontendIPConfigurationsClient { + return LoadBalancerFrontendIPConfigurationsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// Get gets load balancer frontend IP configuration. +// Parameters: +// resourceGroupName - the name of the resource group. +// loadBalancerName - the name of the load balancer. +// frontendIPConfigurationName - the name of the frontend IP configuration. +func (client LoadBalancerFrontendIPConfigurationsClient) Get(ctx context.Context, resourceGroupName string, loadBalancerName string, frontendIPConfigurationName string) (result FrontendIPConfiguration, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LoadBalancerFrontendIPConfigurationsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, loadBalancerName, frontendIPConfigurationName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancerFrontendIPConfigurationsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.LoadBalancerFrontendIPConfigurationsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancerFrontendIPConfigurationsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client LoadBalancerFrontendIPConfigurationsClient) GetPreparer(ctx context.Context, resourceGroupName string, loadBalancerName string, frontendIPConfigurationName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "frontendIPConfigurationName": autorest.Encode("path", frontendIPConfigurationName), + "loadBalancerName": autorest.Encode("path", loadBalancerName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/frontendIPConfigurations/{frontendIPConfigurationName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client LoadBalancerFrontendIPConfigurationsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client LoadBalancerFrontendIPConfigurationsClient) GetResponder(resp *http.Response) (result FrontendIPConfiguration, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets all the load balancer frontend IP configurations. +// Parameters: +// resourceGroupName - the name of the resource group. +// loadBalancerName - the name of the load balancer. +func (client LoadBalancerFrontendIPConfigurationsClient) List(ctx context.Context, resourceGroupName string, loadBalancerName string) (result LoadBalancerFrontendIPConfigurationListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LoadBalancerFrontendIPConfigurationsClient.List") + defer func() { + sc := -1 + if result.lbficlr.Response.Response != nil { + sc = result.lbficlr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName, loadBalancerName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancerFrontendIPConfigurationsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.lbficlr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.LoadBalancerFrontendIPConfigurationsClient", "List", resp, "Failure sending request") + return + } + + result.lbficlr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancerFrontendIPConfigurationsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client LoadBalancerFrontendIPConfigurationsClient) ListPreparer(ctx context.Context, resourceGroupName string, loadBalancerName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "loadBalancerName": autorest.Encode("path", loadBalancerName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/frontendIPConfigurations", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client LoadBalancerFrontendIPConfigurationsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client LoadBalancerFrontendIPConfigurationsClient) ListResponder(resp *http.Response) (result LoadBalancerFrontendIPConfigurationListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client LoadBalancerFrontendIPConfigurationsClient) listNextResults(ctx context.Context, lastResults LoadBalancerFrontendIPConfigurationListResult) (result LoadBalancerFrontendIPConfigurationListResult, err error) { + req, err := lastResults.loadBalancerFrontendIPConfigurationListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.LoadBalancerFrontendIPConfigurationsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.LoadBalancerFrontendIPConfigurationsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancerFrontendIPConfigurationsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client LoadBalancerFrontendIPConfigurationsClient) ListComplete(ctx context.Context, resourceGroupName string, loadBalancerName string) (result LoadBalancerFrontendIPConfigurationListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LoadBalancerFrontendIPConfigurationsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName, loadBalancerName) + return +} diff --git a/services/network/mgmt/2019-07-01/network/loadbalancerloadbalancingrules.go b/services/network/mgmt/2019-07-01/network/loadbalancerloadbalancingrules.go new file mode 100644 index 000000000000..2f1f6ec2c1fb --- /dev/null +++ b/services/network/mgmt/2019-07-01/network/loadbalancerloadbalancingrules.go @@ -0,0 +1,236 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// LoadBalancerLoadBalancingRulesClient is the network Client +type LoadBalancerLoadBalancingRulesClient struct { + BaseClient +} + +// NewLoadBalancerLoadBalancingRulesClient creates an instance of the LoadBalancerLoadBalancingRulesClient client. +func NewLoadBalancerLoadBalancingRulesClient(subscriptionID string) LoadBalancerLoadBalancingRulesClient { + return NewLoadBalancerLoadBalancingRulesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewLoadBalancerLoadBalancingRulesClientWithBaseURI creates an instance of the LoadBalancerLoadBalancingRulesClient +// client. +func NewLoadBalancerLoadBalancingRulesClientWithBaseURI(baseURI string, subscriptionID string) LoadBalancerLoadBalancingRulesClient { + return LoadBalancerLoadBalancingRulesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// Get gets the specified load balancer load balancing rule. +// Parameters: +// resourceGroupName - the name of the resource group. +// loadBalancerName - the name of the load balancer. +// loadBalancingRuleName - the name of the load balancing rule. +func (client LoadBalancerLoadBalancingRulesClient) Get(ctx context.Context, resourceGroupName string, loadBalancerName string, loadBalancingRuleName string) (result LoadBalancingRule, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LoadBalancerLoadBalancingRulesClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, loadBalancerName, loadBalancingRuleName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancerLoadBalancingRulesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.LoadBalancerLoadBalancingRulesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancerLoadBalancingRulesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client LoadBalancerLoadBalancingRulesClient) GetPreparer(ctx context.Context, resourceGroupName string, loadBalancerName string, loadBalancingRuleName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "loadBalancerName": autorest.Encode("path", loadBalancerName), + "loadBalancingRuleName": autorest.Encode("path", loadBalancingRuleName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/loadBalancingRules/{loadBalancingRuleName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client LoadBalancerLoadBalancingRulesClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client LoadBalancerLoadBalancingRulesClient) GetResponder(resp *http.Response) (result LoadBalancingRule, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets all the load balancing rules in a load balancer. +// Parameters: +// resourceGroupName - the name of the resource group. +// loadBalancerName - the name of the load balancer. +func (client LoadBalancerLoadBalancingRulesClient) List(ctx context.Context, resourceGroupName string, loadBalancerName string) (result LoadBalancerLoadBalancingRuleListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LoadBalancerLoadBalancingRulesClient.List") + defer func() { + sc := -1 + if result.lblbrlr.Response.Response != nil { + sc = result.lblbrlr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName, loadBalancerName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancerLoadBalancingRulesClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.lblbrlr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.LoadBalancerLoadBalancingRulesClient", "List", resp, "Failure sending request") + return + } + + result.lblbrlr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancerLoadBalancingRulesClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client LoadBalancerLoadBalancingRulesClient) ListPreparer(ctx context.Context, resourceGroupName string, loadBalancerName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "loadBalancerName": autorest.Encode("path", loadBalancerName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/loadBalancingRules", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client LoadBalancerLoadBalancingRulesClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client LoadBalancerLoadBalancingRulesClient) ListResponder(resp *http.Response) (result LoadBalancerLoadBalancingRuleListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client LoadBalancerLoadBalancingRulesClient) listNextResults(ctx context.Context, lastResults LoadBalancerLoadBalancingRuleListResult) (result LoadBalancerLoadBalancingRuleListResult, err error) { + req, err := lastResults.loadBalancerLoadBalancingRuleListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.LoadBalancerLoadBalancingRulesClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.LoadBalancerLoadBalancingRulesClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancerLoadBalancingRulesClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client LoadBalancerLoadBalancingRulesClient) ListComplete(ctx context.Context, resourceGroupName string, loadBalancerName string) (result LoadBalancerLoadBalancingRuleListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LoadBalancerLoadBalancingRulesClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName, loadBalancerName) + return +} diff --git a/services/network/mgmt/2019-07-01/network/loadbalancernetworkinterfaces.go b/services/network/mgmt/2019-07-01/network/loadbalancernetworkinterfaces.go new file mode 100644 index 000000000000..477f3ba9a1bf --- /dev/null +++ b/services/network/mgmt/2019-07-01/network/loadbalancernetworkinterfaces.go @@ -0,0 +1,157 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// LoadBalancerNetworkInterfacesClient is the network Client +type LoadBalancerNetworkInterfacesClient struct { + BaseClient +} + +// NewLoadBalancerNetworkInterfacesClient creates an instance of the LoadBalancerNetworkInterfacesClient client. +func NewLoadBalancerNetworkInterfacesClient(subscriptionID string) LoadBalancerNetworkInterfacesClient { + return NewLoadBalancerNetworkInterfacesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewLoadBalancerNetworkInterfacesClientWithBaseURI creates an instance of the LoadBalancerNetworkInterfacesClient +// client. +func NewLoadBalancerNetworkInterfacesClientWithBaseURI(baseURI string, subscriptionID string) LoadBalancerNetworkInterfacesClient { + return LoadBalancerNetworkInterfacesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// List gets associated load balancer network interfaces. +// Parameters: +// resourceGroupName - the name of the resource group. +// loadBalancerName - the name of the load balancer. +func (client LoadBalancerNetworkInterfacesClient) List(ctx context.Context, resourceGroupName string, loadBalancerName string) (result InterfaceListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LoadBalancerNetworkInterfacesClient.List") + defer func() { + sc := -1 + if result.ilr.Response.Response != nil { + sc = result.ilr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName, loadBalancerName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancerNetworkInterfacesClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.ilr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.LoadBalancerNetworkInterfacesClient", "List", resp, "Failure sending request") + return + } + + result.ilr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancerNetworkInterfacesClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client LoadBalancerNetworkInterfacesClient) ListPreparer(ctx context.Context, resourceGroupName string, loadBalancerName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "loadBalancerName": autorest.Encode("path", loadBalancerName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/networkInterfaces", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client LoadBalancerNetworkInterfacesClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client LoadBalancerNetworkInterfacesClient) ListResponder(resp *http.Response) (result InterfaceListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client LoadBalancerNetworkInterfacesClient) listNextResults(ctx context.Context, lastResults InterfaceListResult) (result InterfaceListResult, err error) { + req, err := lastResults.interfaceListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.LoadBalancerNetworkInterfacesClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.LoadBalancerNetworkInterfacesClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancerNetworkInterfacesClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client LoadBalancerNetworkInterfacesClient) ListComplete(ctx context.Context, resourceGroupName string, loadBalancerName string) (result InterfaceListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LoadBalancerNetworkInterfacesClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName, loadBalancerName) + return +} diff --git a/services/network/mgmt/2019-07-01/network/loadbalanceroutboundrules.go b/services/network/mgmt/2019-07-01/network/loadbalanceroutboundrules.go new file mode 100644 index 000000000000..82eff1e212e4 --- /dev/null +++ b/services/network/mgmt/2019-07-01/network/loadbalanceroutboundrules.go @@ -0,0 +1,235 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// LoadBalancerOutboundRulesClient is the network Client +type LoadBalancerOutboundRulesClient struct { + BaseClient +} + +// NewLoadBalancerOutboundRulesClient creates an instance of the LoadBalancerOutboundRulesClient client. +func NewLoadBalancerOutboundRulesClient(subscriptionID string) LoadBalancerOutboundRulesClient { + return NewLoadBalancerOutboundRulesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewLoadBalancerOutboundRulesClientWithBaseURI creates an instance of the LoadBalancerOutboundRulesClient client. +func NewLoadBalancerOutboundRulesClientWithBaseURI(baseURI string, subscriptionID string) LoadBalancerOutboundRulesClient { + return LoadBalancerOutboundRulesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// Get gets the specified load balancer outbound rule. +// Parameters: +// resourceGroupName - the name of the resource group. +// loadBalancerName - the name of the load balancer. +// outboundRuleName - the name of the outbound rule. +func (client LoadBalancerOutboundRulesClient) Get(ctx context.Context, resourceGroupName string, loadBalancerName string, outboundRuleName string) (result OutboundRule, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LoadBalancerOutboundRulesClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, loadBalancerName, outboundRuleName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancerOutboundRulesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.LoadBalancerOutboundRulesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancerOutboundRulesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client LoadBalancerOutboundRulesClient) GetPreparer(ctx context.Context, resourceGroupName string, loadBalancerName string, outboundRuleName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "loadBalancerName": autorest.Encode("path", loadBalancerName), + "outboundRuleName": autorest.Encode("path", outboundRuleName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/outboundRules/{outboundRuleName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client LoadBalancerOutboundRulesClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client LoadBalancerOutboundRulesClient) GetResponder(resp *http.Response) (result OutboundRule, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets all the outbound rules in a load balancer. +// Parameters: +// resourceGroupName - the name of the resource group. +// loadBalancerName - the name of the load balancer. +func (client LoadBalancerOutboundRulesClient) List(ctx context.Context, resourceGroupName string, loadBalancerName string) (result LoadBalancerOutboundRuleListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LoadBalancerOutboundRulesClient.List") + defer func() { + sc := -1 + if result.lborlr.Response.Response != nil { + sc = result.lborlr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName, loadBalancerName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancerOutboundRulesClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.lborlr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.LoadBalancerOutboundRulesClient", "List", resp, "Failure sending request") + return + } + + result.lborlr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancerOutboundRulesClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client LoadBalancerOutboundRulesClient) ListPreparer(ctx context.Context, resourceGroupName string, loadBalancerName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "loadBalancerName": autorest.Encode("path", loadBalancerName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/outboundRules", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client LoadBalancerOutboundRulesClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client LoadBalancerOutboundRulesClient) ListResponder(resp *http.Response) (result LoadBalancerOutboundRuleListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client LoadBalancerOutboundRulesClient) listNextResults(ctx context.Context, lastResults LoadBalancerOutboundRuleListResult) (result LoadBalancerOutboundRuleListResult, err error) { + req, err := lastResults.loadBalancerOutboundRuleListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.LoadBalancerOutboundRulesClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.LoadBalancerOutboundRulesClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancerOutboundRulesClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client LoadBalancerOutboundRulesClient) ListComplete(ctx context.Context, resourceGroupName string, loadBalancerName string) (result LoadBalancerOutboundRuleListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LoadBalancerOutboundRulesClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName, loadBalancerName) + return +} diff --git a/services/network/mgmt/2019-07-01/network/loadbalancerprobes.go b/services/network/mgmt/2019-07-01/network/loadbalancerprobes.go new file mode 100644 index 000000000000..46cab6e35822 --- /dev/null +++ b/services/network/mgmt/2019-07-01/network/loadbalancerprobes.go @@ -0,0 +1,235 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// LoadBalancerProbesClient is the network Client +type LoadBalancerProbesClient struct { + BaseClient +} + +// NewLoadBalancerProbesClient creates an instance of the LoadBalancerProbesClient client. +func NewLoadBalancerProbesClient(subscriptionID string) LoadBalancerProbesClient { + return NewLoadBalancerProbesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewLoadBalancerProbesClientWithBaseURI creates an instance of the LoadBalancerProbesClient client. +func NewLoadBalancerProbesClientWithBaseURI(baseURI string, subscriptionID string) LoadBalancerProbesClient { + return LoadBalancerProbesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// Get gets load balancer probe. +// Parameters: +// resourceGroupName - the name of the resource group. +// loadBalancerName - the name of the load balancer. +// probeName - the name of the probe. +func (client LoadBalancerProbesClient) Get(ctx context.Context, resourceGroupName string, loadBalancerName string, probeName string) (result Probe, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LoadBalancerProbesClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, loadBalancerName, probeName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancerProbesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.LoadBalancerProbesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancerProbesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client LoadBalancerProbesClient) GetPreparer(ctx context.Context, resourceGroupName string, loadBalancerName string, probeName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "loadBalancerName": autorest.Encode("path", loadBalancerName), + "probeName": autorest.Encode("path", probeName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes/{probeName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client LoadBalancerProbesClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client LoadBalancerProbesClient) GetResponder(resp *http.Response) (result Probe, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets all the load balancer probes. +// Parameters: +// resourceGroupName - the name of the resource group. +// loadBalancerName - the name of the load balancer. +func (client LoadBalancerProbesClient) List(ctx context.Context, resourceGroupName string, loadBalancerName string) (result LoadBalancerProbeListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LoadBalancerProbesClient.List") + defer func() { + sc := -1 + if result.lbplr.Response.Response != nil { + sc = result.lbplr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName, loadBalancerName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancerProbesClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.lbplr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.LoadBalancerProbesClient", "List", resp, "Failure sending request") + return + } + + result.lbplr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancerProbesClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client LoadBalancerProbesClient) ListPreparer(ctx context.Context, resourceGroupName string, loadBalancerName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "loadBalancerName": autorest.Encode("path", loadBalancerName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client LoadBalancerProbesClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client LoadBalancerProbesClient) ListResponder(resp *http.Response) (result LoadBalancerProbeListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client LoadBalancerProbesClient) listNextResults(ctx context.Context, lastResults LoadBalancerProbeListResult) (result LoadBalancerProbeListResult, err error) { + req, err := lastResults.loadBalancerProbeListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.LoadBalancerProbesClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.LoadBalancerProbesClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancerProbesClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client LoadBalancerProbesClient) ListComplete(ctx context.Context, resourceGroupName string, loadBalancerName string) (result LoadBalancerProbeListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LoadBalancerProbesClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName, loadBalancerName) + return +} diff --git a/services/network/mgmt/2019-07-01/network/loadbalancers.go b/services/network/mgmt/2019-07-01/network/loadbalancers.go new file mode 100644 index 000000000000..dd1934505b96 --- /dev/null +++ b/services/network/mgmt/2019-07-01/network/loadbalancers.go @@ -0,0 +1,581 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// LoadBalancersClient is the network Client +type LoadBalancersClient struct { + BaseClient +} + +// NewLoadBalancersClient creates an instance of the LoadBalancersClient client. +func NewLoadBalancersClient(subscriptionID string) LoadBalancersClient { + return NewLoadBalancersClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewLoadBalancersClientWithBaseURI creates an instance of the LoadBalancersClient client. +func NewLoadBalancersClientWithBaseURI(baseURI string, subscriptionID string) LoadBalancersClient { + return LoadBalancersClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates a load balancer. +// Parameters: +// resourceGroupName - the name of the resource group. +// loadBalancerName - the name of the load balancer. +// parameters - parameters supplied to the create or update load balancer operation. +func (client LoadBalancersClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, loadBalancerName string, parameters LoadBalancer) (result LoadBalancersCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LoadBalancersClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, loadBalancerName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancersClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancersClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client LoadBalancersClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, loadBalancerName string, parameters LoadBalancer) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "loadBalancerName": autorest.Encode("path", loadBalancerName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client LoadBalancersClient) CreateOrUpdateSender(req *http.Request) (future LoadBalancersCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client LoadBalancersClient) CreateOrUpdateResponder(resp *http.Response) (result LoadBalancer, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the specified load balancer. +// Parameters: +// resourceGroupName - the name of the resource group. +// loadBalancerName - the name of the load balancer. +func (client LoadBalancersClient) Delete(ctx context.Context, resourceGroupName string, loadBalancerName string) (result LoadBalancersDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LoadBalancersClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, loadBalancerName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancersClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancersClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client LoadBalancersClient) DeletePreparer(ctx context.Context, resourceGroupName string, loadBalancerName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "loadBalancerName": autorest.Encode("path", loadBalancerName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client LoadBalancersClient) DeleteSender(req *http.Request) (future LoadBalancersDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client LoadBalancersClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets the specified load balancer. +// Parameters: +// resourceGroupName - the name of the resource group. +// loadBalancerName - the name of the load balancer. +// expand - expands referenced resources. +func (client LoadBalancersClient) Get(ctx context.Context, resourceGroupName string, loadBalancerName string, expand string) (result LoadBalancer, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LoadBalancersClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, loadBalancerName, expand) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancersClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.LoadBalancersClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancersClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client LoadBalancersClient) GetPreparer(ctx context.Context, resourceGroupName string, loadBalancerName string, expand string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "loadBalancerName": autorest.Encode("path", loadBalancerName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(expand) > 0 { + queryParameters["$expand"] = autorest.Encode("query", expand) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client LoadBalancersClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client LoadBalancersClient) GetResponder(resp *http.Response) (result LoadBalancer, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets all the load balancers in a resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +func (client LoadBalancersClient) List(ctx context.Context, resourceGroupName string) (result LoadBalancerListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LoadBalancersClient.List") + defer func() { + sc := -1 + if result.lblr.Response.Response != nil { + sc = result.lblr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancersClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.lblr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.LoadBalancersClient", "List", resp, "Failure sending request") + return + } + + result.lblr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancersClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client LoadBalancersClient) ListPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client LoadBalancersClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client LoadBalancersClient) ListResponder(resp *http.Response) (result LoadBalancerListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client LoadBalancersClient) listNextResults(ctx context.Context, lastResults LoadBalancerListResult) (result LoadBalancerListResult, err error) { + req, err := lastResults.loadBalancerListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.LoadBalancersClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.LoadBalancersClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancersClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client LoadBalancersClient) ListComplete(ctx context.Context, resourceGroupName string) (result LoadBalancerListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LoadBalancersClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName) + return +} + +// ListAll gets all the load balancers in a subscription. +func (client LoadBalancersClient) ListAll(ctx context.Context) (result LoadBalancerListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LoadBalancersClient.ListAll") + defer func() { + sc := -1 + if result.lblr.Response.Response != nil { + sc = result.lblr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listAllNextResults + req, err := client.ListAllPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancersClient", "ListAll", nil, "Failure preparing request") + return + } + + resp, err := client.ListAllSender(req) + if err != nil { + result.lblr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.LoadBalancersClient", "ListAll", resp, "Failure sending request") + return + } + + result.lblr, err = client.ListAllResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancersClient", "ListAll", resp, "Failure responding to request") + } + + return +} + +// ListAllPreparer prepares the ListAll request. +func (client LoadBalancersClient) ListAllPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/loadBalancers", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListAllSender sends the ListAll request. The method will close the +// http.Response Body if it receives an error. +func (client LoadBalancersClient) ListAllSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListAllResponder handles the response to the ListAll request. The method always +// closes the http.Response Body. +func (client LoadBalancersClient) ListAllResponder(resp *http.Response) (result LoadBalancerListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listAllNextResults retrieves the next set of results, if any. +func (client LoadBalancersClient) listAllNextResults(ctx context.Context, lastResults LoadBalancerListResult) (result LoadBalancerListResult, err error) { + req, err := lastResults.loadBalancerListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.LoadBalancersClient", "listAllNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListAllSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.LoadBalancersClient", "listAllNextResults", resp, "Failure sending next results request") + } + result, err = client.ListAllResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancersClient", "listAllNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListAllComplete enumerates all values, automatically crossing page boundaries as required. +func (client LoadBalancersClient) ListAllComplete(ctx context.Context) (result LoadBalancerListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LoadBalancersClient.ListAll") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListAll(ctx) + return +} + +// UpdateTags updates a load balancer tags. +// Parameters: +// resourceGroupName - the name of the resource group. +// loadBalancerName - the name of the load balancer. +// parameters - parameters supplied to update load balancer tags. +func (client LoadBalancersClient) UpdateTags(ctx context.Context, resourceGroupName string, loadBalancerName string, parameters TagsObject) (result LoadBalancersUpdateTagsFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LoadBalancersClient.UpdateTags") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdateTagsPreparer(ctx, resourceGroupName, loadBalancerName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancersClient", "UpdateTags", nil, "Failure preparing request") + return + } + + result, err = client.UpdateTagsSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancersClient", "UpdateTags", result.Response(), "Failure sending request") + return + } + + return +} + +// UpdateTagsPreparer prepares the UpdateTags request. +func (client LoadBalancersClient) UpdateTagsPreparer(ctx context.Context, resourceGroupName string, loadBalancerName string, parameters TagsObject) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "loadBalancerName": autorest.Encode("path", loadBalancerName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateTagsSender sends the UpdateTags request. The method will close the +// http.Response Body if it receives an error. +func (client LoadBalancersClient) UpdateTagsSender(req *http.Request) (future LoadBalancersUpdateTagsFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// UpdateTagsResponder handles the response to the UpdateTags request. The method always +// closes the http.Response Body. +func (client LoadBalancersClient) UpdateTagsResponder(resp *http.Response) (result LoadBalancer, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/network/mgmt/2019-07-01/network/localnetworkgateways.go b/services/network/mgmt/2019-07-01/network/localnetworkgateways.go new file mode 100644 index 000000000000..be6bced47194 --- /dev/null +++ b/services/network/mgmt/2019-07-01/network/localnetworkgateways.go @@ -0,0 +1,494 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// LocalNetworkGatewaysClient is the network Client +type LocalNetworkGatewaysClient struct { + BaseClient +} + +// NewLocalNetworkGatewaysClient creates an instance of the LocalNetworkGatewaysClient client. +func NewLocalNetworkGatewaysClient(subscriptionID string) LocalNetworkGatewaysClient { + return NewLocalNetworkGatewaysClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewLocalNetworkGatewaysClientWithBaseURI creates an instance of the LocalNetworkGatewaysClient client. +func NewLocalNetworkGatewaysClientWithBaseURI(baseURI string, subscriptionID string) LocalNetworkGatewaysClient { + return LocalNetworkGatewaysClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates a local network gateway in the specified resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +// localNetworkGatewayName - the name of the local network gateway. +// parameters - parameters supplied to the create or update local network gateway operation. +func (client LocalNetworkGatewaysClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, localNetworkGatewayName string, parameters LocalNetworkGateway) (result LocalNetworkGatewaysCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LocalNetworkGatewaysClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: localNetworkGatewayName, + Constraints: []validation.Constraint{{Target: "localNetworkGatewayName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.LocalNetworkGatewayPropertiesFormat", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + return result, validation.NewError("network.LocalNetworkGatewaysClient", "CreateOrUpdate", err.Error()) + } + + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, localNetworkGatewayName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LocalNetworkGatewaysClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LocalNetworkGatewaysClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client LocalNetworkGatewaysClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, localNetworkGatewayName string, parameters LocalNetworkGateway) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "localNetworkGatewayName": autorest.Encode("path", localNetworkGatewayName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/localNetworkGateways/{localNetworkGatewayName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client LocalNetworkGatewaysClient) CreateOrUpdateSender(req *http.Request) (future LocalNetworkGatewaysCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client LocalNetworkGatewaysClient) CreateOrUpdateResponder(resp *http.Response) (result LocalNetworkGateway, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the specified local network gateway. +// Parameters: +// resourceGroupName - the name of the resource group. +// localNetworkGatewayName - the name of the local network gateway. +func (client LocalNetworkGatewaysClient) Delete(ctx context.Context, resourceGroupName string, localNetworkGatewayName string) (result LocalNetworkGatewaysDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LocalNetworkGatewaysClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: localNetworkGatewayName, + Constraints: []validation.Constraint{{Target: "localNetworkGatewayName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { + return result, validation.NewError("network.LocalNetworkGatewaysClient", "Delete", err.Error()) + } + + req, err := client.DeletePreparer(ctx, resourceGroupName, localNetworkGatewayName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LocalNetworkGatewaysClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LocalNetworkGatewaysClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client LocalNetworkGatewaysClient) DeletePreparer(ctx context.Context, resourceGroupName string, localNetworkGatewayName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "localNetworkGatewayName": autorest.Encode("path", localNetworkGatewayName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/localNetworkGateways/{localNetworkGatewayName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client LocalNetworkGatewaysClient) DeleteSender(req *http.Request) (future LocalNetworkGatewaysDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client LocalNetworkGatewaysClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets the specified local network gateway in a resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +// localNetworkGatewayName - the name of the local network gateway. +func (client LocalNetworkGatewaysClient) Get(ctx context.Context, resourceGroupName string, localNetworkGatewayName string) (result LocalNetworkGateway, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LocalNetworkGatewaysClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: localNetworkGatewayName, + Constraints: []validation.Constraint{{Target: "localNetworkGatewayName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { + return result, validation.NewError("network.LocalNetworkGatewaysClient", "Get", err.Error()) + } + + req, err := client.GetPreparer(ctx, resourceGroupName, localNetworkGatewayName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LocalNetworkGatewaysClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.LocalNetworkGatewaysClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LocalNetworkGatewaysClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client LocalNetworkGatewaysClient) GetPreparer(ctx context.Context, resourceGroupName string, localNetworkGatewayName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "localNetworkGatewayName": autorest.Encode("path", localNetworkGatewayName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/localNetworkGateways/{localNetworkGatewayName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client LocalNetworkGatewaysClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client LocalNetworkGatewaysClient) GetResponder(resp *http.Response) (result LocalNetworkGateway, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets all the local network gateways in a resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +func (client LocalNetworkGatewaysClient) List(ctx context.Context, resourceGroupName string) (result LocalNetworkGatewayListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LocalNetworkGatewaysClient.List") + defer func() { + sc := -1 + if result.lnglr.Response.Response != nil { + sc = result.lnglr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LocalNetworkGatewaysClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.lnglr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.LocalNetworkGatewaysClient", "List", resp, "Failure sending request") + return + } + + result.lnglr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LocalNetworkGatewaysClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client LocalNetworkGatewaysClient) ListPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/localNetworkGateways", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client LocalNetworkGatewaysClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client LocalNetworkGatewaysClient) ListResponder(resp *http.Response) (result LocalNetworkGatewayListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client LocalNetworkGatewaysClient) listNextResults(ctx context.Context, lastResults LocalNetworkGatewayListResult) (result LocalNetworkGatewayListResult, err error) { + req, err := lastResults.localNetworkGatewayListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.LocalNetworkGatewaysClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.LocalNetworkGatewaysClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LocalNetworkGatewaysClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client LocalNetworkGatewaysClient) ListComplete(ctx context.Context, resourceGroupName string) (result LocalNetworkGatewayListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LocalNetworkGatewaysClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName) + return +} + +// UpdateTags updates a local network gateway tags. +// Parameters: +// resourceGroupName - the name of the resource group. +// localNetworkGatewayName - the name of the local network gateway. +// parameters - parameters supplied to update local network gateway tags. +func (client LocalNetworkGatewaysClient) UpdateTags(ctx context.Context, resourceGroupName string, localNetworkGatewayName string, parameters TagsObject) (result LocalNetworkGatewaysUpdateTagsFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LocalNetworkGatewaysClient.UpdateTags") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: localNetworkGatewayName, + Constraints: []validation.Constraint{{Target: "localNetworkGatewayName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { + return result, validation.NewError("network.LocalNetworkGatewaysClient", "UpdateTags", err.Error()) + } + + req, err := client.UpdateTagsPreparer(ctx, resourceGroupName, localNetworkGatewayName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LocalNetworkGatewaysClient", "UpdateTags", nil, "Failure preparing request") + return + } + + result, err = client.UpdateTagsSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LocalNetworkGatewaysClient", "UpdateTags", result.Response(), "Failure sending request") + return + } + + return +} + +// UpdateTagsPreparer prepares the UpdateTags request. +func (client LocalNetworkGatewaysClient) UpdateTagsPreparer(ctx context.Context, resourceGroupName string, localNetworkGatewayName string, parameters TagsObject) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "localNetworkGatewayName": autorest.Encode("path", localNetworkGatewayName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/localNetworkGateways/{localNetworkGatewayName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateTagsSender sends the UpdateTags request. The method will close the +// http.Response Body if it receives an error. +func (client LocalNetworkGatewaysClient) UpdateTagsSender(req *http.Request) (future LocalNetworkGatewaysUpdateTagsFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// UpdateTagsResponder handles the response to the UpdateTags request. The method always +// closes the http.Response Body. +func (client LocalNetworkGatewaysClient) UpdateTagsResponder(resp *http.Response) (result LocalNetworkGateway, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/network/mgmt/2019-07-01/network/models.go b/services/network/mgmt/2019-07-01/network/models.go new file mode 100644 index 000000000000..c0bc4ef5968b --- /dev/null +++ b/services/network/mgmt/2019-07-01/network/models.go @@ -0,0 +1,34682 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "encoding/json" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/date" + "github.com/Azure/go-autorest/autorest/to" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// The package's fully qualified name. +const fqdn = "github.com/Azure/azure-sdk-for-go/services/network/mgmt/2019-07-01/network" + +// Access enumerates the values for access. +type Access string + +const ( + // Allow ... + Allow Access = "Allow" + // Deny ... + Deny Access = "Deny" +) + +// PossibleAccessValues returns an array of possible values for the Access const type. +func PossibleAccessValues() []Access { + return []Access{Allow, Deny} +} + +// ApplicationGatewayBackendHealthServerHealth enumerates the values for application gateway backend health +// server health. +type ApplicationGatewayBackendHealthServerHealth string + +const ( + // Down ... + Down ApplicationGatewayBackendHealthServerHealth = "Down" + // Draining ... + Draining ApplicationGatewayBackendHealthServerHealth = "Draining" + // Partial ... + Partial ApplicationGatewayBackendHealthServerHealth = "Partial" + // Unknown ... + Unknown ApplicationGatewayBackendHealthServerHealth = "Unknown" + // Up ... + Up ApplicationGatewayBackendHealthServerHealth = "Up" +) + +// PossibleApplicationGatewayBackendHealthServerHealthValues returns an array of possible values for the ApplicationGatewayBackendHealthServerHealth const type. +func PossibleApplicationGatewayBackendHealthServerHealthValues() []ApplicationGatewayBackendHealthServerHealth { + return []ApplicationGatewayBackendHealthServerHealth{Down, Draining, Partial, Unknown, Up} +} + +// ApplicationGatewayCookieBasedAffinity enumerates the values for application gateway cookie based affinity. +type ApplicationGatewayCookieBasedAffinity string + +const ( + // Disabled ... + Disabled ApplicationGatewayCookieBasedAffinity = "Disabled" + // Enabled ... + Enabled ApplicationGatewayCookieBasedAffinity = "Enabled" +) + +// PossibleApplicationGatewayCookieBasedAffinityValues returns an array of possible values for the ApplicationGatewayCookieBasedAffinity const type. +func PossibleApplicationGatewayCookieBasedAffinityValues() []ApplicationGatewayCookieBasedAffinity { + return []ApplicationGatewayCookieBasedAffinity{Disabled, Enabled} +} + +// ApplicationGatewayCustomErrorStatusCode enumerates the values for application gateway custom error status +// code. +type ApplicationGatewayCustomErrorStatusCode string + +const ( + // HTTPStatus403 ... + HTTPStatus403 ApplicationGatewayCustomErrorStatusCode = "HttpStatus403" + // HTTPStatus502 ... + HTTPStatus502 ApplicationGatewayCustomErrorStatusCode = "HttpStatus502" +) + +// PossibleApplicationGatewayCustomErrorStatusCodeValues returns an array of possible values for the ApplicationGatewayCustomErrorStatusCode const type. +func PossibleApplicationGatewayCustomErrorStatusCodeValues() []ApplicationGatewayCustomErrorStatusCode { + return []ApplicationGatewayCustomErrorStatusCode{HTTPStatus403, HTTPStatus502} +} + +// ApplicationGatewayFirewallMode enumerates the values for application gateway firewall mode. +type ApplicationGatewayFirewallMode string + +const ( + // Detection ... + Detection ApplicationGatewayFirewallMode = "Detection" + // Prevention ... + Prevention ApplicationGatewayFirewallMode = "Prevention" +) + +// PossibleApplicationGatewayFirewallModeValues returns an array of possible values for the ApplicationGatewayFirewallMode const type. +func PossibleApplicationGatewayFirewallModeValues() []ApplicationGatewayFirewallMode { + return []ApplicationGatewayFirewallMode{Detection, Prevention} +} + +// ApplicationGatewayOperationalState enumerates the values for application gateway operational state. +type ApplicationGatewayOperationalState string + +const ( + // Running ... + Running ApplicationGatewayOperationalState = "Running" + // Starting ... + Starting ApplicationGatewayOperationalState = "Starting" + // Stopped ... + Stopped ApplicationGatewayOperationalState = "Stopped" + // Stopping ... + Stopping ApplicationGatewayOperationalState = "Stopping" +) + +// PossibleApplicationGatewayOperationalStateValues returns an array of possible values for the ApplicationGatewayOperationalState const type. +func PossibleApplicationGatewayOperationalStateValues() []ApplicationGatewayOperationalState { + return []ApplicationGatewayOperationalState{Running, Starting, Stopped, Stopping} +} + +// ApplicationGatewayProtocol enumerates the values for application gateway protocol. +type ApplicationGatewayProtocol string + +const ( + // HTTP ... + HTTP ApplicationGatewayProtocol = "Http" + // HTTPS ... + HTTPS ApplicationGatewayProtocol = "Https" +) + +// PossibleApplicationGatewayProtocolValues returns an array of possible values for the ApplicationGatewayProtocol const type. +func PossibleApplicationGatewayProtocolValues() []ApplicationGatewayProtocol { + return []ApplicationGatewayProtocol{HTTP, HTTPS} +} + +// ApplicationGatewayRedirectType enumerates the values for application gateway redirect type. +type ApplicationGatewayRedirectType string + +const ( + // Found ... + Found ApplicationGatewayRedirectType = "Found" + // Permanent ... + Permanent ApplicationGatewayRedirectType = "Permanent" + // SeeOther ... + SeeOther ApplicationGatewayRedirectType = "SeeOther" + // Temporary ... + Temporary ApplicationGatewayRedirectType = "Temporary" +) + +// PossibleApplicationGatewayRedirectTypeValues returns an array of possible values for the ApplicationGatewayRedirectType const type. +func PossibleApplicationGatewayRedirectTypeValues() []ApplicationGatewayRedirectType { + return []ApplicationGatewayRedirectType{Found, Permanent, SeeOther, Temporary} +} + +// ApplicationGatewayRequestRoutingRuleType enumerates the values for application gateway request routing rule +// type. +type ApplicationGatewayRequestRoutingRuleType string + +const ( + // Basic ... + Basic ApplicationGatewayRequestRoutingRuleType = "Basic" + // PathBasedRouting ... + PathBasedRouting ApplicationGatewayRequestRoutingRuleType = "PathBasedRouting" +) + +// PossibleApplicationGatewayRequestRoutingRuleTypeValues returns an array of possible values for the ApplicationGatewayRequestRoutingRuleType const type. +func PossibleApplicationGatewayRequestRoutingRuleTypeValues() []ApplicationGatewayRequestRoutingRuleType { + return []ApplicationGatewayRequestRoutingRuleType{Basic, PathBasedRouting} +} + +// ApplicationGatewaySkuName enumerates the values for application gateway sku name. +type ApplicationGatewaySkuName string + +const ( + // StandardLarge ... + StandardLarge ApplicationGatewaySkuName = "Standard_Large" + // StandardMedium ... + StandardMedium ApplicationGatewaySkuName = "Standard_Medium" + // StandardSmall ... + StandardSmall ApplicationGatewaySkuName = "Standard_Small" + // StandardV2 ... + StandardV2 ApplicationGatewaySkuName = "Standard_v2" + // WAFLarge ... + WAFLarge ApplicationGatewaySkuName = "WAF_Large" + // WAFMedium ... + WAFMedium ApplicationGatewaySkuName = "WAF_Medium" + // WAFV2 ... + WAFV2 ApplicationGatewaySkuName = "WAF_v2" +) + +// PossibleApplicationGatewaySkuNameValues returns an array of possible values for the ApplicationGatewaySkuName const type. +func PossibleApplicationGatewaySkuNameValues() []ApplicationGatewaySkuName { + return []ApplicationGatewaySkuName{StandardLarge, StandardMedium, StandardSmall, StandardV2, WAFLarge, WAFMedium, WAFV2} +} + +// ApplicationGatewaySslCipherSuite enumerates the values for application gateway ssl cipher suite. +type ApplicationGatewaySslCipherSuite string + +const ( + // TLSDHEDSSWITH3DESEDECBCSHA ... + TLSDHEDSSWITH3DESEDECBCSHA ApplicationGatewaySslCipherSuite = "TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA" + // TLSDHEDSSWITHAES128CBCSHA ... + TLSDHEDSSWITHAES128CBCSHA ApplicationGatewaySslCipherSuite = "TLS_DHE_DSS_WITH_AES_128_CBC_SHA" + // TLSDHEDSSWITHAES128CBCSHA256 ... + TLSDHEDSSWITHAES128CBCSHA256 ApplicationGatewaySslCipherSuite = "TLS_DHE_DSS_WITH_AES_128_CBC_SHA256" + // TLSDHEDSSWITHAES256CBCSHA ... + TLSDHEDSSWITHAES256CBCSHA ApplicationGatewaySslCipherSuite = "TLS_DHE_DSS_WITH_AES_256_CBC_SHA" + // TLSDHEDSSWITHAES256CBCSHA256 ... + TLSDHEDSSWITHAES256CBCSHA256 ApplicationGatewaySslCipherSuite = "TLS_DHE_DSS_WITH_AES_256_CBC_SHA256" + // TLSDHERSAWITHAES128CBCSHA ... + TLSDHERSAWITHAES128CBCSHA ApplicationGatewaySslCipherSuite = "TLS_DHE_RSA_WITH_AES_128_CBC_SHA" + // TLSDHERSAWITHAES128GCMSHA256 ... + TLSDHERSAWITHAES128GCMSHA256 ApplicationGatewaySslCipherSuite = "TLS_DHE_RSA_WITH_AES_128_GCM_SHA256" + // TLSDHERSAWITHAES256CBCSHA ... + TLSDHERSAWITHAES256CBCSHA ApplicationGatewaySslCipherSuite = "TLS_DHE_RSA_WITH_AES_256_CBC_SHA" + // TLSDHERSAWITHAES256GCMSHA384 ... + TLSDHERSAWITHAES256GCMSHA384 ApplicationGatewaySslCipherSuite = "TLS_DHE_RSA_WITH_AES_256_GCM_SHA384" + // TLSECDHEECDSAWITHAES128CBCSHA ... + TLSECDHEECDSAWITHAES128CBCSHA ApplicationGatewaySslCipherSuite = "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA" + // TLSECDHEECDSAWITHAES128CBCSHA256 ... + TLSECDHEECDSAWITHAES128CBCSHA256 ApplicationGatewaySslCipherSuite = "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256" + // TLSECDHEECDSAWITHAES128GCMSHA256 ... + TLSECDHEECDSAWITHAES128GCMSHA256 ApplicationGatewaySslCipherSuite = "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256" + // TLSECDHEECDSAWITHAES256CBCSHA ... + TLSECDHEECDSAWITHAES256CBCSHA ApplicationGatewaySslCipherSuite = "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA" + // TLSECDHEECDSAWITHAES256CBCSHA384 ... + TLSECDHEECDSAWITHAES256CBCSHA384 ApplicationGatewaySslCipherSuite = "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384" + // TLSECDHEECDSAWITHAES256GCMSHA384 ... + TLSECDHEECDSAWITHAES256GCMSHA384 ApplicationGatewaySslCipherSuite = "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384" + // TLSECDHERSAWITHAES128CBCSHA ... + TLSECDHERSAWITHAES128CBCSHA ApplicationGatewaySslCipherSuite = "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA" + // TLSECDHERSAWITHAES128CBCSHA256 ... + TLSECDHERSAWITHAES128CBCSHA256 ApplicationGatewaySslCipherSuite = "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256" + // TLSECDHERSAWITHAES128GCMSHA256 ... + TLSECDHERSAWITHAES128GCMSHA256 ApplicationGatewaySslCipherSuite = "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256" + // TLSECDHERSAWITHAES256CBCSHA ... + TLSECDHERSAWITHAES256CBCSHA ApplicationGatewaySslCipherSuite = "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA" + // TLSECDHERSAWITHAES256CBCSHA384 ... + TLSECDHERSAWITHAES256CBCSHA384 ApplicationGatewaySslCipherSuite = "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384" + // TLSECDHERSAWITHAES256GCMSHA384 ... + TLSECDHERSAWITHAES256GCMSHA384 ApplicationGatewaySslCipherSuite = "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384" + // TLSRSAWITH3DESEDECBCSHA ... + TLSRSAWITH3DESEDECBCSHA ApplicationGatewaySslCipherSuite = "TLS_RSA_WITH_3DES_EDE_CBC_SHA" + // TLSRSAWITHAES128CBCSHA ... + TLSRSAWITHAES128CBCSHA ApplicationGatewaySslCipherSuite = "TLS_RSA_WITH_AES_128_CBC_SHA" + // TLSRSAWITHAES128CBCSHA256 ... + TLSRSAWITHAES128CBCSHA256 ApplicationGatewaySslCipherSuite = "TLS_RSA_WITH_AES_128_CBC_SHA256" + // TLSRSAWITHAES128GCMSHA256 ... + TLSRSAWITHAES128GCMSHA256 ApplicationGatewaySslCipherSuite = "TLS_RSA_WITH_AES_128_GCM_SHA256" + // TLSRSAWITHAES256CBCSHA ... + TLSRSAWITHAES256CBCSHA ApplicationGatewaySslCipherSuite = "TLS_RSA_WITH_AES_256_CBC_SHA" + // TLSRSAWITHAES256CBCSHA256 ... + TLSRSAWITHAES256CBCSHA256 ApplicationGatewaySslCipherSuite = "TLS_RSA_WITH_AES_256_CBC_SHA256" + // TLSRSAWITHAES256GCMSHA384 ... + TLSRSAWITHAES256GCMSHA384 ApplicationGatewaySslCipherSuite = "TLS_RSA_WITH_AES_256_GCM_SHA384" +) + +// PossibleApplicationGatewaySslCipherSuiteValues returns an array of possible values for the ApplicationGatewaySslCipherSuite const type. +func PossibleApplicationGatewaySslCipherSuiteValues() []ApplicationGatewaySslCipherSuite { + return []ApplicationGatewaySslCipherSuite{TLSDHEDSSWITH3DESEDECBCSHA, TLSDHEDSSWITHAES128CBCSHA, TLSDHEDSSWITHAES128CBCSHA256, TLSDHEDSSWITHAES256CBCSHA, TLSDHEDSSWITHAES256CBCSHA256, TLSDHERSAWITHAES128CBCSHA, TLSDHERSAWITHAES128GCMSHA256, TLSDHERSAWITHAES256CBCSHA, TLSDHERSAWITHAES256GCMSHA384, TLSECDHEECDSAWITHAES128CBCSHA, TLSECDHEECDSAWITHAES128CBCSHA256, TLSECDHEECDSAWITHAES128GCMSHA256, TLSECDHEECDSAWITHAES256CBCSHA, TLSECDHEECDSAWITHAES256CBCSHA384, TLSECDHEECDSAWITHAES256GCMSHA384, TLSECDHERSAWITHAES128CBCSHA, TLSECDHERSAWITHAES128CBCSHA256, TLSECDHERSAWITHAES128GCMSHA256, TLSECDHERSAWITHAES256CBCSHA, TLSECDHERSAWITHAES256CBCSHA384, TLSECDHERSAWITHAES256GCMSHA384, TLSRSAWITH3DESEDECBCSHA, TLSRSAWITHAES128CBCSHA, TLSRSAWITHAES128CBCSHA256, TLSRSAWITHAES128GCMSHA256, TLSRSAWITHAES256CBCSHA, TLSRSAWITHAES256CBCSHA256, TLSRSAWITHAES256GCMSHA384} +} + +// ApplicationGatewaySslPolicyName enumerates the values for application gateway ssl policy name. +type ApplicationGatewaySslPolicyName string + +const ( + // AppGwSslPolicy20150501 ... + AppGwSslPolicy20150501 ApplicationGatewaySslPolicyName = "AppGwSslPolicy20150501" + // AppGwSslPolicy20170401 ... + AppGwSslPolicy20170401 ApplicationGatewaySslPolicyName = "AppGwSslPolicy20170401" + // AppGwSslPolicy20170401S ... + AppGwSslPolicy20170401S ApplicationGatewaySslPolicyName = "AppGwSslPolicy20170401S" +) + +// PossibleApplicationGatewaySslPolicyNameValues returns an array of possible values for the ApplicationGatewaySslPolicyName const type. +func PossibleApplicationGatewaySslPolicyNameValues() []ApplicationGatewaySslPolicyName { + return []ApplicationGatewaySslPolicyName{AppGwSslPolicy20150501, AppGwSslPolicy20170401, AppGwSslPolicy20170401S} +} + +// ApplicationGatewaySslPolicyType enumerates the values for application gateway ssl policy type. +type ApplicationGatewaySslPolicyType string + +const ( + // Custom ... + Custom ApplicationGatewaySslPolicyType = "Custom" + // Predefined ... + Predefined ApplicationGatewaySslPolicyType = "Predefined" +) + +// PossibleApplicationGatewaySslPolicyTypeValues returns an array of possible values for the ApplicationGatewaySslPolicyType const type. +func PossibleApplicationGatewaySslPolicyTypeValues() []ApplicationGatewaySslPolicyType { + return []ApplicationGatewaySslPolicyType{Custom, Predefined} +} + +// ApplicationGatewaySslProtocol enumerates the values for application gateway ssl protocol. +type ApplicationGatewaySslProtocol string + +const ( + // TLSv10 ... + TLSv10 ApplicationGatewaySslProtocol = "TLSv1_0" + // TLSv11 ... + TLSv11 ApplicationGatewaySslProtocol = "TLSv1_1" + // TLSv12 ... + TLSv12 ApplicationGatewaySslProtocol = "TLSv1_2" +) + +// PossibleApplicationGatewaySslProtocolValues returns an array of possible values for the ApplicationGatewaySslProtocol const type. +func PossibleApplicationGatewaySslProtocolValues() []ApplicationGatewaySslProtocol { + return []ApplicationGatewaySslProtocol{TLSv10, TLSv11, TLSv12} +} + +// ApplicationGatewayTier enumerates the values for application gateway tier. +type ApplicationGatewayTier string + +const ( + // ApplicationGatewayTierStandard ... + ApplicationGatewayTierStandard ApplicationGatewayTier = "Standard" + // ApplicationGatewayTierStandardV2 ... + ApplicationGatewayTierStandardV2 ApplicationGatewayTier = "Standard_v2" + // ApplicationGatewayTierWAF ... + ApplicationGatewayTierWAF ApplicationGatewayTier = "WAF" + // ApplicationGatewayTierWAFV2 ... + ApplicationGatewayTierWAFV2 ApplicationGatewayTier = "WAF_v2" +) + +// PossibleApplicationGatewayTierValues returns an array of possible values for the ApplicationGatewayTier const type. +func PossibleApplicationGatewayTierValues() []ApplicationGatewayTier { + return []ApplicationGatewayTier{ApplicationGatewayTierStandard, ApplicationGatewayTierStandardV2, ApplicationGatewayTierWAF, ApplicationGatewayTierWAFV2} +} + +// AssociationType enumerates the values for association type. +type AssociationType string + +const ( + // Associated ... + Associated AssociationType = "Associated" + // Contains ... + Contains AssociationType = "Contains" +) + +// PossibleAssociationTypeValues returns an array of possible values for the AssociationType const type. +func PossibleAssociationTypeValues() []AssociationType { + return []AssociationType{Associated, Contains} +} + +// AuthenticationMethod enumerates the values for authentication method. +type AuthenticationMethod string + +const ( + // EAPMSCHAPv2 ... + EAPMSCHAPv2 AuthenticationMethod = "EAPMSCHAPv2" + // EAPTLS ... + EAPTLS AuthenticationMethod = "EAPTLS" +) + +// PossibleAuthenticationMethodValues returns an array of possible values for the AuthenticationMethod const type. +func PossibleAuthenticationMethodValues() []AuthenticationMethod { + return []AuthenticationMethod{EAPMSCHAPv2, EAPTLS} +} + +// AuthorizationUseStatus enumerates the values for authorization use status. +type AuthorizationUseStatus string + +const ( + // Available ... + Available AuthorizationUseStatus = "Available" + // InUse ... + InUse AuthorizationUseStatus = "InUse" +) + +// PossibleAuthorizationUseStatusValues returns an array of possible values for the AuthorizationUseStatus const type. +func PossibleAuthorizationUseStatusValues() []AuthorizationUseStatus { + return []AuthorizationUseStatus{Available, InUse} +} + +// AzureFirewallApplicationRuleProtocolType enumerates the values for azure firewall application rule protocol +// type. +type AzureFirewallApplicationRuleProtocolType string + +const ( + // AzureFirewallApplicationRuleProtocolTypeHTTP ... + AzureFirewallApplicationRuleProtocolTypeHTTP AzureFirewallApplicationRuleProtocolType = "Http" + // AzureFirewallApplicationRuleProtocolTypeHTTPS ... + AzureFirewallApplicationRuleProtocolTypeHTTPS AzureFirewallApplicationRuleProtocolType = "Https" + // AzureFirewallApplicationRuleProtocolTypeMssql ... + AzureFirewallApplicationRuleProtocolTypeMssql AzureFirewallApplicationRuleProtocolType = "Mssql" +) + +// PossibleAzureFirewallApplicationRuleProtocolTypeValues returns an array of possible values for the AzureFirewallApplicationRuleProtocolType const type. +func PossibleAzureFirewallApplicationRuleProtocolTypeValues() []AzureFirewallApplicationRuleProtocolType { + return []AzureFirewallApplicationRuleProtocolType{AzureFirewallApplicationRuleProtocolTypeHTTP, AzureFirewallApplicationRuleProtocolTypeHTTPS, AzureFirewallApplicationRuleProtocolTypeMssql} +} + +// AzureFirewallNatRCActionType enumerates the values for azure firewall nat rc action type. +type AzureFirewallNatRCActionType string + +const ( + // Dnat ... + Dnat AzureFirewallNatRCActionType = "Dnat" + // Snat ... + Snat AzureFirewallNatRCActionType = "Snat" +) + +// PossibleAzureFirewallNatRCActionTypeValues returns an array of possible values for the AzureFirewallNatRCActionType const type. +func PossibleAzureFirewallNatRCActionTypeValues() []AzureFirewallNatRCActionType { + return []AzureFirewallNatRCActionType{Dnat, Snat} +} + +// AzureFirewallNetworkRuleProtocol enumerates the values for azure firewall network rule protocol. +type AzureFirewallNetworkRuleProtocol string + +const ( + // Any ... + Any AzureFirewallNetworkRuleProtocol = "Any" + // ICMP ... + ICMP AzureFirewallNetworkRuleProtocol = "ICMP" + // TCP ... + TCP AzureFirewallNetworkRuleProtocol = "TCP" + // UDP ... + UDP AzureFirewallNetworkRuleProtocol = "UDP" +) + +// PossibleAzureFirewallNetworkRuleProtocolValues returns an array of possible values for the AzureFirewallNetworkRuleProtocol const type. +func PossibleAzureFirewallNetworkRuleProtocolValues() []AzureFirewallNetworkRuleProtocol { + return []AzureFirewallNetworkRuleProtocol{Any, ICMP, TCP, UDP} +} + +// AzureFirewallRCActionType enumerates the values for azure firewall rc action type. +type AzureFirewallRCActionType string + +const ( + // AzureFirewallRCActionTypeAllow ... + AzureFirewallRCActionTypeAllow AzureFirewallRCActionType = "Allow" + // AzureFirewallRCActionTypeDeny ... + AzureFirewallRCActionTypeDeny AzureFirewallRCActionType = "Deny" +) + +// PossibleAzureFirewallRCActionTypeValues returns an array of possible values for the AzureFirewallRCActionType const type. +func PossibleAzureFirewallRCActionTypeValues() []AzureFirewallRCActionType { + return []AzureFirewallRCActionType{AzureFirewallRCActionTypeAllow, AzureFirewallRCActionTypeDeny} +} + +// AzureFirewallThreatIntelMode enumerates the values for azure firewall threat intel mode. +type AzureFirewallThreatIntelMode string + +const ( + // AzureFirewallThreatIntelModeAlert ... + AzureFirewallThreatIntelModeAlert AzureFirewallThreatIntelMode = "Alert" + // AzureFirewallThreatIntelModeDeny ... + AzureFirewallThreatIntelModeDeny AzureFirewallThreatIntelMode = "Deny" + // AzureFirewallThreatIntelModeOff ... + AzureFirewallThreatIntelModeOff AzureFirewallThreatIntelMode = "Off" +) + +// PossibleAzureFirewallThreatIntelModeValues returns an array of possible values for the AzureFirewallThreatIntelMode const type. +func PossibleAzureFirewallThreatIntelModeValues() []AzureFirewallThreatIntelMode { + return []AzureFirewallThreatIntelMode{AzureFirewallThreatIntelModeAlert, AzureFirewallThreatIntelModeDeny, AzureFirewallThreatIntelModeOff} +} + +// BgpPeerState enumerates the values for bgp peer state. +type BgpPeerState string + +const ( + // BgpPeerStateConnected ... + BgpPeerStateConnected BgpPeerState = "Connected" + // BgpPeerStateConnecting ... + BgpPeerStateConnecting BgpPeerState = "Connecting" + // BgpPeerStateIdle ... + BgpPeerStateIdle BgpPeerState = "Idle" + // BgpPeerStateStopped ... + BgpPeerStateStopped BgpPeerState = "Stopped" + // BgpPeerStateUnknown ... + BgpPeerStateUnknown BgpPeerState = "Unknown" +) + +// PossibleBgpPeerStateValues returns an array of possible values for the BgpPeerState const type. +func PossibleBgpPeerStateValues() []BgpPeerState { + return []BgpPeerState{BgpPeerStateConnected, BgpPeerStateConnecting, BgpPeerStateIdle, BgpPeerStateStopped, BgpPeerStateUnknown} +} + +// CircuitConnectionStatus enumerates the values for circuit connection status. +type CircuitConnectionStatus string + +const ( + // Connected ... + Connected CircuitConnectionStatus = "Connected" + // Connecting ... + Connecting CircuitConnectionStatus = "Connecting" + // Disconnected ... + Disconnected CircuitConnectionStatus = "Disconnected" +) + +// PossibleCircuitConnectionStatusValues returns an array of possible values for the CircuitConnectionStatus const type. +func PossibleCircuitConnectionStatusValues() []CircuitConnectionStatus { + return []CircuitConnectionStatus{Connected, Connecting, Disconnected} +} + +// ConnectionMonitorSourceStatus enumerates the values for connection monitor source status. +type ConnectionMonitorSourceStatus string + +const ( + // ConnectionMonitorSourceStatusActive ... + ConnectionMonitorSourceStatusActive ConnectionMonitorSourceStatus = "Active" + // ConnectionMonitorSourceStatusInactive ... + ConnectionMonitorSourceStatusInactive ConnectionMonitorSourceStatus = "Inactive" + // ConnectionMonitorSourceStatusUnknown ... + ConnectionMonitorSourceStatusUnknown ConnectionMonitorSourceStatus = "Unknown" +) + +// PossibleConnectionMonitorSourceStatusValues returns an array of possible values for the ConnectionMonitorSourceStatus const type. +func PossibleConnectionMonitorSourceStatusValues() []ConnectionMonitorSourceStatus { + return []ConnectionMonitorSourceStatus{ConnectionMonitorSourceStatusActive, ConnectionMonitorSourceStatusInactive, ConnectionMonitorSourceStatusUnknown} +} + +// ConnectionState enumerates the values for connection state. +type ConnectionState string + +const ( + // ConnectionStateReachable ... + ConnectionStateReachable ConnectionState = "Reachable" + // ConnectionStateUnknown ... + ConnectionStateUnknown ConnectionState = "Unknown" + // ConnectionStateUnreachable ... + ConnectionStateUnreachable ConnectionState = "Unreachable" +) + +// PossibleConnectionStateValues returns an array of possible values for the ConnectionState const type. +func PossibleConnectionStateValues() []ConnectionState { + return []ConnectionState{ConnectionStateReachable, ConnectionStateUnknown, ConnectionStateUnreachable} +} + +// ConnectionStatus enumerates the values for connection status. +type ConnectionStatus string + +const ( + // ConnectionStatusConnected ... + ConnectionStatusConnected ConnectionStatus = "Connected" + // ConnectionStatusDegraded ... + ConnectionStatusDegraded ConnectionStatus = "Degraded" + // ConnectionStatusDisconnected ... + ConnectionStatusDisconnected ConnectionStatus = "Disconnected" + // ConnectionStatusUnknown ... + ConnectionStatusUnknown ConnectionStatus = "Unknown" +) + +// PossibleConnectionStatusValues returns an array of possible values for the ConnectionStatus const type. +func PossibleConnectionStatusValues() []ConnectionStatus { + return []ConnectionStatus{ConnectionStatusConnected, ConnectionStatusDegraded, ConnectionStatusDisconnected, ConnectionStatusUnknown} +} + +// DdosCustomPolicyProtocol enumerates the values for ddos custom policy protocol. +type DdosCustomPolicyProtocol string + +const ( + // DdosCustomPolicyProtocolSyn ... + DdosCustomPolicyProtocolSyn DdosCustomPolicyProtocol = "Syn" + // DdosCustomPolicyProtocolTCP ... + DdosCustomPolicyProtocolTCP DdosCustomPolicyProtocol = "Tcp" + // DdosCustomPolicyProtocolUDP ... + DdosCustomPolicyProtocolUDP DdosCustomPolicyProtocol = "Udp" +) + +// PossibleDdosCustomPolicyProtocolValues returns an array of possible values for the DdosCustomPolicyProtocol const type. +func PossibleDdosCustomPolicyProtocolValues() []DdosCustomPolicyProtocol { + return []DdosCustomPolicyProtocol{DdosCustomPolicyProtocolSyn, DdosCustomPolicyProtocolTCP, DdosCustomPolicyProtocolUDP} +} + +// DdosCustomPolicyTriggerSensitivityOverride enumerates the values for ddos custom policy trigger sensitivity +// override. +type DdosCustomPolicyTriggerSensitivityOverride string + +const ( + // Default ... + Default DdosCustomPolicyTriggerSensitivityOverride = "Default" + // High ... + High DdosCustomPolicyTriggerSensitivityOverride = "High" + // Low ... + Low DdosCustomPolicyTriggerSensitivityOverride = "Low" + // Relaxed ... + Relaxed DdosCustomPolicyTriggerSensitivityOverride = "Relaxed" +) + +// PossibleDdosCustomPolicyTriggerSensitivityOverrideValues returns an array of possible values for the DdosCustomPolicyTriggerSensitivityOverride const type. +func PossibleDdosCustomPolicyTriggerSensitivityOverrideValues() []DdosCustomPolicyTriggerSensitivityOverride { + return []DdosCustomPolicyTriggerSensitivityOverride{Default, High, Low, Relaxed} +} + +// DdosSettingsProtectionCoverage enumerates the values for ddos settings protection coverage. +type DdosSettingsProtectionCoverage string + +const ( + // DdosSettingsProtectionCoverageBasic ... + DdosSettingsProtectionCoverageBasic DdosSettingsProtectionCoverage = "Basic" + // DdosSettingsProtectionCoverageStandard ... + DdosSettingsProtectionCoverageStandard DdosSettingsProtectionCoverage = "Standard" +) + +// PossibleDdosSettingsProtectionCoverageValues returns an array of possible values for the DdosSettingsProtectionCoverage const type. +func PossibleDdosSettingsProtectionCoverageValues() []DdosSettingsProtectionCoverage { + return []DdosSettingsProtectionCoverage{DdosSettingsProtectionCoverageBasic, DdosSettingsProtectionCoverageStandard} +} + +// DhGroup enumerates the values for dh group. +type DhGroup string + +const ( + // DHGroup1 ... + DHGroup1 DhGroup = "DHGroup1" + // DHGroup14 ... + DHGroup14 DhGroup = "DHGroup14" + // DHGroup2 ... + DHGroup2 DhGroup = "DHGroup2" + // DHGroup2048 ... + DHGroup2048 DhGroup = "DHGroup2048" + // DHGroup24 ... + DHGroup24 DhGroup = "DHGroup24" + // ECP256 ... + ECP256 DhGroup = "ECP256" + // ECP384 ... + ECP384 DhGroup = "ECP384" + // None ... + None DhGroup = "None" +) + +// PossibleDhGroupValues returns an array of possible values for the DhGroup const type. +func PossibleDhGroupValues() []DhGroup { + return []DhGroup{DHGroup1, DHGroup14, DHGroup2, DHGroup2048, DHGroup24, ECP256, ECP384, None} +} + +// Direction enumerates the values for direction. +type Direction string + +const ( + // Inbound ... + Inbound Direction = "Inbound" + // Outbound ... + Outbound Direction = "Outbound" +) + +// PossibleDirectionValues returns an array of possible values for the Direction const type. +func PossibleDirectionValues() []Direction { + return []Direction{Inbound, Outbound} +} + +// EffectiveRouteSource enumerates the values for effective route source. +type EffectiveRouteSource string + +const ( + // EffectiveRouteSourceDefault ... + EffectiveRouteSourceDefault EffectiveRouteSource = "Default" + // EffectiveRouteSourceUnknown ... + EffectiveRouteSourceUnknown EffectiveRouteSource = "Unknown" + // EffectiveRouteSourceUser ... + EffectiveRouteSourceUser EffectiveRouteSource = "User" + // EffectiveRouteSourceVirtualNetworkGateway ... + EffectiveRouteSourceVirtualNetworkGateway EffectiveRouteSource = "VirtualNetworkGateway" +) + +// PossibleEffectiveRouteSourceValues returns an array of possible values for the EffectiveRouteSource const type. +func PossibleEffectiveRouteSourceValues() []EffectiveRouteSource { + return []EffectiveRouteSource{EffectiveRouteSourceDefault, EffectiveRouteSourceUnknown, EffectiveRouteSourceUser, EffectiveRouteSourceVirtualNetworkGateway} +} + +// EffectiveRouteState enumerates the values for effective route state. +type EffectiveRouteState string + +const ( + // Active ... + Active EffectiveRouteState = "Active" + // Invalid ... + Invalid EffectiveRouteState = "Invalid" +) + +// PossibleEffectiveRouteStateValues returns an array of possible values for the EffectiveRouteState const type. +func PossibleEffectiveRouteStateValues() []EffectiveRouteState { + return []EffectiveRouteState{Active, Invalid} +} + +// EffectiveSecurityRuleProtocol enumerates the values for effective security rule protocol. +type EffectiveSecurityRuleProtocol string + +const ( + // EffectiveSecurityRuleProtocolAll ... + EffectiveSecurityRuleProtocolAll EffectiveSecurityRuleProtocol = "All" + // EffectiveSecurityRuleProtocolTCP ... + EffectiveSecurityRuleProtocolTCP EffectiveSecurityRuleProtocol = "Tcp" + // EffectiveSecurityRuleProtocolUDP ... + EffectiveSecurityRuleProtocolUDP EffectiveSecurityRuleProtocol = "Udp" +) + +// PossibleEffectiveSecurityRuleProtocolValues returns an array of possible values for the EffectiveSecurityRuleProtocol const type. +func PossibleEffectiveSecurityRuleProtocolValues() []EffectiveSecurityRuleProtocol { + return []EffectiveSecurityRuleProtocol{EffectiveSecurityRuleProtocolAll, EffectiveSecurityRuleProtocolTCP, EffectiveSecurityRuleProtocolUDP} +} + +// EvaluationState enumerates the values for evaluation state. +type EvaluationState string + +const ( + // Completed ... + Completed EvaluationState = "Completed" + // InProgress ... + InProgress EvaluationState = "InProgress" + // NotStarted ... + NotStarted EvaluationState = "NotStarted" +) + +// PossibleEvaluationStateValues returns an array of possible values for the EvaluationState const type. +func PossibleEvaluationStateValues() []EvaluationState { + return []EvaluationState{Completed, InProgress, NotStarted} +} + +// ExpressRouteCircuitPeeringAdvertisedPublicPrefixState enumerates the values for express route circuit +// peering advertised public prefix state. +type ExpressRouteCircuitPeeringAdvertisedPublicPrefixState string + +const ( + // Configured ... + Configured ExpressRouteCircuitPeeringAdvertisedPublicPrefixState = "Configured" + // Configuring ... + Configuring ExpressRouteCircuitPeeringAdvertisedPublicPrefixState = "Configuring" + // NotConfigured ... + NotConfigured ExpressRouteCircuitPeeringAdvertisedPublicPrefixState = "NotConfigured" + // ValidationNeeded ... + ValidationNeeded ExpressRouteCircuitPeeringAdvertisedPublicPrefixState = "ValidationNeeded" +) + +// PossibleExpressRouteCircuitPeeringAdvertisedPublicPrefixStateValues returns an array of possible values for the ExpressRouteCircuitPeeringAdvertisedPublicPrefixState const type. +func PossibleExpressRouteCircuitPeeringAdvertisedPublicPrefixStateValues() []ExpressRouteCircuitPeeringAdvertisedPublicPrefixState { + return []ExpressRouteCircuitPeeringAdvertisedPublicPrefixState{Configured, Configuring, NotConfigured, ValidationNeeded} +} + +// ExpressRouteCircuitPeeringState enumerates the values for express route circuit peering state. +type ExpressRouteCircuitPeeringState string + +const ( + // ExpressRouteCircuitPeeringStateDisabled ... + ExpressRouteCircuitPeeringStateDisabled ExpressRouteCircuitPeeringState = "Disabled" + // ExpressRouteCircuitPeeringStateEnabled ... + ExpressRouteCircuitPeeringStateEnabled ExpressRouteCircuitPeeringState = "Enabled" +) + +// PossibleExpressRouteCircuitPeeringStateValues returns an array of possible values for the ExpressRouteCircuitPeeringState const type. +func PossibleExpressRouteCircuitPeeringStateValues() []ExpressRouteCircuitPeeringState { + return []ExpressRouteCircuitPeeringState{ExpressRouteCircuitPeeringStateDisabled, ExpressRouteCircuitPeeringStateEnabled} +} + +// ExpressRouteCircuitSkuFamily enumerates the values for express route circuit sku family. +type ExpressRouteCircuitSkuFamily string + +const ( + // MeteredData ... + MeteredData ExpressRouteCircuitSkuFamily = "MeteredData" + // UnlimitedData ... + UnlimitedData ExpressRouteCircuitSkuFamily = "UnlimitedData" +) + +// PossibleExpressRouteCircuitSkuFamilyValues returns an array of possible values for the ExpressRouteCircuitSkuFamily const type. +func PossibleExpressRouteCircuitSkuFamilyValues() []ExpressRouteCircuitSkuFamily { + return []ExpressRouteCircuitSkuFamily{MeteredData, UnlimitedData} +} + +// ExpressRouteCircuitSkuTier enumerates the values for express route circuit sku tier. +type ExpressRouteCircuitSkuTier string + +const ( + // ExpressRouteCircuitSkuTierBasic ... + ExpressRouteCircuitSkuTierBasic ExpressRouteCircuitSkuTier = "Basic" + // ExpressRouteCircuitSkuTierLocal ... + ExpressRouteCircuitSkuTierLocal ExpressRouteCircuitSkuTier = "Local" + // ExpressRouteCircuitSkuTierPremium ... + ExpressRouteCircuitSkuTierPremium ExpressRouteCircuitSkuTier = "Premium" + // ExpressRouteCircuitSkuTierStandard ... + ExpressRouteCircuitSkuTierStandard ExpressRouteCircuitSkuTier = "Standard" +) + +// PossibleExpressRouteCircuitSkuTierValues returns an array of possible values for the ExpressRouteCircuitSkuTier const type. +func PossibleExpressRouteCircuitSkuTierValues() []ExpressRouteCircuitSkuTier { + return []ExpressRouteCircuitSkuTier{ExpressRouteCircuitSkuTierBasic, ExpressRouteCircuitSkuTierLocal, ExpressRouteCircuitSkuTierPremium, ExpressRouteCircuitSkuTierStandard} +} + +// ExpressRouteLinkAdminState enumerates the values for express route link admin state. +type ExpressRouteLinkAdminState string + +const ( + // ExpressRouteLinkAdminStateDisabled ... + ExpressRouteLinkAdminStateDisabled ExpressRouteLinkAdminState = "Disabled" + // ExpressRouteLinkAdminStateEnabled ... + ExpressRouteLinkAdminStateEnabled ExpressRouteLinkAdminState = "Enabled" +) + +// PossibleExpressRouteLinkAdminStateValues returns an array of possible values for the ExpressRouteLinkAdminState const type. +func PossibleExpressRouteLinkAdminStateValues() []ExpressRouteLinkAdminState { + return []ExpressRouteLinkAdminState{ExpressRouteLinkAdminStateDisabled, ExpressRouteLinkAdminStateEnabled} +} + +// ExpressRouteLinkConnectorType enumerates the values for express route link connector type. +type ExpressRouteLinkConnectorType string + +const ( + // LC ... + LC ExpressRouteLinkConnectorType = "LC" + // SC ... + SC ExpressRouteLinkConnectorType = "SC" +) + +// PossibleExpressRouteLinkConnectorTypeValues returns an array of possible values for the ExpressRouteLinkConnectorType const type. +func PossibleExpressRouteLinkConnectorTypeValues() []ExpressRouteLinkConnectorType { + return []ExpressRouteLinkConnectorType{LC, SC} +} + +// ExpressRouteLinkMacSecCipher enumerates the values for express route link mac sec cipher. +type ExpressRouteLinkMacSecCipher string + +const ( + // GcmAes128 ... + GcmAes128 ExpressRouteLinkMacSecCipher = "gcm-aes-128" + // GcmAes256 ... + GcmAes256 ExpressRouteLinkMacSecCipher = "gcm-aes-256" +) + +// PossibleExpressRouteLinkMacSecCipherValues returns an array of possible values for the ExpressRouteLinkMacSecCipher const type. +func PossibleExpressRouteLinkMacSecCipherValues() []ExpressRouteLinkMacSecCipher { + return []ExpressRouteLinkMacSecCipher{GcmAes128, GcmAes256} +} + +// ExpressRoutePeeringState enumerates the values for express route peering state. +type ExpressRoutePeeringState string + +const ( + // ExpressRoutePeeringStateDisabled ... + ExpressRoutePeeringStateDisabled ExpressRoutePeeringState = "Disabled" + // ExpressRoutePeeringStateEnabled ... + ExpressRoutePeeringStateEnabled ExpressRoutePeeringState = "Enabled" +) + +// PossibleExpressRoutePeeringStateValues returns an array of possible values for the ExpressRoutePeeringState const type. +func PossibleExpressRoutePeeringStateValues() []ExpressRoutePeeringState { + return []ExpressRoutePeeringState{ExpressRoutePeeringStateDisabled, ExpressRoutePeeringStateEnabled} +} + +// ExpressRoutePeeringType enumerates the values for express route peering type. +type ExpressRoutePeeringType string + +const ( + // AzurePrivatePeering ... + AzurePrivatePeering ExpressRoutePeeringType = "AzurePrivatePeering" + // AzurePublicPeering ... + AzurePublicPeering ExpressRoutePeeringType = "AzurePublicPeering" + // MicrosoftPeering ... + MicrosoftPeering ExpressRoutePeeringType = "MicrosoftPeering" +) + +// PossibleExpressRoutePeeringTypeValues returns an array of possible values for the ExpressRoutePeeringType const type. +func PossibleExpressRoutePeeringTypeValues() []ExpressRoutePeeringType { + return []ExpressRoutePeeringType{AzurePrivatePeering, AzurePublicPeering, MicrosoftPeering} +} + +// ExpressRoutePortsEncapsulation enumerates the values for express route ports encapsulation. +type ExpressRoutePortsEncapsulation string + +const ( + // Dot1Q ... + Dot1Q ExpressRoutePortsEncapsulation = "Dot1Q" + // QinQ ... + QinQ ExpressRoutePortsEncapsulation = "QinQ" +) + +// PossibleExpressRoutePortsEncapsulationValues returns an array of possible values for the ExpressRoutePortsEncapsulation const type. +func PossibleExpressRoutePortsEncapsulationValues() []ExpressRoutePortsEncapsulation { + return []ExpressRoutePortsEncapsulation{Dot1Q, QinQ} +} + +// FirewallPolicyFilterRuleActionType enumerates the values for firewall policy filter rule action type. +type FirewallPolicyFilterRuleActionType string + +const ( + // FirewallPolicyFilterRuleActionTypeAlert ... + FirewallPolicyFilterRuleActionTypeAlert FirewallPolicyFilterRuleActionType = "Alert " + // FirewallPolicyFilterRuleActionTypeAllow ... + FirewallPolicyFilterRuleActionTypeAllow FirewallPolicyFilterRuleActionType = "Allow" + // FirewallPolicyFilterRuleActionTypeDeny ... + FirewallPolicyFilterRuleActionTypeDeny FirewallPolicyFilterRuleActionType = "Deny" +) + +// PossibleFirewallPolicyFilterRuleActionTypeValues returns an array of possible values for the FirewallPolicyFilterRuleActionType const type. +func PossibleFirewallPolicyFilterRuleActionTypeValues() []FirewallPolicyFilterRuleActionType { + return []FirewallPolicyFilterRuleActionType{FirewallPolicyFilterRuleActionTypeAlert, FirewallPolicyFilterRuleActionTypeAllow, FirewallPolicyFilterRuleActionTypeDeny} +} + +// FirewallPolicyNatRuleActionType enumerates the values for firewall policy nat rule action type. +type FirewallPolicyNatRuleActionType string + +const ( + // DNAT ... + DNAT FirewallPolicyNatRuleActionType = "DNAT" + // SNAT ... + SNAT FirewallPolicyNatRuleActionType = "SNAT" +) + +// PossibleFirewallPolicyNatRuleActionTypeValues returns an array of possible values for the FirewallPolicyNatRuleActionType const type. +func PossibleFirewallPolicyNatRuleActionTypeValues() []FirewallPolicyNatRuleActionType { + return []FirewallPolicyNatRuleActionType{DNAT, SNAT} +} + +// FirewallPolicyRuleConditionApplicationProtocolType enumerates the values for firewall policy rule condition +// application protocol type. +type FirewallPolicyRuleConditionApplicationProtocolType string + +const ( + // FirewallPolicyRuleConditionApplicationProtocolTypeHTTP ... + FirewallPolicyRuleConditionApplicationProtocolTypeHTTP FirewallPolicyRuleConditionApplicationProtocolType = "Http" + // FirewallPolicyRuleConditionApplicationProtocolTypeHTTPS ... + FirewallPolicyRuleConditionApplicationProtocolTypeHTTPS FirewallPolicyRuleConditionApplicationProtocolType = "Https" +) + +// PossibleFirewallPolicyRuleConditionApplicationProtocolTypeValues returns an array of possible values for the FirewallPolicyRuleConditionApplicationProtocolType const type. +func PossibleFirewallPolicyRuleConditionApplicationProtocolTypeValues() []FirewallPolicyRuleConditionApplicationProtocolType { + return []FirewallPolicyRuleConditionApplicationProtocolType{FirewallPolicyRuleConditionApplicationProtocolTypeHTTP, FirewallPolicyRuleConditionApplicationProtocolTypeHTTPS} +} + +// FirewallPolicyRuleConditionNetworkProtocol enumerates the values for firewall policy rule condition network +// protocol. +type FirewallPolicyRuleConditionNetworkProtocol string + +const ( + // FirewallPolicyRuleConditionNetworkProtocolAny ... + FirewallPolicyRuleConditionNetworkProtocolAny FirewallPolicyRuleConditionNetworkProtocol = "Any" + // FirewallPolicyRuleConditionNetworkProtocolICMP ... + FirewallPolicyRuleConditionNetworkProtocolICMP FirewallPolicyRuleConditionNetworkProtocol = "ICMP" + // FirewallPolicyRuleConditionNetworkProtocolTCP ... + FirewallPolicyRuleConditionNetworkProtocolTCP FirewallPolicyRuleConditionNetworkProtocol = "TCP" + // FirewallPolicyRuleConditionNetworkProtocolUDP ... + FirewallPolicyRuleConditionNetworkProtocolUDP FirewallPolicyRuleConditionNetworkProtocol = "UDP" +) + +// PossibleFirewallPolicyRuleConditionNetworkProtocolValues returns an array of possible values for the FirewallPolicyRuleConditionNetworkProtocol const type. +func PossibleFirewallPolicyRuleConditionNetworkProtocolValues() []FirewallPolicyRuleConditionNetworkProtocol { + return []FirewallPolicyRuleConditionNetworkProtocol{FirewallPolicyRuleConditionNetworkProtocolAny, FirewallPolicyRuleConditionNetworkProtocolICMP, FirewallPolicyRuleConditionNetworkProtocolTCP, FirewallPolicyRuleConditionNetworkProtocolUDP} +} + +// FlowLogFormatType enumerates the values for flow log format type. +type FlowLogFormatType string + +const ( + // JSON ... + JSON FlowLogFormatType = "JSON" +) + +// PossibleFlowLogFormatTypeValues returns an array of possible values for the FlowLogFormatType const type. +func PossibleFlowLogFormatTypeValues() []FlowLogFormatType { + return []FlowLogFormatType{JSON} +} + +// HTTPMethod enumerates the values for http method. +type HTTPMethod string + +const ( + // Get ... + Get HTTPMethod = "Get" +) + +// PossibleHTTPMethodValues returns an array of possible values for the HTTPMethod const type. +func PossibleHTTPMethodValues() []HTTPMethod { + return []HTTPMethod{Get} +} + +// HubVirtualNetworkConnectionStatus enumerates the values for hub virtual network connection status. +type HubVirtualNetworkConnectionStatus string + +const ( + // HubVirtualNetworkConnectionStatusConnected ... + HubVirtualNetworkConnectionStatusConnected HubVirtualNetworkConnectionStatus = "Connected" + // HubVirtualNetworkConnectionStatusConnecting ... + HubVirtualNetworkConnectionStatusConnecting HubVirtualNetworkConnectionStatus = "Connecting" + // HubVirtualNetworkConnectionStatusNotConnected ... + HubVirtualNetworkConnectionStatusNotConnected HubVirtualNetworkConnectionStatus = "NotConnected" + // HubVirtualNetworkConnectionStatusUnknown ... + HubVirtualNetworkConnectionStatusUnknown HubVirtualNetworkConnectionStatus = "Unknown" +) + +// PossibleHubVirtualNetworkConnectionStatusValues returns an array of possible values for the HubVirtualNetworkConnectionStatus const type. +func PossibleHubVirtualNetworkConnectionStatusValues() []HubVirtualNetworkConnectionStatus { + return []HubVirtualNetworkConnectionStatus{HubVirtualNetworkConnectionStatusConnected, HubVirtualNetworkConnectionStatusConnecting, HubVirtualNetworkConnectionStatusNotConnected, HubVirtualNetworkConnectionStatusUnknown} +} + +// IkeEncryption enumerates the values for ike encryption. +type IkeEncryption string + +const ( + // AES128 ... + AES128 IkeEncryption = "AES128" + // AES192 ... + AES192 IkeEncryption = "AES192" + // AES256 ... + AES256 IkeEncryption = "AES256" + // DES ... + DES IkeEncryption = "DES" + // DES3 ... + DES3 IkeEncryption = "DES3" + // GCMAES128 ... + GCMAES128 IkeEncryption = "GCMAES128" + // GCMAES256 ... + GCMAES256 IkeEncryption = "GCMAES256" +) + +// PossibleIkeEncryptionValues returns an array of possible values for the IkeEncryption const type. +func PossibleIkeEncryptionValues() []IkeEncryption { + return []IkeEncryption{AES128, AES192, AES256, DES, DES3, GCMAES128, GCMAES256} +} + +// IkeIntegrity enumerates the values for ike integrity. +type IkeIntegrity string + +const ( + // IkeIntegrityGCMAES128 ... + IkeIntegrityGCMAES128 IkeIntegrity = "GCMAES128" + // IkeIntegrityGCMAES256 ... + IkeIntegrityGCMAES256 IkeIntegrity = "GCMAES256" + // IkeIntegrityMD5 ... + IkeIntegrityMD5 IkeIntegrity = "MD5" + // IkeIntegritySHA1 ... + IkeIntegritySHA1 IkeIntegrity = "SHA1" + // IkeIntegritySHA256 ... + IkeIntegritySHA256 IkeIntegrity = "SHA256" + // IkeIntegritySHA384 ... + IkeIntegritySHA384 IkeIntegrity = "SHA384" +) + +// PossibleIkeIntegrityValues returns an array of possible values for the IkeIntegrity const type. +func PossibleIkeIntegrityValues() []IkeIntegrity { + return []IkeIntegrity{IkeIntegrityGCMAES128, IkeIntegrityGCMAES256, IkeIntegrityMD5, IkeIntegritySHA1, IkeIntegritySHA256, IkeIntegritySHA384} +} + +// IPAllocationMethod enumerates the values for ip allocation method. +type IPAllocationMethod string + +const ( + // Dynamic ... + Dynamic IPAllocationMethod = "Dynamic" + // Static ... + Static IPAllocationMethod = "Static" +) + +// PossibleIPAllocationMethodValues returns an array of possible values for the IPAllocationMethod const type. +func PossibleIPAllocationMethodValues() []IPAllocationMethod { + return []IPAllocationMethod{Dynamic, Static} +} + +// IPFlowProtocol enumerates the values for ip flow protocol. +type IPFlowProtocol string + +const ( + // IPFlowProtocolTCP ... + IPFlowProtocolTCP IPFlowProtocol = "TCP" + // IPFlowProtocolUDP ... + IPFlowProtocolUDP IPFlowProtocol = "UDP" +) + +// PossibleIPFlowProtocolValues returns an array of possible values for the IPFlowProtocol const type. +func PossibleIPFlowProtocolValues() []IPFlowProtocol { + return []IPFlowProtocol{IPFlowProtocolTCP, IPFlowProtocolUDP} +} + +// IpsecEncryption enumerates the values for ipsec encryption. +type IpsecEncryption string + +const ( + // IpsecEncryptionAES128 ... + IpsecEncryptionAES128 IpsecEncryption = "AES128" + // IpsecEncryptionAES192 ... + IpsecEncryptionAES192 IpsecEncryption = "AES192" + // IpsecEncryptionAES256 ... + IpsecEncryptionAES256 IpsecEncryption = "AES256" + // IpsecEncryptionDES ... + IpsecEncryptionDES IpsecEncryption = "DES" + // IpsecEncryptionDES3 ... + IpsecEncryptionDES3 IpsecEncryption = "DES3" + // IpsecEncryptionGCMAES128 ... + IpsecEncryptionGCMAES128 IpsecEncryption = "GCMAES128" + // IpsecEncryptionGCMAES192 ... + IpsecEncryptionGCMAES192 IpsecEncryption = "GCMAES192" + // IpsecEncryptionGCMAES256 ... + IpsecEncryptionGCMAES256 IpsecEncryption = "GCMAES256" + // IpsecEncryptionNone ... + IpsecEncryptionNone IpsecEncryption = "None" +) + +// PossibleIpsecEncryptionValues returns an array of possible values for the IpsecEncryption const type. +func PossibleIpsecEncryptionValues() []IpsecEncryption { + return []IpsecEncryption{IpsecEncryptionAES128, IpsecEncryptionAES192, IpsecEncryptionAES256, IpsecEncryptionDES, IpsecEncryptionDES3, IpsecEncryptionGCMAES128, IpsecEncryptionGCMAES192, IpsecEncryptionGCMAES256, IpsecEncryptionNone} +} + +// IpsecIntegrity enumerates the values for ipsec integrity. +type IpsecIntegrity string + +const ( + // IpsecIntegrityGCMAES128 ... + IpsecIntegrityGCMAES128 IpsecIntegrity = "GCMAES128" + // IpsecIntegrityGCMAES192 ... + IpsecIntegrityGCMAES192 IpsecIntegrity = "GCMAES192" + // IpsecIntegrityGCMAES256 ... + IpsecIntegrityGCMAES256 IpsecIntegrity = "GCMAES256" + // IpsecIntegrityMD5 ... + IpsecIntegrityMD5 IpsecIntegrity = "MD5" + // IpsecIntegritySHA1 ... + IpsecIntegritySHA1 IpsecIntegrity = "SHA1" + // IpsecIntegritySHA256 ... + IpsecIntegritySHA256 IpsecIntegrity = "SHA256" +) + +// PossibleIpsecIntegrityValues returns an array of possible values for the IpsecIntegrity const type. +func PossibleIpsecIntegrityValues() []IpsecIntegrity { + return []IpsecIntegrity{IpsecIntegrityGCMAES128, IpsecIntegrityGCMAES192, IpsecIntegrityGCMAES256, IpsecIntegrityMD5, IpsecIntegritySHA1, IpsecIntegritySHA256} +} + +// IPVersion enumerates the values for ip version. +type IPVersion string + +const ( + // IPv4 ... + IPv4 IPVersion = "IPv4" + // IPv6 ... + IPv6 IPVersion = "IPv6" +) + +// PossibleIPVersionValues returns an array of possible values for the IPVersion const type. +func PossibleIPVersionValues() []IPVersion { + return []IPVersion{IPv4, IPv6} +} + +// IssueType enumerates the values for issue type. +type IssueType string + +const ( + // IssueTypeAgentStopped ... + IssueTypeAgentStopped IssueType = "AgentStopped" + // IssueTypeDNSResolution ... + IssueTypeDNSResolution IssueType = "DnsResolution" + // IssueTypeGuestFirewall ... + IssueTypeGuestFirewall IssueType = "GuestFirewall" + // IssueTypeNetworkSecurityRule ... + IssueTypeNetworkSecurityRule IssueType = "NetworkSecurityRule" + // IssueTypePlatform ... + IssueTypePlatform IssueType = "Platform" + // IssueTypePortThrottled ... + IssueTypePortThrottled IssueType = "PortThrottled" + // IssueTypeSocketBind ... + IssueTypeSocketBind IssueType = "SocketBind" + // IssueTypeUnknown ... + IssueTypeUnknown IssueType = "Unknown" + // IssueTypeUserDefinedRoute ... + IssueTypeUserDefinedRoute IssueType = "UserDefinedRoute" +) + +// PossibleIssueTypeValues returns an array of possible values for the IssueType const type. +func PossibleIssueTypeValues() []IssueType { + return []IssueType{IssueTypeAgentStopped, IssueTypeDNSResolution, IssueTypeGuestFirewall, IssueTypeNetworkSecurityRule, IssueTypePlatform, IssueTypePortThrottled, IssueTypeSocketBind, IssueTypeUnknown, IssueTypeUserDefinedRoute} +} + +// LoadBalancerOutboundRuleProtocol enumerates the values for load balancer outbound rule protocol. +type LoadBalancerOutboundRuleProtocol string + +const ( + // LoadBalancerOutboundRuleProtocolAll ... + LoadBalancerOutboundRuleProtocolAll LoadBalancerOutboundRuleProtocol = "All" + // LoadBalancerOutboundRuleProtocolTCP ... + LoadBalancerOutboundRuleProtocolTCP LoadBalancerOutboundRuleProtocol = "Tcp" + // LoadBalancerOutboundRuleProtocolUDP ... + LoadBalancerOutboundRuleProtocolUDP LoadBalancerOutboundRuleProtocol = "Udp" +) + +// PossibleLoadBalancerOutboundRuleProtocolValues returns an array of possible values for the LoadBalancerOutboundRuleProtocol const type. +func PossibleLoadBalancerOutboundRuleProtocolValues() []LoadBalancerOutboundRuleProtocol { + return []LoadBalancerOutboundRuleProtocol{LoadBalancerOutboundRuleProtocolAll, LoadBalancerOutboundRuleProtocolTCP, LoadBalancerOutboundRuleProtocolUDP} +} + +// LoadBalancerSkuName enumerates the values for load balancer sku name. +type LoadBalancerSkuName string + +const ( + // LoadBalancerSkuNameBasic ... + LoadBalancerSkuNameBasic LoadBalancerSkuName = "Basic" + // LoadBalancerSkuNameStandard ... + LoadBalancerSkuNameStandard LoadBalancerSkuName = "Standard" +) + +// PossibleLoadBalancerSkuNameValues returns an array of possible values for the LoadBalancerSkuName const type. +func PossibleLoadBalancerSkuNameValues() []LoadBalancerSkuName { + return []LoadBalancerSkuName{LoadBalancerSkuNameBasic, LoadBalancerSkuNameStandard} +} + +// LoadDistribution enumerates the values for load distribution. +type LoadDistribution string + +const ( + // LoadDistributionDefault ... + LoadDistributionDefault LoadDistribution = "Default" + // LoadDistributionSourceIP ... + LoadDistributionSourceIP LoadDistribution = "SourceIP" + // LoadDistributionSourceIPProtocol ... + LoadDistributionSourceIPProtocol LoadDistribution = "SourceIPProtocol" +) + +// PossibleLoadDistributionValues returns an array of possible values for the LoadDistribution const type. +func PossibleLoadDistributionValues() []LoadDistribution { + return []LoadDistribution{LoadDistributionDefault, LoadDistributionSourceIP, LoadDistributionSourceIPProtocol} +} + +// NatGatewaySkuName enumerates the values for nat gateway sku name. +type NatGatewaySkuName string + +const ( + // Standard ... + Standard NatGatewaySkuName = "Standard" +) + +// PossibleNatGatewaySkuNameValues returns an array of possible values for the NatGatewaySkuName const type. +func PossibleNatGatewaySkuNameValues() []NatGatewaySkuName { + return []NatGatewaySkuName{Standard} +} + +// NextHopType enumerates the values for next hop type. +type NextHopType string + +const ( + // NextHopTypeHyperNetGateway ... + NextHopTypeHyperNetGateway NextHopType = "HyperNetGateway" + // NextHopTypeInternet ... + NextHopTypeInternet NextHopType = "Internet" + // NextHopTypeNone ... + NextHopTypeNone NextHopType = "None" + // NextHopTypeVirtualAppliance ... + NextHopTypeVirtualAppliance NextHopType = "VirtualAppliance" + // NextHopTypeVirtualNetworkGateway ... + NextHopTypeVirtualNetworkGateway NextHopType = "VirtualNetworkGateway" + // NextHopTypeVnetLocal ... + NextHopTypeVnetLocal NextHopType = "VnetLocal" +) + +// PossibleNextHopTypeValues returns an array of possible values for the NextHopType const type. +func PossibleNextHopTypeValues() []NextHopType { + return []NextHopType{NextHopTypeHyperNetGateway, NextHopTypeInternet, NextHopTypeNone, NextHopTypeVirtualAppliance, NextHopTypeVirtualNetworkGateway, NextHopTypeVnetLocal} +} + +// OfficeTrafficCategory enumerates the values for office traffic category. +type OfficeTrafficCategory string + +const ( + // OfficeTrafficCategoryAll ... + OfficeTrafficCategoryAll OfficeTrafficCategory = "All" + // OfficeTrafficCategoryNone ... + OfficeTrafficCategoryNone OfficeTrafficCategory = "None" + // OfficeTrafficCategoryOptimize ... + OfficeTrafficCategoryOptimize OfficeTrafficCategory = "Optimize" + // OfficeTrafficCategoryOptimizeAndAllow ... + OfficeTrafficCategoryOptimizeAndAllow OfficeTrafficCategory = "OptimizeAndAllow" +) + +// PossibleOfficeTrafficCategoryValues returns an array of possible values for the OfficeTrafficCategory const type. +func PossibleOfficeTrafficCategoryValues() []OfficeTrafficCategory { + return []OfficeTrafficCategory{OfficeTrafficCategoryAll, OfficeTrafficCategoryNone, OfficeTrafficCategoryOptimize, OfficeTrafficCategoryOptimizeAndAllow} +} + +// OperationStatus enumerates the values for operation status. +type OperationStatus string + +const ( + // OperationStatusFailed ... + OperationStatusFailed OperationStatus = "Failed" + // OperationStatusInProgress ... + OperationStatusInProgress OperationStatus = "InProgress" + // OperationStatusSucceeded ... + OperationStatusSucceeded OperationStatus = "Succeeded" +) + +// PossibleOperationStatusValues returns an array of possible values for the OperationStatus const type. +func PossibleOperationStatusValues() []OperationStatus { + return []OperationStatus{OperationStatusFailed, OperationStatusInProgress, OperationStatusSucceeded} +} + +// Origin enumerates the values for origin. +type Origin string + +const ( + // OriginInbound ... + OriginInbound Origin = "Inbound" + // OriginLocal ... + OriginLocal Origin = "Local" + // OriginOutbound ... + OriginOutbound Origin = "Outbound" +) + +// PossibleOriginValues returns an array of possible values for the Origin const type. +func PossibleOriginValues() []Origin { + return []Origin{OriginInbound, OriginLocal, OriginOutbound} +} + +// PcError enumerates the values for pc error. +type PcError string + +const ( + // AgentStopped ... + AgentStopped PcError = "AgentStopped" + // CaptureFailed ... + CaptureFailed PcError = "CaptureFailed" + // InternalError ... + InternalError PcError = "InternalError" + // LocalFileFailed ... + LocalFileFailed PcError = "LocalFileFailed" + // StorageFailed ... + StorageFailed PcError = "StorageFailed" +) + +// PossiblePcErrorValues returns an array of possible values for the PcError const type. +func PossiblePcErrorValues() []PcError { + return []PcError{AgentStopped, CaptureFailed, InternalError, LocalFileFailed, StorageFailed} +} + +// PcProtocol enumerates the values for pc protocol. +type PcProtocol string + +const ( + // PcProtocolAny ... + PcProtocolAny PcProtocol = "Any" + // PcProtocolTCP ... + PcProtocolTCP PcProtocol = "TCP" + // PcProtocolUDP ... + PcProtocolUDP PcProtocol = "UDP" +) + +// PossiblePcProtocolValues returns an array of possible values for the PcProtocol const type. +func PossiblePcProtocolValues() []PcProtocol { + return []PcProtocol{PcProtocolAny, PcProtocolTCP, PcProtocolUDP} +} + +// PcStatus enumerates the values for pc status. +type PcStatus string + +const ( + // PcStatusError ... + PcStatusError PcStatus = "Error" + // PcStatusNotStarted ... + PcStatusNotStarted PcStatus = "NotStarted" + // PcStatusRunning ... + PcStatusRunning PcStatus = "Running" + // PcStatusStopped ... + PcStatusStopped PcStatus = "Stopped" + // PcStatusUnknown ... + PcStatusUnknown PcStatus = "Unknown" +) + +// PossiblePcStatusValues returns an array of possible values for the PcStatus const type. +func PossiblePcStatusValues() []PcStatus { + return []PcStatus{PcStatusError, PcStatusNotStarted, PcStatusRunning, PcStatusStopped, PcStatusUnknown} +} + +// PfsGroup enumerates the values for pfs group. +type PfsGroup string + +const ( + // PfsGroupECP256 ... + PfsGroupECP256 PfsGroup = "ECP256" + // PfsGroupECP384 ... + PfsGroupECP384 PfsGroup = "ECP384" + // PfsGroupNone ... + PfsGroupNone PfsGroup = "None" + // PfsGroupPFS1 ... + PfsGroupPFS1 PfsGroup = "PFS1" + // PfsGroupPFS14 ... + PfsGroupPFS14 PfsGroup = "PFS14" + // PfsGroupPFS2 ... + PfsGroupPFS2 PfsGroup = "PFS2" + // PfsGroupPFS2048 ... + PfsGroupPFS2048 PfsGroup = "PFS2048" + // PfsGroupPFS24 ... + PfsGroupPFS24 PfsGroup = "PFS24" + // PfsGroupPFSMM ... + PfsGroupPFSMM PfsGroup = "PFSMM" +) + +// PossiblePfsGroupValues returns an array of possible values for the PfsGroup const type. +func PossiblePfsGroupValues() []PfsGroup { + return []PfsGroup{PfsGroupECP256, PfsGroupECP384, PfsGroupNone, PfsGroupPFS1, PfsGroupPFS14, PfsGroupPFS2, PfsGroupPFS2048, PfsGroupPFS24, PfsGroupPFSMM} +} + +// ProbeProtocol enumerates the values for probe protocol. +type ProbeProtocol string + +const ( + // ProbeProtocolHTTP ... + ProbeProtocolHTTP ProbeProtocol = "Http" + // ProbeProtocolHTTPS ... + ProbeProtocolHTTPS ProbeProtocol = "Https" + // ProbeProtocolTCP ... + ProbeProtocolTCP ProbeProtocol = "Tcp" +) + +// PossibleProbeProtocolValues returns an array of possible values for the ProbeProtocol const type. +func PossibleProbeProtocolValues() []ProbeProtocol { + return []ProbeProtocol{ProbeProtocolHTTP, ProbeProtocolHTTPS, ProbeProtocolTCP} +} + +// ProcessorArchitecture enumerates the values for processor architecture. +type ProcessorArchitecture string + +const ( + // Amd64 ... + Amd64 ProcessorArchitecture = "Amd64" + // X86 ... + X86 ProcessorArchitecture = "X86" +) + +// PossibleProcessorArchitectureValues returns an array of possible values for the ProcessorArchitecture const type. +func PossibleProcessorArchitectureValues() []ProcessorArchitecture { + return []ProcessorArchitecture{Amd64, X86} +} + +// Protocol enumerates the values for protocol. +type Protocol string + +const ( + // ProtocolHTTP ... + ProtocolHTTP Protocol = "Http" + // ProtocolHTTPS ... + ProtocolHTTPS Protocol = "Https" + // ProtocolIcmp ... + ProtocolIcmp Protocol = "Icmp" + // ProtocolTCP ... + ProtocolTCP Protocol = "Tcp" +) + +// PossibleProtocolValues returns an array of possible values for the Protocol const type. +func PossibleProtocolValues() []Protocol { + return []Protocol{ProtocolHTTP, ProtocolHTTPS, ProtocolIcmp, ProtocolTCP} +} + +// ProvisioningState enumerates the values for provisioning state. +type ProvisioningState string + +const ( + // Deleting ... + Deleting ProvisioningState = "Deleting" + // Failed ... + Failed ProvisioningState = "Failed" + // Succeeded ... + Succeeded ProvisioningState = "Succeeded" + // Updating ... + Updating ProvisioningState = "Updating" +) + +// PossibleProvisioningStateValues returns an array of possible values for the ProvisioningState const type. +func PossibleProvisioningStateValues() []ProvisioningState { + return []ProvisioningState{Deleting, Failed, Succeeded, Updating} +} + +// PublicIPAddressSkuName enumerates the values for public ip address sku name. +type PublicIPAddressSkuName string + +const ( + // PublicIPAddressSkuNameBasic ... + PublicIPAddressSkuNameBasic PublicIPAddressSkuName = "Basic" + // PublicIPAddressSkuNameStandard ... + PublicIPAddressSkuNameStandard PublicIPAddressSkuName = "Standard" +) + +// PossiblePublicIPAddressSkuNameValues returns an array of possible values for the PublicIPAddressSkuName const type. +func PossiblePublicIPAddressSkuNameValues() []PublicIPAddressSkuName { + return []PublicIPAddressSkuName{PublicIPAddressSkuNameBasic, PublicIPAddressSkuNameStandard} +} + +// PublicIPPrefixSkuName enumerates the values for public ip prefix sku name. +type PublicIPPrefixSkuName string + +const ( + // PublicIPPrefixSkuNameStandard ... + PublicIPPrefixSkuNameStandard PublicIPPrefixSkuName = "Standard" +) + +// PossiblePublicIPPrefixSkuNameValues returns an array of possible values for the PublicIPPrefixSkuName const type. +func PossiblePublicIPPrefixSkuNameValues() []PublicIPPrefixSkuName { + return []PublicIPPrefixSkuName{PublicIPPrefixSkuNameStandard} +} + +// ResourceIdentityType enumerates the values for resource identity type. +type ResourceIdentityType string + +const ( + // ResourceIdentityTypeNone ... + ResourceIdentityTypeNone ResourceIdentityType = "None" + // ResourceIdentityTypeSystemAssigned ... + ResourceIdentityTypeSystemAssigned ResourceIdentityType = "SystemAssigned" + // ResourceIdentityTypeSystemAssignedUserAssigned ... + ResourceIdentityTypeSystemAssignedUserAssigned ResourceIdentityType = "SystemAssigned, UserAssigned" + // ResourceIdentityTypeUserAssigned ... + ResourceIdentityTypeUserAssigned ResourceIdentityType = "UserAssigned" +) + +// PossibleResourceIdentityTypeValues returns an array of possible values for the ResourceIdentityType const type. +func PossibleResourceIdentityTypeValues() []ResourceIdentityType { + return []ResourceIdentityType{ResourceIdentityTypeNone, ResourceIdentityTypeSystemAssigned, ResourceIdentityTypeSystemAssignedUserAssigned, ResourceIdentityTypeUserAssigned} +} + +// RouteNextHopType enumerates the values for route next hop type. +type RouteNextHopType string + +const ( + // RouteNextHopTypeInternet ... + RouteNextHopTypeInternet RouteNextHopType = "Internet" + // RouteNextHopTypeNone ... + RouteNextHopTypeNone RouteNextHopType = "None" + // RouteNextHopTypeVirtualAppliance ... + RouteNextHopTypeVirtualAppliance RouteNextHopType = "VirtualAppliance" + // RouteNextHopTypeVirtualNetworkGateway ... + RouteNextHopTypeVirtualNetworkGateway RouteNextHopType = "VirtualNetworkGateway" + // RouteNextHopTypeVnetLocal ... + RouteNextHopTypeVnetLocal RouteNextHopType = "VnetLocal" +) + +// PossibleRouteNextHopTypeValues returns an array of possible values for the RouteNextHopType const type. +func PossibleRouteNextHopTypeValues() []RouteNextHopType { + return []RouteNextHopType{RouteNextHopTypeInternet, RouteNextHopTypeNone, RouteNextHopTypeVirtualAppliance, RouteNextHopTypeVirtualNetworkGateway, RouteNextHopTypeVnetLocal} +} + +// RuleConditionType enumerates the values for rule condition type. +type RuleConditionType string + +const ( + // RuleConditionTypeApplicationRuleCondition ... + RuleConditionTypeApplicationRuleCondition RuleConditionType = "ApplicationRuleCondition" + // RuleConditionTypeFirewallPolicyRuleCondition ... + RuleConditionTypeFirewallPolicyRuleCondition RuleConditionType = "FirewallPolicyRuleCondition" + // RuleConditionTypeNetworkRuleCondition ... + RuleConditionTypeNetworkRuleCondition RuleConditionType = "NetworkRuleCondition" +) + +// PossibleRuleConditionTypeValues returns an array of possible values for the RuleConditionType const type. +func PossibleRuleConditionTypeValues() []RuleConditionType { + return []RuleConditionType{RuleConditionTypeApplicationRuleCondition, RuleConditionTypeFirewallPolicyRuleCondition, RuleConditionTypeNetworkRuleCondition} +} + +// RuleType enumerates the values for rule type. +type RuleType string + +const ( + // RuleTypeFirewallPolicyFilterRule ... + RuleTypeFirewallPolicyFilterRule RuleType = "FirewallPolicyFilterRule" + // RuleTypeFirewallPolicyNatRule ... + RuleTypeFirewallPolicyNatRule RuleType = "FirewallPolicyNatRule" + // RuleTypeFirewallPolicyRule ... + RuleTypeFirewallPolicyRule RuleType = "FirewallPolicyRule" +) + +// PossibleRuleTypeValues returns an array of possible values for the RuleType const type. +func PossibleRuleTypeValues() []RuleType { + return []RuleType{RuleTypeFirewallPolicyFilterRule, RuleTypeFirewallPolicyNatRule, RuleTypeFirewallPolicyRule} +} + +// SecurityRuleAccess enumerates the values for security rule access. +type SecurityRuleAccess string + +const ( + // SecurityRuleAccessAllow ... + SecurityRuleAccessAllow SecurityRuleAccess = "Allow" + // SecurityRuleAccessDeny ... + SecurityRuleAccessDeny SecurityRuleAccess = "Deny" +) + +// PossibleSecurityRuleAccessValues returns an array of possible values for the SecurityRuleAccess const type. +func PossibleSecurityRuleAccessValues() []SecurityRuleAccess { + return []SecurityRuleAccess{SecurityRuleAccessAllow, SecurityRuleAccessDeny} +} + +// SecurityRuleDirection enumerates the values for security rule direction. +type SecurityRuleDirection string + +const ( + // SecurityRuleDirectionInbound ... + SecurityRuleDirectionInbound SecurityRuleDirection = "Inbound" + // SecurityRuleDirectionOutbound ... + SecurityRuleDirectionOutbound SecurityRuleDirection = "Outbound" +) + +// PossibleSecurityRuleDirectionValues returns an array of possible values for the SecurityRuleDirection const type. +func PossibleSecurityRuleDirectionValues() []SecurityRuleDirection { + return []SecurityRuleDirection{SecurityRuleDirectionInbound, SecurityRuleDirectionOutbound} +} + +// SecurityRuleProtocol enumerates the values for security rule protocol. +type SecurityRuleProtocol string + +const ( + // SecurityRuleProtocolAsterisk ... + SecurityRuleProtocolAsterisk SecurityRuleProtocol = "*" + // SecurityRuleProtocolEsp ... + SecurityRuleProtocolEsp SecurityRuleProtocol = "Esp" + // SecurityRuleProtocolIcmp ... + SecurityRuleProtocolIcmp SecurityRuleProtocol = "Icmp" + // SecurityRuleProtocolTCP ... + SecurityRuleProtocolTCP SecurityRuleProtocol = "Tcp" + // SecurityRuleProtocolUDP ... + SecurityRuleProtocolUDP SecurityRuleProtocol = "Udp" +) + +// PossibleSecurityRuleProtocolValues returns an array of possible values for the SecurityRuleProtocol const type. +func PossibleSecurityRuleProtocolValues() []SecurityRuleProtocol { + return []SecurityRuleProtocol{SecurityRuleProtocolAsterisk, SecurityRuleProtocolEsp, SecurityRuleProtocolIcmp, SecurityRuleProtocolTCP, SecurityRuleProtocolUDP} +} + +// ServiceProviderProvisioningState enumerates the values for service provider provisioning state. +type ServiceProviderProvisioningState string + +const ( + // Deprovisioning ... + Deprovisioning ServiceProviderProvisioningState = "Deprovisioning" + // NotProvisioned ... + NotProvisioned ServiceProviderProvisioningState = "NotProvisioned" + // Provisioned ... + Provisioned ServiceProviderProvisioningState = "Provisioned" + // Provisioning ... + Provisioning ServiceProviderProvisioningState = "Provisioning" +) + +// PossibleServiceProviderProvisioningStateValues returns an array of possible values for the ServiceProviderProvisioningState const type. +func PossibleServiceProviderProvisioningStateValues() []ServiceProviderProvisioningState { + return []ServiceProviderProvisioningState{Deprovisioning, NotProvisioned, Provisioned, Provisioning} +} + +// Severity enumerates the values for severity. +type Severity string + +const ( + // SeverityError ... + SeverityError Severity = "Error" + // SeverityWarning ... + SeverityWarning Severity = "Warning" +) + +// PossibleSeverityValues returns an array of possible values for the Severity const type. +func PossibleSeverityValues() []Severity { + return []Severity{SeverityError, SeverityWarning} +} + +// TransportProtocol enumerates the values for transport protocol. +type TransportProtocol string + +const ( + // TransportProtocolAll ... + TransportProtocolAll TransportProtocol = "All" + // TransportProtocolTCP ... + TransportProtocolTCP TransportProtocol = "Tcp" + // TransportProtocolUDP ... + TransportProtocolUDP TransportProtocol = "Udp" +) + +// PossibleTransportProtocolValues returns an array of possible values for the TransportProtocol const type. +func PossibleTransportProtocolValues() []TransportProtocol { + return []TransportProtocol{TransportProtocolAll, TransportProtocolTCP, TransportProtocolUDP} +} + +// TunnelConnectionStatus enumerates the values for tunnel connection status. +type TunnelConnectionStatus string + +const ( + // TunnelConnectionStatusConnected ... + TunnelConnectionStatusConnected TunnelConnectionStatus = "Connected" + // TunnelConnectionStatusConnecting ... + TunnelConnectionStatusConnecting TunnelConnectionStatus = "Connecting" + // TunnelConnectionStatusNotConnected ... + TunnelConnectionStatusNotConnected TunnelConnectionStatus = "NotConnected" + // TunnelConnectionStatusUnknown ... + TunnelConnectionStatusUnknown TunnelConnectionStatus = "Unknown" +) + +// PossibleTunnelConnectionStatusValues returns an array of possible values for the TunnelConnectionStatus const type. +func PossibleTunnelConnectionStatusValues() []TunnelConnectionStatus { + return []TunnelConnectionStatus{TunnelConnectionStatusConnected, TunnelConnectionStatusConnecting, TunnelConnectionStatusNotConnected, TunnelConnectionStatusUnknown} +} + +// VerbosityLevel enumerates the values for verbosity level. +type VerbosityLevel string + +const ( + // Full ... + Full VerbosityLevel = "Full" + // Minimum ... + Minimum VerbosityLevel = "Minimum" + // Normal ... + Normal VerbosityLevel = "Normal" +) + +// PossibleVerbosityLevelValues returns an array of possible values for the VerbosityLevel const type. +func PossibleVerbosityLevelValues() []VerbosityLevel { + return []VerbosityLevel{Full, Minimum, Normal} +} + +// VirtualNetworkGatewayConnectionProtocol enumerates the values for virtual network gateway connection +// protocol. +type VirtualNetworkGatewayConnectionProtocol string + +const ( + // IKEv1 ... + IKEv1 VirtualNetworkGatewayConnectionProtocol = "IKEv1" + // IKEv2 ... + IKEv2 VirtualNetworkGatewayConnectionProtocol = "IKEv2" +) + +// PossibleVirtualNetworkGatewayConnectionProtocolValues returns an array of possible values for the VirtualNetworkGatewayConnectionProtocol const type. +func PossibleVirtualNetworkGatewayConnectionProtocolValues() []VirtualNetworkGatewayConnectionProtocol { + return []VirtualNetworkGatewayConnectionProtocol{IKEv1, IKEv2} +} + +// VirtualNetworkGatewayConnectionStatus enumerates the values for virtual network gateway connection status. +type VirtualNetworkGatewayConnectionStatus string + +const ( + // VirtualNetworkGatewayConnectionStatusConnected ... + VirtualNetworkGatewayConnectionStatusConnected VirtualNetworkGatewayConnectionStatus = "Connected" + // VirtualNetworkGatewayConnectionStatusConnecting ... + VirtualNetworkGatewayConnectionStatusConnecting VirtualNetworkGatewayConnectionStatus = "Connecting" + // VirtualNetworkGatewayConnectionStatusNotConnected ... + VirtualNetworkGatewayConnectionStatusNotConnected VirtualNetworkGatewayConnectionStatus = "NotConnected" + // VirtualNetworkGatewayConnectionStatusUnknown ... + VirtualNetworkGatewayConnectionStatusUnknown VirtualNetworkGatewayConnectionStatus = "Unknown" +) + +// PossibleVirtualNetworkGatewayConnectionStatusValues returns an array of possible values for the VirtualNetworkGatewayConnectionStatus const type. +func PossibleVirtualNetworkGatewayConnectionStatusValues() []VirtualNetworkGatewayConnectionStatus { + return []VirtualNetworkGatewayConnectionStatus{VirtualNetworkGatewayConnectionStatusConnected, VirtualNetworkGatewayConnectionStatusConnecting, VirtualNetworkGatewayConnectionStatusNotConnected, VirtualNetworkGatewayConnectionStatusUnknown} +} + +// VirtualNetworkGatewayConnectionType enumerates the values for virtual network gateway connection type. +type VirtualNetworkGatewayConnectionType string + +const ( + // ExpressRoute ... + ExpressRoute VirtualNetworkGatewayConnectionType = "ExpressRoute" + // IPsec ... + IPsec VirtualNetworkGatewayConnectionType = "IPsec" + // Vnet2Vnet ... + Vnet2Vnet VirtualNetworkGatewayConnectionType = "Vnet2Vnet" + // VPNClient ... + VPNClient VirtualNetworkGatewayConnectionType = "VPNClient" +) + +// PossibleVirtualNetworkGatewayConnectionTypeValues returns an array of possible values for the VirtualNetworkGatewayConnectionType const type. +func PossibleVirtualNetworkGatewayConnectionTypeValues() []VirtualNetworkGatewayConnectionType { + return []VirtualNetworkGatewayConnectionType{ExpressRoute, IPsec, Vnet2Vnet, VPNClient} +} + +// VirtualNetworkGatewaySkuName enumerates the values for virtual network gateway sku name. +type VirtualNetworkGatewaySkuName string + +const ( + // VirtualNetworkGatewaySkuNameBasic ... + VirtualNetworkGatewaySkuNameBasic VirtualNetworkGatewaySkuName = "Basic" + // VirtualNetworkGatewaySkuNameErGw1AZ ... + VirtualNetworkGatewaySkuNameErGw1AZ VirtualNetworkGatewaySkuName = "ErGw1AZ" + // VirtualNetworkGatewaySkuNameErGw2AZ ... + VirtualNetworkGatewaySkuNameErGw2AZ VirtualNetworkGatewaySkuName = "ErGw2AZ" + // VirtualNetworkGatewaySkuNameErGw3AZ ... + VirtualNetworkGatewaySkuNameErGw3AZ VirtualNetworkGatewaySkuName = "ErGw3AZ" + // VirtualNetworkGatewaySkuNameHighPerformance ... + VirtualNetworkGatewaySkuNameHighPerformance VirtualNetworkGatewaySkuName = "HighPerformance" + // VirtualNetworkGatewaySkuNameStandard ... + VirtualNetworkGatewaySkuNameStandard VirtualNetworkGatewaySkuName = "Standard" + // VirtualNetworkGatewaySkuNameUltraPerformance ... + VirtualNetworkGatewaySkuNameUltraPerformance VirtualNetworkGatewaySkuName = "UltraPerformance" + // VirtualNetworkGatewaySkuNameVpnGw1 ... + VirtualNetworkGatewaySkuNameVpnGw1 VirtualNetworkGatewaySkuName = "VpnGw1" + // VirtualNetworkGatewaySkuNameVpnGw1AZ ... + VirtualNetworkGatewaySkuNameVpnGw1AZ VirtualNetworkGatewaySkuName = "VpnGw1AZ" + // VirtualNetworkGatewaySkuNameVpnGw2 ... + VirtualNetworkGatewaySkuNameVpnGw2 VirtualNetworkGatewaySkuName = "VpnGw2" + // VirtualNetworkGatewaySkuNameVpnGw2AZ ... + VirtualNetworkGatewaySkuNameVpnGw2AZ VirtualNetworkGatewaySkuName = "VpnGw2AZ" + // VirtualNetworkGatewaySkuNameVpnGw3 ... + VirtualNetworkGatewaySkuNameVpnGw3 VirtualNetworkGatewaySkuName = "VpnGw3" + // VirtualNetworkGatewaySkuNameVpnGw3AZ ... + VirtualNetworkGatewaySkuNameVpnGw3AZ VirtualNetworkGatewaySkuName = "VpnGw3AZ" + // VirtualNetworkGatewaySkuNameVpnGw4 ... + VirtualNetworkGatewaySkuNameVpnGw4 VirtualNetworkGatewaySkuName = "VpnGw4" + // VirtualNetworkGatewaySkuNameVpnGw4AZ ... + VirtualNetworkGatewaySkuNameVpnGw4AZ VirtualNetworkGatewaySkuName = "VpnGw4AZ" + // VirtualNetworkGatewaySkuNameVpnGw5 ... + VirtualNetworkGatewaySkuNameVpnGw5 VirtualNetworkGatewaySkuName = "VpnGw5" + // VirtualNetworkGatewaySkuNameVpnGw5AZ ... + VirtualNetworkGatewaySkuNameVpnGw5AZ VirtualNetworkGatewaySkuName = "VpnGw5AZ" +) + +// PossibleVirtualNetworkGatewaySkuNameValues returns an array of possible values for the VirtualNetworkGatewaySkuName const type. +func PossibleVirtualNetworkGatewaySkuNameValues() []VirtualNetworkGatewaySkuName { + return []VirtualNetworkGatewaySkuName{VirtualNetworkGatewaySkuNameBasic, VirtualNetworkGatewaySkuNameErGw1AZ, VirtualNetworkGatewaySkuNameErGw2AZ, VirtualNetworkGatewaySkuNameErGw3AZ, VirtualNetworkGatewaySkuNameHighPerformance, VirtualNetworkGatewaySkuNameStandard, VirtualNetworkGatewaySkuNameUltraPerformance, VirtualNetworkGatewaySkuNameVpnGw1, VirtualNetworkGatewaySkuNameVpnGw1AZ, VirtualNetworkGatewaySkuNameVpnGw2, VirtualNetworkGatewaySkuNameVpnGw2AZ, VirtualNetworkGatewaySkuNameVpnGw3, VirtualNetworkGatewaySkuNameVpnGw3AZ, VirtualNetworkGatewaySkuNameVpnGw4, VirtualNetworkGatewaySkuNameVpnGw4AZ, VirtualNetworkGatewaySkuNameVpnGw5, VirtualNetworkGatewaySkuNameVpnGw5AZ} +} + +// VirtualNetworkGatewaySkuTier enumerates the values for virtual network gateway sku tier. +type VirtualNetworkGatewaySkuTier string + +const ( + // VirtualNetworkGatewaySkuTierBasic ... + VirtualNetworkGatewaySkuTierBasic VirtualNetworkGatewaySkuTier = "Basic" + // VirtualNetworkGatewaySkuTierErGw1AZ ... + VirtualNetworkGatewaySkuTierErGw1AZ VirtualNetworkGatewaySkuTier = "ErGw1AZ" + // VirtualNetworkGatewaySkuTierErGw2AZ ... + VirtualNetworkGatewaySkuTierErGw2AZ VirtualNetworkGatewaySkuTier = "ErGw2AZ" + // VirtualNetworkGatewaySkuTierErGw3AZ ... + VirtualNetworkGatewaySkuTierErGw3AZ VirtualNetworkGatewaySkuTier = "ErGw3AZ" + // VirtualNetworkGatewaySkuTierHighPerformance ... + VirtualNetworkGatewaySkuTierHighPerformance VirtualNetworkGatewaySkuTier = "HighPerformance" + // VirtualNetworkGatewaySkuTierStandard ... + VirtualNetworkGatewaySkuTierStandard VirtualNetworkGatewaySkuTier = "Standard" + // VirtualNetworkGatewaySkuTierUltraPerformance ... + VirtualNetworkGatewaySkuTierUltraPerformance VirtualNetworkGatewaySkuTier = "UltraPerformance" + // VirtualNetworkGatewaySkuTierVpnGw1 ... + VirtualNetworkGatewaySkuTierVpnGw1 VirtualNetworkGatewaySkuTier = "VpnGw1" + // VirtualNetworkGatewaySkuTierVpnGw1AZ ... + VirtualNetworkGatewaySkuTierVpnGw1AZ VirtualNetworkGatewaySkuTier = "VpnGw1AZ" + // VirtualNetworkGatewaySkuTierVpnGw2 ... + VirtualNetworkGatewaySkuTierVpnGw2 VirtualNetworkGatewaySkuTier = "VpnGw2" + // VirtualNetworkGatewaySkuTierVpnGw2AZ ... + VirtualNetworkGatewaySkuTierVpnGw2AZ VirtualNetworkGatewaySkuTier = "VpnGw2AZ" + // VirtualNetworkGatewaySkuTierVpnGw3 ... + VirtualNetworkGatewaySkuTierVpnGw3 VirtualNetworkGatewaySkuTier = "VpnGw3" + // VirtualNetworkGatewaySkuTierVpnGw3AZ ... + VirtualNetworkGatewaySkuTierVpnGw3AZ VirtualNetworkGatewaySkuTier = "VpnGw3AZ" + // VirtualNetworkGatewaySkuTierVpnGw4 ... + VirtualNetworkGatewaySkuTierVpnGw4 VirtualNetworkGatewaySkuTier = "VpnGw4" + // VirtualNetworkGatewaySkuTierVpnGw4AZ ... + VirtualNetworkGatewaySkuTierVpnGw4AZ VirtualNetworkGatewaySkuTier = "VpnGw4AZ" + // VirtualNetworkGatewaySkuTierVpnGw5 ... + VirtualNetworkGatewaySkuTierVpnGw5 VirtualNetworkGatewaySkuTier = "VpnGw5" + // VirtualNetworkGatewaySkuTierVpnGw5AZ ... + VirtualNetworkGatewaySkuTierVpnGw5AZ VirtualNetworkGatewaySkuTier = "VpnGw5AZ" +) + +// PossibleVirtualNetworkGatewaySkuTierValues returns an array of possible values for the VirtualNetworkGatewaySkuTier const type. +func PossibleVirtualNetworkGatewaySkuTierValues() []VirtualNetworkGatewaySkuTier { + return []VirtualNetworkGatewaySkuTier{VirtualNetworkGatewaySkuTierBasic, VirtualNetworkGatewaySkuTierErGw1AZ, VirtualNetworkGatewaySkuTierErGw2AZ, VirtualNetworkGatewaySkuTierErGw3AZ, VirtualNetworkGatewaySkuTierHighPerformance, VirtualNetworkGatewaySkuTierStandard, VirtualNetworkGatewaySkuTierUltraPerformance, VirtualNetworkGatewaySkuTierVpnGw1, VirtualNetworkGatewaySkuTierVpnGw1AZ, VirtualNetworkGatewaySkuTierVpnGw2, VirtualNetworkGatewaySkuTierVpnGw2AZ, VirtualNetworkGatewaySkuTierVpnGw3, VirtualNetworkGatewaySkuTierVpnGw3AZ, VirtualNetworkGatewaySkuTierVpnGw4, VirtualNetworkGatewaySkuTierVpnGw4AZ, VirtualNetworkGatewaySkuTierVpnGw5, VirtualNetworkGatewaySkuTierVpnGw5AZ} +} + +// VirtualNetworkGatewayType enumerates the values for virtual network gateway type. +type VirtualNetworkGatewayType string + +const ( + // VirtualNetworkGatewayTypeExpressRoute ... + VirtualNetworkGatewayTypeExpressRoute VirtualNetworkGatewayType = "ExpressRoute" + // VirtualNetworkGatewayTypeVpn ... + VirtualNetworkGatewayTypeVpn VirtualNetworkGatewayType = "Vpn" +) + +// PossibleVirtualNetworkGatewayTypeValues returns an array of possible values for the VirtualNetworkGatewayType const type. +func PossibleVirtualNetworkGatewayTypeValues() []VirtualNetworkGatewayType { + return []VirtualNetworkGatewayType{VirtualNetworkGatewayTypeExpressRoute, VirtualNetworkGatewayTypeVpn} +} + +// VirtualNetworkPeeringState enumerates the values for virtual network peering state. +type VirtualNetworkPeeringState string + +const ( + // VirtualNetworkPeeringStateConnected ... + VirtualNetworkPeeringStateConnected VirtualNetworkPeeringState = "Connected" + // VirtualNetworkPeeringStateDisconnected ... + VirtualNetworkPeeringStateDisconnected VirtualNetworkPeeringState = "Disconnected" + // VirtualNetworkPeeringStateInitiated ... + VirtualNetworkPeeringStateInitiated VirtualNetworkPeeringState = "Initiated" +) + +// PossibleVirtualNetworkPeeringStateValues returns an array of possible values for the VirtualNetworkPeeringState const type. +func PossibleVirtualNetworkPeeringStateValues() []VirtualNetworkPeeringState { + return []VirtualNetworkPeeringState{VirtualNetworkPeeringStateConnected, VirtualNetworkPeeringStateDisconnected, VirtualNetworkPeeringStateInitiated} +} + +// VirtualWanSecurityProviderType enumerates the values for virtual wan security provider type. +type VirtualWanSecurityProviderType string + +const ( + // External ... + External VirtualWanSecurityProviderType = "External" + // Native ... + Native VirtualWanSecurityProviderType = "Native" +) + +// PossibleVirtualWanSecurityProviderTypeValues returns an array of possible values for the VirtualWanSecurityProviderType const type. +func PossibleVirtualWanSecurityProviderTypeValues() []VirtualWanSecurityProviderType { + return []VirtualWanSecurityProviderType{External, Native} +} + +// VpnClientProtocol enumerates the values for vpn client protocol. +type VpnClientProtocol string + +const ( + // IkeV2 ... + IkeV2 VpnClientProtocol = "IkeV2" + // OpenVPN ... + OpenVPN VpnClientProtocol = "OpenVPN" + // SSTP ... + SSTP VpnClientProtocol = "SSTP" +) + +// PossibleVpnClientProtocolValues returns an array of possible values for the VpnClientProtocol const type. +func PossibleVpnClientProtocolValues() []VpnClientProtocol { + return []VpnClientProtocol{IkeV2, OpenVPN, SSTP} +} + +// VpnConnectionStatus enumerates the values for vpn connection status. +type VpnConnectionStatus string + +const ( + // VpnConnectionStatusConnected ... + VpnConnectionStatusConnected VpnConnectionStatus = "Connected" + // VpnConnectionStatusConnecting ... + VpnConnectionStatusConnecting VpnConnectionStatus = "Connecting" + // VpnConnectionStatusNotConnected ... + VpnConnectionStatusNotConnected VpnConnectionStatus = "NotConnected" + // VpnConnectionStatusUnknown ... + VpnConnectionStatusUnknown VpnConnectionStatus = "Unknown" +) + +// PossibleVpnConnectionStatusValues returns an array of possible values for the VpnConnectionStatus const type. +func PossibleVpnConnectionStatusValues() []VpnConnectionStatus { + return []VpnConnectionStatus{VpnConnectionStatusConnected, VpnConnectionStatusConnecting, VpnConnectionStatusNotConnected, VpnConnectionStatusUnknown} +} + +// VpnGatewayGeneration enumerates the values for vpn gateway generation. +type VpnGatewayGeneration string + +const ( + // VpnGatewayGenerationGeneration1 ... + VpnGatewayGenerationGeneration1 VpnGatewayGeneration = "Generation1" + // VpnGatewayGenerationGeneration2 ... + VpnGatewayGenerationGeneration2 VpnGatewayGeneration = "Generation2" + // VpnGatewayGenerationNone ... + VpnGatewayGenerationNone VpnGatewayGeneration = "None" +) + +// PossibleVpnGatewayGenerationValues returns an array of possible values for the VpnGatewayGeneration const type. +func PossibleVpnGatewayGenerationValues() []VpnGatewayGeneration { + return []VpnGatewayGeneration{VpnGatewayGenerationGeneration1, VpnGatewayGenerationGeneration2, VpnGatewayGenerationNone} +} + +// VpnGatewayTunnelingProtocol enumerates the values for vpn gateway tunneling protocol. +type VpnGatewayTunnelingProtocol string + +const ( + // VpnGatewayTunnelingProtocolIkeV2 ... + VpnGatewayTunnelingProtocolIkeV2 VpnGatewayTunnelingProtocol = "IkeV2" + // VpnGatewayTunnelingProtocolOpenVPN ... + VpnGatewayTunnelingProtocolOpenVPN VpnGatewayTunnelingProtocol = "OpenVPN" +) + +// PossibleVpnGatewayTunnelingProtocolValues returns an array of possible values for the VpnGatewayTunnelingProtocol const type. +func PossibleVpnGatewayTunnelingProtocolValues() []VpnGatewayTunnelingProtocol { + return []VpnGatewayTunnelingProtocol{VpnGatewayTunnelingProtocolIkeV2, VpnGatewayTunnelingProtocolOpenVPN} +} + +// VpnType enumerates the values for vpn type. +type VpnType string + +const ( + // PolicyBased ... + PolicyBased VpnType = "PolicyBased" + // RouteBased ... + RouteBased VpnType = "RouteBased" +) + +// PossibleVpnTypeValues returns an array of possible values for the VpnType const type. +func PossibleVpnTypeValues() []VpnType { + return []VpnType{PolicyBased, RouteBased} +} + +// WebApplicationFirewallAction enumerates the values for web application firewall action. +type WebApplicationFirewallAction string + +const ( + // WebApplicationFirewallActionAllow ... + WebApplicationFirewallActionAllow WebApplicationFirewallAction = "Allow" + // WebApplicationFirewallActionBlock ... + WebApplicationFirewallActionBlock WebApplicationFirewallAction = "Block" + // WebApplicationFirewallActionLog ... + WebApplicationFirewallActionLog WebApplicationFirewallAction = "Log" +) + +// PossibleWebApplicationFirewallActionValues returns an array of possible values for the WebApplicationFirewallAction const type. +func PossibleWebApplicationFirewallActionValues() []WebApplicationFirewallAction { + return []WebApplicationFirewallAction{WebApplicationFirewallActionAllow, WebApplicationFirewallActionBlock, WebApplicationFirewallActionLog} +} + +// WebApplicationFirewallEnabledState enumerates the values for web application firewall enabled state. +type WebApplicationFirewallEnabledState string + +const ( + // WebApplicationFirewallEnabledStateDisabled ... + WebApplicationFirewallEnabledStateDisabled WebApplicationFirewallEnabledState = "Disabled" + // WebApplicationFirewallEnabledStateEnabled ... + WebApplicationFirewallEnabledStateEnabled WebApplicationFirewallEnabledState = "Enabled" +) + +// PossibleWebApplicationFirewallEnabledStateValues returns an array of possible values for the WebApplicationFirewallEnabledState const type. +func PossibleWebApplicationFirewallEnabledStateValues() []WebApplicationFirewallEnabledState { + return []WebApplicationFirewallEnabledState{WebApplicationFirewallEnabledStateDisabled, WebApplicationFirewallEnabledStateEnabled} +} + +// WebApplicationFirewallMatchVariable enumerates the values for web application firewall match variable. +type WebApplicationFirewallMatchVariable string + +const ( + // PostArgs ... + PostArgs WebApplicationFirewallMatchVariable = "PostArgs" + // QueryString ... + QueryString WebApplicationFirewallMatchVariable = "QueryString" + // RemoteAddr ... + RemoteAddr WebApplicationFirewallMatchVariable = "RemoteAddr" + // RequestBody ... + RequestBody WebApplicationFirewallMatchVariable = "RequestBody" + // RequestCookies ... + RequestCookies WebApplicationFirewallMatchVariable = "RequestCookies" + // RequestHeaders ... + RequestHeaders WebApplicationFirewallMatchVariable = "RequestHeaders" + // RequestMethod ... + RequestMethod WebApplicationFirewallMatchVariable = "RequestMethod" + // RequestURI ... + RequestURI WebApplicationFirewallMatchVariable = "RequestUri" +) + +// PossibleWebApplicationFirewallMatchVariableValues returns an array of possible values for the WebApplicationFirewallMatchVariable const type. +func PossibleWebApplicationFirewallMatchVariableValues() []WebApplicationFirewallMatchVariable { + return []WebApplicationFirewallMatchVariable{PostArgs, QueryString, RemoteAddr, RequestBody, RequestCookies, RequestHeaders, RequestMethod, RequestURI} +} + +// WebApplicationFirewallMode enumerates the values for web application firewall mode. +type WebApplicationFirewallMode string + +const ( + // WebApplicationFirewallModeDetection ... + WebApplicationFirewallModeDetection WebApplicationFirewallMode = "Detection" + // WebApplicationFirewallModePrevention ... + WebApplicationFirewallModePrevention WebApplicationFirewallMode = "Prevention" +) + +// PossibleWebApplicationFirewallModeValues returns an array of possible values for the WebApplicationFirewallMode const type. +func PossibleWebApplicationFirewallModeValues() []WebApplicationFirewallMode { + return []WebApplicationFirewallMode{WebApplicationFirewallModeDetection, WebApplicationFirewallModePrevention} +} + +// WebApplicationFirewallOperator enumerates the values for web application firewall operator. +type WebApplicationFirewallOperator string + +const ( + // WebApplicationFirewallOperatorBeginsWith ... + WebApplicationFirewallOperatorBeginsWith WebApplicationFirewallOperator = "BeginsWith" + // WebApplicationFirewallOperatorContains ... + WebApplicationFirewallOperatorContains WebApplicationFirewallOperator = "Contains" + // WebApplicationFirewallOperatorEndsWith ... + WebApplicationFirewallOperatorEndsWith WebApplicationFirewallOperator = "EndsWith" + // WebApplicationFirewallOperatorEqual ... + WebApplicationFirewallOperatorEqual WebApplicationFirewallOperator = "Equal" + // WebApplicationFirewallOperatorGreaterThan ... + WebApplicationFirewallOperatorGreaterThan WebApplicationFirewallOperator = "GreaterThan" + // WebApplicationFirewallOperatorGreaterThanOrEqual ... + WebApplicationFirewallOperatorGreaterThanOrEqual WebApplicationFirewallOperator = "GreaterThanOrEqual" + // WebApplicationFirewallOperatorIPMatch ... + WebApplicationFirewallOperatorIPMatch WebApplicationFirewallOperator = "IPMatch" + // WebApplicationFirewallOperatorLessThan ... + WebApplicationFirewallOperatorLessThan WebApplicationFirewallOperator = "LessThan" + // WebApplicationFirewallOperatorLessThanOrEqual ... + WebApplicationFirewallOperatorLessThanOrEqual WebApplicationFirewallOperator = "LessThanOrEqual" + // WebApplicationFirewallOperatorRegex ... + WebApplicationFirewallOperatorRegex WebApplicationFirewallOperator = "Regex" +) + +// PossibleWebApplicationFirewallOperatorValues returns an array of possible values for the WebApplicationFirewallOperator const type. +func PossibleWebApplicationFirewallOperatorValues() []WebApplicationFirewallOperator { + return []WebApplicationFirewallOperator{WebApplicationFirewallOperatorBeginsWith, WebApplicationFirewallOperatorContains, WebApplicationFirewallOperatorEndsWith, WebApplicationFirewallOperatorEqual, WebApplicationFirewallOperatorGreaterThan, WebApplicationFirewallOperatorGreaterThanOrEqual, WebApplicationFirewallOperatorIPMatch, WebApplicationFirewallOperatorLessThan, WebApplicationFirewallOperatorLessThanOrEqual, WebApplicationFirewallOperatorRegex} +} + +// WebApplicationFirewallPolicyResourceState enumerates the values for web application firewall policy resource +// state. +type WebApplicationFirewallPolicyResourceState string + +const ( + // WebApplicationFirewallPolicyResourceStateCreating ... + WebApplicationFirewallPolicyResourceStateCreating WebApplicationFirewallPolicyResourceState = "Creating" + // WebApplicationFirewallPolicyResourceStateDeleting ... + WebApplicationFirewallPolicyResourceStateDeleting WebApplicationFirewallPolicyResourceState = "Deleting" + // WebApplicationFirewallPolicyResourceStateDisabled ... + WebApplicationFirewallPolicyResourceStateDisabled WebApplicationFirewallPolicyResourceState = "Disabled" + // WebApplicationFirewallPolicyResourceStateDisabling ... + WebApplicationFirewallPolicyResourceStateDisabling WebApplicationFirewallPolicyResourceState = "Disabling" + // WebApplicationFirewallPolicyResourceStateEnabled ... + WebApplicationFirewallPolicyResourceStateEnabled WebApplicationFirewallPolicyResourceState = "Enabled" + // WebApplicationFirewallPolicyResourceStateEnabling ... + WebApplicationFirewallPolicyResourceStateEnabling WebApplicationFirewallPolicyResourceState = "Enabling" +) + +// PossibleWebApplicationFirewallPolicyResourceStateValues returns an array of possible values for the WebApplicationFirewallPolicyResourceState const type. +func PossibleWebApplicationFirewallPolicyResourceStateValues() []WebApplicationFirewallPolicyResourceState { + return []WebApplicationFirewallPolicyResourceState{WebApplicationFirewallPolicyResourceStateCreating, WebApplicationFirewallPolicyResourceStateDeleting, WebApplicationFirewallPolicyResourceStateDisabled, WebApplicationFirewallPolicyResourceStateDisabling, WebApplicationFirewallPolicyResourceStateEnabled, WebApplicationFirewallPolicyResourceStateEnabling} +} + +// WebApplicationFirewallRuleType enumerates the values for web application firewall rule type. +type WebApplicationFirewallRuleType string + +const ( + // WebApplicationFirewallRuleTypeInvalid ... + WebApplicationFirewallRuleTypeInvalid WebApplicationFirewallRuleType = "Invalid" + // WebApplicationFirewallRuleTypeMatchRule ... + WebApplicationFirewallRuleTypeMatchRule WebApplicationFirewallRuleType = "MatchRule" +) + +// PossibleWebApplicationFirewallRuleTypeValues returns an array of possible values for the WebApplicationFirewallRuleType const type. +func PossibleWebApplicationFirewallRuleTypeValues() []WebApplicationFirewallRuleType { + return []WebApplicationFirewallRuleType{WebApplicationFirewallRuleTypeInvalid, WebApplicationFirewallRuleTypeMatchRule} +} + +// WebApplicationFirewallTransform enumerates the values for web application firewall transform. +type WebApplicationFirewallTransform string + +const ( + // HTMLEntityDecode ... + HTMLEntityDecode WebApplicationFirewallTransform = "HtmlEntityDecode" + // Lowercase ... + Lowercase WebApplicationFirewallTransform = "Lowercase" + // RemoveNulls ... + RemoveNulls WebApplicationFirewallTransform = "RemoveNulls" + // Trim ... + Trim WebApplicationFirewallTransform = "Trim" + // URLDecode ... + URLDecode WebApplicationFirewallTransform = "UrlDecode" + // URLEncode ... + URLEncode WebApplicationFirewallTransform = "UrlEncode" +) + +// PossibleWebApplicationFirewallTransformValues returns an array of possible values for the WebApplicationFirewallTransform const type. +func PossibleWebApplicationFirewallTransformValues() []WebApplicationFirewallTransform { + return []WebApplicationFirewallTransform{HTMLEntityDecode, Lowercase, RemoveNulls, Trim, URLDecode, URLEncode} +} + +// AddressSpace addressSpace contains an array of IP address ranges that can be used by subnets of the +// virtual network. +type AddressSpace struct { + // AddressPrefixes - A list of address blocks reserved for this virtual network in CIDR notation. + AddressPrefixes *[]string `json:"addressPrefixes,omitempty"` +} + +// ApplicationGateway application gateway resource. +type ApplicationGateway struct { + autorest.Response `json:"-"` + // ApplicationGatewayPropertiesFormat - Properties of the application gateway. + *ApplicationGatewayPropertiesFormat `json:"properties,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // Zones - A list of availability zones denoting where the resource needs to come from. + Zones *[]string `json:"zones,omitempty"` + // Identity - The identity of the application gateway, if configured. + Identity *ManagedServiceIdentity `json:"identity,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for ApplicationGateway. +func (ag ApplicationGateway) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if ag.ApplicationGatewayPropertiesFormat != nil { + objectMap["properties"] = ag.ApplicationGatewayPropertiesFormat + } + if ag.Etag != nil { + objectMap["etag"] = ag.Etag + } + if ag.Zones != nil { + objectMap["zones"] = ag.Zones + } + if ag.Identity != nil { + objectMap["identity"] = ag.Identity + } + if ag.ID != nil { + objectMap["id"] = ag.ID + } + if ag.Location != nil { + objectMap["location"] = ag.Location + } + if ag.Tags != nil { + objectMap["tags"] = ag.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ApplicationGateway struct. +func (ag *ApplicationGateway) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var applicationGatewayPropertiesFormat ApplicationGatewayPropertiesFormat + err = json.Unmarshal(*v, &applicationGatewayPropertiesFormat) + if err != nil { + return err + } + ag.ApplicationGatewayPropertiesFormat = &applicationGatewayPropertiesFormat + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + ag.Etag = &etag + } + case "zones": + if v != nil { + var zones []string + err = json.Unmarshal(*v, &zones) + if err != nil { + return err + } + ag.Zones = &zones + } + case "identity": + if v != nil { + var identity ManagedServiceIdentity + err = json.Unmarshal(*v, &identity) + if err != nil { + return err + } + ag.Identity = &identity + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + ag.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + ag.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ag.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + ag.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + ag.Tags = tags + } + } + } + + return nil +} + +// ApplicationGatewayAuthenticationCertificate authentication certificates of an application gateway. +type ApplicationGatewayAuthenticationCertificate struct { + // ApplicationGatewayAuthenticationCertificatePropertiesFormat - Properties of the application gateway authentication certificate. + *ApplicationGatewayAuthenticationCertificatePropertiesFormat `json:"properties,omitempty"` + // Name - Name of the authentication certificate that is unique within an Application Gateway. + Name *string `json:"name,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // Type - Type of the resource. + Type *string `json:"type,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for ApplicationGatewayAuthenticationCertificate. +func (agac ApplicationGatewayAuthenticationCertificate) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if agac.ApplicationGatewayAuthenticationCertificatePropertiesFormat != nil { + objectMap["properties"] = agac.ApplicationGatewayAuthenticationCertificatePropertiesFormat + } + if agac.Name != nil { + objectMap["name"] = agac.Name + } + if agac.Etag != nil { + objectMap["etag"] = agac.Etag + } + if agac.Type != nil { + objectMap["type"] = agac.Type + } + if agac.ID != nil { + objectMap["id"] = agac.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ApplicationGatewayAuthenticationCertificate struct. +func (agac *ApplicationGatewayAuthenticationCertificate) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var applicationGatewayAuthenticationCertificatePropertiesFormat ApplicationGatewayAuthenticationCertificatePropertiesFormat + err = json.Unmarshal(*v, &applicationGatewayAuthenticationCertificatePropertiesFormat) + if err != nil { + return err + } + agac.ApplicationGatewayAuthenticationCertificatePropertiesFormat = &applicationGatewayAuthenticationCertificatePropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + agac.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + agac.Etag = &etag + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + agac.Type = &typeVar + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + agac.ID = &ID + } + } + } + + return nil +} + +// ApplicationGatewayAuthenticationCertificatePropertiesFormat authentication certificates properties of an +// application gateway. +type ApplicationGatewayAuthenticationCertificatePropertiesFormat struct { + // Data - Certificate public data. + Data *string `json:"data,omitempty"` + // ProvisioningState - The provisioning state of the authentication certificate resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// ApplicationGatewayAutoscaleConfiguration application Gateway autoscale configuration. +type ApplicationGatewayAutoscaleConfiguration struct { + // MinCapacity - Lower bound on number of Application Gateway capacity. + MinCapacity *int32 `json:"minCapacity,omitempty"` + // MaxCapacity - Upper bound on number of Application Gateway capacity. + MaxCapacity *int32 `json:"maxCapacity,omitempty"` +} + +// ApplicationGatewayAvailableSslOptions response for ApplicationGatewayAvailableSslOptions API service +// call. +type ApplicationGatewayAvailableSslOptions struct { + autorest.Response `json:"-"` + // ApplicationGatewayAvailableSslOptionsPropertiesFormat - Properties of the application gateway available SSL options. + *ApplicationGatewayAvailableSslOptionsPropertiesFormat `json:"properties,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for ApplicationGatewayAvailableSslOptions. +func (agaso ApplicationGatewayAvailableSslOptions) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if agaso.ApplicationGatewayAvailableSslOptionsPropertiesFormat != nil { + objectMap["properties"] = agaso.ApplicationGatewayAvailableSslOptionsPropertiesFormat + } + if agaso.ID != nil { + objectMap["id"] = agaso.ID + } + if agaso.Location != nil { + objectMap["location"] = agaso.Location + } + if agaso.Tags != nil { + objectMap["tags"] = agaso.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ApplicationGatewayAvailableSslOptions struct. +func (agaso *ApplicationGatewayAvailableSslOptions) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var applicationGatewayAvailableSslOptionsPropertiesFormat ApplicationGatewayAvailableSslOptionsPropertiesFormat + err = json.Unmarshal(*v, &applicationGatewayAvailableSslOptionsPropertiesFormat) + if err != nil { + return err + } + agaso.ApplicationGatewayAvailableSslOptionsPropertiesFormat = &applicationGatewayAvailableSslOptionsPropertiesFormat + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + agaso.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + agaso.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + agaso.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + agaso.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + agaso.Tags = tags + } + } + } + + return nil +} + +// ApplicationGatewayAvailableSslOptionsPropertiesFormat properties of +// ApplicationGatewayAvailableSslOptions. +type ApplicationGatewayAvailableSslOptionsPropertiesFormat struct { + // PredefinedPolicies - List of available Ssl predefined policy. + PredefinedPolicies *[]SubResource `json:"predefinedPolicies,omitempty"` + // DefaultPolicy - Name of the Ssl predefined policy applied by default to application gateway. Possible values include: 'AppGwSslPolicy20150501', 'AppGwSslPolicy20170401', 'AppGwSslPolicy20170401S' + DefaultPolicy ApplicationGatewaySslPolicyName `json:"defaultPolicy,omitempty"` + // AvailableCipherSuites - List of available Ssl cipher suites. + AvailableCipherSuites *[]ApplicationGatewaySslCipherSuite `json:"availableCipherSuites,omitempty"` + // AvailableProtocols - List of available Ssl protocols. + AvailableProtocols *[]ApplicationGatewaySslProtocol `json:"availableProtocols,omitempty"` +} + +// ApplicationGatewayAvailableSslPredefinedPolicies response for ApplicationGatewayAvailableSslOptions API +// service call. +type ApplicationGatewayAvailableSslPredefinedPolicies struct { + autorest.Response `json:"-"` + // Value - List of available Ssl predefined policy. + Value *[]ApplicationGatewaySslPredefinedPolicy `json:"value,omitempty"` + // NextLink - URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// ApplicationGatewayAvailableSslPredefinedPoliciesIterator provides access to a complete listing of +// ApplicationGatewaySslPredefinedPolicy values. +type ApplicationGatewayAvailableSslPredefinedPoliciesIterator struct { + i int + page ApplicationGatewayAvailableSslPredefinedPoliciesPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *ApplicationGatewayAvailableSslPredefinedPoliciesIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationGatewayAvailableSslPredefinedPoliciesIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *ApplicationGatewayAvailableSslPredefinedPoliciesIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter ApplicationGatewayAvailableSslPredefinedPoliciesIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter ApplicationGatewayAvailableSslPredefinedPoliciesIterator) Response() ApplicationGatewayAvailableSslPredefinedPolicies { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter ApplicationGatewayAvailableSslPredefinedPoliciesIterator) Value() ApplicationGatewaySslPredefinedPolicy { + if !iter.page.NotDone() { + return ApplicationGatewaySslPredefinedPolicy{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the ApplicationGatewayAvailableSslPredefinedPoliciesIterator type. +func NewApplicationGatewayAvailableSslPredefinedPoliciesIterator(page ApplicationGatewayAvailableSslPredefinedPoliciesPage) ApplicationGatewayAvailableSslPredefinedPoliciesIterator { + return ApplicationGatewayAvailableSslPredefinedPoliciesIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (agaspp ApplicationGatewayAvailableSslPredefinedPolicies) IsEmpty() bool { + return agaspp.Value == nil || len(*agaspp.Value) == 0 +} + +// applicationGatewayAvailableSslPredefinedPoliciesPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (agaspp ApplicationGatewayAvailableSslPredefinedPolicies) applicationGatewayAvailableSslPredefinedPoliciesPreparer(ctx context.Context) (*http.Request, error) { + if agaspp.NextLink == nil || len(to.String(agaspp.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(agaspp.NextLink))) +} + +// ApplicationGatewayAvailableSslPredefinedPoliciesPage contains a page of +// ApplicationGatewaySslPredefinedPolicy values. +type ApplicationGatewayAvailableSslPredefinedPoliciesPage struct { + fn func(context.Context, ApplicationGatewayAvailableSslPredefinedPolicies) (ApplicationGatewayAvailableSslPredefinedPolicies, error) + agaspp ApplicationGatewayAvailableSslPredefinedPolicies +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *ApplicationGatewayAvailableSslPredefinedPoliciesPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationGatewayAvailableSslPredefinedPoliciesPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.agaspp) + if err != nil { + return err + } + page.agaspp = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *ApplicationGatewayAvailableSslPredefinedPoliciesPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page ApplicationGatewayAvailableSslPredefinedPoliciesPage) NotDone() bool { + return !page.agaspp.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page ApplicationGatewayAvailableSslPredefinedPoliciesPage) Response() ApplicationGatewayAvailableSslPredefinedPolicies { + return page.agaspp +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page ApplicationGatewayAvailableSslPredefinedPoliciesPage) Values() []ApplicationGatewaySslPredefinedPolicy { + if page.agaspp.IsEmpty() { + return nil + } + return *page.agaspp.Value +} + +// Creates a new instance of the ApplicationGatewayAvailableSslPredefinedPoliciesPage type. +func NewApplicationGatewayAvailableSslPredefinedPoliciesPage(getNextPage func(context.Context, ApplicationGatewayAvailableSslPredefinedPolicies) (ApplicationGatewayAvailableSslPredefinedPolicies, error)) ApplicationGatewayAvailableSslPredefinedPoliciesPage { + return ApplicationGatewayAvailableSslPredefinedPoliciesPage{fn: getNextPage} +} + +// ApplicationGatewayAvailableWafRuleSetsResult response for ApplicationGatewayAvailableWafRuleSets API +// service call. +type ApplicationGatewayAvailableWafRuleSetsResult struct { + autorest.Response `json:"-"` + // Value - The list of application gateway rule sets. + Value *[]ApplicationGatewayFirewallRuleSet `json:"value,omitempty"` +} + +// ApplicationGatewayBackendAddress backend address of an application gateway. +type ApplicationGatewayBackendAddress struct { + // Fqdn - Fully qualified domain name (FQDN). + Fqdn *string `json:"fqdn,omitempty"` + // IPAddress - IP address. + IPAddress *string `json:"ipAddress,omitempty"` +} + +// ApplicationGatewayBackendAddressPool backend Address Pool of an application gateway. +type ApplicationGatewayBackendAddressPool struct { + // ApplicationGatewayBackendAddressPoolPropertiesFormat - Properties of the application gateway backend address pool. + *ApplicationGatewayBackendAddressPoolPropertiesFormat `json:"properties,omitempty"` + // Name - Name of the backend address pool that is unique within an Application Gateway. + Name *string `json:"name,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // Type - Type of the resource. + Type *string `json:"type,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for ApplicationGatewayBackendAddressPool. +func (agbap ApplicationGatewayBackendAddressPool) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if agbap.ApplicationGatewayBackendAddressPoolPropertiesFormat != nil { + objectMap["properties"] = agbap.ApplicationGatewayBackendAddressPoolPropertiesFormat + } + if agbap.Name != nil { + objectMap["name"] = agbap.Name + } + if agbap.Etag != nil { + objectMap["etag"] = agbap.Etag + } + if agbap.Type != nil { + objectMap["type"] = agbap.Type + } + if agbap.ID != nil { + objectMap["id"] = agbap.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ApplicationGatewayBackendAddressPool struct. +func (agbap *ApplicationGatewayBackendAddressPool) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var applicationGatewayBackendAddressPoolPropertiesFormat ApplicationGatewayBackendAddressPoolPropertiesFormat + err = json.Unmarshal(*v, &applicationGatewayBackendAddressPoolPropertiesFormat) + if err != nil { + return err + } + agbap.ApplicationGatewayBackendAddressPoolPropertiesFormat = &applicationGatewayBackendAddressPoolPropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + agbap.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + agbap.Etag = &etag + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + agbap.Type = &typeVar + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + agbap.ID = &ID + } + } + } + + return nil +} + +// ApplicationGatewayBackendAddressPoolPropertiesFormat properties of Backend Address Pool of an +// application gateway. +type ApplicationGatewayBackendAddressPoolPropertiesFormat struct { + // BackendIPConfigurations - Collection of references to IPs defined in network interfaces. + BackendIPConfigurations *[]InterfaceIPConfiguration `json:"backendIPConfigurations,omitempty"` + // BackendAddresses - Backend addresses. + BackendAddresses *[]ApplicationGatewayBackendAddress `json:"backendAddresses,omitempty"` + // ProvisioningState - The provisioning state of the backend address pool resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// ApplicationGatewayBackendHealth response for ApplicationGatewayBackendHealth API service call. +type ApplicationGatewayBackendHealth struct { + autorest.Response `json:"-"` + // BackendAddressPools - A list of ApplicationGatewayBackendHealthPool resources. + BackendAddressPools *[]ApplicationGatewayBackendHealthPool `json:"backendAddressPools,omitempty"` +} + +// ApplicationGatewayBackendHealthHTTPSettings application gateway BackendHealthHttp settings. +type ApplicationGatewayBackendHealthHTTPSettings struct { + // BackendHTTPSettings - Reference of an ApplicationGatewayBackendHttpSettings resource. + BackendHTTPSettings *ApplicationGatewayBackendHTTPSettings `json:"backendHttpSettings,omitempty"` + // Servers - List of ApplicationGatewayBackendHealthServer resources. + Servers *[]ApplicationGatewayBackendHealthServer `json:"servers,omitempty"` +} + +// ApplicationGatewayBackendHealthOnDemand result of on demand test probe. +type ApplicationGatewayBackendHealthOnDemand struct { + autorest.Response `json:"-"` + // BackendAddressPool - Reference of an ApplicationGatewayBackendAddressPool resource. + BackendAddressPool *ApplicationGatewayBackendAddressPool `json:"backendAddressPool,omitempty"` + // BackendHealthHTTPSettings - Application gateway BackendHealthHttp settings. + BackendHealthHTTPSettings *ApplicationGatewayBackendHealthHTTPSettings `json:"backendHealthHttpSettings,omitempty"` +} + +// ApplicationGatewayBackendHealthPool application gateway BackendHealth pool. +type ApplicationGatewayBackendHealthPool struct { + // BackendAddressPool - Reference of an ApplicationGatewayBackendAddressPool resource. + BackendAddressPool *ApplicationGatewayBackendAddressPool `json:"backendAddressPool,omitempty"` + // BackendHTTPSettingsCollection - List of ApplicationGatewayBackendHealthHttpSettings resources. + BackendHTTPSettingsCollection *[]ApplicationGatewayBackendHealthHTTPSettings `json:"backendHttpSettingsCollection,omitempty"` +} + +// ApplicationGatewayBackendHealthServer application gateway backendhealth http settings. +type ApplicationGatewayBackendHealthServer struct { + // Address - IP address or FQDN of backend server. + Address *string `json:"address,omitempty"` + // IPConfiguration - Reference of IP configuration of backend server. + IPConfiguration *InterfaceIPConfiguration `json:"ipConfiguration,omitempty"` + // Health - Health of backend server. Possible values include: 'Unknown', 'Up', 'Down', 'Partial', 'Draining' + Health ApplicationGatewayBackendHealthServerHealth `json:"health,omitempty"` + // HealthProbeLog - Health Probe Log. + HealthProbeLog *string `json:"healthProbeLog,omitempty"` +} + +// ApplicationGatewayBackendHTTPSettings backend address pool settings of an application gateway. +type ApplicationGatewayBackendHTTPSettings struct { + // ApplicationGatewayBackendHTTPSettingsPropertiesFormat - Properties of the application gateway backend HTTP settings. + *ApplicationGatewayBackendHTTPSettingsPropertiesFormat `json:"properties,omitempty"` + // Name - Name of the backend http settings that is unique within an Application Gateway. + Name *string `json:"name,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // Type - Type of the resource. + Type *string `json:"type,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for ApplicationGatewayBackendHTTPSettings. +func (agbhs ApplicationGatewayBackendHTTPSettings) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if agbhs.ApplicationGatewayBackendHTTPSettingsPropertiesFormat != nil { + objectMap["properties"] = agbhs.ApplicationGatewayBackendHTTPSettingsPropertiesFormat + } + if agbhs.Name != nil { + objectMap["name"] = agbhs.Name + } + if agbhs.Etag != nil { + objectMap["etag"] = agbhs.Etag + } + if agbhs.Type != nil { + objectMap["type"] = agbhs.Type + } + if agbhs.ID != nil { + objectMap["id"] = agbhs.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ApplicationGatewayBackendHTTPSettings struct. +func (agbhs *ApplicationGatewayBackendHTTPSettings) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var applicationGatewayBackendHTTPSettingsPropertiesFormat ApplicationGatewayBackendHTTPSettingsPropertiesFormat + err = json.Unmarshal(*v, &applicationGatewayBackendHTTPSettingsPropertiesFormat) + if err != nil { + return err + } + agbhs.ApplicationGatewayBackendHTTPSettingsPropertiesFormat = &applicationGatewayBackendHTTPSettingsPropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + agbhs.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + agbhs.Etag = &etag + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + agbhs.Type = &typeVar + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + agbhs.ID = &ID + } + } + } + + return nil +} + +// ApplicationGatewayBackendHTTPSettingsPropertiesFormat properties of Backend address pool settings of an +// application gateway. +type ApplicationGatewayBackendHTTPSettingsPropertiesFormat struct { + // Port - The destination port on the backend. + Port *int32 `json:"port,omitempty"` + // Protocol - The protocol used to communicate with the backend. Possible values include: 'HTTP', 'HTTPS' + Protocol ApplicationGatewayProtocol `json:"protocol,omitempty"` + // CookieBasedAffinity - Cookie based affinity. Possible values include: 'Enabled', 'Disabled' + CookieBasedAffinity ApplicationGatewayCookieBasedAffinity `json:"cookieBasedAffinity,omitempty"` + // RequestTimeout - Request timeout in seconds. Application Gateway will fail the request if response is not received within RequestTimeout. Acceptable values are from 1 second to 86400 seconds. + RequestTimeout *int32 `json:"requestTimeout,omitempty"` + // Probe - Probe resource of an application gateway. + Probe *SubResource `json:"probe,omitempty"` + // AuthenticationCertificates - Array of references to application gateway authentication certificates. + AuthenticationCertificates *[]SubResource `json:"authenticationCertificates,omitempty"` + // TrustedRootCertificates - Array of references to application gateway trusted root certificates. + TrustedRootCertificates *[]SubResource `json:"trustedRootCertificates,omitempty"` + // ConnectionDraining - Connection draining of the backend http settings resource. + ConnectionDraining *ApplicationGatewayConnectionDraining `json:"connectionDraining,omitempty"` + // HostName - Host header to be sent to the backend servers. + HostName *string `json:"hostName,omitempty"` + // PickHostNameFromBackendAddress - Whether to pick host header should be picked from the host name of the backend server. Default value is false. + PickHostNameFromBackendAddress *bool `json:"pickHostNameFromBackendAddress,omitempty"` + // AffinityCookieName - Cookie name to use for the affinity cookie. + AffinityCookieName *string `json:"affinityCookieName,omitempty"` + // ProbeEnabled - Whether the probe is enabled. Default value is false. + ProbeEnabled *bool `json:"probeEnabled,omitempty"` + // Path - Path which should be used as a prefix for all HTTP requests. Null means no path will be prefixed. Default value is null. + Path *string `json:"path,omitempty"` + // ProvisioningState - The provisioning state of the backend HTTP settings resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// ApplicationGatewayConnectionDraining connection draining allows open connections to a backend server to +// be active for a specified time after the backend server got removed from the configuration. +type ApplicationGatewayConnectionDraining struct { + // Enabled - Whether connection draining is enabled or not. + Enabled *bool `json:"enabled,omitempty"` + // DrainTimeoutInSec - The number of seconds connection draining is active. Acceptable values are from 1 second to 3600 seconds. + DrainTimeoutInSec *int32 `json:"drainTimeoutInSec,omitempty"` +} + +// ApplicationGatewayCustomError customer error of an application gateway. +type ApplicationGatewayCustomError struct { + // StatusCode - Status code of the application gateway customer error. Possible values include: 'HTTPStatus403', 'HTTPStatus502' + StatusCode ApplicationGatewayCustomErrorStatusCode `json:"statusCode,omitempty"` + // CustomErrorPageURL - Error page URL of the application gateway customer error. + CustomErrorPageURL *string `json:"customErrorPageUrl,omitempty"` +} + +// ApplicationGatewayFirewallDisabledRuleGroup allows to disable rules within a rule group or an entire +// rule group. +type ApplicationGatewayFirewallDisabledRuleGroup struct { + // RuleGroupName - The name of the rule group that will be disabled. + RuleGroupName *string `json:"ruleGroupName,omitempty"` + // Rules - The list of rules that will be disabled. If null, all rules of the rule group will be disabled. + Rules *[]int32 `json:"rules,omitempty"` +} + +// ApplicationGatewayFirewallExclusion allow to exclude some variable satisfy the condition for the WAF +// check. +type ApplicationGatewayFirewallExclusion struct { + // MatchVariable - The variable to be excluded. + MatchVariable *string `json:"matchVariable,omitempty"` + // SelectorMatchOperator - When matchVariable is a collection, operate on the selector to specify which elements in the collection this exclusion applies to. + SelectorMatchOperator *string `json:"selectorMatchOperator,omitempty"` + // Selector - When matchVariable is a collection, operator used to specify which elements in the collection this exclusion applies to. + Selector *string `json:"selector,omitempty"` +} + +// ApplicationGatewayFirewallRule a web application firewall rule. +type ApplicationGatewayFirewallRule struct { + // RuleID - The identifier of the web application firewall rule. + RuleID *int32 `json:"ruleId,omitempty"` + // Description - The description of the web application firewall rule. + Description *string `json:"description,omitempty"` +} + +// ApplicationGatewayFirewallRuleGroup a web application firewall rule group. +type ApplicationGatewayFirewallRuleGroup struct { + // RuleGroupName - The name of the web application firewall rule group. + RuleGroupName *string `json:"ruleGroupName,omitempty"` + // Description - The description of the web application firewall rule group. + Description *string `json:"description,omitempty"` + // Rules - The rules of the web application firewall rule group. + Rules *[]ApplicationGatewayFirewallRule `json:"rules,omitempty"` +} + +// ApplicationGatewayFirewallRuleSet a web application firewall rule set. +type ApplicationGatewayFirewallRuleSet struct { + // ApplicationGatewayFirewallRuleSetPropertiesFormat - Properties of the application gateway firewall rule set. + *ApplicationGatewayFirewallRuleSetPropertiesFormat `json:"properties,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for ApplicationGatewayFirewallRuleSet. +func (agfrs ApplicationGatewayFirewallRuleSet) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if agfrs.ApplicationGatewayFirewallRuleSetPropertiesFormat != nil { + objectMap["properties"] = agfrs.ApplicationGatewayFirewallRuleSetPropertiesFormat + } + if agfrs.ID != nil { + objectMap["id"] = agfrs.ID + } + if agfrs.Location != nil { + objectMap["location"] = agfrs.Location + } + if agfrs.Tags != nil { + objectMap["tags"] = agfrs.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ApplicationGatewayFirewallRuleSet struct. +func (agfrs *ApplicationGatewayFirewallRuleSet) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var applicationGatewayFirewallRuleSetPropertiesFormat ApplicationGatewayFirewallRuleSetPropertiesFormat + err = json.Unmarshal(*v, &applicationGatewayFirewallRuleSetPropertiesFormat) + if err != nil { + return err + } + agfrs.ApplicationGatewayFirewallRuleSetPropertiesFormat = &applicationGatewayFirewallRuleSetPropertiesFormat + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + agfrs.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + agfrs.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + agfrs.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + agfrs.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + agfrs.Tags = tags + } + } + } + + return nil +} + +// ApplicationGatewayFirewallRuleSetPropertiesFormat properties of the web application firewall rule set. +type ApplicationGatewayFirewallRuleSetPropertiesFormat struct { + // ProvisioningState - The provisioning state of the web application firewall rule set. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + // RuleSetType - The type of the web application firewall rule set. + RuleSetType *string `json:"ruleSetType,omitempty"` + // RuleSetVersion - The version of the web application firewall rule set type. + RuleSetVersion *string `json:"ruleSetVersion,omitempty"` + // RuleGroups - The rule groups of the web application firewall rule set. + RuleGroups *[]ApplicationGatewayFirewallRuleGroup `json:"ruleGroups,omitempty"` +} + +// ApplicationGatewayFrontendIPConfiguration frontend IP configuration of an application gateway. +type ApplicationGatewayFrontendIPConfiguration struct { + // ApplicationGatewayFrontendIPConfigurationPropertiesFormat - Properties of the application gateway frontend IP configuration. + *ApplicationGatewayFrontendIPConfigurationPropertiesFormat `json:"properties,omitempty"` + // Name - Name of the frontend IP configuration that is unique within an Application Gateway. + Name *string `json:"name,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // Type - Type of the resource. + Type *string `json:"type,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for ApplicationGatewayFrontendIPConfiguration. +func (agfic ApplicationGatewayFrontendIPConfiguration) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if agfic.ApplicationGatewayFrontendIPConfigurationPropertiesFormat != nil { + objectMap["properties"] = agfic.ApplicationGatewayFrontendIPConfigurationPropertiesFormat + } + if agfic.Name != nil { + objectMap["name"] = agfic.Name + } + if agfic.Etag != nil { + objectMap["etag"] = agfic.Etag + } + if agfic.Type != nil { + objectMap["type"] = agfic.Type + } + if agfic.ID != nil { + objectMap["id"] = agfic.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ApplicationGatewayFrontendIPConfiguration struct. +func (agfic *ApplicationGatewayFrontendIPConfiguration) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var applicationGatewayFrontendIPConfigurationPropertiesFormat ApplicationGatewayFrontendIPConfigurationPropertiesFormat + err = json.Unmarshal(*v, &applicationGatewayFrontendIPConfigurationPropertiesFormat) + if err != nil { + return err + } + agfic.ApplicationGatewayFrontendIPConfigurationPropertiesFormat = &applicationGatewayFrontendIPConfigurationPropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + agfic.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + agfic.Etag = &etag + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + agfic.Type = &typeVar + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + agfic.ID = &ID + } + } + } + + return nil +} + +// ApplicationGatewayFrontendIPConfigurationPropertiesFormat properties of Frontend IP configuration of an +// application gateway. +type ApplicationGatewayFrontendIPConfigurationPropertiesFormat struct { + // PrivateIPAddress - PrivateIPAddress of the network interface IP Configuration. + PrivateIPAddress *string `json:"privateIPAddress,omitempty"` + // PrivateIPAllocationMethod - The private IP address allocation method. Possible values include: 'Static', 'Dynamic' + PrivateIPAllocationMethod IPAllocationMethod `json:"privateIPAllocationMethod,omitempty"` + // Subnet - Reference of the subnet resource. + Subnet *SubResource `json:"subnet,omitempty"` + // PublicIPAddress - Reference of the PublicIP resource. + PublicIPAddress *SubResource `json:"publicIPAddress,omitempty"` + // ProvisioningState - The provisioning state of the frontend IP configuration resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// ApplicationGatewayFrontendPort frontend port of an application gateway. +type ApplicationGatewayFrontendPort struct { + // ApplicationGatewayFrontendPortPropertiesFormat - Properties of the application gateway frontend port. + *ApplicationGatewayFrontendPortPropertiesFormat `json:"properties,omitempty"` + // Name - Name of the frontend port that is unique within an Application Gateway. + Name *string `json:"name,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // Type - Type of the resource. + Type *string `json:"type,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for ApplicationGatewayFrontendPort. +func (agfp ApplicationGatewayFrontendPort) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if agfp.ApplicationGatewayFrontendPortPropertiesFormat != nil { + objectMap["properties"] = agfp.ApplicationGatewayFrontendPortPropertiesFormat + } + if agfp.Name != nil { + objectMap["name"] = agfp.Name + } + if agfp.Etag != nil { + objectMap["etag"] = agfp.Etag + } + if agfp.Type != nil { + objectMap["type"] = agfp.Type + } + if agfp.ID != nil { + objectMap["id"] = agfp.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ApplicationGatewayFrontendPort struct. +func (agfp *ApplicationGatewayFrontendPort) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var applicationGatewayFrontendPortPropertiesFormat ApplicationGatewayFrontendPortPropertiesFormat + err = json.Unmarshal(*v, &applicationGatewayFrontendPortPropertiesFormat) + if err != nil { + return err + } + agfp.ApplicationGatewayFrontendPortPropertiesFormat = &applicationGatewayFrontendPortPropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + agfp.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + agfp.Etag = &etag + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + agfp.Type = &typeVar + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + agfp.ID = &ID + } + } + } + + return nil +} + +// ApplicationGatewayFrontendPortPropertiesFormat properties of Frontend port of an application gateway. +type ApplicationGatewayFrontendPortPropertiesFormat struct { + // Port - Frontend port. + Port *int32 `json:"port,omitempty"` + // ProvisioningState - The provisioning state of the frontend port resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// ApplicationGatewayHeaderConfiguration header configuration of the Actions set in Application Gateway. +type ApplicationGatewayHeaderConfiguration struct { + // HeaderName - Header name of the header configuration. + HeaderName *string `json:"headerName,omitempty"` + // HeaderValue - Header value of the header configuration. + HeaderValue *string `json:"headerValue,omitempty"` +} + +// ApplicationGatewayHTTPListener http listener of an application gateway. +type ApplicationGatewayHTTPListener struct { + // ApplicationGatewayHTTPListenerPropertiesFormat - Properties of the application gateway HTTP listener. + *ApplicationGatewayHTTPListenerPropertiesFormat `json:"properties,omitempty"` + // Name - Name of the HTTP listener that is unique within an Application Gateway. + Name *string `json:"name,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // Type - Type of the resource. + Type *string `json:"type,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for ApplicationGatewayHTTPListener. +func (aghl ApplicationGatewayHTTPListener) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if aghl.ApplicationGatewayHTTPListenerPropertiesFormat != nil { + objectMap["properties"] = aghl.ApplicationGatewayHTTPListenerPropertiesFormat + } + if aghl.Name != nil { + objectMap["name"] = aghl.Name + } + if aghl.Etag != nil { + objectMap["etag"] = aghl.Etag + } + if aghl.Type != nil { + objectMap["type"] = aghl.Type + } + if aghl.ID != nil { + objectMap["id"] = aghl.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ApplicationGatewayHTTPListener struct. +func (aghl *ApplicationGatewayHTTPListener) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var applicationGatewayHTTPListenerPropertiesFormat ApplicationGatewayHTTPListenerPropertiesFormat + err = json.Unmarshal(*v, &applicationGatewayHTTPListenerPropertiesFormat) + if err != nil { + return err + } + aghl.ApplicationGatewayHTTPListenerPropertiesFormat = &applicationGatewayHTTPListenerPropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + aghl.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + aghl.Etag = &etag + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + aghl.Type = &typeVar + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + aghl.ID = &ID + } + } + } + + return nil +} + +// ApplicationGatewayHTTPListenerPropertiesFormat properties of HTTP listener of an application gateway. +type ApplicationGatewayHTTPListenerPropertiesFormat struct { + // FrontendIPConfiguration - Frontend IP configuration resource of an application gateway. + FrontendIPConfiguration *SubResource `json:"frontendIPConfiguration,omitempty"` + // FrontendPort - Frontend port resource of an application gateway. + FrontendPort *SubResource `json:"frontendPort,omitempty"` + // Protocol - Protocol of the HTTP listener. Possible values include: 'HTTP', 'HTTPS' + Protocol ApplicationGatewayProtocol `json:"protocol,omitempty"` + // HostName - Host name of HTTP listener. + HostName *string `json:"hostName,omitempty"` + // SslCertificate - SSL certificate resource of an application gateway. + SslCertificate *SubResource `json:"sslCertificate,omitempty"` + // RequireServerNameIndication - Applicable only if protocol is https. Enables SNI for multi-hosting. + RequireServerNameIndication *bool `json:"requireServerNameIndication,omitempty"` + // ProvisioningState - The provisioning state of the HTTP listener resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + // CustomErrorConfigurations - Custom error configurations of the HTTP listener. + CustomErrorConfigurations *[]ApplicationGatewayCustomError `json:"customErrorConfigurations,omitempty"` +} + +// ApplicationGatewayIPConfiguration IP configuration of an application gateway. Currently 1 public and 1 +// private IP configuration is allowed. +type ApplicationGatewayIPConfiguration struct { + // ApplicationGatewayIPConfigurationPropertiesFormat - Properties of the application gateway IP configuration. + *ApplicationGatewayIPConfigurationPropertiesFormat `json:"properties,omitempty"` + // Name - Name of the IP configuration that is unique within an Application Gateway. + Name *string `json:"name,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // Type - Type of the resource. + Type *string `json:"type,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for ApplicationGatewayIPConfiguration. +func (agic ApplicationGatewayIPConfiguration) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if agic.ApplicationGatewayIPConfigurationPropertiesFormat != nil { + objectMap["properties"] = agic.ApplicationGatewayIPConfigurationPropertiesFormat + } + if agic.Name != nil { + objectMap["name"] = agic.Name + } + if agic.Etag != nil { + objectMap["etag"] = agic.Etag + } + if agic.Type != nil { + objectMap["type"] = agic.Type + } + if agic.ID != nil { + objectMap["id"] = agic.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ApplicationGatewayIPConfiguration struct. +func (agic *ApplicationGatewayIPConfiguration) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var applicationGatewayIPConfigurationPropertiesFormat ApplicationGatewayIPConfigurationPropertiesFormat + err = json.Unmarshal(*v, &applicationGatewayIPConfigurationPropertiesFormat) + if err != nil { + return err + } + agic.ApplicationGatewayIPConfigurationPropertiesFormat = &applicationGatewayIPConfigurationPropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + agic.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + agic.Etag = &etag + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + agic.Type = &typeVar + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + agic.ID = &ID + } + } + } + + return nil +} + +// ApplicationGatewayIPConfigurationPropertiesFormat properties of IP configuration of an application +// gateway. +type ApplicationGatewayIPConfigurationPropertiesFormat struct { + // Subnet - Reference of the subnet resource. A subnet from where application gateway gets its private address. + Subnet *SubResource `json:"subnet,omitempty"` + // ProvisioningState - The provisioning state of the application gateway IP configuration resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// ApplicationGatewayListResult response for ListApplicationGateways API service call. +type ApplicationGatewayListResult struct { + autorest.Response `json:"-"` + // Value - List of an application gateways in a resource group. + Value *[]ApplicationGateway `json:"value,omitempty"` + // NextLink - URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// ApplicationGatewayListResultIterator provides access to a complete listing of ApplicationGateway values. +type ApplicationGatewayListResultIterator struct { + i int + page ApplicationGatewayListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *ApplicationGatewayListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationGatewayListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *ApplicationGatewayListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter ApplicationGatewayListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter ApplicationGatewayListResultIterator) Response() ApplicationGatewayListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter ApplicationGatewayListResultIterator) Value() ApplicationGateway { + if !iter.page.NotDone() { + return ApplicationGateway{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the ApplicationGatewayListResultIterator type. +func NewApplicationGatewayListResultIterator(page ApplicationGatewayListResultPage) ApplicationGatewayListResultIterator { + return ApplicationGatewayListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (aglr ApplicationGatewayListResult) IsEmpty() bool { + return aglr.Value == nil || len(*aglr.Value) == 0 +} + +// applicationGatewayListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (aglr ApplicationGatewayListResult) applicationGatewayListResultPreparer(ctx context.Context) (*http.Request, error) { + if aglr.NextLink == nil || len(to.String(aglr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(aglr.NextLink))) +} + +// ApplicationGatewayListResultPage contains a page of ApplicationGateway values. +type ApplicationGatewayListResultPage struct { + fn func(context.Context, ApplicationGatewayListResult) (ApplicationGatewayListResult, error) + aglr ApplicationGatewayListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *ApplicationGatewayListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationGatewayListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.aglr) + if err != nil { + return err + } + page.aglr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *ApplicationGatewayListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page ApplicationGatewayListResultPage) NotDone() bool { + return !page.aglr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page ApplicationGatewayListResultPage) Response() ApplicationGatewayListResult { + return page.aglr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page ApplicationGatewayListResultPage) Values() []ApplicationGateway { + if page.aglr.IsEmpty() { + return nil + } + return *page.aglr.Value +} + +// Creates a new instance of the ApplicationGatewayListResultPage type. +func NewApplicationGatewayListResultPage(getNextPage func(context.Context, ApplicationGatewayListResult) (ApplicationGatewayListResult, error)) ApplicationGatewayListResultPage { + return ApplicationGatewayListResultPage{fn: getNextPage} +} + +// ApplicationGatewayOnDemandProbe details of on demand test probe request. +type ApplicationGatewayOnDemandProbe struct { + // Protocol - The protocol used for the probe. Possible values include: 'HTTP', 'HTTPS' + Protocol ApplicationGatewayProtocol `json:"protocol,omitempty"` + // Host - Host name to send the probe to. + Host *string `json:"host,omitempty"` + // Path - Relative path of probe. Valid path starts from '/'. Probe is sent to ://:. + Path *string `json:"path,omitempty"` + // Timeout - The probe timeout in seconds. Probe marked as failed if valid response is not received with this timeout period. Acceptable values are from 1 second to 86400 seconds. + Timeout *int32 `json:"timeout,omitempty"` + // PickHostNameFromBackendHTTPSettings - Whether the host header should be picked from the backend http settings. Default value is false. + PickHostNameFromBackendHTTPSettings *bool `json:"pickHostNameFromBackendHttpSettings,omitempty"` + // Match - Criterion for classifying a healthy probe response. + Match *ApplicationGatewayProbeHealthResponseMatch `json:"match,omitempty"` + // BackendAddressPool - Reference of backend pool of application gateway to which probe request will be sent. + BackendAddressPool *SubResource `json:"backendAddressPool,omitempty"` + // BackendHTTPSettings - Reference of backend http setting of application gateway to be used for test probe. + BackendHTTPSettings *SubResource `json:"backendHttpSettings,omitempty"` +} + +// ApplicationGatewayPathRule path rule of URL path map of an application gateway. +type ApplicationGatewayPathRule struct { + // ApplicationGatewayPathRulePropertiesFormat - Properties of the application gateway path rule. + *ApplicationGatewayPathRulePropertiesFormat `json:"properties,omitempty"` + // Name - Name of the path rule that is unique within an Application Gateway. + Name *string `json:"name,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // Type - Type of the resource. + Type *string `json:"type,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for ApplicationGatewayPathRule. +func (agpr ApplicationGatewayPathRule) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if agpr.ApplicationGatewayPathRulePropertiesFormat != nil { + objectMap["properties"] = agpr.ApplicationGatewayPathRulePropertiesFormat + } + if agpr.Name != nil { + objectMap["name"] = agpr.Name + } + if agpr.Etag != nil { + objectMap["etag"] = agpr.Etag + } + if agpr.Type != nil { + objectMap["type"] = agpr.Type + } + if agpr.ID != nil { + objectMap["id"] = agpr.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ApplicationGatewayPathRule struct. +func (agpr *ApplicationGatewayPathRule) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var applicationGatewayPathRulePropertiesFormat ApplicationGatewayPathRulePropertiesFormat + err = json.Unmarshal(*v, &applicationGatewayPathRulePropertiesFormat) + if err != nil { + return err + } + agpr.ApplicationGatewayPathRulePropertiesFormat = &applicationGatewayPathRulePropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + agpr.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + agpr.Etag = &etag + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + agpr.Type = &typeVar + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + agpr.ID = &ID + } + } + } + + return nil +} + +// ApplicationGatewayPathRulePropertiesFormat properties of path rule of an application gateway. +type ApplicationGatewayPathRulePropertiesFormat struct { + // Paths - Path rules of URL path map. + Paths *[]string `json:"paths,omitempty"` + // BackendAddressPool - Backend address pool resource of URL path map path rule. + BackendAddressPool *SubResource `json:"backendAddressPool,omitempty"` + // BackendHTTPSettings - Backend http settings resource of URL path map path rule. + BackendHTTPSettings *SubResource `json:"backendHttpSettings,omitempty"` + // RedirectConfiguration - Redirect configuration resource of URL path map path rule. + RedirectConfiguration *SubResource `json:"redirectConfiguration,omitempty"` + // RewriteRuleSet - Rewrite rule set resource of URL path map path rule. + RewriteRuleSet *SubResource `json:"rewriteRuleSet,omitempty"` + // ProvisioningState - The provisioning state of the path rule resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// ApplicationGatewayProbe probe of the application gateway. +type ApplicationGatewayProbe struct { + // ApplicationGatewayProbePropertiesFormat - Properties of the application gateway probe. + *ApplicationGatewayProbePropertiesFormat `json:"properties,omitempty"` + // Name - Name of the probe that is unique within an Application Gateway. + Name *string `json:"name,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // Type - Type of the resource. + Type *string `json:"type,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for ApplicationGatewayProbe. +func (agp ApplicationGatewayProbe) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if agp.ApplicationGatewayProbePropertiesFormat != nil { + objectMap["properties"] = agp.ApplicationGatewayProbePropertiesFormat + } + if agp.Name != nil { + objectMap["name"] = agp.Name + } + if agp.Etag != nil { + objectMap["etag"] = agp.Etag + } + if agp.Type != nil { + objectMap["type"] = agp.Type + } + if agp.ID != nil { + objectMap["id"] = agp.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ApplicationGatewayProbe struct. +func (agp *ApplicationGatewayProbe) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var applicationGatewayProbePropertiesFormat ApplicationGatewayProbePropertiesFormat + err = json.Unmarshal(*v, &applicationGatewayProbePropertiesFormat) + if err != nil { + return err + } + agp.ApplicationGatewayProbePropertiesFormat = &applicationGatewayProbePropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + agp.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + agp.Etag = &etag + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + agp.Type = &typeVar + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + agp.ID = &ID + } + } + } + + return nil +} + +// ApplicationGatewayProbeHealthResponseMatch application gateway probe health response match. +type ApplicationGatewayProbeHealthResponseMatch struct { + // Body - Body that must be contained in the health response. Default value is empty. + Body *string `json:"body,omitempty"` + // StatusCodes - Allowed ranges of healthy status codes. Default range of healthy status codes is 200-399. + StatusCodes *[]string `json:"statusCodes,omitempty"` +} + +// ApplicationGatewayProbePropertiesFormat properties of probe of an application gateway. +type ApplicationGatewayProbePropertiesFormat struct { + // Protocol - The protocol used for the probe. Possible values include: 'HTTP', 'HTTPS' + Protocol ApplicationGatewayProtocol `json:"protocol,omitempty"` + // Host - Host name to send the probe to. + Host *string `json:"host,omitempty"` + // Path - Relative path of probe. Valid path starts from '/'. Probe is sent to ://:. + Path *string `json:"path,omitempty"` + // Interval - The probing interval in seconds. This is the time interval between two consecutive probes. Acceptable values are from 1 second to 86400 seconds. + Interval *int32 `json:"interval,omitempty"` + // Timeout - The probe timeout in seconds. Probe marked as failed if valid response is not received with this timeout period. Acceptable values are from 1 second to 86400 seconds. + Timeout *int32 `json:"timeout,omitempty"` + // UnhealthyThreshold - The probe retry count. Backend server is marked down after consecutive probe failure count reaches UnhealthyThreshold. Acceptable values are from 1 second to 20. + UnhealthyThreshold *int32 `json:"unhealthyThreshold,omitempty"` + // PickHostNameFromBackendHTTPSettings - Whether the host header should be picked from the backend http settings. Default value is false. + PickHostNameFromBackendHTTPSettings *bool `json:"pickHostNameFromBackendHttpSettings,omitempty"` + // MinServers - Minimum number of servers that are always marked healthy. Default value is 0. + MinServers *int32 `json:"minServers,omitempty"` + // Match - Criterion for classifying a healthy probe response. + Match *ApplicationGatewayProbeHealthResponseMatch `json:"match,omitempty"` + // ProvisioningState - The provisioning state of the probe resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + // Port - Custom port which will be used for probing the backend servers. The valid value ranges from 1 to 65535. In case not set, port from http settings will be used. This property is valid for Standard_v2 and WAF_v2 only. + Port *int32 `json:"port,omitempty"` +} + +// ApplicationGatewayPropertiesFormat properties of the application gateway. +type ApplicationGatewayPropertiesFormat struct { + // Sku - SKU of the application gateway resource. + Sku *ApplicationGatewaySku `json:"sku,omitempty"` + // SslPolicy - SSL policy of the application gateway resource. + SslPolicy *ApplicationGatewaySslPolicy `json:"sslPolicy,omitempty"` + // OperationalState - READ-ONLY; Operational state of the application gateway resource. Possible values include: 'Stopped', 'Starting', 'Running', 'Stopping' + OperationalState ApplicationGatewayOperationalState `json:"operationalState,omitempty"` + // GatewayIPConfigurations - Subnets of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + GatewayIPConfigurations *[]ApplicationGatewayIPConfiguration `json:"gatewayIPConfigurations,omitempty"` + // AuthenticationCertificates - Authentication certificates of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + AuthenticationCertificates *[]ApplicationGatewayAuthenticationCertificate `json:"authenticationCertificates,omitempty"` + // TrustedRootCertificates - Trusted Root certificates of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + TrustedRootCertificates *[]ApplicationGatewayTrustedRootCertificate `json:"trustedRootCertificates,omitempty"` + // SslCertificates - SSL certificates of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + SslCertificates *[]ApplicationGatewaySslCertificate `json:"sslCertificates,omitempty"` + // FrontendIPConfigurations - Frontend IP addresses of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + FrontendIPConfigurations *[]ApplicationGatewayFrontendIPConfiguration `json:"frontendIPConfigurations,omitempty"` + // FrontendPorts - Frontend ports of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + FrontendPorts *[]ApplicationGatewayFrontendPort `json:"frontendPorts,omitempty"` + // Probes - Probes of the application gateway resource. + Probes *[]ApplicationGatewayProbe `json:"probes,omitempty"` + // BackendAddressPools - Backend address pool of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + BackendAddressPools *[]ApplicationGatewayBackendAddressPool `json:"backendAddressPools,omitempty"` + // BackendHTTPSettingsCollection - Backend http settings of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + BackendHTTPSettingsCollection *[]ApplicationGatewayBackendHTTPSettings `json:"backendHttpSettingsCollection,omitempty"` + // HTTPListeners - Http listeners of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + HTTPListeners *[]ApplicationGatewayHTTPListener `json:"httpListeners,omitempty"` + // URLPathMaps - URL path map of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + URLPathMaps *[]ApplicationGatewayURLPathMap `json:"urlPathMaps,omitempty"` + // RequestRoutingRules - Request routing rules of the application gateway resource. + RequestRoutingRules *[]ApplicationGatewayRequestRoutingRule `json:"requestRoutingRules,omitempty"` + // RewriteRuleSets - Rewrite rules for the application gateway resource. + RewriteRuleSets *[]ApplicationGatewayRewriteRuleSet `json:"rewriteRuleSets,omitempty"` + // RedirectConfigurations - Redirect configurations of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + RedirectConfigurations *[]ApplicationGatewayRedirectConfiguration `json:"redirectConfigurations,omitempty"` + // WebApplicationFirewallConfiguration - Web application firewall configuration. + WebApplicationFirewallConfiguration *ApplicationGatewayWebApplicationFirewallConfiguration `json:"webApplicationFirewallConfiguration,omitempty"` + // FirewallPolicy - Reference of the FirewallPolicy resource. + FirewallPolicy *SubResource `json:"firewallPolicy,omitempty"` + // EnableHTTP2 - Whether HTTP2 is enabled on the application gateway resource. + EnableHTTP2 *bool `json:"enableHttp2,omitempty"` + // EnableFips - Whether FIPS is enabled on the application gateway resource. + EnableFips *bool `json:"enableFips,omitempty"` + // AutoscaleConfiguration - Autoscale Configuration. + AutoscaleConfiguration *ApplicationGatewayAutoscaleConfiguration `json:"autoscaleConfiguration,omitempty"` + // ResourceGUID - The resource GUID property of the application gateway resource. + ResourceGUID *string `json:"resourceGuid,omitempty"` + // ProvisioningState - The provisioning state of the application gateway resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + // CustomErrorConfigurations - Custom error configurations of the application gateway resource. + CustomErrorConfigurations *[]ApplicationGatewayCustomError `json:"customErrorConfigurations,omitempty"` +} + +// ApplicationGatewayRedirectConfiguration redirect configuration of an application gateway. +type ApplicationGatewayRedirectConfiguration struct { + // ApplicationGatewayRedirectConfigurationPropertiesFormat - Properties of the application gateway redirect configuration. + *ApplicationGatewayRedirectConfigurationPropertiesFormat `json:"properties,omitempty"` + // Name - Name of the redirect configuration that is unique within an Application Gateway. + Name *string `json:"name,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // Type - Type of the resource. + Type *string `json:"type,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for ApplicationGatewayRedirectConfiguration. +func (agrc ApplicationGatewayRedirectConfiguration) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if agrc.ApplicationGatewayRedirectConfigurationPropertiesFormat != nil { + objectMap["properties"] = agrc.ApplicationGatewayRedirectConfigurationPropertiesFormat + } + if agrc.Name != nil { + objectMap["name"] = agrc.Name + } + if agrc.Etag != nil { + objectMap["etag"] = agrc.Etag + } + if agrc.Type != nil { + objectMap["type"] = agrc.Type + } + if agrc.ID != nil { + objectMap["id"] = agrc.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ApplicationGatewayRedirectConfiguration struct. +func (agrc *ApplicationGatewayRedirectConfiguration) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var applicationGatewayRedirectConfigurationPropertiesFormat ApplicationGatewayRedirectConfigurationPropertiesFormat + err = json.Unmarshal(*v, &applicationGatewayRedirectConfigurationPropertiesFormat) + if err != nil { + return err + } + agrc.ApplicationGatewayRedirectConfigurationPropertiesFormat = &applicationGatewayRedirectConfigurationPropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + agrc.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + agrc.Etag = &etag + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + agrc.Type = &typeVar + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + agrc.ID = &ID + } + } + } + + return nil +} + +// ApplicationGatewayRedirectConfigurationPropertiesFormat properties of redirect configuration of the +// application gateway. +type ApplicationGatewayRedirectConfigurationPropertiesFormat struct { + // RedirectType - HTTP redirection type. Possible values include: 'Permanent', 'Found', 'SeeOther', 'Temporary' + RedirectType ApplicationGatewayRedirectType `json:"redirectType,omitempty"` + // TargetListener - Reference to a listener to redirect the request to. + TargetListener *SubResource `json:"targetListener,omitempty"` + // TargetURL - Url to redirect the request to. + TargetURL *string `json:"targetUrl,omitempty"` + // IncludePath - Include path in the redirected url. + IncludePath *bool `json:"includePath,omitempty"` + // IncludeQueryString - Include query string in the redirected url. + IncludeQueryString *bool `json:"includeQueryString,omitempty"` + // RequestRoutingRules - Request routing specifying redirect configuration. + RequestRoutingRules *[]SubResource `json:"requestRoutingRules,omitempty"` + // URLPathMaps - Url path maps specifying default redirect configuration. + URLPathMaps *[]SubResource `json:"urlPathMaps,omitempty"` + // PathRules - Path rules specifying redirect configuration. + PathRules *[]SubResource `json:"pathRules,omitempty"` +} + +// ApplicationGatewayRequestRoutingRule request routing rule of an application gateway. +type ApplicationGatewayRequestRoutingRule struct { + // ApplicationGatewayRequestRoutingRulePropertiesFormat - Properties of the application gateway request routing rule. + *ApplicationGatewayRequestRoutingRulePropertiesFormat `json:"properties,omitempty"` + // Name - Name of the request routing rule that is unique within an Application Gateway. + Name *string `json:"name,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // Type - Type of the resource. + Type *string `json:"type,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for ApplicationGatewayRequestRoutingRule. +func (agrrr ApplicationGatewayRequestRoutingRule) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if agrrr.ApplicationGatewayRequestRoutingRulePropertiesFormat != nil { + objectMap["properties"] = agrrr.ApplicationGatewayRequestRoutingRulePropertiesFormat + } + if agrrr.Name != nil { + objectMap["name"] = agrrr.Name + } + if agrrr.Etag != nil { + objectMap["etag"] = agrrr.Etag + } + if agrrr.Type != nil { + objectMap["type"] = agrrr.Type + } + if agrrr.ID != nil { + objectMap["id"] = agrrr.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ApplicationGatewayRequestRoutingRule struct. +func (agrrr *ApplicationGatewayRequestRoutingRule) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var applicationGatewayRequestRoutingRulePropertiesFormat ApplicationGatewayRequestRoutingRulePropertiesFormat + err = json.Unmarshal(*v, &applicationGatewayRequestRoutingRulePropertiesFormat) + if err != nil { + return err + } + agrrr.ApplicationGatewayRequestRoutingRulePropertiesFormat = &applicationGatewayRequestRoutingRulePropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + agrrr.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + agrrr.Etag = &etag + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + agrrr.Type = &typeVar + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + agrrr.ID = &ID + } + } + } + + return nil +} + +// ApplicationGatewayRequestRoutingRulePropertiesFormat properties of request routing rule of the +// application gateway. +type ApplicationGatewayRequestRoutingRulePropertiesFormat struct { + // RuleType - Rule type. Possible values include: 'Basic', 'PathBasedRouting' + RuleType ApplicationGatewayRequestRoutingRuleType `json:"ruleType,omitempty"` + // Priority - Priority of the request routing rule. + Priority *int32 `json:"priority,omitempty"` + // BackendAddressPool - Backend address pool resource of the application gateway. + BackendAddressPool *SubResource `json:"backendAddressPool,omitempty"` + // BackendHTTPSettings - Backend http settings resource of the application gateway. + BackendHTTPSettings *SubResource `json:"backendHttpSettings,omitempty"` + // HTTPListener - Http listener resource of the application gateway. + HTTPListener *SubResource `json:"httpListener,omitempty"` + // URLPathMap - URL path map resource of the application gateway. + URLPathMap *SubResource `json:"urlPathMap,omitempty"` + // RewriteRuleSet - Rewrite Rule Set resource in Basic rule of the application gateway. + RewriteRuleSet *SubResource `json:"rewriteRuleSet,omitempty"` + // RedirectConfiguration - Redirect configuration resource of the application gateway. + RedirectConfiguration *SubResource `json:"redirectConfiguration,omitempty"` + // ProvisioningState - The provisioning state of the request routing rule resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// ApplicationGatewayRewriteRule rewrite rule of an application gateway. +type ApplicationGatewayRewriteRule struct { + // Name - Name of the rewrite rule that is unique within an Application Gateway. + Name *string `json:"name,omitempty"` + // RuleSequence - Rule Sequence of the rewrite rule that determines the order of execution of a particular rule in a RewriteRuleSet. + RuleSequence *int32 `json:"ruleSequence,omitempty"` + // Conditions - Conditions based on which the action set execution will be evaluated. + Conditions *[]ApplicationGatewayRewriteRuleCondition `json:"conditions,omitempty"` + // ActionSet - Set of actions to be done as part of the rewrite Rule. + ActionSet *ApplicationGatewayRewriteRuleActionSet `json:"actionSet,omitempty"` +} + +// ApplicationGatewayRewriteRuleActionSet set of actions in the Rewrite Rule in Application Gateway. +type ApplicationGatewayRewriteRuleActionSet struct { + // RequestHeaderConfigurations - Request Header Actions in the Action Set. + RequestHeaderConfigurations *[]ApplicationGatewayHeaderConfiguration `json:"requestHeaderConfigurations,omitempty"` + // ResponseHeaderConfigurations - Response Header Actions in the Action Set. + ResponseHeaderConfigurations *[]ApplicationGatewayHeaderConfiguration `json:"responseHeaderConfigurations,omitempty"` +} + +// ApplicationGatewayRewriteRuleCondition set of conditions in the Rewrite Rule in Application Gateway. +type ApplicationGatewayRewriteRuleCondition struct { + // Variable - The condition parameter of the RewriteRuleCondition. + Variable *string `json:"variable,omitempty"` + // Pattern - The pattern, either fixed string or regular expression, that evaluates the truthfulness of the condition. + Pattern *string `json:"pattern,omitempty"` + // IgnoreCase - Setting this paramter to truth value with force the pattern to do a case in-sensitive comparison. + IgnoreCase *bool `json:"ignoreCase,omitempty"` + // Negate - Setting this value as truth will force to check the negation of the condition given by the user. + Negate *bool `json:"negate,omitempty"` +} + +// ApplicationGatewayRewriteRuleSet rewrite rule set of an application gateway. +type ApplicationGatewayRewriteRuleSet struct { + // ApplicationGatewayRewriteRuleSetPropertiesFormat - Properties of the application gateway rewrite rule set. + *ApplicationGatewayRewriteRuleSetPropertiesFormat `json:"properties,omitempty"` + // Name - Name of the rewrite rule set that is unique within an Application Gateway. + Name *string `json:"name,omitempty"` + // Etag - READ-ONLY; A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for ApplicationGatewayRewriteRuleSet. +func (agrrs ApplicationGatewayRewriteRuleSet) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if agrrs.ApplicationGatewayRewriteRuleSetPropertiesFormat != nil { + objectMap["properties"] = agrrs.ApplicationGatewayRewriteRuleSetPropertiesFormat + } + if agrrs.Name != nil { + objectMap["name"] = agrrs.Name + } + if agrrs.ID != nil { + objectMap["id"] = agrrs.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ApplicationGatewayRewriteRuleSet struct. +func (agrrs *ApplicationGatewayRewriteRuleSet) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var applicationGatewayRewriteRuleSetPropertiesFormat ApplicationGatewayRewriteRuleSetPropertiesFormat + err = json.Unmarshal(*v, &applicationGatewayRewriteRuleSetPropertiesFormat) + if err != nil { + return err + } + agrrs.ApplicationGatewayRewriteRuleSetPropertiesFormat = &applicationGatewayRewriteRuleSetPropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + agrrs.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + agrrs.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + agrrs.ID = &ID + } + } + } + + return nil +} + +// ApplicationGatewayRewriteRuleSetPropertiesFormat properties of rewrite rule set of the application +// gateway. +type ApplicationGatewayRewriteRuleSetPropertiesFormat struct { + // RewriteRules - Rewrite rules in the rewrite rule set. + RewriteRules *[]ApplicationGatewayRewriteRule `json:"rewriteRules,omitempty"` + // ProvisioningState - READ-ONLY; The provisioning state of the rewrite rule set resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// ApplicationGatewaysBackendHealthFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type ApplicationGatewaysBackendHealthFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ApplicationGatewaysBackendHealthFuture) Result(client ApplicationGatewaysClient) (agbh ApplicationGatewayBackendHealth, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysBackendHealthFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.ApplicationGatewaysBackendHealthFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if agbh.Response.Response, err = future.GetResult(sender); err == nil && agbh.Response.Response.StatusCode != http.StatusNoContent { + agbh, err = client.BackendHealthResponder(agbh.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysBackendHealthFuture", "Result", agbh.Response.Response, "Failure responding to request") + } + } + return +} + +// ApplicationGatewaysBackendHealthOnDemandFuture an abstraction for monitoring and retrieving the results +// of a long-running operation. +type ApplicationGatewaysBackendHealthOnDemandFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ApplicationGatewaysBackendHealthOnDemandFuture) Result(client ApplicationGatewaysClient) (agbhod ApplicationGatewayBackendHealthOnDemand, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysBackendHealthOnDemandFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.ApplicationGatewaysBackendHealthOnDemandFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if agbhod.Response.Response, err = future.GetResult(sender); err == nil && agbhod.Response.Response.StatusCode != http.StatusNoContent { + agbhod, err = client.BackendHealthOnDemandResponder(agbhod.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysBackendHealthOnDemandFuture", "Result", agbhod.Response.Response, "Failure responding to request") + } + } + return +} + +// ApplicationGatewaysCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type ApplicationGatewaysCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ApplicationGatewaysCreateOrUpdateFuture) Result(client ApplicationGatewaysClient) (ag ApplicationGateway, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.ApplicationGatewaysCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if ag.Response.Response, err = future.GetResult(sender); err == nil && ag.Response.Response.StatusCode != http.StatusNoContent { + ag, err = client.CreateOrUpdateResponder(ag.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysCreateOrUpdateFuture", "Result", ag.Response.Response, "Failure responding to request") + } + } + return +} + +// ApplicationGatewaysDeleteFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type ApplicationGatewaysDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ApplicationGatewaysDeleteFuture) Result(client ApplicationGatewaysClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.ApplicationGatewaysDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// ApplicationGatewaySku SKU of an application gateway. +type ApplicationGatewaySku struct { + // Name - Name of an application gateway SKU. Possible values include: 'StandardSmall', 'StandardMedium', 'StandardLarge', 'WAFMedium', 'WAFLarge', 'StandardV2', 'WAFV2' + Name ApplicationGatewaySkuName `json:"name,omitempty"` + // Tier - Tier of an application gateway. Possible values include: 'ApplicationGatewayTierStandard', 'ApplicationGatewayTierWAF', 'ApplicationGatewayTierStandardV2', 'ApplicationGatewayTierWAFV2' + Tier ApplicationGatewayTier `json:"tier,omitempty"` + // Capacity - Capacity (instance count) of an application gateway. + Capacity *int32 `json:"capacity,omitempty"` +} + +// ApplicationGatewaySslCertificate SSL certificates of an application gateway. +type ApplicationGatewaySslCertificate struct { + // ApplicationGatewaySslCertificatePropertiesFormat - Properties of the application gateway SSL certificate. + *ApplicationGatewaySslCertificatePropertiesFormat `json:"properties,omitempty"` + // Name - Name of the SSL certificate that is unique within an Application Gateway. + Name *string `json:"name,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // Type - Type of the resource. + Type *string `json:"type,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for ApplicationGatewaySslCertificate. +func (agsc ApplicationGatewaySslCertificate) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if agsc.ApplicationGatewaySslCertificatePropertiesFormat != nil { + objectMap["properties"] = agsc.ApplicationGatewaySslCertificatePropertiesFormat + } + if agsc.Name != nil { + objectMap["name"] = agsc.Name + } + if agsc.Etag != nil { + objectMap["etag"] = agsc.Etag + } + if agsc.Type != nil { + objectMap["type"] = agsc.Type + } + if agsc.ID != nil { + objectMap["id"] = agsc.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ApplicationGatewaySslCertificate struct. +func (agsc *ApplicationGatewaySslCertificate) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var applicationGatewaySslCertificatePropertiesFormat ApplicationGatewaySslCertificatePropertiesFormat + err = json.Unmarshal(*v, &applicationGatewaySslCertificatePropertiesFormat) + if err != nil { + return err + } + agsc.ApplicationGatewaySslCertificatePropertiesFormat = &applicationGatewaySslCertificatePropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + agsc.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + agsc.Etag = &etag + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + agsc.Type = &typeVar + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + agsc.ID = &ID + } + } + } + + return nil +} + +// ApplicationGatewaySslCertificatePropertiesFormat properties of SSL certificates of an application +// gateway. +type ApplicationGatewaySslCertificatePropertiesFormat struct { + // Data - Base-64 encoded pfx certificate. Only applicable in PUT Request. + Data *string `json:"data,omitempty"` + // Password - Password for the pfx file specified in data. Only applicable in PUT request. + Password *string `json:"password,omitempty"` + // PublicCertData - Base-64 encoded Public cert data corresponding to pfx specified in data. Only applicable in GET request. + PublicCertData *string `json:"publicCertData,omitempty"` + // KeyVaultSecretID - Secret Id of (base-64 encoded unencrypted pfx) 'Secret' or 'Certificate' object stored in KeyVault. + KeyVaultSecretID *string `json:"keyVaultSecretId,omitempty"` + // ProvisioningState - The provisioning state of the SSL certificate resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// ApplicationGatewaySslPolicy application Gateway Ssl policy. +type ApplicationGatewaySslPolicy struct { + // DisabledSslProtocols - Ssl protocols to be disabled on application gateway. + DisabledSslProtocols *[]ApplicationGatewaySslProtocol `json:"disabledSslProtocols,omitempty"` + // PolicyType - Type of Ssl Policy. Possible values include: 'Predefined', 'Custom' + PolicyType ApplicationGatewaySslPolicyType `json:"policyType,omitempty"` + // PolicyName - Name of Ssl predefined policy. Possible values include: 'AppGwSslPolicy20150501', 'AppGwSslPolicy20170401', 'AppGwSslPolicy20170401S' + PolicyName ApplicationGatewaySslPolicyName `json:"policyName,omitempty"` + // CipherSuites - Ssl cipher suites to be enabled in the specified order to application gateway. + CipherSuites *[]ApplicationGatewaySslCipherSuite `json:"cipherSuites,omitempty"` + // MinProtocolVersion - Minimum version of Ssl protocol to be supported on application gateway. Possible values include: 'TLSv10', 'TLSv11', 'TLSv12' + MinProtocolVersion ApplicationGatewaySslProtocol `json:"minProtocolVersion,omitempty"` +} + +// ApplicationGatewaySslPredefinedPolicy an Ssl predefined policy. +type ApplicationGatewaySslPredefinedPolicy struct { + autorest.Response `json:"-"` + // Name - Name of the Ssl predefined policy. + Name *string `json:"name,omitempty"` + // ApplicationGatewaySslPredefinedPolicyPropertiesFormat - Properties of the application gateway SSL predefined policy. + *ApplicationGatewaySslPredefinedPolicyPropertiesFormat `json:"properties,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for ApplicationGatewaySslPredefinedPolicy. +func (agspp ApplicationGatewaySslPredefinedPolicy) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if agspp.Name != nil { + objectMap["name"] = agspp.Name + } + if agspp.ApplicationGatewaySslPredefinedPolicyPropertiesFormat != nil { + objectMap["properties"] = agspp.ApplicationGatewaySslPredefinedPolicyPropertiesFormat + } + if agspp.ID != nil { + objectMap["id"] = agspp.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ApplicationGatewaySslPredefinedPolicy struct. +func (agspp *ApplicationGatewaySslPredefinedPolicy) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + agspp.Name = &name + } + case "properties": + if v != nil { + var applicationGatewaySslPredefinedPolicyPropertiesFormat ApplicationGatewaySslPredefinedPolicyPropertiesFormat + err = json.Unmarshal(*v, &applicationGatewaySslPredefinedPolicyPropertiesFormat) + if err != nil { + return err + } + agspp.ApplicationGatewaySslPredefinedPolicyPropertiesFormat = &applicationGatewaySslPredefinedPolicyPropertiesFormat + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + agspp.ID = &ID + } + } + } + + return nil +} + +// ApplicationGatewaySslPredefinedPolicyPropertiesFormat properties of +// ApplicationGatewaySslPredefinedPolicy. +type ApplicationGatewaySslPredefinedPolicyPropertiesFormat struct { + // CipherSuites - Ssl cipher suites to be enabled in the specified order for application gateway. + CipherSuites *[]ApplicationGatewaySslCipherSuite `json:"cipherSuites,omitempty"` + // MinProtocolVersion - Minimum version of Ssl protocol to be supported on application gateway. Possible values include: 'TLSv10', 'TLSv11', 'TLSv12' + MinProtocolVersion ApplicationGatewaySslProtocol `json:"minProtocolVersion,omitempty"` +} + +// ApplicationGatewaysStartFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type ApplicationGatewaysStartFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ApplicationGatewaysStartFuture) Result(client ApplicationGatewaysClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysStartFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.ApplicationGatewaysStartFuture") + return + } + ar.Response = future.Response() + return +} + +// ApplicationGatewaysStopFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type ApplicationGatewaysStopFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ApplicationGatewaysStopFuture) Result(client ApplicationGatewaysClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysStopFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.ApplicationGatewaysStopFuture") + return + } + ar.Response = future.Response() + return +} + +// ApplicationGatewaysUpdateTagsFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type ApplicationGatewaysUpdateTagsFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ApplicationGatewaysUpdateTagsFuture) Result(client ApplicationGatewaysClient) (ag ApplicationGateway, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysUpdateTagsFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.ApplicationGatewaysUpdateTagsFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if ag.Response.Response, err = future.GetResult(sender); err == nil && ag.Response.Response.StatusCode != http.StatusNoContent { + ag, err = client.UpdateTagsResponder(ag.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysUpdateTagsFuture", "Result", ag.Response.Response, "Failure responding to request") + } + } + return +} + +// ApplicationGatewayTrustedRootCertificate trusted Root certificates of an application gateway. +type ApplicationGatewayTrustedRootCertificate struct { + // ApplicationGatewayTrustedRootCertificatePropertiesFormat - Properties of the application gateway trusted root certificate. + *ApplicationGatewayTrustedRootCertificatePropertiesFormat `json:"properties,omitempty"` + // Name - Name of the trusted root certificate that is unique within an Application Gateway. + Name *string `json:"name,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // Type - Type of the resource. + Type *string `json:"type,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for ApplicationGatewayTrustedRootCertificate. +func (agtrc ApplicationGatewayTrustedRootCertificate) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if agtrc.ApplicationGatewayTrustedRootCertificatePropertiesFormat != nil { + objectMap["properties"] = agtrc.ApplicationGatewayTrustedRootCertificatePropertiesFormat + } + if agtrc.Name != nil { + objectMap["name"] = agtrc.Name + } + if agtrc.Etag != nil { + objectMap["etag"] = agtrc.Etag + } + if agtrc.Type != nil { + objectMap["type"] = agtrc.Type + } + if agtrc.ID != nil { + objectMap["id"] = agtrc.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ApplicationGatewayTrustedRootCertificate struct. +func (agtrc *ApplicationGatewayTrustedRootCertificate) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var applicationGatewayTrustedRootCertificatePropertiesFormat ApplicationGatewayTrustedRootCertificatePropertiesFormat + err = json.Unmarshal(*v, &applicationGatewayTrustedRootCertificatePropertiesFormat) + if err != nil { + return err + } + agtrc.ApplicationGatewayTrustedRootCertificatePropertiesFormat = &applicationGatewayTrustedRootCertificatePropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + agtrc.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + agtrc.Etag = &etag + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + agtrc.Type = &typeVar + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + agtrc.ID = &ID + } + } + } + + return nil +} + +// ApplicationGatewayTrustedRootCertificatePropertiesFormat trusted Root certificates properties of an +// application gateway. +type ApplicationGatewayTrustedRootCertificatePropertiesFormat struct { + // Data - Certificate public data. + Data *string `json:"data,omitempty"` + // KeyVaultSecretID - Secret Id of (base-64 encoded unencrypted pfx) 'Secret' or 'Certificate' object stored in KeyVault. + KeyVaultSecretID *string `json:"keyVaultSecretId,omitempty"` + // ProvisioningState - The provisioning state of the trusted root certificate resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// ApplicationGatewayURLPathMap urlPathMaps give a url path to the backend mapping information for +// PathBasedRouting. +type ApplicationGatewayURLPathMap struct { + // ApplicationGatewayURLPathMapPropertiesFormat - Properties of the application gateway URL path map. + *ApplicationGatewayURLPathMapPropertiesFormat `json:"properties,omitempty"` + // Name - Name of the URL path map that is unique within an Application Gateway. + Name *string `json:"name,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // Type - Type of the resource. + Type *string `json:"type,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for ApplicationGatewayURLPathMap. +func (agupm ApplicationGatewayURLPathMap) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if agupm.ApplicationGatewayURLPathMapPropertiesFormat != nil { + objectMap["properties"] = agupm.ApplicationGatewayURLPathMapPropertiesFormat + } + if agupm.Name != nil { + objectMap["name"] = agupm.Name + } + if agupm.Etag != nil { + objectMap["etag"] = agupm.Etag + } + if agupm.Type != nil { + objectMap["type"] = agupm.Type + } + if agupm.ID != nil { + objectMap["id"] = agupm.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ApplicationGatewayURLPathMap struct. +func (agupm *ApplicationGatewayURLPathMap) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var applicationGatewayURLPathMapPropertiesFormat ApplicationGatewayURLPathMapPropertiesFormat + err = json.Unmarshal(*v, &applicationGatewayURLPathMapPropertiesFormat) + if err != nil { + return err + } + agupm.ApplicationGatewayURLPathMapPropertiesFormat = &applicationGatewayURLPathMapPropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + agupm.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + agupm.Etag = &etag + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + agupm.Type = &typeVar + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + agupm.ID = &ID + } + } + } + + return nil +} + +// ApplicationGatewayURLPathMapPropertiesFormat properties of UrlPathMap of the application gateway. +type ApplicationGatewayURLPathMapPropertiesFormat struct { + // DefaultBackendAddressPool - Default backend address pool resource of URL path map. + DefaultBackendAddressPool *SubResource `json:"defaultBackendAddressPool,omitempty"` + // DefaultBackendHTTPSettings - Default backend http settings resource of URL path map. + DefaultBackendHTTPSettings *SubResource `json:"defaultBackendHttpSettings,omitempty"` + // DefaultRewriteRuleSet - Default Rewrite rule set resource of URL path map. + DefaultRewriteRuleSet *SubResource `json:"defaultRewriteRuleSet,omitempty"` + // DefaultRedirectConfiguration - Default redirect configuration resource of URL path map. + DefaultRedirectConfiguration *SubResource `json:"defaultRedirectConfiguration,omitempty"` + // PathRules - Path rule of URL path map resource. + PathRules *[]ApplicationGatewayPathRule `json:"pathRules,omitempty"` + // ProvisioningState - The provisioning state of the URL path map resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// ApplicationGatewayWebApplicationFirewallConfiguration application gateway web application firewall +// configuration. +type ApplicationGatewayWebApplicationFirewallConfiguration struct { + // Enabled - Whether the web application firewall is enabled or not. + Enabled *bool `json:"enabled,omitempty"` + // FirewallMode - Web application firewall mode. Possible values include: 'Detection', 'Prevention' + FirewallMode ApplicationGatewayFirewallMode `json:"firewallMode,omitempty"` + // RuleSetType - The type of the web application firewall rule set. Possible values are: 'OWASP'. + RuleSetType *string `json:"ruleSetType,omitempty"` + // RuleSetVersion - The version of the rule set type. + RuleSetVersion *string `json:"ruleSetVersion,omitempty"` + // DisabledRuleGroups - The disabled rule groups. + DisabledRuleGroups *[]ApplicationGatewayFirewallDisabledRuleGroup `json:"disabledRuleGroups,omitempty"` + // RequestBodyCheck - Whether allow WAF to check request Body. + RequestBodyCheck *bool `json:"requestBodyCheck,omitempty"` + // MaxRequestBodySize - Maximum request body size for WAF. + MaxRequestBodySize *int32 `json:"maxRequestBodySize,omitempty"` + // MaxRequestBodySizeInKb - Maximum request body size in Kb for WAF. + MaxRequestBodySizeInKb *int32 `json:"maxRequestBodySizeInKb,omitempty"` + // FileUploadLimitInMb - Maximum file upload size in Mb for WAF. + FileUploadLimitInMb *int32 `json:"fileUploadLimitInMb,omitempty"` + // Exclusions - The exclusion list. + Exclusions *[]ApplicationGatewayFirewallExclusion `json:"exclusions,omitempty"` +} + +// ApplicationRuleCondition rule condition of type application. +type ApplicationRuleCondition struct { + // SourceAddresses - List of source IP addresses for this rule. + SourceAddresses *[]string `json:"sourceAddresses,omitempty"` + // DestinationAddresses - List of destination IP addresses or Service Tags. + DestinationAddresses *[]string `json:"destinationAddresses,omitempty"` + // Protocols - Array of Application Protocols. + Protocols *[]FirewallPolicyRuleConditionApplicationProtocol `json:"protocols,omitempty"` + // TargetFqdns - List of FQDNs for this rule condition. + TargetFqdns *[]string `json:"targetFqdns,omitempty"` + // FqdnTags - List of FQDN Tags for this rule condition. + FqdnTags *[]string `json:"fqdnTags,omitempty"` + // Name - Name of the rule condition. + Name *string `json:"name,omitempty"` + // Description - Description of the rule condition. + Description *string `json:"description,omitempty"` + // RuleConditionType - Possible values include: 'RuleConditionTypeFirewallPolicyRuleCondition', 'RuleConditionTypeApplicationRuleCondition', 'RuleConditionTypeNetworkRuleCondition' + RuleConditionType RuleConditionType `json:"ruleConditionType,omitempty"` +} + +// MarshalJSON is the custom marshaler for ApplicationRuleCondition. +func (arc ApplicationRuleCondition) MarshalJSON() ([]byte, error) { + arc.RuleConditionType = RuleConditionTypeApplicationRuleCondition + objectMap := make(map[string]interface{}) + if arc.SourceAddresses != nil { + objectMap["sourceAddresses"] = arc.SourceAddresses + } + if arc.DestinationAddresses != nil { + objectMap["destinationAddresses"] = arc.DestinationAddresses + } + if arc.Protocols != nil { + objectMap["protocols"] = arc.Protocols + } + if arc.TargetFqdns != nil { + objectMap["targetFqdns"] = arc.TargetFqdns + } + if arc.FqdnTags != nil { + objectMap["fqdnTags"] = arc.FqdnTags + } + if arc.Name != nil { + objectMap["name"] = arc.Name + } + if arc.Description != nil { + objectMap["description"] = arc.Description + } + if arc.RuleConditionType != "" { + objectMap["ruleConditionType"] = arc.RuleConditionType + } + return json.Marshal(objectMap) +} + +// AsApplicationRuleCondition is the BasicFirewallPolicyRuleCondition implementation for ApplicationRuleCondition. +func (arc ApplicationRuleCondition) AsApplicationRuleCondition() (*ApplicationRuleCondition, bool) { + return &arc, true +} + +// AsRuleCondition is the BasicFirewallPolicyRuleCondition implementation for ApplicationRuleCondition. +func (arc ApplicationRuleCondition) AsRuleCondition() (*RuleCondition, bool) { + return nil, false +} + +// AsFirewallPolicyRuleCondition is the BasicFirewallPolicyRuleCondition implementation for ApplicationRuleCondition. +func (arc ApplicationRuleCondition) AsFirewallPolicyRuleCondition() (*FirewallPolicyRuleCondition, bool) { + return nil, false +} + +// AsBasicFirewallPolicyRuleCondition is the BasicFirewallPolicyRuleCondition implementation for ApplicationRuleCondition. +func (arc ApplicationRuleCondition) AsBasicFirewallPolicyRuleCondition() (BasicFirewallPolicyRuleCondition, bool) { + return &arc, true +} + +// ApplicationSecurityGroup an application security group in a resource group. +type ApplicationSecurityGroup struct { + autorest.Response `json:"-"` + // ApplicationSecurityGroupPropertiesFormat - Properties of the application security group. + *ApplicationSecurityGroupPropertiesFormat `json:"properties,omitempty"` + // Etag - READ-ONLY; A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for ApplicationSecurityGroup. +func (asg ApplicationSecurityGroup) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if asg.ApplicationSecurityGroupPropertiesFormat != nil { + objectMap["properties"] = asg.ApplicationSecurityGroupPropertiesFormat + } + if asg.ID != nil { + objectMap["id"] = asg.ID + } + if asg.Location != nil { + objectMap["location"] = asg.Location + } + if asg.Tags != nil { + objectMap["tags"] = asg.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ApplicationSecurityGroup struct. +func (asg *ApplicationSecurityGroup) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var applicationSecurityGroupPropertiesFormat ApplicationSecurityGroupPropertiesFormat + err = json.Unmarshal(*v, &applicationSecurityGroupPropertiesFormat) + if err != nil { + return err + } + asg.ApplicationSecurityGroupPropertiesFormat = &applicationSecurityGroupPropertiesFormat + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + asg.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + asg.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + asg.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + asg.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + asg.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + asg.Tags = tags + } + } + } + + return nil +} + +// ApplicationSecurityGroupListResult a list of application security groups. +type ApplicationSecurityGroupListResult struct { + autorest.Response `json:"-"` + // Value - A list of application security groups. + Value *[]ApplicationSecurityGroup `json:"value,omitempty"` + // NextLink - READ-ONLY; The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// ApplicationSecurityGroupListResultIterator provides access to a complete listing of +// ApplicationSecurityGroup values. +type ApplicationSecurityGroupListResultIterator struct { + i int + page ApplicationSecurityGroupListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *ApplicationSecurityGroupListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationSecurityGroupListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *ApplicationSecurityGroupListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter ApplicationSecurityGroupListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter ApplicationSecurityGroupListResultIterator) Response() ApplicationSecurityGroupListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter ApplicationSecurityGroupListResultIterator) Value() ApplicationSecurityGroup { + if !iter.page.NotDone() { + return ApplicationSecurityGroup{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the ApplicationSecurityGroupListResultIterator type. +func NewApplicationSecurityGroupListResultIterator(page ApplicationSecurityGroupListResultPage) ApplicationSecurityGroupListResultIterator { + return ApplicationSecurityGroupListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (asglr ApplicationSecurityGroupListResult) IsEmpty() bool { + return asglr.Value == nil || len(*asglr.Value) == 0 +} + +// applicationSecurityGroupListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (asglr ApplicationSecurityGroupListResult) applicationSecurityGroupListResultPreparer(ctx context.Context) (*http.Request, error) { + if asglr.NextLink == nil || len(to.String(asglr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(asglr.NextLink))) +} + +// ApplicationSecurityGroupListResultPage contains a page of ApplicationSecurityGroup values. +type ApplicationSecurityGroupListResultPage struct { + fn func(context.Context, ApplicationSecurityGroupListResult) (ApplicationSecurityGroupListResult, error) + asglr ApplicationSecurityGroupListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *ApplicationSecurityGroupListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationSecurityGroupListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.asglr) + if err != nil { + return err + } + page.asglr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *ApplicationSecurityGroupListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page ApplicationSecurityGroupListResultPage) NotDone() bool { + return !page.asglr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page ApplicationSecurityGroupListResultPage) Response() ApplicationSecurityGroupListResult { + return page.asglr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page ApplicationSecurityGroupListResultPage) Values() []ApplicationSecurityGroup { + if page.asglr.IsEmpty() { + return nil + } + return *page.asglr.Value +} + +// Creates a new instance of the ApplicationSecurityGroupListResultPage type. +func NewApplicationSecurityGroupListResultPage(getNextPage func(context.Context, ApplicationSecurityGroupListResult) (ApplicationSecurityGroupListResult, error)) ApplicationSecurityGroupListResultPage { + return ApplicationSecurityGroupListResultPage{fn: getNextPage} +} + +// ApplicationSecurityGroupPropertiesFormat application security group properties. +type ApplicationSecurityGroupPropertiesFormat struct { + // ResourceGUID - READ-ONLY; The resource GUID property of the application security group resource. It uniquely identifies a resource, even if the user changes its name or migrate the resource across subscriptions or resource groups. + ResourceGUID *string `json:"resourceGuid,omitempty"` + // ProvisioningState - READ-ONLY; The provisioning state of the application security group resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// ApplicationSecurityGroupsCreateOrUpdateFuture an abstraction for monitoring and retrieving the results +// of a long-running operation. +type ApplicationSecurityGroupsCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ApplicationSecurityGroupsCreateOrUpdateFuture) Result(client ApplicationSecurityGroupsClient) (asg ApplicationSecurityGroup, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationSecurityGroupsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.ApplicationSecurityGroupsCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if asg.Response.Response, err = future.GetResult(sender); err == nil && asg.Response.Response.StatusCode != http.StatusNoContent { + asg, err = client.CreateOrUpdateResponder(asg.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationSecurityGroupsCreateOrUpdateFuture", "Result", asg.Response.Response, "Failure responding to request") + } + } + return +} + +// ApplicationSecurityGroupsDeleteFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type ApplicationSecurityGroupsDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ApplicationSecurityGroupsDeleteFuture) Result(client ApplicationSecurityGroupsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationSecurityGroupsDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.ApplicationSecurityGroupsDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// ApplicationSecurityGroupsUpdateTagsFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type ApplicationSecurityGroupsUpdateTagsFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ApplicationSecurityGroupsUpdateTagsFuture) Result(client ApplicationSecurityGroupsClient) (asg ApplicationSecurityGroup, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationSecurityGroupsUpdateTagsFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.ApplicationSecurityGroupsUpdateTagsFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if asg.Response.Response, err = future.GetResult(sender); err == nil && asg.Response.Response.StatusCode != http.StatusNoContent { + asg, err = client.UpdateTagsResponder(asg.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationSecurityGroupsUpdateTagsFuture", "Result", asg.Response.Response, "Failure responding to request") + } + } + return +} + +// AuthorizationListResult response for ListAuthorizations API service call retrieves all authorizations +// that belongs to an ExpressRouteCircuit. +type AuthorizationListResult struct { + autorest.Response `json:"-"` + // Value - The authorizations in an ExpressRoute Circuit. + Value *[]ExpressRouteCircuitAuthorization `json:"value,omitempty"` + // NextLink - The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// AuthorizationListResultIterator provides access to a complete listing of +// ExpressRouteCircuitAuthorization values. +type AuthorizationListResultIterator struct { + i int + page AuthorizationListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *AuthorizationListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AuthorizationListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *AuthorizationListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter AuthorizationListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter AuthorizationListResultIterator) Response() AuthorizationListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter AuthorizationListResultIterator) Value() ExpressRouteCircuitAuthorization { + if !iter.page.NotDone() { + return ExpressRouteCircuitAuthorization{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the AuthorizationListResultIterator type. +func NewAuthorizationListResultIterator(page AuthorizationListResultPage) AuthorizationListResultIterator { + return AuthorizationListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (alr AuthorizationListResult) IsEmpty() bool { + return alr.Value == nil || len(*alr.Value) == 0 +} + +// authorizationListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (alr AuthorizationListResult) authorizationListResultPreparer(ctx context.Context) (*http.Request, error) { + if alr.NextLink == nil || len(to.String(alr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(alr.NextLink))) +} + +// AuthorizationListResultPage contains a page of ExpressRouteCircuitAuthorization values. +type AuthorizationListResultPage struct { + fn func(context.Context, AuthorizationListResult) (AuthorizationListResult, error) + alr AuthorizationListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *AuthorizationListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AuthorizationListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.alr) + if err != nil { + return err + } + page.alr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *AuthorizationListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page AuthorizationListResultPage) NotDone() bool { + return !page.alr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page AuthorizationListResultPage) Response() AuthorizationListResult { + return page.alr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page AuthorizationListResultPage) Values() []ExpressRouteCircuitAuthorization { + if page.alr.IsEmpty() { + return nil + } + return *page.alr.Value +} + +// Creates a new instance of the AuthorizationListResultPage type. +func NewAuthorizationListResultPage(getNextPage func(context.Context, AuthorizationListResult) (AuthorizationListResult, error)) AuthorizationListResultPage { + return AuthorizationListResultPage{fn: getNextPage} +} + +// AuthorizationPropertiesFormat properties of ExpressRouteCircuitAuthorization. +type AuthorizationPropertiesFormat struct { + // AuthorizationKey - The authorization key. + AuthorizationKey *string `json:"authorizationKey,omitempty"` + // AuthorizationUseStatus - The authorization use status. Possible values include: 'Available', 'InUse' + AuthorizationUseStatus AuthorizationUseStatus `json:"authorizationUseStatus,omitempty"` + // ProvisioningState - The provisioning state of the authorization resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// AutoApprovedPrivateLinkService the information of an AutoApprovedPrivateLinkService. +type AutoApprovedPrivateLinkService struct { + // PrivateLinkService - The id of the private link service resource. + PrivateLinkService *string `json:"privateLinkService,omitempty"` +} + +// AutoApprovedPrivateLinkServicesResult an array of private link service id that can be linked to a +// private end point with auto approved. +type AutoApprovedPrivateLinkServicesResult struct { + autorest.Response `json:"-"` + // Value - An array of auto approved private link service. + Value *[]AutoApprovedPrivateLinkService `json:"value,omitempty"` + // NextLink - READ-ONLY; The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// AutoApprovedPrivateLinkServicesResultIterator provides access to a complete listing of +// AutoApprovedPrivateLinkService values. +type AutoApprovedPrivateLinkServicesResultIterator struct { + i int + page AutoApprovedPrivateLinkServicesResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *AutoApprovedPrivateLinkServicesResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AutoApprovedPrivateLinkServicesResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *AutoApprovedPrivateLinkServicesResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter AutoApprovedPrivateLinkServicesResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter AutoApprovedPrivateLinkServicesResultIterator) Response() AutoApprovedPrivateLinkServicesResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter AutoApprovedPrivateLinkServicesResultIterator) Value() AutoApprovedPrivateLinkService { + if !iter.page.NotDone() { + return AutoApprovedPrivateLinkService{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the AutoApprovedPrivateLinkServicesResultIterator type. +func NewAutoApprovedPrivateLinkServicesResultIterator(page AutoApprovedPrivateLinkServicesResultPage) AutoApprovedPrivateLinkServicesResultIterator { + return AutoApprovedPrivateLinkServicesResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (aaplsr AutoApprovedPrivateLinkServicesResult) IsEmpty() bool { + return aaplsr.Value == nil || len(*aaplsr.Value) == 0 +} + +// autoApprovedPrivateLinkServicesResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (aaplsr AutoApprovedPrivateLinkServicesResult) autoApprovedPrivateLinkServicesResultPreparer(ctx context.Context) (*http.Request, error) { + if aaplsr.NextLink == nil || len(to.String(aaplsr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(aaplsr.NextLink))) +} + +// AutoApprovedPrivateLinkServicesResultPage contains a page of AutoApprovedPrivateLinkService values. +type AutoApprovedPrivateLinkServicesResultPage struct { + fn func(context.Context, AutoApprovedPrivateLinkServicesResult) (AutoApprovedPrivateLinkServicesResult, error) + aaplsr AutoApprovedPrivateLinkServicesResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *AutoApprovedPrivateLinkServicesResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AutoApprovedPrivateLinkServicesResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.aaplsr) + if err != nil { + return err + } + page.aaplsr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *AutoApprovedPrivateLinkServicesResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page AutoApprovedPrivateLinkServicesResultPage) NotDone() bool { + return !page.aaplsr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page AutoApprovedPrivateLinkServicesResultPage) Response() AutoApprovedPrivateLinkServicesResult { + return page.aaplsr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page AutoApprovedPrivateLinkServicesResultPage) Values() []AutoApprovedPrivateLinkService { + if page.aaplsr.IsEmpty() { + return nil + } + return *page.aaplsr.Value +} + +// Creates a new instance of the AutoApprovedPrivateLinkServicesResultPage type. +func NewAutoApprovedPrivateLinkServicesResultPage(getNextPage func(context.Context, AutoApprovedPrivateLinkServicesResult) (AutoApprovedPrivateLinkServicesResult, error)) AutoApprovedPrivateLinkServicesResultPage { + return AutoApprovedPrivateLinkServicesResultPage{fn: getNextPage} +} + +// Availability availability of the metric. +type Availability struct { + // TimeGrain - The time grain of the availability. + TimeGrain *string `json:"timeGrain,omitempty"` + // Retention - The retention of the availability. + Retention *string `json:"retention,omitempty"` + // BlobDuration - Duration of the availability blob. + BlobDuration *string `json:"blobDuration,omitempty"` +} + +// AvailableDelegation the serviceName of an AvailableDelegation indicates a possible delegation for a +// subnet. +type AvailableDelegation struct { + // Name - The name of the AvailableDelegation resource. + Name *string `json:"name,omitempty"` + // ID - A unique identifier of the AvailableDelegation resource. + ID *string `json:"id,omitempty"` + // Type - Resource type. + Type *string `json:"type,omitempty"` + // ServiceName - The name of the service and resource. + ServiceName *string `json:"serviceName,omitempty"` + // Actions - Describes the actions permitted to the service upon delegation. + Actions *[]string `json:"actions,omitempty"` +} + +// AvailableDelegationsResult an array of available delegations. +type AvailableDelegationsResult struct { + autorest.Response `json:"-"` + // Value - An array of available delegations. + Value *[]AvailableDelegation `json:"value,omitempty"` + // NextLink - READ-ONLY; The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// AvailableDelegationsResultIterator provides access to a complete listing of AvailableDelegation values. +type AvailableDelegationsResultIterator struct { + i int + page AvailableDelegationsResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *AvailableDelegationsResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AvailableDelegationsResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *AvailableDelegationsResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter AvailableDelegationsResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter AvailableDelegationsResultIterator) Response() AvailableDelegationsResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter AvailableDelegationsResultIterator) Value() AvailableDelegation { + if !iter.page.NotDone() { + return AvailableDelegation{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the AvailableDelegationsResultIterator type. +func NewAvailableDelegationsResultIterator(page AvailableDelegationsResultPage) AvailableDelegationsResultIterator { + return AvailableDelegationsResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (adr AvailableDelegationsResult) IsEmpty() bool { + return adr.Value == nil || len(*adr.Value) == 0 +} + +// availableDelegationsResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (adr AvailableDelegationsResult) availableDelegationsResultPreparer(ctx context.Context) (*http.Request, error) { + if adr.NextLink == nil || len(to.String(adr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(adr.NextLink))) +} + +// AvailableDelegationsResultPage contains a page of AvailableDelegation values. +type AvailableDelegationsResultPage struct { + fn func(context.Context, AvailableDelegationsResult) (AvailableDelegationsResult, error) + adr AvailableDelegationsResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *AvailableDelegationsResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AvailableDelegationsResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.adr) + if err != nil { + return err + } + page.adr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *AvailableDelegationsResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page AvailableDelegationsResultPage) NotDone() bool { + return !page.adr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page AvailableDelegationsResultPage) Response() AvailableDelegationsResult { + return page.adr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page AvailableDelegationsResultPage) Values() []AvailableDelegation { + if page.adr.IsEmpty() { + return nil + } + return *page.adr.Value +} + +// Creates a new instance of the AvailableDelegationsResultPage type. +func NewAvailableDelegationsResultPage(getNextPage func(context.Context, AvailableDelegationsResult) (AvailableDelegationsResult, error)) AvailableDelegationsResultPage { + return AvailableDelegationsResultPage{fn: getNextPage} +} + +// AvailablePrivateEndpointType the information of an AvailablePrivateEndpointType. +type AvailablePrivateEndpointType struct { + // Name - The name of the service and resource. + Name *string `json:"name,omitempty"` + // ID - A unique identifier of the AvailablePrivateEndpoint Type resource. + ID *string `json:"id,omitempty"` + // Type - Resource type. + Type *string `json:"type,omitempty"` + // ResourceName - The name of the service and resource. + ResourceName *string `json:"resourceName,omitempty"` +} + +// AvailablePrivateEndpointTypesResult an array of available PrivateEndpoint types. +type AvailablePrivateEndpointTypesResult struct { + autorest.Response `json:"-"` + // Value - An array of available privateEndpoint type. + Value *[]AvailablePrivateEndpointType `json:"value,omitempty"` + // NextLink - READ-ONLY; The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// AvailablePrivateEndpointTypesResultIterator provides access to a complete listing of +// AvailablePrivateEndpointType values. +type AvailablePrivateEndpointTypesResultIterator struct { + i int + page AvailablePrivateEndpointTypesResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *AvailablePrivateEndpointTypesResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AvailablePrivateEndpointTypesResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *AvailablePrivateEndpointTypesResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter AvailablePrivateEndpointTypesResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter AvailablePrivateEndpointTypesResultIterator) Response() AvailablePrivateEndpointTypesResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter AvailablePrivateEndpointTypesResultIterator) Value() AvailablePrivateEndpointType { + if !iter.page.NotDone() { + return AvailablePrivateEndpointType{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the AvailablePrivateEndpointTypesResultIterator type. +func NewAvailablePrivateEndpointTypesResultIterator(page AvailablePrivateEndpointTypesResultPage) AvailablePrivateEndpointTypesResultIterator { + return AvailablePrivateEndpointTypesResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (apetr AvailablePrivateEndpointTypesResult) IsEmpty() bool { + return apetr.Value == nil || len(*apetr.Value) == 0 +} + +// availablePrivateEndpointTypesResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (apetr AvailablePrivateEndpointTypesResult) availablePrivateEndpointTypesResultPreparer(ctx context.Context) (*http.Request, error) { + if apetr.NextLink == nil || len(to.String(apetr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(apetr.NextLink))) +} + +// AvailablePrivateEndpointTypesResultPage contains a page of AvailablePrivateEndpointType values. +type AvailablePrivateEndpointTypesResultPage struct { + fn func(context.Context, AvailablePrivateEndpointTypesResult) (AvailablePrivateEndpointTypesResult, error) + apetr AvailablePrivateEndpointTypesResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *AvailablePrivateEndpointTypesResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AvailablePrivateEndpointTypesResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.apetr) + if err != nil { + return err + } + page.apetr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *AvailablePrivateEndpointTypesResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page AvailablePrivateEndpointTypesResultPage) NotDone() bool { + return !page.apetr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page AvailablePrivateEndpointTypesResultPage) Response() AvailablePrivateEndpointTypesResult { + return page.apetr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page AvailablePrivateEndpointTypesResultPage) Values() []AvailablePrivateEndpointType { + if page.apetr.IsEmpty() { + return nil + } + return *page.apetr.Value +} + +// Creates a new instance of the AvailablePrivateEndpointTypesResultPage type. +func NewAvailablePrivateEndpointTypesResultPage(getNextPage func(context.Context, AvailablePrivateEndpointTypesResult) (AvailablePrivateEndpointTypesResult, error)) AvailablePrivateEndpointTypesResultPage { + return AvailablePrivateEndpointTypesResultPage{fn: getNextPage} +} + +// AvailableProvidersList list of available countries with details. +type AvailableProvidersList struct { + autorest.Response `json:"-"` + // Countries - List of available countries. + Countries *[]AvailableProvidersListCountry `json:"countries,omitempty"` +} + +// AvailableProvidersListCity city or town details. +type AvailableProvidersListCity struct { + // CityName - The city or town name. + CityName *string `json:"cityName,omitempty"` + // Providers - A list of Internet service providers. + Providers *[]string `json:"providers,omitempty"` +} + +// AvailableProvidersListCountry country details. +type AvailableProvidersListCountry struct { + // CountryName - The country name. + CountryName *string `json:"countryName,omitempty"` + // Providers - A list of Internet service providers. + Providers *[]string `json:"providers,omitempty"` + // States - List of available states in the country. + States *[]AvailableProvidersListState `json:"states,omitempty"` +} + +// AvailableProvidersListParameters constraints that determine the list of available Internet service +// providers. +type AvailableProvidersListParameters struct { + // AzureLocations - A list of Azure regions. + AzureLocations *[]string `json:"azureLocations,omitempty"` + // Country - The country for available providers list. + Country *string `json:"country,omitempty"` + // State - The state for available providers list. + State *string `json:"state,omitempty"` + // City - The city or town for available providers list. + City *string `json:"city,omitempty"` +} + +// AvailableProvidersListState state details. +type AvailableProvidersListState struct { + // StateName - The state name. + StateName *string `json:"stateName,omitempty"` + // Providers - A list of Internet service providers. + Providers *[]string `json:"providers,omitempty"` + // Cities - List of available cities or towns in the state. + Cities *[]AvailableProvidersListCity `json:"cities,omitempty"` +} + +// AzureAsyncOperationResult the response body contains the status of the specified asynchronous operation, +// indicating whether it has succeeded, is in progress, or has failed. Note that this status is distinct +// from the HTTP status code returned for the Get Operation Status operation itself. If the asynchronous +// operation succeeded, the response body includes the HTTP status code for the successful request. If the +// asynchronous operation failed, the response body includes the HTTP status code for the failed request +// and error information regarding the failure. +type AzureAsyncOperationResult struct { + // Status - Status of the Azure async operation. Possible values include: 'OperationStatusInProgress', 'OperationStatusSucceeded', 'OperationStatusFailed' + Status OperationStatus `json:"status,omitempty"` + // Error - Details of the error occurred during specified asynchronous operation. + Error *Error `json:"error,omitempty"` +} + +// AzureFirewall azure Firewall resource. +type AzureFirewall struct { + autorest.Response `json:"-"` + // AzureFirewallPropertiesFormat - Properties of the azure firewall. + *AzureFirewallPropertiesFormat `json:"properties,omitempty"` + // Zones - A list of availability zones denoting where the resource needs to come from. + Zones *[]string `json:"zones,omitempty"` + // Etag - READ-ONLY; A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for AzureFirewall. +func (af AzureFirewall) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if af.AzureFirewallPropertiesFormat != nil { + objectMap["properties"] = af.AzureFirewallPropertiesFormat + } + if af.Zones != nil { + objectMap["zones"] = af.Zones + } + if af.ID != nil { + objectMap["id"] = af.ID + } + if af.Location != nil { + objectMap["location"] = af.Location + } + if af.Tags != nil { + objectMap["tags"] = af.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for AzureFirewall struct. +func (af *AzureFirewall) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var azureFirewallPropertiesFormat AzureFirewallPropertiesFormat + err = json.Unmarshal(*v, &azureFirewallPropertiesFormat) + if err != nil { + return err + } + af.AzureFirewallPropertiesFormat = &azureFirewallPropertiesFormat + } + case "zones": + if v != nil { + var zones []string + err = json.Unmarshal(*v, &zones) + if err != nil { + return err + } + af.Zones = &zones + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + af.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + af.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + af.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + af.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + af.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + af.Tags = tags + } + } + } + + return nil +} + +// AzureFirewallApplicationRule properties of an application rule. +type AzureFirewallApplicationRule struct { + // Name - Name of the application rule. + Name *string `json:"name,omitempty"` + // Description - Description of the rule. + Description *string `json:"description,omitempty"` + // SourceAddresses - List of source IP addresses for this rule. + SourceAddresses *[]string `json:"sourceAddresses,omitempty"` + // Protocols - Array of ApplicationRuleProtocols. + Protocols *[]AzureFirewallApplicationRuleProtocol `json:"protocols,omitempty"` + // TargetFqdns - List of FQDNs for this rule. + TargetFqdns *[]string `json:"targetFqdns,omitempty"` + // FqdnTags - List of FQDN Tags for this rule. + FqdnTags *[]string `json:"fqdnTags,omitempty"` +} + +// AzureFirewallApplicationRuleCollection application rule collection resource. +type AzureFirewallApplicationRuleCollection struct { + // AzureFirewallApplicationRuleCollectionPropertiesFormat - Properties of the azure firewall application rule collection. + *AzureFirewallApplicationRuleCollectionPropertiesFormat `json:"properties,omitempty"` + // Name - The name of the resource that is unique within the Azure firewall. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + // Etag - READ-ONLY; A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for AzureFirewallApplicationRuleCollection. +func (afarc AzureFirewallApplicationRuleCollection) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if afarc.AzureFirewallApplicationRuleCollectionPropertiesFormat != nil { + objectMap["properties"] = afarc.AzureFirewallApplicationRuleCollectionPropertiesFormat + } + if afarc.Name != nil { + objectMap["name"] = afarc.Name + } + if afarc.ID != nil { + objectMap["id"] = afarc.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for AzureFirewallApplicationRuleCollection struct. +func (afarc *AzureFirewallApplicationRuleCollection) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var azureFirewallApplicationRuleCollectionPropertiesFormat AzureFirewallApplicationRuleCollectionPropertiesFormat + err = json.Unmarshal(*v, &azureFirewallApplicationRuleCollectionPropertiesFormat) + if err != nil { + return err + } + afarc.AzureFirewallApplicationRuleCollectionPropertiesFormat = &azureFirewallApplicationRuleCollectionPropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + afarc.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + afarc.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + afarc.ID = &ID + } + } + } + + return nil +} + +// AzureFirewallApplicationRuleCollectionPropertiesFormat properties of the application rule collection. +type AzureFirewallApplicationRuleCollectionPropertiesFormat struct { + // Priority - Priority of the application rule collection resource. + Priority *int32 `json:"priority,omitempty"` + // Action - The action type of a rule collection. + Action *AzureFirewallRCAction `json:"action,omitempty"` + // Rules - Collection of rules used by a application rule collection. + Rules *[]AzureFirewallApplicationRule `json:"rules,omitempty"` + // ProvisioningState - The provisioning state of the application rule collection resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// AzureFirewallApplicationRuleProtocol properties of the application rule protocol. +type AzureFirewallApplicationRuleProtocol struct { + // ProtocolType - Protocol type. Possible values include: 'AzureFirewallApplicationRuleProtocolTypeHTTP', 'AzureFirewallApplicationRuleProtocolTypeHTTPS', 'AzureFirewallApplicationRuleProtocolTypeMssql' + ProtocolType AzureFirewallApplicationRuleProtocolType `json:"protocolType,omitempty"` + // Port - Port number for the protocol, cannot be greater than 64000. This field is optional. + Port *int32 `json:"port,omitempty"` +} + +// AzureFirewallFqdnTag azure Firewall FQDN Tag Resource. +type AzureFirewallFqdnTag struct { + // AzureFirewallFqdnTagPropertiesFormat - Properties of the azure firewall FQDN tag. + *AzureFirewallFqdnTagPropertiesFormat `json:"properties,omitempty"` + // Etag - READ-ONLY; A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for AzureFirewallFqdnTag. +func (afft AzureFirewallFqdnTag) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if afft.AzureFirewallFqdnTagPropertiesFormat != nil { + objectMap["properties"] = afft.AzureFirewallFqdnTagPropertiesFormat + } + if afft.ID != nil { + objectMap["id"] = afft.ID + } + if afft.Location != nil { + objectMap["location"] = afft.Location + } + if afft.Tags != nil { + objectMap["tags"] = afft.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for AzureFirewallFqdnTag struct. +func (afft *AzureFirewallFqdnTag) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var azureFirewallFqdnTagPropertiesFormat AzureFirewallFqdnTagPropertiesFormat + err = json.Unmarshal(*v, &azureFirewallFqdnTagPropertiesFormat) + if err != nil { + return err + } + afft.AzureFirewallFqdnTagPropertiesFormat = &azureFirewallFqdnTagPropertiesFormat + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + afft.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + afft.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + afft.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + afft.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + afft.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + afft.Tags = tags + } + } + } + + return nil +} + +// AzureFirewallFqdnTagListResult response for ListAzureFirewallFqdnTags API service call. +type AzureFirewallFqdnTagListResult struct { + autorest.Response `json:"-"` + // Value - List of Azure Firewall FQDN Tags in a resource group. + Value *[]AzureFirewallFqdnTag `json:"value,omitempty"` + // NextLink - URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// AzureFirewallFqdnTagListResultIterator provides access to a complete listing of AzureFirewallFqdnTag +// values. +type AzureFirewallFqdnTagListResultIterator struct { + i int + page AzureFirewallFqdnTagListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *AzureFirewallFqdnTagListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AzureFirewallFqdnTagListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *AzureFirewallFqdnTagListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter AzureFirewallFqdnTagListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter AzureFirewallFqdnTagListResultIterator) Response() AzureFirewallFqdnTagListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter AzureFirewallFqdnTagListResultIterator) Value() AzureFirewallFqdnTag { + if !iter.page.NotDone() { + return AzureFirewallFqdnTag{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the AzureFirewallFqdnTagListResultIterator type. +func NewAzureFirewallFqdnTagListResultIterator(page AzureFirewallFqdnTagListResultPage) AzureFirewallFqdnTagListResultIterator { + return AzureFirewallFqdnTagListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (afftlr AzureFirewallFqdnTagListResult) IsEmpty() bool { + return afftlr.Value == nil || len(*afftlr.Value) == 0 +} + +// azureFirewallFqdnTagListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (afftlr AzureFirewallFqdnTagListResult) azureFirewallFqdnTagListResultPreparer(ctx context.Context) (*http.Request, error) { + if afftlr.NextLink == nil || len(to.String(afftlr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(afftlr.NextLink))) +} + +// AzureFirewallFqdnTagListResultPage contains a page of AzureFirewallFqdnTag values. +type AzureFirewallFqdnTagListResultPage struct { + fn func(context.Context, AzureFirewallFqdnTagListResult) (AzureFirewallFqdnTagListResult, error) + afftlr AzureFirewallFqdnTagListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *AzureFirewallFqdnTagListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AzureFirewallFqdnTagListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.afftlr) + if err != nil { + return err + } + page.afftlr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *AzureFirewallFqdnTagListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page AzureFirewallFqdnTagListResultPage) NotDone() bool { + return !page.afftlr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page AzureFirewallFqdnTagListResultPage) Response() AzureFirewallFqdnTagListResult { + return page.afftlr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page AzureFirewallFqdnTagListResultPage) Values() []AzureFirewallFqdnTag { + if page.afftlr.IsEmpty() { + return nil + } + return *page.afftlr.Value +} + +// Creates a new instance of the AzureFirewallFqdnTagListResultPage type. +func NewAzureFirewallFqdnTagListResultPage(getNextPage func(context.Context, AzureFirewallFqdnTagListResult) (AzureFirewallFqdnTagListResult, error)) AzureFirewallFqdnTagListResultPage { + return AzureFirewallFqdnTagListResultPage{fn: getNextPage} +} + +// AzureFirewallFqdnTagPropertiesFormat azure Firewall FQDN Tag Properties. +type AzureFirewallFqdnTagPropertiesFormat struct { + // ProvisioningState - READ-ONLY; The provisioning state of the Azure firewall FQDN tag resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + // FqdnTagName - READ-ONLY; The name of this FQDN Tag. + FqdnTagName *string `json:"fqdnTagName,omitempty"` +} + +// AzureFirewallIPConfiguration IP configuration of an Azure Firewall. +type AzureFirewallIPConfiguration struct { + // AzureFirewallIPConfigurationPropertiesFormat - Properties of the azure firewall IP configuration. + *AzureFirewallIPConfigurationPropertiesFormat `json:"properties,omitempty"` + // Name - Name of the resource that is unique within a resource group. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + // Etag - READ-ONLY; A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for AzureFirewallIPConfiguration. +func (afic AzureFirewallIPConfiguration) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if afic.AzureFirewallIPConfigurationPropertiesFormat != nil { + objectMap["properties"] = afic.AzureFirewallIPConfigurationPropertiesFormat + } + if afic.Name != nil { + objectMap["name"] = afic.Name + } + if afic.ID != nil { + objectMap["id"] = afic.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for AzureFirewallIPConfiguration struct. +func (afic *AzureFirewallIPConfiguration) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var azureFirewallIPConfigurationPropertiesFormat AzureFirewallIPConfigurationPropertiesFormat + err = json.Unmarshal(*v, &azureFirewallIPConfigurationPropertiesFormat) + if err != nil { + return err + } + afic.AzureFirewallIPConfigurationPropertiesFormat = &azureFirewallIPConfigurationPropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + afic.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + afic.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + afic.ID = &ID + } + } + } + + return nil +} + +// AzureFirewallIPConfigurationPropertiesFormat properties of IP configuration of an Azure Firewall. +type AzureFirewallIPConfigurationPropertiesFormat struct { + // PrivateIPAddress - READ-ONLY; The Firewall Internal Load Balancer IP to be used as the next hop in User Defined Routes. + PrivateIPAddress *string `json:"privateIPAddress,omitempty"` + // Subnet - Reference of the subnet resource. This resource must be named 'AzureFirewallSubnet'. + Subnet *SubResource `json:"subnet,omitempty"` + // PublicIPAddress - Reference of the PublicIP resource. This field is a mandatory input if subnet is not null. + PublicIPAddress *SubResource `json:"publicIPAddress,omitempty"` + // ProvisioningState - The provisioning state of the Azure firewall IP configuration resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// AzureFirewallListResult response for ListAzureFirewalls API service call. +type AzureFirewallListResult struct { + autorest.Response `json:"-"` + // Value - List of Azure Firewalls in a resource group. + Value *[]AzureFirewall `json:"value,omitempty"` + // NextLink - URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// AzureFirewallListResultIterator provides access to a complete listing of AzureFirewall values. +type AzureFirewallListResultIterator struct { + i int + page AzureFirewallListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *AzureFirewallListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AzureFirewallListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *AzureFirewallListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter AzureFirewallListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter AzureFirewallListResultIterator) Response() AzureFirewallListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter AzureFirewallListResultIterator) Value() AzureFirewall { + if !iter.page.NotDone() { + return AzureFirewall{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the AzureFirewallListResultIterator type. +func NewAzureFirewallListResultIterator(page AzureFirewallListResultPage) AzureFirewallListResultIterator { + return AzureFirewallListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (aflr AzureFirewallListResult) IsEmpty() bool { + return aflr.Value == nil || len(*aflr.Value) == 0 +} + +// azureFirewallListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (aflr AzureFirewallListResult) azureFirewallListResultPreparer(ctx context.Context) (*http.Request, error) { + if aflr.NextLink == nil || len(to.String(aflr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(aflr.NextLink))) +} + +// AzureFirewallListResultPage contains a page of AzureFirewall values. +type AzureFirewallListResultPage struct { + fn func(context.Context, AzureFirewallListResult) (AzureFirewallListResult, error) + aflr AzureFirewallListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *AzureFirewallListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AzureFirewallListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.aflr) + if err != nil { + return err + } + page.aflr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *AzureFirewallListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page AzureFirewallListResultPage) NotDone() bool { + return !page.aflr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page AzureFirewallListResultPage) Response() AzureFirewallListResult { + return page.aflr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page AzureFirewallListResultPage) Values() []AzureFirewall { + if page.aflr.IsEmpty() { + return nil + } + return *page.aflr.Value +} + +// Creates a new instance of the AzureFirewallListResultPage type. +func NewAzureFirewallListResultPage(getNextPage func(context.Context, AzureFirewallListResult) (AzureFirewallListResult, error)) AzureFirewallListResultPage { + return AzureFirewallListResultPage{fn: getNextPage} +} + +// AzureFirewallNatRCAction azureFirewall NAT Rule Collection Action. +type AzureFirewallNatRCAction struct { + // Type - The type of action. Possible values include: 'Snat', 'Dnat' + Type AzureFirewallNatRCActionType `json:"type,omitempty"` +} + +// AzureFirewallNatRule properties of a NAT rule. +type AzureFirewallNatRule struct { + // Name - Name of the NAT rule. + Name *string `json:"name,omitempty"` + // Description - Description of the rule. + Description *string `json:"description,omitempty"` + // SourceAddresses - List of source IP addresses for this rule. + SourceAddresses *[]string `json:"sourceAddresses,omitempty"` + // DestinationAddresses - List of destination IP addresses for this rule. Supports IP ranges, prefixes, and service tags. + DestinationAddresses *[]string `json:"destinationAddresses,omitempty"` + // DestinationPorts - List of destination ports. + DestinationPorts *[]string `json:"destinationPorts,omitempty"` + // Protocols - Array of AzureFirewallNetworkRuleProtocols applicable to this NAT rule. + Protocols *[]AzureFirewallNetworkRuleProtocol `json:"protocols,omitempty"` + // TranslatedAddress - The translated address for this NAT rule. + TranslatedAddress *string `json:"translatedAddress,omitempty"` + // TranslatedPort - The translated port for this NAT rule. + TranslatedPort *string `json:"translatedPort,omitempty"` +} + +// AzureFirewallNatRuleCollection NAT rule collection resource. +type AzureFirewallNatRuleCollection struct { + // AzureFirewallNatRuleCollectionProperties - Properties of the azure firewall NAT rule collection. + *AzureFirewallNatRuleCollectionProperties `json:"properties,omitempty"` + // Name - The name of the resource that is unique within the Azure firewall. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + // Etag - READ-ONLY; A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for AzureFirewallNatRuleCollection. +func (afnrc AzureFirewallNatRuleCollection) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if afnrc.AzureFirewallNatRuleCollectionProperties != nil { + objectMap["properties"] = afnrc.AzureFirewallNatRuleCollectionProperties + } + if afnrc.Name != nil { + objectMap["name"] = afnrc.Name + } + if afnrc.ID != nil { + objectMap["id"] = afnrc.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for AzureFirewallNatRuleCollection struct. +func (afnrc *AzureFirewallNatRuleCollection) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var azureFirewallNatRuleCollectionProperties AzureFirewallNatRuleCollectionProperties + err = json.Unmarshal(*v, &azureFirewallNatRuleCollectionProperties) + if err != nil { + return err + } + afnrc.AzureFirewallNatRuleCollectionProperties = &azureFirewallNatRuleCollectionProperties + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + afnrc.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + afnrc.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + afnrc.ID = &ID + } + } + } + + return nil +} + +// AzureFirewallNatRuleCollectionProperties properties of the NAT rule collection. +type AzureFirewallNatRuleCollectionProperties struct { + // Priority - Priority of the NAT rule collection resource. + Priority *int32 `json:"priority,omitempty"` + // Action - The action type of a NAT rule collection. + Action *AzureFirewallNatRCAction `json:"action,omitempty"` + // Rules - Collection of rules used by a NAT rule collection. + Rules *[]AzureFirewallNatRule `json:"rules,omitempty"` + // ProvisioningState - The provisioning state of the NAT rule collection resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// AzureFirewallNetworkRule properties of the network rule. +type AzureFirewallNetworkRule struct { + // Name - Name of the network rule. + Name *string `json:"name,omitempty"` + // Description - Description of the rule. + Description *string `json:"description,omitempty"` + // Protocols - Array of AzureFirewallNetworkRuleProtocols. + Protocols *[]AzureFirewallNetworkRuleProtocol `json:"protocols,omitempty"` + // SourceAddresses - List of source IP addresses for this rule. + SourceAddresses *[]string `json:"sourceAddresses,omitempty"` + // DestinationAddresses - List of destination IP addresses. + DestinationAddresses *[]string `json:"destinationAddresses,omitempty"` + // DestinationPorts - List of destination ports. + DestinationPorts *[]string `json:"destinationPorts,omitempty"` +} + +// AzureFirewallNetworkRuleCollection network rule collection resource. +type AzureFirewallNetworkRuleCollection struct { + // AzureFirewallNetworkRuleCollectionPropertiesFormat - Properties of the azure firewall network rule collection. + *AzureFirewallNetworkRuleCollectionPropertiesFormat `json:"properties,omitempty"` + // Name - The name of the resource that is unique within the Azure firewall. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + // Etag - READ-ONLY; A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for AzureFirewallNetworkRuleCollection. +func (afnrc AzureFirewallNetworkRuleCollection) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if afnrc.AzureFirewallNetworkRuleCollectionPropertiesFormat != nil { + objectMap["properties"] = afnrc.AzureFirewallNetworkRuleCollectionPropertiesFormat + } + if afnrc.Name != nil { + objectMap["name"] = afnrc.Name + } + if afnrc.ID != nil { + objectMap["id"] = afnrc.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for AzureFirewallNetworkRuleCollection struct. +func (afnrc *AzureFirewallNetworkRuleCollection) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var azureFirewallNetworkRuleCollectionPropertiesFormat AzureFirewallNetworkRuleCollectionPropertiesFormat + err = json.Unmarshal(*v, &azureFirewallNetworkRuleCollectionPropertiesFormat) + if err != nil { + return err + } + afnrc.AzureFirewallNetworkRuleCollectionPropertiesFormat = &azureFirewallNetworkRuleCollectionPropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + afnrc.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + afnrc.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + afnrc.ID = &ID + } + } + } + + return nil +} + +// AzureFirewallNetworkRuleCollectionPropertiesFormat properties of the network rule collection. +type AzureFirewallNetworkRuleCollectionPropertiesFormat struct { + // Priority - Priority of the network rule collection resource. + Priority *int32 `json:"priority,omitempty"` + // Action - The action type of a rule collection. + Action *AzureFirewallRCAction `json:"action,omitempty"` + // Rules - Collection of rules used by a network rule collection. + Rules *[]AzureFirewallNetworkRule `json:"rules,omitempty"` + // ProvisioningState - The provisioning state of the network rule collection resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// AzureFirewallPropertiesFormat properties of the Azure Firewall. +type AzureFirewallPropertiesFormat struct { + // ApplicationRuleCollections - Collection of application rule collections used by Azure Firewall. + ApplicationRuleCollections *[]AzureFirewallApplicationRuleCollection `json:"applicationRuleCollections,omitempty"` + // NatRuleCollections - Collection of NAT rule collections used by Azure Firewall. + NatRuleCollections *[]AzureFirewallNatRuleCollection `json:"natRuleCollections,omitempty"` + // NetworkRuleCollections - Collection of network rule collections used by Azure Firewall. + NetworkRuleCollections *[]AzureFirewallNetworkRuleCollection `json:"networkRuleCollections,omitempty"` + // IPConfigurations - IP configuration of the Azure Firewall resource. + IPConfigurations *[]AzureFirewallIPConfiguration `json:"ipConfigurations,omitempty"` + // ProvisioningState - The provisioning state of the Azure firewall resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + // ThreatIntelMode - The operation mode for Threat Intelligence. Possible values include: 'AzureFirewallThreatIntelModeAlert', 'AzureFirewallThreatIntelModeDeny', 'AzureFirewallThreatIntelModeOff' + ThreatIntelMode AzureFirewallThreatIntelMode `json:"threatIntelMode,omitempty"` + // VirtualHub - The virtualHub to which the firewall belongs. + VirtualHub *SubResource `json:"virtualHub,omitempty"` + // FirewallPolicy - The firewallPolicy associated with this azure firewall. + FirewallPolicy *SubResource `json:"firewallPolicy,omitempty"` + // HubIPAddresses - READ-ONLY; IP addresses associated with AzureFirewall. + HubIPAddresses *HubIPAddresses `json:"hubIpAddresses,omitempty"` +} + +// AzureFirewallPublicIPAddress public IP Address associated with azure firewall. +type AzureFirewallPublicIPAddress struct { + // Address - Public IP Address value. + Address *string `json:"address,omitempty"` +} + +// AzureFirewallRCAction properties of the AzureFirewallRCAction. +type AzureFirewallRCAction struct { + // Type - The type of action. Possible values include: 'AzureFirewallRCActionTypeAllow', 'AzureFirewallRCActionTypeDeny' + Type AzureFirewallRCActionType `json:"type,omitempty"` +} + +// AzureFirewallsCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type AzureFirewallsCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *AzureFirewallsCreateOrUpdateFuture) Result(client AzureFirewallsClient) (af AzureFirewall, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.AzureFirewallsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.AzureFirewallsCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if af.Response.Response, err = future.GetResult(sender); err == nil && af.Response.Response.StatusCode != http.StatusNoContent { + af, err = client.CreateOrUpdateResponder(af.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.AzureFirewallsCreateOrUpdateFuture", "Result", af.Response.Response, "Failure responding to request") + } + } + return +} + +// AzureFirewallsDeleteFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type AzureFirewallsDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *AzureFirewallsDeleteFuture) Result(client AzureFirewallsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.AzureFirewallsDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.AzureFirewallsDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// AzureReachabilityReport azure reachability report details. +type AzureReachabilityReport struct { + autorest.Response `json:"-"` + // AggregationLevel - The aggregation level of Azure reachability report. Can be Country, State or City. + AggregationLevel *string `json:"aggregationLevel,omitempty"` + // ProviderLocation - Parameters that define a geographic location. + ProviderLocation *AzureReachabilityReportLocation `json:"providerLocation,omitempty"` + // ReachabilityReport - List of Azure reachability report items. + ReachabilityReport *[]AzureReachabilityReportItem `json:"reachabilityReport,omitempty"` +} + +// AzureReachabilityReportItem azure reachability report details for a given provider location. +type AzureReachabilityReportItem struct { + // Provider - The Internet service provider. + Provider *string `json:"provider,omitempty"` + // AzureLocation - The Azure region. + AzureLocation *string `json:"azureLocation,omitempty"` + // Latencies - List of latency details for each of the time series. + Latencies *[]AzureReachabilityReportLatencyInfo `json:"latencies,omitempty"` +} + +// AzureReachabilityReportLatencyInfo details on latency for a time series. +type AzureReachabilityReportLatencyInfo struct { + // TimeStamp - The time stamp. + TimeStamp *date.Time `json:"timeStamp,omitempty"` + // Score - The relative latency score between 1 and 100, higher values indicating a faster connection. + Score *int32 `json:"score,omitempty"` +} + +// AzureReachabilityReportLocation parameters that define a geographic location. +type AzureReachabilityReportLocation struct { + // Country - The name of the country. + Country *string `json:"country,omitempty"` + // State - The name of the state. + State *string `json:"state,omitempty"` + // City - The name of the city or town. + City *string `json:"city,omitempty"` +} + +// AzureReachabilityReportParameters geographic and time constraints for Azure reachability report. +type AzureReachabilityReportParameters struct { + // ProviderLocation - Parameters that define a geographic location. + ProviderLocation *AzureReachabilityReportLocation `json:"providerLocation,omitempty"` + // Providers - List of Internet service providers. + Providers *[]string `json:"providers,omitempty"` + // AzureLocations - Optional Azure regions to scope the query to. + AzureLocations *[]string `json:"azureLocations,omitempty"` + // StartTime - The start time for the Azure reachability report. + StartTime *date.Time `json:"startTime,omitempty"` + // EndTime - The end time for the Azure reachability report. + EndTime *date.Time `json:"endTime,omitempty"` +} + +// BackendAddressPool pool of backend IP addresses. +type BackendAddressPool struct { + autorest.Response `json:"-"` + // BackendAddressPoolPropertiesFormat - Properties of load balancer backend address pool. + *BackendAddressPoolPropertiesFormat `json:"properties,omitempty"` + // Name - The name of the resource that is unique within the set of backend address pools used by the load balancer. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // Type - READ-ONLY; Type of the resource. + Type *string `json:"type,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for BackendAddressPool. +func (bap BackendAddressPool) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if bap.BackendAddressPoolPropertiesFormat != nil { + objectMap["properties"] = bap.BackendAddressPoolPropertiesFormat + } + if bap.Name != nil { + objectMap["name"] = bap.Name + } + if bap.Etag != nil { + objectMap["etag"] = bap.Etag + } + if bap.ID != nil { + objectMap["id"] = bap.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for BackendAddressPool struct. +func (bap *BackendAddressPool) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var backendAddressPoolPropertiesFormat BackendAddressPoolPropertiesFormat + err = json.Unmarshal(*v, &backendAddressPoolPropertiesFormat) + if err != nil { + return err + } + bap.BackendAddressPoolPropertiesFormat = &backendAddressPoolPropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + bap.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + bap.Etag = &etag + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + bap.Type = &typeVar + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + bap.ID = &ID + } + } + } + + return nil +} + +// BackendAddressPoolPropertiesFormat properties of the backend address pool. +type BackendAddressPoolPropertiesFormat struct { + // BackendIPConfigurations - READ-ONLY; An array of references to IP addresses defined in network interfaces. + BackendIPConfigurations *[]InterfaceIPConfiguration `json:"backendIPConfigurations,omitempty"` + // LoadBalancingRules - READ-ONLY; An array of references to load balancing rules that use this backend address pool. + LoadBalancingRules *[]SubResource `json:"loadBalancingRules,omitempty"` + // OutboundRule - READ-ONLY; A reference to an outbound rule that uses this backend address pool. + OutboundRule *SubResource `json:"outboundRule,omitempty"` + // OutboundRules - READ-ONLY; An array of references to outbound rules that use this backend address pool. + OutboundRules *[]SubResource `json:"outboundRules,omitempty"` + // ProvisioningState - The provisioning state of the backend address pool resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// BastionHost bastion Host resource. +type BastionHost struct { + autorest.Response `json:"-"` + // BastionHostPropertiesFormat - Represents the bastion host resource. + *BastionHostPropertiesFormat `json:"properties,omitempty"` + // Etag - READ-ONLY; A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for BastionHost. +func (bh BastionHost) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if bh.BastionHostPropertiesFormat != nil { + objectMap["properties"] = bh.BastionHostPropertiesFormat + } + if bh.ID != nil { + objectMap["id"] = bh.ID + } + if bh.Location != nil { + objectMap["location"] = bh.Location + } + if bh.Tags != nil { + objectMap["tags"] = bh.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for BastionHost struct. +func (bh *BastionHost) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var bastionHostPropertiesFormat BastionHostPropertiesFormat + err = json.Unmarshal(*v, &bastionHostPropertiesFormat) + if err != nil { + return err + } + bh.BastionHostPropertiesFormat = &bastionHostPropertiesFormat + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + bh.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + bh.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + bh.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + bh.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + bh.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + bh.Tags = tags + } + } + } + + return nil +} + +// BastionHostIPConfiguration IP configuration of an Bastion Host. +type BastionHostIPConfiguration struct { + // BastionHostIPConfigurationPropertiesFormat - Represents the ip configuration associated with the resource. + *BastionHostIPConfigurationPropertiesFormat `json:"properties,omitempty"` + // Name - Name of the resource that is unique within a resource group. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + // Etag - READ-ONLY; A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // Type - READ-ONLY; Ip configuration type. + Type *string `json:"type,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for BastionHostIPConfiguration. +func (bhic BastionHostIPConfiguration) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if bhic.BastionHostIPConfigurationPropertiesFormat != nil { + objectMap["properties"] = bhic.BastionHostIPConfigurationPropertiesFormat + } + if bhic.Name != nil { + objectMap["name"] = bhic.Name + } + if bhic.ID != nil { + objectMap["id"] = bhic.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for BastionHostIPConfiguration struct. +func (bhic *BastionHostIPConfiguration) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var bastionHostIPConfigurationPropertiesFormat BastionHostIPConfigurationPropertiesFormat + err = json.Unmarshal(*v, &bastionHostIPConfigurationPropertiesFormat) + if err != nil { + return err + } + bhic.BastionHostIPConfigurationPropertiesFormat = &bastionHostIPConfigurationPropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + bhic.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + bhic.Etag = &etag + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + bhic.Type = &typeVar + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + bhic.ID = &ID + } + } + } + + return nil +} + +// BastionHostIPConfigurationPropertiesFormat properties of IP configuration of an Bastion Host. +type BastionHostIPConfigurationPropertiesFormat struct { + // Subnet - Reference of the subnet resource. + Subnet *SubResource `json:"subnet,omitempty"` + // PublicIPAddress - Reference of the PublicIP resource. + PublicIPAddress *SubResource `json:"publicIPAddress,omitempty"` + // ProvisioningState - The provisioning state of the bastion host IP configuration resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + // PrivateIPAllocationMethod - Private IP allocation method. Possible values include: 'Static', 'Dynamic' + PrivateIPAllocationMethod IPAllocationMethod `json:"privateIPAllocationMethod,omitempty"` +} + +// BastionHostListResult response for ListBastionHosts API service call. +type BastionHostListResult struct { + autorest.Response `json:"-"` + // Value - List of Bastion Hosts in a resource group. + Value *[]BastionHost `json:"value,omitempty"` + // NextLink - URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// BastionHostListResultIterator provides access to a complete listing of BastionHost values. +type BastionHostListResultIterator struct { + i int + page BastionHostListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *BastionHostListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BastionHostListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *BastionHostListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter BastionHostListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter BastionHostListResultIterator) Response() BastionHostListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter BastionHostListResultIterator) Value() BastionHost { + if !iter.page.NotDone() { + return BastionHost{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the BastionHostListResultIterator type. +func NewBastionHostListResultIterator(page BastionHostListResultPage) BastionHostListResultIterator { + return BastionHostListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (bhlr BastionHostListResult) IsEmpty() bool { + return bhlr.Value == nil || len(*bhlr.Value) == 0 +} + +// bastionHostListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (bhlr BastionHostListResult) bastionHostListResultPreparer(ctx context.Context) (*http.Request, error) { + if bhlr.NextLink == nil || len(to.String(bhlr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(bhlr.NextLink))) +} + +// BastionHostListResultPage contains a page of BastionHost values. +type BastionHostListResultPage struct { + fn func(context.Context, BastionHostListResult) (BastionHostListResult, error) + bhlr BastionHostListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *BastionHostListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BastionHostListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.bhlr) + if err != nil { + return err + } + page.bhlr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *BastionHostListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page BastionHostListResultPage) NotDone() bool { + return !page.bhlr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page BastionHostListResultPage) Response() BastionHostListResult { + return page.bhlr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page BastionHostListResultPage) Values() []BastionHost { + if page.bhlr.IsEmpty() { + return nil + } + return *page.bhlr.Value +} + +// Creates a new instance of the BastionHostListResultPage type. +func NewBastionHostListResultPage(getNextPage func(context.Context, BastionHostListResult) (BastionHostListResult, error)) BastionHostListResultPage { + return BastionHostListResultPage{fn: getNextPage} +} + +// BastionHostPropertiesFormat properties of the Bastion Host. +type BastionHostPropertiesFormat struct { + // IPConfigurations - IP configuration of the Bastion Host resource. + IPConfigurations *[]BastionHostIPConfiguration `json:"ipConfigurations,omitempty"` + // DNSName - FQDN for the endpoint on which bastion host is accessible. + DNSName *string `json:"dnsName,omitempty"` + // ProvisioningState - The provisioning state of the bastion host resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// BastionHostsCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type BastionHostsCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *BastionHostsCreateOrUpdateFuture) Result(client BastionHostsClient) (bh BastionHost, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.BastionHostsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.BastionHostsCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if bh.Response.Response, err = future.GetResult(sender); err == nil && bh.Response.Response.StatusCode != http.StatusNoContent { + bh, err = client.CreateOrUpdateResponder(bh.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.BastionHostsCreateOrUpdateFuture", "Result", bh.Response.Response, "Failure responding to request") + } + } + return +} + +// BastionHostsDeleteFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type BastionHostsDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *BastionHostsDeleteFuture) Result(client BastionHostsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.BastionHostsDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.BastionHostsDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// BGPCommunity contains bgp community information offered in Service Community resources. +type BGPCommunity struct { + // ServiceSupportedRegion - The region which the service support. e.g. For O365, region is Global. + ServiceSupportedRegion *string `json:"serviceSupportedRegion,omitempty"` + // CommunityName - The name of the bgp community. e.g. Skype. + CommunityName *string `json:"communityName,omitempty"` + // CommunityValue - The value of the bgp community. For more information: https://docs.microsoft.com/en-us/azure/expressroute/expressroute-routing. + CommunityValue *string `json:"communityValue,omitempty"` + // CommunityPrefixes - The prefixes that the bgp community contains. + CommunityPrefixes *[]string `json:"communityPrefixes,omitempty"` + // IsAuthorizedToUse - Customer is authorized to use bgp community or not. + IsAuthorizedToUse *bool `json:"isAuthorizedToUse,omitempty"` + // ServiceGroup - The service group of the bgp community contains. + ServiceGroup *string `json:"serviceGroup,omitempty"` +} + +// BgpPeerStatus BGP peer status details. +type BgpPeerStatus struct { + // LocalAddress - READ-ONLY; The virtual network gateway's local address. + LocalAddress *string `json:"localAddress,omitempty"` + // Neighbor - READ-ONLY; The remote BGP peer. + Neighbor *string `json:"neighbor,omitempty"` + // Asn - READ-ONLY; The autonomous system number of the remote BGP peer. + Asn *int32 `json:"asn,omitempty"` + // State - READ-ONLY; The BGP peer state. Possible values include: 'BgpPeerStateUnknown', 'BgpPeerStateStopped', 'BgpPeerStateIdle', 'BgpPeerStateConnecting', 'BgpPeerStateConnected' + State BgpPeerState `json:"state,omitempty"` + // ConnectedDuration - READ-ONLY; For how long the peering has been up. + ConnectedDuration *string `json:"connectedDuration,omitempty"` + // RoutesReceived - READ-ONLY; The number of routes learned from this peer. + RoutesReceived *int64 `json:"routesReceived,omitempty"` + // MessagesSent - READ-ONLY; The number of BGP messages sent. + MessagesSent *int64 `json:"messagesSent,omitempty"` + // MessagesReceived - READ-ONLY; The number of BGP messages received. + MessagesReceived *int64 `json:"messagesReceived,omitempty"` +} + +// BgpPeerStatusListResult response for list BGP peer status API service call. +type BgpPeerStatusListResult struct { + autorest.Response `json:"-"` + // Value - List of BGP peers. + Value *[]BgpPeerStatus `json:"value,omitempty"` +} + +// BgpServiceCommunity service Community Properties. +type BgpServiceCommunity struct { + // BgpServiceCommunityPropertiesFormat - Properties of the BGP service community. + *BgpServiceCommunityPropertiesFormat `json:"properties,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for BgpServiceCommunity. +func (bsc BgpServiceCommunity) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if bsc.BgpServiceCommunityPropertiesFormat != nil { + objectMap["properties"] = bsc.BgpServiceCommunityPropertiesFormat + } + if bsc.ID != nil { + objectMap["id"] = bsc.ID + } + if bsc.Location != nil { + objectMap["location"] = bsc.Location + } + if bsc.Tags != nil { + objectMap["tags"] = bsc.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for BgpServiceCommunity struct. +func (bsc *BgpServiceCommunity) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var bgpServiceCommunityPropertiesFormat BgpServiceCommunityPropertiesFormat + err = json.Unmarshal(*v, &bgpServiceCommunityPropertiesFormat) + if err != nil { + return err + } + bsc.BgpServiceCommunityPropertiesFormat = &bgpServiceCommunityPropertiesFormat + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + bsc.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + bsc.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + bsc.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + bsc.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + bsc.Tags = tags + } + } + } + + return nil +} + +// BgpServiceCommunityListResult response for the ListServiceCommunity API service call. +type BgpServiceCommunityListResult struct { + autorest.Response `json:"-"` + // Value - A list of service community resources. + Value *[]BgpServiceCommunity `json:"value,omitempty"` + // NextLink - The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// BgpServiceCommunityListResultIterator provides access to a complete listing of BgpServiceCommunity +// values. +type BgpServiceCommunityListResultIterator struct { + i int + page BgpServiceCommunityListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *BgpServiceCommunityListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BgpServiceCommunityListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *BgpServiceCommunityListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter BgpServiceCommunityListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter BgpServiceCommunityListResultIterator) Response() BgpServiceCommunityListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter BgpServiceCommunityListResultIterator) Value() BgpServiceCommunity { + if !iter.page.NotDone() { + return BgpServiceCommunity{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the BgpServiceCommunityListResultIterator type. +func NewBgpServiceCommunityListResultIterator(page BgpServiceCommunityListResultPage) BgpServiceCommunityListResultIterator { + return BgpServiceCommunityListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (bsclr BgpServiceCommunityListResult) IsEmpty() bool { + return bsclr.Value == nil || len(*bsclr.Value) == 0 +} + +// bgpServiceCommunityListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (bsclr BgpServiceCommunityListResult) bgpServiceCommunityListResultPreparer(ctx context.Context) (*http.Request, error) { + if bsclr.NextLink == nil || len(to.String(bsclr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(bsclr.NextLink))) +} + +// BgpServiceCommunityListResultPage contains a page of BgpServiceCommunity values. +type BgpServiceCommunityListResultPage struct { + fn func(context.Context, BgpServiceCommunityListResult) (BgpServiceCommunityListResult, error) + bsclr BgpServiceCommunityListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *BgpServiceCommunityListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BgpServiceCommunityListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.bsclr) + if err != nil { + return err + } + page.bsclr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *BgpServiceCommunityListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page BgpServiceCommunityListResultPage) NotDone() bool { + return !page.bsclr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page BgpServiceCommunityListResultPage) Response() BgpServiceCommunityListResult { + return page.bsclr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page BgpServiceCommunityListResultPage) Values() []BgpServiceCommunity { + if page.bsclr.IsEmpty() { + return nil + } + return *page.bsclr.Value +} + +// Creates a new instance of the BgpServiceCommunityListResultPage type. +func NewBgpServiceCommunityListResultPage(getNextPage func(context.Context, BgpServiceCommunityListResult) (BgpServiceCommunityListResult, error)) BgpServiceCommunityListResultPage { + return BgpServiceCommunityListResultPage{fn: getNextPage} +} + +// BgpServiceCommunityPropertiesFormat properties of Service Community. +type BgpServiceCommunityPropertiesFormat struct { + // ServiceName - The name of the bgp community. e.g. Skype. + ServiceName *string `json:"serviceName,omitempty"` + // BgpCommunities - A list of bgp communities. + BgpCommunities *[]BGPCommunity `json:"bgpCommunities,omitempty"` +} + +// BgpSettings BGP settings details. +type BgpSettings struct { + // Asn - The BGP speaker's ASN. + Asn *int64 `json:"asn,omitempty"` + // BgpPeeringAddress - The BGP peering address and BGP identifier of this BGP speaker. + BgpPeeringAddress *string `json:"bgpPeeringAddress,omitempty"` + // PeerWeight - The weight added to routes learned from this BGP speaker. + PeerWeight *int32 `json:"peerWeight,omitempty"` +} + +// CheckPrivateLinkServiceVisibilityRequest request body of the CheckPrivateLinkServiceVisibility API +// service call. +type CheckPrivateLinkServiceVisibilityRequest struct { + // PrivateLinkServiceAlias - The alias of the private link service. + PrivateLinkServiceAlias *string `json:"privateLinkServiceAlias,omitempty"` +} + +// CloudError an error response from the Batch service. +type CloudError struct { + // Error - Cloud error body. + Error *CloudErrorBody `json:"error,omitempty"` +} + +// CloudErrorBody an error response from the Batch service. +type CloudErrorBody struct { + // Code - An identifier for the error. Codes are invariant and are intended to be consumed programmatically. + Code *string `json:"code,omitempty"` + // Message - A message describing the error, intended to be suitable for display in a user interface. + Message *string `json:"message,omitempty"` + // Target - The target of the particular error. For example, the name of the property in error. + Target *string `json:"target,omitempty"` + // Details - A list of additional details about the error. + Details *[]CloudErrorBody `json:"details,omitempty"` +} + +// ConfigurationDiagnosticParameters parameters to get network configuration diagnostic. +type ConfigurationDiagnosticParameters struct { + // TargetResourceID - The ID of the target resource to perform network configuration diagnostic. Valid options are VM, NetworkInterface, VMSS/NetworkInterface and Application Gateway. + TargetResourceID *string `json:"targetResourceId,omitempty"` + // VerbosityLevel - Verbosity level. Possible values include: 'Normal', 'Minimum', 'Full' + VerbosityLevel VerbosityLevel `json:"verbosityLevel,omitempty"` + // Profiles - List of network configuration diagnostic profiles. + Profiles *[]ConfigurationDiagnosticProfile `json:"profiles,omitempty"` +} + +// ConfigurationDiagnosticProfile parameters to compare with network configuration. +type ConfigurationDiagnosticProfile struct { + // Direction - The direction of the traffic. Possible values include: 'Inbound', 'Outbound' + Direction Direction `json:"direction,omitempty"` + // Protocol - Protocol to be verified on. Accepted values are '*', TCP, UDP. + Protocol *string `json:"protocol,omitempty"` + // Source - Traffic source. Accepted values are '*', IP Address/CIDR, Service Tag. + Source *string `json:"source,omitempty"` + // Destination - Traffic destination. Accepted values are: '*', IP Address/CIDR, Service Tag. + Destination *string `json:"destination,omitempty"` + // DestinationPort - Traffic destination port. Accepted values are '*', port (for example, 3389) and port range (for example, 80-100). + DestinationPort *string `json:"destinationPort,omitempty"` +} + +// ConfigurationDiagnosticResponse results of network configuration diagnostic on the target resource. +type ConfigurationDiagnosticResponse struct { + autorest.Response `json:"-"` + // Results - READ-ONLY; List of network configuration diagnostic results. + Results *[]ConfigurationDiagnosticResult `json:"results,omitempty"` +} + +// ConfigurationDiagnosticResult network configuration diagnostic result corresponded to provided traffic +// query. +type ConfigurationDiagnosticResult struct { + // Profile - Network configuration diagnostic profile. + Profile *ConfigurationDiagnosticProfile `json:"profile,omitempty"` + // NetworkSecurityGroupResult - Network security group result. + NetworkSecurityGroupResult *SecurityGroupResult `json:"networkSecurityGroupResult,omitempty"` +} + +// ConnectionMonitor parameters that define the operation to create a connection monitor. +type ConnectionMonitor struct { + // Location - Connection monitor location. + Location *string `json:"location,omitempty"` + // Tags - Connection monitor tags. + Tags map[string]*string `json:"tags"` + // ConnectionMonitorParameters - Properties of the connection monitor. + *ConnectionMonitorParameters `json:"properties,omitempty"` +} + +// MarshalJSON is the custom marshaler for ConnectionMonitor. +func (cm ConnectionMonitor) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if cm.Location != nil { + objectMap["location"] = cm.Location + } + if cm.Tags != nil { + objectMap["tags"] = cm.Tags + } + if cm.ConnectionMonitorParameters != nil { + objectMap["properties"] = cm.ConnectionMonitorParameters + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ConnectionMonitor struct. +func (cm *ConnectionMonitor) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + cm.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + cm.Tags = tags + } + case "properties": + if v != nil { + var connectionMonitorParameters ConnectionMonitorParameters + err = json.Unmarshal(*v, &connectionMonitorParameters) + if err != nil { + return err + } + cm.ConnectionMonitorParameters = &connectionMonitorParameters + } + } + } + + return nil +} + +// ConnectionMonitorDestination describes the destination of connection monitor. +type ConnectionMonitorDestination struct { + // ResourceID - The ID of the resource used as the destination by connection monitor. + ResourceID *string `json:"resourceId,omitempty"` + // Address - Address of the connection monitor destination (IP or domain name). + Address *string `json:"address,omitempty"` + // Port - The destination port used by connection monitor. + Port *int32 `json:"port,omitempty"` +} + +// ConnectionMonitorListResult list of connection monitors. +type ConnectionMonitorListResult struct { + autorest.Response `json:"-"` + // Value - Information about connection monitors. + Value *[]ConnectionMonitorResult `json:"value,omitempty"` +} + +// ConnectionMonitorParameters parameters that define the operation to create a connection monitor. +type ConnectionMonitorParameters struct { + // Source - Describes the source of connection monitor. + Source *ConnectionMonitorSource `json:"source,omitempty"` + // Destination - Describes the destination of connection monitor. + Destination *ConnectionMonitorDestination `json:"destination,omitempty"` + // AutoStart - Determines if the connection monitor will start automatically once created. + AutoStart *bool `json:"autoStart,omitempty"` + // MonitoringIntervalInSeconds - Monitoring interval in seconds. + MonitoringIntervalInSeconds *int32 `json:"monitoringIntervalInSeconds,omitempty"` +} + +// ConnectionMonitorQueryResult list of connection states snapshots. +type ConnectionMonitorQueryResult struct { + autorest.Response `json:"-"` + // SourceStatus - Status of connection monitor source. Possible values include: 'ConnectionMonitorSourceStatusUnknown', 'ConnectionMonitorSourceStatusActive', 'ConnectionMonitorSourceStatusInactive' + SourceStatus ConnectionMonitorSourceStatus `json:"sourceStatus,omitempty"` + // States - Information about connection states. + States *[]ConnectionStateSnapshot `json:"states,omitempty"` +} + +// ConnectionMonitorResult information about the connection monitor. +type ConnectionMonitorResult struct { + autorest.Response `json:"-"` + // Name - READ-ONLY; Name of the connection monitor. + Name *string `json:"name,omitempty"` + // ID - READ-ONLY; ID of the connection monitor. + ID *string `json:"id,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // Type - READ-ONLY; Connection monitor type. + Type *string `json:"type,omitempty"` + // Location - Connection monitor location. + Location *string `json:"location,omitempty"` + // Tags - Connection monitor tags. + Tags map[string]*string `json:"tags"` + // ConnectionMonitorResultProperties - Properties of the connection monitor result. + *ConnectionMonitorResultProperties `json:"properties,omitempty"` +} + +// MarshalJSON is the custom marshaler for ConnectionMonitorResult. +func (cmr ConnectionMonitorResult) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if cmr.Etag != nil { + objectMap["etag"] = cmr.Etag + } + if cmr.Location != nil { + objectMap["location"] = cmr.Location + } + if cmr.Tags != nil { + objectMap["tags"] = cmr.Tags + } + if cmr.ConnectionMonitorResultProperties != nil { + objectMap["properties"] = cmr.ConnectionMonitorResultProperties + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ConnectionMonitorResult struct. +func (cmr *ConnectionMonitorResult) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + cmr.Name = &name + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + cmr.ID = &ID + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + cmr.Etag = &etag + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + cmr.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + cmr.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + cmr.Tags = tags + } + case "properties": + if v != nil { + var connectionMonitorResultProperties ConnectionMonitorResultProperties + err = json.Unmarshal(*v, &connectionMonitorResultProperties) + if err != nil { + return err + } + cmr.ConnectionMonitorResultProperties = &connectionMonitorResultProperties + } + } + } + + return nil +} + +// ConnectionMonitorResultProperties describes the properties of a connection monitor. +type ConnectionMonitorResultProperties struct { + // ProvisioningState - The provisioning state of the connection monitor. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + // StartTime - The date and time when the connection monitor was started. + StartTime *date.Time `json:"startTime,omitempty"` + // MonitoringStatus - The monitoring status of the connection monitor. + MonitoringStatus *string `json:"monitoringStatus,omitempty"` + // Source - Describes the source of connection monitor. + Source *ConnectionMonitorSource `json:"source,omitempty"` + // Destination - Describes the destination of connection monitor. + Destination *ConnectionMonitorDestination `json:"destination,omitempty"` + // AutoStart - Determines if the connection monitor will start automatically once created. + AutoStart *bool `json:"autoStart,omitempty"` + // MonitoringIntervalInSeconds - Monitoring interval in seconds. + MonitoringIntervalInSeconds *int32 `json:"monitoringIntervalInSeconds,omitempty"` +} + +// ConnectionMonitorsCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type ConnectionMonitorsCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ConnectionMonitorsCreateOrUpdateFuture) Result(client ConnectionMonitorsClient) (cmr ConnectionMonitorResult, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ConnectionMonitorsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.ConnectionMonitorsCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if cmr.Response.Response, err = future.GetResult(sender); err == nil && cmr.Response.Response.StatusCode != http.StatusNoContent { + cmr, err = client.CreateOrUpdateResponder(cmr.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ConnectionMonitorsCreateOrUpdateFuture", "Result", cmr.Response.Response, "Failure responding to request") + } + } + return +} + +// ConnectionMonitorsDeleteFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type ConnectionMonitorsDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ConnectionMonitorsDeleteFuture) Result(client ConnectionMonitorsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ConnectionMonitorsDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.ConnectionMonitorsDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// ConnectionMonitorSource describes the source of connection monitor. +type ConnectionMonitorSource struct { + // ResourceID - The ID of the resource used as the source by connection monitor. + ResourceID *string `json:"resourceId,omitempty"` + // Port - The source port used by connection monitor. + Port *int32 `json:"port,omitempty"` +} + +// ConnectionMonitorsQueryFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type ConnectionMonitorsQueryFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ConnectionMonitorsQueryFuture) Result(client ConnectionMonitorsClient) (cmqr ConnectionMonitorQueryResult, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ConnectionMonitorsQueryFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.ConnectionMonitorsQueryFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if cmqr.Response.Response, err = future.GetResult(sender); err == nil && cmqr.Response.Response.StatusCode != http.StatusNoContent { + cmqr, err = client.QueryResponder(cmqr.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ConnectionMonitorsQueryFuture", "Result", cmqr.Response.Response, "Failure responding to request") + } + } + return +} + +// ConnectionMonitorsStartFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type ConnectionMonitorsStartFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ConnectionMonitorsStartFuture) Result(client ConnectionMonitorsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ConnectionMonitorsStartFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.ConnectionMonitorsStartFuture") + return + } + ar.Response = future.Response() + return +} + +// ConnectionMonitorsStopFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type ConnectionMonitorsStopFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ConnectionMonitorsStopFuture) Result(client ConnectionMonitorsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ConnectionMonitorsStopFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.ConnectionMonitorsStopFuture") + return + } + ar.Response = future.Response() + return +} + +// ConnectionResetSharedKey the virtual network connection reset shared key. +type ConnectionResetSharedKey struct { + autorest.Response `json:"-"` + // KeyLength - The virtual network connection reset shared key length, should between 1 and 128. + KeyLength *int32 `json:"keyLength,omitempty"` +} + +// ConnectionSharedKey response for GetConnectionSharedKey API service call. +type ConnectionSharedKey struct { + autorest.Response `json:"-"` + // Value - The virtual network connection shared key value. + Value *string `json:"value,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// ConnectionStateSnapshot connection state snapshot. +type ConnectionStateSnapshot struct { + // ConnectionState - The connection state. Possible values include: 'ConnectionStateReachable', 'ConnectionStateUnreachable', 'ConnectionStateUnknown' + ConnectionState ConnectionState `json:"connectionState,omitempty"` + // StartTime - The start time of the connection snapshot. + StartTime *date.Time `json:"startTime,omitempty"` + // EndTime - The end time of the connection snapshot. + EndTime *date.Time `json:"endTime,omitempty"` + // EvaluationState - Connectivity analysis evaluation state. Possible values include: 'NotStarted', 'InProgress', 'Completed' + EvaluationState EvaluationState `json:"evaluationState,omitempty"` + // AvgLatencyInMs - Average latency in ms. + AvgLatencyInMs *int32 `json:"avgLatencyInMs,omitempty"` + // MinLatencyInMs - Minimum latency in ms. + MinLatencyInMs *int32 `json:"minLatencyInMs,omitempty"` + // MaxLatencyInMs - Maximum latency in ms. + MaxLatencyInMs *int32 `json:"maxLatencyInMs,omitempty"` + // ProbesSent - The number of sent probes. + ProbesSent *int32 `json:"probesSent,omitempty"` + // ProbesFailed - The number of failed probes. + ProbesFailed *int32 `json:"probesFailed,omitempty"` + // Hops - READ-ONLY; List of hops between the source and the destination. + Hops *[]ConnectivityHop `json:"hops,omitempty"` +} + +// ConnectivityDestination parameters that define destination of connection. +type ConnectivityDestination struct { + // ResourceID - The ID of the resource to which a connection attempt will be made. + ResourceID *string `json:"resourceId,omitempty"` + // Address - The IP address or URI the resource to which a connection attempt will be made. + Address *string `json:"address,omitempty"` + // Port - Port on which check connectivity will be performed. + Port *int32 `json:"port,omitempty"` +} + +// ConnectivityHop information about a hop between the source and the destination. +type ConnectivityHop struct { + // Type - READ-ONLY; The type of the hop. + Type *string `json:"type,omitempty"` + // ID - READ-ONLY; The ID of the hop. + ID *string `json:"id,omitempty"` + // Address - READ-ONLY; The IP address of the hop. + Address *string `json:"address,omitempty"` + // ResourceID - READ-ONLY; The ID of the resource corresponding to this hop. + ResourceID *string `json:"resourceId,omitempty"` + // NextHopIds - READ-ONLY; List of next hop identifiers. + NextHopIds *[]string `json:"nextHopIds,omitempty"` + // Issues - READ-ONLY; List of issues. + Issues *[]ConnectivityIssue `json:"issues,omitempty"` +} + +// ConnectivityInformation information on the connectivity status. +type ConnectivityInformation struct { + autorest.Response `json:"-"` + // Hops - READ-ONLY; List of hops between the source and the destination. + Hops *[]ConnectivityHop `json:"hops,omitempty"` + // ConnectionStatus - READ-ONLY; The connection status. Possible values include: 'ConnectionStatusUnknown', 'ConnectionStatusConnected', 'ConnectionStatusDisconnected', 'ConnectionStatusDegraded' + ConnectionStatus ConnectionStatus `json:"connectionStatus,omitempty"` + // AvgLatencyInMs - READ-ONLY; Average latency in milliseconds. + AvgLatencyInMs *int32 `json:"avgLatencyInMs,omitempty"` + // MinLatencyInMs - READ-ONLY; Minimum latency in milliseconds. + MinLatencyInMs *int32 `json:"minLatencyInMs,omitempty"` + // MaxLatencyInMs - READ-ONLY; Maximum latency in milliseconds. + MaxLatencyInMs *int32 `json:"maxLatencyInMs,omitempty"` + // ProbesSent - READ-ONLY; Total number of probes sent. + ProbesSent *int32 `json:"probesSent,omitempty"` + // ProbesFailed - READ-ONLY; Number of failed probes. + ProbesFailed *int32 `json:"probesFailed,omitempty"` +} + +// ConnectivityIssue information about an issue encountered in the process of checking for connectivity. +type ConnectivityIssue struct { + // Origin - READ-ONLY; The origin of the issue. Possible values include: 'OriginLocal', 'OriginInbound', 'OriginOutbound' + Origin Origin `json:"origin,omitempty"` + // Severity - READ-ONLY; The severity of the issue. Possible values include: 'SeverityError', 'SeverityWarning' + Severity Severity `json:"severity,omitempty"` + // Type - READ-ONLY; The type of issue. Possible values include: 'IssueTypeUnknown', 'IssueTypeAgentStopped', 'IssueTypeGuestFirewall', 'IssueTypeDNSResolution', 'IssueTypeSocketBind', 'IssueTypeNetworkSecurityRule', 'IssueTypeUserDefinedRoute', 'IssueTypePortThrottled', 'IssueTypePlatform' + Type IssueType `json:"type,omitempty"` + // Context - READ-ONLY; Provides additional context on the issue. + Context *[]map[string]*string `json:"context,omitempty"` +} + +// ConnectivityParameters parameters that determine how the connectivity check will be performed. +type ConnectivityParameters struct { + // Source - Describes the source of the connection. + Source *ConnectivitySource `json:"source,omitempty"` + // Destination - Describes the destination of connection. + Destination *ConnectivityDestination `json:"destination,omitempty"` + // Protocol - Network protocol. Possible values include: 'ProtocolTCP', 'ProtocolHTTP', 'ProtocolHTTPS', 'ProtocolIcmp' + Protocol Protocol `json:"protocol,omitempty"` + // ProtocolConfiguration - Configuration of the protocol. + ProtocolConfiguration *ProtocolConfiguration `json:"protocolConfiguration,omitempty"` +} + +// ConnectivitySource parameters that define the source of the connection. +type ConnectivitySource struct { + // ResourceID - The ID of the resource from which a connectivity check will be initiated. + ResourceID *string `json:"resourceId,omitempty"` + // Port - The source port from which a connectivity check will be performed. + Port *int32 `json:"port,omitempty"` +} + +// Container reference to container resource in remote resource provider. +type Container struct { + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// ContainerNetworkInterface container network interface child resource. +type ContainerNetworkInterface struct { + // ContainerNetworkInterfacePropertiesFormat - Container network interface properties. + *ContainerNetworkInterfacePropertiesFormat `json:"properties,omitempty"` + // Name - The name of the resource. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Sub Resource type. + Type *string `json:"type,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for ContainerNetworkInterface. +func (cni ContainerNetworkInterface) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if cni.ContainerNetworkInterfacePropertiesFormat != nil { + objectMap["properties"] = cni.ContainerNetworkInterfacePropertiesFormat + } + if cni.Name != nil { + objectMap["name"] = cni.Name + } + if cni.Etag != nil { + objectMap["etag"] = cni.Etag + } + if cni.ID != nil { + objectMap["id"] = cni.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ContainerNetworkInterface struct. +func (cni *ContainerNetworkInterface) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var containerNetworkInterfacePropertiesFormat ContainerNetworkInterfacePropertiesFormat + err = json.Unmarshal(*v, &containerNetworkInterfacePropertiesFormat) + if err != nil { + return err + } + cni.ContainerNetworkInterfacePropertiesFormat = &containerNetworkInterfacePropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + cni.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + cni.Type = &typeVar + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + cni.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + cni.ID = &ID + } + } + } + + return nil +} + +// ContainerNetworkInterfaceConfiguration container network interface configuration child resource. +type ContainerNetworkInterfaceConfiguration struct { + // ContainerNetworkInterfaceConfigurationPropertiesFormat - Container network interface configuration properties. + *ContainerNetworkInterfaceConfigurationPropertiesFormat `json:"properties,omitempty"` + // Name - The name of the resource. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Sub Resource type. + Type *string `json:"type,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for ContainerNetworkInterfaceConfiguration. +func (cnic ContainerNetworkInterfaceConfiguration) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if cnic.ContainerNetworkInterfaceConfigurationPropertiesFormat != nil { + objectMap["properties"] = cnic.ContainerNetworkInterfaceConfigurationPropertiesFormat + } + if cnic.Name != nil { + objectMap["name"] = cnic.Name + } + if cnic.Etag != nil { + objectMap["etag"] = cnic.Etag + } + if cnic.ID != nil { + objectMap["id"] = cnic.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ContainerNetworkInterfaceConfiguration struct. +func (cnic *ContainerNetworkInterfaceConfiguration) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var containerNetworkInterfaceConfigurationPropertiesFormat ContainerNetworkInterfaceConfigurationPropertiesFormat + err = json.Unmarshal(*v, &containerNetworkInterfaceConfigurationPropertiesFormat) + if err != nil { + return err + } + cnic.ContainerNetworkInterfaceConfigurationPropertiesFormat = &containerNetworkInterfaceConfigurationPropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + cnic.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + cnic.Type = &typeVar + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + cnic.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + cnic.ID = &ID + } + } + } + + return nil +} + +// ContainerNetworkInterfaceConfigurationPropertiesFormat container network interface configuration +// properties. +type ContainerNetworkInterfaceConfigurationPropertiesFormat struct { + // IPConfigurations - A list of ip configurations of the container network interface configuration. + IPConfigurations *[]IPConfigurationProfile `json:"ipConfigurations,omitempty"` + // ContainerNetworkInterfaces - A list of container network interfaces created from this container network interface configuration. + ContainerNetworkInterfaces *[]SubResource `json:"containerNetworkInterfaces,omitempty"` + // ProvisioningState - READ-ONLY; The provisioning state of the container network interface configuration resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// ContainerNetworkInterfaceIPConfiguration the ip configuration for a container network interface. +type ContainerNetworkInterfaceIPConfiguration struct { + // ContainerNetworkInterfaceIPConfigurationPropertiesFormat - Properties of the container network interface IP configuration. + *ContainerNetworkInterfaceIPConfigurationPropertiesFormat `json:"properties,omitempty"` + // Name - The name of the resource. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Sub Resource type. + Type *string `json:"type,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` +} + +// MarshalJSON is the custom marshaler for ContainerNetworkInterfaceIPConfiguration. +func (cniic ContainerNetworkInterfaceIPConfiguration) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if cniic.ContainerNetworkInterfaceIPConfigurationPropertiesFormat != nil { + objectMap["properties"] = cniic.ContainerNetworkInterfaceIPConfigurationPropertiesFormat + } + if cniic.Name != nil { + objectMap["name"] = cniic.Name + } + if cniic.Etag != nil { + objectMap["etag"] = cniic.Etag + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ContainerNetworkInterfaceIPConfiguration struct. +func (cniic *ContainerNetworkInterfaceIPConfiguration) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var containerNetworkInterfaceIPConfigurationPropertiesFormat ContainerNetworkInterfaceIPConfigurationPropertiesFormat + err = json.Unmarshal(*v, &containerNetworkInterfaceIPConfigurationPropertiesFormat) + if err != nil { + return err + } + cniic.ContainerNetworkInterfaceIPConfigurationPropertiesFormat = &containerNetworkInterfaceIPConfigurationPropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + cniic.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + cniic.Type = &typeVar + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + cniic.Etag = &etag + } + } + } + + return nil +} + +// ContainerNetworkInterfaceIPConfigurationPropertiesFormat properties of the container network interface +// IP configuration. +type ContainerNetworkInterfaceIPConfigurationPropertiesFormat struct { + // ProvisioningState - READ-ONLY; The provisioning state of the container network interface IP configuration resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// ContainerNetworkInterfacePropertiesFormat properties of container network interface. +type ContainerNetworkInterfacePropertiesFormat struct { + // ContainerNetworkInterfaceConfiguration - Container network interface configuration from which this container network interface is created. + ContainerNetworkInterfaceConfiguration *ContainerNetworkInterfaceConfiguration `json:"containerNetworkInterfaceConfiguration,omitempty"` + // Container - Reference to the container to which this container network interface is attached. + Container *Container `json:"container,omitempty"` + // IPConfigurations - Reference to the ip configuration on this container nic. + IPConfigurations *[]ContainerNetworkInterfaceIPConfiguration `json:"ipConfigurations,omitempty"` + // ProvisioningState - READ-ONLY; The provisioning state of the container network interface resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// DdosCustomPoliciesCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type DdosCustomPoliciesCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *DdosCustomPoliciesCreateOrUpdateFuture) Result(client DdosCustomPoliciesClient) (dcp DdosCustomPolicy, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.DdosCustomPoliciesCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.DdosCustomPoliciesCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if dcp.Response.Response, err = future.GetResult(sender); err == nil && dcp.Response.Response.StatusCode != http.StatusNoContent { + dcp, err = client.CreateOrUpdateResponder(dcp.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.DdosCustomPoliciesCreateOrUpdateFuture", "Result", dcp.Response.Response, "Failure responding to request") + } + } + return +} + +// DdosCustomPoliciesDeleteFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type DdosCustomPoliciesDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *DdosCustomPoliciesDeleteFuture) Result(client DdosCustomPoliciesClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.DdosCustomPoliciesDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.DdosCustomPoliciesDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// DdosCustomPoliciesUpdateTagsFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type DdosCustomPoliciesUpdateTagsFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *DdosCustomPoliciesUpdateTagsFuture) Result(client DdosCustomPoliciesClient) (dcp DdosCustomPolicy, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.DdosCustomPoliciesUpdateTagsFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.DdosCustomPoliciesUpdateTagsFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if dcp.Response.Response, err = future.GetResult(sender); err == nil && dcp.Response.Response.StatusCode != http.StatusNoContent { + dcp, err = client.UpdateTagsResponder(dcp.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.DdosCustomPoliciesUpdateTagsFuture", "Result", dcp.Response.Response, "Failure responding to request") + } + } + return +} + +// DdosCustomPolicy a DDoS custom policy in a resource group. +type DdosCustomPolicy struct { + autorest.Response `json:"-"` + // DdosCustomPolicyPropertiesFormat - Properties of the DDoS custom policy. + *DdosCustomPolicyPropertiesFormat `json:"properties,omitempty"` + // Etag - READ-ONLY; A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for DdosCustomPolicy. +func (dcp DdosCustomPolicy) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if dcp.DdosCustomPolicyPropertiesFormat != nil { + objectMap["properties"] = dcp.DdosCustomPolicyPropertiesFormat + } + if dcp.ID != nil { + objectMap["id"] = dcp.ID + } + if dcp.Location != nil { + objectMap["location"] = dcp.Location + } + if dcp.Tags != nil { + objectMap["tags"] = dcp.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for DdosCustomPolicy struct. +func (dcp *DdosCustomPolicy) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var ddosCustomPolicyPropertiesFormat DdosCustomPolicyPropertiesFormat + err = json.Unmarshal(*v, &ddosCustomPolicyPropertiesFormat) + if err != nil { + return err + } + dcp.DdosCustomPolicyPropertiesFormat = &ddosCustomPolicyPropertiesFormat + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + dcp.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + dcp.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + dcp.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + dcp.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + dcp.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + dcp.Tags = tags + } + } + } + + return nil +} + +// DdosCustomPolicyPropertiesFormat dDoS custom policy properties. +type DdosCustomPolicyPropertiesFormat struct { + // ResourceGUID - READ-ONLY; The resource GUID property of the DDoS custom policy resource. It uniquely identifies the resource, even if the user changes its name or migrate the resource across subscriptions or resource groups. + ResourceGUID *string `json:"resourceGuid,omitempty"` + // ProvisioningState - READ-ONLY; The provisioning state of the DDoS custom policy resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + // PublicIPAddresses - READ-ONLY; The list of public IPs associated with the DDoS custom policy resource. This list is read-only. + PublicIPAddresses *[]SubResource `json:"publicIPAddresses,omitempty"` + // ProtocolCustomSettings - The protocol-specific DDoS policy customization parameters. + ProtocolCustomSettings *[]ProtocolCustomSettingsFormat `json:"protocolCustomSettings,omitempty"` +} + +// DdosProtectionPlan a DDoS protection plan in a resource group. +type DdosProtectionPlan struct { + autorest.Response `json:"-"` + // ID - READ-ONLY; Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` + // DdosProtectionPlanPropertiesFormat - Properties of the DDoS protection plan. + *DdosProtectionPlanPropertiesFormat `json:"properties,omitempty"` + // Etag - READ-ONLY; A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` +} + +// MarshalJSON is the custom marshaler for DdosProtectionPlan. +func (dpp DdosProtectionPlan) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if dpp.Location != nil { + objectMap["location"] = dpp.Location + } + if dpp.Tags != nil { + objectMap["tags"] = dpp.Tags + } + if dpp.DdosProtectionPlanPropertiesFormat != nil { + objectMap["properties"] = dpp.DdosProtectionPlanPropertiesFormat + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for DdosProtectionPlan struct. +func (dpp *DdosProtectionPlan) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + dpp.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + dpp.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + dpp.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + dpp.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + dpp.Tags = tags + } + case "properties": + if v != nil { + var ddosProtectionPlanPropertiesFormat DdosProtectionPlanPropertiesFormat + err = json.Unmarshal(*v, &ddosProtectionPlanPropertiesFormat) + if err != nil { + return err + } + dpp.DdosProtectionPlanPropertiesFormat = &ddosProtectionPlanPropertiesFormat + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + dpp.Etag = &etag + } + } + } + + return nil +} + +// DdosProtectionPlanListResult a list of DDoS protection plans. +type DdosProtectionPlanListResult struct { + autorest.Response `json:"-"` + // Value - A list of DDoS protection plans. + Value *[]DdosProtectionPlan `json:"value,omitempty"` + // NextLink - READ-ONLY; The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// DdosProtectionPlanListResultIterator provides access to a complete listing of DdosProtectionPlan values. +type DdosProtectionPlanListResultIterator struct { + i int + page DdosProtectionPlanListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *DdosProtectionPlanListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DdosProtectionPlanListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *DdosProtectionPlanListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter DdosProtectionPlanListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter DdosProtectionPlanListResultIterator) Response() DdosProtectionPlanListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter DdosProtectionPlanListResultIterator) Value() DdosProtectionPlan { + if !iter.page.NotDone() { + return DdosProtectionPlan{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the DdosProtectionPlanListResultIterator type. +func NewDdosProtectionPlanListResultIterator(page DdosProtectionPlanListResultPage) DdosProtectionPlanListResultIterator { + return DdosProtectionPlanListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (dpplr DdosProtectionPlanListResult) IsEmpty() bool { + return dpplr.Value == nil || len(*dpplr.Value) == 0 +} + +// ddosProtectionPlanListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (dpplr DdosProtectionPlanListResult) ddosProtectionPlanListResultPreparer(ctx context.Context) (*http.Request, error) { + if dpplr.NextLink == nil || len(to.String(dpplr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(dpplr.NextLink))) +} + +// DdosProtectionPlanListResultPage contains a page of DdosProtectionPlan values. +type DdosProtectionPlanListResultPage struct { + fn func(context.Context, DdosProtectionPlanListResult) (DdosProtectionPlanListResult, error) + dpplr DdosProtectionPlanListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *DdosProtectionPlanListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DdosProtectionPlanListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.dpplr) + if err != nil { + return err + } + page.dpplr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *DdosProtectionPlanListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page DdosProtectionPlanListResultPage) NotDone() bool { + return !page.dpplr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page DdosProtectionPlanListResultPage) Response() DdosProtectionPlanListResult { + return page.dpplr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page DdosProtectionPlanListResultPage) Values() []DdosProtectionPlan { + if page.dpplr.IsEmpty() { + return nil + } + return *page.dpplr.Value +} + +// Creates a new instance of the DdosProtectionPlanListResultPage type. +func NewDdosProtectionPlanListResultPage(getNextPage func(context.Context, DdosProtectionPlanListResult) (DdosProtectionPlanListResult, error)) DdosProtectionPlanListResultPage { + return DdosProtectionPlanListResultPage{fn: getNextPage} +} + +// DdosProtectionPlanPropertiesFormat dDoS protection plan properties. +type DdosProtectionPlanPropertiesFormat struct { + // ResourceGUID - READ-ONLY; The resource GUID property of the DDoS protection plan resource. It uniquely identifies the resource, even if the user changes its name or migrate the resource across subscriptions or resource groups. + ResourceGUID *string `json:"resourceGuid,omitempty"` + // ProvisioningState - READ-ONLY; The provisioning state of the DDoS protection plan resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + // VirtualNetworks - READ-ONLY; The list of virtual networks associated with the DDoS protection plan resource. This list is read-only. + VirtualNetworks *[]SubResource `json:"virtualNetworks,omitempty"` +} + +// DdosProtectionPlansCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type DdosProtectionPlansCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *DdosProtectionPlansCreateOrUpdateFuture) Result(client DdosProtectionPlansClient) (dpp DdosProtectionPlan, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.DdosProtectionPlansCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.DdosProtectionPlansCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if dpp.Response.Response, err = future.GetResult(sender); err == nil && dpp.Response.Response.StatusCode != http.StatusNoContent { + dpp, err = client.CreateOrUpdateResponder(dpp.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.DdosProtectionPlansCreateOrUpdateFuture", "Result", dpp.Response.Response, "Failure responding to request") + } + } + return +} + +// DdosProtectionPlansDeleteFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type DdosProtectionPlansDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *DdosProtectionPlansDeleteFuture) Result(client DdosProtectionPlansClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.DdosProtectionPlansDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.DdosProtectionPlansDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// DdosProtectionPlansUpdateTagsFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type DdosProtectionPlansUpdateTagsFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *DdosProtectionPlansUpdateTagsFuture) Result(client DdosProtectionPlansClient) (dpp DdosProtectionPlan, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.DdosProtectionPlansUpdateTagsFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.DdosProtectionPlansUpdateTagsFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if dpp.Response.Response, err = future.GetResult(sender); err == nil && dpp.Response.Response.StatusCode != http.StatusNoContent { + dpp, err = client.UpdateTagsResponder(dpp.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.DdosProtectionPlansUpdateTagsFuture", "Result", dpp.Response.Response, "Failure responding to request") + } + } + return +} + +// DdosSettings contains the DDoS protection settings of the public IP. +type DdosSettings struct { + // DdosCustomPolicy - The DDoS custom policy associated with the public IP. + DdosCustomPolicy *SubResource `json:"ddosCustomPolicy,omitempty"` + // ProtectionCoverage - The DDoS protection policy customizability of the public IP. Only standard coverage will have the ability to be customized. Possible values include: 'DdosSettingsProtectionCoverageBasic', 'DdosSettingsProtectionCoverageStandard' + ProtectionCoverage DdosSettingsProtectionCoverage `json:"protectionCoverage,omitempty"` +} + +// Delegation details the service to which the subnet is delegated. +type Delegation struct { + // ServiceDelegationPropertiesFormat - Properties of the subnet. + *ServiceDelegationPropertiesFormat `json:"properties,omitempty"` + // Name - The name of the resource that is unique within a subnet. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for Delegation. +func (d Delegation) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if d.ServiceDelegationPropertiesFormat != nil { + objectMap["properties"] = d.ServiceDelegationPropertiesFormat + } + if d.Name != nil { + objectMap["name"] = d.Name + } + if d.Etag != nil { + objectMap["etag"] = d.Etag + } + if d.ID != nil { + objectMap["id"] = d.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for Delegation struct. +func (d *Delegation) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var serviceDelegationPropertiesFormat ServiceDelegationPropertiesFormat + err = json.Unmarshal(*v, &serviceDelegationPropertiesFormat) + if err != nil { + return err + } + d.ServiceDelegationPropertiesFormat = &serviceDelegationPropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + d.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + d.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + d.ID = &ID + } + } + } + + return nil +} + +// DeviceProperties list of properties of the device. +type DeviceProperties struct { + // DeviceVendor - Name of the device Vendor. + DeviceVendor *string `json:"deviceVendor,omitempty"` + // DeviceModel - Model of the device. + DeviceModel *string `json:"deviceModel,omitempty"` + // LinkSpeedInMbps - Link speed. + LinkSpeedInMbps *int32 `json:"linkSpeedInMbps,omitempty"` +} + +// DhcpOptions dhcpOptions contains an array of DNS servers available to VMs deployed in the virtual +// network. Standard DHCP option for a subnet overrides VNET DHCP options. +type DhcpOptions struct { + // DNSServers - The list of DNS servers IP addresses. + DNSServers *[]string `json:"dnsServers,omitempty"` +} + +// Dimension dimension of the metric. +type Dimension struct { + // Name - The name of the dimension. + Name *string `json:"name,omitempty"` + // DisplayName - The display name of the dimension. + DisplayName *string `json:"displayName,omitempty"` + // InternalName - The internal name of the dimension. + InternalName *string `json:"internalName,omitempty"` +} + +// DNSNameAvailabilityResult response for the CheckDnsNameAvailability API service call. +type DNSNameAvailabilityResult struct { + autorest.Response `json:"-"` + // Available - Domain availability (True/False). + Available *bool `json:"available,omitempty"` +} + +// EffectiveNetworkSecurityGroup effective network security group. +type EffectiveNetworkSecurityGroup struct { + // NetworkSecurityGroup - The ID of network security group that is applied. + NetworkSecurityGroup *SubResource `json:"networkSecurityGroup,omitempty"` + // Association - Associated resources. + Association *EffectiveNetworkSecurityGroupAssociation `json:"association,omitempty"` + // EffectiveSecurityRules - A collection of effective security rules. + EffectiveSecurityRules *[]EffectiveNetworkSecurityRule `json:"effectiveSecurityRules,omitempty"` + // TagMap - Mapping of tags to list of IP Addresses included within the tag. + TagMap map[string][]string `json:"tagMap"` +} + +// MarshalJSON is the custom marshaler for EffectiveNetworkSecurityGroup. +func (ensg EffectiveNetworkSecurityGroup) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if ensg.NetworkSecurityGroup != nil { + objectMap["networkSecurityGroup"] = ensg.NetworkSecurityGroup + } + if ensg.Association != nil { + objectMap["association"] = ensg.Association + } + if ensg.EffectiveSecurityRules != nil { + objectMap["effectiveSecurityRules"] = ensg.EffectiveSecurityRules + } + if ensg.TagMap != nil { + objectMap["tagMap"] = ensg.TagMap + } + return json.Marshal(objectMap) +} + +// EffectiveNetworkSecurityGroupAssociation the effective network security group association. +type EffectiveNetworkSecurityGroupAssociation struct { + // Subnet - The ID of the subnet if assigned. + Subnet *SubResource `json:"subnet,omitempty"` + // NetworkInterface - The ID of the network interface if assigned. + NetworkInterface *SubResource `json:"networkInterface,omitempty"` +} + +// EffectiveNetworkSecurityGroupListResult response for list effective network security groups API service +// call. +type EffectiveNetworkSecurityGroupListResult struct { + autorest.Response `json:"-"` + // Value - A list of effective network security groups. + Value *[]EffectiveNetworkSecurityGroup `json:"value,omitempty"` + // NextLink - READ-ONLY; The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// EffectiveNetworkSecurityRule effective network security rules. +type EffectiveNetworkSecurityRule struct { + // Name - The name of the security rule specified by the user (if created by the user). + Name *string `json:"name,omitempty"` + // Protocol - The network protocol this rule applies to. Possible values include: 'EffectiveSecurityRuleProtocolTCP', 'EffectiveSecurityRuleProtocolUDP', 'EffectiveSecurityRuleProtocolAll' + Protocol EffectiveSecurityRuleProtocol `json:"protocol,omitempty"` + // SourcePortRange - The source port or range. + SourcePortRange *string `json:"sourcePortRange,omitempty"` + // DestinationPortRange - The destination port or range. + DestinationPortRange *string `json:"destinationPortRange,omitempty"` + // SourcePortRanges - The source port ranges. Expected values include a single integer between 0 and 65535, a range using '-' as separator (e.g. 100-400), or an asterisk (*). + SourcePortRanges *[]string `json:"sourcePortRanges,omitempty"` + // DestinationPortRanges - The destination port ranges. Expected values include a single integer between 0 and 65535, a range using '-' as separator (e.g. 100-400), or an asterisk (*). + DestinationPortRanges *[]string `json:"destinationPortRanges,omitempty"` + // SourceAddressPrefix - The source address prefix. + SourceAddressPrefix *string `json:"sourceAddressPrefix,omitempty"` + // DestinationAddressPrefix - The destination address prefix. + DestinationAddressPrefix *string `json:"destinationAddressPrefix,omitempty"` + // SourceAddressPrefixes - The source address prefixes. Expected values include CIDR IP ranges, Default Tags (VirtualNetwork, AzureLoadBalancer, Internet), System Tags, and the asterisk (*). + SourceAddressPrefixes *[]string `json:"sourceAddressPrefixes,omitempty"` + // DestinationAddressPrefixes - The destination address prefixes. Expected values include CIDR IP ranges, Default Tags (VirtualNetwork, AzureLoadBalancer, Internet), System Tags, and the asterisk (*). + DestinationAddressPrefixes *[]string `json:"destinationAddressPrefixes,omitempty"` + // ExpandedSourceAddressPrefix - The expanded source address prefix. + ExpandedSourceAddressPrefix *[]string `json:"expandedSourceAddressPrefix,omitempty"` + // ExpandedDestinationAddressPrefix - Expanded destination address prefix. + ExpandedDestinationAddressPrefix *[]string `json:"expandedDestinationAddressPrefix,omitempty"` + // Access - Whether network traffic is allowed or denied. Possible values include: 'SecurityRuleAccessAllow', 'SecurityRuleAccessDeny' + Access SecurityRuleAccess `json:"access,omitempty"` + // Priority - The priority of the rule. + Priority *int32 `json:"priority,omitempty"` + // Direction - The direction of the rule. Possible values include: 'SecurityRuleDirectionInbound', 'SecurityRuleDirectionOutbound' + Direction SecurityRuleDirection `json:"direction,omitempty"` +} + +// EffectiveRoute effective Route. +type EffectiveRoute struct { + // Name - The name of the user defined route. This is optional. + Name *string `json:"name,omitempty"` + // DisableBgpRoutePropagation - If true, on-premises routes are not propagated to the network interfaces in the subnet. + DisableBgpRoutePropagation *bool `json:"disableBgpRoutePropagation,omitempty"` + // Source - Who created the route. Possible values include: 'EffectiveRouteSourceUnknown', 'EffectiveRouteSourceUser', 'EffectiveRouteSourceVirtualNetworkGateway', 'EffectiveRouteSourceDefault' + Source EffectiveRouteSource `json:"source,omitempty"` + // State - The value of effective route. Possible values include: 'Active', 'Invalid' + State EffectiveRouteState `json:"state,omitempty"` + // AddressPrefix - The address prefixes of the effective routes in CIDR notation. + AddressPrefix *[]string `json:"addressPrefix,omitempty"` + // NextHopIPAddress - The IP address of the next hop of the effective route. + NextHopIPAddress *[]string `json:"nextHopIpAddress,omitempty"` + // NextHopType - The type of Azure hop the packet should be sent to. Possible values include: 'RouteNextHopTypeVirtualNetworkGateway', 'RouteNextHopTypeVnetLocal', 'RouteNextHopTypeInternet', 'RouteNextHopTypeVirtualAppliance', 'RouteNextHopTypeNone' + NextHopType RouteNextHopType `json:"nextHopType,omitempty"` +} + +// EffectiveRouteListResult response for list effective route API service call. +type EffectiveRouteListResult struct { + autorest.Response `json:"-"` + // Value - A list of effective routes. + Value *[]EffectiveRoute `json:"value,omitempty"` + // NextLink - READ-ONLY; The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// EndpointServiceResult endpoint service. +type EndpointServiceResult struct { + // Name - READ-ONLY; Name of the endpoint service. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Type of the endpoint service. + Type *string `json:"type,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// EndpointServicesListResult response for the ListAvailableEndpointServices API service call. +type EndpointServicesListResult struct { + autorest.Response `json:"-"` + // Value - List of available endpoint services in a region. + Value *[]EndpointServiceResult `json:"value,omitempty"` + // NextLink - The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// EndpointServicesListResultIterator provides access to a complete listing of EndpointServiceResult +// values. +type EndpointServicesListResultIterator struct { + i int + page EndpointServicesListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *EndpointServicesListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/EndpointServicesListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *EndpointServicesListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter EndpointServicesListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter EndpointServicesListResultIterator) Response() EndpointServicesListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter EndpointServicesListResultIterator) Value() EndpointServiceResult { + if !iter.page.NotDone() { + return EndpointServiceResult{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the EndpointServicesListResultIterator type. +func NewEndpointServicesListResultIterator(page EndpointServicesListResultPage) EndpointServicesListResultIterator { + return EndpointServicesListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (eslr EndpointServicesListResult) IsEmpty() bool { + return eslr.Value == nil || len(*eslr.Value) == 0 +} + +// endpointServicesListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (eslr EndpointServicesListResult) endpointServicesListResultPreparer(ctx context.Context) (*http.Request, error) { + if eslr.NextLink == nil || len(to.String(eslr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(eslr.NextLink))) +} + +// EndpointServicesListResultPage contains a page of EndpointServiceResult values. +type EndpointServicesListResultPage struct { + fn func(context.Context, EndpointServicesListResult) (EndpointServicesListResult, error) + eslr EndpointServicesListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *EndpointServicesListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/EndpointServicesListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.eslr) + if err != nil { + return err + } + page.eslr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *EndpointServicesListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page EndpointServicesListResultPage) NotDone() bool { + return !page.eslr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page EndpointServicesListResultPage) Response() EndpointServicesListResult { + return page.eslr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page EndpointServicesListResultPage) Values() []EndpointServiceResult { + if page.eslr.IsEmpty() { + return nil + } + return *page.eslr.Value +} + +// Creates a new instance of the EndpointServicesListResultPage type. +func NewEndpointServicesListResultPage(getNextPage func(context.Context, EndpointServicesListResult) (EndpointServicesListResult, error)) EndpointServicesListResultPage { + return EndpointServicesListResultPage{fn: getNextPage} +} + +// Error common error representation. +type Error struct { + // Code - Error code. + Code *string `json:"code,omitempty"` + // Message - Error message. + Message *string `json:"message,omitempty"` + // Target - Error target. + Target *string `json:"target,omitempty"` + // Details - Error details. + Details *[]ErrorDetails `json:"details,omitempty"` + // InnerError - Inner error message. + InnerError *string `json:"innerError,omitempty"` +} + +// ErrorDetails common error details representation. +type ErrorDetails struct { + // Code - Error code. + Code *string `json:"code,omitempty"` + // Target - Error target. + Target *string `json:"target,omitempty"` + // Message - Error message. + Message *string `json:"message,omitempty"` +} + +// ErrorResponse the error object. +type ErrorResponse struct { + // Error - The error details object. + Error *ErrorDetails `json:"error,omitempty"` +} + +// EvaluatedNetworkSecurityGroup results of network security group evaluation. +type EvaluatedNetworkSecurityGroup struct { + // NetworkSecurityGroupID - Network security group ID. + NetworkSecurityGroupID *string `json:"networkSecurityGroupId,omitempty"` + // AppliedTo - Resource ID of nic or subnet to which network security group is applied. + AppliedTo *string `json:"appliedTo,omitempty"` + // MatchedRule - Matched network security rule. + MatchedRule *MatchedRule `json:"matchedRule,omitempty"` + // RulesEvaluationResult - READ-ONLY; List of network security rules evaluation results. + RulesEvaluationResult *[]SecurityRulesEvaluationResult `json:"rulesEvaluationResult,omitempty"` +} + +// ExpressRouteCircuit expressRouteCircuit resource. +type ExpressRouteCircuit struct { + autorest.Response `json:"-"` + // Sku - The SKU. + Sku *ExpressRouteCircuitSku `json:"sku,omitempty"` + // ExpressRouteCircuitPropertiesFormat - Properties of the express route circuit. + *ExpressRouteCircuitPropertiesFormat `json:"properties,omitempty"` + // Etag - READ-ONLY; A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for ExpressRouteCircuit. +func (erc ExpressRouteCircuit) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if erc.Sku != nil { + objectMap["sku"] = erc.Sku + } + if erc.ExpressRouteCircuitPropertiesFormat != nil { + objectMap["properties"] = erc.ExpressRouteCircuitPropertiesFormat + } + if erc.ID != nil { + objectMap["id"] = erc.ID + } + if erc.Location != nil { + objectMap["location"] = erc.Location + } + if erc.Tags != nil { + objectMap["tags"] = erc.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ExpressRouteCircuit struct. +func (erc *ExpressRouteCircuit) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "sku": + if v != nil { + var sku ExpressRouteCircuitSku + err = json.Unmarshal(*v, &sku) + if err != nil { + return err + } + erc.Sku = &sku + } + case "properties": + if v != nil { + var expressRouteCircuitPropertiesFormat ExpressRouteCircuitPropertiesFormat + err = json.Unmarshal(*v, &expressRouteCircuitPropertiesFormat) + if err != nil { + return err + } + erc.ExpressRouteCircuitPropertiesFormat = &expressRouteCircuitPropertiesFormat + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + erc.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + erc.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + erc.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + erc.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + erc.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + erc.Tags = tags + } + } + } + + return nil +} + +// ExpressRouteCircuitArpTable the ARP table associated with the ExpressRouteCircuit. +type ExpressRouteCircuitArpTable struct { + // Age - Entry age in minutes. + Age *int32 `json:"age,omitempty"` + // Interface - Interface address. + Interface *string `json:"interface,omitempty"` + // IPAddress - The IP address. + IPAddress *string `json:"ipAddress,omitempty"` + // MacAddress - The MAC address. + MacAddress *string `json:"macAddress,omitempty"` +} + +// ExpressRouteCircuitAuthorization authorization in an ExpressRouteCircuit resource. +type ExpressRouteCircuitAuthorization struct { + autorest.Response `json:"-"` + // AuthorizationPropertiesFormat - Properties of the express route circuit authorization. + *AuthorizationPropertiesFormat `json:"properties,omitempty"` + // Name - The name of the resource that is unique within a resource group. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + // Etag - READ-ONLY; A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // Type - READ-ONLY; Type of the resource. + Type *string `json:"type,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for ExpressRouteCircuitAuthorization. +func (erca ExpressRouteCircuitAuthorization) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if erca.AuthorizationPropertiesFormat != nil { + objectMap["properties"] = erca.AuthorizationPropertiesFormat + } + if erca.Name != nil { + objectMap["name"] = erca.Name + } + if erca.ID != nil { + objectMap["id"] = erca.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ExpressRouteCircuitAuthorization struct. +func (erca *ExpressRouteCircuitAuthorization) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var authorizationPropertiesFormat AuthorizationPropertiesFormat + err = json.Unmarshal(*v, &authorizationPropertiesFormat) + if err != nil { + return err + } + erca.AuthorizationPropertiesFormat = &authorizationPropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + erca.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + erca.Etag = &etag + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + erca.Type = &typeVar + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + erca.ID = &ID + } + } + } + + return nil +} + +// ExpressRouteCircuitAuthorizationsCreateOrUpdateFuture an abstraction for monitoring and retrieving the +// results of a long-running operation. +type ExpressRouteCircuitAuthorizationsCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ExpressRouteCircuitAuthorizationsCreateOrUpdateFuture) Result(client ExpressRouteCircuitAuthorizationsClient) (erca ExpressRouteCircuitAuthorization, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitAuthorizationsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.ExpressRouteCircuitAuthorizationsCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if erca.Response.Response, err = future.GetResult(sender); err == nil && erca.Response.Response.StatusCode != http.StatusNoContent { + erca, err = client.CreateOrUpdateResponder(erca.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitAuthorizationsCreateOrUpdateFuture", "Result", erca.Response.Response, "Failure responding to request") + } + } + return +} + +// ExpressRouteCircuitAuthorizationsDeleteFuture an abstraction for monitoring and retrieving the results +// of a long-running operation. +type ExpressRouteCircuitAuthorizationsDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ExpressRouteCircuitAuthorizationsDeleteFuture) Result(client ExpressRouteCircuitAuthorizationsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitAuthorizationsDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.ExpressRouteCircuitAuthorizationsDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// ExpressRouteCircuitConnection express Route Circuit Connection in an ExpressRouteCircuitPeering +// resource. +type ExpressRouteCircuitConnection struct { + autorest.Response `json:"-"` + // ExpressRouteCircuitConnectionPropertiesFormat - Properties of the express route circuit connection. + *ExpressRouteCircuitConnectionPropertiesFormat `json:"properties,omitempty"` + // Name - The name of the resource that is unique within a resource group. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + // Etag - READ-ONLY; A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // Type - READ-ONLY; Type of the resource. + Type *string `json:"type,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for ExpressRouteCircuitConnection. +func (ercc ExpressRouteCircuitConnection) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if ercc.ExpressRouteCircuitConnectionPropertiesFormat != nil { + objectMap["properties"] = ercc.ExpressRouteCircuitConnectionPropertiesFormat + } + if ercc.Name != nil { + objectMap["name"] = ercc.Name + } + if ercc.ID != nil { + objectMap["id"] = ercc.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ExpressRouteCircuitConnection struct. +func (ercc *ExpressRouteCircuitConnection) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var expressRouteCircuitConnectionPropertiesFormat ExpressRouteCircuitConnectionPropertiesFormat + err = json.Unmarshal(*v, &expressRouteCircuitConnectionPropertiesFormat) + if err != nil { + return err + } + ercc.ExpressRouteCircuitConnectionPropertiesFormat = &expressRouteCircuitConnectionPropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + ercc.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + ercc.Etag = &etag + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ercc.Type = &typeVar + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + ercc.ID = &ID + } + } + } + + return nil +} + +// ExpressRouteCircuitConnectionListResult response for ListConnections API service call retrieves all +// global reach connections that belongs to a Private Peering for an ExpressRouteCircuit. +type ExpressRouteCircuitConnectionListResult struct { + autorest.Response `json:"-"` + // Value - The global reach connection associated with Private Peering in an ExpressRoute Circuit. + Value *[]ExpressRouteCircuitConnection `json:"value,omitempty"` + // NextLink - The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// ExpressRouteCircuitConnectionListResultIterator provides access to a complete listing of +// ExpressRouteCircuitConnection values. +type ExpressRouteCircuitConnectionListResultIterator struct { + i int + page ExpressRouteCircuitConnectionListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *ExpressRouteCircuitConnectionListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCircuitConnectionListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *ExpressRouteCircuitConnectionListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter ExpressRouteCircuitConnectionListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter ExpressRouteCircuitConnectionListResultIterator) Response() ExpressRouteCircuitConnectionListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter ExpressRouteCircuitConnectionListResultIterator) Value() ExpressRouteCircuitConnection { + if !iter.page.NotDone() { + return ExpressRouteCircuitConnection{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the ExpressRouteCircuitConnectionListResultIterator type. +func NewExpressRouteCircuitConnectionListResultIterator(page ExpressRouteCircuitConnectionListResultPage) ExpressRouteCircuitConnectionListResultIterator { + return ExpressRouteCircuitConnectionListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (ercclr ExpressRouteCircuitConnectionListResult) IsEmpty() bool { + return ercclr.Value == nil || len(*ercclr.Value) == 0 +} + +// expressRouteCircuitConnectionListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (ercclr ExpressRouteCircuitConnectionListResult) expressRouteCircuitConnectionListResultPreparer(ctx context.Context) (*http.Request, error) { + if ercclr.NextLink == nil || len(to.String(ercclr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(ercclr.NextLink))) +} + +// ExpressRouteCircuitConnectionListResultPage contains a page of ExpressRouteCircuitConnection values. +type ExpressRouteCircuitConnectionListResultPage struct { + fn func(context.Context, ExpressRouteCircuitConnectionListResult) (ExpressRouteCircuitConnectionListResult, error) + ercclr ExpressRouteCircuitConnectionListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *ExpressRouteCircuitConnectionListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCircuitConnectionListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.ercclr) + if err != nil { + return err + } + page.ercclr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *ExpressRouteCircuitConnectionListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page ExpressRouteCircuitConnectionListResultPage) NotDone() bool { + return !page.ercclr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page ExpressRouteCircuitConnectionListResultPage) Response() ExpressRouteCircuitConnectionListResult { + return page.ercclr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page ExpressRouteCircuitConnectionListResultPage) Values() []ExpressRouteCircuitConnection { + if page.ercclr.IsEmpty() { + return nil + } + return *page.ercclr.Value +} + +// Creates a new instance of the ExpressRouteCircuitConnectionListResultPage type. +func NewExpressRouteCircuitConnectionListResultPage(getNextPage func(context.Context, ExpressRouteCircuitConnectionListResult) (ExpressRouteCircuitConnectionListResult, error)) ExpressRouteCircuitConnectionListResultPage { + return ExpressRouteCircuitConnectionListResultPage{fn: getNextPage} +} + +// ExpressRouteCircuitConnectionPropertiesFormat properties of the express route circuit connection. +type ExpressRouteCircuitConnectionPropertiesFormat struct { + // ExpressRouteCircuitPeering - Reference to Express Route Circuit Private Peering Resource of the circuit initiating connection. + ExpressRouteCircuitPeering *SubResource `json:"expressRouteCircuitPeering,omitempty"` + // PeerExpressRouteCircuitPeering - Reference to Express Route Circuit Private Peering Resource of the peered circuit. + PeerExpressRouteCircuitPeering *SubResource `json:"peerExpressRouteCircuitPeering,omitempty"` + // AddressPrefix - /29 IP address space to carve out Customer addresses for tunnels. + AddressPrefix *string `json:"addressPrefix,omitempty"` + // AuthorizationKey - The authorization key. + AuthorizationKey *string `json:"authorizationKey,omitempty"` + // CircuitConnectionStatus - Express Route Circuit connection state. Possible values include: 'Connected', 'Connecting', 'Disconnected' + CircuitConnectionStatus CircuitConnectionStatus `json:"circuitConnectionStatus,omitempty"` + // ProvisioningState - READ-ONLY; The provisioning state of the express route circuit connection resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// ExpressRouteCircuitConnectionsCreateOrUpdateFuture an abstraction for monitoring and retrieving the +// results of a long-running operation. +type ExpressRouteCircuitConnectionsCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ExpressRouteCircuitConnectionsCreateOrUpdateFuture) Result(client ExpressRouteCircuitConnectionsClient) (ercc ExpressRouteCircuitConnection, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitConnectionsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.ExpressRouteCircuitConnectionsCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if ercc.Response.Response, err = future.GetResult(sender); err == nil && ercc.Response.Response.StatusCode != http.StatusNoContent { + ercc, err = client.CreateOrUpdateResponder(ercc.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitConnectionsCreateOrUpdateFuture", "Result", ercc.Response.Response, "Failure responding to request") + } + } + return +} + +// ExpressRouteCircuitConnectionsDeleteFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type ExpressRouteCircuitConnectionsDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ExpressRouteCircuitConnectionsDeleteFuture) Result(client ExpressRouteCircuitConnectionsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitConnectionsDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.ExpressRouteCircuitConnectionsDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// ExpressRouteCircuitListResult response for ListExpressRouteCircuit API service call. +type ExpressRouteCircuitListResult struct { + autorest.Response `json:"-"` + // Value - A list of ExpressRouteCircuits in a resource group. + Value *[]ExpressRouteCircuit `json:"value,omitempty"` + // NextLink - The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// ExpressRouteCircuitListResultIterator provides access to a complete listing of ExpressRouteCircuit +// values. +type ExpressRouteCircuitListResultIterator struct { + i int + page ExpressRouteCircuitListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *ExpressRouteCircuitListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCircuitListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *ExpressRouteCircuitListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter ExpressRouteCircuitListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter ExpressRouteCircuitListResultIterator) Response() ExpressRouteCircuitListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter ExpressRouteCircuitListResultIterator) Value() ExpressRouteCircuit { + if !iter.page.NotDone() { + return ExpressRouteCircuit{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the ExpressRouteCircuitListResultIterator type. +func NewExpressRouteCircuitListResultIterator(page ExpressRouteCircuitListResultPage) ExpressRouteCircuitListResultIterator { + return ExpressRouteCircuitListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (erclr ExpressRouteCircuitListResult) IsEmpty() bool { + return erclr.Value == nil || len(*erclr.Value) == 0 +} + +// expressRouteCircuitListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (erclr ExpressRouteCircuitListResult) expressRouteCircuitListResultPreparer(ctx context.Context) (*http.Request, error) { + if erclr.NextLink == nil || len(to.String(erclr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(erclr.NextLink))) +} + +// ExpressRouteCircuitListResultPage contains a page of ExpressRouteCircuit values. +type ExpressRouteCircuitListResultPage struct { + fn func(context.Context, ExpressRouteCircuitListResult) (ExpressRouteCircuitListResult, error) + erclr ExpressRouteCircuitListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *ExpressRouteCircuitListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCircuitListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.erclr) + if err != nil { + return err + } + page.erclr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *ExpressRouteCircuitListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page ExpressRouteCircuitListResultPage) NotDone() bool { + return !page.erclr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page ExpressRouteCircuitListResultPage) Response() ExpressRouteCircuitListResult { + return page.erclr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page ExpressRouteCircuitListResultPage) Values() []ExpressRouteCircuit { + if page.erclr.IsEmpty() { + return nil + } + return *page.erclr.Value +} + +// Creates a new instance of the ExpressRouteCircuitListResultPage type. +func NewExpressRouteCircuitListResultPage(getNextPage func(context.Context, ExpressRouteCircuitListResult) (ExpressRouteCircuitListResult, error)) ExpressRouteCircuitListResultPage { + return ExpressRouteCircuitListResultPage{fn: getNextPage} +} + +// ExpressRouteCircuitPeering peering in an ExpressRouteCircuit resource. +type ExpressRouteCircuitPeering struct { + autorest.Response `json:"-"` + // ExpressRouteCircuitPeeringPropertiesFormat - Properties of the express route circuit peering. + *ExpressRouteCircuitPeeringPropertiesFormat `json:"properties,omitempty"` + // Name - The name of the resource that is unique within a resource group. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + // Etag - READ-ONLY; A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // Type - READ-ONLY; Type of the resource. + Type *string `json:"type,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for ExpressRouteCircuitPeering. +func (ercp ExpressRouteCircuitPeering) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if ercp.ExpressRouteCircuitPeeringPropertiesFormat != nil { + objectMap["properties"] = ercp.ExpressRouteCircuitPeeringPropertiesFormat + } + if ercp.Name != nil { + objectMap["name"] = ercp.Name + } + if ercp.ID != nil { + objectMap["id"] = ercp.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ExpressRouteCircuitPeering struct. +func (ercp *ExpressRouteCircuitPeering) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var expressRouteCircuitPeeringPropertiesFormat ExpressRouteCircuitPeeringPropertiesFormat + err = json.Unmarshal(*v, &expressRouteCircuitPeeringPropertiesFormat) + if err != nil { + return err + } + ercp.ExpressRouteCircuitPeeringPropertiesFormat = &expressRouteCircuitPeeringPropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + ercp.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + ercp.Etag = &etag + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ercp.Type = &typeVar + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + ercp.ID = &ID + } + } + } + + return nil +} + +// ExpressRouteCircuitPeeringConfig specifies the peering configuration. +type ExpressRouteCircuitPeeringConfig struct { + // AdvertisedPublicPrefixes - The reference of AdvertisedPublicPrefixes. + AdvertisedPublicPrefixes *[]string `json:"advertisedPublicPrefixes,omitempty"` + // AdvertisedCommunities - The communities of bgp peering. Specified for microsoft peering. + AdvertisedCommunities *[]string `json:"advertisedCommunities,omitempty"` + // AdvertisedPublicPrefixesState - The advertised public prefix state of the Peering resource. Possible values include: 'NotConfigured', 'Configuring', 'Configured', 'ValidationNeeded' + AdvertisedPublicPrefixesState ExpressRouteCircuitPeeringAdvertisedPublicPrefixState `json:"advertisedPublicPrefixesState,omitempty"` + // LegacyMode - The legacy mode of the peering. + LegacyMode *int32 `json:"legacyMode,omitempty"` + // CustomerASN - The CustomerASN of the peering. + CustomerASN *int32 `json:"customerASN,omitempty"` + // RoutingRegistryName - The RoutingRegistryName of the configuration. + RoutingRegistryName *string `json:"routingRegistryName,omitempty"` +} + +// ExpressRouteCircuitPeeringID expressRoute circuit peering identifier. +type ExpressRouteCircuitPeeringID struct { + // ID - The ID of the ExpressRoute circuit peering. + ID *string `json:"id,omitempty"` +} + +// ExpressRouteCircuitPeeringListResult response for ListPeering API service call retrieves all peerings +// that belong to an ExpressRouteCircuit. +type ExpressRouteCircuitPeeringListResult struct { + autorest.Response `json:"-"` + // Value - The peerings in an express route circuit. + Value *[]ExpressRouteCircuitPeering `json:"value,omitempty"` + // NextLink - The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// ExpressRouteCircuitPeeringListResultIterator provides access to a complete listing of +// ExpressRouteCircuitPeering values. +type ExpressRouteCircuitPeeringListResultIterator struct { + i int + page ExpressRouteCircuitPeeringListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *ExpressRouteCircuitPeeringListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCircuitPeeringListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *ExpressRouteCircuitPeeringListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter ExpressRouteCircuitPeeringListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter ExpressRouteCircuitPeeringListResultIterator) Response() ExpressRouteCircuitPeeringListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter ExpressRouteCircuitPeeringListResultIterator) Value() ExpressRouteCircuitPeering { + if !iter.page.NotDone() { + return ExpressRouteCircuitPeering{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the ExpressRouteCircuitPeeringListResultIterator type. +func NewExpressRouteCircuitPeeringListResultIterator(page ExpressRouteCircuitPeeringListResultPage) ExpressRouteCircuitPeeringListResultIterator { + return ExpressRouteCircuitPeeringListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (ercplr ExpressRouteCircuitPeeringListResult) IsEmpty() bool { + return ercplr.Value == nil || len(*ercplr.Value) == 0 +} + +// expressRouteCircuitPeeringListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (ercplr ExpressRouteCircuitPeeringListResult) expressRouteCircuitPeeringListResultPreparer(ctx context.Context) (*http.Request, error) { + if ercplr.NextLink == nil || len(to.String(ercplr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(ercplr.NextLink))) +} + +// ExpressRouteCircuitPeeringListResultPage contains a page of ExpressRouteCircuitPeering values. +type ExpressRouteCircuitPeeringListResultPage struct { + fn func(context.Context, ExpressRouteCircuitPeeringListResult) (ExpressRouteCircuitPeeringListResult, error) + ercplr ExpressRouteCircuitPeeringListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *ExpressRouteCircuitPeeringListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCircuitPeeringListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.ercplr) + if err != nil { + return err + } + page.ercplr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *ExpressRouteCircuitPeeringListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page ExpressRouteCircuitPeeringListResultPage) NotDone() bool { + return !page.ercplr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page ExpressRouteCircuitPeeringListResultPage) Response() ExpressRouteCircuitPeeringListResult { + return page.ercplr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page ExpressRouteCircuitPeeringListResultPage) Values() []ExpressRouteCircuitPeering { + if page.ercplr.IsEmpty() { + return nil + } + return *page.ercplr.Value +} + +// Creates a new instance of the ExpressRouteCircuitPeeringListResultPage type. +func NewExpressRouteCircuitPeeringListResultPage(getNextPage func(context.Context, ExpressRouteCircuitPeeringListResult) (ExpressRouteCircuitPeeringListResult, error)) ExpressRouteCircuitPeeringListResultPage { + return ExpressRouteCircuitPeeringListResultPage{fn: getNextPage} +} + +// ExpressRouteCircuitPeeringPropertiesFormat properties of the express route circuit peering. +type ExpressRouteCircuitPeeringPropertiesFormat struct { + // PeeringType - The peering type. Possible values include: 'AzurePublicPeering', 'AzurePrivatePeering', 'MicrosoftPeering' + PeeringType ExpressRoutePeeringType `json:"peeringType,omitempty"` + // State - The peering state. Possible values include: 'ExpressRoutePeeringStateDisabled', 'ExpressRoutePeeringStateEnabled' + State ExpressRoutePeeringState `json:"state,omitempty"` + // AzureASN - The Azure ASN. + AzureASN *int32 `json:"azureASN,omitempty"` + // PeerASN - The peer ASN. + PeerASN *int64 `json:"peerASN,omitempty"` + // PrimaryPeerAddressPrefix - The primary address prefix. + PrimaryPeerAddressPrefix *string `json:"primaryPeerAddressPrefix,omitempty"` + // SecondaryPeerAddressPrefix - The secondary address prefix. + SecondaryPeerAddressPrefix *string `json:"secondaryPeerAddressPrefix,omitempty"` + // PrimaryAzurePort - The primary port. + PrimaryAzurePort *string `json:"primaryAzurePort,omitempty"` + // SecondaryAzurePort - The secondary port. + SecondaryAzurePort *string `json:"secondaryAzurePort,omitempty"` + // SharedKey - The shared key. + SharedKey *string `json:"sharedKey,omitempty"` + // VlanID - The VLAN ID. + VlanID *int32 `json:"vlanId,omitempty"` + // MicrosoftPeeringConfig - The Microsoft peering configuration. + MicrosoftPeeringConfig *ExpressRouteCircuitPeeringConfig `json:"microsoftPeeringConfig,omitempty"` + // Stats - The peering stats of express route circuit. + Stats *ExpressRouteCircuitStats `json:"stats,omitempty"` + // ProvisioningState - The provisioning state of the express route circuit peering resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + // GatewayManagerEtag - The GatewayManager Etag. + GatewayManagerEtag *string `json:"gatewayManagerEtag,omitempty"` + // LastModifiedBy - Who was the last to modify the peering. + LastModifiedBy *string `json:"lastModifiedBy,omitempty"` + // RouteFilter - The reference of the RouteFilter resource. + RouteFilter *SubResource `json:"routeFilter,omitempty"` + // Ipv6PeeringConfig - The IPv6 peering configuration. + Ipv6PeeringConfig *Ipv6ExpressRouteCircuitPeeringConfig `json:"ipv6PeeringConfig,omitempty"` + // ExpressRouteConnection - The ExpressRoute connection. + ExpressRouteConnection *ExpressRouteConnectionID `json:"expressRouteConnection,omitempty"` + // Connections - The list of circuit connections associated with Azure Private Peering for this circuit. + Connections *[]ExpressRouteCircuitConnection `json:"connections,omitempty"` + // PeeredConnections - READ-ONLY; The list of peered circuit connections associated with Azure Private Peering for this circuit. + PeeredConnections *[]PeerExpressRouteCircuitConnection `json:"peeredConnections,omitempty"` +} + +// ExpressRouteCircuitPeeringsCreateOrUpdateFuture an abstraction for monitoring and retrieving the results +// of a long-running operation. +type ExpressRouteCircuitPeeringsCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ExpressRouteCircuitPeeringsCreateOrUpdateFuture) Result(client ExpressRouteCircuitPeeringsClient) (ercp ExpressRouteCircuitPeering, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitPeeringsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.ExpressRouteCircuitPeeringsCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if ercp.Response.Response, err = future.GetResult(sender); err == nil && ercp.Response.Response.StatusCode != http.StatusNoContent { + ercp, err = client.CreateOrUpdateResponder(ercp.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitPeeringsCreateOrUpdateFuture", "Result", ercp.Response.Response, "Failure responding to request") + } + } + return +} + +// ExpressRouteCircuitPeeringsDeleteFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type ExpressRouteCircuitPeeringsDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ExpressRouteCircuitPeeringsDeleteFuture) Result(client ExpressRouteCircuitPeeringsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitPeeringsDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.ExpressRouteCircuitPeeringsDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// ExpressRouteCircuitPropertiesFormat properties of ExpressRouteCircuit. +type ExpressRouteCircuitPropertiesFormat struct { + // AllowClassicOperations - Allow classic operations. + AllowClassicOperations *bool `json:"allowClassicOperations,omitempty"` + // CircuitProvisioningState - The CircuitProvisioningState state of the resource. + CircuitProvisioningState *string `json:"circuitProvisioningState,omitempty"` + // ServiceProviderProvisioningState - The ServiceProviderProvisioningState state of the resource. Possible values include: 'NotProvisioned', 'Provisioning', 'Provisioned', 'Deprovisioning' + ServiceProviderProvisioningState ServiceProviderProvisioningState `json:"serviceProviderProvisioningState,omitempty"` + // Authorizations - The list of authorizations. + Authorizations *[]ExpressRouteCircuitAuthorization `json:"authorizations,omitempty"` + // Peerings - The list of peerings. + Peerings *[]ExpressRouteCircuitPeering `json:"peerings,omitempty"` + // ServiceKey - The ServiceKey. + ServiceKey *string `json:"serviceKey,omitempty"` + // ServiceProviderNotes - The ServiceProviderNotes. + ServiceProviderNotes *string `json:"serviceProviderNotes,omitempty"` + // ServiceProviderProperties - The ServiceProviderProperties. + ServiceProviderProperties *ExpressRouteCircuitServiceProviderProperties `json:"serviceProviderProperties,omitempty"` + // ExpressRoutePort - The reference to the ExpressRoutePort resource when the circuit is provisioned on an ExpressRoutePort resource. + ExpressRoutePort *SubResource `json:"expressRoutePort,omitempty"` + // BandwidthInGbps - The bandwidth of the circuit when the circuit is provisioned on an ExpressRoutePort resource. + BandwidthInGbps *float64 `json:"bandwidthInGbps,omitempty"` + // Stag - READ-ONLY; The identifier of the circuit traffic. Outer tag for QinQ encapsulation. + Stag *int32 `json:"stag,omitempty"` + // ProvisioningState - The provisioning state of the express route circuit resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + // GatewayManagerEtag - The GatewayManager Etag. + GatewayManagerEtag *string `json:"gatewayManagerEtag,omitempty"` + // GlobalReachEnabled - Flag denoting Global reach status. + GlobalReachEnabled *bool `json:"globalReachEnabled,omitempty"` +} + +// ExpressRouteCircuitReference reference to an express route circuit. +type ExpressRouteCircuitReference struct { + // ID - Corresponding Express Route Circuit Id. + ID *string `json:"id,omitempty"` +} + +// ExpressRouteCircuitRoutesTable the routes table associated with the ExpressRouteCircuit. +type ExpressRouteCircuitRoutesTable struct { + // NetworkProperty - IP address of a network entity. + NetworkProperty *string `json:"network,omitempty"` + // NextHop - NextHop address. + NextHop *string `json:"nextHop,omitempty"` + // LocPrf - Local preference value as set with the set local-preference route-map configuration command. + LocPrf *string `json:"locPrf,omitempty"` + // Weight - Route Weight. + Weight *int32 `json:"weight,omitempty"` + // Path - Autonomous system paths to the destination network. + Path *string `json:"path,omitempty"` +} + +// ExpressRouteCircuitRoutesTableSummary the routes table associated with the ExpressRouteCircuit. +type ExpressRouteCircuitRoutesTableSummary struct { + // Neighbor - IP address of the neighbor. + Neighbor *string `json:"neighbor,omitempty"` + // V - BGP version number spoken to the neighbor. + V *int32 `json:"v,omitempty"` + // As - Autonomous system number. + As *int32 `json:"as,omitempty"` + // UpDown - The length of time that the BGP session has been in the Established state, or the current status if not in the Established state. + UpDown *string `json:"upDown,omitempty"` + // StatePfxRcd - Current state of the BGP session, and the number of prefixes that have been received from a neighbor or peer group. + StatePfxRcd *string `json:"statePfxRcd,omitempty"` +} + +// ExpressRouteCircuitsArpTableListResult response for ListArpTable associated with the Express Route +// Circuits API. +type ExpressRouteCircuitsArpTableListResult struct { + autorest.Response `json:"-"` + // Value - A list of the ARP tables. + Value *[]ExpressRouteCircuitArpTable `json:"value,omitempty"` + // NextLink - The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// ExpressRouteCircuitsCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type ExpressRouteCircuitsCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ExpressRouteCircuitsCreateOrUpdateFuture) Result(client ExpressRouteCircuitsClient) (erc ExpressRouteCircuit, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.ExpressRouteCircuitsCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if erc.Response.Response, err = future.GetResult(sender); err == nil && erc.Response.Response.StatusCode != http.StatusNoContent { + erc, err = client.CreateOrUpdateResponder(erc.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitsCreateOrUpdateFuture", "Result", erc.Response.Response, "Failure responding to request") + } + } + return +} + +// ExpressRouteCircuitsDeleteFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type ExpressRouteCircuitsDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ExpressRouteCircuitsDeleteFuture) Result(client ExpressRouteCircuitsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitsDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.ExpressRouteCircuitsDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// ExpressRouteCircuitServiceProviderProperties contains ServiceProviderProperties in an +// ExpressRouteCircuit. +type ExpressRouteCircuitServiceProviderProperties struct { + // ServiceProviderName - The serviceProviderName. + ServiceProviderName *string `json:"serviceProviderName,omitempty"` + // PeeringLocation - The peering location. + PeeringLocation *string `json:"peeringLocation,omitempty"` + // BandwidthInMbps - The BandwidthInMbps. + BandwidthInMbps *int32 `json:"bandwidthInMbps,omitempty"` +} + +// ExpressRouteCircuitSku contains SKU in an ExpressRouteCircuit. +type ExpressRouteCircuitSku struct { + // Name - The name of the SKU. + Name *string `json:"name,omitempty"` + // Tier - The tier of the SKU. Possible values include: 'ExpressRouteCircuitSkuTierStandard', 'ExpressRouteCircuitSkuTierPremium', 'ExpressRouteCircuitSkuTierBasic', 'ExpressRouteCircuitSkuTierLocal' + Tier ExpressRouteCircuitSkuTier `json:"tier,omitempty"` + // Family - The family of the SKU. Possible values include: 'UnlimitedData', 'MeteredData' + Family ExpressRouteCircuitSkuFamily `json:"family,omitempty"` +} + +// ExpressRouteCircuitsListArpTableFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type ExpressRouteCircuitsListArpTableFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ExpressRouteCircuitsListArpTableFuture) Result(client ExpressRouteCircuitsClient) (ercatlr ExpressRouteCircuitsArpTableListResult, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitsListArpTableFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.ExpressRouteCircuitsListArpTableFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if ercatlr.Response.Response, err = future.GetResult(sender); err == nil && ercatlr.Response.Response.StatusCode != http.StatusNoContent { + ercatlr, err = client.ListArpTableResponder(ercatlr.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitsListArpTableFuture", "Result", ercatlr.Response.Response, "Failure responding to request") + } + } + return +} + +// ExpressRouteCircuitsListRoutesTableFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type ExpressRouteCircuitsListRoutesTableFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ExpressRouteCircuitsListRoutesTableFuture) Result(client ExpressRouteCircuitsClient) (ercrtlr ExpressRouteCircuitsRoutesTableListResult, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitsListRoutesTableFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.ExpressRouteCircuitsListRoutesTableFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if ercrtlr.Response.Response, err = future.GetResult(sender); err == nil && ercrtlr.Response.Response.StatusCode != http.StatusNoContent { + ercrtlr, err = client.ListRoutesTableResponder(ercrtlr.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitsListRoutesTableFuture", "Result", ercrtlr.Response.Response, "Failure responding to request") + } + } + return +} + +// ExpressRouteCircuitsListRoutesTableSummaryFuture an abstraction for monitoring and retrieving the +// results of a long-running operation. +type ExpressRouteCircuitsListRoutesTableSummaryFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ExpressRouteCircuitsListRoutesTableSummaryFuture) Result(client ExpressRouteCircuitsClient) (ercrtslr ExpressRouteCircuitsRoutesTableSummaryListResult, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitsListRoutesTableSummaryFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.ExpressRouteCircuitsListRoutesTableSummaryFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if ercrtslr.Response.Response, err = future.GetResult(sender); err == nil && ercrtslr.Response.Response.StatusCode != http.StatusNoContent { + ercrtslr, err = client.ListRoutesTableSummaryResponder(ercrtslr.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitsListRoutesTableSummaryFuture", "Result", ercrtslr.Response.Response, "Failure responding to request") + } + } + return +} + +// ExpressRouteCircuitsRoutesTableListResult response for ListRoutesTable associated with the Express Route +// Circuits API. +type ExpressRouteCircuitsRoutesTableListResult struct { + autorest.Response `json:"-"` + // Value - The list of routes table. + Value *[]ExpressRouteCircuitRoutesTable `json:"value,omitempty"` + // NextLink - The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// ExpressRouteCircuitsRoutesTableSummaryListResult response for ListRoutesTable associated with the +// Express Route Circuits API. +type ExpressRouteCircuitsRoutesTableSummaryListResult struct { + autorest.Response `json:"-"` + // Value - A list of the routes table. + Value *[]ExpressRouteCircuitRoutesTableSummary `json:"value,omitempty"` + // NextLink - The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// ExpressRouteCircuitStats contains stats associated with the peering. +type ExpressRouteCircuitStats struct { + autorest.Response `json:"-"` + // PrimarybytesIn - The Primary BytesIn of the peering. + PrimarybytesIn *int64 `json:"primarybytesIn,omitempty"` + // PrimarybytesOut - The primary BytesOut of the peering. + PrimarybytesOut *int64 `json:"primarybytesOut,omitempty"` + // SecondarybytesIn - The secondary BytesIn of the peering. + SecondarybytesIn *int64 `json:"secondarybytesIn,omitempty"` + // SecondarybytesOut - The secondary BytesOut of the peering. + SecondarybytesOut *int64 `json:"secondarybytesOut,omitempty"` +} + +// ExpressRouteCircuitsUpdateTagsFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type ExpressRouteCircuitsUpdateTagsFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ExpressRouteCircuitsUpdateTagsFuture) Result(client ExpressRouteCircuitsClient) (erc ExpressRouteCircuit, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitsUpdateTagsFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.ExpressRouteCircuitsUpdateTagsFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if erc.Response.Response, err = future.GetResult(sender); err == nil && erc.Response.Response.StatusCode != http.StatusNoContent { + erc, err = client.UpdateTagsResponder(erc.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitsUpdateTagsFuture", "Result", erc.Response.Response, "Failure responding to request") + } + } + return +} + +// ExpressRouteConnection expressRouteConnection resource. +type ExpressRouteConnection struct { + autorest.Response `json:"-"` + // ExpressRouteConnectionProperties - Properties of the express route connection. + *ExpressRouteConnectionProperties `json:"properties,omitempty"` + // Name - The name of the resource. + Name *string `json:"name,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for ExpressRouteConnection. +func (erc ExpressRouteConnection) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if erc.ExpressRouteConnectionProperties != nil { + objectMap["properties"] = erc.ExpressRouteConnectionProperties + } + if erc.Name != nil { + objectMap["name"] = erc.Name + } + if erc.ID != nil { + objectMap["id"] = erc.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ExpressRouteConnection struct. +func (erc *ExpressRouteConnection) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var expressRouteConnectionProperties ExpressRouteConnectionProperties + err = json.Unmarshal(*v, &expressRouteConnectionProperties) + if err != nil { + return err + } + erc.ExpressRouteConnectionProperties = &expressRouteConnectionProperties + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + erc.Name = &name + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + erc.ID = &ID + } + } + } + + return nil +} + +// ExpressRouteConnectionID the ID of the ExpressRouteConnection. +type ExpressRouteConnectionID struct { + // ID - READ-ONLY; The ID of the ExpressRouteConnection. + ID *string `json:"id,omitempty"` +} + +// ExpressRouteConnectionList expressRouteConnection list. +type ExpressRouteConnectionList struct { + autorest.Response `json:"-"` + // Value - The list of ExpressRoute connections. + Value *[]ExpressRouteConnection `json:"value,omitempty"` +} + +// ExpressRouteConnectionProperties properties of the ExpressRouteConnection subresource. +type ExpressRouteConnectionProperties struct { + // ProvisioningState - The provisioning state of the express route connection resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + // ExpressRouteCircuitPeering - The ExpressRoute circuit peering. + ExpressRouteCircuitPeering *ExpressRouteCircuitPeeringID `json:"expressRouteCircuitPeering,omitempty"` + // AuthorizationKey - Authorization key to establish the connection. + AuthorizationKey *string `json:"authorizationKey,omitempty"` + // RoutingWeight - The routing weight associated to the connection. + RoutingWeight *int32 `json:"routingWeight,omitempty"` +} + +// ExpressRouteConnectionsCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of +// a long-running operation. +type ExpressRouteConnectionsCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ExpressRouteConnectionsCreateOrUpdateFuture) Result(client ExpressRouteConnectionsClient) (erc ExpressRouteConnection, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteConnectionsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.ExpressRouteConnectionsCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if erc.Response.Response, err = future.GetResult(sender); err == nil && erc.Response.Response.StatusCode != http.StatusNoContent { + erc, err = client.CreateOrUpdateResponder(erc.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteConnectionsCreateOrUpdateFuture", "Result", erc.Response.Response, "Failure responding to request") + } + } + return +} + +// ExpressRouteConnectionsDeleteFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type ExpressRouteConnectionsDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ExpressRouteConnectionsDeleteFuture) Result(client ExpressRouteConnectionsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteConnectionsDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.ExpressRouteConnectionsDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// ExpressRouteCrossConnection expressRouteCrossConnection resource. +type ExpressRouteCrossConnection struct { + autorest.Response `json:"-"` + // ExpressRouteCrossConnectionProperties - Properties of the express route cross connection. + *ExpressRouteCrossConnectionProperties `json:"properties,omitempty"` + // Etag - READ-ONLY; A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for ExpressRouteCrossConnection. +func (ercc ExpressRouteCrossConnection) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if ercc.ExpressRouteCrossConnectionProperties != nil { + objectMap["properties"] = ercc.ExpressRouteCrossConnectionProperties + } + if ercc.ID != nil { + objectMap["id"] = ercc.ID + } + if ercc.Location != nil { + objectMap["location"] = ercc.Location + } + if ercc.Tags != nil { + objectMap["tags"] = ercc.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ExpressRouteCrossConnection struct. +func (ercc *ExpressRouteCrossConnection) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var expressRouteCrossConnectionProperties ExpressRouteCrossConnectionProperties + err = json.Unmarshal(*v, &expressRouteCrossConnectionProperties) + if err != nil { + return err + } + ercc.ExpressRouteCrossConnectionProperties = &expressRouteCrossConnectionProperties + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + ercc.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + ercc.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + ercc.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ercc.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + ercc.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + ercc.Tags = tags + } + } + } + + return nil +} + +// ExpressRouteCrossConnectionListResult response for ListExpressRouteCrossConnection API service call. +type ExpressRouteCrossConnectionListResult struct { + autorest.Response `json:"-"` + // Value - A list of ExpressRouteCrossConnection resources. + Value *[]ExpressRouteCrossConnection `json:"value,omitempty"` + // NextLink - READ-ONLY; The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// ExpressRouteCrossConnectionListResultIterator provides access to a complete listing of +// ExpressRouteCrossConnection values. +type ExpressRouteCrossConnectionListResultIterator struct { + i int + page ExpressRouteCrossConnectionListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *ExpressRouteCrossConnectionListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCrossConnectionListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *ExpressRouteCrossConnectionListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter ExpressRouteCrossConnectionListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter ExpressRouteCrossConnectionListResultIterator) Response() ExpressRouteCrossConnectionListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter ExpressRouteCrossConnectionListResultIterator) Value() ExpressRouteCrossConnection { + if !iter.page.NotDone() { + return ExpressRouteCrossConnection{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the ExpressRouteCrossConnectionListResultIterator type. +func NewExpressRouteCrossConnectionListResultIterator(page ExpressRouteCrossConnectionListResultPage) ExpressRouteCrossConnectionListResultIterator { + return ExpressRouteCrossConnectionListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (ercclr ExpressRouteCrossConnectionListResult) IsEmpty() bool { + return ercclr.Value == nil || len(*ercclr.Value) == 0 +} + +// expressRouteCrossConnectionListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (ercclr ExpressRouteCrossConnectionListResult) expressRouteCrossConnectionListResultPreparer(ctx context.Context) (*http.Request, error) { + if ercclr.NextLink == nil || len(to.String(ercclr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(ercclr.NextLink))) +} + +// ExpressRouteCrossConnectionListResultPage contains a page of ExpressRouteCrossConnection values. +type ExpressRouteCrossConnectionListResultPage struct { + fn func(context.Context, ExpressRouteCrossConnectionListResult) (ExpressRouteCrossConnectionListResult, error) + ercclr ExpressRouteCrossConnectionListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *ExpressRouteCrossConnectionListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCrossConnectionListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.ercclr) + if err != nil { + return err + } + page.ercclr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *ExpressRouteCrossConnectionListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page ExpressRouteCrossConnectionListResultPage) NotDone() bool { + return !page.ercclr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page ExpressRouteCrossConnectionListResultPage) Response() ExpressRouteCrossConnectionListResult { + return page.ercclr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page ExpressRouteCrossConnectionListResultPage) Values() []ExpressRouteCrossConnection { + if page.ercclr.IsEmpty() { + return nil + } + return *page.ercclr.Value +} + +// Creates a new instance of the ExpressRouteCrossConnectionListResultPage type. +func NewExpressRouteCrossConnectionListResultPage(getNextPage func(context.Context, ExpressRouteCrossConnectionListResult) (ExpressRouteCrossConnectionListResult, error)) ExpressRouteCrossConnectionListResultPage { + return ExpressRouteCrossConnectionListResultPage{fn: getNextPage} +} + +// ExpressRouteCrossConnectionPeering peering in an ExpressRoute Cross Connection resource. +type ExpressRouteCrossConnectionPeering struct { + autorest.Response `json:"-"` + // ExpressRouteCrossConnectionPeeringProperties - Properties of the express route cross connection peering. + *ExpressRouteCrossConnectionPeeringProperties `json:"properties,omitempty"` + // Name - The name of the resource that is unique within a resource group. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + // Etag - READ-ONLY; A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for ExpressRouteCrossConnectionPeering. +func (erccp ExpressRouteCrossConnectionPeering) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if erccp.ExpressRouteCrossConnectionPeeringProperties != nil { + objectMap["properties"] = erccp.ExpressRouteCrossConnectionPeeringProperties + } + if erccp.Name != nil { + objectMap["name"] = erccp.Name + } + if erccp.ID != nil { + objectMap["id"] = erccp.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ExpressRouteCrossConnectionPeering struct. +func (erccp *ExpressRouteCrossConnectionPeering) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var expressRouteCrossConnectionPeeringProperties ExpressRouteCrossConnectionPeeringProperties + err = json.Unmarshal(*v, &expressRouteCrossConnectionPeeringProperties) + if err != nil { + return err + } + erccp.ExpressRouteCrossConnectionPeeringProperties = &expressRouteCrossConnectionPeeringProperties + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + erccp.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + erccp.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + erccp.ID = &ID + } + } + } + + return nil +} + +// ExpressRouteCrossConnectionPeeringList response for ListPeering API service call retrieves all peerings +// that belong to an ExpressRouteCrossConnection. +type ExpressRouteCrossConnectionPeeringList struct { + autorest.Response `json:"-"` + // Value - The peerings in an express route cross connection. + Value *[]ExpressRouteCrossConnectionPeering `json:"value,omitempty"` + // NextLink - READ-ONLY; The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// ExpressRouteCrossConnectionPeeringListIterator provides access to a complete listing of +// ExpressRouteCrossConnectionPeering values. +type ExpressRouteCrossConnectionPeeringListIterator struct { + i int + page ExpressRouteCrossConnectionPeeringListPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *ExpressRouteCrossConnectionPeeringListIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCrossConnectionPeeringListIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *ExpressRouteCrossConnectionPeeringListIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter ExpressRouteCrossConnectionPeeringListIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter ExpressRouteCrossConnectionPeeringListIterator) Response() ExpressRouteCrossConnectionPeeringList { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter ExpressRouteCrossConnectionPeeringListIterator) Value() ExpressRouteCrossConnectionPeering { + if !iter.page.NotDone() { + return ExpressRouteCrossConnectionPeering{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the ExpressRouteCrossConnectionPeeringListIterator type. +func NewExpressRouteCrossConnectionPeeringListIterator(page ExpressRouteCrossConnectionPeeringListPage) ExpressRouteCrossConnectionPeeringListIterator { + return ExpressRouteCrossConnectionPeeringListIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (erccpl ExpressRouteCrossConnectionPeeringList) IsEmpty() bool { + return erccpl.Value == nil || len(*erccpl.Value) == 0 +} + +// expressRouteCrossConnectionPeeringListPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (erccpl ExpressRouteCrossConnectionPeeringList) expressRouteCrossConnectionPeeringListPreparer(ctx context.Context) (*http.Request, error) { + if erccpl.NextLink == nil || len(to.String(erccpl.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(erccpl.NextLink))) +} + +// ExpressRouteCrossConnectionPeeringListPage contains a page of ExpressRouteCrossConnectionPeering values. +type ExpressRouteCrossConnectionPeeringListPage struct { + fn func(context.Context, ExpressRouteCrossConnectionPeeringList) (ExpressRouteCrossConnectionPeeringList, error) + erccpl ExpressRouteCrossConnectionPeeringList +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *ExpressRouteCrossConnectionPeeringListPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCrossConnectionPeeringListPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.erccpl) + if err != nil { + return err + } + page.erccpl = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *ExpressRouteCrossConnectionPeeringListPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page ExpressRouteCrossConnectionPeeringListPage) NotDone() bool { + return !page.erccpl.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page ExpressRouteCrossConnectionPeeringListPage) Response() ExpressRouteCrossConnectionPeeringList { + return page.erccpl +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page ExpressRouteCrossConnectionPeeringListPage) Values() []ExpressRouteCrossConnectionPeering { + if page.erccpl.IsEmpty() { + return nil + } + return *page.erccpl.Value +} + +// Creates a new instance of the ExpressRouteCrossConnectionPeeringListPage type. +func NewExpressRouteCrossConnectionPeeringListPage(getNextPage func(context.Context, ExpressRouteCrossConnectionPeeringList) (ExpressRouteCrossConnectionPeeringList, error)) ExpressRouteCrossConnectionPeeringListPage { + return ExpressRouteCrossConnectionPeeringListPage{fn: getNextPage} +} + +// ExpressRouteCrossConnectionPeeringProperties properties of express route cross connection peering. +type ExpressRouteCrossConnectionPeeringProperties struct { + // PeeringType - The peering type. Possible values include: 'AzurePublicPeering', 'AzurePrivatePeering', 'MicrosoftPeering' + PeeringType ExpressRoutePeeringType `json:"peeringType,omitempty"` + // State - The peering state. Possible values include: 'ExpressRoutePeeringStateDisabled', 'ExpressRoutePeeringStateEnabled' + State ExpressRoutePeeringState `json:"state,omitempty"` + // AzureASN - READ-ONLY; The Azure ASN. + AzureASN *int32 `json:"azureASN,omitempty"` + // PeerASN - The peer ASN. + PeerASN *int64 `json:"peerASN,omitempty"` + // PrimaryPeerAddressPrefix - The primary address prefix. + PrimaryPeerAddressPrefix *string `json:"primaryPeerAddressPrefix,omitempty"` + // SecondaryPeerAddressPrefix - The secondary address prefix. + SecondaryPeerAddressPrefix *string `json:"secondaryPeerAddressPrefix,omitempty"` + // PrimaryAzurePort - READ-ONLY; The primary port. + PrimaryAzurePort *string `json:"primaryAzurePort,omitempty"` + // SecondaryAzurePort - READ-ONLY; The secondary port. + SecondaryAzurePort *string `json:"secondaryAzurePort,omitempty"` + // SharedKey - The shared key. + SharedKey *string `json:"sharedKey,omitempty"` + // VlanID - The VLAN ID. + VlanID *int32 `json:"vlanId,omitempty"` + // MicrosoftPeeringConfig - The Microsoft peering configuration. + MicrosoftPeeringConfig *ExpressRouteCircuitPeeringConfig `json:"microsoftPeeringConfig,omitempty"` + // ProvisioningState - READ-ONLY; The provisioning state of the express route cross connection peering resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + // GatewayManagerEtag - The GatewayManager Etag. + GatewayManagerEtag *string `json:"gatewayManagerEtag,omitempty"` + // LastModifiedBy - Who was the last to modify the peering. + LastModifiedBy *string `json:"lastModifiedBy,omitempty"` + // Ipv6PeeringConfig - The IPv6 peering configuration. + Ipv6PeeringConfig *Ipv6ExpressRouteCircuitPeeringConfig `json:"ipv6PeeringConfig,omitempty"` +} + +// ExpressRouteCrossConnectionPeeringsCreateOrUpdateFuture an abstraction for monitoring and retrieving the +// results of a long-running operation. +type ExpressRouteCrossConnectionPeeringsCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ExpressRouteCrossConnectionPeeringsCreateOrUpdateFuture) Result(client ExpressRouteCrossConnectionPeeringsClient) (erccp ExpressRouteCrossConnectionPeering, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCrossConnectionPeeringsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.ExpressRouteCrossConnectionPeeringsCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if erccp.Response.Response, err = future.GetResult(sender); err == nil && erccp.Response.Response.StatusCode != http.StatusNoContent { + erccp, err = client.CreateOrUpdateResponder(erccp.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCrossConnectionPeeringsCreateOrUpdateFuture", "Result", erccp.Response.Response, "Failure responding to request") + } + } + return +} + +// ExpressRouteCrossConnectionPeeringsDeleteFuture an abstraction for monitoring and retrieving the results +// of a long-running operation. +type ExpressRouteCrossConnectionPeeringsDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ExpressRouteCrossConnectionPeeringsDeleteFuture) Result(client ExpressRouteCrossConnectionPeeringsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCrossConnectionPeeringsDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.ExpressRouteCrossConnectionPeeringsDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// ExpressRouteCrossConnectionProperties properties of ExpressRouteCrossConnection. +type ExpressRouteCrossConnectionProperties struct { + // PrimaryAzurePort - READ-ONLY; The name of the primary port. + PrimaryAzurePort *string `json:"primaryAzurePort,omitempty"` + // SecondaryAzurePort - READ-ONLY; The name of the secondary port. + SecondaryAzurePort *string `json:"secondaryAzurePort,omitempty"` + // STag - READ-ONLY; The identifier of the circuit traffic. + STag *int32 `json:"sTag,omitempty"` + // PeeringLocation - The peering location of the ExpressRoute circuit. + PeeringLocation *string `json:"peeringLocation,omitempty"` + // BandwidthInMbps - The circuit bandwidth In Mbps. + BandwidthInMbps *int32 `json:"bandwidthInMbps,omitempty"` + // ExpressRouteCircuit - The ExpressRouteCircuit. + ExpressRouteCircuit *ExpressRouteCircuitReference `json:"expressRouteCircuit,omitempty"` + // ServiceProviderProvisioningState - The provisioning state of the circuit in the connectivity provider system. Possible values include: 'NotProvisioned', 'Provisioning', 'Provisioned', 'Deprovisioning' + ServiceProviderProvisioningState ServiceProviderProvisioningState `json:"serviceProviderProvisioningState,omitempty"` + // ServiceProviderNotes - Additional read only notes set by the connectivity provider. + ServiceProviderNotes *string `json:"serviceProviderNotes,omitempty"` + // ProvisioningState - READ-ONLY; The provisioning state of the express route cross connection resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + // Peerings - The list of peerings. + Peerings *[]ExpressRouteCrossConnectionPeering `json:"peerings,omitempty"` +} + +// ExpressRouteCrossConnectionRoutesTableSummary the routes table associated with the ExpressRouteCircuit. +type ExpressRouteCrossConnectionRoutesTableSummary struct { + // Neighbor - IP address of Neighbor router. + Neighbor *string `json:"neighbor,omitempty"` + // Asn - Autonomous system number. + Asn *int32 `json:"asn,omitempty"` + // UpDown - The length of time that the BGP session has been in the Established state, or the current status if not in the Established state. + UpDown *string `json:"upDown,omitempty"` + // StateOrPrefixesReceived - Current state of the BGP session, and the number of prefixes that have been received from a neighbor or peer group. + StateOrPrefixesReceived *string `json:"stateOrPrefixesReceived,omitempty"` +} + +// ExpressRouteCrossConnectionsCreateOrUpdateFuture an abstraction for monitoring and retrieving the +// results of a long-running operation. +type ExpressRouteCrossConnectionsCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ExpressRouteCrossConnectionsCreateOrUpdateFuture) Result(client ExpressRouteCrossConnectionsClient) (ercc ExpressRouteCrossConnection, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCrossConnectionsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.ExpressRouteCrossConnectionsCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if ercc.Response.Response, err = future.GetResult(sender); err == nil && ercc.Response.Response.StatusCode != http.StatusNoContent { + ercc, err = client.CreateOrUpdateResponder(ercc.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCrossConnectionsCreateOrUpdateFuture", "Result", ercc.Response.Response, "Failure responding to request") + } + } + return +} + +// ExpressRouteCrossConnectionsListArpTableFuture an abstraction for monitoring and retrieving the results +// of a long-running operation. +type ExpressRouteCrossConnectionsListArpTableFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ExpressRouteCrossConnectionsListArpTableFuture) Result(client ExpressRouteCrossConnectionsClient) (ercatlr ExpressRouteCircuitsArpTableListResult, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCrossConnectionsListArpTableFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.ExpressRouteCrossConnectionsListArpTableFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if ercatlr.Response.Response, err = future.GetResult(sender); err == nil && ercatlr.Response.Response.StatusCode != http.StatusNoContent { + ercatlr, err = client.ListArpTableResponder(ercatlr.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCrossConnectionsListArpTableFuture", "Result", ercatlr.Response.Response, "Failure responding to request") + } + } + return +} + +// ExpressRouteCrossConnectionsListRoutesTableFuture an abstraction for monitoring and retrieving the +// results of a long-running operation. +type ExpressRouteCrossConnectionsListRoutesTableFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ExpressRouteCrossConnectionsListRoutesTableFuture) Result(client ExpressRouteCrossConnectionsClient) (ercrtlr ExpressRouteCircuitsRoutesTableListResult, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCrossConnectionsListRoutesTableFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.ExpressRouteCrossConnectionsListRoutesTableFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if ercrtlr.Response.Response, err = future.GetResult(sender); err == nil && ercrtlr.Response.Response.StatusCode != http.StatusNoContent { + ercrtlr, err = client.ListRoutesTableResponder(ercrtlr.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCrossConnectionsListRoutesTableFuture", "Result", ercrtlr.Response.Response, "Failure responding to request") + } + } + return +} + +// ExpressRouteCrossConnectionsListRoutesTableSummaryFuture an abstraction for monitoring and retrieving +// the results of a long-running operation. +type ExpressRouteCrossConnectionsListRoutesTableSummaryFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ExpressRouteCrossConnectionsListRoutesTableSummaryFuture) Result(client ExpressRouteCrossConnectionsClient) (erccrtslr ExpressRouteCrossConnectionsRoutesTableSummaryListResult, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCrossConnectionsListRoutesTableSummaryFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.ExpressRouteCrossConnectionsListRoutesTableSummaryFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if erccrtslr.Response.Response, err = future.GetResult(sender); err == nil && erccrtslr.Response.Response.StatusCode != http.StatusNoContent { + erccrtslr, err = client.ListRoutesTableSummaryResponder(erccrtslr.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCrossConnectionsListRoutesTableSummaryFuture", "Result", erccrtslr.Response.Response, "Failure responding to request") + } + } + return +} + +// ExpressRouteCrossConnectionsRoutesTableSummaryListResult response for ListRoutesTable associated with +// the Express Route Cross Connections. +type ExpressRouteCrossConnectionsRoutesTableSummaryListResult struct { + autorest.Response `json:"-"` + // Value - A list of the routes table. + Value *[]ExpressRouteCrossConnectionRoutesTableSummary `json:"value,omitempty"` + // NextLink - READ-ONLY; The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// ExpressRouteCrossConnectionsUpdateTagsFuture an abstraction for monitoring and retrieving the results of +// a long-running operation. +type ExpressRouteCrossConnectionsUpdateTagsFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ExpressRouteCrossConnectionsUpdateTagsFuture) Result(client ExpressRouteCrossConnectionsClient) (ercc ExpressRouteCrossConnection, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCrossConnectionsUpdateTagsFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.ExpressRouteCrossConnectionsUpdateTagsFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if ercc.Response.Response, err = future.GetResult(sender); err == nil && ercc.Response.Response.StatusCode != http.StatusNoContent { + ercc, err = client.UpdateTagsResponder(ercc.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCrossConnectionsUpdateTagsFuture", "Result", ercc.Response.Response, "Failure responding to request") + } + } + return +} + +// ExpressRouteGateway expressRoute gateway resource. +type ExpressRouteGateway struct { + autorest.Response `json:"-"` + // ExpressRouteGatewayProperties - Properties of the express route gateway. + *ExpressRouteGatewayProperties `json:"properties,omitempty"` + // Etag - READ-ONLY; A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for ExpressRouteGateway. +func (erg ExpressRouteGateway) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if erg.ExpressRouteGatewayProperties != nil { + objectMap["properties"] = erg.ExpressRouteGatewayProperties + } + if erg.ID != nil { + objectMap["id"] = erg.ID + } + if erg.Location != nil { + objectMap["location"] = erg.Location + } + if erg.Tags != nil { + objectMap["tags"] = erg.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ExpressRouteGateway struct. +func (erg *ExpressRouteGateway) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var expressRouteGatewayProperties ExpressRouteGatewayProperties + err = json.Unmarshal(*v, &expressRouteGatewayProperties) + if err != nil { + return err + } + erg.ExpressRouteGatewayProperties = &expressRouteGatewayProperties + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + erg.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + erg.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + erg.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + erg.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + erg.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + erg.Tags = tags + } + } + } + + return nil +} + +// ExpressRouteGatewayList list of ExpressRoute gateways. +type ExpressRouteGatewayList struct { + autorest.Response `json:"-"` + // Value - List of ExpressRoute gateways. + Value *[]ExpressRouteGateway `json:"value,omitempty"` +} + +// ExpressRouteGatewayProperties expressRoute gateway resource properties. +type ExpressRouteGatewayProperties struct { + // AutoScaleConfiguration - Configuration for auto scaling. + AutoScaleConfiguration *ExpressRouteGatewayPropertiesAutoScaleConfiguration `json:"autoScaleConfiguration,omitempty"` + // ExpressRouteConnections - READ-ONLY; List of ExpressRoute connections to the ExpressRoute gateway. + ExpressRouteConnections *[]ExpressRouteConnection `json:"expressRouteConnections,omitempty"` + // ProvisioningState - The provisioning state of the express route gateway resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + // VirtualHub - The Virtual Hub where the ExpressRoute gateway is or will be deployed. + VirtualHub *VirtualHubID `json:"virtualHub,omitempty"` +} + +// ExpressRouteGatewayPropertiesAutoScaleConfiguration configuration for auto scaling. +type ExpressRouteGatewayPropertiesAutoScaleConfiguration struct { + // Bounds - Minimum and maximum number of scale units to deploy. + Bounds *ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds `json:"bounds,omitempty"` +} + +// ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds minimum and maximum number of scale units to +// deploy. +type ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds struct { + // Min - Minimum number of scale units deployed for ExpressRoute gateway. + Min *int32 `json:"min,omitempty"` + // Max - Maximum number of scale units deployed for ExpressRoute gateway. + Max *int32 `json:"max,omitempty"` +} + +// ExpressRouteGatewaysCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type ExpressRouteGatewaysCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ExpressRouteGatewaysCreateOrUpdateFuture) Result(client ExpressRouteGatewaysClient) (erg ExpressRouteGateway, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteGatewaysCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.ExpressRouteGatewaysCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if erg.Response.Response, err = future.GetResult(sender); err == nil && erg.Response.Response.StatusCode != http.StatusNoContent { + erg, err = client.CreateOrUpdateResponder(erg.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteGatewaysCreateOrUpdateFuture", "Result", erg.Response.Response, "Failure responding to request") + } + } + return +} + +// ExpressRouteGatewaysDeleteFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type ExpressRouteGatewaysDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ExpressRouteGatewaysDeleteFuture) Result(client ExpressRouteGatewaysClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteGatewaysDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.ExpressRouteGatewaysDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// ExpressRouteLink expressRouteLink child resource definition. +type ExpressRouteLink struct { + autorest.Response `json:"-"` + // ExpressRouteLinkPropertiesFormat - ExpressRouteLink properties. + *ExpressRouteLinkPropertiesFormat `json:"properties,omitempty"` + // Name - Name of child port resource that is unique among child port resources of the parent. + Name *string `json:"name,omitempty"` + // Etag - READ-ONLY; A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for ExpressRouteLink. +func (erl ExpressRouteLink) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if erl.ExpressRouteLinkPropertiesFormat != nil { + objectMap["properties"] = erl.ExpressRouteLinkPropertiesFormat + } + if erl.Name != nil { + objectMap["name"] = erl.Name + } + if erl.ID != nil { + objectMap["id"] = erl.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ExpressRouteLink struct. +func (erl *ExpressRouteLink) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var expressRouteLinkPropertiesFormat ExpressRouteLinkPropertiesFormat + err = json.Unmarshal(*v, &expressRouteLinkPropertiesFormat) + if err != nil { + return err + } + erl.ExpressRouteLinkPropertiesFormat = &expressRouteLinkPropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + erl.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + erl.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + erl.ID = &ID + } + } + } + + return nil +} + +// ExpressRouteLinkListResult response for ListExpressRouteLinks API service call. +type ExpressRouteLinkListResult struct { + autorest.Response `json:"-"` + // Value - The list of ExpressRouteLink sub-resources. + Value *[]ExpressRouteLink `json:"value,omitempty"` + // NextLink - The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// ExpressRouteLinkListResultIterator provides access to a complete listing of ExpressRouteLink values. +type ExpressRouteLinkListResultIterator struct { + i int + page ExpressRouteLinkListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *ExpressRouteLinkListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteLinkListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *ExpressRouteLinkListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter ExpressRouteLinkListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter ExpressRouteLinkListResultIterator) Response() ExpressRouteLinkListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter ExpressRouteLinkListResultIterator) Value() ExpressRouteLink { + if !iter.page.NotDone() { + return ExpressRouteLink{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the ExpressRouteLinkListResultIterator type. +func NewExpressRouteLinkListResultIterator(page ExpressRouteLinkListResultPage) ExpressRouteLinkListResultIterator { + return ExpressRouteLinkListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (erllr ExpressRouteLinkListResult) IsEmpty() bool { + return erllr.Value == nil || len(*erllr.Value) == 0 +} + +// expressRouteLinkListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (erllr ExpressRouteLinkListResult) expressRouteLinkListResultPreparer(ctx context.Context) (*http.Request, error) { + if erllr.NextLink == nil || len(to.String(erllr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(erllr.NextLink))) +} + +// ExpressRouteLinkListResultPage contains a page of ExpressRouteLink values. +type ExpressRouteLinkListResultPage struct { + fn func(context.Context, ExpressRouteLinkListResult) (ExpressRouteLinkListResult, error) + erllr ExpressRouteLinkListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *ExpressRouteLinkListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteLinkListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.erllr) + if err != nil { + return err + } + page.erllr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *ExpressRouteLinkListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page ExpressRouteLinkListResultPage) NotDone() bool { + return !page.erllr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page ExpressRouteLinkListResultPage) Response() ExpressRouteLinkListResult { + return page.erllr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page ExpressRouteLinkListResultPage) Values() []ExpressRouteLink { + if page.erllr.IsEmpty() { + return nil + } + return *page.erllr.Value +} + +// Creates a new instance of the ExpressRouteLinkListResultPage type. +func NewExpressRouteLinkListResultPage(getNextPage func(context.Context, ExpressRouteLinkListResult) (ExpressRouteLinkListResult, error)) ExpressRouteLinkListResultPage { + return ExpressRouteLinkListResultPage{fn: getNextPage} +} + +// ExpressRouteLinkMacSecConfig expressRouteLink Mac Security Configuration. +type ExpressRouteLinkMacSecConfig struct { + // CknSecretIdentifier - Keyvault Secret Identifier URL containing Mac security CKN key. + CknSecretIdentifier *string `json:"cknSecretIdentifier,omitempty"` + // CakSecretIdentifier - Keyvault Secret Identifier URL containing Mac security CAK key. + CakSecretIdentifier *string `json:"cakSecretIdentifier,omitempty"` + // Cipher - Mac security cipher. Possible values include: 'GcmAes128', 'GcmAes256' + Cipher ExpressRouteLinkMacSecCipher `json:"cipher,omitempty"` +} + +// ExpressRouteLinkPropertiesFormat properties specific to ExpressRouteLink resources. +type ExpressRouteLinkPropertiesFormat struct { + // RouterName - READ-ONLY; Name of Azure router associated with physical port. + RouterName *string `json:"routerName,omitempty"` + // InterfaceName - READ-ONLY; Name of Azure router interface. + InterfaceName *string `json:"interfaceName,omitempty"` + // PatchPanelID - READ-ONLY; Mapping between physical port to patch panel port. + PatchPanelID *string `json:"patchPanelId,omitempty"` + // RackID - READ-ONLY; Mapping of physical patch panel to rack. + RackID *string `json:"rackId,omitempty"` + // ConnectorType - READ-ONLY; Physical fiber port type. Possible values include: 'LC', 'SC' + ConnectorType ExpressRouteLinkConnectorType `json:"connectorType,omitempty"` + // AdminState - Administrative state of the physical port. Possible values include: 'ExpressRouteLinkAdminStateEnabled', 'ExpressRouteLinkAdminStateDisabled' + AdminState ExpressRouteLinkAdminState `json:"adminState,omitempty"` + // ProvisioningState - READ-ONLY; The provisioning state of the express route link resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + // MacSecConfig - MacSec configuration. + MacSecConfig *ExpressRouteLinkMacSecConfig `json:"macSecConfig,omitempty"` +} + +// ExpressRoutePort expressRoutePort resource definition. +type ExpressRoutePort struct { + autorest.Response `json:"-"` + // ExpressRoutePortPropertiesFormat - ExpressRoutePort properties. + *ExpressRoutePortPropertiesFormat `json:"properties,omitempty"` + // Etag - READ-ONLY; A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // Identity - The identity of ExpressRoutePort, if configured. + Identity *ManagedServiceIdentity `json:"identity,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for ExpressRoutePort. +func (erp ExpressRoutePort) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if erp.ExpressRoutePortPropertiesFormat != nil { + objectMap["properties"] = erp.ExpressRoutePortPropertiesFormat + } + if erp.Identity != nil { + objectMap["identity"] = erp.Identity + } + if erp.ID != nil { + objectMap["id"] = erp.ID + } + if erp.Location != nil { + objectMap["location"] = erp.Location + } + if erp.Tags != nil { + objectMap["tags"] = erp.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ExpressRoutePort struct. +func (erp *ExpressRoutePort) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var expressRoutePortPropertiesFormat ExpressRoutePortPropertiesFormat + err = json.Unmarshal(*v, &expressRoutePortPropertiesFormat) + if err != nil { + return err + } + erp.ExpressRoutePortPropertiesFormat = &expressRoutePortPropertiesFormat + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + erp.Etag = &etag + } + case "identity": + if v != nil { + var identity ManagedServiceIdentity + err = json.Unmarshal(*v, &identity) + if err != nil { + return err + } + erp.Identity = &identity + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + erp.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + erp.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + erp.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + erp.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + erp.Tags = tags + } + } + } + + return nil +} + +// ExpressRoutePortListResult response for ListExpressRoutePorts API service call. +type ExpressRoutePortListResult struct { + autorest.Response `json:"-"` + // Value - A list of ExpressRoutePort resources. + Value *[]ExpressRoutePort `json:"value,omitempty"` + // NextLink - The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// ExpressRoutePortListResultIterator provides access to a complete listing of ExpressRoutePort values. +type ExpressRoutePortListResultIterator struct { + i int + page ExpressRoutePortListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *ExpressRoutePortListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRoutePortListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *ExpressRoutePortListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter ExpressRoutePortListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter ExpressRoutePortListResultIterator) Response() ExpressRoutePortListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter ExpressRoutePortListResultIterator) Value() ExpressRoutePort { + if !iter.page.NotDone() { + return ExpressRoutePort{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the ExpressRoutePortListResultIterator type. +func NewExpressRoutePortListResultIterator(page ExpressRoutePortListResultPage) ExpressRoutePortListResultIterator { + return ExpressRoutePortListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (erplr ExpressRoutePortListResult) IsEmpty() bool { + return erplr.Value == nil || len(*erplr.Value) == 0 +} + +// expressRoutePortListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (erplr ExpressRoutePortListResult) expressRoutePortListResultPreparer(ctx context.Context) (*http.Request, error) { + if erplr.NextLink == nil || len(to.String(erplr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(erplr.NextLink))) +} + +// ExpressRoutePortListResultPage contains a page of ExpressRoutePort values. +type ExpressRoutePortListResultPage struct { + fn func(context.Context, ExpressRoutePortListResult) (ExpressRoutePortListResult, error) + erplr ExpressRoutePortListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *ExpressRoutePortListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRoutePortListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.erplr) + if err != nil { + return err + } + page.erplr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *ExpressRoutePortListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page ExpressRoutePortListResultPage) NotDone() bool { + return !page.erplr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page ExpressRoutePortListResultPage) Response() ExpressRoutePortListResult { + return page.erplr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page ExpressRoutePortListResultPage) Values() []ExpressRoutePort { + if page.erplr.IsEmpty() { + return nil + } + return *page.erplr.Value +} + +// Creates a new instance of the ExpressRoutePortListResultPage type. +func NewExpressRoutePortListResultPage(getNextPage func(context.Context, ExpressRoutePortListResult) (ExpressRoutePortListResult, error)) ExpressRoutePortListResultPage { + return ExpressRoutePortListResultPage{fn: getNextPage} +} + +// ExpressRoutePortPropertiesFormat properties specific to ExpressRoutePort resources. +type ExpressRoutePortPropertiesFormat struct { + // PeeringLocation - The name of the peering location that the ExpressRoutePort is mapped to physically. + PeeringLocation *string `json:"peeringLocation,omitempty"` + // BandwidthInGbps - Bandwidth of procured ports in Gbps. + BandwidthInGbps *int32 `json:"bandwidthInGbps,omitempty"` + // ProvisionedBandwidthInGbps - READ-ONLY; Aggregate Gbps of associated circuit bandwidths. + ProvisionedBandwidthInGbps *float64 `json:"provisionedBandwidthInGbps,omitempty"` + // Mtu - READ-ONLY; Maximum transmission unit of the physical port pair(s). + Mtu *string `json:"mtu,omitempty"` + // Encapsulation - Encapsulation method on physical ports. Possible values include: 'Dot1Q', 'QinQ' + Encapsulation ExpressRoutePortsEncapsulation `json:"encapsulation,omitempty"` + // EtherType - READ-ONLY; Ether type of the physical port. + EtherType *string `json:"etherType,omitempty"` + // AllocationDate - READ-ONLY; Date of the physical port allocation to be used in Letter of Authorization. + AllocationDate *string `json:"allocationDate,omitempty"` + // Links - The set of physical links of the ExpressRoutePort resource. + Links *[]ExpressRouteLink `json:"links,omitempty"` + // Circuits - READ-ONLY; Reference the ExpressRoute circuit(s) that are provisioned on this ExpressRoutePort resource. + Circuits *[]SubResource `json:"circuits,omitempty"` + // ProvisioningState - READ-ONLY; The provisioning state of the express route port resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + // ResourceGUID - The resource GUID property of the express route port resource. + ResourceGUID *string `json:"resourceGuid,omitempty"` +} + +// ExpressRoutePortsCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type ExpressRoutePortsCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ExpressRoutePortsCreateOrUpdateFuture) Result(client ExpressRoutePortsClient) (erp ExpressRoutePort, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRoutePortsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.ExpressRoutePortsCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if erp.Response.Response, err = future.GetResult(sender); err == nil && erp.Response.Response.StatusCode != http.StatusNoContent { + erp, err = client.CreateOrUpdateResponder(erp.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRoutePortsCreateOrUpdateFuture", "Result", erp.Response.Response, "Failure responding to request") + } + } + return +} + +// ExpressRoutePortsDeleteFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type ExpressRoutePortsDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ExpressRoutePortsDeleteFuture) Result(client ExpressRoutePortsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRoutePortsDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.ExpressRoutePortsDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// ExpressRoutePortsLocation definition of the ExpressRoutePorts peering location resource. +type ExpressRoutePortsLocation struct { + autorest.Response `json:"-"` + // ExpressRoutePortsLocationPropertiesFormat - ExpressRoutePort peering location properties. + *ExpressRoutePortsLocationPropertiesFormat `json:"properties,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for ExpressRoutePortsLocation. +func (erpl ExpressRoutePortsLocation) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if erpl.ExpressRoutePortsLocationPropertiesFormat != nil { + objectMap["properties"] = erpl.ExpressRoutePortsLocationPropertiesFormat + } + if erpl.ID != nil { + objectMap["id"] = erpl.ID + } + if erpl.Location != nil { + objectMap["location"] = erpl.Location + } + if erpl.Tags != nil { + objectMap["tags"] = erpl.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ExpressRoutePortsLocation struct. +func (erpl *ExpressRoutePortsLocation) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var expressRoutePortsLocationPropertiesFormat ExpressRoutePortsLocationPropertiesFormat + err = json.Unmarshal(*v, &expressRoutePortsLocationPropertiesFormat) + if err != nil { + return err + } + erpl.ExpressRoutePortsLocationPropertiesFormat = &expressRoutePortsLocationPropertiesFormat + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + erpl.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + erpl.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + erpl.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + erpl.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + erpl.Tags = tags + } + } + } + + return nil +} + +// ExpressRoutePortsLocationBandwidths real-time inventory of available ExpressRoute port bandwidths. +type ExpressRoutePortsLocationBandwidths struct { + // OfferName - READ-ONLY; Bandwidth descriptive name. + OfferName *string `json:"offerName,omitempty"` + // ValueInGbps - READ-ONLY; Bandwidth value in Gbps. + ValueInGbps *int32 `json:"valueInGbps,omitempty"` +} + +// ExpressRoutePortsLocationListResult response for ListExpressRoutePortsLocations API service call. +type ExpressRoutePortsLocationListResult struct { + autorest.Response `json:"-"` + // Value - The list of all ExpressRoutePort peering locations. + Value *[]ExpressRoutePortsLocation `json:"value,omitempty"` + // NextLink - The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// ExpressRoutePortsLocationListResultIterator provides access to a complete listing of +// ExpressRoutePortsLocation values. +type ExpressRoutePortsLocationListResultIterator struct { + i int + page ExpressRoutePortsLocationListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *ExpressRoutePortsLocationListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRoutePortsLocationListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *ExpressRoutePortsLocationListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter ExpressRoutePortsLocationListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter ExpressRoutePortsLocationListResultIterator) Response() ExpressRoutePortsLocationListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter ExpressRoutePortsLocationListResultIterator) Value() ExpressRoutePortsLocation { + if !iter.page.NotDone() { + return ExpressRoutePortsLocation{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the ExpressRoutePortsLocationListResultIterator type. +func NewExpressRoutePortsLocationListResultIterator(page ExpressRoutePortsLocationListResultPage) ExpressRoutePortsLocationListResultIterator { + return ExpressRoutePortsLocationListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (erpllr ExpressRoutePortsLocationListResult) IsEmpty() bool { + return erpllr.Value == nil || len(*erpllr.Value) == 0 +} + +// expressRoutePortsLocationListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (erpllr ExpressRoutePortsLocationListResult) expressRoutePortsLocationListResultPreparer(ctx context.Context) (*http.Request, error) { + if erpllr.NextLink == nil || len(to.String(erpllr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(erpllr.NextLink))) +} + +// ExpressRoutePortsLocationListResultPage contains a page of ExpressRoutePortsLocation values. +type ExpressRoutePortsLocationListResultPage struct { + fn func(context.Context, ExpressRoutePortsLocationListResult) (ExpressRoutePortsLocationListResult, error) + erpllr ExpressRoutePortsLocationListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *ExpressRoutePortsLocationListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRoutePortsLocationListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.erpllr) + if err != nil { + return err + } + page.erpllr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *ExpressRoutePortsLocationListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page ExpressRoutePortsLocationListResultPage) NotDone() bool { + return !page.erpllr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page ExpressRoutePortsLocationListResultPage) Response() ExpressRoutePortsLocationListResult { + return page.erpllr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page ExpressRoutePortsLocationListResultPage) Values() []ExpressRoutePortsLocation { + if page.erpllr.IsEmpty() { + return nil + } + return *page.erpllr.Value +} + +// Creates a new instance of the ExpressRoutePortsLocationListResultPage type. +func NewExpressRoutePortsLocationListResultPage(getNextPage func(context.Context, ExpressRoutePortsLocationListResult) (ExpressRoutePortsLocationListResult, error)) ExpressRoutePortsLocationListResultPage { + return ExpressRoutePortsLocationListResultPage{fn: getNextPage} +} + +// ExpressRoutePortsLocationPropertiesFormat properties specific to ExpressRoutePorts peering location +// resources. +type ExpressRoutePortsLocationPropertiesFormat struct { + // Address - READ-ONLY; Address of peering location. + Address *string `json:"address,omitempty"` + // Contact - READ-ONLY; Contact details of peering locations. + Contact *string `json:"contact,omitempty"` + // AvailableBandwidths - The inventory of available ExpressRoutePort bandwidths. + AvailableBandwidths *[]ExpressRoutePortsLocationBandwidths `json:"availableBandwidths,omitempty"` + // ProvisioningState - READ-ONLY; The provisioning state of the express route port location resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// ExpressRoutePortsUpdateTagsFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type ExpressRoutePortsUpdateTagsFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ExpressRoutePortsUpdateTagsFuture) Result(client ExpressRoutePortsClient) (erp ExpressRoutePort, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRoutePortsUpdateTagsFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.ExpressRoutePortsUpdateTagsFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if erp.Response.Response, err = future.GetResult(sender); err == nil && erp.Response.Response.StatusCode != http.StatusNoContent { + erp, err = client.UpdateTagsResponder(erp.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRoutePortsUpdateTagsFuture", "Result", erp.Response.Response, "Failure responding to request") + } + } + return +} + +// ExpressRouteServiceProvider a ExpressRouteResourceProvider object. +type ExpressRouteServiceProvider struct { + // ExpressRouteServiceProviderPropertiesFormat - Properties of the express route service provider. + *ExpressRouteServiceProviderPropertiesFormat `json:"properties,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for ExpressRouteServiceProvider. +func (ersp ExpressRouteServiceProvider) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if ersp.ExpressRouteServiceProviderPropertiesFormat != nil { + objectMap["properties"] = ersp.ExpressRouteServiceProviderPropertiesFormat + } + if ersp.ID != nil { + objectMap["id"] = ersp.ID + } + if ersp.Location != nil { + objectMap["location"] = ersp.Location + } + if ersp.Tags != nil { + objectMap["tags"] = ersp.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ExpressRouteServiceProvider struct. +func (ersp *ExpressRouteServiceProvider) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var expressRouteServiceProviderPropertiesFormat ExpressRouteServiceProviderPropertiesFormat + err = json.Unmarshal(*v, &expressRouteServiceProviderPropertiesFormat) + if err != nil { + return err + } + ersp.ExpressRouteServiceProviderPropertiesFormat = &expressRouteServiceProviderPropertiesFormat + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + ersp.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + ersp.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ersp.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + ersp.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + ersp.Tags = tags + } + } + } + + return nil +} + +// ExpressRouteServiceProviderBandwidthsOffered contains bandwidths offered in ExpressRouteServiceProvider +// resources. +type ExpressRouteServiceProviderBandwidthsOffered struct { + // OfferName - The OfferName. + OfferName *string `json:"offerName,omitempty"` + // ValueInMbps - The ValueInMbps. + ValueInMbps *int32 `json:"valueInMbps,omitempty"` +} + +// ExpressRouteServiceProviderListResult response for the ListExpressRouteServiceProvider API service call. +type ExpressRouteServiceProviderListResult struct { + autorest.Response `json:"-"` + // Value - A list of ExpressRouteResourceProvider resources. + Value *[]ExpressRouteServiceProvider `json:"value,omitempty"` + // NextLink - The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// ExpressRouteServiceProviderListResultIterator provides access to a complete listing of +// ExpressRouteServiceProvider values. +type ExpressRouteServiceProviderListResultIterator struct { + i int + page ExpressRouteServiceProviderListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *ExpressRouteServiceProviderListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteServiceProviderListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *ExpressRouteServiceProviderListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter ExpressRouteServiceProviderListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter ExpressRouteServiceProviderListResultIterator) Response() ExpressRouteServiceProviderListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter ExpressRouteServiceProviderListResultIterator) Value() ExpressRouteServiceProvider { + if !iter.page.NotDone() { + return ExpressRouteServiceProvider{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the ExpressRouteServiceProviderListResultIterator type. +func NewExpressRouteServiceProviderListResultIterator(page ExpressRouteServiceProviderListResultPage) ExpressRouteServiceProviderListResultIterator { + return ExpressRouteServiceProviderListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (ersplr ExpressRouteServiceProviderListResult) IsEmpty() bool { + return ersplr.Value == nil || len(*ersplr.Value) == 0 +} + +// expressRouteServiceProviderListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (ersplr ExpressRouteServiceProviderListResult) expressRouteServiceProviderListResultPreparer(ctx context.Context) (*http.Request, error) { + if ersplr.NextLink == nil || len(to.String(ersplr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(ersplr.NextLink))) +} + +// ExpressRouteServiceProviderListResultPage contains a page of ExpressRouteServiceProvider values. +type ExpressRouteServiceProviderListResultPage struct { + fn func(context.Context, ExpressRouteServiceProviderListResult) (ExpressRouteServiceProviderListResult, error) + ersplr ExpressRouteServiceProviderListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *ExpressRouteServiceProviderListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteServiceProviderListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.ersplr) + if err != nil { + return err + } + page.ersplr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *ExpressRouteServiceProviderListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page ExpressRouteServiceProviderListResultPage) NotDone() bool { + return !page.ersplr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page ExpressRouteServiceProviderListResultPage) Response() ExpressRouteServiceProviderListResult { + return page.ersplr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page ExpressRouteServiceProviderListResultPage) Values() []ExpressRouteServiceProvider { + if page.ersplr.IsEmpty() { + return nil + } + return *page.ersplr.Value +} + +// Creates a new instance of the ExpressRouteServiceProviderListResultPage type. +func NewExpressRouteServiceProviderListResultPage(getNextPage func(context.Context, ExpressRouteServiceProviderListResult) (ExpressRouteServiceProviderListResult, error)) ExpressRouteServiceProviderListResultPage { + return ExpressRouteServiceProviderListResultPage{fn: getNextPage} +} + +// ExpressRouteServiceProviderPropertiesFormat properties of ExpressRouteServiceProvider. +type ExpressRouteServiceProviderPropertiesFormat struct { + // PeeringLocations - A list of peering locations. + PeeringLocations *[]string `json:"peeringLocations,omitempty"` + // BandwidthsOffered - A list of bandwidths offered. + BandwidthsOffered *[]ExpressRouteServiceProviderBandwidthsOffered `json:"bandwidthsOffered,omitempty"` + // ProvisioningState - The provisioning state of the express route service provider resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// FirewallPoliciesCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type FirewallPoliciesCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *FirewallPoliciesCreateOrUpdateFuture) Result(client FirewallPoliciesClient) (fp FirewallPolicy, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.FirewallPoliciesCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.FirewallPoliciesCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if fp.Response.Response, err = future.GetResult(sender); err == nil && fp.Response.Response.StatusCode != http.StatusNoContent { + fp, err = client.CreateOrUpdateResponder(fp.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.FirewallPoliciesCreateOrUpdateFuture", "Result", fp.Response.Response, "Failure responding to request") + } + } + return +} + +// FirewallPoliciesDeleteFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type FirewallPoliciesDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *FirewallPoliciesDeleteFuture) Result(client FirewallPoliciesClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.FirewallPoliciesDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.FirewallPoliciesDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// FirewallPolicy firewallPolicy Resource. +type FirewallPolicy struct { + autorest.Response `json:"-"` + // FirewallPolicyPropertiesFormat - Properties of the firewall policy. + *FirewallPolicyPropertiesFormat `json:"properties,omitempty"` + // Etag - READ-ONLY; A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for FirewallPolicy. +func (fp FirewallPolicy) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if fp.FirewallPolicyPropertiesFormat != nil { + objectMap["properties"] = fp.FirewallPolicyPropertiesFormat + } + if fp.ID != nil { + objectMap["id"] = fp.ID + } + if fp.Location != nil { + objectMap["location"] = fp.Location + } + if fp.Tags != nil { + objectMap["tags"] = fp.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for FirewallPolicy struct. +func (fp *FirewallPolicy) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var firewallPolicyPropertiesFormat FirewallPolicyPropertiesFormat + err = json.Unmarshal(*v, &firewallPolicyPropertiesFormat) + if err != nil { + return err + } + fp.FirewallPolicyPropertiesFormat = &firewallPolicyPropertiesFormat + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + fp.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + fp.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + fp.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + fp.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + fp.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + fp.Tags = tags + } + } + } + + return nil +} + +// FirewallPolicyFilterRule firewall Policy Filter Rule. +type FirewallPolicyFilterRule struct { + // Action - The action type of a Filter rule. + Action *FirewallPolicyFilterRuleAction `json:"action,omitempty"` + // RuleConditions - Collection of rule conditions used by a rule. + RuleConditions *[]BasicFirewallPolicyRuleCondition `json:"ruleConditions,omitempty"` + // Name - The name of the rule. + Name *string `json:"name,omitempty"` + // Priority - Priority of the Firewall Policy Rule resource. + Priority *int32 `json:"priority,omitempty"` + // RuleType - Possible values include: 'RuleTypeFirewallPolicyRule', 'RuleTypeFirewallPolicyNatRule', 'RuleTypeFirewallPolicyFilterRule' + RuleType RuleType `json:"ruleType,omitempty"` +} + +// MarshalJSON is the custom marshaler for FirewallPolicyFilterRule. +func (fpfr FirewallPolicyFilterRule) MarshalJSON() ([]byte, error) { + fpfr.RuleType = RuleTypeFirewallPolicyFilterRule + objectMap := make(map[string]interface{}) + if fpfr.Action != nil { + objectMap["action"] = fpfr.Action + } + if fpfr.RuleConditions != nil { + objectMap["ruleConditions"] = fpfr.RuleConditions + } + if fpfr.Name != nil { + objectMap["name"] = fpfr.Name + } + if fpfr.Priority != nil { + objectMap["priority"] = fpfr.Priority + } + if fpfr.RuleType != "" { + objectMap["ruleType"] = fpfr.RuleType + } + return json.Marshal(objectMap) +} + +// AsFirewallPolicyNatRule is the BasicFirewallPolicyRule implementation for FirewallPolicyFilterRule. +func (fpfr FirewallPolicyFilterRule) AsFirewallPolicyNatRule() (*FirewallPolicyNatRule, bool) { + return nil, false +} + +// AsFirewallPolicyFilterRule is the BasicFirewallPolicyRule implementation for FirewallPolicyFilterRule. +func (fpfr FirewallPolicyFilterRule) AsFirewallPolicyFilterRule() (*FirewallPolicyFilterRule, bool) { + return &fpfr, true +} + +// AsFirewallPolicyRule is the BasicFirewallPolicyRule implementation for FirewallPolicyFilterRule. +func (fpfr FirewallPolicyFilterRule) AsFirewallPolicyRule() (*FirewallPolicyRule, bool) { + return nil, false +} + +// AsBasicFirewallPolicyRule is the BasicFirewallPolicyRule implementation for FirewallPolicyFilterRule. +func (fpfr FirewallPolicyFilterRule) AsBasicFirewallPolicyRule() (BasicFirewallPolicyRule, bool) { + return &fpfr, true +} + +// UnmarshalJSON is the custom unmarshaler for FirewallPolicyFilterRule struct. +func (fpfr *FirewallPolicyFilterRule) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "action": + if v != nil { + var action FirewallPolicyFilterRuleAction + err = json.Unmarshal(*v, &action) + if err != nil { + return err + } + fpfr.Action = &action + } + case "ruleConditions": + if v != nil { + ruleConditions, err := unmarshalBasicFirewallPolicyRuleConditionArray(*v) + if err != nil { + return err + } + fpfr.RuleConditions = &ruleConditions + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + fpfr.Name = &name + } + case "priority": + if v != nil { + var priority int32 + err = json.Unmarshal(*v, &priority) + if err != nil { + return err + } + fpfr.Priority = &priority + } + case "ruleType": + if v != nil { + var ruleType RuleType + err = json.Unmarshal(*v, &ruleType) + if err != nil { + return err + } + fpfr.RuleType = ruleType + } + } + } + + return nil +} + +// FirewallPolicyFilterRuleAction properties of the FirewallPolicyFilterRuleAction. +type FirewallPolicyFilterRuleAction struct { + // Type - The type of action. Possible values include: 'FirewallPolicyFilterRuleActionTypeAllow', 'FirewallPolicyFilterRuleActionTypeDeny', 'FirewallPolicyFilterRuleActionTypeAlert' + Type FirewallPolicyFilterRuleActionType `json:"type,omitempty"` +} + +// FirewallPolicyListResult response for ListFirewallPolicies API service call. +type FirewallPolicyListResult struct { + autorest.Response `json:"-"` + // Value - List of Firewall Policies in a resource group. + Value *[]FirewallPolicy `json:"value,omitempty"` + // NextLink - URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// FirewallPolicyListResultIterator provides access to a complete listing of FirewallPolicy values. +type FirewallPolicyListResultIterator struct { + i int + page FirewallPolicyListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *FirewallPolicyListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/FirewallPolicyListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *FirewallPolicyListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter FirewallPolicyListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter FirewallPolicyListResultIterator) Response() FirewallPolicyListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter FirewallPolicyListResultIterator) Value() FirewallPolicy { + if !iter.page.NotDone() { + return FirewallPolicy{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the FirewallPolicyListResultIterator type. +func NewFirewallPolicyListResultIterator(page FirewallPolicyListResultPage) FirewallPolicyListResultIterator { + return FirewallPolicyListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (fplr FirewallPolicyListResult) IsEmpty() bool { + return fplr.Value == nil || len(*fplr.Value) == 0 +} + +// firewallPolicyListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (fplr FirewallPolicyListResult) firewallPolicyListResultPreparer(ctx context.Context) (*http.Request, error) { + if fplr.NextLink == nil || len(to.String(fplr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(fplr.NextLink))) +} + +// FirewallPolicyListResultPage contains a page of FirewallPolicy values. +type FirewallPolicyListResultPage struct { + fn func(context.Context, FirewallPolicyListResult) (FirewallPolicyListResult, error) + fplr FirewallPolicyListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *FirewallPolicyListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/FirewallPolicyListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.fplr) + if err != nil { + return err + } + page.fplr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *FirewallPolicyListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page FirewallPolicyListResultPage) NotDone() bool { + return !page.fplr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page FirewallPolicyListResultPage) Response() FirewallPolicyListResult { + return page.fplr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page FirewallPolicyListResultPage) Values() []FirewallPolicy { + if page.fplr.IsEmpty() { + return nil + } + return *page.fplr.Value +} + +// Creates a new instance of the FirewallPolicyListResultPage type. +func NewFirewallPolicyListResultPage(getNextPage func(context.Context, FirewallPolicyListResult) (FirewallPolicyListResult, error)) FirewallPolicyListResultPage { + return FirewallPolicyListResultPage{fn: getNextPage} +} + +// FirewallPolicyNatRule firewall Policy NAT Rule. +type FirewallPolicyNatRule struct { + // Action - The action type of a Nat rule. + Action *FirewallPolicyNatRuleAction `json:"action,omitempty"` + // TranslatedAddress - The translated address for this NAT rule. + TranslatedAddress *string `json:"translatedAddress,omitempty"` + // TranslatedPort - The translated port for this NAT rule. + TranslatedPort *string `json:"translatedPort,omitempty"` + // RuleCondition - The match conditions for incoming traffic. + RuleCondition BasicFirewallPolicyRuleCondition `json:"ruleCondition,omitempty"` + // Name - The name of the rule. + Name *string `json:"name,omitempty"` + // Priority - Priority of the Firewall Policy Rule resource. + Priority *int32 `json:"priority,omitempty"` + // RuleType - Possible values include: 'RuleTypeFirewallPolicyRule', 'RuleTypeFirewallPolicyNatRule', 'RuleTypeFirewallPolicyFilterRule' + RuleType RuleType `json:"ruleType,omitempty"` +} + +// MarshalJSON is the custom marshaler for FirewallPolicyNatRule. +func (fpnr FirewallPolicyNatRule) MarshalJSON() ([]byte, error) { + fpnr.RuleType = RuleTypeFirewallPolicyNatRule + objectMap := make(map[string]interface{}) + if fpnr.Action != nil { + objectMap["action"] = fpnr.Action + } + if fpnr.TranslatedAddress != nil { + objectMap["translatedAddress"] = fpnr.TranslatedAddress + } + if fpnr.TranslatedPort != nil { + objectMap["translatedPort"] = fpnr.TranslatedPort + } + objectMap["ruleCondition"] = fpnr.RuleCondition + if fpnr.Name != nil { + objectMap["name"] = fpnr.Name + } + if fpnr.Priority != nil { + objectMap["priority"] = fpnr.Priority + } + if fpnr.RuleType != "" { + objectMap["ruleType"] = fpnr.RuleType + } + return json.Marshal(objectMap) +} + +// AsFirewallPolicyNatRule is the BasicFirewallPolicyRule implementation for FirewallPolicyNatRule. +func (fpnr FirewallPolicyNatRule) AsFirewallPolicyNatRule() (*FirewallPolicyNatRule, bool) { + return &fpnr, true +} + +// AsFirewallPolicyFilterRule is the BasicFirewallPolicyRule implementation for FirewallPolicyNatRule. +func (fpnr FirewallPolicyNatRule) AsFirewallPolicyFilterRule() (*FirewallPolicyFilterRule, bool) { + return nil, false +} + +// AsFirewallPolicyRule is the BasicFirewallPolicyRule implementation for FirewallPolicyNatRule. +func (fpnr FirewallPolicyNatRule) AsFirewallPolicyRule() (*FirewallPolicyRule, bool) { + return nil, false +} + +// AsBasicFirewallPolicyRule is the BasicFirewallPolicyRule implementation for FirewallPolicyNatRule. +func (fpnr FirewallPolicyNatRule) AsBasicFirewallPolicyRule() (BasicFirewallPolicyRule, bool) { + return &fpnr, true +} + +// UnmarshalJSON is the custom unmarshaler for FirewallPolicyNatRule struct. +func (fpnr *FirewallPolicyNatRule) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "action": + if v != nil { + var action FirewallPolicyNatRuleAction + err = json.Unmarshal(*v, &action) + if err != nil { + return err + } + fpnr.Action = &action + } + case "translatedAddress": + if v != nil { + var translatedAddress string + err = json.Unmarshal(*v, &translatedAddress) + if err != nil { + return err + } + fpnr.TranslatedAddress = &translatedAddress + } + case "translatedPort": + if v != nil { + var translatedPort string + err = json.Unmarshal(*v, &translatedPort) + if err != nil { + return err + } + fpnr.TranslatedPort = &translatedPort + } + case "ruleCondition": + if v != nil { + ruleCondition, err := unmarshalBasicFirewallPolicyRuleCondition(*v) + if err != nil { + return err + } + fpnr.RuleCondition = ruleCondition + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + fpnr.Name = &name + } + case "priority": + if v != nil { + var priority int32 + err = json.Unmarshal(*v, &priority) + if err != nil { + return err + } + fpnr.Priority = &priority + } + case "ruleType": + if v != nil { + var ruleType RuleType + err = json.Unmarshal(*v, &ruleType) + if err != nil { + return err + } + fpnr.RuleType = ruleType + } + } + } + + return nil +} + +// FirewallPolicyNatRuleAction properties of the FirewallPolicyNatRuleAction. +type FirewallPolicyNatRuleAction struct { + // Type - The type of action. Possible values include: 'DNAT', 'SNAT' + Type FirewallPolicyNatRuleActionType `json:"type,omitempty"` +} + +// FirewallPolicyPropertiesFormat firewall Policy definition. +type FirewallPolicyPropertiesFormat struct { + // RuleGroups - READ-ONLY; List of references to FirewallPolicyRuleGroups. + RuleGroups *[]SubResource `json:"ruleGroups,omitempty"` + // ProvisioningState - The provisioning state of the firewall policy resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + // BasePolicy - The parent firewall policy from which rules are inherited. + BasePolicy *SubResource `json:"basePolicy,omitempty"` + // Firewalls - READ-ONLY; List of references to Azure Firewalls that this Firewall Policy is associated with. + Firewalls *[]SubResource `json:"firewalls,omitempty"` + // ChildPolicies - READ-ONLY; List of references to Child Firewall Policies. + ChildPolicies *[]SubResource `json:"childPolicies,omitempty"` + // ThreatIntelMode - The operation mode for Threat Intelligence. Possible values include: 'AzureFirewallThreatIntelModeAlert', 'AzureFirewallThreatIntelModeDeny', 'AzureFirewallThreatIntelModeOff' + ThreatIntelMode AzureFirewallThreatIntelMode `json:"threatIntelMode,omitempty"` +} + +// BasicFirewallPolicyRule properties of the rule. +type BasicFirewallPolicyRule interface { + AsFirewallPolicyNatRule() (*FirewallPolicyNatRule, bool) + AsFirewallPolicyFilterRule() (*FirewallPolicyFilterRule, bool) + AsFirewallPolicyRule() (*FirewallPolicyRule, bool) +} + +// FirewallPolicyRule properties of the rule. +type FirewallPolicyRule struct { + // Name - The name of the rule. + Name *string `json:"name,omitempty"` + // Priority - Priority of the Firewall Policy Rule resource. + Priority *int32 `json:"priority,omitempty"` + // RuleType - Possible values include: 'RuleTypeFirewallPolicyRule', 'RuleTypeFirewallPolicyNatRule', 'RuleTypeFirewallPolicyFilterRule' + RuleType RuleType `json:"ruleType,omitempty"` +} + +func unmarshalBasicFirewallPolicyRule(body []byte) (BasicFirewallPolicyRule, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["ruleType"] { + case string(RuleTypeFirewallPolicyNatRule): + var fpnr FirewallPolicyNatRule + err := json.Unmarshal(body, &fpnr) + return fpnr, err + case string(RuleTypeFirewallPolicyFilterRule): + var fpfr FirewallPolicyFilterRule + err := json.Unmarshal(body, &fpfr) + return fpfr, err + default: + var fpr FirewallPolicyRule + err := json.Unmarshal(body, &fpr) + return fpr, err + } +} +func unmarshalBasicFirewallPolicyRuleArray(body []byte) ([]BasicFirewallPolicyRule, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + fprArray := make([]BasicFirewallPolicyRule, len(rawMessages)) + + for index, rawMessage := range rawMessages { + fpr, err := unmarshalBasicFirewallPolicyRule(*rawMessage) + if err != nil { + return nil, err + } + fprArray[index] = fpr + } + return fprArray, nil +} + +// MarshalJSON is the custom marshaler for FirewallPolicyRule. +func (fpr FirewallPolicyRule) MarshalJSON() ([]byte, error) { + fpr.RuleType = RuleTypeFirewallPolicyRule + objectMap := make(map[string]interface{}) + if fpr.Name != nil { + objectMap["name"] = fpr.Name + } + if fpr.Priority != nil { + objectMap["priority"] = fpr.Priority + } + if fpr.RuleType != "" { + objectMap["ruleType"] = fpr.RuleType + } + return json.Marshal(objectMap) +} + +// AsFirewallPolicyNatRule is the BasicFirewallPolicyRule implementation for FirewallPolicyRule. +func (fpr FirewallPolicyRule) AsFirewallPolicyNatRule() (*FirewallPolicyNatRule, bool) { + return nil, false +} + +// AsFirewallPolicyFilterRule is the BasicFirewallPolicyRule implementation for FirewallPolicyRule. +func (fpr FirewallPolicyRule) AsFirewallPolicyFilterRule() (*FirewallPolicyFilterRule, bool) { + return nil, false +} + +// AsFirewallPolicyRule is the BasicFirewallPolicyRule implementation for FirewallPolicyRule. +func (fpr FirewallPolicyRule) AsFirewallPolicyRule() (*FirewallPolicyRule, bool) { + return &fpr, true +} + +// AsBasicFirewallPolicyRule is the BasicFirewallPolicyRule implementation for FirewallPolicyRule. +func (fpr FirewallPolicyRule) AsBasicFirewallPolicyRule() (BasicFirewallPolicyRule, bool) { + return &fpr, true +} + +// BasicFirewallPolicyRuleCondition properties of a rule. +type BasicFirewallPolicyRuleCondition interface { + AsApplicationRuleCondition() (*ApplicationRuleCondition, bool) + AsRuleCondition() (*RuleCondition, bool) + AsFirewallPolicyRuleCondition() (*FirewallPolicyRuleCondition, bool) +} + +// FirewallPolicyRuleCondition properties of a rule. +type FirewallPolicyRuleCondition struct { + // Name - Name of the rule condition. + Name *string `json:"name,omitempty"` + // Description - Description of the rule condition. + Description *string `json:"description,omitempty"` + // RuleConditionType - Possible values include: 'RuleConditionTypeFirewallPolicyRuleCondition', 'RuleConditionTypeApplicationRuleCondition', 'RuleConditionTypeNetworkRuleCondition' + RuleConditionType RuleConditionType `json:"ruleConditionType,omitempty"` +} + +func unmarshalBasicFirewallPolicyRuleCondition(body []byte) (BasicFirewallPolicyRuleCondition, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["ruleConditionType"] { + case string(RuleConditionTypeApplicationRuleCondition): + var arc ApplicationRuleCondition + err := json.Unmarshal(body, &arc) + return arc, err + case string(RuleConditionTypeNetworkRuleCondition): + var rc RuleCondition + err := json.Unmarshal(body, &rc) + return rc, err + default: + var fprc FirewallPolicyRuleCondition + err := json.Unmarshal(body, &fprc) + return fprc, err + } +} +func unmarshalBasicFirewallPolicyRuleConditionArray(body []byte) ([]BasicFirewallPolicyRuleCondition, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + fprcArray := make([]BasicFirewallPolicyRuleCondition, len(rawMessages)) + + for index, rawMessage := range rawMessages { + fprc, err := unmarshalBasicFirewallPolicyRuleCondition(*rawMessage) + if err != nil { + return nil, err + } + fprcArray[index] = fprc + } + return fprcArray, nil +} + +// MarshalJSON is the custom marshaler for FirewallPolicyRuleCondition. +func (fprc FirewallPolicyRuleCondition) MarshalJSON() ([]byte, error) { + fprc.RuleConditionType = RuleConditionTypeFirewallPolicyRuleCondition + objectMap := make(map[string]interface{}) + if fprc.Name != nil { + objectMap["name"] = fprc.Name + } + if fprc.Description != nil { + objectMap["description"] = fprc.Description + } + if fprc.RuleConditionType != "" { + objectMap["ruleConditionType"] = fprc.RuleConditionType + } + return json.Marshal(objectMap) +} + +// AsApplicationRuleCondition is the BasicFirewallPolicyRuleCondition implementation for FirewallPolicyRuleCondition. +func (fprc FirewallPolicyRuleCondition) AsApplicationRuleCondition() (*ApplicationRuleCondition, bool) { + return nil, false +} + +// AsRuleCondition is the BasicFirewallPolicyRuleCondition implementation for FirewallPolicyRuleCondition. +func (fprc FirewallPolicyRuleCondition) AsRuleCondition() (*RuleCondition, bool) { + return nil, false +} + +// AsFirewallPolicyRuleCondition is the BasicFirewallPolicyRuleCondition implementation for FirewallPolicyRuleCondition. +func (fprc FirewallPolicyRuleCondition) AsFirewallPolicyRuleCondition() (*FirewallPolicyRuleCondition, bool) { + return &fprc, true +} + +// AsBasicFirewallPolicyRuleCondition is the BasicFirewallPolicyRuleCondition implementation for FirewallPolicyRuleCondition. +func (fprc FirewallPolicyRuleCondition) AsBasicFirewallPolicyRuleCondition() (BasicFirewallPolicyRuleCondition, bool) { + return &fprc, true +} + +// FirewallPolicyRuleConditionApplicationProtocol properties of the application rule protocol. +type FirewallPolicyRuleConditionApplicationProtocol struct { + // ProtocolType - Protocol type. Possible values include: 'FirewallPolicyRuleConditionApplicationProtocolTypeHTTP', 'FirewallPolicyRuleConditionApplicationProtocolTypeHTTPS' + ProtocolType FirewallPolicyRuleConditionApplicationProtocolType `json:"protocolType,omitempty"` + // Port - Port number for the protocol, cannot be greater than 64000. + Port *int32 `json:"port,omitempty"` +} + +// FirewallPolicyRuleGroup rule Group resource. +type FirewallPolicyRuleGroup struct { + autorest.Response `json:"-"` + // FirewallPolicyRuleGroupProperties - The properties of the firewall policy rule group. + *FirewallPolicyRuleGroupProperties `json:"properties,omitempty"` + // Name - The name of the resource that is unique within a resource group. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + // Etag - READ-ONLY; A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // Type - READ-ONLY; Rule Group type. + Type *string `json:"type,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for FirewallPolicyRuleGroup. +func (fprg FirewallPolicyRuleGroup) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if fprg.FirewallPolicyRuleGroupProperties != nil { + objectMap["properties"] = fprg.FirewallPolicyRuleGroupProperties + } + if fprg.Name != nil { + objectMap["name"] = fprg.Name + } + if fprg.ID != nil { + objectMap["id"] = fprg.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for FirewallPolicyRuleGroup struct. +func (fprg *FirewallPolicyRuleGroup) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var firewallPolicyRuleGroupProperties FirewallPolicyRuleGroupProperties + err = json.Unmarshal(*v, &firewallPolicyRuleGroupProperties) + if err != nil { + return err + } + fprg.FirewallPolicyRuleGroupProperties = &firewallPolicyRuleGroupProperties + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + fprg.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + fprg.Etag = &etag + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + fprg.Type = &typeVar + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + fprg.ID = &ID + } + } + } + + return nil +} + +// FirewallPolicyRuleGroupListResult response for ListFirewallPolicyRuleGroups API service call. +type FirewallPolicyRuleGroupListResult struct { + autorest.Response `json:"-"` + // Value - List of FirewallPolicyRuleGroups in a FirewallPolicy. + Value *[]FirewallPolicyRuleGroup `json:"value,omitempty"` + // NextLink - URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// FirewallPolicyRuleGroupListResultIterator provides access to a complete listing of +// FirewallPolicyRuleGroup values. +type FirewallPolicyRuleGroupListResultIterator struct { + i int + page FirewallPolicyRuleGroupListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *FirewallPolicyRuleGroupListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/FirewallPolicyRuleGroupListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *FirewallPolicyRuleGroupListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter FirewallPolicyRuleGroupListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter FirewallPolicyRuleGroupListResultIterator) Response() FirewallPolicyRuleGroupListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter FirewallPolicyRuleGroupListResultIterator) Value() FirewallPolicyRuleGroup { + if !iter.page.NotDone() { + return FirewallPolicyRuleGroup{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the FirewallPolicyRuleGroupListResultIterator type. +func NewFirewallPolicyRuleGroupListResultIterator(page FirewallPolicyRuleGroupListResultPage) FirewallPolicyRuleGroupListResultIterator { + return FirewallPolicyRuleGroupListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (fprglr FirewallPolicyRuleGroupListResult) IsEmpty() bool { + return fprglr.Value == nil || len(*fprglr.Value) == 0 +} + +// firewallPolicyRuleGroupListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (fprglr FirewallPolicyRuleGroupListResult) firewallPolicyRuleGroupListResultPreparer(ctx context.Context) (*http.Request, error) { + if fprglr.NextLink == nil || len(to.String(fprglr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(fprglr.NextLink))) +} + +// FirewallPolicyRuleGroupListResultPage contains a page of FirewallPolicyRuleGroup values. +type FirewallPolicyRuleGroupListResultPage struct { + fn func(context.Context, FirewallPolicyRuleGroupListResult) (FirewallPolicyRuleGroupListResult, error) + fprglr FirewallPolicyRuleGroupListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *FirewallPolicyRuleGroupListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/FirewallPolicyRuleGroupListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.fprglr) + if err != nil { + return err + } + page.fprglr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *FirewallPolicyRuleGroupListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page FirewallPolicyRuleGroupListResultPage) NotDone() bool { + return !page.fprglr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page FirewallPolicyRuleGroupListResultPage) Response() FirewallPolicyRuleGroupListResult { + return page.fprglr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page FirewallPolicyRuleGroupListResultPage) Values() []FirewallPolicyRuleGroup { + if page.fprglr.IsEmpty() { + return nil + } + return *page.fprglr.Value +} + +// Creates a new instance of the FirewallPolicyRuleGroupListResultPage type. +func NewFirewallPolicyRuleGroupListResultPage(getNextPage func(context.Context, FirewallPolicyRuleGroupListResult) (FirewallPolicyRuleGroupListResult, error)) FirewallPolicyRuleGroupListResultPage { + return FirewallPolicyRuleGroupListResultPage{fn: getNextPage} +} + +// FirewallPolicyRuleGroupProperties properties of the rule group. +type FirewallPolicyRuleGroupProperties struct { + // Priority - Priority of the Firewall Policy Rule Group resource. + Priority *int32 `json:"priority,omitempty"` + // Rules - Group of Firewall Policy rules. + Rules *[]BasicFirewallPolicyRule `json:"rules,omitempty"` + // ProvisioningState - The provisioning state of the firewall policy rule group resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for FirewallPolicyRuleGroupProperties struct. +func (fprgp *FirewallPolicyRuleGroupProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "priority": + if v != nil { + var priority int32 + err = json.Unmarshal(*v, &priority) + if err != nil { + return err + } + fprgp.Priority = &priority + } + case "rules": + if v != nil { + rules, err := unmarshalBasicFirewallPolicyRuleArray(*v) + if err != nil { + return err + } + fprgp.Rules = &rules + } + case "provisioningState": + if v != nil { + var provisioningState ProvisioningState + err = json.Unmarshal(*v, &provisioningState) + if err != nil { + return err + } + fprgp.ProvisioningState = provisioningState + } + } + } + + return nil +} + +// FirewallPolicyRuleGroupsCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of +// a long-running operation. +type FirewallPolicyRuleGroupsCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *FirewallPolicyRuleGroupsCreateOrUpdateFuture) Result(client FirewallPolicyRuleGroupsClient) (fprg FirewallPolicyRuleGroup, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.FirewallPolicyRuleGroupsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.FirewallPolicyRuleGroupsCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if fprg.Response.Response, err = future.GetResult(sender); err == nil && fprg.Response.Response.StatusCode != http.StatusNoContent { + fprg, err = client.CreateOrUpdateResponder(fprg.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.FirewallPolicyRuleGroupsCreateOrUpdateFuture", "Result", fprg.Response.Response, "Failure responding to request") + } + } + return +} + +// FirewallPolicyRuleGroupsDeleteFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type FirewallPolicyRuleGroupsDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *FirewallPolicyRuleGroupsDeleteFuture) Result(client FirewallPolicyRuleGroupsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.FirewallPolicyRuleGroupsDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.FirewallPolicyRuleGroupsDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// FlowLogFormatParameters parameters that define the flow log format. +type FlowLogFormatParameters struct { + // Type - The file type of flow log. Possible values include: 'JSON' + Type FlowLogFormatType `json:"type,omitempty"` + // Version - The version (revision) of the flow log. + Version *int32 `json:"version,omitempty"` +} + +// FlowLogInformation information on the configuration of flow log and traffic analytics (optional) . +type FlowLogInformation struct { + autorest.Response `json:"-"` + // TargetResourceID - The ID of the resource to configure for flow log and traffic analytics (optional) . + TargetResourceID *string `json:"targetResourceId,omitempty"` + // FlowLogProperties - Properties of the flow log. + *FlowLogProperties `json:"properties,omitempty"` + // FlowAnalyticsConfiguration - Parameters that define the configuration of traffic analytics. + FlowAnalyticsConfiguration *TrafficAnalyticsProperties `json:"flowAnalyticsConfiguration,omitempty"` +} + +// MarshalJSON is the custom marshaler for FlowLogInformation. +func (fli FlowLogInformation) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if fli.TargetResourceID != nil { + objectMap["targetResourceId"] = fli.TargetResourceID + } + if fli.FlowLogProperties != nil { + objectMap["properties"] = fli.FlowLogProperties + } + if fli.FlowAnalyticsConfiguration != nil { + objectMap["flowAnalyticsConfiguration"] = fli.FlowAnalyticsConfiguration + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for FlowLogInformation struct. +func (fli *FlowLogInformation) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "targetResourceId": + if v != nil { + var targetResourceID string + err = json.Unmarshal(*v, &targetResourceID) + if err != nil { + return err + } + fli.TargetResourceID = &targetResourceID + } + case "properties": + if v != nil { + var flowLogProperties FlowLogProperties + err = json.Unmarshal(*v, &flowLogProperties) + if err != nil { + return err + } + fli.FlowLogProperties = &flowLogProperties + } + case "flowAnalyticsConfiguration": + if v != nil { + var flowAnalyticsConfiguration TrafficAnalyticsProperties + err = json.Unmarshal(*v, &flowAnalyticsConfiguration) + if err != nil { + return err + } + fli.FlowAnalyticsConfiguration = &flowAnalyticsConfiguration + } + } + } + + return nil +} + +// FlowLogProperties parameters that define the configuration of flow log. +type FlowLogProperties struct { + // StorageID - ID of the storage account which is used to store the flow log. + StorageID *string `json:"storageId,omitempty"` + // Enabled - Flag to enable/disable flow logging. + Enabled *bool `json:"enabled,omitempty"` + // RetentionPolicy - Parameters that define the retention policy for flow log. + RetentionPolicy *RetentionPolicyParameters `json:"retentionPolicy,omitempty"` + // Format - Parameters that define the flow log format. + Format *FlowLogFormatParameters `json:"format,omitempty"` +} + +// FlowLogStatusParameters parameters that define a resource to query flow log and traffic analytics +// (optional) status. +type FlowLogStatusParameters struct { + // TargetResourceID - The target resource where getting the flow log and traffic analytics (optional) status. + TargetResourceID *string `json:"targetResourceId,omitempty"` +} + +// FrontendIPConfiguration frontend IP address of the load balancer. +type FrontendIPConfiguration struct { + autorest.Response `json:"-"` + // FrontendIPConfigurationPropertiesFormat - Properties of the load balancer probe. + *FrontendIPConfigurationPropertiesFormat `json:"properties,omitempty"` + // Name - The name of the resource that is unique within the set of frontend IP configurations used by the load balancer. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // Type - READ-ONLY; Type of the resource. + Type *string `json:"type,omitempty"` + // Zones - A list of availability zones denoting the IP allocated for the resource needs to come from. + Zones *[]string `json:"zones,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for FrontendIPConfiguration. +func (fic FrontendIPConfiguration) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if fic.FrontendIPConfigurationPropertiesFormat != nil { + objectMap["properties"] = fic.FrontendIPConfigurationPropertiesFormat + } + if fic.Name != nil { + objectMap["name"] = fic.Name + } + if fic.Etag != nil { + objectMap["etag"] = fic.Etag + } + if fic.Zones != nil { + objectMap["zones"] = fic.Zones + } + if fic.ID != nil { + objectMap["id"] = fic.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for FrontendIPConfiguration struct. +func (fic *FrontendIPConfiguration) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var frontendIPConfigurationPropertiesFormat FrontendIPConfigurationPropertiesFormat + err = json.Unmarshal(*v, &frontendIPConfigurationPropertiesFormat) + if err != nil { + return err + } + fic.FrontendIPConfigurationPropertiesFormat = &frontendIPConfigurationPropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + fic.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + fic.Etag = &etag + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + fic.Type = &typeVar + } + case "zones": + if v != nil { + var zones []string + err = json.Unmarshal(*v, &zones) + if err != nil { + return err + } + fic.Zones = &zones + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + fic.ID = &ID + } + } + } + + return nil +} + +// FrontendIPConfigurationPropertiesFormat properties of Frontend IP Configuration of the load balancer. +type FrontendIPConfigurationPropertiesFormat struct { + // InboundNatRules - READ-ONLY; An array of references to inbound rules that use this frontend IP. + InboundNatRules *[]SubResource `json:"inboundNatRules,omitempty"` + // InboundNatPools - READ-ONLY; An array of references to inbound pools that use this frontend IP. + InboundNatPools *[]SubResource `json:"inboundNatPools,omitempty"` + // OutboundRules - READ-ONLY; An array of references to outbound rules that use this frontend IP. + OutboundRules *[]SubResource `json:"outboundRules,omitempty"` + // LoadBalancingRules - READ-ONLY; An array of references to load balancing rules that use this frontend IP. + LoadBalancingRules *[]SubResource `json:"loadBalancingRules,omitempty"` + // PrivateIPAddress - The private IP address of the IP configuration. + PrivateIPAddress *string `json:"privateIPAddress,omitempty"` + // PrivateIPAllocationMethod - The Private IP allocation method. Possible values include: 'Static', 'Dynamic' + PrivateIPAllocationMethod IPAllocationMethod `json:"privateIPAllocationMethod,omitempty"` + // PrivateIPAddressVersion - Whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values include: 'IPv4', 'IPv6' + PrivateIPAddressVersion IPVersion `json:"privateIPAddressVersion,omitempty"` + // Subnet - The reference of the subnet resource. + Subnet *Subnet `json:"subnet,omitempty"` + // PublicIPAddress - The reference of the Public IP resource. + PublicIPAddress *PublicIPAddress `json:"publicIPAddress,omitempty"` + // PublicIPPrefix - The reference of the Public IP Prefix resource. + PublicIPPrefix *SubResource `json:"publicIPPrefix,omitempty"` + // ProvisioningState - The provisioning state of the frontend IP configuration resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// GatewayRoute gateway routing details. +type GatewayRoute struct { + // LocalAddress - READ-ONLY; The gateway's local address. + LocalAddress *string `json:"localAddress,omitempty"` + // NetworkProperty - READ-ONLY; The route's network prefix. + NetworkProperty *string `json:"network,omitempty"` + // NextHop - READ-ONLY; The route's next hop. + NextHop *string `json:"nextHop,omitempty"` + // SourcePeer - READ-ONLY; The peer this route was learned from. + SourcePeer *string `json:"sourcePeer,omitempty"` + // Origin - READ-ONLY; The source this route was learned from. + Origin *string `json:"origin,omitempty"` + // AsPath - READ-ONLY; The route's AS path sequence. + AsPath *string `json:"asPath,omitempty"` + // Weight - READ-ONLY; The route's weight. + Weight *int32 `json:"weight,omitempty"` +} + +// GatewayRouteListResult list of virtual network gateway routes. +type GatewayRouteListResult struct { + autorest.Response `json:"-"` + // Value - List of gateway routes. + Value *[]GatewayRoute `json:"value,omitempty"` +} + +// GetVpnSitesConfigurationRequest list of Vpn-Sites. +type GetVpnSitesConfigurationRequest struct { + // VpnSites - List of resource-ids of the vpn-sites for which config is to be downloaded. + VpnSites *[]string `json:"vpnSites,omitempty"` + // OutputBlobSasURL - The sas-url to download the configurations for vpn-sites. + OutputBlobSasURL *string `json:"outputBlobSasUrl,omitempty"` +} + +// HTTPConfiguration HTTP configuration of the connectivity check. +type HTTPConfiguration struct { + // Method - HTTP method. Possible values include: 'Get' + Method HTTPMethod `json:"method,omitempty"` + // Headers - List of HTTP headers. + Headers *[]HTTPHeader `json:"headers,omitempty"` + // ValidStatusCodes - Valid status codes. + ValidStatusCodes *[]int32 `json:"validStatusCodes,omitempty"` +} + +// HTTPHeader describes the HTTP header. +type HTTPHeader struct { + // Name - The name in HTTP header. + Name *string `json:"name,omitempty"` + // Value - The value in HTTP header. + Value *string `json:"value,omitempty"` +} + +// HubIPAddresses IP addresses associated with azure firewall. +type HubIPAddresses struct { + // PublicIPAddresses - List of Public IP addresses associated with azure firewall. + PublicIPAddresses *[]AzureFirewallPublicIPAddress `json:"publicIPAddresses,omitempty"` + // PrivateIPAddress - Private IP Address associated with azure firewall. + PrivateIPAddress *string `json:"privateIPAddress,omitempty"` +} + +// HubVirtualNetworkConnection hubVirtualNetworkConnection Resource. +type HubVirtualNetworkConnection struct { + autorest.Response `json:"-"` + // HubVirtualNetworkConnectionProperties - Properties of the hub virtual network connection. + *HubVirtualNetworkConnectionProperties `json:"properties,omitempty"` + // Name - The name of the resource that is unique within a resource group. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + // Etag - READ-ONLY; A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for HubVirtualNetworkConnection. +func (hvnc HubVirtualNetworkConnection) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if hvnc.HubVirtualNetworkConnectionProperties != nil { + objectMap["properties"] = hvnc.HubVirtualNetworkConnectionProperties + } + if hvnc.Name != nil { + objectMap["name"] = hvnc.Name + } + if hvnc.ID != nil { + objectMap["id"] = hvnc.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for HubVirtualNetworkConnection struct. +func (hvnc *HubVirtualNetworkConnection) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var hubVirtualNetworkConnectionProperties HubVirtualNetworkConnectionProperties + err = json.Unmarshal(*v, &hubVirtualNetworkConnectionProperties) + if err != nil { + return err + } + hvnc.HubVirtualNetworkConnectionProperties = &hubVirtualNetworkConnectionProperties + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + hvnc.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + hvnc.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + hvnc.ID = &ID + } + } + } + + return nil +} + +// HubVirtualNetworkConnectionProperties parameters for HubVirtualNetworkConnection. +type HubVirtualNetworkConnectionProperties struct { + // RemoteVirtualNetwork - Reference to the remote virtual network. + RemoteVirtualNetwork *SubResource `json:"remoteVirtualNetwork,omitempty"` + // AllowHubToRemoteVnetTransit - VirtualHub to RemoteVnet transit to enabled or not. + AllowHubToRemoteVnetTransit *bool `json:"allowHubToRemoteVnetTransit,omitempty"` + // AllowRemoteVnetToUseHubVnetGateways - Allow RemoteVnet to use Virtual Hub's gateways. + AllowRemoteVnetToUseHubVnetGateways *bool `json:"allowRemoteVnetToUseHubVnetGateways,omitempty"` + // EnableInternetSecurity - Enable internet security. + EnableInternetSecurity *bool `json:"enableInternetSecurity,omitempty"` + // ProvisioningState - The provisioning state of the hub virtual network connection resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// InboundNatPool inbound NAT pool of the load balancer. +type InboundNatPool struct { + // InboundNatPoolPropertiesFormat - Properties of load balancer inbound nat pool. + *InboundNatPoolPropertiesFormat `json:"properties,omitempty"` + // Name - The name of the resource that is unique within the set of inbound NAT pools used by the load balancer. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // Type - READ-ONLY; Type of the resource. + Type *string `json:"type,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for InboundNatPool. +func (inp InboundNatPool) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if inp.InboundNatPoolPropertiesFormat != nil { + objectMap["properties"] = inp.InboundNatPoolPropertiesFormat + } + if inp.Name != nil { + objectMap["name"] = inp.Name + } + if inp.Etag != nil { + objectMap["etag"] = inp.Etag + } + if inp.ID != nil { + objectMap["id"] = inp.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for InboundNatPool struct. +func (inp *InboundNatPool) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var inboundNatPoolPropertiesFormat InboundNatPoolPropertiesFormat + err = json.Unmarshal(*v, &inboundNatPoolPropertiesFormat) + if err != nil { + return err + } + inp.InboundNatPoolPropertiesFormat = &inboundNatPoolPropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + inp.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + inp.Etag = &etag + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + inp.Type = &typeVar + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + inp.ID = &ID + } + } + } + + return nil +} + +// InboundNatPoolPropertiesFormat properties of Inbound NAT pool. +type InboundNatPoolPropertiesFormat struct { + // FrontendIPConfiguration - A reference to frontend IP addresses. + FrontendIPConfiguration *SubResource `json:"frontendIPConfiguration,omitempty"` + // Protocol - The reference to the transport protocol used by the inbound NAT pool. Possible values include: 'TransportProtocolUDP', 'TransportProtocolTCP', 'TransportProtocolAll' + Protocol TransportProtocol `json:"protocol,omitempty"` + // FrontendPortRangeStart - The first port number in the range of external ports that will be used to provide Inbound Nat to NICs associated with a load balancer. Acceptable values range between 1 and 65534. + FrontendPortRangeStart *int32 `json:"frontendPortRangeStart,omitempty"` + // FrontendPortRangeEnd - The last port number in the range of external ports that will be used to provide Inbound Nat to NICs associated with a load balancer. Acceptable values range between 1 and 65535. + FrontendPortRangeEnd *int32 `json:"frontendPortRangeEnd,omitempty"` + // BackendPort - The port used for internal connections on the endpoint. Acceptable values are between 1 and 65535. + BackendPort *int32 `json:"backendPort,omitempty"` + // IdleTimeoutInMinutes - The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The default value is 4 minutes. This element is only used when the protocol is set to TCP. + IdleTimeoutInMinutes *int32 `json:"idleTimeoutInMinutes,omitempty"` + // EnableFloatingIP - Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL AlwaysOn Availability Group. This setting is required when using the SQL AlwaysOn Availability Groups in SQL server. This setting can't be changed after you create the endpoint. + EnableFloatingIP *bool `json:"enableFloatingIP,omitempty"` + // EnableTCPReset - Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This element is only used when the protocol is set to TCP. + EnableTCPReset *bool `json:"enableTcpReset,omitempty"` + // ProvisioningState - The provisioning state of the inbound NAT pool resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// InboundNatRule inbound NAT rule of the load balancer. +type InboundNatRule struct { + autorest.Response `json:"-"` + // InboundNatRulePropertiesFormat - Properties of load balancer inbound nat rule. + *InboundNatRulePropertiesFormat `json:"properties,omitempty"` + // Name - The name of the resource that is unique within the set of inbound NAT rules used by the load balancer. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // Type - READ-ONLY; Type of the resource. + Type *string `json:"type,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for InboundNatRule. +func (inr InboundNatRule) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if inr.InboundNatRulePropertiesFormat != nil { + objectMap["properties"] = inr.InboundNatRulePropertiesFormat + } + if inr.Name != nil { + objectMap["name"] = inr.Name + } + if inr.Etag != nil { + objectMap["etag"] = inr.Etag + } + if inr.ID != nil { + objectMap["id"] = inr.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for InboundNatRule struct. +func (inr *InboundNatRule) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var inboundNatRulePropertiesFormat InboundNatRulePropertiesFormat + err = json.Unmarshal(*v, &inboundNatRulePropertiesFormat) + if err != nil { + return err + } + inr.InboundNatRulePropertiesFormat = &inboundNatRulePropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + inr.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + inr.Etag = &etag + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + inr.Type = &typeVar + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + inr.ID = &ID + } + } + } + + return nil +} + +// InboundNatRuleListResult response for ListInboundNatRule API service call. +type InboundNatRuleListResult struct { + autorest.Response `json:"-"` + // Value - A list of inbound nat rules in a load balancer. + Value *[]InboundNatRule `json:"value,omitempty"` + // NextLink - READ-ONLY; The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// InboundNatRuleListResultIterator provides access to a complete listing of InboundNatRule values. +type InboundNatRuleListResultIterator struct { + i int + page InboundNatRuleListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *InboundNatRuleListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/InboundNatRuleListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *InboundNatRuleListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter InboundNatRuleListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter InboundNatRuleListResultIterator) Response() InboundNatRuleListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter InboundNatRuleListResultIterator) Value() InboundNatRule { + if !iter.page.NotDone() { + return InboundNatRule{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the InboundNatRuleListResultIterator type. +func NewInboundNatRuleListResultIterator(page InboundNatRuleListResultPage) InboundNatRuleListResultIterator { + return InboundNatRuleListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (inrlr InboundNatRuleListResult) IsEmpty() bool { + return inrlr.Value == nil || len(*inrlr.Value) == 0 +} + +// inboundNatRuleListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (inrlr InboundNatRuleListResult) inboundNatRuleListResultPreparer(ctx context.Context) (*http.Request, error) { + if inrlr.NextLink == nil || len(to.String(inrlr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(inrlr.NextLink))) +} + +// InboundNatRuleListResultPage contains a page of InboundNatRule values. +type InboundNatRuleListResultPage struct { + fn func(context.Context, InboundNatRuleListResult) (InboundNatRuleListResult, error) + inrlr InboundNatRuleListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *InboundNatRuleListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/InboundNatRuleListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.inrlr) + if err != nil { + return err + } + page.inrlr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *InboundNatRuleListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page InboundNatRuleListResultPage) NotDone() bool { + return !page.inrlr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page InboundNatRuleListResultPage) Response() InboundNatRuleListResult { + return page.inrlr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page InboundNatRuleListResultPage) Values() []InboundNatRule { + if page.inrlr.IsEmpty() { + return nil + } + return *page.inrlr.Value +} + +// Creates a new instance of the InboundNatRuleListResultPage type. +func NewInboundNatRuleListResultPage(getNextPage func(context.Context, InboundNatRuleListResult) (InboundNatRuleListResult, error)) InboundNatRuleListResultPage { + return InboundNatRuleListResultPage{fn: getNextPage} +} + +// InboundNatRulePropertiesFormat properties of the inbound NAT rule. +type InboundNatRulePropertiesFormat struct { + // FrontendIPConfiguration - A reference to frontend IP addresses. + FrontendIPConfiguration *SubResource `json:"frontendIPConfiguration,omitempty"` + // BackendIPConfiguration - READ-ONLY; A reference to a private IP address defined on a network interface of a VM. Traffic sent to the frontend port of each of the frontend IP configurations is forwarded to the backend IP. + BackendIPConfiguration *InterfaceIPConfiguration `json:"backendIPConfiguration,omitempty"` + // Protocol - The reference to the transport protocol used by the load balancing rule. Possible values include: 'TransportProtocolUDP', 'TransportProtocolTCP', 'TransportProtocolAll' + Protocol TransportProtocol `json:"protocol,omitempty"` + // FrontendPort - The port for the external endpoint. Port numbers for each rule must be unique within the Load Balancer. Acceptable values range from 1 to 65534. + FrontendPort *int32 `json:"frontendPort,omitempty"` + // BackendPort - The port used for the internal endpoint. Acceptable values range from 1 to 65535. + BackendPort *int32 `json:"backendPort,omitempty"` + // IdleTimeoutInMinutes - The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The default value is 4 minutes. This element is only used when the protocol is set to TCP. + IdleTimeoutInMinutes *int32 `json:"idleTimeoutInMinutes,omitempty"` + // EnableFloatingIP - Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL AlwaysOn Availability Group. This setting is required when using the SQL AlwaysOn Availability Groups in SQL server. This setting can't be changed after you create the endpoint. + EnableFloatingIP *bool `json:"enableFloatingIP,omitempty"` + // EnableTCPReset - Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This element is only used when the protocol is set to TCP. + EnableTCPReset *bool `json:"enableTcpReset,omitempty"` + // ProvisioningState - The provisioning state of the inbound NAT rule resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// InboundNatRulesCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type InboundNatRulesCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *InboundNatRulesCreateOrUpdateFuture) Result(client InboundNatRulesClient) (inr InboundNatRule, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InboundNatRulesCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.InboundNatRulesCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if inr.Response.Response, err = future.GetResult(sender); err == nil && inr.Response.Response.StatusCode != http.StatusNoContent { + inr, err = client.CreateOrUpdateResponder(inr.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InboundNatRulesCreateOrUpdateFuture", "Result", inr.Response.Response, "Failure responding to request") + } + } + return +} + +// InboundNatRulesDeleteFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type InboundNatRulesDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *InboundNatRulesDeleteFuture) Result(client InboundNatRulesClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InboundNatRulesDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.InboundNatRulesDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// IntentPolicy network Intent Policy resource. +type IntentPolicy struct { + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for IntentPolicy. +func (IP IntentPolicy) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if IP.Etag != nil { + objectMap["etag"] = IP.Etag + } + if IP.ID != nil { + objectMap["id"] = IP.ID + } + if IP.Location != nil { + objectMap["location"] = IP.Location + } + if IP.Tags != nil { + objectMap["tags"] = IP.Tags + } + return json.Marshal(objectMap) +} + +// IntentPolicyConfiguration details of NetworkIntentPolicyConfiguration for PrepareNetworkPoliciesRequest. +type IntentPolicyConfiguration struct { + // NetworkIntentPolicyName - The name of the Network Intent Policy for storing in target subscription. + NetworkIntentPolicyName *string `json:"networkIntentPolicyName,omitempty"` + // SourceNetworkIntentPolicy - Source network intent policy. + SourceNetworkIntentPolicy *IntentPolicy `json:"sourceNetworkIntentPolicy,omitempty"` +} + +// Interface a network interface in a resource group. +type Interface struct { + autorest.Response `json:"-"` + // InterfacePropertiesFormat - Properties of the network interface. + *InterfacePropertiesFormat `json:"properties,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for Interface. +func (i Interface) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if i.InterfacePropertiesFormat != nil { + objectMap["properties"] = i.InterfacePropertiesFormat + } + if i.Etag != nil { + objectMap["etag"] = i.Etag + } + if i.ID != nil { + objectMap["id"] = i.ID + } + if i.Location != nil { + objectMap["location"] = i.Location + } + if i.Tags != nil { + objectMap["tags"] = i.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for Interface struct. +func (i *Interface) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var interfacePropertiesFormat InterfacePropertiesFormat + err = json.Unmarshal(*v, &interfacePropertiesFormat) + if err != nil { + return err + } + i.InterfacePropertiesFormat = &interfacePropertiesFormat + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + i.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + i.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + i.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + i.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + i.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + i.Tags = tags + } + } + } + + return nil +} + +// InterfaceAssociation network interface and its custom security rules. +type InterfaceAssociation struct { + // ID - READ-ONLY; Network interface ID. + ID *string `json:"id,omitempty"` + // SecurityRules - Collection of custom security rules. + SecurityRules *[]SecurityRule `json:"securityRules,omitempty"` +} + +// InterfaceDNSSettings DNS settings of a network interface. +type InterfaceDNSSettings struct { + // DNSServers - List of DNS servers IP addresses. Use 'AzureProvidedDNS' to switch to azure provided DNS resolution. 'AzureProvidedDNS' value cannot be combined with other IPs, it must be the only value in dnsServers collection. + DNSServers *[]string `json:"dnsServers,omitempty"` + // AppliedDNSServers - If the VM that uses this NIC is part of an Availability Set, then this list will have the union of all DNS servers from all NICs that are part of the Availability Set. This property is what is configured on each of those VMs. + AppliedDNSServers *[]string `json:"appliedDnsServers,omitempty"` + // InternalDNSNameLabel - Relative DNS name for this NIC used for internal communications between VMs in the same virtual network. + InternalDNSNameLabel *string `json:"internalDnsNameLabel,omitempty"` + // InternalFqdn - Fully qualified DNS name supporting internal communications between VMs in the same virtual network. + InternalFqdn *string `json:"internalFqdn,omitempty"` + // InternalDomainNameSuffix - Even if internalDnsNameLabel is not specified, a DNS entry is created for the primary NIC of the VM. This DNS name can be constructed by concatenating the VM name with the value of internalDomainNameSuffix. + InternalDomainNameSuffix *string `json:"internalDomainNameSuffix,omitempty"` +} + +// InterfaceIPConfiguration iPConfiguration in a network interface. +type InterfaceIPConfiguration struct { + autorest.Response `json:"-"` + // InterfaceIPConfigurationPropertiesFormat - Network interface IP configuration properties. + *InterfaceIPConfigurationPropertiesFormat `json:"properties,omitempty"` + // Name - The name of the resource that is unique within a resource group. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for InterfaceIPConfiguration. +func (iic InterfaceIPConfiguration) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if iic.InterfaceIPConfigurationPropertiesFormat != nil { + objectMap["properties"] = iic.InterfaceIPConfigurationPropertiesFormat + } + if iic.Name != nil { + objectMap["name"] = iic.Name + } + if iic.Etag != nil { + objectMap["etag"] = iic.Etag + } + if iic.ID != nil { + objectMap["id"] = iic.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for InterfaceIPConfiguration struct. +func (iic *InterfaceIPConfiguration) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var interfaceIPConfigurationPropertiesFormat InterfaceIPConfigurationPropertiesFormat + err = json.Unmarshal(*v, &interfaceIPConfigurationPropertiesFormat) + if err != nil { + return err + } + iic.InterfaceIPConfigurationPropertiesFormat = &interfaceIPConfigurationPropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + iic.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + iic.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + iic.ID = &ID + } + } + } + + return nil +} + +// InterfaceIPConfigurationListResult response for list ip configurations API service call. +type InterfaceIPConfigurationListResult struct { + autorest.Response `json:"-"` + // Value - A list of ip configurations. + Value *[]InterfaceIPConfiguration `json:"value,omitempty"` + // NextLink - READ-ONLY; The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// InterfaceIPConfigurationListResultIterator provides access to a complete listing of +// InterfaceIPConfiguration values. +type InterfaceIPConfigurationListResultIterator struct { + i int + page InterfaceIPConfigurationListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *InterfaceIPConfigurationListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/InterfaceIPConfigurationListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *InterfaceIPConfigurationListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter InterfaceIPConfigurationListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter InterfaceIPConfigurationListResultIterator) Response() InterfaceIPConfigurationListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter InterfaceIPConfigurationListResultIterator) Value() InterfaceIPConfiguration { + if !iter.page.NotDone() { + return InterfaceIPConfiguration{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the InterfaceIPConfigurationListResultIterator type. +func NewInterfaceIPConfigurationListResultIterator(page InterfaceIPConfigurationListResultPage) InterfaceIPConfigurationListResultIterator { + return InterfaceIPConfigurationListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (iiclr InterfaceIPConfigurationListResult) IsEmpty() bool { + return iiclr.Value == nil || len(*iiclr.Value) == 0 +} + +// interfaceIPConfigurationListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (iiclr InterfaceIPConfigurationListResult) interfaceIPConfigurationListResultPreparer(ctx context.Context) (*http.Request, error) { + if iiclr.NextLink == nil || len(to.String(iiclr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(iiclr.NextLink))) +} + +// InterfaceIPConfigurationListResultPage contains a page of InterfaceIPConfiguration values. +type InterfaceIPConfigurationListResultPage struct { + fn func(context.Context, InterfaceIPConfigurationListResult) (InterfaceIPConfigurationListResult, error) + iiclr InterfaceIPConfigurationListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *InterfaceIPConfigurationListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/InterfaceIPConfigurationListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.iiclr) + if err != nil { + return err + } + page.iiclr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *InterfaceIPConfigurationListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page InterfaceIPConfigurationListResultPage) NotDone() bool { + return !page.iiclr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page InterfaceIPConfigurationListResultPage) Response() InterfaceIPConfigurationListResult { + return page.iiclr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page InterfaceIPConfigurationListResultPage) Values() []InterfaceIPConfiguration { + if page.iiclr.IsEmpty() { + return nil + } + return *page.iiclr.Value +} + +// Creates a new instance of the InterfaceIPConfigurationListResultPage type. +func NewInterfaceIPConfigurationListResultPage(getNextPage func(context.Context, InterfaceIPConfigurationListResult) (InterfaceIPConfigurationListResult, error)) InterfaceIPConfigurationListResultPage { + return InterfaceIPConfigurationListResultPage{fn: getNextPage} +} + +// InterfaceIPConfigurationPrivateLinkConnectionProperties privateLinkConnection properties for the network +// interface. +type InterfaceIPConfigurationPrivateLinkConnectionProperties struct { + // GroupID - READ-ONLY; The group ID for current private link connection. + GroupID *string `json:"groupId,omitempty"` + // RequiredMemberName - READ-ONLY; The required member name for current private link connection. + RequiredMemberName *string `json:"requiredMemberName,omitempty"` + // Fqdns - READ-ONLY; List of FQDNs for current private link connection. + Fqdns *[]string `json:"fqdns,omitempty"` +} + +// InterfaceIPConfigurationPropertiesFormat properties of IP configuration. +type InterfaceIPConfigurationPropertiesFormat struct { + // VirtualNetworkTaps - The reference to Virtual Network Taps. + VirtualNetworkTaps *[]VirtualNetworkTap `json:"virtualNetworkTaps,omitempty"` + // ApplicationGatewayBackendAddressPools - The reference of ApplicationGatewayBackendAddressPool resource. + ApplicationGatewayBackendAddressPools *[]ApplicationGatewayBackendAddressPool `json:"applicationGatewayBackendAddressPools,omitempty"` + // LoadBalancerBackendAddressPools - The reference of LoadBalancerBackendAddressPool resource. + LoadBalancerBackendAddressPools *[]BackendAddressPool `json:"loadBalancerBackendAddressPools,omitempty"` + // LoadBalancerInboundNatRules - A list of references of LoadBalancerInboundNatRules. + LoadBalancerInboundNatRules *[]InboundNatRule `json:"loadBalancerInboundNatRules,omitempty"` + // PrivateIPAddress - Private IP address of the IP configuration. + PrivateIPAddress *string `json:"privateIPAddress,omitempty"` + // PrivateIPAllocationMethod - The private IP address allocation method. Possible values include: 'Static', 'Dynamic' + PrivateIPAllocationMethod IPAllocationMethod `json:"privateIPAllocationMethod,omitempty"` + // PrivateIPAddressVersion - Whether the specific IP configuration is IPv4 or IPv6. Default is IPv4. Possible values include: 'IPv4', 'IPv6' + PrivateIPAddressVersion IPVersion `json:"privateIPAddressVersion,omitempty"` + // Subnet - Subnet bound to the IP configuration. + Subnet *Subnet `json:"subnet,omitempty"` + // Primary - Whether this is a primary customer address on the network interface. + Primary *bool `json:"primary,omitempty"` + // PublicIPAddress - Public IP address bound to the IP configuration. + PublicIPAddress *PublicIPAddress `json:"publicIPAddress,omitempty"` + // ApplicationSecurityGroups - Application security groups in which the IP configuration is included. + ApplicationSecurityGroups *[]ApplicationSecurityGroup `json:"applicationSecurityGroups,omitempty"` + // ProvisioningState - The provisioning state of the network interface IP configuration. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + // PrivateLinkConnectionProperties - READ-ONLY; PrivateLinkConnection properties for the network interface. + PrivateLinkConnectionProperties *InterfaceIPConfigurationPrivateLinkConnectionProperties `json:"privateLinkConnectionProperties,omitempty"` +} + +// InterfaceListResult response for the ListNetworkInterface API service call. +type InterfaceListResult struct { + autorest.Response `json:"-"` + // Value - A list of network interfaces in a resource group. + Value *[]Interface `json:"value,omitempty"` + // NextLink - READ-ONLY; The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// InterfaceListResultIterator provides access to a complete listing of Interface values. +type InterfaceListResultIterator struct { + i int + page InterfaceListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *InterfaceListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/InterfaceListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *InterfaceListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter InterfaceListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter InterfaceListResultIterator) Response() InterfaceListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter InterfaceListResultIterator) Value() Interface { + if !iter.page.NotDone() { + return Interface{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the InterfaceListResultIterator type. +func NewInterfaceListResultIterator(page InterfaceListResultPage) InterfaceListResultIterator { + return InterfaceListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (ilr InterfaceListResult) IsEmpty() bool { + return ilr.Value == nil || len(*ilr.Value) == 0 +} + +// interfaceListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (ilr InterfaceListResult) interfaceListResultPreparer(ctx context.Context) (*http.Request, error) { + if ilr.NextLink == nil || len(to.String(ilr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(ilr.NextLink))) +} + +// InterfaceListResultPage contains a page of Interface values. +type InterfaceListResultPage struct { + fn func(context.Context, InterfaceListResult) (InterfaceListResult, error) + ilr InterfaceListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *InterfaceListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/InterfaceListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.ilr) + if err != nil { + return err + } + page.ilr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *InterfaceListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page InterfaceListResultPage) NotDone() bool { + return !page.ilr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page InterfaceListResultPage) Response() InterfaceListResult { + return page.ilr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page InterfaceListResultPage) Values() []Interface { + if page.ilr.IsEmpty() { + return nil + } + return *page.ilr.Value +} + +// Creates a new instance of the InterfaceListResultPage type. +func NewInterfaceListResultPage(getNextPage func(context.Context, InterfaceListResult) (InterfaceListResult, error)) InterfaceListResultPage { + return InterfaceListResultPage{fn: getNextPage} +} + +// InterfaceLoadBalancerListResult response for list ip configurations API service call. +type InterfaceLoadBalancerListResult struct { + autorest.Response `json:"-"` + // Value - A list of load balancers. + Value *[]LoadBalancer `json:"value,omitempty"` + // NextLink - READ-ONLY; The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// InterfaceLoadBalancerListResultIterator provides access to a complete listing of LoadBalancer values. +type InterfaceLoadBalancerListResultIterator struct { + i int + page InterfaceLoadBalancerListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *InterfaceLoadBalancerListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/InterfaceLoadBalancerListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *InterfaceLoadBalancerListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter InterfaceLoadBalancerListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter InterfaceLoadBalancerListResultIterator) Response() InterfaceLoadBalancerListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter InterfaceLoadBalancerListResultIterator) Value() LoadBalancer { + if !iter.page.NotDone() { + return LoadBalancer{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the InterfaceLoadBalancerListResultIterator type. +func NewInterfaceLoadBalancerListResultIterator(page InterfaceLoadBalancerListResultPage) InterfaceLoadBalancerListResultIterator { + return InterfaceLoadBalancerListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (ilblr InterfaceLoadBalancerListResult) IsEmpty() bool { + return ilblr.Value == nil || len(*ilblr.Value) == 0 +} + +// interfaceLoadBalancerListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (ilblr InterfaceLoadBalancerListResult) interfaceLoadBalancerListResultPreparer(ctx context.Context) (*http.Request, error) { + if ilblr.NextLink == nil || len(to.String(ilblr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(ilblr.NextLink))) +} + +// InterfaceLoadBalancerListResultPage contains a page of LoadBalancer values. +type InterfaceLoadBalancerListResultPage struct { + fn func(context.Context, InterfaceLoadBalancerListResult) (InterfaceLoadBalancerListResult, error) + ilblr InterfaceLoadBalancerListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *InterfaceLoadBalancerListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/InterfaceLoadBalancerListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.ilblr) + if err != nil { + return err + } + page.ilblr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *InterfaceLoadBalancerListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page InterfaceLoadBalancerListResultPage) NotDone() bool { + return !page.ilblr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page InterfaceLoadBalancerListResultPage) Response() InterfaceLoadBalancerListResult { + return page.ilblr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page InterfaceLoadBalancerListResultPage) Values() []LoadBalancer { + if page.ilblr.IsEmpty() { + return nil + } + return *page.ilblr.Value +} + +// Creates a new instance of the InterfaceLoadBalancerListResultPage type. +func NewInterfaceLoadBalancerListResultPage(getNextPage func(context.Context, InterfaceLoadBalancerListResult) (InterfaceLoadBalancerListResult, error)) InterfaceLoadBalancerListResultPage { + return InterfaceLoadBalancerListResultPage{fn: getNextPage} +} + +// InterfacePropertiesFormat networkInterface properties. +type InterfacePropertiesFormat struct { + // VirtualMachine - READ-ONLY; The reference of a virtual machine. + VirtualMachine *SubResource `json:"virtualMachine,omitempty"` + // NetworkSecurityGroup - The reference of the NetworkSecurityGroup resource. + NetworkSecurityGroup *SecurityGroup `json:"networkSecurityGroup,omitempty"` + // PrivateEndpoint - READ-ONLY; A reference to the private endpoint to which the network interface is linked. + PrivateEndpoint *PrivateEndpoint `json:"privateEndpoint,omitempty"` + // IPConfigurations - A list of IPConfigurations of the network interface. + IPConfigurations *[]InterfaceIPConfiguration `json:"ipConfigurations,omitempty"` + // TapConfigurations - A list of TapConfigurations of the network interface. + TapConfigurations *[]InterfaceTapConfiguration `json:"tapConfigurations,omitempty"` + // DNSSettings - The DNS settings in network interface. + DNSSettings *InterfaceDNSSettings `json:"dnsSettings,omitempty"` + // MacAddress - The MAC address of the network interface. + MacAddress *string `json:"macAddress,omitempty"` + // Primary - Whether this is a primary network interface on a virtual machine. + Primary *bool `json:"primary,omitempty"` + // EnableAcceleratedNetworking - If the network interface is accelerated networking enabled. + EnableAcceleratedNetworking *bool `json:"enableAcceleratedNetworking,omitempty"` + // EnableIPForwarding - Indicates whether IP forwarding is enabled on this network interface. + EnableIPForwarding *bool `json:"enableIPForwarding,omitempty"` + // HostedWorkloads - READ-ONLY; A list of references to linked BareMetal resources. + HostedWorkloads *[]string `json:"hostedWorkloads,omitempty"` + // ResourceGUID - The resource GUID property of the network interface resource. + ResourceGUID *string `json:"resourceGuid,omitempty"` + // ProvisioningState - The provisioning state of the network interface resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// InterfacesCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type InterfacesCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *InterfacesCreateOrUpdateFuture) Result(client InterfacesClient) (i Interface, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfacesCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.InterfacesCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if i.Response.Response, err = future.GetResult(sender); err == nil && i.Response.Response.StatusCode != http.StatusNoContent { + i, err = client.CreateOrUpdateResponder(i.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfacesCreateOrUpdateFuture", "Result", i.Response.Response, "Failure responding to request") + } + } + return +} + +// InterfacesDeleteFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type InterfacesDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *InterfacesDeleteFuture) Result(client InterfacesClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfacesDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.InterfacesDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// InterfacesGetEffectiveRouteTableFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type InterfacesGetEffectiveRouteTableFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *InterfacesGetEffectiveRouteTableFuture) Result(client InterfacesClient) (erlr EffectiveRouteListResult, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfacesGetEffectiveRouteTableFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.InterfacesGetEffectiveRouteTableFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if erlr.Response.Response, err = future.GetResult(sender); err == nil && erlr.Response.Response.StatusCode != http.StatusNoContent { + erlr, err = client.GetEffectiveRouteTableResponder(erlr.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfacesGetEffectiveRouteTableFuture", "Result", erlr.Response.Response, "Failure responding to request") + } + } + return +} + +// InterfacesListEffectiveNetworkSecurityGroupsFuture an abstraction for monitoring and retrieving the +// results of a long-running operation. +type InterfacesListEffectiveNetworkSecurityGroupsFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *InterfacesListEffectiveNetworkSecurityGroupsFuture) Result(client InterfacesClient) (ensglr EffectiveNetworkSecurityGroupListResult, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfacesListEffectiveNetworkSecurityGroupsFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.InterfacesListEffectiveNetworkSecurityGroupsFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if ensglr.Response.Response, err = future.GetResult(sender); err == nil && ensglr.Response.Response.StatusCode != http.StatusNoContent { + ensglr, err = client.ListEffectiveNetworkSecurityGroupsResponder(ensglr.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfacesListEffectiveNetworkSecurityGroupsFuture", "Result", ensglr.Response.Response, "Failure responding to request") + } + } + return +} + +// InterfacesUpdateTagsFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type InterfacesUpdateTagsFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *InterfacesUpdateTagsFuture) Result(client InterfacesClient) (i Interface, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfacesUpdateTagsFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.InterfacesUpdateTagsFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if i.Response.Response, err = future.GetResult(sender); err == nil && i.Response.Response.StatusCode != http.StatusNoContent { + i, err = client.UpdateTagsResponder(i.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfacesUpdateTagsFuture", "Result", i.Response.Response, "Failure responding to request") + } + } + return +} + +// InterfaceTapConfiguration tap configuration in a Network Interface. +type InterfaceTapConfiguration struct { + autorest.Response `json:"-"` + // InterfaceTapConfigurationPropertiesFormat - Properties of the Virtual Network Tap configuration. + *InterfaceTapConfigurationPropertiesFormat `json:"properties,omitempty"` + // Name - The name of the resource that is unique within a resource group. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // Type - READ-ONLY; Sub Resource type. + Type *string `json:"type,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for InterfaceTapConfiguration. +func (itc InterfaceTapConfiguration) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if itc.InterfaceTapConfigurationPropertiesFormat != nil { + objectMap["properties"] = itc.InterfaceTapConfigurationPropertiesFormat + } + if itc.Name != nil { + objectMap["name"] = itc.Name + } + if itc.Etag != nil { + objectMap["etag"] = itc.Etag + } + if itc.ID != nil { + objectMap["id"] = itc.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for InterfaceTapConfiguration struct. +func (itc *InterfaceTapConfiguration) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var interfaceTapConfigurationPropertiesFormat InterfaceTapConfigurationPropertiesFormat + err = json.Unmarshal(*v, &interfaceTapConfigurationPropertiesFormat) + if err != nil { + return err + } + itc.InterfaceTapConfigurationPropertiesFormat = &interfaceTapConfigurationPropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + itc.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + itc.Etag = &etag + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + itc.Type = &typeVar + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + itc.ID = &ID + } + } + } + + return nil +} + +// InterfaceTapConfigurationListResult response for list tap configurations API service call. +type InterfaceTapConfigurationListResult struct { + autorest.Response `json:"-"` + // Value - A list of tap configurations. + Value *[]InterfaceTapConfiguration `json:"value,omitempty"` + // NextLink - READ-ONLY; The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// InterfaceTapConfigurationListResultIterator provides access to a complete listing of +// InterfaceTapConfiguration values. +type InterfaceTapConfigurationListResultIterator struct { + i int + page InterfaceTapConfigurationListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *InterfaceTapConfigurationListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/InterfaceTapConfigurationListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *InterfaceTapConfigurationListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter InterfaceTapConfigurationListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter InterfaceTapConfigurationListResultIterator) Response() InterfaceTapConfigurationListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter InterfaceTapConfigurationListResultIterator) Value() InterfaceTapConfiguration { + if !iter.page.NotDone() { + return InterfaceTapConfiguration{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the InterfaceTapConfigurationListResultIterator type. +func NewInterfaceTapConfigurationListResultIterator(page InterfaceTapConfigurationListResultPage) InterfaceTapConfigurationListResultIterator { + return InterfaceTapConfigurationListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (itclr InterfaceTapConfigurationListResult) IsEmpty() bool { + return itclr.Value == nil || len(*itclr.Value) == 0 +} + +// interfaceTapConfigurationListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (itclr InterfaceTapConfigurationListResult) interfaceTapConfigurationListResultPreparer(ctx context.Context) (*http.Request, error) { + if itclr.NextLink == nil || len(to.String(itclr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(itclr.NextLink))) +} + +// InterfaceTapConfigurationListResultPage contains a page of InterfaceTapConfiguration values. +type InterfaceTapConfigurationListResultPage struct { + fn func(context.Context, InterfaceTapConfigurationListResult) (InterfaceTapConfigurationListResult, error) + itclr InterfaceTapConfigurationListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *InterfaceTapConfigurationListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/InterfaceTapConfigurationListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.itclr) + if err != nil { + return err + } + page.itclr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *InterfaceTapConfigurationListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page InterfaceTapConfigurationListResultPage) NotDone() bool { + return !page.itclr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page InterfaceTapConfigurationListResultPage) Response() InterfaceTapConfigurationListResult { + return page.itclr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page InterfaceTapConfigurationListResultPage) Values() []InterfaceTapConfiguration { + if page.itclr.IsEmpty() { + return nil + } + return *page.itclr.Value +} + +// Creates a new instance of the InterfaceTapConfigurationListResultPage type. +func NewInterfaceTapConfigurationListResultPage(getNextPage func(context.Context, InterfaceTapConfigurationListResult) (InterfaceTapConfigurationListResult, error)) InterfaceTapConfigurationListResultPage { + return InterfaceTapConfigurationListResultPage{fn: getNextPage} +} + +// InterfaceTapConfigurationPropertiesFormat properties of Virtual Network Tap configuration. +type InterfaceTapConfigurationPropertiesFormat struct { + // VirtualNetworkTap - The reference of the Virtual Network Tap resource. + VirtualNetworkTap *VirtualNetworkTap `json:"virtualNetworkTap,omitempty"` + // ProvisioningState - READ-ONLY; The provisioning state of the network interface tap configuration resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// InterfaceTapConfigurationsCreateOrUpdateFuture an abstraction for monitoring and retrieving the results +// of a long-running operation. +type InterfaceTapConfigurationsCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *InterfaceTapConfigurationsCreateOrUpdateFuture) Result(client InterfaceTapConfigurationsClient) (itc InterfaceTapConfiguration, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfaceTapConfigurationsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.InterfaceTapConfigurationsCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if itc.Response.Response, err = future.GetResult(sender); err == nil && itc.Response.Response.StatusCode != http.StatusNoContent { + itc, err = client.CreateOrUpdateResponder(itc.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfaceTapConfigurationsCreateOrUpdateFuture", "Result", itc.Response.Response, "Failure responding to request") + } + } + return +} + +// InterfaceTapConfigurationsDeleteFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type InterfaceTapConfigurationsDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *InterfaceTapConfigurationsDeleteFuture) Result(client InterfaceTapConfigurationsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfaceTapConfigurationsDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.InterfaceTapConfigurationsDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// IPAddressAvailabilityResult response for CheckIPAddressAvailability API service call. +type IPAddressAvailabilityResult struct { + autorest.Response `json:"-"` + // Available - Private IP address availability. + Available *bool `json:"available,omitempty"` + // AvailableIPAddresses - Contains other available private IP addresses if the asked for address is taken. + AvailableIPAddresses *[]string `json:"availableIPAddresses,omitempty"` +} + +// IPConfiguration IP configuration. +type IPConfiguration struct { + // IPConfigurationPropertiesFormat - Properties of the IP configuration. + *IPConfigurationPropertiesFormat `json:"properties,omitempty"` + // Name - The name of the resource that is unique within a resource group. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for IPConfiguration. +func (ic IPConfiguration) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if ic.IPConfigurationPropertiesFormat != nil { + objectMap["properties"] = ic.IPConfigurationPropertiesFormat + } + if ic.Name != nil { + objectMap["name"] = ic.Name + } + if ic.Etag != nil { + objectMap["etag"] = ic.Etag + } + if ic.ID != nil { + objectMap["id"] = ic.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for IPConfiguration struct. +func (ic *IPConfiguration) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var IPConfigurationPropertiesFormat IPConfigurationPropertiesFormat + err = json.Unmarshal(*v, &IPConfigurationPropertiesFormat) + if err != nil { + return err + } + ic.IPConfigurationPropertiesFormat = &IPConfigurationPropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + ic.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + ic.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + ic.ID = &ID + } + } + } + + return nil +} + +// IPConfigurationProfile IP configuration profile child resource. +type IPConfigurationProfile struct { + // IPConfigurationProfilePropertiesFormat - Properties of the IP configuration profile. + *IPConfigurationProfilePropertiesFormat `json:"properties,omitempty"` + // Name - The name of the resource. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Sub Resource type. + Type *string `json:"type,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for IPConfigurationProfile. +func (icp IPConfigurationProfile) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if icp.IPConfigurationProfilePropertiesFormat != nil { + objectMap["properties"] = icp.IPConfigurationProfilePropertiesFormat + } + if icp.Name != nil { + objectMap["name"] = icp.Name + } + if icp.Etag != nil { + objectMap["etag"] = icp.Etag + } + if icp.ID != nil { + objectMap["id"] = icp.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for IPConfigurationProfile struct. +func (icp *IPConfigurationProfile) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var IPConfigurationProfilePropertiesFormat IPConfigurationProfilePropertiesFormat + err = json.Unmarshal(*v, &IPConfigurationProfilePropertiesFormat) + if err != nil { + return err + } + icp.IPConfigurationProfilePropertiesFormat = &IPConfigurationProfilePropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + icp.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + icp.Type = &typeVar + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + icp.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + icp.ID = &ID + } + } + } + + return nil +} + +// IPConfigurationProfilePropertiesFormat IP configuration profile properties. +type IPConfigurationProfilePropertiesFormat struct { + // Subnet - The reference of the subnet resource to create a container network interface ip configuration. + Subnet *Subnet `json:"subnet,omitempty"` + // ProvisioningState - READ-ONLY; The provisioning state of the IP configuration profile resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// IPConfigurationPropertiesFormat properties of IP configuration. +type IPConfigurationPropertiesFormat struct { + // PrivateIPAddress - The private IP address of the IP configuration. + PrivateIPAddress *string `json:"privateIPAddress,omitempty"` + // PrivateIPAllocationMethod - The private IP address allocation method. Possible values include: 'Static', 'Dynamic' + PrivateIPAllocationMethod IPAllocationMethod `json:"privateIPAllocationMethod,omitempty"` + // Subnet - The reference of the subnet resource. + Subnet *Subnet `json:"subnet,omitempty"` + // PublicIPAddress - The reference of the public IP resource. + PublicIPAddress *PublicIPAddress `json:"publicIPAddress,omitempty"` + // ProvisioningState - The provisioning state of the IP configuration resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// IpsecPolicy an IPSec Policy configuration for a virtual network gateway connection. +type IpsecPolicy struct { + // SaLifeTimeSeconds - The IPSec Security Association (also called Quick Mode or Phase 2 SA) lifetime in seconds for a site to site VPN tunnel. + SaLifeTimeSeconds *int32 `json:"saLifeTimeSeconds,omitempty"` + // SaDataSizeKilobytes - The IPSec Security Association (also called Quick Mode or Phase 2 SA) payload size in KB for a site to site VPN tunnel. + SaDataSizeKilobytes *int32 `json:"saDataSizeKilobytes,omitempty"` + // IpsecEncryption - The IPSec encryption algorithm (IKE phase 1). Possible values include: 'IpsecEncryptionNone', 'IpsecEncryptionDES', 'IpsecEncryptionDES3', 'IpsecEncryptionAES128', 'IpsecEncryptionAES192', 'IpsecEncryptionAES256', 'IpsecEncryptionGCMAES128', 'IpsecEncryptionGCMAES192', 'IpsecEncryptionGCMAES256' + IpsecEncryption IpsecEncryption `json:"ipsecEncryption,omitempty"` + // IpsecIntegrity - The IPSec integrity algorithm (IKE phase 1). Possible values include: 'IpsecIntegrityMD5', 'IpsecIntegritySHA1', 'IpsecIntegritySHA256', 'IpsecIntegrityGCMAES128', 'IpsecIntegrityGCMAES192', 'IpsecIntegrityGCMAES256' + IpsecIntegrity IpsecIntegrity `json:"ipsecIntegrity,omitempty"` + // IkeEncryption - The IKE encryption algorithm (IKE phase 2). Possible values include: 'DES', 'DES3', 'AES128', 'AES192', 'AES256', 'GCMAES256', 'GCMAES128' + IkeEncryption IkeEncryption `json:"ikeEncryption,omitempty"` + // IkeIntegrity - The IKE integrity algorithm (IKE phase 2). Possible values include: 'IkeIntegrityMD5', 'IkeIntegritySHA1', 'IkeIntegritySHA256', 'IkeIntegritySHA384', 'IkeIntegrityGCMAES256', 'IkeIntegrityGCMAES128' + IkeIntegrity IkeIntegrity `json:"ikeIntegrity,omitempty"` + // DhGroup - The DH Group used in IKE Phase 1 for initial SA. Possible values include: 'None', 'DHGroup1', 'DHGroup2', 'DHGroup14', 'DHGroup2048', 'ECP256', 'ECP384', 'DHGroup24' + DhGroup DhGroup `json:"dhGroup,omitempty"` + // PfsGroup - The Pfs Group used in IKE Phase 2 for new child SA. Possible values include: 'PfsGroupNone', 'PfsGroupPFS1', 'PfsGroupPFS2', 'PfsGroupPFS2048', 'PfsGroupECP256', 'PfsGroupECP384', 'PfsGroupPFS24', 'PfsGroupPFS14', 'PfsGroupPFSMM' + PfsGroup PfsGroup `json:"pfsGroup,omitempty"` +} + +// IPTag contains the IpTag associated with the object. +type IPTag struct { + // IPTagType - The IP tag type. Example: FirstPartyUsage. + IPTagType *string `json:"ipTagType,omitempty"` + // Tag - The value of the IP tag associated with the public IP. Example: SQL. + Tag *string `json:"tag,omitempty"` +} + +// Ipv6ExpressRouteCircuitPeeringConfig contains IPv6 peering config. +type Ipv6ExpressRouteCircuitPeeringConfig struct { + // PrimaryPeerAddressPrefix - The primary address prefix. + PrimaryPeerAddressPrefix *string `json:"primaryPeerAddressPrefix,omitempty"` + // SecondaryPeerAddressPrefix - The secondary address prefix. + SecondaryPeerAddressPrefix *string `json:"secondaryPeerAddressPrefix,omitempty"` + // MicrosoftPeeringConfig - The Microsoft peering configuration. + MicrosoftPeeringConfig *ExpressRouteCircuitPeeringConfig `json:"microsoftPeeringConfig,omitempty"` + // RouteFilter - The reference of the RouteFilter resource. + RouteFilter *SubResource `json:"routeFilter,omitempty"` + // State - The state of peering. Possible values include: 'ExpressRouteCircuitPeeringStateDisabled', 'ExpressRouteCircuitPeeringStateEnabled' + State ExpressRouteCircuitPeeringState `json:"state,omitempty"` +} + +// ListHubVirtualNetworkConnectionsResult list of HubVirtualNetworkConnections and a URL nextLink to get +// the next set of results. +type ListHubVirtualNetworkConnectionsResult struct { + autorest.Response `json:"-"` + // Value - List of HubVirtualNetworkConnections. + Value *[]HubVirtualNetworkConnection `json:"value,omitempty"` + // NextLink - URL to get the next set of operation list results if there are any. + NextLink *string `json:"nextLink,omitempty"` +} + +// ListHubVirtualNetworkConnectionsResultIterator provides access to a complete listing of +// HubVirtualNetworkConnection values. +type ListHubVirtualNetworkConnectionsResultIterator struct { + i int + page ListHubVirtualNetworkConnectionsResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *ListHubVirtualNetworkConnectionsResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ListHubVirtualNetworkConnectionsResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *ListHubVirtualNetworkConnectionsResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter ListHubVirtualNetworkConnectionsResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter ListHubVirtualNetworkConnectionsResultIterator) Response() ListHubVirtualNetworkConnectionsResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter ListHubVirtualNetworkConnectionsResultIterator) Value() HubVirtualNetworkConnection { + if !iter.page.NotDone() { + return HubVirtualNetworkConnection{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the ListHubVirtualNetworkConnectionsResultIterator type. +func NewListHubVirtualNetworkConnectionsResultIterator(page ListHubVirtualNetworkConnectionsResultPage) ListHubVirtualNetworkConnectionsResultIterator { + return ListHubVirtualNetworkConnectionsResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (lhvncr ListHubVirtualNetworkConnectionsResult) IsEmpty() bool { + return lhvncr.Value == nil || len(*lhvncr.Value) == 0 +} + +// listHubVirtualNetworkConnectionsResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (lhvncr ListHubVirtualNetworkConnectionsResult) listHubVirtualNetworkConnectionsResultPreparer(ctx context.Context) (*http.Request, error) { + if lhvncr.NextLink == nil || len(to.String(lhvncr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(lhvncr.NextLink))) +} + +// ListHubVirtualNetworkConnectionsResultPage contains a page of HubVirtualNetworkConnection values. +type ListHubVirtualNetworkConnectionsResultPage struct { + fn func(context.Context, ListHubVirtualNetworkConnectionsResult) (ListHubVirtualNetworkConnectionsResult, error) + lhvncr ListHubVirtualNetworkConnectionsResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *ListHubVirtualNetworkConnectionsResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ListHubVirtualNetworkConnectionsResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.lhvncr) + if err != nil { + return err + } + page.lhvncr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *ListHubVirtualNetworkConnectionsResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page ListHubVirtualNetworkConnectionsResultPage) NotDone() bool { + return !page.lhvncr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page ListHubVirtualNetworkConnectionsResultPage) Response() ListHubVirtualNetworkConnectionsResult { + return page.lhvncr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page ListHubVirtualNetworkConnectionsResultPage) Values() []HubVirtualNetworkConnection { + if page.lhvncr.IsEmpty() { + return nil + } + return *page.lhvncr.Value +} + +// Creates a new instance of the ListHubVirtualNetworkConnectionsResultPage type. +func NewListHubVirtualNetworkConnectionsResultPage(getNextPage func(context.Context, ListHubVirtualNetworkConnectionsResult) (ListHubVirtualNetworkConnectionsResult, error)) ListHubVirtualNetworkConnectionsResultPage { + return ListHubVirtualNetworkConnectionsResultPage{fn: getNextPage} +} + +// ListP2SVpnGatewaysResult result of the request to list P2SVpnGateways. It contains a list of +// P2SVpnGateways and a URL nextLink to get the next set of results. +type ListP2SVpnGatewaysResult struct { + autorest.Response `json:"-"` + // Value - List of P2SVpnGateways. + Value *[]P2SVpnGateway `json:"value,omitempty"` + // NextLink - URL to get the next set of operation list results if there are any. + NextLink *string `json:"nextLink,omitempty"` +} + +// ListP2SVpnGatewaysResultIterator provides access to a complete listing of P2SVpnGateway values. +type ListP2SVpnGatewaysResultIterator struct { + i int + page ListP2SVpnGatewaysResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *ListP2SVpnGatewaysResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ListP2SVpnGatewaysResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *ListP2SVpnGatewaysResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter ListP2SVpnGatewaysResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter ListP2SVpnGatewaysResultIterator) Response() ListP2SVpnGatewaysResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter ListP2SVpnGatewaysResultIterator) Value() P2SVpnGateway { + if !iter.page.NotDone() { + return P2SVpnGateway{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the ListP2SVpnGatewaysResultIterator type. +func NewListP2SVpnGatewaysResultIterator(page ListP2SVpnGatewaysResultPage) ListP2SVpnGatewaysResultIterator { + return ListP2SVpnGatewaysResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (lpvgr ListP2SVpnGatewaysResult) IsEmpty() bool { + return lpvgr.Value == nil || len(*lpvgr.Value) == 0 +} + +// listP2SVpnGatewaysResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (lpvgr ListP2SVpnGatewaysResult) listP2SVpnGatewaysResultPreparer(ctx context.Context) (*http.Request, error) { + if lpvgr.NextLink == nil || len(to.String(lpvgr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(lpvgr.NextLink))) +} + +// ListP2SVpnGatewaysResultPage contains a page of P2SVpnGateway values. +type ListP2SVpnGatewaysResultPage struct { + fn func(context.Context, ListP2SVpnGatewaysResult) (ListP2SVpnGatewaysResult, error) + lpvgr ListP2SVpnGatewaysResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *ListP2SVpnGatewaysResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ListP2SVpnGatewaysResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.lpvgr) + if err != nil { + return err + } + page.lpvgr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *ListP2SVpnGatewaysResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page ListP2SVpnGatewaysResultPage) NotDone() bool { + return !page.lpvgr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page ListP2SVpnGatewaysResultPage) Response() ListP2SVpnGatewaysResult { + return page.lpvgr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page ListP2SVpnGatewaysResultPage) Values() []P2SVpnGateway { + if page.lpvgr.IsEmpty() { + return nil + } + return *page.lpvgr.Value +} + +// Creates a new instance of the ListP2SVpnGatewaysResultPage type. +func NewListP2SVpnGatewaysResultPage(getNextPage func(context.Context, ListP2SVpnGatewaysResult) (ListP2SVpnGatewaysResult, error)) ListP2SVpnGatewaysResultPage { + return ListP2SVpnGatewaysResultPage{fn: getNextPage} +} + +// ListP2SVpnServerConfigurationsResult result of the request to list all P2SVpnServerConfigurations +// associated to a VirtualWan. It contains a list of P2SVpnServerConfigurations and a URL nextLink to get +// the next set of results. +type ListP2SVpnServerConfigurationsResult struct { + autorest.Response `json:"-"` + // Value - List of P2SVpnServerConfigurations. + Value *[]P2SVpnServerConfiguration `json:"value,omitempty"` + // NextLink - URL to get the next set of operation list results if there are any. + NextLink *string `json:"nextLink,omitempty"` +} + +// ListP2SVpnServerConfigurationsResultIterator provides access to a complete listing of +// P2SVpnServerConfiguration values. +type ListP2SVpnServerConfigurationsResultIterator struct { + i int + page ListP2SVpnServerConfigurationsResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *ListP2SVpnServerConfigurationsResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ListP2SVpnServerConfigurationsResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *ListP2SVpnServerConfigurationsResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter ListP2SVpnServerConfigurationsResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter ListP2SVpnServerConfigurationsResultIterator) Response() ListP2SVpnServerConfigurationsResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter ListP2SVpnServerConfigurationsResultIterator) Value() P2SVpnServerConfiguration { + if !iter.page.NotDone() { + return P2SVpnServerConfiguration{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the ListP2SVpnServerConfigurationsResultIterator type. +func NewListP2SVpnServerConfigurationsResultIterator(page ListP2SVpnServerConfigurationsResultPage) ListP2SVpnServerConfigurationsResultIterator { + return ListP2SVpnServerConfigurationsResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (lpvscr ListP2SVpnServerConfigurationsResult) IsEmpty() bool { + return lpvscr.Value == nil || len(*lpvscr.Value) == 0 +} + +// listP2SVpnServerConfigurationsResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (lpvscr ListP2SVpnServerConfigurationsResult) listP2SVpnServerConfigurationsResultPreparer(ctx context.Context) (*http.Request, error) { + if lpvscr.NextLink == nil || len(to.String(lpvscr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(lpvscr.NextLink))) +} + +// ListP2SVpnServerConfigurationsResultPage contains a page of P2SVpnServerConfiguration values. +type ListP2SVpnServerConfigurationsResultPage struct { + fn func(context.Context, ListP2SVpnServerConfigurationsResult) (ListP2SVpnServerConfigurationsResult, error) + lpvscr ListP2SVpnServerConfigurationsResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *ListP2SVpnServerConfigurationsResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ListP2SVpnServerConfigurationsResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.lpvscr) + if err != nil { + return err + } + page.lpvscr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *ListP2SVpnServerConfigurationsResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page ListP2SVpnServerConfigurationsResultPage) NotDone() bool { + return !page.lpvscr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page ListP2SVpnServerConfigurationsResultPage) Response() ListP2SVpnServerConfigurationsResult { + return page.lpvscr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page ListP2SVpnServerConfigurationsResultPage) Values() []P2SVpnServerConfiguration { + if page.lpvscr.IsEmpty() { + return nil + } + return *page.lpvscr.Value +} + +// Creates a new instance of the ListP2SVpnServerConfigurationsResultPage type. +func NewListP2SVpnServerConfigurationsResultPage(getNextPage func(context.Context, ListP2SVpnServerConfigurationsResult) (ListP2SVpnServerConfigurationsResult, error)) ListP2SVpnServerConfigurationsResultPage { + return ListP2SVpnServerConfigurationsResultPage{fn: getNextPage} +} + +// ListString ... +type ListString struct { + autorest.Response `json:"-"` + Value *[]string `json:"value,omitempty"` +} + +// ListVirtualHubsResult result of the request to list VirtualHubs. It contains a list of VirtualHubs and a +// URL nextLink to get the next set of results. +type ListVirtualHubsResult struct { + autorest.Response `json:"-"` + // Value - List of VirtualHubs. + Value *[]VirtualHub `json:"value,omitempty"` + // NextLink - URL to get the next set of operation list results if there are any. + NextLink *string `json:"nextLink,omitempty"` +} + +// ListVirtualHubsResultIterator provides access to a complete listing of VirtualHub values. +type ListVirtualHubsResultIterator struct { + i int + page ListVirtualHubsResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *ListVirtualHubsResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ListVirtualHubsResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *ListVirtualHubsResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter ListVirtualHubsResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter ListVirtualHubsResultIterator) Response() ListVirtualHubsResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter ListVirtualHubsResultIterator) Value() VirtualHub { + if !iter.page.NotDone() { + return VirtualHub{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the ListVirtualHubsResultIterator type. +func NewListVirtualHubsResultIterator(page ListVirtualHubsResultPage) ListVirtualHubsResultIterator { + return ListVirtualHubsResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (lvhr ListVirtualHubsResult) IsEmpty() bool { + return lvhr.Value == nil || len(*lvhr.Value) == 0 +} + +// listVirtualHubsResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (lvhr ListVirtualHubsResult) listVirtualHubsResultPreparer(ctx context.Context) (*http.Request, error) { + if lvhr.NextLink == nil || len(to.String(lvhr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(lvhr.NextLink))) +} + +// ListVirtualHubsResultPage contains a page of VirtualHub values. +type ListVirtualHubsResultPage struct { + fn func(context.Context, ListVirtualHubsResult) (ListVirtualHubsResult, error) + lvhr ListVirtualHubsResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *ListVirtualHubsResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ListVirtualHubsResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.lvhr) + if err != nil { + return err + } + page.lvhr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *ListVirtualHubsResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page ListVirtualHubsResultPage) NotDone() bool { + return !page.lvhr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page ListVirtualHubsResultPage) Response() ListVirtualHubsResult { + return page.lvhr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page ListVirtualHubsResultPage) Values() []VirtualHub { + if page.lvhr.IsEmpty() { + return nil + } + return *page.lvhr.Value +} + +// Creates a new instance of the ListVirtualHubsResultPage type. +func NewListVirtualHubsResultPage(getNextPage func(context.Context, ListVirtualHubsResult) (ListVirtualHubsResult, error)) ListVirtualHubsResultPage { + return ListVirtualHubsResultPage{fn: getNextPage} +} + +// ListVirtualWANsResult result of the request to list VirtualWANs. It contains a list of VirtualWANs and a +// URL nextLink to get the next set of results. +type ListVirtualWANsResult struct { + autorest.Response `json:"-"` + // Value - List of VirtualWANs. + Value *[]VirtualWAN `json:"value,omitempty"` + // NextLink - URL to get the next set of operation list results if there are any. + NextLink *string `json:"nextLink,omitempty"` +} + +// ListVirtualWANsResultIterator provides access to a complete listing of VirtualWAN values. +type ListVirtualWANsResultIterator struct { + i int + page ListVirtualWANsResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *ListVirtualWANsResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ListVirtualWANsResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *ListVirtualWANsResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter ListVirtualWANsResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter ListVirtualWANsResultIterator) Response() ListVirtualWANsResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter ListVirtualWANsResultIterator) Value() VirtualWAN { + if !iter.page.NotDone() { + return VirtualWAN{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the ListVirtualWANsResultIterator type. +func NewListVirtualWANsResultIterator(page ListVirtualWANsResultPage) ListVirtualWANsResultIterator { + return ListVirtualWANsResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (lvwnr ListVirtualWANsResult) IsEmpty() bool { + return lvwnr.Value == nil || len(*lvwnr.Value) == 0 +} + +// listVirtualWANsResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (lvwnr ListVirtualWANsResult) listVirtualWANsResultPreparer(ctx context.Context) (*http.Request, error) { + if lvwnr.NextLink == nil || len(to.String(lvwnr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(lvwnr.NextLink))) +} + +// ListVirtualWANsResultPage contains a page of VirtualWAN values. +type ListVirtualWANsResultPage struct { + fn func(context.Context, ListVirtualWANsResult) (ListVirtualWANsResult, error) + lvwnr ListVirtualWANsResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *ListVirtualWANsResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ListVirtualWANsResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.lvwnr) + if err != nil { + return err + } + page.lvwnr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *ListVirtualWANsResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page ListVirtualWANsResultPage) NotDone() bool { + return !page.lvwnr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page ListVirtualWANsResultPage) Response() ListVirtualWANsResult { + return page.lvwnr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page ListVirtualWANsResultPage) Values() []VirtualWAN { + if page.lvwnr.IsEmpty() { + return nil + } + return *page.lvwnr.Value +} + +// Creates a new instance of the ListVirtualWANsResultPage type. +func NewListVirtualWANsResultPage(getNextPage func(context.Context, ListVirtualWANsResult) (ListVirtualWANsResult, error)) ListVirtualWANsResultPage { + return ListVirtualWANsResultPage{fn: getNextPage} +} + +// ListVpnConnectionsResult result of the request to list all vpn connections to a virtual wan vpn gateway. +// It contains a list of Vpn Connections and a URL nextLink to get the next set of results. +type ListVpnConnectionsResult struct { + autorest.Response `json:"-"` + // Value - List of Vpn Connections. + Value *[]VpnConnection `json:"value,omitempty"` + // NextLink - URL to get the next set of operation list results if there are any. + NextLink *string `json:"nextLink,omitempty"` +} + +// ListVpnConnectionsResultIterator provides access to a complete listing of VpnConnection values. +type ListVpnConnectionsResultIterator struct { + i int + page ListVpnConnectionsResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *ListVpnConnectionsResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ListVpnConnectionsResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *ListVpnConnectionsResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter ListVpnConnectionsResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter ListVpnConnectionsResultIterator) Response() ListVpnConnectionsResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter ListVpnConnectionsResultIterator) Value() VpnConnection { + if !iter.page.NotDone() { + return VpnConnection{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the ListVpnConnectionsResultIterator type. +func NewListVpnConnectionsResultIterator(page ListVpnConnectionsResultPage) ListVpnConnectionsResultIterator { + return ListVpnConnectionsResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (lvcr ListVpnConnectionsResult) IsEmpty() bool { + return lvcr.Value == nil || len(*lvcr.Value) == 0 +} + +// listVpnConnectionsResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (lvcr ListVpnConnectionsResult) listVpnConnectionsResultPreparer(ctx context.Context) (*http.Request, error) { + if lvcr.NextLink == nil || len(to.String(lvcr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(lvcr.NextLink))) +} + +// ListVpnConnectionsResultPage contains a page of VpnConnection values. +type ListVpnConnectionsResultPage struct { + fn func(context.Context, ListVpnConnectionsResult) (ListVpnConnectionsResult, error) + lvcr ListVpnConnectionsResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *ListVpnConnectionsResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ListVpnConnectionsResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.lvcr) + if err != nil { + return err + } + page.lvcr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *ListVpnConnectionsResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page ListVpnConnectionsResultPage) NotDone() bool { + return !page.lvcr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page ListVpnConnectionsResultPage) Response() ListVpnConnectionsResult { + return page.lvcr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page ListVpnConnectionsResultPage) Values() []VpnConnection { + if page.lvcr.IsEmpty() { + return nil + } + return *page.lvcr.Value +} + +// Creates a new instance of the ListVpnConnectionsResultPage type. +func NewListVpnConnectionsResultPage(getNextPage func(context.Context, ListVpnConnectionsResult) (ListVpnConnectionsResult, error)) ListVpnConnectionsResultPage { + return ListVpnConnectionsResultPage{fn: getNextPage} +} + +// ListVpnGatewaysResult result of the request to list VpnGateways. It contains a list of VpnGateways and a +// URL nextLink to get the next set of results. +type ListVpnGatewaysResult struct { + autorest.Response `json:"-"` + // Value - List of VpnGateways. + Value *[]VpnGateway `json:"value,omitempty"` + // NextLink - URL to get the next set of operation list results if there are any. + NextLink *string `json:"nextLink,omitempty"` +} + +// ListVpnGatewaysResultIterator provides access to a complete listing of VpnGateway values. +type ListVpnGatewaysResultIterator struct { + i int + page ListVpnGatewaysResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *ListVpnGatewaysResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ListVpnGatewaysResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *ListVpnGatewaysResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter ListVpnGatewaysResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter ListVpnGatewaysResultIterator) Response() ListVpnGatewaysResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter ListVpnGatewaysResultIterator) Value() VpnGateway { + if !iter.page.NotDone() { + return VpnGateway{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the ListVpnGatewaysResultIterator type. +func NewListVpnGatewaysResultIterator(page ListVpnGatewaysResultPage) ListVpnGatewaysResultIterator { + return ListVpnGatewaysResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (lvgr ListVpnGatewaysResult) IsEmpty() bool { + return lvgr.Value == nil || len(*lvgr.Value) == 0 +} + +// listVpnGatewaysResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (lvgr ListVpnGatewaysResult) listVpnGatewaysResultPreparer(ctx context.Context) (*http.Request, error) { + if lvgr.NextLink == nil || len(to.String(lvgr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(lvgr.NextLink))) +} + +// ListVpnGatewaysResultPage contains a page of VpnGateway values. +type ListVpnGatewaysResultPage struct { + fn func(context.Context, ListVpnGatewaysResult) (ListVpnGatewaysResult, error) + lvgr ListVpnGatewaysResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *ListVpnGatewaysResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ListVpnGatewaysResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.lvgr) + if err != nil { + return err + } + page.lvgr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *ListVpnGatewaysResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page ListVpnGatewaysResultPage) NotDone() bool { + return !page.lvgr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page ListVpnGatewaysResultPage) Response() ListVpnGatewaysResult { + return page.lvgr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page ListVpnGatewaysResultPage) Values() []VpnGateway { + if page.lvgr.IsEmpty() { + return nil + } + return *page.lvgr.Value +} + +// Creates a new instance of the ListVpnGatewaysResultPage type. +func NewListVpnGatewaysResultPage(getNextPage func(context.Context, ListVpnGatewaysResult) (ListVpnGatewaysResult, error)) ListVpnGatewaysResultPage { + return ListVpnGatewaysResultPage{fn: getNextPage} +} + +// ListVpnSiteLinkConnectionsResult result of the request to list all vpn connections to a virtual wan vpn +// gateway. It contains a list of Vpn Connections and a URL nextLink to get the next set of results. +type ListVpnSiteLinkConnectionsResult struct { + autorest.Response `json:"-"` + // Value - List of VpnSiteLinkConnections. + Value *[]VpnSiteLinkConnection `json:"value,omitempty"` + // NextLink - URL to get the next set of operation list results if there are any. + NextLink *string `json:"nextLink,omitempty"` +} + +// ListVpnSiteLinkConnectionsResultIterator provides access to a complete listing of VpnSiteLinkConnection +// values. +type ListVpnSiteLinkConnectionsResultIterator struct { + i int + page ListVpnSiteLinkConnectionsResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *ListVpnSiteLinkConnectionsResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ListVpnSiteLinkConnectionsResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *ListVpnSiteLinkConnectionsResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter ListVpnSiteLinkConnectionsResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter ListVpnSiteLinkConnectionsResultIterator) Response() ListVpnSiteLinkConnectionsResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter ListVpnSiteLinkConnectionsResultIterator) Value() VpnSiteLinkConnection { + if !iter.page.NotDone() { + return VpnSiteLinkConnection{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the ListVpnSiteLinkConnectionsResultIterator type. +func NewListVpnSiteLinkConnectionsResultIterator(page ListVpnSiteLinkConnectionsResultPage) ListVpnSiteLinkConnectionsResultIterator { + return ListVpnSiteLinkConnectionsResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (lvslcr ListVpnSiteLinkConnectionsResult) IsEmpty() bool { + return lvslcr.Value == nil || len(*lvslcr.Value) == 0 +} + +// listVpnSiteLinkConnectionsResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (lvslcr ListVpnSiteLinkConnectionsResult) listVpnSiteLinkConnectionsResultPreparer(ctx context.Context) (*http.Request, error) { + if lvslcr.NextLink == nil || len(to.String(lvslcr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(lvslcr.NextLink))) +} + +// ListVpnSiteLinkConnectionsResultPage contains a page of VpnSiteLinkConnection values. +type ListVpnSiteLinkConnectionsResultPage struct { + fn func(context.Context, ListVpnSiteLinkConnectionsResult) (ListVpnSiteLinkConnectionsResult, error) + lvslcr ListVpnSiteLinkConnectionsResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *ListVpnSiteLinkConnectionsResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ListVpnSiteLinkConnectionsResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.lvslcr) + if err != nil { + return err + } + page.lvslcr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *ListVpnSiteLinkConnectionsResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page ListVpnSiteLinkConnectionsResultPage) NotDone() bool { + return !page.lvslcr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page ListVpnSiteLinkConnectionsResultPage) Response() ListVpnSiteLinkConnectionsResult { + return page.lvslcr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page ListVpnSiteLinkConnectionsResultPage) Values() []VpnSiteLinkConnection { + if page.lvslcr.IsEmpty() { + return nil + } + return *page.lvslcr.Value +} + +// Creates a new instance of the ListVpnSiteLinkConnectionsResultPage type. +func NewListVpnSiteLinkConnectionsResultPage(getNextPage func(context.Context, ListVpnSiteLinkConnectionsResult) (ListVpnSiteLinkConnectionsResult, error)) ListVpnSiteLinkConnectionsResultPage { + return ListVpnSiteLinkConnectionsResultPage{fn: getNextPage} +} + +// ListVpnSiteLinksResult result of the request to list VpnSiteLinks. It contains a list of VpnSiteLinks +// and a URL nextLink to get the next set of results. +type ListVpnSiteLinksResult struct { + autorest.Response `json:"-"` + // Value - List of VpnSitesLinks. + Value *[]VpnSiteLink `json:"value,omitempty"` + // NextLink - URL to get the next set of operation list results if there are any. + NextLink *string `json:"nextLink,omitempty"` +} + +// ListVpnSiteLinksResultIterator provides access to a complete listing of VpnSiteLink values. +type ListVpnSiteLinksResultIterator struct { + i int + page ListVpnSiteLinksResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *ListVpnSiteLinksResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ListVpnSiteLinksResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *ListVpnSiteLinksResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter ListVpnSiteLinksResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter ListVpnSiteLinksResultIterator) Response() ListVpnSiteLinksResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter ListVpnSiteLinksResultIterator) Value() VpnSiteLink { + if !iter.page.NotDone() { + return VpnSiteLink{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the ListVpnSiteLinksResultIterator type. +func NewListVpnSiteLinksResultIterator(page ListVpnSiteLinksResultPage) ListVpnSiteLinksResultIterator { + return ListVpnSiteLinksResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (lvslr ListVpnSiteLinksResult) IsEmpty() bool { + return lvslr.Value == nil || len(*lvslr.Value) == 0 +} + +// listVpnSiteLinksResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (lvslr ListVpnSiteLinksResult) listVpnSiteLinksResultPreparer(ctx context.Context) (*http.Request, error) { + if lvslr.NextLink == nil || len(to.String(lvslr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(lvslr.NextLink))) +} + +// ListVpnSiteLinksResultPage contains a page of VpnSiteLink values. +type ListVpnSiteLinksResultPage struct { + fn func(context.Context, ListVpnSiteLinksResult) (ListVpnSiteLinksResult, error) + lvslr ListVpnSiteLinksResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *ListVpnSiteLinksResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ListVpnSiteLinksResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.lvslr) + if err != nil { + return err + } + page.lvslr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *ListVpnSiteLinksResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page ListVpnSiteLinksResultPage) NotDone() bool { + return !page.lvslr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page ListVpnSiteLinksResultPage) Response() ListVpnSiteLinksResult { + return page.lvslr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page ListVpnSiteLinksResultPage) Values() []VpnSiteLink { + if page.lvslr.IsEmpty() { + return nil + } + return *page.lvslr.Value +} + +// Creates a new instance of the ListVpnSiteLinksResultPage type. +func NewListVpnSiteLinksResultPage(getNextPage func(context.Context, ListVpnSiteLinksResult) (ListVpnSiteLinksResult, error)) ListVpnSiteLinksResultPage { + return ListVpnSiteLinksResultPage{fn: getNextPage} +} + +// ListVpnSitesResult result of the request to list VpnSites. It contains a list of VpnSites and a URL +// nextLink to get the next set of results. +type ListVpnSitesResult struct { + autorest.Response `json:"-"` + // Value - List of VpnSites. + Value *[]VpnSite `json:"value,omitempty"` + // NextLink - URL to get the next set of operation list results if there are any. + NextLink *string `json:"nextLink,omitempty"` +} + +// ListVpnSitesResultIterator provides access to a complete listing of VpnSite values. +type ListVpnSitesResultIterator struct { + i int + page ListVpnSitesResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *ListVpnSitesResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ListVpnSitesResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *ListVpnSitesResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter ListVpnSitesResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter ListVpnSitesResultIterator) Response() ListVpnSitesResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter ListVpnSitesResultIterator) Value() VpnSite { + if !iter.page.NotDone() { + return VpnSite{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the ListVpnSitesResultIterator type. +func NewListVpnSitesResultIterator(page ListVpnSitesResultPage) ListVpnSitesResultIterator { + return ListVpnSitesResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (lvsr ListVpnSitesResult) IsEmpty() bool { + return lvsr.Value == nil || len(*lvsr.Value) == 0 +} + +// listVpnSitesResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (lvsr ListVpnSitesResult) listVpnSitesResultPreparer(ctx context.Context) (*http.Request, error) { + if lvsr.NextLink == nil || len(to.String(lvsr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(lvsr.NextLink))) +} + +// ListVpnSitesResultPage contains a page of VpnSite values. +type ListVpnSitesResultPage struct { + fn func(context.Context, ListVpnSitesResult) (ListVpnSitesResult, error) + lvsr ListVpnSitesResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *ListVpnSitesResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ListVpnSitesResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.lvsr) + if err != nil { + return err + } + page.lvsr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *ListVpnSitesResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page ListVpnSitesResultPage) NotDone() bool { + return !page.lvsr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page ListVpnSitesResultPage) Response() ListVpnSitesResult { + return page.lvsr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page ListVpnSitesResultPage) Values() []VpnSite { + if page.lvsr.IsEmpty() { + return nil + } + return *page.lvsr.Value +} + +// Creates a new instance of the ListVpnSitesResultPage type. +func NewListVpnSitesResultPage(getNextPage func(context.Context, ListVpnSitesResult) (ListVpnSitesResult, error)) ListVpnSitesResultPage { + return ListVpnSitesResultPage{fn: getNextPage} +} + +// LoadBalancer loadBalancer resource. +type LoadBalancer struct { + autorest.Response `json:"-"` + // Sku - The load balancer SKU. + Sku *LoadBalancerSku `json:"sku,omitempty"` + // LoadBalancerPropertiesFormat - Properties of load balancer. + *LoadBalancerPropertiesFormat `json:"properties,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for LoadBalancer. +func (lb LoadBalancer) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if lb.Sku != nil { + objectMap["sku"] = lb.Sku + } + if lb.LoadBalancerPropertiesFormat != nil { + objectMap["properties"] = lb.LoadBalancerPropertiesFormat + } + if lb.Etag != nil { + objectMap["etag"] = lb.Etag + } + if lb.ID != nil { + objectMap["id"] = lb.ID + } + if lb.Location != nil { + objectMap["location"] = lb.Location + } + if lb.Tags != nil { + objectMap["tags"] = lb.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for LoadBalancer struct. +func (lb *LoadBalancer) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "sku": + if v != nil { + var sku LoadBalancerSku + err = json.Unmarshal(*v, &sku) + if err != nil { + return err + } + lb.Sku = &sku + } + case "properties": + if v != nil { + var loadBalancerPropertiesFormat LoadBalancerPropertiesFormat + err = json.Unmarshal(*v, &loadBalancerPropertiesFormat) + if err != nil { + return err + } + lb.LoadBalancerPropertiesFormat = &loadBalancerPropertiesFormat + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + lb.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + lb.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + lb.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + lb.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + lb.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + lb.Tags = tags + } + } + } + + return nil +} + +// LoadBalancerBackendAddressPoolListResult response for ListBackendAddressPool API service call. +type LoadBalancerBackendAddressPoolListResult struct { + autorest.Response `json:"-"` + // Value - A list of backend address pools in a load balancer. + Value *[]BackendAddressPool `json:"value,omitempty"` + // NextLink - READ-ONLY; The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// LoadBalancerBackendAddressPoolListResultIterator provides access to a complete listing of +// BackendAddressPool values. +type LoadBalancerBackendAddressPoolListResultIterator struct { + i int + page LoadBalancerBackendAddressPoolListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *LoadBalancerBackendAddressPoolListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LoadBalancerBackendAddressPoolListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *LoadBalancerBackendAddressPoolListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter LoadBalancerBackendAddressPoolListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter LoadBalancerBackendAddressPoolListResultIterator) Response() LoadBalancerBackendAddressPoolListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter LoadBalancerBackendAddressPoolListResultIterator) Value() BackendAddressPool { + if !iter.page.NotDone() { + return BackendAddressPool{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the LoadBalancerBackendAddressPoolListResultIterator type. +func NewLoadBalancerBackendAddressPoolListResultIterator(page LoadBalancerBackendAddressPoolListResultPage) LoadBalancerBackendAddressPoolListResultIterator { + return LoadBalancerBackendAddressPoolListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (lbbaplr LoadBalancerBackendAddressPoolListResult) IsEmpty() bool { + return lbbaplr.Value == nil || len(*lbbaplr.Value) == 0 +} + +// loadBalancerBackendAddressPoolListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (lbbaplr LoadBalancerBackendAddressPoolListResult) loadBalancerBackendAddressPoolListResultPreparer(ctx context.Context) (*http.Request, error) { + if lbbaplr.NextLink == nil || len(to.String(lbbaplr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(lbbaplr.NextLink))) +} + +// LoadBalancerBackendAddressPoolListResultPage contains a page of BackendAddressPool values. +type LoadBalancerBackendAddressPoolListResultPage struct { + fn func(context.Context, LoadBalancerBackendAddressPoolListResult) (LoadBalancerBackendAddressPoolListResult, error) + lbbaplr LoadBalancerBackendAddressPoolListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *LoadBalancerBackendAddressPoolListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LoadBalancerBackendAddressPoolListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.lbbaplr) + if err != nil { + return err + } + page.lbbaplr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *LoadBalancerBackendAddressPoolListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page LoadBalancerBackendAddressPoolListResultPage) NotDone() bool { + return !page.lbbaplr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page LoadBalancerBackendAddressPoolListResultPage) Response() LoadBalancerBackendAddressPoolListResult { + return page.lbbaplr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page LoadBalancerBackendAddressPoolListResultPage) Values() []BackendAddressPool { + if page.lbbaplr.IsEmpty() { + return nil + } + return *page.lbbaplr.Value +} + +// Creates a new instance of the LoadBalancerBackendAddressPoolListResultPage type. +func NewLoadBalancerBackendAddressPoolListResultPage(getNextPage func(context.Context, LoadBalancerBackendAddressPoolListResult) (LoadBalancerBackendAddressPoolListResult, error)) LoadBalancerBackendAddressPoolListResultPage { + return LoadBalancerBackendAddressPoolListResultPage{fn: getNextPage} +} + +// LoadBalancerFrontendIPConfigurationListResult response for ListFrontendIPConfiguration API service call. +type LoadBalancerFrontendIPConfigurationListResult struct { + autorest.Response `json:"-"` + // Value - A list of frontend IP configurations in a load balancer. + Value *[]FrontendIPConfiguration `json:"value,omitempty"` + // NextLink - READ-ONLY; The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// LoadBalancerFrontendIPConfigurationListResultIterator provides access to a complete listing of +// FrontendIPConfiguration values. +type LoadBalancerFrontendIPConfigurationListResultIterator struct { + i int + page LoadBalancerFrontendIPConfigurationListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *LoadBalancerFrontendIPConfigurationListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LoadBalancerFrontendIPConfigurationListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *LoadBalancerFrontendIPConfigurationListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter LoadBalancerFrontendIPConfigurationListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter LoadBalancerFrontendIPConfigurationListResultIterator) Response() LoadBalancerFrontendIPConfigurationListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter LoadBalancerFrontendIPConfigurationListResultIterator) Value() FrontendIPConfiguration { + if !iter.page.NotDone() { + return FrontendIPConfiguration{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the LoadBalancerFrontendIPConfigurationListResultIterator type. +func NewLoadBalancerFrontendIPConfigurationListResultIterator(page LoadBalancerFrontendIPConfigurationListResultPage) LoadBalancerFrontendIPConfigurationListResultIterator { + return LoadBalancerFrontendIPConfigurationListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (lbficlr LoadBalancerFrontendIPConfigurationListResult) IsEmpty() bool { + return lbficlr.Value == nil || len(*lbficlr.Value) == 0 +} + +// loadBalancerFrontendIPConfigurationListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (lbficlr LoadBalancerFrontendIPConfigurationListResult) loadBalancerFrontendIPConfigurationListResultPreparer(ctx context.Context) (*http.Request, error) { + if lbficlr.NextLink == nil || len(to.String(lbficlr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(lbficlr.NextLink))) +} + +// LoadBalancerFrontendIPConfigurationListResultPage contains a page of FrontendIPConfiguration values. +type LoadBalancerFrontendIPConfigurationListResultPage struct { + fn func(context.Context, LoadBalancerFrontendIPConfigurationListResult) (LoadBalancerFrontendIPConfigurationListResult, error) + lbficlr LoadBalancerFrontendIPConfigurationListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *LoadBalancerFrontendIPConfigurationListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LoadBalancerFrontendIPConfigurationListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.lbficlr) + if err != nil { + return err + } + page.lbficlr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *LoadBalancerFrontendIPConfigurationListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page LoadBalancerFrontendIPConfigurationListResultPage) NotDone() bool { + return !page.lbficlr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page LoadBalancerFrontendIPConfigurationListResultPage) Response() LoadBalancerFrontendIPConfigurationListResult { + return page.lbficlr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page LoadBalancerFrontendIPConfigurationListResultPage) Values() []FrontendIPConfiguration { + if page.lbficlr.IsEmpty() { + return nil + } + return *page.lbficlr.Value +} + +// Creates a new instance of the LoadBalancerFrontendIPConfigurationListResultPage type. +func NewLoadBalancerFrontendIPConfigurationListResultPage(getNextPage func(context.Context, LoadBalancerFrontendIPConfigurationListResult) (LoadBalancerFrontendIPConfigurationListResult, error)) LoadBalancerFrontendIPConfigurationListResultPage { + return LoadBalancerFrontendIPConfigurationListResultPage{fn: getNextPage} +} + +// LoadBalancerListResult response for ListLoadBalancers API service call. +type LoadBalancerListResult struct { + autorest.Response `json:"-"` + // Value - A list of load balancers in a resource group. + Value *[]LoadBalancer `json:"value,omitempty"` + // NextLink - READ-ONLY; The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// LoadBalancerListResultIterator provides access to a complete listing of LoadBalancer values. +type LoadBalancerListResultIterator struct { + i int + page LoadBalancerListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *LoadBalancerListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LoadBalancerListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *LoadBalancerListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter LoadBalancerListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter LoadBalancerListResultIterator) Response() LoadBalancerListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter LoadBalancerListResultIterator) Value() LoadBalancer { + if !iter.page.NotDone() { + return LoadBalancer{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the LoadBalancerListResultIterator type. +func NewLoadBalancerListResultIterator(page LoadBalancerListResultPage) LoadBalancerListResultIterator { + return LoadBalancerListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (lblr LoadBalancerListResult) IsEmpty() bool { + return lblr.Value == nil || len(*lblr.Value) == 0 +} + +// loadBalancerListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (lblr LoadBalancerListResult) loadBalancerListResultPreparer(ctx context.Context) (*http.Request, error) { + if lblr.NextLink == nil || len(to.String(lblr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(lblr.NextLink))) +} + +// LoadBalancerListResultPage contains a page of LoadBalancer values. +type LoadBalancerListResultPage struct { + fn func(context.Context, LoadBalancerListResult) (LoadBalancerListResult, error) + lblr LoadBalancerListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *LoadBalancerListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LoadBalancerListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.lblr) + if err != nil { + return err + } + page.lblr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *LoadBalancerListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page LoadBalancerListResultPage) NotDone() bool { + return !page.lblr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page LoadBalancerListResultPage) Response() LoadBalancerListResult { + return page.lblr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page LoadBalancerListResultPage) Values() []LoadBalancer { + if page.lblr.IsEmpty() { + return nil + } + return *page.lblr.Value +} + +// Creates a new instance of the LoadBalancerListResultPage type. +func NewLoadBalancerListResultPage(getNextPage func(context.Context, LoadBalancerListResult) (LoadBalancerListResult, error)) LoadBalancerListResultPage { + return LoadBalancerListResultPage{fn: getNextPage} +} + +// LoadBalancerLoadBalancingRuleListResult response for ListLoadBalancingRule API service call. +type LoadBalancerLoadBalancingRuleListResult struct { + autorest.Response `json:"-"` + // Value - A list of load balancing rules in a load balancer. + Value *[]LoadBalancingRule `json:"value,omitempty"` + // NextLink - READ-ONLY; The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// LoadBalancerLoadBalancingRuleListResultIterator provides access to a complete listing of +// LoadBalancingRule values. +type LoadBalancerLoadBalancingRuleListResultIterator struct { + i int + page LoadBalancerLoadBalancingRuleListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *LoadBalancerLoadBalancingRuleListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LoadBalancerLoadBalancingRuleListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *LoadBalancerLoadBalancingRuleListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter LoadBalancerLoadBalancingRuleListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter LoadBalancerLoadBalancingRuleListResultIterator) Response() LoadBalancerLoadBalancingRuleListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter LoadBalancerLoadBalancingRuleListResultIterator) Value() LoadBalancingRule { + if !iter.page.NotDone() { + return LoadBalancingRule{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the LoadBalancerLoadBalancingRuleListResultIterator type. +func NewLoadBalancerLoadBalancingRuleListResultIterator(page LoadBalancerLoadBalancingRuleListResultPage) LoadBalancerLoadBalancingRuleListResultIterator { + return LoadBalancerLoadBalancingRuleListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (lblbrlr LoadBalancerLoadBalancingRuleListResult) IsEmpty() bool { + return lblbrlr.Value == nil || len(*lblbrlr.Value) == 0 +} + +// loadBalancerLoadBalancingRuleListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (lblbrlr LoadBalancerLoadBalancingRuleListResult) loadBalancerLoadBalancingRuleListResultPreparer(ctx context.Context) (*http.Request, error) { + if lblbrlr.NextLink == nil || len(to.String(lblbrlr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(lblbrlr.NextLink))) +} + +// LoadBalancerLoadBalancingRuleListResultPage contains a page of LoadBalancingRule values. +type LoadBalancerLoadBalancingRuleListResultPage struct { + fn func(context.Context, LoadBalancerLoadBalancingRuleListResult) (LoadBalancerLoadBalancingRuleListResult, error) + lblbrlr LoadBalancerLoadBalancingRuleListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *LoadBalancerLoadBalancingRuleListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LoadBalancerLoadBalancingRuleListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.lblbrlr) + if err != nil { + return err + } + page.lblbrlr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *LoadBalancerLoadBalancingRuleListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page LoadBalancerLoadBalancingRuleListResultPage) NotDone() bool { + return !page.lblbrlr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page LoadBalancerLoadBalancingRuleListResultPage) Response() LoadBalancerLoadBalancingRuleListResult { + return page.lblbrlr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page LoadBalancerLoadBalancingRuleListResultPage) Values() []LoadBalancingRule { + if page.lblbrlr.IsEmpty() { + return nil + } + return *page.lblbrlr.Value +} + +// Creates a new instance of the LoadBalancerLoadBalancingRuleListResultPage type. +func NewLoadBalancerLoadBalancingRuleListResultPage(getNextPage func(context.Context, LoadBalancerLoadBalancingRuleListResult) (LoadBalancerLoadBalancingRuleListResult, error)) LoadBalancerLoadBalancingRuleListResultPage { + return LoadBalancerLoadBalancingRuleListResultPage{fn: getNextPage} +} + +// LoadBalancerOutboundRuleListResult response for ListOutboundRule API service call. +type LoadBalancerOutboundRuleListResult struct { + autorest.Response `json:"-"` + // Value - A list of outbound rules in a load balancer. + Value *[]OutboundRule `json:"value,omitempty"` + // NextLink - READ-ONLY; The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// LoadBalancerOutboundRuleListResultIterator provides access to a complete listing of OutboundRule values. +type LoadBalancerOutboundRuleListResultIterator struct { + i int + page LoadBalancerOutboundRuleListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *LoadBalancerOutboundRuleListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LoadBalancerOutboundRuleListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *LoadBalancerOutboundRuleListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter LoadBalancerOutboundRuleListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter LoadBalancerOutboundRuleListResultIterator) Response() LoadBalancerOutboundRuleListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter LoadBalancerOutboundRuleListResultIterator) Value() OutboundRule { + if !iter.page.NotDone() { + return OutboundRule{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the LoadBalancerOutboundRuleListResultIterator type. +func NewLoadBalancerOutboundRuleListResultIterator(page LoadBalancerOutboundRuleListResultPage) LoadBalancerOutboundRuleListResultIterator { + return LoadBalancerOutboundRuleListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (lborlr LoadBalancerOutboundRuleListResult) IsEmpty() bool { + return lborlr.Value == nil || len(*lborlr.Value) == 0 +} + +// loadBalancerOutboundRuleListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (lborlr LoadBalancerOutboundRuleListResult) loadBalancerOutboundRuleListResultPreparer(ctx context.Context) (*http.Request, error) { + if lborlr.NextLink == nil || len(to.String(lborlr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(lborlr.NextLink))) +} + +// LoadBalancerOutboundRuleListResultPage contains a page of OutboundRule values. +type LoadBalancerOutboundRuleListResultPage struct { + fn func(context.Context, LoadBalancerOutboundRuleListResult) (LoadBalancerOutboundRuleListResult, error) + lborlr LoadBalancerOutboundRuleListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *LoadBalancerOutboundRuleListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LoadBalancerOutboundRuleListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.lborlr) + if err != nil { + return err + } + page.lborlr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *LoadBalancerOutboundRuleListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page LoadBalancerOutboundRuleListResultPage) NotDone() bool { + return !page.lborlr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page LoadBalancerOutboundRuleListResultPage) Response() LoadBalancerOutboundRuleListResult { + return page.lborlr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page LoadBalancerOutboundRuleListResultPage) Values() []OutboundRule { + if page.lborlr.IsEmpty() { + return nil + } + return *page.lborlr.Value +} + +// Creates a new instance of the LoadBalancerOutboundRuleListResultPage type. +func NewLoadBalancerOutboundRuleListResultPage(getNextPage func(context.Context, LoadBalancerOutboundRuleListResult) (LoadBalancerOutboundRuleListResult, error)) LoadBalancerOutboundRuleListResultPage { + return LoadBalancerOutboundRuleListResultPage{fn: getNextPage} +} + +// LoadBalancerProbeListResult response for ListProbe API service call. +type LoadBalancerProbeListResult struct { + autorest.Response `json:"-"` + // Value - A list of probes in a load balancer. + Value *[]Probe `json:"value,omitempty"` + // NextLink - READ-ONLY; The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// LoadBalancerProbeListResultIterator provides access to a complete listing of Probe values. +type LoadBalancerProbeListResultIterator struct { + i int + page LoadBalancerProbeListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *LoadBalancerProbeListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LoadBalancerProbeListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *LoadBalancerProbeListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter LoadBalancerProbeListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter LoadBalancerProbeListResultIterator) Response() LoadBalancerProbeListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter LoadBalancerProbeListResultIterator) Value() Probe { + if !iter.page.NotDone() { + return Probe{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the LoadBalancerProbeListResultIterator type. +func NewLoadBalancerProbeListResultIterator(page LoadBalancerProbeListResultPage) LoadBalancerProbeListResultIterator { + return LoadBalancerProbeListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (lbplr LoadBalancerProbeListResult) IsEmpty() bool { + return lbplr.Value == nil || len(*lbplr.Value) == 0 +} + +// loadBalancerProbeListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (lbplr LoadBalancerProbeListResult) loadBalancerProbeListResultPreparer(ctx context.Context) (*http.Request, error) { + if lbplr.NextLink == nil || len(to.String(lbplr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(lbplr.NextLink))) +} + +// LoadBalancerProbeListResultPage contains a page of Probe values. +type LoadBalancerProbeListResultPage struct { + fn func(context.Context, LoadBalancerProbeListResult) (LoadBalancerProbeListResult, error) + lbplr LoadBalancerProbeListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *LoadBalancerProbeListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LoadBalancerProbeListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.lbplr) + if err != nil { + return err + } + page.lbplr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *LoadBalancerProbeListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page LoadBalancerProbeListResultPage) NotDone() bool { + return !page.lbplr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page LoadBalancerProbeListResultPage) Response() LoadBalancerProbeListResult { + return page.lbplr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page LoadBalancerProbeListResultPage) Values() []Probe { + if page.lbplr.IsEmpty() { + return nil + } + return *page.lbplr.Value +} + +// Creates a new instance of the LoadBalancerProbeListResultPage type. +func NewLoadBalancerProbeListResultPage(getNextPage func(context.Context, LoadBalancerProbeListResult) (LoadBalancerProbeListResult, error)) LoadBalancerProbeListResultPage { + return LoadBalancerProbeListResultPage{fn: getNextPage} +} + +// LoadBalancerPropertiesFormat properties of the load balancer. +type LoadBalancerPropertiesFormat struct { + // FrontendIPConfigurations - Object representing the frontend IPs to be used for the load balancer. + FrontendIPConfigurations *[]FrontendIPConfiguration `json:"frontendIPConfigurations,omitempty"` + // BackendAddressPools - Collection of backend address pools used by a load balancer. + BackendAddressPools *[]BackendAddressPool `json:"backendAddressPools,omitempty"` + // LoadBalancingRules - Object collection representing the load balancing rules Gets the provisioning. + LoadBalancingRules *[]LoadBalancingRule `json:"loadBalancingRules,omitempty"` + // Probes - Collection of probe objects used in the load balancer. + Probes *[]Probe `json:"probes,omitempty"` + // InboundNatRules - Collection of inbound NAT Rules used by a load balancer. Defining inbound NAT rules on your load balancer is mutually exclusive with defining an inbound NAT pool. Inbound NAT pools are referenced from virtual machine scale sets. NICs that are associated with individual virtual machines cannot reference an Inbound NAT pool. They have to reference individual inbound NAT rules. + InboundNatRules *[]InboundNatRule `json:"inboundNatRules,omitempty"` + // InboundNatPools - Defines an external port range for inbound NAT to a single backend port on NICs associated with a load balancer. Inbound NAT rules are created automatically for each NIC associated with the Load Balancer using an external port from this range. Defining an Inbound NAT pool on your Load Balancer is mutually exclusive with defining inbound Nat rules. Inbound NAT pools are referenced from virtual machine scale sets. NICs that are associated with individual virtual machines cannot reference an inbound NAT pool. They have to reference individual inbound NAT rules. + InboundNatPools *[]InboundNatPool `json:"inboundNatPools,omitempty"` + // OutboundRules - The outbound rules. + OutboundRules *[]OutboundRule `json:"outboundRules,omitempty"` + // ResourceGUID - The resource GUID property of the load balancer resource. + ResourceGUID *string `json:"resourceGuid,omitempty"` + // ProvisioningState - The provisioning state of the load balancer resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// LoadBalancersCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type LoadBalancersCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *LoadBalancersCreateOrUpdateFuture) Result(client LoadBalancersClient) (lb LoadBalancer, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancersCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.LoadBalancersCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if lb.Response.Response, err = future.GetResult(sender); err == nil && lb.Response.Response.StatusCode != http.StatusNoContent { + lb, err = client.CreateOrUpdateResponder(lb.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancersCreateOrUpdateFuture", "Result", lb.Response.Response, "Failure responding to request") + } + } + return +} + +// LoadBalancersDeleteFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type LoadBalancersDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *LoadBalancersDeleteFuture) Result(client LoadBalancersClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancersDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.LoadBalancersDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// LoadBalancerSku SKU of a load balancer. +type LoadBalancerSku struct { + // Name - Name of a load balancer SKU. Possible values include: 'LoadBalancerSkuNameBasic', 'LoadBalancerSkuNameStandard' + Name LoadBalancerSkuName `json:"name,omitempty"` +} + +// LoadBalancersUpdateTagsFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type LoadBalancersUpdateTagsFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *LoadBalancersUpdateTagsFuture) Result(client LoadBalancersClient) (lb LoadBalancer, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancersUpdateTagsFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.LoadBalancersUpdateTagsFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if lb.Response.Response, err = future.GetResult(sender); err == nil && lb.Response.Response.StatusCode != http.StatusNoContent { + lb, err = client.UpdateTagsResponder(lb.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancersUpdateTagsFuture", "Result", lb.Response.Response, "Failure responding to request") + } + } + return +} + +// LoadBalancingRule a load balancing rule for a load balancer. +type LoadBalancingRule struct { + autorest.Response `json:"-"` + // LoadBalancingRulePropertiesFormat - Properties of load balancer load balancing rule. + *LoadBalancingRulePropertiesFormat `json:"properties,omitempty"` + // Name - The name of the resource that is unique within the set of load balancing rules used by the load balancer. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // Type - READ-ONLY; Type of the resource. + Type *string `json:"type,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for LoadBalancingRule. +func (lbr LoadBalancingRule) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if lbr.LoadBalancingRulePropertiesFormat != nil { + objectMap["properties"] = lbr.LoadBalancingRulePropertiesFormat + } + if lbr.Name != nil { + objectMap["name"] = lbr.Name + } + if lbr.Etag != nil { + objectMap["etag"] = lbr.Etag + } + if lbr.ID != nil { + objectMap["id"] = lbr.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for LoadBalancingRule struct. +func (lbr *LoadBalancingRule) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var loadBalancingRulePropertiesFormat LoadBalancingRulePropertiesFormat + err = json.Unmarshal(*v, &loadBalancingRulePropertiesFormat) + if err != nil { + return err + } + lbr.LoadBalancingRulePropertiesFormat = &loadBalancingRulePropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + lbr.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + lbr.Etag = &etag + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + lbr.Type = &typeVar + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + lbr.ID = &ID + } + } + } + + return nil +} + +// LoadBalancingRulePropertiesFormat properties of the load balancer. +type LoadBalancingRulePropertiesFormat struct { + // FrontendIPConfiguration - A reference to frontend IP addresses. + FrontendIPConfiguration *SubResource `json:"frontendIPConfiguration,omitempty"` + // BackendAddressPool - A reference to a pool of DIPs. Inbound traffic is randomly load balanced across IPs in the backend IPs. + BackendAddressPool *SubResource `json:"backendAddressPool,omitempty"` + // Probe - The reference of the load balancer probe used by the load balancing rule. + Probe *SubResource `json:"probe,omitempty"` + // Protocol - The reference to the transport protocol used by the load balancing rule. Possible values include: 'TransportProtocolUDP', 'TransportProtocolTCP', 'TransportProtocolAll' + Protocol TransportProtocol `json:"protocol,omitempty"` + // LoadDistribution - The load distribution policy for this rule. Possible values include: 'LoadDistributionDefault', 'LoadDistributionSourceIP', 'LoadDistributionSourceIPProtocol' + LoadDistribution LoadDistribution `json:"loadDistribution,omitempty"` + // FrontendPort - The port for the external endpoint. Port numbers for each rule must be unique within the Load Balancer. Acceptable values are between 0 and 65534. Note that value 0 enables "Any Port". + FrontendPort *int32 `json:"frontendPort,omitempty"` + // BackendPort - The port used for internal connections on the endpoint. Acceptable values are between 0 and 65535. Note that value 0 enables "Any Port". + BackendPort *int32 `json:"backendPort,omitempty"` + // IdleTimeoutInMinutes - The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The default value is 4 minutes. This element is only used when the protocol is set to TCP. + IdleTimeoutInMinutes *int32 `json:"idleTimeoutInMinutes,omitempty"` + // EnableFloatingIP - Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL AlwaysOn Availability Group. This setting is required when using the SQL AlwaysOn Availability Groups in SQL server. This setting can't be changed after you create the endpoint. + EnableFloatingIP *bool `json:"enableFloatingIP,omitempty"` + // EnableTCPReset - Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This element is only used when the protocol is set to TCP. + EnableTCPReset *bool `json:"enableTcpReset,omitempty"` + // DisableOutboundSnat - Configures SNAT for the VMs in the backend pool to use the publicIP address specified in the frontend of the load balancing rule. + DisableOutboundSnat *bool `json:"disableOutboundSnat,omitempty"` + // ProvisioningState - The provisioning state of the load balancing rule resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// LocalNetworkGateway a common class for general resource information. +type LocalNetworkGateway struct { + autorest.Response `json:"-"` + // LocalNetworkGatewayPropertiesFormat - Properties of the local network gateway. + *LocalNetworkGatewayPropertiesFormat `json:"properties,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for LocalNetworkGateway. +func (lng LocalNetworkGateway) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if lng.LocalNetworkGatewayPropertiesFormat != nil { + objectMap["properties"] = lng.LocalNetworkGatewayPropertiesFormat + } + if lng.Etag != nil { + objectMap["etag"] = lng.Etag + } + if lng.ID != nil { + objectMap["id"] = lng.ID + } + if lng.Location != nil { + objectMap["location"] = lng.Location + } + if lng.Tags != nil { + objectMap["tags"] = lng.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for LocalNetworkGateway struct. +func (lng *LocalNetworkGateway) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var localNetworkGatewayPropertiesFormat LocalNetworkGatewayPropertiesFormat + err = json.Unmarshal(*v, &localNetworkGatewayPropertiesFormat) + if err != nil { + return err + } + lng.LocalNetworkGatewayPropertiesFormat = &localNetworkGatewayPropertiesFormat + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + lng.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + lng.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + lng.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + lng.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + lng.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + lng.Tags = tags + } + } + } + + return nil +} + +// LocalNetworkGatewayListResult response for ListLocalNetworkGateways API service call. +type LocalNetworkGatewayListResult struct { + autorest.Response `json:"-"` + // Value - A list of local network gateways that exists in a resource group. + Value *[]LocalNetworkGateway `json:"value,omitempty"` + // NextLink - READ-ONLY; The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// LocalNetworkGatewayListResultIterator provides access to a complete listing of LocalNetworkGateway +// values. +type LocalNetworkGatewayListResultIterator struct { + i int + page LocalNetworkGatewayListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *LocalNetworkGatewayListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LocalNetworkGatewayListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *LocalNetworkGatewayListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter LocalNetworkGatewayListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter LocalNetworkGatewayListResultIterator) Response() LocalNetworkGatewayListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter LocalNetworkGatewayListResultIterator) Value() LocalNetworkGateway { + if !iter.page.NotDone() { + return LocalNetworkGateway{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the LocalNetworkGatewayListResultIterator type. +func NewLocalNetworkGatewayListResultIterator(page LocalNetworkGatewayListResultPage) LocalNetworkGatewayListResultIterator { + return LocalNetworkGatewayListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (lnglr LocalNetworkGatewayListResult) IsEmpty() bool { + return lnglr.Value == nil || len(*lnglr.Value) == 0 +} + +// localNetworkGatewayListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (lnglr LocalNetworkGatewayListResult) localNetworkGatewayListResultPreparer(ctx context.Context) (*http.Request, error) { + if lnglr.NextLink == nil || len(to.String(lnglr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(lnglr.NextLink))) +} + +// LocalNetworkGatewayListResultPage contains a page of LocalNetworkGateway values. +type LocalNetworkGatewayListResultPage struct { + fn func(context.Context, LocalNetworkGatewayListResult) (LocalNetworkGatewayListResult, error) + lnglr LocalNetworkGatewayListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *LocalNetworkGatewayListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LocalNetworkGatewayListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.lnglr) + if err != nil { + return err + } + page.lnglr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *LocalNetworkGatewayListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page LocalNetworkGatewayListResultPage) NotDone() bool { + return !page.lnglr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page LocalNetworkGatewayListResultPage) Response() LocalNetworkGatewayListResult { + return page.lnglr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page LocalNetworkGatewayListResultPage) Values() []LocalNetworkGateway { + if page.lnglr.IsEmpty() { + return nil + } + return *page.lnglr.Value +} + +// Creates a new instance of the LocalNetworkGatewayListResultPage type. +func NewLocalNetworkGatewayListResultPage(getNextPage func(context.Context, LocalNetworkGatewayListResult) (LocalNetworkGatewayListResult, error)) LocalNetworkGatewayListResultPage { + return LocalNetworkGatewayListResultPage{fn: getNextPage} +} + +// LocalNetworkGatewayPropertiesFormat localNetworkGateway properties. +type LocalNetworkGatewayPropertiesFormat struct { + // LocalNetworkAddressSpace - Local network site address space. + LocalNetworkAddressSpace *AddressSpace `json:"localNetworkAddressSpace,omitempty"` + // GatewayIPAddress - IP address of local network gateway. + GatewayIPAddress *string `json:"gatewayIpAddress,omitempty"` + // BgpSettings - Local network gateway's BGP speaker settings. + BgpSettings *BgpSettings `json:"bgpSettings,omitempty"` + // ResourceGUID - The resource GUID property of the local network gateway resource. + ResourceGUID *string `json:"resourceGuid,omitempty"` + // ProvisioningState - READ-ONLY; The provisioning state of the local network gateway resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// LocalNetworkGatewaysCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type LocalNetworkGatewaysCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *LocalNetworkGatewaysCreateOrUpdateFuture) Result(client LocalNetworkGatewaysClient) (lng LocalNetworkGateway, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LocalNetworkGatewaysCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.LocalNetworkGatewaysCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if lng.Response.Response, err = future.GetResult(sender); err == nil && lng.Response.Response.StatusCode != http.StatusNoContent { + lng, err = client.CreateOrUpdateResponder(lng.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LocalNetworkGatewaysCreateOrUpdateFuture", "Result", lng.Response.Response, "Failure responding to request") + } + } + return +} + +// LocalNetworkGatewaysDeleteFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type LocalNetworkGatewaysDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *LocalNetworkGatewaysDeleteFuture) Result(client LocalNetworkGatewaysClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LocalNetworkGatewaysDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.LocalNetworkGatewaysDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// LocalNetworkGatewaysUpdateTagsFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type LocalNetworkGatewaysUpdateTagsFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *LocalNetworkGatewaysUpdateTagsFuture) Result(client LocalNetworkGatewaysClient) (lng LocalNetworkGateway, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LocalNetworkGatewaysUpdateTagsFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.LocalNetworkGatewaysUpdateTagsFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if lng.Response.Response, err = future.GetResult(sender); err == nil && lng.Response.Response.StatusCode != http.StatusNoContent { + lng, err = client.UpdateTagsResponder(lng.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LocalNetworkGatewaysUpdateTagsFuture", "Result", lng.Response.Response, "Failure responding to request") + } + } + return +} + +// LogSpecification description of logging specification. +type LogSpecification struct { + // Name - The name of the specification. + Name *string `json:"name,omitempty"` + // DisplayName - The display name of the specification. + DisplayName *string `json:"displayName,omitempty"` + // BlobDuration - Duration of the blob. + BlobDuration *string `json:"blobDuration,omitempty"` +} + +// ManagedServiceIdentity identity for the resource. +type ManagedServiceIdentity struct { + // PrincipalID - READ-ONLY; The principal id of the system assigned identity. This property will only be provided for a system assigned identity. + PrincipalID *string `json:"principalId,omitempty"` + // TenantID - READ-ONLY; The tenant id of the system assigned identity. This property will only be provided for a system assigned identity. + TenantID *string `json:"tenantId,omitempty"` + // Type - The type of identity used for the resource. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the virtual machine. Possible values include: 'ResourceIdentityTypeSystemAssigned', 'ResourceIdentityTypeUserAssigned', 'ResourceIdentityTypeSystemAssignedUserAssigned', 'ResourceIdentityTypeNone' + Type ResourceIdentityType `json:"type,omitempty"` + // UserAssignedIdentities - The list of user identities associated with resource. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + UserAssignedIdentities map[string]*ManagedServiceIdentityUserAssignedIdentitiesValue `json:"userAssignedIdentities"` +} + +// MarshalJSON is the custom marshaler for ManagedServiceIdentity. +func (msi ManagedServiceIdentity) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if msi.Type != "" { + objectMap["type"] = msi.Type + } + if msi.UserAssignedIdentities != nil { + objectMap["userAssignedIdentities"] = msi.UserAssignedIdentities + } + return json.Marshal(objectMap) +} + +// ManagedServiceIdentityUserAssignedIdentitiesValue ... +type ManagedServiceIdentityUserAssignedIdentitiesValue struct { + // PrincipalID - READ-ONLY; The principal id of user assigned identity. + PrincipalID *string `json:"principalId,omitempty"` + // ClientID - READ-ONLY; The client id of user assigned identity. + ClientID *string `json:"clientId,omitempty"` +} + +// MatchCondition define match conditions. +type MatchCondition struct { + // MatchVariables - List of match variables. + MatchVariables *[]MatchVariable `json:"matchVariables,omitempty"` + // Operator - Describes operator to be matched. Possible values include: 'WebApplicationFirewallOperatorIPMatch', 'WebApplicationFirewallOperatorEqual', 'WebApplicationFirewallOperatorContains', 'WebApplicationFirewallOperatorLessThan', 'WebApplicationFirewallOperatorGreaterThan', 'WebApplicationFirewallOperatorLessThanOrEqual', 'WebApplicationFirewallOperatorGreaterThanOrEqual', 'WebApplicationFirewallOperatorBeginsWith', 'WebApplicationFirewallOperatorEndsWith', 'WebApplicationFirewallOperatorRegex' + Operator WebApplicationFirewallOperator `json:"operator,omitempty"` + // NegationConditon - Describes if this is negate condition or not. + NegationConditon *bool `json:"negationConditon,omitempty"` + // MatchValues - Match value. + MatchValues *[]string `json:"matchValues,omitempty"` + // Transforms - List of transforms. + Transforms *[]WebApplicationFirewallTransform `json:"transforms,omitempty"` +} + +// MatchedRule matched rule. +type MatchedRule struct { + // RuleName - Name of the matched network security rule. + RuleName *string `json:"ruleName,omitempty"` + // Action - The network traffic is allowed or denied. Possible values are 'Allow' and 'Deny'. + Action *string `json:"action,omitempty"` +} + +// MatchVariable define match variables. +type MatchVariable struct { + // VariableName - Match Variable. Possible values include: 'RemoteAddr', 'RequestMethod', 'QueryString', 'PostArgs', 'RequestURI', 'RequestHeaders', 'RequestBody', 'RequestCookies' + VariableName WebApplicationFirewallMatchVariable `json:"variableName,omitempty"` + // Selector - Describes field of the matchVariable collection. + Selector *string `json:"selector,omitempty"` +} + +// MetricSpecification description of metrics specification. +type MetricSpecification struct { + // Name - The name of the metric. + Name *string `json:"name,omitempty"` + // DisplayName - The display name of the metric. + DisplayName *string `json:"displayName,omitempty"` + // DisplayDescription - The description of the metric. + DisplayDescription *string `json:"displayDescription,omitempty"` + // Unit - Units the metric to be displayed in. + Unit *string `json:"unit,omitempty"` + // AggregationType - The aggregation type. + AggregationType *string `json:"aggregationType,omitempty"` + // Availabilities - List of availability. + Availabilities *[]Availability `json:"availabilities,omitempty"` + // EnableRegionalMdmAccount - Whether regional MDM account enabled. + EnableRegionalMdmAccount *bool `json:"enableRegionalMdmAccount,omitempty"` + // FillGapWithZero - Whether gaps would be filled with zeros. + FillGapWithZero *bool `json:"fillGapWithZero,omitempty"` + // MetricFilterPattern - Pattern for the filter of the metric. + MetricFilterPattern *string `json:"metricFilterPattern,omitempty"` + // Dimensions - List of dimensions. + Dimensions *[]Dimension `json:"dimensions,omitempty"` + // IsInternal - Whether the metric is internal. + IsInternal *bool `json:"isInternal,omitempty"` + // SourceMdmAccount - The source MDM account. + SourceMdmAccount *string `json:"sourceMdmAccount,omitempty"` + // SourceMdmNamespace - The source MDM namespace. + SourceMdmNamespace *string `json:"sourceMdmNamespace,omitempty"` + // ResourceIDDimensionNameOverride - The resource Id dimension name override. + ResourceIDDimensionNameOverride *string `json:"resourceIdDimensionNameOverride,omitempty"` +} + +// NatGateway nat Gateway resource. +type NatGateway struct { + autorest.Response `json:"-"` + // Sku - The nat gateway SKU. + Sku *NatGatewaySku `json:"sku,omitempty"` + // NatGatewayPropertiesFormat - Nat Gateway properties. + *NatGatewayPropertiesFormat `json:"properties,omitempty"` + // Zones - A list of availability zones denoting the zone in which Nat Gateway should be deployed. + Zones *[]string `json:"zones,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for NatGateway. +func (ng NatGateway) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if ng.Sku != nil { + objectMap["sku"] = ng.Sku + } + if ng.NatGatewayPropertiesFormat != nil { + objectMap["properties"] = ng.NatGatewayPropertiesFormat + } + if ng.Zones != nil { + objectMap["zones"] = ng.Zones + } + if ng.Etag != nil { + objectMap["etag"] = ng.Etag + } + if ng.ID != nil { + objectMap["id"] = ng.ID + } + if ng.Location != nil { + objectMap["location"] = ng.Location + } + if ng.Tags != nil { + objectMap["tags"] = ng.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for NatGateway struct. +func (ng *NatGateway) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "sku": + if v != nil { + var sku NatGatewaySku + err = json.Unmarshal(*v, &sku) + if err != nil { + return err + } + ng.Sku = &sku + } + case "properties": + if v != nil { + var natGatewayPropertiesFormat NatGatewayPropertiesFormat + err = json.Unmarshal(*v, &natGatewayPropertiesFormat) + if err != nil { + return err + } + ng.NatGatewayPropertiesFormat = &natGatewayPropertiesFormat + } + case "zones": + if v != nil { + var zones []string + err = json.Unmarshal(*v, &zones) + if err != nil { + return err + } + ng.Zones = &zones + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + ng.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + ng.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + ng.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ng.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + ng.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + ng.Tags = tags + } + } + } + + return nil +} + +// NatGatewayListResult response for ListNatGateways API service call. +type NatGatewayListResult struct { + autorest.Response `json:"-"` + // Value - A list of Nat Gateways that exists in a resource group. + Value *[]NatGateway `json:"value,omitempty"` + // NextLink - The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// NatGatewayListResultIterator provides access to a complete listing of NatGateway values. +type NatGatewayListResultIterator struct { + i int + page NatGatewayListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *NatGatewayListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/NatGatewayListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *NatGatewayListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter NatGatewayListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter NatGatewayListResultIterator) Response() NatGatewayListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter NatGatewayListResultIterator) Value() NatGateway { + if !iter.page.NotDone() { + return NatGateway{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the NatGatewayListResultIterator type. +func NewNatGatewayListResultIterator(page NatGatewayListResultPage) NatGatewayListResultIterator { + return NatGatewayListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (nglr NatGatewayListResult) IsEmpty() bool { + return nglr.Value == nil || len(*nglr.Value) == 0 +} + +// natGatewayListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (nglr NatGatewayListResult) natGatewayListResultPreparer(ctx context.Context) (*http.Request, error) { + if nglr.NextLink == nil || len(to.String(nglr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(nglr.NextLink))) +} + +// NatGatewayListResultPage contains a page of NatGateway values. +type NatGatewayListResultPage struct { + fn func(context.Context, NatGatewayListResult) (NatGatewayListResult, error) + nglr NatGatewayListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *NatGatewayListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/NatGatewayListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.nglr) + if err != nil { + return err + } + page.nglr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *NatGatewayListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page NatGatewayListResultPage) NotDone() bool { + return !page.nglr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page NatGatewayListResultPage) Response() NatGatewayListResult { + return page.nglr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page NatGatewayListResultPage) Values() []NatGateway { + if page.nglr.IsEmpty() { + return nil + } + return *page.nglr.Value +} + +// Creates a new instance of the NatGatewayListResultPage type. +func NewNatGatewayListResultPage(getNextPage func(context.Context, NatGatewayListResult) (NatGatewayListResult, error)) NatGatewayListResultPage { + return NatGatewayListResultPage{fn: getNextPage} +} + +// NatGatewayPropertiesFormat nat Gateway properties. +type NatGatewayPropertiesFormat struct { + // IdleTimeoutInMinutes - The idle timeout of the nat gateway. + IdleTimeoutInMinutes *int32 `json:"idleTimeoutInMinutes,omitempty"` + // PublicIPAddresses - An array of public ip addresses associated with the nat gateway resource. + PublicIPAddresses *[]SubResource `json:"publicIpAddresses,omitempty"` + // PublicIPPrefixes - An array of public ip prefixes associated with the nat gateway resource. + PublicIPPrefixes *[]SubResource `json:"publicIpPrefixes,omitempty"` + // Subnets - READ-ONLY; An array of references to the subnets using this nat gateway resource. + Subnets *[]SubResource `json:"subnets,omitempty"` + // ResourceGUID - The resource GUID property of the NAT gateway resource. + ResourceGUID *string `json:"resourceGuid,omitempty"` + // ProvisioningState - The provisioning state of the NAT gateway resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// NatGatewaysCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type NatGatewaysCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *NatGatewaysCreateOrUpdateFuture) Result(client NatGatewaysClient) (ng NatGateway, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.NatGatewaysCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.NatGatewaysCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if ng.Response.Response, err = future.GetResult(sender); err == nil && ng.Response.Response.StatusCode != http.StatusNoContent { + ng, err = client.CreateOrUpdateResponder(ng.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.NatGatewaysCreateOrUpdateFuture", "Result", ng.Response.Response, "Failure responding to request") + } + } + return +} + +// NatGatewaysDeleteFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type NatGatewaysDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *NatGatewaysDeleteFuture) Result(client NatGatewaysClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.NatGatewaysDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.NatGatewaysDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// NatGatewaySku SKU of nat gateway. +type NatGatewaySku struct { + // Name - Name of Nat Gateway SKU. Possible values include: 'Standard' + Name NatGatewaySkuName `json:"name,omitempty"` +} + +// NextHopParameters parameters that define the source and destination endpoint. +type NextHopParameters struct { + // TargetResourceID - The resource identifier of the target resource against which the action is to be performed. + TargetResourceID *string `json:"targetResourceId,omitempty"` + // SourceIPAddress - The source IP address. + SourceIPAddress *string `json:"sourceIPAddress,omitempty"` + // DestinationIPAddress - The destination IP address. + DestinationIPAddress *string `json:"destinationIPAddress,omitempty"` + // TargetNicResourceID - The NIC ID. (If VM has multiple NICs and IP forwarding is enabled on any of the nics, then this parameter must be specified. Otherwise optional). + TargetNicResourceID *string `json:"targetNicResourceId,omitempty"` +} + +// NextHopResult the information about next hop from the specified VM. +type NextHopResult struct { + autorest.Response `json:"-"` + // NextHopType - Next hop type. Possible values include: 'NextHopTypeInternet', 'NextHopTypeVirtualAppliance', 'NextHopTypeVirtualNetworkGateway', 'NextHopTypeVnetLocal', 'NextHopTypeHyperNetGateway', 'NextHopTypeNone' + NextHopType NextHopType `json:"nextHopType,omitempty"` + // NextHopIPAddress - Next hop IP Address. + NextHopIPAddress *string `json:"nextHopIpAddress,omitempty"` + // RouteTableID - The resource identifier for the route table associated with the route being returned. If the route being returned does not correspond to any user created routes then this field will be the string 'System Route'. + RouteTableID *string `json:"routeTableId,omitempty"` +} + +// Operation network REST API operation definition. +type Operation struct { + // Name - Operation name: {provider}/{resource}/{operation}. + Name *string `json:"name,omitempty"` + // Display - Display metadata associated with the operation. + Display *OperationDisplay `json:"display,omitempty"` + // Origin - Origin of the operation. + Origin *string `json:"origin,omitempty"` + // OperationPropertiesFormat - Operation properties format. + *OperationPropertiesFormat `json:"properties,omitempty"` +} + +// MarshalJSON is the custom marshaler for Operation. +func (o Operation) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if o.Name != nil { + objectMap["name"] = o.Name + } + if o.Display != nil { + objectMap["display"] = o.Display + } + if o.Origin != nil { + objectMap["origin"] = o.Origin + } + if o.OperationPropertiesFormat != nil { + objectMap["properties"] = o.OperationPropertiesFormat + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for Operation struct. +func (o *Operation) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + o.Name = &name + } + case "display": + if v != nil { + var display OperationDisplay + err = json.Unmarshal(*v, &display) + if err != nil { + return err + } + o.Display = &display + } + case "origin": + if v != nil { + var origin string + err = json.Unmarshal(*v, &origin) + if err != nil { + return err + } + o.Origin = &origin + } + case "properties": + if v != nil { + var operationPropertiesFormat OperationPropertiesFormat + err = json.Unmarshal(*v, &operationPropertiesFormat) + if err != nil { + return err + } + o.OperationPropertiesFormat = &operationPropertiesFormat + } + } + } + + return nil +} + +// OperationDisplay display metadata associated with the operation. +type OperationDisplay struct { + // Provider - Service provider: Microsoft Network. + Provider *string `json:"provider,omitempty"` + // Resource - Resource on which the operation is performed. + Resource *string `json:"resource,omitempty"` + // Operation - Type of the operation: get, read, delete, etc. + Operation *string `json:"operation,omitempty"` + // Description - Description of the operation. + Description *string `json:"description,omitempty"` +} + +// OperationListResult result of the request to list Network operations. It contains a list of operations +// and a URL link to get the next set of results. +type OperationListResult struct { + autorest.Response `json:"-"` + // Value - List of Network operations supported by the Network resource provider. + Value *[]Operation `json:"value,omitempty"` + // NextLink - URL to get the next set of operation list results if there are any. + NextLink *string `json:"nextLink,omitempty"` +} + +// OperationListResultIterator provides access to a complete listing of Operation values. +type OperationListResultIterator struct { + i int + page OperationListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *OperationListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/OperationListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *OperationListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter OperationListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter OperationListResultIterator) Response() OperationListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter OperationListResultIterator) Value() Operation { + if !iter.page.NotDone() { + return Operation{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the OperationListResultIterator type. +func NewOperationListResultIterator(page OperationListResultPage) OperationListResultIterator { + return OperationListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (olr OperationListResult) IsEmpty() bool { + return olr.Value == nil || len(*olr.Value) == 0 +} + +// operationListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (olr OperationListResult) operationListResultPreparer(ctx context.Context) (*http.Request, error) { + if olr.NextLink == nil || len(to.String(olr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(olr.NextLink))) +} + +// OperationListResultPage contains a page of Operation values. +type OperationListResultPage struct { + fn func(context.Context, OperationListResult) (OperationListResult, error) + olr OperationListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *OperationListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/OperationListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.olr) + if err != nil { + return err + } + page.olr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *OperationListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page OperationListResultPage) NotDone() bool { + return !page.olr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page OperationListResultPage) Response() OperationListResult { + return page.olr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page OperationListResultPage) Values() []Operation { + if page.olr.IsEmpty() { + return nil + } + return *page.olr.Value +} + +// Creates a new instance of the OperationListResultPage type. +func NewOperationListResultPage(getNextPage func(context.Context, OperationListResult) (OperationListResult, error)) OperationListResultPage { + return OperationListResultPage{fn: getNextPage} +} + +// OperationPropertiesFormat description of operation properties format. +type OperationPropertiesFormat struct { + // ServiceSpecification - Specification of the service. + ServiceSpecification *OperationPropertiesFormatServiceSpecification `json:"serviceSpecification,omitempty"` +} + +// OperationPropertiesFormatServiceSpecification specification of the service. +type OperationPropertiesFormatServiceSpecification struct { + // MetricSpecifications - Operation service specification. + MetricSpecifications *[]MetricSpecification `json:"metricSpecifications,omitempty"` + // LogSpecifications - Operation log specification. + LogSpecifications *[]LogSpecification `json:"logSpecifications,omitempty"` +} + +// OutboundRule outbound rule of the load balancer. +type OutboundRule struct { + autorest.Response `json:"-"` + // OutboundRulePropertiesFormat - Properties of load balancer outbound rule. + *OutboundRulePropertiesFormat `json:"properties,omitempty"` + // Name - The name of the resource that is unique within the set of outbound rules used by the load balancer. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // Type - READ-ONLY; Type of the resource. + Type *string `json:"type,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for OutboundRule. +func (or OutboundRule) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if or.OutboundRulePropertiesFormat != nil { + objectMap["properties"] = or.OutboundRulePropertiesFormat + } + if or.Name != nil { + objectMap["name"] = or.Name + } + if or.Etag != nil { + objectMap["etag"] = or.Etag + } + if or.ID != nil { + objectMap["id"] = or.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for OutboundRule struct. +func (or *OutboundRule) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var outboundRulePropertiesFormat OutboundRulePropertiesFormat + err = json.Unmarshal(*v, &outboundRulePropertiesFormat) + if err != nil { + return err + } + or.OutboundRulePropertiesFormat = &outboundRulePropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + or.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + or.Etag = &etag + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + or.Type = &typeVar + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + or.ID = &ID + } + } + } + + return nil +} + +// OutboundRulePropertiesFormat outbound rule of the load balancer. +type OutboundRulePropertiesFormat struct { + // AllocatedOutboundPorts - The number of outbound ports to be used for NAT. + AllocatedOutboundPorts *int32 `json:"allocatedOutboundPorts,omitempty"` + // FrontendIPConfigurations - The Frontend IP addresses of the load balancer. + FrontendIPConfigurations *[]SubResource `json:"frontendIPConfigurations,omitempty"` + // BackendAddressPool - A reference to a pool of DIPs. Outbound traffic is randomly load balanced across IPs in the backend IPs. + BackendAddressPool *SubResource `json:"backendAddressPool,omitempty"` + // ProvisioningState - The provisioning state of the outbound rule resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + // Protocol - The protocol for the outbound rule in load balancer. Possible values include: 'LoadBalancerOutboundRuleProtocolTCP', 'LoadBalancerOutboundRuleProtocolUDP', 'LoadBalancerOutboundRuleProtocolAll' + Protocol LoadBalancerOutboundRuleProtocol `json:"protocol,omitempty"` + // EnableTCPReset - Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This element is only used when the protocol is set to TCP. + EnableTCPReset *bool `json:"enableTcpReset,omitempty"` + // IdleTimeoutInMinutes - The timeout for the TCP idle connection. + IdleTimeoutInMinutes *int32 `json:"idleTimeoutInMinutes,omitempty"` +} + +// P2SVpnGateway p2SVpnGateway Resource. +type P2SVpnGateway struct { + autorest.Response `json:"-"` + // P2SVpnGatewayProperties - Properties of the P2SVpnGateway. + *P2SVpnGatewayProperties `json:"properties,omitempty"` + // Etag - READ-ONLY; A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for P2SVpnGateway. +func (pvg P2SVpnGateway) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if pvg.P2SVpnGatewayProperties != nil { + objectMap["properties"] = pvg.P2SVpnGatewayProperties + } + if pvg.ID != nil { + objectMap["id"] = pvg.ID + } + if pvg.Location != nil { + objectMap["location"] = pvg.Location + } + if pvg.Tags != nil { + objectMap["tags"] = pvg.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for P2SVpnGateway struct. +func (pvg *P2SVpnGateway) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var p2SVpnGatewayProperties P2SVpnGatewayProperties + err = json.Unmarshal(*v, &p2SVpnGatewayProperties) + if err != nil { + return err + } + pvg.P2SVpnGatewayProperties = &p2SVpnGatewayProperties + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + pvg.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + pvg.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + pvg.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + pvg.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + pvg.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + pvg.Tags = tags + } + } + } + + return nil +} + +// P2SVpnGatewayProperties parameters for P2SVpnGateway. +type P2SVpnGatewayProperties struct { + // VirtualHub - The VirtualHub to which the gateway belongs. + VirtualHub *SubResource `json:"virtualHub,omitempty"` + // ProvisioningState - The provisioning state of the P2S VPN gateway resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + // VpnGatewayScaleUnit - The scale unit for this p2s vpn gateway. + VpnGatewayScaleUnit *int32 `json:"vpnGatewayScaleUnit,omitempty"` + // P2SVpnServerConfiguration - The P2SVpnServerConfiguration to which the p2sVpnGateway is attached to. + P2SVpnServerConfiguration *SubResource `json:"p2SVpnServerConfiguration,omitempty"` + // VpnClientAddressPool - The reference of the address space resource which represents Address space for P2S VpnClient. + VpnClientAddressPool *AddressSpace `json:"vpnClientAddressPool,omitempty"` + // CustomRoutes - The reference of the address space resource which represents the custom routes specified by the customer for P2SVpnGateway and P2S VpnClient. + CustomRoutes *AddressSpace `json:"customRoutes,omitempty"` + // VpnClientConnectionHealth - READ-ONLY; All P2S VPN clients' connection health status. + VpnClientConnectionHealth *VpnClientConnectionHealth `json:"vpnClientConnectionHealth,omitempty"` +} + +// P2sVpnGatewaysCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type P2sVpnGatewaysCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *P2sVpnGatewaysCreateOrUpdateFuture) Result(client P2sVpnGatewaysClient) (pvg P2SVpnGateway, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.P2sVpnGatewaysCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.P2sVpnGatewaysCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if pvg.Response.Response, err = future.GetResult(sender); err == nil && pvg.Response.Response.StatusCode != http.StatusNoContent { + pvg, err = client.CreateOrUpdateResponder(pvg.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.P2sVpnGatewaysCreateOrUpdateFuture", "Result", pvg.Response.Response, "Failure responding to request") + } + } + return +} + +// P2sVpnGatewaysDeleteFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type P2sVpnGatewaysDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *P2sVpnGatewaysDeleteFuture) Result(client P2sVpnGatewaysClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.P2sVpnGatewaysDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.P2sVpnGatewaysDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// P2sVpnGatewaysGenerateVpnProfileFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type P2sVpnGatewaysGenerateVpnProfileFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *P2sVpnGatewaysGenerateVpnProfileFuture) Result(client P2sVpnGatewaysClient) (vpr VpnProfileResponse, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.P2sVpnGatewaysGenerateVpnProfileFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.P2sVpnGatewaysGenerateVpnProfileFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if vpr.Response.Response, err = future.GetResult(sender); err == nil && vpr.Response.Response.StatusCode != http.StatusNoContent { + vpr, err = client.GenerateVpnProfileResponder(vpr.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.P2sVpnGatewaysGenerateVpnProfileFuture", "Result", vpr.Response.Response, "Failure responding to request") + } + } + return +} + +// P2sVpnGatewaysGetP2sVpnConnectionHealthFuture an abstraction for monitoring and retrieving the results +// of a long-running operation. +type P2sVpnGatewaysGetP2sVpnConnectionHealthFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *P2sVpnGatewaysGetP2sVpnConnectionHealthFuture) Result(client P2sVpnGatewaysClient) (pvg P2SVpnGateway, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.P2sVpnGatewaysGetP2sVpnConnectionHealthFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.P2sVpnGatewaysGetP2sVpnConnectionHealthFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if pvg.Response.Response, err = future.GetResult(sender); err == nil && pvg.Response.Response.StatusCode != http.StatusNoContent { + pvg, err = client.GetP2sVpnConnectionHealthResponder(pvg.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.P2sVpnGatewaysGetP2sVpnConnectionHealthFuture", "Result", pvg.Response.Response, "Failure responding to request") + } + } + return +} + +// P2sVpnGatewaysUpdateTagsFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type P2sVpnGatewaysUpdateTagsFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *P2sVpnGatewaysUpdateTagsFuture) Result(client P2sVpnGatewaysClient) (pvg P2SVpnGateway, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.P2sVpnGatewaysUpdateTagsFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.P2sVpnGatewaysUpdateTagsFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if pvg.Response.Response, err = future.GetResult(sender); err == nil && pvg.Response.Response.StatusCode != http.StatusNoContent { + pvg, err = client.UpdateTagsResponder(pvg.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.P2sVpnGatewaysUpdateTagsFuture", "Result", pvg.Response.Response, "Failure responding to request") + } + } + return +} + +// P2SVpnProfileParameters vpn Client Parameters for package generation. +type P2SVpnProfileParameters struct { + // AuthenticationMethod - VPN client authentication method. Possible values include: 'EAPTLS', 'EAPMSCHAPv2' + AuthenticationMethod AuthenticationMethod `json:"authenticationMethod,omitempty"` +} + +// P2SVpnServerConfigRadiusClientRootCertificate radius client root certificate of +// P2SVpnServerConfiguration. +type P2SVpnServerConfigRadiusClientRootCertificate struct { + // P2SVpnServerConfigRadiusClientRootCertificatePropertiesFormat - Properties of the Radius client root certificate. + *P2SVpnServerConfigRadiusClientRootCertificatePropertiesFormat `json:"properties,omitempty"` + // Name - The name of the resource that is unique within a resource group. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for P2SVpnServerConfigRadiusClientRootCertificate. +func (pvscrcrc P2SVpnServerConfigRadiusClientRootCertificate) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if pvscrcrc.P2SVpnServerConfigRadiusClientRootCertificatePropertiesFormat != nil { + objectMap["properties"] = pvscrcrc.P2SVpnServerConfigRadiusClientRootCertificatePropertiesFormat + } + if pvscrcrc.Name != nil { + objectMap["name"] = pvscrcrc.Name + } + if pvscrcrc.Etag != nil { + objectMap["etag"] = pvscrcrc.Etag + } + if pvscrcrc.ID != nil { + objectMap["id"] = pvscrcrc.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for P2SVpnServerConfigRadiusClientRootCertificate struct. +func (pvscrcrc *P2SVpnServerConfigRadiusClientRootCertificate) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var p2SVpnServerConfigRadiusClientRootCertificatePropertiesFormat P2SVpnServerConfigRadiusClientRootCertificatePropertiesFormat + err = json.Unmarshal(*v, &p2SVpnServerConfigRadiusClientRootCertificatePropertiesFormat) + if err != nil { + return err + } + pvscrcrc.P2SVpnServerConfigRadiusClientRootCertificatePropertiesFormat = &p2SVpnServerConfigRadiusClientRootCertificatePropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + pvscrcrc.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + pvscrcrc.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + pvscrcrc.ID = &ID + } + } + } + + return nil +} + +// P2SVpnServerConfigRadiusClientRootCertificatePropertiesFormat properties of the Radius client root +// certificate of P2SVpnServerConfiguration. +type P2SVpnServerConfigRadiusClientRootCertificatePropertiesFormat struct { + // Thumbprint - The Radius client root certificate thumbprint. + Thumbprint *string `json:"thumbprint,omitempty"` + // ProvisioningState - READ-ONLY; The provisioning state of the radius client root certificate resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// P2SVpnServerConfigRadiusServerRootCertificate radius Server root certificate of +// P2SVpnServerConfiguration. +type P2SVpnServerConfigRadiusServerRootCertificate struct { + // P2SVpnServerConfigRadiusServerRootCertificatePropertiesFormat - Properties of the P2SVpnServerConfiguration Radius Server root certificate. + *P2SVpnServerConfigRadiusServerRootCertificatePropertiesFormat `json:"properties,omitempty"` + // Name - The name of the resource that is unique within a resource group. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for P2SVpnServerConfigRadiusServerRootCertificate. +func (pvscrsrc P2SVpnServerConfigRadiusServerRootCertificate) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if pvscrsrc.P2SVpnServerConfigRadiusServerRootCertificatePropertiesFormat != nil { + objectMap["properties"] = pvscrsrc.P2SVpnServerConfigRadiusServerRootCertificatePropertiesFormat + } + if pvscrsrc.Name != nil { + objectMap["name"] = pvscrsrc.Name + } + if pvscrsrc.Etag != nil { + objectMap["etag"] = pvscrsrc.Etag + } + if pvscrsrc.ID != nil { + objectMap["id"] = pvscrsrc.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for P2SVpnServerConfigRadiusServerRootCertificate struct. +func (pvscrsrc *P2SVpnServerConfigRadiusServerRootCertificate) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var p2SVpnServerConfigRadiusServerRootCertificatePropertiesFormat P2SVpnServerConfigRadiusServerRootCertificatePropertiesFormat + err = json.Unmarshal(*v, &p2SVpnServerConfigRadiusServerRootCertificatePropertiesFormat) + if err != nil { + return err + } + pvscrsrc.P2SVpnServerConfigRadiusServerRootCertificatePropertiesFormat = &p2SVpnServerConfigRadiusServerRootCertificatePropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + pvscrsrc.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + pvscrsrc.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + pvscrsrc.ID = &ID + } + } + } + + return nil +} + +// P2SVpnServerConfigRadiusServerRootCertificatePropertiesFormat properties of Radius Server root +// certificate of P2SVpnServerConfiguration. +type P2SVpnServerConfigRadiusServerRootCertificatePropertiesFormat struct { + // PublicCertData - The certificate public data. + PublicCertData *string `json:"publicCertData,omitempty"` + // ProvisioningState - READ-ONLY; The provisioning state of the radius server root certificate resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// P2SVpnServerConfiguration p2SVpnServerConfiguration Resource. +type P2SVpnServerConfiguration struct { + autorest.Response `json:"-"` + // P2SVpnServerConfigurationProperties - Properties of the P2SVpnServer configuration. + *P2SVpnServerConfigurationProperties `json:"properties,omitempty"` + // Name - The name of the resource that is unique within a resource group. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + // Etag - READ-ONLY; A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for P2SVpnServerConfiguration. +func (pvsc P2SVpnServerConfiguration) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if pvsc.P2SVpnServerConfigurationProperties != nil { + objectMap["properties"] = pvsc.P2SVpnServerConfigurationProperties + } + if pvsc.Name != nil { + objectMap["name"] = pvsc.Name + } + if pvsc.ID != nil { + objectMap["id"] = pvsc.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for P2SVpnServerConfiguration struct. +func (pvsc *P2SVpnServerConfiguration) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var p2SVpnServerConfigurationProperties P2SVpnServerConfigurationProperties + err = json.Unmarshal(*v, &p2SVpnServerConfigurationProperties) + if err != nil { + return err + } + pvsc.P2SVpnServerConfigurationProperties = &p2SVpnServerConfigurationProperties + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + pvsc.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + pvsc.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + pvsc.ID = &ID + } + } + } + + return nil +} + +// P2SVpnServerConfigurationProperties parameters for P2SVpnServerConfiguration. +type P2SVpnServerConfigurationProperties struct { + // Name - The name of the P2SVpnServerConfiguration that is unique within a VirtualWan in a resource group. This name can be used to access the resource along with Paren VirtualWan resource name. + Name *string `json:"name,omitempty"` + // VpnProtocols - VPN protocols for the P2SVpnServerConfiguration. + VpnProtocols *[]VpnGatewayTunnelingProtocol `json:"vpnProtocols,omitempty"` + // P2SVpnServerConfigVpnClientRootCertificates - VPN client root certificate of P2SVpnServerConfiguration. + P2SVpnServerConfigVpnClientRootCertificates *[]P2SVpnServerConfigVpnClientRootCertificate `json:"p2SVpnServerConfigVpnClientRootCertificates,omitempty"` + // P2SVpnServerConfigVpnClientRevokedCertificates - VPN client revoked certificate of P2SVpnServerConfiguration. + P2SVpnServerConfigVpnClientRevokedCertificates *[]P2SVpnServerConfigVpnClientRevokedCertificate `json:"p2SVpnServerConfigVpnClientRevokedCertificates,omitempty"` + // P2SVpnServerConfigRadiusServerRootCertificates - Radius Server root certificate of P2SVpnServerConfiguration. + P2SVpnServerConfigRadiusServerRootCertificates *[]P2SVpnServerConfigRadiusServerRootCertificate `json:"p2SVpnServerConfigRadiusServerRootCertificates,omitempty"` + // P2SVpnServerConfigRadiusClientRootCertificates - Radius client root certificate of P2SVpnServerConfiguration. + P2SVpnServerConfigRadiusClientRootCertificates *[]P2SVpnServerConfigRadiusClientRootCertificate `json:"p2SVpnServerConfigRadiusClientRootCertificates,omitempty"` + // VpnClientIpsecPolicies - VpnClientIpsecPolicies for P2SVpnServerConfiguration. + VpnClientIpsecPolicies *[]IpsecPolicy `json:"vpnClientIpsecPolicies,omitempty"` + // RadiusServerAddress - The radius server address property of the P2SVpnServerConfiguration resource for point to site client connection. + RadiusServerAddress *string `json:"radiusServerAddress,omitempty"` + // RadiusServerSecret - The radius secret property of the P2SVpnServerConfiguration resource for point to site client connection. + RadiusServerSecret *string `json:"radiusServerSecret,omitempty"` + // ProvisioningState - READ-ONLY; The provisioning state of the P2S VPN server configuration resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + // P2SVpnGateways - READ-ONLY; List of references to P2SVpnGateways. + P2SVpnGateways *[]SubResource `json:"p2SVpnGateways,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` +} + +// P2sVpnServerConfigurationsCreateOrUpdateFuture an abstraction for monitoring and retrieving the results +// of a long-running operation. +type P2sVpnServerConfigurationsCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *P2sVpnServerConfigurationsCreateOrUpdateFuture) Result(client P2sVpnServerConfigurationsClient) (pvsc P2SVpnServerConfiguration, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.P2sVpnServerConfigurationsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.P2sVpnServerConfigurationsCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if pvsc.Response.Response, err = future.GetResult(sender); err == nil && pvsc.Response.Response.StatusCode != http.StatusNoContent { + pvsc, err = client.CreateOrUpdateResponder(pvsc.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.P2sVpnServerConfigurationsCreateOrUpdateFuture", "Result", pvsc.Response.Response, "Failure responding to request") + } + } + return +} + +// P2sVpnServerConfigurationsDeleteFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type P2sVpnServerConfigurationsDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *P2sVpnServerConfigurationsDeleteFuture) Result(client P2sVpnServerConfigurationsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.P2sVpnServerConfigurationsDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.P2sVpnServerConfigurationsDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// P2SVpnServerConfigVpnClientRevokedCertificate VPN client revoked certificate of +// P2SVpnServerConfiguration. +type P2SVpnServerConfigVpnClientRevokedCertificate struct { + // P2SVpnServerConfigVpnClientRevokedCertificatePropertiesFormat - Properties of the vpn client revoked certificate. + *P2SVpnServerConfigVpnClientRevokedCertificatePropertiesFormat `json:"properties,omitempty"` + // Name - The name of the resource that is unique within a resource group. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for P2SVpnServerConfigVpnClientRevokedCertificate. +func (pvscvcrc P2SVpnServerConfigVpnClientRevokedCertificate) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if pvscvcrc.P2SVpnServerConfigVpnClientRevokedCertificatePropertiesFormat != nil { + objectMap["properties"] = pvscvcrc.P2SVpnServerConfigVpnClientRevokedCertificatePropertiesFormat + } + if pvscvcrc.Name != nil { + objectMap["name"] = pvscvcrc.Name + } + if pvscvcrc.Etag != nil { + objectMap["etag"] = pvscvcrc.Etag + } + if pvscvcrc.ID != nil { + objectMap["id"] = pvscvcrc.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for P2SVpnServerConfigVpnClientRevokedCertificate struct. +func (pvscvcrc *P2SVpnServerConfigVpnClientRevokedCertificate) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var p2SVpnServerConfigVpnClientRevokedCertificatePropertiesFormat P2SVpnServerConfigVpnClientRevokedCertificatePropertiesFormat + err = json.Unmarshal(*v, &p2SVpnServerConfigVpnClientRevokedCertificatePropertiesFormat) + if err != nil { + return err + } + pvscvcrc.P2SVpnServerConfigVpnClientRevokedCertificatePropertiesFormat = &p2SVpnServerConfigVpnClientRevokedCertificatePropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + pvscvcrc.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + pvscvcrc.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + pvscvcrc.ID = &ID + } + } + } + + return nil +} + +// P2SVpnServerConfigVpnClientRevokedCertificatePropertiesFormat properties of the revoked VPN client +// certificate of P2SVpnServerConfiguration. +type P2SVpnServerConfigVpnClientRevokedCertificatePropertiesFormat struct { + // Thumbprint - The revoked VPN client certificate thumbprint. + Thumbprint *string `json:"thumbprint,omitempty"` + // ProvisioningState - READ-ONLY; The provisioning state of the VPN client revoked certificate resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// P2SVpnServerConfigVpnClientRootCertificate VPN client root certificate of P2SVpnServerConfiguration. +type P2SVpnServerConfigVpnClientRootCertificate struct { + // P2SVpnServerConfigVpnClientRootCertificatePropertiesFormat - Properties of the P2SVpnServerConfiguration VPN client root certificate. + *P2SVpnServerConfigVpnClientRootCertificatePropertiesFormat `json:"properties,omitempty"` + // Name - The name of the resource that is unique within a resource group. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for P2SVpnServerConfigVpnClientRootCertificate. +func (pvscvcrc P2SVpnServerConfigVpnClientRootCertificate) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if pvscvcrc.P2SVpnServerConfigVpnClientRootCertificatePropertiesFormat != nil { + objectMap["properties"] = pvscvcrc.P2SVpnServerConfigVpnClientRootCertificatePropertiesFormat + } + if pvscvcrc.Name != nil { + objectMap["name"] = pvscvcrc.Name + } + if pvscvcrc.Etag != nil { + objectMap["etag"] = pvscvcrc.Etag + } + if pvscvcrc.ID != nil { + objectMap["id"] = pvscvcrc.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for P2SVpnServerConfigVpnClientRootCertificate struct. +func (pvscvcrc *P2SVpnServerConfigVpnClientRootCertificate) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var p2SVpnServerConfigVpnClientRootCertificatePropertiesFormat P2SVpnServerConfigVpnClientRootCertificatePropertiesFormat + err = json.Unmarshal(*v, &p2SVpnServerConfigVpnClientRootCertificatePropertiesFormat) + if err != nil { + return err + } + pvscvcrc.P2SVpnServerConfigVpnClientRootCertificatePropertiesFormat = &p2SVpnServerConfigVpnClientRootCertificatePropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + pvscvcrc.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + pvscvcrc.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + pvscvcrc.ID = &ID + } + } + } + + return nil +} + +// P2SVpnServerConfigVpnClientRootCertificatePropertiesFormat properties of VPN client root certificate of +// P2SVpnServerConfiguration. +type P2SVpnServerConfigVpnClientRootCertificatePropertiesFormat struct { + // PublicCertData - The certificate public data. + PublicCertData *string `json:"publicCertData,omitempty"` + // ProvisioningState - READ-ONLY; The provisioning state of the VPN client root certificate resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// PacketCapture parameters that define the create packet capture operation. +type PacketCapture struct { + // PacketCaptureParameters - Properties of the packet capture. + *PacketCaptureParameters `json:"properties,omitempty"` +} + +// MarshalJSON is the custom marshaler for PacketCapture. +func (pc PacketCapture) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if pc.PacketCaptureParameters != nil { + objectMap["properties"] = pc.PacketCaptureParameters + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for PacketCapture struct. +func (pc *PacketCapture) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var packetCaptureParameters PacketCaptureParameters + err = json.Unmarshal(*v, &packetCaptureParameters) + if err != nil { + return err + } + pc.PacketCaptureParameters = &packetCaptureParameters + } + } + } + + return nil +} + +// PacketCaptureFilter filter that is applied to packet capture request. Multiple filters can be applied. +type PacketCaptureFilter struct { + // Protocol - Protocol to be filtered on. Possible values include: 'PcProtocolTCP', 'PcProtocolUDP', 'PcProtocolAny' + Protocol PcProtocol `json:"protocol,omitempty"` + // LocalIPAddress - Local IP Address to be filtered on. Notation: "127.0.0.1" for single address entry. "127.0.0.1-127.0.0.255" for range. "127.0.0.1;127.0.0.5"? for multiple entries. Multiple ranges not currently supported. Mixing ranges with multiple entries not currently supported. Default = null. + LocalIPAddress *string `json:"localIPAddress,omitempty"` + // RemoteIPAddress - Local IP Address to be filtered on. Notation: "127.0.0.1" for single address entry. "127.0.0.1-127.0.0.255" for range. "127.0.0.1;127.0.0.5;" for multiple entries. Multiple ranges not currently supported. Mixing ranges with multiple entries not currently supported. Default = null. + RemoteIPAddress *string `json:"remoteIPAddress,omitempty"` + // LocalPort - Local port to be filtered on. Notation: "80" for single port entry."80-85" for range. "80;443;" for multiple entries. Multiple ranges not currently supported. Mixing ranges with multiple entries not currently supported. Default = null. + LocalPort *string `json:"localPort,omitempty"` + // RemotePort - Remote port to be filtered on. Notation: "80" for single port entry."80-85" for range. "80;443;" for multiple entries. Multiple ranges not currently supported. Mixing ranges with multiple entries not currently supported. Default = null. + RemotePort *string `json:"remotePort,omitempty"` +} + +// PacketCaptureListResult list of packet capture sessions. +type PacketCaptureListResult struct { + autorest.Response `json:"-"` + // Value - Information about packet capture sessions. + Value *[]PacketCaptureResult `json:"value,omitempty"` +} + +// PacketCaptureParameters parameters that define the create packet capture operation. +type PacketCaptureParameters struct { + // Target - The ID of the targeted resource, only VM is currently supported. + Target *string `json:"target,omitempty"` + // BytesToCapturePerPacket - Number of bytes captured per packet, the remaining bytes are truncated. + BytesToCapturePerPacket *int32 `json:"bytesToCapturePerPacket,omitempty"` + // TotalBytesPerSession - Maximum size of the capture output. + TotalBytesPerSession *int32 `json:"totalBytesPerSession,omitempty"` + // TimeLimitInSeconds - Maximum duration of the capture session in seconds. + TimeLimitInSeconds *int32 `json:"timeLimitInSeconds,omitempty"` + // StorageLocation - Describes the storage location for a packet capture session. + StorageLocation *PacketCaptureStorageLocation `json:"storageLocation,omitempty"` + // Filters - A list of packet capture filters. + Filters *[]PacketCaptureFilter `json:"filters,omitempty"` +} + +// PacketCaptureQueryStatusResult status of packet capture session. +type PacketCaptureQueryStatusResult struct { + autorest.Response `json:"-"` + // Name - The name of the packet capture resource. + Name *string `json:"name,omitempty"` + // ID - The ID of the packet capture resource. + ID *string `json:"id,omitempty"` + // CaptureStartTime - The start time of the packet capture session. + CaptureStartTime *date.Time `json:"captureStartTime,omitempty"` + // PacketCaptureStatus - The status of the packet capture session. Possible values include: 'PcStatusNotStarted', 'PcStatusRunning', 'PcStatusStopped', 'PcStatusError', 'PcStatusUnknown' + PacketCaptureStatus PcStatus `json:"packetCaptureStatus,omitempty"` + // StopReason - The reason the current packet capture session was stopped. + StopReason *string `json:"stopReason,omitempty"` + // PacketCaptureError - List of errors of packet capture session. + PacketCaptureError *[]PcError `json:"packetCaptureError,omitempty"` +} + +// PacketCaptureResult information about packet capture session. +type PacketCaptureResult struct { + autorest.Response `json:"-"` + // Name - READ-ONLY; Name of the packet capture session. + Name *string `json:"name,omitempty"` + // ID - READ-ONLY; ID of the packet capture operation. + ID *string `json:"id,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // PacketCaptureResultProperties - Properties of the packet capture result. + *PacketCaptureResultProperties `json:"properties,omitempty"` +} + +// MarshalJSON is the custom marshaler for PacketCaptureResult. +func (pcr PacketCaptureResult) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if pcr.Etag != nil { + objectMap["etag"] = pcr.Etag + } + if pcr.PacketCaptureResultProperties != nil { + objectMap["properties"] = pcr.PacketCaptureResultProperties + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for PacketCaptureResult struct. +func (pcr *PacketCaptureResult) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + pcr.Name = &name + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + pcr.ID = &ID + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + pcr.Etag = &etag + } + case "properties": + if v != nil { + var packetCaptureResultProperties PacketCaptureResultProperties + err = json.Unmarshal(*v, &packetCaptureResultProperties) + if err != nil { + return err + } + pcr.PacketCaptureResultProperties = &packetCaptureResultProperties + } + } + } + + return nil +} + +// PacketCaptureResultProperties describes the properties of a packet capture session. +type PacketCaptureResultProperties struct { + // ProvisioningState - The provisioning state of the packet capture session. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + // Target - The ID of the targeted resource, only VM is currently supported. + Target *string `json:"target,omitempty"` + // BytesToCapturePerPacket - Number of bytes captured per packet, the remaining bytes are truncated. + BytesToCapturePerPacket *int32 `json:"bytesToCapturePerPacket,omitempty"` + // TotalBytesPerSession - Maximum size of the capture output. + TotalBytesPerSession *int32 `json:"totalBytesPerSession,omitempty"` + // TimeLimitInSeconds - Maximum duration of the capture session in seconds. + TimeLimitInSeconds *int32 `json:"timeLimitInSeconds,omitempty"` + // StorageLocation - Describes the storage location for a packet capture session. + StorageLocation *PacketCaptureStorageLocation `json:"storageLocation,omitempty"` + // Filters - A list of packet capture filters. + Filters *[]PacketCaptureFilter `json:"filters,omitempty"` +} + +// PacketCapturesCreateFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type PacketCapturesCreateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *PacketCapturesCreateFuture) Result(client PacketCapturesClient) (pcr PacketCaptureResult, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PacketCapturesCreateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.PacketCapturesCreateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if pcr.Response.Response, err = future.GetResult(sender); err == nil && pcr.Response.Response.StatusCode != http.StatusNoContent { + pcr, err = client.CreateResponder(pcr.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PacketCapturesCreateFuture", "Result", pcr.Response.Response, "Failure responding to request") + } + } + return +} + +// PacketCapturesDeleteFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type PacketCapturesDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *PacketCapturesDeleteFuture) Result(client PacketCapturesClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PacketCapturesDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.PacketCapturesDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// PacketCapturesGetStatusFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type PacketCapturesGetStatusFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *PacketCapturesGetStatusFuture) Result(client PacketCapturesClient) (pcqsr PacketCaptureQueryStatusResult, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PacketCapturesGetStatusFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.PacketCapturesGetStatusFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if pcqsr.Response.Response, err = future.GetResult(sender); err == nil && pcqsr.Response.Response.StatusCode != http.StatusNoContent { + pcqsr, err = client.GetStatusResponder(pcqsr.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PacketCapturesGetStatusFuture", "Result", pcqsr.Response.Response, "Failure responding to request") + } + } + return +} + +// PacketCapturesStopFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type PacketCapturesStopFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *PacketCapturesStopFuture) Result(client PacketCapturesClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PacketCapturesStopFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.PacketCapturesStopFuture") + return + } + ar.Response = future.Response() + return +} + +// PacketCaptureStorageLocation describes the storage location for a packet capture session. +type PacketCaptureStorageLocation struct { + // StorageID - The ID of the storage account to save the packet capture session. Required if no local file path is provided. + StorageID *string `json:"storageId,omitempty"` + // StoragePath - The URI of the storage path to save the packet capture. Must be a well-formed URI describing the location to save the packet capture. + StoragePath *string `json:"storagePath,omitempty"` + // FilePath - A valid local path on the targeting VM. Must include the name of the capture file (*.cap). For linux virtual machine it must start with /var/captures. Required if no storage ID is provided, otherwise optional. + FilePath *string `json:"filePath,omitempty"` +} + +// PatchRouteFilter route Filter Resource. +type PatchRouteFilter struct { + // RouteFilterPropertiesFormat - Properties of the route filter. + *RouteFilterPropertiesFormat `json:"properties,omitempty"` + // Name - READ-ONLY; The name of the resource that is unique within a resource group. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + // Etag - READ-ONLY; A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for PatchRouteFilter. +func (prf PatchRouteFilter) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if prf.RouteFilterPropertiesFormat != nil { + objectMap["properties"] = prf.RouteFilterPropertiesFormat + } + if prf.Tags != nil { + objectMap["tags"] = prf.Tags + } + if prf.ID != nil { + objectMap["id"] = prf.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for PatchRouteFilter struct. +func (prf *PatchRouteFilter) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var routeFilterPropertiesFormat RouteFilterPropertiesFormat + err = json.Unmarshal(*v, &routeFilterPropertiesFormat) + if err != nil { + return err + } + prf.RouteFilterPropertiesFormat = &routeFilterPropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + prf.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + prf.Etag = &etag + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + prf.Type = &typeVar + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + prf.Tags = tags + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + prf.ID = &ID + } + } + } + + return nil +} + +// PatchRouteFilterRule route Filter Rule Resource. +type PatchRouteFilterRule struct { + // RouteFilterRulePropertiesFormat - Properties of the route filter rule. + *RouteFilterRulePropertiesFormat `json:"properties,omitempty"` + // Name - READ-ONLY; The name of the resource that is unique within a resource group. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + // Etag - READ-ONLY; A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for PatchRouteFilterRule. +func (prfr PatchRouteFilterRule) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if prfr.RouteFilterRulePropertiesFormat != nil { + objectMap["properties"] = prfr.RouteFilterRulePropertiesFormat + } + if prfr.ID != nil { + objectMap["id"] = prfr.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for PatchRouteFilterRule struct. +func (prfr *PatchRouteFilterRule) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var routeFilterRulePropertiesFormat RouteFilterRulePropertiesFormat + err = json.Unmarshal(*v, &routeFilterRulePropertiesFormat) + if err != nil { + return err + } + prfr.RouteFilterRulePropertiesFormat = &routeFilterRulePropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + prfr.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + prfr.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + prfr.ID = &ID + } + } + } + + return nil +} + +// PeerExpressRouteCircuitConnection peer Express Route Circuit Connection in an ExpressRouteCircuitPeering +// resource. +type PeerExpressRouteCircuitConnection struct { + autorest.Response `json:"-"` + // PeerExpressRouteCircuitConnectionPropertiesFormat - Properties of the peer express route circuit connection. + *PeerExpressRouteCircuitConnectionPropertiesFormat `json:"properties,omitempty"` + // Name - The name of the resource that is unique within a resource group. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + // Etag - READ-ONLY; A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // Type - READ-ONLY; Type of the resource. + Type *string `json:"type,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for PeerExpressRouteCircuitConnection. +func (percc PeerExpressRouteCircuitConnection) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if percc.PeerExpressRouteCircuitConnectionPropertiesFormat != nil { + objectMap["properties"] = percc.PeerExpressRouteCircuitConnectionPropertiesFormat + } + if percc.Name != nil { + objectMap["name"] = percc.Name + } + if percc.ID != nil { + objectMap["id"] = percc.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for PeerExpressRouteCircuitConnection struct. +func (percc *PeerExpressRouteCircuitConnection) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var peerExpressRouteCircuitConnectionPropertiesFormat PeerExpressRouteCircuitConnectionPropertiesFormat + err = json.Unmarshal(*v, &peerExpressRouteCircuitConnectionPropertiesFormat) + if err != nil { + return err + } + percc.PeerExpressRouteCircuitConnectionPropertiesFormat = &peerExpressRouteCircuitConnectionPropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + percc.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + percc.Etag = &etag + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + percc.Type = &typeVar + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + percc.ID = &ID + } + } + } + + return nil +} + +// PeerExpressRouteCircuitConnectionListResult response for ListPeeredConnections API service call +// retrieves all global reach peer circuit connections that belongs to a Private Peering for an +// ExpressRouteCircuit. +type PeerExpressRouteCircuitConnectionListResult struct { + autorest.Response `json:"-"` + // Value - The global reach peer circuit connection associated with Private Peering in an ExpressRoute Circuit. + Value *[]PeerExpressRouteCircuitConnection `json:"value,omitempty"` + // NextLink - The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// PeerExpressRouteCircuitConnectionListResultIterator provides access to a complete listing of +// PeerExpressRouteCircuitConnection values. +type PeerExpressRouteCircuitConnectionListResultIterator struct { + i int + page PeerExpressRouteCircuitConnectionListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *PeerExpressRouteCircuitConnectionListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PeerExpressRouteCircuitConnectionListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *PeerExpressRouteCircuitConnectionListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter PeerExpressRouteCircuitConnectionListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter PeerExpressRouteCircuitConnectionListResultIterator) Response() PeerExpressRouteCircuitConnectionListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter PeerExpressRouteCircuitConnectionListResultIterator) Value() PeerExpressRouteCircuitConnection { + if !iter.page.NotDone() { + return PeerExpressRouteCircuitConnection{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the PeerExpressRouteCircuitConnectionListResultIterator type. +func NewPeerExpressRouteCircuitConnectionListResultIterator(page PeerExpressRouteCircuitConnectionListResultPage) PeerExpressRouteCircuitConnectionListResultIterator { + return PeerExpressRouteCircuitConnectionListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (percclr PeerExpressRouteCircuitConnectionListResult) IsEmpty() bool { + return percclr.Value == nil || len(*percclr.Value) == 0 +} + +// peerExpressRouteCircuitConnectionListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (percclr PeerExpressRouteCircuitConnectionListResult) peerExpressRouteCircuitConnectionListResultPreparer(ctx context.Context) (*http.Request, error) { + if percclr.NextLink == nil || len(to.String(percclr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(percclr.NextLink))) +} + +// PeerExpressRouteCircuitConnectionListResultPage contains a page of PeerExpressRouteCircuitConnection +// values. +type PeerExpressRouteCircuitConnectionListResultPage struct { + fn func(context.Context, PeerExpressRouteCircuitConnectionListResult) (PeerExpressRouteCircuitConnectionListResult, error) + percclr PeerExpressRouteCircuitConnectionListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *PeerExpressRouteCircuitConnectionListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PeerExpressRouteCircuitConnectionListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.percclr) + if err != nil { + return err + } + page.percclr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *PeerExpressRouteCircuitConnectionListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page PeerExpressRouteCircuitConnectionListResultPage) NotDone() bool { + return !page.percclr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page PeerExpressRouteCircuitConnectionListResultPage) Response() PeerExpressRouteCircuitConnectionListResult { + return page.percclr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page PeerExpressRouteCircuitConnectionListResultPage) Values() []PeerExpressRouteCircuitConnection { + if page.percclr.IsEmpty() { + return nil + } + return *page.percclr.Value +} + +// Creates a new instance of the PeerExpressRouteCircuitConnectionListResultPage type. +func NewPeerExpressRouteCircuitConnectionListResultPage(getNextPage func(context.Context, PeerExpressRouteCircuitConnectionListResult) (PeerExpressRouteCircuitConnectionListResult, error)) PeerExpressRouteCircuitConnectionListResultPage { + return PeerExpressRouteCircuitConnectionListResultPage{fn: getNextPage} +} + +// PeerExpressRouteCircuitConnectionPropertiesFormat properties of the peer express route circuit +// connection. +type PeerExpressRouteCircuitConnectionPropertiesFormat struct { + // ExpressRouteCircuitPeering - Reference to Express Route Circuit Private Peering Resource of the circuit. + ExpressRouteCircuitPeering *SubResource `json:"expressRouteCircuitPeering,omitempty"` + // PeerExpressRouteCircuitPeering - Reference to Express Route Circuit Private Peering Resource of the peered circuit. + PeerExpressRouteCircuitPeering *SubResource `json:"peerExpressRouteCircuitPeering,omitempty"` + // AddressPrefix - /29 IP address space to carve out Customer addresses for tunnels. + AddressPrefix *string `json:"addressPrefix,omitempty"` + // CircuitConnectionStatus - Express Route Circuit connection state. Possible values include: 'Connected', 'Connecting', 'Disconnected' + CircuitConnectionStatus CircuitConnectionStatus `json:"circuitConnectionStatus,omitempty"` + // ConnectionName - The name of the express route circuit connection resource. + ConnectionName *string `json:"connectionName,omitempty"` + // AuthResourceGUID - The resource guid of the authorization used for the express route circuit connection. + AuthResourceGUID *string `json:"authResourceGuid,omitempty"` + // ProvisioningState - READ-ONLY; The provisioning state of the peer express route circuit connection resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// PolicySettings defines contents of a web application firewall global configuration. +type PolicySettings struct { + // EnabledState - Describes if the policy is in enabled state or disabled state. Possible values include: 'WebApplicationFirewallEnabledStateDisabled', 'WebApplicationFirewallEnabledStateEnabled' + EnabledState WebApplicationFirewallEnabledState `json:"enabledState,omitempty"` + // Mode - Describes if it is in detection mode or prevention mode at policy level. Possible values include: 'WebApplicationFirewallModePrevention', 'WebApplicationFirewallModeDetection' + Mode WebApplicationFirewallMode `json:"mode,omitempty"` +} + +// PrepareNetworkPoliciesRequest details of PrepareNetworkPolicies for Subnet. +type PrepareNetworkPoliciesRequest struct { + // ServiceName - The name of the service for which subnet is being prepared for. + ServiceName *string `json:"serviceName,omitempty"` + // NetworkIntentPolicyConfigurations - A list of NetworkIntentPolicyConfiguration. + NetworkIntentPolicyConfigurations *[]IntentPolicyConfiguration `json:"networkIntentPolicyConfigurations,omitempty"` +} + +// PrivateEndpoint private endpoint resource. +type PrivateEndpoint struct { + autorest.Response `json:"-"` + // PrivateEndpointProperties - Properties of the private endpoint. + *PrivateEndpointProperties `json:"properties,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for PrivateEndpoint. +func (peVar PrivateEndpoint) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if peVar.PrivateEndpointProperties != nil { + objectMap["properties"] = peVar.PrivateEndpointProperties + } + if peVar.Etag != nil { + objectMap["etag"] = peVar.Etag + } + if peVar.ID != nil { + objectMap["id"] = peVar.ID + } + if peVar.Location != nil { + objectMap["location"] = peVar.Location + } + if peVar.Tags != nil { + objectMap["tags"] = peVar.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for PrivateEndpoint struct. +func (peVar *PrivateEndpoint) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var privateEndpointProperties PrivateEndpointProperties + err = json.Unmarshal(*v, &privateEndpointProperties) + if err != nil { + return err + } + peVar.PrivateEndpointProperties = &privateEndpointProperties + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + peVar.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + peVar.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + peVar.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + peVar.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + peVar.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + peVar.Tags = tags + } + } + } + + return nil +} + +// PrivateEndpointConnection privateEndpointConnection resource. +type PrivateEndpointConnection struct { + autorest.Response `json:"-"` + // PrivateEndpointConnectionProperties - Properties of the private end point connection. + *PrivateEndpointConnectionProperties `json:"properties,omitempty"` + // Name - The name of the resource that is unique within a resource group. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; The resource type. + Type *string `json:"type,omitempty"` + // Etag - READ-ONLY; A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for PrivateEndpointConnection. +func (pec PrivateEndpointConnection) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if pec.PrivateEndpointConnectionProperties != nil { + objectMap["properties"] = pec.PrivateEndpointConnectionProperties + } + if pec.Name != nil { + objectMap["name"] = pec.Name + } + if pec.ID != nil { + objectMap["id"] = pec.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for PrivateEndpointConnection struct. +func (pec *PrivateEndpointConnection) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var privateEndpointConnectionProperties PrivateEndpointConnectionProperties + err = json.Unmarshal(*v, &privateEndpointConnectionProperties) + if err != nil { + return err + } + pec.PrivateEndpointConnectionProperties = &privateEndpointConnectionProperties + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + pec.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + pec.Type = &typeVar + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + pec.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + pec.ID = &ID + } + } + } + + return nil +} + +// PrivateEndpointConnectionProperties properties of the PrivateEndpointConnectProperties. +type PrivateEndpointConnectionProperties struct { + // PrivateEndpoint - The resource of private end point. + PrivateEndpoint *PrivateEndpoint `json:"privateEndpoint,omitempty"` + // PrivateLinkServiceConnectionState - A collection of information about the state of the connection between service consumer and provider. + PrivateLinkServiceConnectionState *PrivateLinkServiceConnectionState `json:"privateLinkServiceConnectionState,omitempty"` + // ProvisioningState - The provisioning state of the private endpoint connection resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// PrivateEndpointListResult response for the ListPrivateEndpoints API service call. +type PrivateEndpointListResult struct { + autorest.Response `json:"-"` + // Value - A list of private endpoint resources in a resource group. + Value *[]PrivateEndpoint `json:"value,omitempty"` + // NextLink - READ-ONLY; The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// PrivateEndpointListResultIterator provides access to a complete listing of PrivateEndpoint values. +type PrivateEndpointListResultIterator struct { + i int + page PrivateEndpointListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *PrivateEndpointListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PrivateEndpointListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *PrivateEndpointListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter PrivateEndpointListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter PrivateEndpointListResultIterator) Response() PrivateEndpointListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter PrivateEndpointListResultIterator) Value() PrivateEndpoint { + if !iter.page.NotDone() { + return PrivateEndpoint{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the PrivateEndpointListResultIterator type. +func NewPrivateEndpointListResultIterator(page PrivateEndpointListResultPage) PrivateEndpointListResultIterator { + return PrivateEndpointListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (pelr PrivateEndpointListResult) IsEmpty() bool { + return pelr.Value == nil || len(*pelr.Value) == 0 +} + +// privateEndpointListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (pelr PrivateEndpointListResult) privateEndpointListResultPreparer(ctx context.Context) (*http.Request, error) { + if pelr.NextLink == nil || len(to.String(pelr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(pelr.NextLink))) +} + +// PrivateEndpointListResultPage contains a page of PrivateEndpoint values. +type PrivateEndpointListResultPage struct { + fn func(context.Context, PrivateEndpointListResult) (PrivateEndpointListResult, error) + pelr PrivateEndpointListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *PrivateEndpointListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PrivateEndpointListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.pelr) + if err != nil { + return err + } + page.pelr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *PrivateEndpointListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page PrivateEndpointListResultPage) NotDone() bool { + return !page.pelr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page PrivateEndpointListResultPage) Response() PrivateEndpointListResult { + return page.pelr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page PrivateEndpointListResultPage) Values() []PrivateEndpoint { + if page.pelr.IsEmpty() { + return nil + } + return *page.pelr.Value +} + +// Creates a new instance of the PrivateEndpointListResultPage type. +func NewPrivateEndpointListResultPage(getNextPage func(context.Context, PrivateEndpointListResult) (PrivateEndpointListResult, error)) PrivateEndpointListResultPage { + return PrivateEndpointListResultPage{fn: getNextPage} +} + +// PrivateEndpointProperties properties of the private endpoint. +type PrivateEndpointProperties struct { + // Subnet - The ID of the subnet from which the private IP will be allocated. + Subnet *Subnet `json:"subnet,omitempty"` + // NetworkInterfaces - READ-ONLY; An array of references to the network interfaces created for this private endpoint. + NetworkInterfaces *[]Interface `json:"networkInterfaces,omitempty"` + // ProvisioningState - The provisioning state of the private endpoint resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + // PrivateLinkServiceConnections - A grouping of information about the connection to the remote resource. + PrivateLinkServiceConnections *[]PrivateLinkServiceConnection `json:"privateLinkServiceConnections,omitempty"` + // ManualPrivateLinkServiceConnections - A grouping of information about the connection to the remote resource. Used when the network admin does not have access to approve connections to the remote resource. + ManualPrivateLinkServiceConnections *[]PrivateLinkServiceConnection `json:"manualPrivateLinkServiceConnections,omitempty"` +} + +// PrivateEndpointsCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type PrivateEndpointsCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *PrivateEndpointsCreateOrUpdateFuture) Result(client PrivateEndpointsClient) (peVar PrivateEndpoint, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PrivateEndpointsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.PrivateEndpointsCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if peVar.Response.Response, err = future.GetResult(sender); err == nil && peVar.Response.Response.StatusCode != http.StatusNoContent { + peVar, err = client.CreateOrUpdateResponder(peVar.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PrivateEndpointsCreateOrUpdateFuture", "Result", peVar.Response.Response, "Failure responding to request") + } + } + return +} + +// PrivateEndpointsDeleteFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type PrivateEndpointsDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *PrivateEndpointsDeleteFuture) Result(client PrivateEndpointsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PrivateEndpointsDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.PrivateEndpointsDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// PrivateLinkService private link service resource. +type PrivateLinkService struct { + autorest.Response `json:"-"` + // PrivateLinkServiceProperties - Properties of the private link service. + *PrivateLinkServiceProperties `json:"properties,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for PrivateLinkService. +func (pls PrivateLinkService) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if pls.PrivateLinkServiceProperties != nil { + objectMap["properties"] = pls.PrivateLinkServiceProperties + } + if pls.Etag != nil { + objectMap["etag"] = pls.Etag + } + if pls.ID != nil { + objectMap["id"] = pls.ID + } + if pls.Location != nil { + objectMap["location"] = pls.Location + } + if pls.Tags != nil { + objectMap["tags"] = pls.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for PrivateLinkService struct. +func (pls *PrivateLinkService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var privateLinkServiceProperties PrivateLinkServiceProperties + err = json.Unmarshal(*v, &privateLinkServiceProperties) + if err != nil { + return err + } + pls.PrivateLinkServiceProperties = &privateLinkServiceProperties + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + pls.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + pls.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + pls.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + pls.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + pls.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + pls.Tags = tags + } + } + } + + return nil +} + +// PrivateLinkServiceConnection privateLinkServiceConnection resource. +type PrivateLinkServiceConnection struct { + // PrivateLinkServiceConnectionProperties - Properties of the private link service connection. + *PrivateLinkServiceConnectionProperties `json:"properties,omitempty"` + // Name - The name of the resource that is unique within a resource group. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; The resource type. + Type *string `json:"type,omitempty"` + // Etag - READ-ONLY; A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for PrivateLinkServiceConnection. +func (plsc PrivateLinkServiceConnection) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if plsc.PrivateLinkServiceConnectionProperties != nil { + objectMap["properties"] = plsc.PrivateLinkServiceConnectionProperties + } + if plsc.Name != nil { + objectMap["name"] = plsc.Name + } + if plsc.ID != nil { + objectMap["id"] = plsc.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for PrivateLinkServiceConnection struct. +func (plsc *PrivateLinkServiceConnection) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var privateLinkServiceConnectionProperties PrivateLinkServiceConnectionProperties + err = json.Unmarshal(*v, &privateLinkServiceConnectionProperties) + if err != nil { + return err + } + plsc.PrivateLinkServiceConnectionProperties = &privateLinkServiceConnectionProperties + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + plsc.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + plsc.Type = &typeVar + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + plsc.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + plsc.ID = &ID + } + } + } + + return nil +} + +// PrivateLinkServiceConnectionProperties properties of the PrivateLinkServiceConnection. +type PrivateLinkServiceConnectionProperties struct { + // ProvisioningState - The provisioning state of the private link service connection resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + // PrivateLinkServiceID - The resource id of private link service. + PrivateLinkServiceID *string `json:"privateLinkServiceId,omitempty"` + // GroupIds - The ID(s) of the group(s) obtained from the remote resource that this private endpoint should connect to. + GroupIds *[]string `json:"groupIds,omitempty"` + // RequestMessage - A message passed to the owner of the remote resource with this connection request. Restricted to 140 chars. + RequestMessage *string `json:"requestMessage,omitempty"` + // PrivateLinkServiceConnectionState - A collection of read-only information about the state of the connection to the remote resource. + PrivateLinkServiceConnectionState *PrivateLinkServiceConnectionState `json:"privateLinkServiceConnectionState,omitempty"` +} + +// PrivateLinkServiceConnectionState a collection of information about the state of the connection between +// service consumer and provider. +type PrivateLinkServiceConnectionState struct { + // Status - Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service. + Status *string `json:"status,omitempty"` + // Description - The reason for approval/rejection of the connection. + Description *string `json:"description,omitempty"` + // ActionRequired - A message indicating if changes on the service provider require any updates on the consumer. + ActionRequired *string `json:"actionRequired,omitempty"` +} + +// PrivateLinkServiceIPConfiguration the private link service ip configuration. +type PrivateLinkServiceIPConfiguration struct { + // PrivateLinkServiceIPConfigurationProperties - Properties of the private link service ip configuration. + *PrivateLinkServiceIPConfigurationProperties `json:"properties,omitempty"` + // Name - The name of private link service ip configuration. + Name *string `json:"name,omitempty"` + // Etag - READ-ONLY; A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // Type - READ-ONLY; The resource type. + Type *string `json:"type,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for PrivateLinkServiceIPConfiguration. +func (plsic PrivateLinkServiceIPConfiguration) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if plsic.PrivateLinkServiceIPConfigurationProperties != nil { + objectMap["properties"] = plsic.PrivateLinkServiceIPConfigurationProperties + } + if plsic.Name != nil { + objectMap["name"] = plsic.Name + } + if plsic.ID != nil { + objectMap["id"] = plsic.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for PrivateLinkServiceIPConfiguration struct. +func (plsic *PrivateLinkServiceIPConfiguration) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var privateLinkServiceIPConfigurationProperties PrivateLinkServiceIPConfigurationProperties + err = json.Unmarshal(*v, &privateLinkServiceIPConfigurationProperties) + if err != nil { + return err + } + plsic.PrivateLinkServiceIPConfigurationProperties = &privateLinkServiceIPConfigurationProperties + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + plsic.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + plsic.Etag = &etag + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + plsic.Type = &typeVar + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + plsic.ID = &ID + } + } + } + + return nil +} + +// PrivateLinkServiceIPConfigurationProperties properties of private link service IP configuration. +type PrivateLinkServiceIPConfigurationProperties struct { + // PrivateIPAddress - The private IP address of the IP configuration. + PrivateIPAddress *string `json:"privateIPAddress,omitempty"` + // PrivateIPAllocationMethod - The private IP address allocation method. Possible values include: 'Static', 'Dynamic' + PrivateIPAllocationMethod IPAllocationMethod `json:"privateIPAllocationMethod,omitempty"` + // Subnet - The reference to the subnet resource. + Subnet *Subnet `json:"subnet,omitempty"` + // Primary - Whether the ip configuration is primary or not. + Primary *bool `json:"primary,omitempty"` + // ProvisioningState - The provisioning state of the private link service IP configuration resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + // PrivateIPAddressVersion - Whether the specific IP configuration is IPv4 or IPv6. Default is IPv4. Possible values include: 'IPv4', 'IPv6' + PrivateIPAddressVersion IPVersion `json:"privateIPAddressVersion,omitempty"` +} + +// PrivateLinkServiceListResult response for the ListPrivateLinkService API service call. +type PrivateLinkServiceListResult struct { + autorest.Response `json:"-"` + // Value - A list of PrivateLinkService resources in a resource group. + Value *[]PrivateLinkService `json:"value,omitempty"` + // NextLink - READ-ONLY; The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// PrivateLinkServiceListResultIterator provides access to a complete listing of PrivateLinkService values. +type PrivateLinkServiceListResultIterator struct { + i int + page PrivateLinkServiceListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *PrivateLinkServiceListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PrivateLinkServiceListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *PrivateLinkServiceListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter PrivateLinkServiceListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter PrivateLinkServiceListResultIterator) Response() PrivateLinkServiceListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter PrivateLinkServiceListResultIterator) Value() PrivateLinkService { + if !iter.page.NotDone() { + return PrivateLinkService{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the PrivateLinkServiceListResultIterator type. +func NewPrivateLinkServiceListResultIterator(page PrivateLinkServiceListResultPage) PrivateLinkServiceListResultIterator { + return PrivateLinkServiceListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (plslr PrivateLinkServiceListResult) IsEmpty() bool { + return plslr.Value == nil || len(*plslr.Value) == 0 +} + +// privateLinkServiceListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (plslr PrivateLinkServiceListResult) privateLinkServiceListResultPreparer(ctx context.Context) (*http.Request, error) { + if plslr.NextLink == nil || len(to.String(plslr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(plslr.NextLink))) +} + +// PrivateLinkServiceListResultPage contains a page of PrivateLinkService values. +type PrivateLinkServiceListResultPage struct { + fn func(context.Context, PrivateLinkServiceListResult) (PrivateLinkServiceListResult, error) + plslr PrivateLinkServiceListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *PrivateLinkServiceListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PrivateLinkServiceListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.plslr) + if err != nil { + return err + } + page.plslr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *PrivateLinkServiceListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page PrivateLinkServiceListResultPage) NotDone() bool { + return !page.plslr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page PrivateLinkServiceListResultPage) Response() PrivateLinkServiceListResult { + return page.plslr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page PrivateLinkServiceListResultPage) Values() []PrivateLinkService { + if page.plslr.IsEmpty() { + return nil + } + return *page.plslr.Value +} + +// Creates a new instance of the PrivateLinkServiceListResultPage type. +func NewPrivateLinkServiceListResultPage(getNextPage func(context.Context, PrivateLinkServiceListResult) (PrivateLinkServiceListResult, error)) PrivateLinkServiceListResultPage { + return PrivateLinkServiceListResultPage{fn: getNextPage} +} + +// PrivateLinkServiceProperties properties of the private link service. +type PrivateLinkServiceProperties struct { + // LoadBalancerFrontendIPConfigurations - An array of references to the load balancer IP configurations. + LoadBalancerFrontendIPConfigurations *[]FrontendIPConfiguration `json:"loadBalancerFrontendIpConfigurations,omitempty"` + // IPConfigurations - An array of private link service IP configurations. + IPConfigurations *[]PrivateLinkServiceIPConfiguration `json:"ipConfigurations,omitempty"` + // NetworkInterfaces - READ-ONLY; An array of references to the network interfaces created for this private link service. + NetworkInterfaces *[]Interface `json:"networkInterfaces,omitempty"` + // ProvisioningState - The provisioning state of the private link service resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + // PrivateEndpointConnections - An array of list about connections to the private endpoint. + PrivateEndpointConnections *[]PrivateEndpointConnection `json:"privateEndpointConnections,omitempty"` + // Visibility - The visibility list of the private link service. + Visibility *PrivateLinkServicePropertiesVisibility `json:"visibility,omitempty"` + // AutoApproval - The auto-approval list of the private link service. + AutoApproval *PrivateLinkServicePropertiesAutoApproval `json:"autoApproval,omitempty"` + // Fqdns - The list of Fqdn. + Fqdns *[]string `json:"fqdns,omitempty"` + // Alias - READ-ONLY; The alias of the private link service. + Alias *string `json:"alias,omitempty"` +} + +// PrivateLinkServicePropertiesAutoApproval the auto-approval list of the private link service. +type PrivateLinkServicePropertiesAutoApproval struct { + // Subscriptions - The list of subscriptions. + Subscriptions *[]string `json:"subscriptions,omitempty"` +} + +// PrivateLinkServicePropertiesVisibility the visibility list of the private link service. +type PrivateLinkServicePropertiesVisibility struct { + // Subscriptions - The list of subscriptions. + Subscriptions *[]string `json:"subscriptions,omitempty"` +} + +// PrivateLinkServicesCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type PrivateLinkServicesCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *PrivateLinkServicesCreateOrUpdateFuture) Result(client PrivateLinkServicesClient) (pls PrivateLinkService, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PrivateLinkServicesCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.PrivateLinkServicesCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if pls.Response.Response, err = future.GetResult(sender); err == nil && pls.Response.Response.StatusCode != http.StatusNoContent { + pls, err = client.CreateOrUpdateResponder(pls.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PrivateLinkServicesCreateOrUpdateFuture", "Result", pls.Response.Response, "Failure responding to request") + } + } + return +} + +// PrivateLinkServicesDeleteFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type PrivateLinkServicesDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *PrivateLinkServicesDeleteFuture) Result(client PrivateLinkServicesClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PrivateLinkServicesDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.PrivateLinkServicesDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// PrivateLinkServicesDeletePrivateEndpointConnectionFuture an abstraction for monitoring and retrieving +// the results of a long-running operation. +type PrivateLinkServicesDeletePrivateEndpointConnectionFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *PrivateLinkServicesDeletePrivateEndpointConnectionFuture) Result(client PrivateLinkServicesClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PrivateLinkServicesDeletePrivateEndpointConnectionFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.PrivateLinkServicesDeletePrivateEndpointConnectionFuture") + return + } + ar.Response = future.Response() + return +} + +// PrivateLinkServiceVisibility response for the CheckPrivateLinkServiceVisibility API service call. +type PrivateLinkServiceVisibility struct { + autorest.Response `json:"-"` + // Visible - Private Link Service Visibility (True/False). + Visible *bool `json:"visible,omitempty"` +} + +// Probe a load balancer probe. +type Probe struct { + autorest.Response `json:"-"` + // ProbePropertiesFormat - Properties of load balancer probe. + *ProbePropertiesFormat `json:"properties,omitempty"` + // Name - The name of the resource that is unique within the set of probes used by the load balancer. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // Type - READ-ONLY; Type of the resource. + Type *string `json:"type,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for Probe. +func (p Probe) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if p.ProbePropertiesFormat != nil { + objectMap["properties"] = p.ProbePropertiesFormat + } + if p.Name != nil { + objectMap["name"] = p.Name + } + if p.Etag != nil { + objectMap["etag"] = p.Etag + } + if p.ID != nil { + objectMap["id"] = p.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for Probe struct. +func (p *Probe) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var probePropertiesFormat ProbePropertiesFormat + err = json.Unmarshal(*v, &probePropertiesFormat) + if err != nil { + return err + } + p.ProbePropertiesFormat = &probePropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + p.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + p.Etag = &etag + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + p.Type = &typeVar + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + p.ID = &ID + } + } + } + + return nil +} + +// ProbePropertiesFormat load balancer probe resource. +type ProbePropertiesFormat struct { + // LoadBalancingRules - READ-ONLY; The load balancer rules that use this probe. + LoadBalancingRules *[]SubResource `json:"loadBalancingRules,omitempty"` + // Protocol - The protocol of the end point. If 'Tcp' is specified, a received ACK is required for the probe to be successful. If 'Http' or 'Https' is specified, a 200 OK response from the specifies URI is required for the probe to be successful. Possible values include: 'ProbeProtocolHTTP', 'ProbeProtocolTCP', 'ProbeProtocolHTTPS' + Protocol ProbeProtocol `json:"protocol,omitempty"` + // Port - The port for communicating the probe. Possible values range from 1 to 65535, inclusive. + Port *int32 `json:"port,omitempty"` + // IntervalInSeconds - The interval, in seconds, for how frequently to probe the endpoint for health status. Typically, the interval is slightly less than half the allocated timeout period (in seconds) which allows two full probes before taking the instance out of rotation. The default value is 15, the minimum value is 5. + IntervalInSeconds *int32 `json:"intervalInSeconds,omitempty"` + // NumberOfProbes - The number of probes where if no response, will result in stopping further traffic from being delivered to the endpoint. This values allows endpoints to be taken out of rotation faster or slower than the typical times used in Azure. + NumberOfProbes *int32 `json:"numberOfProbes,omitempty"` + // RequestPath - The URI used for requesting health status from the VM. Path is required if a protocol is set to http. Otherwise, it is not allowed. There is no default value. + RequestPath *string `json:"requestPath,omitempty"` + // ProvisioningState - The provisioning state of the probe resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// Profile network profile resource. +type Profile struct { + autorest.Response `json:"-"` + // ProfilePropertiesFormat - Network profile properties. + *ProfilePropertiesFormat `json:"properties,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for Profile. +func (p Profile) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if p.ProfilePropertiesFormat != nil { + objectMap["properties"] = p.ProfilePropertiesFormat + } + if p.Etag != nil { + objectMap["etag"] = p.Etag + } + if p.ID != nil { + objectMap["id"] = p.ID + } + if p.Location != nil { + objectMap["location"] = p.Location + } + if p.Tags != nil { + objectMap["tags"] = p.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for Profile struct. +func (p *Profile) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var profilePropertiesFormat ProfilePropertiesFormat + err = json.Unmarshal(*v, &profilePropertiesFormat) + if err != nil { + return err + } + p.ProfilePropertiesFormat = &profilePropertiesFormat + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + p.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + p.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + p.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + p.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + p.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + p.Tags = tags + } + } + } + + return nil +} + +// ProfileListResult response for ListNetworkProfiles API service call. +type ProfileListResult struct { + autorest.Response `json:"-"` + // Value - A list of network profiles that exist in a resource group. + Value *[]Profile `json:"value,omitempty"` + // NextLink - The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// ProfileListResultIterator provides access to a complete listing of Profile values. +type ProfileListResultIterator struct { + i int + page ProfileListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *ProfileListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ProfileListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *ProfileListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter ProfileListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter ProfileListResultIterator) Response() ProfileListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter ProfileListResultIterator) Value() Profile { + if !iter.page.NotDone() { + return Profile{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the ProfileListResultIterator type. +func NewProfileListResultIterator(page ProfileListResultPage) ProfileListResultIterator { + return ProfileListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (plr ProfileListResult) IsEmpty() bool { + return plr.Value == nil || len(*plr.Value) == 0 +} + +// profileListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (plr ProfileListResult) profileListResultPreparer(ctx context.Context) (*http.Request, error) { + if plr.NextLink == nil || len(to.String(plr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(plr.NextLink))) +} + +// ProfileListResultPage contains a page of Profile values. +type ProfileListResultPage struct { + fn func(context.Context, ProfileListResult) (ProfileListResult, error) + plr ProfileListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *ProfileListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ProfileListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.plr) + if err != nil { + return err + } + page.plr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *ProfileListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page ProfileListResultPage) NotDone() bool { + return !page.plr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page ProfileListResultPage) Response() ProfileListResult { + return page.plr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page ProfileListResultPage) Values() []Profile { + if page.plr.IsEmpty() { + return nil + } + return *page.plr.Value +} + +// Creates a new instance of the ProfileListResultPage type. +func NewProfileListResultPage(getNextPage func(context.Context, ProfileListResult) (ProfileListResult, error)) ProfileListResultPage { + return ProfileListResultPage{fn: getNextPage} +} + +// ProfilePropertiesFormat network profile properties. +type ProfilePropertiesFormat struct { + // ContainerNetworkInterfaces - List of child container network interfaces. + ContainerNetworkInterfaces *[]ContainerNetworkInterface `json:"containerNetworkInterfaces,omitempty"` + // ContainerNetworkInterfaceConfigurations - List of chid container network interface configurations. + ContainerNetworkInterfaceConfigurations *[]ContainerNetworkInterfaceConfiguration `json:"containerNetworkInterfaceConfigurations,omitempty"` + // ResourceGUID - READ-ONLY; The resource GUID property of the network profile resource. + ResourceGUID *string `json:"resourceGuid,omitempty"` + // ProvisioningState - READ-ONLY; The provisioning state of the network profile resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// ProfilesDeleteFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type ProfilesDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ProfilesDeleteFuture) Result(client ProfilesClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ProfilesDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.ProfilesDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// ProtocolConfiguration configuration of the protocol. +type ProtocolConfiguration struct { + // HTTPConfiguration - HTTP configuration of the connectivity check. + HTTPConfiguration *HTTPConfiguration `json:"HTTPConfiguration,omitempty"` +} + +// ProtocolCustomSettingsFormat dDoS custom policy properties. +type ProtocolCustomSettingsFormat struct { + // Protocol - The protocol for which the DDoS protection policy is being customized. Possible values include: 'DdosCustomPolicyProtocolTCP', 'DdosCustomPolicyProtocolUDP', 'DdosCustomPolicyProtocolSyn' + Protocol DdosCustomPolicyProtocol `json:"protocol,omitempty"` + // TriggerRateOverride - The customized DDoS protection trigger rate. + TriggerRateOverride *string `json:"triggerRateOverride,omitempty"` + // SourceRateOverride - The customized DDoS protection source rate. + SourceRateOverride *string `json:"sourceRateOverride,omitempty"` + // TriggerSensitivityOverride - The customized DDoS protection trigger rate sensitivity degrees. High: Trigger rate set with most sensitivity w.r.t. normal traffic. Default: Trigger rate set with moderate sensitivity w.r.t. normal traffic. Low: Trigger rate set with less sensitivity w.r.t. normal traffic. Relaxed: Trigger rate set with least sensitivity w.r.t. normal traffic. Possible values include: 'Relaxed', 'Low', 'Default', 'High' + TriggerSensitivityOverride DdosCustomPolicyTriggerSensitivityOverride `json:"triggerSensitivityOverride,omitempty"` +} + +// PublicIPAddress public IP address resource. +type PublicIPAddress struct { + autorest.Response `json:"-"` + // Sku - The public IP address SKU. + Sku *PublicIPAddressSku `json:"sku,omitempty"` + // PublicIPAddressPropertiesFormat - Public IP address properties. + *PublicIPAddressPropertiesFormat `json:"properties,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // Zones - A list of availability zones denoting the IP allocated for the resource needs to come from. + Zones *[]string `json:"zones,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for PublicIPAddress. +func (pia PublicIPAddress) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if pia.Sku != nil { + objectMap["sku"] = pia.Sku + } + if pia.PublicIPAddressPropertiesFormat != nil { + objectMap["properties"] = pia.PublicIPAddressPropertiesFormat + } + if pia.Etag != nil { + objectMap["etag"] = pia.Etag + } + if pia.Zones != nil { + objectMap["zones"] = pia.Zones + } + if pia.ID != nil { + objectMap["id"] = pia.ID + } + if pia.Location != nil { + objectMap["location"] = pia.Location + } + if pia.Tags != nil { + objectMap["tags"] = pia.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for PublicIPAddress struct. +func (pia *PublicIPAddress) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "sku": + if v != nil { + var sku PublicIPAddressSku + err = json.Unmarshal(*v, &sku) + if err != nil { + return err + } + pia.Sku = &sku + } + case "properties": + if v != nil { + var publicIPAddressPropertiesFormat PublicIPAddressPropertiesFormat + err = json.Unmarshal(*v, &publicIPAddressPropertiesFormat) + if err != nil { + return err + } + pia.PublicIPAddressPropertiesFormat = &publicIPAddressPropertiesFormat + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + pia.Etag = &etag + } + case "zones": + if v != nil { + var zones []string + err = json.Unmarshal(*v, &zones) + if err != nil { + return err + } + pia.Zones = &zones + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + pia.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + pia.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + pia.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + pia.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + pia.Tags = tags + } + } + } + + return nil +} + +// PublicIPAddressDNSSettings contains FQDN of the DNS record associated with the public IP address. +type PublicIPAddressDNSSettings struct { + // DomainNameLabel - The domain name label. The concatenation of the domain name label and the regionalized DNS zone make up the fully qualified domain name associated with the public IP address. If a domain name label is specified, an A DNS record is created for the public IP in the Microsoft Azure DNS system. + DomainNameLabel *string `json:"domainNameLabel,omitempty"` + // Fqdn - The Fully Qualified Domain Name of the A DNS record associated with the public IP. This is the concatenation of the domainNameLabel and the regionalized DNS zone. + Fqdn *string `json:"fqdn,omitempty"` + // ReverseFqdn - The reverse FQDN. A user-visible, fully qualified domain name that resolves to this public IP address. If the reverseFqdn is specified, then a PTR DNS record is created pointing from the IP address in the in-addr.arpa domain to the reverse FQDN. + ReverseFqdn *string `json:"reverseFqdn,omitempty"` +} + +// PublicIPAddressesCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type PublicIPAddressesCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *PublicIPAddressesCreateOrUpdateFuture) Result(client PublicIPAddressesClient) (pia PublicIPAddress, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PublicIPAddressesCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.PublicIPAddressesCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if pia.Response.Response, err = future.GetResult(sender); err == nil && pia.Response.Response.StatusCode != http.StatusNoContent { + pia, err = client.CreateOrUpdateResponder(pia.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PublicIPAddressesCreateOrUpdateFuture", "Result", pia.Response.Response, "Failure responding to request") + } + } + return +} + +// PublicIPAddressesDeleteFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type PublicIPAddressesDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *PublicIPAddressesDeleteFuture) Result(client PublicIPAddressesClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PublicIPAddressesDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.PublicIPAddressesDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// PublicIPAddressesUpdateTagsFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type PublicIPAddressesUpdateTagsFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *PublicIPAddressesUpdateTagsFuture) Result(client PublicIPAddressesClient) (pia PublicIPAddress, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PublicIPAddressesUpdateTagsFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.PublicIPAddressesUpdateTagsFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if pia.Response.Response, err = future.GetResult(sender); err == nil && pia.Response.Response.StatusCode != http.StatusNoContent { + pia, err = client.UpdateTagsResponder(pia.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PublicIPAddressesUpdateTagsFuture", "Result", pia.Response.Response, "Failure responding to request") + } + } + return +} + +// PublicIPAddressListResult response for ListPublicIpAddresses API service call. +type PublicIPAddressListResult struct { + autorest.Response `json:"-"` + // Value - A list of public IP addresses that exists in a resource group. + Value *[]PublicIPAddress `json:"value,omitempty"` + // NextLink - The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// PublicIPAddressListResultIterator provides access to a complete listing of PublicIPAddress values. +type PublicIPAddressListResultIterator struct { + i int + page PublicIPAddressListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *PublicIPAddressListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PublicIPAddressListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *PublicIPAddressListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter PublicIPAddressListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter PublicIPAddressListResultIterator) Response() PublicIPAddressListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter PublicIPAddressListResultIterator) Value() PublicIPAddress { + if !iter.page.NotDone() { + return PublicIPAddress{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the PublicIPAddressListResultIterator type. +func NewPublicIPAddressListResultIterator(page PublicIPAddressListResultPage) PublicIPAddressListResultIterator { + return PublicIPAddressListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (pialr PublicIPAddressListResult) IsEmpty() bool { + return pialr.Value == nil || len(*pialr.Value) == 0 +} + +// publicIPAddressListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (pialr PublicIPAddressListResult) publicIPAddressListResultPreparer(ctx context.Context) (*http.Request, error) { + if pialr.NextLink == nil || len(to.String(pialr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(pialr.NextLink))) +} + +// PublicIPAddressListResultPage contains a page of PublicIPAddress values. +type PublicIPAddressListResultPage struct { + fn func(context.Context, PublicIPAddressListResult) (PublicIPAddressListResult, error) + pialr PublicIPAddressListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *PublicIPAddressListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PublicIPAddressListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.pialr) + if err != nil { + return err + } + page.pialr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *PublicIPAddressListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page PublicIPAddressListResultPage) NotDone() bool { + return !page.pialr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page PublicIPAddressListResultPage) Response() PublicIPAddressListResult { + return page.pialr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page PublicIPAddressListResultPage) Values() []PublicIPAddress { + if page.pialr.IsEmpty() { + return nil + } + return *page.pialr.Value +} + +// Creates a new instance of the PublicIPAddressListResultPage type. +func NewPublicIPAddressListResultPage(getNextPage func(context.Context, PublicIPAddressListResult) (PublicIPAddressListResult, error)) PublicIPAddressListResultPage { + return PublicIPAddressListResultPage{fn: getNextPage} +} + +// PublicIPAddressPropertiesFormat public IP address properties. +type PublicIPAddressPropertiesFormat struct { + // PublicIPAllocationMethod - The public IP address allocation method. Possible values include: 'Static', 'Dynamic' + PublicIPAllocationMethod IPAllocationMethod `json:"publicIPAllocationMethod,omitempty"` + // PublicIPAddressVersion - The public IP address version. Possible values include: 'IPv4', 'IPv6' + PublicIPAddressVersion IPVersion `json:"publicIPAddressVersion,omitempty"` + // IPConfiguration - READ-ONLY; The IP configuration associated with the public IP address. + IPConfiguration *IPConfiguration `json:"ipConfiguration,omitempty"` + // DNSSettings - The FQDN of the DNS record associated with the public IP address. + DNSSettings *PublicIPAddressDNSSettings `json:"dnsSettings,omitempty"` + // DdosSettings - The DDoS protection custom policy associated with the public IP address. + DdosSettings *DdosSettings `json:"ddosSettings,omitempty"` + // IPTags - The list of tags associated with the public IP address. + IPTags *[]IPTag `json:"ipTags,omitempty"` + // IPAddress - The IP address associated with the public IP address resource. + IPAddress *string `json:"ipAddress,omitempty"` + // PublicIPPrefix - The Public IP Prefix this Public IP Address should be allocated from. + PublicIPPrefix *SubResource `json:"publicIPPrefix,omitempty"` + // IdleTimeoutInMinutes - The idle timeout of the public IP address. + IdleTimeoutInMinutes *int32 `json:"idleTimeoutInMinutes,omitempty"` + // ResourceGUID - The resource GUID property of the public IP address resource. + ResourceGUID *string `json:"resourceGuid,omitempty"` + // ProvisioningState - The provisioning state of the public IP address resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// PublicIPAddressSku SKU of a public IP address. +type PublicIPAddressSku struct { + // Name - Name of a public IP address SKU. Possible values include: 'PublicIPAddressSkuNameBasic', 'PublicIPAddressSkuNameStandard' + Name PublicIPAddressSkuName `json:"name,omitempty"` +} + +// PublicIPPrefix public IP prefix resource. +type PublicIPPrefix struct { + autorest.Response `json:"-"` + // Sku - The public IP prefix SKU. + Sku *PublicIPPrefixSku `json:"sku,omitempty"` + // PublicIPPrefixPropertiesFormat - Public IP prefix properties. + *PublicIPPrefixPropertiesFormat `json:"properties,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // Zones - A list of availability zones denoting the IP allocated for the resource needs to come from. + Zones *[]string `json:"zones,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for PublicIPPrefix. +func (pip PublicIPPrefix) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if pip.Sku != nil { + objectMap["sku"] = pip.Sku + } + if pip.PublicIPPrefixPropertiesFormat != nil { + objectMap["properties"] = pip.PublicIPPrefixPropertiesFormat + } + if pip.Etag != nil { + objectMap["etag"] = pip.Etag + } + if pip.Zones != nil { + objectMap["zones"] = pip.Zones + } + if pip.ID != nil { + objectMap["id"] = pip.ID + } + if pip.Location != nil { + objectMap["location"] = pip.Location + } + if pip.Tags != nil { + objectMap["tags"] = pip.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for PublicIPPrefix struct. +func (pip *PublicIPPrefix) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "sku": + if v != nil { + var sku PublicIPPrefixSku + err = json.Unmarshal(*v, &sku) + if err != nil { + return err + } + pip.Sku = &sku + } + case "properties": + if v != nil { + var publicIPPrefixPropertiesFormat PublicIPPrefixPropertiesFormat + err = json.Unmarshal(*v, &publicIPPrefixPropertiesFormat) + if err != nil { + return err + } + pip.PublicIPPrefixPropertiesFormat = &publicIPPrefixPropertiesFormat + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + pip.Etag = &etag + } + case "zones": + if v != nil { + var zones []string + err = json.Unmarshal(*v, &zones) + if err != nil { + return err + } + pip.Zones = &zones + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + pip.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + pip.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + pip.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + pip.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + pip.Tags = tags + } + } + } + + return nil +} + +// PublicIPPrefixesCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type PublicIPPrefixesCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *PublicIPPrefixesCreateOrUpdateFuture) Result(client PublicIPPrefixesClient) (pip PublicIPPrefix, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PublicIPPrefixesCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.PublicIPPrefixesCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if pip.Response.Response, err = future.GetResult(sender); err == nil && pip.Response.Response.StatusCode != http.StatusNoContent { + pip, err = client.CreateOrUpdateResponder(pip.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PublicIPPrefixesCreateOrUpdateFuture", "Result", pip.Response.Response, "Failure responding to request") + } + } + return +} + +// PublicIPPrefixesDeleteFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type PublicIPPrefixesDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *PublicIPPrefixesDeleteFuture) Result(client PublicIPPrefixesClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PublicIPPrefixesDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.PublicIPPrefixesDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// PublicIPPrefixesUpdateTagsFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type PublicIPPrefixesUpdateTagsFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *PublicIPPrefixesUpdateTagsFuture) Result(client PublicIPPrefixesClient) (pip PublicIPPrefix, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PublicIPPrefixesUpdateTagsFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.PublicIPPrefixesUpdateTagsFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if pip.Response.Response, err = future.GetResult(sender); err == nil && pip.Response.Response.StatusCode != http.StatusNoContent { + pip, err = client.UpdateTagsResponder(pip.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PublicIPPrefixesUpdateTagsFuture", "Result", pip.Response.Response, "Failure responding to request") + } + } + return +} + +// PublicIPPrefixListResult response for ListPublicIpPrefixes API service call. +type PublicIPPrefixListResult struct { + autorest.Response `json:"-"` + // Value - A list of public IP prefixes that exists in a resource group. + Value *[]PublicIPPrefix `json:"value,omitempty"` + // NextLink - The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// PublicIPPrefixListResultIterator provides access to a complete listing of PublicIPPrefix values. +type PublicIPPrefixListResultIterator struct { + i int + page PublicIPPrefixListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *PublicIPPrefixListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PublicIPPrefixListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *PublicIPPrefixListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter PublicIPPrefixListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter PublicIPPrefixListResultIterator) Response() PublicIPPrefixListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter PublicIPPrefixListResultIterator) Value() PublicIPPrefix { + if !iter.page.NotDone() { + return PublicIPPrefix{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the PublicIPPrefixListResultIterator type. +func NewPublicIPPrefixListResultIterator(page PublicIPPrefixListResultPage) PublicIPPrefixListResultIterator { + return PublicIPPrefixListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (piplr PublicIPPrefixListResult) IsEmpty() bool { + return piplr.Value == nil || len(*piplr.Value) == 0 +} + +// publicIPPrefixListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (piplr PublicIPPrefixListResult) publicIPPrefixListResultPreparer(ctx context.Context) (*http.Request, error) { + if piplr.NextLink == nil || len(to.String(piplr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(piplr.NextLink))) +} + +// PublicIPPrefixListResultPage contains a page of PublicIPPrefix values. +type PublicIPPrefixListResultPage struct { + fn func(context.Context, PublicIPPrefixListResult) (PublicIPPrefixListResult, error) + piplr PublicIPPrefixListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *PublicIPPrefixListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PublicIPPrefixListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.piplr) + if err != nil { + return err + } + page.piplr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *PublicIPPrefixListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page PublicIPPrefixListResultPage) NotDone() bool { + return !page.piplr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page PublicIPPrefixListResultPage) Response() PublicIPPrefixListResult { + return page.piplr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page PublicIPPrefixListResultPage) Values() []PublicIPPrefix { + if page.piplr.IsEmpty() { + return nil + } + return *page.piplr.Value +} + +// Creates a new instance of the PublicIPPrefixListResultPage type. +func NewPublicIPPrefixListResultPage(getNextPage func(context.Context, PublicIPPrefixListResult) (PublicIPPrefixListResult, error)) PublicIPPrefixListResultPage { + return PublicIPPrefixListResultPage{fn: getNextPage} +} + +// PublicIPPrefixPropertiesFormat public IP prefix properties. +type PublicIPPrefixPropertiesFormat struct { + // PublicIPAddressVersion - The public IP address version. Possible values include: 'IPv4', 'IPv6' + PublicIPAddressVersion IPVersion `json:"publicIPAddressVersion,omitempty"` + // IPTags - The list of tags associated with the public IP prefix. + IPTags *[]IPTag `json:"ipTags,omitempty"` + // PrefixLength - The Length of the Public IP Prefix. + PrefixLength *int32 `json:"prefixLength,omitempty"` + // IPPrefix - The allocated Prefix. + IPPrefix *string `json:"ipPrefix,omitempty"` + // PublicIPAddresses - The list of all referenced PublicIPAddresses. + PublicIPAddresses *[]ReferencedPublicIPAddress `json:"publicIPAddresses,omitempty"` + // LoadBalancerFrontendIPConfiguration - READ-ONLY; The reference to load balancer frontend IP configuration associated with the public IP prefix. + LoadBalancerFrontendIPConfiguration *SubResource `json:"loadBalancerFrontendIpConfiguration,omitempty"` + // ResourceGUID - The resource GUID property of the public IP prefix resource. + ResourceGUID *string `json:"resourceGuid,omitempty"` + // ProvisioningState - The provisioning state of the public IP prefix resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// PublicIPPrefixSku SKU of a public IP prefix. +type PublicIPPrefixSku struct { + // Name - Name of a public IP prefix SKU. Possible values include: 'PublicIPPrefixSkuNameStandard' + Name PublicIPPrefixSkuName `json:"name,omitempty"` +} + +// QueryTroubleshootingParameters parameters that define the resource to query the troubleshooting result. +type QueryTroubleshootingParameters struct { + // TargetResourceID - The target resource ID to query the troubleshooting result. + TargetResourceID *string `json:"targetResourceId,omitempty"` +} + +// ReferencedPublicIPAddress reference to a public IP address. +type ReferencedPublicIPAddress struct { + // ID - The PublicIPAddress Reference. + ID *string `json:"id,omitempty"` +} + +// Resource common resource representation. +type Resource struct { + // ID - Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for Resource. +func (r Resource) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if r.ID != nil { + objectMap["id"] = r.ID + } + if r.Location != nil { + objectMap["location"] = r.Location + } + if r.Tags != nil { + objectMap["tags"] = r.Tags + } + return json.Marshal(objectMap) +} + +// ResourceNavigationLink resourceNavigationLink resource. +type ResourceNavigationLink struct { + // ResourceNavigationLinkFormat - Resource navigation link properties format. + *ResourceNavigationLinkFormat `json:"properties,omitempty"` + // Name - Name of the resource that is unique within a resource group. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + // Etag - READ-ONLY; A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for ResourceNavigationLink. +func (rnl ResourceNavigationLink) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if rnl.ResourceNavigationLinkFormat != nil { + objectMap["properties"] = rnl.ResourceNavigationLinkFormat + } + if rnl.Name != nil { + objectMap["name"] = rnl.Name + } + if rnl.ID != nil { + objectMap["id"] = rnl.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ResourceNavigationLink struct. +func (rnl *ResourceNavigationLink) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var resourceNavigationLinkFormat ResourceNavigationLinkFormat + err = json.Unmarshal(*v, &resourceNavigationLinkFormat) + if err != nil { + return err + } + rnl.ResourceNavigationLinkFormat = &resourceNavigationLinkFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + rnl.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + rnl.Etag = &etag + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + rnl.Type = &typeVar + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + rnl.ID = &ID + } + } + } + + return nil +} + +// ResourceNavigationLinkFormat properties of ResourceNavigationLink. +type ResourceNavigationLinkFormat struct { + // LinkedResourceType - Resource type of the linked resource. + LinkedResourceType *string `json:"linkedResourceType,omitempty"` + // Link - Link to the external resource. + Link *string `json:"link,omitempty"` + // ProvisioningState - READ-ONLY; The provisioning state of the resource navigation link resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// ResourceNavigationLinksListResult response for ResourceNavigationLinks_List operation. +type ResourceNavigationLinksListResult struct { + autorest.Response `json:"-"` + // Value - The resource navigation links in a subnet. + Value *[]ResourceNavigationLink `json:"value,omitempty"` + // NextLink - READ-ONLY; The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// ResourceSet the base resource set for visibility and auto-approval. +type ResourceSet struct { + // Subscriptions - The list of subscriptions. + Subscriptions *[]string `json:"subscriptions,omitempty"` +} + +// RetentionPolicyParameters parameters that define the retention policy for flow log. +type RetentionPolicyParameters struct { + // Days - Number of days to retain flow log records. + Days *int32 `json:"days,omitempty"` + // Enabled - Flag to enable/disable retention. + Enabled *bool `json:"enabled,omitempty"` +} + +// Route route resource. +type Route struct { + autorest.Response `json:"-"` + // RoutePropertiesFormat - Properties of the route. + *RoutePropertiesFormat `json:"properties,omitempty"` + // Name - The name of the resource that is unique within a resource group. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for Route. +func (r Route) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if r.RoutePropertiesFormat != nil { + objectMap["properties"] = r.RoutePropertiesFormat + } + if r.Name != nil { + objectMap["name"] = r.Name + } + if r.Etag != nil { + objectMap["etag"] = r.Etag + } + if r.ID != nil { + objectMap["id"] = r.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for Route struct. +func (r *Route) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var routePropertiesFormat RoutePropertiesFormat + err = json.Unmarshal(*v, &routePropertiesFormat) + if err != nil { + return err + } + r.RoutePropertiesFormat = &routePropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + r.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + r.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + r.ID = &ID + } + } + } + + return nil +} + +// RouteFilter route Filter Resource. +type RouteFilter struct { + autorest.Response `json:"-"` + // RouteFilterPropertiesFormat - Properties of the route filter. + *RouteFilterPropertiesFormat `json:"properties,omitempty"` + // Etag - READ-ONLY; A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for RouteFilter. +func (rf RouteFilter) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if rf.RouteFilterPropertiesFormat != nil { + objectMap["properties"] = rf.RouteFilterPropertiesFormat + } + if rf.ID != nil { + objectMap["id"] = rf.ID + } + if rf.Location != nil { + objectMap["location"] = rf.Location + } + if rf.Tags != nil { + objectMap["tags"] = rf.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for RouteFilter struct. +func (rf *RouteFilter) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var routeFilterPropertiesFormat RouteFilterPropertiesFormat + err = json.Unmarshal(*v, &routeFilterPropertiesFormat) + if err != nil { + return err + } + rf.RouteFilterPropertiesFormat = &routeFilterPropertiesFormat + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + rf.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + rf.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + rf.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + rf.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + rf.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + rf.Tags = tags + } + } + } + + return nil +} + +// RouteFilterListResult response for the ListRouteFilters API service call. +type RouteFilterListResult struct { + autorest.Response `json:"-"` + // Value - A list of route filters in a resource group. + Value *[]RouteFilter `json:"value,omitempty"` + // NextLink - The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// RouteFilterListResultIterator provides access to a complete listing of RouteFilter values. +type RouteFilterListResultIterator struct { + i int + page RouteFilterListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *RouteFilterListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RouteFilterListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *RouteFilterListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter RouteFilterListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter RouteFilterListResultIterator) Response() RouteFilterListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter RouteFilterListResultIterator) Value() RouteFilter { + if !iter.page.NotDone() { + return RouteFilter{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the RouteFilterListResultIterator type. +func NewRouteFilterListResultIterator(page RouteFilterListResultPage) RouteFilterListResultIterator { + return RouteFilterListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (rflr RouteFilterListResult) IsEmpty() bool { + return rflr.Value == nil || len(*rflr.Value) == 0 +} + +// routeFilterListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (rflr RouteFilterListResult) routeFilterListResultPreparer(ctx context.Context) (*http.Request, error) { + if rflr.NextLink == nil || len(to.String(rflr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(rflr.NextLink))) +} + +// RouteFilterListResultPage contains a page of RouteFilter values. +type RouteFilterListResultPage struct { + fn func(context.Context, RouteFilterListResult) (RouteFilterListResult, error) + rflr RouteFilterListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *RouteFilterListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RouteFilterListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.rflr) + if err != nil { + return err + } + page.rflr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *RouteFilterListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page RouteFilterListResultPage) NotDone() bool { + return !page.rflr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page RouteFilterListResultPage) Response() RouteFilterListResult { + return page.rflr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page RouteFilterListResultPage) Values() []RouteFilter { + if page.rflr.IsEmpty() { + return nil + } + return *page.rflr.Value +} + +// Creates a new instance of the RouteFilterListResultPage type. +func NewRouteFilterListResultPage(getNextPage func(context.Context, RouteFilterListResult) (RouteFilterListResult, error)) RouteFilterListResultPage { + return RouteFilterListResultPage{fn: getNextPage} +} + +// RouteFilterPropertiesFormat route Filter Resource. +type RouteFilterPropertiesFormat struct { + // Rules - Collection of RouteFilterRules contained within a route filter. + Rules *[]RouteFilterRule `json:"rules,omitempty"` + // Peerings - A collection of references to express route circuit peerings. + Peerings *[]ExpressRouteCircuitPeering `json:"peerings,omitempty"` + // Ipv6Peerings - A collection of references to express route circuit ipv6 peerings. + Ipv6Peerings *[]ExpressRouteCircuitPeering `json:"ipv6Peerings,omitempty"` + // ProvisioningState - READ-ONLY; The provisioning state of the route filter resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// RouteFilterRule route Filter Rule Resource. +type RouteFilterRule struct { + autorest.Response `json:"-"` + // RouteFilterRulePropertiesFormat - Properties of the route filter rule. + *RouteFilterRulePropertiesFormat `json:"properties,omitempty"` + // Name - The name of the resource that is unique within a resource group. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Etag - READ-ONLY; A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for RouteFilterRule. +func (rfr RouteFilterRule) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if rfr.RouteFilterRulePropertiesFormat != nil { + objectMap["properties"] = rfr.RouteFilterRulePropertiesFormat + } + if rfr.Name != nil { + objectMap["name"] = rfr.Name + } + if rfr.Location != nil { + objectMap["location"] = rfr.Location + } + if rfr.ID != nil { + objectMap["id"] = rfr.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for RouteFilterRule struct. +func (rfr *RouteFilterRule) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var routeFilterRulePropertiesFormat RouteFilterRulePropertiesFormat + err = json.Unmarshal(*v, &routeFilterRulePropertiesFormat) + if err != nil { + return err + } + rfr.RouteFilterRulePropertiesFormat = &routeFilterRulePropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + rfr.Name = &name + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + rfr.Location = &location + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + rfr.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + rfr.ID = &ID + } + } + } + + return nil +} + +// RouteFilterRuleListResult response for the ListRouteFilterRules API service call. +type RouteFilterRuleListResult struct { + autorest.Response `json:"-"` + // Value - A list of RouteFilterRules in a resource group. + Value *[]RouteFilterRule `json:"value,omitempty"` + // NextLink - The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// RouteFilterRuleListResultIterator provides access to a complete listing of RouteFilterRule values. +type RouteFilterRuleListResultIterator struct { + i int + page RouteFilterRuleListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *RouteFilterRuleListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RouteFilterRuleListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *RouteFilterRuleListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter RouteFilterRuleListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter RouteFilterRuleListResultIterator) Response() RouteFilterRuleListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter RouteFilterRuleListResultIterator) Value() RouteFilterRule { + if !iter.page.NotDone() { + return RouteFilterRule{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the RouteFilterRuleListResultIterator type. +func NewRouteFilterRuleListResultIterator(page RouteFilterRuleListResultPage) RouteFilterRuleListResultIterator { + return RouteFilterRuleListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (rfrlr RouteFilterRuleListResult) IsEmpty() bool { + return rfrlr.Value == nil || len(*rfrlr.Value) == 0 +} + +// routeFilterRuleListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (rfrlr RouteFilterRuleListResult) routeFilterRuleListResultPreparer(ctx context.Context) (*http.Request, error) { + if rfrlr.NextLink == nil || len(to.String(rfrlr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(rfrlr.NextLink))) +} + +// RouteFilterRuleListResultPage contains a page of RouteFilterRule values. +type RouteFilterRuleListResultPage struct { + fn func(context.Context, RouteFilterRuleListResult) (RouteFilterRuleListResult, error) + rfrlr RouteFilterRuleListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *RouteFilterRuleListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RouteFilterRuleListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.rfrlr) + if err != nil { + return err + } + page.rfrlr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *RouteFilterRuleListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page RouteFilterRuleListResultPage) NotDone() bool { + return !page.rfrlr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page RouteFilterRuleListResultPage) Response() RouteFilterRuleListResult { + return page.rfrlr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page RouteFilterRuleListResultPage) Values() []RouteFilterRule { + if page.rfrlr.IsEmpty() { + return nil + } + return *page.rfrlr.Value +} + +// Creates a new instance of the RouteFilterRuleListResultPage type. +func NewRouteFilterRuleListResultPage(getNextPage func(context.Context, RouteFilterRuleListResult) (RouteFilterRuleListResult, error)) RouteFilterRuleListResultPage { + return RouteFilterRuleListResultPage{fn: getNextPage} +} + +// RouteFilterRulePropertiesFormat route Filter Rule Resource. +type RouteFilterRulePropertiesFormat struct { + // Access - The access type of the rule. Possible values include: 'Allow', 'Deny' + Access Access `json:"access,omitempty"` + // RouteFilterRuleType - The rule type of the rule. + RouteFilterRuleType *string `json:"routeFilterRuleType,omitempty"` + // Communities - The collection for bgp community values to filter on. e.g. ['12076:5010','12076:5020']. + Communities *[]string `json:"communities,omitempty"` + // ProvisioningState - READ-ONLY; The provisioning state of the route filter rule resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// RouteFilterRulesCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type RouteFilterRulesCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *RouteFilterRulesCreateOrUpdateFuture) Result(client RouteFilterRulesClient) (rfr RouteFilterRule, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteFilterRulesCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.RouteFilterRulesCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if rfr.Response.Response, err = future.GetResult(sender); err == nil && rfr.Response.Response.StatusCode != http.StatusNoContent { + rfr, err = client.CreateOrUpdateResponder(rfr.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteFilterRulesCreateOrUpdateFuture", "Result", rfr.Response.Response, "Failure responding to request") + } + } + return +} + +// RouteFilterRulesDeleteFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type RouteFilterRulesDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *RouteFilterRulesDeleteFuture) Result(client RouteFilterRulesClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteFilterRulesDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.RouteFilterRulesDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// RouteFilterRulesUpdateFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type RouteFilterRulesUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *RouteFilterRulesUpdateFuture) Result(client RouteFilterRulesClient) (rfr RouteFilterRule, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteFilterRulesUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.RouteFilterRulesUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if rfr.Response.Response, err = future.GetResult(sender); err == nil && rfr.Response.Response.StatusCode != http.StatusNoContent { + rfr, err = client.UpdateResponder(rfr.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteFilterRulesUpdateFuture", "Result", rfr.Response.Response, "Failure responding to request") + } + } + return +} + +// RouteFiltersCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type RouteFiltersCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *RouteFiltersCreateOrUpdateFuture) Result(client RouteFiltersClient) (rf RouteFilter, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteFiltersCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.RouteFiltersCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if rf.Response.Response, err = future.GetResult(sender); err == nil && rf.Response.Response.StatusCode != http.StatusNoContent { + rf, err = client.CreateOrUpdateResponder(rf.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteFiltersCreateOrUpdateFuture", "Result", rf.Response.Response, "Failure responding to request") + } + } + return +} + +// RouteFiltersDeleteFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type RouteFiltersDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *RouteFiltersDeleteFuture) Result(client RouteFiltersClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteFiltersDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.RouteFiltersDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// RouteFiltersUpdateFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type RouteFiltersUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *RouteFiltersUpdateFuture) Result(client RouteFiltersClient) (rf RouteFilter, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteFiltersUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.RouteFiltersUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if rf.Response.Response, err = future.GetResult(sender); err == nil && rf.Response.Response.StatusCode != http.StatusNoContent { + rf, err = client.UpdateResponder(rf.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteFiltersUpdateFuture", "Result", rf.Response.Response, "Failure responding to request") + } + } + return +} + +// RouteListResult response for the ListRoute API service call. +type RouteListResult struct { + autorest.Response `json:"-"` + // Value - A list of routes in a resource group. + Value *[]Route `json:"value,omitempty"` + // NextLink - The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// RouteListResultIterator provides access to a complete listing of Route values. +type RouteListResultIterator struct { + i int + page RouteListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *RouteListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RouteListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *RouteListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter RouteListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter RouteListResultIterator) Response() RouteListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter RouteListResultIterator) Value() Route { + if !iter.page.NotDone() { + return Route{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the RouteListResultIterator type. +func NewRouteListResultIterator(page RouteListResultPage) RouteListResultIterator { + return RouteListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (rlr RouteListResult) IsEmpty() bool { + return rlr.Value == nil || len(*rlr.Value) == 0 +} + +// routeListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (rlr RouteListResult) routeListResultPreparer(ctx context.Context) (*http.Request, error) { + if rlr.NextLink == nil || len(to.String(rlr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(rlr.NextLink))) +} + +// RouteListResultPage contains a page of Route values. +type RouteListResultPage struct { + fn func(context.Context, RouteListResult) (RouteListResult, error) + rlr RouteListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *RouteListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RouteListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.rlr) + if err != nil { + return err + } + page.rlr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *RouteListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page RouteListResultPage) NotDone() bool { + return !page.rlr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page RouteListResultPage) Response() RouteListResult { + return page.rlr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page RouteListResultPage) Values() []Route { + if page.rlr.IsEmpty() { + return nil + } + return *page.rlr.Value +} + +// Creates a new instance of the RouteListResultPage type. +func NewRouteListResultPage(getNextPage func(context.Context, RouteListResult) (RouteListResult, error)) RouteListResultPage { + return RouteListResultPage{fn: getNextPage} +} + +// RoutePropertiesFormat route resource. +type RoutePropertiesFormat struct { + // AddressPrefix - The destination CIDR to which the route applies. + AddressPrefix *string `json:"addressPrefix,omitempty"` + // NextHopType - The type of Azure hop the packet should be sent to. Possible values include: 'RouteNextHopTypeVirtualNetworkGateway', 'RouteNextHopTypeVnetLocal', 'RouteNextHopTypeInternet', 'RouteNextHopTypeVirtualAppliance', 'RouteNextHopTypeNone' + NextHopType RouteNextHopType `json:"nextHopType,omitempty"` + // NextHopIPAddress - The IP address packets should be forwarded to. Next hop values are only allowed in routes where the next hop type is VirtualAppliance. + NextHopIPAddress *string `json:"nextHopIpAddress,omitempty"` + // ProvisioningState - The provisioning state of the route resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// RoutesCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type RoutesCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *RoutesCreateOrUpdateFuture) Result(client RoutesClient) (r Route, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RoutesCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.RoutesCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if r.Response.Response, err = future.GetResult(sender); err == nil && r.Response.Response.StatusCode != http.StatusNoContent { + r, err = client.CreateOrUpdateResponder(r.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RoutesCreateOrUpdateFuture", "Result", r.Response.Response, "Failure responding to request") + } + } + return +} + +// RoutesDeleteFuture an abstraction for monitoring and retrieving the results of a long-running operation. +type RoutesDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *RoutesDeleteFuture) Result(client RoutesClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RoutesDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.RoutesDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// RouteTable route table resource. +type RouteTable struct { + autorest.Response `json:"-"` + // RouteTablePropertiesFormat - Properties of the route table. + *RouteTablePropertiesFormat `json:"properties,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for RouteTable. +func (rt RouteTable) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if rt.RouteTablePropertiesFormat != nil { + objectMap["properties"] = rt.RouteTablePropertiesFormat + } + if rt.Etag != nil { + objectMap["etag"] = rt.Etag + } + if rt.ID != nil { + objectMap["id"] = rt.ID + } + if rt.Location != nil { + objectMap["location"] = rt.Location + } + if rt.Tags != nil { + objectMap["tags"] = rt.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for RouteTable struct. +func (rt *RouteTable) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var routeTablePropertiesFormat RouteTablePropertiesFormat + err = json.Unmarshal(*v, &routeTablePropertiesFormat) + if err != nil { + return err + } + rt.RouteTablePropertiesFormat = &routeTablePropertiesFormat + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + rt.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + rt.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + rt.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + rt.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + rt.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + rt.Tags = tags + } + } + } + + return nil +} + +// RouteTableListResult response for the ListRouteTable API service call. +type RouteTableListResult struct { + autorest.Response `json:"-"` + // Value - A list of route tables in a resource group. + Value *[]RouteTable `json:"value,omitempty"` + // NextLink - The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// RouteTableListResultIterator provides access to a complete listing of RouteTable values. +type RouteTableListResultIterator struct { + i int + page RouteTableListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *RouteTableListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RouteTableListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *RouteTableListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter RouteTableListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter RouteTableListResultIterator) Response() RouteTableListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter RouteTableListResultIterator) Value() RouteTable { + if !iter.page.NotDone() { + return RouteTable{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the RouteTableListResultIterator type. +func NewRouteTableListResultIterator(page RouteTableListResultPage) RouteTableListResultIterator { + return RouteTableListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (rtlr RouteTableListResult) IsEmpty() bool { + return rtlr.Value == nil || len(*rtlr.Value) == 0 +} + +// routeTableListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (rtlr RouteTableListResult) routeTableListResultPreparer(ctx context.Context) (*http.Request, error) { + if rtlr.NextLink == nil || len(to.String(rtlr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(rtlr.NextLink))) +} + +// RouteTableListResultPage contains a page of RouteTable values. +type RouteTableListResultPage struct { + fn func(context.Context, RouteTableListResult) (RouteTableListResult, error) + rtlr RouteTableListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *RouteTableListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RouteTableListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.rtlr) + if err != nil { + return err + } + page.rtlr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *RouteTableListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page RouteTableListResultPage) NotDone() bool { + return !page.rtlr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page RouteTableListResultPage) Response() RouteTableListResult { + return page.rtlr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page RouteTableListResultPage) Values() []RouteTable { + if page.rtlr.IsEmpty() { + return nil + } + return *page.rtlr.Value +} + +// Creates a new instance of the RouteTableListResultPage type. +func NewRouteTableListResultPage(getNextPage func(context.Context, RouteTableListResult) (RouteTableListResult, error)) RouteTableListResultPage { + return RouteTableListResultPage{fn: getNextPage} +} + +// RouteTablePropertiesFormat route Table resource. +type RouteTablePropertiesFormat struct { + // Routes - Collection of routes contained within a route table. + Routes *[]Route `json:"routes,omitempty"` + // Subnets - READ-ONLY; A collection of references to subnets. + Subnets *[]Subnet `json:"subnets,omitempty"` + // DisableBgpRoutePropagation - Whether to disable the routes learned by BGP on that route table. True means disable. + DisableBgpRoutePropagation *bool `json:"disableBgpRoutePropagation,omitempty"` + // ProvisioningState - The provisioning state of the route table resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// RouteTablesCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type RouteTablesCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *RouteTablesCreateOrUpdateFuture) Result(client RouteTablesClient) (rt RouteTable, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteTablesCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.RouteTablesCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if rt.Response.Response, err = future.GetResult(sender); err == nil && rt.Response.Response.StatusCode != http.StatusNoContent { + rt, err = client.CreateOrUpdateResponder(rt.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteTablesCreateOrUpdateFuture", "Result", rt.Response.Response, "Failure responding to request") + } + } + return +} + +// RouteTablesDeleteFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type RouteTablesDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *RouteTablesDeleteFuture) Result(client RouteTablesClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteTablesDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.RouteTablesDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// RouteTablesUpdateTagsFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type RouteTablesUpdateTagsFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *RouteTablesUpdateTagsFuture) Result(client RouteTablesClient) (rt RouteTable, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteTablesUpdateTagsFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.RouteTablesUpdateTagsFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if rt.Response.Response, err = future.GetResult(sender); err == nil && rt.Response.Response.StatusCode != http.StatusNoContent { + rt, err = client.UpdateTagsResponder(rt.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteTablesUpdateTagsFuture", "Result", rt.Response.Response, "Failure responding to request") + } + } + return +} + +// RuleCondition rule condition of type network. +type RuleCondition struct { + // IPProtocols - Array of FirewallPolicyRuleConditionNetworkProtocols. + IPProtocols *[]FirewallPolicyRuleConditionNetworkProtocol `json:"ipProtocols,omitempty"` + // SourceAddresses - List of source IP addresses for this rule. + SourceAddresses *[]string `json:"sourceAddresses,omitempty"` + // DestinationAddresses - List of destination IP addresses or Service Tags. + DestinationAddresses *[]string `json:"destinationAddresses,omitempty"` + // DestinationPorts - List of destination ports. + DestinationPorts *[]string `json:"destinationPorts,omitempty"` + // Name - Name of the rule condition. + Name *string `json:"name,omitempty"` + // Description - Description of the rule condition. + Description *string `json:"description,omitempty"` + // RuleConditionType - Possible values include: 'RuleConditionTypeFirewallPolicyRuleCondition', 'RuleConditionTypeApplicationRuleCondition', 'RuleConditionTypeNetworkRuleCondition' + RuleConditionType RuleConditionType `json:"ruleConditionType,omitempty"` +} + +// MarshalJSON is the custom marshaler for RuleCondition. +func (rc RuleCondition) MarshalJSON() ([]byte, error) { + rc.RuleConditionType = RuleConditionTypeNetworkRuleCondition + objectMap := make(map[string]interface{}) + if rc.IPProtocols != nil { + objectMap["ipProtocols"] = rc.IPProtocols + } + if rc.SourceAddresses != nil { + objectMap["sourceAddresses"] = rc.SourceAddresses + } + if rc.DestinationAddresses != nil { + objectMap["destinationAddresses"] = rc.DestinationAddresses + } + if rc.DestinationPorts != nil { + objectMap["destinationPorts"] = rc.DestinationPorts + } + if rc.Name != nil { + objectMap["name"] = rc.Name + } + if rc.Description != nil { + objectMap["description"] = rc.Description + } + if rc.RuleConditionType != "" { + objectMap["ruleConditionType"] = rc.RuleConditionType + } + return json.Marshal(objectMap) +} + +// AsApplicationRuleCondition is the BasicFirewallPolicyRuleCondition implementation for RuleCondition. +func (rc RuleCondition) AsApplicationRuleCondition() (*ApplicationRuleCondition, bool) { + return nil, false +} + +// AsRuleCondition is the BasicFirewallPolicyRuleCondition implementation for RuleCondition. +func (rc RuleCondition) AsRuleCondition() (*RuleCondition, bool) { + return &rc, true +} + +// AsFirewallPolicyRuleCondition is the BasicFirewallPolicyRuleCondition implementation for RuleCondition. +func (rc RuleCondition) AsFirewallPolicyRuleCondition() (*FirewallPolicyRuleCondition, bool) { + return nil, false +} + +// AsBasicFirewallPolicyRuleCondition is the BasicFirewallPolicyRuleCondition implementation for RuleCondition. +func (rc RuleCondition) AsBasicFirewallPolicyRuleCondition() (BasicFirewallPolicyRuleCondition, bool) { + return &rc, true +} + +// SecurityGroup networkSecurityGroup resource. +type SecurityGroup struct { + autorest.Response `json:"-"` + // SecurityGroupPropertiesFormat - Properties of the network security group. + *SecurityGroupPropertiesFormat `json:"properties,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for SecurityGroup. +func (sg SecurityGroup) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if sg.SecurityGroupPropertiesFormat != nil { + objectMap["properties"] = sg.SecurityGroupPropertiesFormat + } + if sg.Etag != nil { + objectMap["etag"] = sg.Etag + } + if sg.ID != nil { + objectMap["id"] = sg.ID + } + if sg.Location != nil { + objectMap["location"] = sg.Location + } + if sg.Tags != nil { + objectMap["tags"] = sg.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for SecurityGroup struct. +func (sg *SecurityGroup) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var securityGroupPropertiesFormat SecurityGroupPropertiesFormat + err = json.Unmarshal(*v, &securityGroupPropertiesFormat) + if err != nil { + return err + } + sg.SecurityGroupPropertiesFormat = &securityGroupPropertiesFormat + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + sg.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + sg.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + sg.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + sg.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + sg.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + sg.Tags = tags + } + } + } + + return nil +} + +// SecurityGroupListResult response for ListNetworkSecurityGroups API service call. +type SecurityGroupListResult struct { + autorest.Response `json:"-"` + // Value - A list of NetworkSecurityGroup resources. + Value *[]SecurityGroup `json:"value,omitempty"` + // NextLink - The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// SecurityGroupListResultIterator provides access to a complete listing of SecurityGroup values. +type SecurityGroupListResultIterator struct { + i int + page SecurityGroupListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *SecurityGroupListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SecurityGroupListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *SecurityGroupListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter SecurityGroupListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter SecurityGroupListResultIterator) Response() SecurityGroupListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter SecurityGroupListResultIterator) Value() SecurityGroup { + if !iter.page.NotDone() { + return SecurityGroup{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the SecurityGroupListResultIterator type. +func NewSecurityGroupListResultIterator(page SecurityGroupListResultPage) SecurityGroupListResultIterator { + return SecurityGroupListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (sglr SecurityGroupListResult) IsEmpty() bool { + return sglr.Value == nil || len(*sglr.Value) == 0 +} + +// securityGroupListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (sglr SecurityGroupListResult) securityGroupListResultPreparer(ctx context.Context) (*http.Request, error) { + if sglr.NextLink == nil || len(to.String(sglr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(sglr.NextLink))) +} + +// SecurityGroupListResultPage contains a page of SecurityGroup values. +type SecurityGroupListResultPage struct { + fn func(context.Context, SecurityGroupListResult) (SecurityGroupListResult, error) + sglr SecurityGroupListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *SecurityGroupListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SecurityGroupListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.sglr) + if err != nil { + return err + } + page.sglr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *SecurityGroupListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page SecurityGroupListResultPage) NotDone() bool { + return !page.sglr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page SecurityGroupListResultPage) Response() SecurityGroupListResult { + return page.sglr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page SecurityGroupListResultPage) Values() []SecurityGroup { + if page.sglr.IsEmpty() { + return nil + } + return *page.sglr.Value +} + +// Creates a new instance of the SecurityGroupListResultPage type. +func NewSecurityGroupListResultPage(getNextPage func(context.Context, SecurityGroupListResult) (SecurityGroupListResult, error)) SecurityGroupListResultPage { + return SecurityGroupListResultPage{fn: getNextPage} +} + +// SecurityGroupNetworkInterface network interface and all its associated security rules. +type SecurityGroupNetworkInterface struct { + // ID - ID of the network interface. + ID *string `json:"id,omitempty"` + // SecurityRuleAssociations - All security rules associated with the network interface. + SecurityRuleAssociations *SecurityRuleAssociations `json:"securityRuleAssociations,omitempty"` +} + +// SecurityGroupPropertiesFormat network Security Group resource. +type SecurityGroupPropertiesFormat struct { + // SecurityRules - A collection of security rules of the network security group. + SecurityRules *[]SecurityRule `json:"securityRules,omitempty"` + // DefaultSecurityRules - The default security rules of network security group. + DefaultSecurityRules *[]SecurityRule `json:"defaultSecurityRules,omitempty"` + // NetworkInterfaces - READ-ONLY; A collection of references to network interfaces. + NetworkInterfaces *[]Interface `json:"networkInterfaces,omitempty"` + // Subnets - READ-ONLY; A collection of references to subnets. + Subnets *[]Subnet `json:"subnets,omitempty"` + // ResourceGUID - The resource GUID property of the network security group resource. + ResourceGUID *string `json:"resourceGuid,omitempty"` + // ProvisioningState - The provisioning state of the network security group resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// SecurityGroupResult network configuration diagnostic result corresponded provided traffic query. +type SecurityGroupResult struct { + // SecurityRuleAccessResult - The network traffic is allowed or denied. Possible values include: 'SecurityRuleAccessAllow', 'SecurityRuleAccessDeny' + SecurityRuleAccessResult SecurityRuleAccess `json:"securityRuleAccessResult,omitempty"` + // EvaluatedNetworkSecurityGroups - READ-ONLY; List of results network security groups diagnostic. + EvaluatedNetworkSecurityGroups *[]EvaluatedNetworkSecurityGroup `json:"evaluatedNetworkSecurityGroups,omitempty"` +} + +// SecurityGroupsCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type SecurityGroupsCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *SecurityGroupsCreateOrUpdateFuture) Result(client SecurityGroupsClient) (sg SecurityGroup, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.SecurityGroupsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.SecurityGroupsCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if sg.Response.Response, err = future.GetResult(sender); err == nil && sg.Response.Response.StatusCode != http.StatusNoContent { + sg, err = client.CreateOrUpdateResponder(sg.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.SecurityGroupsCreateOrUpdateFuture", "Result", sg.Response.Response, "Failure responding to request") + } + } + return +} + +// SecurityGroupsDeleteFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type SecurityGroupsDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *SecurityGroupsDeleteFuture) Result(client SecurityGroupsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.SecurityGroupsDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.SecurityGroupsDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// SecurityGroupsUpdateTagsFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type SecurityGroupsUpdateTagsFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *SecurityGroupsUpdateTagsFuture) Result(client SecurityGroupsClient) (sg SecurityGroup, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.SecurityGroupsUpdateTagsFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.SecurityGroupsUpdateTagsFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if sg.Response.Response, err = future.GetResult(sender); err == nil && sg.Response.Response.StatusCode != http.StatusNoContent { + sg, err = client.UpdateTagsResponder(sg.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.SecurityGroupsUpdateTagsFuture", "Result", sg.Response.Response, "Failure responding to request") + } + } + return +} + +// SecurityGroupViewParameters parameters that define the VM to check security groups for. +type SecurityGroupViewParameters struct { + // TargetResourceID - ID of the target VM. + TargetResourceID *string `json:"targetResourceId,omitempty"` +} + +// SecurityGroupViewResult the information about security rules applied to the specified VM. +type SecurityGroupViewResult struct { + autorest.Response `json:"-"` + // NetworkInterfaces - List of network interfaces on the specified VM. + NetworkInterfaces *[]SecurityGroupNetworkInterface `json:"networkInterfaces,omitempty"` +} + +// SecurityRule network security rule. +type SecurityRule struct { + autorest.Response `json:"-"` + // SecurityRulePropertiesFormat - Properties of the security rule. + *SecurityRulePropertiesFormat `json:"properties,omitempty"` + // Name - The name of the resource that is unique within a resource group. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for SecurityRule. +func (sr SecurityRule) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if sr.SecurityRulePropertiesFormat != nil { + objectMap["properties"] = sr.SecurityRulePropertiesFormat + } + if sr.Name != nil { + objectMap["name"] = sr.Name + } + if sr.Etag != nil { + objectMap["etag"] = sr.Etag + } + if sr.ID != nil { + objectMap["id"] = sr.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for SecurityRule struct. +func (sr *SecurityRule) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var securityRulePropertiesFormat SecurityRulePropertiesFormat + err = json.Unmarshal(*v, &securityRulePropertiesFormat) + if err != nil { + return err + } + sr.SecurityRulePropertiesFormat = &securityRulePropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + sr.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + sr.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + sr.ID = &ID + } + } + } + + return nil +} + +// SecurityRuleAssociations all security rules associated with the network interface. +type SecurityRuleAssociations struct { + // NetworkInterfaceAssociation - Network interface and it's custom security rules. + NetworkInterfaceAssociation *InterfaceAssociation `json:"networkInterfaceAssociation,omitempty"` + // SubnetAssociation - Subnet and it's custom security rules. + SubnetAssociation *SubnetAssociation `json:"subnetAssociation,omitempty"` + // DefaultSecurityRules - Collection of default security rules of the network security group. + DefaultSecurityRules *[]SecurityRule `json:"defaultSecurityRules,omitempty"` + // EffectiveSecurityRules - Collection of effective security rules. + EffectiveSecurityRules *[]EffectiveNetworkSecurityRule `json:"effectiveSecurityRules,omitempty"` +} + +// SecurityRuleListResult response for ListSecurityRule API service call. Retrieves all security rules that +// belongs to a network security group. +type SecurityRuleListResult struct { + autorest.Response `json:"-"` + // Value - The security rules in a network security group. + Value *[]SecurityRule `json:"value,omitempty"` + // NextLink - The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// SecurityRuleListResultIterator provides access to a complete listing of SecurityRule values. +type SecurityRuleListResultIterator struct { + i int + page SecurityRuleListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *SecurityRuleListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SecurityRuleListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *SecurityRuleListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter SecurityRuleListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter SecurityRuleListResultIterator) Response() SecurityRuleListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter SecurityRuleListResultIterator) Value() SecurityRule { + if !iter.page.NotDone() { + return SecurityRule{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the SecurityRuleListResultIterator type. +func NewSecurityRuleListResultIterator(page SecurityRuleListResultPage) SecurityRuleListResultIterator { + return SecurityRuleListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (srlr SecurityRuleListResult) IsEmpty() bool { + return srlr.Value == nil || len(*srlr.Value) == 0 +} + +// securityRuleListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (srlr SecurityRuleListResult) securityRuleListResultPreparer(ctx context.Context) (*http.Request, error) { + if srlr.NextLink == nil || len(to.String(srlr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(srlr.NextLink))) +} + +// SecurityRuleListResultPage contains a page of SecurityRule values. +type SecurityRuleListResultPage struct { + fn func(context.Context, SecurityRuleListResult) (SecurityRuleListResult, error) + srlr SecurityRuleListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *SecurityRuleListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SecurityRuleListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.srlr) + if err != nil { + return err + } + page.srlr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *SecurityRuleListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page SecurityRuleListResultPage) NotDone() bool { + return !page.srlr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page SecurityRuleListResultPage) Response() SecurityRuleListResult { + return page.srlr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page SecurityRuleListResultPage) Values() []SecurityRule { + if page.srlr.IsEmpty() { + return nil + } + return *page.srlr.Value +} + +// Creates a new instance of the SecurityRuleListResultPage type. +func NewSecurityRuleListResultPage(getNextPage func(context.Context, SecurityRuleListResult) (SecurityRuleListResult, error)) SecurityRuleListResultPage { + return SecurityRuleListResultPage{fn: getNextPage} +} + +// SecurityRulePropertiesFormat security rule resource. +type SecurityRulePropertiesFormat struct { + // Description - A description for this rule. Restricted to 140 chars. + Description *string `json:"description,omitempty"` + // Protocol - Network protocol this rule applies to. Possible values include: 'SecurityRuleProtocolTCP', 'SecurityRuleProtocolUDP', 'SecurityRuleProtocolIcmp', 'SecurityRuleProtocolEsp', 'SecurityRuleProtocolAsterisk' + Protocol SecurityRuleProtocol `json:"protocol,omitempty"` + // SourcePortRange - The source port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports. + SourcePortRange *string `json:"sourcePortRange,omitempty"` + // DestinationPortRange - The destination port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports. + DestinationPortRange *string `json:"destinationPortRange,omitempty"` + // SourceAddressPrefix - The CIDR or source IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. If this is an ingress rule, specifies where network traffic originates from. + SourceAddressPrefix *string `json:"sourceAddressPrefix,omitempty"` + // SourceAddressPrefixes - The CIDR or source IP ranges. + SourceAddressPrefixes *[]string `json:"sourceAddressPrefixes,omitempty"` + // SourceApplicationSecurityGroups - The application security group specified as source. + SourceApplicationSecurityGroups *[]ApplicationSecurityGroup `json:"sourceApplicationSecurityGroups,omitempty"` + // DestinationAddressPrefix - The destination address prefix. CIDR or destination IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. + DestinationAddressPrefix *string `json:"destinationAddressPrefix,omitempty"` + // DestinationAddressPrefixes - The destination address prefixes. CIDR or destination IP ranges. + DestinationAddressPrefixes *[]string `json:"destinationAddressPrefixes,omitempty"` + // DestinationApplicationSecurityGroups - The application security group specified as destination. + DestinationApplicationSecurityGroups *[]ApplicationSecurityGroup `json:"destinationApplicationSecurityGroups,omitempty"` + // SourcePortRanges - The source port ranges. + SourcePortRanges *[]string `json:"sourcePortRanges,omitempty"` + // DestinationPortRanges - The destination port ranges. + DestinationPortRanges *[]string `json:"destinationPortRanges,omitempty"` + // Access - The network traffic is allowed or denied. Possible values include: 'SecurityRuleAccessAllow', 'SecurityRuleAccessDeny' + Access SecurityRuleAccess `json:"access,omitempty"` + // Priority - The priority of the rule. The value can be between 100 and 4096. The priority number must be unique for each rule in the collection. The lower the priority number, the higher the priority of the rule. + Priority *int32 `json:"priority,omitempty"` + // Direction - The direction of the rule. The direction specifies if rule will be evaluated on incoming or outgoing traffic. Possible values include: 'SecurityRuleDirectionInbound', 'SecurityRuleDirectionOutbound' + Direction SecurityRuleDirection `json:"direction,omitempty"` + // ProvisioningState - The provisioning state of the security rule resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// SecurityRulesCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type SecurityRulesCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *SecurityRulesCreateOrUpdateFuture) Result(client SecurityRulesClient) (sr SecurityRule, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.SecurityRulesCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.SecurityRulesCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if sr.Response.Response, err = future.GetResult(sender); err == nil && sr.Response.Response.StatusCode != http.StatusNoContent { + sr, err = client.CreateOrUpdateResponder(sr.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.SecurityRulesCreateOrUpdateFuture", "Result", sr.Response.Response, "Failure responding to request") + } + } + return +} + +// SecurityRulesDeleteFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type SecurityRulesDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *SecurityRulesDeleteFuture) Result(client SecurityRulesClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.SecurityRulesDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.SecurityRulesDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// SecurityRulesEvaluationResult network security rules evaluation result. +type SecurityRulesEvaluationResult struct { + // Name - Name of the network security rule. + Name *string `json:"name,omitempty"` + // ProtocolMatched - Value indicating whether protocol is matched. + ProtocolMatched *bool `json:"protocolMatched,omitempty"` + // SourceMatched - Value indicating whether source is matched. + SourceMatched *bool `json:"sourceMatched,omitempty"` + // SourcePortMatched - Value indicating whether source port is matched. + SourcePortMatched *bool `json:"sourcePortMatched,omitempty"` + // DestinationMatched - Value indicating whether destination is matched. + DestinationMatched *bool `json:"destinationMatched,omitempty"` + // DestinationPortMatched - Value indicating whether destination port is matched. + DestinationPortMatched *bool `json:"destinationPortMatched,omitempty"` +} + +// ServiceAssociationLink serviceAssociationLink resource. +type ServiceAssociationLink struct { + // ServiceAssociationLinkPropertiesFormat - Resource navigation link properties format. + *ServiceAssociationLinkPropertiesFormat `json:"properties,omitempty"` + // Name - Name of the resource that is unique within a resource group. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + // Etag - READ-ONLY; A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // Type - Resource type. + Type *string `json:"type,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for ServiceAssociationLink. +func (sal ServiceAssociationLink) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if sal.ServiceAssociationLinkPropertiesFormat != nil { + objectMap["properties"] = sal.ServiceAssociationLinkPropertiesFormat + } + if sal.Name != nil { + objectMap["name"] = sal.Name + } + if sal.Type != nil { + objectMap["type"] = sal.Type + } + if sal.ID != nil { + objectMap["id"] = sal.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ServiceAssociationLink struct. +func (sal *ServiceAssociationLink) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var serviceAssociationLinkPropertiesFormat ServiceAssociationLinkPropertiesFormat + err = json.Unmarshal(*v, &serviceAssociationLinkPropertiesFormat) + if err != nil { + return err + } + sal.ServiceAssociationLinkPropertiesFormat = &serviceAssociationLinkPropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + sal.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + sal.Etag = &etag + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + sal.Type = &typeVar + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + sal.ID = &ID + } + } + } + + return nil +} + +// ServiceAssociationLinkPropertiesFormat properties of ServiceAssociationLink. +type ServiceAssociationLinkPropertiesFormat struct { + // LinkedResourceType - Resource type of the linked resource. + LinkedResourceType *string `json:"linkedResourceType,omitempty"` + // Link - Link to the external resource. + Link *string `json:"link,omitempty"` + // ProvisioningState - READ-ONLY; The provisioning state of the service association link resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + // AllowDelete - If true, the resource can be deleted. + AllowDelete *bool `json:"allowDelete,omitempty"` + // Locations - A list of locations. + Locations *[]string `json:"locations,omitempty"` +} + +// ServiceAssociationLinksListResult response for ServiceAssociationLinks_List operation. +type ServiceAssociationLinksListResult struct { + autorest.Response `json:"-"` + // Value - The service association links in a subnet. + Value *[]ServiceAssociationLink `json:"value,omitempty"` + // NextLink - READ-ONLY; The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// ServiceDelegationPropertiesFormat properties of a service delegation. +type ServiceDelegationPropertiesFormat struct { + // ServiceName - The name of the service to whom the subnet should be delegated (e.g. Microsoft.Sql/servers). + ServiceName *string `json:"serviceName,omitempty"` + // Actions - Describes the actions permitted to the service upon delegation. + Actions *[]string `json:"actions,omitempty"` + // ProvisioningState - READ-ONLY; The provisioning state of the service delegation resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// ServiceEndpointPoliciesCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of +// a long-running operation. +type ServiceEndpointPoliciesCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ServiceEndpointPoliciesCreateOrUpdateFuture) Result(client ServiceEndpointPoliciesClient) (sep ServiceEndpointPolicy, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ServiceEndpointPoliciesCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.ServiceEndpointPoliciesCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if sep.Response.Response, err = future.GetResult(sender); err == nil && sep.Response.Response.StatusCode != http.StatusNoContent { + sep, err = client.CreateOrUpdateResponder(sep.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ServiceEndpointPoliciesCreateOrUpdateFuture", "Result", sep.Response.Response, "Failure responding to request") + } + } + return +} + +// ServiceEndpointPoliciesDeleteFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type ServiceEndpointPoliciesDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ServiceEndpointPoliciesDeleteFuture) Result(client ServiceEndpointPoliciesClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ServiceEndpointPoliciesDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.ServiceEndpointPoliciesDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// ServiceEndpointPoliciesUpdateFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type ServiceEndpointPoliciesUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ServiceEndpointPoliciesUpdateFuture) Result(client ServiceEndpointPoliciesClient) (sep ServiceEndpointPolicy, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ServiceEndpointPoliciesUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.ServiceEndpointPoliciesUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if sep.Response.Response, err = future.GetResult(sender); err == nil && sep.Response.Response.StatusCode != http.StatusNoContent { + sep, err = client.UpdateResponder(sep.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ServiceEndpointPoliciesUpdateFuture", "Result", sep.Response.Response, "Failure responding to request") + } + } + return +} + +// ServiceEndpointPolicy service End point policy resource. +type ServiceEndpointPolicy struct { + autorest.Response `json:"-"` + // ServiceEndpointPolicyPropertiesFormat - Properties of the service end point policy. + *ServiceEndpointPolicyPropertiesFormat `json:"properties,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for ServiceEndpointPolicy. +func (sep ServiceEndpointPolicy) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if sep.ServiceEndpointPolicyPropertiesFormat != nil { + objectMap["properties"] = sep.ServiceEndpointPolicyPropertiesFormat + } + if sep.Etag != nil { + objectMap["etag"] = sep.Etag + } + if sep.ID != nil { + objectMap["id"] = sep.ID + } + if sep.Location != nil { + objectMap["location"] = sep.Location + } + if sep.Tags != nil { + objectMap["tags"] = sep.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ServiceEndpointPolicy struct. +func (sep *ServiceEndpointPolicy) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var serviceEndpointPolicyPropertiesFormat ServiceEndpointPolicyPropertiesFormat + err = json.Unmarshal(*v, &serviceEndpointPolicyPropertiesFormat) + if err != nil { + return err + } + sep.ServiceEndpointPolicyPropertiesFormat = &serviceEndpointPolicyPropertiesFormat + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + sep.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + sep.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + sep.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + sep.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + sep.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + sep.Tags = tags + } + } + } + + return nil +} + +// ServiceEndpointPolicyDefinition service Endpoint policy definitions. +type ServiceEndpointPolicyDefinition struct { + autorest.Response `json:"-"` + // ServiceEndpointPolicyDefinitionPropertiesFormat - Properties of the service endpoint policy definition. + *ServiceEndpointPolicyDefinitionPropertiesFormat `json:"properties,omitempty"` + // Name - The name of the resource that is unique within a resource group. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for ServiceEndpointPolicyDefinition. +func (sepd ServiceEndpointPolicyDefinition) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if sepd.ServiceEndpointPolicyDefinitionPropertiesFormat != nil { + objectMap["properties"] = sepd.ServiceEndpointPolicyDefinitionPropertiesFormat + } + if sepd.Name != nil { + objectMap["name"] = sepd.Name + } + if sepd.Etag != nil { + objectMap["etag"] = sepd.Etag + } + if sepd.ID != nil { + objectMap["id"] = sepd.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ServiceEndpointPolicyDefinition struct. +func (sepd *ServiceEndpointPolicyDefinition) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var serviceEndpointPolicyDefinitionPropertiesFormat ServiceEndpointPolicyDefinitionPropertiesFormat + err = json.Unmarshal(*v, &serviceEndpointPolicyDefinitionPropertiesFormat) + if err != nil { + return err + } + sepd.ServiceEndpointPolicyDefinitionPropertiesFormat = &serviceEndpointPolicyDefinitionPropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + sepd.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + sepd.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + sepd.ID = &ID + } + } + } + + return nil +} + +// ServiceEndpointPolicyDefinitionListResult response for ListServiceEndpointPolicyDefinition API service +// call. Retrieves all service endpoint policy definition that belongs to a service endpoint policy. +type ServiceEndpointPolicyDefinitionListResult struct { + autorest.Response `json:"-"` + // Value - The service endpoint policy definition in a service endpoint policy. + Value *[]ServiceEndpointPolicyDefinition `json:"value,omitempty"` + // NextLink - The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// ServiceEndpointPolicyDefinitionListResultIterator provides access to a complete listing of +// ServiceEndpointPolicyDefinition values. +type ServiceEndpointPolicyDefinitionListResultIterator struct { + i int + page ServiceEndpointPolicyDefinitionListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *ServiceEndpointPolicyDefinitionListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServiceEndpointPolicyDefinitionListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *ServiceEndpointPolicyDefinitionListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter ServiceEndpointPolicyDefinitionListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter ServiceEndpointPolicyDefinitionListResultIterator) Response() ServiceEndpointPolicyDefinitionListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter ServiceEndpointPolicyDefinitionListResultIterator) Value() ServiceEndpointPolicyDefinition { + if !iter.page.NotDone() { + return ServiceEndpointPolicyDefinition{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the ServiceEndpointPolicyDefinitionListResultIterator type. +func NewServiceEndpointPolicyDefinitionListResultIterator(page ServiceEndpointPolicyDefinitionListResultPage) ServiceEndpointPolicyDefinitionListResultIterator { + return ServiceEndpointPolicyDefinitionListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (sepdlr ServiceEndpointPolicyDefinitionListResult) IsEmpty() bool { + return sepdlr.Value == nil || len(*sepdlr.Value) == 0 +} + +// serviceEndpointPolicyDefinitionListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (sepdlr ServiceEndpointPolicyDefinitionListResult) serviceEndpointPolicyDefinitionListResultPreparer(ctx context.Context) (*http.Request, error) { + if sepdlr.NextLink == nil || len(to.String(sepdlr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(sepdlr.NextLink))) +} + +// ServiceEndpointPolicyDefinitionListResultPage contains a page of ServiceEndpointPolicyDefinition values. +type ServiceEndpointPolicyDefinitionListResultPage struct { + fn func(context.Context, ServiceEndpointPolicyDefinitionListResult) (ServiceEndpointPolicyDefinitionListResult, error) + sepdlr ServiceEndpointPolicyDefinitionListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *ServiceEndpointPolicyDefinitionListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServiceEndpointPolicyDefinitionListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.sepdlr) + if err != nil { + return err + } + page.sepdlr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *ServiceEndpointPolicyDefinitionListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page ServiceEndpointPolicyDefinitionListResultPage) NotDone() bool { + return !page.sepdlr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page ServiceEndpointPolicyDefinitionListResultPage) Response() ServiceEndpointPolicyDefinitionListResult { + return page.sepdlr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page ServiceEndpointPolicyDefinitionListResultPage) Values() []ServiceEndpointPolicyDefinition { + if page.sepdlr.IsEmpty() { + return nil + } + return *page.sepdlr.Value +} + +// Creates a new instance of the ServiceEndpointPolicyDefinitionListResultPage type. +func NewServiceEndpointPolicyDefinitionListResultPage(getNextPage func(context.Context, ServiceEndpointPolicyDefinitionListResult) (ServiceEndpointPolicyDefinitionListResult, error)) ServiceEndpointPolicyDefinitionListResultPage { + return ServiceEndpointPolicyDefinitionListResultPage{fn: getNextPage} +} + +// ServiceEndpointPolicyDefinitionPropertiesFormat service Endpoint policy definition resource. +type ServiceEndpointPolicyDefinitionPropertiesFormat struct { + // Description - A description for this rule. Restricted to 140 chars. + Description *string `json:"description,omitempty"` + // Service - Service endpoint name. + Service *string `json:"service,omitempty"` + // ServiceResources - A list of service resources. + ServiceResources *[]string `json:"serviceResources,omitempty"` + // ProvisioningState - READ-ONLY; The provisioning state of the service endpoint policy definition resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// ServiceEndpointPolicyDefinitionsCreateOrUpdateFuture an abstraction for monitoring and retrieving the +// results of a long-running operation. +type ServiceEndpointPolicyDefinitionsCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ServiceEndpointPolicyDefinitionsCreateOrUpdateFuture) Result(client ServiceEndpointPolicyDefinitionsClient) (sepd ServiceEndpointPolicyDefinition, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ServiceEndpointPolicyDefinitionsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.ServiceEndpointPolicyDefinitionsCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if sepd.Response.Response, err = future.GetResult(sender); err == nil && sepd.Response.Response.StatusCode != http.StatusNoContent { + sepd, err = client.CreateOrUpdateResponder(sepd.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ServiceEndpointPolicyDefinitionsCreateOrUpdateFuture", "Result", sepd.Response.Response, "Failure responding to request") + } + } + return +} + +// ServiceEndpointPolicyDefinitionsDeleteFuture an abstraction for monitoring and retrieving the results of +// a long-running operation. +type ServiceEndpointPolicyDefinitionsDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ServiceEndpointPolicyDefinitionsDeleteFuture) Result(client ServiceEndpointPolicyDefinitionsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ServiceEndpointPolicyDefinitionsDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.ServiceEndpointPolicyDefinitionsDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// ServiceEndpointPolicyListResult response for ListServiceEndpointPolicies API service call. +type ServiceEndpointPolicyListResult struct { + autorest.Response `json:"-"` + // Value - A list of ServiceEndpointPolicy resources. + Value *[]ServiceEndpointPolicy `json:"value,omitempty"` + // NextLink - READ-ONLY; The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// ServiceEndpointPolicyListResultIterator provides access to a complete listing of ServiceEndpointPolicy +// values. +type ServiceEndpointPolicyListResultIterator struct { + i int + page ServiceEndpointPolicyListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *ServiceEndpointPolicyListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServiceEndpointPolicyListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *ServiceEndpointPolicyListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter ServiceEndpointPolicyListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter ServiceEndpointPolicyListResultIterator) Response() ServiceEndpointPolicyListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter ServiceEndpointPolicyListResultIterator) Value() ServiceEndpointPolicy { + if !iter.page.NotDone() { + return ServiceEndpointPolicy{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the ServiceEndpointPolicyListResultIterator type. +func NewServiceEndpointPolicyListResultIterator(page ServiceEndpointPolicyListResultPage) ServiceEndpointPolicyListResultIterator { + return ServiceEndpointPolicyListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (seplr ServiceEndpointPolicyListResult) IsEmpty() bool { + return seplr.Value == nil || len(*seplr.Value) == 0 +} + +// serviceEndpointPolicyListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (seplr ServiceEndpointPolicyListResult) serviceEndpointPolicyListResultPreparer(ctx context.Context) (*http.Request, error) { + if seplr.NextLink == nil || len(to.String(seplr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(seplr.NextLink))) +} + +// ServiceEndpointPolicyListResultPage contains a page of ServiceEndpointPolicy values. +type ServiceEndpointPolicyListResultPage struct { + fn func(context.Context, ServiceEndpointPolicyListResult) (ServiceEndpointPolicyListResult, error) + seplr ServiceEndpointPolicyListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *ServiceEndpointPolicyListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServiceEndpointPolicyListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.seplr) + if err != nil { + return err + } + page.seplr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *ServiceEndpointPolicyListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page ServiceEndpointPolicyListResultPage) NotDone() bool { + return !page.seplr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page ServiceEndpointPolicyListResultPage) Response() ServiceEndpointPolicyListResult { + return page.seplr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page ServiceEndpointPolicyListResultPage) Values() []ServiceEndpointPolicy { + if page.seplr.IsEmpty() { + return nil + } + return *page.seplr.Value +} + +// Creates a new instance of the ServiceEndpointPolicyListResultPage type. +func NewServiceEndpointPolicyListResultPage(getNextPage func(context.Context, ServiceEndpointPolicyListResult) (ServiceEndpointPolicyListResult, error)) ServiceEndpointPolicyListResultPage { + return ServiceEndpointPolicyListResultPage{fn: getNextPage} +} + +// ServiceEndpointPolicyPropertiesFormat service Endpoint Policy resource. +type ServiceEndpointPolicyPropertiesFormat struct { + // ServiceEndpointPolicyDefinitions - A collection of service endpoint policy definitions of the service endpoint policy. + ServiceEndpointPolicyDefinitions *[]ServiceEndpointPolicyDefinition `json:"serviceEndpointPolicyDefinitions,omitempty"` + // Subnets - READ-ONLY; A collection of references to subnets. + Subnets *[]Subnet `json:"subnets,omitempty"` + // ResourceGUID - READ-ONLY; The resource GUID property of the service endpoint policy resource. + ResourceGUID *string `json:"resourceGuid,omitempty"` + // ProvisioningState - READ-ONLY; The provisioning state of the service endpoint policy resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// ServiceEndpointPropertiesFormat the service endpoint properties. +type ServiceEndpointPropertiesFormat struct { + // Service - The type of the endpoint service. + Service *string `json:"service,omitempty"` + // Locations - A list of locations. + Locations *[]string `json:"locations,omitempty"` + // ProvisioningState - The provisioning state of the service endpoint resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// ServiceTagInformation the service tag information. +type ServiceTagInformation struct { + // Properties - READ-ONLY; Properties of the service tag information. + Properties *ServiceTagInformationPropertiesFormat `json:"properties,omitempty"` + // Name - READ-ONLY; The name of service tag. + Name *string `json:"name,omitempty"` + // ID - READ-ONLY; The ID of service tag. + ID *string `json:"id,omitempty"` +} + +// ServiceTagInformationPropertiesFormat properties of the service tag information. +type ServiceTagInformationPropertiesFormat struct { + // ChangeNumber - READ-ONLY; The iteration number of service tag. + ChangeNumber *string `json:"changeNumber,omitempty"` + // Region - READ-ONLY; The region of service tag. + Region *string `json:"region,omitempty"` + // SystemService - READ-ONLY; The name of system service. + SystemService *string `json:"systemService,omitempty"` + // AddressPrefixes - READ-ONLY; The list of IP address prefixes. + AddressPrefixes *[]string `json:"addressPrefixes,omitempty"` +} + +// ServiceTagsListResult response for the ListServiceTags API service call. +type ServiceTagsListResult struct { + autorest.Response `json:"-"` + // Name - READ-ONLY; The name of the cloud. + Name *string `json:"name,omitempty"` + // ID - READ-ONLY; The ID of the cloud. + ID *string `json:"id,omitempty"` + // Type - READ-ONLY; The azure resource type. + Type *string `json:"type,omitempty"` + // ChangeNumber - READ-ONLY; The iteration number. + ChangeNumber *string `json:"changeNumber,omitempty"` + // Cloud - READ-ONLY; The name of the cloud. + Cloud *string `json:"cloud,omitempty"` + // Values - READ-ONLY; The list of service tag information resources. + Values *[]ServiceTagInformation `json:"values,omitempty"` +} + +// String ... +type String struct { + autorest.Response `json:"-"` + Value *string `json:"value,omitempty"` +} + +// Subnet subnet in a virtual network resource. +type Subnet struct { + autorest.Response `json:"-"` + // SubnetPropertiesFormat - Properties of the subnet. + *SubnetPropertiesFormat `json:"properties,omitempty"` + // Name - The name of the resource that is unique within a resource group. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for Subnet. +func (s Subnet) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if s.SubnetPropertiesFormat != nil { + objectMap["properties"] = s.SubnetPropertiesFormat + } + if s.Name != nil { + objectMap["name"] = s.Name + } + if s.Etag != nil { + objectMap["etag"] = s.Etag + } + if s.ID != nil { + objectMap["id"] = s.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for Subnet struct. +func (s *Subnet) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var subnetPropertiesFormat SubnetPropertiesFormat + err = json.Unmarshal(*v, &subnetPropertiesFormat) + if err != nil { + return err + } + s.SubnetPropertiesFormat = &subnetPropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + s.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + s.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + s.ID = &ID + } + } + } + + return nil +} + +// SubnetAssociation subnet and it's custom security rules. +type SubnetAssociation struct { + // ID - READ-ONLY; Subnet ID. + ID *string `json:"id,omitempty"` + // SecurityRules - Collection of custom security rules. + SecurityRules *[]SecurityRule `json:"securityRules,omitempty"` +} + +// SubnetListResult response for ListSubnets API service callRetrieves all subnet that belongs to a virtual +// network. +type SubnetListResult struct { + autorest.Response `json:"-"` + // Value - The subnets in a virtual network. + Value *[]Subnet `json:"value,omitempty"` + // NextLink - The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// SubnetListResultIterator provides access to a complete listing of Subnet values. +type SubnetListResultIterator struct { + i int + page SubnetListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *SubnetListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SubnetListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *SubnetListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter SubnetListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter SubnetListResultIterator) Response() SubnetListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter SubnetListResultIterator) Value() Subnet { + if !iter.page.NotDone() { + return Subnet{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the SubnetListResultIterator type. +func NewSubnetListResultIterator(page SubnetListResultPage) SubnetListResultIterator { + return SubnetListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (slr SubnetListResult) IsEmpty() bool { + return slr.Value == nil || len(*slr.Value) == 0 +} + +// subnetListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (slr SubnetListResult) subnetListResultPreparer(ctx context.Context) (*http.Request, error) { + if slr.NextLink == nil || len(to.String(slr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(slr.NextLink))) +} + +// SubnetListResultPage contains a page of Subnet values. +type SubnetListResultPage struct { + fn func(context.Context, SubnetListResult) (SubnetListResult, error) + slr SubnetListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *SubnetListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SubnetListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.slr) + if err != nil { + return err + } + page.slr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *SubnetListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page SubnetListResultPage) NotDone() bool { + return !page.slr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page SubnetListResultPage) Response() SubnetListResult { + return page.slr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page SubnetListResultPage) Values() []Subnet { + if page.slr.IsEmpty() { + return nil + } + return *page.slr.Value +} + +// Creates a new instance of the SubnetListResultPage type. +func NewSubnetListResultPage(getNextPage func(context.Context, SubnetListResult) (SubnetListResult, error)) SubnetListResultPage { + return SubnetListResultPage{fn: getNextPage} +} + +// SubnetPropertiesFormat properties of the subnet. +type SubnetPropertiesFormat struct { + // AddressPrefix - The address prefix for the subnet. + AddressPrefix *string `json:"addressPrefix,omitempty"` + // AddressPrefixes - List of address prefixes for the subnet. + AddressPrefixes *[]string `json:"addressPrefixes,omitempty"` + // NetworkSecurityGroup - The reference of the NetworkSecurityGroup resource. + NetworkSecurityGroup *SecurityGroup `json:"networkSecurityGroup,omitempty"` + // RouteTable - The reference of the RouteTable resource. + RouteTable *RouteTable `json:"routeTable,omitempty"` + // NatGateway - Nat gateway associated with this subnet. + NatGateway *SubResource `json:"natGateway,omitempty"` + // ServiceEndpoints - An array of service endpoints. + ServiceEndpoints *[]ServiceEndpointPropertiesFormat `json:"serviceEndpoints,omitempty"` + // ServiceEndpointPolicies - An array of service endpoint policies. + ServiceEndpointPolicies *[]ServiceEndpointPolicy `json:"serviceEndpointPolicies,omitempty"` + // PrivateEndpoints - READ-ONLY; An array of references to private endpoints. + PrivateEndpoints *[]PrivateEndpoint `json:"privateEndpoints,omitempty"` + // IPConfigurations - READ-ONLY; An array of references to the network interface IP configurations using subnet. + IPConfigurations *[]IPConfiguration `json:"ipConfigurations,omitempty"` + // IPConfigurationProfiles - READ-ONLY; Array of IP configuration profiles which reference this subnet. + IPConfigurationProfiles *[]IPConfigurationProfile `json:"ipConfigurationProfiles,omitempty"` + // ResourceNavigationLinks - An array of references to the external resources using subnet. + ResourceNavigationLinks *[]ResourceNavigationLink `json:"resourceNavigationLinks,omitempty"` + // ServiceAssociationLinks - An array of references to services injecting into this subnet. + ServiceAssociationLinks *[]ServiceAssociationLink `json:"serviceAssociationLinks,omitempty"` + // Delegations - An array of references to the delegations on the subnet. + Delegations *[]Delegation `json:"delegations,omitempty"` + // Purpose - READ-ONLY; A read-only string identifying the intention of use for this subnet based on delegations and other user-defined properties. + Purpose *string `json:"purpose,omitempty"` + // ProvisioningState - The provisioning state of the subnet resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + // PrivateEndpointNetworkPolicies - Enable or Disable apply network policies on private end point in the subnet. + PrivateEndpointNetworkPolicies *string `json:"privateEndpointNetworkPolicies,omitempty"` + // PrivateLinkServiceNetworkPolicies - Enable or Disable apply network policies on private link service in the subnet. + PrivateLinkServiceNetworkPolicies *string `json:"privateLinkServiceNetworkPolicies,omitempty"` +} + +// SubnetsCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type SubnetsCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *SubnetsCreateOrUpdateFuture) Result(client SubnetsClient) (s Subnet, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.SubnetsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.SubnetsCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if s.Response.Response, err = future.GetResult(sender); err == nil && s.Response.Response.StatusCode != http.StatusNoContent { + s, err = client.CreateOrUpdateResponder(s.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.SubnetsCreateOrUpdateFuture", "Result", s.Response.Response, "Failure responding to request") + } + } + return +} + +// SubnetsDeleteFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type SubnetsDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *SubnetsDeleteFuture) Result(client SubnetsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.SubnetsDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.SubnetsDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// SubnetsPrepareNetworkPoliciesFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type SubnetsPrepareNetworkPoliciesFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *SubnetsPrepareNetworkPoliciesFuture) Result(client SubnetsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.SubnetsPrepareNetworkPoliciesFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.SubnetsPrepareNetworkPoliciesFuture") + return + } + ar.Response = future.Response() + return +} + +// SubnetsUnprepareNetworkPoliciesFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type SubnetsUnprepareNetworkPoliciesFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *SubnetsUnprepareNetworkPoliciesFuture) Result(client SubnetsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.SubnetsUnprepareNetworkPoliciesFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.SubnetsUnprepareNetworkPoliciesFuture") + return + } + ar.Response = future.Response() + return +} + +// SubResource reference to another subresource. +type SubResource struct { + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// TagsObject tags object for patch operations. +type TagsObject struct { + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for TagsObject. +func (toVar TagsObject) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if toVar.Tags != nil { + objectMap["tags"] = toVar.Tags + } + return json.Marshal(objectMap) +} + +// Topology topology of the specified resource group. +type Topology struct { + autorest.Response `json:"-"` + // ID - READ-ONLY; GUID representing the operation id. + ID *string `json:"id,omitempty"` + // CreatedDateTime - READ-ONLY; The datetime when the topology was initially created for the resource group. + CreatedDateTime *date.Time `json:"createdDateTime,omitempty"` + // LastModified - READ-ONLY; The datetime when the topology was last modified. + LastModified *date.Time `json:"lastModified,omitempty"` + // Resources - A list of topology resources. + Resources *[]TopologyResource `json:"resources,omitempty"` +} + +// TopologyAssociation resources that have an association with the parent resource. +type TopologyAssociation struct { + // Name - The name of the resource that is associated with the parent resource. + Name *string `json:"name,omitempty"` + // ResourceID - The ID of the resource that is associated with the parent resource. + ResourceID *string `json:"resourceId,omitempty"` + // AssociationType - The association type of the child resource to the parent resource. Possible values include: 'Associated', 'Contains' + AssociationType AssociationType `json:"associationType,omitempty"` +} + +// TopologyParameters parameters that define the representation of topology. +type TopologyParameters struct { + // TargetResourceGroupName - The name of the target resource group to perform topology on. + TargetResourceGroupName *string `json:"targetResourceGroupName,omitempty"` + // TargetVirtualNetwork - The reference of the Virtual Network resource. + TargetVirtualNetwork *SubResource `json:"targetVirtualNetwork,omitempty"` + // TargetSubnet - The reference of the Subnet resource. + TargetSubnet *SubResource `json:"targetSubnet,omitempty"` +} + +// TopologyResource the network resource topology information for the given resource group. +type TopologyResource struct { + // Name - Name of the resource. + Name *string `json:"name,omitempty"` + // ID - ID of the resource. + ID *string `json:"id,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Associations - Holds the associations the resource has with other resources in the resource group. + Associations *[]TopologyAssociation `json:"associations,omitempty"` +} + +// TrafficAnalyticsConfigurationProperties parameters that define the configuration of traffic analytics. +type TrafficAnalyticsConfigurationProperties struct { + // Enabled - Flag to enable/disable traffic analytics. + Enabled *bool `json:"enabled,omitempty"` + // WorkspaceID - The resource guid of the attached workspace. + WorkspaceID *string `json:"workspaceId,omitempty"` + // WorkspaceRegion - The location of the attached workspace. + WorkspaceRegion *string `json:"workspaceRegion,omitempty"` + // WorkspaceResourceID - Resource Id of the attached workspace. + WorkspaceResourceID *string `json:"workspaceResourceId,omitempty"` + // TrafficAnalyticsInterval - The interval in minutes which would decide how frequently TA service should do flow analytics. + TrafficAnalyticsInterval *int32 `json:"trafficAnalyticsInterval,omitempty"` +} + +// TrafficAnalyticsProperties parameters that define the configuration of traffic analytics. +type TrafficAnalyticsProperties struct { + // NetworkWatcherFlowAnalyticsConfiguration - Parameters that define the configuration of traffic analytics. + NetworkWatcherFlowAnalyticsConfiguration *TrafficAnalyticsConfigurationProperties `json:"networkWatcherFlowAnalyticsConfiguration,omitempty"` +} + +// TrafficSelectorPolicy an traffic selector policy for a virtual network gateway connection. +type TrafficSelectorPolicy struct { + // LocalAddressRanges - A collection of local address spaces in CIDR format + LocalAddressRanges *[]string `json:"localAddressRanges,omitempty"` + // RemoteAddressRanges - A collection of remote address spaces in CIDR format + RemoteAddressRanges *[]string `json:"remoteAddressRanges,omitempty"` +} + +// TroubleshootingDetails information gained from troubleshooting of specified resource. +type TroubleshootingDetails struct { + // ID - The id of the get troubleshoot operation. + ID *string `json:"id,omitempty"` + // ReasonType - Reason type of failure. + ReasonType *string `json:"reasonType,omitempty"` + // Summary - A summary of troubleshooting. + Summary *string `json:"summary,omitempty"` + // Detail - Details on troubleshooting results. + Detail *string `json:"detail,omitempty"` + // RecommendedActions - List of recommended actions. + RecommendedActions *[]TroubleshootingRecommendedActions `json:"recommendedActions,omitempty"` +} + +// TroubleshootingParameters parameters that define the resource to troubleshoot. +type TroubleshootingParameters struct { + // TargetResourceID - The target resource to troubleshoot. + TargetResourceID *string `json:"targetResourceId,omitempty"` + // TroubleshootingProperties - Properties of the troubleshooting resource. + *TroubleshootingProperties `json:"properties,omitempty"` +} + +// MarshalJSON is the custom marshaler for TroubleshootingParameters. +func (tp TroubleshootingParameters) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if tp.TargetResourceID != nil { + objectMap["targetResourceId"] = tp.TargetResourceID + } + if tp.TroubleshootingProperties != nil { + objectMap["properties"] = tp.TroubleshootingProperties + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for TroubleshootingParameters struct. +func (tp *TroubleshootingParameters) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "targetResourceId": + if v != nil { + var targetResourceID string + err = json.Unmarshal(*v, &targetResourceID) + if err != nil { + return err + } + tp.TargetResourceID = &targetResourceID + } + case "properties": + if v != nil { + var troubleshootingProperties TroubleshootingProperties + err = json.Unmarshal(*v, &troubleshootingProperties) + if err != nil { + return err + } + tp.TroubleshootingProperties = &troubleshootingProperties + } + } + } + + return nil +} + +// TroubleshootingProperties storage location provided for troubleshoot. +type TroubleshootingProperties struct { + // StorageID - The ID for the storage account to save the troubleshoot result. + StorageID *string `json:"storageId,omitempty"` + // StoragePath - The path to the blob to save the troubleshoot result in. + StoragePath *string `json:"storagePath,omitempty"` +} + +// TroubleshootingRecommendedActions recommended actions based on discovered issues. +type TroubleshootingRecommendedActions struct { + // ActionID - ID of the recommended action. + ActionID *string `json:"actionId,omitempty"` + // ActionText - Description of recommended actions. + ActionText *string `json:"actionText,omitempty"` + // ActionURI - The uri linking to a documentation for the recommended troubleshooting actions. + ActionURI *string `json:"actionUri,omitempty"` + // ActionURIText - The information from the URI for the recommended troubleshooting actions. + ActionURIText *string `json:"actionUriText,omitempty"` +} + +// TroubleshootingResult troubleshooting information gained from specified resource. +type TroubleshootingResult struct { + autorest.Response `json:"-"` + // StartTime - The start time of the troubleshooting. + StartTime *date.Time `json:"startTime,omitempty"` + // EndTime - The end time of the troubleshooting. + EndTime *date.Time `json:"endTime,omitempty"` + // Code - The result code of the troubleshooting. + Code *string `json:"code,omitempty"` + // Results - Information from troubleshooting. + Results *[]TroubleshootingDetails `json:"results,omitempty"` +} + +// TunnelConnectionHealth virtualNetworkGatewayConnection properties. +type TunnelConnectionHealth struct { + // Tunnel - READ-ONLY; Tunnel name. + Tunnel *string `json:"tunnel,omitempty"` + // ConnectionStatus - READ-ONLY; Virtual Network Gateway connection status. Possible values include: 'VirtualNetworkGatewayConnectionStatusUnknown', 'VirtualNetworkGatewayConnectionStatusConnecting', 'VirtualNetworkGatewayConnectionStatusConnected', 'VirtualNetworkGatewayConnectionStatusNotConnected' + ConnectionStatus VirtualNetworkGatewayConnectionStatus `json:"connectionStatus,omitempty"` + // IngressBytesTransferred - READ-ONLY; The Ingress Bytes Transferred in this connection. + IngressBytesTransferred *int64 `json:"ingressBytesTransferred,omitempty"` + // EgressBytesTransferred - READ-ONLY; The Egress Bytes Transferred in this connection. + EgressBytesTransferred *int64 `json:"egressBytesTransferred,omitempty"` + // LastConnectionEstablishedUtcTime - READ-ONLY; The time at which connection was established in Utc format. + LastConnectionEstablishedUtcTime *string `json:"lastConnectionEstablishedUtcTime,omitempty"` +} + +// UnprepareNetworkPoliciesRequest details of UnprepareNetworkPolicies for Subnet. +type UnprepareNetworkPoliciesRequest struct { + // ServiceName - The name of the service for which subnet is being unprepared for. + ServiceName *string `json:"serviceName,omitempty"` +} + +// Usage describes network resource usage. +type Usage struct { + // ID - READ-ONLY; Resource identifier. + ID *string `json:"id,omitempty"` + // Unit - An enum describing the unit of measurement. + Unit *string `json:"unit,omitempty"` + // CurrentValue - The current value of the usage. + CurrentValue *int64 `json:"currentValue,omitempty"` + // Limit - The limit of usage. + Limit *int64 `json:"limit,omitempty"` + // Name - The name of the type of usage. + Name *UsageName `json:"name,omitempty"` +} + +// UsageName the usage names. +type UsageName struct { + // Value - A string describing the resource name. + Value *string `json:"value,omitempty"` + // LocalizedValue - A localized string describing the resource name. + LocalizedValue *string `json:"localizedValue,omitempty"` +} + +// UsagesListResult the list usages operation response. +type UsagesListResult struct { + autorest.Response `json:"-"` + // Value - The list network resource usages. + Value *[]Usage `json:"value,omitempty"` + // NextLink - URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// UsagesListResultIterator provides access to a complete listing of Usage values. +type UsagesListResultIterator struct { + i int + page UsagesListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *UsagesListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/UsagesListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *UsagesListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter UsagesListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter UsagesListResultIterator) Response() UsagesListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter UsagesListResultIterator) Value() Usage { + if !iter.page.NotDone() { + return Usage{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the UsagesListResultIterator type. +func NewUsagesListResultIterator(page UsagesListResultPage) UsagesListResultIterator { + return UsagesListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (ulr UsagesListResult) IsEmpty() bool { + return ulr.Value == nil || len(*ulr.Value) == 0 +} + +// usagesListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (ulr UsagesListResult) usagesListResultPreparer(ctx context.Context) (*http.Request, error) { + if ulr.NextLink == nil || len(to.String(ulr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(ulr.NextLink))) +} + +// UsagesListResultPage contains a page of Usage values. +type UsagesListResultPage struct { + fn func(context.Context, UsagesListResult) (UsagesListResult, error) + ulr UsagesListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *UsagesListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/UsagesListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.ulr) + if err != nil { + return err + } + page.ulr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *UsagesListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page UsagesListResultPage) NotDone() bool { + return !page.ulr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page UsagesListResultPage) Response() UsagesListResult { + return page.ulr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page UsagesListResultPage) Values() []Usage { + if page.ulr.IsEmpty() { + return nil + } + return *page.ulr.Value +} + +// Creates a new instance of the UsagesListResultPage type. +func NewUsagesListResultPage(getNextPage func(context.Context, UsagesListResult) (UsagesListResult, error)) UsagesListResultPage { + return UsagesListResultPage{fn: getNextPage} +} + +// VerificationIPFlowParameters parameters that define the IP flow to be verified. +type VerificationIPFlowParameters struct { + // TargetResourceID - The ID of the target resource to perform next-hop on. + TargetResourceID *string `json:"targetResourceId,omitempty"` + // Direction - The direction of the packet represented as a 5-tuple. Possible values include: 'Inbound', 'Outbound' + Direction Direction `json:"direction,omitempty"` + // Protocol - Protocol to be verified on. Possible values include: 'IPFlowProtocolTCP', 'IPFlowProtocolUDP' + Protocol IPFlowProtocol `json:"protocol,omitempty"` + // LocalPort - The local port. Acceptable values are a single integer in the range (0-65535). Support for * for the source port, which depends on the direction. + LocalPort *string `json:"localPort,omitempty"` + // RemotePort - The remote port. Acceptable values are a single integer in the range (0-65535). Support for * for the source port, which depends on the direction. + RemotePort *string `json:"remotePort,omitempty"` + // LocalIPAddress - The local IP address. Acceptable values are valid IPv4 addresses. + LocalIPAddress *string `json:"localIPAddress,omitempty"` + // RemoteIPAddress - The remote IP address. Acceptable values are valid IPv4 addresses. + RemoteIPAddress *string `json:"remoteIPAddress,omitempty"` + // TargetNicResourceID - The NIC ID. (If VM has multiple NICs and IP forwarding is enabled on any of them, then this parameter must be specified. Otherwise optional). + TargetNicResourceID *string `json:"targetNicResourceId,omitempty"` +} + +// VerificationIPFlowResult results of IP flow verification on the target resource. +type VerificationIPFlowResult struct { + autorest.Response `json:"-"` + // Access - Indicates whether the traffic is allowed or denied. Possible values include: 'Allow', 'Deny' + Access Access `json:"access,omitempty"` + // RuleName - Name of the rule. If input is not matched against any security rule, it is not displayed. + RuleName *string `json:"ruleName,omitempty"` +} + +// VirtualHub virtualHub Resource. +type VirtualHub struct { + autorest.Response `json:"-"` + // VirtualHubProperties - Properties of the virtual hub. + *VirtualHubProperties `json:"properties,omitempty"` + // Etag - READ-ONLY; A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for VirtualHub. +func (vh VirtualHub) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if vh.VirtualHubProperties != nil { + objectMap["properties"] = vh.VirtualHubProperties + } + if vh.ID != nil { + objectMap["id"] = vh.ID + } + if vh.Location != nil { + objectMap["location"] = vh.Location + } + if vh.Tags != nil { + objectMap["tags"] = vh.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for VirtualHub struct. +func (vh *VirtualHub) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var virtualHubProperties VirtualHubProperties + err = json.Unmarshal(*v, &virtualHubProperties) + if err != nil { + return err + } + vh.VirtualHubProperties = &virtualHubProperties + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + vh.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + vh.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + vh.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + vh.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + vh.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + vh.Tags = tags + } + } + } + + return nil +} + +// VirtualHubID virtual Hub identifier. +type VirtualHubID struct { + // ID - The resource URI for the Virtual Hub where the ExpressRoute gateway is or will be deployed. The Virtual Hub resource and the ExpressRoute gateway resource reside in the same subscription. + ID *string `json:"id,omitempty"` +} + +// VirtualHubProperties parameters for VirtualHub. +type VirtualHubProperties struct { + // VirtualWan - The VirtualWAN to which the VirtualHub belongs. + VirtualWan *SubResource `json:"virtualWan,omitempty"` + // VpnGateway - The VpnGateway associated with this VirtualHub. + VpnGateway *SubResource `json:"vpnGateway,omitempty"` + // P2SVpnGateway - The P2SVpnGateway associated with this VirtualHub. + P2SVpnGateway *SubResource `json:"p2SVpnGateway,omitempty"` + // ExpressRouteGateway - The expressRouteGateway associated with this VirtualHub. + ExpressRouteGateway *SubResource `json:"expressRouteGateway,omitempty"` + // VirtualNetworkConnections - List of all vnet connections with this VirtualHub. + VirtualNetworkConnections *[]HubVirtualNetworkConnection `json:"virtualNetworkConnections,omitempty"` + // AddressPrefix - Address-prefix for this VirtualHub. + AddressPrefix *string `json:"addressPrefix,omitempty"` + // RouteTable - The routeTable associated with this virtual hub. + RouteTable *VirtualHubRouteTable `json:"routeTable,omitempty"` + // ProvisioningState - The provisioning state of the virtual hub resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// VirtualHubRoute virtualHub route. +type VirtualHubRoute struct { + // AddressPrefixes - List of all addressPrefixes. + AddressPrefixes *[]string `json:"addressPrefixes,omitempty"` + // NextHopIPAddress - NextHop ip address. + NextHopIPAddress *string `json:"nextHopIpAddress,omitempty"` +} + +// VirtualHubRouteTable virtualHub route table. +type VirtualHubRouteTable struct { + // Routes - List of all routes. + Routes *[]VirtualHubRoute `json:"routes,omitempty"` +} + +// VirtualHubsCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type VirtualHubsCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VirtualHubsCreateOrUpdateFuture) Result(client VirtualHubsClient) (vh VirtualHub, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualHubsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VirtualHubsCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if vh.Response.Response, err = future.GetResult(sender); err == nil && vh.Response.Response.StatusCode != http.StatusNoContent { + vh, err = client.CreateOrUpdateResponder(vh.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualHubsCreateOrUpdateFuture", "Result", vh.Response.Response, "Failure responding to request") + } + } + return +} + +// VirtualHubsDeleteFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type VirtualHubsDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VirtualHubsDeleteFuture) Result(client VirtualHubsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualHubsDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VirtualHubsDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// VirtualHubsUpdateTagsFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type VirtualHubsUpdateTagsFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VirtualHubsUpdateTagsFuture) Result(client VirtualHubsClient) (vh VirtualHub, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualHubsUpdateTagsFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VirtualHubsUpdateTagsFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if vh.Response.Response, err = future.GetResult(sender); err == nil && vh.Response.Response.StatusCode != http.StatusNoContent { + vh, err = client.UpdateTagsResponder(vh.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualHubsUpdateTagsFuture", "Result", vh.Response.Response, "Failure responding to request") + } + } + return +} + +// VirtualNetwork virtual Network resource. +type VirtualNetwork struct { + autorest.Response `json:"-"` + // VirtualNetworkPropertiesFormat - Properties of the virtual network. + *VirtualNetworkPropertiesFormat `json:"properties,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for VirtualNetwork. +func (vn VirtualNetwork) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if vn.VirtualNetworkPropertiesFormat != nil { + objectMap["properties"] = vn.VirtualNetworkPropertiesFormat + } + if vn.Etag != nil { + objectMap["etag"] = vn.Etag + } + if vn.ID != nil { + objectMap["id"] = vn.ID + } + if vn.Location != nil { + objectMap["location"] = vn.Location + } + if vn.Tags != nil { + objectMap["tags"] = vn.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for VirtualNetwork struct. +func (vn *VirtualNetwork) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var virtualNetworkPropertiesFormat VirtualNetworkPropertiesFormat + err = json.Unmarshal(*v, &virtualNetworkPropertiesFormat) + if err != nil { + return err + } + vn.VirtualNetworkPropertiesFormat = &virtualNetworkPropertiesFormat + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + vn.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + vn.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + vn.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + vn.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + vn.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + vn.Tags = tags + } + } + } + + return nil +} + +// VirtualNetworkConnectionGatewayReference a reference to VirtualNetworkGateway or LocalNetworkGateway +// resource. +type VirtualNetworkConnectionGatewayReference struct { + // ID - The ID of VirtualNetworkGateway or LocalNetworkGateway resource. + ID *string `json:"id,omitempty"` +} + +// VirtualNetworkGateway a common class for general resource information. +type VirtualNetworkGateway struct { + autorest.Response `json:"-"` + // VirtualNetworkGatewayPropertiesFormat - Properties of the virtual network gateway. + *VirtualNetworkGatewayPropertiesFormat `json:"properties,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for VirtualNetworkGateway. +func (vng VirtualNetworkGateway) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if vng.VirtualNetworkGatewayPropertiesFormat != nil { + objectMap["properties"] = vng.VirtualNetworkGatewayPropertiesFormat + } + if vng.Etag != nil { + objectMap["etag"] = vng.Etag + } + if vng.ID != nil { + objectMap["id"] = vng.ID + } + if vng.Location != nil { + objectMap["location"] = vng.Location + } + if vng.Tags != nil { + objectMap["tags"] = vng.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for VirtualNetworkGateway struct. +func (vng *VirtualNetworkGateway) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var virtualNetworkGatewayPropertiesFormat VirtualNetworkGatewayPropertiesFormat + err = json.Unmarshal(*v, &virtualNetworkGatewayPropertiesFormat) + if err != nil { + return err + } + vng.VirtualNetworkGatewayPropertiesFormat = &virtualNetworkGatewayPropertiesFormat + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + vng.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + vng.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + vng.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + vng.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + vng.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + vng.Tags = tags + } + } + } + + return nil +} + +// VirtualNetworkGatewayConnection a common class for general resource information. +type VirtualNetworkGatewayConnection struct { + autorest.Response `json:"-"` + // VirtualNetworkGatewayConnectionPropertiesFormat - Properties of the virtual network gateway connection. + *VirtualNetworkGatewayConnectionPropertiesFormat `json:"properties,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for VirtualNetworkGatewayConnection. +func (vngc VirtualNetworkGatewayConnection) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if vngc.VirtualNetworkGatewayConnectionPropertiesFormat != nil { + objectMap["properties"] = vngc.VirtualNetworkGatewayConnectionPropertiesFormat + } + if vngc.Etag != nil { + objectMap["etag"] = vngc.Etag + } + if vngc.ID != nil { + objectMap["id"] = vngc.ID + } + if vngc.Location != nil { + objectMap["location"] = vngc.Location + } + if vngc.Tags != nil { + objectMap["tags"] = vngc.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for VirtualNetworkGatewayConnection struct. +func (vngc *VirtualNetworkGatewayConnection) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var virtualNetworkGatewayConnectionPropertiesFormat VirtualNetworkGatewayConnectionPropertiesFormat + err = json.Unmarshal(*v, &virtualNetworkGatewayConnectionPropertiesFormat) + if err != nil { + return err + } + vngc.VirtualNetworkGatewayConnectionPropertiesFormat = &virtualNetworkGatewayConnectionPropertiesFormat + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + vngc.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + vngc.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + vngc.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + vngc.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + vngc.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + vngc.Tags = tags + } + } + } + + return nil +} + +// VirtualNetworkGatewayConnectionListEntity a common class for general resource information. +type VirtualNetworkGatewayConnectionListEntity struct { + // VirtualNetworkGatewayConnectionListEntityPropertiesFormat - Properties of the virtual network gateway connection. + *VirtualNetworkGatewayConnectionListEntityPropertiesFormat `json:"properties,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for VirtualNetworkGatewayConnectionListEntity. +func (vngcle VirtualNetworkGatewayConnectionListEntity) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if vngcle.VirtualNetworkGatewayConnectionListEntityPropertiesFormat != nil { + objectMap["properties"] = vngcle.VirtualNetworkGatewayConnectionListEntityPropertiesFormat + } + if vngcle.Etag != nil { + objectMap["etag"] = vngcle.Etag + } + if vngcle.ID != nil { + objectMap["id"] = vngcle.ID + } + if vngcle.Location != nil { + objectMap["location"] = vngcle.Location + } + if vngcle.Tags != nil { + objectMap["tags"] = vngcle.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for VirtualNetworkGatewayConnectionListEntity struct. +func (vngcle *VirtualNetworkGatewayConnectionListEntity) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var virtualNetworkGatewayConnectionListEntityPropertiesFormat VirtualNetworkGatewayConnectionListEntityPropertiesFormat + err = json.Unmarshal(*v, &virtualNetworkGatewayConnectionListEntityPropertiesFormat) + if err != nil { + return err + } + vngcle.VirtualNetworkGatewayConnectionListEntityPropertiesFormat = &virtualNetworkGatewayConnectionListEntityPropertiesFormat + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + vngcle.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + vngcle.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + vngcle.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + vngcle.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + vngcle.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + vngcle.Tags = tags + } + } + } + + return nil +} + +// VirtualNetworkGatewayConnectionListEntityPropertiesFormat virtualNetworkGatewayConnection properties. +type VirtualNetworkGatewayConnectionListEntityPropertiesFormat struct { + // AuthorizationKey - The authorizationKey. + AuthorizationKey *string `json:"authorizationKey,omitempty"` + // VirtualNetworkGateway1 - The reference to virtual network gateway resource. + VirtualNetworkGateway1 *VirtualNetworkConnectionGatewayReference `json:"virtualNetworkGateway1,omitempty"` + // VirtualNetworkGateway2 - The reference to virtual network gateway resource. + VirtualNetworkGateway2 *VirtualNetworkConnectionGatewayReference `json:"virtualNetworkGateway2,omitempty"` + // LocalNetworkGateway2 - The reference to local network gateway resource. + LocalNetworkGateway2 *VirtualNetworkConnectionGatewayReference `json:"localNetworkGateway2,omitempty"` + // ConnectionType - Gateway connection type. Possible values include: 'IPsec', 'Vnet2Vnet', 'ExpressRoute', 'VPNClient' + ConnectionType VirtualNetworkGatewayConnectionType `json:"connectionType,omitempty"` + // ConnectionProtocol - Connection protocol used for this connection. Possible values include: 'IKEv2', 'IKEv1' + ConnectionProtocol VirtualNetworkGatewayConnectionProtocol `json:"connectionProtocol,omitempty"` + // RoutingWeight - The routing weight. + RoutingWeight *int32 `json:"routingWeight,omitempty"` + // SharedKey - The IPSec shared key. + SharedKey *string `json:"sharedKey,omitempty"` + // ConnectionStatus - READ-ONLY; Virtual Network Gateway connection status. Possible values include: 'VirtualNetworkGatewayConnectionStatusUnknown', 'VirtualNetworkGatewayConnectionStatusConnecting', 'VirtualNetworkGatewayConnectionStatusConnected', 'VirtualNetworkGatewayConnectionStatusNotConnected' + ConnectionStatus VirtualNetworkGatewayConnectionStatus `json:"connectionStatus,omitempty"` + // TunnelConnectionStatus - READ-ONLY; Collection of all tunnels' connection health status. + TunnelConnectionStatus *[]TunnelConnectionHealth `json:"tunnelConnectionStatus,omitempty"` + // EgressBytesTransferred - READ-ONLY; The egress bytes transferred in this connection. + EgressBytesTransferred *int64 `json:"egressBytesTransferred,omitempty"` + // IngressBytesTransferred - READ-ONLY; The ingress bytes transferred in this connection. + IngressBytesTransferred *int64 `json:"ingressBytesTransferred,omitempty"` + // Peer - The reference to peerings resource. + Peer *SubResource `json:"peer,omitempty"` + // EnableBgp - EnableBgp flag. + EnableBgp *bool `json:"enableBgp,omitempty"` + // UsePolicyBasedTrafficSelectors - Enable policy-based traffic selectors. + UsePolicyBasedTrafficSelectors *bool `json:"usePolicyBasedTrafficSelectors,omitempty"` + // IpsecPolicies - The IPSec Policies to be considered by this connection. + IpsecPolicies *[]IpsecPolicy `json:"ipsecPolicies,omitempty"` + // TrafficSelectorPolicies - The Traffic Selector Policies to be considered by this connection. + TrafficSelectorPolicies *[]TrafficSelectorPolicy `json:"trafficSelectorPolicies,omitempty"` + // ResourceGUID - The resource GUID property of the virtual network gateway connection resource. + ResourceGUID *string `json:"resourceGuid,omitempty"` + // ProvisioningState - READ-ONLY; The provisioning state of the virtual network gateway connection resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + // ExpressRouteGatewayBypass - Bypass ExpressRoute Gateway for data forwarding. + ExpressRouteGatewayBypass *bool `json:"expressRouteGatewayBypass,omitempty"` +} + +// VirtualNetworkGatewayConnectionListResult response for the ListVirtualNetworkGatewayConnections API +// service call. +type VirtualNetworkGatewayConnectionListResult struct { + autorest.Response `json:"-"` + // Value - A list of VirtualNetworkGatewayConnection resources that exists in a resource group. + Value *[]VirtualNetworkGatewayConnection `json:"value,omitempty"` + // NextLink - READ-ONLY; The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// VirtualNetworkGatewayConnectionListResultIterator provides access to a complete listing of +// VirtualNetworkGatewayConnection values. +type VirtualNetworkGatewayConnectionListResultIterator struct { + i int + page VirtualNetworkGatewayConnectionListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *VirtualNetworkGatewayConnectionListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewayConnectionListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *VirtualNetworkGatewayConnectionListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter VirtualNetworkGatewayConnectionListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter VirtualNetworkGatewayConnectionListResultIterator) Response() VirtualNetworkGatewayConnectionListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter VirtualNetworkGatewayConnectionListResultIterator) Value() VirtualNetworkGatewayConnection { + if !iter.page.NotDone() { + return VirtualNetworkGatewayConnection{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the VirtualNetworkGatewayConnectionListResultIterator type. +func NewVirtualNetworkGatewayConnectionListResultIterator(page VirtualNetworkGatewayConnectionListResultPage) VirtualNetworkGatewayConnectionListResultIterator { + return VirtualNetworkGatewayConnectionListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (vngclr VirtualNetworkGatewayConnectionListResult) IsEmpty() bool { + return vngclr.Value == nil || len(*vngclr.Value) == 0 +} + +// virtualNetworkGatewayConnectionListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (vngclr VirtualNetworkGatewayConnectionListResult) virtualNetworkGatewayConnectionListResultPreparer(ctx context.Context) (*http.Request, error) { + if vngclr.NextLink == nil || len(to.String(vngclr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(vngclr.NextLink))) +} + +// VirtualNetworkGatewayConnectionListResultPage contains a page of VirtualNetworkGatewayConnection values. +type VirtualNetworkGatewayConnectionListResultPage struct { + fn func(context.Context, VirtualNetworkGatewayConnectionListResult) (VirtualNetworkGatewayConnectionListResult, error) + vngclr VirtualNetworkGatewayConnectionListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *VirtualNetworkGatewayConnectionListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewayConnectionListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.vngclr) + if err != nil { + return err + } + page.vngclr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *VirtualNetworkGatewayConnectionListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page VirtualNetworkGatewayConnectionListResultPage) NotDone() bool { + return !page.vngclr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page VirtualNetworkGatewayConnectionListResultPage) Response() VirtualNetworkGatewayConnectionListResult { + return page.vngclr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page VirtualNetworkGatewayConnectionListResultPage) Values() []VirtualNetworkGatewayConnection { + if page.vngclr.IsEmpty() { + return nil + } + return *page.vngclr.Value +} + +// Creates a new instance of the VirtualNetworkGatewayConnectionListResultPage type. +func NewVirtualNetworkGatewayConnectionListResultPage(getNextPage func(context.Context, VirtualNetworkGatewayConnectionListResult) (VirtualNetworkGatewayConnectionListResult, error)) VirtualNetworkGatewayConnectionListResultPage { + return VirtualNetworkGatewayConnectionListResultPage{fn: getNextPage} +} + +// VirtualNetworkGatewayConnectionPropertiesFormat virtualNetworkGatewayConnection properties. +type VirtualNetworkGatewayConnectionPropertiesFormat struct { + // AuthorizationKey - The authorizationKey. + AuthorizationKey *string `json:"authorizationKey,omitempty"` + // VirtualNetworkGateway1 - The reference to virtual network gateway resource. + VirtualNetworkGateway1 *VirtualNetworkGateway `json:"virtualNetworkGateway1,omitempty"` + // VirtualNetworkGateway2 - The reference to virtual network gateway resource. + VirtualNetworkGateway2 *VirtualNetworkGateway `json:"virtualNetworkGateway2,omitempty"` + // LocalNetworkGateway2 - The reference to local network gateway resource. + LocalNetworkGateway2 *LocalNetworkGateway `json:"localNetworkGateway2,omitempty"` + // ConnectionType - Gateway connection type. Possible values include: 'IPsec', 'Vnet2Vnet', 'ExpressRoute', 'VPNClient' + ConnectionType VirtualNetworkGatewayConnectionType `json:"connectionType,omitempty"` + // ConnectionProtocol - Connection protocol used for this connection. Possible values include: 'IKEv2', 'IKEv1' + ConnectionProtocol VirtualNetworkGatewayConnectionProtocol `json:"connectionProtocol,omitempty"` + // RoutingWeight - The routing weight. + RoutingWeight *int32 `json:"routingWeight,omitempty"` + // SharedKey - The IPSec shared key. + SharedKey *string `json:"sharedKey,omitempty"` + // ConnectionStatus - READ-ONLY; Virtual Network Gateway connection status. Possible values include: 'VirtualNetworkGatewayConnectionStatusUnknown', 'VirtualNetworkGatewayConnectionStatusConnecting', 'VirtualNetworkGatewayConnectionStatusConnected', 'VirtualNetworkGatewayConnectionStatusNotConnected' + ConnectionStatus VirtualNetworkGatewayConnectionStatus `json:"connectionStatus,omitempty"` + // TunnelConnectionStatus - READ-ONLY; Collection of all tunnels' connection health status. + TunnelConnectionStatus *[]TunnelConnectionHealth `json:"tunnelConnectionStatus,omitempty"` + // EgressBytesTransferred - READ-ONLY; The egress bytes transferred in this connection. + EgressBytesTransferred *int64 `json:"egressBytesTransferred,omitempty"` + // IngressBytesTransferred - READ-ONLY; The ingress bytes transferred in this connection. + IngressBytesTransferred *int64 `json:"ingressBytesTransferred,omitempty"` + // Peer - The reference to peerings resource. + Peer *SubResource `json:"peer,omitempty"` + // EnableBgp - EnableBgp flag. + EnableBgp *bool `json:"enableBgp,omitempty"` + // UsePolicyBasedTrafficSelectors - Enable policy-based traffic selectors. + UsePolicyBasedTrafficSelectors *bool `json:"usePolicyBasedTrafficSelectors,omitempty"` + // IpsecPolicies - The IPSec Policies to be considered by this connection. + IpsecPolicies *[]IpsecPolicy `json:"ipsecPolicies,omitempty"` + // TrafficSelectorPolicies - The Traffic Selector Policies to be considered by this connection. + TrafficSelectorPolicies *[]TrafficSelectorPolicy `json:"trafficSelectorPolicies,omitempty"` + // ResourceGUID - The resource GUID property of the virtual network gateway connection resource. + ResourceGUID *string `json:"resourceGuid,omitempty"` + // ProvisioningState - READ-ONLY; The provisioning state of the virtual network gateway connection resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + // ExpressRouteGatewayBypass - Bypass ExpressRoute Gateway for data forwarding. + ExpressRouteGatewayBypass *bool `json:"expressRouteGatewayBypass,omitempty"` +} + +// VirtualNetworkGatewayConnectionsCreateOrUpdateFuture an abstraction for monitoring and retrieving the +// results of a long-running operation. +type VirtualNetworkGatewayConnectionsCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VirtualNetworkGatewayConnectionsCreateOrUpdateFuture) Result(client VirtualNetworkGatewayConnectionsClient) (vngc VirtualNetworkGatewayConnection, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewayConnectionsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VirtualNetworkGatewayConnectionsCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if vngc.Response.Response, err = future.GetResult(sender); err == nil && vngc.Response.Response.StatusCode != http.StatusNoContent { + vngc, err = client.CreateOrUpdateResponder(vngc.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewayConnectionsCreateOrUpdateFuture", "Result", vngc.Response.Response, "Failure responding to request") + } + } + return +} + +// VirtualNetworkGatewayConnectionsDeleteFuture an abstraction for monitoring and retrieving the results of +// a long-running operation. +type VirtualNetworkGatewayConnectionsDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VirtualNetworkGatewayConnectionsDeleteFuture) Result(client VirtualNetworkGatewayConnectionsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewayConnectionsDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VirtualNetworkGatewayConnectionsDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// VirtualNetworkGatewayConnectionsResetSharedKeyFuture an abstraction for monitoring and retrieving the +// results of a long-running operation. +type VirtualNetworkGatewayConnectionsResetSharedKeyFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VirtualNetworkGatewayConnectionsResetSharedKeyFuture) Result(client VirtualNetworkGatewayConnectionsClient) (crsk ConnectionResetSharedKey, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewayConnectionsResetSharedKeyFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VirtualNetworkGatewayConnectionsResetSharedKeyFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if crsk.Response.Response, err = future.GetResult(sender); err == nil && crsk.Response.Response.StatusCode != http.StatusNoContent { + crsk, err = client.ResetSharedKeyResponder(crsk.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewayConnectionsResetSharedKeyFuture", "Result", crsk.Response.Response, "Failure responding to request") + } + } + return +} + +// VirtualNetworkGatewayConnectionsSetSharedKeyFuture an abstraction for monitoring and retrieving the +// results of a long-running operation. +type VirtualNetworkGatewayConnectionsSetSharedKeyFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VirtualNetworkGatewayConnectionsSetSharedKeyFuture) Result(client VirtualNetworkGatewayConnectionsClient) (csk ConnectionSharedKey, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewayConnectionsSetSharedKeyFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VirtualNetworkGatewayConnectionsSetSharedKeyFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if csk.Response.Response, err = future.GetResult(sender); err == nil && csk.Response.Response.StatusCode != http.StatusNoContent { + csk, err = client.SetSharedKeyResponder(csk.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewayConnectionsSetSharedKeyFuture", "Result", csk.Response.Response, "Failure responding to request") + } + } + return +} + +// VirtualNetworkGatewayConnectionsStartPacketCaptureFuture an abstraction for monitoring and retrieving +// the results of a long-running operation. +type VirtualNetworkGatewayConnectionsStartPacketCaptureFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VirtualNetworkGatewayConnectionsStartPacketCaptureFuture) Result(client VirtualNetworkGatewayConnectionsClient) (s String, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewayConnectionsStartPacketCaptureFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VirtualNetworkGatewayConnectionsStartPacketCaptureFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if s.Response.Response, err = future.GetResult(sender); err == nil && s.Response.Response.StatusCode != http.StatusNoContent { + s, err = client.StartPacketCaptureResponder(s.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewayConnectionsStartPacketCaptureFuture", "Result", s.Response.Response, "Failure responding to request") + } + } + return +} + +// VirtualNetworkGatewayConnectionsStopPacketCaptureFuture an abstraction for monitoring and retrieving the +// results of a long-running operation. +type VirtualNetworkGatewayConnectionsStopPacketCaptureFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VirtualNetworkGatewayConnectionsStopPacketCaptureFuture) Result(client VirtualNetworkGatewayConnectionsClient) (s String, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewayConnectionsStopPacketCaptureFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VirtualNetworkGatewayConnectionsStopPacketCaptureFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if s.Response.Response, err = future.GetResult(sender); err == nil && s.Response.Response.StatusCode != http.StatusNoContent { + s, err = client.StopPacketCaptureResponder(s.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewayConnectionsStopPacketCaptureFuture", "Result", s.Response.Response, "Failure responding to request") + } + } + return +} + +// VirtualNetworkGatewayConnectionsUpdateTagsFuture an abstraction for monitoring and retrieving the +// results of a long-running operation. +type VirtualNetworkGatewayConnectionsUpdateTagsFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VirtualNetworkGatewayConnectionsUpdateTagsFuture) Result(client VirtualNetworkGatewayConnectionsClient) (vngc VirtualNetworkGatewayConnection, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewayConnectionsUpdateTagsFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VirtualNetworkGatewayConnectionsUpdateTagsFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if vngc.Response.Response, err = future.GetResult(sender); err == nil && vngc.Response.Response.StatusCode != http.StatusNoContent { + vngc, err = client.UpdateTagsResponder(vngc.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewayConnectionsUpdateTagsFuture", "Result", vngc.Response.Response, "Failure responding to request") + } + } + return +} + +// VirtualNetworkGatewayIPConfiguration IP configuration for virtual network gateway. +type VirtualNetworkGatewayIPConfiguration struct { + // VirtualNetworkGatewayIPConfigurationPropertiesFormat - Properties of the virtual network gateway ip configuration. + *VirtualNetworkGatewayIPConfigurationPropertiesFormat `json:"properties,omitempty"` + // Name - The name of the resource that is unique within a resource group. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for VirtualNetworkGatewayIPConfiguration. +func (vngic VirtualNetworkGatewayIPConfiguration) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if vngic.VirtualNetworkGatewayIPConfigurationPropertiesFormat != nil { + objectMap["properties"] = vngic.VirtualNetworkGatewayIPConfigurationPropertiesFormat + } + if vngic.Name != nil { + objectMap["name"] = vngic.Name + } + if vngic.Etag != nil { + objectMap["etag"] = vngic.Etag + } + if vngic.ID != nil { + objectMap["id"] = vngic.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for VirtualNetworkGatewayIPConfiguration struct. +func (vngic *VirtualNetworkGatewayIPConfiguration) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var virtualNetworkGatewayIPConfigurationPropertiesFormat VirtualNetworkGatewayIPConfigurationPropertiesFormat + err = json.Unmarshal(*v, &virtualNetworkGatewayIPConfigurationPropertiesFormat) + if err != nil { + return err + } + vngic.VirtualNetworkGatewayIPConfigurationPropertiesFormat = &virtualNetworkGatewayIPConfigurationPropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + vngic.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + vngic.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + vngic.ID = &ID + } + } + } + + return nil +} + +// VirtualNetworkGatewayIPConfigurationPropertiesFormat properties of VirtualNetworkGatewayIPConfiguration. +type VirtualNetworkGatewayIPConfigurationPropertiesFormat struct { + // PrivateIPAllocationMethod - The private IP address allocation method. Possible values include: 'Static', 'Dynamic' + PrivateIPAllocationMethod IPAllocationMethod `json:"privateIPAllocationMethod,omitempty"` + // Subnet - The reference of the subnet resource. + Subnet *SubResource `json:"subnet,omitempty"` + // PublicIPAddress - The reference of the public IP resource. + PublicIPAddress *SubResource `json:"publicIPAddress,omitempty"` + // ProvisioningState - READ-ONLY; The provisioning state of the virtual network gateway IP configuration resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// VirtualNetworkGatewayListConnectionsResult response for the VirtualNetworkGatewayListConnections API +// service call. +type VirtualNetworkGatewayListConnectionsResult struct { + autorest.Response `json:"-"` + // Value - A list of VirtualNetworkGatewayConnection resources that exists in a resource group. + Value *[]VirtualNetworkGatewayConnectionListEntity `json:"value,omitempty"` + // NextLink - READ-ONLY; The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// VirtualNetworkGatewayListConnectionsResultIterator provides access to a complete listing of +// VirtualNetworkGatewayConnectionListEntity values. +type VirtualNetworkGatewayListConnectionsResultIterator struct { + i int + page VirtualNetworkGatewayListConnectionsResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *VirtualNetworkGatewayListConnectionsResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewayListConnectionsResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *VirtualNetworkGatewayListConnectionsResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter VirtualNetworkGatewayListConnectionsResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter VirtualNetworkGatewayListConnectionsResultIterator) Response() VirtualNetworkGatewayListConnectionsResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter VirtualNetworkGatewayListConnectionsResultIterator) Value() VirtualNetworkGatewayConnectionListEntity { + if !iter.page.NotDone() { + return VirtualNetworkGatewayConnectionListEntity{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the VirtualNetworkGatewayListConnectionsResultIterator type. +func NewVirtualNetworkGatewayListConnectionsResultIterator(page VirtualNetworkGatewayListConnectionsResultPage) VirtualNetworkGatewayListConnectionsResultIterator { + return VirtualNetworkGatewayListConnectionsResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (vnglcr VirtualNetworkGatewayListConnectionsResult) IsEmpty() bool { + return vnglcr.Value == nil || len(*vnglcr.Value) == 0 +} + +// virtualNetworkGatewayListConnectionsResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (vnglcr VirtualNetworkGatewayListConnectionsResult) virtualNetworkGatewayListConnectionsResultPreparer(ctx context.Context) (*http.Request, error) { + if vnglcr.NextLink == nil || len(to.String(vnglcr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(vnglcr.NextLink))) +} + +// VirtualNetworkGatewayListConnectionsResultPage contains a page of +// VirtualNetworkGatewayConnectionListEntity values. +type VirtualNetworkGatewayListConnectionsResultPage struct { + fn func(context.Context, VirtualNetworkGatewayListConnectionsResult) (VirtualNetworkGatewayListConnectionsResult, error) + vnglcr VirtualNetworkGatewayListConnectionsResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *VirtualNetworkGatewayListConnectionsResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewayListConnectionsResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.vnglcr) + if err != nil { + return err + } + page.vnglcr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *VirtualNetworkGatewayListConnectionsResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page VirtualNetworkGatewayListConnectionsResultPage) NotDone() bool { + return !page.vnglcr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page VirtualNetworkGatewayListConnectionsResultPage) Response() VirtualNetworkGatewayListConnectionsResult { + return page.vnglcr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page VirtualNetworkGatewayListConnectionsResultPage) Values() []VirtualNetworkGatewayConnectionListEntity { + if page.vnglcr.IsEmpty() { + return nil + } + return *page.vnglcr.Value +} + +// Creates a new instance of the VirtualNetworkGatewayListConnectionsResultPage type. +func NewVirtualNetworkGatewayListConnectionsResultPage(getNextPage func(context.Context, VirtualNetworkGatewayListConnectionsResult) (VirtualNetworkGatewayListConnectionsResult, error)) VirtualNetworkGatewayListConnectionsResultPage { + return VirtualNetworkGatewayListConnectionsResultPage{fn: getNextPage} +} + +// VirtualNetworkGatewayListResult response for the ListVirtualNetworkGateways API service call. +type VirtualNetworkGatewayListResult struct { + autorest.Response `json:"-"` + // Value - A list of VirtualNetworkGateway resources that exists in a resource group. + Value *[]VirtualNetworkGateway `json:"value,omitempty"` + // NextLink - READ-ONLY; The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// VirtualNetworkGatewayListResultIterator provides access to a complete listing of VirtualNetworkGateway +// values. +type VirtualNetworkGatewayListResultIterator struct { + i int + page VirtualNetworkGatewayListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *VirtualNetworkGatewayListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewayListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *VirtualNetworkGatewayListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter VirtualNetworkGatewayListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter VirtualNetworkGatewayListResultIterator) Response() VirtualNetworkGatewayListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter VirtualNetworkGatewayListResultIterator) Value() VirtualNetworkGateway { + if !iter.page.NotDone() { + return VirtualNetworkGateway{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the VirtualNetworkGatewayListResultIterator type. +func NewVirtualNetworkGatewayListResultIterator(page VirtualNetworkGatewayListResultPage) VirtualNetworkGatewayListResultIterator { + return VirtualNetworkGatewayListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (vnglr VirtualNetworkGatewayListResult) IsEmpty() bool { + return vnglr.Value == nil || len(*vnglr.Value) == 0 +} + +// virtualNetworkGatewayListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (vnglr VirtualNetworkGatewayListResult) virtualNetworkGatewayListResultPreparer(ctx context.Context) (*http.Request, error) { + if vnglr.NextLink == nil || len(to.String(vnglr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(vnglr.NextLink))) +} + +// VirtualNetworkGatewayListResultPage contains a page of VirtualNetworkGateway values. +type VirtualNetworkGatewayListResultPage struct { + fn func(context.Context, VirtualNetworkGatewayListResult) (VirtualNetworkGatewayListResult, error) + vnglr VirtualNetworkGatewayListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *VirtualNetworkGatewayListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewayListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.vnglr) + if err != nil { + return err + } + page.vnglr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *VirtualNetworkGatewayListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page VirtualNetworkGatewayListResultPage) NotDone() bool { + return !page.vnglr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page VirtualNetworkGatewayListResultPage) Response() VirtualNetworkGatewayListResult { + return page.vnglr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page VirtualNetworkGatewayListResultPage) Values() []VirtualNetworkGateway { + if page.vnglr.IsEmpty() { + return nil + } + return *page.vnglr.Value +} + +// Creates a new instance of the VirtualNetworkGatewayListResultPage type. +func NewVirtualNetworkGatewayListResultPage(getNextPage func(context.Context, VirtualNetworkGatewayListResult) (VirtualNetworkGatewayListResult, error)) VirtualNetworkGatewayListResultPage { + return VirtualNetworkGatewayListResultPage{fn: getNextPage} +} + +// VirtualNetworkGatewayPropertiesFormat virtualNetworkGateway properties. +type VirtualNetworkGatewayPropertiesFormat struct { + // IPConfigurations - IP configurations for virtual network gateway. + IPConfigurations *[]VirtualNetworkGatewayIPConfiguration `json:"ipConfigurations,omitempty"` + // GatewayType - The type of this virtual network gateway. Possible values include: 'VirtualNetworkGatewayTypeVpn', 'VirtualNetworkGatewayTypeExpressRoute' + GatewayType VirtualNetworkGatewayType `json:"gatewayType,omitempty"` + // VpnType - The type of this virtual network gateway. Possible values include: 'PolicyBased', 'RouteBased' + VpnType VpnType `json:"vpnType,omitempty"` + // VpnGatewayGeneration - The generation for this VirtualNetworkGateway. Must be None if gatewayType is not VPN. Possible values include: 'VpnGatewayGenerationNone', 'VpnGatewayGenerationGeneration1', 'VpnGatewayGenerationGeneration2' + VpnGatewayGeneration VpnGatewayGeneration `json:"vpnGatewayGeneration,omitempty"` + // EnableBgp - Whether BGP is enabled for this virtual network gateway or not. + EnableBgp *bool `json:"enableBgp,omitempty"` + // ActiveActive - ActiveActive flag. + ActiveActive *bool `json:"activeActive,omitempty"` + // GatewayDefaultSite - The reference of the LocalNetworkGateway resource which represents local network site having default routes. Assign Null value in case of removing existing default site setting. + GatewayDefaultSite *SubResource `json:"gatewayDefaultSite,omitempty"` + // Sku - The reference of the VirtualNetworkGatewaySku resource which represents the SKU selected for Virtual network gateway. + Sku *VirtualNetworkGatewaySku `json:"sku,omitempty"` + // VpnClientConfiguration - The reference of the VpnClientConfiguration resource which represents the P2S VpnClient configurations. + VpnClientConfiguration *VpnClientConfiguration `json:"vpnClientConfiguration,omitempty"` + // BgpSettings - Virtual network gateway's BGP speaker settings. + BgpSettings *BgpSettings `json:"bgpSettings,omitempty"` + // CustomRoutes - The reference of the address space resource which represents the custom routes address space specified by the customer for virtual network gateway and VpnClient. + CustomRoutes *AddressSpace `json:"customRoutes,omitempty"` + // ResourceGUID - The resource GUID property of the virtual network gateway resource. + ResourceGUID *string `json:"resourceGuid,omitempty"` + // ProvisioningState - READ-ONLY; The provisioning state of the virtual network gateway resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// VirtualNetworkGatewaysCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type VirtualNetworkGatewaysCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VirtualNetworkGatewaysCreateOrUpdateFuture) Result(client VirtualNetworkGatewaysClient) (vng VirtualNetworkGateway, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VirtualNetworkGatewaysCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if vng.Response.Response, err = future.GetResult(sender); err == nil && vng.Response.Response.StatusCode != http.StatusNoContent { + vng, err = client.CreateOrUpdateResponder(vng.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysCreateOrUpdateFuture", "Result", vng.Response.Response, "Failure responding to request") + } + } + return +} + +// VirtualNetworkGatewaysDeleteFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type VirtualNetworkGatewaysDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VirtualNetworkGatewaysDeleteFuture) Result(client VirtualNetworkGatewaysClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VirtualNetworkGatewaysDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// VirtualNetworkGatewaysGeneratevpnclientpackageFuture an abstraction for monitoring and retrieving the +// results of a long-running operation. +type VirtualNetworkGatewaysGeneratevpnclientpackageFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VirtualNetworkGatewaysGeneratevpnclientpackageFuture) Result(client VirtualNetworkGatewaysClient) (s String, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysGeneratevpnclientpackageFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VirtualNetworkGatewaysGeneratevpnclientpackageFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if s.Response.Response, err = future.GetResult(sender); err == nil && s.Response.Response.StatusCode != http.StatusNoContent { + s, err = client.GeneratevpnclientpackageResponder(s.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysGeneratevpnclientpackageFuture", "Result", s.Response.Response, "Failure responding to request") + } + } + return +} + +// VirtualNetworkGatewaysGenerateVpnProfileFuture an abstraction for monitoring and retrieving the results +// of a long-running operation. +type VirtualNetworkGatewaysGenerateVpnProfileFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VirtualNetworkGatewaysGenerateVpnProfileFuture) Result(client VirtualNetworkGatewaysClient) (s String, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysGenerateVpnProfileFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VirtualNetworkGatewaysGenerateVpnProfileFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if s.Response.Response, err = future.GetResult(sender); err == nil && s.Response.Response.StatusCode != http.StatusNoContent { + s, err = client.GenerateVpnProfileResponder(s.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysGenerateVpnProfileFuture", "Result", s.Response.Response, "Failure responding to request") + } + } + return +} + +// VirtualNetworkGatewaysGetAdvertisedRoutesFuture an abstraction for monitoring and retrieving the results +// of a long-running operation. +type VirtualNetworkGatewaysGetAdvertisedRoutesFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VirtualNetworkGatewaysGetAdvertisedRoutesFuture) Result(client VirtualNetworkGatewaysClient) (grlr GatewayRouteListResult, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysGetAdvertisedRoutesFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VirtualNetworkGatewaysGetAdvertisedRoutesFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if grlr.Response.Response, err = future.GetResult(sender); err == nil && grlr.Response.Response.StatusCode != http.StatusNoContent { + grlr, err = client.GetAdvertisedRoutesResponder(grlr.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysGetAdvertisedRoutesFuture", "Result", grlr.Response.Response, "Failure responding to request") + } + } + return +} + +// VirtualNetworkGatewaysGetBgpPeerStatusFuture an abstraction for monitoring and retrieving the results of +// a long-running operation. +type VirtualNetworkGatewaysGetBgpPeerStatusFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VirtualNetworkGatewaysGetBgpPeerStatusFuture) Result(client VirtualNetworkGatewaysClient) (bpslr BgpPeerStatusListResult, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysGetBgpPeerStatusFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VirtualNetworkGatewaysGetBgpPeerStatusFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if bpslr.Response.Response, err = future.GetResult(sender); err == nil && bpslr.Response.Response.StatusCode != http.StatusNoContent { + bpslr, err = client.GetBgpPeerStatusResponder(bpslr.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysGetBgpPeerStatusFuture", "Result", bpslr.Response.Response, "Failure responding to request") + } + } + return +} + +// VirtualNetworkGatewaysGetLearnedRoutesFuture an abstraction for monitoring and retrieving the results of +// a long-running operation. +type VirtualNetworkGatewaysGetLearnedRoutesFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VirtualNetworkGatewaysGetLearnedRoutesFuture) Result(client VirtualNetworkGatewaysClient) (grlr GatewayRouteListResult, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysGetLearnedRoutesFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VirtualNetworkGatewaysGetLearnedRoutesFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if grlr.Response.Response, err = future.GetResult(sender); err == nil && grlr.Response.Response.StatusCode != http.StatusNoContent { + grlr, err = client.GetLearnedRoutesResponder(grlr.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysGetLearnedRoutesFuture", "Result", grlr.Response.Response, "Failure responding to request") + } + } + return +} + +// VirtualNetworkGatewaysGetVpnclientConnectionHealthFuture an abstraction for monitoring and retrieving +// the results of a long-running operation. +type VirtualNetworkGatewaysGetVpnclientConnectionHealthFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VirtualNetworkGatewaysGetVpnclientConnectionHealthFuture) Result(client VirtualNetworkGatewaysClient) (vcchdlr VpnClientConnectionHealthDetailListResult, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysGetVpnclientConnectionHealthFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VirtualNetworkGatewaysGetVpnclientConnectionHealthFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if vcchdlr.Response.Response, err = future.GetResult(sender); err == nil && vcchdlr.Response.Response.StatusCode != http.StatusNoContent { + vcchdlr, err = client.GetVpnclientConnectionHealthResponder(vcchdlr.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysGetVpnclientConnectionHealthFuture", "Result", vcchdlr.Response.Response, "Failure responding to request") + } + } + return +} + +// VirtualNetworkGatewaysGetVpnclientIpsecParametersFuture an abstraction for monitoring and retrieving the +// results of a long-running operation. +type VirtualNetworkGatewaysGetVpnclientIpsecParametersFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VirtualNetworkGatewaysGetVpnclientIpsecParametersFuture) Result(client VirtualNetworkGatewaysClient) (vcipp VpnClientIPsecParameters, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysGetVpnclientIpsecParametersFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VirtualNetworkGatewaysGetVpnclientIpsecParametersFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if vcipp.Response.Response, err = future.GetResult(sender); err == nil && vcipp.Response.Response.StatusCode != http.StatusNoContent { + vcipp, err = client.GetVpnclientIpsecParametersResponder(vcipp.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysGetVpnclientIpsecParametersFuture", "Result", vcipp.Response.Response, "Failure responding to request") + } + } + return +} + +// VirtualNetworkGatewaysGetVpnProfilePackageURLFuture an abstraction for monitoring and retrieving the +// results of a long-running operation. +type VirtualNetworkGatewaysGetVpnProfilePackageURLFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VirtualNetworkGatewaysGetVpnProfilePackageURLFuture) Result(client VirtualNetworkGatewaysClient) (s String, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysGetVpnProfilePackageURLFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VirtualNetworkGatewaysGetVpnProfilePackageURLFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if s.Response.Response, err = future.GetResult(sender); err == nil && s.Response.Response.StatusCode != http.StatusNoContent { + s, err = client.GetVpnProfilePackageURLResponder(s.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysGetVpnProfilePackageURLFuture", "Result", s.Response.Response, "Failure responding to request") + } + } + return +} + +// VirtualNetworkGatewaySku virtualNetworkGatewaySku details. +type VirtualNetworkGatewaySku struct { + // Name - Gateway SKU name. Possible values include: 'VirtualNetworkGatewaySkuNameBasic', 'VirtualNetworkGatewaySkuNameHighPerformance', 'VirtualNetworkGatewaySkuNameStandard', 'VirtualNetworkGatewaySkuNameUltraPerformance', 'VirtualNetworkGatewaySkuNameVpnGw1', 'VirtualNetworkGatewaySkuNameVpnGw2', 'VirtualNetworkGatewaySkuNameVpnGw3', 'VirtualNetworkGatewaySkuNameVpnGw4', 'VirtualNetworkGatewaySkuNameVpnGw5', 'VirtualNetworkGatewaySkuNameVpnGw1AZ', 'VirtualNetworkGatewaySkuNameVpnGw2AZ', 'VirtualNetworkGatewaySkuNameVpnGw3AZ', 'VirtualNetworkGatewaySkuNameVpnGw4AZ', 'VirtualNetworkGatewaySkuNameVpnGw5AZ', 'VirtualNetworkGatewaySkuNameErGw1AZ', 'VirtualNetworkGatewaySkuNameErGw2AZ', 'VirtualNetworkGatewaySkuNameErGw3AZ' + Name VirtualNetworkGatewaySkuName `json:"name,omitempty"` + // Tier - Gateway SKU tier. Possible values include: 'VirtualNetworkGatewaySkuTierBasic', 'VirtualNetworkGatewaySkuTierHighPerformance', 'VirtualNetworkGatewaySkuTierStandard', 'VirtualNetworkGatewaySkuTierUltraPerformance', 'VirtualNetworkGatewaySkuTierVpnGw1', 'VirtualNetworkGatewaySkuTierVpnGw2', 'VirtualNetworkGatewaySkuTierVpnGw3', 'VirtualNetworkGatewaySkuTierVpnGw4', 'VirtualNetworkGatewaySkuTierVpnGw5', 'VirtualNetworkGatewaySkuTierVpnGw1AZ', 'VirtualNetworkGatewaySkuTierVpnGw2AZ', 'VirtualNetworkGatewaySkuTierVpnGw3AZ', 'VirtualNetworkGatewaySkuTierVpnGw4AZ', 'VirtualNetworkGatewaySkuTierVpnGw5AZ', 'VirtualNetworkGatewaySkuTierErGw1AZ', 'VirtualNetworkGatewaySkuTierErGw2AZ', 'VirtualNetworkGatewaySkuTierErGw3AZ' + Tier VirtualNetworkGatewaySkuTier `json:"tier,omitempty"` + // Capacity - The capacity. + Capacity *int32 `json:"capacity,omitempty"` +} + +// VirtualNetworkGatewaysResetFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type VirtualNetworkGatewaysResetFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VirtualNetworkGatewaysResetFuture) Result(client VirtualNetworkGatewaysClient) (vng VirtualNetworkGateway, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysResetFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VirtualNetworkGatewaysResetFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if vng.Response.Response, err = future.GetResult(sender); err == nil && vng.Response.Response.StatusCode != http.StatusNoContent { + vng, err = client.ResetResponder(vng.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysResetFuture", "Result", vng.Response.Response, "Failure responding to request") + } + } + return +} + +// VirtualNetworkGatewaysResetVpnClientSharedKeyFuture an abstraction for monitoring and retrieving the +// results of a long-running operation. +type VirtualNetworkGatewaysResetVpnClientSharedKeyFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VirtualNetworkGatewaysResetVpnClientSharedKeyFuture) Result(client VirtualNetworkGatewaysClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysResetVpnClientSharedKeyFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VirtualNetworkGatewaysResetVpnClientSharedKeyFuture") + return + } + ar.Response = future.Response() + return +} + +// VirtualNetworkGatewaysSetVpnclientIpsecParametersFuture an abstraction for monitoring and retrieving the +// results of a long-running operation. +type VirtualNetworkGatewaysSetVpnclientIpsecParametersFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VirtualNetworkGatewaysSetVpnclientIpsecParametersFuture) Result(client VirtualNetworkGatewaysClient) (vcipp VpnClientIPsecParameters, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysSetVpnclientIpsecParametersFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VirtualNetworkGatewaysSetVpnclientIpsecParametersFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if vcipp.Response.Response, err = future.GetResult(sender); err == nil && vcipp.Response.Response.StatusCode != http.StatusNoContent { + vcipp, err = client.SetVpnclientIpsecParametersResponder(vcipp.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysSetVpnclientIpsecParametersFuture", "Result", vcipp.Response.Response, "Failure responding to request") + } + } + return +} + +// VirtualNetworkGatewaysStartPacketCaptureFuture an abstraction for monitoring and retrieving the results +// of a long-running operation. +type VirtualNetworkGatewaysStartPacketCaptureFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VirtualNetworkGatewaysStartPacketCaptureFuture) Result(client VirtualNetworkGatewaysClient) (s String, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysStartPacketCaptureFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VirtualNetworkGatewaysStartPacketCaptureFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if s.Response.Response, err = future.GetResult(sender); err == nil && s.Response.Response.StatusCode != http.StatusNoContent { + s, err = client.StartPacketCaptureResponder(s.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysStartPacketCaptureFuture", "Result", s.Response.Response, "Failure responding to request") + } + } + return +} + +// VirtualNetworkGatewaysStopPacketCaptureFuture an abstraction for monitoring and retrieving the results +// of a long-running operation. +type VirtualNetworkGatewaysStopPacketCaptureFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VirtualNetworkGatewaysStopPacketCaptureFuture) Result(client VirtualNetworkGatewaysClient) (s String, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysStopPacketCaptureFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VirtualNetworkGatewaysStopPacketCaptureFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if s.Response.Response, err = future.GetResult(sender); err == nil && s.Response.Response.StatusCode != http.StatusNoContent { + s, err = client.StopPacketCaptureResponder(s.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysStopPacketCaptureFuture", "Result", s.Response.Response, "Failure responding to request") + } + } + return +} + +// VirtualNetworkGatewaysUpdateTagsFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type VirtualNetworkGatewaysUpdateTagsFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VirtualNetworkGatewaysUpdateTagsFuture) Result(client VirtualNetworkGatewaysClient) (vng VirtualNetworkGateway, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysUpdateTagsFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VirtualNetworkGatewaysUpdateTagsFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if vng.Response.Response, err = future.GetResult(sender); err == nil && vng.Response.Response.StatusCode != http.StatusNoContent { + vng, err = client.UpdateTagsResponder(vng.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysUpdateTagsFuture", "Result", vng.Response.Response, "Failure responding to request") + } + } + return +} + +// VirtualNetworkListResult response for the ListVirtualNetworks API service call. +type VirtualNetworkListResult struct { + autorest.Response `json:"-"` + // Value - A list of VirtualNetwork resources in a resource group. + Value *[]VirtualNetwork `json:"value,omitempty"` + // NextLink - The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// VirtualNetworkListResultIterator provides access to a complete listing of VirtualNetwork values. +type VirtualNetworkListResultIterator struct { + i int + page VirtualNetworkListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *VirtualNetworkListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *VirtualNetworkListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter VirtualNetworkListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter VirtualNetworkListResultIterator) Response() VirtualNetworkListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter VirtualNetworkListResultIterator) Value() VirtualNetwork { + if !iter.page.NotDone() { + return VirtualNetwork{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the VirtualNetworkListResultIterator type. +func NewVirtualNetworkListResultIterator(page VirtualNetworkListResultPage) VirtualNetworkListResultIterator { + return VirtualNetworkListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (vnlr VirtualNetworkListResult) IsEmpty() bool { + return vnlr.Value == nil || len(*vnlr.Value) == 0 +} + +// virtualNetworkListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (vnlr VirtualNetworkListResult) virtualNetworkListResultPreparer(ctx context.Context) (*http.Request, error) { + if vnlr.NextLink == nil || len(to.String(vnlr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(vnlr.NextLink))) +} + +// VirtualNetworkListResultPage contains a page of VirtualNetwork values. +type VirtualNetworkListResultPage struct { + fn func(context.Context, VirtualNetworkListResult) (VirtualNetworkListResult, error) + vnlr VirtualNetworkListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *VirtualNetworkListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.vnlr) + if err != nil { + return err + } + page.vnlr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *VirtualNetworkListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page VirtualNetworkListResultPage) NotDone() bool { + return !page.vnlr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page VirtualNetworkListResultPage) Response() VirtualNetworkListResult { + return page.vnlr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page VirtualNetworkListResultPage) Values() []VirtualNetwork { + if page.vnlr.IsEmpty() { + return nil + } + return *page.vnlr.Value +} + +// Creates a new instance of the VirtualNetworkListResultPage type. +func NewVirtualNetworkListResultPage(getNextPage func(context.Context, VirtualNetworkListResult) (VirtualNetworkListResult, error)) VirtualNetworkListResultPage { + return VirtualNetworkListResultPage{fn: getNextPage} +} + +// VirtualNetworkListUsageResult response for the virtual networks GetUsage API service call. +type VirtualNetworkListUsageResult struct { + autorest.Response `json:"-"` + // Value - READ-ONLY; VirtualNetwork usage stats. + Value *[]VirtualNetworkUsage `json:"value,omitempty"` + // NextLink - The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// VirtualNetworkListUsageResultIterator provides access to a complete listing of VirtualNetworkUsage +// values. +type VirtualNetworkListUsageResultIterator struct { + i int + page VirtualNetworkListUsageResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *VirtualNetworkListUsageResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkListUsageResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *VirtualNetworkListUsageResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter VirtualNetworkListUsageResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter VirtualNetworkListUsageResultIterator) Response() VirtualNetworkListUsageResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter VirtualNetworkListUsageResultIterator) Value() VirtualNetworkUsage { + if !iter.page.NotDone() { + return VirtualNetworkUsage{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the VirtualNetworkListUsageResultIterator type. +func NewVirtualNetworkListUsageResultIterator(page VirtualNetworkListUsageResultPage) VirtualNetworkListUsageResultIterator { + return VirtualNetworkListUsageResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (vnlur VirtualNetworkListUsageResult) IsEmpty() bool { + return vnlur.Value == nil || len(*vnlur.Value) == 0 +} + +// virtualNetworkListUsageResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (vnlur VirtualNetworkListUsageResult) virtualNetworkListUsageResultPreparer(ctx context.Context) (*http.Request, error) { + if vnlur.NextLink == nil || len(to.String(vnlur.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(vnlur.NextLink))) +} + +// VirtualNetworkListUsageResultPage contains a page of VirtualNetworkUsage values. +type VirtualNetworkListUsageResultPage struct { + fn func(context.Context, VirtualNetworkListUsageResult) (VirtualNetworkListUsageResult, error) + vnlur VirtualNetworkListUsageResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *VirtualNetworkListUsageResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkListUsageResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.vnlur) + if err != nil { + return err + } + page.vnlur = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *VirtualNetworkListUsageResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page VirtualNetworkListUsageResultPage) NotDone() bool { + return !page.vnlur.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page VirtualNetworkListUsageResultPage) Response() VirtualNetworkListUsageResult { + return page.vnlur +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page VirtualNetworkListUsageResultPage) Values() []VirtualNetworkUsage { + if page.vnlur.IsEmpty() { + return nil + } + return *page.vnlur.Value +} + +// Creates a new instance of the VirtualNetworkListUsageResultPage type. +func NewVirtualNetworkListUsageResultPage(getNextPage func(context.Context, VirtualNetworkListUsageResult) (VirtualNetworkListUsageResult, error)) VirtualNetworkListUsageResultPage { + return VirtualNetworkListUsageResultPage{fn: getNextPage} +} + +// VirtualNetworkPeering peerings in a virtual network resource. +type VirtualNetworkPeering struct { + autorest.Response `json:"-"` + // VirtualNetworkPeeringPropertiesFormat - Properties of the virtual network peering. + *VirtualNetworkPeeringPropertiesFormat `json:"properties,omitempty"` + // Name - The name of the resource that is unique within a resource group. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for VirtualNetworkPeering. +func (vnp VirtualNetworkPeering) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if vnp.VirtualNetworkPeeringPropertiesFormat != nil { + objectMap["properties"] = vnp.VirtualNetworkPeeringPropertiesFormat + } + if vnp.Name != nil { + objectMap["name"] = vnp.Name + } + if vnp.Etag != nil { + objectMap["etag"] = vnp.Etag + } + if vnp.ID != nil { + objectMap["id"] = vnp.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for VirtualNetworkPeering struct. +func (vnp *VirtualNetworkPeering) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var virtualNetworkPeeringPropertiesFormat VirtualNetworkPeeringPropertiesFormat + err = json.Unmarshal(*v, &virtualNetworkPeeringPropertiesFormat) + if err != nil { + return err + } + vnp.VirtualNetworkPeeringPropertiesFormat = &virtualNetworkPeeringPropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + vnp.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + vnp.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + vnp.ID = &ID + } + } + } + + return nil +} + +// VirtualNetworkPeeringListResult response for ListSubnets API service call. Retrieves all subnets that +// belong to a virtual network. +type VirtualNetworkPeeringListResult struct { + autorest.Response `json:"-"` + // Value - The peerings in a virtual network. + Value *[]VirtualNetworkPeering `json:"value,omitempty"` + // NextLink - The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// VirtualNetworkPeeringListResultIterator provides access to a complete listing of VirtualNetworkPeering +// values. +type VirtualNetworkPeeringListResultIterator struct { + i int + page VirtualNetworkPeeringListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *VirtualNetworkPeeringListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkPeeringListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *VirtualNetworkPeeringListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter VirtualNetworkPeeringListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter VirtualNetworkPeeringListResultIterator) Response() VirtualNetworkPeeringListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter VirtualNetworkPeeringListResultIterator) Value() VirtualNetworkPeering { + if !iter.page.NotDone() { + return VirtualNetworkPeering{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the VirtualNetworkPeeringListResultIterator type. +func NewVirtualNetworkPeeringListResultIterator(page VirtualNetworkPeeringListResultPage) VirtualNetworkPeeringListResultIterator { + return VirtualNetworkPeeringListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (vnplr VirtualNetworkPeeringListResult) IsEmpty() bool { + return vnplr.Value == nil || len(*vnplr.Value) == 0 +} + +// virtualNetworkPeeringListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (vnplr VirtualNetworkPeeringListResult) virtualNetworkPeeringListResultPreparer(ctx context.Context) (*http.Request, error) { + if vnplr.NextLink == nil || len(to.String(vnplr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(vnplr.NextLink))) +} + +// VirtualNetworkPeeringListResultPage contains a page of VirtualNetworkPeering values. +type VirtualNetworkPeeringListResultPage struct { + fn func(context.Context, VirtualNetworkPeeringListResult) (VirtualNetworkPeeringListResult, error) + vnplr VirtualNetworkPeeringListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *VirtualNetworkPeeringListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkPeeringListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.vnplr) + if err != nil { + return err + } + page.vnplr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *VirtualNetworkPeeringListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page VirtualNetworkPeeringListResultPage) NotDone() bool { + return !page.vnplr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page VirtualNetworkPeeringListResultPage) Response() VirtualNetworkPeeringListResult { + return page.vnplr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page VirtualNetworkPeeringListResultPage) Values() []VirtualNetworkPeering { + if page.vnplr.IsEmpty() { + return nil + } + return *page.vnplr.Value +} + +// Creates a new instance of the VirtualNetworkPeeringListResultPage type. +func NewVirtualNetworkPeeringListResultPage(getNextPage func(context.Context, VirtualNetworkPeeringListResult) (VirtualNetworkPeeringListResult, error)) VirtualNetworkPeeringListResultPage { + return VirtualNetworkPeeringListResultPage{fn: getNextPage} +} + +// VirtualNetworkPeeringPropertiesFormat properties of the virtual network peering. +type VirtualNetworkPeeringPropertiesFormat struct { + // AllowVirtualNetworkAccess - Whether the VMs in the local virtual network space would be able to access the VMs in remote virtual network space. + AllowVirtualNetworkAccess *bool `json:"allowVirtualNetworkAccess,omitempty"` + // AllowForwardedTraffic - Whether the forwarded traffic from the VMs in the local virtual network will be allowed/disallowed in remote virtual network. + AllowForwardedTraffic *bool `json:"allowForwardedTraffic,omitempty"` + // AllowGatewayTransit - If gateway links can be used in remote virtual networking to link to this virtual network. + AllowGatewayTransit *bool `json:"allowGatewayTransit,omitempty"` + // UseRemoteGateways - If remote gateways can be used on this virtual network. If the flag is set to true, and allowGatewayTransit on remote peering is also true, virtual network will use gateways of remote virtual network for transit. Only one peering can have this flag set to true. This flag cannot be set if virtual network already has a gateway. + UseRemoteGateways *bool `json:"useRemoteGateways,omitempty"` + // RemoteVirtualNetwork - The reference of the remote virtual network. The remote virtual network can be in the same or different region (preview). See here to register for the preview and learn more (https://docs.microsoft.com/en-us/azure/virtual-network/virtual-network-create-peering). + RemoteVirtualNetwork *SubResource `json:"remoteVirtualNetwork,omitempty"` + // RemoteAddressSpace - The reference of the remote virtual network address space. + RemoteAddressSpace *AddressSpace `json:"remoteAddressSpace,omitempty"` + // PeeringState - The status of the virtual network peering. Possible values include: 'VirtualNetworkPeeringStateInitiated', 'VirtualNetworkPeeringStateConnected', 'VirtualNetworkPeeringStateDisconnected' + PeeringState VirtualNetworkPeeringState `json:"peeringState,omitempty"` + // ProvisioningState - The provisioning state of the virtual network peering resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// VirtualNetworkPeeringsCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type VirtualNetworkPeeringsCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VirtualNetworkPeeringsCreateOrUpdateFuture) Result(client VirtualNetworkPeeringsClient) (vnp VirtualNetworkPeering, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkPeeringsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VirtualNetworkPeeringsCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if vnp.Response.Response, err = future.GetResult(sender); err == nil && vnp.Response.Response.StatusCode != http.StatusNoContent { + vnp, err = client.CreateOrUpdateResponder(vnp.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkPeeringsCreateOrUpdateFuture", "Result", vnp.Response.Response, "Failure responding to request") + } + } + return +} + +// VirtualNetworkPeeringsDeleteFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type VirtualNetworkPeeringsDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VirtualNetworkPeeringsDeleteFuture) Result(client VirtualNetworkPeeringsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkPeeringsDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VirtualNetworkPeeringsDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// VirtualNetworkPropertiesFormat properties of the virtual network. +type VirtualNetworkPropertiesFormat struct { + // AddressSpace - The AddressSpace that contains an array of IP address ranges that can be used by subnets. + AddressSpace *AddressSpace `json:"addressSpace,omitempty"` + // DhcpOptions - The dhcpOptions that contains an array of DNS servers available to VMs deployed in the virtual network. + DhcpOptions *DhcpOptions `json:"dhcpOptions,omitempty"` + // Subnets - A list of subnets in a Virtual Network. + Subnets *[]Subnet `json:"subnets,omitempty"` + // VirtualNetworkPeerings - A list of peerings in a Virtual Network. + VirtualNetworkPeerings *[]VirtualNetworkPeering `json:"virtualNetworkPeerings,omitempty"` + // ResourceGUID - The resourceGuid property of the Virtual Network resource. + ResourceGUID *string `json:"resourceGuid,omitempty"` + // ProvisioningState - The provisioning state of the virtual network resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + // EnableDdosProtection - Indicates if DDoS protection is enabled for all the protected resources in the virtual network. It requires a DDoS protection plan associated with the resource. + EnableDdosProtection *bool `json:"enableDdosProtection,omitempty"` + // EnableVMProtection - Indicates if VM protection is enabled for all the subnets in the virtual network. + EnableVMProtection *bool `json:"enableVmProtection,omitempty"` + // DdosProtectionPlan - The DDoS protection plan associated with the virtual network. + DdosProtectionPlan *SubResource `json:"ddosProtectionPlan,omitempty"` +} + +// VirtualNetworksCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type VirtualNetworksCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VirtualNetworksCreateOrUpdateFuture) Result(client VirtualNetworksClient) (vn VirtualNetwork, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworksCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VirtualNetworksCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if vn.Response.Response, err = future.GetResult(sender); err == nil && vn.Response.Response.StatusCode != http.StatusNoContent { + vn, err = client.CreateOrUpdateResponder(vn.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworksCreateOrUpdateFuture", "Result", vn.Response.Response, "Failure responding to request") + } + } + return +} + +// VirtualNetworksDeleteFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type VirtualNetworksDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VirtualNetworksDeleteFuture) Result(client VirtualNetworksClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworksDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VirtualNetworksDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// VirtualNetworksUpdateTagsFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type VirtualNetworksUpdateTagsFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VirtualNetworksUpdateTagsFuture) Result(client VirtualNetworksClient) (vn VirtualNetwork, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworksUpdateTagsFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VirtualNetworksUpdateTagsFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if vn.Response.Response, err = future.GetResult(sender); err == nil && vn.Response.Response.StatusCode != http.StatusNoContent { + vn, err = client.UpdateTagsResponder(vn.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworksUpdateTagsFuture", "Result", vn.Response.Response, "Failure responding to request") + } + } + return +} + +// VirtualNetworkTap virtual Network Tap resource. +type VirtualNetworkTap struct { + autorest.Response `json:"-"` + // VirtualNetworkTapPropertiesFormat - Virtual Network Tap Properties. + *VirtualNetworkTapPropertiesFormat `json:"properties,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for VirtualNetworkTap. +func (vnt VirtualNetworkTap) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if vnt.VirtualNetworkTapPropertiesFormat != nil { + objectMap["properties"] = vnt.VirtualNetworkTapPropertiesFormat + } + if vnt.Etag != nil { + objectMap["etag"] = vnt.Etag + } + if vnt.ID != nil { + objectMap["id"] = vnt.ID + } + if vnt.Location != nil { + objectMap["location"] = vnt.Location + } + if vnt.Tags != nil { + objectMap["tags"] = vnt.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for VirtualNetworkTap struct. +func (vnt *VirtualNetworkTap) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var virtualNetworkTapPropertiesFormat VirtualNetworkTapPropertiesFormat + err = json.Unmarshal(*v, &virtualNetworkTapPropertiesFormat) + if err != nil { + return err + } + vnt.VirtualNetworkTapPropertiesFormat = &virtualNetworkTapPropertiesFormat + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + vnt.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + vnt.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + vnt.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + vnt.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + vnt.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + vnt.Tags = tags + } + } + } + + return nil +} + +// VirtualNetworkTapListResult response for ListVirtualNetworkTap API service call. +type VirtualNetworkTapListResult struct { + autorest.Response `json:"-"` + // Value - A list of VirtualNetworkTaps in a resource group. + Value *[]VirtualNetworkTap `json:"value,omitempty"` + // NextLink - The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// VirtualNetworkTapListResultIterator provides access to a complete listing of VirtualNetworkTap values. +type VirtualNetworkTapListResultIterator struct { + i int + page VirtualNetworkTapListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *VirtualNetworkTapListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkTapListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *VirtualNetworkTapListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter VirtualNetworkTapListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter VirtualNetworkTapListResultIterator) Response() VirtualNetworkTapListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter VirtualNetworkTapListResultIterator) Value() VirtualNetworkTap { + if !iter.page.NotDone() { + return VirtualNetworkTap{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the VirtualNetworkTapListResultIterator type. +func NewVirtualNetworkTapListResultIterator(page VirtualNetworkTapListResultPage) VirtualNetworkTapListResultIterator { + return VirtualNetworkTapListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (vntlr VirtualNetworkTapListResult) IsEmpty() bool { + return vntlr.Value == nil || len(*vntlr.Value) == 0 +} + +// virtualNetworkTapListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (vntlr VirtualNetworkTapListResult) virtualNetworkTapListResultPreparer(ctx context.Context) (*http.Request, error) { + if vntlr.NextLink == nil || len(to.String(vntlr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(vntlr.NextLink))) +} + +// VirtualNetworkTapListResultPage contains a page of VirtualNetworkTap values. +type VirtualNetworkTapListResultPage struct { + fn func(context.Context, VirtualNetworkTapListResult) (VirtualNetworkTapListResult, error) + vntlr VirtualNetworkTapListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *VirtualNetworkTapListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkTapListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.vntlr) + if err != nil { + return err + } + page.vntlr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *VirtualNetworkTapListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page VirtualNetworkTapListResultPage) NotDone() bool { + return !page.vntlr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page VirtualNetworkTapListResultPage) Response() VirtualNetworkTapListResult { + return page.vntlr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page VirtualNetworkTapListResultPage) Values() []VirtualNetworkTap { + if page.vntlr.IsEmpty() { + return nil + } + return *page.vntlr.Value +} + +// Creates a new instance of the VirtualNetworkTapListResultPage type. +func NewVirtualNetworkTapListResultPage(getNextPage func(context.Context, VirtualNetworkTapListResult) (VirtualNetworkTapListResult, error)) VirtualNetworkTapListResultPage { + return VirtualNetworkTapListResultPage{fn: getNextPage} +} + +// VirtualNetworkTapPropertiesFormat virtual Network Tap properties. +type VirtualNetworkTapPropertiesFormat struct { + // NetworkInterfaceTapConfigurations - READ-ONLY; Specifies the list of resource IDs for the network interface IP configuration that needs to be tapped. + NetworkInterfaceTapConfigurations *[]InterfaceTapConfiguration `json:"networkInterfaceTapConfigurations,omitempty"` + // ResourceGUID - READ-ONLY; The resource GUID property of the virtual network tap resource. + ResourceGUID *string `json:"resourceGuid,omitempty"` + // ProvisioningState - READ-ONLY; The provisioning state of the virtual network tap resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + // DestinationNetworkInterfaceIPConfiguration - The reference to the private IP Address of the collector nic that will receive the tap. + DestinationNetworkInterfaceIPConfiguration *InterfaceIPConfiguration `json:"destinationNetworkInterfaceIPConfiguration,omitempty"` + // DestinationLoadBalancerFrontEndIPConfiguration - The reference to the private IP address on the internal Load Balancer that will receive the tap. + DestinationLoadBalancerFrontEndIPConfiguration *FrontendIPConfiguration `json:"destinationLoadBalancerFrontEndIPConfiguration,omitempty"` + // DestinationPort - The VXLAN destination port that will receive the tapped traffic. + DestinationPort *int32 `json:"destinationPort,omitempty"` +} + +// VirtualNetworkTapsCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type VirtualNetworkTapsCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VirtualNetworkTapsCreateOrUpdateFuture) Result(client VirtualNetworkTapsClient) (vnt VirtualNetworkTap, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkTapsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VirtualNetworkTapsCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if vnt.Response.Response, err = future.GetResult(sender); err == nil && vnt.Response.Response.StatusCode != http.StatusNoContent { + vnt, err = client.CreateOrUpdateResponder(vnt.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkTapsCreateOrUpdateFuture", "Result", vnt.Response.Response, "Failure responding to request") + } + } + return +} + +// VirtualNetworkTapsDeleteFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type VirtualNetworkTapsDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VirtualNetworkTapsDeleteFuture) Result(client VirtualNetworkTapsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkTapsDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VirtualNetworkTapsDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// VirtualNetworkTapsUpdateTagsFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type VirtualNetworkTapsUpdateTagsFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VirtualNetworkTapsUpdateTagsFuture) Result(client VirtualNetworkTapsClient) (vnt VirtualNetworkTap, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkTapsUpdateTagsFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VirtualNetworkTapsUpdateTagsFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if vnt.Response.Response, err = future.GetResult(sender); err == nil && vnt.Response.Response.StatusCode != http.StatusNoContent { + vnt, err = client.UpdateTagsResponder(vnt.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkTapsUpdateTagsFuture", "Result", vnt.Response.Response, "Failure responding to request") + } + } + return +} + +// VirtualNetworkUsage usage details for subnet. +type VirtualNetworkUsage struct { + // CurrentValue - READ-ONLY; Indicates number of IPs used from the Subnet. + CurrentValue *float64 `json:"currentValue,omitempty"` + // ID - READ-ONLY; Subnet identifier. + ID *string `json:"id,omitempty"` + // Limit - READ-ONLY; Indicates the size of the subnet. + Limit *float64 `json:"limit,omitempty"` + // Name - READ-ONLY; The name containing common and localized value for usage. + Name *VirtualNetworkUsageName `json:"name,omitempty"` + // Unit - READ-ONLY; Usage units. Returns 'Count'. + Unit *string `json:"unit,omitempty"` +} + +// VirtualNetworkUsageName usage strings container. +type VirtualNetworkUsageName struct { + // LocalizedValue - READ-ONLY; Localized subnet size and usage string. + LocalizedValue *string `json:"localizedValue,omitempty"` + // Value - READ-ONLY; Subnet size and usage string. + Value *string `json:"value,omitempty"` +} + +// VirtualRouter virtualRouter Resource. +type VirtualRouter struct { + autorest.Response `json:"-"` + // VirtualRouterPropertiesFormat - Properties of the Virtual Router. + *VirtualRouterPropertiesFormat `json:"properties,omitempty"` + // Etag - READ-ONLY; Gets a unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for VirtualRouter. +func (vr VirtualRouter) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if vr.VirtualRouterPropertiesFormat != nil { + objectMap["properties"] = vr.VirtualRouterPropertiesFormat + } + if vr.ID != nil { + objectMap["id"] = vr.ID + } + if vr.Location != nil { + objectMap["location"] = vr.Location + } + if vr.Tags != nil { + objectMap["tags"] = vr.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for VirtualRouter struct. +func (vr *VirtualRouter) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var virtualRouterPropertiesFormat VirtualRouterPropertiesFormat + err = json.Unmarshal(*v, &virtualRouterPropertiesFormat) + if err != nil { + return err + } + vr.VirtualRouterPropertiesFormat = &virtualRouterPropertiesFormat + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + vr.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + vr.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + vr.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + vr.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + vr.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + vr.Tags = tags + } + } + } + + return nil +} + +// VirtualRouterListResult response for ListVirtualRouters API service call. +type VirtualRouterListResult struct { + autorest.Response `json:"-"` + // Value - List of Virtual Routers. + Value *[]VirtualRouter `json:"value,omitempty"` + // NextLink - URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// VirtualRouterListResultIterator provides access to a complete listing of VirtualRouter values. +type VirtualRouterListResultIterator struct { + i int + page VirtualRouterListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *VirtualRouterListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualRouterListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *VirtualRouterListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter VirtualRouterListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter VirtualRouterListResultIterator) Response() VirtualRouterListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter VirtualRouterListResultIterator) Value() VirtualRouter { + if !iter.page.NotDone() { + return VirtualRouter{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the VirtualRouterListResultIterator type. +func NewVirtualRouterListResultIterator(page VirtualRouterListResultPage) VirtualRouterListResultIterator { + return VirtualRouterListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (vrlr VirtualRouterListResult) IsEmpty() bool { + return vrlr.Value == nil || len(*vrlr.Value) == 0 +} + +// virtualRouterListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (vrlr VirtualRouterListResult) virtualRouterListResultPreparer(ctx context.Context) (*http.Request, error) { + if vrlr.NextLink == nil || len(to.String(vrlr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(vrlr.NextLink))) +} + +// VirtualRouterListResultPage contains a page of VirtualRouter values. +type VirtualRouterListResultPage struct { + fn func(context.Context, VirtualRouterListResult) (VirtualRouterListResult, error) + vrlr VirtualRouterListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *VirtualRouterListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualRouterListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.vrlr) + if err != nil { + return err + } + page.vrlr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *VirtualRouterListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page VirtualRouterListResultPage) NotDone() bool { + return !page.vrlr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page VirtualRouterListResultPage) Response() VirtualRouterListResult { + return page.vrlr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page VirtualRouterListResultPage) Values() []VirtualRouter { + if page.vrlr.IsEmpty() { + return nil + } + return *page.vrlr.Value +} + +// Creates a new instance of the VirtualRouterListResultPage type. +func NewVirtualRouterListResultPage(getNextPage func(context.Context, VirtualRouterListResult) (VirtualRouterListResult, error)) VirtualRouterListResultPage { + return VirtualRouterListResultPage{fn: getNextPage} +} + +// VirtualRouterPeering virtual Router Peering resource +type VirtualRouterPeering struct { + autorest.Response `json:"-"` + // VirtualRouterPeeringProperties - The properties of the Virtual Router Peering. + *VirtualRouterPeeringProperties `json:"properties,omitempty"` + // Name - Gets name of the peering unique to VirtualRouter. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + // Etag - READ-ONLY; Gets a unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // Type - READ-ONLY; Peering type. + Type *string `json:"type,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for VirtualRouterPeering. +func (vrp VirtualRouterPeering) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if vrp.VirtualRouterPeeringProperties != nil { + objectMap["properties"] = vrp.VirtualRouterPeeringProperties + } + if vrp.Name != nil { + objectMap["name"] = vrp.Name + } + if vrp.ID != nil { + objectMap["id"] = vrp.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for VirtualRouterPeering struct. +func (vrp *VirtualRouterPeering) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var virtualRouterPeeringProperties VirtualRouterPeeringProperties + err = json.Unmarshal(*v, &virtualRouterPeeringProperties) + if err != nil { + return err + } + vrp.VirtualRouterPeeringProperties = &virtualRouterPeeringProperties + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + vrp.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + vrp.Etag = &etag + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + vrp.Type = &typeVar + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + vrp.ID = &ID + } + } + } + + return nil +} + +// VirtualRouterPeeringListResult response for ListVirtualRouterPeerings API service call. +type VirtualRouterPeeringListResult struct { + autorest.Response `json:"-"` + // Value - List of VirtualRouterPeerings in a VirtualRouter. + Value *[]VirtualRouterPeering `json:"value,omitempty"` + // NextLink - URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// VirtualRouterPeeringListResultIterator provides access to a complete listing of VirtualRouterPeering +// values. +type VirtualRouterPeeringListResultIterator struct { + i int + page VirtualRouterPeeringListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *VirtualRouterPeeringListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualRouterPeeringListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *VirtualRouterPeeringListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter VirtualRouterPeeringListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter VirtualRouterPeeringListResultIterator) Response() VirtualRouterPeeringListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter VirtualRouterPeeringListResultIterator) Value() VirtualRouterPeering { + if !iter.page.NotDone() { + return VirtualRouterPeering{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the VirtualRouterPeeringListResultIterator type. +func NewVirtualRouterPeeringListResultIterator(page VirtualRouterPeeringListResultPage) VirtualRouterPeeringListResultIterator { + return VirtualRouterPeeringListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (vrplr VirtualRouterPeeringListResult) IsEmpty() bool { + return vrplr.Value == nil || len(*vrplr.Value) == 0 +} + +// virtualRouterPeeringListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (vrplr VirtualRouterPeeringListResult) virtualRouterPeeringListResultPreparer(ctx context.Context) (*http.Request, error) { + if vrplr.NextLink == nil || len(to.String(vrplr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(vrplr.NextLink))) +} + +// VirtualRouterPeeringListResultPage contains a page of VirtualRouterPeering values. +type VirtualRouterPeeringListResultPage struct { + fn func(context.Context, VirtualRouterPeeringListResult) (VirtualRouterPeeringListResult, error) + vrplr VirtualRouterPeeringListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *VirtualRouterPeeringListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualRouterPeeringListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.vrplr) + if err != nil { + return err + } + page.vrplr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *VirtualRouterPeeringListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page VirtualRouterPeeringListResultPage) NotDone() bool { + return !page.vrplr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page VirtualRouterPeeringListResultPage) Response() VirtualRouterPeeringListResult { + return page.vrplr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page VirtualRouterPeeringListResultPage) Values() []VirtualRouterPeering { + if page.vrplr.IsEmpty() { + return nil + } + return *page.vrplr.Value +} + +// Creates a new instance of the VirtualRouterPeeringListResultPage type. +func NewVirtualRouterPeeringListResultPage(getNextPage func(context.Context, VirtualRouterPeeringListResult) (VirtualRouterPeeringListResult, error)) VirtualRouterPeeringListResultPage { + return VirtualRouterPeeringListResultPage{fn: getNextPage} +} + +// VirtualRouterPeeringProperties properties of the rule group. +type VirtualRouterPeeringProperties struct { + // PeerAsn - Peer ASN. + PeerAsn *int64 `json:"peerAsn,omitempty"` + // PeerIP - Peer IP. + PeerIP *string `json:"peerIp,omitempty"` + // ProvisioningState - READ-ONLY; The provisioning state of the resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// VirtualRouterPeeringsCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type VirtualRouterPeeringsCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VirtualRouterPeeringsCreateOrUpdateFuture) Result(client VirtualRouterPeeringsClient) (vrp VirtualRouterPeering, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualRouterPeeringsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VirtualRouterPeeringsCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if vrp.Response.Response, err = future.GetResult(sender); err == nil && vrp.Response.Response.StatusCode != http.StatusNoContent { + vrp, err = client.CreateOrUpdateResponder(vrp.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualRouterPeeringsCreateOrUpdateFuture", "Result", vrp.Response.Response, "Failure responding to request") + } + } + return +} + +// VirtualRouterPeeringsDeleteFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type VirtualRouterPeeringsDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VirtualRouterPeeringsDeleteFuture) Result(client VirtualRouterPeeringsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualRouterPeeringsDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VirtualRouterPeeringsDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// VirtualRouterPropertiesFormat virtual Router definition +type VirtualRouterPropertiesFormat struct { + // VirtualRouterAsn - VirtualRouter ASN. + VirtualRouterAsn *int64 `json:"virtualRouterAsn,omitempty"` + // VirtualRouterIps - VirtualRouter IPs + VirtualRouterIps *[]string `json:"virtualRouterIps,omitempty"` + // HostedSubnet - The Subnet on which VirtualRouter is hosted. + HostedSubnet *SubResource `json:"hostedSubnet,omitempty"` + // HostedGateway - The Gateway on which VirtualRouter is hosted. + HostedGateway *SubResource `json:"hostedGateway,omitempty"` + // Peerings - READ-ONLY; List of references to VirtualRouterPeerings + Peerings *[]SubResource `json:"peerings,omitempty"` + // ProvisioningState - READ-ONLY; The provisioning state of the resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// VirtualRoutersCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type VirtualRoutersCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VirtualRoutersCreateOrUpdateFuture) Result(client VirtualRoutersClient) (vr VirtualRouter, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualRoutersCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VirtualRoutersCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if vr.Response.Response, err = future.GetResult(sender); err == nil && vr.Response.Response.StatusCode != http.StatusNoContent { + vr, err = client.CreateOrUpdateResponder(vr.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualRoutersCreateOrUpdateFuture", "Result", vr.Response.Response, "Failure responding to request") + } + } + return +} + +// VirtualRoutersDeleteFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type VirtualRoutersDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VirtualRoutersDeleteFuture) Result(client VirtualRoutersClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualRoutersDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VirtualRoutersDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// VirtualWAN virtualWAN Resource. +type VirtualWAN struct { + autorest.Response `json:"-"` + // VirtualWanProperties - Properties of the virtual WAN. + *VirtualWanProperties `json:"properties,omitempty"` + // Etag - READ-ONLY; A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for VirtualWAN. +func (vw VirtualWAN) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if vw.VirtualWanProperties != nil { + objectMap["properties"] = vw.VirtualWanProperties + } + if vw.ID != nil { + objectMap["id"] = vw.ID + } + if vw.Location != nil { + objectMap["location"] = vw.Location + } + if vw.Tags != nil { + objectMap["tags"] = vw.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for VirtualWAN struct. +func (vw *VirtualWAN) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var virtualWanProperties VirtualWanProperties + err = json.Unmarshal(*v, &virtualWanProperties) + if err != nil { + return err + } + vw.VirtualWanProperties = &virtualWanProperties + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + vw.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + vw.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + vw.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + vw.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + vw.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + vw.Tags = tags + } + } + } + + return nil +} + +// VirtualWanProperties parameters for VirtualWAN. +type VirtualWanProperties struct { + // DisableVpnEncryption - Vpn encryption to be disabled or not. + DisableVpnEncryption *bool `json:"disableVpnEncryption,omitempty"` + // VirtualHubs - READ-ONLY; List of VirtualHubs in the VirtualWAN. + VirtualHubs *[]SubResource `json:"virtualHubs,omitempty"` + // VpnSites - READ-ONLY; List of VpnSites in the VirtualWAN. + VpnSites *[]SubResource `json:"vpnSites,omitempty"` + // SecurityProviderName - The Security Provider name. + SecurityProviderName *string `json:"securityProviderName,omitempty"` + // AllowBranchToBranchTraffic - True if branch to branch traffic is allowed. + AllowBranchToBranchTraffic *bool `json:"allowBranchToBranchTraffic,omitempty"` + // AllowVnetToVnetTraffic - True if Vnet to Vnet traffic is allowed. + AllowVnetToVnetTraffic *bool `json:"allowVnetToVnetTraffic,omitempty"` + // Office365LocalBreakoutCategory - The office local breakout category. Possible values include: 'OfficeTrafficCategoryOptimize', 'OfficeTrafficCategoryOptimizeAndAllow', 'OfficeTrafficCategoryAll', 'OfficeTrafficCategoryNone' + Office365LocalBreakoutCategory OfficeTrafficCategory `json:"office365LocalBreakoutCategory,omitempty"` + // P2SVpnServerConfigurations - List of all P2SVpnServerConfigurations associated with the virtual wan. + P2SVpnServerConfigurations *[]P2SVpnServerConfiguration `json:"p2SVpnServerConfigurations,omitempty"` + // ProvisioningState - The provisioning state of the virtual WAN resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// VirtualWansCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type VirtualWansCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VirtualWansCreateOrUpdateFuture) Result(client VirtualWansClient) (vw VirtualWAN, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualWansCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VirtualWansCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if vw.Response.Response, err = future.GetResult(sender); err == nil && vw.Response.Response.StatusCode != http.StatusNoContent { + vw, err = client.CreateOrUpdateResponder(vw.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualWansCreateOrUpdateFuture", "Result", vw.Response.Response, "Failure responding to request") + } + } + return +} + +// VirtualWansDeleteFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type VirtualWansDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VirtualWansDeleteFuture) Result(client VirtualWansClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualWansDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VirtualWansDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// VirtualWanSecurityProvider collection of SecurityProviders. +type VirtualWanSecurityProvider struct { + // Name - Name of the security provider. + Name *string `json:"name,omitempty"` + // URL - Url of the security provider. + URL *string `json:"url,omitempty"` + // Type - Name of the security provider. Possible values include: 'External', 'Native' + Type VirtualWanSecurityProviderType `json:"type,omitempty"` +} + +// VirtualWanSecurityProviders collection of SecurityProviders. +type VirtualWanSecurityProviders struct { + autorest.Response `json:"-"` + // SupportedProviders - List of VirtualWAN security providers. + SupportedProviders *[]VirtualWanSecurityProvider `json:"supportedProviders,omitempty"` +} + +// VirtualWansUpdateTagsFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type VirtualWansUpdateTagsFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VirtualWansUpdateTagsFuture) Result(client VirtualWansClient) (vw VirtualWAN, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualWansUpdateTagsFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VirtualWansUpdateTagsFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if vw.Response.Response, err = future.GetResult(sender); err == nil && vw.Response.Response.StatusCode != http.StatusNoContent { + vw, err = client.UpdateTagsResponder(vw.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualWansUpdateTagsFuture", "Result", vw.Response.Response, "Failure responding to request") + } + } + return +} + +// VpnClientConfiguration vpnClientConfiguration for P2S client. +type VpnClientConfiguration struct { + // VpnClientAddressPool - The reference of the address space resource which represents Address space for P2S VpnClient. + VpnClientAddressPool *AddressSpace `json:"vpnClientAddressPool,omitempty"` + // VpnClientRootCertificates - VpnClientRootCertificate for virtual network gateway. + VpnClientRootCertificates *[]VpnClientRootCertificate `json:"vpnClientRootCertificates,omitempty"` + // VpnClientRevokedCertificates - VpnClientRevokedCertificate for Virtual network gateway. + VpnClientRevokedCertificates *[]VpnClientRevokedCertificate `json:"vpnClientRevokedCertificates,omitempty"` + // VpnClientProtocols - VpnClientProtocols for Virtual network gateway. + VpnClientProtocols *[]VpnClientProtocol `json:"vpnClientProtocols,omitempty"` + // VpnClientIpsecPolicies - VpnClientIpsecPolicies for virtual network gateway P2S client. + VpnClientIpsecPolicies *[]IpsecPolicy `json:"vpnClientIpsecPolicies,omitempty"` + // RadiusServerAddress - The radius server address property of the VirtualNetworkGateway resource for vpn client connection. + RadiusServerAddress *string `json:"radiusServerAddress,omitempty"` + // RadiusServerSecret - The radius secret property of the VirtualNetworkGateway resource for vpn client connection. + RadiusServerSecret *string `json:"radiusServerSecret,omitempty"` + // AadTenant - The AADTenant property of the VirtualNetworkGateway resource for vpn client connection used for AAD authentication. + AadTenant *string `json:"aadTenant,omitempty"` + // AadAudience - The AADAudience property of the VirtualNetworkGateway resource for vpn client connection used for AAD authentication. + AadAudience *string `json:"aadAudience,omitempty"` + // AadIssuer - The AADIssuer property of the VirtualNetworkGateway resource for vpn client connection used for AAD authentication. + AadIssuer *string `json:"aadIssuer,omitempty"` +} + +// VpnClientConnectionHealth vpnClientConnectionHealth properties. +type VpnClientConnectionHealth struct { + // TotalIngressBytesTransferred - READ-ONLY; Total of the Ingress Bytes Transferred in this P2S Vpn connection. + TotalIngressBytesTransferred *int64 `json:"totalIngressBytesTransferred,omitempty"` + // TotalEgressBytesTransferred - READ-ONLY; Total of the Egress Bytes Transferred in this connection. + TotalEgressBytesTransferred *int64 `json:"totalEgressBytesTransferred,omitempty"` + // VpnClientConnectionsCount - The total of p2s vpn clients connected at this time to this P2SVpnGateway. + VpnClientConnectionsCount *int32 `json:"vpnClientConnectionsCount,omitempty"` + // AllocatedIPAddresses - List of allocated ip addresses to the connected p2s vpn clients. + AllocatedIPAddresses *[]string `json:"allocatedIpAddresses,omitempty"` +} + +// VpnClientConnectionHealthDetail VPN client connection health detail. +type VpnClientConnectionHealthDetail struct { + // VpnConnectionID - READ-ONLY; The vpn client Id. + VpnConnectionID *string `json:"vpnConnectionId,omitempty"` + // VpnConnectionDuration - READ-ONLY; The duration time of a connected vpn client. + VpnConnectionDuration *int64 `json:"vpnConnectionDuration,omitempty"` + // VpnConnectionTime - READ-ONLY; The start time of a connected vpn client. + VpnConnectionTime *string `json:"vpnConnectionTime,omitempty"` + // PublicIPAddress - READ-ONLY; The public Ip of a connected vpn client. + PublicIPAddress *string `json:"publicIpAddress,omitempty"` + // PrivateIPAddress - READ-ONLY; The assigned private Ip of a connected vpn client. + PrivateIPAddress *string `json:"privateIpAddress,omitempty"` + // VpnUserName - READ-ONLY; The user name of a connected vpn client. + VpnUserName *string `json:"vpnUserName,omitempty"` + // MaxBandwidth - READ-ONLY; The max band width. + MaxBandwidth *int64 `json:"maxBandwidth,omitempty"` + // EgressPacketsTransferred - READ-ONLY; The egress packets per second. + EgressPacketsTransferred *int64 `json:"egressPacketsTransferred,omitempty"` + // EgressBytesTransferred - READ-ONLY; The egress bytes per second. + EgressBytesTransferred *int64 `json:"egressBytesTransferred,omitempty"` + // IngressPacketsTransferred - READ-ONLY; The ingress packets per second. + IngressPacketsTransferred *int64 `json:"ingressPacketsTransferred,omitempty"` + // IngressBytesTransferred - READ-ONLY; The ingress bytes per second. + IngressBytesTransferred *int64 `json:"ingressBytesTransferred,omitempty"` + // MaxPacketsPerSecond - READ-ONLY; The max packets transferred per second. + MaxPacketsPerSecond *int64 `json:"maxPacketsPerSecond,omitempty"` +} + +// VpnClientConnectionHealthDetailListResult list of virtual network gateway vpn client connection health. +type VpnClientConnectionHealthDetailListResult struct { + autorest.Response `json:"-"` + // Value - List of vpn client connection health. + Value *[]VpnClientConnectionHealthDetail `json:"value,omitempty"` +} + +// VpnClientIPsecParameters an IPSec parameters for a virtual network gateway P2S connection. +type VpnClientIPsecParameters struct { + autorest.Response `json:"-"` + // SaLifeTimeSeconds - The IPSec Security Association (also called Quick Mode or Phase 2 SA) lifetime in seconds for P2S client. + SaLifeTimeSeconds *int32 `json:"saLifeTimeSeconds,omitempty"` + // SaDataSizeKilobytes - The IPSec Security Association (also called Quick Mode or Phase 2 SA) payload size in KB for P2S client.. + SaDataSizeKilobytes *int32 `json:"saDataSizeKilobytes,omitempty"` + // IpsecEncryption - The IPSec encryption algorithm (IKE phase 1). Possible values include: 'IpsecEncryptionNone', 'IpsecEncryptionDES', 'IpsecEncryptionDES3', 'IpsecEncryptionAES128', 'IpsecEncryptionAES192', 'IpsecEncryptionAES256', 'IpsecEncryptionGCMAES128', 'IpsecEncryptionGCMAES192', 'IpsecEncryptionGCMAES256' + IpsecEncryption IpsecEncryption `json:"ipsecEncryption,omitempty"` + // IpsecIntegrity - The IPSec integrity algorithm (IKE phase 1). Possible values include: 'IpsecIntegrityMD5', 'IpsecIntegritySHA1', 'IpsecIntegritySHA256', 'IpsecIntegrityGCMAES128', 'IpsecIntegrityGCMAES192', 'IpsecIntegrityGCMAES256' + IpsecIntegrity IpsecIntegrity `json:"ipsecIntegrity,omitempty"` + // IkeEncryption - The IKE encryption algorithm (IKE phase 2). Possible values include: 'DES', 'DES3', 'AES128', 'AES192', 'AES256', 'GCMAES256', 'GCMAES128' + IkeEncryption IkeEncryption `json:"ikeEncryption,omitempty"` + // IkeIntegrity - The IKE integrity algorithm (IKE phase 2). Possible values include: 'IkeIntegrityMD5', 'IkeIntegritySHA1', 'IkeIntegritySHA256', 'IkeIntegritySHA384', 'IkeIntegrityGCMAES256', 'IkeIntegrityGCMAES128' + IkeIntegrity IkeIntegrity `json:"ikeIntegrity,omitempty"` + // DhGroup - The DH Group used in IKE Phase 1 for initial SA. Possible values include: 'None', 'DHGroup1', 'DHGroup2', 'DHGroup14', 'DHGroup2048', 'ECP256', 'ECP384', 'DHGroup24' + DhGroup DhGroup `json:"dhGroup,omitempty"` + // PfsGroup - The Pfs Group used in IKE Phase 2 for new child SA. Possible values include: 'PfsGroupNone', 'PfsGroupPFS1', 'PfsGroupPFS2', 'PfsGroupPFS2048', 'PfsGroupECP256', 'PfsGroupECP384', 'PfsGroupPFS24', 'PfsGroupPFS14', 'PfsGroupPFSMM' + PfsGroup PfsGroup `json:"pfsGroup,omitempty"` +} + +// VpnClientParameters vpn Client Parameters for package generation. +type VpnClientParameters struct { + // ProcessorArchitecture - VPN client Processor Architecture. Possible values include: 'Amd64', 'X86' + ProcessorArchitecture ProcessorArchitecture `json:"processorArchitecture,omitempty"` + // AuthenticationMethod - VPN client authentication method. Possible values include: 'EAPTLS', 'EAPMSCHAPv2' + AuthenticationMethod AuthenticationMethod `json:"authenticationMethod,omitempty"` + // RadiusServerAuthCertificate - The public certificate data for the radius server authentication certificate as a Base-64 encoded string. Required only if external radius authentication has been configured with EAPTLS authentication. + RadiusServerAuthCertificate *string `json:"radiusServerAuthCertificate,omitempty"` + // ClientRootCertificates - A list of client root certificates public certificate data encoded as Base-64 strings. Optional parameter for external radius based authentication with EAPTLS. + ClientRootCertificates *[]string `json:"clientRootCertificates,omitempty"` +} + +// VpnClientRevokedCertificate VPN client revoked certificate of virtual network gateway. +type VpnClientRevokedCertificate struct { + // VpnClientRevokedCertificatePropertiesFormat - Properties of the vpn client revoked certificate. + *VpnClientRevokedCertificatePropertiesFormat `json:"properties,omitempty"` + // Name - The name of the resource that is unique within a resource group. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for VpnClientRevokedCertificate. +func (vcrc VpnClientRevokedCertificate) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if vcrc.VpnClientRevokedCertificatePropertiesFormat != nil { + objectMap["properties"] = vcrc.VpnClientRevokedCertificatePropertiesFormat + } + if vcrc.Name != nil { + objectMap["name"] = vcrc.Name + } + if vcrc.Etag != nil { + objectMap["etag"] = vcrc.Etag + } + if vcrc.ID != nil { + objectMap["id"] = vcrc.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for VpnClientRevokedCertificate struct. +func (vcrc *VpnClientRevokedCertificate) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var vpnClientRevokedCertificatePropertiesFormat VpnClientRevokedCertificatePropertiesFormat + err = json.Unmarshal(*v, &vpnClientRevokedCertificatePropertiesFormat) + if err != nil { + return err + } + vcrc.VpnClientRevokedCertificatePropertiesFormat = &vpnClientRevokedCertificatePropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + vcrc.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + vcrc.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + vcrc.ID = &ID + } + } + } + + return nil +} + +// VpnClientRevokedCertificatePropertiesFormat properties of the revoked VPN client certificate of virtual +// network gateway. +type VpnClientRevokedCertificatePropertiesFormat struct { + // Thumbprint - The revoked VPN client certificate thumbprint. + Thumbprint *string `json:"thumbprint,omitempty"` + // ProvisioningState - READ-ONLY; The provisioning state of the VPN client revoked certificate resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// VpnClientRootCertificate VPN client root certificate of virtual network gateway. +type VpnClientRootCertificate struct { + // VpnClientRootCertificatePropertiesFormat - Properties of the vpn client root certificate. + *VpnClientRootCertificatePropertiesFormat `json:"properties,omitempty"` + // Name - The name of the resource that is unique within a resource group. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for VpnClientRootCertificate. +func (vcrc VpnClientRootCertificate) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if vcrc.VpnClientRootCertificatePropertiesFormat != nil { + objectMap["properties"] = vcrc.VpnClientRootCertificatePropertiesFormat + } + if vcrc.Name != nil { + objectMap["name"] = vcrc.Name + } + if vcrc.Etag != nil { + objectMap["etag"] = vcrc.Etag + } + if vcrc.ID != nil { + objectMap["id"] = vcrc.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for VpnClientRootCertificate struct. +func (vcrc *VpnClientRootCertificate) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var vpnClientRootCertificatePropertiesFormat VpnClientRootCertificatePropertiesFormat + err = json.Unmarshal(*v, &vpnClientRootCertificatePropertiesFormat) + if err != nil { + return err + } + vcrc.VpnClientRootCertificatePropertiesFormat = &vpnClientRootCertificatePropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + vcrc.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + vcrc.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + vcrc.ID = &ID + } + } + } + + return nil +} + +// VpnClientRootCertificatePropertiesFormat properties of SSL certificates of application gateway. +type VpnClientRootCertificatePropertiesFormat struct { + // PublicCertData - The certificate public data. + PublicCertData *string `json:"publicCertData,omitempty"` + // ProvisioningState - READ-ONLY; The provisioning state of the VPN client root certificate resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// VpnConnection vpnConnection Resource. +type VpnConnection struct { + autorest.Response `json:"-"` + // VpnConnectionProperties - Properties of the VPN connection. + *VpnConnectionProperties `json:"properties,omitempty"` + // Name - The name of the resource that is unique within a resource group. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + // Etag - READ-ONLY; A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for VpnConnection. +func (vc VpnConnection) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if vc.VpnConnectionProperties != nil { + objectMap["properties"] = vc.VpnConnectionProperties + } + if vc.Name != nil { + objectMap["name"] = vc.Name + } + if vc.ID != nil { + objectMap["id"] = vc.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for VpnConnection struct. +func (vc *VpnConnection) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var vpnConnectionProperties VpnConnectionProperties + err = json.Unmarshal(*v, &vpnConnectionProperties) + if err != nil { + return err + } + vc.VpnConnectionProperties = &vpnConnectionProperties + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + vc.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + vc.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + vc.ID = &ID + } + } + } + + return nil +} + +// VpnConnectionProperties parameters for VpnConnection. +type VpnConnectionProperties struct { + // RemoteVpnSite - Id of the connected vpn site. + RemoteVpnSite *SubResource `json:"remoteVpnSite,omitempty"` + // RoutingWeight - Routing weight for vpn connection. + RoutingWeight *int32 `json:"routingWeight,omitempty"` + // ConnectionStatus - The connection status. Possible values include: 'VpnConnectionStatusUnknown', 'VpnConnectionStatusConnecting', 'VpnConnectionStatusConnected', 'VpnConnectionStatusNotConnected' + ConnectionStatus VpnConnectionStatus `json:"connectionStatus,omitempty"` + // VpnConnectionProtocolType - Connection protocol used for this connection. Possible values include: 'IKEv2', 'IKEv1' + VpnConnectionProtocolType VirtualNetworkGatewayConnectionProtocol `json:"vpnConnectionProtocolType,omitempty"` + // IngressBytesTransferred - READ-ONLY; Ingress bytes transferred. + IngressBytesTransferred *int64 `json:"ingressBytesTransferred,omitempty"` + // EgressBytesTransferred - READ-ONLY; Egress bytes transferred. + EgressBytesTransferred *int64 `json:"egressBytesTransferred,omitempty"` + // ConnectionBandwidth - Expected bandwidth in MBPS. + ConnectionBandwidth *int32 `json:"connectionBandwidth,omitempty"` + // SharedKey - SharedKey for the vpn connection. + SharedKey *string `json:"sharedKey,omitempty"` + // EnableBgp - EnableBgp flag. + EnableBgp *bool `json:"enableBgp,omitempty"` + // UsePolicyBasedTrafficSelectors - Enable policy-based traffic selectors. + UsePolicyBasedTrafficSelectors *bool `json:"usePolicyBasedTrafficSelectors,omitempty"` + // IpsecPolicies - The IPSec Policies to be considered by this connection. + IpsecPolicies *[]IpsecPolicy `json:"ipsecPolicies,omitempty"` + // EnableRateLimiting - EnableBgp flag. + EnableRateLimiting *bool `json:"enableRateLimiting,omitempty"` + // EnableInternetSecurity - Enable internet security. + EnableInternetSecurity *bool `json:"enableInternetSecurity,omitempty"` + // UseLocalAzureIPAddress - Use local azure ip to initiate connection. + UseLocalAzureIPAddress *bool `json:"useLocalAzureIpAddress,omitempty"` + // ProvisioningState - The provisioning state of the VPN connection resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + // VpnLinkConnections - List of all vpn site link connections to the gateway. + VpnLinkConnections *[]VpnSiteLinkConnection `json:"vpnLinkConnections,omitempty"` +} + +// VpnConnectionsCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type VpnConnectionsCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VpnConnectionsCreateOrUpdateFuture) Result(client VpnConnectionsClient) (vc VpnConnection, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnConnectionsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VpnConnectionsCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if vc.Response.Response, err = future.GetResult(sender); err == nil && vc.Response.Response.StatusCode != http.StatusNoContent { + vc, err = client.CreateOrUpdateResponder(vc.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnConnectionsCreateOrUpdateFuture", "Result", vc.Response.Response, "Failure responding to request") + } + } + return +} + +// VpnConnectionsDeleteFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type VpnConnectionsDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VpnConnectionsDeleteFuture) Result(client VpnConnectionsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnConnectionsDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VpnConnectionsDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// VpnDeviceScriptParameters vpn device configuration script generation parameters. +type VpnDeviceScriptParameters struct { + // Vendor - The vendor for the vpn device. + Vendor *string `json:"vendor,omitempty"` + // DeviceFamily - The device family for the vpn device. + DeviceFamily *string `json:"deviceFamily,omitempty"` + // FirmwareVersion - The firmware version for the vpn device. + FirmwareVersion *string `json:"firmwareVersion,omitempty"` +} + +// VpnGateway vpnGateway Resource. +type VpnGateway struct { + autorest.Response `json:"-"` + // VpnGatewayProperties - Properties of the VPN gateway. + *VpnGatewayProperties `json:"properties,omitempty"` + // Etag - READ-ONLY; A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for VpnGateway. +func (vg VpnGateway) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if vg.VpnGatewayProperties != nil { + objectMap["properties"] = vg.VpnGatewayProperties + } + if vg.ID != nil { + objectMap["id"] = vg.ID + } + if vg.Location != nil { + objectMap["location"] = vg.Location + } + if vg.Tags != nil { + objectMap["tags"] = vg.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for VpnGateway struct. +func (vg *VpnGateway) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var vpnGatewayProperties VpnGatewayProperties + err = json.Unmarshal(*v, &vpnGatewayProperties) + if err != nil { + return err + } + vg.VpnGatewayProperties = &vpnGatewayProperties + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + vg.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + vg.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + vg.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + vg.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + vg.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + vg.Tags = tags + } + } + } + + return nil +} + +// VpnGatewayProperties parameters for VpnGateway. +type VpnGatewayProperties struct { + // VirtualHub - The VirtualHub to which the gateway belongs. + VirtualHub *SubResource `json:"virtualHub,omitempty"` + // Connections - List of all vpn connections to the gateway. + Connections *[]VpnConnection `json:"connections,omitempty"` + // BgpSettings - Local network gateway's BGP speaker settings. + BgpSettings *BgpSettings `json:"bgpSettings,omitempty"` + // ProvisioningState - The provisioning state of the VPN gateway resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + // VpnGatewayScaleUnit - The scale unit for this vpn gateway. + VpnGatewayScaleUnit *int32 `json:"vpnGatewayScaleUnit,omitempty"` +} + +// VpnGatewaysCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type VpnGatewaysCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VpnGatewaysCreateOrUpdateFuture) Result(client VpnGatewaysClient) (vg VpnGateway, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnGatewaysCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VpnGatewaysCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if vg.Response.Response, err = future.GetResult(sender); err == nil && vg.Response.Response.StatusCode != http.StatusNoContent { + vg, err = client.CreateOrUpdateResponder(vg.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnGatewaysCreateOrUpdateFuture", "Result", vg.Response.Response, "Failure responding to request") + } + } + return +} + +// VpnGatewaysDeleteFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type VpnGatewaysDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VpnGatewaysDeleteFuture) Result(client VpnGatewaysClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnGatewaysDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VpnGatewaysDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// VpnGatewaysResetFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type VpnGatewaysResetFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VpnGatewaysResetFuture) Result(client VpnGatewaysClient) (vg VpnGateway, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnGatewaysResetFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VpnGatewaysResetFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if vg.Response.Response, err = future.GetResult(sender); err == nil && vg.Response.Response.StatusCode != http.StatusNoContent { + vg, err = client.ResetResponder(vg.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnGatewaysResetFuture", "Result", vg.Response.Response, "Failure responding to request") + } + } + return +} + +// VpnGatewaysUpdateTagsFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type VpnGatewaysUpdateTagsFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VpnGatewaysUpdateTagsFuture) Result(client VpnGatewaysClient) (vg VpnGateway, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnGatewaysUpdateTagsFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VpnGatewaysUpdateTagsFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if vg.Response.Response, err = future.GetResult(sender); err == nil && vg.Response.Response.StatusCode != http.StatusNoContent { + vg, err = client.UpdateTagsResponder(vg.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnGatewaysUpdateTagsFuture", "Result", vg.Response.Response, "Failure responding to request") + } + } + return +} + +// VpnLinkBgpSettings BGP settings details for a link. +type VpnLinkBgpSettings struct { + // Asn - The BGP speaker's ASN. + Asn *int64 `json:"asn,omitempty"` + // BgpPeeringAddress - The BGP peering address and BGP identifier of this BGP speaker. + BgpPeeringAddress *string `json:"bgpPeeringAddress,omitempty"` +} + +// VpnLinkProviderProperties list of properties of a link provider. +type VpnLinkProviderProperties struct { + // LinkProviderName - Name of the link provider. + LinkProviderName *string `json:"linkProviderName,omitempty"` + // LinkSpeedInMbps - Link speed. + LinkSpeedInMbps *int32 `json:"linkSpeedInMbps,omitempty"` +} + +// VpnPacketCaptureStartParameters start packet capture parameters on virtual network gateway. +type VpnPacketCaptureStartParameters struct { + // FilterData - Start Packet capture parameters. + FilterData *string `json:"filterData,omitempty"` +} + +// VpnPacketCaptureStopParameters stop packet capture parameters. +type VpnPacketCaptureStopParameters struct { + // SasURL - SAS url for packet capture on virtual network gateway. + SasURL *string `json:"sasUrl,omitempty"` +} + +// VpnProfileResponse vpn Profile Response for package generation. +type VpnProfileResponse struct { + autorest.Response `json:"-"` + // ProfileURL - URL to the VPN profile. + ProfileURL *string `json:"profileUrl,omitempty"` +} + +// VpnSite vpnSite Resource. +type VpnSite struct { + autorest.Response `json:"-"` + // VpnSiteProperties - Properties of the VPN site. + *VpnSiteProperties `json:"properties,omitempty"` + // Etag - READ-ONLY; A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for VpnSite. +func (vs VpnSite) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if vs.VpnSiteProperties != nil { + objectMap["properties"] = vs.VpnSiteProperties + } + if vs.ID != nil { + objectMap["id"] = vs.ID + } + if vs.Location != nil { + objectMap["location"] = vs.Location + } + if vs.Tags != nil { + objectMap["tags"] = vs.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for VpnSite struct. +func (vs *VpnSite) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var vpnSiteProperties VpnSiteProperties + err = json.Unmarshal(*v, &vpnSiteProperties) + if err != nil { + return err + } + vs.VpnSiteProperties = &vpnSiteProperties + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + vs.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + vs.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + vs.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + vs.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + vs.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + vs.Tags = tags + } + } + } + + return nil +} + +// VpnSiteID vpnSite Resource. +type VpnSiteID struct { + // VpnSite - READ-ONLY; The resource-uri of the vpn-site for which config is to be fetched. + VpnSite *string `json:"vpnSite,omitempty"` +} + +// VpnSiteLink vpnSiteLink Resource. +type VpnSiteLink struct { + autorest.Response `json:"-"` + // VpnSiteLinkProperties - Properties of the VPN site link. + *VpnSiteLinkProperties `json:"properties,omitempty"` + // Etag - READ-ONLY; A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // Name - The name of the resource that is unique within a resource group. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for VpnSiteLink. +func (vsl VpnSiteLink) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if vsl.VpnSiteLinkProperties != nil { + objectMap["properties"] = vsl.VpnSiteLinkProperties + } + if vsl.Name != nil { + objectMap["name"] = vsl.Name + } + if vsl.ID != nil { + objectMap["id"] = vsl.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for VpnSiteLink struct. +func (vsl *VpnSiteLink) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var vpnSiteLinkProperties VpnSiteLinkProperties + err = json.Unmarshal(*v, &vpnSiteLinkProperties) + if err != nil { + return err + } + vsl.VpnSiteLinkProperties = &vpnSiteLinkProperties + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + vsl.Etag = &etag + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + vsl.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + vsl.Type = &typeVar + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + vsl.ID = &ID + } + } + } + + return nil +} + +// VpnSiteLinkConnection vpnSiteLinkConnection Resource. +type VpnSiteLinkConnection struct { + autorest.Response `json:"-"` + // VpnSiteLinkConnectionProperties - Properties of the VPN site link connection. + *VpnSiteLinkConnectionProperties `json:"properties,omitempty"` + // Name - The name of the resource that is unique within a resource group. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + // Etag - READ-ONLY; A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for VpnSiteLinkConnection. +func (vslc VpnSiteLinkConnection) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if vslc.VpnSiteLinkConnectionProperties != nil { + objectMap["properties"] = vslc.VpnSiteLinkConnectionProperties + } + if vslc.Name != nil { + objectMap["name"] = vslc.Name + } + if vslc.ID != nil { + objectMap["id"] = vslc.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for VpnSiteLinkConnection struct. +func (vslc *VpnSiteLinkConnection) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var vpnSiteLinkConnectionProperties VpnSiteLinkConnectionProperties + err = json.Unmarshal(*v, &vpnSiteLinkConnectionProperties) + if err != nil { + return err + } + vslc.VpnSiteLinkConnectionProperties = &vpnSiteLinkConnectionProperties + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + vslc.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + vslc.Etag = &etag + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + vslc.Type = &typeVar + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + vslc.ID = &ID + } + } + } + + return nil +} + +// VpnSiteLinkConnectionProperties parameters for VpnConnection. +type VpnSiteLinkConnectionProperties struct { + // VpnSiteLink - Id of the connected vpn site link. + VpnSiteLink *SubResource `json:"vpnSiteLink,omitempty"` + // RoutingWeight - Routing weight for vpn connection. + RoutingWeight *int32 `json:"routingWeight,omitempty"` + // ConnectionStatus - The connection status. Possible values include: 'VpnConnectionStatusUnknown', 'VpnConnectionStatusConnecting', 'VpnConnectionStatusConnected', 'VpnConnectionStatusNotConnected' + ConnectionStatus VpnConnectionStatus `json:"connectionStatus,omitempty"` + // VpnConnectionProtocolType - Connection protocol used for this connection. Possible values include: 'IKEv2', 'IKEv1' + VpnConnectionProtocolType VirtualNetworkGatewayConnectionProtocol `json:"vpnConnectionProtocolType,omitempty"` + // IngressBytesTransferred - READ-ONLY; Ingress bytes transferred. + IngressBytesTransferred *int64 `json:"ingressBytesTransferred,omitempty"` + // EgressBytesTransferred - READ-ONLY; Egress bytes transferred. + EgressBytesTransferred *int64 `json:"egressBytesTransferred,omitempty"` + // ConnectionBandwidth - Expected bandwidth in MBPS. + ConnectionBandwidth *int32 `json:"connectionBandwidth,omitempty"` + // SharedKey - SharedKey for the vpn connection. + SharedKey *string `json:"sharedKey,omitempty"` + // EnableBgp - EnableBgp flag. + EnableBgp *bool `json:"enableBgp,omitempty"` + // UsePolicyBasedTrafficSelectors - Enable policy-based traffic selectors. + UsePolicyBasedTrafficSelectors *bool `json:"usePolicyBasedTrafficSelectors,omitempty"` + // IpsecPolicies - The IPSec Policies to be considered by this connection. + IpsecPolicies *[]IpsecPolicy `json:"ipsecPolicies,omitempty"` + // EnableRateLimiting - EnableBgp flag. + EnableRateLimiting *bool `json:"enableRateLimiting,omitempty"` + // UseLocalAzureIPAddress - Use local azure ip to initiate connection. + UseLocalAzureIPAddress *bool `json:"useLocalAzureIpAddress,omitempty"` + // ProvisioningState - The provisioning state of the VPN site link connection resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// VpnSiteLinkProperties parameters for VpnSite. +type VpnSiteLinkProperties struct { + // LinkProperties - The link provider properties. + LinkProperties *VpnLinkProviderProperties `json:"linkProperties,omitempty"` + // IPAddress - The ip-address for the vpn-site-link. + IPAddress *string `json:"ipAddress,omitempty"` + // BgpProperties - The set of bgp properties. + BgpProperties *VpnLinkBgpSettings `json:"bgpProperties,omitempty"` + // ProvisioningState - The provisioning state of the VPN site link resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// VpnSiteProperties parameters for VpnSite. +type VpnSiteProperties struct { + // VirtualWan - The VirtualWAN to which the vpnSite belongs. + VirtualWan *SubResource `json:"virtualWan,omitempty"` + // DeviceProperties - The device properties. + DeviceProperties *DeviceProperties `json:"deviceProperties,omitempty"` + // IPAddress - The ip-address for the vpn-site. + IPAddress *string `json:"ipAddress,omitempty"` + // SiteKey - The key for vpn-site that can be used for connections. + SiteKey *string `json:"siteKey,omitempty"` + // AddressSpace - The AddressSpace that contains an array of IP address ranges. + AddressSpace *AddressSpace `json:"addressSpace,omitempty"` + // BgpProperties - The set of bgp properties. + BgpProperties *BgpSettings `json:"bgpProperties,omitempty"` + // ProvisioningState - The provisioning state of the VPN site resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + // IsSecuritySite - IsSecuritySite flag. + IsSecuritySite *bool `json:"isSecuritySite,omitempty"` + // VpnSiteLinks - List of all vpn site links. + VpnSiteLinks *[]VpnSiteLink `json:"vpnSiteLinks,omitempty"` +} + +// VpnSitesConfigurationDownloadFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type VpnSitesConfigurationDownloadFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VpnSitesConfigurationDownloadFuture) Result(client VpnSitesConfigurationClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnSitesConfigurationDownloadFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VpnSitesConfigurationDownloadFuture") + return + } + ar.Response = future.Response() + return +} + +// VpnSitesCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type VpnSitesCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VpnSitesCreateOrUpdateFuture) Result(client VpnSitesClient) (vs VpnSite, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnSitesCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VpnSitesCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if vs.Response.Response, err = future.GetResult(sender); err == nil && vs.Response.Response.StatusCode != http.StatusNoContent { + vs, err = client.CreateOrUpdateResponder(vs.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnSitesCreateOrUpdateFuture", "Result", vs.Response.Response, "Failure responding to request") + } + } + return +} + +// VpnSitesDeleteFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type VpnSitesDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VpnSitesDeleteFuture) Result(client VpnSitesClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnSitesDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VpnSitesDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// VpnSitesUpdateTagsFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type VpnSitesUpdateTagsFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VpnSitesUpdateTagsFuture) Result(client VpnSitesClient) (vs VpnSite, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnSitesUpdateTagsFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VpnSitesUpdateTagsFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if vs.Response.Response, err = future.GetResult(sender); err == nil && vs.Response.Response.StatusCode != http.StatusNoContent { + vs, err = client.UpdateTagsResponder(vs.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnSitesUpdateTagsFuture", "Result", vs.Response.Response, "Failure responding to request") + } + } + return +} + +// Watcher network watcher in a resource group. +type Watcher struct { + autorest.Response `json:"-"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // WatcherPropertiesFormat - Properties of the network watcher. + *WatcherPropertiesFormat `json:"properties,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for Watcher. +func (w Watcher) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if w.Etag != nil { + objectMap["etag"] = w.Etag + } + if w.WatcherPropertiesFormat != nil { + objectMap["properties"] = w.WatcherPropertiesFormat + } + if w.ID != nil { + objectMap["id"] = w.ID + } + if w.Location != nil { + objectMap["location"] = w.Location + } + if w.Tags != nil { + objectMap["tags"] = w.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for Watcher struct. +func (w *Watcher) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + w.Etag = &etag + } + case "properties": + if v != nil { + var watcherPropertiesFormat WatcherPropertiesFormat + err = json.Unmarshal(*v, &watcherPropertiesFormat) + if err != nil { + return err + } + w.WatcherPropertiesFormat = &watcherPropertiesFormat + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + w.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + w.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + w.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + w.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + w.Tags = tags + } + } + } + + return nil +} + +// WatcherListResult response for ListNetworkWatchers API service call. +type WatcherListResult struct { + autorest.Response `json:"-"` + // Value - List of network watcher resources. + Value *[]Watcher `json:"value,omitempty"` +} + +// WatcherPropertiesFormat the network watcher properties. +type WatcherPropertiesFormat struct { + // ProvisioningState - The provisioning state of the network watcher resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// WatchersCheckConnectivityFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type WatchersCheckConnectivityFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *WatchersCheckConnectivityFuture) Result(client WatchersClient) (ci ConnectivityInformation, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersCheckConnectivityFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.WatchersCheckConnectivityFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if ci.Response.Response, err = future.GetResult(sender); err == nil && ci.Response.Response.StatusCode != http.StatusNoContent { + ci, err = client.CheckConnectivityResponder(ci.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersCheckConnectivityFuture", "Result", ci.Response.Response, "Failure responding to request") + } + } + return +} + +// WatchersDeleteFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type WatchersDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *WatchersDeleteFuture) Result(client WatchersClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.WatchersDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// WatchersGetAzureReachabilityReportFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type WatchersGetAzureReachabilityReportFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *WatchersGetAzureReachabilityReportFuture) Result(client WatchersClient) (arr AzureReachabilityReport, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersGetAzureReachabilityReportFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.WatchersGetAzureReachabilityReportFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if arr.Response.Response, err = future.GetResult(sender); err == nil && arr.Response.Response.StatusCode != http.StatusNoContent { + arr, err = client.GetAzureReachabilityReportResponder(arr.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersGetAzureReachabilityReportFuture", "Result", arr.Response.Response, "Failure responding to request") + } + } + return +} + +// WatchersGetFlowLogStatusFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type WatchersGetFlowLogStatusFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *WatchersGetFlowLogStatusFuture) Result(client WatchersClient) (fli FlowLogInformation, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersGetFlowLogStatusFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.WatchersGetFlowLogStatusFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if fli.Response.Response, err = future.GetResult(sender); err == nil && fli.Response.Response.StatusCode != http.StatusNoContent { + fli, err = client.GetFlowLogStatusResponder(fli.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersGetFlowLogStatusFuture", "Result", fli.Response.Response, "Failure responding to request") + } + } + return +} + +// WatchersGetNetworkConfigurationDiagnosticFuture an abstraction for monitoring and retrieving the results +// of a long-running operation. +type WatchersGetNetworkConfigurationDiagnosticFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *WatchersGetNetworkConfigurationDiagnosticFuture) Result(client WatchersClient) (cdr ConfigurationDiagnosticResponse, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersGetNetworkConfigurationDiagnosticFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.WatchersGetNetworkConfigurationDiagnosticFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if cdr.Response.Response, err = future.GetResult(sender); err == nil && cdr.Response.Response.StatusCode != http.StatusNoContent { + cdr, err = client.GetNetworkConfigurationDiagnosticResponder(cdr.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersGetNetworkConfigurationDiagnosticFuture", "Result", cdr.Response.Response, "Failure responding to request") + } + } + return +} + +// WatchersGetNextHopFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type WatchersGetNextHopFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *WatchersGetNextHopFuture) Result(client WatchersClient) (nhr NextHopResult, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersGetNextHopFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.WatchersGetNextHopFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if nhr.Response.Response, err = future.GetResult(sender); err == nil && nhr.Response.Response.StatusCode != http.StatusNoContent { + nhr, err = client.GetNextHopResponder(nhr.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersGetNextHopFuture", "Result", nhr.Response.Response, "Failure responding to request") + } + } + return +} + +// WatchersGetTroubleshootingFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type WatchersGetTroubleshootingFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *WatchersGetTroubleshootingFuture) Result(client WatchersClient) (tr TroubleshootingResult, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersGetTroubleshootingFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.WatchersGetTroubleshootingFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if tr.Response.Response, err = future.GetResult(sender); err == nil && tr.Response.Response.StatusCode != http.StatusNoContent { + tr, err = client.GetTroubleshootingResponder(tr.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersGetTroubleshootingFuture", "Result", tr.Response.Response, "Failure responding to request") + } + } + return +} + +// WatchersGetTroubleshootingResultFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type WatchersGetTroubleshootingResultFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *WatchersGetTroubleshootingResultFuture) Result(client WatchersClient) (tr TroubleshootingResult, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersGetTroubleshootingResultFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.WatchersGetTroubleshootingResultFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if tr.Response.Response, err = future.GetResult(sender); err == nil && tr.Response.Response.StatusCode != http.StatusNoContent { + tr, err = client.GetTroubleshootingResultResponder(tr.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersGetTroubleshootingResultFuture", "Result", tr.Response.Response, "Failure responding to request") + } + } + return +} + +// WatchersGetVMSecurityRulesFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type WatchersGetVMSecurityRulesFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *WatchersGetVMSecurityRulesFuture) Result(client WatchersClient) (sgvr SecurityGroupViewResult, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersGetVMSecurityRulesFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.WatchersGetVMSecurityRulesFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if sgvr.Response.Response, err = future.GetResult(sender); err == nil && sgvr.Response.Response.StatusCode != http.StatusNoContent { + sgvr, err = client.GetVMSecurityRulesResponder(sgvr.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersGetVMSecurityRulesFuture", "Result", sgvr.Response.Response, "Failure responding to request") + } + } + return +} + +// WatchersListAvailableProvidersFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type WatchersListAvailableProvidersFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *WatchersListAvailableProvidersFuture) Result(client WatchersClient) (apl AvailableProvidersList, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersListAvailableProvidersFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.WatchersListAvailableProvidersFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if apl.Response.Response, err = future.GetResult(sender); err == nil && apl.Response.Response.StatusCode != http.StatusNoContent { + apl, err = client.ListAvailableProvidersResponder(apl.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersListAvailableProvidersFuture", "Result", apl.Response.Response, "Failure responding to request") + } + } + return +} + +// WatchersSetFlowLogConfigurationFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type WatchersSetFlowLogConfigurationFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *WatchersSetFlowLogConfigurationFuture) Result(client WatchersClient) (fli FlowLogInformation, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersSetFlowLogConfigurationFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.WatchersSetFlowLogConfigurationFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if fli.Response.Response, err = future.GetResult(sender); err == nil && fli.Response.Response.StatusCode != http.StatusNoContent { + fli, err = client.SetFlowLogConfigurationResponder(fli.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersSetFlowLogConfigurationFuture", "Result", fli.Response.Response, "Failure responding to request") + } + } + return +} + +// WatchersVerifyIPFlowFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type WatchersVerifyIPFlowFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *WatchersVerifyIPFlowFuture) Result(client WatchersClient) (vifr VerificationIPFlowResult, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersVerifyIPFlowFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.WatchersVerifyIPFlowFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if vifr.Response.Response, err = future.GetResult(sender); err == nil && vifr.Response.Response.StatusCode != http.StatusNoContent { + vifr, err = client.VerifyIPFlowResponder(vifr.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersVerifyIPFlowFuture", "Result", vifr.Response.Response, "Failure responding to request") + } + } + return +} + +// WebApplicationFirewallCustomRule defines contents of a web application rule. +type WebApplicationFirewallCustomRule struct { + // Name - The name of the resource that is unique within a policy. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + // Etag - READ-ONLY; A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // Priority - Describes priority of the rule. Rules with a lower value will be evaluated before rules with a higher value. + Priority *int32 `json:"priority,omitempty"` + // RuleType - Describes type of rule. Possible values include: 'WebApplicationFirewallRuleTypeMatchRule', 'WebApplicationFirewallRuleTypeInvalid' + RuleType WebApplicationFirewallRuleType `json:"ruleType,omitempty"` + // MatchConditions - List of match conditions. + MatchConditions *[]MatchCondition `json:"matchConditions,omitempty"` + // Action - Type of Actions. Possible values include: 'WebApplicationFirewallActionAllow', 'WebApplicationFirewallActionBlock', 'WebApplicationFirewallActionLog' + Action WebApplicationFirewallAction `json:"action,omitempty"` +} + +// WebApplicationFirewallPoliciesDeleteFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type WebApplicationFirewallPoliciesDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *WebApplicationFirewallPoliciesDeleteFuture) Result(client WebApplicationFirewallPoliciesClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WebApplicationFirewallPoliciesDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.WebApplicationFirewallPoliciesDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// WebApplicationFirewallPolicy defines web application firewall policy. +type WebApplicationFirewallPolicy struct { + autorest.Response `json:"-"` + // WebApplicationFirewallPolicyPropertiesFormat - Properties of the web application firewall policy. + *WebApplicationFirewallPolicyPropertiesFormat `json:"properties,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for WebApplicationFirewallPolicy. +func (wafp WebApplicationFirewallPolicy) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if wafp.WebApplicationFirewallPolicyPropertiesFormat != nil { + objectMap["properties"] = wafp.WebApplicationFirewallPolicyPropertiesFormat + } + if wafp.Etag != nil { + objectMap["etag"] = wafp.Etag + } + if wafp.ID != nil { + objectMap["id"] = wafp.ID + } + if wafp.Location != nil { + objectMap["location"] = wafp.Location + } + if wafp.Tags != nil { + objectMap["tags"] = wafp.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for WebApplicationFirewallPolicy struct. +func (wafp *WebApplicationFirewallPolicy) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var webApplicationFirewallPolicyPropertiesFormat WebApplicationFirewallPolicyPropertiesFormat + err = json.Unmarshal(*v, &webApplicationFirewallPolicyPropertiesFormat) + if err != nil { + return err + } + wafp.WebApplicationFirewallPolicyPropertiesFormat = &webApplicationFirewallPolicyPropertiesFormat + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + wafp.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + wafp.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + wafp.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + wafp.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + wafp.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + wafp.Tags = tags + } + } + } + + return nil +} + +// WebApplicationFirewallPolicyListResult result of the request to list WebApplicationFirewallPolicies. It +// contains a list of WebApplicationFirewallPolicy objects and a URL link to get the next set of results. +type WebApplicationFirewallPolicyListResult struct { + autorest.Response `json:"-"` + // Value - READ-ONLY; List of WebApplicationFirewallPolicies within a resource group. + Value *[]WebApplicationFirewallPolicy `json:"value,omitempty"` + // NextLink - READ-ONLY; URL to get the next set of WebApplicationFirewallPolicy objects if there are any. + NextLink *string `json:"nextLink,omitempty"` +} + +// WebApplicationFirewallPolicyListResultIterator provides access to a complete listing of +// WebApplicationFirewallPolicy values. +type WebApplicationFirewallPolicyListResultIterator struct { + i int + page WebApplicationFirewallPolicyListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *WebApplicationFirewallPolicyListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WebApplicationFirewallPolicyListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *WebApplicationFirewallPolicyListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter WebApplicationFirewallPolicyListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter WebApplicationFirewallPolicyListResultIterator) Response() WebApplicationFirewallPolicyListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter WebApplicationFirewallPolicyListResultIterator) Value() WebApplicationFirewallPolicy { + if !iter.page.NotDone() { + return WebApplicationFirewallPolicy{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the WebApplicationFirewallPolicyListResultIterator type. +func NewWebApplicationFirewallPolicyListResultIterator(page WebApplicationFirewallPolicyListResultPage) WebApplicationFirewallPolicyListResultIterator { + return WebApplicationFirewallPolicyListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (wafplr WebApplicationFirewallPolicyListResult) IsEmpty() bool { + return wafplr.Value == nil || len(*wafplr.Value) == 0 +} + +// webApplicationFirewallPolicyListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (wafplr WebApplicationFirewallPolicyListResult) webApplicationFirewallPolicyListResultPreparer(ctx context.Context) (*http.Request, error) { + if wafplr.NextLink == nil || len(to.String(wafplr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(wafplr.NextLink))) +} + +// WebApplicationFirewallPolicyListResultPage contains a page of WebApplicationFirewallPolicy values. +type WebApplicationFirewallPolicyListResultPage struct { + fn func(context.Context, WebApplicationFirewallPolicyListResult) (WebApplicationFirewallPolicyListResult, error) + wafplr WebApplicationFirewallPolicyListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *WebApplicationFirewallPolicyListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WebApplicationFirewallPolicyListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.wafplr) + if err != nil { + return err + } + page.wafplr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *WebApplicationFirewallPolicyListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page WebApplicationFirewallPolicyListResultPage) NotDone() bool { + return !page.wafplr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page WebApplicationFirewallPolicyListResultPage) Response() WebApplicationFirewallPolicyListResult { + return page.wafplr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page WebApplicationFirewallPolicyListResultPage) Values() []WebApplicationFirewallPolicy { + if page.wafplr.IsEmpty() { + return nil + } + return *page.wafplr.Value +} + +// Creates a new instance of the WebApplicationFirewallPolicyListResultPage type. +func NewWebApplicationFirewallPolicyListResultPage(getNextPage func(context.Context, WebApplicationFirewallPolicyListResult) (WebApplicationFirewallPolicyListResult, error)) WebApplicationFirewallPolicyListResultPage { + return WebApplicationFirewallPolicyListResultPage{fn: getNextPage} +} + +// WebApplicationFirewallPolicyPropertiesFormat defines web application firewall policy properties. +type WebApplicationFirewallPolicyPropertiesFormat struct { + // PolicySettings - Describes policySettings for policy. + PolicySettings *PolicySettings `json:"policySettings,omitempty"` + // CustomRules - Describes custom rules inside the policy. + CustomRules *[]WebApplicationFirewallCustomRule `json:"customRules,omitempty"` + // ApplicationGateways - READ-ONLY; A collection of references to application gateways. + ApplicationGateways *[]ApplicationGateway `json:"applicationGateways,omitempty"` + // ProvisioningState - READ-ONLY; The provisioning state of the web application firewall policy resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + // ResourceState - READ-ONLY; Resource status of the policy. Possible values include: 'WebApplicationFirewallPolicyResourceStateCreating', 'WebApplicationFirewallPolicyResourceStateEnabling', 'WebApplicationFirewallPolicyResourceStateEnabled', 'WebApplicationFirewallPolicyResourceStateDisabling', 'WebApplicationFirewallPolicyResourceStateDisabled', 'WebApplicationFirewallPolicyResourceStateDeleting' + ResourceState WebApplicationFirewallPolicyResourceState `json:"resourceState,omitempty"` +} diff --git a/services/network/mgmt/2019-07-01/network/natgateways.go b/services/network/mgmt/2019-07-01/network/natgateways.go new file mode 100644 index 000000000000..834037bf49f4 --- /dev/null +++ b/services/network/mgmt/2019-07-01/network/natgateways.go @@ -0,0 +1,581 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// NatGatewaysClient is the network Client +type NatGatewaysClient struct { + BaseClient +} + +// NewNatGatewaysClient creates an instance of the NatGatewaysClient client. +func NewNatGatewaysClient(subscriptionID string) NatGatewaysClient { + return NewNatGatewaysClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewNatGatewaysClientWithBaseURI creates an instance of the NatGatewaysClient client. +func NewNatGatewaysClientWithBaseURI(baseURI string, subscriptionID string) NatGatewaysClient { + return NatGatewaysClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates a nat gateway. +// Parameters: +// resourceGroupName - the name of the resource group. +// natGatewayName - the name of the nat gateway. +// parameters - parameters supplied to the create or update nat gateway operation. +func (client NatGatewaysClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, natGatewayName string, parameters NatGateway) (result NatGatewaysCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/NatGatewaysClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, natGatewayName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.NatGatewaysClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.NatGatewaysClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client NatGatewaysClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, natGatewayName string, parameters NatGateway) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "natGatewayName": autorest.Encode("path", natGatewayName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/natGateways/{natGatewayName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client NatGatewaysClient) CreateOrUpdateSender(req *http.Request) (future NatGatewaysCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client NatGatewaysClient) CreateOrUpdateResponder(resp *http.Response) (result NatGateway, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the specified nat gateway. +// Parameters: +// resourceGroupName - the name of the resource group. +// natGatewayName - the name of the nat gateway. +func (client NatGatewaysClient) Delete(ctx context.Context, resourceGroupName string, natGatewayName string) (result NatGatewaysDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/NatGatewaysClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, natGatewayName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.NatGatewaysClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.NatGatewaysClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client NatGatewaysClient) DeletePreparer(ctx context.Context, resourceGroupName string, natGatewayName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "natGatewayName": autorest.Encode("path", natGatewayName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/natGateways/{natGatewayName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client NatGatewaysClient) DeleteSender(req *http.Request) (future NatGatewaysDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client NatGatewaysClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets the specified nat gateway in a specified resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +// natGatewayName - the name of the nat gateway. +// expand - expands referenced resources. +func (client NatGatewaysClient) Get(ctx context.Context, resourceGroupName string, natGatewayName string, expand string) (result NatGateway, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/NatGatewaysClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, natGatewayName, expand) + if err != nil { + err = autorest.NewErrorWithError(err, "network.NatGatewaysClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.NatGatewaysClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.NatGatewaysClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client NatGatewaysClient) GetPreparer(ctx context.Context, resourceGroupName string, natGatewayName string, expand string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "natGatewayName": autorest.Encode("path", natGatewayName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(expand) > 0 { + queryParameters["$expand"] = autorest.Encode("query", expand) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/natGateways/{natGatewayName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client NatGatewaysClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client NatGatewaysClient) GetResponder(resp *http.Response) (result NatGateway, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets all nat gateways in a resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +func (client NatGatewaysClient) List(ctx context.Context, resourceGroupName string) (result NatGatewayListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/NatGatewaysClient.List") + defer func() { + sc := -1 + if result.nglr.Response.Response != nil { + sc = result.nglr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.NatGatewaysClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.nglr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.NatGatewaysClient", "List", resp, "Failure sending request") + return + } + + result.nglr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.NatGatewaysClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client NatGatewaysClient) ListPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/natGateways", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client NatGatewaysClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client NatGatewaysClient) ListResponder(resp *http.Response) (result NatGatewayListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client NatGatewaysClient) listNextResults(ctx context.Context, lastResults NatGatewayListResult) (result NatGatewayListResult, err error) { + req, err := lastResults.natGatewayListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.NatGatewaysClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.NatGatewaysClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.NatGatewaysClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client NatGatewaysClient) ListComplete(ctx context.Context, resourceGroupName string) (result NatGatewayListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/NatGatewaysClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName) + return +} + +// ListAll gets all the Nat Gateways in a subscription. +func (client NatGatewaysClient) ListAll(ctx context.Context) (result NatGatewayListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/NatGatewaysClient.ListAll") + defer func() { + sc := -1 + if result.nglr.Response.Response != nil { + sc = result.nglr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listAllNextResults + req, err := client.ListAllPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "network.NatGatewaysClient", "ListAll", nil, "Failure preparing request") + return + } + + resp, err := client.ListAllSender(req) + if err != nil { + result.nglr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.NatGatewaysClient", "ListAll", resp, "Failure sending request") + return + } + + result.nglr, err = client.ListAllResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.NatGatewaysClient", "ListAll", resp, "Failure responding to request") + } + + return +} + +// ListAllPreparer prepares the ListAll request. +func (client NatGatewaysClient) ListAllPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/natGateways", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListAllSender sends the ListAll request. The method will close the +// http.Response Body if it receives an error. +func (client NatGatewaysClient) ListAllSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListAllResponder handles the response to the ListAll request. The method always +// closes the http.Response Body. +func (client NatGatewaysClient) ListAllResponder(resp *http.Response) (result NatGatewayListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listAllNextResults retrieves the next set of results, if any. +func (client NatGatewaysClient) listAllNextResults(ctx context.Context, lastResults NatGatewayListResult) (result NatGatewayListResult, err error) { + req, err := lastResults.natGatewayListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.NatGatewaysClient", "listAllNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListAllSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.NatGatewaysClient", "listAllNextResults", resp, "Failure sending next results request") + } + result, err = client.ListAllResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.NatGatewaysClient", "listAllNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListAllComplete enumerates all values, automatically crossing page boundaries as required. +func (client NatGatewaysClient) ListAllComplete(ctx context.Context) (result NatGatewayListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/NatGatewaysClient.ListAll") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListAll(ctx) + return +} + +// UpdateTags updates nat gateway tags. +// Parameters: +// resourceGroupName - the name of the resource group. +// natGatewayName - the name of the nat gateway. +// parameters - parameters supplied to update nat gateway tags. +func (client NatGatewaysClient) UpdateTags(ctx context.Context, resourceGroupName string, natGatewayName string, parameters TagsObject) (result NatGateway, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/NatGatewaysClient.UpdateTags") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdateTagsPreparer(ctx, resourceGroupName, natGatewayName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.NatGatewaysClient", "UpdateTags", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateTagsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.NatGatewaysClient", "UpdateTags", resp, "Failure sending request") + return + } + + result, err = client.UpdateTagsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.NatGatewaysClient", "UpdateTags", resp, "Failure responding to request") + } + + return +} + +// UpdateTagsPreparer prepares the UpdateTags request. +func (client NatGatewaysClient) UpdateTagsPreparer(ctx context.Context, resourceGroupName string, natGatewayName string, parameters TagsObject) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "natGatewayName": autorest.Encode("path", natGatewayName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/natGateways/{natGatewayName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateTagsSender sends the UpdateTags request. The method will close the +// http.Response Body if it receives an error. +func (client NatGatewaysClient) UpdateTagsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// UpdateTagsResponder handles the response to the UpdateTags request. The method always +// closes the http.Response Body. +func (client NatGatewaysClient) UpdateTagsResponder(resp *http.Response) (result NatGateway, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/network/mgmt/2019-07-01/network/networkapi/interfaces.go b/services/network/mgmt/2019-07-01/network/networkapi/interfaces.go new file mode 100644 index 000000000000..7cf8795bd87e --- /dev/null +++ b/services/network/mgmt/2019-07-01/network/networkapi/interfaces.go @@ -0,0 +1,941 @@ +package networkapi + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/azure-sdk-for-go/services/network/mgmt/2019-07-01/network" +) + +// BaseClientAPI contains the set of methods on the BaseClient type. +type BaseClientAPI interface { + CheckDNSNameAvailability(ctx context.Context, location string, domainNameLabel string) (result network.DNSNameAvailabilityResult, err error) + SupportedSecurityProviders(ctx context.Context, resourceGroupName string, virtualWANName string) (result network.VirtualWanSecurityProviders, err error) +} + +var _ BaseClientAPI = (*network.BaseClient)(nil) + +// ApplicationGatewaysClientAPI contains the set of methods on the ApplicationGatewaysClient type. +type ApplicationGatewaysClientAPI interface { + BackendHealth(ctx context.Context, resourceGroupName string, applicationGatewayName string, expand string) (result network.ApplicationGatewaysBackendHealthFuture, err error) + BackendHealthOnDemand(ctx context.Context, resourceGroupName string, applicationGatewayName string, probeRequest network.ApplicationGatewayOnDemandProbe, expand string) (result network.ApplicationGatewaysBackendHealthOnDemandFuture, err error) + CreateOrUpdate(ctx context.Context, resourceGroupName string, applicationGatewayName string, parameters network.ApplicationGateway) (result network.ApplicationGatewaysCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, applicationGatewayName string) (result network.ApplicationGatewaysDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, applicationGatewayName string) (result network.ApplicationGateway, err error) + GetSslPredefinedPolicy(ctx context.Context, predefinedPolicyName string) (result network.ApplicationGatewaySslPredefinedPolicy, err error) + List(ctx context.Context, resourceGroupName string) (result network.ApplicationGatewayListResultPage, err error) + ListAll(ctx context.Context) (result network.ApplicationGatewayListResultPage, err error) + ListAvailableRequestHeaders(ctx context.Context) (result network.ListString, err error) + ListAvailableResponseHeaders(ctx context.Context) (result network.ListString, err error) + ListAvailableServerVariables(ctx context.Context) (result network.ListString, err error) + ListAvailableSslOptions(ctx context.Context) (result network.ApplicationGatewayAvailableSslOptions, err error) + ListAvailableSslPredefinedPolicies(ctx context.Context) (result network.ApplicationGatewayAvailableSslPredefinedPoliciesPage, err error) + ListAvailableWafRuleSets(ctx context.Context) (result network.ApplicationGatewayAvailableWafRuleSetsResult, err error) + Start(ctx context.Context, resourceGroupName string, applicationGatewayName string) (result network.ApplicationGatewaysStartFuture, err error) + Stop(ctx context.Context, resourceGroupName string, applicationGatewayName string) (result network.ApplicationGatewaysStopFuture, err error) + UpdateTags(ctx context.Context, resourceGroupName string, applicationGatewayName string, parameters network.TagsObject) (result network.ApplicationGatewaysUpdateTagsFuture, err error) +} + +var _ ApplicationGatewaysClientAPI = (*network.ApplicationGatewaysClient)(nil) + +// ApplicationSecurityGroupsClientAPI contains the set of methods on the ApplicationSecurityGroupsClient type. +type ApplicationSecurityGroupsClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, applicationSecurityGroupName string, parameters network.ApplicationSecurityGroup) (result network.ApplicationSecurityGroupsCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, applicationSecurityGroupName string) (result network.ApplicationSecurityGroupsDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, applicationSecurityGroupName string) (result network.ApplicationSecurityGroup, err error) + List(ctx context.Context, resourceGroupName string) (result network.ApplicationSecurityGroupListResultPage, err error) + ListAll(ctx context.Context) (result network.ApplicationSecurityGroupListResultPage, err error) + UpdateTags(ctx context.Context, resourceGroupName string, applicationSecurityGroupName string, parameters network.TagsObject) (result network.ApplicationSecurityGroupsUpdateTagsFuture, err error) +} + +var _ ApplicationSecurityGroupsClientAPI = (*network.ApplicationSecurityGroupsClient)(nil) + +// AvailableDelegationsClientAPI contains the set of methods on the AvailableDelegationsClient type. +type AvailableDelegationsClientAPI interface { + List(ctx context.Context, location string) (result network.AvailableDelegationsResultPage, err error) +} + +var _ AvailableDelegationsClientAPI = (*network.AvailableDelegationsClient)(nil) + +// AvailableResourceGroupDelegationsClientAPI contains the set of methods on the AvailableResourceGroupDelegationsClient type. +type AvailableResourceGroupDelegationsClientAPI interface { + List(ctx context.Context, location string, resourceGroupName string) (result network.AvailableDelegationsResultPage, err error) +} + +var _ AvailableResourceGroupDelegationsClientAPI = (*network.AvailableResourceGroupDelegationsClient)(nil) + +// AzureFirewallsClientAPI contains the set of methods on the AzureFirewallsClient type. +type AzureFirewallsClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, azureFirewallName string, parameters network.AzureFirewall) (result network.AzureFirewallsCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, azureFirewallName string) (result network.AzureFirewallsDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, azureFirewallName string) (result network.AzureFirewall, err error) + List(ctx context.Context, resourceGroupName string) (result network.AzureFirewallListResultPage, err error) + ListAll(ctx context.Context) (result network.AzureFirewallListResultPage, err error) + UpdateTags(ctx context.Context, resourceGroupName string, azureFirewallName string, parameters network.AzureFirewall) (result network.AzureFirewall, err error) +} + +var _ AzureFirewallsClientAPI = (*network.AzureFirewallsClient)(nil) + +// AzureFirewallFqdnTagsClientAPI contains the set of methods on the AzureFirewallFqdnTagsClient type. +type AzureFirewallFqdnTagsClientAPI interface { + ListAll(ctx context.Context) (result network.AzureFirewallFqdnTagListResultPage, err error) +} + +var _ AzureFirewallFqdnTagsClientAPI = (*network.AzureFirewallFqdnTagsClient)(nil) + +// BastionHostsClientAPI contains the set of methods on the BastionHostsClient type. +type BastionHostsClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, bastionHostName string, parameters network.BastionHost) (result network.BastionHostsCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, bastionHostName string) (result network.BastionHostsDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, bastionHostName string) (result network.BastionHost, err error) + List(ctx context.Context) (result network.BastionHostListResultPage, err error) + ListByResourceGroup(ctx context.Context, resourceGroupName string) (result network.BastionHostListResultPage, err error) +} + +var _ BastionHostsClientAPI = (*network.BastionHostsClient)(nil) + +// DdosCustomPoliciesClientAPI contains the set of methods on the DdosCustomPoliciesClient type. +type DdosCustomPoliciesClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, ddosCustomPolicyName string, parameters network.DdosCustomPolicy) (result network.DdosCustomPoliciesCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, ddosCustomPolicyName string) (result network.DdosCustomPoliciesDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, ddosCustomPolicyName string) (result network.DdosCustomPolicy, err error) + UpdateTags(ctx context.Context, resourceGroupName string, ddosCustomPolicyName string, parameters network.TagsObject) (result network.DdosCustomPoliciesUpdateTagsFuture, err error) +} + +var _ DdosCustomPoliciesClientAPI = (*network.DdosCustomPoliciesClient)(nil) + +// DdosProtectionPlansClientAPI contains the set of methods on the DdosProtectionPlansClient type. +type DdosProtectionPlansClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, ddosProtectionPlanName string, parameters network.DdosProtectionPlan) (result network.DdosProtectionPlansCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, ddosProtectionPlanName string) (result network.DdosProtectionPlansDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, ddosProtectionPlanName string) (result network.DdosProtectionPlan, err error) + List(ctx context.Context) (result network.DdosProtectionPlanListResultPage, err error) + ListByResourceGroup(ctx context.Context, resourceGroupName string) (result network.DdosProtectionPlanListResultPage, err error) + UpdateTags(ctx context.Context, resourceGroupName string, ddosProtectionPlanName string, parameters network.TagsObject) (result network.DdosProtectionPlansUpdateTagsFuture, err error) +} + +var _ DdosProtectionPlansClientAPI = (*network.DdosProtectionPlansClient)(nil) + +// AvailableEndpointServicesClientAPI contains the set of methods on the AvailableEndpointServicesClient type. +type AvailableEndpointServicesClientAPI interface { + List(ctx context.Context, location string) (result network.EndpointServicesListResultPage, err error) +} + +var _ AvailableEndpointServicesClientAPI = (*network.AvailableEndpointServicesClient)(nil) + +// ExpressRouteCircuitAuthorizationsClientAPI contains the set of methods on the ExpressRouteCircuitAuthorizationsClient type. +type ExpressRouteCircuitAuthorizationsClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, circuitName string, authorizationName string, authorizationParameters network.ExpressRouteCircuitAuthorization) (result network.ExpressRouteCircuitAuthorizationsCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, circuitName string, authorizationName string) (result network.ExpressRouteCircuitAuthorizationsDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, circuitName string, authorizationName string) (result network.ExpressRouteCircuitAuthorization, err error) + List(ctx context.Context, resourceGroupName string, circuitName string) (result network.AuthorizationListResultPage, err error) +} + +var _ ExpressRouteCircuitAuthorizationsClientAPI = (*network.ExpressRouteCircuitAuthorizationsClient)(nil) + +// ExpressRouteCircuitPeeringsClientAPI contains the set of methods on the ExpressRouteCircuitPeeringsClient type. +type ExpressRouteCircuitPeeringsClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, circuitName string, peeringName string, peeringParameters network.ExpressRouteCircuitPeering) (result network.ExpressRouteCircuitPeeringsCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, circuitName string, peeringName string) (result network.ExpressRouteCircuitPeeringsDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, circuitName string, peeringName string) (result network.ExpressRouteCircuitPeering, err error) + List(ctx context.Context, resourceGroupName string, circuitName string) (result network.ExpressRouteCircuitPeeringListResultPage, err error) +} + +var _ ExpressRouteCircuitPeeringsClientAPI = (*network.ExpressRouteCircuitPeeringsClient)(nil) + +// ExpressRouteCircuitConnectionsClientAPI contains the set of methods on the ExpressRouteCircuitConnectionsClient type. +type ExpressRouteCircuitConnectionsClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, circuitName string, peeringName string, connectionName string, expressRouteCircuitConnectionParameters network.ExpressRouteCircuitConnection) (result network.ExpressRouteCircuitConnectionsCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, circuitName string, peeringName string, connectionName string) (result network.ExpressRouteCircuitConnectionsDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, circuitName string, peeringName string, connectionName string) (result network.ExpressRouteCircuitConnection, err error) + List(ctx context.Context, resourceGroupName string, circuitName string, peeringName string) (result network.ExpressRouteCircuitConnectionListResultPage, err error) +} + +var _ ExpressRouteCircuitConnectionsClientAPI = (*network.ExpressRouteCircuitConnectionsClient)(nil) + +// PeerExpressRouteCircuitConnectionsClientAPI contains the set of methods on the PeerExpressRouteCircuitConnectionsClient type. +type PeerExpressRouteCircuitConnectionsClientAPI interface { + Get(ctx context.Context, resourceGroupName string, circuitName string, peeringName string, connectionName string) (result network.PeerExpressRouteCircuitConnection, err error) + List(ctx context.Context, resourceGroupName string, circuitName string, peeringName string) (result network.PeerExpressRouteCircuitConnectionListResultPage, err error) +} + +var _ PeerExpressRouteCircuitConnectionsClientAPI = (*network.PeerExpressRouteCircuitConnectionsClient)(nil) + +// ExpressRouteCircuitsClientAPI contains the set of methods on the ExpressRouteCircuitsClient type. +type ExpressRouteCircuitsClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, circuitName string, parameters network.ExpressRouteCircuit) (result network.ExpressRouteCircuitsCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, circuitName string) (result network.ExpressRouteCircuitsDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, circuitName string) (result network.ExpressRouteCircuit, err error) + GetPeeringStats(ctx context.Context, resourceGroupName string, circuitName string, peeringName string) (result network.ExpressRouteCircuitStats, err error) + GetStats(ctx context.Context, resourceGroupName string, circuitName string) (result network.ExpressRouteCircuitStats, err error) + List(ctx context.Context, resourceGroupName string) (result network.ExpressRouteCircuitListResultPage, err error) + ListAll(ctx context.Context) (result network.ExpressRouteCircuitListResultPage, err error) + ListArpTable(ctx context.Context, resourceGroupName string, circuitName string, peeringName string, devicePath string) (result network.ExpressRouteCircuitsListArpTableFuture, err error) + ListRoutesTable(ctx context.Context, resourceGroupName string, circuitName string, peeringName string, devicePath string) (result network.ExpressRouteCircuitsListRoutesTableFuture, err error) + ListRoutesTableSummary(ctx context.Context, resourceGroupName string, circuitName string, peeringName string, devicePath string) (result network.ExpressRouteCircuitsListRoutesTableSummaryFuture, err error) + UpdateTags(ctx context.Context, resourceGroupName string, circuitName string, parameters network.TagsObject) (result network.ExpressRouteCircuitsUpdateTagsFuture, err error) +} + +var _ ExpressRouteCircuitsClientAPI = (*network.ExpressRouteCircuitsClient)(nil) + +// ExpressRouteServiceProvidersClientAPI contains the set of methods on the ExpressRouteServiceProvidersClient type. +type ExpressRouteServiceProvidersClientAPI interface { + List(ctx context.Context) (result network.ExpressRouteServiceProviderListResultPage, err error) +} + +var _ ExpressRouteServiceProvidersClientAPI = (*network.ExpressRouteServiceProvidersClient)(nil) + +// ExpressRouteCrossConnectionsClientAPI contains the set of methods on the ExpressRouteCrossConnectionsClient type. +type ExpressRouteCrossConnectionsClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, crossConnectionName string, parameters network.ExpressRouteCrossConnection) (result network.ExpressRouteCrossConnectionsCreateOrUpdateFuture, err error) + Get(ctx context.Context, resourceGroupName string, crossConnectionName string) (result network.ExpressRouteCrossConnection, err error) + List(ctx context.Context) (result network.ExpressRouteCrossConnectionListResultPage, err error) + ListArpTable(ctx context.Context, resourceGroupName string, crossConnectionName string, peeringName string, devicePath string) (result network.ExpressRouteCrossConnectionsListArpTableFuture, err error) + ListByResourceGroup(ctx context.Context, resourceGroupName string) (result network.ExpressRouteCrossConnectionListResultPage, err error) + ListRoutesTable(ctx context.Context, resourceGroupName string, crossConnectionName string, peeringName string, devicePath string) (result network.ExpressRouteCrossConnectionsListRoutesTableFuture, err error) + ListRoutesTableSummary(ctx context.Context, resourceGroupName string, crossConnectionName string, peeringName string, devicePath string) (result network.ExpressRouteCrossConnectionsListRoutesTableSummaryFuture, err error) + UpdateTags(ctx context.Context, resourceGroupName string, crossConnectionName string, crossConnectionParameters network.TagsObject) (result network.ExpressRouteCrossConnectionsUpdateTagsFuture, err error) +} + +var _ ExpressRouteCrossConnectionsClientAPI = (*network.ExpressRouteCrossConnectionsClient)(nil) + +// ExpressRouteCrossConnectionPeeringsClientAPI contains the set of methods on the ExpressRouteCrossConnectionPeeringsClient type. +type ExpressRouteCrossConnectionPeeringsClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, crossConnectionName string, peeringName string, peeringParameters network.ExpressRouteCrossConnectionPeering) (result network.ExpressRouteCrossConnectionPeeringsCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, crossConnectionName string, peeringName string) (result network.ExpressRouteCrossConnectionPeeringsDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, crossConnectionName string, peeringName string) (result network.ExpressRouteCrossConnectionPeering, err error) + List(ctx context.Context, resourceGroupName string, crossConnectionName string) (result network.ExpressRouteCrossConnectionPeeringListPage, err error) +} + +var _ ExpressRouteCrossConnectionPeeringsClientAPI = (*network.ExpressRouteCrossConnectionPeeringsClient)(nil) + +// ExpressRouteGatewaysClientAPI contains the set of methods on the ExpressRouteGatewaysClient type. +type ExpressRouteGatewaysClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, expressRouteGatewayName string, putExpressRouteGatewayParameters network.ExpressRouteGateway) (result network.ExpressRouteGatewaysCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, expressRouteGatewayName string) (result network.ExpressRouteGatewaysDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, expressRouteGatewayName string) (result network.ExpressRouteGateway, err error) + ListByResourceGroup(ctx context.Context, resourceGroupName string) (result network.ExpressRouteGatewayList, err error) + ListBySubscription(ctx context.Context) (result network.ExpressRouteGatewayList, err error) +} + +var _ ExpressRouteGatewaysClientAPI = (*network.ExpressRouteGatewaysClient)(nil) + +// ExpressRouteConnectionsClientAPI contains the set of methods on the ExpressRouteConnectionsClient type. +type ExpressRouteConnectionsClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, expressRouteGatewayName string, connectionName string, putExpressRouteConnectionParameters network.ExpressRouteConnection) (result network.ExpressRouteConnectionsCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, expressRouteGatewayName string, connectionName string) (result network.ExpressRouteConnectionsDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, expressRouteGatewayName string, connectionName string) (result network.ExpressRouteConnection, err error) + List(ctx context.Context, resourceGroupName string, expressRouteGatewayName string) (result network.ExpressRouteConnectionList, err error) +} + +var _ ExpressRouteConnectionsClientAPI = (*network.ExpressRouteConnectionsClient)(nil) + +// ExpressRoutePortsLocationsClientAPI contains the set of methods on the ExpressRoutePortsLocationsClient type. +type ExpressRoutePortsLocationsClientAPI interface { + Get(ctx context.Context, locationName string) (result network.ExpressRoutePortsLocation, err error) + List(ctx context.Context) (result network.ExpressRoutePortsLocationListResultPage, err error) +} + +var _ ExpressRoutePortsLocationsClientAPI = (*network.ExpressRoutePortsLocationsClient)(nil) + +// ExpressRoutePortsClientAPI contains the set of methods on the ExpressRoutePortsClient type. +type ExpressRoutePortsClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, expressRoutePortName string, parameters network.ExpressRoutePort) (result network.ExpressRoutePortsCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, expressRoutePortName string) (result network.ExpressRoutePortsDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, expressRoutePortName string) (result network.ExpressRoutePort, err error) + List(ctx context.Context) (result network.ExpressRoutePortListResultPage, err error) + ListByResourceGroup(ctx context.Context, resourceGroupName string) (result network.ExpressRoutePortListResultPage, err error) + UpdateTags(ctx context.Context, resourceGroupName string, expressRoutePortName string, parameters network.TagsObject) (result network.ExpressRoutePortsUpdateTagsFuture, err error) +} + +var _ ExpressRoutePortsClientAPI = (*network.ExpressRoutePortsClient)(nil) + +// ExpressRouteLinksClientAPI contains the set of methods on the ExpressRouteLinksClient type. +type ExpressRouteLinksClientAPI interface { + Get(ctx context.Context, resourceGroupName string, expressRoutePortName string, linkName string) (result network.ExpressRouteLink, err error) + List(ctx context.Context, resourceGroupName string, expressRoutePortName string) (result network.ExpressRouteLinkListResultPage, err error) +} + +var _ ExpressRouteLinksClientAPI = (*network.ExpressRouteLinksClient)(nil) + +// FirewallPoliciesClientAPI contains the set of methods on the FirewallPoliciesClient type. +type FirewallPoliciesClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, firewallPolicyName string, parameters network.FirewallPolicy) (result network.FirewallPoliciesCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, firewallPolicyName string) (result network.FirewallPoliciesDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, firewallPolicyName string, expand string) (result network.FirewallPolicy, err error) + List(ctx context.Context, resourceGroupName string) (result network.FirewallPolicyListResultPage, err error) + ListAll(ctx context.Context) (result network.FirewallPolicyListResultPage, err error) + UpdateTags(ctx context.Context, resourceGroupName string, firewallPolicyName string, firewallPolicyParameters network.TagsObject) (result network.FirewallPolicy, err error) +} + +var _ FirewallPoliciesClientAPI = (*network.FirewallPoliciesClient)(nil) + +// FirewallPolicyRuleGroupsClientAPI contains the set of methods on the FirewallPolicyRuleGroupsClient type. +type FirewallPolicyRuleGroupsClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, firewallPolicyName string, ruleGroupName string, parameters network.FirewallPolicyRuleGroup) (result network.FirewallPolicyRuleGroupsCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, firewallPolicyName string, ruleGroupName string) (result network.FirewallPolicyRuleGroupsDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, firewallPolicyName string, ruleGroupName string) (result network.FirewallPolicyRuleGroup, err error) + List(ctx context.Context, resourceGroupName string, firewallPolicyName string) (result network.FirewallPolicyRuleGroupListResultPage, err error) +} + +var _ FirewallPolicyRuleGroupsClientAPI = (*network.FirewallPolicyRuleGroupsClient)(nil) + +// LoadBalancersClientAPI contains the set of methods on the LoadBalancersClient type. +type LoadBalancersClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, loadBalancerName string, parameters network.LoadBalancer) (result network.LoadBalancersCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, loadBalancerName string) (result network.LoadBalancersDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, loadBalancerName string, expand string) (result network.LoadBalancer, err error) + List(ctx context.Context, resourceGroupName string) (result network.LoadBalancerListResultPage, err error) + ListAll(ctx context.Context) (result network.LoadBalancerListResultPage, err error) + UpdateTags(ctx context.Context, resourceGroupName string, loadBalancerName string, parameters network.TagsObject) (result network.LoadBalancersUpdateTagsFuture, err error) +} + +var _ LoadBalancersClientAPI = (*network.LoadBalancersClient)(nil) + +// LoadBalancerBackendAddressPoolsClientAPI contains the set of methods on the LoadBalancerBackendAddressPoolsClient type. +type LoadBalancerBackendAddressPoolsClientAPI interface { + Get(ctx context.Context, resourceGroupName string, loadBalancerName string, backendAddressPoolName string) (result network.BackendAddressPool, err error) + List(ctx context.Context, resourceGroupName string, loadBalancerName string) (result network.LoadBalancerBackendAddressPoolListResultPage, err error) +} + +var _ LoadBalancerBackendAddressPoolsClientAPI = (*network.LoadBalancerBackendAddressPoolsClient)(nil) + +// LoadBalancerFrontendIPConfigurationsClientAPI contains the set of methods on the LoadBalancerFrontendIPConfigurationsClient type. +type LoadBalancerFrontendIPConfigurationsClientAPI interface { + Get(ctx context.Context, resourceGroupName string, loadBalancerName string, frontendIPConfigurationName string) (result network.FrontendIPConfiguration, err error) + List(ctx context.Context, resourceGroupName string, loadBalancerName string) (result network.LoadBalancerFrontendIPConfigurationListResultPage, err error) +} + +var _ LoadBalancerFrontendIPConfigurationsClientAPI = (*network.LoadBalancerFrontendIPConfigurationsClient)(nil) + +// InboundNatRulesClientAPI contains the set of methods on the InboundNatRulesClient type. +type InboundNatRulesClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, loadBalancerName string, inboundNatRuleName string, inboundNatRuleParameters network.InboundNatRule) (result network.InboundNatRulesCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, loadBalancerName string, inboundNatRuleName string) (result network.InboundNatRulesDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, loadBalancerName string, inboundNatRuleName string, expand string) (result network.InboundNatRule, err error) + List(ctx context.Context, resourceGroupName string, loadBalancerName string) (result network.InboundNatRuleListResultPage, err error) +} + +var _ InboundNatRulesClientAPI = (*network.InboundNatRulesClient)(nil) + +// LoadBalancerLoadBalancingRulesClientAPI contains the set of methods on the LoadBalancerLoadBalancingRulesClient type. +type LoadBalancerLoadBalancingRulesClientAPI interface { + Get(ctx context.Context, resourceGroupName string, loadBalancerName string, loadBalancingRuleName string) (result network.LoadBalancingRule, err error) + List(ctx context.Context, resourceGroupName string, loadBalancerName string) (result network.LoadBalancerLoadBalancingRuleListResultPage, err error) +} + +var _ LoadBalancerLoadBalancingRulesClientAPI = (*network.LoadBalancerLoadBalancingRulesClient)(nil) + +// LoadBalancerOutboundRulesClientAPI contains the set of methods on the LoadBalancerOutboundRulesClient type. +type LoadBalancerOutboundRulesClientAPI interface { + Get(ctx context.Context, resourceGroupName string, loadBalancerName string, outboundRuleName string) (result network.OutboundRule, err error) + List(ctx context.Context, resourceGroupName string, loadBalancerName string) (result network.LoadBalancerOutboundRuleListResultPage, err error) +} + +var _ LoadBalancerOutboundRulesClientAPI = (*network.LoadBalancerOutboundRulesClient)(nil) + +// LoadBalancerNetworkInterfacesClientAPI contains the set of methods on the LoadBalancerNetworkInterfacesClient type. +type LoadBalancerNetworkInterfacesClientAPI interface { + List(ctx context.Context, resourceGroupName string, loadBalancerName string) (result network.InterfaceListResultPage, err error) +} + +var _ LoadBalancerNetworkInterfacesClientAPI = (*network.LoadBalancerNetworkInterfacesClient)(nil) + +// LoadBalancerProbesClientAPI contains the set of methods on the LoadBalancerProbesClient type. +type LoadBalancerProbesClientAPI interface { + Get(ctx context.Context, resourceGroupName string, loadBalancerName string, probeName string) (result network.Probe, err error) + List(ctx context.Context, resourceGroupName string, loadBalancerName string) (result network.LoadBalancerProbeListResultPage, err error) +} + +var _ LoadBalancerProbesClientAPI = (*network.LoadBalancerProbesClient)(nil) + +// NatGatewaysClientAPI contains the set of methods on the NatGatewaysClient type. +type NatGatewaysClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, natGatewayName string, parameters network.NatGateway) (result network.NatGatewaysCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, natGatewayName string) (result network.NatGatewaysDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, natGatewayName string, expand string) (result network.NatGateway, err error) + List(ctx context.Context, resourceGroupName string) (result network.NatGatewayListResultPage, err error) + ListAll(ctx context.Context) (result network.NatGatewayListResultPage, err error) + UpdateTags(ctx context.Context, resourceGroupName string, natGatewayName string, parameters network.TagsObject) (result network.NatGateway, err error) +} + +var _ NatGatewaysClientAPI = (*network.NatGatewaysClient)(nil) + +// InterfacesClientAPI contains the set of methods on the InterfacesClient type. +type InterfacesClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, networkInterfaceName string, parameters network.Interface) (result network.InterfacesCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, networkInterfaceName string) (result network.InterfacesDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, networkInterfaceName string, expand string) (result network.Interface, err error) + GetEffectiveRouteTable(ctx context.Context, resourceGroupName string, networkInterfaceName string) (result network.InterfacesGetEffectiveRouteTableFuture, err error) + GetVirtualMachineScaleSetIPConfiguration(ctx context.Context, resourceGroupName string, virtualMachineScaleSetName string, virtualmachineIndex string, networkInterfaceName string, IPConfigurationName string, expand string) (result network.InterfaceIPConfiguration, err error) + GetVirtualMachineScaleSetNetworkInterface(ctx context.Context, resourceGroupName string, virtualMachineScaleSetName string, virtualmachineIndex string, networkInterfaceName string, expand string) (result network.Interface, err error) + List(ctx context.Context, resourceGroupName string) (result network.InterfaceListResultPage, err error) + ListAll(ctx context.Context) (result network.InterfaceListResultPage, err error) + ListEffectiveNetworkSecurityGroups(ctx context.Context, resourceGroupName string, networkInterfaceName string) (result network.InterfacesListEffectiveNetworkSecurityGroupsFuture, err error) + ListVirtualMachineScaleSetIPConfigurations(ctx context.Context, resourceGroupName string, virtualMachineScaleSetName string, virtualmachineIndex string, networkInterfaceName string, expand string) (result network.InterfaceIPConfigurationListResultPage, err error) + ListVirtualMachineScaleSetNetworkInterfaces(ctx context.Context, resourceGroupName string, virtualMachineScaleSetName string) (result network.InterfaceListResultPage, err error) + ListVirtualMachineScaleSetVMNetworkInterfaces(ctx context.Context, resourceGroupName string, virtualMachineScaleSetName string, virtualmachineIndex string) (result network.InterfaceListResultPage, err error) + UpdateTags(ctx context.Context, resourceGroupName string, networkInterfaceName string, parameters network.TagsObject) (result network.InterfacesUpdateTagsFuture, err error) +} + +var _ InterfacesClientAPI = (*network.InterfacesClient)(nil) + +// InterfaceIPConfigurationsClientAPI contains the set of methods on the InterfaceIPConfigurationsClient type. +type InterfaceIPConfigurationsClientAPI interface { + Get(ctx context.Context, resourceGroupName string, networkInterfaceName string, IPConfigurationName string) (result network.InterfaceIPConfiguration, err error) + List(ctx context.Context, resourceGroupName string, networkInterfaceName string) (result network.InterfaceIPConfigurationListResultPage, err error) +} + +var _ InterfaceIPConfigurationsClientAPI = (*network.InterfaceIPConfigurationsClient)(nil) + +// InterfaceLoadBalancersClientAPI contains the set of methods on the InterfaceLoadBalancersClient type. +type InterfaceLoadBalancersClientAPI interface { + List(ctx context.Context, resourceGroupName string, networkInterfaceName string) (result network.InterfaceLoadBalancerListResultPage, err error) +} + +var _ InterfaceLoadBalancersClientAPI = (*network.InterfaceLoadBalancersClient)(nil) + +// InterfaceTapConfigurationsClientAPI contains the set of methods on the InterfaceTapConfigurationsClient type. +type InterfaceTapConfigurationsClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, networkInterfaceName string, tapConfigurationName string, tapConfigurationParameters network.InterfaceTapConfiguration) (result network.InterfaceTapConfigurationsCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, networkInterfaceName string, tapConfigurationName string) (result network.InterfaceTapConfigurationsDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, networkInterfaceName string, tapConfigurationName string) (result network.InterfaceTapConfiguration, err error) + List(ctx context.Context, resourceGroupName string, networkInterfaceName string) (result network.InterfaceTapConfigurationListResultPage, err error) +} + +var _ InterfaceTapConfigurationsClientAPI = (*network.InterfaceTapConfigurationsClient)(nil) + +// ProfilesClientAPI contains the set of methods on the ProfilesClient type. +type ProfilesClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, networkProfileName string, parameters network.Profile) (result network.Profile, err error) + Delete(ctx context.Context, resourceGroupName string, networkProfileName string) (result network.ProfilesDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, networkProfileName string, expand string) (result network.Profile, err error) + List(ctx context.Context, resourceGroupName string) (result network.ProfileListResultPage, err error) + ListAll(ctx context.Context) (result network.ProfileListResultPage, err error) + UpdateTags(ctx context.Context, resourceGroupName string, networkProfileName string, parameters network.TagsObject) (result network.Profile, err error) +} + +var _ ProfilesClientAPI = (*network.ProfilesClient)(nil) + +// SecurityGroupsClientAPI contains the set of methods on the SecurityGroupsClient type. +type SecurityGroupsClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, networkSecurityGroupName string, parameters network.SecurityGroup) (result network.SecurityGroupsCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, networkSecurityGroupName string) (result network.SecurityGroupsDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, networkSecurityGroupName string, expand string) (result network.SecurityGroup, err error) + List(ctx context.Context, resourceGroupName string) (result network.SecurityGroupListResultPage, err error) + ListAll(ctx context.Context) (result network.SecurityGroupListResultPage, err error) + UpdateTags(ctx context.Context, resourceGroupName string, networkSecurityGroupName string, parameters network.TagsObject) (result network.SecurityGroupsUpdateTagsFuture, err error) +} + +var _ SecurityGroupsClientAPI = (*network.SecurityGroupsClient)(nil) + +// SecurityRulesClientAPI contains the set of methods on the SecurityRulesClient type. +type SecurityRulesClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, networkSecurityGroupName string, securityRuleName string, securityRuleParameters network.SecurityRule) (result network.SecurityRulesCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, networkSecurityGroupName string, securityRuleName string) (result network.SecurityRulesDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, networkSecurityGroupName string, securityRuleName string) (result network.SecurityRule, err error) + List(ctx context.Context, resourceGroupName string, networkSecurityGroupName string) (result network.SecurityRuleListResultPage, err error) +} + +var _ SecurityRulesClientAPI = (*network.SecurityRulesClient)(nil) + +// DefaultSecurityRulesClientAPI contains the set of methods on the DefaultSecurityRulesClient type. +type DefaultSecurityRulesClientAPI interface { + Get(ctx context.Context, resourceGroupName string, networkSecurityGroupName string, defaultSecurityRuleName string) (result network.SecurityRule, err error) + List(ctx context.Context, resourceGroupName string, networkSecurityGroupName string) (result network.SecurityRuleListResultPage, err error) +} + +var _ DefaultSecurityRulesClientAPI = (*network.DefaultSecurityRulesClient)(nil) + +// WatchersClientAPI contains the set of methods on the WatchersClient type. +type WatchersClientAPI interface { + CheckConnectivity(ctx context.Context, resourceGroupName string, networkWatcherName string, parameters network.ConnectivityParameters) (result network.WatchersCheckConnectivityFuture, err error) + CreateOrUpdate(ctx context.Context, resourceGroupName string, networkWatcherName string, parameters network.Watcher) (result network.Watcher, err error) + Delete(ctx context.Context, resourceGroupName string, networkWatcherName string) (result network.WatchersDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, networkWatcherName string) (result network.Watcher, err error) + GetAzureReachabilityReport(ctx context.Context, resourceGroupName string, networkWatcherName string, parameters network.AzureReachabilityReportParameters) (result network.WatchersGetAzureReachabilityReportFuture, err error) + GetFlowLogStatus(ctx context.Context, resourceGroupName string, networkWatcherName string, parameters network.FlowLogStatusParameters) (result network.WatchersGetFlowLogStatusFuture, err error) + GetNetworkConfigurationDiagnostic(ctx context.Context, resourceGroupName string, networkWatcherName string, parameters network.ConfigurationDiagnosticParameters) (result network.WatchersGetNetworkConfigurationDiagnosticFuture, err error) + GetNextHop(ctx context.Context, resourceGroupName string, networkWatcherName string, parameters network.NextHopParameters) (result network.WatchersGetNextHopFuture, err error) + GetTopology(ctx context.Context, resourceGroupName string, networkWatcherName string, parameters network.TopologyParameters) (result network.Topology, err error) + GetTroubleshooting(ctx context.Context, resourceGroupName string, networkWatcherName string, parameters network.TroubleshootingParameters) (result network.WatchersGetTroubleshootingFuture, err error) + GetTroubleshootingResult(ctx context.Context, resourceGroupName string, networkWatcherName string, parameters network.QueryTroubleshootingParameters) (result network.WatchersGetTroubleshootingResultFuture, err error) + GetVMSecurityRules(ctx context.Context, resourceGroupName string, networkWatcherName string, parameters network.SecurityGroupViewParameters) (result network.WatchersGetVMSecurityRulesFuture, err error) + List(ctx context.Context, resourceGroupName string) (result network.WatcherListResult, err error) + ListAll(ctx context.Context) (result network.WatcherListResult, err error) + ListAvailableProviders(ctx context.Context, resourceGroupName string, networkWatcherName string, parameters network.AvailableProvidersListParameters) (result network.WatchersListAvailableProvidersFuture, err error) + SetFlowLogConfiguration(ctx context.Context, resourceGroupName string, networkWatcherName string, parameters network.FlowLogInformation) (result network.WatchersSetFlowLogConfigurationFuture, err error) + UpdateTags(ctx context.Context, resourceGroupName string, networkWatcherName string, parameters network.TagsObject) (result network.Watcher, err error) + VerifyIPFlow(ctx context.Context, resourceGroupName string, networkWatcherName string, parameters network.VerificationIPFlowParameters) (result network.WatchersVerifyIPFlowFuture, err error) +} + +var _ WatchersClientAPI = (*network.WatchersClient)(nil) + +// PacketCapturesClientAPI contains the set of methods on the PacketCapturesClient type. +type PacketCapturesClientAPI interface { + Create(ctx context.Context, resourceGroupName string, networkWatcherName string, packetCaptureName string, parameters network.PacketCapture) (result network.PacketCapturesCreateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, networkWatcherName string, packetCaptureName string) (result network.PacketCapturesDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, networkWatcherName string, packetCaptureName string) (result network.PacketCaptureResult, err error) + GetStatus(ctx context.Context, resourceGroupName string, networkWatcherName string, packetCaptureName string) (result network.PacketCapturesGetStatusFuture, err error) + List(ctx context.Context, resourceGroupName string, networkWatcherName string) (result network.PacketCaptureListResult, err error) + Stop(ctx context.Context, resourceGroupName string, networkWatcherName string, packetCaptureName string) (result network.PacketCapturesStopFuture, err error) +} + +var _ PacketCapturesClientAPI = (*network.PacketCapturesClient)(nil) + +// ConnectionMonitorsClientAPI contains the set of methods on the ConnectionMonitorsClient type. +type ConnectionMonitorsClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, networkWatcherName string, connectionMonitorName string, parameters network.ConnectionMonitor) (result network.ConnectionMonitorsCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, networkWatcherName string, connectionMonitorName string) (result network.ConnectionMonitorsDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, networkWatcherName string, connectionMonitorName string) (result network.ConnectionMonitorResult, err error) + List(ctx context.Context, resourceGroupName string, networkWatcherName string) (result network.ConnectionMonitorListResult, err error) + Query(ctx context.Context, resourceGroupName string, networkWatcherName string, connectionMonitorName string) (result network.ConnectionMonitorsQueryFuture, err error) + Start(ctx context.Context, resourceGroupName string, networkWatcherName string, connectionMonitorName string) (result network.ConnectionMonitorsStartFuture, err error) + Stop(ctx context.Context, resourceGroupName string, networkWatcherName string, connectionMonitorName string) (result network.ConnectionMonitorsStopFuture, err error) + UpdateTags(ctx context.Context, resourceGroupName string, networkWatcherName string, connectionMonitorName string, parameters network.TagsObject) (result network.ConnectionMonitorResult, err error) +} + +var _ ConnectionMonitorsClientAPI = (*network.ConnectionMonitorsClient)(nil) + +// OperationsClientAPI contains the set of methods on the OperationsClient type. +type OperationsClientAPI interface { + List(ctx context.Context) (result network.OperationListResultPage, err error) +} + +var _ OperationsClientAPI = (*network.OperationsClient)(nil) + +// PrivateEndpointsClientAPI contains the set of methods on the PrivateEndpointsClient type. +type PrivateEndpointsClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, privateEndpointName string, parameters network.PrivateEndpoint) (result network.PrivateEndpointsCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, privateEndpointName string) (result network.PrivateEndpointsDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, privateEndpointName string, expand string) (result network.PrivateEndpoint, err error) + List(ctx context.Context, resourceGroupName string) (result network.PrivateEndpointListResultPage, err error) + ListBySubscription(ctx context.Context) (result network.PrivateEndpointListResultPage, err error) +} + +var _ PrivateEndpointsClientAPI = (*network.PrivateEndpointsClient)(nil) + +// AvailablePrivateEndpointTypesClientAPI contains the set of methods on the AvailablePrivateEndpointTypesClient type. +type AvailablePrivateEndpointTypesClientAPI interface { + List(ctx context.Context, location string) (result network.AvailablePrivateEndpointTypesResultPage, err error) + ListByResourceGroup(ctx context.Context, location string, resourceGroupName string) (result network.AvailablePrivateEndpointTypesResultPage, err error) +} + +var _ AvailablePrivateEndpointTypesClientAPI = (*network.AvailablePrivateEndpointTypesClient)(nil) + +// PrivateLinkServicesClientAPI contains the set of methods on the PrivateLinkServicesClient type. +type PrivateLinkServicesClientAPI interface { + CheckPrivateLinkServiceVisibility(ctx context.Context, location string, parameters network.CheckPrivateLinkServiceVisibilityRequest) (result network.PrivateLinkServiceVisibility, err error) + CheckPrivateLinkServiceVisibilityByResourceGroup(ctx context.Context, location string, resourceGroupName string, parameters network.CheckPrivateLinkServiceVisibilityRequest) (result network.PrivateLinkServiceVisibility, err error) + CreateOrUpdate(ctx context.Context, resourceGroupName string, serviceName string, parameters network.PrivateLinkService) (result network.PrivateLinkServicesCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, serviceName string) (result network.PrivateLinkServicesDeleteFuture, err error) + DeletePrivateEndpointConnection(ctx context.Context, resourceGroupName string, serviceName string, peConnectionName string) (result network.PrivateLinkServicesDeletePrivateEndpointConnectionFuture, err error) + Get(ctx context.Context, resourceGroupName string, serviceName string, expand string) (result network.PrivateLinkService, err error) + List(ctx context.Context, resourceGroupName string) (result network.PrivateLinkServiceListResultPage, err error) + ListAutoApprovedPrivateLinkServices(ctx context.Context, location string) (result network.AutoApprovedPrivateLinkServicesResultPage, err error) + ListAutoApprovedPrivateLinkServicesByResourceGroup(ctx context.Context, location string, resourceGroupName string) (result network.AutoApprovedPrivateLinkServicesResultPage, err error) + ListBySubscription(ctx context.Context) (result network.PrivateLinkServiceListResultPage, err error) + UpdatePrivateEndpointConnection(ctx context.Context, resourceGroupName string, serviceName string, peConnectionName string, parameters network.PrivateEndpointConnection) (result network.PrivateEndpointConnection, err error) +} + +var _ PrivateLinkServicesClientAPI = (*network.PrivateLinkServicesClient)(nil) + +// PublicIPAddressesClientAPI contains the set of methods on the PublicIPAddressesClient type. +type PublicIPAddressesClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, publicIPAddressName string, parameters network.PublicIPAddress) (result network.PublicIPAddressesCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, publicIPAddressName string) (result network.PublicIPAddressesDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, publicIPAddressName string, expand string) (result network.PublicIPAddress, err error) + GetVirtualMachineScaleSetPublicIPAddress(ctx context.Context, resourceGroupName string, virtualMachineScaleSetName string, virtualmachineIndex string, networkInterfaceName string, IPConfigurationName string, publicIPAddressName string, expand string) (result network.PublicIPAddress, err error) + List(ctx context.Context, resourceGroupName string) (result network.PublicIPAddressListResultPage, err error) + ListAll(ctx context.Context) (result network.PublicIPAddressListResultPage, err error) + ListVirtualMachineScaleSetPublicIPAddresses(ctx context.Context, resourceGroupName string, virtualMachineScaleSetName string) (result network.PublicIPAddressListResultPage, err error) + ListVirtualMachineScaleSetVMPublicIPAddresses(ctx context.Context, resourceGroupName string, virtualMachineScaleSetName string, virtualmachineIndex string, networkInterfaceName string, IPConfigurationName string) (result network.PublicIPAddressListResultPage, err error) + UpdateTags(ctx context.Context, resourceGroupName string, publicIPAddressName string, parameters network.TagsObject) (result network.PublicIPAddressesUpdateTagsFuture, err error) +} + +var _ PublicIPAddressesClientAPI = (*network.PublicIPAddressesClient)(nil) + +// PublicIPPrefixesClientAPI contains the set of methods on the PublicIPPrefixesClient type. +type PublicIPPrefixesClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, publicIPPrefixName string, parameters network.PublicIPPrefix) (result network.PublicIPPrefixesCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, publicIPPrefixName string) (result network.PublicIPPrefixesDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, publicIPPrefixName string, expand string) (result network.PublicIPPrefix, err error) + List(ctx context.Context, resourceGroupName string) (result network.PublicIPPrefixListResultPage, err error) + ListAll(ctx context.Context) (result network.PublicIPPrefixListResultPage, err error) + UpdateTags(ctx context.Context, resourceGroupName string, publicIPPrefixName string, parameters network.TagsObject) (result network.PublicIPPrefixesUpdateTagsFuture, err error) +} + +var _ PublicIPPrefixesClientAPI = (*network.PublicIPPrefixesClient)(nil) + +// RouteFiltersClientAPI contains the set of methods on the RouteFiltersClient type. +type RouteFiltersClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, routeFilterName string, routeFilterParameters network.RouteFilter) (result network.RouteFiltersCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, routeFilterName string) (result network.RouteFiltersDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, routeFilterName string, expand string) (result network.RouteFilter, err error) + List(ctx context.Context) (result network.RouteFilterListResultPage, err error) + ListByResourceGroup(ctx context.Context, resourceGroupName string) (result network.RouteFilterListResultPage, err error) + Update(ctx context.Context, resourceGroupName string, routeFilterName string, routeFilterParameters network.PatchRouteFilter) (result network.RouteFiltersUpdateFuture, err error) +} + +var _ RouteFiltersClientAPI = (*network.RouteFiltersClient)(nil) + +// RouteFilterRulesClientAPI contains the set of methods on the RouteFilterRulesClient type. +type RouteFilterRulesClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, routeFilterName string, ruleName string, routeFilterRuleParameters network.RouteFilterRule) (result network.RouteFilterRulesCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, routeFilterName string, ruleName string) (result network.RouteFilterRulesDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, routeFilterName string, ruleName string) (result network.RouteFilterRule, err error) + ListByRouteFilter(ctx context.Context, resourceGroupName string, routeFilterName string) (result network.RouteFilterRuleListResultPage, err error) + Update(ctx context.Context, resourceGroupName string, routeFilterName string, ruleName string, routeFilterRuleParameters network.PatchRouteFilterRule) (result network.RouteFilterRulesUpdateFuture, err error) +} + +var _ RouteFilterRulesClientAPI = (*network.RouteFilterRulesClient)(nil) + +// RouteTablesClientAPI contains the set of methods on the RouteTablesClient type. +type RouteTablesClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, routeTableName string, parameters network.RouteTable) (result network.RouteTablesCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, routeTableName string) (result network.RouteTablesDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, routeTableName string, expand string) (result network.RouteTable, err error) + List(ctx context.Context, resourceGroupName string) (result network.RouteTableListResultPage, err error) + ListAll(ctx context.Context) (result network.RouteTableListResultPage, err error) + UpdateTags(ctx context.Context, resourceGroupName string, routeTableName string, parameters network.TagsObject) (result network.RouteTablesUpdateTagsFuture, err error) +} + +var _ RouteTablesClientAPI = (*network.RouteTablesClient)(nil) + +// RoutesClientAPI contains the set of methods on the RoutesClient type. +type RoutesClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, routeTableName string, routeName string, routeParameters network.Route) (result network.RoutesCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, routeTableName string, routeName string) (result network.RoutesDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, routeTableName string, routeName string) (result network.Route, err error) + List(ctx context.Context, resourceGroupName string, routeTableName string) (result network.RouteListResultPage, err error) +} + +var _ RoutesClientAPI = (*network.RoutesClient)(nil) + +// BgpServiceCommunitiesClientAPI contains the set of methods on the BgpServiceCommunitiesClient type. +type BgpServiceCommunitiesClientAPI interface { + List(ctx context.Context) (result network.BgpServiceCommunityListResultPage, err error) +} + +var _ BgpServiceCommunitiesClientAPI = (*network.BgpServiceCommunitiesClient)(nil) + +// ServiceEndpointPoliciesClientAPI contains the set of methods on the ServiceEndpointPoliciesClient type. +type ServiceEndpointPoliciesClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, serviceEndpointPolicyName string, parameters network.ServiceEndpointPolicy) (result network.ServiceEndpointPoliciesCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, serviceEndpointPolicyName string) (result network.ServiceEndpointPoliciesDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, serviceEndpointPolicyName string, expand string) (result network.ServiceEndpointPolicy, err error) + List(ctx context.Context) (result network.ServiceEndpointPolicyListResultPage, err error) + ListByResourceGroup(ctx context.Context, resourceGroupName string) (result network.ServiceEndpointPolicyListResultPage, err error) + Update(ctx context.Context, resourceGroupName string, serviceEndpointPolicyName string, parameters network.TagsObject) (result network.ServiceEndpointPoliciesUpdateFuture, err error) +} + +var _ ServiceEndpointPoliciesClientAPI = (*network.ServiceEndpointPoliciesClient)(nil) + +// ServiceEndpointPolicyDefinitionsClientAPI contains the set of methods on the ServiceEndpointPolicyDefinitionsClient type. +type ServiceEndpointPolicyDefinitionsClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, serviceEndpointPolicyName string, serviceEndpointPolicyDefinitionName string, serviceEndpointPolicyDefinitions network.ServiceEndpointPolicyDefinition) (result network.ServiceEndpointPolicyDefinitionsCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, serviceEndpointPolicyName string, serviceEndpointPolicyDefinitionName string) (result network.ServiceEndpointPolicyDefinitionsDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, serviceEndpointPolicyName string, serviceEndpointPolicyDefinitionName string) (result network.ServiceEndpointPolicyDefinition, err error) + ListByResourceGroup(ctx context.Context, resourceGroupName string, serviceEndpointPolicyName string) (result network.ServiceEndpointPolicyDefinitionListResultPage, err error) +} + +var _ ServiceEndpointPolicyDefinitionsClientAPI = (*network.ServiceEndpointPolicyDefinitionsClient)(nil) + +// ServiceTagsClientAPI contains the set of methods on the ServiceTagsClient type. +type ServiceTagsClientAPI interface { + List(ctx context.Context, location string) (result network.ServiceTagsListResult, err error) +} + +var _ ServiceTagsClientAPI = (*network.ServiceTagsClient)(nil) + +// UsagesClientAPI contains the set of methods on the UsagesClient type. +type UsagesClientAPI interface { + List(ctx context.Context, location string) (result network.UsagesListResultPage, err error) +} + +var _ UsagesClientAPI = (*network.UsagesClient)(nil) + +// VirtualNetworksClientAPI contains the set of methods on the VirtualNetworksClient type. +type VirtualNetworksClientAPI interface { + CheckIPAddressAvailability(ctx context.Context, resourceGroupName string, virtualNetworkName string, IPAddress string) (result network.IPAddressAvailabilityResult, err error) + CreateOrUpdate(ctx context.Context, resourceGroupName string, virtualNetworkName string, parameters network.VirtualNetwork) (result network.VirtualNetworksCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, virtualNetworkName string) (result network.VirtualNetworksDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, virtualNetworkName string, expand string) (result network.VirtualNetwork, err error) + List(ctx context.Context, resourceGroupName string) (result network.VirtualNetworkListResultPage, err error) + ListAll(ctx context.Context) (result network.VirtualNetworkListResultPage, err error) + ListUsage(ctx context.Context, resourceGroupName string, virtualNetworkName string) (result network.VirtualNetworkListUsageResultPage, err error) + UpdateTags(ctx context.Context, resourceGroupName string, virtualNetworkName string, parameters network.TagsObject) (result network.VirtualNetworksUpdateTagsFuture, err error) +} + +var _ VirtualNetworksClientAPI = (*network.VirtualNetworksClient)(nil) + +// SubnetsClientAPI contains the set of methods on the SubnetsClient type. +type SubnetsClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, virtualNetworkName string, subnetName string, subnetParameters network.Subnet) (result network.SubnetsCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, virtualNetworkName string, subnetName string) (result network.SubnetsDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, virtualNetworkName string, subnetName string, expand string) (result network.Subnet, err error) + List(ctx context.Context, resourceGroupName string, virtualNetworkName string) (result network.SubnetListResultPage, err error) + PrepareNetworkPolicies(ctx context.Context, resourceGroupName string, virtualNetworkName string, subnetName string, prepareNetworkPoliciesRequestParameters network.PrepareNetworkPoliciesRequest) (result network.SubnetsPrepareNetworkPoliciesFuture, err error) + UnprepareNetworkPolicies(ctx context.Context, resourceGroupName string, virtualNetworkName string, subnetName string, unprepareNetworkPoliciesRequestParameters network.UnprepareNetworkPoliciesRequest) (result network.SubnetsUnprepareNetworkPoliciesFuture, err error) +} + +var _ SubnetsClientAPI = (*network.SubnetsClient)(nil) + +// ResourceNavigationLinksClientAPI contains the set of methods on the ResourceNavigationLinksClient type. +type ResourceNavigationLinksClientAPI interface { + List(ctx context.Context, resourceGroupName string, virtualNetworkName string, subnetName string) (result network.ResourceNavigationLinksListResult, err error) +} + +var _ ResourceNavigationLinksClientAPI = (*network.ResourceNavigationLinksClient)(nil) + +// ServiceAssociationLinksClientAPI contains the set of methods on the ServiceAssociationLinksClient type. +type ServiceAssociationLinksClientAPI interface { + List(ctx context.Context, resourceGroupName string, virtualNetworkName string, subnetName string) (result network.ServiceAssociationLinksListResult, err error) +} + +var _ ServiceAssociationLinksClientAPI = (*network.ServiceAssociationLinksClient)(nil) + +// VirtualNetworkPeeringsClientAPI contains the set of methods on the VirtualNetworkPeeringsClient type. +type VirtualNetworkPeeringsClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, virtualNetworkName string, virtualNetworkPeeringName string, virtualNetworkPeeringParameters network.VirtualNetworkPeering) (result network.VirtualNetworkPeeringsCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, virtualNetworkName string, virtualNetworkPeeringName string) (result network.VirtualNetworkPeeringsDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, virtualNetworkName string, virtualNetworkPeeringName string) (result network.VirtualNetworkPeering, err error) + List(ctx context.Context, resourceGroupName string, virtualNetworkName string) (result network.VirtualNetworkPeeringListResultPage, err error) +} + +var _ VirtualNetworkPeeringsClientAPI = (*network.VirtualNetworkPeeringsClient)(nil) + +// VirtualNetworkGatewaysClientAPI contains the set of methods on the VirtualNetworkGatewaysClient type. +type VirtualNetworkGatewaysClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string, parameters network.VirtualNetworkGateway) (result network.VirtualNetworkGatewaysCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string) (result network.VirtualNetworkGatewaysDeleteFuture, err error) + Generatevpnclientpackage(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string, parameters network.VpnClientParameters) (result network.VirtualNetworkGatewaysGeneratevpnclientpackageFuture, err error) + GenerateVpnProfile(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string, parameters network.VpnClientParameters) (result network.VirtualNetworkGatewaysGenerateVpnProfileFuture, err error) + Get(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string) (result network.VirtualNetworkGateway, err error) + GetAdvertisedRoutes(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string, peer string) (result network.VirtualNetworkGatewaysGetAdvertisedRoutesFuture, err error) + GetBgpPeerStatus(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string, peer string) (result network.VirtualNetworkGatewaysGetBgpPeerStatusFuture, err error) + GetLearnedRoutes(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string) (result network.VirtualNetworkGatewaysGetLearnedRoutesFuture, err error) + GetVpnclientConnectionHealth(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string) (result network.VirtualNetworkGatewaysGetVpnclientConnectionHealthFuture, err error) + GetVpnclientIpsecParameters(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string) (result network.VirtualNetworkGatewaysGetVpnclientIpsecParametersFuture, err error) + GetVpnProfilePackageURL(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string) (result network.VirtualNetworkGatewaysGetVpnProfilePackageURLFuture, err error) + List(ctx context.Context, resourceGroupName string) (result network.VirtualNetworkGatewayListResultPage, err error) + ListConnections(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string) (result network.VirtualNetworkGatewayListConnectionsResultPage, err error) + Reset(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string, gatewayVip string) (result network.VirtualNetworkGatewaysResetFuture, err error) + ResetVpnClientSharedKey(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string) (result network.VirtualNetworkGatewaysResetVpnClientSharedKeyFuture, err error) + SetVpnclientIpsecParameters(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string, vpnclientIpsecParams network.VpnClientIPsecParameters) (result network.VirtualNetworkGatewaysSetVpnclientIpsecParametersFuture, err error) + StartPacketCapture(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string, parameters *network.VpnPacketCaptureStartParameters) (result network.VirtualNetworkGatewaysStartPacketCaptureFuture, err error) + StopPacketCapture(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string, parameters network.VpnPacketCaptureStopParameters) (result network.VirtualNetworkGatewaysStopPacketCaptureFuture, err error) + SupportedVpnDevices(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string) (result network.String, err error) + UpdateTags(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string, parameters network.TagsObject) (result network.VirtualNetworkGatewaysUpdateTagsFuture, err error) + VpnDeviceConfigurationScript(ctx context.Context, resourceGroupName string, virtualNetworkGatewayConnectionName string, parameters network.VpnDeviceScriptParameters) (result network.String, err error) +} + +var _ VirtualNetworkGatewaysClientAPI = (*network.VirtualNetworkGatewaysClient)(nil) + +// VirtualNetworkGatewayConnectionsClientAPI contains the set of methods on the VirtualNetworkGatewayConnectionsClient type. +type VirtualNetworkGatewayConnectionsClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, virtualNetworkGatewayConnectionName string, parameters network.VirtualNetworkGatewayConnection) (result network.VirtualNetworkGatewayConnectionsCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, virtualNetworkGatewayConnectionName string) (result network.VirtualNetworkGatewayConnectionsDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, virtualNetworkGatewayConnectionName string) (result network.VirtualNetworkGatewayConnection, err error) + GetSharedKey(ctx context.Context, resourceGroupName string, virtualNetworkGatewayConnectionName string) (result network.ConnectionSharedKey, err error) + List(ctx context.Context, resourceGroupName string) (result network.VirtualNetworkGatewayConnectionListResultPage, err error) + ResetSharedKey(ctx context.Context, resourceGroupName string, virtualNetworkGatewayConnectionName string, parameters network.ConnectionResetSharedKey) (result network.VirtualNetworkGatewayConnectionsResetSharedKeyFuture, err error) + SetSharedKey(ctx context.Context, resourceGroupName string, virtualNetworkGatewayConnectionName string, parameters network.ConnectionSharedKey) (result network.VirtualNetworkGatewayConnectionsSetSharedKeyFuture, err error) + StartPacketCapture(ctx context.Context, resourceGroupName string, virtualNetworkGatewayConnectionName string, parameters *network.VpnPacketCaptureStartParameters) (result network.VirtualNetworkGatewayConnectionsStartPacketCaptureFuture, err error) + StopPacketCapture(ctx context.Context, resourceGroupName string, virtualNetworkGatewayConnectionName string, parameters network.VpnPacketCaptureStopParameters) (result network.VirtualNetworkGatewayConnectionsStopPacketCaptureFuture, err error) + UpdateTags(ctx context.Context, resourceGroupName string, virtualNetworkGatewayConnectionName string, parameters network.TagsObject) (result network.VirtualNetworkGatewayConnectionsUpdateTagsFuture, err error) +} + +var _ VirtualNetworkGatewayConnectionsClientAPI = (*network.VirtualNetworkGatewayConnectionsClient)(nil) + +// LocalNetworkGatewaysClientAPI contains the set of methods on the LocalNetworkGatewaysClient type. +type LocalNetworkGatewaysClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, localNetworkGatewayName string, parameters network.LocalNetworkGateway) (result network.LocalNetworkGatewaysCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, localNetworkGatewayName string) (result network.LocalNetworkGatewaysDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, localNetworkGatewayName string) (result network.LocalNetworkGateway, err error) + List(ctx context.Context, resourceGroupName string) (result network.LocalNetworkGatewayListResultPage, err error) + UpdateTags(ctx context.Context, resourceGroupName string, localNetworkGatewayName string, parameters network.TagsObject) (result network.LocalNetworkGatewaysUpdateTagsFuture, err error) +} + +var _ LocalNetworkGatewaysClientAPI = (*network.LocalNetworkGatewaysClient)(nil) + +// VirtualNetworkTapsClientAPI contains the set of methods on the VirtualNetworkTapsClient type. +type VirtualNetworkTapsClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, tapName string, parameters network.VirtualNetworkTap) (result network.VirtualNetworkTapsCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, tapName string) (result network.VirtualNetworkTapsDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, tapName string) (result network.VirtualNetworkTap, err error) + ListAll(ctx context.Context) (result network.VirtualNetworkTapListResultPage, err error) + ListByResourceGroup(ctx context.Context, resourceGroupName string) (result network.VirtualNetworkTapListResultPage, err error) + UpdateTags(ctx context.Context, resourceGroupName string, tapName string, tapParameters network.TagsObject) (result network.VirtualNetworkTapsUpdateTagsFuture, err error) +} + +var _ VirtualNetworkTapsClientAPI = (*network.VirtualNetworkTapsClient)(nil) + +// VirtualRoutersClientAPI contains the set of methods on the VirtualRoutersClient type. +type VirtualRoutersClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, virtualRouterName string, parameters network.VirtualRouter) (result network.VirtualRoutersCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, virtualRouterName string) (result network.VirtualRoutersDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, virtualRouterName string, expand string) (result network.VirtualRouter, err error) + List(ctx context.Context) (result network.VirtualRouterListResultPage, err error) + ListByResourceGroup(ctx context.Context, resourceGroupName string) (result network.VirtualRouterListResultPage, err error) + Update(ctx context.Context, resourceGroupName string, virtualRouterName string, parameters network.TagsObject) (result network.VirtualRouter, err error) +} + +var _ VirtualRoutersClientAPI = (*network.VirtualRoutersClient)(nil) + +// VirtualRouterPeeringsClientAPI contains the set of methods on the VirtualRouterPeeringsClient type. +type VirtualRouterPeeringsClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, virtualRouterName string, peeringName string, parameters network.VirtualRouterPeering) (result network.VirtualRouterPeeringsCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, virtualRouterName string, peeringName string) (result network.VirtualRouterPeeringsDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, virtualRouterName string, peeringName string) (result network.VirtualRouterPeering, err error) + List(ctx context.Context, resourceGroupName string, virtualRouterName string) (result network.VirtualRouterPeeringListResultPage, err error) + Update(ctx context.Context, resourceGroupName string, virtualRouterName string, peeringName string, parameters network.VirtualRouterPeering) (result network.VirtualRouterPeering, err error) +} + +var _ VirtualRouterPeeringsClientAPI = (*network.VirtualRouterPeeringsClient)(nil) + +// VirtualWansClientAPI contains the set of methods on the VirtualWansClient type. +type VirtualWansClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, virtualWANName string, wANParameters network.VirtualWAN) (result network.VirtualWansCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, virtualWANName string) (result network.VirtualWansDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, virtualWANName string) (result network.VirtualWAN, err error) + List(ctx context.Context) (result network.ListVirtualWANsResultPage, err error) + ListByResourceGroup(ctx context.Context, resourceGroupName string) (result network.ListVirtualWANsResultPage, err error) + UpdateTags(ctx context.Context, resourceGroupName string, virtualWANName string, wANParameters network.TagsObject) (result network.VirtualWansUpdateTagsFuture, err error) +} + +var _ VirtualWansClientAPI = (*network.VirtualWansClient)(nil) + +// VpnSitesClientAPI contains the set of methods on the VpnSitesClient type. +type VpnSitesClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, vpnSiteName string, vpnSiteParameters network.VpnSite) (result network.VpnSitesCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, vpnSiteName string) (result network.VpnSitesDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, vpnSiteName string) (result network.VpnSite, err error) + List(ctx context.Context) (result network.ListVpnSitesResultPage, err error) + ListByResourceGroup(ctx context.Context, resourceGroupName string) (result network.ListVpnSitesResultPage, err error) + UpdateTags(ctx context.Context, resourceGroupName string, vpnSiteName string, vpnSiteParameters network.TagsObject) (result network.VpnSitesUpdateTagsFuture, err error) +} + +var _ VpnSitesClientAPI = (*network.VpnSitesClient)(nil) + +// VpnSiteLinksClientAPI contains the set of methods on the VpnSiteLinksClient type. +type VpnSiteLinksClientAPI interface { + Get(ctx context.Context, resourceGroupName string, vpnSiteName string, vpnSiteLinkName string) (result network.VpnSiteLink, err error) + ListByVpnSite(ctx context.Context, resourceGroupName string, vpnSiteName string) (result network.ListVpnSiteLinksResultPage, err error) +} + +var _ VpnSiteLinksClientAPI = (*network.VpnSiteLinksClient)(nil) + +// VpnSitesConfigurationClientAPI contains the set of methods on the VpnSitesConfigurationClient type. +type VpnSitesConfigurationClientAPI interface { + Download(ctx context.Context, resourceGroupName string, virtualWANName string, request network.GetVpnSitesConfigurationRequest) (result network.VpnSitesConfigurationDownloadFuture, err error) +} + +var _ VpnSitesConfigurationClientAPI = (*network.VpnSitesConfigurationClient)(nil) + +// VirtualHubsClientAPI contains the set of methods on the VirtualHubsClient type. +type VirtualHubsClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, virtualHubName string, virtualHubParameters network.VirtualHub) (result network.VirtualHubsCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, virtualHubName string) (result network.VirtualHubsDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, virtualHubName string) (result network.VirtualHub, err error) + List(ctx context.Context) (result network.ListVirtualHubsResultPage, err error) + ListByResourceGroup(ctx context.Context, resourceGroupName string) (result network.ListVirtualHubsResultPage, err error) + UpdateTags(ctx context.Context, resourceGroupName string, virtualHubName string, virtualHubParameters network.TagsObject) (result network.VirtualHubsUpdateTagsFuture, err error) +} + +var _ VirtualHubsClientAPI = (*network.VirtualHubsClient)(nil) + +// HubVirtualNetworkConnectionsClientAPI contains the set of methods on the HubVirtualNetworkConnectionsClient type. +type HubVirtualNetworkConnectionsClientAPI interface { + Get(ctx context.Context, resourceGroupName string, virtualHubName string, connectionName string) (result network.HubVirtualNetworkConnection, err error) + List(ctx context.Context, resourceGroupName string, virtualHubName string) (result network.ListHubVirtualNetworkConnectionsResultPage, err error) +} + +var _ HubVirtualNetworkConnectionsClientAPI = (*network.HubVirtualNetworkConnectionsClient)(nil) + +// VpnGatewaysClientAPI contains the set of methods on the VpnGatewaysClient type. +type VpnGatewaysClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, gatewayName string, vpnGatewayParameters network.VpnGateway) (result network.VpnGatewaysCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, gatewayName string) (result network.VpnGatewaysDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, gatewayName string) (result network.VpnGateway, err error) + List(ctx context.Context) (result network.ListVpnGatewaysResultPage, err error) + ListByResourceGroup(ctx context.Context, resourceGroupName string) (result network.ListVpnGatewaysResultPage, err error) + Reset(ctx context.Context, resourceGroupName string, gatewayName string) (result network.VpnGatewaysResetFuture, err error) + UpdateTags(ctx context.Context, resourceGroupName string, gatewayName string, vpnGatewayParameters network.TagsObject) (result network.VpnGatewaysUpdateTagsFuture, err error) +} + +var _ VpnGatewaysClientAPI = (*network.VpnGatewaysClient)(nil) + +// VpnConnectionsClientAPI contains the set of methods on the VpnConnectionsClient type. +type VpnConnectionsClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, gatewayName string, connectionName string, vpnConnectionParameters network.VpnConnection) (result network.VpnConnectionsCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, gatewayName string, connectionName string) (result network.VpnConnectionsDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, gatewayName string, connectionName string) (result network.VpnConnection, err error) + ListByVpnGateway(ctx context.Context, resourceGroupName string, gatewayName string) (result network.ListVpnConnectionsResultPage, err error) +} + +var _ VpnConnectionsClientAPI = (*network.VpnConnectionsClient)(nil) + +// VpnSiteLinkConnectionsClientAPI contains the set of methods on the VpnSiteLinkConnectionsClient type. +type VpnSiteLinkConnectionsClientAPI interface { + Get(ctx context.Context, resourceGroupName string, gatewayName string, connectionName string, linkConnectionName string) (result network.VpnSiteLinkConnection, err error) +} + +var _ VpnSiteLinkConnectionsClientAPI = (*network.VpnSiteLinkConnectionsClient)(nil) + +// VpnLinkConnectionsClientAPI contains the set of methods on the VpnLinkConnectionsClient type. +type VpnLinkConnectionsClientAPI interface { + ListByVpnConnection(ctx context.Context, resourceGroupName string, gatewayName string, connectionName string) (result network.ListVpnSiteLinkConnectionsResultPage, err error) +} + +var _ VpnLinkConnectionsClientAPI = (*network.VpnLinkConnectionsClient)(nil) + +// P2sVpnServerConfigurationsClientAPI contains the set of methods on the P2sVpnServerConfigurationsClient type. +type P2sVpnServerConfigurationsClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, virtualWanName string, p2SVpnServerConfigurationName string, p2SVpnServerConfigurationParameters network.P2SVpnServerConfiguration) (result network.P2sVpnServerConfigurationsCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, virtualWanName string, p2SVpnServerConfigurationName string) (result network.P2sVpnServerConfigurationsDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, virtualWanName string, p2SVpnServerConfigurationName string) (result network.P2SVpnServerConfiguration, err error) + ListByVirtualWan(ctx context.Context, resourceGroupName string, virtualWanName string) (result network.ListP2SVpnServerConfigurationsResultPage, err error) +} + +var _ P2sVpnServerConfigurationsClientAPI = (*network.P2sVpnServerConfigurationsClient)(nil) + +// P2sVpnGatewaysClientAPI contains the set of methods on the P2sVpnGatewaysClient type. +type P2sVpnGatewaysClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, gatewayName string, p2SVpnGatewayParameters network.P2SVpnGateway) (result network.P2sVpnGatewaysCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, gatewayName string) (result network.P2sVpnGatewaysDeleteFuture, err error) + GenerateVpnProfile(ctx context.Context, resourceGroupName string, gatewayName string, parameters network.P2SVpnProfileParameters) (result network.P2sVpnGatewaysGenerateVpnProfileFuture, err error) + Get(ctx context.Context, resourceGroupName string, gatewayName string) (result network.P2SVpnGateway, err error) + GetP2sVpnConnectionHealth(ctx context.Context, resourceGroupName string, gatewayName string) (result network.P2sVpnGatewaysGetP2sVpnConnectionHealthFuture, err error) + List(ctx context.Context) (result network.ListP2SVpnGatewaysResultPage, err error) + ListByResourceGroup(ctx context.Context, resourceGroupName string) (result network.ListP2SVpnGatewaysResultPage, err error) + UpdateTags(ctx context.Context, resourceGroupName string, gatewayName string, p2SVpnGatewayParameters network.TagsObject) (result network.P2sVpnGatewaysUpdateTagsFuture, err error) +} + +var _ P2sVpnGatewaysClientAPI = (*network.P2sVpnGatewaysClient)(nil) + +// WebApplicationFirewallPoliciesClientAPI contains the set of methods on the WebApplicationFirewallPoliciesClient type. +type WebApplicationFirewallPoliciesClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, policyName string, parameters network.WebApplicationFirewallPolicy) (result network.WebApplicationFirewallPolicy, err error) + Delete(ctx context.Context, resourceGroupName string, policyName string) (result network.WebApplicationFirewallPoliciesDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, policyName string) (result network.WebApplicationFirewallPolicy, err error) + List(ctx context.Context, resourceGroupName string) (result network.WebApplicationFirewallPolicyListResultPage, err error) + ListAll(ctx context.Context) (result network.WebApplicationFirewallPolicyListResultPage, err error) +} + +var _ WebApplicationFirewallPoliciesClientAPI = (*network.WebApplicationFirewallPoliciesClient)(nil) diff --git a/services/network/mgmt/2019-07-01/network/operations.go b/services/network/mgmt/2019-07-01/network/operations.go new file mode 100644 index 000000000000..8ab2f808e085 --- /dev/null +++ b/services/network/mgmt/2019-07-01/network/operations.go @@ -0,0 +1,147 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// OperationsClient is the network Client +type OperationsClient struct { + BaseClient +} + +// NewOperationsClient creates an instance of the OperationsClient client. +func NewOperationsClient(subscriptionID string) OperationsClient { + return NewOperationsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewOperationsClientWithBaseURI creates an instance of the OperationsClient client. +func NewOperationsClientWithBaseURI(baseURI string, subscriptionID string) OperationsClient { + return OperationsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// List lists all of the available Network Rest API operations. +func (client OperationsClient) List(ctx context.Context) (result OperationListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/OperationsClient.List") + defer func() { + sc := -1 + if result.olr.Response.Response != nil { + sc = result.olr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "network.OperationsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.olr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.OperationsClient", "List", resp, "Failure sending request") + return + } + + result.olr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.OperationsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client OperationsClient) ListPreparer(ctx context.Context) (*http.Request, error) { + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPath("/providers/Microsoft.Network/operations"), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client OperationsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client OperationsClient) ListResponder(resp *http.Response) (result OperationListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client OperationsClient) listNextResults(ctx context.Context, lastResults OperationListResult) (result OperationListResult, err error) { + req, err := lastResults.operationListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.OperationsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.OperationsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.OperationsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client OperationsClient) ListComplete(ctx context.Context) (result OperationListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/OperationsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx) + return +} diff --git a/services/network/mgmt/2019-07-01/network/p2svpngateways.go b/services/network/mgmt/2019-07-01/network/p2svpngateways.go new file mode 100644 index 000000000000..f7eaa1985de8 --- /dev/null +++ b/services/network/mgmt/2019-07-01/network/p2svpngateways.go @@ -0,0 +1,736 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// P2sVpnGatewaysClient is the network Client +type P2sVpnGatewaysClient struct { + BaseClient +} + +// NewP2sVpnGatewaysClient creates an instance of the P2sVpnGatewaysClient client. +func NewP2sVpnGatewaysClient(subscriptionID string) P2sVpnGatewaysClient { + return NewP2sVpnGatewaysClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewP2sVpnGatewaysClientWithBaseURI creates an instance of the P2sVpnGatewaysClient client. +func NewP2sVpnGatewaysClientWithBaseURI(baseURI string, subscriptionID string) P2sVpnGatewaysClient { + return P2sVpnGatewaysClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates a virtual wan p2s vpn gateway if it doesn't exist else updates the existing gateway. +// Parameters: +// resourceGroupName - the resource group name of the P2SVpnGateway. +// gatewayName - the name of the gateway. +// p2SVpnGatewayParameters - parameters supplied to create or Update a virtual wan p2s vpn gateway. +func (client P2sVpnGatewaysClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, gatewayName string, p2SVpnGatewayParameters P2SVpnGateway) (result P2sVpnGatewaysCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/P2sVpnGatewaysClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, gatewayName, p2SVpnGatewayParameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.P2sVpnGatewaysClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.P2sVpnGatewaysClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client P2sVpnGatewaysClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, gatewayName string, p2SVpnGatewayParameters P2SVpnGateway) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "gatewayName": autorest.Encode("path", gatewayName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + p2SVpnGatewayParameters.Etag = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/p2svpnGateways/{gatewayName}", pathParameters), + autorest.WithJSON(p2SVpnGatewayParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client P2sVpnGatewaysClient) CreateOrUpdateSender(req *http.Request) (future P2sVpnGatewaysCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client P2sVpnGatewaysClient) CreateOrUpdateResponder(resp *http.Response) (result P2SVpnGateway, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes a virtual wan p2s vpn gateway. +// Parameters: +// resourceGroupName - the resource group name of the P2SVpnGateway. +// gatewayName - the name of the gateway. +func (client P2sVpnGatewaysClient) Delete(ctx context.Context, resourceGroupName string, gatewayName string) (result P2sVpnGatewaysDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/P2sVpnGatewaysClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, gatewayName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.P2sVpnGatewaysClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.P2sVpnGatewaysClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client P2sVpnGatewaysClient) DeletePreparer(ctx context.Context, resourceGroupName string, gatewayName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "gatewayName": autorest.Encode("path", gatewayName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/p2svpnGateways/{gatewayName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client P2sVpnGatewaysClient) DeleteSender(req *http.Request) (future P2sVpnGatewaysDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client P2sVpnGatewaysClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// GenerateVpnProfile generates VPN profile for P2S client of the P2SVpnGateway in the specified resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +// gatewayName - the name of the P2SVpnGateway. +// parameters - parameters supplied to the generate P2SVpnGateway VPN client package operation. +func (client P2sVpnGatewaysClient) GenerateVpnProfile(ctx context.Context, resourceGroupName string, gatewayName string, parameters P2SVpnProfileParameters) (result P2sVpnGatewaysGenerateVpnProfileFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/P2sVpnGatewaysClient.GenerateVpnProfile") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GenerateVpnProfilePreparer(ctx, resourceGroupName, gatewayName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.P2sVpnGatewaysClient", "GenerateVpnProfile", nil, "Failure preparing request") + return + } + + result, err = client.GenerateVpnProfileSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.P2sVpnGatewaysClient", "GenerateVpnProfile", result.Response(), "Failure sending request") + return + } + + return +} + +// GenerateVpnProfilePreparer prepares the GenerateVpnProfile request. +func (client P2sVpnGatewaysClient) GenerateVpnProfilePreparer(ctx context.Context, resourceGroupName string, gatewayName string, parameters P2SVpnProfileParameters) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "gatewayName": autorest.Encode("path", gatewayName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/p2svpnGateways/{gatewayName}/generatevpnprofile", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GenerateVpnProfileSender sends the GenerateVpnProfile request. The method will close the +// http.Response Body if it receives an error. +func (client P2sVpnGatewaysClient) GenerateVpnProfileSender(req *http.Request) (future P2sVpnGatewaysGenerateVpnProfileFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// GenerateVpnProfileResponder handles the response to the GenerateVpnProfile request. The method always +// closes the http.Response Body. +func (client P2sVpnGatewaysClient) GenerateVpnProfileResponder(resp *http.Response) (result VpnProfileResponse, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Get retrieves the details of a virtual wan p2s vpn gateway. +// Parameters: +// resourceGroupName - the resource group name of the P2SVpnGateway. +// gatewayName - the name of the gateway. +func (client P2sVpnGatewaysClient) Get(ctx context.Context, resourceGroupName string, gatewayName string) (result P2SVpnGateway, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/P2sVpnGatewaysClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, gatewayName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.P2sVpnGatewaysClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.P2sVpnGatewaysClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.P2sVpnGatewaysClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client P2sVpnGatewaysClient) GetPreparer(ctx context.Context, resourceGroupName string, gatewayName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "gatewayName": autorest.Encode("path", gatewayName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/p2svpnGateways/{gatewayName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client P2sVpnGatewaysClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client P2sVpnGatewaysClient) GetResponder(resp *http.Response) (result P2SVpnGateway, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetP2sVpnConnectionHealth gets the connection health of P2S clients of the virtual wan P2SVpnGateway in the +// specified resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +// gatewayName - the name of the P2SVpnGateway. +func (client P2sVpnGatewaysClient) GetP2sVpnConnectionHealth(ctx context.Context, resourceGroupName string, gatewayName string) (result P2sVpnGatewaysGetP2sVpnConnectionHealthFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/P2sVpnGatewaysClient.GetP2sVpnConnectionHealth") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetP2sVpnConnectionHealthPreparer(ctx, resourceGroupName, gatewayName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.P2sVpnGatewaysClient", "GetP2sVpnConnectionHealth", nil, "Failure preparing request") + return + } + + result, err = client.GetP2sVpnConnectionHealthSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.P2sVpnGatewaysClient", "GetP2sVpnConnectionHealth", result.Response(), "Failure sending request") + return + } + + return +} + +// GetP2sVpnConnectionHealthPreparer prepares the GetP2sVpnConnectionHealth request. +func (client P2sVpnGatewaysClient) GetP2sVpnConnectionHealthPreparer(ctx context.Context, resourceGroupName string, gatewayName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "gatewayName": autorest.Encode("path", gatewayName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/p2svpnGateways/{gatewayName}/getP2sVpnConnectionHealth", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetP2sVpnConnectionHealthSender sends the GetP2sVpnConnectionHealth request. The method will close the +// http.Response Body if it receives an error. +func (client P2sVpnGatewaysClient) GetP2sVpnConnectionHealthSender(req *http.Request) (future P2sVpnGatewaysGetP2sVpnConnectionHealthFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// GetP2sVpnConnectionHealthResponder handles the response to the GetP2sVpnConnectionHealth request. The method always +// closes the http.Response Body. +func (client P2sVpnGatewaysClient) GetP2sVpnConnectionHealthResponder(resp *http.Response) (result P2SVpnGateway, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List lists all the P2SVpnGateways in a subscription. +func (client P2sVpnGatewaysClient) List(ctx context.Context) (result ListP2SVpnGatewaysResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/P2sVpnGatewaysClient.List") + defer func() { + sc := -1 + if result.lpvgr.Response.Response != nil { + sc = result.lpvgr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "network.P2sVpnGatewaysClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.lpvgr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.P2sVpnGatewaysClient", "List", resp, "Failure sending request") + return + } + + result.lpvgr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.P2sVpnGatewaysClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client P2sVpnGatewaysClient) ListPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/p2svpnGateways", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client P2sVpnGatewaysClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client P2sVpnGatewaysClient) ListResponder(resp *http.Response) (result ListP2SVpnGatewaysResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client P2sVpnGatewaysClient) listNextResults(ctx context.Context, lastResults ListP2SVpnGatewaysResult) (result ListP2SVpnGatewaysResult, err error) { + req, err := lastResults.listP2SVpnGatewaysResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.P2sVpnGatewaysClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.P2sVpnGatewaysClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.P2sVpnGatewaysClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client P2sVpnGatewaysClient) ListComplete(ctx context.Context) (result ListP2SVpnGatewaysResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/P2sVpnGatewaysClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx) + return +} + +// ListByResourceGroup lists all the P2SVpnGateways in a resource group. +// Parameters: +// resourceGroupName - the resource group name of the P2SVpnGateway. +func (client P2sVpnGatewaysClient) ListByResourceGroup(ctx context.Context, resourceGroupName string) (result ListP2SVpnGatewaysResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/P2sVpnGatewaysClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.lpvgr.Response.Response != nil { + sc = result.lpvgr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listByResourceGroupNextResults + req, err := client.ListByResourceGroupPreparer(ctx, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.P2sVpnGatewaysClient", "ListByResourceGroup", nil, "Failure preparing request") + return + } + + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.lpvgr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.P2sVpnGatewaysClient", "ListByResourceGroup", resp, "Failure sending request") + return + } + + result.lpvgr, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.P2sVpnGatewaysClient", "ListByResourceGroup", resp, "Failure responding to request") + } + + return +} + +// ListByResourceGroupPreparer prepares the ListByResourceGroup request. +func (client P2sVpnGatewaysClient) ListByResourceGroupPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/p2svpnGateways", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByResourceGroupSender sends the ListByResourceGroup request. The method will close the +// http.Response Body if it receives an error. +func (client P2sVpnGatewaysClient) ListByResourceGroupSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByResourceGroupResponder handles the response to the ListByResourceGroup request. The method always +// closes the http.Response Body. +func (client P2sVpnGatewaysClient) ListByResourceGroupResponder(resp *http.Response) (result ListP2SVpnGatewaysResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listByResourceGroupNextResults retrieves the next set of results, if any. +func (client P2sVpnGatewaysClient) listByResourceGroupNextResults(ctx context.Context, lastResults ListP2SVpnGatewaysResult) (result ListP2SVpnGatewaysResult, err error) { + req, err := lastResults.listP2SVpnGatewaysResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.P2sVpnGatewaysClient", "listByResourceGroupNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.P2sVpnGatewaysClient", "listByResourceGroupNextResults", resp, "Failure sending next results request") + } + result, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.P2sVpnGatewaysClient", "listByResourceGroupNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListByResourceGroupComplete enumerates all values, automatically crossing page boundaries as required. +func (client P2sVpnGatewaysClient) ListByResourceGroupComplete(ctx context.Context, resourceGroupName string) (result ListP2SVpnGatewaysResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/P2sVpnGatewaysClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListByResourceGroup(ctx, resourceGroupName) + return +} + +// UpdateTags updates virtual wan p2s vpn gateway tags. +// Parameters: +// resourceGroupName - the resource group name of the P2SVpnGateway. +// gatewayName - the name of the gateway. +// p2SVpnGatewayParameters - parameters supplied to update a virtual wan p2s vpn gateway tags. +func (client P2sVpnGatewaysClient) UpdateTags(ctx context.Context, resourceGroupName string, gatewayName string, p2SVpnGatewayParameters TagsObject) (result P2sVpnGatewaysUpdateTagsFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/P2sVpnGatewaysClient.UpdateTags") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdateTagsPreparer(ctx, resourceGroupName, gatewayName, p2SVpnGatewayParameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.P2sVpnGatewaysClient", "UpdateTags", nil, "Failure preparing request") + return + } + + result, err = client.UpdateTagsSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.P2sVpnGatewaysClient", "UpdateTags", result.Response(), "Failure sending request") + return + } + + return +} + +// UpdateTagsPreparer prepares the UpdateTags request. +func (client P2sVpnGatewaysClient) UpdateTagsPreparer(ctx context.Context, resourceGroupName string, gatewayName string, p2SVpnGatewayParameters TagsObject) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "gatewayName": autorest.Encode("path", gatewayName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/p2svpnGateways/{gatewayName}", pathParameters), + autorest.WithJSON(p2SVpnGatewayParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateTagsSender sends the UpdateTags request. The method will close the +// http.Response Body if it receives an error. +func (client P2sVpnGatewaysClient) UpdateTagsSender(req *http.Request) (future P2sVpnGatewaysUpdateTagsFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// UpdateTagsResponder handles the response to the UpdateTags request. The method always +// closes the http.Response Body. +func (client P2sVpnGatewaysClient) UpdateTagsResponder(resp *http.Response) (result P2SVpnGateway, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/network/mgmt/2019-07-01/network/p2svpnserverconfigurations.go b/services/network/mgmt/2019-07-01/network/p2svpnserverconfigurations.go new file mode 100644 index 000000000000..086cc6326038 --- /dev/null +++ b/services/network/mgmt/2019-07-01/network/p2svpnserverconfigurations.go @@ -0,0 +1,397 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// P2sVpnServerConfigurationsClient is the network Client +type P2sVpnServerConfigurationsClient struct { + BaseClient +} + +// NewP2sVpnServerConfigurationsClient creates an instance of the P2sVpnServerConfigurationsClient client. +func NewP2sVpnServerConfigurationsClient(subscriptionID string) P2sVpnServerConfigurationsClient { + return NewP2sVpnServerConfigurationsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewP2sVpnServerConfigurationsClientWithBaseURI creates an instance of the P2sVpnServerConfigurationsClient client. +func NewP2sVpnServerConfigurationsClientWithBaseURI(baseURI string, subscriptionID string) P2sVpnServerConfigurationsClient { + return P2sVpnServerConfigurationsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates a P2SVpnServerConfiguration to associate with a VirtualWan if it doesn't exist else updates +// the existing P2SVpnServerConfiguration. +// Parameters: +// resourceGroupName - the resource group name of the VirtualWan. +// virtualWanName - the name of the VirtualWan. +// p2SVpnServerConfigurationName - the name of the P2SVpnServerConfiguration. +// p2SVpnServerConfigurationParameters - parameters supplied to create or Update a P2SVpnServerConfiguration. +func (client P2sVpnServerConfigurationsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, virtualWanName string, p2SVpnServerConfigurationName string, p2SVpnServerConfigurationParameters P2SVpnServerConfiguration) (result P2sVpnServerConfigurationsCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/P2sVpnServerConfigurationsClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, virtualWanName, p2SVpnServerConfigurationName, p2SVpnServerConfigurationParameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.P2sVpnServerConfigurationsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.P2sVpnServerConfigurationsClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client P2sVpnServerConfigurationsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, virtualWanName string, p2SVpnServerConfigurationName string, p2SVpnServerConfigurationParameters P2SVpnServerConfiguration) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "p2SVpnServerConfigurationName": autorest.Encode("path", p2SVpnServerConfigurationName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualWanName": autorest.Encode("path", virtualWanName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + p2SVpnServerConfigurationParameters.Etag = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{virtualWanName}/p2sVpnServerConfigurations/{p2SVpnServerConfigurationName}", pathParameters), + autorest.WithJSON(p2SVpnServerConfigurationParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client P2sVpnServerConfigurationsClient) CreateOrUpdateSender(req *http.Request) (future P2sVpnServerConfigurationsCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client P2sVpnServerConfigurationsClient) CreateOrUpdateResponder(resp *http.Response) (result P2SVpnServerConfiguration, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes a P2SVpnServerConfiguration. +// Parameters: +// resourceGroupName - the resource group name of the P2SVpnServerConfiguration. +// virtualWanName - the name of the VirtualWan. +// p2SVpnServerConfigurationName - the name of the P2SVpnServerConfiguration. +func (client P2sVpnServerConfigurationsClient) Delete(ctx context.Context, resourceGroupName string, virtualWanName string, p2SVpnServerConfigurationName string) (result P2sVpnServerConfigurationsDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/P2sVpnServerConfigurationsClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, virtualWanName, p2SVpnServerConfigurationName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.P2sVpnServerConfigurationsClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.P2sVpnServerConfigurationsClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client P2sVpnServerConfigurationsClient) DeletePreparer(ctx context.Context, resourceGroupName string, virtualWanName string, p2SVpnServerConfigurationName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "p2SVpnServerConfigurationName": autorest.Encode("path", p2SVpnServerConfigurationName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualWanName": autorest.Encode("path", virtualWanName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{virtualWanName}/p2sVpnServerConfigurations/{p2SVpnServerConfigurationName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client P2sVpnServerConfigurationsClient) DeleteSender(req *http.Request) (future P2sVpnServerConfigurationsDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client P2sVpnServerConfigurationsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get retrieves the details of a P2SVpnServerConfiguration. +// Parameters: +// resourceGroupName - the resource group name of the P2SVpnServerConfiguration. +// virtualWanName - the name of the VirtualWan. +// p2SVpnServerConfigurationName - the name of the P2SVpnServerConfiguration. +func (client P2sVpnServerConfigurationsClient) Get(ctx context.Context, resourceGroupName string, virtualWanName string, p2SVpnServerConfigurationName string) (result P2SVpnServerConfiguration, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/P2sVpnServerConfigurationsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, virtualWanName, p2SVpnServerConfigurationName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.P2sVpnServerConfigurationsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.P2sVpnServerConfigurationsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.P2sVpnServerConfigurationsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client P2sVpnServerConfigurationsClient) GetPreparer(ctx context.Context, resourceGroupName string, virtualWanName string, p2SVpnServerConfigurationName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "p2SVpnServerConfigurationName": autorest.Encode("path", p2SVpnServerConfigurationName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualWanName": autorest.Encode("path", virtualWanName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{virtualWanName}/p2sVpnServerConfigurations/{p2SVpnServerConfigurationName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client P2sVpnServerConfigurationsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client P2sVpnServerConfigurationsClient) GetResponder(resp *http.Response) (result P2SVpnServerConfiguration, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByVirtualWan retrieves all P2SVpnServerConfigurations for a particular VirtualWan. +// Parameters: +// resourceGroupName - the resource group name of the VirtualWan. +// virtualWanName - the name of the VirtualWan. +func (client P2sVpnServerConfigurationsClient) ListByVirtualWan(ctx context.Context, resourceGroupName string, virtualWanName string) (result ListP2SVpnServerConfigurationsResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/P2sVpnServerConfigurationsClient.ListByVirtualWan") + defer func() { + sc := -1 + if result.lpvscr.Response.Response != nil { + sc = result.lpvscr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listByVirtualWanNextResults + req, err := client.ListByVirtualWanPreparer(ctx, resourceGroupName, virtualWanName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.P2sVpnServerConfigurationsClient", "ListByVirtualWan", nil, "Failure preparing request") + return + } + + resp, err := client.ListByVirtualWanSender(req) + if err != nil { + result.lpvscr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.P2sVpnServerConfigurationsClient", "ListByVirtualWan", resp, "Failure sending request") + return + } + + result.lpvscr, err = client.ListByVirtualWanResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.P2sVpnServerConfigurationsClient", "ListByVirtualWan", resp, "Failure responding to request") + } + + return +} + +// ListByVirtualWanPreparer prepares the ListByVirtualWan request. +func (client P2sVpnServerConfigurationsClient) ListByVirtualWanPreparer(ctx context.Context, resourceGroupName string, virtualWanName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualWanName": autorest.Encode("path", virtualWanName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{virtualWanName}/p2sVpnServerConfigurations", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByVirtualWanSender sends the ListByVirtualWan request. The method will close the +// http.Response Body if it receives an error. +func (client P2sVpnServerConfigurationsClient) ListByVirtualWanSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByVirtualWanResponder handles the response to the ListByVirtualWan request. The method always +// closes the http.Response Body. +func (client P2sVpnServerConfigurationsClient) ListByVirtualWanResponder(resp *http.Response) (result ListP2SVpnServerConfigurationsResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listByVirtualWanNextResults retrieves the next set of results, if any. +func (client P2sVpnServerConfigurationsClient) listByVirtualWanNextResults(ctx context.Context, lastResults ListP2SVpnServerConfigurationsResult) (result ListP2SVpnServerConfigurationsResult, err error) { + req, err := lastResults.listP2SVpnServerConfigurationsResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.P2sVpnServerConfigurationsClient", "listByVirtualWanNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListByVirtualWanSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.P2sVpnServerConfigurationsClient", "listByVirtualWanNextResults", resp, "Failure sending next results request") + } + result, err = client.ListByVirtualWanResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.P2sVpnServerConfigurationsClient", "listByVirtualWanNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListByVirtualWanComplete enumerates all values, automatically crossing page boundaries as required. +func (client P2sVpnServerConfigurationsClient) ListByVirtualWanComplete(ctx context.Context, resourceGroupName string, virtualWanName string) (result ListP2SVpnServerConfigurationsResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/P2sVpnServerConfigurationsClient.ListByVirtualWan") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListByVirtualWan(ctx, resourceGroupName, virtualWanName) + return +} diff --git a/services/network/mgmt/2019-07-01/network/packetcaptures.go b/services/network/mgmt/2019-07-01/network/packetcaptures.go new file mode 100644 index 000000000000..c9a392e95c63 --- /dev/null +++ b/services/network/mgmt/2019-07-01/network/packetcaptures.go @@ -0,0 +1,524 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// PacketCapturesClient is the network Client +type PacketCapturesClient struct { + BaseClient +} + +// NewPacketCapturesClient creates an instance of the PacketCapturesClient client. +func NewPacketCapturesClient(subscriptionID string) PacketCapturesClient { + return NewPacketCapturesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewPacketCapturesClientWithBaseURI creates an instance of the PacketCapturesClient client. +func NewPacketCapturesClientWithBaseURI(baseURI string, subscriptionID string) PacketCapturesClient { + return PacketCapturesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// Create create and start a packet capture on the specified VM. +// Parameters: +// resourceGroupName - the name of the resource group. +// networkWatcherName - the name of the network watcher. +// packetCaptureName - the name of the packet capture session. +// parameters - parameters that define the create packet capture operation. +func (client PacketCapturesClient) Create(ctx context.Context, resourceGroupName string, networkWatcherName string, packetCaptureName string, parameters PacketCapture) (result PacketCapturesCreateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PacketCapturesClient.Create") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.PacketCaptureParameters", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "parameters.PacketCaptureParameters.Target", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "parameters.PacketCaptureParameters.StorageLocation", Name: validation.Null, Rule: true, Chain: nil}, + }}}}}); err != nil { + return result, validation.NewError("network.PacketCapturesClient", "Create", err.Error()) + } + + req, err := client.CreatePreparer(ctx, resourceGroupName, networkWatcherName, packetCaptureName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PacketCapturesClient", "Create", nil, "Failure preparing request") + return + } + + result, err = client.CreateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PacketCapturesClient", "Create", result.Response(), "Failure sending request") + return + } + + return +} + +// CreatePreparer prepares the Create request. +func (client PacketCapturesClient) CreatePreparer(ctx context.Context, resourceGroupName string, networkWatcherName string, packetCaptureName string, parameters PacketCapture) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkWatcherName": autorest.Encode("path", networkWatcherName), + "packetCaptureName": autorest.Encode("path", packetCaptureName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures/{packetCaptureName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateSender sends the Create request. The method will close the +// http.Response Body if it receives an error. +func (client PacketCapturesClient) CreateSender(req *http.Request) (future PacketCapturesCreateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateResponder handles the response to the Create request. The method always +// closes the http.Response Body. +func (client PacketCapturesClient) CreateResponder(resp *http.Response) (result PacketCaptureResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the specified packet capture session. +// Parameters: +// resourceGroupName - the name of the resource group. +// networkWatcherName - the name of the network watcher. +// packetCaptureName - the name of the packet capture session. +func (client PacketCapturesClient) Delete(ctx context.Context, resourceGroupName string, networkWatcherName string, packetCaptureName string) (result PacketCapturesDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PacketCapturesClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, networkWatcherName, packetCaptureName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PacketCapturesClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PacketCapturesClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client PacketCapturesClient) DeletePreparer(ctx context.Context, resourceGroupName string, networkWatcherName string, packetCaptureName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkWatcherName": autorest.Encode("path", networkWatcherName), + "packetCaptureName": autorest.Encode("path", packetCaptureName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures/{packetCaptureName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client PacketCapturesClient) DeleteSender(req *http.Request) (future PacketCapturesDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client PacketCapturesClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets a packet capture session by name. +// Parameters: +// resourceGroupName - the name of the resource group. +// networkWatcherName - the name of the network watcher. +// packetCaptureName - the name of the packet capture session. +func (client PacketCapturesClient) Get(ctx context.Context, resourceGroupName string, networkWatcherName string, packetCaptureName string) (result PacketCaptureResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PacketCapturesClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, networkWatcherName, packetCaptureName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PacketCapturesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.PacketCapturesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PacketCapturesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client PacketCapturesClient) GetPreparer(ctx context.Context, resourceGroupName string, networkWatcherName string, packetCaptureName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkWatcherName": autorest.Encode("path", networkWatcherName), + "packetCaptureName": autorest.Encode("path", packetCaptureName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures/{packetCaptureName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client PacketCapturesClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client PacketCapturesClient) GetResponder(resp *http.Response) (result PacketCaptureResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetStatus query the status of a running packet capture session. +// Parameters: +// resourceGroupName - the name of the resource group. +// networkWatcherName - the name of the Network Watcher resource. +// packetCaptureName - the name given to the packet capture session. +func (client PacketCapturesClient) GetStatus(ctx context.Context, resourceGroupName string, networkWatcherName string, packetCaptureName string) (result PacketCapturesGetStatusFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PacketCapturesClient.GetStatus") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetStatusPreparer(ctx, resourceGroupName, networkWatcherName, packetCaptureName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PacketCapturesClient", "GetStatus", nil, "Failure preparing request") + return + } + + result, err = client.GetStatusSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PacketCapturesClient", "GetStatus", result.Response(), "Failure sending request") + return + } + + return +} + +// GetStatusPreparer prepares the GetStatus request. +func (client PacketCapturesClient) GetStatusPreparer(ctx context.Context, resourceGroupName string, networkWatcherName string, packetCaptureName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkWatcherName": autorest.Encode("path", networkWatcherName), + "packetCaptureName": autorest.Encode("path", packetCaptureName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures/{packetCaptureName}/queryStatus", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetStatusSender sends the GetStatus request. The method will close the +// http.Response Body if it receives an error. +func (client PacketCapturesClient) GetStatusSender(req *http.Request) (future PacketCapturesGetStatusFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// GetStatusResponder handles the response to the GetStatus request. The method always +// closes the http.Response Body. +func (client PacketCapturesClient) GetStatusResponder(resp *http.Response) (result PacketCaptureQueryStatusResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List lists all packet capture sessions within the specified resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +// networkWatcherName - the name of the Network Watcher resource. +func (client PacketCapturesClient) List(ctx context.Context, resourceGroupName string, networkWatcherName string) (result PacketCaptureListResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PacketCapturesClient.List") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListPreparer(ctx, resourceGroupName, networkWatcherName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PacketCapturesClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.PacketCapturesClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PacketCapturesClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client PacketCapturesClient) ListPreparer(ctx context.Context, resourceGroupName string, networkWatcherName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkWatcherName": autorest.Encode("path", networkWatcherName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client PacketCapturesClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client PacketCapturesClient) ListResponder(resp *http.Response) (result PacketCaptureListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Stop stops a specified packet capture session. +// Parameters: +// resourceGroupName - the name of the resource group. +// networkWatcherName - the name of the network watcher. +// packetCaptureName - the name of the packet capture session. +func (client PacketCapturesClient) Stop(ctx context.Context, resourceGroupName string, networkWatcherName string, packetCaptureName string) (result PacketCapturesStopFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PacketCapturesClient.Stop") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.StopPreparer(ctx, resourceGroupName, networkWatcherName, packetCaptureName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PacketCapturesClient", "Stop", nil, "Failure preparing request") + return + } + + result, err = client.StopSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PacketCapturesClient", "Stop", result.Response(), "Failure sending request") + return + } + + return +} + +// StopPreparer prepares the Stop request. +func (client PacketCapturesClient) StopPreparer(ctx context.Context, resourceGroupName string, networkWatcherName string, packetCaptureName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkWatcherName": autorest.Encode("path", networkWatcherName), + "packetCaptureName": autorest.Encode("path", packetCaptureName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures/{packetCaptureName}/stop", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// StopSender sends the Stop request. The method will close the +// http.Response Body if it receives an error. +func (client PacketCapturesClient) StopSender(req *http.Request) (future PacketCapturesStopFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// StopResponder handles the response to the Stop request. The method always +// closes the http.Response Body. +func (client PacketCapturesClient) StopResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByClosing()) + result.Response = resp + return +} diff --git a/services/network/mgmt/2019-07-01/network/peerexpressroutecircuitconnections.go b/services/network/mgmt/2019-07-01/network/peerexpressroutecircuitconnections.go new file mode 100644 index 000000000000..99ba04971a24 --- /dev/null +++ b/services/network/mgmt/2019-07-01/network/peerexpressroutecircuitconnections.go @@ -0,0 +1,241 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// PeerExpressRouteCircuitConnectionsClient is the network Client +type PeerExpressRouteCircuitConnectionsClient struct { + BaseClient +} + +// NewPeerExpressRouteCircuitConnectionsClient creates an instance of the PeerExpressRouteCircuitConnectionsClient +// client. +func NewPeerExpressRouteCircuitConnectionsClient(subscriptionID string) PeerExpressRouteCircuitConnectionsClient { + return NewPeerExpressRouteCircuitConnectionsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewPeerExpressRouteCircuitConnectionsClientWithBaseURI creates an instance of the +// PeerExpressRouteCircuitConnectionsClient client. +func NewPeerExpressRouteCircuitConnectionsClientWithBaseURI(baseURI string, subscriptionID string) PeerExpressRouteCircuitConnectionsClient { + return PeerExpressRouteCircuitConnectionsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// Get gets the specified Peer Express Route Circuit Connection from the specified express route circuit. +// Parameters: +// resourceGroupName - the name of the resource group. +// circuitName - the name of the express route circuit. +// peeringName - the name of the peering. +// connectionName - the name of the peer express route circuit connection. +func (client PeerExpressRouteCircuitConnectionsClient) Get(ctx context.Context, resourceGroupName string, circuitName string, peeringName string, connectionName string) (result PeerExpressRouteCircuitConnection, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PeerExpressRouteCircuitConnectionsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, circuitName, peeringName, connectionName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PeerExpressRouteCircuitConnectionsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.PeerExpressRouteCircuitConnectionsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PeerExpressRouteCircuitConnectionsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client PeerExpressRouteCircuitConnectionsClient) GetPreparer(ctx context.Context, resourceGroupName string, circuitName string, peeringName string, connectionName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "circuitName": autorest.Encode("path", circuitName), + "connectionName": autorest.Encode("path", connectionName), + "peeringName": autorest.Encode("path", peeringName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/peerConnections/{connectionName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client PeerExpressRouteCircuitConnectionsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client PeerExpressRouteCircuitConnectionsClient) GetResponder(resp *http.Response) (result PeerExpressRouteCircuitConnection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets all global reach peer connections associated with a private peering in an express route circuit. +// Parameters: +// resourceGroupName - the name of the resource group. +// circuitName - the name of the circuit. +// peeringName - the name of the peering. +func (client PeerExpressRouteCircuitConnectionsClient) List(ctx context.Context, resourceGroupName string, circuitName string, peeringName string) (result PeerExpressRouteCircuitConnectionListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PeerExpressRouteCircuitConnectionsClient.List") + defer func() { + sc := -1 + if result.percclr.Response.Response != nil { + sc = result.percclr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName, circuitName, peeringName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PeerExpressRouteCircuitConnectionsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.percclr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.PeerExpressRouteCircuitConnectionsClient", "List", resp, "Failure sending request") + return + } + + result.percclr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PeerExpressRouteCircuitConnectionsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client PeerExpressRouteCircuitConnectionsClient) ListPreparer(ctx context.Context, resourceGroupName string, circuitName string, peeringName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "circuitName": autorest.Encode("path", circuitName), + "peeringName": autorest.Encode("path", peeringName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/peerConnections", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client PeerExpressRouteCircuitConnectionsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client PeerExpressRouteCircuitConnectionsClient) ListResponder(resp *http.Response) (result PeerExpressRouteCircuitConnectionListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client PeerExpressRouteCircuitConnectionsClient) listNextResults(ctx context.Context, lastResults PeerExpressRouteCircuitConnectionListResult) (result PeerExpressRouteCircuitConnectionListResult, err error) { + req, err := lastResults.peerExpressRouteCircuitConnectionListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.PeerExpressRouteCircuitConnectionsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.PeerExpressRouteCircuitConnectionsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PeerExpressRouteCircuitConnectionsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client PeerExpressRouteCircuitConnectionsClient) ListComplete(ctx context.Context, resourceGroupName string, circuitName string, peeringName string) (result PeerExpressRouteCircuitConnectionListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PeerExpressRouteCircuitConnectionsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName, circuitName, peeringName) + return +} diff --git a/services/network/mgmt/2019-07-01/network/privateendpoints.go b/services/network/mgmt/2019-07-01/network/privateendpoints.go new file mode 100644 index 000000000000..ecd68601f8c9 --- /dev/null +++ b/services/network/mgmt/2019-07-01/network/privateendpoints.go @@ -0,0 +1,501 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// PrivateEndpointsClient is the network Client +type PrivateEndpointsClient struct { + BaseClient +} + +// NewPrivateEndpointsClient creates an instance of the PrivateEndpointsClient client. +func NewPrivateEndpointsClient(subscriptionID string) PrivateEndpointsClient { + return NewPrivateEndpointsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewPrivateEndpointsClientWithBaseURI creates an instance of the PrivateEndpointsClient client. +func NewPrivateEndpointsClientWithBaseURI(baseURI string, subscriptionID string) PrivateEndpointsClient { + return PrivateEndpointsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates an private endpoint in the specified resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +// privateEndpointName - the name of the private endpoint. +// parameters - parameters supplied to the create or update private endpoint operation. +func (client PrivateEndpointsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, privateEndpointName string, parameters PrivateEndpoint) (result PrivateEndpointsCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PrivateEndpointsClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, privateEndpointName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PrivateEndpointsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PrivateEndpointsClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client PrivateEndpointsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, privateEndpointName string, parameters PrivateEndpoint) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "privateEndpointName": autorest.Encode("path", privateEndpointName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateEndpoints/{privateEndpointName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client PrivateEndpointsClient) CreateOrUpdateSender(req *http.Request) (future PrivateEndpointsCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client PrivateEndpointsClient) CreateOrUpdateResponder(resp *http.Response) (result PrivateEndpoint, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the specified private endpoint. +// Parameters: +// resourceGroupName - the name of the resource group. +// privateEndpointName - the name of the private endpoint. +func (client PrivateEndpointsClient) Delete(ctx context.Context, resourceGroupName string, privateEndpointName string) (result PrivateEndpointsDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PrivateEndpointsClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, privateEndpointName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PrivateEndpointsClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PrivateEndpointsClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client PrivateEndpointsClient) DeletePreparer(ctx context.Context, resourceGroupName string, privateEndpointName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "privateEndpointName": autorest.Encode("path", privateEndpointName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateEndpoints/{privateEndpointName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client PrivateEndpointsClient) DeleteSender(req *http.Request) (future PrivateEndpointsDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client PrivateEndpointsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets the specified private endpoint by resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +// privateEndpointName - the name of the private endpoint. +// expand - expands referenced resources. +func (client PrivateEndpointsClient) Get(ctx context.Context, resourceGroupName string, privateEndpointName string, expand string) (result PrivateEndpoint, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PrivateEndpointsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, privateEndpointName, expand) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PrivateEndpointsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.PrivateEndpointsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PrivateEndpointsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client PrivateEndpointsClient) GetPreparer(ctx context.Context, resourceGroupName string, privateEndpointName string, expand string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "privateEndpointName": autorest.Encode("path", privateEndpointName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(expand) > 0 { + queryParameters["$expand"] = autorest.Encode("query", expand) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateEndpoints/{privateEndpointName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client PrivateEndpointsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client PrivateEndpointsClient) GetResponder(resp *http.Response) (result PrivateEndpoint, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets all private endpoints in a resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +func (client PrivateEndpointsClient) List(ctx context.Context, resourceGroupName string) (result PrivateEndpointListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PrivateEndpointsClient.List") + defer func() { + sc := -1 + if result.pelr.Response.Response != nil { + sc = result.pelr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PrivateEndpointsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.pelr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.PrivateEndpointsClient", "List", resp, "Failure sending request") + return + } + + result.pelr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PrivateEndpointsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client PrivateEndpointsClient) ListPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateEndpoints", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client PrivateEndpointsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client PrivateEndpointsClient) ListResponder(resp *http.Response) (result PrivateEndpointListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client PrivateEndpointsClient) listNextResults(ctx context.Context, lastResults PrivateEndpointListResult) (result PrivateEndpointListResult, err error) { + req, err := lastResults.privateEndpointListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.PrivateEndpointsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.PrivateEndpointsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PrivateEndpointsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client PrivateEndpointsClient) ListComplete(ctx context.Context, resourceGroupName string) (result PrivateEndpointListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PrivateEndpointsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName) + return +} + +// ListBySubscription gets all private endpoints in a subscription. +func (client PrivateEndpointsClient) ListBySubscription(ctx context.Context) (result PrivateEndpointListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PrivateEndpointsClient.ListBySubscription") + defer func() { + sc := -1 + if result.pelr.Response.Response != nil { + sc = result.pelr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listBySubscriptionNextResults + req, err := client.ListBySubscriptionPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PrivateEndpointsClient", "ListBySubscription", nil, "Failure preparing request") + return + } + + resp, err := client.ListBySubscriptionSender(req) + if err != nil { + result.pelr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.PrivateEndpointsClient", "ListBySubscription", resp, "Failure sending request") + return + } + + result.pelr, err = client.ListBySubscriptionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PrivateEndpointsClient", "ListBySubscription", resp, "Failure responding to request") + } + + return +} + +// ListBySubscriptionPreparer prepares the ListBySubscription request. +func (client PrivateEndpointsClient) ListBySubscriptionPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/privateEndpoints", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListBySubscriptionSender sends the ListBySubscription request. The method will close the +// http.Response Body if it receives an error. +func (client PrivateEndpointsClient) ListBySubscriptionSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListBySubscriptionResponder handles the response to the ListBySubscription request. The method always +// closes the http.Response Body. +func (client PrivateEndpointsClient) ListBySubscriptionResponder(resp *http.Response) (result PrivateEndpointListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listBySubscriptionNextResults retrieves the next set of results, if any. +func (client PrivateEndpointsClient) listBySubscriptionNextResults(ctx context.Context, lastResults PrivateEndpointListResult) (result PrivateEndpointListResult, err error) { + req, err := lastResults.privateEndpointListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.PrivateEndpointsClient", "listBySubscriptionNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListBySubscriptionSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.PrivateEndpointsClient", "listBySubscriptionNextResults", resp, "Failure sending next results request") + } + result, err = client.ListBySubscriptionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PrivateEndpointsClient", "listBySubscriptionNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListBySubscriptionComplete enumerates all values, automatically crossing page boundaries as required. +func (client PrivateEndpointsClient) ListBySubscriptionComplete(ctx context.Context) (result PrivateEndpointListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PrivateEndpointsClient.ListBySubscription") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListBySubscription(ctx) + return +} diff --git a/services/network/mgmt/2019-07-01/network/privatelinkservices.go b/services/network/mgmt/2019-07-01/network/privatelinkservices.go new file mode 100644 index 000000000000..6c7e9e90c85a --- /dev/null +++ b/services/network/mgmt/2019-07-01/network/privatelinkservices.go @@ -0,0 +1,1053 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// PrivateLinkServicesClient is the network Client +type PrivateLinkServicesClient struct { + BaseClient +} + +// NewPrivateLinkServicesClient creates an instance of the PrivateLinkServicesClient client. +func NewPrivateLinkServicesClient(subscriptionID string) PrivateLinkServicesClient { + return NewPrivateLinkServicesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewPrivateLinkServicesClientWithBaseURI creates an instance of the PrivateLinkServicesClient client. +func NewPrivateLinkServicesClientWithBaseURI(baseURI string, subscriptionID string) PrivateLinkServicesClient { + return PrivateLinkServicesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CheckPrivateLinkServiceVisibility checks whether the subscription is visible to private link service. +// Parameters: +// location - the location of the domain name. +// parameters - the request body of CheckPrivateLinkService API call. +func (client PrivateLinkServicesClient) CheckPrivateLinkServiceVisibility(ctx context.Context, location string, parameters CheckPrivateLinkServiceVisibilityRequest) (result PrivateLinkServiceVisibility, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PrivateLinkServicesClient.CheckPrivateLinkServiceVisibility") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CheckPrivateLinkServiceVisibilityPreparer(ctx, location, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PrivateLinkServicesClient", "CheckPrivateLinkServiceVisibility", nil, "Failure preparing request") + return + } + + resp, err := client.CheckPrivateLinkServiceVisibilitySender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.PrivateLinkServicesClient", "CheckPrivateLinkServiceVisibility", resp, "Failure sending request") + return + } + + result, err = client.CheckPrivateLinkServiceVisibilityResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PrivateLinkServicesClient", "CheckPrivateLinkServiceVisibility", resp, "Failure responding to request") + } + + return +} + +// CheckPrivateLinkServiceVisibilityPreparer prepares the CheckPrivateLinkServiceVisibility request. +func (client PrivateLinkServicesClient) CheckPrivateLinkServiceVisibilityPreparer(ctx context.Context, location string, parameters CheckPrivateLinkServiceVisibilityRequest) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "location": autorest.Encode("path", location), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/checkPrivateLinkServiceVisibility", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CheckPrivateLinkServiceVisibilitySender sends the CheckPrivateLinkServiceVisibility request. The method will close the +// http.Response Body if it receives an error. +func (client PrivateLinkServicesClient) CheckPrivateLinkServiceVisibilitySender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CheckPrivateLinkServiceVisibilityResponder handles the response to the CheckPrivateLinkServiceVisibility request. The method always +// closes the http.Response Body. +func (client PrivateLinkServicesClient) CheckPrivateLinkServiceVisibilityResponder(resp *http.Response) (result PrivateLinkServiceVisibility, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// CheckPrivateLinkServiceVisibilityByResourceGroup checks whether the subscription is visible to private link service +// in the specified resource group. +// Parameters: +// location - the location of the domain name. +// resourceGroupName - the name of the resource group. +// parameters - the request body of CheckPrivateLinkService API call. +func (client PrivateLinkServicesClient) CheckPrivateLinkServiceVisibilityByResourceGroup(ctx context.Context, location string, resourceGroupName string, parameters CheckPrivateLinkServiceVisibilityRequest) (result PrivateLinkServiceVisibility, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PrivateLinkServicesClient.CheckPrivateLinkServiceVisibilityByResourceGroup") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CheckPrivateLinkServiceVisibilityByResourceGroupPreparer(ctx, location, resourceGroupName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PrivateLinkServicesClient", "CheckPrivateLinkServiceVisibilityByResourceGroup", nil, "Failure preparing request") + return + } + + resp, err := client.CheckPrivateLinkServiceVisibilityByResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.PrivateLinkServicesClient", "CheckPrivateLinkServiceVisibilityByResourceGroup", resp, "Failure sending request") + return + } + + result, err = client.CheckPrivateLinkServiceVisibilityByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PrivateLinkServicesClient", "CheckPrivateLinkServiceVisibilityByResourceGroup", resp, "Failure responding to request") + } + + return +} + +// CheckPrivateLinkServiceVisibilityByResourceGroupPreparer prepares the CheckPrivateLinkServiceVisibilityByResourceGroup request. +func (client PrivateLinkServicesClient) CheckPrivateLinkServiceVisibilityByResourceGroupPreparer(ctx context.Context, location string, resourceGroupName string, parameters CheckPrivateLinkServiceVisibilityRequest) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "location": autorest.Encode("path", location), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/locations/{location}/checkPrivateLinkServiceVisibility", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CheckPrivateLinkServiceVisibilityByResourceGroupSender sends the CheckPrivateLinkServiceVisibilityByResourceGroup request. The method will close the +// http.Response Body if it receives an error. +func (client PrivateLinkServicesClient) CheckPrivateLinkServiceVisibilityByResourceGroupSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CheckPrivateLinkServiceVisibilityByResourceGroupResponder handles the response to the CheckPrivateLinkServiceVisibilityByResourceGroup request. The method always +// closes the http.Response Body. +func (client PrivateLinkServicesClient) CheckPrivateLinkServiceVisibilityByResourceGroupResponder(resp *http.Response) (result PrivateLinkServiceVisibility, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// CreateOrUpdate creates or updates an private link service in the specified resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +// serviceName - the name of the private link service. +// parameters - parameters supplied to the create or update private link service operation. +func (client PrivateLinkServicesClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, serviceName string, parameters PrivateLinkService) (result PrivateLinkServicesCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PrivateLinkServicesClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, serviceName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PrivateLinkServicesClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PrivateLinkServicesClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client PrivateLinkServicesClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, serviceName string, parameters PrivateLinkService) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serviceName": autorest.Encode("path", serviceName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateLinkServices/{serviceName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client PrivateLinkServicesClient) CreateOrUpdateSender(req *http.Request) (future PrivateLinkServicesCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client PrivateLinkServicesClient) CreateOrUpdateResponder(resp *http.Response) (result PrivateLinkService, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the specified private link service. +// Parameters: +// resourceGroupName - the name of the resource group. +// serviceName - the name of the private link service. +func (client PrivateLinkServicesClient) Delete(ctx context.Context, resourceGroupName string, serviceName string) (result PrivateLinkServicesDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PrivateLinkServicesClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, serviceName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PrivateLinkServicesClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PrivateLinkServicesClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client PrivateLinkServicesClient) DeletePreparer(ctx context.Context, resourceGroupName string, serviceName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serviceName": autorest.Encode("path", serviceName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateLinkServices/{serviceName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client PrivateLinkServicesClient) DeleteSender(req *http.Request) (future PrivateLinkServicesDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client PrivateLinkServicesClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// DeletePrivateEndpointConnection delete private end point connection for a private link service in a subscription. +// Parameters: +// resourceGroupName - the name of the resource group. +// serviceName - the name of the private link service. +// peConnectionName - the name of the private end point connection. +func (client PrivateLinkServicesClient) DeletePrivateEndpointConnection(ctx context.Context, resourceGroupName string, serviceName string, peConnectionName string) (result PrivateLinkServicesDeletePrivateEndpointConnectionFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PrivateLinkServicesClient.DeletePrivateEndpointConnection") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePrivateEndpointConnectionPreparer(ctx, resourceGroupName, serviceName, peConnectionName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PrivateLinkServicesClient", "DeletePrivateEndpointConnection", nil, "Failure preparing request") + return + } + + result, err = client.DeletePrivateEndpointConnectionSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PrivateLinkServicesClient", "DeletePrivateEndpointConnection", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePrivateEndpointConnectionPreparer prepares the DeletePrivateEndpointConnection request. +func (client PrivateLinkServicesClient) DeletePrivateEndpointConnectionPreparer(ctx context.Context, resourceGroupName string, serviceName string, peConnectionName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "peConnectionName": autorest.Encode("path", peConnectionName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serviceName": autorest.Encode("path", serviceName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateLinkServices/{serviceName}/privateEndpointConnections/{peConnectionName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeletePrivateEndpointConnectionSender sends the DeletePrivateEndpointConnection request. The method will close the +// http.Response Body if it receives an error. +func (client PrivateLinkServicesClient) DeletePrivateEndpointConnectionSender(req *http.Request) (future PrivateLinkServicesDeletePrivateEndpointConnectionFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeletePrivateEndpointConnectionResponder handles the response to the DeletePrivateEndpointConnection request. The method always +// closes the http.Response Body. +func (client PrivateLinkServicesClient) DeletePrivateEndpointConnectionResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets the specified private link service by resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +// serviceName - the name of the private link service. +// expand - expands referenced resources. +func (client PrivateLinkServicesClient) Get(ctx context.Context, resourceGroupName string, serviceName string, expand string) (result PrivateLinkService, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PrivateLinkServicesClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, serviceName, expand) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PrivateLinkServicesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.PrivateLinkServicesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PrivateLinkServicesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client PrivateLinkServicesClient) GetPreparer(ctx context.Context, resourceGroupName string, serviceName string, expand string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serviceName": autorest.Encode("path", serviceName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(expand) > 0 { + queryParameters["$expand"] = autorest.Encode("query", expand) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateLinkServices/{serviceName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client PrivateLinkServicesClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client PrivateLinkServicesClient) GetResponder(resp *http.Response) (result PrivateLinkService, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets all private link services in a resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +func (client PrivateLinkServicesClient) List(ctx context.Context, resourceGroupName string) (result PrivateLinkServiceListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PrivateLinkServicesClient.List") + defer func() { + sc := -1 + if result.plslr.Response.Response != nil { + sc = result.plslr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PrivateLinkServicesClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.plslr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.PrivateLinkServicesClient", "List", resp, "Failure sending request") + return + } + + result.plslr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PrivateLinkServicesClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client PrivateLinkServicesClient) ListPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateLinkServices", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client PrivateLinkServicesClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client PrivateLinkServicesClient) ListResponder(resp *http.Response) (result PrivateLinkServiceListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client PrivateLinkServicesClient) listNextResults(ctx context.Context, lastResults PrivateLinkServiceListResult) (result PrivateLinkServiceListResult, err error) { + req, err := lastResults.privateLinkServiceListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.PrivateLinkServicesClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.PrivateLinkServicesClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PrivateLinkServicesClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client PrivateLinkServicesClient) ListComplete(ctx context.Context, resourceGroupName string) (result PrivateLinkServiceListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PrivateLinkServicesClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName) + return +} + +// ListAutoApprovedPrivateLinkServices returns all of the private link service ids that can be linked to a Private +// Endpoint with auto approved in this subscription in this region. +// Parameters: +// location - the location of the domain name. +func (client PrivateLinkServicesClient) ListAutoApprovedPrivateLinkServices(ctx context.Context, location string) (result AutoApprovedPrivateLinkServicesResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PrivateLinkServicesClient.ListAutoApprovedPrivateLinkServices") + defer func() { + sc := -1 + if result.aaplsr.Response.Response != nil { + sc = result.aaplsr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listAutoApprovedPrivateLinkServicesNextResults + req, err := client.ListAutoApprovedPrivateLinkServicesPreparer(ctx, location) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PrivateLinkServicesClient", "ListAutoApprovedPrivateLinkServices", nil, "Failure preparing request") + return + } + + resp, err := client.ListAutoApprovedPrivateLinkServicesSender(req) + if err != nil { + result.aaplsr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.PrivateLinkServicesClient", "ListAutoApprovedPrivateLinkServices", resp, "Failure sending request") + return + } + + result.aaplsr, err = client.ListAutoApprovedPrivateLinkServicesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PrivateLinkServicesClient", "ListAutoApprovedPrivateLinkServices", resp, "Failure responding to request") + } + + return +} + +// ListAutoApprovedPrivateLinkServicesPreparer prepares the ListAutoApprovedPrivateLinkServices request. +func (client PrivateLinkServicesClient) ListAutoApprovedPrivateLinkServicesPreparer(ctx context.Context, location string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "location": autorest.Encode("path", location), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/autoApprovedPrivateLinkServices", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListAutoApprovedPrivateLinkServicesSender sends the ListAutoApprovedPrivateLinkServices request. The method will close the +// http.Response Body if it receives an error. +func (client PrivateLinkServicesClient) ListAutoApprovedPrivateLinkServicesSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListAutoApprovedPrivateLinkServicesResponder handles the response to the ListAutoApprovedPrivateLinkServices request. The method always +// closes the http.Response Body. +func (client PrivateLinkServicesClient) ListAutoApprovedPrivateLinkServicesResponder(resp *http.Response) (result AutoApprovedPrivateLinkServicesResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listAutoApprovedPrivateLinkServicesNextResults retrieves the next set of results, if any. +func (client PrivateLinkServicesClient) listAutoApprovedPrivateLinkServicesNextResults(ctx context.Context, lastResults AutoApprovedPrivateLinkServicesResult) (result AutoApprovedPrivateLinkServicesResult, err error) { + req, err := lastResults.autoApprovedPrivateLinkServicesResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.PrivateLinkServicesClient", "listAutoApprovedPrivateLinkServicesNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListAutoApprovedPrivateLinkServicesSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.PrivateLinkServicesClient", "listAutoApprovedPrivateLinkServicesNextResults", resp, "Failure sending next results request") + } + result, err = client.ListAutoApprovedPrivateLinkServicesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PrivateLinkServicesClient", "listAutoApprovedPrivateLinkServicesNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListAutoApprovedPrivateLinkServicesComplete enumerates all values, automatically crossing page boundaries as required. +func (client PrivateLinkServicesClient) ListAutoApprovedPrivateLinkServicesComplete(ctx context.Context, location string) (result AutoApprovedPrivateLinkServicesResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PrivateLinkServicesClient.ListAutoApprovedPrivateLinkServices") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListAutoApprovedPrivateLinkServices(ctx, location) + return +} + +// ListAutoApprovedPrivateLinkServicesByResourceGroup returns all of the private link service ids that can be linked to +// a Private Endpoint with auto approved in this subscription in this region. +// Parameters: +// location - the location of the domain name. +// resourceGroupName - the name of the resource group. +func (client PrivateLinkServicesClient) ListAutoApprovedPrivateLinkServicesByResourceGroup(ctx context.Context, location string, resourceGroupName string) (result AutoApprovedPrivateLinkServicesResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PrivateLinkServicesClient.ListAutoApprovedPrivateLinkServicesByResourceGroup") + defer func() { + sc := -1 + if result.aaplsr.Response.Response != nil { + sc = result.aaplsr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listAutoApprovedPrivateLinkServicesByResourceGroupNextResults + req, err := client.ListAutoApprovedPrivateLinkServicesByResourceGroupPreparer(ctx, location, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PrivateLinkServicesClient", "ListAutoApprovedPrivateLinkServicesByResourceGroup", nil, "Failure preparing request") + return + } + + resp, err := client.ListAutoApprovedPrivateLinkServicesByResourceGroupSender(req) + if err != nil { + result.aaplsr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.PrivateLinkServicesClient", "ListAutoApprovedPrivateLinkServicesByResourceGroup", resp, "Failure sending request") + return + } + + result.aaplsr, err = client.ListAutoApprovedPrivateLinkServicesByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PrivateLinkServicesClient", "ListAutoApprovedPrivateLinkServicesByResourceGroup", resp, "Failure responding to request") + } + + return +} + +// ListAutoApprovedPrivateLinkServicesByResourceGroupPreparer prepares the ListAutoApprovedPrivateLinkServicesByResourceGroup request. +func (client PrivateLinkServicesClient) ListAutoApprovedPrivateLinkServicesByResourceGroupPreparer(ctx context.Context, location string, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "location": autorest.Encode("path", location), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/locations/{location}/autoApprovedPrivateLinkServices", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListAutoApprovedPrivateLinkServicesByResourceGroupSender sends the ListAutoApprovedPrivateLinkServicesByResourceGroup request. The method will close the +// http.Response Body if it receives an error. +func (client PrivateLinkServicesClient) ListAutoApprovedPrivateLinkServicesByResourceGroupSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListAutoApprovedPrivateLinkServicesByResourceGroupResponder handles the response to the ListAutoApprovedPrivateLinkServicesByResourceGroup request. The method always +// closes the http.Response Body. +func (client PrivateLinkServicesClient) ListAutoApprovedPrivateLinkServicesByResourceGroupResponder(resp *http.Response) (result AutoApprovedPrivateLinkServicesResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listAutoApprovedPrivateLinkServicesByResourceGroupNextResults retrieves the next set of results, if any. +func (client PrivateLinkServicesClient) listAutoApprovedPrivateLinkServicesByResourceGroupNextResults(ctx context.Context, lastResults AutoApprovedPrivateLinkServicesResult) (result AutoApprovedPrivateLinkServicesResult, err error) { + req, err := lastResults.autoApprovedPrivateLinkServicesResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.PrivateLinkServicesClient", "listAutoApprovedPrivateLinkServicesByResourceGroupNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListAutoApprovedPrivateLinkServicesByResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.PrivateLinkServicesClient", "listAutoApprovedPrivateLinkServicesByResourceGroupNextResults", resp, "Failure sending next results request") + } + result, err = client.ListAutoApprovedPrivateLinkServicesByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PrivateLinkServicesClient", "listAutoApprovedPrivateLinkServicesByResourceGroupNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListAutoApprovedPrivateLinkServicesByResourceGroupComplete enumerates all values, automatically crossing page boundaries as required. +func (client PrivateLinkServicesClient) ListAutoApprovedPrivateLinkServicesByResourceGroupComplete(ctx context.Context, location string, resourceGroupName string) (result AutoApprovedPrivateLinkServicesResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PrivateLinkServicesClient.ListAutoApprovedPrivateLinkServicesByResourceGroup") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListAutoApprovedPrivateLinkServicesByResourceGroup(ctx, location, resourceGroupName) + return +} + +// ListBySubscription gets all private link service in a subscription. +func (client PrivateLinkServicesClient) ListBySubscription(ctx context.Context) (result PrivateLinkServiceListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PrivateLinkServicesClient.ListBySubscription") + defer func() { + sc := -1 + if result.plslr.Response.Response != nil { + sc = result.plslr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listBySubscriptionNextResults + req, err := client.ListBySubscriptionPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PrivateLinkServicesClient", "ListBySubscription", nil, "Failure preparing request") + return + } + + resp, err := client.ListBySubscriptionSender(req) + if err != nil { + result.plslr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.PrivateLinkServicesClient", "ListBySubscription", resp, "Failure sending request") + return + } + + result.plslr, err = client.ListBySubscriptionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PrivateLinkServicesClient", "ListBySubscription", resp, "Failure responding to request") + } + + return +} + +// ListBySubscriptionPreparer prepares the ListBySubscription request. +func (client PrivateLinkServicesClient) ListBySubscriptionPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/privateLinkServices", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListBySubscriptionSender sends the ListBySubscription request. The method will close the +// http.Response Body if it receives an error. +func (client PrivateLinkServicesClient) ListBySubscriptionSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListBySubscriptionResponder handles the response to the ListBySubscription request. The method always +// closes the http.Response Body. +func (client PrivateLinkServicesClient) ListBySubscriptionResponder(resp *http.Response) (result PrivateLinkServiceListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listBySubscriptionNextResults retrieves the next set of results, if any. +func (client PrivateLinkServicesClient) listBySubscriptionNextResults(ctx context.Context, lastResults PrivateLinkServiceListResult) (result PrivateLinkServiceListResult, err error) { + req, err := lastResults.privateLinkServiceListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.PrivateLinkServicesClient", "listBySubscriptionNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListBySubscriptionSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.PrivateLinkServicesClient", "listBySubscriptionNextResults", resp, "Failure sending next results request") + } + result, err = client.ListBySubscriptionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PrivateLinkServicesClient", "listBySubscriptionNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListBySubscriptionComplete enumerates all values, automatically crossing page boundaries as required. +func (client PrivateLinkServicesClient) ListBySubscriptionComplete(ctx context.Context) (result PrivateLinkServiceListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PrivateLinkServicesClient.ListBySubscription") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListBySubscription(ctx) + return +} + +// UpdatePrivateEndpointConnection approve or reject private end point connection for a private link service in a +// subscription. +// Parameters: +// resourceGroupName - the name of the resource group. +// serviceName - the name of the private link service. +// peConnectionName - the name of the private end point connection. +// parameters - parameters supplied to approve or reject the private end point connection. +func (client PrivateLinkServicesClient) UpdatePrivateEndpointConnection(ctx context.Context, resourceGroupName string, serviceName string, peConnectionName string, parameters PrivateEndpointConnection) (result PrivateEndpointConnection, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PrivateLinkServicesClient.UpdatePrivateEndpointConnection") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdatePrivateEndpointConnectionPreparer(ctx, resourceGroupName, serviceName, peConnectionName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PrivateLinkServicesClient", "UpdatePrivateEndpointConnection", nil, "Failure preparing request") + return + } + + resp, err := client.UpdatePrivateEndpointConnectionSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.PrivateLinkServicesClient", "UpdatePrivateEndpointConnection", resp, "Failure sending request") + return + } + + result, err = client.UpdatePrivateEndpointConnectionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PrivateLinkServicesClient", "UpdatePrivateEndpointConnection", resp, "Failure responding to request") + } + + return +} + +// UpdatePrivateEndpointConnectionPreparer prepares the UpdatePrivateEndpointConnection request. +func (client PrivateLinkServicesClient) UpdatePrivateEndpointConnectionPreparer(ctx context.Context, resourceGroupName string, serviceName string, peConnectionName string, parameters PrivateEndpointConnection) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "peConnectionName": autorest.Encode("path", peConnectionName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serviceName": autorest.Encode("path", serviceName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + parameters.Type = nil + parameters.Etag = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateLinkServices/{serviceName}/privateEndpointConnections/{peConnectionName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdatePrivateEndpointConnectionSender sends the UpdatePrivateEndpointConnection request. The method will close the +// http.Response Body if it receives an error. +func (client PrivateLinkServicesClient) UpdatePrivateEndpointConnectionSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// UpdatePrivateEndpointConnectionResponder handles the response to the UpdatePrivateEndpointConnection request. The method always +// closes the http.Response Body. +func (client PrivateLinkServicesClient) UpdatePrivateEndpointConnectionResponder(resp *http.Response) (result PrivateEndpointConnection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/network/mgmt/2019-07-01/network/profiles.go b/services/network/mgmt/2019-07-01/network/profiles.go new file mode 100644 index 000000000000..470be1127a5c --- /dev/null +++ b/services/network/mgmt/2019-07-01/network/profiles.go @@ -0,0 +1,581 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// ProfilesClient is the network Client +type ProfilesClient struct { + BaseClient +} + +// NewProfilesClient creates an instance of the ProfilesClient client. +func NewProfilesClient(subscriptionID string) ProfilesClient { + return NewProfilesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewProfilesClientWithBaseURI creates an instance of the ProfilesClient client. +func NewProfilesClientWithBaseURI(baseURI string, subscriptionID string) ProfilesClient { + return ProfilesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates a network profile. +// Parameters: +// resourceGroupName - the name of the resource group. +// networkProfileName - the name of the network profile. +// parameters - parameters supplied to the create or update network profile operation. +func (client ProfilesClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, networkProfileName string, parameters Profile) (result Profile, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ProfilesClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, networkProfileName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ProfilesClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ProfilesClient", "CreateOrUpdate", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ProfilesClient", "CreateOrUpdate", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client ProfilesClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, networkProfileName string, parameters Profile) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkProfileName": autorest.Encode("path", networkProfileName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkProfiles/{networkProfileName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client ProfilesClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client ProfilesClient) CreateOrUpdateResponder(resp *http.Response) (result Profile, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the specified network profile. +// Parameters: +// resourceGroupName - the name of the resource group. +// networkProfileName - the name of the NetworkProfile. +func (client ProfilesClient) Delete(ctx context.Context, resourceGroupName string, networkProfileName string) (result ProfilesDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ProfilesClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, networkProfileName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ProfilesClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ProfilesClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client ProfilesClient) DeletePreparer(ctx context.Context, resourceGroupName string, networkProfileName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkProfileName": autorest.Encode("path", networkProfileName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkProfiles/{networkProfileName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client ProfilesClient) DeleteSender(req *http.Request) (future ProfilesDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client ProfilesClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets the specified network profile in a specified resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +// networkProfileName - the name of the public IP prefix. +// expand - expands referenced resources. +func (client ProfilesClient) Get(ctx context.Context, resourceGroupName string, networkProfileName string, expand string) (result Profile, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ProfilesClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, networkProfileName, expand) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ProfilesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ProfilesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ProfilesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client ProfilesClient) GetPreparer(ctx context.Context, resourceGroupName string, networkProfileName string, expand string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkProfileName": autorest.Encode("path", networkProfileName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(expand) > 0 { + queryParameters["$expand"] = autorest.Encode("query", expand) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkProfiles/{networkProfileName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client ProfilesClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client ProfilesClient) GetResponder(resp *http.Response) (result Profile, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets all network profiles in a resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +func (client ProfilesClient) List(ctx context.Context, resourceGroupName string) (result ProfileListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ProfilesClient.List") + defer func() { + sc := -1 + if result.plr.Response.Response != nil { + sc = result.plr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ProfilesClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.plr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ProfilesClient", "List", resp, "Failure sending request") + return + } + + result.plr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ProfilesClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client ProfilesClient) ListPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkProfiles", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client ProfilesClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client ProfilesClient) ListResponder(resp *http.Response) (result ProfileListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client ProfilesClient) listNextResults(ctx context.Context, lastResults ProfileListResult) (result ProfileListResult, err error) { + req, err := lastResults.profileListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.ProfilesClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.ProfilesClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ProfilesClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client ProfilesClient) ListComplete(ctx context.Context, resourceGroupName string) (result ProfileListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ProfilesClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName) + return +} + +// ListAll gets all the network profiles in a subscription. +func (client ProfilesClient) ListAll(ctx context.Context) (result ProfileListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ProfilesClient.ListAll") + defer func() { + sc := -1 + if result.plr.Response.Response != nil { + sc = result.plr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listAllNextResults + req, err := client.ListAllPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ProfilesClient", "ListAll", nil, "Failure preparing request") + return + } + + resp, err := client.ListAllSender(req) + if err != nil { + result.plr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ProfilesClient", "ListAll", resp, "Failure sending request") + return + } + + result.plr, err = client.ListAllResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ProfilesClient", "ListAll", resp, "Failure responding to request") + } + + return +} + +// ListAllPreparer prepares the ListAll request. +func (client ProfilesClient) ListAllPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkProfiles", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListAllSender sends the ListAll request. The method will close the +// http.Response Body if it receives an error. +func (client ProfilesClient) ListAllSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListAllResponder handles the response to the ListAll request. The method always +// closes the http.Response Body. +func (client ProfilesClient) ListAllResponder(resp *http.Response) (result ProfileListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listAllNextResults retrieves the next set of results, if any. +func (client ProfilesClient) listAllNextResults(ctx context.Context, lastResults ProfileListResult) (result ProfileListResult, err error) { + req, err := lastResults.profileListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.ProfilesClient", "listAllNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListAllSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.ProfilesClient", "listAllNextResults", resp, "Failure sending next results request") + } + result, err = client.ListAllResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ProfilesClient", "listAllNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListAllComplete enumerates all values, automatically crossing page boundaries as required. +func (client ProfilesClient) ListAllComplete(ctx context.Context) (result ProfileListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ProfilesClient.ListAll") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListAll(ctx) + return +} + +// UpdateTags updates network profile tags. +// Parameters: +// resourceGroupName - the name of the resource group. +// networkProfileName - the name of the network profile. +// parameters - parameters supplied to update network profile tags. +func (client ProfilesClient) UpdateTags(ctx context.Context, resourceGroupName string, networkProfileName string, parameters TagsObject) (result Profile, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ProfilesClient.UpdateTags") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdateTagsPreparer(ctx, resourceGroupName, networkProfileName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ProfilesClient", "UpdateTags", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateTagsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ProfilesClient", "UpdateTags", resp, "Failure sending request") + return + } + + result, err = client.UpdateTagsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ProfilesClient", "UpdateTags", resp, "Failure responding to request") + } + + return +} + +// UpdateTagsPreparer prepares the UpdateTags request. +func (client ProfilesClient) UpdateTagsPreparer(ctx context.Context, resourceGroupName string, networkProfileName string, parameters TagsObject) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkProfileName": autorest.Encode("path", networkProfileName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkProfiles/{networkProfileName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateTagsSender sends the UpdateTags request. The method will close the +// http.Response Body if it receives an error. +func (client ProfilesClient) UpdateTagsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// UpdateTagsResponder handles the response to the UpdateTags request. The method always +// closes the http.Response Body. +func (client ProfilesClient) UpdateTagsResponder(resp *http.Response) (result Profile, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/network/mgmt/2019-07-01/network/publicipaddresses.go b/services/network/mgmt/2019-07-01/network/publicipaddresses.go new file mode 100644 index 000000000000..011ceb875cfb --- /dev/null +++ b/services/network/mgmt/2019-07-01/network/publicipaddresses.go @@ -0,0 +1,920 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// PublicIPAddressesClient is the network Client +type PublicIPAddressesClient struct { + BaseClient +} + +// NewPublicIPAddressesClient creates an instance of the PublicIPAddressesClient client. +func NewPublicIPAddressesClient(subscriptionID string) PublicIPAddressesClient { + return NewPublicIPAddressesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewPublicIPAddressesClientWithBaseURI creates an instance of the PublicIPAddressesClient client. +func NewPublicIPAddressesClientWithBaseURI(baseURI string, subscriptionID string) PublicIPAddressesClient { + return PublicIPAddressesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates a static or dynamic public IP address. +// Parameters: +// resourceGroupName - the name of the resource group. +// publicIPAddressName - the name of the public IP address. +// parameters - parameters supplied to the create or update public IP address operation. +func (client PublicIPAddressesClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, publicIPAddressName string, parameters PublicIPAddress) (result PublicIPAddressesCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PublicIPAddressesClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.PublicIPAddressPropertiesFormat", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.PublicIPAddressPropertiesFormat.IPConfiguration", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.PublicIPAddressPropertiesFormat.IPConfiguration.IPConfigurationPropertiesFormat", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.PublicIPAddressPropertiesFormat.IPConfiguration.IPConfigurationPropertiesFormat.PublicIPAddress", Name: validation.Null, Rule: false, Chain: nil}}}, + }}, + }}}}}); err != nil { + return result, validation.NewError("network.PublicIPAddressesClient", "CreateOrUpdate", err.Error()) + } + + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, publicIPAddressName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PublicIPAddressesClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PublicIPAddressesClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client PublicIPAddressesClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, publicIPAddressName string, parameters PublicIPAddress) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "publicIpAddressName": autorest.Encode("path", publicIPAddressName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses/{publicIpAddressName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client PublicIPAddressesClient) CreateOrUpdateSender(req *http.Request) (future PublicIPAddressesCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client PublicIPAddressesClient) CreateOrUpdateResponder(resp *http.Response) (result PublicIPAddress, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the specified public IP address. +// Parameters: +// resourceGroupName - the name of the resource group. +// publicIPAddressName - the name of the subnet. +func (client PublicIPAddressesClient) Delete(ctx context.Context, resourceGroupName string, publicIPAddressName string) (result PublicIPAddressesDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PublicIPAddressesClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, publicIPAddressName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PublicIPAddressesClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PublicIPAddressesClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client PublicIPAddressesClient) DeletePreparer(ctx context.Context, resourceGroupName string, publicIPAddressName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "publicIpAddressName": autorest.Encode("path", publicIPAddressName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses/{publicIpAddressName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client PublicIPAddressesClient) DeleteSender(req *http.Request) (future PublicIPAddressesDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client PublicIPAddressesClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets the specified public IP address in a specified resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +// publicIPAddressName - the name of the subnet. +// expand - expands referenced resources. +func (client PublicIPAddressesClient) Get(ctx context.Context, resourceGroupName string, publicIPAddressName string, expand string) (result PublicIPAddress, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PublicIPAddressesClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, publicIPAddressName, expand) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PublicIPAddressesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.PublicIPAddressesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PublicIPAddressesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client PublicIPAddressesClient) GetPreparer(ctx context.Context, resourceGroupName string, publicIPAddressName string, expand string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "publicIpAddressName": autorest.Encode("path", publicIPAddressName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(expand) > 0 { + queryParameters["$expand"] = autorest.Encode("query", expand) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses/{publicIpAddressName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client PublicIPAddressesClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client PublicIPAddressesClient) GetResponder(resp *http.Response) (result PublicIPAddress, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetVirtualMachineScaleSetPublicIPAddress get the specified public IP address in a virtual machine scale set. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualMachineScaleSetName - the name of the virtual machine scale set. +// virtualmachineIndex - the virtual machine index. +// networkInterfaceName - the name of the network interface. +// IPConfigurationName - the name of the IP configuration. +// publicIPAddressName - the name of the public IP Address. +// expand - expands referenced resources. +func (client PublicIPAddressesClient) GetVirtualMachineScaleSetPublicIPAddress(ctx context.Context, resourceGroupName string, virtualMachineScaleSetName string, virtualmachineIndex string, networkInterfaceName string, IPConfigurationName string, publicIPAddressName string, expand string) (result PublicIPAddress, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PublicIPAddressesClient.GetVirtualMachineScaleSetPublicIPAddress") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetVirtualMachineScaleSetPublicIPAddressPreparer(ctx, resourceGroupName, virtualMachineScaleSetName, virtualmachineIndex, networkInterfaceName, IPConfigurationName, publicIPAddressName, expand) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PublicIPAddressesClient", "GetVirtualMachineScaleSetPublicIPAddress", nil, "Failure preparing request") + return + } + + resp, err := client.GetVirtualMachineScaleSetPublicIPAddressSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.PublicIPAddressesClient", "GetVirtualMachineScaleSetPublicIPAddress", resp, "Failure sending request") + return + } + + result, err = client.GetVirtualMachineScaleSetPublicIPAddressResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PublicIPAddressesClient", "GetVirtualMachineScaleSetPublicIPAddress", resp, "Failure responding to request") + } + + return +} + +// GetVirtualMachineScaleSetPublicIPAddressPreparer prepares the GetVirtualMachineScaleSetPublicIPAddress request. +func (client PublicIPAddressesClient) GetVirtualMachineScaleSetPublicIPAddressPreparer(ctx context.Context, resourceGroupName string, virtualMachineScaleSetName string, virtualmachineIndex string, networkInterfaceName string, IPConfigurationName string, publicIPAddressName string, expand string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "ipConfigurationName": autorest.Encode("path", IPConfigurationName), + "networkInterfaceName": autorest.Encode("path", networkInterfaceName), + "publicIpAddressName": autorest.Encode("path", publicIPAddressName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualmachineIndex": autorest.Encode("path", virtualmachineIndex), + "virtualMachineScaleSetName": autorest.Encode("path", virtualMachineScaleSetName), + } + + const APIVersion = "2018-10-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(expand) > 0 { + queryParameters["$expand"] = autorest.Encode("query", expand) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}/ipconfigurations/{ipConfigurationName}/publicipaddresses/{publicIpAddressName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetVirtualMachineScaleSetPublicIPAddressSender sends the GetVirtualMachineScaleSetPublicIPAddress request. The method will close the +// http.Response Body if it receives an error. +func (client PublicIPAddressesClient) GetVirtualMachineScaleSetPublicIPAddressSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetVirtualMachineScaleSetPublicIPAddressResponder handles the response to the GetVirtualMachineScaleSetPublicIPAddress request. The method always +// closes the http.Response Body. +func (client PublicIPAddressesClient) GetVirtualMachineScaleSetPublicIPAddressResponder(resp *http.Response) (result PublicIPAddress, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets all public IP addresses in a resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +func (client PublicIPAddressesClient) List(ctx context.Context, resourceGroupName string) (result PublicIPAddressListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PublicIPAddressesClient.List") + defer func() { + sc := -1 + if result.pialr.Response.Response != nil { + sc = result.pialr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PublicIPAddressesClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.pialr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.PublicIPAddressesClient", "List", resp, "Failure sending request") + return + } + + result.pialr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PublicIPAddressesClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client PublicIPAddressesClient) ListPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client PublicIPAddressesClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client PublicIPAddressesClient) ListResponder(resp *http.Response) (result PublicIPAddressListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client PublicIPAddressesClient) listNextResults(ctx context.Context, lastResults PublicIPAddressListResult) (result PublicIPAddressListResult, err error) { + req, err := lastResults.publicIPAddressListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.PublicIPAddressesClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.PublicIPAddressesClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PublicIPAddressesClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client PublicIPAddressesClient) ListComplete(ctx context.Context, resourceGroupName string) (result PublicIPAddressListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PublicIPAddressesClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName) + return +} + +// ListAll gets all the public IP addresses in a subscription. +func (client PublicIPAddressesClient) ListAll(ctx context.Context) (result PublicIPAddressListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PublicIPAddressesClient.ListAll") + defer func() { + sc := -1 + if result.pialr.Response.Response != nil { + sc = result.pialr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listAllNextResults + req, err := client.ListAllPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PublicIPAddressesClient", "ListAll", nil, "Failure preparing request") + return + } + + resp, err := client.ListAllSender(req) + if err != nil { + result.pialr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.PublicIPAddressesClient", "ListAll", resp, "Failure sending request") + return + } + + result.pialr, err = client.ListAllResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PublicIPAddressesClient", "ListAll", resp, "Failure responding to request") + } + + return +} + +// ListAllPreparer prepares the ListAll request. +func (client PublicIPAddressesClient) ListAllPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/publicIPAddresses", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListAllSender sends the ListAll request. The method will close the +// http.Response Body if it receives an error. +func (client PublicIPAddressesClient) ListAllSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListAllResponder handles the response to the ListAll request. The method always +// closes the http.Response Body. +func (client PublicIPAddressesClient) ListAllResponder(resp *http.Response) (result PublicIPAddressListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listAllNextResults retrieves the next set of results, if any. +func (client PublicIPAddressesClient) listAllNextResults(ctx context.Context, lastResults PublicIPAddressListResult) (result PublicIPAddressListResult, err error) { + req, err := lastResults.publicIPAddressListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.PublicIPAddressesClient", "listAllNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListAllSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.PublicIPAddressesClient", "listAllNextResults", resp, "Failure sending next results request") + } + result, err = client.ListAllResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PublicIPAddressesClient", "listAllNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListAllComplete enumerates all values, automatically crossing page boundaries as required. +func (client PublicIPAddressesClient) ListAllComplete(ctx context.Context) (result PublicIPAddressListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PublicIPAddressesClient.ListAll") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListAll(ctx) + return +} + +// ListVirtualMachineScaleSetPublicIPAddresses gets information about all public IP addresses on a virtual machine +// scale set level. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualMachineScaleSetName - the name of the virtual machine scale set. +func (client PublicIPAddressesClient) ListVirtualMachineScaleSetPublicIPAddresses(ctx context.Context, resourceGroupName string, virtualMachineScaleSetName string) (result PublicIPAddressListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PublicIPAddressesClient.ListVirtualMachineScaleSetPublicIPAddresses") + defer func() { + sc := -1 + if result.pialr.Response.Response != nil { + sc = result.pialr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listVirtualMachineScaleSetPublicIPAddressesNextResults + req, err := client.ListVirtualMachineScaleSetPublicIPAddressesPreparer(ctx, resourceGroupName, virtualMachineScaleSetName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PublicIPAddressesClient", "ListVirtualMachineScaleSetPublicIPAddresses", nil, "Failure preparing request") + return + } + + resp, err := client.ListVirtualMachineScaleSetPublicIPAddressesSender(req) + if err != nil { + result.pialr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.PublicIPAddressesClient", "ListVirtualMachineScaleSetPublicIPAddresses", resp, "Failure sending request") + return + } + + result.pialr, err = client.ListVirtualMachineScaleSetPublicIPAddressesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PublicIPAddressesClient", "ListVirtualMachineScaleSetPublicIPAddresses", resp, "Failure responding to request") + } + + return +} + +// ListVirtualMachineScaleSetPublicIPAddressesPreparer prepares the ListVirtualMachineScaleSetPublicIPAddresses request. +func (client PublicIPAddressesClient) ListVirtualMachineScaleSetPublicIPAddressesPreparer(ctx context.Context, resourceGroupName string, virtualMachineScaleSetName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualMachineScaleSetName": autorest.Encode("path", virtualMachineScaleSetName), + } + + const APIVersion = "2018-10-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/publicipaddresses", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListVirtualMachineScaleSetPublicIPAddressesSender sends the ListVirtualMachineScaleSetPublicIPAddresses request. The method will close the +// http.Response Body if it receives an error. +func (client PublicIPAddressesClient) ListVirtualMachineScaleSetPublicIPAddressesSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListVirtualMachineScaleSetPublicIPAddressesResponder handles the response to the ListVirtualMachineScaleSetPublicIPAddresses request. The method always +// closes the http.Response Body. +func (client PublicIPAddressesClient) ListVirtualMachineScaleSetPublicIPAddressesResponder(resp *http.Response) (result PublicIPAddressListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listVirtualMachineScaleSetPublicIPAddressesNextResults retrieves the next set of results, if any. +func (client PublicIPAddressesClient) listVirtualMachineScaleSetPublicIPAddressesNextResults(ctx context.Context, lastResults PublicIPAddressListResult) (result PublicIPAddressListResult, err error) { + req, err := lastResults.publicIPAddressListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.PublicIPAddressesClient", "listVirtualMachineScaleSetPublicIPAddressesNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListVirtualMachineScaleSetPublicIPAddressesSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.PublicIPAddressesClient", "listVirtualMachineScaleSetPublicIPAddressesNextResults", resp, "Failure sending next results request") + } + result, err = client.ListVirtualMachineScaleSetPublicIPAddressesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PublicIPAddressesClient", "listVirtualMachineScaleSetPublicIPAddressesNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListVirtualMachineScaleSetPublicIPAddressesComplete enumerates all values, automatically crossing page boundaries as required. +func (client PublicIPAddressesClient) ListVirtualMachineScaleSetPublicIPAddressesComplete(ctx context.Context, resourceGroupName string, virtualMachineScaleSetName string) (result PublicIPAddressListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PublicIPAddressesClient.ListVirtualMachineScaleSetPublicIPAddresses") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListVirtualMachineScaleSetPublicIPAddresses(ctx, resourceGroupName, virtualMachineScaleSetName) + return +} + +// ListVirtualMachineScaleSetVMPublicIPAddresses gets information about all public IP addresses in a virtual machine IP +// configuration in a virtual machine scale set. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualMachineScaleSetName - the name of the virtual machine scale set. +// virtualmachineIndex - the virtual machine index. +// networkInterfaceName - the network interface name. +// IPConfigurationName - the IP configuration name. +func (client PublicIPAddressesClient) ListVirtualMachineScaleSetVMPublicIPAddresses(ctx context.Context, resourceGroupName string, virtualMachineScaleSetName string, virtualmachineIndex string, networkInterfaceName string, IPConfigurationName string) (result PublicIPAddressListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PublicIPAddressesClient.ListVirtualMachineScaleSetVMPublicIPAddresses") + defer func() { + sc := -1 + if result.pialr.Response.Response != nil { + sc = result.pialr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listVirtualMachineScaleSetVMPublicIPAddressesNextResults + req, err := client.ListVirtualMachineScaleSetVMPublicIPAddressesPreparer(ctx, resourceGroupName, virtualMachineScaleSetName, virtualmachineIndex, networkInterfaceName, IPConfigurationName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PublicIPAddressesClient", "ListVirtualMachineScaleSetVMPublicIPAddresses", nil, "Failure preparing request") + return + } + + resp, err := client.ListVirtualMachineScaleSetVMPublicIPAddressesSender(req) + if err != nil { + result.pialr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.PublicIPAddressesClient", "ListVirtualMachineScaleSetVMPublicIPAddresses", resp, "Failure sending request") + return + } + + result.pialr, err = client.ListVirtualMachineScaleSetVMPublicIPAddressesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PublicIPAddressesClient", "ListVirtualMachineScaleSetVMPublicIPAddresses", resp, "Failure responding to request") + } + + return +} + +// ListVirtualMachineScaleSetVMPublicIPAddressesPreparer prepares the ListVirtualMachineScaleSetVMPublicIPAddresses request. +func (client PublicIPAddressesClient) ListVirtualMachineScaleSetVMPublicIPAddressesPreparer(ctx context.Context, resourceGroupName string, virtualMachineScaleSetName string, virtualmachineIndex string, networkInterfaceName string, IPConfigurationName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "ipConfigurationName": autorest.Encode("path", IPConfigurationName), + "networkInterfaceName": autorest.Encode("path", networkInterfaceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualmachineIndex": autorest.Encode("path", virtualmachineIndex), + "virtualMachineScaleSetName": autorest.Encode("path", virtualMachineScaleSetName), + } + + const APIVersion = "2018-10-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}/ipconfigurations/{ipConfigurationName}/publicipaddresses", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListVirtualMachineScaleSetVMPublicIPAddressesSender sends the ListVirtualMachineScaleSetVMPublicIPAddresses request. The method will close the +// http.Response Body if it receives an error. +func (client PublicIPAddressesClient) ListVirtualMachineScaleSetVMPublicIPAddressesSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListVirtualMachineScaleSetVMPublicIPAddressesResponder handles the response to the ListVirtualMachineScaleSetVMPublicIPAddresses request. The method always +// closes the http.Response Body. +func (client PublicIPAddressesClient) ListVirtualMachineScaleSetVMPublicIPAddressesResponder(resp *http.Response) (result PublicIPAddressListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listVirtualMachineScaleSetVMPublicIPAddressesNextResults retrieves the next set of results, if any. +func (client PublicIPAddressesClient) listVirtualMachineScaleSetVMPublicIPAddressesNextResults(ctx context.Context, lastResults PublicIPAddressListResult) (result PublicIPAddressListResult, err error) { + req, err := lastResults.publicIPAddressListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.PublicIPAddressesClient", "listVirtualMachineScaleSetVMPublicIPAddressesNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListVirtualMachineScaleSetVMPublicIPAddressesSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.PublicIPAddressesClient", "listVirtualMachineScaleSetVMPublicIPAddressesNextResults", resp, "Failure sending next results request") + } + result, err = client.ListVirtualMachineScaleSetVMPublicIPAddressesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PublicIPAddressesClient", "listVirtualMachineScaleSetVMPublicIPAddressesNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListVirtualMachineScaleSetVMPublicIPAddressesComplete enumerates all values, automatically crossing page boundaries as required. +func (client PublicIPAddressesClient) ListVirtualMachineScaleSetVMPublicIPAddressesComplete(ctx context.Context, resourceGroupName string, virtualMachineScaleSetName string, virtualmachineIndex string, networkInterfaceName string, IPConfigurationName string) (result PublicIPAddressListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PublicIPAddressesClient.ListVirtualMachineScaleSetVMPublicIPAddresses") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListVirtualMachineScaleSetVMPublicIPAddresses(ctx, resourceGroupName, virtualMachineScaleSetName, virtualmachineIndex, networkInterfaceName, IPConfigurationName) + return +} + +// UpdateTags updates public IP address tags. +// Parameters: +// resourceGroupName - the name of the resource group. +// publicIPAddressName - the name of the public IP address. +// parameters - parameters supplied to update public IP address tags. +func (client PublicIPAddressesClient) UpdateTags(ctx context.Context, resourceGroupName string, publicIPAddressName string, parameters TagsObject) (result PublicIPAddressesUpdateTagsFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PublicIPAddressesClient.UpdateTags") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdateTagsPreparer(ctx, resourceGroupName, publicIPAddressName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PublicIPAddressesClient", "UpdateTags", nil, "Failure preparing request") + return + } + + result, err = client.UpdateTagsSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PublicIPAddressesClient", "UpdateTags", result.Response(), "Failure sending request") + return + } + + return +} + +// UpdateTagsPreparer prepares the UpdateTags request. +func (client PublicIPAddressesClient) UpdateTagsPreparer(ctx context.Context, resourceGroupName string, publicIPAddressName string, parameters TagsObject) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "publicIpAddressName": autorest.Encode("path", publicIPAddressName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses/{publicIpAddressName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateTagsSender sends the UpdateTags request. The method will close the +// http.Response Body if it receives an error. +func (client PublicIPAddressesClient) UpdateTagsSender(req *http.Request) (future PublicIPAddressesUpdateTagsFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// UpdateTagsResponder handles the response to the UpdateTags request. The method always +// closes the http.Response Body. +func (client PublicIPAddressesClient) UpdateTagsResponder(resp *http.Response) (result PublicIPAddress, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/network/mgmt/2019-07-01/network/publicipprefixes.go b/services/network/mgmt/2019-07-01/network/publicipprefixes.go new file mode 100644 index 000000000000..0d92dea80fdd --- /dev/null +++ b/services/network/mgmt/2019-07-01/network/publicipprefixes.go @@ -0,0 +1,581 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// PublicIPPrefixesClient is the network Client +type PublicIPPrefixesClient struct { + BaseClient +} + +// NewPublicIPPrefixesClient creates an instance of the PublicIPPrefixesClient client. +func NewPublicIPPrefixesClient(subscriptionID string) PublicIPPrefixesClient { + return NewPublicIPPrefixesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewPublicIPPrefixesClientWithBaseURI creates an instance of the PublicIPPrefixesClient client. +func NewPublicIPPrefixesClientWithBaseURI(baseURI string, subscriptionID string) PublicIPPrefixesClient { + return PublicIPPrefixesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates a static or dynamic public IP prefix. +// Parameters: +// resourceGroupName - the name of the resource group. +// publicIPPrefixName - the name of the public IP prefix. +// parameters - parameters supplied to the create or update public IP prefix operation. +func (client PublicIPPrefixesClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, publicIPPrefixName string, parameters PublicIPPrefix) (result PublicIPPrefixesCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PublicIPPrefixesClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, publicIPPrefixName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PublicIPPrefixesClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PublicIPPrefixesClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client PublicIPPrefixesClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, publicIPPrefixName string, parameters PublicIPPrefix) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "publicIpPrefixName": autorest.Encode("path", publicIPPrefixName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIpPrefixName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client PublicIPPrefixesClient) CreateOrUpdateSender(req *http.Request) (future PublicIPPrefixesCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client PublicIPPrefixesClient) CreateOrUpdateResponder(resp *http.Response) (result PublicIPPrefix, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the specified public IP prefix. +// Parameters: +// resourceGroupName - the name of the resource group. +// publicIPPrefixName - the name of the PublicIpPrefix. +func (client PublicIPPrefixesClient) Delete(ctx context.Context, resourceGroupName string, publicIPPrefixName string) (result PublicIPPrefixesDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PublicIPPrefixesClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, publicIPPrefixName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PublicIPPrefixesClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PublicIPPrefixesClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client PublicIPPrefixesClient) DeletePreparer(ctx context.Context, resourceGroupName string, publicIPPrefixName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "publicIpPrefixName": autorest.Encode("path", publicIPPrefixName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIpPrefixName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client PublicIPPrefixesClient) DeleteSender(req *http.Request) (future PublicIPPrefixesDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client PublicIPPrefixesClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets the specified public IP prefix in a specified resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +// publicIPPrefixName - the name of the public IP prefix. +// expand - expands referenced resources. +func (client PublicIPPrefixesClient) Get(ctx context.Context, resourceGroupName string, publicIPPrefixName string, expand string) (result PublicIPPrefix, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PublicIPPrefixesClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, publicIPPrefixName, expand) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PublicIPPrefixesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.PublicIPPrefixesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PublicIPPrefixesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client PublicIPPrefixesClient) GetPreparer(ctx context.Context, resourceGroupName string, publicIPPrefixName string, expand string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "publicIpPrefixName": autorest.Encode("path", publicIPPrefixName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(expand) > 0 { + queryParameters["$expand"] = autorest.Encode("query", expand) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIpPrefixName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client PublicIPPrefixesClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client PublicIPPrefixesClient) GetResponder(resp *http.Response) (result PublicIPPrefix, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets all public IP prefixes in a resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +func (client PublicIPPrefixesClient) List(ctx context.Context, resourceGroupName string) (result PublicIPPrefixListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PublicIPPrefixesClient.List") + defer func() { + sc := -1 + if result.piplr.Response.Response != nil { + sc = result.piplr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PublicIPPrefixesClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.piplr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.PublicIPPrefixesClient", "List", resp, "Failure sending request") + return + } + + result.piplr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PublicIPPrefixesClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client PublicIPPrefixesClient) ListPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client PublicIPPrefixesClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client PublicIPPrefixesClient) ListResponder(resp *http.Response) (result PublicIPPrefixListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client PublicIPPrefixesClient) listNextResults(ctx context.Context, lastResults PublicIPPrefixListResult) (result PublicIPPrefixListResult, err error) { + req, err := lastResults.publicIPPrefixListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.PublicIPPrefixesClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.PublicIPPrefixesClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PublicIPPrefixesClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client PublicIPPrefixesClient) ListComplete(ctx context.Context, resourceGroupName string) (result PublicIPPrefixListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PublicIPPrefixesClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName) + return +} + +// ListAll gets all the public IP prefixes in a subscription. +func (client PublicIPPrefixesClient) ListAll(ctx context.Context) (result PublicIPPrefixListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PublicIPPrefixesClient.ListAll") + defer func() { + sc := -1 + if result.piplr.Response.Response != nil { + sc = result.piplr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listAllNextResults + req, err := client.ListAllPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PublicIPPrefixesClient", "ListAll", nil, "Failure preparing request") + return + } + + resp, err := client.ListAllSender(req) + if err != nil { + result.piplr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.PublicIPPrefixesClient", "ListAll", resp, "Failure sending request") + return + } + + result.piplr, err = client.ListAllResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PublicIPPrefixesClient", "ListAll", resp, "Failure responding to request") + } + + return +} + +// ListAllPreparer prepares the ListAll request. +func (client PublicIPPrefixesClient) ListAllPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/publicIPPrefixes", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListAllSender sends the ListAll request. The method will close the +// http.Response Body if it receives an error. +func (client PublicIPPrefixesClient) ListAllSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListAllResponder handles the response to the ListAll request. The method always +// closes the http.Response Body. +func (client PublicIPPrefixesClient) ListAllResponder(resp *http.Response) (result PublicIPPrefixListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listAllNextResults retrieves the next set of results, if any. +func (client PublicIPPrefixesClient) listAllNextResults(ctx context.Context, lastResults PublicIPPrefixListResult) (result PublicIPPrefixListResult, err error) { + req, err := lastResults.publicIPPrefixListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.PublicIPPrefixesClient", "listAllNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListAllSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.PublicIPPrefixesClient", "listAllNextResults", resp, "Failure sending next results request") + } + result, err = client.ListAllResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PublicIPPrefixesClient", "listAllNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListAllComplete enumerates all values, automatically crossing page boundaries as required. +func (client PublicIPPrefixesClient) ListAllComplete(ctx context.Context) (result PublicIPPrefixListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PublicIPPrefixesClient.ListAll") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListAll(ctx) + return +} + +// UpdateTags updates public IP prefix tags. +// Parameters: +// resourceGroupName - the name of the resource group. +// publicIPPrefixName - the name of the public IP prefix. +// parameters - parameters supplied to update public IP prefix tags. +func (client PublicIPPrefixesClient) UpdateTags(ctx context.Context, resourceGroupName string, publicIPPrefixName string, parameters TagsObject) (result PublicIPPrefixesUpdateTagsFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PublicIPPrefixesClient.UpdateTags") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdateTagsPreparer(ctx, resourceGroupName, publicIPPrefixName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PublicIPPrefixesClient", "UpdateTags", nil, "Failure preparing request") + return + } + + result, err = client.UpdateTagsSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PublicIPPrefixesClient", "UpdateTags", result.Response(), "Failure sending request") + return + } + + return +} + +// UpdateTagsPreparer prepares the UpdateTags request. +func (client PublicIPPrefixesClient) UpdateTagsPreparer(ctx context.Context, resourceGroupName string, publicIPPrefixName string, parameters TagsObject) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "publicIpPrefixName": autorest.Encode("path", publicIPPrefixName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIpPrefixName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateTagsSender sends the UpdateTags request. The method will close the +// http.Response Body if it receives an error. +func (client PublicIPPrefixesClient) UpdateTagsSender(req *http.Request) (future PublicIPPrefixesUpdateTagsFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// UpdateTagsResponder handles the response to the UpdateTags request. The method always +// closes the http.Response Body. +func (client PublicIPPrefixesClient) UpdateTagsResponder(resp *http.Response) (result PublicIPPrefix, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/network/mgmt/2019-07-01/network/resourcenavigationlinks.go b/services/network/mgmt/2019-07-01/network/resourcenavigationlinks.go new file mode 100644 index 000000000000..2740bb8d9899 --- /dev/null +++ b/services/network/mgmt/2019-07-01/network/resourcenavigationlinks.go @@ -0,0 +1,120 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// ResourceNavigationLinksClient is the network Client +type ResourceNavigationLinksClient struct { + BaseClient +} + +// NewResourceNavigationLinksClient creates an instance of the ResourceNavigationLinksClient client. +func NewResourceNavigationLinksClient(subscriptionID string) ResourceNavigationLinksClient { + return NewResourceNavigationLinksClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewResourceNavigationLinksClientWithBaseURI creates an instance of the ResourceNavigationLinksClient client. +func NewResourceNavigationLinksClientWithBaseURI(baseURI string, subscriptionID string) ResourceNavigationLinksClient { + return ResourceNavigationLinksClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// List gets a list of resource navigation links for a subnet. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualNetworkName - the name of the virtual network. +// subnetName - the name of the subnet. +func (client ResourceNavigationLinksClient) List(ctx context.Context, resourceGroupName string, virtualNetworkName string, subnetName string) (result ResourceNavigationLinksListResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ResourceNavigationLinksClient.List") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListPreparer(ctx, resourceGroupName, virtualNetworkName, subnetName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ResourceNavigationLinksClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ResourceNavigationLinksClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ResourceNavigationLinksClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client ResourceNavigationLinksClient) ListPreparer(ctx context.Context, resourceGroupName string, virtualNetworkName string, subnetName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subnetName": autorest.Encode("path", subnetName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkName": autorest.Encode("path", virtualNetworkName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}/ResourceNavigationLinks", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client ResourceNavigationLinksClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client ResourceNavigationLinksClient) ListResponder(resp *http.Response) (result ResourceNavigationLinksListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/network/mgmt/2019-07-01/network/routefilterrules.go b/services/network/mgmt/2019-07-01/network/routefilterrules.go new file mode 100644 index 000000000000..72c1bddaaf8c --- /dev/null +++ b/services/network/mgmt/2019-07-01/network/routefilterrules.go @@ -0,0 +1,490 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// RouteFilterRulesClient is the network Client +type RouteFilterRulesClient struct { + BaseClient +} + +// NewRouteFilterRulesClient creates an instance of the RouteFilterRulesClient client. +func NewRouteFilterRulesClient(subscriptionID string) RouteFilterRulesClient { + return NewRouteFilterRulesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewRouteFilterRulesClientWithBaseURI creates an instance of the RouteFilterRulesClient client. +func NewRouteFilterRulesClientWithBaseURI(baseURI string, subscriptionID string) RouteFilterRulesClient { + return RouteFilterRulesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates a route in the specified route filter. +// Parameters: +// resourceGroupName - the name of the resource group. +// routeFilterName - the name of the route filter. +// ruleName - the name of the route filter rule. +// routeFilterRuleParameters - parameters supplied to the create or update route filter rule operation. +func (client RouteFilterRulesClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, routeFilterName string, ruleName string, routeFilterRuleParameters RouteFilterRule) (result RouteFilterRulesCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RouteFilterRulesClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: routeFilterRuleParameters, + Constraints: []validation.Constraint{{Target: "routeFilterRuleParameters.RouteFilterRulePropertiesFormat", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "routeFilterRuleParameters.RouteFilterRulePropertiesFormat.RouteFilterRuleType", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "routeFilterRuleParameters.RouteFilterRulePropertiesFormat.Communities", Name: validation.Null, Rule: true, Chain: nil}, + }}}}}); err != nil { + return result, validation.NewError("network.RouteFilterRulesClient", "CreateOrUpdate", err.Error()) + } + + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, routeFilterName, ruleName, routeFilterRuleParameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteFilterRulesClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteFilterRulesClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client RouteFilterRulesClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, routeFilterName string, ruleName string, routeFilterRuleParameters RouteFilterRule) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "routeFilterName": autorest.Encode("path", routeFilterName), + "ruleName": autorest.Encode("path", ruleName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + routeFilterRuleParameters.Etag = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}/routeFilterRules/{ruleName}", pathParameters), + autorest.WithJSON(routeFilterRuleParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client RouteFilterRulesClient) CreateOrUpdateSender(req *http.Request) (future RouteFilterRulesCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client RouteFilterRulesClient) CreateOrUpdateResponder(resp *http.Response) (result RouteFilterRule, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the specified rule from a route filter. +// Parameters: +// resourceGroupName - the name of the resource group. +// routeFilterName - the name of the route filter. +// ruleName - the name of the rule. +func (client RouteFilterRulesClient) Delete(ctx context.Context, resourceGroupName string, routeFilterName string, ruleName string) (result RouteFilterRulesDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RouteFilterRulesClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, routeFilterName, ruleName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteFilterRulesClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteFilterRulesClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client RouteFilterRulesClient) DeletePreparer(ctx context.Context, resourceGroupName string, routeFilterName string, ruleName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "routeFilterName": autorest.Encode("path", routeFilterName), + "ruleName": autorest.Encode("path", ruleName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}/routeFilterRules/{ruleName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client RouteFilterRulesClient) DeleteSender(req *http.Request) (future RouteFilterRulesDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client RouteFilterRulesClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets the specified rule from a route filter. +// Parameters: +// resourceGroupName - the name of the resource group. +// routeFilterName - the name of the route filter. +// ruleName - the name of the rule. +func (client RouteFilterRulesClient) Get(ctx context.Context, resourceGroupName string, routeFilterName string, ruleName string) (result RouteFilterRule, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RouteFilterRulesClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, routeFilterName, ruleName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteFilterRulesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.RouteFilterRulesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteFilterRulesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client RouteFilterRulesClient) GetPreparer(ctx context.Context, resourceGroupName string, routeFilterName string, ruleName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "routeFilterName": autorest.Encode("path", routeFilterName), + "ruleName": autorest.Encode("path", ruleName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}/routeFilterRules/{ruleName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client RouteFilterRulesClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client RouteFilterRulesClient) GetResponder(resp *http.Response) (result RouteFilterRule, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByRouteFilter gets all RouteFilterRules in a route filter. +// Parameters: +// resourceGroupName - the name of the resource group. +// routeFilterName - the name of the route filter. +func (client RouteFilterRulesClient) ListByRouteFilter(ctx context.Context, resourceGroupName string, routeFilterName string) (result RouteFilterRuleListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RouteFilterRulesClient.ListByRouteFilter") + defer func() { + sc := -1 + if result.rfrlr.Response.Response != nil { + sc = result.rfrlr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listByRouteFilterNextResults + req, err := client.ListByRouteFilterPreparer(ctx, resourceGroupName, routeFilterName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteFilterRulesClient", "ListByRouteFilter", nil, "Failure preparing request") + return + } + + resp, err := client.ListByRouteFilterSender(req) + if err != nil { + result.rfrlr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.RouteFilterRulesClient", "ListByRouteFilter", resp, "Failure sending request") + return + } + + result.rfrlr, err = client.ListByRouteFilterResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteFilterRulesClient", "ListByRouteFilter", resp, "Failure responding to request") + } + + return +} + +// ListByRouteFilterPreparer prepares the ListByRouteFilter request. +func (client RouteFilterRulesClient) ListByRouteFilterPreparer(ctx context.Context, resourceGroupName string, routeFilterName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "routeFilterName": autorest.Encode("path", routeFilterName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}/routeFilterRules", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByRouteFilterSender sends the ListByRouteFilter request. The method will close the +// http.Response Body if it receives an error. +func (client RouteFilterRulesClient) ListByRouteFilterSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByRouteFilterResponder handles the response to the ListByRouteFilter request. The method always +// closes the http.Response Body. +func (client RouteFilterRulesClient) ListByRouteFilterResponder(resp *http.Response) (result RouteFilterRuleListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listByRouteFilterNextResults retrieves the next set of results, if any. +func (client RouteFilterRulesClient) listByRouteFilterNextResults(ctx context.Context, lastResults RouteFilterRuleListResult) (result RouteFilterRuleListResult, err error) { + req, err := lastResults.routeFilterRuleListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.RouteFilterRulesClient", "listByRouteFilterNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListByRouteFilterSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.RouteFilterRulesClient", "listByRouteFilterNextResults", resp, "Failure sending next results request") + } + result, err = client.ListByRouteFilterResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteFilterRulesClient", "listByRouteFilterNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListByRouteFilterComplete enumerates all values, automatically crossing page boundaries as required. +func (client RouteFilterRulesClient) ListByRouteFilterComplete(ctx context.Context, resourceGroupName string, routeFilterName string) (result RouteFilterRuleListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RouteFilterRulesClient.ListByRouteFilter") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListByRouteFilter(ctx, resourceGroupName, routeFilterName) + return +} + +// Update updates a route in the specified route filter. +// Parameters: +// resourceGroupName - the name of the resource group. +// routeFilterName - the name of the route filter. +// ruleName - the name of the route filter rule. +// routeFilterRuleParameters - parameters supplied to the update route filter rule operation. +func (client RouteFilterRulesClient) Update(ctx context.Context, resourceGroupName string, routeFilterName string, ruleName string, routeFilterRuleParameters PatchRouteFilterRule) (result RouteFilterRulesUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RouteFilterRulesClient.Update") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdatePreparer(ctx, resourceGroupName, routeFilterName, ruleName, routeFilterRuleParameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteFilterRulesClient", "Update", nil, "Failure preparing request") + return + } + + result, err = client.UpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteFilterRulesClient", "Update", result.Response(), "Failure sending request") + return + } + + return +} + +// UpdatePreparer prepares the Update request. +func (client RouteFilterRulesClient) UpdatePreparer(ctx context.Context, resourceGroupName string, routeFilterName string, ruleName string, routeFilterRuleParameters PatchRouteFilterRule) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "routeFilterName": autorest.Encode("path", routeFilterName), + "ruleName": autorest.Encode("path", ruleName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + routeFilterRuleParameters.Name = nil + routeFilterRuleParameters.Etag = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}/routeFilterRules/{ruleName}", pathParameters), + autorest.WithJSON(routeFilterRuleParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateSender sends the Update request. The method will close the +// http.Response Body if it receives an error. +func (client RouteFilterRulesClient) UpdateSender(req *http.Request) (future RouteFilterRulesUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// UpdateResponder handles the response to the Update request. The method always +// closes the http.Response Body. +func (client RouteFilterRulesClient) UpdateResponder(resp *http.Response) (result RouteFilterRule, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/network/mgmt/2019-07-01/network/routefilters.go b/services/network/mgmt/2019-07-01/network/routefilters.go new file mode 100644 index 000000000000..959c43982388 --- /dev/null +++ b/services/network/mgmt/2019-07-01/network/routefilters.go @@ -0,0 +1,585 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// RouteFiltersClient is the network Client +type RouteFiltersClient struct { + BaseClient +} + +// NewRouteFiltersClient creates an instance of the RouteFiltersClient client. +func NewRouteFiltersClient(subscriptionID string) RouteFiltersClient { + return NewRouteFiltersClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewRouteFiltersClientWithBaseURI creates an instance of the RouteFiltersClient client. +func NewRouteFiltersClientWithBaseURI(baseURI string, subscriptionID string) RouteFiltersClient { + return RouteFiltersClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates a route filter in a specified resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +// routeFilterName - the name of the route filter. +// routeFilterParameters - parameters supplied to the create or update route filter operation. +func (client RouteFiltersClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, routeFilterName string, routeFilterParameters RouteFilter) (result RouteFiltersCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RouteFiltersClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, routeFilterName, routeFilterParameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteFiltersClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteFiltersClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client RouteFiltersClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, routeFilterName string, routeFilterParameters RouteFilter) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "routeFilterName": autorest.Encode("path", routeFilterName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + routeFilterParameters.Etag = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}", pathParameters), + autorest.WithJSON(routeFilterParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client RouteFiltersClient) CreateOrUpdateSender(req *http.Request) (future RouteFiltersCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client RouteFiltersClient) CreateOrUpdateResponder(resp *http.Response) (result RouteFilter, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the specified route filter. +// Parameters: +// resourceGroupName - the name of the resource group. +// routeFilterName - the name of the route filter. +func (client RouteFiltersClient) Delete(ctx context.Context, resourceGroupName string, routeFilterName string) (result RouteFiltersDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RouteFiltersClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, routeFilterName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteFiltersClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteFiltersClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client RouteFiltersClient) DeletePreparer(ctx context.Context, resourceGroupName string, routeFilterName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "routeFilterName": autorest.Encode("path", routeFilterName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client RouteFiltersClient) DeleteSender(req *http.Request) (future RouteFiltersDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client RouteFiltersClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets the specified route filter. +// Parameters: +// resourceGroupName - the name of the resource group. +// routeFilterName - the name of the route filter. +// expand - expands referenced express route bgp peering resources. +func (client RouteFiltersClient) Get(ctx context.Context, resourceGroupName string, routeFilterName string, expand string) (result RouteFilter, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RouteFiltersClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, routeFilterName, expand) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteFiltersClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.RouteFiltersClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteFiltersClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client RouteFiltersClient) GetPreparer(ctx context.Context, resourceGroupName string, routeFilterName string, expand string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "routeFilterName": autorest.Encode("path", routeFilterName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(expand) > 0 { + queryParameters["$expand"] = autorest.Encode("query", expand) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client RouteFiltersClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client RouteFiltersClient) GetResponder(resp *http.Response) (result RouteFilter, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets all route filters in a subscription. +func (client RouteFiltersClient) List(ctx context.Context) (result RouteFilterListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RouteFiltersClient.List") + defer func() { + sc := -1 + if result.rflr.Response.Response != nil { + sc = result.rflr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteFiltersClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.rflr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.RouteFiltersClient", "List", resp, "Failure sending request") + return + } + + result.rflr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteFiltersClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client RouteFiltersClient) ListPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/routeFilters", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client RouteFiltersClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client RouteFiltersClient) ListResponder(resp *http.Response) (result RouteFilterListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client RouteFiltersClient) listNextResults(ctx context.Context, lastResults RouteFilterListResult) (result RouteFilterListResult, err error) { + req, err := lastResults.routeFilterListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.RouteFiltersClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.RouteFiltersClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteFiltersClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client RouteFiltersClient) ListComplete(ctx context.Context) (result RouteFilterListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RouteFiltersClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx) + return +} + +// ListByResourceGroup gets all route filters in a resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +func (client RouteFiltersClient) ListByResourceGroup(ctx context.Context, resourceGroupName string) (result RouteFilterListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RouteFiltersClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.rflr.Response.Response != nil { + sc = result.rflr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listByResourceGroupNextResults + req, err := client.ListByResourceGroupPreparer(ctx, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteFiltersClient", "ListByResourceGroup", nil, "Failure preparing request") + return + } + + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.rflr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.RouteFiltersClient", "ListByResourceGroup", resp, "Failure sending request") + return + } + + result.rflr, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteFiltersClient", "ListByResourceGroup", resp, "Failure responding to request") + } + + return +} + +// ListByResourceGroupPreparer prepares the ListByResourceGroup request. +func (client RouteFiltersClient) ListByResourceGroupPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByResourceGroupSender sends the ListByResourceGroup request. The method will close the +// http.Response Body if it receives an error. +func (client RouteFiltersClient) ListByResourceGroupSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByResourceGroupResponder handles the response to the ListByResourceGroup request. The method always +// closes the http.Response Body. +func (client RouteFiltersClient) ListByResourceGroupResponder(resp *http.Response) (result RouteFilterListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listByResourceGroupNextResults retrieves the next set of results, if any. +func (client RouteFiltersClient) listByResourceGroupNextResults(ctx context.Context, lastResults RouteFilterListResult) (result RouteFilterListResult, err error) { + req, err := lastResults.routeFilterListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.RouteFiltersClient", "listByResourceGroupNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.RouteFiltersClient", "listByResourceGroupNextResults", resp, "Failure sending next results request") + } + result, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteFiltersClient", "listByResourceGroupNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListByResourceGroupComplete enumerates all values, automatically crossing page boundaries as required. +func (client RouteFiltersClient) ListByResourceGroupComplete(ctx context.Context, resourceGroupName string) (result RouteFilterListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RouteFiltersClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListByResourceGroup(ctx, resourceGroupName) + return +} + +// Update updates a route filter in a specified resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +// routeFilterName - the name of the route filter. +// routeFilterParameters - parameters supplied to the update route filter operation. +func (client RouteFiltersClient) Update(ctx context.Context, resourceGroupName string, routeFilterName string, routeFilterParameters PatchRouteFilter) (result RouteFiltersUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RouteFiltersClient.Update") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdatePreparer(ctx, resourceGroupName, routeFilterName, routeFilterParameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteFiltersClient", "Update", nil, "Failure preparing request") + return + } + + result, err = client.UpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteFiltersClient", "Update", result.Response(), "Failure sending request") + return + } + + return +} + +// UpdatePreparer prepares the Update request. +func (client RouteFiltersClient) UpdatePreparer(ctx context.Context, resourceGroupName string, routeFilterName string, routeFilterParameters PatchRouteFilter) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "routeFilterName": autorest.Encode("path", routeFilterName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + routeFilterParameters.Name = nil + routeFilterParameters.Etag = nil + routeFilterParameters.Type = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}", pathParameters), + autorest.WithJSON(routeFilterParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateSender sends the Update request. The method will close the +// http.Response Body if it receives an error. +func (client RouteFiltersClient) UpdateSender(req *http.Request) (future RouteFiltersUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// UpdateResponder handles the response to the Update request. The method always +// closes the http.Response Body. +func (client RouteFiltersClient) UpdateResponder(resp *http.Response) (result RouteFilter, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/network/mgmt/2019-07-01/network/routes.go b/services/network/mgmt/2019-07-01/network/routes.go new file mode 100644 index 000000000000..10905c1b06f0 --- /dev/null +++ b/services/network/mgmt/2019-07-01/network/routes.go @@ -0,0 +1,395 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// RoutesClient is the network Client +type RoutesClient struct { + BaseClient +} + +// NewRoutesClient creates an instance of the RoutesClient client. +func NewRoutesClient(subscriptionID string) RoutesClient { + return NewRoutesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewRoutesClientWithBaseURI creates an instance of the RoutesClient client. +func NewRoutesClientWithBaseURI(baseURI string, subscriptionID string) RoutesClient { + return RoutesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates a route in the specified route table. +// Parameters: +// resourceGroupName - the name of the resource group. +// routeTableName - the name of the route table. +// routeName - the name of the route. +// routeParameters - parameters supplied to the create or update route operation. +func (client RoutesClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, routeTableName string, routeName string, routeParameters Route) (result RoutesCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RoutesClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, routeTableName, routeName, routeParameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RoutesClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RoutesClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client RoutesClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, routeTableName string, routeName string, routeParameters Route) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "routeName": autorest.Encode("path", routeName), + "routeTableName": autorest.Encode("path", routeTableName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}/routes/{routeName}", pathParameters), + autorest.WithJSON(routeParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client RoutesClient) CreateOrUpdateSender(req *http.Request) (future RoutesCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client RoutesClient) CreateOrUpdateResponder(resp *http.Response) (result Route, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the specified route from a route table. +// Parameters: +// resourceGroupName - the name of the resource group. +// routeTableName - the name of the route table. +// routeName - the name of the route. +func (client RoutesClient) Delete(ctx context.Context, resourceGroupName string, routeTableName string, routeName string) (result RoutesDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RoutesClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, routeTableName, routeName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RoutesClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RoutesClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client RoutesClient) DeletePreparer(ctx context.Context, resourceGroupName string, routeTableName string, routeName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "routeName": autorest.Encode("path", routeName), + "routeTableName": autorest.Encode("path", routeTableName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}/routes/{routeName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client RoutesClient) DeleteSender(req *http.Request) (future RoutesDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client RoutesClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets the specified route from a route table. +// Parameters: +// resourceGroupName - the name of the resource group. +// routeTableName - the name of the route table. +// routeName - the name of the route. +func (client RoutesClient) Get(ctx context.Context, resourceGroupName string, routeTableName string, routeName string) (result Route, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RoutesClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, routeTableName, routeName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RoutesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.RoutesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RoutesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client RoutesClient) GetPreparer(ctx context.Context, resourceGroupName string, routeTableName string, routeName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "routeName": autorest.Encode("path", routeName), + "routeTableName": autorest.Encode("path", routeTableName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}/routes/{routeName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client RoutesClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client RoutesClient) GetResponder(resp *http.Response) (result Route, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets all routes in a route table. +// Parameters: +// resourceGroupName - the name of the resource group. +// routeTableName - the name of the route table. +func (client RoutesClient) List(ctx context.Context, resourceGroupName string, routeTableName string) (result RouteListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RoutesClient.List") + defer func() { + sc := -1 + if result.rlr.Response.Response != nil { + sc = result.rlr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName, routeTableName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RoutesClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.rlr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.RoutesClient", "List", resp, "Failure sending request") + return + } + + result.rlr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RoutesClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client RoutesClient) ListPreparer(ctx context.Context, resourceGroupName string, routeTableName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "routeTableName": autorest.Encode("path", routeTableName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}/routes", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client RoutesClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client RoutesClient) ListResponder(resp *http.Response) (result RouteListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client RoutesClient) listNextResults(ctx context.Context, lastResults RouteListResult) (result RouteListResult, err error) { + req, err := lastResults.routeListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.RoutesClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.RoutesClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RoutesClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client RoutesClient) ListComplete(ctx context.Context, resourceGroupName string, routeTableName string) (result RouteListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RoutesClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName, routeTableName) + return +} diff --git a/services/network/mgmt/2019-07-01/network/routetables.go b/services/network/mgmt/2019-07-01/network/routetables.go new file mode 100644 index 000000000000..98a6b10e4546 --- /dev/null +++ b/services/network/mgmt/2019-07-01/network/routetables.go @@ -0,0 +1,581 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// RouteTablesClient is the network Client +type RouteTablesClient struct { + BaseClient +} + +// NewRouteTablesClient creates an instance of the RouteTablesClient client. +func NewRouteTablesClient(subscriptionID string) RouteTablesClient { + return NewRouteTablesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewRouteTablesClientWithBaseURI creates an instance of the RouteTablesClient client. +func NewRouteTablesClientWithBaseURI(baseURI string, subscriptionID string) RouteTablesClient { + return RouteTablesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate create or updates a route table in a specified resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +// routeTableName - the name of the route table. +// parameters - parameters supplied to the create or update route table operation. +func (client RouteTablesClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, routeTableName string, parameters RouteTable) (result RouteTablesCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RouteTablesClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, routeTableName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteTablesClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteTablesClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client RouteTablesClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, routeTableName string, parameters RouteTable) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "routeTableName": autorest.Encode("path", routeTableName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client RouteTablesClient) CreateOrUpdateSender(req *http.Request) (future RouteTablesCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client RouteTablesClient) CreateOrUpdateResponder(resp *http.Response) (result RouteTable, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the specified route table. +// Parameters: +// resourceGroupName - the name of the resource group. +// routeTableName - the name of the route table. +func (client RouteTablesClient) Delete(ctx context.Context, resourceGroupName string, routeTableName string) (result RouteTablesDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RouteTablesClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, routeTableName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteTablesClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteTablesClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client RouteTablesClient) DeletePreparer(ctx context.Context, resourceGroupName string, routeTableName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "routeTableName": autorest.Encode("path", routeTableName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client RouteTablesClient) DeleteSender(req *http.Request) (future RouteTablesDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client RouteTablesClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets the specified route table. +// Parameters: +// resourceGroupName - the name of the resource group. +// routeTableName - the name of the route table. +// expand - expands referenced resources. +func (client RouteTablesClient) Get(ctx context.Context, resourceGroupName string, routeTableName string, expand string) (result RouteTable, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RouteTablesClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, routeTableName, expand) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteTablesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.RouteTablesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteTablesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client RouteTablesClient) GetPreparer(ctx context.Context, resourceGroupName string, routeTableName string, expand string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "routeTableName": autorest.Encode("path", routeTableName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(expand) > 0 { + queryParameters["$expand"] = autorest.Encode("query", expand) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client RouteTablesClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client RouteTablesClient) GetResponder(resp *http.Response) (result RouteTable, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets all route tables in a resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +func (client RouteTablesClient) List(ctx context.Context, resourceGroupName string) (result RouteTableListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RouteTablesClient.List") + defer func() { + sc := -1 + if result.rtlr.Response.Response != nil { + sc = result.rtlr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteTablesClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.rtlr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.RouteTablesClient", "List", resp, "Failure sending request") + return + } + + result.rtlr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteTablesClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client RouteTablesClient) ListPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client RouteTablesClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client RouteTablesClient) ListResponder(resp *http.Response) (result RouteTableListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client RouteTablesClient) listNextResults(ctx context.Context, lastResults RouteTableListResult) (result RouteTableListResult, err error) { + req, err := lastResults.routeTableListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.RouteTablesClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.RouteTablesClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteTablesClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client RouteTablesClient) ListComplete(ctx context.Context, resourceGroupName string) (result RouteTableListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RouteTablesClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName) + return +} + +// ListAll gets all route tables in a subscription. +func (client RouteTablesClient) ListAll(ctx context.Context) (result RouteTableListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RouteTablesClient.ListAll") + defer func() { + sc := -1 + if result.rtlr.Response.Response != nil { + sc = result.rtlr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listAllNextResults + req, err := client.ListAllPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteTablesClient", "ListAll", nil, "Failure preparing request") + return + } + + resp, err := client.ListAllSender(req) + if err != nil { + result.rtlr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.RouteTablesClient", "ListAll", resp, "Failure sending request") + return + } + + result.rtlr, err = client.ListAllResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteTablesClient", "ListAll", resp, "Failure responding to request") + } + + return +} + +// ListAllPreparer prepares the ListAll request. +func (client RouteTablesClient) ListAllPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/routeTables", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListAllSender sends the ListAll request. The method will close the +// http.Response Body if it receives an error. +func (client RouteTablesClient) ListAllSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListAllResponder handles the response to the ListAll request. The method always +// closes the http.Response Body. +func (client RouteTablesClient) ListAllResponder(resp *http.Response) (result RouteTableListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listAllNextResults retrieves the next set of results, if any. +func (client RouteTablesClient) listAllNextResults(ctx context.Context, lastResults RouteTableListResult) (result RouteTableListResult, err error) { + req, err := lastResults.routeTableListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.RouteTablesClient", "listAllNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListAllSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.RouteTablesClient", "listAllNextResults", resp, "Failure sending next results request") + } + result, err = client.ListAllResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteTablesClient", "listAllNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListAllComplete enumerates all values, automatically crossing page boundaries as required. +func (client RouteTablesClient) ListAllComplete(ctx context.Context) (result RouteTableListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RouteTablesClient.ListAll") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListAll(ctx) + return +} + +// UpdateTags updates a route table tags. +// Parameters: +// resourceGroupName - the name of the resource group. +// routeTableName - the name of the route table. +// parameters - parameters supplied to update route table tags. +func (client RouteTablesClient) UpdateTags(ctx context.Context, resourceGroupName string, routeTableName string, parameters TagsObject) (result RouteTablesUpdateTagsFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RouteTablesClient.UpdateTags") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdateTagsPreparer(ctx, resourceGroupName, routeTableName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteTablesClient", "UpdateTags", nil, "Failure preparing request") + return + } + + result, err = client.UpdateTagsSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteTablesClient", "UpdateTags", result.Response(), "Failure sending request") + return + } + + return +} + +// UpdateTagsPreparer prepares the UpdateTags request. +func (client RouteTablesClient) UpdateTagsPreparer(ctx context.Context, resourceGroupName string, routeTableName string, parameters TagsObject) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "routeTableName": autorest.Encode("path", routeTableName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateTagsSender sends the UpdateTags request. The method will close the +// http.Response Body if it receives an error. +func (client RouteTablesClient) UpdateTagsSender(req *http.Request) (future RouteTablesUpdateTagsFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// UpdateTagsResponder handles the response to the UpdateTags request. The method always +// closes the http.Response Body. +func (client RouteTablesClient) UpdateTagsResponder(resp *http.Response) (result RouteTable, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/network/mgmt/2019-07-01/network/securitygroups.go b/services/network/mgmt/2019-07-01/network/securitygroups.go new file mode 100644 index 000000000000..3df3e1de9ed0 --- /dev/null +++ b/services/network/mgmt/2019-07-01/network/securitygroups.go @@ -0,0 +1,581 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// SecurityGroupsClient is the network Client +type SecurityGroupsClient struct { + BaseClient +} + +// NewSecurityGroupsClient creates an instance of the SecurityGroupsClient client. +func NewSecurityGroupsClient(subscriptionID string) SecurityGroupsClient { + return NewSecurityGroupsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewSecurityGroupsClientWithBaseURI creates an instance of the SecurityGroupsClient client. +func NewSecurityGroupsClientWithBaseURI(baseURI string, subscriptionID string) SecurityGroupsClient { + return SecurityGroupsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates a network security group in the specified resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +// networkSecurityGroupName - the name of the network security group. +// parameters - parameters supplied to the create or update network security group operation. +func (client SecurityGroupsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, networkSecurityGroupName string, parameters SecurityGroup) (result SecurityGroupsCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SecurityGroupsClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, networkSecurityGroupName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.SecurityGroupsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.SecurityGroupsClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client SecurityGroupsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, networkSecurityGroupName string, parameters SecurityGroup) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkSecurityGroupName": autorest.Encode("path", networkSecurityGroupName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client SecurityGroupsClient) CreateOrUpdateSender(req *http.Request) (future SecurityGroupsCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client SecurityGroupsClient) CreateOrUpdateResponder(resp *http.Response) (result SecurityGroup, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the specified network security group. +// Parameters: +// resourceGroupName - the name of the resource group. +// networkSecurityGroupName - the name of the network security group. +func (client SecurityGroupsClient) Delete(ctx context.Context, resourceGroupName string, networkSecurityGroupName string) (result SecurityGroupsDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SecurityGroupsClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, networkSecurityGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.SecurityGroupsClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.SecurityGroupsClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client SecurityGroupsClient) DeletePreparer(ctx context.Context, resourceGroupName string, networkSecurityGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkSecurityGroupName": autorest.Encode("path", networkSecurityGroupName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client SecurityGroupsClient) DeleteSender(req *http.Request) (future SecurityGroupsDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client SecurityGroupsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets the specified network security group. +// Parameters: +// resourceGroupName - the name of the resource group. +// networkSecurityGroupName - the name of the network security group. +// expand - expands referenced resources. +func (client SecurityGroupsClient) Get(ctx context.Context, resourceGroupName string, networkSecurityGroupName string, expand string) (result SecurityGroup, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SecurityGroupsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, networkSecurityGroupName, expand) + if err != nil { + err = autorest.NewErrorWithError(err, "network.SecurityGroupsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.SecurityGroupsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.SecurityGroupsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client SecurityGroupsClient) GetPreparer(ctx context.Context, resourceGroupName string, networkSecurityGroupName string, expand string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkSecurityGroupName": autorest.Encode("path", networkSecurityGroupName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(expand) > 0 { + queryParameters["$expand"] = autorest.Encode("query", expand) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client SecurityGroupsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client SecurityGroupsClient) GetResponder(resp *http.Response) (result SecurityGroup, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets all network security groups in a resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +func (client SecurityGroupsClient) List(ctx context.Context, resourceGroupName string) (result SecurityGroupListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SecurityGroupsClient.List") + defer func() { + sc := -1 + if result.sglr.Response.Response != nil { + sc = result.sglr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.SecurityGroupsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.sglr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.SecurityGroupsClient", "List", resp, "Failure sending request") + return + } + + result.sglr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.SecurityGroupsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client SecurityGroupsClient) ListPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client SecurityGroupsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client SecurityGroupsClient) ListResponder(resp *http.Response) (result SecurityGroupListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client SecurityGroupsClient) listNextResults(ctx context.Context, lastResults SecurityGroupListResult) (result SecurityGroupListResult, err error) { + req, err := lastResults.securityGroupListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.SecurityGroupsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.SecurityGroupsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.SecurityGroupsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client SecurityGroupsClient) ListComplete(ctx context.Context, resourceGroupName string) (result SecurityGroupListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SecurityGroupsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName) + return +} + +// ListAll gets all network security groups in a subscription. +func (client SecurityGroupsClient) ListAll(ctx context.Context) (result SecurityGroupListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SecurityGroupsClient.ListAll") + defer func() { + sc := -1 + if result.sglr.Response.Response != nil { + sc = result.sglr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listAllNextResults + req, err := client.ListAllPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "network.SecurityGroupsClient", "ListAll", nil, "Failure preparing request") + return + } + + resp, err := client.ListAllSender(req) + if err != nil { + result.sglr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.SecurityGroupsClient", "ListAll", resp, "Failure sending request") + return + } + + result.sglr, err = client.ListAllResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.SecurityGroupsClient", "ListAll", resp, "Failure responding to request") + } + + return +} + +// ListAllPreparer prepares the ListAll request. +func (client SecurityGroupsClient) ListAllPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkSecurityGroups", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListAllSender sends the ListAll request. The method will close the +// http.Response Body if it receives an error. +func (client SecurityGroupsClient) ListAllSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListAllResponder handles the response to the ListAll request. The method always +// closes the http.Response Body. +func (client SecurityGroupsClient) ListAllResponder(resp *http.Response) (result SecurityGroupListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listAllNextResults retrieves the next set of results, if any. +func (client SecurityGroupsClient) listAllNextResults(ctx context.Context, lastResults SecurityGroupListResult) (result SecurityGroupListResult, err error) { + req, err := lastResults.securityGroupListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.SecurityGroupsClient", "listAllNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListAllSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.SecurityGroupsClient", "listAllNextResults", resp, "Failure sending next results request") + } + result, err = client.ListAllResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.SecurityGroupsClient", "listAllNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListAllComplete enumerates all values, automatically crossing page boundaries as required. +func (client SecurityGroupsClient) ListAllComplete(ctx context.Context) (result SecurityGroupListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SecurityGroupsClient.ListAll") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListAll(ctx) + return +} + +// UpdateTags updates a network security group tags. +// Parameters: +// resourceGroupName - the name of the resource group. +// networkSecurityGroupName - the name of the network security group. +// parameters - parameters supplied to update network security group tags. +func (client SecurityGroupsClient) UpdateTags(ctx context.Context, resourceGroupName string, networkSecurityGroupName string, parameters TagsObject) (result SecurityGroupsUpdateTagsFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SecurityGroupsClient.UpdateTags") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdateTagsPreparer(ctx, resourceGroupName, networkSecurityGroupName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.SecurityGroupsClient", "UpdateTags", nil, "Failure preparing request") + return + } + + result, err = client.UpdateTagsSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.SecurityGroupsClient", "UpdateTags", result.Response(), "Failure sending request") + return + } + + return +} + +// UpdateTagsPreparer prepares the UpdateTags request. +func (client SecurityGroupsClient) UpdateTagsPreparer(ctx context.Context, resourceGroupName string, networkSecurityGroupName string, parameters TagsObject) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkSecurityGroupName": autorest.Encode("path", networkSecurityGroupName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateTagsSender sends the UpdateTags request. The method will close the +// http.Response Body if it receives an error. +func (client SecurityGroupsClient) UpdateTagsSender(req *http.Request) (future SecurityGroupsUpdateTagsFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// UpdateTagsResponder handles the response to the UpdateTags request. The method always +// closes the http.Response Body. +func (client SecurityGroupsClient) UpdateTagsResponder(resp *http.Response) (result SecurityGroup, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/network/mgmt/2019-07-01/network/securityrules.go b/services/network/mgmt/2019-07-01/network/securityrules.go new file mode 100644 index 000000000000..ab7c6a3ff491 --- /dev/null +++ b/services/network/mgmt/2019-07-01/network/securityrules.go @@ -0,0 +1,395 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// SecurityRulesClient is the network Client +type SecurityRulesClient struct { + BaseClient +} + +// NewSecurityRulesClient creates an instance of the SecurityRulesClient client. +func NewSecurityRulesClient(subscriptionID string) SecurityRulesClient { + return NewSecurityRulesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewSecurityRulesClientWithBaseURI creates an instance of the SecurityRulesClient client. +func NewSecurityRulesClientWithBaseURI(baseURI string, subscriptionID string) SecurityRulesClient { + return SecurityRulesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates a security rule in the specified network security group. +// Parameters: +// resourceGroupName - the name of the resource group. +// networkSecurityGroupName - the name of the network security group. +// securityRuleName - the name of the security rule. +// securityRuleParameters - parameters supplied to the create or update network security rule operation. +func (client SecurityRulesClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, networkSecurityGroupName string, securityRuleName string, securityRuleParameters SecurityRule) (result SecurityRulesCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SecurityRulesClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, networkSecurityGroupName, securityRuleName, securityRuleParameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.SecurityRulesClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.SecurityRulesClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client SecurityRulesClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, networkSecurityGroupName string, securityRuleName string, securityRuleParameters SecurityRule) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkSecurityGroupName": autorest.Encode("path", networkSecurityGroupName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "securityRuleName": autorest.Encode("path", securityRuleName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/securityRules/{securityRuleName}", pathParameters), + autorest.WithJSON(securityRuleParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client SecurityRulesClient) CreateOrUpdateSender(req *http.Request) (future SecurityRulesCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client SecurityRulesClient) CreateOrUpdateResponder(resp *http.Response) (result SecurityRule, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the specified network security rule. +// Parameters: +// resourceGroupName - the name of the resource group. +// networkSecurityGroupName - the name of the network security group. +// securityRuleName - the name of the security rule. +func (client SecurityRulesClient) Delete(ctx context.Context, resourceGroupName string, networkSecurityGroupName string, securityRuleName string) (result SecurityRulesDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SecurityRulesClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, networkSecurityGroupName, securityRuleName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.SecurityRulesClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.SecurityRulesClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client SecurityRulesClient) DeletePreparer(ctx context.Context, resourceGroupName string, networkSecurityGroupName string, securityRuleName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkSecurityGroupName": autorest.Encode("path", networkSecurityGroupName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "securityRuleName": autorest.Encode("path", securityRuleName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/securityRules/{securityRuleName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client SecurityRulesClient) DeleteSender(req *http.Request) (future SecurityRulesDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client SecurityRulesClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get get the specified network security rule. +// Parameters: +// resourceGroupName - the name of the resource group. +// networkSecurityGroupName - the name of the network security group. +// securityRuleName - the name of the security rule. +func (client SecurityRulesClient) Get(ctx context.Context, resourceGroupName string, networkSecurityGroupName string, securityRuleName string) (result SecurityRule, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SecurityRulesClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, networkSecurityGroupName, securityRuleName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.SecurityRulesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.SecurityRulesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.SecurityRulesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client SecurityRulesClient) GetPreparer(ctx context.Context, resourceGroupName string, networkSecurityGroupName string, securityRuleName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkSecurityGroupName": autorest.Encode("path", networkSecurityGroupName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "securityRuleName": autorest.Encode("path", securityRuleName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/securityRules/{securityRuleName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client SecurityRulesClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client SecurityRulesClient) GetResponder(resp *http.Response) (result SecurityRule, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets all security rules in a network security group. +// Parameters: +// resourceGroupName - the name of the resource group. +// networkSecurityGroupName - the name of the network security group. +func (client SecurityRulesClient) List(ctx context.Context, resourceGroupName string, networkSecurityGroupName string) (result SecurityRuleListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SecurityRulesClient.List") + defer func() { + sc := -1 + if result.srlr.Response.Response != nil { + sc = result.srlr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName, networkSecurityGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.SecurityRulesClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.srlr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.SecurityRulesClient", "List", resp, "Failure sending request") + return + } + + result.srlr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.SecurityRulesClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client SecurityRulesClient) ListPreparer(ctx context.Context, resourceGroupName string, networkSecurityGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkSecurityGroupName": autorest.Encode("path", networkSecurityGroupName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/securityRules", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client SecurityRulesClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client SecurityRulesClient) ListResponder(resp *http.Response) (result SecurityRuleListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client SecurityRulesClient) listNextResults(ctx context.Context, lastResults SecurityRuleListResult) (result SecurityRuleListResult, err error) { + req, err := lastResults.securityRuleListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.SecurityRulesClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.SecurityRulesClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.SecurityRulesClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client SecurityRulesClient) ListComplete(ctx context.Context, resourceGroupName string, networkSecurityGroupName string) (result SecurityRuleListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SecurityRulesClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName, networkSecurityGroupName) + return +} diff --git a/services/network/mgmt/2019-07-01/network/serviceassociationlinks.go b/services/network/mgmt/2019-07-01/network/serviceassociationlinks.go new file mode 100644 index 000000000000..de5889ad3039 --- /dev/null +++ b/services/network/mgmt/2019-07-01/network/serviceassociationlinks.go @@ -0,0 +1,120 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// ServiceAssociationLinksClient is the network Client +type ServiceAssociationLinksClient struct { + BaseClient +} + +// NewServiceAssociationLinksClient creates an instance of the ServiceAssociationLinksClient client. +func NewServiceAssociationLinksClient(subscriptionID string) ServiceAssociationLinksClient { + return NewServiceAssociationLinksClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewServiceAssociationLinksClientWithBaseURI creates an instance of the ServiceAssociationLinksClient client. +func NewServiceAssociationLinksClientWithBaseURI(baseURI string, subscriptionID string) ServiceAssociationLinksClient { + return ServiceAssociationLinksClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// List gets a list of service association links for a subnet. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualNetworkName - the name of the virtual network. +// subnetName - the name of the subnet. +func (client ServiceAssociationLinksClient) List(ctx context.Context, resourceGroupName string, virtualNetworkName string, subnetName string) (result ServiceAssociationLinksListResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServiceAssociationLinksClient.List") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListPreparer(ctx, resourceGroupName, virtualNetworkName, subnetName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ServiceAssociationLinksClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ServiceAssociationLinksClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ServiceAssociationLinksClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client ServiceAssociationLinksClient) ListPreparer(ctx context.Context, resourceGroupName string, virtualNetworkName string, subnetName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subnetName": autorest.Encode("path", subnetName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkName": autorest.Encode("path", virtualNetworkName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}/ServiceAssociationLinks", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client ServiceAssociationLinksClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client ServiceAssociationLinksClient) ListResponder(resp *http.Response) (result ServiceAssociationLinksListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/network/mgmt/2019-07-01/network/serviceendpointpolicies.go b/services/network/mgmt/2019-07-01/network/serviceendpointpolicies.go new file mode 100644 index 000000000000..6e6865aed65d --- /dev/null +++ b/services/network/mgmt/2019-07-01/network/serviceendpointpolicies.go @@ -0,0 +1,581 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// ServiceEndpointPoliciesClient is the network Client +type ServiceEndpointPoliciesClient struct { + BaseClient +} + +// NewServiceEndpointPoliciesClient creates an instance of the ServiceEndpointPoliciesClient client. +func NewServiceEndpointPoliciesClient(subscriptionID string) ServiceEndpointPoliciesClient { + return NewServiceEndpointPoliciesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewServiceEndpointPoliciesClientWithBaseURI creates an instance of the ServiceEndpointPoliciesClient client. +func NewServiceEndpointPoliciesClientWithBaseURI(baseURI string, subscriptionID string) ServiceEndpointPoliciesClient { + return ServiceEndpointPoliciesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates a service Endpoint Policies. +// Parameters: +// resourceGroupName - the name of the resource group. +// serviceEndpointPolicyName - the name of the service endpoint policy. +// parameters - parameters supplied to the create or update service endpoint policy operation. +func (client ServiceEndpointPoliciesClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, serviceEndpointPolicyName string, parameters ServiceEndpointPolicy) (result ServiceEndpointPoliciesCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServiceEndpointPoliciesClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, serviceEndpointPolicyName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ServiceEndpointPoliciesClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ServiceEndpointPoliciesClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client ServiceEndpointPoliciesClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, serviceEndpointPolicyName string, parameters ServiceEndpointPolicy) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serviceEndpointPolicyName": autorest.Encode("path", serviceEndpointPolicyName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/serviceEndpointPolicies/{serviceEndpointPolicyName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client ServiceEndpointPoliciesClient) CreateOrUpdateSender(req *http.Request) (future ServiceEndpointPoliciesCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client ServiceEndpointPoliciesClient) CreateOrUpdateResponder(resp *http.Response) (result ServiceEndpointPolicy, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the specified service endpoint policy. +// Parameters: +// resourceGroupName - the name of the resource group. +// serviceEndpointPolicyName - the name of the service endpoint policy. +func (client ServiceEndpointPoliciesClient) Delete(ctx context.Context, resourceGroupName string, serviceEndpointPolicyName string) (result ServiceEndpointPoliciesDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServiceEndpointPoliciesClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, serviceEndpointPolicyName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ServiceEndpointPoliciesClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ServiceEndpointPoliciesClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client ServiceEndpointPoliciesClient) DeletePreparer(ctx context.Context, resourceGroupName string, serviceEndpointPolicyName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serviceEndpointPolicyName": autorest.Encode("path", serviceEndpointPolicyName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/serviceEndpointPolicies/{serviceEndpointPolicyName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client ServiceEndpointPoliciesClient) DeleteSender(req *http.Request) (future ServiceEndpointPoliciesDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client ServiceEndpointPoliciesClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets the specified service Endpoint Policies in a specified resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +// serviceEndpointPolicyName - the name of the service endpoint policy. +// expand - expands referenced resources. +func (client ServiceEndpointPoliciesClient) Get(ctx context.Context, resourceGroupName string, serviceEndpointPolicyName string, expand string) (result ServiceEndpointPolicy, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServiceEndpointPoliciesClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, serviceEndpointPolicyName, expand) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ServiceEndpointPoliciesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ServiceEndpointPoliciesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ServiceEndpointPoliciesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client ServiceEndpointPoliciesClient) GetPreparer(ctx context.Context, resourceGroupName string, serviceEndpointPolicyName string, expand string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serviceEndpointPolicyName": autorest.Encode("path", serviceEndpointPolicyName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(expand) > 0 { + queryParameters["$expand"] = autorest.Encode("query", expand) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/serviceEndpointPolicies/{serviceEndpointPolicyName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client ServiceEndpointPoliciesClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client ServiceEndpointPoliciesClient) GetResponder(resp *http.Response) (result ServiceEndpointPolicy, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets all the service endpoint policies in a subscription. +func (client ServiceEndpointPoliciesClient) List(ctx context.Context) (result ServiceEndpointPolicyListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServiceEndpointPoliciesClient.List") + defer func() { + sc := -1 + if result.seplr.Response.Response != nil { + sc = result.seplr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ServiceEndpointPoliciesClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.seplr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ServiceEndpointPoliciesClient", "List", resp, "Failure sending request") + return + } + + result.seplr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ServiceEndpointPoliciesClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client ServiceEndpointPoliciesClient) ListPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/ServiceEndpointPolicies", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client ServiceEndpointPoliciesClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client ServiceEndpointPoliciesClient) ListResponder(resp *http.Response) (result ServiceEndpointPolicyListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client ServiceEndpointPoliciesClient) listNextResults(ctx context.Context, lastResults ServiceEndpointPolicyListResult) (result ServiceEndpointPolicyListResult, err error) { + req, err := lastResults.serviceEndpointPolicyListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.ServiceEndpointPoliciesClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.ServiceEndpointPoliciesClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ServiceEndpointPoliciesClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client ServiceEndpointPoliciesClient) ListComplete(ctx context.Context) (result ServiceEndpointPolicyListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServiceEndpointPoliciesClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx) + return +} + +// ListByResourceGroup gets all service endpoint Policies in a resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +func (client ServiceEndpointPoliciesClient) ListByResourceGroup(ctx context.Context, resourceGroupName string) (result ServiceEndpointPolicyListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServiceEndpointPoliciesClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.seplr.Response.Response != nil { + sc = result.seplr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listByResourceGroupNextResults + req, err := client.ListByResourceGroupPreparer(ctx, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ServiceEndpointPoliciesClient", "ListByResourceGroup", nil, "Failure preparing request") + return + } + + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.seplr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ServiceEndpointPoliciesClient", "ListByResourceGroup", resp, "Failure sending request") + return + } + + result.seplr, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ServiceEndpointPoliciesClient", "ListByResourceGroup", resp, "Failure responding to request") + } + + return +} + +// ListByResourceGroupPreparer prepares the ListByResourceGroup request. +func (client ServiceEndpointPoliciesClient) ListByResourceGroupPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/serviceEndpointPolicies", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByResourceGroupSender sends the ListByResourceGroup request. The method will close the +// http.Response Body if it receives an error. +func (client ServiceEndpointPoliciesClient) ListByResourceGroupSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByResourceGroupResponder handles the response to the ListByResourceGroup request. The method always +// closes the http.Response Body. +func (client ServiceEndpointPoliciesClient) ListByResourceGroupResponder(resp *http.Response) (result ServiceEndpointPolicyListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listByResourceGroupNextResults retrieves the next set of results, if any. +func (client ServiceEndpointPoliciesClient) listByResourceGroupNextResults(ctx context.Context, lastResults ServiceEndpointPolicyListResult) (result ServiceEndpointPolicyListResult, err error) { + req, err := lastResults.serviceEndpointPolicyListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.ServiceEndpointPoliciesClient", "listByResourceGroupNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.ServiceEndpointPoliciesClient", "listByResourceGroupNextResults", resp, "Failure sending next results request") + } + result, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ServiceEndpointPoliciesClient", "listByResourceGroupNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListByResourceGroupComplete enumerates all values, automatically crossing page boundaries as required. +func (client ServiceEndpointPoliciesClient) ListByResourceGroupComplete(ctx context.Context, resourceGroupName string) (result ServiceEndpointPolicyListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServiceEndpointPoliciesClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListByResourceGroup(ctx, resourceGroupName) + return +} + +// Update updates service Endpoint Policies. +// Parameters: +// resourceGroupName - the name of the resource group. +// serviceEndpointPolicyName - the name of the service endpoint policy. +// parameters - parameters supplied to update service endpoint policy tags. +func (client ServiceEndpointPoliciesClient) Update(ctx context.Context, resourceGroupName string, serviceEndpointPolicyName string, parameters TagsObject) (result ServiceEndpointPoliciesUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServiceEndpointPoliciesClient.Update") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdatePreparer(ctx, resourceGroupName, serviceEndpointPolicyName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ServiceEndpointPoliciesClient", "Update", nil, "Failure preparing request") + return + } + + result, err = client.UpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ServiceEndpointPoliciesClient", "Update", result.Response(), "Failure sending request") + return + } + + return +} + +// UpdatePreparer prepares the Update request. +func (client ServiceEndpointPoliciesClient) UpdatePreparer(ctx context.Context, resourceGroupName string, serviceEndpointPolicyName string, parameters TagsObject) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serviceEndpointPolicyName": autorest.Encode("path", serviceEndpointPolicyName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/serviceEndpointPolicies/{serviceEndpointPolicyName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateSender sends the Update request. The method will close the +// http.Response Body if it receives an error. +func (client ServiceEndpointPoliciesClient) UpdateSender(req *http.Request) (future ServiceEndpointPoliciesUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// UpdateResponder handles the response to the Update request. The method always +// closes the http.Response Body. +func (client ServiceEndpointPoliciesClient) UpdateResponder(resp *http.Response) (result ServiceEndpointPolicy, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/network/mgmt/2019-07-01/network/serviceendpointpolicydefinitions.go b/services/network/mgmt/2019-07-01/network/serviceendpointpolicydefinitions.go new file mode 100644 index 000000000000..daad64b9a503 --- /dev/null +++ b/services/network/mgmt/2019-07-01/network/serviceendpointpolicydefinitions.go @@ -0,0 +1,397 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// ServiceEndpointPolicyDefinitionsClient is the network Client +type ServiceEndpointPolicyDefinitionsClient struct { + BaseClient +} + +// NewServiceEndpointPolicyDefinitionsClient creates an instance of the ServiceEndpointPolicyDefinitionsClient client. +func NewServiceEndpointPolicyDefinitionsClient(subscriptionID string) ServiceEndpointPolicyDefinitionsClient { + return NewServiceEndpointPolicyDefinitionsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewServiceEndpointPolicyDefinitionsClientWithBaseURI creates an instance of the +// ServiceEndpointPolicyDefinitionsClient client. +func NewServiceEndpointPolicyDefinitionsClientWithBaseURI(baseURI string, subscriptionID string) ServiceEndpointPolicyDefinitionsClient { + return ServiceEndpointPolicyDefinitionsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates a service endpoint policy definition in the specified service endpoint policy. +// Parameters: +// resourceGroupName - the name of the resource group. +// serviceEndpointPolicyName - the name of the service endpoint policy. +// serviceEndpointPolicyDefinitionName - the name of the service endpoint policy definition name. +// serviceEndpointPolicyDefinitions - parameters supplied to the create or update service endpoint policy +// operation. +func (client ServiceEndpointPolicyDefinitionsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, serviceEndpointPolicyName string, serviceEndpointPolicyDefinitionName string, serviceEndpointPolicyDefinitions ServiceEndpointPolicyDefinition) (result ServiceEndpointPolicyDefinitionsCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServiceEndpointPolicyDefinitionsClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, serviceEndpointPolicyName, serviceEndpointPolicyDefinitionName, serviceEndpointPolicyDefinitions) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ServiceEndpointPolicyDefinitionsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ServiceEndpointPolicyDefinitionsClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client ServiceEndpointPolicyDefinitionsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, serviceEndpointPolicyName string, serviceEndpointPolicyDefinitionName string, serviceEndpointPolicyDefinitions ServiceEndpointPolicyDefinition) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serviceEndpointPolicyDefinitionName": autorest.Encode("path", serviceEndpointPolicyDefinitionName), + "serviceEndpointPolicyName": autorest.Encode("path", serviceEndpointPolicyName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/serviceEndpointPolicies/{serviceEndpointPolicyName}/serviceEndpointPolicyDefinitions/{serviceEndpointPolicyDefinitionName}", pathParameters), + autorest.WithJSON(serviceEndpointPolicyDefinitions), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client ServiceEndpointPolicyDefinitionsClient) CreateOrUpdateSender(req *http.Request) (future ServiceEndpointPolicyDefinitionsCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client ServiceEndpointPolicyDefinitionsClient) CreateOrUpdateResponder(resp *http.Response) (result ServiceEndpointPolicyDefinition, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the specified ServiceEndpoint policy definitions. +// Parameters: +// resourceGroupName - the name of the resource group. +// serviceEndpointPolicyName - the name of the Service Endpoint Policy. +// serviceEndpointPolicyDefinitionName - the name of the service endpoint policy definition. +func (client ServiceEndpointPolicyDefinitionsClient) Delete(ctx context.Context, resourceGroupName string, serviceEndpointPolicyName string, serviceEndpointPolicyDefinitionName string) (result ServiceEndpointPolicyDefinitionsDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServiceEndpointPolicyDefinitionsClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, serviceEndpointPolicyName, serviceEndpointPolicyDefinitionName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ServiceEndpointPolicyDefinitionsClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ServiceEndpointPolicyDefinitionsClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client ServiceEndpointPolicyDefinitionsClient) DeletePreparer(ctx context.Context, resourceGroupName string, serviceEndpointPolicyName string, serviceEndpointPolicyDefinitionName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serviceEndpointPolicyDefinitionName": autorest.Encode("path", serviceEndpointPolicyDefinitionName), + "serviceEndpointPolicyName": autorest.Encode("path", serviceEndpointPolicyName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/serviceEndpointPolicies/{serviceEndpointPolicyName}/serviceEndpointPolicyDefinitions/{serviceEndpointPolicyDefinitionName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client ServiceEndpointPolicyDefinitionsClient) DeleteSender(req *http.Request) (future ServiceEndpointPolicyDefinitionsDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client ServiceEndpointPolicyDefinitionsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get get the specified service endpoint policy definitions from service endpoint policy. +// Parameters: +// resourceGroupName - the name of the resource group. +// serviceEndpointPolicyName - the name of the service endpoint policy name. +// serviceEndpointPolicyDefinitionName - the name of the service endpoint policy definition name. +func (client ServiceEndpointPolicyDefinitionsClient) Get(ctx context.Context, resourceGroupName string, serviceEndpointPolicyName string, serviceEndpointPolicyDefinitionName string) (result ServiceEndpointPolicyDefinition, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServiceEndpointPolicyDefinitionsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, serviceEndpointPolicyName, serviceEndpointPolicyDefinitionName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ServiceEndpointPolicyDefinitionsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ServiceEndpointPolicyDefinitionsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ServiceEndpointPolicyDefinitionsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client ServiceEndpointPolicyDefinitionsClient) GetPreparer(ctx context.Context, resourceGroupName string, serviceEndpointPolicyName string, serviceEndpointPolicyDefinitionName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serviceEndpointPolicyDefinitionName": autorest.Encode("path", serviceEndpointPolicyDefinitionName), + "serviceEndpointPolicyName": autorest.Encode("path", serviceEndpointPolicyName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/serviceEndpointPolicies/{serviceEndpointPolicyName}/serviceEndpointPolicyDefinitions/{serviceEndpointPolicyDefinitionName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client ServiceEndpointPolicyDefinitionsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client ServiceEndpointPolicyDefinitionsClient) GetResponder(resp *http.Response) (result ServiceEndpointPolicyDefinition, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByResourceGroup gets all service endpoint policy definitions in a service end point policy. +// Parameters: +// resourceGroupName - the name of the resource group. +// serviceEndpointPolicyName - the name of the service endpoint policy name. +func (client ServiceEndpointPolicyDefinitionsClient) ListByResourceGroup(ctx context.Context, resourceGroupName string, serviceEndpointPolicyName string) (result ServiceEndpointPolicyDefinitionListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServiceEndpointPolicyDefinitionsClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.sepdlr.Response.Response != nil { + sc = result.sepdlr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listByResourceGroupNextResults + req, err := client.ListByResourceGroupPreparer(ctx, resourceGroupName, serviceEndpointPolicyName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ServiceEndpointPolicyDefinitionsClient", "ListByResourceGroup", nil, "Failure preparing request") + return + } + + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.sepdlr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ServiceEndpointPolicyDefinitionsClient", "ListByResourceGroup", resp, "Failure sending request") + return + } + + result.sepdlr, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ServiceEndpointPolicyDefinitionsClient", "ListByResourceGroup", resp, "Failure responding to request") + } + + return +} + +// ListByResourceGroupPreparer prepares the ListByResourceGroup request. +func (client ServiceEndpointPolicyDefinitionsClient) ListByResourceGroupPreparer(ctx context.Context, resourceGroupName string, serviceEndpointPolicyName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serviceEndpointPolicyName": autorest.Encode("path", serviceEndpointPolicyName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/serviceEndpointPolicies/{serviceEndpointPolicyName}/serviceEndpointPolicyDefinitions", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByResourceGroupSender sends the ListByResourceGroup request. The method will close the +// http.Response Body if it receives an error. +func (client ServiceEndpointPolicyDefinitionsClient) ListByResourceGroupSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByResourceGroupResponder handles the response to the ListByResourceGroup request. The method always +// closes the http.Response Body. +func (client ServiceEndpointPolicyDefinitionsClient) ListByResourceGroupResponder(resp *http.Response) (result ServiceEndpointPolicyDefinitionListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listByResourceGroupNextResults retrieves the next set of results, if any. +func (client ServiceEndpointPolicyDefinitionsClient) listByResourceGroupNextResults(ctx context.Context, lastResults ServiceEndpointPolicyDefinitionListResult) (result ServiceEndpointPolicyDefinitionListResult, err error) { + req, err := lastResults.serviceEndpointPolicyDefinitionListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.ServiceEndpointPolicyDefinitionsClient", "listByResourceGroupNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.ServiceEndpointPolicyDefinitionsClient", "listByResourceGroupNextResults", resp, "Failure sending next results request") + } + result, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ServiceEndpointPolicyDefinitionsClient", "listByResourceGroupNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListByResourceGroupComplete enumerates all values, automatically crossing page boundaries as required. +func (client ServiceEndpointPolicyDefinitionsClient) ListByResourceGroupComplete(ctx context.Context, resourceGroupName string, serviceEndpointPolicyName string) (result ServiceEndpointPolicyDefinitionListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServiceEndpointPolicyDefinitionsClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListByResourceGroup(ctx, resourceGroupName, serviceEndpointPolicyName) + return +} diff --git a/services/network/mgmt/2019-07-01/network/servicetags.go b/services/network/mgmt/2019-07-01/network/servicetags.go new file mode 100644 index 000000000000..1ef9e377ef3c --- /dev/null +++ b/services/network/mgmt/2019-07-01/network/servicetags.go @@ -0,0 +1,118 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// ServiceTagsClient is the network Client +type ServiceTagsClient struct { + BaseClient +} + +// NewServiceTagsClient creates an instance of the ServiceTagsClient client. +func NewServiceTagsClient(subscriptionID string) ServiceTagsClient { + return NewServiceTagsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewServiceTagsClientWithBaseURI creates an instance of the ServiceTagsClient client. +func NewServiceTagsClientWithBaseURI(baseURI string, subscriptionID string) ServiceTagsClient { + return ServiceTagsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// List gets a list of service tag information resources. +// Parameters: +// location - the location that will be used as a reference for version (not as a filter based on location, you +// will get the list of service tags with prefix details across all regions but limited to the cloud that your +// subscription belongs to). +func (client ServiceTagsClient) List(ctx context.Context, location string) (result ServiceTagsListResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServiceTagsClient.List") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListPreparer(ctx, location) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ServiceTagsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ServiceTagsClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ServiceTagsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client ServiceTagsClient) ListPreparer(ctx context.Context, location string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "location": autorest.Encode("path", location), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/serviceTags", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client ServiceTagsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client ServiceTagsClient) ListResponder(resp *http.Response) (result ServiceTagsListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/network/mgmt/2019-07-01/network/subnets.go b/services/network/mgmt/2019-07-01/network/subnets.go new file mode 100644 index 000000000000..6bec2ff1f18c --- /dev/null +++ b/services/network/mgmt/2019-07-01/network/subnets.go @@ -0,0 +1,563 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// SubnetsClient is the network Client +type SubnetsClient struct { + BaseClient +} + +// NewSubnetsClient creates an instance of the SubnetsClient client. +func NewSubnetsClient(subscriptionID string) SubnetsClient { + return NewSubnetsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewSubnetsClientWithBaseURI creates an instance of the SubnetsClient client. +func NewSubnetsClientWithBaseURI(baseURI string, subscriptionID string) SubnetsClient { + return SubnetsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates a subnet in the specified virtual network. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualNetworkName - the name of the virtual network. +// subnetName - the name of the subnet. +// subnetParameters - parameters supplied to the create or update subnet operation. +func (client SubnetsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, virtualNetworkName string, subnetName string, subnetParameters Subnet) (result SubnetsCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SubnetsClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, virtualNetworkName, subnetName, subnetParameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.SubnetsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.SubnetsClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client SubnetsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, virtualNetworkName string, subnetName string, subnetParameters Subnet) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subnetName": autorest.Encode("path", subnetName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkName": autorest.Encode("path", virtualNetworkName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}", pathParameters), + autorest.WithJSON(subnetParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client SubnetsClient) CreateOrUpdateSender(req *http.Request) (future SubnetsCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client SubnetsClient) CreateOrUpdateResponder(resp *http.Response) (result Subnet, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the specified subnet. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualNetworkName - the name of the virtual network. +// subnetName - the name of the subnet. +func (client SubnetsClient) Delete(ctx context.Context, resourceGroupName string, virtualNetworkName string, subnetName string) (result SubnetsDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SubnetsClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, virtualNetworkName, subnetName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.SubnetsClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.SubnetsClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client SubnetsClient) DeletePreparer(ctx context.Context, resourceGroupName string, virtualNetworkName string, subnetName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subnetName": autorest.Encode("path", subnetName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkName": autorest.Encode("path", virtualNetworkName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client SubnetsClient) DeleteSender(req *http.Request) (future SubnetsDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client SubnetsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets the specified subnet by virtual network and resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualNetworkName - the name of the virtual network. +// subnetName - the name of the subnet. +// expand - expands referenced resources. +func (client SubnetsClient) Get(ctx context.Context, resourceGroupName string, virtualNetworkName string, subnetName string, expand string) (result Subnet, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SubnetsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, virtualNetworkName, subnetName, expand) + if err != nil { + err = autorest.NewErrorWithError(err, "network.SubnetsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.SubnetsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.SubnetsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client SubnetsClient) GetPreparer(ctx context.Context, resourceGroupName string, virtualNetworkName string, subnetName string, expand string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subnetName": autorest.Encode("path", subnetName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkName": autorest.Encode("path", virtualNetworkName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(expand) > 0 { + queryParameters["$expand"] = autorest.Encode("query", expand) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client SubnetsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client SubnetsClient) GetResponder(resp *http.Response) (result Subnet, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets all subnets in a virtual network. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualNetworkName - the name of the virtual network. +func (client SubnetsClient) List(ctx context.Context, resourceGroupName string, virtualNetworkName string) (result SubnetListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SubnetsClient.List") + defer func() { + sc := -1 + if result.slr.Response.Response != nil { + sc = result.slr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName, virtualNetworkName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.SubnetsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.slr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.SubnetsClient", "List", resp, "Failure sending request") + return + } + + result.slr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.SubnetsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client SubnetsClient) ListPreparer(ctx context.Context, resourceGroupName string, virtualNetworkName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkName": autorest.Encode("path", virtualNetworkName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client SubnetsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client SubnetsClient) ListResponder(resp *http.Response) (result SubnetListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client SubnetsClient) listNextResults(ctx context.Context, lastResults SubnetListResult) (result SubnetListResult, err error) { + req, err := lastResults.subnetListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.SubnetsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.SubnetsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.SubnetsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client SubnetsClient) ListComplete(ctx context.Context, resourceGroupName string, virtualNetworkName string) (result SubnetListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SubnetsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName, virtualNetworkName) + return +} + +// PrepareNetworkPolicies prepares a subnet by applying network intent policies. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualNetworkName - the name of the virtual network. +// subnetName - the name of the subnet. +// prepareNetworkPoliciesRequestParameters - parameters supplied to prepare subnet by applying network intent +// policies. +func (client SubnetsClient) PrepareNetworkPolicies(ctx context.Context, resourceGroupName string, virtualNetworkName string, subnetName string, prepareNetworkPoliciesRequestParameters PrepareNetworkPoliciesRequest) (result SubnetsPrepareNetworkPoliciesFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SubnetsClient.PrepareNetworkPolicies") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.PrepareNetworkPoliciesPreparer(ctx, resourceGroupName, virtualNetworkName, subnetName, prepareNetworkPoliciesRequestParameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.SubnetsClient", "PrepareNetworkPolicies", nil, "Failure preparing request") + return + } + + result, err = client.PrepareNetworkPoliciesSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.SubnetsClient", "PrepareNetworkPolicies", result.Response(), "Failure sending request") + return + } + + return +} + +// PrepareNetworkPoliciesPreparer prepares the PrepareNetworkPolicies request. +func (client SubnetsClient) PrepareNetworkPoliciesPreparer(ctx context.Context, resourceGroupName string, virtualNetworkName string, subnetName string, prepareNetworkPoliciesRequestParameters PrepareNetworkPoliciesRequest) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subnetName": autorest.Encode("path", subnetName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkName": autorest.Encode("path", virtualNetworkName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}/PrepareNetworkPolicies", pathParameters), + autorest.WithJSON(prepareNetworkPoliciesRequestParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// PrepareNetworkPoliciesSender sends the PrepareNetworkPolicies request. The method will close the +// http.Response Body if it receives an error. +func (client SubnetsClient) PrepareNetworkPoliciesSender(req *http.Request) (future SubnetsPrepareNetworkPoliciesFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// PrepareNetworkPoliciesResponder handles the response to the PrepareNetworkPolicies request. The method always +// closes the http.Response Body. +func (client SubnetsClient) PrepareNetworkPoliciesResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByClosing()) + result.Response = resp + return +} + +// UnprepareNetworkPolicies unprepares a subnet by removing network intent policies. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualNetworkName - the name of the virtual network. +// subnetName - the name of the subnet. +// unprepareNetworkPoliciesRequestParameters - parameters supplied to unprepare subnet to remove network intent +// policies. +func (client SubnetsClient) UnprepareNetworkPolicies(ctx context.Context, resourceGroupName string, virtualNetworkName string, subnetName string, unprepareNetworkPoliciesRequestParameters UnprepareNetworkPoliciesRequest) (result SubnetsUnprepareNetworkPoliciesFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SubnetsClient.UnprepareNetworkPolicies") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UnprepareNetworkPoliciesPreparer(ctx, resourceGroupName, virtualNetworkName, subnetName, unprepareNetworkPoliciesRequestParameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.SubnetsClient", "UnprepareNetworkPolicies", nil, "Failure preparing request") + return + } + + result, err = client.UnprepareNetworkPoliciesSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.SubnetsClient", "UnprepareNetworkPolicies", result.Response(), "Failure sending request") + return + } + + return +} + +// UnprepareNetworkPoliciesPreparer prepares the UnprepareNetworkPolicies request. +func (client SubnetsClient) UnprepareNetworkPoliciesPreparer(ctx context.Context, resourceGroupName string, virtualNetworkName string, subnetName string, unprepareNetworkPoliciesRequestParameters UnprepareNetworkPoliciesRequest) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subnetName": autorest.Encode("path", subnetName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkName": autorest.Encode("path", virtualNetworkName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}/UnprepareNetworkPolicies", pathParameters), + autorest.WithJSON(unprepareNetworkPoliciesRequestParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UnprepareNetworkPoliciesSender sends the UnprepareNetworkPolicies request. The method will close the +// http.Response Body if it receives an error. +func (client SubnetsClient) UnprepareNetworkPoliciesSender(req *http.Request) (future SubnetsUnprepareNetworkPoliciesFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// UnprepareNetworkPoliciesResponder handles the response to the UnprepareNetworkPolicies request. The method always +// closes the http.Response Body. +func (client SubnetsClient) UnprepareNetworkPoliciesResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByClosing()) + result.Response = resp + return +} diff --git a/services/network/mgmt/2019-07-01/network/usages.go b/services/network/mgmt/2019-07-01/network/usages.go new file mode 100644 index 000000000000..0b954738e1eb --- /dev/null +++ b/services/network/mgmt/2019-07-01/network/usages.go @@ -0,0 +1,161 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// UsagesClient is the network Client +type UsagesClient struct { + BaseClient +} + +// NewUsagesClient creates an instance of the UsagesClient client. +func NewUsagesClient(subscriptionID string) UsagesClient { + return NewUsagesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewUsagesClientWithBaseURI creates an instance of the UsagesClient client. +func NewUsagesClientWithBaseURI(baseURI string, subscriptionID string) UsagesClient { + return UsagesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// List list network usages for a subscription. +// Parameters: +// location - the location where resource usage is queried. +func (client UsagesClient) List(ctx context.Context, location string) (result UsagesListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/UsagesClient.List") + defer func() { + sc := -1 + if result.ulr.Response.Response != nil { + sc = result.ulr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: location, + Constraints: []validation.Constraint{{Target: "location", Name: validation.Pattern, Rule: `^[-\w\._ ]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("network.UsagesClient", "List", err.Error()) + } + + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, location) + if err != nil { + err = autorest.NewErrorWithError(err, "network.UsagesClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.ulr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.UsagesClient", "List", resp, "Failure sending request") + return + } + + result.ulr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.UsagesClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client UsagesClient) ListPreparer(ctx context.Context, location string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "location": autorest.Encode("path", location), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/usages", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client UsagesClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client UsagesClient) ListResponder(resp *http.Response) (result UsagesListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client UsagesClient) listNextResults(ctx context.Context, lastResults UsagesListResult) (result UsagesListResult, err error) { + req, err := lastResults.usagesListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.UsagesClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.UsagesClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.UsagesClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client UsagesClient) ListComplete(ctx context.Context, location string) (result UsagesListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/UsagesClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, location) + return +} diff --git a/services/network/mgmt/2019-07-01/network/version.go b/services/network/mgmt/2019-07-01/network/version.go new file mode 100644 index 000000000000..1b17eb868793 --- /dev/null +++ b/services/network/mgmt/2019-07-01/network/version.go @@ -0,0 +1,30 @@ +package network + +import "github.com/Azure/azure-sdk-for-go/version" + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +// UserAgent returns the UserAgent string to use when sending http.Requests. +func UserAgent() string { + return "Azure-SDK-For-Go/" + version.Number + " network/2019-07-01" +} + +// Version returns the semantic version (see http://semver.org) of the client. +func Version() string { + return version.Number +} diff --git a/services/network/mgmt/2019-07-01/network/virtualhubs.go b/services/network/mgmt/2019-07-01/network/virtualhubs.go new file mode 100644 index 000000000000..b5c34858dd97 --- /dev/null +++ b/services/network/mgmt/2019-07-01/network/virtualhubs.go @@ -0,0 +1,578 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// VirtualHubsClient is the network Client +type VirtualHubsClient struct { + BaseClient +} + +// NewVirtualHubsClient creates an instance of the VirtualHubsClient client. +func NewVirtualHubsClient(subscriptionID string) VirtualHubsClient { + return NewVirtualHubsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewVirtualHubsClientWithBaseURI creates an instance of the VirtualHubsClient client. +func NewVirtualHubsClientWithBaseURI(baseURI string, subscriptionID string) VirtualHubsClient { + return VirtualHubsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates a VirtualHub resource if it doesn't exist else updates the existing VirtualHub. +// Parameters: +// resourceGroupName - the resource group name of the VirtualHub. +// virtualHubName - the name of the VirtualHub. +// virtualHubParameters - parameters supplied to create or update VirtualHub. +func (client VirtualHubsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, virtualHubName string, virtualHubParameters VirtualHub) (result VirtualHubsCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualHubsClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, virtualHubName, virtualHubParameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualHubsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualHubsClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client VirtualHubsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, virtualHubName string, virtualHubParameters VirtualHub) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualHubName": autorest.Encode("path", virtualHubName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + virtualHubParameters.Etag = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}", pathParameters), + autorest.WithJSON(virtualHubParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualHubsClient) CreateOrUpdateSender(req *http.Request) (future VirtualHubsCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client VirtualHubsClient) CreateOrUpdateResponder(resp *http.Response) (result VirtualHub, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes a VirtualHub. +// Parameters: +// resourceGroupName - the resource group name of the VirtualHub. +// virtualHubName - the name of the VirtualHub. +func (client VirtualHubsClient) Delete(ctx context.Context, resourceGroupName string, virtualHubName string) (result VirtualHubsDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualHubsClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, virtualHubName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualHubsClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualHubsClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client VirtualHubsClient) DeletePreparer(ctx context.Context, resourceGroupName string, virtualHubName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualHubName": autorest.Encode("path", virtualHubName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualHubsClient) DeleteSender(req *http.Request) (future VirtualHubsDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client VirtualHubsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get retrieves the details of a VirtualHub. +// Parameters: +// resourceGroupName - the resource group name of the VirtualHub. +// virtualHubName - the name of the VirtualHub. +func (client VirtualHubsClient) Get(ctx context.Context, resourceGroupName string, virtualHubName string) (result VirtualHub, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualHubsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, virtualHubName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualHubsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.VirtualHubsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualHubsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client VirtualHubsClient) GetPreparer(ctx context.Context, resourceGroupName string, virtualHubName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualHubName": autorest.Encode("path", virtualHubName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualHubsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client VirtualHubsClient) GetResponder(resp *http.Response) (result VirtualHub, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List lists all the VirtualHubs in a subscription. +func (client VirtualHubsClient) List(ctx context.Context) (result ListVirtualHubsResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualHubsClient.List") + defer func() { + sc := -1 + if result.lvhr.Response.Response != nil { + sc = result.lvhr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualHubsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.lvhr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.VirtualHubsClient", "List", resp, "Failure sending request") + return + } + + result.lvhr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualHubsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client VirtualHubsClient) ListPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/virtualHubs", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualHubsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client VirtualHubsClient) ListResponder(resp *http.Response) (result ListVirtualHubsResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client VirtualHubsClient) listNextResults(ctx context.Context, lastResults ListVirtualHubsResult) (result ListVirtualHubsResult, err error) { + req, err := lastResults.listVirtualHubsResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.VirtualHubsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.VirtualHubsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualHubsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client VirtualHubsClient) ListComplete(ctx context.Context) (result ListVirtualHubsResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualHubsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx) + return +} + +// ListByResourceGroup lists all the VirtualHubs in a resource group. +// Parameters: +// resourceGroupName - the resource group name of the VirtualHub. +func (client VirtualHubsClient) ListByResourceGroup(ctx context.Context, resourceGroupName string) (result ListVirtualHubsResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualHubsClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.lvhr.Response.Response != nil { + sc = result.lvhr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listByResourceGroupNextResults + req, err := client.ListByResourceGroupPreparer(ctx, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualHubsClient", "ListByResourceGroup", nil, "Failure preparing request") + return + } + + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.lvhr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.VirtualHubsClient", "ListByResourceGroup", resp, "Failure sending request") + return + } + + result.lvhr, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualHubsClient", "ListByResourceGroup", resp, "Failure responding to request") + } + + return +} + +// ListByResourceGroupPreparer prepares the ListByResourceGroup request. +func (client VirtualHubsClient) ListByResourceGroupPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByResourceGroupSender sends the ListByResourceGroup request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualHubsClient) ListByResourceGroupSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByResourceGroupResponder handles the response to the ListByResourceGroup request. The method always +// closes the http.Response Body. +func (client VirtualHubsClient) ListByResourceGroupResponder(resp *http.Response) (result ListVirtualHubsResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listByResourceGroupNextResults retrieves the next set of results, if any. +func (client VirtualHubsClient) listByResourceGroupNextResults(ctx context.Context, lastResults ListVirtualHubsResult) (result ListVirtualHubsResult, err error) { + req, err := lastResults.listVirtualHubsResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.VirtualHubsClient", "listByResourceGroupNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.VirtualHubsClient", "listByResourceGroupNextResults", resp, "Failure sending next results request") + } + result, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualHubsClient", "listByResourceGroupNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListByResourceGroupComplete enumerates all values, automatically crossing page boundaries as required. +func (client VirtualHubsClient) ListByResourceGroupComplete(ctx context.Context, resourceGroupName string) (result ListVirtualHubsResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualHubsClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListByResourceGroup(ctx, resourceGroupName) + return +} + +// UpdateTags updates VirtualHub tags. +// Parameters: +// resourceGroupName - the resource group name of the VirtualHub. +// virtualHubName - the name of the VirtualHub. +// virtualHubParameters - parameters supplied to update VirtualHub tags. +func (client VirtualHubsClient) UpdateTags(ctx context.Context, resourceGroupName string, virtualHubName string, virtualHubParameters TagsObject) (result VirtualHubsUpdateTagsFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualHubsClient.UpdateTags") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdateTagsPreparer(ctx, resourceGroupName, virtualHubName, virtualHubParameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualHubsClient", "UpdateTags", nil, "Failure preparing request") + return + } + + result, err = client.UpdateTagsSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualHubsClient", "UpdateTags", result.Response(), "Failure sending request") + return + } + + return +} + +// UpdateTagsPreparer prepares the UpdateTags request. +func (client VirtualHubsClient) UpdateTagsPreparer(ctx context.Context, resourceGroupName string, virtualHubName string, virtualHubParameters TagsObject) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualHubName": autorest.Encode("path", virtualHubName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}", pathParameters), + autorest.WithJSON(virtualHubParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateTagsSender sends the UpdateTags request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualHubsClient) UpdateTagsSender(req *http.Request) (future VirtualHubsUpdateTagsFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// UpdateTagsResponder handles the response to the UpdateTags request. The method always +// closes the http.Response Body. +func (client VirtualHubsClient) UpdateTagsResponder(resp *http.Response) (result VirtualHub, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/network/mgmt/2019-07-01/network/virtualnetworkgatewayconnections.go b/services/network/mgmt/2019-07-01/network/virtualnetworkgatewayconnections.go new file mode 100644 index 000000000000..c020c80cfa13 --- /dev/null +++ b/services/network/mgmt/2019-07-01/network/virtualnetworkgatewayconnections.go @@ -0,0 +1,907 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// VirtualNetworkGatewayConnectionsClient is the network Client +type VirtualNetworkGatewayConnectionsClient struct { + BaseClient +} + +// NewVirtualNetworkGatewayConnectionsClient creates an instance of the VirtualNetworkGatewayConnectionsClient client. +func NewVirtualNetworkGatewayConnectionsClient(subscriptionID string) VirtualNetworkGatewayConnectionsClient { + return NewVirtualNetworkGatewayConnectionsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewVirtualNetworkGatewayConnectionsClientWithBaseURI creates an instance of the +// VirtualNetworkGatewayConnectionsClient client. +func NewVirtualNetworkGatewayConnectionsClientWithBaseURI(baseURI string, subscriptionID string) VirtualNetworkGatewayConnectionsClient { + return VirtualNetworkGatewayConnectionsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates a virtual network gateway connection in the specified resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualNetworkGatewayConnectionName - the name of the virtual network gateway connection. +// parameters - parameters supplied to the create or update virtual network gateway connection operation. +func (client VirtualNetworkGatewayConnectionsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, virtualNetworkGatewayConnectionName string, parameters VirtualNetworkGatewayConnection) (result VirtualNetworkGatewayConnectionsCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewayConnectionsClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.VirtualNetworkGatewayConnectionPropertiesFormat", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "parameters.VirtualNetworkGatewayConnectionPropertiesFormat.VirtualNetworkGateway1", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "parameters.VirtualNetworkGatewayConnectionPropertiesFormat.VirtualNetworkGateway1.VirtualNetworkGatewayPropertiesFormat", Name: validation.Null, Rule: true, Chain: nil}}}, + {Target: "parameters.VirtualNetworkGatewayConnectionPropertiesFormat.VirtualNetworkGateway2", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.VirtualNetworkGatewayConnectionPropertiesFormat.VirtualNetworkGateway2.VirtualNetworkGatewayPropertiesFormat", Name: validation.Null, Rule: true, Chain: nil}}}, + {Target: "parameters.VirtualNetworkGatewayConnectionPropertiesFormat.LocalNetworkGateway2", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.VirtualNetworkGatewayConnectionPropertiesFormat.LocalNetworkGateway2.LocalNetworkGatewayPropertiesFormat", Name: validation.Null, Rule: true, Chain: nil}}}, + }}}}}); err != nil { + return result, validation.NewError("network.VirtualNetworkGatewayConnectionsClient", "CreateOrUpdate", err.Error()) + } + + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, virtualNetworkGatewayConnectionName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewayConnectionsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewayConnectionsClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client VirtualNetworkGatewayConnectionsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, virtualNetworkGatewayConnectionName string, parameters VirtualNetworkGatewayConnection) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkGatewayConnectionName": autorest.Encode("path", virtualNetworkGatewayConnectionName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworkGatewayConnectionsClient) CreateOrUpdateSender(req *http.Request) (future VirtualNetworkGatewayConnectionsCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client VirtualNetworkGatewayConnectionsClient) CreateOrUpdateResponder(resp *http.Response) (result VirtualNetworkGatewayConnection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the specified virtual network Gateway connection. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualNetworkGatewayConnectionName - the name of the virtual network gateway connection. +func (client VirtualNetworkGatewayConnectionsClient) Delete(ctx context.Context, resourceGroupName string, virtualNetworkGatewayConnectionName string) (result VirtualNetworkGatewayConnectionsDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewayConnectionsClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, virtualNetworkGatewayConnectionName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewayConnectionsClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewayConnectionsClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client VirtualNetworkGatewayConnectionsClient) DeletePreparer(ctx context.Context, resourceGroupName string, virtualNetworkGatewayConnectionName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkGatewayConnectionName": autorest.Encode("path", virtualNetworkGatewayConnectionName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworkGatewayConnectionsClient) DeleteSender(req *http.Request) (future VirtualNetworkGatewayConnectionsDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client VirtualNetworkGatewayConnectionsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets the specified virtual network gateway connection by resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualNetworkGatewayConnectionName - the name of the virtual network gateway connection. +func (client VirtualNetworkGatewayConnectionsClient) Get(ctx context.Context, resourceGroupName string, virtualNetworkGatewayConnectionName string) (result VirtualNetworkGatewayConnection, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewayConnectionsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, virtualNetworkGatewayConnectionName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewayConnectionsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewayConnectionsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewayConnectionsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client VirtualNetworkGatewayConnectionsClient) GetPreparer(ctx context.Context, resourceGroupName string, virtualNetworkGatewayConnectionName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkGatewayConnectionName": autorest.Encode("path", virtualNetworkGatewayConnectionName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworkGatewayConnectionsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client VirtualNetworkGatewayConnectionsClient) GetResponder(resp *http.Response) (result VirtualNetworkGatewayConnection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetSharedKey the Get VirtualNetworkGatewayConnectionSharedKey operation retrieves information about the specified +// virtual network gateway connection shared key through Network resource provider. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualNetworkGatewayConnectionName - the virtual network gateway connection shared key name. +func (client VirtualNetworkGatewayConnectionsClient) GetSharedKey(ctx context.Context, resourceGroupName string, virtualNetworkGatewayConnectionName string) (result ConnectionSharedKey, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewayConnectionsClient.GetSharedKey") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetSharedKeyPreparer(ctx, resourceGroupName, virtualNetworkGatewayConnectionName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewayConnectionsClient", "GetSharedKey", nil, "Failure preparing request") + return + } + + resp, err := client.GetSharedKeySender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewayConnectionsClient", "GetSharedKey", resp, "Failure sending request") + return + } + + result, err = client.GetSharedKeyResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewayConnectionsClient", "GetSharedKey", resp, "Failure responding to request") + } + + return +} + +// GetSharedKeyPreparer prepares the GetSharedKey request. +func (client VirtualNetworkGatewayConnectionsClient) GetSharedKeyPreparer(ctx context.Context, resourceGroupName string, virtualNetworkGatewayConnectionName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkGatewayConnectionName": autorest.Encode("path", virtualNetworkGatewayConnectionName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/sharedkey", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSharedKeySender sends the GetSharedKey request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworkGatewayConnectionsClient) GetSharedKeySender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetSharedKeyResponder handles the response to the GetSharedKey request. The method always +// closes the http.Response Body. +func (client VirtualNetworkGatewayConnectionsClient) GetSharedKeyResponder(resp *http.Response) (result ConnectionSharedKey, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List the List VirtualNetworkGatewayConnections operation retrieves all the virtual network gateways connections +// created. +// Parameters: +// resourceGroupName - the name of the resource group. +func (client VirtualNetworkGatewayConnectionsClient) List(ctx context.Context, resourceGroupName string) (result VirtualNetworkGatewayConnectionListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewayConnectionsClient.List") + defer func() { + sc := -1 + if result.vngclr.Response.Response != nil { + sc = result.vngclr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewayConnectionsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.vngclr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewayConnectionsClient", "List", resp, "Failure sending request") + return + } + + result.vngclr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewayConnectionsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client VirtualNetworkGatewayConnectionsClient) ListPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworkGatewayConnectionsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client VirtualNetworkGatewayConnectionsClient) ListResponder(resp *http.Response) (result VirtualNetworkGatewayConnectionListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client VirtualNetworkGatewayConnectionsClient) listNextResults(ctx context.Context, lastResults VirtualNetworkGatewayConnectionListResult) (result VirtualNetworkGatewayConnectionListResult, err error) { + req, err := lastResults.virtualNetworkGatewayConnectionListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.VirtualNetworkGatewayConnectionsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.VirtualNetworkGatewayConnectionsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewayConnectionsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client VirtualNetworkGatewayConnectionsClient) ListComplete(ctx context.Context, resourceGroupName string) (result VirtualNetworkGatewayConnectionListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewayConnectionsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName) + return +} + +// ResetSharedKey the VirtualNetworkGatewayConnectionResetSharedKey operation resets the virtual network gateway +// connection shared key for passed virtual network gateway connection in the specified resource group through Network +// resource provider. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualNetworkGatewayConnectionName - the virtual network gateway connection reset shared key Name. +// parameters - parameters supplied to the begin reset virtual network gateway connection shared key operation +// through network resource provider. +func (client VirtualNetworkGatewayConnectionsClient) ResetSharedKey(ctx context.Context, resourceGroupName string, virtualNetworkGatewayConnectionName string, parameters ConnectionResetSharedKey) (result VirtualNetworkGatewayConnectionsResetSharedKeyFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewayConnectionsClient.ResetSharedKey") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.KeyLength", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "parameters.KeyLength", Name: validation.InclusiveMaximum, Rule: int64(128), Chain: nil}, + {Target: "parameters.KeyLength", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}, + }}}}}); err != nil { + return result, validation.NewError("network.VirtualNetworkGatewayConnectionsClient", "ResetSharedKey", err.Error()) + } + + req, err := client.ResetSharedKeyPreparer(ctx, resourceGroupName, virtualNetworkGatewayConnectionName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewayConnectionsClient", "ResetSharedKey", nil, "Failure preparing request") + return + } + + result, err = client.ResetSharedKeySender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewayConnectionsClient", "ResetSharedKey", result.Response(), "Failure sending request") + return + } + + return +} + +// ResetSharedKeyPreparer prepares the ResetSharedKey request. +func (client VirtualNetworkGatewayConnectionsClient) ResetSharedKeyPreparer(ctx context.Context, resourceGroupName string, virtualNetworkGatewayConnectionName string, parameters ConnectionResetSharedKey) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkGatewayConnectionName": autorest.Encode("path", virtualNetworkGatewayConnectionName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/sharedkey/reset", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ResetSharedKeySender sends the ResetSharedKey request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworkGatewayConnectionsClient) ResetSharedKeySender(req *http.Request) (future VirtualNetworkGatewayConnectionsResetSharedKeyFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// ResetSharedKeyResponder handles the response to the ResetSharedKey request. The method always +// closes the http.Response Body. +func (client VirtualNetworkGatewayConnectionsClient) ResetSharedKeyResponder(resp *http.Response) (result ConnectionResetSharedKey, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// SetSharedKey the Put VirtualNetworkGatewayConnectionSharedKey operation sets the virtual network gateway connection +// shared key for passed virtual network gateway connection in the specified resource group through Network resource +// provider. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualNetworkGatewayConnectionName - the virtual network gateway connection name. +// parameters - parameters supplied to the Begin Set Virtual Network Gateway connection Shared key operation +// throughNetwork resource provider. +func (client VirtualNetworkGatewayConnectionsClient) SetSharedKey(ctx context.Context, resourceGroupName string, virtualNetworkGatewayConnectionName string, parameters ConnectionSharedKey) (result VirtualNetworkGatewayConnectionsSetSharedKeyFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewayConnectionsClient.SetSharedKey") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.Value", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + return result, validation.NewError("network.VirtualNetworkGatewayConnectionsClient", "SetSharedKey", err.Error()) + } + + req, err := client.SetSharedKeyPreparer(ctx, resourceGroupName, virtualNetworkGatewayConnectionName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewayConnectionsClient", "SetSharedKey", nil, "Failure preparing request") + return + } + + result, err = client.SetSharedKeySender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewayConnectionsClient", "SetSharedKey", result.Response(), "Failure sending request") + return + } + + return +} + +// SetSharedKeyPreparer prepares the SetSharedKey request. +func (client VirtualNetworkGatewayConnectionsClient) SetSharedKeyPreparer(ctx context.Context, resourceGroupName string, virtualNetworkGatewayConnectionName string, parameters ConnectionSharedKey) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkGatewayConnectionName": autorest.Encode("path", virtualNetworkGatewayConnectionName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/sharedkey", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// SetSharedKeySender sends the SetSharedKey request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworkGatewayConnectionsClient) SetSharedKeySender(req *http.Request) (future VirtualNetworkGatewayConnectionsSetSharedKeyFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// SetSharedKeyResponder handles the response to the SetSharedKey request. The method always +// closes the http.Response Body. +func (client VirtualNetworkGatewayConnectionsClient) SetSharedKeyResponder(resp *http.Response) (result ConnectionSharedKey, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// StartPacketCapture starts packet capture on virtual network gateway connection in the specified resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualNetworkGatewayConnectionName - the name of the virtual network gateway connection. +// parameters - virtual network gateway packet capture parameters supplied to start packet capture on gateway +// connection. +func (client VirtualNetworkGatewayConnectionsClient) StartPacketCapture(ctx context.Context, resourceGroupName string, virtualNetworkGatewayConnectionName string, parameters *VpnPacketCaptureStartParameters) (result VirtualNetworkGatewayConnectionsStartPacketCaptureFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewayConnectionsClient.StartPacketCapture") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.StartPacketCapturePreparer(ctx, resourceGroupName, virtualNetworkGatewayConnectionName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewayConnectionsClient", "StartPacketCapture", nil, "Failure preparing request") + return + } + + result, err = client.StartPacketCaptureSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewayConnectionsClient", "StartPacketCapture", result.Response(), "Failure sending request") + return + } + + return +} + +// StartPacketCapturePreparer prepares the StartPacketCapture request. +func (client VirtualNetworkGatewayConnectionsClient) StartPacketCapturePreparer(ctx context.Context, resourceGroupName string, virtualNetworkGatewayConnectionName string, parameters *VpnPacketCaptureStartParameters) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkGatewayConnectionName": autorest.Encode("path", virtualNetworkGatewayConnectionName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/startPacketCapture", pathParameters), + autorest.WithQueryParameters(queryParameters)) + if parameters != nil { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithJSON(parameters)) + } + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// StartPacketCaptureSender sends the StartPacketCapture request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworkGatewayConnectionsClient) StartPacketCaptureSender(req *http.Request) (future VirtualNetworkGatewayConnectionsStartPacketCaptureFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// StartPacketCaptureResponder handles the response to the StartPacketCapture request. The method always +// closes the http.Response Body. +func (client VirtualNetworkGatewayConnectionsClient) StartPacketCaptureResponder(resp *http.Response) (result String, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// StopPacketCapture stops packet capture on virtual network gateway connection in the specified resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualNetworkGatewayConnectionName - the name of the virtual network gateway Connection. +// parameters - virtual network gateway packet capture parameters supplied to stop packet capture on gateway +// connection. +func (client VirtualNetworkGatewayConnectionsClient) StopPacketCapture(ctx context.Context, resourceGroupName string, virtualNetworkGatewayConnectionName string, parameters VpnPacketCaptureStopParameters) (result VirtualNetworkGatewayConnectionsStopPacketCaptureFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewayConnectionsClient.StopPacketCapture") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.StopPacketCapturePreparer(ctx, resourceGroupName, virtualNetworkGatewayConnectionName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewayConnectionsClient", "StopPacketCapture", nil, "Failure preparing request") + return + } + + result, err = client.StopPacketCaptureSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewayConnectionsClient", "StopPacketCapture", result.Response(), "Failure sending request") + return + } + + return +} + +// StopPacketCapturePreparer prepares the StopPacketCapture request. +func (client VirtualNetworkGatewayConnectionsClient) StopPacketCapturePreparer(ctx context.Context, resourceGroupName string, virtualNetworkGatewayConnectionName string, parameters VpnPacketCaptureStopParameters) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkGatewayConnectionName": autorest.Encode("path", virtualNetworkGatewayConnectionName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/stopPacketCapture", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// StopPacketCaptureSender sends the StopPacketCapture request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworkGatewayConnectionsClient) StopPacketCaptureSender(req *http.Request) (future VirtualNetworkGatewayConnectionsStopPacketCaptureFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// StopPacketCaptureResponder handles the response to the StopPacketCapture request. The method always +// closes the http.Response Body. +func (client VirtualNetworkGatewayConnectionsClient) StopPacketCaptureResponder(resp *http.Response) (result String, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// UpdateTags updates a virtual network gateway connection tags. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualNetworkGatewayConnectionName - the name of the virtual network gateway connection. +// parameters - parameters supplied to update virtual network gateway connection tags. +func (client VirtualNetworkGatewayConnectionsClient) UpdateTags(ctx context.Context, resourceGroupName string, virtualNetworkGatewayConnectionName string, parameters TagsObject) (result VirtualNetworkGatewayConnectionsUpdateTagsFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewayConnectionsClient.UpdateTags") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdateTagsPreparer(ctx, resourceGroupName, virtualNetworkGatewayConnectionName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewayConnectionsClient", "UpdateTags", nil, "Failure preparing request") + return + } + + result, err = client.UpdateTagsSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewayConnectionsClient", "UpdateTags", result.Response(), "Failure sending request") + return + } + + return +} + +// UpdateTagsPreparer prepares the UpdateTags request. +func (client VirtualNetworkGatewayConnectionsClient) UpdateTagsPreparer(ctx context.Context, resourceGroupName string, virtualNetworkGatewayConnectionName string, parameters TagsObject) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkGatewayConnectionName": autorest.Encode("path", virtualNetworkGatewayConnectionName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateTagsSender sends the UpdateTags request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworkGatewayConnectionsClient) UpdateTagsSender(req *http.Request) (future VirtualNetworkGatewayConnectionsUpdateTagsFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// UpdateTagsResponder handles the response to the UpdateTags request. The method always +// closes the http.Response Body. +func (client VirtualNetworkGatewayConnectionsClient) UpdateTagsResponder(resp *http.Response) (result VirtualNetworkGatewayConnection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/network/mgmt/2019-07-01/network/virtualnetworkgateways.go b/services/network/mgmt/2019-07-01/network/virtualnetworkgateways.go new file mode 100644 index 000000000000..43f9e9507e15 --- /dev/null +++ b/services/network/mgmt/2019-07-01/network/virtualnetworkgateways.go @@ -0,0 +1,1794 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// VirtualNetworkGatewaysClient is the network Client +type VirtualNetworkGatewaysClient struct { + BaseClient +} + +// NewVirtualNetworkGatewaysClient creates an instance of the VirtualNetworkGatewaysClient client. +func NewVirtualNetworkGatewaysClient(subscriptionID string) VirtualNetworkGatewaysClient { + return NewVirtualNetworkGatewaysClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewVirtualNetworkGatewaysClientWithBaseURI creates an instance of the VirtualNetworkGatewaysClient client. +func NewVirtualNetworkGatewaysClientWithBaseURI(baseURI string, subscriptionID string) VirtualNetworkGatewaysClient { + return VirtualNetworkGatewaysClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates a virtual network gateway in the specified resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualNetworkGatewayName - the name of the virtual network gateway. +// parameters - parameters supplied to create or update virtual network gateway operation. +func (client VirtualNetworkGatewaysClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string, parameters VirtualNetworkGateway) (result VirtualNetworkGatewaysCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewaysClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.VirtualNetworkGatewayPropertiesFormat", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + return result, validation.NewError("network.VirtualNetworkGatewaysClient", "CreateOrUpdate", err.Error()) + } + + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, virtualNetworkGatewayName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client VirtualNetworkGatewaysClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string, parameters VirtualNetworkGateway) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkGatewayName": autorest.Encode("path", virtualNetworkGatewayName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworkGatewaysClient) CreateOrUpdateSender(req *http.Request) (future VirtualNetworkGatewaysCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client VirtualNetworkGatewaysClient) CreateOrUpdateResponder(resp *http.Response) (result VirtualNetworkGateway, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the specified virtual network gateway. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualNetworkGatewayName - the name of the virtual network gateway. +func (client VirtualNetworkGatewaysClient) Delete(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string) (result VirtualNetworkGatewaysDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewaysClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, virtualNetworkGatewayName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client VirtualNetworkGatewaysClient) DeletePreparer(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkGatewayName": autorest.Encode("path", virtualNetworkGatewayName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworkGatewaysClient) DeleteSender(req *http.Request) (future VirtualNetworkGatewaysDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client VirtualNetworkGatewaysClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Generatevpnclientpackage generates VPN client package for P2S client of the virtual network gateway in the specified +// resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualNetworkGatewayName - the name of the virtual network gateway. +// parameters - parameters supplied to the generate virtual network gateway VPN client package operation. +func (client VirtualNetworkGatewaysClient) Generatevpnclientpackage(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string, parameters VpnClientParameters) (result VirtualNetworkGatewaysGeneratevpnclientpackageFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewaysClient.Generatevpnclientpackage") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GeneratevpnclientpackagePreparer(ctx, resourceGroupName, virtualNetworkGatewayName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "Generatevpnclientpackage", nil, "Failure preparing request") + return + } + + result, err = client.GeneratevpnclientpackageSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "Generatevpnclientpackage", result.Response(), "Failure sending request") + return + } + + return +} + +// GeneratevpnclientpackagePreparer prepares the Generatevpnclientpackage request. +func (client VirtualNetworkGatewaysClient) GeneratevpnclientpackagePreparer(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string, parameters VpnClientParameters) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkGatewayName": autorest.Encode("path", virtualNetworkGatewayName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/generatevpnclientpackage", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GeneratevpnclientpackageSender sends the Generatevpnclientpackage request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworkGatewaysClient) GeneratevpnclientpackageSender(req *http.Request) (future VirtualNetworkGatewaysGeneratevpnclientpackageFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// GeneratevpnclientpackageResponder handles the response to the Generatevpnclientpackage request. The method always +// closes the http.Response Body. +func (client VirtualNetworkGatewaysClient) GeneratevpnclientpackageResponder(resp *http.Response) (result String, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GenerateVpnProfile generates VPN profile for P2S client of the virtual network gateway in the specified resource +// group. Used for IKEV2 and radius based authentication. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualNetworkGatewayName - the name of the virtual network gateway. +// parameters - parameters supplied to the generate virtual network gateway VPN client package operation. +func (client VirtualNetworkGatewaysClient) GenerateVpnProfile(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string, parameters VpnClientParameters) (result VirtualNetworkGatewaysGenerateVpnProfileFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewaysClient.GenerateVpnProfile") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GenerateVpnProfilePreparer(ctx, resourceGroupName, virtualNetworkGatewayName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "GenerateVpnProfile", nil, "Failure preparing request") + return + } + + result, err = client.GenerateVpnProfileSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "GenerateVpnProfile", result.Response(), "Failure sending request") + return + } + + return +} + +// GenerateVpnProfilePreparer prepares the GenerateVpnProfile request. +func (client VirtualNetworkGatewaysClient) GenerateVpnProfilePreparer(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string, parameters VpnClientParameters) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkGatewayName": autorest.Encode("path", virtualNetworkGatewayName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/generatevpnprofile", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GenerateVpnProfileSender sends the GenerateVpnProfile request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworkGatewaysClient) GenerateVpnProfileSender(req *http.Request) (future VirtualNetworkGatewaysGenerateVpnProfileFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// GenerateVpnProfileResponder handles the response to the GenerateVpnProfile request. The method always +// closes the http.Response Body. +func (client VirtualNetworkGatewaysClient) GenerateVpnProfileResponder(resp *http.Response) (result String, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Get gets the specified virtual network gateway by resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualNetworkGatewayName - the name of the virtual network gateway. +func (client VirtualNetworkGatewaysClient) Get(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string) (result VirtualNetworkGateway, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewaysClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, virtualNetworkGatewayName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client VirtualNetworkGatewaysClient) GetPreparer(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkGatewayName": autorest.Encode("path", virtualNetworkGatewayName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworkGatewaysClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client VirtualNetworkGatewaysClient) GetResponder(resp *http.Response) (result VirtualNetworkGateway, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetAdvertisedRoutes this operation retrieves a list of routes the virtual network gateway is advertising to the +// specified peer. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualNetworkGatewayName - the name of the virtual network gateway. +// peer - the IP address of the peer. +func (client VirtualNetworkGatewaysClient) GetAdvertisedRoutes(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string, peer string) (result VirtualNetworkGatewaysGetAdvertisedRoutesFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewaysClient.GetAdvertisedRoutes") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetAdvertisedRoutesPreparer(ctx, resourceGroupName, virtualNetworkGatewayName, peer) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "GetAdvertisedRoutes", nil, "Failure preparing request") + return + } + + result, err = client.GetAdvertisedRoutesSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "GetAdvertisedRoutes", result.Response(), "Failure sending request") + return + } + + return +} + +// GetAdvertisedRoutesPreparer prepares the GetAdvertisedRoutes request. +func (client VirtualNetworkGatewaysClient) GetAdvertisedRoutesPreparer(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string, peer string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkGatewayName": autorest.Encode("path", virtualNetworkGatewayName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + "peer": autorest.Encode("query", peer), + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getAdvertisedRoutes", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetAdvertisedRoutesSender sends the GetAdvertisedRoutes request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworkGatewaysClient) GetAdvertisedRoutesSender(req *http.Request) (future VirtualNetworkGatewaysGetAdvertisedRoutesFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// GetAdvertisedRoutesResponder handles the response to the GetAdvertisedRoutes request. The method always +// closes the http.Response Body. +func (client VirtualNetworkGatewaysClient) GetAdvertisedRoutesResponder(resp *http.Response) (result GatewayRouteListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetBgpPeerStatus the GetBgpPeerStatus operation retrieves the status of all BGP peers. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualNetworkGatewayName - the name of the virtual network gateway. +// peer - the IP address of the peer to retrieve the status of. +func (client VirtualNetworkGatewaysClient) GetBgpPeerStatus(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string, peer string) (result VirtualNetworkGatewaysGetBgpPeerStatusFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewaysClient.GetBgpPeerStatus") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetBgpPeerStatusPreparer(ctx, resourceGroupName, virtualNetworkGatewayName, peer) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "GetBgpPeerStatus", nil, "Failure preparing request") + return + } + + result, err = client.GetBgpPeerStatusSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "GetBgpPeerStatus", result.Response(), "Failure sending request") + return + } + + return +} + +// GetBgpPeerStatusPreparer prepares the GetBgpPeerStatus request. +func (client VirtualNetworkGatewaysClient) GetBgpPeerStatusPreparer(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string, peer string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkGatewayName": autorest.Encode("path", virtualNetworkGatewayName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(peer) > 0 { + queryParameters["peer"] = autorest.Encode("query", peer) + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getBgpPeerStatus", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetBgpPeerStatusSender sends the GetBgpPeerStatus request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworkGatewaysClient) GetBgpPeerStatusSender(req *http.Request) (future VirtualNetworkGatewaysGetBgpPeerStatusFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// GetBgpPeerStatusResponder handles the response to the GetBgpPeerStatus request. The method always +// closes the http.Response Body. +func (client VirtualNetworkGatewaysClient) GetBgpPeerStatusResponder(resp *http.Response) (result BgpPeerStatusListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetLearnedRoutes this operation retrieves a list of routes the virtual network gateway has learned, including routes +// learned from BGP peers. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualNetworkGatewayName - the name of the virtual network gateway. +func (client VirtualNetworkGatewaysClient) GetLearnedRoutes(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string) (result VirtualNetworkGatewaysGetLearnedRoutesFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewaysClient.GetLearnedRoutes") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetLearnedRoutesPreparer(ctx, resourceGroupName, virtualNetworkGatewayName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "GetLearnedRoutes", nil, "Failure preparing request") + return + } + + result, err = client.GetLearnedRoutesSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "GetLearnedRoutes", result.Response(), "Failure sending request") + return + } + + return +} + +// GetLearnedRoutesPreparer prepares the GetLearnedRoutes request. +func (client VirtualNetworkGatewaysClient) GetLearnedRoutesPreparer(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkGatewayName": autorest.Encode("path", virtualNetworkGatewayName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getLearnedRoutes", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetLearnedRoutesSender sends the GetLearnedRoutes request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworkGatewaysClient) GetLearnedRoutesSender(req *http.Request) (future VirtualNetworkGatewaysGetLearnedRoutesFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// GetLearnedRoutesResponder handles the response to the GetLearnedRoutes request. The method always +// closes the http.Response Body. +func (client VirtualNetworkGatewaysClient) GetLearnedRoutesResponder(resp *http.Response) (result GatewayRouteListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetVpnclientConnectionHealth get VPN client connection health detail per P2S client connection of the virtual +// network gateway in the specified resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualNetworkGatewayName - the name of the virtual network gateway. +func (client VirtualNetworkGatewaysClient) GetVpnclientConnectionHealth(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string) (result VirtualNetworkGatewaysGetVpnclientConnectionHealthFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewaysClient.GetVpnclientConnectionHealth") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetVpnclientConnectionHealthPreparer(ctx, resourceGroupName, virtualNetworkGatewayName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "GetVpnclientConnectionHealth", nil, "Failure preparing request") + return + } + + result, err = client.GetVpnclientConnectionHealthSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "GetVpnclientConnectionHealth", result.Response(), "Failure sending request") + return + } + + return +} + +// GetVpnclientConnectionHealthPreparer prepares the GetVpnclientConnectionHealth request. +func (client VirtualNetworkGatewaysClient) GetVpnclientConnectionHealthPreparer(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkGatewayName": autorest.Encode("path", virtualNetworkGatewayName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getVpnClientConnectionHealth", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetVpnclientConnectionHealthSender sends the GetVpnclientConnectionHealth request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworkGatewaysClient) GetVpnclientConnectionHealthSender(req *http.Request) (future VirtualNetworkGatewaysGetVpnclientConnectionHealthFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// GetVpnclientConnectionHealthResponder handles the response to the GetVpnclientConnectionHealth request. The method always +// closes the http.Response Body. +func (client VirtualNetworkGatewaysClient) GetVpnclientConnectionHealthResponder(resp *http.Response) (result VpnClientConnectionHealthDetailListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetVpnclientIpsecParameters the Get VpnclientIpsecParameters operation retrieves information about the vpnclient +// ipsec policy for P2S client of virtual network gateway in the specified resource group through Network resource +// provider. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualNetworkGatewayName - the virtual network gateway name. +func (client VirtualNetworkGatewaysClient) GetVpnclientIpsecParameters(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string) (result VirtualNetworkGatewaysGetVpnclientIpsecParametersFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewaysClient.GetVpnclientIpsecParameters") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetVpnclientIpsecParametersPreparer(ctx, resourceGroupName, virtualNetworkGatewayName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "GetVpnclientIpsecParameters", nil, "Failure preparing request") + return + } + + result, err = client.GetVpnclientIpsecParametersSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "GetVpnclientIpsecParameters", result.Response(), "Failure sending request") + return + } + + return +} + +// GetVpnclientIpsecParametersPreparer prepares the GetVpnclientIpsecParameters request. +func (client VirtualNetworkGatewaysClient) GetVpnclientIpsecParametersPreparer(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkGatewayName": autorest.Encode("path", virtualNetworkGatewayName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getvpnclientipsecparameters", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetVpnclientIpsecParametersSender sends the GetVpnclientIpsecParameters request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworkGatewaysClient) GetVpnclientIpsecParametersSender(req *http.Request) (future VirtualNetworkGatewaysGetVpnclientIpsecParametersFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// GetVpnclientIpsecParametersResponder handles the response to the GetVpnclientIpsecParameters request. The method always +// closes the http.Response Body. +func (client VirtualNetworkGatewaysClient) GetVpnclientIpsecParametersResponder(resp *http.Response) (result VpnClientIPsecParameters, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetVpnProfilePackageURL gets pre-generated VPN profile for P2S client of the virtual network gateway in the +// specified resource group. The profile needs to be generated first using generateVpnProfile. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualNetworkGatewayName - the name of the virtual network gateway. +func (client VirtualNetworkGatewaysClient) GetVpnProfilePackageURL(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string) (result VirtualNetworkGatewaysGetVpnProfilePackageURLFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewaysClient.GetVpnProfilePackageURL") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetVpnProfilePackageURLPreparer(ctx, resourceGroupName, virtualNetworkGatewayName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "GetVpnProfilePackageURL", nil, "Failure preparing request") + return + } + + result, err = client.GetVpnProfilePackageURLSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "GetVpnProfilePackageURL", result.Response(), "Failure sending request") + return + } + + return +} + +// GetVpnProfilePackageURLPreparer prepares the GetVpnProfilePackageURL request. +func (client VirtualNetworkGatewaysClient) GetVpnProfilePackageURLPreparer(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkGatewayName": autorest.Encode("path", virtualNetworkGatewayName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getvpnprofilepackageurl", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetVpnProfilePackageURLSender sends the GetVpnProfilePackageURL request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworkGatewaysClient) GetVpnProfilePackageURLSender(req *http.Request) (future VirtualNetworkGatewaysGetVpnProfilePackageURLFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// GetVpnProfilePackageURLResponder handles the response to the GetVpnProfilePackageURL request. The method always +// closes the http.Response Body. +func (client VirtualNetworkGatewaysClient) GetVpnProfilePackageURLResponder(resp *http.Response) (result String, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets all virtual network gateways by resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +func (client VirtualNetworkGatewaysClient) List(ctx context.Context, resourceGroupName string) (result VirtualNetworkGatewayListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewaysClient.List") + defer func() { + sc := -1 + if result.vnglr.Response.Response != nil { + sc = result.vnglr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.vnglr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "List", resp, "Failure sending request") + return + } + + result.vnglr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client VirtualNetworkGatewaysClient) ListPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworkGatewaysClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client VirtualNetworkGatewaysClient) ListResponder(resp *http.Response) (result VirtualNetworkGatewayListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client VirtualNetworkGatewaysClient) listNextResults(ctx context.Context, lastResults VirtualNetworkGatewayListResult) (result VirtualNetworkGatewayListResult, err error) { + req, err := lastResults.virtualNetworkGatewayListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client VirtualNetworkGatewaysClient) ListComplete(ctx context.Context, resourceGroupName string) (result VirtualNetworkGatewayListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewaysClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName) + return +} + +// ListConnections gets all the connections in a virtual network gateway. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualNetworkGatewayName - the name of the virtual network gateway. +func (client VirtualNetworkGatewaysClient) ListConnections(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string) (result VirtualNetworkGatewayListConnectionsResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewaysClient.ListConnections") + defer func() { + sc := -1 + if result.vnglcr.Response.Response != nil { + sc = result.vnglcr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listConnectionsNextResults + req, err := client.ListConnectionsPreparer(ctx, resourceGroupName, virtualNetworkGatewayName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "ListConnections", nil, "Failure preparing request") + return + } + + resp, err := client.ListConnectionsSender(req) + if err != nil { + result.vnglcr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "ListConnections", resp, "Failure sending request") + return + } + + result.vnglcr, err = client.ListConnectionsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "ListConnections", resp, "Failure responding to request") + } + + return +} + +// ListConnectionsPreparer prepares the ListConnections request. +func (client VirtualNetworkGatewaysClient) ListConnectionsPreparer(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkGatewayName": autorest.Encode("path", virtualNetworkGatewayName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/connections", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListConnectionsSender sends the ListConnections request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworkGatewaysClient) ListConnectionsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListConnectionsResponder handles the response to the ListConnections request. The method always +// closes the http.Response Body. +func (client VirtualNetworkGatewaysClient) ListConnectionsResponder(resp *http.Response) (result VirtualNetworkGatewayListConnectionsResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listConnectionsNextResults retrieves the next set of results, if any. +func (client VirtualNetworkGatewaysClient) listConnectionsNextResults(ctx context.Context, lastResults VirtualNetworkGatewayListConnectionsResult) (result VirtualNetworkGatewayListConnectionsResult, err error) { + req, err := lastResults.virtualNetworkGatewayListConnectionsResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "listConnectionsNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListConnectionsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "listConnectionsNextResults", resp, "Failure sending next results request") + } + result, err = client.ListConnectionsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "listConnectionsNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListConnectionsComplete enumerates all values, automatically crossing page boundaries as required. +func (client VirtualNetworkGatewaysClient) ListConnectionsComplete(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string) (result VirtualNetworkGatewayListConnectionsResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewaysClient.ListConnections") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListConnections(ctx, resourceGroupName, virtualNetworkGatewayName) + return +} + +// Reset resets the primary of the virtual network gateway in the specified resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualNetworkGatewayName - the name of the virtual network gateway. +// gatewayVip - virtual network gateway vip address supplied to the begin reset of the active-active feature +// enabled gateway. +func (client VirtualNetworkGatewaysClient) Reset(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string, gatewayVip string) (result VirtualNetworkGatewaysResetFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewaysClient.Reset") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ResetPreparer(ctx, resourceGroupName, virtualNetworkGatewayName, gatewayVip) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "Reset", nil, "Failure preparing request") + return + } + + result, err = client.ResetSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "Reset", result.Response(), "Failure sending request") + return + } + + return +} + +// ResetPreparer prepares the Reset request. +func (client VirtualNetworkGatewaysClient) ResetPreparer(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string, gatewayVip string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkGatewayName": autorest.Encode("path", virtualNetworkGatewayName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(gatewayVip) > 0 { + queryParameters["gatewayVip"] = autorest.Encode("query", gatewayVip) + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/reset", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ResetSender sends the Reset request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworkGatewaysClient) ResetSender(req *http.Request) (future VirtualNetworkGatewaysResetFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// ResetResponder handles the response to the Reset request. The method always +// closes the http.Response Body. +func (client VirtualNetworkGatewaysClient) ResetResponder(resp *http.Response) (result VirtualNetworkGateway, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ResetVpnClientSharedKey resets the VPN client shared key of the virtual network gateway in the specified resource +// group. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualNetworkGatewayName - the name of the virtual network gateway. +func (client VirtualNetworkGatewaysClient) ResetVpnClientSharedKey(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string) (result VirtualNetworkGatewaysResetVpnClientSharedKeyFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewaysClient.ResetVpnClientSharedKey") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ResetVpnClientSharedKeyPreparer(ctx, resourceGroupName, virtualNetworkGatewayName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "ResetVpnClientSharedKey", nil, "Failure preparing request") + return + } + + result, err = client.ResetVpnClientSharedKeySender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "ResetVpnClientSharedKey", result.Response(), "Failure sending request") + return + } + + return +} + +// ResetVpnClientSharedKeyPreparer prepares the ResetVpnClientSharedKey request. +func (client VirtualNetworkGatewaysClient) ResetVpnClientSharedKeyPreparer(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkGatewayName": autorest.Encode("path", virtualNetworkGatewayName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/resetvpnclientsharedkey", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ResetVpnClientSharedKeySender sends the ResetVpnClientSharedKey request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworkGatewaysClient) ResetVpnClientSharedKeySender(req *http.Request) (future VirtualNetworkGatewaysResetVpnClientSharedKeyFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// ResetVpnClientSharedKeyResponder handles the response to the ResetVpnClientSharedKey request. The method always +// closes the http.Response Body. +func (client VirtualNetworkGatewaysClient) ResetVpnClientSharedKeyResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByClosing()) + result.Response = resp + return +} + +// SetVpnclientIpsecParameters the Set VpnclientIpsecParameters operation sets the vpnclient ipsec policy for P2S +// client of virtual network gateway in the specified resource group through Network resource provider. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualNetworkGatewayName - the name of the virtual network gateway. +// vpnclientIpsecParams - parameters supplied to the Begin Set vpnclient ipsec parameters of Virtual Network +// Gateway P2S client operation through Network resource provider. +func (client VirtualNetworkGatewaysClient) SetVpnclientIpsecParameters(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string, vpnclientIpsecParams VpnClientIPsecParameters) (result VirtualNetworkGatewaysSetVpnclientIpsecParametersFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewaysClient.SetVpnclientIpsecParameters") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: vpnclientIpsecParams, + Constraints: []validation.Constraint{{Target: "vpnclientIpsecParams.SaLifeTimeSeconds", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "vpnclientIpsecParams.SaDataSizeKilobytes", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + return result, validation.NewError("network.VirtualNetworkGatewaysClient", "SetVpnclientIpsecParameters", err.Error()) + } + + req, err := client.SetVpnclientIpsecParametersPreparer(ctx, resourceGroupName, virtualNetworkGatewayName, vpnclientIpsecParams) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "SetVpnclientIpsecParameters", nil, "Failure preparing request") + return + } + + result, err = client.SetVpnclientIpsecParametersSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "SetVpnclientIpsecParameters", result.Response(), "Failure sending request") + return + } + + return +} + +// SetVpnclientIpsecParametersPreparer prepares the SetVpnclientIpsecParameters request. +func (client VirtualNetworkGatewaysClient) SetVpnclientIpsecParametersPreparer(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string, vpnclientIpsecParams VpnClientIPsecParameters) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkGatewayName": autorest.Encode("path", virtualNetworkGatewayName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/setvpnclientipsecparameters", pathParameters), + autorest.WithJSON(vpnclientIpsecParams), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// SetVpnclientIpsecParametersSender sends the SetVpnclientIpsecParameters request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworkGatewaysClient) SetVpnclientIpsecParametersSender(req *http.Request) (future VirtualNetworkGatewaysSetVpnclientIpsecParametersFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// SetVpnclientIpsecParametersResponder handles the response to the SetVpnclientIpsecParameters request. The method always +// closes the http.Response Body. +func (client VirtualNetworkGatewaysClient) SetVpnclientIpsecParametersResponder(resp *http.Response) (result VpnClientIPsecParameters, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// StartPacketCapture starts packet capture on virtual network gateway in the specified resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualNetworkGatewayName - the name of the virtual network gateway. +// parameters - virtual network gateway packet capture parameters supplied to start packet capture on gateway. +func (client VirtualNetworkGatewaysClient) StartPacketCapture(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string, parameters *VpnPacketCaptureStartParameters) (result VirtualNetworkGatewaysStartPacketCaptureFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewaysClient.StartPacketCapture") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.StartPacketCapturePreparer(ctx, resourceGroupName, virtualNetworkGatewayName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "StartPacketCapture", nil, "Failure preparing request") + return + } + + result, err = client.StartPacketCaptureSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "StartPacketCapture", result.Response(), "Failure sending request") + return + } + + return +} + +// StartPacketCapturePreparer prepares the StartPacketCapture request. +func (client VirtualNetworkGatewaysClient) StartPacketCapturePreparer(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string, parameters *VpnPacketCaptureStartParameters) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkGatewayName": autorest.Encode("path", virtualNetworkGatewayName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/startPacketCapture", pathParameters), + autorest.WithQueryParameters(queryParameters)) + if parameters != nil { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithJSON(parameters)) + } + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// StartPacketCaptureSender sends the StartPacketCapture request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworkGatewaysClient) StartPacketCaptureSender(req *http.Request) (future VirtualNetworkGatewaysStartPacketCaptureFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// StartPacketCaptureResponder handles the response to the StartPacketCapture request. The method always +// closes the http.Response Body. +func (client VirtualNetworkGatewaysClient) StartPacketCaptureResponder(resp *http.Response) (result String, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// StopPacketCapture stops packet capture on virtual network gateway in the specified resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualNetworkGatewayName - the name of the virtual network gateway. +// parameters - virtual network gateway packet capture parameters supplied to stop packet capture on gateway. +func (client VirtualNetworkGatewaysClient) StopPacketCapture(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string, parameters VpnPacketCaptureStopParameters) (result VirtualNetworkGatewaysStopPacketCaptureFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewaysClient.StopPacketCapture") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.StopPacketCapturePreparer(ctx, resourceGroupName, virtualNetworkGatewayName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "StopPacketCapture", nil, "Failure preparing request") + return + } + + result, err = client.StopPacketCaptureSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "StopPacketCapture", result.Response(), "Failure sending request") + return + } + + return +} + +// StopPacketCapturePreparer prepares the StopPacketCapture request. +func (client VirtualNetworkGatewaysClient) StopPacketCapturePreparer(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string, parameters VpnPacketCaptureStopParameters) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkGatewayName": autorest.Encode("path", virtualNetworkGatewayName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/stopPacketCapture", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// StopPacketCaptureSender sends the StopPacketCapture request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworkGatewaysClient) StopPacketCaptureSender(req *http.Request) (future VirtualNetworkGatewaysStopPacketCaptureFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// StopPacketCaptureResponder handles the response to the StopPacketCapture request. The method always +// closes the http.Response Body. +func (client VirtualNetworkGatewaysClient) StopPacketCaptureResponder(resp *http.Response) (result String, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// SupportedVpnDevices gets a xml format representation for supported vpn devices. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualNetworkGatewayName - the name of the virtual network gateway. +func (client VirtualNetworkGatewaysClient) SupportedVpnDevices(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string) (result String, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewaysClient.SupportedVpnDevices") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.SupportedVpnDevicesPreparer(ctx, resourceGroupName, virtualNetworkGatewayName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "SupportedVpnDevices", nil, "Failure preparing request") + return + } + + resp, err := client.SupportedVpnDevicesSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "SupportedVpnDevices", resp, "Failure sending request") + return + } + + result, err = client.SupportedVpnDevicesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "SupportedVpnDevices", resp, "Failure responding to request") + } + + return +} + +// SupportedVpnDevicesPreparer prepares the SupportedVpnDevices request. +func (client VirtualNetworkGatewaysClient) SupportedVpnDevicesPreparer(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkGatewayName": autorest.Encode("path", virtualNetworkGatewayName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/supportedvpndevices", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// SupportedVpnDevicesSender sends the SupportedVpnDevices request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworkGatewaysClient) SupportedVpnDevicesSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// SupportedVpnDevicesResponder handles the response to the SupportedVpnDevices request. The method always +// closes the http.Response Body. +func (client VirtualNetworkGatewaysClient) SupportedVpnDevicesResponder(resp *http.Response) (result String, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result.Value), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// UpdateTags updates a virtual network gateway tags. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualNetworkGatewayName - the name of the virtual network gateway. +// parameters - parameters supplied to update virtual network gateway tags. +func (client VirtualNetworkGatewaysClient) UpdateTags(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string, parameters TagsObject) (result VirtualNetworkGatewaysUpdateTagsFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewaysClient.UpdateTags") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdateTagsPreparer(ctx, resourceGroupName, virtualNetworkGatewayName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "UpdateTags", nil, "Failure preparing request") + return + } + + result, err = client.UpdateTagsSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "UpdateTags", result.Response(), "Failure sending request") + return + } + + return +} + +// UpdateTagsPreparer prepares the UpdateTags request. +func (client VirtualNetworkGatewaysClient) UpdateTagsPreparer(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string, parameters TagsObject) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkGatewayName": autorest.Encode("path", virtualNetworkGatewayName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateTagsSender sends the UpdateTags request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworkGatewaysClient) UpdateTagsSender(req *http.Request) (future VirtualNetworkGatewaysUpdateTagsFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// UpdateTagsResponder handles the response to the UpdateTags request. The method always +// closes the http.Response Body. +func (client VirtualNetworkGatewaysClient) UpdateTagsResponder(resp *http.Response) (result VirtualNetworkGateway, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// VpnDeviceConfigurationScript gets a xml format representation for vpn device configuration script. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualNetworkGatewayConnectionName - the name of the virtual network gateway connection for which the +// configuration script is generated. +// parameters - parameters supplied to the generate vpn device script operation. +func (client VirtualNetworkGatewaysClient) VpnDeviceConfigurationScript(ctx context.Context, resourceGroupName string, virtualNetworkGatewayConnectionName string, parameters VpnDeviceScriptParameters) (result String, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewaysClient.VpnDeviceConfigurationScript") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.VpnDeviceConfigurationScriptPreparer(ctx, resourceGroupName, virtualNetworkGatewayConnectionName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "VpnDeviceConfigurationScript", nil, "Failure preparing request") + return + } + + resp, err := client.VpnDeviceConfigurationScriptSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "VpnDeviceConfigurationScript", resp, "Failure sending request") + return + } + + result, err = client.VpnDeviceConfigurationScriptResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "VpnDeviceConfigurationScript", resp, "Failure responding to request") + } + + return +} + +// VpnDeviceConfigurationScriptPreparer prepares the VpnDeviceConfigurationScript request. +func (client VirtualNetworkGatewaysClient) VpnDeviceConfigurationScriptPreparer(ctx context.Context, resourceGroupName string, virtualNetworkGatewayConnectionName string, parameters VpnDeviceScriptParameters) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkGatewayConnectionName": autorest.Encode("path", virtualNetworkGatewayConnectionName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/vpndeviceconfigurationscript", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// VpnDeviceConfigurationScriptSender sends the VpnDeviceConfigurationScript request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworkGatewaysClient) VpnDeviceConfigurationScriptSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// VpnDeviceConfigurationScriptResponder handles the response to the VpnDeviceConfigurationScript request. The method always +// closes the http.Response Body. +func (client VirtualNetworkGatewaysClient) VpnDeviceConfigurationScriptResponder(resp *http.Response) (result String, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result.Value), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/network/mgmt/2019-07-01/network/virtualnetworkpeerings.go b/services/network/mgmt/2019-07-01/network/virtualnetworkpeerings.go new file mode 100644 index 000000000000..e0c5c4454288 --- /dev/null +++ b/services/network/mgmt/2019-07-01/network/virtualnetworkpeerings.go @@ -0,0 +1,396 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// VirtualNetworkPeeringsClient is the network Client +type VirtualNetworkPeeringsClient struct { + BaseClient +} + +// NewVirtualNetworkPeeringsClient creates an instance of the VirtualNetworkPeeringsClient client. +func NewVirtualNetworkPeeringsClient(subscriptionID string) VirtualNetworkPeeringsClient { + return NewVirtualNetworkPeeringsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewVirtualNetworkPeeringsClientWithBaseURI creates an instance of the VirtualNetworkPeeringsClient client. +func NewVirtualNetworkPeeringsClientWithBaseURI(baseURI string, subscriptionID string) VirtualNetworkPeeringsClient { + return VirtualNetworkPeeringsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates a peering in the specified virtual network. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualNetworkName - the name of the virtual network. +// virtualNetworkPeeringName - the name of the peering. +// virtualNetworkPeeringParameters - parameters supplied to the create or update virtual network peering +// operation. +func (client VirtualNetworkPeeringsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, virtualNetworkName string, virtualNetworkPeeringName string, virtualNetworkPeeringParameters VirtualNetworkPeering) (result VirtualNetworkPeeringsCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkPeeringsClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, virtualNetworkName, virtualNetworkPeeringName, virtualNetworkPeeringParameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkPeeringsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkPeeringsClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client VirtualNetworkPeeringsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, virtualNetworkName string, virtualNetworkPeeringName string, virtualNetworkPeeringParameters VirtualNetworkPeering) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkName": autorest.Encode("path", virtualNetworkName), + "virtualNetworkPeeringName": autorest.Encode("path", virtualNetworkPeeringName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/virtualNetworkPeerings/{virtualNetworkPeeringName}", pathParameters), + autorest.WithJSON(virtualNetworkPeeringParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworkPeeringsClient) CreateOrUpdateSender(req *http.Request) (future VirtualNetworkPeeringsCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client VirtualNetworkPeeringsClient) CreateOrUpdateResponder(resp *http.Response) (result VirtualNetworkPeering, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the specified virtual network peering. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualNetworkName - the name of the virtual network. +// virtualNetworkPeeringName - the name of the virtual network peering. +func (client VirtualNetworkPeeringsClient) Delete(ctx context.Context, resourceGroupName string, virtualNetworkName string, virtualNetworkPeeringName string) (result VirtualNetworkPeeringsDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkPeeringsClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, virtualNetworkName, virtualNetworkPeeringName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkPeeringsClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkPeeringsClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client VirtualNetworkPeeringsClient) DeletePreparer(ctx context.Context, resourceGroupName string, virtualNetworkName string, virtualNetworkPeeringName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkName": autorest.Encode("path", virtualNetworkName), + "virtualNetworkPeeringName": autorest.Encode("path", virtualNetworkPeeringName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/virtualNetworkPeerings/{virtualNetworkPeeringName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworkPeeringsClient) DeleteSender(req *http.Request) (future VirtualNetworkPeeringsDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client VirtualNetworkPeeringsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets the specified virtual network peering. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualNetworkName - the name of the virtual network. +// virtualNetworkPeeringName - the name of the virtual network peering. +func (client VirtualNetworkPeeringsClient) Get(ctx context.Context, resourceGroupName string, virtualNetworkName string, virtualNetworkPeeringName string) (result VirtualNetworkPeering, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkPeeringsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, virtualNetworkName, virtualNetworkPeeringName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkPeeringsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.VirtualNetworkPeeringsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkPeeringsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client VirtualNetworkPeeringsClient) GetPreparer(ctx context.Context, resourceGroupName string, virtualNetworkName string, virtualNetworkPeeringName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkName": autorest.Encode("path", virtualNetworkName), + "virtualNetworkPeeringName": autorest.Encode("path", virtualNetworkPeeringName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/virtualNetworkPeerings/{virtualNetworkPeeringName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworkPeeringsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client VirtualNetworkPeeringsClient) GetResponder(resp *http.Response) (result VirtualNetworkPeering, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets all virtual network peerings in a virtual network. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualNetworkName - the name of the virtual network. +func (client VirtualNetworkPeeringsClient) List(ctx context.Context, resourceGroupName string, virtualNetworkName string) (result VirtualNetworkPeeringListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkPeeringsClient.List") + defer func() { + sc := -1 + if result.vnplr.Response.Response != nil { + sc = result.vnplr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName, virtualNetworkName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkPeeringsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.vnplr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.VirtualNetworkPeeringsClient", "List", resp, "Failure sending request") + return + } + + result.vnplr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkPeeringsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client VirtualNetworkPeeringsClient) ListPreparer(ctx context.Context, resourceGroupName string, virtualNetworkName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkName": autorest.Encode("path", virtualNetworkName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/virtualNetworkPeerings", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworkPeeringsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client VirtualNetworkPeeringsClient) ListResponder(resp *http.Response) (result VirtualNetworkPeeringListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client VirtualNetworkPeeringsClient) listNextResults(ctx context.Context, lastResults VirtualNetworkPeeringListResult) (result VirtualNetworkPeeringListResult, err error) { + req, err := lastResults.virtualNetworkPeeringListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.VirtualNetworkPeeringsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.VirtualNetworkPeeringsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkPeeringsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client VirtualNetworkPeeringsClient) ListComplete(ctx context.Context, resourceGroupName string, virtualNetworkName string) (result VirtualNetworkPeeringListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkPeeringsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName, virtualNetworkName) + return +} diff --git a/services/network/mgmt/2019-07-01/network/virtualnetworks.go b/services/network/mgmt/2019-07-01/network/virtualnetworks.go new file mode 100644 index 000000000000..6c8c869bf294 --- /dev/null +++ b/services/network/mgmt/2019-07-01/network/virtualnetworks.go @@ -0,0 +1,775 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// VirtualNetworksClient is the network Client +type VirtualNetworksClient struct { + BaseClient +} + +// NewVirtualNetworksClient creates an instance of the VirtualNetworksClient client. +func NewVirtualNetworksClient(subscriptionID string) VirtualNetworksClient { + return NewVirtualNetworksClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewVirtualNetworksClientWithBaseURI creates an instance of the VirtualNetworksClient client. +func NewVirtualNetworksClientWithBaseURI(baseURI string, subscriptionID string) VirtualNetworksClient { + return VirtualNetworksClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CheckIPAddressAvailability checks whether a private IP address is available for use. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualNetworkName - the name of the virtual network. +// IPAddress - the private IP address to be verified. +func (client VirtualNetworksClient) CheckIPAddressAvailability(ctx context.Context, resourceGroupName string, virtualNetworkName string, IPAddress string) (result IPAddressAvailabilityResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworksClient.CheckIPAddressAvailability") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CheckIPAddressAvailabilityPreparer(ctx, resourceGroupName, virtualNetworkName, IPAddress) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "CheckIPAddressAvailability", nil, "Failure preparing request") + return + } + + resp, err := client.CheckIPAddressAvailabilitySender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "CheckIPAddressAvailability", resp, "Failure sending request") + return + } + + result, err = client.CheckIPAddressAvailabilityResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "CheckIPAddressAvailability", resp, "Failure responding to request") + } + + return +} + +// CheckIPAddressAvailabilityPreparer prepares the CheckIPAddressAvailability request. +func (client VirtualNetworksClient) CheckIPAddressAvailabilityPreparer(ctx context.Context, resourceGroupName string, virtualNetworkName string, IPAddress string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkName": autorest.Encode("path", virtualNetworkName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + "ipAddress": autorest.Encode("query", IPAddress), + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/CheckIPAddressAvailability", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CheckIPAddressAvailabilitySender sends the CheckIPAddressAvailability request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworksClient) CheckIPAddressAvailabilitySender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CheckIPAddressAvailabilityResponder handles the response to the CheckIPAddressAvailability request. The method always +// closes the http.Response Body. +func (client VirtualNetworksClient) CheckIPAddressAvailabilityResponder(resp *http.Response) (result IPAddressAvailabilityResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// CreateOrUpdate creates or updates a virtual network in the specified resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualNetworkName - the name of the virtual network. +// parameters - parameters supplied to the create or update virtual network operation. +func (client VirtualNetworksClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, virtualNetworkName string, parameters VirtualNetwork) (result VirtualNetworksCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworksClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, virtualNetworkName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client VirtualNetworksClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, virtualNetworkName string, parameters VirtualNetwork) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkName": autorest.Encode("path", virtualNetworkName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworksClient) CreateOrUpdateSender(req *http.Request) (future VirtualNetworksCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client VirtualNetworksClient) CreateOrUpdateResponder(resp *http.Response) (result VirtualNetwork, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the specified virtual network. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualNetworkName - the name of the virtual network. +func (client VirtualNetworksClient) Delete(ctx context.Context, resourceGroupName string, virtualNetworkName string) (result VirtualNetworksDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworksClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, virtualNetworkName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client VirtualNetworksClient) DeletePreparer(ctx context.Context, resourceGroupName string, virtualNetworkName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkName": autorest.Encode("path", virtualNetworkName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworksClient) DeleteSender(req *http.Request) (future VirtualNetworksDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client VirtualNetworksClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets the specified virtual network by resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualNetworkName - the name of the virtual network. +// expand - expands referenced resources. +func (client VirtualNetworksClient) Get(ctx context.Context, resourceGroupName string, virtualNetworkName string, expand string) (result VirtualNetwork, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworksClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, virtualNetworkName, expand) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client VirtualNetworksClient) GetPreparer(ctx context.Context, resourceGroupName string, virtualNetworkName string, expand string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkName": autorest.Encode("path", virtualNetworkName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(expand) > 0 { + queryParameters["$expand"] = autorest.Encode("query", expand) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworksClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client VirtualNetworksClient) GetResponder(resp *http.Response) (result VirtualNetwork, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets all virtual networks in a resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +func (client VirtualNetworksClient) List(ctx context.Context, resourceGroupName string) (result VirtualNetworkListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworksClient.List") + defer func() { + sc := -1 + if result.vnlr.Response.Response != nil { + sc = result.vnlr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.vnlr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "List", resp, "Failure sending request") + return + } + + result.vnlr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client VirtualNetworksClient) ListPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworksClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client VirtualNetworksClient) ListResponder(resp *http.Response) (result VirtualNetworkListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client VirtualNetworksClient) listNextResults(ctx context.Context, lastResults VirtualNetworkListResult) (result VirtualNetworkListResult, err error) { + req, err := lastResults.virtualNetworkListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client VirtualNetworksClient) ListComplete(ctx context.Context, resourceGroupName string) (result VirtualNetworkListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworksClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName) + return +} + +// ListAll gets all virtual networks in a subscription. +func (client VirtualNetworksClient) ListAll(ctx context.Context) (result VirtualNetworkListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworksClient.ListAll") + defer func() { + sc := -1 + if result.vnlr.Response.Response != nil { + sc = result.vnlr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listAllNextResults + req, err := client.ListAllPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "ListAll", nil, "Failure preparing request") + return + } + + resp, err := client.ListAllSender(req) + if err != nil { + result.vnlr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "ListAll", resp, "Failure sending request") + return + } + + result.vnlr, err = client.ListAllResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "ListAll", resp, "Failure responding to request") + } + + return +} + +// ListAllPreparer prepares the ListAll request. +func (client VirtualNetworksClient) ListAllPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/virtualNetworks", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListAllSender sends the ListAll request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworksClient) ListAllSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListAllResponder handles the response to the ListAll request. The method always +// closes the http.Response Body. +func (client VirtualNetworksClient) ListAllResponder(resp *http.Response) (result VirtualNetworkListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listAllNextResults retrieves the next set of results, if any. +func (client VirtualNetworksClient) listAllNextResults(ctx context.Context, lastResults VirtualNetworkListResult) (result VirtualNetworkListResult, err error) { + req, err := lastResults.virtualNetworkListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "listAllNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListAllSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "listAllNextResults", resp, "Failure sending next results request") + } + result, err = client.ListAllResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "listAllNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListAllComplete enumerates all values, automatically crossing page boundaries as required. +func (client VirtualNetworksClient) ListAllComplete(ctx context.Context) (result VirtualNetworkListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworksClient.ListAll") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListAll(ctx) + return +} + +// ListUsage lists usage stats. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualNetworkName - the name of the virtual network. +func (client VirtualNetworksClient) ListUsage(ctx context.Context, resourceGroupName string, virtualNetworkName string) (result VirtualNetworkListUsageResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworksClient.ListUsage") + defer func() { + sc := -1 + if result.vnlur.Response.Response != nil { + sc = result.vnlur.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listUsageNextResults + req, err := client.ListUsagePreparer(ctx, resourceGroupName, virtualNetworkName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "ListUsage", nil, "Failure preparing request") + return + } + + resp, err := client.ListUsageSender(req) + if err != nil { + result.vnlur.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "ListUsage", resp, "Failure sending request") + return + } + + result.vnlur, err = client.ListUsageResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "ListUsage", resp, "Failure responding to request") + } + + return +} + +// ListUsagePreparer prepares the ListUsage request. +func (client VirtualNetworksClient) ListUsagePreparer(ctx context.Context, resourceGroupName string, virtualNetworkName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkName": autorest.Encode("path", virtualNetworkName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/usages", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListUsageSender sends the ListUsage request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworksClient) ListUsageSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListUsageResponder handles the response to the ListUsage request. The method always +// closes the http.Response Body. +func (client VirtualNetworksClient) ListUsageResponder(resp *http.Response) (result VirtualNetworkListUsageResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listUsageNextResults retrieves the next set of results, if any. +func (client VirtualNetworksClient) listUsageNextResults(ctx context.Context, lastResults VirtualNetworkListUsageResult) (result VirtualNetworkListUsageResult, err error) { + req, err := lastResults.virtualNetworkListUsageResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "listUsageNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListUsageSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "listUsageNextResults", resp, "Failure sending next results request") + } + result, err = client.ListUsageResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "listUsageNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListUsageComplete enumerates all values, automatically crossing page boundaries as required. +func (client VirtualNetworksClient) ListUsageComplete(ctx context.Context, resourceGroupName string, virtualNetworkName string) (result VirtualNetworkListUsageResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworksClient.ListUsage") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListUsage(ctx, resourceGroupName, virtualNetworkName) + return +} + +// UpdateTags updates a virtual network tags. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualNetworkName - the name of the virtual network. +// parameters - parameters supplied to update virtual network tags. +func (client VirtualNetworksClient) UpdateTags(ctx context.Context, resourceGroupName string, virtualNetworkName string, parameters TagsObject) (result VirtualNetworksUpdateTagsFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworksClient.UpdateTags") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdateTagsPreparer(ctx, resourceGroupName, virtualNetworkName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "UpdateTags", nil, "Failure preparing request") + return + } + + result, err = client.UpdateTagsSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "UpdateTags", result.Response(), "Failure sending request") + return + } + + return +} + +// UpdateTagsPreparer prepares the UpdateTags request. +func (client VirtualNetworksClient) UpdateTagsPreparer(ctx context.Context, resourceGroupName string, virtualNetworkName string, parameters TagsObject) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkName": autorest.Encode("path", virtualNetworkName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateTagsSender sends the UpdateTags request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworksClient) UpdateTagsSender(req *http.Request) (future VirtualNetworksUpdateTagsFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// UpdateTagsResponder handles the response to the UpdateTags request. The method always +// closes the http.Response Body. +func (client VirtualNetworksClient) UpdateTagsResponder(resp *http.Response) (result VirtualNetwork, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/network/mgmt/2019-07-01/network/virtualnetworktaps.go b/services/network/mgmt/2019-07-01/network/virtualnetworktaps.go new file mode 100644 index 000000000000..b0928942fbc0 --- /dev/null +++ b/services/network/mgmt/2019-07-01/network/virtualnetworktaps.go @@ -0,0 +1,609 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// VirtualNetworkTapsClient is the network Client +type VirtualNetworkTapsClient struct { + BaseClient +} + +// NewVirtualNetworkTapsClient creates an instance of the VirtualNetworkTapsClient client. +func NewVirtualNetworkTapsClient(subscriptionID string) VirtualNetworkTapsClient { + return NewVirtualNetworkTapsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewVirtualNetworkTapsClientWithBaseURI creates an instance of the VirtualNetworkTapsClient client. +func NewVirtualNetworkTapsClientWithBaseURI(baseURI string, subscriptionID string) VirtualNetworkTapsClient { + return VirtualNetworkTapsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates a Virtual Network Tap. +// Parameters: +// resourceGroupName - the name of the resource group. +// tapName - the name of the virtual network tap. +// parameters - parameters supplied to the create or update virtual network tap operation. +func (client VirtualNetworkTapsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, tapName string, parameters VirtualNetworkTap) (result VirtualNetworkTapsCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkTapsClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.VirtualNetworkTapPropertiesFormat", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.VirtualNetworkTapPropertiesFormat.DestinationNetworkInterfaceIPConfiguration", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.VirtualNetworkTapPropertiesFormat.DestinationNetworkInterfaceIPConfiguration.InterfaceIPConfigurationPropertiesFormat", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.VirtualNetworkTapPropertiesFormat.DestinationNetworkInterfaceIPConfiguration.InterfaceIPConfigurationPropertiesFormat.PublicIPAddress", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.VirtualNetworkTapPropertiesFormat.DestinationNetworkInterfaceIPConfiguration.InterfaceIPConfigurationPropertiesFormat.PublicIPAddress.PublicIPAddressPropertiesFormat", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.VirtualNetworkTapPropertiesFormat.DestinationNetworkInterfaceIPConfiguration.InterfaceIPConfigurationPropertiesFormat.PublicIPAddress.PublicIPAddressPropertiesFormat.IPConfiguration", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.VirtualNetworkTapPropertiesFormat.DestinationNetworkInterfaceIPConfiguration.InterfaceIPConfigurationPropertiesFormat.PublicIPAddress.PublicIPAddressPropertiesFormat.IPConfiguration.IPConfigurationPropertiesFormat", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.VirtualNetworkTapPropertiesFormat.DestinationNetworkInterfaceIPConfiguration.InterfaceIPConfigurationPropertiesFormat.PublicIPAddress.PublicIPAddressPropertiesFormat.IPConfiguration.IPConfigurationPropertiesFormat.PublicIPAddress", Name: validation.Null, Rule: false, Chain: nil}}}, + }}, + }}, + }}, + }}, + }}, + {Target: "parameters.VirtualNetworkTapPropertiesFormat.DestinationLoadBalancerFrontEndIPConfiguration", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.VirtualNetworkTapPropertiesFormat.DestinationLoadBalancerFrontEndIPConfiguration.FrontendIPConfigurationPropertiesFormat", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.VirtualNetworkTapPropertiesFormat.DestinationLoadBalancerFrontEndIPConfiguration.FrontendIPConfigurationPropertiesFormat.PublicIPAddress", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.VirtualNetworkTapPropertiesFormat.DestinationLoadBalancerFrontEndIPConfiguration.FrontendIPConfigurationPropertiesFormat.PublicIPAddress.PublicIPAddressPropertiesFormat", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.VirtualNetworkTapPropertiesFormat.DestinationLoadBalancerFrontEndIPConfiguration.FrontendIPConfigurationPropertiesFormat.PublicIPAddress.PublicIPAddressPropertiesFormat.IPConfiguration", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.VirtualNetworkTapPropertiesFormat.DestinationLoadBalancerFrontEndIPConfiguration.FrontendIPConfigurationPropertiesFormat.PublicIPAddress.PublicIPAddressPropertiesFormat.IPConfiguration.IPConfigurationPropertiesFormat", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.VirtualNetworkTapPropertiesFormat.DestinationLoadBalancerFrontEndIPConfiguration.FrontendIPConfigurationPropertiesFormat.PublicIPAddress.PublicIPAddressPropertiesFormat.IPConfiguration.IPConfigurationPropertiesFormat.PublicIPAddress", Name: validation.Null, Rule: false, Chain: nil}}}, + }}, + }}, + }}, + }}, + }}, + }}}}}); err != nil { + return result, validation.NewError("network.VirtualNetworkTapsClient", "CreateOrUpdate", err.Error()) + } + + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, tapName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkTapsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkTapsClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client VirtualNetworkTapsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, tapName string, parameters VirtualNetworkTap) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "tapName": autorest.Encode("path", tapName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkTaps/{tapName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworkTapsClient) CreateOrUpdateSender(req *http.Request) (future VirtualNetworkTapsCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client VirtualNetworkTapsClient) CreateOrUpdateResponder(resp *http.Response) (result VirtualNetworkTap, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the specified virtual network tap. +// Parameters: +// resourceGroupName - the name of the resource group. +// tapName - the name of the virtual network tap. +func (client VirtualNetworkTapsClient) Delete(ctx context.Context, resourceGroupName string, tapName string) (result VirtualNetworkTapsDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkTapsClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, tapName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkTapsClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkTapsClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client VirtualNetworkTapsClient) DeletePreparer(ctx context.Context, resourceGroupName string, tapName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "tapName": autorest.Encode("path", tapName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkTaps/{tapName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworkTapsClient) DeleteSender(req *http.Request) (future VirtualNetworkTapsDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client VirtualNetworkTapsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets information about the specified virtual network tap. +// Parameters: +// resourceGroupName - the name of the resource group. +// tapName - the name of virtual network tap. +func (client VirtualNetworkTapsClient) Get(ctx context.Context, resourceGroupName string, tapName string) (result VirtualNetworkTap, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkTapsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, tapName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkTapsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.VirtualNetworkTapsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkTapsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client VirtualNetworkTapsClient) GetPreparer(ctx context.Context, resourceGroupName string, tapName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "tapName": autorest.Encode("path", tapName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkTaps/{tapName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworkTapsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client VirtualNetworkTapsClient) GetResponder(resp *http.Response) (result VirtualNetworkTap, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListAll gets all the VirtualNetworkTaps in a subscription. +func (client VirtualNetworkTapsClient) ListAll(ctx context.Context) (result VirtualNetworkTapListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkTapsClient.ListAll") + defer func() { + sc := -1 + if result.vntlr.Response.Response != nil { + sc = result.vntlr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listAllNextResults + req, err := client.ListAllPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkTapsClient", "ListAll", nil, "Failure preparing request") + return + } + + resp, err := client.ListAllSender(req) + if err != nil { + result.vntlr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.VirtualNetworkTapsClient", "ListAll", resp, "Failure sending request") + return + } + + result.vntlr, err = client.ListAllResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkTapsClient", "ListAll", resp, "Failure responding to request") + } + + return +} + +// ListAllPreparer prepares the ListAll request. +func (client VirtualNetworkTapsClient) ListAllPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/virtualNetworkTaps", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListAllSender sends the ListAll request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworkTapsClient) ListAllSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListAllResponder handles the response to the ListAll request. The method always +// closes the http.Response Body. +func (client VirtualNetworkTapsClient) ListAllResponder(resp *http.Response) (result VirtualNetworkTapListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listAllNextResults retrieves the next set of results, if any. +func (client VirtualNetworkTapsClient) listAllNextResults(ctx context.Context, lastResults VirtualNetworkTapListResult) (result VirtualNetworkTapListResult, err error) { + req, err := lastResults.virtualNetworkTapListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.VirtualNetworkTapsClient", "listAllNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListAllSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.VirtualNetworkTapsClient", "listAllNextResults", resp, "Failure sending next results request") + } + result, err = client.ListAllResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkTapsClient", "listAllNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListAllComplete enumerates all values, automatically crossing page boundaries as required. +func (client VirtualNetworkTapsClient) ListAllComplete(ctx context.Context) (result VirtualNetworkTapListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkTapsClient.ListAll") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListAll(ctx) + return +} + +// ListByResourceGroup gets all the VirtualNetworkTaps in a subscription. +// Parameters: +// resourceGroupName - the name of the resource group. +func (client VirtualNetworkTapsClient) ListByResourceGroup(ctx context.Context, resourceGroupName string) (result VirtualNetworkTapListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkTapsClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.vntlr.Response.Response != nil { + sc = result.vntlr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listByResourceGroupNextResults + req, err := client.ListByResourceGroupPreparer(ctx, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkTapsClient", "ListByResourceGroup", nil, "Failure preparing request") + return + } + + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.vntlr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.VirtualNetworkTapsClient", "ListByResourceGroup", resp, "Failure sending request") + return + } + + result.vntlr, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkTapsClient", "ListByResourceGroup", resp, "Failure responding to request") + } + + return +} + +// ListByResourceGroupPreparer prepares the ListByResourceGroup request. +func (client VirtualNetworkTapsClient) ListByResourceGroupPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkTaps", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByResourceGroupSender sends the ListByResourceGroup request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworkTapsClient) ListByResourceGroupSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByResourceGroupResponder handles the response to the ListByResourceGroup request. The method always +// closes the http.Response Body. +func (client VirtualNetworkTapsClient) ListByResourceGroupResponder(resp *http.Response) (result VirtualNetworkTapListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listByResourceGroupNextResults retrieves the next set of results, if any. +func (client VirtualNetworkTapsClient) listByResourceGroupNextResults(ctx context.Context, lastResults VirtualNetworkTapListResult) (result VirtualNetworkTapListResult, err error) { + req, err := lastResults.virtualNetworkTapListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.VirtualNetworkTapsClient", "listByResourceGroupNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.VirtualNetworkTapsClient", "listByResourceGroupNextResults", resp, "Failure sending next results request") + } + result, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkTapsClient", "listByResourceGroupNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListByResourceGroupComplete enumerates all values, automatically crossing page boundaries as required. +func (client VirtualNetworkTapsClient) ListByResourceGroupComplete(ctx context.Context, resourceGroupName string) (result VirtualNetworkTapListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkTapsClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListByResourceGroup(ctx, resourceGroupName) + return +} + +// UpdateTags updates an VirtualNetworkTap tags. +// Parameters: +// resourceGroupName - the name of the resource group. +// tapName - the name of the tap. +// tapParameters - parameters supplied to update VirtualNetworkTap tags. +func (client VirtualNetworkTapsClient) UpdateTags(ctx context.Context, resourceGroupName string, tapName string, tapParameters TagsObject) (result VirtualNetworkTapsUpdateTagsFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkTapsClient.UpdateTags") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdateTagsPreparer(ctx, resourceGroupName, tapName, tapParameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkTapsClient", "UpdateTags", nil, "Failure preparing request") + return + } + + result, err = client.UpdateTagsSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkTapsClient", "UpdateTags", result.Response(), "Failure sending request") + return + } + + return +} + +// UpdateTagsPreparer prepares the UpdateTags request. +func (client VirtualNetworkTapsClient) UpdateTagsPreparer(ctx context.Context, resourceGroupName string, tapName string, tapParameters TagsObject) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "tapName": autorest.Encode("path", tapName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkTaps/{tapName}", pathParameters), + autorest.WithJSON(tapParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateTagsSender sends the UpdateTags request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworkTapsClient) UpdateTagsSender(req *http.Request) (future VirtualNetworkTapsUpdateTagsFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// UpdateTagsResponder handles the response to the UpdateTags request. The method always +// closes the http.Response Body. +func (client VirtualNetworkTapsClient) UpdateTagsResponder(resp *http.Response) (result VirtualNetworkTap, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/network/mgmt/2019-07-01/network/virtualrouterpeerings.go b/services/network/mgmt/2019-07-01/network/virtualrouterpeerings.go new file mode 100644 index 000000000000..2d1a6c78ce06 --- /dev/null +++ b/services/network/mgmt/2019-07-01/network/virtualrouterpeerings.go @@ -0,0 +1,493 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// VirtualRouterPeeringsClient is the network Client +type VirtualRouterPeeringsClient struct { + BaseClient +} + +// NewVirtualRouterPeeringsClient creates an instance of the VirtualRouterPeeringsClient client. +func NewVirtualRouterPeeringsClient(subscriptionID string) VirtualRouterPeeringsClient { + return NewVirtualRouterPeeringsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewVirtualRouterPeeringsClientWithBaseURI creates an instance of the VirtualRouterPeeringsClient client. +func NewVirtualRouterPeeringsClientWithBaseURI(baseURI string, subscriptionID string) VirtualRouterPeeringsClient { + return VirtualRouterPeeringsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates the specified Virtual Router Peering. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualRouterName - the name of the Virtual Router. +// peeringName - the name of the Virtual Router Peering. +// parameters - parameters supplied to the create or update Virtual Router Peering operation. +func (client VirtualRouterPeeringsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, virtualRouterName string, peeringName string, parameters VirtualRouterPeering) (result VirtualRouterPeeringsCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualRouterPeeringsClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.VirtualRouterPeeringProperties", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.VirtualRouterPeeringProperties.PeerAsn", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.VirtualRouterPeeringProperties.PeerAsn", Name: validation.InclusiveMaximum, Rule: int64(4294967295), Chain: nil}, + {Target: "parameters.VirtualRouterPeeringProperties.PeerAsn", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}, + }}, + }}}}}); err != nil { + return result, validation.NewError("network.VirtualRouterPeeringsClient", "CreateOrUpdate", err.Error()) + } + + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, virtualRouterName, peeringName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualRouterPeeringsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualRouterPeeringsClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client VirtualRouterPeeringsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, virtualRouterName string, peeringName string, parameters VirtualRouterPeering) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "peeringName": autorest.Encode("path", peeringName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualRouterName": autorest.Encode("path", virtualRouterName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + parameters.Etag = nil + parameters.Type = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualRouters/{virtualRouterName}/peerings/{peeringName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualRouterPeeringsClient) CreateOrUpdateSender(req *http.Request) (future VirtualRouterPeeringsCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client VirtualRouterPeeringsClient) CreateOrUpdateResponder(resp *http.Response) (result VirtualRouterPeering, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the specified peering from a Virtual Router. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualRouterName - the name of the Virtual Router. +// peeringName - the name of the peering. +func (client VirtualRouterPeeringsClient) Delete(ctx context.Context, resourceGroupName string, virtualRouterName string, peeringName string) (result VirtualRouterPeeringsDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualRouterPeeringsClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, virtualRouterName, peeringName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualRouterPeeringsClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualRouterPeeringsClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client VirtualRouterPeeringsClient) DeletePreparer(ctx context.Context, resourceGroupName string, virtualRouterName string, peeringName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "peeringName": autorest.Encode("path", peeringName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualRouterName": autorest.Encode("path", virtualRouterName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualRouters/{virtualRouterName}/peerings/{peeringName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualRouterPeeringsClient) DeleteSender(req *http.Request) (future VirtualRouterPeeringsDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client VirtualRouterPeeringsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets the specified Virtual Router Peering. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualRouterName - the name of the Virtual Router. +// peeringName - the name of the Virtual Router Peering. +func (client VirtualRouterPeeringsClient) Get(ctx context.Context, resourceGroupName string, virtualRouterName string, peeringName string) (result VirtualRouterPeering, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualRouterPeeringsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, virtualRouterName, peeringName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualRouterPeeringsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.VirtualRouterPeeringsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualRouterPeeringsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client VirtualRouterPeeringsClient) GetPreparer(ctx context.Context, resourceGroupName string, virtualRouterName string, peeringName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "peeringName": autorest.Encode("path", peeringName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualRouterName": autorest.Encode("path", virtualRouterName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualRouters/{virtualRouterName}/peerings/{peeringName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualRouterPeeringsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client VirtualRouterPeeringsClient) GetResponder(resp *http.Response) (result VirtualRouterPeering, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List lists all Virtual Router Peerings in a Virtual Router resource. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualRouterName - the name of the Virtual Router. +func (client VirtualRouterPeeringsClient) List(ctx context.Context, resourceGroupName string, virtualRouterName string) (result VirtualRouterPeeringListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualRouterPeeringsClient.List") + defer func() { + sc := -1 + if result.vrplr.Response.Response != nil { + sc = result.vrplr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName, virtualRouterName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualRouterPeeringsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.vrplr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.VirtualRouterPeeringsClient", "List", resp, "Failure sending request") + return + } + + result.vrplr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualRouterPeeringsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client VirtualRouterPeeringsClient) ListPreparer(ctx context.Context, resourceGroupName string, virtualRouterName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualRouterName": autorest.Encode("path", virtualRouterName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualRouters/{virtualRouterName}/peerings", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualRouterPeeringsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client VirtualRouterPeeringsClient) ListResponder(resp *http.Response) (result VirtualRouterPeeringListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client VirtualRouterPeeringsClient) listNextResults(ctx context.Context, lastResults VirtualRouterPeeringListResult) (result VirtualRouterPeeringListResult, err error) { + req, err := lastResults.virtualRouterPeeringListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.VirtualRouterPeeringsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.VirtualRouterPeeringsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualRouterPeeringsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client VirtualRouterPeeringsClient) ListComplete(ctx context.Context, resourceGroupName string, virtualRouterName string) (result VirtualRouterPeeringListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualRouterPeeringsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName, virtualRouterName) + return +} + +// Update updates a Virtual Router Peering. +// Parameters: +// resourceGroupName - the resource group name of the Virtual Router Peering. +// virtualRouterName - the name of the Virtual Router. +// peeringName - the name of the Virtual Router Peering being updated. +// parameters - parameters supplied to update Virtual Router Peering operation. +func (client VirtualRouterPeeringsClient) Update(ctx context.Context, resourceGroupName string, virtualRouterName string, peeringName string, parameters VirtualRouterPeering) (result VirtualRouterPeering, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualRouterPeeringsClient.Update") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdatePreparer(ctx, resourceGroupName, virtualRouterName, peeringName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualRouterPeeringsClient", "Update", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.VirtualRouterPeeringsClient", "Update", resp, "Failure sending request") + return + } + + result, err = client.UpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualRouterPeeringsClient", "Update", resp, "Failure responding to request") + } + + return +} + +// UpdatePreparer prepares the Update request. +func (client VirtualRouterPeeringsClient) UpdatePreparer(ctx context.Context, resourceGroupName string, virtualRouterName string, peeringName string, parameters VirtualRouterPeering) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "peeringName": autorest.Encode("path", peeringName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualRouterName": autorest.Encode("path", virtualRouterName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + parameters.Etag = nil + parameters.Type = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualRouters/{virtualRouterName}/peerings/{peeringName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateSender sends the Update request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualRouterPeeringsClient) UpdateSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// UpdateResponder handles the response to the Update request. The method always +// closes the http.Response Body. +func (client VirtualRouterPeeringsClient) UpdateResponder(resp *http.Response) (result VirtualRouterPeering, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/network/mgmt/2019-07-01/network/virtualrouters.go b/services/network/mgmt/2019-07-01/network/virtualrouters.go new file mode 100644 index 000000000000..247dd594efe3 --- /dev/null +++ b/services/network/mgmt/2019-07-01/network/virtualrouters.go @@ -0,0 +1,594 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// VirtualRoutersClient is the network Client +type VirtualRoutersClient struct { + BaseClient +} + +// NewVirtualRoutersClient creates an instance of the VirtualRoutersClient client. +func NewVirtualRoutersClient(subscriptionID string) VirtualRoutersClient { + return NewVirtualRoutersClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewVirtualRoutersClientWithBaseURI creates an instance of the VirtualRoutersClient client. +func NewVirtualRoutersClientWithBaseURI(baseURI string, subscriptionID string) VirtualRoutersClient { + return VirtualRoutersClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates the specified Virtual Router. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualRouterName - the name of the Virtual Router. +// parameters - parameters supplied to the create or update Virtual Router. +func (client VirtualRoutersClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, virtualRouterName string, parameters VirtualRouter) (result VirtualRoutersCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualRoutersClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.VirtualRouterPropertiesFormat", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.VirtualRouterPropertiesFormat.VirtualRouterAsn", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.VirtualRouterPropertiesFormat.VirtualRouterAsn", Name: validation.InclusiveMaximum, Rule: int64(4294967295), Chain: nil}, + {Target: "parameters.VirtualRouterPropertiesFormat.VirtualRouterAsn", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}, + }}, + }}}}}); err != nil { + return result, validation.NewError("network.VirtualRoutersClient", "CreateOrUpdate", err.Error()) + } + + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, virtualRouterName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualRoutersClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualRoutersClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client VirtualRoutersClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, virtualRouterName string, parameters VirtualRouter) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualRouterName": autorest.Encode("path", virtualRouterName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + parameters.Etag = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualRouters/{virtualRouterName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualRoutersClient) CreateOrUpdateSender(req *http.Request) (future VirtualRoutersCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client VirtualRoutersClient) CreateOrUpdateResponder(resp *http.Response) (result VirtualRouter, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the specified Virtual Router. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualRouterName - the name of the Virtual Router. +func (client VirtualRoutersClient) Delete(ctx context.Context, resourceGroupName string, virtualRouterName string) (result VirtualRoutersDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualRoutersClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, virtualRouterName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualRoutersClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualRoutersClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client VirtualRoutersClient) DeletePreparer(ctx context.Context, resourceGroupName string, virtualRouterName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualRouterName": autorest.Encode("path", virtualRouterName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualRouters/{virtualRouterName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualRoutersClient) DeleteSender(req *http.Request) (future VirtualRoutersDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client VirtualRoutersClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets the specified Virtual Router. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualRouterName - the name of the Virtual Router. +// expand - expands referenced resources. +func (client VirtualRoutersClient) Get(ctx context.Context, resourceGroupName string, virtualRouterName string, expand string) (result VirtualRouter, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualRoutersClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, virtualRouterName, expand) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualRoutersClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.VirtualRoutersClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualRoutersClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client VirtualRoutersClient) GetPreparer(ctx context.Context, resourceGroupName string, virtualRouterName string, expand string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualRouterName": autorest.Encode("path", virtualRouterName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(expand) > 0 { + queryParameters["$expand"] = autorest.Encode("query", expand) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualRouters/{virtualRouterName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualRoutersClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client VirtualRoutersClient) GetResponder(resp *http.Response) (result VirtualRouter, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets all the Virtual Routers in a subscription. +func (client VirtualRoutersClient) List(ctx context.Context) (result VirtualRouterListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualRoutersClient.List") + defer func() { + sc := -1 + if result.vrlr.Response.Response != nil { + sc = result.vrlr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualRoutersClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.vrlr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.VirtualRoutersClient", "List", resp, "Failure sending request") + return + } + + result.vrlr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualRoutersClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client VirtualRoutersClient) ListPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/virtualRouters", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualRoutersClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client VirtualRoutersClient) ListResponder(resp *http.Response) (result VirtualRouterListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client VirtualRoutersClient) listNextResults(ctx context.Context, lastResults VirtualRouterListResult) (result VirtualRouterListResult, err error) { + req, err := lastResults.virtualRouterListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.VirtualRoutersClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.VirtualRoutersClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualRoutersClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client VirtualRoutersClient) ListComplete(ctx context.Context) (result VirtualRouterListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualRoutersClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx) + return +} + +// ListByResourceGroup lists all Virtual Routers in a resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +func (client VirtualRoutersClient) ListByResourceGroup(ctx context.Context, resourceGroupName string) (result VirtualRouterListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualRoutersClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.vrlr.Response.Response != nil { + sc = result.vrlr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listByResourceGroupNextResults + req, err := client.ListByResourceGroupPreparer(ctx, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualRoutersClient", "ListByResourceGroup", nil, "Failure preparing request") + return + } + + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.vrlr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.VirtualRoutersClient", "ListByResourceGroup", resp, "Failure sending request") + return + } + + result.vrlr, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualRoutersClient", "ListByResourceGroup", resp, "Failure responding to request") + } + + return +} + +// ListByResourceGroupPreparer prepares the ListByResourceGroup request. +func (client VirtualRoutersClient) ListByResourceGroupPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualRouters", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByResourceGroupSender sends the ListByResourceGroup request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualRoutersClient) ListByResourceGroupSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByResourceGroupResponder handles the response to the ListByResourceGroup request. The method always +// closes the http.Response Body. +func (client VirtualRoutersClient) ListByResourceGroupResponder(resp *http.Response) (result VirtualRouterListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listByResourceGroupNextResults retrieves the next set of results, if any. +func (client VirtualRoutersClient) listByResourceGroupNextResults(ctx context.Context, lastResults VirtualRouterListResult) (result VirtualRouterListResult, err error) { + req, err := lastResults.virtualRouterListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.VirtualRoutersClient", "listByResourceGroupNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.VirtualRoutersClient", "listByResourceGroupNextResults", resp, "Failure sending next results request") + } + result, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualRoutersClient", "listByResourceGroupNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListByResourceGroupComplete enumerates all values, automatically crossing page boundaries as required. +func (client VirtualRoutersClient) ListByResourceGroupComplete(ctx context.Context, resourceGroupName string) (result VirtualRouterListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualRoutersClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListByResourceGroup(ctx, resourceGroupName) + return +} + +// Update updates a Virtual Router. +// Parameters: +// resourceGroupName - the resource group name of the Virtual Router. +// virtualRouterName - the name of the Virtual Router being updated. +// parameters - parameters supplied to Update Virtual Router Tags. +func (client VirtualRoutersClient) Update(ctx context.Context, resourceGroupName string, virtualRouterName string, parameters TagsObject) (result VirtualRouter, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualRoutersClient.Update") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdatePreparer(ctx, resourceGroupName, virtualRouterName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualRoutersClient", "Update", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.VirtualRoutersClient", "Update", resp, "Failure sending request") + return + } + + result, err = client.UpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualRoutersClient", "Update", resp, "Failure responding to request") + } + + return +} + +// UpdatePreparer prepares the Update request. +func (client VirtualRoutersClient) UpdatePreparer(ctx context.Context, resourceGroupName string, virtualRouterName string, parameters TagsObject) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualRouterName": autorest.Encode("path", virtualRouterName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualRouters/{virtualRouterName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateSender sends the Update request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualRoutersClient) UpdateSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// UpdateResponder handles the response to the Update request. The method always +// closes the http.Response Body. +func (client VirtualRoutersClient) UpdateResponder(resp *http.Response) (result VirtualRouter, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/network/mgmt/2019-07-01/network/virtualwans.go b/services/network/mgmt/2019-07-01/network/virtualwans.go new file mode 100644 index 000000000000..4b79e591e8fc --- /dev/null +++ b/services/network/mgmt/2019-07-01/network/virtualwans.go @@ -0,0 +1,578 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// VirtualWansClient is the network Client +type VirtualWansClient struct { + BaseClient +} + +// NewVirtualWansClient creates an instance of the VirtualWansClient client. +func NewVirtualWansClient(subscriptionID string) VirtualWansClient { + return NewVirtualWansClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewVirtualWansClientWithBaseURI creates an instance of the VirtualWansClient client. +func NewVirtualWansClientWithBaseURI(baseURI string, subscriptionID string) VirtualWansClient { + return VirtualWansClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates a VirtualWAN resource if it doesn't exist else updates the existing VirtualWAN. +// Parameters: +// resourceGroupName - the resource group name of the VirtualWan. +// virtualWANName - the name of the VirtualWAN being created or updated. +// wANParameters - parameters supplied to create or update VirtualWAN. +func (client VirtualWansClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, virtualWANName string, wANParameters VirtualWAN) (result VirtualWansCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualWansClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, virtualWANName, wANParameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualWansClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualWansClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client VirtualWansClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, virtualWANName string, wANParameters VirtualWAN) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "VirtualWANName": autorest.Encode("path", virtualWANName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + wANParameters.Etag = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{VirtualWANName}", pathParameters), + autorest.WithJSON(wANParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualWansClient) CreateOrUpdateSender(req *http.Request) (future VirtualWansCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client VirtualWansClient) CreateOrUpdateResponder(resp *http.Response) (result VirtualWAN, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes a VirtualWAN. +// Parameters: +// resourceGroupName - the resource group name of the VirtualWan. +// virtualWANName - the name of the VirtualWAN being deleted. +func (client VirtualWansClient) Delete(ctx context.Context, resourceGroupName string, virtualWANName string) (result VirtualWansDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualWansClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, virtualWANName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualWansClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualWansClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client VirtualWansClient) DeletePreparer(ctx context.Context, resourceGroupName string, virtualWANName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "VirtualWANName": autorest.Encode("path", virtualWANName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{VirtualWANName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualWansClient) DeleteSender(req *http.Request) (future VirtualWansDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client VirtualWansClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get retrieves the details of a VirtualWAN. +// Parameters: +// resourceGroupName - the resource group name of the VirtualWan. +// virtualWANName - the name of the VirtualWAN being retrieved. +func (client VirtualWansClient) Get(ctx context.Context, resourceGroupName string, virtualWANName string) (result VirtualWAN, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualWansClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, virtualWANName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualWansClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.VirtualWansClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualWansClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client VirtualWansClient) GetPreparer(ctx context.Context, resourceGroupName string, virtualWANName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "VirtualWANName": autorest.Encode("path", virtualWANName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{VirtualWANName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualWansClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client VirtualWansClient) GetResponder(resp *http.Response) (result VirtualWAN, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List lists all the VirtualWANs in a subscription. +func (client VirtualWansClient) List(ctx context.Context) (result ListVirtualWANsResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualWansClient.List") + defer func() { + sc := -1 + if result.lvwnr.Response.Response != nil { + sc = result.lvwnr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualWansClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.lvwnr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.VirtualWansClient", "List", resp, "Failure sending request") + return + } + + result.lvwnr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualWansClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client VirtualWansClient) ListPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/virtualWans", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualWansClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client VirtualWansClient) ListResponder(resp *http.Response) (result ListVirtualWANsResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client VirtualWansClient) listNextResults(ctx context.Context, lastResults ListVirtualWANsResult) (result ListVirtualWANsResult, err error) { + req, err := lastResults.listVirtualWANsResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.VirtualWansClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.VirtualWansClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualWansClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client VirtualWansClient) ListComplete(ctx context.Context) (result ListVirtualWANsResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualWansClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx) + return +} + +// ListByResourceGroup lists all the VirtualWANs in a resource group. +// Parameters: +// resourceGroupName - the resource group name of the VirtualWan. +func (client VirtualWansClient) ListByResourceGroup(ctx context.Context, resourceGroupName string) (result ListVirtualWANsResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualWansClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.lvwnr.Response.Response != nil { + sc = result.lvwnr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listByResourceGroupNextResults + req, err := client.ListByResourceGroupPreparer(ctx, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualWansClient", "ListByResourceGroup", nil, "Failure preparing request") + return + } + + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.lvwnr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.VirtualWansClient", "ListByResourceGroup", resp, "Failure sending request") + return + } + + result.lvwnr, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualWansClient", "ListByResourceGroup", resp, "Failure responding to request") + } + + return +} + +// ListByResourceGroupPreparer prepares the ListByResourceGroup request. +func (client VirtualWansClient) ListByResourceGroupPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByResourceGroupSender sends the ListByResourceGroup request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualWansClient) ListByResourceGroupSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByResourceGroupResponder handles the response to the ListByResourceGroup request. The method always +// closes the http.Response Body. +func (client VirtualWansClient) ListByResourceGroupResponder(resp *http.Response) (result ListVirtualWANsResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listByResourceGroupNextResults retrieves the next set of results, if any. +func (client VirtualWansClient) listByResourceGroupNextResults(ctx context.Context, lastResults ListVirtualWANsResult) (result ListVirtualWANsResult, err error) { + req, err := lastResults.listVirtualWANsResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.VirtualWansClient", "listByResourceGroupNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.VirtualWansClient", "listByResourceGroupNextResults", resp, "Failure sending next results request") + } + result, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualWansClient", "listByResourceGroupNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListByResourceGroupComplete enumerates all values, automatically crossing page boundaries as required. +func (client VirtualWansClient) ListByResourceGroupComplete(ctx context.Context, resourceGroupName string) (result ListVirtualWANsResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualWansClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListByResourceGroup(ctx, resourceGroupName) + return +} + +// UpdateTags updates a VirtualWAN tags. +// Parameters: +// resourceGroupName - the resource group name of the VirtualWan. +// virtualWANName - the name of the VirtualWAN being updated. +// wANParameters - parameters supplied to Update VirtualWAN tags. +func (client VirtualWansClient) UpdateTags(ctx context.Context, resourceGroupName string, virtualWANName string, wANParameters TagsObject) (result VirtualWansUpdateTagsFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualWansClient.UpdateTags") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdateTagsPreparer(ctx, resourceGroupName, virtualWANName, wANParameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualWansClient", "UpdateTags", nil, "Failure preparing request") + return + } + + result, err = client.UpdateTagsSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualWansClient", "UpdateTags", result.Response(), "Failure sending request") + return + } + + return +} + +// UpdateTagsPreparer prepares the UpdateTags request. +func (client VirtualWansClient) UpdateTagsPreparer(ctx context.Context, resourceGroupName string, virtualWANName string, wANParameters TagsObject) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "VirtualWANName": autorest.Encode("path", virtualWANName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{VirtualWANName}", pathParameters), + autorest.WithJSON(wANParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateTagsSender sends the UpdateTags request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualWansClient) UpdateTagsSender(req *http.Request) (future VirtualWansUpdateTagsFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// UpdateTagsResponder handles the response to the UpdateTags request. The method always +// closes the http.Response Body. +func (client VirtualWansClient) UpdateTagsResponder(resp *http.Response) (result VirtualWAN, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/network/mgmt/2019-07-01/network/vpnconnections.go b/services/network/mgmt/2019-07-01/network/vpnconnections.go new file mode 100644 index 000000000000..1e399227d50e --- /dev/null +++ b/services/network/mgmt/2019-07-01/network/vpnconnections.go @@ -0,0 +1,397 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// VpnConnectionsClient is the network Client +type VpnConnectionsClient struct { + BaseClient +} + +// NewVpnConnectionsClient creates an instance of the VpnConnectionsClient client. +func NewVpnConnectionsClient(subscriptionID string) VpnConnectionsClient { + return NewVpnConnectionsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewVpnConnectionsClientWithBaseURI creates an instance of the VpnConnectionsClient client. +func NewVpnConnectionsClientWithBaseURI(baseURI string, subscriptionID string) VpnConnectionsClient { + return VpnConnectionsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates a vpn connection to a scalable vpn gateway if it doesn't exist else updates the existing +// connection. +// Parameters: +// resourceGroupName - the resource group name of the VpnGateway. +// gatewayName - the name of the gateway. +// connectionName - the name of the connection. +// vpnConnectionParameters - parameters supplied to create or Update a VPN Connection. +func (client VpnConnectionsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, gatewayName string, connectionName string, vpnConnectionParameters VpnConnection) (result VpnConnectionsCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VpnConnectionsClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, gatewayName, connectionName, vpnConnectionParameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnConnectionsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnConnectionsClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client VpnConnectionsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, gatewayName string, connectionName string, vpnConnectionParameters VpnConnection) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "connectionName": autorest.Encode("path", connectionName), + "gatewayName": autorest.Encode("path", gatewayName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + vpnConnectionParameters.Etag = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}/vpnConnections/{connectionName}", pathParameters), + autorest.WithJSON(vpnConnectionParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client VpnConnectionsClient) CreateOrUpdateSender(req *http.Request) (future VpnConnectionsCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client VpnConnectionsClient) CreateOrUpdateResponder(resp *http.Response) (result VpnConnection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes a vpn connection. +// Parameters: +// resourceGroupName - the resource group name of the VpnGateway. +// gatewayName - the name of the gateway. +// connectionName - the name of the connection. +func (client VpnConnectionsClient) Delete(ctx context.Context, resourceGroupName string, gatewayName string, connectionName string) (result VpnConnectionsDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VpnConnectionsClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, gatewayName, connectionName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnConnectionsClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnConnectionsClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client VpnConnectionsClient) DeletePreparer(ctx context.Context, resourceGroupName string, gatewayName string, connectionName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "connectionName": autorest.Encode("path", connectionName), + "gatewayName": autorest.Encode("path", gatewayName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}/vpnConnections/{connectionName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client VpnConnectionsClient) DeleteSender(req *http.Request) (future VpnConnectionsDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client VpnConnectionsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get retrieves the details of a vpn connection. +// Parameters: +// resourceGroupName - the resource group name of the VpnGateway. +// gatewayName - the name of the gateway. +// connectionName - the name of the vpn connection. +func (client VpnConnectionsClient) Get(ctx context.Context, resourceGroupName string, gatewayName string, connectionName string) (result VpnConnection, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VpnConnectionsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, gatewayName, connectionName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnConnectionsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.VpnConnectionsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnConnectionsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client VpnConnectionsClient) GetPreparer(ctx context.Context, resourceGroupName string, gatewayName string, connectionName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "connectionName": autorest.Encode("path", connectionName), + "gatewayName": autorest.Encode("path", gatewayName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}/vpnConnections/{connectionName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client VpnConnectionsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client VpnConnectionsClient) GetResponder(resp *http.Response) (result VpnConnection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByVpnGateway retrieves all vpn connections for a particular virtual wan vpn gateway. +// Parameters: +// resourceGroupName - the resource group name of the VpnGateway. +// gatewayName - the name of the gateway. +func (client VpnConnectionsClient) ListByVpnGateway(ctx context.Context, resourceGroupName string, gatewayName string) (result ListVpnConnectionsResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VpnConnectionsClient.ListByVpnGateway") + defer func() { + sc := -1 + if result.lvcr.Response.Response != nil { + sc = result.lvcr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listByVpnGatewayNextResults + req, err := client.ListByVpnGatewayPreparer(ctx, resourceGroupName, gatewayName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnConnectionsClient", "ListByVpnGateway", nil, "Failure preparing request") + return + } + + resp, err := client.ListByVpnGatewaySender(req) + if err != nil { + result.lvcr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.VpnConnectionsClient", "ListByVpnGateway", resp, "Failure sending request") + return + } + + result.lvcr, err = client.ListByVpnGatewayResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnConnectionsClient", "ListByVpnGateway", resp, "Failure responding to request") + } + + return +} + +// ListByVpnGatewayPreparer prepares the ListByVpnGateway request. +func (client VpnConnectionsClient) ListByVpnGatewayPreparer(ctx context.Context, resourceGroupName string, gatewayName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "gatewayName": autorest.Encode("path", gatewayName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}/vpnConnections", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByVpnGatewaySender sends the ListByVpnGateway request. The method will close the +// http.Response Body if it receives an error. +func (client VpnConnectionsClient) ListByVpnGatewaySender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByVpnGatewayResponder handles the response to the ListByVpnGateway request. The method always +// closes the http.Response Body. +func (client VpnConnectionsClient) ListByVpnGatewayResponder(resp *http.Response) (result ListVpnConnectionsResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listByVpnGatewayNextResults retrieves the next set of results, if any. +func (client VpnConnectionsClient) listByVpnGatewayNextResults(ctx context.Context, lastResults ListVpnConnectionsResult) (result ListVpnConnectionsResult, err error) { + req, err := lastResults.listVpnConnectionsResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.VpnConnectionsClient", "listByVpnGatewayNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListByVpnGatewaySender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.VpnConnectionsClient", "listByVpnGatewayNextResults", resp, "Failure sending next results request") + } + result, err = client.ListByVpnGatewayResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnConnectionsClient", "listByVpnGatewayNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListByVpnGatewayComplete enumerates all values, automatically crossing page boundaries as required. +func (client VpnConnectionsClient) ListByVpnGatewayComplete(ctx context.Context, resourceGroupName string, gatewayName string) (result ListVpnConnectionsResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VpnConnectionsClient.ListByVpnGateway") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListByVpnGateway(ctx, resourceGroupName, gatewayName) + return +} diff --git a/services/network/mgmt/2019-07-01/network/vpngateways.go b/services/network/mgmt/2019-07-01/network/vpngateways.go new file mode 100644 index 000000000000..fb0329af6d91 --- /dev/null +++ b/services/network/mgmt/2019-07-01/network/vpngateways.go @@ -0,0 +1,655 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// VpnGatewaysClient is the network Client +type VpnGatewaysClient struct { + BaseClient +} + +// NewVpnGatewaysClient creates an instance of the VpnGatewaysClient client. +func NewVpnGatewaysClient(subscriptionID string) VpnGatewaysClient { + return NewVpnGatewaysClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewVpnGatewaysClientWithBaseURI creates an instance of the VpnGatewaysClient client. +func NewVpnGatewaysClientWithBaseURI(baseURI string, subscriptionID string) VpnGatewaysClient { + return VpnGatewaysClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates a virtual wan vpn gateway if it doesn't exist else updates the existing gateway. +// Parameters: +// resourceGroupName - the resource group name of the VpnGateway. +// gatewayName - the name of the gateway. +// vpnGatewayParameters - parameters supplied to create or Update a virtual wan vpn gateway. +func (client VpnGatewaysClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, gatewayName string, vpnGatewayParameters VpnGateway) (result VpnGatewaysCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VpnGatewaysClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, gatewayName, vpnGatewayParameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnGatewaysClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnGatewaysClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client VpnGatewaysClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, gatewayName string, vpnGatewayParameters VpnGateway) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "gatewayName": autorest.Encode("path", gatewayName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + vpnGatewayParameters.Etag = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}", pathParameters), + autorest.WithJSON(vpnGatewayParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client VpnGatewaysClient) CreateOrUpdateSender(req *http.Request) (future VpnGatewaysCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client VpnGatewaysClient) CreateOrUpdateResponder(resp *http.Response) (result VpnGateway, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes a virtual wan vpn gateway. +// Parameters: +// resourceGroupName - the resource group name of the VpnGateway. +// gatewayName - the name of the gateway. +func (client VpnGatewaysClient) Delete(ctx context.Context, resourceGroupName string, gatewayName string) (result VpnGatewaysDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VpnGatewaysClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, gatewayName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnGatewaysClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnGatewaysClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client VpnGatewaysClient) DeletePreparer(ctx context.Context, resourceGroupName string, gatewayName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "gatewayName": autorest.Encode("path", gatewayName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client VpnGatewaysClient) DeleteSender(req *http.Request) (future VpnGatewaysDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client VpnGatewaysClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get retrieves the details of a virtual wan vpn gateway. +// Parameters: +// resourceGroupName - the resource group name of the VpnGateway. +// gatewayName - the name of the gateway. +func (client VpnGatewaysClient) Get(ctx context.Context, resourceGroupName string, gatewayName string) (result VpnGateway, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VpnGatewaysClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, gatewayName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnGatewaysClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.VpnGatewaysClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnGatewaysClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client VpnGatewaysClient) GetPreparer(ctx context.Context, resourceGroupName string, gatewayName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "gatewayName": autorest.Encode("path", gatewayName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client VpnGatewaysClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client VpnGatewaysClient) GetResponder(resp *http.Response) (result VpnGateway, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List lists all the VpnGateways in a subscription. +func (client VpnGatewaysClient) List(ctx context.Context) (result ListVpnGatewaysResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VpnGatewaysClient.List") + defer func() { + sc := -1 + if result.lvgr.Response.Response != nil { + sc = result.lvgr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnGatewaysClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.lvgr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.VpnGatewaysClient", "List", resp, "Failure sending request") + return + } + + result.lvgr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnGatewaysClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client VpnGatewaysClient) ListPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/vpnGateways", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client VpnGatewaysClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client VpnGatewaysClient) ListResponder(resp *http.Response) (result ListVpnGatewaysResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client VpnGatewaysClient) listNextResults(ctx context.Context, lastResults ListVpnGatewaysResult) (result ListVpnGatewaysResult, err error) { + req, err := lastResults.listVpnGatewaysResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.VpnGatewaysClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.VpnGatewaysClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnGatewaysClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client VpnGatewaysClient) ListComplete(ctx context.Context) (result ListVpnGatewaysResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VpnGatewaysClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx) + return +} + +// ListByResourceGroup lists all the VpnGateways in a resource group. +// Parameters: +// resourceGroupName - the resource group name of the VpnGateway. +func (client VpnGatewaysClient) ListByResourceGroup(ctx context.Context, resourceGroupName string) (result ListVpnGatewaysResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VpnGatewaysClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.lvgr.Response.Response != nil { + sc = result.lvgr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listByResourceGroupNextResults + req, err := client.ListByResourceGroupPreparer(ctx, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnGatewaysClient", "ListByResourceGroup", nil, "Failure preparing request") + return + } + + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.lvgr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.VpnGatewaysClient", "ListByResourceGroup", resp, "Failure sending request") + return + } + + result.lvgr, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnGatewaysClient", "ListByResourceGroup", resp, "Failure responding to request") + } + + return +} + +// ListByResourceGroupPreparer prepares the ListByResourceGroup request. +func (client VpnGatewaysClient) ListByResourceGroupPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByResourceGroupSender sends the ListByResourceGroup request. The method will close the +// http.Response Body if it receives an error. +func (client VpnGatewaysClient) ListByResourceGroupSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByResourceGroupResponder handles the response to the ListByResourceGroup request. The method always +// closes the http.Response Body. +func (client VpnGatewaysClient) ListByResourceGroupResponder(resp *http.Response) (result ListVpnGatewaysResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listByResourceGroupNextResults retrieves the next set of results, if any. +func (client VpnGatewaysClient) listByResourceGroupNextResults(ctx context.Context, lastResults ListVpnGatewaysResult) (result ListVpnGatewaysResult, err error) { + req, err := lastResults.listVpnGatewaysResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.VpnGatewaysClient", "listByResourceGroupNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.VpnGatewaysClient", "listByResourceGroupNextResults", resp, "Failure sending next results request") + } + result, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnGatewaysClient", "listByResourceGroupNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListByResourceGroupComplete enumerates all values, automatically crossing page boundaries as required. +func (client VpnGatewaysClient) ListByResourceGroupComplete(ctx context.Context, resourceGroupName string) (result ListVpnGatewaysResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VpnGatewaysClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListByResourceGroup(ctx, resourceGroupName) + return +} + +// Reset resets the primary of the vpn gateway in the specified resource group. +// Parameters: +// resourceGroupName - the resource group name of the VpnGateway. +// gatewayName - the name of the gateway. +func (client VpnGatewaysClient) Reset(ctx context.Context, resourceGroupName string, gatewayName string) (result VpnGatewaysResetFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VpnGatewaysClient.Reset") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ResetPreparer(ctx, resourceGroupName, gatewayName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnGatewaysClient", "Reset", nil, "Failure preparing request") + return + } + + result, err = client.ResetSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnGatewaysClient", "Reset", result.Response(), "Failure sending request") + return + } + + return +} + +// ResetPreparer prepares the Reset request. +func (client VpnGatewaysClient) ResetPreparer(ctx context.Context, resourceGroupName string, gatewayName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "gatewayName": autorest.Encode("path", gatewayName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}/reset", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ResetSender sends the Reset request. The method will close the +// http.Response Body if it receives an error. +func (client VpnGatewaysClient) ResetSender(req *http.Request) (future VpnGatewaysResetFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// ResetResponder handles the response to the Reset request. The method always +// closes the http.Response Body. +func (client VpnGatewaysClient) ResetResponder(resp *http.Response) (result VpnGateway, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// UpdateTags updates virtual wan vpn gateway tags. +// Parameters: +// resourceGroupName - the resource group name of the VpnGateway. +// gatewayName - the name of the gateway. +// vpnGatewayParameters - parameters supplied to update a virtual wan vpn gateway tags. +func (client VpnGatewaysClient) UpdateTags(ctx context.Context, resourceGroupName string, gatewayName string, vpnGatewayParameters TagsObject) (result VpnGatewaysUpdateTagsFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VpnGatewaysClient.UpdateTags") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdateTagsPreparer(ctx, resourceGroupName, gatewayName, vpnGatewayParameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnGatewaysClient", "UpdateTags", nil, "Failure preparing request") + return + } + + result, err = client.UpdateTagsSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnGatewaysClient", "UpdateTags", result.Response(), "Failure sending request") + return + } + + return +} + +// UpdateTagsPreparer prepares the UpdateTags request. +func (client VpnGatewaysClient) UpdateTagsPreparer(ctx context.Context, resourceGroupName string, gatewayName string, vpnGatewayParameters TagsObject) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "gatewayName": autorest.Encode("path", gatewayName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}", pathParameters), + autorest.WithJSON(vpnGatewayParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateTagsSender sends the UpdateTags request. The method will close the +// http.Response Body if it receives an error. +func (client VpnGatewaysClient) UpdateTagsSender(req *http.Request) (future VpnGatewaysUpdateTagsFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// UpdateTagsResponder handles the response to the UpdateTags request. The method always +// closes the http.Response Body. +func (client VpnGatewaysClient) UpdateTagsResponder(resp *http.Response) (result VpnGateway, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/network/mgmt/2019-07-01/network/vpnlinkconnections.go b/services/network/mgmt/2019-07-01/network/vpnlinkconnections.go new file mode 100644 index 000000000000..e3eb45fac8ea --- /dev/null +++ b/services/network/mgmt/2019-07-01/network/vpnlinkconnections.go @@ -0,0 +1,158 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// VpnLinkConnectionsClient is the network Client +type VpnLinkConnectionsClient struct { + BaseClient +} + +// NewVpnLinkConnectionsClient creates an instance of the VpnLinkConnectionsClient client. +func NewVpnLinkConnectionsClient(subscriptionID string) VpnLinkConnectionsClient { + return NewVpnLinkConnectionsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewVpnLinkConnectionsClientWithBaseURI creates an instance of the VpnLinkConnectionsClient client. +func NewVpnLinkConnectionsClientWithBaseURI(baseURI string, subscriptionID string) VpnLinkConnectionsClient { + return VpnLinkConnectionsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// ListByVpnConnection retrieves all vpn site link connections for a particular virtual wan vpn gateway vpn connection. +// Parameters: +// resourceGroupName - the resource group name of the VpnGateway. +// gatewayName - the name of the gateway. +// connectionName - the name of the vpn connection. +func (client VpnLinkConnectionsClient) ListByVpnConnection(ctx context.Context, resourceGroupName string, gatewayName string, connectionName string) (result ListVpnSiteLinkConnectionsResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VpnLinkConnectionsClient.ListByVpnConnection") + defer func() { + sc := -1 + if result.lvslcr.Response.Response != nil { + sc = result.lvslcr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listByVpnConnectionNextResults + req, err := client.ListByVpnConnectionPreparer(ctx, resourceGroupName, gatewayName, connectionName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnLinkConnectionsClient", "ListByVpnConnection", nil, "Failure preparing request") + return + } + + resp, err := client.ListByVpnConnectionSender(req) + if err != nil { + result.lvslcr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.VpnLinkConnectionsClient", "ListByVpnConnection", resp, "Failure sending request") + return + } + + result.lvslcr, err = client.ListByVpnConnectionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnLinkConnectionsClient", "ListByVpnConnection", resp, "Failure responding to request") + } + + return +} + +// ListByVpnConnectionPreparer prepares the ListByVpnConnection request. +func (client VpnLinkConnectionsClient) ListByVpnConnectionPreparer(ctx context.Context, resourceGroupName string, gatewayName string, connectionName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "connectionName": autorest.Encode("path", connectionName), + "gatewayName": autorest.Encode("path", gatewayName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}/vpnConnections/{connectionName}/vpnLinkConnections", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByVpnConnectionSender sends the ListByVpnConnection request. The method will close the +// http.Response Body if it receives an error. +func (client VpnLinkConnectionsClient) ListByVpnConnectionSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByVpnConnectionResponder handles the response to the ListByVpnConnection request. The method always +// closes the http.Response Body. +func (client VpnLinkConnectionsClient) ListByVpnConnectionResponder(resp *http.Response) (result ListVpnSiteLinkConnectionsResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listByVpnConnectionNextResults retrieves the next set of results, if any. +func (client VpnLinkConnectionsClient) listByVpnConnectionNextResults(ctx context.Context, lastResults ListVpnSiteLinkConnectionsResult) (result ListVpnSiteLinkConnectionsResult, err error) { + req, err := lastResults.listVpnSiteLinkConnectionsResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.VpnLinkConnectionsClient", "listByVpnConnectionNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListByVpnConnectionSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.VpnLinkConnectionsClient", "listByVpnConnectionNextResults", resp, "Failure sending next results request") + } + result, err = client.ListByVpnConnectionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnLinkConnectionsClient", "listByVpnConnectionNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListByVpnConnectionComplete enumerates all values, automatically crossing page boundaries as required. +func (client VpnLinkConnectionsClient) ListByVpnConnectionComplete(ctx context.Context, resourceGroupName string, gatewayName string, connectionName string) (result ListVpnSiteLinkConnectionsResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VpnLinkConnectionsClient.ListByVpnConnection") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListByVpnConnection(ctx, resourceGroupName, gatewayName, connectionName) + return +} diff --git a/services/network/mgmt/2019-07-01/network/vpnsitelinkconnections.go b/services/network/mgmt/2019-07-01/network/vpnsitelinkconnections.go new file mode 100644 index 000000000000..1db1031dedbc --- /dev/null +++ b/services/network/mgmt/2019-07-01/network/vpnsitelinkconnections.go @@ -0,0 +1,122 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// VpnSiteLinkConnectionsClient is the network Client +type VpnSiteLinkConnectionsClient struct { + BaseClient +} + +// NewVpnSiteLinkConnectionsClient creates an instance of the VpnSiteLinkConnectionsClient client. +func NewVpnSiteLinkConnectionsClient(subscriptionID string) VpnSiteLinkConnectionsClient { + return NewVpnSiteLinkConnectionsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewVpnSiteLinkConnectionsClientWithBaseURI creates an instance of the VpnSiteLinkConnectionsClient client. +func NewVpnSiteLinkConnectionsClientWithBaseURI(baseURI string, subscriptionID string) VpnSiteLinkConnectionsClient { + return VpnSiteLinkConnectionsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// Get retrieves the details of a vpn site link connection. +// Parameters: +// resourceGroupName - the resource group name of the VpnGateway. +// gatewayName - the name of the gateway. +// connectionName - the name of the vpn connection. +// linkConnectionName - the name of the vpn connection. +func (client VpnSiteLinkConnectionsClient) Get(ctx context.Context, resourceGroupName string, gatewayName string, connectionName string, linkConnectionName string) (result VpnSiteLinkConnection, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VpnSiteLinkConnectionsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, gatewayName, connectionName, linkConnectionName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnSiteLinkConnectionsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.VpnSiteLinkConnectionsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnSiteLinkConnectionsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client VpnSiteLinkConnectionsClient) GetPreparer(ctx context.Context, resourceGroupName string, gatewayName string, connectionName string, linkConnectionName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "connectionName": autorest.Encode("path", connectionName), + "gatewayName": autorest.Encode("path", gatewayName), + "linkConnectionName": autorest.Encode("path", linkConnectionName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}/vpnConnections/{connectionName}/vpnLinkConnections/{linkConnectionName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client VpnSiteLinkConnectionsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client VpnSiteLinkConnectionsClient) GetResponder(resp *http.Response) (result VpnSiteLinkConnection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/network/mgmt/2019-07-01/network/vpnsitelinks.go b/services/network/mgmt/2019-07-01/network/vpnsitelinks.go new file mode 100644 index 000000000000..ddc90350866a --- /dev/null +++ b/services/network/mgmt/2019-07-01/network/vpnsitelinks.go @@ -0,0 +1,235 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// VpnSiteLinksClient is the network Client +type VpnSiteLinksClient struct { + BaseClient +} + +// NewVpnSiteLinksClient creates an instance of the VpnSiteLinksClient client. +func NewVpnSiteLinksClient(subscriptionID string) VpnSiteLinksClient { + return NewVpnSiteLinksClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewVpnSiteLinksClientWithBaseURI creates an instance of the VpnSiteLinksClient client. +func NewVpnSiteLinksClientWithBaseURI(baseURI string, subscriptionID string) VpnSiteLinksClient { + return VpnSiteLinksClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// Get retrieves the details of a VPN site link. +// Parameters: +// resourceGroupName - the resource group name of the VpnSite. +// vpnSiteName - the name of the VpnSite. +// vpnSiteLinkName - the name of the VpnSiteLink being retrieved. +func (client VpnSiteLinksClient) Get(ctx context.Context, resourceGroupName string, vpnSiteName string, vpnSiteLinkName string) (result VpnSiteLink, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VpnSiteLinksClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, vpnSiteName, vpnSiteLinkName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnSiteLinksClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.VpnSiteLinksClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnSiteLinksClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client VpnSiteLinksClient) GetPreparer(ctx context.Context, resourceGroupName string, vpnSiteName string, vpnSiteLinkName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "vpnSiteLinkName": autorest.Encode("path", vpnSiteLinkName), + "vpnSiteName": autorest.Encode("path", vpnSiteName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnSites/{vpnSiteName}/vpnSiteLinks/{vpnSiteLinkName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client VpnSiteLinksClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client VpnSiteLinksClient) GetResponder(resp *http.Response) (result VpnSiteLink, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByVpnSite lists all the vpnSiteLinks in a resource group for a vpn site. +// Parameters: +// resourceGroupName - the resource group name of the VpnSite. +// vpnSiteName - the name of the VpnSite. +func (client VpnSiteLinksClient) ListByVpnSite(ctx context.Context, resourceGroupName string, vpnSiteName string) (result ListVpnSiteLinksResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VpnSiteLinksClient.ListByVpnSite") + defer func() { + sc := -1 + if result.lvslr.Response.Response != nil { + sc = result.lvslr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listByVpnSiteNextResults + req, err := client.ListByVpnSitePreparer(ctx, resourceGroupName, vpnSiteName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnSiteLinksClient", "ListByVpnSite", nil, "Failure preparing request") + return + } + + resp, err := client.ListByVpnSiteSender(req) + if err != nil { + result.lvslr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.VpnSiteLinksClient", "ListByVpnSite", resp, "Failure sending request") + return + } + + result.lvslr, err = client.ListByVpnSiteResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnSiteLinksClient", "ListByVpnSite", resp, "Failure responding to request") + } + + return +} + +// ListByVpnSitePreparer prepares the ListByVpnSite request. +func (client VpnSiteLinksClient) ListByVpnSitePreparer(ctx context.Context, resourceGroupName string, vpnSiteName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "vpnSiteName": autorest.Encode("path", vpnSiteName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnSites/{vpnSiteName}/vpnSiteLinks", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByVpnSiteSender sends the ListByVpnSite request. The method will close the +// http.Response Body if it receives an error. +func (client VpnSiteLinksClient) ListByVpnSiteSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByVpnSiteResponder handles the response to the ListByVpnSite request. The method always +// closes the http.Response Body. +func (client VpnSiteLinksClient) ListByVpnSiteResponder(resp *http.Response) (result ListVpnSiteLinksResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listByVpnSiteNextResults retrieves the next set of results, if any. +func (client VpnSiteLinksClient) listByVpnSiteNextResults(ctx context.Context, lastResults ListVpnSiteLinksResult) (result ListVpnSiteLinksResult, err error) { + req, err := lastResults.listVpnSiteLinksResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.VpnSiteLinksClient", "listByVpnSiteNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListByVpnSiteSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.VpnSiteLinksClient", "listByVpnSiteNextResults", resp, "Failure sending next results request") + } + result, err = client.ListByVpnSiteResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnSiteLinksClient", "listByVpnSiteNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListByVpnSiteComplete enumerates all values, automatically crossing page boundaries as required. +func (client VpnSiteLinksClient) ListByVpnSiteComplete(ctx context.Context, resourceGroupName string, vpnSiteName string) (result ListVpnSiteLinksResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VpnSiteLinksClient.ListByVpnSite") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListByVpnSite(ctx, resourceGroupName, vpnSiteName) + return +} diff --git a/services/network/mgmt/2019-07-01/network/vpnsites.go b/services/network/mgmt/2019-07-01/network/vpnsites.go new file mode 100644 index 000000000000..e414f46bf941 --- /dev/null +++ b/services/network/mgmt/2019-07-01/network/vpnsites.go @@ -0,0 +1,578 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// VpnSitesClient is the network Client +type VpnSitesClient struct { + BaseClient +} + +// NewVpnSitesClient creates an instance of the VpnSitesClient client. +func NewVpnSitesClient(subscriptionID string) VpnSitesClient { + return NewVpnSitesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewVpnSitesClientWithBaseURI creates an instance of the VpnSitesClient client. +func NewVpnSitesClientWithBaseURI(baseURI string, subscriptionID string) VpnSitesClient { + return VpnSitesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates a VpnSite resource if it doesn't exist else updates the existing VpnSite. +// Parameters: +// resourceGroupName - the resource group name of the VpnSite. +// vpnSiteName - the name of the VpnSite being created or updated. +// vpnSiteParameters - parameters supplied to create or update VpnSite. +func (client VpnSitesClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, vpnSiteName string, vpnSiteParameters VpnSite) (result VpnSitesCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VpnSitesClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, vpnSiteName, vpnSiteParameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnSitesClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnSitesClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client VpnSitesClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, vpnSiteName string, vpnSiteParameters VpnSite) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "vpnSiteName": autorest.Encode("path", vpnSiteName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + vpnSiteParameters.Etag = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnSites/{vpnSiteName}", pathParameters), + autorest.WithJSON(vpnSiteParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client VpnSitesClient) CreateOrUpdateSender(req *http.Request) (future VpnSitesCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client VpnSitesClient) CreateOrUpdateResponder(resp *http.Response) (result VpnSite, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes a VpnSite. +// Parameters: +// resourceGroupName - the resource group name of the VpnSite. +// vpnSiteName - the name of the VpnSite being deleted. +func (client VpnSitesClient) Delete(ctx context.Context, resourceGroupName string, vpnSiteName string) (result VpnSitesDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VpnSitesClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, vpnSiteName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnSitesClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnSitesClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client VpnSitesClient) DeletePreparer(ctx context.Context, resourceGroupName string, vpnSiteName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "vpnSiteName": autorest.Encode("path", vpnSiteName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnSites/{vpnSiteName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client VpnSitesClient) DeleteSender(req *http.Request) (future VpnSitesDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client VpnSitesClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get retrieves the details of a VPN site. +// Parameters: +// resourceGroupName - the resource group name of the VpnSite. +// vpnSiteName - the name of the VpnSite being retrieved. +func (client VpnSitesClient) Get(ctx context.Context, resourceGroupName string, vpnSiteName string) (result VpnSite, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VpnSitesClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, vpnSiteName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnSitesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.VpnSitesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnSitesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client VpnSitesClient) GetPreparer(ctx context.Context, resourceGroupName string, vpnSiteName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "vpnSiteName": autorest.Encode("path", vpnSiteName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnSites/{vpnSiteName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client VpnSitesClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client VpnSitesClient) GetResponder(resp *http.Response) (result VpnSite, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List lists all the VpnSites in a subscription. +func (client VpnSitesClient) List(ctx context.Context) (result ListVpnSitesResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VpnSitesClient.List") + defer func() { + sc := -1 + if result.lvsr.Response.Response != nil { + sc = result.lvsr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnSitesClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.lvsr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.VpnSitesClient", "List", resp, "Failure sending request") + return + } + + result.lvsr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnSitesClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client VpnSitesClient) ListPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/vpnSites", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client VpnSitesClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client VpnSitesClient) ListResponder(resp *http.Response) (result ListVpnSitesResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client VpnSitesClient) listNextResults(ctx context.Context, lastResults ListVpnSitesResult) (result ListVpnSitesResult, err error) { + req, err := lastResults.listVpnSitesResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.VpnSitesClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.VpnSitesClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnSitesClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client VpnSitesClient) ListComplete(ctx context.Context) (result ListVpnSitesResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VpnSitesClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx) + return +} + +// ListByResourceGroup lists all the vpnSites in a resource group. +// Parameters: +// resourceGroupName - the resource group name of the VpnSite. +func (client VpnSitesClient) ListByResourceGroup(ctx context.Context, resourceGroupName string) (result ListVpnSitesResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VpnSitesClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.lvsr.Response.Response != nil { + sc = result.lvsr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listByResourceGroupNextResults + req, err := client.ListByResourceGroupPreparer(ctx, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnSitesClient", "ListByResourceGroup", nil, "Failure preparing request") + return + } + + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.lvsr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.VpnSitesClient", "ListByResourceGroup", resp, "Failure sending request") + return + } + + result.lvsr, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnSitesClient", "ListByResourceGroup", resp, "Failure responding to request") + } + + return +} + +// ListByResourceGroupPreparer prepares the ListByResourceGroup request. +func (client VpnSitesClient) ListByResourceGroupPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnSites", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByResourceGroupSender sends the ListByResourceGroup request. The method will close the +// http.Response Body if it receives an error. +func (client VpnSitesClient) ListByResourceGroupSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByResourceGroupResponder handles the response to the ListByResourceGroup request. The method always +// closes the http.Response Body. +func (client VpnSitesClient) ListByResourceGroupResponder(resp *http.Response) (result ListVpnSitesResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listByResourceGroupNextResults retrieves the next set of results, if any. +func (client VpnSitesClient) listByResourceGroupNextResults(ctx context.Context, lastResults ListVpnSitesResult) (result ListVpnSitesResult, err error) { + req, err := lastResults.listVpnSitesResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.VpnSitesClient", "listByResourceGroupNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.VpnSitesClient", "listByResourceGroupNextResults", resp, "Failure sending next results request") + } + result, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnSitesClient", "listByResourceGroupNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListByResourceGroupComplete enumerates all values, automatically crossing page boundaries as required. +func (client VpnSitesClient) ListByResourceGroupComplete(ctx context.Context, resourceGroupName string) (result ListVpnSitesResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VpnSitesClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListByResourceGroup(ctx, resourceGroupName) + return +} + +// UpdateTags updates VpnSite tags. +// Parameters: +// resourceGroupName - the resource group name of the VpnSite. +// vpnSiteName - the name of the VpnSite being updated. +// vpnSiteParameters - parameters supplied to update VpnSite tags. +func (client VpnSitesClient) UpdateTags(ctx context.Context, resourceGroupName string, vpnSiteName string, vpnSiteParameters TagsObject) (result VpnSitesUpdateTagsFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VpnSitesClient.UpdateTags") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdateTagsPreparer(ctx, resourceGroupName, vpnSiteName, vpnSiteParameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnSitesClient", "UpdateTags", nil, "Failure preparing request") + return + } + + result, err = client.UpdateTagsSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnSitesClient", "UpdateTags", result.Response(), "Failure sending request") + return + } + + return +} + +// UpdateTagsPreparer prepares the UpdateTags request. +func (client VpnSitesClient) UpdateTagsPreparer(ctx context.Context, resourceGroupName string, vpnSiteName string, vpnSiteParameters TagsObject) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "vpnSiteName": autorest.Encode("path", vpnSiteName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnSites/{vpnSiteName}", pathParameters), + autorest.WithJSON(vpnSiteParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateTagsSender sends the UpdateTags request. The method will close the +// http.Response Body if it receives an error. +func (client VpnSitesClient) UpdateTagsSender(req *http.Request) (future VpnSitesUpdateTagsFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// UpdateTagsResponder handles the response to the UpdateTags request. The method always +// closes the http.Response Body. +func (client VpnSitesClient) UpdateTagsResponder(resp *http.Response) (result VpnSite, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/network/mgmt/2019-07-01/network/vpnsitesconfiguration.go b/services/network/mgmt/2019-07-01/network/vpnsitesconfiguration.go new file mode 100644 index 000000000000..898417fad1e1 --- /dev/null +++ b/services/network/mgmt/2019-07-01/network/vpnsitesconfiguration.go @@ -0,0 +1,127 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// VpnSitesConfigurationClient is the network Client +type VpnSitesConfigurationClient struct { + BaseClient +} + +// NewVpnSitesConfigurationClient creates an instance of the VpnSitesConfigurationClient client. +func NewVpnSitesConfigurationClient(subscriptionID string) VpnSitesConfigurationClient { + return NewVpnSitesConfigurationClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewVpnSitesConfigurationClientWithBaseURI creates an instance of the VpnSitesConfigurationClient client. +func NewVpnSitesConfigurationClientWithBaseURI(baseURI string, subscriptionID string) VpnSitesConfigurationClient { + return VpnSitesConfigurationClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// Download gives the sas-url to download the configurations for vpn-sites in a resource group. +// Parameters: +// resourceGroupName - the resource group name. +// virtualWANName - the name of the VirtualWAN for which configuration of all vpn-sites is needed. +// request - parameters supplied to download vpn-sites configuration. +func (client VpnSitesConfigurationClient) Download(ctx context.Context, resourceGroupName string, virtualWANName string, request GetVpnSitesConfigurationRequest) (result VpnSitesConfigurationDownloadFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VpnSitesConfigurationClient.Download") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: request, + Constraints: []validation.Constraint{{Target: "request.OutputBlobSasURL", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + return result, validation.NewError("network.VpnSitesConfigurationClient", "Download", err.Error()) + } + + req, err := client.DownloadPreparer(ctx, resourceGroupName, virtualWANName, request) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnSitesConfigurationClient", "Download", nil, "Failure preparing request") + return + } + + result, err = client.DownloadSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnSitesConfigurationClient", "Download", result.Response(), "Failure sending request") + return + } + + return +} + +// DownloadPreparer prepares the Download request. +func (client VpnSitesConfigurationClient) DownloadPreparer(ctx context.Context, resourceGroupName string, virtualWANName string, request GetVpnSitesConfigurationRequest) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualWANName": autorest.Encode("path", virtualWANName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{virtualWANName}/vpnConfiguration", pathParameters), + autorest.WithJSON(request), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DownloadSender sends the Download request. The method will close the +// http.Response Body if it receives an error. +func (client VpnSitesConfigurationClient) DownloadSender(req *http.Request) (future VpnSitesConfigurationDownloadFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DownloadResponder handles the response to the Download request. The method always +// closes the http.Response Body. +func (client VpnSitesConfigurationClient) DownloadResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByClosing()) + result.Response = resp + return +} diff --git a/services/network/mgmt/2019-07-01/network/watchers.go b/services/network/mgmt/2019-07-01/network/watchers.go new file mode 100644 index 000000000000..fd1b6d95fc2f --- /dev/null +++ b/services/network/mgmt/2019-07-01/network/watchers.go @@ -0,0 +1,1552 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// WatchersClient is the network Client +type WatchersClient struct { + BaseClient +} + +// NewWatchersClient creates an instance of the WatchersClient client. +func NewWatchersClient(subscriptionID string) WatchersClient { + return NewWatchersClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewWatchersClientWithBaseURI creates an instance of the WatchersClient client. +func NewWatchersClientWithBaseURI(baseURI string, subscriptionID string) WatchersClient { + return WatchersClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CheckConnectivity verifies the possibility of establishing a direct TCP connection from a virtual machine to a given +// endpoint including another VM or an arbitrary remote server. +// Parameters: +// resourceGroupName - the name of the network watcher resource group. +// networkWatcherName - the name of the network watcher resource. +// parameters - parameters that determine how the connectivity check will be performed. +func (client WatchersClient) CheckConnectivity(ctx context.Context, resourceGroupName string, networkWatcherName string, parameters ConnectivityParameters) (result WatchersCheckConnectivityFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WatchersClient.CheckConnectivity") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.Source", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "parameters.Source.ResourceID", Name: validation.Null, Rule: true, Chain: nil}}}, + {Target: "parameters.Destination", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + return result, validation.NewError("network.WatchersClient", "CheckConnectivity", err.Error()) + } + + req, err := client.CheckConnectivityPreparer(ctx, resourceGroupName, networkWatcherName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersClient", "CheckConnectivity", nil, "Failure preparing request") + return + } + + result, err = client.CheckConnectivitySender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersClient", "CheckConnectivity", result.Response(), "Failure sending request") + return + } + + return +} + +// CheckConnectivityPreparer prepares the CheckConnectivity request. +func (client WatchersClient) CheckConnectivityPreparer(ctx context.Context, resourceGroupName string, networkWatcherName string, parameters ConnectivityParameters) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkWatcherName": autorest.Encode("path", networkWatcherName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectivityCheck", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CheckConnectivitySender sends the CheckConnectivity request. The method will close the +// http.Response Body if it receives an error. +func (client WatchersClient) CheckConnectivitySender(req *http.Request) (future WatchersCheckConnectivityFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CheckConnectivityResponder handles the response to the CheckConnectivity request. The method always +// closes the http.Response Body. +func (client WatchersClient) CheckConnectivityResponder(resp *http.Response) (result ConnectivityInformation, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// CreateOrUpdate creates or updates a network watcher in the specified resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +// networkWatcherName - the name of the network watcher. +// parameters - parameters that define the network watcher resource. +func (client WatchersClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, networkWatcherName string, parameters Watcher) (result Watcher, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WatchersClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, networkWatcherName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.WatchersClient", "CreateOrUpdate", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersClient", "CreateOrUpdate", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client WatchersClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, networkWatcherName string, parameters Watcher) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkWatcherName": autorest.Encode("path", networkWatcherName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client WatchersClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client WatchersClient) CreateOrUpdateResponder(resp *http.Response) (result Watcher, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the specified network watcher resource. +// Parameters: +// resourceGroupName - the name of the resource group. +// networkWatcherName - the name of the network watcher. +func (client WatchersClient) Delete(ctx context.Context, resourceGroupName string, networkWatcherName string) (result WatchersDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WatchersClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, networkWatcherName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client WatchersClient) DeletePreparer(ctx context.Context, resourceGroupName string, networkWatcherName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkWatcherName": autorest.Encode("path", networkWatcherName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client WatchersClient) DeleteSender(req *http.Request) (future WatchersDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client WatchersClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets the specified network watcher by resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +// networkWatcherName - the name of the network watcher. +func (client WatchersClient) Get(ctx context.Context, resourceGroupName string, networkWatcherName string) (result Watcher, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WatchersClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, networkWatcherName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.WatchersClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client WatchersClient) GetPreparer(ctx context.Context, resourceGroupName string, networkWatcherName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkWatcherName": autorest.Encode("path", networkWatcherName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client WatchersClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client WatchersClient) GetResponder(resp *http.Response) (result Watcher, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetAzureReachabilityReport gets the relative latency score for internet service providers from a specified location +// to Azure regions. +// Parameters: +// resourceGroupName - the name of the network watcher resource group. +// networkWatcherName - the name of the network watcher resource. +// parameters - parameters that determine Azure reachability report configuration. +func (client WatchersClient) GetAzureReachabilityReport(ctx context.Context, resourceGroupName string, networkWatcherName string, parameters AzureReachabilityReportParameters) (result WatchersGetAzureReachabilityReportFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WatchersClient.GetAzureReachabilityReport") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.ProviderLocation", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "parameters.ProviderLocation.Country", Name: validation.Null, Rule: true, Chain: nil}}}, + {Target: "parameters.StartTime", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "parameters.EndTime", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + return result, validation.NewError("network.WatchersClient", "GetAzureReachabilityReport", err.Error()) + } + + req, err := client.GetAzureReachabilityReportPreparer(ctx, resourceGroupName, networkWatcherName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersClient", "GetAzureReachabilityReport", nil, "Failure preparing request") + return + } + + result, err = client.GetAzureReachabilityReportSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersClient", "GetAzureReachabilityReport", result.Response(), "Failure sending request") + return + } + + return +} + +// GetAzureReachabilityReportPreparer prepares the GetAzureReachabilityReport request. +func (client WatchersClient) GetAzureReachabilityReportPreparer(ctx context.Context, resourceGroupName string, networkWatcherName string, parameters AzureReachabilityReportParameters) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkWatcherName": autorest.Encode("path", networkWatcherName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/azureReachabilityReport", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetAzureReachabilityReportSender sends the GetAzureReachabilityReport request. The method will close the +// http.Response Body if it receives an error. +func (client WatchersClient) GetAzureReachabilityReportSender(req *http.Request) (future WatchersGetAzureReachabilityReportFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// GetAzureReachabilityReportResponder handles the response to the GetAzureReachabilityReport request. The method always +// closes the http.Response Body. +func (client WatchersClient) GetAzureReachabilityReportResponder(resp *http.Response) (result AzureReachabilityReport, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetFlowLogStatus queries status of flow log and traffic analytics (optional) on a specified resource. +// Parameters: +// resourceGroupName - the name of the network watcher resource group. +// networkWatcherName - the name of the network watcher resource. +// parameters - parameters that define a resource to query flow log and traffic analytics (optional) status. +func (client WatchersClient) GetFlowLogStatus(ctx context.Context, resourceGroupName string, networkWatcherName string, parameters FlowLogStatusParameters) (result WatchersGetFlowLogStatusFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WatchersClient.GetFlowLogStatus") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.TargetResourceID", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + return result, validation.NewError("network.WatchersClient", "GetFlowLogStatus", err.Error()) + } + + req, err := client.GetFlowLogStatusPreparer(ctx, resourceGroupName, networkWatcherName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersClient", "GetFlowLogStatus", nil, "Failure preparing request") + return + } + + result, err = client.GetFlowLogStatusSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersClient", "GetFlowLogStatus", result.Response(), "Failure sending request") + return + } + + return +} + +// GetFlowLogStatusPreparer prepares the GetFlowLogStatus request. +func (client WatchersClient) GetFlowLogStatusPreparer(ctx context.Context, resourceGroupName string, networkWatcherName string, parameters FlowLogStatusParameters) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkWatcherName": autorest.Encode("path", networkWatcherName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/queryFlowLogStatus", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetFlowLogStatusSender sends the GetFlowLogStatus request. The method will close the +// http.Response Body if it receives an error. +func (client WatchersClient) GetFlowLogStatusSender(req *http.Request) (future WatchersGetFlowLogStatusFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// GetFlowLogStatusResponder handles the response to the GetFlowLogStatus request. The method always +// closes the http.Response Body. +func (client WatchersClient) GetFlowLogStatusResponder(resp *http.Response) (result FlowLogInformation, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetNetworkConfigurationDiagnostic gets Network Configuration Diagnostic data to help customers understand and debug +// network behavior. It provides detailed information on what security rules were applied to a specified traffic flow +// and the result of evaluating these rules. Customers must provide details of a flow like source, destination, +// protocol, etc. The API returns whether traffic was allowed or denied, the rules evaluated for the specified flow and +// the evaluation results. +// Parameters: +// resourceGroupName - the name of the resource group. +// networkWatcherName - the name of the network watcher. +// parameters - parameters to get network configuration diagnostic. +func (client WatchersClient) GetNetworkConfigurationDiagnostic(ctx context.Context, resourceGroupName string, networkWatcherName string, parameters ConfigurationDiagnosticParameters) (result WatchersGetNetworkConfigurationDiagnosticFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WatchersClient.GetNetworkConfigurationDiagnostic") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.TargetResourceID", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "parameters.Profiles", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + return result, validation.NewError("network.WatchersClient", "GetNetworkConfigurationDiagnostic", err.Error()) + } + + req, err := client.GetNetworkConfigurationDiagnosticPreparer(ctx, resourceGroupName, networkWatcherName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersClient", "GetNetworkConfigurationDiagnostic", nil, "Failure preparing request") + return + } + + result, err = client.GetNetworkConfigurationDiagnosticSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersClient", "GetNetworkConfigurationDiagnostic", result.Response(), "Failure sending request") + return + } + + return +} + +// GetNetworkConfigurationDiagnosticPreparer prepares the GetNetworkConfigurationDiagnostic request. +func (client WatchersClient) GetNetworkConfigurationDiagnosticPreparer(ctx context.Context, resourceGroupName string, networkWatcherName string, parameters ConfigurationDiagnosticParameters) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkWatcherName": autorest.Encode("path", networkWatcherName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/networkConfigurationDiagnostic", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetNetworkConfigurationDiagnosticSender sends the GetNetworkConfigurationDiagnostic request. The method will close the +// http.Response Body if it receives an error. +func (client WatchersClient) GetNetworkConfigurationDiagnosticSender(req *http.Request) (future WatchersGetNetworkConfigurationDiagnosticFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// GetNetworkConfigurationDiagnosticResponder handles the response to the GetNetworkConfigurationDiagnostic request. The method always +// closes the http.Response Body. +func (client WatchersClient) GetNetworkConfigurationDiagnosticResponder(resp *http.Response) (result ConfigurationDiagnosticResponse, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetNextHop gets the next hop from the specified VM. +// Parameters: +// resourceGroupName - the name of the resource group. +// networkWatcherName - the name of the network watcher. +// parameters - parameters that define the source and destination endpoint. +func (client WatchersClient) GetNextHop(ctx context.Context, resourceGroupName string, networkWatcherName string, parameters NextHopParameters) (result WatchersGetNextHopFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WatchersClient.GetNextHop") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.TargetResourceID", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "parameters.SourceIPAddress", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "parameters.DestinationIPAddress", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + return result, validation.NewError("network.WatchersClient", "GetNextHop", err.Error()) + } + + req, err := client.GetNextHopPreparer(ctx, resourceGroupName, networkWatcherName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersClient", "GetNextHop", nil, "Failure preparing request") + return + } + + result, err = client.GetNextHopSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersClient", "GetNextHop", result.Response(), "Failure sending request") + return + } + + return +} + +// GetNextHopPreparer prepares the GetNextHop request. +func (client WatchersClient) GetNextHopPreparer(ctx context.Context, resourceGroupName string, networkWatcherName string, parameters NextHopParameters) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkWatcherName": autorest.Encode("path", networkWatcherName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/nextHop", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetNextHopSender sends the GetNextHop request. The method will close the +// http.Response Body if it receives an error. +func (client WatchersClient) GetNextHopSender(req *http.Request) (future WatchersGetNextHopFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// GetNextHopResponder handles the response to the GetNextHop request. The method always +// closes the http.Response Body. +func (client WatchersClient) GetNextHopResponder(resp *http.Response) (result NextHopResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetTopology gets the current network topology by resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +// networkWatcherName - the name of the network watcher. +// parameters - parameters that define the representation of topology. +func (client WatchersClient) GetTopology(ctx context.Context, resourceGroupName string, networkWatcherName string, parameters TopologyParameters) (result Topology, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WatchersClient.GetTopology") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetTopologyPreparer(ctx, resourceGroupName, networkWatcherName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersClient", "GetTopology", nil, "Failure preparing request") + return + } + + resp, err := client.GetTopologySender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.WatchersClient", "GetTopology", resp, "Failure sending request") + return + } + + result, err = client.GetTopologyResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersClient", "GetTopology", resp, "Failure responding to request") + } + + return +} + +// GetTopologyPreparer prepares the GetTopology request. +func (client WatchersClient) GetTopologyPreparer(ctx context.Context, resourceGroupName string, networkWatcherName string, parameters TopologyParameters) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkWatcherName": autorest.Encode("path", networkWatcherName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/topology", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetTopologySender sends the GetTopology request. The method will close the +// http.Response Body if it receives an error. +func (client WatchersClient) GetTopologySender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetTopologyResponder handles the response to the GetTopology request. The method always +// closes the http.Response Body. +func (client WatchersClient) GetTopologyResponder(resp *http.Response) (result Topology, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetTroubleshooting initiate troubleshooting on a specified resource. +// Parameters: +// resourceGroupName - the name of the resource group. +// networkWatcherName - the name of the network watcher resource. +// parameters - parameters that define the resource to troubleshoot. +func (client WatchersClient) GetTroubleshooting(ctx context.Context, resourceGroupName string, networkWatcherName string, parameters TroubleshootingParameters) (result WatchersGetTroubleshootingFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WatchersClient.GetTroubleshooting") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.TargetResourceID", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "parameters.TroubleshootingProperties", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "parameters.TroubleshootingProperties.StorageID", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "parameters.TroubleshootingProperties.StoragePath", Name: validation.Null, Rule: true, Chain: nil}, + }}}}}); err != nil { + return result, validation.NewError("network.WatchersClient", "GetTroubleshooting", err.Error()) + } + + req, err := client.GetTroubleshootingPreparer(ctx, resourceGroupName, networkWatcherName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersClient", "GetTroubleshooting", nil, "Failure preparing request") + return + } + + result, err = client.GetTroubleshootingSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersClient", "GetTroubleshooting", result.Response(), "Failure sending request") + return + } + + return +} + +// GetTroubleshootingPreparer prepares the GetTroubleshooting request. +func (client WatchersClient) GetTroubleshootingPreparer(ctx context.Context, resourceGroupName string, networkWatcherName string, parameters TroubleshootingParameters) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkWatcherName": autorest.Encode("path", networkWatcherName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/troubleshoot", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetTroubleshootingSender sends the GetTroubleshooting request. The method will close the +// http.Response Body if it receives an error. +func (client WatchersClient) GetTroubleshootingSender(req *http.Request) (future WatchersGetTroubleshootingFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// GetTroubleshootingResponder handles the response to the GetTroubleshooting request. The method always +// closes the http.Response Body. +func (client WatchersClient) GetTroubleshootingResponder(resp *http.Response) (result TroubleshootingResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetTroubleshootingResult get the last completed troubleshooting result on a specified resource. +// Parameters: +// resourceGroupName - the name of the resource group. +// networkWatcherName - the name of the network watcher resource. +// parameters - parameters that define the resource to query the troubleshooting result. +func (client WatchersClient) GetTroubleshootingResult(ctx context.Context, resourceGroupName string, networkWatcherName string, parameters QueryTroubleshootingParameters) (result WatchersGetTroubleshootingResultFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WatchersClient.GetTroubleshootingResult") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.TargetResourceID", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + return result, validation.NewError("network.WatchersClient", "GetTroubleshootingResult", err.Error()) + } + + req, err := client.GetTroubleshootingResultPreparer(ctx, resourceGroupName, networkWatcherName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersClient", "GetTroubleshootingResult", nil, "Failure preparing request") + return + } + + result, err = client.GetTroubleshootingResultSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersClient", "GetTroubleshootingResult", result.Response(), "Failure sending request") + return + } + + return +} + +// GetTroubleshootingResultPreparer prepares the GetTroubleshootingResult request. +func (client WatchersClient) GetTroubleshootingResultPreparer(ctx context.Context, resourceGroupName string, networkWatcherName string, parameters QueryTroubleshootingParameters) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkWatcherName": autorest.Encode("path", networkWatcherName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/queryTroubleshootResult", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetTroubleshootingResultSender sends the GetTroubleshootingResult request. The method will close the +// http.Response Body if it receives an error. +func (client WatchersClient) GetTroubleshootingResultSender(req *http.Request) (future WatchersGetTroubleshootingResultFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// GetTroubleshootingResultResponder handles the response to the GetTroubleshootingResult request. The method always +// closes the http.Response Body. +func (client WatchersClient) GetTroubleshootingResultResponder(resp *http.Response) (result TroubleshootingResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetVMSecurityRules gets the configured and effective security group rules on the specified VM. +// Parameters: +// resourceGroupName - the name of the resource group. +// networkWatcherName - the name of the network watcher. +// parameters - parameters that define the VM to check security groups for. +func (client WatchersClient) GetVMSecurityRules(ctx context.Context, resourceGroupName string, networkWatcherName string, parameters SecurityGroupViewParameters) (result WatchersGetVMSecurityRulesFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WatchersClient.GetVMSecurityRules") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.TargetResourceID", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + return result, validation.NewError("network.WatchersClient", "GetVMSecurityRules", err.Error()) + } + + req, err := client.GetVMSecurityRulesPreparer(ctx, resourceGroupName, networkWatcherName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersClient", "GetVMSecurityRules", nil, "Failure preparing request") + return + } + + result, err = client.GetVMSecurityRulesSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersClient", "GetVMSecurityRules", result.Response(), "Failure sending request") + return + } + + return +} + +// GetVMSecurityRulesPreparer prepares the GetVMSecurityRules request. +func (client WatchersClient) GetVMSecurityRulesPreparer(ctx context.Context, resourceGroupName string, networkWatcherName string, parameters SecurityGroupViewParameters) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkWatcherName": autorest.Encode("path", networkWatcherName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/securityGroupView", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetVMSecurityRulesSender sends the GetVMSecurityRules request. The method will close the +// http.Response Body if it receives an error. +func (client WatchersClient) GetVMSecurityRulesSender(req *http.Request) (future WatchersGetVMSecurityRulesFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// GetVMSecurityRulesResponder handles the response to the GetVMSecurityRules request. The method always +// closes the http.Response Body. +func (client WatchersClient) GetVMSecurityRulesResponder(resp *http.Response) (result SecurityGroupViewResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets all network watchers by resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +func (client WatchersClient) List(ctx context.Context, resourceGroupName string) (result WatcherListResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WatchersClient.List") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListPreparer(ctx, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.WatchersClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client WatchersClient) ListPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client WatchersClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client WatchersClient) ListResponder(resp *http.Response) (result WatcherListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListAll gets all network watchers by subscription. +func (client WatchersClient) ListAll(ctx context.Context) (result WatcherListResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WatchersClient.ListAll") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListAllPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersClient", "ListAll", nil, "Failure preparing request") + return + } + + resp, err := client.ListAllSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.WatchersClient", "ListAll", resp, "Failure sending request") + return + } + + result, err = client.ListAllResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersClient", "ListAll", resp, "Failure responding to request") + } + + return +} + +// ListAllPreparer prepares the ListAll request. +func (client WatchersClient) ListAllPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkWatchers", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListAllSender sends the ListAll request. The method will close the +// http.Response Body if it receives an error. +func (client WatchersClient) ListAllSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListAllResponder handles the response to the ListAll request. The method always +// closes the http.Response Body. +func (client WatchersClient) ListAllResponder(resp *http.Response) (result WatcherListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListAvailableProviders lists all available internet service providers for a specified Azure region. +// Parameters: +// resourceGroupName - the name of the network watcher resource group. +// networkWatcherName - the name of the network watcher resource. +// parameters - parameters that scope the list of available providers. +func (client WatchersClient) ListAvailableProviders(ctx context.Context, resourceGroupName string, networkWatcherName string, parameters AvailableProvidersListParameters) (result WatchersListAvailableProvidersFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WatchersClient.ListAvailableProviders") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListAvailableProvidersPreparer(ctx, resourceGroupName, networkWatcherName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersClient", "ListAvailableProviders", nil, "Failure preparing request") + return + } + + result, err = client.ListAvailableProvidersSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersClient", "ListAvailableProviders", result.Response(), "Failure sending request") + return + } + + return +} + +// ListAvailableProvidersPreparer prepares the ListAvailableProviders request. +func (client WatchersClient) ListAvailableProvidersPreparer(ctx context.Context, resourceGroupName string, networkWatcherName string, parameters AvailableProvidersListParameters) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkWatcherName": autorest.Encode("path", networkWatcherName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/availableProvidersList", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListAvailableProvidersSender sends the ListAvailableProviders request. The method will close the +// http.Response Body if it receives an error. +func (client WatchersClient) ListAvailableProvidersSender(req *http.Request) (future WatchersListAvailableProvidersFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// ListAvailableProvidersResponder handles the response to the ListAvailableProviders request. The method always +// closes the http.Response Body. +func (client WatchersClient) ListAvailableProvidersResponder(resp *http.Response) (result AvailableProvidersList, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// SetFlowLogConfiguration configures flow log and traffic analytics (optional) on a specified resource. +// Parameters: +// resourceGroupName - the name of the network watcher resource group. +// networkWatcherName - the name of the network watcher resource. +// parameters - parameters that define the configuration of flow log. +func (client WatchersClient) SetFlowLogConfiguration(ctx context.Context, resourceGroupName string, networkWatcherName string, parameters FlowLogInformation) (result WatchersSetFlowLogConfigurationFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WatchersClient.SetFlowLogConfiguration") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.TargetResourceID", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "parameters.FlowLogProperties", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "parameters.FlowLogProperties.StorageID", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "parameters.FlowLogProperties.Enabled", Name: validation.Null, Rule: true, Chain: nil}, + }}, + {Target: "parameters.FlowAnalyticsConfiguration", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.FlowAnalyticsConfiguration.NetworkWatcherFlowAnalyticsConfiguration", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "parameters.FlowAnalyticsConfiguration.NetworkWatcherFlowAnalyticsConfiguration.Enabled", Name: validation.Null, Rule: true, Chain: nil}}}, + }}}}}); err != nil { + return result, validation.NewError("network.WatchersClient", "SetFlowLogConfiguration", err.Error()) + } + + req, err := client.SetFlowLogConfigurationPreparer(ctx, resourceGroupName, networkWatcherName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersClient", "SetFlowLogConfiguration", nil, "Failure preparing request") + return + } + + result, err = client.SetFlowLogConfigurationSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersClient", "SetFlowLogConfiguration", result.Response(), "Failure sending request") + return + } + + return +} + +// SetFlowLogConfigurationPreparer prepares the SetFlowLogConfiguration request. +func (client WatchersClient) SetFlowLogConfigurationPreparer(ctx context.Context, resourceGroupName string, networkWatcherName string, parameters FlowLogInformation) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkWatcherName": autorest.Encode("path", networkWatcherName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/configureFlowLog", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// SetFlowLogConfigurationSender sends the SetFlowLogConfiguration request. The method will close the +// http.Response Body if it receives an error. +func (client WatchersClient) SetFlowLogConfigurationSender(req *http.Request) (future WatchersSetFlowLogConfigurationFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// SetFlowLogConfigurationResponder handles the response to the SetFlowLogConfiguration request. The method always +// closes the http.Response Body. +func (client WatchersClient) SetFlowLogConfigurationResponder(resp *http.Response) (result FlowLogInformation, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// UpdateTags updates a network watcher tags. +// Parameters: +// resourceGroupName - the name of the resource group. +// networkWatcherName - the name of the network watcher. +// parameters - parameters supplied to update network watcher tags. +func (client WatchersClient) UpdateTags(ctx context.Context, resourceGroupName string, networkWatcherName string, parameters TagsObject) (result Watcher, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WatchersClient.UpdateTags") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdateTagsPreparer(ctx, resourceGroupName, networkWatcherName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersClient", "UpdateTags", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateTagsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.WatchersClient", "UpdateTags", resp, "Failure sending request") + return + } + + result, err = client.UpdateTagsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersClient", "UpdateTags", resp, "Failure responding to request") + } + + return +} + +// UpdateTagsPreparer prepares the UpdateTags request. +func (client WatchersClient) UpdateTagsPreparer(ctx context.Context, resourceGroupName string, networkWatcherName string, parameters TagsObject) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkWatcherName": autorest.Encode("path", networkWatcherName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateTagsSender sends the UpdateTags request. The method will close the +// http.Response Body if it receives an error. +func (client WatchersClient) UpdateTagsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// UpdateTagsResponder handles the response to the UpdateTags request. The method always +// closes the http.Response Body. +func (client WatchersClient) UpdateTagsResponder(resp *http.Response) (result Watcher, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// VerifyIPFlow verify IP flow from the specified VM to a location given the currently configured NSG rules. +// Parameters: +// resourceGroupName - the name of the resource group. +// networkWatcherName - the name of the network watcher. +// parameters - parameters that define the IP flow to be verified. +func (client WatchersClient) VerifyIPFlow(ctx context.Context, resourceGroupName string, networkWatcherName string, parameters VerificationIPFlowParameters) (result WatchersVerifyIPFlowFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WatchersClient.VerifyIPFlow") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.TargetResourceID", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "parameters.LocalPort", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "parameters.RemotePort", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "parameters.LocalIPAddress", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "parameters.RemoteIPAddress", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + return result, validation.NewError("network.WatchersClient", "VerifyIPFlow", err.Error()) + } + + req, err := client.VerifyIPFlowPreparer(ctx, resourceGroupName, networkWatcherName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersClient", "VerifyIPFlow", nil, "Failure preparing request") + return + } + + result, err = client.VerifyIPFlowSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersClient", "VerifyIPFlow", result.Response(), "Failure sending request") + return + } + + return +} + +// VerifyIPFlowPreparer prepares the VerifyIPFlow request. +func (client WatchersClient) VerifyIPFlowPreparer(ctx context.Context, resourceGroupName string, networkWatcherName string, parameters VerificationIPFlowParameters) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkWatcherName": autorest.Encode("path", networkWatcherName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/ipFlowVerify", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// VerifyIPFlowSender sends the VerifyIPFlow request. The method will close the +// http.Response Body if it receives an error. +func (client WatchersClient) VerifyIPFlowSender(req *http.Request) (future WatchersVerifyIPFlowFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// VerifyIPFlowResponder handles the response to the VerifyIPFlow request. The method always +// closes the http.Response Body. +func (client WatchersClient) VerifyIPFlowResponder(resp *http.Response) (result VerificationIPFlowResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/network/mgmt/2019-07-01/network/webapplicationfirewallpolicies.go b/services/network/mgmt/2019-07-01/network/webapplicationfirewallpolicies.go new file mode 100644 index 000000000000..795632fc59f7 --- /dev/null +++ b/services/network/mgmt/2019-07-01/network/webapplicationfirewallpolicies.go @@ -0,0 +1,517 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// WebApplicationFirewallPoliciesClient is the network Client +type WebApplicationFirewallPoliciesClient struct { + BaseClient +} + +// NewWebApplicationFirewallPoliciesClient creates an instance of the WebApplicationFirewallPoliciesClient client. +func NewWebApplicationFirewallPoliciesClient(subscriptionID string) WebApplicationFirewallPoliciesClient { + return NewWebApplicationFirewallPoliciesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewWebApplicationFirewallPoliciesClientWithBaseURI creates an instance of the WebApplicationFirewallPoliciesClient +// client. +func NewWebApplicationFirewallPoliciesClientWithBaseURI(baseURI string, subscriptionID string) WebApplicationFirewallPoliciesClient { + return WebApplicationFirewallPoliciesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or update policy with specified rule set name within a resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +// policyName - the name of the policy. +// parameters - policy to be created. +func (client WebApplicationFirewallPoliciesClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, policyName string, parameters WebApplicationFirewallPolicy) (result WebApplicationFirewallPolicy, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WebApplicationFirewallPoliciesClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: policyName, + Constraints: []validation.Constraint{{Target: "policyName", Name: validation.MaxLength, Rule: 128, Chain: nil}}}}); err != nil { + return result, validation.NewError("network.WebApplicationFirewallPoliciesClient", "CreateOrUpdate", err.Error()) + } + + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, policyName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WebApplicationFirewallPoliciesClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.WebApplicationFirewallPoliciesClient", "CreateOrUpdate", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WebApplicationFirewallPoliciesClient", "CreateOrUpdate", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client WebApplicationFirewallPoliciesClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, policyName string, parameters WebApplicationFirewallPolicy) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "policyName": autorest.Encode("path", policyName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies/{policyName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client WebApplicationFirewallPoliciesClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client WebApplicationFirewallPoliciesClient) CreateOrUpdateResponder(resp *http.Response) (result WebApplicationFirewallPolicy, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes Policy. +// Parameters: +// resourceGroupName - the name of the resource group. +// policyName - the name of the policy. +func (client WebApplicationFirewallPoliciesClient) Delete(ctx context.Context, resourceGroupName string, policyName string) (result WebApplicationFirewallPoliciesDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WebApplicationFirewallPoliciesClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: policyName, + Constraints: []validation.Constraint{{Target: "policyName", Name: validation.MaxLength, Rule: 128, Chain: nil}}}}); err != nil { + return result, validation.NewError("network.WebApplicationFirewallPoliciesClient", "Delete", err.Error()) + } + + req, err := client.DeletePreparer(ctx, resourceGroupName, policyName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WebApplicationFirewallPoliciesClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WebApplicationFirewallPoliciesClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client WebApplicationFirewallPoliciesClient) DeletePreparer(ctx context.Context, resourceGroupName string, policyName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "policyName": autorest.Encode("path", policyName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies/{policyName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client WebApplicationFirewallPoliciesClient) DeleteSender(req *http.Request) (future WebApplicationFirewallPoliciesDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client WebApplicationFirewallPoliciesClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get retrieve protection policy with specified name within a resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +// policyName - the name of the policy. +func (client WebApplicationFirewallPoliciesClient) Get(ctx context.Context, resourceGroupName string, policyName string) (result WebApplicationFirewallPolicy, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WebApplicationFirewallPoliciesClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: policyName, + Constraints: []validation.Constraint{{Target: "policyName", Name: validation.MaxLength, Rule: 128, Chain: nil}}}}); err != nil { + return result, validation.NewError("network.WebApplicationFirewallPoliciesClient", "Get", err.Error()) + } + + req, err := client.GetPreparer(ctx, resourceGroupName, policyName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WebApplicationFirewallPoliciesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.WebApplicationFirewallPoliciesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WebApplicationFirewallPoliciesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client WebApplicationFirewallPoliciesClient) GetPreparer(ctx context.Context, resourceGroupName string, policyName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "policyName": autorest.Encode("path", policyName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies/{policyName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client WebApplicationFirewallPoliciesClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client WebApplicationFirewallPoliciesClient) GetResponder(resp *http.Response) (result WebApplicationFirewallPolicy, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List lists all of the protection policies within a resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +func (client WebApplicationFirewallPoliciesClient) List(ctx context.Context, resourceGroupName string) (result WebApplicationFirewallPolicyListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WebApplicationFirewallPoliciesClient.List") + defer func() { + sc := -1 + if result.wafplr.Response.Response != nil { + sc = result.wafplr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WebApplicationFirewallPoliciesClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.wafplr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.WebApplicationFirewallPoliciesClient", "List", resp, "Failure sending request") + return + } + + result.wafplr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WebApplicationFirewallPoliciesClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client WebApplicationFirewallPoliciesClient) ListPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client WebApplicationFirewallPoliciesClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client WebApplicationFirewallPoliciesClient) ListResponder(resp *http.Response) (result WebApplicationFirewallPolicyListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client WebApplicationFirewallPoliciesClient) listNextResults(ctx context.Context, lastResults WebApplicationFirewallPolicyListResult) (result WebApplicationFirewallPolicyListResult, err error) { + req, err := lastResults.webApplicationFirewallPolicyListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.WebApplicationFirewallPoliciesClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.WebApplicationFirewallPoliciesClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WebApplicationFirewallPoliciesClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client WebApplicationFirewallPoliciesClient) ListComplete(ctx context.Context, resourceGroupName string) (result WebApplicationFirewallPolicyListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WebApplicationFirewallPoliciesClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName) + return +} + +// ListAll gets all the WAF policies in a subscription. +func (client WebApplicationFirewallPoliciesClient) ListAll(ctx context.Context) (result WebApplicationFirewallPolicyListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WebApplicationFirewallPoliciesClient.ListAll") + defer func() { + sc := -1 + if result.wafplr.Response.Response != nil { + sc = result.wafplr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listAllNextResults + req, err := client.ListAllPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WebApplicationFirewallPoliciesClient", "ListAll", nil, "Failure preparing request") + return + } + + resp, err := client.ListAllSender(req) + if err != nil { + result.wafplr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.WebApplicationFirewallPoliciesClient", "ListAll", resp, "Failure sending request") + return + } + + result.wafplr, err = client.ListAllResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WebApplicationFirewallPoliciesClient", "ListAll", resp, "Failure responding to request") + } + + return +} + +// ListAllPreparer prepares the ListAll request. +func (client WebApplicationFirewallPoliciesClient) ListAllPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListAllSender sends the ListAll request. The method will close the +// http.Response Body if it receives an error. +func (client WebApplicationFirewallPoliciesClient) ListAllSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListAllResponder handles the response to the ListAll request. The method always +// closes the http.Response Body. +func (client WebApplicationFirewallPoliciesClient) ListAllResponder(resp *http.Response) (result WebApplicationFirewallPolicyListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listAllNextResults retrieves the next set of results, if any. +func (client WebApplicationFirewallPoliciesClient) listAllNextResults(ctx context.Context, lastResults WebApplicationFirewallPolicyListResult) (result WebApplicationFirewallPolicyListResult, err error) { + req, err := lastResults.webApplicationFirewallPolicyListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.WebApplicationFirewallPoliciesClient", "listAllNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListAllSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.WebApplicationFirewallPoliciesClient", "listAllNextResults", resp, "Failure sending next results request") + } + result, err = client.ListAllResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WebApplicationFirewallPoliciesClient", "listAllNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListAllComplete enumerates all values, automatically crossing page boundaries as required. +func (client WebApplicationFirewallPoliciesClient) ListAllComplete(ctx context.Context) (result WebApplicationFirewallPolicyListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WebApplicationFirewallPoliciesClient.ListAll") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListAll(ctx) + return +} diff --git a/services/network/mgmt/2019-08-01/network/applicationgateways.go b/services/network/mgmt/2019-08-01/network/applicationgateways.go new file mode 100644 index 000000000000..b21d4bf507d8 --- /dev/null +++ b/services/network/mgmt/2019-08-01/network/applicationgateways.go @@ -0,0 +1,1469 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// ApplicationGatewaysClient is the network Client +type ApplicationGatewaysClient struct { + BaseClient +} + +// NewApplicationGatewaysClient creates an instance of the ApplicationGatewaysClient client. +func NewApplicationGatewaysClient(subscriptionID string) ApplicationGatewaysClient { + return NewApplicationGatewaysClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewApplicationGatewaysClientWithBaseURI creates an instance of the ApplicationGatewaysClient client. +func NewApplicationGatewaysClientWithBaseURI(baseURI string, subscriptionID string) ApplicationGatewaysClient { + return ApplicationGatewaysClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// BackendHealth gets the backend health of the specified application gateway in a resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +// applicationGatewayName - the name of the application gateway. +// expand - expands BackendAddressPool and BackendHttpSettings referenced in backend health. +func (client ApplicationGatewaysClient) BackendHealth(ctx context.Context, resourceGroupName string, applicationGatewayName string, expand string) (result ApplicationGatewaysBackendHealthFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationGatewaysClient.BackendHealth") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.BackendHealthPreparer(ctx, resourceGroupName, applicationGatewayName, expand) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "BackendHealth", nil, "Failure preparing request") + return + } + + result, err = client.BackendHealthSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "BackendHealth", result.Response(), "Failure sending request") + return + } + + return +} + +// BackendHealthPreparer prepares the BackendHealth request. +func (client ApplicationGatewaysClient) BackendHealthPreparer(ctx context.Context, resourceGroupName string, applicationGatewayName string, expand string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "applicationGatewayName": autorest.Encode("path", applicationGatewayName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(expand) > 0 { + queryParameters["$expand"] = autorest.Encode("query", expand) + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}/backendhealth", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// BackendHealthSender sends the BackendHealth request. The method will close the +// http.Response Body if it receives an error. +func (client ApplicationGatewaysClient) BackendHealthSender(req *http.Request) (future ApplicationGatewaysBackendHealthFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// BackendHealthResponder handles the response to the BackendHealth request. The method always +// closes the http.Response Body. +func (client ApplicationGatewaysClient) BackendHealthResponder(resp *http.Response) (result ApplicationGatewayBackendHealth, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// BackendHealthOnDemand gets the backend health for given combination of backend pool and http setting of the +// specified application gateway in a resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +// applicationGatewayName - the name of the application gateway. +// probeRequest - request body for on-demand test probe operation. +// expand - expands BackendAddressPool and BackendHttpSettings referenced in backend health. +func (client ApplicationGatewaysClient) BackendHealthOnDemand(ctx context.Context, resourceGroupName string, applicationGatewayName string, probeRequest ApplicationGatewayOnDemandProbe, expand string) (result ApplicationGatewaysBackendHealthOnDemandFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationGatewaysClient.BackendHealthOnDemand") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.BackendHealthOnDemandPreparer(ctx, resourceGroupName, applicationGatewayName, probeRequest, expand) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "BackendHealthOnDemand", nil, "Failure preparing request") + return + } + + result, err = client.BackendHealthOnDemandSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "BackendHealthOnDemand", result.Response(), "Failure sending request") + return + } + + return +} + +// BackendHealthOnDemandPreparer prepares the BackendHealthOnDemand request. +func (client ApplicationGatewaysClient) BackendHealthOnDemandPreparer(ctx context.Context, resourceGroupName string, applicationGatewayName string, probeRequest ApplicationGatewayOnDemandProbe, expand string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "applicationGatewayName": autorest.Encode("path", applicationGatewayName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(expand) > 0 { + queryParameters["$expand"] = autorest.Encode("query", expand) + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}/getBackendHealthOnDemand", pathParameters), + autorest.WithJSON(probeRequest), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// BackendHealthOnDemandSender sends the BackendHealthOnDemand request. The method will close the +// http.Response Body if it receives an error. +func (client ApplicationGatewaysClient) BackendHealthOnDemandSender(req *http.Request) (future ApplicationGatewaysBackendHealthOnDemandFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// BackendHealthOnDemandResponder handles the response to the BackendHealthOnDemand request. The method always +// closes the http.Response Body. +func (client ApplicationGatewaysClient) BackendHealthOnDemandResponder(resp *http.Response) (result ApplicationGatewayBackendHealthOnDemand, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// CreateOrUpdate creates or updates the specified application gateway. +// Parameters: +// resourceGroupName - the name of the resource group. +// applicationGatewayName - the name of the application gateway. +// parameters - parameters supplied to the create or update application gateway operation. +func (client ApplicationGatewaysClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, applicationGatewayName string, parameters ApplicationGateway) (result ApplicationGatewaysCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationGatewaysClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.ApplicationGatewayPropertiesFormat", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.ApplicationGatewayPropertiesFormat.WebApplicationFirewallConfiguration", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.ApplicationGatewayPropertiesFormat.WebApplicationFirewallConfiguration.Enabled", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "parameters.ApplicationGatewayPropertiesFormat.WebApplicationFirewallConfiguration.RuleSetType", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "parameters.ApplicationGatewayPropertiesFormat.WebApplicationFirewallConfiguration.RuleSetVersion", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "parameters.ApplicationGatewayPropertiesFormat.WebApplicationFirewallConfiguration.MaxRequestBodySize", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.ApplicationGatewayPropertiesFormat.WebApplicationFirewallConfiguration.MaxRequestBodySize", Name: validation.InclusiveMaximum, Rule: int64(128), Chain: nil}, + {Target: "parameters.ApplicationGatewayPropertiesFormat.WebApplicationFirewallConfiguration.MaxRequestBodySize", Name: validation.InclusiveMinimum, Rule: 8, Chain: nil}, + }}, + {Target: "parameters.ApplicationGatewayPropertiesFormat.WebApplicationFirewallConfiguration.MaxRequestBodySizeInKb", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.ApplicationGatewayPropertiesFormat.WebApplicationFirewallConfiguration.MaxRequestBodySizeInKb", Name: validation.InclusiveMaximum, Rule: int64(128), Chain: nil}, + {Target: "parameters.ApplicationGatewayPropertiesFormat.WebApplicationFirewallConfiguration.MaxRequestBodySizeInKb", Name: validation.InclusiveMinimum, Rule: 8, Chain: nil}, + }}, + {Target: "parameters.ApplicationGatewayPropertiesFormat.WebApplicationFirewallConfiguration.FileUploadLimitInMb", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.ApplicationGatewayPropertiesFormat.WebApplicationFirewallConfiguration.FileUploadLimitInMb", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}}}, + }}, + {Target: "parameters.ApplicationGatewayPropertiesFormat.AutoscaleConfiguration", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.ApplicationGatewayPropertiesFormat.AutoscaleConfiguration.MinCapacity", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "parameters.ApplicationGatewayPropertiesFormat.AutoscaleConfiguration.MinCapacity", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}}}, + {Target: "parameters.ApplicationGatewayPropertiesFormat.AutoscaleConfiguration.MaxCapacity", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.ApplicationGatewayPropertiesFormat.AutoscaleConfiguration.MaxCapacity", Name: validation.InclusiveMinimum, Rule: 2, Chain: nil}}}, + }}, + }}}}}); err != nil { + return result, validation.NewError("network.ApplicationGatewaysClient", "CreateOrUpdate", err.Error()) + } + + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, applicationGatewayName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client ApplicationGatewaysClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, applicationGatewayName string, parameters ApplicationGateway) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "applicationGatewayName": autorest.Encode("path", applicationGatewayName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client ApplicationGatewaysClient) CreateOrUpdateSender(req *http.Request) (future ApplicationGatewaysCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client ApplicationGatewaysClient) CreateOrUpdateResponder(resp *http.Response) (result ApplicationGateway, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the specified application gateway. +// Parameters: +// resourceGroupName - the name of the resource group. +// applicationGatewayName - the name of the application gateway. +func (client ApplicationGatewaysClient) Delete(ctx context.Context, resourceGroupName string, applicationGatewayName string) (result ApplicationGatewaysDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationGatewaysClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, applicationGatewayName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client ApplicationGatewaysClient) DeletePreparer(ctx context.Context, resourceGroupName string, applicationGatewayName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "applicationGatewayName": autorest.Encode("path", applicationGatewayName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client ApplicationGatewaysClient) DeleteSender(req *http.Request) (future ApplicationGatewaysDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client ApplicationGatewaysClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets the specified application gateway. +// Parameters: +// resourceGroupName - the name of the resource group. +// applicationGatewayName - the name of the application gateway. +func (client ApplicationGatewaysClient) Get(ctx context.Context, resourceGroupName string, applicationGatewayName string) (result ApplicationGateway, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationGatewaysClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, applicationGatewayName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client ApplicationGatewaysClient) GetPreparer(ctx context.Context, resourceGroupName string, applicationGatewayName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "applicationGatewayName": autorest.Encode("path", applicationGatewayName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client ApplicationGatewaysClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client ApplicationGatewaysClient) GetResponder(resp *http.Response) (result ApplicationGateway, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetSslPredefinedPolicy gets Ssl predefined policy with the specified policy name. +// Parameters: +// predefinedPolicyName - name of Ssl predefined policy. +func (client ApplicationGatewaysClient) GetSslPredefinedPolicy(ctx context.Context, predefinedPolicyName string) (result ApplicationGatewaySslPredefinedPolicy, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationGatewaysClient.GetSslPredefinedPolicy") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetSslPredefinedPolicyPreparer(ctx, predefinedPolicyName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "GetSslPredefinedPolicy", nil, "Failure preparing request") + return + } + + resp, err := client.GetSslPredefinedPolicySender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "GetSslPredefinedPolicy", resp, "Failure sending request") + return + } + + result, err = client.GetSslPredefinedPolicyResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "GetSslPredefinedPolicy", resp, "Failure responding to request") + } + + return +} + +// GetSslPredefinedPolicyPreparer prepares the GetSslPredefinedPolicy request. +func (client ApplicationGatewaysClient) GetSslPredefinedPolicyPreparer(ctx context.Context, predefinedPolicyName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "predefinedPolicyName": autorest.Encode("path", predefinedPolicyName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableSslOptions/default/predefinedPolicies/{predefinedPolicyName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSslPredefinedPolicySender sends the GetSslPredefinedPolicy request. The method will close the +// http.Response Body if it receives an error. +func (client ApplicationGatewaysClient) GetSslPredefinedPolicySender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetSslPredefinedPolicyResponder handles the response to the GetSslPredefinedPolicy request. The method always +// closes the http.Response Body. +func (client ApplicationGatewaysClient) GetSslPredefinedPolicyResponder(resp *http.Response) (result ApplicationGatewaySslPredefinedPolicy, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List lists all application gateways in a resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +func (client ApplicationGatewaysClient) List(ctx context.Context, resourceGroupName string) (result ApplicationGatewayListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationGatewaysClient.List") + defer func() { + sc := -1 + if result.aglr.Response.Response != nil { + sc = result.aglr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.aglr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "List", resp, "Failure sending request") + return + } + + result.aglr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client ApplicationGatewaysClient) ListPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client ApplicationGatewaysClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client ApplicationGatewaysClient) ListResponder(resp *http.Response) (result ApplicationGatewayListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client ApplicationGatewaysClient) listNextResults(ctx context.Context, lastResults ApplicationGatewayListResult) (result ApplicationGatewayListResult, err error) { + req, err := lastResults.applicationGatewayListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client ApplicationGatewaysClient) ListComplete(ctx context.Context, resourceGroupName string) (result ApplicationGatewayListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationGatewaysClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName) + return +} + +// ListAll gets all the application gateways in a subscription. +func (client ApplicationGatewaysClient) ListAll(ctx context.Context) (result ApplicationGatewayListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationGatewaysClient.ListAll") + defer func() { + sc := -1 + if result.aglr.Response.Response != nil { + sc = result.aglr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listAllNextResults + req, err := client.ListAllPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "ListAll", nil, "Failure preparing request") + return + } + + resp, err := client.ListAllSender(req) + if err != nil { + result.aglr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "ListAll", resp, "Failure sending request") + return + } + + result.aglr, err = client.ListAllResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "ListAll", resp, "Failure responding to request") + } + + return +} + +// ListAllPreparer prepares the ListAll request. +func (client ApplicationGatewaysClient) ListAllPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGateways", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListAllSender sends the ListAll request. The method will close the +// http.Response Body if it receives an error. +func (client ApplicationGatewaysClient) ListAllSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListAllResponder handles the response to the ListAll request. The method always +// closes the http.Response Body. +func (client ApplicationGatewaysClient) ListAllResponder(resp *http.Response) (result ApplicationGatewayListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listAllNextResults retrieves the next set of results, if any. +func (client ApplicationGatewaysClient) listAllNextResults(ctx context.Context, lastResults ApplicationGatewayListResult) (result ApplicationGatewayListResult, err error) { + req, err := lastResults.applicationGatewayListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "listAllNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListAllSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "listAllNextResults", resp, "Failure sending next results request") + } + result, err = client.ListAllResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "listAllNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListAllComplete enumerates all values, automatically crossing page boundaries as required. +func (client ApplicationGatewaysClient) ListAllComplete(ctx context.Context) (result ApplicationGatewayListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationGatewaysClient.ListAll") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListAll(ctx) + return +} + +// ListAvailableRequestHeaders lists all available request headers. +func (client ApplicationGatewaysClient) ListAvailableRequestHeaders(ctx context.Context) (result ListString, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationGatewaysClient.ListAvailableRequestHeaders") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListAvailableRequestHeadersPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "ListAvailableRequestHeaders", nil, "Failure preparing request") + return + } + + resp, err := client.ListAvailableRequestHeadersSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "ListAvailableRequestHeaders", resp, "Failure sending request") + return + } + + result, err = client.ListAvailableRequestHeadersResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "ListAvailableRequestHeaders", resp, "Failure responding to request") + } + + return +} + +// ListAvailableRequestHeadersPreparer prepares the ListAvailableRequestHeaders request. +func (client ApplicationGatewaysClient) ListAvailableRequestHeadersPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableRequestHeaders", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListAvailableRequestHeadersSender sends the ListAvailableRequestHeaders request. The method will close the +// http.Response Body if it receives an error. +func (client ApplicationGatewaysClient) ListAvailableRequestHeadersSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListAvailableRequestHeadersResponder handles the response to the ListAvailableRequestHeaders request. The method always +// closes the http.Response Body. +func (client ApplicationGatewaysClient) ListAvailableRequestHeadersResponder(resp *http.Response) (result ListString, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result.Value), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListAvailableResponseHeaders lists all available response headers. +func (client ApplicationGatewaysClient) ListAvailableResponseHeaders(ctx context.Context) (result ListString, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationGatewaysClient.ListAvailableResponseHeaders") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListAvailableResponseHeadersPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "ListAvailableResponseHeaders", nil, "Failure preparing request") + return + } + + resp, err := client.ListAvailableResponseHeadersSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "ListAvailableResponseHeaders", resp, "Failure sending request") + return + } + + result, err = client.ListAvailableResponseHeadersResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "ListAvailableResponseHeaders", resp, "Failure responding to request") + } + + return +} + +// ListAvailableResponseHeadersPreparer prepares the ListAvailableResponseHeaders request. +func (client ApplicationGatewaysClient) ListAvailableResponseHeadersPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableResponseHeaders", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListAvailableResponseHeadersSender sends the ListAvailableResponseHeaders request. The method will close the +// http.Response Body if it receives an error. +func (client ApplicationGatewaysClient) ListAvailableResponseHeadersSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListAvailableResponseHeadersResponder handles the response to the ListAvailableResponseHeaders request. The method always +// closes the http.Response Body. +func (client ApplicationGatewaysClient) ListAvailableResponseHeadersResponder(resp *http.Response) (result ListString, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result.Value), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListAvailableServerVariables lists all available server variables. +func (client ApplicationGatewaysClient) ListAvailableServerVariables(ctx context.Context) (result ListString, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationGatewaysClient.ListAvailableServerVariables") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListAvailableServerVariablesPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "ListAvailableServerVariables", nil, "Failure preparing request") + return + } + + resp, err := client.ListAvailableServerVariablesSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "ListAvailableServerVariables", resp, "Failure sending request") + return + } + + result, err = client.ListAvailableServerVariablesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "ListAvailableServerVariables", resp, "Failure responding to request") + } + + return +} + +// ListAvailableServerVariablesPreparer prepares the ListAvailableServerVariables request. +func (client ApplicationGatewaysClient) ListAvailableServerVariablesPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableServerVariables", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListAvailableServerVariablesSender sends the ListAvailableServerVariables request. The method will close the +// http.Response Body if it receives an error. +func (client ApplicationGatewaysClient) ListAvailableServerVariablesSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListAvailableServerVariablesResponder handles the response to the ListAvailableServerVariables request. The method always +// closes the http.Response Body. +func (client ApplicationGatewaysClient) ListAvailableServerVariablesResponder(resp *http.Response) (result ListString, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result.Value), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListAvailableSslOptions lists available Ssl options for configuring Ssl policy. +func (client ApplicationGatewaysClient) ListAvailableSslOptions(ctx context.Context) (result ApplicationGatewayAvailableSslOptions, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationGatewaysClient.ListAvailableSslOptions") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListAvailableSslOptionsPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "ListAvailableSslOptions", nil, "Failure preparing request") + return + } + + resp, err := client.ListAvailableSslOptionsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "ListAvailableSslOptions", resp, "Failure sending request") + return + } + + result, err = client.ListAvailableSslOptionsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "ListAvailableSslOptions", resp, "Failure responding to request") + } + + return +} + +// ListAvailableSslOptionsPreparer prepares the ListAvailableSslOptions request. +func (client ApplicationGatewaysClient) ListAvailableSslOptionsPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableSslOptions/default", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListAvailableSslOptionsSender sends the ListAvailableSslOptions request. The method will close the +// http.Response Body if it receives an error. +func (client ApplicationGatewaysClient) ListAvailableSslOptionsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListAvailableSslOptionsResponder handles the response to the ListAvailableSslOptions request. The method always +// closes the http.Response Body. +func (client ApplicationGatewaysClient) ListAvailableSslOptionsResponder(resp *http.Response) (result ApplicationGatewayAvailableSslOptions, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListAvailableSslPredefinedPolicies lists all SSL predefined policies for configuring Ssl policy. +func (client ApplicationGatewaysClient) ListAvailableSslPredefinedPolicies(ctx context.Context) (result ApplicationGatewayAvailableSslPredefinedPoliciesPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationGatewaysClient.ListAvailableSslPredefinedPolicies") + defer func() { + sc := -1 + if result.agaspp.Response.Response != nil { + sc = result.agaspp.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listAvailableSslPredefinedPoliciesNextResults + req, err := client.ListAvailableSslPredefinedPoliciesPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "ListAvailableSslPredefinedPolicies", nil, "Failure preparing request") + return + } + + resp, err := client.ListAvailableSslPredefinedPoliciesSender(req) + if err != nil { + result.agaspp.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "ListAvailableSslPredefinedPolicies", resp, "Failure sending request") + return + } + + result.agaspp, err = client.ListAvailableSslPredefinedPoliciesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "ListAvailableSslPredefinedPolicies", resp, "Failure responding to request") + } + + return +} + +// ListAvailableSslPredefinedPoliciesPreparer prepares the ListAvailableSslPredefinedPolicies request. +func (client ApplicationGatewaysClient) ListAvailableSslPredefinedPoliciesPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableSslOptions/default/predefinedPolicies", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListAvailableSslPredefinedPoliciesSender sends the ListAvailableSslPredefinedPolicies request. The method will close the +// http.Response Body if it receives an error. +func (client ApplicationGatewaysClient) ListAvailableSslPredefinedPoliciesSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListAvailableSslPredefinedPoliciesResponder handles the response to the ListAvailableSslPredefinedPolicies request. The method always +// closes the http.Response Body. +func (client ApplicationGatewaysClient) ListAvailableSslPredefinedPoliciesResponder(resp *http.Response) (result ApplicationGatewayAvailableSslPredefinedPolicies, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listAvailableSslPredefinedPoliciesNextResults retrieves the next set of results, if any. +func (client ApplicationGatewaysClient) listAvailableSslPredefinedPoliciesNextResults(ctx context.Context, lastResults ApplicationGatewayAvailableSslPredefinedPolicies) (result ApplicationGatewayAvailableSslPredefinedPolicies, err error) { + req, err := lastResults.applicationGatewayAvailableSslPredefinedPoliciesPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "listAvailableSslPredefinedPoliciesNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListAvailableSslPredefinedPoliciesSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "listAvailableSslPredefinedPoliciesNextResults", resp, "Failure sending next results request") + } + result, err = client.ListAvailableSslPredefinedPoliciesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "listAvailableSslPredefinedPoliciesNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListAvailableSslPredefinedPoliciesComplete enumerates all values, automatically crossing page boundaries as required. +func (client ApplicationGatewaysClient) ListAvailableSslPredefinedPoliciesComplete(ctx context.Context) (result ApplicationGatewayAvailableSslPredefinedPoliciesIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationGatewaysClient.ListAvailableSslPredefinedPolicies") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListAvailableSslPredefinedPolicies(ctx) + return +} + +// ListAvailableWafRuleSets lists all available web application firewall rule sets. +func (client ApplicationGatewaysClient) ListAvailableWafRuleSets(ctx context.Context) (result ApplicationGatewayAvailableWafRuleSetsResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationGatewaysClient.ListAvailableWafRuleSets") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListAvailableWafRuleSetsPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "ListAvailableWafRuleSets", nil, "Failure preparing request") + return + } + + resp, err := client.ListAvailableWafRuleSetsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "ListAvailableWafRuleSets", resp, "Failure sending request") + return + } + + result, err = client.ListAvailableWafRuleSetsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "ListAvailableWafRuleSets", resp, "Failure responding to request") + } + + return +} + +// ListAvailableWafRuleSetsPreparer prepares the ListAvailableWafRuleSets request. +func (client ApplicationGatewaysClient) ListAvailableWafRuleSetsPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableWafRuleSets", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListAvailableWafRuleSetsSender sends the ListAvailableWafRuleSets request. The method will close the +// http.Response Body if it receives an error. +func (client ApplicationGatewaysClient) ListAvailableWafRuleSetsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListAvailableWafRuleSetsResponder handles the response to the ListAvailableWafRuleSets request. The method always +// closes the http.Response Body. +func (client ApplicationGatewaysClient) ListAvailableWafRuleSetsResponder(resp *http.Response) (result ApplicationGatewayAvailableWafRuleSetsResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Start starts the specified application gateway. +// Parameters: +// resourceGroupName - the name of the resource group. +// applicationGatewayName - the name of the application gateway. +func (client ApplicationGatewaysClient) Start(ctx context.Context, resourceGroupName string, applicationGatewayName string) (result ApplicationGatewaysStartFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationGatewaysClient.Start") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.StartPreparer(ctx, resourceGroupName, applicationGatewayName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "Start", nil, "Failure preparing request") + return + } + + result, err = client.StartSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "Start", result.Response(), "Failure sending request") + return + } + + return +} + +// StartPreparer prepares the Start request. +func (client ApplicationGatewaysClient) StartPreparer(ctx context.Context, resourceGroupName string, applicationGatewayName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "applicationGatewayName": autorest.Encode("path", applicationGatewayName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}/start", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// StartSender sends the Start request. The method will close the +// http.Response Body if it receives an error. +func (client ApplicationGatewaysClient) StartSender(req *http.Request) (future ApplicationGatewaysStartFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// StartResponder handles the response to the Start request. The method always +// closes the http.Response Body. +func (client ApplicationGatewaysClient) StartResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByClosing()) + result.Response = resp + return +} + +// Stop stops the specified application gateway in a resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +// applicationGatewayName - the name of the application gateway. +func (client ApplicationGatewaysClient) Stop(ctx context.Context, resourceGroupName string, applicationGatewayName string) (result ApplicationGatewaysStopFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationGatewaysClient.Stop") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.StopPreparer(ctx, resourceGroupName, applicationGatewayName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "Stop", nil, "Failure preparing request") + return + } + + result, err = client.StopSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "Stop", result.Response(), "Failure sending request") + return + } + + return +} + +// StopPreparer prepares the Stop request. +func (client ApplicationGatewaysClient) StopPreparer(ctx context.Context, resourceGroupName string, applicationGatewayName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "applicationGatewayName": autorest.Encode("path", applicationGatewayName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}/stop", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// StopSender sends the Stop request. The method will close the +// http.Response Body if it receives an error. +func (client ApplicationGatewaysClient) StopSender(req *http.Request) (future ApplicationGatewaysStopFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// StopResponder handles the response to the Stop request. The method always +// closes the http.Response Body. +func (client ApplicationGatewaysClient) StopResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByClosing()) + result.Response = resp + return +} + +// UpdateTags updates the specified application gateway tags. +// Parameters: +// resourceGroupName - the name of the resource group. +// applicationGatewayName - the name of the application gateway. +// parameters - parameters supplied to update application gateway tags. +func (client ApplicationGatewaysClient) UpdateTags(ctx context.Context, resourceGroupName string, applicationGatewayName string, parameters TagsObject) (result ApplicationGatewaysUpdateTagsFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationGatewaysClient.UpdateTags") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdateTagsPreparer(ctx, resourceGroupName, applicationGatewayName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "UpdateTags", nil, "Failure preparing request") + return + } + + result, err = client.UpdateTagsSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysClient", "UpdateTags", result.Response(), "Failure sending request") + return + } + + return +} + +// UpdateTagsPreparer prepares the UpdateTags request. +func (client ApplicationGatewaysClient) UpdateTagsPreparer(ctx context.Context, resourceGroupName string, applicationGatewayName string, parameters TagsObject) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "applicationGatewayName": autorest.Encode("path", applicationGatewayName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateTagsSender sends the UpdateTags request. The method will close the +// http.Response Body if it receives an error. +func (client ApplicationGatewaysClient) UpdateTagsSender(req *http.Request) (future ApplicationGatewaysUpdateTagsFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// UpdateTagsResponder handles the response to the UpdateTags request. The method always +// closes the http.Response Body. +func (client ApplicationGatewaysClient) UpdateTagsResponder(resp *http.Response) (result ApplicationGateway, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/network/mgmt/2019-08-01/network/applicationsecuritygroups.go b/services/network/mgmt/2019-08-01/network/applicationsecuritygroups.go new file mode 100644 index 000000000000..b022ee953a08 --- /dev/null +++ b/services/network/mgmt/2019-08-01/network/applicationsecuritygroups.go @@ -0,0 +1,578 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// ApplicationSecurityGroupsClient is the network Client +type ApplicationSecurityGroupsClient struct { + BaseClient +} + +// NewApplicationSecurityGroupsClient creates an instance of the ApplicationSecurityGroupsClient client. +func NewApplicationSecurityGroupsClient(subscriptionID string) ApplicationSecurityGroupsClient { + return NewApplicationSecurityGroupsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewApplicationSecurityGroupsClientWithBaseURI creates an instance of the ApplicationSecurityGroupsClient client. +func NewApplicationSecurityGroupsClientWithBaseURI(baseURI string, subscriptionID string) ApplicationSecurityGroupsClient { + return ApplicationSecurityGroupsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates an application security group. +// Parameters: +// resourceGroupName - the name of the resource group. +// applicationSecurityGroupName - the name of the application security group. +// parameters - parameters supplied to the create or update ApplicationSecurityGroup operation. +func (client ApplicationSecurityGroupsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, applicationSecurityGroupName string, parameters ApplicationSecurityGroup) (result ApplicationSecurityGroupsCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationSecurityGroupsClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, applicationSecurityGroupName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationSecurityGroupsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationSecurityGroupsClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client ApplicationSecurityGroupsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, applicationSecurityGroupName string, parameters ApplicationSecurityGroup) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "applicationSecurityGroupName": autorest.Encode("path", applicationSecurityGroupName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + parameters.Etag = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationSecurityGroups/{applicationSecurityGroupName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client ApplicationSecurityGroupsClient) CreateOrUpdateSender(req *http.Request) (future ApplicationSecurityGroupsCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client ApplicationSecurityGroupsClient) CreateOrUpdateResponder(resp *http.Response) (result ApplicationSecurityGroup, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the specified application security group. +// Parameters: +// resourceGroupName - the name of the resource group. +// applicationSecurityGroupName - the name of the application security group. +func (client ApplicationSecurityGroupsClient) Delete(ctx context.Context, resourceGroupName string, applicationSecurityGroupName string) (result ApplicationSecurityGroupsDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationSecurityGroupsClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, applicationSecurityGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationSecurityGroupsClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationSecurityGroupsClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client ApplicationSecurityGroupsClient) DeletePreparer(ctx context.Context, resourceGroupName string, applicationSecurityGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "applicationSecurityGroupName": autorest.Encode("path", applicationSecurityGroupName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationSecurityGroups/{applicationSecurityGroupName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client ApplicationSecurityGroupsClient) DeleteSender(req *http.Request) (future ApplicationSecurityGroupsDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client ApplicationSecurityGroupsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets information about the specified application security group. +// Parameters: +// resourceGroupName - the name of the resource group. +// applicationSecurityGroupName - the name of the application security group. +func (client ApplicationSecurityGroupsClient) Get(ctx context.Context, resourceGroupName string, applicationSecurityGroupName string) (result ApplicationSecurityGroup, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationSecurityGroupsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, applicationSecurityGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationSecurityGroupsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ApplicationSecurityGroupsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationSecurityGroupsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client ApplicationSecurityGroupsClient) GetPreparer(ctx context.Context, resourceGroupName string, applicationSecurityGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "applicationSecurityGroupName": autorest.Encode("path", applicationSecurityGroupName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationSecurityGroups/{applicationSecurityGroupName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client ApplicationSecurityGroupsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client ApplicationSecurityGroupsClient) GetResponder(resp *http.Response) (result ApplicationSecurityGroup, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets all the application security groups in a resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +func (client ApplicationSecurityGroupsClient) List(ctx context.Context, resourceGroupName string) (result ApplicationSecurityGroupListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationSecurityGroupsClient.List") + defer func() { + sc := -1 + if result.asglr.Response.Response != nil { + sc = result.asglr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationSecurityGroupsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.asglr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ApplicationSecurityGroupsClient", "List", resp, "Failure sending request") + return + } + + result.asglr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationSecurityGroupsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client ApplicationSecurityGroupsClient) ListPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationSecurityGroups", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client ApplicationSecurityGroupsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client ApplicationSecurityGroupsClient) ListResponder(resp *http.Response) (result ApplicationSecurityGroupListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client ApplicationSecurityGroupsClient) listNextResults(ctx context.Context, lastResults ApplicationSecurityGroupListResult) (result ApplicationSecurityGroupListResult, err error) { + req, err := lastResults.applicationSecurityGroupListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.ApplicationSecurityGroupsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.ApplicationSecurityGroupsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationSecurityGroupsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client ApplicationSecurityGroupsClient) ListComplete(ctx context.Context, resourceGroupName string) (result ApplicationSecurityGroupListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationSecurityGroupsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName) + return +} + +// ListAll gets all application security groups in a subscription. +func (client ApplicationSecurityGroupsClient) ListAll(ctx context.Context) (result ApplicationSecurityGroupListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationSecurityGroupsClient.ListAll") + defer func() { + sc := -1 + if result.asglr.Response.Response != nil { + sc = result.asglr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listAllNextResults + req, err := client.ListAllPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationSecurityGroupsClient", "ListAll", nil, "Failure preparing request") + return + } + + resp, err := client.ListAllSender(req) + if err != nil { + result.asglr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ApplicationSecurityGroupsClient", "ListAll", resp, "Failure sending request") + return + } + + result.asglr, err = client.ListAllResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationSecurityGroupsClient", "ListAll", resp, "Failure responding to request") + } + + return +} + +// ListAllPreparer prepares the ListAll request. +func (client ApplicationSecurityGroupsClient) ListAllPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationSecurityGroups", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListAllSender sends the ListAll request. The method will close the +// http.Response Body if it receives an error. +func (client ApplicationSecurityGroupsClient) ListAllSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListAllResponder handles the response to the ListAll request. The method always +// closes the http.Response Body. +func (client ApplicationSecurityGroupsClient) ListAllResponder(resp *http.Response) (result ApplicationSecurityGroupListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listAllNextResults retrieves the next set of results, if any. +func (client ApplicationSecurityGroupsClient) listAllNextResults(ctx context.Context, lastResults ApplicationSecurityGroupListResult) (result ApplicationSecurityGroupListResult, err error) { + req, err := lastResults.applicationSecurityGroupListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.ApplicationSecurityGroupsClient", "listAllNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListAllSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.ApplicationSecurityGroupsClient", "listAllNextResults", resp, "Failure sending next results request") + } + result, err = client.ListAllResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationSecurityGroupsClient", "listAllNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListAllComplete enumerates all values, automatically crossing page boundaries as required. +func (client ApplicationSecurityGroupsClient) ListAllComplete(ctx context.Context) (result ApplicationSecurityGroupListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationSecurityGroupsClient.ListAll") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListAll(ctx) + return +} + +// UpdateTags updates an application security group's tags. +// Parameters: +// resourceGroupName - the name of the resource group. +// applicationSecurityGroupName - the name of the application security group. +// parameters - parameters supplied to update application security group tags. +func (client ApplicationSecurityGroupsClient) UpdateTags(ctx context.Context, resourceGroupName string, applicationSecurityGroupName string, parameters TagsObject) (result ApplicationSecurityGroupsUpdateTagsFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationSecurityGroupsClient.UpdateTags") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdateTagsPreparer(ctx, resourceGroupName, applicationSecurityGroupName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationSecurityGroupsClient", "UpdateTags", nil, "Failure preparing request") + return + } + + result, err = client.UpdateTagsSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationSecurityGroupsClient", "UpdateTags", result.Response(), "Failure sending request") + return + } + + return +} + +// UpdateTagsPreparer prepares the UpdateTags request. +func (client ApplicationSecurityGroupsClient) UpdateTagsPreparer(ctx context.Context, resourceGroupName string, applicationSecurityGroupName string, parameters TagsObject) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "applicationSecurityGroupName": autorest.Encode("path", applicationSecurityGroupName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationSecurityGroups/{applicationSecurityGroupName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateTagsSender sends the UpdateTags request. The method will close the +// http.Response Body if it receives an error. +func (client ApplicationSecurityGroupsClient) UpdateTagsSender(req *http.Request) (future ApplicationSecurityGroupsUpdateTagsFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// UpdateTagsResponder handles the response to the UpdateTags request. The method always +// closes the http.Response Body. +func (client ApplicationSecurityGroupsClient) UpdateTagsResponder(resp *http.Response) (result ApplicationSecurityGroup, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/network/mgmt/2019-08-01/network/availabledelegations.go b/services/network/mgmt/2019-08-01/network/availabledelegations.go new file mode 100644 index 000000000000..3eef505dbe66 --- /dev/null +++ b/services/network/mgmt/2019-08-01/network/availabledelegations.go @@ -0,0 +1,154 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// AvailableDelegationsClient is the network Client +type AvailableDelegationsClient struct { + BaseClient +} + +// NewAvailableDelegationsClient creates an instance of the AvailableDelegationsClient client. +func NewAvailableDelegationsClient(subscriptionID string) AvailableDelegationsClient { + return NewAvailableDelegationsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewAvailableDelegationsClientWithBaseURI creates an instance of the AvailableDelegationsClient client. +func NewAvailableDelegationsClientWithBaseURI(baseURI string, subscriptionID string) AvailableDelegationsClient { + return AvailableDelegationsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// List gets all of the available subnet delegations for this subscription in this region. +// Parameters: +// location - the location of the subnet. +func (client AvailableDelegationsClient) List(ctx context.Context, location string) (result AvailableDelegationsResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AvailableDelegationsClient.List") + defer func() { + sc := -1 + if result.adr.Response.Response != nil { + sc = result.adr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, location) + if err != nil { + err = autorest.NewErrorWithError(err, "network.AvailableDelegationsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.adr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.AvailableDelegationsClient", "List", resp, "Failure sending request") + return + } + + result.adr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.AvailableDelegationsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client AvailableDelegationsClient) ListPreparer(ctx context.Context, location string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "location": autorest.Encode("path", location), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/availableDelegations", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client AvailableDelegationsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client AvailableDelegationsClient) ListResponder(resp *http.Response) (result AvailableDelegationsResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client AvailableDelegationsClient) listNextResults(ctx context.Context, lastResults AvailableDelegationsResult) (result AvailableDelegationsResult, err error) { + req, err := lastResults.availableDelegationsResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.AvailableDelegationsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.AvailableDelegationsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.AvailableDelegationsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client AvailableDelegationsClient) ListComplete(ctx context.Context, location string) (result AvailableDelegationsResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AvailableDelegationsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, location) + return +} diff --git a/services/network/mgmt/2019-08-01/network/availableendpointservices.go b/services/network/mgmt/2019-08-01/network/availableendpointservices.go new file mode 100644 index 000000000000..e353972094f7 --- /dev/null +++ b/services/network/mgmt/2019-08-01/network/availableendpointservices.go @@ -0,0 +1,154 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// AvailableEndpointServicesClient is the network Client +type AvailableEndpointServicesClient struct { + BaseClient +} + +// NewAvailableEndpointServicesClient creates an instance of the AvailableEndpointServicesClient client. +func NewAvailableEndpointServicesClient(subscriptionID string) AvailableEndpointServicesClient { + return NewAvailableEndpointServicesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewAvailableEndpointServicesClientWithBaseURI creates an instance of the AvailableEndpointServicesClient client. +func NewAvailableEndpointServicesClientWithBaseURI(baseURI string, subscriptionID string) AvailableEndpointServicesClient { + return AvailableEndpointServicesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// List list what values of endpoint services are available for use. +// Parameters: +// location - the location to check available endpoint services. +func (client AvailableEndpointServicesClient) List(ctx context.Context, location string) (result EndpointServicesListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AvailableEndpointServicesClient.List") + defer func() { + sc := -1 + if result.eslr.Response.Response != nil { + sc = result.eslr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, location) + if err != nil { + err = autorest.NewErrorWithError(err, "network.AvailableEndpointServicesClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.eslr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.AvailableEndpointServicesClient", "List", resp, "Failure sending request") + return + } + + result.eslr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.AvailableEndpointServicesClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client AvailableEndpointServicesClient) ListPreparer(ctx context.Context, location string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "location": autorest.Encode("path", location), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/virtualNetworkAvailableEndpointServices", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client AvailableEndpointServicesClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client AvailableEndpointServicesClient) ListResponder(resp *http.Response) (result EndpointServicesListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client AvailableEndpointServicesClient) listNextResults(ctx context.Context, lastResults EndpointServicesListResult) (result EndpointServicesListResult, err error) { + req, err := lastResults.endpointServicesListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.AvailableEndpointServicesClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.AvailableEndpointServicesClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.AvailableEndpointServicesClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client AvailableEndpointServicesClient) ListComplete(ctx context.Context, location string) (result EndpointServicesListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AvailableEndpointServicesClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, location) + return +} diff --git a/services/network/mgmt/2019-08-01/network/availableprivateendpointtypes.go b/services/network/mgmt/2019-08-01/network/availableprivateendpointtypes.go new file mode 100644 index 000000000000..cd9a8c46e33e --- /dev/null +++ b/services/network/mgmt/2019-08-01/network/availableprivateendpointtypes.go @@ -0,0 +1,271 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// AvailablePrivateEndpointTypesClient is the network Client +type AvailablePrivateEndpointTypesClient struct { + BaseClient +} + +// NewAvailablePrivateEndpointTypesClient creates an instance of the AvailablePrivateEndpointTypesClient client. +func NewAvailablePrivateEndpointTypesClient(subscriptionID string) AvailablePrivateEndpointTypesClient { + return NewAvailablePrivateEndpointTypesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewAvailablePrivateEndpointTypesClientWithBaseURI creates an instance of the AvailablePrivateEndpointTypesClient +// client. +func NewAvailablePrivateEndpointTypesClientWithBaseURI(baseURI string, subscriptionID string) AvailablePrivateEndpointTypesClient { + return AvailablePrivateEndpointTypesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// List returns all of the resource types that can be linked to a Private Endpoint in this subscription in this region. +// Parameters: +// location - the location of the domain name. +func (client AvailablePrivateEndpointTypesClient) List(ctx context.Context, location string) (result AvailablePrivateEndpointTypesResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AvailablePrivateEndpointTypesClient.List") + defer func() { + sc := -1 + if result.apetr.Response.Response != nil { + sc = result.apetr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, location) + if err != nil { + err = autorest.NewErrorWithError(err, "network.AvailablePrivateEndpointTypesClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.apetr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.AvailablePrivateEndpointTypesClient", "List", resp, "Failure sending request") + return + } + + result.apetr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.AvailablePrivateEndpointTypesClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client AvailablePrivateEndpointTypesClient) ListPreparer(ctx context.Context, location string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "location": autorest.Encode("path", location), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/availablePrivateEndpointTypes", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client AvailablePrivateEndpointTypesClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client AvailablePrivateEndpointTypesClient) ListResponder(resp *http.Response) (result AvailablePrivateEndpointTypesResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client AvailablePrivateEndpointTypesClient) listNextResults(ctx context.Context, lastResults AvailablePrivateEndpointTypesResult) (result AvailablePrivateEndpointTypesResult, err error) { + req, err := lastResults.availablePrivateEndpointTypesResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.AvailablePrivateEndpointTypesClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.AvailablePrivateEndpointTypesClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.AvailablePrivateEndpointTypesClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client AvailablePrivateEndpointTypesClient) ListComplete(ctx context.Context, location string) (result AvailablePrivateEndpointTypesResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AvailablePrivateEndpointTypesClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, location) + return +} + +// ListByResourceGroup returns all of the resource types that can be linked to a Private Endpoint in this subscription +// in this region. +// Parameters: +// location - the location of the domain name. +// resourceGroupName - the name of the resource group. +func (client AvailablePrivateEndpointTypesClient) ListByResourceGroup(ctx context.Context, location string, resourceGroupName string) (result AvailablePrivateEndpointTypesResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AvailablePrivateEndpointTypesClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.apetr.Response.Response != nil { + sc = result.apetr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listByResourceGroupNextResults + req, err := client.ListByResourceGroupPreparer(ctx, location, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.AvailablePrivateEndpointTypesClient", "ListByResourceGroup", nil, "Failure preparing request") + return + } + + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.apetr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.AvailablePrivateEndpointTypesClient", "ListByResourceGroup", resp, "Failure sending request") + return + } + + result.apetr, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.AvailablePrivateEndpointTypesClient", "ListByResourceGroup", resp, "Failure responding to request") + } + + return +} + +// ListByResourceGroupPreparer prepares the ListByResourceGroup request. +func (client AvailablePrivateEndpointTypesClient) ListByResourceGroupPreparer(ctx context.Context, location string, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "location": autorest.Encode("path", location), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/locations/{location}/availablePrivateEndpointTypes", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByResourceGroupSender sends the ListByResourceGroup request. The method will close the +// http.Response Body if it receives an error. +func (client AvailablePrivateEndpointTypesClient) ListByResourceGroupSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByResourceGroupResponder handles the response to the ListByResourceGroup request. The method always +// closes the http.Response Body. +func (client AvailablePrivateEndpointTypesClient) ListByResourceGroupResponder(resp *http.Response) (result AvailablePrivateEndpointTypesResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listByResourceGroupNextResults retrieves the next set of results, if any. +func (client AvailablePrivateEndpointTypesClient) listByResourceGroupNextResults(ctx context.Context, lastResults AvailablePrivateEndpointTypesResult) (result AvailablePrivateEndpointTypesResult, err error) { + req, err := lastResults.availablePrivateEndpointTypesResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.AvailablePrivateEndpointTypesClient", "listByResourceGroupNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.AvailablePrivateEndpointTypesClient", "listByResourceGroupNextResults", resp, "Failure sending next results request") + } + result, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.AvailablePrivateEndpointTypesClient", "listByResourceGroupNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListByResourceGroupComplete enumerates all values, automatically crossing page boundaries as required. +func (client AvailablePrivateEndpointTypesClient) ListByResourceGroupComplete(ctx context.Context, location string, resourceGroupName string) (result AvailablePrivateEndpointTypesResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AvailablePrivateEndpointTypesClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListByResourceGroup(ctx, location, resourceGroupName) + return +} diff --git a/services/network/mgmt/2019-08-01/network/availableresourcegroupdelegations.go b/services/network/mgmt/2019-08-01/network/availableresourcegroupdelegations.go new file mode 100644 index 000000000000..c05c3ed21905 --- /dev/null +++ b/services/network/mgmt/2019-08-01/network/availableresourcegroupdelegations.go @@ -0,0 +1,158 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// AvailableResourceGroupDelegationsClient is the network Client +type AvailableResourceGroupDelegationsClient struct { + BaseClient +} + +// NewAvailableResourceGroupDelegationsClient creates an instance of the AvailableResourceGroupDelegationsClient +// client. +func NewAvailableResourceGroupDelegationsClient(subscriptionID string) AvailableResourceGroupDelegationsClient { + return NewAvailableResourceGroupDelegationsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewAvailableResourceGroupDelegationsClientWithBaseURI creates an instance of the +// AvailableResourceGroupDelegationsClient client. +func NewAvailableResourceGroupDelegationsClientWithBaseURI(baseURI string, subscriptionID string) AvailableResourceGroupDelegationsClient { + return AvailableResourceGroupDelegationsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// List gets all of the available subnet delegations for this resource group in this region. +// Parameters: +// location - the location of the domain name. +// resourceGroupName - the name of the resource group. +func (client AvailableResourceGroupDelegationsClient) List(ctx context.Context, location string, resourceGroupName string) (result AvailableDelegationsResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AvailableResourceGroupDelegationsClient.List") + defer func() { + sc := -1 + if result.adr.Response.Response != nil { + sc = result.adr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, location, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.AvailableResourceGroupDelegationsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.adr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.AvailableResourceGroupDelegationsClient", "List", resp, "Failure sending request") + return + } + + result.adr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.AvailableResourceGroupDelegationsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client AvailableResourceGroupDelegationsClient) ListPreparer(ctx context.Context, location string, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "location": autorest.Encode("path", location), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/locations/{location}/availableDelegations", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client AvailableResourceGroupDelegationsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client AvailableResourceGroupDelegationsClient) ListResponder(resp *http.Response) (result AvailableDelegationsResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client AvailableResourceGroupDelegationsClient) listNextResults(ctx context.Context, lastResults AvailableDelegationsResult) (result AvailableDelegationsResult, err error) { + req, err := lastResults.availableDelegationsResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.AvailableResourceGroupDelegationsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.AvailableResourceGroupDelegationsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.AvailableResourceGroupDelegationsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client AvailableResourceGroupDelegationsClient) ListComplete(ctx context.Context, location string, resourceGroupName string) (result AvailableDelegationsResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AvailableResourceGroupDelegationsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, location, resourceGroupName) + return +} diff --git a/services/network/mgmt/2019-08-01/network/availableservicealiases.go b/services/network/mgmt/2019-08-01/network/availableservicealiases.go new file mode 100644 index 000000000000..6849d35f392e --- /dev/null +++ b/services/network/mgmt/2019-08-01/network/availableservicealiases.go @@ -0,0 +1,269 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// AvailableServiceAliasesClient is the network Client +type AvailableServiceAliasesClient struct { + BaseClient +} + +// NewAvailableServiceAliasesClient creates an instance of the AvailableServiceAliasesClient client. +func NewAvailableServiceAliasesClient(subscriptionID string) AvailableServiceAliasesClient { + return NewAvailableServiceAliasesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewAvailableServiceAliasesClientWithBaseURI creates an instance of the AvailableServiceAliasesClient client. +func NewAvailableServiceAliasesClientWithBaseURI(baseURI string, subscriptionID string) AvailableServiceAliasesClient { + return AvailableServiceAliasesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// List gets all available service aliases for this subscription in this region. +// Parameters: +// location - the location. +func (client AvailableServiceAliasesClient) List(ctx context.Context, location string) (result AvailableServiceAliasesResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AvailableServiceAliasesClient.List") + defer func() { + sc := -1 + if result.asar.Response.Response != nil { + sc = result.asar.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, location) + if err != nil { + err = autorest.NewErrorWithError(err, "network.AvailableServiceAliasesClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.asar.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.AvailableServiceAliasesClient", "List", resp, "Failure sending request") + return + } + + result.asar, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.AvailableServiceAliasesClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client AvailableServiceAliasesClient) ListPreparer(ctx context.Context, location string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "location": autorest.Encode("path", location), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/availableServiceAliases", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client AvailableServiceAliasesClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client AvailableServiceAliasesClient) ListResponder(resp *http.Response) (result AvailableServiceAliasesResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client AvailableServiceAliasesClient) listNextResults(ctx context.Context, lastResults AvailableServiceAliasesResult) (result AvailableServiceAliasesResult, err error) { + req, err := lastResults.availableServiceAliasesResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.AvailableServiceAliasesClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.AvailableServiceAliasesClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.AvailableServiceAliasesClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client AvailableServiceAliasesClient) ListComplete(ctx context.Context, location string) (result AvailableServiceAliasesResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AvailableServiceAliasesClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, location) + return +} + +// ListByResourceGroup gets all available service aliases for this resource group in this region. +// Parameters: +// resourceGroupName - the name of the resource group. +// location - the location. +func (client AvailableServiceAliasesClient) ListByResourceGroup(ctx context.Context, resourceGroupName string, location string) (result AvailableServiceAliasesResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AvailableServiceAliasesClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.asar.Response.Response != nil { + sc = result.asar.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listByResourceGroupNextResults + req, err := client.ListByResourceGroupPreparer(ctx, resourceGroupName, location) + if err != nil { + err = autorest.NewErrorWithError(err, "network.AvailableServiceAliasesClient", "ListByResourceGroup", nil, "Failure preparing request") + return + } + + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.asar.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.AvailableServiceAliasesClient", "ListByResourceGroup", resp, "Failure sending request") + return + } + + result.asar, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.AvailableServiceAliasesClient", "ListByResourceGroup", resp, "Failure responding to request") + } + + return +} + +// ListByResourceGroupPreparer prepares the ListByResourceGroup request. +func (client AvailableServiceAliasesClient) ListByResourceGroupPreparer(ctx context.Context, resourceGroupName string, location string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "location": autorest.Encode("path", location), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/locations/{location}/availableServiceAliases", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByResourceGroupSender sends the ListByResourceGroup request. The method will close the +// http.Response Body if it receives an error. +func (client AvailableServiceAliasesClient) ListByResourceGroupSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByResourceGroupResponder handles the response to the ListByResourceGroup request. The method always +// closes the http.Response Body. +func (client AvailableServiceAliasesClient) ListByResourceGroupResponder(resp *http.Response) (result AvailableServiceAliasesResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listByResourceGroupNextResults retrieves the next set of results, if any. +func (client AvailableServiceAliasesClient) listByResourceGroupNextResults(ctx context.Context, lastResults AvailableServiceAliasesResult) (result AvailableServiceAliasesResult, err error) { + req, err := lastResults.availableServiceAliasesResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.AvailableServiceAliasesClient", "listByResourceGroupNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.AvailableServiceAliasesClient", "listByResourceGroupNextResults", resp, "Failure sending next results request") + } + result, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.AvailableServiceAliasesClient", "listByResourceGroupNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListByResourceGroupComplete enumerates all values, automatically crossing page boundaries as required. +func (client AvailableServiceAliasesClient) ListByResourceGroupComplete(ctx context.Context, resourceGroupName string, location string) (result AvailableServiceAliasesResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AvailableServiceAliasesClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListByResourceGroup(ctx, resourceGroupName, location) + return +} diff --git a/services/network/mgmt/2019-08-01/network/azurefirewallfqdntags.go b/services/network/mgmt/2019-08-01/network/azurefirewallfqdntags.go new file mode 100644 index 000000000000..0e63939b68d3 --- /dev/null +++ b/services/network/mgmt/2019-08-01/network/azurefirewallfqdntags.go @@ -0,0 +1,151 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// AzureFirewallFqdnTagsClient is the network Client +type AzureFirewallFqdnTagsClient struct { + BaseClient +} + +// NewAzureFirewallFqdnTagsClient creates an instance of the AzureFirewallFqdnTagsClient client. +func NewAzureFirewallFqdnTagsClient(subscriptionID string) AzureFirewallFqdnTagsClient { + return NewAzureFirewallFqdnTagsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewAzureFirewallFqdnTagsClientWithBaseURI creates an instance of the AzureFirewallFqdnTagsClient client. +func NewAzureFirewallFqdnTagsClientWithBaseURI(baseURI string, subscriptionID string) AzureFirewallFqdnTagsClient { + return AzureFirewallFqdnTagsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// ListAll gets all the Azure Firewall FQDN Tags in a subscription. +func (client AzureFirewallFqdnTagsClient) ListAll(ctx context.Context) (result AzureFirewallFqdnTagListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AzureFirewallFqdnTagsClient.ListAll") + defer func() { + sc := -1 + if result.afftlr.Response.Response != nil { + sc = result.afftlr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listAllNextResults + req, err := client.ListAllPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "network.AzureFirewallFqdnTagsClient", "ListAll", nil, "Failure preparing request") + return + } + + resp, err := client.ListAllSender(req) + if err != nil { + result.afftlr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.AzureFirewallFqdnTagsClient", "ListAll", resp, "Failure sending request") + return + } + + result.afftlr, err = client.ListAllResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.AzureFirewallFqdnTagsClient", "ListAll", resp, "Failure responding to request") + } + + return +} + +// ListAllPreparer prepares the ListAll request. +func (client AzureFirewallFqdnTagsClient) ListAllPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/azureFirewallFqdnTags", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListAllSender sends the ListAll request. The method will close the +// http.Response Body if it receives an error. +func (client AzureFirewallFqdnTagsClient) ListAllSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListAllResponder handles the response to the ListAll request. The method always +// closes the http.Response Body. +func (client AzureFirewallFqdnTagsClient) ListAllResponder(resp *http.Response) (result AzureFirewallFqdnTagListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listAllNextResults retrieves the next set of results, if any. +func (client AzureFirewallFqdnTagsClient) listAllNextResults(ctx context.Context, lastResults AzureFirewallFqdnTagListResult) (result AzureFirewallFqdnTagListResult, err error) { + req, err := lastResults.azureFirewallFqdnTagListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.AzureFirewallFqdnTagsClient", "listAllNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListAllSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.AzureFirewallFqdnTagsClient", "listAllNextResults", resp, "Failure sending next results request") + } + result, err = client.ListAllResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.AzureFirewallFqdnTagsClient", "listAllNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListAllComplete enumerates all values, automatically crossing page boundaries as required. +func (client AzureFirewallFqdnTagsClient) ListAllComplete(ctx context.Context) (result AzureFirewallFqdnTagListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AzureFirewallFqdnTagsClient.ListAll") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListAll(ctx) + return +} diff --git a/services/network/mgmt/2019-08-01/network/azurefirewalls.go b/services/network/mgmt/2019-08-01/network/azurefirewalls.go new file mode 100644 index 000000000000..ceea1d5ea7b1 --- /dev/null +++ b/services/network/mgmt/2019-08-01/network/azurefirewalls.go @@ -0,0 +1,579 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// AzureFirewallsClient is the network Client +type AzureFirewallsClient struct { + BaseClient +} + +// NewAzureFirewallsClient creates an instance of the AzureFirewallsClient client. +func NewAzureFirewallsClient(subscriptionID string) AzureFirewallsClient { + return NewAzureFirewallsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewAzureFirewallsClientWithBaseURI creates an instance of the AzureFirewallsClient client. +func NewAzureFirewallsClientWithBaseURI(baseURI string, subscriptionID string) AzureFirewallsClient { + return AzureFirewallsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates the specified Azure Firewall. +// Parameters: +// resourceGroupName - the name of the resource group. +// azureFirewallName - the name of the Azure Firewall. +// parameters - parameters supplied to the create or update Azure Firewall operation. +func (client AzureFirewallsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, azureFirewallName string, parameters AzureFirewall) (result AzureFirewallsCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AzureFirewallsClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, azureFirewallName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.AzureFirewallsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.AzureFirewallsClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client AzureFirewallsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, azureFirewallName string, parameters AzureFirewall) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "azureFirewallName": autorest.Encode("path", azureFirewallName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + parameters.Etag = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/azureFirewalls/{azureFirewallName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client AzureFirewallsClient) CreateOrUpdateSender(req *http.Request) (future AzureFirewallsCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client AzureFirewallsClient) CreateOrUpdateResponder(resp *http.Response) (result AzureFirewall, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the specified Azure Firewall. +// Parameters: +// resourceGroupName - the name of the resource group. +// azureFirewallName - the name of the Azure Firewall. +func (client AzureFirewallsClient) Delete(ctx context.Context, resourceGroupName string, azureFirewallName string) (result AzureFirewallsDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AzureFirewallsClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, azureFirewallName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.AzureFirewallsClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.AzureFirewallsClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client AzureFirewallsClient) DeletePreparer(ctx context.Context, resourceGroupName string, azureFirewallName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "azureFirewallName": autorest.Encode("path", azureFirewallName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/azureFirewalls/{azureFirewallName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client AzureFirewallsClient) DeleteSender(req *http.Request) (future AzureFirewallsDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client AzureFirewallsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets the specified Azure Firewall. +// Parameters: +// resourceGroupName - the name of the resource group. +// azureFirewallName - the name of the Azure Firewall. +func (client AzureFirewallsClient) Get(ctx context.Context, resourceGroupName string, azureFirewallName string) (result AzureFirewall, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AzureFirewallsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, azureFirewallName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.AzureFirewallsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.AzureFirewallsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.AzureFirewallsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client AzureFirewallsClient) GetPreparer(ctx context.Context, resourceGroupName string, azureFirewallName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "azureFirewallName": autorest.Encode("path", azureFirewallName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/azureFirewalls/{azureFirewallName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client AzureFirewallsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client AzureFirewallsClient) GetResponder(resp *http.Response) (result AzureFirewall, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List lists all Azure Firewalls in a resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +func (client AzureFirewallsClient) List(ctx context.Context, resourceGroupName string) (result AzureFirewallListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AzureFirewallsClient.List") + defer func() { + sc := -1 + if result.aflr.Response.Response != nil { + sc = result.aflr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.AzureFirewallsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.aflr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.AzureFirewallsClient", "List", resp, "Failure sending request") + return + } + + result.aflr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.AzureFirewallsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client AzureFirewallsClient) ListPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/azureFirewalls", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client AzureFirewallsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client AzureFirewallsClient) ListResponder(resp *http.Response) (result AzureFirewallListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client AzureFirewallsClient) listNextResults(ctx context.Context, lastResults AzureFirewallListResult) (result AzureFirewallListResult, err error) { + req, err := lastResults.azureFirewallListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.AzureFirewallsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.AzureFirewallsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.AzureFirewallsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client AzureFirewallsClient) ListComplete(ctx context.Context, resourceGroupName string) (result AzureFirewallListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AzureFirewallsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName) + return +} + +// ListAll gets all the Azure Firewalls in a subscription. +func (client AzureFirewallsClient) ListAll(ctx context.Context) (result AzureFirewallListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AzureFirewallsClient.ListAll") + defer func() { + sc := -1 + if result.aflr.Response.Response != nil { + sc = result.aflr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listAllNextResults + req, err := client.ListAllPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "network.AzureFirewallsClient", "ListAll", nil, "Failure preparing request") + return + } + + resp, err := client.ListAllSender(req) + if err != nil { + result.aflr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.AzureFirewallsClient", "ListAll", resp, "Failure sending request") + return + } + + result.aflr, err = client.ListAllResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.AzureFirewallsClient", "ListAll", resp, "Failure responding to request") + } + + return +} + +// ListAllPreparer prepares the ListAll request. +func (client AzureFirewallsClient) ListAllPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/azureFirewalls", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListAllSender sends the ListAll request. The method will close the +// http.Response Body if it receives an error. +func (client AzureFirewallsClient) ListAllSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListAllResponder handles the response to the ListAll request. The method always +// closes the http.Response Body. +func (client AzureFirewallsClient) ListAllResponder(resp *http.Response) (result AzureFirewallListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listAllNextResults retrieves the next set of results, if any. +func (client AzureFirewallsClient) listAllNextResults(ctx context.Context, lastResults AzureFirewallListResult) (result AzureFirewallListResult, err error) { + req, err := lastResults.azureFirewallListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.AzureFirewallsClient", "listAllNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListAllSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.AzureFirewallsClient", "listAllNextResults", resp, "Failure sending next results request") + } + result, err = client.ListAllResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.AzureFirewallsClient", "listAllNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListAllComplete enumerates all values, automatically crossing page boundaries as required. +func (client AzureFirewallsClient) ListAllComplete(ctx context.Context) (result AzureFirewallListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AzureFirewallsClient.ListAll") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListAll(ctx) + return +} + +// UpdateTags updates tags for an Azure Firewall resource. +// Parameters: +// resourceGroupName - the name of the resource group. +// azureFirewallName - the name of the Azure Firewall. +// parameters - parameters supplied to the create or update Azure Firewall operation. +func (client AzureFirewallsClient) UpdateTags(ctx context.Context, resourceGroupName string, azureFirewallName string, parameters AzureFirewall) (result AzureFirewall, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AzureFirewallsClient.UpdateTags") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdateTagsPreparer(ctx, resourceGroupName, azureFirewallName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.AzureFirewallsClient", "UpdateTags", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateTagsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.AzureFirewallsClient", "UpdateTags", resp, "Failure sending request") + return + } + + result, err = client.UpdateTagsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.AzureFirewallsClient", "UpdateTags", resp, "Failure responding to request") + } + + return +} + +// UpdateTagsPreparer prepares the UpdateTags request. +func (client AzureFirewallsClient) UpdateTagsPreparer(ctx context.Context, resourceGroupName string, azureFirewallName string, parameters AzureFirewall) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "azureFirewallName": autorest.Encode("path", azureFirewallName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + parameters.Etag = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/azureFirewalls/{azureFirewallName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateTagsSender sends the UpdateTags request. The method will close the +// http.Response Body if it receives an error. +func (client AzureFirewallsClient) UpdateTagsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// UpdateTagsResponder handles the response to the UpdateTags request. The method always +// closes the http.Response Body. +func (client AzureFirewallsClient) UpdateTagsResponder(resp *http.Response) (result AzureFirewall, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/network/mgmt/2019-08-01/network/bastionhosts.go b/services/network/mgmt/2019-08-01/network/bastionhosts.go new file mode 100644 index 000000000000..d7ab242eb25b --- /dev/null +++ b/services/network/mgmt/2019-08-01/network/bastionhosts.go @@ -0,0 +1,498 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// BastionHostsClient is the network Client +type BastionHostsClient struct { + BaseClient +} + +// NewBastionHostsClient creates an instance of the BastionHostsClient client. +func NewBastionHostsClient(subscriptionID string) BastionHostsClient { + return NewBastionHostsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewBastionHostsClientWithBaseURI creates an instance of the BastionHostsClient client. +func NewBastionHostsClientWithBaseURI(baseURI string, subscriptionID string) BastionHostsClient { + return BastionHostsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates the specified Bastion Host. +// Parameters: +// resourceGroupName - the name of the resource group. +// bastionHostName - the name of the Bastion Host. +// parameters - parameters supplied to the create or update Bastion Host operation. +func (client BastionHostsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, bastionHostName string, parameters BastionHost) (result BastionHostsCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BastionHostsClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, bastionHostName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.BastionHostsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.BastionHostsClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client BastionHostsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, bastionHostName string, parameters BastionHost) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "bastionHostName": autorest.Encode("path", bastionHostName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + parameters.Etag = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/bastionHosts/{bastionHostName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client BastionHostsClient) CreateOrUpdateSender(req *http.Request) (future BastionHostsCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client BastionHostsClient) CreateOrUpdateResponder(resp *http.Response) (result BastionHost, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the specified Bastion Host. +// Parameters: +// resourceGroupName - the name of the resource group. +// bastionHostName - the name of the Bastion Host. +func (client BastionHostsClient) Delete(ctx context.Context, resourceGroupName string, bastionHostName string) (result BastionHostsDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BastionHostsClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, bastionHostName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.BastionHostsClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.BastionHostsClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client BastionHostsClient) DeletePreparer(ctx context.Context, resourceGroupName string, bastionHostName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "bastionHostName": autorest.Encode("path", bastionHostName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/bastionHosts/{bastionHostName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client BastionHostsClient) DeleteSender(req *http.Request) (future BastionHostsDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client BastionHostsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets the specified Bastion Host. +// Parameters: +// resourceGroupName - the name of the resource group. +// bastionHostName - the name of the Bastion Host. +func (client BastionHostsClient) Get(ctx context.Context, resourceGroupName string, bastionHostName string) (result BastionHost, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BastionHostsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, bastionHostName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.BastionHostsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.BastionHostsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.BastionHostsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client BastionHostsClient) GetPreparer(ctx context.Context, resourceGroupName string, bastionHostName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "bastionHostName": autorest.Encode("path", bastionHostName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/bastionHosts/{bastionHostName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client BastionHostsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client BastionHostsClient) GetResponder(resp *http.Response) (result BastionHost, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List lists all Bastion Hosts in a subscription. +func (client BastionHostsClient) List(ctx context.Context) (result BastionHostListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BastionHostsClient.List") + defer func() { + sc := -1 + if result.bhlr.Response.Response != nil { + sc = result.bhlr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "network.BastionHostsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.bhlr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.BastionHostsClient", "List", resp, "Failure sending request") + return + } + + result.bhlr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.BastionHostsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client BastionHostsClient) ListPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/bastionHosts", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client BastionHostsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client BastionHostsClient) ListResponder(resp *http.Response) (result BastionHostListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client BastionHostsClient) listNextResults(ctx context.Context, lastResults BastionHostListResult) (result BastionHostListResult, err error) { + req, err := lastResults.bastionHostListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.BastionHostsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.BastionHostsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.BastionHostsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client BastionHostsClient) ListComplete(ctx context.Context) (result BastionHostListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BastionHostsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx) + return +} + +// ListByResourceGroup lists all Bastion Hosts in a resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +func (client BastionHostsClient) ListByResourceGroup(ctx context.Context, resourceGroupName string) (result BastionHostListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BastionHostsClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.bhlr.Response.Response != nil { + sc = result.bhlr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listByResourceGroupNextResults + req, err := client.ListByResourceGroupPreparer(ctx, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.BastionHostsClient", "ListByResourceGroup", nil, "Failure preparing request") + return + } + + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.bhlr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.BastionHostsClient", "ListByResourceGroup", resp, "Failure sending request") + return + } + + result.bhlr, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.BastionHostsClient", "ListByResourceGroup", resp, "Failure responding to request") + } + + return +} + +// ListByResourceGroupPreparer prepares the ListByResourceGroup request. +func (client BastionHostsClient) ListByResourceGroupPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/bastionHosts", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByResourceGroupSender sends the ListByResourceGroup request. The method will close the +// http.Response Body if it receives an error. +func (client BastionHostsClient) ListByResourceGroupSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByResourceGroupResponder handles the response to the ListByResourceGroup request. The method always +// closes the http.Response Body. +func (client BastionHostsClient) ListByResourceGroupResponder(resp *http.Response) (result BastionHostListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listByResourceGroupNextResults retrieves the next set of results, if any. +func (client BastionHostsClient) listByResourceGroupNextResults(ctx context.Context, lastResults BastionHostListResult) (result BastionHostListResult, err error) { + req, err := lastResults.bastionHostListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.BastionHostsClient", "listByResourceGroupNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.BastionHostsClient", "listByResourceGroupNextResults", resp, "Failure sending next results request") + } + result, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.BastionHostsClient", "listByResourceGroupNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListByResourceGroupComplete enumerates all values, automatically crossing page boundaries as required. +func (client BastionHostsClient) ListByResourceGroupComplete(ctx context.Context, resourceGroupName string) (result BastionHostListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BastionHostsClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListByResourceGroup(ctx, resourceGroupName) + return +} diff --git a/services/network/mgmt/2019-08-01/network/bgpservicecommunities.go b/services/network/mgmt/2019-08-01/network/bgpservicecommunities.go new file mode 100644 index 000000000000..bfec3e40eeb8 --- /dev/null +++ b/services/network/mgmt/2019-08-01/network/bgpservicecommunities.go @@ -0,0 +1,151 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// BgpServiceCommunitiesClient is the network Client +type BgpServiceCommunitiesClient struct { + BaseClient +} + +// NewBgpServiceCommunitiesClient creates an instance of the BgpServiceCommunitiesClient client. +func NewBgpServiceCommunitiesClient(subscriptionID string) BgpServiceCommunitiesClient { + return NewBgpServiceCommunitiesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewBgpServiceCommunitiesClientWithBaseURI creates an instance of the BgpServiceCommunitiesClient client. +func NewBgpServiceCommunitiesClientWithBaseURI(baseURI string, subscriptionID string) BgpServiceCommunitiesClient { + return BgpServiceCommunitiesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// List gets all the available bgp service communities. +func (client BgpServiceCommunitiesClient) List(ctx context.Context) (result BgpServiceCommunityListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BgpServiceCommunitiesClient.List") + defer func() { + sc := -1 + if result.bsclr.Response.Response != nil { + sc = result.bsclr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "network.BgpServiceCommunitiesClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.bsclr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.BgpServiceCommunitiesClient", "List", resp, "Failure sending request") + return + } + + result.bsclr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.BgpServiceCommunitiesClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client BgpServiceCommunitiesClient) ListPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/bgpServiceCommunities", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client BgpServiceCommunitiesClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client BgpServiceCommunitiesClient) ListResponder(resp *http.Response) (result BgpServiceCommunityListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client BgpServiceCommunitiesClient) listNextResults(ctx context.Context, lastResults BgpServiceCommunityListResult) (result BgpServiceCommunityListResult, err error) { + req, err := lastResults.bgpServiceCommunityListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.BgpServiceCommunitiesClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.BgpServiceCommunitiesClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.BgpServiceCommunitiesClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client BgpServiceCommunitiesClient) ListComplete(ctx context.Context) (result BgpServiceCommunityListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BgpServiceCommunitiesClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx) + return +} diff --git a/services/network/mgmt/2019-08-01/network/client.go b/services/network/mgmt/2019-08-01/network/client.go new file mode 100644 index 000000000000..9315b631ad3e --- /dev/null +++ b/services/network/mgmt/2019-08-01/network/client.go @@ -0,0 +1,291 @@ +// Package network implements the Azure ARM Network service API version . +// +// Network Client +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +const ( + // DefaultBaseURI is the default URI used for the service Network + DefaultBaseURI = "https://management.azure.com" +) + +// BaseClient is the base client for Network. +type BaseClient struct { + autorest.Client + BaseURI string + SubscriptionID string +} + +// New creates an instance of the BaseClient client. +func New(subscriptionID string) BaseClient { + return NewWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewWithBaseURI creates an instance of the BaseClient client. +func NewWithBaseURI(baseURI string, subscriptionID string) BaseClient { + return BaseClient{ + Client: autorest.NewClientWithUserAgent(UserAgent()), + BaseURI: baseURI, + SubscriptionID: subscriptionID, + } +} + +// CheckDNSNameAvailability checks whether a domain name in the cloudapp.azure.com zone is available for use. +// Parameters: +// location - the location of the domain name. +// domainNameLabel - the domain name to be verified. It must conform to the following regular expression: +// ^[a-z][a-z0-9-]{1,61}[a-z0-9]$. +func (client BaseClient) CheckDNSNameAvailability(ctx context.Context, location string, domainNameLabel string) (result DNSNameAvailabilityResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.CheckDNSNameAvailability") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CheckDNSNameAvailabilityPreparer(ctx, location, domainNameLabel) + if err != nil { + err = autorest.NewErrorWithError(err, "network.BaseClient", "CheckDNSNameAvailability", nil, "Failure preparing request") + return + } + + resp, err := client.CheckDNSNameAvailabilitySender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.BaseClient", "CheckDNSNameAvailability", resp, "Failure sending request") + return + } + + result, err = client.CheckDNSNameAvailabilityResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.BaseClient", "CheckDNSNameAvailability", resp, "Failure responding to request") + } + + return +} + +// CheckDNSNameAvailabilityPreparer prepares the CheckDNSNameAvailability request. +func (client BaseClient) CheckDNSNameAvailabilityPreparer(ctx context.Context, location string, domainNameLabel string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "location": autorest.Encode("path", location), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + "domainNameLabel": autorest.Encode("query", domainNameLabel), + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/CheckDnsNameAvailability", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CheckDNSNameAvailabilitySender sends the CheckDNSNameAvailability request. The method will close the +// http.Response Body if it receives an error. +func (client BaseClient) CheckDNSNameAvailabilitySender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CheckDNSNameAvailabilityResponder handles the response to the CheckDNSNameAvailability request. The method always +// closes the http.Response Body. +func (client BaseClient) CheckDNSNameAvailabilityResponder(resp *http.Response) (result DNSNameAvailabilityResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Generatevirtualwanvpnserverconfigurationvpnprofile generates a unique VPN profile for P2S clients for VirtualWan and +// associated VpnServerConfiguration combination in the specified resource group. +// Parameters: +// resourceGroupName - the resource group name. +// virtualWANName - the name of the VirtualWAN whose associated VpnServerConfigurations is needed. +// vpnClientParams - parameters supplied to the generate VirtualWan VPN profile generation operation. +func (client BaseClient) Generatevirtualwanvpnserverconfigurationvpnprofile(ctx context.Context, resourceGroupName string, virtualWANName string, vpnClientParams VirtualWanVpnProfileParameters) (result GeneratevirtualwanvpnserverconfigurationvpnprofileFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.Generatevirtualwanvpnserverconfigurationvpnprofile") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GeneratevirtualwanvpnserverconfigurationvpnprofilePreparer(ctx, resourceGroupName, virtualWANName, vpnClientParams) + if err != nil { + err = autorest.NewErrorWithError(err, "network.BaseClient", "Generatevirtualwanvpnserverconfigurationvpnprofile", nil, "Failure preparing request") + return + } + + result, err = client.GeneratevirtualwanvpnserverconfigurationvpnprofileSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.BaseClient", "Generatevirtualwanvpnserverconfigurationvpnprofile", result.Response(), "Failure sending request") + return + } + + return +} + +// GeneratevirtualwanvpnserverconfigurationvpnprofilePreparer prepares the Generatevirtualwanvpnserverconfigurationvpnprofile request. +func (client BaseClient) GeneratevirtualwanvpnserverconfigurationvpnprofilePreparer(ctx context.Context, resourceGroupName string, virtualWANName string, vpnClientParams VirtualWanVpnProfileParameters) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualWANName": autorest.Encode("path", virtualWANName), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{virtualWANName}/GenerateVpnProfile", pathParameters), + autorest.WithJSON(vpnClientParams), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GeneratevirtualwanvpnserverconfigurationvpnprofileSender sends the Generatevirtualwanvpnserverconfigurationvpnprofile request. The method will close the +// http.Response Body if it receives an error. +func (client BaseClient) GeneratevirtualwanvpnserverconfigurationvpnprofileSender(req *http.Request) (future GeneratevirtualwanvpnserverconfigurationvpnprofileFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// GeneratevirtualwanvpnserverconfigurationvpnprofileResponder handles the response to the Generatevirtualwanvpnserverconfigurationvpnprofile request. The method always +// closes the http.Response Body. +func (client BaseClient) GeneratevirtualwanvpnserverconfigurationvpnprofileResponder(resp *http.Response) (result VpnProfileResponse, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// SupportedSecurityProviders gives the supported security providers for the virtual wan. +// Parameters: +// resourceGroupName - the resource group name. +// virtualWANName - the name of the VirtualWAN for which supported security providers are needed. +func (client BaseClient) SupportedSecurityProviders(ctx context.Context, resourceGroupName string, virtualWANName string) (result VirtualWanSecurityProviders, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.SupportedSecurityProviders") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.SupportedSecurityProvidersPreparer(ctx, resourceGroupName, virtualWANName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.BaseClient", "SupportedSecurityProviders", nil, "Failure preparing request") + return + } + + resp, err := client.SupportedSecurityProvidersSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.BaseClient", "SupportedSecurityProviders", resp, "Failure sending request") + return + } + + result, err = client.SupportedSecurityProvidersResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.BaseClient", "SupportedSecurityProviders", resp, "Failure responding to request") + } + + return +} + +// SupportedSecurityProvidersPreparer prepares the SupportedSecurityProviders request. +func (client BaseClient) SupportedSecurityProvidersPreparer(ctx context.Context, resourceGroupName string, virtualWANName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualWANName": autorest.Encode("path", virtualWANName), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{virtualWANName}/supportedSecurityProviders", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// SupportedSecurityProvidersSender sends the SupportedSecurityProviders request. The method will close the +// http.Response Body if it receives an error. +func (client BaseClient) SupportedSecurityProvidersSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// SupportedSecurityProvidersResponder handles the response to the SupportedSecurityProviders request. The method always +// closes the http.Response Body. +func (client BaseClient) SupportedSecurityProvidersResponder(resp *http.Response) (result VirtualWanSecurityProviders, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/network/mgmt/2019-08-01/network/connectionmonitors.go b/services/network/mgmt/2019-08-01/network/connectionmonitors.go new file mode 100644 index 000000000000..ca171615eb08 --- /dev/null +++ b/services/network/mgmt/2019-08-01/network/connectionmonitors.go @@ -0,0 +1,685 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// ConnectionMonitorsClient is the network Client +type ConnectionMonitorsClient struct { + BaseClient +} + +// NewConnectionMonitorsClient creates an instance of the ConnectionMonitorsClient client. +func NewConnectionMonitorsClient(subscriptionID string) ConnectionMonitorsClient { + return NewConnectionMonitorsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewConnectionMonitorsClientWithBaseURI creates an instance of the ConnectionMonitorsClient client. +func NewConnectionMonitorsClientWithBaseURI(baseURI string, subscriptionID string) ConnectionMonitorsClient { + return ConnectionMonitorsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate create or update a connection monitor. +// Parameters: +// resourceGroupName - the name of the resource group containing Network Watcher. +// networkWatcherName - the name of the Network Watcher resource. +// connectionMonitorName - the name of the connection monitor. +// parameters - parameters that define the operation to create a connection monitor. +func (client ConnectionMonitorsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, networkWatcherName string, connectionMonitorName string, parameters ConnectionMonitor) (result ConnectionMonitorsCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ConnectionMonitorsClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.ConnectionMonitorParameters", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "parameters.ConnectionMonitorParameters.Source", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "parameters.ConnectionMonitorParameters.Source.ResourceID", Name: validation.Null, Rule: true, Chain: nil}}}, + {Target: "parameters.ConnectionMonitorParameters.Destination", Name: validation.Null, Rule: true, Chain: nil}, + }}}}}); err != nil { + return result, validation.NewError("network.ConnectionMonitorsClient", "CreateOrUpdate", err.Error()) + } + + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, networkWatcherName, connectionMonitorName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ConnectionMonitorsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ConnectionMonitorsClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client ConnectionMonitorsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, networkWatcherName string, connectionMonitorName string, parameters ConnectionMonitor) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "connectionMonitorName": autorest.Encode("path", connectionMonitorName), + "networkWatcherName": autorest.Encode("path", networkWatcherName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-06-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client ConnectionMonitorsClient) CreateOrUpdateSender(req *http.Request) (future ConnectionMonitorsCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client ConnectionMonitorsClient) CreateOrUpdateResponder(resp *http.Response) (result ConnectionMonitorResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the specified connection monitor. +// Parameters: +// resourceGroupName - the name of the resource group containing Network Watcher. +// networkWatcherName - the name of the Network Watcher resource. +// connectionMonitorName - the name of the connection monitor. +func (client ConnectionMonitorsClient) Delete(ctx context.Context, resourceGroupName string, networkWatcherName string, connectionMonitorName string) (result ConnectionMonitorsDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ConnectionMonitorsClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, networkWatcherName, connectionMonitorName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ConnectionMonitorsClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ConnectionMonitorsClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client ConnectionMonitorsClient) DeletePreparer(ctx context.Context, resourceGroupName string, networkWatcherName string, connectionMonitorName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "connectionMonitorName": autorest.Encode("path", connectionMonitorName), + "networkWatcherName": autorest.Encode("path", networkWatcherName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-06-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client ConnectionMonitorsClient) DeleteSender(req *http.Request) (future ConnectionMonitorsDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client ConnectionMonitorsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets a connection monitor by name. +// Parameters: +// resourceGroupName - the name of the resource group containing Network Watcher. +// networkWatcherName - the name of the Network Watcher resource. +// connectionMonitorName - the name of the connection monitor. +func (client ConnectionMonitorsClient) Get(ctx context.Context, resourceGroupName string, networkWatcherName string, connectionMonitorName string) (result ConnectionMonitorResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ConnectionMonitorsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, networkWatcherName, connectionMonitorName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ConnectionMonitorsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ConnectionMonitorsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ConnectionMonitorsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client ConnectionMonitorsClient) GetPreparer(ctx context.Context, resourceGroupName string, networkWatcherName string, connectionMonitorName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "connectionMonitorName": autorest.Encode("path", connectionMonitorName), + "networkWatcherName": autorest.Encode("path", networkWatcherName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-06-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client ConnectionMonitorsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client ConnectionMonitorsClient) GetResponder(resp *http.Response) (result ConnectionMonitorResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List lists all connection monitors for the specified Network Watcher. +// Parameters: +// resourceGroupName - the name of the resource group containing Network Watcher. +// networkWatcherName - the name of the Network Watcher resource. +func (client ConnectionMonitorsClient) List(ctx context.Context, resourceGroupName string, networkWatcherName string) (result ConnectionMonitorListResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ConnectionMonitorsClient.List") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListPreparer(ctx, resourceGroupName, networkWatcherName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ConnectionMonitorsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ConnectionMonitorsClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ConnectionMonitorsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client ConnectionMonitorsClient) ListPreparer(ctx context.Context, resourceGroupName string, networkWatcherName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkWatcherName": autorest.Encode("path", networkWatcherName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-06-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client ConnectionMonitorsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client ConnectionMonitorsClient) ListResponder(resp *http.Response) (result ConnectionMonitorListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Query query a snapshot of the most recent connection states. +// Parameters: +// resourceGroupName - the name of the resource group containing Network Watcher. +// networkWatcherName - the name of the Network Watcher resource. +// connectionMonitorName - the name given to the connection monitor. +func (client ConnectionMonitorsClient) Query(ctx context.Context, resourceGroupName string, networkWatcherName string, connectionMonitorName string) (result ConnectionMonitorsQueryFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ConnectionMonitorsClient.Query") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.QueryPreparer(ctx, resourceGroupName, networkWatcherName, connectionMonitorName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ConnectionMonitorsClient", "Query", nil, "Failure preparing request") + return + } + + result, err = client.QuerySender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ConnectionMonitorsClient", "Query", result.Response(), "Failure sending request") + return + } + + return +} + +// QueryPreparer prepares the Query request. +func (client ConnectionMonitorsClient) QueryPreparer(ctx context.Context, resourceGroupName string, networkWatcherName string, connectionMonitorName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "connectionMonitorName": autorest.Encode("path", connectionMonitorName), + "networkWatcherName": autorest.Encode("path", networkWatcherName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-06-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}/query", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// QuerySender sends the Query request. The method will close the +// http.Response Body if it receives an error. +func (client ConnectionMonitorsClient) QuerySender(req *http.Request) (future ConnectionMonitorsQueryFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// QueryResponder handles the response to the Query request. The method always +// closes the http.Response Body. +func (client ConnectionMonitorsClient) QueryResponder(resp *http.Response) (result ConnectionMonitorQueryResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Start starts the specified connection monitor. +// Parameters: +// resourceGroupName - the name of the resource group containing Network Watcher. +// networkWatcherName - the name of the Network Watcher resource. +// connectionMonitorName - the name of the connection monitor. +func (client ConnectionMonitorsClient) Start(ctx context.Context, resourceGroupName string, networkWatcherName string, connectionMonitorName string) (result ConnectionMonitorsStartFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ConnectionMonitorsClient.Start") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.StartPreparer(ctx, resourceGroupName, networkWatcherName, connectionMonitorName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ConnectionMonitorsClient", "Start", nil, "Failure preparing request") + return + } + + result, err = client.StartSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ConnectionMonitorsClient", "Start", result.Response(), "Failure sending request") + return + } + + return +} + +// StartPreparer prepares the Start request. +func (client ConnectionMonitorsClient) StartPreparer(ctx context.Context, resourceGroupName string, networkWatcherName string, connectionMonitorName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "connectionMonitorName": autorest.Encode("path", connectionMonitorName), + "networkWatcherName": autorest.Encode("path", networkWatcherName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-06-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}/start", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// StartSender sends the Start request. The method will close the +// http.Response Body if it receives an error. +func (client ConnectionMonitorsClient) StartSender(req *http.Request) (future ConnectionMonitorsStartFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// StartResponder handles the response to the Start request. The method always +// closes the http.Response Body. +func (client ConnectionMonitorsClient) StartResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByClosing()) + result.Response = resp + return +} + +// Stop stops the specified connection monitor. +// Parameters: +// resourceGroupName - the name of the resource group containing Network Watcher. +// networkWatcherName - the name of the Network Watcher resource. +// connectionMonitorName - the name of the connection monitor. +func (client ConnectionMonitorsClient) Stop(ctx context.Context, resourceGroupName string, networkWatcherName string, connectionMonitorName string) (result ConnectionMonitorsStopFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ConnectionMonitorsClient.Stop") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.StopPreparer(ctx, resourceGroupName, networkWatcherName, connectionMonitorName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ConnectionMonitorsClient", "Stop", nil, "Failure preparing request") + return + } + + result, err = client.StopSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ConnectionMonitorsClient", "Stop", result.Response(), "Failure sending request") + return + } + + return +} + +// StopPreparer prepares the Stop request. +func (client ConnectionMonitorsClient) StopPreparer(ctx context.Context, resourceGroupName string, networkWatcherName string, connectionMonitorName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "connectionMonitorName": autorest.Encode("path", connectionMonitorName), + "networkWatcherName": autorest.Encode("path", networkWatcherName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-06-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}/stop", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// StopSender sends the Stop request. The method will close the +// http.Response Body if it receives an error. +func (client ConnectionMonitorsClient) StopSender(req *http.Request) (future ConnectionMonitorsStopFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// StopResponder handles the response to the Stop request. The method always +// closes the http.Response Body. +func (client ConnectionMonitorsClient) StopResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByClosing()) + result.Response = resp + return +} + +// UpdateTags update tags of the specified connection monitor. +// Parameters: +// resourceGroupName - the name of the resource group. +// networkWatcherName - the name of the network watcher. +// connectionMonitorName - the name of the connection monitor. +// parameters - parameters supplied to update connection monitor tags. +func (client ConnectionMonitorsClient) UpdateTags(ctx context.Context, resourceGroupName string, networkWatcherName string, connectionMonitorName string, parameters TagsObject) (result ConnectionMonitorResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ConnectionMonitorsClient.UpdateTags") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdateTagsPreparer(ctx, resourceGroupName, networkWatcherName, connectionMonitorName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ConnectionMonitorsClient", "UpdateTags", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateTagsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ConnectionMonitorsClient", "UpdateTags", resp, "Failure sending request") + return + } + + result, err = client.UpdateTagsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ConnectionMonitorsClient", "UpdateTags", resp, "Failure responding to request") + } + + return +} + +// UpdateTagsPreparer prepares the UpdateTags request. +func (client ConnectionMonitorsClient) UpdateTagsPreparer(ctx context.Context, resourceGroupName string, networkWatcherName string, connectionMonitorName string, parameters TagsObject) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "connectionMonitorName": autorest.Encode("path", connectionMonitorName), + "networkWatcherName": autorest.Encode("path", networkWatcherName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-06-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateTagsSender sends the UpdateTags request. The method will close the +// http.Response Body if it receives an error. +func (client ConnectionMonitorsClient) UpdateTagsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// UpdateTagsResponder handles the response to the UpdateTags request. The method always +// closes the http.Response Body. +func (client ConnectionMonitorsClient) UpdateTagsResponder(resp *http.Response) (result ConnectionMonitorResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/network/mgmt/2019-08-01/network/ddoscustompolicies.go b/services/network/mgmt/2019-08-01/network/ddoscustompolicies.go new file mode 100644 index 000000000000..84e2b3860382 --- /dev/null +++ b/services/network/mgmt/2019-08-01/network/ddoscustompolicies.go @@ -0,0 +1,355 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// DdosCustomPoliciesClient is the network Client +type DdosCustomPoliciesClient struct { + BaseClient +} + +// NewDdosCustomPoliciesClient creates an instance of the DdosCustomPoliciesClient client. +func NewDdosCustomPoliciesClient(subscriptionID string) DdosCustomPoliciesClient { + return NewDdosCustomPoliciesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewDdosCustomPoliciesClientWithBaseURI creates an instance of the DdosCustomPoliciesClient client. +func NewDdosCustomPoliciesClientWithBaseURI(baseURI string, subscriptionID string) DdosCustomPoliciesClient { + return DdosCustomPoliciesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates a DDoS custom policy. +// Parameters: +// resourceGroupName - the name of the resource group. +// ddosCustomPolicyName - the name of the DDoS custom policy. +// parameters - parameters supplied to the create or update operation. +func (client DdosCustomPoliciesClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, ddosCustomPolicyName string, parameters DdosCustomPolicy) (result DdosCustomPoliciesCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DdosCustomPoliciesClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, ddosCustomPolicyName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.DdosCustomPoliciesClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.DdosCustomPoliciesClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client DdosCustomPoliciesClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, ddosCustomPolicyName string, parameters DdosCustomPolicy) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "ddosCustomPolicyName": autorest.Encode("path", ddosCustomPolicyName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + parameters.Etag = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ddosCustomPolicies/{ddosCustomPolicyName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client DdosCustomPoliciesClient) CreateOrUpdateSender(req *http.Request) (future DdosCustomPoliciesCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client DdosCustomPoliciesClient) CreateOrUpdateResponder(resp *http.Response) (result DdosCustomPolicy, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the specified DDoS custom policy. +// Parameters: +// resourceGroupName - the name of the resource group. +// ddosCustomPolicyName - the name of the DDoS custom policy. +func (client DdosCustomPoliciesClient) Delete(ctx context.Context, resourceGroupName string, ddosCustomPolicyName string) (result DdosCustomPoliciesDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DdosCustomPoliciesClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, ddosCustomPolicyName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.DdosCustomPoliciesClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.DdosCustomPoliciesClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client DdosCustomPoliciesClient) DeletePreparer(ctx context.Context, resourceGroupName string, ddosCustomPolicyName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "ddosCustomPolicyName": autorest.Encode("path", ddosCustomPolicyName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ddosCustomPolicies/{ddosCustomPolicyName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client DdosCustomPoliciesClient) DeleteSender(req *http.Request) (future DdosCustomPoliciesDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client DdosCustomPoliciesClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets information about the specified DDoS custom policy. +// Parameters: +// resourceGroupName - the name of the resource group. +// ddosCustomPolicyName - the name of the DDoS custom policy. +func (client DdosCustomPoliciesClient) Get(ctx context.Context, resourceGroupName string, ddosCustomPolicyName string) (result DdosCustomPolicy, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DdosCustomPoliciesClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, ddosCustomPolicyName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.DdosCustomPoliciesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.DdosCustomPoliciesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.DdosCustomPoliciesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client DdosCustomPoliciesClient) GetPreparer(ctx context.Context, resourceGroupName string, ddosCustomPolicyName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "ddosCustomPolicyName": autorest.Encode("path", ddosCustomPolicyName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ddosCustomPolicies/{ddosCustomPolicyName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client DdosCustomPoliciesClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client DdosCustomPoliciesClient) GetResponder(resp *http.Response) (result DdosCustomPolicy, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// UpdateTags update a DDoS custom policy tags. +// Parameters: +// resourceGroupName - the name of the resource group. +// ddosCustomPolicyName - the name of the DDoS custom policy. +// parameters - parameters supplied to the update DDoS custom policy resource tags. +func (client DdosCustomPoliciesClient) UpdateTags(ctx context.Context, resourceGroupName string, ddosCustomPolicyName string, parameters TagsObject) (result DdosCustomPoliciesUpdateTagsFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DdosCustomPoliciesClient.UpdateTags") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdateTagsPreparer(ctx, resourceGroupName, ddosCustomPolicyName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.DdosCustomPoliciesClient", "UpdateTags", nil, "Failure preparing request") + return + } + + result, err = client.UpdateTagsSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.DdosCustomPoliciesClient", "UpdateTags", result.Response(), "Failure sending request") + return + } + + return +} + +// UpdateTagsPreparer prepares the UpdateTags request. +func (client DdosCustomPoliciesClient) UpdateTagsPreparer(ctx context.Context, resourceGroupName string, ddosCustomPolicyName string, parameters TagsObject) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "ddosCustomPolicyName": autorest.Encode("path", ddosCustomPolicyName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ddosCustomPolicies/{ddosCustomPolicyName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateTagsSender sends the UpdateTags request. The method will close the +// http.Response Body if it receives an error. +func (client DdosCustomPoliciesClient) UpdateTagsSender(req *http.Request) (future DdosCustomPoliciesUpdateTagsFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// UpdateTagsResponder handles the response to the UpdateTags request. The method always +// closes the http.Response Body. +func (client DdosCustomPoliciesClient) UpdateTagsResponder(resp *http.Response) (result DdosCustomPolicy, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/network/mgmt/2019-08-01/network/ddosprotectionplans.go b/services/network/mgmt/2019-08-01/network/ddosprotectionplans.go new file mode 100644 index 000000000000..7024a259c58a --- /dev/null +++ b/services/network/mgmt/2019-08-01/network/ddosprotectionplans.go @@ -0,0 +1,581 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// DdosProtectionPlansClient is the network Client +type DdosProtectionPlansClient struct { + BaseClient +} + +// NewDdosProtectionPlansClient creates an instance of the DdosProtectionPlansClient client. +func NewDdosProtectionPlansClient(subscriptionID string) DdosProtectionPlansClient { + return NewDdosProtectionPlansClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewDdosProtectionPlansClientWithBaseURI creates an instance of the DdosProtectionPlansClient client. +func NewDdosProtectionPlansClientWithBaseURI(baseURI string, subscriptionID string) DdosProtectionPlansClient { + return DdosProtectionPlansClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates a DDoS protection plan. +// Parameters: +// resourceGroupName - the name of the resource group. +// ddosProtectionPlanName - the name of the DDoS protection plan. +// parameters - parameters supplied to the create or update operation. +func (client DdosProtectionPlansClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, ddosProtectionPlanName string, parameters DdosProtectionPlan) (result DdosProtectionPlansCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DdosProtectionPlansClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, ddosProtectionPlanName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.DdosProtectionPlansClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.DdosProtectionPlansClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client DdosProtectionPlansClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, ddosProtectionPlanName string, parameters DdosProtectionPlan) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "ddosProtectionPlanName": autorest.Encode("path", ddosProtectionPlanName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + parameters.ID = nil + parameters.Name = nil + parameters.Type = nil + parameters.Etag = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ddosProtectionPlans/{ddosProtectionPlanName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client DdosProtectionPlansClient) CreateOrUpdateSender(req *http.Request) (future DdosProtectionPlansCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client DdosProtectionPlansClient) CreateOrUpdateResponder(resp *http.Response) (result DdosProtectionPlan, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the specified DDoS protection plan. +// Parameters: +// resourceGroupName - the name of the resource group. +// ddosProtectionPlanName - the name of the DDoS protection plan. +func (client DdosProtectionPlansClient) Delete(ctx context.Context, resourceGroupName string, ddosProtectionPlanName string) (result DdosProtectionPlansDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DdosProtectionPlansClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, ddosProtectionPlanName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.DdosProtectionPlansClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.DdosProtectionPlansClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client DdosProtectionPlansClient) DeletePreparer(ctx context.Context, resourceGroupName string, ddosProtectionPlanName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "ddosProtectionPlanName": autorest.Encode("path", ddosProtectionPlanName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ddosProtectionPlans/{ddosProtectionPlanName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client DdosProtectionPlansClient) DeleteSender(req *http.Request) (future DdosProtectionPlansDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client DdosProtectionPlansClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets information about the specified DDoS protection plan. +// Parameters: +// resourceGroupName - the name of the resource group. +// ddosProtectionPlanName - the name of the DDoS protection plan. +func (client DdosProtectionPlansClient) Get(ctx context.Context, resourceGroupName string, ddosProtectionPlanName string) (result DdosProtectionPlan, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DdosProtectionPlansClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, ddosProtectionPlanName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.DdosProtectionPlansClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.DdosProtectionPlansClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.DdosProtectionPlansClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client DdosProtectionPlansClient) GetPreparer(ctx context.Context, resourceGroupName string, ddosProtectionPlanName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "ddosProtectionPlanName": autorest.Encode("path", ddosProtectionPlanName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ddosProtectionPlans/{ddosProtectionPlanName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client DdosProtectionPlansClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client DdosProtectionPlansClient) GetResponder(resp *http.Response) (result DdosProtectionPlan, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets all DDoS protection plans in a subscription. +func (client DdosProtectionPlansClient) List(ctx context.Context) (result DdosProtectionPlanListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DdosProtectionPlansClient.List") + defer func() { + sc := -1 + if result.dpplr.Response.Response != nil { + sc = result.dpplr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "network.DdosProtectionPlansClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.dpplr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.DdosProtectionPlansClient", "List", resp, "Failure sending request") + return + } + + result.dpplr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.DdosProtectionPlansClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client DdosProtectionPlansClient) ListPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/ddosProtectionPlans", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client DdosProtectionPlansClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client DdosProtectionPlansClient) ListResponder(resp *http.Response) (result DdosProtectionPlanListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client DdosProtectionPlansClient) listNextResults(ctx context.Context, lastResults DdosProtectionPlanListResult) (result DdosProtectionPlanListResult, err error) { + req, err := lastResults.ddosProtectionPlanListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.DdosProtectionPlansClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.DdosProtectionPlansClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.DdosProtectionPlansClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client DdosProtectionPlansClient) ListComplete(ctx context.Context) (result DdosProtectionPlanListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DdosProtectionPlansClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx) + return +} + +// ListByResourceGroup gets all the DDoS protection plans in a resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +func (client DdosProtectionPlansClient) ListByResourceGroup(ctx context.Context, resourceGroupName string) (result DdosProtectionPlanListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DdosProtectionPlansClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.dpplr.Response.Response != nil { + sc = result.dpplr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listByResourceGroupNextResults + req, err := client.ListByResourceGroupPreparer(ctx, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.DdosProtectionPlansClient", "ListByResourceGroup", nil, "Failure preparing request") + return + } + + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.dpplr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.DdosProtectionPlansClient", "ListByResourceGroup", resp, "Failure sending request") + return + } + + result.dpplr, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.DdosProtectionPlansClient", "ListByResourceGroup", resp, "Failure responding to request") + } + + return +} + +// ListByResourceGroupPreparer prepares the ListByResourceGroup request. +func (client DdosProtectionPlansClient) ListByResourceGroupPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ddosProtectionPlans", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByResourceGroupSender sends the ListByResourceGroup request. The method will close the +// http.Response Body if it receives an error. +func (client DdosProtectionPlansClient) ListByResourceGroupSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByResourceGroupResponder handles the response to the ListByResourceGroup request. The method always +// closes the http.Response Body. +func (client DdosProtectionPlansClient) ListByResourceGroupResponder(resp *http.Response) (result DdosProtectionPlanListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listByResourceGroupNextResults retrieves the next set of results, if any. +func (client DdosProtectionPlansClient) listByResourceGroupNextResults(ctx context.Context, lastResults DdosProtectionPlanListResult) (result DdosProtectionPlanListResult, err error) { + req, err := lastResults.ddosProtectionPlanListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.DdosProtectionPlansClient", "listByResourceGroupNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.DdosProtectionPlansClient", "listByResourceGroupNextResults", resp, "Failure sending next results request") + } + result, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.DdosProtectionPlansClient", "listByResourceGroupNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListByResourceGroupComplete enumerates all values, automatically crossing page boundaries as required. +func (client DdosProtectionPlansClient) ListByResourceGroupComplete(ctx context.Context, resourceGroupName string) (result DdosProtectionPlanListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DdosProtectionPlansClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListByResourceGroup(ctx, resourceGroupName) + return +} + +// UpdateTags update a DDoS protection plan tags. +// Parameters: +// resourceGroupName - the name of the resource group. +// ddosProtectionPlanName - the name of the DDoS protection plan. +// parameters - parameters supplied to the update DDoS protection plan resource tags. +func (client DdosProtectionPlansClient) UpdateTags(ctx context.Context, resourceGroupName string, ddosProtectionPlanName string, parameters TagsObject) (result DdosProtectionPlansUpdateTagsFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DdosProtectionPlansClient.UpdateTags") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdateTagsPreparer(ctx, resourceGroupName, ddosProtectionPlanName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.DdosProtectionPlansClient", "UpdateTags", nil, "Failure preparing request") + return + } + + result, err = client.UpdateTagsSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.DdosProtectionPlansClient", "UpdateTags", result.Response(), "Failure sending request") + return + } + + return +} + +// UpdateTagsPreparer prepares the UpdateTags request. +func (client DdosProtectionPlansClient) UpdateTagsPreparer(ctx context.Context, resourceGroupName string, ddosProtectionPlanName string, parameters TagsObject) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "ddosProtectionPlanName": autorest.Encode("path", ddosProtectionPlanName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ddosProtectionPlans/{ddosProtectionPlanName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateTagsSender sends the UpdateTags request. The method will close the +// http.Response Body if it receives an error. +func (client DdosProtectionPlansClient) UpdateTagsSender(req *http.Request) (future DdosProtectionPlansUpdateTagsFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// UpdateTagsResponder handles the response to the UpdateTags request. The method always +// closes the http.Response Body. +func (client DdosProtectionPlansClient) UpdateTagsResponder(resp *http.Response) (result DdosProtectionPlan, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/network/mgmt/2019-08-01/network/defaultsecurityrules.go b/services/network/mgmt/2019-08-01/network/defaultsecurityrules.go new file mode 100644 index 000000000000..9902a57c0dd5 --- /dev/null +++ b/services/network/mgmt/2019-08-01/network/defaultsecurityrules.go @@ -0,0 +1,235 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// DefaultSecurityRulesClient is the network Client +type DefaultSecurityRulesClient struct { + BaseClient +} + +// NewDefaultSecurityRulesClient creates an instance of the DefaultSecurityRulesClient client. +func NewDefaultSecurityRulesClient(subscriptionID string) DefaultSecurityRulesClient { + return NewDefaultSecurityRulesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewDefaultSecurityRulesClientWithBaseURI creates an instance of the DefaultSecurityRulesClient client. +func NewDefaultSecurityRulesClientWithBaseURI(baseURI string, subscriptionID string) DefaultSecurityRulesClient { + return DefaultSecurityRulesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// Get get the specified default network security rule. +// Parameters: +// resourceGroupName - the name of the resource group. +// networkSecurityGroupName - the name of the network security group. +// defaultSecurityRuleName - the name of the default security rule. +func (client DefaultSecurityRulesClient) Get(ctx context.Context, resourceGroupName string, networkSecurityGroupName string, defaultSecurityRuleName string) (result SecurityRule, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DefaultSecurityRulesClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, networkSecurityGroupName, defaultSecurityRuleName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.DefaultSecurityRulesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.DefaultSecurityRulesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.DefaultSecurityRulesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client DefaultSecurityRulesClient) GetPreparer(ctx context.Context, resourceGroupName string, networkSecurityGroupName string, defaultSecurityRuleName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "defaultSecurityRuleName": autorest.Encode("path", defaultSecurityRuleName), + "networkSecurityGroupName": autorest.Encode("path", networkSecurityGroupName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/defaultSecurityRules/{defaultSecurityRuleName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client DefaultSecurityRulesClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client DefaultSecurityRulesClient) GetResponder(resp *http.Response) (result SecurityRule, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets all default security rules in a network security group. +// Parameters: +// resourceGroupName - the name of the resource group. +// networkSecurityGroupName - the name of the network security group. +func (client DefaultSecurityRulesClient) List(ctx context.Context, resourceGroupName string, networkSecurityGroupName string) (result SecurityRuleListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DefaultSecurityRulesClient.List") + defer func() { + sc := -1 + if result.srlr.Response.Response != nil { + sc = result.srlr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName, networkSecurityGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.DefaultSecurityRulesClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.srlr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.DefaultSecurityRulesClient", "List", resp, "Failure sending request") + return + } + + result.srlr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.DefaultSecurityRulesClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client DefaultSecurityRulesClient) ListPreparer(ctx context.Context, resourceGroupName string, networkSecurityGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkSecurityGroupName": autorest.Encode("path", networkSecurityGroupName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/defaultSecurityRules", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client DefaultSecurityRulesClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client DefaultSecurityRulesClient) ListResponder(resp *http.Response) (result SecurityRuleListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client DefaultSecurityRulesClient) listNextResults(ctx context.Context, lastResults SecurityRuleListResult) (result SecurityRuleListResult, err error) { + req, err := lastResults.securityRuleListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.DefaultSecurityRulesClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.DefaultSecurityRulesClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.DefaultSecurityRulesClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client DefaultSecurityRulesClient) ListComplete(ctx context.Context, resourceGroupName string, networkSecurityGroupName string) (result SecurityRuleListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DefaultSecurityRulesClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName, networkSecurityGroupName) + return +} diff --git a/services/network/mgmt/2019-08-01/network/expressroutecircuitauthorizations.go b/services/network/mgmt/2019-08-01/network/expressroutecircuitauthorizations.go new file mode 100644 index 000000000000..c7a09d77429f --- /dev/null +++ b/services/network/mgmt/2019-08-01/network/expressroutecircuitauthorizations.go @@ -0,0 +1,400 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// ExpressRouteCircuitAuthorizationsClient is the network Client +type ExpressRouteCircuitAuthorizationsClient struct { + BaseClient +} + +// NewExpressRouteCircuitAuthorizationsClient creates an instance of the ExpressRouteCircuitAuthorizationsClient +// client. +func NewExpressRouteCircuitAuthorizationsClient(subscriptionID string) ExpressRouteCircuitAuthorizationsClient { + return NewExpressRouteCircuitAuthorizationsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewExpressRouteCircuitAuthorizationsClientWithBaseURI creates an instance of the +// ExpressRouteCircuitAuthorizationsClient client. +func NewExpressRouteCircuitAuthorizationsClientWithBaseURI(baseURI string, subscriptionID string) ExpressRouteCircuitAuthorizationsClient { + return ExpressRouteCircuitAuthorizationsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates an authorization in the specified express route circuit. +// Parameters: +// resourceGroupName - the name of the resource group. +// circuitName - the name of the express route circuit. +// authorizationName - the name of the authorization. +// authorizationParameters - parameters supplied to the create or update express route circuit authorization +// operation. +func (client ExpressRouteCircuitAuthorizationsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, circuitName string, authorizationName string, authorizationParameters ExpressRouteCircuitAuthorization) (result ExpressRouteCircuitAuthorizationsCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCircuitAuthorizationsClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, circuitName, authorizationName, authorizationParameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitAuthorizationsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitAuthorizationsClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client ExpressRouteCircuitAuthorizationsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, circuitName string, authorizationName string, authorizationParameters ExpressRouteCircuitAuthorization) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "authorizationName": autorest.Encode("path", authorizationName), + "circuitName": autorest.Encode("path", circuitName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + authorizationParameters.Etag = nil + authorizationParameters.Type = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/authorizations/{authorizationName}", pathParameters), + autorest.WithJSON(authorizationParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRouteCircuitAuthorizationsClient) CreateOrUpdateSender(req *http.Request) (future ExpressRouteCircuitAuthorizationsCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client ExpressRouteCircuitAuthorizationsClient) CreateOrUpdateResponder(resp *http.Response) (result ExpressRouteCircuitAuthorization, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the specified authorization from the specified express route circuit. +// Parameters: +// resourceGroupName - the name of the resource group. +// circuitName - the name of the express route circuit. +// authorizationName - the name of the authorization. +func (client ExpressRouteCircuitAuthorizationsClient) Delete(ctx context.Context, resourceGroupName string, circuitName string, authorizationName string) (result ExpressRouteCircuitAuthorizationsDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCircuitAuthorizationsClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, circuitName, authorizationName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitAuthorizationsClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitAuthorizationsClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client ExpressRouteCircuitAuthorizationsClient) DeletePreparer(ctx context.Context, resourceGroupName string, circuitName string, authorizationName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "authorizationName": autorest.Encode("path", authorizationName), + "circuitName": autorest.Encode("path", circuitName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/authorizations/{authorizationName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRouteCircuitAuthorizationsClient) DeleteSender(req *http.Request) (future ExpressRouteCircuitAuthorizationsDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client ExpressRouteCircuitAuthorizationsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets the specified authorization from the specified express route circuit. +// Parameters: +// resourceGroupName - the name of the resource group. +// circuitName - the name of the express route circuit. +// authorizationName - the name of the authorization. +func (client ExpressRouteCircuitAuthorizationsClient) Get(ctx context.Context, resourceGroupName string, circuitName string, authorizationName string) (result ExpressRouteCircuitAuthorization, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCircuitAuthorizationsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, circuitName, authorizationName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitAuthorizationsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitAuthorizationsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitAuthorizationsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client ExpressRouteCircuitAuthorizationsClient) GetPreparer(ctx context.Context, resourceGroupName string, circuitName string, authorizationName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "authorizationName": autorest.Encode("path", authorizationName), + "circuitName": autorest.Encode("path", circuitName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/authorizations/{authorizationName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRouteCircuitAuthorizationsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client ExpressRouteCircuitAuthorizationsClient) GetResponder(resp *http.Response) (result ExpressRouteCircuitAuthorization, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets all authorizations in an express route circuit. +// Parameters: +// resourceGroupName - the name of the resource group. +// circuitName - the name of the circuit. +func (client ExpressRouteCircuitAuthorizationsClient) List(ctx context.Context, resourceGroupName string, circuitName string) (result AuthorizationListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCircuitAuthorizationsClient.List") + defer func() { + sc := -1 + if result.alr.Response.Response != nil { + sc = result.alr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName, circuitName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitAuthorizationsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.alr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitAuthorizationsClient", "List", resp, "Failure sending request") + return + } + + result.alr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitAuthorizationsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client ExpressRouteCircuitAuthorizationsClient) ListPreparer(ctx context.Context, resourceGroupName string, circuitName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "circuitName": autorest.Encode("path", circuitName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/authorizations", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRouteCircuitAuthorizationsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client ExpressRouteCircuitAuthorizationsClient) ListResponder(resp *http.Response) (result AuthorizationListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client ExpressRouteCircuitAuthorizationsClient) listNextResults(ctx context.Context, lastResults AuthorizationListResult) (result AuthorizationListResult, err error) { + req, err := lastResults.authorizationListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.ExpressRouteCircuitAuthorizationsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.ExpressRouteCircuitAuthorizationsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitAuthorizationsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client ExpressRouteCircuitAuthorizationsClient) ListComplete(ctx context.Context, resourceGroupName string, circuitName string) (result AuthorizationListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCircuitAuthorizationsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName, circuitName) + return +} diff --git a/services/network/mgmt/2019-08-01/network/expressroutecircuitconnections.go b/services/network/mgmt/2019-08-01/network/expressroutecircuitconnections.go new file mode 100644 index 000000000000..1691869012b8 --- /dev/null +++ b/services/network/mgmt/2019-08-01/network/expressroutecircuitconnections.go @@ -0,0 +1,407 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// ExpressRouteCircuitConnectionsClient is the network Client +type ExpressRouteCircuitConnectionsClient struct { + BaseClient +} + +// NewExpressRouteCircuitConnectionsClient creates an instance of the ExpressRouteCircuitConnectionsClient client. +func NewExpressRouteCircuitConnectionsClient(subscriptionID string) ExpressRouteCircuitConnectionsClient { + return NewExpressRouteCircuitConnectionsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewExpressRouteCircuitConnectionsClientWithBaseURI creates an instance of the ExpressRouteCircuitConnectionsClient +// client. +func NewExpressRouteCircuitConnectionsClientWithBaseURI(baseURI string, subscriptionID string) ExpressRouteCircuitConnectionsClient { + return ExpressRouteCircuitConnectionsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates a Express Route Circuit Connection in the specified express route circuits. +// Parameters: +// resourceGroupName - the name of the resource group. +// circuitName - the name of the express route circuit. +// peeringName - the name of the peering. +// connectionName - the name of the express route circuit connection. +// expressRouteCircuitConnectionParameters - parameters supplied to the create or update express route circuit +// connection operation. +func (client ExpressRouteCircuitConnectionsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, circuitName string, peeringName string, connectionName string, expressRouteCircuitConnectionParameters ExpressRouteCircuitConnection) (result ExpressRouteCircuitConnectionsCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCircuitConnectionsClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, circuitName, peeringName, connectionName, expressRouteCircuitConnectionParameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitConnectionsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitConnectionsClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client ExpressRouteCircuitConnectionsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, circuitName string, peeringName string, connectionName string, expressRouteCircuitConnectionParameters ExpressRouteCircuitConnection) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "circuitName": autorest.Encode("path", circuitName), + "connectionName": autorest.Encode("path", connectionName), + "peeringName": autorest.Encode("path", peeringName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + expressRouteCircuitConnectionParameters.Etag = nil + expressRouteCircuitConnectionParameters.Type = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/connections/{connectionName}", pathParameters), + autorest.WithJSON(expressRouteCircuitConnectionParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRouteCircuitConnectionsClient) CreateOrUpdateSender(req *http.Request) (future ExpressRouteCircuitConnectionsCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client ExpressRouteCircuitConnectionsClient) CreateOrUpdateResponder(resp *http.Response) (result ExpressRouteCircuitConnection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the specified Express Route Circuit Connection from the specified express route circuit. +// Parameters: +// resourceGroupName - the name of the resource group. +// circuitName - the name of the express route circuit. +// peeringName - the name of the peering. +// connectionName - the name of the express route circuit connection. +func (client ExpressRouteCircuitConnectionsClient) Delete(ctx context.Context, resourceGroupName string, circuitName string, peeringName string, connectionName string) (result ExpressRouteCircuitConnectionsDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCircuitConnectionsClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, circuitName, peeringName, connectionName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitConnectionsClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitConnectionsClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client ExpressRouteCircuitConnectionsClient) DeletePreparer(ctx context.Context, resourceGroupName string, circuitName string, peeringName string, connectionName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "circuitName": autorest.Encode("path", circuitName), + "connectionName": autorest.Encode("path", connectionName), + "peeringName": autorest.Encode("path", peeringName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/connections/{connectionName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRouteCircuitConnectionsClient) DeleteSender(req *http.Request) (future ExpressRouteCircuitConnectionsDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client ExpressRouteCircuitConnectionsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets the specified Express Route Circuit Connection from the specified express route circuit. +// Parameters: +// resourceGroupName - the name of the resource group. +// circuitName - the name of the express route circuit. +// peeringName - the name of the peering. +// connectionName - the name of the express route circuit connection. +func (client ExpressRouteCircuitConnectionsClient) Get(ctx context.Context, resourceGroupName string, circuitName string, peeringName string, connectionName string) (result ExpressRouteCircuitConnection, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCircuitConnectionsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, circuitName, peeringName, connectionName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitConnectionsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitConnectionsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitConnectionsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client ExpressRouteCircuitConnectionsClient) GetPreparer(ctx context.Context, resourceGroupName string, circuitName string, peeringName string, connectionName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "circuitName": autorest.Encode("path", circuitName), + "connectionName": autorest.Encode("path", connectionName), + "peeringName": autorest.Encode("path", peeringName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/connections/{connectionName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRouteCircuitConnectionsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client ExpressRouteCircuitConnectionsClient) GetResponder(resp *http.Response) (result ExpressRouteCircuitConnection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets all global reach connections associated with a private peering in an express route circuit. +// Parameters: +// resourceGroupName - the name of the resource group. +// circuitName - the name of the circuit. +// peeringName - the name of the peering. +func (client ExpressRouteCircuitConnectionsClient) List(ctx context.Context, resourceGroupName string, circuitName string, peeringName string) (result ExpressRouteCircuitConnectionListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCircuitConnectionsClient.List") + defer func() { + sc := -1 + if result.ercclr.Response.Response != nil { + sc = result.ercclr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName, circuitName, peeringName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitConnectionsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.ercclr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitConnectionsClient", "List", resp, "Failure sending request") + return + } + + result.ercclr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitConnectionsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client ExpressRouteCircuitConnectionsClient) ListPreparer(ctx context.Context, resourceGroupName string, circuitName string, peeringName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "circuitName": autorest.Encode("path", circuitName), + "peeringName": autorest.Encode("path", peeringName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/connections", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRouteCircuitConnectionsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client ExpressRouteCircuitConnectionsClient) ListResponder(resp *http.Response) (result ExpressRouteCircuitConnectionListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client ExpressRouteCircuitConnectionsClient) listNextResults(ctx context.Context, lastResults ExpressRouteCircuitConnectionListResult) (result ExpressRouteCircuitConnectionListResult, err error) { + req, err := lastResults.expressRouteCircuitConnectionListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.ExpressRouteCircuitConnectionsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.ExpressRouteCircuitConnectionsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitConnectionsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client ExpressRouteCircuitConnectionsClient) ListComplete(ctx context.Context, resourceGroupName string, circuitName string, peeringName string) (result ExpressRouteCircuitConnectionListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCircuitConnectionsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName, circuitName, peeringName) + return +} diff --git a/services/network/mgmt/2019-08-01/network/expressroutecircuitpeerings.go b/services/network/mgmt/2019-08-01/network/expressroutecircuitpeerings.go new file mode 100644 index 000000000000..989fa107f6f3 --- /dev/null +++ b/services/network/mgmt/2019-08-01/network/expressroutecircuitpeerings.go @@ -0,0 +1,409 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// ExpressRouteCircuitPeeringsClient is the network Client +type ExpressRouteCircuitPeeringsClient struct { + BaseClient +} + +// NewExpressRouteCircuitPeeringsClient creates an instance of the ExpressRouteCircuitPeeringsClient client. +func NewExpressRouteCircuitPeeringsClient(subscriptionID string) ExpressRouteCircuitPeeringsClient { + return NewExpressRouteCircuitPeeringsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewExpressRouteCircuitPeeringsClientWithBaseURI creates an instance of the ExpressRouteCircuitPeeringsClient client. +func NewExpressRouteCircuitPeeringsClientWithBaseURI(baseURI string, subscriptionID string) ExpressRouteCircuitPeeringsClient { + return ExpressRouteCircuitPeeringsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates a peering in the specified express route circuits. +// Parameters: +// resourceGroupName - the name of the resource group. +// circuitName - the name of the express route circuit. +// peeringName - the name of the peering. +// peeringParameters - parameters supplied to the create or update express route circuit peering operation. +func (client ExpressRouteCircuitPeeringsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, circuitName string, peeringName string, peeringParameters ExpressRouteCircuitPeering) (result ExpressRouteCircuitPeeringsCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCircuitPeeringsClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: peeringParameters, + Constraints: []validation.Constraint{{Target: "peeringParameters.ExpressRouteCircuitPeeringPropertiesFormat", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "peeringParameters.ExpressRouteCircuitPeeringPropertiesFormat.PeerASN", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "peeringParameters.ExpressRouteCircuitPeeringPropertiesFormat.PeerASN", Name: validation.InclusiveMaximum, Rule: int64(4294967295), Chain: nil}, + {Target: "peeringParameters.ExpressRouteCircuitPeeringPropertiesFormat.PeerASN", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}, + }}, + }}}}}); err != nil { + return result, validation.NewError("network.ExpressRouteCircuitPeeringsClient", "CreateOrUpdate", err.Error()) + } + + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, circuitName, peeringName, peeringParameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitPeeringsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitPeeringsClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client ExpressRouteCircuitPeeringsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, circuitName string, peeringName string, peeringParameters ExpressRouteCircuitPeering) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "circuitName": autorest.Encode("path", circuitName), + "peeringName": autorest.Encode("path", peeringName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + peeringParameters.Etag = nil + peeringParameters.Type = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}", pathParameters), + autorest.WithJSON(peeringParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRouteCircuitPeeringsClient) CreateOrUpdateSender(req *http.Request) (future ExpressRouteCircuitPeeringsCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client ExpressRouteCircuitPeeringsClient) CreateOrUpdateResponder(resp *http.Response) (result ExpressRouteCircuitPeering, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the specified peering from the specified express route circuit. +// Parameters: +// resourceGroupName - the name of the resource group. +// circuitName - the name of the express route circuit. +// peeringName - the name of the peering. +func (client ExpressRouteCircuitPeeringsClient) Delete(ctx context.Context, resourceGroupName string, circuitName string, peeringName string) (result ExpressRouteCircuitPeeringsDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCircuitPeeringsClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, circuitName, peeringName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitPeeringsClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitPeeringsClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client ExpressRouteCircuitPeeringsClient) DeletePreparer(ctx context.Context, resourceGroupName string, circuitName string, peeringName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "circuitName": autorest.Encode("path", circuitName), + "peeringName": autorest.Encode("path", peeringName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRouteCircuitPeeringsClient) DeleteSender(req *http.Request) (future ExpressRouteCircuitPeeringsDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client ExpressRouteCircuitPeeringsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets the specified peering for the express route circuit. +// Parameters: +// resourceGroupName - the name of the resource group. +// circuitName - the name of the express route circuit. +// peeringName - the name of the peering. +func (client ExpressRouteCircuitPeeringsClient) Get(ctx context.Context, resourceGroupName string, circuitName string, peeringName string) (result ExpressRouteCircuitPeering, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCircuitPeeringsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, circuitName, peeringName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitPeeringsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitPeeringsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitPeeringsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client ExpressRouteCircuitPeeringsClient) GetPreparer(ctx context.Context, resourceGroupName string, circuitName string, peeringName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "circuitName": autorest.Encode("path", circuitName), + "peeringName": autorest.Encode("path", peeringName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRouteCircuitPeeringsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client ExpressRouteCircuitPeeringsClient) GetResponder(resp *http.Response) (result ExpressRouteCircuitPeering, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets all peerings in a specified express route circuit. +// Parameters: +// resourceGroupName - the name of the resource group. +// circuitName - the name of the express route circuit. +func (client ExpressRouteCircuitPeeringsClient) List(ctx context.Context, resourceGroupName string, circuitName string) (result ExpressRouteCircuitPeeringListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCircuitPeeringsClient.List") + defer func() { + sc := -1 + if result.ercplr.Response.Response != nil { + sc = result.ercplr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName, circuitName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitPeeringsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.ercplr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitPeeringsClient", "List", resp, "Failure sending request") + return + } + + result.ercplr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitPeeringsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client ExpressRouteCircuitPeeringsClient) ListPreparer(ctx context.Context, resourceGroupName string, circuitName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "circuitName": autorest.Encode("path", circuitName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRouteCircuitPeeringsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client ExpressRouteCircuitPeeringsClient) ListResponder(resp *http.Response) (result ExpressRouteCircuitPeeringListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client ExpressRouteCircuitPeeringsClient) listNextResults(ctx context.Context, lastResults ExpressRouteCircuitPeeringListResult) (result ExpressRouteCircuitPeeringListResult, err error) { + req, err := lastResults.expressRouteCircuitPeeringListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.ExpressRouteCircuitPeeringsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.ExpressRouteCircuitPeeringsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitPeeringsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client ExpressRouteCircuitPeeringsClient) ListComplete(ctx context.Context, resourceGroupName string, circuitName string) (result ExpressRouteCircuitPeeringListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCircuitPeeringsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName, circuitName) + return +} diff --git a/services/network/mgmt/2019-08-01/network/expressroutecircuits.go b/services/network/mgmt/2019-08-01/network/expressroutecircuits.go new file mode 100644 index 000000000000..32f8da4f9d73 --- /dev/null +++ b/services/network/mgmt/2019-08-01/network/expressroutecircuits.go @@ -0,0 +1,979 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// ExpressRouteCircuitsClient is the network Client +type ExpressRouteCircuitsClient struct { + BaseClient +} + +// NewExpressRouteCircuitsClient creates an instance of the ExpressRouteCircuitsClient client. +func NewExpressRouteCircuitsClient(subscriptionID string) ExpressRouteCircuitsClient { + return NewExpressRouteCircuitsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewExpressRouteCircuitsClientWithBaseURI creates an instance of the ExpressRouteCircuitsClient client. +func NewExpressRouteCircuitsClientWithBaseURI(baseURI string, subscriptionID string) ExpressRouteCircuitsClient { + return ExpressRouteCircuitsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates an express route circuit. +// Parameters: +// resourceGroupName - the name of the resource group. +// circuitName - the name of the circuit. +// parameters - parameters supplied to the create or update express route circuit operation. +func (client ExpressRouteCircuitsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, circuitName string, parameters ExpressRouteCircuit) (result ExpressRouteCircuitsCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCircuitsClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, circuitName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitsClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client ExpressRouteCircuitsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, circuitName string, parameters ExpressRouteCircuit) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "circuitName": autorest.Encode("path", circuitName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + parameters.Etag = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRouteCircuitsClient) CreateOrUpdateSender(req *http.Request) (future ExpressRouteCircuitsCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client ExpressRouteCircuitsClient) CreateOrUpdateResponder(resp *http.Response) (result ExpressRouteCircuit, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the specified express route circuit. +// Parameters: +// resourceGroupName - the name of the resource group. +// circuitName - the name of the express route circuit. +func (client ExpressRouteCircuitsClient) Delete(ctx context.Context, resourceGroupName string, circuitName string) (result ExpressRouteCircuitsDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCircuitsClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, circuitName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitsClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitsClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client ExpressRouteCircuitsClient) DeletePreparer(ctx context.Context, resourceGroupName string, circuitName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "circuitName": autorest.Encode("path", circuitName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRouteCircuitsClient) DeleteSender(req *http.Request) (future ExpressRouteCircuitsDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client ExpressRouteCircuitsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets information about the specified express route circuit. +// Parameters: +// resourceGroupName - the name of the resource group. +// circuitName - the name of express route circuit. +func (client ExpressRouteCircuitsClient) Get(ctx context.Context, resourceGroupName string, circuitName string) (result ExpressRouteCircuit, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCircuitsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, circuitName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client ExpressRouteCircuitsClient) GetPreparer(ctx context.Context, resourceGroupName string, circuitName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "circuitName": autorest.Encode("path", circuitName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRouteCircuitsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client ExpressRouteCircuitsClient) GetResponder(resp *http.Response) (result ExpressRouteCircuit, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetPeeringStats gets all stats from an express route circuit in a resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +// circuitName - the name of the express route circuit. +// peeringName - the name of the peering. +func (client ExpressRouteCircuitsClient) GetPeeringStats(ctx context.Context, resourceGroupName string, circuitName string, peeringName string) (result ExpressRouteCircuitStats, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCircuitsClient.GetPeeringStats") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPeeringStatsPreparer(ctx, resourceGroupName, circuitName, peeringName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitsClient", "GetPeeringStats", nil, "Failure preparing request") + return + } + + resp, err := client.GetPeeringStatsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitsClient", "GetPeeringStats", resp, "Failure sending request") + return + } + + result, err = client.GetPeeringStatsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitsClient", "GetPeeringStats", resp, "Failure responding to request") + } + + return +} + +// GetPeeringStatsPreparer prepares the GetPeeringStats request. +func (client ExpressRouteCircuitsClient) GetPeeringStatsPreparer(ctx context.Context, resourceGroupName string, circuitName string, peeringName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "circuitName": autorest.Encode("path", circuitName), + "peeringName": autorest.Encode("path", peeringName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/stats", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetPeeringStatsSender sends the GetPeeringStats request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRouteCircuitsClient) GetPeeringStatsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetPeeringStatsResponder handles the response to the GetPeeringStats request. The method always +// closes the http.Response Body. +func (client ExpressRouteCircuitsClient) GetPeeringStatsResponder(resp *http.Response) (result ExpressRouteCircuitStats, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetStats gets all the stats from an express route circuit in a resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +// circuitName - the name of the express route circuit. +func (client ExpressRouteCircuitsClient) GetStats(ctx context.Context, resourceGroupName string, circuitName string) (result ExpressRouteCircuitStats, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCircuitsClient.GetStats") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetStatsPreparer(ctx, resourceGroupName, circuitName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitsClient", "GetStats", nil, "Failure preparing request") + return + } + + resp, err := client.GetStatsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitsClient", "GetStats", resp, "Failure sending request") + return + } + + result, err = client.GetStatsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitsClient", "GetStats", resp, "Failure responding to request") + } + + return +} + +// GetStatsPreparer prepares the GetStats request. +func (client ExpressRouteCircuitsClient) GetStatsPreparer(ctx context.Context, resourceGroupName string, circuitName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "circuitName": autorest.Encode("path", circuitName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/stats", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetStatsSender sends the GetStats request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRouteCircuitsClient) GetStatsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetStatsResponder handles the response to the GetStats request. The method always +// closes the http.Response Body. +func (client ExpressRouteCircuitsClient) GetStatsResponder(resp *http.Response) (result ExpressRouteCircuitStats, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets all the express route circuits in a resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +func (client ExpressRouteCircuitsClient) List(ctx context.Context, resourceGroupName string) (result ExpressRouteCircuitListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCircuitsClient.List") + defer func() { + sc := -1 + if result.erclr.Response.Response != nil { + sc = result.erclr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.erclr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitsClient", "List", resp, "Failure sending request") + return + } + + result.erclr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client ExpressRouteCircuitsClient) ListPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRouteCircuitsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client ExpressRouteCircuitsClient) ListResponder(resp *http.Response) (result ExpressRouteCircuitListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client ExpressRouteCircuitsClient) listNextResults(ctx context.Context, lastResults ExpressRouteCircuitListResult) (result ExpressRouteCircuitListResult, err error) { + req, err := lastResults.expressRouteCircuitListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.ExpressRouteCircuitsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.ExpressRouteCircuitsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client ExpressRouteCircuitsClient) ListComplete(ctx context.Context, resourceGroupName string) (result ExpressRouteCircuitListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCircuitsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName) + return +} + +// ListAll gets all the express route circuits in a subscription. +func (client ExpressRouteCircuitsClient) ListAll(ctx context.Context) (result ExpressRouteCircuitListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCircuitsClient.ListAll") + defer func() { + sc := -1 + if result.erclr.Response.Response != nil { + sc = result.erclr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listAllNextResults + req, err := client.ListAllPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitsClient", "ListAll", nil, "Failure preparing request") + return + } + + resp, err := client.ListAllSender(req) + if err != nil { + result.erclr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitsClient", "ListAll", resp, "Failure sending request") + return + } + + result.erclr, err = client.ListAllResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitsClient", "ListAll", resp, "Failure responding to request") + } + + return +} + +// ListAllPreparer prepares the ListAll request. +func (client ExpressRouteCircuitsClient) ListAllPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/expressRouteCircuits", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListAllSender sends the ListAll request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRouteCircuitsClient) ListAllSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListAllResponder handles the response to the ListAll request. The method always +// closes the http.Response Body. +func (client ExpressRouteCircuitsClient) ListAllResponder(resp *http.Response) (result ExpressRouteCircuitListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listAllNextResults retrieves the next set of results, if any. +func (client ExpressRouteCircuitsClient) listAllNextResults(ctx context.Context, lastResults ExpressRouteCircuitListResult) (result ExpressRouteCircuitListResult, err error) { + req, err := lastResults.expressRouteCircuitListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.ExpressRouteCircuitsClient", "listAllNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListAllSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.ExpressRouteCircuitsClient", "listAllNextResults", resp, "Failure sending next results request") + } + result, err = client.ListAllResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitsClient", "listAllNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListAllComplete enumerates all values, automatically crossing page boundaries as required. +func (client ExpressRouteCircuitsClient) ListAllComplete(ctx context.Context) (result ExpressRouteCircuitListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCircuitsClient.ListAll") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListAll(ctx) + return +} + +// ListArpTable gets the currently advertised ARP table associated with the express route circuit in a resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +// circuitName - the name of the express route circuit. +// peeringName - the name of the peering. +// devicePath - the path of the device. +func (client ExpressRouteCircuitsClient) ListArpTable(ctx context.Context, resourceGroupName string, circuitName string, peeringName string, devicePath string) (result ExpressRouteCircuitsListArpTableFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCircuitsClient.ListArpTable") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListArpTablePreparer(ctx, resourceGroupName, circuitName, peeringName, devicePath) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitsClient", "ListArpTable", nil, "Failure preparing request") + return + } + + result, err = client.ListArpTableSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitsClient", "ListArpTable", result.Response(), "Failure sending request") + return + } + + return +} + +// ListArpTablePreparer prepares the ListArpTable request. +func (client ExpressRouteCircuitsClient) ListArpTablePreparer(ctx context.Context, resourceGroupName string, circuitName string, peeringName string, devicePath string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "circuitName": autorest.Encode("path", circuitName), + "devicePath": autorest.Encode("path", devicePath), + "peeringName": autorest.Encode("path", peeringName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/arpTables/{devicePath}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListArpTableSender sends the ListArpTable request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRouteCircuitsClient) ListArpTableSender(req *http.Request) (future ExpressRouteCircuitsListArpTableFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// ListArpTableResponder handles the response to the ListArpTable request. The method always +// closes the http.Response Body. +func (client ExpressRouteCircuitsClient) ListArpTableResponder(resp *http.Response) (result ExpressRouteCircuitsArpTableListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListRoutesTable gets the currently advertised routes table associated with the express route circuit in a resource +// group. +// Parameters: +// resourceGroupName - the name of the resource group. +// circuitName - the name of the express route circuit. +// peeringName - the name of the peering. +// devicePath - the path of the device. +func (client ExpressRouteCircuitsClient) ListRoutesTable(ctx context.Context, resourceGroupName string, circuitName string, peeringName string, devicePath string) (result ExpressRouteCircuitsListRoutesTableFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCircuitsClient.ListRoutesTable") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListRoutesTablePreparer(ctx, resourceGroupName, circuitName, peeringName, devicePath) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitsClient", "ListRoutesTable", nil, "Failure preparing request") + return + } + + result, err = client.ListRoutesTableSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitsClient", "ListRoutesTable", result.Response(), "Failure sending request") + return + } + + return +} + +// ListRoutesTablePreparer prepares the ListRoutesTable request. +func (client ExpressRouteCircuitsClient) ListRoutesTablePreparer(ctx context.Context, resourceGroupName string, circuitName string, peeringName string, devicePath string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "circuitName": autorest.Encode("path", circuitName), + "devicePath": autorest.Encode("path", devicePath), + "peeringName": autorest.Encode("path", peeringName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/routeTables/{devicePath}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListRoutesTableSender sends the ListRoutesTable request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRouteCircuitsClient) ListRoutesTableSender(req *http.Request) (future ExpressRouteCircuitsListRoutesTableFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// ListRoutesTableResponder handles the response to the ListRoutesTable request. The method always +// closes the http.Response Body. +func (client ExpressRouteCircuitsClient) ListRoutesTableResponder(resp *http.Response) (result ExpressRouteCircuitsRoutesTableListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListRoutesTableSummary gets the currently advertised routes table summary associated with the express route circuit +// in a resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +// circuitName - the name of the express route circuit. +// peeringName - the name of the peering. +// devicePath - the path of the device. +func (client ExpressRouteCircuitsClient) ListRoutesTableSummary(ctx context.Context, resourceGroupName string, circuitName string, peeringName string, devicePath string) (result ExpressRouteCircuitsListRoutesTableSummaryFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCircuitsClient.ListRoutesTableSummary") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListRoutesTableSummaryPreparer(ctx, resourceGroupName, circuitName, peeringName, devicePath) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitsClient", "ListRoutesTableSummary", nil, "Failure preparing request") + return + } + + result, err = client.ListRoutesTableSummarySender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitsClient", "ListRoutesTableSummary", result.Response(), "Failure sending request") + return + } + + return +} + +// ListRoutesTableSummaryPreparer prepares the ListRoutesTableSummary request. +func (client ExpressRouteCircuitsClient) ListRoutesTableSummaryPreparer(ctx context.Context, resourceGroupName string, circuitName string, peeringName string, devicePath string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "circuitName": autorest.Encode("path", circuitName), + "devicePath": autorest.Encode("path", devicePath), + "peeringName": autorest.Encode("path", peeringName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/routeTablesSummary/{devicePath}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListRoutesTableSummarySender sends the ListRoutesTableSummary request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRouteCircuitsClient) ListRoutesTableSummarySender(req *http.Request) (future ExpressRouteCircuitsListRoutesTableSummaryFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// ListRoutesTableSummaryResponder handles the response to the ListRoutesTableSummary request. The method always +// closes the http.Response Body. +func (client ExpressRouteCircuitsClient) ListRoutesTableSummaryResponder(resp *http.Response) (result ExpressRouteCircuitsRoutesTableSummaryListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// UpdateTags updates an express route circuit tags. +// Parameters: +// resourceGroupName - the name of the resource group. +// circuitName - the name of the circuit. +// parameters - parameters supplied to update express route circuit tags. +func (client ExpressRouteCircuitsClient) UpdateTags(ctx context.Context, resourceGroupName string, circuitName string, parameters TagsObject) (result ExpressRouteCircuitsUpdateTagsFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCircuitsClient.UpdateTags") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdateTagsPreparer(ctx, resourceGroupName, circuitName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitsClient", "UpdateTags", nil, "Failure preparing request") + return + } + + result, err = client.UpdateTagsSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitsClient", "UpdateTags", result.Response(), "Failure sending request") + return + } + + return +} + +// UpdateTagsPreparer prepares the UpdateTags request. +func (client ExpressRouteCircuitsClient) UpdateTagsPreparer(ctx context.Context, resourceGroupName string, circuitName string, parameters TagsObject) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "circuitName": autorest.Encode("path", circuitName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateTagsSender sends the UpdateTags request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRouteCircuitsClient) UpdateTagsSender(req *http.Request) (future ExpressRouteCircuitsUpdateTagsFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// UpdateTagsResponder handles the response to the UpdateTags request. The method always +// closes the http.Response Body. +func (client ExpressRouteCircuitsClient) UpdateTagsResponder(resp *http.Response) (result ExpressRouteCircuit, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/network/mgmt/2019-08-01/network/expressrouteconnections.go b/services/network/mgmt/2019-08-01/network/expressrouteconnections.go new file mode 100644 index 000000000000..ee71b311e266 --- /dev/null +++ b/services/network/mgmt/2019-08-01/network/expressrouteconnections.go @@ -0,0 +1,366 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// ExpressRouteConnectionsClient is the network Client +type ExpressRouteConnectionsClient struct { + BaseClient +} + +// NewExpressRouteConnectionsClient creates an instance of the ExpressRouteConnectionsClient client. +func NewExpressRouteConnectionsClient(subscriptionID string) ExpressRouteConnectionsClient { + return NewExpressRouteConnectionsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewExpressRouteConnectionsClientWithBaseURI creates an instance of the ExpressRouteConnectionsClient client. +func NewExpressRouteConnectionsClientWithBaseURI(baseURI string, subscriptionID string) ExpressRouteConnectionsClient { + return ExpressRouteConnectionsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates a connection between an ExpressRoute gateway and an ExpressRoute circuit. +// Parameters: +// resourceGroupName - the name of the resource group. +// expressRouteGatewayName - the name of the ExpressRoute gateway. +// connectionName - the name of the connection subresource. +// putExpressRouteConnectionParameters - parameters required in an ExpressRouteConnection PUT operation. +func (client ExpressRouteConnectionsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, expressRouteGatewayName string, connectionName string, putExpressRouteConnectionParameters ExpressRouteConnection) (result ExpressRouteConnectionsCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteConnectionsClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: putExpressRouteConnectionParameters, + Constraints: []validation.Constraint{{Target: "putExpressRouteConnectionParameters.ExpressRouteConnectionProperties", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "putExpressRouteConnectionParameters.ExpressRouteConnectionProperties.ExpressRouteCircuitPeering", Name: validation.Null, Rule: true, Chain: nil}}}, + {Target: "putExpressRouteConnectionParameters.Name", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + return result, validation.NewError("network.ExpressRouteConnectionsClient", "CreateOrUpdate", err.Error()) + } + + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, expressRouteGatewayName, connectionName, putExpressRouteConnectionParameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteConnectionsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteConnectionsClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client ExpressRouteConnectionsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, expressRouteGatewayName string, connectionName string, putExpressRouteConnectionParameters ExpressRouteConnection) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "connectionName": autorest.Encode("path", connectionName), + "expressRouteGatewayName": autorest.Encode("path", expressRouteGatewayName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteGateways/{expressRouteGatewayName}/expressRouteConnections/{connectionName}", pathParameters), + autorest.WithJSON(putExpressRouteConnectionParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRouteConnectionsClient) CreateOrUpdateSender(req *http.Request) (future ExpressRouteConnectionsCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client ExpressRouteConnectionsClient) CreateOrUpdateResponder(resp *http.Response) (result ExpressRouteConnection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes a connection to a ExpressRoute circuit. +// Parameters: +// resourceGroupName - the name of the resource group. +// expressRouteGatewayName - the name of the ExpressRoute gateway. +// connectionName - the name of the connection subresource. +func (client ExpressRouteConnectionsClient) Delete(ctx context.Context, resourceGroupName string, expressRouteGatewayName string, connectionName string) (result ExpressRouteConnectionsDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteConnectionsClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, expressRouteGatewayName, connectionName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteConnectionsClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteConnectionsClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client ExpressRouteConnectionsClient) DeletePreparer(ctx context.Context, resourceGroupName string, expressRouteGatewayName string, connectionName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "connectionName": autorest.Encode("path", connectionName), + "expressRouteGatewayName": autorest.Encode("path", expressRouteGatewayName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteGateways/{expressRouteGatewayName}/expressRouteConnections/{connectionName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRouteConnectionsClient) DeleteSender(req *http.Request) (future ExpressRouteConnectionsDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client ExpressRouteConnectionsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets the specified ExpressRouteConnection. +// Parameters: +// resourceGroupName - the name of the resource group. +// expressRouteGatewayName - the name of the ExpressRoute gateway. +// connectionName - the name of the ExpressRoute connection. +func (client ExpressRouteConnectionsClient) Get(ctx context.Context, resourceGroupName string, expressRouteGatewayName string, connectionName string) (result ExpressRouteConnection, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteConnectionsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, expressRouteGatewayName, connectionName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteConnectionsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ExpressRouteConnectionsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteConnectionsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client ExpressRouteConnectionsClient) GetPreparer(ctx context.Context, resourceGroupName string, expressRouteGatewayName string, connectionName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "connectionName": autorest.Encode("path", connectionName), + "expressRouteGatewayName": autorest.Encode("path", expressRouteGatewayName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteGateways/{expressRouteGatewayName}/expressRouteConnections/{connectionName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRouteConnectionsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client ExpressRouteConnectionsClient) GetResponder(resp *http.Response) (result ExpressRouteConnection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List lists ExpressRouteConnections. +// Parameters: +// resourceGroupName - the name of the resource group. +// expressRouteGatewayName - the name of the ExpressRoute gateway. +func (client ExpressRouteConnectionsClient) List(ctx context.Context, resourceGroupName string, expressRouteGatewayName string) (result ExpressRouteConnectionList, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteConnectionsClient.List") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListPreparer(ctx, resourceGroupName, expressRouteGatewayName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteConnectionsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ExpressRouteConnectionsClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteConnectionsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client ExpressRouteConnectionsClient) ListPreparer(ctx context.Context, resourceGroupName string, expressRouteGatewayName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "expressRouteGatewayName": autorest.Encode("path", expressRouteGatewayName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteGateways/{expressRouteGatewayName}/expressRouteConnections", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRouteConnectionsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client ExpressRouteConnectionsClient) ListResponder(resp *http.Response) (result ExpressRouteConnectionList, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/network/mgmt/2019-08-01/network/expressroutecrossconnectionpeerings.go b/services/network/mgmt/2019-08-01/network/expressroutecrossconnectionpeerings.go new file mode 100644 index 000000000000..f03f189b4932 --- /dev/null +++ b/services/network/mgmt/2019-08-01/network/expressroutecrossconnectionpeerings.go @@ -0,0 +1,411 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// ExpressRouteCrossConnectionPeeringsClient is the network Client +type ExpressRouteCrossConnectionPeeringsClient struct { + BaseClient +} + +// NewExpressRouteCrossConnectionPeeringsClient creates an instance of the ExpressRouteCrossConnectionPeeringsClient +// client. +func NewExpressRouteCrossConnectionPeeringsClient(subscriptionID string) ExpressRouteCrossConnectionPeeringsClient { + return NewExpressRouteCrossConnectionPeeringsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewExpressRouteCrossConnectionPeeringsClientWithBaseURI creates an instance of the +// ExpressRouteCrossConnectionPeeringsClient client. +func NewExpressRouteCrossConnectionPeeringsClientWithBaseURI(baseURI string, subscriptionID string) ExpressRouteCrossConnectionPeeringsClient { + return ExpressRouteCrossConnectionPeeringsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates a peering in the specified ExpressRouteCrossConnection. +// Parameters: +// resourceGroupName - the name of the resource group. +// crossConnectionName - the name of the ExpressRouteCrossConnection. +// peeringName - the name of the peering. +// peeringParameters - parameters supplied to the create or update ExpressRouteCrossConnection peering +// operation. +func (client ExpressRouteCrossConnectionPeeringsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, crossConnectionName string, peeringName string, peeringParameters ExpressRouteCrossConnectionPeering) (result ExpressRouteCrossConnectionPeeringsCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCrossConnectionPeeringsClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: peeringParameters, + Constraints: []validation.Constraint{{Target: "peeringParameters.ExpressRouteCrossConnectionPeeringProperties", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "peeringParameters.ExpressRouteCrossConnectionPeeringProperties.PeerASN", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "peeringParameters.ExpressRouteCrossConnectionPeeringProperties.PeerASN", Name: validation.InclusiveMaximum, Rule: int64(4294967295), Chain: nil}, + {Target: "peeringParameters.ExpressRouteCrossConnectionPeeringProperties.PeerASN", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}, + }}, + }}}}}); err != nil { + return result, validation.NewError("network.ExpressRouteCrossConnectionPeeringsClient", "CreateOrUpdate", err.Error()) + } + + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, crossConnectionName, peeringName, peeringParameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCrossConnectionPeeringsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCrossConnectionPeeringsClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client ExpressRouteCrossConnectionPeeringsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, crossConnectionName string, peeringName string, peeringParameters ExpressRouteCrossConnectionPeering) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "crossConnectionName": autorest.Encode("path", crossConnectionName), + "peeringName": autorest.Encode("path", peeringName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + peeringParameters.Etag = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}", pathParameters), + autorest.WithJSON(peeringParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRouteCrossConnectionPeeringsClient) CreateOrUpdateSender(req *http.Request) (future ExpressRouteCrossConnectionPeeringsCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client ExpressRouteCrossConnectionPeeringsClient) CreateOrUpdateResponder(resp *http.Response) (result ExpressRouteCrossConnectionPeering, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the specified peering from the ExpressRouteCrossConnection. +// Parameters: +// resourceGroupName - the name of the resource group. +// crossConnectionName - the name of the ExpressRouteCrossConnection. +// peeringName - the name of the peering. +func (client ExpressRouteCrossConnectionPeeringsClient) Delete(ctx context.Context, resourceGroupName string, crossConnectionName string, peeringName string) (result ExpressRouteCrossConnectionPeeringsDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCrossConnectionPeeringsClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, crossConnectionName, peeringName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCrossConnectionPeeringsClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCrossConnectionPeeringsClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client ExpressRouteCrossConnectionPeeringsClient) DeletePreparer(ctx context.Context, resourceGroupName string, crossConnectionName string, peeringName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "crossConnectionName": autorest.Encode("path", crossConnectionName), + "peeringName": autorest.Encode("path", peeringName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRouteCrossConnectionPeeringsClient) DeleteSender(req *http.Request) (future ExpressRouteCrossConnectionPeeringsDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client ExpressRouteCrossConnectionPeeringsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets the specified peering for the ExpressRouteCrossConnection. +// Parameters: +// resourceGroupName - the name of the resource group. +// crossConnectionName - the name of the ExpressRouteCrossConnection. +// peeringName - the name of the peering. +func (client ExpressRouteCrossConnectionPeeringsClient) Get(ctx context.Context, resourceGroupName string, crossConnectionName string, peeringName string) (result ExpressRouteCrossConnectionPeering, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCrossConnectionPeeringsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, crossConnectionName, peeringName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCrossConnectionPeeringsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ExpressRouteCrossConnectionPeeringsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCrossConnectionPeeringsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client ExpressRouteCrossConnectionPeeringsClient) GetPreparer(ctx context.Context, resourceGroupName string, crossConnectionName string, peeringName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "crossConnectionName": autorest.Encode("path", crossConnectionName), + "peeringName": autorest.Encode("path", peeringName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRouteCrossConnectionPeeringsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client ExpressRouteCrossConnectionPeeringsClient) GetResponder(resp *http.Response) (result ExpressRouteCrossConnectionPeering, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets all peerings in a specified ExpressRouteCrossConnection. +// Parameters: +// resourceGroupName - the name of the resource group. +// crossConnectionName - the name of the ExpressRouteCrossConnection. +func (client ExpressRouteCrossConnectionPeeringsClient) List(ctx context.Context, resourceGroupName string, crossConnectionName string) (result ExpressRouteCrossConnectionPeeringListPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCrossConnectionPeeringsClient.List") + defer func() { + sc := -1 + if result.erccpl.Response.Response != nil { + sc = result.erccpl.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName, crossConnectionName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCrossConnectionPeeringsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.erccpl.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ExpressRouteCrossConnectionPeeringsClient", "List", resp, "Failure sending request") + return + } + + result.erccpl, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCrossConnectionPeeringsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client ExpressRouteCrossConnectionPeeringsClient) ListPreparer(ctx context.Context, resourceGroupName string, crossConnectionName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "crossConnectionName": autorest.Encode("path", crossConnectionName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRouteCrossConnectionPeeringsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client ExpressRouteCrossConnectionPeeringsClient) ListResponder(resp *http.Response) (result ExpressRouteCrossConnectionPeeringList, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client ExpressRouteCrossConnectionPeeringsClient) listNextResults(ctx context.Context, lastResults ExpressRouteCrossConnectionPeeringList) (result ExpressRouteCrossConnectionPeeringList, err error) { + req, err := lastResults.expressRouteCrossConnectionPeeringListPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.ExpressRouteCrossConnectionPeeringsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.ExpressRouteCrossConnectionPeeringsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCrossConnectionPeeringsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client ExpressRouteCrossConnectionPeeringsClient) ListComplete(ctx context.Context, resourceGroupName string, crossConnectionName string) (result ExpressRouteCrossConnectionPeeringListIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCrossConnectionPeeringsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName, crossConnectionName) + return +} diff --git a/services/network/mgmt/2019-08-01/network/expressroutecrossconnections.go b/services/network/mgmt/2019-08-01/network/expressroutecrossconnections.go new file mode 100644 index 000000000000..a3f46523c1bf --- /dev/null +++ b/services/network/mgmt/2019-08-01/network/expressroutecrossconnections.go @@ -0,0 +1,749 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// ExpressRouteCrossConnectionsClient is the network Client +type ExpressRouteCrossConnectionsClient struct { + BaseClient +} + +// NewExpressRouteCrossConnectionsClient creates an instance of the ExpressRouteCrossConnectionsClient client. +func NewExpressRouteCrossConnectionsClient(subscriptionID string) ExpressRouteCrossConnectionsClient { + return NewExpressRouteCrossConnectionsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewExpressRouteCrossConnectionsClientWithBaseURI creates an instance of the ExpressRouteCrossConnectionsClient +// client. +func NewExpressRouteCrossConnectionsClientWithBaseURI(baseURI string, subscriptionID string) ExpressRouteCrossConnectionsClient { + return ExpressRouteCrossConnectionsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate update the specified ExpressRouteCrossConnection. +// Parameters: +// resourceGroupName - the name of the resource group. +// crossConnectionName - the name of the ExpressRouteCrossConnection. +// parameters - parameters supplied to the update express route crossConnection operation. +func (client ExpressRouteCrossConnectionsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, crossConnectionName string, parameters ExpressRouteCrossConnection) (result ExpressRouteCrossConnectionsCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCrossConnectionsClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, crossConnectionName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCrossConnectionsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCrossConnectionsClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client ExpressRouteCrossConnectionsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, crossConnectionName string, parameters ExpressRouteCrossConnection) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "crossConnectionName": autorest.Encode("path", crossConnectionName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + parameters.Etag = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRouteCrossConnectionsClient) CreateOrUpdateSender(req *http.Request) (future ExpressRouteCrossConnectionsCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client ExpressRouteCrossConnectionsClient) CreateOrUpdateResponder(resp *http.Response) (result ExpressRouteCrossConnection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Get gets details about the specified ExpressRouteCrossConnection. +// Parameters: +// resourceGroupName - the name of the resource group (peering location of the circuit). +// crossConnectionName - the name of the ExpressRouteCrossConnection (service key of the circuit). +func (client ExpressRouteCrossConnectionsClient) Get(ctx context.Context, resourceGroupName string, crossConnectionName string) (result ExpressRouteCrossConnection, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCrossConnectionsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, crossConnectionName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCrossConnectionsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ExpressRouteCrossConnectionsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCrossConnectionsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client ExpressRouteCrossConnectionsClient) GetPreparer(ctx context.Context, resourceGroupName string, crossConnectionName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "crossConnectionName": autorest.Encode("path", crossConnectionName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRouteCrossConnectionsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client ExpressRouteCrossConnectionsClient) GetResponder(resp *http.Response) (result ExpressRouteCrossConnection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List retrieves all the ExpressRouteCrossConnections in a subscription. +func (client ExpressRouteCrossConnectionsClient) List(ctx context.Context) (result ExpressRouteCrossConnectionListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCrossConnectionsClient.List") + defer func() { + sc := -1 + if result.ercclr.Response.Response != nil { + sc = result.ercclr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCrossConnectionsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.ercclr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ExpressRouteCrossConnectionsClient", "List", resp, "Failure sending request") + return + } + + result.ercclr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCrossConnectionsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client ExpressRouteCrossConnectionsClient) ListPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/expressRouteCrossConnections", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRouteCrossConnectionsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client ExpressRouteCrossConnectionsClient) ListResponder(resp *http.Response) (result ExpressRouteCrossConnectionListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client ExpressRouteCrossConnectionsClient) listNextResults(ctx context.Context, lastResults ExpressRouteCrossConnectionListResult) (result ExpressRouteCrossConnectionListResult, err error) { + req, err := lastResults.expressRouteCrossConnectionListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.ExpressRouteCrossConnectionsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.ExpressRouteCrossConnectionsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCrossConnectionsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client ExpressRouteCrossConnectionsClient) ListComplete(ctx context.Context) (result ExpressRouteCrossConnectionListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCrossConnectionsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx) + return +} + +// ListArpTable gets the currently advertised ARP table associated with the express route cross connection in a +// resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +// crossConnectionName - the name of the ExpressRouteCrossConnection. +// peeringName - the name of the peering. +// devicePath - the path of the device. +func (client ExpressRouteCrossConnectionsClient) ListArpTable(ctx context.Context, resourceGroupName string, crossConnectionName string, peeringName string, devicePath string) (result ExpressRouteCrossConnectionsListArpTableFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCrossConnectionsClient.ListArpTable") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListArpTablePreparer(ctx, resourceGroupName, crossConnectionName, peeringName, devicePath) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCrossConnectionsClient", "ListArpTable", nil, "Failure preparing request") + return + } + + result, err = client.ListArpTableSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCrossConnectionsClient", "ListArpTable", result.Response(), "Failure sending request") + return + } + + return +} + +// ListArpTablePreparer prepares the ListArpTable request. +func (client ExpressRouteCrossConnectionsClient) ListArpTablePreparer(ctx context.Context, resourceGroupName string, crossConnectionName string, peeringName string, devicePath string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "crossConnectionName": autorest.Encode("path", crossConnectionName), + "devicePath": autorest.Encode("path", devicePath), + "peeringName": autorest.Encode("path", peeringName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}/arpTables/{devicePath}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListArpTableSender sends the ListArpTable request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRouteCrossConnectionsClient) ListArpTableSender(req *http.Request) (future ExpressRouteCrossConnectionsListArpTableFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// ListArpTableResponder handles the response to the ListArpTable request. The method always +// closes the http.Response Body. +func (client ExpressRouteCrossConnectionsClient) ListArpTableResponder(resp *http.Response) (result ExpressRouteCircuitsArpTableListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByResourceGroup retrieves all the ExpressRouteCrossConnections in a resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +func (client ExpressRouteCrossConnectionsClient) ListByResourceGroup(ctx context.Context, resourceGroupName string) (result ExpressRouteCrossConnectionListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCrossConnectionsClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.ercclr.Response.Response != nil { + sc = result.ercclr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listByResourceGroupNextResults + req, err := client.ListByResourceGroupPreparer(ctx, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCrossConnectionsClient", "ListByResourceGroup", nil, "Failure preparing request") + return + } + + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.ercclr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ExpressRouteCrossConnectionsClient", "ListByResourceGroup", resp, "Failure sending request") + return + } + + result.ercclr, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCrossConnectionsClient", "ListByResourceGroup", resp, "Failure responding to request") + } + + return +} + +// ListByResourceGroupPreparer prepares the ListByResourceGroup request. +func (client ExpressRouteCrossConnectionsClient) ListByResourceGroupPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByResourceGroupSender sends the ListByResourceGroup request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRouteCrossConnectionsClient) ListByResourceGroupSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByResourceGroupResponder handles the response to the ListByResourceGroup request. The method always +// closes the http.Response Body. +func (client ExpressRouteCrossConnectionsClient) ListByResourceGroupResponder(resp *http.Response) (result ExpressRouteCrossConnectionListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listByResourceGroupNextResults retrieves the next set of results, if any. +func (client ExpressRouteCrossConnectionsClient) listByResourceGroupNextResults(ctx context.Context, lastResults ExpressRouteCrossConnectionListResult) (result ExpressRouteCrossConnectionListResult, err error) { + req, err := lastResults.expressRouteCrossConnectionListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.ExpressRouteCrossConnectionsClient", "listByResourceGroupNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.ExpressRouteCrossConnectionsClient", "listByResourceGroupNextResults", resp, "Failure sending next results request") + } + result, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCrossConnectionsClient", "listByResourceGroupNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListByResourceGroupComplete enumerates all values, automatically crossing page boundaries as required. +func (client ExpressRouteCrossConnectionsClient) ListByResourceGroupComplete(ctx context.Context, resourceGroupName string) (result ExpressRouteCrossConnectionListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCrossConnectionsClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListByResourceGroup(ctx, resourceGroupName) + return +} + +// ListRoutesTable gets the currently advertised routes table associated with the express route cross connection in a +// resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +// crossConnectionName - the name of the ExpressRouteCrossConnection. +// peeringName - the name of the peering. +// devicePath - the path of the device. +func (client ExpressRouteCrossConnectionsClient) ListRoutesTable(ctx context.Context, resourceGroupName string, crossConnectionName string, peeringName string, devicePath string) (result ExpressRouteCrossConnectionsListRoutesTableFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCrossConnectionsClient.ListRoutesTable") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListRoutesTablePreparer(ctx, resourceGroupName, crossConnectionName, peeringName, devicePath) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCrossConnectionsClient", "ListRoutesTable", nil, "Failure preparing request") + return + } + + result, err = client.ListRoutesTableSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCrossConnectionsClient", "ListRoutesTable", result.Response(), "Failure sending request") + return + } + + return +} + +// ListRoutesTablePreparer prepares the ListRoutesTable request. +func (client ExpressRouteCrossConnectionsClient) ListRoutesTablePreparer(ctx context.Context, resourceGroupName string, crossConnectionName string, peeringName string, devicePath string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "crossConnectionName": autorest.Encode("path", crossConnectionName), + "devicePath": autorest.Encode("path", devicePath), + "peeringName": autorest.Encode("path", peeringName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}/routeTables/{devicePath}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListRoutesTableSender sends the ListRoutesTable request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRouteCrossConnectionsClient) ListRoutesTableSender(req *http.Request) (future ExpressRouteCrossConnectionsListRoutesTableFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// ListRoutesTableResponder handles the response to the ListRoutesTable request. The method always +// closes the http.Response Body. +func (client ExpressRouteCrossConnectionsClient) ListRoutesTableResponder(resp *http.Response) (result ExpressRouteCircuitsRoutesTableListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListRoutesTableSummary gets the route table summary associated with the express route cross connection in a resource +// group. +// Parameters: +// resourceGroupName - the name of the resource group. +// crossConnectionName - the name of the ExpressRouteCrossConnection. +// peeringName - the name of the peering. +// devicePath - the path of the device. +func (client ExpressRouteCrossConnectionsClient) ListRoutesTableSummary(ctx context.Context, resourceGroupName string, crossConnectionName string, peeringName string, devicePath string) (result ExpressRouteCrossConnectionsListRoutesTableSummaryFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCrossConnectionsClient.ListRoutesTableSummary") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListRoutesTableSummaryPreparer(ctx, resourceGroupName, crossConnectionName, peeringName, devicePath) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCrossConnectionsClient", "ListRoutesTableSummary", nil, "Failure preparing request") + return + } + + result, err = client.ListRoutesTableSummarySender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCrossConnectionsClient", "ListRoutesTableSummary", result.Response(), "Failure sending request") + return + } + + return +} + +// ListRoutesTableSummaryPreparer prepares the ListRoutesTableSummary request. +func (client ExpressRouteCrossConnectionsClient) ListRoutesTableSummaryPreparer(ctx context.Context, resourceGroupName string, crossConnectionName string, peeringName string, devicePath string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "crossConnectionName": autorest.Encode("path", crossConnectionName), + "devicePath": autorest.Encode("path", devicePath), + "peeringName": autorest.Encode("path", peeringName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}/routeTablesSummary/{devicePath}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListRoutesTableSummarySender sends the ListRoutesTableSummary request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRouteCrossConnectionsClient) ListRoutesTableSummarySender(req *http.Request) (future ExpressRouteCrossConnectionsListRoutesTableSummaryFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// ListRoutesTableSummaryResponder handles the response to the ListRoutesTableSummary request. The method always +// closes the http.Response Body. +func (client ExpressRouteCrossConnectionsClient) ListRoutesTableSummaryResponder(resp *http.Response) (result ExpressRouteCrossConnectionsRoutesTableSummaryListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// UpdateTags updates an express route cross connection tags. +// Parameters: +// resourceGroupName - the name of the resource group. +// crossConnectionName - the name of the cross connection. +// crossConnectionParameters - parameters supplied to update express route cross connection tags. +func (client ExpressRouteCrossConnectionsClient) UpdateTags(ctx context.Context, resourceGroupName string, crossConnectionName string, crossConnectionParameters TagsObject) (result ExpressRouteCrossConnectionsUpdateTagsFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCrossConnectionsClient.UpdateTags") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdateTagsPreparer(ctx, resourceGroupName, crossConnectionName, crossConnectionParameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCrossConnectionsClient", "UpdateTags", nil, "Failure preparing request") + return + } + + result, err = client.UpdateTagsSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCrossConnectionsClient", "UpdateTags", result.Response(), "Failure sending request") + return + } + + return +} + +// UpdateTagsPreparer prepares the UpdateTags request. +func (client ExpressRouteCrossConnectionsClient) UpdateTagsPreparer(ctx context.Context, resourceGroupName string, crossConnectionName string, crossConnectionParameters TagsObject) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "crossConnectionName": autorest.Encode("path", crossConnectionName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}", pathParameters), + autorest.WithJSON(crossConnectionParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateTagsSender sends the UpdateTags request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRouteCrossConnectionsClient) UpdateTagsSender(req *http.Request) (future ExpressRouteCrossConnectionsUpdateTagsFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// UpdateTagsResponder handles the response to the UpdateTags request. The method always +// closes the http.Response Body. +func (client ExpressRouteCrossConnectionsClient) UpdateTagsResponder(resp *http.Response) (result ExpressRouteCrossConnection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/network/mgmt/2019-08-01/network/expressroutegateways.go b/services/network/mgmt/2019-08-01/network/expressroutegateways.go new file mode 100644 index 000000000000..9bc05d6e784b --- /dev/null +++ b/services/network/mgmt/2019-08-01/network/expressroutegateways.go @@ -0,0 +1,431 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// ExpressRouteGatewaysClient is the network Client +type ExpressRouteGatewaysClient struct { + BaseClient +} + +// NewExpressRouteGatewaysClient creates an instance of the ExpressRouteGatewaysClient client. +func NewExpressRouteGatewaysClient(subscriptionID string) ExpressRouteGatewaysClient { + return NewExpressRouteGatewaysClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewExpressRouteGatewaysClientWithBaseURI creates an instance of the ExpressRouteGatewaysClient client. +func NewExpressRouteGatewaysClientWithBaseURI(baseURI string, subscriptionID string) ExpressRouteGatewaysClient { + return ExpressRouteGatewaysClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates a ExpressRoute gateway in a specified resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +// expressRouteGatewayName - the name of the ExpressRoute gateway. +// putExpressRouteGatewayParameters - parameters required in an ExpressRoute gateway PUT operation. +func (client ExpressRouteGatewaysClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, expressRouteGatewayName string, putExpressRouteGatewayParameters ExpressRouteGateway) (result ExpressRouteGatewaysCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteGatewaysClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: putExpressRouteGatewayParameters, + Constraints: []validation.Constraint{{Target: "putExpressRouteGatewayParameters.ExpressRouteGatewayProperties", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "putExpressRouteGatewayParameters.ExpressRouteGatewayProperties.VirtualHub", Name: validation.Null, Rule: true, Chain: nil}}}}}}); err != nil { + return result, validation.NewError("network.ExpressRouteGatewaysClient", "CreateOrUpdate", err.Error()) + } + + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, expressRouteGatewayName, putExpressRouteGatewayParameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteGatewaysClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteGatewaysClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client ExpressRouteGatewaysClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, expressRouteGatewayName string, putExpressRouteGatewayParameters ExpressRouteGateway) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "expressRouteGatewayName": autorest.Encode("path", expressRouteGatewayName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + putExpressRouteGatewayParameters.Etag = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteGateways/{expressRouteGatewayName}", pathParameters), + autorest.WithJSON(putExpressRouteGatewayParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRouteGatewaysClient) CreateOrUpdateSender(req *http.Request) (future ExpressRouteGatewaysCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client ExpressRouteGatewaysClient) CreateOrUpdateResponder(resp *http.Response) (result ExpressRouteGateway, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the specified ExpressRoute gateway in a resource group. An ExpressRoute gateway resource can only be +// deleted when there are no connection subresources. +// Parameters: +// resourceGroupName - the name of the resource group. +// expressRouteGatewayName - the name of the ExpressRoute gateway. +func (client ExpressRouteGatewaysClient) Delete(ctx context.Context, resourceGroupName string, expressRouteGatewayName string) (result ExpressRouteGatewaysDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteGatewaysClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, expressRouteGatewayName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteGatewaysClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteGatewaysClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client ExpressRouteGatewaysClient) DeletePreparer(ctx context.Context, resourceGroupName string, expressRouteGatewayName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "expressRouteGatewayName": autorest.Encode("path", expressRouteGatewayName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteGateways/{expressRouteGatewayName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRouteGatewaysClient) DeleteSender(req *http.Request) (future ExpressRouteGatewaysDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client ExpressRouteGatewaysClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get fetches the details of a ExpressRoute gateway in a resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +// expressRouteGatewayName - the name of the ExpressRoute gateway. +func (client ExpressRouteGatewaysClient) Get(ctx context.Context, resourceGroupName string, expressRouteGatewayName string) (result ExpressRouteGateway, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteGatewaysClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, expressRouteGatewayName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteGatewaysClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ExpressRouteGatewaysClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteGatewaysClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client ExpressRouteGatewaysClient) GetPreparer(ctx context.Context, resourceGroupName string, expressRouteGatewayName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "expressRouteGatewayName": autorest.Encode("path", expressRouteGatewayName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteGateways/{expressRouteGatewayName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRouteGatewaysClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client ExpressRouteGatewaysClient) GetResponder(resp *http.Response) (result ExpressRouteGateway, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByResourceGroup lists ExpressRoute gateways in a given resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +func (client ExpressRouteGatewaysClient) ListByResourceGroup(ctx context.Context, resourceGroupName string) (result ExpressRouteGatewayList, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteGatewaysClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListByResourceGroupPreparer(ctx, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteGatewaysClient", "ListByResourceGroup", nil, "Failure preparing request") + return + } + + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ExpressRouteGatewaysClient", "ListByResourceGroup", resp, "Failure sending request") + return + } + + result, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteGatewaysClient", "ListByResourceGroup", resp, "Failure responding to request") + } + + return +} + +// ListByResourceGroupPreparer prepares the ListByResourceGroup request. +func (client ExpressRouteGatewaysClient) ListByResourceGroupPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteGateways", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByResourceGroupSender sends the ListByResourceGroup request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRouteGatewaysClient) ListByResourceGroupSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByResourceGroupResponder handles the response to the ListByResourceGroup request. The method always +// closes the http.Response Body. +func (client ExpressRouteGatewaysClient) ListByResourceGroupResponder(resp *http.Response) (result ExpressRouteGatewayList, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListBySubscription lists ExpressRoute gateways under a given subscription. +func (client ExpressRouteGatewaysClient) ListBySubscription(ctx context.Context) (result ExpressRouteGatewayList, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteGatewaysClient.ListBySubscription") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListBySubscriptionPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteGatewaysClient", "ListBySubscription", nil, "Failure preparing request") + return + } + + resp, err := client.ListBySubscriptionSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ExpressRouteGatewaysClient", "ListBySubscription", resp, "Failure sending request") + return + } + + result, err = client.ListBySubscriptionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteGatewaysClient", "ListBySubscription", resp, "Failure responding to request") + } + + return +} + +// ListBySubscriptionPreparer prepares the ListBySubscription request. +func (client ExpressRouteGatewaysClient) ListBySubscriptionPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/expressRouteGateways", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListBySubscriptionSender sends the ListBySubscription request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRouteGatewaysClient) ListBySubscriptionSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListBySubscriptionResponder handles the response to the ListBySubscription request. The method always +// closes the http.Response Body. +func (client ExpressRouteGatewaysClient) ListBySubscriptionResponder(resp *http.Response) (result ExpressRouteGatewayList, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/network/mgmt/2019-08-01/network/expressroutelinks.go b/services/network/mgmt/2019-08-01/network/expressroutelinks.go new file mode 100644 index 000000000000..2d1f07f03884 --- /dev/null +++ b/services/network/mgmt/2019-08-01/network/expressroutelinks.go @@ -0,0 +1,235 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// ExpressRouteLinksClient is the network Client +type ExpressRouteLinksClient struct { + BaseClient +} + +// NewExpressRouteLinksClient creates an instance of the ExpressRouteLinksClient client. +func NewExpressRouteLinksClient(subscriptionID string) ExpressRouteLinksClient { + return NewExpressRouteLinksClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewExpressRouteLinksClientWithBaseURI creates an instance of the ExpressRouteLinksClient client. +func NewExpressRouteLinksClientWithBaseURI(baseURI string, subscriptionID string) ExpressRouteLinksClient { + return ExpressRouteLinksClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// Get retrieves the specified ExpressRouteLink resource. +// Parameters: +// resourceGroupName - the name of the resource group. +// expressRoutePortName - the name of the ExpressRoutePort resource. +// linkName - the name of the ExpressRouteLink resource. +func (client ExpressRouteLinksClient) Get(ctx context.Context, resourceGroupName string, expressRoutePortName string, linkName string) (result ExpressRouteLink, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteLinksClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, expressRoutePortName, linkName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteLinksClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ExpressRouteLinksClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteLinksClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client ExpressRouteLinksClient) GetPreparer(ctx context.Context, resourceGroupName string, expressRoutePortName string, linkName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "expressRoutePortName": autorest.Encode("path", expressRoutePortName), + "linkName": autorest.Encode("path", linkName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ExpressRoutePorts/{expressRoutePortName}/links/{linkName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRouteLinksClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client ExpressRouteLinksClient) GetResponder(resp *http.Response) (result ExpressRouteLink, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List retrieve the ExpressRouteLink sub-resources of the specified ExpressRoutePort resource. +// Parameters: +// resourceGroupName - the name of the resource group. +// expressRoutePortName - the name of the ExpressRoutePort resource. +func (client ExpressRouteLinksClient) List(ctx context.Context, resourceGroupName string, expressRoutePortName string) (result ExpressRouteLinkListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteLinksClient.List") + defer func() { + sc := -1 + if result.erllr.Response.Response != nil { + sc = result.erllr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName, expressRoutePortName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteLinksClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.erllr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ExpressRouteLinksClient", "List", resp, "Failure sending request") + return + } + + result.erllr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteLinksClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client ExpressRouteLinksClient) ListPreparer(ctx context.Context, resourceGroupName string, expressRoutePortName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "expressRoutePortName": autorest.Encode("path", expressRoutePortName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ExpressRoutePorts/{expressRoutePortName}/links", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRouteLinksClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client ExpressRouteLinksClient) ListResponder(resp *http.Response) (result ExpressRouteLinkListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client ExpressRouteLinksClient) listNextResults(ctx context.Context, lastResults ExpressRouteLinkListResult) (result ExpressRouteLinkListResult, err error) { + req, err := lastResults.expressRouteLinkListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.ExpressRouteLinksClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.ExpressRouteLinksClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteLinksClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client ExpressRouteLinksClient) ListComplete(ctx context.Context, resourceGroupName string, expressRoutePortName string) (result ExpressRouteLinkListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteLinksClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName, expressRoutePortName) + return +} diff --git a/services/network/mgmt/2019-08-01/network/expressrouteports.go b/services/network/mgmt/2019-08-01/network/expressrouteports.go new file mode 100644 index 000000000000..a914fe07b4ab --- /dev/null +++ b/services/network/mgmt/2019-08-01/network/expressrouteports.go @@ -0,0 +1,578 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// ExpressRoutePortsClient is the network Client +type ExpressRoutePortsClient struct { + BaseClient +} + +// NewExpressRoutePortsClient creates an instance of the ExpressRoutePortsClient client. +func NewExpressRoutePortsClient(subscriptionID string) ExpressRoutePortsClient { + return NewExpressRoutePortsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewExpressRoutePortsClientWithBaseURI creates an instance of the ExpressRoutePortsClient client. +func NewExpressRoutePortsClientWithBaseURI(baseURI string, subscriptionID string) ExpressRoutePortsClient { + return ExpressRoutePortsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates the specified ExpressRoutePort resource. +// Parameters: +// resourceGroupName - the name of the resource group. +// expressRoutePortName - the name of the ExpressRoutePort resource. +// parameters - parameters supplied to the create ExpressRoutePort operation. +func (client ExpressRoutePortsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, expressRoutePortName string, parameters ExpressRoutePort) (result ExpressRoutePortsCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRoutePortsClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, expressRoutePortName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRoutePortsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRoutePortsClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client ExpressRoutePortsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, expressRoutePortName string, parameters ExpressRoutePort) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "expressRoutePortName": autorest.Encode("path", expressRoutePortName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + parameters.Etag = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ExpressRoutePorts/{expressRoutePortName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRoutePortsClient) CreateOrUpdateSender(req *http.Request) (future ExpressRoutePortsCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client ExpressRoutePortsClient) CreateOrUpdateResponder(resp *http.Response) (result ExpressRoutePort, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the specified ExpressRoutePort resource. +// Parameters: +// resourceGroupName - the name of the resource group. +// expressRoutePortName - the name of the ExpressRoutePort resource. +func (client ExpressRoutePortsClient) Delete(ctx context.Context, resourceGroupName string, expressRoutePortName string) (result ExpressRoutePortsDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRoutePortsClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, expressRoutePortName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRoutePortsClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRoutePortsClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client ExpressRoutePortsClient) DeletePreparer(ctx context.Context, resourceGroupName string, expressRoutePortName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "expressRoutePortName": autorest.Encode("path", expressRoutePortName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ExpressRoutePorts/{expressRoutePortName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRoutePortsClient) DeleteSender(req *http.Request) (future ExpressRoutePortsDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client ExpressRoutePortsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get retrieves the requested ExpressRoutePort resource. +// Parameters: +// resourceGroupName - the name of the resource group. +// expressRoutePortName - the name of ExpressRoutePort. +func (client ExpressRoutePortsClient) Get(ctx context.Context, resourceGroupName string, expressRoutePortName string) (result ExpressRoutePort, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRoutePortsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, expressRoutePortName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRoutePortsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ExpressRoutePortsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRoutePortsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client ExpressRoutePortsClient) GetPreparer(ctx context.Context, resourceGroupName string, expressRoutePortName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "expressRoutePortName": autorest.Encode("path", expressRoutePortName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ExpressRoutePorts/{expressRoutePortName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRoutePortsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client ExpressRoutePortsClient) GetResponder(resp *http.Response) (result ExpressRoutePort, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List list all the ExpressRoutePort resources in the specified subscription. +func (client ExpressRoutePortsClient) List(ctx context.Context) (result ExpressRoutePortListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRoutePortsClient.List") + defer func() { + sc := -1 + if result.erplr.Response.Response != nil { + sc = result.erplr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRoutePortsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.erplr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ExpressRoutePortsClient", "List", resp, "Failure sending request") + return + } + + result.erplr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRoutePortsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client ExpressRoutePortsClient) ListPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/ExpressRoutePorts", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRoutePortsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client ExpressRoutePortsClient) ListResponder(resp *http.Response) (result ExpressRoutePortListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client ExpressRoutePortsClient) listNextResults(ctx context.Context, lastResults ExpressRoutePortListResult) (result ExpressRoutePortListResult, err error) { + req, err := lastResults.expressRoutePortListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.ExpressRoutePortsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.ExpressRoutePortsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRoutePortsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client ExpressRoutePortsClient) ListComplete(ctx context.Context) (result ExpressRoutePortListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRoutePortsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx) + return +} + +// ListByResourceGroup list all the ExpressRoutePort resources in the specified resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +func (client ExpressRoutePortsClient) ListByResourceGroup(ctx context.Context, resourceGroupName string) (result ExpressRoutePortListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRoutePortsClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.erplr.Response.Response != nil { + sc = result.erplr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listByResourceGroupNextResults + req, err := client.ListByResourceGroupPreparer(ctx, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRoutePortsClient", "ListByResourceGroup", nil, "Failure preparing request") + return + } + + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.erplr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ExpressRoutePortsClient", "ListByResourceGroup", resp, "Failure sending request") + return + } + + result.erplr, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRoutePortsClient", "ListByResourceGroup", resp, "Failure responding to request") + } + + return +} + +// ListByResourceGroupPreparer prepares the ListByResourceGroup request. +func (client ExpressRoutePortsClient) ListByResourceGroupPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ExpressRoutePorts", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByResourceGroupSender sends the ListByResourceGroup request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRoutePortsClient) ListByResourceGroupSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByResourceGroupResponder handles the response to the ListByResourceGroup request. The method always +// closes the http.Response Body. +func (client ExpressRoutePortsClient) ListByResourceGroupResponder(resp *http.Response) (result ExpressRoutePortListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listByResourceGroupNextResults retrieves the next set of results, if any. +func (client ExpressRoutePortsClient) listByResourceGroupNextResults(ctx context.Context, lastResults ExpressRoutePortListResult) (result ExpressRoutePortListResult, err error) { + req, err := lastResults.expressRoutePortListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.ExpressRoutePortsClient", "listByResourceGroupNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.ExpressRoutePortsClient", "listByResourceGroupNextResults", resp, "Failure sending next results request") + } + result, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRoutePortsClient", "listByResourceGroupNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListByResourceGroupComplete enumerates all values, automatically crossing page boundaries as required. +func (client ExpressRoutePortsClient) ListByResourceGroupComplete(ctx context.Context, resourceGroupName string) (result ExpressRoutePortListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRoutePortsClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListByResourceGroup(ctx, resourceGroupName) + return +} + +// UpdateTags update ExpressRoutePort tags. +// Parameters: +// resourceGroupName - the name of the resource group. +// expressRoutePortName - the name of the ExpressRoutePort resource. +// parameters - parameters supplied to update ExpressRoutePort resource tags. +func (client ExpressRoutePortsClient) UpdateTags(ctx context.Context, resourceGroupName string, expressRoutePortName string, parameters TagsObject) (result ExpressRoutePortsUpdateTagsFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRoutePortsClient.UpdateTags") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdateTagsPreparer(ctx, resourceGroupName, expressRoutePortName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRoutePortsClient", "UpdateTags", nil, "Failure preparing request") + return + } + + result, err = client.UpdateTagsSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRoutePortsClient", "UpdateTags", result.Response(), "Failure sending request") + return + } + + return +} + +// UpdateTagsPreparer prepares the UpdateTags request. +func (client ExpressRoutePortsClient) UpdateTagsPreparer(ctx context.Context, resourceGroupName string, expressRoutePortName string, parameters TagsObject) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "expressRoutePortName": autorest.Encode("path", expressRoutePortName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ExpressRoutePorts/{expressRoutePortName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateTagsSender sends the UpdateTags request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRoutePortsClient) UpdateTagsSender(req *http.Request) (future ExpressRoutePortsUpdateTagsFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// UpdateTagsResponder handles the response to the UpdateTags request. The method always +// closes the http.Response Body. +func (client ExpressRoutePortsClient) UpdateTagsResponder(resp *http.Response) (result ExpressRoutePort, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/network/mgmt/2019-08-01/network/expressrouteportslocations.go b/services/network/mgmt/2019-08-01/network/expressrouteportslocations.go new file mode 100644 index 000000000000..37aa2cd9958a --- /dev/null +++ b/services/network/mgmt/2019-08-01/network/expressrouteportslocations.go @@ -0,0 +1,228 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// ExpressRoutePortsLocationsClient is the network Client +type ExpressRoutePortsLocationsClient struct { + BaseClient +} + +// NewExpressRoutePortsLocationsClient creates an instance of the ExpressRoutePortsLocationsClient client. +func NewExpressRoutePortsLocationsClient(subscriptionID string) ExpressRoutePortsLocationsClient { + return NewExpressRoutePortsLocationsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewExpressRoutePortsLocationsClientWithBaseURI creates an instance of the ExpressRoutePortsLocationsClient client. +func NewExpressRoutePortsLocationsClientWithBaseURI(baseURI string, subscriptionID string) ExpressRoutePortsLocationsClient { + return ExpressRoutePortsLocationsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// Get retrieves a single ExpressRoutePort peering location, including the list of available bandwidths available at +// said peering location. +// Parameters: +// locationName - name of the requested ExpressRoutePort peering location. +func (client ExpressRoutePortsLocationsClient) Get(ctx context.Context, locationName string) (result ExpressRoutePortsLocation, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRoutePortsLocationsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, locationName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRoutePortsLocationsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ExpressRoutePortsLocationsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRoutePortsLocationsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client ExpressRoutePortsLocationsClient) GetPreparer(ctx context.Context, locationName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "locationName": autorest.Encode("path", locationName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/ExpressRoutePortsLocations/{locationName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRoutePortsLocationsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client ExpressRoutePortsLocationsClient) GetResponder(resp *http.Response) (result ExpressRoutePortsLocation, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List retrieves all ExpressRoutePort peering locations. Does not return available bandwidths for each location. +// Available bandwidths can only be obtained when retrieving a specific peering location. +func (client ExpressRoutePortsLocationsClient) List(ctx context.Context) (result ExpressRoutePortsLocationListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRoutePortsLocationsClient.List") + defer func() { + sc := -1 + if result.erpllr.Response.Response != nil { + sc = result.erpllr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRoutePortsLocationsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.erpllr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ExpressRoutePortsLocationsClient", "List", resp, "Failure sending request") + return + } + + result.erpllr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRoutePortsLocationsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client ExpressRoutePortsLocationsClient) ListPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/ExpressRoutePortsLocations", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRoutePortsLocationsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client ExpressRoutePortsLocationsClient) ListResponder(resp *http.Response) (result ExpressRoutePortsLocationListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client ExpressRoutePortsLocationsClient) listNextResults(ctx context.Context, lastResults ExpressRoutePortsLocationListResult) (result ExpressRoutePortsLocationListResult, err error) { + req, err := lastResults.expressRoutePortsLocationListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.ExpressRoutePortsLocationsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.ExpressRoutePortsLocationsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRoutePortsLocationsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client ExpressRoutePortsLocationsClient) ListComplete(ctx context.Context) (result ExpressRoutePortsLocationListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRoutePortsLocationsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx) + return +} diff --git a/services/network/mgmt/2019-08-01/network/expressrouteserviceproviders.go b/services/network/mgmt/2019-08-01/network/expressrouteserviceproviders.go new file mode 100644 index 000000000000..4fff7a13da67 --- /dev/null +++ b/services/network/mgmt/2019-08-01/network/expressrouteserviceproviders.go @@ -0,0 +1,152 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// ExpressRouteServiceProvidersClient is the network Client +type ExpressRouteServiceProvidersClient struct { + BaseClient +} + +// NewExpressRouteServiceProvidersClient creates an instance of the ExpressRouteServiceProvidersClient client. +func NewExpressRouteServiceProvidersClient(subscriptionID string) ExpressRouteServiceProvidersClient { + return NewExpressRouteServiceProvidersClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewExpressRouteServiceProvidersClientWithBaseURI creates an instance of the ExpressRouteServiceProvidersClient +// client. +func NewExpressRouteServiceProvidersClientWithBaseURI(baseURI string, subscriptionID string) ExpressRouteServiceProvidersClient { + return ExpressRouteServiceProvidersClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// List gets all the available express route service providers. +func (client ExpressRouteServiceProvidersClient) List(ctx context.Context) (result ExpressRouteServiceProviderListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteServiceProvidersClient.List") + defer func() { + sc := -1 + if result.ersplr.Response.Response != nil { + sc = result.ersplr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteServiceProvidersClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.ersplr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ExpressRouteServiceProvidersClient", "List", resp, "Failure sending request") + return + } + + result.ersplr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteServiceProvidersClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client ExpressRouteServiceProvidersClient) ListPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/expressRouteServiceProviders", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client ExpressRouteServiceProvidersClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client ExpressRouteServiceProvidersClient) ListResponder(resp *http.Response) (result ExpressRouteServiceProviderListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client ExpressRouteServiceProvidersClient) listNextResults(ctx context.Context, lastResults ExpressRouteServiceProviderListResult) (result ExpressRouteServiceProviderListResult, err error) { + req, err := lastResults.expressRouteServiceProviderListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.ExpressRouteServiceProvidersClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.ExpressRouteServiceProvidersClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteServiceProvidersClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client ExpressRouteServiceProvidersClient) ListComplete(ctx context.Context) (result ExpressRouteServiceProviderListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteServiceProvidersClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx) + return +} diff --git a/services/network/mgmt/2019-08-01/network/firewallpolicies.go b/services/network/mgmt/2019-08-01/network/firewallpolicies.go new file mode 100644 index 000000000000..b8a512a1d367 --- /dev/null +++ b/services/network/mgmt/2019-08-01/network/firewallpolicies.go @@ -0,0 +1,582 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// FirewallPoliciesClient is the network Client +type FirewallPoliciesClient struct { + BaseClient +} + +// NewFirewallPoliciesClient creates an instance of the FirewallPoliciesClient client. +func NewFirewallPoliciesClient(subscriptionID string) FirewallPoliciesClient { + return NewFirewallPoliciesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewFirewallPoliciesClientWithBaseURI creates an instance of the FirewallPoliciesClient client. +func NewFirewallPoliciesClientWithBaseURI(baseURI string, subscriptionID string) FirewallPoliciesClient { + return FirewallPoliciesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates the specified Firewall Policy. +// Parameters: +// resourceGroupName - the name of the resource group. +// firewallPolicyName - the name of the Firewall Policy. +// parameters - parameters supplied to the create or update Firewall Policy operation. +func (client FirewallPoliciesClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, firewallPolicyName string, parameters FirewallPolicy) (result FirewallPoliciesCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/FirewallPoliciesClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, firewallPolicyName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.FirewallPoliciesClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.FirewallPoliciesClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client FirewallPoliciesClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, firewallPolicyName string, parameters FirewallPolicy) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "firewallPolicyName": autorest.Encode("path", firewallPolicyName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + parameters.Etag = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/firewallPolicies/{firewallPolicyName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client FirewallPoliciesClient) CreateOrUpdateSender(req *http.Request) (future FirewallPoliciesCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client FirewallPoliciesClient) CreateOrUpdateResponder(resp *http.Response) (result FirewallPolicy, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the specified Firewall Policy. +// Parameters: +// resourceGroupName - the name of the resource group. +// firewallPolicyName - the name of the Firewall Policy. +func (client FirewallPoliciesClient) Delete(ctx context.Context, resourceGroupName string, firewallPolicyName string) (result FirewallPoliciesDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/FirewallPoliciesClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, firewallPolicyName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.FirewallPoliciesClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.FirewallPoliciesClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client FirewallPoliciesClient) DeletePreparer(ctx context.Context, resourceGroupName string, firewallPolicyName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "firewallPolicyName": autorest.Encode("path", firewallPolicyName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/firewallPolicies/{firewallPolicyName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client FirewallPoliciesClient) DeleteSender(req *http.Request) (future FirewallPoliciesDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client FirewallPoliciesClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets the specified Firewall Policy. +// Parameters: +// resourceGroupName - the name of the resource group. +// firewallPolicyName - the name of the Firewall Policy. +// expand - expands referenced resources. +func (client FirewallPoliciesClient) Get(ctx context.Context, resourceGroupName string, firewallPolicyName string, expand string) (result FirewallPolicy, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/FirewallPoliciesClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, firewallPolicyName, expand) + if err != nil { + err = autorest.NewErrorWithError(err, "network.FirewallPoliciesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.FirewallPoliciesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.FirewallPoliciesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client FirewallPoliciesClient) GetPreparer(ctx context.Context, resourceGroupName string, firewallPolicyName string, expand string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "firewallPolicyName": autorest.Encode("path", firewallPolicyName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(expand) > 0 { + queryParameters["$expand"] = autorest.Encode("query", expand) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/firewallPolicies/{firewallPolicyName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client FirewallPoliciesClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client FirewallPoliciesClient) GetResponder(resp *http.Response) (result FirewallPolicy, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List lists all Firewall Policies in a resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +func (client FirewallPoliciesClient) List(ctx context.Context, resourceGroupName string) (result FirewallPolicyListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/FirewallPoliciesClient.List") + defer func() { + sc := -1 + if result.fplr.Response.Response != nil { + sc = result.fplr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.FirewallPoliciesClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.fplr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.FirewallPoliciesClient", "List", resp, "Failure sending request") + return + } + + result.fplr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.FirewallPoliciesClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client FirewallPoliciesClient) ListPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/firewallPolicies", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client FirewallPoliciesClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client FirewallPoliciesClient) ListResponder(resp *http.Response) (result FirewallPolicyListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client FirewallPoliciesClient) listNextResults(ctx context.Context, lastResults FirewallPolicyListResult) (result FirewallPolicyListResult, err error) { + req, err := lastResults.firewallPolicyListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.FirewallPoliciesClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.FirewallPoliciesClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.FirewallPoliciesClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client FirewallPoliciesClient) ListComplete(ctx context.Context, resourceGroupName string) (result FirewallPolicyListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/FirewallPoliciesClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName) + return +} + +// ListAll gets all the Firewall Policies in a subscription. +func (client FirewallPoliciesClient) ListAll(ctx context.Context) (result FirewallPolicyListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/FirewallPoliciesClient.ListAll") + defer func() { + sc := -1 + if result.fplr.Response.Response != nil { + sc = result.fplr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listAllNextResults + req, err := client.ListAllPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "network.FirewallPoliciesClient", "ListAll", nil, "Failure preparing request") + return + } + + resp, err := client.ListAllSender(req) + if err != nil { + result.fplr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.FirewallPoliciesClient", "ListAll", resp, "Failure sending request") + return + } + + result.fplr, err = client.ListAllResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.FirewallPoliciesClient", "ListAll", resp, "Failure responding to request") + } + + return +} + +// ListAllPreparer prepares the ListAll request. +func (client FirewallPoliciesClient) ListAllPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/firewallPolicies", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListAllSender sends the ListAll request. The method will close the +// http.Response Body if it receives an error. +func (client FirewallPoliciesClient) ListAllSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListAllResponder handles the response to the ListAll request. The method always +// closes the http.Response Body. +func (client FirewallPoliciesClient) ListAllResponder(resp *http.Response) (result FirewallPolicyListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listAllNextResults retrieves the next set of results, if any. +func (client FirewallPoliciesClient) listAllNextResults(ctx context.Context, lastResults FirewallPolicyListResult) (result FirewallPolicyListResult, err error) { + req, err := lastResults.firewallPolicyListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.FirewallPoliciesClient", "listAllNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListAllSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.FirewallPoliciesClient", "listAllNextResults", resp, "Failure sending next results request") + } + result, err = client.ListAllResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.FirewallPoliciesClient", "listAllNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListAllComplete enumerates all values, automatically crossing page boundaries as required. +func (client FirewallPoliciesClient) ListAllComplete(ctx context.Context) (result FirewallPolicyListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/FirewallPoliciesClient.ListAll") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListAll(ctx) + return +} + +// UpdateTags updates a Firewall Policy Tags. +// Parameters: +// resourceGroupName - the resource group name of the Firewall Policy. +// firewallPolicyName - the name of the Firewall Policy being updated. +// firewallPolicyParameters - parameters supplied to Update Firewall Policy tags. +func (client FirewallPoliciesClient) UpdateTags(ctx context.Context, resourceGroupName string, firewallPolicyName string, firewallPolicyParameters TagsObject) (result FirewallPolicy, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/FirewallPoliciesClient.UpdateTags") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdateTagsPreparer(ctx, resourceGroupName, firewallPolicyName, firewallPolicyParameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.FirewallPoliciesClient", "UpdateTags", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateTagsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.FirewallPoliciesClient", "UpdateTags", resp, "Failure sending request") + return + } + + result, err = client.UpdateTagsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.FirewallPoliciesClient", "UpdateTags", resp, "Failure responding to request") + } + + return +} + +// UpdateTagsPreparer prepares the UpdateTags request. +func (client FirewallPoliciesClient) UpdateTagsPreparer(ctx context.Context, resourceGroupName string, firewallPolicyName string, firewallPolicyParameters TagsObject) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "firewallPolicyName": autorest.Encode("path", firewallPolicyName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/firewallPolicies/{firewallPolicyName}", pathParameters), + autorest.WithJSON(firewallPolicyParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateTagsSender sends the UpdateTags request. The method will close the +// http.Response Body if it receives an error. +func (client FirewallPoliciesClient) UpdateTagsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// UpdateTagsResponder handles the response to the UpdateTags request. The method always +// closes the http.Response Body. +func (client FirewallPoliciesClient) UpdateTagsResponder(resp *http.Response) (result FirewallPolicy, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/network/mgmt/2019-08-01/network/firewallpolicyrulegroups.go b/services/network/mgmt/2019-08-01/network/firewallpolicyrulegroups.go new file mode 100644 index 000000000000..ee3a5036613f --- /dev/null +++ b/services/network/mgmt/2019-08-01/network/firewallpolicyrulegroups.go @@ -0,0 +1,409 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// FirewallPolicyRuleGroupsClient is the network Client +type FirewallPolicyRuleGroupsClient struct { + BaseClient +} + +// NewFirewallPolicyRuleGroupsClient creates an instance of the FirewallPolicyRuleGroupsClient client. +func NewFirewallPolicyRuleGroupsClient(subscriptionID string) FirewallPolicyRuleGroupsClient { + return NewFirewallPolicyRuleGroupsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewFirewallPolicyRuleGroupsClientWithBaseURI creates an instance of the FirewallPolicyRuleGroupsClient client. +func NewFirewallPolicyRuleGroupsClientWithBaseURI(baseURI string, subscriptionID string) FirewallPolicyRuleGroupsClient { + return FirewallPolicyRuleGroupsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates the specified FirewallPolicyRuleGroup. +// Parameters: +// resourceGroupName - the name of the resource group. +// firewallPolicyName - the name of the Firewall Policy. +// ruleGroupName - the name of the FirewallPolicyRuleGroup. +// parameters - parameters supplied to the create or update FirewallPolicyRuleGroup operation. +func (client FirewallPolicyRuleGroupsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, firewallPolicyName string, ruleGroupName string, parameters FirewallPolicyRuleGroup) (result FirewallPolicyRuleGroupsCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/FirewallPolicyRuleGroupsClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.FirewallPolicyRuleGroupProperties", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.FirewallPolicyRuleGroupProperties.Priority", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.FirewallPolicyRuleGroupProperties.Priority", Name: validation.InclusiveMaximum, Rule: int64(65000), Chain: nil}, + {Target: "parameters.FirewallPolicyRuleGroupProperties.Priority", Name: validation.InclusiveMinimum, Rule: 100, Chain: nil}, + }}, + }}}}}); err != nil { + return result, validation.NewError("network.FirewallPolicyRuleGroupsClient", "CreateOrUpdate", err.Error()) + } + + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, firewallPolicyName, ruleGroupName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.FirewallPolicyRuleGroupsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.FirewallPolicyRuleGroupsClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client FirewallPolicyRuleGroupsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, firewallPolicyName string, ruleGroupName string, parameters FirewallPolicyRuleGroup) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "firewallPolicyName": autorest.Encode("path", firewallPolicyName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "ruleGroupName": autorest.Encode("path", ruleGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + parameters.Etag = nil + parameters.Type = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/firewallPolicies/{firewallPolicyName}/ruleGroups/{ruleGroupName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client FirewallPolicyRuleGroupsClient) CreateOrUpdateSender(req *http.Request) (future FirewallPolicyRuleGroupsCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client FirewallPolicyRuleGroupsClient) CreateOrUpdateResponder(resp *http.Response) (result FirewallPolicyRuleGroup, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the specified FirewallPolicyRuleGroup. +// Parameters: +// resourceGroupName - the name of the resource group. +// firewallPolicyName - the name of the Firewall Policy. +// ruleGroupName - the name of the FirewallPolicyRuleGroup. +func (client FirewallPolicyRuleGroupsClient) Delete(ctx context.Context, resourceGroupName string, firewallPolicyName string, ruleGroupName string) (result FirewallPolicyRuleGroupsDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/FirewallPolicyRuleGroupsClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, firewallPolicyName, ruleGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.FirewallPolicyRuleGroupsClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.FirewallPolicyRuleGroupsClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client FirewallPolicyRuleGroupsClient) DeletePreparer(ctx context.Context, resourceGroupName string, firewallPolicyName string, ruleGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "firewallPolicyName": autorest.Encode("path", firewallPolicyName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "ruleGroupName": autorest.Encode("path", ruleGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/firewallPolicies/{firewallPolicyName}/ruleGroups/{ruleGroupName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client FirewallPolicyRuleGroupsClient) DeleteSender(req *http.Request) (future FirewallPolicyRuleGroupsDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client FirewallPolicyRuleGroupsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets the specified FirewallPolicyRuleGroup. +// Parameters: +// resourceGroupName - the name of the resource group. +// firewallPolicyName - the name of the Firewall Policy. +// ruleGroupName - the name of the FirewallPolicyRuleGroup. +func (client FirewallPolicyRuleGroupsClient) Get(ctx context.Context, resourceGroupName string, firewallPolicyName string, ruleGroupName string) (result FirewallPolicyRuleGroup, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/FirewallPolicyRuleGroupsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, firewallPolicyName, ruleGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.FirewallPolicyRuleGroupsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.FirewallPolicyRuleGroupsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.FirewallPolicyRuleGroupsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client FirewallPolicyRuleGroupsClient) GetPreparer(ctx context.Context, resourceGroupName string, firewallPolicyName string, ruleGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "firewallPolicyName": autorest.Encode("path", firewallPolicyName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "ruleGroupName": autorest.Encode("path", ruleGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/firewallPolicies/{firewallPolicyName}/ruleGroups/{ruleGroupName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client FirewallPolicyRuleGroupsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client FirewallPolicyRuleGroupsClient) GetResponder(resp *http.Response) (result FirewallPolicyRuleGroup, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List lists all FirewallPolicyRuleGroups in a FirewallPolicy resource. +// Parameters: +// resourceGroupName - the name of the resource group. +// firewallPolicyName - the name of the Firewall Policy. +func (client FirewallPolicyRuleGroupsClient) List(ctx context.Context, resourceGroupName string, firewallPolicyName string) (result FirewallPolicyRuleGroupListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/FirewallPolicyRuleGroupsClient.List") + defer func() { + sc := -1 + if result.fprglr.Response.Response != nil { + sc = result.fprglr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName, firewallPolicyName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.FirewallPolicyRuleGroupsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.fprglr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.FirewallPolicyRuleGroupsClient", "List", resp, "Failure sending request") + return + } + + result.fprglr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.FirewallPolicyRuleGroupsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client FirewallPolicyRuleGroupsClient) ListPreparer(ctx context.Context, resourceGroupName string, firewallPolicyName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "firewallPolicyName": autorest.Encode("path", firewallPolicyName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/firewallPolicies/{firewallPolicyName}/ruleGroups", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client FirewallPolicyRuleGroupsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client FirewallPolicyRuleGroupsClient) ListResponder(resp *http.Response) (result FirewallPolicyRuleGroupListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client FirewallPolicyRuleGroupsClient) listNextResults(ctx context.Context, lastResults FirewallPolicyRuleGroupListResult) (result FirewallPolicyRuleGroupListResult, err error) { + req, err := lastResults.firewallPolicyRuleGroupListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.FirewallPolicyRuleGroupsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.FirewallPolicyRuleGroupsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.FirewallPolicyRuleGroupsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client FirewallPolicyRuleGroupsClient) ListComplete(ctx context.Context, resourceGroupName string, firewallPolicyName string) (result FirewallPolicyRuleGroupListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/FirewallPolicyRuleGroupsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName, firewallPolicyName) + return +} diff --git a/services/network/mgmt/2019-08-01/network/hubvirtualnetworkconnections.go b/services/network/mgmt/2019-08-01/network/hubvirtualnetworkconnections.go new file mode 100644 index 000000000000..37b1e6c8320f --- /dev/null +++ b/services/network/mgmt/2019-08-01/network/hubvirtualnetworkconnections.go @@ -0,0 +1,236 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// HubVirtualNetworkConnectionsClient is the network Client +type HubVirtualNetworkConnectionsClient struct { + BaseClient +} + +// NewHubVirtualNetworkConnectionsClient creates an instance of the HubVirtualNetworkConnectionsClient client. +func NewHubVirtualNetworkConnectionsClient(subscriptionID string) HubVirtualNetworkConnectionsClient { + return NewHubVirtualNetworkConnectionsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewHubVirtualNetworkConnectionsClientWithBaseURI creates an instance of the HubVirtualNetworkConnectionsClient +// client. +func NewHubVirtualNetworkConnectionsClientWithBaseURI(baseURI string, subscriptionID string) HubVirtualNetworkConnectionsClient { + return HubVirtualNetworkConnectionsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// Get retrieves the details of a HubVirtualNetworkConnection. +// Parameters: +// resourceGroupName - the resource group name of the VirtualHub. +// virtualHubName - the name of the VirtualHub. +// connectionName - the name of the vpn connection. +func (client HubVirtualNetworkConnectionsClient) Get(ctx context.Context, resourceGroupName string, virtualHubName string, connectionName string) (result HubVirtualNetworkConnection, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/HubVirtualNetworkConnectionsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, virtualHubName, connectionName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.HubVirtualNetworkConnectionsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.HubVirtualNetworkConnectionsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.HubVirtualNetworkConnectionsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client HubVirtualNetworkConnectionsClient) GetPreparer(ctx context.Context, resourceGroupName string, virtualHubName string, connectionName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "connectionName": autorest.Encode("path", connectionName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualHubName": autorest.Encode("path", virtualHubName), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}/hubVirtualNetworkConnections/{connectionName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client HubVirtualNetworkConnectionsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client HubVirtualNetworkConnectionsClient) GetResponder(resp *http.Response) (result HubVirtualNetworkConnection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List retrieves the details of all HubVirtualNetworkConnections. +// Parameters: +// resourceGroupName - the resource group name of the VirtualHub. +// virtualHubName - the name of the VirtualHub. +func (client HubVirtualNetworkConnectionsClient) List(ctx context.Context, resourceGroupName string, virtualHubName string) (result ListHubVirtualNetworkConnectionsResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/HubVirtualNetworkConnectionsClient.List") + defer func() { + sc := -1 + if result.lhvncr.Response.Response != nil { + sc = result.lhvncr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName, virtualHubName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.HubVirtualNetworkConnectionsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.lhvncr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.HubVirtualNetworkConnectionsClient", "List", resp, "Failure sending request") + return + } + + result.lhvncr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.HubVirtualNetworkConnectionsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client HubVirtualNetworkConnectionsClient) ListPreparer(ctx context.Context, resourceGroupName string, virtualHubName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualHubName": autorest.Encode("path", virtualHubName), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}/hubVirtualNetworkConnections", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client HubVirtualNetworkConnectionsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client HubVirtualNetworkConnectionsClient) ListResponder(resp *http.Response) (result ListHubVirtualNetworkConnectionsResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client HubVirtualNetworkConnectionsClient) listNextResults(ctx context.Context, lastResults ListHubVirtualNetworkConnectionsResult) (result ListHubVirtualNetworkConnectionsResult, err error) { + req, err := lastResults.listHubVirtualNetworkConnectionsResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.HubVirtualNetworkConnectionsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.HubVirtualNetworkConnectionsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.HubVirtualNetworkConnectionsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client HubVirtualNetworkConnectionsClient) ListComplete(ctx context.Context, resourceGroupName string, virtualHubName string) (result ListHubVirtualNetworkConnectionsResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/HubVirtualNetworkConnectionsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName, virtualHubName) + return +} diff --git a/services/network/mgmt/2019-08-01/network/inboundnatrules.go b/services/network/mgmt/2019-08-01/network/inboundnatrules.go new file mode 100644 index 000000000000..ef57dadce93a --- /dev/null +++ b/services/network/mgmt/2019-08-01/network/inboundnatrules.go @@ -0,0 +1,420 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// InboundNatRulesClient is the network Client +type InboundNatRulesClient struct { + BaseClient +} + +// NewInboundNatRulesClient creates an instance of the InboundNatRulesClient client. +func NewInboundNatRulesClient(subscriptionID string) InboundNatRulesClient { + return NewInboundNatRulesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewInboundNatRulesClientWithBaseURI creates an instance of the InboundNatRulesClient client. +func NewInboundNatRulesClientWithBaseURI(baseURI string, subscriptionID string) InboundNatRulesClient { + return InboundNatRulesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates a load balancer inbound nat rule. +// Parameters: +// resourceGroupName - the name of the resource group. +// loadBalancerName - the name of the load balancer. +// inboundNatRuleName - the name of the inbound nat rule. +// inboundNatRuleParameters - parameters supplied to the create or update inbound nat rule operation. +func (client InboundNatRulesClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, loadBalancerName string, inboundNatRuleName string, inboundNatRuleParameters InboundNatRule) (result InboundNatRulesCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/InboundNatRulesClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: inboundNatRuleParameters, + Constraints: []validation.Constraint{{Target: "inboundNatRuleParameters.InboundNatRulePropertiesFormat", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "inboundNatRuleParameters.InboundNatRulePropertiesFormat.BackendIPConfiguration", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "inboundNatRuleParameters.InboundNatRulePropertiesFormat.BackendIPConfiguration.InterfaceIPConfigurationPropertiesFormat", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "inboundNatRuleParameters.InboundNatRulePropertiesFormat.BackendIPConfiguration.InterfaceIPConfigurationPropertiesFormat.PublicIPAddress", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "inboundNatRuleParameters.InboundNatRulePropertiesFormat.BackendIPConfiguration.InterfaceIPConfigurationPropertiesFormat.PublicIPAddress.PublicIPAddressPropertiesFormat", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "inboundNatRuleParameters.InboundNatRulePropertiesFormat.BackendIPConfiguration.InterfaceIPConfigurationPropertiesFormat.PublicIPAddress.PublicIPAddressPropertiesFormat.IPConfiguration", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "inboundNatRuleParameters.InboundNatRulePropertiesFormat.BackendIPConfiguration.InterfaceIPConfigurationPropertiesFormat.PublicIPAddress.PublicIPAddressPropertiesFormat.IPConfiguration.IPConfigurationPropertiesFormat", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "inboundNatRuleParameters.InboundNatRulePropertiesFormat.BackendIPConfiguration.InterfaceIPConfigurationPropertiesFormat.PublicIPAddress.PublicIPAddressPropertiesFormat.IPConfiguration.IPConfigurationPropertiesFormat.PublicIPAddress", Name: validation.Null, Rule: false, Chain: nil}}}, + }}, + }}, + }}, + }}, + }}, + }}}}}); err != nil { + return result, validation.NewError("network.InboundNatRulesClient", "CreateOrUpdate", err.Error()) + } + + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, loadBalancerName, inboundNatRuleName, inboundNatRuleParameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InboundNatRulesClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InboundNatRulesClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client InboundNatRulesClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, loadBalancerName string, inboundNatRuleName string, inboundNatRuleParameters InboundNatRule) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "inboundNatRuleName": autorest.Encode("path", inboundNatRuleName), + "loadBalancerName": autorest.Encode("path", loadBalancerName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + inboundNatRuleParameters.Type = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/inboundNatRules/{inboundNatRuleName}", pathParameters), + autorest.WithJSON(inboundNatRuleParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client InboundNatRulesClient) CreateOrUpdateSender(req *http.Request) (future InboundNatRulesCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client InboundNatRulesClient) CreateOrUpdateResponder(resp *http.Response) (result InboundNatRule, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the specified load balancer inbound nat rule. +// Parameters: +// resourceGroupName - the name of the resource group. +// loadBalancerName - the name of the load balancer. +// inboundNatRuleName - the name of the inbound nat rule. +func (client InboundNatRulesClient) Delete(ctx context.Context, resourceGroupName string, loadBalancerName string, inboundNatRuleName string) (result InboundNatRulesDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/InboundNatRulesClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, loadBalancerName, inboundNatRuleName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InboundNatRulesClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InboundNatRulesClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client InboundNatRulesClient) DeletePreparer(ctx context.Context, resourceGroupName string, loadBalancerName string, inboundNatRuleName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "inboundNatRuleName": autorest.Encode("path", inboundNatRuleName), + "loadBalancerName": autorest.Encode("path", loadBalancerName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/inboundNatRules/{inboundNatRuleName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client InboundNatRulesClient) DeleteSender(req *http.Request) (future InboundNatRulesDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client InboundNatRulesClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets the specified load balancer inbound nat rule. +// Parameters: +// resourceGroupName - the name of the resource group. +// loadBalancerName - the name of the load balancer. +// inboundNatRuleName - the name of the inbound nat rule. +// expand - expands referenced resources. +func (client InboundNatRulesClient) Get(ctx context.Context, resourceGroupName string, loadBalancerName string, inboundNatRuleName string, expand string) (result InboundNatRule, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/InboundNatRulesClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, loadBalancerName, inboundNatRuleName, expand) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InboundNatRulesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.InboundNatRulesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InboundNatRulesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client InboundNatRulesClient) GetPreparer(ctx context.Context, resourceGroupName string, loadBalancerName string, inboundNatRuleName string, expand string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "inboundNatRuleName": autorest.Encode("path", inboundNatRuleName), + "loadBalancerName": autorest.Encode("path", loadBalancerName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(expand) > 0 { + queryParameters["$expand"] = autorest.Encode("query", expand) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/inboundNatRules/{inboundNatRuleName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client InboundNatRulesClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client InboundNatRulesClient) GetResponder(resp *http.Response) (result InboundNatRule, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets all the inbound nat rules in a load balancer. +// Parameters: +// resourceGroupName - the name of the resource group. +// loadBalancerName - the name of the load balancer. +func (client InboundNatRulesClient) List(ctx context.Context, resourceGroupName string, loadBalancerName string) (result InboundNatRuleListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/InboundNatRulesClient.List") + defer func() { + sc := -1 + if result.inrlr.Response.Response != nil { + sc = result.inrlr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName, loadBalancerName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InboundNatRulesClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.inrlr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.InboundNatRulesClient", "List", resp, "Failure sending request") + return + } + + result.inrlr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InboundNatRulesClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client InboundNatRulesClient) ListPreparer(ctx context.Context, resourceGroupName string, loadBalancerName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "loadBalancerName": autorest.Encode("path", loadBalancerName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/inboundNatRules", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client InboundNatRulesClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client InboundNatRulesClient) ListResponder(resp *http.Response) (result InboundNatRuleListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client InboundNatRulesClient) listNextResults(ctx context.Context, lastResults InboundNatRuleListResult) (result InboundNatRuleListResult, err error) { + req, err := lastResults.inboundNatRuleListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.InboundNatRulesClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.InboundNatRulesClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InboundNatRulesClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client InboundNatRulesClient) ListComplete(ctx context.Context, resourceGroupName string, loadBalancerName string) (result InboundNatRuleListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/InboundNatRulesClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName, loadBalancerName) + return +} diff --git a/services/network/mgmt/2019-08-01/network/interfaceipconfigurations.go b/services/network/mgmt/2019-08-01/network/interfaceipconfigurations.go new file mode 100644 index 000000000000..5385db284cbb --- /dev/null +++ b/services/network/mgmt/2019-08-01/network/interfaceipconfigurations.go @@ -0,0 +1,235 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// InterfaceIPConfigurationsClient is the network Client +type InterfaceIPConfigurationsClient struct { + BaseClient +} + +// NewInterfaceIPConfigurationsClient creates an instance of the InterfaceIPConfigurationsClient client. +func NewInterfaceIPConfigurationsClient(subscriptionID string) InterfaceIPConfigurationsClient { + return NewInterfaceIPConfigurationsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewInterfaceIPConfigurationsClientWithBaseURI creates an instance of the InterfaceIPConfigurationsClient client. +func NewInterfaceIPConfigurationsClientWithBaseURI(baseURI string, subscriptionID string) InterfaceIPConfigurationsClient { + return InterfaceIPConfigurationsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// Get gets the specified network interface ip configuration. +// Parameters: +// resourceGroupName - the name of the resource group. +// networkInterfaceName - the name of the network interface. +// IPConfigurationName - the name of the ip configuration name. +func (client InterfaceIPConfigurationsClient) Get(ctx context.Context, resourceGroupName string, networkInterfaceName string, IPConfigurationName string) (result InterfaceIPConfiguration, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/InterfaceIPConfigurationsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, networkInterfaceName, IPConfigurationName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfaceIPConfigurationsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.InterfaceIPConfigurationsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfaceIPConfigurationsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client InterfaceIPConfigurationsClient) GetPreparer(ctx context.Context, resourceGroupName string, networkInterfaceName string, IPConfigurationName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "ipConfigurationName": autorest.Encode("path", IPConfigurationName), + "networkInterfaceName": autorest.Encode("path", networkInterfaceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/ipConfigurations/{ipConfigurationName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client InterfaceIPConfigurationsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client InterfaceIPConfigurationsClient) GetResponder(resp *http.Response) (result InterfaceIPConfiguration, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List get all ip configurations in a network interface. +// Parameters: +// resourceGroupName - the name of the resource group. +// networkInterfaceName - the name of the network interface. +func (client InterfaceIPConfigurationsClient) List(ctx context.Context, resourceGroupName string, networkInterfaceName string) (result InterfaceIPConfigurationListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/InterfaceIPConfigurationsClient.List") + defer func() { + sc := -1 + if result.iiclr.Response.Response != nil { + sc = result.iiclr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName, networkInterfaceName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfaceIPConfigurationsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.iiclr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.InterfaceIPConfigurationsClient", "List", resp, "Failure sending request") + return + } + + result.iiclr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfaceIPConfigurationsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client InterfaceIPConfigurationsClient) ListPreparer(ctx context.Context, resourceGroupName string, networkInterfaceName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkInterfaceName": autorest.Encode("path", networkInterfaceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/ipConfigurations", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client InterfaceIPConfigurationsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client InterfaceIPConfigurationsClient) ListResponder(resp *http.Response) (result InterfaceIPConfigurationListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client InterfaceIPConfigurationsClient) listNextResults(ctx context.Context, lastResults InterfaceIPConfigurationListResult) (result InterfaceIPConfigurationListResult, err error) { + req, err := lastResults.interfaceIPConfigurationListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.InterfaceIPConfigurationsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.InterfaceIPConfigurationsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfaceIPConfigurationsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client InterfaceIPConfigurationsClient) ListComplete(ctx context.Context, resourceGroupName string, networkInterfaceName string) (result InterfaceIPConfigurationListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/InterfaceIPConfigurationsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName, networkInterfaceName) + return +} diff --git a/services/network/mgmt/2019-08-01/network/interfaceloadbalancers.go b/services/network/mgmt/2019-08-01/network/interfaceloadbalancers.go new file mode 100644 index 000000000000..4c42e265c277 --- /dev/null +++ b/services/network/mgmt/2019-08-01/network/interfaceloadbalancers.go @@ -0,0 +1,156 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// InterfaceLoadBalancersClient is the network Client +type InterfaceLoadBalancersClient struct { + BaseClient +} + +// NewInterfaceLoadBalancersClient creates an instance of the InterfaceLoadBalancersClient client. +func NewInterfaceLoadBalancersClient(subscriptionID string) InterfaceLoadBalancersClient { + return NewInterfaceLoadBalancersClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewInterfaceLoadBalancersClientWithBaseURI creates an instance of the InterfaceLoadBalancersClient client. +func NewInterfaceLoadBalancersClientWithBaseURI(baseURI string, subscriptionID string) InterfaceLoadBalancersClient { + return InterfaceLoadBalancersClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// List list all load balancers in a network interface. +// Parameters: +// resourceGroupName - the name of the resource group. +// networkInterfaceName - the name of the network interface. +func (client InterfaceLoadBalancersClient) List(ctx context.Context, resourceGroupName string, networkInterfaceName string) (result InterfaceLoadBalancerListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/InterfaceLoadBalancersClient.List") + defer func() { + sc := -1 + if result.ilblr.Response.Response != nil { + sc = result.ilblr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName, networkInterfaceName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfaceLoadBalancersClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.ilblr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.InterfaceLoadBalancersClient", "List", resp, "Failure sending request") + return + } + + result.ilblr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfaceLoadBalancersClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client InterfaceLoadBalancersClient) ListPreparer(ctx context.Context, resourceGroupName string, networkInterfaceName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkInterfaceName": autorest.Encode("path", networkInterfaceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/loadBalancers", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client InterfaceLoadBalancersClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client InterfaceLoadBalancersClient) ListResponder(resp *http.Response) (result InterfaceLoadBalancerListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client InterfaceLoadBalancersClient) listNextResults(ctx context.Context, lastResults InterfaceLoadBalancerListResult) (result InterfaceLoadBalancerListResult, err error) { + req, err := lastResults.interfaceLoadBalancerListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.InterfaceLoadBalancersClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.InterfaceLoadBalancersClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfaceLoadBalancersClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client InterfaceLoadBalancersClient) ListComplete(ctx context.Context, resourceGroupName string, networkInterfaceName string) (result InterfaceLoadBalancerListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/InterfaceLoadBalancersClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName, networkInterfaceName) + return +} diff --git a/services/network/mgmt/2019-08-01/network/interfacesgroup.go b/services/network/mgmt/2019-08-01/network/interfacesgroup.go new file mode 100644 index 000000000000..c5cfc53d755c --- /dev/null +++ b/services/network/mgmt/2019-08-01/network/interfacesgroup.go @@ -0,0 +1,1265 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// InterfacesClient is the network Client +type InterfacesClient struct { + BaseClient +} + +// NewInterfacesClient creates an instance of the InterfacesClient client. +func NewInterfacesClient(subscriptionID string) InterfacesClient { + return NewInterfacesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewInterfacesClientWithBaseURI creates an instance of the InterfacesClient client. +func NewInterfacesClientWithBaseURI(baseURI string, subscriptionID string) InterfacesClient { + return InterfacesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates a network interface. +// Parameters: +// resourceGroupName - the name of the resource group. +// networkInterfaceName - the name of the network interface. +// parameters - parameters supplied to the create or update network interface operation. +func (client InterfacesClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, networkInterfaceName string, parameters Interface) (result InterfacesCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/InterfacesClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, networkInterfaceName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfacesClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfacesClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client InterfacesClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, networkInterfaceName string, parameters Interface) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkInterfaceName": autorest.Encode("path", networkInterfaceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client InterfacesClient) CreateOrUpdateSender(req *http.Request) (future InterfacesCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client InterfacesClient) CreateOrUpdateResponder(resp *http.Response) (result Interface, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the specified network interface. +// Parameters: +// resourceGroupName - the name of the resource group. +// networkInterfaceName - the name of the network interface. +func (client InterfacesClient) Delete(ctx context.Context, resourceGroupName string, networkInterfaceName string) (result InterfacesDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/InterfacesClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, networkInterfaceName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfacesClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfacesClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client InterfacesClient) DeletePreparer(ctx context.Context, resourceGroupName string, networkInterfaceName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkInterfaceName": autorest.Encode("path", networkInterfaceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client InterfacesClient) DeleteSender(req *http.Request) (future InterfacesDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client InterfacesClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets information about the specified network interface. +// Parameters: +// resourceGroupName - the name of the resource group. +// networkInterfaceName - the name of the network interface. +// expand - expands referenced resources. +func (client InterfacesClient) Get(ctx context.Context, resourceGroupName string, networkInterfaceName string, expand string) (result Interface, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/InterfacesClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, networkInterfaceName, expand) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfacesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.InterfacesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfacesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client InterfacesClient) GetPreparer(ctx context.Context, resourceGroupName string, networkInterfaceName string, expand string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkInterfaceName": autorest.Encode("path", networkInterfaceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(expand) > 0 { + queryParameters["$expand"] = autorest.Encode("query", expand) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client InterfacesClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client InterfacesClient) GetResponder(resp *http.Response) (result Interface, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetEffectiveRouteTable gets all route tables applied to a network interface. +// Parameters: +// resourceGroupName - the name of the resource group. +// networkInterfaceName - the name of the network interface. +func (client InterfacesClient) GetEffectiveRouteTable(ctx context.Context, resourceGroupName string, networkInterfaceName string) (result InterfacesGetEffectiveRouteTableFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/InterfacesClient.GetEffectiveRouteTable") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetEffectiveRouteTablePreparer(ctx, resourceGroupName, networkInterfaceName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfacesClient", "GetEffectiveRouteTable", nil, "Failure preparing request") + return + } + + result, err = client.GetEffectiveRouteTableSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfacesClient", "GetEffectiveRouteTable", result.Response(), "Failure sending request") + return + } + + return +} + +// GetEffectiveRouteTablePreparer prepares the GetEffectiveRouteTable request. +func (client InterfacesClient) GetEffectiveRouteTablePreparer(ctx context.Context, resourceGroupName string, networkInterfaceName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkInterfaceName": autorest.Encode("path", networkInterfaceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/effectiveRouteTable", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetEffectiveRouteTableSender sends the GetEffectiveRouteTable request. The method will close the +// http.Response Body if it receives an error. +func (client InterfacesClient) GetEffectiveRouteTableSender(req *http.Request) (future InterfacesGetEffectiveRouteTableFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// GetEffectiveRouteTableResponder handles the response to the GetEffectiveRouteTable request. The method always +// closes the http.Response Body. +func (client InterfacesClient) GetEffectiveRouteTableResponder(resp *http.Response) (result EffectiveRouteListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetVirtualMachineScaleSetIPConfiguration get the specified network interface ip configuration in a virtual machine +// scale set. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualMachineScaleSetName - the name of the virtual machine scale set. +// virtualmachineIndex - the virtual machine index. +// networkInterfaceName - the name of the network interface. +// IPConfigurationName - the name of the ip configuration. +// expand - expands referenced resources. +func (client InterfacesClient) GetVirtualMachineScaleSetIPConfiguration(ctx context.Context, resourceGroupName string, virtualMachineScaleSetName string, virtualmachineIndex string, networkInterfaceName string, IPConfigurationName string, expand string) (result InterfaceIPConfiguration, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/InterfacesClient.GetVirtualMachineScaleSetIPConfiguration") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetVirtualMachineScaleSetIPConfigurationPreparer(ctx, resourceGroupName, virtualMachineScaleSetName, virtualmachineIndex, networkInterfaceName, IPConfigurationName, expand) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfacesClient", "GetVirtualMachineScaleSetIPConfiguration", nil, "Failure preparing request") + return + } + + resp, err := client.GetVirtualMachineScaleSetIPConfigurationSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.InterfacesClient", "GetVirtualMachineScaleSetIPConfiguration", resp, "Failure sending request") + return + } + + result, err = client.GetVirtualMachineScaleSetIPConfigurationResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfacesClient", "GetVirtualMachineScaleSetIPConfiguration", resp, "Failure responding to request") + } + + return +} + +// GetVirtualMachineScaleSetIPConfigurationPreparer prepares the GetVirtualMachineScaleSetIPConfiguration request. +func (client InterfacesClient) GetVirtualMachineScaleSetIPConfigurationPreparer(ctx context.Context, resourceGroupName string, virtualMachineScaleSetName string, virtualmachineIndex string, networkInterfaceName string, IPConfigurationName string, expand string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "ipConfigurationName": autorest.Encode("path", IPConfigurationName), + "networkInterfaceName": autorest.Encode("path", networkInterfaceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualmachineIndex": autorest.Encode("path", virtualmachineIndex), + "virtualMachineScaleSetName": autorest.Encode("path", virtualMachineScaleSetName), + } + + const APIVersion = "2018-10-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(expand) > 0 { + queryParameters["$expand"] = autorest.Encode("query", expand) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}/ipConfigurations/{ipConfigurationName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetVirtualMachineScaleSetIPConfigurationSender sends the GetVirtualMachineScaleSetIPConfiguration request. The method will close the +// http.Response Body if it receives an error. +func (client InterfacesClient) GetVirtualMachineScaleSetIPConfigurationSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetVirtualMachineScaleSetIPConfigurationResponder handles the response to the GetVirtualMachineScaleSetIPConfiguration request. The method always +// closes the http.Response Body. +func (client InterfacesClient) GetVirtualMachineScaleSetIPConfigurationResponder(resp *http.Response) (result InterfaceIPConfiguration, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetVirtualMachineScaleSetNetworkInterface get the specified network interface in a virtual machine scale set. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualMachineScaleSetName - the name of the virtual machine scale set. +// virtualmachineIndex - the virtual machine index. +// networkInterfaceName - the name of the network interface. +// expand - expands referenced resources. +func (client InterfacesClient) GetVirtualMachineScaleSetNetworkInterface(ctx context.Context, resourceGroupName string, virtualMachineScaleSetName string, virtualmachineIndex string, networkInterfaceName string, expand string) (result Interface, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/InterfacesClient.GetVirtualMachineScaleSetNetworkInterface") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetVirtualMachineScaleSetNetworkInterfacePreparer(ctx, resourceGroupName, virtualMachineScaleSetName, virtualmachineIndex, networkInterfaceName, expand) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfacesClient", "GetVirtualMachineScaleSetNetworkInterface", nil, "Failure preparing request") + return + } + + resp, err := client.GetVirtualMachineScaleSetNetworkInterfaceSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.InterfacesClient", "GetVirtualMachineScaleSetNetworkInterface", resp, "Failure sending request") + return + } + + result, err = client.GetVirtualMachineScaleSetNetworkInterfaceResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfacesClient", "GetVirtualMachineScaleSetNetworkInterface", resp, "Failure responding to request") + } + + return +} + +// GetVirtualMachineScaleSetNetworkInterfacePreparer prepares the GetVirtualMachineScaleSetNetworkInterface request. +func (client InterfacesClient) GetVirtualMachineScaleSetNetworkInterfacePreparer(ctx context.Context, resourceGroupName string, virtualMachineScaleSetName string, virtualmachineIndex string, networkInterfaceName string, expand string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkInterfaceName": autorest.Encode("path", networkInterfaceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualmachineIndex": autorest.Encode("path", virtualmachineIndex), + "virtualMachineScaleSetName": autorest.Encode("path", virtualMachineScaleSetName), + } + + const APIVersion = "2018-10-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(expand) > 0 { + queryParameters["$expand"] = autorest.Encode("query", expand) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetVirtualMachineScaleSetNetworkInterfaceSender sends the GetVirtualMachineScaleSetNetworkInterface request. The method will close the +// http.Response Body if it receives an error. +func (client InterfacesClient) GetVirtualMachineScaleSetNetworkInterfaceSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetVirtualMachineScaleSetNetworkInterfaceResponder handles the response to the GetVirtualMachineScaleSetNetworkInterface request. The method always +// closes the http.Response Body. +func (client InterfacesClient) GetVirtualMachineScaleSetNetworkInterfaceResponder(resp *http.Response) (result Interface, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets all network interfaces in a resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +func (client InterfacesClient) List(ctx context.Context, resourceGroupName string) (result InterfaceListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/InterfacesClient.List") + defer func() { + sc := -1 + if result.ilr.Response.Response != nil { + sc = result.ilr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfacesClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.ilr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.InterfacesClient", "List", resp, "Failure sending request") + return + } + + result.ilr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfacesClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client InterfacesClient) ListPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client InterfacesClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client InterfacesClient) ListResponder(resp *http.Response) (result InterfaceListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client InterfacesClient) listNextResults(ctx context.Context, lastResults InterfaceListResult) (result InterfaceListResult, err error) { + req, err := lastResults.interfaceListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.InterfacesClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.InterfacesClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfacesClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client InterfacesClient) ListComplete(ctx context.Context, resourceGroupName string) (result InterfaceListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/InterfacesClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName) + return +} + +// ListAll gets all network interfaces in a subscription. +func (client InterfacesClient) ListAll(ctx context.Context) (result InterfaceListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/InterfacesClient.ListAll") + defer func() { + sc := -1 + if result.ilr.Response.Response != nil { + sc = result.ilr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listAllNextResults + req, err := client.ListAllPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfacesClient", "ListAll", nil, "Failure preparing request") + return + } + + resp, err := client.ListAllSender(req) + if err != nil { + result.ilr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.InterfacesClient", "ListAll", resp, "Failure sending request") + return + } + + result.ilr, err = client.ListAllResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfacesClient", "ListAll", resp, "Failure responding to request") + } + + return +} + +// ListAllPreparer prepares the ListAll request. +func (client InterfacesClient) ListAllPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkInterfaces", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListAllSender sends the ListAll request. The method will close the +// http.Response Body if it receives an error. +func (client InterfacesClient) ListAllSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListAllResponder handles the response to the ListAll request. The method always +// closes the http.Response Body. +func (client InterfacesClient) ListAllResponder(resp *http.Response) (result InterfaceListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listAllNextResults retrieves the next set of results, if any. +func (client InterfacesClient) listAllNextResults(ctx context.Context, lastResults InterfaceListResult) (result InterfaceListResult, err error) { + req, err := lastResults.interfaceListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.InterfacesClient", "listAllNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListAllSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.InterfacesClient", "listAllNextResults", resp, "Failure sending next results request") + } + result, err = client.ListAllResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfacesClient", "listAllNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListAllComplete enumerates all values, automatically crossing page boundaries as required. +func (client InterfacesClient) ListAllComplete(ctx context.Context) (result InterfaceListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/InterfacesClient.ListAll") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListAll(ctx) + return +} + +// ListEffectiveNetworkSecurityGroups gets all network security groups applied to a network interface. +// Parameters: +// resourceGroupName - the name of the resource group. +// networkInterfaceName - the name of the network interface. +func (client InterfacesClient) ListEffectiveNetworkSecurityGroups(ctx context.Context, resourceGroupName string, networkInterfaceName string) (result InterfacesListEffectiveNetworkSecurityGroupsFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/InterfacesClient.ListEffectiveNetworkSecurityGroups") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListEffectiveNetworkSecurityGroupsPreparer(ctx, resourceGroupName, networkInterfaceName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfacesClient", "ListEffectiveNetworkSecurityGroups", nil, "Failure preparing request") + return + } + + result, err = client.ListEffectiveNetworkSecurityGroupsSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfacesClient", "ListEffectiveNetworkSecurityGroups", result.Response(), "Failure sending request") + return + } + + return +} + +// ListEffectiveNetworkSecurityGroupsPreparer prepares the ListEffectiveNetworkSecurityGroups request. +func (client InterfacesClient) ListEffectiveNetworkSecurityGroupsPreparer(ctx context.Context, resourceGroupName string, networkInterfaceName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkInterfaceName": autorest.Encode("path", networkInterfaceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/effectiveNetworkSecurityGroups", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListEffectiveNetworkSecurityGroupsSender sends the ListEffectiveNetworkSecurityGroups request. The method will close the +// http.Response Body if it receives an error. +func (client InterfacesClient) ListEffectiveNetworkSecurityGroupsSender(req *http.Request) (future InterfacesListEffectiveNetworkSecurityGroupsFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// ListEffectiveNetworkSecurityGroupsResponder handles the response to the ListEffectiveNetworkSecurityGroups request. The method always +// closes the http.Response Body. +func (client InterfacesClient) ListEffectiveNetworkSecurityGroupsResponder(resp *http.Response) (result EffectiveNetworkSecurityGroupListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListVirtualMachineScaleSetIPConfigurations get the specified network interface ip configuration in a virtual machine +// scale set. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualMachineScaleSetName - the name of the virtual machine scale set. +// virtualmachineIndex - the virtual machine index. +// networkInterfaceName - the name of the network interface. +// expand - expands referenced resources. +func (client InterfacesClient) ListVirtualMachineScaleSetIPConfigurations(ctx context.Context, resourceGroupName string, virtualMachineScaleSetName string, virtualmachineIndex string, networkInterfaceName string, expand string) (result InterfaceIPConfigurationListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/InterfacesClient.ListVirtualMachineScaleSetIPConfigurations") + defer func() { + sc := -1 + if result.iiclr.Response.Response != nil { + sc = result.iiclr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listVirtualMachineScaleSetIPConfigurationsNextResults + req, err := client.ListVirtualMachineScaleSetIPConfigurationsPreparer(ctx, resourceGroupName, virtualMachineScaleSetName, virtualmachineIndex, networkInterfaceName, expand) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfacesClient", "ListVirtualMachineScaleSetIPConfigurations", nil, "Failure preparing request") + return + } + + resp, err := client.ListVirtualMachineScaleSetIPConfigurationsSender(req) + if err != nil { + result.iiclr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.InterfacesClient", "ListVirtualMachineScaleSetIPConfigurations", resp, "Failure sending request") + return + } + + result.iiclr, err = client.ListVirtualMachineScaleSetIPConfigurationsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfacesClient", "ListVirtualMachineScaleSetIPConfigurations", resp, "Failure responding to request") + } + + return +} + +// ListVirtualMachineScaleSetIPConfigurationsPreparer prepares the ListVirtualMachineScaleSetIPConfigurations request. +func (client InterfacesClient) ListVirtualMachineScaleSetIPConfigurationsPreparer(ctx context.Context, resourceGroupName string, virtualMachineScaleSetName string, virtualmachineIndex string, networkInterfaceName string, expand string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkInterfaceName": autorest.Encode("path", networkInterfaceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualmachineIndex": autorest.Encode("path", virtualmachineIndex), + "virtualMachineScaleSetName": autorest.Encode("path", virtualMachineScaleSetName), + } + + const APIVersion = "2018-10-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(expand) > 0 { + queryParameters["$expand"] = autorest.Encode("query", expand) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}/ipConfigurations", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListVirtualMachineScaleSetIPConfigurationsSender sends the ListVirtualMachineScaleSetIPConfigurations request. The method will close the +// http.Response Body if it receives an error. +func (client InterfacesClient) ListVirtualMachineScaleSetIPConfigurationsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListVirtualMachineScaleSetIPConfigurationsResponder handles the response to the ListVirtualMachineScaleSetIPConfigurations request. The method always +// closes the http.Response Body. +func (client InterfacesClient) ListVirtualMachineScaleSetIPConfigurationsResponder(resp *http.Response) (result InterfaceIPConfigurationListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listVirtualMachineScaleSetIPConfigurationsNextResults retrieves the next set of results, if any. +func (client InterfacesClient) listVirtualMachineScaleSetIPConfigurationsNextResults(ctx context.Context, lastResults InterfaceIPConfigurationListResult) (result InterfaceIPConfigurationListResult, err error) { + req, err := lastResults.interfaceIPConfigurationListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.InterfacesClient", "listVirtualMachineScaleSetIPConfigurationsNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListVirtualMachineScaleSetIPConfigurationsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.InterfacesClient", "listVirtualMachineScaleSetIPConfigurationsNextResults", resp, "Failure sending next results request") + } + result, err = client.ListVirtualMachineScaleSetIPConfigurationsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfacesClient", "listVirtualMachineScaleSetIPConfigurationsNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListVirtualMachineScaleSetIPConfigurationsComplete enumerates all values, automatically crossing page boundaries as required. +func (client InterfacesClient) ListVirtualMachineScaleSetIPConfigurationsComplete(ctx context.Context, resourceGroupName string, virtualMachineScaleSetName string, virtualmachineIndex string, networkInterfaceName string, expand string) (result InterfaceIPConfigurationListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/InterfacesClient.ListVirtualMachineScaleSetIPConfigurations") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListVirtualMachineScaleSetIPConfigurations(ctx, resourceGroupName, virtualMachineScaleSetName, virtualmachineIndex, networkInterfaceName, expand) + return +} + +// ListVirtualMachineScaleSetNetworkInterfaces gets all network interfaces in a virtual machine scale set. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualMachineScaleSetName - the name of the virtual machine scale set. +func (client InterfacesClient) ListVirtualMachineScaleSetNetworkInterfaces(ctx context.Context, resourceGroupName string, virtualMachineScaleSetName string) (result InterfaceListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/InterfacesClient.ListVirtualMachineScaleSetNetworkInterfaces") + defer func() { + sc := -1 + if result.ilr.Response.Response != nil { + sc = result.ilr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listVirtualMachineScaleSetNetworkInterfacesNextResults + req, err := client.ListVirtualMachineScaleSetNetworkInterfacesPreparer(ctx, resourceGroupName, virtualMachineScaleSetName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfacesClient", "ListVirtualMachineScaleSetNetworkInterfaces", nil, "Failure preparing request") + return + } + + resp, err := client.ListVirtualMachineScaleSetNetworkInterfacesSender(req) + if err != nil { + result.ilr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.InterfacesClient", "ListVirtualMachineScaleSetNetworkInterfaces", resp, "Failure sending request") + return + } + + result.ilr, err = client.ListVirtualMachineScaleSetNetworkInterfacesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfacesClient", "ListVirtualMachineScaleSetNetworkInterfaces", resp, "Failure responding to request") + } + + return +} + +// ListVirtualMachineScaleSetNetworkInterfacesPreparer prepares the ListVirtualMachineScaleSetNetworkInterfaces request. +func (client InterfacesClient) ListVirtualMachineScaleSetNetworkInterfacesPreparer(ctx context.Context, resourceGroupName string, virtualMachineScaleSetName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualMachineScaleSetName": autorest.Encode("path", virtualMachineScaleSetName), + } + + const APIVersion = "2018-10-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/networkInterfaces", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListVirtualMachineScaleSetNetworkInterfacesSender sends the ListVirtualMachineScaleSetNetworkInterfaces request. The method will close the +// http.Response Body if it receives an error. +func (client InterfacesClient) ListVirtualMachineScaleSetNetworkInterfacesSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListVirtualMachineScaleSetNetworkInterfacesResponder handles the response to the ListVirtualMachineScaleSetNetworkInterfaces request. The method always +// closes the http.Response Body. +func (client InterfacesClient) ListVirtualMachineScaleSetNetworkInterfacesResponder(resp *http.Response) (result InterfaceListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listVirtualMachineScaleSetNetworkInterfacesNextResults retrieves the next set of results, if any. +func (client InterfacesClient) listVirtualMachineScaleSetNetworkInterfacesNextResults(ctx context.Context, lastResults InterfaceListResult) (result InterfaceListResult, err error) { + req, err := lastResults.interfaceListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.InterfacesClient", "listVirtualMachineScaleSetNetworkInterfacesNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListVirtualMachineScaleSetNetworkInterfacesSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.InterfacesClient", "listVirtualMachineScaleSetNetworkInterfacesNextResults", resp, "Failure sending next results request") + } + result, err = client.ListVirtualMachineScaleSetNetworkInterfacesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfacesClient", "listVirtualMachineScaleSetNetworkInterfacesNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListVirtualMachineScaleSetNetworkInterfacesComplete enumerates all values, automatically crossing page boundaries as required. +func (client InterfacesClient) ListVirtualMachineScaleSetNetworkInterfacesComplete(ctx context.Context, resourceGroupName string, virtualMachineScaleSetName string) (result InterfaceListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/InterfacesClient.ListVirtualMachineScaleSetNetworkInterfaces") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListVirtualMachineScaleSetNetworkInterfaces(ctx, resourceGroupName, virtualMachineScaleSetName) + return +} + +// ListVirtualMachineScaleSetVMNetworkInterfaces gets information about all network interfaces in a virtual machine in +// a virtual machine scale set. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualMachineScaleSetName - the name of the virtual machine scale set. +// virtualmachineIndex - the virtual machine index. +func (client InterfacesClient) ListVirtualMachineScaleSetVMNetworkInterfaces(ctx context.Context, resourceGroupName string, virtualMachineScaleSetName string, virtualmachineIndex string) (result InterfaceListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/InterfacesClient.ListVirtualMachineScaleSetVMNetworkInterfaces") + defer func() { + sc := -1 + if result.ilr.Response.Response != nil { + sc = result.ilr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listVirtualMachineScaleSetVMNetworkInterfacesNextResults + req, err := client.ListVirtualMachineScaleSetVMNetworkInterfacesPreparer(ctx, resourceGroupName, virtualMachineScaleSetName, virtualmachineIndex) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfacesClient", "ListVirtualMachineScaleSetVMNetworkInterfaces", nil, "Failure preparing request") + return + } + + resp, err := client.ListVirtualMachineScaleSetVMNetworkInterfacesSender(req) + if err != nil { + result.ilr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.InterfacesClient", "ListVirtualMachineScaleSetVMNetworkInterfaces", resp, "Failure sending request") + return + } + + result.ilr, err = client.ListVirtualMachineScaleSetVMNetworkInterfacesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfacesClient", "ListVirtualMachineScaleSetVMNetworkInterfaces", resp, "Failure responding to request") + } + + return +} + +// ListVirtualMachineScaleSetVMNetworkInterfacesPreparer prepares the ListVirtualMachineScaleSetVMNetworkInterfaces request. +func (client InterfacesClient) ListVirtualMachineScaleSetVMNetworkInterfacesPreparer(ctx context.Context, resourceGroupName string, virtualMachineScaleSetName string, virtualmachineIndex string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualmachineIndex": autorest.Encode("path", virtualmachineIndex), + "virtualMachineScaleSetName": autorest.Encode("path", virtualMachineScaleSetName), + } + + const APIVersion = "2018-10-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListVirtualMachineScaleSetVMNetworkInterfacesSender sends the ListVirtualMachineScaleSetVMNetworkInterfaces request. The method will close the +// http.Response Body if it receives an error. +func (client InterfacesClient) ListVirtualMachineScaleSetVMNetworkInterfacesSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListVirtualMachineScaleSetVMNetworkInterfacesResponder handles the response to the ListVirtualMachineScaleSetVMNetworkInterfaces request. The method always +// closes the http.Response Body. +func (client InterfacesClient) ListVirtualMachineScaleSetVMNetworkInterfacesResponder(resp *http.Response) (result InterfaceListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listVirtualMachineScaleSetVMNetworkInterfacesNextResults retrieves the next set of results, if any. +func (client InterfacesClient) listVirtualMachineScaleSetVMNetworkInterfacesNextResults(ctx context.Context, lastResults InterfaceListResult) (result InterfaceListResult, err error) { + req, err := lastResults.interfaceListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.InterfacesClient", "listVirtualMachineScaleSetVMNetworkInterfacesNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListVirtualMachineScaleSetVMNetworkInterfacesSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.InterfacesClient", "listVirtualMachineScaleSetVMNetworkInterfacesNextResults", resp, "Failure sending next results request") + } + result, err = client.ListVirtualMachineScaleSetVMNetworkInterfacesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfacesClient", "listVirtualMachineScaleSetVMNetworkInterfacesNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListVirtualMachineScaleSetVMNetworkInterfacesComplete enumerates all values, automatically crossing page boundaries as required. +func (client InterfacesClient) ListVirtualMachineScaleSetVMNetworkInterfacesComplete(ctx context.Context, resourceGroupName string, virtualMachineScaleSetName string, virtualmachineIndex string) (result InterfaceListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/InterfacesClient.ListVirtualMachineScaleSetVMNetworkInterfaces") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListVirtualMachineScaleSetVMNetworkInterfaces(ctx, resourceGroupName, virtualMachineScaleSetName, virtualmachineIndex) + return +} + +// UpdateTags updates a network interface tags. +// Parameters: +// resourceGroupName - the name of the resource group. +// networkInterfaceName - the name of the network interface. +// parameters - parameters supplied to update network interface tags. +func (client InterfacesClient) UpdateTags(ctx context.Context, resourceGroupName string, networkInterfaceName string, parameters TagsObject) (result InterfacesUpdateTagsFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/InterfacesClient.UpdateTags") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdateTagsPreparer(ctx, resourceGroupName, networkInterfaceName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfacesClient", "UpdateTags", nil, "Failure preparing request") + return + } + + result, err = client.UpdateTagsSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfacesClient", "UpdateTags", result.Response(), "Failure sending request") + return + } + + return +} + +// UpdateTagsPreparer prepares the UpdateTags request. +func (client InterfacesClient) UpdateTagsPreparer(ctx context.Context, resourceGroupName string, networkInterfaceName string, parameters TagsObject) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkInterfaceName": autorest.Encode("path", networkInterfaceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateTagsSender sends the UpdateTags request. The method will close the +// http.Response Body if it receives an error. +func (client InterfacesClient) UpdateTagsSender(req *http.Request) (future InterfacesUpdateTagsFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// UpdateTagsResponder handles the response to the UpdateTags request. The method always +// closes the http.Response Body. +func (client InterfacesClient) UpdateTagsResponder(resp *http.Response) (result Interface, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/network/mgmt/2019-08-01/network/interfacetapconfigurations.go b/services/network/mgmt/2019-08-01/network/interfacetapconfigurations.go new file mode 100644 index 000000000000..555d5ad27bf0 --- /dev/null +++ b/services/network/mgmt/2019-08-01/network/interfacetapconfigurations.go @@ -0,0 +1,432 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// InterfaceTapConfigurationsClient is the network Client +type InterfaceTapConfigurationsClient struct { + BaseClient +} + +// NewInterfaceTapConfigurationsClient creates an instance of the InterfaceTapConfigurationsClient client. +func NewInterfaceTapConfigurationsClient(subscriptionID string) InterfaceTapConfigurationsClient { + return NewInterfaceTapConfigurationsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewInterfaceTapConfigurationsClientWithBaseURI creates an instance of the InterfaceTapConfigurationsClient client. +func NewInterfaceTapConfigurationsClientWithBaseURI(baseURI string, subscriptionID string) InterfaceTapConfigurationsClient { + return InterfaceTapConfigurationsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates a Tap configuration in the specified NetworkInterface. +// Parameters: +// resourceGroupName - the name of the resource group. +// networkInterfaceName - the name of the network interface. +// tapConfigurationName - the name of the tap configuration. +// tapConfigurationParameters - parameters supplied to the create or update tap configuration operation. +func (client InterfaceTapConfigurationsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, networkInterfaceName string, tapConfigurationName string, tapConfigurationParameters InterfaceTapConfiguration) (result InterfaceTapConfigurationsCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/InterfaceTapConfigurationsClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: tapConfigurationParameters, + Constraints: []validation.Constraint{{Target: "tapConfigurationParameters.InterfaceTapConfigurationPropertiesFormat", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "tapConfigurationParameters.InterfaceTapConfigurationPropertiesFormat.VirtualNetworkTap", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "tapConfigurationParameters.InterfaceTapConfigurationPropertiesFormat.VirtualNetworkTap.VirtualNetworkTapPropertiesFormat", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "tapConfigurationParameters.InterfaceTapConfigurationPropertiesFormat.VirtualNetworkTap.VirtualNetworkTapPropertiesFormat.DestinationNetworkInterfaceIPConfiguration", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "tapConfigurationParameters.InterfaceTapConfigurationPropertiesFormat.VirtualNetworkTap.VirtualNetworkTapPropertiesFormat.DestinationNetworkInterfaceIPConfiguration.InterfaceIPConfigurationPropertiesFormat", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "tapConfigurationParameters.InterfaceTapConfigurationPropertiesFormat.VirtualNetworkTap.VirtualNetworkTapPropertiesFormat.DestinationNetworkInterfaceIPConfiguration.InterfaceIPConfigurationPropertiesFormat.PublicIPAddress", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "tapConfigurationParameters.InterfaceTapConfigurationPropertiesFormat.VirtualNetworkTap.VirtualNetworkTapPropertiesFormat.DestinationNetworkInterfaceIPConfiguration.InterfaceIPConfigurationPropertiesFormat.PublicIPAddress.PublicIPAddressPropertiesFormat", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "tapConfigurationParameters.InterfaceTapConfigurationPropertiesFormat.VirtualNetworkTap.VirtualNetworkTapPropertiesFormat.DestinationNetworkInterfaceIPConfiguration.InterfaceIPConfigurationPropertiesFormat.PublicIPAddress.PublicIPAddressPropertiesFormat.IPConfiguration", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "tapConfigurationParameters.InterfaceTapConfigurationPropertiesFormat.VirtualNetworkTap.VirtualNetworkTapPropertiesFormat.DestinationNetworkInterfaceIPConfiguration.InterfaceIPConfigurationPropertiesFormat.PublicIPAddress.PublicIPAddressPropertiesFormat.IPConfiguration.IPConfigurationPropertiesFormat", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "tapConfigurationParameters.InterfaceTapConfigurationPropertiesFormat.VirtualNetworkTap.VirtualNetworkTapPropertiesFormat.DestinationNetworkInterfaceIPConfiguration.InterfaceIPConfigurationPropertiesFormat.PublicIPAddress.PublicIPAddressPropertiesFormat.IPConfiguration.IPConfigurationPropertiesFormat.PublicIPAddress", Name: validation.Null, Rule: false, Chain: nil}}}, + }}, + }}, + }}, + }}, + }}, + {Target: "tapConfigurationParameters.InterfaceTapConfigurationPropertiesFormat.VirtualNetworkTap.VirtualNetworkTapPropertiesFormat.DestinationLoadBalancerFrontEndIPConfiguration", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "tapConfigurationParameters.InterfaceTapConfigurationPropertiesFormat.VirtualNetworkTap.VirtualNetworkTapPropertiesFormat.DestinationLoadBalancerFrontEndIPConfiguration.FrontendIPConfigurationPropertiesFormat", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "tapConfigurationParameters.InterfaceTapConfigurationPropertiesFormat.VirtualNetworkTap.VirtualNetworkTapPropertiesFormat.DestinationLoadBalancerFrontEndIPConfiguration.FrontendIPConfigurationPropertiesFormat.PublicIPAddress", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "tapConfigurationParameters.InterfaceTapConfigurationPropertiesFormat.VirtualNetworkTap.VirtualNetworkTapPropertiesFormat.DestinationLoadBalancerFrontEndIPConfiguration.FrontendIPConfigurationPropertiesFormat.PublicIPAddress.PublicIPAddressPropertiesFormat", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "tapConfigurationParameters.InterfaceTapConfigurationPropertiesFormat.VirtualNetworkTap.VirtualNetworkTapPropertiesFormat.DestinationLoadBalancerFrontEndIPConfiguration.FrontendIPConfigurationPropertiesFormat.PublicIPAddress.PublicIPAddressPropertiesFormat.IPConfiguration", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "tapConfigurationParameters.InterfaceTapConfigurationPropertiesFormat.VirtualNetworkTap.VirtualNetworkTapPropertiesFormat.DestinationLoadBalancerFrontEndIPConfiguration.FrontendIPConfigurationPropertiesFormat.PublicIPAddress.PublicIPAddressPropertiesFormat.IPConfiguration.IPConfigurationPropertiesFormat", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "tapConfigurationParameters.InterfaceTapConfigurationPropertiesFormat.VirtualNetworkTap.VirtualNetworkTapPropertiesFormat.DestinationLoadBalancerFrontEndIPConfiguration.FrontendIPConfigurationPropertiesFormat.PublicIPAddress.PublicIPAddressPropertiesFormat.IPConfiguration.IPConfigurationPropertiesFormat.PublicIPAddress", Name: validation.Null, Rule: false, Chain: nil}}}, + }}, + }}, + }}, + }}, + }}, + }}, + }}, + }}}}}); err != nil { + return result, validation.NewError("network.InterfaceTapConfigurationsClient", "CreateOrUpdate", err.Error()) + } + + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, networkInterfaceName, tapConfigurationName, tapConfigurationParameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfaceTapConfigurationsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfaceTapConfigurationsClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client InterfaceTapConfigurationsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, networkInterfaceName string, tapConfigurationName string, tapConfigurationParameters InterfaceTapConfiguration) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkInterfaceName": autorest.Encode("path", networkInterfaceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "tapConfigurationName": autorest.Encode("path", tapConfigurationName), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + tapConfigurationParameters.Type = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/tapConfigurations/{tapConfigurationName}", pathParameters), + autorest.WithJSON(tapConfigurationParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client InterfaceTapConfigurationsClient) CreateOrUpdateSender(req *http.Request) (future InterfaceTapConfigurationsCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client InterfaceTapConfigurationsClient) CreateOrUpdateResponder(resp *http.Response) (result InterfaceTapConfiguration, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the specified tap configuration from the NetworkInterface. +// Parameters: +// resourceGroupName - the name of the resource group. +// networkInterfaceName - the name of the network interface. +// tapConfigurationName - the name of the tap configuration. +func (client InterfaceTapConfigurationsClient) Delete(ctx context.Context, resourceGroupName string, networkInterfaceName string, tapConfigurationName string) (result InterfaceTapConfigurationsDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/InterfaceTapConfigurationsClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, networkInterfaceName, tapConfigurationName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfaceTapConfigurationsClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfaceTapConfigurationsClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client InterfaceTapConfigurationsClient) DeletePreparer(ctx context.Context, resourceGroupName string, networkInterfaceName string, tapConfigurationName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkInterfaceName": autorest.Encode("path", networkInterfaceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "tapConfigurationName": autorest.Encode("path", tapConfigurationName), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/tapConfigurations/{tapConfigurationName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client InterfaceTapConfigurationsClient) DeleteSender(req *http.Request) (future InterfaceTapConfigurationsDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client InterfaceTapConfigurationsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get get the specified tap configuration on a network interface. +// Parameters: +// resourceGroupName - the name of the resource group. +// networkInterfaceName - the name of the network interface. +// tapConfigurationName - the name of the tap configuration. +func (client InterfaceTapConfigurationsClient) Get(ctx context.Context, resourceGroupName string, networkInterfaceName string, tapConfigurationName string) (result InterfaceTapConfiguration, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/InterfaceTapConfigurationsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, networkInterfaceName, tapConfigurationName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfaceTapConfigurationsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.InterfaceTapConfigurationsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfaceTapConfigurationsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client InterfaceTapConfigurationsClient) GetPreparer(ctx context.Context, resourceGroupName string, networkInterfaceName string, tapConfigurationName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkInterfaceName": autorest.Encode("path", networkInterfaceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "tapConfigurationName": autorest.Encode("path", tapConfigurationName), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/tapConfigurations/{tapConfigurationName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client InterfaceTapConfigurationsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client InterfaceTapConfigurationsClient) GetResponder(resp *http.Response) (result InterfaceTapConfiguration, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List get all Tap configurations in a network interface. +// Parameters: +// resourceGroupName - the name of the resource group. +// networkInterfaceName - the name of the network interface. +func (client InterfaceTapConfigurationsClient) List(ctx context.Context, resourceGroupName string, networkInterfaceName string) (result InterfaceTapConfigurationListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/InterfaceTapConfigurationsClient.List") + defer func() { + sc := -1 + if result.itclr.Response.Response != nil { + sc = result.itclr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName, networkInterfaceName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfaceTapConfigurationsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.itclr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.InterfaceTapConfigurationsClient", "List", resp, "Failure sending request") + return + } + + result.itclr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfaceTapConfigurationsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client InterfaceTapConfigurationsClient) ListPreparer(ctx context.Context, resourceGroupName string, networkInterfaceName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkInterfaceName": autorest.Encode("path", networkInterfaceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/tapConfigurations", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client InterfaceTapConfigurationsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client InterfaceTapConfigurationsClient) ListResponder(resp *http.Response) (result InterfaceTapConfigurationListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client InterfaceTapConfigurationsClient) listNextResults(ctx context.Context, lastResults InterfaceTapConfigurationListResult) (result InterfaceTapConfigurationListResult, err error) { + req, err := lastResults.interfaceTapConfigurationListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.InterfaceTapConfigurationsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.InterfaceTapConfigurationsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfaceTapConfigurationsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client InterfaceTapConfigurationsClient) ListComplete(ctx context.Context, resourceGroupName string, networkInterfaceName string) (result InterfaceTapConfigurationListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/InterfaceTapConfigurationsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName, networkInterfaceName) + return +} diff --git a/services/network/mgmt/2019-08-01/network/loadbalancerbackendaddresspools.go b/services/network/mgmt/2019-08-01/network/loadbalancerbackendaddresspools.go new file mode 100644 index 000000000000..40582f9e9a3e --- /dev/null +++ b/services/network/mgmt/2019-08-01/network/loadbalancerbackendaddresspools.go @@ -0,0 +1,236 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// LoadBalancerBackendAddressPoolsClient is the network Client +type LoadBalancerBackendAddressPoolsClient struct { + BaseClient +} + +// NewLoadBalancerBackendAddressPoolsClient creates an instance of the LoadBalancerBackendAddressPoolsClient client. +func NewLoadBalancerBackendAddressPoolsClient(subscriptionID string) LoadBalancerBackendAddressPoolsClient { + return NewLoadBalancerBackendAddressPoolsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewLoadBalancerBackendAddressPoolsClientWithBaseURI creates an instance of the LoadBalancerBackendAddressPoolsClient +// client. +func NewLoadBalancerBackendAddressPoolsClientWithBaseURI(baseURI string, subscriptionID string) LoadBalancerBackendAddressPoolsClient { + return LoadBalancerBackendAddressPoolsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// Get gets load balancer backend address pool. +// Parameters: +// resourceGroupName - the name of the resource group. +// loadBalancerName - the name of the load balancer. +// backendAddressPoolName - the name of the backend address pool. +func (client LoadBalancerBackendAddressPoolsClient) Get(ctx context.Context, resourceGroupName string, loadBalancerName string, backendAddressPoolName string) (result BackendAddressPool, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LoadBalancerBackendAddressPoolsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, loadBalancerName, backendAddressPoolName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancerBackendAddressPoolsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.LoadBalancerBackendAddressPoolsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancerBackendAddressPoolsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client LoadBalancerBackendAddressPoolsClient) GetPreparer(ctx context.Context, resourceGroupName string, loadBalancerName string, backendAddressPoolName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "backendAddressPoolName": autorest.Encode("path", backendAddressPoolName), + "loadBalancerName": autorest.Encode("path", loadBalancerName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/backendAddressPools/{backendAddressPoolName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client LoadBalancerBackendAddressPoolsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client LoadBalancerBackendAddressPoolsClient) GetResponder(resp *http.Response) (result BackendAddressPool, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets all the load balancer backed address pools. +// Parameters: +// resourceGroupName - the name of the resource group. +// loadBalancerName - the name of the load balancer. +func (client LoadBalancerBackendAddressPoolsClient) List(ctx context.Context, resourceGroupName string, loadBalancerName string) (result LoadBalancerBackendAddressPoolListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LoadBalancerBackendAddressPoolsClient.List") + defer func() { + sc := -1 + if result.lbbaplr.Response.Response != nil { + sc = result.lbbaplr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName, loadBalancerName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancerBackendAddressPoolsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.lbbaplr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.LoadBalancerBackendAddressPoolsClient", "List", resp, "Failure sending request") + return + } + + result.lbbaplr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancerBackendAddressPoolsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client LoadBalancerBackendAddressPoolsClient) ListPreparer(ctx context.Context, resourceGroupName string, loadBalancerName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "loadBalancerName": autorest.Encode("path", loadBalancerName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/backendAddressPools", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client LoadBalancerBackendAddressPoolsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client LoadBalancerBackendAddressPoolsClient) ListResponder(resp *http.Response) (result LoadBalancerBackendAddressPoolListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client LoadBalancerBackendAddressPoolsClient) listNextResults(ctx context.Context, lastResults LoadBalancerBackendAddressPoolListResult) (result LoadBalancerBackendAddressPoolListResult, err error) { + req, err := lastResults.loadBalancerBackendAddressPoolListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.LoadBalancerBackendAddressPoolsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.LoadBalancerBackendAddressPoolsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancerBackendAddressPoolsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client LoadBalancerBackendAddressPoolsClient) ListComplete(ctx context.Context, resourceGroupName string, loadBalancerName string) (result LoadBalancerBackendAddressPoolListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LoadBalancerBackendAddressPoolsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName, loadBalancerName) + return +} diff --git a/services/network/mgmt/2019-08-01/network/loadbalancerfrontendipconfigurations.go b/services/network/mgmt/2019-08-01/network/loadbalancerfrontendipconfigurations.go new file mode 100644 index 000000000000..641b696ea5b2 --- /dev/null +++ b/services/network/mgmt/2019-08-01/network/loadbalancerfrontendipconfigurations.go @@ -0,0 +1,237 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// LoadBalancerFrontendIPConfigurationsClient is the network Client +type LoadBalancerFrontendIPConfigurationsClient struct { + BaseClient +} + +// NewLoadBalancerFrontendIPConfigurationsClient creates an instance of the LoadBalancerFrontendIPConfigurationsClient +// client. +func NewLoadBalancerFrontendIPConfigurationsClient(subscriptionID string) LoadBalancerFrontendIPConfigurationsClient { + return NewLoadBalancerFrontendIPConfigurationsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewLoadBalancerFrontendIPConfigurationsClientWithBaseURI creates an instance of the +// LoadBalancerFrontendIPConfigurationsClient client. +func NewLoadBalancerFrontendIPConfigurationsClientWithBaseURI(baseURI string, subscriptionID string) LoadBalancerFrontendIPConfigurationsClient { + return LoadBalancerFrontendIPConfigurationsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// Get gets load balancer frontend IP configuration. +// Parameters: +// resourceGroupName - the name of the resource group. +// loadBalancerName - the name of the load balancer. +// frontendIPConfigurationName - the name of the frontend IP configuration. +func (client LoadBalancerFrontendIPConfigurationsClient) Get(ctx context.Context, resourceGroupName string, loadBalancerName string, frontendIPConfigurationName string) (result FrontendIPConfiguration, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LoadBalancerFrontendIPConfigurationsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, loadBalancerName, frontendIPConfigurationName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancerFrontendIPConfigurationsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.LoadBalancerFrontendIPConfigurationsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancerFrontendIPConfigurationsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client LoadBalancerFrontendIPConfigurationsClient) GetPreparer(ctx context.Context, resourceGroupName string, loadBalancerName string, frontendIPConfigurationName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "frontendIPConfigurationName": autorest.Encode("path", frontendIPConfigurationName), + "loadBalancerName": autorest.Encode("path", loadBalancerName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/frontendIPConfigurations/{frontendIPConfigurationName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client LoadBalancerFrontendIPConfigurationsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client LoadBalancerFrontendIPConfigurationsClient) GetResponder(resp *http.Response) (result FrontendIPConfiguration, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets all the load balancer frontend IP configurations. +// Parameters: +// resourceGroupName - the name of the resource group. +// loadBalancerName - the name of the load balancer. +func (client LoadBalancerFrontendIPConfigurationsClient) List(ctx context.Context, resourceGroupName string, loadBalancerName string) (result LoadBalancerFrontendIPConfigurationListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LoadBalancerFrontendIPConfigurationsClient.List") + defer func() { + sc := -1 + if result.lbficlr.Response.Response != nil { + sc = result.lbficlr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName, loadBalancerName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancerFrontendIPConfigurationsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.lbficlr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.LoadBalancerFrontendIPConfigurationsClient", "List", resp, "Failure sending request") + return + } + + result.lbficlr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancerFrontendIPConfigurationsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client LoadBalancerFrontendIPConfigurationsClient) ListPreparer(ctx context.Context, resourceGroupName string, loadBalancerName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "loadBalancerName": autorest.Encode("path", loadBalancerName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/frontendIPConfigurations", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client LoadBalancerFrontendIPConfigurationsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client LoadBalancerFrontendIPConfigurationsClient) ListResponder(resp *http.Response) (result LoadBalancerFrontendIPConfigurationListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client LoadBalancerFrontendIPConfigurationsClient) listNextResults(ctx context.Context, lastResults LoadBalancerFrontendIPConfigurationListResult) (result LoadBalancerFrontendIPConfigurationListResult, err error) { + req, err := lastResults.loadBalancerFrontendIPConfigurationListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.LoadBalancerFrontendIPConfigurationsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.LoadBalancerFrontendIPConfigurationsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancerFrontendIPConfigurationsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client LoadBalancerFrontendIPConfigurationsClient) ListComplete(ctx context.Context, resourceGroupName string, loadBalancerName string) (result LoadBalancerFrontendIPConfigurationListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LoadBalancerFrontendIPConfigurationsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName, loadBalancerName) + return +} diff --git a/services/network/mgmt/2019-08-01/network/loadbalancerloadbalancingrules.go b/services/network/mgmt/2019-08-01/network/loadbalancerloadbalancingrules.go new file mode 100644 index 000000000000..e0952ba0ef02 --- /dev/null +++ b/services/network/mgmt/2019-08-01/network/loadbalancerloadbalancingrules.go @@ -0,0 +1,236 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// LoadBalancerLoadBalancingRulesClient is the network Client +type LoadBalancerLoadBalancingRulesClient struct { + BaseClient +} + +// NewLoadBalancerLoadBalancingRulesClient creates an instance of the LoadBalancerLoadBalancingRulesClient client. +func NewLoadBalancerLoadBalancingRulesClient(subscriptionID string) LoadBalancerLoadBalancingRulesClient { + return NewLoadBalancerLoadBalancingRulesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewLoadBalancerLoadBalancingRulesClientWithBaseURI creates an instance of the LoadBalancerLoadBalancingRulesClient +// client. +func NewLoadBalancerLoadBalancingRulesClientWithBaseURI(baseURI string, subscriptionID string) LoadBalancerLoadBalancingRulesClient { + return LoadBalancerLoadBalancingRulesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// Get gets the specified load balancer load balancing rule. +// Parameters: +// resourceGroupName - the name of the resource group. +// loadBalancerName - the name of the load balancer. +// loadBalancingRuleName - the name of the load balancing rule. +func (client LoadBalancerLoadBalancingRulesClient) Get(ctx context.Context, resourceGroupName string, loadBalancerName string, loadBalancingRuleName string) (result LoadBalancingRule, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LoadBalancerLoadBalancingRulesClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, loadBalancerName, loadBalancingRuleName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancerLoadBalancingRulesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.LoadBalancerLoadBalancingRulesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancerLoadBalancingRulesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client LoadBalancerLoadBalancingRulesClient) GetPreparer(ctx context.Context, resourceGroupName string, loadBalancerName string, loadBalancingRuleName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "loadBalancerName": autorest.Encode("path", loadBalancerName), + "loadBalancingRuleName": autorest.Encode("path", loadBalancingRuleName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/loadBalancingRules/{loadBalancingRuleName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client LoadBalancerLoadBalancingRulesClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client LoadBalancerLoadBalancingRulesClient) GetResponder(resp *http.Response) (result LoadBalancingRule, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets all the load balancing rules in a load balancer. +// Parameters: +// resourceGroupName - the name of the resource group. +// loadBalancerName - the name of the load balancer. +func (client LoadBalancerLoadBalancingRulesClient) List(ctx context.Context, resourceGroupName string, loadBalancerName string) (result LoadBalancerLoadBalancingRuleListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LoadBalancerLoadBalancingRulesClient.List") + defer func() { + sc := -1 + if result.lblbrlr.Response.Response != nil { + sc = result.lblbrlr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName, loadBalancerName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancerLoadBalancingRulesClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.lblbrlr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.LoadBalancerLoadBalancingRulesClient", "List", resp, "Failure sending request") + return + } + + result.lblbrlr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancerLoadBalancingRulesClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client LoadBalancerLoadBalancingRulesClient) ListPreparer(ctx context.Context, resourceGroupName string, loadBalancerName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "loadBalancerName": autorest.Encode("path", loadBalancerName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/loadBalancingRules", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client LoadBalancerLoadBalancingRulesClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client LoadBalancerLoadBalancingRulesClient) ListResponder(resp *http.Response) (result LoadBalancerLoadBalancingRuleListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client LoadBalancerLoadBalancingRulesClient) listNextResults(ctx context.Context, lastResults LoadBalancerLoadBalancingRuleListResult) (result LoadBalancerLoadBalancingRuleListResult, err error) { + req, err := lastResults.loadBalancerLoadBalancingRuleListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.LoadBalancerLoadBalancingRulesClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.LoadBalancerLoadBalancingRulesClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancerLoadBalancingRulesClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client LoadBalancerLoadBalancingRulesClient) ListComplete(ctx context.Context, resourceGroupName string, loadBalancerName string) (result LoadBalancerLoadBalancingRuleListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LoadBalancerLoadBalancingRulesClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName, loadBalancerName) + return +} diff --git a/services/network/mgmt/2019-08-01/network/loadbalancernetworkinterfaces.go b/services/network/mgmt/2019-08-01/network/loadbalancernetworkinterfaces.go new file mode 100644 index 000000000000..65c1e1e1fe58 --- /dev/null +++ b/services/network/mgmt/2019-08-01/network/loadbalancernetworkinterfaces.go @@ -0,0 +1,157 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// LoadBalancerNetworkInterfacesClient is the network Client +type LoadBalancerNetworkInterfacesClient struct { + BaseClient +} + +// NewLoadBalancerNetworkInterfacesClient creates an instance of the LoadBalancerNetworkInterfacesClient client. +func NewLoadBalancerNetworkInterfacesClient(subscriptionID string) LoadBalancerNetworkInterfacesClient { + return NewLoadBalancerNetworkInterfacesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewLoadBalancerNetworkInterfacesClientWithBaseURI creates an instance of the LoadBalancerNetworkInterfacesClient +// client. +func NewLoadBalancerNetworkInterfacesClientWithBaseURI(baseURI string, subscriptionID string) LoadBalancerNetworkInterfacesClient { + return LoadBalancerNetworkInterfacesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// List gets associated load balancer network interfaces. +// Parameters: +// resourceGroupName - the name of the resource group. +// loadBalancerName - the name of the load balancer. +func (client LoadBalancerNetworkInterfacesClient) List(ctx context.Context, resourceGroupName string, loadBalancerName string) (result InterfaceListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LoadBalancerNetworkInterfacesClient.List") + defer func() { + sc := -1 + if result.ilr.Response.Response != nil { + sc = result.ilr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName, loadBalancerName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancerNetworkInterfacesClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.ilr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.LoadBalancerNetworkInterfacesClient", "List", resp, "Failure sending request") + return + } + + result.ilr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancerNetworkInterfacesClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client LoadBalancerNetworkInterfacesClient) ListPreparer(ctx context.Context, resourceGroupName string, loadBalancerName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "loadBalancerName": autorest.Encode("path", loadBalancerName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/networkInterfaces", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client LoadBalancerNetworkInterfacesClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client LoadBalancerNetworkInterfacesClient) ListResponder(resp *http.Response) (result InterfaceListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client LoadBalancerNetworkInterfacesClient) listNextResults(ctx context.Context, lastResults InterfaceListResult) (result InterfaceListResult, err error) { + req, err := lastResults.interfaceListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.LoadBalancerNetworkInterfacesClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.LoadBalancerNetworkInterfacesClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancerNetworkInterfacesClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client LoadBalancerNetworkInterfacesClient) ListComplete(ctx context.Context, resourceGroupName string, loadBalancerName string) (result InterfaceListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LoadBalancerNetworkInterfacesClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName, loadBalancerName) + return +} diff --git a/services/network/mgmt/2019-08-01/network/loadbalanceroutboundrules.go b/services/network/mgmt/2019-08-01/network/loadbalanceroutboundrules.go new file mode 100644 index 000000000000..0dfcd4b53628 --- /dev/null +++ b/services/network/mgmt/2019-08-01/network/loadbalanceroutboundrules.go @@ -0,0 +1,235 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// LoadBalancerOutboundRulesClient is the network Client +type LoadBalancerOutboundRulesClient struct { + BaseClient +} + +// NewLoadBalancerOutboundRulesClient creates an instance of the LoadBalancerOutboundRulesClient client. +func NewLoadBalancerOutboundRulesClient(subscriptionID string) LoadBalancerOutboundRulesClient { + return NewLoadBalancerOutboundRulesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewLoadBalancerOutboundRulesClientWithBaseURI creates an instance of the LoadBalancerOutboundRulesClient client. +func NewLoadBalancerOutboundRulesClientWithBaseURI(baseURI string, subscriptionID string) LoadBalancerOutboundRulesClient { + return LoadBalancerOutboundRulesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// Get gets the specified load balancer outbound rule. +// Parameters: +// resourceGroupName - the name of the resource group. +// loadBalancerName - the name of the load balancer. +// outboundRuleName - the name of the outbound rule. +func (client LoadBalancerOutboundRulesClient) Get(ctx context.Context, resourceGroupName string, loadBalancerName string, outboundRuleName string) (result OutboundRule, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LoadBalancerOutboundRulesClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, loadBalancerName, outboundRuleName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancerOutboundRulesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.LoadBalancerOutboundRulesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancerOutboundRulesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client LoadBalancerOutboundRulesClient) GetPreparer(ctx context.Context, resourceGroupName string, loadBalancerName string, outboundRuleName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "loadBalancerName": autorest.Encode("path", loadBalancerName), + "outboundRuleName": autorest.Encode("path", outboundRuleName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/outboundRules/{outboundRuleName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client LoadBalancerOutboundRulesClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client LoadBalancerOutboundRulesClient) GetResponder(resp *http.Response) (result OutboundRule, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets all the outbound rules in a load balancer. +// Parameters: +// resourceGroupName - the name of the resource group. +// loadBalancerName - the name of the load balancer. +func (client LoadBalancerOutboundRulesClient) List(ctx context.Context, resourceGroupName string, loadBalancerName string) (result LoadBalancerOutboundRuleListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LoadBalancerOutboundRulesClient.List") + defer func() { + sc := -1 + if result.lborlr.Response.Response != nil { + sc = result.lborlr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName, loadBalancerName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancerOutboundRulesClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.lborlr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.LoadBalancerOutboundRulesClient", "List", resp, "Failure sending request") + return + } + + result.lborlr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancerOutboundRulesClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client LoadBalancerOutboundRulesClient) ListPreparer(ctx context.Context, resourceGroupName string, loadBalancerName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "loadBalancerName": autorest.Encode("path", loadBalancerName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/outboundRules", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client LoadBalancerOutboundRulesClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client LoadBalancerOutboundRulesClient) ListResponder(resp *http.Response) (result LoadBalancerOutboundRuleListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client LoadBalancerOutboundRulesClient) listNextResults(ctx context.Context, lastResults LoadBalancerOutboundRuleListResult) (result LoadBalancerOutboundRuleListResult, err error) { + req, err := lastResults.loadBalancerOutboundRuleListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.LoadBalancerOutboundRulesClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.LoadBalancerOutboundRulesClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancerOutboundRulesClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client LoadBalancerOutboundRulesClient) ListComplete(ctx context.Context, resourceGroupName string, loadBalancerName string) (result LoadBalancerOutboundRuleListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LoadBalancerOutboundRulesClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName, loadBalancerName) + return +} diff --git a/services/network/mgmt/2019-08-01/network/loadbalancerprobes.go b/services/network/mgmt/2019-08-01/network/loadbalancerprobes.go new file mode 100644 index 000000000000..3289952dbe60 --- /dev/null +++ b/services/network/mgmt/2019-08-01/network/loadbalancerprobes.go @@ -0,0 +1,235 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// LoadBalancerProbesClient is the network Client +type LoadBalancerProbesClient struct { + BaseClient +} + +// NewLoadBalancerProbesClient creates an instance of the LoadBalancerProbesClient client. +func NewLoadBalancerProbesClient(subscriptionID string) LoadBalancerProbesClient { + return NewLoadBalancerProbesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewLoadBalancerProbesClientWithBaseURI creates an instance of the LoadBalancerProbesClient client. +func NewLoadBalancerProbesClientWithBaseURI(baseURI string, subscriptionID string) LoadBalancerProbesClient { + return LoadBalancerProbesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// Get gets load balancer probe. +// Parameters: +// resourceGroupName - the name of the resource group. +// loadBalancerName - the name of the load balancer. +// probeName - the name of the probe. +func (client LoadBalancerProbesClient) Get(ctx context.Context, resourceGroupName string, loadBalancerName string, probeName string) (result Probe, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LoadBalancerProbesClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, loadBalancerName, probeName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancerProbesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.LoadBalancerProbesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancerProbesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client LoadBalancerProbesClient) GetPreparer(ctx context.Context, resourceGroupName string, loadBalancerName string, probeName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "loadBalancerName": autorest.Encode("path", loadBalancerName), + "probeName": autorest.Encode("path", probeName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes/{probeName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client LoadBalancerProbesClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client LoadBalancerProbesClient) GetResponder(resp *http.Response) (result Probe, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets all the load balancer probes. +// Parameters: +// resourceGroupName - the name of the resource group. +// loadBalancerName - the name of the load balancer. +func (client LoadBalancerProbesClient) List(ctx context.Context, resourceGroupName string, loadBalancerName string) (result LoadBalancerProbeListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LoadBalancerProbesClient.List") + defer func() { + sc := -1 + if result.lbplr.Response.Response != nil { + sc = result.lbplr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName, loadBalancerName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancerProbesClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.lbplr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.LoadBalancerProbesClient", "List", resp, "Failure sending request") + return + } + + result.lbplr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancerProbesClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client LoadBalancerProbesClient) ListPreparer(ctx context.Context, resourceGroupName string, loadBalancerName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "loadBalancerName": autorest.Encode("path", loadBalancerName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client LoadBalancerProbesClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client LoadBalancerProbesClient) ListResponder(resp *http.Response) (result LoadBalancerProbeListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client LoadBalancerProbesClient) listNextResults(ctx context.Context, lastResults LoadBalancerProbeListResult) (result LoadBalancerProbeListResult, err error) { + req, err := lastResults.loadBalancerProbeListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.LoadBalancerProbesClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.LoadBalancerProbesClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancerProbesClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client LoadBalancerProbesClient) ListComplete(ctx context.Context, resourceGroupName string, loadBalancerName string) (result LoadBalancerProbeListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LoadBalancerProbesClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName, loadBalancerName) + return +} diff --git a/services/network/mgmt/2019-08-01/network/loadbalancers.go b/services/network/mgmt/2019-08-01/network/loadbalancers.go new file mode 100644 index 000000000000..d4aa5c991f4d --- /dev/null +++ b/services/network/mgmt/2019-08-01/network/loadbalancers.go @@ -0,0 +1,581 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// LoadBalancersClient is the network Client +type LoadBalancersClient struct { + BaseClient +} + +// NewLoadBalancersClient creates an instance of the LoadBalancersClient client. +func NewLoadBalancersClient(subscriptionID string) LoadBalancersClient { + return NewLoadBalancersClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewLoadBalancersClientWithBaseURI creates an instance of the LoadBalancersClient client. +func NewLoadBalancersClientWithBaseURI(baseURI string, subscriptionID string) LoadBalancersClient { + return LoadBalancersClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates a load balancer. +// Parameters: +// resourceGroupName - the name of the resource group. +// loadBalancerName - the name of the load balancer. +// parameters - parameters supplied to the create or update load balancer operation. +func (client LoadBalancersClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, loadBalancerName string, parameters LoadBalancer) (result LoadBalancersCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LoadBalancersClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, loadBalancerName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancersClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancersClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client LoadBalancersClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, loadBalancerName string, parameters LoadBalancer) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "loadBalancerName": autorest.Encode("path", loadBalancerName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client LoadBalancersClient) CreateOrUpdateSender(req *http.Request) (future LoadBalancersCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client LoadBalancersClient) CreateOrUpdateResponder(resp *http.Response) (result LoadBalancer, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the specified load balancer. +// Parameters: +// resourceGroupName - the name of the resource group. +// loadBalancerName - the name of the load balancer. +func (client LoadBalancersClient) Delete(ctx context.Context, resourceGroupName string, loadBalancerName string) (result LoadBalancersDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LoadBalancersClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, loadBalancerName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancersClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancersClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client LoadBalancersClient) DeletePreparer(ctx context.Context, resourceGroupName string, loadBalancerName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "loadBalancerName": autorest.Encode("path", loadBalancerName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client LoadBalancersClient) DeleteSender(req *http.Request) (future LoadBalancersDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client LoadBalancersClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets the specified load balancer. +// Parameters: +// resourceGroupName - the name of the resource group. +// loadBalancerName - the name of the load balancer. +// expand - expands referenced resources. +func (client LoadBalancersClient) Get(ctx context.Context, resourceGroupName string, loadBalancerName string, expand string) (result LoadBalancer, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LoadBalancersClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, loadBalancerName, expand) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancersClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.LoadBalancersClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancersClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client LoadBalancersClient) GetPreparer(ctx context.Context, resourceGroupName string, loadBalancerName string, expand string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "loadBalancerName": autorest.Encode("path", loadBalancerName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(expand) > 0 { + queryParameters["$expand"] = autorest.Encode("query", expand) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client LoadBalancersClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client LoadBalancersClient) GetResponder(resp *http.Response) (result LoadBalancer, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets all the load balancers in a resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +func (client LoadBalancersClient) List(ctx context.Context, resourceGroupName string) (result LoadBalancerListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LoadBalancersClient.List") + defer func() { + sc := -1 + if result.lblr.Response.Response != nil { + sc = result.lblr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancersClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.lblr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.LoadBalancersClient", "List", resp, "Failure sending request") + return + } + + result.lblr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancersClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client LoadBalancersClient) ListPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client LoadBalancersClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client LoadBalancersClient) ListResponder(resp *http.Response) (result LoadBalancerListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client LoadBalancersClient) listNextResults(ctx context.Context, lastResults LoadBalancerListResult) (result LoadBalancerListResult, err error) { + req, err := lastResults.loadBalancerListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.LoadBalancersClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.LoadBalancersClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancersClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client LoadBalancersClient) ListComplete(ctx context.Context, resourceGroupName string) (result LoadBalancerListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LoadBalancersClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName) + return +} + +// ListAll gets all the load balancers in a subscription. +func (client LoadBalancersClient) ListAll(ctx context.Context) (result LoadBalancerListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LoadBalancersClient.ListAll") + defer func() { + sc := -1 + if result.lblr.Response.Response != nil { + sc = result.lblr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listAllNextResults + req, err := client.ListAllPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancersClient", "ListAll", nil, "Failure preparing request") + return + } + + resp, err := client.ListAllSender(req) + if err != nil { + result.lblr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.LoadBalancersClient", "ListAll", resp, "Failure sending request") + return + } + + result.lblr, err = client.ListAllResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancersClient", "ListAll", resp, "Failure responding to request") + } + + return +} + +// ListAllPreparer prepares the ListAll request. +func (client LoadBalancersClient) ListAllPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/loadBalancers", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListAllSender sends the ListAll request. The method will close the +// http.Response Body if it receives an error. +func (client LoadBalancersClient) ListAllSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListAllResponder handles the response to the ListAll request. The method always +// closes the http.Response Body. +func (client LoadBalancersClient) ListAllResponder(resp *http.Response) (result LoadBalancerListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listAllNextResults retrieves the next set of results, if any. +func (client LoadBalancersClient) listAllNextResults(ctx context.Context, lastResults LoadBalancerListResult) (result LoadBalancerListResult, err error) { + req, err := lastResults.loadBalancerListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.LoadBalancersClient", "listAllNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListAllSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.LoadBalancersClient", "listAllNextResults", resp, "Failure sending next results request") + } + result, err = client.ListAllResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancersClient", "listAllNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListAllComplete enumerates all values, automatically crossing page boundaries as required. +func (client LoadBalancersClient) ListAllComplete(ctx context.Context) (result LoadBalancerListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LoadBalancersClient.ListAll") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListAll(ctx) + return +} + +// UpdateTags updates a load balancer tags. +// Parameters: +// resourceGroupName - the name of the resource group. +// loadBalancerName - the name of the load balancer. +// parameters - parameters supplied to update load balancer tags. +func (client LoadBalancersClient) UpdateTags(ctx context.Context, resourceGroupName string, loadBalancerName string, parameters TagsObject) (result LoadBalancersUpdateTagsFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LoadBalancersClient.UpdateTags") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdateTagsPreparer(ctx, resourceGroupName, loadBalancerName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancersClient", "UpdateTags", nil, "Failure preparing request") + return + } + + result, err = client.UpdateTagsSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancersClient", "UpdateTags", result.Response(), "Failure sending request") + return + } + + return +} + +// UpdateTagsPreparer prepares the UpdateTags request. +func (client LoadBalancersClient) UpdateTagsPreparer(ctx context.Context, resourceGroupName string, loadBalancerName string, parameters TagsObject) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "loadBalancerName": autorest.Encode("path", loadBalancerName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateTagsSender sends the UpdateTags request. The method will close the +// http.Response Body if it receives an error. +func (client LoadBalancersClient) UpdateTagsSender(req *http.Request) (future LoadBalancersUpdateTagsFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// UpdateTagsResponder handles the response to the UpdateTags request. The method always +// closes the http.Response Body. +func (client LoadBalancersClient) UpdateTagsResponder(resp *http.Response) (result LoadBalancer, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/network/mgmt/2019-08-01/network/localnetworkgateways.go b/services/network/mgmt/2019-08-01/network/localnetworkgateways.go new file mode 100644 index 000000000000..47e231a093f5 --- /dev/null +++ b/services/network/mgmt/2019-08-01/network/localnetworkgateways.go @@ -0,0 +1,494 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// LocalNetworkGatewaysClient is the network Client +type LocalNetworkGatewaysClient struct { + BaseClient +} + +// NewLocalNetworkGatewaysClient creates an instance of the LocalNetworkGatewaysClient client. +func NewLocalNetworkGatewaysClient(subscriptionID string) LocalNetworkGatewaysClient { + return NewLocalNetworkGatewaysClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewLocalNetworkGatewaysClientWithBaseURI creates an instance of the LocalNetworkGatewaysClient client. +func NewLocalNetworkGatewaysClientWithBaseURI(baseURI string, subscriptionID string) LocalNetworkGatewaysClient { + return LocalNetworkGatewaysClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates a local network gateway in the specified resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +// localNetworkGatewayName - the name of the local network gateway. +// parameters - parameters supplied to the create or update local network gateway operation. +func (client LocalNetworkGatewaysClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, localNetworkGatewayName string, parameters LocalNetworkGateway) (result LocalNetworkGatewaysCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LocalNetworkGatewaysClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: localNetworkGatewayName, + Constraints: []validation.Constraint{{Target: "localNetworkGatewayName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.LocalNetworkGatewayPropertiesFormat", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + return result, validation.NewError("network.LocalNetworkGatewaysClient", "CreateOrUpdate", err.Error()) + } + + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, localNetworkGatewayName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LocalNetworkGatewaysClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LocalNetworkGatewaysClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client LocalNetworkGatewaysClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, localNetworkGatewayName string, parameters LocalNetworkGateway) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "localNetworkGatewayName": autorest.Encode("path", localNetworkGatewayName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/localNetworkGateways/{localNetworkGatewayName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client LocalNetworkGatewaysClient) CreateOrUpdateSender(req *http.Request) (future LocalNetworkGatewaysCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client LocalNetworkGatewaysClient) CreateOrUpdateResponder(resp *http.Response) (result LocalNetworkGateway, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the specified local network gateway. +// Parameters: +// resourceGroupName - the name of the resource group. +// localNetworkGatewayName - the name of the local network gateway. +func (client LocalNetworkGatewaysClient) Delete(ctx context.Context, resourceGroupName string, localNetworkGatewayName string) (result LocalNetworkGatewaysDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LocalNetworkGatewaysClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: localNetworkGatewayName, + Constraints: []validation.Constraint{{Target: "localNetworkGatewayName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { + return result, validation.NewError("network.LocalNetworkGatewaysClient", "Delete", err.Error()) + } + + req, err := client.DeletePreparer(ctx, resourceGroupName, localNetworkGatewayName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LocalNetworkGatewaysClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LocalNetworkGatewaysClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client LocalNetworkGatewaysClient) DeletePreparer(ctx context.Context, resourceGroupName string, localNetworkGatewayName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "localNetworkGatewayName": autorest.Encode("path", localNetworkGatewayName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/localNetworkGateways/{localNetworkGatewayName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client LocalNetworkGatewaysClient) DeleteSender(req *http.Request) (future LocalNetworkGatewaysDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client LocalNetworkGatewaysClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets the specified local network gateway in a resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +// localNetworkGatewayName - the name of the local network gateway. +func (client LocalNetworkGatewaysClient) Get(ctx context.Context, resourceGroupName string, localNetworkGatewayName string) (result LocalNetworkGateway, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LocalNetworkGatewaysClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: localNetworkGatewayName, + Constraints: []validation.Constraint{{Target: "localNetworkGatewayName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { + return result, validation.NewError("network.LocalNetworkGatewaysClient", "Get", err.Error()) + } + + req, err := client.GetPreparer(ctx, resourceGroupName, localNetworkGatewayName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LocalNetworkGatewaysClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.LocalNetworkGatewaysClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LocalNetworkGatewaysClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client LocalNetworkGatewaysClient) GetPreparer(ctx context.Context, resourceGroupName string, localNetworkGatewayName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "localNetworkGatewayName": autorest.Encode("path", localNetworkGatewayName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/localNetworkGateways/{localNetworkGatewayName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client LocalNetworkGatewaysClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client LocalNetworkGatewaysClient) GetResponder(resp *http.Response) (result LocalNetworkGateway, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets all the local network gateways in a resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +func (client LocalNetworkGatewaysClient) List(ctx context.Context, resourceGroupName string) (result LocalNetworkGatewayListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LocalNetworkGatewaysClient.List") + defer func() { + sc := -1 + if result.lnglr.Response.Response != nil { + sc = result.lnglr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LocalNetworkGatewaysClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.lnglr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.LocalNetworkGatewaysClient", "List", resp, "Failure sending request") + return + } + + result.lnglr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LocalNetworkGatewaysClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client LocalNetworkGatewaysClient) ListPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/localNetworkGateways", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client LocalNetworkGatewaysClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client LocalNetworkGatewaysClient) ListResponder(resp *http.Response) (result LocalNetworkGatewayListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client LocalNetworkGatewaysClient) listNextResults(ctx context.Context, lastResults LocalNetworkGatewayListResult) (result LocalNetworkGatewayListResult, err error) { + req, err := lastResults.localNetworkGatewayListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.LocalNetworkGatewaysClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.LocalNetworkGatewaysClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LocalNetworkGatewaysClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client LocalNetworkGatewaysClient) ListComplete(ctx context.Context, resourceGroupName string) (result LocalNetworkGatewayListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LocalNetworkGatewaysClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName) + return +} + +// UpdateTags updates a local network gateway tags. +// Parameters: +// resourceGroupName - the name of the resource group. +// localNetworkGatewayName - the name of the local network gateway. +// parameters - parameters supplied to update local network gateway tags. +func (client LocalNetworkGatewaysClient) UpdateTags(ctx context.Context, resourceGroupName string, localNetworkGatewayName string, parameters TagsObject) (result LocalNetworkGatewaysUpdateTagsFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LocalNetworkGatewaysClient.UpdateTags") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: localNetworkGatewayName, + Constraints: []validation.Constraint{{Target: "localNetworkGatewayName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { + return result, validation.NewError("network.LocalNetworkGatewaysClient", "UpdateTags", err.Error()) + } + + req, err := client.UpdateTagsPreparer(ctx, resourceGroupName, localNetworkGatewayName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LocalNetworkGatewaysClient", "UpdateTags", nil, "Failure preparing request") + return + } + + result, err = client.UpdateTagsSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LocalNetworkGatewaysClient", "UpdateTags", result.Response(), "Failure sending request") + return + } + + return +} + +// UpdateTagsPreparer prepares the UpdateTags request. +func (client LocalNetworkGatewaysClient) UpdateTagsPreparer(ctx context.Context, resourceGroupName string, localNetworkGatewayName string, parameters TagsObject) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "localNetworkGatewayName": autorest.Encode("path", localNetworkGatewayName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/localNetworkGateways/{localNetworkGatewayName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateTagsSender sends the UpdateTags request. The method will close the +// http.Response Body if it receives an error. +func (client LocalNetworkGatewaysClient) UpdateTagsSender(req *http.Request) (future LocalNetworkGatewaysUpdateTagsFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// UpdateTagsResponder handles the response to the UpdateTags request. The method always +// closes the http.Response Body. +func (client LocalNetworkGatewaysClient) UpdateTagsResponder(resp *http.Response) (result LocalNetworkGateway, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/network/mgmt/2019-08-01/network/models.go b/services/network/mgmt/2019-08-01/network/models.go new file mode 100644 index 000000000000..305a1b9f754c --- /dev/null +++ b/services/network/mgmt/2019-08-01/network/models.go @@ -0,0 +1,34965 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "encoding/json" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/date" + "github.com/Azure/go-autorest/autorest/to" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// The package's fully qualified name. +const fqdn = "github.com/Azure/azure-sdk-for-go/services/network/mgmt/2019-08-01/network" + +// Access enumerates the values for access. +type Access string + +const ( + // Allow ... + Allow Access = "Allow" + // Deny ... + Deny Access = "Deny" +) + +// PossibleAccessValues returns an array of possible values for the Access const type. +func PossibleAccessValues() []Access { + return []Access{Allow, Deny} +} + +// ApplicationGatewayBackendHealthServerHealth enumerates the values for application gateway backend health +// server health. +type ApplicationGatewayBackendHealthServerHealth string + +const ( + // Down ... + Down ApplicationGatewayBackendHealthServerHealth = "Down" + // Draining ... + Draining ApplicationGatewayBackendHealthServerHealth = "Draining" + // Partial ... + Partial ApplicationGatewayBackendHealthServerHealth = "Partial" + // Unknown ... + Unknown ApplicationGatewayBackendHealthServerHealth = "Unknown" + // Up ... + Up ApplicationGatewayBackendHealthServerHealth = "Up" +) + +// PossibleApplicationGatewayBackendHealthServerHealthValues returns an array of possible values for the ApplicationGatewayBackendHealthServerHealth const type. +func PossibleApplicationGatewayBackendHealthServerHealthValues() []ApplicationGatewayBackendHealthServerHealth { + return []ApplicationGatewayBackendHealthServerHealth{Down, Draining, Partial, Unknown, Up} +} + +// ApplicationGatewayCookieBasedAffinity enumerates the values for application gateway cookie based affinity. +type ApplicationGatewayCookieBasedAffinity string + +const ( + // Disabled ... + Disabled ApplicationGatewayCookieBasedAffinity = "Disabled" + // Enabled ... + Enabled ApplicationGatewayCookieBasedAffinity = "Enabled" +) + +// PossibleApplicationGatewayCookieBasedAffinityValues returns an array of possible values for the ApplicationGatewayCookieBasedAffinity const type. +func PossibleApplicationGatewayCookieBasedAffinityValues() []ApplicationGatewayCookieBasedAffinity { + return []ApplicationGatewayCookieBasedAffinity{Disabled, Enabled} +} + +// ApplicationGatewayCustomErrorStatusCode enumerates the values for application gateway custom error status +// code. +type ApplicationGatewayCustomErrorStatusCode string + +const ( + // HTTPStatus403 ... + HTTPStatus403 ApplicationGatewayCustomErrorStatusCode = "HttpStatus403" + // HTTPStatus502 ... + HTTPStatus502 ApplicationGatewayCustomErrorStatusCode = "HttpStatus502" +) + +// PossibleApplicationGatewayCustomErrorStatusCodeValues returns an array of possible values for the ApplicationGatewayCustomErrorStatusCode const type. +func PossibleApplicationGatewayCustomErrorStatusCodeValues() []ApplicationGatewayCustomErrorStatusCode { + return []ApplicationGatewayCustomErrorStatusCode{HTTPStatus403, HTTPStatus502} +} + +// ApplicationGatewayFirewallMode enumerates the values for application gateway firewall mode. +type ApplicationGatewayFirewallMode string + +const ( + // Detection ... + Detection ApplicationGatewayFirewallMode = "Detection" + // Prevention ... + Prevention ApplicationGatewayFirewallMode = "Prevention" +) + +// PossibleApplicationGatewayFirewallModeValues returns an array of possible values for the ApplicationGatewayFirewallMode const type. +func PossibleApplicationGatewayFirewallModeValues() []ApplicationGatewayFirewallMode { + return []ApplicationGatewayFirewallMode{Detection, Prevention} +} + +// ApplicationGatewayOperationalState enumerates the values for application gateway operational state. +type ApplicationGatewayOperationalState string + +const ( + // Running ... + Running ApplicationGatewayOperationalState = "Running" + // Starting ... + Starting ApplicationGatewayOperationalState = "Starting" + // Stopped ... + Stopped ApplicationGatewayOperationalState = "Stopped" + // Stopping ... + Stopping ApplicationGatewayOperationalState = "Stopping" +) + +// PossibleApplicationGatewayOperationalStateValues returns an array of possible values for the ApplicationGatewayOperationalState const type. +func PossibleApplicationGatewayOperationalStateValues() []ApplicationGatewayOperationalState { + return []ApplicationGatewayOperationalState{Running, Starting, Stopped, Stopping} +} + +// ApplicationGatewayProtocol enumerates the values for application gateway protocol. +type ApplicationGatewayProtocol string + +const ( + // HTTP ... + HTTP ApplicationGatewayProtocol = "Http" + // HTTPS ... + HTTPS ApplicationGatewayProtocol = "Https" +) + +// PossibleApplicationGatewayProtocolValues returns an array of possible values for the ApplicationGatewayProtocol const type. +func PossibleApplicationGatewayProtocolValues() []ApplicationGatewayProtocol { + return []ApplicationGatewayProtocol{HTTP, HTTPS} +} + +// ApplicationGatewayRedirectType enumerates the values for application gateway redirect type. +type ApplicationGatewayRedirectType string + +const ( + // Found ... + Found ApplicationGatewayRedirectType = "Found" + // Permanent ... + Permanent ApplicationGatewayRedirectType = "Permanent" + // SeeOther ... + SeeOther ApplicationGatewayRedirectType = "SeeOther" + // Temporary ... + Temporary ApplicationGatewayRedirectType = "Temporary" +) + +// PossibleApplicationGatewayRedirectTypeValues returns an array of possible values for the ApplicationGatewayRedirectType const type. +func PossibleApplicationGatewayRedirectTypeValues() []ApplicationGatewayRedirectType { + return []ApplicationGatewayRedirectType{Found, Permanent, SeeOther, Temporary} +} + +// ApplicationGatewayRequestRoutingRuleType enumerates the values for application gateway request routing rule +// type. +type ApplicationGatewayRequestRoutingRuleType string + +const ( + // Basic ... + Basic ApplicationGatewayRequestRoutingRuleType = "Basic" + // PathBasedRouting ... + PathBasedRouting ApplicationGatewayRequestRoutingRuleType = "PathBasedRouting" +) + +// PossibleApplicationGatewayRequestRoutingRuleTypeValues returns an array of possible values for the ApplicationGatewayRequestRoutingRuleType const type. +func PossibleApplicationGatewayRequestRoutingRuleTypeValues() []ApplicationGatewayRequestRoutingRuleType { + return []ApplicationGatewayRequestRoutingRuleType{Basic, PathBasedRouting} +} + +// ApplicationGatewaySkuName enumerates the values for application gateway sku name. +type ApplicationGatewaySkuName string + +const ( + // StandardLarge ... + StandardLarge ApplicationGatewaySkuName = "Standard_Large" + // StandardMedium ... + StandardMedium ApplicationGatewaySkuName = "Standard_Medium" + // StandardSmall ... + StandardSmall ApplicationGatewaySkuName = "Standard_Small" + // StandardV2 ... + StandardV2 ApplicationGatewaySkuName = "Standard_v2" + // WAFLarge ... + WAFLarge ApplicationGatewaySkuName = "WAF_Large" + // WAFMedium ... + WAFMedium ApplicationGatewaySkuName = "WAF_Medium" + // WAFV2 ... + WAFV2 ApplicationGatewaySkuName = "WAF_v2" +) + +// PossibleApplicationGatewaySkuNameValues returns an array of possible values for the ApplicationGatewaySkuName const type. +func PossibleApplicationGatewaySkuNameValues() []ApplicationGatewaySkuName { + return []ApplicationGatewaySkuName{StandardLarge, StandardMedium, StandardSmall, StandardV2, WAFLarge, WAFMedium, WAFV2} +} + +// ApplicationGatewaySslCipherSuite enumerates the values for application gateway ssl cipher suite. +type ApplicationGatewaySslCipherSuite string + +const ( + // TLSDHEDSSWITH3DESEDECBCSHA ... + TLSDHEDSSWITH3DESEDECBCSHA ApplicationGatewaySslCipherSuite = "TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA" + // TLSDHEDSSWITHAES128CBCSHA ... + TLSDHEDSSWITHAES128CBCSHA ApplicationGatewaySslCipherSuite = "TLS_DHE_DSS_WITH_AES_128_CBC_SHA" + // TLSDHEDSSWITHAES128CBCSHA256 ... + TLSDHEDSSWITHAES128CBCSHA256 ApplicationGatewaySslCipherSuite = "TLS_DHE_DSS_WITH_AES_128_CBC_SHA256" + // TLSDHEDSSWITHAES256CBCSHA ... + TLSDHEDSSWITHAES256CBCSHA ApplicationGatewaySslCipherSuite = "TLS_DHE_DSS_WITH_AES_256_CBC_SHA" + // TLSDHEDSSWITHAES256CBCSHA256 ... + TLSDHEDSSWITHAES256CBCSHA256 ApplicationGatewaySslCipherSuite = "TLS_DHE_DSS_WITH_AES_256_CBC_SHA256" + // TLSDHERSAWITHAES128CBCSHA ... + TLSDHERSAWITHAES128CBCSHA ApplicationGatewaySslCipherSuite = "TLS_DHE_RSA_WITH_AES_128_CBC_SHA" + // TLSDHERSAWITHAES128GCMSHA256 ... + TLSDHERSAWITHAES128GCMSHA256 ApplicationGatewaySslCipherSuite = "TLS_DHE_RSA_WITH_AES_128_GCM_SHA256" + // TLSDHERSAWITHAES256CBCSHA ... + TLSDHERSAWITHAES256CBCSHA ApplicationGatewaySslCipherSuite = "TLS_DHE_RSA_WITH_AES_256_CBC_SHA" + // TLSDHERSAWITHAES256GCMSHA384 ... + TLSDHERSAWITHAES256GCMSHA384 ApplicationGatewaySslCipherSuite = "TLS_DHE_RSA_WITH_AES_256_GCM_SHA384" + // TLSECDHEECDSAWITHAES128CBCSHA ... + TLSECDHEECDSAWITHAES128CBCSHA ApplicationGatewaySslCipherSuite = "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA" + // TLSECDHEECDSAWITHAES128CBCSHA256 ... + TLSECDHEECDSAWITHAES128CBCSHA256 ApplicationGatewaySslCipherSuite = "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256" + // TLSECDHEECDSAWITHAES128GCMSHA256 ... + TLSECDHEECDSAWITHAES128GCMSHA256 ApplicationGatewaySslCipherSuite = "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256" + // TLSECDHEECDSAWITHAES256CBCSHA ... + TLSECDHEECDSAWITHAES256CBCSHA ApplicationGatewaySslCipherSuite = "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA" + // TLSECDHEECDSAWITHAES256CBCSHA384 ... + TLSECDHEECDSAWITHAES256CBCSHA384 ApplicationGatewaySslCipherSuite = "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384" + // TLSECDHEECDSAWITHAES256GCMSHA384 ... + TLSECDHEECDSAWITHAES256GCMSHA384 ApplicationGatewaySslCipherSuite = "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384" + // TLSECDHERSAWITHAES128CBCSHA ... + TLSECDHERSAWITHAES128CBCSHA ApplicationGatewaySslCipherSuite = "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA" + // TLSECDHERSAWITHAES128CBCSHA256 ... + TLSECDHERSAWITHAES128CBCSHA256 ApplicationGatewaySslCipherSuite = "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256" + // TLSECDHERSAWITHAES128GCMSHA256 ... + TLSECDHERSAWITHAES128GCMSHA256 ApplicationGatewaySslCipherSuite = "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256" + // TLSECDHERSAWITHAES256CBCSHA ... + TLSECDHERSAWITHAES256CBCSHA ApplicationGatewaySslCipherSuite = "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA" + // TLSECDHERSAWITHAES256CBCSHA384 ... + TLSECDHERSAWITHAES256CBCSHA384 ApplicationGatewaySslCipherSuite = "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384" + // TLSECDHERSAWITHAES256GCMSHA384 ... + TLSECDHERSAWITHAES256GCMSHA384 ApplicationGatewaySslCipherSuite = "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384" + // TLSRSAWITH3DESEDECBCSHA ... + TLSRSAWITH3DESEDECBCSHA ApplicationGatewaySslCipherSuite = "TLS_RSA_WITH_3DES_EDE_CBC_SHA" + // TLSRSAWITHAES128CBCSHA ... + TLSRSAWITHAES128CBCSHA ApplicationGatewaySslCipherSuite = "TLS_RSA_WITH_AES_128_CBC_SHA" + // TLSRSAWITHAES128CBCSHA256 ... + TLSRSAWITHAES128CBCSHA256 ApplicationGatewaySslCipherSuite = "TLS_RSA_WITH_AES_128_CBC_SHA256" + // TLSRSAWITHAES128GCMSHA256 ... + TLSRSAWITHAES128GCMSHA256 ApplicationGatewaySslCipherSuite = "TLS_RSA_WITH_AES_128_GCM_SHA256" + // TLSRSAWITHAES256CBCSHA ... + TLSRSAWITHAES256CBCSHA ApplicationGatewaySslCipherSuite = "TLS_RSA_WITH_AES_256_CBC_SHA" + // TLSRSAWITHAES256CBCSHA256 ... + TLSRSAWITHAES256CBCSHA256 ApplicationGatewaySslCipherSuite = "TLS_RSA_WITH_AES_256_CBC_SHA256" + // TLSRSAWITHAES256GCMSHA384 ... + TLSRSAWITHAES256GCMSHA384 ApplicationGatewaySslCipherSuite = "TLS_RSA_WITH_AES_256_GCM_SHA384" +) + +// PossibleApplicationGatewaySslCipherSuiteValues returns an array of possible values for the ApplicationGatewaySslCipherSuite const type. +func PossibleApplicationGatewaySslCipherSuiteValues() []ApplicationGatewaySslCipherSuite { + return []ApplicationGatewaySslCipherSuite{TLSDHEDSSWITH3DESEDECBCSHA, TLSDHEDSSWITHAES128CBCSHA, TLSDHEDSSWITHAES128CBCSHA256, TLSDHEDSSWITHAES256CBCSHA, TLSDHEDSSWITHAES256CBCSHA256, TLSDHERSAWITHAES128CBCSHA, TLSDHERSAWITHAES128GCMSHA256, TLSDHERSAWITHAES256CBCSHA, TLSDHERSAWITHAES256GCMSHA384, TLSECDHEECDSAWITHAES128CBCSHA, TLSECDHEECDSAWITHAES128CBCSHA256, TLSECDHEECDSAWITHAES128GCMSHA256, TLSECDHEECDSAWITHAES256CBCSHA, TLSECDHEECDSAWITHAES256CBCSHA384, TLSECDHEECDSAWITHAES256GCMSHA384, TLSECDHERSAWITHAES128CBCSHA, TLSECDHERSAWITHAES128CBCSHA256, TLSECDHERSAWITHAES128GCMSHA256, TLSECDHERSAWITHAES256CBCSHA, TLSECDHERSAWITHAES256CBCSHA384, TLSECDHERSAWITHAES256GCMSHA384, TLSRSAWITH3DESEDECBCSHA, TLSRSAWITHAES128CBCSHA, TLSRSAWITHAES128CBCSHA256, TLSRSAWITHAES128GCMSHA256, TLSRSAWITHAES256CBCSHA, TLSRSAWITHAES256CBCSHA256, TLSRSAWITHAES256GCMSHA384} +} + +// ApplicationGatewaySslPolicyName enumerates the values for application gateway ssl policy name. +type ApplicationGatewaySslPolicyName string + +const ( + // AppGwSslPolicy20150501 ... + AppGwSslPolicy20150501 ApplicationGatewaySslPolicyName = "AppGwSslPolicy20150501" + // AppGwSslPolicy20170401 ... + AppGwSslPolicy20170401 ApplicationGatewaySslPolicyName = "AppGwSslPolicy20170401" + // AppGwSslPolicy20170401S ... + AppGwSslPolicy20170401S ApplicationGatewaySslPolicyName = "AppGwSslPolicy20170401S" +) + +// PossibleApplicationGatewaySslPolicyNameValues returns an array of possible values for the ApplicationGatewaySslPolicyName const type. +func PossibleApplicationGatewaySslPolicyNameValues() []ApplicationGatewaySslPolicyName { + return []ApplicationGatewaySslPolicyName{AppGwSslPolicy20150501, AppGwSslPolicy20170401, AppGwSslPolicy20170401S} +} + +// ApplicationGatewaySslPolicyType enumerates the values for application gateway ssl policy type. +type ApplicationGatewaySslPolicyType string + +const ( + // Custom ... + Custom ApplicationGatewaySslPolicyType = "Custom" + // Predefined ... + Predefined ApplicationGatewaySslPolicyType = "Predefined" +) + +// PossibleApplicationGatewaySslPolicyTypeValues returns an array of possible values for the ApplicationGatewaySslPolicyType const type. +func PossibleApplicationGatewaySslPolicyTypeValues() []ApplicationGatewaySslPolicyType { + return []ApplicationGatewaySslPolicyType{Custom, Predefined} +} + +// ApplicationGatewaySslProtocol enumerates the values for application gateway ssl protocol. +type ApplicationGatewaySslProtocol string + +const ( + // TLSv10 ... + TLSv10 ApplicationGatewaySslProtocol = "TLSv1_0" + // TLSv11 ... + TLSv11 ApplicationGatewaySslProtocol = "TLSv1_1" + // TLSv12 ... + TLSv12 ApplicationGatewaySslProtocol = "TLSv1_2" +) + +// PossibleApplicationGatewaySslProtocolValues returns an array of possible values for the ApplicationGatewaySslProtocol const type. +func PossibleApplicationGatewaySslProtocolValues() []ApplicationGatewaySslProtocol { + return []ApplicationGatewaySslProtocol{TLSv10, TLSv11, TLSv12} +} + +// ApplicationGatewayTier enumerates the values for application gateway tier. +type ApplicationGatewayTier string + +const ( + // ApplicationGatewayTierStandard ... + ApplicationGatewayTierStandard ApplicationGatewayTier = "Standard" + // ApplicationGatewayTierStandardV2 ... + ApplicationGatewayTierStandardV2 ApplicationGatewayTier = "Standard_v2" + // ApplicationGatewayTierWAF ... + ApplicationGatewayTierWAF ApplicationGatewayTier = "WAF" + // ApplicationGatewayTierWAFV2 ... + ApplicationGatewayTierWAFV2 ApplicationGatewayTier = "WAF_v2" +) + +// PossibleApplicationGatewayTierValues returns an array of possible values for the ApplicationGatewayTier const type. +func PossibleApplicationGatewayTierValues() []ApplicationGatewayTier { + return []ApplicationGatewayTier{ApplicationGatewayTierStandard, ApplicationGatewayTierStandardV2, ApplicationGatewayTierWAF, ApplicationGatewayTierWAFV2} +} + +// AssociationType enumerates the values for association type. +type AssociationType string + +const ( + // Associated ... + Associated AssociationType = "Associated" + // Contains ... + Contains AssociationType = "Contains" +) + +// PossibleAssociationTypeValues returns an array of possible values for the AssociationType const type. +func PossibleAssociationTypeValues() []AssociationType { + return []AssociationType{Associated, Contains} +} + +// AuthenticationMethod enumerates the values for authentication method. +type AuthenticationMethod string + +const ( + // EAPMSCHAPv2 ... + EAPMSCHAPv2 AuthenticationMethod = "EAPMSCHAPv2" + // EAPTLS ... + EAPTLS AuthenticationMethod = "EAPTLS" +) + +// PossibleAuthenticationMethodValues returns an array of possible values for the AuthenticationMethod const type. +func PossibleAuthenticationMethodValues() []AuthenticationMethod { + return []AuthenticationMethod{EAPMSCHAPv2, EAPTLS} +} + +// AuthorizationUseStatus enumerates the values for authorization use status. +type AuthorizationUseStatus string + +const ( + // Available ... + Available AuthorizationUseStatus = "Available" + // InUse ... + InUse AuthorizationUseStatus = "InUse" +) + +// PossibleAuthorizationUseStatusValues returns an array of possible values for the AuthorizationUseStatus const type. +func PossibleAuthorizationUseStatusValues() []AuthorizationUseStatus { + return []AuthorizationUseStatus{Available, InUse} +} + +// AzureFirewallApplicationRuleProtocolType enumerates the values for azure firewall application rule protocol +// type. +type AzureFirewallApplicationRuleProtocolType string + +const ( + // AzureFirewallApplicationRuleProtocolTypeHTTP ... + AzureFirewallApplicationRuleProtocolTypeHTTP AzureFirewallApplicationRuleProtocolType = "Http" + // AzureFirewallApplicationRuleProtocolTypeHTTPS ... + AzureFirewallApplicationRuleProtocolTypeHTTPS AzureFirewallApplicationRuleProtocolType = "Https" + // AzureFirewallApplicationRuleProtocolTypeMssql ... + AzureFirewallApplicationRuleProtocolTypeMssql AzureFirewallApplicationRuleProtocolType = "Mssql" +) + +// PossibleAzureFirewallApplicationRuleProtocolTypeValues returns an array of possible values for the AzureFirewallApplicationRuleProtocolType const type. +func PossibleAzureFirewallApplicationRuleProtocolTypeValues() []AzureFirewallApplicationRuleProtocolType { + return []AzureFirewallApplicationRuleProtocolType{AzureFirewallApplicationRuleProtocolTypeHTTP, AzureFirewallApplicationRuleProtocolTypeHTTPS, AzureFirewallApplicationRuleProtocolTypeMssql} +} + +// AzureFirewallNatRCActionType enumerates the values for azure firewall nat rc action type. +type AzureFirewallNatRCActionType string + +const ( + // Dnat ... + Dnat AzureFirewallNatRCActionType = "Dnat" + // Snat ... + Snat AzureFirewallNatRCActionType = "Snat" +) + +// PossibleAzureFirewallNatRCActionTypeValues returns an array of possible values for the AzureFirewallNatRCActionType const type. +func PossibleAzureFirewallNatRCActionTypeValues() []AzureFirewallNatRCActionType { + return []AzureFirewallNatRCActionType{Dnat, Snat} +} + +// AzureFirewallNetworkRuleProtocol enumerates the values for azure firewall network rule protocol. +type AzureFirewallNetworkRuleProtocol string + +const ( + // Any ... + Any AzureFirewallNetworkRuleProtocol = "Any" + // ICMP ... + ICMP AzureFirewallNetworkRuleProtocol = "ICMP" + // TCP ... + TCP AzureFirewallNetworkRuleProtocol = "TCP" + // UDP ... + UDP AzureFirewallNetworkRuleProtocol = "UDP" +) + +// PossibleAzureFirewallNetworkRuleProtocolValues returns an array of possible values for the AzureFirewallNetworkRuleProtocol const type. +func PossibleAzureFirewallNetworkRuleProtocolValues() []AzureFirewallNetworkRuleProtocol { + return []AzureFirewallNetworkRuleProtocol{Any, ICMP, TCP, UDP} +} + +// AzureFirewallRCActionType enumerates the values for azure firewall rc action type. +type AzureFirewallRCActionType string + +const ( + // AzureFirewallRCActionTypeAllow ... + AzureFirewallRCActionTypeAllow AzureFirewallRCActionType = "Allow" + // AzureFirewallRCActionTypeDeny ... + AzureFirewallRCActionTypeDeny AzureFirewallRCActionType = "Deny" +) + +// PossibleAzureFirewallRCActionTypeValues returns an array of possible values for the AzureFirewallRCActionType const type. +func PossibleAzureFirewallRCActionTypeValues() []AzureFirewallRCActionType { + return []AzureFirewallRCActionType{AzureFirewallRCActionTypeAllow, AzureFirewallRCActionTypeDeny} +} + +// AzureFirewallSkuName enumerates the values for azure firewall sku name. +type AzureFirewallSkuName string + +const ( + // AZFWHub ... + AZFWHub AzureFirewallSkuName = "AZFW_Hub" + // AZFWVNet ... + AZFWVNet AzureFirewallSkuName = "AZFW_VNet" +) + +// PossibleAzureFirewallSkuNameValues returns an array of possible values for the AzureFirewallSkuName const type. +func PossibleAzureFirewallSkuNameValues() []AzureFirewallSkuName { + return []AzureFirewallSkuName{AZFWHub, AZFWVNet} +} + +// AzureFirewallSkuTier enumerates the values for azure firewall sku tier. +type AzureFirewallSkuTier string + +const ( + // Standard ... + Standard AzureFirewallSkuTier = "Standard" +) + +// PossibleAzureFirewallSkuTierValues returns an array of possible values for the AzureFirewallSkuTier const type. +func PossibleAzureFirewallSkuTierValues() []AzureFirewallSkuTier { + return []AzureFirewallSkuTier{Standard} +} + +// AzureFirewallThreatIntelMode enumerates the values for azure firewall threat intel mode. +type AzureFirewallThreatIntelMode string + +const ( + // AzureFirewallThreatIntelModeAlert ... + AzureFirewallThreatIntelModeAlert AzureFirewallThreatIntelMode = "Alert" + // AzureFirewallThreatIntelModeDeny ... + AzureFirewallThreatIntelModeDeny AzureFirewallThreatIntelMode = "Deny" + // AzureFirewallThreatIntelModeOff ... + AzureFirewallThreatIntelModeOff AzureFirewallThreatIntelMode = "Off" +) + +// PossibleAzureFirewallThreatIntelModeValues returns an array of possible values for the AzureFirewallThreatIntelMode const type. +func PossibleAzureFirewallThreatIntelModeValues() []AzureFirewallThreatIntelMode { + return []AzureFirewallThreatIntelMode{AzureFirewallThreatIntelModeAlert, AzureFirewallThreatIntelModeDeny, AzureFirewallThreatIntelModeOff} +} + +// BgpPeerState enumerates the values for bgp peer state. +type BgpPeerState string + +const ( + // BgpPeerStateConnected ... + BgpPeerStateConnected BgpPeerState = "Connected" + // BgpPeerStateConnecting ... + BgpPeerStateConnecting BgpPeerState = "Connecting" + // BgpPeerStateIdle ... + BgpPeerStateIdle BgpPeerState = "Idle" + // BgpPeerStateStopped ... + BgpPeerStateStopped BgpPeerState = "Stopped" + // BgpPeerStateUnknown ... + BgpPeerStateUnknown BgpPeerState = "Unknown" +) + +// PossibleBgpPeerStateValues returns an array of possible values for the BgpPeerState const type. +func PossibleBgpPeerStateValues() []BgpPeerState { + return []BgpPeerState{BgpPeerStateConnected, BgpPeerStateConnecting, BgpPeerStateIdle, BgpPeerStateStopped, BgpPeerStateUnknown} +} + +// CircuitConnectionStatus enumerates the values for circuit connection status. +type CircuitConnectionStatus string + +const ( + // Connected ... + Connected CircuitConnectionStatus = "Connected" + // Connecting ... + Connecting CircuitConnectionStatus = "Connecting" + // Disconnected ... + Disconnected CircuitConnectionStatus = "Disconnected" +) + +// PossibleCircuitConnectionStatusValues returns an array of possible values for the CircuitConnectionStatus const type. +func PossibleCircuitConnectionStatusValues() []CircuitConnectionStatus { + return []CircuitConnectionStatus{Connected, Connecting, Disconnected} +} + +// ConnectionMonitorSourceStatus enumerates the values for connection monitor source status. +type ConnectionMonitorSourceStatus string + +const ( + // ConnectionMonitorSourceStatusActive ... + ConnectionMonitorSourceStatusActive ConnectionMonitorSourceStatus = "Active" + // ConnectionMonitorSourceStatusInactive ... + ConnectionMonitorSourceStatusInactive ConnectionMonitorSourceStatus = "Inactive" + // ConnectionMonitorSourceStatusUnknown ... + ConnectionMonitorSourceStatusUnknown ConnectionMonitorSourceStatus = "Unknown" +) + +// PossibleConnectionMonitorSourceStatusValues returns an array of possible values for the ConnectionMonitorSourceStatus const type. +func PossibleConnectionMonitorSourceStatusValues() []ConnectionMonitorSourceStatus { + return []ConnectionMonitorSourceStatus{ConnectionMonitorSourceStatusActive, ConnectionMonitorSourceStatusInactive, ConnectionMonitorSourceStatusUnknown} +} + +// ConnectionState enumerates the values for connection state. +type ConnectionState string + +const ( + // ConnectionStateReachable ... + ConnectionStateReachable ConnectionState = "Reachable" + // ConnectionStateUnknown ... + ConnectionStateUnknown ConnectionState = "Unknown" + // ConnectionStateUnreachable ... + ConnectionStateUnreachable ConnectionState = "Unreachable" +) + +// PossibleConnectionStateValues returns an array of possible values for the ConnectionState const type. +func PossibleConnectionStateValues() []ConnectionState { + return []ConnectionState{ConnectionStateReachable, ConnectionStateUnknown, ConnectionStateUnreachable} +} + +// ConnectionStatus enumerates the values for connection status. +type ConnectionStatus string + +const ( + // ConnectionStatusConnected ... + ConnectionStatusConnected ConnectionStatus = "Connected" + // ConnectionStatusDegraded ... + ConnectionStatusDegraded ConnectionStatus = "Degraded" + // ConnectionStatusDisconnected ... + ConnectionStatusDisconnected ConnectionStatus = "Disconnected" + // ConnectionStatusUnknown ... + ConnectionStatusUnknown ConnectionStatus = "Unknown" +) + +// PossibleConnectionStatusValues returns an array of possible values for the ConnectionStatus const type. +func PossibleConnectionStatusValues() []ConnectionStatus { + return []ConnectionStatus{ConnectionStatusConnected, ConnectionStatusDegraded, ConnectionStatusDisconnected, ConnectionStatusUnknown} +} + +// DdosCustomPolicyProtocol enumerates the values for ddos custom policy protocol. +type DdosCustomPolicyProtocol string + +const ( + // DdosCustomPolicyProtocolSyn ... + DdosCustomPolicyProtocolSyn DdosCustomPolicyProtocol = "Syn" + // DdosCustomPolicyProtocolTCP ... + DdosCustomPolicyProtocolTCP DdosCustomPolicyProtocol = "Tcp" + // DdosCustomPolicyProtocolUDP ... + DdosCustomPolicyProtocolUDP DdosCustomPolicyProtocol = "Udp" +) + +// PossibleDdosCustomPolicyProtocolValues returns an array of possible values for the DdosCustomPolicyProtocol const type. +func PossibleDdosCustomPolicyProtocolValues() []DdosCustomPolicyProtocol { + return []DdosCustomPolicyProtocol{DdosCustomPolicyProtocolSyn, DdosCustomPolicyProtocolTCP, DdosCustomPolicyProtocolUDP} +} + +// DdosCustomPolicyTriggerSensitivityOverride enumerates the values for ddos custom policy trigger sensitivity +// override. +type DdosCustomPolicyTriggerSensitivityOverride string + +const ( + // Default ... + Default DdosCustomPolicyTriggerSensitivityOverride = "Default" + // High ... + High DdosCustomPolicyTriggerSensitivityOverride = "High" + // Low ... + Low DdosCustomPolicyTriggerSensitivityOverride = "Low" + // Relaxed ... + Relaxed DdosCustomPolicyTriggerSensitivityOverride = "Relaxed" +) + +// PossibleDdosCustomPolicyTriggerSensitivityOverrideValues returns an array of possible values for the DdosCustomPolicyTriggerSensitivityOverride const type. +func PossibleDdosCustomPolicyTriggerSensitivityOverrideValues() []DdosCustomPolicyTriggerSensitivityOverride { + return []DdosCustomPolicyTriggerSensitivityOverride{Default, High, Low, Relaxed} +} + +// DdosSettingsProtectionCoverage enumerates the values for ddos settings protection coverage. +type DdosSettingsProtectionCoverage string + +const ( + // DdosSettingsProtectionCoverageBasic ... + DdosSettingsProtectionCoverageBasic DdosSettingsProtectionCoverage = "Basic" + // DdosSettingsProtectionCoverageStandard ... + DdosSettingsProtectionCoverageStandard DdosSettingsProtectionCoverage = "Standard" +) + +// PossibleDdosSettingsProtectionCoverageValues returns an array of possible values for the DdosSettingsProtectionCoverage const type. +func PossibleDdosSettingsProtectionCoverageValues() []DdosSettingsProtectionCoverage { + return []DdosSettingsProtectionCoverage{DdosSettingsProtectionCoverageBasic, DdosSettingsProtectionCoverageStandard} +} + +// DhGroup enumerates the values for dh group. +type DhGroup string + +const ( + // DHGroup1 ... + DHGroup1 DhGroup = "DHGroup1" + // DHGroup14 ... + DHGroup14 DhGroup = "DHGroup14" + // DHGroup2 ... + DHGroup2 DhGroup = "DHGroup2" + // DHGroup2048 ... + DHGroup2048 DhGroup = "DHGroup2048" + // DHGroup24 ... + DHGroup24 DhGroup = "DHGroup24" + // ECP256 ... + ECP256 DhGroup = "ECP256" + // ECP384 ... + ECP384 DhGroup = "ECP384" + // None ... + None DhGroup = "None" +) + +// PossibleDhGroupValues returns an array of possible values for the DhGroup const type. +func PossibleDhGroupValues() []DhGroup { + return []DhGroup{DHGroup1, DHGroup14, DHGroup2, DHGroup2048, DHGroup24, ECP256, ECP384, None} +} + +// Direction enumerates the values for direction. +type Direction string + +const ( + // Inbound ... + Inbound Direction = "Inbound" + // Outbound ... + Outbound Direction = "Outbound" +) + +// PossibleDirectionValues returns an array of possible values for the Direction const type. +func PossibleDirectionValues() []Direction { + return []Direction{Inbound, Outbound} +} + +// EffectiveRouteSource enumerates the values for effective route source. +type EffectiveRouteSource string + +const ( + // EffectiveRouteSourceDefault ... + EffectiveRouteSourceDefault EffectiveRouteSource = "Default" + // EffectiveRouteSourceUnknown ... + EffectiveRouteSourceUnknown EffectiveRouteSource = "Unknown" + // EffectiveRouteSourceUser ... + EffectiveRouteSourceUser EffectiveRouteSource = "User" + // EffectiveRouteSourceVirtualNetworkGateway ... + EffectiveRouteSourceVirtualNetworkGateway EffectiveRouteSource = "VirtualNetworkGateway" +) + +// PossibleEffectiveRouteSourceValues returns an array of possible values for the EffectiveRouteSource const type. +func PossibleEffectiveRouteSourceValues() []EffectiveRouteSource { + return []EffectiveRouteSource{EffectiveRouteSourceDefault, EffectiveRouteSourceUnknown, EffectiveRouteSourceUser, EffectiveRouteSourceVirtualNetworkGateway} +} + +// EffectiveRouteState enumerates the values for effective route state. +type EffectiveRouteState string + +const ( + // Active ... + Active EffectiveRouteState = "Active" + // Invalid ... + Invalid EffectiveRouteState = "Invalid" +) + +// PossibleEffectiveRouteStateValues returns an array of possible values for the EffectiveRouteState const type. +func PossibleEffectiveRouteStateValues() []EffectiveRouteState { + return []EffectiveRouteState{Active, Invalid} +} + +// EffectiveSecurityRuleProtocol enumerates the values for effective security rule protocol. +type EffectiveSecurityRuleProtocol string + +const ( + // EffectiveSecurityRuleProtocolAll ... + EffectiveSecurityRuleProtocolAll EffectiveSecurityRuleProtocol = "All" + // EffectiveSecurityRuleProtocolTCP ... + EffectiveSecurityRuleProtocolTCP EffectiveSecurityRuleProtocol = "Tcp" + // EffectiveSecurityRuleProtocolUDP ... + EffectiveSecurityRuleProtocolUDP EffectiveSecurityRuleProtocol = "Udp" +) + +// PossibleEffectiveSecurityRuleProtocolValues returns an array of possible values for the EffectiveSecurityRuleProtocol const type. +func PossibleEffectiveSecurityRuleProtocolValues() []EffectiveSecurityRuleProtocol { + return []EffectiveSecurityRuleProtocol{EffectiveSecurityRuleProtocolAll, EffectiveSecurityRuleProtocolTCP, EffectiveSecurityRuleProtocolUDP} +} + +// EvaluationState enumerates the values for evaluation state. +type EvaluationState string + +const ( + // Completed ... + Completed EvaluationState = "Completed" + // InProgress ... + InProgress EvaluationState = "InProgress" + // NotStarted ... + NotStarted EvaluationState = "NotStarted" +) + +// PossibleEvaluationStateValues returns an array of possible values for the EvaluationState const type. +func PossibleEvaluationStateValues() []EvaluationState { + return []EvaluationState{Completed, InProgress, NotStarted} +} + +// ExpressRouteCircuitPeeringAdvertisedPublicPrefixState enumerates the values for express route circuit +// peering advertised public prefix state. +type ExpressRouteCircuitPeeringAdvertisedPublicPrefixState string + +const ( + // Configured ... + Configured ExpressRouteCircuitPeeringAdvertisedPublicPrefixState = "Configured" + // Configuring ... + Configuring ExpressRouteCircuitPeeringAdvertisedPublicPrefixState = "Configuring" + // NotConfigured ... + NotConfigured ExpressRouteCircuitPeeringAdvertisedPublicPrefixState = "NotConfigured" + // ValidationNeeded ... + ValidationNeeded ExpressRouteCircuitPeeringAdvertisedPublicPrefixState = "ValidationNeeded" +) + +// PossibleExpressRouteCircuitPeeringAdvertisedPublicPrefixStateValues returns an array of possible values for the ExpressRouteCircuitPeeringAdvertisedPublicPrefixState const type. +func PossibleExpressRouteCircuitPeeringAdvertisedPublicPrefixStateValues() []ExpressRouteCircuitPeeringAdvertisedPublicPrefixState { + return []ExpressRouteCircuitPeeringAdvertisedPublicPrefixState{Configured, Configuring, NotConfigured, ValidationNeeded} +} + +// ExpressRouteCircuitPeeringState enumerates the values for express route circuit peering state. +type ExpressRouteCircuitPeeringState string + +const ( + // ExpressRouteCircuitPeeringStateDisabled ... + ExpressRouteCircuitPeeringStateDisabled ExpressRouteCircuitPeeringState = "Disabled" + // ExpressRouteCircuitPeeringStateEnabled ... + ExpressRouteCircuitPeeringStateEnabled ExpressRouteCircuitPeeringState = "Enabled" +) + +// PossibleExpressRouteCircuitPeeringStateValues returns an array of possible values for the ExpressRouteCircuitPeeringState const type. +func PossibleExpressRouteCircuitPeeringStateValues() []ExpressRouteCircuitPeeringState { + return []ExpressRouteCircuitPeeringState{ExpressRouteCircuitPeeringStateDisabled, ExpressRouteCircuitPeeringStateEnabled} +} + +// ExpressRouteCircuitSkuFamily enumerates the values for express route circuit sku family. +type ExpressRouteCircuitSkuFamily string + +const ( + // MeteredData ... + MeteredData ExpressRouteCircuitSkuFamily = "MeteredData" + // UnlimitedData ... + UnlimitedData ExpressRouteCircuitSkuFamily = "UnlimitedData" +) + +// PossibleExpressRouteCircuitSkuFamilyValues returns an array of possible values for the ExpressRouteCircuitSkuFamily const type. +func PossibleExpressRouteCircuitSkuFamilyValues() []ExpressRouteCircuitSkuFamily { + return []ExpressRouteCircuitSkuFamily{MeteredData, UnlimitedData} +} + +// ExpressRouteCircuitSkuTier enumerates the values for express route circuit sku tier. +type ExpressRouteCircuitSkuTier string + +const ( + // ExpressRouteCircuitSkuTierBasic ... + ExpressRouteCircuitSkuTierBasic ExpressRouteCircuitSkuTier = "Basic" + // ExpressRouteCircuitSkuTierLocal ... + ExpressRouteCircuitSkuTierLocal ExpressRouteCircuitSkuTier = "Local" + // ExpressRouteCircuitSkuTierPremium ... + ExpressRouteCircuitSkuTierPremium ExpressRouteCircuitSkuTier = "Premium" + // ExpressRouteCircuitSkuTierStandard ... + ExpressRouteCircuitSkuTierStandard ExpressRouteCircuitSkuTier = "Standard" +) + +// PossibleExpressRouteCircuitSkuTierValues returns an array of possible values for the ExpressRouteCircuitSkuTier const type. +func PossibleExpressRouteCircuitSkuTierValues() []ExpressRouteCircuitSkuTier { + return []ExpressRouteCircuitSkuTier{ExpressRouteCircuitSkuTierBasic, ExpressRouteCircuitSkuTierLocal, ExpressRouteCircuitSkuTierPremium, ExpressRouteCircuitSkuTierStandard} +} + +// ExpressRouteLinkAdminState enumerates the values for express route link admin state. +type ExpressRouteLinkAdminState string + +const ( + // ExpressRouteLinkAdminStateDisabled ... + ExpressRouteLinkAdminStateDisabled ExpressRouteLinkAdminState = "Disabled" + // ExpressRouteLinkAdminStateEnabled ... + ExpressRouteLinkAdminStateEnabled ExpressRouteLinkAdminState = "Enabled" +) + +// PossibleExpressRouteLinkAdminStateValues returns an array of possible values for the ExpressRouteLinkAdminState const type. +func PossibleExpressRouteLinkAdminStateValues() []ExpressRouteLinkAdminState { + return []ExpressRouteLinkAdminState{ExpressRouteLinkAdminStateDisabled, ExpressRouteLinkAdminStateEnabled} +} + +// ExpressRouteLinkConnectorType enumerates the values for express route link connector type. +type ExpressRouteLinkConnectorType string + +const ( + // LC ... + LC ExpressRouteLinkConnectorType = "LC" + // SC ... + SC ExpressRouteLinkConnectorType = "SC" +) + +// PossibleExpressRouteLinkConnectorTypeValues returns an array of possible values for the ExpressRouteLinkConnectorType const type. +func PossibleExpressRouteLinkConnectorTypeValues() []ExpressRouteLinkConnectorType { + return []ExpressRouteLinkConnectorType{LC, SC} +} + +// ExpressRouteLinkMacSecCipher enumerates the values for express route link mac sec cipher. +type ExpressRouteLinkMacSecCipher string + +const ( + // GcmAes128 ... + GcmAes128 ExpressRouteLinkMacSecCipher = "gcm-aes-128" + // GcmAes256 ... + GcmAes256 ExpressRouteLinkMacSecCipher = "gcm-aes-256" +) + +// PossibleExpressRouteLinkMacSecCipherValues returns an array of possible values for the ExpressRouteLinkMacSecCipher const type. +func PossibleExpressRouteLinkMacSecCipherValues() []ExpressRouteLinkMacSecCipher { + return []ExpressRouteLinkMacSecCipher{GcmAes128, GcmAes256} +} + +// ExpressRoutePeeringState enumerates the values for express route peering state. +type ExpressRoutePeeringState string + +const ( + // ExpressRoutePeeringStateDisabled ... + ExpressRoutePeeringStateDisabled ExpressRoutePeeringState = "Disabled" + // ExpressRoutePeeringStateEnabled ... + ExpressRoutePeeringStateEnabled ExpressRoutePeeringState = "Enabled" +) + +// PossibleExpressRoutePeeringStateValues returns an array of possible values for the ExpressRoutePeeringState const type. +func PossibleExpressRoutePeeringStateValues() []ExpressRoutePeeringState { + return []ExpressRoutePeeringState{ExpressRoutePeeringStateDisabled, ExpressRoutePeeringStateEnabled} +} + +// ExpressRoutePeeringType enumerates the values for express route peering type. +type ExpressRoutePeeringType string + +const ( + // AzurePrivatePeering ... + AzurePrivatePeering ExpressRoutePeeringType = "AzurePrivatePeering" + // AzurePublicPeering ... + AzurePublicPeering ExpressRoutePeeringType = "AzurePublicPeering" + // MicrosoftPeering ... + MicrosoftPeering ExpressRoutePeeringType = "MicrosoftPeering" +) + +// PossibleExpressRoutePeeringTypeValues returns an array of possible values for the ExpressRoutePeeringType const type. +func PossibleExpressRoutePeeringTypeValues() []ExpressRoutePeeringType { + return []ExpressRoutePeeringType{AzurePrivatePeering, AzurePublicPeering, MicrosoftPeering} +} + +// ExpressRoutePortsEncapsulation enumerates the values for express route ports encapsulation. +type ExpressRoutePortsEncapsulation string + +const ( + // Dot1Q ... + Dot1Q ExpressRoutePortsEncapsulation = "Dot1Q" + // QinQ ... + QinQ ExpressRoutePortsEncapsulation = "QinQ" +) + +// PossibleExpressRoutePortsEncapsulationValues returns an array of possible values for the ExpressRoutePortsEncapsulation const type. +func PossibleExpressRoutePortsEncapsulationValues() []ExpressRoutePortsEncapsulation { + return []ExpressRoutePortsEncapsulation{Dot1Q, QinQ} +} + +// FirewallPolicyFilterRuleActionType enumerates the values for firewall policy filter rule action type. +type FirewallPolicyFilterRuleActionType string + +const ( + // FirewallPolicyFilterRuleActionTypeAllow ... + FirewallPolicyFilterRuleActionTypeAllow FirewallPolicyFilterRuleActionType = "Allow" + // FirewallPolicyFilterRuleActionTypeDeny ... + FirewallPolicyFilterRuleActionTypeDeny FirewallPolicyFilterRuleActionType = "Deny" +) + +// PossibleFirewallPolicyFilterRuleActionTypeValues returns an array of possible values for the FirewallPolicyFilterRuleActionType const type. +func PossibleFirewallPolicyFilterRuleActionTypeValues() []FirewallPolicyFilterRuleActionType { + return []FirewallPolicyFilterRuleActionType{FirewallPolicyFilterRuleActionTypeAllow, FirewallPolicyFilterRuleActionTypeDeny} +} + +// FirewallPolicyNatRuleActionType enumerates the values for firewall policy nat rule action type. +type FirewallPolicyNatRuleActionType string + +const ( + // DNAT ... + DNAT FirewallPolicyNatRuleActionType = "DNAT" +) + +// PossibleFirewallPolicyNatRuleActionTypeValues returns an array of possible values for the FirewallPolicyNatRuleActionType const type. +func PossibleFirewallPolicyNatRuleActionTypeValues() []FirewallPolicyNatRuleActionType { + return []FirewallPolicyNatRuleActionType{DNAT} +} + +// FirewallPolicyRuleConditionApplicationProtocolType enumerates the values for firewall policy rule condition +// application protocol type. +type FirewallPolicyRuleConditionApplicationProtocolType string + +const ( + // FirewallPolicyRuleConditionApplicationProtocolTypeHTTP ... + FirewallPolicyRuleConditionApplicationProtocolTypeHTTP FirewallPolicyRuleConditionApplicationProtocolType = "Http" + // FirewallPolicyRuleConditionApplicationProtocolTypeHTTPS ... + FirewallPolicyRuleConditionApplicationProtocolTypeHTTPS FirewallPolicyRuleConditionApplicationProtocolType = "Https" +) + +// PossibleFirewallPolicyRuleConditionApplicationProtocolTypeValues returns an array of possible values for the FirewallPolicyRuleConditionApplicationProtocolType const type. +func PossibleFirewallPolicyRuleConditionApplicationProtocolTypeValues() []FirewallPolicyRuleConditionApplicationProtocolType { + return []FirewallPolicyRuleConditionApplicationProtocolType{FirewallPolicyRuleConditionApplicationProtocolTypeHTTP, FirewallPolicyRuleConditionApplicationProtocolTypeHTTPS} +} + +// FirewallPolicyRuleConditionNetworkProtocol enumerates the values for firewall policy rule condition network +// protocol. +type FirewallPolicyRuleConditionNetworkProtocol string + +const ( + // FirewallPolicyRuleConditionNetworkProtocolAny ... + FirewallPolicyRuleConditionNetworkProtocolAny FirewallPolicyRuleConditionNetworkProtocol = "Any" + // FirewallPolicyRuleConditionNetworkProtocolICMP ... + FirewallPolicyRuleConditionNetworkProtocolICMP FirewallPolicyRuleConditionNetworkProtocol = "ICMP" + // FirewallPolicyRuleConditionNetworkProtocolTCP ... + FirewallPolicyRuleConditionNetworkProtocolTCP FirewallPolicyRuleConditionNetworkProtocol = "TCP" + // FirewallPolicyRuleConditionNetworkProtocolUDP ... + FirewallPolicyRuleConditionNetworkProtocolUDP FirewallPolicyRuleConditionNetworkProtocol = "UDP" +) + +// PossibleFirewallPolicyRuleConditionNetworkProtocolValues returns an array of possible values for the FirewallPolicyRuleConditionNetworkProtocol const type. +func PossibleFirewallPolicyRuleConditionNetworkProtocolValues() []FirewallPolicyRuleConditionNetworkProtocol { + return []FirewallPolicyRuleConditionNetworkProtocol{FirewallPolicyRuleConditionNetworkProtocolAny, FirewallPolicyRuleConditionNetworkProtocolICMP, FirewallPolicyRuleConditionNetworkProtocolTCP, FirewallPolicyRuleConditionNetworkProtocolUDP} +} + +// FlowLogFormatType enumerates the values for flow log format type. +type FlowLogFormatType string + +const ( + // JSON ... + JSON FlowLogFormatType = "JSON" +) + +// PossibleFlowLogFormatTypeValues returns an array of possible values for the FlowLogFormatType const type. +func PossibleFlowLogFormatTypeValues() []FlowLogFormatType { + return []FlowLogFormatType{JSON} +} + +// HTTPMethod enumerates the values for http method. +type HTTPMethod string + +const ( + // Get ... + Get HTTPMethod = "Get" +) + +// PossibleHTTPMethodValues returns an array of possible values for the HTTPMethod const type. +func PossibleHTTPMethodValues() []HTTPMethod { + return []HTTPMethod{Get} +} + +// HubVirtualNetworkConnectionStatus enumerates the values for hub virtual network connection status. +type HubVirtualNetworkConnectionStatus string + +const ( + // HubVirtualNetworkConnectionStatusConnected ... + HubVirtualNetworkConnectionStatusConnected HubVirtualNetworkConnectionStatus = "Connected" + // HubVirtualNetworkConnectionStatusConnecting ... + HubVirtualNetworkConnectionStatusConnecting HubVirtualNetworkConnectionStatus = "Connecting" + // HubVirtualNetworkConnectionStatusNotConnected ... + HubVirtualNetworkConnectionStatusNotConnected HubVirtualNetworkConnectionStatus = "NotConnected" + // HubVirtualNetworkConnectionStatusUnknown ... + HubVirtualNetworkConnectionStatusUnknown HubVirtualNetworkConnectionStatus = "Unknown" +) + +// PossibleHubVirtualNetworkConnectionStatusValues returns an array of possible values for the HubVirtualNetworkConnectionStatus const type. +func PossibleHubVirtualNetworkConnectionStatusValues() []HubVirtualNetworkConnectionStatus { + return []HubVirtualNetworkConnectionStatus{HubVirtualNetworkConnectionStatusConnected, HubVirtualNetworkConnectionStatusConnecting, HubVirtualNetworkConnectionStatusNotConnected, HubVirtualNetworkConnectionStatusUnknown} +} + +// IkeEncryption enumerates the values for ike encryption. +type IkeEncryption string + +const ( + // AES128 ... + AES128 IkeEncryption = "AES128" + // AES192 ... + AES192 IkeEncryption = "AES192" + // AES256 ... + AES256 IkeEncryption = "AES256" + // DES ... + DES IkeEncryption = "DES" + // DES3 ... + DES3 IkeEncryption = "DES3" + // GCMAES128 ... + GCMAES128 IkeEncryption = "GCMAES128" + // GCMAES256 ... + GCMAES256 IkeEncryption = "GCMAES256" +) + +// PossibleIkeEncryptionValues returns an array of possible values for the IkeEncryption const type. +func PossibleIkeEncryptionValues() []IkeEncryption { + return []IkeEncryption{AES128, AES192, AES256, DES, DES3, GCMAES128, GCMAES256} +} + +// IkeIntegrity enumerates the values for ike integrity. +type IkeIntegrity string + +const ( + // IkeIntegrityGCMAES128 ... + IkeIntegrityGCMAES128 IkeIntegrity = "GCMAES128" + // IkeIntegrityGCMAES256 ... + IkeIntegrityGCMAES256 IkeIntegrity = "GCMAES256" + // IkeIntegrityMD5 ... + IkeIntegrityMD5 IkeIntegrity = "MD5" + // IkeIntegritySHA1 ... + IkeIntegritySHA1 IkeIntegrity = "SHA1" + // IkeIntegritySHA256 ... + IkeIntegritySHA256 IkeIntegrity = "SHA256" + // IkeIntegritySHA384 ... + IkeIntegritySHA384 IkeIntegrity = "SHA384" +) + +// PossibleIkeIntegrityValues returns an array of possible values for the IkeIntegrity const type. +func PossibleIkeIntegrityValues() []IkeIntegrity { + return []IkeIntegrity{IkeIntegrityGCMAES128, IkeIntegrityGCMAES256, IkeIntegrityMD5, IkeIntegritySHA1, IkeIntegritySHA256, IkeIntegritySHA384} +} + +// IPAllocationMethod enumerates the values for ip allocation method. +type IPAllocationMethod string + +const ( + // Dynamic ... + Dynamic IPAllocationMethod = "Dynamic" + // Static ... + Static IPAllocationMethod = "Static" +) + +// PossibleIPAllocationMethodValues returns an array of possible values for the IPAllocationMethod const type. +func PossibleIPAllocationMethodValues() []IPAllocationMethod { + return []IPAllocationMethod{Dynamic, Static} +} + +// IPFlowProtocol enumerates the values for ip flow protocol. +type IPFlowProtocol string + +const ( + // IPFlowProtocolTCP ... + IPFlowProtocolTCP IPFlowProtocol = "TCP" + // IPFlowProtocolUDP ... + IPFlowProtocolUDP IPFlowProtocol = "UDP" +) + +// PossibleIPFlowProtocolValues returns an array of possible values for the IPFlowProtocol const type. +func PossibleIPFlowProtocolValues() []IPFlowProtocol { + return []IPFlowProtocol{IPFlowProtocolTCP, IPFlowProtocolUDP} +} + +// IpsecEncryption enumerates the values for ipsec encryption. +type IpsecEncryption string + +const ( + // IpsecEncryptionAES128 ... + IpsecEncryptionAES128 IpsecEncryption = "AES128" + // IpsecEncryptionAES192 ... + IpsecEncryptionAES192 IpsecEncryption = "AES192" + // IpsecEncryptionAES256 ... + IpsecEncryptionAES256 IpsecEncryption = "AES256" + // IpsecEncryptionDES ... + IpsecEncryptionDES IpsecEncryption = "DES" + // IpsecEncryptionDES3 ... + IpsecEncryptionDES3 IpsecEncryption = "DES3" + // IpsecEncryptionGCMAES128 ... + IpsecEncryptionGCMAES128 IpsecEncryption = "GCMAES128" + // IpsecEncryptionGCMAES192 ... + IpsecEncryptionGCMAES192 IpsecEncryption = "GCMAES192" + // IpsecEncryptionGCMAES256 ... + IpsecEncryptionGCMAES256 IpsecEncryption = "GCMAES256" + // IpsecEncryptionNone ... + IpsecEncryptionNone IpsecEncryption = "None" +) + +// PossibleIpsecEncryptionValues returns an array of possible values for the IpsecEncryption const type. +func PossibleIpsecEncryptionValues() []IpsecEncryption { + return []IpsecEncryption{IpsecEncryptionAES128, IpsecEncryptionAES192, IpsecEncryptionAES256, IpsecEncryptionDES, IpsecEncryptionDES3, IpsecEncryptionGCMAES128, IpsecEncryptionGCMAES192, IpsecEncryptionGCMAES256, IpsecEncryptionNone} +} + +// IpsecIntegrity enumerates the values for ipsec integrity. +type IpsecIntegrity string + +const ( + // IpsecIntegrityGCMAES128 ... + IpsecIntegrityGCMAES128 IpsecIntegrity = "GCMAES128" + // IpsecIntegrityGCMAES192 ... + IpsecIntegrityGCMAES192 IpsecIntegrity = "GCMAES192" + // IpsecIntegrityGCMAES256 ... + IpsecIntegrityGCMAES256 IpsecIntegrity = "GCMAES256" + // IpsecIntegrityMD5 ... + IpsecIntegrityMD5 IpsecIntegrity = "MD5" + // IpsecIntegritySHA1 ... + IpsecIntegritySHA1 IpsecIntegrity = "SHA1" + // IpsecIntegritySHA256 ... + IpsecIntegritySHA256 IpsecIntegrity = "SHA256" +) + +// PossibleIpsecIntegrityValues returns an array of possible values for the IpsecIntegrity const type. +func PossibleIpsecIntegrityValues() []IpsecIntegrity { + return []IpsecIntegrity{IpsecIntegrityGCMAES128, IpsecIntegrityGCMAES192, IpsecIntegrityGCMAES256, IpsecIntegrityMD5, IpsecIntegritySHA1, IpsecIntegritySHA256} +} + +// IPVersion enumerates the values for ip version. +type IPVersion string + +const ( + // IPv4 ... + IPv4 IPVersion = "IPv4" + // IPv6 ... + IPv6 IPVersion = "IPv6" +) + +// PossibleIPVersionValues returns an array of possible values for the IPVersion const type. +func PossibleIPVersionValues() []IPVersion { + return []IPVersion{IPv4, IPv6} +} + +// IssueType enumerates the values for issue type. +type IssueType string + +const ( + // IssueTypeAgentStopped ... + IssueTypeAgentStopped IssueType = "AgentStopped" + // IssueTypeDNSResolution ... + IssueTypeDNSResolution IssueType = "DnsResolution" + // IssueTypeGuestFirewall ... + IssueTypeGuestFirewall IssueType = "GuestFirewall" + // IssueTypeNetworkSecurityRule ... + IssueTypeNetworkSecurityRule IssueType = "NetworkSecurityRule" + // IssueTypePlatform ... + IssueTypePlatform IssueType = "Platform" + // IssueTypePortThrottled ... + IssueTypePortThrottled IssueType = "PortThrottled" + // IssueTypeSocketBind ... + IssueTypeSocketBind IssueType = "SocketBind" + // IssueTypeUnknown ... + IssueTypeUnknown IssueType = "Unknown" + // IssueTypeUserDefinedRoute ... + IssueTypeUserDefinedRoute IssueType = "UserDefinedRoute" +) + +// PossibleIssueTypeValues returns an array of possible values for the IssueType const type. +func PossibleIssueTypeValues() []IssueType { + return []IssueType{IssueTypeAgentStopped, IssueTypeDNSResolution, IssueTypeGuestFirewall, IssueTypeNetworkSecurityRule, IssueTypePlatform, IssueTypePortThrottled, IssueTypeSocketBind, IssueTypeUnknown, IssueTypeUserDefinedRoute} +} + +// LoadBalancerOutboundRuleProtocol enumerates the values for load balancer outbound rule protocol. +type LoadBalancerOutboundRuleProtocol string + +const ( + // LoadBalancerOutboundRuleProtocolAll ... + LoadBalancerOutboundRuleProtocolAll LoadBalancerOutboundRuleProtocol = "All" + // LoadBalancerOutboundRuleProtocolTCP ... + LoadBalancerOutboundRuleProtocolTCP LoadBalancerOutboundRuleProtocol = "Tcp" + // LoadBalancerOutboundRuleProtocolUDP ... + LoadBalancerOutboundRuleProtocolUDP LoadBalancerOutboundRuleProtocol = "Udp" +) + +// PossibleLoadBalancerOutboundRuleProtocolValues returns an array of possible values for the LoadBalancerOutboundRuleProtocol const type. +func PossibleLoadBalancerOutboundRuleProtocolValues() []LoadBalancerOutboundRuleProtocol { + return []LoadBalancerOutboundRuleProtocol{LoadBalancerOutboundRuleProtocolAll, LoadBalancerOutboundRuleProtocolTCP, LoadBalancerOutboundRuleProtocolUDP} +} + +// LoadBalancerSkuName enumerates the values for load balancer sku name. +type LoadBalancerSkuName string + +const ( + // LoadBalancerSkuNameBasic ... + LoadBalancerSkuNameBasic LoadBalancerSkuName = "Basic" + // LoadBalancerSkuNameStandard ... + LoadBalancerSkuNameStandard LoadBalancerSkuName = "Standard" +) + +// PossibleLoadBalancerSkuNameValues returns an array of possible values for the LoadBalancerSkuName const type. +func PossibleLoadBalancerSkuNameValues() []LoadBalancerSkuName { + return []LoadBalancerSkuName{LoadBalancerSkuNameBasic, LoadBalancerSkuNameStandard} +} + +// LoadDistribution enumerates the values for load distribution. +type LoadDistribution string + +const ( + // LoadDistributionDefault ... + LoadDistributionDefault LoadDistribution = "Default" + // LoadDistributionSourceIP ... + LoadDistributionSourceIP LoadDistribution = "SourceIP" + // LoadDistributionSourceIPProtocol ... + LoadDistributionSourceIPProtocol LoadDistribution = "SourceIPProtocol" +) + +// PossibleLoadDistributionValues returns an array of possible values for the LoadDistribution const type. +func PossibleLoadDistributionValues() []LoadDistribution { + return []LoadDistribution{LoadDistributionDefault, LoadDistributionSourceIP, LoadDistributionSourceIPProtocol} +} + +// ManagedRuleEnabledState enumerates the values for managed rule enabled state. +type ManagedRuleEnabledState string + +const ( + // ManagedRuleEnabledStateDisabled ... + ManagedRuleEnabledStateDisabled ManagedRuleEnabledState = "Disabled" +) + +// PossibleManagedRuleEnabledStateValues returns an array of possible values for the ManagedRuleEnabledState const type. +func PossibleManagedRuleEnabledStateValues() []ManagedRuleEnabledState { + return []ManagedRuleEnabledState{ManagedRuleEnabledStateDisabled} +} + +// NatGatewaySkuName enumerates the values for nat gateway sku name. +type NatGatewaySkuName string + +const ( + // NatGatewaySkuNameStandard ... + NatGatewaySkuNameStandard NatGatewaySkuName = "Standard" +) + +// PossibleNatGatewaySkuNameValues returns an array of possible values for the NatGatewaySkuName const type. +func PossibleNatGatewaySkuNameValues() []NatGatewaySkuName { + return []NatGatewaySkuName{NatGatewaySkuNameStandard} +} + +// NextHopType enumerates the values for next hop type. +type NextHopType string + +const ( + // NextHopTypeHyperNetGateway ... + NextHopTypeHyperNetGateway NextHopType = "HyperNetGateway" + // NextHopTypeInternet ... + NextHopTypeInternet NextHopType = "Internet" + // NextHopTypeNone ... + NextHopTypeNone NextHopType = "None" + // NextHopTypeVirtualAppliance ... + NextHopTypeVirtualAppliance NextHopType = "VirtualAppliance" + // NextHopTypeVirtualNetworkGateway ... + NextHopTypeVirtualNetworkGateway NextHopType = "VirtualNetworkGateway" + // NextHopTypeVnetLocal ... + NextHopTypeVnetLocal NextHopType = "VnetLocal" +) + +// PossibleNextHopTypeValues returns an array of possible values for the NextHopType const type. +func PossibleNextHopTypeValues() []NextHopType { + return []NextHopType{NextHopTypeHyperNetGateway, NextHopTypeInternet, NextHopTypeNone, NextHopTypeVirtualAppliance, NextHopTypeVirtualNetworkGateway, NextHopTypeVnetLocal} +} + +// OfficeTrafficCategory enumerates the values for office traffic category. +type OfficeTrafficCategory string + +const ( + // OfficeTrafficCategoryAll ... + OfficeTrafficCategoryAll OfficeTrafficCategory = "All" + // OfficeTrafficCategoryNone ... + OfficeTrafficCategoryNone OfficeTrafficCategory = "None" + // OfficeTrafficCategoryOptimize ... + OfficeTrafficCategoryOptimize OfficeTrafficCategory = "Optimize" + // OfficeTrafficCategoryOptimizeAndAllow ... + OfficeTrafficCategoryOptimizeAndAllow OfficeTrafficCategory = "OptimizeAndAllow" +) + +// PossibleOfficeTrafficCategoryValues returns an array of possible values for the OfficeTrafficCategory const type. +func PossibleOfficeTrafficCategoryValues() []OfficeTrafficCategory { + return []OfficeTrafficCategory{OfficeTrafficCategoryAll, OfficeTrafficCategoryNone, OfficeTrafficCategoryOptimize, OfficeTrafficCategoryOptimizeAndAllow} +} + +// OperationStatus enumerates the values for operation status. +type OperationStatus string + +const ( + // OperationStatusFailed ... + OperationStatusFailed OperationStatus = "Failed" + // OperationStatusInProgress ... + OperationStatusInProgress OperationStatus = "InProgress" + // OperationStatusSucceeded ... + OperationStatusSucceeded OperationStatus = "Succeeded" +) + +// PossibleOperationStatusValues returns an array of possible values for the OperationStatus const type. +func PossibleOperationStatusValues() []OperationStatus { + return []OperationStatus{OperationStatusFailed, OperationStatusInProgress, OperationStatusSucceeded} +} + +// Origin enumerates the values for origin. +type Origin string + +const ( + // OriginInbound ... + OriginInbound Origin = "Inbound" + // OriginLocal ... + OriginLocal Origin = "Local" + // OriginOutbound ... + OriginOutbound Origin = "Outbound" +) + +// PossibleOriginValues returns an array of possible values for the Origin const type. +func PossibleOriginValues() []Origin { + return []Origin{OriginInbound, OriginLocal, OriginOutbound} +} + +// OwaspCrsExclusionEntryMatchVariable enumerates the values for owasp crs exclusion entry match variable. +type OwaspCrsExclusionEntryMatchVariable string + +const ( + // RequestArgNames ... + RequestArgNames OwaspCrsExclusionEntryMatchVariable = "RequestArgNames" + // RequestCookieNames ... + RequestCookieNames OwaspCrsExclusionEntryMatchVariable = "RequestCookieNames" + // RequestHeaderNames ... + RequestHeaderNames OwaspCrsExclusionEntryMatchVariable = "RequestHeaderNames" +) + +// PossibleOwaspCrsExclusionEntryMatchVariableValues returns an array of possible values for the OwaspCrsExclusionEntryMatchVariable const type. +func PossibleOwaspCrsExclusionEntryMatchVariableValues() []OwaspCrsExclusionEntryMatchVariable { + return []OwaspCrsExclusionEntryMatchVariable{RequestArgNames, RequestCookieNames, RequestHeaderNames} +} + +// OwaspCrsExclusionEntrySelectorMatchOperator enumerates the values for owasp crs exclusion entry selector +// match operator. +type OwaspCrsExclusionEntrySelectorMatchOperator string + +const ( + // OwaspCrsExclusionEntrySelectorMatchOperatorContains ... + OwaspCrsExclusionEntrySelectorMatchOperatorContains OwaspCrsExclusionEntrySelectorMatchOperator = "Contains" + // OwaspCrsExclusionEntrySelectorMatchOperatorEndsWith ... + OwaspCrsExclusionEntrySelectorMatchOperatorEndsWith OwaspCrsExclusionEntrySelectorMatchOperator = "EndsWith" + // OwaspCrsExclusionEntrySelectorMatchOperatorEquals ... + OwaspCrsExclusionEntrySelectorMatchOperatorEquals OwaspCrsExclusionEntrySelectorMatchOperator = "Equals" + // OwaspCrsExclusionEntrySelectorMatchOperatorEqualsAny ... + OwaspCrsExclusionEntrySelectorMatchOperatorEqualsAny OwaspCrsExclusionEntrySelectorMatchOperator = "EqualsAny" + // OwaspCrsExclusionEntrySelectorMatchOperatorStartsWith ... + OwaspCrsExclusionEntrySelectorMatchOperatorStartsWith OwaspCrsExclusionEntrySelectorMatchOperator = "StartsWith" +) + +// PossibleOwaspCrsExclusionEntrySelectorMatchOperatorValues returns an array of possible values for the OwaspCrsExclusionEntrySelectorMatchOperator const type. +func PossibleOwaspCrsExclusionEntrySelectorMatchOperatorValues() []OwaspCrsExclusionEntrySelectorMatchOperator { + return []OwaspCrsExclusionEntrySelectorMatchOperator{OwaspCrsExclusionEntrySelectorMatchOperatorContains, OwaspCrsExclusionEntrySelectorMatchOperatorEndsWith, OwaspCrsExclusionEntrySelectorMatchOperatorEquals, OwaspCrsExclusionEntrySelectorMatchOperatorEqualsAny, OwaspCrsExclusionEntrySelectorMatchOperatorStartsWith} +} + +// PcError enumerates the values for pc error. +type PcError string + +const ( + // AgentStopped ... + AgentStopped PcError = "AgentStopped" + // CaptureFailed ... + CaptureFailed PcError = "CaptureFailed" + // InternalError ... + InternalError PcError = "InternalError" + // LocalFileFailed ... + LocalFileFailed PcError = "LocalFileFailed" + // StorageFailed ... + StorageFailed PcError = "StorageFailed" +) + +// PossiblePcErrorValues returns an array of possible values for the PcError const type. +func PossiblePcErrorValues() []PcError { + return []PcError{AgentStopped, CaptureFailed, InternalError, LocalFileFailed, StorageFailed} +} + +// PcProtocol enumerates the values for pc protocol. +type PcProtocol string + +const ( + // PcProtocolAny ... + PcProtocolAny PcProtocol = "Any" + // PcProtocolTCP ... + PcProtocolTCP PcProtocol = "TCP" + // PcProtocolUDP ... + PcProtocolUDP PcProtocol = "UDP" +) + +// PossiblePcProtocolValues returns an array of possible values for the PcProtocol const type. +func PossiblePcProtocolValues() []PcProtocol { + return []PcProtocol{PcProtocolAny, PcProtocolTCP, PcProtocolUDP} +} + +// PcStatus enumerates the values for pc status. +type PcStatus string + +const ( + // PcStatusError ... + PcStatusError PcStatus = "Error" + // PcStatusNotStarted ... + PcStatusNotStarted PcStatus = "NotStarted" + // PcStatusRunning ... + PcStatusRunning PcStatus = "Running" + // PcStatusStopped ... + PcStatusStopped PcStatus = "Stopped" + // PcStatusUnknown ... + PcStatusUnknown PcStatus = "Unknown" +) + +// PossiblePcStatusValues returns an array of possible values for the PcStatus const type. +func PossiblePcStatusValues() []PcStatus { + return []PcStatus{PcStatusError, PcStatusNotStarted, PcStatusRunning, PcStatusStopped, PcStatusUnknown} +} + +// PfsGroup enumerates the values for pfs group. +type PfsGroup string + +const ( + // PfsGroupECP256 ... + PfsGroupECP256 PfsGroup = "ECP256" + // PfsGroupECP384 ... + PfsGroupECP384 PfsGroup = "ECP384" + // PfsGroupNone ... + PfsGroupNone PfsGroup = "None" + // PfsGroupPFS1 ... + PfsGroupPFS1 PfsGroup = "PFS1" + // PfsGroupPFS14 ... + PfsGroupPFS14 PfsGroup = "PFS14" + // PfsGroupPFS2 ... + PfsGroupPFS2 PfsGroup = "PFS2" + // PfsGroupPFS2048 ... + PfsGroupPFS2048 PfsGroup = "PFS2048" + // PfsGroupPFS24 ... + PfsGroupPFS24 PfsGroup = "PFS24" + // PfsGroupPFSMM ... + PfsGroupPFSMM PfsGroup = "PFSMM" +) + +// PossiblePfsGroupValues returns an array of possible values for the PfsGroup const type. +func PossiblePfsGroupValues() []PfsGroup { + return []PfsGroup{PfsGroupECP256, PfsGroupECP384, PfsGroupNone, PfsGroupPFS1, PfsGroupPFS14, PfsGroupPFS2, PfsGroupPFS2048, PfsGroupPFS24, PfsGroupPFSMM} +} + +// ProbeProtocol enumerates the values for probe protocol. +type ProbeProtocol string + +const ( + // ProbeProtocolHTTP ... + ProbeProtocolHTTP ProbeProtocol = "Http" + // ProbeProtocolHTTPS ... + ProbeProtocolHTTPS ProbeProtocol = "Https" + // ProbeProtocolTCP ... + ProbeProtocolTCP ProbeProtocol = "Tcp" +) + +// PossibleProbeProtocolValues returns an array of possible values for the ProbeProtocol const type. +func PossibleProbeProtocolValues() []ProbeProtocol { + return []ProbeProtocol{ProbeProtocolHTTP, ProbeProtocolHTTPS, ProbeProtocolTCP} +} + +// ProcessorArchitecture enumerates the values for processor architecture. +type ProcessorArchitecture string + +const ( + // Amd64 ... + Amd64 ProcessorArchitecture = "Amd64" + // X86 ... + X86 ProcessorArchitecture = "X86" +) + +// PossibleProcessorArchitectureValues returns an array of possible values for the ProcessorArchitecture const type. +func PossibleProcessorArchitectureValues() []ProcessorArchitecture { + return []ProcessorArchitecture{Amd64, X86} +} + +// Protocol enumerates the values for protocol. +type Protocol string + +const ( + // ProtocolHTTP ... + ProtocolHTTP Protocol = "Http" + // ProtocolHTTPS ... + ProtocolHTTPS Protocol = "Https" + // ProtocolIcmp ... + ProtocolIcmp Protocol = "Icmp" + // ProtocolTCP ... + ProtocolTCP Protocol = "Tcp" +) + +// PossibleProtocolValues returns an array of possible values for the Protocol const type. +func PossibleProtocolValues() []Protocol { + return []Protocol{ProtocolHTTP, ProtocolHTTPS, ProtocolIcmp, ProtocolTCP} +} + +// ProvisioningState enumerates the values for provisioning state. +type ProvisioningState string + +const ( + // Deleting ... + Deleting ProvisioningState = "Deleting" + // Failed ... + Failed ProvisioningState = "Failed" + // Succeeded ... + Succeeded ProvisioningState = "Succeeded" + // Updating ... + Updating ProvisioningState = "Updating" +) + +// PossibleProvisioningStateValues returns an array of possible values for the ProvisioningState const type. +func PossibleProvisioningStateValues() []ProvisioningState { + return []ProvisioningState{Deleting, Failed, Succeeded, Updating} +} + +// PublicIPAddressSkuName enumerates the values for public ip address sku name. +type PublicIPAddressSkuName string + +const ( + // PublicIPAddressSkuNameBasic ... + PublicIPAddressSkuNameBasic PublicIPAddressSkuName = "Basic" + // PublicIPAddressSkuNameStandard ... + PublicIPAddressSkuNameStandard PublicIPAddressSkuName = "Standard" +) + +// PossiblePublicIPAddressSkuNameValues returns an array of possible values for the PublicIPAddressSkuName const type. +func PossiblePublicIPAddressSkuNameValues() []PublicIPAddressSkuName { + return []PublicIPAddressSkuName{PublicIPAddressSkuNameBasic, PublicIPAddressSkuNameStandard} +} + +// PublicIPPrefixSkuName enumerates the values for public ip prefix sku name. +type PublicIPPrefixSkuName string + +const ( + // PublicIPPrefixSkuNameStandard ... + PublicIPPrefixSkuNameStandard PublicIPPrefixSkuName = "Standard" +) + +// PossiblePublicIPPrefixSkuNameValues returns an array of possible values for the PublicIPPrefixSkuName const type. +func PossiblePublicIPPrefixSkuNameValues() []PublicIPPrefixSkuName { + return []PublicIPPrefixSkuName{PublicIPPrefixSkuNameStandard} +} + +// ResourceIdentityType enumerates the values for resource identity type. +type ResourceIdentityType string + +const ( + // ResourceIdentityTypeNone ... + ResourceIdentityTypeNone ResourceIdentityType = "None" + // ResourceIdentityTypeSystemAssigned ... + ResourceIdentityTypeSystemAssigned ResourceIdentityType = "SystemAssigned" + // ResourceIdentityTypeSystemAssignedUserAssigned ... + ResourceIdentityTypeSystemAssignedUserAssigned ResourceIdentityType = "SystemAssigned, UserAssigned" + // ResourceIdentityTypeUserAssigned ... + ResourceIdentityTypeUserAssigned ResourceIdentityType = "UserAssigned" +) + +// PossibleResourceIdentityTypeValues returns an array of possible values for the ResourceIdentityType const type. +func PossibleResourceIdentityTypeValues() []ResourceIdentityType { + return []ResourceIdentityType{ResourceIdentityTypeNone, ResourceIdentityTypeSystemAssigned, ResourceIdentityTypeSystemAssignedUserAssigned, ResourceIdentityTypeUserAssigned} +} + +// RouteNextHopType enumerates the values for route next hop type. +type RouteNextHopType string + +const ( + // RouteNextHopTypeInternet ... + RouteNextHopTypeInternet RouteNextHopType = "Internet" + // RouteNextHopTypeNone ... + RouteNextHopTypeNone RouteNextHopType = "None" + // RouteNextHopTypeVirtualAppliance ... + RouteNextHopTypeVirtualAppliance RouteNextHopType = "VirtualAppliance" + // RouteNextHopTypeVirtualNetworkGateway ... + RouteNextHopTypeVirtualNetworkGateway RouteNextHopType = "VirtualNetworkGateway" + // RouteNextHopTypeVnetLocal ... + RouteNextHopTypeVnetLocal RouteNextHopType = "VnetLocal" +) + +// PossibleRouteNextHopTypeValues returns an array of possible values for the RouteNextHopType const type. +func PossibleRouteNextHopTypeValues() []RouteNextHopType { + return []RouteNextHopType{RouteNextHopTypeInternet, RouteNextHopTypeNone, RouteNextHopTypeVirtualAppliance, RouteNextHopTypeVirtualNetworkGateway, RouteNextHopTypeVnetLocal} +} + +// RuleConditionType enumerates the values for rule condition type. +type RuleConditionType string + +const ( + // RuleConditionTypeApplicationRuleCondition ... + RuleConditionTypeApplicationRuleCondition RuleConditionType = "ApplicationRuleCondition" + // RuleConditionTypeFirewallPolicyRuleCondition ... + RuleConditionTypeFirewallPolicyRuleCondition RuleConditionType = "FirewallPolicyRuleCondition" + // RuleConditionTypeNetworkRuleCondition ... + RuleConditionTypeNetworkRuleCondition RuleConditionType = "NetworkRuleCondition" +) + +// PossibleRuleConditionTypeValues returns an array of possible values for the RuleConditionType const type. +func PossibleRuleConditionTypeValues() []RuleConditionType { + return []RuleConditionType{RuleConditionTypeApplicationRuleCondition, RuleConditionTypeFirewallPolicyRuleCondition, RuleConditionTypeNetworkRuleCondition} +} + +// RuleType enumerates the values for rule type. +type RuleType string + +const ( + // RuleTypeFirewallPolicyFilterRule ... + RuleTypeFirewallPolicyFilterRule RuleType = "FirewallPolicyFilterRule" + // RuleTypeFirewallPolicyNatRule ... + RuleTypeFirewallPolicyNatRule RuleType = "FirewallPolicyNatRule" + // RuleTypeFirewallPolicyRule ... + RuleTypeFirewallPolicyRule RuleType = "FirewallPolicyRule" +) + +// PossibleRuleTypeValues returns an array of possible values for the RuleType const type. +func PossibleRuleTypeValues() []RuleType { + return []RuleType{RuleTypeFirewallPolicyFilterRule, RuleTypeFirewallPolicyNatRule, RuleTypeFirewallPolicyRule} +} + +// SecurityRuleAccess enumerates the values for security rule access. +type SecurityRuleAccess string + +const ( + // SecurityRuleAccessAllow ... + SecurityRuleAccessAllow SecurityRuleAccess = "Allow" + // SecurityRuleAccessDeny ... + SecurityRuleAccessDeny SecurityRuleAccess = "Deny" +) + +// PossibleSecurityRuleAccessValues returns an array of possible values for the SecurityRuleAccess const type. +func PossibleSecurityRuleAccessValues() []SecurityRuleAccess { + return []SecurityRuleAccess{SecurityRuleAccessAllow, SecurityRuleAccessDeny} +} + +// SecurityRuleDirection enumerates the values for security rule direction. +type SecurityRuleDirection string + +const ( + // SecurityRuleDirectionInbound ... + SecurityRuleDirectionInbound SecurityRuleDirection = "Inbound" + // SecurityRuleDirectionOutbound ... + SecurityRuleDirectionOutbound SecurityRuleDirection = "Outbound" +) + +// PossibleSecurityRuleDirectionValues returns an array of possible values for the SecurityRuleDirection const type. +func PossibleSecurityRuleDirectionValues() []SecurityRuleDirection { + return []SecurityRuleDirection{SecurityRuleDirectionInbound, SecurityRuleDirectionOutbound} +} + +// SecurityRuleProtocol enumerates the values for security rule protocol. +type SecurityRuleProtocol string + +const ( + // SecurityRuleProtocolAh ... + SecurityRuleProtocolAh SecurityRuleProtocol = "Ah" + // SecurityRuleProtocolAsterisk ... + SecurityRuleProtocolAsterisk SecurityRuleProtocol = "*" + // SecurityRuleProtocolEsp ... + SecurityRuleProtocolEsp SecurityRuleProtocol = "Esp" + // SecurityRuleProtocolIcmp ... + SecurityRuleProtocolIcmp SecurityRuleProtocol = "Icmp" + // SecurityRuleProtocolTCP ... + SecurityRuleProtocolTCP SecurityRuleProtocol = "Tcp" + // SecurityRuleProtocolUDP ... + SecurityRuleProtocolUDP SecurityRuleProtocol = "Udp" +) + +// PossibleSecurityRuleProtocolValues returns an array of possible values for the SecurityRuleProtocol const type. +func PossibleSecurityRuleProtocolValues() []SecurityRuleProtocol { + return []SecurityRuleProtocol{SecurityRuleProtocolAh, SecurityRuleProtocolAsterisk, SecurityRuleProtocolEsp, SecurityRuleProtocolIcmp, SecurityRuleProtocolTCP, SecurityRuleProtocolUDP} +} + +// ServiceProviderProvisioningState enumerates the values for service provider provisioning state. +type ServiceProviderProvisioningState string + +const ( + // Deprovisioning ... + Deprovisioning ServiceProviderProvisioningState = "Deprovisioning" + // NotProvisioned ... + NotProvisioned ServiceProviderProvisioningState = "NotProvisioned" + // Provisioned ... + Provisioned ServiceProviderProvisioningState = "Provisioned" + // Provisioning ... + Provisioning ServiceProviderProvisioningState = "Provisioning" +) + +// PossibleServiceProviderProvisioningStateValues returns an array of possible values for the ServiceProviderProvisioningState const type. +func PossibleServiceProviderProvisioningStateValues() []ServiceProviderProvisioningState { + return []ServiceProviderProvisioningState{Deprovisioning, NotProvisioned, Provisioned, Provisioning} +} + +// Severity enumerates the values for severity. +type Severity string + +const ( + // SeverityError ... + SeverityError Severity = "Error" + // SeverityWarning ... + SeverityWarning Severity = "Warning" +) + +// PossibleSeverityValues returns an array of possible values for the Severity const type. +func PossibleSeverityValues() []Severity { + return []Severity{SeverityError, SeverityWarning} +} + +// TransportProtocol enumerates the values for transport protocol. +type TransportProtocol string + +const ( + // TransportProtocolAll ... + TransportProtocolAll TransportProtocol = "All" + // TransportProtocolTCP ... + TransportProtocolTCP TransportProtocol = "Tcp" + // TransportProtocolUDP ... + TransportProtocolUDP TransportProtocol = "Udp" +) + +// PossibleTransportProtocolValues returns an array of possible values for the TransportProtocol const type. +func PossibleTransportProtocolValues() []TransportProtocol { + return []TransportProtocol{TransportProtocolAll, TransportProtocolTCP, TransportProtocolUDP} +} + +// TunnelConnectionStatus enumerates the values for tunnel connection status. +type TunnelConnectionStatus string + +const ( + // TunnelConnectionStatusConnected ... + TunnelConnectionStatusConnected TunnelConnectionStatus = "Connected" + // TunnelConnectionStatusConnecting ... + TunnelConnectionStatusConnecting TunnelConnectionStatus = "Connecting" + // TunnelConnectionStatusNotConnected ... + TunnelConnectionStatusNotConnected TunnelConnectionStatus = "NotConnected" + // TunnelConnectionStatusUnknown ... + TunnelConnectionStatusUnknown TunnelConnectionStatus = "Unknown" +) + +// PossibleTunnelConnectionStatusValues returns an array of possible values for the TunnelConnectionStatus const type. +func PossibleTunnelConnectionStatusValues() []TunnelConnectionStatus { + return []TunnelConnectionStatus{TunnelConnectionStatusConnected, TunnelConnectionStatusConnecting, TunnelConnectionStatusNotConnected, TunnelConnectionStatusUnknown} +} + +// VerbosityLevel enumerates the values for verbosity level. +type VerbosityLevel string + +const ( + // Full ... + Full VerbosityLevel = "Full" + // Minimum ... + Minimum VerbosityLevel = "Minimum" + // Normal ... + Normal VerbosityLevel = "Normal" +) + +// PossibleVerbosityLevelValues returns an array of possible values for the VerbosityLevel const type. +func PossibleVerbosityLevelValues() []VerbosityLevel { + return []VerbosityLevel{Full, Minimum, Normal} +} + +// VirtualNetworkGatewayConnectionProtocol enumerates the values for virtual network gateway connection +// protocol. +type VirtualNetworkGatewayConnectionProtocol string + +const ( + // IKEv1 ... + IKEv1 VirtualNetworkGatewayConnectionProtocol = "IKEv1" + // IKEv2 ... + IKEv2 VirtualNetworkGatewayConnectionProtocol = "IKEv2" +) + +// PossibleVirtualNetworkGatewayConnectionProtocolValues returns an array of possible values for the VirtualNetworkGatewayConnectionProtocol const type. +func PossibleVirtualNetworkGatewayConnectionProtocolValues() []VirtualNetworkGatewayConnectionProtocol { + return []VirtualNetworkGatewayConnectionProtocol{IKEv1, IKEv2} +} + +// VirtualNetworkGatewayConnectionStatus enumerates the values for virtual network gateway connection status. +type VirtualNetworkGatewayConnectionStatus string + +const ( + // VirtualNetworkGatewayConnectionStatusConnected ... + VirtualNetworkGatewayConnectionStatusConnected VirtualNetworkGatewayConnectionStatus = "Connected" + // VirtualNetworkGatewayConnectionStatusConnecting ... + VirtualNetworkGatewayConnectionStatusConnecting VirtualNetworkGatewayConnectionStatus = "Connecting" + // VirtualNetworkGatewayConnectionStatusNotConnected ... + VirtualNetworkGatewayConnectionStatusNotConnected VirtualNetworkGatewayConnectionStatus = "NotConnected" + // VirtualNetworkGatewayConnectionStatusUnknown ... + VirtualNetworkGatewayConnectionStatusUnknown VirtualNetworkGatewayConnectionStatus = "Unknown" +) + +// PossibleVirtualNetworkGatewayConnectionStatusValues returns an array of possible values for the VirtualNetworkGatewayConnectionStatus const type. +func PossibleVirtualNetworkGatewayConnectionStatusValues() []VirtualNetworkGatewayConnectionStatus { + return []VirtualNetworkGatewayConnectionStatus{VirtualNetworkGatewayConnectionStatusConnected, VirtualNetworkGatewayConnectionStatusConnecting, VirtualNetworkGatewayConnectionStatusNotConnected, VirtualNetworkGatewayConnectionStatusUnknown} +} + +// VirtualNetworkGatewayConnectionType enumerates the values for virtual network gateway connection type. +type VirtualNetworkGatewayConnectionType string + +const ( + // ExpressRoute ... + ExpressRoute VirtualNetworkGatewayConnectionType = "ExpressRoute" + // IPsec ... + IPsec VirtualNetworkGatewayConnectionType = "IPsec" + // Vnet2Vnet ... + Vnet2Vnet VirtualNetworkGatewayConnectionType = "Vnet2Vnet" + // VPNClient ... + VPNClient VirtualNetworkGatewayConnectionType = "VPNClient" +) + +// PossibleVirtualNetworkGatewayConnectionTypeValues returns an array of possible values for the VirtualNetworkGatewayConnectionType const type. +func PossibleVirtualNetworkGatewayConnectionTypeValues() []VirtualNetworkGatewayConnectionType { + return []VirtualNetworkGatewayConnectionType{ExpressRoute, IPsec, Vnet2Vnet, VPNClient} +} + +// VirtualNetworkGatewaySkuName enumerates the values for virtual network gateway sku name. +type VirtualNetworkGatewaySkuName string + +const ( + // VirtualNetworkGatewaySkuNameBasic ... + VirtualNetworkGatewaySkuNameBasic VirtualNetworkGatewaySkuName = "Basic" + // VirtualNetworkGatewaySkuNameErGw1AZ ... + VirtualNetworkGatewaySkuNameErGw1AZ VirtualNetworkGatewaySkuName = "ErGw1AZ" + // VirtualNetworkGatewaySkuNameErGw2AZ ... + VirtualNetworkGatewaySkuNameErGw2AZ VirtualNetworkGatewaySkuName = "ErGw2AZ" + // VirtualNetworkGatewaySkuNameErGw3AZ ... + VirtualNetworkGatewaySkuNameErGw3AZ VirtualNetworkGatewaySkuName = "ErGw3AZ" + // VirtualNetworkGatewaySkuNameHighPerformance ... + VirtualNetworkGatewaySkuNameHighPerformance VirtualNetworkGatewaySkuName = "HighPerformance" + // VirtualNetworkGatewaySkuNameStandard ... + VirtualNetworkGatewaySkuNameStandard VirtualNetworkGatewaySkuName = "Standard" + // VirtualNetworkGatewaySkuNameUltraPerformance ... + VirtualNetworkGatewaySkuNameUltraPerformance VirtualNetworkGatewaySkuName = "UltraPerformance" + // VirtualNetworkGatewaySkuNameVpnGw1 ... + VirtualNetworkGatewaySkuNameVpnGw1 VirtualNetworkGatewaySkuName = "VpnGw1" + // VirtualNetworkGatewaySkuNameVpnGw1AZ ... + VirtualNetworkGatewaySkuNameVpnGw1AZ VirtualNetworkGatewaySkuName = "VpnGw1AZ" + // VirtualNetworkGatewaySkuNameVpnGw2 ... + VirtualNetworkGatewaySkuNameVpnGw2 VirtualNetworkGatewaySkuName = "VpnGw2" + // VirtualNetworkGatewaySkuNameVpnGw2AZ ... + VirtualNetworkGatewaySkuNameVpnGw2AZ VirtualNetworkGatewaySkuName = "VpnGw2AZ" + // VirtualNetworkGatewaySkuNameVpnGw3 ... + VirtualNetworkGatewaySkuNameVpnGw3 VirtualNetworkGatewaySkuName = "VpnGw3" + // VirtualNetworkGatewaySkuNameVpnGw3AZ ... + VirtualNetworkGatewaySkuNameVpnGw3AZ VirtualNetworkGatewaySkuName = "VpnGw3AZ" + // VirtualNetworkGatewaySkuNameVpnGw4 ... + VirtualNetworkGatewaySkuNameVpnGw4 VirtualNetworkGatewaySkuName = "VpnGw4" + // VirtualNetworkGatewaySkuNameVpnGw4AZ ... + VirtualNetworkGatewaySkuNameVpnGw4AZ VirtualNetworkGatewaySkuName = "VpnGw4AZ" + // VirtualNetworkGatewaySkuNameVpnGw5 ... + VirtualNetworkGatewaySkuNameVpnGw5 VirtualNetworkGatewaySkuName = "VpnGw5" + // VirtualNetworkGatewaySkuNameVpnGw5AZ ... + VirtualNetworkGatewaySkuNameVpnGw5AZ VirtualNetworkGatewaySkuName = "VpnGw5AZ" +) + +// PossibleVirtualNetworkGatewaySkuNameValues returns an array of possible values for the VirtualNetworkGatewaySkuName const type. +func PossibleVirtualNetworkGatewaySkuNameValues() []VirtualNetworkGatewaySkuName { + return []VirtualNetworkGatewaySkuName{VirtualNetworkGatewaySkuNameBasic, VirtualNetworkGatewaySkuNameErGw1AZ, VirtualNetworkGatewaySkuNameErGw2AZ, VirtualNetworkGatewaySkuNameErGw3AZ, VirtualNetworkGatewaySkuNameHighPerformance, VirtualNetworkGatewaySkuNameStandard, VirtualNetworkGatewaySkuNameUltraPerformance, VirtualNetworkGatewaySkuNameVpnGw1, VirtualNetworkGatewaySkuNameVpnGw1AZ, VirtualNetworkGatewaySkuNameVpnGw2, VirtualNetworkGatewaySkuNameVpnGw2AZ, VirtualNetworkGatewaySkuNameVpnGw3, VirtualNetworkGatewaySkuNameVpnGw3AZ, VirtualNetworkGatewaySkuNameVpnGw4, VirtualNetworkGatewaySkuNameVpnGw4AZ, VirtualNetworkGatewaySkuNameVpnGw5, VirtualNetworkGatewaySkuNameVpnGw5AZ} +} + +// VirtualNetworkGatewaySkuTier enumerates the values for virtual network gateway sku tier. +type VirtualNetworkGatewaySkuTier string + +const ( + // VirtualNetworkGatewaySkuTierBasic ... + VirtualNetworkGatewaySkuTierBasic VirtualNetworkGatewaySkuTier = "Basic" + // VirtualNetworkGatewaySkuTierErGw1AZ ... + VirtualNetworkGatewaySkuTierErGw1AZ VirtualNetworkGatewaySkuTier = "ErGw1AZ" + // VirtualNetworkGatewaySkuTierErGw2AZ ... + VirtualNetworkGatewaySkuTierErGw2AZ VirtualNetworkGatewaySkuTier = "ErGw2AZ" + // VirtualNetworkGatewaySkuTierErGw3AZ ... + VirtualNetworkGatewaySkuTierErGw3AZ VirtualNetworkGatewaySkuTier = "ErGw3AZ" + // VirtualNetworkGatewaySkuTierHighPerformance ... + VirtualNetworkGatewaySkuTierHighPerformance VirtualNetworkGatewaySkuTier = "HighPerformance" + // VirtualNetworkGatewaySkuTierStandard ... + VirtualNetworkGatewaySkuTierStandard VirtualNetworkGatewaySkuTier = "Standard" + // VirtualNetworkGatewaySkuTierUltraPerformance ... + VirtualNetworkGatewaySkuTierUltraPerformance VirtualNetworkGatewaySkuTier = "UltraPerformance" + // VirtualNetworkGatewaySkuTierVpnGw1 ... + VirtualNetworkGatewaySkuTierVpnGw1 VirtualNetworkGatewaySkuTier = "VpnGw1" + // VirtualNetworkGatewaySkuTierVpnGw1AZ ... + VirtualNetworkGatewaySkuTierVpnGw1AZ VirtualNetworkGatewaySkuTier = "VpnGw1AZ" + // VirtualNetworkGatewaySkuTierVpnGw2 ... + VirtualNetworkGatewaySkuTierVpnGw2 VirtualNetworkGatewaySkuTier = "VpnGw2" + // VirtualNetworkGatewaySkuTierVpnGw2AZ ... + VirtualNetworkGatewaySkuTierVpnGw2AZ VirtualNetworkGatewaySkuTier = "VpnGw2AZ" + // VirtualNetworkGatewaySkuTierVpnGw3 ... + VirtualNetworkGatewaySkuTierVpnGw3 VirtualNetworkGatewaySkuTier = "VpnGw3" + // VirtualNetworkGatewaySkuTierVpnGw3AZ ... + VirtualNetworkGatewaySkuTierVpnGw3AZ VirtualNetworkGatewaySkuTier = "VpnGw3AZ" + // VirtualNetworkGatewaySkuTierVpnGw4 ... + VirtualNetworkGatewaySkuTierVpnGw4 VirtualNetworkGatewaySkuTier = "VpnGw4" + // VirtualNetworkGatewaySkuTierVpnGw4AZ ... + VirtualNetworkGatewaySkuTierVpnGw4AZ VirtualNetworkGatewaySkuTier = "VpnGw4AZ" + // VirtualNetworkGatewaySkuTierVpnGw5 ... + VirtualNetworkGatewaySkuTierVpnGw5 VirtualNetworkGatewaySkuTier = "VpnGw5" + // VirtualNetworkGatewaySkuTierVpnGw5AZ ... + VirtualNetworkGatewaySkuTierVpnGw5AZ VirtualNetworkGatewaySkuTier = "VpnGw5AZ" +) + +// PossibleVirtualNetworkGatewaySkuTierValues returns an array of possible values for the VirtualNetworkGatewaySkuTier const type. +func PossibleVirtualNetworkGatewaySkuTierValues() []VirtualNetworkGatewaySkuTier { + return []VirtualNetworkGatewaySkuTier{VirtualNetworkGatewaySkuTierBasic, VirtualNetworkGatewaySkuTierErGw1AZ, VirtualNetworkGatewaySkuTierErGw2AZ, VirtualNetworkGatewaySkuTierErGw3AZ, VirtualNetworkGatewaySkuTierHighPerformance, VirtualNetworkGatewaySkuTierStandard, VirtualNetworkGatewaySkuTierUltraPerformance, VirtualNetworkGatewaySkuTierVpnGw1, VirtualNetworkGatewaySkuTierVpnGw1AZ, VirtualNetworkGatewaySkuTierVpnGw2, VirtualNetworkGatewaySkuTierVpnGw2AZ, VirtualNetworkGatewaySkuTierVpnGw3, VirtualNetworkGatewaySkuTierVpnGw3AZ, VirtualNetworkGatewaySkuTierVpnGw4, VirtualNetworkGatewaySkuTierVpnGw4AZ, VirtualNetworkGatewaySkuTierVpnGw5, VirtualNetworkGatewaySkuTierVpnGw5AZ} +} + +// VirtualNetworkGatewayType enumerates the values for virtual network gateway type. +type VirtualNetworkGatewayType string + +const ( + // VirtualNetworkGatewayTypeExpressRoute ... + VirtualNetworkGatewayTypeExpressRoute VirtualNetworkGatewayType = "ExpressRoute" + // VirtualNetworkGatewayTypeVpn ... + VirtualNetworkGatewayTypeVpn VirtualNetworkGatewayType = "Vpn" +) + +// PossibleVirtualNetworkGatewayTypeValues returns an array of possible values for the VirtualNetworkGatewayType const type. +func PossibleVirtualNetworkGatewayTypeValues() []VirtualNetworkGatewayType { + return []VirtualNetworkGatewayType{VirtualNetworkGatewayTypeExpressRoute, VirtualNetworkGatewayTypeVpn} +} + +// VirtualNetworkPeeringState enumerates the values for virtual network peering state. +type VirtualNetworkPeeringState string + +const ( + // VirtualNetworkPeeringStateConnected ... + VirtualNetworkPeeringStateConnected VirtualNetworkPeeringState = "Connected" + // VirtualNetworkPeeringStateDisconnected ... + VirtualNetworkPeeringStateDisconnected VirtualNetworkPeeringState = "Disconnected" + // VirtualNetworkPeeringStateInitiated ... + VirtualNetworkPeeringStateInitiated VirtualNetworkPeeringState = "Initiated" +) + +// PossibleVirtualNetworkPeeringStateValues returns an array of possible values for the VirtualNetworkPeeringState const type. +func PossibleVirtualNetworkPeeringStateValues() []VirtualNetworkPeeringState { + return []VirtualNetworkPeeringState{VirtualNetworkPeeringStateConnected, VirtualNetworkPeeringStateDisconnected, VirtualNetworkPeeringStateInitiated} +} + +// VirtualWanSecurityProviderType enumerates the values for virtual wan security provider type. +type VirtualWanSecurityProviderType string + +const ( + // External ... + External VirtualWanSecurityProviderType = "External" + // Native ... + Native VirtualWanSecurityProviderType = "Native" +) + +// PossibleVirtualWanSecurityProviderTypeValues returns an array of possible values for the VirtualWanSecurityProviderType const type. +func PossibleVirtualWanSecurityProviderTypeValues() []VirtualWanSecurityProviderType { + return []VirtualWanSecurityProviderType{External, Native} +} + +// VpnAuthenticationType enumerates the values for vpn authentication type. +type VpnAuthenticationType string + +const ( + // AAD ... + AAD VpnAuthenticationType = "AAD" + // Certificate ... + Certificate VpnAuthenticationType = "Certificate" + // Radius ... + Radius VpnAuthenticationType = "Radius" +) + +// PossibleVpnAuthenticationTypeValues returns an array of possible values for the VpnAuthenticationType const type. +func PossibleVpnAuthenticationTypeValues() []VpnAuthenticationType { + return []VpnAuthenticationType{AAD, Certificate, Radius} +} + +// VpnClientProtocol enumerates the values for vpn client protocol. +type VpnClientProtocol string + +const ( + // IkeV2 ... + IkeV2 VpnClientProtocol = "IkeV2" + // OpenVPN ... + OpenVPN VpnClientProtocol = "OpenVPN" + // SSTP ... + SSTP VpnClientProtocol = "SSTP" +) + +// PossibleVpnClientProtocolValues returns an array of possible values for the VpnClientProtocol const type. +func PossibleVpnClientProtocolValues() []VpnClientProtocol { + return []VpnClientProtocol{IkeV2, OpenVPN, SSTP} +} + +// VpnConnectionStatus enumerates the values for vpn connection status. +type VpnConnectionStatus string + +const ( + // VpnConnectionStatusConnected ... + VpnConnectionStatusConnected VpnConnectionStatus = "Connected" + // VpnConnectionStatusConnecting ... + VpnConnectionStatusConnecting VpnConnectionStatus = "Connecting" + // VpnConnectionStatusNotConnected ... + VpnConnectionStatusNotConnected VpnConnectionStatus = "NotConnected" + // VpnConnectionStatusUnknown ... + VpnConnectionStatusUnknown VpnConnectionStatus = "Unknown" +) + +// PossibleVpnConnectionStatusValues returns an array of possible values for the VpnConnectionStatus const type. +func PossibleVpnConnectionStatusValues() []VpnConnectionStatus { + return []VpnConnectionStatus{VpnConnectionStatusConnected, VpnConnectionStatusConnecting, VpnConnectionStatusNotConnected, VpnConnectionStatusUnknown} +} + +// VpnGatewayGeneration enumerates the values for vpn gateway generation. +type VpnGatewayGeneration string + +const ( + // VpnGatewayGenerationGeneration1 ... + VpnGatewayGenerationGeneration1 VpnGatewayGeneration = "Generation1" + // VpnGatewayGenerationGeneration2 ... + VpnGatewayGenerationGeneration2 VpnGatewayGeneration = "Generation2" + // VpnGatewayGenerationNone ... + VpnGatewayGenerationNone VpnGatewayGeneration = "None" +) + +// PossibleVpnGatewayGenerationValues returns an array of possible values for the VpnGatewayGeneration const type. +func PossibleVpnGatewayGenerationValues() []VpnGatewayGeneration { + return []VpnGatewayGeneration{VpnGatewayGenerationGeneration1, VpnGatewayGenerationGeneration2, VpnGatewayGenerationNone} +} + +// VpnGatewayTunnelingProtocol enumerates the values for vpn gateway tunneling protocol. +type VpnGatewayTunnelingProtocol string + +const ( + // VpnGatewayTunnelingProtocolIkeV2 ... + VpnGatewayTunnelingProtocolIkeV2 VpnGatewayTunnelingProtocol = "IkeV2" + // VpnGatewayTunnelingProtocolOpenVPN ... + VpnGatewayTunnelingProtocolOpenVPN VpnGatewayTunnelingProtocol = "OpenVPN" +) + +// PossibleVpnGatewayTunnelingProtocolValues returns an array of possible values for the VpnGatewayTunnelingProtocol const type. +func PossibleVpnGatewayTunnelingProtocolValues() []VpnGatewayTunnelingProtocol { + return []VpnGatewayTunnelingProtocol{VpnGatewayTunnelingProtocolIkeV2, VpnGatewayTunnelingProtocolOpenVPN} +} + +// VpnType enumerates the values for vpn type. +type VpnType string + +const ( + // PolicyBased ... + PolicyBased VpnType = "PolicyBased" + // RouteBased ... + RouteBased VpnType = "RouteBased" +) + +// PossibleVpnTypeValues returns an array of possible values for the VpnType const type. +func PossibleVpnTypeValues() []VpnType { + return []VpnType{PolicyBased, RouteBased} +} + +// WebApplicationFirewallAction enumerates the values for web application firewall action. +type WebApplicationFirewallAction string + +const ( + // WebApplicationFirewallActionAllow ... + WebApplicationFirewallActionAllow WebApplicationFirewallAction = "Allow" + // WebApplicationFirewallActionBlock ... + WebApplicationFirewallActionBlock WebApplicationFirewallAction = "Block" + // WebApplicationFirewallActionLog ... + WebApplicationFirewallActionLog WebApplicationFirewallAction = "Log" +) + +// PossibleWebApplicationFirewallActionValues returns an array of possible values for the WebApplicationFirewallAction const type. +func PossibleWebApplicationFirewallActionValues() []WebApplicationFirewallAction { + return []WebApplicationFirewallAction{WebApplicationFirewallActionAllow, WebApplicationFirewallActionBlock, WebApplicationFirewallActionLog} +} + +// WebApplicationFirewallEnabledState enumerates the values for web application firewall enabled state. +type WebApplicationFirewallEnabledState string + +const ( + // WebApplicationFirewallEnabledStateDisabled ... + WebApplicationFirewallEnabledStateDisabled WebApplicationFirewallEnabledState = "Disabled" + // WebApplicationFirewallEnabledStateEnabled ... + WebApplicationFirewallEnabledStateEnabled WebApplicationFirewallEnabledState = "Enabled" +) + +// PossibleWebApplicationFirewallEnabledStateValues returns an array of possible values for the WebApplicationFirewallEnabledState const type. +func PossibleWebApplicationFirewallEnabledStateValues() []WebApplicationFirewallEnabledState { + return []WebApplicationFirewallEnabledState{WebApplicationFirewallEnabledStateDisabled, WebApplicationFirewallEnabledStateEnabled} +} + +// WebApplicationFirewallMatchVariable enumerates the values for web application firewall match variable. +type WebApplicationFirewallMatchVariable string + +const ( + // PostArgs ... + PostArgs WebApplicationFirewallMatchVariable = "PostArgs" + // QueryString ... + QueryString WebApplicationFirewallMatchVariable = "QueryString" + // RemoteAddr ... + RemoteAddr WebApplicationFirewallMatchVariable = "RemoteAddr" + // RequestBody ... + RequestBody WebApplicationFirewallMatchVariable = "RequestBody" + // RequestCookies ... + RequestCookies WebApplicationFirewallMatchVariable = "RequestCookies" + // RequestHeaders ... + RequestHeaders WebApplicationFirewallMatchVariable = "RequestHeaders" + // RequestMethod ... + RequestMethod WebApplicationFirewallMatchVariable = "RequestMethod" + // RequestURI ... + RequestURI WebApplicationFirewallMatchVariable = "RequestUri" +) + +// PossibleWebApplicationFirewallMatchVariableValues returns an array of possible values for the WebApplicationFirewallMatchVariable const type. +func PossibleWebApplicationFirewallMatchVariableValues() []WebApplicationFirewallMatchVariable { + return []WebApplicationFirewallMatchVariable{PostArgs, QueryString, RemoteAddr, RequestBody, RequestCookies, RequestHeaders, RequestMethod, RequestURI} +} + +// WebApplicationFirewallMode enumerates the values for web application firewall mode. +type WebApplicationFirewallMode string + +const ( + // WebApplicationFirewallModeDetection ... + WebApplicationFirewallModeDetection WebApplicationFirewallMode = "Detection" + // WebApplicationFirewallModePrevention ... + WebApplicationFirewallModePrevention WebApplicationFirewallMode = "Prevention" +) + +// PossibleWebApplicationFirewallModeValues returns an array of possible values for the WebApplicationFirewallMode const type. +func PossibleWebApplicationFirewallModeValues() []WebApplicationFirewallMode { + return []WebApplicationFirewallMode{WebApplicationFirewallModeDetection, WebApplicationFirewallModePrevention} +} + +// WebApplicationFirewallOperator enumerates the values for web application firewall operator. +type WebApplicationFirewallOperator string + +const ( + // WebApplicationFirewallOperatorBeginsWith ... + WebApplicationFirewallOperatorBeginsWith WebApplicationFirewallOperator = "BeginsWith" + // WebApplicationFirewallOperatorContains ... + WebApplicationFirewallOperatorContains WebApplicationFirewallOperator = "Contains" + // WebApplicationFirewallOperatorEndsWith ... + WebApplicationFirewallOperatorEndsWith WebApplicationFirewallOperator = "EndsWith" + // WebApplicationFirewallOperatorEqual ... + WebApplicationFirewallOperatorEqual WebApplicationFirewallOperator = "Equal" + // WebApplicationFirewallOperatorGreaterThan ... + WebApplicationFirewallOperatorGreaterThan WebApplicationFirewallOperator = "GreaterThan" + // WebApplicationFirewallOperatorGreaterThanOrEqual ... + WebApplicationFirewallOperatorGreaterThanOrEqual WebApplicationFirewallOperator = "GreaterThanOrEqual" + // WebApplicationFirewallOperatorIPMatch ... + WebApplicationFirewallOperatorIPMatch WebApplicationFirewallOperator = "IPMatch" + // WebApplicationFirewallOperatorLessThan ... + WebApplicationFirewallOperatorLessThan WebApplicationFirewallOperator = "LessThan" + // WebApplicationFirewallOperatorLessThanOrEqual ... + WebApplicationFirewallOperatorLessThanOrEqual WebApplicationFirewallOperator = "LessThanOrEqual" + // WebApplicationFirewallOperatorRegex ... + WebApplicationFirewallOperatorRegex WebApplicationFirewallOperator = "Regex" +) + +// PossibleWebApplicationFirewallOperatorValues returns an array of possible values for the WebApplicationFirewallOperator const type. +func PossibleWebApplicationFirewallOperatorValues() []WebApplicationFirewallOperator { + return []WebApplicationFirewallOperator{WebApplicationFirewallOperatorBeginsWith, WebApplicationFirewallOperatorContains, WebApplicationFirewallOperatorEndsWith, WebApplicationFirewallOperatorEqual, WebApplicationFirewallOperatorGreaterThan, WebApplicationFirewallOperatorGreaterThanOrEqual, WebApplicationFirewallOperatorIPMatch, WebApplicationFirewallOperatorLessThan, WebApplicationFirewallOperatorLessThanOrEqual, WebApplicationFirewallOperatorRegex} +} + +// WebApplicationFirewallPolicyResourceState enumerates the values for web application firewall policy resource +// state. +type WebApplicationFirewallPolicyResourceState string + +const ( + // WebApplicationFirewallPolicyResourceStateCreating ... + WebApplicationFirewallPolicyResourceStateCreating WebApplicationFirewallPolicyResourceState = "Creating" + // WebApplicationFirewallPolicyResourceStateDeleting ... + WebApplicationFirewallPolicyResourceStateDeleting WebApplicationFirewallPolicyResourceState = "Deleting" + // WebApplicationFirewallPolicyResourceStateDisabled ... + WebApplicationFirewallPolicyResourceStateDisabled WebApplicationFirewallPolicyResourceState = "Disabled" + // WebApplicationFirewallPolicyResourceStateDisabling ... + WebApplicationFirewallPolicyResourceStateDisabling WebApplicationFirewallPolicyResourceState = "Disabling" + // WebApplicationFirewallPolicyResourceStateEnabled ... + WebApplicationFirewallPolicyResourceStateEnabled WebApplicationFirewallPolicyResourceState = "Enabled" + // WebApplicationFirewallPolicyResourceStateEnabling ... + WebApplicationFirewallPolicyResourceStateEnabling WebApplicationFirewallPolicyResourceState = "Enabling" +) + +// PossibleWebApplicationFirewallPolicyResourceStateValues returns an array of possible values for the WebApplicationFirewallPolicyResourceState const type. +func PossibleWebApplicationFirewallPolicyResourceStateValues() []WebApplicationFirewallPolicyResourceState { + return []WebApplicationFirewallPolicyResourceState{WebApplicationFirewallPolicyResourceStateCreating, WebApplicationFirewallPolicyResourceStateDeleting, WebApplicationFirewallPolicyResourceStateDisabled, WebApplicationFirewallPolicyResourceStateDisabling, WebApplicationFirewallPolicyResourceStateEnabled, WebApplicationFirewallPolicyResourceStateEnabling} +} + +// WebApplicationFirewallRuleType enumerates the values for web application firewall rule type. +type WebApplicationFirewallRuleType string + +const ( + // WebApplicationFirewallRuleTypeInvalid ... + WebApplicationFirewallRuleTypeInvalid WebApplicationFirewallRuleType = "Invalid" + // WebApplicationFirewallRuleTypeMatchRule ... + WebApplicationFirewallRuleTypeMatchRule WebApplicationFirewallRuleType = "MatchRule" +) + +// PossibleWebApplicationFirewallRuleTypeValues returns an array of possible values for the WebApplicationFirewallRuleType const type. +func PossibleWebApplicationFirewallRuleTypeValues() []WebApplicationFirewallRuleType { + return []WebApplicationFirewallRuleType{WebApplicationFirewallRuleTypeInvalid, WebApplicationFirewallRuleTypeMatchRule} +} + +// WebApplicationFirewallTransform enumerates the values for web application firewall transform. +type WebApplicationFirewallTransform string + +const ( + // HTMLEntityDecode ... + HTMLEntityDecode WebApplicationFirewallTransform = "HtmlEntityDecode" + // Lowercase ... + Lowercase WebApplicationFirewallTransform = "Lowercase" + // RemoveNulls ... + RemoveNulls WebApplicationFirewallTransform = "RemoveNulls" + // Trim ... + Trim WebApplicationFirewallTransform = "Trim" + // URLDecode ... + URLDecode WebApplicationFirewallTransform = "UrlDecode" + // URLEncode ... + URLEncode WebApplicationFirewallTransform = "UrlEncode" +) + +// PossibleWebApplicationFirewallTransformValues returns an array of possible values for the WebApplicationFirewallTransform const type. +func PossibleWebApplicationFirewallTransformValues() []WebApplicationFirewallTransform { + return []WebApplicationFirewallTransform{HTMLEntityDecode, Lowercase, RemoveNulls, Trim, URLDecode, URLEncode} +} + +// AadAuthenticationParameters AAD Vpn authentication type related parameters. +type AadAuthenticationParameters struct { + // AadTenant - AAD Vpn authentication parameter AAD tenant. + AadTenant *string `json:"aadTenant,omitempty"` + // AadAudience - AAD Vpn authentication parameter AAD audience. + AadAudience *string `json:"aadAudience,omitempty"` + // AadIssuer - AAD Vpn authentication parameter AAD issuer. + AadIssuer *string `json:"aadIssuer,omitempty"` +} + +// AddressSpace addressSpace contains an array of IP address ranges that can be used by subnets of the +// virtual network. +type AddressSpace struct { + // AddressPrefixes - A list of address blocks reserved for this virtual network in CIDR notation. + AddressPrefixes *[]string `json:"addressPrefixes,omitempty"` +} + +// ApplicationGateway application gateway resource. +type ApplicationGateway struct { + autorest.Response `json:"-"` + // ApplicationGatewayPropertiesFormat - Properties of the application gateway. + *ApplicationGatewayPropertiesFormat `json:"properties,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // Zones - A list of availability zones denoting where the resource needs to come from. + Zones *[]string `json:"zones,omitempty"` + // Identity - The identity of the application gateway, if configured. + Identity *ManagedServiceIdentity `json:"identity,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for ApplicationGateway. +func (ag ApplicationGateway) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if ag.ApplicationGatewayPropertiesFormat != nil { + objectMap["properties"] = ag.ApplicationGatewayPropertiesFormat + } + if ag.Etag != nil { + objectMap["etag"] = ag.Etag + } + if ag.Zones != nil { + objectMap["zones"] = ag.Zones + } + if ag.Identity != nil { + objectMap["identity"] = ag.Identity + } + if ag.ID != nil { + objectMap["id"] = ag.ID + } + if ag.Location != nil { + objectMap["location"] = ag.Location + } + if ag.Tags != nil { + objectMap["tags"] = ag.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ApplicationGateway struct. +func (ag *ApplicationGateway) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var applicationGatewayPropertiesFormat ApplicationGatewayPropertiesFormat + err = json.Unmarshal(*v, &applicationGatewayPropertiesFormat) + if err != nil { + return err + } + ag.ApplicationGatewayPropertiesFormat = &applicationGatewayPropertiesFormat + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + ag.Etag = &etag + } + case "zones": + if v != nil { + var zones []string + err = json.Unmarshal(*v, &zones) + if err != nil { + return err + } + ag.Zones = &zones + } + case "identity": + if v != nil { + var identity ManagedServiceIdentity + err = json.Unmarshal(*v, &identity) + if err != nil { + return err + } + ag.Identity = &identity + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + ag.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + ag.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ag.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + ag.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + ag.Tags = tags + } + } + } + + return nil +} + +// ApplicationGatewayAuthenticationCertificate authentication certificates of an application gateway. +type ApplicationGatewayAuthenticationCertificate struct { + // ApplicationGatewayAuthenticationCertificatePropertiesFormat - Properties of the application gateway authentication certificate. + *ApplicationGatewayAuthenticationCertificatePropertiesFormat `json:"properties,omitempty"` + // Name - Name of the authentication certificate that is unique within an Application Gateway. + Name *string `json:"name,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // Type - Type of the resource. + Type *string `json:"type,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for ApplicationGatewayAuthenticationCertificate. +func (agac ApplicationGatewayAuthenticationCertificate) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if agac.ApplicationGatewayAuthenticationCertificatePropertiesFormat != nil { + objectMap["properties"] = agac.ApplicationGatewayAuthenticationCertificatePropertiesFormat + } + if agac.Name != nil { + objectMap["name"] = agac.Name + } + if agac.Etag != nil { + objectMap["etag"] = agac.Etag + } + if agac.Type != nil { + objectMap["type"] = agac.Type + } + if agac.ID != nil { + objectMap["id"] = agac.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ApplicationGatewayAuthenticationCertificate struct. +func (agac *ApplicationGatewayAuthenticationCertificate) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var applicationGatewayAuthenticationCertificatePropertiesFormat ApplicationGatewayAuthenticationCertificatePropertiesFormat + err = json.Unmarshal(*v, &applicationGatewayAuthenticationCertificatePropertiesFormat) + if err != nil { + return err + } + agac.ApplicationGatewayAuthenticationCertificatePropertiesFormat = &applicationGatewayAuthenticationCertificatePropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + agac.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + agac.Etag = &etag + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + agac.Type = &typeVar + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + agac.ID = &ID + } + } + } + + return nil +} + +// ApplicationGatewayAuthenticationCertificatePropertiesFormat authentication certificates properties of an +// application gateway. +type ApplicationGatewayAuthenticationCertificatePropertiesFormat struct { + // Data - Certificate public data. + Data *string `json:"data,omitempty"` + // ProvisioningState - The provisioning state of the authentication certificate resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// ApplicationGatewayAutoscaleConfiguration application Gateway autoscale configuration. +type ApplicationGatewayAutoscaleConfiguration struct { + // MinCapacity - Lower bound on number of Application Gateway capacity. + MinCapacity *int32 `json:"minCapacity,omitempty"` + // MaxCapacity - Upper bound on number of Application Gateway capacity. + MaxCapacity *int32 `json:"maxCapacity,omitempty"` +} + +// ApplicationGatewayAvailableSslOptions response for ApplicationGatewayAvailableSslOptions API service +// call. +type ApplicationGatewayAvailableSslOptions struct { + autorest.Response `json:"-"` + // ApplicationGatewayAvailableSslOptionsPropertiesFormat - Properties of the application gateway available SSL options. + *ApplicationGatewayAvailableSslOptionsPropertiesFormat `json:"properties,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for ApplicationGatewayAvailableSslOptions. +func (agaso ApplicationGatewayAvailableSslOptions) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if agaso.ApplicationGatewayAvailableSslOptionsPropertiesFormat != nil { + objectMap["properties"] = agaso.ApplicationGatewayAvailableSslOptionsPropertiesFormat + } + if agaso.ID != nil { + objectMap["id"] = agaso.ID + } + if agaso.Location != nil { + objectMap["location"] = agaso.Location + } + if agaso.Tags != nil { + objectMap["tags"] = agaso.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ApplicationGatewayAvailableSslOptions struct. +func (agaso *ApplicationGatewayAvailableSslOptions) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var applicationGatewayAvailableSslOptionsPropertiesFormat ApplicationGatewayAvailableSslOptionsPropertiesFormat + err = json.Unmarshal(*v, &applicationGatewayAvailableSslOptionsPropertiesFormat) + if err != nil { + return err + } + agaso.ApplicationGatewayAvailableSslOptionsPropertiesFormat = &applicationGatewayAvailableSslOptionsPropertiesFormat + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + agaso.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + agaso.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + agaso.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + agaso.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + agaso.Tags = tags + } + } + } + + return nil +} + +// ApplicationGatewayAvailableSslOptionsPropertiesFormat properties of +// ApplicationGatewayAvailableSslOptions. +type ApplicationGatewayAvailableSslOptionsPropertiesFormat struct { + // PredefinedPolicies - List of available Ssl predefined policy. + PredefinedPolicies *[]SubResource `json:"predefinedPolicies,omitempty"` + // DefaultPolicy - Name of the Ssl predefined policy applied by default to application gateway. Possible values include: 'AppGwSslPolicy20150501', 'AppGwSslPolicy20170401', 'AppGwSslPolicy20170401S' + DefaultPolicy ApplicationGatewaySslPolicyName `json:"defaultPolicy,omitempty"` + // AvailableCipherSuites - List of available Ssl cipher suites. + AvailableCipherSuites *[]ApplicationGatewaySslCipherSuite `json:"availableCipherSuites,omitempty"` + // AvailableProtocols - List of available Ssl protocols. + AvailableProtocols *[]ApplicationGatewaySslProtocol `json:"availableProtocols,omitempty"` +} + +// ApplicationGatewayAvailableSslPredefinedPolicies response for ApplicationGatewayAvailableSslOptions API +// service call. +type ApplicationGatewayAvailableSslPredefinedPolicies struct { + autorest.Response `json:"-"` + // Value - List of available Ssl predefined policy. + Value *[]ApplicationGatewaySslPredefinedPolicy `json:"value,omitempty"` + // NextLink - URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// ApplicationGatewayAvailableSslPredefinedPoliciesIterator provides access to a complete listing of +// ApplicationGatewaySslPredefinedPolicy values. +type ApplicationGatewayAvailableSslPredefinedPoliciesIterator struct { + i int + page ApplicationGatewayAvailableSslPredefinedPoliciesPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *ApplicationGatewayAvailableSslPredefinedPoliciesIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationGatewayAvailableSslPredefinedPoliciesIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *ApplicationGatewayAvailableSslPredefinedPoliciesIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter ApplicationGatewayAvailableSslPredefinedPoliciesIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter ApplicationGatewayAvailableSslPredefinedPoliciesIterator) Response() ApplicationGatewayAvailableSslPredefinedPolicies { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter ApplicationGatewayAvailableSslPredefinedPoliciesIterator) Value() ApplicationGatewaySslPredefinedPolicy { + if !iter.page.NotDone() { + return ApplicationGatewaySslPredefinedPolicy{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the ApplicationGatewayAvailableSslPredefinedPoliciesIterator type. +func NewApplicationGatewayAvailableSslPredefinedPoliciesIterator(page ApplicationGatewayAvailableSslPredefinedPoliciesPage) ApplicationGatewayAvailableSslPredefinedPoliciesIterator { + return ApplicationGatewayAvailableSslPredefinedPoliciesIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (agaspp ApplicationGatewayAvailableSslPredefinedPolicies) IsEmpty() bool { + return agaspp.Value == nil || len(*agaspp.Value) == 0 +} + +// applicationGatewayAvailableSslPredefinedPoliciesPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (agaspp ApplicationGatewayAvailableSslPredefinedPolicies) applicationGatewayAvailableSslPredefinedPoliciesPreparer(ctx context.Context) (*http.Request, error) { + if agaspp.NextLink == nil || len(to.String(agaspp.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(agaspp.NextLink))) +} + +// ApplicationGatewayAvailableSslPredefinedPoliciesPage contains a page of +// ApplicationGatewaySslPredefinedPolicy values. +type ApplicationGatewayAvailableSslPredefinedPoliciesPage struct { + fn func(context.Context, ApplicationGatewayAvailableSslPredefinedPolicies) (ApplicationGatewayAvailableSslPredefinedPolicies, error) + agaspp ApplicationGatewayAvailableSslPredefinedPolicies +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *ApplicationGatewayAvailableSslPredefinedPoliciesPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationGatewayAvailableSslPredefinedPoliciesPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.agaspp) + if err != nil { + return err + } + page.agaspp = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *ApplicationGatewayAvailableSslPredefinedPoliciesPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page ApplicationGatewayAvailableSslPredefinedPoliciesPage) NotDone() bool { + return !page.agaspp.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page ApplicationGatewayAvailableSslPredefinedPoliciesPage) Response() ApplicationGatewayAvailableSslPredefinedPolicies { + return page.agaspp +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page ApplicationGatewayAvailableSslPredefinedPoliciesPage) Values() []ApplicationGatewaySslPredefinedPolicy { + if page.agaspp.IsEmpty() { + return nil + } + return *page.agaspp.Value +} + +// Creates a new instance of the ApplicationGatewayAvailableSslPredefinedPoliciesPage type. +func NewApplicationGatewayAvailableSslPredefinedPoliciesPage(getNextPage func(context.Context, ApplicationGatewayAvailableSslPredefinedPolicies) (ApplicationGatewayAvailableSslPredefinedPolicies, error)) ApplicationGatewayAvailableSslPredefinedPoliciesPage { + return ApplicationGatewayAvailableSslPredefinedPoliciesPage{fn: getNextPage} +} + +// ApplicationGatewayAvailableWafRuleSetsResult response for ApplicationGatewayAvailableWafRuleSets API +// service call. +type ApplicationGatewayAvailableWafRuleSetsResult struct { + autorest.Response `json:"-"` + // Value - The list of application gateway rule sets. + Value *[]ApplicationGatewayFirewallRuleSet `json:"value,omitempty"` +} + +// ApplicationGatewayBackendAddress backend address of an application gateway. +type ApplicationGatewayBackendAddress struct { + // Fqdn - Fully qualified domain name (FQDN). + Fqdn *string `json:"fqdn,omitempty"` + // IPAddress - IP address. + IPAddress *string `json:"ipAddress,omitempty"` +} + +// ApplicationGatewayBackendAddressPool backend Address Pool of an application gateway. +type ApplicationGatewayBackendAddressPool struct { + // ApplicationGatewayBackendAddressPoolPropertiesFormat - Properties of the application gateway backend address pool. + *ApplicationGatewayBackendAddressPoolPropertiesFormat `json:"properties,omitempty"` + // Name - Name of the backend address pool that is unique within an Application Gateway. + Name *string `json:"name,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // Type - Type of the resource. + Type *string `json:"type,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for ApplicationGatewayBackendAddressPool. +func (agbap ApplicationGatewayBackendAddressPool) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if agbap.ApplicationGatewayBackendAddressPoolPropertiesFormat != nil { + objectMap["properties"] = agbap.ApplicationGatewayBackendAddressPoolPropertiesFormat + } + if agbap.Name != nil { + objectMap["name"] = agbap.Name + } + if agbap.Etag != nil { + objectMap["etag"] = agbap.Etag + } + if agbap.Type != nil { + objectMap["type"] = agbap.Type + } + if agbap.ID != nil { + objectMap["id"] = agbap.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ApplicationGatewayBackendAddressPool struct. +func (agbap *ApplicationGatewayBackendAddressPool) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var applicationGatewayBackendAddressPoolPropertiesFormat ApplicationGatewayBackendAddressPoolPropertiesFormat + err = json.Unmarshal(*v, &applicationGatewayBackendAddressPoolPropertiesFormat) + if err != nil { + return err + } + agbap.ApplicationGatewayBackendAddressPoolPropertiesFormat = &applicationGatewayBackendAddressPoolPropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + agbap.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + agbap.Etag = &etag + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + agbap.Type = &typeVar + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + agbap.ID = &ID + } + } + } + + return nil +} + +// ApplicationGatewayBackendAddressPoolPropertiesFormat properties of Backend Address Pool of an +// application gateway. +type ApplicationGatewayBackendAddressPoolPropertiesFormat struct { + // BackendIPConfigurations - Collection of references to IPs defined in network interfaces. + BackendIPConfigurations *[]InterfaceIPConfiguration `json:"backendIPConfigurations,omitempty"` + // BackendAddresses - Backend addresses. + BackendAddresses *[]ApplicationGatewayBackendAddress `json:"backendAddresses,omitempty"` + // ProvisioningState - The provisioning state of the backend address pool resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// ApplicationGatewayBackendHealth response for ApplicationGatewayBackendHealth API service call. +type ApplicationGatewayBackendHealth struct { + autorest.Response `json:"-"` + // BackendAddressPools - A list of ApplicationGatewayBackendHealthPool resources. + BackendAddressPools *[]ApplicationGatewayBackendHealthPool `json:"backendAddressPools,omitempty"` +} + +// ApplicationGatewayBackendHealthHTTPSettings application gateway BackendHealthHttp settings. +type ApplicationGatewayBackendHealthHTTPSettings struct { + // BackendHTTPSettings - Reference of an ApplicationGatewayBackendHttpSettings resource. + BackendHTTPSettings *ApplicationGatewayBackendHTTPSettings `json:"backendHttpSettings,omitempty"` + // Servers - List of ApplicationGatewayBackendHealthServer resources. + Servers *[]ApplicationGatewayBackendHealthServer `json:"servers,omitempty"` +} + +// ApplicationGatewayBackendHealthOnDemand result of on demand test probe. +type ApplicationGatewayBackendHealthOnDemand struct { + autorest.Response `json:"-"` + // BackendAddressPool - Reference of an ApplicationGatewayBackendAddressPool resource. + BackendAddressPool *ApplicationGatewayBackendAddressPool `json:"backendAddressPool,omitempty"` + // BackendHealthHTTPSettings - Application gateway BackendHealthHttp settings. + BackendHealthHTTPSettings *ApplicationGatewayBackendHealthHTTPSettings `json:"backendHealthHttpSettings,omitempty"` +} + +// ApplicationGatewayBackendHealthPool application gateway BackendHealth pool. +type ApplicationGatewayBackendHealthPool struct { + // BackendAddressPool - Reference of an ApplicationGatewayBackendAddressPool resource. + BackendAddressPool *ApplicationGatewayBackendAddressPool `json:"backendAddressPool,omitempty"` + // BackendHTTPSettingsCollection - List of ApplicationGatewayBackendHealthHttpSettings resources. + BackendHTTPSettingsCollection *[]ApplicationGatewayBackendHealthHTTPSettings `json:"backendHttpSettingsCollection,omitempty"` +} + +// ApplicationGatewayBackendHealthServer application gateway backendhealth http settings. +type ApplicationGatewayBackendHealthServer struct { + // Address - IP address or FQDN of backend server. + Address *string `json:"address,omitempty"` + // IPConfiguration - Reference of IP configuration of backend server. + IPConfiguration *InterfaceIPConfiguration `json:"ipConfiguration,omitempty"` + // Health - Health of backend server. Possible values include: 'Unknown', 'Up', 'Down', 'Partial', 'Draining' + Health ApplicationGatewayBackendHealthServerHealth `json:"health,omitempty"` + // HealthProbeLog - Health Probe Log. + HealthProbeLog *string `json:"healthProbeLog,omitempty"` +} + +// ApplicationGatewayBackendHTTPSettings backend address pool settings of an application gateway. +type ApplicationGatewayBackendHTTPSettings struct { + // ApplicationGatewayBackendHTTPSettingsPropertiesFormat - Properties of the application gateway backend HTTP settings. + *ApplicationGatewayBackendHTTPSettingsPropertiesFormat `json:"properties,omitempty"` + // Name - Name of the backend http settings that is unique within an Application Gateway. + Name *string `json:"name,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // Type - Type of the resource. + Type *string `json:"type,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for ApplicationGatewayBackendHTTPSettings. +func (agbhs ApplicationGatewayBackendHTTPSettings) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if agbhs.ApplicationGatewayBackendHTTPSettingsPropertiesFormat != nil { + objectMap["properties"] = agbhs.ApplicationGatewayBackendHTTPSettingsPropertiesFormat + } + if agbhs.Name != nil { + objectMap["name"] = agbhs.Name + } + if agbhs.Etag != nil { + objectMap["etag"] = agbhs.Etag + } + if agbhs.Type != nil { + objectMap["type"] = agbhs.Type + } + if agbhs.ID != nil { + objectMap["id"] = agbhs.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ApplicationGatewayBackendHTTPSettings struct. +func (agbhs *ApplicationGatewayBackendHTTPSettings) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var applicationGatewayBackendHTTPSettingsPropertiesFormat ApplicationGatewayBackendHTTPSettingsPropertiesFormat + err = json.Unmarshal(*v, &applicationGatewayBackendHTTPSettingsPropertiesFormat) + if err != nil { + return err + } + agbhs.ApplicationGatewayBackendHTTPSettingsPropertiesFormat = &applicationGatewayBackendHTTPSettingsPropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + agbhs.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + agbhs.Etag = &etag + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + agbhs.Type = &typeVar + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + agbhs.ID = &ID + } + } + } + + return nil +} + +// ApplicationGatewayBackendHTTPSettingsPropertiesFormat properties of Backend address pool settings of an +// application gateway. +type ApplicationGatewayBackendHTTPSettingsPropertiesFormat struct { + // Port - The destination port on the backend. + Port *int32 `json:"port,omitempty"` + // Protocol - The protocol used to communicate with the backend. Possible values include: 'HTTP', 'HTTPS' + Protocol ApplicationGatewayProtocol `json:"protocol,omitempty"` + // CookieBasedAffinity - Cookie based affinity. Possible values include: 'Enabled', 'Disabled' + CookieBasedAffinity ApplicationGatewayCookieBasedAffinity `json:"cookieBasedAffinity,omitempty"` + // RequestTimeout - Request timeout in seconds. Application Gateway will fail the request if response is not received within RequestTimeout. Acceptable values are from 1 second to 86400 seconds. + RequestTimeout *int32 `json:"requestTimeout,omitempty"` + // Probe - Probe resource of an application gateway. + Probe *SubResource `json:"probe,omitempty"` + // AuthenticationCertificates - Array of references to application gateway authentication certificates. + AuthenticationCertificates *[]SubResource `json:"authenticationCertificates,omitempty"` + // TrustedRootCertificates - Array of references to application gateway trusted root certificates. + TrustedRootCertificates *[]SubResource `json:"trustedRootCertificates,omitempty"` + // ConnectionDraining - Connection draining of the backend http settings resource. + ConnectionDraining *ApplicationGatewayConnectionDraining `json:"connectionDraining,omitempty"` + // HostName - Host header to be sent to the backend servers. + HostName *string `json:"hostName,omitempty"` + // PickHostNameFromBackendAddress - Whether to pick host header should be picked from the host name of the backend server. Default value is false. + PickHostNameFromBackendAddress *bool `json:"pickHostNameFromBackendAddress,omitempty"` + // AffinityCookieName - Cookie name to use for the affinity cookie. + AffinityCookieName *string `json:"affinityCookieName,omitempty"` + // ProbeEnabled - Whether the probe is enabled. Default value is false. + ProbeEnabled *bool `json:"probeEnabled,omitempty"` + // Path - Path which should be used as a prefix for all HTTP requests. Null means no path will be prefixed. Default value is null. + Path *string `json:"path,omitempty"` + // ProvisioningState - The provisioning state of the backend HTTP settings resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// ApplicationGatewayConnectionDraining connection draining allows open connections to a backend server to +// be active for a specified time after the backend server got removed from the configuration. +type ApplicationGatewayConnectionDraining struct { + // Enabled - Whether connection draining is enabled or not. + Enabled *bool `json:"enabled,omitempty"` + // DrainTimeoutInSec - The number of seconds connection draining is active. Acceptable values are from 1 second to 3600 seconds. + DrainTimeoutInSec *int32 `json:"drainTimeoutInSec,omitempty"` +} + +// ApplicationGatewayCustomError customer error of an application gateway. +type ApplicationGatewayCustomError struct { + // StatusCode - Status code of the application gateway customer error. Possible values include: 'HTTPStatus403', 'HTTPStatus502' + StatusCode ApplicationGatewayCustomErrorStatusCode `json:"statusCode,omitempty"` + // CustomErrorPageURL - Error page URL of the application gateway customer error. + CustomErrorPageURL *string `json:"customErrorPageUrl,omitempty"` +} + +// ApplicationGatewayFirewallDisabledRuleGroup allows to disable rules within a rule group or an entire +// rule group. +type ApplicationGatewayFirewallDisabledRuleGroup struct { + // RuleGroupName - The name of the rule group that will be disabled. + RuleGroupName *string `json:"ruleGroupName,omitempty"` + // Rules - The list of rules that will be disabled. If null, all rules of the rule group will be disabled. + Rules *[]int32 `json:"rules,omitempty"` +} + +// ApplicationGatewayFirewallExclusion allow to exclude some variable satisfy the condition for the WAF +// check. +type ApplicationGatewayFirewallExclusion struct { + // MatchVariable - The variable to be excluded. + MatchVariable *string `json:"matchVariable,omitempty"` + // SelectorMatchOperator - When matchVariable is a collection, operate on the selector to specify which elements in the collection this exclusion applies to. + SelectorMatchOperator *string `json:"selectorMatchOperator,omitempty"` + // Selector - When matchVariable is a collection, operator used to specify which elements in the collection this exclusion applies to. + Selector *string `json:"selector,omitempty"` +} + +// ApplicationGatewayFirewallRule a web application firewall rule. +type ApplicationGatewayFirewallRule struct { + // RuleID - The identifier of the web application firewall rule. + RuleID *int32 `json:"ruleId,omitempty"` + // Description - The description of the web application firewall rule. + Description *string `json:"description,omitempty"` +} + +// ApplicationGatewayFirewallRuleGroup a web application firewall rule group. +type ApplicationGatewayFirewallRuleGroup struct { + // RuleGroupName - The name of the web application firewall rule group. + RuleGroupName *string `json:"ruleGroupName,omitempty"` + // Description - The description of the web application firewall rule group. + Description *string `json:"description,omitempty"` + // Rules - The rules of the web application firewall rule group. + Rules *[]ApplicationGatewayFirewallRule `json:"rules,omitempty"` +} + +// ApplicationGatewayFirewallRuleSet a web application firewall rule set. +type ApplicationGatewayFirewallRuleSet struct { + // ApplicationGatewayFirewallRuleSetPropertiesFormat - Properties of the application gateway firewall rule set. + *ApplicationGatewayFirewallRuleSetPropertiesFormat `json:"properties,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for ApplicationGatewayFirewallRuleSet. +func (agfrs ApplicationGatewayFirewallRuleSet) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if agfrs.ApplicationGatewayFirewallRuleSetPropertiesFormat != nil { + objectMap["properties"] = agfrs.ApplicationGatewayFirewallRuleSetPropertiesFormat + } + if agfrs.ID != nil { + objectMap["id"] = agfrs.ID + } + if agfrs.Location != nil { + objectMap["location"] = agfrs.Location + } + if agfrs.Tags != nil { + objectMap["tags"] = agfrs.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ApplicationGatewayFirewallRuleSet struct. +func (agfrs *ApplicationGatewayFirewallRuleSet) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var applicationGatewayFirewallRuleSetPropertiesFormat ApplicationGatewayFirewallRuleSetPropertiesFormat + err = json.Unmarshal(*v, &applicationGatewayFirewallRuleSetPropertiesFormat) + if err != nil { + return err + } + agfrs.ApplicationGatewayFirewallRuleSetPropertiesFormat = &applicationGatewayFirewallRuleSetPropertiesFormat + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + agfrs.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + agfrs.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + agfrs.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + agfrs.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + agfrs.Tags = tags + } + } + } + + return nil +} + +// ApplicationGatewayFirewallRuleSetPropertiesFormat properties of the web application firewall rule set. +type ApplicationGatewayFirewallRuleSetPropertiesFormat struct { + // ProvisioningState - The provisioning state of the web application firewall rule set. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + // RuleSetType - The type of the web application firewall rule set. + RuleSetType *string `json:"ruleSetType,omitempty"` + // RuleSetVersion - The version of the web application firewall rule set type. + RuleSetVersion *string `json:"ruleSetVersion,omitempty"` + // RuleGroups - The rule groups of the web application firewall rule set. + RuleGroups *[]ApplicationGatewayFirewallRuleGroup `json:"ruleGroups,omitempty"` +} + +// ApplicationGatewayFrontendIPConfiguration frontend IP configuration of an application gateway. +type ApplicationGatewayFrontendIPConfiguration struct { + // ApplicationGatewayFrontendIPConfigurationPropertiesFormat - Properties of the application gateway frontend IP configuration. + *ApplicationGatewayFrontendIPConfigurationPropertiesFormat `json:"properties,omitempty"` + // Name - Name of the frontend IP configuration that is unique within an Application Gateway. + Name *string `json:"name,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // Type - Type of the resource. + Type *string `json:"type,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for ApplicationGatewayFrontendIPConfiguration. +func (agfic ApplicationGatewayFrontendIPConfiguration) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if agfic.ApplicationGatewayFrontendIPConfigurationPropertiesFormat != nil { + objectMap["properties"] = agfic.ApplicationGatewayFrontendIPConfigurationPropertiesFormat + } + if agfic.Name != nil { + objectMap["name"] = agfic.Name + } + if agfic.Etag != nil { + objectMap["etag"] = agfic.Etag + } + if agfic.Type != nil { + objectMap["type"] = agfic.Type + } + if agfic.ID != nil { + objectMap["id"] = agfic.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ApplicationGatewayFrontendIPConfiguration struct. +func (agfic *ApplicationGatewayFrontendIPConfiguration) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var applicationGatewayFrontendIPConfigurationPropertiesFormat ApplicationGatewayFrontendIPConfigurationPropertiesFormat + err = json.Unmarshal(*v, &applicationGatewayFrontendIPConfigurationPropertiesFormat) + if err != nil { + return err + } + agfic.ApplicationGatewayFrontendIPConfigurationPropertiesFormat = &applicationGatewayFrontendIPConfigurationPropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + agfic.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + agfic.Etag = &etag + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + agfic.Type = &typeVar + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + agfic.ID = &ID + } + } + } + + return nil +} + +// ApplicationGatewayFrontendIPConfigurationPropertiesFormat properties of Frontend IP configuration of an +// application gateway. +type ApplicationGatewayFrontendIPConfigurationPropertiesFormat struct { + // PrivateIPAddress - PrivateIPAddress of the network interface IP Configuration. + PrivateIPAddress *string `json:"privateIPAddress,omitempty"` + // PrivateIPAllocationMethod - The private IP address allocation method. Possible values include: 'Static', 'Dynamic' + PrivateIPAllocationMethod IPAllocationMethod `json:"privateIPAllocationMethod,omitempty"` + // Subnet - Reference of the subnet resource. + Subnet *SubResource `json:"subnet,omitempty"` + // PublicIPAddress - Reference of the PublicIP resource. + PublicIPAddress *SubResource `json:"publicIPAddress,omitempty"` + // ProvisioningState - The provisioning state of the frontend IP configuration resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// ApplicationGatewayFrontendPort frontend port of an application gateway. +type ApplicationGatewayFrontendPort struct { + // ApplicationGatewayFrontendPortPropertiesFormat - Properties of the application gateway frontend port. + *ApplicationGatewayFrontendPortPropertiesFormat `json:"properties,omitempty"` + // Name - Name of the frontend port that is unique within an Application Gateway. + Name *string `json:"name,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // Type - Type of the resource. + Type *string `json:"type,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for ApplicationGatewayFrontendPort. +func (agfp ApplicationGatewayFrontendPort) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if agfp.ApplicationGatewayFrontendPortPropertiesFormat != nil { + objectMap["properties"] = agfp.ApplicationGatewayFrontendPortPropertiesFormat + } + if agfp.Name != nil { + objectMap["name"] = agfp.Name + } + if agfp.Etag != nil { + objectMap["etag"] = agfp.Etag + } + if agfp.Type != nil { + objectMap["type"] = agfp.Type + } + if agfp.ID != nil { + objectMap["id"] = agfp.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ApplicationGatewayFrontendPort struct. +func (agfp *ApplicationGatewayFrontendPort) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var applicationGatewayFrontendPortPropertiesFormat ApplicationGatewayFrontendPortPropertiesFormat + err = json.Unmarshal(*v, &applicationGatewayFrontendPortPropertiesFormat) + if err != nil { + return err + } + agfp.ApplicationGatewayFrontendPortPropertiesFormat = &applicationGatewayFrontendPortPropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + agfp.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + agfp.Etag = &etag + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + agfp.Type = &typeVar + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + agfp.ID = &ID + } + } + } + + return nil +} + +// ApplicationGatewayFrontendPortPropertiesFormat properties of Frontend port of an application gateway. +type ApplicationGatewayFrontendPortPropertiesFormat struct { + // Port - Frontend port. + Port *int32 `json:"port,omitempty"` + // ProvisioningState - The provisioning state of the frontend port resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// ApplicationGatewayHeaderConfiguration header configuration of the Actions set in Application Gateway. +type ApplicationGatewayHeaderConfiguration struct { + // HeaderName - Header name of the header configuration. + HeaderName *string `json:"headerName,omitempty"` + // HeaderValue - Header value of the header configuration. + HeaderValue *string `json:"headerValue,omitempty"` +} + +// ApplicationGatewayHTTPListener http listener of an application gateway. +type ApplicationGatewayHTTPListener struct { + // ApplicationGatewayHTTPListenerPropertiesFormat - Properties of the application gateway HTTP listener. + *ApplicationGatewayHTTPListenerPropertiesFormat `json:"properties,omitempty"` + // Name - Name of the HTTP listener that is unique within an Application Gateway. + Name *string `json:"name,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // Type - Type of the resource. + Type *string `json:"type,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for ApplicationGatewayHTTPListener. +func (aghl ApplicationGatewayHTTPListener) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if aghl.ApplicationGatewayHTTPListenerPropertiesFormat != nil { + objectMap["properties"] = aghl.ApplicationGatewayHTTPListenerPropertiesFormat + } + if aghl.Name != nil { + objectMap["name"] = aghl.Name + } + if aghl.Etag != nil { + objectMap["etag"] = aghl.Etag + } + if aghl.Type != nil { + objectMap["type"] = aghl.Type + } + if aghl.ID != nil { + objectMap["id"] = aghl.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ApplicationGatewayHTTPListener struct. +func (aghl *ApplicationGatewayHTTPListener) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var applicationGatewayHTTPListenerPropertiesFormat ApplicationGatewayHTTPListenerPropertiesFormat + err = json.Unmarshal(*v, &applicationGatewayHTTPListenerPropertiesFormat) + if err != nil { + return err + } + aghl.ApplicationGatewayHTTPListenerPropertiesFormat = &applicationGatewayHTTPListenerPropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + aghl.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + aghl.Etag = &etag + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + aghl.Type = &typeVar + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + aghl.ID = &ID + } + } + } + + return nil +} + +// ApplicationGatewayHTTPListenerPropertiesFormat properties of HTTP listener of an application gateway. +type ApplicationGatewayHTTPListenerPropertiesFormat struct { + // FrontendIPConfiguration - Frontend IP configuration resource of an application gateway. + FrontendIPConfiguration *SubResource `json:"frontendIPConfiguration,omitempty"` + // FrontendPort - Frontend port resource of an application gateway. + FrontendPort *SubResource `json:"frontendPort,omitempty"` + // Protocol - Protocol of the HTTP listener. Possible values include: 'HTTP', 'HTTPS' + Protocol ApplicationGatewayProtocol `json:"protocol,omitempty"` + // HostName - Host name of HTTP listener. + HostName *string `json:"hostName,omitempty"` + // SslCertificate - SSL certificate resource of an application gateway. + SslCertificate *SubResource `json:"sslCertificate,omitempty"` + // RequireServerNameIndication - Applicable only if protocol is https. Enables SNI for multi-hosting. + RequireServerNameIndication *bool `json:"requireServerNameIndication,omitempty"` + // ProvisioningState - The provisioning state of the HTTP listener resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + // CustomErrorConfigurations - Custom error configurations of the HTTP listener. + CustomErrorConfigurations *[]ApplicationGatewayCustomError `json:"customErrorConfigurations,omitempty"` +} + +// ApplicationGatewayIPConfiguration IP configuration of an application gateway. Currently 1 public and 1 +// private IP configuration is allowed. +type ApplicationGatewayIPConfiguration struct { + // ApplicationGatewayIPConfigurationPropertiesFormat - Properties of the application gateway IP configuration. + *ApplicationGatewayIPConfigurationPropertiesFormat `json:"properties,omitempty"` + // Name - Name of the IP configuration that is unique within an Application Gateway. + Name *string `json:"name,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // Type - Type of the resource. + Type *string `json:"type,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for ApplicationGatewayIPConfiguration. +func (agic ApplicationGatewayIPConfiguration) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if agic.ApplicationGatewayIPConfigurationPropertiesFormat != nil { + objectMap["properties"] = agic.ApplicationGatewayIPConfigurationPropertiesFormat + } + if agic.Name != nil { + objectMap["name"] = agic.Name + } + if agic.Etag != nil { + objectMap["etag"] = agic.Etag + } + if agic.Type != nil { + objectMap["type"] = agic.Type + } + if agic.ID != nil { + objectMap["id"] = agic.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ApplicationGatewayIPConfiguration struct. +func (agic *ApplicationGatewayIPConfiguration) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var applicationGatewayIPConfigurationPropertiesFormat ApplicationGatewayIPConfigurationPropertiesFormat + err = json.Unmarshal(*v, &applicationGatewayIPConfigurationPropertiesFormat) + if err != nil { + return err + } + agic.ApplicationGatewayIPConfigurationPropertiesFormat = &applicationGatewayIPConfigurationPropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + agic.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + agic.Etag = &etag + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + agic.Type = &typeVar + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + agic.ID = &ID + } + } + } + + return nil +} + +// ApplicationGatewayIPConfigurationPropertiesFormat properties of IP configuration of an application +// gateway. +type ApplicationGatewayIPConfigurationPropertiesFormat struct { + // Subnet - Reference of the subnet resource. A subnet from where application gateway gets its private address. + Subnet *SubResource `json:"subnet,omitempty"` + // ProvisioningState - The provisioning state of the application gateway IP configuration resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// ApplicationGatewayListResult response for ListApplicationGateways API service call. +type ApplicationGatewayListResult struct { + autorest.Response `json:"-"` + // Value - List of an application gateways in a resource group. + Value *[]ApplicationGateway `json:"value,omitempty"` + // NextLink - URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// ApplicationGatewayListResultIterator provides access to a complete listing of ApplicationGateway values. +type ApplicationGatewayListResultIterator struct { + i int + page ApplicationGatewayListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *ApplicationGatewayListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationGatewayListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *ApplicationGatewayListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter ApplicationGatewayListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter ApplicationGatewayListResultIterator) Response() ApplicationGatewayListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter ApplicationGatewayListResultIterator) Value() ApplicationGateway { + if !iter.page.NotDone() { + return ApplicationGateway{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the ApplicationGatewayListResultIterator type. +func NewApplicationGatewayListResultIterator(page ApplicationGatewayListResultPage) ApplicationGatewayListResultIterator { + return ApplicationGatewayListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (aglr ApplicationGatewayListResult) IsEmpty() bool { + return aglr.Value == nil || len(*aglr.Value) == 0 +} + +// applicationGatewayListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (aglr ApplicationGatewayListResult) applicationGatewayListResultPreparer(ctx context.Context) (*http.Request, error) { + if aglr.NextLink == nil || len(to.String(aglr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(aglr.NextLink))) +} + +// ApplicationGatewayListResultPage contains a page of ApplicationGateway values. +type ApplicationGatewayListResultPage struct { + fn func(context.Context, ApplicationGatewayListResult) (ApplicationGatewayListResult, error) + aglr ApplicationGatewayListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *ApplicationGatewayListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationGatewayListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.aglr) + if err != nil { + return err + } + page.aglr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *ApplicationGatewayListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page ApplicationGatewayListResultPage) NotDone() bool { + return !page.aglr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page ApplicationGatewayListResultPage) Response() ApplicationGatewayListResult { + return page.aglr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page ApplicationGatewayListResultPage) Values() []ApplicationGateway { + if page.aglr.IsEmpty() { + return nil + } + return *page.aglr.Value +} + +// Creates a new instance of the ApplicationGatewayListResultPage type. +func NewApplicationGatewayListResultPage(getNextPage func(context.Context, ApplicationGatewayListResult) (ApplicationGatewayListResult, error)) ApplicationGatewayListResultPage { + return ApplicationGatewayListResultPage{fn: getNextPage} +} + +// ApplicationGatewayOnDemandProbe details of on demand test probe request. +type ApplicationGatewayOnDemandProbe struct { + // Protocol - The protocol used for the probe. Possible values include: 'HTTP', 'HTTPS' + Protocol ApplicationGatewayProtocol `json:"protocol,omitempty"` + // Host - Host name to send the probe to. + Host *string `json:"host,omitempty"` + // Path - Relative path of probe. Valid path starts from '/'. Probe is sent to ://:. + Path *string `json:"path,omitempty"` + // Timeout - The probe timeout in seconds. Probe marked as failed if valid response is not received with this timeout period. Acceptable values are from 1 second to 86400 seconds. + Timeout *int32 `json:"timeout,omitempty"` + // PickHostNameFromBackendHTTPSettings - Whether the host header should be picked from the backend http settings. Default value is false. + PickHostNameFromBackendHTTPSettings *bool `json:"pickHostNameFromBackendHttpSettings,omitempty"` + // Match - Criterion for classifying a healthy probe response. + Match *ApplicationGatewayProbeHealthResponseMatch `json:"match,omitempty"` + // BackendAddressPool - Reference of backend pool of application gateway to which probe request will be sent. + BackendAddressPool *SubResource `json:"backendAddressPool,omitempty"` + // BackendHTTPSettings - Reference of backend http setting of application gateway to be used for test probe. + BackendHTTPSettings *SubResource `json:"backendHttpSettings,omitempty"` +} + +// ApplicationGatewayPathRule path rule of URL path map of an application gateway. +type ApplicationGatewayPathRule struct { + // ApplicationGatewayPathRulePropertiesFormat - Properties of the application gateway path rule. + *ApplicationGatewayPathRulePropertiesFormat `json:"properties,omitempty"` + // Name - Name of the path rule that is unique within an Application Gateway. + Name *string `json:"name,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // Type - Type of the resource. + Type *string `json:"type,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for ApplicationGatewayPathRule. +func (agpr ApplicationGatewayPathRule) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if agpr.ApplicationGatewayPathRulePropertiesFormat != nil { + objectMap["properties"] = agpr.ApplicationGatewayPathRulePropertiesFormat + } + if agpr.Name != nil { + objectMap["name"] = agpr.Name + } + if agpr.Etag != nil { + objectMap["etag"] = agpr.Etag + } + if agpr.Type != nil { + objectMap["type"] = agpr.Type + } + if agpr.ID != nil { + objectMap["id"] = agpr.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ApplicationGatewayPathRule struct. +func (agpr *ApplicationGatewayPathRule) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var applicationGatewayPathRulePropertiesFormat ApplicationGatewayPathRulePropertiesFormat + err = json.Unmarshal(*v, &applicationGatewayPathRulePropertiesFormat) + if err != nil { + return err + } + agpr.ApplicationGatewayPathRulePropertiesFormat = &applicationGatewayPathRulePropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + agpr.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + agpr.Etag = &etag + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + agpr.Type = &typeVar + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + agpr.ID = &ID + } + } + } + + return nil +} + +// ApplicationGatewayPathRulePropertiesFormat properties of path rule of an application gateway. +type ApplicationGatewayPathRulePropertiesFormat struct { + // Paths - Path rules of URL path map. + Paths *[]string `json:"paths,omitempty"` + // BackendAddressPool - Backend address pool resource of URL path map path rule. + BackendAddressPool *SubResource `json:"backendAddressPool,omitempty"` + // BackendHTTPSettings - Backend http settings resource of URL path map path rule. + BackendHTTPSettings *SubResource `json:"backendHttpSettings,omitempty"` + // RedirectConfiguration - Redirect configuration resource of URL path map path rule. + RedirectConfiguration *SubResource `json:"redirectConfiguration,omitempty"` + // RewriteRuleSet - Rewrite rule set resource of URL path map path rule. + RewriteRuleSet *SubResource `json:"rewriteRuleSet,omitempty"` + // ProvisioningState - The provisioning state of the path rule resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// ApplicationGatewayProbe probe of the application gateway. +type ApplicationGatewayProbe struct { + // ApplicationGatewayProbePropertiesFormat - Properties of the application gateway probe. + *ApplicationGatewayProbePropertiesFormat `json:"properties,omitempty"` + // Name - Name of the probe that is unique within an Application Gateway. + Name *string `json:"name,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // Type - Type of the resource. + Type *string `json:"type,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for ApplicationGatewayProbe. +func (agp ApplicationGatewayProbe) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if agp.ApplicationGatewayProbePropertiesFormat != nil { + objectMap["properties"] = agp.ApplicationGatewayProbePropertiesFormat + } + if agp.Name != nil { + objectMap["name"] = agp.Name + } + if agp.Etag != nil { + objectMap["etag"] = agp.Etag + } + if agp.Type != nil { + objectMap["type"] = agp.Type + } + if agp.ID != nil { + objectMap["id"] = agp.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ApplicationGatewayProbe struct. +func (agp *ApplicationGatewayProbe) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var applicationGatewayProbePropertiesFormat ApplicationGatewayProbePropertiesFormat + err = json.Unmarshal(*v, &applicationGatewayProbePropertiesFormat) + if err != nil { + return err + } + agp.ApplicationGatewayProbePropertiesFormat = &applicationGatewayProbePropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + agp.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + agp.Etag = &etag + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + agp.Type = &typeVar + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + agp.ID = &ID + } + } + } + + return nil +} + +// ApplicationGatewayProbeHealthResponseMatch application gateway probe health response match. +type ApplicationGatewayProbeHealthResponseMatch struct { + // Body - Body that must be contained in the health response. Default value is empty. + Body *string `json:"body,omitempty"` + // StatusCodes - Allowed ranges of healthy status codes. Default range of healthy status codes is 200-399. + StatusCodes *[]string `json:"statusCodes,omitempty"` +} + +// ApplicationGatewayProbePropertiesFormat properties of probe of an application gateway. +type ApplicationGatewayProbePropertiesFormat struct { + // Protocol - The protocol used for the probe. Possible values include: 'HTTP', 'HTTPS' + Protocol ApplicationGatewayProtocol `json:"protocol,omitempty"` + // Host - Host name to send the probe to. + Host *string `json:"host,omitempty"` + // Path - Relative path of probe. Valid path starts from '/'. Probe is sent to ://:. + Path *string `json:"path,omitempty"` + // Interval - The probing interval in seconds. This is the time interval between two consecutive probes. Acceptable values are from 1 second to 86400 seconds. + Interval *int32 `json:"interval,omitempty"` + // Timeout - The probe timeout in seconds. Probe marked as failed if valid response is not received with this timeout period. Acceptable values are from 1 second to 86400 seconds. + Timeout *int32 `json:"timeout,omitempty"` + // UnhealthyThreshold - The probe retry count. Backend server is marked down after consecutive probe failure count reaches UnhealthyThreshold. Acceptable values are from 1 second to 20. + UnhealthyThreshold *int32 `json:"unhealthyThreshold,omitempty"` + // PickHostNameFromBackendHTTPSettings - Whether the host header should be picked from the backend http settings. Default value is false. + PickHostNameFromBackendHTTPSettings *bool `json:"pickHostNameFromBackendHttpSettings,omitempty"` + // MinServers - Minimum number of servers that are always marked healthy. Default value is 0. + MinServers *int32 `json:"minServers,omitempty"` + // Match - Criterion for classifying a healthy probe response. + Match *ApplicationGatewayProbeHealthResponseMatch `json:"match,omitempty"` + // ProvisioningState - The provisioning state of the probe resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + // Port - Custom port which will be used for probing the backend servers. The valid value ranges from 1 to 65535. In case not set, port from http settings will be used. This property is valid for Standard_v2 and WAF_v2 only. + Port *int32 `json:"port,omitempty"` +} + +// ApplicationGatewayPropertiesFormat properties of the application gateway. +type ApplicationGatewayPropertiesFormat struct { + // Sku - SKU of the application gateway resource. + Sku *ApplicationGatewaySku `json:"sku,omitempty"` + // SslPolicy - SSL policy of the application gateway resource. + SslPolicy *ApplicationGatewaySslPolicy `json:"sslPolicy,omitempty"` + // OperationalState - READ-ONLY; Operational state of the application gateway resource. Possible values include: 'Stopped', 'Starting', 'Running', 'Stopping' + OperationalState ApplicationGatewayOperationalState `json:"operationalState,omitempty"` + // GatewayIPConfigurations - Subnets of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + GatewayIPConfigurations *[]ApplicationGatewayIPConfiguration `json:"gatewayIPConfigurations,omitempty"` + // AuthenticationCertificates - Authentication certificates of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + AuthenticationCertificates *[]ApplicationGatewayAuthenticationCertificate `json:"authenticationCertificates,omitempty"` + // TrustedRootCertificates - Trusted Root certificates of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + TrustedRootCertificates *[]ApplicationGatewayTrustedRootCertificate `json:"trustedRootCertificates,omitempty"` + // SslCertificates - SSL certificates of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + SslCertificates *[]ApplicationGatewaySslCertificate `json:"sslCertificates,omitempty"` + // FrontendIPConfigurations - Frontend IP addresses of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + FrontendIPConfigurations *[]ApplicationGatewayFrontendIPConfiguration `json:"frontendIPConfigurations,omitempty"` + // FrontendPorts - Frontend ports of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + FrontendPorts *[]ApplicationGatewayFrontendPort `json:"frontendPorts,omitempty"` + // Probes - Probes of the application gateway resource. + Probes *[]ApplicationGatewayProbe `json:"probes,omitempty"` + // BackendAddressPools - Backend address pool of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + BackendAddressPools *[]ApplicationGatewayBackendAddressPool `json:"backendAddressPools,omitempty"` + // BackendHTTPSettingsCollection - Backend http settings of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + BackendHTTPSettingsCollection *[]ApplicationGatewayBackendHTTPSettings `json:"backendHttpSettingsCollection,omitempty"` + // HTTPListeners - Http listeners of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + HTTPListeners *[]ApplicationGatewayHTTPListener `json:"httpListeners,omitempty"` + // URLPathMaps - URL path map of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + URLPathMaps *[]ApplicationGatewayURLPathMap `json:"urlPathMaps,omitempty"` + // RequestRoutingRules - Request routing rules of the application gateway resource. + RequestRoutingRules *[]ApplicationGatewayRequestRoutingRule `json:"requestRoutingRules,omitempty"` + // RewriteRuleSets - Rewrite rules for the application gateway resource. + RewriteRuleSets *[]ApplicationGatewayRewriteRuleSet `json:"rewriteRuleSets,omitempty"` + // RedirectConfigurations - Redirect configurations of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). + RedirectConfigurations *[]ApplicationGatewayRedirectConfiguration `json:"redirectConfigurations,omitempty"` + // WebApplicationFirewallConfiguration - Web application firewall configuration. + WebApplicationFirewallConfiguration *ApplicationGatewayWebApplicationFirewallConfiguration `json:"webApplicationFirewallConfiguration,omitempty"` + // FirewallPolicy - Reference of the FirewallPolicy resource. + FirewallPolicy *SubResource `json:"firewallPolicy,omitempty"` + // EnableHTTP2 - Whether HTTP2 is enabled on the application gateway resource. + EnableHTTP2 *bool `json:"enableHttp2,omitempty"` + // EnableFips - Whether FIPS is enabled on the application gateway resource. + EnableFips *bool `json:"enableFips,omitempty"` + // AutoscaleConfiguration - Autoscale Configuration. + AutoscaleConfiguration *ApplicationGatewayAutoscaleConfiguration `json:"autoscaleConfiguration,omitempty"` + // ResourceGUID - The resource GUID property of the application gateway resource. + ResourceGUID *string `json:"resourceGuid,omitempty"` + // ProvisioningState - The provisioning state of the application gateway resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + // CustomErrorConfigurations - Custom error configurations of the application gateway resource. + CustomErrorConfigurations *[]ApplicationGatewayCustomError `json:"customErrorConfigurations,omitempty"` +} + +// ApplicationGatewayRedirectConfiguration redirect configuration of an application gateway. +type ApplicationGatewayRedirectConfiguration struct { + // ApplicationGatewayRedirectConfigurationPropertiesFormat - Properties of the application gateway redirect configuration. + *ApplicationGatewayRedirectConfigurationPropertiesFormat `json:"properties,omitempty"` + // Name - Name of the redirect configuration that is unique within an Application Gateway. + Name *string `json:"name,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // Type - Type of the resource. + Type *string `json:"type,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for ApplicationGatewayRedirectConfiguration. +func (agrc ApplicationGatewayRedirectConfiguration) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if agrc.ApplicationGatewayRedirectConfigurationPropertiesFormat != nil { + objectMap["properties"] = agrc.ApplicationGatewayRedirectConfigurationPropertiesFormat + } + if agrc.Name != nil { + objectMap["name"] = agrc.Name + } + if agrc.Etag != nil { + objectMap["etag"] = agrc.Etag + } + if agrc.Type != nil { + objectMap["type"] = agrc.Type + } + if agrc.ID != nil { + objectMap["id"] = agrc.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ApplicationGatewayRedirectConfiguration struct. +func (agrc *ApplicationGatewayRedirectConfiguration) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var applicationGatewayRedirectConfigurationPropertiesFormat ApplicationGatewayRedirectConfigurationPropertiesFormat + err = json.Unmarshal(*v, &applicationGatewayRedirectConfigurationPropertiesFormat) + if err != nil { + return err + } + agrc.ApplicationGatewayRedirectConfigurationPropertiesFormat = &applicationGatewayRedirectConfigurationPropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + agrc.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + agrc.Etag = &etag + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + agrc.Type = &typeVar + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + agrc.ID = &ID + } + } + } + + return nil +} + +// ApplicationGatewayRedirectConfigurationPropertiesFormat properties of redirect configuration of the +// application gateway. +type ApplicationGatewayRedirectConfigurationPropertiesFormat struct { + // RedirectType - HTTP redirection type. Possible values include: 'Permanent', 'Found', 'SeeOther', 'Temporary' + RedirectType ApplicationGatewayRedirectType `json:"redirectType,omitempty"` + // TargetListener - Reference to a listener to redirect the request to. + TargetListener *SubResource `json:"targetListener,omitempty"` + // TargetURL - Url to redirect the request to. + TargetURL *string `json:"targetUrl,omitempty"` + // IncludePath - Include path in the redirected url. + IncludePath *bool `json:"includePath,omitempty"` + // IncludeQueryString - Include query string in the redirected url. + IncludeQueryString *bool `json:"includeQueryString,omitempty"` + // RequestRoutingRules - Request routing specifying redirect configuration. + RequestRoutingRules *[]SubResource `json:"requestRoutingRules,omitempty"` + // URLPathMaps - Url path maps specifying default redirect configuration. + URLPathMaps *[]SubResource `json:"urlPathMaps,omitempty"` + // PathRules - Path rules specifying redirect configuration. + PathRules *[]SubResource `json:"pathRules,omitempty"` +} + +// ApplicationGatewayRequestRoutingRule request routing rule of an application gateway. +type ApplicationGatewayRequestRoutingRule struct { + // ApplicationGatewayRequestRoutingRulePropertiesFormat - Properties of the application gateway request routing rule. + *ApplicationGatewayRequestRoutingRulePropertiesFormat `json:"properties,omitempty"` + // Name - Name of the request routing rule that is unique within an Application Gateway. + Name *string `json:"name,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // Type - Type of the resource. + Type *string `json:"type,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for ApplicationGatewayRequestRoutingRule. +func (agrrr ApplicationGatewayRequestRoutingRule) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if agrrr.ApplicationGatewayRequestRoutingRulePropertiesFormat != nil { + objectMap["properties"] = agrrr.ApplicationGatewayRequestRoutingRulePropertiesFormat + } + if agrrr.Name != nil { + objectMap["name"] = agrrr.Name + } + if agrrr.Etag != nil { + objectMap["etag"] = agrrr.Etag + } + if agrrr.Type != nil { + objectMap["type"] = agrrr.Type + } + if agrrr.ID != nil { + objectMap["id"] = agrrr.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ApplicationGatewayRequestRoutingRule struct. +func (agrrr *ApplicationGatewayRequestRoutingRule) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var applicationGatewayRequestRoutingRulePropertiesFormat ApplicationGatewayRequestRoutingRulePropertiesFormat + err = json.Unmarshal(*v, &applicationGatewayRequestRoutingRulePropertiesFormat) + if err != nil { + return err + } + agrrr.ApplicationGatewayRequestRoutingRulePropertiesFormat = &applicationGatewayRequestRoutingRulePropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + agrrr.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + agrrr.Etag = &etag + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + agrrr.Type = &typeVar + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + agrrr.ID = &ID + } + } + } + + return nil +} + +// ApplicationGatewayRequestRoutingRulePropertiesFormat properties of request routing rule of the +// application gateway. +type ApplicationGatewayRequestRoutingRulePropertiesFormat struct { + // RuleType - Rule type. Possible values include: 'Basic', 'PathBasedRouting' + RuleType ApplicationGatewayRequestRoutingRuleType `json:"ruleType,omitempty"` + // Priority - Priority of the request routing rule. + Priority *int32 `json:"priority,omitempty"` + // BackendAddressPool - Backend address pool resource of the application gateway. + BackendAddressPool *SubResource `json:"backendAddressPool,omitempty"` + // BackendHTTPSettings - Backend http settings resource of the application gateway. + BackendHTTPSettings *SubResource `json:"backendHttpSettings,omitempty"` + // HTTPListener - Http listener resource of the application gateway. + HTTPListener *SubResource `json:"httpListener,omitempty"` + // URLPathMap - URL path map resource of the application gateway. + URLPathMap *SubResource `json:"urlPathMap,omitempty"` + // RewriteRuleSet - Rewrite Rule Set resource in Basic rule of the application gateway. + RewriteRuleSet *SubResource `json:"rewriteRuleSet,omitempty"` + // RedirectConfiguration - Redirect configuration resource of the application gateway. + RedirectConfiguration *SubResource `json:"redirectConfiguration,omitempty"` + // ProvisioningState - The provisioning state of the request routing rule resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// ApplicationGatewayRewriteRule rewrite rule of an application gateway. +type ApplicationGatewayRewriteRule struct { + // Name - Name of the rewrite rule that is unique within an Application Gateway. + Name *string `json:"name,omitempty"` + // RuleSequence - Rule Sequence of the rewrite rule that determines the order of execution of a particular rule in a RewriteRuleSet. + RuleSequence *int32 `json:"ruleSequence,omitempty"` + // Conditions - Conditions based on which the action set execution will be evaluated. + Conditions *[]ApplicationGatewayRewriteRuleCondition `json:"conditions,omitempty"` + // ActionSet - Set of actions to be done as part of the rewrite Rule. + ActionSet *ApplicationGatewayRewriteRuleActionSet `json:"actionSet,omitempty"` +} + +// ApplicationGatewayRewriteRuleActionSet set of actions in the Rewrite Rule in Application Gateway. +type ApplicationGatewayRewriteRuleActionSet struct { + // RequestHeaderConfigurations - Request Header Actions in the Action Set. + RequestHeaderConfigurations *[]ApplicationGatewayHeaderConfiguration `json:"requestHeaderConfigurations,omitempty"` + // ResponseHeaderConfigurations - Response Header Actions in the Action Set. + ResponseHeaderConfigurations *[]ApplicationGatewayHeaderConfiguration `json:"responseHeaderConfigurations,omitempty"` +} + +// ApplicationGatewayRewriteRuleCondition set of conditions in the Rewrite Rule in Application Gateway. +type ApplicationGatewayRewriteRuleCondition struct { + // Variable - The condition parameter of the RewriteRuleCondition. + Variable *string `json:"variable,omitempty"` + // Pattern - The pattern, either fixed string or regular expression, that evaluates the truthfulness of the condition. + Pattern *string `json:"pattern,omitempty"` + // IgnoreCase - Setting this paramter to truth value with force the pattern to do a case in-sensitive comparison. + IgnoreCase *bool `json:"ignoreCase,omitempty"` + // Negate - Setting this value as truth will force to check the negation of the condition given by the user. + Negate *bool `json:"negate,omitempty"` +} + +// ApplicationGatewayRewriteRuleSet rewrite rule set of an application gateway. +type ApplicationGatewayRewriteRuleSet struct { + // ApplicationGatewayRewriteRuleSetPropertiesFormat - Properties of the application gateway rewrite rule set. + *ApplicationGatewayRewriteRuleSetPropertiesFormat `json:"properties,omitempty"` + // Name - Name of the rewrite rule set that is unique within an Application Gateway. + Name *string `json:"name,omitempty"` + // Etag - READ-ONLY; A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for ApplicationGatewayRewriteRuleSet. +func (agrrs ApplicationGatewayRewriteRuleSet) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if agrrs.ApplicationGatewayRewriteRuleSetPropertiesFormat != nil { + objectMap["properties"] = agrrs.ApplicationGatewayRewriteRuleSetPropertiesFormat + } + if agrrs.Name != nil { + objectMap["name"] = agrrs.Name + } + if agrrs.ID != nil { + objectMap["id"] = agrrs.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ApplicationGatewayRewriteRuleSet struct. +func (agrrs *ApplicationGatewayRewriteRuleSet) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var applicationGatewayRewriteRuleSetPropertiesFormat ApplicationGatewayRewriteRuleSetPropertiesFormat + err = json.Unmarshal(*v, &applicationGatewayRewriteRuleSetPropertiesFormat) + if err != nil { + return err + } + agrrs.ApplicationGatewayRewriteRuleSetPropertiesFormat = &applicationGatewayRewriteRuleSetPropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + agrrs.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + agrrs.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + agrrs.ID = &ID + } + } + } + + return nil +} + +// ApplicationGatewayRewriteRuleSetPropertiesFormat properties of rewrite rule set of the application +// gateway. +type ApplicationGatewayRewriteRuleSetPropertiesFormat struct { + // RewriteRules - Rewrite rules in the rewrite rule set. + RewriteRules *[]ApplicationGatewayRewriteRule `json:"rewriteRules,omitempty"` + // ProvisioningState - READ-ONLY; The provisioning state of the rewrite rule set resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// ApplicationGatewaysBackendHealthFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type ApplicationGatewaysBackendHealthFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ApplicationGatewaysBackendHealthFuture) Result(client ApplicationGatewaysClient) (agbh ApplicationGatewayBackendHealth, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysBackendHealthFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.ApplicationGatewaysBackendHealthFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if agbh.Response.Response, err = future.GetResult(sender); err == nil && agbh.Response.Response.StatusCode != http.StatusNoContent { + agbh, err = client.BackendHealthResponder(agbh.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysBackendHealthFuture", "Result", agbh.Response.Response, "Failure responding to request") + } + } + return +} + +// ApplicationGatewaysBackendHealthOnDemandFuture an abstraction for monitoring and retrieving the results +// of a long-running operation. +type ApplicationGatewaysBackendHealthOnDemandFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ApplicationGatewaysBackendHealthOnDemandFuture) Result(client ApplicationGatewaysClient) (agbhod ApplicationGatewayBackendHealthOnDemand, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysBackendHealthOnDemandFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.ApplicationGatewaysBackendHealthOnDemandFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if agbhod.Response.Response, err = future.GetResult(sender); err == nil && agbhod.Response.Response.StatusCode != http.StatusNoContent { + agbhod, err = client.BackendHealthOnDemandResponder(agbhod.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysBackendHealthOnDemandFuture", "Result", agbhod.Response.Response, "Failure responding to request") + } + } + return +} + +// ApplicationGatewaysCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type ApplicationGatewaysCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ApplicationGatewaysCreateOrUpdateFuture) Result(client ApplicationGatewaysClient) (ag ApplicationGateway, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.ApplicationGatewaysCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if ag.Response.Response, err = future.GetResult(sender); err == nil && ag.Response.Response.StatusCode != http.StatusNoContent { + ag, err = client.CreateOrUpdateResponder(ag.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysCreateOrUpdateFuture", "Result", ag.Response.Response, "Failure responding to request") + } + } + return +} + +// ApplicationGatewaysDeleteFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type ApplicationGatewaysDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ApplicationGatewaysDeleteFuture) Result(client ApplicationGatewaysClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.ApplicationGatewaysDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// ApplicationGatewaySku SKU of an application gateway. +type ApplicationGatewaySku struct { + // Name - Name of an application gateway SKU. Possible values include: 'StandardSmall', 'StandardMedium', 'StandardLarge', 'WAFMedium', 'WAFLarge', 'StandardV2', 'WAFV2' + Name ApplicationGatewaySkuName `json:"name,omitempty"` + // Tier - Tier of an application gateway. Possible values include: 'ApplicationGatewayTierStandard', 'ApplicationGatewayTierWAF', 'ApplicationGatewayTierStandardV2', 'ApplicationGatewayTierWAFV2' + Tier ApplicationGatewayTier `json:"tier,omitempty"` + // Capacity - Capacity (instance count) of an application gateway. + Capacity *int32 `json:"capacity,omitempty"` +} + +// ApplicationGatewaySslCertificate SSL certificates of an application gateway. +type ApplicationGatewaySslCertificate struct { + // ApplicationGatewaySslCertificatePropertiesFormat - Properties of the application gateway SSL certificate. + *ApplicationGatewaySslCertificatePropertiesFormat `json:"properties,omitempty"` + // Name - Name of the SSL certificate that is unique within an Application Gateway. + Name *string `json:"name,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // Type - Type of the resource. + Type *string `json:"type,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for ApplicationGatewaySslCertificate. +func (agsc ApplicationGatewaySslCertificate) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if agsc.ApplicationGatewaySslCertificatePropertiesFormat != nil { + objectMap["properties"] = agsc.ApplicationGatewaySslCertificatePropertiesFormat + } + if agsc.Name != nil { + objectMap["name"] = agsc.Name + } + if agsc.Etag != nil { + objectMap["etag"] = agsc.Etag + } + if agsc.Type != nil { + objectMap["type"] = agsc.Type + } + if agsc.ID != nil { + objectMap["id"] = agsc.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ApplicationGatewaySslCertificate struct. +func (agsc *ApplicationGatewaySslCertificate) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var applicationGatewaySslCertificatePropertiesFormat ApplicationGatewaySslCertificatePropertiesFormat + err = json.Unmarshal(*v, &applicationGatewaySslCertificatePropertiesFormat) + if err != nil { + return err + } + agsc.ApplicationGatewaySslCertificatePropertiesFormat = &applicationGatewaySslCertificatePropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + agsc.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + agsc.Etag = &etag + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + agsc.Type = &typeVar + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + agsc.ID = &ID + } + } + } + + return nil +} + +// ApplicationGatewaySslCertificatePropertiesFormat properties of SSL certificates of an application +// gateway. +type ApplicationGatewaySslCertificatePropertiesFormat struct { + // Data - Base-64 encoded pfx certificate. Only applicable in PUT Request. + Data *string `json:"data,omitempty"` + // Password - Password for the pfx file specified in data. Only applicable in PUT request. + Password *string `json:"password,omitempty"` + // PublicCertData - Base-64 encoded Public cert data corresponding to pfx specified in data. Only applicable in GET request. + PublicCertData *string `json:"publicCertData,omitempty"` + // KeyVaultSecretID - Secret Id of (base-64 encoded unencrypted pfx) 'Secret' or 'Certificate' object stored in KeyVault. + KeyVaultSecretID *string `json:"keyVaultSecretId,omitempty"` + // ProvisioningState - The provisioning state of the SSL certificate resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// ApplicationGatewaySslPolicy application Gateway Ssl policy. +type ApplicationGatewaySslPolicy struct { + // DisabledSslProtocols - Ssl protocols to be disabled on application gateway. + DisabledSslProtocols *[]ApplicationGatewaySslProtocol `json:"disabledSslProtocols,omitempty"` + // PolicyType - Type of Ssl Policy. Possible values include: 'Predefined', 'Custom' + PolicyType ApplicationGatewaySslPolicyType `json:"policyType,omitempty"` + // PolicyName - Name of Ssl predefined policy. Possible values include: 'AppGwSslPolicy20150501', 'AppGwSslPolicy20170401', 'AppGwSslPolicy20170401S' + PolicyName ApplicationGatewaySslPolicyName `json:"policyName,omitempty"` + // CipherSuites - Ssl cipher suites to be enabled in the specified order to application gateway. + CipherSuites *[]ApplicationGatewaySslCipherSuite `json:"cipherSuites,omitempty"` + // MinProtocolVersion - Minimum version of Ssl protocol to be supported on application gateway. Possible values include: 'TLSv10', 'TLSv11', 'TLSv12' + MinProtocolVersion ApplicationGatewaySslProtocol `json:"minProtocolVersion,omitempty"` +} + +// ApplicationGatewaySslPredefinedPolicy an Ssl predefined policy. +type ApplicationGatewaySslPredefinedPolicy struct { + autorest.Response `json:"-"` + // Name - Name of the Ssl predefined policy. + Name *string `json:"name,omitempty"` + // ApplicationGatewaySslPredefinedPolicyPropertiesFormat - Properties of the application gateway SSL predefined policy. + *ApplicationGatewaySslPredefinedPolicyPropertiesFormat `json:"properties,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for ApplicationGatewaySslPredefinedPolicy. +func (agspp ApplicationGatewaySslPredefinedPolicy) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if agspp.Name != nil { + objectMap["name"] = agspp.Name + } + if agspp.ApplicationGatewaySslPredefinedPolicyPropertiesFormat != nil { + objectMap["properties"] = agspp.ApplicationGatewaySslPredefinedPolicyPropertiesFormat + } + if agspp.ID != nil { + objectMap["id"] = agspp.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ApplicationGatewaySslPredefinedPolicy struct. +func (agspp *ApplicationGatewaySslPredefinedPolicy) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + agspp.Name = &name + } + case "properties": + if v != nil { + var applicationGatewaySslPredefinedPolicyPropertiesFormat ApplicationGatewaySslPredefinedPolicyPropertiesFormat + err = json.Unmarshal(*v, &applicationGatewaySslPredefinedPolicyPropertiesFormat) + if err != nil { + return err + } + agspp.ApplicationGatewaySslPredefinedPolicyPropertiesFormat = &applicationGatewaySslPredefinedPolicyPropertiesFormat + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + agspp.ID = &ID + } + } + } + + return nil +} + +// ApplicationGatewaySslPredefinedPolicyPropertiesFormat properties of +// ApplicationGatewaySslPredefinedPolicy. +type ApplicationGatewaySslPredefinedPolicyPropertiesFormat struct { + // CipherSuites - Ssl cipher suites to be enabled in the specified order for application gateway. + CipherSuites *[]ApplicationGatewaySslCipherSuite `json:"cipherSuites,omitempty"` + // MinProtocolVersion - Minimum version of Ssl protocol to be supported on application gateway. Possible values include: 'TLSv10', 'TLSv11', 'TLSv12' + MinProtocolVersion ApplicationGatewaySslProtocol `json:"minProtocolVersion,omitempty"` +} + +// ApplicationGatewaysStartFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type ApplicationGatewaysStartFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ApplicationGatewaysStartFuture) Result(client ApplicationGatewaysClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysStartFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.ApplicationGatewaysStartFuture") + return + } + ar.Response = future.Response() + return +} + +// ApplicationGatewaysStopFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type ApplicationGatewaysStopFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ApplicationGatewaysStopFuture) Result(client ApplicationGatewaysClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysStopFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.ApplicationGatewaysStopFuture") + return + } + ar.Response = future.Response() + return +} + +// ApplicationGatewaysUpdateTagsFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type ApplicationGatewaysUpdateTagsFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ApplicationGatewaysUpdateTagsFuture) Result(client ApplicationGatewaysClient) (ag ApplicationGateway, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysUpdateTagsFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.ApplicationGatewaysUpdateTagsFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if ag.Response.Response, err = future.GetResult(sender); err == nil && ag.Response.Response.StatusCode != http.StatusNoContent { + ag, err = client.UpdateTagsResponder(ag.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationGatewaysUpdateTagsFuture", "Result", ag.Response.Response, "Failure responding to request") + } + } + return +} + +// ApplicationGatewayTrustedRootCertificate trusted Root certificates of an application gateway. +type ApplicationGatewayTrustedRootCertificate struct { + // ApplicationGatewayTrustedRootCertificatePropertiesFormat - Properties of the application gateway trusted root certificate. + *ApplicationGatewayTrustedRootCertificatePropertiesFormat `json:"properties,omitempty"` + // Name - Name of the trusted root certificate that is unique within an Application Gateway. + Name *string `json:"name,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // Type - Type of the resource. + Type *string `json:"type,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for ApplicationGatewayTrustedRootCertificate. +func (agtrc ApplicationGatewayTrustedRootCertificate) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if agtrc.ApplicationGatewayTrustedRootCertificatePropertiesFormat != nil { + objectMap["properties"] = agtrc.ApplicationGatewayTrustedRootCertificatePropertiesFormat + } + if agtrc.Name != nil { + objectMap["name"] = agtrc.Name + } + if agtrc.Etag != nil { + objectMap["etag"] = agtrc.Etag + } + if agtrc.Type != nil { + objectMap["type"] = agtrc.Type + } + if agtrc.ID != nil { + objectMap["id"] = agtrc.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ApplicationGatewayTrustedRootCertificate struct. +func (agtrc *ApplicationGatewayTrustedRootCertificate) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var applicationGatewayTrustedRootCertificatePropertiesFormat ApplicationGatewayTrustedRootCertificatePropertiesFormat + err = json.Unmarshal(*v, &applicationGatewayTrustedRootCertificatePropertiesFormat) + if err != nil { + return err + } + agtrc.ApplicationGatewayTrustedRootCertificatePropertiesFormat = &applicationGatewayTrustedRootCertificatePropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + agtrc.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + agtrc.Etag = &etag + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + agtrc.Type = &typeVar + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + agtrc.ID = &ID + } + } + } + + return nil +} + +// ApplicationGatewayTrustedRootCertificatePropertiesFormat trusted Root certificates properties of an +// application gateway. +type ApplicationGatewayTrustedRootCertificatePropertiesFormat struct { + // Data - Certificate public data. + Data *string `json:"data,omitempty"` + // KeyVaultSecretID - Secret Id of (base-64 encoded unencrypted pfx) 'Secret' or 'Certificate' object stored in KeyVault. + KeyVaultSecretID *string `json:"keyVaultSecretId,omitempty"` + // ProvisioningState - The provisioning state of the trusted root certificate resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// ApplicationGatewayURLPathMap urlPathMaps give a url path to the backend mapping information for +// PathBasedRouting. +type ApplicationGatewayURLPathMap struct { + // ApplicationGatewayURLPathMapPropertiesFormat - Properties of the application gateway URL path map. + *ApplicationGatewayURLPathMapPropertiesFormat `json:"properties,omitempty"` + // Name - Name of the URL path map that is unique within an Application Gateway. + Name *string `json:"name,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // Type - Type of the resource. + Type *string `json:"type,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for ApplicationGatewayURLPathMap. +func (agupm ApplicationGatewayURLPathMap) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if agupm.ApplicationGatewayURLPathMapPropertiesFormat != nil { + objectMap["properties"] = agupm.ApplicationGatewayURLPathMapPropertiesFormat + } + if agupm.Name != nil { + objectMap["name"] = agupm.Name + } + if agupm.Etag != nil { + objectMap["etag"] = agupm.Etag + } + if agupm.Type != nil { + objectMap["type"] = agupm.Type + } + if agupm.ID != nil { + objectMap["id"] = agupm.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ApplicationGatewayURLPathMap struct. +func (agupm *ApplicationGatewayURLPathMap) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var applicationGatewayURLPathMapPropertiesFormat ApplicationGatewayURLPathMapPropertiesFormat + err = json.Unmarshal(*v, &applicationGatewayURLPathMapPropertiesFormat) + if err != nil { + return err + } + agupm.ApplicationGatewayURLPathMapPropertiesFormat = &applicationGatewayURLPathMapPropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + agupm.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + agupm.Etag = &etag + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + agupm.Type = &typeVar + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + agupm.ID = &ID + } + } + } + + return nil +} + +// ApplicationGatewayURLPathMapPropertiesFormat properties of UrlPathMap of the application gateway. +type ApplicationGatewayURLPathMapPropertiesFormat struct { + // DefaultBackendAddressPool - Default backend address pool resource of URL path map. + DefaultBackendAddressPool *SubResource `json:"defaultBackendAddressPool,omitempty"` + // DefaultBackendHTTPSettings - Default backend http settings resource of URL path map. + DefaultBackendHTTPSettings *SubResource `json:"defaultBackendHttpSettings,omitempty"` + // DefaultRewriteRuleSet - Default Rewrite rule set resource of URL path map. + DefaultRewriteRuleSet *SubResource `json:"defaultRewriteRuleSet,omitempty"` + // DefaultRedirectConfiguration - Default redirect configuration resource of URL path map. + DefaultRedirectConfiguration *SubResource `json:"defaultRedirectConfiguration,omitempty"` + // PathRules - Path rule of URL path map resource. + PathRules *[]ApplicationGatewayPathRule `json:"pathRules,omitempty"` + // ProvisioningState - The provisioning state of the URL path map resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// ApplicationGatewayWebApplicationFirewallConfiguration application gateway web application firewall +// configuration. +type ApplicationGatewayWebApplicationFirewallConfiguration struct { + // Enabled - Whether the web application firewall is enabled or not. + Enabled *bool `json:"enabled,omitempty"` + // FirewallMode - Web application firewall mode. Possible values include: 'Detection', 'Prevention' + FirewallMode ApplicationGatewayFirewallMode `json:"firewallMode,omitempty"` + // RuleSetType - The type of the web application firewall rule set. Possible values are: 'OWASP'. + RuleSetType *string `json:"ruleSetType,omitempty"` + // RuleSetVersion - The version of the rule set type. + RuleSetVersion *string `json:"ruleSetVersion,omitempty"` + // DisabledRuleGroups - The disabled rule groups. + DisabledRuleGroups *[]ApplicationGatewayFirewallDisabledRuleGroup `json:"disabledRuleGroups,omitempty"` + // RequestBodyCheck - Whether allow WAF to check request Body. + RequestBodyCheck *bool `json:"requestBodyCheck,omitempty"` + // MaxRequestBodySize - Maximum request body size for WAF. + MaxRequestBodySize *int32 `json:"maxRequestBodySize,omitempty"` + // MaxRequestBodySizeInKb - Maximum request body size in Kb for WAF. + MaxRequestBodySizeInKb *int32 `json:"maxRequestBodySizeInKb,omitempty"` + // FileUploadLimitInMb - Maximum file upload size in Mb for WAF. + FileUploadLimitInMb *int32 `json:"fileUploadLimitInMb,omitempty"` + // Exclusions - The exclusion list. + Exclusions *[]ApplicationGatewayFirewallExclusion `json:"exclusions,omitempty"` +} + +// ApplicationRuleCondition rule condition of type application. +type ApplicationRuleCondition struct { + // SourceAddresses - List of source IP addresses for this rule. + SourceAddresses *[]string `json:"sourceAddresses,omitempty"` + // DestinationAddresses - List of destination IP addresses or Service Tags. + DestinationAddresses *[]string `json:"destinationAddresses,omitempty"` + // Protocols - Array of Application Protocols. + Protocols *[]FirewallPolicyRuleConditionApplicationProtocol `json:"protocols,omitempty"` + // TargetFqdns - List of FQDNs for this rule condition. + TargetFqdns *[]string `json:"targetFqdns,omitempty"` + // FqdnTags - List of FQDN Tags for this rule condition. + FqdnTags *[]string `json:"fqdnTags,omitempty"` + // Name - Name of the rule condition. + Name *string `json:"name,omitempty"` + // Description - Description of the rule condition. + Description *string `json:"description,omitempty"` + // RuleConditionType - Possible values include: 'RuleConditionTypeFirewallPolicyRuleCondition', 'RuleConditionTypeApplicationRuleCondition', 'RuleConditionTypeNetworkRuleCondition' + RuleConditionType RuleConditionType `json:"ruleConditionType,omitempty"` +} + +// MarshalJSON is the custom marshaler for ApplicationRuleCondition. +func (arc ApplicationRuleCondition) MarshalJSON() ([]byte, error) { + arc.RuleConditionType = RuleConditionTypeApplicationRuleCondition + objectMap := make(map[string]interface{}) + if arc.SourceAddresses != nil { + objectMap["sourceAddresses"] = arc.SourceAddresses + } + if arc.DestinationAddresses != nil { + objectMap["destinationAddresses"] = arc.DestinationAddresses + } + if arc.Protocols != nil { + objectMap["protocols"] = arc.Protocols + } + if arc.TargetFqdns != nil { + objectMap["targetFqdns"] = arc.TargetFqdns + } + if arc.FqdnTags != nil { + objectMap["fqdnTags"] = arc.FqdnTags + } + if arc.Name != nil { + objectMap["name"] = arc.Name + } + if arc.Description != nil { + objectMap["description"] = arc.Description + } + if arc.RuleConditionType != "" { + objectMap["ruleConditionType"] = arc.RuleConditionType + } + return json.Marshal(objectMap) +} + +// AsApplicationRuleCondition is the BasicFirewallPolicyRuleCondition implementation for ApplicationRuleCondition. +func (arc ApplicationRuleCondition) AsApplicationRuleCondition() (*ApplicationRuleCondition, bool) { + return &arc, true +} + +// AsRuleCondition is the BasicFirewallPolicyRuleCondition implementation for ApplicationRuleCondition. +func (arc ApplicationRuleCondition) AsRuleCondition() (*RuleCondition, bool) { + return nil, false +} + +// AsFirewallPolicyRuleCondition is the BasicFirewallPolicyRuleCondition implementation for ApplicationRuleCondition. +func (arc ApplicationRuleCondition) AsFirewallPolicyRuleCondition() (*FirewallPolicyRuleCondition, bool) { + return nil, false +} + +// AsBasicFirewallPolicyRuleCondition is the BasicFirewallPolicyRuleCondition implementation for ApplicationRuleCondition. +func (arc ApplicationRuleCondition) AsBasicFirewallPolicyRuleCondition() (BasicFirewallPolicyRuleCondition, bool) { + return &arc, true +} + +// ApplicationSecurityGroup an application security group in a resource group. +type ApplicationSecurityGroup struct { + autorest.Response `json:"-"` + // ApplicationSecurityGroupPropertiesFormat - Properties of the application security group. + *ApplicationSecurityGroupPropertiesFormat `json:"properties,omitempty"` + // Etag - READ-ONLY; A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for ApplicationSecurityGroup. +func (asg ApplicationSecurityGroup) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if asg.ApplicationSecurityGroupPropertiesFormat != nil { + objectMap["properties"] = asg.ApplicationSecurityGroupPropertiesFormat + } + if asg.ID != nil { + objectMap["id"] = asg.ID + } + if asg.Location != nil { + objectMap["location"] = asg.Location + } + if asg.Tags != nil { + objectMap["tags"] = asg.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ApplicationSecurityGroup struct. +func (asg *ApplicationSecurityGroup) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var applicationSecurityGroupPropertiesFormat ApplicationSecurityGroupPropertiesFormat + err = json.Unmarshal(*v, &applicationSecurityGroupPropertiesFormat) + if err != nil { + return err + } + asg.ApplicationSecurityGroupPropertiesFormat = &applicationSecurityGroupPropertiesFormat + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + asg.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + asg.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + asg.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + asg.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + asg.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + asg.Tags = tags + } + } + } + + return nil +} + +// ApplicationSecurityGroupListResult a list of application security groups. +type ApplicationSecurityGroupListResult struct { + autorest.Response `json:"-"` + // Value - A list of application security groups. + Value *[]ApplicationSecurityGroup `json:"value,omitempty"` + // NextLink - READ-ONLY; The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// ApplicationSecurityGroupListResultIterator provides access to a complete listing of +// ApplicationSecurityGroup values. +type ApplicationSecurityGroupListResultIterator struct { + i int + page ApplicationSecurityGroupListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *ApplicationSecurityGroupListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationSecurityGroupListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *ApplicationSecurityGroupListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter ApplicationSecurityGroupListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter ApplicationSecurityGroupListResultIterator) Response() ApplicationSecurityGroupListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter ApplicationSecurityGroupListResultIterator) Value() ApplicationSecurityGroup { + if !iter.page.NotDone() { + return ApplicationSecurityGroup{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the ApplicationSecurityGroupListResultIterator type. +func NewApplicationSecurityGroupListResultIterator(page ApplicationSecurityGroupListResultPage) ApplicationSecurityGroupListResultIterator { + return ApplicationSecurityGroupListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (asglr ApplicationSecurityGroupListResult) IsEmpty() bool { + return asglr.Value == nil || len(*asglr.Value) == 0 +} + +// applicationSecurityGroupListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (asglr ApplicationSecurityGroupListResult) applicationSecurityGroupListResultPreparer(ctx context.Context) (*http.Request, error) { + if asglr.NextLink == nil || len(to.String(asglr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(asglr.NextLink))) +} + +// ApplicationSecurityGroupListResultPage contains a page of ApplicationSecurityGroup values. +type ApplicationSecurityGroupListResultPage struct { + fn func(context.Context, ApplicationSecurityGroupListResult) (ApplicationSecurityGroupListResult, error) + asglr ApplicationSecurityGroupListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *ApplicationSecurityGroupListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationSecurityGroupListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.asglr) + if err != nil { + return err + } + page.asglr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *ApplicationSecurityGroupListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page ApplicationSecurityGroupListResultPage) NotDone() bool { + return !page.asglr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page ApplicationSecurityGroupListResultPage) Response() ApplicationSecurityGroupListResult { + return page.asglr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page ApplicationSecurityGroupListResultPage) Values() []ApplicationSecurityGroup { + if page.asglr.IsEmpty() { + return nil + } + return *page.asglr.Value +} + +// Creates a new instance of the ApplicationSecurityGroupListResultPage type. +func NewApplicationSecurityGroupListResultPage(getNextPage func(context.Context, ApplicationSecurityGroupListResult) (ApplicationSecurityGroupListResult, error)) ApplicationSecurityGroupListResultPage { + return ApplicationSecurityGroupListResultPage{fn: getNextPage} +} + +// ApplicationSecurityGroupPropertiesFormat application security group properties. +type ApplicationSecurityGroupPropertiesFormat struct { + // ResourceGUID - READ-ONLY; The resource GUID property of the application security group resource. It uniquely identifies a resource, even if the user changes its name or migrate the resource across subscriptions or resource groups. + ResourceGUID *string `json:"resourceGuid,omitempty"` + // ProvisioningState - READ-ONLY; The provisioning state of the application security group resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// ApplicationSecurityGroupsCreateOrUpdateFuture an abstraction for monitoring and retrieving the results +// of a long-running operation. +type ApplicationSecurityGroupsCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ApplicationSecurityGroupsCreateOrUpdateFuture) Result(client ApplicationSecurityGroupsClient) (asg ApplicationSecurityGroup, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationSecurityGroupsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.ApplicationSecurityGroupsCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if asg.Response.Response, err = future.GetResult(sender); err == nil && asg.Response.Response.StatusCode != http.StatusNoContent { + asg, err = client.CreateOrUpdateResponder(asg.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationSecurityGroupsCreateOrUpdateFuture", "Result", asg.Response.Response, "Failure responding to request") + } + } + return +} + +// ApplicationSecurityGroupsDeleteFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type ApplicationSecurityGroupsDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ApplicationSecurityGroupsDeleteFuture) Result(client ApplicationSecurityGroupsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationSecurityGroupsDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.ApplicationSecurityGroupsDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// ApplicationSecurityGroupsUpdateTagsFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type ApplicationSecurityGroupsUpdateTagsFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ApplicationSecurityGroupsUpdateTagsFuture) Result(client ApplicationSecurityGroupsClient) (asg ApplicationSecurityGroup, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationSecurityGroupsUpdateTagsFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.ApplicationSecurityGroupsUpdateTagsFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if asg.Response.Response, err = future.GetResult(sender); err == nil && asg.Response.Response.StatusCode != http.StatusNoContent { + asg, err = client.UpdateTagsResponder(asg.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ApplicationSecurityGroupsUpdateTagsFuture", "Result", asg.Response.Response, "Failure responding to request") + } + } + return +} + +// AuthorizationListResult response for ListAuthorizations API service call retrieves all authorizations +// that belongs to an ExpressRouteCircuit. +type AuthorizationListResult struct { + autorest.Response `json:"-"` + // Value - The authorizations in an ExpressRoute Circuit. + Value *[]ExpressRouteCircuitAuthorization `json:"value,omitempty"` + // NextLink - The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// AuthorizationListResultIterator provides access to a complete listing of +// ExpressRouteCircuitAuthorization values. +type AuthorizationListResultIterator struct { + i int + page AuthorizationListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *AuthorizationListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AuthorizationListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *AuthorizationListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter AuthorizationListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter AuthorizationListResultIterator) Response() AuthorizationListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter AuthorizationListResultIterator) Value() ExpressRouteCircuitAuthorization { + if !iter.page.NotDone() { + return ExpressRouteCircuitAuthorization{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the AuthorizationListResultIterator type. +func NewAuthorizationListResultIterator(page AuthorizationListResultPage) AuthorizationListResultIterator { + return AuthorizationListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (alr AuthorizationListResult) IsEmpty() bool { + return alr.Value == nil || len(*alr.Value) == 0 +} + +// authorizationListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (alr AuthorizationListResult) authorizationListResultPreparer(ctx context.Context) (*http.Request, error) { + if alr.NextLink == nil || len(to.String(alr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(alr.NextLink))) +} + +// AuthorizationListResultPage contains a page of ExpressRouteCircuitAuthorization values. +type AuthorizationListResultPage struct { + fn func(context.Context, AuthorizationListResult) (AuthorizationListResult, error) + alr AuthorizationListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *AuthorizationListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AuthorizationListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.alr) + if err != nil { + return err + } + page.alr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *AuthorizationListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page AuthorizationListResultPage) NotDone() bool { + return !page.alr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page AuthorizationListResultPage) Response() AuthorizationListResult { + return page.alr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page AuthorizationListResultPage) Values() []ExpressRouteCircuitAuthorization { + if page.alr.IsEmpty() { + return nil + } + return *page.alr.Value +} + +// Creates a new instance of the AuthorizationListResultPage type. +func NewAuthorizationListResultPage(getNextPage func(context.Context, AuthorizationListResult) (AuthorizationListResult, error)) AuthorizationListResultPage { + return AuthorizationListResultPage{fn: getNextPage} +} + +// AuthorizationPropertiesFormat properties of ExpressRouteCircuitAuthorization. +type AuthorizationPropertiesFormat struct { + // AuthorizationKey - The authorization key. + AuthorizationKey *string `json:"authorizationKey,omitempty"` + // AuthorizationUseStatus - The authorization use status. Possible values include: 'Available', 'InUse' + AuthorizationUseStatus AuthorizationUseStatus `json:"authorizationUseStatus,omitempty"` + // ProvisioningState - The provisioning state of the authorization resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// AutoApprovedPrivateLinkService the information of an AutoApprovedPrivateLinkService. +type AutoApprovedPrivateLinkService struct { + // PrivateLinkService - The id of the private link service resource. + PrivateLinkService *string `json:"privateLinkService,omitempty"` +} + +// AutoApprovedPrivateLinkServicesResult an array of private link service id that can be linked to a +// private end point with auto approved. +type AutoApprovedPrivateLinkServicesResult struct { + autorest.Response `json:"-"` + // Value - An array of auto approved private link service. + Value *[]AutoApprovedPrivateLinkService `json:"value,omitempty"` + // NextLink - READ-ONLY; The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// AutoApprovedPrivateLinkServicesResultIterator provides access to a complete listing of +// AutoApprovedPrivateLinkService values. +type AutoApprovedPrivateLinkServicesResultIterator struct { + i int + page AutoApprovedPrivateLinkServicesResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *AutoApprovedPrivateLinkServicesResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AutoApprovedPrivateLinkServicesResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *AutoApprovedPrivateLinkServicesResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter AutoApprovedPrivateLinkServicesResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter AutoApprovedPrivateLinkServicesResultIterator) Response() AutoApprovedPrivateLinkServicesResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter AutoApprovedPrivateLinkServicesResultIterator) Value() AutoApprovedPrivateLinkService { + if !iter.page.NotDone() { + return AutoApprovedPrivateLinkService{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the AutoApprovedPrivateLinkServicesResultIterator type. +func NewAutoApprovedPrivateLinkServicesResultIterator(page AutoApprovedPrivateLinkServicesResultPage) AutoApprovedPrivateLinkServicesResultIterator { + return AutoApprovedPrivateLinkServicesResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (aaplsr AutoApprovedPrivateLinkServicesResult) IsEmpty() bool { + return aaplsr.Value == nil || len(*aaplsr.Value) == 0 +} + +// autoApprovedPrivateLinkServicesResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (aaplsr AutoApprovedPrivateLinkServicesResult) autoApprovedPrivateLinkServicesResultPreparer(ctx context.Context) (*http.Request, error) { + if aaplsr.NextLink == nil || len(to.String(aaplsr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(aaplsr.NextLink))) +} + +// AutoApprovedPrivateLinkServicesResultPage contains a page of AutoApprovedPrivateLinkService values. +type AutoApprovedPrivateLinkServicesResultPage struct { + fn func(context.Context, AutoApprovedPrivateLinkServicesResult) (AutoApprovedPrivateLinkServicesResult, error) + aaplsr AutoApprovedPrivateLinkServicesResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *AutoApprovedPrivateLinkServicesResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AutoApprovedPrivateLinkServicesResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.aaplsr) + if err != nil { + return err + } + page.aaplsr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *AutoApprovedPrivateLinkServicesResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page AutoApprovedPrivateLinkServicesResultPage) NotDone() bool { + return !page.aaplsr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page AutoApprovedPrivateLinkServicesResultPage) Response() AutoApprovedPrivateLinkServicesResult { + return page.aaplsr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page AutoApprovedPrivateLinkServicesResultPage) Values() []AutoApprovedPrivateLinkService { + if page.aaplsr.IsEmpty() { + return nil + } + return *page.aaplsr.Value +} + +// Creates a new instance of the AutoApprovedPrivateLinkServicesResultPage type. +func NewAutoApprovedPrivateLinkServicesResultPage(getNextPage func(context.Context, AutoApprovedPrivateLinkServicesResult) (AutoApprovedPrivateLinkServicesResult, error)) AutoApprovedPrivateLinkServicesResultPage { + return AutoApprovedPrivateLinkServicesResultPage{fn: getNextPage} +} + +// Availability availability of the metric. +type Availability struct { + // TimeGrain - The time grain of the availability. + TimeGrain *string `json:"timeGrain,omitempty"` + // Retention - The retention of the availability. + Retention *string `json:"retention,omitempty"` + // BlobDuration - Duration of the availability blob. + BlobDuration *string `json:"blobDuration,omitempty"` +} + +// AvailableDelegation the serviceName of an AvailableDelegation indicates a possible delegation for a +// subnet. +type AvailableDelegation struct { + // Name - The name of the AvailableDelegation resource. + Name *string `json:"name,omitempty"` + // ID - A unique identifier of the AvailableDelegation resource. + ID *string `json:"id,omitempty"` + // Type - Resource type. + Type *string `json:"type,omitempty"` + // ServiceName - The name of the service and resource. + ServiceName *string `json:"serviceName,omitempty"` + // Actions - Describes the actions permitted to the service upon delegation. + Actions *[]string `json:"actions,omitempty"` +} + +// AvailableDelegationsResult an array of available delegations. +type AvailableDelegationsResult struct { + autorest.Response `json:"-"` + // Value - An array of available delegations. + Value *[]AvailableDelegation `json:"value,omitempty"` + // NextLink - READ-ONLY; The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// AvailableDelegationsResultIterator provides access to a complete listing of AvailableDelegation values. +type AvailableDelegationsResultIterator struct { + i int + page AvailableDelegationsResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *AvailableDelegationsResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AvailableDelegationsResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *AvailableDelegationsResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter AvailableDelegationsResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter AvailableDelegationsResultIterator) Response() AvailableDelegationsResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter AvailableDelegationsResultIterator) Value() AvailableDelegation { + if !iter.page.NotDone() { + return AvailableDelegation{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the AvailableDelegationsResultIterator type. +func NewAvailableDelegationsResultIterator(page AvailableDelegationsResultPage) AvailableDelegationsResultIterator { + return AvailableDelegationsResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (adr AvailableDelegationsResult) IsEmpty() bool { + return adr.Value == nil || len(*adr.Value) == 0 +} + +// availableDelegationsResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (adr AvailableDelegationsResult) availableDelegationsResultPreparer(ctx context.Context) (*http.Request, error) { + if adr.NextLink == nil || len(to.String(adr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(adr.NextLink))) +} + +// AvailableDelegationsResultPage contains a page of AvailableDelegation values. +type AvailableDelegationsResultPage struct { + fn func(context.Context, AvailableDelegationsResult) (AvailableDelegationsResult, error) + adr AvailableDelegationsResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *AvailableDelegationsResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AvailableDelegationsResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.adr) + if err != nil { + return err + } + page.adr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *AvailableDelegationsResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page AvailableDelegationsResultPage) NotDone() bool { + return !page.adr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page AvailableDelegationsResultPage) Response() AvailableDelegationsResult { + return page.adr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page AvailableDelegationsResultPage) Values() []AvailableDelegation { + if page.adr.IsEmpty() { + return nil + } + return *page.adr.Value +} + +// Creates a new instance of the AvailableDelegationsResultPage type. +func NewAvailableDelegationsResultPage(getNextPage func(context.Context, AvailableDelegationsResult) (AvailableDelegationsResult, error)) AvailableDelegationsResultPage { + return AvailableDelegationsResultPage{fn: getNextPage} +} + +// AvailablePrivateEndpointType the information of an AvailablePrivateEndpointType. +type AvailablePrivateEndpointType struct { + // Name - The name of the service and resource. + Name *string `json:"name,omitempty"` + // ID - A unique identifier of the AvailablePrivateEndpoint Type resource. + ID *string `json:"id,omitempty"` + // Type - Resource type. + Type *string `json:"type,omitempty"` + // ResourceName - The name of the service and resource. + ResourceName *string `json:"resourceName,omitempty"` +} + +// AvailablePrivateEndpointTypesResult an array of available PrivateEndpoint types. +type AvailablePrivateEndpointTypesResult struct { + autorest.Response `json:"-"` + // Value - An array of available privateEndpoint type. + Value *[]AvailablePrivateEndpointType `json:"value,omitempty"` + // NextLink - READ-ONLY; The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// AvailablePrivateEndpointTypesResultIterator provides access to a complete listing of +// AvailablePrivateEndpointType values. +type AvailablePrivateEndpointTypesResultIterator struct { + i int + page AvailablePrivateEndpointTypesResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *AvailablePrivateEndpointTypesResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AvailablePrivateEndpointTypesResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *AvailablePrivateEndpointTypesResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter AvailablePrivateEndpointTypesResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter AvailablePrivateEndpointTypesResultIterator) Response() AvailablePrivateEndpointTypesResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter AvailablePrivateEndpointTypesResultIterator) Value() AvailablePrivateEndpointType { + if !iter.page.NotDone() { + return AvailablePrivateEndpointType{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the AvailablePrivateEndpointTypesResultIterator type. +func NewAvailablePrivateEndpointTypesResultIterator(page AvailablePrivateEndpointTypesResultPage) AvailablePrivateEndpointTypesResultIterator { + return AvailablePrivateEndpointTypesResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (apetr AvailablePrivateEndpointTypesResult) IsEmpty() bool { + return apetr.Value == nil || len(*apetr.Value) == 0 +} + +// availablePrivateEndpointTypesResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (apetr AvailablePrivateEndpointTypesResult) availablePrivateEndpointTypesResultPreparer(ctx context.Context) (*http.Request, error) { + if apetr.NextLink == nil || len(to.String(apetr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(apetr.NextLink))) +} + +// AvailablePrivateEndpointTypesResultPage contains a page of AvailablePrivateEndpointType values. +type AvailablePrivateEndpointTypesResultPage struct { + fn func(context.Context, AvailablePrivateEndpointTypesResult) (AvailablePrivateEndpointTypesResult, error) + apetr AvailablePrivateEndpointTypesResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *AvailablePrivateEndpointTypesResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AvailablePrivateEndpointTypesResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.apetr) + if err != nil { + return err + } + page.apetr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *AvailablePrivateEndpointTypesResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page AvailablePrivateEndpointTypesResultPage) NotDone() bool { + return !page.apetr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page AvailablePrivateEndpointTypesResultPage) Response() AvailablePrivateEndpointTypesResult { + return page.apetr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page AvailablePrivateEndpointTypesResultPage) Values() []AvailablePrivateEndpointType { + if page.apetr.IsEmpty() { + return nil + } + return *page.apetr.Value +} + +// Creates a new instance of the AvailablePrivateEndpointTypesResultPage type. +func NewAvailablePrivateEndpointTypesResultPage(getNextPage func(context.Context, AvailablePrivateEndpointTypesResult) (AvailablePrivateEndpointTypesResult, error)) AvailablePrivateEndpointTypesResultPage { + return AvailablePrivateEndpointTypesResultPage{fn: getNextPage} +} + +// AvailableProvidersList list of available countries with details. +type AvailableProvidersList struct { + autorest.Response `json:"-"` + // Countries - List of available countries. + Countries *[]AvailableProvidersListCountry `json:"countries,omitempty"` +} + +// AvailableProvidersListCity city or town details. +type AvailableProvidersListCity struct { + // CityName - The city or town name. + CityName *string `json:"cityName,omitempty"` + // Providers - A list of Internet service providers. + Providers *[]string `json:"providers,omitempty"` +} + +// AvailableProvidersListCountry country details. +type AvailableProvidersListCountry struct { + // CountryName - The country name. + CountryName *string `json:"countryName,omitempty"` + // Providers - A list of Internet service providers. + Providers *[]string `json:"providers,omitempty"` + // States - List of available states in the country. + States *[]AvailableProvidersListState `json:"states,omitempty"` +} + +// AvailableProvidersListParameters constraints that determine the list of available Internet service +// providers. +type AvailableProvidersListParameters struct { + // AzureLocations - A list of Azure regions. + AzureLocations *[]string `json:"azureLocations,omitempty"` + // Country - The country for available providers list. + Country *string `json:"country,omitempty"` + // State - The state for available providers list. + State *string `json:"state,omitempty"` + // City - The city or town for available providers list. + City *string `json:"city,omitempty"` +} + +// AvailableProvidersListState state details. +type AvailableProvidersListState struct { + // StateName - The state name. + StateName *string `json:"stateName,omitempty"` + // Providers - A list of Internet service providers. + Providers *[]string `json:"providers,omitempty"` + // Cities - List of available cities or towns in the state. + Cities *[]AvailableProvidersListCity `json:"cities,omitempty"` +} + +// AvailableServiceAlias the available service alias. +type AvailableServiceAlias struct { + // Name - The name of the service alias. + Name *string `json:"name,omitempty"` + // ID - The ID of the service alias. + ID *string `json:"id,omitempty"` + // Type - The type of the resource. + Type *string `json:"type,omitempty"` + // ResourceName - The resource name of the service alias. + ResourceName *string `json:"resourceName,omitempty"` +} + +// AvailableServiceAliasesResult an array of available service aliases. +type AvailableServiceAliasesResult struct { + autorest.Response `json:"-"` + // Value - An array of available service aliases. + Value *[]AvailableServiceAlias `json:"value,omitempty"` + // NextLink - READ-ONLY; The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// AvailableServiceAliasesResultIterator provides access to a complete listing of AvailableServiceAlias +// values. +type AvailableServiceAliasesResultIterator struct { + i int + page AvailableServiceAliasesResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *AvailableServiceAliasesResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AvailableServiceAliasesResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *AvailableServiceAliasesResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter AvailableServiceAliasesResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter AvailableServiceAliasesResultIterator) Response() AvailableServiceAliasesResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter AvailableServiceAliasesResultIterator) Value() AvailableServiceAlias { + if !iter.page.NotDone() { + return AvailableServiceAlias{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the AvailableServiceAliasesResultIterator type. +func NewAvailableServiceAliasesResultIterator(page AvailableServiceAliasesResultPage) AvailableServiceAliasesResultIterator { + return AvailableServiceAliasesResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (asar AvailableServiceAliasesResult) IsEmpty() bool { + return asar.Value == nil || len(*asar.Value) == 0 +} + +// availableServiceAliasesResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (asar AvailableServiceAliasesResult) availableServiceAliasesResultPreparer(ctx context.Context) (*http.Request, error) { + if asar.NextLink == nil || len(to.String(asar.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(asar.NextLink))) +} + +// AvailableServiceAliasesResultPage contains a page of AvailableServiceAlias values. +type AvailableServiceAliasesResultPage struct { + fn func(context.Context, AvailableServiceAliasesResult) (AvailableServiceAliasesResult, error) + asar AvailableServiceAliasesResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *AvailableServiceAliasesResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AvailableServiceAliasesResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.asar) + if err != nil { + return err + } + page.asar = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *AvailableServiceAliasesResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page AvailableServiceAliasesResultPage) NotDone() bool { + return !page.asar.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page AvailableServiceAliasesResultPage) Response() AvailableServiceAliasesResult { + return page.asar +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page AvailableServiceAliasesResultPage) Values() []AvailableServiceAlias { + if page.asar.IsEmpty() { + return nil + } + return *page.asar.Value +} + +// Creates a new instance of the AvailableServiceAliasesResultPage type. +func NewAvailableServiceAliasesResultPage(getNextPage func(context.Context, AvailableServiceAliasesResult) (AvailableServiceAliasesResult, error)) AvailableServiceAliasesResultPage { + return AvailableServiceAliasesResultPage{fn: getNextPage} +} + +// AzureAsyncOperationResult the response body contains the status of the specified asynchronous operation, +// indicating whether it has succeeded, is in progress, or has failed. Note that this status is distinct +// from the HTTP status code returned for the Get Operation Status operation itself. If the asynchronous +// operation succeeded, the response body includes the HTTP status code for the successful request. If the +// asynchronous operation failed, the response body includes the HTTP status code for the failed request +// and error information regarding the failure. +type AzureAsyncOperationResult struct { + // Status - Status of the Azure async operation. Possible values include: 'OperationStatusInProgress', 'OperationStatusSucceeded', 'OperationStatusFailed' + Status OperationStatus `json:"status,omitempty"` + // Error - Details of the error occurred during specified asynchronous operation. + Error *Error `json:"error,omitempty"` +} + +// AzureFirewall azure Firewall resource. +type AzureFirewall struct { + autorest.Response `json:"-"` + // AzureFirewallPropertiesFormat - Properties of the azure firewall. + *AzureFirewallPropertiesFormat `json:"properties,omitempty"` + // Zones - A list of availability zones denoting where the resource needs to come from. + Zones *[]string `json:"zones,omitempty"` + // Etag - READ-ONLY; A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for AzureFirewall. +func (af AzureFirewall) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if af.AzureFirewallPropertiesFormat != nil { + objectMap["properties"] = af.AzureFirewallPropertiesFormat + } + if af.Zones != nil { + objectMap["zones"] = af.Zones + } + if af.ID != nil { + objectMap["id"] = af.ID + } + if af.Location != nil { + objectMap["location"] = af.Location + } + if af.Tags != nil { + objectMap["tags"] = af.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for AzureFirewall struct. +func (af *AzureFirewall) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var azureFirewallPropertiesFormat AzureFirewallPropertiesFormat + err = json.Unmarshal(*v, &azureFirewallPropertiesFormat) + if err != nil { + return err + } + af.AzureFirewallPropertiesFormat = &azureFirewallPropertiesFormat + } + case "zones": + if v != nil { + var zones []string + err = json.Unmarshal(*v, &zones) + if err != nil { + return err + } + af.Zones = &zones + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + af.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + af.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + af.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + af.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + af.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + af.Tags = tags + } + } + } + + return nil +} + +// AzureFirewallApplicationRule properties of an application rule. +type AzureFirewallApplicationRule struct { + // Name - Name of the application rule. + Name *string `json:"name,omitempty"` + // Description - Description of the rule. + Description *string `json:"description,omitempty"` + // SourceAddresses - List of source IP addresses for this rule. + SourceAddresses *[]string `json:"sourceAddresses,omitempty"` + // Protocols - Array of ApplicationRuleProtocols. + Protocols *[]AzureFirewallApplicationRuleProtocol `json:"protocols,omitempty"` + // TargetFqdns - List of FQDNs for this rule. + TargetFqdns *[]string `json:"targetFqdns,omitempty"` + // FqdnTags - List of FQDN Tags for this rule. + FqdnTags *[]string `json:"fqdnTags,omitempty"` +} + +// AzureFirewallApplicationRuleCollection application rule collection resource. +type AzureFirewallApplicationRuleCollection struct { + // AzureFirewallApplicationRuleCollectionPropertiesFormat - Properties of the azure firewall application rule collection. + *AzureFirewallApplicationRuleCollectionPropertiesFormat `json:"properties,omitempty"` + // Name - The name of the resource that is unique within the Azure firewall. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + // Etag - READ-ONLY; A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for AzureFirewallApplicationRuleCollection. +func (afarc AzureFirewallApplicationRuleCollection) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if afarc.AzureFirewallApplicationRuleCollectionPropertiesFormat != nil { + objectMap["properties"] = afarc.AzureFirewallApplicationRuleCollectionPropertiesFormat + } + if afarc.Name != nil { + objectMap["name"] = afarc.Name + } + if afarc.ID != nil { + objectMap["id"] = afarc.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for AzureFirewallApplicationRuleCollection struct. +func (afarc *AzureFirewallApplicationRuleCollection) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var azureFirewallApplicationRuleCollectionPropertiesFormat AzureFirewallApplicationRuleCollectionPropertiesFormat + err = json.Unmarshal(*v, &azureFirewallApplicationRuleCollectionPropertiesFormat) + if err != nil { + return err + } + afarc.AzureFirewallApplicationRuleCollectionPropertiesFormat = &azureFirewallApplicationRuleCollectionPropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + afarc.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + afarc.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + afarc.ID = &ID + } + } + } + + return nil +} + +// AzureFirewallApplicationRuleCollectionPropertiesFormat properties of the application rule collection. +type AzureFirewallApplicationRuleCollectionPropertiesFormat struct { + // Priority - Priority of the application rule collection resource. + Priority *int32 `json:"priority,omitempty"` + // Action - The action type of a rule collection. + Action *AzureFirewallRCAction `json:"action,omitempty"` + // Rules - Collection of rules used by a application rule collection. + Rules *[]AzureFirewallApplicationRule `json:"rules,omitempty"` + // ProvisioningState - The provisioning state of the application rule collection resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// AzureFirewallApplicationRuleProtocol properties of the application rule protocol. +type AzureFirewallApplicationRuleProtocol struct { + // ProtocolType - Protocol type. Possible values include: 'AzureFirewallApplicationRuleProtocolTypeHTTP', 'AzureFirewallApplicationRuleProtocolTypeHTTPS', 'AzureFirewallApplicationRuleProtocolTypeMssql' + ProtocolType AzureFirewallApplicationRuleProtocolType `json:"protocolType,omitempty"` + // Port - Port number for the protocol, cannot be greater than 64000. This field is optional. + Port *int32 `json:"port,omitempty"` +} + +// AzureFirewallFqdnTag azure Firewall FQDN Tag Resource. +type AzureFirewallFqdnTag struct { + // AzureFirewallFqdnTagPropertiesFormat - Properties of the azure firewall FQDN tag. + *AzureFirewallFqdnTagPropertiesFormat `json:"properties,omitempty"` + // Etag - READ-ONLY; A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for AzureFirewallFqdnTag. +func (afft AzureFirewallFqdnTag) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if afft.AzureFirewallFqdnTagPropertiesFormat != nil { + objectMap["properties"] = afft.AzureFirewallFqdnTagPropertiesFormat + } + if afft.ID != nil { + objectMap["id"] = afft.ID + } + if afft.Location != nil { + objectMap["location"] = afft.Location + } + if afft.Tags != nil { + objectMap["tags"] = afft.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for AzureFirewallFqdnTag struct. +func (afft *AzureFirewallFqdnTag) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var azureFirewallFqdnTagPropertiesFormat AzureFirewallFqdnTagPropertiesFormat + err = json.Unmarshal(*v, &azureFirewallFqdnTagPropertiesFormat) + if err != nil { + return err + } + afft.AzureFirewallFqdnTagPropertiesFormat = &azureFirewallFqdnTagPropertiesFormat + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + afft.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + afft.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + afft.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + afft.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + afft.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + afft.Tags = tags + } + } + } + + return nil +} + +// AzureFirewallFqdnTagListResult response for ListAzureFirewallFqdnTags API service call. +type AzureFirewallFqdnTagListResult struct { + autorest.Response `json:"-"` + // Value - List of Azure Firewall FQDN Tags in a resource group. + Value *[]AzureFirewallFqdnTag `json:"value,omitempty"` + // NextLink - URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// AzureFirewallFqdnTagListResultIterator provides access to a complete listing of AzureFirewallFqdnTag +// values. +type AzureFirewallFqdnTagListResultIterator struct { + i int + page AzureFirewallFqdnTagListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *AzureFirewallFqdnTagListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AzureFirewallFqdnTagListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *AzureFirewallFqdnTagListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter AzureFirewallFqdnTagListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter AzureFirewallFqdnTagListResultIterator) Response() AzureFirewallFqdnTagListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter AzureFirewallFqdnTagListResultIterator) Value() AzureFirewallFqdnTag { + if !iter.page.NotDone() { + return AzureFirewallFqdnTag{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the AzureFirewallFqdnTagListResultIterator type. +func NewAzureFirewallFqdnTagListResultIterator(page AzureFirewallFqdnTagListResultPage) AzureFirewallFqdnTagListResultIterator { + return AzureFirewallFqdnTagListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (afftlr AzureFirewallFqdnTagListResult) IsEmpty() bool { + return afftlr.Value == nil || len(*afftlr.Value) == 0 +} + +// azureFirewallFqdnTagListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (afftlr AzureFirewallFqdnTagListResult) azureFirewallFqdnTagListResultPreparer(ctx context.Context) (*http.Request, error) { + if afftlr.NextLink == nil || len(to.String(afftlr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(afftlr.NextLink))) +} + +// AzureFirewallFqdnTagListResultPage contains a page of AzureFirewallFqdnTag values. +type AzureFirewallFqdnTagListResultPage struct { + fn func(context.Context, AzureFirewallFqdnTagListResult) (AzureFirewallFqdnTagListResult, error) + afftlr AzureFirewallFqdnTagListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *AzureFirewallFqdnTagListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AzureFirewallFqdnTagListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.afftlr) + if err != nil { + return err + } + page.afftlr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *AzureFirewallFqdnTagListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page AzureFirewallFqdnTagListResultPage) NotDone() bool { + return !page.afftlr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page AzureFirewallFqdnTagListResultPage) Response() AzureFirewallFqdnTagListResult { + return page.afftlr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page AzureFirewallFqdnTagListResultPage) Values() []AzureFirewallFqdnTag { + if page.afftlr.IsEmpty() { + return nil + } + return *page.afftlr.Value +} + +// Creates a new instance of the AzureFirewallFqdnTagListResultPage type. +func NewAzureFirewallFqdnTagListResultPage(getNextPage func(context.Context, AzureFirewallFqdnTagListResult) (AzureFirewallFqdnTagListResult, error)) AzureFirewallFqdnTagListResultPage { + return AzureFirewallFqdnTagListResultPage{fn: getNextPage} +} + +// AzureFirewallFqdnTagPropertiesFormat azure Firewall FQDN Tag Properties. +type AzureFirewallFqdnTagPropertiesFormat struct { + // ProvisioningState - READ-ONLY; The provisioning state of the Azure firewall FQDN tag resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + // FqdnTagName - READ-ONLY; The name of this FQDN Tag. + FqdnTagName *string `json:"fqdnTagName,omitempty"` +} + +// AzureFirewallIPConfiguration IP configuration of an Azure Firewall. +type AzureFirewallIPConfiguration struct { + // AzureFirewallIPConfigurationPropertiesFormat - Properties of the azure firewall IP configuration. + *AzureFirewallIPConfigurationPropertiesFormat `json:"properties,omitempty"` + // Name - Name of the resource that is unique within a resource group. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + // Etag - READ-ONLY; A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for AzureFirewallIPConfiguration. +func (afic AzureFirewallIPConfiguration) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if afic.AzureFirewallIPConfigurationPropertiesFormat != nil { + objectMap["properties"] = afic.AzureFirewallIPConfigurationPropertiesFormat + } + if afic.Name != nil { + objectMap["name"] = afic.Name + } + if afic.ID != nil { + objectMap["id"] = afic.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for AzureFirewallIPConfiguration struct. +func (afic *AzureFirewallIPConfiguration) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var azureFirewallIPConfigurationPropertiesFormat AzureFirewallIPConfigurationPropertiesFormat + err = json.Unmarshal(*v, &azureFirewallIPConfigurationPropertiesFormat) + if err != nil { + return err + } + afic.AzureFirewallIPConfigurationPropertiesFormat = &azureFirewallIPConfigurationPropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + afic.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + afic.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + afic.ID = &ID + } + } + } + + return nil +} + +// AzureFirewallIPConfigurationPropertiesFormat properties of IP configuration of an Azure Firewall. +type AzureFirewallIPConfigurationPropertiesFormat struct { + // PrivateIPAddress - READ-ONLY; The Firewall Internal Load Balancer IP to be used as the next hop in User Defined Routes. + PrivateIPAddress *string `json:"privateIPAddress,omitempty"` + // Subnet - Reference of the subnet resource. This resource must be named 'AzureFirewallSubnet'. + Subnet *SubResource `json:"subnet,omitempty"` + // PublicIPAddress - Reference of the PublicIP resource. This field is a mandatory input if subnet is not null. + PublicIPAddress *SubResource `json:"publicIPAddress,omitempty"` + // ProvisioningState - The provisioning state of the Azure firewall IP configuration resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// AzureFirewallListResult response for ListAzureFirewalls API service call. +type AzureFirewallListResult struct { + autorest.Response `json:"-"` + // Value - List of Azure Firewalls in a resource group. + Value *[]AzureFirewall `json:"value,omitempty"` + // NextLink - URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// AzureFirewallListResultIterator provides access to a complete listing of AzureFirewall values. +type AzureFirewallListResultIterator struct { + i int + page AzureFirewallListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *AzureFirewallListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AzureFirewallListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *AzureFirewallListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter AzureFirewallListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter AzureFirewallListResultIterator) Response() AzureFirewallListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter AzureFirewallListResultIterator) Value() AzureFirewall { + if !iter.page.NotDone() { + return AzureFirewall{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the AzureFirewallListResultIterator type. +func NewAzureFirewallListResultIterator(page AzureFirewallListResultPage) AzureFirewallListResultIterator { + return AzureFirewallListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (aflr AzureFirewallListResult) IsEmpty() bool { + return aflr.Value == nil || len(*aflr.Value) == 0 +} + +// azureFirewallListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (aflr AzureFirewallListResult) azureFirewallListResultPreparer(ctx context.Context) (*http.Request, error) { + if aflr.NextLink == nil || len(to.String(aflr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(aflr.NextLink))) +} + +// AzureFirewallListResultPage contains a page of AzureFirewall values. +type AzureFirewallListResultPage struct { + fn func(context.Context, AzureFirewallListResult) (AzureFirewallListResult, error) + aflr AzureFirewallListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *AzureFirewallListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AzureFirewallListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.aflr) + if err != nil { + return err + } + page.aflr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *AzureFirewallListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page AzureFirewallListResultPage) NotDone() bool { + return !page.aflr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page AzureFirewallListResultPage) Response() AzureFirewallListResult { + return page.aflr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page AzureFirewallListResultPage) Values() []AzureFirewall { + if page.aflr.IsEmpty() { + return nil + } + return *page.aflr.Value +} + +// Creates a new instance of the AzureFirewallListResultPage type. +func NewAzureFirewallListResultPage(getNextPage func(context.Context, AzureFirewallListResult) (AzureFirewallListResult, error)) AzureFirewallListResultPage { + return AzureFirewallListResultPage{fn: getNextPage} +} + +// AzureFirewallNatRCAction azureFirewall NAT Rule Collection Action. +type AzureFirewallNatRCAction struct { + // Type - The type of action. Possible values include: 'Snat', 'Dnat' + Type AzureFirewallNatRCActionType `json:"type,omitempty"` +} + +// AzureFirewallNatRule properties of a NAT rule. +type AzureFirewallNatRule struct { + // Name - Name of the NAT rule. + Name *string `json:"name,omitempty"` + // Description - Description of the rule. + Description *string `json:"description,omitempty"` + // SourceAddresses - List of source IP addresses for this rule. + SourceAddresses *[]string `json:"sourceAddresses,omitempty"` + // DestinationAddresses - List of destination IP addresses for this rule. Supports IP ranges, prefixes, and service tags. + DestinationAddresses *[]string `json:"destinationAddresses,omitempty"` + // DestinationPorts - List of destination ports. + DestinationPorts *[]string `json:"destinationPorts,omitempty"` + // Protocols - Array of AzureFirewallNetworkRuleProtocols applicable to this NAT rule. + Protocols *[]AzureFirewallNetworkRuleProtocol `json:"protocols,omitempty"` + // TranslatedAddress - The translated address for this NAT rule. + TranslatedAddress *string `json:"translatedAddress,omitempty"` + // TranslatedPort - The translated port for this NAT rule. + TranslatedPort *string `json:"translatedPort,omitempty"` +} + +// AzureFirewallNatRuleCollection NAT rule collection resource. +type AzureFirewallNatRuleCollection struct { + // AzureFirewallNatRuleCollectionProperties - Properties of the azure firewall NAT rule collection. + *AzureFirewallNatRuleCollectionProperties `json:"properties,omitempty"` + // Name - The name of the resource that is unique within the Azure firewall. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + // Etag - READ-ONLY; A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for AzureFirewallNatRuleCollection. +func (afnrc AzureFirewallNatRuleCollection) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if afnrc.AzureFirewallNatRuleCollectionProperties != nil { + objectMap["properties"] = afnrc.AzureFirewallNatRuleCollectionProperties + } + if afnrc.Name != nil { + objectMap["name"] = afnrc.Name + } + if afnrc.ID != nil { + objectMap["id"] = afnrc.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for AzureFirewallNatRuleCollection struct. +func (afnrc *AzureFirewallNatRuleCollection) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var azureFirewallNatRuleCollectionProperties AzureFirewallNatRuleCollectionProperties + err = json.Unmarshal(*v, &azureFirewallNatRuleCollectionProperties) + if err != nil { + return err + } + afnrc.AzureFirewallNatRuleCollectionProperties = &azureFirewallNatRuleCollectionProperties + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + afnrc.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + afnrc.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + afnrc.ID = &ID + } + } + } + + return nil +} + +// AzureFirewallNatRuleCollectionProperties properties of the NAT rule collection. +type AzureFirewallNatRuleCollectionProperties struct { + // Priority - Priority of the NAT rule collection resource. + Priority *int32 `json:"priority,omitempty"` + // Action - The action type of a NAT rule collection. + Action *AzureFirewallNatRCAction `json:"action,omitempty"` + // Rules - Collection of rules used by a NAT rule collection. + Rules *[]AzureFirewallNatRule `json:"rules,omitempty"` + // ProvisioningState - The provisioning state of the NAT rule collection resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// AzureFirewallNetworkRule properties of the network rule. +type AzureFirewallNetworkRule struct { + // Name - Name of the network rule. + Name *string `json:"name,omitempty"` + // Description - Description of the rule. + Description *string `json:"description,omitempty"` + // Protocols - Array of AzureFirewallNetworkRuleProtocols. + Protocols *[]AzureFirewallNetworkRuleProtocol `json:"protocols,omitempty"` + // SourceAddresses - List of source IP addresses for this rule. + SourceAddresses *[]string `json:"sourceAddresses,omitempty"` + // DestinationAddresses - List of destination IP addresses. + DestinationAddresses *[]string `json:"destinationAddresses,omitempty"` + // DestinationPorts - List of destination ports. + DestinationPorts *[]string `json:"destinationPorts,omitempty"` +} + +// AzureFirewallNetworkRuleCollection network rule collection resource. +type AzureFirewallNetworkRuleCollection struct { + // AzureFirewallNetworkRuleCollectionPropertiesFormat - Properties of the azure firewall network rule collection. + *AzureFirewallNetworkRuleCollectionPropertiesFormat `json:"properties,omitempty"` + // Name - The name of the resource that is unique within the Azure firewall. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + // Etag - READ-ONLY; A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for AzureFirewallNetworkRuleCollection. +func (afnrc AzureFirewallNetworkRuleCollection) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if afnrc.AzureFirewallNetworkRuleCollectionPropertiesFormat != nil { + objectMap["properties"] = afnrc.AzureFirewallNetworkRuleCollectionPropertiesFormat + } + if afnrc.Name != nil { + objectMap["name"] = afnrc.Name + } + if afnrc.ID != nil { + objectMap["id"] = afnrc.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for AzureFirewallNetworkRuleCollection struct. +func (afnrc *AzureFirewallNetworkRuleCollection) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var azureFirewallNetworkRuleCollectionPropertiesFormat AzureFirewallNetworkRuleCollectionPropertiesFormat + err = json.Unmarshal(*v, &azureFirewallNetworkRuleCollectionPropertiesFormat) + if err != nil { + return err + } + afnrc.AzureFirewallNetworkRuleCollectionPropertiesFormat = &azureFirewallNetworkRuleCollectionPropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + afnrc.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + afnrc.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + afnrc.ID = &ID + } + } + } + + return nil +} + +// AzureFirewallNetworkRuleCollectionPropertiesFormat properties of the network rule collection. +type AzureFirewallNetworkRuleCollectionPropertiesFormat struct { + // Priority - Priority of the network rule collection resource. + Priority *int32 `json:"priority,omitempty"` + // Action - The action type of a rule collection. + Action *AzureFirewallRCAction `json:"action,omitempty"` + // Rules - Collection of rules used by a network rule collection. + Rules *[]AzureFirewallNetworkRule `json:"rules,omitempty"` + // ProvisioningState - The provisioning state of the network rule collection resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// AzureFirewallPropertiesFormat properties of the Azure Firewall. +type AzureFirewallPropertiesFormat struct { + // ApplicationRuleCollections - Collection of application rule collections used by Azure Firewall. + ApplicationRuleCollections *[]AzureFirewallApplicationRuleCollection `json:"applicationRuleCollections,omitempty"` + // NatRuleCollections - Collection of NAT rule collections used by Azure Firewall. + NatRuleCollections *[]AzureFirewallNatRuleCollection `json:"natRuleCollections,omitempty"` + // NetworkRuleCollections - Collection of network rule collections used by Azure Firewall. + NetworkRuleCollections *[]AzureFirewallNetworkRuleCollection `json:"networkRuleCollections,omitempty"` + // IPConfigurations - IP configuration of the Azure Firewall resource. + IPConfigurations *[]AzureFirewallIPConfiguration `json:"ipConfigurations,omitempty"` + // ProvisioningState - The provisioning state of the Azure firewall resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + // ThreatIntelMode - The operation mode for Threat Intelligence. Possible values include: 'AzureFirewallThreatIntelModeAlert', 'AzureFirewallThreatIntelModeDeny', 'AzureFirewallThreatIntelModeOff' + ThreatIntelMode AzureFirewallThreatIntelMode `json:"threatIntelMode,omitempty"` + // VirtualHub - The virtualHub to which the firewall belongs. + VirtualHub *SubResource `json:"virtualHub,omitempty"` + // FirewallPolicy - The firewallPolicy associated with this azure firewall. + FirewallPolicy *SubResource `json:"firewallPolicy,omitempty"` + // HubIPAddresses - READ-ONLY; IP addresses associated with AzureFirewall. + HubIPAddresses *HubIPAddresses `json:"hubIpAddresses,omitempty"` + // Sku - The Azure Firewall Resource SKU. + Sku *AzureFirewallSku `json:"sku,omitempty"` +} + +// AzureFirewallPublicIPAddress public IP Address associated with azure firewall. +type AzureFirewallPublicIPAddress struct { + // Address - Public IP Address value. + Address *string `json:"address,omitempty"` +} + +// AzureFirewallRCAction properties of the AzureFirewallRCAction. +type AzureFirewallRCAction struct { + // Type - The type of action. Possible values include: 'AzureFirewallRCActionTypeAllow', 'AzureFirewallRCActionTypeDeny' + Type AzureFirewallRCActionType `json:"type,omitempty"` +} + +// AzureFirewallsCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type AzureFirewallsCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *AzureFirewallsCreateOrUpdateFuture) Result(client AzureFirewallsClient) (af AzureFirewall, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.AzureFirewallsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.AzureFirewallsCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if af.Response.Response, err = future.GetResult(sender); err == nil && af.Response.Response.StatusCode != http.StatusNoContent { + af, err = client.CreateOrUpdateResponder(af.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.AzureFirewallsCreateOrUpdateFuture", "Result", af.Response.Response, "Failure responding to request") + } + } + return +} + +// AzureFirewallsDeleteFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type AzureFirewallsDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *AzureFirewallsDeleteFuture) Result(client AzureFirewallsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.AzureFirewallsDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.AzureFirewallsDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// AzureFirewallSku SKU of an Azure Firewall. +type AzureFirewallSku struct { + // Name - Name of an Azure Firewall SKU. Possible values include: 'AZFWVNet', 'AZFWHub' + Name AzureFirewallSkuName `json:"name,omitempty"` + // Tier - Tier of an Azure Firewall. Possible values include: 'Standard' + Tier AzureFirewallSkuTier `json:"tier,omitempty"` +} + +// AzureReachabilityReport azure reachability report details. +type AzureReachabilityReport struct { + autorest.Response `json:"-"` + // AggregationLevel - The aggregation level of Azure reachability report. Can be Country, State or City. + AggregationLevel *string `json:"aggregationLevel,omitempty"` + // ProviderLocation - Parameters that define a geographic location. + ProviderLocation *AzureReachabilityReportLocation `json:"providerLocation,omitempty"` + // ReachabilityReport - List of Azure reachability report items. + ReachabilityReport *[]AzureReachabilityReportItem `json:"reachabilityReport,omitempty"` +} + +// AzureReachabilityReportItem azure reachability report details for a given provider location. +type AzureReachabilityReportItem struct { + // Provider - The Internet service provider. + Provider *string `json:"provider,omitempty"` + // AzureLocation - The Azure region. + AzureLocation *string `json:"azureLocation,omitempty"` + // Latencies - List of latency details for each of the time series. + Latencies *[]AzureReachabilityReportLatencyInfo `json:"latencies,omitempty"` +} + +// AzureReachabilityReportLatencyInfo details on latency for a time series. +type AzureReachabilityReportLatencyInfo struct { + // TimeStamp - The time stamp. + TimeStamp *date.Time `json:"timeStamp,omitempty"` + // Score - The relative latency score between 1 and 100, higher values indicating a faster connection. + Score *int32 `json:"score,omitempty"` +} + +// AzureReachabilityReportLocation parameters that define a geographic location. +type AzureReachabilityReportLocation struct { + // Country - The name of the country. + Country *string `json:"country,omitempty"` + // State - The name of the state. + State *string `json:"state,omitempty"` + // City - The name of the city or town. + City *string `json:"city,omitempty"` +} + +// AzureReachabilityReportParameters geographic and time constraints for Azure reachability report. +type AzureReachabilityReportParameters struct { + // ProviderLocation - Parameters that define a geographic location. + ProviderLocation *AzureReachabilityReportLocation `json:"providerLocation,omitempty"` + // Providers - List of Internet service providers. + Providers *[]string `json:"providers,omitempty"` + // AzureLocations - Optional Azure regions to scope the query to. + AzureLocations *[]string `json:"azureLocations,omitempty"` + // StartTime - The start time for the Azure reachability report. + StartTime *date.Time `json:"startTime,omitempty"` + // EndTime - The end time for the Azure reachability report. + EndTime *date.Time `json:"endTime,omitempty"` +} + +// BackendAddressPool pool of backend IP addresses. +type BackendAddressPool struct { + autorest.Response `json:"-"` + // BackendAddressPoolPropertiesFormat - Properties of load balancer backend address pool. + *BackendAddressPoolPropertiesFormat `json:"properties,omitempty"` + // Name - The name of the resource that is unique within the set of backend address pools used by the load balancer. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // Type - READ-ONLY; Type of the resource. + Type *string `json:"type,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for BackendAddressPool. +func (bap BackendAddressPool) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if bap.BackendAddressPoolPropertiesFormat != nil { + objectMap["properties"] = bap.BackendAddressPoolPropertiesFormat + } + if bap.Name != nil { + objectMap["name"] = bap.Name + } + if bap.Etag != nil { + objectMap["etag"] = bap.Etag + } + if bap.ID != nil { + objectMap["id"] = bap.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for BackendAddressPool struct. +func (bap *BackendAddressPool) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var backendAddressPoolPropertiesFormat BackendAddressPoolPropertiesFormat + err = json.Unmarshal(*v, &backendAddressPoolPropertiesFormat) + if err != nil { + return err + } + bap.BackendAddressPoolPropertiesFormat = &backendAddressPoolPropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + bap.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + bap.Etag = &etag + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + bap.Type = &typeVar + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + bap.ID = &ID + } + } + } + + return nil +} + +// BackendAddressPoolPropertiesFormat properties of the backend address pool. +type BackendAddressPoolPropertiesFormat struct { + // BackendIPConfigurations - READ-ONLY; An array of references to IP addresses defined in network interfaces. + BackendIPConfigurations *[]InterfaceIPConfiguration `json:"backendIPConfigurations,omitempty"` + // LoadBalancingRules - READ-ONLY; An array of references to load balancing rules that use this backend address pool. + LoadBalancingRules *[]SubResource `json:"loadBalancingRules,omitempty"` + // OutboundRule - READ-ONLY; A reference to an outbound rule that uses this backend address pool. + OutboundRule *SubResource `json:"outboundRule,omitempty"` + // OutboundRules - READ-ONLY; An array of references to outbound rules that use this backend address pool. + OutboundRules *[]SubResource `json:"outboundRules,omitempty"` + // ProvisioningState - The provisioning state of the backend address pool resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// BastionHost bastion Host resource. +type BastionHost struct { + autorest.Response `json:"-"` + // BastionHostPropertiesFormat - Represents the bastion host resource. + *BastionHostPropertiesFormat `json:"properties,omitempty"` + // Etag - READ-ONLY; A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for BastionHost. +func (bh BastionHost) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if bh.BastionHostPropertiesFormat != nil { + objectMap["properties"] = bh.BastionHostPropertiesFormat + } + if bh.ID != nil { + objectMap["id"] = bh.ID + } + if bh.Location != nil { + objectMap["location"] = bh.Location + } + if bh.Tags != nil { + objectMap["tags"] = bh.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for BastionHost struct. +func (bh *BastionHost) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var bastionHostPropertiesFormat BastionHostPropertiesFormat + err = json.Unmarshal(*v, &bastionHostPropertiesFormat) + if err != nil { + return err + } + bh.BastionHostPropertiesFormat = &bastionHostPropertiesFormat + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + bh.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + bh.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + bh.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + bh.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + bh.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + bh.Tags = tags + } + } + } + + return nil +} + +// BastionHostIPConfiguration IP configuration of an Bastion Host. +type BastionHostIPConfiguration struct { + // BastionHostIPConfigurationPropertiesFormat - Represents the ip configuration associated with the resource. + *BastionHostIPConfigurationPropertiesFormat `json:"properties,omitempty"` + // Name - Name of the resource that is unique within a resource group. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + // Etag - READ-ONLY; A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // Type - READ-ONLY; Ip configuration type. + Type *string `json:"type,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for BastionHostIPConfiguration. +func (bhic BastionHostIPConfiguration) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if bhic.BastionHostIPConfigurationPropertiesFormat != nil { + objectMap["properties"] = bhic.BastionHostIPConfigurationPropertiesFormat + } + if bhic.Name != nil { + objectMap["name"] = bhic.Name + } + if bhic.ID != nil { + objectMap["id"] = bhic.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for BastionHostIPConfiguration struct. +func (bhic *BastionHostIPConfiguration) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var bastionHostIPConfigurationPropertiesFormat BastionHostIPConfigurationPropertiesFormat + err = json.Unmarshal(*v, &bastionHostIPConfigurationPropertiesFormat) + if err != nil { + return err + } + bhic.BastionHostIPConfigurationPropertiesFormat = &bastionHostIPConfigurationPropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + bhic.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + bhic.Etag = &etag + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + bhic.Type = &typeVar + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + bhic.ID = &ID + } + } + } + + return nil +} + +// BastionHostIPConfigurationPropertiesFormat properties of IP configuration of an Bastion Host. +type BastionHostIPConfigurationPropertiesFormat struct { + // Subnet - Reference of the subnet resource. + Subnet *SubResource `json:"subnet,omitempty"` + // PublicIPAddress - Reference of the PublicIP resource. + PublicIPAddress *SubResource `json:"publicIPAddress,omitempty"` + // ProvisioningState - The provisioning state of the bastion host IP configuration resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + // PrivateIPAllocationMethod - Private IP allocation method. Possible values include: 'Static', 'Dynamic' + PrivateIPAllocationMethod IPAllocationMethod `json:"privateIPAllocationMethod,omitempty"` +} + +// BastionHostListResult response for ListBastionHosts API service call. +type BastionHostListResult struct { + autorest.Response `json:"-"` + // Value - List of Bastion Hosts in a resource group. + Value *[]BastionHost `json:"value,omitempty"` + // NextLink - URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// BastionHostListResultIterator provides access to a complete listing of BastionHost values. +type BastionHostListResultIterator struct { + i int + page BastionHostListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *BastionHostListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BastionHostListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *BastionHostListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter BastionHostListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter BastionHostListResultIterator) Response() BastionHostListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter BastionHostListResultIterator) Value() BastionHost { + if !iter.page.NotDone() { + return BastionHost{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the BastionHostListResultIterator type. +func NewBastionHostListResultIterator(page BastionHostListResultPage) BastionHostListResultIterator { + return BastionHostListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (bhlr BastionHostListResult) IsEmpty() bool { + return bhlr.Value == nil || len(*bhlr.Value) == 0 +} + +// bastionHostListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (bhlr BastionHostListResult) bastionHostListResultPreparer(ctx context.Context) (*http.Request, error) { + if bhlr.NextLink == nil || len(to.String(bhlr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(bhlr.NextLink))) +} + +// BastionHostListResultPage contains a page of BastionHost values. +type BastionHostListResultPage struct { + fn func(context.Context, BastionHostListResult) (BastionHostListResult, error) + bhlr BastionHostListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *BastionHostListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BastionHostListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.bhlr) + if err != nil { + return err + } + page.bhlr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *BastionHostListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page BastionHostListResultPage) NotDone() bool { + return !page.bhlr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page BastionHostListResultPage) Response() BastionHostListResult { + return page.bhlr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page BastionHostListResultPage) Values() []BastionHost { + if page.bhlr.IsEmpty() { + return nil + } + return *page.bhlr.Value +} + +// Creates a new instance of the BastionHostListResultPage type. +func NewBastionHostListResultPage(getNextPage func(context.Context, BastionHostListResult) (BastionHostListResult, error)) BastionHostListResultPage { + return BastionHostListResultPage{fn: getNextPage} +} + +// BastionHostPropertiesFormat properties of the Bastion Host. +type BastionHostPropertiesFormat struct { + // IPConfigurations - IP configuration of the Bastion Host resource. + IPConfigurations *[]BastionHostIPConfiguration `json:"ipConfigurations,omitempty"` + // DNSName - FQDN for the endpoint on which bastion host is accessible. + DNSName *string `json:"dnsName,omitempty"` + // ProvisioningState - The provisioning state of the bastion host resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// BastionHostsCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type BastionHostsCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *BastionHostsCreateOrUpdateFuture) Result(client BastionHostsClient) (bh BastionHost, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.BastionHostsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.BastionHostsCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if bh.Response.Response, err = future.GetResult(sender); err == nil && bh.Response.Response.StatusCode != http.StatusNoContent { + bh, err = client.CreateOrUpdateResponder(bh.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.BastionHostsCreateOrUpdateFuture", "Result", bh.Response.Response, "Failure responding to request") + } + } + return +} + +// BastionHostsDeleteFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type BastionHostsDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *BastionHostsDeleteFuture) Result(client BastionHostsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.BastionHostsDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.BastionHostsDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// BGPCommunity contains bgp community information offered in Service Community resources. +type BGPCommunity struct { + // ServiceSupportedRegion - The region which the service support. e.g. For O365, region is Global. + ServiceSupportedRegion *string `json:"serviceSupportedRegion,omitempty"` + // CommunityName - The name of the bgp community. e.g. Skype. + CommunityName *string `json:"communityName,omitempty"` + // CommunityValue - The value of the bgp community. For more information: https://docs.microsoft.com/en-us/azure/expressroute/expressroute-routing. + CommunityValue *string `json:"communityValue,omitempty"` + // CommunityPrefixes - The prefixes that the bgp community contains. + CommunityPrefixes *[]string `json:"communityPrefixes,omitempty"` + // IsAuthorizedToUse - Customer is authorized to use bgp community or not. + IsAuthorizedToUse *bool `json:"isAuthorizedToUse,omitempty"` + // ServiceGroup - The service group of the bgp community contains. + ServiceGroup *string `json:"serviceGroup,omitempty"` +} + +// BgpPeerStatus BGP peer status details. +type BgpPeerStatus struct { + // LocalAddress - READ-ONLY; The virtual network gateway's local address. + LocalAddress *string `json:"localAddress,omitempty"` + // Neighbor - READ-ONLY; The remote BGP peer. + Neighbor *string `json:"neighbor,omitempty"` + // Asn - READ-ONLY; The autonomous system number of the remote BGP peer. + Asn *int32 `json:"asn,omitempty"` + // State - READ-ONLY; The BGP peer state. Possible values include: 'BgpPeerStateUnknown', 'BgpPeerStateStopped', 'BgpPeerStateIdle', 'BgpPeerStateConnecting', 'BgpPeerStateConnected' + State BgpPeerState `json:"state,omitempty"` + // ConnectedDuration - READ-ONLY; For how long the peering has been up. + ConnectedDuration *string `json:"connectedDuration,omitempty"` + // RoutesReceived - READ-ONLY; The number of routes learned from this peer. + RoutesReceived *int64 `json:"routesReceived,omitempty"` + // MessagesSent - READ-ONLY; The number of BGP messages sent. + MessagesSent *int64 `json:"messagesSent,omitempty"` + // MessagesReceived - READ-ONLY; The number of BGP messages received. + MessagesReceived *int64 `json:"messagesReceived,omitempty"` +} + +// BgpPeerStatusListResult response for list BGP peer status API service call. +type BgpPeerStatusListResult struct { + autorest.Response `json:"-"` + // Value - List of BGP peers. + Value *[]BgpPeerStatus `json:"value,omitempty"` +} + +// BgpServiceCommunity service Community Properties. +type BgpServiceCommunity struct { + // BgpServiceCommunityPropertiesFormat - Properties of the BGP service community. + *BgpServiceCommunityPropertiesFormat `json:"properties,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for BgpServiceCommunity. +func (bsc BgpServiceCommunity) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if bsc.BgpServiceCommunityPropertiesFormat != nil { + objectMap["properties"] = bsc.BgpServiceCommunityPropertiesFormat + } + if bsc.ID != nil { + objectMap["id"] = bsc.ID + } + if bsc.Location != nil { + objectMap["location"] = bsc.Location + } + if bsc.Tags != nil { + objectMap["tags"] = bsc.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for BgpServiceCommunity struct. +func (bsc *BgpServiceCommunity) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var bgpServiceCommunityPropertiesFormat BgpServiceCommunityPropertiesFormat + err = json.Unmarshal(*v, &bgpServiceCommunityPropertiesFormat) + if err != nil { + return err + } + bsc.BgpServiceCommunityPropertiesFormat = &bgpServiceCommunityPropertiesFormat + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + bsc.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + bsc.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + bsc.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + bsc.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + bsc.Tags = tags + } + } + } + + return nil +} + +// BgpServiceCommunityListResult response for the ListServiceCommunity API service call. +type BgpServiceCommunityListResult struct { + autorest.Response `json:"-"` + // Value - A list of service community resources. + Value *[]BgpServiceCommunity `json:"value,omitempty"` + // NextLink - The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// BgpServiceCommunityListResultIterator provides access to a complete listing of BgpServiceCommunity +// values. +type BgpServiceCommunityListResultIterator struct { + i int + page BgpServiceCommunityListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *BgpServiceCommunityListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BgpServiceCommunityListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *BgpServiceCommunityListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter BgpServiceCommunityListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter BgpServiceCommunityListResultIterator) Response() BgpServiceCommunityListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter BgpServiceCommunityListResultIterator) Value() BgpServiceCommunity { + if !iter.page.NotDone() { + return BgpServiceCommunity{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the BgpServiceCommunityListResultIterator type. +func NewBgpServiceCommunityListResultIterator(page BgpServiceCommunityListResultPage) BgpServiceCommunityListResultIterator { + return BgpServiceCommunityListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (bsclr BgpServiceCommunityListResult) IsEmpty() bool { + return bsclr.Value == nil || len(*bsclr.Value) == 0 +} + +// bgpServiceCommunityListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (bsclr BgpServiceCommunityListResult) bgpServiceCommunityListResultPreparer(ctx context.Context) (*http.Request, error) { + if bsclr.NextLink == nil || len(to.String(bsclr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(bsclr.NextLink))) +} + +// BgpServiceCommunityListResultPage contains a page of BgpServiceCommunity values. +type BgpServiceCommunityListResultPage struct { + fn func(context.Context, BgpServiceCommunityListResult) (BgpServiceCommunityListResult, error) + bsclr BgpServiceCommunityListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *BgpServiceCommunityListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BgpServiceCommunityListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.bsclr) + if err != nil { + return err + } + page.bsclr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *BgpServiceCommunityListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page BgpServiceCommunityListResultPage) NotDone() bool { + return !page.bsclr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page BgpServiceCommunityListResultPage) Response() BgpServiceCommunityListResult { + return page.bsclr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page BgpServiceCommunityListResultPage) Values() []BgpServiceCommunity { + if page.bsclr.IsEmpty() { + return nil + } + return *page.bsclr.Value +} + +// Creates a new instance of the BgpServiceCommunityListResultPage type. +func NewBgpServiceCommunityListResultPage(getNextPage func(context.Context, BgpServiceCommunityListResult) (BgpServiceCommunityListResult, error)) BgpServiceCommunityListResultPage { + return BgpServiceCommunityListResultPage{fn: getNextPage} +} + +// BgpServiceCommunityPropertiesFormat properties of Service Community. +type BgpServiceCommunityPropertiesFormat struct { + // ServiceName - The name of the bgp community. e.g. Skype. + ServiceName *string `json:"serviceName,omitempty"` + // BgpCommunities - A list of bgp communities. + BgpCommunities *[]BGPCommunity `json:"bgpCommunities,omitempty"` +} + +// BgpSettings BGP settings details. +type BgpSettings struct { + // Asn - The BGP speaker's ASN. + Asn *int64 `json:"asn,omitempty"` + // BgpPeeringAddress - The BGP peering address and BGP identifier of this BGP speaker. + BgpPeeringAddress *string `json:"bgpPeeringAddress,omitempty"` + // PeerWeight - The weight added to routes learned from this BGP speaker. + PeerWeight *int32 `json:"peerWeight,omitempty"` +} + +// CheckPrivateLinkServiceVisibilityRequest request body of the CheckPrivateLinkServiceVisibility API +// service call. +type CheckPrivateLinkServiceVisibilityRequest struct { + // PrivateLinkServiceAlias - The alias of the private link service. + PrivateLinkServiceAlias *string `json:"privateLinkServiceAlias,omitempty"` +} + +// CloudError an error response from the Batch service. +type CloudError struct { + // Error - Cloud error body. + Error *CloudErrorBody `json:"error,omitempty"` +} + +// CloudErrorBody an error response from the Batch service. +type CloudErrorBody struct { + // Code - An identifier for the error. Codes are invariant and are intended to be consumed programmatically. + Code *string `json:"code,omitempty"` + // Message - A message describing the error, intended to be suitable for display in a user interface. + Message *string `json:"message,omitempty"` + // Target - The target of the particular error. For example, the name of the property in error. + Target *string `json:"target,omitempty"` + // Details - A list of additional details about the error. + Details *[]CloudErrorBody `json:"details,omitempty"` +} + +// ConfigurationDiagnosticParameters parameters to get network configuration diagnostic. +type ConfigurationDiagnosticParameters struct { + // TargetResourceID - The ID of the target resource to perform network configuration diagnostic. Valid options are VM, NetworkInterface, VMSS/NetworkInterface and Application Gateway. + TargetResourceID *string `json:"targetResourceId,omitempty"` + // VerbosityLevel - Verbosity level. Possible values include: 'Normal', 'Minimum', 'Full' + VerbosityLevel VerbosityLevel `json:"verbosityLevel,omitempty"` + // Profiles - List of network configuration diagnostic profiles. + Profiles *[]ConfigurationDiagnosticProfile `json:"profiles,omitempty"` +} + +// ConfigurationDiagnosticProfile parameters to compare with network configuration. +type ConfigurationDiagnosticProfile struct { + // Direction - The direction of the traffic. Possible values include: 'Inbound', 'Outbound' + Direction Direction `json:"direction,omitempty"` + // Protocol - Protocol to be verified on. Accepted values are '*', TCP, UDP. + Protocol *string `json:"protocol,omitempty"` + // Source - Traffic source. Accepted values are '*', IP Address/CIDR, Service Tag. + Source *string `json:"source,omitempty"` + // Destination - Traffic destination. Accepted values are: '*', IP Address/CIDR, Service Tag. + Destination *string `json:"destination,omitempty"` + // DestinationPort - Traffic destination port. Accepted values are '*', port (for example, 3389) and port range (for example, 80-100). + DestinationPort *string `json:"destinationPort,omitempty"` +} + +// ConfigurationDiagnosticResponse results of network configuration diagnostic on the target resource. +type ConfigurationDiagnosticResponse struct { + autorest.Response `json:"-"` + // Results - READ-ONLY; List of network configuration diagnostic results. + Results *[]ConfigurationDiagnosticResult `json:"results,omitempty"` +} + +// ConfigurationDiagnosticResult network configuration diagnostic result corresponded to provided traffic +// query. +type ConfigurationDiagnosticResult struct { + // Profile - Network configuration diagnostic profile. + Profile *ConfigurationDiagnosticProfile `json:"profile,omitempty"` + // NetworkSecurityGroupResult - Network security group result. + NetworkSecurityGroupResult *SecurityGroupResult `json:"networkSecurityGroupResult,omitempty"` +} + +// ConnectionMonitor parameters that define the operation to create a connection monitor. +type ConnectionMonitor struct { + // Location - Connection monitor location. + Location *string `json:"location,omitempty"` + // Tags - Connection monitor tags. + Tags map[string]*string `json:"tags"` + // ConnectionMonitorParameters - Properties of the connection monitor. + *ConnectionMonitorParameters `json:"properties,omitempty"` +} + +// MarshalJSON is the custom marshaler for ConnectionMonitor. +func (cm ConnectionMonitor) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if cm.Location != nil { + objectMap["location"] = cm.Location + } + if cm.Tags != nil { + objectMap["tags"] = cm.Tags + } + if cm.ConnectionMonitorParameters != nil { + objectMap["properties"] = cm.ConnectionMonitorParameters + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ConnectionMonitor struct. +func (cm *ConnectionMonitor) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + cm.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + cm.Tags = tags + } + case "properties": + if v != nil { + var connectionMonitorParameters ConnectionMonitorParameters + err = json.Unmarshal(*v, &connectionMonitorParameters) + if err != nil { + return err + } + cm.ConnectionMonitorParameters = &connectionMonitorParameters + } + } + } + + return nil +} + +// ConnectionMonitorDestination describes the destination of connection monitor. +type ConnectionMonitorDestination struct { + // ResourceID - The ID of the resource used as the destination by connection monitor. + ResourceID *string `json:"resourceId,omitempty"` + // Address - Address of the connection monitor destination (IP or domain name). + Address *string `json:"address,omitempty"` + // Port - The destination port used by connection monitor. + Port *int32 `json:"port,omitempty"` +} + +// ConnectionMonitorListResult list of connection monitors. +type ConnectionMonitorListResult struct { + autorest.Response `json:"-"` + // Value - Information about connection monitors. + Value *[]ConnectionMonitorResult `json:"value,omitempty"` +} + +// ConnectionMonitorParameters parameters that define the operation to create a connection monitor. +type ConnectionMonitorParameters struct { + // Source - Describes the source of connection monitor. + Source *ConnectionMonitorSource `json:"source,omitempty"` + // Destination - Describes the destination of connection monitor. + Destination *ConnectionMonitorDestination `json:"destination,omitempty"` + // AutoStart - Determines if the connection monitor will start automatically once created. + AutoStart *bool `json:"autoStart,omitempty"` + // MonitoringIntervalInSeconds - Monitoring interval in seconds. + MonitoringIntervalInSeconds *int32 `json:"monitoringIntervalInSeconds,omitempty"` +} + +// ConnectionMonitorQueryResult list of connection states snapshots. +type ConnectionMonitorQueryResult struct { + autorest.Response `json:"-"` + // SourceStatus - Status of connection monitor source. Possible values include: 'ConnectionMonitorSourceStatusUnknown', 'ConnectionMonitorSourceStatusActive', 'ConnectionMonitorSourceStatusInactive' + SourceStatus ConnectionMonitorSourceStatus `json:"sourceStatus,omitempty"` + // States - Information about connection states. + States *[]ConnectionStateSnapshot `json:"states,omitempty"` +} + +// ConnectionMonitorResult information about the connection monitor. +type ConnectionMonitorResult struct { + autorest.Response `json:"-"` + // Name - READ-ONLY; Name of the connection monitor. + Name *string `json:"name,omitempty"` + // ID - READ-ONLY; ID of the connection monitor. + ID *string `json:"id,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // Type - READ-ONLY; Connection monitor type. + Type *string `json:"type,omitempty"` + // Location - Connection monitor location. + Location *string `json:"location,omitempty"` + // Tags - Connection monitor tags. + Tags map[string]*string `json:"tags"` + // ConnectionMonitorResultProperties - Properties of the connection monitor result. + *ConnectionMonitorResultProperties `json:"properties,omitempty"` +} + +// MarshalJSON is the custom marshaler for ConnectionMonitorResult. +func (cmr ConnectionMonitorResult) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if cmr.Etag != nil { + objectMap["etag"] = cmr.Etag + } + if cmr.Location != nil { + objectMap["location"] = cmr.Location + } + if cmr.Tags != nil { + objectMap["tags"] = cmr.Tags + } + if cmr.ConnectionMonitorResultProperties != nil { + objectMap["properties"] = cmr.ConnectionMonitorResultProperties + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ConnectionMonitorResult struct. +func (cmr *ConnectionMonitorResult) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + cmr.Name = &name + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + cmr.ID = &ID + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + cmr.Etag = &etag + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + cmr.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + cmr.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + cmr.Tags = tags + } + case "properties": + if v != nil { + var connectionMonitorResultProperties ConnectionMonitorResultProperties + err = json.Unmarshal(*v, &connectionMonitorResultProperties) + if err != nil { + return err + } + cmr.ConnectionMonitorResultProperties = &connectionMonitorResultProperties + } + } + } + + return nil +} + +// ConnectionMonitorResultProperties describes the properties of a connection monitor. +type ConnectionMonitorResultProperties struct { + // ProvisioningState - The provisioning state of the connection monitor. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + // StartTime - The date and time when the connection monitor was started. + StartTime *date.Time `json:"startTime,omitempty"` + // MonitoringStatus - The monitoring status of the connection monitor. + MonitoringStatus *string `json:"monitoringStatus,omitempty"` + // Source - Describes the source of connection monitor. + Source *ConnectionMonitorSource `json:"source,omitempty"` + // Destination - Describes the destination of connection monitor. + Destination *ConnectionMonitorDestination `json:"destination,omitempty"` + // AutoStart - Determines if the connection monitor will start automatically once created. + AutoStart *bool `json:"autoStart,omitempty"` + // MonitoringIntervalInSeconds - Monitoring interval in seconds. + MonitoringIntervalInSeconds *int32 `json:"monitoringIntervalInSeconds,omitempty"` +} + +// ConnectionMonitorsCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type ConnectionMonitorsCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ConnectionMonitorsCreateOrUpdateFuture) Result(client ConnectionMonitorsClient) (cmr ConnectionMonitorResult, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ConnectionMonitorsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.ConnectionMonitorsCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if cmr.Response.Response, err = future.GetResult(sender); err == nil && cmr.Response.Response.StatusCode != http.StatusNoContent { + cmr, err = client.CreateOrUpdateResponder(cmr.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ConnectionMonitorsCreateOrUpdateFuture", "Result", cmr.Response.Response, "Failure responding to request") + } + } + return +} + +// ConnectionMonitorsDeleteFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type ConnectionMonitorsDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ConnectionMonitorsDeleteFuture) Result(client ConnectionMonitorsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ConnectionMonitorsDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.ConnectionMonitorsDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// ConnectionMonitorSource describes the source of connection monitor. +type ConnectionMonitorSource struct { + // ResourceID - The ID of the resource used as the source by connection monitor. + ResourceID *string `json:"resourceId,omitempty"` + // Port - The source port used by connection monitor. + Port *int32 `json:"port,omitempty"` +} + +// ConnectionMonitorsQueryFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type ConnectionMonitorsQueryFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ConnectionMonitorsQueryFuture) Result(client ConnectionMonitorsClient) (cmqr ConnectionMonitorQueryResult, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ConnectionMonitorsQueryFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.ConnectionMonitorsQueryFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if cmqr.Response.Response, err = future.GetResult(sender); err == nil && cmqr.Response.Response.StatusCode != http.StatusNoContent { + cmqr, err = client.QueryResponder(cmqr.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ConnectionMonitorsQueryFuture", "Result", cmqr.Response.Response, "Failure responding to request") + } + } + return +} + +// ConnectionMonitorsStartFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type ConnectionMonitorsStartFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ConnectionMonitorsStartFuture) Result(client ConnectionMonitorsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ConnectionMonitorsStartFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.ConnectionMonitorsStartFuture") + return + } + ar.Response = future.Response() + return +} + +// ConnectionMonitorsStopFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type ConnectionMonitorsStopFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ConnectionMonitorsStopFuture) Result(client ConnectionMonitorsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ConnectionMonitorsStopFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.ConnectionMonitorsStopFuture") + return + } + ar.Response = future.Response() + return +} + +// ConnectionResetSharedKey the virtual network connection reset shared key. +type ConnectionResetSharedKey struct { + autorest.Response `json:"-"` + // KeyLength - The virtual network connection reset shared key length, should between 1 and 128. + KeyLength *int32 `json:"keyLength,omitempty"` +} + +// ConnectionSharedKey response for GetConnectionSharedKey API service call. +type ConnectionSharedKey struct { + autorest.Response `json:"-"` + // Value - The virtual network connection shared key value. + Value *string `json:"value,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// ConnectionStateSnapshot connection state snapshot. +type ConnectionStateSnapshot struct { + // ConnectionState - The connection state. Possible values include: 'ConnectionStateReachable', 'ConnectionStateUnreachable', 'ConnectionStateUnknown' + ConnectionState ConnectionState `json:"connectionState,omitempty"` + // StartTime - The start time of the connection snapshot. + StartTime *date.Time `json:"startTime,omitempty"` + // EndTime - The end time of the connection snapshot. + EndTime *date.Time `json:"endTime,omitempty"` + // EvaluationState - Connectivity analysis evaluation state. Possible values include: 'NotStarted', 'InProgress', 'Completed' + EvaluationState EvaluationState `json:"evaluationState,omitempty"` + // AvgLatencyInMs - Average latency in ms. + AvgLatencyInMs *int32 `json:"avgLatencyInMs,omitempty"` + // MinLatencyInMs - Minimum latency in ms. + MinLatencyInMs *int32 `json:"minLatencyInMs,omitempty"` + // MaxLatencyInMs - Maximum latency in ms. + MaxLatencyInMs *int32 `json:"maxLatencyInMs,omitempty"` + // ProbesSent - The number of sent probes. + ProbesSent *int32 `json:"probesSent,omitempty"` + // ProbesFailed - The number of failed probes. + ProbesFailed *int32 `json:"probesFailed,omitempty"` + // Hops - READ-ONLY; List of hops between the source and the destination. + Hops *[]ConnectivityHop `json:"hops,omitempty"` +} + +// ConnectivityDestination parameters that define destination of connection. +type ConnectivityDestination struct { + // ResourceID - The ID of the resource to which a connection attempt will be made. + ResourceID *string `json:"resourceId,omitempty"` + // Address - The IP address or URI the resource to which a connection attempt will be made. + Address *string `json:"address,omitempty"` + // Port - Port on which check connectivity will be performed. + Port *int32 `json:"port,omitempty"` +} + +// ConnectivityHop information about a hop between the source and the destination. +type ConnectivityHop struct { + // Type - READ-ONLY; The type of the hop. + Type *string `json:"type,omitempty"` + // ID - READ-ONLY; The ID of the hop. + ID *string `json:"id,omitempty"` + // Address - READ-ONLY; The IP address of the hop. + Address *string `json:"address,omitempty"` + // ResourceID - READ-ONLY; The ID of the resource corresponding to this hop. + ResourceID *string `json:"resourceId,omitempty"` + // NextHopIds - READ-ONLY; List of next hop identifiers. + NextHopIds *[]string `json:"nextHopIds,omitempty"` + // Issues - READ-ONLY; List of issues. + Issues *[]ConnectivityIssue `json:"issues,omitempty"` +} + +// ConnectivityInformation information on the connectivity status. +type ConnectivityInformation struct { + autorest.Response `json:"-"` + // Hops - READ-ONLY; List of hops between the source and the destination. + Hops *[]ConnectivityHop `json:"hops,omitempty"` + // ConnectionStatus - READ-ONLY; The connection status. Possible values include: 'ConnectionStatusUnknown', 'ConnectionStatusConnected', 'ConnectionStatusDisconnected', 'ConnectionStatusDegraded' + ConnectionStatus ConnectionStatus `json:"connectionStatus,omitempty"` + // AvgLatencyInMs - READ-ONLY; Average latency in milliseconds. + AvgLatencyInMs *int32 `json:"avgLatencyInMs,omitempty"` + // MinLatencyInMs - READ-ONLY; Minimum latency in milliseconds. + MinLatencyInMs *int32 `json:"minLatencyInMs,omitempty"` + // MaxLatencyInMs - READ-ONLY; Maximum latency in milliseconds. + MaxLatencyInMs *int32 `json:"maxLatencyInMs,omitempty"` + // ProbesSent - READ-ONLY; Total number of probes sent. + ProbesSent *int32 `json:"probesSent,omitempty"` + // ProbesFailed - READ-ONLY; Number of failed probes. + ProbesFailed *int32 `json:"probesFailed,omitempty"` +} + +// ConnectivityIssue information about an issue encountered in the process of checking for connectivity. +type ConnectivityIssue struct { + // Origin - READ-ONLY; The origin of the issue. Possible values include: 'OriginLocal', 'OriginInbound', 'OriginOutbound' + Origin Origin `json:"origin,omitempty"` + // Severity - READ-ONLY; The severity of the issue. Possible values include: 'SeverityError', 'SeverityWarning' + Severity Severity `json:"severity,omitempty"` + // Type - READ-ONLY; The type of issue. Possible values include: 'IssueTypeUnknown', 'IssueTypeAgentStopped', 'IssueTypeGuestFirewall', 'IssueTypeDNSResolution', 'IssueTypeSocketBind', 'IssueTypeNetworkSecurityRule', 'IssueTypeUserDefinedRoute', 'IssueTypePortThrottled', 'IssueTypePlatform' + Type IssueType `json:"type,omitempty"` + // Context - READ-ONLY; Provides additional context on the issue. + Context *[]map[string]*string `json:"context,omitempty"` +} + +// ConnectivityParameters parameters that determine how the connectivity check will be performed. +type ConnectivityParameters struct { + // Source - Describes the source of the connection. + Source *ConnectivitySource `json:"source,omitempty"` + // Destination - Describes the destination of connection. + Destination *ConnectivityDestination `json:"destination,omitempty"` + // Protocol - Network protocol. Possible values include: 'ProtocolTCP', 'ProtocolHTTP', 'ProtocolHTTPS', 'ProtocolIcmp' + Protocol Protocol `json:"protocol,omitempty"` + // ProtocolConfiguration - Configuration of the protocol. + ProtocolConfiguration *ProtocolConfiguration `json:"protocolConfiguration,omitempty"` +} + +// ConnectivitySource parameters that define the source of the connection. +type ConnectivitySource struct { + // ResourceID - The ID of the resource from which a connectivity check will be initiated. + ResourceID *string `json:"resourceId,omitempty"` + // Port - The source port from which a connectivity check will be performed. + Port *int32 `json:"port,omitempty"` +} + +// Container reference to container resource in remote resource provider. +type Container struct { + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// ContainerNetworkInterface container network interface child resource. +type ContainerNetworkInterface struct { + // ContainerNetworkInterfacePropertiesFormat - Container network interface properties. + *ContainerNetworkInterfacePropertiesFormat `json:"properties,omitempty"` + // Name - The name of the resource. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Sub Resource type. + Type *string `json:"type,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for ContainerNetworkInterface. +func (cni ContainerNetworkInterface) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if cni.ContainerNetworkInterfacePropertiesFormat != nil { + objectMap["properties"] = cni.ContainerNetworkInterfacePropertiesFormat + } + if cni.Name != nil { + objectMap["name"] = cni.Name + } + if cni.Etag != nil { + objectMap["etag"] = cni.Etag + } + if cni.ID != nil { + objectMap["id"] = cni.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ContainerNetworkInterface struct. +func (cni *ContainerNetworkInterface) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var containerNetworkInterfacePropertiesFormat ContainerNetworkInterfacePropertiesFormat + err = json.Unmarshal(*v, &containerNetworkInterfacePropertiesFormat) + if err != nil { + return err + } + cni.ContainerNetworkInterfacePropertiesFormat = &containerNetworkInterfacePropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + cni.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + cni.Type = &typeVar + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + cni.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + cni.ID = &ID + } + } + } + + return nil +} + +// ContainerNetworkInterfaceConfiguration container network interface configuration child resource. +type ContainerNetworkInterfaceConfiguration struct { + // ContainerNetworkInterfaceConfigurationPropertiesFormat - Container network interface configuration properties. + *ContainerNetworkInterfaceConfigurationPropertiesFormat `json:"properties,omitempty"` + // Name - The name of the resource. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Sub Resource type. + Type *string `json:"type,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for ContainerNetworkInterfaceConfiguration. +func (cnic ContainerNetworkInterfaceConfiguration) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if cnic.ContainerNetworkInterfaceConfigurationPropertiesFormat != nil { + objectMap["properties"] = cnic.ContainerNetworkInterfaceConfigurationPropertiesFormat + } + if cnic.Name != nil { + objectMap["name"] = cnic.Name + } + if cnic.Etag != nil { + objectMap["etag"] = cnic.Etag + } + if cnic.ID != nil { + objectMap["id"] = cnic.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ContainerNetworkInterfaceConfiguration struct. +func (cnic *ContainerNetworkInterfaceConfiguration) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var containerNetworkInterfaceConfigurationPropertiesFormat ContainerNetworkInterfaceConfigurationPropertiesFormat + err = json.Unmarshal(*v, &containerNetworkInterfaceConfigurationPropertiesFormat) + if err != nil { + return err + } + cnic.ContainerNetworkInterfaceConfigurationPropertiesFormat = &containerNetworkInterfaceConfigurationPropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + cnic.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + cnic.Type = &typeVar + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + cnic.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + cnic.ID = &ID + } + } + } + + return nil +} + +// ContainerNetworkInterfaceConfigurationPropertiesFormat container network interface configuration +// properties. +type ContainerNetworkInterfaceConfigurationPropertiesFormat struct { + // IPConfigurations - A list of ip configurations of the container network interface configuration. + IPConfigurations *[]IPConfigurationProfile `json:"ipConfigurations,omitempty"` + // ContainerNetworkInterfaces - A list of container network interfaces created from this container network interface configuration. + ContainerNetworkInterfaces *[]SubResource `json:"containerNetworkInterfaces,omitempty"` + // ProvisioningState - READ-ONLY; The provisioning state of the container network interface configuration resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// ContainerNetworkInterfaceIPConfiguration the ip configuration for a container network interface. +type ContainerNetworkInterfaceIPConfiguration struct { + // ContainerNetworkInterfaceIPConfigurationPropertiesFormat - Properties of the container network interface IP configuration. + *ContainerNetworkInterfaceIPConfigurationPropertiesFormat `json:"properties,omitempty"` + // Name - The name of the resource. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Sub Resource type. + Type *string `json:"type,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` +} + +// MarshalJSON is the custom marshaler for ContainerNetworkInterfaceIPConfiguration. +func (cniic ContainerNetworkInterfaceIPConfiguration) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if cniic.ContainerNetworkInterfaceIPConfigurationPropertiesFormat != nil { + objectMap["properties"] = cniic.ContainerNetworkInterfaceIPConfigurationPropertiesFormat + } + if cniic.Name != nil { + objectMap["name"] = cniic.Name + } + if cniic.Etag != nil { + objectMap["etag"] = cniic.Etag + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ContainerNetworkInterfaceIPConfiguration struct. +func (cniic *ContainerNetworkInterfaceIPConfiguration) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var containerNetworkInterfaceIPConfigurationPropertiesFormat ContainerNetworkInterfaceIPConfigurationPropertiesFormat + err = json.Unmarshal(*v, &containerNetworkInterfaceIPConfigurationPropertiesFormat) + if err != nil { + return err + } + cniic.ContainerNetworkInterfaceIPConfigurationPropertiesFormat = &containerNetworkInterfaceIPConfigurationPropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + cniic.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + cniic.Type = &typeVar + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + cniic.Etag = &etag + } + } + } + + return nil +} + +// ContainerNetworkInterfaceIPConfigurationPropertiesFormat properties of the container network interface +// IP configuration. +type ContainerNetworkInterfaceIPConfigurationPropertiesFormat struct { + // ProvisioningState - READ-ONLY; The provisioning state of the container network interface IP configuration resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// ContainerNetworkInterfacePropertiesFormat properties of container network interface. +type ContainerNetworkInterfacePropertiesFormat struct { + // ContainerNetworkInterfaceConfiguration - Container network interface configuration from which this container network interface is created. + ContainerNetworkInterfaceConfiguration *ContainerNetworkInterfaceConfiguration `json:"containerNetworkInterfaceConfiguration,omitempty"` + // Container - Reference to the container to which this container network interface is attached. + Container *Container `json:"container,omitempty"` + // IPConfigurations - Reference to the ip configuration on this container nic. + IPConfigurations *[]ContainerNetworkInterfaceIPConfiguration `json:"ipConfigurations,omitempty"` + // ProvisioningState - READ-ONLY; The provisioning state of the container network interface resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// DdosCustomPoliciesCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type DdosCustomPoliciesCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *DdosCustomPoliciesCreateOrUpdateFuture) Result(client DdosCustomPoliciesClient) (dcp DdosCustomPolicy, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.DdosCustomPoliciesCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.DdosCustomPoliciesCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if dcp.Response.Response, err = future.GetResult(sender); err == nil && dcp.Response.Response.StatusCode != http.StatusNoContent { + dcp, err = client.CreateOrUpdateResponder(dcp.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.DdosCustomPoliciesCreateOrUpdateFuture", "Result", dcp.Response.Response, "Failure responding to request") + } + } + return +} + +// DdosCustomPoliciesDeleteFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type DdosCustomPoliciesDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *DdosCustomPoliciesDeleteFuture) Result(client DdosCustomPoliciesClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.DdosCustomPoliciesDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.DdosCustomPoliciesDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// DdosCustomPoliciesUpdateTagsFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type DdosCustomPoliciesUpdateTagsFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *DdosCustomPoliciesUpdateTagsFuture) Result(client DdosCustomPoliciesClient) (dcp DdosCustomPolicy, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.DdosCustomPoliciesUpdateTagsFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.DdosCustomPoliciesUpdateTagsFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if dcp.Response.Response, err = future.GetResult(sender); err == nil && dcp.Response.Response.StatusCode != http.StatusNoContent { + dcp, err = client.UpdateTagsResponder(dcp.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.DdosCustomPoliciesUpdateTagsFuture", "Result", dcp.Response.Response, "Failure responding to request") + } + } + return +} + +// DdosCustomPolicy a DDoS custom policy in a resource group. +type DdosCustomPolicy struct { + autorest.Response `json:"-"` + // DdosCustomPolicyPropertiesFormat - Properties of the DDoS custom policy. + *DdosCustomPolicyPropertiesFormat `json:"properties,omitempty"` + // Etag - READ-ONLY; A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for DdosCustomPolicy. +func (dcp DdosCustomPolicy) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if dcp.DdosCustomPolicyPropertiesFormat != nil { + objectMap["properties"] = dcp.DdosCustomPolicyPropertiesFormat + } + if dcp.ID != nil { + objectMap["id"] = dcp.ID + } + if dcp.Location != nil { + objectMap["location"] = dcp.Location + } + if dcp.Tags != nil { + objectMap["tags"] = dcp.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for DdosCustomPolicy struct. +func (dcp *DdosCustomPolicy) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var ddosCustomPolicyPropertiesFormat DdosCustomPolicyPropertiesFormat + err = json.Unmarshal(*v, &ddosCustomPolicyPropertiesFormat) + if err != nil { + return err + } + dcp.DdosCustomPolicyPropertiesFormat = &ddosCustomPolicyPropertiesFormat + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + dcp.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + dcp.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + dcp.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + dcp.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + dcp.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + dcp.Tags = tags + } + } + } + + return nil +} + +// DdosCustomPolicyPropertiesFormat dDoS custom policy properties. +type DdosCustomPolicyPropertiesFormat struct { + // ResourceGUID - READ-ONLY; The resource GUID property of the DDoS custom policy resource. It uniquely identifies the resource, even if the user changes its name or migrate the resource across subscriptions or resource groups. + ResourceGUID *string `json:"resourceGuid,omitempty"` + // ProvisioningState - READ-ONLY; The provisioning state of the DDoS custom policy resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + // PublicIPAddresses - READ-ONLY; The list of public IPs associated with the DDoS custom policy resource. This list is read-only. + PublicIPAddresses *[]SubResource `json:"publicIPAddresses,omitempty"` + // ProtocolCustomSettings - The protocol-specific DDoS policy customization parameters. + ProtocolCustomSettings *[]ProtocolCustomSettingsFormat `json:"protocolCustomSettings,omitempty"` +} + +// DdosProtectionPlan a DDoS protection plan in a resource group. +type DdosProtectionPlan struct { + autorest.Response `json:"-"` + // ID - READ-ONLY; Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` + // DdosProtectionPlanPropertiesFormat - Properties of the DDoS protection plan. + *DdosProtectionPlanPropertiesFormat `json:"properties,omitempty"` + // Etag - READ-ONLY; A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` +} + +// MarshalJSON is the custom marshaler for DdosProtectionPlan. +func (dpp DdosProtectionPlan) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if dpp.Location != nil { + objectMap["location"] = dpp.Location + } + if dpp.Tags != nil { + objectMap["tags"] = dpp.Tags + } + if dpp.DdosProtectionPlanPropertiesFormat != nil { + objectMap["properties"] = dpp.DdosProtectionPlanPropertiesFormat + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for DdosProtectionPlan struct. +func (dpp *DdosProtectionPlan) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + dpp.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + dpp.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + dpp.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + dpp.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + dpp.Tags = tags + } + case "properties": + if v != nil { + var ddosProtectionPlanPropertiesFormat DdosProtectionPlanPropertiesFormat + err = json.Unmarshal(*v, &ddosProtectionPlanPropertiesFormat) + if err != nil { + return err + } + dpp.DdosProtectionPlanPropertiesFormat = &ddosProtectionPlanPropertiesFormat + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + dpp.Etag = &etag + } + } + } + + return nil +} + +// DdosProtectionPlanListResult a list of DDoS protection plans. +type DdosProtectionPlanListResult struct { + autorest.Response `json:"-"` + // Value - A list of DDoS protection plans. + Value *[]DdosProtectionPlan `json:"value,omitempty"` + // NextLink - READ-ONLY; The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// DdosProtectionPlanListResultIterator provides access to a complete listing of DdosProtectionPlan values. +type DdosProtectionPlanListResultIterator struct { + i int + page DdosProtectionPlanListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *DdosProtectionPlanListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DdosProtectionPlanListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *DdosProtectionPlanListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter DdosProtectionPlanListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter DdosProtectionPlanListResultIterator) Response() DdosProtectionPlanListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter DdosProtectionPlanListResultIterator) Value() DdosProtectionPlan { + if !iter.page.NotDone() { + return DdosProtectionPlan{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the DdosProtectionPlanListResultIterator type. +func NewDdosProtectionPlanListResultIterator(page DdosProtectionPlanListResultPage) DdosProtectionPlanListResultIterator { + return DdosProtectionPlanListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (dpplr DdosProtectionPlanListResult) IsEmpty() bool { + return dpplr.Value == nil || len(*dpplr.Value) == 0 +} + +// ddosProtectionPlanListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (dpplr DdosProtectionPlanListResult) ddosProtectionPlanListResultPreparer(ctx context.Context) (*http.Request, error) { + if dpplr.NextLink == nil || len(to.String(dpplr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(dpplr.NextLink))) +} + +// DdosProtectionPlanListResultPage contains a page of DdosProtectionPlan values. +type DdosProtectionPlanListResultPage struct { + fn func(context.Context, DdosProtectionPlanListResult) (DdosProtectionPlanListResult, error) + dpplr DdosProtectionPlanListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *DdosProtectionPlanListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DdosProtectionPlanListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.dpplr) + if err != nil { + return err + } + page.dpplr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *DdosProtectionPlanListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page DdosProtectionPlanListResultPage) NotDone() bool { + return !page.dpplr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page DdosProtectionPlanListResultPage) Response() DdosProtectionPlanListResult { + return page.dpplr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page DdosProtectionPlanListResultPage) Values() []DdosProtectionPlan { + if page.dpplr.IsEmpty() { + return nil + } + return *page.dpplr.Value +} + +// Creates a new instance of the DdosProtectionPlanListResultPage type. +func NewDdosProtectionPlanListResultPage(getNextPage func(context.Context, DdosProtectionPlanListResult) (DdosProtectionPlanListResult, error)) DdosProtectionPlanListResultPage { + return DdosProtectionPlanListResultPage{fn: getNextPage} +} + +// DdosProtectionPlanPropertiesFormat dDoS protection plan properties. +type DdosProtectionPlanPropertiesFormat struct { + // ResourceGUID - READ-ONLY; The resource GUID property of the DDoS protection plan resource. It uniquely identifies the resource, even if the user changes its name or migrate the resource across subscriptions or resource groups. + ResourceGUID *string `json:"resourceGuid,omitempty"` + // ProvisioningState - READ-ONLY; The provisioning state of the DDoS protection plan resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + // VirtualNetworks - READ-ONLY; The list of virtual networks associated with the DDoS protection plan resource. This list is read-only. + VirtualNetworks *[]SubResource `json:"virtualNetworks,omitempty"` +} + +// DdosProtectionPlansCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type DdosProtectionPlansCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *DdosProtectionPlansCreateOrUpdateFuture) Result(client DdosProtectionPlansClient) (dpp DdosProtectionPlan, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.DdosProtectionPlansCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.DdosProtectionPlansCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if dpp.Response.Response, err = future.GetResult(sender); err == nil && dpp.Response.Response.StatusCode != http.StatusNoContent { + dpp, err = client.CreateOrUpdateResponder(dpp.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.DdosProtectionPlansCreateOrUpdateFuture", "Result", dpp.Response.Response, "Failure responding to request") + } + } + return +} + +// DdosProtectionPlansDeleteFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type DdosProtectionPlansDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *DdosProtectionPlansDeleteFuture) Result(client DdosProtectionPlansClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.DdosProtectionPlansDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.DdosProtectionPlansDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// DdosProtectionPlansUpdateTagsFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type DdosProtectionPlansUpdateTagsFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *DdosProtectionPlansUpdateTagsFuture) Result(client DdosProtectionPlansClient) (dpp DdosProtectionPlan, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.DdosProtectionPlansUpdateTagsFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.DdosProtectionPlansUpdateTagsFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if dpp.Response.Response, err = future.GetResult(sender); err == nil && dpp.Response.Response.StatusCode != http.StatusNoContent { + dpp, err = client.UpdateTagsResponder(dpp.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.DdosProtectionPlansUpdateTagsFuture", "Result", dpp.Response.Response, "Failure responding to request") + } + } + return +} + +// DdosSettings contains the DDoS protection settings of the public IP. +type DdosSettings struct { + // DdosCustomPolicy - The DDoS custom policy associated with the public IP. + DdosCustomPolicy *SubResource `json:"ddosCustomPolicy,omitempty"` + // ProtectionCoverage - The DDoS protection policy customizability of the public IP. Only standard coverage will have the ability to be customized. Possible values include: 'DdosSettingsProtectionCoverageBasic', 'DdosSettingsProtectionCoverageStandard' + ProtectionCoverage DdosSettingsProtectionCoverage `json:"protectionCoverage,omitempty"` +} + +// Delegation details the service to which the subnet is delegated. +type Delegation struct { + // ServiceDelegationPropertiesFormat - Properties of the subnet. + *ServiceDelegationPropertiesFormat `json:"properties,omitempty"` + // Name - The name of the resource that is unique within a subnet. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for Delegation. +func (d Delegation) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if d.ServiceDelegationPropertiesFormat != nil { + objectMap["properties"] = d.ServiceDelegationPropertiesFormat + } + if d.Name != nil { + objectMap["name"] = d.Name + } + if d.Etag != nil { + objectMap["etag"] = d.Etag + } + if d.ID != nil { + objectMap["id"] = d.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for Delegation struct. +func (d *Delegation) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var serviceDelegationPropertiesFormat ServiceDelegationPropertiesFormat + err = json.Unmarshal(*v, &serviceDelegationPropertiesFormat) + if err != nil { + return err + } + d.ServiceDelegationPropertiesFormat = &serviceDelegationPropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + d.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + d.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + d.ID = &ID + } + } + } + + return nil +} + +// DeviceProperties list of properties of the device. +type DeviceProperties struct { + // DeviceVendor - Name of the device Vendor. + DeviceVendor *string `json:"deviceVendor,omitempty"` + // DeviceModel - Model of the device. + DeviceModel *string `json:"deviceModel,omitempty"` + // LinkSpeedInMbps - Link speed. + LinkSpeedInMbps *int32 `json:"linkSpeedInMbps,omitempty"` +} + +// DhcpOptions dhcpOptions contains an array of DNS servers available to VMs deployed in the virtual +// network. Standard DHCP option for a subnet overrides VNET DHCP options. +type DhcpOptions struct { + // DNSServers - The list of DNS servers IP addresses. + DNSServers *[]string `json:"dnsServers,omitempty"` +} + +// Dimension dimension of the metric. +type Dimension struct { + // Name - The name of the dimension. + Name *string `json:"name,omitempty"` + // DisplayName - The display name of the dimension. + DisplayName *string `json:"displayName,omitempty"` + // InternalName - The internal name of the dimension. + InternalName *string `json:"internalName,omitempty"` +} + +// DNSNameAvailabilityResult response for the CheckDnsNameAvailability API service call. +type DNSNameAvailabilityResult struct { + autorest.Response `json:"-"` + // Available - Domain availability (True/False). + Available *bool `json:"available,omitempty"` +} + +// EffectiveNetworkSecurityGroup effective network security group. +type EffectiveNetworkSecurityGroup struct { + // NetworkSecurityGroup - The ID of network security group that is applied. + NetworkSecurityGroup *SubResource `json:"networkSecurityGroup,omitempty"` + // Association - Associated resources. + Association *EffectiveNetworkSecurityGroupAssociation `json:"association,omitempty"` + // EffectiveSecurityRules - A collection of effective security rules. + EffectiveSecurityRules *[]EffectiveNetworkSecurityRule `json:"effectiveSecurityRules,omitempty"` + // TagMap - Mapping of tags to list of IP Addresses included within the tag. + TagMap map[string][]string `json:"tagMap"` +} + +// MarshalJSON is the custom marshaler for EffectiveNetworkSecurityGroup. +func (ensg EffectiveNetworkSecurityGroup) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if ensg.NetworkSecurityGroup != nil { + objectMap["networkSecurityGroup"] = ensg.NetworkSecurityGroup + } + if ensg.Association != nil { + objectMap["association"] = ensg.Association + } + if ensg.EffectiveSecurityRules != nil { + objectMap["effectiveSecurityRules"] = ensg.EffectiveSecurityRules + } + if ensg.TagMap != nil { + objectMap["tagMap"] = ensg.TagMap + } + return json.Marshal(objectMap) +} + +// EffectiveNetworkSecurityGroupAssociation the effective network security group association. +type EffectiveNetworkSecurityGroupAssociation struct { + // Subnet - The ID of the subnet if assigned. + Subnet *SubResource `json:"subnet,omitempty"` + // NetworkInterface - The ID of the network interface if assigned. + NetworkInterface *SubResource `json:"networkInterface,omitempty"` +} + +// EffectiveNetworkSecurityGroupListResult response for list effective network security groups API service +// call. +type EffectiveNetworkSecurityGroupListResult struct { + autorest.Response `json:"-"` + // Value - A list of effective network security groups. + Value *[]EffectiveNetworkSecurityGroup `json:"value,omitempty"` + // NextLink - READ-ONLY; The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// EffectiveNetworkSecurityRule effective network security rules. +type EffectiveNetworkSecurityRule struct { + // Name - The name of the security rule specified by the user (if created by the user). + Name *string `json:"name,omitempty"` + // Protocol - The network protocol this rule applies to. Possible values include: 'EffectiveSecurityRuleProtocolTCP', 'EffectiveSecurityRuleProtocolUDP', 'EffectiveSecurityRuleProtocolAll' + Protocol EffectiveSecurityRuleProtocol `json:"protocol,omitempty"` + // SourcePortRange - The source port or range. + SourcePortRange *string `json:"sourcePortRange,omitempty"` + // DestinationPortRange - The destination port or range. + DestinationPortRange *string `json:"destinationPortRange,omitempty"` + // SourcePortRanges - The source port ranges. Expected values include a single integer between 0 and 65535, a range using '-' as separator (e.g. 100-400), or an asterisk (*). + SourcePortRanges *[]string `json:"sourcePortRanges,omitempty"` + // DestinationPortRanges - The destination port ranges. Expected values include a single integer between 0 and 65535, a range using '-' as separator (e.g. 100-400), or an asterisk (*). + DestinationPortRanges *[]string `json:"destinationPortRanges,omitempty"` + // SourceAddressPrefix - The source address prefix. + SourceAddressPrefix *string `json:"sourceAddressPrefix,omitempty"` + // DestinationAddressPrefix - The destination address prefix. + DestinationAddressPrefix *string `json:"destinationAddressPrefix,omitempty"` + // SourceAddressPrefixes - The source address prefixes. Expected values include CIDR IP ranges, Default Tags (VirtualNetwork, AzureLoadBalancer, Internet), System Tags, and the asterisk (*). + SourceAddressPrefixes *[]string `json:"sourceAddressPrefixes,omitempty"` + // DestinationAddressPrefixes - The destination address prefixes. Expected values include CIDR IP ranges, Default Tags (VirtualNetwork, AzureLoadBalancer, Internet), System Tags, and the asterisk (*). + DestinationAddressPrefixes *[]string `json:"destinationAddressPrefixes,omitempty"` + // ExpandedSourceAddressPrefix - The expanded source address prefix. + ExpandedSourceAddressPrefix *[]string `json:"expandedSourceAddressPrefix,omitempty"` + // ExpandedDestinationAddressPrefix - Expanded destination address prefix. + ExpandedDestinationAddressPrefix *[]string `json:"expandedDestinationAddressPrefix,omitempty"` + // Access - Whether network traffic is allowed or denied. Possible values include: 'SecurityRuleAccessAllow', 'SecurityRuleAccessDeny' + Access SecurityRuleAccess `json:"access,omitempty"` + // Priority - The priority of the rule. + Priority *int32 `json:"priority,omitempty"` + // Direction - The direction of the rule. Possible values include: 'SecurityRuleDirectionInbound', 'SecurityRuleDirectionOutbound' + Direction SecurityRuleDirection `json:"direction,omitempty"` +} + +// EffectiveRoute effective Route. +type EffectiveRoute struct { + // Name - The name of the user defined route. This is optional. + Name *string `json:"name,omitempty"` + // DisableBgpRoutePropagation - If true, on-premises routes are not propagated to the network interfaces in the subnet. + DisableBgpRoutePropagation *bool `json:"disableBgpRoutePropagation,omitempty"` + // Source - Who created the route. Possible values include: 'EffectiveRouteSourceUnknown', 'EffectiveRouteSourceUser', 'EffectiveRouteSourceVirtualNetworkGateway', 'EffectiveRouteSourceDefault' + Source EffectiveRouteSource `json:"source,omitempty"` + // State - The value of effective route. Possible values include: 'Active', 'Invalid' + State EffectiveRouteState `json:"state,omitempty"` + // AddressPrefix - The address prefixes of the effective routes in CIDR notation. + AddressPrefix *[]string `json:"addressPrefix,omitempty"` + // NextHopIPAddress - The IP address of the next hop of the effective route. + NextHopIPAddress *[]string `json:"nextHopIpAddress,omitempty"` + // NextHopType - The type of Azure hop the packet should be sent to. Possible values include: 'RouteNextHopTypeVirtualNetworkGateway', 'RouteNextHopTypeVnetLocal', 'RouteNextHopTypeInternet', 'RouteNextHopTypeVirtualAppliance', 'RouteNextHopTypeNone' + NextHopType RouteNextHopType `json:"nextHopType,omitempty"` +} + +// EffectiveRouteListResult response for list effective route API service call. +type EffectiveRouteListResult struct { + autorest.Response `json:"-"` + // Value - A list of effective routes. + Value *[]EffectiveRoute `json:"value,omitempty"` + // NextLink - READ-ONLY; The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// EndpointServiceResult endpoint service. +type EndpointServiceResult struct { + // Name - READ-ONLY; Name of the endpoint service. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Type of the endpoint service. + Type *string `json:"type,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// EndpointServicesListResult response for the ListAvailableEndpointServices API service call. +type EndpointServicesListResult struct { + autorest.Response `json:"-"` + // Value - List of available endpoint services in a region. + Value *[]EndpointServiceResult `json:"value,omitempty"` + // NextLink - The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// EndpointServicesListResultIterator provides access to a complete listing of EndpointServiceResult +// values. +type EndpointServicesListResultIterator struct { + i int + page EndpointServicesListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *EndpointServicesListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/EndpointServicesListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *EndpointServicesListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter EndpointServicesListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter EndpointServicesListResultIterator) Response() EndpointServicesListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter EndpointServicesListResultIterator) Value() EndpointServiceResult { + if !iter.page.NotDone() { + return EndpointServiceResult{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the EndpointServicesListResultIterator type. +func NewEndpointServicesListResultIterator(page EndpointServicesListResultPage) EndpointServicesListResultIterator { + return EndpointServicesListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (eslr EndpointServicesListResult) IsEmpty() bool { + return eslr.Value == nil || len(*eslr.Value) == 0 +} + +// endpointServicesListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (eslr EndpointServicesListResult) endpointServicesListResultPreparer(ctx context.Context) (*http.Request, error) { + if eslr.NextLink == nil || len(to.String(eslr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(eslr.NextLink))) +} + +// EndpointServicesListResultPage contains a page of EndpointServiceResult values. +type EndpointServicesListResultPage struct { + fn func(context.Context, EndpointServicesListResult) (EndpointServicesListResult, error) + eslr EndpointServicesListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *EndpointServicesListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/EndpointServicesListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.eslr) + if err != nil { + return err + } + page.eslr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *EndpointServicesListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page EndpointServicesListResultPage) NotDone() bool { + return !page.eslr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page EndpointServicesListResultPage) Response() EndpointServicesListResult { + return page.eslr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page EndpointServicesListResultPage) Values() []EndpointServiceResult { + if page.eslr.IsEmpty() { + return nil + } + return *page.eslr.Value +} + +// Creates a new instance of the EndpointServicesListResultPage type. +func NewEndpointServicesListResultPage(getNextPage func(context.Context, EndpointServicesListResult) (EndpointServicesListResult, error)) EndpointServicesListResultPage { + return EndpointServicesListResultPage{fn: getNextPage} +} + +// Error common error representation. +type Error struct { + // Code - Error code. + Code *string `json:"code,omitempty"` + // Message - Error message. + Message *string `json:"message,omitempty"` + // Target - Error target. + Target *string `json:"target,omitempty"` + // Details - Error details. + Details *[]ErrorDetails `json:"details,omitempty"` + // InnerError - Inner error message. + InnerError *string `json:"innerError,omitempty"` +} + +// ErrorDetails common error details representation. +type ErrorDetails struct { + // Code - Error code. + Code *string `json:"code,omitempty"` + // Target - Error target. + Target *string `json:"target,omitempty"` + // Message - Error message. + Message *string `json:"message,omitempty"` +} + +// ErrorResponse the error object. +type ErrorResponse struct { + // Error - The error details object. + Error *ErrorDetails `json:"error,omitempty"` +} + +// EvaluatedNetworkSecurityGroup results of network security group evaluation. +type EvaluatedNetworkSecurityGroup struct { + // NetworkSecurityGroupID - Network security group ID. + NetworkSecurityGroupID *string `json:"networkSecurityGroupId,omitempty"` + // AppliedTo - Resource ID of nic or subnet to which network security group is applied. + AppliedTo *string `json:"appliedTo,omitempty"` + // MatchedRule - Matched network security rule. + MatchedRule *MatchedRule `json:"matchedRule,omitempty"` + // RulesEvaluationResult - READ-ONLY; List of network security rules evaluation results. + RulesEvaluationResult *[]SecurityRulesEvaluationResult `json:"rulesEvaluationResult,omitempty"` +} + +// ExpressRouteCircuit expressRouteCircuit resource. +type ExpressRouteCircuit struct { + autorest.Response `json:"-"` + // Sku - The SKU. + Sku *ExpressRouteCircuitSku `json:"sku,omitempty"` + // ExpressRouteCircuitPropertiesFormat - Properties of the express route circuit. + *ExpressRouteCircuitPropertiesFormat `json:"properties,omitempty"` + // Etag - READ-ONLY; A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for ExpressRouteCircuit. +func (erc ExpressRouteCircuit) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if erc.Sku != nil { + objectMap["sku"] = erc.Sku + } + if erc.ExpressRouteCircuitPropertiesFormat != nil { + objectMap["properties"] = erc.ExpressRouteCircuitPropertiesFormat + } + if erc.ID != nil { + objectMap["id"] = erc.ID + } + if erc.Location != nil { + objectMap["location"] = erc.Location + } + if erc.Tags != nil { + objectMap["tags"] = erc.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ExpressRouteCircuit struct. +func (erc *ExpressRouteCircuit) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "sku": + if v != nil { + var sku ExpressRouteCircuitSku + err = json.Unmarshal(*v, &sku) + if err != nil { + return err + } + erc.Sku = &sku + } + case "properties": + if v != nil { + var expressRouteCircuitPropertiesFormat ExpressRouteCircuitPropertiesFormat + err = json.Unmarshal(*v, &expressRouteCircuitPropertiesFormat) + if err != nil { + return err + } + erc.ExpressRouteCircuitPropertiesFormat = &expressRouteCircuitPropertiesFormat + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + erc.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + erc.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + erc.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + erc.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + erc.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + erc.Tags = tags + } + } + } + + return nil +} + +// ExpressRouteCircuitArpTable the ARP table associated with the ExpressRouteCircuit. +type ExpressRouteCircuitArpTable struct { + // Age - Entry age in minutes. + Age *int32 `json:"age,omitempty"` + // Interface - Interface address. + Interface *string `json:"interface,omitempty"` + // IPAddress - The IP address. + IPAddress *string `json:"ipAddress,omitempty"` + // MacAddress - The MAC address. + MacAddress *string `json:"macAddress,omitempty"` +} + +// ExpressRouteCircuitAuthorization authorization in an ExpressRouteCircuit resource. +type ExpressRouteCircuitAuthorization struct { + autorest.Response `json:"-"` + // AuthorizationPropertiesFormat - Properties of the express route circuit authorization. + *AuthorizationPropertiesFormat `json:"properties,omitempty"` + // Name - The name of the resource that is unique within a resource group. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + // Etag - READ-ONLY; A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // Type - READ-ONLY; Type of the resource. + Type *string `json:"type,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for ExpressRouteCircuitAuthorization. +func (erca ExpressRouteCircuitAuthorization) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if erca.AuthorizationPropertiesFormat != nil { + objectMap["properties"] = erca.AuthorizationPropertiesFormat + } + if erca.Name != nil { + objectMap["name"] = erca.Name + } + if erca.ID != nil { + objectMap["id"] = erca.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ExpressRouteCircuitAuthorization struct. +func (erca *ExpressRouteCircuitAuthorization) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var authorizationPropertiesFormat AuthorizationPropertiesFormat + err = json.Unmarshal(*v, &authorizationPropertiesFormat) + if err != nil { + return err + } + erca.AuthorizationPropertiesFormat = &authorizationPropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + erca.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + erca.Etag = &etag + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + erca.Type = &typeVar + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + erca.ID = &ID + } + } + } + + return nil +} + +// ExpressRouteCircuitAuthorizationsCreateOrUpdateFuture an abstraction for monitoring and retrieving the +// results of a long-running operation. +type ExpressRouteCircuitAuthorizationsCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ExpressRouteCircuitAuthorizationsCreateOrUpdateFuture) Result(client ExpressRouteCircuitAuthorizationsClient) (erca ExpressRouteCircuitAuthorization, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitAuthorizationsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.ExpressRouteCircuitAuthorizationsCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if erca.Response.Response, err = future.GetResult(sender); err == nil && erca.Response.Response.StatusCode != http.StatusNoContent { + erca, err = client.CreateOrUpdateResponder(erca.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitAuthorizationsCreateOrUpdateFuture", "Result", erca.Response.Response, "Failure responding to request") + } + } + return +} + +// ExpressRouteCircuitAuthorizationsDeleteFuture an abstraction for monitoring and retrieving the results +// of a long-running operation. +type ExpressRouteCircuitAuthorizationsDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ExpressRouteCircuitAuthorizationsDeleteFuture) Result(client ExpressRouteCircuitAuthorizationsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitAuthorizationsDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.ExpressRouteCircuitAuthorizationsDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// ExpressRouteCircuitConnection express Route Circuit Connection in an ExpressRouteCircuitPeering +// resource. +type ExpressRouteCircuitConnection struct { + autorest.Response `json:"-"` + // ExpressRouteCircuitConnectionPropertiesFormat - Properties of the express route circuit connection. + *ExpressRouteCircuitConnectionPropertiesFormat `json:"properties,omitempty"` + // Name - The name of the resource that is unique within a resource group. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + // Etag - READ-ONLY; A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // Type - READ-ONLY; Type of the resource. + Type *string `json:"type,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for ExpressRouteCircuitConnection. +func (ercc ExpressRouteCircuitConnection) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if ercc.ExpressRouteCircuitConnectionPropertiesFormat != nil { + objectMap["properties"] = ercc.ExpressRouteCircuitConnectionPropertiesFormat + } + if ercc.Name != nil { + objectMap["name"] = ercc.Name + } + if ercc.ID != nil { + objectMap["id"] = ercc.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ExpressRouteCircuitConnection struct. +func (ercc *ExpressRouteCircuitConnection) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var expressRouteCircuitConnectionPropertiesFormat ExpressRouteCircuitConnectionPropertiesFormat + err = json.Unmarshal(*v, &expressRouteCircuitConnectionPropertiesFormat) + if err != nil { + return err + } + ercc.ExpressRouteCircuitConnectionPropertiesFormat = &expressRouteCircuitConnectionPropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + ercc.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + ercc.Etag = &etag + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ercc.Type = &typeVar + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + ercc.ID = &ID + } + } + } + + return nil +} + +// ExpressRouteCircuitConnectionListResult response for ListConnections API service call retrieves all +// global reach connections that belongs to a Private Peering for an ExpressRouteCircuit. +type ExpressRouteCircuitConnectionListResult struct { + autorest.Response `json:"-"` + // Value - The global reach connection associated with Private Peering in an ExpressRoute Circuit. + Value *[]ExpressRouteCircuitConnection `json:"value,omitempty"` + // NextLink - The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// ExpressRouteCircuitConnectionListResultIterator provides access to a complete listing of +// ExpressRouteCircuitConnection values. +type ExpressRouteCircuitConnectionListResultIterator struct { + i int + page ExpressRouteCircuitConnectionListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *ExpressRouteCircuitConnectionListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCircuitConnectionListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *ExpressRouteCircuitConnectionListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter ExpressRouteCircuitConnectionListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter ExpressRouteCircuitConnectionListResultIterator) Response() ExpressRouteCircuitConnectionListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter ExpressRouteCircuitConnectionListResultIterator) Value() ExpressRouteCircuitConnection { + if !iter.page.NotDone() { + return ExpressRouteCircuitConnection{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the ExpressRouteCircuitConnectionListResultIterator type. +func NewExpressRouteCircuitConnectionListResultIterator(page ExpressRouteCircuitConnectionListResultPage) ExpressRouteCircuitConnectionListResultIterator { + return ExpressRouteCircuitConnectionListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (ercclr ExpressRouteCircuitConnectionListResult) IsEmpty() bool { + return ercclr.Value == nil || len(*ercclr.Value) == 0 +} + +// expressRouteCircuitConnectionListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (ercclr ExpressRouteCircuitConnectionListResult) expressRouteCircuitConnectionListResultPreparer(ctx context.Context) (*http.Request, error) { + if ercclr.NextLink == nil || len(to.String(ercclr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(ercclr.NextLink))) +} + +// ExpressRouteCircuitConnectionListResultPage contains a page of ExpressRouteCircuitConnection values. +type ExpressRouteCircuitConnectionListResultPage struct { + fn func(context.Context, ExpressRouteCircuitConnectionListResult) (ExpressRouteCircuitConnectionListResult, error) + ercclr ExpressRouteCircuitConnectionListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *ExpressRouteCircuitConnectionListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCircuitConnectionListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.ercclr) + if err != nil { + return err + } + page.ercclr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *ExpressRouteCircuitConnectionListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page ExpressRouteCircuitConnectionListResultPage) NotDone() bool { + return !page.ercclr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page ExpressRouteCircuitConnectionListResultPage) Response() ExpressRouteCircuitConnectionListResult { + return page.ercclr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page ExpressRouteCircuitConnectionListResultPage) Values() []ExpressRouteCircuitConnection { + if page.ercclr.IsEmpty() { + return nil + } + return *page.ercclr.Value +} + +// Creates a new instance of the ExpressRouteCircuitConnectionListResultPage type. +func NewExpressRouteCircuitConnectionListResultPage(getNextPage func(context.Context, ExpressRouteCircuitConnectionListResult) (ExpressRouteCircuitConnectionListResult, error)) ExpressRouteCircuitConnectionListResultPage { + return ExpressRouteCircuitConnectionListResultPage{fn: getNextPage} +} + +// ExpressRouteCircuitConnectionPropertiesFormat properties of the express route circuit connection. +type ExpressRouteCircuitConnectionPropertiesFormat struct { + // ExpressRouteCircuitPeering - Reference to Express Route Circuit Private Peering Resource of the circuit initiating connection. + ExpressRouteCircuitPeering *SubResource `json:"expressRouteCircuitPeering,omitempty"` + // PeerExpressRouteCircuitPeering - Reference to Express Route Circuit Private Peering Resource of the peered circuit. + PeerExpressRouteCircuitPeering *SubResource `json:"peerExpressRouteCircuitPeering,omitempty"` + // AddressPrefix - /29 IP address space to carve out Customer addresses for tunnels. + AddressPrefix *string `json:"addressPrefix,omitempty"` + // AuthorizationKey - The authorization key. + AuthorizationKey *string `json:"authorizationKey,omitempty"` + // CircuitConnectionStatus - Express Route Circuit connection state. Possible values include: 'Connected', 'Connecting', 'Disconnected' + CircuitConnectionStatus CircuitConnectionStatus `json:"circuitConnectionStatus,omitempty"` + // ProvisioningState - READ-ONLY; The provisioning state of the express route circuit connection resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// ExpressRouteCircuitConnectionsCreateOrUpdateFuture an abstraction for monitoring and retrieving the +// results of a long-running operation. +type ExpressRouteCircuitConnectionsCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ExpressRouteCircuitConnectionsCreateOrUpdateFuture) Result(client ExpressRouteCircuitConnectionsClient) (ercc ExpressRouteCircuitConnection, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitConnectionsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.ExpressRouteCircuitConnectionsCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if ercc.Response.Response, err = future.GetResult(sender); err == nil && ercc.Response.Response.StatusCode != http.StatusNoContent { + ercc, err = client.CreateOrUpdateResponder(ercc.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitConnectionsCreateOrUpdateFuture", "Result", ercc.Response.Response, "Failure responding to request") + } + } + return +} + +// ExpressRouteCircuitConnectionsDeleteFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type ExpressRouteCircuitConnectionsDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ExpressRouteCircuitConnectionsDeleteFuture) Result(client ExpressRouteCircuitConnectionsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitConnectionsDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.ExpressRouteCircuitConnectionsDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// ExpressRouteCircuitListResult response for ListExpressRouteCircuit API service call. +type ExpressRouteCircuitListResult struct { + autorest.Response `json:"-"` + // Value - A list of ExpressRouteCircuits in a resource group. + Value *[]ExpressRouteCircuit `json:"value,omitempty"` + // NextLink - The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// ExpressRouteCircuitListResultIterator provides access to a complete listing of ExpressRouteCircuit +// values. +type ExpressRouteCircuitListResultIterator struct { + i int + page ExpressRouteCircuitListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *ExpressRouteCircuitListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCircuitListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *ExpressRouteCircuitListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter ExpressRouteCircuitListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter ExpressRouteCircuitListResultIterator) Response() ExpressRouteCircuitListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter ExpressRouteCircuitListResultIterator) Value() ExpressRouteCircuit { + if !iter.page.NotDone() { + return ExpressRouteCircuit{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the ExpressRouteCircuitListResultIterator type. +func NewExpressRouteCircuitListResultIterator(page ExpressRouteCircuitListResultPage) ExpressRouteCircuitListResultIterator { + return ExpressRouteCircuitListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (erclr ExpressRouteCircuitListResult) IsEmpty() bool { + return erclr.Value == nil || len(*erclr.Value) == 0 +} + +// expressRouteCircuitListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (erclr ExpressRouteCircuitListResult) expressRouteCircuitListResultPreparer(ctx context.Context) (*http.Request, error) { + if erclr.NextLink == nil || len(to.String(erclr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(erclr.NextLink))) +} + +// ExpressRouteCircuitListResultPage contains a page of ExpressRouteCircuit values. +type ExpressRouteCircuitListResultPage struct { + fn func(context.Context, ExpressRouteCircuitListResult) (ExpressRouteCircuitListResult, error) + erclr ExpressRouteCircuitListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *ExpressRouteCircuitListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCircuitListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.erclr) + if err != nil { + return err + } + page.erclr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *ExpressRouteCircuitListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page ExpressRouteCircuitListResultPage) NotDone() bool { + return !page.erclr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page ExpressRouteCircuitListResultPage) Response() ExpressRouteCircuitListResult { + return page.erclr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page ExpressRouteCircuitListResultPage) Values() []ExpressRouteCircuit { + if page.erclr.IsEmpty() { + return nil + } + return *page.erclr.Value +} + +// Creates a new instance of the ExpressRouteCircuitListResultPage type. +func NewExpressRouteCircuitListResultPage(getNextPage func(context.Context, ExpressRouteCircuitListResult) (ExpressRouteCircuitListResult, error)) ExpressRouteCircuitListResultPage { + return ExpressRouteCircuitListResultPage{fn: getNextPage} +} + +// ExpressRouteCircuitPeering peering in an ExpressRouteCircuit resource. +type ExpressRouteCircuitPeering struct { + autorest.Response `json:"-"` + // ExpressRouteCircuitPeeringPropertiesFormat - Properties of the express route circuit peering. + *ExpressRouteCircuitPeeringPropertiesFormat `json:"properties,omitempty"` + // Name - The name of the resource that is unique within a resource group. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + // Etag - READ-ONLY; A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // Type - READ-ONLY; Type of the resource. + Type *string `json:"type,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for ExpressRouteCircuitPeering. +func (ercp ExpressRouteCircuitPeering) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if ercp.ExpressRouteCircuitPeeringPropertiesFormat != nil { + objectMap["properties"] = ercp.ExpressRouteCircuitPeeringPropertiesFormat + } + if ercp.Name != nil { + objectMap["name"] = ercp.Name + } + if ercp.ID != nil { + objectMap["id"] = ercp.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ExpressRouteCircuitPeering struct. +func (ercp *ExpressRouteCircuitPeering) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var expressRouteCircuitPeeringPropertiesFormat ExpressRouteCircuitPeeringPropertiesFormat + err = json.Unmarshal(*v, &expressRouteCircuitPeeringPropertiesFormat) + if err != nil { + return err + } + ercp.ExpressRouteCircuitPeeringPropertiesFormat = &expressRouteCircuitPeeringPropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + ercp.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + ercp.Etag = &etag + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ercp.Type = &typeVar + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + ercp.ID = &ID + } + } + } + + return nil +} + +// ExpressRouteCircuitPeeringConfig specifies the peering configuration. +type ExpressRouteCircuitPeeringConfig struct { + // AdvertisedPublicPrefixes - The reference of AdvertisedPublicPrefixes. + AdvertisedPublicPrefixes *[]string `json:"advertisedPublicPrefixes,omitempty"` + // AdvertisedCommunities - The communities of bgp peering. Specified for microsoft peering. + AdvertisedCommunities *[]string `json:"advertisedCommunities,omitempty"` + // AdvertisedPublicPrefixesState - The advertised public prefix state of the Peering resource. Possible values include: 'NotConfigured', 'Configuring', 'Configured', 'ValidationNeeded' + AdvertisedPublicPrefixesState ExpressRouteCircuitPeeringAdvertisedPublicPrefixState `json:"advertisedPublicPrefixesState,omitempty"` + // LegacyMode - The legacy mode of the peering. + LegacyMode *int32 `json:"legacyMode,omitempty"` + // CustomerASN - The CustomerASN of the peering. + CustomerASN *int32 `json:"customerASN,omitempty"` + // RoutingRegistryName - The RoutingRegistryName of the configuration. + RoutingRegistryName *string `json:"routingRegistryName,omitempty"` +} + +// ExpressRouteCircuitPeeringID expressRoute circuit peering identifier. +type ExpressRouteCircuitPeeringID struct { + // ID - The ID of the ExpressRoute circuit peering. + ID *string `json:"id,omitempty"` +} + +// ExpressRouteCircuitPeeringListResult response for ListPeering API service call retrieves all peerings +// that belong to an ExpressRouteCircuit. +type ExpressRouteCircuitPeeringListResult struct { + autorest.Response `json:"-"` + // Value - The peerings in an express route circuit. + Value *[]ExpressRouteCircuitPeering `json:"value,omitempty"` + // NextLink - The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// ExpressRouteCircuitPeeringListResultIterator provides access to a complete listing of +// ExpressRouteCircuitPeering values. +type ExpressRouteCircuitPeeringListResultIterator struct { + i int + page ExpressRouteCircuitPeeringListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *ExpressRouteCircuitPeeringListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCircuitPeeringListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *ExpressRouteCircuitPeeringListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter ExpressRouteCircuitPeeringListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter ExpressRouteCircuitPeeringListResultIterator) Response() ExpressRouteCircuitPeeringListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter ExpressRouteCircuitPeeringListResultIterator) Value() ExpressRouteCircuitPeering { + if !iter.page.NotDone() { + return ExpressRouteCircuitPeering{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the ExpressRouteCircuitPeeringListResultIterator type. +func NewExpressRouteCircuitPeeringListResultIterator(page ExpressRouteCircuitPeeringListResultPage) ExpressRouteCircuitPeeringListResultIterator { + return ExpressRouteCircuitPeeringListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (ercplr ExpressRouteCircuitPeeringListResult) IsEmpty() bool { + return ercplr.Value == nil || len(*ercplr.Value) == 0 +} + +// expressRouteCircuitPeeringListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (ercplr ExpressRouteCircuitPeeringListResult) expressRouteCircuitPeeringListResultPreparer(ctx context.Context) (*http.Request, error) { + if ercplr.NextLink == nil || len(to.String(ercplr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(ercplr.NextLink))) +} + +// ExpressRouteCircuitPeeringListResultPage contains a page of ExpressRouteCircuitPeering values. +type ExpressRouteCircuitPeeringListResultPage struct { + fn func(context.Context, ExpressRouteCircuitPeeringListResult) (ExpressRouteCircuitPeeringListResult, error) + ercplr ExpressRouteCircuitPeeringListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *ExpressRouteCircuitPeeringListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCircuitPeeringListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.ercplr) + if err != nil { + return err + } + page.ercplr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *ExpressRouteCircuitPeeringListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page ExpressRouteCircuitPeeringListResultPage) NotDone() bool { + return !page.ercplr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page ExpressRouteCircuitPeeringListResultPage) Response() ExpressRouteCircuitPeeringListResult { + return page.ercplr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page ExpressRouteCircuitPeeringListResultPage) Values() []ExpressRouteCircuitPeering { + if page.ercplr.IsEmpty() { + return nil + } + return *page.ercplr.Value +} + +// Creates a new instance of the ExpressRouteCircuitPeeringListResultPage type. +func NewExpressRouteCircuitPeeringListResultPage(getNextPage func(context.Context, ExpressRouteCircuitPeeringListResult) (ExpressRouteCircuitPeeringListResult, error)) ExpressRouteCircuitPeeringListResultPage { + return ExpressRouteCircuitPeeringListResultPage{fn: getNextPage} +} + +// ExpressRouteCircuitPeeringPropertiesFormat properties of the express route circuit peering. +type ExpressRouteCircuitPeeringPropertiesFormat struct { + // PeeringType - The peering type. Possible values include: 'AzurePublicPeering', 'AzurePrivatePeering', 'MicrosoftPeering' + PeeringType ExpressRoutePeeringType `json:"peeringType,omitempty"` + // State - The peering state. Possible values include: 'ExpressRoutePeeringStateDisabled', 'ExpressRoutePeeringStateEnabled' + State ExpressRoutePeeringState `json:"state,omitempty"` + // AzureASN - The Azure ASN. + AzureASN *int32 `json:"azureASN,omitempty"` + // PeerASN - The peer ASN. + PeerASN *int64 `json:"peerASN,omitempty"` + // PrimaryPeerAddressPrefix - The primary address prefix. + PrimaryPeerAddressPrefix *string `json:"primaryPeerAddressPrefix,omitempty"` + // SecondaryPeerAddressPrefix - The secondary address prefix. + SecondaryPeerAddressPrefix *string `json:"secondaryPeerAddressPrefix,omitempty"` + // PrimaryAzurePort - The primary port. + PrimaryAzurePort *string `json:"primaryAzurePort,omitempty"` + // SecondaryAzurePort - The secondary port. + SecondaryAzurePort *string `json:"secondaryAzurePort,omitempty"` + // SharedKey - The shared key. + SharedKey *string `json:"sharedKey,omitempty"` + // VlanID - The VLAN ID. + VlanID *int32 `json:"vlanId,omitempty"` + // MicrosoftPeeringConfig - The Microsoft peering configuration. + MicrosoftPeeringConfig *ExpressRouteCircuitPeeringConfig `json:"microsoftPeeringConfig,omitempty"` + // Stats - The peering stats of express route circuit. + Stats *ExpressRouteCircuitStats `json:"stats,omitempty"` + // ProvisioningState - The provisioning state of the express route circuit peering resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + // GatewayManagerEtag - The GatewayManager Etag. + GatewayManagerEtag *string `json:"gatewayManagerEtag,omitempty"` + // LastModifiedBy - Who was the last to modify the peering. + LastModifiedBy *string `json:"lastModifiedBy,omitempty"` + // RouteFilter - The reference of the RouteFilter resource. + RouteFilter *SubResource `json:"routeFilter,omitempty"` + // Ipv6PeeringConfig - The IPv6 peering configuration. + Ipv6PeeringConfig *Ipv6ExpressRouteCircuitPeeringConfig `json:"ipv6PeeringConfig,omitempty"` + // ExpressRouteConnection - The ExpressRoute connection. + ExpressRouteConnection *ExpressRouteConnectionID `json:"expressRouteConnection,omitempty"` + // Connections - The list of circuit connections associated with Azure Private Peering for this circuit. + Connections *[]ExpressRouteCircuitConnection `json:"connections,omitempty"` + // PeeredConnections - READ-ONLY; The list of peered circuit connections associated with Azure Private Peering for this circuit. + PeeredConnections *[]PeerExpressRouteCircuitConnection `json:"peeredConnections,omitempty"` +} + +// ExpressRouteCircuitPeeringsCreateOrUpdateFuture an abstraction for monitoring and retrieving the results +// of a long-running operation. +type ExpressRouteCircuitPeeringsCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ExpressRouteCircuitPeeringsCreateOrUpdateFuture) Result(client ExpressRouteCircuitPeeringsClient) (ercp ExpressRouteCircuitPeering, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitPeeringsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.ExpressRouteCircuitPeeringsCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if ercp.Response.Response, err = future.GetResult(sender); err == nil && ercp.Response.Response.StatusCode != http.StatusNoContent { + ercp, err = client.CreateOrUpdateResponder(ercp.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitPeeringsCreateOrUpdateFuture", "Result", ercp.Response.Response, "Failure responding to request") + } + } + return +} + +// ExpressRouteCircuitPeeringsDeleteFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type ExpressRouteCircuitPeeringsDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ExpressRouteCircuitPeeringsDeleteFuture) Result(client ExpressRouteCircuitPeeringsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitPeeringsDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.ExpressRouteCircuitPeeringsDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// ExpressRouteCircuitPropertiesFormat properties of ExpressRouteCircuit. +type ExpressRouteCircuitPropertiesFormat struct { + // AllowClassicOperations - Allow classic operations. + AllowClassicOperations *bool `json:"allowClassicOperations,omitempty"` + // CircuitProvisioningState - The CircuitProvisioningState state of the resource. + CircuitProvisioningState *string `json:"circuitProvisioningState,omitempty"` + // ServiceProviderProvisioningState - The ServiceProviderProvisioningState state of the resource. Possible values include: 'NotProvisioned', 'Provisioning', 'Provisioned', 'Deprovisioning' + ServiceProviderProvisioningState ServiceProviderProvisioningState `json:"serviceProviderProvisioningState,omitempty"` + // Authorizations - The list of authorizations. + Authorizations *[]ExpressRouteCircuitAuthorization `json:"authorizations,omitempty"` + // Peerings - The list of peerings. + Peerings *[]ExpressRouteCircuitPeering `json:"peerings,omitempty"` + // ServiceKey - The ServiceKey. + ServiceKey *string `json:"serviceKey,omitempty"` + // ServiceProviderNotes - The ServiceProviderNotes. + ServiceProviderNotes *string `json:"serviceProviderNotes,omitempty"` + // ServiceProviderProperties - The ServiceProviderProperties. + ServiceProviderProperties *ExpressRouteCircuitServiceProviderProperties `json:"serviceProviderProperties,omitempty"` + // ExpressRoutePort - The reference to the ExpressRoutePort resource when the circuit is provisioned on an ExpressRoutePort resource. + ExpressRoutePort *SubResource `json:"expressRoutePort,omitempty"` + // BandwidthInGbps - The bandwidth of the circuit when the circuit is provisioned on an ExpressRoutePort resource. + BandwidthInGbps *float64 `json:"bandwidthInGbps,omitempty"` + // Stag - READ-ONLY; The identifier of the circuit traffic. Outer tag for QinQ encapsulation. + Stag *int32 `json:"stag,omitempty"` + // ProvisioningState - The provisioning state of the express route circuit resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + // GatewayManagerEtag - The GatewayManager Etag. + GatewayManagerEtag *string `json:"gatewayManagerEtag,omitempty"` + // GlobalReachEnabled - Flag denoting Global reach status. + GlobalReachEnabled *bool `json:"globalReachEnabled,omitempty"` +} + +// ExpressRouteCircuitReference reference to an express route circuit. +type ExpressRouteCircuitReference struct { + // ID - Corresponding Express Route Circuit Id. + ID *string `json:"id,omitempty"` +} + +// ExpressRouteCircuitRoutesTable the routes table associated with the ExpressRouteCircuit. +type ExpressRouteCircuitRoutesTable struct { + // NetworkProperty - IP address of a network entity. + NetworkProperty *string `json:"network,omitempty"` + // NextHop - NextHop address. + NextHop *string `json:"nextHop,omitempty"` + // LocPrf - Local preference value as set with the set local-preference route-map configuration command. + LocPrf *string `json:"locPrf,omitempty"` + // Weight - Route Weight. + Weight *int32 `json:"weight,omitempty"` + // Path - Autonomous system paths to the destination network. + Path *string `json:"path,omitempty"` +} + +// ExpressRouteCircuitRoutesTableSummary the routes table associated with the ExpressRouteCircuit. +type ExpressRouteCircuitRoutesTableSummary struct { + // Neighbor - IP address of the neighbor. + Neighbor *string `json:"neighbor,omitempty"` + // V - BGP version number spoken to the neighbor. + V *int32 `json:"v,omitempty"` + // As - Autonomous system number. + As *int32 `json:"as,omitempty"` + // UpDown - The length of time that the BGP session has been in the Established state, or the current status if not in the Established state. + UpDown *string `json:"upDown,omitempty"` + // StatePfxRcd - Current state of the BGP session, and the number of prefixes that have been received from a neighbor or peer group. + StatePfxRcd *string `json:"statePfxRcd,omitempty"` +} + +// ExpressRouteCircuitsArpTableListResult response for ListArpTable associated with the Express Route +// Circuits API. +type ExpressRouteCircuitsArpTableListResult struct { + autorest.Response `json:"-"` + // Value - A list of the ARP tables. + Value *[]ExpressRouteCircuitArpTable `json:"value,omitempty"` + // NextLink - The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// ExpressRouteCircuitsCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type ExpressRouteCircuitsCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ExpressRouteCircuitsCreateOrUpdateFuture) Result(client ExpressRouteCircuitsClient) (erc ExpressRouteCircuit, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.ExpressRouteCircuitsCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if erc.Response.Response, err = future.GetResult(sender); err == nil && erc.Response.Response.StatusCode != http.StatusNoContent { + erc, err = client.CreateOrUpdateResponder(erc.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitsCreateOrUpdateFuture", "Result", erc.Response.Response, "Failure responding to request") + } + } + return +} + +// ExpressRouteCircuitsDeleteFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type ExpressRouteCircuitsDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ExpressRouteCircuitsDeleteFuture) Result(client ExpressRouteCircuitsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitsDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.ExpressRouteCircuitsDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// ExpressRouteCircuitServiceProviderProperties contains ServiceProviderProperties in an +// ExpressRouteCircuit. +type ExpressRouteCircuitServiceProviderProperties struct { + // ServiceProviderName - The serviceProviderName. + ServiceProviderName *string `json:"serviceProviderName,omitempty"` + // PeeringLocation - The peering location. + PeeringLocation *string `json:"peeringLocation,omitempty"` + // BandwidthInMbps - The BandwidthInMbps. + BandwidthInMbps *int32 `json:"bandwidthInMbps,omitempty"` +} + +// ExpressRouteCircuitSku contains SKU in an ExpressRouteCircuit. +type ExpressRouteCircuitSku struct { + // Name - The name of the SKU. + Name *string `json:"name,omitempty"` + // Tier - The tier of the SKU. Possible values include: 'ExpressRouteCircuitSkuTierStandard', 'ExpressRouteCircuitSkuTierPremium', 'ExpressRouteCircuitSkuTierBasic', 'ExpressRouteCircuitSkuTierLocal' + Tier ExpressRouteCircuitSkuTier `json:"tier,omitempty"` + // Family - The family of the SKU. Possible values include: 'UnlimitedData', 'MeteredData' + Family ExpressRouteCircuitSkuFamily `json:"family,omitempty"` +} + +// ExpressRouteCircuitsListArpTableFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type ExpressRouteCircuitsListArpTableFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ExpressRouteCircuitsListArpTableFuture) Result(client ExpressRouteCircuitsClient) (ercatlr ExpressRouteCircuitsArpTableListResult, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitsListArpTableFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.ExpressRouteCircuitsListArpTableFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if ercatlr.Response.Response, err = future.GetResult(sender); err == nil && ercatlr.Response.Response.StatusCode != http.StatusNoContent { + ercatlr, err = client.ListArpTableResponder(ercatlr.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitsListArpTableFuture", "Result", ercatlr.Response.Response, "Failure responding to request") + } + } + return +} + +// ExpressRouteCircuitsListRoutesTableFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type ExpressRouteCircuitsListRoutesTableFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ExpressRouteCircuitsListRoutesTableFuture) Result(client ExpressRouteCircuitsClient) (ercrtlr ExpressRouteCircuitsRoutesTableListResult, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitsListRoutesTableFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.ExpressRouteCircuitsListRoutesTableFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if ercrtlr.Response.Response, err = future.GetResult(sender); err == nil && ercrtlr.Response.Response.StatusCode != http.StatusNoContent { + ercrtlr, err = client.ListRoutesTableResponder(ercrtlr.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitsListRoutesTableFuture", "Result", ercrtlr.Response.Response, "Failure responding to request") + } + } + return +} + +// ExpressRouteCircuitsListRoutesTableSummaryFuture an abstraction for monitoring and retrieving the +// results of a long-running operation. +type ExpressRouteCircuitsListRoutesTableSummaryFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ExpressRouteCircuitsListRoutesTableSummaryFuture) Result(client ExpressRouteCircuitsClient) (ercrtslr ExpressRouteCircuitsRoutesTableSummaryListResult, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitsListRoutesTableSummaryFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.ExpressRouteCircuitsListRoutesTableSummaryFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if ercrtslr.Response.Response, err = future.GetResult(sender); err == nil && ercrtslr.Response.Response.StatusCode != http.StatusNoContent { + ercrtslr, err = client.ListRoutesTableSummaryResponder(ercrtslr.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitsListRoutesTableSummaryFuture", "Result", ercrtslr.Response.Response, "Failure responding to request") + } + } + return +} + +// ExpressRouteCircuitsRoutesTableListResult response for ListRoutesTable associated with the Express Route +// Circuits API. +type ExpressRouteCircuitsRoutesTableListResult struct { + autorest.Response `json:"-"` + // Value - The list of routes table. + Value *[]ExpressRouteCircuitRoutesTable `json:"value,omitempty"` + // NextLink - The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// ExpressRouteCircuitsRoutesTableSummaryListResult response for ListRoutesTable associated with the +// Express Route Circuits API. +type ExpressRouteCircuitsRoutesTableSummaryListResult struct { + autorest.Response `json:"-"` + // Value - A list of the routes table. + Value *[]ExpressRouteCircuitRoutesTableSummary `json:"value,omitempty"` + // NextLink - The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// ExpressRouteCircuitStats contains stats associated with the peering. +type ExpressRouteCircuitStats struct { + autorest.Response `json:"-"` + // PrimarybytesIn - The Primary BytesIn of the peering. + PrimarybytesIn *int64 `json:"primarybytesIn,omitempty"` + // PrimarybytesOut - The primary BytesOut of the peering. + PrimarybytesOut *int64 `json:"primarybytesOut,omitempty"` + // SecondarybytesIn - The secondary BytesIn of the peering. + SecondarybytesIn *int64 `json:"secondarybytesIn,omitempty"` + // SecondarybytesOut - The secondary BytesOut of the peering. + SecondarybytesOut *int64 `json:"secondarybytesOut,omitempty"` +} + +// ExpressRouteCircuitsUpdateTagsFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type ExpressRouteCircuitsUpdateTagsFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ExpressRouteCircuitsUpdateTagsFuture) Result(client ExpressRouteCircuitsClient) (erc ExpressRouteCircuit, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitsUpdateTagsFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.ExpressRouteCircuitsUpdateTagsFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if erc.Response.Response, err = future.GetResult(sender); err == nil && erc.Response.Response.StatusCode != http.StatusNoContent { + erc, err = client.UpdateTagsResponder(erc.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCircuitsUpdateTagsFuture", "Result", erc.Response.Response, "Failure responding to request") + } + } + return +} + +// ExpressRouteConnection expressRouteConnection resource. +type ExpressRouteConnection struct { + autorest.Response `json:"-"` + // ExpressRouteConnectionProperties - Properties of the express route connection. + *ExpressRouteConnectionProperties `json:"properties,omitempty"` + // Name - The name of the resource. + Name *string `json:"name,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for ExpressRouteConnection. +func (erc ExpressRouteConnection) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if erc.ExpressRouteConnectionProperties != nil { + objectMap["properties"] = erc.ExpressRouteConnectionProperties + } + if erc.Name != nil { + objectMap["name"] = erc.Name + } + if erc.ID != nil { + objectMap["id"] = erc.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ExpressRouteConnection struct. +func (erc *ExpressRouteConnection) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var expressRouteConnectionProperties ExpressRouteConnectionProperties + err = json.Unmarshal(*v, &expressRouteConnectionProperties) + if err != nil { + return err + } + erc.ExpressRouteConnectionProperties = &expressRouteConnectionProperties + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + erc.Name = &name + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + erc.ID = &ID + } + } + } + + return nil +} + +// ExpressRouteConnectionID the ID of the ExpressRouteConnection. +type ExpressRouteConnectionID struct { + // ID - READ-ONLY; The ID of the ExpressRouteConnection. + ID *string `json:"id,omitempty"` +} + +// ExpressRouteConnectionList expressRouteConnection list. +type ExpressRouteConnectionList struct { + autorest.Response `json:"-"` + // Value - The list of ExpressRoute connections. + Value *[]ExpressRouteConnection `json:"value,omitempty"` +} + +// ExpressRouteConnectionProperties properties of the ExpressRouteConnection subresource. +type ExpressRouteConnectionProperties struct { + // ProvisioningState - The provisioning state of the express route connection resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + // ExpressRouteCircuitPeering - The ExpressRoute circuit peering. + ExpressRouteCircuitPeering *ExpressRouteCircuitPeeringID `json:"expressRouteCircuitPeering,omitempty"` + // AuthorizationKey - Authorization key to establish the connection. + AuthorizationKey *string `json:"authorizationKey,omitempty"` + // RoutingWeight - The routing weight associated to the connection. + RoutingWeight *int32 `json:"routingWeight,omitempty"` +} + +// ExpressRouteConnectionsCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of +// a long-running operation. +type ExpressRouteConnectionsCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ExpressRouteConnectionsCreateOrUpdateFuture) Result(client ExpressRouteConnectionsClient) (erc ExpressRouteConnection, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteConnectionsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.ExpressRouteConnectionsCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if erc.Response.Response, err = future.GetResult(sender); err == nil && erc.Response.Response.StatusCode != http.StatusNoContent { + erc, err = client.CreateOrUpdateResponder(erc.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteConnectionsCreateOrUpdateFuture", "Result", erc.Response.Response, "Failure responding to request") + } + } + return +} + +// ExpressRouteConnectionsDeleteFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type ExpressRouteConnectionsDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ExpressRouteConnectionsDeleteFuture) Result(client ExpressRouteConnectionsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteConnectionsDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.ExpressRouteConnectionsDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// ExpressRouteCrossConnection expressRouteCrossConnection resource. +type ExpressRouteCrossConnection struct { + autorest.Response `json:"-"` + // ExpressRouteCrossConnectionProperties - Properties of the express route cross connection. + *ExpressRouteCrossConnectionProperties `json:"properties,omitempty"` + // Etag - READ-ONLY; A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for ExpressRouteCrossConnection. +func (ercc ExpressRouteCrossConnection) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if ercc.ExpressRouteCrossConnectionProperties != nil { + objectMap["properties"] = ercc.ExpressRouteCrossConnectionProperties + } + if ercc.ID != nil { + objectMap["id"] = ercc.ID + } + if ercc.Location != nil { + objectMap["location"] = ercc.Location + } + if ercc.Tags != nil { + objectMap["tags"] = ercc.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ExpressRouteCrossConnection struct. +func (ercc *ExpressRouteCrossConnection) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var expressRouteCrossConnectionProperties ExpressRouteCrossConnectionProperties + err = json.Unmarshal(*v, &expressRouteCrossConnectionProperties) + if err != nil { + return err + } + ercc.ExpressRouteCrossConnectionProperties = &expressRouteCrossConnectionProperties + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + ercc.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + ercc.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + ercc.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ercc.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + ercc.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + ercc.Tags = tags + } + } + } + + return nil +} + +// ExpressRouteCrossConnectionListResult response for ListExpressRouteCrossConnection API service call. +type ExpressRouteCrossConnectionListResult struct { + autorest.Response `json:"-"` + // Value - A list of ExpressRouteCrossConnection resources. + Value *[]ExpressRouteCrossConnection `json:"value,omitempty"` + // NextLink - READ-ONLY; The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// ExpressRouteCrossConnectionListResultIterator provides access to a complete listing of +// ExpressRouteCrossConnection values. +type ExpressRouteCrossConnectionListResultIterator struct { + i int + page ExpressRouteCrossConnectionListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *ExpressRouteCrossConnectionListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCrossConnectionListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *ExpressRouteCrossConnectionListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter ExpressRouteCrossConnectionListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter ExpressRouteCrossConnectionListResultIterator) Response() ExpressRouteCrossConnectionListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter ExpressRouteCrossConnectionListResultIterator) Value() ExpressRouteCrossConnection { + if !iter.page.NotDone() { + return ExpressRouteCrossConnection{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the ExpressRouteCrossConnectionListResultIterator type. +func NewExpressRouteCrossConnectionListResultIterator(page ExpressRouteCrossConnectionListResultPage) ExpressRouteCrossConnectionListResultIterator { + return ExpressRouteCrossConnectionListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (ercclr ExpressRouteCrossConnectionListResult) IsEmpty() bool { + return ercclr.Value == nil || len(*ercclr.Value) == 0 +} + +// expressRouteCrossConnectionListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (ercclr ExpressRouteCrossConnectionListResult) expressRouteCrossConnectionListResultPreparer(ctx context.Context) (*http.Request, error) { + if ercclr.NextLink == nil || len(to.String(ercclr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(ercclr.NextLink))) +} + +// ExpressRouteCrossConnectionListResultPage contains a page of ExpressRouteCrossConnection values. +type ExpressRouteCrossConnectionListResultPage struct { + fn func(context.Context, ExpressRouteCrossConnectionListResult) (ExpressRouteCrossConnectionListResult, error) + ercclr ExpressRouteCrossConnectionListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *ExpressRouteCrossConnectionListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCrossConnectionListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.ercclr) + if err != nil { + return err + } + page.ercclr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *ExpressRouteCrossConnectionListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page ExpressRouteCrossConnectionListResultPage) NotDone() bool { + return !page.ercclr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page ExpressRouteCrossConnectionListResultPage) Response() ExpressRouteCrossConnectionListResult { + return page.ercclr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page ExpressRouteCrossConnectionListResultPage) Values() []ExpressRouteCrossConnection { + if page.ercclr.IsEmpty() { + return nil + } + return *page.ercclr.Value +} + +// Creates a new instance of the ExpressRouteCrossConnectionListResultPage type. +func NewExpressRouteCrossConnectionListResultPage(getNextPage func(context.Context, ExpressRouteCrossConnectionListResult) (ExpressRouteCrossConnectionListResult, error)) ExpressRouteCrossConnectionListResultPage { + return ExpressRouteCrossConnectionListResultPage{fn: getNextPage} +} + +// ExpressRouteCrossConnectionPeering peering in an ExpressRoute Cross Connection resource. +type ExpressRouteCrossConnectionPeering struct { + autorest.Response `json:"-"` + // ExpressRouteCrossConnectionPeeringProperties - Properties of the express route cross connection peering. + *ExpressRouteCrossConnectionPeeringProperties `json:"properties,omitempty"` + // Name - The name of the resource that is unique within a resource group. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + // Etag - READ-ONLY; A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for ExpressRouteCrossConnectionPeering. +func (erccp ExpressRouteCrossConnectionPeering) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if erccp.ExpressRouteCrossConnectionPeeringProperties != nil { + objectMap["properties"] = erccp.ExpressRouteCrossConnectionPeeringProperties + } + if erccp.Name != nil { + objectMap["name"] = erccp.Name + } + if erccp.ID != nil { + objectMap["id"] = erccp.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ExpressRouteCrossConnectionPeering struct. +func (erccp *ExpressRouteCrossConnectionPeering) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var expressRouteCrossConnectionPeeringProperties ExpressRouteCrossConnectionPeeringProperties + err = json.Unmarshal(*v, &expressRouteCrossConnectionPeeringProperties) + if err != nil { + return err + } + erccp.ExpressRouteCrossConnectionPeeringProperties = &expressRouteCrossConnectionPeeringProperties + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + erccp.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + erccp.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + erccp.ID = &ID + } + } + } + + return nil +} + +// ExpressRouteCrossConnectionPeeringList response for ListPeering API service call retrieves all peerings +// that belong to an ExpressRouteCrossConnection. +type ExpressRouteCrossConnectionPeeringList struct { + autorest.Response `json:"-"` + // Value - The peerings in an express route cross connection. + Value *[]ExpressRouteCrossConnectionPeering `json:"value,omitempty"` + // NextLink - READ-ONLY; The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// ExpressRouteCrossConnectionPeeringListIterator provides access to a complete listing of +// ExpressRouteCrossConnectionPeering values. +type ExpressRouteCrossConnectionPeeringListIterator struct { + i int + page ExpressRouteCrossConnectionPeeringListPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *ExpressRouteCrossConnectionPeeringListIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCrossConnectionPeeringListIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *ExpressRouteCrossConnectionPeeringListIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter ExpressRouteCrossConnectionPeeringListIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter ExpressRouteCrossConnectionPeeringListIterator) Response() ExpressRouteCrossConnectionPeeringList { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter ExpressRouteCrossConnectionPeeringListIterator) Value() ExpressRouteCrossConnectionPeering { + if !iter.page.NotDone() { + return ExpressRouteCrossConnectionPeering{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the ExpressRouteCrossConnectionPeeringListIterator type. +func NewExpressRouteCrossConnectionPeeringListIterator(page ExpressRouteCrossConnectionPeeringListPage) ExpressRouteCrossConnectionPeeringListIterator { + return ExpressRouteCrossConnectionPeeringListIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (erccpl ExpressRouteCrossConnectionPeeringList) IsEmpty() bool { + return erccpl.Value == nil || len(*erccpl.Value) == 0 +} + +// expressRouteCrossConnectionPeeringListPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (erccpl ExpressRouteCrossConnectionPeeringList) expressRouteCrossConnectionPeeringListPreparer(ctx context.Context) (*http.Request, error) { + if erccpl.NextLink == nil || len(to.String(erccpl.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(erccpl.NextLink))) +} + +// ExpressRouteCrossConnectionPeeringListPage contains a page of ExpressRouteCrossConnectionPeering values. +type ExpressRouteCrossConnectionPeeringListPage struct { + fn func(context.Context, ExpressRouteCrossConnectionPeeringList) (ExpressRouteCrossConnectionPeeringList, error) + erccpl ExpressRouteCrossConnectionPeeringList +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *ExpressRouteCrossConnectionPeeringListPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteCrossConnectionPeeringListPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.erccpl) + if err != nil { + return err + } + page.erccpl = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *ExpressRouteCrossConnectionPeeringListPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page ExpressRouteCrossConnectionPeeringListPage) NotDone() bool { + return !page.erccpl.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page ExpressRouteCrossConnectionPeeringListPage) Response() ExpressRouteCrossConnectionPeeringList { + return page.erccpl +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page ExpressRouteCrossConnectionPeeringListPage) Values() []ExpressRouteCrossConnectionPeering { + if page.erccpl.IsEmpty() { + return nil + } + return *page.erccpl.Value +} + +// Creates a new instance of the ExpressRouteCrossConnectionPeeringListPage type. +func NewExpressRouteCrossConnectionPeeringListPage(getNextPage func(context.Context, ExpressRouteCrossConnectionPeeringList) (ExpressRouteCrossConnectionPeeringList, error)) ExpressRouteCrossConnectionPeeringListPage { + return ExpressRouteCrossConnectionPeeringListPage{fn: getNextPage} +} + +// ExpressRouteCrossConnectionPeeringProperties properties of express route cross connection peering. +type ExpressRouteCrossConnectionPeeringProperties struct { + // PeeringType - The peering type. Possible values include: 'AzurePublicPeering', 'AzurePrivatePeering', 'MicrosoftPeering' + PeeringType ExpressRoutePeeringType `json:"peeringType,omitempty"` + // State - The peering state. Possible values include: 'ExpressRoutePeeringStateDisabled', 'ExpressRoutePeeringStateEnabled' + State ExpressRoutePeeringState `json:"state,omitempty"` + // AzureASN - READ-ONLY; The Azure ASN. + AzureASN *int32 `json:"azureASN,omitempty"` + // PeerASN - The peer ASN. + PeerASN *int64 `json:"peerASN,omitempty"` + // PrimaryPeerAddressPrefix - The primary address prefix. + PrimaryPeerAddressPrefix *string `json:"primaryPeerAddressPrefix,omitempty"` + // SecondaryPeerAddressPrefix - The secondary address prefix. + SecondaryPeerAddressPrefix *string `json:"secondaryPeerAddressPrefix,omitempty"` + // PrimaryAzurePort - READ-ONLY; The primary port. + PrimaryAzurePort *string `json:"primaryAzurePort,omitempty"` + // SecondaryAzurePort - READ-ONLY; The secondary port. + SecondaryAzurePort *string `json:"secondaryAzurePort,omitempty"` + // SharedKey - The shared key. + SharedKey *string `json:"sharedKey,omitempty"` + // VlanID - The VLAN ID. + VlanID *int32 `json:"vlanId,omitempty"` + // MicrosoftPeeringConfig - The Microsoft peering configuration. + MicrosoftPeeringConfig *ExpressRouteCircuitPeeringConfig `json:"microsoftPeeringConfig,omitempty"` + // ProvisioningState - READ-ONLY; The provisioning state of the express route cross connection peering resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + // GatewayManagerEtag - The GatewayManager Etag. + GatewayManagerEtag *string `json:"gatewayManagerEtag,omitempty"` + // LastModifiedBy - Who was the last to modify the peering. + LastModifiedBy *string `json:"lastModifiedBy,omitempty"` + // Ipv6PeeringConfig - The IPv6 peering configuration. + Ipv6PeeringConfig *Ipv6ExpressRouteCircuitPeeringConfig `json:"ipv6PeeringConfig,omitempty"` +} + +// ExpressRouteCrossConnectionPeeringsCreateOrUpdateFuture an abstraction for monitoring and retrieving the +// results of a long-running operation. +type ExpressRouteCrossConnectionPeeringsCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ExpressRouteCrossConnectionPeeringsCreateOrUpdateFuture) Result(client ExpressRouteCrossConnectionPeeringsClient) (erccp ExpressRouteCrossConnectionPeering, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCrossConnectionPeeringsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.ExpressRouteCrossConnectionPeeringsCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if erccp.Response.Response, err = future.GetResult(sender); err == nil && erccp.Response.Response.StatusCode != http.StatusNoContent { + erccp, err = client.CreateOrUpdateResponder(erccp.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCrossConnectionPeeringsCreateOrUpdateFuture", "Result", erccp.Response.Response, "Failure responding to request") + } + } + return +} + +// ExpressRouteCrossConnectionPeeringsDeleteFuture an abstraction for monitoring and retrieving the results +// of a long-running operation. +type ExpressRouteCrossConnectionPeeringsDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ExpressRouteCrossConnectionPeeringsDeleteFuture) Result(client ExpressRouteCrossConnectionPeeringsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCrossConnectionPeeringsDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.ExpressRouteCrossConnectionPeeringsDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// ExpressRouteCrossConnectionProperties properties of ExpressRouteCrossConnection. +type ExpressRouteCrossConnectionProperties struct { + // PrimaryAzurePort - READ-ONLY; The name of the primary port. + PrimaryAzurePort *string `json:"primaryAzurePort,omitempty"` + // SecondaryAzurePort - READ-ONLY; The name of the secondary port. + SecondaryAzurePort *string `json:"secondaryAzurePort,omitempty"` + // STag - READ-ONLY; The identifier of the circuit traffic. + STag *int32 `json:"sTag,omitempty"` + // PeeringLocation - The peering location of the ExpressRoute circuit. + PeeringLocation *string `json:"peeringLocation,omitempty"` + // BandwidthInMbps - The circuit bandwidth In Mbps. + BandwidthInMbps *int32 `json:"bandwidthInMbps,omitempty"` + // ExpressRouteCircuit - The ExpressRouteCircuit. + ExpressRouteCircuit *ExpressRouteCircuitReference `json:"expressRouteCircuit,omitempty"` + // ServiceProviderProvisioningState - The provisioning state of the circuit in the connectivity provider system. Possible values include: 'NotProvisioned', 'Provisioning', 'Provisioned', 'Deprovisioning' + ServiceProviderProvisioningState ServiceProviderProvisioningState `json:"serviceProviderProvisioningState,omitempty"` + // ServiceProviderNotes - Additional read only notes set by the connectivity provider. + ServiceProviderNotes *string `json:"serviceProviderNotes,omitempty"` + // ProvisioningState - READ-ONLY; The provisioning state of the express route cross connection resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + // Peerings - The list of peerings. + Peerings *[]ExpressRouteCrossConnectionPeering `json:"peerings,omitempty"` +} + +// ExpressRouteCrossConnectionRoutesTableSummary the routes table associated with the ExpressRouteCircuit. +type ExpressRouteCrossConnectionRoutesTableSummary struct { + // Neighbor - IP address of Neighbor router. + Neighbor *string `json:"neighbor,omitempty"` + // Asn - Autonomous system number. + Asn *int32 `json:"asn,omitempty"` + // UpDown - The length of time that the BGP session has been in the Established state, or the current status if not in the Established state. + UpDown *string `json:"upDown,omitempty"` + // StateOrPrefixesReceived - Current state of the BGP session, and the number of prefixes that have been received from a neighbor or peer group. + StateOrPrefixesReceived *string `json:"stateOrPrefixesReceived,omitempty"` +} + +// ExpressRouteCrossConnectionsCreateOrUpdateFuture an abstraction for monitoring and retrieving the +// results of a long-running operation. +type ExpressRouteCrossConnectionsCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ExpressRouteCrossConnectionsCreateOrUpdateFuture) Result(client ExpressRouteCrossConnectionsClient) (ercc ExpressRouteCrossConnection, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCrossConnectionsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.ExpressRouteCrossConnectionsCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if ercc.Response.Response, err = future.GetResult(sender); err == nil && ercc.Response.Response.StatusCode != http.StatusNoContent { + ercc, err = client.CreateOrUpdateResponder(ercc.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCrossConnectionsCreateOrUpdateFuture", "Result", ercc.Response.Response, "Failure responding to request") + } + } + return +} + +// ExpressRouteCrossConnectionsListArpTableFuture an abstraction for monitoring and retrieving the results +// of a long-running operation. +type ExpressRouteCrossConnectionsListArpTableFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ExpressRouteCrossConnectionsListArpTableFuture) Result(client ExpressRouteCrossConnectionsClient) (ercatlr ExpressRouteCircuitsArpTableListResult, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCrossConnectionsListArpTableFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.ExpressRouteCrossConnectionsListArpTableFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if ercatlr.Response.Response, err = future.GetResult(sender); err == nil && ercatlr.Response.Response.StatusCode != http.StatusNoContent { + ercatlr, err = client.ListArpTableResponder(ercatlr.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCrossConnectionsListArpTableFuture", "Result", ercatlr.Response.Response, "Failure responding to request") + } + } + return +} + +// ExpressRouteCrossConnectionsListRoutesTableFuture an abstraction for monitoring and retrieving the +// results of a long-running operation. +type ExpressRouteCrossConnectionsListRoutesTableFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ExpressRouteCrossConnectionsListRoutesTableFuture) Result(client ExpressRouteCrossConnectionsClient) (ercrtlr ExpressRouteCircuitsRoutesTableListResult, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCrossConnectionsListRoutesTableFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.ExpressRouteCrossConnectionsListRoutesTableFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if ercrtlr.Response.Response, err = future.GetResult(sender); err == nil && ercrtlr.Response.Response.StatusCode != http.StatusNoContent { + ercrtlr, err = client.ListRoutesTableResponder(ercrtlr.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCrossConnectionsListRoutesTableFuture", "Result", ercrtlr.Response.Response, "Failure responding to request") + } + } + return +} + +// ExpressRouteCrossConnectionsListRoutesTableSummaryFuture an abstraction for monitoring and retrieving +// the results of a long-running operation. +type ExpressRouteCrossConnectionsListRoutesTableSummaryFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ExpressRouteCrossConnectionsListRoutesTableSummaryFuture) Result(client ExpressRouteCrossConnectionsClient) (erccrtslr ExpressRouteCrossConnectionsRoutesTableSummaryListResult, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCrossConnectionsListRoutesTableSummaryFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.ExpressRouteCrossConnectionsListRoutesTableSummaryFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if erccrtslr.Response.Response, err = future.GetResult(sender); err == nil && erccrtslr.Response.Response.StatusCode != http.StatusNoContent { + erccrtslr, err = client.ListRoutesTableSummaryResponder(erccrtslr.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCrossConnectionsListRoutesTableSummaryFuture", "Result", erccrtslr.Response.Response, "Failure responding to request") + } + } + return +} + +// ExpressRouteCrossConnectionsRoutesTableSummaryListResult response for ListRoutesTable associated with +// the Express Route Cross Connections. +type ExpressRouteCrossConnectionsRoutesTableSummaryListResult struct { + autorest.Response `json:"-"` + // Value - A list of the routes table. + Value *[]ExpressRouteCrossConnectionRoutesTableSummary `json:"value,omitempty"` + // NextLink - READ-ONLY; The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// ExpressRouteCrossConnectionsUpdateTagsFuture an abstraction for monitoring and retrieving the results of +// a long-running operation. +type ExpressRouteCrossConnectionsUpdateTagsFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ExpressRouteCrossConnectionsUpdateTagsFuture) Result(client ExpressRouteCrossConnectionsClient) (ercc ExpressRouteCrossConnection, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCrossConnectionsUpdateTagsFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.ExpressRouteCrossConnectionsUpdateTagsFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if ercc.Response.Response, err = future.GetResult(sender); err == nil && ercc.Response.Response.StatusCode != http.StatusNoContent { + ercc, err = client.UpdateTagsResponder(ercc.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteCrossConnectionsUpdateTagsFuture", "Result", ercc.Response.Response, "Failure responding to request") + } + } + return +} + +// ExpressRouteGateway expressRoute gateway resource. +type ExpressRouteGateway struct { + autorest.Response `json:"-"` + // ExpressRouteGatewayProperties - Properties of the express route gateway. + *ExpressRouteGatewayProperties `json:"properties,omitempty"` + // Etag - READ-ONLY; A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for ExpressRouteGateway. +func (erg ExpressRouteGateway) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if erg.ExpressRouteGatewayProperties != nil { + objectMap["properties"] = erg.ExpressRouteGatewayProperties + } + if erg.ID != nil { + objectMap["id"] = erg.ID + } + if erg.Location != nil { + objectMap["location"] = erg.Location + } + if erg.Tags != nil { + objectMap["tags"] = erg.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ExpressRouteGateway struct. +func (erg *ExpressRouteGateway) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var expressRouteGatewayProperties ExpressRouteGatewayProperties + err = json.Unmarshal(*v, &expressRouteGatewayProperties) + if err != nil { + return err + } + erg.ExpressRouteGatewayProperties = &expressRouteGatewayProperties + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + erg.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + erg.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + erg.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + erg.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + erg.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + erg.Tags = tags + } + } + } + + return nil +} + +// ExpressRouteGatewayList list of ExpressRoute gateways. +type ExpressRouteGatewayList struct { + autorest.Response `json:"-"` + // Value - List of ExpressRoute gateways. + Value *[]ExpressRouteGateway `json:"value,omitempty"` +} + +// ExpressRouteGatewayProperties expressRoute gateway resource properties. +type ExpressRouteGatewayProperties struct { + // AutoScaleConfiguration - Configuration for auto scaling. + AutoScaleConfiguration *ExpressRouteGatewayPropertiesAutoScaleConfiguration `json:"autoScaleConfiguration,omitempty"` + // ExpressRouteConnections - READ-ONLY; List of ExpressRoute connections to the ExpressRoute gateway. + ExpressRouteConnections *[]ExpressRouteConnection `json:"expressRouteConnections,omitempty"` + // ProvisioningState - The provisioning state of the express route gateway resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + // VirtualHub - The Virtual Hub where the ExpressRoute gateway is or will be deployed. + VirtualHub *VirtualHubID `json:"virtualHub,omitempty"` +} + +// ExpressRouteGatewayPropertiesAutoScaleConfiguration configuration for auto scaling. +type ExpressRouteGatewayPropertiesAutoScaleConfiguration struct { + // Bounds - Minimum and maximum number of scale units to deploy. + Bounds *ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds `json:"bounds,omitempty"` +} + +// ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds minimum and maximum number of scale units to +// deploy. +type ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds struct { + // Min - Minimum number of scale units deployed for ExpressRoute gateway. + Min *int32 `json:"min,omitempty"` + // Max - Maximum number of scale units deployed for ExpressRoute gateway. + Max *int32 `json:"max,omitempty"` +} + +// ExpressRouteGatewaysCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type ExpressRouteGatewaysCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ExpressRouteGatewaysCreateOrUpdateFuture) Result(client ExpressRouteGatewaysClient) (erg ExpressRouteGateway, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteGatewaysCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.ExpressRouteGatewaysCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if erg.Response.Response, err = future.GetResult(sender); err == nil && erg.Response.Response.StatusCode != http.StatusNoContent { + erg, err = client.CreateOrUpdateResponder(erg.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteGatewaysCreateOrUpdateFuture", "Result", erg.Response.Response, "Failure responding to request") + } + } + return +} + +// ExpressRouteGatewaysDeleteFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type ExpressRouteGatewaysDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ExpressRouteGatewaysDeleteFuture) Result(client ExpressRouteGatewaysClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRouteGatewaysDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.ExpressRouteGatewaysDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// ExpressRouteLink expressRouteLink child resource definition. +type ExpressRouteLink struct { + autorest.Response `json:"-"` + // ExpressRouteLinkPropertiesFormat - ExpressRouteLink properties. + *ExpressRouteLinkPropertiesFormat `json:"properties,omitempty"` + // Name - Name of child port resource that is unique among child port resources of the parent. + Name *string `json:"name,omitempty"` + // Etag - READ-ONLY; A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for ExpressRouteLink. +func (erl ExpressRouteLink) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if erl.ExpressRouteLinkPropertiesFormat != nil { + objectMap["properties"] = erl.ExpressRouteLinkPropertiesFormat + } + if erl.Name != nil { + objectMap["name"] = erl.Name + } + if erl.ID != nil { + objectMap["id"] = erl.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ExpressRouteLink struct. +func (erl *ExpressRouteLink) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var expressRouteLinkPropertiesFormat ExpressRouteLinkPropertiesFormat + err = json.Unmarshal(*v, &expressRouteLinkPropertiesFormat) + if err != nil { + return err + } + erl.ExpressRouteLinkPropertiesFormat = &expressRouteLinkPropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + erl.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + erl.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + erl.ID = &ID + } + } + } + + return nil +} + +// ExpressRouteLinkListResult response for ListExpressRouteLinks API service call. +type ExpressRouteLinkListResult struct { + autorest.Response `json:"-"` + // Value - The list of ExpressRouteLink sub-resources. + Value *[]ExpressRouteLink `json:"value,omitempty"` + // NextLink - The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// ExpressRouteLinkListResultIterator provides access to a complete listing of ExpressRouteLink values. +type ExpressRouteLinkListResultIterator struct { + i int + page ExpressRouteLinkListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *ExpressRouteLinkListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteLinkListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *ExpressRouteLinkListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter ExpressRouteLinkListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter ExpressRouteLinkListResultIterator) Response() ExpressRouteLinkListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter ExpressRouteLinkListResultIterator) Value() ExpressRouteLink { + if !iter.page.NotDone() { + return ExpressRouteLink{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the ExpressRouteLinkListResultIterator type. +func NewExpressRouteLinkListResultIterator(page ExpressRouteLinkListResultPage) ExpressRouteLinkListResultIterator { + return ExpressRouteLinkListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (erllr ExpressRouteLinkListResult) IsEmpty() bool { + return erllr.Value == nil || len(*erllr.Value) == 0 +} + +// expressRouteLinkListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (erllr ExpressRouteLinkListResult) expressRouteLinkListResultPreparer(ctx context.Context) (*http.Request, error) { + if erllr.NextLink == nil || len(to.String(erllr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(erllr.NextLink))) +} + +// ExpressRouteLinkListResultPage contains a page of ExpressRouteLink values. +type ExpressRouteLinkListResultPage struct { + fn func(context.Context, ExpressRouteLinkListResult) (ExpressRouteLinkListResult, error) + erllr ExpressRouteLinkListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *ExpressRouteLinkListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteLinkListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.erllr) + if err != nil { + return err + } + page.erllr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *ExpressRouteLinkListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page ExpressRouteLinkListResultPage) NotDone() bool { + return !page.erllr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page ExpressRouteLinkListResultPage) Response() ExpressRouteLinkListResult { + return page.erllr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page ExpressRouteLinkListResultPage) Values() []ExpressRouteLink { + if page.erllr.IsEmpty() { + return nil + } + return *page.erllr.Value +} + +// Creates a new instance of the ExpressRouteLinkListResultPage type. +func NewExpressRouteLinkListResultPage(getNextPage func(context.Context, ExpressRouteLinkListResult) (ExpressRouteLinkListResult, error)) ExpressRouteLinkListResultPage { + return ExpressRouteLinkListResultPage{fn: getNextPage} +} + +// ExpressRouteLinkMacSecConfig expressRouteLink Mac Security Configuration. +type ExpressRouteLinkMacSecConfig struct { + // CknSecretIdentifier - Keyvault Secret Identifier URL containing Mac security CKN key. + CknSecretIdentifier *string `json:"cknSecretIdentifier,omitempty"` + // CakSecretIdentifier - Keyvault Secret Identifier URL containing Mac security CAK key. + CakSecretIdentifier *string `json:"cakSecretIdentifier,omitempty"` + // Cipher - Mac security cipher. Possible values include: 'GcmAes128', 'GcmAes256' + Cipher ExpressRouteLinkMacSecCipher `json:"cipher,omitempty"` +} + +// ExpressRouteLinkPropertiesFormat properties specific to ExpressRouteLink resources. +type ExpressRouteLinkPropertiesFormat struct { + // RouterName - READ-ONLY; Name of Azure router associated with physical port. + RouterName *string `json:"routerName,omitempty"` + // InterfaceName - READ-ONLY; Name of Azure router interface. + InterfaceName *string `json:"interfaceName,omitempty"` + // PatchPanelID - READ-ONLY; Mapping between physical port to patch panel port. + PatchPanelID *string `json:"patchPanelId,omitempty"` + // RackID - READ-ONLY; Mapping of physical patch panel to rack. + RackID *string `json:"rackId,omitempty"` + // ConnectorType - READ-ONLY; Physical fiber port type. Possible values include: 'LC', 'SC' + ConnectorType ExpressRouteLinkConnectorType `json:"connectorType,omitempty"` + // AdminState - Administrative state of the physical port. Possible values include: 'ExpressRouteLinkAdminStateEnabled', 'ExpressRouteLinkAdminStateDisabled' + AdminState ExpressRouteLinkAdminState `json:"adminState,omitempty"` + // ProvisioningState - READ-ONLY; The provisioning state of the express route link resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + // MacSecConfig - MacSec configuration. + MacSecConfig *ExpressRouteLinkMacSecConfig `json:"macSecConfig,omitempty"` +} + +// ExpressRoutePort expressRoutePort resource definition. +type ExpressRoutePort struct { + autorest.Response `json:"-"` + // ExpressRoutePortPropertiesFormat - ExpressRoutePort properties. + *ExpressRoutePortPropertiesFormat `json:"properties,omitempty"` + // Etag - READ-ONLY; A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // Identity - The identity of ExpressRoutePort, if configured. + Identity *ManagedServiceIdentity `json:"identity,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for ExpressRoutePort. +func (erp ExpressRoutePort) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if erp.ExpressRoutePortPropertiesFormat != nil { + objectMap["properties"] = erp.ExpressRoutePortPropertiesFormat + } + if erp.Identity != nil { + objectMap["identity"] = erp.Identity + } + if erp.ID != nil { + objectMap["id"] = erp.ID + } + if erp.Location != nil { + objectMap["location"] = erp.Location + } + if erp.Tags != nil { + objectMap["tags"] = erp.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ExpressRoutePort struct. +func (erp *ExpressRoutePort) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var expressRoutePortPropertiesFormat ExpressRoutePortPropertiesFormat + err = json.Unmarshal(*v, &expressRoutePortPropertiesFormat) + if err != nil { + return err + } + erp.ExpressRoutePortPropertiesFormat = &expressRoutePortPropertiesFormat + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + erp.Etag = &etag + } + case "identity": + if v != nil { + var identity ManagedServiceIdentity + err = json.Unmarshal(*v, &identity) + if err != nil { + return err + } + erp.Identity = &identity + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + erp.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + erp.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + erp.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + erp.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + erp.Tags = tags + } + } + } + + return nil +} + +// ExpressRoutePortListResult response for ListExpressRoutePorts API service call. +type ExpressRoutePortListResult struct { + autorest.Response `json:"-"` + // Value - A list of ExpressRoutePort resources. + Value *[]ExpressRoutePort `json:"value,omitempty"` + // NextLink - The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// ExpressRoutePortListResultIterator provides access to a complete listing of ExpressRoutePort values. +type ExpressRoutePortListResultIterator struct { + i int + page ExpressRoutePortListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *ExpressRoutePortListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRoutePortListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *ExpressRoutePortListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter ExpressRoutePortListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter ExpressRoutePortListResultIterator) Response() ExpressRoutePortListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter ExpressRoutePortListResultIterator) Value() ExpressRoutePort { + if !iter.page.NotDone() { + return ExpressRoutePort{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the ExpressRoutePortListResultIterator type. +func NewExpressRoutePortListResultIterator(page ExpressRoutePortListResultPage) ExpressRoutePortListResultIterator { + return ExpressRoutePortListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (erplr ExpressRoutePortListResult) IsEmpty() bool { + return erplr.Value == nil || len(*erplr.Value) == 0 +} + +// expressRoutePortListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (erplr ExpressRoutePortListResult) expressRoutePortListResultPreparer(ctx context.Context) (*http.Request, error) { + if erplr.NextLink == nil || len(to.String(erplr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(erplr.NextLink))) +} + +// ExpressRoutePortListResultPage contains a page of ExpressRoutePort values. +type ExpressRoutePortListResultPage struct { + fn func(context.Context, ExpressRoutePortListResult) (ExpressRoutePortListResult, error) + erplr ExpressRoutePortListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *ExpressRoutePortListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRoutePortListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.erplr) + if err != nil { + return err + } + page.erplr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *ExpressRoutePortListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page ExpressRoutePortListResultPage) NotDone() bool { + return !page.erplr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page ExpressRoutePortListResultPage) Response() ExpressRoutePortListResult { + return page.erplr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page ExpressRoutePortListResultPage) Values() []ExpressRoutePort { + if page.erplr.IsEmpty() { + return nil + } + return *page.erplr.Value +} + +// Creates a new instance of the ExpressRoutePortListResultPage type. +func NewExpressRoutePortListResultPage(getNextPage func(context.Context, ExpressRoutePortListResult) (ExpressRoutePortListResult, error)) ExpressRoutePortListResultPage { + return ExpressRoutePortListResultPage{fn: getNextPage} +} + +// ExpressRoutePortPropertiesFormat properties specific to ExpressRoutePort resources. +type ExpressRoutePortPropertiesFormat struct { + // PeeringLocation - The name of the peering location that the ExpressRoutePort is mapped to physically. + PeeringLocation *string `json:"peeringLocation,omitempty"` + // BandwidthInGbps - Bandwidth of procured ports in Gbps. + BandwidthInGbps *int32 `json:"bandwidthInGbps,omitempty"` + // ProvisionedBandwidthInGbps - READ-ONLY; Aggregate Gbps of associated circuit bandwidths. + ProvisionedBandwidthInGbps *float64 `json:"provisionedBandwidthInGbps,omitempty"` + // Mtu - READ-ONLY; Maximum transmission unit of the physical port pair(s). + Mtu *string `json:"mtu,omitempty"` + // Encapsulation - Encapsulation method on physical ports. Possible values include: 'Dot1Q', 'QinQ' + Encapsulation ExpressRoutePortsEncapsulation `json:"encapsulation,omitempty"` + // EtherType - READ-ONLY; Ether type of the physical port. + EtherType *string `json:"etherType,omitempty"` + // AllocationDate - READ-ONLY; Date of the physical port allocation to be used in Letter of Authorization. + AllocationDate *string `json:"allocationDate,omitempty"` + // Links - The set of physical links of the ExpressRoutePort resource. + Links *[]ExpressRouteLink `json:"links,omitempty"` + // Circuits - READ-ONLY; Reference the ExpressRoute circuit(s) that are provisioned on this ExpressRoutePort resource. + Circuits *[]SubResource `json:"circuits,omitempty"` + // ProvisioningState - READ-ONLY; The provisioning state of the express route port resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + // ResourceGUID - The resource GUID property of the express route port resource. + ResourceGUID *string `json:"resourceGuid,omitempty"` +} + +// ExpressRoutePortsCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type ExpressRoutePortsCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ExpressRoutePortsCreateOrUpdateFuture) Result(client ExpressRoutePortsClient) (erp ExpressRoutePort, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRoutePortsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.ExpressRoutePortsCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if erp.Response.Response, err = future.GetResult(sender); err == nil && erp.Response.Response.StatusCode != http.StatusNoContent { + erp, err = client.CreateOrUpdateResponder(erp.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRoutePortsCreateOrUpdateFuture", "Result", erp.Response.Response, "Failure responding to request") + } + } + return +} + +// ExpressRoutePortsDeleteFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type ExpressRoutePortsDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ExpressRoutePortsDeleteFuture) Result(client ExpressRoutePortsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRoutePortsDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.ExpressRoutePortsDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// ExpressRoutePortsLocation definition of the ExpressRoutePorts peering location resource. +type ExpressRoutePortsLocation struct { + autorest.Response `json:"-"` + // ExpressRoutePortsLocationPropertiesFormat - ExpressRoutePort peering location properties. + *ExpressRoutePortsLocationPropertiesFormat `json:"properties,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for ExpressRoutePortsLocation. +func (erpl ExpressRoutePortsLocation) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if erpl.ExpressRoutePortsLocationPropertiesFormat != nil { + objectMap["properties"] = erpl.ExpressRoutePortsLocationPropertiesFormat + } + if erpl.ID != nil { + objectMap["id"] = erpl.ID + } + if erpl.Location != nil { + objectMap["location"] = erpl.Location + } + if erpl.Tags != nil { + objectMap["tags"] = erpl.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ExpressRoutePortsLocation struct. +func (erpl *ExpressRoutePortsLocation) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var expressRoutePortsLocationPropertiesFormat ExpressRoutePortsLocationPropertiesFormat + err = json.Unmarshal(*v, &expressRoutePortsLocationPropertiesFormat) + if err != nil { + return err + } + erpl.ExpressRoutePortsLocationPropertiesFormat = &expressRoutePortsLocationPropertiesFormat + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + erpl.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + erpl.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + erpl.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + erpl.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + erpl.Tags = tags + } + } + } + + return nil +} + +// ExpressRoutePortsLocationBandwidths real-time inventory of available ExpressRoute port bandwidths. +type ExpressRoutePortsLocationBandwidths struct { + // OfferName - READ-ONLY; Bandwidth descriptive name. + OfferName *string `json:"offerName,omitempty"` + // ValueInGbps - READ-ONLY; Bandwidth value in Gbps. + ValueInGbps *int32 `json:"valueInGbps,omitempty"` +} + +// ExpressRoutePortsLocationListResult response for ListExpressRoutePortsLocations API service call. +type ExpressRoutePortsLocationListResult struct { + autorest.Response `json:"-"` + // Value - The list of all ExpressRoutePort peering locations. + Value *[]ExpressRoutePortsLocation `json:"value,omitempty"` + // NextLink - The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// ExpressRoutePortsLocationListResultIterator provides access to a complete listing of +// ExpressRoutePortsLocation values. +type ExpressRoutePortsLocationListResultIterator struct { + i int + page ExpressRoutePortsLocationListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *ExpressRoutePortsLocationListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRoutePortsLocationListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *ExpressRoutePortsLocationListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter ExpressRoutePortsLocationListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter ExpressRoutePortsLocationListResultIterator) Response() ExpressRoutePortsLocationListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter ExpressRoutePortsLocationListResultIterator) Value() ExpressRoutePortsLocation { + if !iter.page.NotDone() { + return ExpressRoutePortsLocation{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the ExpressRoutePortsLocationListResultIterator type. +func NewExpressRoutePortsLocationListResultIterator(page ExpressRoutePortsLocationListResultPage) ExpressRoutePortsLocationListResultIterator { + return ExpressRoutePortsLocationListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (erpllr ExpressRoutePortsLocationListResult) IsEmpty() bool { + return erpllr.Value == nil || len(*erpllr.Value) == 0 +} + +// expressRoutePortsLocationListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (erpllr ExpressRoutePortsLocationListResult) expressRoutePortsLocationListResultPreparer(ctx context.Context) (*http.Request, error) { + if erpllr.NextLink == nil || len(to.String(erpllr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(erpllr.NextLink))) +} + +// ExpressRoutePortsLocationListResultPage contains a page of ExpressRoutePortsLocation values. +type ExpressRoutePortsLocationListResultPage struct { + fn func(context.Context, ExpressRoutePortsLocationListResult) (ExpressRoutePortsLocationListResult, error) + erpllr ExpressRoutePortsLocationListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *ExpressRoutePortsLocationListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRoutePortsLocationListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.erpllr) + if err != nil { + return err + } + page.erpllr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *ExpressRoutePortsLocationListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page ExpressRoutePortsLocationListResultPage) NotDone() bool { + return !page.erpllr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page ExpressRoutePortsLocationListResultPage) Response() ExpressRoutePortsLocationListResult { + return page.erpllr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page ExpressRoutePortsLocationListResultPage) Values() []ExpressRoutePortsLocation { + if page.erpllr.IsEmpty() { + return nil + } + return *page.erpllr.Value +} + +// Creates a new instance of the ExpressRoutePortsLocationListResultPage type. +func NewExpressRoutePortsLocationListResultPage(getNextPage func(context.Context, ExpressRoutePortsLocationListResult) (ExpressRoutePortsLocationListResult, error)) ExpressRoutePortsLocationListResultPage { + return ExpressRoutePortsLocationListResultPage{fn: getNextPage} +} + +// ExpressRoutePortsLocationPropertiesFormat properties specific to ExpressRoutePorts peering location +// resources. +type ExpressRoutePortsLocationPropertiesFormat struct { + // Address - READ-ONLY; Address of peering location. + Address *string `json:"address,omitempty"` + // Contact - READ-ONLY; Contact details of peering locations. + Contact *string `json:"contact,omitempty"` + // AvailableBandwidths - The inventory of available ExpressRoutePort bandwidths. + AvailableBandwidths *[]ExpressRoutePortsLocationBandwidths `json:"availableBandwidths,omitempty"` + // ProvisioningState - READ-ONLY; The provisioning state of the express route port location resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// ExpressRoutePortsUpdateTagsFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type ExpressRoutePortsUpdateTagsFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ExpressRoutePortsUpdateTagsFuture) Result(client ExpressRoutePortsClient) (erp ExpressRoutePort, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRoutePortsUpdateTagsFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.ExpressRoutePortsUpdateTagsFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if erp.Response.Response, err = future.GetResult(sender); err == nil && erp.Response.Response.StatusCode != http.StatusNoContent { + erp, err = client.UpdateTagsResponder(erp.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ExpressRoutePortsUpdateTagsFuture", "Result", erp.Response.Response, "Failure responding to request") + } + } + return +} + +// ExpressRouteServiceProvider a ExpressRouteResourceProvider object. +type ExpressRouteServiceProvider struct { + // ExpressRouteServiceProviderPropertiesFormat - Properties of the express route service provider. + *ExpressRouteServiceProviderPropertiesFormat `json:"properties,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for ExpressRouteServiceProvider. +func (ersp ExpressRouteServiceProvider) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if ersp.ExpressRouteServiceProviderPropertiesFormat != nil { + objectMap["properties"] = ersp.ExpressRouteServiceProviderPropertiesFormat + } + if ersp.ID != nil { + objectMap["id"] = ersp.ID + } + if ersp.Location != nil { + objectMap["location"] = ersp.Location + } + if ersp.Tags != nil { + objectMap["tags"] = ersp.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ExpressRouteServiceProvider struct. +func (ersp *ExpressRouteServiceProvider) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var expressRouteServiceProviderPropertiesFormat ExpressRouteServiceProviderPropertiesFormat + err = json.Unmarshal(*v, &expressRouteServiceProviderPropertiesFormat) + if err != nil { + return err + } + ersp.ExpressRouteServiceProviderPropertiesFormat = &expressRouteServiceProviderPropertiesFormat + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + ersp.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + ersp.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ersp.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + ersp.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + ersp.Tags = tags + } + } + } + + return nil +} + +// ExpressRouteServiceProviderBandwidthsOffered contains bandwidths offered in ExpressRouteServiceProvider +// resources. +type ExpressRouteServiceProviderBandwidthsOffered struct { + // OfferName - The OfferName. + OfferName *string `json:"offerName,omitempty"` + // ValueInMbps - The ValueInMbps. + ValueInMbps *int32 `json:"valueInMbps,omitempty"` +} + +// ExpressRouteServiceProviderListResult response for the ListExpressRouteServiceProvider API service call. +type ExpressRouteServiceProviderListResult struct { + autorest.Response `json:"-"` + // Value - A list of ExpressRouteResourceProvider resources. + Value *[]ExpressRouteServiceProvider `json:"value,omitempty"` + // NextLink - The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// ExpressRouteServiceProviderListResultIterator provides access to a complete listing of +// ExpressRouteServiceProvider values. +type ExpressRouteServiceProviderListResultIterator struct { + i int + page ExpressRouteServiceProviderListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *ExpressRouteServiceProviderListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteServiceProviderListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *ExpressRouteServiceProviderListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter ExpressRouteServiceProviderListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter ExpressRouteServiceProviderListResultIterator) Response() ExpressRouteServiceProviderListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter ExpressRouteServiceProviderListResultIterator) Value() ExpressRouteServiceProvider { + if !iter.page.NotDone() { + return ExpressRouteServiceProvider{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the ExpressRouteServiceProviderListResultIterator type. +func NewExpressRouteServiceProviderListResultIterator(page ExpressRouteServiceProviderListResultPage) ExpressRouteServiceProviderListResultIterator { + return ExpressRouteServiceProviderListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (ersplr ExpressRouteServiceProviderListResult) IsEmpty() bool { + return ersplr.Value == nil || len(*ersplr.Value) == 0 +} + +// expressRouteServiceProviderListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (ersplr ExpressRouteServiceProviderListResult) expressRouteServiceProviderListResultPreparer(ctx context.Context) (*http.Request, error) { + if ersplr.NextLink == nil || len(to.String(ersplr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(ersplr.NextLink))) +} + +// ExpressRouteServiceProviderListResultPage contains a page of ExpressRouteServiceProvider values. +type ExpressRouteServiceProviderListResultPage struct { + fn func(context.Context, ExpressRouteServiceProviderListResult) (ExpressRouteServiceProviderListResult, error) + ersplr ExpressRouteServiceProviderListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *ExpressRouteServiceProviderListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExpressRouteServiceProviderListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.ersplr) + if err != nil { + return err + } + page.ersplr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *ExpressRouteServiceProviderListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page ExpressRouteServiceProviderListResultPage) NotDone() bool { + return !page.ersplr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page ExpressRouteServiceProviderListResultPage) Response() ExpressRouteServiceProviderListResult { + return page.ersplr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page ExpressRouteServiceProviderListResultPage) Values() []ExpressRouteServiceProvider { + if page.ersplr.IsEmpty() { + return nil + } + return *page.ersplr.Value +} + +// Creates a new instance of the ExpressRouteServiceProviderListResultPage type. +func NewExpressRouteServiceProviderListResultPage(getNextPage func(context.Context, ExpressRouteServiceProviderListResult) (ExpressRouteServiceProviderListResult, error)) ExpressRouteServiceProviderListResultPage { + return ExpressRouteServiceProviderListResultPage{fn: getNextPage} +} + +// ExpressRouteServiceProviderPropertiesFormat properties of ExpressRouteServiceProvider. +type ExpressRouteServiceProviderPropertiesFormat struct { + // PeeringLocations - A list of peering locations. + PeeringLocations *[]string `json:"peeringLocations,omitempty"` + // BandwidthsOffered - A list of bandwidths offered. + BandwidthsOffered *[]ExpressRouteServiceProviderBandwidthsOffered `json:"bandwidthsOffered,omitempty"` + // ProvisioningState - The provisioning state of the express route service provider resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// FirewallPoliciesCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type FirewallPoliciesCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *FirewallPoliciesCreateOrUpdateFuture) Result(client FirewallPoliciesClient) (fp FirewallPolicy, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.FirewallPoliciesCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.FirewallPoliciesCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if fp.Response.Response, err = future.GetResult(sender); err == nil && fp.Response.Response.StatusCode != http.StatusNoContent { + fp, err = client.CreateOrUpdateResponder(fp.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.FirewallPoliciesCreateOrUpdateFuture", "Result", fp.Response.Response, "Failure responding to request") + } + } + return +} + +// FirewallPoliciesDeleteFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type FirewallPoliciesDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *FirewallPoliciesDeleteFuture) Result(client FirewallPoliciesClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.FirewallPoliciesDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.FirewallPoliciesDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// FirewallPolicy firewallPolicy Resource. +type FirewallPolicy struct { + autorest.Response `json:"-"` + // FirewallPolicyPropertiesFormat - Properties of the firewall policy. + *FirewallPolicyPropertiesFormat `json:"properties,omitempty"` + // Etag - READ-ONLY; A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for FirewallPolicy. +func (fp FirewallPolicy) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if fp.FirewallPolicyPropertiesFormat != nil { + objectMap["properties"] = fp.FirewallPolicyPropertiesFormat + } + if fp.ID != nil { + objectMap["id"] = fp.ID + } + if fp.Location != nil { + objectMap["location"] = fp.Location + } + if fp.Tags != nil { + objectMap["tags"] = fp.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for FirewallPolicy struct. +func (fp *FirewallPolicy) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var firewallPolicyPropertiesFormat FirewallPolicyPropertiesFormat + err = json.Unmarshal(*v, &firewallPolicyPropertiesFormat) + if err != nil { + return err + } + fp.FirewallPolicyPropertiesFormat = &firewallPolicyPropertiesFormat + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + fp.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + fp.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + fp.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + fp.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + fp.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + fp.Tags = tags + } + } + } + + return nil +} + +// FirewallPolicyFilterRule firewall Policy Filter Rule. +type FirewallPolicyFilterRule struct { + // Action - The action type of a Filter rule. + Action *FirewallPolicyFilterRuleAction `json:"action,omitempty"` + // RuleConditions - Collection of rule conditions used by a rule. + RuleConditions *[]BasicFirewallPolicyRuleCondition `json:"ruleConditions,omitempty"` + // Name - The name of the rule. + Name *string `json:"name,omitempty"` + // Priority - Priority of the Firewall Policy Rule resource. + Priority *int32 `json:"priority,omitempty"` + // RuleType - Possible values include: 'RuleTypeFirewallPolicyRule', 'RuleTypeFirewallPolicyNatRule', 'RuleTypeFirewallPolicyFilterRule' + RuleType RuleType `json:"ruleType,omitempty"` +} + +// MarshalJSON is the custom marshaler for FirewallPolicyFilterRule. +func (fpfr FirewallPolicyFilterRule) MarshalJSON() ([]byte, error) { + fpfr.RuleType = RuleTypeFirewallPolicyFilterRule + objectMap := make(map[string]interface{}) + if fpfr.Action != nil { + objectMap["action"] = fpfr.Action + } + if fpfr.RuleConditions != nil { + objectMap["ruleConditions"] = fpfr.RuleConditions + } + if fpfr.Name != nil { + objectMap["name"] = fpfr.Name + } + if fpfr.Priority != nil { + objectMap["priority"] = fpfr.Priority + } + if fpfr.RuleType != "" { + objectMap["ruleType"] = fpfr.RuleType + } + return json.Marshal(objectMap) +} + +// AsFirewallPolicyNatRule is the BasicFirewallPolicyRule implementation for FirewallPolicyFilterRule. +func (fpfr FirewallPolicyFilterRule) AsFirewallPolicyNatRule() (*FirewallPolicyNatRule, bool) { + return nil, false +} + +// AsFirewallPolicyFilterRule is the BasicFirewallPolicyRule implementation for FirewallPolicyFilterRule. +func (fpfr FirewallPolicyFilterRule) AsFirewallPolicyFilterRule() (*FirewallPolicyFilterRule, bool) { + return &fpfr, true +} + +// AsFirewallPolicyRule is the BasicFirewallPolicyRule implementation for FirewallPolicyFilterRule. +func (fpfr FirewallPolicyFilterRule) AsFirewallPolicyRule() (*FirewallPolicyRule, bool) { + return nil, false +} + +// AsBasicFirewallPolicyRule is the BasicFirewallPolicyRule implementation for FirewallPolicyFilterRule. +func (fpfr FirewallPolicyFilterRule) AsBasicFirewallPolicyRule() (BasicFirewallPolicyRule, bool) { + return &fpfr, true +} + +// UnmarshalJSON is the custom unmarshaler for FirewallPolicyFilterRule struct. +func (fpfr *FirewallPolicyFilterRule) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "action": + if v != nil { + var action FirewallPolicyFilterRuleAction + err = json.Unmarshal(*v, &action) + if err != nil { + return err + } + fpfr.Action = &action + } + case "ruleConditions": + if v != nil { + ruleConditions, err := unmarshalBasicFirewallPolicyRuleConditionArray(*v) + if err != nil { + return err + } + fpfr.RuleConditions = &ruleConditions + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + fpfr.Name = &name + } + case "priority": + if v != nil { + var priority int32 + err = json.Unmarshal(*v, &priority) + if err != nil { + return err + } + fpfr.Priority = &priority + } + case "ruleType": + if v != nil { + var ruleType RuleType + err = json.Unmarshal(*v, &ruleType) + if err != nil { + return err + } + fpfr.RuleType = ruleType + } + } + } + + return nil +} + +// FirewallPolicyFilterRuleAction properties of the FirewallPolicyFilterRuleAction. +type FirewallPolicyFilterRuleAction struct { + // Type - The type of action. Possible values include: 'FirewallPolicyFilterRuleActionTypeAllow', 'FirewallPolicyFilterRuleActionTypeDeny' + Type FirewallPolicyFilterRuleActionType `json:"type,omitempty"` +} + +// FirewallPolicyListResult response for ListFirewallPolicies API service call. +type FirewallPolicyListResult struct { + autorest.Response `json:"-"` + // Value - List of Firewall Policies in a resource group. + Value *[]FirewallPolicy `json:"value,omitempty"` + // NextLink - URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// FirewallPolicyListResultIterator provides access to a complete listing of FirewallPolicy values. +type FirewallPolicyListResultIterator struct { + i int + page FirewallPolicyListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *FirewallPolicyListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/FirewallPolicyListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *FirewallPolicyListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter FirewallPolicyListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter FirewallPolicyListResultIterator) Response() FirewallPolicyListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter FirewallPolicyListResultIterator) Value() FirewallPolicy { + if !iter.page.NotDone() { + return FirewallPolicy{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the FirewallPolicyListResultIterator type. +func NewFirewallPolicyListResultIterator(page FirewallPolicyListResultPage) FirewallPolicyListResultIterator { + return FirewallPolicyListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (fplr FirewallPolicyListResult) IsEmpty() bool { + return fplr.Value == nil || len(*fplr.Value) == 0 +} + +// firewallPolicyListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (fplr FirewallPolicyListResult) firewallPolicyListResultPreparer(ctx context.Context) (*http.Request, error) { + if fplr.NextLink == nil || len(to.String(fplr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(fplr.NextLink))) +} + +// FirewallPolicyListResultPage contains a page of FirewallPolicy values. +type FirewallPolicyListResultPage struct { + fn func(context.Context, FirewallPolicyListResult) (FirewallPolicyListResult, error) + fplr FirewallPolicyListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *FirewallPolicyListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/FirewallPolicyListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.fplr) + if err != nil { + return err + } + page.fplr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *FirewallPolicyListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page FirewallPolicyListResultPage) NotDone() bool { + return !page.fplr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page FirewallPolicyListResultPage) Response() FirewallPolicyListResult { + return page.fplr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page FirewallPolicyListResultPage) Values() []FirewallPolicy { + if page.fplr.IsEmpty() { + return nil + } + return *page.fplr.Value +} + +// Creates a new instance of the FirewallPolicyListResultPage type. +func NewFirewallPolicyListResultPage(getNextPage func(context.Context, FirewallPolicyListResult) (FirewallPolicyListResult, error)) FirewallPolicyListResultPage { + return FirewallPolicyListResultPage{fn: getNextPage} +} + +// FirewallPolicyNatRule firewall Policy NAT Rule. +type FirewallPolicyNatRule struct { + // Action - The action type of a Nat rule. + Action *FirewallPolicyNatRuleAction `json:"action,omitempty"` + // TranslatedAddress - The translated address for this NAT rule. + TranslatedAddress *string `json:"translatedAddress,omitempty"` + // TranslatedPort - The translated port for this NAT rule. + TranslatedPort *string `json:"translatedPort,omitempty"` + // RuleCondition - The match conditions for incoming traffic. + RuleCondition BasicFirewallPolicyRuleCondition `json:"ruleCondition,omitempty"` + // Name - The name of the rule. + Name *string `json:"name,omitempty"` + // Priority - Priority of the Firewall Policy Rule resource. + Priority *int32 `json:"priority,omitempty"` + // RuleType - Possible values include: 'RuleTypeFirewallPolicyRule', 'RuleTypeFirewallPolicyNatRule', 'RuleTypeFirewallPolicyFilterRule' + RuleType RuleType `json:"ruleType,omitempty"` +} + +// MarshalJSON is the custom marshaler for FirewallPolicyNatRule. +func (fpnr FirewallPolicyNatRule) MarshalJSON() ([]byte, error) { + fpnr.RuleType = RuleTypeFirewallPolicyNatRule + objectMap := make(map[string]interface{}) + if fpnr.Action != nil { + objectMap["action"] = fpnr.Action + } + if fpnr.TranslatedAddress != nil { + objectMap["translatedAddress"] = fpnr.TranslatedAddress + } + if fpnr.TranslatedPort != nil { + objectMap["translatedPort"] = fpnr.TranslatedPort + } + objectMap["ruleCondition"] = fpnr.RuleCondition + if fpnr.Name != nil { + objectMap["name"] = fpnr.Name + } + if fpnr.Priority != nil { + objectMap["priority"] = fpnr.Priority + } + if fpnr.RuleType != "" { + objectMap["ruleType"] = fpnr.RuleType + } + return json.Marshal(objectMap) +} + +// AsFirewallPolicyNatRule is the BasicFirewallPolicyRule implementation for FirewallPolicyNatRule. +func (fpnr FirewallPolicyNatRule) AsFirewallPolicyNatRule() (*FirewallPolicyNatRule, bool) { + return &fpnr, true +} + +// AsFirewallPolicyFilterRule is the BasicFirewallPolicyRule implementation for FirewallPolicyNatRule. +func (fpnr FirewallPolicyNatRule) AsFirewallPolicyFilterRule() (*FirewallPolicyFilterRule, bool) { + return nil, false +} + +// AsFirewallPolicyRule is the BasicFirewallPolicyRule implementation for FirewallPolicyNatRule. +func (fpnr FirewallPolicyNatRule) AsFirewallPolicyRule() (*FirewallPolicyRule, bool) { + return nil, false +} + +// AsBasicFirewallPolicyRule is the BasicFirewallPolicyRule implementation for FirewallPolicyNatRule. +func (fpnr FirewallPolicyNatRule) AsBasicFirewallPolicyRule() (BasicFirewallPolicyRule, bool) { + return &fpnr, true +} + +// UnmarshalJSON is the custom unmarshaler for FirewallPolicyNatRule struct. +func (fpnr *FirewallPolicyNatRule) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "action": + if v != nil { + var action FirewallPolicyNatRuleAction + err = json.Unmarshal(*v, &action) + if err != nil { + return err + } + fpnr.Action = &action + } + case "translatedAddress": + if v != nil { + var translatedAddress string + err = json.Unmarshal(*v, &translatedAddress) + if err != nil { + return err + } + fpnr.TranslatedAddress = &translatedAddress + } + case "translatedPort": + if v != nil { + var translatedPort string + err = json.Unmarshal(*v, &translatedPort) + if err != nil { + return err + } + fpnr.TranslatedPort = &translatedPort + } + case "ruleCondition": + if v != nil { + ruleCondition, err := unmarshalBasicFirewallPolicyRuleCondition(*v) + if err != nil { + return err + } + fpnr.RuleCondition = ruleCondition + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + fpnr.Name = &name + } + case "priority": + if v != nil { + var priority int32 + err = json.Unmarshal(*v, &priority) + if err != nil { + return err + } + fpnr.Priority = &priority + } + case "ruleType": + if v != nil { + var ruleType RuleType + err = json.Unmarshal(*v, &ruleType) + if err != nil { + return err + } + fpnr.RuleType = ruleType + } + } + } + + return nil +} + +// FirewallPolicyNatRuleAction properties of the FirewallPolicyNatRuleAction. +type FirewallPolicyNatRuleAction struct { + // Type - The type of action. Possible values include: 'DNAT' + Type FirewallPolicyNatRuleActionType `json:"type,omitempty"` +} + +// FirewallPolicyPropertiesFormat firewall Policy definition. +type FirewallPolicyPropertiesFormat struct { + // RuleGroups - READ-ONLY; List of references to FirewallPolicyRuleGroups. + RuleGroups *[]SubResource `json:"ruleGroups,omitempty"` + // ProvisioningState - The provisioning state of the firewall policy resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + // BasePolicy - The parent firewall policy from which rules are inherited. + BasePolicy *SubResource `json:"basePolicy,omitempty"` + // Firewalls - READ-ONLY; List of references to Azure Firewalls that this Firewall Policy is associated with. + Firewalls *[]SubResource `json:"firewalls,omitempty"` + // ChildPolicies - READ-ONLY; List of references to Child Firewall Policies. + ChildPolicies *[]SubResource `json:"childPolicies,omitempty"` + // ThreatIntelMode - The operation mode for Threat Intelligence. Possible values include: 'AzureFirewallThreatIntelModeAlert', 'AzureFirewallThreatIntelModeDeny', 'AzureFirewallThreatIntelModeOff' + ThreatIntelMode AzureFirewallThreatIntelMode `json:"threatIntelMode,omitempty"` +} + +// BasicFirewallPolicyRule properties of the rule. +type BasicFirewallPolicyRule interface { + AsFirewallPolicyNatRule() (*FirewallPolicyNatRule, bool) + AsFirewallPolicyFilterRule() (*FirewallPolicyFilterRule, bool) + AsFirewallPolicyRule() (*FirewallPolicyRule, bool) +} + +// FirewallPolicyRule properties of the rule. +type FirewallPolicyRule struct { + // Name - The name of the rule. + Name *string `json:"name,omitempty"` + // Priority - Priority of the Firewall Policy Rule resource. + Priority *int32 `json:"priority,omitempty"` + // RuleType - Possible values include: 'RuleTypeFirewallPolicyRule', 'RuleTypeFirewallPolicyNatRule', 'RuleTypeFirewallPolicyFilterRule' + RuleType RuleType `json:"ruleType,omitempty"` +} + +func unmarshalBasicFirewallPolicyRule(body []byte) (BasicFirewallPolicyRule, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["ruleType"] { + case string(RuleTypeFirewallPolicyNatRule): + var fpnr FirewallPolicyNatRule + err := json.Unmarshal(body, &fpnr) + return fpnr, err + case string(RuleTypeFirewallPolicyFilterRule): + var fpfr FirewallPolicyFilterRule + err := json.Unmarshal(body, &fpfr) + return fpfr, err + default: + var fpr FirewallPolicyRule + err := json.Unmarshal(body, &fpr) + return fpr, err + } +} +func unmarshalBasicFirewallPolicyRuleArray(body []byte) ([]BasicFirewallPolicyRule, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + fprArray := make([]BasicFirewallPolicyRule, len(rawMessages)) + + for index, rawMessage := range rawMessages { + fpr, err := unmarshalBasicFirewallPolicyRule(*rawMessage) + if err != nil { + return nil, err + } + fprArray[index] = fpr + } + return fprArray, nil +} + +// MarshalJSON is the custom marshaler for FirewallPolicyRule. +func (fpr FirewallPolicyRule) MarshalJSON() ([]byte, error) { + fpr.RuleType = RuleTypeFirewallPolicyRule + objectMap := make(map[string]interface{}) + if fpr.Name != nil { + objectMap["name"] = fpr.Name + } + if fpr.Priority != nil { + objectMap["priority"] = fpr.Priority + } + if fpr.RuleType != "" { + objectMap["ruleType"] = fpr.RuleType + } + return json.Marshal(objectMap) +} + +// AsFirewallPolicyNatRule is the BasicFirewallPolicyRule implementation for FirewallPolicyRule. +func (fpr FirewallPolicyRule) AsFirewallPolicyNatRule() (*FirewallPolicyNatRule, bool) { + return nil, false +} + +// AsFirewallPolicyFilterRule is the BasicFirewallPolicyRule implementation for FirewallPolicyRule. +func (fpr FirewallPolicyRule) AsFirewallPolicyFilterRule() (*FirewallPolicyFilterRule, bool) { + return nil, false +} + +// AsFirewallPolicyRule is the BasicFirewallPolicyRule implementation for FirewallPolicyRule. +func (fpr FirewallPolicyRule) AsFirewallPolicyRule() (*FirewallPolicyRule, bool) { + return &fpr, true +} + +// AsBasicFirewallPolicyRule is the BasicFirewallPolicyRule implementation for FirewallPolicyRule. +func (fpr FirewallPolicyRule) AsBasicFirewallPolicyRule() (BasicFirewallPolicyRule, bool) { + return &fpr, true +} + +// BasicFirewallPolicyRuleCondition properties of a rule. +type BasicFirewallPolicyRuleCondition interface { + AsApplicationRuleCondition() (*ApplicationRuleCondition, bool) + AsRuleCondition() (*RuleCondition, bool) + AsFirewallPolicyRuleCondition() (*FirewallPolicyRuleCondition, bool) +} + +// FirewallPolicyRuleCondition properties of a rule. +type FirewallPolicyRuleCondition struct { + // Name - Name of the rule condition. + Name *string `json:"name,omitempty"` + // Description - Description of the rule condition. + Description *string `json:"description,omitempty"` + // RuleConditionType - Possible values include: 'RuleConditionTypeFirewallPolicyRuleCondition', 'RuleConditionTypeApplicationRuleCondition', 'RuleConditionTypeNetworkRuleCondition' + RuleConditionType RuleConditionType `json:"ruleConditionType,omitempty"` +} + +func unmarshalBasicFirewallPolicyRuleCondition(body []byte) (BasicFirewallPolicyRuleCondition, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["ruleConditionType"] { + case string(RuleConditionTypeApplicationRuleCondition): + var arc ApplicationRuleCondition + err := json.Unmarshal(body, &arc) + return arc, err + case string(RuleConditionTypeNetworkRuleCondition): + var rc RuleCondition + err := json.Unmarshal(body, &rc) + return rc, err + default: + var fprc FirewallPolicyRuleCondition + err := json.Unmarshal(body, &fprc) + return fprc, err + } +} +func unmarshalBasicFirewallPolicyRuleConditionArray(body []byte) ([]BasicFirewallPolicyRuleCondition, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + fprcArray := make([]BasicFirewallPolicyRuleCondition, len(rawMessages)) + + for index, rawMessage := range rawMessages { + fprc, err := unmarshalBasicFirewallPolicyRuleCondition(*rawMessage) + if err != nil { + return nil, err + } + fprcArray[index] = fprc + } + return fprcArray, nil +} + +// MarshalJSON is the custom marshaler for FirewallPolicyRuleCondition. +func (fprc FirewallPolicyRuleCondition) MarshalJSON() ([]byte, error) { + fprc.RuleConditionType = RuleConditionTypeFirewallPolicyRuleCondition + objectMap := make(map[string]interface{}) + if fprc.Name != nil { + objectMap["name"] = fprc.Name + } + if fprc.Description != nil { + objectMap["description"] = fprc.Description + } + if fprc.RuleConditionType != "" { + objectMap["ruleConditionType"] = fprc.RuleConditionType + } + return json.Marshal(objectMap) +} + +// AsApplicationRuleCondition is the BasicFirewallPolicyRuleCondition implementation for FirewallPolicyRuleCondition. +func (fprc FirewallPolicyRuleCondition) AsApplicationRuleCondition() (*ApplicationRuleCondition, bool) { + return nil, false +} + +// AsRuleCondition is the BasicFirewallPolicyRuleCondition implementation for FirewallPolicyRuleCondition. +func (fprc FirewallPolicyRuleCondition) AsRuleCondition() (*RuleCondition, bool) { + return nil, false +} + +// AsFirewallPolicyRuleCondition is the BasicFirewallPolicyRuleCondition implementation for FirewallPolicyRuleCondition. +func (fprc FirewallPolicyRuleCondition) AsFirewallPolicyRuleCondition() (*FirewallPolicyRuleCondition, bool) { + return &fprc, true +} + +// AsBasicFirewallPolicyRuleCondition is the BasicFirewallPolicyRuleCondition implementation for FirewallPolicyRuleCondition. +func (fprc FirewallPolicyRuleCondition) AsBasicFirewallPolicyRuleCondition() (BasicFirewallPolicyRuleCondition, bool) { + return &fprc, true +} + +// FirewallPolicyRuleConditionApplicationProtocol properties of the application rule protocol. +type FirewallPolicyRuleConditionApplicationProtocol struct { + // ProtocolType - Protocol type. Possible values include: 'FirewallPolicyRuleConditionApplicationProtocolTypeHTTP', 'FirewallPolicyRuleConditionApplicationProtocolTypeHTTPS' + ProtocolType FirewallPolicyRuleConditionApplicationProtocolType `json:"protocolType,omitempty"` + // Port - Port number for the protocol, cannot be greater than 64000. + Port *int32 `json:"port,omitempty"` +} + +// FirewallPolicyRuleGroup rule Group resource. +type FirewallPolicyRuleGroup struct { + autorest.Response `json:"-"` + // FirewallPolicyRuleGroupProperties - The properties of the firewall policy rule group. + *FirewallPolicyRuleGroupProperties `json:"properties,omitempty"` + // Name - The name of the resource that is unique within a resource group. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + // Etag - READ-ONLY; A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // Type - READ-ONLY; Rule Group type. + Type *string `json:"type,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for FirewallPolicyRuleGroup. +func (fprg FirewallPolicyRuleGroup) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if fprg.FirewallPolicyRuleGroupProperties != nil { + objectMap["properties"] = fprg.FirewallPolicyRuleGroupProperties + } + if fprg.Name != nil { + objectMap["name"] = fprg.Name + } + if fprg.ID != nil { + objectMap["id"] = fprg.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for FirewallPolicyRuleGroup struct. +func (fprg *FirewallPolicyRuleGroup) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var firewallPolicyRuleGroupProperties FirewallPolicyRuleGroupProperties + err = json.Unmarshal(*v, &firewallPolicyRuleGroupProperties) + if err != nil { + return err + } + fprg.FirewallPolicyRuleGroupProperties = &firewallPolicyRuleGroupProperties + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + fprg.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + fprg.Etag = &etag + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + fprg.Type = &typeVar + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + fprg.ID = &ID + } + } + } + + return nil +} + +// FirewallPolicyRuleGroupListResult response for ListFirewallPolicyRuleGroups API service call. +type FirewallPolicyRuleGroupListResult struct { + autorest.Response `json:"-"` + // Value - List of FirewallPolicyRuleGroups in a FirewallPolicy. + Value *[]FirewallPolicyRuleGroup `json:"value,omitempty"` + // NextLink - URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// FirewallPolicyRuleGroupListResultIterator provides access to a complete listing of +// FirewallPolicyRuleGroup values. +type FirewallPolicyRuleGroupListResultIterator struct { + i int + page FirewallPolicyRuleGroupListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *FirewallPolicyRuleGroupListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/FirewallPolicyRuleGroupListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *FirewallPolicyRuleGroupListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter FirewallPolicyRuleGroupListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter FirewallPolicyRuleGroupListResultIterator) Response() FirewallPolicyRuleGroupListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter FirewallPolicyRuleGroupListResultIterator) Value() FirewallPolicyRuleGroup { + if !iter.page.NotDone() { + return FirewallPolicyRuleGroup{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the FirewallPolicyRuleGroupListResultIterator type. +func NewFirewallPolicyRuleGroupListResultIterator(page FirewallPolicyRuleGroupListResultPage) FirewallPolicyRuleGroupListResultIterator { + return FirewallPolicyRuleGroupListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (fprglr FirewallPolicyRuleGroupListResult) IsEmpty() bool { + return fprglr.Value == nil || len(*fprglr.Value) == 0 +} + +// firewallPolicyRuleGroupListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (fprglr FirewallPolicyRuleGroupListResult) firewallPolicyRuleGroupListResultPreparer(ctx context.Context) (*http.Request, error) { + if fprglr.NextLink == nil || len(to.String(fprglr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(fprglr.NextLink))) +} + +// FirewallPolicyRuleGroupListResultPage contains a page of FirewallPolicyRuleGroup values. +type FirewallPolicyRuleGroupListResultPage struct { + fn func(context.Context, FirewallPolicyRuleGroupListResult) (FirewallPolicyRuleGroupListResult, error) + fprglr FirewallPolicyRuleGroupListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *FirewallPolicyRuleGroupListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/FirewallPolicyRuleGroupListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.fprglr) + if err != nil { + return err + } + page.fprglr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *FirewallPolicyRuleGroupListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page FirewallPolicyRuleGroupListResultPage) NotDone() bool { + return !page.fprglr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page FirewallPolicyRuleGroupListResultPage) Response() FirewallPolicyRuleGroupListResult { + return page.fprglr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page FirewallPolicyRuleGroupListResultPage) Values() []FirewallPolicyRuleGroup { + if page.fprglr.IsEmpty() { + return nil + } + return *page.fprglr.Value +} + +// Creates a new instance of the FirewallPolicyRuleGroupListResultPage type. +func NewFirewallPolicyRuleGroupListResultPage(getNextPage func(context.Context, FirewallPolicyRuleGroupListResult) (FirewallPolicyRuleGroupListResult, error)) FirewallPolicyRuleGroupListResultPage { + return FirewallPolicyRuleGroupListResultPage{fn: getNextPage} +} + +// FirewallPolicyRuleGroupProperties properties of the rule group. +type FirewallPolicyRuleGroupProperties struct { + // Priority - Priority of the Firewall Policy Rule Group resource. + Priority *int32 `json:"priority,omitempty"` + // Rules - Group of Firewall Policy rules. + Rules *[]BasicFirewallPolicyRule `json:"rules,omitempty"` + // ProvisioningState - The provisioning state of the firewall policy rule group resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for FirewallPolicyRuleGroupProperties struct. +func (fprgp *FirewallPolicyRuleGroupProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "priority": + if v != nil { + var priority int32 + err = json.Unmarshal(*v, &priority) + if err != nil { + return err + } + fprgp.Priority = &priority + } + case "rules": + if v != nil { + rules, err := unmarshalBasicFirewallPolicyRuleArray(*v) + if err != nil { + return err + } + fprgp.Rules = &rules + } + case "provisioningState": + if v != nil { + var provisioningState ProvisioningState + err = json.Unmarshal(*v, &provisioningState) + if err != nil { + return err + } + fprgp.ProvisioningState = provisioningState + } + } + } + + return nil +} + +// FirewallPolicyRuleGroupsCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of +// a long-running operation. +type FirewallPolicyRuleGroupsCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *FirewallPolicyRuleGroupsCreateOrUpdateFuture) Result(client FirewallPolicyRuleGroupsClient) (fprg FirewallPolicyRuleGroup, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.FirewallPolicyRuleGroupsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.FirewallPolicyRuleGroupsCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if fprg.Response.Response, err = future.GetResult(sender); err == nil && fprg.Response.Response.StatusCode != http.StatusNoContent { + fprg, err = client.CreateOrUpdateResponder(fprg.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.FirewallPolicyRuleGroupsCreateOrUpdateFuture", "Result", fprg.Response.Response, "Failure responding to request") + } + } + return +} + +// FirewallPolicyRuleGroupsDeleteFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type FirewallPolicyRuleGroupsDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *FirewallPolicyRuleGroupsDeleteFuture) Result(client FirewallPolicyRuleGroupsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.FirewallPolicyRuleGroupsDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.FirewallPolicyRuleGroupsDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// FlowLogFormatParameters parameters that define the flow log format. +type FlowLogFormatParameters struct { + // Type - The file type of flow log. Possible values include: 'JSON' + Type FlowLogFormatType `json:"type,omitempty"` + // Version - The version (revision) of the flow log. + Version *int32 `json:"version,omitempty"` +} + +// FlowLogInformation information on the configuration of flow log and traffic analytics (optional) . +type FlowLogInformation struct { + autorest.Response `json:"-"` + // TargetResourceID - The ID of the resource to configure for flow log and traffic analytics (optional) . + TargetResourceID *string `json:"targetResourceId,omitempty"` + // FlowLogProperties - Properties of the flow log. + *FlowLogProperties `json:"properties,omitempty"` + // FlowAnalyticsConfiguration - Parameters that define the configuration of traffic analytics. + FlowAnalyticsConfiguration *TrafficAnalyticsProperties `json:"flowAnalyticsConfiguration,omitempty"` +} + +// MarshalJSON is the custom marshaler for FlowLogInformation. +func (fli FlowLogInformation) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if fli.TargetResourceID != nil { + objectMap["targetResourceId"] = fli.TargetResourceID + } + if fli.FlowLogProperties != nil { + objectMap["properties"] = fli.FlowLogProperties + } + if fli.FlowAnalyticsConfiguration != nil { + objectMap["flowAnalyticsConfiguration"] = fli.FlowAnalyticsConfiguration + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for FlowLogInformation struct. +func (fli *FlowLogInformation) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "targetResourceId": + if v != nil { + var targetResourceID string + err = json.Unmarshal(*v, &targetResourceID) + if err != nil { + return err + } + fli.TargetResourceID = &targetResourceID + } + case "properties": + if v != nil { + var flowLogProperties FlowLogProperties + err = json.Unmarshal(*v, &flowLogProperties) + if err != nil { + return err + } + fli.FlowLogProperties = &flowLogProperties + } + case "flowAnalyticsConfiguration": + if v != nil { + var flowAnalyticsConfiguration TrafficAnalyticsProperties + err = json.Unmarshal(*v, &flowAnalyticsConfiguration) + if err != nil { + return err + } + fli.FlowAnalyticsConfiguration = &flowAnalyticsConfiguration + } + } + } + + return nil +} + +// FlowLogProperties parameters that define the configuration of flow log. +type FlowLogProperties struct { + // StorageID - ID of the storage account which is used to store the flow log. + StorageID *string `json:"storageId,omitempty"` + // Enabled - Flag to enable/disable flow logging. + Enabled *bool `json:"enabled,omitempty"` + // RetentionPolicy - Parameters that define the retention policy for flow log. + RetentionPolicy *RetentionPolicyParameters `json:"retentionPolicy,omitempty"` + // Format - Parameters that define the flow log format. + Format *FlowLogFormatParameters `json:"format,omitempty"` +} + +// FlowLogStatusParameters parameters that define a resource to query flow log and traffic analytics +// (optional) status. +type FlowLogStatusParameters struct { + // TargetResourceID - The target resource where getting the flow log and traffic analytics (optional) status. + TargetResourceID *string `json:"targetResourceId,omitempty"` +} + +// FrontendIPConfiguration frontend IP address of the load balancer. +type FrontendIPConfiguration struct { + autorest.Response `json:"-"` + // FrontendIPConfigurationPropertiesFormat - Properties of the load balancer probe. + *FrontendIPConfigurationPropertiesFormat `json:"properties,omitempty"` + // Name - The name of the resource that is unique within the set of frontend IP configurations used by the load balancer. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // Type - READ-ONLY; Type of the resource. + Type *string `json:"type,omitempty"` + // Zones - A list of availability zones denoting the IP allocated for the resource needs to come from. + Zones *[]string `json:"zones,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for FrontendIPConfiguration. +func (fic FrontendIPConfiguration) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if fic.FrontendIPConfigurationPropertiesFormat != nil { + objectMap["properties"] = fic.FrontendIPConfigurationPropertiesFormat + } + if fic.Name != nil { + objectMap["name"] = fic.Name + } + if fic.Etag != nil { + objectMap["etag"] = fic.Etag + } + if fic.Zones != nil { + objectMap["zones"] = fic.Zones + } + if fic.ID != nil { + objectMap["id"] = fic.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for FrontendIPConfiguration struct. +func (fic *FrontendIPConfiguration) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var frontendIPConfigurationPropertiesFormat FrontendIPConfigurationPropertiesFormat + err = json.Unmarshal(*v, &frontendIPConfigurationPropertiesFormat) + if err != nil { + return err + } + fic.FrontendIPConfigurationPropertiesFormat = &frontendIPConfigurationPropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + fic.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + fic.Etag = &etag + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + fic.Type = &typeVar + } + case "zones": + if v != nil { + var zones []string + err = json.Unmarshal(*v, &zones) + if err != nil { + return err + } + fic.Zones = &zones + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + fic.ID = &ID + } + } + } + + return nil +} + +// FrontendIPConfigurationPropertiesFormat properties of Frontend IP Configuration of the load balancer. +type FrontendIPConfigurationPropertiesFormat struct { + // InboundNatRules - READ-ONLY; An array of references to inbound rules that use this frontend IP. + InboundNatRules *[]SubResource `json:"inboundNatRules,omitempty"` + // InboundNatPools - READ-ONLY; An array of references to inbound pools that use this frontend IP. + InboundNatPools *[]SubResource `json:"inboundNatPools,omitempty"` + // OutboundRules - READ-ONLY; An array of references to outbound rules that use this frontend IP. + OutboundRules *[]SubResource `json:"outboundRules,omitempty"` + // LoadBalancingRules - READ-ONLY; An array of references to load balancing rules that use this frontend IP. + LoadBalancingRules *[]SubResource `json:"loadBalancingRules,omitempty"` + // PrivateIPAddress - The private IP address of the IP configuration. + PrivateIPAddress *string `json:"privateIPAddress,omitempty"` + // PrivateIPAllocationMethod - The Private IP allocation method. Possible values include: 'Static', 'Dynamic' + PrivateIPAllocationMethod IPAllocationMethod `json:"privateIPAllocationMethod,omitempty"` + // PrivateIPAddressVersion - Whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values include: 'IPv4', 'IPv6' + PrivateIPAddressVersion IPVersion `json:"privateIPAddressVersion,omitempty"` + // Subnet - The reference of the subnet resource. + Subnet *Subnet `json:"subnet,omitempty"` + // PublicIPAddress - The reference of the Public IP resource. + PublicIPAddress *PublicIPAddress `json:"publicIPAddress,omitempty"` + // PublicIPPrefix - The reference of the Public IP Prefix resource. + PublicIPPrefix *SubResource `json:"publicIPPrefix,omitempty"` + // ProvisioningState - The provisioning state of the frontend IP configuration resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// GatewayRoute gateway routing details. +type GatewayRoute struct { + // LocalAddress - READ-ONLY; The gateway's local address. + LocalAddress *string `json:"localAddress,omitempty"` + // NetworkProperty - READ-ONLY; The route's network prefix. + NetworkProperty *string `json:"network,omitempty"` + // NextHop - READ-ONLY; The route's next hop. + NextHop *string `json:"nextHop,omitempty"` + // SourcePeer - READ-ONLY; The peer this route was learned from. + SourcePeer *string `json:"sourcePeer,omitempty"` + // Origin - READ-ONLY; The source this route was learned from. + Origin *string `json:"origin,omitempty"` + // AsPath - READ-ONLY; The route's AS path sequence. + AsPath *string `json:"asPath,omitempty"` + // Weight - READ-ONLY; The route's weight. + Weight *int32 `json:"weight,omitempty"` +} + +// GatewayRouteListResult list of virtual network gateway routes. +type GatewayRouteListResult struct { + autorest.Response `json:"-"` + // Value - List of gateway routes. + Value *[]GatewayRoute `json:"value,omitempty"` +} + +// GeneratevirtualwanvpnserverconfigurationvpnprofileFuture an abstraction for monitoring and retrieving +// the results of a long-running operation. +type GeneratevirtualwanvpnserverconfigurationvpnprofileFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *GeneratevirtualwanvpnserverconfigurationvpnprofileFuture) Result(client BaseClient) (vpr VpnProfileResponse, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.GeneratevirtualwanvpnserverconfigurationvpnprofileFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.GeneratevirtualwanvpnserverconfigurationvpnprofileFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if vpr.Response.Response, err = future.GetResult(sender); err == nil && vpr.Response.Response.StatusCode != http.StatusNoContent { + vpr, err = client.GeneratevirtualwanvpnserverconfigurationvpnprofileResponder(vpr.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.GeneratevirtualwanvpnserverconfigurationvpnprofileFuture", "Result", vpr.Response.Response, "Failure responding to request") + } + } + return +} + +// GetVpnSitesConfigurationRequest list of Vpn-Sites. +type GetVpnSitesConfigurationRequest struct { + // VpnSites - List of resource-ids of the vpn-sites for which config is to be downloaded. + VpnSites *[]string `json:"vpnSites,omitempty"` + // OutputBlobSasURL - The sas-url to download the configurations for vpn-sites. + OutputBlobSasURL *string `json:"outputBlobSasUrl,omitempty"` +} + +// HTTPConfiguration HTTP configuration of the connectivity check. +type HTTPConfiguration struct { + // Method - HTTP method. Possible values include: 'Get' + Method HTTPMethod `json:"method,omitempty"` + // Headers - List of HTTP headers. + Headers *[]HTTPHeader `json:"headers,omitempty"` + // ValidStatusCodes - Valid status codes. + ValidStatusCodes *[]int32 `json:"validStatusCodes,omitempty"` +} + +// HTTPHeader describes the HTTP header. +type HTTPHeader struct { + // Name - The name in HTTP header. + Name *string `json:"name,omitempty"` + // Value - The value in HTTP header. + Value *string `json:"value,omitempty"` +} + +// HubIPAddresses IP addresses associated with azure firewall. +type HubIPAddresses struct { + // PublicIPAddresses - List of Public IP addresses associated with azure firewall. + PublicIPAddresses *[]AzureFirewallPublicIPAddress `json:"publicIPAddresses,omitempty"` + // PrivateIPAddress - Private IP Address associated with azure firewall. + PrivateIPAddress *string `json:"privateIPAddress,omitempty"` +} + +// HubVirtualNetworkConnection hubVirtualNetworkConnection Resource. +type HubVirtualNetworkConnection struct { + autorest.Response `json:"-"` + // HubVirtualNetworkConnectionProperties - Properties of the hub virtual network connection. + *HubVirtualNetworkConnectionProperties `json:"properties,omitempty"` + // Name - The name of the resource that is unique within a resource group. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + // Etag - READ-ONLY; A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for HubVirtualNetworkConnection. +func (hvnc HubVirtualNetworkConnection) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if hvnc.HubVirtualNetworkConnectionProperties != nil { + objectMap["properties"] = hvnc.HubVirtualNetworkConnectionProperties + } + if hvnc.Name != nil { + objectMap["name"] = hvnc.Name + } + if hvnc.ID != nil { + objectMap["id"] = hvnc.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for HubVirtualNetworkConnection struct. +func (hvnc *HubVirtualNetworkConnection) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var hubVirtualNetworkConnectionProperties HubVirtualNetworkConnectionProperties + err = json.Unmarshal(*v, &hubVirtualNetworkConnectionProperties) + if err != nil { + return err + } + hvnc.HubVirtualNetworkConnectionProperties = &hubVirtualNetworkConnectionProperties + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + hvnc.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + hvnc.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + hvnc.ID = &ID + } + } + } + + return nil +} + +// HubVirtualNetworkConnectionProperties parameters for HubVirtualNetworkConnection. +type HubVirtualNetworkConnectionProperties struct { + // RemoteVirtualNetwork - Reference to the remote virtual network. + RemoteVirtualNetwork *SubResource `json:"remoteVirtualNetwork,omitempty"` + // AllowHubToRemoteVnetTransit - VirtualHub to RemoteVnet transit to enabled or not. + AllowHubToRemoteVnetTransit *bool `json:"allowHubToRemoteVnetTransit,omitempty"` + // AllowRemoteVnetToUseHubVnetGateways - Allow RemoteVnet to use Virtual Hub's gateways. + AllowRemoteVnetToUseHubVnetGateways *bool `json:"allowRemoteVnetToUseHubVnetGateways,omitempty"` + // EnableInternetSecurity - Enable internet security. + EnableInternetSecurity *bool `json:"enableInternetSecurity,omitempty"` + // ProvisioningState - The provisioning state of the hub virtual network connection resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// InboundNatPool inbound NAT pool of the load balancer. +type InboundNatPool struct { + // InboundNatPoolPropertiesFormat - Properties of load balancer inbound nat pool. + *InboundNatPoolPropertiesFormat `json:"properties,omitempty"` + // Name - The name of the resource that is unique within the set of inbound NAT pools used by the load balancer. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // Type - READ-ONLY; Type of the resource. + Type *string `json:"type,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for InboundNatPool. +func (inp InboundNatPool) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if inp.InboundNatPoolPropertiesFormat != nil { + objectMap["properties"] = inp.InboundNatPoolPropertiesFormat + } + if inp.Name != nil { + objectMap["name"] = inp.Name + } + if inp.Etag != nil { + objectMap["etag"] = inp.Etag + } + if inp.ID != nil { + objectMap["id"] = inp.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for InboundNatPool struct. +func (inp *InboundNatPool) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var inboundNatPoolPropertiesFormat InboundNatPoolPropertiesFormat + err = json.Unmarshal(*v, &inboundNatPoolPropertiesFormat) + if err != nil { + return err + } + inp.InboundNatPoolPropertiesFormat = &inboundNatPoolPropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + inp.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + inp.Etag = &etag + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + inp.Type = &typeVar + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + inp.ID = &ID + } + } + } + + return nil +} + +// InboundNatPoolPropertiesFormat properties of Inbound NAT pool. +type InboundNatPoolPropertiesFormat struct { + // FrontendIPConfiguration - A reference to frontend IP addresses. + FrontendIPConfiguration *SubResource `json:"frontendIPConfiguration,omitempty"` + // Protocol - The reference to the transport protocol used by the inbound NAT pool. Possible values include: 'TransportProtocolUDP', 'TransportProtocolTCP', 'TransportProtocolAll' + Protocol TransportProtocol `json:"protocol,omitempty"` + // FrontendPortRangeStart - The first port number in the range of external ports that will be used to provide Inbound Nat to NICs associated with a load balancer. Acceptable values range between 1 and 65534. + FrontendPortRangeStart *int32 `json:"frontendPortRangeStart,omitempty"` + // FrontendPortRangeEnd - The last port number in the range of external ports that will be used to provide Inbound Nat to NICs associated with a load balancer. Acceptable values range between 1 and 65535. + FrontendPortRangeEnd *int32 `json:"frontendPortRangeEnd,omitempty"` + // BackendPort - The port used for internal connections on the endpoint. Acceptable values are between 1 and 65535. + BackendPort *int32 `json:"backendPort,omitempty"` + // IdleTimeoutInMinutes - The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The default value is 4 minutes. This element is only used when the protocol is set to TCP. + IdleTimeoutInMinutes *int32 `json:"idleTimeoutInMinutes,omitempty"` + // EnableFloatingIP - Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL AlwaysOn Availability Group. This setting is required when using the SQL AlwaysOn Availability Groups in SQL server. This setting can't be changed after you create the endpoint. + EnableFloatingIP *bool `json:"enableFloatingIP,omitempty"` + // EnableTCPReset - Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This element is only used when the protocol is set to TCP. + EnableTCPReset *bool `json:"enableTcpReset,omitempty"` + // ProvisioningState - The provisioning state of the inbound NAT pool resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// InboundNatRule inbound NAT rule of the load balancer. +type InboundNatRule struct { + autorest.Response `json:"-"` + // InboundNatRulePropertiesFormat - Properties of load balancer inbound nat rule. + *InboundNatRulePropertiesFormat `json:"properties,omitempty"` + // Name - The name of the resource that is unique within the set of inbound NAT rules used by the load balancer. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // Type - READ-ONLY; Type of the resource. + Type *string `json:"type,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for InboundNatRule. +func (inr InboundNatRule) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if inr.InboundNatRulePropertiesFormat != nil { + objectMap["properties"] = inr.InboundNatRulePropertiesFormat + } + if inr.Name != nil { + objectMap["name"] = inr.Name + } + if inr.Etag != nil { + objectMap["etag"] = inr.Etag + } + if inr.ID != nil { + objectMap["id"] = inr.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for InboundNatRule struct. +func (inr *InboundNatRule) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var inboundNatRulePropertiesFormat InboundNatRulePropertiesFormat + err = json.Unmarshal(*v, &inboundNatRulePropertiesFormat) + if err != nil { + return err + } + inr.InboundNatRulePropertiesFormat = &inboundNatRulePropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + inr.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + inr.Etag = &etag + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + inr.Type = &typeVar + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + inr.ID = &ID + } + } + } + + return nil +} + +// InboundNatRuleListResult response for ListInboundNatRule API service call. +type InboundNatRuleListResult struct { + autorest.Response `json:"-"` + // Value - A list of inbound nat rules in a load balancer. + Value *[]InboundNatRule `json:"value,omitempty"` + // NextLink - READ-ONLY; The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// InboundNatRuleListResultIterator provides access to a complete listing of InboundNatRule values. +type InboundNatRuleListResultIterator struct { + i int + page InboundNatRuleListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *InboundNatRuleListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/InboundNatRuleListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *InboundNatRuleListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter InboundNatRuleListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter InboundNatRuleListResultIterator) Response() InboundNatRuleListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter InboundNatRuleListResultIterator) Value() InboundNatRule { + if !iter.page.NotDone() { + return InboundNatRule{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the InboundNatRuleListResultIterator type. +func NewInboundNatRuleListResultIterator(page InboundNatRuleListResultPage) InboundNatRuleListResultIterator { + return InboundNatRuleListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (inrlr InboundNatRuleListResult) IsEmpty() bool { + return inrlr.Value == nil || len(*inrlr.Value) == 0 +} + +// inboundNatRuleListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (inrlr InboundNatRuleListResult) inboundNatRuleListResultPreparer(ctx context.Context) (*http.Request, error) { + if inrlr.NextLink == nil || len(to.String(inrlr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(inrlr.NextLink))) +} + +// InboundNatRuleListResultPage contains a page of InboundNatRule values. +type InboundNatRuleListResultPage struct { + fn func(context.Context, InboundNatRuleListResult) (InboundNatRuleListResult, error) + inrlr InboundNatRuleListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *InboundNatRuleListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/InboundNatRuleListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.inrlr) + if err != nil { + return err + } + page.inrlr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *InboundNatRuleListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page InboundNatRuleListResultPage) NotDone() bool { + return !page.inrlr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page InboundNatRuleListResultPage) Response() InboundNatRuleListResult { + return page.inrlr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page InboundNatRuleListResultPage) Values() []InboundNatRule { + if page.inrlr.IsEmpty() { + return nil + } + return *page.inrlr.Value +} + +// Creates a new instance of the InboundNatRuleListResultPage type. +func NewInboundNatRuleListResultPage(getNextPage func(context.Context, InboundNatRuleListResult) (InboundNatRuleListResult, error)) InboundNatRuleListResultPage { + return InboundNatRuleListResultPage{fn: getNextPage} +} + +// InboundNatRulePropertiesFormat properties of the inbound NAT rule. +type InboundNatRulePropertiesFormat struct { + // FrontendIPConfiguration - A reference to frontend IP addresses. + FrontendIPConfiguration *SubResource `json:"frontendIPConfiguration,omitempty"` + // BackendIPConfiguration - READ-ONLY; A reference to a private IP address defined on a network interface of a VM. Traffic sent to the frontend port of each of the frontend IP configurations is forwarded to the backend IP. + BackendIPConfiguration *InterfaceIPConfiguration `json:"backendIPConfiguration,omitempty"` + // Protocol - The reference to the transport protocol used by the load balancing rule. Possible values include: 'TransportProtocolUDP', 'TransportProtocolTCP', 'TransportProtocolAll' + Protocol TransportProtocol `json:"protocol,omitempty"` + // FrontendPort - The port for the external endpoint. Port numbers for each rule must be unique within the Load Balancer. Acceptable values range from 1 to 65534. + FrontendPort *int32 `json:"frontendPort,omitempty"` + // BackendPort - The port used for the internal endpoint. Acceptable values range from 1 to 65535. + BackendPort *int32 `json:"backendPort,omitempty"` + // IdleTimeoutInMinutes - The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The default value is 4 minutes. This element is only used when the protocol is set to TCP. + IdleTimeoutInMinutes *int32 `json:"idleTimeoutInMinutes,omitempty"` + // EnableFloatingIP - Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL AlwaysOn Availability Group. This setting is required when using the SQL AlwaysOn Availability Groups in SQL server. This setting can't be changed after you create the endpoint. + EnableFloatingIP *bool `json:"enableFloatingIP,omitempty"` + // EnableTCPReset - Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This element is only used when the protocol is set to TCP. + EnableTCPReset *bool `json:"enableTcpReset,omitempty"` + // ProvisioningState - The provisioning state of the inbound NAT rule resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// InboundNatRulesCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type InboundNatRulesCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *InboundNatRulesCreateOrUpdateFuture) Result(client InboundNatRulesClient) (inr InboundNatRule, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InboundNatRulesCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.InboundNatRulesCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if inr.Response.Response, err = future.GetResult(sender); err == nil && inr.Response.Response.StatusCode != http.StatusNoContent { + inr, err = client.CreateOrUpdateResponder(inr.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InboundNatRulesCreateOrUpdateFuture", "Result", inr.Response.Response, "Failure responding to request") + } + } + return +} + +// InboundNatRulesDeleteFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type InboundNatRulesDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *InboundNatRulesDeleteFuture) Result(client InboundNatRulesClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InboundNatRulesDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.InboundNatRulesDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// IntentPolicy network Intent Policy resource. +type IntentPolicy struct { + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for IntentPolicy. +func (IP IntentPolicy) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if IP.Etag != nil { + objectMap["etag"] = IP.Etag + } + if IP.ID != nil { + objectMap["id"] = IP.ID + } + if IP.Location != nil { + objectMap["location"] = IP.Location + } + if IP.Tags != nil { + objectMap["tags"] = IP.Tags + } + return json.Marshal(objectMap) +} + +// IntentPolicyConfiguration details of NetworkIntentPolicyConfiguration for PrepareNetworkPoliciesRequest. +type IntentPolicyConfiguration struct { + // NetworkIntentPolicyName - The name of the Network Intent Policy for storing in target subscription. + NetworkIntentPolicyName *string `json:"networkIntentPolicyName,omitempty"` + // SourceNetworkIntentPolicy - Source network intent policy. + SourceNetworkIntentPolicy *IntentPolicy `json:"sourceNetworkIntentPolicy,omitempty"` +} + +// Interface a network interface in a resource group. +type Interface struct { + autorest.Response `json:"-"` + // InterfacePropertiesFormat - Properties of the network interface. + *InterfacePropertiesFormat `json:"properties,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for Interface. +func (i Interface) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if i.InterfacePropertiesFormat != nil { + objectMap["properties"] = i.InterfacePropertiesFormat + } + if i.Etag != nil { + objectMap["etag"] = i.Etag + } + if i.ID != nil { + objectMap["id"] = i.ID + } + if i.Location != nil { + objectMap["location"] = i.Location + } + if i.Tags != nil { + objectMap["tags"] = i.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for Interface struct. +func (i *Interface) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var interfacePropertiesFormat InterfacePropertiesFormat + err = json.Unmarshal(*v, &interfacePropertiesFormat) + if err != nil { + return err + } + i.InterfacePropertiesFormat = &interfacePropertiesFormat + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + i.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + i.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + i.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + i.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + i.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + i.Tags = tags + } + } + } + + return nil +} + +// InterfaceAssociation network interface and its custom security rules. +type InterfaceAssociation struct { + // ID - READ-ONLY; Network interface ID. + ID *string `json:"id,omitempty"` + // SecurityRules - Collection of custom security rules. + SecurityRules *[]SecurityRule `json:"securityRules,omitempty"` +} + +// InterfaceDNSSettings DNS settings of a network interface. +type InterfaceDNSSettings struct { + // DNSServers - List of DNS servers IP addresses. Use 'AzureProvidedDNS' to switch to azure provided DNS resolution. 'AzureProvidedDNS' value cannot be combined with other IPs, it must be the only value in dnsServers collection. + DNSServers *[]string `json:"dnsServers,omitempty"` + // AppliedDNSServers - If the VM that uses this NIC is part of an Availability Set, then this list will have the union of all DNS servers from all NICs that are part of the Availability Set. This property is what is configured on each of those VMs. + AppliedDNSServers *[]string `json:"appliedDnsServers,omitempty"` + // InternalDNSNameLabel - Relative DNS name for this NIC used for internal communications between VMs in the same virtual network. + InternalDNSNameLabel *string `json:"internalDnsNameLabel,omitempty"` + // InternalFqdn - Fully qualified DNS name supporting internal communications between VMs in the same virtual network. + InternalFqdn *string `json:"internalFqdn,omitempty"` + // InternalDomainNameSuffix - Even if internalDnsNameLabel is not specified, a DNS entry is created for the primary NIC of the VM. This DNS name can be constructed by concatenating the VM name with the value of internalDomainNameSuffix. + InternalDomainNameSuffix *string `json:"internalDomainNameSuffix,omitempty"` +} + +// InterfaceIPConfiguration iPConfiguration in a network interface. +type InterfaceIPConfiguration struct { + autorest.Response `json:"-"` + // InterfaceIPConfigurationPropertiesFormat - Network interface IP configuration properties. + *InterfaceIPConfigurationPropertiesFormat `json:"properties,omitempty"` + // Name - The name of the resource that is unique within a resource group. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for InterfaceIPConfiguration. +func (iic InterfaceIPConfiguration) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if iic.InterfaceIPConfigurationPropertiesFormat != nil { + objectMap["properties"] = iic.InterfaceIPConfigurationPropertiesFormat + } + if iic.Name != nil { + objectMap["name"] = iic.Name + } + if iic.Etag != nil { + objectMap["etag"] = iic.Etag + } + if iic.ID != nil { + objectMap["id"] = iic.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for InterfaceIPConfiguration struct. +func (iic *InterfaceIPConfiguration) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var interfaceIPConfigurationPropertiesFormat InterfaceIPConfigurationPropertiesFormat + err = json.Unmarshal(*v, &interfaceIPConfigurationPropertiesFormat) + if err != nil { + return err + } + iic.InterfaceIPConfigurationPropertiesFormat = &interfaceIPConfigurationPropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + iic.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + iic.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + iic.ID = &ID + } + } + } + + return nil +} + +// InterfaceIPConfigurationListResult response for list ip configurations API service call. +type InterfaceIPConfigurationListResult struct { + autorest.Response `json:"-"` + // Value - A list of ip configurations. + Value *[]InterfaceIPConfiguration `json:"value,omitempty"` + // NextLink - READ-ONLY; The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// InterfaceIPConfigurationListResultIterator provides access to a complete listing of +// InterfaceIPConfiguration values. +type InterfaceIPConfigurationListResultIterator struct { + i int + page InterfaceIPConfigurationListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *InterfaceIPConfigurationListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/InterfaceIPConfigurationListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *InterfaceIPConfigurationListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter InterfaceIPConfigurationListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter InterfaceIPConfigurationListResultIterator) Response() InterfaceIPConfigurationListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter InterfaceIPConfigurationListResultIterator) Value() InterfaceIPConfiguration { + if !iter.page.NotDone() { + return InterfaceIPConfiguration{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the InterfaceIPConfigurationListResultIterator type. +func NewInterfaceIPConfigurationListResultIterator(page InterfaceIPConfigurationListResultPage) InterfaceIPConfigurationListResultIterator { + return InterfaceIPConfigurationListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (iiclr InterfaceIPConfigurationListResult) IsEmpty() bool { + return iiclr.Value == nil || len(*iiclr.Value) == 0 +} + +// interfaceIPConfigurationListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (iiclr InterfaceIPConfigurationListResult) interfaceIPConfigurationListResultPreparer(ctx context.Context) (*http.Request, error) { + if iiclr.NextLink == nil || len(to.String(iiclr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(iiclr.NextLink))) +} + +// InterfaceIPConfigurationListResultPage contains a page of InterfaceIPConfiguration values. +type InterfaceIPConfigurationListResultPage struct { + fn func(context.Context, InterfaceIPConfigurationListResult) (InterfaceIPConfigurationListResult, error) + iiclr InterfaceIPConfigurationListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *InterfaceIPConfigurationListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/InterfaceIPConfigurationListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.iiclr) + if err != nil { + return err + } + page.iiclr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *InterfaceIPConfigurationListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page InterfaceIPConfigurationListResultPage) NotDone() bool { + return !page.iiclr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page InterfaceIPConfigurationListResultPage) Response() InterfaceIPConfigurationListResult { + return page.iiclr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page InterfaceIPConfigurationListResultPage) Values() []InterfaceIPConfiguration { + if page.iiclr.IsEmpty() { + return nil + } + return *page.iiclr.Value +} + +// Creates a new instance of the InterfaceIPConfigurationListResultPage type. +func NewInterfaceIPConfigurationListResultPage(getNextPage func(context.Context, InterfaceIPConfigurationListResult) (InterfaceIPConfigurationListResult, error)) InterfaceIPConfigurationListResultPage { + return InterfaceIPConfigurationListResultPage{fn: getNextPage} +} + +// InterfaceIPConfigurationPrivateLinkConnectionProperties privateLinkConnection properties for the network +// interface. +type InterfaceIPConfigurationPrivateLinkConnectionProperties struct { + // GroupID - READ-ONLY; The group ID for current private link connection. + GroupID *string `json:"groupId,omitempty"` + // RequiredMemberName - READ-ONLY; The required member name for current private link connection. + RequiredMemberName *string `json:"requiredMemberName,omitempty"` + // Fqdns - READ-ONLY; List of FQDNs for current private link connection. + Fqdns *[]string `json:"fqdns,omitempty"` +} + +// InterfaceIPConfigurationPropertiesFormat properties of IP configuration. +type InterfaceIPConfigurationPropertiesFormat struct { + // VirtualNetworkTaps - The reference to Virtual Network Taps. + VirtualNetworkTaps *[]VirtualNetworkTap `json:"virtualNetworkTaps,omitempty"` + // ApplicationGatewayBackendAddressPools - The reference of ApplicationGatewayBackendAddressPool resource. + ApplicationGatewayBackendAddressPools *[]ApplicationGatewayBackendAddressPool `json:"applicationGatewayBackendAddressPools,omitempty"` + // LoadBalancerBackendAddressPools - The reference of LoadBalancerBackendAddressPool resource. + LoadBalancerBackendAddressPools *[]BackendAddressPool `json:"loadBalancerBackendAddressPools,omitempty"` + // LoadBalancerInboundNatRules - A list of references of LoadBalancerInboundNatRules. + LoadBalancerInboundNatRules *[]InboundNatRule `json:"loadBalancerInboundNatRules,omitempty"` + // PrivateIPAddress - Private IP address of the IP configuration. + PrivateIPAddress *string `json:"privateIPAddress,omitempty"` + // PrivateIPAllocationMethod - The private IP address allocation method. Possible values include: 'Static', 'Dynamic' + PrivateIPAllocationMethod IPAllocationMethod `json:"privateIPAllocationMethod,omitempty"` + // PrivateIPAddressVersion - Whether the specific IP configuration is IPv4 or IPv6. Default is IPv4. Possible values include: 'IPv4', 'IPv6' + PrivateIPAddressVersion IPVersion `json:"privateIPAddressVersion,omitempty"` + // Subnet - Subnet bound to the IP configuration. + Subnet *Subnet `json:"subnet,omitempty"` + // Primary - Whether this is a primary customer address on the network interface. + Primary *bool `json:"primary,omitempty"` + // PublicIPAddress - Public IP address bound to the IP configuration. + PublicIPAddress *PublicIPAddress `json:"publicIPAddress,omitempty"` + // ApplicationSecurityGroups - Application security groups in which the IP configuration is included. + ApplicationSecurityGroups *[]ApplicationSecurityGroup `json:"applicationSecurityGroups,omitempty"` + // ProvisioningState - The provisioning state of the network interface IP configuration. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + // PrivateLinkConnectionProperties - READ-ONLY; PrivateLinkConnection properties for the network interface. + PrivateLinkConnectionProperties *InterfaceIPConfigurationPrivateLinkConnectionProperties `json:"privateLinkConnectionProperties,omitempty"` +} + +// InterfaceListResult response for the ListNetworkInterface API service call. +type InterfaceListResult struct { + autorest.Response `json:"-"` + // Value - A list of network interfaces in a resource group. + Value *[]Interface `json:"value,omitempty"` + // NextLink - READ-ONLY; The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// InterfaceListResultIterator provides access to a complete listing of Interface values. +type InterfaceListResultIterator struct { + i int + page InterfaceListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *InterfaceListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/InterfaceListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *InterfaceListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter InterfaceListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter InterfaceListResultIterator) Response() InterfaceListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter InterfaceListResultIterator) Value() Interface { + if !iter.page.NotDone() { + return Interface{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the InterfaceListResultIterator type. +func NewInterfaceListResultIterator(page InterfaceListResultPage) InterfaceListResultIterator { + return InterfaceListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (ilr InterfaceListResult) IsEmpty() bool { + return ilr.Value == nil || len(*ilr.Value) == 0 +} + +// interfaceListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (ilr InterfaceListResult) interfaceListResultPreparer(ctx context.Context) (*http.Request, error) { + if ilr.NextLink == nil || len(to.String(ilr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(ilr.NextLink))) +} + +// InterfaceListResultPage contains a page of Interface values. +type InterfaceListResultPage struct { + fn func(context.Context, InterfaceListResult) (InterfaceListResult, error) + ilr InterfaceListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *InterfaceListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/InterfaceListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.ilr) + if err != nil { + return err + } + page.ilr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *InterfaceListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page InterfaceListResultPage) NotDone() bool { + return !page.ilr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page InterfaceListResultPage) Response() InterfaceListResult { + return page.ilr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page InterfaceListResultPage) Values() []Interface { + if page.ilr.IsEmpty() { + return nil + } + return *page.ilr.Value +} + +// Creates a new instance of the InterfaceListResultPage type. +func NewInterfaceListResultPage(getNextPage func(context.Context, InterfaceListResult) (InterfaceListResult, error)) InterfaceListResultPage { + return InterfaceListResultPage{fn: getNextPage} +} + +// InterfaceLoadBalancerListResult response for list ip configurations API service call. +type InterfaceLoadBalancerListResult struct { + autorest.Response `json:"-"` + // Value - A list of load balancers. + Value *[]LoadBalancer `json:"value,omitempty"` + // NextLink - READ-ONLY; The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// InterfaceLoadBalancerListResultIterator provides access to a complete listing of LoadBalancer values. +type InterfaceLoadBalancerListResultIterator struct { + i int + page InterfaceLoadBalancerListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *InterfaceLoadBalancerListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/InterfaceLoadBalancerListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *InterfaceLoadBalancerListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter InterfaceLoadBalancerListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter InterfaceLoadBalancerListResultIterator) Response() InterfaceLoadBalancerListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter InterfaceLoadBalancerListResultIterator) Value() LoadBalancer { + if !iter.page.NotDone() { + return LoadBalancer{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the InterfaceLoadBalancerListResultIterator type. +func NewInterfaceLoadBalancerListResultIterator(page InterfaceLoadBalancerListResultPage) InterfaceLoadBalancerListResultIterator { + return InterfaceLoadBalancerListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (ilblr InterfaceLoadBalancerListResult) IsEmpty() bool { + return ilblr.Value == nil || len(*ilblr.Value) == 0 +} + +// interfaceLoadBalancerListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (ilblr InterfaceLoadBalancerListResult) interfaceLoadBalancerListResultPreparer(ctx context.Context) (*http.Request, error) { + if ilblr.NextLink == nil || len(to.String(ilblr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(ilblr.NextLink))) +} + +// InterfaceLoadBalancerListResultPage contains a page of LoadBalancer values. +type InterfaceLoadBalancerListResultPage struct { + fn func(context.Context, InterfaceLoadBalancerListResult) (InterfaceLoadBalancerListResult, error) + ilblr InterfaceLoadBalancerListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *InterfaceLoadBalancerListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/InterfaceLoadBalancerListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.ilblr) + if err != nil { + return err + } + page.ilblr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *InterfaceLoadBalancerListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page InterfaceLoadBalancerListResultPage) NotDone() bool { + return !page.ilblr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page InterfaceLoadBalancerListResultPage) Response() InterfaceLoadBalancerListResult { + return page.ilblr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page InterfaceLoadBalancerListResultPage) Values() []LoadBalancer { + if page.ilblr.IsEmpty() { + return nil + } + return *page.ilblr.Value +} + +// Creates a new instance of the InterfaceLoadBalancerListResultPage type. +func NewInterfaceLoadBalancerListResultPage(getNextPage func(context.Context, InterfaceLoadBalancerListResult) (InterfaceLoadBalancerListResult, error)) InterfaceLoadBalancerListResultPage { + return InterfaceLoadBalancerListResultPage{fn: getNextPage} +} + +// InterfacePropertiesFormat networkInterface properties. +type InterfacePropertiesFormat struct { + // VirtualMachine - READ-ONLY; The reference of a virtual machine. + VirtualMachine *SubResource `json:"virtualMachine,omitempty"` + // NetworkSecurityGroup - The reference of the NetworkSecurityGroup resource. + NetworkSecurityGroup *SecurityGroup `json:"networkSecurityGroup,omitempty"` + // PrivateEndpoint - READ-ONLY; A reference to the private endpoint to which the network interface is linked. + PrivateEndpoint *PrivateEndpoint `json:"privateEndpoint,omitempty"` + // IPConfigurations - A list of IPConfigurations of the network interface. + IPConfigurations *[]InterfaceIPConfiguration `json:"ipConfigurations,omitempty"` + // TapConfigurations - A list of TapConfigurations of the network interface. + TapConfigurations *[]InterfaceTapConfiguration `json:"tapConfigurations,omitempty"` + // DNSSettings - The DNS settings in network interface. + DNSSettings *InterfaceDNSSettings `json:"dnsSettings,omitempty"` + // MacAddress - The MAC address of the network interface. + MacAddress *string `json:"macAddress,omitempty"` + // Primary - Whether this is a primary network interface on a virtual machine. + Primary *bool `json:"primary,omitempty"` + // EnableAcceleratedNetworking - If the network interface is accelerated networking enabled. + EnableAcceleratedNetworking *bool `json:"enableAcceleratedNetworking,omitempty"` + // EnableIPForwarding - Indicates whether IP forwarding is enabled on this network interface. + EnableIPForwarding *bool `json:"enableIPForwarding,omitempty"` + // HostedWorkloads - READ-ONLY; A list of references to linked BareMetal resources. + HostedWorkloads *[]string `json:"hostedWorkloads,omitempty"` + // ResourceGUID - The resource GUID property of the network interface resource. + ResourceGUID *string `json:"resourceGuid,omitempty"` + // ProvisioningState - The provisioning state of the network interface resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// InterfacesCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type InterfacesCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *InterfacesCreateOrUpdateFuture) Result(client InterfacesClient) (i Interface, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfacesCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.InterfacesCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if i.Response.Response, err = future.GetResult(sender); err == nil && i.Response.Response.StatusCode != http.StatusNoContent { + i, err = client.CreateOrUpdateResponder(i.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfacesCreateOrUpdateFuture", "Result", i.Response.Response, "Failure responding to request") + } + } + return +} + +// InterfacesDeleteFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type InterfacesDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *InterfacesDeleteFuture) Result(client InterfacesClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfacesDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.InterfacesDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// InterfacesGetEffectiveRouteTableFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type InterfacesGetEffectiveRouteTableFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *InterfacesGetEffectiveRouteTableFuture) Result(client InterfacesClient) (erlr EffectiveRouteListResult, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfacesGetEffectiveRouteTableFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.InterfacesGetEffectiveRouteTableFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if erlr.Response.Response, err = future.GetResult(sender); err == nil && erlr.Response.Response.StatusCode != http.StatusNoContent { + erlr, err = client.GetEffectiveRouteTableResponder(erlr.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfacesGetEffectiveRouteTableFuture", "Result", erlr.Response.Response, "Failure responding to request") + } + } + return +} + +// InterfacesListEffectiveNetworkSecurityGroupsFuture an abstraction for monitoring and retrieving the +// results of a long-running operation. +type InterfacesListEffectiveNetworkSecurityGroupsFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *InterfacesListEffectiveNetworkSecurityGroupsFuture) Result(client InterfacesClient) (ensglr EffectiveNetworkSecurityGroupListResult, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfacesListEffectiveNetworkSecurityGroupsFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.InterfacesListEffectiveNetworkSecurityGroupsFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if ensglr.Response.Response, err = future.GetResult(sender); err == nil && ensglr.Response.Response.StatusCode != http.StatusNoContent { + ensglr, err = client.ListEffectiveNetworkSecurityGroupsResponder(ensglr.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfacesListEffectiveNetworkSecurityGroupsFuture", "Result", ensglr.Response.Response, "Failure responding to request") + } + } + return +} + +// InterfacesUpdateTagsFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type InterfacesUpdateTagsFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *InterfacesUpdateTagsFuture) Result(client InterfacesClient) (i Interface, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfacesUpdateTagsFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.InterfacesUpdateTagsFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if i.Response.Response, err = future.GetResult(sender); err == nil && i.Response.Response.StatusCode != http.StatusNoContent { + i, err = client.UpdateTagsResponder(i.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfacesUpdateTagsFuture", "Result", i.Response.Response, "Failure responding to request") + } + } + return +} + +// InterfaceTapConfiguration tap configuration in a Network Interface. +type InterfaceTapConfiguration struct { + autorest.Response `json:"-"` + // InterfaceTapConfigurationPropertiesFormat - Properties of the Virtual Network Tap configuration. + *InterfaceTapConfigurationPropertiesFormat `json:"properties,omitempty"` + // Name - The name of the resource that is unique within a resource group. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // Type - READ-ONLY; Sub Resource type. + Type *string `json:"type,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for InterfaceTapConfiguration. +func (itc InterfaceTapConfiguration) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if itc.InterfaceTapConfigurationPropertiesFormat != nil { + objectMap["properties"] = itc.InterfaceTapConfigurationPropertiesFormat + } + if itc.Name != nil { + objectMap["name"] = itc.Name + } + if itc.Etag != nil { + objectMap["etag"] = itc.Etag + } + if itc.ID != nil { + objectMap["id"] = itc.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for InterfaceTapConfiguration struct. +func (itc *InterfaceTapConfiguration) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var interfaceTapConfigurationPropertiesFormat InterfaceTapConfigurationPropertiesFormat + err = json.Unmarshal(*v, &interfaceTapConfigurationPropertiesFormat) + if err != nil { + return err + } + itc.InterfaceTapConfigurationPropertiesFormat = &interfaceTapConfigurationPropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + itc.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + itc.Etag = &etag + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + itc.Type = &typeVar + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + itc.ID = &ID + } + } + } + + return nil +} + +// InterfaceTapConfigurationListResult response for list tap configurations API service call. +type InterfaceTapConfigurationListResult struct { + autorest.Response `json:"-"` + // Value - A list of tap configurations. + Value *[]InterfaceTapConfiguration `json:"value,omitempty"` + // NextLink - READ-ONLY; The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// InterfaceTapConfigurationListResultIterator provides access to a complete listing of +// InterfaceTapConfiguration values. +type InterfaceTapConfigurationListResultIterator struct { + i int + page InterfaceTapConfigurationListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *InterfaceTapConfigurationListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/InterfaceTapConfigurationListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *InterfaceTapConfigurationListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter InterfaceTapConfigurationListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter InterfaceTapConfigurationListResultIterator) Response() InterfaceTapConfigurationListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter InterfaceTapConfigurationListResultIterator) Value() InterfaceTapConfiguration { + if !iter.page.NotDone() { + return InterfaceTapConfiguration{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the InterfaceTapConfigurationListResultIterator type. +func NewInterfaceTapConfigurationListResultIterator(page InterfaceTapConfigurationListResultPage) InterfaceTapConfigurationListResultIterator { + return InterfaceTapConfigurationListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (itclr InterfaceTapConfigurationListResult) IsEmpty() bool { + return itclr.Value == nil || len(*itclr.Value) == 0 +} + +// interfaceTapConfigurationListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (itclr InterfaceTapConfigurationListResult) interfaceTapConfigurationListResultPreparer(ctx context.Context) (*http.Request, error) { + if itclr.NextLink == nil || len(to.String(itclr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(itclr.NextLink))) +} + +// InterfaceTapConfigurationListResultPage contains a page of InterfaceTapConfiguration values. +type InterfaceTapConfigurationListResultPage struct { + fn func(context.Context, InterfaceTapConfigurationListResult) (InterfaceTapConfigurationListResult, error) + itclr InterfaceTapConfigurationListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *InterfaceTapConfigurationListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/InterfaceTapConfigurationListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.itclr) + if err != nil { + return err + } + page.itclr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *InterfaceTapConfigurationListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page InterfaceTapConfigurationListResultPage) NotDone() bool { + return !page.itclr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page InterfaceTapConfigurationListResultPage) Response() InterfaceTapConfigurationListResult { + return page.itclr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page InterfaceTapConfigurationListResultPage) Values() []InterfaceTapConfiguration { + if page.itclr.IsEmpty() { + return nil + } + return *page.itclr.Value +} + +// Creates a new instance of the InterfaceTapConfigurationListResultPage type. +func NewInterfaceTapConfigurationListResultPage(getNextPage func(context.Context, InterfaceTapConfigurationListResult) (InterfaceTapConfigurationListResult, error)) InterfaceTapConfigurationListResultPage { + return InterfaceTapConfigurationListResultPage{fn: getNextPage} +} + +// InterfaceTapConfigurationPropertiesFormat properties of Virtual Network Tap configuration. +type InterfaceTapConfigurationPropertiesFormat struct { + // VirtualNetworkTap - The reference of the Virtual Network Tap resource. + VirtualNetworkTap *VirtualNetworkTap `json:"virtualNetworkTap,omitempty"` + // ProvisioningState - READ-ONLY; The provisioning state of the network interface tap configuration resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// InterfaceTapConfigurationsCreateOrUpdateFuture an abstraction for monitoring and retrieving the results +// of a long-running operation. +type InterfaceTapConfigurationsCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *InterfaceTapConfigurationsCreateOrUpdateFuture) Result(client InterfaceTapConfigurationsClient) (itc InterfaceTapConfiguration, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfaceTapConfigurationsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.InterfaceTapConfigurationsCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if itc.Response.Response, err = future.GetResult(sender); err == nil && itc.Response.Response.StatusCode != http.StatusNoContent { + itc, err = client.CreateOrUpdateResponder(itc.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfaceTapConfigurationsCreateOrUpdateFuture", "Result", itc.Response.Response, "Failure responding to request") + } + } + return +} + +// InterfaceTapConfigurationsDeleteFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type InterfaceTapConfigurationsDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *InterfaceTapConfigurationsDeleteFuture) Result(client InterfaceTapConfigurationsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.InterfaceTapConfigurationsDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.InterfaceTapConfigurationsDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// IPAddressAvailabilityResult response for CheckIPAddressAvailability API service call. +type IPAddressAvailabilityResult struct { + autorest.Response `json:"-"` + // Available - Private IP address availability. + Available *bool `json:"available,omitempty"` + // AvailableIPAddresses - Contains other available private IP addresses if the asked for address is taken. + AvailableIPAddresses *[]string `json:"availableIPAddresses,omitempty"` +} + +// IPConfiguration IP configuration. +type IPConfiguration struct { + // IPConfigurationPropertiesFormat - Properties of the IP configuration. + *IPConfigurationPropertiesFormat `json:"properties,omitempty"` + // Name - The name of the resource that is unique within a resource group. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for IPConfiguration. +func (ic IPConfiguration) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if ic.IPConfigurationPropertiesFormat != nil { + objectMap["properties"] = ic.IPConfigurationPropertiesFormat + } + if ic.Name != nil { + objectMap["name"] = ic.Name + } + if ic.Etag != nil { + objectMap["etag"] = ic.Etag + } + if ic.ID != nil { + objectMap["id"] = ic.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for IPConfiguration struct. +func (ic *IPConfiguration) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var IPConfigurationPropertiesFormat IPConfigurationPropertiesFormat + err = json.Unmarshal(*v, &IPConfigurationPropertiesFormat) + if err != nil { + return err + } + ic.IPConfigurationPropertiesFormat = &IPConfigurationPropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + ic.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + ic.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + ic.ID = &ID + } + } + } + + return nil +} + +// IPConfigurationProfile IP configuration profile child resource. +type IPConfigurationProfile struct { + // IPConfigurationProfilePropertiesFormat - Properties of the IP configuration profile. + *IPConfigurationProfilePropertiesFormat `json:"properties,omitempty"` + // Name - The name of the resource. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Sub Resource type. + Type *string `json:"type,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for IPConfigurationProfile. +func (icp IPConfigurationProfile) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if icp.IPConfigurationProfilePropertiesFormat != nil { + objectMap["properties"] = icp.IPConfigurationProfilePropertiesFormat + } + if icp.Name != nil { + objectMap["name"] = icp.Name + } + if icp.Etag != nil { + objectMap["etag"] = icp.Etag + } + if icp.ID != nil { + objectMap["id"] = icp.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for IPConfigurationProfile struct. +func (icp *IPConfigurationProfile) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var IPConfigurationProfilePropertiesFormat IPConfigurationProfilePropertiesFormat + err = json.Unmarshal(*v, &IPConfigurationProfilePropertiesFormat) + if err != nil { + return err + } + icp.IPConfigurationProfilePropertiesFormat = &IPConfigurationProfilePropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + icp.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + icp.Type = &typeVar + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + icp.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + icp.ID = &ID + } + } + } + + return nil +} + +// IPConfigurationProfilePropertiesFormat IP configuration profile properties. +type IPConfigurationProfilePropertiesFormat struct { + // Subnet - The reference of the subnet resource to create a container network interface ip configuration. + Subnet *Subnet `json:"subnet,omitempty"` + // ProvisioningState - READ-ONLY; The provisioning state of the IP configuration profile resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// IPConfigurationPropertiesFormat properties of IP configuration. +type IPConfigurationPropertiesFormat struct { + // PrivateIPAddress - The private IP address of the IP configuration. + PrivateIPAddress *string `json:"privateIPAddress,omitempty"` + // PrivateIPAllocationMethod - The private IP address allocation method. Possible values include: 'Static', 'Dynamic' + PrivateIPAllocationMethod IPAllocationMethod `json:"privateIPAllocationMethod,omitempty"` + // Subnet - The reference of the subnet resource. + Subnet *Subnet `json:"subnet,omitempty"` + // PublicIPAddress - The reference of the public IP resource. + PublicIPAddress *PublicIPAddress `json:"publicIPAddress,omitempty"` + // ProvisioningState - The provisioning state of the IP configuration resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// IpsecPolicy an IPSec Policy configuration for a virtual network gateway connection. +type IpsecPolicy struct { + // SaLifeTimeSeconds - The IPSec Security Association (also called Quick Mode or Phase 2 SA) lifetime in seconds for a site to site VPN tunnel. + SaLifeTimeSeconds *int32 `json:"saLifeTimeSeconds,omitempty"` + // SaDataSizeKilobytes - The IPSec Security Association (also called Quick Mode or Phase 2 SA) payload size in KB for a site to site VPN tunnel. + SaDataSizeKilobytes *int32 `json:"saDataSizeKilobytes,omitempty"` + // IpsecEncryption - The IPSec encryption algorithm (IKE phase 1). Possible values include: 'IpsecEncryptionNone', 'IpsecEncryptionDES', 'IpsecEncryptionDES3', 'IpsecEncryptionAES128', 'IpsecEncryptionAES192', 'IpsecEncryptionAES256', 'IpsecEncryptionGCMAES128', 'IpsecEncryptionGCMAES192', 'IpsecEncryptionGCMAES256' + IpsecEncryption IpsecEncryption `json:"ipsecEncryption,omitempty"` + // IpsecIntegrity - The IPSec integrity algorithm (IKE phase 1). Possible values include: 'IpsecIntegrityMD5', 'IpsecIntegritySHA1', 'IpsecIntegritySHA256', 'IpsecIntegrityGCMAES128', 'IpsecIntegrityGCMAES192', 'IpsecIntegrityGCMAES256' + IpsecIntegrity IpsecIntegrity `json:"ipsecIntegrity,omitempty"` + // IkeEncryption - The IKE encryption algorithm (IKE phase 2). Possible values include: 'DES', 'DES3', 'AES128', 'AES192', 'AES256', 'GCMAES256', 'GCMAES128' + IkeEncryption IkeEncryption `json:"ikeEncryption,omitempty"` + // IkeIntegrity - The IKE integrity algorithm (IKE phase 2). Possible values include: 'IkeIntegrityMD5', 'IkeIntegritySHA1', 'IkeIntegritySHA256', 'IkeIntegritySHA384', 'IkeIntegrityGCMAES256', 'IkeIntegrityGCMAES128' + IkeIntegrity IkeIntegrity `json:"ikeIntegrity,omitempty"` + // DhGroup - The DH Group used in IKE Phase 1 for initial SA. Possible values include: 'None', 'DHGroup1', 'DHGroup2', 'DHGroup14', 'DHGroup2048', 'ECP256', 'ECP384', 'DHGroup24' + DhGroup DhGroup `json:"dhGroup,omitempty"` + // PfsGroup - The Pfs Group used in IKE Phase 2 for new child SA. Possible values include: 'PfsGroupNone', 'PfsGroupPFS1', 'PfsGroupPFS2', 'PfsGroupPFS2048', 'PfsGroupECP256', 'PfsGroupECP384', 'PfsGroupPFS24', 'PfsGroupPFS14', 'PfsGroupPFSMM' + PfsGroup PfsGroup `json:"pfsGroup,omitempty"` +} + +// IPTag contains the IpTag associated with the object. +type IPTag struct { + // IPTagType - The IP tag type. Example: FirstPartyUsage. + IPTagType *string `json:"ipTagType,omitempty"` + // Tag - The value of the IP tag associated with the public IP. Example: SQL. + Tag *string `json:"tag,omitempty"` +} + +// Ipv6ExpressRouteCircuitPeeringConfig contains IPv6 peering config. +type Ipv6ExpressRouteCircuitPeeringConfig struct { + // PrimaryPeerAddressPrefix - The primary address prefix. + PrimaryPeerAddressPrefix *string `json:"primaryPeerAddressPrefix,omitempty"` + // SecondaryPeerAddressPrefix - The secondary address prefix. + SecondaryPeerAddressPrefix *string `json:"secondaryPeerAddressPrefix,omitempty"` + // MicrosoftPeeringConfig - The Microsoft peering configuration. + MicrosoftPeeringConfig *ExpressRouteCircuitPeeringConfig `json:"microsoftPeeringConfig,omitempty"` + // RouteFilter - The reference of the RouteFilter resource. + RouteFilter *SubResource `json:"routeFilter,omitempty"` + // State - The state of peering. Possible values include: 'ExpressRouteCircuitPeeringStateDisabled', 'ExpressRouteCircuitPeeringStateEnabled' + State ExpressRouteCircuitPeeringState `json:"state,omitempty"` +} + +// ListHubVirtualNetworkConnectionsResult list of HubVirtualNetworkConnections and a URL nextLink to get +// the next set of results. +type ListHubVirtualNetworkConnectionsResult struct { + autorest.Response `json:"-"` + // Value - List of HubVirtualNetworkConnections. + Value *[]HubVirtualNetworkConnection `json:"value,omitempty"` + // NextLink - URL to get the next set of operation list results if there are any. + NextLink *string `json:"nextLink,omitempty"` +} + +// ListHubVirtualNetworkConnectionsResultIterator provides access to a complete listing of +// HubVirtualNetworkConnection values. +type ListHubVirtualNetworkConnectionsResultIterator struct { + i int + page ListHubVirtualNetworkConnectionsResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *ListHubVirtualNetworkConnectionsResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ListHubVirtualNetworkConnectionsResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *ListHubVirtualNetworkConnectionsResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter ListHubVirtualNetworkConnectionsResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter ListHubVirtualNetworkConnectionsResultIterator) Response() ListHubVirtualNetworkConnectionsResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter ListHubVirtualNetworkConnectionsResultIterator) Value() HubVirtualNetworkConnection { + if !iter.page.NotDone() { + return HubVirtualNetworkConnection{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the ListHubVirtualNetworkConnectionsResultIterator type. +func NewListHubVirtualNetworkConnectionsResultIterator(page ListHubVirtualNetworkConnectionsResultPage) ListHubVirtualNetworkConnectionsResultIterator { + return ListHubVirtualNetworkConnectionsResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (lhvncr ListHubVirtualNetworkConnectionsResult) IsEmpty() bool { + return lhvncr.Value == nil || len(*lhvncr.Value) == 0 +} + +// listHubVirtualNetworkConnectionsResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (lhvncr ListHubVirtualNetworkConnectionsResult) listHubVirtualNetworkConnectionsResultPreparer(ctx context.Context) (*http.Request, error) { + if lhvncr.NextLink == nil || len(to.String(lhvncr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(lhvncr.NextLink))) +} + +// ListHubVirtualNetworkConnectionsResultPage contains a page of HubVirtualNetworkConnection values. +type ListHubVirtualNetworkConnectionsResultPage struct { + fn func(context.Context, ListHubVirtualNetworkConnectionsResult) (ListHubVirtualNetworkConnectionsResult, error) + lhvncr ListHubVirtualNetworkConnectionsResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *ListHubVirtualNetworkConnectionsResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ListHubVirtualNetworkConnectionsResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.lhvncr) + if err != nil { + return err + } + page.lhvncr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *ListHubVirtualNetworkConnectionsResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page ListHubVirtualNetworkConnectionsResultPage) NotDone() bool { + return !page.lhvncr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page ListHubVirtualNetworkConnectionsResultPage) Response() ListHubVirtualNetworkConnectionsResult { + return page.lhvncr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page ListHubVirtualNetworkConnectionsResultPage) Values() []HubVirtualNetworkConnection { + if page.lhvncr.IsEmpty() { + return nil + } + return *page.lhvncr.Value +} + +// Creates a new instance of the ListHubVirtualNetworkConnectionsResultPage type. +func NewListHubVirtualNetworkConnectionsResultPage(getNextPage func(context.Context, ListHubVirtualNetworkConnectionsResult) (ListHubVirtualNetworkConnectionsResult, error)) ListHubVirtualNetworkConnectionsResultPage { + return ListHubVirtualNetworkConnectionsResultPage{fn: getNextPage} +} + +// ListP2SVpnGatewaysResult result of the request to list P2SVpnGateways. It contains a list of +// P2SVpnGateways and a URL nextLink to get the next set of results. +type ListP2SVpnGatewaysResult struct { + autorest.Response `json:"-"` + // Value - List of P2SVpnGateways. + Value *[]P2SVpnGateway `json:"value,omitempty"` + // NextLink - URL to get the next set of operation list results if there are any. + NextLink *string `json:"nextLink,omitempty"` +} + +// ListP2SVpnGatewaysResultIterator provides access to a complete listing of P2SVpnGateway values. +type ListP2SVpnGatewaysResultIterator struct { + i int + page ListP2SVpnGatewaysResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *ListP2SVpnGatewaysResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ListP2SVpnGatewaysResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *ListP2SVpnGatewaysResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter ListP2SVpnGatewaysResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter ListP2SVpnGatewaysResultIterator) Response() ListP2SVpnGatewaysResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter ListP2SVpnGatewaysResultIterator) Value() P2SVpnGateway { + if !iter.page.NotDone() { + return P2SVpnGateway{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the ListP2SVpnGatewaysResultIterator type. +func NewListP2SVpnGatewaysResultIterator(page ListP2SVpnGatewaysResultPage) ListP2SVpnGatewaysResultIterator { + return ListP2SVpnGatewaysResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (lpvgr ListP2SVpnGatewaysResult) IsEmpty() bool { + return lpvgr.Value == nil || len(*lpvgr.Value) == 0 +} + +// listP2SVpnGatewaysResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (lpvgr ListP2SVpnGatewaysResult) listP2SVpnGatewaysResultPreparer(ctx context.Context) (*http.Request, error) { + if lpvgr.NextLink == nil || len(to.String(lpvgr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(lpvgr.NextLink))) +} + +// ListP2SVpnGatewaysResultPage contains a page of P2SVpnGateway values. +type ListP2SVpnGatewaysResultPage struct { + fn func(context.Context, ListP2SVpnGatewaysResult) (ListP2SVpnGatewaysResult, error) + lpvgr ListP2SVpnGatewaysResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *ListP2SVpnGatewaysResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ListP2SVpnGatewaysResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.lpvgr) + if err != nil { + return err + } + page.lpvgr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *ListP2SVpnGatewaysResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page ListP2SVpnGatewaysResultPage) NotDone() bool { + return !page.lpvgr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page ListP2SVpnGatewaysResultPage) Response() ListP2SVpnGatewaysResult { + return page.lpvgr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page ListP2SVpnGatewaysResultPage) Values() []P2SVpnGateway { + if page.lpvgr.IsEmpty() { + return nil + } + return *page.lpvgr.Value +} + +// Creates a new instance of the ListP2SVpnGatewaysResultPage type. +func NewListP2SVpnGatewaysResultPage(getNextPage func(context.Context, ListP2SVpnGatewaysResult) (ListP2SVpnGatewaysResult, error)) ListP2SVpnGatewaysResultPage { + return ListP2SVpnGatewaysResultPage{fn: getNextPage} +} + +// ListString ... +type ListString struct { + autorest.Response `json:"-"` + Value *[]string `json:"value,omitempty"` +} + +// ListVirtualHubsResult result of the request to list VirtualHubs. It contains a list of VirtualHubs and a +// URL nextLink to get the next set of results. +type ListVirtualHubsResult struct { + autorest.Response `json:"-"` + // Value - List of VirtualHubs. + Value *[]VirtualHub `json:"value,omitempty"` + // NextLink - URL to get the next set of operation list results if there are any. + NextLink *string `json:"nextLink,omitempty"` +} + +// ListVirtualHubsResultIterator provides access to a complete listing of VirtualHub values. +type ListVirtualHubsResultIterator struct { + i int + page ListVirtualHubsResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *ListVirtualHubsResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ListVirtualHubsResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *ListVirtualHubsResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter ListVirtualHubsResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter ListVirtualHubsResultIterator) Response() ListVirtualHubsResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter ListVirtualHubsResultIterator) Value() VirtualHub { + if !iter.page.NotDone() { + return VirtualHub{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the ListVirtualHubsResultIterator type. +func NewListVirtualHubsResultIterator(page ListVirtualHubsResultPage) ListVirtualHubsResultIterator { + return ListVirtualHubsResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (lvhr ListVirtualHubsResult) IsEmpty() bool { + return lvhr.Value == nil || len(*lvhr.Value) == 0 +} + +// listVirtualHubsResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (lvhr ListVirtualHubsResult) listVirtualHubsResultPreparer(ctx context.Context) (*http.Request, error) { + if lvhr.NextLink == nil || len(to.String(lvhr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(lvhr.NextLink))) +} + +// ListVirtualHubsResultPage contains a page of VirtualHub values. +type ListVirtualHubsResultPage struct { + fn func(context.Context, ListVirtualHubsResult) (ListVirtualHubsResult, error) + lvhr ListVirtualHubsResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *ListVirtualHubsResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ListVirtualHubsResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.lvhr) + if err != nil { + return err + } + page.lvhr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *ListVirtualHubsResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page ListVirtualHubsResultPage) NotDone() bool { + return !page.lvhr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page ListVirtualHubsResultPage) Response() ListVirtualHubsResult { + return page.lvhr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page ListVirtualHubsResultPage) Values() []VirtualHub { + if page.lvhr.IsEmpty() { + return nil + } + return *page.lvhr.Value +} + +// Creates a new instance of the ListVirtualHubsResultPage type. +func NewListVirtualHubsResultPage(getNextPage func(context.Context, ListVirtualHubsResult) (ListVirtualHubsResult, error)) ListVirtualHubsResultPage { + return ListVirtualHubsResultPage{fn: getNextPage} +} + +// ListVirtualWANsResult result of the request to list VirtualWANs. It contains a list of VirtualWANs and a +// URL nextLink to get the next set of results. +type ListVirtualWANsResult struct { + autorest.Response `json:"-"` + // Value - List of VirtualWANs. + Value *[]VirtualWAN `json:"value,omitempty"` + // NextLink - URL to get the next set of operation list results if there are any. + NextLink *string `json:"nextLink,omitempty"` +} + +// ListVirtualWANsResultIterator provides access to a complete listing of VirtualWAN values. +type ListVirtualWANsResultIterator struct { + i int + page ListVirtualWANsResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *ListVirtualWANsResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ListVirtualWANsResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *ListVirtualWANsResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter ListVirtualWANsResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter ListVirtualWANsResultIterator) Response() ListVirtualWANsResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter ListVirtualWANsResultIterator) Value() VirtualWAN { + if !iter.page.NotDone() { + return VirtualWAN{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the ListVirtualWANsResultIterator type. +func NewListVirtualWANsResultIterator(page ListVirtualWANsResultPage) ListVirtualWANsResultIterator { + return ListVirtualWANsResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (lvwnr ListVirtualWANsResult) IsEmpty() bool { + return lvwnr.Value == nil || len(*lvwnr.Value) == 0 +} + +// listVirtualWANsResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (lvwnr ListVirtualWANsResult) listVirtualWANsResultPreparer(ctx context.Context) (*http.Request, error) { + if lvwnr.NextLink == nil || len(to.String(lvwnr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(lvwnr.NextLink))) +} + +// ListVirtualWANsResultPage contains a page of VirtualWAN values. +type ListVirtualWANsResultPage struct { + fn func(context.Context, ListVirtualWANsResult) (ListVirtualWANsResult, error) + lvwnr ListVirtualWANsResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *ListVirtualWANsResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ListVirtualWANsResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.lvwnr) + if err != nil { + return err + } + page.lvwnr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *ListVirtualWANsResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page ListVirtualWANsResultPage) NotDone() bool { + return !page.lvwnr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page ListVirtualWANsResultPage) Response() ListVirtualWANsResult { + return page.lvwnr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page ListVirtualWANsResultPage) Values() []VirtualWAN { + if page.lvwnr.IsEmpty() { + return nil + } + return *page.lvwnr.Value +} + +// Creates a new instance of the ListVirtualWANsResultPage type. +func NewListVirtualWANsResultPage(getNextPage func(context.Context, ListVirtualWANsResult) (ListVirtualWANsResult, error)) ListVirtualWANsResultPage { + return ListVirtualWANsResultPage{fn: getNextPage} +} + +// ListVpnConnectionsResult result of the request to list all vpn connections to a virtual wan vpn gateway. +// It contains a list of Vpn Connections and a URL nextLink to get the next set of results. +type ListVpnConnectionsResult struct { + autorest.Response `json:"-"` + // Value - List of Vpn Connections. + Value *[]VpnConnection `json:"value,omitempty"` + // NextLink - URL to get the next set of operation list results if there are any. + NextLink *string `json:"nextLink,omitempty"` +} + +// ListVpnConnectionsResultIterator provides access to a complete listing of VpnConnection values. +type ListVpnConnectionsResultIterator struct { + i int + page ListVpnConnectionsResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *ListVpnConnectionsResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ListVpnConnectionsResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *ListVpnConnectionsResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter ListVpnConnectionsResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter ListVpnConnectionsResultIterator) Response() ListVpnConnectionsResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter ListVpnConnectionsResultIterator) Value() VpnConnection { + if !iter.page.NotDone() { + return VpnConnection{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the ListVpnConnectionsResultIterator type. +func NewListVpnConnectionsResultIterator(page ListVpnConnectionsResultPage) ListVpnConnectionsResultIterator { + return ListVpnConnectionsResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (lvcr ListVpnConnectionsResult) IsEmpty() bool { + return lvcr.Value == nil || len(*lvcr.Value) == 0 +} + +// listVpnConnectionsResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (lvcr ListVpnConnectionsResult) listVpnConnectionsResultPreparer(ctx context.Context) (*http.Request, error) { + if lvcr.NextLink == nil || len(to.String(lvcr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(lvcr.NextLink))) +} + +// ListVpnConnectionsResultPage contains a page of VpnConnection values. +type ListVpnConnectionsResultPage struct { + fn func(context.Context, ListVpnConnectionsResult) (ListVpnConnectionsResult, error) + lvcr ListVpnConnectionsResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *ListVpnConnectionsResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ListVpnConnectionsResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.lvcr) + if err != nil { + return err + } + page.lvcr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *ListVpnConnectionsResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page ListVpnConnectionsResultPage) NotDone() bool { + return !page.lvcr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page ListVpnConnectionsResultPage) Response() ListVpnConnectionsResult { + return page.lvcr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page ListVpnConnectionsResultPage) Values() []VpnConnection { + if page.lvcr.IsEmpty() { + return nil + } + return *page.lvcr.Value +} + +// Creates a new instance of the ListVpnConnectionsResultPage type. +func NewListVpnConnectionsResultPage(getNextPage func(context.Context, ListVpnConnectionsResult) (ListVpnConnectionsResult, error)) ListVpnConnectionsResultPage { + return ListVpnConnectionsResultPage{fn: getNextPage} +} + +// ListVpnGatewaysResult result of the request to list VpnGateways. It contains a list of VpnGateways and a +// URL nextLink to get the next set of results. +type ListVpnGatewaysResult struct { + autorest.Response `json:"-"` + // Value - List of VpnGateways. + Value *[]VpnGateway `json:"value,omitempty"` + // NextLink - URL to get the next set of operation list results if there are any. + NextLink *string `json:"nextLink,omitempty"` +} + +// ListVpnGatewaysResultIterator provides access to a complete listing of VpnGateway values. +type ListVpnGatewaysResultIterator struct { + i int + page ListVpnGatewaysResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *ListVpnGatewaysResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ListVpnGatewaysResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *ListVpnGatewaysResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter ListVpnGatewaysResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter ListVpnGatewaysResultIterator) Response() ListVpnGatewaysResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter ListVpnGatewaysResultIterator) Value() VpnGateway { + if !iter.page.NotDone() { + return VpnGateway{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the ListVpnGatewaysResultIterator type. +func NewListVpnGatewaysResultIterator(page ListVpnGatewaysResultPage) ListVpnGatewaysResultIterator { + return ListVpnGatewaysResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (lvgr ListVpnGatewaysResult) IsEmpty() bool { + return lvgr.Value == nil || len(*lvgr.Value) == 0 +} + +// listVpnGatewaysResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (lvgr ListVpnGatewaysResult) listVpnGatewaysResultPreparer(ctx context.Context) (*http.Request, error) { + if lvgr.NextLink == nil || len(to.String(lvgr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(lvgr.NextLink))) +} + +// ListVpnGatewaysResultPage contains a page of VpnGateway values. +type ListVpnGatewaysResultPage struct { + fn func(context.Context, ListVpnGatewaysResult) (ListVpnGatewaysResult, error) + lvgr ListVpnGatewaysResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *ListVpnGatewaysResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ListVpnGatewaysResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.lvgr) + if err != nil { + return err + } + page.lvgr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *ListVpnGatewaysResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page ListVpnGatewaysResultPage) NotDone() bool { + return !page.lvgr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page ListVpnGatewaysResultPage) Response() ListVpnGatewaysResult { + return page.lvgr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page ListVpnGatewaysResultPage) Values() []VpnGateway { + if page.lvgr.IsEmpty() { + return nil + } + return *page.lvgr.Value +} + +// Creates a new instance of the ListVpnGatewaysResultPage type. +func NewListVpnGatewaysResultPage(getNextPage func(context.Context, ListVpnGatewaysResult) (ListVpnGatewaysResult, error)) ListVpnGatewaysResultPage { + return ListVpnGatewaysResultPage{fn: getNextPage} +} + +// ListVpnServerConfigurationsResult result of the request to list all VpnServerConfigurations. It contains +// a list of VpnServerConfigurations and a URL nextLink to get the next set of results. +type ListVpnServerConfigurationsResult struct { + autorest.Response `json:"-"` + // Value - List of VpnServerConfigurations. + Value *[]VpnServerConfiguration `json:"value,omitempty"` + // NextLink - URL to get the next set of operation list results if there are any. + NextLink *string `json:"nextLink,omitempty"` +} + +// ListVpnServerConfigurationsResultIterator provides access to a complete listing of +// VpnServerConfiguration values. +type ListVpnServerConfigurationsResultIterator struct { + i int + page ListVpnServerConfigurationsResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *ListVpnServerConfigurationsResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ListVpnServerConfigurationsResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *ListVpnServerConfigurationsResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter ListVpnServerConfigurationsResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter ListVpnServerConfigurationsResultIterator) Response() ListVpnServerConfigurationsResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter ListVpnServerConfigurationsResultIterator) Value() VpnServerConfiguration { + if !iter.page.NotDone() { + return VpnServerConfiguration{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the ListVpnServerConfigurationsResultIterator type. +func NewListVpnServerConfigurationsResultIterator(page ListVpnServerConfigurationsResultPage) ListVpnServerConfigurationsResultIterator { + return ListVpnServerConfigurationsResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (lvscr ListVpnServerConfigurationsResult) IsEmpty() bool { + return lvscr.Value == nil || len(*lvscr.Value) == 0 +} + +// listVpnServerConfigurationsResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (lvscr ListVpnServerConfigurationsResult) listVpnServerConfigurationsResultPreparer(ctx context.Context) (*http.Request, error) { + if lvscr.NextLink == nil || len(to.String(lvscr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(lvscr.NextLink))) +} + +// ListVpnServerConfigurationsResultPage contains a page of VpnServerConfiguration values. +type ListVpnServerConfigurationsResultPage struct { + fn func(context.Context, ListVpnServerConfigurationsResult) (ListVpnServerConfigurationsResult, error) + lvscr ListVpnServerConfigurationsResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *ListVpnServerConfigurationsResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ListVpnServerConfigurationsResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.lvscr) + if err != nil { + return err + } + page.lvscr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *ListVpnServerConfigurationsResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page ListVpnServerConfigurationsResultPage) NotDone() bool { + return !page.lvscr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page ListVpnServerConfigurationsResultPage) Response() ListVpnServerConfigurationsResult { + return page.lvscr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page ListVpnServerConfigurationsResultPage) Values() []VpnServerConfiguration { + if page.lvscr.IsEmpty() { + return nil + } + return *page.lvscr.Value +} + +// Creates a new instance of the ListVpnServerConfigurationsResultPage type. +func NewListVpnServerConfigurationsResultPage(getNextPage func(context.Context, ListVpnServerConfigurationsResult) (ListVpnServerConfigurationsResult, error)) ListVpnServerConfigurationsResultPage { + return ListVpnServerConfigurationsResultPage{fn: getNextPage} +} + +// ListVpnSiteLinkConnectionsResult result of the request to list all vpn connections to a virtual wan vpn +// gateway. It contains a list of Vpn Connections and a URL nextLink to get the next set of results. +type ListVpnSiteLinkConnectionsResult struct { + autorest.Response `json:"-"` + // Value - List of VpnSiteLinkConnections. + Value *[]VpnSiteLinkConnection `json:"value,omitempty"` + // NextLink - URL to get the next set of operation list results if there are any. + NextLink *string `json:"nextLink,omitempty"` +} + +// ListVpnSiteLinkConnectionsResultIterator provides access to a complete listing of VpnSiteLinkConnection +// values. +type ListVpnSiteLinkConnectionsResultIterator struct { + i int + page ListVpnSiteLinkConnectionsResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *ListVpnSiteLinkConnectionsResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ListVpnSiteLinkConnectionsResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *ListVpnSiteLinkConnectionsResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter ListVpnSiteLinkConnectionsResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter ListVpnSiteLinkConnectionsResultIterator) Response() ListVpnSiteLinkConnectionsResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter ListVpnSiteLinkConnectionsResultIterator) Value() VpnSiteLinkConnection { + if !iter.page.NotDone() { + return VpnSiteLinkConnection{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the ListVpnSiteLinkConnectionsResultIterator type. +func NewListVpnSiteLinkConnectionsResultIterator(page ListVpnSiteLinkConnectionsResultPage) ListVpnSiteLinkConnectionsResultIterator { + return ListVpnSiteLinkConnectionsResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (lvslcr ListVpnSiteLinkConnectionsResult) IsEmpty() bool { + return lvslcr.Value == nil || len(*lvslcr.Value) == 0 +} + +// listVpnSiteLinkConnectionsResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (lvslcr ListVpnSiteLinkConnectionsResult) listVpnSiteLinkConnectionsResultPreparer(ctx context.Context) (*http.Request, error) { + if lvslcr.NextLink == nil || len(to.String(lvslcr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(lvslcr.NextLink))) +} + +// ListVpnSiteLinkConnectionsResultPage contains a page of VpnSiteLinkConnection values. +type ListVpnSiteLinkConnectionsResultPage struct { + fn func(context.Context, ListVpnSiteLinkConnectionsResult) (ListVpnSiteLinkConnectionsResult, error) + lvslcr ListVpnSiteLinkConnectionsResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *ListVpnSiteLinkConnectionsResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ListVpnSiteLinkConnectionsResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.lvslcr) + if err != nil { + return err + } + page.lvslcr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *ListVpnSiteLinkConnectionsResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page ListVpnSiteLinkConnectionsResultPage) NotDone() bool { + return !page.lvslcr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page ListVpnSiteLinkConnectionsResultPage) Response() ListVpnSiteLinkConnectionsResult { + return page.lvslcr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page ListVpnSiteLinkConnectionsResultPage) Values() []VpnSiteLinkConnection { + if page.lvslcr.IsEmpty() { + return nil + } + return *page.lvslcr.Value +} + +// Creates a new instance of the ListVpnSiteLinkConnectionsResultPage type. +func NewListVpnSiteLinkConnectionsResultPage(getNextPage func(context.Context, ListVpnSiteLinkConnectionsResult) (ListVpnSiteLinkConnectionsResult, error)) ListVpnSiteLinkConnectionsResultPage { + return ListVpnSiteLinkConnectionsResultPage{fn: getNextPage} +} + +// ListVpnSiteLinksResult result of the request to list VpnSiteLinks. It contains a list of VpnSiteLinks +// and a URL nextLink to get the next set of results. +type ListVpnSiteLinksResult struct { + autorest.Response `json:"-"` + // Value - List of VpnSitesLinks. + Value *[]VpnSiteLink `json:"value,omitempty"` + // NextLink - URL to get the next set of operation list results if there are any. + NextLink *string `json:"nextLink,omitempty"` +} + +// ListVpnSiteLinksResultIterator provides access to a complete listing of VpnSiteLink values. +type ListVpnSiteLinksResultIterator struct { + i int + page ListVpnSiteLinksResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *ListVpnSiteLinksResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ListVpnSiteLinksResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *ListVpnSiteLinksResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter ListVpnSiteLinksResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter ListVpnSiteLinksResultIterator) Response() ListVpnSiteLinksResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter ListVpnSiteLinksResultIterator) Value() VpnSiteLink { + if !iter.page.NotDone() { + return VpnSiteLink{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the ListVpnSiteLinksResultIterator type. +func NewListVpnSiteLinksResultIterator(page ListVpnSiteLinksResultPage) ListVpnSiteLinksResultIterator { + return ListVpnSiteLinksResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (lvslr ListVpnSiteLinksResult) IsEmpty() bool { + return lvslr.Value == nil || len(*lvslr.Value) == 0 +} + +// listVpnSiteLinksResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (lvslr ListVpnSiteLinksResult) listVpnSiteLinksResultPreparer(ctx context.Context) (*http.Request, error) { + if lvslr.NextLink == nil || len(to.String(lvslr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(lvslr.NextLink))) +} + +// ListVpnSiteLinksResultPage contains a page of VpnSiteLink values. +type ListVpnSiteLinksResultPage struct { + fn func(context.Context, ListVpnSiteLinksResult) (ListVpnSiteLinksResult, error) + lvslr ListVpnSiteLinksResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *ListVpnSiteLinksResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ListVpnSiteLinksResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.lvslr) + if err != nil { + return err + } + page.lvslr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *ListVpnSiteLinksResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page ListVpnSiteLinksResultPage) NotDone() bool { + return !page.lvslr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page ListVpnSiteLinksResultPage) Response() ListVpnSiteLinksResult { + return page.lvslr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page ListVpnSiteLinksResultPage) Values() []VpnSiteLink { + if page.lvslr.IsEmpty() { + return nil + } + return *page.lvslr.Value +} + +// Creates a new instance of the ListVpnSiteLinksResultPage type. +func NewListVpnSiteLinksResultPage(getNextPage func(context.Context, ListVpnSiteLinksResult) (ListVpnSiteLinksResult, error)) ListVpnSiteLinksResultPage { + return ListVpnSiteLinksResultPage{fn: getNextPage} +} + +// ListVpnSitesResult result of the request to list VpnSites. It contains a list of VpnSites and a URL +// nextLink to get the next set of results. +type ListVpnSitesResult struct { + autorest.Response `json:"-"` + // Value - List of VpnSites. + Value *[]VpnSite `json:"value,omitempty"` + // NextLink - URL to get the next set of operation list results if there are any. + NextLink *string `json:"nextLink,omitempty"` +} + +// ListVpnSitesResultIterator provides access to a complete listing of VpnSite values. +type ListVpnSitesResultIterator struct { + i int + page ListVpnSitesResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *ListVpnSitesResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ListVpnSitesResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *ListVpnSitesResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter ListVpnSitesResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter ListVpnSitesResultIterator) Response() ListVpnSitesResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter ListVpnSitesResultIterator) Value() VpnSite { + if !iter.page.NotDone() { + return VpnSite{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the ListVpnSitesResultIterator type. +func NewListVpnSitesResultIterator(page ListVpnSitesResultPage) ListVpnSitesResultIterator { + return ListVpnSitesResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (lvsr ListVpnSitesResult) IsEmpty() bool { + return lvsr.Value == nil || len(*lvsr.Value) == 0 +} + +// listVpnSitesResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (lvsr ListVpnSitesResult) listVpnSitesResultPreparer(ctx context.Context) (*http.Request, error) { + if lvsr.NextLink == nil || len(to.String(lvsr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(lvsr.NextLink))) +} + +// ListVpnSitesResultPage contains a page of VpnSite values. +type ListVpnSitesResultPage struct { + fn func(context.Context, ListVpnSitesResult) (ListVpnSitesResult, error) + lvsr ListVpnSitesResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *ListVpnSitesResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ListVpnSitesResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.lvsr) + if err != nil { + return err + } + page.lvsr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *ListVpnSitesResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page ListVpnSitesResultPage) NotDone() bool { + return !page.lvsr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page ListVpnSitesResultPage) Response() ListVpnSitesResult { + return page.lvsr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page ListVpnSitesResultPage) Values() []VpnSite { + if page.lvsr.IsEmpty() { + return nil + } + return *page.lvsr.Value +} + +// Creates a new instance of the ListVpnSitesResultPage type. +func NewListVpnSitesResultPage(getNextPage func(context.Context, ListVpnSitesResult) (ListVpnSitesResult, error)) ListVpnSitesResultPage { + return ListVpnSitesResultPage{fn: getNextPage} +} + +// LoadBalancer loadBalancer resource. +type LoadBalancer struct { + autorest.Response `json:"-"` + // Sku - The load balancer SKU. + Sku *LoadBalancerSku `json:"sku,omitempty"` + // LoadBalancerPropertiesFormat - Properties of load balancer. + *LoadBalancerPropertiesFormat `json:"properties,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for LoadBalancer. +func (lb LoadBalancer) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if lb.Sku != nil { + objectMap["sku"] = lb.Sku + } + if lb.LoadBalancerPropertiesFormat != nil { + objectMap["properties"] = lb.LoadBalancerPropertiesFormat + } + if lb.Etag != nil { + objectMap["etag"] = lb.Etag + } + if lb.ID != nil { + objectMap["id"] = lb.ID + } + if lb.Location != nil { + objectMap["location"] = lb.Location + } + if lb.Tags != nil { + objectMap["tags"] = lb.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for LoadBalancer struct. +func (lb *LoadBalancer) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "sku": + if v != nil { + var sku LoadBalancerSku + err = json.Unmarshal(*v, &sku) + if err != nil { + return err + } + lb.Sku = &sku + } + case "properties": + if v != nil { + var loadBalancerPropertiesFormat LoadBalancerPropertiesFormat + err = json.Unmarshal(*v, &loadBalancerPropertiesFormat) + if err != nil { + return err + } + lb.LoadBalancerPropertiesFormat = &loadBalancerPropertiesFormat + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + lb.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + lb.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + lb.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + lb.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + lb.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + lb.Tags = tags + } + } + } + + return nil +} + +// LoadBalancerBackendAddressPoolListResult response for ListBackendAddressPool API service call. +type LoadBalancerBackendAddressPoolListResult struct { + autorest.Response `json:"-"` + // Value - A list of backend address pools in a load balancer. + Value *[]BackendAddressPool `json:"value,omitempty"` + // NextLink - READ-ONLY; The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// LoadBalancerBackendAddressPoolListResultIterator provides access to a complete listing of +// BackendAddressPool values. +type LoadBalancerBackendAddressPoolListResultIterator struct { + i int + page LoadBalancerBackendAddressPoolListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *LoadBalancerBackendAddressPoolListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LoadBalancerBackendAddressPoolListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *LoadBalancerBackendAddressPoolListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter LoadBalancerBackendAddressPoolListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter LoadBalancerBackendAddressPoolListResultIterator) Response() LoadBalancerBackendAddressPoolListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter LoadBalancerBackendAddressPoolListResultIterator) Value() BackendAddressPool { + if !iter.page.NotDone() { + return BackendAddressPool{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the LoadBalancerBackendAddressPoolListResultIterator type. +func NewLoadBalancerBackendAddressPoolListResultIterator(page LoadBalancerBackendAddressPoolListResultPage) LoadBalancerBackendAddressPoolListResultIterator { + return LoadBalancerBackendAddressPoolListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (lbbaplr LoadBalancerBackendAddressPoolListResult) IsEmpty() bool { + return lbbaplr.Value == nil || len(*lbbaplr.Value) == 0 +} + +// loadBalancerBackendAddressPoolListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (lbbaplr LoadBalancerBackendAddressPoolListResult) loadBalancerBackendAddressPoolListResultPreparer(ctx context.Context) (*http.Request, error) { + if lbbaplr.NextLink == nil || len(to.String(lbbaplr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(lbbaplr.NextLink))) +} + +// LoadBalancerBackendAddressPoolListResultPage contains a page of BackendAddressPool values. +type LoadBalancerBackendAddressPoolListResultPage struct { + fn func(context.Context, LoadBalancerBackendAddressPoolListResult) (LoadBalancerBackendAddressPoolListResult, error) + lbbaplr LoadBalancerBackendAddressPoolListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *LoadBalancerBackendAddressPoolListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LoadBalancerBackendAddressPoolListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.lbbaplr) + if err != nil { + return err + } + page.lbbaplr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *LoadBalancerBackendAddressPoolListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page LoadBalancerBackendAddressPoolListResultPage) NotDone() bool { + return !page.lbbaplr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page LoadBalancerBackendAddressPoolListResultPage) Response() LoadBalancerBackendAddressPoolListResult { + return page.lbbaplr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page LoadBalancerBackendAddressPoolListResultPage) Values() []BackendAddressPool { + if page.lbbaplr.IsEmpty() { + return nil + } + return *page.lbbaplr.Value +} + +// Creates a new instance of the LoadBalancerBackendAddressPoolListResultPage type. +func NewLoadBalancerBackendAddressPoolListResultPage(getNextPage func(context.Context, LoadBalancerBackendAddressPoolListResult) (LoadBalancerBackendAddressPoolListResult, error)) LoadBalancerBackendAddressPoolListResultPage { + return LoadBalancerBackendAddressPoolListResultPage{fn: getNextPage} +} + +// LoadBalancerFrontendIPConfigurationListResult response for ListFrontendIPConfiguration API service call. +type LoadBalancerFrontendIPConfigurationListResult struct { + autorest.Response `json:"-"` + // Value - A list of frontend IP configurations in a load balancer. + Value *[]FrontendIPConfiguration `json:"value,omitempty"` + // NextLink - READ-ONLY; The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// LoadBalancerFrontendIPConfigurationListResultIterator provides access to a complete listing of +// FrontendIPConfiguration values. +type LoadBalancerFrontendIPConfigurationListResultIterator struct { + i int + page LoadBalancerFrontendIPConfigurationListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *LoadBalancerFrontendIPConfigurationListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LoadBalancerFrontendIPConfigurationListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *LoadBalancerFrontendIPConfigurationListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter LoadBalancerFrontendIPConfigurationListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter LoadBalancerFrontendIPConfigurationListResultIterator) Response() LoadBalancerFrontendIPConfigurationListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter LoadBalancerFrontendIPConfigurationListResultIterator) Value() FrontendIPConfiguration { + if !iter.page.NotDone() { + return FrontendIPConfiguration{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the LoadBalancerFrontendIPConfigurationListResultIterator type. +func NewLoadBalancerFrontendIPConfigurationListResultIterator(page LoadBalancerFrontendIPConfigurationListResultPage) LoadBalancerFrontendIPConfigurationListResultIterator { + return LoadBalancerFrontendIPConfigurationListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (lbficlr LoadBalancerFrontendIPConfigurationListResult) IsEmpty() bool { + return lbficlr.Value == nil || len(*lbficlr.Value) == 0 +} + +// loadBalancerFrontendIPConfigurationListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (lbficlr LoadBalancerFrontendIPConfigurationListResult) loadBalancerFrontendIPConfigurationListResultPreparer(ctx context.Context) (*http.Request, error) { + if lbficlr.NextLink == nil || len(to.String(lbficlr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(lbficlr.NextLink))) +} + +// LoadBalancerFrontendIPConfigurationListResultPage contains a page of FrontendIPConfiguration values. +type LoadBalancerFrontendIPConfigurationListResultPage struct { + fn func(context.Context, LoadBalancerFrontendIPConfigurationListResult) (LoadBalancerFrontendIPConfigurationListResult, error) + lbficlr LoadBalancerFrontendIPConfigurationListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *LoadBalancerFrontendIPConfigurationListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LoadBalancerFrontendIPConfigurationListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.lbficlr) + if err != nil { + return err + } + page.lbficlr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *LoadBalancerFrontendIPConfigurationListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page LoadBalancerFrontendIPConfigurationListResultPage) NotDone() bool { + return !page.lbficlr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page LoadBalancerFrontendIPConfigurationListResultPage) Response() LoadBalancerFrontendIPConfigurationListResult { + return page.lbficlr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page LoadBalancerFrontendIPConfigurationListResultPage) Values() []FrontendIPConfiguration { + if page.lbficlr.IsEmpty() { + return nil + } + return *page.lbficlr.Value +} + +// Creates a new instance of the LoadBalancerFrontendIPConfigurationListResultPage type. +func NewLoadBalancerFrontendIPConfigurationListResultPage(getNextPage func(context.Context, LoadBalancerFrontendIPConfigurationListResult) (LoadBalancerFrontendIPConfigurationListResult, error)) LoadBalancerFrontendIPConfigurationListResultPage { + return LoadBalancerFrontendIPConfigurationListResultPage{fn: getNextPage} +} + +// LoadBalancerListResult response for ListLoadBalancers API service call. +type LoadBalancerListResult struct { + autorest.Response `json:"-"` + // Value - A list of load balancers in a resource group. + Value *[]LoadBalancer `json:"value,omitempty"` + // NextLink - READ-ONLY; The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// LoadBalancerListResultIterator provides access to a complete listing of LoadBalancer values. +type LoadBalancerListResultIterator struct { + i int + page LoadBalancerListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *LoadBalancerListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LoadBalancerListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *LoadBalancerListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter LoadBalancerListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter LoadBalancerListResultIterator) Response() LoadBalancerListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter LoadBalancerListResultIterator) Value() LoadBalancer { + if !iter.page.NotDone() { + return LoadBalancer{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the LoadBalancerListResultIterator type. +func NewLoadBalancerListResultIterator(page LoadBalancerListResultPage) LoadBalancerListResultIterator { + return LoadBalancerListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (lblr LoadBalancerListResult) IsEmpty() bool { + return lblr.Value == nil || len(*lblr.Value) == 0 +} + +// loadBalancerListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (lblr LoadBalancerListResult) loadBalancerListResultPreparer(ctx context.Context) (*http.Request, error) { + if lblr.NextLink == nil || len(to.String(lblr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(lblr.NextLink))) +} + +// LoadBalancerListResultPage contains a page of LoadBalancer values. +type LoadBalancerListResultPage struct { + fn func(context.Context, LoadBalancerListResult) (LoadBalancerListResult, error) + lblr LoadBalancerListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *LoadBalancerListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LoadBalancerListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.lblr) + if err != nil { + return err + } + page.lblr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *LoadBalancerListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page LoadBalancerListResultPage) NotDone() bool { + return !page.lblr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page LoadBalancerListResultPage) Response() LoadBalancerListResult { + return page.lblr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page LoadBalancerListResultPage) Values() []LoadBalancer { + if page.lblr.IsEmpty() { + return nil + } + return *page.lblr.Value +} + +// Creates a new instance of the LoadBalancerListResultPage type. +func NewLoadBalancerListResultPage(getNextPage func(context.Context, LoadBalancerListResult) (LoadBalancerListResult, error)) LoadBalancerListResultPage { + return LoadBalancerListResultPage{fn: getNextPage} +} + +// LoadBalancerLoadBalancingRuleListResult response for ListLoadBalancingRule API service call. +type LoadBalancerLoadBalancingRuleListResult struct { + autorest.Response `json:"-"` + // Value - A list of load balancing rules in a load balancer. + Value *[]LoadBalancingRule `json:"value,omitempty"` + // NextLink - READ-ONLY; The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// LoadBalancerLoadBalancingRuleListResultIterator provides access to a complete listing of +// LoadBalancingRule values. +type LoadBalancerLoadBalancingRuleListResultIterator struct { + i int + page LoadBalancerLoadBalancingRuleListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *LoadBalancerLoadBalancingRuleListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LoadBalancerLoadBalancingRuleListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *LoadBalancerLoadBalancingRuleListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter LoadBalancerLoadBalancingRuleListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter LoadBalancerLoadBalancingRuleListResultIterator) Response() LoadBalancerLoadBalancingRuleListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter LoadBalancerLoadBalancingRuleListResultIterator) Value() LoadBalancingRule { + if !iter.page.NotDone() { + return LoadBalancingRule{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the LoadBalancerLoadBalancingRuleListResultIterator type. +func NewLoadBalancerLoadBalancingRuleListResultIterator(page LoadBalancerLoadBalancingRuleListResultPage) LoadBalancerLoadBalancingRuleListResultIterator { + return LoadBalancerLoadBalancingRuleListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (lblbrlr LoadBalancerLoadBalancingRuleListResult) IsEmpty() bool { + return lblbrlr.Value == nil || len(*lblbrlr.Value) == 0 +} + +// loadBalancerLoadBalancingRuleListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (lblbrlr LoadBalancerLoadBalancingRuleListResult) loadBalancerLoadBalancingRuleListResultPreparer(ctx context.Context) (*http.Request, error) { + if lblbrlr.NextLink == nil || len(to.String(lblbrlr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(lblbrlr.NextLink))) +} + +// LoadBalancerLoadBalancingRuleListResultPage contains a page of LoadBalancingRule values. +type LoadBalancerLoadBalancingRuleListResultPage struct { + fn func(context.Context, LoadBalancerLoadBalancingRuleListResult) (LoadBalancerLoadBalancingRuleListResult, error) + lblbrlr LoadBalancerLoadBalancingRuleListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *LoadBalancerLoadBalancingRuleListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LoadBalancerLoadBalancingRuleListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.lblbrlr) + if err != nil { + return err + } + page.lblbrlr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *LoadBalancerLoadBalancingRuleListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page LoadBalancerLoadBalancingRuleListResultPage) NotDone() bool { + return !page.lblbrlr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page LoadBalancerLoadBalancingRuleListResultPage) Response() LoadBalancerLoadBalancingRuleListResult { + return page.lblbrlr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page LoadBalancerLoadBalancingRuleListResultPage) Values() []LoadBalancingRule { + if page.lblbrlr.IsEmpty() { + return nil + } + return *page.lblbrlr.Value +} + +// Creates a new instance of the LoadBalancerLoadBalancingRuleListResultPage type. +func NewLoadBalancerLoadBalancingRuleListResultPage(getNextPage func(context.Context, LoadBalancerLoadBalancingRuleListResult) (LoadBalancerLoadBalancingRuleListResult, error)) LoadBalancerLoadBalancingRuleListResultPage { + return LoadBalancerLoadBalancingRuleListResultPage{fn: getNextPage} +} + +// LoadBalancerOutboundRuleListResult response for ListOutboundRule API service call. +type LoadBalancerOutboundRuleListResult struct { + autorest.Response `json:"-"` + // Value - A list of outbound rules in a load balancer. + Value *[]OutboundRule `json:"value,omitempty"` + // NextLink - READ-ONLY; The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// LoadBalancerOutboundRuleListResultIterator provides access to a complete listing of OutboundRule values. +type LoadBalancerOutboundRuleListResultIterator struct { + i int + page LoadBalancerOutboundRuleListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *LoadBalancerOutboundRuleListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LoadBalancerOutboundRuleListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *LoadBalancerOutboundRuleListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter LoadBalancerOutboundRuleListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter LoadBalancerOutboundRuleListResultIterator) Response() LoadBalancerOutboundRuleListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter LoadBalancerOutboundRuleListResultIterator) Value() OutboundRule { + if !iter.page.NotDone() { + return OutboundRule{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the LoadBalancerOutboundRuleListResultIterator type. +func NewLoadBalancerOutboundRuleListResultIterator(page LoadBalancerOutboundRuleListResultPage) LoadBalancerOutboundRuleListResultIterator { + return LoadBalancerOutboundRuleListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (lborlr LoadBalancerOutboundRuleListResult) IsEmpty() bool { + return lborlr.Value == nil || len(*lborlr.Value) == 0 +} + +// loadBalancerOutboundRuleListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (lborlr LoadBalancerOutboundRuleListResult) loadBalancerOutboundRuleListResultPreparer(ctx context.Context) (*http.Request, error) { + if lborlr.NextLink == nil || len(to.String(lborlr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(lborlr.NextLink))) +} + +// LoadBalancerOutboundRuleListResultPage contains a page of OutboundRule values. +type LoadBalancerOutboundRuleListResultPage struct { + fn func(context.Context, LoadBalancerOutboundRuleListResult) (LoadBalancerOutboundRuleListResult, error) + lborlr LoadBalancerOutboundRuleListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *LoadBalancerOutboundRuleListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LoadBalancerOutboundRuleListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.lborlr) + if err != nil { + return err + } + page.lborlr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *LoadBalancerOutboundRuleListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page LoadBalancerOutboundRuleListResultPage) NotDone() bool { + return !page.lborlr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page LoadBalancerOutboundRuleListResultPage) Response() LoadBalancerOutboundRuleListResult { + return page.lborlr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page LoadBalancerOutboundRuleListResultPage) Values() []OutboundRule { + if page.lborlr.IsEmpty() { + return nil + } + return *page.lborlr.Value +} + +// Creates a new instance of the LoadBalancerOutboundRuleListResultPage type. +func NewLoadBalancerOutboundRuleListResultPage(getNextPage func(context.Context, LoadBalancerOutboundRuleListResult) (LoadBalancerOutboundRuleListResult, error)) LoadBalancerOutboundRuleListResultPage { + return LoadBalancerOutboundRuleListResultPage{fn: getNextPage} +} + +// LoadBalancerProbeListResult response for ListProbe API service call. +type LoadBalancerProbeListResult struct { + autorest.Response `json:"-"` + // Value - A list of probes in a load balancer. + Value *[]Probe `json:"value,omitempty"` + // NextLink - READ-ONLY; The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// LoadBalancerProbeListResultIterator provides access to a complete listing of Probe values. +type LoadBalancerProbeListResultIterator struct { + i int + page LoadBalancerProbeListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *LoadBalancerProbeListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LoadBalancerProbeListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *LoadBalancerProbeListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter LoadBalancerProbeListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter LoadBalancerProbeListResultIterator) Response() LoadBalancerProbeListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter LoadBalancerProbeListResultIterator) Value() Probe { + if !iter.page.NotDone() { + return Probe{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the LoadBalancerProbeListResultIterator type. +func NewLoadBalancerProbeListResultIterator(page LoadBalancerProbeListResultPage) LoadBalancerProbeListResultIterator { + return LoadBalancerProbeListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (lbplr LoadBalancerProbeListResult) IsEmpty() bool { + return lbplr.Value == nil || len(*lbplr.Value) == 0 +} + +// loadBalancerProbeListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (lbplr LoadBalancerProbeListResult) loadBalancerProbeListResultPreparer(ctx context.Context) (*http.Request, error) { + if lbplr.NextLink == nil || len(to.String(lbplr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(lbplr.NextLink))) +} + +// LoadBalancerProbeListResultPage contains a page of Probe values. +type LoadBalancerProbeListResultPage struct { + fn func(context.Context, LoadBalancerProbeListResult) (LoadBalancerProbeListResult, error) + lbplr LoadBalancerProbeListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *LoadBalancerProbeListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LoadBalancerProbeListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.lbplr) + if err != nil { + return err + } + page.lbplr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *LoadBalancerProbeListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page LoadBalancerProbeListResultPage) NotDone() bool { + return !page.lbplr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page LoadBalancerProbeListResultPage) Response() LoadBalancerProbeListResult { + return page.lbplr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page LoadBalancerProbeListResultPage) Values() []Probe { + if page.lbplr.IsEmpty() { + return nil + } + return *page.lbplr.Value +} + +// Creates a new instance of the LoadBalancerProbeListResultPage type. +func NewLoadBalancerProbeListResultPage(getNextPage func(context.Context, LoadBalancerProbeListResult) (LoadBalancerProbeListResult, error)) LoadBalancerProbeListResultPage { + return LoadBalancerProbeListResultPage{fn: getNextPage} +} + +// LoadBalancerPropertiesFormat properties of the load balancer. +type LoadBalancerPropertiesFormat struct { + // FrontendIPConfigurations - Object representing the frontend IPs to be used for the load balancer. + FrontendIPConfigurations *[]FrontendIPConfiguration `json:"frontendIPConfigurations,omitempty"` + // BackendAddressPools - Collection of backend address pools used by a load balancer. + BackendAddressPools *[]BackendAddressPool `json:"backendAddressPools,omitempty"` + // LoadBalancingRules - Object collection representing the load balancing rules Gets the provisioning. + LoadBalancingRules *[]LoadBalancingRule `json:"loadBalancingRules,omitempty"` + // Probes - Collection of probe objects used in the load balancer. + Probes *[]Probe `json:"probes,omitempty"` + // InboundNatRules - Collection of inbound NAT Rules used by a load balancer. Defining inbound NAT rules on your load balancer is mutually exclusive with defining an inbound NAT pool. Inbound NAT pools are referenced from virtual machine scale sets. NICs that are associated with individual virtual machines cannot reference an Inbound NAT pool. They have to reference individual inbound NAT rules. + InboundNatRules *[]InboundNatRule `json:"inboundNatRules,omitempty"` + // InboundNatPools - Defines an external port range for inbound NAT to a single backend port on NICs associated with a load balancer. Inbound NAT rules are created automatically for each NIC associated with the Load Balancer using an external port from this range. Defining an Inbound NAT pool on your Load Balancer is mutually exclusive with defining inbound Nat rules. Inbound NAT pools are referenced from virtual machine scale sets. NICs that are associated with individual virtual machines cannot reference an inbound NAT pool. They have to reference individual inbound NAT rules. + InboundNatPools *[]InboundNatPool `json:"inboundNatPools,omitempty"` + // OutboundRules - The outbound rules. + OutboundRules *[]OutboundRule `json:"outboundRules,omitempty"` + // ResourceGUID - The resource GUID property of the load balancer resource. + ResourceGUID *string `json:"resourceGuid,omitempty"` + // ProvisioningState - The provisioning state of the load balancer resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// LoadBalancersCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type LoadBalancersCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *LoadBalancersCreateOrUpdateFuture) Result(client LoadBalancersClient) (lb LoadBalancer, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancersCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.LoadBalancersCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if lb.Response.Response, err = future.GetResult(sender); err == nil && lb.Response.Response.StatusCode != http.StatusNoContent { + lb, err = client.CreateOrUpdateResponder(lb.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancersCreateOrUpdateFuture", "Result", lb.Response.Response, "Failure responding to request") + } + } + return +} + +// LoadBalancersDeleteFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type LoadBalancersDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *LoadBalancersDeleteFuture) Result(client LoadBalancersClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancersDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.LoadBalancersDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// LoadBalancerSku SKU of a load balancer. +type LoadBalancerSku struct { + // Name - Name of a load balancer SKU. Possible values include: 'LoadBalancerSkuNameBasic', 'LoadBalancerSkuNameStandard' + Name LoadBalancerSkuName `json:"name,omitempty"` +} + +// LoadBalancersUpdateTagsFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type LoadBalancersUpdateTagsFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *LoadBalancersUpdateTagsFuture) Result(client LoadBalancersClient) (lb LoadBalancer, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancersUpdateTagsFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.LoadBalancersUpdateTagsFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if lb.Response.Response, err = future.GetResult(sender); err == nil && lb.Response.Response.StatusCode != http.StatusNoContent { + lb, err = client.UpdateTagsResponder(lb.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LoadBalancersUpdateTagsFuture", "Result", lb.Response.Response, "Failure responding to request") + } + } + return +} + +// LoadBalancingRule a load balancing rule for a load balancer. +type LoadBalancingRule struct { + autorest.Response `json:"-"` + // LoadBalancingRulePropertiesFormat - Properties of load balancer load balancing rule. + *LoadBalancingRulePropertiesFormat `json:"properties,omitempty"` + // Name - The name of the resource that is unique within the set of load balancing rules used by the load balancer. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // Type - READ-ONLY; Type of the resource. + Type *string `json:"type,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for LoadBalancingRule. +func (lbr LoadBalancingRule) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if lbr.LoadBalancingRulePropertiesFormat != nil { + objectMap["properties"] = lbr.LoadBalancingRulePropertiesFormat + } + if lbr.Name != nil { + objectMap["name"] = lbr.Name + } + if lbr.Etag != nil { + objectMap["etag"] = lbr.Etag + } + if lbr.ID != nil { + objectMap["id"] = lbr.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for LoadBalancingRule struct. +func (lbr *LoadBalancingRule) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var loadBalancingRulePropertiesFormat LoadBalancingRulePropertiesFormat + err = json.Unmarshal(*v, &loadBalancingRulePropertiesFormat) + if err != nil { + return err + } + lbr.LoadBalancingRulePropertiesFormat = &loadBalancingRulePropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + lbr.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + lbr.Etag = &etag + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + lbr.Type = &typeVar + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + lbr.ID = &ID + } + } + } + + return nil +} + +// LoadBalancingRulePropertiesFormat properties of the load balancer. +type LoadBalancingRulePropertiesFormat struct { + // FrontendIPConfiguration - A reference to frontend IP addresses. + FrontendIPConfiguration *SubResource `json:"frontendIPConfiguration,omitempty"` + // BackendAddressPool - A reference to a pool of DIPs. Inbound traffic is randomly load balanced across IPs in the backend IPs. + BackendAddressPool *SubResource `json:"backendAddressPool,omitempty"` + // Probe - The reference of the load balancer probe used by the load balancing rule. + Probe *SubResource `json:"probe,omitempty"` + // Protocol - The reference to the transport protocol used by the load balancing rule. Possible values include: 'TransportProtocolUDP', 'TransportProtocolTCP', 'TransportProtocolAll' + Protocol TransportProtocol `json:"protocol,omitempty"` + // LoadDistribution - The load distribution policy for this rule. Possible values include: 'LoadDistributionDefault', 'LoadDistributionSourceIP', 'LoadDistributionSourceIPProtocol' + LoadDistribution LoadDistribution `json:"loadDistribution,omitempty"` + // FrontendPort - The port for the external endpoint. Port numbers for each rule must be unique within the Load Balancer. Acceptable values are between 0 and 65534. Note that value 0 enables "Any Port". + FrontendPort *int32 `json:"frontendPort,omitempty"` + // BackendPort - The port used for internal connections on the endpoint. Acceptable values are between 0 and 65535. Note that value 0 enables "Any Port". + BackendPort *int32 `json:"backendPort,omitempty"` + // IdleTimeoutInMinutes - The timeout for the TCP idle connection. The value can be set between 4 and 30 minutes. The default value is 4 minutes. This element is only used when the protocol is set to TCP. + IdleTimeoutInMinutes *int32 `json:"idleTimeoutInMinutes,omitempty"` + // EnableFloatingIP - Configures a virtual machine's endpoint for the floating IP capability required to configure a SQL AlwaysOn Availability Group. This setting is required when using the SQL AlwaysOn Availability Groups in SQL server. This setting can't be changed after you create the endpoint. + EnableFloatingIP *bool `json:"enableFloatingIP,omitempty"` + // EnableTCPReset - Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This element is only used when the protocol is set to TCP. + EnableTCPReset *bool `json:"enableTcpReset,omitempty"` + // DisableOutboundSnat - Configures SNAT for the VMs in the backend pool to use the publicIP address specified in the frontend of the load balancing rule. + DisableOutboundSnat *bool `json:"disableOutboundSnat,omitempty"` + // ProvisioningState - The provisioning state of the load balancing rule resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// LocalNetworkGateway a common class for general resource information. +type LocalNetworkGateway struct { + autorest.Response `json:"-"` + // LocalNetworkGatewayPropertiesFormat - Properties of the local network gateway. + *LocalNetworkGatewayPropertiesFormat `json:"properties,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for LocalNetworkGateway. +func (lng LocalNetworkGateway) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if lng.LocalNetworkGatewayPropertiesFormat != nil { + objectMap["properties"] = lng.LocalNetworkGatewayPropertiesFormat + } + if lng.Etag != nil { + objectMap["etag"] = lng.Etag + } + if lng.ID != nil { + objectMap["id"] = lng.ID + } + if lng.Location != nil { + objectMap["location"] = lng.Location + } + if lng.Tags != nil { + objectMap["tags"] = lng.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for LocalNetworkGateway struct. +func (lng *LocalNetworkGateway) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var localNetworkGatewayPropertiesFormat LocalNetworkGatewayPropertiesFormat + err = json.Unmarshal(*v, &localNetworkGatewayPropertiesFormat) + if err != nil { + return err + } + lng.LocalNetworkGatewayPropertiesFormat = &localNetworkGatewayPropertiesFormat + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + lng.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + lng.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + lng.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + lng.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + lng.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + lng.Tags = tags + } + } + } + + return nil +} + +// LocalNetworkGatewayListResult response for ListLocalNetworkGateways API service call. +type LocalNetworkGatewayListResult struct { + autorest.Response `json:"-"` + // Value - A list of local network gateways that exists in a resource group. + Value *[]LocalNetworkGateway `json:"value,omitempty"` + // NextLink - READ-ONLY; The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// LocalNetworkGatewayListResultIterator provides access to a complete listing of LocalNetworkGateway +// values. +type LocalNetworkGatewayListResultIterator struct { + i int + page LocalNetworkGatewayListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *LocalNetworkGatewayListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LocalNetworkGatewayListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *LocalNetworkGatewayListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter LocalNetworkGatewayListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter LocalNetworkGatewayListResultIterator) Response() LocalNetworkGatewayListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter LocalNetworkGatewayListResultIterator) Value() LocalNetworkGateway { + if !iter.page.NotDone() { + return LocalNetworkGateway{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the LocalNetworkGatewayListResultIterator type. +func NewLocalNetworkGatewayListResultIterator(page LocalNetworkGatewayListResultPage) LocalNetworkGatewayListResultIterator { + return LocalNetworkGatewayListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (lnglr LocalNetworkGatewayListResult) IsEmpty() bool { + return lnglr.Value == nil || len(*lnglr.Value) == 0 +} + +// localNetworkGatewayListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (lnglr LocalNetworkGatewayListResult) localNetworkGatewayListResultPreparer(ctx context.Context) (*http.Request, error) { + if lnglr.NextLink == nil || len(to.String(lnglr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(lnglr.NextLink))) +} + +// LocalNetworkGatewayListResultPage contains a page of LocalNetworkGateway values. +type LocalNetworkGatewayListResultPage struct { + fn func(context.Context, LocalNetworkGatewayListResult) (LocalNetworkGatewayListResult, error) + lnglr LocalNetworkGatewayListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *LocalNetworkGatewayListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/LocalNetworkGatewayListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.lnglr) + if err != nil { + return err + } + page.lnglr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *LocalNetworkGatewayListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page LocalNetworkGatewayListResultPage) NotDone() bool { + return !page.lnglr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page LocalNetworkGatewayListResultPage) Response() LocalNetworkGatewayListResult { + return page.lnglr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page LocalNetworkGatewayListResultPage) Values() []LocalNetworkGateway { + if page.lnglr.IsEmpty() { + return nil + } + return *page.lnglr.Value +} + +// Creates a new instance of the LocalNetworkGatewayListResultPage type. +func NewLocalNetworkGatewayListResultPage(getNextPage func(context.Context, LocalNetworkGatewayListResult) (LocalNetworkGatewayListResult, error)) LocalNetworkGatewayListResultPage { + return LocalNetworkGatewayListResultPage{fn: getNextPage} +} + +// LocalNetworkGatewayPropertiesFormat localNetworkGateway properties. +type LocalNetworkGatewayPropertiesFormat struct { + // LocalNetworkAddressSpace - Local network site address space. + LocalNetworkAddressSpace *AddressSpace `json:"localNetworkAddressSpace,omitempty"` + // GatewayIPAddress - IP address of local network gateway. + GatewayIPAddress *string `json:"gatewayIpAddress,omitempty"` + // BgpSettings - Local network gateway's BGP speaker settings. + BgpSettings *BgpSettings `json:"bgpSettings,omitempty"` + // ResourceGUID - The resource GUID property of the local network gateway resource. + ResourceGUID *string `json:"resourceGuid,omitempty"` + // ProvisioningState - READ-ONLY; The provisioning state of the local network gateway resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// LocalNetworkGatewaysCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type LocalNetworkGatewaysCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *LocalNetworkGatewaysCreateOrUpdateFuture) Result(client LocalNetworkGatewaysClient) (lng LocalNetworkGateway, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LocalNetworkGatewaysCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.LocalNetworkGatewaysCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if lng.Response.Response, err = future.GetResult(sender); err == nil && lng.Response.Response.StatusCode != http.StatusNoContent { + lng, err = client.CreateOrUpdateResponder(lng.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LocalNetworkGatewaysCreateOrUpdateFuture", "Result", lng.Response.Response, "Failure responding to request") + } + } + return +} + +// LocalNetworkGatewaysDeleteFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type LocalNetworkGatewaysDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *LocalNetworkGatewaysDeleteFuture) Result(client LocalNetworkGatewaysClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LocalNetworkGatewaysDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.LocalNetworkGatewaysDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// LocalNetworkGatewaysUpdateTagsFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type LocalNetworkGatewaysUpdateTagsFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *LocalNetworkGatewaysUpdateTagsFuture) Result(client LocalNetworkGatewaysClient) (lng LocalNetworkGateway, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LocalNetworkGatewaysUpdateTagsFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.LocalNetworkGatewaysUpdateTagsFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if lng.Response.Response, err = future.GetResult(sender); err == nil && lng.Response.Response.StatusCode != http.StatusNoContent { + lng, err = client.UpdateTagsResponder(lng.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.LocalNetworkGatewaysUpdateTagsFuture", "Result", lng.Response.Response, "Failure responding to request") + } + } + return +} + +// LogSpecification description of logging specification. +type LogSpecification struct { + // Name - The name of the specification. + Name *string `json:"name,omitempty"` + // DisplayName - The display name of the specification. + DisplayName *string `json:"displayName,omitempty"` + // BlobDuration - Duration of the blob. + BlobDuration *string `json:"blobDuration,omitempty"` +} + +// ManagedRuleGroupOverride defines a managed rule group override setting. +type ManagedRuleGroupOverride struct { + // RuleGroupName - Describes the managed rule group to override. + RuleGroupName *string `json:"ruleGroupName,omitempty"` + // Rules - List of rules that will be disabled. If none specified, all rules in the group will be disabled. + Rules *[]ManagedRuleOverride `json:"rules,omitempty"` +} + +// ManagedRuleOverride defines a managed rule group override setting. +type ManagedRuleOverride struct { + // RuleID - Identifier for the managed rule. + RuleID *string `json:"ruleId,omitempty"` + // State - Describes the state of the managed rule. Defaults to Disabled if not specified. Possible values include: 'ManagedRuleEnabledStateDisabled' + State ManagedRuleEnabledState `json:"state,omitempty"` +} + +// ManagedRulesDefinition allow to exclude some variable satisfy the condition for the WAF check. +type ManagedRulesDefinition struct { + // Exclusions - Describes the Exclusions that are applied on the policy. + Exclusions *[]OwaspCrsExclusionEntry `json:"exclusions,omitempty"` + // ManagedRuleSets - Describes the ruleSets that are associated with the policy. + ManagedRuleSets *[]ManagedRuleSet `json:"managedRuleSets,omitempty"` +} + +// ManagedRuleSet defines a managed rule set. +type ManagedRuleSet struct { + // RuleSetType - Defines the rule set type to use. + RuleSetType *string `json:"ruleSetType,omitempty"` + // RuleSetVersion - Defines the version of the rule set to use. + RuleSetVersion *string `json:"ruleSetVersion,omitempty"` + // RuleGroupOverrides - Defines the rule group overrides to apply to the rule set. + RuleGroupOverrides *[]ManagedRuleGroupOverride `json:"ruleGroupOverrides,omitempty"` +} + +// ManagedServiceIdentity identity for the resource. +type ManagedServiceIdentity struct { + // PrincipalID - READ-ONLY; The principal id of the system assigned identity. This property will only be provided for a system assigned identity. + PrincipalID *string `json:"principalId,omitempty"` + // TenantID - READ-ONLY; The tenant id of the system assigned identity. This property will only be provided for a system assigned identity. + TenantID *string `json:"tenantId,omitempty"` + // Type - The type of identity used for the resource. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the virtual machine. Possible values include: 'ResourceIdentityTypeSystemAssigned', 'ResourceIdentityTypeUserAssigned', 'ResourceIdentityTypeSystemAssignedUserAssigned', 'ResourceIdentityTypeNone' + Type ResourceIdentityType `json:"type,omitempty"` + // UserAssignedIdentities - The list of user identities associated with resource. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + UserAssignedIdentities map[string]*ManagedServiceIdentityUserAssignedIdentitiesValue `json:"userAssignedIdentities"` +} + +// MarshalJSON is the custom marshaler for ManagedServiceIdentity. +func (msi ManagedServiceIdentity) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if msi.Type != "" { + objectMap["type"] = msi.Type + } + if msi.UserAssignedIdentities != nil { + objectMap["userAssignedIdentities"] = msi.UserAssignedIdentities + } + return json.Marshal(objectMap) +} + +// ManagedServiceIdentityUserAssignedIdentitiesValue ... +type ManagedServiceIdentityUserAssignedIdentitiesValue struct { + // PrincipalID - READ-ONLY; The principal id of user assigned identity. + PrincipalID *string `json:"principalId,omitempty"` + // ClientID - READ-ONLY; The client id of user assigned identity. + ClientID *string `json:"clientId,omitempty"` +} + +// MatchCondition define match conditions. +type MatchCondition struct { + // MatchVariables - List of match variables. + MatchVariables *[]MatchVariable `json:"matchVariables,omitempty"` + // Operator - Describes operator to be matched. Possible values include: 'WebApplicationFirewallOperatorIPMatch', 'WebApplicationFirewallOperatorEqual', 'WebApplicationFirewallOperatorContains', 'WebApplicationFirewallOperatorLessThan', 'WebApplicationFirewallOperatorGreaterThan', 'WebApplicationFirewallOperatorLessThanOrEqual', 'WebApplicationFirewallOperatorGreaterThanOrEqual', 'WebApplicationFirewallOperatorBeginsWith', 'WebApplicationFirewallOperatorEndsWith', 'WebApplicationFirewallOperatorRegex' + Operator WebApplicationFirewallOperator `json:"operator,omitempty"` + // NegationConditon - Describes if this is negate condition or not. + NegationConditon *bool `json:"negationConditon,omitempty"` + // MatchValues - Match value. + MatchValues *[]string `json:"matchValues,omitempty"` + // Transforms - List of transforms. + Transforms *[]WebApplicationFirewallTransform `json:"transforms,omitempty"` +} + +// MatchedRule matched rule. +type MatchedRule struct { + // RuleName - Name of the matched network security rule. + RuleName *string `json:"ruleName,omitempty"` + // Action - The network traffic is allowed or denied. Possible values are 'Allow' and 'Deny'. + Action *string `json:"action,omitempty"` +} + +// MatchVariable define match variables. +type MatchVariable struct { + // VariableName - Match Variable. Possible values include: 'RemoteAddr', 'RequestMethod', 'QueryString', 'PostArgs', 'RequestURI', 'RequestHeaders', 'RequestBody', 'RequestCookies' + VariableName WebApplicationFirewallMatchVariable `json:"variableName,omitempty"` + // Selector - Describes field of the matchVariable collection. + Selector *string `json:"selector,omitempty"` +} + +// MetricSpecification description of metrics specification. +type MetricSpecification struct { + // Name - The name of the metric. + Name *string `json:"name,omitempty"` + // DisplayName - The display name of the metric. + DisplayName *string `json:"displayName,omitempty"` + // DisplayDescription - The description of the metric. + DisplayDescription *string `json:"displayDescription,omitempty"` + // Unit - Units the metric to be displayed in. + Unit *string `json:"unit,omitempty"` + // AggregationType - The aggregation type. + AggregationType *string `json:"aggregationType,omitempty"` + // Availabilities - List of availability. + Availabilities *[]Availability `json:"availabilities,omitempty"` + // EnableRegionalMdmAccount - Whether regional MDM account enabled. + EnableRegionalMdmAccount *bool `json:"enableRegionalMdmAccount,omitempty"` + // FillGapWithZero - Whether gaps would be filled with zeros. + FillGapWithZero *bool `json:"fillGapWithZero,omitempty"` + // MetricFilterPattern - Pattern for the filter of the metric. + MetricFilterPattern *string `json:"metricFilterPattern,omitempty"` + // Dimensions - List of dimensions. + Dimensions *[]Dimension `json:"dimensions,omitempty"` + // IsInternal - Whether the metric is internal. + IsInternal *bool `json:"isInternal,omitempty"` + // SourceMdmAccount - The source MDM account. + SourceMdmAccount *string `json:"sourceMdmAccount,omitempty"` + // SourceMdmNamespace - The source MDM namespace. + SourceMdmNamespace *string `json:"sourceMdmNamespace,omitempty"` + // ResourceIDDimensionNameOverride - The resource Id dimension name override. + ResourceIDDimensionNameOverride *string `json:"resourceIdDimensionNameOverride,omitempty"` +} + +// NatGateway nat Gateway resource. +type NatGateway struct { + autorest.Response `json:"-"` + // Sku - The nat gateway SKU. + Sku *NatGatewaySku `json:"sku,omitempty"` + // NatGatewayPropertiesFormat - Nat Gateway properties. + *NatGatewayPropertiesFormat `json:"properties,omitempty"` + // Zones - A list of availability zones denoting the zone in which Nat Gateway should be deployed. + Zones *[]string `json:"zones,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for NatGateway. +func (ng NatGateway) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if ng.Sku != nil { + objectMap["sku"] = ng.Sku + } + if ng.NatGatewayPropertiesFormat != nil { + objectMap["properties"] = ng.NatGatewayPropertiesFormat + } + if ng.Zones != nil { + objectMap["zones"] = ng.Zones + } + if ng.Etag != nil { + objectMap["etag"] = ng.Etag + } + if ng.ID != nil { + objectMap["id"] = ng.ID + } + if ng.Location != nil { + objectMap["location"] = ng.Location + } + if ng.Tags != nil { + objectMap["tags"] = ng.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for NatGateway struct. +func (ng *NatGateway) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "sku": + if v != nil { + var sku NatGatewaySku + err = json.Unmarshal(*v, &sku) + if err != nil { + return err + } + ng.Sku = &sku + } + case "properties": + if v != nil { + var natGatewayPropertiesFormat NatGatewayPropertiesFormat + err = json.Unmarshal(*v, &natGatewayPropertiesFormat) + if err != nil { + return err + } + ng.NatGatewayPropertiesFormat = &natGatewayPropertiesFormat + } + case "zones": + if v != nil { + var zones []string + err = json.Unmarshal(*v, &zones) + if err != nil { + return err + } + ng.Zones = &zones + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + ng.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + ng.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + ng.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ng.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + ng.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + ng.Tags = tags + } + } + } + + return nil +} + +// NatGatewayListResult response for ListNatGateways API service call. +type NatGatewayListResult struct { + autorest.Response `json:"-"` + // Value - A list of Nat Gateways that exists in a resource group. + Value *[]NatGateway `json:"value,omitempty"` + // NextLink - The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// NatGatewayListResultIterator provides access to a complete listing of NatGateway values. +type NatGatewayListResultIterator struct { + i int + page NatGatewayListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *NatGatewayListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/NatGatewayListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *NatGatewayListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter NatGatewayListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter NatGatewayListResultIterator) Response() NatGatewayListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter NatGatewayListResultIterator) Value() NatGateway { + if !iter.page.NotDone() { + return NatGateway{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the NatGatewayListResultIterator type. +func NewNatGatewayListResultIterator(page NatGatewayListResultPage) NatGatewayListResultIterator { + return NatGatewayListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (nglr NatGatewayListResult) IsEmpty() bool { + return nglr.Value == nil || len(*nglr.Value) == 0 +} + +// natGatewayListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (nglr NatGatewayListResult) natGatewayListResultPreparer(ctx context.Context) (*http.Request, error) { + if nglr.NextLink == nil || len(to.String(nglr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(nglr.NextLink))) +} + +// NatGatewayListResultPage contains a page of NatGateway values. +type NatGatewayListResultPage struct { + fn func(context.Context, NatGatewayListResult) (NatGatewayListResult, error) + nglr NatGatewayListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *NatGatewayListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/NatGatewayListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.nglr) + if err != nil { + return err + } + page.nglr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *NatGatewayListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page NatGatewayListResultPage) NotDone() bool { + return !page.nglr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page NatGatewayListResultPage) Response() NatGatewayListResult { + return page.nglr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page NatGatewayListResultPage) Values() []NatGateway { + if page.nglr.IsEmpty() { + return nil + } + return *page.nglr.Value +} + +// Creates a new instance of the NatGatewayListResultPage type. +func NewNatGatewayListResultPage(getNextPage func(context.Context, NatGatewayListResult) (NatGatewayListResult, error)) NatGatewayListResultPage { + return NatGatewayListResultPage{fn: getNextPage} +} + +// NatGatewayPropertiesFormat nat Gateway properties. +type NatGatewayPropertiesFormat struct { + // IdleTimeoutInMinutes - The idle timeout of the nat gateway. + IdleTimeoutInMinutes *int32 `json:"idleTimeoutInMinutes,omitempty"` + // PublicIPAddresses - An array of public ip addresses associated with the nat gateway resource. + PublicIPAddresses *[]SubResource `json:"publicIpAddresses,omitempty"` + // PublicIPPrefixes - An array of public ip prefixes associated with the nat gateway resource. + PublicIPPrefixes *[]SubResource `json:"publicIpPrefixes,omitempty"` + // Subnets - READ-ONLY; An array of references to the subnets using this nat gateway resource. + Subnets *[]SubResource `json:"subnets,omitempty"` + // ResourceGUID - The resource GUID property of the NAT gateway resource. + ResourceGUID *string `json:"resourceGuid,omitempty"` + // ProvisioningState - The provisioning state of the NAT gateway resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// NatGatewaysCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type NatGatewaysCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *NatGatewaysCreateOrUpdateFuture) Result(client NatGatewaysClient) (ng NatGateway, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.NatGatewaysCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.NatGatewaysCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if ng.Response.Response, err = future.GetResult(sender); err == nil && ng.Response.Response.StatusCode != http.StatusNoContent { + ng, err = client.CreateOrUpdateResponder(ng.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.NatGatewaysCreateOrUpdateFuture", "Result", ng.Response.Response, "Failure responding to request") + } + } + return +} + +// NatGatewaysDeleteFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type NatGatewaysDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *NatGatewaysDeleteFuture) Result(client NatGatewaysClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.NatGatewaysDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.NatGatewaysDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// NatGatewaySku SKU of nat gateway. +type NatGatewaySku struct { + // Name - Name of Nat Gateway SKU. Possible values include: 'NatGatewaySkuNameStandard' + Name NatGatewaySkuName `json:"name,omitempty"` +} + +// NextHopParameters parameters that define the source and destination endpoint. +type NextHopParameters struct { + // TargetResourceID - The resource identifier of the target resource against which the action is to be performed. + TargetResourceID *string `json:"targetResourceId,omitempty"` + // SourceIPAddress - The source IP address. + SourceIPAddress *string `json:"sourceIPAddress,omitempty"` + // DestinationIPAddress - The destination IP address. + DestinationIPAddress *string `json:"destinationIPAddress,omitempty"` + // TargetNicResourceID - The NIC ID. (If VM has multiple NICs and IP forwarding is enabled on any of the nics, then this parameter must be specified. Otherwise optional). + TargetNicResourceID *string `json:"targetNicResourceId,omitempty"` +} + +// NextHopResult the information about next hop from the specified VM. +type NextHopResult struct { + autorest.Response `json:"-"` + // NextHopType - Next hop type. Possible values include: 'NextHopTypeInternet', 'NextHopTypeVirtualAppliance', 'NextHopTypeVirtualNetworkGateway', 'NextHopTypeVnetLocal', 'NextHopTypeHyperNetGateway', 'NextHopTypeNone' + NextHopType NextHopType `json:"nextHopType,omitempty"` + // NextHopIPAddress - Next hop IP Address. + NextHopIPAddress *string `json:"nextHopIpAddress,omitempty"` + // RouteTableID - The resource identifier for the route table associated with the route being returned. If the route being returned does not correspond to any user created routes then this field will be the string 'System Route'. + RouteTableID *string `json:"routeTableId,omitempty"` +} + +// Operation network REST API operation definition. +type Operation struct { + // Name - Operation name: {provider}/{resource}/{operation}. + Name *string `json:"name,omitempty"` + // Display - Display metadata associated with the operation. + Display *OperationDisplay `json:"display,omitempty"` + // Origin - Origin of the operation. + Origin *string `json:"origin,omitempty"` + // OperationPropertiesFormat - Operation properties format. + *OperationPropertiesFormat `json:"properties,omitempty"` +} + +// MarshalJSON is the custom marshaler for Operation. +func (o Operation) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if o.Name != nil { + objectMap["name"] = o.Name + } + if o.Display != nil { + objectMap["display"] = o.Display + } + if o.Origin != nil { + objectMap["origin"] = o.Origin + } + if o.OperationPropertiesFormat != nil { + objectMap["properties"] = o.OperationPropertiesFormat + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for Operation struct. +func (o *Operation) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + o.Name = &name + } + case "display": + if v != nil { + var display OperationDisplay + err = json.Unmarshal(*v, &display) + if err != nil { + return err + } + o.Display = &display + } + case "origin": + if v != nil { + var origin string + err = json.Unmarshal(*v, &origin) + if err != nil { + return err + } + o.Origin = &origin + } + case "properties": + if v != nil { + var operationPropertiesFormat OperationPropertiesFormat + err = json.Unmarshal(*v, &operationPropertiesFormat) + if err != nil { + return err + } + o.OperationPropertiesFormat = &operationPropertiesFormat + } + } + } + + return nil +} + +// OperationDisplay display metadata associated with the operation. +type OperationDisplay struct { + // Provider - Service provider: Microsoft Network. + Provider *string `json:"provider,omitempty"` + // Resource - Resource on which the operation is performed. + Resource *string `json:"resource,omitempty"` + // Operation - Type of the operation: get, read, delete, etc. + Operation *string `json:"operation,omitempty"` + // Description - Description of the operation. + Description *string `json:"description,omitempty"` +} + +// OperationListResult result of the request to list Network operations. It contains a list of operations +// and a URL link to get the next set of results. +type OperationListResult struct { + autorest.Response `json:"-"` + // Value - List of Network operations supported by the Network resource provider. + Value *[]Operation `json:"value,omitempty"` + // NextLink - URL to get the next set of operation list results if there are any. + NextLink *string `json:"nextLink,omitempty"` +} + +// OperationListResultIterator provides access to a complete listing of Operation values. +type OperationListResultIterator struct { + i int + page OperationListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *OperationListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/OperationListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *OperationListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter OperationListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter OperationListResultIterator) Response() OperationListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter OperationListResultIterator) Value() Operation { + if !iter.page.NotDone() { + return Operation{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the OperationListResultIterator type. +func NewOperationListResultIterator(page OperationListResultPage) OperationListResultIterator { + return OperationListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (olr OperationListResult) IsEmpty() bool { + return olr.Value == nil || len(*olr.Value) == 0 +} + +// operationListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (olr OperationListResult) operationListResultPreparer(ctx context.Context) (*http.Request, error) { + if olr.NextLink == nil || len(to.String(olr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(olr.NextLink))) +} + +// OperationListResultPage contains a page of Operation values. +type OperationListResultPage struct { + fn func(context.Context, OperationListResult) (OperationListResult, error) + olr OperationListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *OperationListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/OperationListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.olr) + if err != nil { + return err + } + page.olr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *OperationListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page OperationListResultPage) NotDone() bool { + return !page.olr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page OperationListResultPage) Response() OperationListResult { + return page.olr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page OperationListResultPage) Values() []Operation { + if page.olr.IsEmpty() { + return nil + } + return *page.olr.Value +} + +// Creates a new instance of the OperationListResultPage type. +func NewOperationListResultPage(getNextPage func(context.Context, OperationListResult) (OperationListResult, error)) OperationListResultPage { + return OperationListResultPage{fn: getNextPage} +} + +// OperationPropertiesFormat description of operation properties format. +type OperationPropertiesFormat struct { + // ServiceSpecification - Specification of the service. + ServiceSpecification *OperationPropertiesFormatServiceSpecification `json:"serviceSpecification,omitempty"` +} + +// OperationPropertiesFormatServiceSpecification specification of the service. +type OperationPropertiesFormatServiceSpecification struct { + // MetricSpecifications - Operation service specification. + MetricSpecifications *[]MetricSpecification `json:"metricSpecifications,omitempty"` + // LogSpecifications - Operation log specification. + LogSpecifications *[]LogSpecification `json:"logSpecifications,omitempty"` +} + +// OutboundRule outbound rule of the load balancer. +type OutboundRule struct { + autorest.Response `json:"-"` + // OutboundRulePropertiesFormat - Properties of load balancer outbound rule. + *OutboundRulePropertiesFormat `json:"properties,omitempty"` + // Name - The name of the resource that is unique within the set of outbound rules used by the load balancer. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // Type - READ-ONLY; Type of the resource. + Type *string `json:"type,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for OutboundRule. +func (or OutboundRule) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if or.OutboundRulePropertiesFormat != nil { + objectMap["properties"] = or.OutboundRulePropertiesFormat + } + if or.Name != nil { + objectMap["name"] = or.Name + } + if or.Etag != nil { + objectMap["etag"] = or.Etag + } + if or.ID != nil { + objectMap["id"] = or.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for OutboundRule struct. +func (or *OutboundRule) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var outboundRulePropertiesFormat OutboundRulePropertiesFormat + err = json.Unmarshal(*v, &outboundRulePropertiesFormat) + if err != nil { + return err + } + or.OutboundRulePropertiesFormat = &outboundRulePropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + or.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + or.Etag = &etag + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + or.Type = &typeVar + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + or.ID = &ID + } + } + } + + return nil +} + +// OutboundRulePropertiesFormat outbound rule of the load balancer. +type OutboundRulePropertiesFormat struct { + // AllocatedOutboundPorts - The number of outbound ports to be used for NAT. + AllocatedOutboundPorts *int32 `json:"allocatedOutboundPorts,omitempty"` + // FrontendIPConfigurations - The Frontend IP addresses of the load balancer. + FrontendIPConfigurations *[]SubResource `json:"frontendIPConfigurations,omitempty"` + // BackendAddressPool - A reference to a pool of DIPs. Outbound traffic is randomly load balanced across IPs in the backend IPs. + BackendAddressPool *SubResource `json:"backendAddressPool,omitempty"` + // ProvisioningState - The provisioning state of the outbound rule resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + // Protocol - The protocol for the outbound rule in load balancer. Possible values include: 'LoadBalancerOutboundRuleProtocolTCP', 'LoadBalancerOutboundRuleProtocolUDP', 'LoadBalancerOutboundRuleProtocolAll' + Protocol LoadBalancerOutboundRuleProtocol `json:"protocol,omitempty"` + // EnableTCPReset - Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This element is only used when the protocol is set to TCP. + EnableTCPReset *bool `json:"enableTcpReset,omitempty"` + // IdleTimeoutInMinutes - The timeout for the TCP idle connection. + IdleTimeoutInMinutes *int32 `json:"idleTimeoutInMinutes,omitempty"` +} + +// OwaspCrsExclusionEntry allow to exclude some variable satisfy the condition for the WAF check. +type OwaspCrsExclusionEntry struct { + // MatchVariable - The variable to be excluded. Possible values include: 'RequestHeaderNames', 'RequestCookieNames', 'RequestArgNames' + MatchVariable OwaspCrsExclusionEntryMatchVariable `json:"matchVariable,omitempty"` + // SelectorMatchOperator - When matchVariable is a collection, operate on the selector to specify which elements in the collection this exclusion applies to. Possible values include: 'OwaspCrsExclusionEntrySelectorMatchOperatorEquals', 'OwaspCrsExclusionEntrySelectorMatchOperatorContains', 'OwaspCrsExclusionEntrySelectorMatchOperatorStartsWith', 'OwaspCrsExclusionEntrySelectorMatchOperatorEndsWith', 'OwaspCrsExclusionEntrySelectorMatchOperatorEqualsAny' + SelectorMatchOperator OwaspCrsExclusionEntrySelectorMatchOperator `json:"selectorMatchOperator,omitempty"` + // Selector - When matchVariable is a collection, operator used to specify which elements in the collection this exclusion applies to. + Selector *string `json:"selector,omitempty"` +} + +// P2SConnectionConfiguration p2SConnectionConfiguration Resource. +type P2SConnectionConfiguration struct { + // P2SConnectionConfigurationProperties - Properties of the P2S connection configuration. + *P2SConnectionConfigurationProperties `json:"properties,omitempty"` + // Name - The name of the resource that is unique within a resource group. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + // Etag - READ-ONLY; A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for P2SConnectionConfiguration. +func (pcc P2SConnectionConfiguration) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if pcc.P2SConnectionConfigurationProperties != nil { + objectMap["properties"] = pcc.P2SConnectionConfigurationProperties + } + if pcc.Name != nil { + objectMap["name"] = pcc.Name + } + if pcc.ID != nil { + objectMap["id"] = pcc.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for P2SConnectionConfiguration struct. +func (pcc *P2SConnectionConfiguration) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var p2SConnectionConfigurationProperties P2SConnectionConfigurationProperties + err = json.Unmarshal(*v, &p2SConnectionConfigurationProperties) + if err != nil { + return err + } + pcc.P2SConnectionConfigurationProperties = &p2SConnectionConfigurationProperties + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + pcc.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + pcc.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + pcc.ID = &ID + } + } + } + + return nil +} + +// P2SConnectionConfigurationProperties parameters for P2SConnectionConfiguration. +type P2SConnectionConfigurationProperties struct { + // VpnClientAddressPool - The reference of the address space resource which represents Address space for P2S VpnClient. + VpnClientAddressPool *AddressSpace `json:"vpnClientAddressPool,omitempty"` + // ProvisioningState - The provisioning state of the P2SConnectionConfiguration resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// P2SVpnConnectionHealth p2S Vpn connection detailed health written to sas url. +type P2SVpnConnectionHealth struct { + autorest.Response `json:"-"` + // SasURL - Returned sas url of the blob to which the p2s vpn connection detailed health will be written. + SasURL *string `json:"sasUrl,omitempty"` +} + +// P2SVpnConnectionHealthRequest list of P2S Vpn connection health request. +type P2SVpnConnectionHealthRequest struct { + // VpnUserNamesFilter - The list of p2s vpn user names whose p2s vpn connection detailed health to retrieve for. + VpnUserNamesFilter *[]string `json:"vpnUserNamesFilter,omitempty"` + // OutputBlobSasURL - The sas-url to download the P2S Vpn connection health detail. + OutputBlobSasURL *string `json:"outputBlobSasUrl,omitempty"` +} + +// P2SVpnGateway p2SVpnGateway Resource. +type P2SVpnGateway struct { + autorest.Response `json:"-"` + // P2SVpnGatewayProperties - Properties of the P2SVpnGateway. + *P2SVpnGatewayProperties `json:"properties,omitempty"` + // Etag - READ-ONLY; A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for P2SVpnGateway. +func (pvg P2SVpnGateway) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if pvg.P2SVpnGatewayProperties != nil { + objectMap["properties"] = pvg.P2SVpnGatewayProperties + } + if pvg.ID != nil { + objectMap["id"] = pvg.ID + } + if pvg.Location != nil { + objectMap["location"] = pvg.Location + } + if pvg.Tags != nil { + objectMap["tags"] = pvg.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for P2SVpnGateway struct. +func (pvg *P2SVpnGateway) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var p2SVpnGatewayProperties P2SVpnGatewayProperties + err = json.Unmarshal(*v, &p2SVpnGatewayProperties) + if err != nil { + return err + } + pvg.P2SVpnGatewayProperties = &p2SVpnGatewayProperties + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + pvg.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + pvg.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + pvg.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + pvg.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + pvg.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + pvg.Tags = tags + } + } + } + + return nil +} + +// P2SVpnGatewayProperties parameters for P2SVpnGateway. +type P2SVpnGatewayProperties struct { + // VirtualHub - The VirtualHub to which the gateway belongs. + VirtualHub *SubResource `json:"virtualHub,omitempty"` + // P2sConnectionConfigurations - List of all p2s connection configurations of the gateway. + P2sConnectionConfigurations *[]P2SConnectionConfiguration `json:"p2sConnectionConfigurations,omitempty"` + // ProvisioningState - The provisioning state of the P2S VPN gateway resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + // VpnGatewayScaleUnit - The scale unit for this p2s vpn gateway. + VpnGatewayScaleUnit *int32 `json:"vpnGatewayScaleUnit,omitempty"` + // VpnServerConfiguration - The VpnServerConfiguration to which the p2sVpnGateway is attached to. + VpnServerConfiguration *VpnServerConfiguration `json:"vpnServerConfiguration,omitempty"` + // VpnClientConnectionHealth - READ-ONLY; All P2S VPN clients' connection health status. + VpnClientConnectionHealth *VpnClientConnectionHealth `json:"vpnClientConnectionHealth,omitempty"` +} + +// P2sVpnGatewaysCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type P2sVpnGatewaysCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *P2sVpnGatewaysCreateOrUpdateFuture) Result(client P2sVpnGatewaysClient) (pvg P2SVpnGateway, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.P2sVpnGatewaysCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.P2sVpnGatewaysCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if pvg.Response.Response, err = future.GetResult(sender); err == nil && pvg.Response.Response.StatusCode != http.StatusNoContent { + pvg, err = client.CreateOrUpdateResponder(pvg.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.P2sVpnGatewaysCreateOrUpdateFuture", "Result", pvg.Response.Response, "Failure responding to request") + } + } + return +} + +// P2sVpnGatewaysDeleteFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type P2sVpnGatewaysDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *P2sVpnGatewaysDeleteFuture) Result(client P2sVpnGatewaysClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.P2sVpnGatewaysDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.P2sVpnGatewaysDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// P2sVpnGatewaysGenerateVpnProfileFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type P2sVpnGatewaysGenerateVpnProfileFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *P2sVpnGatewaysGenerateVpnProfileFuture) Result(client P2sVpnGatewaysClient) (vpr VpnProfileResponse, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.P2sVpnGatewaysGenerateVpnProfileFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.P2sVpnGatewaysGenerateVpnProfileFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if vpr.Response.Response, err = future.GetResult(sender); err == nil && vpr.Response.Response.StatusCode != http.StatusNoContent { + vpr, err = client.GenerateVpnProfileResponder(vpr.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.P2sVpnGatewaysGenerateVpnProfileFuture", "Result", vpr.Response.Response, "Failure responding to request") + } + } + return +} + +// P2sVpnGatewaysGetP2sVpnConnectionHealthDetailedFuture an abstraction for monitoring and retrieving the +// results of a long-running operation. +type P2sVpnGatewaysGetP2sVpnConnectionHealthDetailedFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *P2sVpnGatewaysGetP2sVpnConnectionHealthDetailedFuture) Result(client P2sVpnGatewaysClient) (pvch P2SVpnConnectionHealth, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.P2sVpnGatewaysGetP2sVpnConnectionHealthDetailedFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.P2sVpnGatewaysGetP2sVpnConnectionHealthDetailedFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if pvch.Response.Response, err = future.GetResult(sender); err == nil && pvch.Response.Response.StatusCode != http.StatusNoContent { + pvch, err = client.GetP2sVpnConnectionHealthDetailedResponder(pvch.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.P2sVpnGatewaysGetP2sVpnConnectionHealthDetailedFuture", "Result", pvch.Response.Response, "Failure responding to request") + } + } + return +} + +// P2sVpnGatewaysGetP2sVpnConnectionHealthFuture an abstraction for monitoring and retrieving the results +// of a long-running operation. +type P2sVpnGatewaysGetP2sVpnConnectionHealthFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *P2sVpnGatewaysGetP2sVpnConnectionHealthFuture) Result(client P2sVpnGatewaysClient) (pvg P2SVpnGateway, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.P2sVpnGatewaysGetP2sVpnConnectionHealthFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.P2sVpnGatewaysGetP2sVpnConnectionHealthFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if pvg.Response.Response, err = future.GetResult(sender); err == nil && pvg.Response.Response.StatusCode != http.StatusNoContent { + pvg, err = client.GetP2sVpnConnectionHealthResponder(pvg.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.P2sVpnGatewaysGetP2sVpnConnectionHealthFuture", "Result", pvg.Response.Response, "Failure responding to request") + } + } + return +} + +// P2sVpnGatewaysUpdateTagsFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type P2sVpnGatewaysUpdateTagsFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *P2sVpnGatewaysUpdateTagsFuture) Result(client P2sVpnGatewaysClient) (pvg P2SVpnGateway, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.P2sVpnGatewaysUpdateTagsFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.P2sVpnGatewaysUpdateTagsFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if pvg.Response.Response, err = future.GetResult(sender); err == nil && pvg.Response.Response.StatusCode != http.StatusNoContent { + pvg, err = client.UpdateTagsResponder(pvg.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.P2sVpnGatewaysUpdateTagsFuture", "Result", pvg.Response.Response, "Failure responding to request") + } + } + return +} + +// P2SVpnProfileParameters vpn Client Parameters for package generation. +type P2SVpnProfileParameters struct { + // AuthenticationMethod - VPN client authentication method. Possible values include: 'EAPTLS', 'EAPMSCHAPv2' + AuthenticationMethod AuthenticationMethod `json:"authenticationMethod,omitempty"` +} + +// PacketCapture parameters that define the create packet capture operation. +type PacketCapture struct { + // PacketCaptureParameters - Properties of the packet capture. + *PacketCaptureParameters `json:"properties,omitempty"` +} + +// MarshalJSON is the custom marshaler for PacketCapture. +func (pc PacketCapture) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if pc.PacketCaptureParameters != nil { + objectMap["properties"] = pc.PacketCaptureParameters + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for PacketCapture struct. +func (pc *PacketCapture) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var packetCaptureParameters PacketCaptureParameters + err = json.Unmarshal(*v, &packetCaptureParameters) + if err != nil { + return err + } + pc.PacketCaptureParameters = &packetCaptureParameters + } + } + } + + return nil +} + +// PacketCaptureFilter filter that is applied to packet capture request. Multiple filters can be applied. +type PacketCaptureFilter struct { + // Protocol - Protocol to be filtered on. Possible values include: 'PcProtocolTCP', 'PcProtocolUDP', 'PcProtocolAny' + Protocol PcProtocol `json:"protocol,omitempty"` + // LocalIPAddress - Local IP Address to be filtered on. Notation: "127.0.0.1" for single address entry. "127.0.0.1-127.0.0.255" for range. "127.0.0.1;127.0.0.5"? for multiple entries. Multiple ranges not currently supported. Mixing ranges with multiple entries not currently supported. Default = null. + LocalIPAddress *string `json:"localIPAddress,omitempty"` + // RemoteIPAddress - Local IP Address to be filtered on. Notation: "127.0.0.1" for single address entry. "127.0.0.1-127.0.0.255" for range. "127.0.0.1;127.0.0.5;" for multiple entries. Multiple ranges not currently supported. Mixing ranges with multiple entries not currently supported. Default = null. + RemoteIPAddress *string `json:"remoteIPAddress,omitempty"` + // LocalPort - Local port to be filtered on. Notation: "80" for single port entry."80-85" for range. "80;443;" for multiple entries. Multiple ranges not currently supported. Mixing ranges with multiple entries not currently supported. Default = null. + LocalPort *string `json:"localPort,omitempty"` + // RemotePort - Remote port to be filtered on. Notation: "80" for single port entry."80-85" for range. "80;443;" for multiple entries. Multiple ranges not currently supported. Mixing ranges with multiple entries not currently supported. Default = null. + RemotePort *string `json:"remotePort,omitempty"` +} + +// PacketCaptureListResult list of packet capture sessions. +type PacketCaptureListResult struct { + autorest.Response `json:"-"` + // Value - Information about packet capture sessions. + Value *[]PacketCaptureResult `json:"value,omitempty"` +} + +// PacketCaptureParameters parameters that define the create packet capture operation. +type PacketCaptureParameters struct { + // Target - The ID of the targeted resource, only VM is currently supported. + Target *string `json:"target,omitempty"` + // BytesToCapturePerPacket - Number of bytes captured per packet, the remaining bytes are truncated. + BytesToCapturePerPacket *int32 `json:"bytesToCapturePerPacket,omitempty"` + // TotalBytesPerSession - Maximum size of the capture output. + TotalBytesPerSession *int32 `json:"totalBytesPerSession,omitempty"` + // TimeLimitInSeconds - Maximum duration of the capture session in seconds. + TimeLimitInSeconds *int32 `json:"timeLimitInSeconds,omitempty"` + // StorageLocation - Describes the storage location for a packet capture session. + StorageLocation *PacketCaptureStorageLocation `json:"storageLocation,omitempty"` + // Filters - A list of packet capture filters. + Filters *[]PacketCaptureFilter `json:"filters,omitempty"` +} + +// PacketCaptureQueryStatusResult status of packet capture session. +type PacketCaptureQueryStatusResult struct { + autorest.Response `json:"-"` + // Name - The name of the packet capture resource. + Name *string `json:"name,omitempty"` + // ID - The ID of the packet capture resource. + ID *string `json:"id,omitempty"` + // CaptureStartTime - The start time of the packet capture session. + CaptureStartTime *date.Time `json:"captureStartTime,omitempty"` + // PacketCaptureStatus - The status of the packet capture session. Possible values include: 'PcStatusNotStarted', 'PcStatusRunning', 'PcStatusStopped', 'PcStatusError', 'PcStatusUnknown' + PacketCaptureStatus PcStatus `json:"packetCaptureStatus,omitempty"` + // StopReason - The reason the current packet capture session was stopped. + StopReason *string `json:"stopReason,omitempty"` + // PacketCaptureError - List of errors of packet capture session. + PacketCaptureError *[]PcError `json:"packetCaptureError,omitempty"` +} + +// PacketCaptureResult information about packet capture session. +type PacketCaptureResult struct { + autorest.Response `json:"-"` + // Name - READ-ONLY; Name of the packet capture session. + Name *string `json:"name,omitempty"` + // ID - READ-ONLY; ID of the packet capture operation. + ID *string `json:"id,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // PacketCaptureResultProperties - Properties of the packet capture result. + *PacketCaptureResultProperties `json:"properties,omitempty"` +} + +// MarshalJSON is the custom marshaler for PacketCaptureResult. +func (pcr PacketCaptureResult) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if pcr.Etag != nil { + objectMap["etag"] = pcr.Etag + } + if pcr.PacketCaptureResultProperties != nil { + objectMap["properties"] = pcr.PacketCaptureResultProperties + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for PacketCaptureResult struct. +func (pcr *PacketCaptureResult) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + pcr.Name = &name + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + pcr.ID = &ID + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + pcr.Etag = &etag + } + case "properties": + if v != nil { + var packetCaptureResultProperties PacketCaptureResultProperties + err = json.Unmarshal(*v, &packetCaptureResultProperties) + if err != nil { + return err + } + pcr.PacketCaptureResultProperties = &packetCaptureResultProperties + } + } + } + + return nil +} + +// PacketCaptureResultProperties describes the properties of a packet capture session. +type PacketCaptureResultProperties struct { + // ProvisioningState - The provisioning state of the packet capture session. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + // Target - The ID of the targeted resource, only VM is currently supported. + Target *string `json:"target,omitempty"` + // BytesToCapturePerPacket - Number of bytes captured per packet, the remaining bytes are truncated. + BytesToCapturePerPacket *int32 `json:"bytesToCapturePerPacket,omitempty"` + // TotalBytesPerSession - Maximum size of the capture output. + TotalBytesPerSession *int32 `json:"totalBytesPerSession,omitempty"` + // TimeLimitInSeconds - Maximum duration of the capture session in seconds. + TimeLimitInSeconds *int32 `json:"timeLimitInSeconds,omitempty"` + // StorageLocation - Describes the storage location for a packet capture session. + StorageLocation *PacketCaptureStorageLocation `json:"storageLocation,omitempty"` + // Filters - A list of packet capture filters. + Filters *[]PacketCaptureFilter `json:"filters,omitempty"` +} + +// PacketCapturesCreateFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type PacketCapturesCreateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *PacketCapturesCreateFuture) Result(client PacketCapturesClient) (pcr PacketCaptureResult, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PacketCapturesCreateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.PacketCapturesCreateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if pcr.Response.Response, err = future.GetResult(sender); err == nil && pcr.Response.Response.StatusCode != http.StatusNoContent { + pcr, err = client.CreateResponder(pcr.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PacketCapturesCreateFuture", "Result", pcr.Response.Response, "Failure responding to request") + } + } + return +} + +// PacketCapturesDeleteFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type PacketCapturesDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *PacketCapturesDeleteFuture) Result(client PacketCapturesClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PacketCapturesDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.PacketCapturesDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// PacketCapturesGetStatusFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type PacketCapturesGetStatusFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *PacketCapturesGetStatusFuture) Result(client PacketCapturesClient) (pcqsr PacketCaptureQueryStatusResult, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PacketCapturesGetStatusFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.PacketCapturesGetStatusFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if pcqsr.Response.Response, err = future.GetResult(sender); err == nil && pcqsr.Response.Response.StatusCode != http.StatusNoContent { + pcqsr, err = client.GetStatusResponder(pcqsr.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PacketCapturesGetStatusFuture", "Result", pcqsr.Response.Response, "Failure responding to request") + } + } + return +} + +// PacketCapturesStopFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type PacketCapturesStopFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *PacketCapturesStopFuture) Result(client PacketCapturesClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PacketCapturesStopFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.PacketCapturesStopFuture") + return + } + ar.Response = future.Response() + return +} + +// PacketCaptureStorageLocation describes the storage location for a packet capture session. +type PacketCaptureStorageLocation struct { + // StorageID - The ID of the storage account to save the packet capture session. Required if no local file path is provided. + StorageID *string `json:"storageId,omitempty"` + // StoragePath - The URI of the storage path to save the packet capture. Must be a well-formed URI describing the location to save the packet capture. + StoragePath *string `json:"storagePath,omitempty"` + // FilePath - A valid local path on the targeting VM. Must include the name of the capture file (*.cap). For linux virtual machine it must start with /var/captures. Required if no storage ID is provided, otherwise optional. + FilePath *string `json:"filePath,omitempty"` +} + +// PatchRouteFilter route Filter Resource. +type PatchRouteFilter struct { + // RouteFilterPropertiesFormat - Properties of the route filter. + *RouteFilterPropertiesFormat `json:"properties,omitempty"` + // Name - READ-ONLY; The name of the resource that is unique within a resource group. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + // Etag - READ-ONLY; A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for PatchRouteFilter. +func (prf PatchRouteFilter) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if prf.RouteFilterPropertiesFormat != nil { + objectMap["properties"] = prf.RouteFilterPropertiesFormat + } + if prf.Tags != nil { + objectMap["tags"] = prf.Tags + } + if prf.ID != nil { + objectMap["id"] = prf.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for PatchRouteFilter struct. +func (prf *PatchRouteFilter) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var routeFilterPropertiesFormat RouteFilterPropertiesFormat + err = json.Unmarshal(*v, &routeFilterPropertiesFormat) + if err != nil { + return err + } + prf.RouteFilterPropertiesFormat = &routeFilterPropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + prf.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + prf.Etag = &etag + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + prf.Type = &typeVar + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + prf.Tags = tags + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + prf.ID = &ID + } + } + } + + return nil +} + +// PatchRouteFilterRule route Filter Rule Resource. +type PatchRouteFilterRule struct { + // RouteFilterRulePropertiesFormat - Properties of the route filter rule. + *RouteFilterRulePropertiesFormat `json:"properties,omitempty"` + // Name - READ-ONLY; The name of the resource that is unique within a resource group. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + // Etag - READ-ONLY; A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for PatchRouteFilterRule. +func (prfr PatchRouteFilterRule) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if prfr.RouteFilterRulePropertiesFormat != nil { + objectMap["properties"] = prfr.RouteFilterRulePropertiesFormat + } + if prfr.ID != nil { + objectMap["id"] = prfr.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for PatchRouteFilterRule struct. +func (prfr *PatchRouteFilterRule) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var routeFilterRulePropertiesFormat RouteFilterRulePropertiesFormat + err = json.Unmarshal(*v, &routeFilterRulePropertiesFormat) + if err != nil { + return err + } + prfr.RouteFilterRulePropertiesFormat = &routeFilterRulePropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + prfr.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + prfr.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + prfr.ID = &ID + } + } + } + + return nil +} + +// PeerExpressRouteCircuitConnection peer Express Route Circuit Connection in an ExpressRouteCircuitPeering +// resource. +type PeerExpressRouteCircuitConnection struct { + autorest.Response `json:"-"` + // PeerExpressRouteCircuitConnectionPropertiesFormat - Properties of the peer express route circuit connection. + *PeerExpressRouteCircuitConnectionPropertiesFormat `json:"properties,omitempty"` + // Name - The name of the resource that is unique within a resource group. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + // Etag - READ-ONLY; A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // Type - READ-ONLY; Type of the resource. + Type *string `json:"type,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for PeerExpressRouteCircuitConnection. +func (percc PeerExpressRouteCircuitConnection) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if percc.PeerExpressRouteCircuitConnectionPropertiesFormat != nil { + objectMap["properties"] = percc.PeerExpressRouteCircuitConnectionPropertiesFormat + } + if percc.Name != nil { + objectMap["name"] = percc.Name + } + if percc.ID != nil { + objectMap["id"] = percc.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for PeerExpressRouteCircuitConnection struct. +func (percc *PeerExpressRouteCircuitConnection) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var peerExpressRouteCircuitConnectionPropertiesFormat PeerExpressRouteCircuitConnectionPropertiesFormat + err = json.Unmarshal(*v, &peerExpressRouteCircuitConnectionPropertiesFormat) + if err != nil { + return err + } + percc.PeerExpressRouteCircuitConnectionPropertiesFormat = &peerExpressRouteCircuitConnectionPropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + percc.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + percc.Etag = &etag + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + percc.Type = &typeVar + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + percc.ID = &ID + } + } + } + + return nil +} + +// PeerExpressRouteCircuitConnectionListResult response for ListPeeredConnections API service call +// retrieves all global reach peer circuit connections that belongs to a Private Peering for an +// ExpressRouteCircuit. +type PeerExpressRouteCircuitConnectionListResult struct { + autorest.Response `json:"-"` + // Value - The global reach peer circuit connection associated with Private Peering in an ExpressRoute Circuit. + Value *[]PeerExpressRouteCircuitConnection `json:"value,omitempty"` + // NextLink - The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// PeerExpressRouteCircuitConnectionListResultIterator provides access to a complete listing of +// PeerExpressRouteCircuitConnection values. +type PeerExpressRouteCircuitConnectionListResultIterator struct { + i int + page PeerExpressRouteCircuitConnectionListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *PeerExpressRouteCircuitConnectionListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PeerExpressRouteCircuitConnectionListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *PeerExpressRouteCircuitConnectionListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter PeerExpressRouteCircuitConnectionListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter PeerExpressRouteCircuitConnectionListResultIterator) Response() PeerExpressRouteCircuitConnectionListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter PeerExpressRouteCircuitConnectionListResultIterator) Value() PeerExpressRouteCircuitConnection { + if !iter.page.NotDone() { + return PeerExpressRouteCircuitConnection{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the PeerExpressRouteCircuitConnectionListResultIterator type. +func NewPeerExpressRouteCircuitConnectionListResultIterator(page PeerExpressRouteCircuitConnectionListResultPage) PeerExpressRouteCircuitConnectionListResultIterator { + return PeerExpressRouteCircuitConnectionListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (percclr PeerExpressRouteCircuitConnectionListResult) IsEmpty() bool { + return percclr.Value == nil || len(*percclr.Value) == 0 +} + +// peerExpressRouteCircuitConnectionListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (percclr PeerExpressRouteCircuitConnectionListResult) peerExpressRouteCircuitConnectionListResultPreparer(ctx context.Context) (*http.Request, error) { + if percclr.NextLink == nil || len(to.String(percclr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(percclr.NextLink))) +} + +// PeerExpressRouteCircuitConnectionListResultPage contains a page of PeerExpressRouteCircuitConnection +// values. +type PeerExpressRouteCircuitConnectionListResultPage struct { + fn func(context.Context, PeerExpressRouteCircuitConnectionListResult) (PeerExpressRouteCircuitConnectionListResult, error) + percclr PeerExpressRouteCircuitConnectionListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *PeerExpressRouteCircuitConnectionListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PeerExpressRouteCircuitConnectionListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.percclr) + if err != nil { + return err + } + page.percclr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *PeerExpressRouteCircuitConnectionListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page PeerExpressRouteCircuitConnectionListResultPage) NotDone() bool { + return !page.percclr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page PeerExpressRouteCircuitConnectionListResultPage) Response() PeerExpressRouteCircuitConnectionListResult { + return page.percclr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page PeerExpressRouteCircuitConnectionListResultPage) Values() []PeerExpressRouteCircuitConnection { + if page.percclr.IsEmpty() { + return nil + } + return *page.percclr.Value +} + +// Creates a new instance of the PeerExpressRouteCircuitConnectionListResultPage type. +func NewPeerExpressRouteCircuitConnectionListResultPage(getNextPage func(context.Context, PeerExpressRouteCircuitConnectionListResult) (PeerExpressRouteCircuitConnectionListResult, error)) PeerExpressRouteCircuitConnectionListResultPage { + return PeerExpressRouteCircuitConnectionListResultPage{fn: getNextPage} +} + +// PeerExpressRouteCircuitConnectionPropertiesFormat properties of the peer express route circuit +// connection. +type PeerExpressRouteCircuitConnectionPropertiesFormat struct { + // ExpressRouteCircuitPeering - Reference to Express Route Circuit Private Peering Resource of the circuit. + ExpressRouteCircuitPeering *SubResource `json:"expressRouteCircuitPeering,omitempty"` + // PeerExpressRouteCircuitPeering - Reference to Express Route Circuit Private Peering Resource of the peered circuit. + PeerExpressRouteCircuitPeering *SubResource `json:"peerExpressRouteCircuitPeering,omitempty"` + // AddressPrefix - /29 IP address space to carve out Customer addresses for tunnels. + AddressPrefix *string `json:"addressPrefix,omitempty"` + // CircuitConnectionStatus - Express Route Circuit connection state. Possible values include: 'Connected', 'Connecting', 'Disconnected' + CircuitConnectionStatus CircuitConnectionStatus `json:"circuitConnectionStatus,omitempty"` + // ConnectionName - The name of the express route circuit connection resource. + ConnectionName *string `json:"connectionName,omitempty"` + // AuthResourceGUID - The resource guid of the authorization used for the express route circuit connection. + AuthResourceGUID *string `json:"authResourceGuid,omitempty"` + // ProvisioningState - READ-ONLY; The provisioning state of the peer express route circuit connection resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// PolicySettings defines contents of a web application firewall global configuration. +type PolicySettings struct { + // State - Describes if the policy is in enabled state or disabled state. Possible values include: 'WebApplicationFirewallEnabledStateDisabled', 'WebApplicationFirewallEnabledStateEnabled' + State WebApplicationFirewallEnabledState `json:"state,omitempty"` + // Mode - Describes if it is in detection mode or prevention mode at policy level. Possible values include: 'WebApplicationFirewallModePrevention', 'WebApplicationFirewallModeDetection' + Mode WebApplicationFirewallMode `json:"mode,omitempty"` + // RequestBodyCheck - Whether to allow WAF to check request Body. + RequestBodyCheck *bool `json:"requestBodyCheck,omitempty"` + // MaxRequestBodySizeInKb - Maximum request body size in Kb for WAF. + MaxRequestBodySizeInKb *int32 `json:"maxRequestBodySizeInKb,omitempty"` + // FileUploadLimitInMb - Maximum file upload size in Mb for WAF. + FileUploadLimitInMb *int32 `json:"fileUploadLimitInMb,omitempty"` +} + +// PrepareNetworkPoliciesRequest details of PrepareNetworkPolicies for Subnet. +type PrepareNetworkPoliciesRequest struct { + // ServiceName - The name of the service for which subnet is being prepared for. + ServiceName *string `json:"serviceName,omitempty"` + // NetworkIntentPolicyConfigurations - A list of NetworkIntentPolicyConfiguration. + NetworkIntentPolicyConfigurations *[]IntentPolicyConfiguration `json:"networkIntentPolicyConfigurations,omitempty"` +} + +// PrivateEndpoint private endpoint resource. +type PrivateEndpoint struct { + autorest.Response `json:"-"` + // PrivateEndpointProperties - Properties of the private endpoint. + *PrivateEndpointProperties `json:"properties,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for PrivateEndpoint. +func (peVar PrivateEndpoint) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if peVar.PrivateEndpointProperties != nil { + objectMap["properties"] = peVar.PrivateEndpointProperties + } + if peVar.Etag != nil { + objectMap["etag"] = peVar.Etag + } + if peVar.ID != nil { + objectMap["id"] = peVar.ID + } + if peVar.Location != nil { + objectMap["location"] = peVar.Location + } + if peVar.Tags != nil { + objectMap["tags"] = peVar.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for PrivateEndpoint struct. +func (peVar *PrivateEndpoint) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var privateEndpointProperties PrivateEndpointProperties + err = json.Unmarshal(*v, &privateEndpointProperties) + if err != nil { + return err + } + peVar.PrivateEndpointProperties = &privateEndpointProperties + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + peVar.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + peVar.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + peVar.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + peVar.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + peVar.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + peVar.Tags = tags + } + } + } + + return nil +} + +// PrivateEndpointConnection privateEndpointConnection resource. +type PrivateEndpointConnection struct { + autorest.Response `json:"-"` + // PrivateEndpointConnectionProperties - Properties of the private end point connection. + *PrivateEndpointConnectionProperties `json:"properties,omitempty"` + // Name - The name of the resource that is unique within a resource group. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; The resource type. + Type *string `json:"type,omitempty"` + // Etag - READ-ONLY; A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for PrivateEndpointConnection. +func (pec PrivateEndpointConnection) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if pec.PrivateEndpointConnectionProperties != nil { + objectMap["properties"] = pec.PrivateEndpointConnectionProperties + } + if pec.Name != nil { + objectMap["name"] = pec.Name + } + if pec.ID != nil { + objectMap["id"] = pec.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for PrivateEndpointConnection struct. +func (pec *PrivateEndpointConnection) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var privateEndpointConnectionProperties PrivateEndpointConnectionProperties + err = json.Unmarshal(*v, &privateEndpointConnectionProperties) + if err != nil { + return err + } + pec.PrivateEndpointConnectionProperties = &privateEndpointConnectionProperties + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + pec.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + pec.Type = &typeVar + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + pec.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + pec.ID = &ID + } + } + } + + return nil +} + +// PrivateEndpointConnectionProperties properties of the PrivateEndpointConnectProperties. +type PrivateEndpointConnectionProperties struct { + // PrivateEndpoint - The resource of private end point. + PrivateEndpoint *PrivateEndpoint `json:"privateEndpoint,omitempty"` + // PrivateLinkServiceConnectionState - A collection of information about the state of the connection between service consumer and provider. + PrivateLinkServiceConnectionState *PrivateLinkServiceConnectionState `json:"privateLinkServiceConnectionState,omitempty"` + // ProvisioningState - The provisioning state of the private endpoint connection resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// PrivateEndpointListResult response for the ListPrivateEndpoints API service call. +type PrivateEndpointListResult struct { + autorest.Response `json:"-"` + // Value - A list of private endpoint resources in a resource group. + Value *[]PrivateEndpoint `json:"value,omitempty"` + // NextLink - READ-ONLY; The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// PrivateEndpointListResultIterator provides access to a complete listing of PrivateEndpoint values. +type PrivateEndpointListResultIterator struct { + i int + page PrivateEndpointListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *PrivateEndpointListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PrivateEndpointListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *PrivateEndpointListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter PrivateEndpointListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter PrivateEndpointListResultIterator) Response() PrivateEndpointListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter PrivateEndpointListResultIterator) Value() PrivateEndpoint { + if !iter.page.NotDone() { + return PrivateEndpoint{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the PrivateEndpointListResultIterator type. +func NewPrivateEndpointListResultIterator(page PrivateEndpointListResultPage) PrivateEndpointListResultIterator { + return PrivateEndpointListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (pelr PrivateEndpointListResult) IsEmpty() bool { + return pelr.Value == nil || len(*pelr.Value) == 0 +} + +// privateEndpointListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (pelr PrivateEndpointListResult) privateEndpointListResultPreparer(ctx context.Context) (*http.Request, error) { + if pelr.NextLink == nil || len(to.String(pelr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(pelr.NextLink))) +} + +// PrivateEndpointListResultPage contains a page of PrivateEndpoint values. +type PrivateEndpointListResultPage struct { + fn func(context.Context, PrivateEndpointListResult) (PrivateEndpointListResult, error) + pelr PrivateEndpointListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *PrivateEndpointListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PrivateEndpointListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.pelr) + if err != nil { + return err + } + page.pelr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *PrivateEndpointListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page PrivateEndpointListResultPage) NotDone() bool { + return !page.pelr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page PrivateEndpointListResultPage) Response() PrivateEndpointListResult { + return page.pelr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page PrivateEndpointListResultPage) Values() []PrivateEndpoint { + if page.pelr.IsEmpty() { + return nil + } + return *page.pelr.Value +} + +// Creates a new instance of the PrivateEndpointListResultPage type. +func NewPrivateEndpointListResultPage(getNextPage func(context.Context, PrivateEndpointListResult) (PrivateEndpointListResult, error)) PrivateEndpointListResultPage { + return PrivateEndpointListResultPage{fn: getNextPage} +} + +// PrivateEndpointProperties properties of the private endpoint. +type PrivateEndpointProperties struct { + // Subnet - The ID of the subnet from which the private IP will be allocated. + Subnet *Subnet `json:"subnet,omitempty"` + // NetworkInterfaces - READ-ONLY; An array of references to the network interfaces created for this private endpoint. + NetworkInterfaces *[]Interface `json:"networkInterfaces,omitempty"` + // ProvisioningState - The provisioning state of the private endpoint resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + // PrivateLinkServiceConnections - A grouping of information about the connection to the remote resource. + PrivateLinkServiceConnections *[]PrivateLinkServiceConnection `json:"privateLinkServiceConnections,omitempty"` + // ManualPrivateLinkServiceConnections - A grouping of information about the connection to the remote resource. Used when the network admin does not have access to approve connections to the remote resource. + ManualPrivateLinkServiceConnections *[]PrivateLinkServiceConnection `json:"manualPrivateLinkServiceConnections,omitempty"` +} + +// PrivateEndpointsCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type PrivateEndpointsCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *PrivateEndpointsCreateOrUpdateFuture) Result(client PrivateEndpointsClient) (peVar PrivateEndpoint, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PrivateEndpointsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.PrivateEndpointsCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if peVar.Response.Response, err = future.GetResult(sender); err == nil && peVar.Response.Response.StatusCode != http.StatusNoContent { + peVar, err = client.CreateOrUpdateResponder(peVar.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PrivateEndpointsCreateOrUpdateFuture", "Result", peVar.Response.Response, "Failure responding to request") + } + } + return +} + +// PrivateEndpointsDeleteFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type PrivateEndpointsDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *PrivateEndpointsDeleteFuture) Result(client PrivateEndpointsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PrivateEndpointsDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.PrivateEndpointsDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// PrivateLinkService private link service resource. +type PrivateLinkService struct { + autorest.Response `json:"-"` + // PrivateLinkServiceProperties - Properties of the private link service. + *PrivateLinkServiceProperties `json:"properties,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for PrivateLinkService. +func (pls PrivateLinkService) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if pls.PrivateLinkServiceProperties != nil { + objectMap["properties"] = pls.PrivateLinkServiceProperties + } + if pls.Etag != nil { + objectMap["etag"] = pls.Etag + } + if pls.ID != nil { + objectMap["id"] = pls.ID + } + if pls.Location != nil { + objectMap["location"] = pls.Location + } + if pls.Tags != nil { + objectMap["tags"] = pls.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for PrivateLinkService struct. +func (pls *PrivateLinkService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var privateLinkServiceProperties PrivateLinkServiceProperties + err = json.Unmarshal(*v, &privateLinkServiceProperties) + if err != nil { + return err + } + pls.PrivateLinkServiceProperties = &privateLinkServiceProperties + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + pls.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + pls.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + pls.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + pls.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + pls.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + pls.Tags = tags + } + } + } + + return nil +} + +// PrivateLinkServiceConnection privateLinkServiceConnection resource. +type PrivateLinkServiceConnection struct { + // PrivateLinkServiceConnectionProperties - Properties of the private link service connection. + *PrivateLinkServiceConnectionProperties `json:"properties,omitempty"` + // Name - The name of the resource that is unique within a resource group. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; The resource type. + Type *string `json:"type,omitempty"` + // Etag - READ-ONLY; A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for PrivateLinkServiceConnection. +func (plsc PrivateLinkServiceConnection) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if plsc.PrivateLinkServiceConnectionProperties != nil { + objectMap["properties"] = plsc.PrivateLinkServiceConnectionProperties + } + if plsc.Name != nil { + objectMap["name"] = plsc.Name + } + if plsc.ID != nil { + objectMap["id"] = plsc.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for PrivateLinkServiceConnection struct. +func (plsc *PrivateLinkServiceConnection) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var privateLinkServiceConnectionProperties PrivateLinkServiceConnectionProperties + err = json.Unmarshal(*v, &privateLinkServiceConnectionProperties) + if err != nil { + return err + } + plsc.PrivateLinkServiceConnectionProperties = &privateLinkServiceConnectionProperties + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + plsc.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + plsc.Type = &typeVar + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + plsc.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + plsc.ID = &ID + } + } + } + + return nil +} + +// PrivateLinkServiceConnectionProperties properties of the PrivateLinkServiceConnection. +type PrivateLinkServiceConnectionProperties struct { + // ProvisioningState - The provisioning state of the private link service connection resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + // PrivateLinkServiceID - The resource id of private link service. + PrivateLinkServiceID *string `json:"privateLinkServiceId,omitempty"` + // GroupIds - The ID(s) of the group(s) obtained from the remote resource that this private endpoint should connect to. + GroupIds *[]string `json:"groupIds,omitempty"` + // RequestMessage - A message passed to the owner of the remote resource with this connection request. Restricted to 140 chars. + RequestMessage *string `json:"requestMessage,omitempty"` + // PrivateLinkServiceConnectionState - A collection of read-only information about the state of the connection to the remote resource. + PrivateLinkServiceConnectionState *PrivateLinkServiceConnectionState `json:"privateLinkServiceConnectionState,omitempty"` +} + +// PrivateLinkServiceConnectionState a collection of information about the state of the connection between +// service consumer and provider. +type PrivateLinkServiceConnectionState struct { + // Status - Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service. + Status *string `json:"status,omitempty"` + // Description - The reason for approval/rejection of the connection. + Description *string `json:"description,omitempty"` + // ActionRequired - A message indicating if changes on the service provider require any updates on the consumer. + ActionRequired *string `json:"actionRequired,omitempty"` +} + +// PrivateLinkServiceIPConfiguration the private link service ip configuration. +type PrivateLinkServiceIPConfiguration struct { + // PrivateLinkServiceIPConfigurationProperties - Properties of the private link service ip configuration. + *PrivateLinkServiceIPConfigurationProperties `json:"properties,omitempty"` + // Name - The name of private link service ip configuration. + Name *string `json:"name,omitempty"` + // Etag - READ-ONLY; A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // Type - READ-ONLY; The resource type. + Type *string `json:"type,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for PrivateLinkServiceIPConfiguration. +func (plsic PrivateLinkServiceIPConfiguration) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if plsic.PrivateLinkServiceIPConfigurationProperties != nil { + objectMap["properties"] = plsic.PrivateLinkServiceIPConfigurationProperties + } + if plsic.Name != nil { + objectMap["name"] = plsic.Name + } + if plsic.ID != nil { + objectMap["id"] = plsic.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for PrivateLinkServiceIPConfiguration struct. +func (plsic *PrivateLinkServiceIPConfiguration) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var privateLinkServiceIPConfigurationProperties PrivateLinkServiceIPConfigurationProperties + err = json.Unmarshal(*v, &privateLinkServiceIPConfigurationProperties) + if err != nil { + return err + } + plsic.PrivateLinkServiceIPConfigurationProperties = &privateLinkServiceIPConfigurationProperties + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + plsic.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + plsic.Etag = &etag + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + plsic.Type = &typeVar + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + plsic.ID = &ID + } + } + } + + return nil +} + +// PrivateLinkServiceIPConfigurationProperties properties of private link service IP configuration. +type PrivateLinkServiceIPConfigurationProperties struct { + // PrivateIPAddress - The private IP address of the IP configuration. + PrivateIPAddress *string `json:"privateIPAddress,omitempty"` + // PrivateIPAllocationMethod - The private IP address allocation method. Possible values include: 'Static', 'Dynamic' + PrivateIPAllocationMethod IPAllocationMethod `json:"privateIPAllocationMethod,omitempty"` + // Subnet - The reference to the subnet resource. + Subnet *Subnet `json:"subnet,omitempty"` + // Primary - Whether the ip configuration is primary or not. + Primary *bool `json:"primary,omitempty"` + // ProvisioningState - The provisioning state of the private link service IP configuration resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + // PrivateIPAddressVersion - Whether the specific IP configuration is IPv4 or IPv6. Default is IPv4. Possible values include: 'IPv4', 'IPv6' + PrivateIPAddressVersion IPVersion `json:"privateIPAddressVersion,omitempty"` +} + +// PrivateLinkServiceListResult response for the ListPrivateLinkService API service call. +type PrivateLinkServiceListResult struct { + autorest.Response `json:"-"` + // Value - A list of PrivateLinkService resources in a resource group. + Value *[]PrivateLinkService `json:"value,omitempty"` + // NextLink - READ-ONLY; The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// PrivateLinkServiceListResultIterator provides access to a complete listing of PrivateLinkService values. +type PrivateLinkServiceListResultIterator struct { + i int + page PrivateLinkServiceListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *PrivateLinkServiceListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PrivateLinkServiceListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *PrivateLinkServiceListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter PrivateLinkServiceListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter PrivateLinkServiceListResultIterator) Response() PrivateLinkServiceListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter PrivateLinkServiceListResultIterator) Value() PrivateLinkService { + if !iter.page.NotDone() { + return PrivateLinkService{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the PrivateLinkServiceListResultIterator type. +func NewPrivateLinkServiceListResultIterator(page PrivateLinkServiceListResultPage) PrivateLinkServiceListResultIterator { + return PrivateLinkServiceListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (plslr PrivateLinkServiceListResult) IsEmpty() bool { + return plslr.Value == nil || len(*plslr.Value) == 0 +} + +// privateLinkServiceListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (plslr PrivateLinkServiceListResult) privateLinkServiceListResultPreparer(ctx context.Context) (*http.Request, error) { + if plslr.NextLink == nil || len(to.String(plslr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(plslr.NextLink))) +} + +// PrivateLinkServiceListResultPage contains a page of PrivateLinkService values. +type PrivateLinkServiceListResultPage struct { + fn func(context.Context, PrivateLinkServiceListResult) (PrivateLinkServiceListResult, error) + plslr PrivateLinkServiceListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *PrivateLinkServiceListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PrivateLinkServiceListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.plslr) + if err != nil { + return err + } + page.plslr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *PrivateLinkServiceListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page PrivateLinkServiceListResultPage) NotDone() bool { + return !page.plslr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page PrivateLinkServiceListResultPage) Response() PrivateLinkServiceListResult { + return page.plslr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page PrivateLinkServiceListResultPage) Values() []PrivateLinkService { + if page.plslr.IsEmpty() { + return nil + } + return *page.plslr.Value +} + +// Creates a new instance of the PrivateLinkServiceListResultPage type. +func NewPrivateLinkServiceListResultPage(getNextPage func(context.Context, PrivateLinkServiceListResult) (PrivateLinkServiceListResult, error)) PrivateLinkServiceListResultPage { + return PrivateLinkServiceListResultPage{fn: getNextPage} +} + +// PrivateLinkServiceProperties properties of the private link service. +type PrivateLinkServiceProperties struct { + // LoadBalancerFrontendIPConfigurations - An array of references to the load balancer IP configurations. + LoadBalancerFrontendIPConfigurations *[]FrontendIPConfiguration `json:"loadBalancerFrontendIpConfigurations,omitempty"` + // IPConfigurations - An array of private link service IP configurations. + IPConfigurations *[]PrivateLinkServiceIPConfiguration `json:"ipConfigurations,omitempty"` + // NetworkInterfaces - READ-ONLY; An array of references to the network interfaces created for this private link service. + NetworkInterfaces *[]Interface `json:"networkInterfaces,omitempty"` + // ProvisioningState - The provisioning state of the private link service resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + // PrivateEndpointConnections - An array of list about connections to the private endpoint. + PrivateEndpointConnections *[]PrivateEndpointConnection `json:"privateEndpointConnections,omitempty"` + // Visibility - The visibility list of the private link service. + Visibility *PrivateLinkServicePropertiesVisibility `json:"visibility,omitempty"` + // AutoApproval - The auto-approval list of the private link service. + AutoApproval *PrivateLinkServicePropertiesAutoApproval `json:"autoApproval,omitempty"` + // Fqdns - The list of Fqdn. + Fqdns *[]string `json:"fqdns,omitempty"` + // Alias - READ-ONLY; The alias of the private link service. + Alias *string `json:"alias,omitempty"` +} + +// PrivateLinkServicePropertiesAutoApproval the auto-approval list of the private link service. +type PrivateLinkServicePropertiesAutoApproval struct { + // Subscriptions - The list of subscriptions. + Subscriptions *[]string `json:"subscriptions,omitempty"` +} + +// PrivateLinkServicePropertiesVisibility the visibility list of the private link service. +type PrivateLinkServicePropertiesVisibility struct { + // Subscriptions - The list of subscriptions. + Subscriptions *[]string `json:"subscriptions,omitempty"` +} + +// PrivateLinkServicesCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type PrivateLinkServicesCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *PrivateLinkServicesCreateOrUpdateFuture) Result(client PrivateLinkServicesClient) (pls PrivateLinkService, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PrivateLinkServicesCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.PrivateLinkServicesCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if pls.Response.Response, err = future.GetResult(sender); err == nil && pls.Response.Response.StatusCode != http.StatusNoContent { + pls, err = client.CreateOrUpdateResponder(pls.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PrivateLinkServicesCreateOrUpdateFuture", "Result", pls.Response.Response, "Failure responding to request") + } + } + return +} + +// PrivateLinkServicesDeleteFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type PrivateLinkServicesDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *PrivateLinkServicesDeleteFuture) Result(client PrivateLinkServicesClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PrivateLinkServicesDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.PrivateLinkServicesDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// PrivateLinkServicesDeletePrivateEndpointConnectionFuture an abstraction for monitoring and retrieving +// the results of a long-running operation. +type PrivateLinkServicesDeletePrivateEndpointConnectionFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *PrivateLinkServicesDeletePrivateEndpointConnectionFuture) Result(client PrivateLinkServicesClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PrivateLinkServicesDeletePrivateEndpointConnectionFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.PrivateLinkServicesDeletePrivateEndpointConnectionFuture") + return + } + ar.Response = future.Response() + return +} + +// PrivateLinkServiceVisibility response for the CheckPrivateLinkServiceVisibility API service call. +type PrivateLinkServiceVisibility struct { + autorest.Response `json:"-"` + // Visible - Private Link Service Visibility (True/False). + Visible *bool `json:"visible,omitempty"` +} + +// Probe a load balancer probe. +type Probe struct { + autorest.Response `json:"-"` + // ProbePropertiesFormat - Properties of load balancer probe. + *ProbePropertiesFormat `json:"properties,omitempty"` + // Name - The name of the resource that is unique within the set of probes used by the load balancer. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // Type - READ-ONLY; Type of the resource. + Type *string `json:"type,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for Probe. +func (p Probe) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if p.ProbePropertiesFormat != nil { + objectMap["properties"] = p.ProbePropertiesFormat + } + if p.Name != nil { + objectMap["name"] = p.Name + } + if p.Etag != nil { + objectMap["etag"] = p.Etag + } + if p.ID != nil { + objectMap["id"] = p.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for Probe struct. +func (p *Probe) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var probePropertiesFormat ProbePropertiesFormat + err = json.Unmarshal(*v, &probePropertiesFormat) + if err != nil { + return err + } + p.ProbePropertiesFormat = &probePropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + p.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + p.Etag = &etag + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + p.Type = &typeVar + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + p.ID = &ID + } + } + } + + return nil +} + +// ProbePropertiesFormat load balancer probe resource. +type ProbePropertiesFormat struct { + // LoadBalancingRules - READ-ONLY; The load balancer rules that use this probe. + LoadBalancingRules *[]SubResource `json:"loadBalancingRules,omitempty"` + // Protocol - The protocol of the end point. If 'Tcp' is specified, a received ACK is required for the probe to be successful. If 'Http' or 'Https' is specified, a 200 OK response from the specifies URI is required for the probe to be successful. Possible values include: 'ProbeProtocolHTTP', 'ProbeProtocolTCP', 'ProbeProtocolHTTPS' + Protocol ProbeProtocol `json:"protocol,omitempty"` + // Port - The port for communicating the probe. Possible values range from 1 to 65535, inclusive. + Port *int32 `json:"port,omitempty"` + // IntervalInSeconds - The interval, in seconds, for how frequently to probe the endpoint for health status. Typically, the interval is slightly less than half the allocated timeout period (in seconds) which allows two full probes before taking the instance out of rotation. The default value is 15, the minimum value is 5. + IntervalInSeconds *int32 `json:"intervalInSeconds,omitempty"` + // NumberOfProbes - The number of probes where if no response, will result in stopping further traffic from being delivered to the endpoint. This values allows endpoints to be taken out of rotation faster or slower than the typical times used in Azure. + NumberOfProbes *int32 `json:"numberOfProbes,omitempty"` + // RequestPath - The URI used for requesting health status from the VM. Path is required if a protocol is set to http. Otherwise, it is not allowed. There is no default value. + RequestPath *string `json:"requestPath,omitempty"` + // ProvisioningState - The provisioning state of the probe resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// Profile network profile resource. +type Profile struct { + autorest.Response `json:"-"` + // ProfilePropertiesFormat - Network profile properties. + *ProfilePropertiesFormat `json:"properties,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for Profile. +func (p Profile) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if p.ProfilePropertiesFormat != nil { + objectMap["properties"] = p.ProfilePropertiesFormat + } + if p.Etag != nil { + objectMap["etag"] = p.Etag + } + if p.ID != nil { + objectMap["id"] = p.ID + } + if p.Location != nil { + objectMap["location"] = p.Location + } + if p.Tags != nil { + objectMap["tags"] = p.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for Profile struct. +func (p *Profile) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var profilePropertiesFormat ProfilePropertiesFormat + err = json.Unmarshal(*v, &profilePropertiesFormat) + if err != nil { + return err + } + p.ProfilePropertiesFormat = &profilePropertiesFormat + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + p.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + p.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + p.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + p.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + p.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + p.Tags = tags + } + } + } + + return nil +} + +// ProfileListResult response for ListNetworkProfiles API service call. +type ProfileListResult struct { + autorest.Response `json:"-"` + // Value - A list of network profiles that exist in a resource group. + Value *[]Profile `json:"value,omitempty"` + // NextLink - The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// ProfileListResultIterator provides access to a complete listing of Profile values. +type ProfileListResultIterator struct { + i int + page ProfileListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *ProfileListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ProfileListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *ProfileListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter ProfileListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter ProfileListResultIterator) Response() ProfileListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter ProfileListResultIterator) Value() Profile { + if !iter.page.NotDone() { + return Profile{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the ProfileListResultIterator type. +func NewProfileListResultIterator(page ProfileListResultPage) ProfileListResultIterator { + return ProfileListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (plr ProfileListResult) IsEmpty() bool { + return plr.Value == nil || len(*plr.Value) == 0 +} + +// profileListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (plr ProfileListResult) profileListResultPreparer(ctx context.Context) (*http.Request, error) { + if plr.NextLink == nil || len(to.String(plr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(plr.NextLink))) +} + +// ProfileListResultPage contains a page of Profile values. +type ProfileListResultPage struct { + fn func(context.Context, ProfileListResult) (ProfileListResult, error) + plr ProfileListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *ProfileListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ProfileListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.plr) + if err != nil { + return err + } + page.plr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *ProfileListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page ProfileListResultPage) NotDone() bool { + return !page.plr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page ProfileListResultPage) Response() ProfileListResult { + return page.plr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page ProfileListResultPage) Values() []Profile { + if page.plr.IsEmpty() { + return nil + } + return *page.plr.Value +} + +// Creates a new instance of the ProfileListResultPage type. +func NewProfileListResultPage(getNextPage func(context.Context, ProfileListResult) (ProfileListResult, error)) ProfileListResultPage { + return ProfileListResultPage{fn: getNextPage} +} + +// ProfilePropertiesFormat network profile properties. +type ProfilePropertiesFormat struct { + // ContainerNetworkInterfaces - List of child container network interfaces. + ContainerNetworkInterfaces *[]ContainerNetworkInterface `json:"containerNetworkInterfaces,omitempty"` + // ContainerNetworkInterfaceConfigurations - List of chid container network interface configurations. + ContainerNetworkInterfaceConfigurations *[]ContainerNetworkInterfaceConfiguration `json:"containerNetworkInterfaceConfigurations,omitempty"` + // ResourceGUID - READ-ONLY; The resource GUID property of the network profile resource. + ResourceGUID *string `json:"resourceGuid,omitempty"` + // ProvisioningState - READ-ONLY; The provisioning state of the network profile resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// ProfilesDeleteFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type ProfilesDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ProfilesDeleteFuture) Result(client ProfilesClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ProfilesDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.ProfilesDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// ProtocolConfiguration configuration of the protocol. +type ProtocolConfiguration struct { + // HTTPConfiguration - HTTP configuration of the connectivity check. + HTTPConfiguration *HTTPConfiguration `json:"HTTPConfiguration,omitempty"` +} + +// ProtocolCustomSettingsFormat dDoS custom policy properties. +type ProtocolCustomSettingsFormat struct { + // Protocol - The protocol for which the DDoS protection policy is being customized. Possible values include: 'DdosCustomPolicyProtocolTCP', 'DdosCustomPolicyProtocolUDP', 'DdosCustomPolicyProtocolSyn' + Protocol DdosCustomPolicyProtocol `json:"protocol,omitempty"` + // TriggerRateOverride - The customized DDoS protection trigger rate. + TriggerRateOverride *string `json:"triggerRateOverride,omitempty"` + // SourceRateOverride - The customized DDoS protection source rate. + SourceRateOverride *string `json:"sourceRateOverride,omitempty"` + // TriggerSensitivityOverride - The customized DDoS protection trigger rate sensitivity degrees. High: Trigger rate set with most sensitivity w.r.t. normal traffic. Default: Trigger rate set with moderate sensitivity w.r.t. normal traffic. Low: Trigger rate set with less sensitivity w.r.t. normal traffic. Relaxed: Trigger rate set with least sensitivity w.r.t. normal traffic. Possible values include: 'Relaxed', 'Low', 'Default', 'High' + TriggerSensitivityOverride DdosCustomPolicyTriggerSensitivityOverride `json:"triggerSensitivityOverride,omitempty"` +} + +// PublicIPAddress public IP address resource. +type PublicIPAddress struct { + autorest.Response `json:"-"` + // Sku - The public IP address SKU. + Sku *PublicIPAddressSku `json:"sku,omitempty"` + // PublicIPAddressPropertiesFormat - Public IP address properties. + *PublicIPAddressPropertiesFormat `json:"properties,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // Zones - A list of availability zones denoting the IP allocated for the resource needs to come from. + Zones *[]string `json:"zones,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for PublicIPAddress. +func (pia PublicIPAddress) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if pia.Sku != nil { + objectMap["sku"] = pia.Sku + } + if pia.PublicIPAddressPropertiesFormat != nil { + objectMap["properties"] = pia.PublicIPAddressPropertiesFormat + } + if pia.Etag != nil { + objectMap["etag"] = pia.Etag + } + if pia.Zones != nil { + objectMap["zones"] = pia.Zones + } + if pia.ID != nil { + objectMap["id"] = pia.ID + } + if pia.Location != nil { + objectMap["location"] = pia.Location + } + if pia.Tags != nil { + objectMap["tags"] = pia.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for PublicIPAddress struct. +func (pia *PublicIPAddress) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "sku": + if v != nil { + var sku PublicIPAddressSku + err = json.Unmarshal(*v, &sku) + if err != nil { + return err + } + pia.Sku = &sku + } + case "properties": + if v != nil { + var publicIPAddressPropertiesFormat PublicIPAddressPropertiesFormat + err = json.Unmarshal(*v, &publicIPAddressPropertiesFormat) + if err != nil { + return err + } + pia.PublicIPAddressPropertiesFormat = &publicIPAddressPropertiesFormat + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + pia.Etag = &etag + } + case "zones": + if v != nil { + var zones []string + err = json.Unmarshal(*v, &zones) + if err != nil { + return err + } + pia.Zones = &zones + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + pia.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + pia.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + pia.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + pia.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + pia.Tags = tags + } + } + } + + return nil +} + +// PublicIPAddressDNSSettings contains FQDN of the DNS record associated with the public IP address. +type PublicIPAddressDNSSettings struct { + // DomainNameLabel - The domain name label. The concatenation of the domain name label and the regionalized DNS zone make up the fully qualified domain name associated with the public IP address. If a domain name label is specified, an A DNS record is created for the public IP in the Microsoft Azure DNS system. + DomainNameLabel *string `json:"domainNameLabel,omitempty"` + // Fqdn - The Fully Qualified Domain Name of the A DNS record associated with the public IP. This is the concatenation of the domainNameLabel and the regionalized DNS zone. + Fqdn *string `json:"fqdn,omitempty"` + // ReverseFqdn - The reverse FQDN. A user-visible, fully qualified domain name that resolves to this public IP address. If the reverseFqdn is specified, then a PTR DNS record is created pointing from the IP address in the in-addr.arpa domain to the reverse FQDN. + ReverseFqdn *string `json:"reverseFqdn,omitempty"` +} + +// PublicIPAddressesCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type PublicIPAddressesCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *PublicIPAddressesCreateOrUpdateFuture) Result(client PublicIPAddressesClient) (pia PublicIPAddress, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PublicIPAddressesCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.PublicIPAddressesCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if pia.Response.Response, err = future.GetResult(sender); err == nil && pia.Response.Response.StatusCode != http.StatusNoContent { + pia, err = client.CreateOrUpdateResponder(pia.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PublicIPAddressesCreateOrUpdateFuture", "Result", pia.Response.Response, "Failure responding to request") + } + } + return +} + +// PublicIPAddressesDeleteFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type PublicIPAddressesDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *PublicIPAddressesDeleteFuture) Result(client PublicIPAddressesClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PublicIPAddressesDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.PublicIPAddressesDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// PublicIPAddressesUpdateTagsFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type PublicIPAddressesUpdateTagsFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *PublicIPAddressesUpdateTagsFuture) Result(client PublicIPAddressesClient) (pia PublicIPAddress, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PublicIPAddressesUpdateTagsFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.PublicIPAddressesUpdateTagsFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if pia.Response.Response, err = future.GetResult(sender); err == nil && pia.Response.Response.StatusCode != http.StatusNoContent { + pia, err = client.UpdateTagsResponder(pia.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PublicIPAddressesUpdateTagsFuture", "Result", pia.Response.Response, "Failure responding to request") + } + } + return +} + +// PublicIPAddressListResult response for ListPublicIpAddresses API service call. +type PublicIPAddressListResult struct { + autorest.Response `json:"-"` + // Value - A list of public IP addresses that exists in a resource group. + Value *[]PublicIPAddress `json:"value,omitempty"` + // NextLink - The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// PublicIPAddressListResultIterator provides access to a complete listing of PublicIPAddress values. +type PublicIPAddressListResultIterator struct { + i int + page PublicIPAddressListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *PublicIPAddressListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PublicIPAddressListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *PublicIPAddressListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter PublicIPAddressListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter PublicIPAddressListResultIterator) Response() PublicIPAddressListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter PublicIPAddressListResultIterator) Value() PublicIPAddress { + if !iter.page.NotDone() { + return PublicIPAddress{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the PublicIPAddressListResultIterator type. +func NewPublicIPAddressListResultIterator(page PublicIPAddressListResultPage) PublicIPAddressListResultIterator { + return PublicIPAddressListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (pialr PublicIPAddressListResult) IsEmpty() bool { + return pialr.Value == nil || len(*pialr.Value) == 0 +} + +// publicIPAddressListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (pialr PublicIPAddressListResult) publicIPAddressListResultPreparer(ctx context.Context) (*http.Request, error) { + if pialr.NextLink == nil || len(to.String(pialr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(pialr.NextLink))) +} + +// PublicIPAddressListResultPage contains a page of PublicIPAddress values. +type PublicIPAddressListResultPage struct { + fn func(context.Context, PublicIPAddressListResult) (PublicIPAddressListResult, error) + pialr PublicIPAddressListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *PublicIPAddressListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PublicIPAddressListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.pialr) + if err != nil { + return err + } + page.pialr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *PublicIPAddressListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page PublicIPAddressListResultPage) NotDone() bool { + return !page.pialr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page PublicIPAddressListResultPage) Response() PublicIPAddressListResult { + return page.pialr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page PublicIPAddressListResultPage) Values() []PublicIPAddress { + if page.pialr.IsEmpty() { + return nil + } + return *page.pialr.Value +} + +// Creates a new instance of the PublicIPAddressListResultPage type. +func NewPublicIPAddressListResultPage(getNextPage func(context.Context, PublicIPAddressListResult) (PublicIPAddressListResult, error)) PublicIPAddressListResultPage { + return PublicIPAddressListResultPage{fn: getNextPage} +} + +// PublicIPAddressPropertiesFormat public IP address properties. +type PublicIPAddressPropertiesFormat struct { + // PublicIPAllocationMethod - The public IP address allocation method. Possible values include: 'Static', 'Dynamic' + PublicIPAllocationMethod IPAllocationMethod `json:"publicIPAllocationMethod,omitempty"` + // PublicIPAddressVersion - The public IP address version. Possible values include: 'IPv4', 'IPv6' + PublicIPAddressVersion IPVersion `json:"publicIPAddressVersion,omitempty"` + // IPConfiguration - READ-ONLY; The IP configuration associated with the public IP address. + IPConfiguration *IPConfiguration `json:"ipConfiguration,omitempty"` + // DNSSettings - The FQDN of the DNS record associated with the public IP address. + DNSSettings *PublicIPAddressDNSSettings `json:"dnsSettings,omitempty"` + // DdosSettings - The DDoS protection custom policy associated with the public IP address. + DdosSettings *DdosSettings `json:"ddosSettings,omitempty"` + // IPTags - The list of tags associated with the public IP address. + IPTags *[]IPTag `json:"ipTags,omitempty"` + // IPAddress - The IP address associated with the public IP address resource. + IPAddress *string `json:"ipAddress,omitempty"` + // PublicIPPrefix - The Public IP Prefix this Public IP Address should be allocated from. + PublicIPPrefix *SubResource `json:"publicIPPrefix,omitempty"` + // IdleTimeoutInMinutes - The idle timeout of the public IP address. + IdleTimeoutInMinutes *int32 `json:"idleTimeoutInMinutes,omitempty"` + // ResourceGUID - The resource GUID property of the public IP address resource. + ResourceGUID *string `json:"resourceGuid,omitempty"` + // ProvisioningState - The provisioning state of the public IP address resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// PublicIPAddressSku SKU of a public IP address. +type PublicIPAddressSku struct { + // Name - Name of a public IP address SKU. Possible values include: 'PublicIPAddressSkuNameBasic', 'PublicIPAddressSkuNameStandard' + Name PublicIPAddressSkuName `json:"name,omitempty"` +} + +// PublicIPPrefix public IP prefix resource. +type PublicIPPrefix struct { + autorest.Response `json:"-"` + // Sku - The public IP prefix SKU. + Sku *PublicIPPrefixSku `json:"sku,omitempty"` + // PublicIPPrefixPropertiesFormat - Public IP prefix properties. + *PublicIPPrefixPropertiesFormat `json:"properties,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // Zones - A list of availability zones denoting the IP allocated for the resource needs to come from. + Zones *[]string `json:"zones,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for PublicIPPrefix. +func (pip PublicIPPrefix) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if pip.Sku != nil { + objectMap["sku"] = pip.Sku + } + if pip.PublicIPPrefixPropertiesFormat != nil { + objectMap["properties"] = pip.PublicIPPrefixPropertiesFormat + } + if pip.Etag != nil { + objectMap["etag"] = pip.Etag + } + if pip.Zones != nil { + objectMap["zones"] = pip.Zones + } + if pip.ID != nil { + objectMap["id"] = pip.ID + } + if pip.Location != nil { + objectMap["location"] = pip.Location + } + if pip.Tags != nil { + objectMap["tags"] = pip.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for PublicIPPrefix struct. +func (pip *PublicIPPrefix) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "sku": + if v != nil { + var sku PublicIPPrefixSku + err = json.Unmarshal(*v, &sku) + if err != nil { + return err + } + pip.Sku = &sku + } + case "properties": + if v != nil { + var publicIPPrefixPropertiesFormat PublicIPPrefixPropertiesFormat + err = json.Unmarshal(*v, &publicIPPrefixPropertiesFormat) + if err != nil { + return err + } + pip.PublicIPPrefixPropertiesFormat = &publicIPPrefixPropertiesFormat + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + pip.Etag = &etag + } + case "zones": + if v != nil { + var zones []string + err = json.Unmarshal(*v, &zones) + if err != nil { + return err + } + pip.Zones = &zones + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + pip.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + pip.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + pip.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + pip.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + pip.Tags = tags + } + } + } + + return nil +} + +// PublicIPPrefixesCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type PublicIPPrefixesCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *PublicIPPrefixesCreateOrUpdateFuture) Result(client PublicIPPrefixesClient) (pip PublicIPPrefix, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PublicIPPrefixesCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.PublicIPPrefixesCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if pip.Response.Response, err = future.GetResult(sender); err == nil && pip.Response.Response.StatusCode != http.StatusNoContent { + pip, err = client.CreateOrUpdateResponder(pip.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PublicIPPrefixesCreateOrUpdateFuture", "Result", pip.Response.Response, "Failure responding to request") + } + } + return +} + +// PublicIPPrefixesDeleteFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type PublicIPPrefixesDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *PublicIPPrefixesDeleteFuture) Result(client PublicIPPrefixesClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PublicIPPrefixesDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.PublicIPPrefixesDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// PublicIPPrefixesUpdateTagsFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type PublicIPPrefixesUpdateTagsFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *PublicIPPrefixesUpdateTagsFuture) Result(client PublicIPPrefixesClient) (pip PublicIPPrefix, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PublicIPPrefixesUpdateTagsFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.PublicIPPrefixesUpdateTagsFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if pip.Response.Response, err = future.GetResult(sender); err == nil && pip.Response.Response.StatusCode != http.StatusNoContent { + pip, err = client.UpdateTagsResponder(pip.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PublicIPPrefixesUpdateTagsFuture", "Result", pip.Response.Response, "Failure responding to request") + } + } + return +} + +// PublicIPPrefixListResult response for ListPublicIpPrefixes API service call. +type PublicIPPrefixListResult struct { + autorest.Response `json:"-"` + // Value - A list of public IP prefixes that exists in a resource group. + Value *[]PublicIPPrefix `json:"value,omitempty"` + // NextLink - The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// PublicIPPrefixListResultIterator provides access to a complete listing of PublicIPPrefix values. +type PublicIPPrefixListResultIterator struct { + i int + page PublicIPPrefixListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *PublicIPPrefixListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PublicIPPrefixListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *PublicIPPrefixListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter PublicIPPrefixListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter PublicIPPrefixListResultIterator) Response() PublicIPPrefixListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter PublicIPPrefixListResultIterator) Value() PublicIPPrefix { + if !iter.page.NotDone() { + return PublicIPPrefix{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the PublicIPPrefixListResultIterator type. +func NewPublicIPPrefixListResultIterator(page PublicIPPrefixListResultPage) PublicIPPrefixListResultIterator { + return PublicIPPrefixListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (piplr PublicIPPrefixListResult) IsEmpty() bool { + return piplr.Value == nil || len(*piplr.Value) == 0 +} + +// publicIPPrefixListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (piplr PublicIPPrefixListResult) publicIPPrefixListResultPreparer(ctx context.Context) (*http.Request, error) { + if piplr.NextLink == nil || len(to.String(piplr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(piplr.NextLink))) +} + +// PublicIPPrefixListResultPage contains a page of PublicIPPrefix values. +type PublicIPPrefixListResultPage struct { + fn func(context.Context, PublicIPPrefixListResult) (PublicIPPrefixListResult, error) + piplr PublicIPPrefixListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *PublicIPPrefixListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PublicIPPrefixListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.piplr) + if err != nil { + return err + } + page.piplr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *PublicIPPrefixListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page PublicIPPrefixListResultPage) NotDone() bool { + return !page.piplr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page PublicIPPrefixListResultPage) Response() PublicIPPrefixListResult { + return page.piplr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page PublicIPPrefixListResultPage) Values() []PublicIPPrefix { + if page.piplr.IsEmpty() { + return nil + } + return *page.piplr.Value +} + +// Creates a new instance of the PublicIPPrefixListResultPage type. +func NewPublicIPPrefixListResultPage(getNextPage func(context.Context, PublicIPPrefixListResult) (PublicIPPrefixListResult, error)) PublicIPPrefixListResultPage { + return PublicIPPrefixListResultPage{fn: getNextPage} +} + +// PublicIPPrefixPropertiesFormat public IP prefix properties. +type PublicIPPrefixPropertiesFormat struct { + // PublicIPAddressVersion - The public IP address version. Possible values include: 'IPv4', 'IPv6' + PublicIPAddressVersion IPVersion `json:"publicIPAddressVersion,omitempty"` + // IPTags - The list of tags associated with the public IP prefix. + IPTags *[]IPTag `json:"ipTags,omitempty"` + // PrefixLength - The Length of the Public IP Prefix. + PrefixLength *int32 `json:"prefixLength,omitempty"` + // IPPrefix - The allocated Prefix. + IPPrefix *string `json:"ipPrefix,omitempty"` + // PublicIPAddresses - The list of all referenced PublicIPAddresses. + PublicIPAddresses *[]ReferencedPublicIPAddress `json:"publicIPAddresses,omitempty"` + // LoadBalancerFrontendIPConfiguration - READ-ONLY; The reference to load balancer frontend IP configuration associated with the public IP prefix. + LoadBalancerFrontendIPConfiguration *SubResource `json:"loadBalancerFrontendIpConfiguration,omitempty"` + // ResourceGUID - The resource GUID property of the public IP prefix resource. + ResourceGUID *string `json:"resourceGuid,omitempty"` + // ProvisioningState - The provisioning state of the public IP prefix resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// PublicIPPrefixSku SKU of a public IP prefix. +type PublicIPPrefixSku struct { + // Name - Name of a public IP prefix SKU. Possible values include: 'PublicIPPrefixSkuNameStandard' + Name PublicIPPrefixSkuName `json:"name,omitempty"` +} + +// QueryTroubleshootingParameters parameters that define the resource to query the troubleshooting result. +type QueryTroubleshootingParameters struct { + // TargetResourceID - The target resource ID to query the troubleshooting result. + TargetResourceID *string `json:"targetResourceId,omitempty"` +} + +// ReferencedPublicIPAddress reference to a public IP address. +type ReferencedPublicIPAddress struct { + // ID - The PublicIPAddress Reference. + ID *string `json:"id,omitempty"` +} + +// Resource common resource representation. +type Resource struct { + // ID - Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for Resource. +func (r Resource) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if r.ID != nil { + objectMap["id"] = r.ID + } + if r.Location != nil { + objectMap["location"] = r.Location + } + if r.Tags != nil { + objectMap["tags"] = r.Tags + } + return json.Marshal(objectMap) +} + +// ResourceNavigationLink resourceNavigationLink resource. +type ResourceNavigationLink struct { + // ResourceNavigationLinkFormat - Resource navigation link properties format. + *ResourceNavigationLinkFormat `json:"properties,omitempty"` + // Name - Name of the resource that is unique within a resource group. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + // Etag - READ-ONLY; A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for ResourceNavigationLink. +func (rnl ResourceNavigationLink) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if rnl.ResourceNavigationLinkFormat != nil { + objectMap["properties"] = rnl.ResourceNavigationLinkFormat + } + if rnl.Name != nil { + objectMap["name"] = rnl.Name + } + if rnl.ID != nil { + objectMap["id"] = rnl.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ResourceNavigationLink struct. +func (rnl *ResourceNavigationLink) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var resourceNavigationLinkFormat ResourceNavigationLinkFormat + err = json.Unmarshal(*v, &resourceNavigationLinkFormat) + if err != nil { + return err + } + rnl.ResourceNavigationLinkFormat = &resourceNavigationLinkFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + rnl.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + rnl.Etag = &etag + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + rnl.Type = &typeVar + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + rnl.ID = &ID + } + } + } + + return nil +} + +// ResourceNavigationLinkFormat properties of ResourceNavigationLink. +type ResourceNavigationLinkFormat struct { + // LinkedResourceType - Resource type of the linked resource. + LinkedResourceType *string `json:"linkedResourceType,omitempty"` + // Link - Link to the external resource. + Link *string `json:"link,omitempty"` + // ProvisioningState - READ-ONLY; The provisioning state of the resource navigation link resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// ResourceNavigationLinksListResult response for ResourceNavigationLinks_List operation. +type ResourceNavigationLinksListResult struct { + autorest.Response `json:"-"` + // Value - The resource navigation links in a subnet. + Value *[]ResourceNavigationLink `json:"value,omitempty"` + // NextLink - READ-ONLY; The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// ResourceSet the base resource set for visibility and auto-approval. +type ResourceSet struct { + // Subscriptions - The list of subscriptions. + Subscriptions *[]string `json:"subscriptions,omitempty"` +} + +// RetentionPolicyParameters parameters that define the retention policy for flow log. +type RetentionPolicyParameters struct { + // Days - Number of days to retain flow log records. + Days *int32 `json:"days,omitempty"` + // Enabled - Flag to enable/disable retention. + Enabled *bool `json:"enabled,omitempty"` +} + +// Route route resource. +type Route struct { + autorest.Response `json:"-"` + // RoutePropertiesFormat - Properties of the route. + *RoutePropertiesFormat `json:"properties,omitempty"` + // Name - The name of the resource that is unique within a resource group. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for Route. +func (r Route) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if r.RoutePropertiesFormat != nil { + objectMap["properties"] = r.RoutePropertiesFormat + } + if r.Name != nil { + objectMap["name"] = r.Name + } + if r.Etag != nil { + objectMap["etag"] = r.Etag + } + if r.ID != nil { + objectMap["id"] = r.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for Route struct. +func (r *Route) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var routePropertiesFormat RoutePropertiesFormat + err = json.Unmarshal(*v, &routePropertiesFormat) + if err != nil { + return err + } + r.RoutePropertiesFormat = &routePropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + r.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + r.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + r.ID = &ID + } + } + } + + return nil +} + +// RouteFilter route Filter Resource. +type RouteFilter struct { + autorest.Response `json:"-"` + // RouteFilterPropertiesFormat - Properties of the route filter. + *RouteFilterPropertiesFormat `json:"properties,omitempty"` + // Etag - READ-ONLY; A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for RouteFilter. +func (rf RouteFilter) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if rf.RouteFilterPropertiesFormat != nil { + objectMap["properties"] = rf.RouteFilterPropertiesFormat + } + if rf.ID != nil { + objectMap["id"] = rf.ID + } + if rf.Location != nil { + objectMap["location"] = rf.Location + } + if rf.Tags != nil { + objectMap["tags"] = rf.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for RouteFilter struct. +func (rf *RouteFilter) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var routeFilterPropertiesFormat RouteFilterPropertiesFormat + err = json.Unmarshal(*v, &routeFilterPropertiesFormat) + if err != nil { + return err + } + rf.RouteFilterPropertiesFormat = &routeFilterPropertiesFormat + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + rf.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + rf.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + rf.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + rf.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + rf.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + rf.Tags = tags + } + } + } + + return nil +} + +// RouteFilterListResult response for the ListRouteFilters API service call. +type RouteFilterListResult struct { + autorest.Response `json:"-"` + // Value - A list of route filters in a resource group. + Value *[]RouteFilter `json:"value,omitempty"` + // NextLink - The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// RouteFilterListResultIterator provides access to a complete listing of RouteFilter values. +type RouteFilterListResultIterator struct { + i int + page RouteFilterListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *RouteFilterListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RouteFilterListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *RouteFilterListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter RouteFilterListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter RouteFilterListResultIterator) Response() RouteFilterListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter RouteFilterListResultIterator) Value() RouteFilter { + if !iter.page.NotDone() { + return RouteFilter{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the RouteFilterListResultIterator type. +func NewRouteFilterListResultIterator(page RouteFilterListResultPage) RouteFilterListResultIterator { + return RouteFilterListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (rflr RouteFilterListResult) IsEmpty() bool { + return rflr.Value == nil || len(*rflr.Value) == 0 +} + +// routeFilterListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (rflr RouteFilterListResult) routeFilterListResultPreparer(ctx context.Context) (*http.Request, error) { + if rflr.NextLink == nil || len(to.String(rflr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(rflr.NextLink))) +} + +// RouteFilterListResultPage contains a page of RouteFilter values. +type RouteFilterListResultPage struct { + fn func(context.Context, RouteFilterListResult) (RouteFilterListResult, error) + rflr RouteFilterListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *RouteFilterListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RouteFilterListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.rflr) + if err != nil { + return err + } + page.rflr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *RouteFilterListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page RouteFilterListResultPage) NotDone() bool { + return !page.rflr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page RouteFilterListResultPage) Response() RouteFilterListResult { + return page.rflr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page RouteFilterListResultPage) Values() []RouteFilter { + if page.rflr.IsEmpty() { + return nil + } + return *page.rflr.Value +} + +// Creates a new instance of the RouteFilterListResultPage type. +func NewRouteFilterListResultPage(getNextPage func(context.Context, RouteFilterListResult) (RouteFilterListResult, error)) RouteFilterListResultPage { + return RouteFilterListResultPage{fn: getNextPage} +} + +// RouteFilterPropertiesFormat route Filter Resource. +type RouteFilterPropertiesFormat struct { + // Rules - Collection of RouteFilterRules contained within a route filter. + Rules *[]RouteFilterRule `json:"rules,omitempty"` + // Peerings - A collection of references to express route circuit peerings. + Peerings *[]ExpressRouteCircuitPeering `json:"peerings,omitempty"` + // Ipv6Peerings - A collection of references to express route circuit ipv6 peerings. + Ipv6Peerings *[]ExpressRouteCircuitPeering `json:"ipv6Peerings,omitempty"` + // ProvisioningState - READ-ONLY; The provisioning state of the route filter resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// RouteFilterRule route Filter Rule Resource. +type RouteFilterRule struct { + autorest.Response `json:"-"` + // RouteFilterRulePropertiesFormat - Properties of the route filter rule. + *RouteFilterRulePropertiesFormat `json:"properties,omitempty"` + // Name - The name of the resource that is unique within a resource group. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Etag - READ-ONLY; A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for RouteFilterRule. +func (rfr RouteFilterRule) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if rfr.RouteFilterRulePropertiesFormat != nil { + objectMap["properties"] = rfr.RouteFilterRulePropertiesFormat + } + if rfr.Name != nil { + objectMap["name"] = rfr.Name + } + if rfr.Location != nil { + objectMap["location"] = rfr.Location + } + if rfr.ID != nil { + objectMap["id"] = rfr.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for RouteFilterRule struct. +func (rfr *RouteFilterRule) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var routeFilterRulePropertiesFormat RouteFilterRulePropertiesFormat + err = json.Unmarshal(*v, &routeFilterRulePropertiesFormat) + if err != nil { + return err + } + rfr.RouteFilterRulePropertiesFormat = &routeFilterRulePropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + rfr.Name = &name + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + rfr.Location = &location + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + rfr.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + rfr.ID = &ID + } + } + } + + return nil +} + +// RouteFilterRuleListResult response for the ListRouteFilterRules API service call. +type RouteFilterRuleListResult struct { + autorest.Response `json:"-"` + // Value - A list of RouteFilterRules in a resource group. + Value *[]RouteFilterRule `json:"value,omitempty"` + // NextLink - The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// RouteFilterRuleListResultIterator provides access to a complete listing of RouteFilterRule values. +type RouteFilterRuleListResultIterator struct { + i int + page RouteFilterRuleListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *RouteFilterRuleListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RouteFilterRuleListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *RouteFilterRuleListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter RouteFilterRuleListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter RouteFilterRuleListResultIterator) Response() RouteFilterRuleListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter RouteFilterRuleListResultIterator) Value() RouteFilterRule { + if !iter.page.NotDone() { + return RouteFilterRule{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the RouteFilterRuleListResultIterator type. +func NewRouteFilterRuleListResultIterator(page RouteFilterRuleListResultPage) RouteFilterRuleListResultIterator { + return RouteFilterRuleListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (rfrlr RouteFilterRuleListResult) IsEmpty() bool { + return rfrlr.Value == nil || len(*rfrlr.Value) == 0 +} + +// routeFilterRuleListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (rfrlr RouteFilterRuleListResult) routeFilterRuleListResultPreparer(ctx context.Context) (*http.Request, error) { + if rfrlr.NextLink == nil || len(to.String(rfrlr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(rfrlr.NextLink))) +} + +// RouteFilterRuleListResultPage contains a page of RouteFilterRule values. +type RouteFilterRuleListResultPage struct { + fn func(context.Context, RouteFilterRuleListResult) (RouteFilterRuleListResult, error) + rfrlr RouteFilterRuleListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *RouteFilterRuleListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RouteFilterRuleListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.rfrlr) + if err != nil { + return err + } + page.rfrlr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *RouteFilterRuleListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page RouteFilterRuleListResultPage) NotDone() bool { + return !page.rfrlr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page RouteFilterRuleListResultPage) Response() RouteFilterRuleListResult { + return page.rfrlr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page RouteFilterRuleListResultPage) Values() []RouteFilterRule { + if page.rfrlr.IsEmpty() { + return nil + } + return *page.rfrlr.Value +} + +// Creates a new instance of the RouteFilterRuleListResultPage type. +func NewRouteFilterRuleListResultPage(getNextPage func(context.Context, RouteFilterRuleListResult) (RouteFilterRuleListResult, error)) RouteFilterRuleListResultPage { + return RouteFilterRuleListResultPage{fn: getNextPage} +} + +// RouteFilterRulePropertiesFormat route Filter Rule Resource. +type RouteFilterRulePropertiesFormat struct { + // Access - The access type of the rule. Possible values include: 'Allow', 'Deny' + Access Access `json:"access,omitempty"` + // RouteFilterRuleType - The rule type of the rule. + RouteFilterRuleType *string `json:"routeFilterRuleType,omitempty"` + // Communities - The collection for bgp community values to filter on. e.g. ['12076:5010','12076:5020']. + Communities *[]string `json:"communities,omitempty"` + // ProvisioningState - READ-ONLY; The provisioning state of the route filter rule resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// RouteFilterRulesCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type RouteFilterRulesCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *RouteFilterRulesCreateOrUpdateFuture) Result(client RouteFilterRulesClient) (rfr RouteFilterRule, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteFilterRulesCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.RouteFilterRulesCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if rfr.Response.Response, err = future.GetResult(sender); err == nil && rfr.Response.Response.StatusCode != http.StatusNoContent { + rfr, err = client.CreateOrUpdateResponder(rfr.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteFilterRulesCreateOrUpdateFuture", "Result", rfr.Response.Response, "Failure responding to request") + } + } + return +} + +// RouteFilterRulesDeleteFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type RouteFilterRulesDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *RouteFilterRulesDeleteFuture) Result(client RouteFilterRulesClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteFilterRulesDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.RouteFilterRulesDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// RouteFilterRulesUpdateFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type RouteFilterRulesUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *RouteFilterRulesUpdateFuture) Result(client RouteFilterRulesClient) (rfr RouteFilterRule, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteFilterRulesUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.RouteFilterRulesUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if rfr.Response.Response, err = future.GetResult(sender); err == nil && rfr.Response.Response.StatusCode != http.StatusNoContent { + rfr, err = client.UpdateResponder(rfr.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteFilterRulesUpdateFuture", "Result", rfr.Response.Response, "Failure responding to request") + } + } + return +} + +// RouteFiltersCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type RouteFiltersCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *RouteFiltersCreateOrUpdateFuture) Result(client RouteFiltersClient) (rf RouteFilter, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteFiltersCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.RouteFiltersCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if rf.Response.Response, err = future.GetResult(sender); err == nil && rf.Response.Response.StatusCode != http.StatusNoContent { + rf, err = client.CreateOrUpdateResponder(rf.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteFiltersCreateOrUpdateFuture", "Result", rf.Response.Response, "Failure responding to request") + } + } + return +} + +// RouteFiltersDeleteFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type RouteFiltersDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *RouteFiltersDeleteFuture) Result(client RouteFiltersClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteFiltersDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.RouteFiltersDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// RouteFiltersUpdateFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type RouteFiltersUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *RouteFiltersUpdateFuture) Result(client RouteFiltersClient) (rf RouteFilter, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteFiltersUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.RouteFiltersUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if rf.Response.Response, err = future.GetResult(sender); err == nil && rf.Response.Response.StatusCode != http.StatusNoContent { + rf, err = client.UpdateResponder(rf.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteFiltersUpdateFuture", "Result", rf.Response.Response, "Failure responding to request") + } + } + return +} + +// RouteListResult response for the ListRoute API service call. +type RouteListResult struct { + autorest.Response `json:"-"` + // Value - A list of routes in a resource group. + Value *[]Route `json:"value,omitempty"` + // NextLink - The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// RouteListResultIterator provides access to a complete listing of Route values. +type RouteListResultIterator struct { + i int + page RouteListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *RouteListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RouteListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *RouteListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter RouteListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter RouteListResultIterator) Response() RouteListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter RouteListResultIterator) Value() Route { + if !iter.page.NotDone() { + return Route{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the RouteListResultIterator type. +func NewRouteListResultIterator(page RouteListResultPage) RouteListResultIterator { + return RouteListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (rlr RouteListResult) IsEmpty() bool { + return rlr.Value == nil || len(*rlr.Value) == 0 +} + +// routeListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (rlr RouteListResult) routeListResultPreparer(ctx context.Context) (*http.Request, error) { + if rlr.NextLink == nil || len(to.String(rlr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(rlr.NextLink))) +} + +// RouteListResultPage contains a page of Route values. +type RouteListResultPage struct { + fn func(context.Context, RouteListResult) (RouteListResult, error) + rlr RouteListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *RouteListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RouteListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.rlr) + if err != nil { + return err + } + page.rlr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *RouteListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page RouteListResultPage) NotDone() bool { + return !page.rlr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page RouteListResultPage) Response() RouteListResult { + return page.rlr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page RouteListResultPage) Values() []Route { + if page.rlr.IsEmpty() { + return nil + } + return *page.rlr.Value +} + +// Creates a new instance of the RouteListResultPage type. +func NewRouteListResultPage(getNextPage func(context.Context, RouteListResult) (RouteListResult, error)) RouteListResultPage { + return RouteListResultPage{fn: getNextPage} +} + +// RoutePropertiesFormat route resource. +type RoutePropertiesFormat struct { + // AddressPrefix - The destination CIDR to which the route applies. + AddressPrefix *string `json:"addressPrefix,omitempty"` + // NextHopType - The type of Azure hop the packet should be sent to. Possible values include: 'RouteNextHopTypeVirtualNetworkGateway', 'RouteNextHopTypeVnetLocal', 'RouteNextHopTypeInternet', 'RouteNextHopTypeVirtualAppliance', 'RouteNextHopTypeNone' + NextHopType RouteNextHopType `json:"nextHopType,omitempty"` + // NextHopIPAddress - The IP address packets should be forwarded to. Next hop values are only allowed in routes where the next hop type is VirtualAppliance. + NextHopIPAddress *string `json:"nextHopIpAddress,omitempty"` + // ProvisioningState - The provisioning state of the route resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// RoutesCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type RoutesCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *RoutesCreateOrUpdateFuture) Result(client RoutesClient) (r Route, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RoutesCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.RoutesCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if r.Response.Response, err = future.GetResult(sender); err == nil && r.Response.Response.StatusCode != http.StatusNoContent { + r, err = client.CreateOrUpdateResponder(r.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RoutesCreateOrUpdateFuture", "Result", r.Response.Response, "Failure responding to request") + } + } + return +} + +// RoutesDeleteFuture an abstraction for monitoring and retrieving the results of a long-running operation. +type RoutesDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *RoutesDeleteFuture) Result(client RoutesClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RoutesDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.RoutesDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// RouteTable route table resource. +type RouteTable struct { + autorest.Response `json:"-"` + // RouteTablePropertiesFormat - Properties of the route table. + *RouteTablePropertiesFormat `json:"properties,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for RouteTable. +func (rt RouteTable) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if rt.RouteTablePropertiesFormat != nil { + objectMap["properties"] = rt.RouteTablePropertiesFormat + } + if rt.Etag != nil { + objectMap["etag"] = rt.Etag + } + if rt.ID != nil { + objectMap["id"] = rt.ID + } + if rt.Location != nil { + objectMap["location"] = rt.Location + } + if rt.Tags != nil { + objectMap["tags"] = rt.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for RouteTable struct. +func (rt *RouteTable) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var routeTablePropertiesFormat RouteTablePropertiesFormat + err = json.Unmarshal(*v, &routeTablePropertiesFormat) + if err != nil { + return err + } + rt.RouteTablePropertiesFormat = &routeTablePropertiesFormat + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + rt.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + rt.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + rt.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + rt.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + rt.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + rt.Tags = tags + } + } + } + + return nil +} + +// RouteTableListResult response for the ListRouteTable API service call. +type RouteTableListResult struct { + autorest.Response `json:"-"` + // Value - A list of route tables in a resource group. + Value *[]RouteTable `json:"value,omitempty"` + // NextLink - The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// RouteTableListResultIterator provides access to a complete listing of RouteTable values. +type RouteTableListResultIterator struct { + i int + page RouteTableListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *RouteTableListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RouteTableListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *RouteTableListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter RouteTableListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter RouteTableListResultIterator) Response() RouteTableListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter RouteTableListResultIterator) Value() RouteTable { + if !iter.page.NotDone() { + return RouteTable{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the RouteTableListResultIterator type. +func NewRouteTableListResultIterator(page RouteTableListResultPage) RouteTableListResultIterator { + return RouteTableListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (rtlr RouteTableListResult) IsEmpty() bool { + return rtlr.Value == nil || len(*rtlr.Value) == 0 +} + +// routeTableListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (rtlr RouteTableListResult) routeTableListResultPreparer(ctx context.Context) (*http.Request, error) { + if rtlr.NextLink == nil || len(to.String(rtlr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(rtlr.NextLink))) +} + +// RouteTableListResultPage contains a page of RouteTable values. +type RouteTableListResultPage struct { + fn func(context.Context, RouteTableListResult) (RouteTableListResult, error) + rtlr RouteTableListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *RouteTableListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RouteTableListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.rtlr) + if err != nil { + return err + } + page.rtlr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *RouteTableListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page RouteTableListResultPage) NotDone() bool { + return !page.rtlr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page RouteTableListResultPage) Response() RouteTableListResult { + return page.rtlr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page RouteTableListResultPage) Values() []RouteTable { + if page.rtlr.IsEmpty() { + return nil + } + return *page.rtlr.Value +} + +// Creates a new instance of the RouteTableListResultPage type. +func NewRouteTableListResultPage(getNextPage func(context.Context, RouteTableListResult) (RouteTableListResult, error)) RouteTableListResultPage { + return RouteTableListResultPage{fn: getNextPage} +} + +// RouteTablePropertiesFormat route Table resource. +type RouteTablePropertiesFormat struct { + // Routes - Collection of routes contained within a route table. + Routes *[]Route `json:"routes,omitempty"` + // Subnets - READ-ONLY; A collection of references to subnets. + Subnets *[]Subnet `json:"subnets,omitempty"` + // DisableBgpRoutePropagation - Whether to disable the routes learned by BGP on that route table. True means disable. + DisableBgpRoutePropagation *bool `json:"disableBgpRoutePropagation,omitempty"` + // ProvisioningState - The provisioning state of the route table resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// RouteTablesCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type RouteTablesCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *RouteTablesCreateOrUpdateFuture) Result(client RouteTablesClient) (rt RouteTable, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteTablesCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.RouteTablesCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if rt.Response.Response, err = future.GetResult(sender); err == nil && rt.Response.Response.StatusCode != http.StatusNoContent { + rt, err = client.CreateOrUpdateResponder(rt.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteTablesCreateOrUpdateFuture", "Result", rt.Response.Response, "Failure responding to request") + } + } + return +} + +// RouteTablesDeleteFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type RouteTablesDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *RouteTablesDeleteFuture) Result(client RouteTablesClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteTablesDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.RouteTablesDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// RouteTablesUpdateTagsFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type RouteTablesUpdateTagsFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *RouteTablesUpdateTagsFuture) Result(client RouteTablesClient) (rt RouteTable, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteTablesUpdateTagsFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.RouteTablesUpdateTagsFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if rt.Response.Response, err = future.GetResult(sender); err == nil && rt.Response.Response.StatusCode != http.StatusNoContent { + rt, err = client.UpdateTagsResponder(rt.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteTablesUpdateTagsFuture", "Result", rt.Response.Response, "Failure responding to request") + } + } + return +} + +// RuleCondition rule condition of type network. +type RuleCondition struct { + // IPProtocols - Array of FirewallPolicyRuleConditionNetworkProtocols. + IPProtocols *[]FirewallPolicyRuleConditionNetworkProtocol `json:"ipProtocols,omitempty"` + // SourceAddresses - List of source IP addresses for this rule. + SourceAddresses *[]string `json:"sourceAddresses,omitempty"` + // DestinationAddresses - List of destination IP addresses or Service Tags. + DestinationAddresses *[]string `json:"destinationAddresses,omitempty"` + // DestinationPorts - List of destination ports. + DestinationPorts *[]string `json:"destinationPorts,omitempty"` + // Name - Name of the rule condition. + Name *string `json:"name,omitempty"` + // Description - Description of the rule condition. + Description *string `json:"description,omitempty"` + // RuleConditionType - Possible values include: 'RuleConditionTypeFirewallPolicyRuleCondition', 'RuleConditionTypeApplicationRuleCondition', 'RuleConditionTypeNetworkRuleCondition' + RuleConditionType RuleConditionType `json:"ruleConditionType,omitempty"` +} + +// MarshalJSON is the custom marshaler for RuleCondition. +func (rc RuleCondition) MarshalJSON() ([]byte, error) { + rc.RuleConditionType = RuleConditionTypeNetworkRuleCondition + objectMap := make(map[string]interface{}) + if rc.IPProtocols != nil { + objectMap["ipProtocols"] = rc.IPProtocols + } + if rc.SourceAddresses != nil { + objectMap["sourceAddresses"] = rc.SourceAddresses + } + if rc.DestinationAddresses != nil { + objectMap["destinationAddresses"] = rc.DestinationAddresses + } + if rc.DestinationPorts != nil { + objectMap["destinationPorts"] = rc.DestinationPorts + } + if rc.Name != nil { + objectMap["name"] = rc.Name + } + if rc.Description != nil { + objectMap["description"] = rc.Description + } + if rc.RuleConditionType != "" { + objectMap["ruleConditionType"] = rc.RuleConditionType + } + return json.Marshal(objectMap) +} + +// AsApplicationRuleCondition is the BasicFirewallPolicyRuleCondition implementation for RuleCondition. +func (rc RuleCondition) AsApplicationRuleCondition() (*ApplicationRuleCondition, bool) { + return nil, false +} + +// AsRuleCondition is the BasicFirewallPolicyRuleCondition implementation for RuleCondition. +func (rc RuleCondition) AsRuleCondition() (*RuleCondition, bool) { + return &rc, true +} + +// AsFirewallPolicyRuleCondition is the BasicFirewallPolicyRuleCondition implementation for RuleCondition. +func (rc RuleCondition) AsFirewallPolicyRuleCondition() (*FirewallPolicyRuleCondition, bool) { + return nil, false +} + +// AsBasicFirewallPolicyRuleCondition is the BasicFirewallPolicyRuleCondition implementation for RuleCondition. +func (rc RuleCondition) AsBasicFirewallPolicyRuleCondition() (BasicFirewallPolicyRuleCondition, bool) { + return &rc, true +} + +// SecurityGroup networkSecurityGroup resource. +type SecurityGroup struct { + autorest.Response `json:"-"` + // SecurityGroupPropertiesFormat - Properties of the network security group. + *SecurityGroupPropertiesFormat `json:"properties,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for SecurityGroup. +func (sg SecurityGroup) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if sg.SecurityGroupPropertiesFormat != nil { + objectMap["properties"] = sg.SecurityGroupPropertiesFormat + } + if sg.Etag != nil { + objectMap["etag"] = sg.Etag + } + if sg.ID != nil { + objectMap["id"] = sg.ID + } + if sg.Location != nil { + objectMap["location"] = sg.Location + } + if sg.Tags != nil { + objectMap["tags"] = sg.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for SecurityGroup struct. +func (sg *SecurityGroup) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var securityGroupPropertiesFormat SecurityGroupPropertiesFormat + err = json.Unmarshal(*v, &securityGroupPropertiesFormat) + if err != nil { + return err + } + sg.SecurityGroupPropertiesFormat = &securityGroupPropertiesFormat + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + sg.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + sg.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + sg.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + sg.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + sg.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + sg.Tags = tags + } + } + } + + return nil +} + +// SecurityGroupListResult response for ListNetworkSecurityGroups API service call. +type SecurityGroupListResult struct { + autorest.Response `json:"-"` + // Value - A list of NetworkSecurityGroup resources. + Value *[]SecurityGroup `json:"value,omitempty"` + // NextLink - The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// SecurityGroupListResultIterator provides access to a complete listing of SecurityGroup values. +type SecurityGroupListResultIterator struct { + i int + page SecurityGroupListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *SecurityGroupListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SecurityGroupListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *SecurityGroupListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter SecurityGroupListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter SecurityGroupListResultIterator) Response() SecurityGroupListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter SecurityGroupListResultIterator) Value() SecurityGroup { + if !iter.page.NotDone() { + return SecurityGroup{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the SecurityGroupListResultIterator type. +func NewSecurityGroupListResultIterator(page SecurityGroupListResultPage) SecurityGroupListResultIterator { + return SecurityGroupListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (sglr SecurityGroupListResult) IsEmpty() bool { + return sglr.Value == nil || len(*sglr.Value) == 0 +} + +// securityGroupListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (sglr SecurityGroupListResult) securityGroupListResultPreparer(ctx context.Context) (*http.Request, error) { + if sglr.NextLink == nil || len(to.String(sglr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(sglr.NextLink))) +} + +// SecurityGroupListResultPage contains a page of SecurityGroup values. +type SecurityGroupListResultPage struct { + fn func(context.Context, SecurityGroupListResult) (SecurityGroupListResult, error) + sglr SecurityGroupListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *SecurityGroupListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SecurityGroupListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.sglr) + if err != nil { + return err + } + page.sglr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *SecurityGroupListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page SecurityGroupListResultPage) NotDone() bool { + return !page.sglr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page SecurityGroupListResultPage) Response() SecurityGroupListResult { + return page.sglr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page SecurityGroupListResultPage) Values() []SecurityGroup { + if page.sglr.IsEmpty() { + return nil + } + return *page.sglr.Value +} + +// Creates a new instance of the SecurityGroupListResultPage type. +func NewSecurityGroupListResultPage(getNextPage func(context.Context, SecurityGroupListResult) (SecurityGroupListResult, error)) SecurityGroupListResultPage { + return SecurityGroupListResultPage{fn: getNextPage} +} + +// SecurityGroupNetworkInterface network interface and all its associated security rules. +type SecurityGroupNetworkInterface struct { + // ID - ID of the network interface. + ID *string `json:"id,omitempty"` + // SecurityRuleAssociations - All security rules associated with the network interface. + SecurityRuleAssociations *SecurityRuleAssociations `json:"securityRuleAssociations,omitempty"` +} + +// SecurityGroupPropertiesFormat network Security Group resource. +type SecurityGroupPropertiesFormat struct { + // SecurityRules - A collection of security rules of the network security group. + SecurityRules *[]SecurityRule `json:"securityRules,omitempty"` + // DefaultSecurityRules - The default security rules of network security group. + DefaultSecurityRules *[]SecurityRule `json:"defaultSecurityRules,omitempty"` + // NetworkInterfaces - READ-ONLY; A collection of references to network interfaces. + NetworkInterfaces *[]Interface `json:"networkInterfaces,omitempty"` + // Subnets - READ-ONLY; A collection of references to subnets. + Subnets *[]Subnet `json:"subnets,omitempty"` + // ResourceGUID - The resource GUID property of the network security group resource. + ResourceGUID *string `json:"resourceGuid,omitempty"` + // ProvisioningState - The provisioning state of the network security group resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// SecurityGroupResult network configuration diagnostic result corresponded provided traffic query. +type SecurityGroupResult struct { + // SecurityRuleAccessResult - The network traffic is allowed or denied. Possible values include: 'SecurityRuleAccessAllow', 'SecurityRuleAccessDeny' + SecurityRuleAccessResult SecurityRuleAccess `json:"securityRuleAccessResult,omitempty"` + // EvaluatedNetworkSecurityGroups - READ-ONLY; List of results network security groups diagnostic. + EvaluatedNetworkSecurityGroups *[]EvaluatedNetworkSecurityGroup `json:"evaluatedNetworkSecurityGroups,omitempty"` +} + +// SecurityGroupsCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type SecurityGroupsCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *SecurityGroupsCreateOrUpdateFuture) Result(client SecurityGroupsClient) (sg SecurityGroup, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.SecurityGroupsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.SecurityGroupsCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if sg.Response.Response, err = future.GetResult(sender); err == nil && sg.Response.Response.StatusCode != http.StatusNoContent { + sg, err = client.CreateOrUpdateResponder(sg.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.SecurityGroupsCreateOrUpdateFuture", "Result", sg.Response.Response, "Failure responding to request") + } + } + return +} + +// SecurityGroupsDeleteFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type SecurityGroupsDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *SecurityGroupsDeleteFuture) Result(client SecurityGroupsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.SecurityGroupsDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.SecurityGroupsDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// SecurityGroupsUpdateTagsFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type SecurityGroupsUpdateTagsFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *SecurityGroupsUpdateTagsFuture) Result(client SecurityGroupsClient) (sg SecurityGroup, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.SecurityGroupsUpdateTagsFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.SecurityGroupsUpdateTagsFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if sg.Response.Response, err = future.GetResult(sender); err == nil && sg.Response.Response.StatusCode != http.StatusNoContent { + sg, err = client.UpdateTagsResponder(sg.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.SecurityGroupsUpdateTagsFuture", "Result", sg.Response.Response, "Failure responding to request") + } + } + return +} + +// SecurityGroupViewParameters parameters that define the VM to check security groups for. +type SecurityGroupViewParameters struct { + // TargetResourceID - ID of the target VM. + TargetResourceID *string `json:"targetResourceId,omitempty"` +} + +// SecurityGroupViewResult the information about security rules applied to the specified VM. +type SecurityGroupViewResult struct { + autorest.Response `json:"-"` + // NetworkInterfaces - List of network interfaces on the specified VM. + NetworkInterfaces *[]SecurityGroupNetworkInterface `json:"networkInterfaces,omitempty"` +} + +// SecurityRule network security rule. +type SecurityRule struct { + autorest.Response `json:"-"` + // SecurityRulePropertiesFormat - Properties of the security rule. + *SecurityRulePropertiesFormat `json:"properties,omitempty"` + // Name - The name of the resource that is unique within a resource group. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for SecurityRule. +func (sr SecurityRule) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if sr.SecurityRulePropertiesFormat != nil { + objectMap["properties"] = sr.SecurityRulePropertiesFormat + } + if sr.Name != nil { + objectMap["name"] = sr.Name + } + if sr.Etag != nil { + objectMap["etag"] = sr.Etag + } + if sr.ID != nil { + objectMap["id"] = sr.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for SecurityRule struct. +func (sr *SecurityRule) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var securityRulePropertiesFormat SecurityRulePropertiesFormat + err = json.Unmarshal(*v, &securityRulePropertiesFormat) + if err != nil { + return err + } + sr.SecurityRulePropertiesFormat = &securityRulePropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + sr.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + sr.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + sr.ID = &ID + } + } + } + + return nil +} + +// SecurityRuleAssociations all security rules associated with the network interface. +type SecurityRuleAssociations struct { + // NetworkInterfaceAssociation - Network interface and it's custom security rules. + NetworkInterfaceAssociation *InterfaceAssociation `json:"networkInterfaceAssociation,omitempty"` + // SubnetAssociation - Subnet and it's custom security rules. + SubnetAssociation *SubnetAssociation `json:"subnetAssociation,omitempty"` + // DefaultSecurityRules - Collection of default security rules of the network security group. + DefaultSecurityRules *[]SecurityRule `json:"defaultSecurityRules,omitempty"` + // EffectiveSecurityRules - Collection of effective security rules. + EffectiveSecurityRules *[]EffectiveNetworkSecurityRule `json:"effectiveSecurityRules,omitempty"` +} + +// SecurityRuleListResult response for ListSecurityRule API service call. Retrieves all security rules that +// belongs to a network security group. +type SecurityRuleListResult struct { + autorest.Response `json:"-"` + // Value - The security rules in a network security group. + Value *[]SecurityRule `json:"value,omitempty"` + // NextLink - The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// SecurityRuleListResultIterator provides access to a complete listing of SecurityRule values. +type SecurityRuleListResultIterator struct { + i int + page SecurityRuleListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *SecurityRuleListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SecurityRuleListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *SecurityRuleListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter SecurityRuleListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter SecurityRuleListResultIterator) Response() SecurityRuleListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter SecurityRuleListResultIterator) Value() SecurityRule { + if !iter.page.NotDone() { + return SecurityRule{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the SecurityRuleListResultIterator type. +func NewSecurityRuleListResultIterator(page SecurityRuleListResultPage) SecurityRuleListResultIterator { + return SecurityRuleListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (srlr SecurityRuleListResult) IsEmpty() bool { + return srlr.Value == nil || len(*srlr.Value) == 0 +} + +// securityRuleListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (srlr SecurityRuleListResult) securityRuleListResultPreparer(ctx context.Context) (*http.Request, error) { + if srlr.NextLink == nil || len(to.String(srlr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(srlr.NextLink))) +} + +// SecurityRuleListResultPage contains a page of SecurityRule values. +type SecurityRuleListResultPage struct { + fn func(context.Context, SecurityRuleListResult) (SecurityRuleListResult, error) + srlr SecurityRuleListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *SecurityRuleListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SecurityRuleListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.srlr) + if err != nil { + return err + } + page.srlr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *SecurityRuleListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page SecurityRuleListResultPage) NotDone() bool { + return !page.srlr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page SecurityRuleListResultPage) Response() SecurityRuleListResult { + return page.srlr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page SecurityRuleListResultPage) Values() []SecurityRule { + if page.srlr.IsEmpty() { + return nil + } + return *page.srlr.Value +} + +// Creates a new instance of the SecurityRuleListResultPage type. +func NewSecurityRuleListResultPage(getNextPage func(context.Context, SecurityRuleListResult) (SecurityRuleListResult, error)) SecurityRuleListResultPage { + return SecurityRuleListResultPage{fn: getNextPage} +} + +// SecurityRulePropertiesFormat security rule resource. +type SecurityRulePropertiesFormat struct { + // Description - A description for this rule. Restricted to 140 chars. + Description *string `json:"description,omitempty"` + // Protocol - Network protocol this rule applies to. Possible values include: 'SecurityRuleProtocolTCP', 'SecurityRuleProtocolUDP', 'SecurityRuleProtocolIcmp', 'SecurityRuleProtocolEsp', 'SecurityRuleProtocolAsterisk', 'SecurityRuleProtocolAh' + Protocol SecurityRuleProtocol `json:"protocol,omitempty"` + // SourcePortRange - The source port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports. + SourcePortRange *string `json:"sourcePortRange,omitempty"` + // DestinationPortRange - The destination port or range. Integer or range between 0 and 65535. Asterisk '*' can also be used to match all ports. + DestinationPortRange *string `json:"destinationPortRange,omitempty"` + // SourceAddressPrefix - The CIDR or source IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. If this is an ingress rule, specifies where network traffic originates from. + SourceAddressPrefix *string `json:"sourceAddressPrefix,omitempty"` + // SourceAddressPrefixes - The CIDR or source IP ranges. + SourceAddressPrefixes *[]string `json:"sourceAddressPrefixes,omitempty"` + // SourceApplicationSecurityGroups - The application security group specified as source. + SourceApplicationSecurityGroups *[]ApplicationSecurityGroup `json:"sourceApplicationSecurityGroups,omitempty"` + // DestinationAddressPrefix - The destination address prefix. CIDR or destination IP range. Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. + DestinationAddressPrefix *string `json:"destinationAddressPrefix,omitempty"` + // DestinationAddressPrefixes - The destination address prefixes. CIDR or destination IP ranges. + DestinationAddressPrefixes *[]string `json:"destinationAddressPrefixes,omitempty"` + // DestinationApplicationSecurityGroups - The application security group specified as destination. + DestinationApplicationSecurityGroups *[]ApplicationSecurityGroup `json:"destinationApplicationSecurityGroups,omitempty"` + // SourcePortRanges - The source port ranges. + SourcePortRanges *[]string `json:"sourcePortRanges,omitempty"` + // DestinationPortRanges - The destination port ranges. + DestinationPortRanges *[]string `json:"destinationPortRanges,omitempty"` + // Access - The network traffic is allowed or denied. Possible values include: 'SecurityRuleAccessAllow', 'SecurityRuleAccessDeny' + Access SecurityRuleAccess `json:"access,omitempty"` + // Priority - The priority of the rule. The value can be between 100 and 4096. The priority number must be unique for each rule in the collection. The lower the priority number, the higher the priority of the rule. + Priority *int32 `json:"priority,omitempty"` + // Direction - The direction of the rule. The direction specifies if rule will be evaluated on incoming or outgoing traffic. Possible values include: 'SecurityRuleDirectionInbound', 'SecurityRuleDirectionOutbound' + Direction SecurityRuleDirection `json:"direction,omitempty"` + // ProvisioningState - The provisioning state of the security rule resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// SecurityRulesCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type SecurityRulesCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *SecurityRulesCreateOrUpdateFuture) Result(client SecurityRulesClient) (sr SecurityRule, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.SecurityRulesCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.SecurityRulesCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if sr.Response.Response, err = future.GetResult(sender); err == nil && sr.Response.Response.StatusCode != http.StatusNoContent { + sr, err = client.CreateOrUpdateResponder(sr.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.SecurityRulesCreateOrUpdateFuture", "Result", sr.Response.Response, "Failure responding to request") + } + } + return +} + +// SecurityRulesDeleteFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type SecurityRulesDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *SecurityRulesDeleteFuture) Result(client SecurityRulesClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.SecurityRulesDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.SecurityRulesDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// SecurityRulesEvaluationResult network security rules evaluation result. +type SecurityRulesEvaluationResult struct { + // Name - Name of the network security rule. + Name *string `json:"name,omitempty"` + // ProtocolMatched - Value indicating whether protocol is matched. + ProtocolMatched *bool `json:"protocolMatched,omitempty"` + // SourceMatched - Value indicating whether source is matched. + SourceMatched *bool `json:"sourceMatched,omitempty"` + // SourcePortMatched - Value indicating whether source port is matched. + SourcePortMatched *bool `json:"sourcePortMatched,omitempty"` + // DestinationMatched - Value indicating whether destination is matched. + DestinationMatched *bool `json:"destinationMatched,omitempty"` + // DestinationPortMatched - Value indicating whether destination port is matched. + DestinationPortMatched *bool `json:"destinationPortMatched,omitempty"` +} + +// ServiceAssociationLink serviceAssociationLink resource. +type ServiceAssociationLink struct { + // ServiceAssociationLinkPropertiesFormat - Resource navigation link properties format. + *ServiceAssociationLinkPropertiesFormat `json:"properties,omitempty"` + // Name - Name of the resource that is unique within a resource group. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + // Etag - READ-ONLY; A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // Type - Resource type. + Type *string `json:"type,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for ServiceAssociationLink. +func (sal ServiceAssociationLink) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if sal.ServiceAssociationLinkPropertiesFormat != nil { + objectMap["properties"] = sal.ServiceAssociationLinkPropertiesFormat + } + if sal.Name != nil { + objectMap["name"] = sal.Name + } + if sal.Type != nil { + objectMap["type"] = sal.Type + } + if sal.ID != nil { + objectMap["id"] = sal.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ServiceAssociationLink struct. +func (sal *ServiceAssociationLink) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var serviceAssociationLinkPropertiesFormat ServiceAssociationLinkPropertiesFormat + err = json.Unmarshal(*v, &serviceAssociationLinkPropertiesFormat) + if err != nil { + return err + } + sal.ServiceAssociationLinkPropertiesFormat = &serviceAssociationLinkPropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + sal.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + sal.Etag = &etag + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + sal.Type = &typeVar + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + sal.ID = &ID + } + } + } + + return nil +} + +// ServiceAssociationLinkPropertiesFormat properties of ServiceAssociationLink. +type ServiceAssociationLinkPropertiesFormat struct { + // LinkedResourceType - Resource type of the linked resource. + LinkedResourceType *string `json:"linkedResourceType,omitempty"` + // Link - Link to the external resource. + Link *string `json:"link,omitempty"` + // ProvisioningState - READ-ONLY; The provisioning state of the service association link resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + // AllowDelete - If true, the resource can be deleted. + AllowDelete *bool `json:"allowDelete,omitempty"` + // Locations - A list of locations. + Locations *[]string `json:"locations,omitempty"` +} + +// ServiceAssociationLinksListResult response for ServiceAssociationLinks_List operation. +type ServiceAssociationLinksListResult struct { + autorest.Response `json:"-"` + // Value - The service association links in a subnet. + Value *[]ServiceAssociationLink `json:"value,omitempty"` + // NextLink - READ-ONLY; The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// ServiceDelegationPropertiesFormat properties of a service delegation. +type ServiceDelegationPropertiesFormat struct { + // ServiceName - The name of the service to whom the subnet should be delegated (e.g. Microsoft.Sql/servers). + ServiceName *string `json:"serviceName,omitempty"` + // Actions - Describes the actions permitted to the service upon delegation. + Actions *[]string `json:"actions,omitempty"` + // ProvisioningState - READ-ONLY; The provisioning state of the service delegation resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// ServiceEndpointPoliciesCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of +// a long-running operation. +type ServiceEndpointPoliciesCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ServiceEndpointPoliciesCreateOrUpdateFuture) Result(client ServiceEndpointPoliciesClient) (sep ServiceEndpointPolicy, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ServiceEndpointPoliciesCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.ServiceEndpointPoliciesCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if sep.Response.Response, err = future.GetResult(sender); err == nil && sep.Response.Response.StatusCode != http.StatusNoContent { + sep, err = client.CreateOrUpdateResponder(sep.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ServiceEndpointPoliciesCreateOrUpdateFuture", "Result", sep.Response.Response, "Failure responding to request") + } + } + return +} + +// ServiceEndpointPoliciesDeleteFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type ServiceEndpointPoliciesDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ServiceEndpointPoliciesDeleteFuture) Result(client ServiceEndpointPoliciesClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ServiceEndpointPoliciesDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.ServiceEndpointPoliciesDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// ServiceEndpointPoliciesUpdateFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type ServiceEndpointPoliciesUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ServiceEndpointPoliciesUpdateFuture) Result(client ServiceEndpointPoliciesClient) (sep ServiceEndpointPolicy, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ServiceEndpointPoliciesUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.ServiceEndpointPoliciesUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if sep.Response.Response, err = future.GetResult(sender); err == nil && sep.Response.Response.StatusCode != http.StatusNoContent { + sep, err = client.UpdateResponder(sep.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ServiceEndpointPoliciesUpdateFuture", "Result", sep.Response.Response, "Failure responding to request") + } + } + return +} + +// ServiceEndpointPolicy service End point policy resource. +type ServiceEndpointPolicy struct { + autorest.Response `json:"-"` + // ServiceEndpointPolicyPropertiesFormat - Properties of the service end point policy. + *ServiceEndpointPolicyPropertiesFormat `json:"properties,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for ServiceEndpointPolicy. +func (sep ServiceEndpointPolicy) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if sep.ServiceEndpointPolicyPropertiesFormat != nil { + objectMap["properties"] = sep.ServiceEndpointPolicyPropertiesFormat + } + if sep.Etag != nil { + objectMap["etag"] = sep.Etag + } + if sep.ID != nil { + objectMap["id"] = sep.ID + } + if sep.Location != nil { + objectMap["location"] = sep.Location + } + if sep.Tags != nil { + objectMap["tags"] = sep.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ServiceEndpointPolicy struct. +func (sep *ServiceEndpointPolicy) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var serviceEndpointPolicyPropertiesFormat ServiceEndpointPolicyPropertiesFormat + err = json.Unmarshal(*v, &serviceEndpointPolicyPropertiesFormat) + if err != nil { + return err + } + sep.ServiceEndpointPolicyPropertiesFormat = &serviceEndpointPolicyPropertiesFormat + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + sep.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + sep.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + sep.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + sep.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + sep.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + sep.Tags = tags + } + } + } + + return nil +} + +// ServiceEndpointPolicyDefinition service Endpoint policy definitions. +type ServiceEndpointPolicyDefinition struct { + autorest.Response `json:"-"` + // ServiceEndpointPolicyDefinitionPropertiesFormat - Properties of the service endpoint policy definition. + *ServiceEndpointPolicyDefinitionPropertiesFormat `json:"properties,omitempty"` + // Name - The name of the resource that is unique within a resource group. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for ServiceEndpointPolicyDefinition. +func (sepd ServiceEndpointPolicyDefinition) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if sepd.ServiceEndpointPolicyDefinitionPropertiesFormat != nil { + objectMap["properties"] = sepd.ServiceEndpointPolicyDefinitionPropertiesFormat + } + if sepd.Name != nil { + objectMap["name"] = sepd.Name + } + if sepd.Etag != nil { + objectMap["etag"] = sepd.Etag + } + if sepd.ID != nil { + objectMap["id"] = sepd.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ServiceEndpointPolicyDefinition struct. +func (sepd *ServiceEndpointPolicyDefinition) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var serviceEndpointPolicyDefinitionPropertiesFormat ServiceEndpointPolicyDefinitionPropertiesFormat + err = json.Unmarshal(*v, &serviceEndpointPolicyDefinitionPropertiesFormat) + if err != nil { + return err + } + sepd.ServiceEndpointPolicyDefinitionPropertiesFormat = &serviceEndpointPolicyDefinitionPropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + sepd.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + sepd.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + sepd.ID = &ID + } + } + } + + return nil +} + +// ServiceEndpointPolicyDefinitionListResult response for ListServiceEndpointPolicyDefinition API service +// call. Retrieves all service endpoint policy definition that belongs to a service endpoint policy. +type ServiceEndpointPolicyDefinitionListResult struct { + autorest.Response `json:"-"` + // Value - The service endpoint policy definition in a service endpoint policy. + Value *[]ServiceEndpointPolicyDefinition `json:"value,omitempty"` + // NextLink - The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// ServiceEndpointPolicyDefinitionListResultIterator provides access to a complete listing of +// ServiceEndpointPolicyDefinition values. +type ServiceEndpointPolicyDefinitionListResultIterator struct { + i int + page ServiceEndpointPolicyDefinitionListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *ServiceEndpointPolicyDefinitionListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServiceEndpointPolicyDefinitionListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *ServiceEndpointPolicyDefinitionListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter ServiceEndpointPolicyDefinitionListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter ServiceEndpointPolicyDefinitionListResultIterator) Response() ServiceEndpointPolicyDefinitionListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter ServiceEndpointPolicyDefinitionListResultIterator) Value() ServiceEndpointPolicyDefinition { + if !iter.page.NotDone() { + return ServiceEndpointPolicyDefinition{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the ServiceEndpointPolicyDefinitionListResultIterator type. +func NewServiceEndpointPolicyDefinitionListResultIterator(page ServiceEndpointPolicyDefinitionListResultPage) ServiceEndpointPolicyDefinitionListResultIterator { + return ServiceEndpointPolicyDefinitionListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (sepdlr ServiceEndpointPolicyDefinitionListResult) IsEmpty() bool { + return sepdlr.Value == nil || len(*sepdlr.Value) == 0 +} + +// serviceEndpointPolicyDefinitionListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (sepdlr ServiceEndpointPolicyDefinitionListResult) serviceEndpointPolicyDefinitionListResultPreparer(ctx context.Context) (*http.Request, error) { + if sepdlr.NextLink == nil || len(to.String(sepdlr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(sepdlr.NextLink))) +} + +// ServiceEndpointPolicyDefinitionListResultPage contains a page of ServiceEndpointPolicyDefinition values. +type ServiceEndpointPolicyDefinitionListResultPage struct { + fn func(context.Context, ServiceEndpointPolicyDefinitionListResult) (ServiceEndpointPolicyDefinitionListResult, error) + sepdlr ServiceEndpointPolicyDefinitionListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *ServiceEndpointPolicyDefinitionListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServiceEndpointPolicyDefinitionListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.sepdlr) + if err != nil { + return err + } + page.sepdlr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *ServiceEndpointPolicyDefinitionListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page ServiceEndpointPolicyDefinitionListResultPage) NotDone() bool { + return !page.sepdlr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page ServiceEndpointPolicyDefinitionListResultPage) Response() ServiceEndpointPolicyDefinitionListResult { + return page.sepdlr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page ServiceEndpointPolicyDefinitionListResultPage) Values() []ServiceEndpointPolicyDefinition { + if page.sepdlr.IsEmpty() { + return nil + } + return *page.sepdlr.Value +} + +// Creates a new instance of the ServiceEndpointPolicyDefinitionListResultPage type. +func NewServiceEndpointPolicyDefinitionListResultPage(getNextPage func(context.Context, ServiceEndpointPolicyDefinitionListResult) (ServiceEndpointPolicyDefinitionListResult, error)) ServiceEndpointPolicyDefinitionListResultPage { + return ServiceEndpointPolicyDefinitionListResultPage{fn: getNextPage} +} + +// ServiceEndpointPolicyDefinitionPropertiesFormat service Endpoint policy definition resource. +type ServiceEndpointPolicyDefinitionPropertiesFormat struct { + // Description - A description for this rule. Restricted to 140 chars. + Description *string `json:"description,omitempty"` + // Service - Service endpoint name. + Service *string `json:"service,omitempty"` + // ServiceResources - A list of service resources. + ServiceResources *[]string `json:"serviceResources,omitempty"` + // ProvisioningState - READ-ONLY; The provisioning state of the service endpoint policy definition resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// ServiceEndpointPolicyDefinitionsCreateOrUpdateFuture an abstraction for monitoring and retrieving the +// results of a long-running operation. +type ServiceEndpointPolicyDefinitionsCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ServiceEndpointPolicyDefinitionsCreateOrUpdateFuture) Result(client ServiceEndpointPolicyDefinitionsClient) (sepd ServiceEndpointPolicyDefinition, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ServiceEndpointPolicyDefinitionsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.ServiceEndpointPolicyDefinitionsCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if sepd.Response.Response, err = future.GetResult(sender); err == nil && sepd.Response.Response.StatusCode != http.StatusNoContent { + sepd, err = client.CreateOrUpdateResponder(sepd.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ServiceEndpointPolicyDefinitionsCreateOrUpdateFuture", "Result", sepd.Response.Response, "Failure responding to request") + } + } + return +} + +// ServiceEndpointPolicyDefinitionsDeleteFuture an abstraction for monitoring and retrieving the results of +// a long-running operation. +type ServiceEndpointPolicyDefinitionsDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ServiceEndpointPolicyDefinitionsDeleteFuture) Result(client ServiceEndpointPolicyDefinitionsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ServiceEndpointPolicyDefinitionsDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.ServiceEndpointPolicyDefinitionsDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// ServiceEndpointPolicyListResult response for ListServiceEndpointPolicies API service call. +type ServiceEndpointPolicyListResult struct { + autorest.Response `json:"-"` + // Value - A list of ServiceEndpointPolicy resources. + Value *[]ServiceEndpointPolicy `json:"value,omitempty"` + // NextLink - READ-ONLY; The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// ServiceEndpointPolicyListResultIterator provides access to a complete listing of ServiceEndpointPolicy +// values. +type ServiceEndpointPolicyListResultIterator struct { + i int + page ServiceEndpointPolicyListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *ServiceEndpointPolicyListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServiceEndpointPolicyListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *ServiceEndpointPolicyListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter ServiceEndpointPolicyListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter ServiceEndpointPolicyListResultIterator) Response() ServiceEndpointPolicyListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter ServiceEndpointPolicyListResultIterator) Value() ServiceEndpointPolicy { + if !iter.page.NotDone() { + return ServiceEndpointPolicy{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the ServiceEndpointPolicyListResultIterator type. +func NewServiceEndpointPolicyListResultIterator(page ServiceEndpointPolicyListResultPage) ServiceEndpointPolicyListResultIterator { + return ServiceEndpointPolicyListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (seplr ServiceEndpointPolicyListResult) IsEmpty() bool { + return seplr.Value == nil || len(*seplr.Value) == 0 +} + +// serviceEndpointPolicyListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (seplr ServiceEndpointPolicyListResult) serviceEndpointPolicyListResultPreparer(ctx context.Context) (*http.Request, error) { + if seplr.NextLink == nil || len(to.String(seplr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(seplr.NextLink))) +} + +// ServiceEndpointPolicyListResultPage contains a page of ServiceEndpointPolicy values. +type ServiceEndpointPolicyListResultPage struct { + fn func(context.Context, ServiceEndpointPolicyListResult) (ServiceEndpointPolicyListResult, error) + seplr ServiceEndpointPolicyListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *ServiceEndpointPolicyListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServiceEndpointPolicyListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.seplr) + if err != nil { + return err + } + page.seplr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *ServiceEndpointPolicyListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page ServiceEndpointPolicyListResultPage) NotDone() bool { + return !page.seplr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page ServiceEndpointPolicyListResultPage) Response() ServiceEndpointPolicyListResult { + return page.seplr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page ServiceEndpointPolicyListResultPage) Values() []ServiceEndpointPolicy { + if page.seplr.IsEmpty() { + return nil + } + return *page.seplr.Value +} + +// Creates a new instance of the ServiceEndpointPolicyListResultPage type. +func NewServiceEndpointPolicyListResultPage(getNextPage func(context.Context, ServiceEndpointPolicyListResult) (ServiceEndpointPolicyListResult, error)) ServiceEndpointPolicyListResultPage { + return ServiceEndpointPolicyListResultPage{fn: getNextPage} +} + +// ServiceEndpointPolicyPropertiesFormat service Endpoint Policy resource. +type ServiceEndpointPolicyPropertiesFormat struct { + // ServiceEndpointPolicyDefinitions - A collection of service endpoint policy definitions of the service endpoint policy. + ServiceEndpointPolicyDefinitions *[]ServiceEndpointPolicyDefinition `json:"serviceEndpointPolicyDefinitions,omitempty"` + // Subnets - READ-ONLY; A collection of references to subnets. + Subnets *[]Subnet `json:"subnets,omitempty"` + // ResourceGUID - READ-ONLY; The resource GUID property of the service endpoint policy resource. + ResourceGUID *string `json:"resourceGuid,omitempty"` + // ProvisioningState - READ-ONLY; The provisioning state of the service endpoint policy resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// ServiceEndpointPropertiesFormat the service endpoint properties. +type ServiceEndpointPropertiesFormat struct { + // Service - The type of the endpoint service. + Service *string `json:"service,omitempty"` + // Locations - A list of locations. + Locations *[]string `json:"locations,omitempty"` + // ProvisioningState - The provisioning state of the service endpoint resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// ServiceTagInformation the service tag information. +type ServiceTagInformation struct { + // Properties - READ-ONLY; Properties of the service tag information. + Properties *ServiceTagInformationPropertiesFormat `json:"properties,omitempty"` + // Name - READ-ONLY; The name of service tag. + Name *string `json:"name,omitempty"` + // ID - READ-ONLY; The ID of service tag. + ID *string `json:"id,omitempty"` +} + +// ServiceTagInformationPropertiesFormat properties of the service tag information. +type ServiceTagInformationPropertiesFormat struct { + // ChangeNumber - READ-ONLY; The iteration number of service tag. + ChangeNumber *string `json:"changeNumber,omitempty"` + // Region - READ-ONLY; The region of service tag. + Region *string `json:"region,omitempty"` + // SystemService - READ-ONLY; The name of system service. + SystemService *string `json:"systemService,omitempty"` + // AddressPrefixes - READ-ONLY; The list of IP address prefixes. + AddressPrefixes *[]string `json:"addressPrefixes,omitempty"` +} + +// ServiceTagsListResult response for the ListServiceTags API service call. +type ServiceTagsListResult struct { + autorest.Response `json:"-"` + // Name - READ-ONLY; The name of the cloud. + Name *string `json:"name,omitempty"` + // ID - READ-ONLY; The ID of the cloud. + ID *string `json:"id,omitempty"` + // Type - READ-ONLY; The azure resource type. + Type *string `json:"type,omitempty"` + // ChangeNumber - READ-ONLY; The iteration number. + ChangeNumber *string `json:"changeNumber,omitempty"` + // Cloud - READ-ONLY; The name of the cloud. + Cloud *string `json:"cloud,omitempty"` + // Values - READ-ONLY; The list of service tag information resources. + Values *[]ServiceTagInformation `json:"values,omitempty"` +} + +// String ... +type String struct { + autorest.Response `json:"-"` + Value *string `json:"value,omitempty"` +} + +// Subnet subnet in a virtual network resource. +type Subnet struct { + autorest.Response `json:"-"` + // SubnetPropertiesFormat - Properties of the subnet. + *SubnetPropertiesFormat `json:"properties,omitempty"` + // Name - The name of the resource that is unique within a resource group. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for Subnet. +func (s Subnet) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if s.SubnetPropertiesFormat != nil { + objectMap["properties"] = s.SubnetPropertiesFormat + } + if s.Name != nil { + objectMap["name"] = s.Name + } + if s.Etag != nil { + objectMap["etag"] = s.Etag + } + if s.ID != nil { + objectMap["id"] = s.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for Subnet struct. +func (s *Subnet) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var subnetPropertiesFormat SubnetPropertiesFormat + err = json.Unmarshal(*v, &subnetPropertiesFormat) + if err != nil { + return err + } + s.SubnetPropertiesFormat = &subnetPropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + s.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + s.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + s.ID = &ID + } + } + } + + return nil +} + +// SubnetAssociation subnet and it's custom security rules. +type SubnetAssociation struct { + // ID - READ-ONLY; Subnet ID. + ID *string `json:"id,omitempty"` + // SecurityRules - Collection of custom security rules. + SecurityRules *[]SecurityRule `json:"securityRules,omitempty"` +} + +// SubnetListResult response for ListSubnets API service callRetrieves all subnet that belongs to a virtual +// network. +type SubnetListResult struct { + autorest.Response `json:"-"` + // Value - The subnets in a virtual network. + Value *[]Subnet `json:"value,omitempty"` + // NextLink - The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// SubnetListResultIterator provides access to a complete listing of Subnet values. +type SubnetListResultIterator struct { + i int + page SubnetListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *SubnetListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SubnetListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *SubnetListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter SubnetListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter SubnetListResultIterator) Response() SubnetListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter SubnetListResultIterator) Value() Subnet { + if !iter.page.NotDone() { + return Subnet{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the SubnetListResultIterator type. +func NewSubnetListResultIterator(page SubnetListResultPage) SubnetListResultIterator { + return SubnetListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (slr SubnetListResult) IsEmpty() bool { + return slr.Value == nil || len(*slr.Value) == 0 +} + +// subnetListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (slr SubnetListResult) subnetListResultPreparer(ctx context.Context) (*http.Request, error) { + if slr.NextLink == nil || len(to.String(slr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(slr.NextLink))) +} + +// SubnetListResultPage contains a page of Subnet values. +type SubnetListResultPage struct { + fn func(context.Context, SubnetListResult) (SubnetListResult, error) + slr SubnetListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *SubnetListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SubnetListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.slr) + if err != nil { + return err + } + page.slr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *SubnetListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page SubnetListResultPage) NotDone() bool { + return !page.slr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page SubnetListResultPage) Response() SubnetListResult { + return page.slr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page SubnetListResultPage) Values() []Subnet { + if page.slr.IsEmpty() { + return nil + } + return *page.slr.Value +} + +// Creates a new instance of the SubnetListResultPage type. +func NewSubnetListResultPage(getNextPage func(context.Context, SubnetListResult) (SubnetListResult, error)) SubnetListResultPage { + return SubnetListResultPage{fn: getNextPage} +} + +// SubnetPropertiesFormat properties of the subnet. +type SubnetPropertiesFormat struct { + // AddressPrefix - The address prefix for the subnet. + AddressPrefix *string `json:"addressPrefix,omitempty"` + // AddressPrefixes - List of address prefixes for the subnet. + AddressPrefixes *[]string `json:"addressPrefixes,omitempty"` + // NetworkSecurityGroup - The reference of the NetworkSecurityGroup resource. + NetworkSecurityGroup *SecurityGroup `json:"networkSecurityGroup,omitempty"` + // RouteTable - The reference of the RouteTable resource. + RouteTable *RouteTable `json:"routeTable,omitempty"` + // NatGateway - Nat gateway associated with this subnet. + NatGateway *SubResource `json:"natGateway,omitempty"` + // ServiceEndpoints - An array of service endpoints. + ServiceEndpoints *[]ServiceEndpointPropertiesFormat `json:"serviceEndpoints,omitempty"` + // ServiceEndpointPolicies - An array of service endpoint policies. + ServiceEndpointPolicies *[]ServiceEndpointPolicy `json:"serviceEndpointPolicies,omitempty"` + // PrivateEndpoints - READ-ONLY; An array of references to private endpoints. + PrivateEndpoints *[]PrivateEndpoint `json:"privateEndpoints,omitempty"` + // IPConfigurations - READ-ONLY; An array of references to the network interface IP configurations using subnet. + IPConfigurations *[]IPConfiguration `json:"ipConfigurations,omitempty"` + // IPConfigurationProfiles - READ-ONLY; Array of IP configuration profiles which reference this subnet. + IPConfigurationProfiles *[]IPConfigurationProfile `json:"ipConfigurationProfiles,omitempty"` + // ResourceNavigationLinks - An array of references to the external resources using subnet. + ResourceNavigationLinks *[]ResourceNavigationLink `json:"resourceNavigationLinks,omitempty"` + // ServiceAssociationLinks - An array of references to services injecting into this subnet. + ServiceAssociationLinks *[]ServiceAssociationLink `json:"serviceAssociationLinks,omitempty"` + // Delegations - An array of references to the delegations on the subnet. + Delegations *[]Delegation `json:"delegations,omitempty"` + // Purpose - READ-ONLY; A read-only string identifying the intention of use for this subnet based on delegations and other user-defined properties. + Purpose *string `json:"purpose,omitempty"` + // ProvisioningState - The provisioning state of the subnet resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + // PrivateEndpointNetworkPolicies - Enable or Disable apply network policies on private end point in the subnet. + PrivateEndpointNetworkPolicies *string `json:"privateEndpointNetworkPolicies,omitempty"` + // PrivateLinkServiceNetworkPolicies - Enable or Disable apply network policies on private link service in the subnet. + PrivateLinkServiceNetworkPolicies *string `json:"privateLinkServiceNetworkPolicies,omitempty"` +} + +// SubnetsCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type SubnetsCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *SubnetsCreateOrUpdateFuture) Result(client SubnetsClient) (s Subnet, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.SubnetsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.SubnetsCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if s.Response.Response, err = future.GetResult(sender); err == nil && s.Response.Response.StatusCode != http.StatusNoContent { + s, err = client.CreateOrUpdateResponder(s.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.SubnetsCreateOrUpdateFuture", "Result", s.Response.Response, "Failure responding to request") + } + } + return +} + +// SubnetsDeleteFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type SubnetsDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *SubnetsDeleteFuture) Result(client SubnetsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.SubnetsDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.SubnetsDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// SubnetsPrepareNetworkPoliciesFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type SubnetsPrepareNetworkPoliciesFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *SubnetsPrepareNetworkPoliciesFuture) Result(client SubnetsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.SubnetsPrepareNetworkPoliciesFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.SubnetsPrepareNetworkPoliciesFuture") + return + } + ar.Response = future.Response() + return +} + +// SubnetsUnprepareNetworkPoliciesFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type SubnetsUnprepareNetworkPoliciesFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *SubnetsUnprepareNetworkPoliciesFuture) Result(client SubnetsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.SubnetsUnprepareNetworkPoliciesFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.SubnetsUnprepareNetworkPoliciesFuture") + return + } + ar.Response = future.Response() + return +} + +// SubResource reference to another subresource. +type SubResource struct { + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// TagsObject tags object for patch operations. +type TagsObject struct { + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for TagsObject. +func (toVar TagsObject) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if toVar.Tags != nil { + objectMap["tags"] = toVar.Tags + } + return json.Marshal(objectMap) +} + +// Topology topology of the specified resource group. +type Topology struct { + autorest.Response `json:"-"` + // ID - READ-ONLY; GUID representing the operation id. + ID *string `json:"id,omitempty"` + // CreatedDateTime - READ-ONLY; The datetime when the topology was initially created for the resource group. + CreatedDateTime *date.Time `json:"createdDateTime,omitempty"` + // LastModified - READ-ONLY; The datetime when the topology was last modified. + LastModified *date.Time `json:"lastModified,omitempty"` + // Resources - A list of topology resources. + Resources *[]TopologyResource `json:"resources,omitempty"` +} + +// TopologyAssociation resources that have an association with the parent resource. +type TopologyAssociation struct { + // Name - The name of the resource that is associated with the parent resource. + Name *string `json:"name,omitempty"` + // ResourceID - The ID of the resource that is associated with the parent resource. + ResourceID *string `json:"resourceId,omitempty"` + // AssociationType - The association type of the child resource to the parent resource. Possible values include: 'Associated', 'Contains' + AssociationType AssociationType `json:"associationType,omitempty"` +} + +// TopologyParameters parameters that define the representation of topology. +type TopologyParameters struct { + // TargetResourceGroupName - The name of the target resource group to perform topology on. + TargetResourceGroupName *string `json:"targetResourceGroupName,omitempty"` + // TargetVirtualNetwork - The reference of the Virtual Network resource. + TargetVirtualNetwork *SubResource `json:"targetVirtualNetwork,omitempty"` + // TargetSubnet - The reference of the Subnet resource. + TargetSubnet *SubResource `json:"targetSubnet,omitempty"` +} + +// TopologyResource the network resource topology information for the given resource group. +type TopologyResource struct { + // Name - Name of the resource. + Name *string `json:"name,omitempty"` + // ID - ID of the resource. + ID *string `json:"id,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Associations - Holds the associations the resource has with other resources in the resource group. + Associations *[]TopologyAssociation `json:"associations,omitempty"` +} + +// TrafficAnalyticsConfigurationProperties parameters that define the configuration of traffic analytics. +type TrafficAnalyticsConfigurationProperties struct { + // Enabled - Flag to enable/disable traffic analytics. + Enabled *bool `json:"enabled,omitempty"` + // WorkspaceID - The resource guid of the attached workspace. + WorkspaceID *string `json:"workspaceId,omitempty"` + // WorkspaceRegion - The location of the attached workspace. + WorkspaceRegion *string `json:"workspaceRegion,omitempty"` + // WorkspaceResourceID - Resource Id of the attached workspace. + WorkspaceResourceID *string `json:"workspaceResourceId,omitempty"` + // TrafficAnalyticsInterval - The interval in minutes which would decide how frequently TA service should do flow analytics. + TrafficAnalyticsInterval *int32 `json:"trafficAnalyticsInterval,omitempty"` +} + +// TrafficAnalyticsProperties parameters that define the configuration of traffic analytics. +type TrafficAnalyticsProperties struct { + // NetworkWatcherFlowAnalyticsConfiguration - Parameters that define the configuration of traffic analytics. + NetworkWatcherFlowAnalyticsConfiguration *TrafficAnalyticsConfigurationProperties `json:"networkWatcherFlowAnalyticsConfiguration,omitempty"` +} + +// TrafficSelectorPolicy an traffic selector policy for a virtual network gateway connection. +type TrafficSelectorPolicy struct { + // LocalAddressRanges - A collection of local address spaces in CIDR format + LocalAddressRanges *[]string `json:"localAddressRanges,omitempty"` + // RemoteAddressRanges - A collection of remote address spaces in CIDR format + RemoteAddressRanges *[]string `json:"remoteAddressRanges,omitempty"` +} + +// TroubleshootingDetails information gained from troubleshooting of specified resource. +type TroubleshootingDetails struct { + // ID - The id of the get troubleshoot operation. + ID *string `json:"id,omitempty"` + // ReasonType - Reason type of failure. + ReasonType *string `json:"reasonType,omitempty"` + // Summary - A summary of troubleshooting. + Summary *string `json:"summary,omitempty"` + // Detail - Details on troubleshooting results. + Detail *string `json:"detail,omitempty"` + // RecommendedActions - List of recommended actions. + RecommendedActions *[]TroubleshootingRecommendedActions `json:"recommendedActions,omitempty"` +} + +// TroubleshootingParameters parameters that define the resource to troubleshoot. +type TroubleshootingParameters struct { + // TargetResourceID - The target resource to troubleshoot. + TargetResourceID *string `json:"targetResourceId,omitempty"` + // TroubleshootingProperties - Properties of the troubleshooting resource. + *TroubleshootingProperties `json:"properties,omitempty"` +} + +// MarshalJSON is the custom marshaler for TroubleshootingParameters. +func (tp TroubleshootingParameters) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if tp.TargetResourceID != nil { + objectMap["targetResourceId"] = tp.TargetResourceID + } + if tp.TroubleshootingProperties != nil { + objectMap["properties"] = tp.TroubleshootingProperties + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for TroubleshootingParameters struct. +func (tp *TroubleshootingParameters) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "targetResourceId": + if v != nil { + var targetResourceID string + err = json.Unmarshal(*v, &targetResourceID) + if err != nil { + return err + } + tp.TargetResourceID = &targetResourceID + } + case "properties": + if v != nil { + var troubleshootingProperties TroubleshootingProperties + err = json.Unmarshal(*v, &troubleshootingProperties) + if err != nil { + return err + } + tp.TroubleshootingProperties = &troubleshootingProperties + } + } + } + + return nil +} + +// TroubleshootingProperties storage location provided for troubleshoot. +type TroubleshootingProperties struct { + // StorageID - The ID for the storage account to save the troubleshoot result. + StorageID *string `json:"storageId,omitempty"` + // StoragePath - The path to the blob to save the troubleshoot result in. + StoragePath *string `json:"storagePath,omitempty"` +} + +// TroubleshootingRecommendedActions recommended actions based on discovered issues. +type TroubleshootingRecommendedActions struct { + // ActionID - ID of the recommended action. + ActionID *string `json:"actionId,omitempty"` + // ActionText - Description of recommended actions. + ActionText *string `json:"actionText,omitempty"` + // ActionURI - The uri linking to a documentation for the recommended troubleshooting actions. + ActionURI *string `json:"actionUri,omitempty"` + // ActionURIText - The information from the URI for the recommended troubleshooting actions. + ActionURIText *string `json:"actionUriText,omitempty"` +} + +// TroubleshootingResult troubleshooting information gained from specified resource. +type TroubleshootingResult struct { + autorest.Response `json:"-"` + // StartTime - The start time of the troubleshooting. + StartTime *date.Time `json:"startTime,omitempty"` + // EndTime - The end time of the troubleshooting. + EndTime *date.Time `json:"endTime,omitempty"` + // Code - The result code of the troubleshooting. + Code *string `json:"code,omitempty"` + // Results - Information from troubleshooting. + Results *[]TroubleshootingDetails `json:"results,omitempty"` +} + +// TunnelConnectionHealth virtualNetworkGatewayConnection properties. +type TunnelConnectionHealth struct { + // Tunnel - READ-ONLY; Tunnel name. + Tunnel *string `json:"tunnel,omitempty"` + // ConnectionStatus - READ-ONLY; Virtual Network Gateway connection status. Possible values include: 'VirtualNetworkGatewayConnectionStatusUnknown', 'VirtualNetworkGatewayConnectionStatusConnecting', 'VirtualNetworkGatewayConnectionStatusConnected', 'VirtualNetworkGatewayConnectionStatusNotConnected' + ConnectionStatus VirtualNetworkGatewayConnectionStatus `json:"connectionStatus,omitempty"` + // IngressBytesTransferred - READ-ONLY; The Ingress Bytes Transferred in this connection. + IngressBytesTransferred *int64 `json:"ingressBytesTransferred,omitempty"` + // EgressBytesTransferred - READ-ONLY; The Egress Bytes Transferred in this connection. + EgressBytesTransferred *int64 `json:"egressBytesTransferred,omitempty"` + // LastConnectionEstablishedUtcTime - READ-ONLY; The time at which connection was established in Utc format. + LastConnectionEstablishedUtcTime *string `json:"lastConnectionEstablishedUtcTime,omitempty"` +} + +// UnprepareNetworkPoliciesRequest details of UnprepareNetworkPolicies for Subnet. +type UnprepareNetworkPoliciesRequest struct { + // ServiceName - The name of the service for which subnet is being unprepared for. + ServiceName *string `json:"serviceName,omitempty"` +} + +// Usage describes network resource usage. +type Usage struct { + // ID - READ-ONLY; Resource identifier. + ID *string `json:"id,omitempty"` + // Unit - An enum describing the unit of measurement. + Unit *string `json:"unit,omitempty"` + // CurrentValue - The current value of the usage. + CurrentValue *int64 `json:"currentValue,omitempty"` + // Limit - The limit of usage. + Limit *int64 `json:"limit,omitempty"` + // Name - The name of the type of usage. + Name *UsageName `json:"name,omitempty"` +} + +// UsageName the usage names. +type UsageName struct { + // Value - A string describing the resource name. + Value *string `json:"value,omitempty"` + // LocalizedValue - A localized string describing the resource name. + LocalizedValue *string `json:"localizedValue,omitempty"` +} + +// UsagesListResult the list usages operation response. +type UsagesListResult struct { + autorest.Response `json:"-"` + // Value - The list network resource usages. + Value *[]Usage `json:"value,omitempty"` + // NextLink - URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// UsagesListResultIterator provides access to a complete listing of Usage values. +type UsagesListResultIterator struct { + i int + page UsagesListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *UsagesListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/UsagesListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *UsagesListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter UsagesListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter UsagesListResultIterator) Response() UsagesListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter UsagesListResultIterator) Value() Usage { + if !iter.page.NotDone() { + return Usage{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the UsagesListResultIterator type. +func NewUsagesListResultIterator(page UsagesListResultPage) UsagesListResultIterator { + return UsagesListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (ulr UsagesListResult) IsEmpty() bool { + return ulr.Value == nil || len(*ulr.Value) == 0 +} + +// usagesListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (ulr UsagesListResult) usagesListResultPreparer(ctx context.Context) (*http.Request, error) { + if ulr.NextLink == nil || len(to.String(ulr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(ulr.NextLink))) +} + +// UsagesListResultPage contains a page of Usage values. +type UsagesListResultPage struct { + fn func(context.Context, UsagesListResult) (UsagesListResult, error) + ulr UsagesListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *UsagesListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/UsagesListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.ulr) + if err != nil { + return err + } + page.ulr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *UsagesListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page UsagesListResultPage) NotDone() bool { + return !page.ulr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page UsagesListResultPage) Response() UsagesListResult { + return page.ulr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page UsagesListResultPage) Values() []Usage { + if page.ulr.IsEmpty() { + return nil + } + return *page.ulr.Value +} + +// Creates a new instance of the UsagesListResultPage type. +func NewUsagesListResultPage(getNextPage func(context.Context, UsagesListResult) (UsagesListResult, error)) UsagesListResultPage { + return UsagesListResultPage{fn: getNextPage} +} + +// VerificationIPFlowParameters parameters that define the IP flow to be verified. +type VerificationIPFlowParameters struct { + // TargetResourceID - The ID of the target resource to perform next-hop on. + TargetResourceID *string `json:"targetResourceId,omitempty"` + // Direction - The direction of the packet represented as a 5-tuple. Possible values include: 'Inbound', 'Outbound' + Direction Direction `json:"direction,omitempty"` + // Protocol - Protocol to be verified on. Possible values include: 'IPFlowProtocolTCP', 'IPFlowProtocolUDP' + Protocol IPFlowProtocol `json:"protocol,omitempty"` + // LocalPort - The local port. Acceptable values are a single integer in the range (0-65535). Support for * for the source port, which depends on the direction. + LocalPort *string `json:"localPort,omitempty"` + // RemotePort - The remote port. Acceptable values are a single integer in the range (0-65535). Support for * for the source port, which depends on the direction. + RemotePort *string `json:"remotePort,omitempty"` + // LocalIPAddress - The local IP address. Acceptable values are valid IPv4 addresses. + LocalIPAddress *string `json:"localIPAddress,omitempty"` + // RemoteIPAddress - The remote IP address. Acceptable values are valid IPv4 addresses. + RemoteIPAddress *string `json:"remoteIPAddress,omitempty"` + // TargetNicResourceID - The NIC ID. (If VM has multiple NICs and IP forwarding is enabled on any of them, then this parameter must be specified. Otherwise optional). + TargetNicResourceID *string `json:"targetNicResourceId,omitempty"` +} + +// VerificationIPFlowResult results of IP flow verification on the target resource. +type VerificationIPFlowResult struct { + autorest.Response `json:"-"` + // Access - Indicates whether the traffic is allowed or denied. Possible values include: 'Allow', 'Deny' + Access Access `json:"access,omitempty"` + // RuleName - Name of the rule. If input is not matched against any security rule, it is not displayed. + RuleName *string `json:"ruleName,omitempty"` +} + +// VirtualHub virtualHub Resource. +type VirtualHub struct { + autorest.Response `json:"-"` + // VirtualHubProperties - Properties of the virtual hub. + *VirtualHubProperties `json:"properties,omitempty"` + // Etag - READ-ONLY; A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for VirtualHub. +func (vh VirtualHub) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if vh.VirtualHubProperties != nil { + objectMap["properties"] = vh.VirtualHubProperties + } + if vh.ID != nil { + objectMap["id"] = vh.ID + } + if vh.Location != nil { + objectMap["location"] = vh.Location + } + if vh.Tags != nil { + objectMap["tags"] = vh.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for VirtualHub struct. +func (vh *VirtualHub) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var virtualHubProperties VirtualHubProperties + err = json.Unmarshal(*v, &virtualHubProperties) + if err != nil { + return err + } + vh.VirtualHubProperties = &virtualHubProperties + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + vh.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + vh.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + vh.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + vh.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + vh.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + vh.Tags = tags + } + } + } + + return nil +} + +// VirtualHubID virtual Hub identifier. +type VirtualHubID struct { + // ID - The resource URI for the Virtual Hub where the ExpressRoute gateway is or will be deployed. The Virtual Hub resource and the ExpressRoute gateway resource reside in the same subscription. + ID *string `json:"id,omitempty"` +} + +// VirtualHubProperties parameters for VirtualHub. +type VirtualHubProperties struct { + // VirtualWan - The VirtualWAN to which the VirtualHub belongs. + VirtualWan *SubResource `json:"virtualWan,omitempty"` + // VpnGateway - The VpnGateway associated with this VirtualHub. + VpnGateway *SubResource `json:"vpnGateway,omitempty"` + // P2SVpnGateway - The P2SVpnGateway associated with this VirtualHub. + P2SVpnGateway *SubResource `json:"p2SVpnGateway,omitempty"` + // ExpressRouteGateway - The expressRouteGateway associated with this VirtualHub. + ExpressRouteGateway *SubResource `json:"expressRouteGateway,omitempty"` + // AzureFirewall - The azureFirewall associated with this VirtualHub. + AzureFirewall *SubResource `json:"azureFirewall,omitempty"` + // VirtualNetworkConnections - List of all vnet connections with this VirtualHub. + VirtualNetworkConnections *[]HubVirtualNetworkConnection `json:"virtualNetworkConnections,omitempty"` + // AddressPrefix - Address-prefix for this VirtualHub. + AddressPrefix *string `json:"addressPrefix,omitempty"` + // RouteTable - The routeTable associated with this virtual hub. + RouteTable *VirtualHubRouteTable `json:"routeTable,omitempty"` + // ProvisioningState - The provisioning state of the virtual hub resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + // SecurityProviderName - The Security Provider name. + SecurityProviderName *string `json:"securityProviderName,omitempty"` +} + +// VirtualHubRoute virtualHub route. +type VirtualHubRoute struct { + // AddressPrefixes - List of all addressPrefixes. + AddressPrefixes *[]string `json:"addressPrefixes,omitempty"` + // NextHopIPAddress - NextHop ip address. + NextHopIPAddress *string `json:"nextHopIpAddress,omitempty"` +} + +// VirtualHubRouteTable virtualHub route table. +type VirtualHubRouteTable struct { + // Routes - List of all routes. + Routes *[]VirtualHubRoute `json:"routes,omitempty"` +} + +// VirtualHubsCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type VirtualHubsCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VirtualHubsCreateOrUpdateFuture) Result(client VirtualHubsClient) (vh VirtualHub, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualHubsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VirtualHubsCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if vh.Response.Response, err = future.GetResult(sender); err == nil && vh.Response.Response.StatusCode != http.StatusNoContent { + vh, err = client.CreateOrUpdateResponder(vh.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualHubsCreateOrUpdateFuture", "Result", vh.Response.Response, "Failure responding to request") + } + } + return +} + +// VirtualHubsDeleteFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type VirtualHubsDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VirtualHubsDeleteFuture) Result(client VirtualHubsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualHubsDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VirtualHubsDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// VirtualHubsUpdateTagsFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type VirtualHubsUpdateTagsFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VirtualHubsUpdateTagsFuture) Result(client VirtualHubsClient) (vh VirtualHub, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualHubsUpdateTagsFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VirtualHubsUpdateTagsFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if vh.Response.Response, err = future.GetResult(sender); err == nil && vh.Response.Response.StatusCode != http.StatusNoContent { + vh, err = client.UpdateTagsResponder(vh.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualHubsUpdateTagsFuture", "Result", vh.Response.Response, "Failure responding to request") + } + } + return +} + +// VirtualNetwork virtual Network resource. +type VirtualNetwork struct { + autorest.Response `json:"-"` + // VirtualNetworkPropertiesFormat - Properties of the virtual network. + *VirtualNetworkPropertiesFormat `json:"properties,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for VirtualNetwork. +func (vn VirtualNetwork) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if vn.VirtualNetworkPropertiesFormat != nil { + objectMap["properties"] = vn.VirtualNetworkPropertiesFormat + } + if vn.Etag != nil { + objectMap["etag"] = vn.Etag + } + if vn.ID != nil { + objectMap["id"] = vn.ID + } + if vn.Location != nil { + objectMap["location"] = vn.Location + } + if vn.Tags != nil { + objectMap["tags"] = vn.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for VirtualNetwork struct. +func (vn *VirtualNetwork) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var virtualNetworkPropertiesFormat VirtualNetworkPropertiesFormat + err = json.Unmarshal(*v, &virtualNetworkPropertiesFormat) + if err != nil { + return err + } + vn.VirtualNetworkPropertiesFormat = &virtualNetworkPropertiesFormat + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + vn.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + vn.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + vn.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + vn.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + vn.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + vn.Tags = tags + } + } + } + + return nil +} + +// VirtualNetworkBgpCommunities bgp Communities sent over ExpressRoute with each route corresponding to a +// prefix in this VNET. +type VirtualNetworkBgpCommunities struct { + // VirtualNetworkCommunity - The BGP community associated with the virtual network + VirtualNetworkCommunity *string `json:"virtualNetworkCommunity,omitempty"` + // RegionalCommunity - READ-ONLY; The BGP community associated with the region of the virtual network + RegionalCommunity *string `json:"regionalCommunity,omitempty"` +} + +// VirtualNetworkConnectionGatewayReference a reference to VirtualNetworkGateway or LocalNetworkGateway +// resource. +type VirtualNetworkConnectionGatewayReference struct { + // ID - The ID of VirtualNetworkGateway or LocalNetworkGateway resource. + ID *string `json:"id,omitempty"` +} + +// VirtualNetworkGateway a common class for general resource information. +type VirtualNetworkGateway struct { + autorest.Response `json:"-"` + // VirtualNetworkGatewayPropertiesFormat - Properties of the virtual network gateway. + *VirtualNetworkGatewayPropertiesFormat `json:"properties,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for VirtualNetworkGateway. +func (vng VirtualNetworkGateway) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if vng.VirtualNetworkGatewayPropertiesFormat != nil { + objectMap["properties"] = vng.VirtualNetworkGatewayPropertiesFormat + } + if vng.Etag != nil { + objectMap["etag"] = vng.Etag + } + if vng.ID != nil { + objectMap["id"] = vng.ID + } + if vng.Location != nil { + objectMap["location"] = vng.Location + } + if vng.Tags != nil { + objectMap["tags"] = vng.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for VirtualNetworkGateway struct. +func (vng *VirtualNetworkGateway) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var virtualNetworkGatewayPropertiesFormat VirtualNetworkGatewayPropertiesFormat + err = json.Unmarshal(*v, &virtualNetworkGatewayPropertiesFormat) + if err != nil { + return err + } + vng.VirtualNetworkGatewayPropertiesFormat = &virtualNetworkGatewayPropertiesFormat + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + vng.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + vng.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + vng.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + vng.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + vng.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + vng.Tags = tags + } + } + } + + return nil +} + +// VirtualNetworkGatewayConnection a common class for general resource information. +type VirtualNetworkGatewayConnection struct { + autorest.Response `json:"-"` + // VirtualNetworkGatewayConnectionPropertiesFormat - Properties of the virtual network gateway connection. + *VirtualNetworkGatewayConnectionPropertiesFormat `json:"properties,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for VirtualNetworkGatewayConnection. +func (vngc VirtualNetworkGatewayConnection) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if vngc.VirtualNetworkGatewayConnectionPropertiesFormat != nil { + objectMap["properties"] = vngc.VirtualNetworkGatewayConnectionPropertiesFormat + } + if vngc.Etag != nil { + objectMap["etag"] = vngc.Etag + } + if vngc.ID != nil { + objectMap["id"] = vngc.ID + } + if vngc.Location != nil { + objectMap["location"] = vngc.Location + } + if vngc.Tags != nil { + objectMap["tags"] = vngc.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for VirtualNetworkGatewayConnection struct. +func (vngc *VirtualNetworkGatewayConnection) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var virtualNetworkGatewayConnectionPropertiesFormat VirtualNetworkGatewayConnectionPropertiesFormat + err = json.Unmarshal(*v, &virtualNetworkGatewayConnectionPropertiesFormat) + if err != nil { + return err + } + vngc.VirtualNetworkGatewayConnectionPropertiesFormat = &virtualNetworkGatewayConnectionPropertiesFormat + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + vngc.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + vngc.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + vngc.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + vngc.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + vngc.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + vngc.Tags = tags + } + } + } + + return nil +} + +// VirtualNetworkGatewayConnectionListEntity a common class for general resource information. +type VirtualNetworkGatewayConnectionListEntity struct { + // VirtualNetworkGatewayConnectionListEntityPropertiesFormat - Properties of the virtual network gateway connection. + *VirtualNetworkGatewayConnectionListEntityPropertiesFormat `json:"properties,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for VirtualNetworkGatewayConnectionListEntity. +func (vngcle VirtualNetworkGatewayConnectionListEntity) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if vngcle.VirtualNetworkGatewayConnectionListEntityPropertiesFormat != nil { + objectMap["properties"] = vngcle.VirtualNetworkGatewayConnectionListEntityPropertiesFormat + } + if vngcle.Etag != nil { + objectMap["etag"] = vngcle.Etag + } + if vngcle.ID != nil { + objectMap["id"] = vngcle.ID + } + if vngcle.Location != nil { + objectMap["location"] = vngcle.Location + } + if vngcle.Tags != nil { + objectMap["tags"] = vngcle.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for VirtualNetworkGatewayConnectionListEntity struct. +func (vngcle *VirtualNetworkGatewayConnectionListEntity) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var virtualNetworkGatewayConnectionListEntityPropertiesFormat VirtualNetworkGatewayConnectionListEntityPropertiesFormat + err = json.Unmarshal(*v, &virtualNetworkGatewayConnectionListEntityPropertiesFormat) + if err != nil { + return err + } + vngcle.VirtualNetworkGatewayConnectionListEntityPropertiesFormat = &virtualNetworkGatewayConnectionListEntityPropertiesFormat + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + vngcle.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + vngcle.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + vngcle.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + vngcle.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + vngcle.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + vngcle.Tags = tags + } + } + } + + return nil +} + +// VirtualNetworkGatewayConnectionListEntityPropertiesFormat virtualNetworkGatewayConnection properties. +type VirtualNetworkGatewayConnectionListEntityPropertiesFormat struct { + // AuthorizationKey - The authorizationKey. + AuthorizationKey *string `json:"authorizationKey,omitempty"` + // VirtualNetworkGateway1 - The reference to virtual network gateway resource. + VirtualNetworkGateway1 *VirtualNetworkConnectionGatewayReference `json:"virtualNetworkGateway1,omitempty"` + // VirtualNetworkGateway2 - The reference to virtual network gateway resource. + VirtualNetworkGateway2 *VirtualNetworkConnectionGatewayReference `json:"virtualNetworkGateway2,omitempty"` + // LocalNetworkGateway2 - The reference to local network gateway resource. + LocalNetworkGateway2 *VirtualNetworkConnectionGatewayReference `json:"localNetworkGateway2,omitempty"` + // ConnectionType - Gateway connection type. Possible values include: 'IPsec', 'Vnet2Vnet', 'ExpressRoute', 'VPNClient' + ConnectionType VirtualNetworkGatewayConnectionType `json:"connectionType,omitempty"` + // ConnectionProtocol - Connection protocol used for this connection. Possible values include: 'IKEv2', 'IKEv1' + ConnectionProtocol VirtualNetworkGatewayConnectionProtocol `json:"connectionProtocol,omitempty"` + // RoutingWeight - The routing weight. + RoutingWeight *int32 `json:"routingWeight,omitempty"` + // SharedKey - The IPSec shared key. + SharedKey *string `json:"sharedKey,omitempty"` + // ConnectionStatus - READ-ONLY; Virtual Network Gateway connection status. Possible values include: 'VirtualNetworkGatewayConnectionStatusUnknown', 'VirtualNetworkGatewayConnectionStatusConnecting', 'VirtualNetworkGatewayConnectionStatusConnected', 'VirtualNetworkGatewayConnectionStatusNotConnected' + ConnectionStatus VirtualNetworkGatewayConnectionStatus `json:"connectionStatus,omitempty"` + // TunnelConnectionStatus - READ-ONLY; Collection of all tunnels' connection health status. + TunnelConnectionStatus *[]TunnelConnectionHealth `json:"tunnelConnectionStatus,omitempty"` + // EgressBytesTransferred - READ-ONLY; The egress bytes transferred in this connection. + EgressBytesTransferred *int64 `json:"egressBytesTransferred,omitempty"` + // IngressBytesTransferred - READ-ONLY; The ingress bytes transferred in this connection. + IngressBytesTransferred *int64 `json:"ingressBytesTransferred,omitempty"` + // Peer - The reference to peerings resource. + Peer *SubResource `json:"peer,omitempty"` + // EnableBgp - EnableBgp flag. + EnableBgp *bool `json:"enableBgp,omitempty"` + // UsePolicyBasedTrafficSelectors - Enable policy-based traffic selectors. + UsePolicyBasedTrafficSelectors *bool `json:"usePolicyBasedTrafficSelectors,omitempty"` + // IpsecPolicies - The IPSec Policies to be considered by this connection. + IpsecPolicies *[]IpsecPolicy `json:"ipsecPolicies,omitempty"` + // TrafficSelectorPolicies - The Traffic Selector Policies to be considered by this connection. + TrafficSelectorPolicies *[]TrafficSelectorPolicy `json:"trafficSelectorPolicies,omitempty"` + // ResourceGUID - The resource GUID property of the virtual network gateway connection resource. + ResourceGUID *string `json:"resourceGuid,omitempty"` + // ProvisioningState - READ-ONLY; The provisioning state of the virtual network gateway connection resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + // ExpressRouteGatewayBypass - Bypass ExpressRoute Gateway for data forwarding. + ExpressRouteGatewayBypass *bool `json:"expressRouteGatewayBypass,omitempty"` +} + +// VirtualNetworkGatewayConnectionListResult response for the ListVirtualNetworkGatewayConnections API +// service call. +type VirtualNetworkGatewayConnectionListResult struct { + autorest.Response `json:"-"` + // Value - A list of VirtualNetworkGatewayConnection resources that exists in a resource group. + Value *[]VirtualNetworkGatewayConnection `json:"value,omitempty"` + // NextLink - READ-ONLY; The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// VirtualNetworkGatewayConnectionListResultIterator provides access to a complete listing of +// VirtualNetworkGatewayConnection values. +type VirtualNetworkGatewayConnectionListResultIterator struct { + i int + page VirtualNetworkGatewayConnectionListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *VirtualNetworkGatewayConnectionListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewayConnectionListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *VirtualNetworkGatewayConnectionListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter VirtualNetworkGatewayConnectionListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter VirtualNetworkGatewayConnectionListResultIterator) Response() VirtualNetworkGatewayConnectionListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter VirtualNetworkGatewayConnectionListResultIterator) Value() VirtualNetworkGatewayConnection { + if !iter.page.NotDone() { + return VirtualNetworkGatewayConnection{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the VirtualNetworkGatewayConnectionListResultIterator type. +func NewVirtualNetworkGatewayConnectionListResultIterator(page VirtualNetworkGatewayConnectionListResultPage) VirtualNetworkGatewayConnectionListResultIterator { + return VirtualNetworkGatewayConnectionListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (vngclr VirtualNetworkGatewayConnectionListResult) IsEmpty() bool { + return vngclr.Value == nil || len(*vngclr.Value) == 0 +} + +// virtualNetworkGatewayConnectionListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (vngclr VirtualNetworkGatewayConnectionListResult) virtualNetworkGatewayConnectionListResultPreparer(ctx context.Context) (*http.Request, error) { + if vngclr.NextLink == nil || len(to.String(vngclr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(vngclr.NextLink))) +} + +// VirtualNetworkGatewayConnectionListResultPage contains a page of VirtualNetworkGatewayConnection values. +type VirtualNetworkGatewayConnectionListResultPage struct { + fn func(context.Context, VirtualNetworkGatewayConnectionListResult) (VirtualNetworkGatewayConnectionListResult, error) + vngclr VirtualNetworkGatewayConnectionListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *VirtualNetworkGatewayConnectionListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewayConnectionListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.vngclr) + if err != nil { + return err + } + page.vngclr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *VirtualNetworkGatewayConnectionListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page VirtualNetworkGatewayConnectionListResultPage) NotDone() bool { + return !page.vngclr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page VirtualNetworkGatewayConnectionListResultPage) Response() VirtualNetworkGatewayConnectionListResult { + return page.vngclr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page VirtualNetworkGatewayConnectionListResultPage) Values() []VirtualNetworkGatewayConnection { + if page.vngclr.IsEmpty() { + return nil + } + return *page.vngclr.Value +} + +// Creates a new instance of the VirtualNetworkGatewayConnectionListResultPage type. +func NewVirtualNetworkGatewayConnectionListResultPage(getNextPage func(context.Context, VirtualNetworkGatewayConnectionListResult) (VirtualNetworkGatewayConnectionListResult, error)) VirtualNetworkGatewayConnectionListResultPage { + return VirtualNetworkGatewayConnectionListResultPage{fn: getNextPage} +} + +// VirtualNetworkGatewayConnectionPropertiesFormat virtualNetworkGatewayConnection properties. +type VirtualNetworkGatewayConnectionPropertiesFormat struct { + // AuthorizationKey - The authorizationKey. + AuthorizationKey *string `json:"authorizationKey,omitempty"` + // VirtualNetworkGateway1 - The reference to virtual network gateway resource. + VirtualNetworkGateway1 *VirtualNetworkGateway `json:"virtualNetworkGateway1,omitempty"` + // VirtualNetworkGateway2 - The reference to virtual network gateway resource. + VirtualNetworkGateway2 *VirtualNetworkGateway `json:"virtualNetworkGateway2,omitempty"` + // LocalNetworkGateway2 - The reference to local network gateway resource. + LocalNetworkGateway2 *LocalNetworkGateway `json:"localNetworkGateway2,omitempty"` + // ConnectionType - Gateway connection type. Possible values include: 'IPsec', 'Vnet2Vnet', 'ExpressRoute', 'VPNClient' + ConnectionType VirtualNetworkGatewayConnectionType `json:"connectionType,omitempty"` + // ConnectionProtocol - Connection protocol used for this connection. Possible values include: 'IKEv2', 'IKEv1' + ConnectionProtocol VirtualNetworkGatewayConnectionProtocol `json:"connectionProtocol,omitempty"` + // RoutingWeight - The routing weight. + RoutingWeight *int32 `json:"routingWeight,omitempty"` + // SharedKey - The IPSec shared key. + SharedKey *string `json:"sharedKey,omitempty"` + // ConnectionStatus - READ-ONLY; Virtual Network Gateway connection status. Possible values include: 'VirtualNetworkGatewayConnectionStatusUnknown', 'VirtualNetworkGatewayConnectionStatusConnecting', 'VirtualNetworkGatewayConnectionStatusConnected', 'VirtualNetworkGatewayConnectionStatusNotConnected' + ConnectionStatus VirtualNetworkGatewayConnectionStatus `json:"connectionStatus,omitempty"` + // TunnelConnectionStatus - READ-ONLY; Collection of all tunnels' connection health status. + TunnelConnectionStatus *[]TunnelConnectionHealth `json:"tunnelConnectionStatus,omitempty"` + // EgressBytesTransferred - READ-ONLY; The egress bytes transferred in this connection. + EgressBytesTransferred *int64 `json:"egressBytesTransferred,omitempty"` + // IngressBytesTransferred - READ-ONLY; The ingress bytes transferred in this connection. + IngressBytesTransferred *int64 `json:"ingressBytesTransferred,omitempty"` + // Peer - The reference to peerings resource. + Peer *SubResource `json:"peer,omitempty"` + // EnableBgp - EnableBgp flag. + EnableBgp *bool `json:"enableBgp,omitempty"` + // UsePolicyBasedTrafficSelectors - Enable policy-based traffic selectors. + UsePolicyBasedTrafficSelectors *bool `json:"usePolicyBasedTrafficSelectors,omitempty"` + // IpsecPolicies - The IPSec Policies to be considered by this connection. + IpsecPolicies *[]IpsecPolicy `json:"ipsecPolicies,omitempty"` + // TrafficSelectorPolicies - The Traffic Selector Policies to be considered by this connection. + TrafficSelectorPolicies *[]TrafficSelectorPolicy `json:"trafficSelectorPolicies,omitempty"` + // ResourceGUID - The resource GUID property of the virtual network gateway connection resource. + ResourceGUID *string `json:"resourceGuid,omitempty"` + // ProvisioningState - READ-ONLY; The provisioning state of the virtual network gateway connection resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + // ExpressRouteGatewayBypass - Bypass ExpressRoute Gateway for data forwarding. + ExpressRouteGatewayBypass *bool `json:"expressRouteGatewayBypass,omitempty"` +} + +// VirtualNetworkGatewayConnectionsCreateOrUpdateFuture an abstraction for monitoring and retrieving the +// results of a long-running operation. +type VirtualNetworkGatewayConnectionsCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VirtualNetworkGatewayConnectionsCreateOrUpdateFuture) Result(client VirtualNetworkGatewayConnectionsClient) (vngc VirtualNetworkGatewayConnection, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewayConnectionsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VirtualNetworkGatewayConnectionsCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if vngc.Response.Response, err = future.GetResult(sender); err == nil && vngc.Response.Response.StatusCode != http.StatusNoContent { + vngc, err = client.CreateOrUpdateResponder(vngc.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewayConnectionsCreateOrUpdateFuture", "Result", vngc.Response.Response, "Failure responding to request") + } + } + return +} + +// VirtualNetworkGatewayConnectionsDeleteFuture an abstraction for monitoring and retrieving the results of +// a long-running operation. +type VirtualNetworkGatewayConnectionsDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VirtualNetworkGatewayConnectionsDeleteFuture) Result(client VirtualNetworkGatewayConnectionsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewayConnectionsDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VirtualNetworkGatewayConnectionsDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// VirtualNetworkGatewayConnectionsResetSharedKeyFuture an abstraction for monitoring and retrieving the +// results of a long-running operation. +type VirtualNetworkGatewayConnectionsResetSharedKeyFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VirtualNetworkGatewayConnectionsResetSharedKeyFuture) Result(client VirtualNetworkGatewayConnectionsClient) (crsk ConnectionResetSharedKey, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewayConnectionsResetSharedKeyFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VirtualNetworkGatewayConnectionsResetSharedKeyFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if crsk.Response.Response, err = future.GetResult(sender); err == nil && crsk.Response.Response.StatusCode != http.StatusNoContent { + crsk, err = client.ResetSharedKeyResponder(crsk.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewayConnectionsResetSharedKeyFuture", "Result", crsk.Response.Response, "Failure responding to request") + } + } + return +} + +// VirtualNetworkGatewayConnectionsSetSharedKeyFuture an abstraction for monitoring and retrieving the +// results of a long-running operation. +type VirtualNetworkGatewayConnectionsSetSharedKeyFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VirtualNetworkGatewayConnectionsSetSharedKeyFuture) Result(client VirtualNetworkGatewayConnectionsClient) (csk ConnectionSharedKey, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewayConnectionsSetSharedKeyFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VirtualNetworkGatewayConnectionsSetSharedKeyFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if csk.Response.Response, err = future.GetResult(sender); err == nil && csk.Response.Response.StatusCode != http.StatusNoContent { + csk, err = client.SetSharedKeyResponder(csk.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewayConnectionsSetSharedKeyFuture", "Result", csk.Response.Response, "Failure responding to request") + } + } + return +} + +// VirtualNetworkGatewayConnectionsStartPacketCaptureFuture an abstraction for monitoring and retrieving +// the results of a long-running operation. +type VirtualNetworkGatewayConnectionsStartPacketCaptureFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VirtualNetworkGatewayConnectionsStartPacketCaptureFuture) Result(client VirtualNetworkGatewayConnectionsClient) (s String, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewayConnectionsStartPacketCaptureFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VirtualNetworkGatewayConnectionsStartPacketCaptureFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if s.Response.Response, err = future.GetResult(sender); err == nil && s.Response.Response.StatusCode != http.StatusNoContent { + s, err = client.StartPacketCaptureResponder(s.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewayConnectionsStartPacketCaptureFuture", "Result", s.Response.Response, "Failure responding to request") + } + } + return +} + +// VirtualNetworkGatewayConnectionsStopPacketCaptureFuture an abstraction for monitoring and retrieving the +// results of a long-running operation. +type VirtualNetworkGatewayConnectionsStopPacketCaptureFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VirtualNetworkGatewayConnectionsStopPacketCaptureFuture) Result(client VirtualNetworkGatewayConnectionsClient) (s String, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewayConnectionsStopPacketCaptureFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VirtualNetworkGatewayConnectionsStopPacketCaptureFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if s.Response.Response, err = future.GetResult(sender); err == nil && s.Response.Response.StatusCode != http.StatusNoContent { + s, err = client.StopPacketCaptureResponder(s.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewayConnectionsStopPacketCaptureFuture", "Result", s.Response.Response, "Failure responding to request") + } + } + return +} + +// VirtualNetworkGatewayConnectionsUpdateTagsFuture an abstraction for monitoring and retrieving the +// results of a long-running operation. +type VirtualNetworkGatewayConnectionsUpdateTagsFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VirtualNetworkGatewayConnectionsUpdateTagsFuture) Result(client VirtualNetworkGatewayConnectionsClient) (vngc VirtualNetworkGatewayConnection, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewayConnectionsUpdateTagsFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VirtualNetworkGatewayConnectionsUpdateTagsFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if vngc.Response.Response, err = future.GetResult(sender); err == nil && vngc.Response.Response.StatusCode != http.StatusNoContent { + vngc, err = client.UpdateTagsResponder(vngc.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewayConnectionsUpdateTagsFuture", "Result", vngc.Response.Response, "Failure responding to request") + } + } + return +} + +// VirtualNetworkGatewayIPConfiguration IP configuration for virtual network gateway. +type VirtualNetworkGatewayIPConfiguration struct { + // VirtualNetworkGatewayIPConfigurationPropertiesFormat - Properties of the virtual network gateway ip configuration. + *VirtualNetworkGatewayIPConfigurationPropertiesFormat `json:"properties,omitempty"` + // Name - The name of the resource that is unique within a resource group. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for VirtualNetworkGatewayIPConfiguration. +func (vngic VirtualNetworkGatewayIPConfiguration) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if vngic.VirtualNetworkGatewayIPConfigurationPropertiesFormat != nil { + objectMap["properties"] = vngic.VirtualNetworkGatewayIPConfigurationPropertiesFormat + } + if vngic.Name != nil { + objectMap["name"] = vngic.Name + } + if vngic.Etag != nil { + objectMap["etag"] = vngic.Etag + } + if vngic.ID != nil { + objectMap["id"] = vngic.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for VirtualNetworkGatewayIPConfiguration struct. +func (vngic *VirtualNetworkGatewayIPConfiguration) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var virtualNetworkGatewayIPConfigurationPropertiesFormat VirtualNetworkGatewayIPConfigurationPropertiesFormat + err = json.Unmarshal(*v, &virtualNetworkGatewayIPConfigurationPropertiesFormat) + if err != nil { + return err + } + vngic.VirtualNetworkGatewayIPConfigurationPropertiesFormat = &virtualNetworkGatewayIPConfigurationPropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + vngic.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + vngic.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + vngic.ID = &ID + } + } + } + + return nil +} + +// VirtualNetworkGatewayIPConfigurationPropertiesFormat properties of VirtualNetworkGatewayIPConfiguration. +type VirtualNetworkGatewayIPConfigurationPropertiesFormat struct { + // PrivateIPAllocationMethod - The private IP address allocation method. Possible values include: 'Static', 'Dynamic' + PrivateIPAllocationMethod IPAllocationMethod `json:"privateIPAllocationMethod,omitempty"` + // Subnet - The reference of the subnet resource. + Subnet *SubResource `json:"subnet,omitempty"` + // PublicIPAddress - The reference of the public IP resource. + PublicIPAddress *SubResource `json:"publicIPAddress,omitempty"` + // ProvisioningState - READ-ONLY; The provisioning state of the virtual network gateway IP configuration resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// VirtualNetworkGatewayListConnectionsResult response for the VirtualNetworkGatewayListConnections API +// service call. +type VirtualNetworkGatewayListConnectionsResult struct { + autorest.Response `json:"-"` + // Value - A list of VirtualNetworkGatewayConnection resources that exists in a resource group. + Value *[]VirtualNetworkGatewayConnectionListEntity `json:"value,omitempty"` + // NextLink - READ-ONLY; The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// VirtualNetworkGatewayListConnectionsResultIterator provides access to a complete listing of +// VirtualNetworkGatewayConnectionListEntity values. +type VirtualNetworkGatewayListConnectionsResultIterator struct { + i int + page VirtualNetworkGatewayListConnectionsResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *VirtualNetworkGatewayListConnectionsResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewayListConnectionsResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *VirtualNetworkGatewayListConnectionsResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter VirtualNetworkGatewayListConnectionsResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter VirtualNetworkGatewayListConnectionsResultIterator) Response() VirtualNetworkGatewayListConnectionsResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter VirtualNetworkGatewayListConnectionsResultIterator) Value() VirtualNetworkGatewayConnectionListEntity { + if !iter.page.NotDone() { + return VirtualNetworkGatewayConnectionListEntity{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the VirtualNetworkGatewayListConnectionsResultIterator type. +func NewVirtualNetworkGatewayListConnectionsResultIterator(page VirtualNetworkGatewayListConnectionsResultPage) VirtualNetworkGatewayListConnectionsResultIterator { + return VirtualNetworkGatewayListConnectionsResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (vnglcr VirtualNetworkGatewayListConnectionsResult) IsEmpty() bool { + return vnglcr.Value == nil || len(*vnglcr.Value) == 0 +} + +// virtualNetworkGatewayListConnectionsResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (vnglcr VirtualNetworkGatewayListConnectionsResult) virtualNetworkGatewayListConnectionsResultPreparer(ctx context.Context) (*http.Request, error) { + if vnglcr.NextLink == nil || len(to.String(vnglcr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(vnglcr.NextLink))) +} + +// VirtualNetworkGatewayListConnectionsResultPage contains a page of +// VirtualNetworkGatewayConnectionListEntity values. +type VirtualNetworkGatewayListConnectionsResultPage struct { + fn func(context.Context, VirtualNetworkGatewayListConnectionsResult) (VirtualNetworkGatewayListConnectionsResult, error) + vnglcr VirtualNetworkGatewayListConnectionsResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *VirtualNetworkGatewayListConnectionsResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewayListConnectionsResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.vnglcr) + if err != nil { + return err + } + page.vnglcr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *VirtualNetworkGatewayListConnectionsResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page VirtualNetworkGatewayListConnectionsResultPage) NotDone() bool { + return !page.vnglcr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page VirtualNetworkGatewayListConnectionsResultPage) Response() VirtualNetworkGatewayListConnectionsResult { + return page.vnglcr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page VirtualNetworkGatewayListConnectionsResultPage) Values() []VirtualNetworkGatewayConnectionListEntity { + if page.vnglcr.IsEmpty() { + return nil + } + return *page.vnglcr.Value +} + +// Creates a new instance of the VirtualNetworkGatewayListConnectionsResultPage type. +func NewVirtualNetworkGatewayListConnectionsResultPage(getNextPage func(context.Context, VirtualNetworkGatewayListConnectionsResult) (VirtualNetworkGatewayListConnectionsResult, error)) VirtualNetworkGatewayListConnectionsResultPage { + return VirtualNetworkGatewayListConnectionsResultPage{fn: getNextPage} +} + +// VirtualNetworkGatewayListResult response for the ListVirtualNetworkGateways API service call. +type VirtualNetworkGatewayListResult struct { + autorest.Response `json:"-"` + // Value - A list of VirtualNetworkGateway resources that exists in a resource group. + Value *[]VirtualNetworkGateway `json:"value,omitempty"` + // NextLink - READ-ONLY; The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// VirtualNetworkGatewayListResultIterator provides access to a complete listing of VirtualNetworkGateway +// values. +type VirtualNetworkGatewayListResultIterator struct { + i int + page VirtualNetworkGatewayListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *VirtualNetworkGatewayListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewayListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *VirtualNetworkGatewayListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter VirtualNetworkGatewayListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter VirtualNetworkGatewayListResultIterator) Response() VirtualNetworkGatewayListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter VirtualNetworkGatewayListResultIterator) Value() VirtualNetworkGateway { + if !iter.page.NotDone() { + return VirtualNetworkGateway{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the VirtualNetworkGatewayListResultIterator type. +func NewVirtualNetworkGatewayListResultIterator(page VirtualNetworkGatewayListResultPage) VirtualNetworkGatewayListResultIterator { + return VirtualNetworkGatewayListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (vnglr VirtualNetworkGatewayListResult) IsEmpty() bool { + return vnglr.Value == nil || len(*vnglr.Value) == 0 +} + +// virtualNetworkGatewayListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (vnglr VirtualNetworkGatewayListResult) virtualNetworkGatewayListResultPreparer(ctx context.Context) (*http.Request, error) { + if vnglr.NextLink == nil || len(to.String(vnglr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(vnglr.NextLink))) +} + +// VirtualNetworkGatewayListResultPage contains a page of VirtualNetworkGateway values. +type VirtualNetworkGatewayListResultPage struct { + fn func(context.Context, VirtualNetworkGatewayListResult) (VirtualNetworkGatewayListResult, error) + vnglr VirtualNetworkGatewayListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *VirtualNetworkGatewayListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewayListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.vnglr) + if err != nil { + return err + } + page.vnglr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *VirtualNetworkGatewayListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page VirtualNetworkGatewayListResultPage) NotDone() bool { + return !page.vnglr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page VirtualNetworkGatewayListResultPage) Response() VirtualNetworkGatewayListResult { + return page.vnglr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page VirtualNetworkGatewayListResultPage) Values() []VirtualNetworkGateway { + if page.vnglr.IsEmpty() { + return nil + } + return *page.vnglr.Value +} + +// Creates a new instance of the VirtualNetworkGatewayListResultPage type. +func NewVirtualNetworkGatewayListResultPage(getNextPage func(context.Context, VirtualNetworkGatewayListResult) (VirtualNetworkGatewayListResult, error)) VirtualNetworkGatewayListResultPage { + return VirtualNetworkGatewayListResultPage{fn: getNextPage} +} + +// VirtualNetworkGatewayPropertiesFormat virtualNetworkGateway properties. +type VirtualNetworkGatewayPropertiesFormat struct { + // IPConfigurations - IP configurations for virtual network gateway. + IPConfigurations *[]VirtualNetworkGatewayIPConfiguration `json:"ipConfigurations,omitempty"` + // GatewayType - The type of this virtual network gateway. Possible values include: 'VirtualNetworkGatewayTypeVpn', 'VirtualNetworkGatewayTypeExpressRoute' + GatewayType VirtualNetworkGatewayType `json:"gatewayType,omitempty"` + // VpnType - The type of this virtual network gateway. Possible values include: 'PolicyBased', 'RouteBased' + VpnType VpnType `json:"vpnType,omitempty"` + // VpnGatewayGeneration - The generation for this VirtualNetworkGateway. Must be None if gatewayType is not VPN. Possible values include: 'VpnGatewayGenerationNone', 'VpnGatewayGenerationGeneration1', 'VpnGatewayGenerationGeneration2' + VpnGatewayGeneration VpnGatewayGeneration `json:"vpnGatewayGeneration,omitempty"` + // EnableBgp - Whether BGP is enabled for this virtual network gateway or not. + EnableBgp *bool `json:"enableBgp,omitempty"` + // ActiveActive - ActiveActive flag. + ActiveActive *bool `json:"activeActive,omitempty"` + // GatewayDefaultSite - The reference of the LocalNetworkGateway resource which represents local network site having default routes. Assign Null value in case of removing existing default site setting. + GatewayDefaultSite *SubResource `json:"gatewayDefaultSite,omitempty"` + // Sku - The reference of the VirtualNetworkGatewaySku resource which represents the SKU selected for Virtual network gateway. + Sku *VirtualNetworkGatewaySku `json:"sku,omitempty"` + // VpnClientConfiguration - The reference of the VpnClientConfiguration resource which represents the P2S VpnClient configurations. + VpnClientConfiguration *VpnClientConfiguration `json:"vpnClientConfiguration,omitempty"` + // BgpSettings - Virtual network gateway's BGP speaker settings. + BgpSettings *BgpSettings `json:"bgpSettings,omitempty"` + // CustomRoutes - The reference of the address space resource which represents the custom routes address space specified by the customer for virtual network gateway and VpnClient. + CustomRoutes *AddressSpace `json:"customRoutes,omitempty"` + // ResourceGUID - The resource GUID property of the virtual network gateway resource. + ResourceGUID *string `json:"resourceGuid,omitempty"` + // ProvisioningState - READ-ONLY; The provisioning state of the virtual network gateway resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + // EnableDNSForwarding - Whether dns forwarding is enabled or not. + EnableDNSForwarding *bool `json:"enableDnsForwarding,omitempty"` + // InboundDNSForwardingEndpoint - READ-ONLY; The IP address allocated by the gateway to which dns requests can be sent. + InboundDNSForwardingEndpoint *string `json:"inboundDnsForwardingEndpoint,omitempty"` +} + +// VirtualNetworkGatewaysCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type VirtualNetworkGatewaysCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VirtualNetworkGatewaysCreateOrUpdateFuture) Result(client VirtualNetworkGatewaysClient) (vng VirtualNetworkGateway, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VirtualNetworkGatewaysCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if vng.Response.Response, err = future.GetResult(sender); err == nil && vng.Response.Response.StatusCode != http.StatusNoContent { + vng, err = client.CreateOrUpdateResponder(vng.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysCreateOrUpdateFuture", "Result", vng.Response.Response, "Failure responding to request") + } + } + return +} + +// VirtualNetworkGatewaysDeleteFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type VirtualNetworkGatewaysDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VirtualNetworkGatewaysDeleteFuture) Result(client VirtualNetworkGatewaysClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VirtualNetworkGatewaysDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// VirtualNetworkGatewaysGeneratevpnclientpackageFuture an abstraction for monitoring and retrieving the +// results of a long-running operation. +type VirtualNetworkGatewaysGeneratevpnclientpackageFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VirtualNetworkGatewaysGeneratevpnclientpackageFuture) Result(client VirtualNetworkGatewaysClient) (s String, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysGeneratevpnclientpackageFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VirtualNetworkGatewaysGeneratevpnclientpackageFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if s.Response.Response, err = future.GetResult(sender); err == nil && s.Response.Response.StatusCode != http.StatusNoContent { + s, err = client.GeneratevpnclientpackageResponder(s.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysGeneratevpnclientpackageFuture", "Result", s.Response.Response, "Failure responding to request") + } + } + return +} + +// VirtualNetworkGatewaysGenerateVpnProfileFuture an abstraction for monitoring and retrieving the results +// of a long-running operation. +type VirtualNetworkGatewaysGenerateVpnProfileFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VirtualNetworkGatewaysGenerateVpnProfileFuture) Result(client VirtualNetworkGatewaysClient) (s String, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysGenerateVpnProfileFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VirtualNetworkGatewaysGenerateVpnProfileFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if s.Response.Response, err = future.GetResult(sender); err == nil && s.Response.Response.StatusCode != http.StatusNoContent { + s, err = client.GenerateVpnProfileResponder(s.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysGenerateVpnProfileFuture", "Result", s.Response.Response, "Failure responding to request") + } + } + return +} + +// VirtualNetworkGatewaysGetAdvertisedRoutesFuture an abstraction for monitoring and retrieving the results +// of a long-running operation. +type VirtualNetworkGatewaysGetAdvertisedRoutesFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VirtualNetworkGatewaysGetAdvertisedRoutesFuture) Result(client VirtualNetworkGatewaysClient) (grlr GatewayRouteListResult, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysGetAdvertisedRoutesFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VirtualNetworkGatewaysGetAdvertisedRoutesFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if grlr.Response.Response, err = future.GetResult(sender); err == nil && grlr.Response.Response.StatusCode != http.StatusNoContent { + grlr, err = client.GetAdvertisedRoutesResponder(grlr.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysGetAdvertisedRoutesFuture", "Result", grlr.Response.Response, "Failure responding to request") + } + } + return +} + +// VirtualNetworkGatewaysGetBgpPeerStatusFuture an abstraction for monitoring and retrieving the results of +// a long-running operation. +type VirtualNetworkGatewaysGetBgpPeerStatusFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VirtualNetworkGatewaysGetBgpPeerStatusFuture) Result(client VirtualNetworkGatewaysClient) (bpslr BgpPeerStatusListResult, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysGetBgpPeerStatusFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VirtualNetworkGatewaysGetBgpPeerStatusFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if bpslr.Response.Response, err = future.GetResult(sender); err == nil && bpslr.Response.Response.StatusCode != http.StatusNoContent { + bpslr, err = client.GetBgpPeerStatusResponder(bpslr.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysGetBgpPeerStatusFuture", "Result", bpslr.Response.Response, "Failure responding to request") + } + } + return +} + +// VirtualNetworkGatewaysGetLearnedRoutesFuture an abstraction for monitoring and retrieving the results of +// a long-running operation. +type VirtualNetworkGatewaysGetLearnedRoutesFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VirtualNetworkGatewaysGetLearnedRoutesFuture) Result(client VirtualNetworkGatewaysClient) (grlr GatewayRouteListResult, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysGetLearnedRoutesFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VirtualNetworkGatewaysGetLearnedRoutesFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if grlr.Response.Response, err = future.GetResult(sender); err == nil && grlr.Response.Response.StatusCode != http.StatusNoContent { + grlr, err = client.GetLearnedRoutesResponder(grlr.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysGetLearnedRoutesFuture", "Result", grlr.Response.Response, "Failure responding to request") + } + } + return +} + +// VirtualNetworkGatewaysGetVpnclientConnectionHealthFuture an abstraction for monitoring and retrieving +// the results of a long-running operation. +type VirtualNetworkGatewaysGetVpnclientConnectionHealthFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VirtualNetworkGatewaysGetVpnclientConnectionHealthFuture) Result(client VirtualNetworkGatewaysClient) (vcchdlr VpnClientConnectionHealthDetailListResult, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysGetVpnclientConnectionHealthFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VirtualNetworkGatewaysGetVpnclientConnectionHealthFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if vcchdlr.Response.Response, err = future.GetResult(sender); err == nil && vcchdlr.Response.Response.StatusCode != http.StatusNoContent { + vcchdlr, err = client.GetVpnclientConnectionHealthResponder(vcchdlr.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysGetVpnclientConnectionHealthFuture", "Result", vcchdlr.Response.Response, "Failure responding to request") + } + } + return +} + +// VirtualNetworkGatewaysGetVpnclientIpsecParametersFuture an abstraction for monitoring and retrieving the +// results of a long-running operation. +type VirtualNetworkGatewaysGetVpnclientIpsecParametersFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VirtualNetworkGatewaysGetVpnclientIpsecParametersFuture) Result(client VirtualNetworkGatewaysClient) (vcipp VpnClientIPsecParameters, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysGetVpnclientIpsecParametersFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VirtualNetworkGatewaysGetVpnclientIpsecParametersFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if vcipp.Response.Response, err = future.GetResult(sender); err == nil && vcipp.Response.Response.StatusCode != http.StatusNoContent { + vcipp, err = client.GetVpnclientIpsecParametersResponder(vcipp.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysGetVpnclientIpsecParametersFuture", "Result", vcipp.Response.Response, "Failure responding to request") + } + } + return +} + +// VirtualNetworkGatewaysGetVpnProfilePackageURLFuture an abstraction for monitoring and retrieving the +// results of a long-running operation. +type VirtualNetworkGatewaysGetVpnProfilePackageURLFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VirtualNetworkGatewaysGetVpnProfilePackageURLFuture) Result(client VirtualNetworkGatewaysClient) (s String, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysGetVpnProfilePackageURLFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VirtualNetworkGatewaysGetVpnProfilePackageURLFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if s.Response.Response, err = future.GetResult(sender); err == nil && s.Response.Response.StatusCode != http.StatusNoContent { + s, err = client.GetVpnProfilePackageURLResponder(s.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysGetVpnProfilePackageURLFuture", "Result", s.Response.Response, "Failure responding to request") + } + } + return +} + +// VirtualNetworkGatewaySku virtualNetworkGatewaySku details. +type VirtualNetworkGatewaySku struct { + // Name - Gateway SKU name. Possible values include: 'VirtualNetworkGatewaySkuNameBasic', 'VirtualNetworkGatewaySkuNameHighPerformance', 'VirtualNetworkGatewaySkuNameStandard', 'VirtualNetworkGatewaySkuNameUltraPerformance', 'VirtualNetworkGatewaySkuNameVpnGw1', 'VirtualNetworkGatewaySkuNameVpnGw2', 'VirtualNetworkGatewaySkuNameVpnGw3', 'VirtualNetworkGatewaySkuNameVpnGw4', 'VirtualNetworkGatewaySkuNameVpnGw5', 'VirtualNetworkGatewaySkuNameVpnGw1AZ', 'VirtualNetworkGatewaySkuNameVpnGw2AZ', 'VirtualNetworkGatewaySkuNameVpnGw3AZ', 'VirtualNetworkGatewaySkuNameVpnGw4AZ', 'VirtualNetworkGatewaySkuNameVpnGw5AZ', 'VirtualNetworkGatewaySkuNameErGw1AZ', 'VirtualNetworkGatewaySkuNameErGw2AZ', 'VirtualNetworkGatewaySkuNameErGw3AZ' + Name VirtualNetworkGatewaySkuName `json:"name,omitempty"` + // Tier - Gateway SKU tier. Possible values include: 'VirtualNetworkGatewaySkuTierBasic', 'VirtualNetworkGatewaySkuTierHighPerformance', 'VirtualNetworkGatewaySkuTierStandard', 'VirtualNetworkGatewaySkuTierUltraPerformance', 'VirtualNetworkGatewaySkuTierVpnGw1', 'VirtualNetworkGatewaySkuTierVpnGw2', 'VirtualNetworkGatewaySkuTierVpnGw3', 'VirtualNetworkGatewaySkuTierVpnGw4', 'VirtualNetworkGatewaySkuTierVpnGw5', 'VirtualNetworkGatewaySkuTierVpnGw1AZ', 'VirtualNetworkGatewaySkuTierVpnGw2AZ', 'VirtualNetworkGatewaySkuTierVpnGw3AZ', 'VirtualNetworkGatewaySkuTierVpnGw4AZ', 'VirtualNetworkGatewaySkuTierVpnGw5AZ', 'VirtualNetworkGatewaySkuTierErGw1AZ', 'VirtualNetworkGatewaySkuTierErGw2AZ', 'VirtualNetworkGatewaySkuTierErGw3AZ' + Tier VirtualNetworkGatewaySkuTier `json:"tier,omitempty"` + // Capacity - The capacity. + Capacity *int32 `json:"capacity,omitempty"` +} + +// VirtualNetworkGatewaysResetFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type VirtualNetworkGatewaysResetFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VirtualNetworkGatewaysResetFuture) Result(client VirtualNetworkGatewaysClient) (vng VirtualNetworkGateway, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysResetFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VirtualNetworkGatewaysResetFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if vng.Response.Response, err = future.GetResult(sender); err == nil && vng.Response.Response.StatusCode != http.StatusNoContent { + vng, err = client.ResetResponder(vng.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysResetFuture", "Result", vng.Response.Response, "Failure responding to request") + } + } + return +} + +// VirtualNetworkGatewaysResetVpnClientSharedKeyFuture an abstraction for monitoring and retrieving the +// results of a long-running operation. +type VirtualNetworkGatewaysResetVpnClientSharedKeyFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VirtualNetworkGatewaysResetVpnClientSharedKeyFuture) Result(client VirtualNetworkGatewaysClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysResetVpnClientSharedKeyFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VirtualNetworkGatewaysResetVpnClientSharedKeyFuture") + return + } + ar.Response = future.Response() + return +} + +// VirtualNetworkGatewaysSetVpnclientIpsecParametersFuture an abstraction for monitoring and retrieving the +// results of a long-running operation. +type VirtualNetworkGatewaysSetVpnclientIpsecParametersFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VirtualNetworkGatewaysSetVpnclientIpsecParametersFuture) Result(client VirtualNetworkGatewaysClient) (vcipp VpnClientIPsecParameters, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysSetVpnclientIpsecParametersFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VirtualNetworkGatewaysSetVpnclientIpsecParametersFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if vcipp.Response.Response, err = future.GetResult(sender); err == nil && vcipp.Response.Response.StatusCode != http.StatusNoContent { + vcipp, err = client.SetVpnclientIpsecParametersResponder(vcipp.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysSetVpnclientIpsecParametersFuture", "Result", vcipp.Response.Response, "Failure responding to request") + } + } + return +} + +// VirtualNetworkGatewaysStartPacketCaptureFuture an abstraction for monitoring and retrieving the results +// of a long-running operation. +type VirtualNetworkGatewaysStartPacketCaptureFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VirtualNetworkGatewaysStartPacketCaptureFuture) Result(client VirtualNetworkGatewaysClient) (s String, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysStartPacketCaptureFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VirtualNetworkGatewaysStartPacketCaptureFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if s.Response.Response, err = future.GetResult(sender); err == nil && s.Response.Response.StatusCode != http.StatusNoContent { + s, err = client.StartPacketCaptureResponder(s.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysStartPacketCaptureFuture", "Result", s.Response.Response, "Failure responding to request") + } + } + return +} + +// VirtualNetworkGatewaysStopPacketCaptureFuture an abstraction for monitoring and retrieving the results +// of a long-running operation. +type VirtualNetworkGatewaysStopPacketCaptureFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VirtualNetworkGatewaysStopPacketCaptureFuture) Result(client VirtualNetworkGatewaysClient) (s String, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysStopPacketCaptureFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VirtualNetworkGatewaysStopPacketCaptureFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if s.Response.Response, err = future.GetResult(sender); err == nil && s.Response.Response.StatusCode != http.StatusNoContent { + s, err = client.StopPacketCaptureResponder(s.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysStopPacketCaptureFuture", "Result", s.Response.Response, "Failure responding to request") + } + } + return +} + +// VirtualNetworkGatewaysUpdateTagsFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type VirtualNetworkGatewaysUpdateTagsFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VirtualNetworkGatewaysUpdateTagsFuture) Result(client VirtualNetworkGatewaysClient) (vng VirtualNetworkGateway, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysUpdateTagsFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VirtualNetworkGatewaysUpdateTagsFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if vng.Response.Response, err = future.GetResult(sender); err == nil && vng.Response.Response.StatusCode != http.StatusNoContent { + vng, err = client.UpdateTagsResponder(vng.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysUpdateTagsFuture", "Result", vng.Response.Response, "Failure responding to request") + } + } + return +} + +// VirtualNetworkListResult response for the ListVirtualNetworks API service call. +type VirtualNetworkListResult struct { + autorest.Response `json:"-"` + // Value - A list of VirtualNetwork resources in a resource group. + Value *[]VirtualNetwork `json:"value,omitempty"` + // NextLink - The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// VirtualNetworkListResultIterator provides access to a complete listing of VirtualNetwork values. +type VirtualNetworkListResultIterator struct { + i int + page VirtualNetworkListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *VirtualNetworkListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *VirtualNetworkListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter VirtualNetworkListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter VirtualNetworkListResultIterator) Response() VirtualNetworkListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter VirtualNetworkListResultIterator) Value() VirtualNetwork { + if !iter.page.NotDone() { + return VirtualNetwork{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the VirtualNetworkListResultIterator type. +func NewVirtualNetworkListResultIterator(page VirtualNetworkListResultPage) VirtualNetworkListResultIterator { + return VirtualNetworkListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (vnlr VirtualNetworkListResult) IsEmpty() bool { + return vnlr.Value == nil || len(*vnlr.Value) == 0 +} + +// virtualNetworkListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (vnlr VirtualNetworkListResult) virtualNetworkListResultPreparer(ctx context.Context) (*http.Request, error) { + if vnlr.NextLink == nil || len(to.String(vnlr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(vnlr.NextLink))) +} + +// VirtualNetworkListResultPage contains a page of VirtualNetwork values. +type VirtualNetworkListResultPage struct { + fn func(context.Context, VirtualNetworkListResult) (VirtualNetworkListResult, error) + vnlr VirtualNetworkListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *VirtualNetworkListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.vnlr) + if err != nil { + return err + } + page.vnlr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *VirtualNetworkListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page VirtualNetworkListResultPage) NotDone() bool { + return !page.vnlr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page VirtualNetworkListResultPage) Response() VirtualNetworkListResult { + return page.vnlr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page VirtualNetworkListResultPage) Values() []VirtualNetwork { + if page.vnlr.IsEmpty() { + return nil + } + return *page.vnlr.Value +} + +// Creates a new instance of the VirtualNetworkListResultPage type. +func NewVirtualNetworkListResultPage(getNextPage func(context.Context, VirtualNetworkListResult) (VirtualNetworkListResult, error)) VirtualNetworkListResultPage { + return VirtualNetworkListResultPage{fn: getNextPage} +} + +// VirtualNetworkListUsageResult response for the virtual networks GetUsage API service call. +type VirtualNetworkListUsageResult struct { + autorest.Response `json:"-"` + // Value - READ-ONLY; VirtualNetwork usage stats. + Value *[]VirtualNetworkUsage `json:"value,omitempty"` + // NextLink - The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// VirtualNetworkListUsageResultIterator provides access to a complete listing of VirtualNetworkUsage +// values. +type VirtualNetworkListUsageResultIterator struct { + i int + page VirtualNetworkListUsageResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *VirtualNetworkListUsageResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkListUsageResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *VirtualNetworkListUsageResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter VirtualNetworkListUsageResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter VirtualNetworkListUsageResultIterator) Response() VirtualNetworkListUsageResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter VirtualNetworkListUsageResultIterator) Value() VirtualNetworkUsage { + if !iter.page.NotDone() { + return VirtualNetworkUsage{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the VirtualNetworkListUsageResultIterator type. +func NewVirtualNetworkListUsageResultIterator(page VirtualNetworkListUsageResultPage) VirtualNetworkListUsageResultIterator { + return VirtualNetworkListUsageResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (vnlur VirtualNetworkListUsageResult) IsEmpty() bool { + return vnlur.Value == nil || len(*vnlur.Value) == 0 +} + +// virtualNetworkListUsageResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (vnlur VirtualNetworkListUsageResult) virtualNetworkListUsageResultPreparer(ctx context.Context) (*http.Request, error) { + if vnlur.NextLink == nil || len(to.String(vnlur.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(vnlur.NextLink))) +} + +// VirtualNetworkListUsageResultPage contains a page of VirtualNetworkUsage values. +type VirtualNetworkListUsageResultPage struct { + fn func(context.Context, VirtualNetworkListUsageResult) (VirtualNetworkListUsageResult, error) + vnlur VirtualNetworkListUsageResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *VirtualNetworkListUsageResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkListUsageResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.vnlur) + if err != nil { + return err + } + page.vnlur = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *VirtualNetworkListUsageResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page VirtualNetworkListUsageResultPage) NotDone() bool { + return !page.vnlur.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page VirtualNetworkListUsageResultPage) Response() VirtualNetworkListUsageResult { + return page.vnlur +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page VirtualNetworkListUsageResultPage) Values() []VirtualNetworkUsage { + if page.vnlur.IsEmpty() { + return nil + } + return *page.vnlur.Value +} + +// Creates a new instance of the VirtualNetworkListUsageResultPage type. +func NewVirtualNetworkListUsageResultPage(getNextPage func(context.Context, VirtualNetworkListUsageResult) (VirtualNetworkListUsageResult, error)) VirtualNetworkListUsageResultPage { + return VirtualNetworkListUsageResultPage{fn: getNextPage} +} + +// VirtualNetworkPeering peerings in a virtual network resource. +type VirtualNetworkPeering struct { + autorest.Response `json:"-"` + // VirtualNetworkPeeringPropertiesFormat - Properties of the virtual network peering. + *VirtualNetworkPeeringPropertiesFormat `json:"properties,omitempty"` + // Name - The name of the resource that is unique within a resource group. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for VirtualNetworkPeering. +func (vnp VirtualNetworkPeering) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if vnp.VirtualNetworkPeeringPropertiesFormat != nil { + objectMap["properties"] = vnp.VirtualNetworkPeeringPropertiesFormat + } + if vnp.Name != nil { + objectMap["name"] = vnp.Name + } + if vnp.Etag != nil { + objectMap["etag"] = vnp.Etag + } + if vnp.ID != nil { + objectMap["id"] = vnp.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for VirtualNetworkPeering struct. +func (vnp *VirtualNetworkPeering) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var virtualNetworkPeeringPropertiesFormat VirtualNetworkPeeringPropertiesFormat + err = json.Unmarshal(*v, &virtualNetworkPeeringPropertiesFormat) + if err != nil { + return err + } + vnp.VirtualNetworkPeeringPropertiesFormat = &virtualNetworkPeeringPropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + vnp.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + vnp.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + vnp.ID = &ID + } + } + } + + return nil +} + +// VirtualNetworkPeeringListResult response for ListSubnets API service call. Retrieves all subnets that +// belong to a virtual network. +type VirtualNetworkPeeringListResult struct { + autorest.Response `json:"-"` + // Value - The peerings in a virtual network. + Value *[]VirtualNetworkPeering `json:"value,omitempty"` + // NextLink - The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// VirtualNetworkPeeringListResultIterator provides access to a complete listing of VirtualNetworkPeering +// values. +type VirtualNetworkPeeringListResultIterator struct { + i int + page VirtualNetworkPeeringListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *VirtualNetworkPeeringListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkPeeringListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *VirtualNetworkPeeringListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter VirtualNetworkPeeringListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter VirtualNetworkPeeringListResultIterator) Response() VirtualNetworkPeeringListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter VirtualNetworkPeeringListResultIterator) Value() VirtualNetworkPeering { + if !iter.page.NotDone() { + return VirtualNetworkPeering{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the VirtualNetworkPeeringListResultIterator type. +func NewVirtualNetworkPeeringListResultIterator(page VirtualNetworkPeeringListResultPage) VirtualNetworkPeeringListResultIterator { + return VirtualNetworkPeeringListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (vnplr VirtualNetworkPeeringListResult) IsEmpty() bool { + return vnplr.Value == nil || len(*vnplr.Value) == 0 +} + +// virtualNetworkPeeringListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (vnplr VirtualNetworkPeeringListResult) virtualNetworkPeeringListResultPreparer(ctx context.Context) (*http.Request, error) { + if vnplr.NextLink == nil || len(to.String(vnplr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(vnplr.NextLink))) +} + +// VirtualNetworkPeeringListResultPage contains a page of VirtualNetworkPeering values. +type VirtualNetworkPeeringListResultPage struct { + fn func(context.Context, VirtualNetworkPeeringListResult) (VirtualNetworkPeeringListResult, error) + vnplr VirtualNetworkPeeringListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *VirtualNetworkPeeringListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkPeeringListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.vnplr) + if err != nil { + return err + } + page.vnplr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *VirtualNetworkPeeringListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page VirtualNetworkPeeringListResultPage) NotDone() bool { + return !page.vnplr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page VirtualNetworkPeeringListResultPage) Response() VirtualNetworkPeeringListResult { + return page.vnplr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page VirtualNetworkPeeringListResultPage) Values() []VirtualNetworkPeering { + if page.vnplr.IsEmpty() { + return nil + } + return *page.vnplr.Value +} + +// Creates a new instance of the VirtualNetworkPeeringListResultPage type. +func NewVirtualNetworkPeeringListResultPage(getNextPage func(context.Context, VirtualNetworkPeeringListResult) (VirtualNetworkPeeringListResult, error)) VirtualNetworkPeeringListResultPage { + return VirtualNetworkPeeringListResultPage{fn: getNextPage} +} + +// VirtualNetworkPeeringPropertiesFormat properties of the virtual network peering. +type VirtualNetworkPeeringPropertiesFormat struct { + // AllowVirtualNetworkAccess - Whether the VMs in the local virtual network space would be able to access the VMs in remote virtual network space. + AllowVirtualNetworkAccess *bool `json:"allowVirtualNetworkAccess,omitempty"` + // AllowForwardedTraffic - Whether the forwarded traffic from the VMs in the local virtual network will be allowed/disallowed in remote virtual network. + AllowForwardedTraffic *bool `json:"allowForwardedTraffic,omitempty"` + // AllowGatewayTransit - If gateway links can be used in remote virtual networking to link to this virtual network. + AllowGatewayTransit *bool `json:"allowGatewayTransit,omitempty"` + // UseRemoteGateways - If remote gateways can be used on this virtual network. If the flag is set to true, and allowGatewayTransit on remote peering is also true, virtual network will use gateways of remote virtual network for transit. Only one peering can have this flag set to true. This flag cannot be set if virtual network already has a gateway. + UseRemoteGateways *bool `json:"useRemoteGateways,omitempty"` + // RemoteVirtualNetwork - The reference of the remote virtual network. The remote virtual network can be in the same or different region (preview). See here to register for the preview and learn more (https://docs.microsoft.com/en-us/azure/virtual-network/virtual-network-create-peering). + RemoteVirtualNetwork *SubResource `json:"remoteVirtualNetwork,omitempty"` + // RemoteAddressSpace - The reference of the remote virtual network address space. + RemoteAddressSpace *AddressSpace `json:"remoteAddressSpace,omitempty"` + // PeeringState - The status of the virtual network peering. Possible values include: 'VirtualNetworkPeeringStateInitiated', 'VirtualNetworkPeeringStateConnected', 'VirtualNetworkPeeringStateDisconnected' + PeeringState VirtualNetworkPeeringState `json:"peeringState,omitempty"` + // ProvisioningState - The provisioning state of the virtual network peering resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// VirtualNetworkPeeringsCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type VirtualNetworkPeeringsCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VirtualNetworkPeeringsCreateOrUpdateFuture) Result(client VirtualNetworkPeeringsClient) (vnp VirtualNetworkPeering, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkPeeringsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VirtualNetworkPeeringsCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if vnp.Response.Response, err = future.GetResult(sender); err == nil && vnp.Response.Response.StatusCode != http.StatusNoContent { + vnp, err = client.CreateOrUpdateResponder(vnp.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkPeeringsCreateOrUpdateFuture", "Result", vnp.Response.Response, "Failure responding to request") + } + } + return +} + +// VirtualNetworkPeeringsDeleteFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type VirtualNetworkPeeringsDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VirtualNetworkPeeringsDeleteFuture) Result(client VirtualNetworkPeeringsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkPeeringsDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VirtualNetworkPeeringsDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// VirtualNetworkPropertiesFormat properties of the virtual network. +type VirtualNetworkPropertiesFormat struct { + // AddressSpace - The AddressSpace that contains an array of IP address ranges that can be used by subnets. + AddressSpace *AddressSpace `json:"addressSpace,omitempty"` + // DhcpOptions - The dhcpOptions that contains an array of DNS servers available to VMs deployed in the virtual network. + DhcpOptions *DhcpOptions `json:"dhcpOptions,omitempty"` + // Subnets - A list of subnets in a Virtual Network. + Subnets *[]Subnet `json:"subnets,omitempty"` + // VirtualNetworkPeerings - A list of peerings in a Virtual Network. + VirtualNetworkPeerings *[]VirtualNetworkPeering `json:"virtualNetworkPeerings,omitempty"` + // ResourceGUID - The resourceGuid property of the Virtual Network resource. + ResourceGUID *string `json:"resourceGuid,omitempty"` + // ProvisioningState - The provisioning state of the virtual network resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + // EnableDdosProtection - Indicates if DDoS protection is enabled for all the protected resources in the virtual network. It requires a DDoS protection plan associated with the resource. + EnableDdosProtection *bool `json:"enableDdosProtection,omitempty"` + // EnableVMProtection - Indicates if VM protection is enabled for all the subnets in the virtual network. + EnableVMProtection *bool `json:"enableVmProtection,omitempty"` + // DdosProtectionPlan - The DDoS protection plan associated with the virtual network. + DdosProtectionPlan *SubResource `json:"ddosProtectionPlan,omitempty"` + // BgpCommunities - Bgp Communities sent over ExpressRoute with each route corresponding to a prefix in this VNET. + BgpCommunities *VirtualNetworkBgpCommunities `json:"bgpCommunities,omitempty"` +} + +// VirtualNetworksCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type VirtualNetworksCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VirtualNetworksCreateOrUpdateFuture) Result(client VirtualNetworksClient) (vn VirtualNetwork, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworksCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VirtualNetworksCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if vn.Response.Response, err = future.GetResult(sender); err == nil && vn.Response.Response.StatusCode != http.StatusNoContent { + vn, err = client.CreateOrUpdateResponder(vn.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworksCreateOrUpdateFuture", "Result", vn.Response.Response, "Failure responding to request") + } + } + return +} + +// VirtualNetworksDeleteFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type VirtualNetworksDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VirtualNetworksDeleteFuture) Result(client VirtualNetworksClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworksDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VirtualNetworksDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// VirtualNetworksUpdateTagsFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type VirtualNetworksUpdateTagsFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VirtualNetworksUpdateTagsFuture) Result(client VirtualNetworksClient) (vn VirtualNetwork, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworksUpdateTagsFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VirtualNetworksUpdateTagsFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if vn.Response.Response, err = future.GetResult(sender); err == nil && vn.Response.Response.StatusCode != http.StatusNoContent { + vn, err = client.UpdateTagsResponder(vn.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworksUpdateTagsFuture", "Result", vn.Response.Response, "Failure responding to request") + } + } + return +} + +// VirtualNetworkTap virtual Network Tap resource. +type VirtualNetworkTap struct { + autorest.Response `json:"-"` + // VirtualNetworkTapPropertiesFormat - Virtual Network Tap Properties. + *VirtualNetworkTapPropertiesFormat `json:"properties,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for VirtualNetworkTap. +func (vnt VirtualNetworkTap) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if vnt.VirtualNetworkTapPropertiesFormat != nil { + objectMap["properties"] = vnt.VirtualNetworkTapPropertiesFormat + } + if vnt.Etag != nil { + objectMap["etag"] = vnt.Etag + } + if vnt.ID != nil { + objectMap["id"] = vnt.ID + } + if vnt.Location != nil { + objectMap["location"] = vnt.Location + } + if vnt.Tags != nil { + objectMap["tags"] = vnt.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for VirtualNetworkTap struct. +func (vnt *VirtualNetworkTap) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var virtualNetworkTapPropertiesFormat VirtualNetworkTapPropertiesFormat + err = json.Unmarshal(*v, &virtualNetworkTapPropertiesFormat) + if err != nil { + return err + } + vnt.VirtualNetworkTapPropertiesFormat = &virtualNetworkTapPropertiesFormat + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + vnt.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + vnt.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + vnt.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + vnt.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + vnt.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + vnt.Tags = tags + } + } + } + + return nil +} + +// VirtualNetworkTapListResult response for ListVirtualNetworkTap API service call. +type VirtualNetworkTapListResult struct { + autorest.Response `json:"-"` + // Value - A list of VirtualNetworkTaps in a resource group. + Value *[]VirtualNetworkTap `json:"value,omitempty"` + // NextLink - The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// VirtualNetworkTapListResultIterator provides access to a complete listing of VirtualNetworkTap values. +type VirtualNetworkTapListResultIterator struct { + i int + page VirtualNetworkTapListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *VirtualNetworkTapListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkTapListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *VirtualNetworkTapListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter VirtualNetworkTapListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter VirtualNetworkTapListResultIterator) Response() VirtualNetworkTapListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter VirtualNetworkTapListResultIterator) Value() VirtualNetworkTap { + if !iter.page.NotDone() { + return VirtualNetworkTap{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the VirtualNetworkTapListResultIterator type. +func NewVirtualNetworkTapListResultIterator(page VirtualNetworkTapListResultPage) VirtualNetworkTapListResultIterator { + return VirtualNetworkTapListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (vntlr VirtualNetworkTapListResult) IsEmpty() bool { + return vntlr.Value == nil || len(*vntlr.Value) == 0 +} + +// virtualNetworkTapListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (vntlr VirtualNetworkTapListResult) virtualNetworkTapListResultPreparer(ctx context.Context) (*http.Request, error) { + if vntlr.NextLink == nil || len(to.String(vntlr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(vntlr.NextLink))) +} + +// VirtualNetworkTapListResultPage contains a page of VirtualNetworkTap values. +type VirtualNetworkTapListResultPage struct { + fn func(context.Context, VirtualNetworkTapListResult) (VirtualNetworkTapListResult, error) + vntlr VirtualNetworkTapListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *VirtualNetworkTapListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkTapListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.vntlr) + if err != nil { + return err + } + page.vntlr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *VirtualNetworkTapListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page VirtualNetworkTapListResultPage) NotDone() bool { + return !page.vntlr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page VirtualNetworkTapListResultPage) Response() VirtualNetworkTapListResult { + return page.vntlr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page VirtualNetworkTapListResultPage) Values() []VirtualNetworkTap { + if page.vntlr.IsEmpty() { + return nil + } + return *page.vntlr.Value +} + +// Creates a new instance of the VirtualNetworkTapListResultPage type. +func NewVirtualNetworkTapListResultPage(getNextPage func(context.Context, VirtualNetworkTapListResult) (VirtualNetworkTapListResult, error)) VirtualNetworkTapListResultPage { + return VirtualNetworkTapListResultPage{fn: getNextPage} +} + +// VirtualNetworkTapPropertiesFormat virtual Network Tap properties. +type VirtualNetworkTapPropertiesFormat struct { + // NetworkInterfaceTapConfigurations - READ-ONLY; Specifies the list of resource IDs for the network interface IP configuration that needs to be tapped. + NetworkInterfaceTapConfigurations *[]InterfaceTapConfiguration `json:"networkInterfaceTapConfigurations,omitempty"` + // ResourceGUID - READ-ONLY; The resource GUID property of the virtual network tap resource. + ResourceGUID *string `json:"resourceGuid,omitempty"` + // ProvisioningState - READ-ONLY; The provisioning state of the virtual network tap resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + // DestinationNetworkInterfaceIPConfiguration - The reference to the private IP Address of the collector nic that will receive the tap. + DestinationNetworkInterfaceIPConfiguration *InterfaceIPConfiguration `json:"destinationNetworkInterfaceIPConfiguration,omitempty"` + // DestinationLoadBalancerFrontEndIPConfiguration - The reference to the private IP address on the internal Load Balancer that will receive the tap. + DestinationLoadBalancerFrontEndIPConfiguration *FrontendIPConfiguration `json:"destinationLoadBalancerFrontEndIPConfiguration,omitempty"` + // DestinationPort - The VXLAN destination port that will receive the tapped traffic. + DestinationPort *int32 `json:"destinationPort,omitempty"` +} + +// VirtualNetworkTapsCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type VirtualNetworkTapsCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VirtualNetworkTapsCreateOrUpdateFuture) Result(client VirtualNetworkTapsClient) (vnt VirtualNetworkTap, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkTapsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VirtualNetworkTapsCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if vnt.Response.Response, err = future.GetResult(sender); err == nil && vnt.Response.Response.StatusCode != http.StatusNoContent { + vnt, err = client.CreateOrUpdateResponder(vnt.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkTapsCreateOrUpdateFuture", "Result", vnt.Response.Response, "Failure responding to request") + } + } + return +} + +// VirtualNetworkTapsDeleteFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type VirtualNetworkTapsDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VirtualNetworkTapsDeleteFuture) Result(client VirtualNetworkTapsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkTapsDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VirtualNetworkTapsDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// VirtualNetworkTapsUpdateTagsFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type VirtualNetworkTapsUpdateTagsFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VirtualNetworkTapsUpdateTagsFuture) Result(client VirtualNetworkTapsClient) (vnt VirtualNetworkTap, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkTapsUpdateTagsFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VirtualNetworkTapsUpdateTagsFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if vnt.Response.Response, err = future.GetResult(sender); err == nil && vnt.Response.Response.StatusCode != http.StatusNoContent { + vnt, err = client.UpdateTagsResponder(vnt.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkTapsUpdateTagsFuture", "Result", vnt.Response.Response, "Failure responding to request") + } + } + return +} + +// VirtualNetworkUsage usage details for subnet. +type VirtualNetworkUsage struct { + // CurrentValue - READ-ONLY; Indicates number of IPs used from the Subnet. + CurrentValue *float64 `json:"currentValue,omitempty"` + // ID - READ-ONLY; Subnet identifier. + ID *string `json:"id,omitempty"` + // Limit - READ-ONLY; Indicates the size of the subnet. + Limit *float64 `json:"limit,omitempty"` + // Name - READ-ONLY; The name containing common and localized value for usage. + Name *VirtualNetworkUsageName `json:"name,omitempty"` + // Unit - READ-ONLY; Usage units. Returns 'Count'. + Unit *string `json:"unit,omitempty"` +} + +// VirtualNetworkUsageName usage strings container. +type VirtualNetworkUsageName struct { + // LocalizedValue - READ-ONLY; Localized subnet size and usage string. + LocalizedValue *string `json:"localizedValue,omitempty"` + // Value - READ-ONLY; Subnet size and usage string. + Value *string `json:"value,omitempty"` +} + +// VirtualRouter virtualRouter Resource. +type VirtualRouter struct { + autorest.Response `json:"-"` + // VirtualRouterPropertiesFormat - Properties of the Virtual Router. + *VirtualRouterPropertiesFormat `json:"properties,omitempty"` + // Etag - READ-ONLY; Gets a unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for VirtualRouter. +func (vr VirtualRouter) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if vr.VirtualRouterPropertiesFormat != nil { + objectMap["properties"] = vr.VirtualRouterPropertiesFormat + } + if vr.ID != nil { + objectMap["id"] = vr.ID + } + if vr.Location != nil { + objectMap["location"] = vr.Location + } + if vr.Tags != nil { + objectMap["tags"] = vr.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for VirtualRouter struct. +func (vr *VirtualRouter) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var virtualRouterPropertiesFormat VirtualRouterPropertiesFormat + err = json.Unmarshal(*v, &virtualRouterPropertiesFormat) + if err != nil { + return err + } + vr.VirtualRouterPropertiesFormat = &virtualRouterPropertiesFormat + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + vr.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + vr.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + vr.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + vr.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + vr.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + vr.Tags = tags + } + } + } + + return nil +} + +// VirtualRouterListResult response for ListVirtualRouters API service call. +type VirtualRouterListResult struct { + autorest.Response `json:"-"` + // Value - List of Virtual Routers. + Value *[]VirtualRouter `json:"value,omitempty"` + // NextLink - URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// VirtualRouterListResultIterator provides access to a complete listing of VirtualRouter values. +type VirtualRouterListResultIterator struct { + i int + page VirtualRouterListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *VirtualRouterListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualRouterListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *VirtualRouterListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter VirtualRouterListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter VirtualRouterListResultIterator) Response() VirtualRouterListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter VirtualRouterListResultIterator) Value() VirtualRouter { + if !iter.page.NotDone() { + return VirtualRouter{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the VirtualRouterListResultIterator type. +func NewVirtualRouterListResultIterator(page VirtualRouterListResultPage) VirtualRouterListResultIterator { + return VirtualRouterListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (vrlr VirtualRouterListResult) IsEmpty() bool { + return vrlr.Value == nil || len(*vrlr.Value) == 0 +} + +// virtualRouterListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (vrlr VirtualRouterListResult) virtualRouterListResultPreparer(ctx context.Context) (*http.Request, error) { + if vrlr.NextLink == nil || len(to.String(vrlr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(vrlr.NextLink))) +} + +// VirtualRouterListResultPage contains a page of VirtualRouter values. +type VirtualRouterListResultPage struct { + fn func(context.Context, VirtualRouterListResult) (VirtualRouterListResult, error) + vrlr VirtualRouterListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *VirtualRouterListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualRouterListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.vrlr) + if err != nil { + return err + } + page.vrlr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *VirtualRouterListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page VirtualRouterListResultPage) NotDone() bool { + return !page.vrlr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page VirtualRouterListResultPage) Response() VirtualRouterListResult { + return page.vrlr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page VirtualRouterListResultPage) Values() []VirtualRouter { + if page.vrlr.IsEmpty() { + return nil + } + return *page.vrlr.Value +} + +// Creates a new instance of the VirtualRouterListResultPage type. +func NewVirtualRouterListResultPage(getNextPage func(context.Context, VirtualRouterListResult) (VirtualRouterListResult, error)) VirtualRouterListResultPage { + return VirtualRouterListResultPage{fn: getNextPage} +} + +// VirtualRouterPeering virtual Router Peering resource +type VirtualRouterPeering struct { + autorest.Response `json:"-"` + // VirtualRouterPeeringProperties - The properties of the Virtual Router Peering. + *VirtualRouterPeeringProperties `json:"properties,omitempty"` + // Name - Gets name of the peering unique to VirtualRouter. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + // Etag - READ-ONLY; Gets a unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // Type - READ-ONLY; Peering type. + Type *string `json:"type,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for VirtualRouterPeering. +func (vrp VirtualRouterPeering) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if vrp.VirtualRouterPeeringProperties != nil { + objectMap["properties"] = vrp.VirtualRouterPeeringProperties + } + if vrp.Name != nil { + objectMap["name"] = vrp.Name + } + if vrp.ID != nil { + objectMap["id"] = vrp.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for VirtualRouterPeering struct. +func (vrp *VirtualRouterPeering) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var virtualRouterPeeringProperties VirtualRouterPeeringProperties + err = json.Unmarshal(*v, &virtualRouterPeeringProperties) + if err != nil { + return err + } + vrp.VirtualRouterPeeringProperties = &virtualRouterPeeringProperties + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + vrp.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + vrp.Etag = &etag + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + vrp.Type = &typeVar + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + vrp.ID = &ID + } + } + } + + return nil +} + +// VirtualRouterPeeringListResult response for ListVirtualRouterPeerings API service call. +type VirtualRouterPeeringListResult struct { + autorest.Response `json:"-"` + // Value - List of VirtualRouterPeerings in a VirtualRouter. + Value *[]VirtualRouterPeering `json:"value,omitempty"` + // NextLink - URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// VirtualRouterPeeringListResultIterator provides access to a complete listing of VirtualRouterPeering +// values. +type VirtualRouterPeeringListResultIterator struct { + i int + page VirtualRouterPeeringListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *VirtualRouterPeeringListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualRouterPeeringListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *VirtualRouterPeeringListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter VirtualRouterPeeringListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter VirtualRouterPeeringListResultIterator) Response() VirtualRouterPeeringListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter VirtualRouterPeeringListResultIterator) Value() VirtualRouterPeering { + if !iter.page.NotDone() { + return VirtualRouterPeering{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the VirtualRouterPeeringListResultIterator type. +func NewVirtualRouterPeeringListResultIterator(page VirtualRouterPeeringListResultPage) VirtualRouterPeeringListResultIterator { + return VirtualRouterPeeringListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (vrplr VirtualRouterPeeringListResult) IsEmpty() bool { + return vrplr.Value == nil || len(*vrplr.Value) == 0 +} + +// virtualRouterPeeringListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (vrplr VirtualRouterPeeringListResult) virtualRouterPeeringListResultPreparer(ctx context.Context) (*http.Request, error) { + if vrplr.NextLink == nil || len(to.String(vrplr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(vrplr.NextLink))) +} + +// VirtualRouterPeeringListResultPage contains a page of VirtualRouterPeering values. +type VirtualRouterPeeringListResultPage struct { + fn func(context.Context, VirtualRouterPeeringListResult) (VirtualRouterPeeringListResult, error) + vrplr VirtualRouterPeeringListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *VirtualRouterPeeringListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualRouterPeeringListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.vrplr) + if err != nil { + return err + } + page.vrplr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *VirtualRouterPeeringListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page VirtualRouterPeeringListResultPage) NotDone() bool { + return !page.vrplr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page VirtualRouterPeeringListResultPage) Response() VirtualRouterPeeringListResult { + return page.vrplr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page VirtualRouterPeeringListResultPage) Values() []VirtualRouterPeering { + if page.vrplr.IsEmpty() { + return nil + } + return *page.vrplr.Value +} + +// Creates a new instance of the VirtualRouterPeeringListResultPage type. +func NewVirtualRouterPeeringListResultPage(getNextPage func(context.Context, VirtualRouterPeeringListResult) (VirtualRouterPeeringListResult, error)) VirtualRouterPeeringListResultPage { + return VirtualRouterPeeringListResultPage{fn: getNextPage} +} + +// VirtualRouterPeeringProperties properties of the rule group. +type VirtualRouterPeeringProperties struct { + // PeerAsn - Peer ASN. + PeerAsn *int64 `json:"peerAsn,omitempty"` + // PeerIP - Peer IP. + PeerIP *string `json:"peerIp,omitempty"` + // ProvisioningState - READ-ONLY; The provisioning state of the resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// VirtualRouterPeeringsCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type VirtualRouterPeeringsCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VirtualRouterPeeringsCreateOrUpdateFuture) Result(client VirtualRouterPeeringsClient) (vrp VirtualRouterPeering, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualRouterPeeringsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VirtualRouterPeeringsCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if vrp.Response.Response, err = future.GetResult(sender); err == nil && vrp.Response.Response.StatusCode != http.StatusNoContent { + vrp, err = client.CreateOrUpdateResponder(vrp.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualRouterPeeringsCreateOrUpdateFuture", "Result", vrp.Response.Response, "Failure responding to request") + } + } + return +} + +// VirtualRouterPeeringsDeleteFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type VirtualRouterPeeringsDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VirtualRouterPeeringsDeleteFuture) Result(client VirtualRouterPeeringsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualRouterPeeringsDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VirtualRouterPeeringsDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// VirtualRouterPropertiesFormat virtual Router definition +type VirtualRouterPropertiesFormat struct { + // VirtualRouterAsn - VirtualRouter ASN. + VirtualRouterAsn *int64 `json:"virtualRouterAsn,omitempty"` + // VirtualRouterIps - VirtualRouter IPs + VirtualRouterIps *[]string `json:"virtualRouterIps,omitempty"` + // HostedSubnet - The Subnet on which VirtualRouter is hosted. + HostedSubnet *SubResource `json:"hostedSubnet,omitempty"` + // HostedGateway - The Gateway on which VirtualRouter is hosted. + HostedGateway *SubResource `json:"hostedGateway,omitempty"` + // Peerings - READ-ONLY; List of references to VirtualRouterPeerings + Peerings *[]SubResource `json:"peerings,omitempty"` + // ProvisioningState - READ-ONLY; The provisioning state of the resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// VirtualRoutersCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type VirtualRoutersCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VirtualRoutersCreateOrUpdateFuture) Result(client VirtualRoutersClient) (vr VirtualRouter, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualRoutersCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VirtualRoutersCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if vr.Response.Response, err = future.GetResult(sender); err == nil && vr.Response.Response.StatusCode != http.StatusNoContent { + vr, err = client.CreateOrUpdateResponder(vr.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualRoutersCreateOrUpdateFuture", "Result", vr.Response.Response, "Failure responding to request") + } + } + return +} + +// VirtualRoutersDeleteFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type VirtualRoutersDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VirtualRoutersDeleteFuture) Result(client VirtualRoutersClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualRoutersDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VirtualRoutersDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// VirtualWAN virtualWAN Resource. +type VirtualWAN struct { + autorest.Response `json:"-"` + // VirtualWanProperties - Properties of the virtual WAN. + *VirtualWanProperties `json:"properties,omitempty"` + // Etag - READ-ONLY; A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for VirtualWAN. +func (vw VirtualWAN) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if vw.VirtualWanProperties != nil { + objectMap["properties"] = vw.VirtualWanProperties + } + if vw.ID != nil { + objectMap["id"] = vw.ID + } + if vw.Location != nil { + objectMap["location"] = vw.Location + } + if vw.Tags != nil { + objectMap["tags"] = vw.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for VirtualWAN struct. +func (vw *VirtualWAN) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var virtualWanProperties VirtualWanProperties + err = json.Unmarshal(*v, &virtualWanProperties) + if err != nil { + return err + } + vw.VirtualWanProperties = &virtualWanProperties + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + vw.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + vw.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + vw.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + vw.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + vw.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + vw.Tags = tags + } + } + } + + return nil +} + +// VirtualWanProperties parameters for VirtualWAN. +type VirtualWanProperties struct { + // DisableVpnEncryption - Vpn encryption to be disabled or not. + DisableVpnEncryption *bool `json:"disableVpnEncryption,omitempty"` + // VirtualHubs - READ-ONLY; List of VirtualHubs in the VirtualWAN. + VirtualHubs *[]SubResource `json:"virtualHubs,omitempty"` + // VpnSites - READ-ONLY; List of VpnSites in the VirtualWAN. + VpnSites *[]SubResource `json:"vpnSites,omitempty"` + // AllowBranchToBranchTraffic - True if branch to branch traffic is allowed. + AllowBranchToBranchTraffic *bool `json:"allowBranchToBranchTraffic,omitempty"` + // AllowVnetToVnetTraffic - True if Vnet to Vnet traffic is allowed. + AllowVnetToVnetTraffic *bool `json:"allowVnetToVnetTraffic,omitempty"` + // Office365LocalBreakoutCategory - The office local breakout category. Possible values include: 'OfficeTrafficCategoryOptimize', 'OfficeTrafficCategoryOptimizeAndAllow', 'OfficeTrafficCategoryAll', 'OfficeTrafficCategoryNone' + Office365LocalBreakoutCategory OfficeTrafficCategory `json:"office365LocalBreakoutCategory,omitempty"` + // ProvisioningState - The provisioning state of the virtual WAN resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// VirtualWansCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type VirtualWansCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VirtualWansCreateOrUpdateFuture) Result(client VirtualWansClient) (vw VirtualWAN, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualWansCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VirtualWansCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if vw.Response.Response, err = future.GetResult(sender); err == nil && vw.Response.Response.StatusCode != http.StatusNoContent { + vw, err = client.CreateOrUpdateResponder(vw.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualWansCreateOrUpdateFuture", "Result", vw.Response.Response, "Failure responding to request") + } + } + return +} + +// VirtualWansDeleteFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type VirtualWansDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VirtualWansDeleteFuture) Result(client VirtualWansClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualWansDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VirtualWansDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// VirtualWanSecurityProvider collection of SecurityProviders. +type VirtualWanSecurityProvider struct { + // Name - Name of the security provider. + Name *string `json:"name,omitempty"` + // URL - Url of the security provider. + URL *string `json:"url,omitempty"` + // Type - Name of the security provider. Possible values include: 'External', 'Native' + Type VirtualWanSecurityProviderType `json:"type,omitempty"` +} + +// VirtualWanSecurityProviders collection of SecurityProviders. +type VirtualWanSecurityProviders struct { + autorest.Response `json:"-"` + // SupportedProviders - List of VirtualWAN security providers. + SupportedProviders *[]VirtualWanSecurityProvider `json:"supportedProviders,omitempty"` +} + +// VirtualWansUpdateTagsFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type VirtualWansUpdateTagsFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VirtualWansUpdateTagsFuture) Result(client VirtualWansClient) (vw VirtualWAN, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualWansUpdateTagsFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VirtualWansUpdateTagsFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if vw.Response.Response, err = future.GetResult(sender); err == nil && vw.Response.Response.StatusCode != http.StatusNoContent { + vw, err = client.UpdateTagsResponder(vw.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualWansUpdateTagsFuture", "Result", vw.Response.Response, "Failure responding to request") + } + } + return +} + +// VirtualWanVpnProfileParameters virtual Wan Vpn profile parameters Vpn profile generation. +type VirtualWanVpnProfileParameters struct { + // VpnServerConfigurationResourceID - VpnServerConfiguration partial resource uri with which VirtualWan is associated to. + VpnServerConfigurationResourceID *string `json:"vpnServerConfigurationResourceId,omitempty"` + // AuthenticationMethod - VPN client authentication method. Possible values include: 'EAPTLS', 'EAPMSCHAPv2' + AuthenticationMethod AuthenticationMethod `json:"authenticationMethod,omitempty"` +} + +// VpnClientConfiguration vpnClientConfiguration for P2S client. +type VpnClientConfiguration struct { + // VpnClientAddressPool - The reference of the address space resource which represents Address space for P2S VpnClient. + VpnClientAddressPool *AddressSpace `json:"vpnClientAddressPool,omitempty"` + // VpnClientRootCertificates - VpnClientRootCertificate for virtual network gateway. + VpnClientRootCertificates *[]VpnClientRootCertificate `json:"vpnClientRootCertificates,omitempty"` + // VpnClientRevokedCertificates - VpnClientRevokedCertificate for Virtual network gateway. + VpnClientRevokedCertificates *[]VpnClientRevokedCertificate `json:"vpnClientRevokedCertificates,omitempty"` + // VpnClientProtocols - VpnClientProtocols for Virtual network gateway. + VpnClientProtocols *[]VpnClientProtocol `json:"vpnClientProtocols,omitempty"` + // VpnClientIpsecPolicies - VpnClientIpsecPolicies for virtual network gateway P2S client. + VpnClientIpsecPolicies *[]IpsecPolicy `json:"vpnClientIpsecPolicies,omitempty"` + // RadiusServerAddress - The radius server address property of the VirtualNetworkGateway resource for vpn client connection. + RadiusServerAddress *string `json:"radiusServerAddress,omitempty"` + // RadiusServerSecret - The radius secret property of the VirtualNetworkGateway resource for vpn client connection. + RadiusServerSecret *string `json:"radiusServerSecret,omitempty"` + // AadTenant - The AADTenant property of the VirtualNetworkGateway resource for vpn client connection used for AAD authentication. + AadTenant *string `json:"aadTenant,omitempty"` + // AadAudience - The AADAudience property of the VirtualNetworkGateway resource for vpn client connection used for AAD authentication. + AadAudience *string `json:"aadAudience,omitempty"` + // AadIssuer - The AADIssuer property of the VirtualNetworkGateway resource for vpn client connection used for AAD authentication. + AadIssuer *string `json:"aadIssuer,omitempty"` +} + +// VpnClientConnectionHealth vpnClientConnectionHealth properties. +type VpnClientConnectionHealth struct { + // TotalIngressBytesTransferred - READ-ONLY; Total of the Ingress Bytes Transferred in this P2S Vpn connection. + TotalIngressBytesTransferred *int64 `json:"totalIngressBytesTransferred,omitempty"` + // TotalEgressBytesTransferred - READ-ONLY; Total of the Egress Bytes Transferred in this connection. + TotalEgressBytesTransferred *int64 `json:"totalEgressBytesTransferred,omitempty"` + // VpnClientConnectionsCount - The total of p2s vpn clients connected at this time to this P2SVpnGateway. + VpnClientConnectionsCount *int32 `json:"vpnClientConnectionsCount,omitempty"` + // AllocatedIPAddresses - List of allocated ip addresses to the connected p2s vpn clients. + AllocatedIPAddresses *[]string `json:"allocatedIpAddresses,omitempty"` +} + +// VpnClientConnectionHealthDetail VPN client connection health detail. +type VpnClientConnectionHealthDetail struct { + // VpnConnectionID - READ-ONLY; The vpn client Id. + VpnConnectionID *string `json:"vpnConnectionId,omitempty"` + // VpnConnectionDuration - READ-ONLY; The duration time of a connected vpn client. + VpnConnectionDuration *int64 `json:"vpnConnectionDuration,omitempty"` + // VpnConnectionTime - READ-ONLY; The start time of a connected vpn client. + VpnConnectionTime *string `json:"vpnConnectionTime,omitempty"` + // PublicIPAddress - READ-ONLY; The public Ip of a connected vpn client. + PublicIPAddress *string `json:"publicIpAddress,omitempty"` + // PrivateIPAddress - READ-ONLY; The assigned private Ip of a connected vpn client. + PrivateIPAddress *string `json:"privateIpAddress,omitempty"` + // VpnUserName - READ-ONLY; The user name of a connected vpn client. + VpnUserName *string `json:"vpnUserName,omitempty"` + // MaxBandwidth - READ-ONLY; The max band width. + MaxBandwidth *int64 `json:"maxBandwidth,omitempty"` + // EgressPacketsTransferred - READ-ONLY; The egress packets per second. + EgressPacketsTransferred *int64 `json:"egressPacketsTransferred,omitempty"` + // EgressBytesTransferred - READ-ONLY; The egress bytes per second. + EgressBytesTransferred *int64 `json:"egressBytesTransferred,omitempty"` + // IngressPacketsTransferred - READ-ONLY; The ingress packets per second. + IngressPacketsTransferred *int64 `json:"ingressPacketsTransferred,omitempty"` + // IngressBytesTransferred - READ-ONLY; The ingress bytes per second. + IngressBytesTransferred *int64 `json:"ingressBytesTransferred,omitempty"` + // MaxPacketsPerSecond - READ-ONLY; The max packets transferred per second. + MaxPacketsPerSecond *int64 `json:"maxPacketsPerSecond,omitempty"` +} + +// VpnClientConnectionHealthDetailListResult list of virtual network gateway vpn client connection health. +type VpnClientConnectionHealthDetailListResult struct { + autorest.Response `json:"-"` + // Value - List of vpn client connection health. + Value *[]VpnClientConnectionHealthDetail `json:"value,omitempty"` +} + +// VpnClientIPsecParameters an IPSec parameters for a virtual network gateway P2S connection. +type VpnClientIPsecParameters struct { + autorest.Response `json:"-"` + // SaLifeTimeSeconds - The IPSec Security Association (also called Quick Mode or Phase 2 SA) lifetime in seconds for P2S client. + SaLifeTimeSeconds *int32 `json:"saLifeTimeSeconds,omitempty"` + // SaDataSizeKilobytes - The IPSec Security Association (also called Quick Mode or Phase 2 SA) payload size in KB for P2S client.. + SaDataSizeKilobytes *int32 `json:"saDataSizeKilobytes,omitempty"` + // IpsecEncryption - The IPSec encryption algorithm (IKE phase 1). Possible values include: 'IpsecEncryptionNone', 'IpsecEncryptionDES', 'IpsecEncryptionDES3', 'IpsecEncryptionAES128', 'IpsecEncryptionAES192', 'IpsecEncryptionAES256', 'IpsecEncryptionGCMAES128', 'IpsecEncryptionGCMAES192', 'IpsecEncryptionGCMAES256' + IpsecEncryption IpsecEncryption `json:"ipsecEncryption,omitempty"` + // IpsecIntegrity - The IPSec integrity algorithm (IKE phase 1). Possible values include: 'IpsecIntegrityMD5', 'IpsecIntegritySHA1', 'IpsecIntegritySHA256', 'IpsecIntegrityGCMAES128', 'IpsecIntegrityGCMAES192', 'IpsecIntegrityGCMAES256' + IpsecIntegrity IpsecIntegrity `json:"ipsecIntegrity,omitempty"` + // IkeEncryption - The IKE encryption algorithm (IKE phase 2). Possible values include: 'DES', 'DES3', 'AES128', 'AES192', 'AES256', 'GCMAES256', 'GCMAES128' + IkeEncryption IkeEncryption `json:"ikeEncryption,omitempty"` + // IkeIntegrity - The IKE integrity algorithm (IKE phase 2). Possible values include: 'IkeIntegrityMD5', 'IkeIntegritySHA1', 'IkeIntegritySHA256', 'IkeIntegritySHA384', 'IkeIntegrityGCMAES256', 'IkeIntegrityGCMAES128' + IkeIntegrity IkeIntegrity `json:"ikeIntegrity,omitempty"` + // DhGroup - The DH Group used in IKE Phase 1 for initial SA. Possible values include: 'None', 'DHGroup1', 'DHGroup2', 'DHGroup14', 'DHGroup2048', 'ECP256', 'ECP384', 'DHGroup24' + DhGroup DhGroup `json:"dhGroup,omitempty"` + // PfsGroup - The Pfs Group used in IKE Phase 2 for new child SA. Possible values include: 'PfsGroupNone', 'PfsGroupPFS1', 'PfsGroupPFS2', 'PfsGroupPFS2048', 'PfsGroupECP256', 'PfsGroupECP384', 'PfsGroupPFS24', 'PfsGroupPFS14', 'PfsGroupPFSMM' + PfsGroup PfsGroup `json:"pfsGroup,omitempty"` +} + +// VpnClientParameters vpn Client Parameters for package generation. +type VpnClientParameters struct { + // ProcessorArchitecture - VPN client Processor Architecture. Possible values include: 'Amd64', 'X86' + ProcessorArchitecture ProcessorArchitecture `json:"processorArchitecture,omitempty"` + // AuthenticationMethod - VPN client authentication method. Possible values include: 'EAPTLS', 'EAPMSCHAPv2' + AuthenticationMethod AuthenticationMethod `json:"authenticationMethod,omitempty"` + // RadiusServerAuthCertificate - The public certificate data for the radius server authentication certificate as a Base-64 encoded string. Required only if external radius authentication has been configured with EAPTLS authentication. + RadiusServerAuthCertificate *string `json:"radiusServerAuthCertificate,omitempty"` + // ClientRootCertificates - A list of client root certificates public certificate data encoded as Base-64 strings. Optional parameter for external radius based authentication with EAPTLS. + ClientRootCertificates *[]string `json:"clientRootCertificates,omitempty"` +} + +// VpnClientRevokedCertificate VPN client revoked certificate of virtual network gateway. +type VpnClientRevokedCertificate struct { + // VpnClientRevokedCertificatePropertiesFormat - Properties of the vpn client revoked certificate. + *VpnClientRevokedCertificatePropertiesFormat `json:"properties,omitempty"` + // Name - The name of the resource that is unique within a resource group. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for VpnClientRevokedCertificate. +func (vcrc VpnClientRevokedCertificate) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if vcrc.VpnClientRevokedCertificatePropertiesFormat != nil { + objectMap["properties"] = vcrc.VpnClientRevokedCertificatePropertiesFormat + } + if vcrc.Name != nil { + objectMap["name"] = vcrc.Name + } + if vcrc.Etag != nil { + objectMap["etag"] = vcrc.Etag + } + if vcrc.ID != nil { + objectMap["id"] = vcrc.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for VpnClientRevokedCertificate struct. +func (vcrc *VpnClientRevokedCertificate) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var vpnClientRevokedCertificatePropertiesFormat VpnClientRevokedCertificatePropertiesFormat + err = json.Unmarshal(*v, &vpnClientRevokedCertificatePropertiesFormat) + if err != nil { + return err + } + vcrc.VpnClientRevokedCertificatePropertiesFormat = &vpnClientRevokedCertificatePropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + vcrc.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + vcrc.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + vcrc.ID = &ID + } + } + } + + return nil +} + +// VpnClientRevokedCertificatePropertiesFormat properties of the revoked VPN client certificate of virtual +// network gateway. +type VpnClientRevokedCertificatePropertiesFormat struct { + // Thumbprint - The revoked VPN client certificate thumbprint. + Thumbprint *string `json:"thumbprint,omitempty"` + // ProvisioningState - READ-ONLY; The provisioning state of the VPN client revoked certificate resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// VpnClientRootCertificate VPN client root certificate of virtual network gateway. +type VpnClientRootCertificate struct { + // VpnClientRootCertificatePropertiesFormat - Properties of the vpn client root certificate. + *VpnClientRootCertificatePropertiesFormat `json:"properties,omitempty"` + // Name - The name of the resource that is unique within a resource group. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for VpnClientRootCertificate. +func (vcrc VpnClientRootCertificate) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if vcrc.VpnClientRootCertificatePropertiesFormat != nil { + objectMap["properties"] = vcrc.VpnClientRootCertificatePropertiesFormat + } + if vcrc.Name != nil { + objectMap["name"] = vcrc.Name + } + if vcrc.Etag != nil { + objectMap["etag"] = vcrc.Etag + } + if vcrc.ID != nil { + objectMap["id"] = vcrc.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for VpnClientRootCertificate struct. +func (vcrc *VpnClientRootCertificate) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var vpnClientRootCertificatePropertiesFormat VpnClientRootCertificatePropertiesFormat + err = json.Unmarshal(*v, &vpnClientRootCertificatePropertiesFormat) + if err != nil { + return err + } + vcrc.VpnClientRootCertificatePropertiesFormat = &vpnClientRootCertificatePropertiesFormat + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + vcrc.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + vcrc.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + vcrc.ID = &ID + } + } + } + + return nil +} + +// VpnClientRootCertificatePropertiesFormat properties of SSL certificates of application gateway. +type VpnClientRootCertificatePropertiesFormat struct { + // PublicCertData - The certificate public data. + PublicCertData *string `json:"publicCertData,omitempty"` + // ProvisioningState - READ-ONLY; The provisioning state of the VPN client root certificate resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// VpnConnection vpnConnection Resource. +type VpnConnection struct { + autorest.Response `json:"-"` + // VpnConnectionProperties - Properties of the VPN connection. + *VpnConnectionProperties `json:"properties,omitempty"` + // Name - The name of the resource that is unique within a resource group. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + // Etag - READ-ONLY; A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for VpnConnection. +func (vc VpnConnection) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if vc.VpnConnectionProperties != nil { + objectMap["properties"] = vc.VpnConnectionProperties + } + if vc.Name != nil { + objectMap["name"] = vc.Name + } + if vc.ID != nil { + objectMap["id"] = vc.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for VpnConnection struct. +func (vc *VpnConnection) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var vpnConnectionProperties VpnConnectionProperties + err = json.Unmarshal(*v, &vpnConnectionProperties) + if err != nil { + return err + } + vc.VpnConnectionProperties = &vpnConnectionProperties + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + vc.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + vc.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + vc.ID = &ID + } + } + } + + return nil +} + +// VpnConnectionProperties parameters for VpnConnection. +type VpnConnectionProperties struct { + // RemoteVpnSite - Id of the connected vpn site. + RemoteVpnSite *SubResource `json:"remoteVpnSite,omitempty"` + // RoutingWeight - Routing weight for vpn connection. + RoutingWeight *int32 `json:"routingWeight,omitempty"` + // ConnectionStatus - The connection status. Possible values include: 'VpnConnectionStatusUnknown', 'VpnConnectionStatusConnecting', 'VpnConnectionStatusConnected', 'VpnConnectionStatusNotConnected' + ConnectionStatus VpnConnectionStatus `json:"connectionStatus,omitempty"` + // VpnConnectionProtocolType - Connection protocol used for this connection. Possible values include: 'IKEv2', 'IKEv1' + VpnConnectionProtocolType VirtualNetworkGatewayConnectionProtocol `json:"vpnConnectionProtocolType,omitempty"` + // IngressBytesTransferred - READ-ONLY; Ingress bytes transferred. + IngressBytesTransferred *int64 `json:"ingressBytesTransferred,omitempty"` + // EgressBytesTransferred - READ-ONLY; Egress bytes transferred. + EgressBytesTransferred *int64 `json:"egressBytesTransferred,omitempty"` + // ConnectionBandwidth - Expected bandwidth in MBPS. + ConnectionBandwidth *int32 `json:"connectionBandwidth,omitempty"` + // SharedKey - SharedKey for the vpn connection. + SharedKey *string `json:"sharedKey,omitempty"` + // EnableBgp - EnableBgp flag. + EnableBgp *bool `json:"enableBgp,omitempty"` + // UsePolicyBasedTrafficSelectors - Enable policy-based traffic selectors. + UsePolicyBasedTrafficSelectors *bool `json:"usePolicyBasedTrafficSelectors,omitempty"` + // IpsecPolicies - The IPSec Policies to be considered by this connection. + IpsecPolicies *[]IpsecPolicy `json:"ipsecPolicies,omitempty"` + // EnableRateLimiting - EnableBgp flag. + EnableRateLimiting *bool `json:"enableRateLimiting,omitempty"` + // EnableInternetSecurity - Enable internet security. + EnableInternetSecurity *bool `json:"enableInternetSecurity,omitempty"` + // UseLocalAzureIPAddress - Use local azure ip to initiate connection. + UseLocalAzureIPAddress *bool `json:"useLocalAzureIpAddress,omitempty"` + // ProvisioningState - The provisioning state of the VPN connection resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + // VpnLinkConnections - List of all vpn site link connections to the gateway. + VpnLinkConnections *[]VpnSiteLinkConnection `json:"vpnLinkConnections,omitempty"` +} + +// VpnConnectionsCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type VpnConnectionsCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VpnConnectionsCreateOrUpdateFuture) Result(client VpnConnectionsClient) (vc VpnConnection, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnConnectionsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VpnConnectionsCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if vc.Response.Response, err = future.GetResult(sender); err == nil && vc.Response.Response.StatusCode != http.StatusNoContent { + vc, err = client.CreateOrUpdateResponder(vc.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnConnectionsCreateOrUpdateFuture", "Result", vc.Response.Response, "Failure responding to request") + } + } + return +} + +// VpnConnectionsDeleteFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type VpnConnectionsDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VpnConnectionsDeleteFuture) Result(client VpnConnectionsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnConnectionsDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VpnConnectionsDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// VpnDeviceScriptParameters vpn device configuration script generation parameters. +type VpnDeviceScriptParameters struct { + // Vendor - The vendor for the vpn device. + Vendor *string `json:"vendor,omitempty"` + // DeviceFamily - The device family for the vpn device. + DeviceFamily *string `json:"deviceFamily,omitempty"` + // FirmwareVersion - The firmware version for the vpn device. + FirmwareVersion *string `json:"firmwareVersion,omitempty"` +} + +// VpnGateway vpnGateway Resource. +type VpnGateway struct { + autorest.Response `json:"-"` + // VpnGatewayProperties - Properties of the VPN gateway. + *VpnGatewayProperties `json:"properties,omitempty"` + // Etag - READ-ONLY; A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for VpnGateway. +func (vg VpnGateway) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if vg.VpnGatewayProperties != nil { + objectMap["properties"] = vg.VpnGatewayProperties + } + if vg.ID != nil { + objectMap["id"] = vg.ID + } + if vg.Location != nil { + objectMap["location"] = vg.Location + } + if vg.Tags != nil { + objectMap["tags"] = vg.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for VpnGateway struct. +func (vg *VpnGateway) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var vpnGatewayProperties VpnGatewayProperties + err = json.Unmarshal(*v, &vpnGatewayProperties) + if err != nil { + return err + } + vg.VpnGatewayProperties = &vpnGatewayProperties + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + vg.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + vg.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + vg.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + vg.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + vg.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + vg.Tags = tags + } + } + } + + return nil +} + +// VpnGatewayProperties parameters for VpnGateway. +type VpnGatewayProperties struct { + // VirtualHub - The VirtualHub to which the gateway belongs. + VirtualHub *SubResource `json:"virtualHub,omitempty"` + // Connections - List of all vpn connections to the gateway. + Connections *[]VpnConnection `json:"connections,omitempty"` + // BgpSettings - Local network gateway's BGP speaker settings. + BgpSettings *BgpSettings `json:"bgpSettings,omitempty"` + // ProvisioningState - The provisioning state of the VPN gateway resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + // VpnGatewayScaleUnit - The scale unit for this vpn gateway. + VpnGatewayScaleUnit *int32 `json:"vpnGatewayScaleUnit,omitempty"` +} + +// VpnGatewaysCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type VpnGatewaysCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VpnGatewaysCreateOrUpdateFuture) Result(client VpnGatewaysClient) (vg VpnGateway, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnGatewaysCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VpnGatewaysCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if vg.Response.Response, err = future.GetResult(sender); err == nil && vg.Response.Response.StatusCode != http.StatusNoContent { + vg, err = client.CreateOrUpdateResponder(vg.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnGatewaysCreateOrUpdateFuture", "Result", vg.Response.Response, "Failure responding to request") + } + } + return +} + +// VpnGatewaysDeleteFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type VpnGatewaysDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VpnGatewaysDeleteFuture) Result(client VpnGatewaysClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnGatewaysDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VpnGatewaysDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// VpnGatewaysResetFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type VpnGatewaysResetFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VpnGatewaysResetFuture) Result(client VpnGatewaysClient) (vg VpnGateway, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnGatewaysResetFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VpnGatewaysResetFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if vg.Response.Response, err = future.GetResult(sender); err == nil && vg.Response.Response.StatusCode != http.StatusNoContent { + vg, err = client.ResetResponder(vg.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnGatewaysResetFuture", "Result", vg.Response.Response, "Failure responding to request") + } + } + return +} + +// VpnGatewaysUpdateTagsFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type VpnGatewaysUpdateTagsFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VpnGatewaysUpdateTagsFuture) Result(client VpnGatewaysClient) (vg VpnGateway, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnGatewaysUpdateTagsFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VpnGatewaysUpdateTagsFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if vg.Response.Response, err = future.GetResult(sender); err == nil && vg.Response.Response.StatusCode != http.StatusNoContent { + vg, err = client.UpdateTagsResponder(vg.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnGatewaysUpdateTagsFuture", "Result", vg.Response.Response, "Failure responding to request") + } + } + return +} + +// VpnLinkBgpSettings BGP settings details for a link. +type VpnLinkBgpSettings struct { + // Asn - The BGP speaker's ASN. + Asn *int64 `json:"asn,omitempty"` + // BgpPeeringAddress - The BGP peering address and BGP identifier of this BGP speaker. + BgpPeeringAddress *string `json:"bgpPeeringAddress,omitempty"` +} + +// VpnLinkProviderProperties list of properties of a link provider. +type VpnLinkProviderProperties struct { + // LinkProviderName - Name of the link provider. + LinkProviderName *string `json:"linkProviderName,omitempty"` + // LinkSpeedInMbps - Link speed. + LinkSpeedInMbps *int32 `json:"linkSpeedInMbps,omitempty"` +} + +// VpnPacketCaptureStartParameters start packet capture parameters on virtual network gateway. +type VpnPacketCaptureStartParameters struct { + // FilterData - Start Packet capture parameters. + FilterData *string `json:"filterData,omitempty"` +} + +// VpnPacketCaptureStopParameters stop packet capture parameters. +type VpnPacketCaptureStopParameters struct { + // SasURL - SAS url for packet capture on virtual network gateway. + SasURL *string `json:"sasUrl,omitempty"` +} + +// VpnProfileResponse vpn Profile Response for package generation. +type VpnProfileResponse struct { + autorest.Response `json:"-"` + // ProfileURL - URL to the VPN profile. + ProfileURL *string `json:"profileUrl,omitempty"` +} + +// VpnServerConfigRadiusClientRootCertificate properties of the Radius client root certificate of +// VpnServerConfiguration. +type VpnServerConfigRadiusClientRootCertificate struct { + // Name - The certificate name. + Name *string `json:"name,omitempty"` + // Thumbprint - The Radius client root certificate thumbprint. + Thumbprint *string `json:"thumbprint,omitempty"` +} + +// VpnServerConfigRadiusServerRootCertificate properties of Radius Server root certificate of +// VpnServerConfiguration. +type VpnServerConfigRadiusServerRootCertificate struct { + // Name - The certificate name. + Name *string `json:"name,omitempty"` + // PublicCertData - The certificate public data. + PublicCertData *string `json:"publicCertData,omitempty"` +} + +// VpnServerConfiguration vpnServerConfiguration Resource. +type VpnServerConfiguration struct { + autorest.Response `json:"-"` + // VpnServerConfigurationProperties - Properties of the P2SVpnServer configuration. + *VpnServerConfigurationProperties `json:"properties,omitempty"` + // Etag - READ-ONLY; Gets a unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for VpnServerConfiguration. +func (vsc VpnServerConfiguration) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if vsc.VpnServerConfigurationProperties != nil { + objectMap["properties"] = vsc.VpnServerConfigurationProperties + } + if vsc.ID != nil { + objectMap["id"] = vsc.ID + } + if vsc.Location != nil { + objectMap["location"] = vsc.Location + } + if vsc.Tags != nil { + objectMap["tags"] = vsc.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for VpnServerConfiguration struct. +func (vsc *VpnServerConfiguration) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var vpnServerConfigurationProperties VpnServerConfigurationProperties + err = json.Unmarshal(*v, &vpnServerConfigurationProperties) + if err != nil { + return err + } + vsc.VpnServerConfigurationProperties = &vpnServerConfigurationProperties + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + vsc.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + vsc.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + vsc.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + vsc.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + vsc.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + vsc.Tags = tags + } + } + } + + return nil +} + +// VpnServerConfigurationProperties parameters for VpnServerConfiguration. +type VpnServerConfigurationProperties struct { + // Name - The name of the VpnServerConfiguration that is unique within a resource group. + Name *string `json:"name,omitempty"` + // VpnProtocols - VPN protocols for the VpnServerConfiguration. + VpnProtocols *[]VpnGatewayTunnelingProtocol `json:"vpnProtocols,omitempty"` + // VpnAuthenticationTypes - VPN authentication types for the VpnServerConfiguration. + VpnAuthenticationTypes *[]VpnAuthenticationType `json:"vpnAuthenticationTypes,omitempty"` + // VpnServerConfigVpnClientRootCertificates - VPN client root certificate of VpnServerConfiguration. + VpnServerConfigVpnClientRootCertificates *[]VpnServerConfigVpnClientRootCertificate `json:"vpnServerConfigVpnClientRootCertificates,omitempty"` + // VpnServerConfigVpnClientRevokedCertificates - VPN client revoked certificate of VpnServerConfiguration. + VpnServerConfigVpnClientRevokedCertificates *[]VpnServerConfigVpnClientRevokedCertificate `json:"vpnServerConfigVpnClientRevokedCertificates,omitempty"` + // VpnServerConfigRadiusServerRootCertificates - Radius Server root certificate of VpnServerConfiguration. + VpnServerConfigRadiusServerRootCertificates *[]VpnServerConfigRadiusServerRootCertificate `json:"vpnServerConfigRadiusServerRootCertificates,omitempty"` + // VpnServerConfigRadiusClientRootCertificates - Radius client root certificate of VpnServerConfiguration. + VpnServerConfigRadiusClientRootCertificates *[]VpnServerConfigRadiusClientRootCertificate `json:"vpnServerConfigRadiusClientRootCertificates,omitempty"` + // VpnClientIpsecPolicies - VpnClientIpsecPolicies for VpnServerConfiguration. + VpnClientIpsecPolicies *[]IpsecPolicy `json:"vpnClientIpsecPolicies,omitempty"` + // RadiusServerAddress - The radius server address property of the VpnServerConfiguration resource for point to site client connection. + RadiusServerAddress *string `json:"radiusServerAddress,omitempty"` + // RadiusServerSecret - The radius secret property of the VpnServerConfiguration resource for point to site client connection. + RadiusServerSecret *string `json:"radiusServerSecret,omitempty"` + // AadAuthenticationParameters - The set of aad vpn authentication parameters. + AadAuthenticationParameters *AadAuthenticationParameters `json:"aadAuthenticationParameters,omitempty"` + // ProvisioningState - READ-ONLY; The provisioning state of the VpnServerConfiguration resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + ProvisioningState *string `json:"provisioningState,omitempty"` + // P2SVpnGateways - READ-ONLY; List of references to P2SVpnGateways. + P2SVpnGateways *[]P2SVpnGateway `json:"p2SVpnGateways,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` +} + +// VpnServerConfigurationsAssociatedWithVirtualWanListFuture an abstraction for monitoring and retrieving +// the results of a long-running operation. +type VpnServerConfigurationsAssociatedWithVirtualWanListFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VpnServerConfigurationsAssociatedWithVirtualWanListFuture) Result(client VpnServerConfigurationsAssociatedWithVirtualWanClient) (vscr VpnServerConfigurationsResponse, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnServerConfigurationsAssociatedWithVirtualWanListFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VpnServerConfigurationsAssociatedWithVirtualWanListFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if vscr.Response.Response, err = future.GetResult(sender); err == nil && vscr.Response.Response.StatusCode != http.StatusNoContent { + vscr, err = client.ListResponder(vscr.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnServerConfigurationsAssociatedWithVirtualWanListFuture", "Result", vscr.Response.Response, "Failure responding to request") + } + } + return +} + +// VpnServerConfigurationsCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of +// a long-running operation. +type VpnServerConfigurationsCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VpnServerConfigurationsCreateOrUpdateFuture) Result(client VpnServerConfigurationsClient) (vsc VpnServerConfiguration, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnServerConfigurationsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VpnServerConfigurationsCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if vsc.Response.Response, err = future.GetResult(sender); err == nil && vsc.Response.Response.StatusCode != http.StatusNoContent { + vsc, err = client.CreateOrUpdateResponder(vsc.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnServerConfigurationsCreateOrUpdateFuture", "Result", vsc.Response.Response, "Failure responding to request") + } + } + return +} + +// VpnServerConfigurationsDeleteFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type VpnServerConfigurationsDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VpnServerConfigurationsDeleteFuture) Result(client VpnServerConfigurationsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnServerConfigurationsDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VpnServerConfigurationsDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// VpnServerConfigurationsResponse vpnServerConfigurations list associated with VirtualWan Response. +type VpnServerConfigurationsResponse struct { + autorest.Response `json:"-"` + // VpnServerConfigurationResourceIds - List of VpnServerConfigurations associated with VirtualWan. + VpnServerConfigurationResourceIds *[]string `json:"vpnServerConfigurationResourceIds,omitempty"` +} + +// VpnServerConfigurationsUpdateTagsFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type VpnServerConfigurationsUpdateTagsFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VpnServerConfigurationsUpdateTagsFuture) Result(client VpnServerConfigurationsClient) (vsc VpnServerConfiguration, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnServerConfigurationsUpdateTagsFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VpnServerConfigurationsUpdateTagsFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if vsc.Response.Response, err = future.GetResult(sender); err == nil && vsc.Response.Response.StatusCode != http.StatusNoContent { + vsc, err = client.UpdateTagsResponder(vsc.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnServerConfigurationsUpdateTagsFuture", "Result", vsc.Response.Response, "Failure responding to request") + } + } + return +} + +// VpnServerConfigVpnClientRevokedCertificate properties of the revoked VPN client certificate of +// VpnServerConfiguration. +type VpnServerConfigVpnClientRevokedCertificate struct { + // Name - The certificate name. + Name *string `json:"name,omitempty"` + // Thumbprint - The revoked VPN client certificate thumbprint. + Thumbprint *string `json:"thumbprint,omitempty"` +} + +// VpnServerConfigVpnClientRootCertificate properties of VPN client root certificate of +// VpnServerConfiguration. +type VpnServerConfigVpnClientRootCertificate struct { + // Name - The certificate name. + Name *string `json:"name,omitempty"` + // PublicCertData - The certificate public data. + PublicCertData *string `json:"publicCertData,omitempty"` +} + +// VpnSite vpnSite Resource. +type VpnSite struct { + autorest.Response `json:"-"` + // VpnSiteProperties - Properties of the VPN site. + *VpnSiteProperties `json:"properties,omitempty"` + // Etag - READ-ONLY; A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for VpnSite. +func (vs VpnSite) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if vs.VpnSiteProperties != nil { + objectMap["properties"] = vs.VpnSiteProperties + } + if vs.ID != nil { + objectMap["id"] = vs.ID + } + if vs.Location != nil { + objectMap["location"] = vs.Location + } + if vs.Tags != nil { + objectMap["tags"] = vs.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for VpnSite struct. +func (vs *VpnSite) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var vpnSiteProperties VpnSiteProperties + err = json.Unmarshal(*v, &vpnSiteProperties) + if err != nil { + return err + } + vs.VpnSiteProperties = &vpnSiteProperties + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + vs.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + vs.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + vs.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + vs.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + vs.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + vs.Tags = tags + } + } + } + + return nil +} + +// VpnSiteID vpnSite Resource. +type VpnSiteID struct { + // VpnSite - READ-ONLY; The resource-uri of the vpn-site for which config is to be fetched. + VpnSite *string `json:"vpnSite,omitempty"` +} + +// VpnSiteLink vpnSiteLink Resource. +type VpnSiteLink struct { + autorest.Response `json:"-"` + // VpnSiteLinkProperties - Properties of the VPN site link. + *VpnSiteLinkProperties `json:"properties,omitempty"` + // Etag - READ-ONLY; A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // Name - The name of the resource that is unique within a resource group. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for VpnSiteLink. +func (vsl VpnSiteLink) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if vsl.VpnSiteLinkProperties != nil { + objectMap["properties"] = vsl.VpnSiteLinkProperties + } + if vsl.Name != nil { + objectMap["name"] = vsl.Name + } + if vsl.ID != nil { + objectMap["id"] = vsl.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for VpnSiteLink struct. +func (vsl *VpnSiteLink) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var vpnSiteLinkProperties VpnSiteLinkProperties + err = json.Unmarshal(*v, &vpnSiteLinkProperties) + if err != nil { + return err + } + vsl.VpnSiteLinkProperties = &vpnSiteLinkProperties + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + vsl.Etag = &etag + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + vsl.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + vsl.Type = &typeVar + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + vsl.ID = &ID + } + } + } + + return nil +} + +// VpnSiteLinkConnection vpnSiteLinkConnection Resource. +type VpnSiteLinkConnection struct { + autorest.Response `json:"-"` + // VpnSiteLinkConnectionProperties - Properties of the VPN site link connection. + *VpnSiteLinkConnectionProperties `json:"properties,omitempty"` + // Name - The name of the resource that is unique within a resource group. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + // Etag - READ-ONLY; A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for VpnSiteLinkConnection. +func (vslc VpnSiteLinkConnection) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if vslc.VpnSiteLinkConnectionProperties != nil { + objectMap["properties"] = vslc.VpnSiteLinkConnectionProperties + } + if vslc.Name != nil { + objectMap["name"] = vslc.Name + } + if vslc.ID != nil { + objectMap["id"] = vslc.ID + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for VpnSiteLinkConnection struct. +func (vslc *VpnSiteLinkConnection) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var vpnSiteLinkConnectionProperties VpnSiteLinkConnectionProperties + err = json.Unmarshal(*v, &vpnSiteLinkConnectionProperties) + if err != nil { + return err + } + vslc.VpnSiteLinkConnectionProperties = &vpnSiteLinkConnectionProperties + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + vslc.Name = &name + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + vslc.Etag = &etag + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + vslc.Type = &typeVar + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + vslc.ID = &ID + } + } + } + + return nil +} + +// VpnSiteLinkConnectionProperties parameters for VpnConnection. +type VpnSiteLinkConnectionProperties struct { + // VpnSiteLink - Id of the connected vpn site link. + VpnSiteLink *SubResource `json:"vpnSiteLink,omitempty"` + // RoutingWeight - Routing weight for vpn connection. + RoutingWeight *int32 `json:"routingWeight,omitempty"` + // ConnectionStatus - The connection status. Possible values include: 'VpnConnectionStatusUnknown', 'VpnConnectionStatusConnecting', 'VpnConnectionStatusConnected', 'VpnConnectionStatusNotConnected' + ConnectionStatus VpnConnectionStatus `json:"connectionStatus,omitempty"` + // VpnConnectionProtocolType - Connection protocol used for this connection. Possible values include: 'IKEv2', 'IKEv1' + VpnConnectionProtocolType VirtualNetworkGatewayConnectionProtocol `json:"vpnConnectionProtocolType,omitempty"` + // IngressBytesTransferred - READ-ONLY; Ingress bytes transferred. + IngressBytesTransferred *int64 `json:"ingressBytesTransferred,omitempty"` + // EgressBytesTransferred - READ-ONLY; Egress bytes transferred. + EgressBytesTransferred *int64 `json:"egressBytesTransferred,omitempty"` + // ConnectionBandwidth - Expected bandwidth in MBPS. + ConnectionBandwidth *int32 `json:"connectionBandwidth,omitempty"` + // SharedKey - SharedKey for the vpn connection. + SharedKey *string `json:"sharedKey,omitempty"` + // EnableBgp - EnableBgp flag. + EnableBgp *bool `json:"enableBgp,omitempty"` + // UsePolicyBasedTrafficSelectors - Enable policy-based traffic selectors. + UsePolicyBasedTrafficSelectors *bool `json:"usePolicyBasedTrafficSelectors,omitempty"` + // IpsecPolicies - The IPSec Policies to be considered by this connection. + IpsecPolicies *[]IpsecPolicy `json:"ipsecPolicies,omitempty"` + // EnableRateLimiting - EnableBgp flag. + EnableRateLimiting *bool `json:"enableRateLimiting,omitempty"` + // UseLocalAzureIPAddress - Use local azure ip to initiate connection. + UseLocalAzureIPAddress *bool `json:"useLocalAzureIpAddress,omitempty"` + // ProvisioningState - The provisioning state of the VPN site link connection resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// VpnSiteLinkProperties parameters for VpnSite. +type VpnSiteLinkProperties struct { + // LinkProperties - The link provider properties. + LinkProperties *VpnLinkProviderProperties `json:"linkProperties,omitempty"` + // IPAddress - The ip-address for the vpn-site-link. + IPAddress *string `json:"ipAddress,omitempty"` + // BgpProperties - The set of bgp properties. + BgpProperties *VpnLinkBgpSettings `json:"bgpProperties,omitempty"` + // ProvisioningState - The provisioning state of the VPN site link resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// VpnSiteProperties parameters for VpnSite. +type VpnSiteProperties struct { + // VirtualWan - The VirtualWAN to which the vpnSite belongs. + VirtualWan *SubResource `json:"virtualWan,omitempty"` + // DeviceProperties - The device properties. + DeviceProperties *DeviceProperties `json:"deviceProperties,omitempty"` + // IPAddress - The ip-address for the vpn-site. + IPAddress *string `json:"ipAddress,omitempty"` + // SiteKey - The key for vpn-site that can be used for connections. + SiteKey *string `json:"siteKey,omitempty"` + // AddressSpace - The AddressSpace that contains an array of IP address ranges. + AddressSpace *AddressSpace `json:"addressSpace,omitempty"` + // BgpProperties - The set of bgp properties. + BgpProperties *BgpSettings `json:"bgpProperties,omitempty"` + // ProvisioningState - The provisioning state of the VPN site resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + // IsSecuritySite - IsSecuritySite flag. + IsSecuritySite *bool `json:"isSecuritySite,omitempty"` + // VpnSiteLinks - List of all vpn site links. + VpnSiteLinks *[]VpnSiteLink `json:"vpnSiteLinks,omitempty"` +} + +// VpnSitesConfigurationDownloadFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type VpnSitesConfigurationDownloadFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VpnSitesConfigurationDownloadFuture) Result(client VpnSitesConfigurationClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnSitesConfigurationDownloadFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VpnSitesConfigurationDownloadFuture") + return + } + ar.Response = future.Response() + return +} + +// VpnSitesCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type VpnSitesCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VpnSitesCreateOrUpdateFuture) Result(client VpnSitesClient) (vs VpnSite, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnSitesCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VpnSitesCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if vs.Response.Response, err = future.GetResult(sender); err == nil && vs.Response.Response.StatusCode != http.StatusNoContent { + vs, err = client.CreateOrUpdateResponder(vs.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnSitesCreateOrUpdateFuture", "Result", vs.Response.Response, "Failure responding to request") + } + } + return +} + +// VpnSitesDeleteFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type VpnSitesDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VpnSitesDeleteFuture) Result(client VpnSitesClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnSitesDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VpnSitesDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// VpnSitesUpdateTagsFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type VpnSitesUpdateTagsFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *VpnSitesUpdateTagsFuture) Result(client VpnSitesClient) (vs VpnSite, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnSitesUpdateTagsFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.VpnSitesUpdateTagsFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if vs.Response.Response, err = future.GetResult(sender); err == nil && vs.Response.Response.StatusCode != http.StatusNoContent { + vs, err = client.UpdateTagsResponder(vs.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnSitesUpdateTagsFuture", "Result", vs.Response.Response, "Failure responding to request") + } + } + return +} + +// Watcher network watcher in a resource group. +type Watcher struct { + autorest.Response `json:"-"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // WatcherPropertiesFormat - Properties of the network watcher. + *WatcherPropertiesFormat `json:"properties,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for Watcher. +func (w Watcher) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if w.Etag != nil { + objectMap["etag"] = w.Etag + } + if w.WatcherPropertiesFormat != nil { + objectMap["properties"] = w.WatcherPropertiesFormat + } + if w.ID != nil { + objectMap["id"] = w.ID + } + if w.Location != nil { + objectMap["location"] = w.Location + } + if w.Tags != nil { + objectMap["tags"] = w.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for Watcher struct. +func (w *Watcher) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + w.Etag = &etag + } + case "properties": + if v != nil { + var watcherPropertiesFormat WatcherPropertiesFormat + err = json.Unmarshal(*v, &watcherPropertiesFormat) + if err != nil { + return err + } + w.WatcherPropertiesFormat = &watcherPropertiesFormat + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + w.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + w.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + w.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + w.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + w.Tags = tags + } + } + } + + return nil +} + +// WatcherListResult response for ListNetworkWatchers API service call. +type WatcherListResult struct { + autorest.Response `json:"-"` + // Value - List of network watcher resources. + Value *[]Watcher `json:"value,omitempty"` +} + +// WatcherPropertiesFormat the network watcher properties. +type WatcherPropertiesFormat struct { + // ProvisioningState - The provisioning state of the network watcher resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// WatchersCheckConnectivityFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type WatchersCheckConnectivityFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *WatchersCheckConnectivityFuture) Result(client WatchersClient) (ci ConnectivityInformation, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersCheckConnectivityFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.WatchersCheckConnectivityFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if ci.Response.Response, err = future.GetResult(sender); err == nil && ci.Response.Response.StatusCode != http.StatusNoContent { + ci, err = client.CheckConnectivityResponder(ci.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersCheckConnectivityFuture", "Result", ci.Response.Response, "Failure responding to request") + } + } + return +} + +// WatchersDeleteFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type WatchersDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *WatchersDeleteFuture) Result(client WatchersClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.WatchersDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// WatchersGetAzureReachabilityReportFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type WatchersGetAzureReachabilityReportFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *WatchersGetAzureReachabilityReportFuture) Result(client WatchersClient) (arr AzureReachabilityReport, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersGetAzureReachabilityReportFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.WatchersGetAzureReachabilityReportFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if arr.Response.Response, err = future.GetResult(sender); err == nil && arr.Response.Response.StatusCode != http.StatusNoContent { + arr, err = client.GetAzureReachabilityReportResponder(arr.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersGetAzureReachabilityReportFuture", "Result", arr.Response.Response, "Failure responding to request") + } + } + return +} + +// WatchersGetFlowLogStatusFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type WatchersGetFlowLogStatusFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *WatchersGetFlowLogStatusFuture) Result(client WatchersClient) (fli FlowLogInformation, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersGetFlowLogStatusFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.WatchersGetFlowLogStatusFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if fli.Response.Response, err = future.GetResult(sender); err == nil && fli.Response.Response.StatusCode != http.StatusNoContent { + fli, err = client.GetFlowLogStatusResponder(fli.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersGetFlowLogStatusFuture", "Result", fli.Response.Response, "Failure responding to request") + } + } + return +} + +// WatchersGetNetworkConfigurationDiagnosticFuture an abstraction for monitoring and retrieving the results +// of a long-running operation. +type WatchersGetNetworkConfigurationDiagnosticFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *WatchersGetNetworkConfigurationDiagnosticFuture) Result(client WatchersClient) (cdr ConfigurationDiagnosticResponse, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersGetNetworkConfigurationDiagnosticFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.WatchersGetNetworkConfigurationDiagnosticFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if cdr.Response.Response, err = future.GetResult(sender); err == nil && cdr.Response.Response.StatusCode != http.StatusNoContent { + cdr, err = client.GetNetworkConfigurationDiagnosticResponder(cdr.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersGetNetworkConfigurationDiagnosticFuture", "Result", cdr.Response.Response, "Failure responding to request") + } + } + return +} + +// WatchersGetNextHopFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type WatchersGetNextHopFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *WatchersGetNextHopFuture) Result(client WatchersClient) (nhr NextHopResult, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersGetNextHopFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.WatchersGetNextHopFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if nhr.Response.Response, err = future.GetResult(sender); err == nil && nhr.Response.Response.StatusCode != http.StatusNoContent { + nhr, err = client.GetNextHopResponder(nhr.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersGetNextHopFuture", "Result", nhr.Response.Response, "Failure responding to request") + } + } + return +} + +// WatchersGetTroubleshootingFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type WatchersGetTroubleshootingFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *WatchersGetTroubleshootingFuture) Result(client WatchersClient) (tr TroubleshootingResult, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersGetTroubleshootingFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.WatchersGetTroubleshootingFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if tr.Response.Response, err = future.GetResult(sender); err == nil && tr.Response.Response.StatusCode != http.StatusNoContent { + tr, err = client.GetTroubleshootingResponder(tr.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersGetTroubleshootingFuture", "Result", tr.Response.Response, "Failure responding to request") + } + } + return +} + +// WatchersGetTroubleshootingResultFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type WatchersGetTroubleshootingResultFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *WatchersGetTroubleshootingResultFuture) Result(client WatchersClient) (tr TroubleshootingResult, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersGetTroubleshootingResultFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.WatchersGetTroubleshootingResultFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if tr.Response.Response, err = future.GetResult(sender); err == nil && tr.Response.Response.StatusCode != http.StatusNoContent { + tr, err = client.GetTroubleshootingResultResponder(tr.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersGetTroubleshootingResultFuture", "Result", tr.Response.Response, "Failure responding to request") + } + } + return +} + +// WatchersGetVMSecurityRulesFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type WatchersGetVMSecurityRulesFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *WatchersGetVMSecurityRulesFuture) Result(client WatchersClient) (sgvr SecurityGroupViewResult, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersGetVMSecurityRulesFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.WatchersGetVMSecurityRulesFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if sgvr.Response.Response, err = future.GetResult(sender); err == nil && sgvr.Response.Response.StatusCode != http.StatusNoContent { + sgvr, err = client.GetVMSecurityRulesResponder(sgvr.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersGetVMSecurityRulesFuture", "Result", sgvr.Response.Response, "Failure responding to request") + } + } + return +} + +// WatchersListAvailableProvidersFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type WatchersListAvailableProvidersFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *WatchersListAvailableProvidersFuture) Result(client WatchersClient) (apl AvailableProvidersList, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersListAvailableProvidersFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.WatchersListAvailableProvidersFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if apl.Response.Response, err = future.GetResult(sender); err == nil && apl.Response.Response.StatusCode != http.StatusNoContent { + apl, err = client.ListAvailableProvidersResponder(apl.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersListAvailableProvidersFuture", "Result", apl.Response.Response, "Failure responding to request") + } + } + return +} + +// WatchersSetFlowLogConfigurationFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type WatchersSetFlowLogConfigurationFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *WatchersSetFlowLogConfigurationFuture) Result(client WatchersClient) (fli FlowLogInformation, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersSetFlowLogConfigurationFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.WatchersSetFlowLogConfigurationFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if fli.Response.Response, err = future.GetResult(sender); err == nil && fli.Response.Response.StatusCode != http.StatusNoContent { + fli, err = client.SetFlowLogConfigurationResponder(fli.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersSetFlowLogConfigurationFuture", "Result", fli.Response.Response, "Failure responding to request") + } + } + return +} + +// WatchersVerifyIPFlowFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type WatchersVerifyIPFlowFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *WatchersVerifyIPFlowFuture) Result(client WatchersClient) (vifr VerificationIPFlowResult, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersVerifyIPFlowFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.WatchersVerifyIPFlowFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if vifr.Response.Response, err = future.GetResult(sender); err == nil && vifr.Response.Response.StatusCode != http.StatusNoContent { + vifr, err = client.VerifyIPFlowResponder(vifr.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersVerifyIPFlowFuture", "Result", vifr.Response.Response, "Failure responding to request") + } + } + return +} + +// WebApplicationFirewallCustomRule defines contents of a web application rule. +type WebApplicationFirewallCustomRule struct { + // Name - The name of the resource that is unique within a policy. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + // Etag - READ-ONLY; A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // Priority - Describes priority of the rule. Rules with a lower value will be evaluated before rules with a higher value. + Priority *int32 `json:"priority,omitempty"` + // RuleType - Describes type of rule. Possible values include: 'WebApplicationFirewallRuleTypeMatchRule', 'WebApplicationFirewallRuleTypeInvalid' + RuleType WebApplicationFirewallRuleType `json:"ruleType,omitempty"` + // MatchConditions - List of match conditions. + MatchConditions *[]MatchCondition `json:"matchConditions,omitempty"` + // Action - Type of Actions. Possible values include: 'WebApplicationFirewallActionAllow', 'WebApplicationFirewallActionBlock', 'WebApplicationFirewallActionLog' + Action WebApplicationFirewallAction `json:"action,omitempty"` +} + +// WebApplicationFirewallPoliciesDeleteFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type WebApplicationFirewallPoliciesDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *WebApplicationFirewallPoliciesDeleteFuture) Result(client WebApplicationFirewallPoliciesClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WebApplicationFirewallPoliciesDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("network.WebApplicationFirewallPoliciesDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// WebApplicationFirewallPolicy defines web application firewall policy. +type WebApplicationFirewallPolicy struct { + autorest.Response `json:"-"` + // WebApplicationFirewallPolicyPropertiesFormat - Properties of the web application firewall policy. + *WebApplicationFirewallPolicyPropertiesFormat `json:"properties,omitempty"` + // Etag - A unique read-only string that changes whenever the resource is updated. + Etag *string `json:"etag,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for WebApplicationFirewallPolicy. +func (wafp WebApplicationFirewallPolicy) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if wafp.WebApplicationFirewallPolicyPropertiesFormat != nil { + objectMap["properties"] = wafp.WebApplicationFirewallPolicyPropertiesFormat + } + if wafp.Etag != nil { + objectMap["etag"] = wafp.Etag + } + if wafp.ID != nil { + objectMap["id"] = wafp.ID + } + if wafp.Location != nil { + objectMap["location"] = wafp.Location + } + if wafp.Tags != nil { + objectMap["tags"] = wafp.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for WebApplicationFirewallPolicy struct. +func (wafp *WebApplicationFirewallPolicy) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var webApplicationFirewallPolicyPropertiesFormat WebApplicationFirewallPolicyPropertiesFormat + err = json.Unmarshal(*v, &webApplicationFirewallPolicyPropertiesFormat) + if err != nil { + return err + } + wafp.WebApplicationFirewallPolicyPropertiesFormat = &webApplicationFirewallPolicyPropertiesFormat + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + wafp.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + wafp.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + wafp.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + wafp.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + wafp.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + wafp.Tags = tags + } + } + } + + return nil +} + +// WebApplicationFirewallPolicyListResult result of the request to list WebApplicationFirewallPolicies. It +// contains a list of WebApplicationFirewallPolicy objects and a URL link to get the next set of results. +type WebApplicationFirewallPolicyListResult struct { + autorest.Response `json:"-"` + // Value - READ-ONLY; List of WebApplicationFirewallPolicies within a resource group. + Value *[]WebApplicationFirewallPolicy `json:"value,omitempty"` + // NextLink - READ-ONLY; URL to get the next set of WebApplicationFirewallPolicy objects if there are any. + NextLink *string `json:"nextLink,omitempty"` +} + +// WebApplicationFirewallPolicyListResultIterator provides access to a complete listing of +// WebApplicationFirewallPolicy values. +type WebApplicationFirewallPolicyListResultIterator struct { + i int + page WebApplicationFirewallPolicyListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *WebApplicationFirewallPolicyListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WebApplicationFirewallPolicyListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *WebApplicationFirewallPolicyListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter WebApplicationFirewallPolicyListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter WebApplicationFirewallPolicyListResultIterator) Response() WebApplicationFirewallPolicyListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter WebApplicationFirewallPolicyListResultIterator) Value() WebApplicationFirewallPolicy { + if !iter.page.NotDone() { + return WebApplicationFirewallPolicy{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the WebApplicationFirewallPolicyListResultIterator type. +func NewWebApplicationFirewallPolicyListResultIterator(page WebApplicationFirewallPolicyListResultPage) WebApplicationFirewallPolicyListResultIterator { + return WebApplicationFirewallPolicyListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (wafplr WebApplicationFirewallPolicyListResult) IsEmpty() bool { + return wafplr.Value == nil || len(*wafplr.Value) == 0 +} + +// webApplicationFirewallPolicyListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (wafplr WebApplicationFirewallPolicyListResult) webApplicationFirewallPolicyListResultPreparer(ctx context.Context) (*http.Request, error) { + if wafplr.NextLink == nil || len(to.String(wafplr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(wafplr.NextLink))) +} + +// WebApplicationFirewallPolicyListResultPage contains a page of WebApplicationFirewallPolicy values. +type WebApplicationFirewallPolicyListResultPage struct { + fn func(context.Context, WebApplicationFirewallPolicyListResult) (WebApplicationFirewallPolicyListResult, error) + wafplr WebApplicationFirewallPolicyListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *WebApplicationFirewallPolicyListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WebApplicationFirewallPolicyListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.wafplr) + if err != nil { + return err + } + page.wafplr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *WebApplicationFirewallPolicyListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page WebApplicationFirewallPolicyListResultPage) NotDone() bool { + return !page.wafplr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page WebApplicationFirewallPolicyListResultPage) Response() WebApplicationFirewallPolicyListResult { + return page.wafplr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page WebApplicationFirewallPolicyListResultPage) Values() []WebApplicationFirewallPolicy { + if page.wafplr.IsEmpty() { + return nil + } + return *page.wafplr.Value +} + +// Creates a new instance of the WebApplicationFirewallPolicyListResultPage type. +func NewWebApplicationFirewallPolicyListResultPage(getNextPage func(context.Context, WebApplicationFirewallPolicyListResult) (WebApplicationFirewallPolicyListResult, error)) WebApplicationFirewallPolicyListResultPage { + return WebApplicationFirewallPolicyListResultPage{fn: getNextPage} +} + +// WebApplicationFirewallPolicyPropertiesFormat defines web application firewall policy properties. +type WebApplicationFirewallPolicyPropertiesFormat struct { + // PolicySettings - Describes policySettings for policy. + PolicySettings *PolicySettings `json:"policySettings,omitempty"` + // CustomRules - Describes custom rules inside the policy. + CustomRules *[]WebApplicationFirewallCustomRule `json:"customRules,omitempty"` + // ApplicationGateways - READ-ONLY; A collection of references to application gateways. + ApplicationGateways *[]ApplicationGateway `json:"applicationGateways,omitempty"` + // ProvisioningState - READ-ONLY; The provisioning state of the web application firewall policy resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + // ResourceState - READ-ONLY; Resource status of the policy. Possible values include: 'WebApplicationFirewallPolicyResourceStateCreating', 'WebApplicationFirewallPolicyResourceStateEnabling', 'WebApplicationFirewallPolicyResourceStateEnabled', 'WebApplicationFirewallPolicyResourceStateDisabling', 'WebApplicationFirewallPolicyResourceStateDisabled', 'WebApplicationFirewallPolicyResourceStateDeleting' + ResourceState WebApplicationFirewallPolicyResourceState `json:"resourceState,omitempty"` + // ManagedRules - Describes the managedRules structure + ManagedRules *ManagedRulesDefinition `json:"managedRules,omitempty"` +} diff --git a/services/network/mgmt/2019-08-01/network/natgateways.go b/services/network/mgmt/2019-08-01/network/natgateways.go new file mode 100644 index 000000000000..bb6cf51006bc --- /dev/null +++ b/services/network/mgmt/2019-08-01/network/natgateways.go @@ -0,0 +1,581 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// NatGatewaysClient is the network Client +type NatGatewaysClient struct { + BaseClient +} + +// NewNatGatewaysClient creates an instance of the NatGatewaysClient client. +func NewNatGatewaysClient(subscriptionID string) NatGatewaysClient { + return NewNatGatewaysClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewNatGatewaysClientWithBaseURI creates an instance of the NatGatewaysClient client. +func NewNatGatewaysClientWithBaseURI(baseURI string, subscriptionID string) NatGatewaysClient { + return NatGatewaysClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates a nat gateway. +// Parameters: +// resourceGroupName - the name of the resource group. +// natGatewayName - the name of the nat gateway. +// parameters - parameters supplied to the create or update nat gateway operation. +func (client NatGatewaysClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, natGatewayName string, parameters NatGateway) (result NatGatewaysCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/NatGatewaysClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, natGatewayName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.NatGatewaysClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.NatGatewaysClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client NatGatewaysClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, natGatewayName string, parameters NatGateway) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "natGatewayName": autorest.Encode("path", natGatewayName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/natGateways/{natGatewayName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client NatGatewaysClient) CreateOrUpdateSender(req *http.Request) (future NatGatewaysCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client NatGatewaysClient) CreateOrUpdateResponder(resp *http.Response) (result NatGateway, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the specified nat gateway. +// Parameters: +// resourceGroupName - the name of the resource group. +// natGatewayName - the name of the nat gateway. +func (client NatGatewaysClient) Delete(ctx context.Context, resourceGroupName string, natGatewayName string) (result NatGatewaysDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/NatGatewaysClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, natGatewayName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.NatGatewaysClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.NatGatewaysClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client NatGatewaysClient) DeletePreparer(ctx context.Context, resourceGroupName string, natGatewayName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "natGatewayName": autorest.Encode("path", natGatewayName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/natGateways/{natGatewayName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client NatGatewaysClient) DeleteSender(req *http.Request) (future NatGatewaysDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client NatGatewaysClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets the specified nat gateway in a specified resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +// natGatewayName - the name of the nat gateway. +// expand - expands referenced resources. +func (client NatGatewaysClient) Get(ctx context.Context, resourceGroupName string, natGatewayName string, expand string) (result NatGateway, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/NatGatewaysClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, natGatewayName, expand) + if err != nil { + err = autorest.NewErrorWithError(err, "network.NatGatewaysClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.NatGatewaysClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.NatGatewaysClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client NatGatewaysClient) GetPreparer(ctx context.Context, resourceGroupName string, natGatewayName string, expand string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "natGatewayName": autorest.Encode("path", natGatewayName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(expand) > 0 { + queryParameters["$expand"] = autorest.Encode("query", expand) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/natGateways/{natGatewayName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client NatGatewaysClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client NatGatewaysClient) GetResponder(resp *http.Response) (result NatGateway, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets all nat gateways in a resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +func (client NatGatewaysClient) List(ctx context.Context, resourceGroupName string) (result NatGatewayListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/NatGatewaysClient.List") + defer func() { + sc := -1 + if result.nglr.Response.Response != nil { + sc = result.nglr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.NatGatewaysClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.nglr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.NatGatewaysClient", "List", resp, "Failure sending request") + return + } + + result.nglr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.NatGatewaysClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client NatGatewaysClient) ListPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/natGateways", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client NatGatewaysClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client NatGatewaysClient) ListResponder(resp *http.Response) (result NatGatewayListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client NatGatewaysClient) listNextResults(ctx context.Context, lastResults NatGatewayListResult) (result NatGatewayListResult, err error) { + req, err := lastResults.natGatewayListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.NatGatewaysClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.NatGatewaysClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.NatGatewaysClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client NatGatewaysClient) ListComplete(ctx context.Context, resourceGroupName string) (result NatGatewayListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/NatGatewaysClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName) + return +} + +// ListAll gets all the Nat Gateways in a subscription. +func (client NatGatewaysClient) ListAll(ctx context.Context) (result NatGatewayListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/NatGatewaysClient.ListAll") + defer func() { + sc := -1 + if result.nglr.Response.Response != nil { + sc = result.nglr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listAllNextResults + req, err := client.ListAllPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "network.NatGatewaysClient", "ListAll", nil, "Failure preparing request") + return + } + + resp, err := client.ListAllSender(req) + if err != nil { + result.nglr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.NatGatewaysClient", "ListAll", resp, "Failure sending request") + return + } + + result.nglr, err = client.ListAllResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.NatGatewaysClient", "ListAll", resp, "Failure responding to request") + } + + return +} + +// ListAllPreparer prepares the ListAll request. +func (client NatGatewaysClient) ListAllPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/natGateways", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListAllSender sends the ListAll request. The method will close the +// http.Response Body if it receives an error. +func (client NatGatewaysClient) ListAllSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListAllResponder handles the response to the ListAll request. The method always +// closes the http.Response Body. +func (client NatGatewaysClient) ListAllResponder(resp *http.Response) (result NatGatewayListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listAllNextResults retrieves the next set of results, if any. +func (client NatGatewaysClient) listAllNextResults(ctx context.Context, lastResults NatGatewayListResult) (result NatGatewayListResult, err error) { + req, err := lastResults.natGatewayListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.NatGatewaysClient", "listAllNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListAllSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.NatGatewaysClient", "listAllNextResults", resp, "Failure sending next results request") + } + result, err = client.ListAllResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.NatGatewaysClient", "listAllNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListAllComplete enumerates all values, automatically crossing page boundaries as required. +func (client NatGatewaysClient) ListAllComplete(ctx context.Context) (result NatGatewayListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/NatGatewaysClient.ListAll") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListAll(ctx) + return +} + +// UpdateTags updates nat gateway tags. +// Parameters: +// resourceGroupName - the name of the resource group. +// natGatewayName - the name of the nat gateway. +// parameters - parameters supplied to update nat gateway tags. +func (client NatGatewaysClient) UpdateTags(ctx context.Context, resourceGroupName string, natGatewayName string, parameters TagsObject) (result NatGateway, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/NatGatewaysClient.UpdateTags") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdateTagsPreparer(ctx, resourceGroupName, natGatewayName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.NatGatewaysClient", "UpdateTags", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateTagsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.NatGatewaysClient", "UpdateTags", resp, "Failure sending request") + return + } + + result, err = client.UpdateTagsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.NatGatewaysClient", "UpdateTags", resp, "Failure responding to request") + } + + return +} + +// UpdateTagsPreparer prepares the UpdateTags request. +func (client NatGatewaysClient) UpdateTagsPreparer(ctx context.Context, resourceGroupName string, natGatewayName string, parameters TagsObject) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "natGatewayName": autorest.Encode("path", natGatewayName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/natGateways/{natGatewayName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateTagsSender sends the UpdateTags request. The method will close the +// http.Response Body if it receives an error. +func (client NatGatewaysClient) UpdateTagsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// UpdateTagsResponder handles the response to the UpdateTags request. The method always +// closes the http.Response Body. +func (client NatGatewaysClient) UpdateTagsResponder(resp *http.Response) (result NatGateway, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/network/mgmt/2019-08-01/network/networkapi/interfaces.go b/services/network/mgmt/2019-08-01/network/networkapi/interfaces.go new file mode 100644 index 000000000000..e535e375f8a5 --- /dev/null +++ b/services/network/mgmt/2019-08-01/network/networkapi/interfaces.go @@ -0,0 +1,960 @@ +package networkapi + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/azure-sdk-for-go/services/network/mgmt/2019-08-01/network" +) + +// BaseClientAPI contains the set of methods on the BaseClient type. +type BaseClientAPI interface { + CheckDNSNameAvailability(ctx context.Context, location string, domainNameLabel string) (result network.DNSNameAvailabilityResult, err error) + Generatevirtualwanvpnserverconfigurationvpnprofile(ctx context.Context, resourceGroupName string, virtualWANName string, vpnClientParams network.VirtualWanVpnProfileParameters) (result network.GeneratevirtualwanvpnserverconfigurationvpnprofileFuture, err error) + SupportedSecurityProviders(ctx context.Context, resourceGroupName string, virtualWANName string) (result network.VirtualWanSecurityProviders, err error) +} + +var _ BaseClientAPI = (*network.BaseClient)(nil) + +// ApplicationGatewaysClientAPI contains the set of methods on the ApplicationGatewaysClient type. +type ApplicationGatewaysClientAPI interface { + BackendHealth(ctx context.Context, resourceGroupName string, applicationGatewayName string, expand string) (result network.ApplicationGatewaysBackendHealthFuture, err error) + BackendHealthOnDemand(ctx context.Context, resourceGroupName string, applicationGatewayName string, probeRequest network.ApplicationGatewayOnDemandProbe, expand string) (result network.ApplicationGatewaysBackendHealthOnDemandFuture, err error) + CreateOrUpdate(ctx context.Context, resourceGroupName string, applicationGatewayName string, parameters network.ApplicationGateway) (result network.ApplicationGatewaysCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, applicationGatewayName string) (result network.ApplicationGatewaysDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, applicationGatewayName string) (result network.ApplicationGateway, err error) + GetSslPredefinedPolicy(ctx context.Context, predefinedPolicyName string) (result network.ApplicationGatewaySslPredefinedPolicy, err error) + List(ctx context.Context, resourceGroupName string) (result network.ApplicationGatewayListResultPage, err error) + ListAll(ctx context.Context) (result network.ApplicationGatewayListResultPage, err error) + ListAvailableRequestHeaders(ctx context.Context) (result network.ListString, err error) + ListAvailableResponseHeaders(ctx context.Context) (result network.ListString, err error) + ListAvailableServerVariables(ctx context.Context) (result network.ListString, err error) + ListAvailableSslOptions(ctx context.Context) (result network.ApplicationGatewayAvailableSslOptions, err error) + ListAvailableSslPredefinedPolicies(ctx context.Context) (result network.ApplicationGatewayAvailableSslPredefinedPoliciesPage, err error) + ListAvailableWafRuleSets(ctx context.Context) (result network.ApplicationGatewayAvailableWafRuleSetsResult, err error) + Start(ctx context.Context, resourceGroupName string, applicationGatewayName string) (result network.ApplicationGatewaysStartFuture, err error) + Stop(ctx context.Context, resourceGroupName string, applicationGatewayName string) (result network.ApplicationGatewaysStopFuture, err error) + UpdateTags(ctx context.Context, resourceGroupName string, applicationGatewayName string, parameters network.TagsObject) (result network.ApplicationGatewaysUpdateTagsFuture, err error) +} + +var _ ApplicationGatewaysClientAPI = (*network.ApplicationGatewaysClient)(nil) + +// ApplicationSecurityGroupsClientAPI contains the set of methods on the ApplicationSecurityGroupsClient type. +type ApplicationSecurityGroupsClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, applicationSecurityGroupName string, parameters network.ApplicationSecurityGroup) (result network.ApplicationSecurityGroupsCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, applicationSecurityGroupName string) (result network.ApplicationSecurityGroupsDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, applicationSecurityGroupName string) (result network.ApplicationSecurityGroup, err error) + List(ctx context.Context, resourceGroupName string) (result network.ApplicationSecurityGroupListResultPage, err error) + ListAll(ctx context.Context) (result network.ApplicationSecurityGroupListResultPage, err error) + UpdateTags(ctx context.Context, resourceGroupName string, applicationSecurityGroupName string, parameters network.TagsObject) (result network.ApplicationSecurityGroupsUpdateTagsFuture, err error) +} + +var _ ApplicationSecurityGroupsClientAPI = (*network.ApplicationSecurityGroupsClient)(nil) + +// AvailableDelegationsClientAPI contains the set of methods on the AvailableDelegationsClient type. +type AvailableDelegationsClientAPI interface { + List(ctx context.Context, location string) (result network.AvailableDelegationsResultPage, err error) +} + +var _ AvailableDelegationsClientAPI = (*network.AvailableDelegationsClient)(nil) + +// AvailableResourceGroupDelegationsClientAPI contains the set of methods on the AvailableResourceGroupDelegationsClient type. +type AvailableResourceGroupDelegationsClientAPI interface { + List(ctx context.Context, location string, resourceGroupName string) (result network.AvailableDelegationsResultPage, err error) +} + +var _ AvailableResourceGroupDelegationsClientAPI = (*network.AvailableResourceGroupDelegationsClient)(nil) + +// AvailableServiceAliasesClientAPI contains the set of methods on the AvailableServiceAliasesClient type. +type AvailableServiceAliasesClientAPI interface { + List(ctx context.Context, location string) (result network.AvailableServiceAliasesResultPage, err error) + ListByResourceGroup(ctx context.Context, resourceGroupName string, location string) (result network.AvailableServiceAliasesResultPage, err error) +} + +var _ AvailableServiceAliasesClientAPI = (*network.AvailableServiceAliasesClient)(nil) + +// AzureFirewallsClientAPI contains the set of methods on the AzureFirewallsClient type. +type AzureFirewallsClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, azureFirewallName string, parameters network.AzureFirewall) (result network.AzureFirewallsCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, azureFirewallName string) (result network.AzureFirewallsDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, azureFirewallName string) (result network.AzureFirewall, err error) + List(ctx context.Context, resourceGroupName string) (result network.AzureFirewallListResultPage, err error) + ListAll(ctx context.Context) (result network.AzureFirewallListResultPage, err error) + UpdateTags(ctx context.Context, resourceGroupName string, azureFirewallName string, parameters network.AzureFirewall) (result network.AzureFirewall, err error) +} + +var _ AzureFirewallsClientAPI = (*network.AzureFirewallsClient)(nil) + +// AzureFirewallFqdnTagsClientAPI contains the set of methods on the AzureFirewallFqdnTagsClient type. +type AzureFirewallFqdnTagsClientAPI interface { + ListAll(ctx context.Context) (result network.AzureFirewallFqdnTagListResultPage, err error) +} + +var _ AzureFirewallFqdnTagsClientAPI = (*network.AzureFirewallFqdnTagsClient)(nil) + +// BastionHostsClientAPI contains the set of methods on the BastionHostsClient type. +type BastionHostsClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, bastionHostName string, parameters network.BastionHost) (result network.BastionHostsCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, bastionHostName string) (result network.BastionHostsDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, bastionHostName string) (result network.BastionHost, err error) + List(ctx context.Context) (result network.BastionHostListResultPage, err error) + ListByResourceGroup(ctx context.Context, resourceGroupName string) (result network.BastionHostListResultPage, err error) +} + +var _ BastionHostsClientAPI = (*network.BastionHostsClient)(nil) + +// DdosCustomPoliciesClientAPI contains the set of methods on the DdosCustomPoliciesClient type. +type DdosCustomPoliciesClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, ddosCustomPolicyName string, parameters network.DdosCustomPolicy) (result network.DdosCustomPoliciesCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, ddosCustomPolicyName string) (result network.DdosCustomPoliciesDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, ddosCustomPolicyName string) (result network.DdosCustomPolicy, err error) + UpdateTags(ctx context.Context, resourceGroupName string, ddosCustomPolicyName string, parameters network.TagsObject) (result network.DdosCustomPoliciesUpdateTagsFuture, err error) +} + +var _ DdosCustomPoliciesClientAPI = (*network.DdosCustomPoliciesClient)(nil) + +// DdosProtectionPlansClientAPI contains the set of methods on the DdosProtectionPlansClient type. +type DdosProtectionPlansClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, ddosProtectionPlanName string, parameters network.DdosProtectionPlan) (result network.DdosProtectionPlansCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, ddosProtectionPlanName string) (result network.DdosProtectionPlansDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, ddosProtectionPlanName string) (result network.DdosProtectionPlan, err error) + List(ctx context.Context) (result network.DdosProtectionPlanListResultPage, err error) + ListByResourceGroup(ctx context.Context, resourceGroupName string) (result network.DdosProtectionPlanListResultPage, err error) + UpdateTags(ctx context.Context, resourceGroupName string, ddosProtectionPlanName string, parameters network.TagsObject) (result network.DdosProtectionPlansUpdateTagsFuture, err error) +} + +var _ DdosProtectionPlansClientAPI = (*network.DdosProtectionPlansClient)(nil) + +// AvailableEndpointServicesClientAPI contains the set of methods on the AvailableEndpointServicesClient type. +type AvailableEndpointServicesClientAPI interface { + List(ctx context.Context, location string) (result network.EndpointServicesListResultPage, err error) +} + +var _ AvailableEndpointServicesClientAPI = (*network.AvailableEndpointServicesClient)(nil) + +// ExpressRouteCircuitAuthorizationsClientAPI contains the set of methods on the ExpressRouteCircuitAuthorizationsClient type. +type ExpressRouteCircuitAuthorizationsClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, circuitName string, authorizationName string, authorizationParameters network.ExpressRouteCircuitAuthorization) (result network.ExpressRouteCircuitAuthorizationsCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, circuitName string, authorizationName string) (result network.ExpressRouteCircuitAuthorizationsDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, circuitName string, authorizationName string) (result network.ExpressRouteCircuitAuthorization, err error) + List(ctx context.Context, resourceGroupName string, circuitName string) (result network.AuthorizationListResultPage, err error) +} + +var _ ExpressRouteCircuitAuthorizationsClientAPI = (*network.ExpressRouteCircuitAuthorizationsClient)(nil) + +// ExpressRouteCircuitPeeringsClientAPI contains the set of methods on the ExpressRouteCircuitPeeringsClient type. +type ExpressRouteCircuitPeeringsClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, circuitName string, peeringName string, peeringParameters network.ExpressRouteCircuitPeering) (result network.ExpressRouteCircuitPeeringsCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, circuitName string, peeringName string) (result network.ExpressRouteCircuitPeeringsDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, circuitName string, peeringName string) (result network.ExpressRouteCircuitPeering, err error) + List(ctx context.Context, resourceGroupName string, circuitName string) (result network.ExpressRouteCircuitPeeringListResultPage, err error) +} + +var _ ExpressRouteCircuitPeeringsClientAPI = (*network.ExpressRouteCircuitPeeringsClient)(nil) + +// ExpressRouteCircuitConnectionsClientAPI contains the set of methods on the ExpressRouteCircuitConnectionsClient type. +type ExpressRouteCircuitConnectionsClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, circuitName string, peeringName string, connectionName string, expressRouteCircuitConnectionParameters network.ExpressRouteCircuitConnection) (result network.ExpressRouteCircuitConnectionsCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, circuitName string, peeringName string, connectionName string) (result network.ExpressRouteCircuitConnectionsDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, circuitName string, peeringName string, connectionName string) (result network.ExpressRouteCircuitConnection, err error) + List(ctx context.Context, resourceGroupName string, circuitName string, peeringName string) (result network.ExpressRouteCircuitConnectionListResultPage, err error) +} + +var _ ExpressRouteCircuitConnectionsClientAPI = (*network.ExpressRouteCircuitConnectionsClient)(nil) + +// PeerExpressRouteCircuitConnectionsClientAPI contains the set of methods on the PeerExpressRouteCircuitConnectionsClient type. +type PeerExpressRouteCircuitConnectionsClientAPI interface { + Get(ctx context.Context, resourceGroupName string, circuitName string, peeringName string, connectionName string) (result network.PeerExpressRouteCircuitConnection, err error) + List(ctx context.Context, resourceGroupName string, circuitName string, peeringName string) (result network.PeerExpressRouteCircuitConnectionListResultPage, err error) +} + +var _ PeerExpressRouteCircuitConnectionsClientAPI = (*network.PeerExpressRouteCircuitConnectionsClient)(nil) + +// ExpressRouteCircuitsClientAPI contains the set of methods on the ExpressRouteCircuitsClient type. +type ExpressRouteCircuitsClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, circuitName string, parameters network.ExpressRouteCircuit) (result network.ExpressRouteCircuitsCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, circuitName string) (result network.ExpressRouteCircuitsDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, circuitName string) (result network.ExpressRouteCircuit, err error) + GetPeeringStats(ctx context.Context, resourceGroupName string, circuitName string, peeringName string) (result network.ExpressRouteCircuitStats, err error) + GetStats(ctx context.Context, resourceGroupName string, circuitName string) (result network.ExpressRouteCircuitStats, err error) + List(ctx context.Context, resourceGroupName string) (result network.ExpressRouteCircuitListResultPage, err error) + ListAll(ctx context.Context) (result network.ExpressRouteCircuitListResultPage, err error) + ListArpTable(ctx context.Context, resourceGroupName string, circuitName string, peeringName string, devicePath string) (result network.ExpressRouteCircuitsListArpTableFuture, err error) + ListRoutesTable(ctx context.Context, resourceGroupName string, circuitName string, peeringName string, devicePath string) (result network.ExpressRouteCircuitsListRoutesTableFuture, err error) + ListRoutesTableSummary(ctx context.Context, resourceGroupName string, circuitName string, peeringName string, devicePath string) (result network.ExpressRouteCircuitsListRoutesTableSummaryFuture, err error) + UpdateTags(ctx context.Context, resourceGroupName string, circuitName string, parameters network.TagsObject) (result network.ExpressRouteCircuitsUpdateTagsFuture, err error) +} + +var _ ExpressRouteCircuitsClientAPI = (*network.ExpressRouteCircuitsClient)(nil) + +// ExpressRouteServiceProvidersClientAPI contains the set of methods on the ExpressRouteServiceProvidersClient type. +type ExpressRouteServiceProvidersClientAPI interface { + List(ctx context.Context) (result network.ExpressRouteServiceProviderListResultPage, err error) +} + +var _ ExpressRouteServiceProvidersClientAPI = (*network.ExpressRouteServiceProvidersClient)(nil) + +// ExpressRouteCrossConnectionsClientAPI contains the set of methods on the ExpressRouteCrossConnectionsClient type. +type ExpressRouteCrossConnectionsClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, crossConnectionName string, parameters network.ExpressRouteCrossConnection) (result network.ExpressRouteCrossConnectionsCreateOrUpdateFuture, err error) + Get(ctx context.Context, resourceGroupName string, crossConnectionName string) (result network.ExpressRouteCrossConnection, err error) + List(ctx context.Context) (result network.ExpressRouteCrossConnectionListResultPage, err error) + ListArpTable(ctx context.Context, resourceGroupName string, crossConnectionName string, peeringName string, devicePath string) (result network.ExpressRouteCrossConnectionsListArpTableFuture, err error) + ListByResourceGroup(ctx context.Context, resourceGroupName string) (result network.ExpressRouteCrossConnectionListResultPage, err error) + ListRoutesTable(ctx context.Context, resourceGroupName string, crossConnectionName string, peeringName string, devicePath string) (result network.ExpressRouteCrossConnectionsListRoutesTableFuture, err error) + ListRoutesTableSummary(ctx context.Context, resourceGroupName string, crossConnectionName string, peeringName string, devicePath string) (result network.ExpressRouteCrossConnectionsListRoutesTableSummaryFuture, err error) + UpdateTags(ctx context.Context, resourceGroupName string, crossConnectionName string, crossConnectionParameters network.TagsObject) (result network.ExpressRouteCrossConnectionsUpdateTagsFuture, err error) +} + +var _ ExpressRouteCrossConnectionsClientAPI = (*network.ExpressRouteCrossConnectionsClient)(nil) + +// ExpressRouteCrossConnectionPeeringsClientAPI contains the set of methods on the ExpressRouteCrossConnectionPeeringsClient type. +type ExpressRouteCrossConnectionPeeringsClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, crossConnectionName string, peeringName string, peeringParameters network.ExpressRouteCrossConnectionPeering) (result network.ExpressRouteCrossConnectionPeeringsCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, crossConnectionName string, peeringName string) (result network.ExpressRouteCrossConnectionPeeringsDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, crossConnectionName string, peeringName string) (result network.ExpressRouteCrossConnectionPeering, err error) + List(ctx context.Context, resourceGroupName string, crossConnectionName string) (result network.ExpressRouteCrossConnectionPeeringListPage, err error) +} + +var _ ExpressRouteCrossConnectionPeeringsClientAPI = (*network.ExpressRouteCrossConnectionPeeringsClient)(nil) + +// ExpressRouteGatewaysClientAPI contains the set of methods on the ExpressRouteGatewaysClient type. +type ExpressRouteGatewaysClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, expressRouteGatewayName string, putExpressRouteGatewayParameters network.ExpressRouteGateway) (result network.ExpressRouteGatewaysCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, expressRouteGatewayName string) (result network.ExpressRouteGatewaysDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, expressRouteGatewayName string) (result network.ExpressRouteGateway, err error) + ListByResourceGroup(ctx context.Context, resourceGroupName string) (result network.ExpressRouteGatewayList, err error) + ListBySubscription(ctx context.Context) (result network.ExpressRouteGatewayList, err error) +} + +var _ ExpressRouteGatewaysClientAPI = (*network.ExpressRouteGatewaysClient)(nil) + +// ExpressRouteConnectionsClientAPI contains the set of methods on the ExpressRouteConnectionsClient type. +type ExpressRouteConnectionsClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, expressRouteGatewayName string, connectionName string, putExpressRouteConnectionParameters network.ExpressRouteConnection) (result network.ExpressRouteConnectionsCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, expressRouteGatewayName string, connectionName string) (result network.ExpressRouteConnectionsDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, expressRouteGatewayName string, connectionName string) (result network.ExpressRouteConnection, err error) + List(ctx context.Context, resourceGroupName string, expressRouteGatewayName string) (result network.ExpressRouteConnectionList, err error) +} + +var _ ExpressRouteConnectionsClientAPI = (*network.ExpressRouteConnectionsClient)(nil) + +// ExpressRoutePortsLocationsClientAPI contains the set of methods on the ExpressRoutePortsLocationsClient type. +type ExpressRoutePortsLocationsClientAPI interface { + Get(ctx context.Context, locationName string) (result network.ExpressRoutePortsLocation, err error) + List(ctx context.Context) (result network.ExpressRoutePortsLocationListResultPage, err error) +} + +var _ ExpressRoutePortsLocationsClientAPI = (*network.ExpressRoutePortsLocationsClient)(nil) + +// ExpressRoutePortsClientAPI contains the set of methods on the ExpressRoutePortsClient type. +type ExpressRoutePortsClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, expressRoutePortName string, parameters network.ExpressRoutePort) (result network.ExpressRoutePortsCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, expressRoutePortName string) (result network.ExpressRoutePortsDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, expressRoutePortName string) (result network.ExpressRoutePort, err error) + List(ctx context.Context) (result network.ExpressRoutePortListResultPage, err error) + ListByResourceGroup(ctx context.Context, resourceGroupName string) (result network.ExpressRoutePortListResultPage, err error) + UpdateTags(ctx context.Context, resourceGroupName string, expressRoutePortName string, parameters network.TagsObject) (result network.ExpressRoutePortsUpdateTagsFuture, err error) +} + +var _ ExpressRoutePortsClientAPI = (*network.ExpressRoutePortsClient)(nil) + +// ExpressRouteLinksClientAPI contains the set of methods on the ExpressRouteLinksClient type. +type ExpressRouteLinksClientAPI interface { + Get(ctx context.Context, resourceGroupName string, expressRoutePortName string, linkName string) (result network.ExpressRouteLink, err error) + List(ctx context.Context, resourceGroupName string, expressRoutePortName string) (result network.ExpressRouteLinkListResultPage, err error) +} + +var _ ExpressRouteLinksClientAPI = (*network.ExpressRouteLinksClient)(nil) + +// FirewallPoliciesClientAPI contains the set of methods on the FirewallPoliciesClient type. +type FirewallPoliciesClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, firewallPolicyName string, parameters network.FirewallPolicy) (result network.FirewallPoliciesCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, firewallPolicyName string) (result network.FirewallPoliciesDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, firewallPolicyName string, expand string) (result network.FirewallPolicy, err error) + List(ctx context.Context, resourceGroupName string) (result network.FirewallPolicyListResultPage, err error) + ListAll(ctx context.Context) (result network.FirewallPolicyListResultPage, err error) + UpdateTags(ctx context.Context, resourceGroupName string, firewallPolicyName string, firewallPolicyParameters network.TagsObject) (result network.FirewallPolicy, err error) +} + +var _ FirewallPoliciesClientAPI = (*network.FirewallPoliciesClient)(nil) + +// FirewallPolicyRuleGroupsClientAPI contains the set of methods on the FirewallPolicyRuleGroupsClient type. +type FirewallPolicyRuleGroupsClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, firewallPolicyName string, ruleGroupName string, parameters network.FirewallPolicyRuleGroup) (result network.FirewallPolicyRuleGroupsCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, firewallPolicyName string, ruleGroupName string) (result network.FirewallPolicyRuleGroupsDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, firewallPolicyName string, ruleGroupName string) (result network.FirewallPolicyRuleGroup, err error) + List(ctx context.Context, resourceGroupName string, firewallPolicyName string) (result network.FirewallPolicyRuleGroupListResultPage, err error) +} + +var _ FirewallPolicyRuleGroupsClientAPI = (*network.FirewallPolicyRuleGroupsClient)(nil) + +// LoadBalancersClientAPI contains the set of methods on the LoadBalancersClient type. +type LoadBalancersClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, loadBalancerName string, parameters network.LoadBalancer) (result network.LoadBalancersCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, loadBalancerName string) (result network.LoadBalancersDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, loadBalancerName string, expand string) (result network.LoadBalancer, err error) + List(ctx context.Context, resourceGroupName string) (result network.LoadBalancerListResultPage, err error) + ListAll(ctx context.Context) (result network.LoadBalancerListResultPage, err error) + UpdateTags(ctx context.Context, resourceGroupName string, loadBalancerName string, parameters network.TagsObject) (result network.LoadBalancersUpdateTagsFuture, err error) +} + +var _ LoadBalancersClientAPI = (*network.LoadBalancersClient)(nil) + +// LoadBalancerBackendAddressPoolsClientAPI contains the set of methods on the LoadBalancerBackendAddressPoolsClient type. +type LoadBalancerBackendAddressPoolsClientAPI interface { + Get(ctx context.Context, resourceGroupName string, loadBalancerName string, backendAddressPoolName string) (result network.BackendAddressPool, err error) + List(ctx context.Context, resourceGroupName string, loadBalancerName string) (result network.LoadBalancerBackendAddressPoolListResultPage, err error) +} + +var _ LoadBalancerBackendAddressPoolsClientAPI = (*network.LoadBalancerBackendAddressPoolsClient)(nil) + +// LoadBalancerFrontendIPConfigurationsClientAPI contains the set of methods on the LoadBalancerFrontendIPConfigurationsClient type. +type LoadBalancerFrontendIPConfigurationsClientAPI interface { + Get(ctx context.Context, resourceGroupName string, loadBalancerName string, frontendIPConfigurationName string) (result network.FrontendIPConfiguration, err error) + List(ctx context.Context, resourceGroupName string, loadBalancerName string) (result network.LoadBalancerFrontendIPConfigurationListResultPage, err error) +} + +var _ LoadBalancerFrontendIPConfigurationsClientAPI = (*network.LoadBalancerFrontendIPConfigurationsClient)(nil) + +// InboundNatRulesClientAPI contains the set of methods on the InboundNatRulesClient type. +type InboundNatRulesClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, loadBalancerName string, inboundNatRuleName string, inboundNatRuleParameters network.InboundNatRule) (result network.InboundNatRulesCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, loadBalancerName string, inboundNatRuleName string) (result network.InboundNatRulesDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, loadBalancerName string, inboundNatRuleName string, expand string) (result network.InboundNatRule, err error) + List(ctx context.Context, resourceGroupName string, loadBalancerName string) (result network.InboundNatRuleListResultPage, err error) +} + +var _ InboundNatRulesClientAPI = (*network.InboundNatRulesClient)(nil) + +// LoadBalancerLoadBalancingRulesClientAPI contains the set of methods on the LoadBalancerLoadBalancingRulesClient type. +type LoadBalancerLoadBalancingRulesClientAPI interface { + Get(ctx context.Context, resourceGroupName string, loadBalancerName string, loadBalancingRuleName string) (result network.LoadBalancingRule, err error) + List(ctx context.Context, resourceGroupName string, loadBalancerName string) (result network.LoadBalancerLoadBalancingRuleListResultPage, err error) +} + +var _ LoadBalancerLoadBalancingRulesClientAPI = (*network.LoadBalancerLoadBalancingRulesClient)(nil) + +// LoadBalancerOutboundRulesClientAPI contains the set of methods on the LoadBalancerOutboundRulesClient type. +type LoadBalancerOutboundRulesClientAPI interface { + Get(ctx context.Context, resourceGroupName string, loadBalancerName string, outboundRuleName string) (result network.OutboundRule, err error) + List(ctx context.Context, resourceGroupName string, loadBalancerName string) (result network.LoadBalancerOutboundRuleListResultPage, err error) +} + +var _ LoadBalancerOutboundRulesClientAPI = (*network.LoadBalancerOutboundRulesClient)(nil) + +// LoadBalancerNetworkInterfacesClientAPI contains the set of methods on the LoadBalancerNetworkInterfacesClient type. +type LoadBalancerNetworkInterfacesClientAPI interface { + List(ctx context.Context, resourceGroupName string, loadBalancerName string) (result network.InterfaceListResultPage, err error) +} + +var _ LoadBalancerNetworkInterfacesClientAPI = (*network.LoadBalancerNetworkInterfacesClient)(nil) + +// LoadBalancerProbesClientAPI contains the set of methods on the LoadBalancerProbesClient type. +type LoadBalancerProbesClientAPI interface { + Get(ctx context.Context, resourceGroupName string, loadBalancerName string, probeName string) (result network.Probe, err error) + List(ctx context.Context, resourceGroupName string, loadBalancerName string) (result network.LoadBalancerProbeListResultPage, err error) +} + +var _ LoadBalancerProbesClientAPI = (*network.LoadBalancerProbesClient)(nil) + +// NatGatewaysClientAPI contains the set of methods on the NatGatewaysClient type. +type NatGatewaysClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, natGatewayName string, parameters network.NatGateway) (result network.NatGatewaysCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, natGatewayName string) (result network.NatGatewaysDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, natGatewayName string, expand string) (result network.NatGateway, err error) + List(ctx context.Context, resourceGroupName string) (result network.NatGatewayListResultPage, err error) + ListAll(ctx context.Context) (result network.NatGatewayListResultPage, err error) + UpdateTags(ctx context.Context, resourceGroupName string, natGatewayName string, parameters network.TagsObject) (result network.NatGateway, err error) +} + +var _ NatGatewaysClientAPI = (*network.NatGatewaysClient)(nil) + +// InterfacesClientAPI contains the set of methods on the InterfacesClient type. +type InterfacesClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, networkInterfaceName string, parameters network.Interface) (result network.InterfacesCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, networkInterfaceName string) (result network.InterfacesDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, networkInterfaceName string, expand string) (result network.Interface, err error) + GetEffectiveRouteTable(ctx context.Context, resourceGroupName string, networkInterfaceName string) (result network.InterfacesGetEffectiveRouteTableFuture, err error) + GetVirtualMachineScaleSetIPConfiguration(ctx context.Context, resourceGroupName string, virtualMachineScaleSetName string, virtualmachineIndex string, networkInterfaceName string, IPConfigurationName string, expand string) (result network.InterfaceIPConfiguration, err error) + GetVirtualMachineScaleSetNetworkInterface(ctx context.Context, resourceGroupName string, virtualMachineScaleSetName string, virtualmachineIndex string, networkInterfaceName string, expand string) (result network.Interface, err error) + List(ctx context.Context, resourceGroupName string) (result network.InterfaceListResultPage, err error) + ListAll(ctx context.Context) (result network.InterfaceListResultPage, err error) + ListEffectiveNetworkSecurityGroups(ctx context.Context, resourceGroupName string, networkInterfaceName string) (result network.InterfacesListEffectiveNetworkSecurityGroupsFuture, err error) + ListVirtualMachineScaleSetIPConfigurations(ctx context.Context, resourceGroupName string, virtualMachineScaleSetName string, virtualmachineIndex string, networkInterfaceName string, expand string) (result network.InterfaceIPConfigurationListResultPage, err error) + ListVirtualMachineScaleSetNetworkInterfaces(ctx context.Context, resourceGroupName string, virtualMachineScaleSetName string) (result network.InterfaceListResultPage, err error) + ListVirtualMachineScaleSetVMNetworkInterfaces(ctx context.Context, resourceGroupName string, virtualMachineScaleSetName string, virtualmachineIndex string) (result network.InterfaceListResultPage, err error) + UpdateTags(ctx context.Context, resourceGroupName string, networkInterfaceName string, parameters network.TagsObject) (result network.InterfacesUpdateTagsFuture, err error) +} + +var _ InterfacesClientAPI = (*network.InterfacesClient)(nil) + +// InterfaceIPConfigurationsClientAPI contains the set of methods on the InterfaceIPConfigurationsClient type. +type InterfaceIPConfigurationsClientAPI interface { + Get(ctx context.Context, resourceGroupName string, networkInterfaceName string, IPConfigurationName string) (result network.InterfaceIPConfiguration, err error) + List(ctx context.Context, resourceGroupName string, networkInterfaceName string) (result network.InterfaceIPConfigurationListResultPage, err error) +} + +var _ InterfaceIPConfigurationsClientAPI = (*network.InterfaceIPConfigurationsClient)(nil) + +// InterfaceLoadBalancersClientAPI contains the set of methods on the InterfaceLoadBalancersClient type. +type InterfaceLoadBalancersClientAPI interface { + List(ctx context.Context, resourceGroupName string, networkInterfaceName string) (result network.InterfaceLoadBalancerListResultPage, err error) +} + +var _ InterfaceLoadBalancersClientAPI = (*network.InterfaceLoadBalancersClient)(nil) + +// InterfaceTapConfigurationsClientAPI contains the set of methods on the InterfaceTapConfigurationsClient type. +type InterfaceTapConfigurationsClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, networkInterfaceName string, tapConfigurationName string, tapConfigurationParameters network.InterfaceTapConfiguration) (result network.InterfaceTapConfigurationsCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, networkInterfaceName string, tapConfigurationName string) (result network.InterfaceTapConfigurationsDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, networkInterfaceName string, tapConfigurationName string) (result network.InterfaceTapConfiguration, err error) + List(ctx context.Context, resourceGroupName string, networkInterfaceName string) (result network.InterfaceTapConfigurationListResultPage, err error) +} + +var _ InterfaceTapConfigurationsClientAPI = (*network.InterfaceTapConfigurationsClient)(nil) + +// ProfilesClientAPI contains the set of methods on the ProfilesClient type. +type ProfilesClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, networkProfileName string, parameters network.Profile) (result network.Profile, err error) + Delete(ctx context.Context, resourceGroupName string, networkProfileName string) (result network.ProfilesDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, networkProfileName string, expand string) (result network.Profile, err error) + List(ctx context.Context, resourceGroupName string) (result network.ProfileListResultPage, err error) + ListAll(ctx context.Context) (result network.ProfileListResultPage, err error) + UpdateTags(ctx context.Context, resourceGroupName string, networkProfileName string, parameters network.TagsObject) (result network.Profile, err error) +} + +var _ ProfilesClientAPI = (*network.ProfilesClient)(nil) + +// SecurityGroupsClientAPI contains the set of methods on the SecurityGroupsClient type. +type SecurityGroupsClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, networkSecurityGroupName string, parameters network.SecurityGroup) (result network.SecurityGroupsCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, networkSecurityGroupName string) (result network.SecurityGroupsDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, networkSecurityGroupName string, expand string) (result network.SecurityGroup, err error) + List(ctx context.Context, resourceGroupName string) (result network.SecurityGroupListResultPage, err error) + ListAll(ctx context.Context) (result network.SecurityGroupListResultPage, err error) + UpdateTags(ctx context.Context, resourceGroupName string, networkSecurityGroupName string, parameters network.TagsObject) (result network.SecurityGroupsUpdateTagsFuture, err error) +} + +var _ SecurityGroupsClientAPI = (*network.SecurityGroupsClient)(nil) + +// SecurityRulesClientAPI contains the set of methods on the SecurityRulesClient type. +type SecurityRulesClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, networkSecurityGroupName string, securityRuleName string, securityRuleParameters network.SecurityRule) (result network.SecurityRulesCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, networkSecurityGroupName string, securityRuleName string) (result network.SecurityRulesDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, networkSecurityGroupName string, securityRuleName string) (result network.SecurityRule, err error) + List(ctx context.Context, resourceGroupName string, networkSecurityGroupName string) (result network.SecurityRuleListResultPage, err error) +} + +var _ SecurityRulesClientAPI = (*network.SecurityRulesClient)(nil) + +// DefaultSecurityRulesClientAPI contains the set of methods on the DefaultSecurityRulesClient type. +type DefaultSecurityRulesClientAPI interface { + Get(ctx context.Context, resourceGroupName string, networkSecurityGroupName string, defaultSecurityRuleName string) (result network.SecurityRule, err error) + List(ctx context.Context, resourceGroupName string, networkSecurityGroupName string) (result network.SecurityRuleListResultPage, err error) +} + +var _ DefaultSecurityRulesClientAPI = (*network.DefaultSecurityRulesClient)(nil) + +// WatchersClientAPI contains the set of methods on the WatchersClient type. +type WatchersClientAPI interface { + CheckConnectivity(ctx context.Context, resourceGroupName string, networkWatcherName string, parameters network.ConnectivityParameters) (result network.WatchersCheckConnectivityFuture, err error) + CreateOrUpdate(ctx context.Context, resourceGroupName string, networkWatcherName string, parameters network.Watcher) (result network.Watcher, err error) + Delete(ctx context.Context, resourceGroupName string, networkWatcherName string) (result network.WatchersDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, networkWatcherName string) (result network.Watcher, err error) + GetAzureReachabilityReport(ctx context.Context, resourceGroupName string, networkWatcherName string, parameters network.AzureReachabilityReportParameters) (result network.WatchersGetAzureReachabilityReportFuture, err error) + GetFlowLogStatus(ctx context.Context, resourceGroupName string, networkWatcherName string, parameters network.FlowLogStatusParameters) (result network.WatchersGetFlowLogStatusFuture, err error) + GetNetworkConfigurationDiagnostic(ctx context.Context, resourceGroupName string, networkWatcherName string, parameters network.ConfigurationDiagnosticParameters) (result network.WatchersGetNetworkConfigurationDiagnosticFuture, err error) + GetNextHop(ctx context.Context, resourceGroupName string, networkWatcherName string, parameters network.NextHopParameters) (result network.WatchersGetNextHopFuture, err error) + GetTopology(ctx context.Context, resourceGroupName string, networkWatcherName string, parameters network.TopologyParameters) (result network.Topology, err error) + GetTroubleshooting(ctx context.Context, resourceGroupName string, networkWatcherName string, parameters network.TroubleshootingParameters) (result network.WatchersGetTroubleshootingFuture, err error) + GetTroubleshootingResult(ctx context.Context, resourceGroupName string, networkWatcherName string, parameters network.QueryTroubleshootingParameters) (result network.WatchersGetTroubleshootingResultFuture, err error) + GetVMSecurityRules(ctx context.Context, resourceGroupName string, networkWatcherName string, parameters network.SecurityGroupViewParameters) (result network.WatchersGetVMSecurityRulesFuture, err error) + List(ctx context.Context, resourceGroupName string) (result network.WatcherListResult, err error) + ListAll(ctx context.Context) (result network.WatcherListResult, err error) + ListAvailableProviders(ctx context.Context, resourceGroupName string, networkWatcherName string, parameters network.AvailableProvidersListParameters) (result network.WatchersListAvailableProvidersFuture, err error) + SetFlowLogConfiguration(ctx context.Context, resourceGroupName string, networkWatcherName string, parameters network.FlowLogInformation) (result network.WatchersSetFlowLogConfigurationFuture, err error) + UpdateTags(ctx context.Context, resourceGroupName string, networkWatcherName string, parameters network.TagsObject) (result network.Watcher, err error) + VerifyIPFlow(ctx context.Context, resourceGroupName string, networkWatcherName string, parameters network.VerificationIPFlowParameters) (result network.WatchersVerifyIPFlowFuture, err error) +} + +var _ WatchersClientAPI = (*network.WatchersClient)(nil) + +// PacketCapturesClientAPI contains the set of methods on the PacketCapturesClient type. +type PacketCapturesClientAPI interface { + Create(ctx context.Context, resourceGroupName string, networkWatcherName string, packetCaptureName string, parameters network.PacketCapture) (result network.PacketCapturesCreateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, networkWatcherName string, packetCaptureName string) (result network.PacketCapturesDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, networkWatcherName string, packetCaptureName string) (result network.PacketCaptureResult, err error) + GetStatus(ctx context.Context, resourceGroupName string, networkWatcherName string, packetCaptureName string) (result network.PacketCapturesGetStatusFuture, err error) + List(ctx context.Context, resourceGroupName string, networkWatcherName string) (result network.PacketCaptureListResult, err error) + Stop(ctx context.Context, resourceGroupName string, networkWatcherName string, packetCaptureName string) (result network.PacketCapturesStopFuture, err error) +} + +var _ PacketCapturesClientAPI = (*network.PacketCapturesClient)(nil) + +// ConnectionMonitorsClientAPI contains the set of methods on the ConnectionMonitorsClient type. +type ConnectionMonitorsClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, networkWatcherName string, connectionMonitorName string, parameters network.ConnectionMonitor) (result network.ConnectionMonitorsCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, networkWatcherName string, connectionMonitorName string) (result network.ConnectionMonitorsDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, networkWatcherName string, connectionMonitorName string) (result network.ConnectionMonitorResult, err error) + List(ctx context.Context, resourceGroupName string, networkWatcherName string) (result network.ConnectionMonitorListResult, err error) + Query(ctx context.Context, resourceGroupName string, networkWatcherName string, connectionMonitorName string) (result network.ConnectionMonitorsQueryFuture, err error) + Start(ctx context.Context, resourceGroupName string, networkWatcherName string, connectionMonitorName string) (result network.ConnectionMonitorsStartFuture, err error) + Stop(ctx context.Context, resourceGroupName string, networkWatcherName string, connectionMonitorName string) (result network.ConnectionMonitorsStopFuture, err error) + UpdateTags(ctx context.Context, resourceGroupName string, networkWatcherName string, connectionMonitorName string, parameters network.TagsObject) (result network.ConnectionMonitorResult, err error) +} + +var _ ConnectionMonitorsClientAPI = (*network.ConnectionMonitorsClient)(nil) + +// OperationsClientAPI contains the set of methods on the OperationsClient type. +type OperationsClientAPI interface { + List(ctx context.Context) (result network.OperationListResultPage, err error) +} + +var _ OperationsClientAPI = (*network.OperationsClient)(nil) + +// PrivateEndpointsClientAPI contains the set of methods on the PrivateEndpointsClient type. +type PrivateEndpointsClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, privateEndpointName string, parameters network.PrivateEndpoint) (result network.PrivateEndpointsCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, privateEndpointName string) (result network.PrivateEndpointsDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, privateEndpointName string, expand string) (result network.PrivateEndpoint, err error) + List(ctx context.Context, resourceGroupName string) (result network.PrivateEndpointListResultPage, err error) + ListBySubscription(ctx context.Context) (result network.PrivateEndpointListResultPage, err error) +} + +var _ PrivateEndpointsClientAPI = (*network.PrivateEndpointsClient)(nil) + +// AvailablePrivateEndpointTypesClientAPI contains the set of methods on the AvailablePrivateEndpointTypesClient type. +type AvailablePrivateEndpointTypesClientAPI interface { + List(ctx context.Context, location string) (result network.AvailablePrivateEndpointTypesResultPage, err error) + ListByResourceGroup(ctx context.Context, location string, resourceGroupName string) (result network.AvailablePrivateEndpointTypesResultPage, err error) +} + +var _ AvailablePrivateEndpointTypesClientAPI = (*network.AvailablePrivateEndpointTypesClient)(nil) + +// PrivateLinkServicesClientAPI contains the set of methods on the PrivateLinkServicesClient type. +type PrivateLinkServicesClientAPI interface { + CheckPrivateLinkServiceVisibility(ctx context.Context, location string, parameters network.CheckPrivateLinkServiceVisibilityRequest) (result network.PrivateLinkServiceVisibility, err error) + CheckPrivateLinkServiceVisibilityByResourceGroup(ctx context.Context, location string, resourceGroupName string, parameters network.CheckPrivateLinkServiceVisibilityRequest) (result network.PrivateLinkServiceVisibility, err error) + CreateOrUpdate(ctx context.Context, resourceGroupName string, serviceName string, parameters network.PrivateLinkService) (result network.PrivateLinkServicesCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, serviceName string) (result network.PrivateLinkServicesDeleteFuture, err error) + DeletePrivateEndpointConnection(ctx context.Context, resourceGroupName string, serviceName string, peConnectionName string) (result network.PrivateLinkServicesDeletePrivateEndpointConnectionFuture, err error) + Get(ctx context.Context, resourceGroupName string, serviceName string, expand string) (result network.PrivateLinkService, err error) + List(ctx context.Context, resourceGroupName string) (result network.PrivateLinkServiceListResultPage, err error) + ListAutoApprovedPrivateLinkServices(ctx context.Context, location string) (result network.AutoApprovedPrivateLinkServicesResultPage, err error) + ListAutoApprovedPrivateLinkServicesByResourceGroup(ctx context.Context, location string, resourceGroupName string) (result network.AutoApprovedPrivateLinkServicesResultPage, err error) + ListBySubscription(ctx context.Context) (result network.PrivateLinkServiceListResultPage, err error) + UpdatePrivateEndpointConnection(ctx context.Context, resourceGroupName string, serviceName string, peConnectionName string, parameters network.PrivateEndpointConnection) (result network.PrivateEndpointConnection, err error) +} + +var _ PrivateLinkServicesClientAPI = (*network.PrivateLinkServicesClient)(nil) + +// PublicIPAddressesClientAPI contains the set of methods on the PublicIPAddressesClient type. +type PublicIPAddressesClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, publicIPAddressName string, parameters network.PublicIPAddress) (result network.PublicIPAddressesCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, publicIPAddressName string) (result network.PublicIPAddressesDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, publicIPAddressName string, expand string) (result network.PublicIPAddress, err error) + GetVirtualMachineScaleSetPublicIPAddress(ctx context.Context, resourceGroupName string, virtualMachineScaleSetName string, virtualmachineIndex string, networkInterfaceName string, IPConfigurationName string, publicIPAddressName string, expand string) (result network.PublicIPAddress, err error) + List(ctx context.Context, resourceGroupName string) (result network.PublicIPAddressListResultPage, err error) + ListAll(ctx context.Context) (result network.PublicIPAddressListResultPage, err error) + ListVirtualMachineScaleSetPublicIPAddresses(ctx context.Context, resourceGroupName string, virtualMachineScaleSetName string) (result network.PublicIPAddressListResultPage, err error) + ListVirtualMachineScaleSetVMPublicIPAddresses(ctx context.Context, resourceGroupName string, virtualMachineScaleSetName string, virtualmachineIndex string, networkInterfaceName string, IPConfigurationName string) (result network.PublicIPAddressListResultPage, err error) + UpdateTags(ctx context.Context, resourceGroupName string, publicIPAddressName string, parameters network.TagsObject) (result network.PublicIPAddressesUpdateTagsFuture, err error) +} + +var _ PublicIPAddressesClientAPI = (*network.PublicIPAddressesClient)(nil) + +// PublicIPPrefixesClientAPI contains the set of methods on the PublicIPPrefixesClient type. +type PublicIPPrefixesClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, publicIPPrefixName string, parameters network.PublicIPPrefix) (result network.PublicIPPrefixesCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, publicIPPrefixName string) (result network.PublicIPPrefixesDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, publicIPPrefixName string, expand string) (result network.PublicIPPrefix, err error) + List(ctx context.Context, resourceGroupName string) (result network.PublicIPPrefixListResultPage, err error) + ListAll(ctx context.Context) (result network.PublicIPPrefixListResultPage, err error) + UpdateTags(ctx context.Context, resourceGroupName string, publicIPPrefixName string, parameters network.TagsObject) (result network.PublicIPPrefixesUpdateTagsFuture, err error) +} + +var _ PublicIPPrefixesClientAPI = (*network.PublicIPPrefixesClient)(nil) + +// RouteFiltersClientAPI contains the set of methods on the RouteFiltersClient type. +type RouteFiltersClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, routeFilterName string, routeFilterParameters network.RouteFilter) (result network.RouteFiltersCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, routeFilterName string) (result network.RouteFiltersDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, routeFilterName string, expand string) (result network.RouteFilter, err error) + List(ctx context.Context) (result network.RouteFilterListResultPage, err error) + ListByResourceGroup(ctx context.Context, resourceGroupName string) (result network.RouteFilterListResultPage, err error) + Update(ctx context.Context, resourceGroupName string, routeFilterName string, routeFilterParameters network.PatchRouteFilter) (result network.RouteFiltersUpdateFuture, err error) +} + +var _ RouteFiltersClientAPI = (*network.RouteFiltersClient)(nil) + +// RouteFilterRulesClientAPI contains the set of methods on the RouteFilterRulesClient type. +type RouteFilterRulesClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, routeFilterName string, ruleName string, routeFilterRuleParameters network.RouteFilterRule) (result network.RouteFilterRulesCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, routeFilterName string, ruleName string) (result network.RouteFilterRulesDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, routeFilterName string, ruleName string) (result network.RouteFilterRule, err error) + ListByRouteFilter(ctx context.Context, resourceGroupName string, routeFilterName string) (result network.RouteFilterRuleListResultPage, err error) + Update(ctx context.Context, resourceGroupName string, routeFilterName string, ruleName string, routeFilterRuleParameters network.PatchRouteFilterRule) (result network.RouteFilterRulesUpdateFuture, err error) +} + +var _ RouteFilterRulesClientAPI = (*network.RouteFilterRulesClient)(nil) + +// RouteTablesClientAPI contains the set of methods on the RouteTablesClient type. +type RouteTablesClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, routeTableName string, parameters network.RouteTable) (result network.RouteTablesCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, routeTableName string) (result network.RouteTablesDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, routeTableName string, expand string) (result network.RouteTable, err error) + List(ctx context.Context, resourceGroupName string) (result network.RouteTableListResultPage, err error) + ListAll(ctx context.Context) (result network.RouteTableListResultPage, err error) + UpdateTags(ctx context.Context, resourceGroupName string, routeTableName string, parameters network.TagsObject) (result network.RouteTablesUpdateTagsFuture, err error) +} + +var _ RouteTablesClientAPI = (*network.RouteTablesClient)(nil) + +// RoutesClientAPI contains the set of methods on the RoutesClient type. +type RoutesClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, routeTableName string, routeName string, routeParameters network.Route) (result network.RoutesCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, routeTableName string, routeName string) (result network.RoutesDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, routeTableName string, routeName string) (result network.Route, err error) + List(ctx context.Context, resourceGroupName string, routeTableName string) (result network.RouteListResultPage, err error) +} + +var _ RoutesClientAPI = (*network.RoutesClient)(nil) + +// BgpServiceCommunitiesClientAPI contains the set of methods on the BgpServiceCommunitiesClient type. +type BgpServiceCommunitiesClientAPI interface { + List(ctx context.Context) (result network.BgpServiceCommunityListResultPage, err error) +} + +var _ BgpServiceCommunitiesClientAPI = (*network.BgpServiceCommunitiesClient)(nil) + +// ServiceEndpointPoliciesClientAPI contains the set of methods on the ServiceEndpointPoliciesClient type. +type ServiceEndpointPoliciesClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, serviceEndpointPolicyName string, parameters network.ServiceEndpointPolicy) (result network.ServiceEndpointPoliciesCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, serviceEndpointPolicyName string) (result network.ServiceEndpointPoliciesDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, serviceEndpointPolicyName string, expand string) (result network.ServiceEndpointPolicy, err error) + List(ctx context.Context) (result network.ServiceEndpointPolicyListResultPage, err error) + ListByResourceGroup(ctx context.Context, resourceGroupName string) (result network.ServiceEndpointPolicyListResultPage, err error) + Update(ctx context.Context, resourceGroupName string, serviceEndpointPolicyName string, parameters network.TagsObject) (result network.ServiceEndpointPoliciesUpdateFuture, err error) +} + +var _ ServiceEndpointPoliciesClientAPI = (*network.ServiceEndpointPoliciesClient)(nil) + +// ServiceEndpointPolicyDefinitionsClientAPI contains the set of methods on the ServiceEndpointPolicyDefinitionsClient type. +type ServiceEndpointPolicyDefinitionsClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, serviceEndpointPolicyName string, serviceEndpointPolicyDefinitionName string, serviceEndpointPolicyDefinitions network.ServiceEndpointPolicyDefinition) (result network.ServiceEndpointPolicyDefinitionsCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, serviceEndpointPolicyName string, serviceEndpointPolicyDefinitionName string) (result network.ServiceEndpointPolicyDefinitionsDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, serviceEndpointPolicyName string, serviceEndpointPolicyDefinitionName string) (result network.ServiceEndpointPolicyDefinition, err error) + ListByResourceGroup(ctx context.Context, resourceGroupName string, serviceEndpointPolicyName string) (result network.ServiceEndpointPolicyDefinitionListResultPage, err error) +} + +var _ ServiceEndpointPolicyDefinitionsClientAPI = (*network.ServiceEndpointPolicyDefinitionsClient)(nil) + +// ServiceTagsClientAPI contains the set of methods on the ServiceTagsClient type. +type ServiceTagsClientAPI interface { + List(ctx context.Context, location string) (result network.ServiceTagsListResult, err error) +} + +var _ ServiceTagsClientAPI = (*network.ServiceTagsClient)(nil) + +// UsagesClientAPI contains the set of methods on the UsagesClient type. +type UsagesClientAPI interface { + List(ctx context.Context, location string) (result network.UsagesListResultPage, err error) +} + +var _ UsagesClientAPI = (*network.UsagesClient)(nil) + +// VirtualNetworksClientAPI contains the set of methods on the VirtualNetworksClient type. +type VirtualNetworksClientAPI interface { + CheckIPAddressAvailability(ctx context.Context, resourceGroupName string, virtualNetworkName string, IPAddress string) (result network.IPAddressAvailabilityResult, err error) + CreateOrUpdate(ctx context.Context, resourceGroupName string, virtualNetworkName string, parameters network.VirtualNetwork) (result network.VirtualNetworksCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, virtualNetworkName string) (result network.VirtualNetworksDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, virtualNetworkName string, expand string) (result network.VirtualNetwork, err error) + List(ctx context.Context, resourceGroupName string) (result network.VirtualNetworkListResultPage, err error) + ListAll(ctx context.Context) (result network.VirtualNetworkListResultPage, err error) + ListUsage(ctx context.Context, resourceGroupName string, virtualNetworkName string) (result network.VirtualNetworkListUsageResultPage, err error) + UpdateTags(ctx context.Context, resourceGroupName string, virtualNetworkName string, parameters network.TagsObject) (result network.VirtualNetworksUpdateTagsFuture, err error) +} + +var _ VirtualNetworksClientAPI = (*network.VirtualNetworksClient)(nil) + +// SubnetsClientAPI contains the set of methods on the SubnetsClient type. +type SubnetsClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, virtualNetworkName string, subnetName string, subnetParameters network.Subnet) (result network.SubnetsCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, virtualNetworkName string, subnetName string) (result network.SubnetsDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, virtualNetworkName string, subnetName string, expand string) (result network.Subnet, err error) + List(ctx context.Context, resourceGroupName string, virtualNetworkName string) (result network.SubnetListResultPage, err error) + PrepareNetworkPolicies(ctx context.Context, resourceGroupName string, virtualNetworkName string, subnetName string, prepareNetworkPoliciesRequestParameters network.PrepareNetworkPoliciesRequest) (result network.SubnetsPrepareNetworkPoliciesFuture, err error) + UnprepareNetworkPolicies(ctx context.Context, resourceGroupName string, virtualNetworkName string, subnetName string, unprepareNetworkPoliciesRequestParameters network.UnprepareNetworkPoliciesRequest) (result network.SubnetsUnprepareNetworkPoliciesFuture, err error) +} + +var _ SubnetsClientAPI = (*network.SubnetsClient)(nil) + +// ResourceNavigationLinksClientAPI contains the set of methods on the ResourceNavigationLinksClient type. +type ResourceNavigationLinksClientAPI interface { + List(ctx context.Context, resourceGroupName string, virtualNetworkName string, subnetName string) (result network.ResourceNavigationLinksListResult, err error) +} + +var _ ResourceNavigationLinksClientAPI = (*network.ResourceNavigationLinksClient)(nil) + +// ServiceAssociationLinksClientAPI contains the set of methods on the ServiceAssociationLinksClient type. +type ServiceAssociationLinksClientAPI interface { + List(ctx context.Context, resourceGroupName string, virtualNetworkName string, subnetName string) (result network.ServiceAssociationLinksListResult, err error) +} + +var _ ServiceAssociationLinksClientAPI = (*network.ServiceAssociationLinksClient)(nil) + +// VirtualNetworkPeeringsClientAPI contains the set of methods on the VirtualNetworkPeeringsClient type. +type VirtualNetworkPeeringsClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, virtualNetworkName string, virtualNetworkPeeringName string, virtualNetworkPeeringParameters network.VirtualNetworkPeering) (result network.VirtualNetworkPeeringsCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, virtualNetworkName string, virtualNetworkPeeringName string) (result network.VirtualNetworkPeeringsDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, virtualNetworkName string, virtualNetworkPeeringName string) (result network.VirtualNetworkPeering, err error) + List(ctx context.Context, resourceGroupName string, virtualNetworkName string) (result network.VirtualNetworkPeeringListResultPage, err error) +} + +var _ VirtualNetworkPeeringsClientAPI = (*network.VirtualNetworkPeeringsClient)(nil) + +// VirtualNetworkGatewaysClientAPI contains the set of methods on the VirtualNetworkGatewaysClient type. +type VirtualNetworkGatewaysClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string, parameters network.VirtualNetworkGateway) (result network.VirtualNetworkGatewaysCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string) (result network.VirtualNetworkGatewaysDeleteFuture, err error) + Generatevpnclientpackage(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string, parameters network.VpnClientParameters) (result network.VirtualNetworkGatewaysGeneratevpnclientpackageFuture, err error) + GenerateVpnProfile(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string, parameters network.VpnClientParameters) (result network.VirtualNetworkGatewaysGenerateVpnProfileFuture, err error) + Get(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string) (result network.VirtualNetworkGateway, err error) + GetAdvertisedRoutes(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string, peer string) (result network.VirtualNetworkGatewaysGetAdvertisedRoutesFuture, err error) + GetBgpPeerStatus(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string, peer string) (result network.VirtualNetworkGatewaysGetBgpPeerStatusFuture, err error) + GetLearnedRoutes(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string) (result network.VirtualNetworkGatewaysGetLearnedRoutesFuture, err error) + GetVpnclientConnectionHealth(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string) (result network.VirtualNetworkGatewaysGetVpnclientConnectionHealthFuture, err error) + GetVpnclientIpsecParameters(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string) (result network.VirtualNetworkGatewaysGetVpnclientIpsecParametersFuture, err error) + GetVpnProfilePackageURL(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string) (result network.VirtualNetworkGatewaysGetVpnProfilePackageURLFuture, err error) + List(ctx context.Context, resourceGroupName string) (result network.VirtualNetworkGatewayListResultPage, err error) + ListConnections(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string) (result network.VirtualNetworkGatewayListConnectionsResultPage, err error) + Reset(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string, gatewayVip string) (result network.VirtualNetworkGatewaysResetFuture, err error) + ResetVpnClientSharedKey(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string) (result network.VirtualNetworkGatewaysResetVpnClientSharedKeyFuture, err error) + SetVpnclientIpsecParameters(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string, vpnclientIpsecParams network.VpnClientIPsecParameters) (result network.VirtualNetworkGatewaysSetVpnclientIpsecParametersFuture, err error) + StartPacketCapture(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string, parameters *network.VpnPacketCaptureStartParameters) (result network.VirtualNetworkGatewaysStartPacketCaptureFuture, err error) + StopPacketCapture(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string, parameters network.VpnPacketCaptureStopParameters) (result network.VirtualNetworkGatewaysStopPacketCaptureFuture, err error) + SupportedVpnDevices(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string) (result network.String, err error) + UpdateTags(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string, parameters network.TagsObject) (result network.VirtualNetworkGatewaysUpdateTagsFuture, err error) + VpnDeviceConfigurationScript(ctx context.Context, resourceGroupName string, virtualNetworkGatewayConnectionName string, parameters network.VpnDeviceScriptParameters) (result network.String, err error) +} + +var _ VirtualNetworkGatewaysClientAPI = (*network.VirtualNetworkGatewaysClient)(nil) + +// VirtualNetworkGatewayConnectionsClientAPI contains the set of methods on the VirtualNetworkGatewayConnectionsClient type. +type VirtualNetworkGatewayConnectionsClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, virtualNetworkGatewayConnectionName string, parameters network.VirtualNetworkGatewayConnection) (result network.VirtualNetworkGatewayConnectionsCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, virtualNetworkGatewayConnectionName string) (result network.VirtualNetworkGatewayConnectionsDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, virtualNetworkGatewayConnectionName string) (result network.VirtualNetworkGatewayConnection, err error) + GetSharedKey(ctx context.Context, resourceGroupName string, virtualNetworkGatewayConnectionName string) (result network.ConnectionSharedKey, err error) + List(ctx context.Context, resourceGroupName string) (result network.VirtualNetworkGatewayConnectionListResultPage, err error) + ResetSharedKey(ctx context.Context, resourceGroupName string, virtualNetworkGatewayConnectionName string, parameters network.ConnectionResetSharedKey) (result network.VirtualNetworkGatewayConnectionsResetSharedKeyFuture, err error) + SetSharedKey(ctx context.Context, resourceGroupName string, virtualNetworkGatewayConnectionName string, parameters network.ConnectionSharedKey) (result network.VirtualNetworkGatewayConnectionsSetSharedKeyFuture, err error) + StartPacketCapture(ctx context.Context, resourceGroupName string, virtualNetworkGatewayConnectionName string, parameters *network.VpnPacketCaptureStartParameters) (result network.VirtualNetworkGatewayConnectionsStartPacketCaptureFuture, err error) + StopPacketCapture(ctx context.Context, resourceGroupName string, virtualNetworkGatewayConnectionName string, parameters network.VpnPacketCaptureStopParameters) (result network.VirtualNetworkGatewayConnectionsStopPacketCaptureFuture, err error) + UpdateTags(ctx context.Context, resourceGroupName string, virtualNetworkGatewayConnectionName string, parameters network.TagsObject) (result network.VirtualNetworkGatewayConnectionsUpdateTagsFuture, err error) +} + +var _ VirtualNetworkGatewayConnectionsClientAPI = (*network.VirtualNetworkGatewayConnectionsClient)(nil) + +// LocalNetworkGatewaysClientAPI contains the set of methods on the LocalNetworkGatewaysClient type. +type LocalNetworkGatewaysClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, localNetworkGatewayName string, parameters network.LocalNetworkGateway) (result network.LocalNetworkGatewaysCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, localNetworkGatewayName string) (result network.LocalNetworkGatewaysDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, localNetworkGatewayName string) (result network.LocalNetworkGateway, err error) + List(ctx context.Context, resourceGroupName string) (result network.LocalNetworkGatewayListResultPage, err error) + UpdateTags(ctx context.Context, resourceGroupName string, localNetworkGatewayName string, parameters network.TagsObject) (result network.LocalNetworkGatewaysUpdateTagsFuture, err error) +} + +var _ LocalNetworkGatewaysClientAPI = (*network.LocalNetworkGatewaysClient)(nil) + +// VirtualNetworkTapsClientAPI contains the set of methods on the VirtualNetworkTapsClient type. +type VirtualNetworkTapsClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, tapName string, parameters network.VirtualNetworkTap) (result network.VirtualNetworkTapsCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, tapName string) (result network.VirtualNetworkTapsDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, tapName string) (result network.VirtualNetworkTap, err error) + ListAll(ctx context.Context) (result network.VirtualNetworkTapListResultPage, err error) + ListByResourceGroup(ctx context.Context, resourceGroupName string) (result network.VirtualNetworkTapListResultPage, err error) + UpdateTags(ctx context.Context, resourceGroupName string, tapName string, tapParameters network.TagsObject) (result network.VirtualNetworkTapsUpdateTagsFuture, err error) +} + +var _ VirtualNetworkTapsClientAPI = (*network.VirtualNetworkTapsClient)(nil) + +// VirtualRoutersClientAPI contains the set of methods on the VirtualRoutersClient type. +type VirtualRoutersClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, virtualRouterName string, parameters network.VirtualRouter) (result network.VirtualRoutersCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, virtualRouterName string) (result network.VirtualRoutersDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, virtualRouterName string, expand string) (result network.VirtualRouter, err error) + List(ctx context.Context) (result network.VirtualRouterListResultPage, err error) + ListByResourceGroup(ctx context.Context, resourceGroupName string) (result network.VirtualRouterListResultPage, err error) + Update(ctx context.Context, resourceGroupName string, virtualRouterName string, parameters network.TagsObject) (result network.VirtualRouter, err error) +} + +var _ VirtualRoutersClientAPI = (*network.VirtualRoutersClient)(nil) + +// VirtualRouterPeeringsClientAPI contains the set of methods on the VirtualRouterPeeringsClient type. +type VirtualRouterPeeringsClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, virtualRouterName string, peeringName string, parameters network.VirtualRouterPeering) (result network.VirtualRouterPeeringsCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, virtualRouterName string, peeringName string) (result network.VirtualRouterPeeringsDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, virtualRouterName string, peeringName string) (result network.VirtualRouterPeering, err error) + List(ctx context.Context, resourceGroupName string, virtualRouterName string) (result network.VirtualRouterPeeringListResultPage, err error) + Update(ctx context.Context, resourceGroupName string, virtualRouterName string, peeringName string, parameters network.VirtualRouterPeering) (result network.VirtualRouterPeering, err error) +} + +var _ VirtualRouterPeeringsClientAPI = (*network.VirtualRouterPeeringsClient)(nil) + +// VirtualWansClientAPI contains the set of methods on the VirtualWansClient type. +type VirtualWansClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, virtualWANName string, wANParameters network.VirtualWAN) (result network.VirtualWansCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, virtualWANName string) (result network.VirtualWansDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, virtualWANName string) (result network.VirtualWAN, err error) + List(ctx context.Context) (result network.ListVirtualWANsResultPage, err error) + ListByResourceGroup(ctx context.Context, resourceGroupName string) (result network.ListVirtualWANsResultPage, err error) + UpdateTags(ctx context.Context, resourceGroupName string, virtualWANName string, wANParameters network.TagsObject) (result network.VirtualWansUpdateTagsFuture, err error) +} + +var _ VirtualWansClientAPI = (*network.VirtualWansClient)(nil) + +// VpnSitesClientAPI contains the set of methods on the VpnSitesClient type. +type VpnSitesClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, vpnSiteName string, vpnSiteParameters network.VpnSite) (result network.VpnSitesCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, vpnSiteName string) (result network.VpnSitesDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, vpnSiteName string) (result network.VpnSite, err error) + List(ctx context.Context) (result network.ListVpnSitesResultPage, err error) + ListByResourceGroup(ctx context.Context, resourceGroupName string) (result network.ListVpnSitesResultPage, err error) + UpdateTags(ctx context.Context, resourceGroupName string, vpnSiteName string, vpnSiteParameters network.TagsObject) (result network.VpnSitesUpdateTagsFuture, err error) +} + +var _ VpnSitesClientAPI = (*network.VpnSitesClient)(nil) + +// VpnSiteLinksClientAPI contains the set of methods on the VpnSiteLinksClient type. +type VpnSiteLinksClientAPI interface { + Get(ctx context.Context, resourceGroupName string, vpnSiteName string, vpnSiteLinkName string) (result network.VpnSiteLink, err error) + ListByVpnSite(ctx context.Context, resourceGroupName string, vpnSiteName string) (result network.ListVpnSiteLinksResultPage, err error) +} + +var _ VpnSiteLinksClientAPI = (*network.VpnSiteLinksClient)(nil) + +// VpnSitesConfigurationClientAPI contains the set of methods on the VpnSitesConfigurationClient type. +type VpnSitesConfigurationClientAPI interface { + Download(ctx context.Context, resourceGroupName string, virtualWANName string, request network.GetVpnSitesConfigurationRequest) (result network.VpnSitesConfigurationDownloadFuture, err error) +} + +var _ VpnSitesConfigurationClientAPI = (*network.VpnSitesConfigurationClient)(nil) + +// VpnServerConfigurationsClientAPI contains the set of methods on the VpnServerConfigurationsClient type. +type VpnServerConfigurationsClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, vpnServerConfigurationName string, vpnServerConfigurationParameters network.VpnServerConfiguration) (result network.VpnServerConfigurationsCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, vpnServerConfigurationName string) (result network.VpnServerConfigurationsDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, vpnServerConfigurationName string) (result network.VpnServerConfiguration, err error) + List(ctx context.Context) (result network.ListVpnServerConfigurationsResultPage, err error) + ListByResourceGroup(ctx context.Context, resourceGroupName string) (result network.ListVpnServerConfigurationsResultPage, err error) + UpdateTags(ctx context.Context, resourceGroupName string, vpnServerConfigurationName string, vpnServerConfigurationParameters network.TagsObject) (result network.VpnServerConfigurationsUpdateTagsFuture, err error) +} + +var _ VpnServerConfigurationsClientAPI = (*network.VpnServerConfigurationsClient)(nil) + +// VirtualHubsClientAPI contains the set of methods on the VirtualHubsClient type. +type VirtualHubsClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, virtualHubName string, virtualHubParameters network.VirtualHub) (result network.VirtualHubsCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, virtualHubName string) (result network.VirtualHubsDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, virtualHubName string) (result network.VirtualHub, err error) + List(ctx context.Context) (result network.ListVirtualHubsResultPage, err error) + ListByResourceGroup(ctx context.Context, resourceGroupName string) (result network.ListVirtualHubsResultPage, err error) + UpdateTags(ctx context.Context, resourceGroupName string, virtualHubName string, virtualHubParameters network.TagsObject) (result network.VirtualHubsUpdateTagsFuture, err error) +} + +var _ VirtualHubsClientAPI = (*network.VirtualHubsClient)(nil) + +// HubVirtualNetworkConnectionsClientAPI contains the set of methods on the HubVirtualNetworkConnectionsClient type. +type HubVirtualNetworkConnectionsClientAPI interface { + Get(ctx context.Context, resourceGroupName string, virtualHubName string, connectionName string) (result network.HubVirtualNetworkConnection, err error) + List(ctx context.Context, resourceGroupName string, virtualHubName string) (result network.ListHubVirtualNetworkConnectionsResultPage, err error) +} + +var _ HubVirtualNetworkConnectionsClientAPI = (*network.HubVirtualNetworkConnectionsClient)(nil) + +// VpnGatewaysClientAPI contains the set of methods on the VpnGatewaysClient type. +type VpnGatewaysClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, gatewayName string, vpnGatewayParameters network.VpnGateway) (result network.VpnGatewaysCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, gatewayName string) (result network.VpnGatewaysDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, gatewayName string) (result network.VpnGateway, err error) + List(ctx context.Context) (result network.ListVpnGatewaysResultPage, err error) + ListByResourceGroup(ctx context.Context, resourceGroupName string) (result network.ListVpnGatewaysResultPage, err error) + Reset(ctx context.Context, resourceGroupName string, gatewayName string) (result network.VpnGatewaysResetFuture, err error) + UpdateTags(ctx context.Context, resourceGroupName string, gatewayName string, vpnGatewayParameters network.TagsObject) (result network.VpnGatewaysUpdateTagsFuture, err error) +} + +var _ VpnGatewaysClientAPI = (*network.VpnGatewaysClient)(nil) + +// VpnConnectionsClientAPI contains the set of methods on the VpnConnectionsClient type. +type VpnConnectionsClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, gatewayName string, connectionName string, vpnConnectionParameters network.VpnConnection) (result network.VpnConnectionsCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, gatewayName string, connectionName string) (result network.VpnConnectionsDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, gatewayName string, connectionName string) (result network.VpnConnection, err error) + ListByVpnGateway(ctx context.Context, resourceGroupName string, gatewayName string) (result network.ListVpnConnectionsResultPage, err error) +} + +var _ VpnConnectionsClientAPI = (*network.VpnConnectionsClient)(nil) + +// VpnSiteLinkConnectionsClientAPI contains the set of methods on the VpnSiteLinkConnectionsClient type. +type VpnSiteLinkConnectionsClientAPI interface { + Get(ctx context.Context, resourceGroupName string, gatewayName string, connectionName string, linkConnectionName string) (result network.VpnSiteLinkConnection, err error) +} + +var _ VpnSiteLinkConnectionsClientAPI = (*network.VpnSiteLinkConnectionsClient)(nil) + +// VpnLinkConnectionsClientAPI contains the set of methods on the VpnLinkConnectionsClient type. +type VpnLinkConnectionsClientAPI interface { + ListByVpnConnection(ctx context.Context, resourceGroupName string, gatewayName string, connectionName string) (result network.ListVpnSiteLinkConnectionsResultPage, err error) +} + +var _ VpnLinkConnectionsClientAPI = (*network.VpnLinkConnectionsClient)(nil) + +// P2sVpnGatewaysClientAPI contains the set of methods on the P2sVpnGatewaysClient type. +type P2sVpnGatewaysClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, gatewayName string, p2SVpnGatewayParameters network.P2SVpnGateway) (result network.P2sVpnGatewaysCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, gatewayName string) (result network.P2sVpnGatewaysDeleteFuture, err error) + GenerateVpnProfile(ctx context.Context, resourceGroupName string, gatewayName string, parameters network.P2SVpnProfileParameters) (result network.P2sVpnGatewaysGenerateVpnProfileFuture, err error) + Get(ctx context.Context, resourceGroupName string, gatewayName string) (result network.P2SVpnGateway, err error) + GetP2sVpnConnectionHealth(ctx context.Context, resourceGroupName string, gatewayName string) (result network.P2sVpnGatewaysGetP2sVpnConnectionHealthFuture, err error) + GetP2sVpnConnectionHealthDetailed(ctx context.Context, resourceGroupName string, gatewayName string, request network.P2SVpnConnectionHealthRequest) (result network.P2sVpnGatewaysGetP2sVpnConnectionHealthDetailedFuture, err error) + List(ctx context.Context) (result network.ListP2SVpnGatewaysResultPage, err error) + ListByResourceGroup(ctx context.Context, resourceGroupName string) (result network.ListP2SVpnGatewaysResultPage, err error) + UpdateTags(ctx context.Context, resourceGroupName string, gatewayName string, p2SVpnGatewayParameters network.TagsObject) (result network.P2sVpnGatewaysUpdateTagsFuture, err error) +} + +var _ P2sVpnGatewaysClientAPI = (*network.P2sVpnGatewaysClient)(nil) + +// VpnServerConfigurationsAssociatedWithVirtualWanClientAPI contains the set of methods on the VpnServerConfigurationsAssociatedWithVirtualWanClient type. +type VpnServerConfigurationsAssociatedWithVirtualWanClientAPI interface { + List(ctx context.Context, resourceGroupName string, virtualWANName string) (result network.VpnServerConfigurationsAssociatedWithVirtualWanListFuture, err error) +} + +var _ VpnServerConfigurationsAssociatedWithVirtualWanClientAPI = (*network.VpnServerConfigurationsAssociatedWithVirtualWanClient)(nil) + +// WebApplicationFirewallPoliciesClientAPI contains the set of methods on the WebApplicationFirewallPoliciesClient type. +type WebApplicationFirewallPoliciesClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, policyName string, parameters network.WebApplicationFirewallPolicy) (result network.WebApplicationFirewallPolicy, err error) + Delete(ctx context.Context, resourceGroupName string, policyName string) (result network.WebApplicationFirewallPoliciesDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, policyName string) (result network.WebApplicationFirewallPolicy, err error) + List(ctx context.Context, resourceGroupName string) (result network.WebApplicationFirewallPolicyListResultPage, err error) + ListAll(ctx context.Context) (result network.WebApplicationFirewallPolicyListResultPage, err error) +} + +var _ WebApplicationFirewallPoliciesClientAPI = (*network.WebApplicationFirewallPoliciesClient)(nil) diff --git a/services/network/mgmt/2019-08-01/network/operations.go b/services/network/mgmt/2019-08-01/network/operations.go new file mode 100644 index 000000000000..e5fa731ad485 --- /dev/null +++ b/services/network/mgmt/2019-08-01/network/operations.go @@ -0,0 +1,147 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// OperationsClient is the network Client +type OperationsClient struct { + BaseClient +} + +// NewOperationsClient creates an instance of the OperationsClient client. +func NewOperationsClient(subscriptionID string) OperationsClient { + return NewOperationsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewOperationsClientWithBaseURI creates an instance of the OperationsClient client. +func NewOperationsClientWithBaseURI(baseURI string, subscriptionID string) OperationsClient { + return OperationsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// List lists all of the available Network Rest API operations. +func (client OperationsClient) List(ctx context.Context) (result OperationListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/OperationsClient.List") + defer func() { + sc := -1 + if result.olr.Response.Response != nil { + sc = result.olr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "network.OperationsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.olr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.OperationsClient", "List", resp, "Failure sending request") + return + } + + result.olr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.OperationsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client OperationsClient) ListPreparer(ctx context.Context) (*http.Request, error) { + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPath("/providers/Microsoft.Network/operations"), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client OperationsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client OperationsClient) ListResponder(resp *http.Response) (result OperationListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client OperationsClient) listNextResults(ctx context.Context, lastResults OperationListResult) (result OperationListResult, err error) { + req, err := lastResults.operationListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.OperationsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.OperationsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.OperationsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client OperationsClient) ListComplete(ctx context.Context) (result OperationListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/OperationsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx) + return +} diff --git a/services/network/mgmt/2019-08-01/network/p2svpngateways.go b/services/network/mgmt/2019-08-01/network/p2svpngateways.go new file mode 100644 index 000000000000..c8cb0a52028a --- /dev/null +++ b/services/network/mgmt/2019-08-01/network/p2svpngateways.go @@ -0,0 +1,817 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// P2sVpnGatewaysClient is the network Client +type P2sVpnGatewaysClient struct { + BaseClient +} + +// NewP2sVpnGatewaysClient creates an instance of the P2sVpnGatewaysClient client. +func NewP2sVpnGatewaysClient(subscriptionID string) P2sVpnGatewaysClient { + return NewP2sVpnGatewaysClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewP2sVpnGatewaysClientWithBaseURI creates an instance of the P2sVpnGatewaysClient client. +func NewP2sVpnGatewaysClientWithBaseURI(baseURI string, subscriptionID string) P2sVpnGatewaysClient { + return P2sVpnGatewaysClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates a virtual wan p2s vpn gateway if it doesn't exist else updates the existing gateway. +// Parameters: +// resourceGroupName - the resource group name of the P2SVpnGateway. +// gatewayName - the name of the gateway. +// p2SVpnGatewayParameters - parameters supplied to create or Update a virtual wan p2s vpn gateway. +func (client P2sVpnGatewaysClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, gatewayName string, p2SVpnGatewayParameters P2SVpnGateway) (result P2sVpnGatewaysCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/P2sVpnGatewaysClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, gatewayName, p2SVpnGatewayParameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.P2sVpnGatewaysClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.P2sVpnGatewaysClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client P2sVpnGatewaysClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, gatewayName string, p2SVpnGatewayParameters P2SVpnGateway) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "gatewayName": autorest.Encode("path", gatewayName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + p2SVpnGatewayParameters.Etag = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/p2svpnGateways/{gatewayName}", pathParameters), + autorest.WithJSON(p2SVpnGatewayParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client P2sVpnGatewaysClient) CreateOrUpdateSender(req *http.Request) (future P2sVpnGatewaysCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client P2sVpnGatewaysClient) CreateOrUpdateResponder(resp *http.Response) (result P2SVpnGateway, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes a virtual wan p2s vpn gateway. +// Parameters: +// resourceGroupName - the resource group name of the P2SVpnGateway. +// gatewayName - the name of the gateway. +func (client P2sVpnGatewaysClient) Delete(ctx context.Context, resourceGroupName string, gatewayName string) (result P2sVpnGatewaysDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/P2sVpnGatewaysClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, gatewayName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.P2sVpnGatewaysClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.P2sVpnGatewaysClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client P2sVpnGatewaysClient) DeletePreparer(ctx context.Context, resourceGroupName string, gatewayName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "gatewayName": autorest.Encode("path", gatewayName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/p2svpnGateways/{gatewayName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client P2sVpnGatewaysClient) DeleteSender(req *http.Request) (future P2sVpnGatewaysDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client P2sVpnGatewaysClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// GenerateVpnProfile generates VPN profile for P2S client of the P2SVpnGateway in the specified resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +// gatewayName - the name of the P2SVpnGateway. +// parameters - parameters supplied to the generate P2SVpnGateway VPN client package operation. +func (client P2sVpnGatewaysClient) GenerateVpnProfile(ctx context.Context, resourceGroupName string, gatewayName string, parameters P2SVpnProfileParameters) (result P2sVpnGatewaysGenerateVpnProfileFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/P2sVpnGatewaysClient.GenerateVpnProfile") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GenerateVpnProfilePreparer(ctx, resourceGroupName, gatewayName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.P2sVpnGatewaysClient", "GenerateVpnProfile", nil, "Failure preparing request") + return + } + + result, err = client.GenerateVpnProfileSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.P2sVpnGatewaysClient", "GenerateVpnProfile", result.Response(), "Failure sending request") + return + } + + return +} + +// GenerateVpnProfilePreparer prepares the GenerateVpnProfile request. +func (client P2sVpnGatewaysClient) GenerateVpnProfilePreparer(ctx context.Context, resourceGroupName string, gatewayName string, parameters P2SVpnProfileParameters) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "gatewayName": autorest.Encode("path", gatewayName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/p2svpnGateways/{gatewayName}/generatevpnprofile", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GenerateVpnProfileSender sends the GenerateVpnProfile request. The method will close the +// http.Response Body if it receives an error. +func (client P2sVpnGatewaysClient) GenerateVpnProfileSender(req *http.Request) (future P2sVpnGatewaysGenerateVpnProfileFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// GenerateVpnProfileResponder handles the response to the GenerateVpnProfile request. The method always +// closes the http.Response Body. +func (client P2sVpnGatewaysClient) GenerateVpnProfileResponder(resp *http.Response) (result VpnProfileResponse, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Get retrieves the details of a virtual wan p2s vpn gateway. +// Parameters: +// resourceGroupName - the resource group name of the P2SVpnGateway. +// gatewayName - the name of the gateway. +func (client P2sVpnGatewaysClient) Get(ctx context.Context, resourceGroupName string, gatewayName string) (result P2SVpnGateway, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/P2sVpnGatewaysClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, gatewayName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.P2sVpnGatewaysClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.P2sVpnGatewaysClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.P2sVpnGatewaysClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client P2sVpnGatewaysClient) GetPreparer(ctx context.Context, resourceGroupName string, gatewayName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "gatewayName": autorest.Encode("path", gatewayName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/p2svpnGateways/{gatewayName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client P2sVpnGatewaysClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client P2sVpnGatewaysClient) GetResponder(resp *http.Response) (result P2SVpnGateway, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetP2sVpnConnectionHealth gets the connection health of P2S clients of the virtual wan P2SVpnGateway in the +// specified resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +// gatewayName - the name of the P2SVpnGateway. +func (client P2sVpnGatewaysClient) GetP2sVpnConnectionHealth(ctx context.Context, resourceGroupName string, gatewayName string) (result P2sVpnGatewaysGetP2sVpnConnectionHealthFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/P2sVpnGatewaysClient.GetP2sVpnConnectionHealth") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetP2sVpnConnectionHealthPreparer(ctx, resourceGroupName, gatewayName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.P2sVpnGatewaysClient", "GetP2sVpnConnectionHealth", nil, "Failure preparing request") + return + } + + result, err = client.GetP2sVpnConnectionHealthSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.P2sVpnGatewaysClient", "GetP2sVpnConnectionHealth", result.Response(), "Failure sending request") + return + } + + return +} + +// GetP2sVpnConnectionHealthPreparer prepares the GetP2sVpnConnectionHealth request. +func (client P2sVpnGatewaysClient) GetP2sVpnConnectionHealthPreparer(ctx context.Context, resourceGroupName string, gatewayName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "gatewayName": autorest.Encode("path", gatewayName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/p2svpnGateways/{gatewayName}/getP2sVpnConnectionHealth", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetP2sVpnConnectionHealthSender sends the GetP2sVpnConnectionHealth request. The method will close the +// http.Response Body if it receives an error. +func (client P2sVpnGatewaysClient) GetP2sVpnConnectionHealthSender(req *http.Request) (future P2sVpnGatewaysGetP2sVpnConnectionHealthFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// GetP2sVpnConnectionHealthResponder handles the response to the GetP2sVpnConnectionHealth request. The method always +// closes the http.Response Body. +func (client P2sVpnGatewaysClient) GetP2sVpnConnectionHealthResponder(resp *http.Response) (result P2SVpnGateway, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetP2sVpnConnectionHealthDetailed gets the sas url to get the connection health detail of P2S clients of the virtual +// wan P2SVpnGateway in the specified resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +// gatewayName - the name of the P2SVpnGateway. +// request - request parameters supplied to get p2s vpn connections detailed health. +func (client P2sVpnGatewaysClient) GetP2sVpnConnectionHealthDetailed(ctx context.Context, resourceGroupName string, gatewayName string, request P2SVpnConnectionHealthRequest) (result P2sVpnGatewaysGetP2sVpnConnectionHealthDetailedFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/P2sVpnGatewaysClient.GetP2sVpnConnectionHealthDetailed") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetP2sVpnConnectionHealthDetailedPreparer(ctx, resourceGroupName, gatewayName, request) + if err != nil { + err = autorest.NewErrorWithError(err, "network.P2sVpnGatewaysClient", "GetP2sVpnConnectionHealthDetailed", nil, "Failure preparing request") + return + } + + result, err = client.GetP2sVpnConnectionHealthDetailedSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.P2sVpnGatewaysClient", "GetP2sVpnConnectionHealthDetailed", result.Response(), "Failure sending request") + return + } + + return +} + +// GetP2sVpnConnectionHealthDetailedPreparer prepares the GetP2sVpnConnectionHealthDetailed request. +func (client P2sVpnGatewaysClient) GetP2sVpnConnectionHealthDetailedPreparer(ctx context.Context, resourceGroupName string, gatewayName string, request P2SVpnConnectionHealthRequest) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "gatewayName": autorest.Encode("path", gatewayName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/p2svpnGateways/{gatewayName}/getP2sVpnConnectionHealthDetailed", pathParameters), + autorest.WithJSON(request), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetP2sVpnConnectionHealthDetailedSender sends the GetP2sVpnConnectionHealthDetailed request. The method will close the +// http.Response Body if it receives an error. +func (client P2sVpnGatewaysClient) GetP2sVpnConnectionHealthDetailedSender(req *http.Request) (future P2sVpnGatewaysGetP2sVpnConnectionHealthDetailedFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// GetP2sVpnConnectionHealthDetailedResponder handles the response to the GetP2sVpnConnectionHealthDetailed request. The method always +// closes the http.Response Body. +func (client P2sVpnGatewaysClient) GetP2sVpnConnectionHealthDetailedResponder(resp *http.Response) (result P2SVpnConnectionHealth, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List lists all the P2SVpnGateways in a subscription. +func (client P2sVpnGatewaysClient) List(ctx context.Context) (result ListP2SVpnGatewaysResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/P2sVpnGatewaysClient.List") + defer func() { + sc := -1 + if result.lpvgr.Response.Response != nil { + sc = result.lpvgr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "network.P2sVpnGatewaysClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.lpvgr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.P2sVpnGatewaysClient", "List", resp, "Failure sending request") + return + } + + result.lpvgr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.P2sVpnGatewaysClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client P2sVpnGatewaysClient) ListPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/p2svpnGateways", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client P2sVpnGatewaysClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client P2sVpnGatewaysClient) ListResponder(resp *http.Response) (result ListP2SVpnGatewaysResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client P2sVpnGatewaysClient) listNextResults(ctx context.Context, lastResults ListP2SVpnGatewaysResult) (result ListP2SVpnGatewaysResult, err error) { + req, err := lastResults.listP2SVpnGatewaysResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.P2sVpnGatewaysClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.P2sVpnGatewaysClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.P2sVpnGatewaysClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client P2sVpnGatewaysClient) ListComplete(ctx context.Context) (result ListP2SVpnGatewaysResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/P2sVpnGatewaysClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx) + return +} + +// ListByResourceGroup lists all the P2SVpnGateways in a resource group. +// Parameters: +// resourceGroupName - the resource group name of the P2SVpnGateway. +func (client P2sVpnGatewaysClient) ListByResourceGroup(ctx context.Context, resourceGroupName string) (result ListP2SVpnGatewaysResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/P2sVpnGatewaysClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.lpvgr.Response.Response != nil { + sc = result.lpvgr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listByResourceGroupNextResults + req, err := client.ListByResourceGroupPreparer(ctx, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.P2sVpnGatewaysClient", "ListByResourceGroup", nil, "Failure preparing request") + return + } + + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.lpvgr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.P2sVpnGatewaysClient", "ListByResourceGroup", resp, "Failure sending request") + return + } + + result.lpvgr, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.P2sVpnGatewaysClient", "ListByResourceGroup", resp, "Failure responding to request") + } + + return +} + +// ListByResourceGroupPreparer prepares the ListByResourceGroup request. +func (client P2sVpnGatewaysClient) ListByResourceGroupPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/p2svpnGateways", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByResourceGroupSender sends the ListByResourceGroup request. The method will close the +// http.Response Body if it receives an error. +func (client P2sVpnGatewaysClient) ListByResourceGroupSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByResourceGroupResponder handles the response to the ListByResourceGroup request. The method always +// closes the http.Response Body. +func (client P2sVpnGatewaysClient) ListByResourceGroupResponder(resp *http.Response) (result ListP2SVpnGatewaysResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listByResourceGroupNextResults retrieves the next set of results, if any. +func (client P2sVpnGatewaysClient) listByResourceGroupNextResults(ctx context.Context, lastResults ListP2SVpnGatewaysResult) (result ListP2SVpnGatewaysResult, err error) { + req, err := lastResults.listP2SVpnGatewaysResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.P2sVpnGatewaysClient", "listByResourceGroupNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.P2sVpnGatewaysClient", "listByResourceGroupNextResults", resp, "Failure sending next results request") + } + result, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.P2sVpnGatewaysClient", "listByResourceGroupNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListByResourceGroupComplete enumerates all values, automatically crossing page boundaries as required. +func (client P2sVpnGatewaysClient) ListByResourceGroupComplete(ctx context.Context, resourceGroupName string) (result ListP2SVpnGatewaysResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/P2sVpnGatewaysClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListByResourceGroup(ctx, resourceGroupName) + return +} + +// UpdateTags updates virtual wan p2s vpn gateway tags. +// Parameters: +// resourceGroupName - the resource group name of the P2SVpnGateway. +// gatewayName - the name of the gateway. +// p2SVpnGatewayParameters - parameters supplied to update a virtual wan p2s vpn gateway tags. +func (client P2sVpnGatewaysClient) UpdateTags(ctx context.Context, resourceGroupName string, gatewayName string, p2SVpnGatewayParameters TagsObject) (result P2sVpnGatewaysUpdateTagsFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/P2sVpnGatewaysClient.UpdateTags") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdateTagsPreparer(ctx, resourceGroupName, gatewayName, p2SVpnGatewayParameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.P2sVpnGatewaysClient", "UpdateTags", nil, "Failure preparing request") + return + } + + result, err = client.UpdateTagsSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.P2sVpnGatewaysClient", "UpdateTags", result.Response(), "Failure sending request") + return + } + + return +} + +// UpdateTagsPreparer prepares the UpdateTags request. +func (client P2sVpnGatewaysClient) UpdateTagsPreparer(ctx context.Context, resourceGroupName string, gatewayName string, p2SVpnGatewayParameters TagsObject) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "gatewayName": autorest.Encode("path", gatewayName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/p2svpnGateways/{gatewayName}", pathParameters), + autorest.WithJSON(p2SVpnGatewayParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateTagsSender sends the UpdateTags request. The method will close the +// http.Response Body if it receives an error. +func (client P2sVpnGatewaysClient) UpdateTagsSender(req *http.Request) (future P2sVpnGatewaysUpdateTagsFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// UpdateTagsResponder handles the response to the UpdateTags request. The method always +// closes the http.Response Body. +func (client P2sVpnGatewaysClient) UpdateTagsResponder(resp *http.Response) (result P2SVpnGateway, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/network/mgmt/2019-08-01/network/packetcaptures.go b/services/network/mgmt/2019-08-01/network/packetcaptures.go new file mode 100644 index 000000000000..85920514f2ce --- /dev/null +++ b/services/network/mgmt/2019-08-01/network/packetcaptures.go @@ -0,0 +1,524 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// PacketCapturesClient is the network Client +type PacketCapturesClient struct { + BaseClient +} + +// NewPacketCapturesClient creates an instance of the PacketCapturesClient client. +func NewPacketCapturesClient(subscriptionID string) PacketCapturesClient { + return NewPacketCapturesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewPacketCapturesClientWithBaseURI creates an instance of the PacketCapturesClient client. +func NewPacketCapturesClientWithBaseURI(baseURI string, subscriptionID string) PacketCapturesClient { + return PacketCapturesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// Create create and start a packet capture on the specified VM. +// Parameters: +// resourceGroupName - the name of the resource group. +// networkWatcherName - the name of the network watcher. +// packetCaptureName - the name of the packet capture session. +// parameters - parameters that define the create packet capture operation. +func (client PacketCapturesClient) Create(ctx context.Context, resourceGroupName string, networkWatcherName string, packetCaptureName string, parameters PacketCapture) (result PacketCapturesCreateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PacketCapturesClient.Create") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.PacketCaptureParameters", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "parameters.PacketCaptureParameters.Target", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "parameters.PacketCaptureParameters.StorageLocation", Name: validation.Null, Rule: true, Chain: nil}, + }}}}}); err != nil { + return result, validation.NewError("network.PacketCapturesClient", "Create", err.Error()) + } + + req, err := client.CreatePreparer(ctx, resourceGroupName, networkWatcherName, packetCaptureName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PacketCapturesClient", "Create", nil, "Failure preparing request") + return + } + + result, err = client.CreateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PacketCapturesClient", "Create", result.Response(), "Failure sending request") + return + } + + return +} + +// CreatePreparer prepares the Create request. +func (client PacketCapturesClient) CreatePreparer(ctx context.Context, resourceGroupName string, networkWatcherName string, packetCaptureName string, parameters PacketCapture) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkWatcherName": autorest.Encode("path", networkWatcherName), + "packetCaptureName": autorest.Encode("path", packetCaptureName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures/{packetCaptureName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateSender sends the Create request. The method will close the +// http.Response Body if it receives an error. +func (client PacketCapturesClient) CreateSender(req *http.Request) (future PacketCapturesCreateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateResponder handles the response to the Create request. The method always +// closes the http.Response Body. +func (client PacketCapturesClient) CreateResponder(resp *http.Response) (result PacketCaptureResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the specified packet capture session. +// Parameters: +// resourceGroupName - the name of the resource group. +// networkWatcherName - the name of the network watcher. +// packetCaptureName - the name of the packet capture session. +func (client PacketCapturesClient) Delete(ctx context.Context, resourceGroupName string, networkWatcherName string, packetCaptureName string) (result PacketCapturesDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PacketCapturesClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, networkWatcherName, packetCaptureName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PacketCapturesClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PacketCapturesClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client PacketCapturesClient) DeletePreparer(ctx context.Context, resourceGroupName string, networkWatcherName string, packetCaptureName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkWatcherName": autorest.Encode("path", networkWatcherName), + "packetCaptureName": autorest.Encode("path", packetCaptureName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures/{packetCaptureName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client PacketCapturesClient) DeleteSender(req *http.Request) (future PacketCapturesDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client PacketCapturesClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets a packet capture session by name. +// Parameters: +// resourceGroupName - the name of the resource group. +// networkWatcherName - the name of the network watcher. +// packetCaptureName - the name of the packet capture session. +func (client PacketCapturesClient) Get(ctx context.Context, resourceGroupName string, networkWatcherName string, packetCaptureName string) (result PacketCaptureResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PacketCapturesClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, networkWatcherName, packetCaptureName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PacketCapturesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.PacketCapturesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PacketCapturesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client PacketCapturesClient) GetPreparer(ctx context.Context, resourceGroupName string, networkWatcherName string, packetCaptureName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkWatcherName": autorest.Encode("path", networkWatcherName), + "packetCaptureName": autorest.Encode("path", packetCaptureName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures/{packetCaptureName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client PacketCapturesClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client PacketCapturesClient) GetResponder(resp *http.Response) (result PacketCaptureResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetStatus query the status of a running packet capture session. +// Parameters: +// resourceGroupName - the name of the resource group. +// networkWatcherName - the name of the Network Watcher resource. +// packetCaptureName - the name given to the packet capture session. +func (client PacketCapturesClient) GetStatus(ctx context.Context, resourceGroupName string, networkWatcherName string, packetCaptureName string) (result PacketCapturesGetStatusFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PacketCapturesClient.GetStatus") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetStatusPreparer(ctx, resourceGroupName, networkWatcherName, packetCaptureName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PacketCapturesClient", "GetStatus", nil, "Failure preparing request") + return + } + + result, err = client.GetStatusSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PacketCapturesClient", "GetStatus", result.Response(), "Failure sending request") + return + } + + return +} + +// GetStatusPreparer prepares the GetStatus request. +func (client PacketCapturesClient) GetStatusPreparer(ctx context.Context, resourceGroupName string, networkWatcherName string, packetCaptureName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkWatcherName": autorest.Encode("path", networkWatcherName), + "packetCaptureName": autorest.Encode("path", packetCaptureName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures/{packetCaptureName}/queryStatus", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetStatusSender sends the GetStatus request. The method will close the +// http.Response Body if it receives an error. +func (client PacketCapturesClient) GetStatusSender(req *http.Request) (future PacketCapturesGetStatusFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// GetStatusResponder handles the response to the GetStatus request. The method always +// closes the http.Response Body. +func (client PacketCapturesClient) GetStatusResponder(resp *http.Response) (result PacketCaptureQueryStatusResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List lists all packet capture sessions within the specified resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +// networkWatcherName - the name of the Network Watcher resource. +func (client PacketCapturesClient) List(ctx context.Context, resourceGroupName string, networkWatcherName string) (result PacketCaptureListResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PacketCapturesClient.List") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListPreparer(ctx, resourceGroupName, networkWatcherName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PacketCapturesClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.PacketCapturesClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PacketCapturesClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client PacketCapturesClient) ListPreparer(ctx context.Context, resourceGroupName string, networkWatcherName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkWatcherName": autorest.Encode("path", networkWatcherName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client PacketCapturesClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client PacketCapturesClient) ListResponder(resp *http.Response) (result PacketCaptureListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Stop stops a specified packet capture session. +// Parameters: +// resourceGroupName - the name of the resource group. +// networkWatcherName - the name of the network watcher. +// packetCaptureName - the name of the packet capture session. +func (client PacketCapturesClient) Stop(ctx context.Context, resourceGroupName string, networkWatcherName string, packetCaptureName string) (result PacketCapturesStopFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PacketCapturesClient.Stop") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.StopPreparer(ctx, resourceGroupName, networkWatcherName, packetCaptureName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PacketCapturesClient", "Stop", nil, "Failure preparing request") + return + } + + result, err = client.StopSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PacketCapturesClient", "Stop", result.Response(), "Failure sending request") + return + } + + return +} + +// StopPreparer prepares the Stop request. +func (client PacketCapturesClient) StopPreparer(ctx context.Context, resourceGroupName string, networkWatcherName string, packetCaptureName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkWatcherName": autorest.Encode("path", networkWatcherName), + "packetCaptureName": autorest.Encode("path", packetCaptureName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures/{packetCaptureName}/stop", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// StopSender sends the Stop request. The method will close the +// http.Response Body if it receives an error. +func (client PacketCapturesClient) StopSender(req *http.Request) (future PacketCapturesStopFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// StopResponder handles the response to the Stop request. The method always +// closes the http.Response Body. +func (client PacketCapturesClient) StopResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByClosing()) + result.Response = resp + return +} diff --git a/services/network/mgmt/2019-08-01/network/peerexpressroutecircuitconnections.go b/services/network/mgmt/2019-08-01/network/peerexpressroutecircuitconnections.go new file mode 100644 index 000000000000..983c2e4bb3c0 --- /dev/null +++ b/services/network/mgmt/2019-08-01/network/peerexpressroutecircuitconnections.go @@ -0,0 +1,241 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// PeerExpressRouteCircuitConnectionsClient is the network Client +type PeerExpressRouteCircuitConnectionsClient struct { + BaseClient +} + +// NewPeerExpressRouteCircuitConnectionsClient creates an instance of the PeerExpressRouteCircuitConnectionsClient +// client. +func NewPeerExpressRouteCircuitConnectionsClient(subscriptionID string) PeerExpressRouteCircuitConnectionsClient { + return NewPeerExpressRouteCircuitConnectionsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewPeerExpressRouteCircuitConnectionsClientWithBaseURI creates an instance of the +// PeerExpressRouteCircuitConnectionsClient client. +func NewPeerExpressRouteCircuitConnectionsClientWithBaseURI(baseURI string, subscriptionID string) PeerExpressRouteCircuitConnectionsClient { + return PeerExpressRouteCircuitConnectionsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// Get gets the specified Peer Express Route Circuit Connection from the specified express route circuit. +// Parameters: +// resourceGroupName - the name of the resource group. +// circuitName - the name of the express route circuit. +// peeringName - the name of the peering. +// connectionName - the name of the peer express route circuit connection. +func (client PeerExpressRouteCircuitConnectionsClient) Get(ctx context.Context, resourceGroupName string, circuitName string, peeringName string, connectionName string) (result PeerExpressRouteCircuitConnection, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PeerExpressRouteCircuitConnectionsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, circuitName, peeringName, connectionName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PeerExpressRouteCircuitConnectionsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.PeerExpressRouteCircuitConnectionsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PeerExpressRouteCircuitConnectionsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client PeerExpressRouteCircuitConnectionsClient) GetPreparer(ctx context.Context, resourceGroupName string, circuitName string, peeringName string, connectionName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "circuitName": autorest.Encode("path", circuitName), + "connectionName": autorest.Encode("path", connectionName), + "peeringName": autorest.Encode("path", peeringName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/peerConnections/{connectionName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client PeerExpressRouteCircuitConnectionsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client PeerExpressRouteCircuitConnectionsClient) GetResponder(resp *http.Response) (result PeerExpressRouteCircuitConnection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets all global reach peer connections associated with a private peering in an express route circuit. +// Parameters: +// resourceGroupName - the name of the resource group. +// circuitName - the name of the circuit. +// peeringName - the name of the peering. +func (client PeerExpressRouteCircuitConnectionsClient) List(ctx context.Context, resourceGroupName string, circuitName string, peeringName string) (result PeerExpressRouteCircuitConnectionListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PeerExpressRouteCircuitConnectionsClient.List") + defer func() { + sc := -1 + if result.percclr.Response.Response != nil { + sc = result.percclr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName, circuitName, peeringName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PeerExpressRouteCircuitConnectionsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.percclr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.PeerExpressRouteCircuitConnectionsClient", "List", resp, "Failure sending request") + return + } + + result.percclr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PeerExpressRouteCircuitConnectionsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client PeerExpressRouteCircuitConnectionsClient) ListPreparer(ctx context.Context, resourceGroupName string, circuitName string, peeringName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "circuitName": autorest.Encode("path", circuitName), + "peeringName": autorest.Encode("path", peeringName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/peerConnections", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client PeerExpressRouteCircuitConnectionsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client PeerExpressRouteCircuitConnectionsClient) ListResponder(resp *http.Response) (result PeerExpressRouteCircuitConnectionListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client PeerExpressRouteCircuitConnectionsClient) listNextResults(ctx context.Context, lastResults PeerExpressRouteCircuitConnectionListResult) (result PeerExpressRouteCircuitConnectionListResult, err error) { + req, err := lastResults.peerExpressRouteCircuitConnectionListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.PeerExpressRouteCircuitConnectionsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.PeerExpressRouteCircuitConnectionsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PeerExpressRouteCircuitConnectionsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client PeerExpressRouteCircuitConnectionsClient) ListComplete(ctx context.Context, resourceGroupName string, circuitName string, peeringName string) (result PeerExpressRouteCircuitConnectionListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PeerExpressRouteCircuitConnectionsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName, circuitName, peeringName) + return +} diff --git a/services/network/mgmt/2019-08-01/network/privateendpoints.go b/services/network/mgmt/2019-08-01/network/privateendpoints.go new file mode 100644 index 000000000000..25a61faf0e11 --- /dev/null +++ b/services/network/mgmt/2019-08-01/network/privateendpoints.go @@ -0,0 +1,501 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// PrivateEndpointsClient is the network Client +type PrivateEndpointsClient struct { + BaseClient +} + +// NewPrivateEndpointsClient creates an instance of the PrivateEndpointsClient client. +func NewPrivateEndpointsClient(subscriptionID string) PrivateEndpointsClient { + return NewPrivateEndpointsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewPrivateEndpointsClientWithBaseURI creates an instance of the PrivateEndpointsClient client. +func NewPrivateEndpointsClientWithBaseURI(baseURI string, subscriptionID string) PrivateEndpointsClient { + return PrivateEndpointsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates an private endpoint in the specified resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +// privateEndpointName - the name of the private endpoint. +// parameters - parameters supplied to the create or update private endpoint operation. +func (client PrivateEndpointsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, privateEndpointName string, parameters PrivateEndpoint) (result PrivateEndpointsCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PrivateEndpointsClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, privateEndpointName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PrivateEndpointsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PrivateEndpointsClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client PrivateEndpointsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, privateEndpointName string, parameters PrivateEndpoint) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "privateEndpointName": autorest.Encode("path", privateEndpointName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateEndpoints/{privateEndpointName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client PrivateEndpointsClient) CreateOrUpdateSender(req *http.Request) (future PrivateEndpointsCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client PrivateEndpointsClient) CreateOrUpdateResponder(resp *http.Response) (result PrivateEndpoint, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the specified private endpoint. +// Parameters: +// resourceGroupName - the name of the resource group. +// privateEndpointName - the name of the private endpoint. +func (client PrivateEndpointsClient) Delete(ctx context.Context, resourceGroupName string, privateEndpointName string) (result PrivateEndpointsDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PrivateEndpointsClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, privateEndpointName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PrivateEndpointsClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PrivateEndpointsClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client PrivateEndpointsClient) DeletePreparer(ctx context.Context, resourceGroupName string, privateEndpointName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "privateEndpointName": autorest.Encode("path", privateEndpointName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateEndpoints/{privateEndpointName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client PrivateEndpointsClient) DeleteSender(req *http.Request) (future PrivateEndpointsDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client PrivateEndpointsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets the specified private endpoint by resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +// privateEndpointName - the name of the private endpoint. +// expand - expands referenced resources. +func (client PrivateEndpointsClient) Get(ctx context.Context, resourceGroupName string, privateEndpointName string, expand string) (result PrivateEndpoint, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PrivateEndpointsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, privateEndpointName, expand) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PrivateEndpointsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.PrivateEndpointsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PrivateEndpointsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client PrivateEndpointsClient) GetPreparer(ctx context.Context, resourceGroupName string, privateEndpointName string, expand string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "privateEndpointName": autorest.Encode("path", privateEndpointName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(expand) > 0 { + queryParameters["$expand"] = autorest.Encode("query", expand) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateEndpoints/{privateEndpointName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client PrivateEndpointsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client PrivateEndpointsClient) GetResponder(resp *http.Response) (result PrivateEndpoint, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets all private endpoints in a resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +func (client PrivateEndpointsClient) List(ctx context.Context, resourceGroupName string) (result PrivateEndpointListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PrivateEndpointsClient.List") + defer func() { + sc := -1 + if result.pelr.Response.Response != nil { + sc = result.pelr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PrivateEndpointsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.pelr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.PrivateEndpointsClient", "List", resp, "Failure sending request") + return + } + + result.pelr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PrivateEndpointsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client PrivateEndpointsClient) ListPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateEndpoints", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client PrivateEndpointsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client PrivateEndpointsClient) ListResponder(resp *http.Response) (result PrivateEndpointListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client PrivateEndpointsClient) listNextResults(ctx context.Context, lastResults PrivateEndpointListResult) (result PrivateEndpointListResult, err error) { + req, err := lastResults.privateEndpointListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.PrivateEndpointsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.PrivateEndpointsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PrivateEndpointsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client PrivateEndpointsClient) ListComplete(ctx context.Context, resourceGroupName string) (result PrivateEndpointListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PrivateEndpointsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName) + return +} + +// ListBySubscription gets all private endpoints in a subscription. +func (client PrivateEndpointsClient) ListBySubscription(ctx context.Context) (result PrivateEndpointListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PrivateEndpointsClient.ListBySubscription") + defer func() { + sc := -1 + if result.pelr.Response.Response != nil { + sc = result.pelr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listBySubscriptionNextResults + req, err := client.ListBySubscriptionPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PrivateEndpointsClient", "ListBySubscription", nil, "Failure preparing request") + return + } + + resp, err := client.ListBySubscriptionSender(req) + if err != nil { + result.pelr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.PrivateEndpointsClient", "ListBySubscription", resp, "Failure sending request") + return + } + + result.pelr, err = client.ListBySubscriptionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PrivateEndpointsClient", "ListBySubscription", resp, "Failure responding to request") + } + + return +} + +// ListBySubscriptionPreparer prepares the ListBySubscription request. +func (client PrivateEndpointsClient) ListBySubscriptionPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/privateEndpoints", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListBySubscriptionSender sends the ListBySubscription request. The method will close the +// http.Response Body if it receives an error. +func (client PrivateEndpointsClient) ListBySubscriptionSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListBySubscriptionResponder handles the response to the ListBySubscription request. The method always +// closes the http.Response Body. +func (client PrivateEndpointsClient) ListBySubscriptionResponder(resp *http.Response) (result PrivateEndpointListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listBySubscriptionNextResults retrieves the next set of results, if any. +func (client PrivateEndpointsClient) listBySubscriptionNextResults(ctx context.Context, lastResults PrivateEndpointListResult) (result PrivateEndpointListResult, err error) { + req, err := lastResults.privateEndpointListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.PrivateEndpointsClient", "listBySubscriptionNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListBySubscriptionSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.PrivateEndpointsClient", "listBySubscriptionNextResults", resp, "Failure sending next results request") + } + result, err = client.ListBySubscriptionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PrivateEndpointsClient", "listBySubscriptionNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListBySubscriptionComplete enumerates all values, automatically crossing page boundaries as required. +func (client PrivateEndpointsClient) ListBySubscriptionComplete(ctx context.Context) (result PrivateEndpointListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PrivateEndpointsClient.ListBySubscription") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListBySubscription(ctx) + return +} diff --git a/services/network/mgmt/2019-08-01/network/privatelinkservices.go b/services/network/mgmt/2019-08-01/network/privatelinkservices.go new file mode 100644 index 000000000000..52aa92fa949e --- /dev/null +++ b/services/network/mgmt/2019-08-01/network/privatelinkservices.go @@ -0,0 +1,1053 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// PrivateLinkServicesClient is the network Client +type PrivateLinkServicesClient struct { + BaseClient +} + +// NewPrivateLinkServicesClient creates an instance of the PrivateLinkServicesClient client. +func NewPrivateLinkServicesClient(subscriptionID string) PrivateLinkServicesClient { + return NewPrivateLinkServicesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewPrivateLinkServicesClientWithBaseURI creates an instance of the PrivateLinkServicesClient client. +func NewPrivateLinkServicesClientWithBaseURI(baseURI string, subscriptionID string) PrivateLinkServicesClient { + return PrivateLinkServicesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CheckPrivateLinkServiceVisibility checks whether the subscription is visible to private link service. +// Parameters: +// location - the location of the domain name. +// parameters - the request body of CheckPrivateLinkService API call. +func (client PrivateLinkServicesClient) CheckPrivateLinkServiceVisibility(ctx context.Context, location string, parameters CheckPrivateLinkServiceVisibilityRequest) (result PrivateLinkServiceVisibility, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PrivateLinkServicesClient.CheckPrivateLinkServiceVisibility") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CheckPrivateLinkServiceVisibilityPreparer(ctx, location, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PrivateLinkServicesClient", "CheckPrivateLinkServiceVisibility", nil, "Failure preparing request") + return + } + + resp, err := client.CheckPrivateLinkServiceVisibilitySender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.PrivateLinkServicesClient", "CheckPrivateLinkServiceVisibility", resp, "Failure sending request") + return + } + + result, err = client.CheckPrivateLinkServiceVisibilityResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PrivateLinkServicesClient", "CheckPrivateLinkServiceVisibility", resp, "Failure responding to request") + } + + return +} + +// CheckPrivateLinkServiceVisibilityPreparer prepares the CheckPrivateLinkServiceVisibility request. +func (client PrivateLinkServicesClient) CheckPrivateLinkServiceVisibilityPreparer(ctx context.Context, location string, parameters CheckPrivateLinkServiceVisibilityRequest) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "location": autorest.Encode("path", location), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/checkPrivateLinkServiceVisibility", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CheckPrivateLinkServiceVisibilitySender sends the CheckPrivateLinkServiceVisibility request. The method will close the +// http.Response Body if it receives an error. +func (client PrivateLinkServicesClient) CheckPrivateLinkServiceVisibilitySender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CheckPrivateLinkServiceVisibilityResponder handles the response to the CheckPrivateLinkServiceVisibility request. The method always +// closes the http.Response Body. +func (client PrivateLinkServicesClient) CheckPrivateLinkServiceVisibilityResponder(resp *http.Response) (result PrivateLinkServiceVisibility, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// CheckPrivateLinkServiceVisibilityByResourceGroup checks whether the subscription is visible to private link service +// in the specified resource group. +// Parameters: +// location - the location of the domain name. +// resourceGroupName - the name of the resource group. +// parameters - the request body of CheckPrivateLinkService API call. +func (client PrivateLinkServicesClient) CheckPrivateLinkServiceVisibilityByResourceGroup(ctx context.Context, location string, resourceGroupName string, parameters CheckPrivateLinkServiceVisibilityRequest) (result PrivateLinkServiceVisibility, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PrivateLinkServicesClient.CheckPrivateLinkServiceVisibilityByResourceGroup") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CheckPrivateLinkServiceVisibilityByResourceGroupPreparer(ctx, location, resourceGroupName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PrivateLinkServicesClient", "CheckPrivateLinkServiceVisibilityByResourceGroup", nil, "Failure preparing request") + return + } + + resp, err := client.CheckPrivateLinkServiceVisibilityByResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.PrivateLinkServicesClient", "CheckPrivateLinkServiceVisibilityByResourceGroup", resp, "Failure sending request") + return + } + + result, err = client.CheckPrivateLinkServiceVisibilityByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PrivateLinkServicesClient", "CheckPrivateLinkServiceVisibilityByResourceGroup", resp, "Failure responding to request") + } + + return +} + +// CheckPrivateLinkServiceVisibilityByResourceGroupPreparer prepares the CheckPrivateLinkServiceVisibilityByResourceGroup request. +func (client PrivateLinkServicesClient) CheckPrivateLinkServiceVisibilityByResourceGroupPreparer(ctx context.Context, location string, resourceGroupName string, parameters CheckPrivateLinkServiceVisibilityRequest) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "location": autorest.Encode("path", location), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/locations/{location}/checkPrivateLinkServiceVisibility", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CheckPrivateLinkServiceVisibilityByResourceGroupSender sends the CheckPrivateLinkServiceVisibilityByResourceGroup request. The method will close the +// http.Response Body if it receives an error. +func (client PrivateLinkServicesClient) CheckPrivateLinkServiceVisibilityByResourceGroupSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CheckPrivateLinkServiceVisibilityByResourceGroupResponder handles the response to the CheckPrivateLinkServiceVisibilityByResourceGroup request. The method always +// closes the http.Response Body. +func (client PrivateLinkServicesClient) CheckPrivateLinkServiceVisibilityByResourceGroupResponder(resp *http.Response) (result PrivateLinkServiceVisibility, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// CreateOrUpdate creates or updates an private link service in the specified resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +// serviceName - the name of the private link service. +// parameters - parameters supplied to the create or update private link service operation. +func (client PrivateLinkServicesClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, serviceName string, parameters PrivateLinkService) (result PrivateLinkServicesCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PrivateLinkServicesClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, serviceName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PrivateLinkServicesClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PrivateLinkServicesClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client PrivateLinkServicesClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, serviceName string, parameters PrivateLinkService) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serviceName": autorest.Encode("path", serviceName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateLinkServices/{serviceName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client PrivateLinkServicesClient) CreateOrUpdateSender(req *http.Request) (future PrivateLinkServicesCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client PrivateLinkServicesClient) CreateOrUpdateResponder(resp *http.Response) (result PrivateLinkService, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the specified private link service. +// Parameters: +// resourceGroupName - the name of the resource group. +// serviceName - the name of the private link service. +func (client PrivateLinkServicesClient) Delete(ctx context.Context, resourceGroupName string, serviceName string) (result PrivateLinkServicesDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PrivateLinkServicesClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, serviceName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PrivateLinkServicesClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PrivateLinkServicesClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client PrivateLinkServicesClient) DeletePreparer(ctx context.Context, resourceGroupName string, serviceName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serviceName": autorest.Encode("path", serviceName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateLinkServices/{serviceName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client PrivateLinkServicesClient) DeleteSender(req *http.Request) (future PrivateLinkServicesDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client PrivateLinkServicesClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// DeletePrivateEndpointConnection delete private end point connection for a private link service in a subscription. +// Parameters: +// resourceGroupName - the name of the resource group. +// serviceName - the name of the private link service. +// peConnectionName - the name of the private end point connection. +func (client PrivateLinkServicesClient) DeletePrivateEndpointConnection(ctx context.Context, resourceGroupName string, serviceName string, peConnectionName string) (result PrivateLinkServicesDeletePrivateEndpointConnectionFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PrivateLinkServicesClient.DeletePrivateEndpointConnection") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePrivateEndpointConnectionPreparer(ctx, resourceGroupName, serviceName, peConnectionName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PrivateLinkServicesClient", "DeletePrivateEndpointConnection", nil, "Failure preparing request") + return + } + + result, err = client.DeletePrivateEndpointConnectionSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PrivateLinkServicesClient", "DeletePrivateEndpointConnection", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePrivateEndpointConnectionPreparer prepares the DeletePrivateEndpointConnection request. +func (client PrivateLinkServicesClient) DeletePrivateEndpointConnectionPreparer(ctx context.Context, resourceGroupName string, serviceName string, peConnectionName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "peConnectionName": autorest.Encode("path", peConnectionName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serviceName": autorest.Encode("path", serviceName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateLinkServices/{serviceName}/privateEndpointConnections/{peConnectionName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeletePrivateEndpointConnectionSender sends the DeletePrivateEndpointConnection request. The method will close the +// http.Response Body if it receives an error. +func (client PrivateLinkServicesClient) DeletePrivateEndpointConnectionSender(req *http.Request) (future PrivateLinkServicesDeletePrivateEndpointConnectionFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeletePrivateEndpointConnectionResponder handles the response to the DeletePrivateEndpointConnection request. The method always +// closes the http.Response Body. +func (client PrivateLinkServicesClient) DeletePrivateEndpointConnectionResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets the specified private link service by resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +// serviceName - the name of the private link service. +// expand - expands referenced resources. +func (client PrivateLinkServicesClient) Get(ctx context.Context, resourceGroupName string, serviceName string, expand string) (result PrivateLinkService, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PrivateLinkServicesClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, serviceName, expand) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PrivateLinkServicesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.PrivateLinkServicesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PrivateLinkServicesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client PrivateLinkServicesClient) GetPreparer(ctx context.Context, resourceGroupName string, serviceName string, expand string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serviceName": autorest.Encode("path", serviceName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(expand) > 0 { + queryParameters["$expand"] = autorest.Encode("query", expand) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateLinkServices/{serviceName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client PrivateLinkServicesClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client PrivateLinkServicesClient) GetResponder(resp *http.Response) (result PrivateLinkService, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets all private link services in a resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +func (client PrivateLinkServicesClient) List(ctx context.Context, resourceGroupName string) (result PrivateLinkServiceListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PrivateLinkServicesClient.List") + defer func() { + sc := -1 + if result.plslr.Response.Response != nil { + sc = result.plslr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PrivateLinkServicesClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.plslr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.PrivateLinkServicesClient", "List", resp, "Failure sending request") + return + } + + result.plslr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PrivateLinkServicesClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client PrivateLinkServicesClient) ListPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateLinkServices", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client PrivateLinkServicesClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client PrivateLinkServicesClient) ListResponder(resp *http.Response) (result PrivateLinkServiceListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client PrivateLinkServicesClient) listNextResults(ctx context.Context, lastResults PrivateLinkServiceListResult) (result PrivateLinkServiceListResult, err error) { + req, err := lastResults.privateLinkServiceListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.PrivateLinkServicesClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.PrivateLinkServicesClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PrivateLinkServicesClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client PrivateLinkServicesClient) ListComplete(ctx context.Context, resourceGroupName string) (result PrivateLinkServiceListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PrivateLinkServicesClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName) + return +} + +// ListAutoApprovedPrivateLinkServices returns all of the private link service ids that can be linked to a Private +// Endpoint with auto approved in this subscription in this region. +// Parameters: +// location - the location of the domain name. +func (client PrivateLinkServicesClient) ListAutoApprovedPrivateLinkServices(ctx context.Context, location string) (result AutoApprovedPrivateLinkServicesResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PrivateLinkServicesClient.ListAutoApprovedPrivateLinkServices") + defer func() { + sc := -1 + if result.aaplsr.Response.Response != nil { + sc = result.aaplsr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listAutoApprovedPrivateLinkServicesNextResults + req, err := client.ListAutoApprovedPrivateLinkServicesPreparer(ctx, location) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PrivateLinkServicesClient", "ListAutoApprovedPrivateLinkServices", nil, "Failure preparing request") + return + } + + resp, err := client.ListAutoApprovedPrivateLinkServicesSender(req) + if err != nil { + result.aaplsr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.PrivateLinkServicesClient", "ListAutoApprovedPrivateLinkServices", resp, "Failure sending request") + return + } + + result.aaplsr, err = client.ListAutoApprovedPrivateLinkServicesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PrivateLinkServicesClient", "ListAutoApprovedPrivateLinkServices", resp, "Failure responding to request") + } + + return +} + +// ListAutoApprovedPrivateLinkServicesPreparer prepares the ListAutoApprovedPrivateLinkServices request. +func (client PrivateLinkServicesClient) ListAutoApprovedPrivateLinkServicesPreparer(ctx context.Context, location string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "location": autorest.Encode("path", location), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/autoApprovedPrivateLinkServices", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListAutoApprovedPrivateLinkServicesSender sends the ListAutoApprovedPrivateLinkServices request. The method will close the +// http.Response Body if it receives an error. +func (client PrivateLinkServicesClient) ListAutoApprovedPrivateLinkServicesSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListAutoApprovedPrivateLinkServicesResponder handles the response to the ListAutoApprovedPrivateLinkServices request. The method always +// closes the http.Response Body. +func (client PrivateLinkServicesClient) ListAutoApprovedPrivateLinkServicesResponder(resp *http.Response) (result AutoApprovedPrivateLinkServicesResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listAutoApprovedPrivateLinkServicesNextResults retrieves the next set of results, if any. +func (client PrivateLinkServicesClient) listAutoApprovedPrivateLinkServicesNextResults(ctx context.Context, lastResults AutoApprovedPrivateLinkServicesResult) (result AutoApprovedPrivateLinkServicesResult, err error) { + req, err := lastResults.autoApprovedPrivateLinkServicesResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.PrivateLinkServicesClient", "listAutoApprovedPrivateLinkServicesNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListAutoApprovedPrivateLinkServicesSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.PrivateLinkServicesClient", "listAutoApprovedPrivateLinkServicesNextResults", resp, "Failure sending next results request") + } + result, err = client.ListAutoApprovedPrivateLinkServicesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PrivateLinkServicesClient", "listAutoApprovedPrivateLinkServicesNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListAutoApprovedPrivateLinkServicesComplete enumerates all values, automatically crossing page boundaries as required. +func (client PrivateLinkServicesClient) ListAutoApprovedPrivateLinkServicesComplete(ctx context.Context, location string) (result AutoApprovedPrivateLinkServicesResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PrivateLinkServicesClient.ListAutoApprovedPrivateLinkServices") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListAutoApprovedPrivateLinkServices(ctx, location) + return +} + +// ListAutoApprovedPrivateLinkServicesByResourceGroup returns all of the private link service ids that can be linked to +// a Private Endpoint with auto approved in this subscription in this region. +// Parameters: +// location - the location of the domain name. +// resourceGroupName - the name of the resource group. +func (client PrivateLinkServicesClient) ListAutoApprovedPrivateLinkServicesByResourceGroup(ctx context.Context, location string, resourceGroupName string) (result AutoApprovedPrivateLinkServicesResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PrivateLinkServicesClient.ListAutoApprovedPrivateLinkServicesByResourceGroup") + defer func() { + sc := -1 + if result.aaplsr.Response.Response != nil { + sc = result.aaplsr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listAutoApprovedPrivateLinkServicesByResourceGroupNextResults + req, err := client.ListAutoApprovedPrivateLinkServicesByResourceGroupPreparer(ctx, location, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PrivateLinkServicesClient", "ListAutoApprovedPrivateLinkServicesByResourceGroup", nil, "Failure preparing request") + return + } + + resp, err := client.ListAutoApprovedPrivateLinkServicesByResourceGroupSender(req) + if err != nil { + result.aaplsr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.PrivateLinkServicesClient", "ListAutoApprovedPrivateLinkServicesByResourceGroup", resp, "Failure sending request") + return + } + + result.aaplsr, err = client.ListAutoApprovedPrivateLinkServicesByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PrivateLinkServicesClient", "ListAutoApprovedPrivateLinkServicesByResourceGroup", resp, "Failure responding to request") + } + + return +} + +// ListAutoApprovedPrivateLinkServicesByResourceGroupPreparer prepares the ListAutoApprovedPrivateLinkServicesByResourceGroup request. +func (client PrivateLinkServicesClient) ListAutoApprovedPrivateLinkServicesByResourceGroupPreparer(ctx context.Context, location string, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "location": autorest.Encode("path", location), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/locations/{location}/autoApprovedPrivateLinkServices", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListAutoApprovedPrivateLinkServicesByResourceGroupSender sends the ListAutoApprovedPrivateLinkServicesByResourceGroup request. The method will close the +// http.Response Body if it receives an error. +func (client PrivateLinkServicesClient) ListAutoApprovedPrivateLinkServicesByResourceGroupSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListAutoApprovedPrivateLinkServicesByResourceGroupResponder handles the response to the ListAutoApprovedPrivateLinkServicesByResourceGroup request. The method always +// closes the http.Response Body. +func (client PrivateLinkServicesClient) ListAutoApprovedPrivateLinkServicesByResourceGroupResponder(resp *http.Response) (result AutoApprovedPrivateLinkServicesResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listAutoApprovedPrivateLinkServicesByResourceGroupNextResults retrieves the next set of results, if any. +func (client PrivateLinkServicesClient) listAutoApprovedPrivateLinkServicesByResourceGroupNextResults(ctx context.Context, lastResults AutoApprovedPrivateLinkServicesResult) (result AutoApprovedPrivateLinkServicesResult, err error) { + req, err := lastResults.autoApprovedPrivateLinkServicesResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.PrivateLinkServicesClient", "listAutoApprovedPrivateLinkServicesByResourceGroupNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListAutoApprovedPrivateLinkServicesByResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.PrivateLinkServicesClient", "listAutoApprovedPrivateLinkServicesByResourceGroupNextResults", resp, "Failure sending next results request") + } + result, err = client.ListAutoApprovedPrivateLinkServicesByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PrivateLinkServicesClient", "listAutoApprovedPrivateLinkServicesByResourceGroupNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListAutoApprovedPrivateLinkServicesByResourceGroupComplete enumerates all values, automatically crossing page boundaries as required. +func (client PrivateLinkServicesClient) ListAutoApprovedPrivateLinkServicesByResourceGroupComplete(ctx context.Context, location string, resourceGroupName string) (result AutoApprovedPrivateLinkServicesResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PrivateLinkServicesClient.ListAutoApprovedPrivateLinkServicesByResourceGroup") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListAutoApprovedPrivateLinkServicesByResourceGroup(ctx, location, resourceGroupName) + return +} + +// ListBySubscription gets all private link service in a subscription. +func (client PrivateLinkServicesClient) ListBySubscription(ctx context.Context) (result PrivateLinkServiceListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PrivateLinkServicesClient.ListBySubscription") + defer func() { + sc := -1 + if result.plslr.Response.Response != nil { + sc = result.plslr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listBySubscriptionNextResults + req, err := client.ListBySubscriptionPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PrivateLinkServicesClient", "ListBySubscription", nil, "Failure preparing request") + return + } + + resp, err := client.ListBySubscriptionSender(req) + if err != nil { + result.plslr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.PrivateLinkServicesClient", "ListBySubscription", resp, "Failure sending request") + return + } + + result.plslr, err = client.ListBySubscriptionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PrivateLinkServicesClient", "ListBySubscription", resp, "Failure responding to request") + } + + return +} + +// ListBySubscriptionPreparer prepares the ListBySubscription request. +func (client PrivateLinkServicesClient) ListBySubscriptionPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/privateLinkServices", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListBySubscriptionSender sends the ListBySubscription request. The method will close the +// http.Response Body if it receives an error. +func (client PrivateLinkServicesClient) ListBySubscriptionSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListBySubscriptionResponder handles the response to the ListBySubscription request. The method always +// closes the http.Response Body. +func (client PrivateLinkServicesClient) ListBySubscriptionResponder(resp *http.Response) (result PrivateLinkServiceListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listBySubscriptionNextResults retrieves the next set of results, if any. +func (client PrivateLinkServicesClient) listBySubscriptionNextResults(ctx context.Context, lastResults PrivateLinkServiceListResult) (result PrivateLinkServiceListResult, err error) { + req, err := lastResults.privateLinkServiceListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.PrivateLinkServicesClient", "listBySubscriptionNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListBySubscriptionSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.PrivateLinkServicesClient", "listBySubscriptionNextResults", resp, "Failure sending next results request") + } + result, err = client.ListBySubscriptionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PrivateLinkServicesClient", "listBySubscriptionNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListBySubscriptionComplete enumerates all values, automatically crossing page boundaries as required. +func (client PrivateLinkServicesClient) ListBySubscriptionComplete(ctx context.Context) (result PrivateLinkServiceListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PrivateLinkServicesClient.ListBySubscription") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListBySubscription(ctx) + return +} + +// UpdatePrivateEndpointConnection approve or reject private end point connection for a private link service in a +// subscription. +// Parameters: +// resourceGroupName - the name of the resource group. +// serviceName - the name of the private link service. +// peConnectionName - the name of the private end point connection. +// parameters - parameters supplied to approve or reject the private end point connection. +func (client PrivateLinkServicesClient) UpdatePrivateEndpointConnection(ctx context.Context, resourceGroupName string, serviceName string, peConnectionName string, parameters PrivateEndpointConnection) (result PrivateEndpointConnection, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PrivateLinkServicesClient.UpdatePrivateEndpointConnection") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdatePrivateEndpointConnectionPreparer(ctx, resourceGroupName, serviceName, peConnectionName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PrivateLinkServicesClient", "UpdatePrivateEndpointConnection", nil, "Failure preparing request") + return + } + + resp, err := client.UpdatePrivateEndpointConnectionSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.PrivateLinkServicesClient", "UpdatePrivateEndpointConnection", resp, "Failure sending request") + return + } + + result, err = client.UpdatePrivateEndpointConnectionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PrivateLinkServicesClient", "UpdatePrivateEndpointConnection", resp, "Failure responding to request") + } + + return +} + +// UpdatePrivateEndpointConnectionPreparer prepares the UpdatePrivateEndpointConnection request. +func (client PrivateLinkServicesClient) UpdatePrivateEndpointConnectionPreparer(ctx context.Context, resourceGroupName string, serviceName string, peConnectionName string, parameters PrivateEndpointConnection) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "peConnectionName": autorest.Encode("path", peConnectionName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serviceName": autorest.Encode("path", serviceName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + parameters.Type = nil + parameters.Etag = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/privateLinkServices/{serviceName}/privateEndpointConnections/{peConnectionName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdatePrivateEndpointConnectionSender sends the UpdatePrivateEndpointConnection request. The method will close the +// http.Response Body if it receives an error. +func (client PrivateLinkServicesClient) UpdatePrivateEndpointConnectionSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// UpdatePrivateEndpointConnectionResponder handles the response to the UpdatePrivateEndpointConnection request. The method always +// closes the http.Response Body. +func (client PrivateLinkServicesClient) UpdatePrivateEndpointConnectionResponder(resp *http.Response) (result PrivateEndpointConnection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/network/mgmt/2019-08-01/network/profiles.go b/services/network/mgmt/2019-08-01/network/profiles.go new file mode 100644 index 000000000000..b679a8aea39e --- /dev/null +++ b/services/network/mgmt/2019-08-01/network/profiles.go @@ -0,0 +1,581 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// ProfilesClient is the network Client +type ProfilesClient struct { + BaseClient +} + +// NewProfilesClient creates an instance of the ProfilesClient client. +func NewProfilesClient(subscriptionID string) ProfilesClient { + return NewProfilesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewProfilesClientWithBaseURI creates an instance of the ProfilesClient client. +func NewProfilesClientWithBaseURI(baseURI string, subscriptionID string) ProfilesClient { + return ProfilesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates a network profile. +// Parameters: +// resourceGroupName - the name of the resource group. +// networkProfileName - the name of the network profile. +// parameters - parameters supplied to the create or update network profile operation. +func (client ProfilesClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, networkProfileName string, parameters Profile) (result Profile, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ProfilesClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, networkProfileName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ProfilesClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ProfilesClient", "CreateOrUpdate", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ProfilesClient", "CreateOrUpdate", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client ProfilesClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, networkProfileName string, parameters Profile) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkProfileName": autorest.Encode("path", networkProfileName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkProfiles/{networkProfileName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client ProfilesClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client ProfilesClient) CreateOrUpdateResponder(resp *http.Response) (result Profile, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the specified network profile. +// Parameters: +// resourceGroupName - the name of the resource group. +// networkProfileName - the name of the NetworkProfile. +func (client ProfilesClient) Delete(ctx context.Context, resourceGroupName string, networkProfileName string) (result ProfilesDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ProfilesClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, networkProfileName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ProfilesClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ProfilesClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client ProfilesClient) DeletePreparer(ctx context.Context, resourceGroupName string, networkProfileName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkProfileName": autorest.Encode("path", networkProfileName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkProfiles/{networkProfileName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client ProfilesClient) DeleteSender(req *http.Request) (future ProfilesDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client ProfilesClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets the specified network profile in a specified resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +// networkProfileName - the name of the public IP prefix. +// expand - expands referenced resources. +func (client ProfilesClient) Get(ctx context.Context, resourceGroupName string, networkProfileName string, expand string) (result Profile, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ProfilesClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, networkProfileName, expand) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ProfilesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ProfilesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ProfilesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client ProfilesClient) GetPreparer(ctx context.Context, resourceGroupName string, networkProfileName string, expand string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkProfileName": autorest.Encode("path", networkProfileName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(expand) > 0 { + queryParameters["$expand"] = autorest.Encode("query", expand) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkProfiles/{networkProfileName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client ProfilesClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client ProfilesClient) GetResponder(resp *http.Response) (result Profile, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets all network profiles in a resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +func (client ProfilesClient) List(ctx context.Context, resourceGroupName string) (result ProfileListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ProfilesClient.List") + defer func() { + sc := -1 + if result.plr.Response.Response != nil { + sc = result.plr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ProfilesClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.plr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ProfilesClient", "List", resp, "Failure sending request") + return + } + + result.plr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ProfilesClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client ProfilesClient) ListPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkProfiles", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client ProfilesClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client ProfilesClient) ListResponder(resp *http.Response) (result ProfileListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client ProfilesClient) listNextResults(ctx context.Context, lastResults ProfileListResult) (result ProfileListResult, err error) { + req, err := lastResults.profileListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.ProfilesClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.ProfilesClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ProfilesClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client ProfilesClient) ListComplete(ctx context.Context, resourceGroupName string) (result ProfileListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ProfilesClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName) + return +} + +// ListAll gets all the network profiles in a subscription. +func (client ProfilesClient) ListAll(ctx context.Context) (result ProfileListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ProfilesClient.ListAll") + defer func() { + sc := -1 + if result.plr.Response.Response != nil { + sc = result.plr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listAllNextResults + req, err := client.ListAllPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ProfilesClient", "ListAll", nil, "Failure preparing request") + return + } + + resp, err := client.ListAllSender(req) + if err != nil { + result.plr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ProfilesClient", "ListAll", resp, "Failure sending request") + return + } + + result.plr, err = client.ListAllResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ProfilesClient", "ListAll", resp, "Failure responding to request") + } + + return +} + +// ListAllPreparer prepares the ListAll request. +func (client ProfilesClient) ListAllPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkProfiles", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListAllSender sends the ListAll request. The method will close the +// http.Response Body if it receives an error. +func (client ProfilesClient) ListAllSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListAllResponder handles the response to the ListAll request. The method always +// closes the http.Response Body. +func (client ProfilesClient) ListAllResponder(resp *http.Response) (result ProfileListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listAllNextResults retrieves the next set of results, if any. +func (client ProfilesClient) listAllNextResults(ctx context.Context, lastResults ProfileListResult) (result ProfileListResult, err error) { + req, err := lastResults.profileListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.ProfilesClient", "listAllNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListAllSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.ProfilesClient", "listAllNextResults", resp, "Failure sending next results request") + } + result, err = client.ListAllResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ProfilesClient", "listAllNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListAllComplete enumerates all values, automatically crossing page boundaries as required. +func (client ProfilesClient) ListAllComplete(ctx context.Context) (result ProfileListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ProfilesClient.ListAll") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListAll(ctx) + return +} + +// UpdateTags updates network profile tags. +// Parameters: +// resourceGroupName - the name of the resource group. +// networkProfileName - the name of the network profile. +// parameters - parameters supplied to update network profile tags. +func (client ProfilesClient) UpdateTags(ctx context.Context, resourceGroupName string, networkProfileName string, parameters TagsObject) (result Profile, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ProfilesClient.UpdateTags") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdateTagsPreparer(ctx, resourceGroupName, networkProfileName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ProfilesClient", "UpdateTags", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateTagsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ProfilesClient", "UpdateTags", resp, "Failure sending request") + return + } + + result, err = client.UpdateTagsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ProfilesClient", "UpdateTags", resp, "Failure responding to request") + } + + return +} + +// UpdateTagsPreparer prepares the UpdateTags request. +func (client ProfilesClient) UpdateTagsPreparer(ctx context.Context, resourceGroupName string, networkProfileName string, parameters TagsObject) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkProfileName": autorest.Encode("path", networkProfileName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkProfiles/{networkProfileName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateTagsSender sends the UpdateTags request. The method will close the +// http.Response Body if it receives an error. +func (client ProfilesClient) UpdateTagsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// UpdateTagsResponder handles the response to the UpdateTags request. The method always +// closes the http.Response Body. +func (client ProfilesClient) UpdateTagsResponder(resp *http.Response) (result Profile, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/network/mgmt/2019-08-01/network/publicipaddresses.go b/services/network/mgmt/2019-08-01/network/publicipaddresses.go new file mode 100644 index 000000000000..129862602577 --- /dev/null +++ b/services/network/mgmt/2019-08-01/network/publicipaddresses.go @@ -0,0 +1,920 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// PublicIPAddressesClient is the network Client +type PublicIPAddressesClient struct { + BaseClient +} + +// NewPublicIPAddressesClient creates an instance of the PublicIPAddressesClient client. +func NewPublicIPAddressesClient(subscriptionID string) PublicIPAddressesClient { + return NewPublicIPAddressesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewPublicIPAddressesClientWithBaseURI creates an instance of the PublicIPAddressesClient client. +func NewPublicIPAddressesClientWithBaseURI(baseURI string, subscriptionID string) PublicIPAddressesClient { + return PublicIPAddressesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates a static or dynamic public IP address. +// Parameters: +// resourceGroupName - the name of the resource group. +// publicIPAddressName - the name of the public IP address. +// parameters - parameters supplied to the create or update public IP address operation. +func (client PublicIPAddressesClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, publicIPAddressName string, parameters PublicIPAddress) (result PublicIPAddressesCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PublicIPAddressesClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.PublicIPAddressPropertiesFormat", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.PublicIPAddressPropertiesFormat.IPConfiguration", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.PublicIPAddressPropertiesFormat.IPConfiguration.IPConfigurationPropertiesFormat", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.PublicIPAddressPropertiesFormat.IPConfiguration.IPConfigurationPropertiesFormat.PublicIPAddress", Name: validation.Null, Rule: false, Chain: nil}}}, + }}, + }}}}}); err != nil { + return result, validation.NewError("network.PublicIPAddressesClient", "CreateOrUpdate", err.Error()) + } + + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, publicIPAddressName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PublicIPAddressesClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PublicIPAddressesClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client PublicIPAddressesClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, publicIPAddressName string, parameters PublicIPAddress) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "publicIpAddressName": autorest.Encode("path", publicIPAddressName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses/{publicIpAddressName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client PublicIPAddressesClient) CreateOrUpdateSender(req *http.Request) (future PublicIPAddressesCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client PublicIPAddressesClient) CreateOrUpdateResponder(resp *http.Response) (result PublicIPAddress, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the specified public IP address. +// Parameters: +// resourceGroupName - the name of the resource group. +// publicIPAddressName - the name of the subnet. +func (client PublicIPAddressesClient) Delete(ctx context.Context, resourceGroupName string, publicIPAddressName string) (result PublicIPAddressesDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PublicIPAddressesClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, publicIPAddressName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PublicIPAddressesClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PublicIPAddressesClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client PublicIPAddressesClient) DeletePreparer(ctx context.Context, resourceGroupName string, publicIPAddressName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "publicIpAddressName": autorest.Encode("path", publicIPAddressName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses/{publicIpAddressName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client PublicIPAddressesClient) DeleteSender(req *http.Request) (future PublicIPAddressesDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client PublicIPAddressesClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets the specified public IP address in a specified resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +// publicIPAddressName - the name of the subnet. +// expand - expands referenced resources. +func (client PublicIPAddressesClient) Get(ctx context.Context, resourceGroupName string, publicIPAddressName string, expand string) (result PublicIPAddress, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PublicIPAddressesClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, publicIPAddressName, expand) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PublicIPAddressesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.PublicIPAddressesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PublicIPAddressesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client PublicIPAddressesClient) GetPreparer(ctx context.Context, resourceGroupName string, publicIPAddressName string, expand string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "publicIpAddressName": autorest.Encode("path", publicIPAddressName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(expand) > 0 { + queryParameters["$expand"] = autorest.Encode("query", expand) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses/{publicIpAddressName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client PublicIPAddressesClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client PublicIPAddressesClient) GetResponder(resp *http.Response) (result PublicIPAddress, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetVirtualMachineScaleSetPublicIPAddress get the specified public IP address in a virtual machine scale set. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualMachineScaleSetName - the name of the virtual machine scale set. +// virtualmachineIndex - the virtual machine index. +// networkInterfaceName - the name of the network interface. +// IPConfigurationName - the name of the IP configuration. +// publicIPAddressName - the name of the public IP Address. +// expand - expands referenced resources. +func (client PublicIPAddressesClient) GetVirtualMachineScaleSetPublicIPAddress(ctx context.Context, resourceGroupName string, virtualMachineScaleSetName string, virtualmachineIndex string, networkInterfaceName string, IPConfigurationName string, publicIPAddressName string, expand string) (result PublicIPAddress, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PublicIPAddressesClient.GetVirtualMachineScaleSetPublicIPAddress") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetVirtualMachineScaleSetPublicIPAddressPreparer(ctx, resourceGroupName, virtualMachineScaleSetName, virtualmachineIndex, networkInterfaceName, IPConfigurationName, publicIPAddressName, expand) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PublicIPAddressesClient", "GetVirtualMachineScaleSetPublicIPAddress", nil, "Failure preparing request") + return + } + + resp, err := client.GetVirtualMachineScaleSetPublicIPAddressSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.PublicIPAddressesClient", "GetVirtualMachineScaleSetPublicIPAddress", resp, "Failure sending request") + return + } + + result, err = client.GetVirtualMachineScaleSetPublicIPAddressResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PublicIPAddressesClient", "GetVirtualMachineScaleSetPublicIPAddress", resp, "Failure responding to request") + } + + return +} + +// GetVirtualMachineScaleSetPublicIPAddressPreparer prepares the GetVirtualMachineScaleSetPublicIPAddress request. +func (client PublicIPAddressesClient) GetVirtualMachineScaleSetPublicIPAddressPreparer(ctx context.Context, resourceGroupName string, virtualMachineScaleSetName string, virtualmachineIndex string, networkInterfaceName string, IPConfigurationName string, publicIPAddressName string, expand string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "ipConfigurationName": autorest.Encode("path", IPConfigurationName), + "networkInterfaceName": autorest.Encode("path", networkInterfaceName), + "publicIpAddressName": autorest.Encode("path", publicIPAddressName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualmachineIndex": autorest.Encode("path", virtualmachineIndex), + "virtualMachineScaleSetName": autorest.Encode("path", virtualMachineScaleSetName), + } + + const APIVersion = "2018-10-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(expand) > 0 { + queryParameters["$expand"] = autorest.Encode("query", expand) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}/ipconfigurations/{ipConfigurationName}/publicipaddresses/{publicIpAddressName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetVirtualMachineScaleSetPublicIPAddressSender sends the GetVirtualMachineScaleSetPublicIPAddress request. The method will close the +// http.Response Body if it receives an error. +func (client PublicIPAddressesClient) GetVirtualMachineScaleSetPublicIPAddressSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetVirtualMachineScaleSetPublicIPAddressResponder handles the response to the GetVirtualMachineScaleSetPublicIPAddress request. The method always +// closes the http.Response Body. +func (client PublicIPAddressesClient) GetVirtualMachineScaleSetPublicIPAddressResponder(resp *http.Response) (result PublicIPAddress, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets all public IP addresses in a resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +func (client PublicIPAddressesClient) List(ctx context.Context, resourceGroupName string) (result PublicIPAddressListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PublicIPAddressesClient.List") + defer func() { + sc := -1 + if result.pialr.Response.Response != nil { + sc = result.pialr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PublicIPAddressesClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.pialr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.PublicIPAddressesClient", "List", resp, "Failure sending request") + return + } + + result.pialr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PublicIPAddressesClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client PublicIPAddressesClient) ListPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client PublicIPAddressesClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client PublicIPAddressesClient) ListResponder(resp *http.Response) (result PublicIPAddressListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client PublicIPAddressesClient) listNextResults(ctx context.Context, lastResults PublicIPAddressListResult) (result PublicIPAddressListResult, err error) { + req, err := lastResults.publicIPAddressListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.PublicIPAddressesClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.PublicIPAddressesClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PublicIPAddressesClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client PublicIPAddressesClient) ListComplete(ctx context.Context, resourceGroupName string) (result PublicIPAddressListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PublicIPAddressesClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName) + return +} + +// ListAll gets all the public IP addresses in a subscription. +func (client PublicIPAddressesClient) ListAll(ctx context.Context) (result PublicIPAddressListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PublicIPAddressesClient.ListAll") + defer func() { + sc := -1 + if result.pialr.Response.Response != nil { + sc = result.pialr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listAllNextResults + req, err := client.ListAllPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PublicIPAddressesClient", "ListAll", nil, "Failure preparing request") + return + } + + resp, err := client.ListAllSender(req) + if err != nil { + result.pialr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.PublicIPAddressesClient", "ListAll", resp, "Failure sending request") + return + } + + result.pialr, err = client.ListAllResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PublicIPAddressesClient", "ListAll", resp, "Failure responding to request") + } + + return +} + +// ListAllPreparer prepares the ListAll request. +func (client PublicIPAddressesClient) ListAllPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/publicIPAddresses", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListAllSender sends the ListAll request. The method will close the +// http.Response Body if it receives an error. +func (client PublicIPAddressesClient) ListAllSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListAllResponder handles the response to the ListAll request. The method always +// closes the http.Response Body. +func (client PublicIPAddressesClient) ListAllResponder(resp *http.Response) (result PublicIPAddressListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listAllNextResults retrieves the next set of results, if any. +func (client PublicIPAddressesClient) listAllNextResults(ctx context.Context, lastResults PublicIPAddressListResult) (result PublicIPAddressListResult, err error) { + req, err := lastResults.publicIPAddressListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.PublicIPAddressesClient", "listAllNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListAllSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.PublicIPAddressesClient", "listAllNextResults", resp, "Failure sending next results request") + } + result, err = client.ListAllResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PublicIPAddressesClient", "listAllNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListAllComplete enumerates all values, automatically crossing page boundaries as required. +func (client PublicIPAddressesClient) ListAllComplete(ctx context.Context) (result PublicIPAddressListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PublicIPAddressesClient.ListAll") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListAll(ctx) + return +} + +// ListVirtualMachineScaleSetPublicIPAddresses gets information about all public IP addresses on a virtual machine +// scale set level. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualMachineScaleSetName - the name of the virtual machine scale set. +func (client PublicIPAddressesClient) ListVirtualMachineScaleSetPublicIPAddresses(ctx context.Context, resourceGroupName string, virtualMachineScaleSetName string) (result PublicIPAddressListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PublicIPAddressesClient.ListVirtualMachineScaleSetPublicIPAddresses") + defer func() { + sc := -1 + if result.pialr.Response.Response != nil { + sc = result.pialr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listVirtualMachineScaleSetPublicIPAddressesNextResults + req, err := client.ListVirtualMachineScaleSetPublicIPAddressesPreparer(ctx, resourceGroupName, virtualMachineScaleSetName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PublicIPAddressesClient", "ListVirtualMachineScaleSetPublicIPAddresses", nil, "Failure preparing request") + return + } + + resp, err := client.ListVirtualMachineScaleSetPublicIPAddressesSender(req) + if err != nil { + result.pialr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.PublicIPAddressesClient", "ListVirtualMachineScaleSetPublicIPAddresses", resp, "Failure sending request") + return + } + + result.pialr, err = client.ListVirtualMachineScaleSetPublicIPAddressesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PublicIPAddressesClient", "ListVirtualMachineScaleSetPublicIPAddresses", resp, "Failure responding to request") + } + + return +} + +// ListVirtualMachineScaleSetPublicIPAddressesPreparer prepares the ListVirtualMachineScaleSetPublicIPAddresses request. +func (client PublicIPAddressesClient) ListVirtualMachineScaleSetPublicIPAddressesPreparer(ctx context.Context, resourceGroupName string, virtualMachineScaleSetName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualMachineScaleSetName": autorest.Encode("path", virtualMachineScaleSetName), + } + + const APIVersion = "2018-10-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/publicipaddresses", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListVirtualMachineScaleSetPublicIPAddressesSender sends the ListVirtualMachineScaleSetPublicIPAddresses request. The method will close the +// http.Response Body if it receives an error. +func (client PublicIPAddressesClient) ListVirtualMachineScaleSetPublicIPAddressesSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListVirtualMachineScaleSetPublicIPAddressesResponder handles the response to the ListVirtualMachineScaleSetPublicIPAddresses request. The method always +// closes the http.Response Body. +func (client PublicIPAddressesClient) ListVirtualMachineScaleSetPublicIPAddressesResponder(resp *http.Response) (result PublicIPAddressListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listVirtualMachineScaleSetPublicIPAddressesNextResults retrieves the next set of results, if any. +func (client PublicIPAddressesClient) listVirtualMachineScaleSetPublicIPAddressesNextResults(ctx context.Context, lastResults PublicIPAddressListResult) (result PublicIPAddressListResult, err error) { + req, err := lastResults.publicIPAddressListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.PublicIPAddressesClient", "listVirtualMachineScaleSetPublicIPAddressesNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListVirtualMachineScaleSetPublicIPAddressesSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.PublicIPAddressesClient", "listVirtualMachineScaleSetPublicIPAddressesNextResults", resp, "Failure sending next results request") + } + result, err = client.ListVirtualMachineScaleSetPublicIPAddressesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PublicIPAddressesClient", "listVirtualMachineScaleSetPublicIPAddressesNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListVirtualMachineScaleSetPublicIPAddressesComplete enumerates all values, automatically crossing page boundaries as required. +func (client PublicIPAddressesClient) ListVirtualMachineScaleSetPublicIPAddressesComplete(ctx context.Context, resourceGroupName string, virtualMachineScaleSetName string) (result PublicIPAddressListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PublicIPAddressesClient.ListVirtualMachineScaleSetPublicIPAddresses") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListVirtualMachineScaleSetPublicIPAddresses(ctx, resourceGroupName, virtualMachineScaleSetName) + return +} + +// ListVirtualMachineScaleSetVMPublicIPAddresses gets information about all public IP addresses in a virtual machine IP +// configuration in a virtual machine scale set. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualMachineScaleSetName - the name of the virtual machine scale set. +// virtualmachineIndex - the virtual machine index. +// networkInterfaceName - the network interface name. +// IPConfigurationName - the IP configuration name. +func (client PublicIPAddressesClient) ListVirtualMachineScaleSetVMPublicIPAddresses(ctx context.Context, resourceGroupName string, virtualMachineScaleSetName string, virtualmachineIndex string, networkInterfaceName string, IPConfigurationName string) (result PublicIPAddressListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PublicIPAddressesClient.ListVirtualMachineScaleSetVMPublicIPAddresses") + defer func() { + sc := -1 + if result.pialr.Response.Response != nil { + sc = result.pialr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listVirtualMachineScaleSetVMPublicIPAddressesNextResults + req, err := client.ListVirtualMachineScaleSetVMPublicIPAddressesPreparer(ctx, resourceGroupName, virtualMachineScaleSetName, virtualmachineIndex, networkInterfaceName, IPConfigurationName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PublicIPAddressesClient", "ListVirtualMachineScaleSetVMPublicIPAddresses", nil, "Failure preparing request") + return + } + + resp, err := client.ListVirtualMachineScaleSetVMPublicIPAddressesSender(req) + if err != nil { + result.pialr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.PublicIPAddressesClient", "ListVirtualMachineScaleSetVMPublicIPAddresses", resp, "Failure sending request") + return + } + + result.pialr, err = client.ListVirtualMachineScaleSetVMPublicIPAddressesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PublicIPAddressesClient", "ListVirtualMachineScaleSetVMPublicIPAddresses", resp, "Failure responding to request") + } + + return +} + +// ListVirtualMachineScaleSetVMPublicIPAddressesPreparer prepares the ListVirtualMachineScaleSetVMPublicIPAddresses request. +func (client PublicIPAddressesClient) ListVirtualMachineScaleSetVMPublicIPAddressesPreparer(ctx context.Context, resourceGroupName string, virtualMachineScaleSetName string, virtualmachineIndex string, networkInterfaceName string, IPConfigurationName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "ipConfigurationName": autorest.Encode("path", IPConfigurationName), + "networkInterfaceName": autorest.Encode("path", networkInterfaceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualmachineIndex": autorest.Encode("path", virtualmachineIndex), + "virtualMachineScaleSetName": autorest.Encode("path", virtualMachineScaleSetName), + } + + const APIVersion = "2018-10-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}/ipconfigurations/{ipConfigurationName}/publicipaddresses", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListVirtualMachineScaleSetVMPublicIPAddressesSender sends the ListVirtualMachineScaleSetVMPublicIPAddresses request. The method will close the +// http.Response Body if it receives an error. +func (client PublicIPAddressesClient) ListVirtualMachineScaleSetVMPublicIPAddressesSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListVirtualMachineScaleSetVMPublicIPAddressesResponder handles the response to the ListVirtualMachineScaleSetVMPublicIPAddresses request. The method always +// closes the http.Response Body. +func (client PublicIPAddressesClient) ListVirtualMachineScaleSetVMPublicIPAddressesResponder(resp *http.Response) (result PublicIPAddressListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listVirtualMachineScaleSetVMPublicIPAddressesNextResults retrieves the next set of results, if any. +func (client PublicIPAddressesClient) listVirtualMachineScaleSetVMPublicIPAddressesNextResults(ctx context.Context, lastResults PublicIPAddressListResult) (result PublicIPAddressListResult, err error) { + req, err := lastResults.publicIPAddressListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.PublicIPAddressesClient", "listVirtualMachineScaleSetVMPublicIPAddressesNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListVirtualMachineScaleSetVMPublicIPAddressesSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.PublicIPAddressesClient", "listVirtualMachineScaleSetVMPublicIPAddressesNextResults", resp, "Failure sending next results request") + } + result, err = client.ListVirtualMachineScaleSetVMPublicIPAddressesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PublicIPAddressesClient", "listVirtualMachineScaleSetVMPublicIPAddressesNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListVirtualMachineScaleSetVMPublicIPAddressesComplete enumerates all values, automatically crossing page boundaries as required. +func (client PublicIPAddressesClient) ListVirtualMachineScaleSetVMPublicIPAddressesComplete(ctx context.Context, resourceGroupName string, virtualMachineScaleSetName string, virtualmachineIndex string, networkInterfaceName string, IPConfigurationName string) (result PublicIPAddressListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PublicIPAddressesClient.ListVirtualMachineScaleSetVMPublicIPAddresses") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListVirtualMachineScaleSetVMPublicIPAddresses(ctx, resourceGroupName, virtualMachineScaleSetName, virtualmachineIndex, networkInterfaceName, IPConfigurationName) + return +} + +// UpdateTags updates public IP address tags. +// Parameters: +// resourceGroupName - the name of the resource group. +// publicIPAddressName - the name of the public IP address. +// parameters - parameters supplied to update public IP address tags. +func (client PublicIPAddressesClient) UpdateTags(ctx context.Context, resourceGroupName string, publicIPAddressName string, parameters TagsObject) (result PublicIPAddressesUpdateTagsFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PublicIPAddressesClient.UpdateTags") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdateTagsPreparer(ctx, resourceGroupName, publicIPAddressName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PublicIPAddressesClient", "UpdateTags", nil, "Failure preparing request") + return + } + + result, err = client.UpdateTagsSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PublicIPAddressesClient", "UpdateTags", result.Response(), "Failure sending request") + return + } + + return +} + +// UpdateTagsPreparer prepares the UpdateTags request. +func (client PublicIPAddressesClient) UpdateTagsPreparer(ctx context.Context, resourceGroupName string, publicIPAddressName string, parameters TagsObject) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "publicIpAddressName": autorest.Encode("path", publicIPAddressName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses/{publicIpAddressName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateTagsSender sends the UpdateTags request. The method will close the +// http.Response Body if it receives an error. +func (client PublicIPAddressesClient) UpdateTagsSender(req *http.Request) (future PublicIPAddressesUpdateTagsFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// UpdateTagsResponder handles the response to the UpdateTags request. The method always +// closes the http.Response Body. +func (client PublicIPAddressesClient) UpdateTagsResponder(resp *http.Response) (result PublicIPAddress, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/network/mgmt/2019-08-01/network/publicipprefixes.go b/services/network/mgmt/2019-08-01/network/publicipprefixes.go new file mode 100644 index 000000000000..21480e9e53f8 --- /dev/null +++ b/services/network/mgmt/2019-08-01/network/publicipprefixes.go @@ -0,0 +1,581 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// PublicIPPrefixesClient is the network Client +type PublicIPPrefixesClient struct { + BaseClient +} + +// NewPublicIPPrefixesClient creates an instance of the PublicIPPrefixesClient client. +func NewPublicIPPrefixesClient(subscriptionID string) PublicIPPrefixesClient { + return NewPublicIPPrefixesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewPublicIPPrefixesClientWithBaseURI creates an instance of the PublicIPPrefixesClient client. +func NewPublicIPPrefixesClientWithBaseURI(baseURI string, subscriptionID string) PublicIPPrefixesClient { + return PublicIPPrefixesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates a static or dynamic public IP prefix. +// Parameters: +// resourceGroupName - the name of the resource group. +// publicIPPrefixName - the name of the public IP prefix. +// parameters - parameters supplied to the create or update public IP prefix operation. +func (client PublicIPPrefixesClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, publicIPPrefixName string, parameters PublicIPPrefix) (result PublicIPPrefixesCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PublicIPPrefixesClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, publicIPPrefixName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PublicIPPrefixesClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PublicIPPrefixesClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client PublicIPPrefixesClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, publicIPPrefixName string, parameters PublicIPPrefix) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "publicIpPrefixName": autorest.Encode("path", publicIPPrefixName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIpPrefixName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client PublicIPPrefixesClient) CreateOrUpdateSender(req *http.Request) (future PublicIPPrefixesCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client PublicIPPrefixesClient) CreateOrUpdateResponder(resp *http.Response) (result PublicIPPrefix, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the specified public IP prefix. +// Parameters: +// resourceGroupName - the name of the resource group. +// publicIPPrefixName - the name of the PublicIpPrefix. +func (client PublicIPPrefixesClient) Delete(ctx context.Context, resourceGroupName string, publicIPPrefixName string) (result PublicIPPrefixesDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PublicIPPrefixesClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, publicIPPrefixName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PublicIPPrefixesClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PublicIPPrefixesClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client PublicIPPrefixesClient) DeletePreparer(ctx context.Context, resourceGroupName string, publicIPPrefixName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "publicIpPrefixName": autorest.Encode("path", publicIPPrefixName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIpPrefixName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client PublicIPPrefixesClient) DeleteSender(req *http.Request) (future PublicIPPrefixesDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client PublicIPPrefixesClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets the specified public IP prefix in a specified resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +// publicIPPrefixName - the name of the public IP prefix. +// expand - expands referenced resources. +func (client PublicIPPrefixesClient) Get(ctx context.Context, resourceGroupName string, publicIPPrefixName string, expand string) (result PublicIPPrefix, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PublicIPPrefixesClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, publicIPPrefixName, expand) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PublicIPPrefixesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.PublicIPPrefixesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PublicIPPrefixesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client PublicIPPrefixesClient) GetPreparer(ctx context.Context, resourceGroupName string, publicIPPrefixName string, expand string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "publicIpPrefixName": autorest.Encode("path", publicIPPrefixName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(expand) > 0 { + queryParameters["$expand"] = autorest.Encode("query", expand) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIpPrefixName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client PublicIPPrefixesClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client PublicIPPrefixesClient) GetResponder(resp *http.Response) (result PublicIPPrefix, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets all public IP prefixes in a resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +func (client PublicIPPrefixesClient) List(ctx context.Context, resourceGroupName string) (result PublicIPPrefixListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PublicIPPrefixesClient.List") + defer func() { + sc := -1 + if result.piplr.Response.Response != nil { + sc = result.piplr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PublicIPPrefixesClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.piplr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.PublicIPPrefixesClient", "List", resp, "Failure sending request") + return + } + + result.piplr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PublicIPPrefixesClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client PublicIPPrefixesClient) ListPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client PublicIPPrefixesClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client PublicIPPrefixesClient) ListResponder(resp *http.Response) (result PublicIPPrefixListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client PublicIPPrefixesClient) listNextResults(ctx context.Context, lastResults PublicIPPrefixListResult) (result PublicIPPrefixListResult, err error) { + req, err := lastResults.publicIPPrefixListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.PublicIPPrefixesClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.PublicIPPrefixesClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PublicIPPrefixesClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client PublicIPPrefixesClient) ListComplete(ctx context.Context, resourceGroupName string) (result PublicIPPrefixListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PublicIPPrefixesClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName) + return +} + +// ListAll gets all the public IP prefixes in a subscription. +func (client PublicIPPrefixesClient) ListAll(ctx context.Context) (result PublicIPPrefixListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PublicIPPrefixesClient.ListAll") + defer func() { + sc := -1 + if result.piplr.Response.Response != nil { + sc = result.piplr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listAllNextResults + req, err := client.ListAllPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PublicIPPrefixesClient", "ListAll", nil, "Failure preparing request") + return + } + + resp, err := client.ListAllSender(req) + if err != nil { + result.piplr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.PublicIPPrefixesClient", "ListAll", resp, "Failure sending request") + return + } + + result.piplr, err = client.ListAllResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PublicIPPrefixesClient", "ListAll", resp, "Failure responding to request") + } + + return +} + +// ListAllPreparer prepares the ListAll request. +func (client PublicIPPrefixesClient) ListAllPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/publicIPPrefixes", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListAllSender sends the ListAll request. The method will close the +// http.Response Body if it receives an error. +func (client PublicIPPrefixesClient) ListAllSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListAllResponder handles the response to the ListAll request. The method always +// closes the http.Response Body. +func (client PublicIPPrefixesClient) ListAllResponder(resp *http.Response) (result PublicIPPrefixListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listAllNextResults retrieves the next set of results, if any. +func (client PublicIPPrefixesClient) listAllNextResults(ctx context.Context, lastResults PublicIPPrefixListResult) (result PublicIPPrefixListResult, err error) { + req, err := lastResults.publicIPPrefixListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.PublicIPPrefixesClient", "listAllNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListAllSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.PublicIPPrefixesClient", "listAllNextResults", resp, "Failure sending next results request") + } + result, err = client.ListAllResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PublicIPPrefixesClient", "listAllNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListAllComplete enumerates all values, automatically crossing page boundaries as required. +func (client PublicIPPrefixesClient) ListAllComplete(ctx context.Context) (result PublicIPPrefixListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PublicIPPrefixesClient.ListAll") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListAll(ctx) + return +} + +// UpdateTags updates public IP prefix tags. +// Parameters: +// resourceGroupName - the name of the resource group. +// publicIPPrefixName - the name of the public IP prefix. +// parameters - parameters supplied to update public IP prefix tags. +func (client PublicIPPrefixesClient) UpdateTags(ctx context.Context, resourceGroupName string, publicIPPrefixName string, parameters TagsObject) (result PublicIPPrefixesUpdateTagsFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PublicIPPrefixesClient.UpdateTags") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdateTagsPreparer(ctx, resourceGroupName, publicIPPrefixName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PublicIPPrefixesClient", "UpdateTags", nil, "Failure preparing request") + return + } + + result, err = client.UpdateTagsSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.PublicIPPrefixesClient", "UpdateTags", result.Response(), "Failure sending request") + return + } + + return +} + +// UpdateTagsPreparer prepares the UpdateTags request. +func (client PublicIPPrefixesClient) UpdateTagsPreparer(ctx context.Context, resourceGroupName string, publicIPPrefixName string, parameters TagsObject) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "publicIpPrefixName": autorest.Encode("path", publicIPPrefixName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIpPrefixName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateTagsSender sends the UpdateTags request. The method will close the +// http.Response Body if it receives an error. +func (client PublicIPPrefixesClient) UpdateTagsSender(req *http.Request) (future PublicIPPrefixesUpdateTagsFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// UpdateTagsResponder handles the response to the UpdateTags request. The method always +// closes the http.Response Body. +func (client PublicIPPrefixesClient) UpdateTagsResponder(resp *http.Response) (result PublicIPPrefix, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/network/mgmt/2019-08-01/network/resourcenavigationlinks.go b/services/network/mgmt/2019-08-01/network/resourcenavigationlinks.go new file mode 100644 index 000000000000..3960a958af94 --- /dev/null +++ b/services/network/mgmt/2019-08-01/network/resourcenavigationlinks.go @@ -0,0 +1,120 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// ResourceNavigationLinksClient is the network Client +type ResourceNavigationLinksClient struct { + BaseClient +} + +// NewResourceNavigationLinksClient creates an instance of the ResourceNavigationLinksClient client. +func NewResourceNavigationLinksClient(subscriptionID string) ResourceNavigationLinksClient { + return NewResourceNavigationLinksClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewResourceNavigationLinksClientWithBaseURI creates an instance of the ResourceNavigationLinksClient client. +func NewResourceNavigationLinksClientWithBaseURI(baseURI string, subscriptionID string) ResourceNavigationLinksClient { + return ResourceNavigationLinksClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// List gets a list of resource navigation links for a subnet. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualNetworkName - the name of the virtual network. +// subnetName - the name of the subnet. +func (client ResourceNavigationLinksClient) List(ctx context.Context, resourceGroupName string, virtualNetworkName string, subnetName string) (result ResourceNavigationLinksListResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ResourceNavigationLinksClient.List") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListPreparer(ctx, resourceGroupName, virtualNetworkName, subnetName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ResourceNavigationLinksClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ResourceNavigationLinksClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ResourceNavigationLinksClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client ResourceNavigationLinksClient) ListPreparer(ctx context.Context, resourceGroupName string, virtualNetworkName string, subnetName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subnetName": autorest.Encode("path", subnetName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkName": autorest.Encode("path", virtualNetworkName), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}/ResourceNavigationLinks", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client ResourceNavigationLinksClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client ResourceNavigationLinksClient) ListResponder(resp *http.Response) (result ResourceNavigationLinksListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/network/mgmt/2019-08-01/network/routefilterrules.go b/services/network/mgmt/2019-08-01/network/routefilterrules.go new file mode 100644 index 000000000000..7c2e478aae83 --- /dev/null +++ b/services/network/mgmt/2019-08-01/network/routefilterrules.go @@ -0,0 +1,490 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// RouteFilterRulesClient is the network Client +type RouteFilterRulesClient struct { + BaseClient +} + +// NewRouteFilterRulesClient creates an instance of the RouteFilterRulesClient client. +func NewRouteFilterRulesClient(subscriptionID string) RouteFilterRulesClient { + return NewRouteFilterRulesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewRouteFilterRulesClientWithBaseURI creates an instance of the RouteFilterRulesClient client. +func NewRouteFilterRulesClientWithBaseURI(baseURI string, subscriptionID string) RouteFilterRulesClient { + return RouteFilterRulesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates a route in the specified route filter. +// Parameters: +// resourceGroupName - the name of the resource group. +// routeFilterName - the name of the route filter. +// ruleName - the name of the route filter rule. +// routeFilterRuleParameters - parameters supplied to the create or update route filter rule operation. +func (client RouteFilterRulesClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, routeFilterName string, ruleName string, routeFilterRuleParameters RouteFilterRule) (result RouteFilterRulesCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RouteFilterRulesClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: routeFilterRuleParameters, + Constraints: []validation.Constraint{{Target: "routeFilterRuleParameters.RouteFilterRulePropertiesFormat", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "routeFilterRuleParameters.RouteFilterRulePropertiesFormat.RouteFilterRuleType", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "routeFilterRuleParameters.RouteFilterRulePropertiesFormat.Communities", Name: validation.Null, Rule: true, Chain: nil}, + }}}}}); err != nil { + return result, validation.NewError("network.RouteFilterRulesClient", "CreateOrUpdate", err.Error()) + } + + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, routeFilterName, ruleName, routeFilterRuleParameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteFilterRulesClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteFilterRulesClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client RouteFilterRulesClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, routeFilterName string, ruleName string, routeFilterRuleParameters RouteFilterRule) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "routeFilterName": autorest.Encode("path", routeFilterName), + "ruleName": autorest.Encode("path", ruleName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + routeFilterRuleParameters.Etag = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}/routeFilterRules/{ruleName}", pathParameters), + autorest.WithJSON(routeFilterRuleParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client RouteFilterRulesClient) CreateOrUpdateSender(req *http.Request) (future RouteFilterRulesCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client RouteFilterRulesClient) CreateOrUpdateResponder(resp *http.Response) (result RouteFilterRule, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the specified rule from a route filter. +// Parameters: +// resourceGroupName - the name of the resource group. +// routeFilterName - the name of the route filter. +// ruleName - the name of the rule. +func (client RouteFilterRulesClient) Delete(ctx context.Context, resourceGroupName string, routeFilterName string, ruleName string) (result RouteFilterRulesDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RouteFilterRulesClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, routeFilterName, ruleName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteFilterRulesClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteFilterRulesClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client RouteFilterRulesClient) DeletePreparer(ctx context.Context, resourceGroupName string, routeFilterName string, ruleName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "routeFilterName": autorest.Encode("path", routeFilterName), + "ruleName": autorest.Encode("path", ruleName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}/routeFilterRules/{ruleName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client RouteFilterRulesClient) DeleteSender(req *http.Request) (future RouteFilterRulesDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client RouteFilterRulesClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets the specified rule from a route filter. +// Parameters: +// resourceGroupName - the name of the resource group. +// routeFilterName - the name of the route filter. +// ruleName - the name of the rule. +func (client RouteFilterRulesClient) Get(ctx context.Context, resourceGroupName string, routeFilterName string, ruleName string) (result RouteFilterRule, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RouteFilterRulesClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, routeFilterName, ruleName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteFilterRulesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.RouteFilterRulesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteFilterRulesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client RouteFilterRulesClient) GetPreparer(ctx context.Context, resourceGroupName string, routeFilterName string, ruleName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "routeFilterName": autorest.Encode("path", routeFilterName), + "ruleName": autorest.Encode("path", ruleName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}/routeFilterRules/{ruleName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client RouteFilterRulesClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client RouteFilterRulesClient) GetResponder(resp *http.Response) (result RouteFilterRule, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByRouteFilter gets all RouteFilterRules in a route filter. +// Parameters: +// resourceGroupName - the name of the resource group. +// routeFilterName - the name of the route filter. +func (client RouteFilterRulesClient) ListByRouteFilter(ctx context.Context, resourceGroupName string, routeFilterName string) (result RouteFilterRuleListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RouteFilterRulesClient.ListByRouteFilter") + defer func() { + sc := -1 + if result.rfrlr.Response.Response != nil { + sc = result.rfrlr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listByRouteFilterNextResults + req, err := client.ListByRouteFilterPreparer(ctx, resourceGroupName, routeFilterName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteFilterRulesClient", "ListByRouteFilter", nil, "Failure preparing request") + return + } + + resp, err := client.ListByRouteFilterSender(req) + if err != nil { + result.rfrlr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.RouteFilterRulesClient", "ListByRouteFilter", resp, "Failure sending request") + return + } + + result.rfrlr, err = client.ListByRouteFilterResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteFilterRulesClient", "ListByRouteFilter", resp, "Failure responding to request") + } + + return +} + +// ListByRouteFilterPreparer prepares the ListByRouteFilter request. +func (client RouteFilterRulesClient) ListByRouteFilterPreparer(ctx context.Context, resourceGroupName string, routeFilterName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "routeFilterName": autorest.Encode("path", routeFilterName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}/routeFilterRules", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByRouteFilterSender sends the ListByRouteFilter request. The method will close the +// http.Response Body if it receives an error. +func (client RouteFilterRulesClient) ListByRouteFilterSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByRouteFilterResponder handles the response to the ListByRouteFilter request. The method always +// closes the http.Response Body. +func (client RouteFilterRulesClient) ListByRouteFilterResponder(resp *http.Response) (result RouteFilterRuleListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listByRouteFilterNextResults retrieves the next set of results, if any. +func (client RouteFilterRulesClient) listByRouteFilterNextResults(ctx context.Context, lastResults RouteFilterRuleListResult) (result RouteFilterRuleListResult, err error) { + req, err := lastResults.routeFilterRuleListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.RouteFilterRulesClient", "listByRouteFilterNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListByRouteFilterSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.RouteFilterRulesClient", "listByRouteFilterNextResults", resp, "Failure sending next results request") + } + result, err = client.ListByRouteFilterResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteFilterRulesClient", "listByRouteFilterNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListByRouteFilterComplete enumerates all values, automatically crossing page boundaries as required. +func (client RouteFilterRulesClient) ListByRouteFilterComplete(ctx context.Context, resourceGroupName string, routeFilterName string) (result RouteFilterRuleListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RouteFilterRulesClient.ListByRouteFilter") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListByRouteFilter(ctx, resourceGroupName, routeFilterName) + return +} + +// Update updates a route in the specified route filter. +// Parameters: +// resourceGroupName - the name of the resource group. +// routeFilterName - the name of the route filter. +// ruleName - the name of the route filter rule. +// routeFilterRuleParameters - parameters supplied to the update route filter rule operation. +func (client RouteFilterRulesClient) Update(ctx context.Context, resourceGroupName string, routeFilterName string, ruleName string, routeFilterRuleParameters PatchRouteFilterRule) (result RouteFilterRulesUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RouteFilterRulesClient.Update") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdatePreparer(ctx, resourceGroupName, routeFilterName, ruleName, routeFilterRuleParameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteFilterRulesClient", "Update", nil, "Failure preparing request") + return + } + + result, err = client.UpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteFilterRulesClient", "Update", result.Response(), "Failure sending request") + return + } + + return +} + +// UpdatePreparer prepares the Update request. +func (client RouteFilterRulesClient) UpdatePreparer(ctx context.Context, resourceGroupName string, routeFilterName string, ruleName string, routeFilterRuleParameters PatchRouteFilterRule) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "routeFilterName": autorest.Encode("path", routeFilterName), + "ruleName": autorest.Encode("path", ruleName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + routeFilterRuleParameters.Name = nil + routeFilterRuleParameters.Etag = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}/routeFilterRules/{ruleName}", pathParameters), + autorest.WithJSON(routeFilterRuleParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateSender sends the Update request. The method will close the +// http.Response Body if it receives an error. +func (client RouteFilterRulesClient) UpdateSender(req *http.Request) (future RouteFilterRulesUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// UpdateResponder handles the response to the Update request. The method always +// closes the http.Response Body. +func (client RouteFilterRulesClient) UpdateResponder(resp *http.Response) (result RouteFilterRule, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/network/mgmt/2019-08-01/network/routefilters.go b/services/network/mgmt/2019-08-01/network/routefilters.go new file mode 100644 index 000000000000..de386aed3499 --- /dev/null +++ b/services/network/mgmt/2019-08-01/network/routefilters.go @@ -0,0 +1,585 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// RouteFiltersClient is the network Client +type RouteFiltersClient struct { + BaseClient +} + +// NewRouteFiltersClient creates an instance of the RouteFiltersClient client. +func NewRouteFiltersClient(subscriptionID string) RouteFiltersClient { + return NewRouteFiltersClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewRouteFiltersClientWithBaseURI creates an instance of the RouteFiltersClient client. +func NewRouteFiltersClientWithBaseURI(baseURI string, subscriptionID string) RouteFiltersClient { + return RouteFiltersClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates a route filter in a specified resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +// routeFilterName - the name of the route filter. +// routeFilterParameters - parameters supplied to the create or update route filter operation. +func (client RouteFiltersClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, routeFilterName string, routeFilterParameters RouteFilter) (result RouteFiltersCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RouteFiltersClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, routeFilterName, routeFilterParameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteFiltersClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteFiltersClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client RouteFiltersClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, routeFilterName string, routeFilterParameters RouteFilter) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "routeFilterName": autorest.Encode("path", routeFilterName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + routeFilterParameters.Etag = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}", pathParameters), + autorest.WithJSON(routeFilterParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client RouteFiltersClient) CreateOrUpdateSender(req *http.Request) (future RouteFiltersCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client RouteFiltersClient) CreateOrUpdateResponder(resp *http.Response) (result RouteFilter, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the specified route filter. +// Parameters: +// resourceGroupName - the name of the resource group. +// routeFilterName - the name of the route filter. +func (client RouteFiltersClient) Delete(ctx context.Context, resourceGroupName string, routeFilterName string) (result RouteFiltersDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RouteFiltersClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, routeFilterName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteFiltersClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteFiltersClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client RouteFiltersClient) DeletePreparer(ctx context.Context, resourceGroupName string, routeFilterName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "routeFilterName": autorest.Encode("path", routeFilterName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client RouteFiltersClient) DeleteSender(req *http.Request) (future RouteFiltersDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client RouteFiltersClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets the specified route filter. +// Parameters: +// resourceGroupName - the name of the resource group. +// routeFilterName - the name of the route filter. +// expand - expands referenced express route bgp peering resources. +func (client RouteFiltersClient) Get(ctx context.Context, resourceGroupName string, routeFilterName string, expand string) (result RouteFilter, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RouteFiltersClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, routeFilterName, expand) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteFiltersClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.RouteFiltersClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteFiltersClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client RouteFiltersClient) GetPreparer(ctx context.Context, resourceGroupName string, routeFilterName string, expand string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "routeFilterName": autorest.Encode("path", routeFilterName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(expand) > 0 { + queryParameters["$expand"] = autorest.Encode("query", expand) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client RouteFiltersClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client RouteFiltersClient) GetResponder(resp *http.Response) (result RouteFilter, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets all route filters in a subscription. +func (client RouteFiltersClient) List(ctx context.Context) (result RouteFilterListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RouteFiltersClient.List") + defer func() { + sc := -1 + if result.rflr.Response.Response != nil { + sc = result.rflr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteFiltersClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.rflr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.RouteFiltersClient", "List", resp, "Failure sending request") + return + } + + result.rflr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteFiltersClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client RouteFiltersClient) ListPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/routeFilters", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client RouteFiltersClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client RouteFiltersClient) ListResponder(resp *http.Response) (result RouteFilterListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client RouteFiltersClient) listNextResults(ctx context.Context, lastResults RouteFilterListResult) (result RouteFilterListResult, err error) { + req, err := lastResults.routeFilterListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.RouteFiltersClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.RouteFiltersClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteFiltersClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client RouteFiltersClient) ListComplete(ctx context.Context) (result RouteFilterListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RouteFiltersClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx) + return +} + +// ListByResourceGroup gets all route filters in a resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +func (client RouteFiltersClient) ListByResourceGroup(ctx context.Context, resourceGroupName string) (result RouteFilterListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RouteFiltersClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.rflr.Response.Response != nil { + sc = result.rflr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listByResourceGroupNextResults + req, err := client.ListByResourceGroupPreparer(ctx, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteFiltersClient", "ListByResourceGroup", nil, "Failure preparing request") + return + } + + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.rflr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.RouteFiltersClient", "ListByResourceGroup", resp, "Failure sending request") + return + } + + result.rflr, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteFiltersClient", "ListByResourceGroup", resp, "Failure responding to request") + } + + return +} + +// ListByResourceGroupPreparer prepares the ListByResourceGroup request. +func (client RouteFiltersClient) ListByResourceGroupPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByResourceGroupSender sends the ListByResourceGroup request. The method will close the +// http.Response Body if it receives an error. +func (client RouteFiltersClient) ListByResourceGroupSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByResourceGroupResponder handles the response to the ListByResourceGroup request. The method always +// closes the http.Response Body. +func (client RouteFiltersClient) ListByResourceGroupResponder(resp *http.Response) (result RouteFilterListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listByResourceGroupNextResults retrieves the next set of results, if any. +func (client RouteFiltersClient) listByResourceGroupNextResults(ctx context.Context, lastResults RouteFilterListResult) (result RouteFilterListResult, err error) { + req, err := lastResults.routeFilterListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.RouteFiltersClient", "listByResourceGroupNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.RouteFiltersClient", "listByResourceGroupNextResults", resp, "Failure sending next results request") + } + result, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteFiltersClient", "listByResourceGroupNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListByResourceGroupComplete enumerates all values, automatically crossing page boundaries as required. +func (client RouteFiltersClient) ListByResourceGroupComplete(ctx context.Context, resourceGroupName string) (result RouteFilterListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RouteFiltersClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListByResourceGroup(ctx, resourceGroupName) + return +} + +// Update updates a route filter in a specified resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +// routeFilterName - the name of the route filter. +// routeFilterParameters - parameters supplied to the update route filter operation. +func (client RouteFiltersClient) Update(ctx context.Context, resourceGroupName string, routeFilterName string, routeFilterParameters PatchRouteFilter) (result RouteFiltersUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RouteFiltersClient.Update") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdatePreparer(ctx, resourceGroupName, routeFilterName, routeFilterParameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteFiltersClient", "Update", nil, "Failure preparing request") + return + } + + result, err = client.UpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteFiltersClient", "Update", result.Response(), "Failure sending request") + return + } + + return +} + +// UpdatePreparer prepares the Update request. +func (client RouteFiltersClient) UpdatePreparer(ctx context.Context, resourceGroupName string, routeFilterName string, routeFilterParameters PatchRouteFilter) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "routeFilterName": autorest.Encode("path", routeFilterName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + routeFilterParameters.Name = nil + routeFilterParameters.Etag = nil + routeFilterParameters.Type = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}", pathParameters), + autorest.WithJSON(routeFilterParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateSender sends the Update request. The method will close the +// http.Response Body if it receives an error. +func (client RouteFiltersClient) UpdateSender(req *http.Request) (future RouteFiltersUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// UpdateResponder handles the response to the Update request. The method always +// closes the http.Response Body. +func (client RouteFiltersClient) UpdateResponder(resp *http.Response) (result RouteFilter, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/network/mgmt/2019-08-01/network/routes.go b/services/network/mgmt/2019-08-01/network/routes.go new file mode 100644 index 000000000000..280dc511e995 --- /dev/null +++ b/services/network/mgmt/2019-08-01/network/routes.go @@ -0,0 +1,395 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// RoutesClient is the network Client +type RoutesClient struct { + BaseClient +} + +// NewRoutesClient creates an instance of the RoutesClient client. +func NewRoutesClient(subscriptionID string) RoutesClient { + return NewRoutesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewRoutesClientWithBaseURI creates an instance of the RoutesClient client. +func NewRoutesClientWithBaseURI(baseURI string, subscriptionID string) RoutesClient { + return RoutesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates a route in the specified route table. +// Parameters: +// resourceGroupName - the name of the resource group. +// routeTableName - the name of the route table. +// routeName - the name of the route. +// routeParameters - parameters supplied to the create or update route operation. +func (client RoutesClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, routeTableName string, routeName string, routeParameters Route) (result RoutesCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RoutesClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, routeTableName, routeName, routeParameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RoutesClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RoutesClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client RoutesClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, routeTableName string, routeName string, routeParameters Route) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "routeName": autorest.Encode("path", routeName), + "routeTableName": autorest.Encode("path", routeTableName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}/routes/{routeName}", pathParameters), + autorest.WithJSON(routeParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client RoutesClient) CreateOrUpdateSender(req *http.Request) (future RoutesCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client RoutesClient) CreateOrUpdateResponder(resp *http.Response) (result Route, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the specified route from a route table. +// Parameters: +// resourceGroupName - the name of the resource group. +// routeTableName - the name of the route table. +// routeName - the name of the route. +func (client RoutesClient) Delete(ctx context.Context, resourceGroupName string, routeTableName string, routeName string) (result RoutesDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RoutesClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, routeTableName, routeName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RoutesClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RoutesClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client RoutesClient) DeletePreparer(ctx context.Context, resourceGroupName string, routeTableName string, routeName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "routeName": autorest.Encode("path", routeName), + "routeTableName": autorest.Encode("path", routeTableName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}/routes/{routeName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client RoutesClient) DeleteSender(req *http.Request) (future RoutesDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client RoutesClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets the specified route from a route table. +// Parameters: +// resourceGroupName - the name of the resource group. +// routeTableName - the name of the route table. +// routeName - the name of the route. +func (client RoutesClient) Get(ctx context.Context, resourceGroupName string, routeTableName string, routeName string) (result Route, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RoutesClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, routeTableName, routeName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RoutesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.RoutesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RoutesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client RoutesClient) GetPreparer(ctx context.Context, resourceGroupName string, routeTableName string, routeName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "routeName": autorest.Encode("path", routeName), + "routeTableName": autorest.Encode("path", routeTableName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}/routes/{routeName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client RoutesClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client RoutesClient) GetResponder(resp *http.Response) (result Route, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets all routes in a route table. +// Parameters: +// resourceGroupName - the name of the resource group. +// routeTableName - the name of the route table. +func (client RoutesClient) List(ctx context.Context, resourceGroupName string, routeTableName string) (result RouteListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RoutesClient.List") + defer func() { + sc := -1 + if result.rlr.Response.Response != nil { + sc = result.rlr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName, routeTableName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RoutesClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.rlr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.RoutesClient", "List", resp, "Failure sending request") + return + } + + result.rlr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RoutesClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client RoutesClient) ListPreparer(ctx context.Context, resourceGroupName string, routeTableName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "routeTableName": autorest.Encode("path", routeTableName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}/routes", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client RoutesClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client RoutesClient) ListResponder(resp *http.Response) (result RouteListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client RoutesClient) listNextResults(ctx context.Context, lastResults RouteListResult) (result RouteListResult, err error) { + req, err := lastResults.routeListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.RoutesClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.RoutesClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RoutesClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client RoutesClient) ListComplete(ctx context.Context, resourceGroupName string, routeTableName string) (result RouteListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RoutesClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName, routeTableName) + return +} diff --git a/services/network/mgmt/2019-08-01/network/routetables.go b/services/network/mgmt/2019-08-01/network/routetables.go new file mode 100644 index 000000000000..a03803adb64b --- /dev/null +++ b/services/network/mgmt/2019-08-01/network/routetables.go @@ -0,0 +1,581 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// RouteTablesClient is the network Client +type RouteTablesClient struct { + BaseClient +} + +// NewRouteTablesClient creates an instance of the RouteTablesClient client. +func NewRouteTablesClient(subscriptionID string) RouteTablesClient { + return NewRouteTablesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewRouteTablesClientWithBaseURI creates an instance of the RouteTablesClient client. +func NewRouteTablesClientWithBaseURI(baseURI string, subscriptionID string) RouteTablesClient { + return RouteTablesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate create or updates a route table in a specified resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +// routeTableName - the name of the route table. +// parameters - parameters supplied to the create or update route table operation. +func (client RouteTablesClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, routeTableName string, parameters RouteTable) (result RouteTablesCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RouteTablesClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, routeTableName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteTablesClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteTablesClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client RouteTablesClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, routeTableName string, parameters RouteTable) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "routeTableName": autorest.Encode("path", routeTableName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client RouteTablesClient) CreateOrUpdateSender(req *http.Request) (future RouteTablesCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client RouteTablesClient) CreateOrUpdateResponder(resp *http.Response) (result RouteTable, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the specified route table. +// Parameters: +// resourceGroupName - the name of the resource group. +// routeTableName - the name of the route table. +func (client RouteTablesClient) Delete(ctx context.Context, resourceGroupName string, routeTableName string) (result RouteTablesDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RouteTablesClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, routeTableName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteTablesClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteTablesClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client RouteTablesClient) DeletePreparer(ctx context.Context, resourceGroupName string, routeTableName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "routeTableName": autorest.Encode("path", routeTableName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client RouteTablesClient) DeleteSender(req *http.Request) (future RouteTablesDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client RouteTablesClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets the specified route table. +// Parameters: +// resourceGroupName - the name of the resource group. +// routeTableName - the name of the route table. +// expand - expands referenced resources. +func (client RouteTablesClient) Get(ctx context.Context, resourceGroupName string, routeTableName string, expand string) (result RouteTable, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RouteTablesClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, routeTableName, expand) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteTablesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.RouteTablesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteTablesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client RouteTablesClient) GetPreparer(ctx context.Context, resourceGroupName string, routeTableName string, expand string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "routeTableName": autorest.Encode("path", routeTableName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(expand) > 0 { + queryParameters["$expand"] = autorest.Encode("query", expand) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client RouteTablesClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client RouteTablesClient) GetResponder(resp *http.Response) (result RouteTable, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets all route tables in a resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +func (client RouteTablesClient) List(ctx context.Context, resourceGroupName string) (result RouteTableListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RouteTablesClient.List") + defer func() { + sc := -1 + if result.rtlr.Response.Response != nil { + sc = result.rtlr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteTablesClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.rtlr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.RouteTablesClient", "List", resp, "Failure sending request") + return + } + + result.rtlr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteTablesClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client RouteTablesClient) ListPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client RouteTablesClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client RouteTablesClient) ListResponder(resp *http.Response) (result RouteTableListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client RouteTablesClient) listNextResults(ctx context.Context, lastResults RouteTableListResult) (result RouteTableListResult, err error) { + req, err := lastResults.routeTableListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.RouteTablesClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.RouteTablesClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteTablesClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client RouteTablesClient) ListComplete(ctx context.Context, resourceGroupName string) (result RouteTableListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RouteTablesClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName) + return +} + +// ListAll gets all route tables in a subscription. +func (client RouteTablesClient) ListAll(ctx context.Context) (result RouteTableListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RouteTablesClient.ListAll") + defer func() { + sc := -1 + if result.rtlr.Response.Response != nil { + sc = result.rtlr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listAllNextResults + req, err := client.ListAllPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteTablesClient", "ListAll", nil, "Failure preparing request") + return + } + + resp, err := client.ListAllSender(req) + if err != nil { + result.rtlr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.RouteTablesClient", "ListAll", resp, "Failure sending request") + return + } + + result.rtlr, err = client.ListAllResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteTablesClient", "ListAll", resp, "Failure responding to request") + } + + return +} + +// ListAllPreparer prepares the ListAll request. +func (client RouteTablesClient) ListAllPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/routeTables", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListAllSender sends the ListAll request. The method will close the +// http.Response Body if it receives an error. +func (client RouteTablesClient) ListAllSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListAllResponder handles the response to the ListAll request. The method always +// closes the http.Response Body. +func (client RouteTablesClient) ListAllResponder(resp *http.Response) (result RouteTableListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listAllNextResults retrieves the next set of results, if any. +func (client RouteTablesClient) listAllNextResults(ctx context.Context, lastResults RouteTableListResult) (result RouteTableListResult, err error) { + req, err := lastResults.routeTableListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.RouteTablesClient", "listAllNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListAllSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.RouteTablesClient", "listAllNextResults", resp, "Failure sending next results request") + } + result, err = client.ListAllResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteTablesClient", "listAllNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListAllComplete enumerates all values, automatically crossing page boundaries as required. +func (client RouteTablesClient) ListAllComplete(ctx context.Context) (result RouteTableListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RouteTablesClient.ListAll") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListAll(ctx) + return +} + +// UpdateTags updates a route table tags. +// Parameters: +// resourceGroupName - the name of the resource group. +// routeTableName - the name of the route table. +// parameters - parameters supplied to update route table tags. +func (client RouteTablesClient) UpdateTags(ctx context.Context, resourceGroupName string, routeTableName string, parameters TagsObject) (result RouteTablesUpdateTagsFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RouteTablesClient.UpdateTags") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdateTagsPreparer(ctx, resourceGroupName, routeTableName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteTablesClient", "UpdateTags", nil, "Failure preparing request") + return + } + + result, err = client.UpdateTagsSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.RouteTablesClient", "UpdateTags", result.Response(), "Failure sending request") + return + } + + return +} + +// UpdateTagsPreparer prepares the UpdateTags request. +func (client RouteTablesClient) UpdateTagsPreparer(ctx context.Context, resourceGroupName string, routeTableName string, parameters TagsObject) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "routeTableName": autorest.Encode("path", routeTableName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateTagsSender sends the UpdateTags request. The method will close the +// http.Response Body if it receives an error. +func (client RouteTablesClient) UpdateTagsSender(req *http.Request) (future RouteTablesUpdateTagsFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// UpdateTagsResponder handles the response to the UpdateTags request. The method always +// closes the http.Response Body. +func (client RouteTablesClient) UpdateTagsResponder(resp *http.Response) (result RouteTable, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/network/mgmt/2019-08-01/network/securitygroups.go b/services/network/mgmt/2019-08-01/network/securitygroups.go new file mode 100644 index 000000000000..f781e821f36f --- /dev/null +++ b/services/network/mgmt/2019-08-01/network/securitygroups.go @@ -0,0 +1,581 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// SecurityGroupsClient is the network Client +type SecurityGroupsClient struct { + BaseClient +} + +// NewSecurityGroupsClient creates an instance of the SecurityGroupsClient client. +func NewSecurityGroupsClient(subscriptionID string) SecurityGroupsClient { + return NewSecurityGroupsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewSecurityGroupsClientWithBaseURI creates an instance of the SecurityGroupsClient client. +func NewSecurityGroupsClientWithBaseURI(baseURI string, subscriptionID string) SecurityGroupsClient { + return SecurityGroupsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates a network security group in the specified resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +// networkSecurityGroupName - the name of the network security group. +// parameters - parameters supplied to the create or update network security group operation. +func (client SecurityGroupsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, networkSecurityGroupName string, parameters SecurityGroup) (result SecurityGroupsCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SecurityGroupsClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, networkSecurityGroupName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.SecurityGroupsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.SecurityGroupsClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client SecurityGroupsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, networkSecurityGroupName string, parameters SecurityGroup) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkSecurityGroupName": autorest.Encode("path", networkSecurityGroupName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client SecurityGroupsClient) CreateOrUpdateSender(req *http.Request) (future SecurityGroupsCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client SecurityGroupsClient) CreateOrUpdateResponder(resp *http.Response) (result SecurityGroup, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the specified network security group. +// Parameters: +// resourceGroupName - the name of the resource group. +// networkSecurityGroupName - the name of the network security group. +func (client SecurityGroupsClient) Delete(ctx context.Context, resourceGroupName string, networkSecurityGroupName string) (result SecurityGroupsDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SecurityGroupsClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, networkSecurityGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.SecurityGroupsClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.SecurityGroupsClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client SecurityGroupsClient) DeletePreparer(ctx context.Context, resourceGroupName string, networkSecurityGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkSecurityGroupName": autorest.Encode("path", networkSecurityGroupName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client SecurityGroupsClient) DeleteSender(req *http.Request) (future SecurityGroupsDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client SecurityGroupsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets the specified network security group. +// Parameters: +// resourceGroupName - the name of the resource group. +// networkSecurityGroupName - the name of the network security group. +// expand - expands referenced resources. +func (client SecurityGroupsClient) Get(ctx context.Context, resourceGroupName string, networkSecurityGroupName string, expand string) (result SecurityGroup, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SecurityGroupsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, networkSecurityGroupName, expand) + if err != nil { + err = autorest.NewErrorWithError(err, "network.SecurityGroupsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.SecurityGroupsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.SecurityGroupsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client SecurityGroupsClient) GetPreparer(ctx context.Context, resourceGroupName string, networkSecurityGroupName string, expand string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkSecurityGroupName": autorest.Encode("path", networkSecurityGroupName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(expand) > 0 { + queryParameters["$expand"] = autorest.Encode("query", expand) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client SecurityGroupsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client SecurityGroupsClient) GetResponder(resp *http.Response) (result SecurityGroup, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets all network security groups in a resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +func (client SecurityGroupsClient) List(ctx context.Context, resourceGroupName string) (result SecurityGroupListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SecurityGroupsClient.List") + defer func() { + sc := -1 + if result.sglr.Response.Response != nil { + sc = result.sglr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.SecurityGroupsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.sglr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.SecurityGroupsClient", "List", resp, "Failure sending request") + return + } + + result.sglr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.SecurityGroupsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client SecurityGroupsClient) ListPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client SecurityGroupsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client SecurityGroupsClient) ListResponder(resp *http.Response) (result SecurityGroupListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client SecurityGroupsClient) listNextResults(ctx context.Context, lastResults SecurityGroupListResult) (result SecurityGroupListResult, err error) { + req, err := lastResults.securityGroupListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.SecurityGroupsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.SecurityGroupsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.SecurityGroupsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client SecurityGroupsClient) ListComplete(ctx context.Context, resourceGroupName string) (result SecurityGroupListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SecurityGroupsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName) + return +} + +// ListAll gets all network security groups in a subscription. +func (client SecurityGroupsClient) ListAll(ctx context.Context) (result SecurityGroupListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SecurityGroupsClient.ListAll") + defer func() { + sc := -1 + if result.sglr.Response.Response != nil { + sc = result.sglr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listAllNextResults + req, err := client.ListAllPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "network.SecurityGroupsClient", "ListAll", nil, "Failure preparing request") + return + } + + resp, err := client.ListAllSender(req) + if err != nil { + result.sglr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.SecurityGroupsClient", "ListAll", resp, "Failure sending request") + return + } + + result.sglr, err = client.ListAllResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.SecurityGroupsClient", "ListAll", resp, "Failure responding to request") + } + + return +} + +// ListAllPreparer prepares the ListAll request. +func (client SecurityGroupsClient) ListAllPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkSecurityGroups", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListAllSender sends the ListAll request. The method will close the +// http.Response Body if it receives an error. +func (client SecurityGroupsClient) ListAllSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListAllResponder handles the response to the ListAll request. The method always +// closes the http.Response Body. +func (client SecurityGroupsClient) ListAllResponder(resp *http.Response) (result SecurityGroupListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listAllNextResults retrieves the next set of results, if any. +func (client SecurityGroupsClient) listAllNextResults(ctx context.Context, lastResults SecurityGroupListResult) (result SecurityGroupListResult, err error) { + req, err := lastResults.securityGroupListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.SecurityGroupsClient", "listAllNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListAllSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.SecurityGroupsClient", "listAllNextResults", resp, "Failure sending next results request") + } + result, err = client.ListAllResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.SecurityGroupsClient", "listAllNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListAllComplete enumerates all values, automatically crossing page boundaries as required. +func (client SecurityGroupsClient) ListAllComplete(ctx context.Context) (result SecurityGroupListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SecurityGroupsClient.ListAll") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListAll(ctx) + return +} + +// UpdateTags updates a network security group tags. +// Parameters: +// resourceGroupName - the name of the resource group. +// networkSecurityGroupName - the name of the network security group. +// parameters - parameters supplied to update network security group tags. +func (client SecurityGroupsClient) UpdateTags(ctx context.Context, resourceGroupName string, networkSecurityGroupName string, parameters TagsObject) (result SecurityGroupsUpdateTagsFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SecurityGroupsClient.UpdateTags") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdateTagsPreparer(ctx, resourceGroupName, networkSecurityGroupName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.SecurityGroupsClient", "UpdateTags", nil, "Failure preparing request") + return + } + + result, err = client.UpdateTagsSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.SecurityGroupsClient", "UpdateTags", result.Response(), "Failure sending request") + return + } + + return +} + +// UpdateTagsPreparer prepares the UpdateTags request. +func (client SecurityGroupsClient) UpdateTagsPreparer(ctx context.Context, resourceGroupName string, networkSecurityGroupName string, parameters TagsObject) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkSecurityGroupName": autorest.Encode("path", networkSecurityGroupName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateTagsSender sends the UpdateTags request. The method will close the +// http.Response Body if it receives an error. +func (client SecurityGroupsClient) UpdateTagsSender(req *http.Request) (future SecurityGroupsUpdateTagsFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// UpdateTagsResponder handles the response to the UpdateTags request. The method always +// closes the http.Response Body. +func (client SecurityGroupsClient) UpdateTagsResponder(resp *http.Response) (result SecurityGroup, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/network/mgmt/2019-08-01/network/securityrules.go b/services/network/mgmt/2019-08-01/network/securityrules.go new file mode 100644 index 000000000000..1accaf145285 --- /dev/null +++ b/services/network/mgmt/2019-08-01/network/securityrules.go @@ -0,0 +1,395 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// SecurityRulesClient is the network Client +type SecurityRulesClient struct { + BaseClient +} + +// NewSecurityRulesClient creates an instance of the SecurityRulesClient client. +func NewSecurityRulesClient(subscriptionID string) SecurityRulesClient { + return NewSecurityRulesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewSecurityRulesClientWithBaseURI creates an instance of the SecurityRulesClient client. +func NewSecurityRulesClientWithBaseURI(baseURI string, subscriptionID string) SecurityRulesClient { + return SecurityRulesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates a security rule in the specified network security group. +// Parameters: +// resourceGroupName - the name of the resource group. +// networkSecurityGroupName - the name of the network security group. +// securityRuleName - the name of the security rule. +// securityRuleParameters - parameters supplied to the create or update network security rule operation. +func (client SecurityRulesClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, networkSecurityGroupName string, securityRuleName string, securityRuleParameters SecurityRule) (result SecurityRulesCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SecurityRulesClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, networkSecurityGroupName, securityRuleName, securityRuleParameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.SecurityRulesClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.SecurityRulesClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client SecurityRulesClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, networkSecurityGroupName string, securityRuleName string, securityRuleParameters SecurityRule) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkSecurityGroupName": autorest.Encode("path", networkSecurityGroupName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "securityRuleName": autorest.Encode("path", securityRuleName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/securityRules/{securityRuleName}", pathParameters), + autorest.WithJSON(securityRuleParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client SecurityRulesClient) CreateOrUpdateSender(req *http.Request) (future SecurityRulesCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client SecurityRulesClient) CreateOrUpdateResponder(resp *http.Response) (result SecurityRule, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the specified network security rule. +// Parameters: +// resourceGroupName - the name of the resource group. +// networkSecurityGroupName - the name of the network security group. +// securityRuleName - the name of the security rule. +func (client SecurityRulesClient) Delete(ctx context.Context, resourceGroupName string, networkSecurityGroupName string, securityRuleName string) (result SecurityRulesDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SecurityRulesClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, networkSecurityGroupName, securityRuleName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.SecurityRulesClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.SecurityRulesClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client SecurityRulesClient) DeletePreparer(ctx context.Context, resourceGroupName string, networkSecurityGroupName string, securityRuleName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkSecurityGroupName": autorest.Encode("path", networkSecurityGroupName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "securityRuleName": autorest.Encode("path", securityRuleName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/securityRules/{securityRuleName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client SecurityRulesClient) DeleteSender(req *http.Request) (future SecurityRulesDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client SecurityRulesClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get get the specified network security rule. +// Parameters: +// resourceGroupName - the name of the resource group. +// networkSecurityGroupName - the name of the network security group. +// securityRuleName - the name of the security rule. +func (client SecurityRulesClient) Get(ctx context.Context, resourceGroupName string, networkSecurityGroupName string, securityRuleName string) (result SecurityRule, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SecurityRulesClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, networkSecurityGroupName, securityRuleName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.SecurityRulesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.SecurityRulesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.SecurityRulesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client SecurityRulesClient) GetPreparer(ctx context.Context, resourceGroupName string, networkSecurityGroupName string, securityRuleName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkSecurityGroupName": autorest.Encode("path", networkSecurityGroupName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "securityRuleName": autorest.Encode("path", securityRuleName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/securityRules/{securityRuleName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client SecurityRulesClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client SecurityRulesClient) GetResponder(resp *http.Response) (result SecurityRule, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets all security rules in a network security group. +// Parameters: +// resourceGroupName - the name of the resource group. +// networkSecurityGroupName - the name of the network security group. +func (client SecurityRulesClient) List(ctx context.Context, resourceGroupName string, networkSecurityGroupName string) (result SecurityRuleListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SecurityRulesClient.List") + defer func() { + sc := -1 + if result.srlr.Response.Response != nil { + sc = result.srlr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName, networkSecurityGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.SecurityRulesClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.srlr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.SecurityRulesClient", "List", resp, "Failure sending request") + return + } + + result.srlr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.SecurityRulesClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client SecurityRulesClient) ListPreparer(ctx context.Context, resourceGroupName string, networkSecurityGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkSecurityGroupName": autorest.Encode("path", networkSecurityGroupName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/securityRules", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client SecurityRulesClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client SecurityRulesClient) ListResponder(resp *http.Response) (result SecurityRuleListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client SecurityRulesClient) listNextResults(ctx context.Context, lastResults SecurityRuleListResult) (result SecurityRuleListResult, err error) { + req, err := lastResults.securityRuleListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.SecurityRulesClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.SecurityRulesClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.SecurityRulesClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client SecurityRulesClient) ListComplete(ctx context.Context, resourceGroupName string, networkSecurityGroupName string) (result SecurityRuleListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SecurityRulesClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName, networkSecurityGroupName) + return +} diff --git a/services/network/mgmt/2019-08-01/network/serviceassociationlinks.go b/services/network/mgmt/2019-08-01/network/serviceassociationlinks.go new file mode 100644 index 000000000000..39b9eb3f838c --- /dev/null +++ b/services/network/mgmt/2019-08-01/network/serviceassociationlinks.go @@ -0,0 +1,120 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// ServiceAssociationLinksClient is the network Client +type ServiceAssociationLinksClient struct { + BaseClient +} + +// NewServiceAssociationLinksClient creates an instance of the ServiceAssociationLinksClient client. +func NewServiceAssociationLinksClient(subscriptionID string) ServiceAssociationLinksClient { + return NewServiceAssociationLinksClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewServiceAssociationLinksClientWithBaseURI creates an instance of the ServiceAssociationLinksClient client. +func NewServiceAssociationLinksClientWithBaseURI(baseURI string, subscriptionID string) ServiceAssociationLinksClient { + return ServiceAssociationLinksClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// List gets a list of service association links for a subnet. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualNetworkName - the name of the virtual network. +// subnetName - the name of the subnet. +func (client ServiceAssociationLinksClient) List(ctx context.Context, resourceGroupName string, virtualNetworkName string, subnetName string) (result ServiceAssociationLinksListResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServiceAssociationLinksClient.List") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListPreparer(ctx, resourceGroupName, virtualNetworkName, subnetName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ServiceAssociationLinksClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ServiceAssociationLinksClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ServiceAssociationLinksClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client ServiceAssociationLinksClient) ListPreparer(ctx context.Context, resourceGroupName string, virtualNetworkName string, subnetName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subnetName": autorest.Encode("path", subnetName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkName": autorest.Encode("path", virtualNetworkName), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}/ServiceAssociationLinks", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client ServiceAssociationLinksClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client ServiceAssociationLinksClient) ListResponder(resp *http.Response) (result ServiceAssociationLinksListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/network/mgmt/2019-08-01/network/serviceendpointpolicies.go b/services/network/mgmt/2019-08-01/network/serviceendpointpolicies.go new file mode 100644 index 000000000000..d04522d1faa7 --- /dev/null +++ b/services/network/mgmt/2019-08-01/network/serviceendpointpolicies.go @@ -0,0 +1,581 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// ServiceEndpointPoliciesClient is the network Client +type ServiceEndpointPoliciesClient struct { + BaseClient +} + +// NewServiceEndpointPoliciesClient creates an instance of the ServiceEndpointPoliciesClient client. +func NewServiceEndpointPoliciesClient(subscriptionID string) ServiceEndpointPoliciesClient { + return NewServiceEndpointPoliciesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewServiceEndpointPoliciesClientWithBaseURI creates an instance of the ServiceEndpointPoliciesClient client. +func NewServiceEndpointPoliciesClientWithBaseURI(baseURI string, subscriptionID string) ServiceEndpointPoliciesClient { + return ServiceEndpointPoliciesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates a service Endpoint Policies. +// Parameters: +// resourceGroupName - the name of the resource group. +// serviceEndpointPolicyName - the name of the service endpoint policy. +// parameters - parameters supplied to the create or update service endpoint policy operation. +func (client ServiceEndpointPoliciesClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, serviceEndpointPolicyName string, parameters ServiceEndpointPolicy) (result ServiceEndpointPoliciesCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServiceEndpointPoliciesClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, serviceEndpointPolicyName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ServiceEndpointPoliciesClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ServiceEndpointPoliciesClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client ServiceEndpointPoliciesClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, serviceEndpointPolicyName string, parameters ServiceEndpointPolicy) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serviceEndpointPolicyName": autorest.Encode("path", serviceEndpointPolicyName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/serviceEndpointPolicies/{serviceEndpointPolicyName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client ServiceEndpointPoliciesClient) CreateOrUpdateSender(req *http.Request) (future ServiceEndpointPoliciesCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client ServiceEndpointPoliciesClient) CreateOrUpdateResponder(resp *http.Response) (result ServiceEndpointPolicy, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the specified service endpoint policy. +// Parameters: +// resourceGroupName - the name of the resource group. +// serviceEndpointPolicyName - the name of the service endpoint policy. +func (client ServiceEndpointPoliciesClient) Delete(ctx context.Context, resourceGroupName string, serviceEndpointPolicyName string) (result ServiceEndpointPoliciesDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServiceEndpointPoliciesClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, serviceEndpointPolicyName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ServiceEndpointPoliciesClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ServiceEndpointPoliciesClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client ServiceEndpointPoliciesClient) DeletePreparer(ctx context.Context, resourceGroupName string, serviceEndpointPolicyName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serviceEndpointPolicyName": autorest.Encode("path", serviceEndpointPolicyName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/serviceEndpointPolicies/{serviceEndpointPolicyName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client ServiceEndpointPoliciesClient) DeleteSender(req *http.Request) (future ServiceEndpointPoliciesDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client ServiceEndpointPoliciesClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets the specified service Endpoint Policies in a specified resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +// serviceEndpointPolicyName - the name of the service endpoint policy. +// expand - expands referenced resources. +func (client ServiceEndpointPoliciesClient) Get(ctx context.Context, resourceGroupName string, serviceEndpointPolicyName string, expand string) (result ServiceEndpointPolicy, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServiceEndpointPoliciesClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, serviceEndpointPolicyName, expand) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ServiceEndpointPoliciesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ServiceEndpointPoliciesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ServiceEndpointPoliciesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client ServiceEndpointPoliciesClient) GetPreparer(ctx context.Context, resourceGroupName string, serviceEndpointPolicyName string, expand string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serviceEndpointPolicyName": autorest.Encode("path", serviceEndpointPolicyName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(expand) > 0 { + queryParameters["$expand"] = autorest.Encode("query", expand) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/serviceEndpointPolicies/{serviceEndpointPolicyName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client ServiceEndpointPoliciesClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client ServiceEndpointPoliciesClient) GetResponder(resp *http.Response) (result ServiceEndpointPolicy, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets all the service endpoint policies in a subscription. +func (client ServiceEndpointPoliciesClient) List(ctx context.Context) (result ServiceEndpointPolicyListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServiceEndpointPoliciesClient.List") + defer func() { + sc := -1 + if result.seplr.Response.Response != nil { + sc = result.seplr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ServiceEndpointPoliciesClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.seplr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ServiceEndpointPoliciesClient", "List", resp, "Failure sending request") + return + } + + result.seplr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ServiceEndpointPoliciesClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client ServiceEndpointPoliciesClient) ListPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/ServiceEndpointPolicies", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client ServiceEndpointPoliciesClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client ServiceEndpointPoliciesClient) ListResponder(resp *http.Response) (result ServiceEndpointPolicyListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client ServiceEndpointPoliciesClient) listNextResults(ctx context.Context, lastResults ServiceEndpointPolicyListResult) (result ServiceEndpointPolicyListResult, err error) { + req, err := lastResults.serviceEndpointPolicyListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.ServiceEndpointPoliciesClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.ServiceEndpointPoliciesClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ServiceEndpointPoliciesClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client ServiceEndpointPoliciesClient) ListComplete(ctx context.Context) (result ServiceEndpointPolicyListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServiceEndpointPoliciesClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx) + return +} + +// ListByResourceGroup gets all service endpoint Policies in a resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +func (client ServiceEndpointPoliciesClient) ListByResourceGroup(ctx context.Context, resourceGroupName string) (result ServiceEndpointPolicyListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServiceEndpointPoliciesClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.seplr.Response.Response != nil { + sc = result.seplr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listByResourceGroupNextResults + req, err := client.ListByResourceGroupPreparer(ctx, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ServiceEndpointPoliciesClient", "ListByResourceGroup", nil, "Failure preparing request") + return + } + + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.seplr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ServiceEndpointPoliciesClient", "ListByResourceGroup", resp, "Failure sending request") + return + } + + result.seplr, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ServiceEndpointPoliciesClient", "ListByResourceGroup", resp, "Failure responding to request") + } + + return +} + +// ListByResourceGroupPreparer prepares the ListByResourceGroup request. +func (client ServiceEndpointPoliciesClient) ListByResourceGroupPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/serviceEndpointPolicies", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByResourceGroupSender sends the ListByResourceGroup request. The method will close the +// http.Response Body if it receives an error. +func (client ServiceEndpointPoliciesClient) ListByResourceGroupSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByResourceGroupResponder handles the response to the ListByResourceGroup request. The method always +// closes the http.Response Body. +func (client ServiceEndpointPoliciesClient) ListByResourceGroupResponder(resp *http.Response) (result ServiceEndpointPolicyListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listByResourceGroupNextResults retrieves the next set of results, if any. +func (client ServiceEndpointPoliciesClient) listByResourceGroupNextResults(ctx context.Context, lastResults ServiceEndpointPolicyListResult) (result ServiceEndpointPolicyListResult, err error) { + req, err := lastResults.serviceEndpointPolicyListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.ServiceEndpointPoliciesClient", "listByResourceGroupNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.ServiceEndpointPoliciesClient", "listByResourceGroupNextResults", resp, "Failure sending next results request") + } + result, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ServiceEndpointPoliciesClient", "listByResourceGroupNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListByResourceGroupComplete enumerates all values, automatically crossing page boundaries as required. +func (client ServiceEndpointPoliciesClient) ListByResourceGroupComplete(ctx context.Context, resourceGroupName string) (result ServiceEndpointPolicyListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServiceEndpointPoliciesClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListByResourceGroup(ctx, resourceGroupName) + return +} + +// Update updates service Endpoint Policies. +// Parameters: +// resourceGroupName - the name of the resource group. +// serviceEndpointPolicyName - the name of the service endpoint policy. +// parameters - parameters supplied to update service endpoint policy tags. +func (client ServiceEndpointPoliciesClient) Update(ctx context.Context, resourceGroupName string, serviceEndpointPolicyName string, parameters TagsObject) (result ServiceEndpointPoliciesUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServiceEndpointPoliciesClient.Update") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdatePreparer(ctx, resourceGroupName, serviceEndpointPolicyName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ServiceEndpointPoliciesClient", "Update", nil, "Failure preparing request") + return + } + + result, err = client.UpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ServiceEndpointPoliciesClient", "Update", result.Response(), "Failure sending request") + return + } + + return +} + +// UpdatePreparer prepares the Update request. +func (client ServiceEndpointPoliciesClient) UpdatePreparer(ctx context.Context, resourceGroupName string, serviceEndpointPolicyName string, parameters TagsObject) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serviceEndpointPolicyName": autorest.Encode("path", serviceEndpointPolicyName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/serviceEndpointPolicies/{serviceEndpointPolicyName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateSender sends the Update request. The method will close the +// http.Response Body if it receives an error. +func (client ServiceEndpointPoliciesClient) UpdateSender(req *http.Request) (future ServiceEndpointPoliciesUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// UpdateResponder handles the response to the Update request. The method always +// closes the http.Response Body. +func (client ServiceEndpointPoliciesClient) UpdateResponder(resp *http.Response) (result ServiceEndpointPolicy, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/network/mgmt/2019-08-01/network/serviceendpointpolicydefinitions.go b/services/network/mgmt/2019-08-01/network/serviceendpointpolicydefinitions.go new file mode 100644 index 000000000000..5e457ce64b82 --- /dev/null +++ b/services/network/mgmt/2019-08-01/network/serviceendpointpolicydefinitions.go @@ -0,0 +1,397 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// ServiceEndpointPolicyDefinitionsClient is the network Client +type ServiceEndpointPolicyDefinitionsClient struct { + BaseClient +} + +// NewServiceEndpointPolicyDefinitionsClient creates an instance of the ServiceEndpointPolicyDefinitionsClient client. +func NewServiceEndpointPolicyDefinitionsClient(subscriptionID string) ServiceEndpointPolicyDefinitionsClient { + return NewServiceEndpointPolicyDefinitionsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewServiceEndpointPolicyDefinitionsClientWithBaseURI creates an instance of the +// ServiceEndpointPolicyDefinitionsClient client. +func NewServiceEndpointPolicyDefinitionsClientWithBaseURI(baseURI string, subscriptionID string) ServiceEndpointPolicyDefinitionsClient { + return ServiceEndpointPolicyDefinitionsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates a service endpoint policy definition in the specified service endpoint policy. +// Parameters: +// resourceGroupName - the name of the resource group. +// serviceEndpointPolicyName - the name of the service endpoint policy. +// serviceEndpointPolicyDefinitionName - the name of the service endpoint policy definition name. +// serviceEndpointPolicyDefinitions - parameters supplied to the create or update service endpoint policy +// operation. +func (client ServiceEndpointPolicyDefinitionsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, serviceEndpointPolicyName string, serviceEndpointPolicyDefinitionName string, serviceEndpointPolicyDefinitions ServiceEndpointPolicyDefinition) (result ServiceEndpointPolicyDefinitionsCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServiceEndpointPolicyDefinitionsClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, serviceEndpointPolicyName, serviceEndpointPolicyDefinitionName, serviceEndpointPolicyDefinitions) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ServiceEndpointPolicyDefinitionsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ServiceEndpointPolicyDefinitionsClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client ServiceEndpointPolicyDefinitionsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, serviceEndpointPolicyName string, serviceEndpointPolicyDefinitionName string, serviceEndpointPolicyDefinitions ServiceEndpointPolicyDefinition) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serviceEndpointPolicyDefinitionName": autorest.Encode("path", serviceEndpointPolicyDefinitionName), + "serviceEndpointPolicyName": autorest.Encode("path", serviceEndpointPolicyName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/serviceEndpointPolicies/{serviceEndpointPolicyName}/serviceEndpointPolicyDefinitions/{serviceEndpointPolicyDefinitionName}", pathParameters), + autorest.WithJSON(serviceEndpointPolicyDefinitions), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client ServiceEndpointPolicyDefinitionsClient) CreateOrUpdateSender(req *http.Request) (future ServiceEndpointPolicyDefinitionsCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client ServiceEndpointPolicyDefinitionsClient) CreateOrUpdateResponder(resp *http.Response) (result ServiceEndpointPolicyDefinition, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the specified ServiceEndpoint policy definitions. +// Parameters: +// resourceGroupName - the name of the resource group. +// serviceEndpointPolicyName - the name of the Service Endpoint Policy. +// serviceEndpointPolicyDefinitionName - the name of the service endpoint policy definition. +func (client ServiceEndpointPolicyDefinitionsClient) Delete(ctx context.Context, resourceGroupName string, serviceEndpointPolicyName string, serviceEndpointPolicyDefinitionName string) (result ServiceEndpointPolicyDefinitionsDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServiceEndpointPolicyDefinitionsClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, serviceEndpointPolicyName, serviceEndpointPolicyDefinitionName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ServiceEndpointPolicyDefinitionsClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ServiceEndpointPolicyDefinitionsClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client ServiceEndpointPolicyDefinitionsClient) DeletePreparer(ctx context.Context, resourceGroupName string, serviceEndpointPolicyName string, serviceEndpointPolicyDefinitionName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serviceEndpointPolicyDefinitionName": autorest.Encode("path", serviceEndpointPolicyDefinitionName), + "serviceEndpointPolicyName": autorest.Encode("path", serviceEndpointPolicyName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/serviceEndpointPolicies/{serviceEndpointPolicyName}/serviceEndpointPolicyDefinitions/{serviceEndpointPolicyDefinitionName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client ServiceEndpointPolicyDefinitionsClient) DeleteSender(req *http.Request) (future ServiceEndpointPolicyDefinitionsDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client ServiceEndpointPolicyDefinitionsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get get the specified service endpoint policy definitions from service endpoint policy. +// Parameters: +// resourceGroupName - the name of the resource group. +// serviceEndpointPolicyName - the name of the service endpoint policy name. +// serviceEndpointPolicyDefinitionName - the name of the service endpoint policy definition name. +func (client ServiceEndpointPolicyDefinitionsClient) Get(ctx context.Context, resourceGroupName string, serviceEndpointPolicyName string, serviceEndpointPolicyDefinitionName string) (result ServiceEndpointPolicyDefinition, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServiceEndpointPolicyDefinitionsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, serviceEndpointPolicyName, serviceEndpointPolicyDefinitionName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ServiceEndpointPolicyDefinitionsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ServiceEndpointPolicyDefinitionsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ServiceEndpointPolicyDefinitionsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client ServiceEndpointPolicyDefinitionsClient) GetPreparer(ctx context.Context, resourceGroupName string, serviceEndpointPolicyName string, serviceEndpointPolicyDefinitionName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serviceEndpointPolicyDefinitionName": autorest.Encode("path", serviceEndpointPolicyDefinitionName), + "serviceEndpointPolicyName": autorest.Encode("path", serviceEndpointPolicyName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/serviceEndpointPolicies/{serviceEndpointPolicyName}/serviceEndpointPolicyDefinitions/{serviceEndpointPolicyDefinitionName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client ServiceEndpointPolicyDefinitionsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client ServiceEndpointPolicyDefinitionsClient) GetResponder(resp *http.Response) (result ServiceEndpointPolicyDefinition, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByResourceGroup gets all service endpoint policy definitions in a service end point policy. +// Parameters: +// resourceGroupName - the name of the resource group. +// serviceEndpointPolicyName - the name of the service endpoint policy name. +func (client ServiceEndpointPolicyDefinitionsClient) ListByResourceGroup(ctx context.Context, resourceGroupName string, serviceEndpointPolicyName string) (result ServiceEndpointPolicyDefinitionListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServiceEndpointPolicyDefinitionsClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.sepdlr.Response.Response != nil { + sc = result.sepdlr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listByResourceGroupNextResults + req, err := client.ListByResourceGroupPreparer(ctx, resourceGroupName, serviceEndpointPolicyName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ServiceEndpointPolicyDefinitionsClient", "ListByResourceGroup", nil, "Failure preparing request") + return + } + + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.sepdlr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ServiceEndpointPolicyDefinitionsClient", "ListByResourceGroup", resp, "Failure sending request") + return + } + + result.sepdlr, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ServiceEndpointPolicyDefinitionsClient", "ListByResourceGroup", resp, "Failure responding to request") + } + + return +} + +// ListByResourceGroupPreparer prepares the ListByResourceGroup request. +func (client ServiceEndpointPolicyDefinitionsClient) ListByResourceGroupPreparer(ctx context.Context, resourceGroupName string, serviceEndpointPolicyName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serviceEndpointPolicyName": autorest.Encode("path", serviceEndpointPolicyName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/serviceEndpointPolicies/{serviceEndpointPolicyName}/serviceEndpointPolicyDefinitions", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByResourceGroupSender sends the ListByResourceGroup request. The method will close the +// http.Response Body if it receives an error. +func (client ServiceEndpointPolicyDefinitionsClient) ListByResourceGroupSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByResourceGroupResponder handles the response to the ListByResourceGroup request. The method always +// closes the http.Response Body. +func (client ServiceEndpointPolicyDefinitionsClient) ListByResourceGroupResponder(resp *http.Response) (result ServiceEndpointPolicyDefinitionListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listByResourceGroupNextResults retrieves the next set of results, if any. +func (client ServiceEndpointPolicyDefinitionsClient) listByResourceGroupNextResults(ctx context.Context, lastResults ServiceEndpointPolicyDefinitionListResult) (result ServiceEndpointPolicyDefinitionListResult, err error) { + req, err := lastResults.serviceEndpointPolicyDefinitionListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.ServiceEndpointPolicyDefinitionsClient", "listByResourceGroupNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.ServiceEndpointPolicyDefinitionsClient", "listByResourceGroupNextResults", resp, "Failure sending next results request") + } + result, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ServiceEndpointPolicyDefinitionsClient", "listByResourceGroupNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListByResourceGroupComplete enumerates all values, automatically crossing page boundaries as required. +func (client ServiceEndpointPolicyDefinitionsClient) ListByResourceGroupComplete(ctx context.Context, resourceGroupName string, serviceEndpointPolicyName string) (result ServiceEndpointPolicyDefinitionListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServiceEndpointPolicyDefinitionsClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListByResourceGroup(ctx, resourceGroupName, serviceEndpointPolicyName) + return +} diff --git a/services/network/mgmt/2019-08-01/network/servicetags.go b/services/network/mgmt/2019-08-01/network/servicetags.go new file mode 100644 index 000000000000..90652a035cc6 --- /dev/null +++ b/services/network/mgmt/2019-08-01/network/servicetags.go @@ -0,0 +1,118 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// ServiceTagsClient is the network Client +type ServiceTagsClient struct { + BaseClient +} + +// NewServiceTagsClient creates an instance of the ServiceTagsClient client. +func NewServiceTagsClient(subscriptionID string) ServiceTagsClient { + return NewServiceTagsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewServiceTagsClientWithBaseURI creates an instance of the ServiceTagsClient client. +func NewServiceTagsClientWithBaseURI(baseURI string, subscriptionID string) ServiceTagsClient { + return ServiceTagsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// List gets a list of service tag information resources. +// Parameters: +// location - the location that will be used as a reference for version (not as a filter based on location, you +// will get the list of service tags with prefix details across all regions but limited to the cloud that your +// subscription belongs to). +func (client ServiceTagsClient) List(ctx context.Context, location string) (result ServiceTagsListResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServiceTagsClient.List") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListPreparer(ctx, location) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ServiceTagsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.ServiceTagsClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.ServiceTagsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client ServiceTagsClient) ListPreparer(ctx context.Context, location string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "location": autorest.Encode("path", location), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/serviceTags", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client ServiceTagsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client ServiceTagsClient) ListResponder(resp *http.Response) (result ServiceTagsListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/network/mgmt/2019-08-01/network/subnets.go b/services/network/mgmt/2019-08-01/network/subnets.go new file mode 100644 index 000000000000..7613fb8a77de --- /dev/null +++ b/services/network/mgmt/2019-08-01/network/subnets.go @@ -0,0 +1,563 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// SubnetsClient is the network Client +type SubnetsClient struct { + BaseClient +} + +// NewSubnetsClient creates an instance of the SubnetsClient client. +func NewSubnetsClient(subscriptionID string) SubnetsClient { + return NewSubnetsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewSubnetsClientWithBaseURI creates an instance of the SubnetsClient client. +func NewSubnetsClientWithBaseURI(baseURI string, subscriptionID string) SubnetsClient { + return SubnetsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates a subnet in the specified virtual network. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualNetworkName - the name of the virtual network. +// subnetName - the name of the subnet. +// subnetParameters - parameters supplied to the create or update subnet operation. +func (client SubnetsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, virtualNetworkName string, subnetName string, subnetParameters Subnet) (result SubnetsCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SubnetsClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, virtualNetworkName, subnetName, subnetParameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.SubnetsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.SubnetsClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client SubnetsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, virtualNetworkName string, subnetName string, subnetParameters Subnet) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subnetName": autorest.Encode("path", subnetName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkName": autorest.Encode("path", virtualNetworkName), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}", pathParameters), + autorest.WithJSON(subnetParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client SubnetsClient) CreateOrUpdateSender(req *http.Request) (future SubnetsCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client SubnetsClient) CreateOrUpdateResponder(resp *http.Response) (result Subnet, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the specified subnet. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualNetworkName - the name of the virtual network. +// subnetName - the name of the subnet. +func (client SubnetsClient) Delete(ctx context.Context, resourceGroupName string, virtualNetworkName string, subnetName string) (result SubnetsDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SubnetsClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, virtualNetworkName, subnetName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.SubnetsClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.SubnetsClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client SubnetsClient) DeletePreparer(ctx context.Context, resourceGroupName string, virtualNetworkName string, subnetName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subnetName": autorest.Encode("path", subnetName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkName": autorest.Encode("path", virtualNetworkName), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client SubnetsClient) DeleteSender(req *http.Request) (future SubnetsDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client SubnetsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets the specified subnet by virtual network and resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualNetworkName - the name of the virtual network. +// subnetName - the name of the subnet. +// expand - expands referenced resources. +func (client SubnetsClient) Get(ctx context.Context, resourceGroupName string, virtualNetworkName string, subnetName string, expand string) (result Subnet, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SubnetsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, virtualNetworkName, subnetName, expand) + if err != nil { + err = autorest.NewErrorWithError(err, "network.SubnetsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.SubnetsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.SubnetsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client SubnetsClient) GetPreparer(ctx context.Context, resourceGroupName string, virtualNetworkName string, subnetName string, expand string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subnetName": autorest.Encode("path", subnetName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkName": autorest.Encode("path", virtualNetworkName), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(expand) > 0 { + queryParameters["$expand"] = autorest.Encode("query", expand) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client SubnetsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client SubnetsClient) GetResponder(resp *http.Response) (result Subnet, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets all subnets in a virtual network. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualNetworkName - the name of the virtual network. +func (client SubnetsClient) List(ctx context.Context, resourceGroupName string, virtualNetworkName string) (result SubnetListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SubnetsClient.List") + defer func() { + sc := -1 + if result.slr.Response.Response != nil { + sc = result.slr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName, virtualNetworkName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.SubnetsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.slr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.SubnetsClient", "List", resp, "Failure sending request") + return + } + + result.slr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.SubnetsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client SubnetsClient) ListPreparer(ctx context.Context, resourceGroupName string, virtualNetworkName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkName": autorest.Encode("path", virtualNetworkName), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client SubnetsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client SubnetsClient) ListResponder(resp *http.Response) (result SubnetListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client SubnetsClient) listNextResults(ctx context.Context, lastResults SubnetListResult) (result SubnetListResult, err error) { + req, err := lastResults.subnetListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.SubnetsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.SubnetsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.SubnetsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client SubnetsClient) ListComplete(ctx context.Context, resourceGroupName string, virtualNetworkName string) (result SubnetListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SubnetsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName, virtualNetworkName) + return +} + +// PrepareNetworkPolicies prepares a subnet by applying network intent policies. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualNetworkName - the name of the virtual network. +// subnetName - the name of the subnet. +// prepareNetworkPoliciesRequestParameters - parameters supplied to prepare subnet by applying network intent +// policies. +func (client SubnetsClient) PrepareNetworkPolicies(ctx context.Context, resourceGroupName string, virtualNetworkName string, subnetName string, prepareNetworkPoliciesRequestParameters PrepareNetworkPoliciesRequest) (result SubnetsPrepareNetworkPoliciesFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SubnetsClient.PrepareNetworkPolicies") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.PrepareNetworkPoliciesPreparer(ctx, resourceGroupName, virtualNetworkName, subnetName, prepareNetworkPoliciesRequestParameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.SubnetsClient", "PrepareNetworkPolicies", nil, "Failure preparing request") + return + } + + result, err = client.PrepareNetworkPoliciesSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.SubnetsClient", "PrepareNetworkPolicies", result.Response(), "Failure sending request") + return + } + + return +} + +// PrepareNetworkPoliciesPreparer prepares the PrepareNetworkPolicies request. +func (client SubnetsClient) PrepareNetworkPoliciesPreparer(ctx context.Context, resourceGroupName string, virtualNetworkName string, subnetName string, prepareNetworkPoliciesRequestParameters PrepareNetworkPoliciesRequest) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subnetName": autorest.Encode("path", subnetName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkName": autorest.Encode("path", virtualNetworkName), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}/PrepareNetworkPolicies", pathParameters), + autorest.WithJSON(prepareNetworkPoliciesRequestParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// PrepareNetworkPoliciesSender sends the PrepareNetworkPolicies request. The method will close the +// http.Response Body if it receives an error. +func (client SubnetsClient) PrepareNetworkPoliciesSender(req *http.Request) (future SubnetsPrepareNetworkPoliciesFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// PrepareNetworkPoliciesResponder handles the response to the PrepareNetworkPolicies request. The method always +// closes the http.Response Body. +func (client SubnetsClient) PrepareNetworkPoliciesResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByClosing()) + result.Response = resp + return +} + +// UnprepareNetworkPolicies unprepares a subnet by removing network intent policies. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualNetworkName - the name of the virtual network. +// subnetName - the name of the subnet. +// unprepareNetworkPoliciesRequestParameters - parameters supplied to unprepare subnet to remove network intent +// policies. +func (client SubnetsClient) UnprepareNetworkPolicies(ctx context.Context, resourceGroupName string, virtualNetworkName string, subnetName string, unprepareNetworkPoliciesRequestParameters UnprepareNetworkPoliciesRequest) (result SubnetsUnprepareNetworkPoliciesFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SubnetsClient.UnprepareNetworkPolicies") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UnprepareNetworkPoliciesPreparer(ctx, resourceGroupName, virtualNetworkName, subnetName, unprepareNetworkPoliciesRequestParameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.SubnetsClient", "UnprepareNetworkPolicies", nil, "Failure preparing request") + return + } + + result, err = client.UnprepareNetworkPoliciesSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.SubnetsClient", "UnprepareNetworkPolicies", result.Response(), "Failure sending request") + return + } + + return +} + +// UnprepareNetworkPoliciesPreparer prepares the UnprepareNetworkPolicies request. +func (client SubnetsClient) UnprepareNetworkPoliciesPreparer(ctx context.Context, resourceGroupName string, virtualNetworkName string, subnetName string, unprepareNetworkPoliciesRequestParameters UnprepareNetworkPoliciesRequest) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subnetName": autorest.Encode("path", subnetName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkName": autorest.Encode("path", virtualNetworkName), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}/UnprepareNetworkPolicies", pathParameters), + autorest.WithJSON(unprepareNetworkPoliciesRequestParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UnprepareNetworkPoliciesSender sends the UnprepareNetworkPolicies request. The method will close the +// http.Response Body if it receives an error. +func (client SubnetsClient) UnprepareNetworkPoliciesSender(req *http.Request) (future SubnetsUnprepareNetworkPoliciesFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// UnprepareNetworkPoliciesResponder handles the response to the UnprepareNetworkPolicies request. The method always +// closes the http.Response Body. +func (client SubnetsClient) UnprepareNetworkPoliciesResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByClosing()) + result.Response = resp + return +} diff --git a/services/network/mgmt/2019-08-01/network/usages.go b/services/network/mgmt/2019-08-01/network/usages.go new file mode 100644 index 000000000000..b74f3b69fd08 --- /dev/null +++ b/services/network/mgmt/2019-08-01/network/usages.go @@ -0,0 +1,161 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// UsagesClient is the network Client +type UsagesClient struct { + BaseClient +} + +// NewUsagesClient creates an instance of the UsagesClient client. +func NewUsagesClient(subscriptionID string) UsagesClient { + return NewUsagesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewUsagesClientWithBaseURI creates an instance of the UsagesClient client. +func NewUsagesClientWithBaseURI(baseURI string, subscriptionID string) UsagesClient { + return UsagesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// List list network usages for a subscription. +// Parameters: +// location - the location where resource usage is queried. +func (client UsagesClient) List(ctx context.Context, location string) (result UsagesListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/UsagesClient.List") + defer func() { + sc := -1 + if result.ulr.Response.Response != nil { + sc = result.ulr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: location, + Constraints: []validation.Constraint{{Target: "location", Name: validation.Pattern, Rule: `^[-\w\._ ]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("network.UsagesClient", "List", err.Error()) + } + + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, location) + if err != nil { + err = autorest.NewErrorWithError(err, "network.UsagesClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.ulr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.UsagesClient", "List", resp, "Failure sending request") + return + } + + result.ulr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.UsagesClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client UsagesClient) ListPreparer(ctx context.Context, location string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "location": autorest.Encode("path", location), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/usages", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client UsagesClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client UsagesClient) ListResponder(resp *http.Response) (result UsagesListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client UsagesClient) listNextResults(ctx context.Context, lastResults UsagesListResult) (result UsagesListResult, err error) { + req, err := lastResults.usagesListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.UsagesClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.UsagesClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.UsagesClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client UsagesClient) ListComplete(ctx context.Context, location string) (result UsagesListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/UsagesClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, location) + return +} diff --git a/services/network/mgmt/2019-08-01/network/version.go b/services/network/mgmt/2019-08-01/network/version.go new file mode 100644 index 000000000000..794e9887c36d --- /dev/null +++ b/services/network/mgmt/2019-08-01/network/version.go @@ -0,0 +1,30 @@ +package network + +import "github.com/Azure/azure-sdk-for-go/version" + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +// UserAgent returns the UserAgent string to use when sending http.Requests. +func UserAgent() string { + return "Azure-SDK-For-Go/" + version.Number + " network/2019-08-01" +} + +// Version returns the semantic version (see http://semver.org) of the client. +func Version() string { + return version.Number +} diff --git a/services/network/mgmt/2019-08-01/network/virtualhubs.go b/services/network/mgmt/2019-08-01/network/virtualhubs.go new file mode 100644 index 000000000000..bb84059b2c71 --- /dev/null +++ b/services/network/mgmt/2019-08-01/network/virtualhubs.go @@ -0,0 +1,578 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// VirtualHubsClient is the network Client +type VirtualHubsClient struct { + BaseClient +} + +// NewVirtualHubsClient creates an instance of the VirtualHubsClient client. +func NewVirtualHubsClient(subscriptionID string) VirtualHubsClient { + return NewVirtualHubsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewVirtualHubsClientWithBaseURI creates an instance of the VirtualHubsClient client. +func NewVirtualHubsClientWithBaseURI(baseURI string, subscriptionID string) VirtualHubsClient { + return VirtualHubsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates a VirtualHub resource if it doesn't exist else updates the existing VirtualHub. +// Parameters: +// resourceGroupName - the resource group name of the VirtualHub. +// virtualHubName - the name of the VirtualHub. +// virtualHubParameters - parameters supplied to create or update VirtualHub. +func (client VirtualHubsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, virtualHubName string, virtualHubParameters VirtualHub) (result VirtualHubsCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualHubsClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, virtualHubName, virtualHubParameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualHubsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualHubsClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client VirtualHubsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, virtualHubName string, virtualHubParameters VirtualHub) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualHubName": autorest.Encode("path", virtualHubName), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + virtualHubParameters.Etag = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}", pathParameters), + autorest.WithJSON(virtualHubParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualHubsClient) CreateOrUpdateSender(req *http.Request) (future VirtualHubsCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client VirtualHubsClient) CreateOrUpdateResponder(resp *http.Response) (result VirtualHub, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes a VirtualHub. +// Parameters: +// resourceGroupName - the resource group name of the VirtualHub. +// virtualHubName - the name of the VirtualHub. +func (client VirtualHubsClient) Delete(ctx context.Context, resourceGroupName string, virtualHubName string) (result VirtualHubsDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualHubsClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, virtualHubName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualHubsClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualHubsClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client VirtualHubsClient) DeletePreparer(ctx context.Context, resourceGroupName string, virtualHubName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualHubName": autorest.Encode("path", virtualHubName), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualHubsClient) DeleteSender(req *http.Request) (future VirtualHubsDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client VirtualHubsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get retrieves the details of a VirtualHub. +// Parameters: +// resourceGroupName - the resource group name of the VirtualHub. +// virtualHubName - the name of the VirtualHub. +func (client VirtualHubsClient) Get(ctx context.Context, resourceGroupName string, virtualHubName string) (result VirtualHub, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualHubsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, virtualHubName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualHubsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.VirtualHubsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualHubsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client VirtualHubsClient) GetPreparer(ctx context.Context, resourceGroupName string, virtualHubName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualHubName": autorest.Encode("path", virtualHubName), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualHubsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client VirtualHubsClient) GetResponder(resp *http.Response) (result VirtualHub, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List lists all the VirtualHubs in a subscription. +func (client VirtualHubsClient) List(ctx context.Context) (result ListVirtualHubsResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualHubsClient.List") + defer func() { + sc := -1 + if result.lvhr.Response.Response != nil { + sc = result.lvhr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualHubsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.lvhr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.VirtualHubsClient", "List", resp, "Failure sending request") + return + } + + result.lvhr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualHubsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client VirtualHubsClient) ListPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/virtualHubs", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualHubsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client VirtualHubsClient) ListResponder(resp *http.Response) (result ListVirtualHubsResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client VirtualHubsClient) listNextResults(ctx context.Context, lastResults ListVirtualHubsResult) (result ListVirtualHubsResult, err error) { + req, err := lastResults.listVirtualHubsResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.VirtualHubsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.VirtualHubsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualHubsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client VirtualHubsClient) ListComplete(ctx context.Context) (result ListVirtualHubsResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualHubsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx) + return +} + +// ListByResourceGroup lists all the VirtualHubs in a resource group. +// Parameters: +// resourceGroupName - the resource group name of the VirtualHub. +func (client VirtualHubsClient) ListByResourceGroup(ctx context.Context, resourceGroupName string) (result ListVirtualHubsResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualHubsClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.lvhr.Response.Response != nil { + sc = result.lvhr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listByResourceGroupNextResults + req, err := client.ListByResourceGroupPreparer(ctx, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualHubsClient", "ListByResourceGroup", nil, "Failure preparing request") + return + } + + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.lvhr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.VirtualHubsClient", "ListByResourceGroup", resp, "Failure sending request") + return + } + + result.lvhr, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualHubsClient", "ListByResourceGroup", resp, "Failure responding to request") + } + + return +} + +// ListByResourceGroupPreparer prepares the ListByResourceGroup request. +func (client VirtualHubsClient) ListByResourceGroupPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByResourceGroupSender sends the ListByResourceGroup request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualHubsClient) ListByResourceGroupSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByResourceGroupResponder handles the response to the ListByResourceGroup request. The method always +// closes the http.Response Body. +func (client VirtualHubsClient) ListByResourceGroupResponder(resp *http.Response) (result ListVirtualHubsResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listByResourceGroupNextResults retrieves the next set of results, if any. +func (client VirtualHubsClient) listByResourceGroupNextResults(ctx context.Context, lastResults ListVirtualHubsResult) (result ListVirtualHubsResult, err error) { + req, err := lastResults.listVirtualHubsResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.VirtualHubsClient", "listByResourceGroupNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.VirtualHubsClient", "listByResourceGroupNextResults", resp, "Failure sending next results request") + } + result, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualHubsClient", "listByResourceGroupNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListByResourceGroupComplete enumerates all values, automatically crossing page boundaries as required. +func (client VirtualHubsClient) ListByResourceGroupComplete(ctx context.Context, resourceGroupName string) (result ListVirtualHubsResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualHubsClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListByResourceGroup(ctx, resourceGroupName) + return +} + +// UpdateTags updates VirtualHub tags. +// Parameters: +// resourceGroupName - the resource group name of the VirtualHub. +// virtualHubName - the name of the VirtualHub. +// virtualHubParameters - parameters supplied to update VirtualHub tags. +func (client VirtualHubsClient) UpdateTags(ctx context.Context, resourceGroupName string, virtualHubName string, virtualHubParameters TagsObject) (result VirtualHubsUpdateTagsFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualHubsClient.UpdateTags") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdateTagsPreparer(ctx, resourceGroupName, virtualHubName, virtualHubParameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualHubsClient", "UpdateTags", nil, "Failure preparing request") + return + } + + result, err = client.UpdateTagsSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualHubsClient", "UpdateTags", result.Response(), "Failure sending request") + return + } + + return +} + +// UpdateTagsPreparer prepares the UpdateTags request. +func (client VirtualHubsClient) UpdateTagsPreparer(ctx context.Context, resourceGroupName string, virtualHubName string, virtualHubParameters TagsObject) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualHubName": autorest.Encode("path", virtualHubName), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}", pathParameters), + autorest.WithJSON(virtualHubParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateTagsSender sends the UpdateTags request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualHubsClient) UpdateTagsSender(req *http.Request) (future VirtualHubsUpdateTagsFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// UpdateTagsResponder handles the response to the UpdateTags request. The method always +// closes the http.Response Body. +func (client VirtualHubsClient) UpdateTagsResponder(resp *http.Response) (result VirtualHub, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/network/mgmt/2019-08-01/network/virtualnetworkgatewayconnections.go b/services/network/mgmt/2019-08-01/network/virtualnetworkgatewayconnections.go new file mode 100644 index 000000000000..d5f000cc321d --- /dev/null +++ b/services/network/mgmt/2019-08-01/network/virtualnetworkgatewayconnections.go @@ -0,0 +1,907 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// VirtualNetworkGatewayConnectionsClient is the network Client +type VirtualNetworkGatewayConnectionsClient struct { + BaseClient +} + +// NewVirtualNetworkGatewayConnectionsClient creates an instance of the VirtualNetworkGatewayConnectionsClient client. +func NewVirtualNetworkGatewayConnectionsClient(subscriptionID string) VirtualNetworkGatewayConnectionsClient { + return NewVirtualNetworkGatewayConnectionsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewVirtualNetworkGatewayConnectionsClientWithBaseURI creates an instance of the +// VirtualNetworkGatewayConnectionsClient client. +func NewVirtualNetworkGatewayConnectionsClientWithBaseURI(baseURI string, subscriptionID string) VirtualNetworkGatewayConnectionsClient { + return VirtualNetworkGatewayConnectionsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates a virtual network gateway connection in the specified resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualNetworkGatewayConnectionName - the name of the virtual network gateway connection. +// parameters - parameters supplied to the create or update virtual network gateway connection operation. +func (client VirtualNetworkGatewayConnectionsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, virtualNetworkGatewayConnectionName string, parameters VirtualNetworkGatewayConnection) (result VirtualNetworkGatewayConnectionsCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewayConnectionsClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.VirtualNetworkGatewayConnectionPropertiesFormat", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "parameters.VirtualNetworkGatewayConnectionPropertiesFormat.VirtualNetworkGateway1", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "parameters.VirtualNetworkGatewayConnectionPropertiesFormat.VirtualNetworkGateway1.VirtualNetworkGatewayPropertiesFormat", Name: validation.Null, Rule: true, Chain: nil}}}, + {Target: "parameters.VirtualNetworkGatewayConnectionPropertiesFormat.VirtualNetworkGateway2", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.VirtualNetworkGatewayConnectionPropertiesFormat.VirtualNetworkGateway2.VirtualNetworkGatewayPropertiesFormat", Name: validation.Null, Rule: true, Chain: nil}}}, + {Target: "parameters.VirtualNetworkGatewayConnectionPropertiesFormat.LocalNetworkGateway2", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.VirtualNetworkGatewayConnectionPropertiesFormat.LocalNetworkGateway2.LocalNetworkGatewayPropertiesFormat", Name: validation.Null, Rule: true, Chain: nil}}}, + }}}}}); err != nil { + return result, validation.NewError("network.VirtualNetworkGatewayConnectionsClient", "CreateOrUpdate", err.Error()) + } + + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, virtualNetworkGatewayConnectionName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewayConnectionsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewayConnectionsClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client VirtualNetworkGatewayConnectionsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, virtualNetworkGatewayConnectionName string, parameters VirtualNetworkGatewayConnection) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkGatewayConnectionName": autorest.Encode("path", virtualNetworkGatewayConnectionName), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworkGatewayConnectionsClient) CreateOrUpdateSender(req *http.Request) (future VirtualNetworkGatewayConnectionsCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client VirtualNetworkGatewayConnectionsClient) CreateOrUpdateResponder(resp *http.Response) (result VirtualNetworkGatewayConnection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the specified virtual network Gateway connection. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualNetworkGatewayConnectionName - the name of the virtual network gateway connection. +func (client VirtualNetworkGatewayConnectionsClient) Delete(ctx context.Context, resourceGroupName string, virtualNetworkGatewayConnectionName string) (result VirtualNetworkGatewayConnectionsDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewayConnectionsClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, virtualNetworkGatewayConnectionName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewayConnectionsClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewayConnectionsClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client VirtualNetworkGatewayConnectionsClient) DeletePreparer(ctx context.Context, resourceGroupName string, virtualNetworkGatewayConnectionName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkGatewayConnectionName": autorest.Encode("path", virtualNetworkGatewayConnectionName), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworkGatewayConnectionsClient) DeleteSender(req *http.Request) (future VirtualNetworkGatewayConnectionsDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client VirtualNetworkGatewayConnectionsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets the specified virtual network gateway connection by resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualNetworkGatewayConnectionName - the name of the virtual network gateway connection. +func (client VirtualNetworkGatewayConnectionsClient) Get(ctx context.Context, resourceGroupName string, virtualNetworkGatewayConnectionName string) (result VirtualNetworkGatewayConnection, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewayConnectionsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, virtualNetworkGatewayConnectionName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewayConnectionsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewayConnectionsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewayConnectionsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client VirtualNetworkGatewayConnectionsClient) GetPreparer(ctx context.Context, resourceGroupName string, virtualNetworkGatewayConnectionName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkGatewayConnectionName": autorest.Encode("path", virtualNetworkGatewayConnectionName), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworkGatewayConnectionsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client VirtualNetworkGatewayConnectionsClient) GetResponder(resp *http.Response) (result VirtualNetworkGatewayConnection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetSharedKey the Get VirtualNetworkGatewayConnectionSharedKey operation retrieves information about the specified +// virtual network gateway connection shared key through Network resource provider. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualNetworkGatewayConnectionName - the virtual network gateway connection shared key name. +func (client VirtualNetworkGatewayConnectionsClient) GetSharedKey(ctx context.Context, resourceGroupName string, virtualNetworkGatewayConnectionName string) (result ConnectionSharedKey, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewayConnectionsClient.GetSharedKey") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetSharedKeyPreparer(ctx, resourceGroupName, virtualNetworkGatewayConnectionName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewayConnectionsClient", "GetSharedKey", nil, "Failure preparing request") + return + } + + resp, err := client.GetSharedKeySender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewayConnectionsClient", "GetSharedKey", resp, "Failure sending request") + return + } + + result, err = client.GetSharedKeyResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewayConnectionsClient", "GetSharedKey", resp, "Failure responding to request") + } + + return +} + +// GetSharedKeyPreparer prepares the GetSharedKey request. +func (client VirtualNetworkGatewayConnectionsClient) GetSharedKeyPreparer(ctx context.Context, resourceGroupName string, virtualNetworkGatewayConnectionName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkGatewayConnectionName": autorest.Encode("path", virtualNetworkGatewayConnectionName), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/sharedkey", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSharedKeySender sends the GetSharedKey request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworkGatewayConnectionsClient) GetSharedKeySender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetSharedKeyResponder handles the response to the GetSharedKey request. The method always +// closes the http.Response Body. +func (client VirtualNetworkGatewayConnectionsClient) GetSharedKeyResponder(resp *http.Response) (result ConnectionSharedKey, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List the List VirtualNetworkGatewayConnections operation retrieves all the virtual network gateways connections +// created. +// Parameters: +// resourceGroupName - the name of the resource group. +func (client VirtualNetworkGatewayConnectionsClient) List(ctx context.Context, resourceGroupName string) (result VirtualNetworkGatewayConnectionListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewayConnectionsClient.List") + defer func() { + sc := -1 + if result.vngclr.Response.Response != nil { + sc = result.vngclr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewayConnectionsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.vngclr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewayConnectionsClient", "List", resp, "Failure sending request") + return + } + + result.vngclr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewayConnectionsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client VirtualNetworkGatewayConnectionsClient) ListPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworkGatewayConnectionsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client VirtualNetworkGatewayConnectionsClient) ListResponder(resp *http.Response) (result VirtualNetworkGatewayConnectionListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client VirtualNetworkGatewayConnectionsClient) listNextResults(ctx context.Context, lastResults VirtualNetworkGatewayConnectionListResult) (result VirtualNetworkGatewayConnectionListResult, err error) { + req, err := lastResults.virtualNetworkGatewayConnectionListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.VirtualNetworkGatewayConnectionsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.VirtualNetworkGatewayConnectionsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewayConnectionsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client VirtualNetworkGatewayConnectionsClient) ListComplete(ctx context.Context, resourceGroupName string) (result VirtualNetworkGatewayConnectionListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewayConnectionsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName) + return +} + +// ResetSharedKey the VirtualNetworkGatewayConnectionResetSharedKey operation resets the virtual network gateway +// connection shared key for passed virtual network gateway connection in the specified resource group through Network +// resource provider. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualNetworkGatewayConnectionName - the virtual network gateway connection reset shared key Name. +// parameters - parameters supplied to the begin reset virtual network gateway connection shared key operation +// through network resource provider. +func (client VirtualNetworkGatewayConnectionsClient) ResetSharedKey(ctx context.Context, resourceGroupName string, virtualNetworkGatewayConnectionName string, parameters ConnectionResetSharedKey) (result VirtualNetworkGatewayConnectionsResetSharedKeyFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewayConnectionsClient.ResetSharedKey") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.KeyLength", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "parameters.KeyLength", Name: validation.InclusiveMaximum, Rule: int64(128), Chain: nil}, + {Target: "parameters.KeyLength", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}, + }}}}}); err != nil { + return result, validation.NewError("network.VirtualNetworkGatewayConnectionsClient", "ResetSharedKey", err.Error()) + } + + req, err := client.ResetSharedKeyPreparer(ctx, resourceGroupName, virtualNetworkGatewayConnectionName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewayConnectionsClient", "ResetSharedKey", nil, "Failure preparing request") + return + } + + result, err = client.ResetSharedKeySender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewayConnectionsClient", "ResetSharedKey", result.Response(), "Failure sending request") + return + } + + return +} + +// ResetSharedKeyPreparer prepares the ResetSharedKey request. +func (client VirtualNetworkGatewayConnectionsClient) ResetSharedKeyPreparer(ctx context.Context, resourceGroupName string, virtualNetworkGatewayConnectionName string, parameters ConnectionResetSharedKey) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkGatewayConnectionName": autorest.Encode("path", virtualNetworkGatewayConnectionName), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/sharedkey/reset", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ResetSharedKeySender sends the ResetSharedKey request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworkGatewayConnectionsClient) ResetSharedKeySender(req *http.Request) (future VirtualNetworkGatewayConnectionsResetSharedKeyFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// ResetSharedKeyResponder handles the response to the ResetSharedKey request. The method always +// closes the http.Response Body. +func (client VirtualNetworkGatewayConnectionsClient) ResetSharedKeyResponder(resp *http.Response) (result ConnectionResetSharedKey, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// SetSharedKey the Put VirtualNetworkGatewayConnectionSharedKey operation sets the virtual network gateway connection +// shared key for passed virtual network gateway connection in the specified resource group through Network resource +// provider. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualNetworkGatewayConnectionName - the virtual network gateway connection name. +// parameters - parameters supplied to the Begin Set Virtual Network Gateway connection Shared key operation +// throughNetwork resource provider. +func (client VirtualNetworkGatewayConnectionsClient) SetSharedKey(ctx context.Context, resourceGroupName string, virtualNetworkGatewayConnectionName string, parameters ConnectionSharedKey) (result VirtualNetworkGatewayConnectionsSetSharedKeyFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewayConnectionsClient.SetSharedKey") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.Value", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + return result, validation.NewError("network.VirtualNetworkGatewayConnectionsClient", "SetSharedKey", err.Error()) + } + + req, err := client.SetSharedKeyPreparer(ctx, resourceGroupName, virtualNetworkGatewayConnectionName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewayConnectionsClient", "SetSharedKey", nil, "Failure preparing request") + return + } + + result, err = client.SetSharedKeySender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewayConnectionsClient", "SetSharedKey", result.Response(), "Failure sending request") + return + } + + return +} + +// SetSharedKeyPreparer prepares the SetSharedKey request. +func (client VirtualNetworkGatewayConnectionsClient) SetSharedKeyPreparer(ctx context.Context, resourceGroupName string, virtualNetworkGatewayConnectionName string, parameters ConnectionSharedKey) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkGatewayConnectionName": autorest.Encode("path", virtualNetworkGatewayConnectionName), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/sharedkey", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// SetSharedKeySender sends the SetSharedKey request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworkGatewayConnectionsClient) SetSharedKeySender(req *http.Request) (future VirtualNetworkGatewayConnectionsSetSharedKeyFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// SetSharedKeyResponder handles the response to the SetSharedKey request. The method always +// closes the http.Response Body. +func (client VirtualNetworkGatewayConnectionsClient) SetSharedKeyResponder(resp *http.Response) (result ConnectionSharedKey, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// StartPacketCapture starts packet capture on virtual network gateway connection in the specified resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualNetworkGatewayConnectionName - the name of the virtual network gateway connection. +// parameters - virtual network gateway packet capture parameters supplied to start packet capture on gateway +// connection. +func (client VirtualNetworkGatewayConnectionsClient) StartPacketCapture(ctx context.Context, resourceGroupName string, virtualNetworkGatewayConnectionName string, parameters *VpnPacketCaptureStartParameters) (result VirtualNetworkGatewayConnectionsStartPacketCaptureFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewayConnectionsClient.StartPacketCapture") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.StartPacketCapturePreparer(ctx, resourceGroupName, virtualNetworkGatewayConnectionName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewayConnectionsClient", "StartPacketCapture", nil, "Failure preparing request") + return + } + + result, err = client.StartPacketCaptureSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewayConnectionsClient", "StartPacketCapture", result.Response(), "Failure sending request") + return + } + + return +} + +// StartPacketCapturePreparer prepares the StartPacketCapture request. +func (client VirtualNetworkGatewayConnectionsClient) StartPacketCapturePreparer(ctx context.Context, resourceGroupName string, virtualNetworkGatewayConnectionName string, parameters *VpnPacketCaptureStartParameters) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkGatewayConnectionName": autorest.Encode("path", virtualNetworkGatewayConnectionName), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/startPacketCapture", pathParameters), + autorest.WithQueryParameters(queryParameters)) + if parameters != nil { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithJSON(parameters)) + } + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// StartPacketCaptureSender sends the StartPacketCapture request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworkGatewayConnectionsClient) StartPacketCaptureSender(req *http.Request) (future VirtualNetworkGatewayConnectionsStartPacketCaptureFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// StartPacketCaptureResponder handles the response to the StartPacketCapture request. The method always +// closes the http.Response Body. +func (client VirtualNetworkGatewayConnectionsClient) StartPacketCaptureResponder(resp *http.Response) (result String, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// StopPacketCapture stops packet capture on virtual network gateway connection in the specified resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualNetworkGatewayConnectionName - the name of the virtual network gateway Connection. +// parameters - virtual network gateway packet capture parameters supplied to stop packet capture on gateway +// connection. +func (client VirtualNetworkGatewayConnectionsClient) StopPacketCapture(ctx context.Context, resourceGroupName string, virtualNetworkGatewayConnectionName string, parameters VpnPacketCaptureStopParameters) (result VirtualNetworkGatewayConnectionsStopPacketCaptureFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewayConnectionsClient.StopPacketCapture") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.StopPacketCapturePreparer(ctx, resourceGroupName, virtualNetworkGatewayConnectionName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewayConnectionsClient", "StopPacketCapture", nil, "Failure preparing request") + return + } + + result, err = client.StopPacketCaptureSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewayConnectionsClient", "StopPacketCapture", result.Response(), "Failure sending request") + return + } + + return +} + +// StopPacketCapturePreparer prepares the StopPacketCapture request. +func (client VirtualNetworkGatewayConnectionsClient) StopPacketCapturePreparer(ctx context.Context, resourceGroupName string, virtualNetworkGatewayConnectionName string, parameters VpnPacketCaptureStopParameters) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkGatewayConnectionName": autorest.Encode("path", virtualNetworkGatewayConnectionName), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/stopPacketCapture", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// StopPacketCaptureSender sends the StopPacketCapture request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworkGatewayConnectionsClient) StopPacketCaptureSender(req *http.Request) (future VirtualNetworkGatewayConnectionsStopPacketCaptureFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// StopPacketCaptureResponder handles the response to the StopPacketCapture request. The method always +// closes the http.Response Body. +func (client VirtualNetworkGatewayConnectionsClient) StopPacketCaptureResponder(resp *http.Response) (result String, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// UpdateTags updates a virtual network gateway connection tags. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualNetworkGatewayConnectionName - the name of the virtual network gateway connection. +// parameters - parameters supplied to update virtual network gateway connection tags. +func (client VirtualNetworkGatewayConnectionsClient) UpdateTags(ctx context.Context, resourceGroupName string, virtualNetworkGatewayConnectionName string, parameters TagsObject) (result VirtualNetworkGatewayConnectionsUpdateTagsFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewayConnectionsClient.UpdateTags") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdateTagsPreparer(ctx, resourceGroupName, virtualNetworkGatewayConnectionName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewayConnectionsClient", "UpdateTags", nil, "Failure preparing request") + return + } + + result, err = client.UpdateTagsSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewayConnectionsClient", "UpdateTags", result.Response(), "Failure sending request") + return + } + + return +} + +// UpdateTagsPreparer prepares the UpdateTags request. +func (client VirtualNetworkGatewayConnectionsClient) UpdateTagsPreparer(ctx context.Context, resourceGroupName string, virtualNetworkGatewayConnectionName string, parameters TagsObject) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkGatewayConnectionName": autorest.Encode("path", virtualNetworkGatewayConnectionName), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateTagsSender sends the UpdateTags request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworkGatewayConnectionsClient) UpdateTagsSender(req *http.Request) (future VirtualNetworkGatewayConnectionsUpdateTagsFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// UpdateTagsResponder handles the response to the UpdateTags request. The method always +// closes the http.Response Body. +func (client VirtualNetworkGatewayConnectionsClient) UpdateTagsResponder(resp *http.Response) (result VirtualNetworkGatewayConnection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/network/mgmt/2019-08-01/network/virtualnetworkgateways.go b/services/network/mgmt/2019-08-01/network/virtualnetworkgateways.go new file mode 100644 index 000000000000..ba45e31e651b --- /dev/null +++ b/services/network/mgmt/2019-08-01/network/virtualnetworkgateways.go @@ -0,0 +1,1794 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// VirtualNetworkGatewaysClient is the network Client +type VirtualNetworkGatewaysClient struct { + BaseClient +} + +// NewVirtualNetworkGatewaysClient creates an instance of the VirtualNetworkGatewaysClient client. +func NewVirtualNetworkGatewaysClient(subscriptionID string) VirtualNetworkGatewaysClient { + return NewVirtualNetworkGatewaysClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewVirtualNetworkGatewaysClientWithBaseURI creates an instance of the VirtualNetworkGatewaysClient client. +func NewVirtualNetworkGatewaysClientWithBaseURI(baseURI string, subscriptionID string) VirtualNetworkGatewaysClient { + return VirtualNetworkGatewaysClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates a virtual network gateway in the specified resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualNetworkGatewayName - the name of the virtual network gateway. +// parameters - parameters supplied to create or update virtual network gateway operation. +func (client VirtualNetworkGatewaysClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string, parameters VirtualNetworkGateway) (result VirtualNetworkGatewaysCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewaysClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.VirtualNetworkGatewayPropertiesFormat", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + return result, validation.NewError("network.VirtualNetworkGatewaysClient", "CreateOrUpdate", err.Error()) + } + + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, virtualNetworkGatewayName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client VirtualNetworkGatewaysClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string, parameters VirtualNetworkGateway) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkGatewayName": autorest.Encode("path", virtualNetworkGatewayName), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworkGatewaysClient) CreateOrUpdateSender(req *http.Request) (future VirtualNetworkGatewaysCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client VirtualNetworkGatewaysClient) CreateOrUpdateResponder(resp *http.Response) (result VirtualNetworkGateway, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the specified virtual network gateway. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualNetworkGatewayName - the name of the virtual network gateway. +func (client VirtualNetworkGatewaysClient) Delete(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string) (result VirtualNetworkGatewaysDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewaysClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, virtualNetworkGatewayName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client VirtualNetworkGatewaysClient) DeletePreparer(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkGatewayName": autorest.Encode("path", virtualNetworkGatewayName), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworkGatewaysClient) DeleteSender(req *http.Request) (future VirtualNetworkGatewaysDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client VirtualNetworkGatewaysClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Generatevpnclientpackage generates VPN client package for P2S client of the virtual network gateway in the specified +// resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualNetworkGatewayName - the name of the virtual network gateway. +// parameters - parameters supplied to the generate virtual network gateway VPN client package operation. +func (client VirtualNetworkGatewaysClient) Generatevpnclientpackage(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string, parameters VpnClientParameters) (result VirtualNetworkGatewaysGeneratevpnclientpackageFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewaysClient.Generatevpnclientpackage") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GeneratevpnclientpackagePreparer(ctx, resourceGroupName, virtualNetworkGatewayName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "Generatevpnclientpackage", nil, "Failure preparing request") + return + } + + result, err = client.GeneratevpnclientpackageSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "Generatevpnclientpackage", result.Response(), "Failure sending request") + return + } + + return +} + +// GeneratevpnclientpackagePreparer prepares the Generatevpnclientpackage request. +func (client VirtualNetworkGatewaysClient) GeneratevpnclientpackagePreparer(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string, parameters VpnClientParameters) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkGatewayName": autorest.Encode("path", virtualNetworkGatewayName), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/generatevpnclientpackage", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GeneratevpnclientpackageSender sends the Generatevpnclientpackage request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworkGatewaysClient) GeneratevpnclientpackageSender(req *http.Request) (future VirtualNetworkGatewaysGeneratevpnclientpackageFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// GeneratevpnclientpackageResponder handles the response to the Generatevpnclientpackage request. The method always +// closes the http.Response Body. +func (client VirtualNetworkGatewaysClient) GeneratevpnclientpackageResponder(resp *http.Response) (result String, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GenerateVpnProfile generates VPN profile for P2S client of the virtual network gateway in the specified resource +// group. Used for IKEV2 and radius based authentication. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualNetworkGatewayName - the name of the virtual network gateway. +// parameters - parameters supplied to the generate virtual network gateway VPN client package operation. +func (client VirtualNetworkGatewaysClient) GenerateVpnProfile(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string, parameters VpnClientParameters) (result VirtualNetworkGatewaysGenerateVpnProfileFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewaysClient.GenerateVpnProfile") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GenerateVpnProfilePreparer(ctx, resourceGroupName, virtualNetworkGatewayName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "GenerateVpnProfile", nil, "Failure preparing request") + return + } + + result, err = client.GenerateVpnProfileSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "GenerateVpnProfile", result.Response(), "Failure sending request") + return + } + + return +} + +// GenerateVpnProfilePreparer prepares the GenerateVpnProfile request. +func (client VirtualNetworkGatewaysClient) GenerateVpnProfilePreparer(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string, parameters VpnClientParameters) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkGatewayName": autorest.Encode("path", virtualNetworkGatewayName), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/generatevpnprofile", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GenerateVpnProfileSender sends the GenerateVpnProfile request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworkGatewaysClient) GenerateVpnProfileSender(req *http.Request) (future VirtualNetworkGatewaysGenerateVpnProfileFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// GenerateVpnProfileResponder handles the response to the GenerateVpnProfile request. The method always +// closes the http.Response Body. +func (client VirtualNetworkGatewaysClient) GenerateVpnProfileResponder(resp *http.Response) (result String, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Get gets the specified virtual network gateway by resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualNetworkGatewayName - the name of the virtual network gateway. +func (client VirtualNetworkGatewaysClient) Get(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string) (result VirtualNetworkGateway, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewaysClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, virtualNetworkGatewayName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client VirtualNetworkGatewaysClient) GetPreparer(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkGatewayName": autorest.Encode("path", virtualNetworkGatewayName), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworkGatewaysClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client VirtualNetworkGatewaysClient) GetResponder(resp *http.Response) (result VirtualNetworkGateway, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetAdvertisedRoutes this operation retrieves a list of routes the virtual network gateway is advertising to the +// specified peer. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualNetworkGatewayName - the name of the virtual network gateway. +// peer - the IP address of the peer. +func (client VirtualNetworkGatewaysClient) GetAdvertisedRoutes(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string, peer string) (result VirtualNetworkGatewaysGetAdvertisedRoutesFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewaysClient.GetAdvertisedRoutes") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetAdvertisedRoutesPreparer(ctx, resourceGroupName, virtualNetworkGatewayName, peer) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "GetAdvertisedRoutes", nil, "Failure preparing request") + return + } + + result, err = client.GetAdvertisedRoutesSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "GetAdvertisedRoutes", result.Response(), "Failure sending request") + return + } + + return +} + +// GetAdvertisedRoutesPreparer prepares the GetAdvertisedRoutes request. +func (client VirtualNetworkGatewaysClient) GetAdvertisedRoutesPreparer(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string, peer string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkGatewayName": autorest.Encode("path", virtualNetworkGatewayName), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + "peer": autorest.Encode("query", peer), + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getAdvertisedRoutes", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetAdvertisedRoutesSender sends the GetAdvertisedRoutes request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworkGatewaysClient) GetAdvertisedRoutesSender(req *http.Request) (future VirtualNetworkGatewaysGetAdvertisedRoutesFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// GetAdvertisedRoutesResponder handles the response to the GetAdvertisedRoutes request. The method always +// closes the http.Response Body. +func (client VirtualNetworkGatewaysClient) GetAdvertisedRoutesResponder(resp *http.Response) (result GatewayRouteListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetBgpPeerStatus the GetBgpPeerStatus operation retrieves the status of all BGP peers. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualNetworkGatewayName - the name of the virtual network gateway. +// peer - the IP address of the peer to retrieve the status of. +func (client VirtualNetworkGatewaysClient) GetBgpPeerStatus(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string, peer string) (result VirtualNetworkGatewaysGetBgpPeerStatusFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewaysClient.GetBgpPeerStatus") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetBgpPeerStatusPreparer(ctx, resourceGroupName, virtualNetworkGatewayName, peer) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "GetBgpPeerStatus", nil, "Failure preparing request") + return + } + + result, err = client.GetBgpPeerStatusSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "GetBgpPeerStatus", result.Response(), "Failure sending request") + return + } + + return +} + +// GetBgpPeerStatusPreparer prepares the GetBgpPeerStatus request. +func (client VirtualNetworkGatewaysClient) GetBgpPeerStatusPreparer(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string, peer string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkGatewayName": autorest.Encode("path", virtualNetworkGatewayName), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(peer) > 0 { + queryParameters["peer"] = autorest.Encode("query", peer) + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getBgpPeerStatus", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetBgpPeerStatusSender sends the GetBgpPeerStatus request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworkGatewaysClient) GetBgpPeerStatusSender(req *http.Request) (future VirtualNetworkGatewaysGetBgpPeerStatusFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// GetBgpPeerStatusResponder handles the response to the GetBgpPeerStatus request. The method always +// closes the http.Response Body. +func (client VirtualNetworkGatewaysClient) GetBgpPeerStatusResponder(resp *http.Response) (result BgpPeerStatusListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetLearnedRoutes this operation retrieves a list of routes the virtual network gateway has learned, including routes +// learned from BGP peers. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualNetworkGatewayName - the name of the virtual network gateway. +func (client VirtualNetworkGatewaysClient) GetLearnedRoutes(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string) (result VirtualNetworkGatewaysGetLearnedRoutesFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewaysClient.GetLearnedRoutes") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetLearnedRoutesPreparer(ctx, resourceGroupName, virtualNetworkGatewayName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "GetLearnedRoutes", nil, "Failure preparing request") + return + } + + result, err = client.GetLearnedRoutesSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "GetLearnedRoutes", result.Response(), "Failure sending request") + return + } + + return +} + +// GetLearnedRoutesPreparer prepares the GetLearnedRoutes request. +func (client VirtualNetworkGatewaysClient) GetLearnedRoutesPreparer(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkGatewayName": autorest.Encode("path", virtualNetworkGatewayName), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getLearnedRoutes", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetLearnedRoutesSender sends the GetLearnedRoutes request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworkGatewaysClient) GetLearnedRoutesSender(req *http.Request) (future VirtualNetworkGatewaysGetLearnedRoutesFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// GetLearnedRoutesResponder handles the response to the GetLearnedRoutes request. The method always +// closes the http.Response Body. +func (client VirtualNetworkGatewaysClient) GetLearnedRoutesResponder(resp *http.Response) (result GatewayRouteListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetVpnclientConnectionHealth get VPN client connection health detail per P2S client connection of the virtual +// network gateway in the specified resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualNetworkGatewayName - the name of the virtual network gateway. +func (client VirtualNetworkGatewaysClient) GetVpnclientConnectionHealth(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string) (result VirtualNetworkGatewaysGetVpnclientConnectionHealthFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewaysClient.GetVpnclientConnectionHealth") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetVpnclientConnectionHealthPreparer(ctx, resourceGroupName, virtualNetworkGatewayName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "GetVpnclientConnectionHealth", nil, "Failure preparing request") + return + } + + result, err = client.GetVpnclientConnectionHealthSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "GetVpnclientConnectionHealth", result.Response(), "Failure sending request") + return + } + + return +} + +// GetVpnclientConnectionHealthPreparer prepares the GetVpnclientConnectionHealth request. +func (client VirtualNetworkGatewaysClient) GetVpnclientConnectionHealthPreparer(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkGatewayName": autorest.Encode("path", virtualNetworkGatewayName), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getVpnClientConnectionHealth", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetVpnclientConnectionHealthSender sends the GetVpnclientConnectionHealth request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworkGatewaysClient) GetVpnclientConnectionHealthSender(req *http.Request) (future VirtualNetworkGatewaysGetVpnclientConnectionHealthFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// GetVpnclientConnectionHealthResponder handles the response to the GetVpnclientConnectionHealth request. The method always +// closes the http.Response Body. +func (client VirtualNetworkGatewaysClient) GetVpnclientConnectionHealthResponder(resp *http.Response) (result VpnClientConnectionHealthDetailListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetVpnclientIpsecParameters the Get VpnclientIpsecParameters operation retrieves information about the vpnclient +// ipsec policy for P2S client of virtual network gateway in the specified resource group through Network resource +// provider. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualNetworkGatewayName - the virtual network gateway name. +func (client VirtualNetworkGatewaysClient) GetVpnclientIpsecParameters(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string) (result VirtualNetworkGatewaysGetVpnclientIpsecParametersFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewaysClient.GetVpnclientIpsecParameters") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetVpnclientIpsecParametersPreparer(ctx, resourceGroupName, virtualNetworkGatewayName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "GetVpnclientIpsecParameters", nil, "Failure preparing request") + return + } + + result, err = client.GetVpnclientIpsecParametersSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "GetVpnclientIpsecParameters", result.Response(), "Failure sending request") + return + } + + return +} + +// GetVpnclientIpsecParametersPreparer prepares the GetVpnclientIpsecParameters request. +func (client VirtualNetworkGatewaysClient) GetVpnclientIpsecParametersPreparer(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkGatewayName": autorest.Encode("path", virtualNetworkGatewayName), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getvpnclientipsecparameters", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetVpnclientIpsecParametersSender sends the GetVpnclientIpsecParameters request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworkGatewaysClient) GetVpnclientIpsecParametersSender(req *http.Request) (future VirtualNetworkGatewaysGetVpnclientIpsecParametersFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// GetVpnclientIpsecParametersResponder handles the response to the GetVpnclientIpsecParameters request. The method always +// closes the http.Response Body. +func (client VirtualNetworkGatewaysClient) GetVpnclientIpsecParametersResponder(resp *http.Response) (result VpnClientIPsecParameters, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetVpnProfilePackageURL gets pre-generated VPN profile for P2S client of the virtual network gateway in the +// specified resource group. The profile needs to be generated first using generateVpnProfile. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualNetworkGatewayName - the name of the virtual network gateway. +func (client VirtualNetworkGatewaysClient) GetVpnProfilePackageURL(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string) (result VirtualNetworkGatewaysGetVpnProfilePackageURLFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewaysClient.GetVpnProfilePackageURL") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetVpnProfilePackageURLPreparer(ctx, resourceGroupName, virtualNetworkGatewayName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "GetVpnProfilePackageURL", nil, "Failure preparing request") + return + } + + result, err = client.GetVpnProfilePackageURLSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "GetVpnProfilePackageURL", result.Response(), "Failure sending request") + return + } + + return +} + +// GetVpnProfilePackageURLPreparer prepares the GetVpnProfilePackageURL request. +func (client VirtualNetworkGatewaysClient) GetVpnProfilePackageURLPreparer(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkGatewayName": autorest.Encode("path", virtualNetworkGatewayName), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getvpnprofilepackageurl", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetVpnProfilePackageURLSender sends the GetVpnProfilePackageURL request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworkGatewaysClient) GetVpnProfilePackageURLSender(req *http.Request) (future VirtualNetworkGatewaysGetVpnProfilePackageURLFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// GetVpnProfilePackageURLResponder handles the response to the GetVpnProfilePackageURL request. The method always +// closes the http.Response Body. +func (client VirtualNetworkGatewaysClient) GetVpnProfilePackageURLResponder(resp *http.Response) (result String, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets all virtual network gateways by resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +func (client VirtualNetworkGatewaysClient) List(ctx context.Context, resourceGroupName string) (result VirtualNetworkGatewayListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewaysClient.List") + defer func() { + sc := -1 + if result.vnglr.Response.Response != nil { + sc = result.vnglr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.vnglr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "List", resp, "Failure sending request") + return + } + + result.vnglr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client VirtualNetworkGatewaysClient) ListPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworkGatewaysClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client VirtualNetworkGatewaysClient) ListResponder(resp *http.Response) (result VirtualNetworkGatewayListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client VirtualNetworkGatewaysClient) listNextResults(ctx context.Context, lastResults VirtualNetworkGatewayListResult) (result VirtualNetworkGatewayListResult, err error) { + req, err := lastResults.virtualNetworkGatewayListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client VirtualNetworkGatewaysClient) ListComplete(ctx context.Context, resourceGroupName string) (result VirtualNetworkGatewayListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewaysClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName) + return +} + +// ListConnections gets all the connections in a virtual network gateway. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualNetworkGatewayName - the name of the virtual network gateway. +func (client VirtualNetworkGatewaysClient) ListConnections(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string) (result VirtualNetworkGatewayListConnectionsResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewaysClient.ListConnections") + defer func() { + sc := -1 + if result.vnglcr.Response.Response != nil { + sc = result.vnglcr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listConnectionsNextResults + req, err := client.ListConnectionsPreparer(ctx, resourceGroupName, virtualNetworkGatewayName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "ListConnections", nil, "Failure preparing request") + return + } + + resp, err := client.ListConnectionsSender(req) + if err != nil { + result.vnglcr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "ListConnections", resp, "Failure sending request") + return + } + + result.vnglcr, err = client.ListConnectionsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "ListConnections", resp, "Failure responding to request") + } + + return +} + +// ListConnectionsPreparer prepares the ListConnections request. +func (client VirtualNetworkGatewaysClient) ListConnectionsPreparer(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkGatewayName": autorest.Encode("path", virtualNetworkGatewayName), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/connections", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListConnectionsSender sends the ListConnections request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworkGatewaysClient) ListConnectionsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListConnectionsResponder handles the response to the ListConnections request. The method always +// closes the http.Response Body. +func (client VirtualNetworkGatewaysClient) ListConnectionsResponder(resp *http.Response) (result VirtualNetworkGatewayListConnectionsResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listConnectionsNextResults retrieves the next set of results, if any. +func (client VirtualNetworkGatewaysClient) listConnectionsNextResults(ctx context.Context, lastResults VirtualNetworkGatewayListConnectionsResult) (result VirtualNetworkGatewayListConnectionsResult, err error) { + req, err := lastResults.virtualNetworkGatewayListConnectionsResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "listConnectionsNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListConnectionsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "listConnectionsNextResults", resp, "Failure sending next results request") + } + result, err = client.ListConnectionsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "listConnectionsNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListConnectionsComplete enumerates all values, automatically crossing page boundaries as required. +func (client VirtualNetworkGatewaysClient) ListConnectionsComplete(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string) (result VirtualNetworkGatewayListConnectionsResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewaysClient.ListConnections") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListConnections(ctx, resourceGroupName, virtualNetworkGatewayName) + return +} + +// Reset resets the primary of the virtual network gateway in the specified resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualNetworkGatewayName - the name of the virtual network gateway. +// gatewayVip - virtual network gateway vip address supplied to the begin reset of the active-active feature +// enabled gateway. +func (client VirtualNetworkGatewaysClient) Reset(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string, gatewayVip string) (result VirtualNetworkGatewaysResetFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewaysClient.Reset") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ResetPreparer(ctx, resourceGroupName, virtualNetworkGatewayName, gatewayVip) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "Reset", nil, "Failure preparing request") + return + } + + result, err = client.ResetSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "Reset", result.Response(), "Failure sending request") + return + } + + return +} + +// ResetPreparer prepares the Reset request. +func (client VirtualNetworkGatewaysClient) ResetPreparer(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string, gatewayVip string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkGatewayName": autorest.Encode("path", virtualNetworkGatewayName), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(gatewayVip) > 0 { + queryParameters["gatewayVip"] = autorest.Encode("query", gatewayVip) + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/reset", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ResetSender sends the Reset request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworkGatewaysClient) ResetSender(req *http.Request) (future VirtualNetworkGatewaysResetFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// ResetResponder handles the response to the Reset request. The method always +// closes the http.Response Body. +func (client VirtualNetworkGatewaysClient) ResetResponder(resp *http.Response) (result VirtualNetworkGateway, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ResetVpnClientSharedKey resets the VPN client shared key of the virtual network gateway in the specified resource +// group. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualNetworkGatewayName - the name of the virtual network gateway. +func (client VirtualNetworkGatewaysClient) ResetVpnClientSharedKey(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string) (result VirtualNetworkGatewaysResetVpnClientSharedKeyFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewaysClient.ResetVpnClientSharedKey") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ResetVpnClientSharedKeyPreparer(ctx, resourceGroupName, virtualNetworkGatewayName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "ResetVpnClientSharedKey", nil, "Failure preparing request") + return + } + + result, err = client.ResetVpnClientSharedKeySender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "ResetVpnClientSharedKey", result.Response(), "Failure sending request") + return + } + + return +} + +// ResetVpnClientSharedKeyPreparer prepares the ResetVpnClientSharedKey request. +func (client VirtualNetworkGatewaysClient) ResetVpnClientSharedKeyPreparer(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkGatewayName": autorest.Encode("path", virtualNetworkGatewayName), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/resetvpnclientsharedkey", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ResetVpnClientSharedKeySender sends the ResetVpnClientSharedKey request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworkGatewaysClient) ResetVpnClientSharedKeySender(req *http.Request) (future VirtualNetworkGatewaysResetVpnClientSharedKeyFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// ResetVpnClientSharedKeyResponder handles the response to the ResetVpnClientSharedKey request. The method always +// closes the http.Response Body. +func (client VirtualNetworkGatewaysClient) ResetVpnClientSharedKeyResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByClosing()) + result.Response = resp + return +} + +// SetVpnclientIpsecParameters the Set VpnclientIpsecParameters operation sets the vpnclient ipsec policy for P2S +// client of virtual network gateway in the specified resource group through Network resource provider. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualNetworkGatewayName - the name of the virtual network gateway. +// vpnclientIpsecParams - parameters supplied to the Begin Set vpnclient ipsec parameters of Virtual Network +// Gateway P2S client operation through Network resource provider. +func (client VirtualNetworkGatewaysClient) SetVpnclientIpsecParameters(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string, vpnclientIpsecParams VpnClientIPsecParameters) (result VirtualNetworkGatewaysSetVpnclientIpsecParametersFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewaysClient.SetVpnclientIpsecParameters") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: vpnclientIpsecParams, + Constraints: []validation.Constraint{{Target: "vpnclientIpsecParams.SaLifeTimeSeconds", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "vpnclientIpsecParams.SaDataSizeKilobytes", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + return result, validation.NewError("network.VirtualNetworkGatewaysClient", "SetVpnclientIpsecParameters", err.Error()) + } + + req, err := client.SetVpnclientIpsecParametersPreparer(ctx, resourceGroupName, virtualNetworkGatewayName, vpnclientIpsecParams) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "SetVpnclientIpsecParameters", nil, "Failure preparing request") + return + } + + result, err = client.SetVpnclientIpsecParametersSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "SetVpnclientIpsecParameters", result.Response(), "Failure sending request") + return + } + + return +} + +// SetVpnclientIpsecParametersPreparer prepares the SetVpnclientIpsecParameters request. +func (client VirtualNetworkGatewaysClient) SetVpnclientIpsecParametersPreparer(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string, vpnclientIpsecParams VpnClientIPsecParameters) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkGatewayName": autorest.Encode("path", virtualNetworkGatewayName), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/setvpnclientipsecparameters", pathParameters), + autorest.WithJSON(vpnclientIpsecParams), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// SetVpnclientIpsecParametersSender sends the SetVpnclientIpsecParameters request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworkGatewaysClient) SetVpnclientIpsecParametersSender(req *http.Request) (future VirtualNetworkGatewaysSetVpnclientIpsecParametersFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// SetVpnclientIpsecParametersResponder handles the response to the SetVpnclientIpsecParameters request. The method always +// closes the http.Response Body. +func (client VirtualNetworkGatewaysClient) SetVpnclientIpsecParametersResponder(resp *http.Response) (result VpnClientIPsecParameters, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// StartPacketCapture starts packet capture on virtual network gateway in the specified resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualNetworkGatewayName - the name of the virtual network gateway. +// parameters - virtual network gateway packet capture parameters supplied to start packet capture on gateway. +func (client VirtualNetworkGatewaysClient) StartPacketCapture(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string, parameters *VpnPacketCaptureStartParameters) (result VirtualNetworkGatewaysStartPacketCaptureFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewaysClient.StartPacketCapture") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.StartPacketCapturePreparer(ctx, resourceGroupName, virtualNetworkGatewayName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "StartPacketCapture", nil, "Failure preparing request") + return + } + + result, err = client.StartPacketCaptureSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "StartPacketCapture", result.Response(), "Failure sending request") + return + } + + return +} + +// StartPacketCapturePreparer prepares the StartPacketCapture request. +func (client VirtualNetworkGatewaysClient) StartPacketCapturePreparer(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string, parameters *VpnPacketCaptureStartParameters) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkGatewayName": autorest.Encode("path", virtualNetworkGatewayName), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/startPacketCapture", pathParameters), + autorest.WithQueryParameters(queryParameters)) + if parameters != nil { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithJSON(parameters)) + } + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// StartPacketCaptureSender sends the StartPacketCapture request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworkGatewaysClient) StartPacketCaptureSender(req *http.Request) (future VirtualNetworkGatewaysStartPacketCaptureFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// StartPacketCaptureResponder handles the response to the StartPacketCapture request. The method always +// closes the http.Response Body. +func (client VirtualNetworkGatewaysClient) StartPacketCaptureResponder(resp *http.Response) (result String, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// StopPacketCapture stops packet capture on virtual network gateway in the specified resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualNetworkGatewayName - the name of the virtual network gateway. +// parameters - virtual network gateway packet capture parameters supplied to stop packet capture on gateway. +func (client VirtualNetworkGatewaysClient) StopPacketCapture(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string, parameters VpnPacketCaptureStopParameters) (result VirtualNetworkGatewaysStopPacketCaptureFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewaysClient.StopPacketCapture") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.StopPacketCapturePreparer(ctx, resourceGroupName, virtualNetworkGatewayName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "StopPacketCapture", nil, "Failure preparing request") + return + } + + result, err = client.StopPacketCaptureSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "StopPacketCapture", result.Response(), "Failure sending request") + return + } + + return +} + +// StopPacketCapturePreparer prepares the StopPacketCapture request. +func (client VirtualNetworkGatewaysClient) StopPacketCapturePreparer(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string, parameters VpnPacketCaptureStopParameters) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkGatewayName": autorest.Encode("path", virtualNetworkGatewayName), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/stopPacketCapture", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// StopPacketCaptureSender sends the StopPacketCapture request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworkGatewaysClient) StopPacketCaptureSender(req *http.Request) (future VirtualNetworkGatewaysStopPacketCaptureFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// StopPacketCaptureResponder handles the response to the StopPacketCapture request. The method always +// closes the http.Response Body. +func (client VirtualNetworkGatewaysClient) StopPacketCaptureResponder(resp *http.Response) (result String, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// SupportedVpnDevices gets a xml format representation for supported vpn devices. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualNetworkGatewayName - the name of the virtual network gateway. +func (client VirtualNetworkGatewaysClient) SupportedVpnDevices(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string) (result String, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewaysClient.SupportedVpnDevices") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.SupportedVpnDevicesPreparer(ctx, resourceGroupName, virtualNetworkGatewayName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "SupportedVpnDevices", nil, "Failure preparing request") + return + } + + resp, err := client.SupportedVpnDevicesSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "SupportedVpnDevices", resp, "Failure sending request") + return + } + + result, err = client.SupportedVpnDevicesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "SupportedVpnDevices", resp, "Failure responding to request") + } + + return +} + +// SupportedVpnDevicesPreparer prepares the SupportedVpnDevices request. +func (client VirtualNetworkGatewaysClient) SupportedVpnDevicesPreparer(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkGatewayName": autorest.Encode("path", virtualNetworkGatewayName), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/supportedvpndevices", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// SupportedVpnDevicesSender sends the SupportedVpnDevices request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworkGatewaysClient) SupportedVpnDevicesSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// SupportedVpnDevicesResponder handles the response to the SupportedVpnDevices request. The method always +// closes the http.Response Body. +func (client VirtualNetworkGatewaysClient) SupportedVpnDevicesResponder(resp *http.Response) (result String, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result.Value), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// UpdateTags updates a virtual network gateway tags. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualNetworkGatewayName - the name of the virtual network gateway. +// parameters - parameters supplied to update virtual network gateway tags. +func (client VirtualNetworkGatewaysClient) UpdateTags(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string, parameters TagsObject) (result VirtualNetworkGatewaysUpdateTagsFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewaysClient.UpdateTags") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdateTagsPreparer(ctx, resourceGroupName, virtualNetworkGatewayName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "UpdateTags", nil, "Failure preparing request") + return + } + + result, err = client.UpdateTagsSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "UpdateTags", result.Response(), "Failure sending request") + return + } + + return +} + +// UpdateTagsPreparer prepares the UpdateTags request. +func (client VirtualNetworkGatewaysClient) UpdateTagsPreparer(ctx context.Context, resourceGroupName string, virtualNetworkGatewayName string, parameters TagsObject) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkGatewayName": autorest.Encode("path", virtualNetworkGatewayName), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateTagsSender sends the UpdateTags request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworkGatewaysClient) UpdateTagsSender(req *http.Request) (future VirtualNetworkGatewaysUpdateTagsFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// UpdateTagsResponder handles the response to the UpdateTags request. The method always +// closes the http.Response Body. +func (client VirtualNetworkGatewaysClient) UpdateTagsResponder(resp *http.Response) (result VirtualNetworkGateway, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// VpnDeviceConfigurationScript gets a xml format representation for vpn device configuration script. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualNetworkGatewayConnectionName - the name of the virtual network gateway connection for which the +// configuration script is generated. +// parameters - parameters supplied to the generate vpn device script operation. +func (client VirtualNetworkGatewaysClient) VpnDeviceConfigurationScript(ctx context.Context, resourceGroupName string, virtualNetworkGatewayConnectionName string, parameters VpnDeviceScriptParameters) (result String, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkGatewaysClient.VpnDeviceConfigurationScript") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.VpnDeviceConfigurationScriptPreparer(ctx, resourceGroupName, virtualNetworkGatewayConnectionName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "VpnDeviceConfigurationScript", nil, "Failure preparing request") + return + } + + resp, err := client.VpnDeviceConfigurationScriptSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "VpnDeviceConfigurationScript", resp, "Failure sending request") + return + } + + result, err = client.VpnDeviceConfigurationScriptResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkGatewaysClient", "VpnDeviceConfigurationScript", resp, "Failure responding to request") + } + + return +} + +// VpnDeviceConfigurationScriptPreparer prepares the VpnDeviceConfigurationScript request. +func (client VirtualNetworkGatewaysClient) VpnDeviceConfigurationScriptPreparer(ctx context.Context, resourceGroupName string, virtualNetworkGatewayConnectionName string, parameters VpnDeviceScriptParameters) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkGatewayConnectionName": autorest.Encode("path", virtualNetworkGatewayConnectionName), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/vpndeviceconfigurationscript", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// VpnDeviceConfigurationScriptSender sends the VpnDeviceConfigurationScript request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworkGatewaysClient) VpnDeviceConfigurationScriptSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// VpnDeviceConfigurationScriptResponder handles the response to the VpnDeviceConfigurationScript request. The method always +// closes the http.Response Body. +func (client VirtualNetworkGatewaysClient) VpnDeviceConfigurationScriptResponder(resp *http.Response) (result String, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result.Value), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/network/mgmt/2019-08-01/network/virtualnetworkpeerings.go b/services/network/mgmt/2019-08-01/network/virtualnetworkpeerings.go new file mode 100644 index 000000000000..0b5ceb42a552 --- /dev/null +++ b/services/network/mgmt/2019-08-01/network/virtualnetworkpeerings.go @@ -0,0 +1,396 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// VirtualNetworkPeeringsClient is the network Client +type VirtualNetworkPeeringsClient struct { + BaseClient +} + +// NewVirtualNetworkPeeringsClient creates an instance of the VirtualNetworkPeeringsClient client. +func NewVirtualNetworkPeeringsClient(subscriptionID string) VirtualNetworkPeeringsClient { + return NewVirtualNetworkPeeringsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewVirtualNetworkPeeringsClientWithBaseURI creates an instance of the VirtualNetworkPeeringsClient client. +func NewVirtualNetworkPeeringsClientWithBaseURI(baseURI string, subscriptionID string) VirtualNetworkPeeringsClient { + return VirtualNetworkPeeringsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates a peering in the specified virtual network. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualNetworkName - the name of the virtual network. +// virtualNetworkPeeringName - the name of the peering. +// virtualNetworkPeeringParameters - parameters supplied to the create or update virtual network peering +// operation. +func (client VirtualNetworkPeeringsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, virtualNetworkName string, virtualNetworkPeeringName string, virtualNetworkPeeringParameters VirtualNetworkPeering) (result VirtualNetworkPeeringsCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkPeeringsClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, virtualNetworkName, virtualNetworkPeeringName, virtualNetworkPeeringParameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkPeeringsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkPeeringsClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client VirtualNetworkPeeringsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, virtualNetworkName string, virtualNetworkPeeringName string, virtualNetworkPeeringParameters VirtualNetworkPeering) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkName": autorest.Encode("path", virtualNetworkName), + "virtualNetworkPeeringName": autorest.Encode("path", virtualNetworkPeeringName), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/virtualNetworkPeerings/{virtualNetworkPeeringName}", pathParameters), + autorest.WithJSON(virtualNetworkPeeringParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworkPeeringsClient) CreateOrUpdateSender(req *http.Request) (future VirtualNetworkPeeringsCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client VirtualNetworkPeeringsClient) CreateOrUpdateResponder(resp *http.Response) (result VirtualNetworkPeering, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the specified virtual network peering. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualNetworkName - the name of the virtual network. +// virtualNetworkPeeringName - the name of the virtual network peering. +func (client VirtualNetworkPeeringsClient) Delete(ctx context.Context, resourceGroupName string, virtualNetworkName string, virtualNetworkPeeringName string) (result VirtualNetworkPeeringsDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkPeeringsClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, virtualNetworkName, virtualNetworkPeeringName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkPeeringsClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkPeeringsClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client VirtualNetworkPeeringsClient) DeletePreparer(ctx context.Context, resourceGroupName string, virtualNetworkName string, virtualNetworkPeeringName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkName": autorest.Encode("path", virtualNetworkName), + "virtualNetworkPeeringName": autorest.Encode("path", virtualNetworkPeeringName), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/virtualNetworkPeerings/{virtualNetworkPeeringName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworkPeeringsClient) DeleteSender(req *http.Request) (future VirtualNetworkPeeringsDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client VirtualNetworkPeeringsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets the specified virtual network peering. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualNetworkName - the name of the virtual network. +// virtualNetworkPeeringName - the name of the virtual network peering. +func (client VirtualNetworkPeeringsClient) Get(ctx context.Context, resourceGroupName string, virtualNetworkName string, virtualNetworkPeeringName string) (result VirtualNetworkPeering, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkPeeringsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, virtualNetworkName, virtualNetworkPeeringName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkPeeringsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.VirtualNetworkPeeringsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkPeeringsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client VirtualNetworkPeeringsClient) GetPreparer(ctx context.Context, resourceGroupName string, virtualNetworkName string, virtualNetworkPeeringName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkName": autorest.Encode("path", virtualNetworkName), + "virtualNetworkPeeringName": autorest.Encode("path", virtualNetworkPeeringName), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/virtualNetworkPeerings/{virtualNetworkPeeringName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworkPeeringsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client VirtualNetworkPeeringsClient) GetResponder(resp *http.Response) (result VirtualNetworkPeering, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets all virtual network peerings in a virtual network. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualNetworkName - the name of the virtual network. +func (client VirtualNetworkPeeringsClient) List(ctx context.Context, resourceGroupName string, virtualNetworkName string) (result VirtualNetworkPeeringListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkPeeringsClient.List") + defer func() { + sc := -1 + if result.vnplr.Response.Response != nil { + sc = result.vnplr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName, virtualNetworkName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkPeeringsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.vnplr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.VirtualNetworkPeeringsClient", "List", resp, "Failure sending request") + return + } + + result.vnplr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkPeeringsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client VirtualNetworkPeeringsClient) ListPreparer(ctx context.Context, resourceGroupName string, virtualNetworkName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkName": autorest.Encode("path", virtualNetworkName), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/virtualNetworkPeerings", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworkPeeringsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client VirtualNetworkPeeringsClient) ListResponder(resp *http.Response) (result VirtualNetworkPeeringListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client VirtualNetworkPeeringsClient) listNextResults(ctx context.Context, lastResults VirtualNetworkPeeringListResult) (result VirtualNetworkPeeringListResult, err error) { + req, err := lastResults.virtualNetworkPeeringListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.VirtualNetworkPeeringsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.VirtualNetworkPeeringsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkPeeringsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client VirtualNetworkPeeringsClient) ListComplete(ctx context.Context, resourceGroupName string, virtualNetworkName string) (result VirtualNetworkPeeringListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkPeeringsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName, virtualNetworkName) + return +} diff --git a/services/network/mgmt/2019-08-01/network/virtualnetworks.go b/services/network/mgmt/2019-08-01/network/virtualnetworks.go new file mode 100644 index 000000000000..be4433b21b89 --- /dev/null +++ b/services/network/mgmt/2019-08-01/network/virtualnetworks.go @@ -0,0 +1,785 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// VirtualNetworksClient is the network Client +type VirtualNetworksClient struct { + BaseClient +} + +// NewVirtualNetworksClient creates an instance of the VirtualNetworksClient client. +func NewVirtualNetworksClient(subscriptionID string) VirtualNetworksClient { + return NewVirtualNetworksClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewVirtualNetworksClientWithBaseURI creates an instance of the VirtualNetworksClient client. +func NewVirtualNetworksClientWithBaseURI(baseURI string, subscriptionID string) VirtualNetworksClient { + return VirtualNetworksClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CheckIPAddressAvailability checks whether a private IP address is available for use. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualNetworkName - the name of the virtual network. +// IPAddress - the private IP address to be verified. +func (client VirtualNetworksClient) CheckIPAddressAvailability(ctx context.Context, resourceGroupName string, virtualNetworkName string, IPAddress string) (result IPAddressAvailabilityResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworksClient.CheckIPAddressAvailability") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CheckIPAddressAvailabilityPreparer(ctx, resourceGroupName, virtualNetworkName, IPAddress) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "CheckIPAddressAvailability", nil, "Failure preparing request") + return + } + + resp, err := client.CheckIPAddressAvailabilitySender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "CheckIPAddressAvailability", resp, "Failure sending request") + return + } + + result, err = client.CheckIPAddressAvailabilityResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "CheckIPAddressAvailability", resp, "Failure responding to request") + } + + return +} + +// CheckIPAddressAvailabilityPreparer prepares the CheckIPAddressAvailability request. +func (client VirtualNetworksClient) CheckIPAddressAvailabilityPreparer(ctx context.Context, resourceGroupName string, virtualNetworkName string, IPAddress string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkName": autorest.Encode("path", virtualNetworkName), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + "ipAddress": autorest.Encode("query", IPAddress), + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/CheckIPAddressAvailability", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CheckIPAddressAvailabilitySender sends the CheckIPAddressAvailability request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworksClient) CheckIPAddressAvailabilitySender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CheckIPAddressAvailabilityResponder handles the response to the CheckIPAddressAvailability request. The method always +// closes the http.Response Body. +func (client VirtualNetworksClient) CheckIPAddressAvailabilityResponder(resp *http.Response) (result IPAddressAvailabilityResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// CreateOrUpdate creates or updates a virtual network in the specified resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualNetworkName - the name of the virtual network. +// parameters - parameters supplied to the create or update virtual network operation. +func (client VirtualNetworksClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, virtualNetworkName string, parameters VirtualNetwork) (result VirtualNetworksCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworksClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.VirtualNetworkPropertiesFormat", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.VirtualNetworkPropertiesFormat.BgpCommunities", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.VirtualNetworkPropertiesFormat.BgpCommunities.VirtualNetworkCommunity", Name: validation.Null, Rule: true, Chain: nil}}}, + }}}}}); err != nil { + return result, validation.NewError("network.VirtualNetworksClient", "CreateOrUpdate", err.Error()) + } + + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, virtualNetworkName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client VirtualNetworksClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, virtualNetworkName string, parameters VirtualNetwork) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkName": autorest.Encode("path", virtualNetworkName), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworksClient) CreateOrUpdateSender(req *http.Request) (future VirtualNetworksCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client VirtualNetworksClient) CreateOrUpdateResponder(resp *http.Response) (result VirtualNetwork, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the specified virtual network. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualNetworkName - the name of the virtual network. +func (client VirtualNetworksClient) Delete(ctx context.Context, resourceGroupName string, virtualNetworkName string) (result VirtualNetworksDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworksClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, virtualNetworkName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client VirtualNetworksClient) DeletePreparer(ctx context.Context, resourceGroupName string, virtualNetworkName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkName": autorest.Encode("path", virtualNetworkName), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworksClient) DeleteSender(req *http.Request) (future VirtualNetworksDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client VirtualNetworksClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets the specified virtual network by resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualNetworkName - the name of the virtual network. +// expand - expands referenced resources. +func (client VirtualNetworksClient) Get(ctx context.Context, resourceGroupName string, virtualNetworkName string, expand string) (result VirtualNetwork, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworksClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, virtualNetworkName, expand) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client VirtualNetworksClient) GetPreparer(ctx context.Context, resourceGroupName string, virtualNetworkName string, expand string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkName": autorest.Encode("path", virtualNetworkName), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(expand) > 0 { + queryParameters["$expand"] = autorest.Encode("query", expand) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworksClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client VirtualNetworksClient) GetResponder(resp *http.Response) (result VirtualNetwork, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets all virtual networks in a resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +func (client VirtualNetworksClient) List(ctx context.Context, resourceGroupName string) (result VirtualNetworkListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworksClient.List") + defer func() { + sc := -1 + if result.vnlr.Response.Response != nil { + sc = result.vnlr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.vnlr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "List", resp, "Failure sending request") + return + } + + result.vnlr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client VirtualNetworksClient) ListPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworksClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client VirtualNetworksClient) ListResponder(resp *http.Response) (result VirtualNetworkListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client VirtualNetworksClient) listNextResults(ctx context.Context, lastResults VirtualNetworkListResult) (result VirtualNetworkListResult, err error) { + req, err := lastResults.virtualNetworkListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client VirtualNetworksClient) ListComplete(ctx context.Context, resourceGroupName string) (result VirtualNetworkListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworksClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName) + return +} + +// ListAll gets all virtual networks in a subscription. +func (client VirtualNetworksClient) ListAll(ctx context.Context) (result VirtualNetworkListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworksClient.ListAll") + defer func() { + sc := -1 + if result.vnlr.Response.Response != nil { + sc = result.vnlr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listAllNextResults + req, err := client.ListAllPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "ListAll", nil, "Failure preparing request") + return + } + + resp, err := client.ListAllSender(req) + if err != nil { + result.vnlr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "ListAll", resp, "Failure sending request") + return + } + + result.vnlr, err = client.ListAllResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "ListAll", resp, "Failure responding to request") + } + + return +} + +// ListAllPreparer prepares the ListAll request. +func (client VirtualNetworksClient) ListAllPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/virtualNetworks", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListAllSender sends the ListAll request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworksClient) ListAllSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListAllResponder handles the response to the ListAll request. The method always +// closes the http.Response Body. +func (client VirtualNetworksClient) ListAllResponder(resp *http.Response) (result VirtualNetworkListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listAllNextResults retrieves the next set of results, if any. +func (client VirtualNetworksClient) listAllNextResults(ctx context.Context, lastResults VirtualNetworkListResult) (result VirtualNetworkListResult, err error) { + req, err := lastResults.virtualNetworkListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "listAllNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListAllSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "listAllNextResults", resp, "Failure sending next results request") + } + result, err = client.ListAllResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "listAllNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListAllComplete enumerates all values, automatically crossing page boundaries as required. +func (client VirtualNetworksClient) ListAllComplete(ctx context.Context) (result VirtualNetworkListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworksClient.ListAll") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListAll(ctx) + return +} + +// ListUsage lists usage stats. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualNetworkName - the name of the virtual network. +func (client VirtualNetworksClient) ListUsage(ctx context.Context, resourceGroupName string, virtualNetworkName string) (result VirtualNetworkListUsageResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworksClient.ListUsage") + defer func() { + sc := -1 + if result.vnlur.Response.Response != nil { + sc = result.vnlur.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listUsageNextResults + req, err := client.ListUsagePreparer(ctx, resourceGroupName, virtualNetworkName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "ListUsage", nil, "Failure preparing request") + return + } + + resp, err := client.ListUsageSender(req) + if err != nil { + result.vnlur.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "ListUsage", resp, "Failure sending request") + return + } + + result.vnlur, err = client.ListUsageResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "ListUsage", resp, "Failure responding to request") + } + + return +} + +// ListUsagePreparer prepares the ListUsage request. +func (client VirtualNetworksClient) ListUsagePreparer(ctx context.Context, resourceGroupName string, virtualNetworkName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkName": autorest.Encode("path", virtualNetworkName), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/usages", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListUsageSender sends the ListUsage request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworksClient) ListUsageSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListUsageResponder handles the response to the ListUsage request. The method always +// closes the http.Response Body. +func (client VirtualNetworksClient) ListUsageResponder(resp *http.Response) (result VirtualNetworkListUsageResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listUsageNextResults retrieves the next set of results, if any. +func (client VirtualNetworksClient) listUsageNextResults(ctx context.Context, lastResults VirtualNetworkListUsageResult) (result VirtualNetworkListUsageResult, err error) { + req, err := lastResults.virtualNetworkListUsageResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "listUsageNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListUsageSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "listUsageNextResults", resp, "Failure sending next results request") + } + result, err = client.ListUsageResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "listUsageNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListUsageComplete enumerates all values, automatically crossing page boundaries as required. +func (client VirtualNetworksClient) ListUsageComplete(ctx context.Context, resourceGroupName string, virtualNetworkName string) (result VirtualNetworkListUsageResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworksClient.ListUsage") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListUsage(ctx, resourceGroupName, virtualNetworkName) + return +} + +// UpdateTags updates a virtual network tags. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualNetworkName - the name of the virtual network. +// parameters - parameters supplied to update virtual network tags. +func (client VirtualNetworksClient) UpdateTags(ctx context.Context, resourceGroupName string, virtualNetworkName string, parameters TagsObject) (result VirtualNetworksUpdateTagsFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworksClient.UpdateTags") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdateTagsPreparer(ctx, resourceGroupName, virtualNetworkName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "UpdateTags", nil, "Failure preparing request") + return + } + + result, err = client.UpdateTagsSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworksClient", "UpdateTags", result.Response(), "Failure sending request") + return + } + + return +} + +// UpdateTagsPreparer prepares the UpdateTags request. +func (client VirtualNetworksClient) UpdateTagsPreparer(ctx context.Context, resourceGroupName string, virtualNetworkName string, parameters TagsObject) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualNetworkName": autorest.Encode("path", virtualNetworkName), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateTagsSender sends the UpdateTags request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworksClient) UpdateTagsSender(req *http.Request) (future VirtualNetworksUpdateTagsFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// UpdateTagsResponder handles the response to the UpdateTags request. The method always +// closes the http.Response Body. +func (client VirtualNetworksClient) UpdateTagsResponder(resp *http.Response) (result VirtualNetwork, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/network/mgmt/2019-08-01/network/virtualnetworktaps.go b/services/network/mgmt/2019-08-01/network/virtualnetworktaps.go new file mode 100644 index 000000000000..a4f25dd38ffa --- /dev/null +++ b/services/network/mgmt/2019-08-01/network/virtualnetworktaps.go @@ -0,0 +1,609 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// VirtualNetworkTapsClient is the network Client +type VirtualNetworkTapsClient struct { + BaseClient +} + +// NewVirtualNetworkTapsClient creates an instance of the VirtualNetworkTapsClient client. +func NewVirtualNetworkTapsClient(subscriptionID string) VirtualNetworkTapsClient { + return NewVirtualNetworkTapsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewVirtualNetworkTapsClientWithBaseURI creates an instance of the VirtualNetworkTapsClient client. +func NewVirtualNetworkTapsClientWithBaseURI(baseURI string, subscriptionID string) VirtualNetworkTapsClient { + return VirtualNetworkTapsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates a Virtual Network Tap. +// Parameters: +// resourceGroupName - the name of the resource group. +// tapName - the name of the virtual network tap. +// parameters - parameters supplied to the create or update virtual network tap operation. +func (client VirtualNetworkTapsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, tapName string, parameters VirtualNetworkTap) (result VirtualNetworkTapsCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkTapsClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.VirtualNetworkTapPropertiesFormat", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.VirtualNetworkTapPropertiesFormat.DestinationNetworkInterfaceIPConfiguration", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.VirtualNetworkTapPropertiesFormat.DestinationNetworkInterfaceIPConfiguration.InterfaceIPConfigurationPropertiesFormat", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.VirtualNetworkTapPropertiesFormat.DestinationNetworkInterfaceIPConfiguration.InterfaceIPConfigurationPropertiesFormat.PublicIPAddress", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.VirtualNetworkTapPropertiesFormat.DestinationNetworkInterfaceIPConfiguration.InterfaceIPConfigurationPropertiesFormat.PublicIPAddress.PublicIPAddressPropertiesFormat", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.VirtualNetworkTapPropertiesFormat.DestinationNetworkInterfaceIPConfiguration.InterfaceIPConfigurationPropertiesFormat.PublicIPAddress.PublicIPAddressPropertiesFormat.IPConfiguration", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.VirtualNetworkTapPropertiesFormat.DestinationNetworkInterfaceIPConfiguration.InterfaceIPConfigurationPropertiesFormat.PublicIPAddress.PublicIPAddressPropertiesFormat.IPConfiguration.IPConfigurationPropertiesFormat", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.VirtualNetworkTapPropertiesFormat.DestinationNetworkInterfaceIPConfiguration.InterfaceIPConfigurationPropertiesFormat.PublicIPAddress.PublicIPAddressPropertiesFormat.IPConfiguration.IPConfigurationPropertiesFormat.PublicIPAddress", Name: validation.Null, Rule: false, Chain: nil}}}, + }}, + }}, + }}, + }}, + }}, + {Target: "parameters.VirtualNetworkTapPropertiesFormat.DestinationLoadBalancerFrontEndIPConfiguration", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.VirtualNetworkTapPropertiesFormat.DestinationLoadBalancerFrontEndIPConfiguration.FrontendIPConfigurationPropertiesFormat", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.VirtualNetworkTapPropertiesFormat.DestinationLoadBalancerFrontEndIPConfiguration.FrontendIPConfigurationPropertiesFormat.PublicIPAddress", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.VirtualNetworkTapPropertiesFormat.DestinationLoadBalancerFrontEndIPConfiguration.FrontendIPConfigurationPropertiesFormat.PublicIPAddress.PublicIPAddressPropertiesFormat", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.VirtualNetworkTapPropertiesFormat.DestinationLoadBalancerFrontEndIPConfiguration.FrontendIPConfigurationPropertiesFormat.PublicIPAddress.PublicIPAddressPropertiesFormat.IPConfiguration", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.VirtualNetworkTapPropertiesFormat.DestinationLoadBalancerFrontEndIPConfiguration.FrontendIPConfigurationPropertiesFormat.PublicIPAddress.PublicIPAddressPropertiesFormat.IPConfiguration.IPConfigurationPropertiesFormat", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.VirtualNetworkTapPropertiesFormat.DestinationLoadBalancerFrontEndIPConfiguration.FrontendIPConfigurationPropertiesFormat.PublicIPAddress.PublicIPAddressPropertiesFormat.IPConfiguration.IPConfigurationPropertiesFormat.PublicIPAddress", Name: validation.Null, Rule: false, Chain: nil}}}, + }}, + }}, + }}, + }}, + }}, + }}}}}); err != nil { + return result, validation.NewError("network.VirtualNetworkTapsClient", "CreateOrUpdate", err.Error()) + } + + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, tapName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkTapsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkTapsClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client VirtualNetworkTapsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, tapName string, parameters VirtualNetworkTap) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "tapName": autorest.Encode("path", tapName), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkTaps/{tapName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworkTapsClient) CreateOrUpdateSender(req *http.Request) (future VirtualNetworkTapsCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client VirtualNetworkTapsClient) CreateOrUpdateResponder(resp *http.Response) (result VirtualNetworkTap, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the specified virtual network tap. +// Parameters: +// resourceGroupName - the name of the resource group. +// tapName - the name of the virtual network tap. +func (client VirtualNetworkTapsClient) Delete(ctx context.Context, resourceGroupName string, tapName string) (result VirtualNetworkTapsDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkTapsClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, tapName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkTapsClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkTapsClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client VirtualNetworkTapsClient) DeletePreparer(ctx context.Context, resourceGroupName string, tapName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "tapName": autorest.Encode("path", tapName), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkTaps/{tapName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworkTapsClient) DeleteSender(req *http.Request) (future VirtualNetworkTapsDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client VirtualNetworkTapsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets information about the specified virtual network tap. +// Parameters: +// resourceGroupName - the name of the resource group. +// tapName - the name of virtual network tap. +func (client VirtualNetworkTapsClient) Get(ctx context.Context, resourceGroupName string, tapName string) (result VirtualNetworkTap, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkTapsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, tapName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkTapsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.VirtualNetworkTapsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkTapsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client VirtualNetworkTapsClient) GetPreparer(ctx context.Context, resourceGroupName string, tapName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "tapName": autorest.Encode("path", tapName), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkTaps/{tapName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworkTapsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client VirtualNetworkTapsClient) GetResponder(resp *http.Response) (result VirtualNetworkTap, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListAll gets all the VirtualNetworkTaps in a subscription. +func (client VirtualNetworkTapsClient) ListAll(ctx context.Context) (result VirtualNetworkTapListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkTapsClient.ListAll") + defer func() { + sc := -1 + if result.vntlr.Response.Response != nil { + sc = result.vntlr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listAllNextResults + req, err := client.ListAllPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkTapsClient", "ListAll", nil, "Failure preparing request") + return + } + + resp, err := client.ListAllSender(req) + if err != nil { + result.vntlr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.VirtualNetworkTapsClient", "ListAll", resp, "Failure sending request") + return + } + + result.vntlr, err = client.ListAllResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkTapsClient", "ListAll", resp, "Failure responding to request") + } + + return +} + +// ListAllPreparer prepares the ListAll request. +func (client VirtualNetworkTapsClient) ListAllPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/virtualNetworkTaps", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListAllSender sends the ListAll request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworkTapsClient) ListAllSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListAllResponder handles the response to the ListAll request. The method always +// closes the http.Response Body. +func (client VirtualNetworkTapsClient) ListAllResponder(resp *http.Response) (result VirtualNetworkTapListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listAllNextResults retrieves the next set of results, if any. +func (client VirtualNetworkTapsClient) listAllNextResults(ctx context.Context, lastResults VirtualNetworkTapListResult) (result VirtualNetworkTapListResult, err error) { + req, err := lastResults.virtualNetworkTapListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.VirtualNetworkTapsClient", "listAllNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListAllSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.VirtualNetworkTapsClient", "listAllNextResults", resp, "Failure sending next results request") + } + result, err = client.ListAllResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkTapsClient", "listAllNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListAllComplete enumerates all values, automatically crossing page boundaries as required. +func (client VirtualNetworkTapsClient) ListAllComplete(ctx context.Context) (result VirtualNetworkTapListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkTapsClient.ListAll") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListAll(ctx) + return +} + +// ListByResourceGroup gets all the VirtualNetworkTaps in a subscription. +// Parameters: +// resourceGroupName - the name of the resource group. +func (client VirtualNetworkTapsClient) ListByResourceGroup(ctx context.Context, resourceGroupName string) (result VirtualNetworkTapListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkTapsClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.vntlr.Response.Response != nil { + sc = result.vntlr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listByResourceGroupNextResults + req, err := client.ListByResourceGroupPreparer(ctx, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkTapsClient", "ListByResourceGroup", nil, "Failure preparing request") + return + } + + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.vntlr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.VirtualNetworkTapsClient", "ListByResourceGroup", resp, "Failure sending request") + return + } + + result.vntlr, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkTapsClient", "ListByResourceGroup", resp, "Failure responding to request") + } + + return +} + +// ListByResourceGroupPreparer prepares the ListByResourceGroup request. +func (client VirtualNetworkTapsClient) ListByResourceGroupPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkTaps", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByResourceGroupSender sends the ListByResourceGroup request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworkTapsClient) ListByResourceGroupSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByResourceGroupResponder handles the response to the ListByResourceGroup request. The method always +// closes the http.Response Body. +func (client VirtualNetworkTapsClient) ListByResourceGroupResponder(resp *http.Response) (result VirtualNetworkTapListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listByResourceGroupNextResults retrieves the next set of results, if any. +func (client VirtualNetworkTapsClient) listByResourceGroupNextResults(ctx context.Context, lastResults VirtualNetworkTapListResult) (result VirtualNetworkTapListResult, err error) { + req, err := lastResults.virtualNetworkTapListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.VirtualNetworkTapsClient", "listByResourceGroupNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.VirtualNetworkTapsClient", "listByResourceGroupNextResults", resp, "Failure sending next results request") + } + result, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkTapsClient", "listByResourceGroupNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListByResourceGroupComplete enumerates all values, automatically crossing page boundaries as required. +func (client VirtualNetworkTapsClient) ListByResourceGroupComplete(ctx context.Context, resourceGroupName string) (result VirtualNetworkTapListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkTapsClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListByResourceGroup(ctx, resourceGroupName) + return +} + +// UpdateTags updates an VirtualNetworkTap tags. +// Parameters: +// resourceGroupName - the name of the resource group. +// tapName - the name of the tap. +// tapParameters - parameters supplied to update VirtualNetworkTap tags. +func (client VirtualNetworkTapsClient) UpdateTags(ctx context.Context, resourceGroupName string, tapName string, tapParameters TagsObject) (result VirtualNetworkTapsUpdateTagsFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualNetworkTapsClient.UpdateTags") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdateTagsPreparer(ctx, resourceGroupName, tapName, tapParameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkTapsClient", "UpdateTags", nil, "Failure preparing request") + return + } + + result, err = client.UpdateTagsSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualNetworkTapsClient", "UpdateTags", result.Response(), "Failure sending request") + return + } + + return +} + +// UpdateTagsPreparer prepares the UpdateTags request. +func (client VirtualNetworkTapsClient) UpdateTagsPreparer(ctx context.Context, resourceGroupName string, tapName string, tapParameters TagsObject) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "tapName": autorest.Encode("path", tapName), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkTaps/{tapName}", pathParameters), + autorest.WithJSON(tapParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateTagsSender sends the UpdateTags request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualNetworkTapsClient) UpdateTagsSender(req *http.Request) (future VirtualNetworkTapsUpdateTagsFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// UpdateTagsResponder handles the response to the UpdateTags request. The method always +// closes the http.Response Body. +func (client VirtualNetworkTapsClient) UpdateTagsResponder(resp *http.Response) (result VirtualNetworkTap, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/network/mgmt/2019-08-01/network/virtualrouterpeerings.go b/services/network/mgmt/2019-08-01/network/virtualrouterpeerings.go new file mode 100644 index 000000000000..55dd313274dc --- /dev/null +++ b/services/network/mgmt/2019-08-01/network/virtualrouterpeerings.go @@ -0,0 +1,493 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// VirtualRouterPeeringsClient is the network Client +type VirtualRouterPeeringsClient struct { + BaseClient +} + +// NewVirtualRouterPeeringsClient creates an instance of the VirtualRouterPeeringsClient client. +func NewVirtualRouterPeeringsClient(subscriptionID string) VirtualRouterPeeringsClient { + return NewVirtualRouterPeeringsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewVirtualRouterPeeringsClientWithBaseURI creates an instance of the VirtualRouterPeeringsClient client. +func NewVirtualRouterPeeringsClientWithBaseURI(baseURI string, subscriptionID string) VirtualRouterPeeringsClient { + return VirtualRouterPeeringsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates the specified Virtual Router Peering. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualRouterName - the name of the Virtual Router. +// peeringName - the name of the Virtual Router Peering. +// parameters - parameters supplied to the create or update Virtual Router Peering operation. +func (client VirtualRouterPeeringsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, virtualRouterName string, peeringName string, parameters VirtualRouterPeering) (result VirtualRouterPeeringsCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualRouterPeeringsClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.VirtualRouterPeeringProperties", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.VirtualRouterPeeringProperties.PeerAsn", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.VirtualRouterPeeringProperties.PeerAsn", Name: validation.InclusiveMaximum, Rule: int64(4294967295), Chain: nil}, + {Target: "parameters.VirtualRouterPeeringProperties.PeerAsn", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}, + }}, + }}}}}); err != nil { + return result, validation.NewError("network.VirtualRouterPeeringsClient", "CreateOrUpdate", err.Error()) + } + + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, virtualRouterName, peeringName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualRouterPeeringsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualRouterPeeringsClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client VirtualRouterPeeringsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, virtualRouterName string, peeringName string, parameters VirtualRouterPeering) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "peeringName": autorest.Encode("path", peeringName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualRouterName": autorest.Encode("path", virtualRouterName), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + parameters.Etag = nil + parameters.Type = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualRouters/{virtualRouterName}/peerings/{peeringName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualRouterPeeringsClient) CreateOrUpdateSender(req *http.Request) (future VirtualRouterPeeringsCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client VirtualRouterPeeringsClient) CreateOrUpdateResponder(resp *http.Response) (result VirtualRouterPeering, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the specified peering from a Virtual Router. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualRouterName - the name of the Virtual Router. +// peeringName - the name of the peering. +func (client VirtualRouterPeeringsClient) Delete(ctx context.Context, resourceGroupName string, virtualRouterName string, peeringName string) (result VirtualRouterPeeringsDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualRouterPeeringsClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, virtualRouterName, peeringName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualRouterPeeringsClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualRouterPeeringsClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client VirtualRouterPeeringsClient) DeletePreparer(ctx context.Context, resourceGroupName string, virtualRouterName string, peeringName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "peeringName": autorest.Encode("path", peeringName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualRouterName": autorest.Encode("path", virtualRouterName), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualRouters/{virtualRouterName}/peerings/{peeringName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualRouterPeeringsClient) DeleteSender(req *http.Request) (future VirtualRouterPeeringsDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client VirtualRouterPeeringsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets the specified Virtual Router Peering. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualRouterName - the name of the Virtual Router. +// peeringName - the name of the Virtual Router Peering. +func (client VirtualRouterPeeringsClient) Get(ctx context.Context, resourceGroupName string, virtualRouterName string, peeringName string) (result VirtualRouterPeering, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualRouterPeeringsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, virtualRouterName, peeringName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualRouterPeeringsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.VirtualRouterPeeringsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualRouterPeeringsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client VirtualRouterPeeringsClient) GetPreparer(ctx context.Context, resourceGroupName string, virtualRouterName string, peeringName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "peeringName": autorest.Encode("path", peeringName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualRouterName": autorest.Encode("path", virtualRouterName), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualRouters/{virtualRouterName}/peerings/{peeringName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualRouterPeeringsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client VirtualRouterPeeringsClient) GetResponder(resp *http.Response) (result VirtualRouterPeering, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List lists all Virtual Router Peerings in a Virtual Router resource. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualRouterName - the name of the Virtual Router. +func (client VirtualRouterPeeringsClient) List(ctx context.Context, resourceGroupName string, virtualRouterName string) (result VirtualRouterPeeringListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualRouterPeeringsClient.List") + defer func() { + sc := -1 + if result.vrplr.Response.Response != nil { + sc = result.vrplr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName, virtualRouterName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualRouterPeeringsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.vrplr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.VirtualRouterPeeringsClient", "List", resp, "Failure sending request") + return + } + + result.vrplr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualRouterPeeringsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client VirtualRouterPeeringsClient) ListPreparer(ctx context.Context, resourceGroupName string, virtualRouterName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualRouterName": autorest.Encode("path", virtualRouterName), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualRouters/{virtualRouterName}/peerings", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualRouterPeeringsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client VirtualRouterPeeringsClient) ListResponder(resp *http.Response) (result VirtualRouterPeeringListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client VirtualRouterPeeringsClient) listNextResults(ctx context.Context, lastResults VirtualRouterPeeringListResult) (result VirtualRouterPeeringListResult, err error) { + req, err := lastResults.virtualRouterPeeringListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.VirtualRouterPeeringsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.VirtualRouterPeeringsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualRouterPeeringsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client VirtualRouterPeeringsClient) ListComplete(ctx context.Context, resourceGroupName string, virtualRouterName string) (result VirtualRouterPeeringListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualRouterPeeringsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName, virtualRouterName) + return +} + +// Update updates a Virtual Router Peering. +// Parameters: +// resourceGroupName - the resource group name of the Virtual Router Peering. +// virtualRouterName - the name of the Virtual Router. +// peeringName - the name of the Virtual Router Peering being updated. +// parameters - parameters supplied to update Virtual Router Peering operation. +func (client VirtualRouterPeeringsClient) Update(ctx context.Context, resourceGroupName string, virtualRouterName string, peeringName string, parameters VirtualRouterPeering) (result VirtualRouterPeering, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualRouterPeeringsClient.Update") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdatePreparer(ctx, resourceGroupName, virtualRouterName, peeringName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualRouterPeeringsClient", "Update", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.VirtualRouterPeeringsClient", "Update", resp, "Failure sending request") + return + } + + result, err = client.UpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualRouterPeeringsClient", "Update", resp, "Failure responding to request") + } + + return +} + +// UpdatePreparer prepares the Update request. +func (client VirtualRouterPeeringsClient) UpdatePreparer(ctx context.Context, resourceGroupName string, virtualRouterName string, peeringName string, parameters VirtualRouterPeering) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "peeringName": autorest.Encode("path", peeringName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualRouterName": autorest.Encode("path", virtualRouterName), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + parameters.Etag = nil + parameters.Type = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualRouters/{virtualRouterName}/peerings/{peeringName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateSender sends the Update request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualRouterPeeringsClient) UpdateSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// UpdateResponder handles the response to the Update request. The method always +// closes the http.Response Body. +func (client VirtualRouterPeeringsClient) UpdateResponder(resp *http.Response) (result VirtualRouterPeering, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/network/mgmt/2019-08-01/network/virtualrouters.go b/services/network/mgmt/2019-08-01/network/virtualrouters.go new file mode 100644 index 000000000000..ee236acb095e --- /dev/null +++ b/services/network/mgmt/2019-08-01/network/virtualrouters.go @@ -0,0 +1,594 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// VirtualRoutersClient is the network Client +type VirtualRoutersClient struct { + BaseClient +} + +// NewVirtualRoutersClient creates an instance of the VirtualRoutersClient client. +func NewVirtualRoutersClient(subscriptionID string) VirtualRoutersClient { + return NewVirtualRoutersClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewVirtualRoutersClientWithBaseURI creates an instance of the VirtualRoutersClient client. +func NewVirtualRoutersClientWithBaseURI(baseURI string, subscriptionID string) VirtualRoutersClient { + return VirtualRoutersClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates the specified Virtual Router. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualRouterName - the name of the Virtual Router. +// parameters - parameters supplied to the create or update Virtual Router. +func (client VirtualRoutersClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, virtualRouterName string, parameters VirtualRouter) (result VirtualRoutersCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualRoutersClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.VirtualRouterPropertiesFormat", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.VirtualRouterPropertiesFormat.VirtualRouterAsn", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.VirtualRouterPropertiesFormat.VirtualRouterAsn", Name: validation.InclusiveMaximum, Rule: int64(4294967295), Chain: nil}, + {Target: "parameters.VirtualRouterPropertiesFormat.VirtualRouterAsn", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}, + }}, + }}}}}); err != nil { + return result, validation.NewError("network.VirtualRoutersClient", "CreateOrUpdate", err.Error()) + } + + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, virtualRouterName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualRoutersClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualRoutersClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client VirtualRoutersClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, virtualRouterName string, parameters VirtualRouter) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualRouterName": autorest.Encode("path", virtualRouterName), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + parameters.Etag = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualRouters/{virtualRouterName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualRoutersClient) CreateOrUpdateSender(req *http.Request) (future VirtualRoutersCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client VirtualRoutersClient) CreateOrUpdateResponder(resp *http.Response) (result VirtualRouter, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the specified Virtual Router. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualRouterName - the name of the Virtual Router. +func (client VirtualRoutersClient) Delete(ctx context.Context, resourceGroupName string, virtualRouterName string) (result VirtualRoutersDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualRoutersClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, virtualRouterName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualRoutersClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualRoutersClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client VirtualRoutersClient) DeletePreparer(ctx context.Context, resourceGroupName string, virtualRouterName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualRouterName": autorest.Encode("path", virtualRouterName), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualRouters/{virtualRouterName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualRoutersClient) DeleteSender(req *http.Request) (future VirtualRoutersDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client VirtualRoutersClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets the specified Virtual Router. +// Parameters: +// resourceGroupName - the name of the resource group. +// virtualRouterName - the name of the Virtual Router. +// expand - expands referenced resources. +func (client VirtualRoutersClient) Get(ctx context.Context, resourceGroupName string, virtualRouterName string, expand string) (result VirtualRouter, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualRoutersClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, virtualRouterName, expand) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualRoutersClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.VirtualRoutersClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualRoutersClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client VirtualRoutersClient) GetPreparer(ctx context.Context, resourceGroupName string, virtualRouterName string, expand string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualRouterName": autorest.Encode("path", virtualRouterName), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(expand) > 0 { + queryParameters["$expand"] = autorest.Encode("query", expand) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualRouters/{virtualRouterName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualRoutersClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client VirtualRoutersClient) GetResponder(resp *http.Response) (result VirtualRouter, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets all the Virtual Routers in a subscription. +func (client VirtualRoutersClient) List(ctx context.Context) (result VirtualRouterListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualRoutersClient.List") + defer func() { + sc := -1 + if result.vrlr.Response.Response != nil { + sc = result.vrlr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualRoutersClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.vrlr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.VirtualRoutersClient", "List", resp, "Failure sending request") + return + } + + result.vrlr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualRoutersClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client VirtualRoutersClient) ListPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/virtualRouters", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualRoutersClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client VirtualRoutersClient) ListResponder(resp *http.Response) (result VirtualRouterListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client VirtualRoutersClient) listNextResults(ctx context.Context, lastResults VirtualRouterListResult) (result VirtualRouterListResult, err error) { + req, err := lastResults.virtualRouterListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.VirtualRoutersClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.VirtualRoutersClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualRoutersClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client VirtualRoutersClient) ListComplete(ctx context.Context) (result VirtualRouterListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualRoutersClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx) + return +} + +// ListByResourceGroup lists all Virtual Routers in a resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +func (client VirtualRoutersClient) ListByResourceGroup(ctx context.Context, resourceGroupName string) (result VirtualRouterListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualRoutersClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.vrlr.Response.Response != nil { + sc = result.vrlr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listByResourceGroupNextResults + req, err := client.ListByResourceGroupPreparer(ctx, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualRoutersClient", "ListByResourceGroup", nil, "Failure preparing request") + return + } + + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.vrlr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.VirtualRoutersClient", "ListByResourceGroup", resp, "Failure sending request") + return + } + + result.vrlr, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualRoutersClient", "ListByResourceGroup", resp, "Failure responding to request") + } + + return +} + +// ListByResourceGroupPreparer prepares the ListByResourceGroup request. +func (client VirtualRoutersClient) ListByResourceGroupPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualRouters", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByResourceGroupSender sends the ListByResourceGroup request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualRoutersClient) ListByResourceGroupSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByResourceGroupResponder handles the response to the ListByResourceGroup request. The method always +// closes the http.Response Body. +func (client VirtualRoutersClient) ListByResourceGroupResponder(resp *http.Response) (result VirtualRouterListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listByResourceGroupNextResults retrieves the next set of results, if any. +func (client VirtualRoutersClient) listByResourceGroupNextResults(ctx context.Context, lastResults VirtualRouterListResult) (result VirtualRouterListResult, err error) { + req, err := lastResults.virtualRouterListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.VirtualRoutersClient", "listByResourceGroupNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.VirtualRoutersClient", "listByResourceGroupNextResults", resp, "Failure sending next results request") + } + result, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualRoutersClient", "listByResourceGroupNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListByResourceGroupComplete enumerates all values, automatically crossing page boundaries as required. +func (client VirtualRoutersClient) ListByResourceGroupComplete(ctx context.Context, resourceGroupName string) (result VirtualRouterListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualRoutersClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListByResourceGroup(ctx, resourceGroupName) + return +} + +// Update updates a Virtual Router. +// Parameters: +// resourceGroupName - the resource group name of the Virtual Router. +// virtualRouterName - the name of the Virtual Router being updated. +// parameters - parameters supplied to Update Virtual Router Tags. +func (client VirtualRoutersClient) Update(ctx context.Context, resourceGroupName string, virtualRouterName string, parameters TagsObject) (result VirtualRouter, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualRoutersClient.Update") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdatePreparer(ctx, resourceGroupName, virtualRouterName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualRoutersClient", "Update", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.VirtualRoutersClient", "Update", resp, "Failure sending request") + return + } + + result, err = client.UpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualRoutersClient", "Update", resp, "Failure responding to request") + } + + return +} + +// UpdatePreparer prepares the Update request. +func (client VirtualRoutersClient) UpdatePreparer(ctx context.Context, resourceGroupName string, virtualRouterName string, parameters TagsObject) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualRouterName": autorest.Encode("path", virtualRouterName), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualRouters/{virtualRouterName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateSender sends the Update request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualRoutersClient) UpdateSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// UpdateResponder handles the response to the Update request. The method always +// closes the http.Response Body. +func (client VirtualRoutersClient) UpdateResponder(resp *http.Response) (result VirtualRouter, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/network/mgmt/2019-08-01/network/virtualwans.go b/services/network/mgmt/2019-08-01/network/virtualwans.go new file mode 100644 index 000000000000..c35f44ded067 --- /dev/null +++ b/services/network/mgmt/2019-08-01/network/virtualwans.go @@ -0,0 +1,578 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// VirtualWansClient is the network Client +type VirtualWansClient struct { + BaseClient +} + +// NewVirtualWansClient creates an instance of the VirtualWansClient client. +func NewVirtualWansClient(subscriptionID string) VirtualWansClient { + return NewVirtualWansClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewVirtualWansClientWithBaseURI creates an instance of the VirtualWansClient client. +func NewVirtualWansClientWithBaseURI(baseURI string, subscriptionID string) VirtualWansClient { + return VirtualWansClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates a VirtualWAN resource if it doesn't exist else updates the existing VirtualWAN. +// Parameters: +// resourceGroupName - the resource group name of the VirtualWan. +// virtualWANName - the name of the VirtualWAN being created or updated. +// wANParameters - parameters supplied to create or update VirtualWAN. +func (client VirtualWansClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, virtualWANName string, wANParameters VirtualWAN) (result VirtualWansCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualWansClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, virtualWANName, wANParameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualWansClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualWansClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client VirtualWansClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, virtualWANName string, wANParameters VirtualWAN) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "VirtualWANName": autorest.Encode("path", virtualWANName), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + wANParameters.Etag = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{VirtualWANName}", pathParameters), + autorest.WithJSON(wANParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualWansClient) CreateOrUpdateSender(req *http.Request) (future VirtualWansCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client VirtualWansClient) CreateOrUpdateResponder(resp *http.Response) (result VirtualWAN, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes a VirtualWAN. +// Parameters: +// resourceGroupName - the resource group name of the VirtualWan. +// virtualWANName - the name of the VirtualWAN being deleted. +func (client VirtualWansClient) Delete(ctx context.Context, resourceGroupName string, virtualWANName string) (result VirtualWansDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualWansClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, virtualWANName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualWansClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualWansClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client VirtualWansClient) DeletePreparer(ctx context.Context, resourceGroupName string, virtualWANName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "VirtualWANName": autorest.Encode("path", virtualWANName), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{VirtualWANName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualWansClient) DeleteSender(req *http.Request) (future VirtualWansDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client VirtualWansClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get retrieves the details of a VirtualWAN. +// Parameters: +// resourceGroupName - the resource group name of the VirtualWan. +// virtualWANName - the name of the VirtualWAN being retrieved. +func (client VirtualWansClient) Get(ctx context.Context, resourceGroupName string, virtualWANName string) (result VirtualWAN, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualWansClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, virtualWANName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualWansClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.VirtualWansClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualWansClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client VirtualWansClient) GetPreparer(ctx context.Context, resourceGroupName string, virtualWANName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "VirtualWANName": autorest.Encode("path", virtualWANName), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{VirtualWANName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualWansClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client VirtualWansClient) GetResponder(resp *http.Response) (result VirtualWAN, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List lists all the VirtualWANs in a subscription. +func (client VirtualWansClient) List(ctx context.Context) (result ListVirtualWANsResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualWansClient.List") + defer func() { + sc := -1 + if result.lvwnr.Response.Response != nil { + sc = result.lvwnr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualWansClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.lvwnr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.VirtualWansClient", "List", resp, "Failure sending request") + return + } + + result.lvwnr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualWansClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client VirtualWansClient) ListPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/virtualWans", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualWansClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client VirtualWansClient) ListResponder(resp *http.Response) (result ListVirtualWANsResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client VirtualWansClient) listNextResults(ctx context.Context, lastResults ListVirtualWANsResult) (result ListVirtualWANsResult, err error) { + req, err := lastResults.listVirtualWANsResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.VirtualWansClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.VirtualWansClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualWansClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client VirtualWansClient) ListComplete(ctx context.Context) (result ListVirtualWANsResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualWansClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx) + return +} + +// ListByResourceGroup lists all the VirtualWANs in a resource group. +// Parameters: +// resourceGroupName - the resource group name of the VirtualWan. +func (client VirtualWansClient) ListByResourceGroup(ctx context.Context, resourceGroupName string) (result ListVirtualWANsResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualWansClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.lvwnr.Response.Response != nil { + sc = result.lvwnr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listByResourceGroupNextResults + req, err := client.ListByResourceGroupPreparer(ctx, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualWansClient", "ListByResourceGroup", nil, "Failure preparing request") + return + } + + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.lvwnr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.VirtualWansClient", "ListByResourceGroup", resp, "Failure sending request") + return + } + + result.lvwnr, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualWansClient", "ListByResourceGroup", resp, "Failure responding to request") + } + + return +} + +// ListByResourceGroupPreparer prepares the ListByResourceGroup request. +func (client VirtualWansClient) ListByResourceGroupPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByResourceGroupSender sends the ListByResourceGroup request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualWansClient) ListByResourceGroupSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByResourceGroupResponder handles the response to the ListByResourceGroup request. The method always +// closes the http.Response Body. +func (client VirtualWansClient) ListByResourceGroupResponder(resp *http.Response) (result ListVirtualWANsResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listByResourceGroupNextResults retrieves the next set of results, if any. +func (client VirtualWansClient) listByResourceGroupNextResults(ctx context.Context, lastResults ListVirtualWANsResult) (result ListVirtualWANsResult, err error) { + req, err := lastResults.listVirtualWANsResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.VirtualWansClient", "listByResourceGroupNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.VirtualWansClient", "listByResourceGroupNextResults", resp, "Failure sending next results request") + } + result, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualWansClient", "listByResourceGroupNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListByResourceGroupComplete enumerates all values, automatically crossing page boundaries as required. +func (client VirtualWansClient) ListByResourceGroupComplete(ctx context.Context, resourceGroupName string) (result ListVirtualWANsResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualWansClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListByResourceGroup(ctx, resourceGroupName) + return +} + +// UpdateTags updates a VirtualWAN tags. +// Parameters: +// resourceGroupName - the resource group name of the VirtualWan. +// virtualWANName - the name of the VirtualWAN being updated. +// wANParameters - parameters supplied to Update VirtualWAN tags. +func (client VirtualWansClient) UpdateTags(ctx context.Context, resourceGroupName string, virtualWANName string, wANParameters TagsObject) (result VirtualWansUpdateTagsFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VirtualWansClient.UpdateTags") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdateTagsPreparer(ctx, resourceGroupName, virtualWANName, wANParameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualWansClient", "UpdateTags", nil, "Failure preparing request") + return + } + + result, err = client.UpdateTagsSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VirtualWansClient", "UpdateTags", result.Response(), "Failure sending request") + return + } + + return +} + +// UpdateTagsPreparer prepares the UpdateTags request. +func (client VirtualWansClient) UpdateTagsPreparer(ctx context.Context, resourceGroupName string, virtualWANName string, wANParameters TagsObject) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "VirtualWANName": autorest.Encode("path", virtualWANName), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{VirtualWANName}", pathParameters), + autorest.WithJSON(wANParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateTagsSender sends the UpdateTags request. The method will close the +// http.Response Body if it receives an error. +func (client VirtualWansClient) UpdateTagsSender(req *http.Request) (future VirtualWansUpdateTagsFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// UpdateTagsResponder handles the response to the UpdateTags request. The method always +// closes the http.Response Body. +func (client VirtualWansClient) UpdateTagsResponder(resp *http.Response) (result VirtualWAN, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/network/mgmt/2019-08-01/network/vpnconnections.go b/services/network/mgmt/2019-08-01/network/vpnconnections.go new file mode 100644 index 000000000000..f8f082690493 --- /dev/null +++ b/services/network/mgmt/2019-08-01/network/vpnconnections.go @@ -0,0 +1,397 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// VpnConnectionsClient is the network Client +type VpnConnectionsClient struct { + BaseClient +} + +// NewVpnConnectionsClient creates an instance of the VpnConnectionsClient client. +func NewVpnConnectionsClient(subscriptionID string) VpnConnectionsClient { + return NewVpnConnectionsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewVpnConnectionsClientWithBaseURI creates an instance of the VpnConnectionsClient client. +func NewVpnConnectionsClientWithBaseURI(baseURI string, subscriptionID string) VpnConnectionsClient { + return VpnConnectionsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates a vpn connection to a scalable vpn gateway if it doesn't exist else updates the existing +// connection. +// Parameters: +// resourceGroupName - the resource group name of the VpnGateway. +// gatewayName - the name of the gateway. +// connectionName - the name of the connection. +// vpnConnectionParameters - parameters supplied to create or Update a VPN Connection. +func (client VpnConnectionsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, gatewayName string, connectionName string, vpnConnectionParameters VpnConnection) (result VpnConnectionsCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VpnConnectionsClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, gatewayName, connectionName, vpnConnectionParameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnConnectionsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnConnectionsClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client VpnConnectionsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, gatewayName string, connectionName string, vpnConnectionParameters VpnConnection) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "connectionName": autorest.Encode("path", connectionName), + "gatewayName": autorest.Encode("path", gatewayName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + vpnConnectionParameters.Etag = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}/vpnConnections/{connectionName}", pathParameters), + autorest.WithJSON(vpnConnectionParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client VpnConnectionsClient) CreateOrUpdateSender(req *http.Request) (future VpnConnectionsCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client VpnConnectionsClient) CreateOrUpdateResponder(resp *http.Response) (result VpnConnection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes a vpn connection. +// Parameters: +// resourceGroupName - the resource group name of the VpnGateway. +// gatewayName - the name of the gateway. +// connectionName - the name of the connection. +func (client VpnConnectionsClient) Delete(ctx context.Context, resourceGroupName string, gatewayName string, connectionName string) (result VpnConnectionsDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VpnConnectionsClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, gatewayName, connectionName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnConnectionsClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnConnectionsClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client VpnConnectionsClient) DeletePreparer(ctx context.Context, resourceGroupName string, gatewayName string, connectionName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "connectionName": autorest.Encode("path", connectionName), + "gatewayName": autorest.Encode("path", gatewayName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}/vpnConnections/{connectionName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client VpnConnectionsClient) DeleteSender(req *http.Request) (future VpnConnectionsDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client VpnConnectionsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get retrieves the details of a vpn connection. +// Parameters: +// resourceGroupName - the resource group name of the VpnGateway. +// gatewayName - the name of the gateway. +// connectionName - the name of the vpn connection. +func (client VpnConnectionsClient) Get(ctx context.Context, resourceGroupName string, gatewayName string, connectionName string) (result VpnConnection, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VpnConnectionsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, gatewayName, connectionName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnConnectionsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.VpnConnectionsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnConnectionsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client VpnConnectionsClient) GetPreparer(ctx context.Context, resourceGroupName string, gatewayName string, connectionName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "connectionName": autorest.Encode("path", connectionName), + "gatewayName": autorest.Encode("path", gatewayName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}/vpnConnections/{connectionName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client VpnConnectionsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client VpnConnectionsClient) GetResponder(resp *http.Response) (result VpnConnection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByVpnGateway retrieves all vpn connections for a particular virtual wan vpn gateway. +// Parameters: +// resourceGroupName - the resource group name of the VpnGateway. +// gatewayName - the name of the gateway. +func (client VpnConnectionsClient) ListByVpnGateway(ctx context.Context, resourceGroupName string, gatewayName string) (result ListVpnConnectionsResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VpnConnectionsClient.ListByVpnGateway") + defer func() { + sc := -1 + if result.lvcr.Response.Response != nil { + sc = result.lvcr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listByVpnGatewayNextResults + req, err := client.ListByVpnGatewayPreparer(ctx, resourceGroupName, gatewayName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnConnectionsClient", "ListByVpnGateway", nil, "Failure preparing request") + return + } + + resp, err := client.ListByVpnGatewaySender(req) + if err != nil { + result.lvcr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.VpnConnectionsClient", "ListByVpnGateway", resp, "Failure sending request") + return + } + + result.lvcr, err = client.ListByVpnGatewayResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnConnectionsClient", "ListByVpnGateway", resp, "Failure responding to request") + } + + return +} + +// ListByVpnGatewayPreparer prepares the ListByVpnGateway request. +func (client VpnConnectionsClient) ListByVpnGatewayPreparer(ctx context.Context, resourceGroupName string, gatewayName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "gatewayName": autorest.Encode("path", gatewayName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}/vpnConnections", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByVpnGatewaySender sends the ListByVpnGateway request. The method will close the +// http.Response Body if it receives an error. +func (client VpnConnectionsClient) ListByVpnGatewaySender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByVpnGatewayResponder handles the response to the ListByVpnGateway request. The method always +// closes the http.Response Body. +func (client VpnConnectionsClient) ListByVpnGatewayResponder(resp *http.Response) (result ListVpnConnectionsResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listByVpnGatewayNextResults retrieves the next set of results, if any. +func (client VpnConnectionsClient) listByVpnGatewayNextResults(ctx context.Context, lastResults ListVpnConnectionsResult) (result ListVpnConnectionsResult, err error) { + req, err := lastResults.listVpnConnectionsResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.VpnConnectionsClient", "listByVpnGatewayNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListByVpnGatewaySender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.VpnConnectionsClient", "listByVpnGatewayNextResults", resp, "Failure sending next results request") + } + result, err = client.ListByVpnGatewayResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnConnectionsClient", "listByVpnGatewayNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListByVpnGatewayComplete enumerates all values, automatically crossing page boundaries as required. +func (client VpnConnectionsClient) ListByVpnGatewayComplete(ctx context.Context, resourceGroupName string, gatewayName string) (result ListVpnConnectionsResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VpnConnectionsClient.ListByVpnGateway") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListByVpnGateway(ctx, resourceGroupName, gatewayName) + return +} diff --git a/services/network/mgmt/2019-08-01/network/vpngateways.go b/services/network/mgmt/2019-08-01/network/vpngateways.go new file mode 100644 index 000000000000..95df48106c51 --- /dev/null +++ b/services/network/mgmt/2019-08-01/network/vpngateways.go @@ -0,0 +1,655 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// VpnGatewaysClient is the network Client +type VpnGatewaysClient struct { + BaseClient +} + +// NewVpnGatewaysClient creates an instance of the VpnGatewaysClient client. +func NewVpnGatewaysClient(subscriptionID string) VpnGatewaysClient { + return NewVpnGatewaysClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewVpnGatewaysClientWithBaseURI creates an instance of the VpnGatewaysClient client. +func NewVpnGatewaysClientWithBaseURI(baseURI string, subscriptionID string) VpnGatewaysClient { + return VpnGatewaysClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates a virtual wan vpn gateway if it doesn't exist else updates the existing gateway. +// Parameters: +// resourceGroupName - the resource group name of the VpnGateway. +// gatewayName - the name of the gateway. +// vpnGatewayParameters - parameters supplied to create or Update a virtual wan vpn gateway. +func (client VpnGatewaysClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, gatewayName string, vpnGatewayParameters VpnGateway) (result VpnGatewaysCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VpnGatewaysClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, gatewayName, vpnGatewayParameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnGatewaysClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnGatewaysClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client VpnGatewaysClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, gatewayName string, vpnGatewayParameters VpnGateway) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "gatewayName": autorest.Encode("path", gatewayName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + vpnGatewayParameters.Etag = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}", pathParameters), + autorest.WithJSON(vpnGatewayParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client VpnGatewaysClient) CreateOrUpdateSender(req *http.Request) (future VpnGatewaysCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client VpnGatewaysClient) CreateOrUpdateResponder(resp *http.Response) (result VpnGateway, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes a virtual wan vpn gateway. +// Parameters: +// resourceGroupName - the resource group name of the VpnGateway. +// gatewayName - the name of the gateway. +func (client VpnGatewaysClient) Delete(ctx context.Context, resourceGroupName string, gatewayName string) (result VpnGatewaysDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VpnGatewaysClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, gatewayName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnGatewaysClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnGatewaysClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client VpnGatewaysClient) DeletePreparer(ctx context.Context, resourceGroupName string, gatewayName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "gatewayName": autorest.Encode("path", gatewayName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client VpnGatewaysClient) DeleteSender(req *http.Request) (future VpnGatewaysDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client VpnGatewaysClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get retrieves the details of a virtual wan vpn gateway. +// Parameters: +// resourceGroupName - the resource group name of the VpnGateway. +// gatewayName - the name of the gateway. +func (client VpnGatewaysClient) Get(ctx context.Context, resourceGroupName string, gatewayName string) (result VpnGateway, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VpnGatewaysClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, gatewayName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnGatewaysClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.VpnGatewaysClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnGatewaysClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client VpnGatewaysClient) GetPreparer(ctx context.Context, resourceGroupName string, gatewayName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "gatewayName": autorest.Encode("path", gatewayName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client VpnGatewaysClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client VpnGatewaysClient) GetResponder(resp *http.Response) (result VpnGateway, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List lists all the VpnGateways in a subscription. +func (client VpnGatewaysClient) List(ctx context.Context) (result ListVpnGatewaysResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VpnGatewaysClient.List") + defer func() { + sc := -1 + if result.lvgr.Response.Response != nil { + sc = result.lvgr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnGatewaysClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.lvgr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.VpnGatewaysClient", "List", resp, "Failure sending request") + return + } + + result.lvgr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnGatewaysClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client VpnGatewaysClient) ListPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/vpnGateways", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client VpnGatewaysClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client VpnGatewaysClient) ListResponder(resp *http.Response) (result ListVpnGatewaysResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client VpnGatewaysClient) listNextResults(ctx context.Context, lastResults ListVpnGatewaysResult) (result ListVpnGatewaysResult, err error) { + req, err := lastResults.listVpnGatewaysResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.VpnGatewaysClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.VpnGatewaysClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnGatewaysClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client VpnGatewaysClient) ListComplete(ctx context.Context) (result ListVpnGatewaysResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VpnGatewaysClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx) + return +} + +// ListByResourceGroup lists all the VpnGateways in a resource group. +// Parameters: +// resourceGroupName - the resource group name of the VpnGateway. +func (client VpnGatewaysClient) ListByResourceGroup(ctx context.Context, resourceGroupName string) (result ListVpnGatewaysResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VpnGatewaysClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.lvgr.Response.Response != nil { + sc = result.lvgr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listByResourceGroupNextResults + req, err := client.ListByResourceGroupPreparer(ctx, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnGatewaysClient", "ListByResourceGroup", nil, "Failure preparing request") + return + } + + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.lvgr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.VpnGatewaysClient", "ListByResourceGroup", resp, "Failure sending request") + return + } + + result.lvgr, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnGatewaysClient", "ListByResourceGroup", resp, "Failure responding to request") + } + + return +} + +// ListByResourceGroupPreparer prepares the ListByResourceGroup request. +func (client VpnGatewaysClient) ListByResourceGroupPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByResourceGroupSender sends the ListByResourceGroup request. The method will close the +// http.Response Body if it receives an error. +func (client VpnGatewaysClient) ListByResourceGroupSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByResourceGroupResponder handles the response to the ListByResourceGroup request. The method always +// closes the http.Response Body. +func (client VpnGatewaysClient) ListByResourceGroupResponder(resp *http.Response) (result ListVpnGatewaysResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listByResourceGroupNextResults retrieves the next set of results, if any. +func (client VpnGatewaysClient) listByResourceGroupNextResults(ctx context.Context, lastResults ListVpnGatewaysResult) (result ListVpnGatewaysResult, err error) { + req, err := lastResults.listVpnGatewaysResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.VpnGatewaysClient", "listByResourceGroupNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.VpnGatewaysClient", "listByResourceGroupNextResults", resp, "Failure sending next results request") + } + result, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnGatewaysClient", "listByResourceGroupNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListByResourceGroupComplete enumerates all values, automatically crossing page boundaries as required. +func (client VpnGatewaysClient) ListByResourceGroupComplete(ctx context.Context, resourceGroupName string) (result ListVpnGatewaysResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VpnGatewaysClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListByResourceGroup(ctx, resourceGroupName) + return +} + +// Reset resets the primary of the vpn gateway in the specified resource group. +// Parameters: +// resourceGroupName - the resource group name of the VpnGateway. +// gatewayName - the name of the gateway. +func (client VpnGatewaysClient) Reset(ctx context.Context, resourceGroupName string, gatewayName string) (result VpnGatewaysResetFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VpnGatewaysClient.Reset") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ResetPreparer(ctx, resourceGroupName, gatewayName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnGatewaysClient", "Reset", nil, "Failure preparing request") + return + } + + result, err = client.ResetSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnGatewaysClient", "Reset", result.Response(), "Failure sending request") + return + } + + return +} + +// ResetPreparer prepares the Reset request. +func (client VpnGatewaysClient) ResetPreparer(ctx context.Context, resourceGroupName string, gatewayName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "gatewayName": autorest.Encode("path", gatewayName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}/reset", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ResetSender sends the Reset request. The method will close the +// http.Response Body if it receives an error. +func (client VpnGatewaysClient) ResetSender(req *http.Request) (future VpnGatewaysResetFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// ResetResponder handles the response to the Reset request. The method always +// closes the http.Response Body. +func (client VpnGatewaysClient) ResetResponder(resp *http.Response) (result VpnGateway, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// UpdateTags updates virtual wan vpn gateway tags. +// Parameters: +// resourceGroupName - the resource group name of the VpnGateway. +// gatewayName - the name of the gateway. +// vpnGatewayParameters - parameters supplied to update a virtual wan vpn gateway tags. +func (client VpnGatewaysClient) UpdateTags(ctx context.Context, resourceGroupName string, gatewayName string, vpnGatewayParameters TagsObject) (result VpnGatewaysUpdateTagsFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VpnGatewaysClient.UpdateTags") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdateTagsPreparer(ctx, resourceGroupName, gatewayName, vpnGatewayParameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnGatewaysClient", "UpdateTags", nil, "Failure preparing request") + return + } + + result, err = client.UpdateTagsSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnGatewaysClient", "UpdateTags", result.Response(), "Failure sending request") + return + } + + return +} + +// UpdateTagsPreparer prepares the UpdateTags request. +func (client VpnGatewaysClient) UpdateTagsPreparer(ctx context.Context, resourceGroupName string, gatewayName string, vpnGatewayParameters TagsObject) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "gatewayName": autorest.Encode("path", gatewayName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}", pathParameters), + autorest.WithJSON(vpnGatewayParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateTagsSender sends the UpdateTags request. The method will close the +// http.Response Body if it receives an error. +func (client VpnGatewaysClient) UpdateTagsSender(req *http.Request) (future VpnGatewaysUpdateTagsFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// UpdateTagsResponder handles the response to the UpdateTags request. The method always +// closes the http.Response Body. +func (client VpnGatewaysClient) UpdateTagsResponder(resp *http.Response) (result VpnGateway, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/network/mgmt/2019-08-01/network/vpnlinkconnections.go b/services/network/mgmt/2019-08-01/network/vpnlinkconnections.go new file mode 100644 index 000000000000..76b448861fb3 --- /dev/null +++ b/services/network/mgmt/2019-08-01/network/vpnlinkconnections.go @@ -0,0 +1,158 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// VpnLinkConnectionsClient is the network Client +type VpnLinkConnectionsClient struct { + BaseClient +} + +// NewVpnLinkConnectionsClient creates an instance of the VpnLinkConnectionsClient client. +func NewVpnLinkConnectionsClient(subscriptionID string) VpnLinkConnectionsClient { + return NewVpnLinkConnectionsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewVpnLinkConnectionsClientWithBaseURI creates an instance of the VpnLinkConnectionsClient client. +func NewVpnLinkConnectionsClientWithBaseURI(baseURI string, subscriptionID string) VpnLinkConnectionsClient { + return VpnLinkConnectionsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// ListByVpnConnection retrieves all vpn site link connections for a particular virtual wan vpn gateway vpn connection. +// Parameters: +// resourceGroupName - the resource group name of the VpnGateway. +// gatewayName - the name of the gateway. +// connectionName - the name of the vpn connection. +func (client VpnLinkConnectionsClient) ListByVpnConnection(ctx context.Context, resourceGroupName string, gatewayName string, connectionName string) (result ListVpnSiteLinkConnectionsResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VpnLinkConnectionsClient.ListByVpnConnection") + defer func() { + sc := -1 + if result.lvslcr.Response.Response != nil { + sc = result.lvslcr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listByVpnConnectionNextResults + req, err := client.ListByVpnConnectionPreparer(ctx, resourceGroupName, gatewayName, connectionName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnLinkConnectionsClient", "ListByVpnConnection", nil, "Failure preparing request") + return + } + + resp, err := client.ListByVpnConnectionSender(req) + if err != nil { + result.lvslcr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.VpnLinkConnectionsClient", "ListByVpnConnection", resp, "Failure sending request") + return + } + + result.lvslcr, err = client.ListByVpnConnectionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnLinkConnectionsClient", "ListByVpnConnection", resp, "Failure responding to request") + } + + return +} + +// ListByVpnConnectionPreparer prepares the ListByVpnConnection request. +func (client VpnLinkConnectionsClient) ListByVpnConnectionPreparer(ctx context.Context, resourceGroupName string, gatewayName string, connectionName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "connectionName": autorest.Encode("path", connectionName), + "gatewayName": autorest.Encode("path", gatewayName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}/vpnConnections/{connectionName}/vpnLinkConnections", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByVpnConnectionSender sends the ListByVpnConnection request. The method will close the +// http.Response Body if it receives an error. +func (client VpnLinkConnectionsClient) ListByVpnConnectionSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByVpnConnectionResponder handles the response to the ListByVpnConnection request. The method always +// closes the http.Response Body. +func (client VpnLinkConnectionsClient) ListByVpnConnectionResponder(resp *http.Response) (result ListVpnSiteLinkConnectionsResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listByVpnConnectionNextResults retrieves the next set of results, if any. +func (client VpnLinkConnectionsClient) listByVpnConnectionNextResults(ctx context.Context, lastResults ListVpnSiteLinkConnectionsResult) (result ListVpnSiteLinkConnectionsResult, err error) { + req, err := lastResults.listVpnSiteLinkConnectionsResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.VpnLinkConnectionsClient", "listByVpnConnectionNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListByVpnConnectionSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.VpnLinkConnectionsClient", "listByVpnConnectionNextResults", resp, "Failure sending next results request") + } + result, err = client.ListByVpnConnectionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnLinkConnectionsClient", "listByVpnConnectionNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListByVpnConnectionComplete enumerates all values, automatically crossing page boundaries as required. +func (client VpnLinkConnectionsClient) ListByVpnConnectionComplete(ctx context.Context, resourceGroupName string, gatewayName string, connectionName string) (result ListVpnSiteLinkConnectionsResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VpnLinkConnectionsClient.ListByVpnConnection") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListByVpnConnection(ctx, resourceGroupName, gatewayName, connectionName) + return +} diff --git a/services/network/mgmt/2019-08-01/network/vpnserverconfigurations.go b/services/network/mgmt/2019-08-01/network/vpnserverconfigurations.go new file mode 100644 index 000000000000..6eb66841fe40 --- /dev/null +++ b/services/network/mgmt/2019-08-01/network/vpnserverconfigurations.go @@ -0,0 +1,579 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// VpnServerConfigurationsClient is the network Client +type VpnServerConfigurationsClient struct { + BaseClient +} + +// NewVpnServerConfigurationsClient creates an instance of the VpnServerConfigurationsClient client. +func NewVpnServerConfigurationsClient(subscriptionID string) VpnServerConfigurationsClient { + return NewVpnServerConfigurationsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewVpnServerConfigurationsClientWithBaseURI creates an instance of the VpnServerConfigurationsClient client. +func NewVpnServerConfigurationsClientWithBaseURI(baseURI string, subscriptionID string) VpnServerConfigurationsClient { + return VpnServerConfigurationsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates a VpnServerConfiguration resource if it doesn't exist else updates the existing +// VpnServerConfiguration. +// Parameters: +// resourceGroupName - the resource group name of the VpnServerConfiguration. +// vpnServerConfigurationName - the name of the VpnServerConfiguration being created or updated. +// vpnServerConfigurationParameters - parameters supplied to create or update VpnServerConfiguration. +func (client VpnServerConfigurationsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, vpnServerConfigurationName string, vpnServerConfigurationParameters VpnServerConfiguration) (result VpnServerConfigurationsCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VpnServerConfigurationsClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, vpnServerConfigurationName, vpnServerConfigurationParameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnServerConfigurationsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnServerConfigurationsClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client VpnServerConfigurationsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, vpnServerConfigurationName string, vpnServerConfigurationParameters VpnServerConfiguration) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "vpnServerConfigurationName": autorest.Encode("path", vpnServerConfigurationName), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + vpnServerConfigurationParameters.Etag = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnServerConfigurations/{vpnServerConfigurationName}", pathParameters), + autorest.WithJSON(vpnServerConfigurationParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client VpnServerConfigurationsClient) CreateOrUpdateSender(req *http.Request) (future VpnServerConfigurationsCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client VpnServerConfigurationsClient) CreateOrUpdateResponder(resp *http.Response) (result VpnServerConfiguration, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes a VpnServerConfiguration. +// Parameters: +// resourceGroupName - the resource group name of the VpnServerConfiguration. +// vpnServerConfigurationName - the name of the VpnServerConfiguration being deleted. +func (client VpnServerConfigurationsClient) Delete(ctx context.Context, resourceGroupName string, vpnServerConfigurationName string) (result VpnServerConfigurationsDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VpnServerConfigurationsClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, vpnServerConfigurationName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnServerConfigurationsClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnServerConfigurationsClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client VpnServerConfigurationsClient) DeletePreparer(ctx context.Context, resourceGroupName string, vpnServerConfigurationName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "vpnServerConfigurationName": autorest.Encode("path", vpnServerConfigurationName), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnServerConfigurations/{vpnServerConfigurationName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client VpnServerConfigurationsClient) DeleteSender(req *http.Request) (future VpnServerConfigurationsDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client VpnServerConfigurationsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get retrieves the details of a VpnServerConfiguration. +// Parameters: +// resourceGroupName - the resource group name of the VpnServerConfiguration. +// vpnServerConfigurationName - the name of the VpnServerConfiguration being retrieved. +func (client VpnServerConfigurationsClient) Get(ctx context.Context, resourceGroupName string, vpnServerConfigurationName string) (result VpnServerConfiguration, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VpnServerConfigurationsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, vpnServerConfigurationName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnServerConfigurationsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.VpnServerConfigurationsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnServerConfigurationsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client VpnServerConfigurationsClient) GetPreparer(ctx context.Context, resourceGroupName string, vpnServerConfigurationName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "vpnServerConfigurationName": autorest.Encode("path", vpnServerConfigurationName), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnServerConfigurations/{vpnServerConfigurationName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client VpnServerConfigurationsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client VpnServerConfigurationsClient) GetResponder(resp *http.Response) (result VpnServerConfiguration, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List lists all the VpnServerConfigurations in a subscription. +func (client VpnServerConfigurationsClient) List(ctx context.Context) (result ListVpnServerConfigurationsResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VpnServerConfigurationsClient.List") + defer func() { + sc := -1 + if result.lvscr.Response.Response != nil { + sc = result.lvscr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnServerConfigurationsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.lvscr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.VpnServerConfigurationsClient", "List", resp, "Failure sending request") + return + } + + result.lvscr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnServerConfigurationsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client VpnServerConfigurationsClient) ListPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/vpnServerConfigurations", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client VpnServerConfigurationsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client VpnServerConfigurationsClient) ListResponder(resp *http.Response) (result ListVpnServerConfigurationsResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client VpnServerConfigurationsClient) listNextResults(ctx context.Context, lastResults ListVpnServerConfigurationsResult) (result ListVpnServerConfigurationsResult, err error) { + req, err := lastResults.listVpnServerConfigurationsResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.VpnServerConfigurationsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.VpnServerConfigurationsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnServerConfigurationsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client VpnServerConfigurationsClient) ListComplete(ctx context.Context) (result ListVpnServerConfigurationsResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VpnServerConfigurationsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx) + return +} + +// ListByResourceGroup lists all the vpnServerConfigurations in a resource group. +// Parameters: +// resourceGroupName - the resource group name of the VpnServerConfiguration. +func (client VpnServerConfigurationsClient) ListByResourceGroup(ctx context.Context, resourceGroupName string) (result ListVpnServerConfigurationsResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VpnServerConfigurationsClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.lvscr.Response.Response != nil { + sc = result.lvscr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listByResourceGroupNextResults + req, err := client.ListByResourceGroupPreparer(ctx, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnServerConfigurationsClient", "ListByResourceGroup", nil, "Failure preparing request") + return + } + + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.lvscr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.VpnServerConfigurationsClient", "ListByResourceGroup", resp, "Failure sending request") + return + } + + result.lvscr, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnServerConfigurationsClient", "ListByResourceGroup", resp, "Failure responding to request") + } + + return +} + +// ListByResourceGroupPreparer prepares the ListByResourceGroup request. +func (client VpnServerConfigurationsClient) ListByResourceGroupPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnServerConfigurations", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByResourceGroupSender sends the ListByResourceGroup request. The method will close the +// http.Response Body if it receives an error. +func (client VpnServerConfigurationsClient) ListByResourceGroupSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByResourceGroupResponder handles the response to the ListByResourceGroup request. The method always +// closes the http.Response Body. +func (client VpnServerConfigurationsClient) ListByResourceGroupResponder(resp *http.Response) (result ListVpnServerConfigurationsResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listByResourceGroupNextResults retrieves the next set of results, if any. +func (client VpnServerConfigurationsClient) listByResourceGroupNextResults(ctx context.Context, lastResults ListVpnServerConfigurationsResult) (result ListVpnServerConfigurationsResult, err error) { + req, err := lastResults.listVpnServerConfigurationsResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.VpnServerConfigurationsClient", "listByResourceGroupNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.VpnServerConfigurationsClient", "listByResourceGroupNextResults", resp, "Failure sending next results request") + } + result, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnServerConfigurationsClient", "listByResourceGroupNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListByResourceGroupComplete enumerates all values, automatically crossing page boundaries as required. +func (client VpnServerConfigurationsClient) ListByResourceGroupComplete(ctx context.Context, resourceGroupName string) (result ListVpnServerConfigurationsResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VpnServerConfigurationsClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListByResourceGroup(ctx, resourceGroupName) + return +} + +// UpdateTags updates VpnServerConfiguration tags. +// Parameters: +// resourceGroupName - the resource group name of the VpnServerConfiguration. +// vpnServerConfigurationName - the name of the VpnServerConfiguration being updated. +// vpnServerConfigurationParameters - parameters supplied to update VpnServerConfiguration tags. +func (client VpnServerConfigurationsClient) UpdateTags(ctx context.Context, resourceGroupName string, vpnServerConfigurationName string, vpnServerConfigurationParameters TagsObject) (result VpnServerConfigurationsUpdateTagsFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VpnServerConfigurationsClient.UpdateTags") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdateTagsPreparer(ctx, resourceGroupName, vpnServerConfigurationName, vpnServerConfigurationParameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnServerConfigurationsClient", "UpdateTags", nil, "Failure preparing request") + return + } + + result, err = client.UpdateTagsSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnServerConfigurationsClient", "UpdateTags", result.Response(), "Failure sending request") + return + } + + return +} + +// UpdateTagsPreparer prepares the UpdateTags request. +func (client VpnServerConfigurationsClient) UpdateTagsPreparer(ctx context.Context, resourceGroupName string, vpnServerConfigurationName string, vpnServerConfigurationParameters TagsObject) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "vpnServerConfigurationName": autorest.Encode("path", vpnServerConfigurationName), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnServerConfigurations/{vpnServerConfigurationName}", pathParameters), + autorest.WithJSON(vpnServerConfigurationParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateTagsSender sends the UpdateTags request. The method will close the +// http.Response Body if it receives an error. +func (client VpnServerConfigurationsClient) UpdateTagsSender(req *http.Request) (future VpnServerConfigurationsUpdateTagsFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// UpdateTagsResponder handles the response to the UpdateTags request. The method always +// closes the http.Response Body. +func (client VpnServerConfigurationsClient) UpdateTagsResponder(resp *http.Response) (result VpnServerConfiguration, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/network/mgmt/2019-08-01/network/vpnserverconfigurationsassociatedwithvirtualwan.go b/services/network/mgmt/2019-08-01/network/vpnserverconfigurationsassociatedwithvirtualwan.go new file mode 100644 index 000000000000..3fdb70a04b23 --- /dev/null +++ b/services/network/mgmt/2019-08-01/network/vpnserverconfigurationsassociatedwithvirtualwan.go @@ -0,0 +1,120 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// VpnServerConfigurationsAssociatedWithVirtualWanClient is the network Client +type VpnServerConfigurationsAssociatedWithVirtualWanClient struct { + BaseClient +} + +// NewVpnServerConfigurationsAssociatedWithVirtualWanClient creates an instance of the +// VpnServerConfigurationsAssociatedWithVirtualWanClient client. +func NewVpnServerConfigurationsAssociatedWithVirtualWanClient(subscriptionID string) VpnServerConfigurationsAssociatedWithVirtualWanClient { + return NewVpnServerConfigurationsAssociatedWithVirtualWanClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewVpnServerConfigurationsAssociatedWithVirtualWanClientWithBaseURI creates an instance of the +// VpnServerConfigurationsAssociatedWithVirtualWanClient client. +func NewVpnServerConfigurationsAssociatedWithVirtualWanClientWithBaseURI(baseURI string, subscriptionID string) VpnServerConfigurationsAssociatedWithVirtualWanClient { + return VpnServerConfigurationsAssociatedWithVirtualWanClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// List gives the list of VpnServerConfigurations associated with Virtual Wan in a resource group. +// Parameters: +// resourceGroupName - the resource group name. +// virtualWANName - the name of the VirtualWAN whose associated VpnServerConfigurations is needed. +func (client VpnServerConfigurationsAssociatedWithVirtualWanClient) List(ctx context.Context, resourceGroupName string, virtualWANName string) (result VpnServerConfigurationsAssociatedWithVirtualWanListFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VpnServerConfigurationsAssociatedWithVirtualWanClient.List") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListPreparer(ctx, resourceGroupName, virtualWANName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnServerConfigurationsAssociatedWithVirtualWanClient", "List", nil, "Failure preparing request") + return + } + + result, err = client.ListSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnServerConfigurationsAssociatedWithVirtualWanClient", "List", result.Response(), "Failure sending request") + return + } + + return +} + +// ListPreparer prepares the List request. +func (client VpnServerConfigurationsAssociatedWithVirtualWanClient) ListPreparer(ctx context.Context, resourceGroupName string, virtualWANName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualWANName": autorest.Encode("path", virtualWANName), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{virtualWANName}/vpnServerConfigurations", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client VpnServerConfigurationsAssociatedWithVirtualWanClient) ListSender(req *http.Request) (future VpnServerConfigurationsAssociatedWithVirtualWanListFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client VpnServerConfigurationsAssociatedWithVirtualWanClient) ListResponder(resp *http.Response) (result VpnServerConfigurationsResponse, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/network/mgmt/2019-08-01/network/vpnsitelinkconnections.go b/services/network/mgmt/2019-08-01/network/vpnsitelinkconnections.go new file mode 100644 index 000000000000..254db8c50ba1 --- /dev/null +++ b/services/network/mgmt/2019-08-01/network/vpnsitelinkconnections.go @@ -0,0 +1,122 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// VpnSiteLinkConnectionsClient is the network Client +type VpnSiteLinkConnectionsClient struct { + BaseClient +} + +// NewVpnSiteLinkConnectionsClient creates an instance of the VpnSiteLinkConnectionsClient client. +func NewVpnSiteLinkConnectionsClient(subscriptionID string) VpnSiteLinkConnectionsClient { + return NewVpnSiteLinkConnectionsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewVpnSiteLinkConnectionsClientWithBaseURI creates an instance of the VpnSiteLinkConnectionsClient client. +func NewVpnSiteLinkConnectionsClientWithBaseURI(baseURI string, subscriptionID string) VpnSiteLinkConnectionsClient { + return VpnSiteLinkConnectionsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// Get retrieves the details of a vpn site link connection. +// Parameters: +// resourceGroupName - the resource group name of the VpnGateway. +// gatewayName - the name of the gateway. +// connectionName - the name of the vpn connection. +// linkConnectionName - the name of the vpn connection. +func (client VpnSiteLinkConnectionsClient) Get(ctx context.Context, resourceGroupName string, gatewayName string, connectionName string, linkConnectionName string) (result VpnSiteLinkConnection, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VpnSiteLinkConnectionsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, gatewayName, connectionName, linkConnectionName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnSiteLinkConnectionsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.VpnSiteLinkConnectionsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnSiteLinkConnectionsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client VpnSiteLinkConnectionsClient) GetPreparer(ctx context.Context, resourceGroupName string, gatewayName string, connectionName string, linkConnectionName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "connectionName": autorest.Encode("path", connectionName), + "gatewayName": autorest.Encode("path", gatewayName), + "linkConnectionName": autorest.Encode("path", linkConnectionName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}/vpnConnections/{connectionName}/vpnLinkConnections/{linkConnectionName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client VpnSiteLinkConnectionsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client VpnSiteLinkConnectionsClient) GetResponder(resp *http.Response) (result VpnSiteLinkConnection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/network/mgmt/2019-08-01/network/vpnsitelinks.go b/services/network/mgmt/2019-08-01/network/vpnsitelinks.go new file mode 100644 index 000000000000..119ee3b6fc2f --- /dev/null +++ b/services/network/mgmt/2019-08-01/network/vpnsitelinks.go @@ -0,0 +1,235 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// VpnSiteLinksClient is the network Client +type VpnSiteLinksClient struct { + BaseClient +} + +// NewVpnSiteLinksClient creates an instance of the VpnSiteLinksClient client. +func NewVpnSiteLinksClient(subscriptionID string) VpnSiteLinksClient { + return NewVpnSiteLinksClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewVpnSiteLinksClientWithBaseURI creates an instance of the VpnSiteLinksClient client. +func NewVpnSiteLinksClientWithBaseURI(baseURI string, subscriptionID string) VpnSiteLinksClient { + return VpnSiteLinksClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// Get retrieves the details of a VPN site link. +// Parameters: +// resourceGroupName - the resource group name of the VpnSite. +// vpnSiteName - the name of the VpnSite. +// vpnSiteLinkName - the name of the VpnSiteLink being retrieved. +func (client VpnSiteLinksClient) Get(ctx context.Context, resourceGroupName string, vpnSiteName string, vpnSiteLinkName string) (result VpnSiteLink, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VpnSiteLinksClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, vpnSiteName, vpnSiteLinkName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnSiteLinksClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.VpnSiteLinksClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnSiteLinksClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client VpnSiteLinksClient) GetPreparer(ctx context.Context, resourceGroupName string, vpnSiteName string, vpnSiteLinkName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "vpnSiteLinkName": autorest.Encode("path", vpnSiteLinkName), + "vpnSiteName": autorest.Encode("path", vpnSiteName), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnSites/{vpnSiteName}/vpnSiteLinks/{vpnSiteLinkName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client VpnSiteLinksClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client VpnSiteLinksClient) GetResponder(resp *http.Response) (result VpnSiteLink, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByVpnSite lists all the vpnSiteLinks in a resource group for a vpn site. +// Parameters: +// resourceGroupName - the resource group name of the VpnSite. +// vpnSiteName - the name of the VpnSite. +func (client VpnSiteLinksClient) ListByVpnSite(ctx context.Context, resourceGroupName string, vpnSiteName string) (result ListVpnSiteLinksResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VpnSiteLinksClient.ListByVpnSite") + defer func() { + sc := -1 + if result.lvslr.Response.Response != nil { + sc = result.lvslr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listByVpnSiteNextResults + req, err := client.ListByVpnSitePreparer(ctx, resourceGroupName, vpnSiteName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnSiteLinksClient", "ListByVpnSite", nil, "Failure preparing request") + return + } + + resp, err := client.ListByVpnSiteSender(req) + if err != nil { + result.lvslr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.VpnSiteLinksClient", "ListByVpnSite", resp, "Failure sending request") + return + } + + result.lvslr, err = client.ListByVpnSiteResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnSiteLinksClient", "ListByVpnSite", resp, "Failure responding to request") + } + + return +} + +// ListByVpnSitePreparer prepares the ListByVpnSite request. +func (client VpnSiteLinksClient) ListByVpnSitePreparer(ctx context.Context, resourceGroupName string, vpnSiteName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "vpnSiteName": autorest.Encode("path", vpnSiteName), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnSites/{vpnSiteName}/vpnSiteLinks", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByVpnSiteSender sends the ListByVpnSite request. The method will close the +// http.Response Body if it receives an error. +func (client VpnSiteLinksClient) ListByVpnSiteSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByVpnSiteResponder handles the response to the ListByVpnSite request. The method always +// closes the http.Response Body. +func (client VpnSiteLinksClient) ListByVpnSiteResponder(resp *http.Response) (result ListVpnSiteLinksResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listByVpnSiteNextResults retrieves the next set of results, if any. +func (client VpnSiteLinksClient) listByVpnSiteNextResults(ctx context.Context, lastResults ListVpnSiteLinksResult) (result ListVpnSiteLinksResult, err error) { + req, err := lastResults.listVpnSiteLinksResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.VpnSiteLinksClient", "listByVpnSiteNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListByVpnSiteSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.VpnSiteLinksClient", "listByVpnSiteNextResults", resp, "Failure sending next results request") + } + result, err = client.ListByVpnSiteResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnSiteLinksClient", "listByVpnSiteNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListByVpnSiteComplete enumerates all values, automatically crossing page boundaries as required. +func (client VpnSiteLinksClient) ListByVpnSiteComplete(ctx context.Context, resourceGroupName string, vpnSiteName string) (result ListVpnSiteLinksResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VpnSiteLinksClient.ListByVpnSite") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListByVpnSite(ctx, resourceGroupName, vpnSiteName) + return +} diff --git a/services/network/mgmt/2019-08-01/network/vpnsites.go b/services/network/mgmt/2019-08-01/network/vpnsites.go new file mode 100644 index 000000000000..ffdb87321971 --- /dev/null +++ b/services/network/mgmt/2019-08-01/network/vpnsites.go @@ -0,0 +1,578 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// VpnSitesClient is the network Client +type VpnSitesClient struct { + BaseClient +} + +// NewVpnSitesClient creates an instance of the VpnSitesClient client. +func NewVpnSitesClient(subscriptionID string) VpnSitesClient { + return NewVpnSitesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewVpnSitesClientWithBaseURI creates an instance of the VpnSitesClient client. +func NewVpnSitesClientWithBaseURI(baseURI string, subscriptionID string) VpnSitesClient { + return VpnSitesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates a VpnSite resource if it doesn't exist else updates the existing VpnSite. +// Parameters: +// resourceGroupName - the resource group name of the VpnSite. +// vpnSiteName - the name of the VpnSite being created or updated. +// vpnSiteParameters - parameters supplied to create or update VpnSite. +func (client VpnSitesClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, vpnSiteName string, vpnSiteParameters VpnSite) (result VpnSitesCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VpnSitesClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, vpnSiteName, vpnSiteParameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnSitesClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnSitesClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client VpnSitesClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, vpnSiteName string, vpnSiteParameters VpnSite) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "vpnSiteName": autorest.Encode("path", vpnSiteName), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + vpnSiteParameters.Etag = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnSites/{vpnSiteName}", pathParameters), + autorest.WithJSON(vpnSiteParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client VpnSitesClient) CreateOrUpdateSender(req *http.Request) (future VpnSitesCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client VpnSitesClient) CreateOrUpdateResponder(resp *http.Response) (result VpnSite, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes a VpnSite. +// Parameters: +// resourceGroupName - the resource group name of the VpnSite. +// vpnSiteName - the name of the VpnSite being deleted. +func (client VpnSitesClient) Delete(ctx context.Context, resourceGroupName string, vpnSiteName string) (result VpnSitesDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VpnSitesClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, vpnSiteName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnSitesClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnSitesClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client VpnSitesClient) DeletePreparer(ctx context.Context, resourceGroupName string, vpnSiteName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "vpnSiteName": autorest.Encode("path", vpnSiteName), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnSites/{vpnSiteName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client VpnSitesClient) DeleteSender(req *http.Request) (future VpnSitesDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client VpnSitesClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get retrieves the details of a VPN site. +// Parameters: +// resourceGroupName - the resource group name of the VpnSite. +// vpnSiteName - the name of the VpnSite being retrieved. +func (client VpnSitesClient) Get(ctx context.Context, resourceGroupName string, vpnSiteName string) (result VpnSite, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VpnSitesClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, vpnSiteName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnSitesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.VpnSitesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnSitesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client VpnSitesClient) GetPreparer(ctx context.Context, resourceGroupName string, vpnSiteName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "vpnSiteName": autorest.Encode("path", vpnSiteName), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnSites/{vpnSiteName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client VpnSitesClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client VpnSitesClient) GetResponder(resp *http.Response) (result VpnSite, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List lists all the VpnSites in a subscription. +func (client VpnSitesClient) List(ctx context.Context) (result ListVpnSitesResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VpnSitesClient.List") + defer func() { + sc := -1 + if result.lvsr.Response.Response != nil { + sc = result.lvsr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnSitesClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.lvsr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.VpnSitesClient", "List", resp, "Failure sending request") + return + } + + result.lvsr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnSitesClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client VpnSitesClient) ListPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/vpnSites", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client VpnSitesClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client VpnSitesClient) ListResponder(resp *http.Response) (result ListVpnSitesResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client VpnSitesClient) listNextResults(ctx context.Context, lastResults ListVpnSitesResult) (result ListVpnSitesResult, err error) { + req, err := lastResults.listVpnSitesResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.VpnSitesClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.VpnSitesClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnSitesClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client VpnSitesClient) ListComplete(ctx context.Context) (result ListVpnSitesResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VpnSitesClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx) + return +} + +// ListByResourceGroup lists all the vpnSites in a resource group. +// Parameters: +// resourceGroupName - the resource group name of the VpnSite. +func (client VpnSitesClient) ListByResourceGroup(ctx context.Context, resourceGroupName string) (result ListVpnSitesResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VpnSitesClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.lvsr.Response.Response != nil { + sc = result.lvsr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listByResourceGroupNextResults + req, err := client.ListByResourceGroupPreparer(ctx, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnSitesClient", "ListByResourceGroup", nil, "Failure preparing request") + return + } + + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.lvsr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.VpnSitesClient", "ListByResourceGroup", resp, "Failure sending request") + return + } + + result.lvsr, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnSitesClient", "ListByResourceGroup", resp, "Failure responding to request") + } + + return +} + +// ListByResourceGroupPreparer prepares the ListByResourceGroup request. +func (client VpnSitesClient) ListByResourceGroupPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnSites", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByResourceGroupSender sends the ListByResourceGroup request. The method will close the +// http.Response Body if it receives an error. +func (client VpnSitesClient) ListByResourceGroupSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByResourceGroupResponder handles the response to the ListByResourceGroup request. The method always +// closes the http.Response Body. +func (client VpnSitesClient) ListByResourceGroupResponder(resp *http.Response) (result ListVpnSitesResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listByResourceGroupNextResults retrieves the next set of results, if any. +func (client VpnSitesClient) listByResourceGroupNextResults(ctx context.Context, lastResults ListVpnSitesResult) (result ListVpnSitesResult, err error) { + req, err := lastResults.listVpnSitesResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.VpnSitesClient", "listByResourceGroupNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.VpnSitesClient", "listByResourceGroupNextResults", resp, "Failure sending next results request") + } + result, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnSitesClient", "listByResourceGroupNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListByResourceGroupComplete enumerates all values, automatically crossing page boundaries as required. +func (client VpnSitesClient) ListByResourceGroupComplete(ctx context.Context, resourceGroupName string) (result ListVpnSitesResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VpnSitesClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListByResourceGroup(ctx, resourceGroupName) + return +} + +// UpdateTags updates VpnSite tags. +// Parameters: +// resourceGroupName - the resource group name of the VpnSite. +// vpnSiteName - the name of the VpnSite being updated. +// vpnSiteParameters - parameters supplied to update VpnSite tags. +func (client VpnSitesClient) UpdateTags(ctx context.Context, resourceGroupName string, vpnSiteName string, vpnSiteParameters TagsObject) (result VpnSitesUpdateTagsFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VpnSitesClient.UpdateTags") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdateTagsPreparer(ctx, resourceGroupName, vpnSiteName, vpnSiteParameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnSitesClient", "UpdateTags", nil, "Failure preparing request") + return + } + + result, err = client.UpdateTagsSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnSitesClient", "UpdateTags", result.Response(), "Failure sending request") + return + } + + return +} + +// UpdateTagsPreparer prepares the UpdateTags request. +func (client VpnSitesClient) UpdateTagsPreparer(ctx context.Context, resourceGroupName string, vpnSiteName string, vpnSiteParameters TagsObject) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "vpnSiteName": autorest.Encode("path", vpnSiteName), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnSites/{vpnSiteName}", pathParameters), + autorest.WithJSON(vpnSiteParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateTagsSender sends the UpdateTags request. The method will close the +// http.Response Body if it receives an error. +func (client VpnSitesClient) UpdateTagsSender(req *http.Request) (future VpnSitesUpdateTagsFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// UpdateTagsResponder handles the response to the UpdateTags request. The method always +// closes the http.Response Body. +func (client VpnSitesClient) UpdateTagsResponder(resp *http.Response) (result VpnSite, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/network/mgmt/2019-08-01/network/vpnsitesconfiguration.go b/services/network/mgmt/2019-08-01/network/vpnsitesconfiguration.go new file mode 100644 index 000000000000..f6faac70eb49 --- /dev/null +++ b/services/network/mgmt/2019-08-01/network/vpnsitesconfiguration.go @@ -0,0 +1,127 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// VpnSitesConfigurationClient is the network Client +type VpnSitesConfigurationClient struct { + BaseClient +} + +// NewVpnSitesConfigurationClient creates an instance of the VpnSitesConfigurationClient client. +func NewVpnSitesConfigurationClient(subscriptionID string) VpnSitesConfigurationClient { + return NewVpnSitesConfigurationClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewVpnSitesConfigurationClientWithBaseURI creates an instance of the VpnSitesConfigurationClient client. +func NewVpnSitesConfigurationClientWithBaseURI(baseURI string, subscriptionID string) VpnSitesConfigurationClient { + return VpnSitesConfigurationClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// Download gives the sas-url to download the configurations for vpn-sites in a resource group. +// Parameters: +// resourceGroupName - the resource group name. +// virtualWANName - the name of the VirtualWAN for which configuration of all vpn-sites is needed. +// request - parameters supplied to download vpn-sites configuration. +func (client VpnSitesConfigurationClient) Download(ctx context.Context, resourceGroupName string, virtualWANName string, request GetVpnSitesConfigurationRequest) (result VpnSitesConfigurationDownloadFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VpnSitesConfigurationClient.Download") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: request, + Constraints: []validation.Constraint{{Target: "request.OutputBlobSasURL", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + return result, validation.NewError("network.VpnSitesConfigurationClient", "Download", err.Error()) + } + + req, err := client.DownloadPreparer(ctx, resourceGroupName, virtualWANName, request) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnSitesConfigurationClient", "Download", nil, "Failure preparing request") + return + } + + result, err = client.DownloadSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.VpnSitesConfigurationClient", "Download", result.Response(), "Failure sending request") + return + } + + return +} + +// DownloadPreparer prepares the Download request. +func (client VpnSitesConfigurationClient) DownloadPreparer(ctx context.Context, resourceGroupName string, virtualWANName string, request GetVpnSitesConfigurationRequest) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "virtualWANName": autorest.Encode("path", virtualWANName), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{virtualWANName}/vpnConfiguration", pathParameters), + autorest.WithJSON(request), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DownloadSender sends the Download request. The method will close the +// http.Response Body if it receives an error. +func (client VpnSitesConfigurationClient) DownloadSender(req *http.Request) (future VpnSitesConfigurationDownloadFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DownloadResponder handles the response to the Download request. The method always +// closes the http.Response Body. +func (client VpnSitesConfigurationClient) DownloadResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByClosing()) + result.Response = resp + return +} diff --git a/services/network/mgmt/2019-08-01/network/watchers.go b/services/network/mgmt/2019-08-01/network/watchers.go new file mode 100644 index 000000000000..c9d2d8cc5b74 --- /dev/null +++ b/services/network/mgmt/2019-08-01/network/watchers.go @@ -0,0 +1,1552 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// WatchersClient is the network Client +type WatchersClient struct { + BaseClient +} + +// NewWatchersClient creates an instance of the WatchersClient client. +func NewWatchersClient(subscriptionID string) WatchersClient { + return NewWatchersClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewWatchersClientWithBaseURI creates an instance of the WatchersClient client. +func NewWatchersClientWithBaseURI(baseURI string, subscriptionID string) WatchersClient { + return WatchersClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CheckConnectivity verifies the possibility of establishing a direct TCP connection from a virtual machine to a given +// endpoint including another VM or an arbitrary remote server. +// Parameters: +// resourceGroupName - the name of the network watcher resource group. +// networkWatcherName - the name of the network watcher resource. +// parameters - parameters that determine how the connectivity check will be performed. +func (client WatchersClient) CheckConnectivity(ctx context.Context, resourceGroupName string, networkWatcherName string, parameters ConnectivityParameters) (result WatchersCheckConnectivityFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WatchersClient.CheckConnectivity") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.Source", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "parameters.Source.ResourceID", Name: validation.Null, Rule: true, Chain: nil}}}, + {Target: "parameters.Destination", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + return result, validation.NewError("network.WatchersClient", "CheckConnectivity", err.Error()) + } + + req, err := client.CheckConnectivityPreparer(ctx, resourceGroupName, networkWatcherName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersClient", "CheckConnectivity", nil, "Failure preparing request") + return + } + + result, err = client.CheckConnectivitySender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersClient", "CheckConnectivity", result.Response(), "Failure sending request") + return + } + + return +} + +// CheckConnectivityPreparer prepares the CheckConnectivity request. +func (client WatchersClient) CheckConnectivityPreparer(ctx context.Context, resourceGroupName string, networkWatcherName string, parameters ConnectivityParameters) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkWatcherName": autorest.Encode("path", networkWatcherName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectivityCheck", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CheckConnectivitySender sends the CheckConnectivity request. The method will close the +// http.Response Body if it receives an error. +func (client WatchersClient) CheckConnectivitySender(req *http.Request) (future WatchersCheckConnectivityFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CheckConnectivityResponder handles the response to the CheckConnectivity request. The method always +// closes the http.Response Body. +func (client WatchersClient) CheckConnectivityResponder(resp *http.Response) (result ConnectivityInformation, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// CreateOrUpdate creates or updates a network watcher in the specified resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +// networkWatcherName - the name of the network watcher. +// parameters - parameters that define the network watcher resource. +func (client WatchersClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, networkWatcherName string, parameters Watcher) (result Watcher, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WatchersClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, networkWatcherName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.WatchersClient", "CreateOrUpdate", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersClient", "CreateOrUpdate", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client WatchersClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, networkWatcherName string, parameters Watcher) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkWatcherName": autorest.Encode("path", networkWatcherName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client WatchersClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client WatchersClient) CreateOrUpdateResponder(resp *http.Response) (result Watcher, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the specified network watcher resource. +// Parameters: +// resourceGroupName - the name of the resource group. +// networkWatcherName - the name of the network watcher. +func (client WatchersClient) Delete(ctx context.Context, resourceGroupName string, networkWatcherName string) (result WatchersDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WatchersClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, networkWatcherName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client WatchersClient) DeletePreparer(ctx context.Context, resourceGroupName string, networkWatcherName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkWatcherName": autorest.Encode("path", networkWatcherName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client WatchersClient) DeleteSender(req *http.Request) (future WatchersDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client WatchersClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets the specified network watcher by resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +// networkWatcherName - the name of the network watcher. +func (client WatchersClient) Get(ctx context.Context, resourceGroupName string, networkWatcherName string) (result Watcher, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WatchersClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, networkWatcherName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.WatchersClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client WatchersClient) GetPreparer(ctx context.Context, resourceGroupName string, networkWatcherName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkWatcherName": autorest.Encode("path", networkWatcherName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client WatchersClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client WatchersClient) GetResponder(resp *http.Response) (result Watcher, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetAzureReachabilityReport gets the relative latency score for internet service providers from a specified location +// to Azure regions. +// Parameters: +// resourceGroupName - the name of the network watcher resource group. +// networkWatcherName - the name of the network watcher resource. +// parameters - parameters that determine Azure reachability report configuration. +func (client WatchersClient) GetAzureReachabilityReport(ctx context.Context, resourceGroupName string, networkWatcherName string, parameters AzureReachabilityReportParameters) (result WatchersGetAzureReachabilityReportFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WatchersClient.GetAzureReachabilityReport") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.ProviderLocation", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "parameters.ProviderLocation.Country", Name: validation.Null, Rule: true, Chain: nil}}}, + {Target: "parameters.StartTime", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "parameters.EndTime", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + return result, validation.NewError("network.WatchersClient", "GetAzureReachabilityReport", err.Error()) + } + + req, err := client.GetAzureReachabilityReportPreparer(ctx, resourceGroupName, networkWatcherName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersClient", "GetAzureReachabilityReport", nil, "Failure preparing request") + return + } + + result, err = client.GetAzureReachabilityReportSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersClient", "GetAzureReachabilityReport", result.Response(), "Failure sending request") + return + } + + return +} + +// GetAzureReachabilityReportPreparer prepares the GetAzureReachabilityReport request. +func (client WatchersClient) GetAzureReachabilityReportPreparer(ctx context.Context, resourceGroupName string, networkWatcherName string, parameters AzureReachabilityReportParameters) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkWatcherName": autorest.Encode("path", networkWatcherName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/azureReachabilityReport", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetAzureReachabilityReportSender sends the GetAzureReachabilityReport request. The method will close the +// http.Response Body if it receives an error. +func (client WatchersClient) GetAzureReachabilityReportSender(req *http.Request) (future WatchersGetAzureReachabilityReportFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// GetAzureReachabilityReportResponder handles the response to the GetAzureReachabilityReport request. The method always +// closes the http.Response Body. +func (client WatchersClient) GetAzureReachabilityReportResponder(resp *http.Response) (result AzureReachabilityReport, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetFlowLogStatus queries status of flow log and traffic analytics (optional) on a specified resource. +// Parameters: +// resourceGroupName - the name of the network watcher resource group. +// networkWatcherName - the name of the network watcher resource. +// parameters - parameters that define a resource to query flow log and traffic analytics (optional) status. +func (client WatchersClient) GetFlowLogStatus(ctx context.Context, resourceGroupName string, networkWatcherName string, parameters FlowLogStatusParameters) (result WatchersGetFlowLogStatusFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WatchersClient.GetFlowLogStatus") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.TargetResourceID", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + return result, validation.NewError("network.WatchersClient", "GetFlowLogStatus", err.Error()) + } + + req, err := client.GetFlowLogStatusPreparer(ctx, resourceGroupName, networkWatcherName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersClient", "GetFlowLogStatus", nil, "Failure preparing request") + return + } + + result, err = client.GetFlowLogStatusSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersClient", "GetFlowLogStatus", result.Response(), "Failure sending request") + return + } + + return +} + +// GetFlowLogStatusPreparer prepares the GetFlowLogStatus request. +func (client WatchersClient) GetFlowLogStatusPreparer(ctx context.Context, resourceGroupName string, networkWatcherName string, parameters FlowLogStatusParameters) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkWatcherName": autorest.Encode("path", networkWatcherName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/queryFlowLogStatus", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetFlowLogStatusSender sends the GetFlowLogStatus request. The method will close the +// http.Response Body if it receives an error. +func (client WatchersClient) GetFlowLogStatusSender(req *http.Request) (future WatchersGetFlowLogStatusFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// GetFlowLogStatusResponder handles the response to the GetFlowLogStatus request. The method always +// closes the http.Response Body. +func (client WatchersClient) GetFlowLogStatusResponder(resp *http.Response) (result FlowLogInformation, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetNetworkConfigurationDiagnostic gets Network Configuration Diagnostic data to help customers understand and debug +// network behavior. It provides detailed information on what security rules were applied to a specified traffic flow +// and the result of evaluating these rules. Customers must provide details of a flow like source, destination, +// protocol, etc. The API returns whether traffic was allowed or denied, the rules evaluated for the specified flow and +// the evaluation results. +// Parameters: +// resourceGroupName - the name of the resource group. +// networkWatcherName - the name of the network watcher. +// parameters - parameters to get network configuration diagnostic. +func (client WatchersClient) GetNetworkConfigurationDiagnostic(ctx context.Context, resourceGroupName string, networkWatcherName string, parameters ConfigurationDiagnosticParameters) (result WatchersGetNetworkConfigurationDiagnosticFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WatchersClient.GetNetworkConfigurationDiagnostic") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.TargetResourceID", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "parameters.Profiles", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + return result, validation.NewError("network.WatchersClient", "GetNetworkConfigurationDiagnostic", err.Error()) + } + + req, err := client.GetNetworkConfigurationDiagnosticPreparer(ctx, resourceGroupName, networkWatcherName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersClient", "GetNetworkConfigurationDiagnostic", nil, "Failure preparing request") + return + } + + result, err = client.GetNetworkConfigurationDiagnosticSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersClient", "GetNetworkConfigurationDiagnostic", result.Response(), "Failure sending request") + return + } + + return +} + +// GetNetworkConfigurationDiagnosticPreparer prepares the GetNetworkConfigurationDiagnostic request. +func (client WatchersClient) GetNetworkConfigurationDiagnosticPreparer(ctx context.Context, resourceGroupName string, networkWatcherName string, parameters ConfigurationDiagnosticParameters) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkWatcherName": autorest.Encode("path", networkWatcherName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/networkConfigurationDiagnostic", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetNetworkConfigurationDiagnosticSender sends the GetNetworkConfigurationDiagnostic request. The method will close the +// http.Response Body if it receives an error. +func (client WatchersClient) GetNetworkConfigurationDiagnosticSender(req *http.Request) (future WatchersGetNetworkConfigurationDiagnosticFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// GetNetworkConfigurationDiagnosticResponder handles the response to the GetNetworkConfigurationDiagnostic request. The method always +// closes the http.Response Body. +func (client WatchersClient) GetNetworkConfigurationDiagnosticResponder(resp *http.Response) (result ConfigurationDiagnosticResponse, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetNextHop gets the next hop from the specified VM. +// Parameters: +// resourceGroupName - the name of the resource group. +// networkWatcherName - the name of the network watcher. +// parameters - parameters that define the source and destination endpoint. +func (client WatchersClient) GetNextHop(ctx context.Context, resourceGroupName string, networkWatcherName string, parameters NextHopParameters) (result WatchersGetNextHopFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WatchersClient.GetNextHop") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.TargetResourceID", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "parameters.SourceIPAddress", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "parameters.DestinationIPAddress", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + return result, validation.NewError("network.WatchersClient", "GetNextHop", err.Error()) + } + + req, err := client.GetNextHopPreparer(ctx, resourceGroupName, networkWatcherName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersClient", "GetNextHop", nil, "Failure preparing request") + return + } + + result, err = client.GetNextHopSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersClient", "GetNextHop", result.Response(), "Failure sending request") + return + } + + return +} + +// GetNextHopPreparer prepares the GetNextHop request. +func (client WatchersClient) GetNextHopPreparer(ctx context.Context, resourceGroupName string, networkWatcherName string, parameters NextHopParameters) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkWatcherName": autorest.Encode("path", networkWatcherName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/nextHop", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetNextHopSender sends the GetNextHop request. The method will close the +// http.Response Body if it receives an error. +func (client WatchersClient) GetNextHopSender(req *http.Request) (future WatchersGetNextHopFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// GetNextHopResponder handles the response to the GetNextHop request. The method always +// closes the http.Response Body. +func (client WatchersClient) GetNextHopResponder(resp *http.Response) (result NextHopResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetTopology gets the current network topology by resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +// networkWatcherName - the name of the network watcher. +// parameters - parameters that define the representation of topology. +func (client WatchersClient) GetTopology(ctx context.Context, resourceGroupName string, networkWatcherName string, parameters TopologyParameters) (result Topology, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WatchersClient.GetTopology") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetTopologyPreparer(ctx, resourceGroupName, networkWatcherName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersClient", "GetTopology", nil, "Failure preparing request") + return + } + + resp, err := client.GetTopologySender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.WatchersClient", "GetTopology", resp, "Failure sending request") + return + } + + result, err = client.GetTopologyResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersClient", "GetTopology", resp, "Failure responding to request") + } + + return +} + +// GetTopologyPreparer prepares the GetTopology request. +func (client WatchersClient) GetTopologyPreparer(ctx context.Context, resourceGroupName string, networkWatcherName string, parameters TopologyParameters) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkWatcherName": autorest.Encode("path", networkWatcherName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/topology", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetTopologySender sends the GetTopology request. The method will close the +// http.Response Body if it receives an error. +func (client WatchersClient) GetTopologySender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetTopologyResponder handles the response to the GetTopology request. The method always +// closes the http.Response Body. +func (client WatchersClient) GetTopologyResponder(resp *http.Response) (result Topology, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetTroubleshooting initiate troubleshooting on a specified resource. +// Parameters: +// resourceGroupName - the name of the resource group. +// networkWatcherName - the name of the network watcher resource. +// parameters - parameters that define the resource to troubleshoot. +func (client WatchersClient) GetTroubleshooting(ctx context.Context, resourceGroupName string, networkWatcherName string, parameters TroubleshootingParameters) (result WatchersGetTroubleshootingFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WatchersClient.GetTroubleshooting") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.TargetResourceID", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "parameters.TroubleshootingProperties", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "parameters.TroubleshootingProperties.StorageID", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "parameters.TroubleshootingProperties.StoragePath", Name: validation.Null, Rule: true, Chain: nil}, + }}}}}); err != nil { + return result, validation.NewError("network.WatchersClient", "GetTroubleshooting", err.Error()) + } + + req, err := client.GetTroubleshootingPreparer(ctx, resourceGroupName, networkWatcherName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersClient", "GetTroubleshooting", nil, "Failure preparing request") + return + } + + result, err = client.GetTroubleshootingSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersClient", "GetTroubleshooting", result.Response(), "Failure sending request") + return + } + + return +} + +// GetTroubleshootingPreparer prepares the GetTroubleshooting request. +func (client WatchersClient) GetTroubleshootingPreparer(ctx context.Context, resourceGroupName string, networkWatcherName string, parameters TroubleshootingParameters) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkWatcherName": autorest.Encode("path", networkWatcherName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/troubleshoot", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetTroubleshootingSender sends the GetTroubleshooting request. The method will close the +// http.Response Body if it receives an error. +func (client WatchersClient) GetTroubleshootingSender(req *http.Request) (future WatchersGetTroubleshootingFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// GetTroubleshootingResponder handles the response to the GetTroubleshooting request. The method always +// closes the http.Response Body. +func (client WatchersClient) GetTroubleshootingResponder(resp *http.Response) (result TroubleshootingResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetTroubleshootingResult get the last completed troubleshooting result on a specified resource. +// Parameters: +// resourceGroupName - the name of the resource group. +// networkWatcherName - the name of the network watcher resource. +// parameters - parameters that define the resource to query the troubleshooting result. +func (client WatchersClient) GetTroubleshootingResult(ctx context.Context, resourceGroupName string, networkWatcherName string, parameters QueryTroubleshootingParameters) (result WatchersGetTroubleshootingResultFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WatchersClient.GetTroubleshootingResult") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.TargetResourceID", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + return result, validation.NewError("network.WatchersClient", "GetTroubleshootingResult", err.Error()) + } + + req, err := client.GetTroubleshootingResultPreparer(ctx, resourceGroupName, networkWatcherName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersClient", "GetTroubleshootingResult", nil, "Failure preparing request") + return + } + + result, err = client.GetTroubleshootingResultSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersClient", "GetTroubleshootingResult", result.Response(), "Failure sending request") + return + } + + return +} + +// GetTroubleshootingResultPreparer prepares the GetTroubleshootingResult request. +func (client WatchersClient) GetTroubleshootingResultPreparer(ctx context.Context, resourceGroupName string, networkWatcherName string, parameters QueryTroubleshootingParameters) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkWatcherName": autorest.Encode("path", networkWatcherName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/queryTroubleshootResult", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetTroubleshootingResultSender sends the GetTroubleshootingResult request. The method will close the +// http.Response Body if it receives an error. +func (client WatchersClient) GetTroubleshootingResultSender(req *http.Request) (future WatchersGetTroubleshootingResultFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// GetTroubleshootingResultResponder handles the response to the GetTroubleshootingResult request. The method always +// closes the http.Response Body. +func (client WatchersClient) GetTroubleshootingResultResponder(resp *http.Response) (result TroubleshootingResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetVMSecurityRules gets the configured and effective security group rules on the specified VM. +// Parameters: +// resourceGroupName - the name of the resource group. +// networkWatcherName - the name of the network watcher. +// parameters - parameters that define the VM to check security groups for. +func (client WatchersClient) GetVMSecurityRules(ctx context.Context, resourceGroupName string, networkWatcherName string, parameters SecurityGroupViewParameters) (result WatchersGetVMSecurityRulesFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WatchersClient.GetVMSecurityRules") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.TargetResourceID", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + return result, validation.NewError("network.WatchersClient", "GetVMSecurityRules", err.Error()) + } + + req, err := client.GetVMSecurityRulesPreparer(ctx, resourceGroupName, networkWatcherName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersClient", "GetVMSecurityRules", nil, "Failure preparing request") + return + } + + result, err = client.GetVMSecurityRulesSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersClient", "GetVMSecurityRules", result.Response(), "Failure sending request") + return + } + + return +} + +// GetVMSecurityRulesPreparer prepares the GetVMSecurityRules request. +func (client WatchersClient) GetVMSecurityRulesPreparer(ctx context.Context, resourceGroupName string, networkWatcherName string, parameters SecurityGroupViewParameters) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkWatcherName": autorest.Encode("path", networkWatcherName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/securityGroupView", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetVMSecurityRulesSender sends the GetVMSecurityRules request. The method will close the +// http.Response Body if it receives an error. +func (client WatchersClient) GetVMSecurityRulesSender(req *http.Request) (future WatchersGetVMSecurityRulesFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// GetVMSecurityRulesResponder handles the response to the GetVMSecurityRules request. The method always +// closes the http.Response Body. +func (client WatchersClient) GetVMSecurityRulesResponder(resp *http.Response) (result SecurityGroupViewResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets all network watchers by resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +func (client WatchersClient) List(ctx context.Context, resourceGroupName string) (result WatcherListResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WatchersClient.List") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListPreparer(ctx, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.WatchersClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client WatchersClient) ListPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client WatchersClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client WatchersClient) ListResponder(resp *http.Response) (result WatcherListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListAll gets all network watchers by subscription. +func (client WatchersClient) ListAll(ctx context.Context) (result WatcherListResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WatchersClient.ListAll") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListAllPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersClient", "ListAll", nil, "Failure preparing request") + return + } + + resp, err := client.ListAllSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.WatchersClient", "ListAll", resp, "Failure sending request") + return + } + + result, err = client.ListAllResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersClient", "ListAll", resp, "Failure responding to request") + } + + return +} + +// ListAllPreparer prepares the ListAll request. +func (client WatchersClient) ListAllPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkWatchers", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListAllSender sends the ListAll request. The method will close the +// http.Response Body if it receives an error. +func (client WatchersClient) ListAllSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListAllResponder handles the response to the ListAll request. The method always +// closes the http.Response Body. +func (client WatchersClient) ListAllResponder(resp *http.Response) (result WatcherListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListAvailableProviders lists all available internet service providers for a specified Azure region. +// Parameters: +// resourceGroupName - the name of the network watcher resource group. +// networkWatcherName - the name of the network watcher resource. +// parameters - parameters that scope the list of available providers. +func (client WatchersClient) ListAvailableProviders(ctx context.Context, resourceGroupName string, networkWatcherName string, parameters AvailableProvidersListParameters) (result WatchersListAvailableProvidersFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WatchersClient.ListAvailableProviders") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListAvailableProvidersPreparer(ctx, resourceGroupName, networkWatcherName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersClient", "ListAvailableProviders", nil, "Failure preparing request") + return + } + + result, err = client.ListAvailableProvidersSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersClient", "ListAvailableProviders", result.Response(), "Failure sending request") + return + } + + return +} + +// ListAvailableProvidersPreparer prepares the ListAvailableProviders request. +func (client WatchersClient) ListAvailableProvidersPreparer(ctx context.Context, resourceGroupName string, networkWatcherName string, parameters AvailableProvidersListParameters) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkWatcherName": autorest.Encode("path", networkWatcherName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/availableProvidersList", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListAvailableProvidersSender sends the ListAvailableProviders request. The method will close the +// http.Response Body if it receives an error. +func (client WatchersClient) ListAvailableProvidersSender(req *http.Request) (future WatchersListAvailableProvidersFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// ListAvailableProvidersResponder handles the response to the ListAvailableProviders request. The method always +// closes the http.Response Body. +func (client WatchersClient) ListAvailableProvidersResponder(resp *http.Response) (result AvailableProvidersList, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// SetFlowLogConfiguration configures flow log and traffic analytics (optional) on a specified resource. +// Parameters: +// resourceGroupName - the name of the network watcher resource group. +// networkWatcherName - the name of the network watcher resource. +// parameters - parameters that define the configuration of flow log. +func (client WatchersClient) SetFlowLogConfiguration(ctx context.Context, resourceGroupName string, networkWatcherName string, parameters FlowLogInformation) (result WatchersSetFlowLogConfigurationFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WatchersClient.SetFlowLogConfiguration") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.TargetResourceID", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "parameters.FlowLogProperties", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "parameters.FlowLogProperties.StorageID", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "parameters.FlowLogProperties.Enabled", Name: validation.Null, Rule: true, Chain: nil}, + }}, + {Target: "parameters.FlowAnalyticsConfiguration", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.FlowAnalyticsConfiguration.NetworkWatcherFlowAnalyticsConfiguration", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "parameters.FlowAnalyticsConfiguration.NetworkWatcherFlowAnalyticsConfiguration.Enabled", Name: validation.Null, Rule: true, Chain: nil}}}, + }}}}}); err != nil { + return result, validation.NewError("network.WatchersClient", "SetFlowLogConfiguration", err.Error()) + } + + req, err := client.SetFlowLogConfigurationPreparer(ctx, resourceGroupName, networkWatcherName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersClient", "SetFlowLogConfiguration", nil, "Failure preparing request") + return + } + + result, err = client.SetFlowLogConfigurationSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersClient", "SetFlowLogConfiguration", result.Response(), "Failure sending request") + return + } + + return +} + +// SetFlowLogConfigurationPreparer prepares the SetFlowLogConfiguration request. +func (client WatchersClient) SetFlowLogConfigurationPreparer(ctx context.Context, resourceGroupName string, networkWatcherName string, parameters FlowLogInformation) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkWatcherName": autorest.Encode("path", networkWatcherName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/configureFlowLog", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// SetFlowLogConfigurationSender sends the SetFlowLogConfiguration request. The method will close the +// http.Response Body if it receives an error. +func (client WatchersClient) SetFlowLogConfigurationSender(req *http.Request) (future WatchersSetFlowLogConfigurationFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// SetFlowLogConfigurationResponder handles the response to the SetFlowLogConfiguration request. The method always +// closes the http.Response Body. +func (client WatchersClient) SetFlowLogConfigurationResponder(resp *http.Response) (result FlowLogInformation, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// UpdateTags updates a network watcher tags. +// Parameters: +// resourceGroupName - the name of the resource group. +// networkWatcherName - the name of the network watcher. +// parameters - parameters supplied to update network watcher tags. +func (client WatchersClient) UpdateTags(ctx context.Context, resourceGroupName string, networkWatcherName string, parameters TagsObject) (result Watcher, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WatchersClient.UpdateTags") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdateTagsPreparer(ctx, resourceGroupName, networkWatcherName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersClient", "UpdateTags", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateTagsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.WatchersClient", "UpdateTags", resp, "Failure sending request") + return + } + + result, err = client.UpdateTagsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersClient", "UpdateTags", resp, "Failure responding to request") + } + + return +} + +// UpdateTagsPreparer prepares the UpdateTags request. +func (client WatchersClient) UpdateTagsPreparer(ctx context.Context, resourceGroupName string, networkWatcherName string, parameters TagsObject) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkWatcherName": autorest.Encode("path", networkWatcherName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateTagsSender sends the UpdateTags request. The method will close the +// http.Response Body if it receives an error. +func (client WatchersClient) UpdateTagsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// UpdateTagsResponder handles the response to the UpdateTags request. The method always +// closes the http.Response Body. +func (client WatchersClient) UpdateTagsResponder(resp *http.Response) (result Watcher, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// VerifyIPFlow verify IP flow from the specified VM to a location given the currently configured NSG rules. +// Parameters: +// resourceGroupName - the name of the resource group. +// networkWatcherName - the name of the network watcher. +// parameters - parameters that define the IP flow to be verified. +func (client WatchersClient) VerifyIPFlow(ctx context.Context, resourceGroupName string, networkWatcherName string, parameters VerificationIPFlowParameters) (result WatchersVerifyIPFlowFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WatchersClient.VerifyIPFlow") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.TargetResourceID", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "parameters.LocalPort", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "parameters.RemotePort", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "parameters.LocalIPAddress", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "parameters.RemoteIPAddress", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + return result, validation.NewError("network.WatchersClient", "VerifyIPFlow", err.Error()) + } + + req, err := client.VerifyIPFlowPreparer(ctx, resourceGroupName, networkWatcherName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersClient", "VerifyIPFlow", nil, "Failure preparing request") + return + } + + result, err = client.VerifyIPFlowSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WatchersClient", "VerifyIPFlow", result.Response(), "Failure sending request") + return + } + + return +} + +// VerifyIPFlowPreparer prepares the VerifyIPFlow request. +func (client WatchersClient) VerifyIPFlowPreparer(ctx context.Context, resourceGroupName string, networkWatcherName string, parameters VerificationIPFlowParameters) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "networkWatcherName": autorest.Encode("path", networkWatcherName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/ipFlowVerify", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// VerifyIPFlowSender sends the VerifyIPFlow request. The method will close the +// http.Response Body if it receives an error. +func (client WatchersClient) VerifyIPFlowSender(req *http.Request) (future WatchersVerifyIPFlowFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// VerifyIPFlowResponder handles the response to the VerifyIPFlow request. The method always +// closes the http.Response Body. +func (client WatchersClient) VerifyIPFlowResponder(resp *http.Response) (result VerificationIPFlowResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/network/mgmt/2019-08-01/network/webapplicationfirewallpolicies.go b/services/network/mgmt/2019-08-01/network/webapplicationfirewallpolicies.go new file mode 100644 index 000000000000..61fe4a39c76b --- /dev/null +++ b/services/network/mgmt/2019-08-01/network/webapplicationfirewallpolicies.go @@ -0,0 +1,530 @@ +package network + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// WebApplicationFirewallPoliciesClient is the network Client +type WebApplicationFirewallPoliciesClient struct { + BaseClient +} + +// NewWebApplicationFirewallPoliciesClient creates an instance of the WebApplicationFirewallPoliciesClient client. +func NewWebApplicationFirewallPoliciesClient(subscriptionID string) WebApplicationFirewallPoliciesClient { + return NewWebApplicationFirewallPoliciesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewWebApplicationFirewallPoliciesClientWithBaseURI creates an instance of the WebApplicationFirewallPoliciesClient +// client. +func NewWebApplicationFirewallPoliciesClientWithBaseURI(baseURI string, subscriptionID string) WebApplicationFirewallPoliciesClient { + return WebApplicationFirewallPoliciesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or update policy with specified rule set name within a resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +// policyName - the name of the policy. +// parameters - policy to be created. +func (client WebApplicationFirewallPoliciesClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, policyName string, parameters WebApplicationFirewallPolicy) (result WebApplicationFirewallPolicy, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WebApplicationFirewallPoliciesClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: policyName, + Constraints: []validation.Constraint{{Target: "policyName", Name: validation.MaxLength, Rule: 128, Chain: nil}}}, + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.WebApplicationFirewallPolicyPropertiesFormat", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.WebApplicationFirewallPolicyPropertiesFormat.PolicySettings", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.WebApplicationFirewallPolicyPropertiesFormat.PolicySettings.MaxRequestBodySizeInKb", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.WebApplicationFirewallPolicyPropertiesFormat.PolicySettings.MaxRequestBodySizeInKb", Name: validation.InclusiveMaximum, Rule: int64(128), Chain: nil}, + {Target: "parameters.WebApplicationFirewallPolicyPropertiesFormat.PolicySettings.MaxRequestBodySizeInKb", Name: validation.InclusiveMinimum, Rule: 8, Chain: nil}, + }}, + {Target: "parameters.WebApplicationFirewallPolicyPropertiesFormat.PolicySettings.FileUploadLimitInMb", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.WebApplicationFirewallPolicyPropertiesFormat.PolicySettings.FileUploadLimitInMb", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}}}, + }}, + {Target: "parameters.WebApplicationFirewallPolicyPropertiesFormat.ManagedRules", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "parameters.WebApplicationFirewallPolicyPropertiesFormat.ManagedRules.ManagedRuleSets", Name: validation.Null, Rule: true, Chain: nil}}}, + }}}}}); err != nil { + return result, validation.NewError("network.WebApplicationFirewallPoliciesClient", "CreateOrUpdate", err.Error()) + } + + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, policyName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WebApplicationFirewallPoliciesClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.WebApplicationFirewallPoliciesClient", "CreateOrUpdate", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WebApplicationFirewallPoliciesClient", "CreateOrUpdate", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client WebApplicationFirewallPoliciesClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, policyName string, parameters WebApplicationFirewallPolicy) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "policyName": autorest.Encode("path", policyName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies/{policyName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client WebApplicationFirewallPoliciesClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client WebApplicationFirewallPoliciesClient) CreateOrUpdateResponder(resp *http.Response) (result WebApplicationFirewallPolicy, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes Policy. +// Parameters: +// resourceGroupName - the name of the resource group. +// policyName - the name of the policy. +func (client WebApplicationFirewallPoliciesClient) Delete(ctx context.Context, resourceGroupName string, policyName string) (result WebApplicationFirewallPoliciesDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WebApplicationFirewallPoliciesClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: policyName, + Constraints: []validation.Constraint{{Target: "policyName", Name: validation.MaxLength, Rule: 128, Chain: nil}}}}); err != nil { + return result, validation.NewError("network.WebApplicationFirewallPoliciesClient", "Delete", err.Error()) + } + + req, err := client.DeletePreparer(ctx, resourceGroupName, policyName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WebApplicationFirewallPoliciesClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WebApplicationFirewallPoliciesClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client WebApplicationFirewallPoliciesClient) DeletePreparer(ctx context.Context, resourceGroupName string, policyName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "policyName": autorest.Encode("path", policyName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies/{policyName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client WebApplicationFirewallPoliciesClient) DeleteSender(req *http.Request) (future WebApplicationFirewallPoliciesDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client WebApplicationFirewallPoliciesClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get retrieve protection policy with specified name within a resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +// policyName - the name of the policy. +func (client WebApplicationFirewallPoliciesClient) Get(ctx context.Context, resourceGroupName string, policyName string) (result WebApplicationFirewallPolicy, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WebApplicationFirewallPoliciesClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: policyName, + Constraints: []validation.Constraint{{Target: "policyName", Name: validation.MaxLength, Rule: 128, Chain: nil}}}}); err != nil { + return result, validation.NewError("network.WebApplicationFirewallPoliciesClient", "Get", err.Error()) + } + + req, err := client.GetPreparer(ctx, resourceGroupName, policyName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WebApplicationFirewallPoliciesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.WebApplicationFirewallPoliciesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WebApplicationFirewallPoliciesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client WebApplicationFirewallPoliciesClient) GetPreparer(ctx context.Context, resourceGroupName string, policyName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "policyName": autorest.Encode("path", policyName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies/{policyName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client WebApplicationFirewallPoliciesClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client WebApplicationFirewallPoliciesClient) GetResponder(resp *http.Response) (result WebApplicationFirewallPolicy, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List lists all of the protection policies within a resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +func (client WebApplicationFirewallPoliciesClient) List(ctx context.Context, resourceGroupName string) (result WebApplicationFirewallPolicyListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WebApplicationFirewallPoliciesClient.List") + defer func() { + sc := -1 + if result.wafplr.Response.Response != nil { + sc = result.wafplr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WebApplicationFirewallPoliciesClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.wafplr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.WebApplicationFirewallPoliciesClient", "List", resp, "Failure sending request") + return + } + + result.wafplr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WebApplicationFirewallPoliciesClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client WebApplicationFirewallPoliciesClient) ListPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client WebApplicationFirewallPoliciesClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client WebApplicationFirewallPoliciesClient) ListResponder(resp *http.Response) (result WebApplicationFirewallPolicyListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client WebApplicationFirewallPoliciesClient) listNextResults(ctx context.Context, lastResults WebApplicationFirewallPolicyListResult) (result WebApplicationFirewallPolicyListResult, err error) { + req, err := lastResults.webApplicationFirewallPolicyListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.WebApplicationFirewallPoliciesClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.WebApplicationFirewallPoliciesClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WebApplicationFirewallPoliciesClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client WebApplicationFirewallPoliciesClient) ListComplete(ctx context.Context, resourceGroupName string) (result WebApplicationFirewallPolicyListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WebApplicationFirewallPoliciesClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName) + return +} + +// ListAll gets all the WAF policies in a subscription. +func (client WebApplicationFirewallPoliciesClient) ListAll(ctx context.Context) (result WebApplicationFirewallPolicyListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WebApplicationFirewallPoliciesClient.ListAll") + defer func() { + sc := -1 + if result.wafplr.Response.Response != nil { + sc = result.wafplr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listAllNextResults + req, err := client.ListAllPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WebApplicationFirewallPoliciesClient", "ListAll", nil, "Failure preparing request") + return + } + + resp, err := client.ListAllSender(req) + if err != nil { + result.wafplr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "network.WebApplicationFirewallPoliciesClient", "ListAll", resp, "Failure sending request") + return + } + + result.wafplr, err = client.ListAllResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WebApplicationFirewallPoliciesClient", "ListAll", resp, "Failure responding to request") + } + + return +} + +// ListAllPreparer prepares the ListAll request. +func (client WebApplicationFirewallPoliciesClient) ListAllPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListAllSender sends the ListAll request. The method will close the +// http.Response Body if it receives an error. +func (client WebApplicationFirewallPoliciesClient) ListAllSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListAllResponder handles the response to the ListAll request. The method always +// closes the http.Response Body. +func (client WebApplicationFirewallPoliciesClient) ListAllResponder(resp *http.Response) (result WebApplicationFirewallPolicyListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listAllNextResults retrieves the next set of results, if any. +func (client WebApplicationFirewallPoliciesClient) listAllNextResults(ctx context.Context, lastResults WebApplicationFirewallPolicyListResult) (result WebApplicationFirewallPolicyListResult, err error) { + req, err := lastResults.webApplicationFirewallPolicyListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "network.WebApplicationFirewallPoliciesClient", "listAllNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListAllSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "network.WebApplicationFirewallPoliciesClient", "listAllNextResults", resp, "Failure sending next results request") + } + result, err = client.ListAllResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "network.WebApplicationFirewallPoliciesClient", "listAllNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListAllComplete enumerates all values, automatically crossing page boundaries as required. +func (client WebApplicationFirewallPoliciesClient) ListAllComplete(ctx context.Context) (result WebApplicationFirewallPolicyListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WebApplicationFirewallPoliciesClient.ListAll") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListAll(ctx) + return +} diff --git a/services/operationalinsights/mgmt/2015-03-20/operationalinsights/models.go b/services/operationalinsights/mgmt/2015-03-20/operationalinsights/models.go index 53135ebcbfaa..1e5b422a5761 100644 --- a/services/operationalinsights/mgmt/2015-03-20/operationalinsights/models.go +++ b/services/operationalinsights/mgmt/2015-03-20/operationalinsights/models.go @@ -21,7 +21,6 @@ import ( "context" "encoding/json" "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" "github.com/Azure/go-autorest/autorest/date" "github.com/Azure/go-autorest/autorest/to" "github.com/Azure/go-autorest/tracing" @@ -264,7 +263,7 @@ func (ss *SavedSearch) UnmarshalJSON(body []byte) error { // SavedSearchesListResult the saved search list operation response. type SavedSearchesListResult struct { autorest.Response `json:"-"` - // Metadata - The metadata from search results. + // Metadata - Unused legacy property, kept here for backward compatibility. Metadata *SearchMetadata `json:"__metadata,omitempty"` // Value - The array of result values. Value *[]SavedSearch `json:"value,omitempty"` @@ -284,14 +283,6 @@ type SavedSearchProperties struct { Tags *[]Tag `json:"tags,omitempty"` } -// SearchError details for a search error. -type SearchError struct { - // Type - The error type. - Type *string `json:"type,omitempty"` - // Message - The error message. - Message *string `json:"message,omitempty"` -} - // SearchGetSchemaResponse the get schema operation response. type SearchGetSchemaResponse struct { autorest.Response `json:"-"` @@ -301,14 +292,6 @@ type SearchGetSchemaResponse struct { Value *[]SearchSchemaValue `json:"value,omitempty"` } -// SearchHighlight highlight details. -type SearchHighlight struct { - // Pre - The string that is put before a matched result. - Pre *string `json:"pre,omitempty"` - // Post - The string that is put after a matched result. - Post *string `json:"post,omitempty"` -} - // SearchMetadata metadata for search results. type SearchMetadata struct { // SearchID - The request id of the search. @@ -355,33 +338,6 @@ type SearchMetadataSchema struct { Version *int32 `json:"version,omitempty"` } -// SearchParameters parameters specifying the search query and range. -type SearchParameters struct { - // Top - The number to get from the top. - Top *int64 `json:"top,omitempty"` - // Highlight - The highlight that looks for all occurrences of a string. - Highlight *SearchHighlight `json:"highlight,omitempty"` - // Query - The query to search. - Query *string `json:"query,omitempty"` - // Start - The start date filter, so the only query results returned are after this date. - Start *date.Time `json:"start,omitempty"` - // End - The end date filter, so the only query results returned are before this date. - End *date.Time `json:"end,omitempty"` -} - -// SearchResultsResponse the get search result operation response. -type SearchResultsResponse struct { - autorest.Response `json:"-"` - // ID - READ-ONLY; The id of the search, which includes the full url. - ID *string `json:"id,omitempty"` - // Metadata - The metadata from search results. - Metadata *SearchMetadata `json:"metaData,omitempty"` - // Value - The array of result values. - Value *[]interface{} `json:"value,omitempty"` - // Error - The error. - Error *SearchError `json:"error,omitempty"` -} - // SearchSchemaValue value object for schema results. type SearchSchemaValue struct { // Name - The name of the schema. @@ -733,32 +689,3 @@ type WorkspacePurgeStatusResponse struct { // Status - Status of the operation represented by the requested Id. Possible values include: 'Pending', 'Completed' Status PurgeState `json:"status,omitempty"` } - -// WorkspacesGetSearchResultsFuture an abstraction for monitoring and retrieving the results of a -// long-running operation. -type WorkspacesGetSearchResultsFuture struct { - azure.Future -} - -// Result returns the result of the asynchronous operation. -// If the operation has not completed it will return an error. -func (future *WorkspacesGetSearchResultsFuture) Result(client WorkspacesClient) (srr SearchResultsResponse, err error) { - var done bool - done, err = future.DoneWithContext(context.Background(), client) - if err != nil { - err = autorest.NewErrorWithError(err, "operationalinsights.WorkspacesGetSearchResultsFuture", "Result", future.Response(), "Polling failure") - return - } - if !done { - err = azure.NewAsyncOpIncompleteError("operationalinsights.WorkspacesGetSearchResultsFuture") - return - } - sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) - if srr.Response.Response, err = future.GetResult(sender); err == nil && srr.Response.Response.StatusCode != http.StatusNoContent { - srr, err = client.GetSearchResultsResponder(srr.Response.Response) - if err != nil { - err = autorest.NewErrorWithError(err, "operationalinsights.WorkspacesGetSearchResultsFuture", "Result", srr.Response.Response, "Failure responding to request") - } - } - return -} diff --git a/services/operationalinsights/mgmt/2015-03-20/operationalinsights/operationalinsightsapi/interfaces.go b/services/operationalinsights/mgmt/2015-03-20/operationalinsights/operationalinsightsapi/interfaces.go index 659bb6cffd24..7db515a6cbbd 100644 --- a/services/operationalinsights/mgmt/2015-03-20/operationalinsights/operationalinsightsapi/interfaces.go +++ b/services/operationalinsights/mgmt/2015-03-20/operationalinsights/operationalinsightsapi/interfaces.go @@ -38,12 +38,10 @@ type WorkspacesClientAPI interface { DeleteGateways(ctx context.Context, resourceGroupName string, workspaceName string, gatewayID string) (result autorest.Response, err error) GetPurgeStatus(ctx context.Context, resourceGroupName string, workspaceName string) (result operationalinsights.WorkspacePurgeStatusResponse, err error) GetSchema(ctx context.Context, resourceGroupName string, workspaceName string) (result operationalinsights.SearchGetSchemaResponse, err error) - GetSearchResults(ctx context.Context, resourceGroupName string, workspaceName string, parameters operationalinsights.SearchParameters) (result operationalinsights.WorkspacesGetSearchResultsFuture, err error) ListKeys(ctx context.Context, resourceGroupName string, workspaceName string) (result operationalinsights.SharedKeys, err error) ListLinkTargets(ctx context.Context) (result operationalinsights.ListLinkTarget, err error) Purge(ctx context.Context, resourceGroupName string, workspaceName string, body operationalinsights.WorkspacePurgeBody) (result operationalinsights.WorkspacePurgeResponse, err error) RegenerateSharedKeys(ctx context.Context, resourceGroupName string, workspaceName string) (result operationalinsights.SharedKeys, err error) - UpdateSearchResults(ctx context.Context, resourceGroupName string, workspaceName string, ID string) (result operationalinsights.SearchResultsResponse, err error) } var _ WorkspacesClientAPI = (*operationalinsights.WorkspacesClient)(nil) @@ -53,7 +51,6 @@ type SavedSearchesClientAPI interface { CreateOrUpdate(ctx context.Context, resourceGroupName string, workspaceName string, savedSearchID string, parameters operationalinsights.SavedSearch) (result operationalinsights.SavedSearch, err error) Delete(ctx context.Context, resourceGroupName string, workspaceName string, savedSearchID string) (result autorest.Response, err error) Get(ctx context.Context, resourceGroupName string, workspaceName string, savedSearchID string) (result operationalinsights.SavedSearch, err error) - GetResults(ctx context.Context, resourceGroupName string, workspaceName string, savedSearchID string) (result operationalinsights.SearchResultsResponse, err error) ListByWorkspace(ctx context.Context, resourceGroupName string, workspaceName string) (result operationalinsights.SavedSearchesListResult, err error) } diff --git a/services/operationalinsights/mgmt/2015-03-20/operationalinsights/savedsearches.go b/services/operationalinsights/mgmt/2015-03-20/operationalinsights/savedsearches.go index 62b89f840ccc..c14989217454 100644 --- a/services/operationalinsights/mgmt/2015-03-20/operationalinsights/savedsearches.go +++ b/services/operationalinsights/mgmt/2015-03-20/operationalinsights/savedsearches.go @@ -317,93 +317,6 @@ func (client SavedSearchesClient) GetResponder(resp *http.Response) (result Save return } -// GetResults gets the results from a saved search for a given workspace. -// Parameters: -// resourceGroupName - the Resource Group name. -// workspaceName - the Log Analytics Workspace name. -// savedSearchID - the id of the saved search. -func (client SavedSearchesClient) GetResults(ctx context.Context, resourceGroupName string, workspaceName string, savedSearchID string) (result SearchResultsResponse, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/SavedSearchesClient.GetResults") - defer func() { - sc := -1 - if result.Response.Response != nil { - sc = result.Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - if err := validation.Validate([]validation.Validation{ - {TargetValue: resourceGroupName, - Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, - {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}}); err != nil { - return result, validation.NewError("operationalinsights.SavedSearchesClient", "GetResults", err.Error()) - } - - req, err := client.GetResultsPreparer(ctx, resourceGroupName, workspaceName, savedSearchID) - if err != nil { - err = autorest.NewErrorWithError(err, "operationalinsights.SavedSearchesClient", "GetResults", nil, "Failure preparing request") - return - } - - resp, err := client.GetResultsSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "operationalinsights.SavedSearchesClient", "GetResults", resp, "Failure sending request") - return - } - - result, err = client.GetResultsResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "operationalinsights.SavedSearchesClient", "GetResults", resp, "Failure responding to request") - } - - return -} - -// GetResultsPreparer prepares the GetResults request. -func (client SavedSearchesClient) GetResultsPreparer(ctx context.Context, resourceGroupName string, workspaceName string, savedSearchID string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "savedSearchId": autorest.Encode("path", savedSearchID), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - "workspaceName": autorest.Encode("path", workspaceName), - } - - const APIVersion = "2015-03-20" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/savedSearches/{savedSearchId}/results", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetResultsSender sends the GetResults request. The method will close the -// http.Response Body if it receives an error. -func (client SavedSearchesClient) GetResultsSender(req *http.Request) (*http.Response, error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - return autorest.SendWithSender(client, req, sd...) -} - -// GetResultsResponder handles the response to the GetResults request. The method always -// closes the http.Response Body. -func (client SavedSearchesClient) GetResultsResponder(resp *http.Response) (result SearchResultsResponse, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - // ListByWorkspace gets the saved searches for a given Log Analytics Workspace // Parameters: // resourceGroupName - the Resource Group name. diff --git a/services/operationalinsights/mgmt/2015-03-20/operationalinsights/workspaces.go b/services/operationalinsights/mgmt/2015-03-20/operationalinsights/workspaces.go index 151d5fdd4ca0..26f9a8aa6db7 100644 --- a/services/operationalinsights/mgmt/2015-03-20/operationalinsights/workspaces.go +++ b/services/operationalinsights/mgmt/2015-03-20/operationalinsights/workspaces.go @@ -298,98 +298,6 @@ func (client WorkspacesClient) GetSchemaResponder(resp *http.Response) (result S return } -// GetSearchResults submit a search for a given workspace. The response will contain an id to track the search. User -// can use the id to poll the search status and get the full search result later if the search takes long time to -// finish. -// Parameters: -// resourceGroupName - the Resource Group name. -// workspaceName - the Log Analytics Workspace name. -// parameters - the parameters required to execute a search query. -func (client WorkspacesClient) GetSearchResults(ctx context.Context, resourceGroupName string, workspaceName string, parameters SearchParameters) (result WorkspacesGetSearchResultsFuture, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/WorkspacesClient.GetSearchResults") - defer func() { - sc := -1 - if result.Response() != nil { - sc = result.Response().StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - if err := validation.Validate([]validation.Validation{ - {TargetValue: resourceGroupName, - Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, - {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}, - {TargetValue: parameters, - Constraints: []validation.Constraint{{Target: "parameters.Query", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { - return result, validation.NewError("operationalinsights.WorkspacesClient", "GetSearchResults", err.Error()) - } - - req, err := client.GetSearchResultsPreparer(ctx, resourceGroupName, workspaceName, parameters) - if err != nil { - err = autorest.NewErrorWithError(err, "operationalinsights.WorkspacesClient", "GetSearchResults", nil, "Failure preparing request") - return - } - - result, err = client.GetSearchResultsSender(req) - if err != nil { - err = autorest.NewErrorWithError(err, "operationalinsights.WorkspacesClient", "GetSearchResults", result.Response(), "Failure sending request") - return - } - - return -} - -// GetSearchResultsPreparer prepares the GetSearchResults request. -func (client WorkspacesClient) GetSearchResultsPreparer(ctx context.Context, resourceGroupName string, workspaceName string, parameters SearchParameters) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - "workspaceName": autorest.Encode("path", workspaceName), - } - - const APIVersion = "2015-03-20" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/search", pathParameters), - autorest.WithJSON(parameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetSearchResultsSender sends the GetSearchResults request. The method will close the -// http.Response Body if it receives an error. -func (client WorkspacesClient) GetSearchResultsSender(req *http.Request) (future WorkspacesGetSearchResultsFuture, err error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - var resp *http.Response - resp, err = autorest.SendWithSender(client, req, sd...) - if err != nil { - return - } - future.Future, err = azure.NewFutureFromResponse(resp) - return -} - -// GetSearchResultsResponder handles the response to the GetSearchResults request. The method always -// closes the http.Response Body. -func (client WorkspacesClient) GetSearchResultsResponder(resp *http.Response) (result SearchResultsResponse, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - // ListKeys gets the shared keys for a Log Analytics Workspace. These keys are used to connect Microsoft Operational // Insights agents to the workspace. // Parameters: @@ -550,6 +458,11 @@ func (client WorkspacesClient) ListLinkTargetsResponder(resp *http.Response) (re } // Purge purges data in an Log Analytics workspace by a set of user-defined filters. +// +// In order to manage system resources, purge requests are throttled at 50 requests per hour. You should batch the +// execution of purge requests by sending a single command whose predicate includes all user identities that require +// purging. Use the in operator to specify multiple identities. You should run the query prior to using for a purge +// request to verify that the results are expected. // Parameters: // resourceGroupName - the Resource Group name. // workspaceName - the Log Analytics Workspace name. @@ -725,91 +638,3 @@ func (client WorkspacesClient) RegenerateSharedKeysResponder(resp *http.Response result.Response = autorest.Response{Response: resp} return } - -// UpdateSearchResults gets updated search results for a given search query. -// Parameters: -// resourceGroupName - the Resource Group name. -// workspaceName - the Log Analytics Workspace name. -// ID - the id of the search that will have results updated. You can get the id from the response of the -// GetResults call. -func (client WorkspacesClient) UpdateSearchResults(ctx context.Context, resourceGroupName string, workspaceName string, ID string) (result SearchResultsResponse, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/WorkspacesClient.UpdateSearchResults") - defer func() { - sc := -1 - if result.Response.Response != nil { - sc = result.Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - if err := validation.Validate([]validation.Validation{ - {TargetValue: resourceGroupName, - Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, - {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}}); err != nil { - return result, validation.NewError("operationalinsights.WorkspacesClient", "UpdateSearchResults", err.Error()) - } - - req, err := client.UpdateSearchResultsPreparer(ctx, resourceGroupName, workspaceName, ID) - if err != nil { - err = autorest.NewErrorWithError(err, "operationalinsights.WorkspacesClient", "UpdateSearchResults", nil, "Failure preparing request") - return - } - - resp, err := client.UpdateSearchResultsSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "operationalinsights.WorkspacesClient", "UpdateSearchResults", resp, "Failure sending request") - return - } - - result, err = client.UpdateSearchResultsResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "operationalinsights.WorkspacesClient", "UpdateSearchResults", resp, "Failure responding to request") - } - - return -} - -// UpdateSearchResultsPreparer prepares the UpdateSearchResults request. -func (client WorkspacesClient) UpdateSearchResultsPreparer(ctx context.Context, resourceGroupName string, workspaceName string, ID string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "id": autorest.Encode("path", ID), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - "workspaceName": autorest.Encode("path", workspaceName), - } - - const APIVersion = "2015-03-20" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/search/{id}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// UpdateSearchResultsSender sends the UpdateSearchResults request. The method will close the -// http.Response Body if it receives an error. -func (client WorkspacesClient) UpdateSearchResultsSender(req *http.Request) (*http.Response, error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - return autorest.SendWithSender(client, req, sd...) -} - -// UpdateSearchResultsResponder handles the response to the UpdateSearchResults request. The method always -// closes the http.Response Body. -func (client WorkspacesClient) UpdateSearchResultsResponder(resp *http.Response) (result SearchResultsResponse, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} diff --git a/services/batch/2017-01-01.4.0/batch/client.go b/services/policyinsights/mgmt/2019-10-01/policyinsights/client.go similarity index 79% rename from services/batch/2017-01-01.4.0/batch/client.go rename to services/policyinsights/mgmt/2019-10-01/policyinsights/client.go index 6412d400441d..4687a8ef8675 100644 --- a/services/batch/2017-01-01.4.0/batch/client.go +++ b/services/policyinsights/mgmt/2019-10-01/policyinsights/client.go @@ -1,7 +1,7 @@ -// Package batch implements the Azure ARM Batch service API version 2017-01-01.4.0. +// Package policyinsights implements the Azure ARM Policyinsights service API version . // -// A client for issuing REST requests to the Azure Batch service. -package batch +// +package policyinsights // Copyright (c) Microsoft and contributors. All rights reserved. // @@ -25,11 +25,11 @@ import ( ) const ( - // DefaultBaseURI is the default URI used for the service Batch - DefaultBaseURI = "https://batch.core.windows.net" + // DefaultBaseURI is the default URI used for the service Policyinsights + DefaultBaseURI = "https://management.azure.com" ) -// BaseClient is the base client for Batch. +// BaseClient is the base client for Policyinsights. type BaseClient struct { autorest.Client BaseURI string diff --git a/services/policyinsights/mgmt/2019-10-01/policyinsights/models.go b/services/policyinsights/mgmt/2019-10-01/policyinsights/models.go new file mode 100644 index 000000000000..214dcc0b1605 --- /dev/null +++ b/services/policyinsights/mgmt/2019-10-01/policyinsights/models.go @@ -0,0 +1,1777 @@ +package policyinsights + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "encoding/json" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/date" + "github.com/Azure/go-autorest/autorest/to" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// The package's fully qualified name. +const fqdn = "github.com/Azure/azure-sdk-for-go/services/policyinsights/mgmt/2019-10-01/policyinsights" + +// PolicyStatesResource enumerates the values for policy states resource. +type PolicyStatesResource string + +const ( + // Default ... + Default PolicyStatesResource = "default" + // Latest ... + Latest PolicyStatesResource = "latest" +) + +// PossiblePolicyStatesResourceValues returns an array of possible values for the PolicyStatesResource const type. +func PossiblePolicyStatesResourceValues() []PolicyStatesResource { + return []PolicyStatesResource{Default, Latest} +} + +// ComplianceDetail the compliance state rollup. +type ComplianceDetail struct { + // ComplianceState - The compliance state. + ComplianceState *string `json:"complianceState,omitempty"` + // Count - Summarized count value for this compliance state. + Count *int32 `json:"count,omitempty"` +} + +// ErrorDefinition error definition. +type ErrorDefinition struct { + // Code - READ-ONLY; Service specific error code which serves as the substatus for the HTTP error code. + Code *string `json:"code,omitempty"` + // Message - READ-ONLY; Description of the error. + Message *string `json:"message,omitempty"` + // Target - READ-ONLY; The target of the error. + Target *string `json:"target,omitempty"` + // Details - READ-ONLY; Internal error details. + Details *[]ErrorDefinition `json:"details,omitempty"` + // AdditionalInfo - READ-ONLY; Additional scenario specific error details. + AdditionalInfo *[]TypedErrorInfo `json:"additionalInfo,omitempty"` +} + +// ErrorResponse error response. +type ErrorResponse struct { + // Error - The error details. + Error *ErrorDefinition `json:"error,omitempty"` +} + +// ExpressionEvaluationDetails evaluation details of policy language expressions. +type ExpressionEvaluationDetails struct { + // Result - Evaluation result. + Result *string `json:"result,omitempty"` + // Expression - Expression evaluated. + Expression *string `json:"expression,omitempty"` + // Path - Property path if the expression is a field or an alias. + Path *string `json:"path,omitempty"` + // ExpressionValue - Value of the expression. + ExpressionValue interface{} `json:"expressionValue,omitempty"` + // TargetValue - Target value to be compared with the expression value. + TargetValue interface{} `json:"targetValue,omitempty"` + // Operator - Operator to compare the expression value and the target value. + Operator *string `json:"operator,omitempty"` +} + +// IfNotExistsEvaluationDetails evaluation details of IfNotExists effect. +type IfNotExistsEvaluationDetails struct { + // ResourceID - ID of the last evaluated resource for IfNotExists effect. + ResourceID *string `json:"resourceId,omitempty"` + // TotalResources - Total number of resources to which the existence condition is applicable. + TotalResources *int32 `json:"totalResources,omitempty"` +} + +// Operation operation definition. +type Operation struct { + // Name - Operation name. + Name *string `json:"name,omitempty"` + // Display - Display metadata associated with the operation. + Display *OperationDisplay `json:"display,omitempty"` +} + +// OperationDisplay display metadata associated with the operation. +type OperationDisplay struct { + // Provider - Resource provider name. + Provider *string `json:"provider,omitempty"` + // Resource - Resource name on which the operation is performed. + Resource *string `json:"resource,omitempty"` + // Operation - Operation name. + Operation *string `json:"operation,omitempty"` + // Description - Operation description. + Description *string `json:"description,omitempty"` +} + +// OperationsListResults list of available operations. +type OperationsListResults struct { + autorest.Response `json:"-"` + // OdataCount - OData entity count; represents the number of operations returned. + OdataCount *int32 `json:"@odata.count,omitempty"` + // Value - List of available operations. + Value *[]Operation `json:"value,omitempty"` +} + +// PolicyAssignmentSummary policy assignment summary. +type PolicyAssignmentSummary struct { + // PolicyAssignmentID - Policy assignment ID. + PolicyAssignmentID *string `json:"policyAssignmentId,omitempty"` + // PolicySetDefinitionID - Policy set definition ID, if the policy assignment is for a policy set. + PolicySetDefinitionID *string `json:"policySetDefinitionId,omitempty"` + // Results - Compliance summary for the policy assignment. + Results *SummaryResults `json:"results,omitempty"` + // PolicyDefinitions - Policy definitions summary. + PolicyDefinitions *[]PolicyDefinitionSummary `json:"policyDefinitions,omitempty"` + // PolicyGroups - Policy definition group summary. + PolicyGroups *[]PolicyGroupSummary `json:"policyGroups,omitempty"` +} + +// PolicyDefinitionSummary policy definition summary. +type PolicyDefinitionSummary struct { + // PolicyDefinitionID - Policy definition ID. + PolicyDefinitionID *string `json:"policyDefinitionId,omitempty"` + // PolicyDefinitionReferenceID - Policy definition reference ID. + PolicyDefinitionReferenceID *string `json:"policyDefinitionReferenceId,omitempty"` + // PolicyDefinitionGroupNames - Policy definition group names. + PolicyDefinitionGroupNames *[]string `json:"policyDefinitionGroupNames,omitempty"` + // Effect - Policy effect, i.e. policy definition action. + Effect *string `json:"effect,omitempty"` + // Results - Compliance summary for the policy definition. + Results *SummaryResults `json:"results,omitempty"` +} + +// PolicyDetails the policy details. +type PolicyDetails struct { + // PolicyDefinitionID - READ-ONLY; The ID of the policy definition. + PolicyDefinitionID *string `json:"policyDefinitionId,omitempty"` + // PolicyAssignmentID - READ-ONLY; The ID of the policy assignment. + PolicyAssignmentID *string `json:"policyAssignmentId,omitempty"` + // PolicyAssignmentDisplayName - READ-ONLY; The display name of the policy assignment. + PolicyAssignmentDisplayName *string `json:"policyAssignmentDisplayName,omitempty"` + // PolicyAssignmentScope - READ-ONLY; The scope of the policy assignment. + PolicyAssignmentScope *string `json:"policyAssignmentScope,omitempty"` + // PolicySetDefinitionID - READ-ONLY; The ID of the policy set definition. + PolicySetDefinitionID *string `json:"policySetDefinitionId,omitempty"` + // PolicyDefinitionReferenceID - READ-ONLY; The policy definition reference ID within the policy set definition. + PolicyDefinitionReferenceID *string `json:"policyDefinitionReferenceId,omitempty"` +} + +// PolicyEvaluationDetails policy evaluation details. +type PolicyEvaluationDetails struct { + // EvaluatedExpressions - Details of the evaluated expressions. + EvaluatedExpressions *[]ExpressionEvaluationDetails `json:"evaluatedExpressions,omitempty"` + // IfNotExistsDetails - Evaluation details of IfNotExists effect. + IfNotExistsDetails *IfNotExistsEvaluationDetails `json:"ifNotExistsDetails,omitempty"` +} + +// PolicyEvent policy event record. +type PolicyEvent struct { + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // OdataID - OData entity ID; always set to null since policy event records do not have an entity ID. + OdataID *string `json:"@odata.id,omitempty"` + // OdataContext - OData context string; used by OData clients to resolve type information based on metadata. + OdataContext *string `json:"@odata.context,omitempty"` + // Timestamp - Timestamp for the policy event record. + Timestamp *date.Time `json:"timestamp,omitempty"` + // ResourceID - Resource ID. + ResourceID *string `json:"resourceId,omitempty"` + // PolicyAssignmentID - Policy assignment ID. + PolicyAssignmentID *string `json:"policyAssignmentId,omitempty"` + // PolicyDefinitionID - Policy definition ID. + PolicyDefinitionID *string `json:"policyDefinitionId,omitempty"` + // EffectiveParameters - Effective parameters for the policy assignment. + EffectiveParameters *string `json:"effectiveParameters,omitempty"` + // IsCompliant - Flag which states whether the resource is compliant against the policy assignment it was evaluated against. + IsCompliant *bool `json:"isCompliant,omitempty"` + // SubscriptionID - Subscription ID. + SubscriptionID *string `json:"subscriptionId,omitempty"` + // ResourceType - Resource type. + ResourceType *string `json:"resourceType,omitempty"` + // ResourceLocation - Resource location. + ResourceLocation *string `json:"resourceLocation,omitempty"` + // ResourceGroup - Resource group name. + ResourceGroup *string `json:"resourceGroup,omitempty"` + // ResourceTags - List of resource tags. + ResourceTags *string `json:"resourceTags,omitempty"` + // PolicyAssignmentName - Policy assignment name. + PolicyAssignmentName *string `json:"policyAssignmentName,omitempty"` + // PolicyAssignmentOwner - Policy assignment owner. + PolicyAssignmentOwner *string `json:"policyAssignmentOwner,omitempty"` + // PolicyAssignmentParameters - Policy assignment parameters. + PolicyAssignmentParameters *string `json:"policyAssignmentParameters,omitempty"` + // PolicyAssignmentScope - Policy assignment scope. + PolicyAssignmentScope *string `json:"policyAssignmentScope,omitempty"` + // PolicyDefinitionName - Policy definition name. + PolicyDefinitionName *string `json:"policyDefinitionName,omitempty"` + // PolicyDefinitionAction - Policy definition action, i.e. effect. + PolicyDefinitionAction *string `json:"policyDefinitionAction,omitempty"` + // PolicyDefinitionCategory - Policy definition category. + PolicyDefinitionCategory *string `json:"policyDefinitionCategory,omitempty"` + // PolicySetDefinitionID - Policy set definition ID, if the policy assignment is for a policy set. + PolicySetDefinitionID *string `json:"policySetDefinitionId,omitempty"` + // PolicySetDefinitionName - Policy set definition name, if the policy assignment is for a policy set. + PolicySetDefinitionName *string `json:"policySetDefinitionName,omitempty"` + // PolicySetDefinitionOwner - Policy set definition owner, if the policy assignment is for a policy set. + PolicySetDefinitionOwner *string `json:"policySetDefinitionOwner,omitempty"` + // PolicySetDefinitionCategory - Policy set definition category, if the policy assignment is for a policy set. + PolicySetDefinitionCategory *string `json:"policySetDefinitionCategory,omitempty"` + // PolicySetDefinitionParameters - Policy set definition parameters, if the policy assignment is for a policy set. + PolicySetDefinitionParameters *string `json:"policySetDefinitionParameters,omitempty"` + // ManagementGroupIds - Comma separated list of management group IDs, which represent the hierarchy of the management groups the resource is under. + ManagementGroupIds *string `json:"managementGroupIds,omitempty"` + // PolicyDefinitionReferenceID - Reference ID for the policy definition inside the policy set, if the policy assignment is for a policy set. + PolicyDefinitionReferenceID *string `json:"policyDefinitionReferenceId,omitempty"` + // TenantID - Tenant ID for the policy event record. + TenantID *string `json:"tenantId,omitempty"` + // PrincipalOid - Principal object ID for the user who initiated the resource operation that triggered the policy event. + PrincipalOid *string `json:"principalOid,omitempty"` +} + +// MarshalJSON is the custom marshaler for PolicyEvent. +func (peVar PolicyEvent) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if peVar.OdataID != nil { + objectMap["@odata.id"] = peVar.OdataID + } + if peVar.OdataContext != nil { + objectMap["@odata.context"] = peVar.OdataContext + } + if peVar.Timestamp != nil { + objectMap["timestamp"] = peVar.Timestamp + } + if peVar.ResourceID != nil { + objectMap["resourceId"] = peVar.ResourceID + } + if peVar.PolicyAssignmentID != nil { + objectMap["policyAssignmentId"] = peVar.PolicyAssignmentID + } + if peVar.PolicyDefinitionID != nil { + objectMap["policyDefinitionId"] = peVar.PolicyDefinitionID + } + if peVar.EffectiveParameters != nil { + objectMap["effectiveParameters"] = peVar.EffectiveParameters + } + if peVar.IsCompliant != nil { + objectMap["isCompliant"] = peVar.IsCompliant + } + if peVar.SubscriptionID != nil { + objectMap["subscriptionId"] = peVar.SubscriptionID + } + if peVar.ResourceType != nil { + objectMap["resourceType"] = peVar.ResourceType + } + if peVar.ResourceLocation != nil { + objectMap["resourceLocation"] = peVar.ResourceLocation + } + if peVar.ResourceGroup != nil { + objectMap["resourceGroup"] = peVar.ResourceGroup + } + if peVar.ResourceTags != nil { + objectMap["resourceTags"] = peVar.ResourceTags + } + if peVar.PolicyAssignmentName != nil { + objectMap["policyAssignmentName"] = peVar.PolicyAssignmentName + } + if peVar.PolicyAssignmentOwner != nil { + objectMap["policyAssignmentOwner"] = peVar.PolicyAssignmentOwner + } + if peVar.PolicyAssignmentParameters != nil { + objectMap["policyAssignmentParameters"] = peVar.PolicyAssignmentParameters + } + if peVar.PolicyAssignmentScope != nil { + objectMap["policyAssignmentScope"] = peVar.PolicyAssignmentScope + } + if peVar.PolicyDefinitionName != nil { + objectMap["policyDefinitionName"] = peVar.PolicyDefinitionName + } + if peVar.PolicyDefinitionAction != nil { + objectMap["policyDefinitionAction"] = peVar.PolicyDefinitionAction + } + if peVar.PolicyDefinitionCategory != nil { + objectMap["policyDefinitionCategory"] = peVar.PolicyDefinitionCategory + } + if peVar.PolicySetDefinitionID != nil { + objectMap["policySetDefinitionId"] = peVar.PolicySetDefinitionID + } + if peVar.PolicySetDefinitionName != nil { + objectMap["policySetDefinitionName"] = peVar.PolicySetDefinitionName + } + if peVar.PolicySetDefinitionOwner != nil { + objectMap["policySetDefinitionOwner"] = peVar.PolicySetDefinitionOwner + } + if peVar.PolicySetDefinitionCategory != nil { + objectMap["policySetDefinitionCategory"] = peVar.PolicySetDefinitionCategory + } + if peVar.PolicySetDefinitionParameters != nil { + objectMap["policySetDefinitionParameters"] = peVar.PolicySetDefinitionParameters + } + if peVar.ManagementGroupIds != nil { + objectMap["managementGroupIds"] = peVar.ManagementGroupIds + } + if peVar.PolicyDefinitionReferenceID != nil { + objectMap["policyDefinitionReferenceId"] = peVar.PolicyDefinitionReferenceID + } + if peVar.TenantID != nil { + objectMap["tenantId"] = peVar.TenantID + } + if peVar.PrincipalOid != nil { + objectMap["principalOid"] = peVar.PrincipalOid + } + for k, v := range peVar.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for PolicyEvent struct. +func (peVar *PolicyEvent) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if peVar.AdditionalProperties == nil { + peVar.AdditionalProperties = make(map[string]interface{}) + } + peVar.AdditionalProperties[k] = additionalProperties + } + case "@odata.id": + if v != nil { + var odataID string + err = json.Unmarshal(*v, &odataID) + if err != nil { + return err + } + peVar.OdataID = &odataID + } + case "@odata.context": + if v != nil { + var odataContext string + err = json.Unmarshal(*v, &odataContext) + if err != nil { + return err + } + peVar.OdataContext = &odataContext + } + case "timestamp": + if v != nil { + var timestamp date.Time + err = json.Unmarshal(*v, ×tamp) + if err != nil { + return err + } + peVar.Timestamp = ×tamp + } + case "resourceId": + if v != nil { + var resourceID string + err = json.Unmarshal(*v, &resourceID) + if err != nil { + return err + } + peVar.ResourceID = &resourceID + } + case "policyAssignmentId": + if v != nil { + var policyAssignmentID string + err = json.Unmarshal(*v, &policyAssignmentID) + if err != nil { + return err + } + peVar.PolicyAssignmentID = &policyAssignmentID + } + case "policyDefinitionId": + if v != nil { + var policyDefinitionID string + err = json.Unmarshal(*v, &policyDefinitionID) + if err != nil { + return err + } + peVar.PolicyDefinitionID = &policyDefinitionID + } + case "effectiveParameters": + if v != nil { + var effectiveParameters string + err = json.Unmarshal(*v, &effectiveParameters) + if err != nil { + return err + } + peVar.EffectiveParameters = &effectiveParameters + } + case "isCompliant": + if v != nil { + var isCompliant bool + err = json.Unmarshal(*v, &isCompliant) + if err != nil { + return err + } + peVar.IsCompliant = &isCompliant + } + case "subscriptionId": + if v != nil { + var subscriptionID string + err = json.Unmarshal(*v, &subscriptionID) + if err != nil { + return err + } + peVar.SubscriptionID = &subscriptionID + } + case "resourceType": + if v != nil { + var resourceType string + err = json.Unmarshal(*v, &resourceType) + if err != nil { + return err + } + peVar.ResourceType = &resourceType + } + case "resourceLocation": + if v != nil { + var resourceLocation string + err = json.Unmarshal(*v, &resourceLocation) + if err != nil { + return err + } + peVar.ResourceLocation = &resourceLocation + } + case "resourceGroup": + if v != nil { + var resourceGroup string + err = json.Unmarshal(*v, &resourceGroup) + if err != nil { + return err + } + peVar.ResourceGroup = &resourceGroup + } + case "resourceTags": + if v != nil { + var resourceTags string + err = json.Unmarshal(*v, &resourceTags) + if err != nil { + return err + } + peVar.ResourceTags = &resourceTags + } + case "policyAssignmentName": + if v != nil { + var policyAssignmentName string + err = json.Unmarshal(*v, &policyAssignmentName) + if err != nil { + return err + } + peVar.PolicyAssignmentName = &policyAssignmentName + } + case "policyAssignmentOwner": + if v != nil { + var policyAssignmentOwner string + err = json.Unmarshal(*v, &policyAssignmentOwner) + if err != nil { + return err + } + peVar.PolicyAssignmentOwner = &policyAssignmentOwner + } + case "policyAssignmentParameters": + if v != nil { + var policyAssignmentParameters string + err = json.Unmarshal(*v, &policyAssignmentParameters) + if err != nil { + return err + } + peVar.PolicyAssignmentParameters = &policyAssignmentParameters + } + case "policyAssignmentScope": + if v != nil { + var policyAssignmentScope string + err = json.Unmarshal(*v, &policyAssignmentScope) + if err != nil { + return err + } + peVar.PolicyAssignmentScope = &policyAssignmentScope + } + case "policyDefinitionName": + if v != nil { + var policyDefinitionName string + err = json.Unmarshal(*v, &policyDefinitionName) + if err != nil { + return err + } + peVar.PolicyDefinitionName = &policyDefinitionName + } + case "policyDefinitionAction": + if v != nil { + var policyDefinitionAction string + err = json.Unmarshal(*v, &policyDefinitionAction) + if err != nil { + return err + } + peVar.PolicyDefinitionAction = &policyDefinitionAction + } + case "policyDefinitionCategory": + if v != nil { + var policyDefinitionCategory string + err = json.Unmarshal(*v, &policyDefinitionCategory) + if err != nil { + return err + } + peVar.PolicyDefinitionCategory = &policyDefinitionCategory + } + case "policySetDefinitionId": + if v != nil { + var policySetDefinitionID string + err = json.Unmarshal(*v, &policySetDefinitionID) + if err != nil { + return err + } + peVar.PolicySetDefinitionID = &policySetDefinitionID + } + case "policySetDefinitionName": + if v != nil { + var policySetDefinitionName string + err = json.Unmarshal(*v, &policySetDefinitionName) + if err != nil { + return err + } + peVar.PolicySetDefinitionName = &policySetDefinitionName + } + case "policySetDefinitionOwner": + if v != nil { + var policySetDefinitionOwner string + err = json.Unmarshal(*v, &policySetDefinitionOwner) + if err != nil { + return err + } + peVar.PolicySetDefinitionOwner = &policySetDefinitionOwner + } + case "policySetDefinitionCategory": + if v != nil { + var policySetDefinitionCategory string + err = json.Unmarshal(*v, &policySetDefinitionCategory) + if err != nil { + return err + } + peVar.PolicySetDefinitionCategory = &policySetDefinitionCategory + } + case "policySetDefinitionParameters": + if v != nil { + var policySetDefinitionParameters string + err = json.Unmarshal(*v, &policySetDefinitionParameters) + if err != nil { + return err + } + peVar.PolicySetDefinitionParameters = &policySetDefinitionParameters + } + case "managementGroupIds": + if v != nil { + var managementGroupIds string + err = json.Unmarshal(*v, &managementGroupIds) + if err != nil { + return err + } + peVar.ManagementGroupIds = &managementGroupIds + } + case "policyDefinitionReferenceId": + if v != nil { + var policyDefinitionReferenceID string + err = json.Unmarshal(*v, &policyDefinitionReferenceID) + if err != nil { + return err + } + peVar.PolicyDefinitionReferenceID = &policyDefinitionReferenceID + } + case "tenantId": + if v != nil { + var tenantID string + err = json.Unmarshal(*v, &tenantID) + if err != nil { + return err + } + peVar.TenantID = &tenantID + } + case "principalOid": + if v != nil { + var principalOid string + err = json.Unmarshal(*v, &principalOid) + if err != nil { + return err + } + peVar.PrincipalOid = &principalOid + } + } + } + + return nil +} + +// PolicyEventsQueryResults query results. +type PolicyEventsQueryResults struct { + autorest.Response `json:"-"` + // OdataContext - OData context string; used by OData clients to resolve type information based on metadata. + OdataContext *string `json:"@odata.context,omitempty"` + // OdataCount - OData entity count; represents the number of policy event records returned. + OdataCount *int32 `json:"@odata.count,omitempty"` + // Value - Query results. + Value *[]PolicyEvent `json:"value,omitempty"` +} + +// PolicyGroupSummary policy definition group summary. +type PolicyGroupSummary struct { + // PolicyGroupName - Policy group name. + PolicyGroupName *string `json:"policyGroupName,omitempty"` + // Results - Compliance summary for the policy definition group. + Results *SummaryResults `json:"results,omitempty"` +} + +// PolicyState policy state record. +type PolicyState struct { + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string]interface{} `json:""` + // OdataID - OData entity ID; always set to null since policy state records do not have an entity ID. + OdataID *string `json:"@odata.id,omitempty"` + // OdataContext - OData context string; used by OData clients to resolve type information based on metadata. + OdataContext *string `json:"@odata.context,omitempty"` + // Timestamp - Timestamp for the policy state record. + Timestamp *date.Time `json:"timestamp,omitempty"` + // ResourceID - Resource ID. + ResourceID *string `json:"resourceId,omitempty"` + // PolicyAssignmentID - Policy assignment ID. + PolicyAssignmentID *string `json:"policyAssignmentId,omitempty"` + // PolicyDefinitionID - Policy definition ID. + PolicyDefinitionID *string `json:"policyDefinitionId,omitempty"` + // EffectiveParameters - Effective parameters for the policy assignment. + EffectiveParameters *string `json:"effectiveParameters,omitempty"` + // IsCompliant - Flag which states whether the resource is compliant against the policy assignment it was evaluated against. This property is deprecated; please use ComplianceState instead. + IsCompliant *bool `json:"isCompliant,omitempty"` + // SubscriptionID - Subscription ID. + SubscriptionID *string `json:"subscriptionId,omitempty"` + // ResourceType - Resource type. + ResourceType *string `json:"resourceType,omitempty"` + // ResourceLocation - Resource location. + ResourceLocation *string `json:"resourceLocation,omitempty"` + // ResourceGroup - Resource group name. + ResourceGroup *string `json:"resourceGroup,omitempty"` + // ResourceTags - List of resource tags. + ResourceTags *string `json:"resourceTags,omitempty"` + // PolicyAssignmentName - Policy assignment name. + PolicyAssignmentName *string `json:"policyAssignmentName,omitempty"` + // PolicyAssignmentOwner - Policy assignment owner. + PolicyAssignmentOwner *string `json:"policyAssignmentOwner,omitempty"` + // PolicyAssignmentParameters - Policy assignment parameters. + PolicyAssignmentParameters *string `json:"policyAssignmentParameters,omitempty"` + // PolicyAssignmentScope - Policy assignment scope. + PolicyAssignmentScope *string `json:"policyAssignmentScope,omitempty"` + // PolicyDefinitionName - Policy definition name. + PolicyDefinitionName *string `json:"policyDefinitionName,omitempty"` + // PolicyDefinitionAction - Policy definition action, i.e. effect. + PolicyDefinitionAction *string `json:"policyDefinitionAction,omitempty"` + // PolicyDefinitionCategory - Policy definition category. + PolicyDefinitionCategory *string `json:"policyDefinitionCategory,omitempty"` + // PolicySetDefinitionID - Policy set definition ID, if the policy assignment is for a policy set. + PolicySetDefinitionID *string `json:"policySetDefinitionId,omitempty"` + // PolicySetDefinitionName - Policy set definition name, if the policy assignment is for a policy set. + PolicySetDefinitionName *string `json:"policySetDefinitionName,omitempty"` + // PolicySetDefinitionOwner - Policy set definition owner, if the policy assignment is for a policy set. + PolicySetDefinitionOwner *string `json:"policySetDefinitionOwner,omitempty"` + // PolicySetDefinitionCategory - Policy set definition category, if the policy assignment is for a policy set. + PolicySetDefinitionCategory *string `json:"policySetDefinitionCategory,omitempty"` + // PolicySetDefinitionParameters - Policy set definition parameters, if the policy assignment is for a policy set. + PolicySetDefinitionParameters *string `json:"policySetDefinitionParameters,omitempty"` + // ManagementGroupIds - Comma separated list of management group IDs, which represent the hierarchy of the management groups the resource is under. + ManagementGroupIds *string `json:"managementGroupIds,omitempty"` + // PolicyDefinitionReferenceID - Reference ID for the policy definition inside the policy set, if the policy assignment is for a policy set. + PolicyDefinitionReferenceID *string `json:"policyDefinitionReferenceId,omitempty"` + // ComplianceState - Compliance state of the resource. + ComplianceState *string `json:"complianceState,omitempty"` + // PolicyEvaluationDetails - Policy evaluation details. + PolicyEvaluationDetails *PolicyEvaluationDetails `json:"policyEvaluationDetails,omitempty"` + // PolicyDefinitionGroupNames - Policy definition group names. + PolicyDefinitionGroupNames *[]string `json:"policyDefinitionGroupNames,omitempty"` +} + +// MarshalJSON is the custom marshaler for PolicyState. +func (ps PolicyState) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if ps.OdataID != nil { + objectMap["@odata.id"] = ps.OdataID + } + if ps.OdataContext != nil { + objectMap["@odata.context"] = ps.OdataContext + } + if ps.Timestamp != nil { + objectMap["timestamp"] = ps.Timestamp + } + if ps.ResourceID != nil { + objectMap["resourceId"] = ps.ResourceID + } + if ps.PolicyAssignmentID != nil { + objectMap["policyAssignmentId"] = ps.PolicyAssignmentID + } + if ps.PolicyDefinitionID != nil { + objectMap["policyDefinitionId"] = ps.PolicyDefinitionID + } + if ps.EffectiveParameters != nil { + objectMap["effectiveParameters"] = ps.EffectiveParameters + } + if ps.IsCompliant != nil { + objectMap["isCompliant"] = ps.IsCompliant + } + if ps.SubscriptionID != nil { + objectMap["subscriptionId"] = ps.SubscriptionID + } + if ps.ResourceType != nil { + objectMap["resourceType"] = ps.ResourceType + } + if ps.ResourceLocation != nil { + objectMap["resourceLocation"] = ps.ResourceLocation + } + if ps.ResourceGroup != nil { + objectMap["resourceGroup"] = ps.ResourceGroup + } + if ps.ResourceTags != nil { + objectMap["resourceTags"] = ps.ResourceTags + } + if ps.PolicyAssignmentName != nil { + objectMap["policyAssignmentName"] = ps.PolicyAssignmentName + } + if ps.PolicyAssignmentOwner != nil { + objectMap["policyAssignmentOwner"] = ps.PolicyAssignmentOwner + } + if ps.PolicyAssignmentParameters != nil { + objectMap["policyAssignmentParameters"] = ps.PolicyAssignmentParameters + } + if ps.PolicyAssignmentScope != nil { + objectMap["policyAssignmentScope"] = ps.PolicyAssignmentScope + } + if ps.PolicyDefinitionName != nil { + objectMap["policyDefinitionName"] = ps.PolicyDefinitionName + } + if ps.PolicyDefinitionAction != nil { + objectMap["policyDefinitionAction"] = ps.PolicyDefinitionAction + } + if ps.PolicyDefinitionCategory != nil { + objectMap["policyDefinitionCategory"] = ps.PolicyDefinitionCategory + } + if ps.PolicySetDefinitionID != nil { + objectMap["policySetDefinitionId"] = ps.PolicySetDefinitionID + } + if ps.PolicySetDefinitionName != nil { + objectMap["policySetDefinitionName"] = ps.PolicySetDefinitionName + } + if ps.PolicySetDefinitionOwner != nil { + objectMap["policySetDefinitionOwner"] = ps.PolicySetDefinitionOwner + } + if ps.PolicySetDefinitionCategory != nil { + objectMap["policySetDefinitionCategory"] = ps.PolicySetDefinitionCategory + } + if ps.PolicySetDefinitionParameters != nil { + objectMap["policySetDefinitionParameters"] = ps.PolicySetDefinitionParameters + } + if ps.ManagementGroupIds != nil { + objectMap["managementGroupIds"] = ps.ManagementGroupIds + } + if ps.PolicyDefinitionReferenceID != nil { + objectMap["policyDefinitionReferenceId"] = ps.PolicyDefinitionReferenceID + } + if ps.ComplianceState != nil { + objectMap["complianceState"] = ps.ComplianceState + } + if ps.PolicyEvaluationDetails != nil { + objectMap["policyEvaluationDetails"] = ps.PolicyEvaluationDetails + } + if ps.PolicyDefinitionGroupNames != nil { + objectMap["policyDefinitionGroupNames"] = ps.PolicyDefinitionGroupNames + } + for k, v := range ps.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for PolicyState struct. +func (ps *PolicyState) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if ps.AdditionalProperties == nil { + ps.AdditionalProperties = make(map[string]interface{}) + } + ps.AdditionalProperties[k] = additionalProperties + } + case "@odata.id": + if v != nil { + var odataID string + err = json.Unmarshal(*v, &odataID) + if err != nil { + return err + } + ps.OdataID = &odataID + } + case "@odata.context": + if v != nil { + var odataContext string + err = json.Unmarshal(*v, &odataContext) + if err != nil { + return err + } + ps.OdataContext = &odataContext + } + case "timestamp": + if v != nil { + var timestamp date.Time + err = json.Unmarshal(*v, ×tamp) + if err != nil { + return err + } + ps.Timestamp = ×tamp + } + case "resourceId": + if v != nil { + var resourceID string + err = json.Unmarshal(*v, &resourceID) + if err != nil { + return err + } + ps.ResourceID = &resourceID + } + case "policyAssignmentId": + if v != nil { + var policyAssignmentID string + err = json.Unmarshal(*v, &policyAssignmentID) + if err != nil { + return err + } + ps.PolicyAssignmentID = &policyAssignmentID + } + case "policyDefinitionId": + if v != nil { + var policyDefinitionID string + err = json.Unmarshal(*v, &policyDefinitionID) + if err != nil { + return err + } + ps.PolicyDefinitionID = &policyDefinitionID + } + case "effectiveParameters": + if v != nil { + var effectiveParameters string + err = json.Unmarshal(*v, &effectiveParameters) + if err != nil { + return err + } + ps.EffectiveParameters = &effectiveParameters + } + case "isCompliant": + if v != nil { + var isCompliant bool + err = json.Unmarshal(*v, &isCompliant) + if err != nil { + return err + } + ps.IsCompliant = &isCompliant + } + case "subscriptionId": + if v != nil { + var subscriptionID string + err = json.Unmarshal(*v, &subscriptionID) + if err != nil { + return err + } + ps.SubscriptionID = &subscriptionID + } + case "resourceType": + if v != nil { + var resourceType string + err = json.Unmarshal(*v, &resourceType) + if err != nil { + return err + } + ps.ResourceType = &resourceType + } + case "resourceLocation": + if v != nil { + var resourceLocation string + err = json.Unmarshal(*v, &resourceLocation) + if err != nil { + return err + } + ps.ResourceLocation = &resourceLocation + } + case "resourceGroup": + if v != nil { + var resourceGroup string + err = json.Unmarshal(*v, &resourceGroup) + if err != nil { + return err + } + ps.ResourceGroup = &resourceGroup + } + case "resourceTags": + if v != nil { + var resourceTags string + err = json.Unmarshal(*v, &resourceTags) + if err != nil { + return err + } + ps.ResourceTags = &resourceTags + } + case "policyAssignmentName": + if v != nil { + var policyAssignmentName string + err = json.Unmarshal(*v, &policyAssignmentName) + if err != nil { + return err + } + ps.PolicyAssignmentName = &policyAssignmentName + } + case "policyAssignmentOwner": + if v != nil { + var policyAssignmentOwner string + err = json.Unmarshal(*v, &policyAssignmentOwner) + if err != nil { + return err + } + ps.PolicyAssignmentOwner = &policyAssignmentOwner + } + case "policyAssignmentParameters": + if v != nil { + var policyAssignmentParameters string + err = json.Unmarshal(*v, &policyAssignmentParameters) + if err != nil { + return err + } + ps.PolicyAssignmentParameters = &policyAssignmentParameters + } + case "policyAssignmentScope": + if v != nil { + var policyAssignmentScope string + err = json.Unmarshal(*v, &policyAssignmentScope) + if err != nil { + return err + } + ps.PolicyAssignmentScope = &policyAssignmentScope + } + case "policyDefinitionName": + if v != nil { + var policyDefinitionName string + err = json.Unmarshal(*v, &policyDefinitionName) + if err != nil { + return err + } + ps.PolicyDefinitionName = &policyDefinitionName + } + case "policyDefinitionAction": + if v != nil { + var policyDefinitionAction string + err = json.Unmarshal(*v, &policyDefinitionAction) + if err != nil { + return err + } + ps.PolicyDefinitionAction = &policyDefinitionAction + } + case "policyDefinitionCategory": + if v != nil { + var policyDefinitionCategory string + err = json.Unmarshal(*v, &policyDefinitionCategory) + if err != nil { + return err + } + ps.PolicyDefinitionCategory = &policyDefinitionCategory + } + case "policySetDefinitionId": + if v != nil { + var policySetDefinitionID string + err = json.Unmarshal(*v, &policySetDefinitionID) + if err != nil { + return err + } + ps.PolicySetDefinitionID = &policySetDefinitionID + } + case "policySetDefinitionName": + if v != nil { + var policySetDefinitionName string + err = json.Unmarshal(*v, &policySetDefinitionName) + if err != nil { + return err + } + ps.PolicySetDefinitionName = &policySetDefinitionName + } + case "policySetDefinitionOwner": + if v != nil { + var policySetDefinitionOwner string + err = json.Unmarshal(*v, &policySetDefinitionOwner) + if err != nil { + return err + } + ps.PolicySetDefinitionOwner = &policySetDefinitionOwner + } + case "policySetDefinitionCategory": + if v != nil { + var policySetDefinitionCategory string + err = json.Unmarshal(*v, &policySetDefinitionCategory) + if err != nil { + return err + } + ps.PolicySetDefinitionCategory = &policySetDefinitionCategory + } + case "policySetDefinitionParameters": + if v != nil { + var policySetDefinitionParameters string + err = json.Unmarshal(*v, &policySetDefinitionParameters) + if err != nil { + return err + } + ps.PolicySetDefinitionParameters = &policySetDefinitionParameters + } + case "managementGroupIds": + if v != nil { + var managementGroupIds string + err = json.Unmarshal(*v, &managementGroupIds) + if err != nil { + return err + } + ps.ManagementGroupIds = &managementGroupIds + } + case "policyDefinitionReferenceId": + if v != nil { + var policyDefinitionReferenceID string + err = json.Unmarshal(*v, &policyDefinitionReferenceID) + if err != nil { + return err + } + ps.PolicyDefinitionReferenceID = &policyDefinitionReferenceID + } + case "complianceState": + if v != nil { + var complianceState string + err = json.Unmarshal(*v, &complianceState) + if err != nil { + return err + } + ps.ComplianceState = &complianceState + } + case "policyEvaluationDetails": + if v != nil { + var policyEvaluationDetails PolicyEvaluationDetails + err = json.Unmarshal(*v, &policyEvaluationDetails) + if err != nil { + return err + } + ps.PolicyEvaluationDetails = &policyEvaluationDetails + } + case "policyDefinitionGroupNames": + if v != nil { + var policyDefinitionGroupNames []string + err = json.Unmarshal(*v, &policyDefinitionGroupNames) + if err != nil { + return err + } + ps.PolicyDefinitionGroupNames = &policyDefinitionGroupNames + } + } + } + + return nil +} + +// PolicyStatesQueryResults query results. +type PolicyStatesQueryResults struct { + autorest.Response `json:"-"` + // OdataContext - OData context string; used by OData clients to resolve type information based on metadata. + OdataContext *string `json:"@odata.context,omitempty"` + // OdataCount - OData entity count; represents the number of policy state records returned. + OdataCount *int32 `json:"@odata.count,omitempty"` + // Value - Query results. + Value *[]PolicyState `json:"value,omitempty"` +} + +// PolicyTrackedResource policy tracked resource record. +type PolicyTrackedResource struct { + // TrackedResourceID - READ-ONLY; The ID of the policy tracked resource. + TrackedResourceID *string `json:"trackedResourceId,omitempty"` + // PolicyDetails - READ-ONLY; The details of the policy that require the tracked resource. + PolicyDetails *PolicyDetails `json:"policyDetails,omitempty"` + // CreatedBy - READ-ONLY; The details of the policy triggered deployment that created the tracked resource. + CreatedBy *TrackedResourceModificationDetails `json:"createdBy,omitempty"` + // LastModifiedBy - READ-ONLY; The details of the policy triggered deployment that modified the tracked resource. + LastModifiedBy *TrackedResourceModificationDetails `json:"lastModifiedBy,omitempty"` + // LastUpdateUtc - READ-ONLY; Timestamp of the last update to the tracked resource. + LastUpdateUtc *date.Time `json:"lastUpdateUtc,omitempty"` +} + +// PolicyTrackedResourcesQueryResults query results. +type PolicyTrackedResourcesQueryResults struct { + autorest.Response `json:"-"` + // Value - READ-ONLY; Query results. + Value *[]PolicyTrackedResource `json:"value,omitempty"` + // NextLink - READ-ONLY; The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// PolicyTrackedResourcesQueryResultsIterator provides access to a complete listing of +// PolicyTrackedResource values. +type PolicyTrackedResourcesQueryResultsIterator struct { + i int + page PolicyTrackedResourcesQueryResultsPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *PolicyTrackedResourcesQueryResultsIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PolicyTrackedResourcesQueryResultsIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *PolicyTrackedResourcesQueryResultsIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter PolicyTrackedResourcesQueryResultsIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter PolicyTrackedResourcesQueryResultsIterator) Response() PolicyTrackedResourcesQueryResults { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter PolicyTrackedResourcesQueryResultsIterator) Value() PolicyTrackedResource { + if !iter.page.NotDone() { + return PolicyTrackedResource{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the PolicyTrackedResourcesQueryResultsIterator type. +func NewPolicyTrackedResourcesQueryResultsIterator(page PolicyTrackedResourcesQueryResultsPage) PolicyTrackedResourcesQueryResultsIterator { + return PolicyTrackedResourcesQueryResultsIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (ptrqr PolicyTrackedResourcesQueryResults) IsEmpty() bool { + return ptrqr.Value == nil || len(*ptrqr.Value) == 0 +} + +// policyTrackedResourcesQueryResultsPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (ptrqr PolicyTrackedResourcesQueryResults) policyTrackedResourcesQueryResultsPreparer(ctx context.Context) (*http.Request, error) { + if ptrqr.NextLink == nil || len(to.String(ptrqr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(ptrqr.NextLink))) +} + +// PolicyTrackedResourcesQueryResultsPage contains a page of PolicyTrackedResource values. +type PolicyTrackedResourcesQueryResultsPage struct { + fn func(context.Context, PolicyTrackedResourcesQueryResults) (PolicyTrackedResourcesQueryResults, error) + ptrqr PolicyTrackedResourcesQueryResults +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *PolicyTrackedResourcesQueryResultsPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PolicyTrackedResourcesQueryResultsPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.ptrqr) + if err != nil { + return err + } + page.ptrqr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *PolicyTrackedResourcesQueryResultsPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page PolicyTrackedResourcesQueryResultsPage) NotDone() bool { + return !page.ptrqr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page PolicyTrackedResourcesQueryResultsPage) Response() PolicyTrackedResourcesQueryResults { + return page.ptrqr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page PolicyTrackedResourcesQueryResultsPage) Values() []PolicyTrackedResource { + if page.ptrqr.IsEmpty() { + return nil + } + return *page.ptrqr.Value +} + +// Creates a new instance of the PolicyTrackedResourcesQueryResultsPage type. +func NewPolicyTrackedResourcesQueryResultsPage(getNextPage func(context.Context, PolicyTrackedResourcesQueryResults) (PolicyTrackedResourcesQueryResults, error)) PolicyTrackedResourcesQueryResultsPage { + return PolicyTrackedResourcesQueryResultsPage{fn: getNextPage} +} + +// QueryFailure error response. +type QueryFailure struct { + // Error - Error definition. + Error *QueryFailureError `json:"error,omitempty"` +} + +// QueryFailureError error definition. +type QueryFailureError struct { + // Code - READ-ONLY; Service specific error code which serves as the substatus for the HTTP error code. + Code *string `json:"code,omitempty"` + // Message - READ-ONLY; Description of the error. + Message *string `json:"message,omitempty"` +} + +// Remediation the remediation definition. +type Remediation struct { + autorest.Response `json:"-"` + // RemediationProperties - Properties for the remediation. + *RemediationProperties `json:"properties,omitempty"` + // ID - READ-ONLY; The ID of the remediation. + ID *string `json:"id,omitempty"` + // Type - READ-ONLY; The type of the remediation. + Type *string `json:"type,omitempty"` + // Name - READ-ONLY; The name of the remediation. + Name *string `json:"name,omitempty"` +} + +// MarshalJSON is the custom marshaler for Remediation. +func (r Remediation) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if r.RemediationProperties != nil { + objectMap["properties"] = r.RemediationProperties + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for Remediation struct. +func (r *Remediation) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var remediationProperties RemediationProperties + err = json.Unmarshal(*v, &remediationProperties) + if err != nil { + return err + } + r.RemediationProperties = &remediationProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + r.ID = &ID + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + r.Type = &typeVar + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + r.Name = &name + } + } + } + + return nil +} + +// RemediationDeployment details of a single deployment created by the remediation. +type RemediationDeployment struct { + // RemediatedResourceID - READ-ONLY; Resource ID of the resource that is being remediated by the deployment. + RemediatedResourceID *string `json:"remediatedResourceId,omitempty"` + // DeploymentID - READ-ONLY; Resource ID of the template deployment that will remediate the resource. + DeploymentID *string `json:"deploymentId,omitempty"` + // Status - READ-ONLY; Status of the remediation deployment. + Status *string `json:"status,omitempty"` + // ResourceLocation - READ-ONLY; Location of the resource that is being remediated. + ResourceLocation *string `json:"resourceLocation,omitempty"` + // Error - READ-ONLY; Error encountered while remediated the resource. + Error *ErrorDefinition `json:"error,omitempty"` + // CreatedOn - READ-ONLY; The time at which the remediation was created. + CreatedOn *date.Time `json:"createdOn,omitempty"` + // LastUpdatedOn - READ-ONLY; The time at which the remediation deployment was last updated. + LastUpdatedOn *date.Time `json:"lastUpdatedOn,omitempty"` +} + +// RemediationDeploymentsListResult list of deployments for a remediation. +type RemediationDeploymentsListResult struct { + autorest.Response `json:"-"` + // Value - READ-ONLY; Array of deployments for the remediation. + Value *[]RemediationDeployment `json:"value,omitempty"` + // NextLink - READ-ONLY; The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// RemediationDeploymentsListResultIterator provides access to a complete listing of RemediationDeployment +// values. +type RemediationDeploymentsListResultIterator struct { + i int + page RemediationDeploymentsListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *RemediationDeploymentsListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RemediationDeploymentsListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *RemediationDeploymentsListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter RemediationDeploymentsListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter RemediationDeploymentsListResultIterator) Response() RemediationDeploymentsListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter RemediationDeploymentsListResultIterator) Value() RemediationDeployment { + if !iter.page.NotDone() { + return RemediationDeployment{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the RemediationDeploymentsListResultIterator type. +func NewRemediationDeploymentsListResultIterator(page RemediationDeploymentsListResultPage) RemediationDeploymentsListResultIterator { + return RemediationDeploymentsListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (rdlr RemediationDeploymentsListResult) IsEmpty() bool { + return rdlr.Value == nil || len(*rdlr.Value) == 0 +} + +// remediationDeploymentsListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (rdlr RemediationDeploymentsListResult) remediationDeploymentsListResultPreparer(ctx context.Context) (*http.Request, error) { + if rdlr.NextLink == nil || len(to.String(rdlr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(rdlr.NextLink))) +} + +// RemediationDeploymentsListResultPage contains a page of RemediationDeployment values. +type RemediationDeploymentsListResultPage struct { + fn func(context.Context, RemediationDeploymentsListResult) (RemediationDeploymentsListResult, error) + rdlr RemediationDeploymentsListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *RemediationDeploymentsListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RemediationDeploymentsListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.rdlr) + if err != nil { + return err + } + page.rdlr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *RemediationDeploymentsListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page RemediationDeploymentsListResultPage) NotDone() bool { + return !page.rdlr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page RemediationDeploymentsListResultPage) Response() RemediationDeploymentsListResult { + return page.rdlr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page RemediationDeploymentsListResultPage) Values() []RemediationDeployment { + if page.rdlr.IsEmpty() { + return nil + } + return *page.rdlr.Value +} + +// Creates a new instance of the RemediationDeploymentsListResultPage type. +func NewRemediationDeploymentsListResultPage(getNextPage func(context.Context, RemediationDeploymentsListResult) (RemediationDeploymentsListResult, error)) RemediationDeploymentsListResultPage { + return RemediationDeploymentsListResultPage{fn: getNextPage} +} + +// RemediationDeploymentSummary the deployment status summary for all deployments created by the +// remediation. +type RemediationDeploymentSummary struct { + // TotalDeployments - The number of deployments required by the remediation. + TotalDeployments *int32 `json:"totalDeployments,omitempty"` + // SuccessfulDeployments - The number of deployments required by the remediation that have succeeded. + SuccessfulDeployments *int32 `json:"successfulDeployments,omitempty"` + // FailedDeployments - The number of deployments required by the remediation that have failed. + FailedDeployments *int32 `json:"failedDeployments,omitempty"` +} + +// RemediationFilters the filters that will be applied to determine which resources to remediate. +type RemediationFilters struct { + // Locations - The resource locations that will be remediated. + Locations *[]string `json:"locations,omitempty"` +} + +// RemediationListResult list of remediations. +type RemediationListResult struct { + autorest.Response `json:"-"` + // Value - READ-ONLY; Array of remediation definitions. + Value *[]Remediation `json:"value,omitempty"` + // NextLink - READ-ONLY; The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// RemediationListResultIterator provides access to a complete listing of Remediation values. +type RemediationListResultIterator struct { + i int + page RemediationListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *RemediationListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RemediationListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *RemediationListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter RemediationListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter RemediationListResultIterator) Response() RemediationListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter RemediationListResultIterator) Value() Remediation { + if !iter.page.NotDone() { + return Remediation{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the RemediationListResultIterator type. +func NewRemediationListResultIterator(page RemediationListResultPage) RemediationListResultIterator { + return RemediationListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (rlr RemediationListResult) IsEmpty() bool { + return rlr.Value == nil || len(*rlr.Value) == 0 +} + +// remediationListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (rlr RemediationListResult) remediationListResultPreparer(ctx context.Context) (*http.Request, error) { + if rlr.NextLink == nil || len(to.String(rlr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(rlr.NextLink))) +} + +// RemediationListResultPage contains a page of Remediation values. +type RemediationListResultPage struct { + fn func(context.Context, RemediationListResult) (RemediationListResult, error) + rlr RemediationListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *RemediationListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RemediationListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.rlr) + if err != nil { + return err + } + page.rlr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *RemediationListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page RemediationListResultPage) NotDone() bool { + return !page.rlr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page RemediationListResultPage) Response() RemediationListResult { + return page.rlr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page RemediationListResultPage) Values() []Remediation { + if page.rlr.IsEmpty() { + return nil + } + return *page.rlr.Value +} + +// Creates a new instance of the RemediationListResultPage type. +func NewRemediationListResultPage(getNextPage func(context.Context, RemediationListResult) (RemediationListResult, error)) RemediationListResultPage { + return RemediationListResultPage{fn: getNextPage} +} + +// RemediationProperties the remediation properties. +type RemediationProperties struct { + // PolicyAssignmentID - The resource ID of the policy assignment that should be remediated. + PolicyAssignmentID *string `json:"policyAssignmentId,omitempty"` + // PolicyDefinitionReferenceID - The policy definition reference ID of the individual definition that should be remediated. Required when the policy assignment being remediated assigns a policy set definition. + PolicyDefinitionReferenceID *string `json:"policyDefinitionReferenceId,omitempty"` + // ProvisioningState - READ-ONLY; The status of the remediation. + ProvisioningState *string `json:"provisioningState,omitempty"` + // CreatedOn - READ-ONLY; The time at which the remediation was created. + CreatedOn *date.Time `json:"createdOn,omitempty"` + // LastUpdatedOn - READ-ONLY; The time at which the remediation was last updated. + LastUpdatedOn *date.Time `json:"lastUpdatedOn,omitempty"` + // Filters - The filters that will be applied to determine which resources to remediate. + Filters *RemediationFilters `json:"filters,omitempty"` + // DeploymentStatus - The deployment status summary for all deployments created by the remediation. + DeploymentStatus *RemediationDeploymentSummary `json:"deploymentStatus,omitempty"` +} + +// String ... +type String struct { + autorest.Response `json:"-"` + Value *string `json:"value,omitempty"` +} + +// SummarizeResults summarize action results. +type SummarizeResults struct { + autorest.Response `json:"-"` + // OdataContext - OData context string; used by OData clients to resolve type information based on metadata. + OdataContext *string `json:"@odata.context,omitempty"` + // OdataCount - OData entity count; represents the number of summaries returned; always set to 1. + OdataCount *int32 `json:"@odata.count,omitempty"` + // Value - Summarize action results. + Value *[]Summary `json:"value,omitempty"` +} + +// Summary summary results. +type Summary struct { + // OdataID - OData entity ID; always set to null since summaries do not have an entity ID. + OdataID *string `json:"@odata.id,omitempty"` + // OdataContext - OData context string; used by OData clients to resolve type information based on metadata. + OdataContext *string `json:"@odata.context,omitempty"` + // Results - Compliance summary for all policy assignments. + Results *SummaryResults `json:"results,omitempty"` + // PolicyAssignments - Policy assignments summary. + PolicyAssignments *[]PolicyAssignmentSummary `json:"policyAssignments,omitempty"` +} + +// SummaryResults compliance summary on a particular summary level. +type SummaryResults struct { + // QueryResultsURI - HTTP POST URI for queryResults action on Microsoft.PolicyInsights to retrieve raw results for the compliance summary. This property will not be available by default in future API versions, but could be queried explicitly. + QueryResultsURI *string `json:"queryResultsUri,omitempty"` + // NonCompliantResources - Number of non-compliant resources. + NonCompliantResources *int32 `json:"nonCompliantResources,omitempty"` + // NonCompliantPolicies - Number of non-compliant policies. + NonCompliantPolicies *int32 `json:"nonCompliantPolicies,omitempty"` + // ResourceDetails - The resources summary at this level. + ResourceDetails *[]ComplianceDetail `json:"resourceDetails,omitempty"` + // PolicyDetails - The policy artifact summary at this level. For query scope level, it represents policy assignment summary. For policy assignment level, it represents policy definitions summary. + PolicyDetails *[]ComplianceDetail `json:"policyDetails,omitempty"` + // PolicyGroupDetails - The policy definition group summary at this level. + PolicyGroupDetails *[]ComplianceDetail `json:"policyGroupDetails,omitempty"` +} + +// TrackedResourceModificationDetails the details of the policy triggered deployment that created or +// modified the tracked resource. +type TrackedResourceModificationDetails struct { + // PolicyDetails - READ-ONLY; The details of the policy that created or modified the tracked resource. + PolicyDetails *PolicyDetails `json:"policyDetails,omitempty"` + // DeploymentID - READ-ONLY; The ID of the deployment that created or modified the tracked resource. + DeploymentID *string `json:"deploymentId,omitempty"` + // DeploymentTime - READ-ONLY; Timestamp of the deployment that created or modified the tracked resource. + DeploymentTime *date.Time `json:"deploymentTime,omitempty"` +} + +// TypedErrorInfo scenario specific error details. +type TypedErrorInfo struct { + // Type - READ-ONLY; The type of included error details. + Type *string `json:"type,omitempty"` + // Info - READ-ONLY; The scenario specific error details. + Info interface{} `json:"info,omitempty"` +} diff --git a/services/policyinsights/mgmt/2019-10-01/policyinsights/operations.go b/services/policyinsights/mgmt/2019-10-01/policyinsights/operations.go new file mode 100644 index 000000000000..3b7784383db2 --- /dev/null +++ b/services/policyinsights/mgmt/2019-10-01/policyinsights/operations.go @@ -0,0 +1,109 @@ +package policyinsights + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// OperationsClient is the client for the Operations methods of the Policyinsights service. +type OperationsClient struct { + BaseClient +} + +// NewOperationsClient creates an instance of the OperationsClient client. +func NewOperationsClient() OperationsClient { + return NewOperationsClientWithBaseURI(DefaultBaseURI) +} + +// NewOperationsClientWithBaseURI creates an instance of the OperationsClient client. +func NewOperationsClientWithBaseURI(baseURI string) OperationsClient { + return OperationsClient{NewWithBaseURI(baseURI)} +} + +// List lists available operations. +func (client OperationsClient) List(ctx context.Context) (result OperationsListResults, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/OperationsClient.List") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.OperationsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "policyinsights.OperationsClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.OperationsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client OperationsClient) ListPreparer(ctx context.Context) (*http.Request, error) { + const APIVersion = "2019-10-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPath("/providers/Microsoft.PolicyInsights/operations"), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client OperationsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client OperationsClient) ListResponder(resp *http.Response) (result OperationsListResults, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/policyinsights/mgmt/2019-10-01/policyinsights/policyevents.go b/services/policyinsights/mgmt/2019-10-01/policyinsights/policyevents.go new file mode 100644 index 000000000000..d4c4421f66e2 --- /dev/null +++ b/services/policyinsights/mgmt/2019-10-01/policyinsights/policyevents.go @@ -0,0 +1,1049 @@ +package policyinsights + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/date" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// PolicyEventsClient is the client for the PolicyEvents methods of the Policyinsights service. +type PolicyEventsClient struct { + BaseClient +} + +// NewPolicyEventsClient creates an instance of the PolicyEventsClient client. +func NewPolicyEventsClient() PolicyEventsClient { + return NewPolicyEventsClientWithBaseURI(DefaultBaseURI) +} + +// NewPolicyEventsClientWithBaseURI creates an instance of the PolicyEventsClient client. +func NewPolicyEventsClientWithBaseURI(baseURI string) PolicyEventsClient { + return PolicyEventsClient{NewWithBaseURI(baseURI)} +} + +// GetMetadata gets OData metadata XML document. +// Parameters: +// scope - a valid scope, i.e. management group, subscription, resource group, or resource ID. Scope used has +// no effect on metadata returned. +func (client PolicyEventsClient) GetMetadata(ctx context.Context, scope string) (result String, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PolicyEventsClient.GetMetadata") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetMetadataPreparer(ctx, scope) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.PolicyEventsClient", "GetMetadata", nil, "Failure preparing request") + return + } + + resp, err := client.GetMetadataSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "policyinsights.PolicyEventsClient", "GetMetadata", resp, "Failure sending request") + return + } + + result, err = client.GetMetadataResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.PolicyEventsClient", "GetMetadata", resp, "Failure responding to request") + } + + return +} + +// GetMetadataPreparer prepares the GetMetadata request. +func (client PolicyEventsClient) GetMetadataPreparer(ctx context.Context, scope string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "scope": scope, + } + + const APIVersion = "2018-04-04" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/{scope}/providers/Microsoft.PolicyInsights/policyEvents/$metadata", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetMetadataSender sends the GetMetadata request. The method will close the +// http.Response Body if it receives an error. +func (client PolicyEventsClient) GetMetadataSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetMetadataResponder handles the response to the GetMetadata request. The method always +// closes the http.Response Body. +func (client PolicyEventsClient) GetMetadataResponder(resp *http.Response) (result String, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result.Value), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListQueryResultsForManagementGroup queries policy events for the resources under the management group. +// Parameters: +// managementGroupName - management group name. +// top - maximum number of records to return. +// orderBy - ordering expression using OData notation. One or more comma-separated column names with an +// optional "desc" (the default) or "asc", e.g. "$orderby=PolicyAssignmentId, ResourceId asc". +// selectParameter - select expression using OData notation. Limits the columns on each record to just those +// requested, e.g. "$select=PolicyAssignmentId, ResourceId". +// from - ISO 8601 formatted timestamp specifying the start time of the interval to query. When not specified, +// the service uses ($to - 1-day). +// toParameter - ISO 8601 formatted timestamp specifying the end time of the interval to query. When not +// specified, the service uses request time. +// filter - oData filter expression. +// apply - oData apply expression for aggregations. +func (client PolicyEventsClient) ListQueryResultsForManagementGroup(ctx context.Context, managementGroupName string, top *int32, orderBy string, selectParameter string, from *date.Time, toParameter *date.Time, filter string, apply string) (result PolicyEventsQueryResults, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PolicyEventsClient.ListQueryResultsForManagementGroup") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: top, + Constraints: []validation.Constraint{{Target: "top", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "top", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}}}}}}); err != nil { + return result, validation.NewError("policyinsights.PolicyEventsClient", "ListQueryResultsForManagementGroup", err.Error()) + } + + req, err := client.ListQueryResultsForManagementGroupPreparer(ctx, managementGroupName, top, orderBy, selectParameter, from, toParameter, filter, apply) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.PolicyEventsClient", "ListQueryResultsForManagementGroup", nil, "Failure preparing request") + return + } + + resp, err := client.ListQueryResultsForManagementGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "policyinsights.PolicyEventsClient", "ListQueryResultsForManagementGroup", resp, "Failure sending request") + return + } + + result, err = client.ListQueryResultsForManagementGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.PolicyEventsClient", "ListQueryResultsForManagementGroup", resp, "Failure responding to request") + } + + return +} + +// ListQueryResultsForManagementGroupPreparer prepares the ListQueryResultsForManagementGroup request. +func (client PolicyEventsClient) ListQueryResultsForManagementGroupPreparer(ctx context.Context, managementGroupName string, top *int32, orderBy string, selectParameter string, from *date.Time, toParameter *date.Time, filter string, apply string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "managementGroupName": autorest.Encode("path", managementGroupName), + "managementGroupsNamespace": autorest.Encode("path", "Microsoft.Management"), + "policyEventsResource": autorest.Encode("path", "default"), + } + + const APIVersion = "2018-04-04" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if top != nil { + queryParameters["$top"] = autorest.Encode("query", *top) + } + if len(orderBy) > 0 { + queryParameters["$orderby"] = autorest.Encode("query", orderBy) + } + if len(selectParameter) > 0 { + queryParameters["$select"] = autorest.Encode("query", selectParameter) + } + if from != nil { + queryParameters["$from"] = autorest.Encode("query", *from) + } + if toParameter != nil { + queryParameters["$to"] = autorest.Encode("query", *toParameter) + } + if len(filter) > 0 { + queryParameters["$filter"] = autorest.Encode("query", filter) + } + if len(apply) > 0 { + queryParameters["$apply"] = autorest.Encode("query", apply) + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/providers/{managementGroupsNamespace}/managementGroups/{managementGroupName}/providers/Microsoft.PolicyInsights/policyEvents/{policyEventsResource}/queryResults", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListQueryResultsForManagementGroupSender sends the ListQueryResultsForManagementGroup request. The method will close the +// http.Response Body if it receives an error. +func (client PolicyEventsClient) ListQueryResultsForManagementGroupSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListQueryResultsForManagementGroupResponder handles the response to the ListQueryResultsForManagementGroup request. The method always +// closes the http.Response Body. +func (client PolicyEventsClient) ListQueryResultsForManagementGroupResponder(resp *http.Response) (result PolicyEventsQueryResults, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListQueryResultsForPolicyDefinition queries policy events for the subscription level policy definition. +// Parameters: +// subscriptionID - microsoft Azure subscription ID. +// policyDefinitionName - policy definition name. +// top - maximum number of records to return. +// orderBy - ordering expression using OData notation. One or more comma-separated column names with an +// optional "desc" (the default) or "asc", e.g. "$orderby=PolicyAssignmentId, ResourceId asc". +// selectParameter - select expression using OData notation. Limits the columns on each record to just those +// requested, e.g. "$select=PolicyAssignmentId, ResourceId". +// from - ISO 8601 formatted timestamp specifying the start time of the interval to query. When not specified, +// the service uses ($to - 1-day). +// toParameter - ISO 8601 formatted timestamp specifying the end time of the interval to query. When not +// specified, the service uses request time. +// filter - oData filter expression. +// apply - oData apply expression for aggregations. +func (client PolicyEventsClient) ListQueryResultsForPolicyDefinition(ctx context.Context, subscriptionID string, policyDefinitionName string, top *int32, orderBy string, selectParameter string, from *date.Time, toParameter *date.Time, filter string, apply string) (result PolicyEventsQueryResults, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PolicyEventsClient.ListQueryResultsForPolicyDefinition") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: top, + Constraints: []validation.Constraint{{Target: "top", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "top", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}}}}}}); err != nil { + return result, validation.NewError("policyinsights.PolicyEventsClient", "ListQueryResultsForPolicyDefinition", err.Error()) + } + + req, err := client.ListQueryResultsForPolicyDefinitionPreparer(ctx, subscriptionID, policyDefinitionName, top, orderBy, selectParameter, from, toParameter, filter, apply) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.PolicyEventsClient", "ListQueryResultsForPolicyDefinition", nil, "Failure preparing request") + return + } + + resp, err := client.ListQueryResultsForPolicyDefinitionSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "policyinsights.PolicyEventsClient", "ListQueryResultsForPolicyDefinition", resp, "Failure sending request") + return + } + + result, err = client.ListQueryResultsForPolicyDefinitionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.PolicyEventsClient", "ListQueryResultsForPolicyDefinition", resp, "Failure responding to request") + } + + return +} + +// ListQueryResultsForPolicyDefinitionPreparer prepares the ListQueryResultsForPolicyDefinition request. +func (client PolicyEventsClient) ListQueryResultsForPolicyDefinitionPreparer(ctx context.Context, subscriptionID string, policyDefinitionName string, top *int32, orderBy string, selectParameter string, from *date.Time, toParameter *date.Time, filter string, apply string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "authorizationNamespace": autorest.Encode("path", "Microsoft.Authorization"), + "policyDefinitionName": autorest.Encode("path", policyDefinitionName), + "policyEventsResource": autorest.Encode("path", "default"), + "subscriptionId": autorest.Encode("path", subscriptionID), + } + + const APIVersion = "2018-04-04" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if top != nil { + queryParameters["$top"] = autorest.Encode("query", *top) + } + if len(orderBy) > 0 { + queryParameters["$orderby"] = autorest.Encode("query", orderBy) + } + if len(selectParameter) > 0 { + queryParameters["$select"] = autorest.Encode("query", selectParameter) + } + if from != nil { + queryParameters["$from"] = autorest.Encode("query", *from) + } + if toParameter != nil { + queryParameters["$to"] = autorest.Encode("query", *toParameter) + } + if len(filter) > 0 { + queryParameters["$filter"] = autorest.Encode("query", filter) + } + if len(apply) > 0 { + queryParameters["$apply"] = autorest.Encode("query", apply) + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policyDefinitions/{policyDefinitionName}/providers/Microsoft.PolicyInsights/policyEvents/{policyEventsResource}/queryResults", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListQueryResultsForPolicyDefinitionSender sends the ListQueryResultsForPolicyDefinition request. The method will close the +// http.Response Body if it receives an error. +func (client PolicyEventsClient) ListQueryResultsForPolicyDefinitionSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListQueryResultsForPolicyDefinitionResponder handles the response to the ListQueryResultsForPolicyDefinition request. The method always +// closes the http.Response Body. +func (client PolicyEventsClient) ListQueryResultsForPolicyDefinitionResponder(resp *http.Response) (result PolicyEventsQueryResults, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListQueryResultsForPolicySetDefinition queries policy events for the subscription level policy set definition. +// Parameters: +// subscriptionID - microsoft Azure subscription ID. +// policySetDefinitionName - policy set definition name. +// top - maximum number of records to return. +// orderBy - ordering expression using OData notation. One or more comma-separated column names with an +// optional "desc" (the default) or "asc", e.g. "$orderby=PolicyAssignmentId, ResourceId asc". +// selectParameter - select expression using OData notation. Limits the columns on each record to just those +// requested, e.g. "$select=PolicyAssignmentId, ResourceId". +// from - ISO 8601 formatted timestamp specifying the start time of the interval to query. When not specified, +// the service uses ($to - 1-day). +// toParameter - ISO 8601 formatted timestamp specifying the end time of the interval to query. When not +// specified, the service uses request time. +// filter - oData filter expression. +// apply - oData apply expression for aggregations. +func (client PolicyEventsClient) ListQueryResultsForPolicySetDefinition(ctx context.Context, subscriptionID string, policySetDefinitionName string, top *int32, orderBy string, selectParameter string, from *date.Time, toParameter *date.Time, filter string, apply string) (result PolicyEventsQueryResults, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PolicyEventsClient.ListQueryResultsForPolicySetDefinition") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: top, + Constraints: []validation.Constraint{{Target: "top", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "top", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}}}}}}); err != nil { + return result, validation.NewError("policyinsights.PolicyEventsClient", "ListQueryResultsForPolicySetDefinition", err.Error()) + } + + req, err := client.ListQueryResultsForPolicySetDefinitionPreparer(ctx, subscriptionID, policySetDefinitionName, top, orderBy, selectParameter, from, toParameter, filter, apply) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.PolicyEventsClient", "ListQueryResultsForPolicySetDefinition", nil, "Failure preparing request") + return + } + + resp, err := client.ListQueryResultsForPolicySetDefinitionSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "policyinsights.PolicyEventsClient", "ListQueryResultsForPolicySetDefinition", resp, "Failure sending request") + return + } + + result, err = client.ListQueryResultsForPolicySetDefinitionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.PolicyEventsClient", "ListQueryResultsForPolicySetDefinition", resp, "Failure responding to request") + } + + return +} + +// ListQueryResultsForPolicySetDefinitionPreparer prepares the ListQueryResultsForPolicySetDefinition request. +func (client PolicyEventsClient) ListQueryResultsForPolicySetDefinitionPreparer(ctx context.Context, subscriptionID string, policySetDefinitionName string, top *int32, orderBy string, selectParameter string, from *date.Time, toParameter *date.Time, filter string, apply string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "authorizationNamespace": autorest.Encode("path", "Microsoft.Authorization"), + "policyEventsResource": autorest.Encode("path", "default"), + "policySetDefinitionName": autorest.Encode("path", policySetDefinitionName), + "subscriptionId": autorest.Encode("path", subscriptionID), + } + + const APIVersion = "2018-04-04" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if top != nil { + queryParameters["$top"] = autorest.Encode("query", *top) + } + if len(orderBy) > 0 { + queryParameters["$orderby"] = autorest.Encode("query", orderBy) + } + if len(selectParameter) > 0 { + queryParameters["$select"] = autorest.Encode("query", selectParameter) + } + if from != nil { + queryParameters["$from"] = autorest.Encode("query", *from) + } + if toParameter != nil { + queryParameters["$to"] = autorest.Encode("query", *toParameter) + } + if len(filter) > 0 { + queryParameters["$filter"] = autorest.Encode("query", filter) + } + if len(apply) > 0 { + queryParameters["$apply"] = autorest.Encode("query", apply) + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policySetDefinitions/{policySetDefinitionName}/providers/Microsoft.PolicyInsights/policyEvents/{policyEventsResource}/queryResults", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListQueryResultsForPolicySetDefinitionSender sends the ListQueryResultsForPolicySetDefinition request. The method will close the +// http.Response Body if it receives an error. +func (client PolicyEventsClient) ListQueryResultsForPolicySetDefinitionSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListQueryResultsForPolicySetDefinitionResponder handles the response to the ListQueryResultsForPolicySetDefinition request. The method always +// closes the http.Response Body. +func (client PolicyEventsClient) ListQueryResultsForPolicySetDefinitionResponder(resp *http.Response) (result PolicyEventsQueryResults, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListQueryResultsForResource queries policy events for the resource. +// Parameters: +// resourceID - resource ID. +// top - maximum number of records to return. +// orderBy - ordering expression using OData notation. One or more comma-separated column names with an +// optional "desc" (the default) or "asc", e.g. "$orderby=PolicyAssignmentId, ResourceId asc". +// selectParameter - select expression using OData notation. Limits the columns on each record to just those +// requested, e.g. "$select=PolicyAssignmentId, ResourceId". +// from - ISO 8601 formatted timestamp specifying the start time of the interval to query. When not specified, +// the service uses ($to - 1-day). +// toParameter - ISO 8601 formatted timestamp specifying the end time of the interval to query. When not +// specified, the service uses request time. +// filter - oData filter expression. +// apply - oData apply expression for aggregations. +func (client PolicyEventsClient) ListQueryResultsForResource(ctx context.Context, resourceID string, top *int32, orderBy string, selectParameter string, from *date.Time, toParameter *date.Time, filter string, apply string) (result PolicyEventsQueryResults, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PolicyEventsClient.ListQueryResultsForResource") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: top, + Constraints: []validation.Constraint{{Target: "top", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "top", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}}}}}}); err != nil { + return result, validation.NewError("policyinsights.PolicyEventsClient", "ListQueryResultsForResource", err.Error()) + } + + req, err := client.ListQueryResultsForResourcePreparer(ctx, resourceID, top, orderBy, selectParameter, from, toParameter, filter, apply) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.PolicyEventsClient", "ListQueryResultsForResource", nil, "Failure preparing request") + return + } + + resp, err := client.ListQueryResultsForResourceSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "policyinsights.PolicyEventsClient", "ListQueryResultsForResource", resp, "Failure sending request") + return + } + + result, err = client.ListQueryResultsForResourceResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.PolicyEventsClient", "ListQueryResultsForResource", resp, "Failure responding to request") + } + + return +} + +// ListQueryResultsForResourcePreparer prepares the ListQueryResultsForResource request. +func (client PolicyEventsClient) ListQueryResultsForResourcePreparer(ctx context.Context, resourceID string, top *int32, orderBy string, selectParameter string, from *date.Time, toParameter *date.Time, filter string, apply string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "policyEventsResource": autorest.Encode("path", "default"), + "resourceId": resourceID, + } + + const APIVersion = "2018-04-04" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if top != nil { + queryParameters["$top"] = autorest.Encode("query", *top) + } + if len(orderBy) > 0 { + queryParameters["$orderby"] = autorest.Encode("query", orderBy) + } + if len(selectParameter) > 0 { + queryParameters["$select"] = autorest.Encode("query", selectParameter) + } + if from != nil { + queryParameters["$from"] = autorest.Encode("query", *from) + } + if toParameter != nil { + queryParameters["$to"] = autorest.Encode("query", *toParameter) + } + if len(filter) > 0 { + queryParameters["$filter"] = autorest.Encode("query", filter) + } + if len(apply) > 0 { + queryParameters["$apply"] = autorest.Encode("query", apply) + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/{resourceId}/providers/Microsoft.PolicyInsights/policyEvents/{policyEventsResource}/queryResults", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListQueryResultsForResourceSender sends the ListQueryResultsForResource request. The method will close the +// http.Response Body if it receives an error. +func (client PolicyEventsClient) ListQueryResultsForResourceSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListQueryResultsForResourceResponder handles the response to the ListQueryResultsForResource request. The method always +// closes the http.Response Body. +func (client PolicyEventsClient) ListQueryResultsForResourceResponder(resp *http.Response) (result PolicyEventsQueryResults, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListQueryResultsForResourceGroup queries policy events for the resources under the resource group. +// Parameters: +// subscriptionID - microsoft Azure subscription ID. +// resourceGroupName - resource group name. +// top - maximum number of records to return. +// orderBy - ordering expression using OData notation. One or more comma-separated column names with an +// optional "desc" (the default) or "asc", e.g. "$orderby=PolicyAssignmentId, ResourceId asc". +// selectParameter - select expression using OData notation. Limits the columns on each record to just those +// requested, e.g. "$select=PolicyAssignmentId, ResourceId". +// from - ISO 8601 formatted timestamp specifying the start time of the interval to query. When not specified, +// the service uses ($to - 1-day). +// toParameter - ISO 8601 formatted timestamp specifying the end time of the interval to query. When not +// specified, the service uses request time. +// filter - oData filter expression. +// apply - oData apply expression for aggregations. +func (client PolicyEventsClient) ListQueryResultsForResourceGroup(ctx context.Context, subscriptionID string, resourceGroupName string, top *int32, orderBy string, selectParameter string, from *date.Time, toParameter *date.Time, filter string, apply string) (result PolicyEventsQueryResults, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PolicyEventsClient.ListQueryResultsForResourceGroup") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: top, + Constraints: []validation.Constraint{{Target: "top", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "top", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}}}}}}); err != nil { + return result, validation.NewError("policyinsights.PolicyEventsClient", "ListQueryResultsForResourceGroup", err.Error()) + } + + req, err := client.ListQueryResultsForResourceGroupPreparer(ctx, subscriptionID, resourceGroupName, top, orderBy, selectParameter, from, toParameter, filter, apply) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.PolicyEventsClient", "ListQueryResultsForResourceGroup", nil, "Failure preparing request") + return + } + + resp, err := client.ListQueryResultsForResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "policyinsights.PolicyEventsClient", "ListQueryResultsForResourceGroup", resp, "Failure sending request") + return + } + + result, err = client.ListQueryResultsForResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.PolicyEventsClient", "ListQueryResultsForResourceGroup", resp, "Failure responding to request") + } + + return +} + +// ListQueryResultsForResourceGroupPreparer prepares the ListQueryResultsForResourceGroup request. +func (client PolicyEventsClient) ListQueryResultsForResourceGroupPreparer(ctx context.Context, subscriptionID string, resourceGroupName string, top *int32, orderBy string, selectParameter string, from *date.Time, toParameter *date.Time, filter string, apply string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "policyEventsResource": autorest.Encode("path", "default"), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", subscriptionID), + } + + const APIVersion = "2018-04-04" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if top != nil { + queryParameters["$top"] = autorest.Encode("query", *top) + } + if len(orderBy) > 0 { + queryParameters["$orderby"] = autorest.Encode("query", orderBy) + } + if len(selectParameter) > 0 { + queryParameters["$select"] = autorest.Encode("query", selectParameter) + } + if from != nil { + queryParameters["$from"] = autorest.Encode("query", *from) + } + if toParameter != nil { + queryParameters["$to"] = autorest.Encode("query", *toParameter) + } + if len(filter) > 0 { + queryParameters["$filter"] = autorest.Encode("query", filter) + } + if len(apply) > 0 { + queryParameters["$apply"] = autorest.Encode("query", apply) + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PolicyInsights/policyEvents/{policyEventsResource}/queryResults", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListQueryResultsForResourceGroupSender sends the ListQueryResultsForResourceGroup request. The method will close the +// http.Response Body if it receives an error. +func (client PolicyEventsClient) ListQueryResultsForResourceGroupSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListQueryResultsForResourceGroupResponder handles the response to the ListQueryResultsForResourceGroup request. The method always +// closes the http.Response Body. +func (client PolicyEventsClient) ListQueryResultsForResourceGroupResponder(resp *http.Response) (result PolicyEventsQueryResults, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListQueryResultsForResourceGroupLevelPolicyAssignment queries policy events for the resource group level policy +// assignment. +// Parameters: +// subscriptionID - microsoft Azure subscription ID. +// resourceGroupName - resource group name. +// policyAssignmentName - policy assignment name. +// top - maximum number of records to return. +// orderBy - ordering expression using OData notation. One or more comma-separated column names with an +// optional "desc" (the default) or "asc", e.g. "$orderby=PolicyAssignmentId, ResourceId asc". +// selectParameter - select expression using OData notation. Limits the columns on each record to just those +// requested, e.g. "$select=PolicyAssignmentId, ResourceId". +// from - ISO 8601 formatted timestamp specifying the start time of the interval to query. When not specified, +// the service uses ($to - 1-day). +// toParameter - ISO 8601 formatted timestamp specifying the end time of the interval to query. When not +// specified, the service uses request time. +// filter - oData filter expression. +// apply - oData apply expression for aggregations. +func (client PolicyEventsClient) ListQueryResultsForResourceGroupLevelPolicyAssignment(ctx context.Context, subscriptionID string, resourceGroupName string, policyAssignmentName string, top *int32, orderBy string, selectParameter string, from *date.Time, toParameter *date.Time, filter string, apply string) (result PolicyEventsQueryResults, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PolicyEventsClient.ListQueryResultsForResourceGroupLevelPolicyAssignment") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: top, + Constraints: []validation.Constraint{{Target: "top", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "top", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}}}}}}); err != nil { + return result, validation.NewError("policyinsights.PolicyEventsClient", "ListQueryResultsForResourceGroupLevelPolicyAssignment", err.Error()) + } + + req, err := client.ListQueryResultsForResourceGroupLevelPolicyAssignmentPreparer(ctx, subscriptionID, resourceGroupName, policyAssignmentName, top, orderBy, selectParameter, from, toParameter, filter, apply) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.PolicyEventsClient", "ListQueryResultsForResourceGroupLevelPolicyAssignment", nil, "Failure preparing request") + return + } + + resp, err := client.ListQueryResultsForResourceGroupLevelPolicyAssignmentSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "policyinsights.PolicyEventsClient", "ListQueryResultsForResourceGroupLevelPolicyAssignment", resp, "Failure sending request") + return + } + + result, err = client.ListQueryResultsForResourceGroupLevelPolicyAssignmentResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.PolicyEventsClient", "ListQueryResultsForResourceGroupLevelPolicyAssignment", resp, "Failure responding to request") + } + + return +} + +// ListQueryResultsForResourceGroupLevelPolicyAssignmentPreparer prepares the ListQueryResultsForResourceGroupLevelPolicyAssignment request. +func (client PolicyEventsClient) ListQueryResultsForResourceGroupLevelPolicyAssignmentPreparer(ctx context.Context, subscriptionID string, resourceGroupName string, policyAssignmentName string, top *int32, orderBy string, selectParameter string, from *date.Time, toParameter *date.Time, filter string, apply string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "authorizationNamespace": autorest.Encode("path", "Microsoft.Authorization"), + "policyAssignmentName": autorest.Encode("path", policyAssignmentName), + "policyEventsResource": autorest.Encode("path", "default"), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", subscriptionID), + } + + const APIVersion = "2018-04-04" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if top != nil { + queryParameters["$top"] = autorest.Encode("query", *top) + } + if len(orderBy) > 0 { + queryParameters["$orderby"] = autorest.Encode("query", orderBy) + } + if len(selectParameter) > 0 { + queryParameters["$select"] = autorest.Encode("query", selectParameter) + } + if from != nil { + queryParameters["$from"] = autorest.Encode("query", *from) + } + if toParameter != nil { + queryParameters["$to"] = autorest.Encode("query", *toParameter) + } + if len(filter) > 0 { + queryParameters["$filter"] = autorest.Encode("query", filter) + } + if len(apply) > 0 { + queryParameters["$apply"] = autorest.Encode("query", apply) + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{authorizationNamespace}/policyAssignments/{policyAssignmentName}/providers/Microsoft.PolicyInsights/policyEvents/{policyEventsResource}/queryResults", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListQueryResultsForResourceGroupLevelPolicyAssignmentSender sends the ListQueryResultsForResourceGroupLevelPolicyAssignment request. The method will close the +// http.Response Body if it receives an error. +func (client PolicyEventsClient) ListQueryResultsForResourceGroupLevelPolicyAssignmentSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListQueryResultsForResourceGroupLevelPolicyAssignmentResponder handles the response to the ListQueryResultsForResourceGroupLevelPolicyAssignment request. The method always +// closes the http.Response Body. +func (client PolicyEventsClient) ListQueryResultsForResourceGroupLevelPolicyAssignmentResponder(resp *http.Response) (result PolicyEventsQueryResults, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListQueryResultsForSubscription queries policy events for the resources under the subscription. +// Parameters: +// subscriptionID - microsoft Azure subscription ID. +// top - maximum number of records to return. +// orderBy - ordering expression using OData notation. One or more comma-separated column names with an +// optional "desc" (the default) or "asc", e.g. "$orderby=PolicyAssignmentId, ResourceId asc". +// selectParameter - select expression using OData notation. Limits the columns on each record to just those +// requested, e.g. "$select=PolicyAssignmentId, ResourceId". +// from - ISO 8601 formatted timestamp specifying the start time of the interval to query. When not specified, +// the service uses ($to - 1-day). +// toParameter - ISO 8601 formatted timestamp specifying the end time of the interval to query. When not +// specified, the service uses request time. +// filter - oData filter expression. +// apply - oData apply expression for aggregations. +func (client PolicyEventsClient) ListQueryResultsForSubscription(ctx context.Context, subscriptionID string, top *int32, orderBy string, selectParameter string, from *date.Time, toParameter *date.Time, filter string, apply string) (result PolicyEventsQueryResults, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PolicyEventsClient.ListQueryResultsForSubscription") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: top, + Constraints: []validation.Constraint{{Target: "top", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "top", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}}}}}}); err != nil { + return result, validation.NewError("policyinsights.PolicyEventsClient", "ListQueryResultsForSubscription", err.Error()) + } + + req, err := client.ListQueryResultsForSubscriptionPreparer(ctx, subscriptionID, top, orderBy, selectParameter, from, toParameter, filter, apply) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.PolicyEventsClient", "ListQueryResultsForSubscription", nil, "Failure preparing request") + return + } + + resp, err := client.ListQueryResultsForSubscriptionSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "policyinsights.PolicyEventsClient", "ListQueryResultsForSubscription", resp, "Failure sending request") + return + } + + result, err = client.ListQueryResultsForSubscriptionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.PolicyEventsClient", "ListQueryResultsForSubscription", resp, "Failure responding to request") + } + + return +} + +// ListQueryResultsForSubscriptionPreparer prepares the ListQueryResultsForSubscription request. +func (client PolicyEventsClient) ListQueryResultsForSubscriptionPreparer(ctx context.Context, subscriptionID string, top *int32, orderBy string, selectParameter string, from *date.Time, toParameter *date.Time, filter string, apply string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "policyEventsResource": autorest.Encode("path", "default"), + "subscriptionId": autorest.Encode("path", subscriptionID), + } + + const APIVersion = "2018-04-04" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if top != nil { + queryParameters["$top"] = autorest.Encode("query", *top) + } + if len(orderBy) > 0 { + queryParameters["$orderby"] = autorest.Encode("query", orderBy) + } + if len(selectParameter) > 0 { + queryParameters["$select"] = autorest.Encode("query", selectParameter) + } + if from != nil { + queryParameters["$from"] = autorest.Encode("query", *from) + } + if toParameter != nil { + queryParameters["$to"] = autorest.Encode("query", *toParameter) + } + if len(filter) > 0 { + queryParameters["$filter"] = autorest.Encode("query", filter) + } + if len(apply) > 0 { + queryParameters["$apply"] = autorest.Encode("query", apply) + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.PolicyInsights/policyEvents/{policyEventsResource}/queryResults", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListQueryResultsForSubscriptionSender sends the ListQueryResultsForSubscription request. The method will close the +// http.Response Body if it receives an error. +func (client PolicyEventsClient) ListQueryResultsForSubscriptionSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListQueryResultsForSubscriptionResponder handles the response to the ListQueryResultsForSubscription request. The method always +// closes the http.Response Body. +func (client PolicyEventsClient) ListQueryResultsForSubscriptionResponder(resp *http.Response) (result PolicyEventsQueryResults, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListQueryResultsForSubscriptionLevelPolicyAssignment queries policy events for the subscription level policy +// assignment. +// Parameters: +// subscriptionID - microsoft Azure subscription ID. +// policyAssignmentName - policy assignment name. +// top - maximum number of records to return. +// orderBy - ordering expression using OData notation. One or more comma-separated column names with an +// optional "desc" (the default) or "asc", e.g. "$orderby=PolicyAssignmentId, ResourceId asc". +// selectParameter - select expression using OData notation. Limits the columns on each record to just those +// requested, e.g. "$select=PolicyAssignmentId, ResourceId". +// from - ISO 8601 formatted timestamp specifying the start time of the interval to query. When not specified, +// the service uses ($to - 1-day). +// toParameter - ISO 8601 formatted timestamp specifying the end time of the interval to query. When not +// specified, the service uses request time. +// filter - oData filter expression. +// apply - oData apply expression for aggregations. +func (client PolicyEventsClient) ListQueryResultsForSubscriptionLevelPolicyAssignment(ctx context.Context, subscriptionID string, policyAssignmentName string, top *int32, orderBy string, selectParameter string, from *date.Time, toParameter *date.Time, filter string, apply string) (result PolicyEventsQueryResults, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PolicyEventsClient.ListQueryResultsForSubscriptionLevelPolicyAssignment") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: top, + Constraints: []validation.Constraint{{Target: "top", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "top", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}}}}}}); err != nil { + return result, validation.NewError("policyinsights.PolicyEventsClient", "ListQueryResultsForSubscriptionLevelPolicyAssignment", err.Error()) + } + + req, err := client.ListQueryResultsForSubscriptionLevelPolicyAssignmentPreparer(ctx, subscriptionID, policyAssignmentName, top, orderBy, selectParameter, from, toParameter, filter, apply) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.PolicyEventsClient", "ListQueryResultsForSubscriptionLevelPolicyAssignment", nil, "Failure preparing request") + return + } + + resp, err := client.ListQueryResultsForSubscriptionLevelPolicyAssignmentSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "policyinsights.PolicyEventsClient", "ListQueryResultsForSubscriptionLevelPolicyAssignment", resp, "Failure sending request") + return + } + + result, err = client.ListQueryResultsForSubscriptionLevelPolicyAssignmentResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.PolicyEventsClient", "ListQueryResultsForSubscriptionLevelPolicyAssignment", resp, "Failure responding to request") + } + + return +} + +// ListQueryResultsForSubscriptionLevelPolicyAssignmentPreparer prepares the ListQueryResultsForSubscriptionLevelPolicyAssignment request. +func (client PolicyEventsClient) ListQueryResultsForSubscriptionLevelPolicyAssignmentPreparer(ctx context.Context, subscriptionID string, policyAssignmentName string, top *int32, orderBy string, selectParameter string, from *date.Time, toParameter *date.Time, filter string, apply string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "authorizationNamespace": autorest.Encode("path", "Microsoft.Authorization"), + "policyAssignmentName": autorest.Encode("path", policyAssignmentName), + "policyEventsResource": autorest.Encode("path", "default"), + "subscriptionId": autorest.Encode("path", subscriptionID), + } + + const APIVersion = "2018-04-04" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if top != nil { + queryParameters["$top"] = autorest.Encode("query", *top) + } + if len(orderBy) > 0 { + queryParameters["$orderby"] = autorest.Encode("query", orderBy) + } + if len(selectParameter) > 0 { + queryParameters["$select"] = autorest.Encode("query", selectParameter) + } + if from != nil { + queryParameters["$from"] = autorest.Encode("query", *from) + } + if toParameter != nil { + queryParameters["$to"] = autorest.Encode("query", *toParameter) + } + if len(filter) > 0 { + queryParameters["$filter"] = autorest.Encode("query", filter) + } + if len(apply) > 0 { + queryParameters["$apply"] = autorest.Encode("query", apply) + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policyAssignments/{policyAssignmentName}/providers/Microsoft.PolicyInsights/policyEvents/{policyEventsResource}/queryResults", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListQueryResultsForSubscriptionLevelPolicyAssignmentSender sends the ListQueryResultsForSubscriptionLevelPolicyAssignment request. The method will close the +// http.Response Body if it receives an error. +func (client PolicyEventsClient) ListQueryResultsForSubscriptionLevelPolicyAssignmentSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListQueryResultsForSubscriptionLevelPolicyAssignmentResponder handles the response to the ListQueryResultsForSubscriptionLevelPolicyAssignment request. The method always +// closes the http.Response Body. +func (client PolicyEventsClient) ListQueryResultsForSubscriptionLevelPolicyAssignmentResponder(resp *http.Response) (result PolicyEventsQueryResults, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/policyinsights/mgmt/2019-10-01/policyinsights/policyinsightsapi/interfaces.go b/services/policyinsights/mgmt/2019-10-01/policyinsights/policyinsightsapi/interfaces.go new file mode 100644 index 000000000000..aeb5b3244156 --- /dev/null +++ b/services/policyinsights/mgmt/2019-10-01/policyinsights/policyinsightsapi/interfaces.go @@ -0,0 +1,108 @@ +package policyinsightsapi + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/azure-sdk-for-go/services/policyinsights/mgmt/2019-10-01/policyinsights" + "github.com/Azure/go-autorest/autorest/date" +) + +// PolicyTrackedResourcesClientAPI contains the set of methods on the PolicyTrackedResourcesClient type. +type PolicyTrackedResourcesClientAPI interface { + ListQueryResultsForManagementGroup(ctx context.Context, managementGroupName string, top *int32, filter string) (result policyinsights.PolicyTrackedResourcesQueryResultsPage, err error) + ListQueryResultsForResource(ctx context.Context, resourceID string, top *int32, filter string) (result policyinsights.PolicyTrackedResourcesQueryResultsPage, err error) + ListQueryResultsForResourceGroup(ctx context.Context, resourceGroupName string, subscriptionID string, top *int32, filter string) (result policyinsights.PolicyTrackedResourcesQueryResultsPage, err error) + ListQueryResultsForSubscription(ctx context.Context, subscriptionID string, top *int32, filter string) (result policyinsights.PolicyTrackedResourcesQueryResultsPage, err error) +} + +var _ PolicyTrackedResourcesClientAPI = (*policyinsights.PolicyTrackedResourcesClient)(nil) + +// RemediationsClientAPI contains the set of methods on the RemediationsClient type. +type RemediationsClientAPI interface { + CancelAtManagementGroup(ctx context.Context, managementGroupID string, remediationName string) (result policyinsights.Remediation, err error) + CancelAtResource(ctx context.Context, resourceID string, remediationName string) (result policyinsights.Remediation, err error) + CancelAtResourceGroup(ctx context.Context, subscriptionID string, resourceGroupName string, remediationName string) (result policyinsights.Remediation, err error) + CancelAtSubscription(ctx context.Context, subscriptionID string, remediationName string) (result policyinsights.Remediation, err error) + CreateOrUpdateAtManagementGroup(ctx context.Context, managementGroupID string, remediationName string, parameters policyinsights.Remediation) (result policyinsights.Remediation, err error) + CreateOrUpdateAtResource(ctx context.Context, resourceID string, remediationName string, parameters policyinsights.Remediation) (result policyinsights.Remediation, err error) + CreateOrUpdateAtResourceGroup(ctx context.Context, subscriptionID string, resourceGroupName string, remediationName string, parameters policyinsights.Remediation) (result policyinsights.Remediation, err error) + CreateOrUpdateAtSubscription(ctx context.Context, subscriptionID string, remediationName string, parameters policyinsights.Remediation) (result policyinsights.Remediation, err error) + DeleteAtManagementGroup(ctx context.Context, managementGroupID string, remediationName string) (result policyinsights.Remediation, err error) + DeleteAtResource(ctx context.Context, resourceID string, remediationName string) (result policyinsights.Remediation, err error) + DeleteAtResourceGroup(ctx context.Context, subscriptionID string, resourceGroupName string, remediationName string) (result policyinsights.Remediation, err error) + DeleteAtSubscription(ctx context.Context, subscriptionID string, remediationName string) (result policyinsights.Remediation, err error) + GetAtManagementGroup(ctx context.Context, managementGroupID string, remediationName string) (result policyinsights.Remediation, err error) + GetAtResource(ctx context.Context, resourceID string, remediationName string) (result policyinsights.Remediation, err error) + GetAtResourceGroup(ctx context.Context, subscriptionID string, resourceGroupName string, remediationName string) (result policyinsights.Remediation, err error) + GetAtSubscription(ctx context.Context, subscriptionID string, remediationName string) (result policyinsights.Remediation, err error) + ListDeploymentsAtManagementGroup(ctx context.Context, managementGroupID string, remediationName string, top *int32) (result policyinsights.RemediationDeploymentsListResultPage, err error) + ListDeploymentsAtResource(ctx context.Context, resourceID string, remediationName string, top *int32) (result policyinsights.RemediationDeploymentsListResultPage, err error) + ListDeploymentsAtResourceGroup(ctx context.Context, subscriptionID string, resourceGroupName string, remediationName string, top *int32) (result policyinsights.RemediationDeploymentsListResultPage, err error) + ListDeploymentsAtSubscription(ctx context.Context, subscriptionID string, remediationName string, top *int32) (result policyinsights.RemediationDeploymentsListResultPage, err error) + ListForManagementGroup(ctx context.Context, managementGroupID string, top *int32, filter string) (result policyinsights.RemediationListResultPage, err error) + ListForResource(ctx context.Context, resourceID string, top *int32, filter string) (result policyinsights.RemediationListResultPage, err error) + ListForResourceGroup(ctx context.Context, subscriptionID string, resourceGroupName string, top *int32, filter string) (result policyinsights.RemediationListResultPage, err error) + ListForSubscription(ctx context.Context, subscriptionID string, top *int32, filter string) (result policyinsights.RemediationListResultPage, err error) +} + +var _ RemediationsClientAPI = (*policyinsights.RemediationsClient)(nil) + +// PolicyEventsClientAPI contains the set of methods on the PolicyEventsClient type. +type PolicyEventsClientAPI interface { + GetMetadata(ctx context.Context, scope string) (result policyinsights.String, err error) + ListQueryResultsForManagementGroup(ctx context.Context, managementGroupName string, top *int32, orderBy string, selectParameter string, from *date.Time, toParameter *date.Time, filter string, apply string) (result policyinsights.PolicyEventsQueryResults, err error) + ListQueryResultsForPolicyDefinition(ctx context.Context, subscriptionID string, policyDefinitionName string, top *int32, orderBy string, selectParameter string, from *date.Time, toParameter *date.Time, filter string, apply string) (result policyinsights.PolicyEventsQueryResults, err error) + ListQueryResultsForPolicySetDefinition(ctx context.Context, subscriptionID string, policySetDefinitionName string, top *int32, orderBy string, selectParameter string, from *date.Time, toParameter *date.Time, filter string, apply string) (result policyinsights.PolicyEventsQueryResults, err error) + ListQueryResultsForResource(ctx context.Context, resourceID string, top *int32, orderBy string, selectParameter string, from *date.Time, toParameter *date.Time, filter string, apply string) (result policyinsights.PolicyEventsQueryResults, err error) + ListQueryResultsForResourceGroup(ctx context.Context, subscriptionID string, resourceGroupName string, top *int32, orderBy string, selectParameter string, from *date.Time, toParameter *date.Time, filter string, apply string) (result policyinsights.PolicyEventsQueryResults, err error) + ListQueryResultsForResourceGroupLevelPolicyAssignment(ctx context.Context, subscriptionID string, resourceGroupName string, policyAssignmentName string, top *int32, orderBy string, selectParameter string, from *date.Time, toParameter *date.Time, filter string, apply string) (result policyinsights.PolicyEventsQueryResults, err error) + ListQueryResultsForSubscription(ctx context.Context, subscriptionID string, top *int32, orderBy string, selectParameter string, from *date.Time, toParameter *date.Time, filter string, apply string) (result policyinsights.PolicyEventsQueryResults, err error) + ListQueryResultsForSubscriptionLevelPolicyAssignment(ctx context.Context, subscriptionID string, policyAssignmentName string, top *int32, orderBy string, selectParameter string, from *date.Time, toParameter *date.Time, filter string, apply string) (result policyinsights.PolicyEventsQueryResults, err error) +} + +var _ PolicyEventsClientAPI = (*policyinsights.PolicyEventsClient)(nil) + +// PolicyStatesClientAPI contains the set of methods on the PolicyStatesClient type. +type PolicyStatesClientAPI interface { + ListQueryResultsForManagementGroup(ctx context.Context, policyStatesResource policyinsights.PolicyStatesResource, managementGroupName string, top *int32, orderBy string, selectParameter string, from *date.Time, toParameter *date.Time, filter string, apply string) (result policyinsights.PolicyStatesQueryResults, err error) + ListQueryResultsForPolicyDefinition(ctx context.Context, policyStatesResource policyinsights.PolicyStatesResource, subscriptionID string, policyDefinitionName string, top *int32, orderBy string, selectParameter string, from *date.Time, toParameter *date.Time, filter string, apply string) (result policyinsights.PolicyStatesQueryResults, err error) + ListQueryResultsForPolicySetDefinition(ctx context.Context, policyStatesResource policyinsights.PolicyStatesResource, subscriptionID string, policySetDefinitionName string, top *int32, orderBy string, selectParameter string, from *date.Time, toParameter *date.Time, filter string, apply string) (result policyinsights.PolicyStatesQueryResults, err error) + ListQueryResultsForResource(ctx context.Context, policyStatesResource policyinsights.PolicyStatesResource, resourceID string, top *int32, orderBy string, selectParameter string, from *date.Time, toParameter *date.Time, filter string, apply string, expand string) (result policyinsights.PolicyStatesQueryResults, err error) + ListQueryResultsForResourceGroup(ctx context.Context, policyStatesResource policyinsights.PolicyStatesResource, subscriptionID string, resourceGroupName string, top *int32, orderBy string, selectParameter string, from *date.Time, toParameter *date.Time, filter string, apply string) (result policyinsights.PolicyStatesQueryResults, err error) + ListQueryResultsForResourceGroupLevelPolicyAssignment(ctx context.Context, policyStatesResource policyinsights.PolicyStatesResource, subscriptionID string, resourceGroupName string, policyAssignmentName string, top *int32, orderBy string, selectParameter string, from *date.Time, toParameter *date.Time, filter string, apply string) (result policyinsights.PolicyStatesQueryResults, err error) + ListQueryResultsForSubscription(ctx context.Context, policyStatesResource policyinsights.PolicyStatesResource, subscriptionID string, top *int32, orderBy string, selectParameter string, from *date.Time, toParameter *date.Time, filter string, apply string) (result policyinsights.PolicyStatesQueryResults, err error) + ListQueryResultsForSubscriptionLevelPolicyAssignment(ctx context.Context, policyStatesResource policyinsights.PolicyStatesResource, subscriptionID string, policyAssignmentName string, top *int32, orderBy string, selectParameter string, from *date.Time, toParameter *date.Time, filter string, apply string) (result policyinsights.PolicyStatesQueryResults, err error) + SummarizeForManagementGroup(ctx context.Context, managementGroupName string, top *int32, from *date.Time, toParameter *date.Time, filter string) (result policyinsights.SummarizeResults, err error) + SummarizeForPolicyDefinition(ctx context.Context, subscriptionID string, policyDefinitionName string, top *int32, from *date.Time, toParameter *date.Time, filter string) (result policyinsights.SummarizeResults, err error) + SummarizeForPolicySetDefinition(ctx context.Context, subscriptionID string, policySetDefinitionName string, top *int32, from *date.Time, toParameter *date.Time, filter string) (result policyinsights.SummarizeResults, err error) + SummarizeForResource(ctx context.Context, resourceID string, top *int32, from *date.Time, toParameter *date.Time, filter string) (result policyinsights.SummarizeResults, err error) + SummarizeForResourceGroup(ctx context.Context, subscriptionID string, resourceGroupName string, top *int32, from *date.Time, toParameter *date.Time, filter string) (result policyinsights.SummarizeResults, err error) + SummarizeForResourceGroupLevelPolicyAssignment(ctx context.Context, subscriptionID string, resourceGroupName string, policyAssignmentName string, top *int32, from *date.Time, toParameter *date.Time, filter string) (result policyinsights.SummarizeResults, err error) + SummarizeForSubscription(ctx context.Context, subscriptionID string, top *int32, from *date.Time, toParameter *date.Time, filter string) (result policyinsights.SummarizeResults, err error) + SummarizeForSubscriptionLevelPolicyAssignment(ctx context.Context, subscriptionID string, policyAssignmentName string, top *int32, from *date.Time, toParameter *date.Time, filter string) (result policyinsights.SummarizeResults, err error) +} + +var _ PolicyStatesClientAPI = (*policyinsights.PolicyStatesClient)(nil) + +// OperationsClientAPI contains the set of methods on the OperationsClient type. +type OperationsClientAPI interface { + List(ctx context.Context) (result policyinsights.OperationsListResults, err error) +} + +var _ OperationsClientAPI = (*policyinsights.OperationsClient)(nil) diff --git a/services/policyinsights/mgmt/2019-10-01/policyinsights/policystates.go b/services/policyinsights/mgmt/2019-10-01/policyinsights/policystates.go new file mode 100644 index 000000000000..3ddb69eb24dc --- /dev/null +++ b/services/policyinsights/mgmt/2019-10-01/policyinsights/policystates.go @@ -0,0 +1,1813 @@ +package policyinsights + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/date" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// PolicyStatesClient is the client for the PolicyStates methods of the Policyinsights service. +type PolicyStatesClient struct { + BaseClient +} + +// NewPolicyStatesClient creates an instance of the PolicyStatesClient client. +func NewPolicyStatesClient() PolicyStatesClient { + return NewPolicyStatesClientWithBaseURI(DefaultBaseURI) +} + +// NewPolicyStatesClientWithBaseURI creates an instance of the PolicyStatesClient client. +func NewPolicyStatesClientWithBaseURI(baseURI string) PolicyStatesClient { + return PolicyStatesClient{NewWithBaseURI(baseURI)} +} + +// ListQueryResultsForManagementGroup queries policy states for the resources under the management group. +// Parameters: +// policyStatesResource - the virtual resource under PolicyStates resource type. In a given time range, +// 'latest' represents the latest policy state(s), whereas 'default' represents all policy state(s). +// managementGroupName - management group name. +// top - maximum number of records to return. +// orderBy - ordering expression using OData notation. One or more comma-separated column names with an +// optional "desc" (the default) or "asc", e.g. "$orderby=PolicyAssignmentId, ResourceId asc". +// selectParameter - select expression using OData notation. Limits the columns on each record to just those +// requested, e.g. "$select=PolicyAssignmentId, ResourceId". +// from - ISO 8601 formatted timestamp specifying the start time of the interval to query. When not specified, +// the service uses ($to - 1-day). +// toParameter - ISO 8601 formatted timestamp specifying the end time of the interval to query. When not +// specified, the service uses request time. +// filter - oData filter expression. +// apply - oData apply expression for aggregations. +func (client PolicyStatesClient) ListQueryResultsForManagementGroup(ctx context.Context, policyStatesResource PolicyStatesResource, managementGroupName string, top *int32, orderBy string, selectParameter string, from *date.Time, toParameter *date.Time, filter string, apply string) (result PolicyStatesQueryResults, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PolicyStatesClient.ListQueryResultsForManagementGroup") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: top, + Constraints: []validation.Constraint{{Target: "top", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "top", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}}}}}}); err != nil { + return result, validation.NewError("policyinsights.PolicyStatesClient", "ListQueryResultsForManagementGroup", err.Error()) + } + + req, err := client.ListQueryResultsForManagementGroupPreparer(ctx, policyStatesResource, managementGroupName, top, orderBy, selectParameter, from, toParameter, filter, apply) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.PolicyStatesClient", "ListQueryResultsForManagementGroup", nil, "Failure preparing request") + return + } + + resp, err := client.ListQueryResultsForManagementGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "policyinsights.PolicyStatesClient", "ListQueryResultsForManagementGroup", resp, "Failure sending request") + return + } + + result, err = client.ListQueryResultsForManagementGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.PolicyStatesClient", "ListQueryResultsForManagementGroup", resp, "Failure responding to request") + } + + return +} + +// ListQueryResultsForManagementGroupPreparer prepares the ListQueryResultsForManagementGroup request. +func (client PolicyStatesClient) ListQueryResultsForManagementGroupPreparer(ctx context.Context, policyStatesResource PolicyStatesResource, managementGroupName string, top *int32, orderBy string, selectParameter string, from *date.Time, toParameter *date.Time, filter string, apply string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "managementGroupName": autorest.Encode("path", managementGroupName), + "managementGroupsNamespace": autorest.Encode("path", "Microsoft.Management"), + "policyStatesResource": autorest.Encode("path", policyStatesResource), + } + + const APIVersion = "2019-10-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if top != nil { + queryParameters["$top"] = autorest.Encode("query", *top) + } + if len(orderBy) > 0 { + queryParameters["$orderby"] = autorest.Encode("query", orderBy) + } + if len(selectParameter) > 0 { + queryParameters["$select"] = autorest.Encode("query", selectParameter) + } + if from != nil { + queryParameters["$from"] = autorest.Encode("query", *from) + } + if toParameter != nil { + queryParameters["$to"] = autorest.Encode("query", *toParameter) + } + if len(filter) > 0 { + queryParameters["$filter"] = autorest.Encode("query", filter) + } + if len(apply) > 0 { + queryParameters["$apply"] = autorest.Encode("query", apply) + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/providers/{managementGroupsNamespace}/managementGroups/{managementGroupName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesResource}/queryResults", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListQueryResultsForManagementGroupSender sends the ListQueryResultsForManagementGroup request. The method will close the +// http.Response Body if it receives an error. +func (client PolicyStatesClient) ListQueryResultsForManagementGroupSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListQueryResultsForManagementGroupResponder handles the response to the ListQueryResultsForManagementGroup request. The method always +// closes the http.Response Body. +func (client PolicyStatesClient) ListQueryResultsForManagementGroupResponder(resp *http.Response) (result PolicyStatesQueryResults, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListQueryResultsForPolicyDefinition queries policy states for the subscription level policy definition. +// Parameters: +// policyStatesResource - the virtual resource under PolicyStates resource type. In a given time range, +// 'latest' represents the latest policy state(s), whereas 'default' represents all policy state(s). +// subscriptionID - microsoft Azure subscription ID. +// policyDefinitionName - policy definition name. +// top - maximum number of records to return. +// orderBy - ordering expression using OData notation. One or more comma-separated column names with an +// optional "desc" (the default) or "asc", e.g. "$orderby=PolicyAssignmentId, ResourceId asc". +// selectParameter - select expression using OData notation. Limits the columns on each record to just those +// requested, e.g. "$select=PolicyAssignmentId, ResourceId". +// from - ISO 8601 formatted timestamp specifying the start time of the interval to query. When not specified, +// the service uses ($to - 1-day). +// toParameter - ISO 8601 formatted timestamp specifying the end time of the interval to query. When not +// specified, the service uses request time. +// filter - oData filter expression. +// apply - oData apply expression for aggregations. +func (client PolicyStatesClient) ListQueryResultsForPolicyDefinition(ctx context.Context, policyStatesResource PolicyStatesResource, subscriptionID string, policyDefinitionName string, top *int32, orderBy string, selectParameter string, from *date.Time, toParameter *date.Time, filter string, apply string) (result PolicyStatesQueryResults, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PolicyStatesClient.ListQueryResultsForPolicyDefinition") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: top, + Constraints: []validation.Constraint{{Target: "top", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "top", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}}}}}}); err != nil { + return result, validation.NewError("policyinsights.PolicyStatesClient", "ListQueryResultsForPolicyDefinition", err.Error()) + } + + req, err := client.ListQueryResultsForPolicyDefinitionPreparer(ctx, policyStatesResource, subscriptionID, policyDefinitionName, top, orderBy, selectParameter, from, toParameter, filter, apply) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.PolicyStatesClient", "ListQueryResultsForPolicyDefinition", nil, "Failure preparing request") + return + } + + resp, err := client.ListQueryResultsForPolicyDefinitionSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "policyinsights.PolicyStatesClient", "ListQueryResultsForPolicyDefinition", resp, "Failure sending request") + return + } + + result, err = client.ListQueryResultsForPolicyDefinitionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.PolicyStatesClient", "ListQueryResultsForPolicyDefinition", resp, "Failure responding to request") + } + + return +} + +// ListQueryResultsForPolicyDefinitionPreparer prepares the ListQueryResultsForPolicyDefinition request. +func (client PolicyStatesClient) ListQueryResultsForPolicyDefinitionPreparer(ctx context.Context, policyStatesResource PolicyStatesResource, subscriptionID string, policyDefinitionName string, top *int32, orderBy string, selectParameter string, from *date.Time, toParameter *date.Time, filter string, apply string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "authorizationNamespace": autorest.Encode("path", "Microsoft.Authorization"), + "policyDefinitionName": autorest.Encode("path", policyDefinitionName), + "policyStatesResource": autorest.Encode("path", policyStatesResource), + "subscriptionId": autorest.Encode("path", subscriptionID), + } + + const APIVersion = "2019-10-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if top != nil { + queryParameters["$top"] = autorest.Encode("query", *top) + } + if len(orderBy) > 0 { + queryParameters["$orderby"] = autorest.Encode("query", orderBy) + } + if len(selectParameter) > 0 { + queryParameters["$select"] = autorest.Encode("query", selectParameter) + } + if from != nil { + queryParameters["$from"] = autorest.Encode("query", *from) + } + if toParameter != nil { + queryParameters["$to"] = autorest.Encode("query", *toParameter) + } + if len(filter) > 0 { + queryParameters["$filter"] = autorest.Encode("query", filter) + } + if len(apply) > 0 { + queryParameters["$apply"] = autorest.Encode("query", apply) + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policyDefinitions/{policyDefinitionName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesResource}/queryResults", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListQueryResultsForPolicyDefinitionSender sends the ListQueryResultsForPolicyDefinition request. The method will close the +// http.Response Body if it receives an error. +func (client PolicyStatesClient) ListQueryResultsForPolicyDefinitionSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListQueryResultsForPolicyDefinitionResponder handles the response to the ListQueryResultsForPolicyDefinition request. The method always +// closes the http.Response Body. +func (client PolicyStatesClient) ListQueryResultsForPolicyDefinitionResponder(resp *http.Response) (result PolicyStatesQueryResults, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListQueryResultsForPolicySetDefinition queries policy states for the subscription level policy set definition. +// Parameters: +// policyStatesResource - the virtual resource under PolicyStates resource type. In a given time range, +// 'latest' represents the latest policy state(s), whereas 'default' represents all policy state(s). +// subscriptionID - microsoft Azure subscription ID. +// policySetDefinitionName - policy set definition name. +// top - maximum number of records to return. +// orderBy - ordering expression using OData notation. One or more comma-separated column names with an +// optional "desc" (the default) or "asc", e.g. "$orderby=PolicyAssignmentId, ResourceId asc". +// selectParameter - select expression using OData notation. Limits the columns on each record to just those +// requested, e.g. "$select=PolicyAssignmentId, ResourceId". +// from - ISO 8601 formatted timestamp specifying the start time of the interval to query. When not specified, +// the service uses ($to - 1-day). +// toParameter - ISO 8601 formatted timestamp specifying the end time of the interval to query. When not +// specified, the service uses request time. +// filter - oData filter expression. +// apply - oData apply expression for aggregations. +func (client PolicyStatesClient) ListQueryResultsForPolicySetDefinition(ctx context.Context, policyStatesResource PolicyStatesResource, subscriptionID string, policySetDefinitionName string, top *int32, orderBy string, selectParameter string, from *date.Time, toParameter *date.Time, filter string, apply string) (result PolicyStatesQueryResults, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PolicyStatesClient.ListQueryResultsForPolicySetDefinition") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: top, + Constraints: []validation.Constraint{{Target: "top", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "top", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}}}}}}); err != nil { + return result, validation.NewError("policyinsights.PolicyStatesClient", "ListQueryResultsForPolicySetDefinition", err.Error()) + } + + req, err := client.ListQueryResultsForPolicySetDefinitionPreparer(ctx, policyStatesResource, subscriptionID, policySetDefinitionName, top, orderBy, selectParameter, from, toParameter, filter, apply) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.PolicyStatesClient", "ListQueryResultsForPolicySetDefinition", nil, "Failure preparing request") + return + } + + resp, err := client.ListQueryResultsForPolicySetDefinitionSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "policyinsights.PolicyStatesClient", "ListQueryResultsForPolicySetDefinition", resp, "Failure sending request") + return + } + + result, err = client.ListQueryResultsForPolicySetDefinitionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.PolicyStatesClient", "ListQueryResultsForPolicySetDefinition", resp, "Failure responding to request") + } + + return +} + +// ListQueryResultsForPolicySetDefinitionPreparer prepares the ListQueryResultsForPolicySetDefinition request. +func (client PolicyStatesClient) ListQueryResultsForPolicySetDefinitionPreparer(ctx context.Context, policyStatesResource PolicyStatesResource, subscriptionID string, policySetDefinitionName string, top *int32, orderBy string, selectParameter string, from *date.Time, toParameter *date.Time, filter string, apply string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "authorizationNamespace": autorest.Encode("path", "Microsoft.Authorization"), + "policySetDefinitionName": autorest.Encode("path", policySetDefinitionName), + "policyStatesResource": autorest.Encode("path", policyStatesResource), + "subscriptionId": autorest.Encode("path", subscriptionID), + } + + const APIVersion = "2019-10-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if top != nil { + queryParameters["$top"] = autorest.Encode("query", *top) + } + if len(orderBy) > 0 { + queryParameters["$orderby"] = autorest.Encode("query", orderBy) + } + if len(selectParameter) > 0 { + queryParameters["$select"] = autorest.Encode("query", selectParameter) + } + if from != nil { + queryParameters["$from"] = autorest.Encode("query", *from) + } + if toParameter != nil { + queryParameters["$to"] = autorest.Encode("query", *toParameter) + } + if len(filter) > 0 { + queryParameters["$filter"] = autorest.Encode("query", filter) + } + if len(apply) > 0 { + queryParameters["$apply"] = autorest.Encode("query", apply) + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policySetDefinitions/{policySetDefinitionName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesResource}/queryResults", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListQueryResultsForPolicySetDefinitionSender sends the ListQueryResultsForPolicySetDefinition request. The method will close the +// http.Response Body if it receives an error. +func (client PolicyStatesClient) ListQueryResultsForPolicySetDefinitionSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListQueryResultsForPolicySetDefinitionResponder handles the response to the ListQueryResultsForPolicySetDefinition request. The method always +// closes the http.Response Body. +func (client PolicyStatesClient) ListQueryResultsForPolicySetDefinitionResponder(resp *http.Response) (result PolicyStatesQueryResults, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListQueryResultsForResource queries policy states for the resource. +// Parameters: +// policyStatesResource - the virtual resource under PolicyStates resource type. In a given time range, +// 'latest' represents the latest policy state(s), whereas 'default' represents all policy state(s). +// resourceID - resource ID. +// top - maximum number of records to return. +// orderBy - ordering expression using OData notation. One or more comma-separated column names with an +// optional "desc" (the default) or "asc", e.g. "$orderby=PolicyAssignmentId, ResourceId asc". +// selectParameter - select expression using OData notation. Limits the columns on each record to just those +// requested, e.g. "$select=PolicyAssignmentId, ResourceId". +// from - ISO 8601 formatted timestamp specifying the start time of the interval to query. When not specified, +// the service uses ($to - 1-day). +// toParameter - ISO 8601 formatted timestamp specifying the end time of the interval to query. When not +// specified, the service uses request time. +// filter - oData filter expression. +// apply - oData apply expression for aggregations. +// expand - the $expand query parameter. For example, to expand policyEvaluationDetails, use +// $expand=policyEvaluationDetails +func (client PolicyStatesClient) ListQueryResultsForResource(ctx context.Context, policyStatesResource PolicyStatesResource, resourceID string, top *int32, orderBy string, selectParameter string, from *date.Time, toParameter *date.Time, filter string, apply string, expand string) (result PolicyStatesQueryResults, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PolicyStatesClient.ListQueryResultsForResource") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: top, + Constraints: []validation.Constraint{{Target: "top", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "top", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}}}}}}); err != nil { + return result, validation.NewError("policyinsights.PolicyStatesClient", "ListQueryResultsForResource", err.Error()) + } + + req, err := client.ListQueryResultsForResourcePreparer(ctx, policyStatesResource, resourceID, top, orderBy, selectParameter, from, toParameter, filter, apply, expand) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.PolicyStatesClient", "ListQueryResultsForResource", nil, "Failure preparing request") + return + } + + resp, err := client.ListQueryResultsForResourceSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "policyinsights.PolicyStatesClient", "ListQueryResultsForResource", resp, "Failure sending request") + return + } + + result, err = client.ListQueryResultsForResourceResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.PolicyStatesClient", "ListQueryResultsForResource", resp, "Failure responding to request") + } + + return +} + +// ListQueryResultsForResourcePreparer prepares the ListQueryResultsForResource request. +func (client PolicyStatesClient) ListQueryResultsForResourcePreparer(ctx context.Context, policyStatesResource PolicyStatesResource, resourceID string, top *int32, orderBy string, selectParameter string, from *date.Time, toParameter *date.Time, filter string, apply string, expand string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "policyStatesResource": autorest.Encode("path", policyStatesResource), + "resourceId": resourceID, + } + + const APIVersion = "2019-10-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if top != nil { + queryParameters["$top"] = autorest.Encode("query", *top) + } + if len(orderBy) > 0 { + queryParameters["$orderby"] = autorest.Encode("query", orderBy) + } + if len(selectParameter) > 0 { + queryParameters["$select"] = autorest.Encode("query", selectParameter) + } + if from != nil { + queryParameters["$from"] = autorest.Encode("query", *from) + } + if toParameter != nil { + queryParameters["$to"] = autorest.Encode("query", *toParameter) + } + if len(filter) > 0 { + queryParameters["$filter"] = autorest.Encode("query", filter) + } + if len(apply) > 0 { + queryParameters["$apply"] = autorest.Encode("query", apply) + } + if len(expand) > 0 { + queryParameters["$expand"] = autorest.Encode("query", expand) + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/{resourceId}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesResource}/queryResults", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListQueryResultsForResourceSender sends the ListQueryResultsForResource request. The method will close the +// http.Response Body if it receives an error. +func (client PolicyStatesClient) ListQueryResultsForResourceSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListQueryResultsForResourceResponder handles the response to the ListQueryResultsForResource request. The method always +// closes the http.Response Body. +func (client PolicyStatesClient) ListQueryResultsForResourceResponder(resp *http.Response) (result PolicyStatesQueryResults, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListQueryResultsForResourceGroup queries policy states for the resources under the resource group. +// Parameters: +// policyStatesResource - the virtual resource under PolicyStates resource type. In a given time range, +// 'latest' represents the latest policy state(s), whereas 'default' represents all policy state(s). +// subscriptionID - microsoft Azure subscription ID. +// resourceGroupName - resource group name. +// top - maximum number of records to return. +// orderBy - ordering expression using OData notation. One or more comma-separated column names with an +// optional "desc" (the default) or "asc", e.g. "$orderby=PolicyAssignmentId, ResourceId asc". +// selectParameter - select expression using OData notation. Limits the columns on each record to just those +// requested, e.g. "$select=PolicyAssignmentId, ResourceId". +// from - ISO 8601 formatted timestamp specifying the start time of the interval to query. When not specified, +// the service uses ($to - 1-day). +// toParameter - ISO 8601 formatted timestamp specifying the end time of the interval to query. When not +// specified, the service uses request time. +// filter - oData filter expression. +// apply - oData apply expression for aggregations. +func (client PolicyStatesClient) ListQueryResultsForResourceGroup(ctx context.Context, policyStatesResource PolicyStatesResource, subscriptionID string, resourceGroupName string, top *int32, orderBy string, selectParameter string, from *date.Time, toParameter *date.Time, filter string, apply string) (result PolicyStatesQueryResults, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PolicyStatesClient.ListQueryResultsForResourceGroup") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: top, + Constraints: []validation.Constraint{{Target: "top", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "top", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}}}}}}); err != nil { + return result, validation.NewError("policyinsights.PolicyStatesClient", "ListQueryResultsForResourceGroup", err.Error()) + } + + req, err := client.ListQueryResultsForResourceGroupPreparer(ctx, policyStatesResource, subscriptionID, resourceGroupName, top, orderBy, selectParameter, from, toParameter, filter, apply) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.PolicyStatesClient", "ListQueryResultsForResourceGroup", nil, "Failure preparing request") + return + } + + resp, err := client.ListQueryResultsForResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "policyinsights.PolicyStatesClient", "ListQueryResultsForResourceGroup", resp, "Failure sending request") + return + } + + result, err = client.ListQueryResultsForResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.PolicyStatesClient", "ListQueryResultsForResourceGroup", resp, "Failure responding to request") + } + + return +} + +// ListQueryResultsForResourceGroupPreparer prepares the ListQueryResultsForResourceGroup request. +func (client PolicyStatesClient) ListQueryResultsForResourceGroupPreparer(ctx context.Context, policyStatesResource PolicyStatesResource, subscriptionID string, resourceGroupName string, top *int32, orderBy string, selectParameter string, from *date.Time, toParameter *date.Time, filter string, apply string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "policyStatesResource": autorest.Encode("path", policyStatesResource), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", subscriptionID), + } + + const APIVersion = "2019-10-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if top != nil { + queryParameters["$top"] = autorest.Encode("query", *top) + } + if len(orderBy) > 0 { + queryParameters["$orderby"] = autorest.Encode("query", orderBy) + } + if len(selectParameter) > 0 { + queryParameters["$select"] = autorest.Encode("query", selectParameter) + } + if from != nil { + queryParameters["$from"] = autorest.Encode("query", *from) + } + if toParameter != nil { + queryParameters["$to"] = autorest.Encode("query", *toParameter) + } + if len(filter) > 0 { + queryParameters["$filter"] = autorest.Encode("query", filter) + } + if len(apply) > 0 { + queryParameters["$apply"] = autorest.Encode("query", apply) + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesResource}/queryResults", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListQueryResultsForResourceGroupSender sends the ListQueryResultsForResourceGroup request. The method will close the +// http.Response Body if it receives an error. +func (client PolicyStatesClient) ListQueryResultsForResourceGroupSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListQueryResultsForResourceGroupResponder handles the response to the ListQueryResultsForResourceGroup request. The method always +// closes the http.Response Body. +func (client PolicyStatesClient) ListQueryResultsForResourceGroupResponder(resp *http.Response) (result PolicyStatesQueryResults, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListQueryResultsForResourceGroupLevelPolicyAssignment queries policy states for the resource group level policy +// assignment. +// Parameters: +// policyStatesResource - the virtual resource under PolicyStates resource type. In a given time range, +// 'latest' represents the latest policy state(s), whereas 'default' represents all policy state(s). +// subscriptionID - microsoft Azure subscription ID. +// resourceGroupName - resource group name. +// policyAssignmentName - policy assignment name. +// top - maximum number of records to return. +// orderBy - ordering expression using OData notation. One or more comma-separated column names with an +// optional "desc" (the default) or "asc", e.g. "$orderby=PolicyAssignmentId, ResourceId asc". +// selectParameter - select expression using OData notation. Limits the columns on each record to just those +// requested, e.g. "$select=PolicyAssignmentId, ResourceId". +// from - ISO 8601 formatted timestamp specifying the start time of the interval to query. When not specified, +// the service uses ($to - 1-day). +// toParameter - ISO 8601 formatted timestamp specifying the end time of the interval to query. When not +// specified, the service uses request time. +// filter - oData filter expression. +// apply - oData apply expression for aggregations. +func (client PolicyStatesClient) ListQueryResultsForResourceGroupLevelPolicyAssignment(ctx context.Context, policyStatesResource PolicyStatesResource, subscriptionID string, resourceGroupName string, policyAssignmentName string, top *int32, orderBy string, selectParameter string, from *date.Time, toParameter *date.Time, filter string, apply string) (result PolicyStatesQueryResults, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PolicyStatesClient.ListQueryResultsForResourceGroupLevelPolicyAssignment") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: top, + Constraints: []validation.Constraint{{Target: "top", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "top", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}}}}}}); err != nil { + return result, validation.NewError("policyinsights.PolicyStatesClient", "ListQueryResultsForResourceGroupLevelPolicyAssignment", err.Error()) + } + + req, err := client.ListQueryResultsForResourceGroupLevelPolicyAssignmentPreparer(ctx, policyStatesResource, subscriptionID, resourceGroupName, policyAssignmentName, top, orderBy, selectParameter, from, toParameter, filter, apply) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.PolicyStatesClient", "ListQueryResultsForResourceGroupLevelPolicyAssignment", nil, "Failure preparing request") + return + } + + resp, err := client.ListQueryResultsForResourceGroupLevelPolicyAssignmentSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "policyinsights.PolicyStatesClient", "ListQueryResultsForResourceGroupLevelPolicyAssignment", resp, "Failure sending request") + return + } + + result, err = client.ListQueryResultsForResourceGroupLevelPolicyAssignmentResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.PolicyStatesClient", "ListQueryResultsForResourceGroupLevelPolicyAssignment", resp, "Failure responding to request") + } + + return +} + +// ListQueryResultsForResourceGroupLevelPolicyAssignmentPreparer prepares the ListQueryResultsForResourceGroupLevelPolicyAssignment request. +func (client PolicyStatesClient) ListQueryResultsForResourceGroupLevelPolicyAssignmentPreparer(ctx context.Context, policyStatesResource PolicyStatesResource, subscriptionID string, resourceGroupName string, policyAssignmentName string, top *int32, orderBy string, selectParameter string, from *date.Time, toParameter *date.Time, filter string, apply string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "authorizationNamespace": autorest.Encode("path", "Microsoft.Authorization"), + "policyAssignmentName": autorest.Encode("path", policyAssignmentName), + "policyStatesResource": autorest.Encode("path", policyStatesResource), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", subscriptionID), + } + + const APIVersion = "2019-10-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if top != nil { + queryParameters["$top"] = autorest.Encode("query", *top) + } + if len(orderBy) > 0 { + queryParameters["$orderby"] = autorest.Encode("query", orderBy) + } + if len(selectParameter) > 0 { + queryParameters["$select"] = autorest.Encode("query", selectParameter) + } + if from != nil { + queryParameters["$from"] = autorest.Encode("query", *from) + } + if toParameter != nil { + queryParameters["$to"] = autorest.Encode("query", *toParameter) + } + if len(filter) > 0 { + queryParameters["$filter"] = autorest.Encode("query", filter) + } + if len(apply) > 0 { + queryParameters["$apply"] = autorest.Encode("query", apply) + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{authorizationNamespace}/policyAssignments/{policyAssignmentName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesResource}/queryResults", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListQueryResultsForResourceGroupLevelPolicyAssignmentSender sends the ListQueryResultsForResourceGroupLevelPolicyAssignment request. The method will close the +// http.Response Body if it receives an error. +func (client PolicyStatesClient) ListQueryResultsForResourceGroupLevelPolicyAssignmentSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListQueryResultsForResourceGroupLevelPolicyAssignmentResponder handles the response to the ListQueryResultsForResourceGroupLevelPolicyAssignment request. The method always +// closes the http.Response Body. +func (client PolicyStatesClient) ListQueryResultsForResourceGroupLevelPolicyAssignmentResponder(resp *http.Response) (result PolicyStatesQueryResults, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListQueryResultsForSubscription queries policy states for the resources under the subscription. +// Parameters: +// policyStatesResource - the virtual resource under PolicyStates resource type. In a given time range, +// 'latest' represents the latest policy state(s), whereas 'default' represents all policy state(s). +// subscriptionID - microsoft Azure subscription ID. +// top - maximum number of records to return. +// orderBy - ordering expression using OData notation. One or more comma-separated column names with an +// optional "desc" (the default) or "asc", e.g. "$orderby=PolicyAssignmentId, ResourceId asc". +// selectParameter - select expression using OData notation. Limits the columns on each record to just those +// requested, e.g. "$select=PolicyAssignmentId, ResourceId". +// from - ISO 8601 formatted timestamp specifying the start time of the interval to query. When not specified, +// the service uses ($to - 1-day). +// toParameter - ISO 8601 formatted timestamp specifying the end time of the interval to query. When not +// specified, the service uses request time. +// filter - oData filter expression. +// apply - oData apply expression for aggregations. +func (client PolicyStatesClient) ListQueryResultsForSubscription(ctx context.Context, policyStatesResource PolicyStatesResource, subscriptionID string, top *int32, orderBy string, selectParameter string, from *date.Time, toParameter *date.Time, filter string, apply string) (result PolicyStatesQueryResults, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PolicyStatesClient.ListQueryResultsForSubscription") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: top, + Constraints: []validation.Constraint{{Target: "top", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "top", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}}}}}}); err != nil { + return result, validation.NewError("policyinsights.PolicyStatesClient", "ListQueryResultsForSubscription", err.Error()) + } + + req, err := client.ListQueryResultsForSubscriptionPreparer(ctx, policyStatesResource, subscriptionID, top, orderBy, selectParameter, from, toParameter, filter, apply) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.PolicyStatesClient", "ListQueryResultsForSubscription", nil, "Failure preparing request") + return + } + + resp, err := client.ListQueryResultsForSubscriptionSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "policyinsights.PolicyStatesClient", "ListQueryResultsForSubscription", resp, "Failure sending request") + return + } + + result, err = client.ListQueryResultsForSubscriptionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.PolicyStatesClient", "ListQueryResultsForSubscription", resp, "Failure responding to request") + } + + return +} + +// ListQueryResultsForSubscriptionPreparer prepares the ListQueryResultsForSubscription request. +func (client PolicyStatesClient) ListQueryResultsForSubscriptionPreparer(ctx context.Context, policyStatesResource PolicyStatesResource, subscriptionID string, top *int32, orderBy string, selectParameter string, from *date.Time, toParameter *date.Time, filter string, apply string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "policyStatesResource": autorest.Encode("path", policyStatesResource), + "subscriptionId": autorest.Encode("path", subscriptionID), + } + + const APIVersion = "2019-10-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if top != nil { + queryParameters["$top"] = autorest.Encode("query", *top) + } + if len(orderBy) > 0 { + queryParameters["$orderby"] = autorest.Encode("query", orderBy) + } + if len(selectParameter) > 0 { + queryParameters["$select"] = autorest.Encode("query", selectParameter) + } + if from != nil { + queryParameters["$from"] = autorest.Encode("query", *from) + } + if toParameter != nil { + queryParameters["$to"] = autorest.Encode("query", *toParameter) + } + if len(filter) > 0 { + queryParameters["$filter"] = autorest.Encode("query", filter) + } + if len(apply) > 0 { + queryParameters["$apply"] = autorest.Encode("query", apply) + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesResource}/queryResults", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListQueryResultsForSubscriptionSender sends the ListQueryResultsForSubscription request. The method will close the +// http.Response Body if it receives an error. +func (client PolicyStatesClient) ListQueryResultsForSubscriptionSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListQueryResultsForSubscriptionResponder handles the response to the ListQueryResultsForSubscription request. The method always +// closes the http.Response Body. +func (client PolicyStatesClient) ListQueryResultsForSubscriptionResponder(resp *http.Response) (result PolicyStatesQueryResults, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListQueryResultsForSubscriptionLevelPolicyAssignment queries policy states for the subscription level policy +// assignment. +// Parameters: +// policyStatesResource - the virtual resource under PolicyStates resource type. In a given time range, +// 'latest' represents the latest policy state(s), whereas 'default' represents all policy state(s). +// subscriptionID - microsoft Azure subscription ID. +// policyAssignmentName - policy assignment name. +// top - maximum number of records to return. +// orderBy - ordering expression using OData notation. One or more comma-separated column names with an +// optional "desc" (the default) or "asc", e.g. "$orderby=PolicyAssignmentId, ResourceId asc". +// selectParameter - select expression using OData notation. Limits the columns on each record to just those +// requested, e.g. "$select=PolicyAssignmentId, ResourceId". +// from - ISO 8601 formatted timestamp specifying the start time of the interval to query. When not specified, +// the service uses ($to - 1-day). +// toParameter - ISO 8601 formatted timestamp specifying the end time of the interval to query. When not +// specified, the service uses request time. +// filter - oData filter expression. +// apply - oData apply expression for aggregations. +func (client PolicyStatesClient) ListQueryResultsForSubscriptionLevelPolicyAssignment(ctx context.Context, policyStatesResource PolicyStatesResource, subscriptionID string, policyAssignmentName string, top *int32, orderBy string, selectParameter string, from *date.Time, toParameter *date.Time, filter string, apply string) (result PolicyStatesQueryResults, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PolicyStatesClient.ListQueryResultsForSubscriptionLevelPolicyAssignment") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: top, + Constraints: []validation.Constraint{{Target: "top", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "top", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}}}}}}); err != nil { + return result, validation.NewError("policyinsights.PolicyStatesClient", "ListQueryResultsForSubscriptionLevelPolicyAssignment", err.Error()) + } + + req, err := client.ListQueryResultsForSubscriptionLevelPolicyAssignmentPreparer(ctx, policyStatesResource, subscriptionID, policyAssignmentName, top, orderBy, selectParameter, from, toParameter, filter, apply) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.PolicyStatesClient", "ListQueryResultsForSubscriptionLevelPolicyAssignment", nil, "Failure preparing request") + return + } + + resp, err := client.ListQueryResultsForSubscriptionLevelPolicyAssignmentSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "policyinsights.PolicyStatesClient", "ListQueryResultsForSubscriptionLevelPolicyAssignment", resp, "Failure sending request") + return + } + + result, err = client.ListQueryResultsForSubscriptionLevelPolicyAssignmentResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.PolicyStatesClient", "ListQueryResultsForSubscriptionLevelPolicyAssignment", resp, "Failure responding to request") + } + + return +} + +// ListQueryResultsForSubscriptionLevelPolicyAssignmentPreparer prepares the ListQueryResultsForSubscriptionLevelPolicyAssignment request. +func (client PolicyStatesClient) ListQueryResultsForSubscriptionLevelPolicyAssignmentPreparer(ctx context.Context, policyStatesResource PolicyStatesResource, subscriptionID string, policyAssignmentName string, top *int32, orderBy string, selectParameter string, from *date.Time, toParameter *date.Time, filter string, apply string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "authorizationNamespace": autorest.Encode("path", "Microsoft.Authorization"), + "policyAssignmentName": autorest.Encode("path", policyAssignmentName), + "policyStatesResource": autorest.Encode("path", policyStatesResource), + "subscriptionId": autorest.Encode("path", subscriptionID), + } + + const APIVersion = "2019-10-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if top != nil { + queryParameters["$top"] = autorest.Encode("query", *top) + } + if len(orderBy) > 0 { + queryParameters["$orderby"] = autorest.Encode("query", orderBy) + } + if len(selectParameter) > 0 { + queryParameters["$select"] = autorest.Encode("query", selectParameter) + } + if from != nil { + queryParameters["$from"] = autorest.Encode("query", *from) + } + if toParameter != nil { + queryParameters["$to"] = autorest.Encode("query", *toParameter) + } + if len(filter) > 0 { + queryParameters["$filter"] = autorest.Encode("query", filter) + } + if len(apply) > 0 { + queryParameters["$apply"] = autorest.Encode("query", apply) + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policyAssignments/{policyAssignmentName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesResource}/queryResults", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListQueryResultsForSubscriptionLevelPolicyAssignmentSender sends the ListQueryResultsForSubscriptionLevelPolicyAssignment request. The method will close the +// http.Response Body if it receives an error. +func (client PolicyStatesClient) ListQueryResultsForSubscriptionLevelPolicyAssignmentSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListQueryResultsForSubscriptionLevelPolicyAssignmentResponder handles the response to the ListQueryResultsForSubscriptionLevelPolicyAssignment request. The method always +// closes the http.Response Body. +func (client PolicyStatesClient) ListQueryResultsForSubscriptionLevelPolicyAssignmentResponder(resp *http.Response) (result PolicyStatesQueryResults, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// SummarizeForManagementGroup summarizes policy states for the resources under the management group. +// Parameters: +// managementGroupName - management group name. +// top - maximum number of records to return. +// from - ISO 8601 formatted timestamp specifying the start time of the interval to query. When not specified, +// the service uses ($to - 1-day). +// toParameter - ISO 8601 formatted timestamp specifying the end time of the interval to query. When not +// specified, the service uses request time. +// filter - oData filter expression. +func (client PolicyStatesClient) SummarizeForManagementGroup(ctx context.Context, managementGroupName string, top *int32, from *date.Time, toParameter *date.Time, filter string) (result SummarizeResults, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PolicyStatesClient.SummarizeForManagementGroup") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: top, + Constraints: []validation.Constraint{{Target: "top", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "top", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}}}}}}); err != nil { + return result, validation.NewError("policyinsights.PolicyStatesClient", "SummarizeForManagementGroup", err.Error()) + } + + req, err := client.SummarizeForManagementGroupPreparer(ctx, managementGroupName, top, from, toParameter, filter) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.PolicyStatesClient", "SummarizeForManagementGroup", nil, "Failure preparing request") + return + } + + resp, err := client.SummarizeForManagementGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "policyinsights.PolicyStatesClient", "SummarizeForManagementGroup", resp, "Failure sending request") + return + } + + result, err = client.SummarizeForManagementGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.PolicyStatesClient", "SummarizeForManagementGroup", resp, "Failure responding to request") + } + + return +} + +// SummarizeForManagementGroupPreparer prepares the SummarizeForManagementGroup request. +func (client PolicyStatesClient) SummarizeForManagementGroupPreparer(ctx context.Context, managementGroupName string, top *int32, from *date.Time, toParameter *date.Time, filter string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "managementGroupName": autorest.Encode("path", managementGroupName), + "managementGroupsNamespace": autorest.Encode("path", "Microsoft.Management"), + "policyStatesSummaryResource": autorest.Encode("path", "latest"), + } + + const APIVersion = "2019-10-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if top != nil { + queryParameters["$top"] = autorest.Encode("query", *top) + } + if from != nil { + queryParameters["$from"] = autorest.Encode("query", *from) + } + if toParameter != nil { + queryParameters["$to"] = autorest.Encode("query", *toParameter) + } + if len(filter) > 0 { + queryParameters["$filter"] = autorest.Encode("query", filter) + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/providers/{managementGroupsNamespace}/managementGroups/{managementGroupName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesSummaryResource}/summarize", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// SummarizeForManagementGroupSender sends the SummarizeForManagementGroup request. The method will close the +// http.Response Body if it receives an error. +func (client PolicyStatesClient) SummarizeForManagementGroupSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// SummarizeForManagementGroupResponder handles the response to the SummarizeForManagementGroup request. The method always +// closes the http.Response Body. +func (client PolicyStatesClient) SummarizeForManagementGroupResponder(resp *http.Response) (result SummarizeResults, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// SummarizeForPolicyDefinition summarizes policy states for the subscription level policy definition. +// Parameters: +// subscriptionID - microsoft Azure subscription ID. +// policyDefinitionName - policy definition name. +// top - maximum number of records to return. +// from - ISO 8601 formatted timestamp specifying the start time of the interval to query. When not specified, +// the service uses ($to - 1-day). +// toParameter - ISO 8601 formatted timestamp specifying the end time of the interval to query. When not +// specified, the service uses request time. +// filter - oData filter expression. +func (client PolicyStatesClient) SummarizeForPolicyDefinition(ctx context.Context, subscriptionID string, policyDefinitionName string, top *int32, from *date.Time, toParameter *date.Time, filter string) (result SummarizeResults, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PolicyStatesClient.SummarizeForPolicyDefinition") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: top, + Constraints: []validation.Constraint{{Target: "top", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "top", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}}}}}}); err != nil { + return result, validation.NewError("policyinsights.PolicyStatesClient", "SummarizeForPolicyDefinition", err.Error()) + } + + req, err := client.SummarizeForPolicyDefinitionPreparer(ctx, subscriptionID, policyDefinitionName, top, from, toParameter, filter) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.PolicyStatesClient", "SummarizeForPolicyDefinition", nil, "Failure preparing request") + return + } + + resp, err := client.SummarizeForPolicyDefinitionSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "policyinsights.PolicyStatesClient", "SummarizeForPolicyDefinition", resp, "Failure sending request") + return + } + + result, err = client.SummarizeForPolicyDefinitionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.PolicyStatesClient", "SummarizeForPolicyDefinition", resp, "Failure responding to request") + } + + return +} + +// SummarizeForPolicyDefinitionPreparer prepares the SummarizeForPolicyDefinition request. +func (client PolicyStatesClient) SummarizeForPolicyDefinitionPreparer(ctx context.Context, subscriptionID string, policyDefinitionName string, top *int32, from *date.Time, toParameter *date.Time, filter string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "authorizationNamespace": autorest.Encode("path", "Microsoft.Authorization"), + "policyDefinitionName": autorest.Encode("path", policyDefinitionName), + "policyStatesSummaryResource": autorest.Encode("path", "latest"), + "subscriptionId": autorest.Encode("path", subscriptionID), + } + + const APIVersion = "2019-10-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if top != nil { + queryParameters["$top"] = autorest.Encode("query", *top) + } + if from != nil { + queryParameters["$from"] = autorest.Encode("query", *from) + } + if toParameter != nil { + queryParameters["$to"] = autorest.Encode("query", *toParameter) + } + if len(filter) > 0 { + queryParameters["$filter"] = autorest.Encode("query", filter) + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policyDefinitions/{policyDefinitionName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesSummaryResource}/summarize", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// SummarizeForPolicyDefinitionSender sends the SummarizeForPolicyDefinition request. The method will close the +// http.Response Body if it receives an error. +func (client PolicyStatesClient) SummarizeForPolicyDefinitionSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// SummarizeForPolicyDefinitionResponder handles the response to the SummarizeForPolicyDefinition request. The method always +// closes the http.Response Body. +func (client PolicyStatesClient) SummarizeForPolicyDefinitionResponder(resp *http.Response) (result SummarizeResults, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// SummarizeForPolicySetDefinition summarizes policy states for the subscription level policy set definition. +// Parameters: +// subscriptionID - microsoft Azure subscription ID. +// policySetDefinitionName - policy set definition name. +// top - maximum number of records to return. +// from - ISO 8601 formatted timestamp specifying the start time of the interval to query. When not specified, +// the service uses ($to - 1-day). +// toParameter - ISO 8601 formatted timestamp specifying the end time of the interval to query. When not +// specified, the service uses request time. +// filter - oData filter expression. +func (client PolicyStatesClient) SummarizeForPolicySetDefinition(ctx context.Context, subscriptionID string, policySetDefinitionName string, top *int32, from *date.Time, toParameter *date.Time, filter string) (result SummarizeResults, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PolicyStatesClient.SummarizeForPolicySetDefinition") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: top, + Constraints: []validation.Constraint{{Target: "top", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "top", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}}}}}}); err != nil { + return result, validation.NewError("policyinsights.PolicyStatesClient", "SummarizeForPolicySetDefinition", err.Error()) + } + + req, err := client.SummarizeForPolicySetDefinitionPreparer(ctx, subscriptionID, policySetDefinitionName, top, from, toParameter, filter) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.PolicyStatesClient", "SummarizeForPolicySetDefinition", nil, "Failure preparing request") + return + } + + resp, err := client.SummarizeForPolicySetDefinitionSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "policyinsights.PolicyStatesClient", "SummarizeForPolicySetDefinition", resp, "Failure sending request") + return + } + + result, err = client.SummarizeForPolicySetDefinitionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.PolicyStatesClient", "SummarizeForPolicySetDefinition", resp, "Failure responding to request") + } + + return +} + +// SummarizeForPolicySetDefinitionPreparer prepares the SummarizeForPolicySetDefinition request. +func (client PolicyStatesClient) SummarizeForPolicySetDefinitionPreparer(ctx context.Context, subscriptionID string, policySetDefinitionName string, top *int32, from *date.Time, toParameter *date.Time, filter string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "authorizationNamespace": autorest.Encode("path", "Microsoft.Authorization"), + "policySetDefinitionName": autorest.Encode("path", policySetDefinitionName), + "policyStatesSummaryResource": autorest.Encode("path", "latest"), + "subscriptionId": autorest.Encode("path", subscriptionID), + } + + const APIVersion = "2019-10-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if top != nil { + queryParameters["$top"] = autorest.Encode("query", *top) + } + if from != nil { + queryParameters["$from"] = autorest.Encode("query", *from) + } + if toParameter != nil { + queryParameters["$to"] = autorest.Encode("query", *toParameter) + } + if len(filter) > 0 { + queryParameters["$filter"] = autorest.Encode("query", filter) + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policySetDefinitions/{policySetDefinitionName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesSummaryResource}/summarize", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// SummarizeForPolicySetDefinitionSender sends the SummarizeForPolicySetDefinition request. The method will close the +// http.Response Body if it receives an error. +func (client PolicyStatesClient) SummarizeForPolicySetDefinitionSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// SummarizeForPolicySetDefinitionResponder handles the response to the SummarizeForPolicySetDefinition request. The method always +// closes the http.Response Body. +func (client PolicyStatesClient) SummarizeForPolicySetDefinitionResponder(resp *http.Response) (result SummarizeResults, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// SummarizeForResource summarizes policy states for the resource. +// Parameters: +// resourceID - resource ID. +// top - maximum number of records to return. +// from - ISO 8601 formatted timestamp specifying the start time of the interval to query. When not specified, +// the service uses ($to - 1-day). +// toParameter - ISO 8601 formatted timestamp specifying the end time of the interval to query. When not +// specified, the service uses request time. +// filter - oData filter expression. +func (client PolicyStatesClient) SummarizeForResource(ctx context.Context, resourceID string, top *int32, from *date.Time, toParameter *date.Time, filter string) (result SummarizeResults, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PolicyStatesClient.SummarizeForResource") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: top, + Constraints: []validation.Constraint{{Target: "top", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "top", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}}}}}}); err != nil { + return result, validation.NewError("policyinsights.PolicyStatesClient", "SummarizeForResource", err.Error()) + } + + req, err := client.SummarizeForResourcePreparer(ctx, resourceID, top, from, toParameter, filter) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.PolicyStatesClient", "SummarizeForResource", nil, "Failure preparing request") + return + } + + resp, err := client.SummarizeForResourceSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "policyinsights.PolicyStatesClient", "SummarizeForResource", resp, "Failure sending request") + return + } + + result, err = client.SummarizeForResourceResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.PolicyStatesClient", "SummarizeForResource", resp, "Failure responding to request") + } + + return +} + +// SummarizeForResourcePreparer prepares the SummarizeForResource request. +func (client PolicyStatesClient) SummarizeForResourcePreparer(ctx context.Context, resourceID string, top *int32, from *date.Time, toParameter *date.Time, filter string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "policyStatesSummaryResource": autorest.Encode("path", "latest"), + "resourceId": resourceID, + } + + const APIVersion = "2019-10-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if top != nil { + queryParameters["$top"] = autorest.Encode("query", *top) + } + if from != nil { + queryParameters["$from"] = autorest.Encode("query", *from) + } + if toParameter != nil { + queryParameters["$to"] = autorest.Encode("query", *toParameter) + } + if len(filter) > 0 { + queryParameters["$filter"] = autorest.Encode("query", filter) + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/{resourceId}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesSummaryResource}/summarize", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// SummarizeForResourceSender sends the SummarizeForResource request. The method will close the +// http.Response Body if it receives an error. +func (client PolicyStatesClient) SummarizeForResourceSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// SummarizeForResourceResponder handles the response to the SummarizeForResource request. The method always +// closes the http.Response Body. +func (client PolicyStatesClient) SummarizeForResourceResponder(resp *http.Response) (result SummarizeResults, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// SummarizeForResourceGroup summarizes policy states for the resources under the resource group. +// Parameters: +// subscriptionID - microsoft Azure subscription ID. +// resourceGroupName - resource group name. +// top - maximum number of records to return. +// from - ISO 8601 formatted timestamp specifying the start time of the interval to query. When not specified, +// the service uses ($to - 1-day). +// toParameter - ISO 8601 formatted timestamp specifying the end time of the interval to query. When not +// specified, the service uses request time. +// filter - oData filter expression. +func (client PolicyStatesClient) SummarizeForResourceGroup(ctx context.Context, subscriptionID string, resourceGroupName string, top *int32, from *date.Time, toParameter *date.Time, filter string) (result SummarizeResults, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PolicyStatesClient.SummarizeForResourceGroup") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: top, + Constraints: []validation.Constraint{{Target: "top", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "top", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}}}}}}); err != nil { + return result, validation.NewError("policyinsights.PolicyStatesClient", "SummarizeForResourceGroup", err.Error()) + } + + req, err := client.SummarizeForResourceGroupPreparer(ctx, subscriptionID, resourceGroupName, top, from, toParameter, filter) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.PolicyStatesClient", "SummarizeForResourceGroup", nil, "Failure preparing request") + return + } + + resp, err := client.SummarizeForResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "policyinsights.PolicyStatesClient", "SummarizeForResourceGroup", resp, "Failure sending request") + return + } + + result, err = client.SummarizeForResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.PolicyStatesClient", "SummarizeForResourceGroup", resp, "Failure responding to request") + } + + return +} + +// SummarizeForResourceGroupPreparer prepares the SummarizeForResourceGroup request. +func (client PolicyStatesClient) SummarizeForResourceGroupPreparer(ctx context.Context, subscriptionID string, resourceGroupName string, top *int32, from *date.Time, toParameter *date.Time, filter string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "policyStatesSummaryResource": autorest.Encode("path", "latest"), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", subscriptionID), + } + + const APIVersion = "2019-10-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if top != nil { + queryParameters["$top"] = autorest.Encode("query", *top) + } + if from != nil { + queryParameters["$from"] = autorest.Encode("query", *from) + } + if toParameter != nil { + queryParameters["$to"] = autorest.Encode("query", *toParameter) + } + if len(filter) > 0 { + queryParameters["$filter"] = autorest.Encode("query", filter) + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesSummaryResource}/summarize", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// SummarizeForResourceGroupSender sends the SummarizeForResourceGroup request. The method will close the +// http.Response Body if it receives an error. +func (client PolicyStatesClient) SummarizeForResourceGroupSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// SummarizeForResourceGroupResponder handles the response to the SummarizeForResourceGroup request. The method always +// closes the http.Response Body. +func (client PolicyStatesClient) SummarizeForResourceGroupResponder(resp *http.Response) (result SummarizeResults, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// SummarizeForResourceGroupLevelPolicyAssignment summarizes policy states for the resource group level policy +// assignment. +// Parameters: +// subscriptionID - microsoft Azure subscription ID. +// resourceGroupName - resource group name. +// policyAssignmentName - policy assignment name. +// top - maximum number of records to return. +// from - ISO 8601 formatted timestamp specifying the start time of the interval to query. When not specified, +// the service uses ($to - 1-day). +// toParameter - ISO 8601 formatted timestamp specifying the end time of the interval to query. When not +// specified, the service uses request time. +// filter - oData filter expression. +func (client PolicyStatesClient) SummarizeForResourceGroupLevelPolicyAssignment(ctx context.Context, subscriptionID string, resourceGroupName string, policyAssignmentName string, top *int32, from *date.Time, toParameter *date.Time, filter string) (result SummarizeResults, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PolicyStatesClient.SummarizeForResourceGroupLevelPolicyAssignment") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: top, + Constraints: []validation.Constraint{{Target: "top", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "top", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}}}}}}); err != nil { + return result, validation.NewError("policyinsights.PolicyStatesClient", "SummarizeForResourceGroupLevelPolicyAssignment", err.Error()) + } + + req, err := client.SummarizeForResourceGroupLevelPolicyAssignmentPreparer(ctx, subscriptionID, resourceGroupName, policyAssignmentName, top, from, toParameter, filter) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.PolicyStatesClient", "SummarizeForResourceGroupLevelPolicyAssignment", nil, "Failure preparing request") + return + } + + resp, err := client.SummarizeForResourceGroupLevelPolicyAssignmentSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "policyinsights.PolicyStatesClient", "SummarizeForResourceGroupLevelPolicyAssignment", resp, "Failure sending request") + return + } + + result, err = client.SummarizeForResourceGroupLevelPolicyAssignmentResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.PolicyStatesClient", "SummarizeForResourceGroupLevelPolicyAssignment", resp, "Failure responding to request") + } + + return +} + +// SummarizeForResourceGroupLevelPolicyAssignmentPreparer prepares the SummarizeForResourceGroupLevelPolicyAssignment request. +func (client PolicyStatesClient) SummarizeForResourceGroupLevelPolicyAssignmentPreparer(ctx context.Context, subscriptionID string, resourceGroupName string, policyAssignmentName string, top *int32, from *date.Time, toParameter *date.Time, filter string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "authorizationNamespace": autorest.Encode("path", "Microsoft.Authorization"), + "policyAssignmentName": autorest.Encode("path", policyAssignmentName), + "policyStatesSummaryResource": autorest.Encode("path", "latest"), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", subscriptionID), + } + + const APIVersion = "2019-10-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if top != nil { + queryParameters["$top"] = autorest.Encode("query", *top) + } + if from != nil { + queryParameters["$from"] = autorest.Encode("query", *from) + } + if toParameter != nil { + queryParameters["$to"] = autorest.Encode("query", *toParameter) + } + if len(filter) > 0 { + queryParameters["$filter"] = autorest.Encode("query", filter) + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{authorizationNamespace}/policyAssignments/{policyAssignmentName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesSummaryResource}/summarize", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// SummarizeForResourceGroupLevelPolicyAssignmentSender sends the SummarizeForResourceGroupLevelPolicyAssignment request. The method will close the +// http.Response Body if it receives an error. +func (client PolicyStatesClient) SummarizeForResourceGroupLevelPolicyAssignmentSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// SummarizeForResourceGroupLevelPolicyAssignmentResponder handles the response to the SummarizeForResourceGroupLevelPolicyAssignment request. The method always +// closes the http.Response Body. +func (client PolicyStatesClient) SummarizeForResourceGroupLevelPolicyAssignmentResponder(resp *http.Response) (result SummarizeResults, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// SummarizeForSubscription summarizes policy states for the resources under the subscription. +// Parameters: +// subscriptionID - microsoft Azure subscription ID. +// top - maximum number of records to return. +// from - ISO 8601 formatted timestamp specifying the start time of the interval to query. When not specified, +// the service uses ($to - 1-day). +// toParameter - ISO 8601 formatted timestamp specifying the end time of the interval to query. When not +// specified, the service uses request time. +// filter - oData filter expression. +func (client PolicyStatesClient) SummarizeForSubscription(ctx context.Context, subscriptionID string, top *int32, from *date.Time, toParameter *date.Time, filter string) (result SummarizeResults, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PolicyStatesClient.SummarizeForSubscription") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: top, + Constraints: []validation.Constraint{{Target: "top", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "top", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}}}}}}); err != nil { + return result, validation.NewError("policyinsights.PolicyStatesClient", "SummarizeForSubscription", err.Error()) + } + + req, err := client.SummarizeForSubscriptionPreparer(ctx, subscriptionID, top, from, toParameter, filter) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.PolicyStatesClient", "SummarizeForSubscription", nil, "Failure preparing request") + return + } + + resp, err := client.SummarizeForSubscriptionSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "policyinsights.PolicyStatesClient", "SummarizeForSubscription", resp, "Failure sending request") + return + } + + result, err = client.SummarizeForSubscriptionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.PolicyStatesClient", "SummarizeForSubscription", resp, "Failure responding to request") + } + + return +} + +// SummarizeForSubscriptionPreparer prepares the SummarizeForSubscription request. +func (client PolicyStatesClient) SummarizeForSubscriptionPreparer(ctx context.Context, subscriptionID string, top *int32, from *date.Time, toParameter *date.Time, filter string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "policyStatesSummaryResource": autorest.Encode("path", "latest"), + "subscriptionId": autorest.Encode("path", subscriptionID), + } + + const APIVersion = "2019-10-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if top != nil { + queryParameters["$top"] = autorest.Encode("query", *top) + } + if from != nil { + queryParameters["$from"] = autorest.Encode("query", *from) + } + if toParameter != nil { + queryParameters["$to"] = autorest.Encode("query", *toParameter) + } + if len(filter) > 0 { + queryParameters["$filter"] = autorest.Encode("query", filter) + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesSummaryResource}/summarize", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// SummarizeForSubscriptionSender sends the SummarizeForSubscription request. The method will close the +// http.Response Body if it receives an error. +func (client PolicyStatesClient) SummarizeForSubscriptionSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// SummarizeForSubscriptionResponder handles the response to the SummarizeForSubscription request. The method always +// closes the http.Response Body. +func (client PolicyStatesClient) SummarizeForSubscriptionResponder(resp *http.Response) (result SummarizeResults, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// SummarizeForSubscriptionLevelPolicyAssignment summarizes policy states for the subscription level policy assignment. +// Parameters: +// subscriptionID - microsoft Azure subscription ID. +// policyAssignmentName - policy assignment name. +// top - maximum number of records to return. +// from - ISO 8601 formatted timestamp specifying the start time of the interval to query. When not specified, +// the service uses ($to - 1-day). +// toParameter - ISO 8601 formatted timestamp specifying the end time of the interval to query. When not +// specified, the service uses request time. +// filter - oData filter expression. +func (client PolicyStatesClient) SummarizeForSubscriptionLevelPolicyAssignment(ctx context.Context, subscriptionID string, policyAssignmentName string, top *int32, from *date.Time, toParameter *date.Time, filter string) (result SummarizeResults, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PolicyStatesClient.SummarizeForSubscriptionLevelPolicyAssignment") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: top, + Constraints: []validation.Constraint{{Target: "top", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "top", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}}}}}}); err != nil { + return result, validation.NewError("policyinsights.PolicyStatesClient", "SummarizeForSubscriptionLevelPolicyAssignment", err.Error()) + } + + req, err := client.SummarizeForSubscriptionLevelPolicyAssignmentPreparer(ctx, subscriptionID, policyAssignmentName, top, from, toParameter, filter) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.PolicyStatesClient", "SummarizeForSubscriptionLevelPolicyAssignment", nil, "Failure preparing request") + return + } + + resp, err := client.SummarizeForSubscriptionLevelPolicyAssignmentSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "policyinsights.PolicyStatesClient", "SummarizeForSubscriptionLevelPolicyAssignment", resp, "Failure sending request") + return + } + + result, err = client.SummarizeForSubscriptionLevelPolicyAssignmentResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.PolicyStatesClient", "SummarizeForSubscriptionLevelPolicyAssignment", resp, "Failure responding to request") + } + + return +} + +// SummarizeForSubscriptionLevelPolicyAssignmentPreparer prepares the SummarizeForSubscriptionLevelPolicyAssignment request. +func (client PolicyStatesClient) SummarizeForSubscriptionLevelPolicyAssignmentPreparer(ctx context.Context, subscriptionID string, policyAssignmentName string, top *int32, from *date.Time, toParameter *date.Time, filter string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "authorizationNamespace": autorest.Encode("path", "Microsoft.Authorization"), + "policyAssignmentName": autorest.Encode("path", policyAssignmentName), + "policyStatesSummaryResource": autorest.Encode("path", "latest"), + "subscriptionId": autorest.Encode("path", subscriptionID), + } + + const APIVersion = "2019-10-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if top != nil { + queryParameters["$top"] = autorest.Encode("query", *top) + } + if from != nil { + queryParameters["$from"] = autorest.Encode("query", *from) + } + if toParameter != nil { + queryParameters["$to"] = autorest.Encode("query", *toParameter) + } + if len(filter) > 0 { + queryParameters["$filter"] = autorest.Encode("query", filter) + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/{authorizationNamespace}/policyAssignments/{policyAssignmentName}/providers/Microsoft.PolicyInsights/policyStates/{policyStatesSummaryResource}/summarize", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// SummarizeForSubscriptionLevelPolicyAssignmentSender sends the SummarizeForSubscriptionLevelPolicyAssignment request. The method will close the +// http.Response Body if it receives an error. +func (client PolicyStatesClient) SummarizeForSubscriptionLevelPolicyAssignmentSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// SummarizeForSubscriptionLevelPolicyAssignmentResponder handles the response to the SummarizeForSubscriptionLevelPolicyAssignment request. The method always +// closes the http.Response Body. +func (client PolicyStatesClient) SummarizeForSubscriptionLevelPolicyAssignmentResponder(resp *http.Response) (result SummarizeResults, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/policyinsights/mgmt/2019-10-01/policyinsights/policytrackedresources.go b/services/policyinsights/mgmt/2019-10-01/policyinsights/policytrackedresources.go new file mode 100644 index 000000000000..cfcb71c32715 --- /dev/null +++ b/services/policyinsights/mgmt/2019-10-01/policyinsights/policytrackedresources.go @@ -0,0 +1,557 @@ +package policyinsights + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// PolicyTrackedResourcesClient is the client for the PolicyTrackedResources methods of the Policyinsights service. +type PolicyTrackedResourcesClient struct { + BaseClient +} + +// NewPolicyTrackedResourcesClient creates an instance of the PolicyTrackedResourcesClient client. +func NewPolicyTrackedResourcesClient() PolicyTrackedResourcesClient { + return NewPolicyTrackedResourcesClientWithBaseURI(DefaultBaseURI) +} + +// NewPolicyTrackedResourcesClientWithBaseURI creates an instance of the PolicyTrackedResourcesClient client. +func NewPolicyTrackedResourcesClientWithBaseURI(baseURI string) PolicyTrackedResourcesClient { + return PolicyTrackedResourcesClient{NewWithBaseURI(baseURI)} +} + +// ListQueryResultsForManagementGroup queries policy tracked resources under the management group. +// Parameters: +// managementGroupName - management group name. +// top - maximum number of records to return. +// filter - oData filter expression. +func (client PolicyTrackedResourcesClient) ListQueryResultsForManagementGroup(ctx context.Context, managementGroupName string, top *int32, filter string) (result PolicyTrackedResourcesQueryResultsPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PolicyTrackedResourcesClient.ListQueryResultsForManagementGroup") + defer func() { + sc := -1 + if result.ptrqr.Response.Response != nil { + sc = result.ptrqr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: top, + Constraints: []validation.Constraint{{Target: "top", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "top", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}}}}}}); err != nil { + return result, validation.NewError("policyinsights.PolicyTrackedResourcesClient", "ListQueryResultsForManagementGroup", err.Error()) + } + + result.fn = client.listQueryResultsForManagementGroupNextResults + req, err := client.ListQueryResultsForManagementGroupPreparer(ctx, managementGroupName, top, filter) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.PolicyTrackedResourcesClient", "ListQueryResultsForManagementGroup", nil, "Failure preparing request") + return + } + + resp, err := client.ListQueryResultsForManagementGroupSender(req) + if err != nil { + result.ptrqr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "policyinsights.PolicyTrackedResourcesClient", "ListQueryResultsForManagementGroup", resp, "Failure sending request") + return + } + + result.ptrqr, err = client.ListQueryResultsForManagementGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.PolicyTrackedResourcesClient", "ListQueryResultsForManagementGroup", resp, "Failure responding to request") + } + + return +} + +// ListQueryResultsForManagementGroupPreparer prepares the ListQueryResultsForManagementGroup request. +func (client PolicyTrackedResourcesClient) ListQueryResultsForManagementGroupPreparer(ctx context.Context, managementGroupName string, top *int32, filter string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "managementGroupName": autorest.Encode("path", managementGroupName), + "managementGroupsNamespace": autorest.Encode("path", "Microsoft.Management"), + "policyTrackedResourcesResource": autorest.Encode("path", "default"), + } + + const APIVersion = "2018-07-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if top != nil { + queryParameters["$top"] = autorest.Encode("query", *top) + } + if len(filter) > 0 { + queryParameters["$filter"] = autorest.Encode("query", filter) + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/providers/{managementGroupsNamespace}/managementGroups/{managementGroupName}/providers/Microsoft.PolicyInsights/policyTrackedResources/{policyTrackedResourcesResource}/queryResults", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListQueryResultsForManagementGroupSender sends the ListQueryResultsForManagementGroup request. The method will close the +// http.Response Body if it receives an error. +func (client PolicyTrackedResourcesClient) ListQueryResultsForManagementGroupSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListQueryResultsForManagementGroupResponder handles the response to the ListQueryResultsForManagementGroup request. The method always +// closes the http.Response Body. +func (client PolicyTrackedResourcesClient) ListQueryResultsForManagementGroupResponder(resp *http.Response) (result PolicyTrackedResourcesQueryResults, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listQueryResultsForManagementGroupNextResults retrieves the next set of results, if any. +func (client PolicyTrackedResourcesClient) listQueryResultsForManagementGroupNextResults(ctx context.Context, lastResults PolicyTrackedResourcesQueryResults) (result PolicyTrackedResourcesQueryResults, err error) { + req, err := lastResults.policyTrackedResourcesQueryResultsPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "policyinsights.PolicyTrackedResourcesClient", "listQueryResultsForManagementGroupNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListQueryResultsForManagementGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "policyinsights.PolicyTrackedResourcesClient", "listQueryResultsForManagementGroupNextResults", resp, "Failure sending next results request") + } + result, err = client.ListQueryResultsForManagementGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.PolicyTrackedResourcesClient", "listQueryResultsForManagementGroupNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListQueryResultsForManagementGroupComplete enumerates all values, automatically crossing page boundaries as required. +func (client PolicyTrackedResourcesClient) ListQueryResultsForManagementGroupComplete(ctx context.Context, managementGroupName string, top *int32, filter string) (result PolicyTrackedResourcesQueryResultsIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PolicyTrackedResourcesClient.ListQueryResultsForManagementGroup") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListQueryResultsForManagementGroup(ctx, managementGroupName, top, filter) + return +} + +// ListQueryResultsForResource queries policy tracked resources under the resource. +// Parameters: +// resourceID - resource ID. +// top - maximum number of records to return. +// filter - oData filter expression. +func (client PolicyTrackedResourcesClient) ListQueryResultsForResource(ctx context.Context, resourceID string, top *int32, filter string) (result PolicyTrackedResourcesQueryResultsPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PolicyTrackedResourcesClient.ListQueryResultsForResource") + defer func() { + sc := -1 + if result.ptrqr.Response.Response != nil { + sc = result.ptrqr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: top, + Constraints: []validation.Constraint{{Target: "top", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "top", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}}}}}}); err != nil { + return result, validation.NewError("policyinsights.PolicyTrackedResourcesClient", "ListQueryResultsForResource", err.Error()) + } + + result.fn = client.listQueryResultsForResourceNextResults + req, err := client.ListQueryResultsForResourcePreparer(ctx, resourceID, top, filter) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.PolicyTrackedResourcesClient", "ListQueryResultsForResource", nil, "Failure preparing request") + return + } + + resp, err := client.ListQueryResultsForResourceSender(req) + if err != nil { + result.ptrqr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "policyinsights.PolicyTrackedResourcesClient", "ListQueryResultsForResource", resp, "Failure sending request") + return + } + + result.ptrqr, err = client.ListQueryResultsForResourceResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.PolicyTrackedResourcesClient", "ListQueryResultsForResource", resp, "Failure responding to request") + } + + return +} + +// ListQueryResultsForResourcePreparer prepares the ListQueryResultsForResource request. +func (client PolicyTrackedResourcesClient) ListQueryResultsForResourcePreparer(ctx context.Context, resourceID string, top *int32, filter string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "policyTrackedResourcesResource": autorest.Encode("path", "default"), + "resourceId": resourceID, + } + + const APIVersion = "2018-07-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if top != nil { + queryParameters["$top"] = autorest.Encode("query", *top) + } + if len(filter) > 0 { + queryParameters["$filter"] = autorest.Encode("query", filter) + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/{resourceId}/providers/Microsoft.PolicyInsights/policyTrackedResources/{policyTrackedResourcesResource}/queryResults", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListQueryResultsForResourceSender sends the ListQueryResultsForResource request. The method will close the +// http.Response Body if it receives an error. +func (client PolicyTrackedResourcesClient) ListQueryResultsForResourceSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListQueryResultsForResourceResponder handles the response to the ListQueryResultsForResource request. The method always +// closes the http.Response Body. +func (client PolicyTrackedResourcesClient) ListQueryResultsForResourceResponder(resp *http.Response) (result PolicyTrackedResourcesQueryResults, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listQueryResultsForResourceNextResults retrieves the next set of results, if any. +func (client PolicyTrackedResourcesClient) listQueryResultsForResourceNextResults(ctx context.Context, lastResults PolicyTrackedResourcesQueryResults) (result PolicyTrackedResourcesQueryResults, err error) { + req, err := lastResults.policyTrackedResourcesQueryResultsPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "policyinsights.PolicyTrackedResourcesClient", "listQueryResultsForResourceNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListQueryResultsForResourceSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "policyinsights.PolicyTrackedResourcesClient", "listQueryResultsForResourceNextResults", resp, "Failure sending next results request") + } + result, err = client.ListQueryResultsForResourceResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.PolicyTrackedResourcesClient", "listQueryResultsForResourceNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListQueryResultsForResourceComplete enumerates all values, automatically crossing page boundaries as required. +func (client PolicyTrackedResourcesClient) ListQueryResultsForResourceComplete(ctx context.Context, resourceID string, top *int32, filter string) (result PolicyTrackedResourcesQueryResultsIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PolicyTrackedResourcesClient.ListQueryResultsForResource") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListQueryResultsForResource(ctx, resourceID, top, filter) + return +} + +// ListQueryResultsForResourceGroup queries policy tracked resources under the resource group. +// Parameters: +// resourceGroupName - resource group name. +// subscriptionID - microsoft Azure subscription ID. +// top - maximum number of records to return. +// filter - oData filter expression. +func (client PolicyTrackedResourcesClient) ListQueryResultsForResourceGroup(ctx context.Context, resourceGroupName string, subscriptionID string, top *int32, filter string) (result PolicyTrackedResourcesQueryResultsPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PolicyTrackedResourcesClient.ListQueryResultsForResourceGroup") + defer func() { + sc := -1 + if result.ptrqr.Response.Response != nil { + sc = result.ptrqr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: top, + Constraints: []validation.Constraint{{Target: "top", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "top", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}}}}}}); err != nil { + return result, validation.NewError("policyinsights.PolicyTrackedResourcesClient", "ListQueryResultsForResourceGroup", err.Error()) + } + + result.fn = client.listQueryResultsForResourceGroupNextResults + req, err := client.ListQueryResultsForResourceGroupPreparer(ctx, resourceGroupName, subscriptionID, top, filter) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.PolicyTrackedResourcesClient", "ListQueryResultsForResourceGroup", nil, "Failure preparing request") + return + } + + resp, err := client.ListQueryResultsForResourceGroupSender(req) + if err != nil { + result.ptrqr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "policyinsights.PolicyTrackedResourcesClient", "ListQueryResultsForResourceGroup", resp, "Failure sending request") + return + } + + result.ptrqr, err = client.ListQueryResultsForResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.PolicyTrackedResourcesClient", "ListQueryResultsForResourceGroup", resp, "Failure responding to request") + } + + return +} + +// ListQueryResultsForResourceGroupPreparer prepares the ListQueryResultsForResourceGroup request. +func (client PolicyTrackedResourcesClient) ListQueryResultsForResourceGroupPreparer(ctx context.Context, resourceGroupName string, subscriptionID string, top *int32, filter string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "policyTrackedResourcesResource": autorest.Encode("path", "default"), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", subscriptionID), + } + + const APIVersion = "2018-07-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if top != nil { + queryParameters["$top"] = autorest.Encode("query", *top) + } + if len(filter) > 0 { + queryParameters["$filter"] = autorest.Encode("query", filter) + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PolicyInsights/policyTrackedResources/{policyTrackedResourcesResource}/queryResults", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListQueryResultsForResourceGroupSender sends the ListQueryResultsForResourceGroup request. The method will close the +// http.Response Body if it receives an error. +func (client PolicyTrackedResourcesClient) ListQueryResultsForResourceGroupSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListQueryResultsForResourceGroupResponder handles the response to the ListQueryResultsForResourceGroup request. The method always +// closes the http.Response Body. +func (client PolicyTrackedResourcesClient) ListQueryResultsForResourceGroupResponder(resp *http.Response) (result PolicyTrackedResourcesQueryResults, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listQueryResultsForResourceGroupNextResults retrieves the next set of results, if any. +func (client PolicyTrackedResourcesClient) listQueryResultsForResourceGroupNextResults(ctx context.Context, lastResults PolicyTrackedResourcesQueryResults) (result PolicyTrackedResourcesQueryResults, err error) { + req, err := lastResults.policyTrackedResourcesQueryResultsPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "policyinsights.PolicyTrackedResourcesClient", "listQueryResultsForResourceGroupNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListQueryResultsForResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "policyinsights.PolicyTrackedResourcesClient", "listQueryResultsForResourceGroupNextResults", resp, "Failure sending next results request") + } + result, err = client.ListQueryResultsForResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.PolicyTrackedResourcesClient", "listQueryResultsForResourceGroupNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListQueryResultsForResourceGroupComplete enumerates all values, automatically crossing page boundaries as required. +func (client PolicyTrackedResourcesClient) ListQueryResultsForResourceGroupComplete(ctx context.Context, resourceGroupName string, subscriptionID string, top *int32, filter string) (result PolicyTrackedResourcesQueryResultsIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PolicyTrackedResourcesClient.ListQueryResultsForResourceGroup") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListQueryResultsForResourceGroup(ctx, resourceGroupName, subscriptionID, top, filter) + return +} + +// ListQueryResultsForSubscription queries policy tracked resources under the subscription. +// Parameters: +// subscriptionID - microsoft Azure subscription ID. +// top - maximum number of records to return. +// filter - oData filter expression. +func (client PolicyTrackedResourcesClient) ListQueryResultsForSubscription(ctx context.Context, subscriptionID string, top *int32, filter string) (result PolicyTrackedResourcesQueryResultsPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PolicyTrackedResourcesClient.ListQueryResultsForSubscription") + defer func() { + sc := -1 + if result.ptrqr.Response.Response != nil { + sc = result.ptrqr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: top, + Constraints: []validation.Constraint{{Target: "top", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "top", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}}}}}}); err != nil { + return result, validation.NewError("policyinsights.PolicyTrackedResourcesClient", "ListQueryResultsForSubscription", err.Error()) + } + + result.fn = client.listQueryResultsForSubscriptionNextResults + req, err := client.ListQueryResultsForSubscriptionPreparer(ctx, subscriptionID, top, filter) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.PolicyTrackedResourcesClient", "ListQueryResultsForSubscription", nil, "Failure preparing request") + return + } + + resp, err := client.ListQueryResultsForSubscriptionSender(req) + if err != nil { + result.ptrqr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "policyinsights.PolicyTrackedResourcesClient", "ListQueryResultsForSubscription", resp, "Failure sending request") + return + } + + result.ptrqr, err = client.ListQueryResultsForSubscriptionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.PolicyTrackedResourcesClient", "ListQueryResultsForSubscription", resp, "Failure responding to request") + } + + return +} + +// ListQueryResultsForSubscriptionPreparer prepares the ListQueryResultsForSubscription request. +func (client PolicyTrackedResourcesClient) ListQueryResultsForSubscriptionPreparer(ctx context.Context, subscriptionID string, top *int32, filter string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "policyTrackedResourcesResource": autorest.Encode("path", "default"), + "subscriptionId": autorest.Encode("path", subscriptionID), + } + + const APIVersion = "2018-07-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if top != nil { + queryParameters["$top"] = autorest.Encode("query", *top) + } + if len(filter) > 0 { + queryParameters["$filter"] = autorest.Encode("query", filter) + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.PolicyInsights/policyTrackedResources/{policyTrackedResourcesResource}/queryResults", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListQueryResultsForSubscriptionSender sends the ListQueryResultsForSubscription request. The method will close the +// http.Response Body if it receives an error. +func (client PolicyTrackedResourcesClient) ListQueryResultsForSubscriptionSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListQueryResultsForSubscriptionResponder handles the response to the ListQueryResultsForSubscription request. The method always +// closes the http.Response Body. +func (client PolicyTrackedResourcesClient) ListQueryResultsForSubscriptionResponder(resp *http.Response) (result PolicyTrackedResourcesQueryResults, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listQueryResultsForSubscriptionNextResults retrieves the next set of results, if any. +func (client PolicyTrackedResourcesClient) listQueryResultsForSubscriptionNextResults(ctx context.Context, lastResults PolicyTrackedResourcesQueryResults) (result PolicyTrackedResourcesQueryResults, err error) { + req, err := lastResults.policyTrackedResourcesQueryResultsPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "policyinsights.PolicyTrackedResourcesClient", "listQueryResultsForSubscriptionNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListQueryResultsForSubscriptionSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "policyinsights.PolicyTrackedResourcesClient", "listQueryResultsForSubscriptionNextResults", resp, "Failure sending next results request") + } + result, err = client.ListQueryResultsForSubscriptionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.PolicyTrackedResourcesClient", "listQueryResultsForSubscriptionNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListQueryResultsForSubscriptionComplete enumerates all values, automatically crossing page boundaries as required. +func (client PolicyTrackedResourcesClient) ListQueryResultsForSubscriptionComplete(ctx context.Context, subscriptionID string, top *int32, filter string) (result PolicyTrackedResourcesQueryResultsIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PolicyTrackedResourcesClient.ListQueryResultsForSubscription") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListQueryResultsForSubscription(ctx, subscriptionID, top, filter) + return +} diff --git a/services/policyinsights/mgmt/2019-10-01/policyinsights/remediations.go b/services/policyinsights/mgmt/2019-10-01/policyinsights/remediations.go new file mode 100644 index 000000000000..84f777ab2c87 --- /dev/null +++ b/services/policyinsights/mgmt/2019-10-01/policyinsights/remediations.go @@ -0,0 +1,2308 @@ +package policyinsights + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// RemediationsClient is the client for the Remediations methods of the Policyinsights service. +type RemediationsClient struct { + BaseClient +} + +// NewRemediationsClient creates an instance of the RemediationsClient client. +func NewRemediationsClient() RemediationsClient { + return NewRemediationsClientWithBaseURI(DefaultBaseURI) +} + +// NewRemediationsClientWithBaseURI creates an instance of the RemediationsClient client. +func NewRemediationsClientWithBaseURI(baseURI string) RemediationsClient { + return RemediationsClient{NewWithBaseURI(baseURI)} +} + +// CancelAtManagementGroup cancels a remediation at management group scope. +// Parameters: +// managementGroupID - management group ID. +// remediationName - the name of the remediation. +func (client RemediationsClient) CancelAtManagementGroup(ctx context.Context, managementGroupID string, remediationName string) (result Remediation, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RemediationsClient.CancelAtManagementGroup") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CancelAtManagementGroupPreparer(ctx, managementGroupID, remediationName) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.RemediationsClient", "CancelAtManagementGroup", nil, "Failure preparing request") + return + } + + resp, err := client.CancelAtManagementGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "policyinsights.RemediationsClient", "CancelAtManagementGroup", resp, "Failure sending request") + return + } + + result, err = client.CancelAtManagementGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.RemediationsClient", "CancelAtManagementGroup", resp, "Failure responding to request") + } + + return +} + +// CancelAtManagementGroupPreparer prepares the CancelAtManagementGroup request. +func (client RemediationsClient) CancelAtManagementGroupPreparer(ctx context.Context, managementGroupID string, remediationName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "managementGroupId": autorest.Encode("path", managementGroupID), + "managementGroupsNamespace": autorest.Encode("path", "Microsoft.Management"), + "remediationName": autorest.Encode("path", remediationName), + } + + const APIVersion = "2018-07-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/providers/{managementGroupsNamespace}/managementGroups/{managementGroupId}/providers/Microsoft.PolicyInsights/remediations/{remediationName}/cancel", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CancelAtManagementGroupSender sends the CancelAtManagementGroup request. The method will close the +// http.Response Body if it receives an error. +func (client RemediationsClient) CancelAtManagementGroupSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// CancelAtManagementGroupResponder handles the response to the CancelAtManagementGroup request. The method always +// closes the http.Response Body. +func (client RemediationsClient) CancelAtManagementGroupResponder(resp *http.Response) (result Remediation, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// CancelAtResource cancel a remediation at resource scope. +// Parameters: +// resourceID - resource ID. +// remediationName - the name of the remediation. +func (client RemediationsClient) CancelAtResource(ctx context.Context, resourceID string, remediationName string) (result Remediation, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RemediationsClient.CancelAtResource") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CancelAtResourcePreparer(ctx, resourceID, remediationName) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.RemediationsClient", "CancelAtResource", nil, "Failure preparing request") + return + } + + resp, err := client.CancelAtResourceSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "policyinsights.RemediationsClient", "CancelAtResource", resp, "Failure sending request") + return + } + + result, err = client.CancelAtResourceResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.RemediationsClient", "CancelAtResource", resp, "Failure responding to request") + } + + return +} + +// CancelAtResourcePreparer prepares the CancelAtResource request. +func (client RemediationsClient) CancelAtResourcePreparer(ctx context.Context, resourceID string, remediationName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "remediationName": autorest.Encode("path", remediationName), + "resourceId": resourceID, + } + + const APIVersion = "2018-07-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/{resourceId}/providers/Microsoft.PolicyInsights/remediations/{remediationName}/cancel", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CancelAtResourceSender sends the CancelAtResource request. The method will close the +// http.Response Body if it receives an error. +func (client RemediationsClient) CancelAtResourceSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// CancelAtResourceResponder handles the response to the CancelAtResource request. The method always +// closes the http.Response Body. +func (client RemediationsClient) CancelAtResourceResponder(resp *http.Response) (result Remediation, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// CancelAtResourceGroup cancels a remediation at resource group scope. +// Parameters: +// subscriptionID - microsoft Azure subscription ID. +// resourceGroupName - resource group name. +// remediationName - the name of the remediation. +func (client RemediationsClient) CancelAtResourceGroup(ctx context.Context, subscriptionID string, resourceGroupName string, remediationName string) (result Remediation, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RemediationsClient.CancelAtResourceGroup") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CancelAtResourceGroupPreparer(ctx, subscriptionID, resourceGroupName, remediationName) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.RemediationsClient", "CancelAtResourceGroup", nil, "Failure preparing request") + return + } + + resp, err := client.CancelAtResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "policyinsights.RemediationsClient", "CancelAtResourceGroup", resp, "Failure sending request") + return + } + + result, err = client.CancelAtResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.RemediationsClient", "CancelAtResourceGroup", resp, "Failure responding to request") + } + + return +} + +// CancelAtResourceGroupPreparer prepares the CancelAtResourceGroup request. +func (client RemediationsClient) CancelAtResourceGroupPreparer(ctx context.Context, subscriptionID string, resourceGroupName string, remediationName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "remediationName": autorest.Encode("path", remediationName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", subscriptionID), + } + + const APIVersion = "2018-07-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PolicyInsights/remediations/{remediationName}/cancel", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CancelAtResourceGroupSender sends the CancelAtResourceGroup request. The method will close the +// http.Response Body if it receives an error. +func (client RemediationsClient) CancelAtResourceGroupSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CancelAtResourceGroupResponder handles the response to the CancelAtResourceGroup request. The method always +// closes the http.Response Body. +func (client RemediationsClient) CancelAtResourceGroupResponder(resp *http.Response) (result Remediation, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// CancelAtSubscription cancels a remediation at subscription scope. +// Parameters: +// subscriptionID - microsoft Azure subscription ID. +// remediationName - the name of the remediation. +func (client RemediationsClient) CancelAtSubscription(ctx context.Context, subscriptionID string, remediationName string) (result Remediation, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RemediationsClient.CancelAtSubscription") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CancelAtSubscriptionPreparer(ctx, subscriptionID, remediationName) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.RemediationsClient", "CancelAtSubscription", nil, "Failure preparing request") + return + } + + resp, err := client.CancelAtSubscriptionSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "policyinsights.RemediationsClient", "CancelAtSubscription", resp, "Failure sending request") + return + } + + result, err = client.CancelAtSubscriptionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.RemediationsClient", "CancelAtSubscription", resp, "Failure responding to request") + } + + return +} + +// CancelAtSubscriptionPreparer prepares the CancelAtSubscription request. +func (client RemediationsClient) CancelAtSubscriptionPreparer(ctx context.Context, subscriptionID string, remediationName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "remediationName": autorest.Encode("path", remediationName), + "subscriptionId": autorest.Encode("path", subscriptionID), + } + + const APIVersion = "2018-07-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.PolicyInsights/remediations/{remediationName}/cancel", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CancelAtSubscriptionSender sends the CancelAtSubscription request. The method will close the +// http.Response Body if it receives an error. +func (client RemediationsClient) CancelAtSubscriptionSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CancelAtSubscriptionResponder handles the response to the CancelAtSubscription request. The method always +// closes the http.Response Body. +func (client RemediationsClient) CancelAtSubscriptionResponder(resp *http.Response) (result Remediation, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// CreateOrUpdateAtManagementGroup creates or updates a remediation at management group scope. +// Parameters: +// managementGroupID - management group ID. +// remediationName - the name of the remediation. +// parameters - the remediation parameters. +func (client RemediationsClient) CreateOrUpdateAtManagementGroup(ctx context.Context, managementGroupID string, remediationName string, parameters Remediation) (result Remediation, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RemediationsClient.CreateOrUpdateAtManagementGroup") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdateAtManagementGroupPreparer(ctx, managementGroupID, remediationName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.RemediationsClient", "CreateOrUpdateAtManagementGroup", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateAtManagementGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "policyinsights.RemediationsClient", "CreateOrUpdateAtManagementGroup", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateAtManagementGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.RemediationsClient", "CreateOrUpdateAtManagementGroup", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdateAtManagementGroupPreparer prepares the CreateOrUpdateAtManagementGroup request. +func (client RemediationsClient) CreateOrUpdateAtManagementGroupPreparer(ctx context.Context, managementGroupID string, remediationName string, parameters Remediation) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "managementGroupId": autorest.Encode("path", managementGroupID), + "managementGroupsNamespace": autorest.Encode("path", "Microsoft.Management"), + "remediationName": autorest.Encode("path", remediationName), + } + + const APIVersion = "2018-07-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + parameters.ID = nil + parameters.Type = nil + parameters.Name = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/providers/{managementGroupsNamespace}/managementGroups/{managementGroupId}/providers/Microsoft.PolicyInsights/remediations/{remediationName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateAtManagementGroupSender sends the CreateOrUpdateAtManagementGroup request. The method will close the +// http.Response Body if it receives an error. +func (client RemediationsClient) CreateOrUpdateAtManagementGroupSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// CreateOrUpdateAtManagementGroupResponder handles the response to the CreateOrUpdateAtManagementGroup request. The method always +// closes the http.Response Body. +func (client RemediationsClient) CreateOrUpdateAtManagementGroupResponder(resp *http.Response) (result Remediation, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// CreateOrUpdateAtResource creates or updates a remediation at resource scope. +// Parameters: +// resourceID - resource ID. +// remediationName - the name of the remediation. +// parameters - the remediation parameters. +func (client RemediationsClient) CreateOrUpdateAtResource(ctx context.Context, resourceID string, remediationName string, parameters Remediation) (result Remediation, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RemediationsClient.CreateOrUpdateAtResource") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdateAtResourcePreparer(ctx, resourceID, remediationName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.RemediationsClient", "CreateOrUpdateAtResource", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateAtResourceSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "policyinsights.RemediationsClient", "CreateOrUpdateAtResource", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateAtResourceResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.RemediationsClient", "CreateOrUpdateAtResource", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdateAtResourcePreparer prepares the CreateOrUpdateAtResource request. +func (client RemediationsClient) CreateOrUpdateAtResourcePreparer(ctx context.Context, resourceID string, remediationName string, parameters Remediation) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "remediationName": autorest.Encode("path", remediationName), + "resourceId": resourceID, + } + + const APIVersion = "2018-07-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + parameters.ID = nil + parameters.Type = nil + parameters.Name = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/{resourceId}/providers/Microsoft.PolicyInsights/remediations/{remediationName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateAtResourceSender sends the CreateOrUpdateAtResource request. The method will close the +// http.Response Body if it receives an error. +func (client RemediationsClient) CreateOrUpdateAtResourceSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// CreateOrUpdateAtResourceResponder handles the response to the CreateOrUpdateAtResource request. The method always +// closes the http.Response Body. +func (client RemediationsClient) CreateOrUpdateAtResourceResponder(resp *http.Response) (result Remediation, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// CreateOrUpdateAtResourceGroup creates or updates a remediation at resource group scope. +// Parameters: +// subscriptionID - microsoft Azure subscription ID. +// resourceGroupName - resource group name. +// remediationName - the name of the remediation. +// parameters - the remediation parameters. +func (client RemediationsClient) CreateOrUpdateAtResourceGroup(ctx context.Context, subscriptionID string, resourceGroupName string, remediationName string, parameters Remediation) (result Remediation, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RemediationsClient.CreateOrUpdateAtResourceGroup") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdateAtResourceGroupPreparer(ctx, subscriptionID, resourceGroupName, remediationName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.RemediationsClient", "CreateOrUpdateAtResourceGroup", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateAtResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "policyinsights.RemediationsClient", "CreateOrUpdateAtResourceGroup", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateAtResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.RemediationsClient", "CreateOrUpdateAtResourceGroup", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdateAtResourceGroupPreparer prepares the CreateOrUpdateAtResourceGroup request. +func (client RemediationsClient) CreateOrUpdateAtResourceGroupPreparer(ctx context.Context, subscriptionID string, resourceGroupName string, remediationName string, parameters Remediation) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "remediationName": autorest.Encode("path", remediationName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", subscriptionID), + } + + const APIVersion = "2018-07-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + parameters.ID = nil + parameters.Type = nil + parameters.Name = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PolicyInsights/remediations/{remediationName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateAtResourceGroupSender sends the CreateOrUpdateAtResourceGroup request. The method will close the +// http.Response Body if it receives an error. +func (client RemediationsClient) CreateOrUpdateAtResourceGroupSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CreateOrUpdateAtResourceGroupResponder handles the response to the CreateOrUpdateAtResourceGroup request. The method always +// closes the http.Response Body. +func (client RemediationsClient) CreateOrUpdateAtResourceGroupResponder(resp *http.Response) (result Remediation, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// CreateOrUpdateAtSubscription creates or updates a remediation at subscription scope. +// Parameters: +// subscriptionID - microsoft Azure subscription ID. +// remediationName - the name of the remediation. +// parameters - the remediation parameters. +func (client RemediationsClient) CreateOrUpdateAtSubscription(ctx context.Context, subscriptionID string, remediationName string, parameters Remediation) (result Remediation, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RemediationsClient.CreateOrUpdateAtSubscription") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdateAtSubscriptionPreparer(ctx, subscriptionID, remediationName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.RemediationsClient", "CreateOrUpdateAtSubscription", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateAtSubscriptionSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "policyinsights.RemediationsClient", "CreateOrUpdateAtSubscription", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateAtSubscriptionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.RemediationsClient", "CreateOrUpdateAtSubscription", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdateAtSubscriptionPreparer prepares the CreateOrUpdateAtSubscription request. +func (client RemediationsClient) CreateOrUpdateAtSubscriptionPreparer(ctx context.Context, subscriptionID string, remediationName string, parameters Remediation) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "remediationName": autorest.Encode("path", remediationName), + "subscriptionId": autorest.Encode("path", subscriptionID), + } + + const APIVersion = "2018-07-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + parameters.ID = nil + parameters.Type = nil + parameters.Name = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.PolicyInsights/remediations/{remediationName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateAtSubscriptionSender sends the CreateOrUpdateAtSubscription request. The method will close the +// http.Response Body if it receives an error. +func (client RemediationsClient) CreateOrUpdateAtSubscriptionSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CreateOrUpdateAtSubscriptionResponder handles the response to the CreateOrUpdateAtSubscription request. The method always +// closes the http.Response Body. +func (client RemediationsClient) CreateOrUpdateAtSubscriptionResponder(resp *http.Response) (result Remediation, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// DeleteAtManagementGroup deletes an existing remediation at management group scope. +// Parameters: +// managementGroupID - management group ID. +// remediationName - the name of the remediation. +func (client RemediationsClient) DeleteAtManagementGroup(ctx context.Context, managementGroupID string, remediationName string) (result Remediation, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RemediationsClient.DeleteAtManagementGroup") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeleteAtManagementGroupPreparer(ctx, managementGroupID, remediationName) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.RemediationsClient", "DeleteAtManagementGroup", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteAtManagementGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "policyinsights.RemediationsClient", "DeleteAtManagementGroup", resp, "Failure sending request") + return + } + + result, err = client.DeleteAtManagementGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.RemediationsClient", "DeleteAtManagementGroup", resp, "Failure responding to request") + } + + return +} + +// DeleteAtManagementGroupPreparer prepares the DeleteAtManagementGroup request. +func (client RemediationsClient) DeleteAtManagementGroupPreparer(ctx context.Context, managementGroupID string, remediationName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "managementGroupId": autorest.Encode("path", managementGroupID), + "managementGroupsNamespace": autorest.Encode("path", "Microsoft.Management"), + "remediationName": autorest.Encode("path", remediationName), + } + + const APIVersion = "2018-07-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/providers/{managementGroupsNamespace}/managementGroups/{managementGroupId}/providers/Microsoft.PolicyInsights/remediations/{remediationName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteAtManagementGroupSender sends the DeleteAtManagementGroup request. The method will close the +// http.Response Body if it receives an error. +func (client RemediationsClient) DeleteAtManagementGroupSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeleteAtManagementGroupResponder handles the response to the DeleteAtManagementGroup request. The method always +// closes the http.Response Body. +func (client RemediationsClient) DeleteAtManagementGroupResponder(resp *http.Response) (result Remediation, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// DeleteAtResource deletes an existing remediation at individual resource scope. +// Parameters: +// resourceID - resource ID. +// remediationName - the name of the remediation. +func (client RemediationsClient) DeleteAtResource(ctx context.Context, resourceID string, remediationName string) (result Remediation, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RemediationsClient.DeleteAtResource") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeleteAtResourcePreparer(ctx, resourceID, remediationName) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.RemediationsClient", "DeleteAtResource", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteAtResourceSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "policyinsights.RemediationsClient", "DeleteAtResource", resp, "Failure sending request") + return + } + + result, err = client.DeleteAtResourceResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.RemediationsClient", "DeleteAtResource", resp, "Failure responding to request") + } + + return +} + +// DeleteAtResourcePreparer prepares the DeleteAtResource request. +func (client RemediationsClient) DeleteAtResourcePreparer(ctx context.Context, resourceID string, remediationName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "remediationName": autorest.Encode("path", remediationName), + "resourceId": resourceID, + } + + const APIVersion = "2018-07-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/{resourceId}/providers/Microsoft.PolicyInsights/remediations/{remediationName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteAtResourceSender sends the DeleteAtResource request. The method will close the +// http.Response Body if it receives an error. +func (client RemediationsClient) DeleteAtResourceSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeleteAtResourceResponder handles the response to the DeleteAtResource request. The method always +// closes the http.Response Body. +func (client RemediationsClient) DeleteAtResourceResponder(resp *http.Response) (result Remediation, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// DeleteAtResourceGroup deletes an existing remediation at resource group scope. +// Parameters: +// subscriptionID - microsoft Azure subscription ID. +// resourceGroupName - resource group name. +// remediationName - the name of the remediation. +func (client RemediationsClient) DeleteAtResourceGroup(ctx context.Context, subscriptionID string, resourceGroupName string, remediationName string) (result Remediation, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RemediationsClient.DeleteAtResourceGroup") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeleteAtResourceGroupPreparer(ctx, subscriptionID, resourceGroupName, remediationName) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.RemediationsClient", "DeleteAtResourceGroup", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteAtResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "policyinsights.RemediationsClient", "DeleteAtResourceGroup", resp, "Failure sending request") + return + } + + result, err = client.DeleteAtResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.RemediationsClient", "DeleteAtResourceGroup", resp, "Failure responding to request") + } + + return +} + +// DeleteAtResourceGroupPreparer prepares the DeleteAtResourceGroup request. +func (client RemediationsClient) DeleteAtResourceGroupPreparer(ctx context.Context, subscriptionID string, resourceGroupName string, remediationName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "remediationName": autorest.Encode("path", remediationName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", subscriptionID), + } + + const APIVersion = "2018-07-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PolicyInsights/remediations/{remediationName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteAtResourceGroupSender sends the DeleteAtResourceGroup request. The method will close the +// http.Response Body if it receives an error. +func (client RemediationsClient) DeleteAtResourceGroupSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeleteAtResourceGroupResponder handles the response to the DeleteAtResourceGroup request. The method always +// closes the http.Response Body. +func (client RemediationsClient) DeleteAtResourceGroupResponder(resp *http.Response) (result Remediation, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// DeleteAtSubscription deletes an existing remediation at subscription scope. +// Parameters: +// subscriptionID - microsoft Azure subscription ID. +// remediationName - the name of the remediation. +func (client RemediationsClient) DeleteAtSubscription(ctx context.Context, subscriptionID string, remediationName string) (result Remediation, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RemediationsClient.DeleteAtSubscription") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeleteAtSubscriptionPreparer(ctx, subscriptionID, remediationName) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.RemediationsClient", "DeleteAtSubscription", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteAtSubscriptionSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "policyinsights.RemediationsClient", "DeleteAtSubscription", resp, "Failure sending request") + return + } + + result, err = client.DeleteAtSubscriptionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.RemediationsClient", "DeleteAtSubscription", resp, "Failure responding to request") + } + + return +} + +// DeleteAtSubscriptionPreparer prepares the DeleteAtSubscription request. +func (client RemediationsClient) DeleteAtSubscriptionPreparer(ctx context.Context, subscriptionID string, remediationName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "remediationName": autorest.Encode("path", remediationName), + "subscriptionId": autorest.Encode("path", subscriptionID), + } + + const APIVersion = "2018-07-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.PolicyInsights/remediations/{remediationName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteAtSubscriptionSender sends the DeleteAtSubscription request. The method will close the +// http.Response Body if it receives an error. +func (client RemediationsClient) DeleteAtSubscriptionSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeleteAtSubscriptionResponder handles the response to the DeleteAtSubscription request. The method always +// closes the http.Response Body. +func (client RemediationsClient) DeleteAtSubscriptionResponder(resp *http.Response) (result Remediation, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetAtManagementGroup gets an existing remediation at management group scope. +// Parameters: +// managementGroupID - management group ID. +// remediationName - the name of the remediation. +func (client RemediationsClient) GetAtManagementGroup(ctx context.Context, managementGroupID string, remediationName string) (result Remediation, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RemediationsClient.GetAtManagementGroup") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetAtManagementGroupPreparer(ctx, managementGroupID, remediationName) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.RemediationsClient", "GetAtManagementGroup", nil, "Failure preparing request") + return + } + + resp, err := client.GetAtManagementGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "policyinsights.RemediationsClient", "GetAtManagementGroup", resp, "Failure sending request") + return + } + + result, err = client.GetAtManagementGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.RemediationsClient", "GetAtManagementGroup", resp, "Failure responding to request") + } + + return +} + +// GetAtManagementGroupPreparer prepares the GetAtManagementGroup request. +func (client RemediationsClient) GetAtManagementGroupPreparer(ctx context.Context, managementGroupID string, remediationName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "managementGroupId": autorest.Encode("path", managementGroupID), + "managementGroupsNamespace": autorest.Encode("path", "Microsoft.Management"), + "remediationName": autorest.Encode("path", remediationName), + } + + const APIVersion = "2018-07-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/providers/{managementGroupsNamespace}/managementGroups/{managementGroupId}/providers/Microsoft.PolicyInsights/remediations/{remediationName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetAtManagementGroupSender sends the GetAtManagementGroup request. The method will close the +// http.Response Body if it receives an error. +func (client RemediationsClient) GetAtManagementGroupSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetAtManagementGroupResponder handles the response to the GetAtManagementGroup request. The method always +// closes the http.Response Body. +func (client RemediationsClient) GetAtManagementGroupResponder(resp *http.Response) (result Remediation, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetAtResource gets an existing remediation at resource scope. +// Parameters: +// resourceID - resource ID. +// remediationName - the name of the remediation. +func (client RemediationsClient) GetAtResource(ctx context.Context, resourceID string, remediationName string) (result Remediation, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RemediationsClient.GetAtResource") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetAtResourcePreparer(ctx, resourceID, remediationName) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.RemediationsClient", "GetAtResource", nil, "Failure preparing request") + return + } + + resp, err := client.GetAtResourceSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "policyinsights.RemediationsClient", "GetAtResource", resp, "Failure sending request") + return + } + + result, err = client.GetAtResourceResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.RemediationsClient", "GetAtResource", resp, "Failure responding to request") + } + + return +} + +// GetAtResourcePreparer prepares the GetAtResource request. +func (client RemediationsClient) GetAtResourcePreparer(ctx context.Context, resourceID string, remediationName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "remediationName": autorest.Encode("path", remediationName), + "resourceId": resourceID, + } + + const APIVersion = "2018-07-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/{resourceId}/providers/Microsoft.PolicyInsights/remediations/{remediationName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetAtResourceSender sends the GetAtResource request. The method will close the +// http.Response Body if it receives an error. +func (client RemediationsClient) GetAtResourceSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetAtResourceResponder handles the response to the GetAtResource request. The method always +// closes the http.Response Body. +func (client RemediationsClient) GetAtResourceResponder(resp *http.Response) (result Remediation, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetAtResourceGroup gets an existing remediation at resource group scope. +// Parameters: +// subscriptionID - microsoft Azure subscription ID. +// resourceGroupName - resource group name. +// remediationName - the name of the remediation. +func (client RemediationsClient) GetAtResourceGroup(ctx context.Context, subscriptionID string, resourceGroupName string, remediationName string) (result Remediation, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RemediationsClient.GetAtResourceGroup") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetAtResourceGroupPreparer(ctx, subscriptionID, resourceGroupName, remediationName) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.RemediationsClient", "GetAtResourceGroup", nil, "Failure preparing request") + return + } + + resp, err := client.GetAtResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "policyinsights.RemediationsClient", "GetAtResourceGroup", resp, "Failure sending request") + return + } + + result, err = client.GetAtResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.RemediationsClient", "GetAtResourceGroup", resp, "Failure responding to request") + } + + return +} + +// GetAtResourceGroupPreparer prepares the GetAtResourceGroup request. +func (client RemediationsClient) GetAtResourceGroupPreparer(ctx context.Context, subscriptionID string, resourceGroupName string, remediationName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "remediationName": autorest.Encode("path", remediationName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", subscriptionID), + } + + const APIVersion = "2018-07-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PolicyInsights/remediations/{remediationName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetAtResourceGroupSender sends the GetAtResourceGroup request. The method will close the +// http.Response Body if it receives an error. +func (client RemediationsClient) GetAtResourceGroupSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetAtResourceGroupResponder handles the response to the GetAtResourceGroup request. The method always +// closes the http.Response Body. +func (client RemediationsClient) GetAtResourceGroupResponder(resp *http.Response) (result Remediation, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetAtSubscription gets an existing remediation at subscription scope. +// Parameters: +// subscriptionID - microsoft Azure subscription ID. +// remediationName - the name of the remediation. +func (client RemediationsClient) GetAtSubscription(ctx context.Context, subscriptionID string, remediationName string) (result Remediation, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RemediationsClient.GetAtSubscription") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetAtSubscriptionPreparer(ctx, subscriptionID, remediationName) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.RemediationsClient", "GetAtSubscription", nil, "Failure preparing request") + return + } + + resp, err := client.GetAtSubscriptionSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "policyinsights.RemediationsClient", "GetAtSubscription", resp, "Failure sending request") + return + } + + result, err = client.GetAtSubscriptionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.RemediationsClient", "GetAtSubscription", resp, "Failure responding to request") + } + + return +} + +// GetAtSubscriptionPreparer prepares the GetAtSubscription request. +func (client RemediationsClient) GetAtSubscriptionPreparer(ctx context.Context, subscriptionID string, remediationName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "remediationName": autorest.Encode("path", remediationName), + "subscriptionId": autorest.Encode("path", subscriptionID), + } + + const APIVersion = "2018-07-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.PolicyInsights/remediations/{remediationName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetAtSubscriptionSender sends the GetAtSubscription request. The method will close the +// http.Response Body if it receives an error. +func (client RemediationsClient) GetAtSubscriptionSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetAtSubscriptionResponder handles the response to the GetAtSubscription request. The method always +// closes the http.Response Body. +func (client RemediationsClient) GetAtSubscriptionResponder(resp *http.Response) (result Remediation, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListDeploymentsAtManagementGroup gets all deployments for a remediation at management group scope. +// Parameters: +// managementGroupID - management group ID. +// remediationName - the name of the remediation. +// top - maximum number of records to return. +func (client RemediationsClient) ListDeploymentsAtManagementGroup(ctx context.Context, managementGroupID string, remediationName string, top *int32) (result RemediationDeploymentsListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RemediationsClient.ListDeploymentsAtManagementGroup") + defer func() { + sc := -1 + if result.rdlr.Response.Response != nil { + sc = result.rdlr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: top, + Constraints: []validation.Constraint{{Target: "top", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "top", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}}}}}}); err != nil { + return result, validation.NewError("policyinsights.RemediationsClient", "ListDeploymentsAtManagementGroup", err.Error()) + } + + result.fn = client.listDeploymentsAtManagementGroupNextResults + req, err := client.ListDeploymentsAtManagementGroupPreparer(ctx, managementGroupID, remediationName, top) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.RemediationsClient", "ListDeploymentsAtManagementGroup", nil, "Failure preparing request") + return + } + + resp, err := client.ListDeploymentsAtManagementGroupSender(req) + if err != nil { + result.rdlr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "policyinsights.RemediationsClient", "ListDeploymentsAtManagementGroup", resp, "Failure sending request") + return + } + + result.rdlr, err = client.ListDeploymentsAtManagementGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.RemediationsClient", "ListDeploymentsAtManagementGroup", resp, "Failure responding to request") + } + + return +} + +// ListDeploymentsAtManagementGroupPreparer prepares the ListDeploymentsAtManagementGroup request. +func (client RemediationsClient) ListDeploymentsAtManagementGroupPreparer(ctx context.Context, managementGroupID string, remediationName string, top *int32) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "managementGroupId": autorest.Encode("path", managementGroupID), + "managementGroupsNamespace": autorest.Encode("path", "Microsoft.Management"), + "remediationName": autorest.Encode("path", remediationName), + } + + const APIVersion = "2018-07-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if top != nil { + queryParameters["$top"] = autorest.Encode("query", *top) + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/providers/{managementGroupsNamespace}/managementGroups/{managementGroupId}/providers/Microsoft.PolicyInsights/remediations/{remediationName}/listDeployments", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListDeploymentsAtManagementGroupSender sends the ListDeploymentsAtManagementGroup request. The method will close the +// http.Response Body if it receives an error. +func (client RemediationsClient) ListDeploymentsAtManagementGroupSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListDeploymentsAtManagementGroupResponder handles the response to the ListDeploymentsAtManagementGroup request. The method always +// closes the http.Response Body. +func (client RemediationsClient) ListDeploymentsAtManagementGroupResponder(resp *http.Response) (result RemediationDeploymentsListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listDeploymentsAtManagementGroupNextResults retrieves the next set of results, if any. +func (client RemediationsClient) listDeploymentsAtManagementGroupNextResults(ctx context.Context, lastResults RemediationDeploymentsListResult) (result RemediationDeploymentsListResult, err error) { + req, err := lastResults.remediationDeploymentsListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "policyinsights.RemediationsClient", "listDeploymentsAtManagementGroupNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListDeploymentsAtManagementGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "policyinsights.RemediationsClient", "listDeploymentsAtManagementGroupNextResults", resp, "Failure sending next results request") + } + result, err = client.ListDeploymentsAtManagementGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.RemediationsClient", "listDeploymentsAtManagementGroupNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListDeploymentsAtManagementGroupComplete enumerates all values, automatically crossing page boundaries as required. +func (client RemediationsClient) ListDeploymentsAtManagementGroupComplete(ctx context.Context, managementGroupID string, remediationName string, top *int32) (result RemediationDeploymentsListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RemediationsClient.ListDeploymentsAtManagementGroup") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListDeploymentsAtManagementGroup(ctx, managementGroupID, remediationName, top) + return +} + +// ListDeploymentsAtResource gets all deployments for a remediation at resource scope. +// Parameters: +// resourceID - resource ID. +// remediationName - the name of the remediation. +// top - maximum number of records to return. +func (client RemediationsClient) ListDeploymentsAtResource(ctx context.Context, resourceID string, remediationName string, top *int32) (result RemediationDeploymentsListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RemediationsClient.ListDeploymentsAtResource") + defer func() { + sc := -1 + if result.rdlr.Response.Response != nil { + sc = result.rdlr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: top, + Constraints: []validation.Constraint{{Target: "top", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "top", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}}}}}}); err != nil { + return result, validation.NewError("policyinsights.RemediationsClient", "ListDeploymentsAtResource", err.Error()) + } + + result.fn = client.listDeploymentsAtResourceNextResults + req, err := client.ListDeploymentsAtResourcePreparer(ctx, resourceID, remediationName, top) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.RemediationsClient", "ListDeploymentsAtResource", nil, "Failure preparing request") + return + } + + resp, err := client.ListDeploymentsAtResourceSender(req) + if err != nil { + result.rdlr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "policyinsights.RemediationsClient", "ListDeploymentsAtResource", resp, "Failure sending request") + return + } + + result.rdlr, err = client.ListDeploymentsAtResourceResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.RemediationsClient", "ListDeploymentsAtResource", resp, "Failure responding to request") + } + + return +} + +// ListDeploymentsAtResourcePreparer prepares the ListDeploymentsAtResource request. +func (client RemediationsClient) ListDeploymentsAtResourcePreparer(ctx context.Context, resourceID string, remediationName string, top *int32) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "remediationName": autorest.Encode("path", remediationName), + "resourceId": resourceID, + } + + const APIVersion = "2018-07-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if top != nil { + queryParameters["$top"] = autorest.Encode("query", *top) + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/{resourceId}/providers/Microsoft.PolicyInsights/remediations/{remediationName}/listDeployments", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListDeploymentsAtResourceSender sends the ListDeploymentsAtResource request. The method will close the +// http.Response Body if it receives an error. +func (client RemediationsClient) ListDeploymentsAtResourceSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListDeploymentsAtResourceResponder handles the response to the ListDeploymentsAtResource request. The method always +// closes the http.Response Body. +func (client RemediationsClient) ListDeploymentsAtResourceResponder(resp *http.Response) (result RemediationDeploymentsListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listDeploymentsAtResourceNextResults retrieves the next set of results, if any. +func (client RemediationsClient) listDeploymentsAtResourceNextResults(ctx context.Context, lastResults RemediationDeploymentsListResult) (result RemediationDeploymentsListResult, err error) { + req, err := lastResults.remediationDeploymentsListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "policyinsights.RemediationsClient", "listDeploymentsAtResourceNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListDeploymentsAtResourceSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "policyinsights.RemediationsClient", "listDeploymentsAtResourceNextResults", resp, "Failure sending next results request") + } + result, err = client.ListDeploymentsAtResourceResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.RemediationsClient", "listDeploymentsAtResourceNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListDeploymentsAtResourceComplete enumerates all values, automatically crossing page boundaries as required. +func (client RemediationsClient) ListDeploymentsAtResourceComplete(ctx context.Context, resourceID string, remediationName string, top *int32) (result RemediationDeploymentsListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RemediationsClient.ListDeploymentsAtResource") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListDeploymentsAtResource(ctx, resourceID, remediationName, top) + return +} + +// ListDeploymentsAtResourceGroup gets all deployments for a remediation at resource group scope. +// Parameters: +// subscriptionID - microsoft Azure subscription ID. +// resourceGroupName - resource group name. +// remediationName - the name of the remediation. +// top - maximum number of records to return. +func (client RemediationsClient) ListDeploymentsAtResourceGroup(ctx context.Context, subscriptionID string, resourceGroupName string, remediationName string, top *int32) (result RemediationDeploymentsListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RemediationsClient.ListDeploymentsAtResourceGroup") + defer func() { + sc := -1 + if result.rdlr.Response.Response != nil { + sc = result.rdlr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: top, + Constraints: []validation.Constraint{{Target: "top", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "top", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}}}}}}); err != nil { + return result, validation.NewError("policyinsights.RemediationsClient", "ListDeploymentsAtResourceGroup", err.Error()) + } + + result.fn = client.listDeploymentsAtResourceGroupNextResults + req, err := client.ListDeploymentsAtResourceGroupPreparer(ctx, subscriptionID, resourceGroupName, remediationName, top) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.RemediationsClient", "ListDeploymentsAtResourceGroup", nil, "Failure preparing request") + return + } + + resp, err := client.ListDeploymentsAtResourceGroupSender(req) + if err != nil { + result.rdlr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "policyinsights.RemediationsClient", "ListDeploymentsAtResourceGroup", resp, "Failure sending request") + return + } + + result.rdlr, err = client.ListDeploymentsAtResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.RemediationsClient", "ListDeploymentsAtResourceGroup", resp, "Failure responding to request") + } + + return +} + +// ListDeploymentsAtResourceGroupPreparer prepares the ListDeploymentsAtResourceGroup request. +func (client RemediationsClient) ListDeploymentsAtResourceGroupPreparer(ctx context.Context, subscriptionID string, resourceGroupName string, remediationName string, top *int32) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "remediationName": autorest.Encode("path", remediationName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", subscriptionID), + } + + const APIVersion = "2018-07-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if top != nil { + queryParameters["$top"] = autorest.Encode("query", *top) + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PolicyInsights/remediations/{remediationName}/listDeployments", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListDeploymentsAtResourceGroupSender sends the ListDeploymentsAtResourceGroup request. The method will close the +// http.Response Body if it receives an error. +func (client RemediationsClient) ListDeploymentsAtResourceGroupSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListDeploymentsAtResourceGroupResponder handles the response to the ListDeploymentsAtResourceGroup request. The method always +// closes the http.Response Body. +func (client RemediationsClient) ListDeploymentsAtResourceGroupResponder(resp *http.Response) (result RemediationDeploymentsListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listDeploymentsAtResourceGroupNextResults retrieves the next set of results, if any. +func (client RemediationsClient) listDeploymentsAtResourceGroupNextResults(ctx context.Context, lastResults RemediationDeploymentsListResult) (result RemediationDeploymentsListResult, err error) { + req, err := lastResults.remediationDeploymentsListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "policyinsights.RemediationsClient", "listDeploymentsAtResourceGroupNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListDeploymentsAtResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "policyinsights.RemediationsClient", "listDeploymentsAtResourceGroupNextResults", resp, "Failure sending next results request") + } + result, err = client.ListDeploymentsAtResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.RemediationsClient", "listDeploymentsAtResourceGroupNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListDeploymentsAtResourceGroupComplete enumerates all values, automatically crossing page boundaries as required. +func (client RemediationsClient) ListDeploymentsAtResourceGroupComplete(ctx context.Context, subscriptionID string, resourceGroupName string, remediationName string, top *int32) (result RemediationDeploymentsListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RemediationsClient.ListDeploymentsAtResourceGroup") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListDeploymentsAtResourceGroup(ctx, subscriptionID, resourceGroupName, remediationName, top) + return +} + +// ListDeploymentsAtSubscription gets all deployments for a remediation at subscription scope. +// Parameters: +// subscriptionID - microsoft Azure subscription ID. +// remediationName - the name of the remediation. +// top - maximum number of records to return. +func (client RemediationsClient) ListDeploymentsAtSubscription(ctx context.Context, subscriptionID string, remediationName string, top *int32) (result RemediationDeploymentsListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RemediationsClient.ListDeploymentsAtSubscription") + defer func() { + sc := -1 + if result.rdlr.Response.Response != nil { + sc = result.rdlr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: top, + Constraints: []validation.Constraint{{Target: "top", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "top", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}}}}}}); err != nil { + return result, validation.NewError("policyinsights.RemediationsClient", "ListDeploymentsAtSubscription", err.Error()) + } + + result.fn = client.listDeploymentsAtSubscriptionNextResults + req, err := client.ListDeploymentsAtSubscriptionPreparer(ctx, subscriptionID, remediationName, top) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.RemediationsClient", "ListDeploymentsAtSubscription", nil, "Failure preparing request") + return + } + + resp, err := client.ListDeploymentsAtSubscriptionSender(req) + if err != nil { + result.rdlr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "policyinsights.RemediationsClient", "ListDeploymentsAtSubscription", resp, "Failure sending request") + return + } + + result.rdlr, err = client.ListDeploymentsAtSubscriptionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.RemediationsClient", "ListDeploymentsAtSubscription", resp, "Failure responding to request") + } + + return +} + +// ListDeploymentsAtSubscriptionPreparer prepares the ListDeploymentsAtSubscription request. +func (client RemediationsClient) ListDeploymentsAtSubscriptionPreparer(ctx context.Context, subscriptionID string, remediationName string, top *int32) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "remediationName": autorest.Encode("path", remediationName), + "subscriptionId": autorest.Encode("path", subscriptionID), + } + + const APIVersion = "2018-07-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if top != nil { + queryParameters["$top"] = autorest.Encode("query", *top) + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.PolicyInsights/remediations/{remediationName}/listDeployments", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListDeploymentsAtSubscriptionSender sends the ListDeploymentsAtSubscription request. The method will close the +// http.Response Body if it receives an error. +func (client RemediationsClient) ListDeploymentsAtSubscriptionSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListDeploymentsAtSubscriptionResponder handles the response to the ListDeploymentsAtSubscription request. The method always +// closes the http.Response Body. +func (client RemediationsClient) ListDeploymentsAtSubscriptionResponder(resp *http.Response) (result RemediationDeploymentsListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listDeploymentsAtSubscriptionNextResults retrieves the next set of results, if any. +func (client RemediationsClient) listDeploymentsAtSubscriptionNextResults(ctx context.Context, lastResults RemediationDeploymentsListResult) (result RemediationDeploymentsListResult, err error) { + req, err := lastResults.remediationDeploymentsListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "policyinsights.RemediationsClient", "listDeploymentsAtSubscriptionNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListDeploymentsAtSubscriptionSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "policyinsights.RemediationsClient", "listDeploymentsAtSubscriptionNextResults", resp, "Failure sending next results request") + } + result, err = client.ListDeploymentsAtSubscriptionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.RemediationsClient", "listDeploymentsAtSubscriptionNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListDeploymentsAtSubscriptionComplete enumerates all values, automatically crossing page boundaries as required. +func (client RemediationsClient) ListDeploymentsAtSubscriptionComplete(ctx context.Context, subscriptionID string, remediationName string, top *int32) (result RemediationDeploymentsListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RemediationsClient.ListDeploymentsAtSubscription") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListDeploymentsAtSubscription(ctx, subscriptionID, remediationName, top) + return +} + +// ListForManagementGroup gets all remediations for the management group. +// Parameters: +// managementGroupID - management group ID. +// top - maximum number of records to return. +// filter - oData filter expression. +func (client RemediationsClient) ListForManagementGroup(ctx context.Context, managementGroupID string, top *int32, filter string) (result RemediationListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RemediationsClient.ListForManagementGroup") + defer func() { + sc := -1 + if result.rlr.Response.Response != nil { + sc = result.rlr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: top, + Constraints: []validation.Constraint{{Target: "top", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "top", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}}}}}}); err != nil { + return result, validation.NewError("policyinsights.RemediationsClient", "ListForManagementGroup", err.Error()) + } + + result.fn = client.listForManagementGroupNextResults + req, err := client.ListForManagementGroupPreparer(ctx, managementGroupID, top, filter) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.RemediationsClient", "ListForManagementGroup", nil, "Failure preparing request") + return + } + + resp, err := client.ListForManagementGroupSender(req) + if err != nil { + result.rlr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "policyinsights.RemediationsClient", "ListForManagementGroup", resp, "Failure sending request") + return + } + + result.rlr, err = client.ListForManagementGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.RemediationsClient", "ListForManagementGroup", resp, "Failure responding to request") + } + + return +} + +// ListForManagementGroupPreparer prepares the ListForManagementGroup request. +func (client RemediationsClient) ListForManagementGroupPreparer(ctx context.Context, managementGroupID string, top *int32, filter string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "managementGroupId": autorest.Encode("path", managementGroupID), + "managementGroupsNamespace": autorest.Encode("path", "Microsoft.Management"), + } + + const APIVersion = "2018-07-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if top != nil { + queryParameters["$top"] = autorest.Encode("query", *top) + } + if len(filter) > 0 { + queryParameters["$filter"] = autorest.Encode("query", filter) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/providers/{managementGroupsNamespace}/managementGroups/{managementGroupId}/providers/Microsoft.PolicyInsights/remediations", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListForManagementGroupSender sends the ListForManagementGroup request. The method will close the +// http.Response Body if it receives an error. +func (client RemediationsClient) ListForManagementGroupSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListForManagementGroupResponder handles the response to the ListForManagementGroup request. The method always +// closes the http.Response Body. +func (client RemediationsClient) ListForManagementGroupResponder(resp *http.Response) (result RemediationListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listForManagementGroupNextResults retrieves the next set of results, if any. +func (client RemediationsClient) listForManagementGroupNextResults(ctx context.Context, lastResults RemediationListResult) (result RemediationListResult, err error) { + req, err := lastResults.remediationListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "policyinsights.RemediationsClient", "listForManagementGroupNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListForManagementGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "policyinsights.RemediationsClient", "listForManagementGroupNextResults", resp, "Failure sending next results request") + } + result, err = client.ListForManagementGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.RemediationsClient", "listForManagementGroupNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListForManagementGroupComplete enumerates all values, automatically crossing page boundaries as required. +func (client RemediationsClient) ListForManagementGroupComplete(ctx context.Context, managementGroupID string, top *int32, filter string) (result RemediationListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RemediationsClient.ListForManagementGroup") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListForManagementGroup(ctx, managementGroupID, top, filter) + return +} + +// ListForResource gets all remediations for a resource. +// Parameters: +// resourceID - resource ID. +// top - maximum number of records to return. +// filter - oData filter expression. +func (client RemediationsClient) ListForResource(ctx context.Context, resourceID string, top *int32, filter string) (result RemediationListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RemediationsClient.ListForResource") + defer func() { + sc := -1 + if result.rlr.Response.Response != nil { + sc = result.rlr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: top, + Constraints: []validation.Constraint{{Target: "top", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "top", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}}}}}}); err != nil { + return result, validation.NewError("policyinsights.RemediationsClient", "ListForResource", err.Error()) + } + + result.fn = client.listForResourceNextResults + req, err := client.ListForResourcePreparer(ctx, resourceID, top, filter) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.RemediationsClient", "ListForResource", nil, "Failure preparing request") + return + } + + resp, err := client.ListForResourceSender(req) + if err != nil { + result.rlr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "policyinsights.RemediationsClient", "ListForResource", resp, "Failure sending request") + return + } + + result.rlr, err = client.ListForResourceResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.RemediationsClient", "ListForResource", resp, "Failure responding to request") + } + + return +} + +// ListForResourcePreparer prepares the ListForResource request. +func (client RemediationsClient) ListForResourcePreparer(ctx context.Context, resourceID string, top *int32, filter string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceId": resourceID, + } + + const APIVersion = "2018-07-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if top != nil { + queryParameters["$top"] = autorest.Encode("query", *top) + } + if len(filter) > 0 { + queryParameters["$filter"] = autorest.Encode("query", filter) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/{resourceId}/providers/Microsoft.PolicyInsights/remediations", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListForResourceSender sends the ListForResource request. The method will close the +// http.Response Body if it receives an error. +func (client RemediationsClient) ListForResourceSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListForResourceResponder handles the response to the ListForResource request. The method always +// closes the http.Response Body. +func (client RemediationsClient) ListForResourceResponder(resp *http.Response) (result RemediationListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listForResourceNextResults retrieves the next set of results, if any. +func (client RemediationsClient) listForResourceNextResults(ctx context.Context, lastResults RemediationListResult) (result RemediationListResult, err error) { + req, err := lastResults.remediationListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "policyinsights.RemediationsClient", "listForResourceNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListForResourceSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "policyinsights.RemediationsClient", "listForResourceNextResults", resp, "Failure sending next results request") + } + result, err = client.ListForResourceResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.RemediationsClient", "listForResourceNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListForResourceComplete enumerates all values, automatically crossing page boundaries as required. +func (client RemediationsClient) ListForResourceComplete(ctx context.Context, resourceID string, top *int32, filter string) (result RemediationListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RemediationsClient.ListForResource") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListForResource(ctx, resourceID, top, filter) + return +} + +// ListForResourceGroup gets all remediations for the subscription. +// Parameters: +// subscriptionID - microsoft Azure subscription ID. +// resourceGroupName - resource group name. +// top - maximum number of records to return. +// filter - oData filter expression. +func (client RemediationsClient) ListForResourceGroup(ctx context.Context, subscriptionID string, resourceGroupName string, top *int32, filter string) (result RemediationListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RemediationsClient.ListForResourceGroup") + defer func() { + sc := -1 + if result.rlr.Response.Response != nil { + sc = result.rlr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: top, + Constraints: []validation.Constraint{{Target: "top", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "top", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}}}}}}); err != nil { + return result, validation.NewError("policyinsights.RemediationsClient", "ListForResourceGroup", err.Error()) + } + + result.fn = client.listForResourceGroupNextResults + req, err := client.ListForResourceGroupPreparer(ctx, subscriptionID, resourceGroupName, top, filter) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.RemediationsClient", "ListForResourceGroup", nil, "Failure preparing request") + return + } + + resp, err := client.ListForResourceGroupSender(req) + if err != nil { + result.rlr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "policyinsights.RemediationsClient", "ListForResourceGroup", resp, "Failure sending request") + return + } + + result.rlr, err = client.ListForResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.RemediationsClient", "ListForResourceGroup", resp, "Failure responding to request") + } + + return +} + +// ListForResourceGroupPreparer prepares the ListForResourceGroup request. +func (client RemediationsClient) ListForResourceGroupPreparer(ctx context.Context, subscriptionID string, resourceGroupName string, top *int32, filter string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", subscriptionID), + } + + const APIVersion = "2018-07-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if top != nil { + queryParameters["$top"] = autorest.Encode("query", *top) + } + if len(filter) > 0 { + queryParameters["$filter"] = autorest.Encode("query", filter) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PolicyInsights/remediations", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListForResourceGroupSender sends the ListForResourceGroup request. The method will close the +// http.Response Body if it receives an error. +func (client RemediationsClient) ListForResourceGroupSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListForResourceGroupResponder handles the response to the ListForResourceGroup request. The method always +// closes the http.Response Body. +func (client RemediationsClient) ListForResourceGroupResponder(resp *http.Response) (result RemediationListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listForResourceGroupNextResults retrieves the next set of results, if any. +func (client RemediationsClient) listForResourceGroupNextResults(ctx context.Context, lastResults RemediationListResult) (result RemediationListResult, err error) { + req, err := lastResults.remediationListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "policyinsights.RemediationsClient", "listForResourceGroupNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListForResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "policyinsights.RemediationsClient", "listForResourceGroupNextResults", resp, "Failure sending next results request") + } + result, err = client.ListForResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.RemediationsClient", "listForResourceGroupNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListForResourceGroupComplete enumerates all values, automatically crossing page boundaries as required. +func (client RemediationsClient) ListForResourceGroupComplete(ctx context.Context, subscriptionID string, resourceGroupName string, top *int32, filter string) (result RemediationListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RemediationsClient.ListForResourceGroup") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListForResourceGroup(ctx, subscriptionID, resourceGroupName, top, filter) + return +} + +// ListForSubscription gets all remediations for the subscription. +// Parameters: +// subscriptionID - microsoft Azure subscription ID. +// top - maximum number of records to return. +// filter - oData filter expression. +func (client RemediationsClient) ListForSubscription(ctx context.Context, subscriptionID string, top *int32, filter string) (result RemediationListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RemediationsClient.ListForSubscription") + defer func() { + sc := -1 + if result.rlr.Response.Response != nil { + sc = result.rlr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: top, + Constraints: []validation.Constraint{{Target: "top", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "top", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}}}}}}); err != nil { + return result, validation.NewError("policyinsights.RemediationsClient", "ListForSubscription", err.Error()) + } + + result.fn = client.listForSubscriptionNextResults + req, err := client.ListForSubscriptionPreparer(ctx, subscriptionID, top, filter) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.RemediationsClient", "ListForSubscription", nil, "Failure preparing request") + return + } + + resp, err := client.ListForSubscriptionSender(req) + if err != nil { + result.rlr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "policyinsights.RemediationsClient", "ListForSubscription", resp, "Failure sending request") + return + } + + result.rlr, err = client.ListForSubscriptionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.RemediationsClient", "ListForSubscription", resp, "Failure responding to request") + } + + return +} + +// ListForSubscriptionPreparer prepares the ListForSubscription request. +func (client RemediationsClient) ListForSubscriptionPreparer(ctx context.Context, subscriptionID string, top *int32, filter string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", subscriptionID), + } + + const APIVersion = "2018-07-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if top != nil { + queryParameters["$top"] = autorest.Encode("query", *top) + } + if len(filter) > 0 { + queryParameters["$filter"] = autorest.Encode("query", filter) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.PolicyInsights/remediations", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListForSubscriptionSender sends the ListForSubscription request. The method will close the +// http.Response Body if it receives an error. +func (client RemediationsClient) ListForSubscriptionSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListForSubscriptionResponder handles the response to the ListForSubscription request. The method always +// closes the http.Response Body. +func (client RemediationsClient) ListForSubscriptionResponder(resp *http.Response) (result RemediationListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listForSubscriptionNextResults retrieves the next set of results, if any. +func (client RemediationsClient) listForSubscriptionNextResults(ctx context.Context, lastResults RemediationListResult) (result RemediationListResult, err error) { + req, err := lastResults.remediationListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "policyinsights.RemediationsClient", "listForSubscriptionNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListForSubscriptionSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "policyinsights.RemediationsClient", "listForSubscriptionNextResults", resp, "Failure sending next results request") + } + result, err = client.ListForSubscriptionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "policyinsights.RemediationsClient", "listForSubscriptionNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListForSubscriptionComplete enumerates all values, automatically crossing page boundaries as required. +func (client RemediationsClient) ListForSubscriptionComplete(ctx context.Context, subscriptionID string, top *int32, filter string) (result RemediationListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RemediationsClient.ListForSubscription") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListForSubscription(ctx, subscriptionID, top, filter) + return +} diff --git a/services/policyinsights/mgmt/2019-10-01/policyinsights/version.go b/services/policyinsights/mgmt/2019-10-01/policyinsights/version.go new file mode 100644 index 000000000000..18cce08f4d74 --- /dev/null +++ b/services/policyinsights/mgmt/2019-10-01/policyinsights/version.go @@ -0,0 +1,30 @@ +package policyinsights + +import "github.com/Azure/azure-sdk-for-go/version" + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +// UserAgent returns the UserAgent string to use when sending http.Requests. +func UserAgent() string { + return "Azure-SDK-For-Go/" + version.Number + " policyinsights/2019-10-01" +} + +// Version returns the semantic version (see http://semver.org) of the client. +func Version() string { + return version.Number +} diff --git a/services/preview/README.md b/services/preview/README.md deleted file mode 100644 index 7cffc92a4273..000000000000 --- a/services/preview/README.md +++ /dev/null @@ -1,5 +0,0 @@ -# Azure SDK for Go Preview Packages - -The packages in this directory are pre-release and thus are subject to change. -Also note that due to their preview nature breaking changes can be introduced outside -major version revisions of the SDK. diff --git a/services/preview/appconfiguration/mgmt/2019-02-01-preview/appconfiguration/appconfigurationapi/interfaces.go b/services/preview/appconfiguration/mgmt/2019-02-01-preview/appconfiguration/appconfigurationapi/interfaces.go index 972cd50887f0..b09e153e4a30 100644 --- a/services/preview/appconfiguration/mgmt/2019-02-01-preview/appconfiguration/appconfigurationapi/interfaces.go +++ b/services/preview/appconfiguration/mgmt/2019-02-01-preview/appconfiguration/appconfigurationapi/interfaces.go @@ -30,6 +30,7 @@ type ConfigurationStoresClientAPI interface { List(ctx context.Context, skipToken string) (result appconfiguration.ConfigurationStoreListResultPage, err error) ListByResourceGroup(ctx context.Context, resourceGroupName string, skipToken string) (result appconfiguration.ConfigurationStoreListResultPage, err error) ListKeys(ctx context.Context, resourceGroupName string, configStoreName string, skipToken string) (result appconfiguration.APIKeyListResultPage, err error) + ListKeyValue(ctx context.Context, resourceGroupName string, configStoreName string, listKeyValueParameters appconfiguration.ListKeyValueParameters) (result appconfiguration.KeyValue, err error) RegenerateKey(ctx context.Context, resourceGroupName string, configStoreName string, regenerateKeyParameters appconfiguration.RegenerateKeyParameters) (result appconfiguration.APIKey, err error) Update(ctx context.Context, resourceGroupName string, configStoreName string, configStoreUpdateParameters appconfiguration.ConfigurationStoreUpdateParameters) (result appconfiguration.ConfigurationStoresUpdateFuture, err error) } diff --git a/services/preview/appconfiguration/mgmt/2019-02-01-preview/appconfiguration/configurationstores.go b/services/preview/appconfiguration/mgmt/2019-02-01-preview/appconfiguration/configurationstores.go index 2549bf8c8d47..d5263579ac0c 100644 --- a/services/preview/appconfiguration/mgmt/2019-02-01-preview/appconfiguration/configurationstores.go +++ b/services/preview/appconfiguration/mgmt/2019-02-01-preview/appconfiguration/configurationstores.go @@ -663,6 +663,96 @@ func (client ConfigurationStoresClient) ListKeysComplete(ctx context.Context, re return } +// ListKeyValue lists a configuration store key-value. +// Parameters: +// resourceGroupName - the name of the resource group to which the container registry belongs. +// configStoreName - the name of the configuration store. +// listKeyValueParameters - the parameters for retrieving a key-value. +func (client ConfigurationStoresClient) ListKeyValue(ctx context.Context, resourceGroupName string, configStoreName string, listKeyValueParameters ListKeyValueParameters) (result KeyValue, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ConfigurationStoresClient.ListKeyValue") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: configStoreName, + Constraints: []validation.Constraint{{Target: "configStoreName", Name: validation.MaxLength, Rule: 50, Chain: nil}, + {Target: "configStoreName", Name: validation.MinLength, Rule: 5, Chain: nil}, + {Target: "configStoreName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9_-]*$`, Chain: nil}}}, + {TargetValue: listKeyValueParameters, + Constraints: []validation.Constraint{{Target: "listKeyValueParameters.Key", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + return result, validation.NewError("appconfiguration.ConfigurationStoresClient", "ListKeyValue", err.Error()) + } + + req, err := client.ListKeyValuePreparer(ctx, resourceGroupName, configStoreName, listKeyValueParameters) + if err != nil { + err = autorest.NewErrorWithError(err, "appconfiguration.ConfigurationStoresClient", "ListKeyValue", nil, "Failure preparing request") + return + } + + resp, err := client.ListKeyValueSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "appconfiguration.ConfigurationStoresClient", "ListKeyValue", resp, "Failure sending request") + return + } + + result, err = client.ListKeyValueResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "appconfiguration.ConfigurationStoresClient", "ListKeyValue", resp, "Failure responding to request") + } + + return +} + +// ListKeyValuePreparer prepares the ListKeyValue request. +func (client ConfigurationStoresClient) ListKeyValuePreparer(ctx context.Context, resourceGroupName string, configStoreName string, listKeyValueParameters ListKeyValueParameters) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "configStoreName": autorest.Encode("path", configStoreName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-02-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppConfiguration/configurationStores/{configStoreName}/listKeyValue", pathParameters), + autorest.WithJSON(listKeyValueParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListKeyValueSender sends the ListKeyValue request. The method will close the +// http.Response Body if it receives an error. +func (client ConfigurationStoresClient) ListKeyValueSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListKeyValueResponder handles the response to the ListKeyValue request. The method always +// closes the http.Response Body. +func (client ConfigurationStoresClient) ListKeyValueResponder(resp *http.Response) (result KeyValue, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + // RegenerateKey regenerates an access key for the specified configuration store. // Parameters: // resourceGroupName - the name of the resource group to which the container registry belongs. diff --git a/services/preview/appconfiguration/mgmt/2019-02-01-preview/appconfiguration/models.go b/services/preview/appconfiguration/mgmt/2019-02-01-preview/appconfiguration/models.go index 0eee8a1b5870..f3fffbdde3f9 100644 --- a/services/preview/appconfiguration/mgmt/2019-02-01-preview/appconfiguration/models.go +++ b/services/preview/appconfiguration/mgmt/2019-02-01-preview/appconfiguration/models.go @@ -592,6 +592,45 @@ type Error struct { Message *string `json:"message,omitempty"` } +// KeyValue the result of a request to retrieve a key-value from the specified configuration store. +type KeyValue struct { + autorest.Response `json:"-"` + // Key - READ-ONLY; The primary identifier of a key-value. + // The key is used in unison with the label to uniquely identify a key-value. + Key *string `json:"key,omitempty"` + // Label - READ-ONLY; A value used to group key-values. + // The label is used in unison with the key to uniquely identify a key-value. + Label *string `json:"label,omitempty"` + // Value - READ-ONLY; The value of the key-value. + Value *string `json:"value,omitempty"` + // ContentType - READ-ONLY; The content type of the key-value's value. + // Providing a proper content-type can enable transformations of values when they are retrieved by applications. + ContentType *string `json:"contentType,omitempty"` + // ETag - READ-ONLY; An ETag indicating the state of a key-value within a configuration store. + ETag *string `json:"eTag,omitempty"` + // LastModified - READ-ONLY; The last time a modifying operation was performed on the given key-value. + LastModified *date.Time `json:"lastModified,omitempty"` + // Locked - READ-ONLY; A value indicating whether the key-value is locked. + // A locked key-value may not be modified until it is unlocked. + Locked *bool `json:"locked,omitempty"` + // Tags - READ-ONLY; A dictionary of tags that can help identify what a key-value may be applicable for. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for KeyValue. +func (kv KeyValue) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + return json.Marshal(objectMap) +} + +// ListKeyValueParameters the parameters used to list a configuration store key-value +type ListKeyValueParameters struct { + // Key - The key to retrieve. + Key *string `json:"key,omitempty"` + // Label - The label of the key. + Label *string `json:"label,omitempty"` +} + // NameAvailabilityStatus the result of a request to check the availability of a resource name. type NameAvailabilityStatus struct { autorest.Response `json:"-"` diff --git a/services/preview/appplatform/mgmt/2019-05-01-preview/appplatform/appplatformapi/interfaces.go b/services/preview/appplatform/mgmt/2019-05-01-preview/appplatform/appplatformapi/interfaces.go new file mode 100644 index 000000000000..3c3a7feb6811 --- /dev/null +++ b/services/preview/appplatform/mgmt/2019-05-01-preview/appplatform/appplatformapi/interfaces.go @@ -0,0 +1,87 @@ +package appplatformapi + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/azure-sdk-for-go/services/preview/appplatform/mgmt/2019-05-01-preview/appplatform" + "github.com/Azure/go-autorest/autorest" +) + +// ServicesClientAPI contains the set of methods on the ServicesClient type. +type ServicesClientAPI interface { + CheckNameAvailability(ctx context.Context, location string, availabilityParameters appplatform.NameAvailabilityParameters) (result appplatform.NameAvailability, err error) + CreateOrUpdate(ctx context.Context, resourceGroupName string, serviceName string, resource *appplatform.ServiceResource) (result appplatform.ServicesCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, serviceName string) (result appplatform.ServicesDeleteFuture, err error) + DisableTestEndpoint(ctx context.Context, resourceGroupName string, serviceName string) (result autorest.Response, err error) + EnableTestEndpoint(ctx context.Context, resourceGroupName string, serviceName string) (result appplatform.TestKeys, err error) + Get(ctx context.Context, resourceGroupName string, serviceName string) (result appplatform.ServiceResource, err error) + List(ctx context.Context, resourceGroupName string) (result appplatform.ServiceResourceListPage, err error) + ListBySubscription(ctx context.Context) (result appplatform.ServiceResourceListPage, err error) + ListTestKeys(ctx context.Context, resourceGroupName string, serviceName string) (result appplatform.TestKeys, err error) + RegenerateTestKey(ctx context.Context, resourceGroupName string, serviceName string, regenerateTestKeyRequest *appplatform.RegenerateTestKeyRequestPayload) (result appplatform.TestKeys, err error) + Update(ctx context.Context, resourceGroupName string, serviceName string, resource *appplatform.ServiceResource) (result appplatform.ServicesUpdateFuture, err error) +} + +var _ ServicesClientAPI = (*appplatform.ServicesClient)(nil) + +// AppsClientAPI contains the set of methods on the AppsClient type. +type AppsClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, serviceName string, appName string, appResource *appplatform.AppResource) (result appplatform.AppResource, err error) + Delete(ctx context.Context, resourceGroupName string, serviceName string, appName string) (result autorest.Response, err error) + Get(ctx context.Context, resourceGroupName string, serviceName string, appName string, syncStatus string) (result appplatform.AppResource, err error) + GetResourceUploadURL(ctx context.Context, resourceGroupName string, serviceName string, appName string) (result appplatform.ResourceUploadDefinition, err error) + List(ctx context.Context, resourceGroupName string, serviceName string) (result appplatform.AppResourceCollectionPage, err error) + Update(ctx context.Context, resourceGroupName string, serviceName string, appName string, appResource *appplatform.AppResource) (result appplatform.AppResource, err error) +} + +var _ AppsClientAPI = (*appplatform.AppsClient)(nil) + +// BindingsClientAPI contains the set of methods on the BindingsClient type. +type BindingsClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, serviceName string, appName string, bindingName string, bindingResource *appplatform.BindingResource) (result appplatform.BindingResource, err error) + Delete(ctx context.Context, resourceGroupName string, serviceName string, appName string, bindingName string) (result autorest.Response, err error) + Get(ctx context.Context, resourceGroupName string, serviceName string, appName string, bindingName string) (result appplatform.BindingResource, err error) + List(ctx context.Context, resourceGroupName string, serviceName string, appName string) (result appplatform.BindingResourceCollectionPage, err error) + Update(ctx context.Context, resourceGroupName string, serviceName string, appName string, bindingName string, bindingResource *appplatform.BindingResource) (result appplatform.BindingResource, err error) +} + +var _ BindingsClientAPI = (*appplatform.BindingsClient)(nil) + +// DeploymentsClientAPI contains the set of methods on the DeploymentsClient type. +type DeploymentsClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, serviceName string, appName string, deploymentName string, deploymentResource *appplatform.DeploymentResource) (result appplatform.DeploymentsCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, serviceName string, appName string, deploymentName string) (result autorest.Response, err error) + Get(ctx context.Context, resourceGroupName string, serviceName string, appName string, deploymentName string) (result appplatform.DeploymentResource, err error) + GetLogFileURL(ctx context.Context, resourceGroupName string, serviceName string, appName string, deploymentName string) (result appplatform.LogFileURLResponse, err error) + List(ctx context.Context, resourceGroupName string, serviceName string, appName string, version []string) (result appplatform.DeploymentResourceCollectionPage, err error) + ListClusterAllDeployments(ctx context.Context, resourceGroupName string, serviceName string, version []string) (result appplatform.DeploymentResourceCollectionPage, err error) + Restart(ctx context.Context, resourceGroupName string, serviceName string, appName string, deploymentName string) (result appplatform.DeploymentsRestartFuture, err error) + Start(ctx context.Context, resourceGroupName string, serviceName string, appName string, deploymentName string) (result appplatform.DeploymentsStartFuture, err error) + Stop(ctx context.Context, resourceGroupName string, serviceName string, appName string, deploymentName string) (result appplatform.DeploymentsStopFuture, err error) + Update(ctx context.Context, resourceGroupName string, serviceName string, appName string, deploymentName string, deploymentResource *appplatform.DeploymentResource) (result appplatform.DeploymentsUpdateFuture, err error) +} + +var _ DeploymentsClientAPI = (*appplatform.DeploymentsClient)(nil) + +// OperationsClientAPI contains the set of methods on the OperationsClient type. +type OperationsClientAPI interface { + List(ctx context.Context) (result appplatform.AvailableOperationsPage, err error) +} + +var _ OperationsClientAPI = (*appplatform.OperationsClient)(nil) diff --git a/services/preview/appplatform/mgmt/2019-05-01-preview/appplatform/apps.go b/services/preview/appplatform/mgmt/2019-05-01-preview/appplatform/apps.go new file mode 100644 index 000000000000..69d6141f9fb0 --- /dev/null +++ b/services/preview/appplatform/mgmt/2019-05-01-preview/appplatform/apps.go @@ -0,0 +1,598 @@ +package appplatform + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// AppsClient is the REST API for Azure Spring Cloud +type AppsClient struct { + BaseClient +} + +// NewAppsClient creates an instance of the AppsClient client. +func NewAppsClient(subscriptionID string) AppsClient { + return NewAppsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewAppsClientWithBaseURI creates an instance of the AppsClient client. +func NewAppsClientWithBaseURI(baseURI string, subscriptionID string) AppsClient { + return AppsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate create a new App or update an exiting App. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serviceName - the name of the Service resource. +// appName - the name of the App resource. +// appResource - parameters for the create or update operation +func (client AppsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, serviceName string, appName string, appResource *AppResource) (result AppResource, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: appResource, + Constraints: []validation.Constraint{{Target: "appResource", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "appResource.Properties", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "appResource.Properties.TemporaryDisk", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "appResource.Properties.TemporaryDisk.SizeInGB", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "appResource.Properties.TemporaryDisk.SizeInGB", Name: validation.InclusiveMaximum, Rule: int64(5), Chain: nil}, + {Target: "appResource.Properties.TemporaryDisk.SizeInGB", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}, + }}, + }}, + {Target: "appResource.Properties.PersistentDisk", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "appResource.Properties.PersistentDisk.SizeInGB", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "appResource.Properties.PersistentDisk.SizeInGB", Name: validation.InclusiveMaximum, Rule: int64(50), Chain: nil}, + {Target: "appResource.Properties.PersistentDisk.SizeInGB", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}, + }}, + {Target: "appResource.Properties.PersistentDisk.UsedInGB", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "appResource.Properties.PersistentDisk.UsedInGB", Name: validation.InclusiveMaximum, Rule: int64(50), Chain: nil}, + {Target: "appResource.Properties.PersistentDisk.UsedInGB", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}, + }}, + }}, + }}, + }}}}}); err != nil { + return result, validation.NewError("appplatform.AppsClient", "CreateOrUpdate", err.Error()) + } + + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, serviceName, appName, appResource) + if err != nil { + err = autorest.NewErrorWithError(err, "appplatform.AppsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "appplatform.AppsClient", "CreateOrUpdate", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "appplatform.AppsClient", "CreateOrUpdate", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client AppsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, serviceName string, appName string, appResource *AppResource) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "appName": autorest.Encode("path", appName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serviceName": autorest.Encode("path", serviceName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + if appResource != nil { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithJSON(appResource)) + } + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client AppsClient) CreateOrUpdateResponder(resp *http.Response) (result AppResource, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete operation to delete an App. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serviceName - the name of the Service resource. +// appName - the name of the App resource. +func (client AppsClient) Delete(ctx context.Context, resourceGroupName string, serviceName string, appName string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.Delete") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, serviceName, appName) + if err != nil { + err = autorest.NewErrorWithError(err, "appplatform.AppsClient", "Delete", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "appplatform.AppsClient", "Delete", resp, "Failure sending request") + return + } + + result, err = client.DeleteResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "appplatform.AppsClient", "Delete", resp, "Failure responding to request") + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client AppsClient) DeletePreparer(ctx context.Context, resourceGroupName string, serviceName string, appName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "appName": autorest.Encode("path", appName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serviceName": autorest.Encode("path", serviceName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) DeleteSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client AppsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get get an App and its properties. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serviceName - the name of the Service resource. +// appName - the name of the App resource. +// syncStatus - indicates whether sync status +func (client AppsClient) Get(ctx context.Context, resourceGroupName string, serviceName string, appName string, syncStatus string) (result AppResource, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, serviceName, appName, syncStatus) + if err != nil { + err = autorest.NewErrorWithError(err, "appplatform.AppsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "appplatform.AppsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "appplatform.AppsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client AppsClient) GetPreparer(ctx context.Context, resourceGroupName string, serviceName string, appName string, syncStatus string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "appName": autorest.Encode("path", appName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serviceName": autorest.Encode("path", serviceName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(syncStatus) > 0 { + queryParameters["syncStatus"] = autorest.Encode("query", syncStatus) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client AppsClient) GetResponder(resp *http.Response) (result AppResource, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetResourceUploadURL get an resource upload URL for an App, which may be artifacts or source archive. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serviceName - the name of the Service resource. +// appName - the name of the App resource. +func (client AppsClient) GetResourceUploadURL(ctx context.Context, resourceGroupName string, serviceName string, appName string) (result ResourceUploadDefinition, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.GetResourceUploadURL") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetResourceUploadURLPreparer(ctx, resourceGroupName, serviceName, appName) + if err != nil { + err = autorest.NewErrorWithError(err, "appplatform.AppsClient", "GetResourceUploadURL", nil, "Failure preparing request") + return + } + + resp, err := client.GetResourceUploadURLSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "appplatform.AppsClient", "GetResourceUploadURL", resp, "Failure sending request") + return + } + + result, err = client.GetResourceUploadURLResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "appplatform.AppsClient", "GetResourceUploadURL", resp, "Failure responding to request") + } + + return +} + +// GetResourceUploadURLPreparer prepares the GetResourceUploadURL request. +func (client AppsClient) GetResourceUploadURLPreparer(ctx context.Context, resourceGroupName string, serviceName string, appName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "appName": autorest.Encode("path", appName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serviceName": autorest.Encode("path", serviceName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/getResourceUploadUrl", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetResourceUploadURLSender sends the GetResourceUploadURL request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetResourceUploadURLSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResourceUploadURLResponder handles the response to the GetResourceUploadURL request. The method always +// closes the http.Response Body. +func (client AppsClient) GetResourceUploadURLResponder(resp *http.Response) (result ResourceUploadDefinition, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List handles requests to list all resources in a Service. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serviceName - the name of the Service resource. +func (client AppsClient) List(ctx context.Context, resourceGroupName string, serviceName string) (result AppResourceCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.List") + defer func() { + sc := -1 + if result.arc.Response.Response != nil { + sc = result.arc.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName, serviceName) + if err != nil { + err = autorest.NewErrorWithError(err, "appplatform.AppsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.arc.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "appplatform.AppsClient", "List", resp, "Failure sending request") + return + } + + result.arc, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "appplatform.AppsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client AppsClient) ListPreparer(ctx context.Context, resourceGroupName string, serviceName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serviceName": autorest.Encode("path", serviceName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client AppsClient) ListResponder(resp *http.Response) (result AppResourceCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client AppsClient) listNextResults(ctx context.Context, lastResults AppResourceCollection) (result AppResourceCollection, err error) { + req, err := lastResults.appResourceCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "appplatform.AppsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "appplatform.AppsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "appplatform.AppsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client AppsClient) ListComplete(ctx context.Context, resourceGroupName string, serviceName string) (result AppResourceCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName, serviceName) + return +} + +// Update operation to update an exiting App. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serviceName - the name of the Service resource. +// appName - the name of the App resource. +// appResource - parameters for the update operation +func (client AppsClient) Update(ctx context.Context, resourceGroupName string, serviceName string, appName string, appResource *AppResource) (result AppResource, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.Update") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdatePreparer(ctx, resourceGroupName, serviceName, appName, appResource) + if err != nil { + err = autorest.NewErrorWithError(err, "appplatform.AppsClient", "Update", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "appplatform.AppsClient", "Update", resp, "Failure sending request") + return + } + + result, err = client.UpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "appplatform.AppsClient", "Update", resp, "Failure responding to request") + } + + return +} + +// UpdatePreparer prepares the Update request. +func (client AppsClient) UpdatePreparer(ctx context.Context, resourceGroupName string, serviceName string, appName string, appResource *AppResource) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "appName": autorest.Encode("path", appName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serviceName": autorest.Encode("path", serviceName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + if appResource != nil { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithJSON(appResource)) + } + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateSender sends the Update request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) UpdateSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// UpdateResponder handles the response to the Update request. The method always +// closes the http.Response Body. +func (client AppsClient) UpdateResponder(resp *http.Response) (result AppResource, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/preview/appplatform/mgmt/2019-05-01-preview/appplatform/bindings.go b/services/preview/appplatform/mgmt/2019-05-01-preview/appplatform/bindings.go new file mode 100644 index 000000000000..b03a7c626007 --- /dev/null +++ b/services/preview/appplatform/mgmt/2019-05-01-preview/appplatform/bindings.go @@ -0,0 +1,498 @@ +package appplatform + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// BindingsClient is the REST API for Azure Spring Cloud +type BindingsClient struct { + BaseClient +} + +// NewBindingsClient creates an instance of the BindingsClient client. +func NewBindingsClient(subscriptionID string) BindingsClient { + return NewBindingsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewBindingsClientWithBaseURI creates an instance of the BindingsClient client. +func NewBindingsClientWithBaseURI(baseURI string, subscriptionID string) BindingsClient { + return BindingsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate create a new Binding or update an exiting Binding. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serviceName - the name of the Service resource. +// appName - the name of the App resource. +// bindingName - the name of the Binding resource. +// bindingResource - parameters for the create or update operation +func (client BindingsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, serviceName string, appName string, bindingName string, bindingResource *BindingResource) (result BindingResource, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BindingsClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, serviceName, appName, bindingName, bindingResource) + if err != nil { + err = autorest.NewErrorWithError(err, "appplatform.BindingsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "appplatform.BindingsClient", "CreateOrUpdate", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "appplatform.BindingsClient", "CreateOrUpdate", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client BindingsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, serviceName string, appName string, bindingName string, bindingResource *BindingResource) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "appName": autorest.Encode("path", appName), + "bindingName": autorest.Encode("path", bindingName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serviceName": autorest.Encode("path", serviceName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/bindings/{bindingName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + if bindingResource != nil { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithJSON(bindingResource)) + } + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client BindingsClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client BindingsClient) CreateOrUpdateResponder(resp *http.Response) (result BindingResource, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete operation to delete a Binding. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serviceName - the name of the Service resource. +// appName - the name of the App resource. +// bindingName - the name of the Binding resource. +func (client BindingsClient) Delete(ctx context.Context, resourceGroupName string, serviceName string, appName string, bindingName string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BindingsClient.Delete") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, serviceName, appName, bindingName) + if err != nil { + err = autorest.NewErrorWithError(err, "appplatform.BindingsClient", "Delete", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "appplatform.BindingsClient", "Delete", resp, "Failure sending request") + return + } + + result, err = client.DeleteResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "appplatform.BindingsClient", "Delete", resp, "Failure responding to request") + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client BindingsClient) DeletePreparer(ctx context.Context, resourceGroupName string, serviceName string, appName string, bindingName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "appName": autorest.Encode("path", appName), + "bindingName": autorest.Encode("path", bindingName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serviceName": autorest.Encode("path", serviceName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/bindings/{bindingName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client BindingsClient) DeleteSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client BindingsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get get a Binding and its properties. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serviceName - the name of the Service resource. +// appName - the name of the App resource. +// bindingName - the name of the Binding resource. +func (client BindingsClient) Get(ctx context.Context, resourceGroupName string, serviceName string, appName string, bindingName string) (result BindingResource, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BindingsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, serviceName, appName, bindingName) + if err != nil { + err = autorest.NewErrorWithError(err, "appplatform.BindingsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "appplatform.BindingsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "appplatform.BindingsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client BindingsClient) GetPreparer(ctx context.Context, resourceGroupName string, serviceName string, appName string, bindingName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "appName": autorest.Encode("path", appName), + "bindingName": autorest.Encode("path", bindingName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serviceName": autorest.Encode("path", serviceName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/bindings/{bindingName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client BindingsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client BindingsClient) GetResponder(resp *http.Response) (result BindingResource, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List handles requests to list all resources in an App. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serviceName - the name of the Service resource. +// appName - the name of the App resource. +func (client BindingsClient) List(ctx context.Context, resourceGroupName string, serviceName string, appName string) (result BindingResourceCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BindingsClient.List") + defer func() { + sc := -1 + if result.brc.Response.Response != nil { + sc = result.brc.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName, serviceName, appName) + if err != nil { + err = autorest.NewErrorWithError(err, "appplatform.BindingsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.brc.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "appplatform.BindingsClient", "List", resp, "Failure sending request") + return + } + + result.brc, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "appplatform.BindingsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client BindingsClient) ListPreparer(ctx context.Context, resourceGroupName string, serviceName string, appName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "appName": autorest.Encode("path", appName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serviceName": autorest.Encode("path", serviceName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/bindings", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client BindingsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client BindingsClient) ListResponder(resp *http.Response) (result BindingResourceCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client BindingsClient) listNextResults(ctx context.Context, lastResults BindingResourceCollection) (result BindingResourceCollection, err error) { + req, err := lastResults.bindingResourceCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "appplatform.BindingsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "appplatform.BindingsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "appplatform.BindingsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client BindingsClient) ListComplete(ctx context.Context, resourceGroupName string, serviceName string, appName string) (result BindingResourceCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BindingsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName, serviceName, appName) + return +} + +// Update operation to update an exiting Binding. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serviceName - the name of the Service resource. +// appName - the name of the App resource. +// bindingName - the name of the Binding resource. +// bindingResource - parameters for the update operation +func (client BindingsClient) Update(ctx context.Context, resourceGroupName string, serviceName string, appName string, bindingName string, bindingResource *BindingResource) (result BindingResource, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BindingsClient.Update") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdatePreparer(ctx, resourceGroupName, serviceName, appName, bindingName, bindingResource) + if err != nil { + err = autorest.NewErrorWithError(err, "appplatform.BindingsClient", "Update", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "appplatform.BindingsClient", "Update", resp, "Failure sending request") + return + } + + result, err = client.UpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "appplatform.BindingsClient", "Update", resp, "Failure responding to request") + } + + return +} + +// UpdatePreparer prepares the Update request. +func (client BindingsClient) UpdatePreparer(ctx context.Context, resourceGroupName string, serviceName string, appName string, bindingName string, bindingResource *BindingResource) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "appName": autorest.Encode("path", appName), + "bindingName": autorest.Encode("path", bindingName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serviceName": autorest.Encode("path", serviceName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/bindings/{bindingName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + if bindingResource != nil { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithJSON(bindingResource)) + } + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateSender sends the Update request. The method will close the +// http.Response Body if it receives an error. +func (client BindingsClient) UpdateSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// UpdateResponder handles the response to the Update request. The method always +// closes the http.Response Body. +func (client BindingsClient) UpdateResponder(resp *http.Response) (result BindingResource, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/preview/portal/mgmt/2015-11-01-preview/portal/client.go b/services/preview/appplatform/mgmt/2019-05-01-preview/appplatform/client.go similarity index 83% rename from services/preview/portal/mgmt/2015-11-01-preview/portal/client.go rename to services/preview/appplatform/mgmt/2019-05-01-preview/appplatform/client.go index 80937e565568..cf95f5e086bb 100644 --- a/services/preview/portal/mgmt/2015-11-01-preview/portal/client.go +++ b/services/preview/appplatform/mgmt/2019-05-01-preview/appplatform/client.go @@ -1,7 +1,7 @@ -// Package portal implements the Azure ARM Portal service API version 2015-11-01-preview. +// Package appplatform implements the Azure ARM Appplatform service API version 2019-05-01-preview. // -// Allows creation and deletion of Azure Shared Dashboards. -package portal +// REST API for Azure Spring Cloud +package appplatform // Copyright (c) Microsoft and contributors. All rights reserved. // @@ -25,11 +25,11 @@ import ( ) const ( - // DefaultBaseURI is the default URI used for the service Portal + // DefaultBaseURI is the default URI used for the service Appplatform DefaultBaseURI = "https://management.azure.com" ) -// BaseClient is the base client for Portal. +// BaseClient is the base client for Appplatform. type BaseClient struct { autorest.Client BaseURI string diff --git a/services/preview/appplatform/mgmt/2019-05-01-preview/appplatform/deployments.go b/services/preview/appplatform/mgmt/2019-05-01-preview/appplatform/deployments.go new file mode 100644 index 000000000000..a1837b1c1a02 --- /dev/null +++ b/services/preview/appplatform/mgmt/2019-05-01-preview/appplatform/deployments.go @@ -0,0 +1,971 @@ +package appplatform + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// DeploymentsClient is the REST API for Azure Spring Cloud +type DeploymentsClient struct { + BaseClient +} + +// NewDeploymentsClient creates an instance of the DeploymentsClient client. +func NewDeploymentsClient(subscriptionID string) DeploymentsClient { + return NewDeploymentsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewDeploymentsClientWithBaseURI creates an instance of the DeploymentsClient client. +func NewDeploymentsClientWithBaseURI(baseURI string, subscriptionID string) DeploymentsClient { + return DeploymentsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate create a new Deployment or update an exiting Deployment. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serviceName - the name of the Service resource. +// appName - the name of the App resource. +// deploymentName - the name of the Deployment resource. +// deploymentResource - parameters for the create or update operation +func (client DeploymentsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, serviceName string, appName string, deploymentName string, deploymentResource *DeploymentResource) (result DeploymentsCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeploymentsClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: deploymentResource, + Constraints: []validation.Constraint{{Target: "deploymentResource", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "deploymentResource.Properties", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "deploymentResource.Properties.DeploymentSettings", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "deploymentResource.Properties.DeploymentSettings.CPU", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "deploymentResource.Properties.DeploymentSettings.CPU", Name: validation.InclusiveMaximum, Rule: int64(4), Chain: nil}, + {Target: "deploymentResource.Properties.DeploymentSettings.CPU", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}, + }}, + {Target: "deploymentResource.Properties.DeploymentSettings.MemoryInGB", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "deploymentResource.Properties.DeploymentSettings.MemoryInGB", Name: validation.InclusiveMaximum, Rule: int64(8), Chain: nil}, + {Target: "deploymentResource.Properties.DeploymentSettings.MemoryInGB", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}, + }}, + {Target: "deploymentResource.Properties.DeploymentSettings.InstanceCount", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "deploymentResource.Properties.DeploymentSettings.InstanceCount", Name: validation.InclusiveMaximum, Rule: int64(20), Chain: nil}, + {Target: "deploymentResource.Properties.DeploymentSettings.InstanceCount", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}, + }}, + }}, + }}, + }}}}}); err != nil { + return result, validation.NewError("appplatform.DeploymentsClient", "CreateOrUpdate", err.Error()) + } + + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, serviceName, appName, deploymentName, deploymentResource) + if err != nil { + err = autorest.NewErrorWithError(err, "appplatform.DeploymentsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "appplatform.DeploymentsClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client DeploymentsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, serviceName string, appName string, deploymentName string, deploymentResource *DeploymentResource) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "appName": autorest.Encode("path", appName), + "deploymentName": autorest.Encode("path", deploymentName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serviceName": autorest.Encode("path", serviceName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments/{deploymentName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + if deploymentResource != nil { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithJSON(deploymentResource)) + } + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client DeploymentsClient) CreateOrUpdateSender(req *http.Request) (future DeploymentsCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client DeploymentsClient) CreateOrUpdateResponder(resp *http.Response) (result DeploymentResource, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete operation to delete a Deployment. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serviceName - the name of the Service resource. +// appName - the name of the App resource. +// deploymentName - the name of the Deployment resource. +func (client DeploymentsClient) Delete(ctx context.Context, resourceGroupName string, serviceName string, appName string, deploymentName string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeploymentsClient.Delete") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, serviceName, appName, deploymentName) + if err != nil { + err = autorest.NewErrorWithError(err, "appplatform.DeploymentsClient", "Delete", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "appplatform.DeploymentsClient", "Delete", resp, "Failure sending request") + return + } + + result, err = client.DeleteResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "appplatform.DeploymentsClient", "Delete", resp, "Failure responding to request") + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client DeploymentsClient) DeletePreparer(ctx context.Context, resourceGroupName string, serviceName string, appName string, deploymentName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "appName": autorest.Encode("path", appName), + "deploymentName": autorest.Encode("path", deploymentName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serviceName": autorest.Encode("path", serviceName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments/{deploymentName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client DeploymentsClient) DeleteSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client DeploymentsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get get a Deployment and its properties. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serviceName - the name of the Service resource. +// appName - the name of the App resource. +// deploymentName - the name of the Deployment resource. +func (client DeploymentsClient) Get(ctx context.Context, resourceGroupName string, serviceName string, appName string, deploymentName string) (result DeploymentResource, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeploymentsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, serviceName, appName, deploymentName) + if err != nil { + err = autorest.NewErrorWithError(err, "appplatform.DeploymentsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "appplatform.DeploymentsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "appplatform.DeploymentsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client DeploymentsClient) GetPreparer(ctx context.Context, resourceGroupName string, serviceName string, appName string, deploymentName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "appName": autorest.Encode("path", appName), + "deploymentName": autorest.Encode("path", deploymentName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serviceName": autorest.Encode("path", serviceName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments/{deploymentName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client DeploymentsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client DeploymentsClient) GetResponder(resp *http.Response) (result DeploymentResource, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetLogFileURL get deployment log file URL +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serviceName - the name of the Service resource. +// appName - the name of the App resource. +// deploymentName - the name of the Deployment resource. +func (client DeploymentsClient) GetLogFileURL(ctx context.Context, resourceGroupName string, serviceName string, appName string, deploymentName string) (result LogFileURLResponse, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeploymentsClient.GetLogFileURL") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetLogFileURLPreparer(ctx, resourceGroupName, serviceName, appName, deploymentName) + if err != nil { + err = autorest.NewErrorWithError(err, "appplatform.DeploymentsClient", "GetLogFileURL", nil, "Failure preparing request") + return + } + + resp, err := client.GetLogFileURLSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "appplatform.DeploymentsClient", "GetLogFileURL", resp, "Failure sending request") + return + } + + result, err = client.GetLogFileURLResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "appplatform.DeploymentsClient", "GetLogFileURL", resp, "Failure responding to request") + } + + return +} + +// GetLogFileURLPreparer prepares the GetLogFileURL request. +func (client DeploymentsClient) GetLogFileURLPreparer(ctx context.Context, resourceGroupName string, serviceName string, appName string, deploymentName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "appName": autorest.Encode("path", appName), + "deploymentName": autorest.Encode("path", deploymentName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serviceName": autorest.Encode("path", serviceName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments/{deploymentName}/getLogFileUrl", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetLogFileURLSender sends the GetLogFileURL request. The method will close the +// http.Response Body if it receives an error. +func (client DeploymentsClient) GetLogFileURLSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetLogFileURLResponder handles the response to the GetLogFileURL request. The method always +// closes the http.Response Body. +func (client DeploymentsClient) GetLogFileURLResponder(resp *http.Response) (result LogFileURLResponse, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List handles requests to list all resources in an App. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serviceName - the name of the Service resource. +// appName - the name of the App resource. +// version - version of the deployments to be listed +func (client DeploymentsClient) List(ctx context.Context, resourceGroupName string, serviceName string, appName string, version []string) (result DeploymentResourceCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeploymentsClient.List") + defer func() { + sc := -1 + if result.drc.Response.Response != nil { + sc = result.drc.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName, serviceName, appName, version) + if err != nil { + err = autorest.NewErrorWithError(err, "appplatform.DeploymentsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.drc.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "appplatform.DeploymentsClient", "List", resp, "Failure sending request") + return + } + + result.drc, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "appplatform.DeploymentsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client DeploymentsClient) ListPreparer(ctx context.Context, resourceGroupName string, serviceName string, appName string, version []string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "appName": autorest.Encode("path", appName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serviceName": autorest.Encode("path", serviceName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if version != nil && len(version) > 0 { + queryParameters["version"] = version + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client DeploymentsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client DeploymentsClient) ListResponder(resp *http.Response) (result DeploymentResourceCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client DeploymentsClient) listNextResults(ctx context.Context, lastResults DeploymentResourceCollection) (result DeploymentResourceCollection, err error) { + req, err := lastResults.deploymentResourceCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "appplatform.DeploymentsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "appplatform.DeploymentsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "appplatform.DeploymentsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client DeploymentsClient) ListComplete(ctx context.Context, resourceGroupName string, serviceName string, appName string, version []string) (result DeploymentResourceCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeploymentsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName, serviceName, appName, version) + return +} + +// ListClusterAllDeployments list deployments for a certain service +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serviceName - the name of the Service resource. +// version - version of the deployments to be listed +func (client DeploymentsClient) ListClusterAllDeployments(ctx context.Context, resourceGroupName string, serviceName string, version []string) (result DeploymentResourceCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeploymentsClient.ListClusterAllDeployments") + defer func() { + sc := -1 + if result.drc.Response.Response != nil { + sc = result.drc.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listClusterAllDeploymentsNextResults + req, err := client.ListClusterAllDeploymentsPreparer(ctx, resourceGroupName, serviceName, version) + if err != nil { + err = autorest.NewErrorWithError(err, "appplatform.DeploymentsClient", "ListClusterAllDeployments", nil, "Failure preparing request") + return + } + + resp, err := client.ListClusterAllDeploymentsSender(req) + if err != nil { + result.drc.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "appplatform.DeploymentsClient", "ListClusterAllDeployments", resp, "Failure sending request") + return + } + + result.drc, err = client.ListClusterAllDeploymentsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "appplatform.DeploymentsClient", "ListClusterAllDeployments", resp, "Failure responding to request") + } + + return +} + +// ListClusterAllDeploymentsPreparer prepares the ListClusterAllDeployments request. +func (client DeploymentsClient) ListClusterAllDeploymentsPreparer(ctx context.Context, resourceGroupName string, serviceName string, version []string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serviceName": autorest.Encode("path", serviceName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if version != nil && len(version) > 0 { + queryParameters["version"] = version + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/deployments", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListClusterAllDeploymentsSender sends the ListClusterAllDeployments request. The method will close the +// http.Response Body if it receives an error. +func (client DeploymentsClient) ListClusterAllDeploymentsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListClusterAllDeploymentsResponder handles the response to the ListClusterAllDeployments request. The method always +// closes the http.Response Body. +func (client DeploymentsClient) ListClusterAllDeploymentsResponder(resp *http.Response) (result DeploymentResourceCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listClusterAllDeploymentsNextResults retrieves the next set of results, if any. +func (client DeploymentsClient) listClusterAllDeploymentsNextResults(ctx context.Context, lastResults DeploymentResourceCollection) (result DeploymentResourceCollection, err error) { + req, err := lastResults.deploymentResourceCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "appplatform.DeploymentsClient", "listClusterAllDeploymentsNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListClusterAllDeploymentsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "appplatform.DeploymentsClient", "listClusterAllDeploymentsNextResults", resp, "Failure sending next results request") + } + result, err = client.ListClusterAllDeploymentsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "appplatform.DeploymentsClient", "listClusterAllDeploymentsNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListClusterAllDeploymentsComplete enumerates all values, automatically crossing page boundaries as required. +func (client DeploymentsClient) ListClusterAllDeploymentsComplete(ctx context.Context, resourceGroupName string, serviceName string, version []string) (result DeploymentResourceCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeploymentsClient.ListClusterAllDeployments") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListClusterAllDeployments(ctx, resourceGroupName, serviceName, version) + return +} + +// Restart restart the deployment. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serviceName - the name of the Service resource. +// appName - the name of the App resource. +// deploymentName - the name of the Deployment resource. +func (client DeploymentsClient) Restart(ctx context.Context, resourceGroupName string, serviceName string, appName string, deploymentName string) (result DeploymentsRestartFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeploymentsClient.Restart") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.RestartPreparer(ctx, resourceGroupName, serviceName, appName, deploymentName) + if err != nil { + err = autorest.NewErrorWithError(err, "appplatform.DeploymentsClient", "Restart", nil, "Failure preparing request") + return + } + + result, err = client.RestartSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "appplatform.DeploymentsClient", "Restart", result.Response(), "Failure sending request") + return + } + + return +} + +// RestartPreparer prepares the Restart request. +func (client DeploymentsClient) RestartPreparer(ctx context.Context, resourceGroupName string, serviceName string, appName string, deploymentName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "appName": autorest.Encode("path", appName), + "deploymentName": autorest.Encode("path", deploymentName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serviceName": autorest.Encode("path", serviceName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments/{deploymentName}/restart", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// RestartSender sends the Restart request. The method will close the +// http.Response Body if it receives an error. +func (client DeploymentsClient) RestartSender(req *http.Request) (future DeploymentsRestartFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// RestartResponder handles the response to the Restart request. The method always +// closes the http.Response Body. +func (client DeploymentsClient) RestartResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByClosing()) + result.Response = resp + return +} + +// Start start the deployment. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serviceName - the name of the Service resource. +// appName - the name of the App resource. +// deploymentName - the name of the Deployment resource. +func (client DeploymentsClient) Start(ctx context.Context, resourceGroupName string, serviceName string, appName string, deploymentName string) (result DeploymentsStartFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeploymentsClient.Start") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.StartPreparer(ctx, resourceGroupName, serviceName, appName, deploymentName) + if err != nil { + err = autorest.NewErrorWithError(err, "appplatform.DeploymentsClient", "Start", nil, "Failure preparing request") + return + } + + result, err = client.StartSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "appplatform.DeploymentsClient", "Start", result.Response(), "Failure sending request") + return + } + + return +} + +// StartPreparer prepares the Start request. +func (client DeploymentsClient) StartPreparer(ctx context.Context, resourceGroupName string, serviceName string, appName string, deploymentName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "appName": autorest.Encode("path", appName), + "deploymentName": autorest.Encode("path", deploymentName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serviceName": autorest.Encode("path", serviceName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments/{deploymentName}/start", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// StartSender sends the Start request. The method will close the +// http.Response Body if it receives an error. +func (client DeploymentsClient) StartSender(req *http.Request) (future DeploymentsStartFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// StartResponder handles the response to the Start request. The method always +// closes the http.Response Body. +func (client DeploymentsClient) StartResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByClosing()) + result.Response = resp + return +} + +// Stop stop the deployment. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serviceName - the name of the Service resource. +// appName - the name of the App resource. +// deploymentName - the name of the Deployment resource. +func (client DeploymentsClient) Stop(ctx context.Context, resourceGroupName string, serviceName string, appName string, deploymentName string) (result DeploymentsStopFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeploymentsClient.Stop") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.StopPreparer(ctx, resourceGroupName, serviceName, appName, deploymentName) + if err != nil { + err = autorest.NewErrorWithError(err, "appplatform.DeploymentsClient", "Stop", nil, "Failure preparing request") + return + } + + result, err = client.StopSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "appplatform.DeploymentsClient", "Stop", result.Response(), "Failure sending request") + return + } + + return +} + +// StopPreparer prepares the Stop request. +func (client DeploymentsClient) StopPreparer(ctx context.Context, resourceGroupName string, serviceName string, appName string, deploymentName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "appName": autorest.Encode("path", appName), + "deploymentName": autorest.Encode("path", deploymentName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serviceName": autorest.Encode("path", serviceName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments/{deploymentName}/stop", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// StopSender sends the Stop request. The method will close the +// http.Response Body if it receives an error. +func (client DeploymentsClient) StopSender(req *http.Request) (future DeploymentsStopFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// StopResponder handles the response to the Stop request. The method always +// closes the http.Response Body. +func (client DeploymentsClient) StopResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByClosing()) + result.Response = resp + return +} + +// Update operation to update an exiting Deployment. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serviceName - the name of the Service resource. +// appName - the name of the App resource. +// deploymentName - the name of the Deployment resource. +// deploymentResource - parameters for the update operation +func (client DeploymentsClient) Update(ctx context.Context, resourceGroupName string, serviceName string, appName string, deploymentName string, deploymentResource *DeploymentResource) (result DeploymentsUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeploymentsClient.Update") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdatePreparer(ctx, resourceGroupName, serviceName, appName, deploymentName, deploymentResource) + if err != nil { + err = autorest.NewErrorWithError(err, "appplatform.DeploymentsClient", "Update", nil, "Failure preparing request") + return + } + + result, err = client.UpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "appplatform.DeploymentsClient", "Update", result.Response(), "Failure sending request") + return + } + + return +} + +// UpdatePreparer prepares the Update request. +func (client DeploymentsClient) UpdatePreparer(ctx context.Context, resourceGroupName string, serviceName string, appName string, deploymentName string, deploymentResource *DeploymentResource) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "appName": autorest.Encode("path", appName), + "deploymentName": autorest.Encode("path", deploymentName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serviceName": autorest.Encode("path", serviceName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/apps/{appName}/deployments/{deploymentName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + if deploymentResource != nil { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithJSON(deploymentResource)) + } + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateSender sends the Update request. The method will close the +// http.Response Body if it receives an error. +func (client DeploymentsClient) UpdateSender(req *http.Request) (future DeploymentsUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// UpdateResponder handles the response to the Update request. The method always +// closes the http.Response Body. +func (client DeploymentsClient) UpdateResponder(resp *http.Response) (result DeploymentResource, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/preview/appplatform/mgmt/2019-05-01-preview/appplatform/models.go b/services/preview/appplatform/mgmt/2019-05-01-preview/appplatform/models.go new file mode 100644 index 000000000000..5e978290b3a7 --- /dev/null +++ b/services/preview/appplatform/mgmt/2019-05-01-preview/appplatform/models.go @@ -0,0 +1,1681 @@ +package appplatform + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "encoding/json" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/date" + "github.com/Azure/go-autorest/autorest/to" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// The package's fully qualified name. +const fqdn = "github.com/Azure/azure-sdk-for-go/services/preview/appplatform/mgmt/2019-05-01-preview/appplatform" + +// AppResourceProvisioningState enumerates the values for app resource provisioning state. +type AppResourceProvisioningState string + +const ( + // Failed ... + Failed AppResourceProvisioningState = "Failed" + // Succeeded ... + Succeeded AppResourceProvisioningState = "Succeeded" +) + +// PossibleAppResourceProvisioningStateValues returns an array of possible values for the AppResourceProvisioningState const type. +func PossibleAppResourceProvisioningStateValues() []AppResourceProvisioningState { + return []AppResourceProvisioningState{Failed, Succeeded} +} + +// ConfigServerState enumerates the values for config server state. +type ConfigServerState string + +const ( + // ConfigServerStateDeleted ... + ConfigServerStateDeleted ConfigServerState = "Deleted" + // ConfigServerStateFailed ... + ConfigServerStateFailed ConfigServerState = "Failed" + // ConfigServerStateNotAvailable ... + ConfigServerStateNotAvailable ConfigServerState = "NotAvailable" + // ConfigServerStateSucceeded ... + ConfigServerStateSucceeded ConfigServerState = "Succeeded" + // ConfigServerStateUpdating ... + ConfigServerStateUpdating ConfigServerState = "Updating" +) + +// PossibleConfigServerStateValues returns an array of possible values for the ConfigServerState const type. +func PossibleConfigServerStateValues() []ConfigServerState { + return []ConfigServerState{ConfigServerStateDeleted, ConfigServerStateFailed, ConfigServerStateNotAvailable, ConfigServerStateSucceeded, ConfigServerStateUpdating} +} + +// DeploymentResourceProvisioningState enumerates the values for deployment resource provisioning state. +type DeploymentResourceProvisioningState string + +const ( + // DeploymentResourceProvisioningStateCreating ... + DeploymentResourceProvisioningStateCreating DeploymentResourceProvisioningState = "Creating" + // DeploymentResourceProvisioningStateFailed ... + DeploymentResourceProvisioningStateFailed DeploymentResourceProvisioningState = "Failed" + // DeploymentResourceProvisioningStateProcessing ... + DeploymentResourceProvisioningStateProcessing DeploymentResourceProvisioningState = "Processing" + // DeploymentResourceProvisioningStateSucceeded ... + DeploymentResourceProvisioningStateSucceeded DeploymentResourceProvisioningState = "Succeeded" +) + +// PossibleDeploymentResourceProvisioningStateValues returns an array of possible values for the DeploymentResourceProvisioningState const type. +func PossibleDeploymentResourceProvisioningStateValues() []DeploymentResourceProvisioningState { + return []DeploymentResourceProvisioningState{DeploymentResourceProvisioningStateCreating, DeploymentResourceProvisioningStateFailed, DeploymentResourceProvisioningStateProcessing, DeploymentResourceProvisioningStateSucceeded} +} + +// DeploymentResourceStatus enumerates the values for deployment resource status. +type DeploymentResourceStatus string + +const ( + // DeploymentResourceStatusFailed ... + DeploymentResourceStatusFailed DeploymentResourceStatus = "Failed" + // DeploymentResourceStatusProcessing ... + DeploymentResourceStatusProcessing DeploymentResourceStatus = "Processing" + // DeploymentResourceStatusRunning ... + DeploymentResourceStatusRunning DeploymentResourceStatus = "Running" + // DeploymentResourceStatusStopped ... + DeploymentResourceStatusStopped DeploymentResourceStatus = "Stopped" + // DeploymentResourceStatusUnknown ... + DeploymentResourceStatusUnknown DeploymentResourceStatus = "Unknown" +) + +// PossibleDeploymentResourceStatusValues returns an array of possible values for the DeploymentResourceStatus const type. +func PossibleDeploymentResourceStatusValues() []DeploymentResourceStatus { + return []DeploymentResourceStatus{DeploymentResourceStatusFailed, DeploymentResourceStatusProcessing, DeploymentResourceStatusRunning, DeploymentResourceStatusStopped, DeploymentResourceStatusUnknown} +} + +// ProvisioningState enumerates the values for provisioning state. +type ProvisioningState string + +const ( + // ProvisioningStateCreating ... + ProvisioningStateCreating ProvisioningState = "Creating" + // ProvisioningStateDeleted ... + ProvisioningStateDeleted ProvisioningState = "Deleted" + // ProvisioningStateDeleting ... + ProvisioningStateDeleting ProvisioningState = "Deleting" + // ProvisioningStateFailed ... + ProvisioningStateFailed ProvisioningState = "Failed" + // ProvisioningStateMoved ... + ProvisioningStateMoved ProvisioningState = "Moved" + // ProvisioningStateMoveFailed ... + ProvisioningStateMoveFailed ProvisioningState = "MoveFailed" + // ProvisioningStateMoving ... + ProvisioningStateMoving ProvisioningState = "Moving" + // ProvisioningStateSucceeded ... + ProvisioningStateSucceeded ProvisioningState = "Succeeded" + // ProvisioningStateUpdating ... + ProvisioningStateUpdating ProvisioningState = "Updating" +) + +// PossibleProvisioningStateValues returns an array of possible values for the ProvisioningState const type. +func PossibleProvisioningStateValues() []ProvisioningState { + return []ProvisioningState{ProvisioningStateCreating, ProvisioningStateDeleted, ProvisioningStateDeleting, ProvisioningStateFailed, ProvisioningStateMoved, ProvisioningStateMoveFailed, ProvisioningStateMoving, ProvisioningStateSucceeded, ProvisioningStateUpdating} +} + +// RuntimeVersion enumerates the values for runtime version. +type RuntimeVersion string + +const ( + // Java11 ... + Java11 RuntimeVersion = "Java_11" + // Java8 ... + Java8 RuntimeVersion = "Java_8" +) + +// PossibleRuntimeVersionValues returns an array of possible values for the RuntimeVersion const type. +func PossibleRuntimeVersionValues() []RuntimeVersion { + return []RuntimeVersion{Java11, Java8} +} + +// TestKeyType enumerates the values for test key type. +type TestKeyType string + +const ( + // Primary ... + Primary TestKeyType = "Primary" + // Secondary ... + Secondary TestKeyType = "Secondary" +) + +// PossibleTestKeyTypeValues returns an array of possible values for the TestKeyType const type. +func PossibleTestKeyTypeValues() []TestKeyType { + return []TestKeyType{Primary, Secondary} +} + +// TraceProxyState enumerates the values for trace proxy state. +type TraceProxyState string + +const ( + // TraceProxyStateFailed ... + TraceProxyStateFailed TraceProxyState = "Failed" + // TraceProxyStateNotAvailable ... + TraceProxyStateNotAvailable TraceProxyState = "NotAvailable" + // TraceProxyStateSucceeded ... + TraceProxyStateSucceeded TraceProxyState = "Succeeded" + // TraceProxyStateUpdating ... + TraceProxyStateUpdating TraceProxyState = "Updating" +) + +// PossibleTraceProxyStateValues returns an array of possible values for the TraceProxyState const type. +func PossibleTraceProxyStateValues() []TraceProxyState { + return []TraceProxyState{TraceProxyStateFailed, TraceProxyStateNotAvailable, TraceProxyStateSucceeded, TraceProxyStateUpdating} +} + +// UserSourceType enumerates the values for user source type. +type UserSourceType string + +const ( + // Jar ... + Jar UserSourceType = "Jar" + // Source ... + Source UserSourceType = "Source" +) + +// PossibleUserSourceTypeValues returns an array of possible values for the UserSourceType const type. +func PossibleUserSourceTypeValues() []UserSourceType { + return []UserSourceType{Jar, Source} +} + +// AppResource app resource payload +type AppResource struct { + autorest.Response `json:"-"` + // Properties - Properties of the App resource + Properties *AppResourceProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Fully qualified resource Id for the resource. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; The name of the resource. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; The type of the resource. + Type *string `json:"type,omitempty"` +} + +// AppResourceCollection object that includes an array of App resources and a possible link for next set +type AppResourceCollection struct { + autorest.Response `json:"-"` + // Value - Collection of App resources + Value *[]AppResource `json:"value,omitempty"` + // NextLink - URL client should use to fetch the next page (per server side paging). + // It's null for now, added for future use. + NextLink *string `json:"nextLink,omitempty"` +} + +// AppResourceCollectionIterator provides access to a complete listing of AppResource values. +type AppResourceCollectionIterator struct { + i int + page AppResourceCollectionPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *AppResourceCollectionIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppResourceCollectionIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *AppResourceCollectionIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter AppResourceCollectionIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter AppResourceCollectionIterator) Response() AppResourceCollection { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter AppResourceCollectionIterator) Value() AppResource { + if !iter.page.NotDone() { + return AppResource{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the AppResourceCollectionIterator type. +func NewAppResourceCollectionIterator(page AppResourceCollectionPage) AppResourceCollectionIterator { + return AppResourceCollectionIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (arc AppResourceCollection) IsEmpty() bool { + return arc.Value == nil || len(*arc.Value) == 0 +} + +// appResourceCollectionPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (arc AppResourceCollection) appResourceCollectionPreparer(ctx context.Context) (*http.Request, error) { + if arc.NextLink == nil || len(to.String(arc.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(arc.NextLink))) +} + +// AppResourceCollectionPage contains a page of AppResource values. +type AppResourceCollectionPage struct { + fn func(context.Context, AppResourceCollection) (AppResourceCollection, error) + arc AppResourceCollection +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *AppResourceCollectionPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppResourceCollectionPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.arc) + if err != nil { + return err + } + page.arc = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *AppResourceCollectionPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page AppResourceCollectionPage) NotDone() bool { + return !page.arc.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page AppResourceCollectionPage) Response() AppResourceCollection { + return page.arc +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page AppResourceCollectionPage) Values() []AppResource { + if page.arc.IsEmpty() { + return nil + } + return *page.arc.Value +} + +// Creates a new instance of the AppResourceCollectionPage type. +func NewAppResourceCollectionPage(getNextPage func(context.Context, AppResourceCollection) (AppResourceCollection, error)) AppResourceCollectionPage { + return AppResourceCollectionPage{fn: getNextPage} +} + +// AppResourceProperties app resource properties payload +type AppResourceProperties struct { + // Public - Indicates whether the App exposes public endpoint + Public *bool `json:"public,omitempty"` + // URL - READ-ONLY; URL of the App + URL *string `json:"url,omitempty"` + // ProvisioningState - READ-ONLY; Provisioning state of the App. Possible values include: 'Succeeded', 'Failed' + ProvisioningState AppResourceProvisioningState `json:"provisioningState,omitempty"` + // ActiveDeploymentName - Name of the active deployment of the App + ActiveDeploymentName *string `json:"activeDeploymentName,omitempty"` + // CreatedTime - READ-ONLY; Date time when the resource is created + CreatedTime *date.Time `json:"createdTime,omitempty"` + // TemporaryDisk - Temporary disk settings + TemporaryDisk *TemporaryDisk `json:"temporaryDisk,omitempty"` + // PersistentDisk - Persistent disk settings + PersistentDisk *PersistentDisk `json:"persistentDisk,omitempty"` +} + +// AvailableOperations available operations of the service +type AvailableOperations struct { + autorest.Response `json:"-"` + // Value - Collection of available operation details + Value *[]OperationDetail `json:"value,omitempty"` + // NextLink - URL client should use to fetch the next page (per server side paging). + // It's null for now, added for future use. + NextLink *string `json:"nextLink,omitempty"` +} + +// AvailableOperationsIterator provides access to a complete listing of OperationDetail values. +type AvailableOperationsIterator struct { + i int + page AvailableOperationsPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *AvailableOperationsIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AvailableOperationsIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *AvailableOperationsIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter AvailableOperationsIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter AvailableOperationsIterator) Response() AvailableOperations { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter AvailableOperationsIterator) Value() OperationDetail { + if !iter.page.NotDone() { + return OperationDetail{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the AvailableOperationsIterator type. +func NewAvailableOperationsIterator(page AvailableOperationsPage) AvailableOperationsIterator { + return AvailableOperationsIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (ao AvailableOperations) IsEmpty() bool { + return ao.Value == nil || len(*ao.Value) == 0 +} + +// availableOperationsPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (ao AvailableOperations) availableOperationsPreparer(ctx context.Context) (*http.Request, error) { + if ao.NextLink == nil || len(to.String(ao.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(ao.NextLink))) +} + +// AvailableOperationsPage contains a page of OperationDetail values. +type AvailableOperationsPage struct { + fn func(context.Context, AvailableOperations) (AvailableOperations, error) + ao AvailableOperations +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *AvailableOperationsPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AvailableOperationsPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.ao) + if err != nil { + return err + } + page.ao = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *AvailableOperationsPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page AvailableOperationsPage) NotDone() bool { + return !page.ao.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page AvailableOperationsPage) Response() AvailableOperations { + return page.ao +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page AvailableOperationsPage) Values() []OperationDetail { + if page.ao.IsEmpty() { + return nil + } + return *page.ao.Value +} + +// Creates a new instance of the AvailableOperationsPage type. +func NewAvailableOperationsPage(getNextPage func(context.Context, AvailableOperations) (AvailableOperations, error)) AvailableOperationsPage { + return AvailableOperationsPage{fn: getNextPage} +} + +// BindingResource binding resource payload +type BindingResource struct { + autorest.Response `json:"-"` + // Properties - Properties of the Binding resource + Properties *BindingResourceProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Fully qualified resource Id for the resource. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; The name of the resource. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; The type of the resource. + Type *string `json:"type,omitempty"` +} + +// BindingResourceCollection object that includes an array of Binding resources and a possible link for +// next set +type BindingResourceCollection struct { + autorest.Response `json:"-"` + // Value - Collection of Binding resources + Value *[]BindingResource `json:"value,omitempty"` + // NextLink - URL client should use to fetch the next page (per server side paging). + // It's null for now, added for future use. + NextLink *string `json:"nextLink,omitempty"` +} + +// BindingResourceCollectionIterator provides access to a complete listing of BindingResource values. +type BindingResourceCollectionIterator struct { + i int + page BindingResourceCollectionPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *BindingResourceCollectionIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BindingResourceCollectionIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *BindingResourceCollectionIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter BindingResourceCollectionIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter BindingResourceCollectionIterator) Response() BindingResourceCollection { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter BindingResourceCollectionIterator) Value() BindingResource { + if !iter.page.NotDone() { + return BindingResource{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the BindingResourceCollectionIterator type. +func NewBindingResourceCollectionIterator(page BindingResourceCollectionPage) BindingResourceCollectionIterator { + return BindingResourceCollectionIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (brc BindingResourceCollection) IsEmpty() bool { + return brc.Value == nil || len(*brc.Value) == 0 +} + +// bindingResourceCollectionPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (brc BindingResourceCollection) bindingResourceCollectionPreparer(ctx context.Context) (*http.Request, error) { + if brc.NextLink == nil || len(to.String(brc.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(brc.NextLink))) +} + +// BindingResourceCollectionPage contains a page of BindingResource values. +type BindingResourceCollectionPage struct { + fn func(context.Context, BindingResourceCollection) (BindingResourceCollection, error) + brc BindingResourceCollection +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *BindingResourceCollectionPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BindingResourceCollectionPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.brc) + if err != nil { + return err + } + page.brc = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *BindingResourceCollectionPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page BindingResourceCollectionPage) NotDone() bool { + return !page.brc.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page BindingResourceCollectionPage) Response() BindingResourceCollection { + return page.brc +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page BindingResourceCollectionPage) Values() []BindingResource { + if page.brc.IsEmpty() { + return nil + } + return *page.brc.Value +} + +// Creates a new instance of the BindingResourceCollectionPage type. +func NewBindingResourceCollectionPage(getNextPage func(context.Context, BindingResourceCollection) (BindingResourceCollection, error)) BindingResourceCollectionPage { + return BindingResourceCollectionPage{fn: getNextPage} +} + +// BindingResourceProperties binding resource properties payload +type BindingResourceProperties struct { + // ResourceName - The name of the bound resource + ResourceName *string `json:"resourceName,omitempty"` + // ResourceType - The standard Azure resource type of the bound resource + ResourceType *string `json:"resourceType,omitempty"` + // ResourceID - The Azure resource id of the bound resource + ResourceID *string `json:"resourceId,omitempty"` + // Key - The key of the bound resource + Key *string `json:"key,omitempty"` + // BindingParameters - Binding parameters of the Binding resource + BindingParameters map[string]interface{} `json:"bindingParameters"` + // GeneratedProperties - READ-ONLY; The generated Spring Boot property file for this binding. The secret will be deducted. + GeneratedProperties *string `json:"generatedProperties,omitempty"` + // CreatedAt - READ-ONLY; Creation time of the Binding resource + CreatedAt *string `json:"createdAt,omitempty"` + // UpdatedAt - READ-ONLY; Update time of the Binding resource + UpdatedAt *string `json:"updatedAt,omitempty"` +} + +// MarshalJSON is the custom marshaler for BindingResourceProperties. +func (brp BindingResourceProperties) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if brp.ResourceName != nil { + objectMap["resourceName"] = brp.ResourceName + } + if brp.ResourceType != nil { + objectMap["resourceType"] = brp.ResourceType + } + if brp.ResourceID != nil { + objectMap["resourceId"] = brp.ResourceID + } + if brp.Key != nil { + objectMap["key"] = brp.Key + } + if brp.BindingParameters != nil { + objectMap["bindingParameters"] = brp.BindingParameters + } + return json.Marshal(objectMap) +} + +// CloudError an error response from the service. +type CloudError struct { + Error *CloudErrorBody `json:"error,omitempty"` +} + +// CloudErrorBody an error response from the service. +type CloudErrorBody struct { + // Code - An identifier for the error. Codes are invariant and are intended to be consumed programmatically. + Code *string `json:"code,omitempty"` + // Message - A message describing the error, intended to be suitable for display in a user interface. + Message *string `json:"message,omitempty"` + // Target - The target of the particular error. For example, the name of the property in error. + Target *string `json:"target,omitempty"` + // Details - A list of additional details about the error. + Details *[]CloudErrorBody `json:"details,omitempty"` +} + +// ClusterResourceProperties service properties payload +type ClusterResourceProperties struct { + // ProvisioningState - READ-ONLY; Provisioning state of the Service. Possible values include: 'ProvisioningStateCreating', 'ProvisioningStateUpdating', 'ProvisioningStateDeleting', 'ProvisioningStateDeleted', 'ProvisioningStateSucceeded', 'ProvisioningStateFailed', 'ProvisioningStateMoving', 'ProvisioningStateMoved', 'ProvisioningStateMoveFailed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + // ConfigServerProperties - Config server git properties of the Service + ConfigServerProperties *ConfigServerProperties `json:"configServerProperties,omitempty"` + // Trace - Trace properties of the Service + Trace *TraceProperties `json:"trace,omitempty"` + // Version - READ-ONLY; Version of the Service + Version *int32 `json:"version,omitempty"` + // ServiceID - READ-ONLY; ServiceInstanceEntity GUID which uniquely identifies a created resource + ServiceID *string `json:"serviceId,omitempty"` +} + +// ConfigServerGitProperty property of git. +type ConfigServerGitProperty struct { + // Repositories - Repositories of git. + Repositories *[]GitPatternRepository `json:"repositories,omitempty"` + // URI - URI of the repository + URI *string `json:"uri,omitempty"` + // Label - Label of the repository + Label *string `json:"label,omitempty"` + // SearchPaths - Searching path of the repository + SearchPaths *[]string `json:"searchPaths,omitempty"` + // Username - Username of git repository basic auth. + Username *string `json:"username,omitempty"` + // Password - Password of git repository basic auth. + Password *string `json:"password,omitempty"` + // HostKey - Public sshKey of git repository. + HostKey *string `json:"hostKey,omitempty"` + // HostKeyAlgorithm - SshKey algorithm of git repository. + HostKeyAlgorithm *string `json:"hostKeyAlgorithm,omitempty"` + // PrivateKey - Private sshKey algorithm of git repository. + PrivateKey *string `json:"privateKey,omitempty"` + // StrictHostKeyChecking - Strict host key checking or not. + StrictHostKeyChecking *bool `json:"strictHostKeyChecking,omitempty"` +} + +// ConfigServerProperties config server git properties payload +type ConfigServerProperties struct { + // State - READ-ONLY; State of the config server. Possible values include: 'ConfigServerStateNotAvailable', 'ConfigServerStateDeleted', 'ConfigServerStateFailed', 'ConfigServerStateSucceeded', 'ConfigServerStateUpdating' + State ConfigServerState `json:"state,omitempty"` + // Error - Error when apply config server settings. + Error *Error `json:"error,omitempty"` + // ConfigServer - Settings of config server. + ConfigServer *ConfigServerSettings `json:"configServer,omitempty"` +} + +// ConfigServerSettings the settings of config server. +type ConfigServerSettings struct { + // GitProperty - Property of git environment. + GitProperty *ConfigServerGitProperty `json:"gitProperty,omitempty"` +} + +// DeploymentInstance deployment instance payload +type DeploymentInstance struct { + // Name - READ-ONLY; Name of the deployment instance + Name *string `json:"name,omitempty"` + // Status - READ-ONLY; Status of the deployment instance + Status *string `json:"status,omitempty"` + // Reason - READ-ONLY; Failed reason of the deployment instance + Reason *string `json:"reason,omitempty"` + // DiscoveryStatus - READ-ONLY; Discovery status of the deployment instance + DiscoveryStatus *string `json:"discoveryStatus,omitempty"` +} + +// DeploymentResource deployment resource payload +type DeploymentResource struct { + autorest.Response `json:"-"` + // Properties - Properties of the Deployment resource + Properties *DeploymentResourceProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Fully qualified resource Id for the resource. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; The name of the resource. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; The type of the resource. + Type *string `json:"type,omitempty"` +} + +// DeploymentResourceCollection object that includes an array of App resources and a possible link for next +// set +type DeploymentResourceCollection struct { + autorest.Response `json:"-"` + // Value - Collection of Deployment resources + Value *[]DeploymentResource `json:"value,omitempty"` + // NextLink - URL client should use to fetch the next page (per server side paging). + // It's null for now, added for future use. + NextLink *string `json:"nextLink,omitempty"` +} + +// DeploymentResourceCollectionIterator provides access to a complete listing of DeploymentResource values. +type DeploymentResourceCollectionIterator struct { + i int + page DeploymentResourceCollectionPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *DeploymentResourceCollectionIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeploymentResourceCollectionIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *DeploymentResourceCollectionIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter DeploymentResourceCollectionIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter DeploymentResourceCollectionIterator) Response() DeploymentResourceCollection { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter DeploymentResourceCollectionIterator) Value() DeploymentResource { + if !iter.page.NotDone() { + return DeploymentResource{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the DeploymentResourceCollectionIterator type. +func NewDeploymentResourceCollectionIterator(page DeploymentResourceCollectionPage) DeploymentResourceCollectionIterator { + return DeploymentResourceCollectionIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (drc DeploymentResourceCollection) IsEmpty() bool { + return drc.Value == nil || len(*drc.Value) == 0 +} + +// deploymentResourceCollectionPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (drc DeploymentResourceCollection) deploymentResourceCollectionPreparer(ctx context.Context) (*http.Request, error) { + if drc.NextLink == nil || len(to.String(drc.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(drc.NextLink))) +} + +// DeploymentResourceCollectionPage contains a page of DeploymentResource values. +type DeploymentResourceCollectionPage struct { + fn func(context.Context, DeploymentResourceCollection) (DeploymentResourceCollection, error) + drc DeploymentResourceCollection +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *DeploymentResourceCollectionPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeploymentResourceCollectionPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.drc) + if err != nil { + return err + } + page.drc = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *DeploymentResourceCollectionPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page DeploymentResourceCollectionPage) NotDone() bool { + return !page.drc.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page DeploymentResourceCollectionPage) Response() DeploymentResourceCollection { + return page.drc +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page DeploymentResourceCollectionPage) Values() []DeploymentResource { + if page.drc.IsEmpty() { + return nil + } + return *page.drc.Value +} + +// Creates a new instance of the DeploymentResourceCollectionPage type. +func NewDeploymentResourceCollectionPage(getNextPage func(context.Context, DeploymentResourceCollection) (DeploymentResourceCollection, error)) DeploymentResourceCollectionPage { + return DeploymentResourceCollectionPage{fn: getNextPage} +} + +// DeploymentResourceProperties deployment resource properties payload +type DeploymentResourceProperties struct { + // Source - Uploaded source information of the deployment. + Source *UserSourceInfo `json:"source,omitempty"` + // AppName - READ-ONLY; App name of the deployment + AppName *string `json:"appName,omitempty"` + // DeploymentSettings - Deployment settings of the Deployment + DeploymentSettings *DeploymentSettings `json:"deploymentSettings,omitempty"` + // ProvisioningState - READ-ONLY; Provisioning state of the Deployment. Possible values include: 'DeploymentResourceProvisioningStateCreating', 'DeploymentResourceProvisioningStateProcessing', 'DeploymentResourceProvisioningStateSucceeded', 'DeploymentResourceProvisioningStateFailed' + ProvisioningState DeploymentResourceProvisioningState `json:"provisioningState,omitempty"` + // Status - READ-ONLY; Status of the Deployment. Possible values include: 'DeploymentResourceStatusUnknown', 'DeploymentResourceStatusStopped', 'DeploymentResourceStatusRunning', 'DeploymentResourceStatusFailed', 'DeploymentResourceStatusProcessing' + Status DeploymentResourceStatus `json:"status,omitempty"` + // Active - READ-ONLY; Indicates whether the Deployment is active + Active *bool `json:"active,omitempty"` + // CreatedTime - READ-ONLY; Date time when the resource is created + CreatedTime *date.Time `json:"createdTime,omitempty"` + // Instances - READ-ONLY; Collection of instances belong to the Deployment + Instances *[]DeploymentInstance `json:"instances,omitempty"` +} + +// DeploymentsCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type DeploymentsCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *DeploymentsCreateOrUpdateFuture) Result(client DeploymentsClient) (dr DeploymentResource, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "appplatform.DeploymentsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("appplatform.DeploymentsCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if dr.Response.Response, err = future.GetResult(sender); err == nil && dr.Response.Response.StatusCode != http.StatusNoContent { + dr, err = client.CreateOrUpdateResponder(dr.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "appplatform.DeploymentsCreateOrUpdateFuture", "Result", dr.Response.Response, "Failure responding to request") + } + } + return +} + +// DeploymentSettings deployment settings payload +type DeploymentSettings struct { + // CPU - Required CPU + CPU *int32 `json:"cpu,omitempty"` + // MemoryInGB - Required Memory size in GB + MemoryInGB *int32 `json:"memoryInGB,omitempty"` + // JvmOptions - JVM parameter + JvmOptions *string `json:"jvmOptions,omitempty"` + // InstanceCount - Instance count + InstanceCount *int32 `json:"instanceCount,omitempty"` + // EnvironmentVariables - Collection of environment variables + EnvironmentVariables map[string]*string `json:"environmentVariables"` + // RuntimeVersion - Runtime version. Possible values include: 'Java8', 'Java11' + RuntimeVersion RuntimeVersion `json:"runtimeVersion,omitempty"` +} + +// MarshalJSON is the custom marshaler for DeploymentSettings. +func (ds DeploymentSettings) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if ds.CPU != nil { + objectMap["cpu"] = ds.CPU + } + if ds.MemoryInGB != nil { + objectMap["memoryInGB"] = ds.MemoryInGB + } + if ds.JvmOptions != nil { + objectMap["jvmOptions"] = ds.JvmOptions + } + if ds.InstanceCount != nil { + objectMap["instanceCount"] = ds.InstanceCount + } + if ds.EnvironmentVariables != nil { + objectMap["environmentVariables"] = ds.EnvironmentVariables + } + if ds.RuntimeVersion != "" { + objectMap["runtimeVersion"] = ds.RuntimeVersion + } + return json.Marshal(objectMap) +} + +// DeploymentsRestartFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type DeploymentsRestartFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *DeploymentsRestartFuture) Result(client DeploymentsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "appplatform.DeploymentsRestartFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("appplatform.DeploymentsRestartFuture") + return + } + ar.Response = future.Response() + return +} + +// DeploymentsStartFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type DeploymentsStartFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *DeploymentsStartFuture) Result(client DeploymentsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "appplatform.DeploymentsStartFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("appplatform.DeploymentsStartFuture") + return + } + ar.Response = future.Response() + return +} + +// DeploymentsStopFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type DeploymentsStopFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *DeploymentsStopFuture) Result(client DeploymentsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "appplatform.DeploymentsStopFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("appplatform.DeploymentsStopFuture") + return + } + ar.Response = future.Response() + return +} + +// DeploymentsUpdateFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type DeploymentsUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *DeploymentsUpdateFuture) Result(client DeploymentsClient) (dr DeploymentResource, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "appplatform.DeploymentsUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("appplatform.DeploymentsUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if dr.Response.Response, err = future.GetResult(sender); err == nil && dr.Response.Response.StatusCode != http.StatusNoContent { + dr, err = client.UpdateResponder(dr.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "appplatform.DeploymentsUpdateFuture", "Result", dr.Response.Response, "Failure responding to request") + } + } + return +} + +// Error the error code compose of code and message. +type Error struct { + // Code - The code of error. + Code *string `json:"code,omitempty"` + // Message - The message of error. + Message *string `json:"message,omitempty"` +} + +// GitPatternRepository git repository property payload +type GitPatternRepository struct { + // Name - Name of the repository + Name *string `json:"name,omitempty"` + // Pattern - Collection of pattern of the repository + Pattern *[]string `json:"pattern,omitempty"` + // URI - URI of the repository + URI *string `json:"uri,omitempty"` + // Label - Label of the repository + Label *string `json:"label,omitempty"` + // SearchPaths - Searching path of the repository + SearchPaths *[]string `json:"searchPaths,omitempty"` + // Username - Username of git repository basic auth. + Username *string `json:"username,omitempty"` + // Password - Password of git repository basic auth. + Password *string `json:"password,omitempty"` + // HostKey - Public sshKey of git repository. + HostKey *string `json:"hostKey,omitempty"` + // HostKeyAlgorithm - SshKey algorithm of git repository. + HostKeyAlgorithm *string `json:"hostKeyAlgorithm,omitempty"` + // PrivateKey - Private sshKey algorithm of git repository. + PrivateKey *string `json:"privateKey,omitempty"` + // StrictHostKeyChecking - Strict host key checking or not. + StrictHostKeyChecking *bool `json:"strictHostKeyChecking,omitempty"` +} + +// LogFileURLResponse log file URL payload +type LogFileURLResponse struct { + autorest.Response `json:"-"` + // URL - URL of the log file + URL *string `json:"url,omitempty"` +} + +// LogSpecification specifications of the Log for Azure Monitoring +type LogSpecification struct { + // Name - Name of the log + Name *string `json:"name,omitempty"` + // DisplayName - Localized friendly display name of the log + DisplayName *string `json:"displayName,omitempty"` + // BlobDuration - Blob duration of the log + BlobDuration *string `json:"blobDuration,omitempty"` +} + +// MetricDimension specifications of the Dimension of metrics +type MetricDimension struct { + // Name - Name of the dimension + Name *string `json:"name,omitempty"` + // DisplayName - Localized friendly display name of the dimension + DisplayName *string `json:"displayName,omitempty"` +} + +// MetricSpecification specifications of the Metrics for Azure Monitoring +type MetricSpecification struct { + // Name - Name of the metric + Name *string `json:"name,omitempty"` + // DisplayName - Localized friendly display name of the metric + DisplayName *string `json:"displayName,omitempty"` + // DisplayDescription - Localized friendly description of the metric + DisplayDescription *string `json:"displayDescription,omitempty"` + // Unit - Unit that makes sense for the metric + Unit *string `json:"unit,omitempty"` + // Category - Name of the metric category that the metric belongs to. A metric can only belong to a single category. + Category *string `json:"category,omitempty"` + // AggregationType - Only provide one value for this field. Valid values: Average, Minimum, Maximum, Total, Count. + AggregationType *string `json:"aggregationType,omitempty"` + // SupportedAggregationTypes - Supported aggregation types + SupportedAggregationTypes *[]string `json:"supportedAggregationTypes,omitempty"` + // SupportedTimeGrainTypes - Supported time grain types + SupportedTimeGrainTypes *[]string `json:"supportedTimeGrainTypes,omitempty"` + // FillGapWithZero - Optional. If set to true, then zero will be returned for time duration where no metric is emitted/published. + FillGapWithZero *bool `json:"fillGapWithZero,omitempty"` + // Dimensions - Dimensions of the metric + Dimensions *[]MetricDimension `json:"dimensions,omitempty"` +} + +// NameAvailability name availability result payload +type NameAvailability struct { + autorest.Response `json:"-"` + // NameAvailable - Indicates whether the name is available + NameAvailable *bool `json:"nameAvailable,omitempty"` + // Reason - Reason why the name is not available + Reason *string `json:"reason,omitempty"` + // Message - Message why the name is not available + Message *string `json:"message,omitempty"` +} + +// NameAvailabilityParameters name availability parameters payload +type NameAvailabilityParameters struct { + // Type - Type of the resource to check name availability + Type *string `json:"type,omitempty"` + // Name - Name to be checked + Name *string `json:"name,omitempty"` +} + +// OperationDetail operation detail payload +type OperationDetail struct { + // Name - Name of the operation + Name *string `json:"name,omitempty"` + // DataAction - Indicates whether the operation is a data action + DataAction *bool `json:"dataAction,omitempty"` + // Display - Display of the operation + Display *OperationDisplay `json:"display,omitempty"` + // Origin - Origin of the operation + Origin *string `json:"origin,omitempty"` + // Properties - Properties of the operation + Properties *OperationProperties `json:"properties,omitempty"` +} + +// OperationDisplay operation display payload +type OperationDisplay struct { + // Provider - Resource provider of the operation + Provider *string `json:"provider,omitempty"` + // Resource - Resource of the operation + Resource *string `json:"resource,omitempty"` + // Operation - Localized friendly name for the operation + Operation *string `json:"operation,omitempty"` + // Description - Localized friendly description for the operation + Description *string `json:"description,omitempty"` +} + +// OperationProperties extra Operation properties +type OperationProperties struct { + // ServiceSpecification - Service specifications of the operation + ServiceSpecification *ServiceSpecification `json:"serviceSpecification,omitempty"` +} + +// PersistentDisk persistent disk payload +type PersistentDisk struct { + // SizeInGB - Size of the persistent disk in GB + SizeInGB *int32 `json:"sizeInGB,omitempty"` + // UsedInGB - READ-ONLY; Size of the used persistent disk in GB + UsedInGB *int32 `json:"usedInGB,omitempty"` + // MountPath - Mount path of the persistent disk + MountPath *string `json:"mountPath,omitempty"` +} + +// ProxyResource the resource model definition for a ARM proxy resource. It will have everything other than +// required location and tags. +type ProxyResource struct { + // ID - READ-ONLY; Fully qualified resource Id for the resource. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; The name of the resource. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; The type of the resource. + Type *string `json:"type,omitempty"` +} + +// RegenerateTestKeyRequestPayload regenerate test key request payload +type RegenerateTestKeyRequestPayload struct { + // KeyType - Type of the test key. Possible values include: 'Primary', 'Secondary' + KeyType TestKeyType `json:"keyType,omitempty"` +} + +// Resource the core properties of ARM resources. +type Resource struct { + // ID - READ-ONLY; Fully qualified resource Id for the resource. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; The name of the resource. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; The type of the resource. + Type *string `json:"type,omitempty"` +} + +// ResourceUploadDefinition resource upload definition payload +type ResourceUploadDefinition struct { + autorest.Response `json:"-"` + // RelativePath - Source relative path + RelativePath *string `json:"relativePath,omitempty"` + // UploadURL - Upload URL + UploadURL *string `json:"uploadUrl,omitempty"` +} + +// ServiceResource service resource +type ServiceResource struct { + autorest.Response `json:"-"` + // Properties - Properties of the Service resource + Properties *ClusterResourceProperties `json:"properties,omitempty"` + // Location - The GEO location of the resource. + Location *string `json:"location,omitempty"` + // Tags - Tags of the service which is a list of key value pairs that describe the resource. + Tags map[string]*string `json:"tags"` + // ID - READ-ONLY; Fully qualified resource Id for the resource. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; The name of the resource. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; The type of the resource. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for ServiceResource. +func (sr ServiceResource) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if sr.Properties != nil { + objectMap["properties"] = sr.Properties + } + if sr.Location != nil { + objectMap["location"] = sr.Location + } + if sr.Tags != nil { + objectMap["tags"] = sr.Tags + } + return json.Marshal(objectMap) +} + +// ServiceResourceList object that includes an array of Service resources and a possible link for next set +type ServiceResourceList struct { + autorest.Response `json:"-"` + // Value - Collection of Service resources + Value *[]ServiceResource `json:"value,omitempty"` + // NextLink - URL client should use to fetch the next page (per server side paging). + // It's null for now, added for future use. + NextLink *string `json:"nextLink,omitempty"` +} + +// ServiceResourceListIterator provides access to a complete listing of ServiceResource values. +type ServiceResourceListIterator struct { + i int + page ServiceResourceListPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *ServiceResourceListIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServiceResourceListIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *ServiceResourceListIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter ServiceResourceListIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter ServiceResourceListIterator) Response() ServiceResourceList { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter ServiceResourceListIterator) Value() ServiceResource { + if !iter.page.NotDone() { + return ServiceResource{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the ServiceResourceListIterator type. +func NewServiceResourceListIterator(page ServiceResourceListPage) ServiceResourceListIterator { + return ServiceResourceListIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (srl ServiceResourceList) IsEmpty() bool { + return srl.Value == nil || len(*srl.Value) == 0 +} + +// serviceResourceListPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (srl ServiceResourceList) serviceResourceListPreparer(ctx context.Context) (*http.Request, error) { + if srl.NextLink == nil || len(to.String(srl.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(srl.NextLink))) +} + +// ServiceResourceListPage contains a page of ServiceResource values. +type ServiceResourceListPage struct { + fn func(context.Context, ServiceResourceList) (ServiceResourceList, error) + srl ServiceResourceList +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *ServiceResourceListPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServiceResourceListPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.srl) + if err != nil { + return err + } + page.srl = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *ServiceResourceListPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page ServiceResourceListPage) NotDone() bool { + return !page.srl.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page ServiceResourceListPage) Response() ServiceResourceList { + return page.srl +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page ServiceResourceListPage) Values() []ServiceResource { + if page.srl.IsEmpty() { + return nil + } + return *page.srl.Value +} + +// Creates a new instance of the ServiceResourceListPage type. +func NewServiceResourceListPage(getNextPage func(context.Context, ServiceResourceList) (ServiceResourceList, error)) ServiceResourceListPage { + return ServiceResourceListPage{fn: getNextPage} +} + +// ServicesCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type ServicesCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ServicesCreateOrUpdateFuture) Result(client ServicesClient) (sr ServiceResource, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "appplatform.ServicesCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("appplatform.ServicesCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if sr.Response.Response, err = future.GetResult(sender); err == nil && sr.Response.Response.StatusCode != http.StatusNoContent { + sr, err = client.CreateOrUpdateResponder(sr.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "appplatform.ServicesCreateOrUpdateFuture", "Result", sr.Response.Response, "Failure responding to request") + } + } + return +} + +// ServicesDeleteFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type ServicesDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ServicesDeleteFuture) Result(client ServicesClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "appplatform.ServicesDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("appplatform.ServicesDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// ServiceSpecification service specification payload +type ServiceSpecification struct { + // LogSpecifications - Specifications of the Log for Azure Monitoring + LogSpecifications *[]LogSpecification `json:"logSpecifications,omitempty"` + // MetricSpecifications - Specifications of the Metrics for Azure Monitoring + MetricSpecifications *[]MetricSpecification `json:"metricSpecifications,omitempty"` +} + +// ServicesUpdateFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type ServicesUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ServicesUpdateFuture) Result(client ServicesClient) (sr ServiceResource, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "appplatform.ServicesUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("appplatform.ServicesUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if sr.Response.Response, err = future.GetResult(sender); err == nil && sr.Response.Response.StatusCode != http.StatusNoContent { + sr, err = client.UpdateResponder(sr.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "appplatform.ServicesUpdateFuture", "Result", sr.Response.Response, "Failure responding to request") + } + } + return +} + +// TemporaryDisk temporary disk payload +type TemporaryDisk struct { + // SizeInGB - Size of the temporary disk in GB + SizeInGB *int32 `json:"sizeInGB,omitempty"` + // MountPath - Mount path of the temporary disk + MountPath *string `json:"mountPath,omitempty"` +} + +// TestKeys test keys payload +type TestKeys struct { + autorest.Response `json:"-"` + // PrimaryKey - Primary key + PrimaryKey *string `json:"primaryKey,omitempty"` + // SecondaryKey - Secondary key + SecondaryKey *string `json:"secondaryKey,omitempty"` + // PrimaryTestEndpoint - Primary test endpoint + PrimaryTestEndpoint *string `json:"primaryTestEndpoint,omitempty"` + // SecondaryTestEndpoint - Secondary test endpoint + SecondaryTestEndpoint *string `json:"secondaryTestEndpoint,omitempty"` + // Enabled - Indicates whether the test endpoint feature enabled or not + Enabled *bool `json:"enabled,omitempty"` +} + +// TraceProperties trace properties payload +type TraceProperties struct { + // State - READ-ONLY; State of the trace proxy. Possible values include: 'TraceProxyStateNotAvailable', 'TraceProxyStateFailed', 'TraceProxyStateSucceeded', 'TraceProxyStateUpdating' + State TraceProxyState `json:"state,omitempty"` + // Error - Error when apply trace proxy changes. + Error *Error `json:"error,omitempty"` + // Enabled - Indicates whether enable the tracing functionality + Enabled *bool `json:"enabled,omitempty"` + // AppInsightInstrumentationKey - Target application insight instrumentation key + AppInsightInstrumentationKey *string `json:"appInsightInstrumentationKey,omitempty"` +} + +// TrackedResource the resource model definition for a ARM tracked top level resource. +type TrackedResource struct { + // Location - The GEO location of the resource. + Location *string `json:"location,omitempty"` + // Tags - Tags of the service which is a list of key value pairs that describe the resource. + Tags map[string]*string `json:"tags"` + // ID - READ-ONLY; Fully qualified resource Id for the resource. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; The name of the resource. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; The type of the resource. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for TrackedResource. +func (tr TrackedResource) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if tr.Location != nil { + objectMap["location"] = tr.Location + } + if tr.Tags != nil { + objectMap["tags"] = tr.Tags + } + return json.Marshal(objectMap) +} + +// UserSourceInfo source information for a deployment +type UserSourceInfo struct { + // Type - Type of the source uploaded. Possible values include: 'Jar', 'Source' + Type UserSourceType `json:"type,omitempty"` + // RelativePath - Relative path of the storage which stores the source + RelativePath *string `json:"relativePath,omitempty"` + // Version - Version of the source + Version *string `json:"version,omitempty"` + // ArtifactSelector - Selector for the artifact to be used for the deployment for multi-module projects. This should be + // the relative path to the target module/project. + ArtifactSelector *string `json:"artifactSelector,omitempty"` +} diff --git a/services/preview/appplatform/mgmt/2019-05-01-preview/appplatform/operations.go b/services/preview/appplatform/mgmt/2019-05-01-preview/appplatform/operations.go new file mode 100644 index 000000000000..8bfb2858835f --- /dev/null +++ b/services/preview/appplatform/mgmt/2019-05-01-preview/appplatform/operations.go @@ -0,0 +1,147 @@ +package appplatform + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// OperationsClient is the REST API for Azure Spring Cloud +type OperationsClient struct { + BaseClient +} + +// NewOperationsClient creates an instance of the OperationsClient client. +func NewOperationsClient(subscriptionID string) OperationsClient { + return NewOperationsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewOperationsClientWithBaseURI creates an instance of the OperationsClient client. +func NewOperationsClientWithBaseURI(baseURI string, subscriptionID string) OperationsClient { + return OperationsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// List lists all of the available REST API operations of the Microsoft.AppPlatform provider. +func (client OperationsClient) List(ctx context.Context) (result AvailableOperationsPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/OperationsClient.List") + defer func() { + sc := -1 + if result.ao.Response.Response != nil { + sc = result.ao.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "appplatform.OperationsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.ao.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "appplatform.OperationsClient", "List", resp, "Failure sending request") + return + } + + result.ao, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "appplatform.OperationsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client OperationsClient) ListPreparer(ctx context.Context) (*http.Request, error) { + const APIVersion = "2019-05-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPath("/providers/Microsoft.AppPlatform/operations"), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client OperationsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client OperationsClient) ListResponder(resp *http.Response) (result AvailableOperations, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client OperationsClient) listNextResults(ctx context.Context, lastResults AvailableOperations) (result AvailableOperations, err error) { + req, err := lastResults.availableOperationsPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "appplatform.OperationsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "appplatform.OperationsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "appplatform.OperationsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client OperationsClient) ListComplete(ctx context.Context) (result AvailableOperationsIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/OperationsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx) + return +} diff --git a/services/preview/appplatform/mgmt/2019-05-01-preview/appplatform/services.go b/services/preview/appplatform/mgmt/2019-05-01-preview/appplatform/services.go new file mode 100644 index 000000000000..6f2c3a817fec --- /dev/null +++ b/services/preview/appplatform/mgmt/2019-05-01-preview/appplatform/services.go @@ -0,0 +1,1006 @@ +package appplatform + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// ServicesClient is the REST API for Azure Spring Cloud +type ServicesClient struct { + BaseClient +} + +// NewServicesClient creates an instance of the ServicesClient client. +func NewServicesClient(subscriptionID string) ServicesClient { + return NewServicesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewServicesClientWithBaseURI creates an instance of the ServicesClient client. +func NewServicesClientWithBaseURI(baseURI string, subscriptionID string) ServicesClient { + return ServicesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CheckNameAvailability checks that the resource name is valid and is not already in use. +// Parameters: +// location - the region +// availabilityParameters - parameters supplied to the operation. +func (client ServicesClient) CheckNameAvailability(ctx context.Context, location string, availabilityParameters NameAvailabilityParameters) (result NameAvailability, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServicesClient.CheckNameAvailability") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: availabilityParameters, + Constraints: []validation.Constraint{{Target: "availabilityParameters.Type", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "availabilityParameters.Name", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + return result, validation.NewError("appplatform.ServicesClient", "CheckNameAvailability", err.Error()) + } + + req, err := client.CheckNameAvailabilityPreparer(ctx, location, availabilityParameters) + if err != nil { + err = autorest.NewErrorWithError(err, "appplatform.ServicesClient", "CheckNameAvailability", nil, "Failure preparing request") + return + } + + resp, err := client.CheckNameAvailabilitySender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "appplatform.ServicesClient", "CheckNameAvailability", resp, "Failure sending request") + return + } + + result, err = client.CheckNameAvailabilityResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "appplatform.ServicesClient", "CheckNameAvailability", resp, "Failure responding to request") + } + + return +} + +// CheckNameAvailabilityPreparer prepares the CheckNameAvailability request. +func (client ServicesClient) CheckNameAvailabilityPreparer(ctx context.Context, location string, availabilityParameters NameAvailabilityParameters) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "location": autorest.Encode("path", location), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.AppPlatform/locations/{location}/checkNameAvailability", pathParameters), + autorest.WithJSON(availabilityParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CheckNameAvailabilitySender sends the CheckNameAvailability request. The method will close the +// http.Response Body if it receives an error. +func (client ServicesClient) CheckNameAvailabilitySender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CheckNameAvailabilityResponder handles the response to the CheckNameAvailability request. The method always +// closes the http.Response Body. +func (client ServicesClient) CheckNameAvailabilityResponder(resp *http.Response) (result NameAvailability, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// CreateOrUpdate create a new Service or update an exiting Service. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serviceName - the name of the Service resource. +// resource - parameters for the create or update operation +func (client ServicesClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, serviceName string, resource *ServiceResource) (result ServicesCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServicesClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resource, + Constraints: []validation.Constraint{{Target: "resource", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "resource.Properties", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "resource.Properties.ConfigServerProperties", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "resource.Properties.ConfigServerProperties.ConfigServer", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "resource.Properties.ConfigServerProperties.ConfigServer.GitProperty", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "resource.Properties.ConfigServerProperties.ConfigServer.GitProperty.URI", Name: validation.Null, Rule: true, Chain: nil}}}, + }}, + }}, + }}, + }}}}}); err != nil { + return result, validation.NewError("appplatform.ServicesClient", "CreateOrUpdate", err.Error()) + } + + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, serviceName, resource) + if err != nil { + err = autorest.NewErrorWithError(err, "appplatform.ServicesClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "appplatform.ServicesClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client ServicesClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, serviceName string, resource *ServiceResource) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serviceName": autorest.Encode("path", serviceName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + if resource != nil { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithJSON(resource)) + } + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client ServicesClient) CreateOrUpdateSender(req *http.Request) (future ServicesCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client ServicesClient) CreateOrUpdateResponder(resp *http.Response) (result ServiceResource, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete operation to delete a Service. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serviceName - the name of the Service resource. +func (client ServicesClient) Delete(ctx context.Context, resourceGroupName string, serviceName string) (result ServicesDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServicesClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, serviceName) + if err != nil { + err = autorest.NewErrorWithError(err, "appplatform.ServicesClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "appplatform.ServicesClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client ServicesClient) DeletePreparer(ctx context.Context, resourceGroupName string, serviceName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serviceName": autorest.Encode("path", serviceName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client ServicesClient) DeleteSender(req *http.Request) (future ServicesDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client ServicesClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// DisableTestEndpoint sends the disable test endpoint request. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serviceName - the name of the Service resource. +func (client ServicesClient) DisableTestEndpoint(ctx context.Context, resourceGroupName string, serviceName string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServicesClient.DisableTestEndpoint") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DisableTestEndpointPreparer(ctx, resourceGroupName, serviceName) + if err != nil { + err = autorest.NewErrorWithError(err, "appplatform.ServicesClient", "DisableTestEndpoint", nil, "Failure preparing request") + return + } + + resp, err := client.DisableTestEndpointSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "appplatform.ServicesClient", "DisableTestEndpoint", resp, "Failure sending request") + return + } + + result, err = client.DisableTestEndpointResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "appplatform.ServicesClient", "DisableTestEndpoint", resp, "Failure responding to request") + } + + return +} + +// DisableTestEndpointPreparer prepares the DisableTestEndpoint request. +func (client ServicesClient) DisableTestEndpointPreparer(ctx context.Context, resourceGroupName string, serviceName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serviceName": autorest.Encode("path", serviceName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/disableTestEndpoint", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DisableTestEndpointSender sends the DisableTestEndpoint request. The method will close the +// http.Response Body if it receives an error. +func (client ServicesClient) DisableTestEndpointSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// DisableTestEndpointResponder handles the response to the DisableTestEndpoint request. The method always +// closes the http.Response Body. +func (client ServicesClient) DisableTestEndpointResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByClosing()) + result.Response = resp + return +} + +// EnableTestEndpoint sends the enable test endpoint request. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serviceName - the name of the Service resource. +func (client ServicesClient) EnableTestEndpoint(ctx context.Context, resourceGroupName string, serviceName string) (result TestKeys, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServicesClient.EnableTestEndpoint") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.EnableTestEndpointPreparer(ctx, resourceGroupName, serviceName) + if err != nil { + err = autorest.NewErrorWithError(err, "appplatform.ServicesClient", "EnableTestEndpoint", nil, "Failure preparing request") + return + } + + resp, err := client.EnableTestEndpointSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "appplatform.ServicesClient", "EnableTestEndpoint", resp, "Failure sending request") + return + } + + result, err = client.EnableTestEndpointResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "appplatform.ServicesClient", "EnableTestEndpoint", resp, "Failure responding to request") + } + + return +} + +// EnableTestEndpointPreparer prepares the EnableTestEndpoint request. +func (client ServicesClient) EnableTestEndpointPreparer(ctx context.Context, resourceGroupName string, serviceName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serviceName": autorest.Encode("path", serviceName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/enableTestEndpoint", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// EnableTestEndpointSender sends the EnableTestEndpoint request. The method will close the +// http.Response Body if it receives an error. +func (client ServicesClient) EnableTestEndpointSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// EnableTestEndpointResponder handles the response to the EnableTestEndpoint request. The method always +// closes the http.Response Body. +func (client ServicesClient) EnableTestEndpointResponder(resp *http.Response) (result TestKeys, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Get get a Service and its properties. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serviceName - the name of the Service resource. +func (client ServicesClient) Get(ctx context.Context, resourceGroupName string, serviceName string) (result ServiceResource, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServicesClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, serviceName) + if err != nil { + err = autorest.NewErrorWithError(err, "appplatform.ServicesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "appplatform.ServicesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "appplatform.ServicesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client ServicesClient) GetPreparer(ctx context.Context, resourceGroupName string, serviceName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serviceName": autorest.Encode("path", serviceName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client ServicesClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client ServicesClient) GetResponder(resp *http.Response) (result ServiceResource, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List handles requests to list all resources in a resource group. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +func (client ServicesClient) List(ctx context.Context, resourceGroupName string) (result ServiceResourceListPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServicesClient.List") + defer func() { + sc := -1 + if result.srl.Response.Response != nil { + sc = result.srl.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "appplatform.ServicesClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.srl.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "appplatform.ServicesClient", "List", resp, "Failure sending request") + return + } + + result.srl, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "appplatform.ServicesClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client ServicesClient) ListPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client ServicesClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client ServicesClient) ListResponder(resp *http.Response) (result ServiceResourceList, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client ServicesClient) listNextResults(ctx context.Context, lastResults ServiceResourceList) (result ServiceResourceList, err error) { + req, err := lastResults.serviceResourceListPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "appplatform.ServicesClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "appplatform.ServicesClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "appplatform.ServicesClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client ServicesClient) ListComplete(ctx context.Context, resourceGroupName string) (result ServiceResourceListIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServicesClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName) + return +} + +// ListBySubscription handles requests to list all resources in a subscription. +func (client ServicesClient) ListBySubscription(ctx context.Context) (result ServiceResourceListPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServicesClient.ListBySubscription") + defer func() { + sc := -1 + if result.srl.Response.Response != nil { + sc = result.srl.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listBySubscriptionNextResults + req, err := client.ListBySubscriptionPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "appplatform.ServicesClient", "ListBySubscription", nil, "Failure preparing request") + return + } + + resp, err := client.ListBySubscriptionSender(req) + if err != nil { + result.srl.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "appplatform.ServicesClient", "ListBySubscription", resp, "Failure sending request") + return + } + + result.srl, err = client.ListBySubscriptionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "appplatform.ServicesClient", "ListBySubscription", resp, "Failure responding to request") + } + + return +} + +// ListBySubscriptionPreparer prepares the ListBySubscription request. +func (client ServicesClient) ListBySubscriptionPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.AppPlatform/Spring", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListBySubscriptionSender sends the ListBySubscription request. The method will close the +// http.Response Body if it receives an error. +func (client ServicesClient) ListBySubscriptionSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListBySubscriptionResponder handles the response to the ListBySubscription request. The method always +// closes the http.Response Body. +func (client ServicesClient) ListBySubscriptionResponder(resp *http.Response) (result ServiceResourceList, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listBySubscriptionNextResults retrieves the next set of results, if any. +func (client ServicesClient) listBySubscriptionNextResults(ctx context.Context, lastResults ServiceResourceList) (result ServiceResourceList, err error) { + req, err := lastResults.serviceResourceListPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "appplatform.ServicesClient", "listBySubscriptionNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListBySubscriptionSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "appplatform.ServicesClient", "listBySubscriptionNextResults", resp, "Failure sending next results request") + } + result, err = client.ListBySubscriptionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "appplatform.ServicesClient", "listBySubscriptionNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListBySubscriptionComplete enumerates all values, automatically crossing page boundaries as required. +func (client ServicesClient) ListBySubscriptionComplete(ctx context.Context) (result ServiceResourceListIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServicesClient.ListBySubscription") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListBySubscription(ctx) + return +} + +// ListTestKeys list test keys for a Service. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serviceName - the name of the Service resource. +func (client ServicesClient) ListTestKeys(ctx context.Context, resourceGroupName string, serviceName string) (result TestKeys, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServicesClient.ListTestKeys") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListTestKeysPreparer(ctx, resourceGroupName, serviceName) + if err != nil { + err = autorest.NewErrorWithError(err, "appplatform.ServicesClient", "ListTestKeys", nil, "Failure preparing request") + return + } + + resp, err := client.ListTestKeysSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "appplatform.ServicesClient", "ListTestKeys", resp, "Failure sending request") + return + } + + result, err = client.ListTestKeysResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "appplatform.ServicesClient", "ListTestKeys", resp, "Failure responding to request") + } + + return +} + +// ListTestKeysPreparer prepares the ListTestKeys request. +func (client ServicesClient) ListTestKeysPreparer(ctx context.Context, resourceGroupName string, serviceName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serviceName": autorest.Encode("path", serviceName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/listTestKeys", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListTestKeysSender sends the ListTestKeys request. The method will close the +// http.Response Body if it receives an error. +func (client ServicesClient) ListTestKeysSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListTestKeysResponder handles the response to the ListTestKeys request. The method always +// closes the http.Response Body. +func (client ServicesClient) ListTestKeysResponder(resp *http.Response) (result TestKeys, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// RegenerateTestKey regenerate a test key for a Service. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serviceName - the name of the Service resource. +// regenerateTestKeyRequest - parameters for the operation +func (client ServicesClient) RegenerateTestKey(ctx context.Context, resourceGroupName string, serviceName string, regenerateTestKeyRequest *RegenerateTestKeyRequestPayload) (result TestKeys, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServicesClient.RegenerateTestKey") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.RegenerateTestKeyPreparer(ctx, resourceGroupName, serviceName, regenerateTestKeyRequest) + if err != nil { + err = autorest.NewErrorWithError(err, "appplatform.ServicesClient", "RegenerateTestKey", nil, "Failure preparing request") + return + } + + resp, err := client.RegenerateTestKeySender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "appplatform.ServicesClient", "RegenerateTestKey", resp, "Failure sending request") + return + } + + result, err = client.RegenerateTestKeyResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "appplatform.ServicesClient", "RegenerateTestKey", resp, "Failure responding to request") + } + + return +} + +// RegenerateTestKeyPreparer prepares the RegenerateTestKey request. +func (client ServicesClient) RegenerateTestKeyPreparer(ctx context.Context, resourceGroupName string, serviceName string, regenerateTestKeyRequest *RegenerateTestKeyRequestPayload) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serviceName": autorest.Encode("path", serviceName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}/regenerateTestKey", pathParameters), + autorest.WithQueryParameters(queryParameters)) + if regenerateTestKeyRequest != nil { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithJSON(regenerateTestKeyRequest)) + } + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// RegenerateTestKeySender sends the RegenerateTestKey request. The method will close the +// http.Response Body if it receives an error. +func (client ServicesClient) RegenerateTestKeySender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// RegenerateTestKeyResponder handles the response to the RegenerateTestKey request. The method always +// closes the http.Response Body. +func (client ServicesClient) RegenerateTestKeyResponder(resp *http.Response) (result TestKeys, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Update operation to update an exiting Service. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serviceName - the name of the Service resource. +// resource - parameters for the update operation +func (client ServicesClient) Update(ctx context.Context, resourceGroupName string, serviceName string, resource *ServiceResource) (result ServicesUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServicesClient.Update") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdatePreparer(ctx, resourceGroupName, serviceName, resource) + if err != nil { + err = autorest.NewErrorWithError(err, "appplatform.ServicesClient", "Update", nil, "Failure preparing request") + return + } + + result, err = client.UpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "appplatform.ServicesClient", "Update", result.Response(), "Failure sending request") + return + } + + return +} + +// UpdatePreparer prepares the Update request. +func (client ServicesClient) UpdatePreparer(ctx context.Context, resourceGroupName string, serviceName string, resource *ServiceResource) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serviceName": autorest.Encode("path", serviceName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppPlatform/Spring/{serviceName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + if resource != nil { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithJSON(resource)) + } + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateSender sends the Update request. The method will close the +// http.Response Body if it receives an error. +func (client ServicesClient) UpdateSender(req *http.Request) (future ServicesUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// UpdateResponder handles the response to the Update request. The method always +// closes the http.Response Body. +func (client ServicesClient) UpdateResponder(resp *http.Response) (result ServiceResource, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/preview/appplatform/mgmt/2019-05-01-preview/appplatform/version.go b/services/preview/appplatform/mgmt/2019-05-01-preview/appplatform/version.go new file mode 100644 index 000000000000..ae12ebc2af4d --- /dev/null +++ b/services/preview/appplatform/mgmt/2019-05-01-preview/appplatform/version.go @@ -0,0 +1,30 @@ +package appplatform + +import "github.com/Azure/azure-sdk-for-go/version" + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +// UserAgent returns the UserAgent string to use when sending http.Requests. +func UserAgent() string { + return "Azure-SDK-For-Go/" + version.Number + " appplatform/2019-05-01-preview" +} + +// Version returns the semantic version (see http://semver.org) of the client. +func Version() string { + return version.Number +} diff --git a/services/preview/automation/mgmt/2017-05-15-preview/automation/dsccompilationjob.go b/services/preview/automation/mgmt/2017-05-15-preview/automation/dsccompilationjob.go index 239c0926be96..d82bca52bb16 100644 --- a/services/preview/automation/mgmt/2017-05-15-preview/automation/dsccompilationjob.go +++ b/services/preview/automation/mgmt/2017-05-15-preview/automation/dsccompilationjob.go @@ -46,7 +46,7 @@ func NewDscCompilationJobClientWithBaseURI(baseURI string, subscriptionID string // Parameters: // resourceGroupName - name of an Azure Resource group. // automationAccountName - the name of the automation account. -// compilationJobID - the the DSC configuration Id. +// compilationJobID - the DSC configuration Id. // parameters - the parameters supplied to the create compilation job operation. func (client DscCompilationJobClient) Create(ctx context.Context, resourceGroupName string, automationAccountName string, compilationJobID uuid.UUID, parameters DscCompilationJobCreateParameters) (result DscCompilationJob, err error) { if tracing.IsEnabled() { diff --git a/services/preview/automation/mgmt/2017-05-15-preview/automation/dscconfiguration.go b/services/preview/automation/mgmt/2017-05-15-preview/automation/dscconfiguration.go index 1336ef9e640c..1adb2650c6d0 100644 --- a/services/preview/automation/mgmt/2017-05-15-preview/automation/dscconfiguration.go +++ b/services/preview/automation/mgmt/2017-05-15-preview/automation/dscconfiguration.go @@ -405,7 +405,7 @@ func (client DscConfigurationClient) GetContentResponder(resp *http.Response) (r // automationAccountName - the name of the automation account. // filter - the filter to apply on the operation. // skip - the number of rows to skip. -// top - the the number of rows to take. +// top - the number of rows to take. // inlinecount - return total rows. func (client DscConfigurationClient) ListByAutomationAccount(ctx context.Context, resourceGroupName string, automationAccountName string, filter string, skip *int32, top *int32, inlinecount string) (result DscConfigurationListResultPage, err error) { if tracing.IsEnabled() { diff --git a/services/preview/automation/mgmt/2018-01-15-preview/automation/dsccompilationjob.go b/services/preview/automation/mgmt/2018-01-15-preview/automation/dsccompilationjob.go index 3fe70fe3f431..910535ed3316 100644 --- a/services/preview/automation/mgmt/2018-01-15-preview/automation/dsccompilationjob.go +++ b/services/preview/automation/mgmt/2018-01-15-preview/automation/dsccompilationjob.go @@ -46,7 +46,7 @@ func NewDscCompilationJobClientWithBaseURI(baseURI string, subscriptionID string // Parameters: // resourceGroupName - name of an Azure Resource group. // automationAccountName - the name of the automation account. -// compilationJobName - the the DSC configuration Id. +// compilationJobName - the DSC configuration Id. // parameters - the parameters supplied to the create compilation job operation. func (client DscCompilationJobClient) Create(ctx context.Context, resourceGroupName string, automationAccountName string, compilationJobName string, parameters DscCompilationJobCreateParameters) (result DscCompilationJobCreateFuture, err error) { if tracing.IsEnabled() { @@ -139,7 +139,7 @@ func (client DscCompilationJobClient) CreateResponder(resp *http.Response) (resu // Parameters: // resourceGroupName - name of an Azure Resource group. // automationAccountName - the name of the automation account. -// compilationJobName - the the DSC configuration Id. +// compilationJobName - the DSC configuration Id. func (client DscCompilationJobClient) Get(ctx context.Context, resourceGroupName string, automationAccountName string, compilationJobName string) (result DscCompilationJob, err error) { if tracing.IsEnabled() { ctx = tracing.StartSpan(ctx, fqdn+"/DscCompilationJobClient.Get") diff --git a/services/preview/automation/mgmt/2018-01-15-preview/automation/dscconfiguration.go b/services/preview/automation/mgmt/2018-01-15-preview/automation/dscconfiguration.go index 1336ef9e640c..1adb2650c6d0 100644 --- a/services/preview/automation/mgmt/2018-01-15-preview/automation/dscconfiguration.go +++ b/services/preview/automation/mgmt/2018-01-15-preview/automation/dscconfiguration.go @@ -405,7 +405,7 @@ func (client DscConfigurationClient) GetContentResponder(resp *http.Response) (r // automationAccountName - the name of the automation account. // filter - the filter to apply on the operation. // skip - the number of rows to skip. -// top - the the number of rows to take. +// top - the number of rows to take. // inlinecount - return total rows. func (client DscConfigurationClient) ListByAutomationAccount(ctx context.Context, resourceGroupName string, automationAccountName string, filter string, skip *int32, top *int32, inlinecount string) (result DscConfigurationListResultPage, err error) { if tracing.IsEnabled() { diff --git a/services/preview/automation/mgmt/2018-01-15-preview/automation/dscnode.go b/services/preview/automation/mgmt/2018-01-15-preview/automation/dscnode.go index 2a0123d1dad2..bca9fe56e034 100644 --- a/services/preview/automation/mgmt/2018-01-15-preview/automation/dscnode.go +++ b/services/preview/automation/mgmt/2018-01-15-preview/automation/dscnode.go @@ -221,7 +221,7 @@ func (client DscNodeClient) GetResponder(resp *http.Response) (result DscNode, e // automationAccountName - the name of the automation account. // filter - the filter to apply on the operation. // skip - the number of rows to skip. -// top - the the number of rows to take. +// top - the number of rows to take. // inlinecount - return total rows. func (client DscNodeClient) ListByAutomationAccount(ctx context.Context, resourceGroupName string, automationAccountName string, filter string, skip *int32, top *int32, inlinecount string) (result DscNodeListResultPage, err error) { if tracing.IsEnabled() { diff --git a/services/preview/automation/mgmt/2018-01-15-preview/automation/dscnodeconfiguration.go b/services/preview/automation/mgmt/2018-01-15-preview/automation/dscnodeconfiguration.go index fd68d07a16c8..8ad905e7abf0 100644 --- a/services/preview/automation/mgmt/2018-01-15-preview/automation/dscnodeconfiguration.go +++ b/services/preview/automation/mgmt/2018-01-15-preview/automation/dscnodeconfiguration.go @@ -320,7 +320,7 @@ func (client DscNodeConfigurationClient) GetResponder(resp *http.Response) (resu // automationAccountName - the name of the automation account. // filter - the filter to apply on the operation. // skip - the number of rows to skip. -// top - the the number of rows to take. +// top - the number of rows to take. // inlinecount - return total rows. func (client DscNodeConfigurationClient) ListByAutomationAccount(ctx context.Context, resourceGroupName string, automationAccountName string, filter string, skip *int32, top *int32, inlinecount string) (result DscNodeConfigurationListResultPage, err error) { if tracing.IsEnabled() { diff --git a/services/preview/automation/mgmt/2018-06-30-preview/automation/dsccompilationjob.go b/services/preview/automation/mgmt/2018-06-30-preview/automation/dsccompilationjob.go index 3fe70fe3f431..910535ed3316 100644 --- a/services/preview/automation/mgmt/2018-06-30-preview/automation/dsccompilationjob.go +++ b/services/preview/automation/mgmt/2018-06-30-preview/automation/dsccompilationjob.go @@ -46,7 +46,7 @@ func NewDscCompilationJobClientWithBaseURI(baseURI string, subscriptionID string // Parameters: // resourceGroupName - name of an Azure Resource group. // automationAccountName - the name of the automation account. -// compilationJobName - the the DSC configuration Id. +// compilationJobName - the DSC configuration Id. // parameters - the parameters supplied to the create compilation job operation. func (client DscCompilationJobClient) Create(ctx context.Context, resourceGroupName string, automationAccountName string, compilationJobName string, parameters DscCompilationJobCreateParameters) (result DscCompilationJobCreateFuture, err error) { if tracing.IsEnabled() { @@ -139,7 +139,7 @@ func (client DscCompilationJobClient) CreateResponder(resp *http.Response) (resu // Parameters: // resourceGroupName - name of an Azure Resource group. // automationAccountName - the name of the automation account. -// compilationJobName - the the DSC configuration Id. +// compilationJobName - the DSC configuration Id. func (client DscCompilationJobClient) Get(ctx context.Context, resourceGroupName string, automationAccountName string, compilationJobName string) (result DscCompilationJob, err error) { if tracing.IsEnabled() { ctx = tracing.StartSpan(ctx, fqdn+"/DscCompilationJobClient.Get") diff --git a/services/preview/automation/mgmt/2018-06-30-preview/automation/dscconfiguration.go b/services/preview/automation/mgmt/2018-06-30-preview/automation/dscconfiguration.go index 1336ef9e640c..1adb2650c6d0 100644 --- a/services/preview/automation/mgmt/2018-06-30-preview/automation/dscconfiguration.go +++ b/services/preview/automation/mgmt/2018-06-30-preview/automation/dscconfiguration.go @@ -405,7 +405,7 @@ func (client DscConfigurationClient) GetContentResponder(resp *http.Response) (r // automationAccountName - the name of the automation account. // filter - the filter to apply on the operation. // skip - the number of rows to skip. -// top - the the number of rows to take. +// top - the number of rows to take. // inlinecount - return total rows. func (client DscConfigurationClient) ListByAutomationAccount(ctx context.Context, resourceGroupName string, automationAccountName string, filter string, skip *int32, top *int32, inlinecount string) (result DscConfigurationListResultPage, err error) { if tracing.IsEnabled() { diff --git a/services/preview/automation/mgmt/2018-06-30-preview/automation/dscnode.go b/services/preview/automation/mgmt/2018-06-30-preview/automation/dscnode.go index 2a0123d1dad2..bca9fe56e034 100644 --- a/services/preview/automation/mgmt/2018-06-30-preview/automation/dscnode.go +++ b/services/preview/automation/mgmt/2018-06-30-preview/automation/dscnode.go @@ -221,7 +221,7 @@ func (client DscNodeClient) GetResponder(resp *http.Response) (result DscNode, e // automationAccountName - the name of the automation account. // filter - the filter to apply on the operation. // skip - the number of rows to skip. -// top - the the number of rows to take. +// top - the number of rows to take. // inlinecount - return total rows. func (client DscNodeClient) ListByAutomationAccount(ctx context.Context, resourceGroupName string, automationAccountName string, filter string, skip *int32, top *int32, inlinecount string) (result DscNodeListResultPage, err error) { if tracing.IsEnabled() { diff --git a/services/preview/automation/mgmt/2018-06-30-preview/automation/dscnodeconfiguration.go b/services/preview/automation/mgmt/2018-06-30-preview/automation/dscnodeconfiguration.go index fd68d07a16c8..8ad905e7abf0 100644 --- a/services/preview/automation/mgmt/2018-06-30-preview/automation/dscnodeconfiguration.go +++ b/services/preview/automation/mgmt/2018-06-30-preview/automation/dscnodeconfiguration.go @@ -320,7 +320,7 @@ func (client DscNodeConfigurationClient) GetResponder(resp *http.Response) (resu // automationAccountName - the name of the automation account. // filter - the filter to apply on the operation. // skip - the number of rows to skip. -// top - the the number of rows to take. +// top - the number of rows to take. // inlinecount - return total rows. func (client DscNodeConfigurationClient) ListByAutomationAccount(ctx context.Context, resourceGroupName string, automationAccountName string, filter string, skip *int32, top *int32, inlinecount string) (result DscNodeConfigurationListResultPage, err error) { if tracing.IsEnabled() { diff --git a/services/cognitiveservices/v2.0/luis/programmatic/apps.go b/services/preview/cognitiveservices/v3.0/luis/authoring/apps.go similarity index 52% rename from services/cognitiveservices/v2.0/luis/programmatic/apps.go rename to services/preview/cognitiveservices/v3.0/luis/authoring/apps.go index 335c8200384e..13de58e56cf0 100644 --- a/services/cognitiveservices/v2.0/luis/programmatic/apps.go +++ b/services/preview/cognitiveservices/v3.0/luis/authoring/apps.go @@ -1,4 +1,4 @@ -package programmatic +package authoring // Copyright (c) Microsoft and contributors. All rights reserved. // @@ -22,49 +22,60 @@ import ( "github.com/Azure/go-autorest/autorest" "github.com/Azure/go-autorest/autorest/azure" "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" "github.com/satori/go.uuid" "net/http" ) -// AppsClient is the client for the Apps methods of the Programmatic service. +// AppsClient is the client for the Apps methods of the Authoring service. type AppsClient struct { BaseClient } // NewAppsClient creates an instance of the AppsClient client. -func NewAppsClient(azureRegion AzureRegions) AppsClient { - return AppsClient{New(azureRegion)} +func NewAppsClient(endpoint string) AppsClient { + return AppsClient{New(endpoint)} } // Add creates a new LUIS app. // Parameters: -// applicationCreateObject - a model containing Name, Description (optional), Culture, Usage Scenario +// applicationCreateObject - an application containing Name, Description (optional), Culture, Usage Scenario // (optional), Domain (optional) and initial version ID (optional) of the application. Default value for the -// version ID is 0.1. Note: the culture cannot be changed after the app is created. +// version ID is "0.1". Note: the culture cannot be changed after the app is created. func (client AppsClient) Add(ctx context.Context, applicationCreateObject ApplicationCreateObject) (result UUID, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.Add") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } if err := validation.Validate([]validation.Validation{ {TargetValue: applicationCreateObject, Constraints: []validation.Constraint{{Target: "applicationCreateObject.Culture", Name: validation.Null, Rule: true, Chain: nil}, {Target: "applicationCreateObject.Name", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { - return result, validation.NewError("programmatic.AppsClient", "Add", err.Error()) + return result, validation.NewError("authoring.AppsClient", "Add", err.Error()) } req, err := client.AddPreparer(ctx, applicationCreateObject) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.AppsClient", "Add", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.AppsClient", "Add", nil, "Failure preparing request") return } resp, err := client.AddSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.AppsClient", "Add", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.AppsClient", "Add", resp, "Failure sending request") return } result, err = client.AddResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.AppsClient", "Add", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.AppsClient", "Add", resp, "Failure responding to request") } return @@ -73,13 +84,13 @@ func (client AppsClient) Add(ctx context.Context, applicationCreateObject Applic // AddPreparer prepares the Add request. func (client AppsClient) AddPreparer(ctx context.Context, applicationCreateObject ApplicationCreateObject) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } preparer := autorest.CreatePreparer( autorest.AsContentType("application/json; charset=utf-8"), autorest.AsPost(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPath("/apps/"), autorest.WithJSON(applicationCreateObject)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) @@ -88,8 +99,8 @@ func (client AppsClient) AddPreparer(ctx context.Context, applicationCreateObjec // AddSender sends the Add request. The method will close the // http.Response Body if it receives an error. func (client AppsClient) AddSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // AddResponder handles the response to the Add request. The method always @@ -105,26 +116,36 @@ func (client AppsClient) AddResponder(resp *http.Response) (result UUID, err err return } -// AddCustomPrebuiltDomain adds a prebuilt domain along with its models as a new application. +// AddCustomPrebuiltDomain adds a prebuilt domain along with its intent and entity models as a new application. // Parameters: // prebuiltDomainCreateObject - a prebuilt domain create object containing the name and culture of the domain. func (client AppsClient) AddCustomPrebuiltDomain(ctx context.Context, prebuiltDomainCreateObject PrebuiltDomainCreateObject) (result UUID, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.AddCustomPrebuiltDomain") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } req, err := client.AddCustomPrebuiltDomainPreparer(ctx, prebuiltDomainCreateObject) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.AppsClient", "AddCustomPrebuiltDomain", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.AppsClient", "AddCustomPrebuiltDomain", nil, "Failure preparing request") return } resp, err := client.AddCustomPrebuiltDomainSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.AppsClient", "AddCustomPrebuiltDomain", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.AppsClient", "AddCustomPrebuiltDomain", resp, "Failure sending request") return } result, err = client.AddCustomPrebuiltDomainResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.AppsClient", "AddCustomPrebuiltDomain", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.AppsClient", "AddCustomPrebuiltDomain", resp, "Failure responding to request") } return @@ -133,13 +154,13 @@ func (client AppsClient) AddCustomPrebuiltDomain(ctx context.Context, prebuiltDo // AddCustomPrebuiltDomainPreparer prepares the AddCustomPrebuiltDomain request. func (client AppsClient) AddCustomPrebuiltDomainPreparer(ctx context.Context, prebuiltDomainCreateObject PrebuiltDomainCreateObject) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } preparer := autorest.CreatePreparer( autorest.AsContentType("application/json; charset=utf-8"), autorest.AsPost(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPath("/apps/customprebuiltdomains"), autorest.WithJSON(prebuiltDomainCreateObject)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) @@ -148,8 +169,8 @@ func (client AppsClient) AddCustomPrebuiltDomainPreparer(ctx context.Context, pr // AddCustomPrebuiltDomainSender sends the AddCustomPrebuiltDomain request. The method will close the // http.Response Body if it receives an error. func (client AppsClient) AddCustomPrebuiltDomainSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // AddCustomPrebuiltDomainResponder handles the response to the AddCustomPrebuiltDomain request. The method always @@ -168,50 +189,69 @@ func (client AppsClient) AddCustomPrebuiltDomainResponder(resp *http.Response) ( // Delete deletes an application. // Parameters: // appID - the application ID. -func (client AppsClient) Delete(ctx context.Context, appID uuid.UUID) (result OperationStatus, err error) { - req, err := client.DeletePreparer(ctx, appID) +// force - a flag to indicate whether to force an operation. +func (client AppsClient) Delete(ctx context.Context, appID uuid.UUID, force *bool) (result OperationStatus, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.Delete") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, appID, force) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.AppsClient", "Delete", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.AppsClient", "Delete", nil, "Failure preparing request") return } resp, err := client.DeleteSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.AppsClient", "Delete", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.AppsClient", "Delete", resp, "Failure sending request") return } result, err = client.DeleteResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.AppsClient", "Delete", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.AppsClient", "Delete", resp, "Failure responding to request") } return } // DeletePreparer prepares the Delete request. -func (client AppsClient) DeletePreparer(ctx context.Context, appID uuid.UUID) (*http.Request, error) { +func (client AppsClient) DeletePreparer(ctx context.Context, appID uuid.UUID, force *bool) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ "appId": autorest.Encode("path", appID), } + queryParameters := map[string]interface{}{} + if force != nil { + queryParameters["force"] = autorest.Encode("query", *force) + } else { + queryParameters["force"] = autorest.Encode("query", false) + } + preparer := autorest.CreatePreparer( autorest.AsDelete(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), - autorest.WithPathParameters("/apps/{appId}", pathParameters)) + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), + autorest.WithPathParameters("/apps/{appId}", pathParameters), + autorest.WithQueryParameters(queryParameters)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) } // DeleteSender sends the Delete request. The method will close the // http.Response Body if it receives an error. func (client AppsClient) DeleteSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // DeleteResponder handles the response to the Delete request. The method always @@ -227,26 +267,36 @@ func (client AppsClient) DeleteResponder(resp *http.Response) (result OperationS return } -// DownloadQueryLogs gets the query logs of the past month for the application. +// DownloadQueryLogs gets the logs of the past month's endpoint queries for the application. // Parameters: // appID - the application ID. func (client AppsClient) DownloadQueryLogs(ctx context.Context, appID uuid.UUID) (result ReadCloser, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.DownloadQueryLogs") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } req, err := client.DownloadQueryLogsPreparer(ctx, appID) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.AppsClient", "DownloadQueryLogs", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.AppsClient", "DownloadQueryLogs", nil, "Failure preparing request") return } resp, err := client.DownloadQueryLogsSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.AppsClient", "DownloadQueryLogs", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.AppsClient", "DownloadQueryLogs", resp, "Failure sending request") return } result, err = client.DownloadQueryLogsResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.AppsClient", "DownloadQueryLogs", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.AppsClient", "DownloadQueryLogs", resp, "Failure responding to request") } return @@ -255,7 +305,7 @@ func (client AppsClient) DownloadQueryLogs(ctx context.Context, appID uuid.UUID) // DownloadQueryLogsPreparer prepares the DownloadQueryLogs request. func (client AppsClient) DownloadQueryLogsPreparer(ctx context.Context, appID uuid.UUID) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -264,7 +314,7 @@ func (client AppsClient) DownloadQueryLogsPreparer(ctx context.Context, appID uu preparer := autorest.CreatePreparer( autorest.AsGet(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPathParameters("/apps/{appId}/querylogs", pathParameters)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) } @@ -272,8 +322,8 @@ func (client AppsClient) DownloadQueryLogsPreparer(ctx context.Context, appID uu // DownloadQueryLogsSender sends the DownloadQueryLogs request. The method will close the // http.Response Body if it receives an error. func (client AppsClient) DownloadQueryLogsSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // DownloadQueryLogsResponder handles the response to the DownloadQueryLogs request. The method always @@ -292,22 +342,32 @@ func (client AppsClient) DownloadQueryLogsResponder(resp *http.Response) (result // Parameters: // appID - the application ID. func (client AppsClient) Get(ctx context.Context, appID uuid.UUID) (result ApplicationInfoResponse, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } req, err := client.GetPreparer(ctx, appID) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.AppsClient", "Get", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.AppsClient", "Get", nil, "Failure preparing request") return } resp, err := client.GetSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.AppsClient", "Get", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.AppsClient", "Get", resp, "Failure sending request") return } result, err = client.GetResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.AppsClient", "Get", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.AppsClient", "Get", resp, "Failure responding to request") } return @@ -316,7 +376,7 @@ func (client AppsClient) Get(ctx context.Context, appID uuid.UUID) (result Appli // GetPreparer prepares the Get request. func (client AppsClient) GetPreparer(ctx context.Context, appID uuid.UUID) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -325,7 +385,7 @@ func (client AppsClient) GetPreparer(ctx context.Context, appID uuid.UUID) (*htt preparer := autorest.CreatePreparer( autorest.AsGet(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPathParameters("/apps/{appId}", pathParameters)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) } @@ -333,8 +393,8 @@ func (client AppsClient) GetPreparer(ctx context.Context, appID uuid.UUID) (*htt // GetSender sends the Get request. The method will close the // http.Response Body if it receives an error. func (client AppsClient) GetSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // GetResponder handles the response to the Get request. The method always @@ -350,26 +410,108 @@ func (client AppsClient) GetResponder(resp *http.Response) (result ApplicationIn return } -// GetSettings get the application settings. +// GetPublishSettings get the application publish settings including 'UseAllTrainingData'. +// Parameters: +// appID - the application ID. +func (client AppsClient) GetPublishSettings(ctx context.Context, appID uuid.UUID) (result PublishSettings, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.GetPublishSettings") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPublishSettingsPreparer(ctx, appID) + if err != nil { + err = autorest.NewErrorWithError(err, "authoring.AppsClient", "GetPublishSettings", nil, "Failure preparing request") + return + } + + resp, err := client.GetPublishSettingsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "authoring.AppsClient", "GetPublishSettings", resp, "Failure sending request") + return + } + + result, err = client.GetPublishSettingsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "authoring.AppsClient", "GetPublishSettings", resp, "Failure responding to request") + } + + return +} + +// GetPublishSettingsPreparer prepares the GetPublishSettings request. +func (client AppsClient) GetPublishSettingsPreparer(ctx context.Context, appID uuid.UUID) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "Endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "appId": autorest.Encode("path", appID), + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), + autorest.WithPathParameters("/apps/{appId}/publishsettings", pathParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetPublishSettingsSender sends the GetPublishSettings request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetPublishSettingsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetPublishSettingsResponder handles the response to the GetPublishSettings request. The method always +// closes the http.Response Body. +func (client AppsClient) GetPublishSettingsResponder(resp *http.Response) (result PublishSettings, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetSettings get the application settings including 'UseAllTrainingData'. // Parameters: // appID - the application ID. func (client AppsClient) GetSettings(ctx context.Context, appID uuid.UUID) (result ApplicationSettings, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.GetSettings") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } req, err := client.GetSettingsPreparer(ctx, appID) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.AppsClient", "GetSettings", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.AppsClient", "GetSettings", nil, "Failure preparing request") return } resp, err := client.GetSettingsSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.AppsClient", "GetSettings", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.AppsClient", "GetSettings", resp, "Failure sending request") return } result, err = client.GetSettingsResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.AppsClient", "GetSettings", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.AppsClient", "GetSettings", resp, "Failure responding to request") } return @@ -378,7 +520,7 @@ func (client AppsClient) GetSettings(ctx context.Context, appID uuid.UUID) (resu // GetSettingsPreparer prepares the GetSettings request. func (client AppsClient) GetSettingsPreparer(ctx context.Context, appID uuid.UUID) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -387,7 +529,7 @@ func (client AppsClient) GetSettingsPreparer(ctx context.Context, appID uuid.UUI preparer := autorest.CreatePreparer( autorest.AsGet(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPathParameters("/apps/{appId}/settings", pathParameters)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) } @@ -395,8 +537,8 @@ func (client AppsClient) GetSettingsPreparer(ctx context.Context, appID uuid.UUI // GetSettingsSender sends the GetSettings request. The method will close the // http.Response Body if it receives an error. func (client AppsClient) GetSettingsSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // GetSettingsResponder handles the response to the GetSettings request. The method always @@ -412,28 +554,38 @@ func (client AppsClient) GetSettingsResponder(resp *http.Response) (result Appli return } -// Import imports an application to LUIS, the application's structure should be included in in the request body. +// Import imports an application to LUIS, the application's structure is included in the request body. // Parameters: // luisApp - a LUIS application structure. // appName - the application name to create. If not specified, the application name will be read from the -// imported object. +// imported object. If the application name already exists, an error is returned. func (client AppsClient) Import(ctx context.Context, luisApp LuisApp, appName string) (result UUID, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.Import") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } req, err := client.ImportPreparer(ctx, luisApp, appName) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.AppsClient", "Import", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.AppsClient", "Import", nil, "Failure preparing request") return } resp, err := client.ImportSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.AppsClient", "Import", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.AppsClient", "Import", resp, "Failure sending request") return } result, err = client.ImportResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.AppsClient", "Import", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.AppsClient", "Import", resp, "Failure responding to request") } return @@ -442,7 +594,7 @@ func (client AppsClient) Import(ctx context.Context, luisApp LuisApp, appName st // ImportPreparer prepares the Import request. func (client AppsClient) ImportPreparer(ctx context.Context, luisApp LuisApp, appName string) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } queryParameters := map[string]interface{}{} @@ -453,7 +605,7 @@ func (client AppsClient) ImportPreparer(ctx context.Context, luisApp LuisApp, ap preparer := autorest.CreatePreparer( autorest.AsContentType("application/json; charset=utf-8"), autorest.AsPost(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPath("/apps/import"), autorest.WithJSON(luisApp), autorest.WithQueryParameters(queryParameters)) @@ -463,8 +615,8 @@ func (client AppsClient) ImportPreparer(ctx context.Context, luisApp LuisApp, ap // ImportSender sends the Import request. The method will close the // http.Response Body if it receives an error. func (client AppsClient) ImportSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // ImportResponder handles the response to the Import request. The method always @@ -480,39 +632,49 @@ func (client AppsClient) ImportResponder(resp *http.Response) (result UUID, err return } -// List lists all of the user applications. +// List lists all of the user's applications. // Parameters: // skip - the number of entries to skip. Default value is 0. // take - the number of entries to return. Maximum page size is 500. Default is 100. func (client AppsClient) List(ctx context.Context, skip *int32, take *int32) (result ListApplicationInfoResponse, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.List") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } if err := validation.Validate([]validation.Validation{ {TargetValue: skip, Constraints: []validation.Constraint{{Target: "skip", Name: validation.Null, Rule: false, Chain: []validation.Constraint{{Target: "skip", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}}}}}, {TargetValue: take, Constraints: []validation.Constraint{{Target: "take", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "take", Name: validation.InclusiveMaximum, Rule: 500, Chain: nil}, + Chain: []validation.Constraint{{Target: "take", Name: validation.InclusiveMaximum, Rule: int64(500), Chain: nil}, {Target: "take", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}, }}}}}); err != nil { - return result, validation.NewError("programmatic.AppsClient", "List", err.Error()) + return result, validation.NewError("authoring.AppsClient", "List", err.Error()) } req, err := client.ListPreparer(ctx, skip, take) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.AppsClient", "List", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.AppsClient", "List", nil, "Failure preparing request") return } resp, err := client.ListSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.AppsClient", "List", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.AppsClient", "List", resp, "Failure sending request") return } result, err = client.ListResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.AppsClient", "List", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.AppsClient", "List", resp, "Failure responding to request") } return @@ -521,7 +683,7 @@ func (client AppsClient) List(ctx context.Context, skip *int32, take *int32) (re // ListPreparer prepares the List request. func (client AppsClient) ListPreparer(ctx context.Context, skip *int32, take *int32) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } queryParameters := map[string]interface{}{} @@ -538,7 +700,7 @@ func (client AppsClient) ListPreparer(ctx context.Context, skip *int32, take *in preparer := autorest.CreatePreparer( autorest.AsGet(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPath("/apps/"), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) @@ -547,8 +709,8 @@ func (client AppsClient) ListPreparer(ctx context.Context, skip *int32, take *in // ListSender sends the List request. The method will close the // http.Response Body if it receives an error. func (client AppsClient) ListSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // ListResponder handles the response to the List request. The method always @@ -566,22 +728,32 @@ func (client AppsClient) ListResponder(resp *http.Response) (result ListApplicat // ListAvailableCustomPrebuiltDomains gets all the available custom prebuilt domains for all cultures. func (client AppsClient) ListAvailableCustomPrebuiltDomains(ctx context.Context) (result ListPrebuiltDomain, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListAvailableCustomPrebuiltDomains") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } req, err := client.ListAvailableCustomPrebuiltDomainsPreparer(ctx) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.AppsClient", "ListAvailableCustomPrebuiltDomains", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.AppsClient", "ListAvailableCustomPrebuiltDomains", nil, "Failure preparing request") return } resp, err := client.ListAvailableCustomPrebuiltDomainsSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.AppsClient", "ListAvailableCustomPrebuiltDomains", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.AppsClient", "ListAvailableCustomPrebuiltDomains", resp, "Failure sending request") return } result, err = client.ListAvailableCustomPrebuiltDomainsResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.AppsClient", "ListAvailableCustomPrebuiltDomains", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.AppsClient", "ListAvailableCustomPrebuiltDomains", resp, "Failure responding to request") } return @@ -590,12 +762,12 @@ func (client AppsClient) ListAvailableCustomPrebuiltDomains(ctx context.Context) // ListAvailableCustomPrebuiltDomainsPreparer prepares the ListAvailableCustomPrebuiltDomains request. func (client AppsClient) ListAvailableCustomPrebuiltDomainsPreparer(ctx context.Context) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } preparer := autorest.CreatePreparer( autorest.AsGet(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPath("/apps/customprebuiltdomains")) return preparer.Prepare((&http.Request{}).WithContext(ctx)) } @@ -603,8 +775,8 @@ func (client AppsClient) ListAvailableCustomPrebuiltDomainsPreparer(ctx context. // ListAvailableCustomPrebuiltDomainsSender sends the ListAvailableCustomPrebuiltDomains request. The method will close the // http.Response Body if it receives an error. func (client AppsClient) ListAvailableCustomPrebuiltDomainsSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // ListAvailableCustomPrebuiltDomainsResponder handles the response to the ListAvailableCustomPrebuiltDomains request. The method always @@ -620,26 +792,36 @@ func (client AppsClient) ListAvailableCustomPrebuiltDomainsResponder(resp *http. return } -// ListAvailableCustomPrebuiltDomainsForCulture gets all the available custom prebuilt domains for a specific culture. +// ListAvailableCustomPrebuiltDomainsForCulture gets all the available prebuilt domains for a specific culture. // Parameters: // culture - culture. func (client AppsClient) ListAvailableCustomPrebuiltDomainsForCulture(ctx context.Context, culture string) (result ListPrebuiltDomain, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListAvailableCustomPrebuiltDomainsForCulture") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } req, err := client.ListAvailableCustomPrebuiltDomainsForCulturePreparer(ctx, culture) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.AppsClient", "ListAvailableCustomPrebuiltDomainsForCulture", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.AppsClient", "ListAvailableCustomPrebuiltDomainsForCulture", nil, "Failure preparing request") return } resp, err := client.ListAvailableCustomPrebuiltDomainsForCultureSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.AppsClient", "ListAvailableCustomPrebuiltDomainsForCulture", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.AppsClient", "ListAvailableCustomPrebuiltDomainsForCulture", resp, "Failure sending request") return } result, err = client.ListAvailableCustomPrebuiltDomainsForCultureResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.AppsClient", "ListAvailableCustomPrebuiltDomainsForCulture", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.AppsClient", "ListAvailableCustomPrebuiltDomainsForCulture", resp, "Failure responding to request") } return @@ -648,7 +830,7 @@ func (client AppsClient) ListAvailableCustomPrebuiltDomainsForCulture(ctx contex // ListAvailableCustomPrebuiltDomainsForCulturePreparer prepares the ListAvailableCustomPrebuiltDomainsForCulture request. func (client AppsClient) ListAvailableCustomPrebuiltDomainsForCulturePreparer(ctx context.Context, culture string) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -657,7 +839,7 @@ func (client AppsClient) ListAvailableCustomPrebuiltDomainsForCulturePreparer(ct preparer := autorest.CreatePreparer( autorest.AsGet(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPathParameters("/apps/customprebuiltdomains/{culture}", pathParameters)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) } @@ -665,8 +847,8 @@ func (client AppsClient) ListAvailableCustomPrebuiltDomainsForCulturePreparer(ct // ListAvailableCustomPrebuiltDomainsForCultureSender sends the ListAvailableCustomPrebuiltDomainsForCulture request. The method will close the // http.Response Body if it receives an error. func (client AppsClient) ListAvailableCustomPrebuiltDomainsForCultureSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // ListAvailableCustomPrebuiltDomainsForCultureResponder handles the response to the ListAvailableCustomPrebuiltDomainsForCulture request. The method always @@ -684,22 +866,32 @@ func (client AppsClient) ListAvailableCustomPrebuiltDomainsForCultureResponder(r // ListCortanaEndpoints gets the endpoint URLs for the prebuilt Cortana applications. func (client AppsClient) ListCortanaEndpoints(ctx context.Context) (result PersonalAssistantsResponse, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListCortanaEndpoints") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } req, err := client.ListCortanaEndpointsPreparer(ctx) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.AppsClient", "ListCortanaEndpoints", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.AppsClient", "ListCortanaEndpoints", nil, "Failure preparing request") return } resp, err := client.ListCortanaEndpointsSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.AppsClient", "ListCortanaEndpoints", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.AppsClient", "ListCortanaEndpoints", resp, "Failure sending request") return } result, err = client.ListCortanaEndpointsResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.AppsClient", "ListCortanaEndpoints", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.AppsClient", "ListCortanaEndpoints", resp, "Failure responding to request") } return @@ -708,12 +900,12 @@ func (client AppsClient) ListCortanaEndpoints(ctx context.Context) (result Perso // ListCortanaEndpointsPreparer prepares the ListCortanaEndpoints request. func (client AppsClient) ListCortanaEndpointsPreparer(ctx context.Context) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } preparer := autorest.CreatePreparer( autorest.AsGet(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPath("/apps/assistants")) return preparer.Prepare((&http.Request{}).WithContext(ctx)) } @@ -721,8 +913,8 @@ func (client AppsClient) ListCortanaEndpointsPreparer(ctx context.Context) (*htt // ListCortanaEndpointsSender sends the ListCortanaEndpoints request. The method will close the // http.Response Body if it receives an error. func (client AppsClient) ListCortanaEndpointsSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // ListCortanaEndpointsResponder handles the response to the ListCortanaEndpoints request. The method always @@ -740,22 +932,32 @@ func (client AppsClient) ListCortanaEndpointsResponder(resp *http.Response) (res // ListDomains gets the available application domains. func (client AppsClient) ListDomains(ctx context.Context) (result ListString, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListDomains") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } req, err := client.ListDomainsPreparer(ctx) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.AppsClient", "ListDomains", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.AppsClient", "ListDomains", nil, "Failure preparing request") return } resp, err := client.ListDomainsSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.AppsClient", "ListDomains", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.AppsClient", "ListDomains", resp, "Failure sending request") return } result, err = client.ListDomainsResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.AppsClient", "ListDomains", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.AppsClient", "ListDomains", resp, "Failure responding to request") } return @@ -764,12 +966,12 @@ func (client AppsClient) ListDomains(ctx context.Context) (result ListString, er // ListDomainsPreparer prepares the ListDomains request. func (client AppsClient) ListDomainsPreparer(ctx context.Context) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } preparer := autorest.CreatePreparer( autorest.AsGet(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPath("/apps/domains")) return preparer.Prepare((&http.Request{}).WithContext(ctx)) } @@ -777,8 +979,8 @@ func (client AppsClient) ListDomainsPreparer(ctx context.Context) (*http.Request // ListDomainsSender sends the ListDomains request. The method will close the // http.Response Body if it receives an error. func (client AppsClient) ListDomainsSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // ListDomainsResponder handles the response to the ListDomains request. The method always @@ -798,22 +1000,32 @@ func (client AppsClient) ListDomainsResponder(resp *http.Response) (result ListS // Parameters: // appID - the application ID. func (client AppsClient) ListEndpoints(ctx context.Context, appID uuid.UUID) (result SetString, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListEndpoints") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } req, err := client.ListEndpointsPreparer(ctx, appID) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.AppsClient", "ListEndpoints", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.AppsClient", "ListEndpoints", nil, "Failure preparing request") return } resp, err := client.ListEndpointsSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.AppsClient", "ListEndpoints", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.AppsClient", "ListEndpoints", resp, "Failure sending request") return } result, err = client.ListEndpointsResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.AppsClient", "ListEndpoints", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.AppsClient", "ListEndpoints", resp, "Failure responding to request") } return @@ -822,7 +1034,7 @@ func (client AppsClient) ListEndpoints(ctx context.Context, appID uuid.UUID) (re // ListEndpointsPreparer prepares the ListEndpoints request. func (client AppsClient) ListEndpointsPreparer(ctx context.Context, appID uuid.UUID) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -831,7 +1043,7 @@ func (client AppsClient) ListEndpointsPreparer(ctx context.Context, appID uuid.U preparer := autorest.CreatePreparer( autorest.AsGet(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPathParameters("/apps/{appId}/endpoints", pathParameters)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) } @@ -839,8 +1051,8 @@ func (client AppsClient) ListEndpointsPreparer(ctx context.Context, appID uuid.U // ListEndpointsSender sends the ListEndpoints request. The method will close the // http.Response Body if it receives an error. func (client AppsClient) ListEndpointsSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // ListEndpointsResponder handles the response to the ListEndpoints request. The method always @@ -856,24 +1068,35 @@ func (client AppsClient) ListEndpointsResponder(resp *http.Response) (result Set return } -// ListSupportedCultures gets the supported application cultures. +// ListSupportedCultures gets a list of supported cultures. Cultures are equivalent to the written language and locale. +// For example,"en-us" represents the U.S. variation of English. func (client AppsClient) ListSupportedCultures(ctx context.Context) (result ListAvailableCulture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListSupportedCultures") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } req, err := client.ListSupportedCulturesPreparer(ctx) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.AppsClient", "ListSupportedCultures", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.AppsClient", "ListSupportedCultures", nil, "Failure preparing request") return } resp, err := client.ListSupportedCulturesSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.AppsClient", "ListSupportedCultures", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.AppsClient", "ListSupportedCultures", resp, "Failure sending request") return } result, err = client.ListSupportedCulturesResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.AppsClient", "ListSupportedCultures", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.AppsClient", "ListSupportedCultures", resp, "Failure responding to request") } return @@ -882,12 +1105,12 @@ func (client AppsClient) ListSupportedCultures(ctx context.Context) (result List // ListSupportedCulturesPreparer prepares the ListSupportedCultures request. func (client AppsClient) ListSupportedCulturesPreparer(ctx context.Context) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } preparer := autorest.CreatePreparer( autorest.AsGet(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPath("/apps/cultures")) return preparer.Prepare((&http.Request{}).WithContext(ctx)) } @@ -895,8 +1118,8 @@ func (client AppsClient) ListSupportedCulturesPreparer(ctx context.Context) (*ht // ListSupportedCulturesSender sends the ListSupportedCultures request. The method will close the // http.Response Body if it receives an error. func (client AppsClient) ListSupportedCulturesSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // ListSupportedCulturesResponder handles the response to the ListSupportedCultures request. The method always @@ -914,22 +1137,32 @@ func (client AppsClient) ListSupportedCulturesResponder(resp *http.Response) (re // ListUsageScenarios gets the application available usage scenarios. func (client AppsClient) ListUsageScenarios(ctx context.Context) (result ListString, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListUsageScenarios") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } req, err := client.ListUsageScenariosPreparer(ctx) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.AppsClient", "ListUsageScenarios", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.AppsClient", "ListUsageScenarios", nil, "Failure preparing request") return } resp, err := client.ListUsageScenariosSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.AppsClient", "ListUsageScenarios", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.AppsClient", "ListUsageScenarios", resp, "Failure sending request") return } result, err = client.ListUsageScenariosResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.AppsClient", "ListUsageScenarios", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.AppsClient", "ListUsageScenarios", resp, "Failure responding to request") } return @@ -938,12 +1171,12 @@ func (client AppsClient) ListUsageScenarios(ctx context.Context) (result ListStr // ListUsageScenariosPreparer prepares the ListUsageScenarios request. func (client AppsClient) ListUsageScenariosPreparer(ctx context.Context) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } preparer := autorest.CreatePreparer( autorest.AsGet(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPath("/apps/usagescenarios")) return preparer.Prepare((&http.Request{}).WithContext(ctx)) } @@ -951,8 +1184,8 @@ func (client AppsClient) ListUsageScenariosPreparer(ctx context.Context) (*http. // ListUsageScenariosSender sends the ListUsageScenarios request. The method will close the // http.Response Body if it receives an error. func (client AppsClient) ListUsageScenariosSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // ListUsageScenariosResponder handles the response to the ListUsageScenarios request. The method always @@ -968,28 +1201,185 @@ func (client AppsClient) ListUsageScenariosResponder(resp *http.Response) (resul return } +// PackagePublishedApplicationAsGzip packages a published LUIS application as a GZip file to be used in the LUIS +// container. +// Parameters: +// appID - the application ID. +// slotName - the publishing slot name. +func (client AppsClient) PackagePublishedApplicationAsGzip(ctx context.Context, appID uuid.UUID, slotName string) (result ReadCloser, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.PackagePublishedApplicationAsGzip") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.PackagePublishedApplicationAsGzipPreparer(ctx, appID, slotName) + if err != nil { + err = autorest.NewErrorWithError(err, "authoring.AppsClient", "PackagePublishedApplicationAsGzip", nil, "Failure preparing request") + return + } + + resp, err := client.PackagePublishedApplicationAsGzipSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "authoring.AppsClient", "PackagePublishedApplicationAsGzip", resp, "Failure sending request") + return + } + + result, err = client.PackagePublishedApplicationAsGzipResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "authoring.AppsClient", "PackagePublishedApplicationAsGzip", resp, "Failure responding to request") + } + + return +} + +// PackagePublishedApplicationAsGzipPreparer prepares the PackagePublishedApplicationAsGzip request. +func (client AppsClient) PackagePublishedApplicationAsGzipPreparer(ctx context.Context, appID uuid.UUID, slotName string) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "Endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "appId": autorest.Encode("path", appID), + "slotName": autorest.Encode("path", slotName), + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), + autorest.WithPathParameters("/package/{appId}/slot/{slotName}/gzip", pathParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// PackagePublishedApplicationAsGzipSender sends the PackagePublishedApplicationAsGzip request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) PackagePublishedApplicationAsGzipSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// PackagePublishedApplicationAsGzipResponder handles the response to the PackagePublishedApplicationAsGzip request. The method always +// closes the http.Response Body. +func (client AppsClient) PackagePublishedApplicationAsGzipResponder(resp *http.Response) (result ReadCloser, err error) { + result.Value = &resp.Body + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK)) + result.Response = autorest.Response{Response: resp} + return +} + +// PackageTrainedApplicationAsGzip packages trained LUIS application as GZip file to be used in the LUIS container. +// Parameters: +// appID - the application ID. +// versionID - the version ID. +func (client AppsClient) PackageTrainedApplicationAsGzip(ctx context.Context, appID uuid.UUID, versionID string) (result ReadCloser, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.PackageTrainedApplicationAsGzip") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.PackageTrainedApplicationAsGzipPreparer(ctx, appID, versionID) + if err != nil { + err = autorest.NewErrorWithError(err, "authoring.AppsClient", "PackageTrainedApplicationAsGzip", nil, "Failure preparing request") + return + } + + resp, err := client.PackageTrainedApplicationAsGzipSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "authoring.AppsClient", "PackageTrainedApplicationAsGzip", resp, "Failure sending request") + return + } + + result, err = client.PackageTrainedApplicationAsGzipResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "authoring.AppsClient", "PackageTrainedApplicationAsGzip", resp, "Failure responding to request") + } + + return +} + +// PackageTrainedApplicationAsGzipPreparer prepares the PackageTrainedApplicationAsGzip request. +func (client AppsClient) PackageTrainedApplicationAsGzipPreparer(ctx context.Context, appID uuid.UUID, versionID string) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "Endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "appId": autorest.Encode("path", appID), + "versionId": autorest.Encode("path", versionID), + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), + autorest.WithPathParameters("/package/{appId}/versions/{versionId}/gzip", pathParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// PackageTrainedApplicationAsGzipSender sends the PackageTrainedApplicationAsGzip request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) PackageTrainedApplicationAsGzipSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// PackageTrainedApplicationAsGzipResponder handles the response to the PackageTrainedApplicationAsGzip request. The method always +// closes the http.Response Body. +func (client AppsClient) PackageTrainedApplicationAsGzipResponder(resp *http.Response) (result ReadCloser, err error) { + result.Value = &resp.Body + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK)) + result.Response = autorest.Response{Response: resp} + return +} + // Publish publishes a specific version of the application. // Parameters: // appID - the application ID. // applicationPublishObject - the application publish object. The region is the target region that the // application is published to. func (client AppsClient) Publish(ctx context.Context, appID uuid.UUID, applicationPublishObject ApplicationPublishObject) (result ProductionOrStagingEndpointInfo, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.Publish") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } req, err := client.PublishPreparer(ctx, appID, applicationPublishObject) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.AppsClient", "Publish", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.AppsClient", "Publish", nil, "Failure preparing request") return } resp, err := client.PublishSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.AppsClient", "Publish", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.AppsClient", "Publish", resp, "Failure sending request") return } result, err = client.PublishResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.AppsClient", "Publish", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.AppsClient", "Publish", resp, "Failure responding to request") } return @@ -998,7 +1388,7 @@ func (client AppsClient) Publish(ctx context.Context, appID uuid.UUID, applicati // PublishPreparer prepares the Publish request. func (client AppsClient) PublishPreparer(ctx context.Context, appID uuid.UUID, applicationPublishObject ApplicationPublishObject) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -1008,7 +1398,7 @@ func (client AppsClient) PublishPreparer(ctx context.Context, appID uuid.UUID, a preparer := autorest.CreatePreparer( autorest.AsContentType("application/json; charset=utf-8"), autorest.AsPost(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPathParameters("/apps/{appId}/publish", pathParameters), autorest.WithJSON(applicationPublishObject)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) @@ -1017,8 +1407,8 @@ func (client AppsClient) PublishPreparer(ctx context.Context, appID uuid.UUID, a // PublishSender sends the Publish request. The method will close the // http.Response Body if it receives an error. func (client AppsClient) PublishSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // PublishResponder handles the response to the Publish request. The method always @@ -1027,7 +1417,7 @@ func (client AppsClient) PublishResponder(resp *http.Response) (result Productio err = autorest.Respond( resp, client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated, http.StatusMultiStatus), autorest.ByUnmarshallingJSON(&result), autorest.ByClosing()) result.Response = autorest.Response{Response: resp} @@ -1039,22 +1429,32 @@ func (client AppsClient) PublishResponder(resp *http.Response) (result Productio // appID - the application ID. // applicationUpdateObject - a model containing Name and Description of the application. func (client AppsClient) Update(ctx context.Context, appID uuid.UUID, applicationUpdateObject ApplicationUpdateObject) (result OperationStatus, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.Update") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } req, err := client.UpdatePreparer(ctx, appID, applicationUpdateObject) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.AppsClient", "Update", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.AppsClient", "Update", nil, "Failure preparing request") return } resp, err := client.UpdateSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.AppsClient", "Update", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.AppsClient", "Update", resp, "Failure sending request") return } result, err = client.UpdateResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.AppsClient", "Update", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.AppsClient", "Update", resp, "Failure responding to request") } return @@ -1063,7 +1463,7 @@ func (client AppsClient) Update(ctx context.Context, appID uuid.UUID, applicatio // UpdatePreparer prepares the Update request. func (client AppsClient) UpdatePreparer(ctx context.Context, appID uuid.UUID, applicationUpdateObject ApplicationUpdateObject) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -1073,7 +1473,7 @@ func (client AppsClient) UpdatePreparer(ctx context.Context, appID uuid.UUID, ap preparer := autorest.CreatePreparer( autorest.AsContentType("application/json; charset=utf-8"), autorest.AsPut(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPathParameters("/apps/{appId}", pathParameters), autorest.WithJSON(applicationUpdateObject)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) @@ -1082,8 +1482,8 @@ func (client AppsClient) UpdatePreparer(ctx context.Context, appID uuid.UUID, ap // UpdateSender sends the Update request. The method will close the // http.Response Body if it receives an error. func (client AppsClient) UpdateSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // UpdateResponder handles the response to the Update request. The method always @@ -1099,27 +1499,112 @@ func (client AppsClient) UpdateResponder(resp *http.Response) (result OperationS return } -// UpdateSettings updates the application settings. +// UpdatePublishSettings updates the application publish settings including 'UseAllTrainingData'. +// Parameters: +// appID - the application ID. +// publishSettingUpdateObject - an object containing the new publish application settings. +func (client AppsClient) UpdatePublishSettings(ctx context.Context, appID uuid.UUID, publishSettingUpdateObject PublishSettingUpdateObject) (result OperationStatus, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.UpdatePublishSettings") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdatePublishSettingsPreparer(ctx, appID, publishSettingUpdateObject) + if err != nil { + err = autorest.NewErrorWithError(err, "authoring.AppsClient", "UpdatePublishSettings", nil, "Failure preparing request") + return + } + + resp, err := client.UpdatePublishSettingsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "authoring.AppsClient", "UpdatePublishSettings", resp, "Failure sending request") + return + } + + result, err = client.UpdatePublishSettingsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "authoring.AppsClient", "UpdatePublishSettings", resp, "Failure responding to request") + } + + return +} + +// UpdatePublishSettingsPreparer prepares the UpdatePublishSettings request. +func (client AppsClient) UpdatePublishSettingsPreparer(ctx context.Context, appID uuid.UUID, publishSettingUpdateObject PublishSettingUpdateObject) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "Endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "appId": autorest.Encode("path", appID), + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), + autorest.WithPathParameters("/apps/{appId}/publishsettings", pathParameters), + autorest.WithJSON(publishSettingUpdateObject)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdatePublishSettingsSender sends the UpdatePublishSettings request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) UpdatePublishSettingsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// UpdatePublishSettingsResponder handles the response to the UpdatePublishSettings request. The method always +// closes the http.Response Body. +func (client AppsClient) UpdatePublishSettingsResponder(resp *http.Response) (result OperationStatus, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// UpdateSettings updates the application settings including 'UseAllTrainingData'. // Parameters: // appID - the application ID. // applicationSettingUpdateObject - an object containing the new application settings. func (client AppsClient) UpdateSettings(ctx context.Context, appID uuid.UUID, applicationSettingUpdateObject ApplicationSettingUpdateObject) (result OperationStatus, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.UpdateSettings") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } req, err := client.UpdateSettingsPreparer(ctx, appID, applicationSettingUpdateObject) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.AppsClient", "UpdateSettings", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.AppsClient", "UpdateSettings", nil, "Failure preparing request") return } resp, err := client.UpdateSettingsSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.AppsClient", "UpdateSettings", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.AppsClient", "UpdateSettings", resp, "Failure sending request") return } result, err = client.UpdateSettingsResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.AppsClient", "UpdateSettings", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.AppsClient", "UpdateSettings", resp, "Failure responding to request") } return @@ -1128,7 +1613,7 @@ func (client AppsClient) UpdateSettings(ctx context.Context, appID uuid.UUID, ap // UpdateSettingsPreparer prepares the UpdateSettings request. func (client AppsClient) UpdateSettingsPreparer(ctx context.Context, appID uuid.UUID, applicationSettingUpdateObject ApplicationSettingUpdateObject) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -1138,7 +1623,7 @@ func (client AppsClient) UpdateSettingsPreparer(ctx context.Context, appID uuid. preparer := autorest.CreatePreparer( autorest.AsContentType("application/json; charset=utf-8"), autorest.AsPut(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPathParameters("/apps/{appId}/settings", pathParameters), autorest.WithJSON(applicationSettingUpdateObject)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) @@ -1147,8 +1632,8 @@ func (client AppsClient) UpdateSettingsPreparer(ctx context.Context, appID uuid. // UpdateSettingsSender sends the UpdateSettings request. The method will close the // http.Response Body if it receives an error. func (client AppsClient) UpdateSettingsSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // UpdateSettingsResponder handles the response to the UpdateSettings request. The method always diff --git a/services/preview/cognitiveservices/v3.0/luis/authoring/authoringapi/interfaces.go b/services/preview/cognitiveservices/v3.0/luis/authoring/authoringapi/interfaces.go new file mode 100644 index 000000000000..e5c24dda3a5e --- /dev/null +++ b/services/preview/cognitiveservices/v3.0/luis/authoring/authoringapi/interfaces.go @@ -0,0 +1,253 @@ +package authoringapi + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/azure-sdk-for-go/services/preview/cognitiveservices/v3.0/luis/authoring" + "github.com/satori/go.uuid" +) + +// FeaturesClientAPI contains the set of methods on the FeaturesClient type. +type FeaturesClientAPI interface { + AddPhraseList(ctx context.Context, appID uuid.UUID, versionID string, phraselistCreateObject authoring.PhraselistCreateObject) (result authoring.Int32, err error) + CreatePatternFeature(ctx context.Context, appID uuid.UUID, versionID string, patternCreateObject authoring.PatternCreateObject) (result authoring.Int32, err error) + DeletePatternFeature(ctx context.Context, appID uuid.UUID, versionID string, patternID int32) (result authoring.OperationStatus, err error) + DeletePhraseList(ctx context.Context, appID uuid.UUID, versionID string, phraselistID int32) (result authoring.OperationStatus, err error) + GetPatternFeatureInfo(ctx context.Context, appID uuid.UUID, versionID string, patternID int32) (result authoring.PatternFeatureInfo, err error) + GetPhraseList(ctx context.Context, appID uuid.UUID, versionID string, phraselistID int32) (result authoring.PhraseListFeatureInfo, err error) + List(ctx context.Context, appID uuid.UUID, versionID string, skip *int32, take *int32) (result authoring.FeaturesResponseObject, err error) + ListApplicationVersionPatternFeatures(ctx context.Context, appID uuid.UUID, versionID string, skip *int32, take *int32) (result authoring.ListPatternFeatureInfo, err error) + ListPhraseLists(ctx context.Context, appID uuid.UUID, versionID string, skip *int32, take *int32) (result authoring.ListPhraseListFeatureInfo, err error) + UpdatePatternFeature(ctx context.Context, appID uuid.UUID, versionID string, patternID int32, patternUpdateObject authoring.PatternUpdateObject) (result authoring.OperationStatus, err error) + UpdatePhraseList(ctx context.Context, appID uuid.UUID, versionID string, phraselistID int32, phraselistUpdateObject *authoring.PhraselistUpdateObject) (result authoring.OperationStatus, err error) +} + +var _ FeaturesClientAPI = (*authoring.FeaturesClient)(nil) + +// ExamplesClientAPI contains the set of methods on the ExamplesClient type. +type ExamplesClientAPI interface { + Add(ctx context.Context, appID uuid.UUID, versionID string, exampleLabelObject authoring.ExampleLabelObject) (result authoring.LabelExampleResponse, err error) + Batch(ctx context.Context, appID uuid.UUID, versionID string, exampleLabelObjectArray []authoring.ExampleLabelObject) (result authoring.ListBatchLabelExample, err error) + Delete(ctx context.Context, appID uuid.UUID, versionID string, exampleID int32) (result authoring.OperationStatus, err error) + List(ctx context.Context, appID uuid.UUID, versionID string, skip *int32, take *int32) (result authoring.ListLabeledUtterance, err error) +} + +var _ ExamplesClientAPI = (*authoring.ExamplesClient)(nil) + +// ModelClientAPI contains the set of methods on the ModelClient type. +type ModelClientAPI interface { + AddClosedList(ctx context.Context, appID uuid.UUID, versionID string, closedListModelCreateObject authoring.ClosedListModelCreateObject) (result authoring.UUID, err error) + AddCompositeEntityChild(ctx context.Context, appID uuid.UUID, versionID string, cEntityID uuid.UUID, compositeChildModelCreateObject authoring.CompositeChildModelCreateObject) (result authoring.UUID, err error) + AddCustomPrebuiltDomain(ctx context.Context, appID uuid.UUID, versionID string, prebuiltDomainObject authoring.PrebuiltDomainCreateBaseObject) (result authoring.ListUUID, err error) + AddCustomPrebuiltEntity(ctx context.Context, appID uuid.UUID, versionID string, prebuiltDomainModelCreateObject authoring.PrebuiltDomainModelCreateObject) (result authoring.UUID, err error) + AddCustomPrebuiltIntent(ctx context.Context, appID uuid.UUID, versionID string, prebuiltDomainModelCreateObject authoring.PrebuiltDomainModelCreateObject) (result authoring.UUID, err error) + AddEntity(ctx context.Context, appID uuid.UUID, versionID string, entityModelCreateObject authoring.EntityModelCreateObject) (result authoring.UUID, err error) + AddEntityChild(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, childEntityModelCreateObject authoring.ChildEntityModelCreateObject) (result authoring.UUID, err error) + AddExplicitListItem(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, item authoring.ExplicitListItemCreateObject) (result authoring.Int32, err error) + AddIntent(ctx context.Context, appID uuid.UUID, versionID string, intentCreateObject authoring.ModelCreateObject) (result authoring.UUID, err error) + AddPrebuilt(ctx context.Context, appID uuid.UUID, versionID string, prebuiltExtractorNames []string) (result authoring.ListPrebuiltEntityExtractor, err error) + AddSubList(ctx context.Context, appID uuid.UUID, versionID string, clEntityID uuid.UUID, wordListCreateObject authoring.WordListObject) (result authoring.Int64, err error) + CreateClosedListEntityRole(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, entityRoleCreateObject authoring.EntityRoleCreateObject) (result authoring.UUID, err error) + CreateCompositeEntityRole(ctx context.Context, appID uuid.UUID, versionID string, cEntityID uuid.UUID, entityRoleCreateObject authoring.EntityRoleCreateObject) (result authoring.UUID, err error) + CreateCustomPrebuiltEntityRole(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, entityRoleCreateObject authoring.EntityRoleCreateObject) (result authoring.UUID, err error) + CreateEntityRole(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, entityRoleCreateObject authoring.EntityRoleCreateObject) (result authoring.UUID, err error) + CreateHierarchicalEntityRole(ctx context.Context, appID uuid.UUID, versionID string, hEntityID uuid.UUID, entityRoleCreateObject authoring.EntityRoleCreateObject) (result authoring.UUID, err error) + CreatePatternAnyEntityModel(ctx context.Context, appID uuid.UUID, versionID string, extractorCreateObject authoring.PatternAnyModelCreateObject) (result authoring.UUID, err error) + CreatePatternAnyEntityRole(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, entityRoleCreateObject authoring.EntityRoleCreateObject) (result authoring.UUID, err error) + CreatePrebuiltEntityRole(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, entityRoleCreateObject authoring.EntityRoleCreateObject) (result authoring.UUID, err error) + CreateRegexEntityModel(ctx context.Context, appID uuid.UUID, versionID string, regexEntityExtractorCreateObj authoring.RegexModelCreateObject) (result authoring.UUID, err error) + CreateRegexEntityRole(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, entityRoleCreateObject authoring.EntityRoleCreateObject) (result authoring.UUID, err error) + DeleteClosedList(ctx context.Context, appID uuid.UUID, versionID string, clEntityID uuid.UUID) (result authoring.OperationStatus, err error) + DeleteClosedListEntityRole(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, roleID uuid.UUID) (result authoring.OperationStatus, err error) + DeleteCompositeEntity(ctx context.Context, appID uuid.UUID, versionID string, cEntityID uuid.UUID) (result authoring.OperationStatus, err error) + DeleteCompositeEntityChild(ctx context.Context, appID uuid.UUID, versionID string, cEntityID uuid.UUID, cChildID uuid.UUID) (result authoring.OperationStatus, err error) + DeleteCompositeEntityRole(ctx context.Context, appID uuid.UUID, versionID string, cEntityID uuid.UUID, roleID uuid.UUID) (result authoring.OperationStatus, err error) + DeleteCustomEntityRole(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, roleID uuid.UUID) (result authoring.OperationStatus, err error) + DeleteCustomPrebuiltDomain(ctx context.Context, appID uuid.UUID, versionID string, domainName string) (result authoring.OperationStatus, err error) + DeleteEntity(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID) (result authoring.OperationStatus, err error) + DeleteEntityRole(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, roleID uuid.UUID) (result authoring.OperationStatus, err error) + DeleteExplicitListItem(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, itemID int64) (result authoring.OperationStatus, err error) + DeleteHierarchicalEntity(ctx context.Context, appID uuid.UUID, versionID string, hEntityID uuid.UUID) (result authoring.OperationStatus, err error) + DeleteHierarchicalEntityChild(ctx context.Context, appID uuid.UUID, versionID string, hEntityID uuid.UUID, hChildID uuid.UUID) (result authoring.OperationStatus, err error) + DeleteHierarchicalEntityRole(ctx context.Context, appID uuid.UUID, versionID string, hEntityID uuid.UUID, roleID uuid.UUID) (result authoring.OperationStatus, err error) + DeleteIntent(ctx context.Context, appID uuid.UUID, versionID string, intentID uuid.UUID, deleteUtterances *bool) (result authoring.OperationStatus, err error) + DeletePatternAnyEntityModel(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID) (result authoring.OperationStatus, err error) + DeletePatternAnyEntityRole(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, roleID uuid.UUID) (result authoring.OperationStatus, err error) + DeletePrebuilt(ctx context.Context, appID uuid.UUID, versionID string, prebuiltID uuid.UUID) (result authoring.OperationStatus, err error) + DeletePrebuiltEntityRole(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, roleID uuid.UUID) (result authoring.OperationStatus, err error) + DeleteRegexEntityModel(ctx context.Context, appID uuid.UUID, versionID string, regexEntityID uuid.UUID) (result authoring.OperationStatus, err error) + DeleteRegexEntityRole(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, roleID uuid.UUID) (result authoring.OperationStatus, err error) + DeleteSubList(ctx context.Context, appID uuid.UUID, versionID string, clEntityID uuid.UUID, subListID int64) (result authoring.OperationStatus, err error) + ExamplesMethod(ctx context.Context, appID uuid.UUID, versionID string, modelID string, skip *int32, take *int32) (result authoring.ListLabelTextObject, err error) + GetClosedList(ctx context.Context, appID uuid.UUID, versionID string, clEntityID uuid.UUID) (result authoring.ClosedListEntityExtractor, err error) + GetClosedListEntityRole(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, roleID uuid.UUID) (result authoring.EntityRole, err error) + GetCompositeEntity(ctx context.Context, appID uuid.UUID, versionID string, cEntityID uuid.UUID) (result authoring.CompositeEntityExtractor, err error) + GetCompositeEntityRole(ctx context.Context, appID uuid.UUID, versionID string, cEntityID uuid.UUID, roleID uuid.UUID) (result authoring.EntityRole, err error) + GetCustomEntityRole(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, roleID uuid.UUID) (result authoring.EntityRole, err error) + GetEntity(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID) (result authoring.NDepthEntityExtractor, err error) + GetEntityRole(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, roleID uuid.UUID) (result authoring.EntityRole, err error) + GetExplicitList(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID) (result authoring.ListExplicitListItem, err error) + GetExplicitListItem(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, itemID int64) (result authoring.ExplicitListItem, err error) + GetHierarchicalEntity(ctx context.Context, appID uuid.UUID, versionID string, hEntityID uuid.UUID) (result authoring.HierarchicalEntityExtractor, err error) + GetHierarchicalEntityChild(ctx context.Context, appID uuid.UUID, versionID string, hEntityID uuid.UUID, hChildID uuid.UUID) (result authoring.HierarchicalChildEntity, err error) + GetHierarchicalEntityRole(ctx context.Context, appID uuid.UUID, versionID string, hEntityID uuid.UUID, roleID uuid.UUID) (result authoring.EntityRole, err error) + GetIntent(ctx context.Context, appID uuid.UUID, versionID string, intentID uuid.UUID) (result authoring.IntentClassifier, err error) + GetPatternAnyEntityInfo(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID) (result authoring.PatternAnyEntityExtractor, err error) + GetPatternAnyEntityRole(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, roleID uuid.UUID) (result authoring.EntityRole, err error) + GetPrebuilt(ctx context.Context, appID uuid.UUID, versionID string, prebuiltID uuid.UUID) (result authoring.PrebuiltEntityExtractor, err error) + GetPrebuiltEntityRole(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, roleID uuid.UUID) (result authoring.EntityRole, err error) + GetRegexEntityEntityInfo(ctx context.Context, appID uuid.UUID, versionID string, regexEntityID uuid.UUID) (result authoring.RegexEntityExtractor, err error) + GetRegexEntityRole(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, roleID uuid.UUID) (result authoring.EntityRole, err error) + ListClosedListEntityRoles(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID) (result authoring.ListEntityRole, err error) + ListClosedLists(ctx context.Context, appID uuid.UUID, versionID string, skip *int32, take *int32) (result authoring.ListClosedListEntityExtractor, err error) + ListCompositeEntities(ctx context.Context, appID uuid.UUID, versionID string, skip *int32, take *int32) (result authoring.ListCompositeEntityExtractor, err error) + ListCompositeEntityRoles(ctx context.Context, appID uuid.UUID, versionID string, cEntityID uuid.UUID) (result authoring.ListEntityRole, err error) + ListCustomPrebuiltEntities(ctx context.Context, appID uuid.UUID, versionID string) (result authoring.ListEntityExtractor, err error) + ListCustomPrebuiltEntityRoles(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID) (result authoring.ListEntityRole, err error) + ListCustomPrebuiltIntents(ctx context.Context, appID uuid.UUID, versionID string) (result authoring.ListIntentClassifier, err error) + ListCustomPrebuiltModels(ctx context.Context, appID uuid.UUID, versionID string) (result authoring.ListCustomPrebuiltModel, err error) + ListEntities(ctx context.Context, appID uuid.UUID, versionID string, skip *int32, take *int32) (result authoring.ListNDepthEntityExtractor, err error) + ListEntityRoles(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID) (result authoring.ListEntityRole, err error) + ListEntitySuggestions(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, take *int32) (result authoring.ListEntitiesSuggestionExample, err error) + ListHierarchicalEntities(ctx context.Context, appID uuid.UUID, versionID string, skip *int32, take *int32) (result authoring.ListHierarchicalEntityExtractor, err error) + ListHierarchicalEntityRoles(ctx context.Context, appID uuid.UUID, versionID string, hEntityID uuid.UUID) (result authoring.ListEntityRole, err error) + ListIntents(ctx context.Context, appID uuid.UUID, versionID string, skip *int32, take *int32) (result authoring.ListIntentClassifier, err error) + ListIntentSuggestions(ctx context.Context, appID uuid.UUID, versionID string, intentID uuid.UUID, take *int32) (result authoring.ListIntentsSuggestionExample, err error) + ListModels(ctx context.Context, appID uuid.UUID, versionID string, skip *int32, take *int32) (result authoring.ListModelInfoResponse, err error) + ListPatternAnyEntityInfos(ctx context.Context, appID uuid.UUID, versionID string, skip *int32, take *int32) (result authoring.ListPatternAnyEntityExtractor, err error) + ListPatternAnyEntityRoles(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID) (result authoring.ListEntityRole, err error) + ListPrebuiltEntities(ctx context.Context, appID uuid.UUID, versionID string) (result authoring.ListAvailablePrebuiltEntityModel, err error) + ListPrebuiltEntityRoles(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID) (result authoring.ListEntityRole, err error) + ListPrebuilts(ctx context.Context, appID uuid.UUID, versionID string, skip *int32, take *int32) (result authoring.ListPrebuiltEntityExtractor, err error) + ListRegexEntityInfos(ctx context.Context, appID uuid.UUID, versionID string, skip *int32, take *int32) (result authoring.ListRegexEntityExtractor, err error) + ListRegexEntityRoles(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID) (result authoring.ListEntityRole, err error) + PatchClosedList(ctx context.Context, appID uuid.UUID, versionID string, clEntityID uuid.UUID, closedListModelPatchObject authoring.ClosedListModelPatchObject) (result authoring.OperationStatus, err error) + UpdateClosedList(ctx context.Context, appID uuid.UUID, versionID string, clEntityID uuid.UUID, closedListModelUpdateObject authoring.ClosedListModelUpdateObject) (result authoring.OperationStatus, err error) + UpdateClosedListEntityRole(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, roleID uuid.UUID, entityRoleUpdateObject authoring.EntityRoleUpdateObject) (result authoring.OperationStatus, err error) + UpdateCompositeEntity(ctx context.Context, appID uuid.UUID, versionID string, cEntityID uuid.UUID, compositeModelUpdateObject authoring.CompositeEntityModel) (result authoring.OperationStatus, err error) + UpdateCompositeEntityRole(ctx context.Context, appID uuid.UUID, versionID string, cEntityID uuid.UUID, roleID uuid.UUID, entityRoleUpdateObject authoring.EntityRoleUpdateObject) (result authoring.OperationStatus, err error) + UpdateCustomPrebuiltEntityRole(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, roleID uuid.UUID, entityRoleUpdateObject authoring.EntityRoleUpdateObject) (result authoring.OperationStatus, err error) + UpdateEntityChild(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, entityModelUpdateObject authoring.EntityModelUpdateObject) (result authoring.OperationStatus, err error) + UpdateEntityRole(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, roleID uuid.UUID, entityRoleUpdateObject authoring.EntityRoleUpdateObject) (result authoring.OperationStatus, err error) + UpdateExplicitListItem(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, itemID int64, item authoring.ExplicitListItemUpdateObject) (result authoring.OperationStatus, err error) + UpdateHierarchicalEntity(ctx context.Context, appID uuid.UUID, versionID string, hEntityID uuid.UUID, modelUpdateObject authoring.ModelUpdateObject) (result authoring.OperationStatus, err error) + UpdateHierarchicalEntityChild(ctx context.Context, appID uuid.UUID, versionID string, hEntityID uuid.UUID, hChildID uuid.UUID, hierarchicalChildModelUpdateObject authoring.HierarchicalChildModelUpdateObject) (result authoring.OperationStatus, err error) + UpdateHierarchicalEntityRole(ctx context.Context, appID uuid.UUID, versionID string, hEntityID uuid.UUID, roleID uuid.UUID, entityRoleUpdateObject authoring.EntityRoleUpdateObject) (result authoring.OperationStatus, err error) + UpdateIntent(ctx context.Context, appID uuid.UUID, versionID string, intentID uuid.UUID, modelUpdateObject authoring.ModelUpdateObject) (result authoring.OperationStatus, err error) + UpdatePatternAnyEntityModel(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, patternAnyUpdateObject authoring.PatternAnyModelUpdateObject) (result authoring.OperationStatus, err error) + UpdatePatternAnyEntityRole(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, roleID uuid.UUID, entityRoleUpdateObject authoring.EntityRoleUpdateObject) (result authoring.OperationStatus, err error) + UpdatePrebuiltEntityRole(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, roleID uuid.UUID, entityRoleUpdateObject authoring.EntityRoleUpdateObject) (result authoring.OperationStatus, err error) + UpdateRegexEntityModel(ctx context.Context, appID uuid.UUID, versionID string, regexEntityID uuid.UUID, regexEntityUpdateObject authoring.RegexModelUpdateObject) (result authoring.OperationStatus, err error) + UpdateRegexEntityRole(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, roleID uuid.UUID, entityRoleUpdateObject authoring.EntityRoleUpdateObject) (result authoring.OperationStatus, err error) + UpdateSubList(ctx context.Context, appID uuid.UUID, versionID string, clEntityID uuid.UUID, subListID int64, wordListBaseUpdateObject authoring.WordListBaseUpdateObject) (result authoring.OperationStatus, err error) +} + +var _ ModelClientAPI = (*authoring.ModelClient)(nil) + +// AppsClientAPI contains the set of methods on the AppsClient type. +type AppsClientAPI interface { + Add(ctx context.Context, applicationCreateObject authoring.ApplicationCreateObject) (result authoring.UUID, err error) + AddCustomPrebuiltDomain(ctx context.Context, prebuiltDomainCreateObject authoring.PrebuiltDomainCreateObject) (result authoring.UUID, err error) + Delete(ctx context.Context, appID uuid.UUID, force *bool) (result authoring.OperationStatus, err error) + DownloadQueryLogs(ctx context.Context, appID uuid.UUID) (result authoring.ReadCloser, err error) + Get(ctx context.Context, appID uuid.UUID) (result authoring.ApplicationInfoResponse, err error) + GetPublishSettings(ctx context.Context, appID uuid.UUID) (result authoring.PublishSettings, err error) + GetSettings(ctx context.Context, appID uuid.UUID) (result authoring.ApplicationSettings, err error) + Import(ctx context.Context, luisApp authoring.LuisApp, appName string) (result authoring.UUID, err error) + List(ctx context.Context, skip *int32, take *int32) (result authoring.ListApplicationInfoResponse, err error) + ListAvailableCustomPrebuiltDomains(ctx context.Context) (result authoring.ListPrebuiltDomain, err error) + ListAvailableCustomPrebuiltDomainsForCulture(ctx context.Context, culture string) (result authoring.ListPrebuiltDomain, err error) + ListCortanaEndpoints(ctx context.Context) (result authoring.PersonalAssistantsResponse, err error) + ListDomains(ctx context.Context) (result authoring.ListString, err error) + ListEndpoints(ctx context.Context, appID uuid.UUID) (result authoring.SetString, err error) + ListSupportedCultures(ctx context.Context) (result authoring.ListAvailableCulture, err error) + ListUsageScenarios(ctx context.Context) (result authoring.ListString, err error) + PackagePublishedApplicationAsGzip(ctx context.Context, appID uuid.UUID, slotName string) (result authoring.ReadCloser, err error) + PackageTrainedApplicationAsGzip(ctx context.Context, appID uuid.UUID, versionID string) (result authoring.ReadCloser, err error) + Publish(ctx context.Context, appID uuid.UUID, applicationPublishObject authoring.ApplicationPublishObject) (result authoring.ProductionOrStagingEndpointInfo, err error) + Update(ctx context.Context, appID uuid.UUID, applicationUpdateObject authoring.ApplicationUpdateObject) (result authoring.OperationStatus, err error) + UpdatePublishSettings(ctx context.Context, appID uuid.UUID, publishSettingUpdateObject authoring.PublishSettingUpdateObject) (result authoring.OperationStatus, err error) + UpdateSettings(ctx context.Context, appID uuid.UUID, applicationSettingUpdateObject authoring.ApplicationSettingUpdateObject) (result authoring.OperationStatus, err error) +} + +var _ AppsClientAPI = (*authoring.AppsClient)(nil) + +// VersionsClientAPI contains the set of methods on the VersionsClient type. +type VersionsClientAPI interface { + Clone(ctx context.Context, appID uuid.UUID, versionID string, versionCloneObject authoring.TaskUpdateObject) (result authoring.String, err error) + Delete(ctx context.Context, appID uuid.UUID, versionID string) (result authoring.OperationStatus, err error) + DeleteUnlabelledUtterance(ctx context.Context, appID uuid.UUID, versionID string, utterance string) (result authoring.OperationStatus, err error) + Export(ctx context.Context, appID uuid.UUID, versionID string) (result authoring.LuisApp, err error) + Get(ctx context.Context, appID uuid.UUID, versionID string) (result authoring.VersionInfo, err error) + Import(ctx context.Context, appID uuid.UUID, luisApp authoring.LuisApp, versionID string) (result authoring.String, err error) + List(ctx context.Context, appID uuid.UUID, skip *int32, take *int32) (result authoring.ListVersionInfo, err error) + Update(ctx context.Context, appID uuid.UUID, versionID string, versionUpdateObject authoring.TaskUpdateObject) (result authoring.OperationStatus, err error) +} + +var _ VersionsClientAPI = (*authoring.VersionsClient)(nil) + +// TrainClientAPI contains the set of methods on the TrainClient type. +type TrainClientAPI interface { + GetStatus(ctx context.Context, appID uuid.UUID, versionID string) (result authoring.ListModelTrainingInfo, err error) + TrainVersion(ctx context.Context, appID uuid.UUID, versionID string) (result authoring.EnqueueTrainingResponse, err error) +} + +var _ TrainClientAPI = (*authoring.TrainClient)(nil) + +// PermissionsClientAPI contains the set of methods on the PermissionsClient type. +type PermissionsClientAPI interface { + Add(ctx context.Context, appID uuid.UUID, userToAdd authoring.UserCollaborator) (result authoring.OperationStatus, err error) + Delete(ctx context.Context, appID uuid.UUID, userToDelete authoring.UserCollaborator) (result authoring.OperationStatus, err error) + List(ctx context.Context, appID uuid.UUID) (result authoring.UserAccessList, err error) + Update(ctx context.Context, appID uuid.UUID, collaborators authoring.CollaboratorsArray) (result authoring.OperationStatus, err error) +} + +var _ PermissionsClientAPI = (*authoring.PermissionsClient)(nil) + +// PatternClientAPI contains the set of methods on the PatternClient type. +type PatternClientAPI interface { + AddPattern(ctx context.Context, appID uuid.UUID, versionID string, pattern authoring.PatternRuleCreateObject) (result authoring.PatternRuleInfo, err error) + BatchAddPatterns(ctx context.Context, appID uuid.UUID, versionID string, patterns []authoring.PatternRuleCreateObject) (result authoring.ListPatternRuleInfo, err error) + DeletePattern(ctx context.Context, appID uuid.UUID, versionID string, patternID uuid.UUID) (result authoring.OperationStatus, err error) + DeletePatterns(ctx context.Context, appID uuid.UUID, versionID string, patternIds []uuid.UUID) (result authoring.OperationStatus, err error) + ListIntentPatterns(ctx context.Context, appID uuid.UUID, versionID string, intentID uuid.UUID, skip *int32, take *int32) (result authoring.ListPatternRuleInfo, err error) + ListPatterns(ctx context.Context, appID uuid.UUID, versionID string, skip *int32, take *int32) (result authoring.ListPatternRuleInfo, err error) + UpdatePattern(ctx context.Context, appID uuid.UUID, versionID string, patternID uuid.UUID, pattern authoring.PatternRuleUpdateObject) (result authoring.PatternRuleInfo, err error) + UpdatePatterns(ctx context.Context, appID uuid.UUID, versionID string, patterns []authoring.PatternRuleUpdateObject) (result authoring.ListPatternRuleInfo, err error) +} + +var _ PatternClientAPI = (*authoring.PatternClient)(nil) + +// SettingsClientAPI contains the set of methods on the SettingsClient type. +type SettingsClientAPI interface { + List(ctx context.Context, appID uuid.UUID, versionID string) (result authoring.ListAppVersionSettingObject, err error) + Update(ctx context.Context, appID uuid.UUID, versionID string, listOfAppVersionSettingObject []authoring.AppVersionSettingObject) (result authoring.OperationStatus, err error) +} + +var _ SettingsClientAPI = (*authoring.SettingsClient)(nil) + +// AzureAccountsClientAPI contains the set of methods on the AzureAccountsClient type. +type AzureAccountsClientAPI interface { + AssignToApp(ctx context.Context, appID uuid.UUID, azureAccountInfoObject *authoring.AzureAccountInfoObject) (result authoring.OperationStatus, err error) + GetAssigned(ctx context.Context, appID uuid.UUID) (result authoring.ListAzureAccountInfoObject, err error) + ListUserLUISAccounts(ctx context.Context) (result authoring.ListAzureAccountInfoObject, err error) + RemoveFromApp(ctx context.Context, appID uuid.UUID, azureAccountInfoObject *authoring.AzureAccountInfoObject) (result authoring.OperationStatus, err error) +} + +var _ AzureAccountsClientAPI = (*authoring.AzureAccountsClient)(nil) diff --git a/services/preview/cognitiveservices/v3.0/luis/authoring/azureaccounts.go b/services/preview/cognitiveservices/v3.0/luis/authoring/azureaccounts.go new file mode 100644 index 000000000000..0839f2f501f3 --- /dev/null +++ b/services/preview/cognitiveservices/v3.0/luis/authoring/azureaccounts.go @@ -0,0 +1,352 @@ +package authoring + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "github.com/satori/go.uuid" + "net/http" +) + +// AzureAccountsClient is the client for the AzureAccounts methods of the Authoring service. +type AzureAccountsClient struct { + BaseClient +} + +// NewAzureAccountsClient creates an instance of the AzureAccountsClient client. +func NewAzureAccountsClient(endpoint string) AzureAccountsClient { + return AzureAccountsClient{New(endpoint)} +} + +// AssignToApp assigns an Azure account to the application. +// Parameters: +// appID - the application ID. +// azureAccountInfoObject - the Azure account information object. +func (client AzureAccountsClient) AssignToApp(ctx context.Context, appID uuid.UUID, azureAccountInfoObject *AzureAccountInfoObject) (result OperationStatus, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AzureAccountsClient.AssignToApp") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: azureAccountInfoObject, + Constraints: []validation.Constraint{{Target: "azureAccountInfoObject", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "azureAccountInfoObject.AzureSubscriptionID", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "azureAccountInfoObject.ResourceGroup", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "azureAccountInfoObject.AccountName", Name: validation.Null, Rule: true, Chain: nil}, + }}}}}); err != nil { + return result, validation.NewError("authoring.AzureAccountsClient", "AssignToApp", err.Error()) + } + + req, err := client.AssignToAppPreparer(ctx, appID, azureAccountInfoObject) + if err != nil { + err = autorest.NewErrorWithError(err, "authoring.AzureAccountsClient", "AssignToApp", nil, "Failure preparing request") + return + } + + resp, err := client.AssignToAppSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "authoring.AzureAccountsClient", "AssignToApp", resp, "Failure sending request") + return + } + + result, err = client.AssignToAppResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "authoring.AzureAccountsClient", "AssignToApp", resp, "Failure responding to request") + } + + return +} + +// AssignToAppPreparer prepares the AssignToApp request. +func (client AzureAccountsClient) AssignToAppPreparer(ctx context.Context, appID uuid.UUID, azureAccountInfoObject *AzureAccountInfoObject) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "Endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "appId": autorest.Encode("path", appID), + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), + autorest.WithPathParameters("/apps/{appId}/azureaccounts", pathParameters)) + if azureAccountInfoObject != nil { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithJSON(azureAccountInfoObject)) + } + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// AssignToAppSender sends the AssignToApp request. The method will close the +// http.Response Body if it receives an error. +func (client AzureAccountsClient) AssignToAppSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// AssignToAppResponder handles the response to the AssignToApp request. The method always +// closes the http.Response Body. +func (client AzureAccountsClient) AssignToAppResponder(resp *http.Response) (result OperationStatus, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetAssigned gets the LUIS Azure accounts assigned to the application for the user using his ARM token. +// Parameters: +// appID - the application ID. +func (client AzureAccountsClient) GetAssigned(ctx context.Context, appID uuid.UUID) (result ListAzureAccountInfoObject, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AzureAccountsClient.GetAssigned") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetAssignedPreparer(ctx, appID) + if err != nil { + err = autorest.NewErrorWithError(err, "authoring.AzureAccountsClient", "GetAssigned", nil, "Failure preparing request") + return + } + + resp, err := client.GetAssignedSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "authoring.AzureAccountsClient", "GetAssigned", resp, "Failure sending request") + return + } + + result, err = client.GetAssignedResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "authoring.AzureAccountsClient", "GetAssigned", resp, "Failure responding to request") + } + + return +} + +// GetAssignedPreparer prepares the GetAssigned request. +func (client AzureAccountsClient) GetAssignedPreparer(ctx context.Context, appID uuid.UUID) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "Endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "appId": autorest.Encode("path", appID), + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), + autorest.WithPathParameters("/apps/{appId}/azureaccounts", pathParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetAssignedSender sends the GetAssigned request. The method will close the +// http.Response Body if it receives an error. +func (client AzureAccountsClient) GetAssignedSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetAssignedResponder handles the response to the GetAssigned request. The method always +// closes the http.Response Body. +func (client AzureAccountsClient) GetAssignedResponder(resp *http.Response) (result ListAzureAccountInfoObject, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result.Value), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListUserLUISAccounts gets the LUIS Azure accounts for the user using his ARM token. +func (client AzureAccountsClient) ListUserLUISAccounts(ctx context.Context) (result ListAzureAccountInfoObject, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AzureAccountsClient.ListUserLUISAccounts") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListUserLUISAccountsPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "authoring.AzureAccountsClient", "ListUserLUISAccounts", nil, "Failure preparing request") + return + } + + resp, err := client.ListUserLUISAccountsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "authoring.AzureAccountsClient", "ListUserLUISAccounts", resp, "Failure sending request") + return + } + + result, err = client.ListUserLUISAccountsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "authoring.AzureAccountsClient", "ListUserLUISAccounts", resp, "Failure responding to request") + } + + return +} + +// ListUserLUISAccountsPreparer prepares the ListUserLUISAccounts request. +func (client AzureAccountsClient) ListUserLUISAccountsPreparer(ctx context.Context) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "Endpoint": client.Endpoint, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), + autorest.WithPath("/azureaccounts")) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListUserLUISAccountsSender sends the ListUserLUISAccounts request. The method will close the +// http.Response Body if it receives an error. +func (client AzureAccountsClient) ListUserLUISAccountsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListUserLUISAccountsResponder handles the response to the ListUserLUISAccounts request. The method always +// closes the http.Response Body. +func (client AzureAccountsClient) ListUserLUISAccountsResponder(resp *http.Response) (result ListAzureAccountInfoObject, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result.Value), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// RemoveFromApp removes assigned Azure account from the application. +// Parameters: +// appID - the application ID. +// azureAccountInfoObject - the Azure account information object. +func (client AzureAccountsClient) RemoveFromApp(ctx context.Context, appID uuid.UUID, azureAccountInfoObject *AzureAccountInfoObject) (result OperationStatus, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AzureAccountsClient.RemoveFromApp") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: azureAccountInfoObject, + Constraints: []validation.Constraint{{Target: "azureAccountInfoObject", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "azureAccountInfoObject.AzureSubscriptionID", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "azureAccountInfoObject.ResourceGroup", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "azureAccountInfoObject.AccountName", Name: validation.Null, Rule: true, Chain: nil}, + }}}}}); err != nil { + return result, validation.NewError("authoring.AzureAccountsClient", "RemoveFromApp", err.Error()) + } + + req, err := client.RemoveFromAppPreparer(ctx, appID, azureAccountInfoObject) + if err != nil { + err = autorest.NewErrorWithError(err, "authoring.AzureAccountsClient", "RemoveFromApp", nil, "Failure preparing request") + return + } + + resp, err := client.RemoveFromAppSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "authoring.AzureAccountsClient", "RemoveFromApp", resp, "Failure sending request") + return + } + + result, err = client.RemoveFromAppResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "authoring.AzureAccountsClient", "RemoveFromApp", resp, "Failure responding to request") + } + + return +} + +// RemoveFromAppPreparer prepares the RemoveFromApp request. +func (client AzureAccountsClient) RemoveFromAppPreparer(ctx context.Context, appID uuid.UUID, azureAccountInfoObject *AzureAccountInfoObject) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "Endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "appId": autorest.Encode("path", appID), + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsDelete(), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), + autorest.WithPathParameters("/apps/{appId}/azureaccounts", pathParameters)) + if azureAccountInfoObject != nil { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithJSON(azureAccountInfoObject)) + } + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// RemoveFromAppSender sends the RemoveFromApp request. The method will close the +// http.Response Body if it receives an error. +func (client AzureAccountsClient) RemoveFromAppSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// RemoveFromAppResponder handles the response to the RemoveFromApp request. The method always +// closes the http.Response Body. +func (client AzureAccountsClient) RemoveFromAppResponder(resp *http.Response) (result OperationStatus, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/cognitiveservices/v2.0/luis/programmatic/client.go b/services/preview/cognitiveservices/v3.0/luis/authoring/client.go similarity index 70% rename from services/cognitiveservices/v2.0/luis/programmatic/client.go rename to services/preview/cognitiveservices/v3.0/luis/authoring/client.go index cc14e3405269..52070803a823 100644 --- a/services/cognitiveservices/v2.0/luis/programmatic/client.go +++ b/services/preview/cognitiveservices/v3.0/luis/authoring/client.go @@ -1,7 +1,7 @@ -// Package programmatic implements the Azure ARM Programmatic service API version v2.0 preview. +// Package authoring implements the Azure ARM Authoring service API version 3.0-preview. // // -package programmatic +package authoring // Copyright (c) Microsoft and contributors. All rights reserved. // @@ -24,21 +24,21 @@ import ( "github.com/Azure/go-autorest/autorest" ) -// BaseClient is the base client for Programmatic. +// BaseClient is the base client for Authoring. type BaseClient struct { autorest.Client - AzureRegion AzureRegions + Endpoint string } // New creates an instance of the BaseClient client. -func New(azureRegion AzureRegions) BaseClient { - return NewWithoutDefaults(azureRegion) +func New(endpoint string) BaseClient { + return NewWithoutDefaults(endpoint) } // NewWithoutDefaults creates an instance of the BaseClient client. -func NewWithoutDefaults(azureRegion AzureRegions) BaseClient { +func NewWithoutDefaults(endpoint string) BaseClient { return BaseClient{ - Client: autorest.NewClientWithUserAgent(UserAgent()), - AzureRegion: azureRegion, + Client: autorest.NewClientWithUserAgent(UserAgent()), + Endpoint: endpoint, } } diff --git a/services/cognitiveservices/v2.0/luis/programmatic/examples.go b/services/preview/cognitiveservices/v3.0/luis/authoring/examples.go similarity index 69% rename from services/cognitiveservices/v2.0/luis/programmatic/examples.go rename to services/preview/cognitiveservices/v3.0/luis/authoring/examples.go index acd013b03457..8fe2b086e25c 100644 --- a/services/cognitiveservices/v2.0/luis/programmatic/examples.go +++ b/services/preview/cognitiveservices/v3.0/luis/authoring/examples.go @@ -1,4 +1,4 @@ -package programmatic +package authoring // Copyright (c) Microsoft and contributors. All rights reserved. // @@ -22,42 +22,53 @@ import ( "github.com/Azure/go-autorest/autorest" "github.com/Azure/go-autorest/autorest/azure" "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" "github.com/satori/go.uuid" "net/http" ) -// ExamplesClient is the client for the Examples methods of the Programmatic service. +// ExamplesClient is the client for the Examples methods of the Authoring service. type ExamplesClient struct { BaseClient } // NewExamplesClient creates an instance of the ExamplesClient client. -func NewExamplesClient(azureRegion AzureRegions) ExamplesClient { - return ExamplesClient{New(azureRegion)} +func NewExamplesClient(endpoint string) ExamplesClient { + return ExamplesClient{New(endpoint)} } -// Add adds a labeled example to the application. +// Add adds a labeled example utterance in a version of the application. // Parameters: // appID - the application ID. // versionID - the version ID. -// exampleLabelObject - an example label with the expected intent and entities. +// exampleLabelObject - a labeled example utterance with the expected intent and entities. func (client ExamplesClient) Add(ctx context.Context, appID uuid.UUID, versionID string, exampleLabelObject ExampleLabelObject) (result LabelExampleResponse, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExamplesClient.Add") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } req, err := client.AddPreparer(ctx, appID, versionID, exampleLabelObject) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ExamplesClient", "Add", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ExamplesClient", "Add", nil, "Failure preparing request") return } resp, err := client.AddSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ExamplesClient", "Add", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ExamplesClient", "Add", resp, "Failure sending request") return } result, err = client.AddResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ExamplesClient", "Add", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ExamplesClient", "Add", resp, "Failure responding to request") } return @@ -66,7 +77,7 @@ func (client ExamplesClient) Add(ctx context.Context, appID uuid.UUID, versionID // AddPreparer prepares the Add request. func (client ExamplesClient) AddPreparer(ctx context.Context, appID uuid.UUID, versionID string, exampleLabelObject ExampleLabelObject) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -77,7 +88,7 @@ func (client ExamplesClient) AddPreparer(ctx context.Context, appID uuid.UUID, v preparer := autorest.CreatePreparer( autorest.AsContentType("application/json; charset=utf-8"), autorest.AsPost(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/example", pathParameters), autorest.WithJSON(exampleLabelObject)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) @@ -86,8 +97,8 @@ func (client ExamplesClient) AddPreparer(ctx context.Context, appID uuid.UUID, v // AddSender sends the Add request. The method will close the // http.Response Body if it receives an error. func (client ExamplesClient) AddSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // AddResponder handles the response to the Add request. The method always @@ -103,34 +114,44 @@ func (client ExamplesClient) AddResponder(resp *http.Response) (result LabelExam return } -// Batch adds a batch of labeled examples to the application. +// Batch adds a batch of labeled example utterances to a version of the application. // Parameters: // appID - the application ID. // versionID - the version ID. -// exampleLabelObjectArray - array of examples. +// exampleLabelObjectArray - array of example utterances. func (client ExamplesClient) Batch(ctx context.Context, appID uuid.UUID, versionID string, exampleLabelObjectArray []ExampleLabelObject) (result ListBatchLabelExample, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExamplesClient.Batch") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } if err := validation.Validate([]validation.Validation{ {TargetValue: exampleLabelObjectArray, Constraints: []validation.Constraint{{Target: "exampleLabelObjectArray", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { - return result, validation.NewError("programmatic.ExamplesClient", "Batch", err.Error()) + return result, validation.NewError("authoring.ExamplesClient", "Batch", err.Error()) } req, err := client.BatchPreparer(ctx, appID, versionID, exampleLabelObjectArray) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ExamplesClient", "Batch", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ExamplesClient", "Batch", nil, "Failure preparing request") return } resp, err := client.BatchSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ExamplesClient", "Batch", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ExamplesClient", "Batch", resp, "Failure sending request") return } result, err = client.BatchResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ExamplesClient", "Batch", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ExamplesClient", "Batch", resp, "Failure responding to request") } return @@ -139,7 +160,7 @@ func (client ExamplesClient) Batch(ctx context.Context, appID uuid.UUID, version // BatchPreparer prepares the Batch request. func (client ExamplesClient) BatchPreparer(ctx context.Context, appID uuid.UUID, versionID string, exampleLabelObjectArray []ExampleLabelObject) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -150,7 +171,7 @@ func (client ExamplesClient) BatchPreparer(ctx context.Context, appID uuid.UUID, preparer := autorest.CreatePreparer( autorest.AsContentType("application/json; charset=utf-8"), autorest.AsPost(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/examples", pathParameters), autorest.WithJSON(exampleLabelObjectArray)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) @@ -159,8 +180,8 @@ func (client ExamplesClient) BatchPreparer(ctx context.Context, appID uuid.UUID, // BatchSender sends the Batch request. The method will close the // http.Response Body if it receives an error. func (client ExamplesClient) BatchSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // BatchResponder handles the response to the Batch request. The method always @@ -176,28 +197,38 @@ func (client ExamplesClient) BatchResponder(resp *http.Response) (result ListBat return } -// Delete deletes the labeled example with the specified ID. +// Delete deletes the labeled example utterances with the specified ID from a version of the application. // Parameters: // appID - the application ID. // versionID - the version ID. // exampleID - the example ID. func (client ExamplesClient) Delete(ctx context.Context, appID uuid.UUID, versionID string, exampleID int32) (result OperationStatus, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExamplesClient.Delete") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } req, err := client.DeletePreparer(ctx, appID, versionID, exampleID) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ExamplesClient", "Delete", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ExamplesClient", "Delete", nil, "Failure preparing request") return } resp, err := client.DeleteSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ExamplesClient", "Delete", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ExamplesClient", "Delete", resp, "Failure sending request") return } result, err = client.DeleteResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ExamplesClient", "Delete", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ExamplesClient", "Delete", resp, "Failure responding to request") } return @@ -206,7 +237,7 @@ func (client ExamplesClient) Delete(ctx context.Context, appID uuid.UUID, versio // DeletePreparer prepares the Delete request. func (client ExamplesClient) DeletePreparer(ctx context.Context, appID uuid.UUID, versionID string, exampleID int32) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -217,7 +248,7 @@ func (client ExamplesClient) DeletePreparer(ctx context.Context, appID uuid.UUID preparer := autorest.CreatePreparer( autorest.AsDelete(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/examples/{exampleId}", pathParameters)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) } @@ -225,8 +256,8 @@ func (client ExamplesClient) DeletePreparer(ctx context.Context, appID uuid.UUID // DeleteSender sends the Delete request. The method will close the // http.Response Body if it receives an error. func (client ExamplesClient) DeleteSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // DeleteResponder handles the response to the Delete request. The method always @@ -242,41 +273,51 @@ func (client ExamplesClient) DeleteResponder(resp *http.Response) (result Operat return } -// List returns examples to be reviewed. +// List returns example utterances to be reviewed from a version of the application. // Parameters: // appID - the application ID. // versionID - the version ID. // skip - the number of entries to skip. Default value is 0. // take - the number of entries to return. Maximum page size is 500. Default is 100. func (client ExamplesClient) List(ctx context.Context, appID uuid.UUID, versionID string, skip *int32, take *int32) (result ListLabeledUtterance, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExamplesClient.List") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } if err := validation.Validate([]validation.Validation{ {TargetValue: skip, Constraints: []validation.Constraint{{Target: "skip", Name: validation.Null, Rule: false, Chain: []validation.Constraint{{Target: "skip", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}}}}}, {TargetValue: take, Constraints: []validation.Constraint{{Target: "take", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "take", Name: validation.InclusiveMaximum, Rule: 500, Chain: nil}, + Chain: []validation.Constraint{{Target: "take", Name: validation.InclusiveMaximum, Rule: int64(500), Chain: nil}, {Target: "take", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}, }}}}}); err != nil { - return result, validation.NewError("programmatic.ExamplesClient", "List", err.Error()) + return result, validation.NewError("authoring.ExamplesClient", "List", err.Error()) } req, err := client.ListPreparer(ctx, appID, versionID, skip, take) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ExamplesClient", "List", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ExamplesClient", "List", nil, "Failure preparing request") return } resp, err := client.ListSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ExamplesClient", "List", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ExamplesClient", "List", resp, "Failure sending request") return } result, err = client.ListResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ExamplesClient", "List", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ExamplesClient", "List", resp, "Failure responding to request") } return @@ -285,7 +326,7 @@ func (client ExamplesClient) List(ctx context.Context, appID uuid.UUID, versionI // ListPreparer prepares the List request. func (client ExamplesClient) ListPreparer(ctx context.Context, appID uuid.UUID, versionID string, skip *int32, take *int32) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -307,7 +348,7 @@ func (client ExamplesClient) ListPreparer(ctx context.Context, appID uuid.UUID, preparer := autorest.CreatePreparer( autorest.AsGet(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/examples", pathParameters), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) @@ -316,8 +357,8 @@ func (client ExamplesClient) ListPreparer(ctx context.Context, appID uuid.UUID, // ListSender sends the List request. The method will close the // http.Response Body if it receives an error. func (client ExamplesClient) ListSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // ListResponder handles the response to the List request. The method always diff --git a/services/preview/cognitiveservices/v3.0/luis/authoring/features.go b/services/preview/cognitiveservices/v3.0/luis/authoring/features.go new file mode 100644 index 000000000000..23015f60839d --- /dev/null +++ b/services/preview/cognitiveservices/v3.0/luis/authoring/features.go @@ -0,0 +1,969 @@ +package authoring + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "github.com/satori/go.uuid" + "net/http" +) + +// FeaturesClient is the client for the Features methods of the Authoring service. +type FeaturesClient struct { + BaseClient +} + +// NewFeaturesClient creates an instance of the FeaturesClient client. +func NewFeaturesClient(endpoint string) FeaturesClient { + return FeaturesClient{New(endpoint)} +} + +// AddPhraseList creates a new phraselist feature in a version of the application. +// Parameters: +// appID - the application ID. +// versionID - the version ID. +// phraselistCreateObject - a Phraselist object containing Name, comma-separated Phrases and the isExchangeable +// boolean. Default value for isExchangeable is true. +func (client FeaturesClient) AddPhraseList(ctx context.Context, appID uuid.UUID, versionID string, phraselistCreateObject PhraselistCreateObject) (result Int32, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/FeaturesClient.AddPhraseList") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.AddPhraseListPreparer(ctx, appID, versionID, phraselistCreateObject) + if err != nil { + err = autorest.NewErrorWithError(err, "authoring.FeaturesClient", "AddPhraseList", nil, "Failure preparing request") + return + } + + resp, err := client.AddPhraseListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "authoring.FeaturesClient", "AddPhraseList", resp, "Failure sending request") + return + } + + result, err = client.AddPhraseListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "authoring.FeaturesClient", "AddPhraseList", resp, "Failure responding to request") + } + + return +} + +// AddPhraseListPreparer prepares the AddPhraseList request. +func (client FeaturesClient) AddPhraseListPreparer(ctx context.Context, appID uuid.UUID, versionID string, phraselistCreateObject PhraselistCreateObject) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "Endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "appId": autorest.Encode("path", appID), + "versionId": autorest.Encode("path", versionID), + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), + autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/phraselists", pathParameters), + autorest.WithJSON(phraselistCreateObject)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// AddPhraseListSender sends the AddPhraseList request. The method will close the +// http.Response Body if it receives an error. +func (client FeaturesClient) AddPhraseListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// AddPhraseListResponder handles the response to the AddPhraseList request. The method always +// closes the http.Response Body. +func (client FeaturesClient) AddPhraseListResponder(resp *http.Response) (result Int32, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result.Value), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// CreatePatternFeature [DEPRECATED NOTICE: This operation will soon be removed] Creates a new pattern feature in a +// version of the application. +// Parameters: +// appID - the application ID. +// versionID - the version ID. +// patternCreateObject - the Name and Pattern of the feature. +func (client FeaturesClient) CreatePatternFeature(ctx context.Context, appID uuid.UUID, versionID string, patternCreateObject PatternCreateObject) (result Int32, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/FeaturesClient.CreatePatternFeature") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreatePatternFeaturePreparer(ctx, appID, versionID, patternCreateObject) + if err != nil { + err = autorest.NewErrorWithError(err, "authoring.FeaturesClient", "CreatePatternFeature", nil, "Failure preparing request") + return + } + + resp, err := client.CreatePatternFeatureSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "authoring.FeaturesClient", "CreatePatternFeature", resp, "Failure sending request") + return + } + + result, err = client.CreatePatternFeatureResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "authoring.FeaturesClient", "CreatePatternFeature", resp, "Failure responding to request") + } + + return +} + +// CreatePatternFeaturePreparer prepares the CreatePatternFeature request. +func (client FeaturesClient) CreatePatternFeaturePreparer(ctx context.Context, appID uuid.UUID, versionID string, patternCreateObject PatternCreateObject) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "Endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "appId": autorest.Encode("path", appID), + "versionId": autorest.Encode("path", versionID), + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), + autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/patterns", pathParameters), + autorest.WithJSON(patternCreateObject)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreatePatternFeatureSender sends the CreatePatternFeature request. The method will close the +// http.Response Body if it receives an error. +func (client FeaturesClient) CreatePatternFeatureSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// CreatePatternFeatureResponder handles the response to the CreatePatternFeature request. The method always +// closes the http.Response Body. +func (client FeaturesClient) CreatePatternFeatureResponder(resp *http.Response) (result Int32, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result.Value), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// DeletePatternFeature [DEPRECATED NOTICE: This operation will soon be removed] Deletes a pattern feature in a version +// of the application. +// Parameters: +// appID - the application ID. +// versionID - the version ID. +// patternID - the pattern feature ID. +func (client FeaturesClient) DeletePatternFeature(ctx context.Context, appID uuid.UUID, versionID string, patternID int32) (result OperationStatus, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/FeaturesClient.DeletePatternFeature") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePatternFeaturePreparer(ctx, appID, versionID, patternID) + if err != nil { + err = autorest.NewErrorWithError(err, "authoring.FeaturesClient", "DeletePatternFeature", nil, "Failure preparing request") + return + } + + resp, err := client.DeletePatternFeatureSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "authoring.FeaturesClient", "DeletePatternFeature", resp, "Failure sending request") + return + } + + result, err = client.DeletePatternFeatureResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "authoring.FeaturesClient", "DeletePatternFeature", resp, "Failure responding to request") + } + + return +} + +// DeletePatternFeaturePreparer prepares the DeletePatternFeature request. +func (client FeaturesClient) DeletePatternFeaturePreparer(ctx context.Context, appID uuid.UUID, versionID string, patternID int32) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "Endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "appId": autorest.Encode("path", appID), + "patternId": autorest.Encode("path", patternID), + "versionId": autorest.Encode("path", versionID), + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), + autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/patterns/{patternId}", pathParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeletePatternFeatureSender sends the DeletePatternFeature request. The method will close the +// http.Response Body if it receives an error. +func (client FeaturesClient) DeletePatternFeatureSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeletePatternFeatureResponder handles the response to the DeletePatternFeature request. The method always +// closes the http.Response Body. +func (client FeaturesClient) DeletePatternFeatureResponder(resp *http.Response) (result OperationStatus, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// DeletePhraseList deletes a phraselist feature from a version of the application. +// Parameters: +// appID - the application ID. +// versionID - the version ID. +// phraselistID - the ID of the feature to be deleted. +func (client FeaturesClient) DeletePhraseList(ctx context.Context, appID uuid.UUID, versionID string, phraselistID int32) (result OperationStatus, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/FeaturesClient.DeletePhraseList") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePhraseListPreparer(ctx, appID, versionID, phraselistID) + if err != nil { + err = autorest.NewErrorWithError(err, "authoring.FeaturesClient", "DeletePhraseList", nil, "Failure preparing request") + return + } + + resp, err := client.DeletePhraseListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "authoring.FeaturesClient", "DeletePhraseList", resp, "Failure sending request") + return + } + + result, err = client.DeletePhraseListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "authoring.FeaturesClient", "DeletePhraseList", resp, "Failure responding to request") + } + + return +} + +// DeletePhraseListPreparer prepares the DeletePhraseList request. +func (client FeaturesClient) DeletePhraseListPreparer(ctx context.Context, appID uuid.UUID, versionID string, phraselistID int32) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "Endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "appId": autorest.Encode("path", appID), + "phraselistId": autorest.Encode("path", phraselistID), + "versionId": autorest.Encode("path", versionID), + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), + autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/phraselists/{phraselistId}", pathParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeletePhraseListSender sends the DeletePhraseList request. The method will close the +// http.Response Body if it receives an error. +func (client FeaturesClient) DeletePhraseListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeletePhraseListResponder handles the response to the DeletePhraseList request. The method always +// closes the http.Response Body. +func (client FeaturesClient) DeletePhraseListResponder(resp *http.Response) (result OperationStatus, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetPatternFeatureInfo [DEPRECATED NOTICE: This operation will soon be removed] Gets the specified pattern feature's +// info in a version of the application. +// Parameters: +// appID - the application ID. +// versionID - the version ID. +// patternID - the pattern feature ID. +func (client FeaturesClient) GetPatternFeatureInfo(ctx context.Context, appID uuid.UUID, versionID string, patternID int32) (result PatternFeatureInfo, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/FeaturesClient.GetPatternFeatureInfo") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPatternFeatureInfoPreparer(ctx, appID, versionID, patternID) + if err != nil { + err = autorest.NewErrorWithError(err, "authoring.FeaturesClient", "GetPatternFeatureInfo", nil, "Failure preparing request") + return + } + + resp, err := client.GetPatternFeatureInfoSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "authoring.FeaturesClient", "GetPatternFeatureInfo", resp, "Failure sending request") + return + } + + result, err = client.GetPatternFeatureInfoResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "authoring.FeaturesClient", "GetPatternFeatureInfo", resp, "Failure responding to request") + } + + return +} + +// GetPatternFeatureInfoPreparer prepares the GetPatternFeatureInfo request. +func (client FeaturesClient) GetPatternFeatureInfoPreparer(ctx context.Context, appID uuid.UUID, versionID string, patternID int32) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "Endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "appId": autorest.Encode("path", appID), + "patternId": autorest.Encode("path", patternID), + "versionId": autorest.Encode("path", versionID), + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), + autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/patterns/{patternId}", pathParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetPatternFeatureInfoSender sends the GetPatternFeatureInfo request. The method will close the +// http.Response Body if it receives an error. +func (client FeaturesClient) GetPatternFeatureInfoSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetPatternFeatureInfoResponder handles the response to the GetPatternFeatureInfo request. The method always +// closes the http.Response Body. +func (client FeaturesClient) GetPatternFeatureInfoResponder(resp *http.Response) (result PatternFeatureInfo, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetPhraseList gets phraselist feature info in a version of the application. +// Parameters: +// appID - the application ID. +// versionID - the version ID. +// phraselistID - the ID of the feature to be retrieved. +func (client FeaturesClient) GetPhraseList(ctx context.Context, appID uuid.UUID, versionID string, phraselistID int32) (result PhraseListFeatureInfo, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/FeaturesClient.GetPhraseList") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPhraseListPreparer(ctx, appID, versionID, phraselistID) + if err != nil { + err = autorest.NewErrorWithError(err, "authoring.FeaturesClient", "GetPhraseList", nil, "Failure preparing request") + return + } + + resp, err := client.GetPhraseListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "authoring.FeaturesClient", "GetPhraseList", resp, "Failure sending request") + return + } + + result, err = client.GetPhraseListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "authoring.FeaturesClient", "GetPhraseList", resp, "Failure responding to request") + } + + return +} + +// GetPhraseListPreparer prepares the GetPhraseList request. +func (client FeaturesClient) GetPhraseListPreparer(ctx context.Context, appID uuid.UUID, versionID string, phraselistID int32) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "Endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "appId": autorest.Encode("path", appID), + "phraselistId": autorest.Encode("path", phraselistID), + "versionId": autorest.Encode("path", versionID), + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), + autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/phraselists/{phraselistId}", pathParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetPhraseListSender sends the GetPhraseList request. The method will close the +// http.Response Body if it receives an error. +func (client FeaturesClient) GetPhraseListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetPhraseListResponder handles the response to the GetPhraseList request. The method always +// closes the http.Response Body. +func (client FeaturesClient) GetPhraseListResponder(resp *http.Response) (result PhraseListFeatureInfo, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets all the extraction phraselist and pattern features in a version of the application. +// Parameters: +// appID - the application ID. +// versionID - the version ID. +// skip - the number of entries to skip. Default value is 0. +// take - the number of entries to return. Maximum page size is 500. Default is 100. +func (client FeaturesClient) List(ctx context.Context, appID uuid.UUID, versionID string, skip *int32, take *int32) (result FeaturesResponseObject, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/FeaturesClient.List") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: skip, + Constraints: []validation.Constraint{{Target: "skip", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "skip", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}}}}}, + {TargetValue: take, + Constraints: []validation.Constraint{{Target: "take", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "take", Name: validation.InclusiveMaximum, Rule: int64(500), Chain: nil}, + {Target: "take", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}, + }}}}}); err != nil { + return result, validation.NewError("authoring.FeaturesClient", "List", err.Error()) + } + + req, err := client.ListPreparer(ctx, appID, versionID, skip, take) + if err != nil { + err = autorest.NewErrorWithError(err, "authoring.FeaturesClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "authoring.FeaturesClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "authoring.FeaturesClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client FeaturesClient) ListPreparer(ctx context.Context, appID uuid.UUID, versionID string, skip *int32, take *int32) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "Endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "appId": autorest.Encode("path", appID), + "versionId": autorest.Encode("path", versionID), + } + + queryParameters := map[string]interface{}{} + if skip != nil { + queryParameters["skip"] = autorest.Encode("query", *skip) + } else { + queryParameters["skip"] = autorest.Encode("query", 0) + } + if take != nil { + queryParameters["take"] = autorest.Encode("query", *take) + } else { + queryParameters["take"] = autorest.Encode("query", 100) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), + autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/features", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client FeaturesClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client FeaturesClient) ListResponder(resp *http.Response) (result FeaturesResponseObject, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListApplicationVersionPatternFeatures [DEPRECATED NOTICE: This operation will soon be removed] Gets all the pattern +// features. +// Parameters: +// appID - the application ID. +// versionID - the version ID. +// skip - the number of entries to skip. Default value is 0. +// take - the number of entries to return. Maximum page size is 500. Default is 100. +func (client FeaturesClient) ListApplicationVersionPatternFeatures(ctx context.Context, appID uuid.UUID, versionID string, skip *int32, take *int32) (result ListPatternFeatureInfo, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/FeaturesClient.ListApplicationVersionPatternFeatures") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: skip, + Constraints: []validation.Constraint{{Target: "skip", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "skip", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}}}}}, + {TargetValue: take, + Constraints: []validation.Constraint{{Target: "take", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "take", Name: validation.InclusiveMaximum, Rule: int64(500), Chain: nil}, + {Target: "take", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}, + }}}}}); err != nil { + return result, validation.NewError("authoring.FeaturesClient", "ListApplicationVersionPatternFeatures", err.Error()) + } + + req, err := client.ListApplicationVersionPatternFeaturesPreparer(ctx, appID, versionID, skip, take) + if err != nil { + err = autorest.NewErrorWithError(err, "authoring.FeaturesClient", "ListApplicationVersionPatternFeatures", nil, "Failure preparing request") + return + } + + resp, err := client.ListApplicationVersionPatternFeaturesSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "authoring.FeaturesClient", "ListApplicationVersionPatternFeatures", resp, "Failure sending request") + return + } + + result, err = client.ListApplicationVersionPatternFeaturesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "authoring.FeaturesClient", "ListApplicationVersionPatternFeatures", resp, "Failure responding to request") + } + + return +} + +// ListApplicationVersionPatternFeaturesPreparer prepares the ListApplicationVersionPatternFeatures request. +func (client FeaturesClient) ListApplicationVersionPatternFeaturesPreparer(ctx context.Context, appID uuid.UUID, versionID string, skip *int32, take *int32) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "Endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "appId": autorest.Encode("path", appID), + "versionId": autorest.Encode("path", versionID), + } + + queryParameters := map[string]interface{}{} + if skip != nil { + queryParameters["skip"] = autorest.Encode("query", *skip) + } else { + queryParameters["skip"] = autorest.Encode("query", 0) + } + if take != nil { + queryParameters["take"] = autorest.Encode("query", *take) + } else { + queryParameters["take"] = autorest.Encode("query", 100) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), + autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/patterns", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListApplicationVersionPatternFeaturesSender sends the ListApplicationVersionPatternFeatures request. The method will close the +// http.Response Body if it receives an error. +func (client FeaturesClient) ListApplicationVersionPatternFeaturesSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListApplicationVersionPatternFeaturesResponder handles the response to the ListApplicationVersionPatternFeatures request. The method always +// closes the http.Response Body. +func (client FeaturesClient) ListApplicationVersionPatternFeaturesResponder(resp *http.Response) (result ListPatternFeatureInfo, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result.Value), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListPhraseLists gets all the phraselist features in a version of the application. +// Parameters: +// appID - the application ID. +// versionID - the version ID. +// skip - the number of entries to skip. Default value is 0. +// take - the number of entries to return. Maximum page size is 500. Default is 100. +func (client FeaturesClient) ListPhraseLists(ctx context.Context, appID uuid.UUID, versionID string, skip *int32, take *int32) (result ListPhraseListFeatureInfo, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/FeaturesClient.ListPhraseLists") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: skip, + Constraints: []validation.Constraint{{Target: "skip", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "skip", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}}}}}, + {TargetValue: take, + Constraints: []validation.Constraint{{Target: "take", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "take", Name: validation.InclusiveMaximum, Rule: int64(500), Chain: nil}, + {Target: "take", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}, + }}}}}); err != nil { + return result, validation.NewError("authoring.FeaturesClient", "ListPhraseLists", err.Error()) + } + + req, err := client.ListPhraseListsPreparer(ctx, appID, versionID, skip, take) + if err != nil { + err = autorest.NewErrorWithError(err, "authoring.FeaturesClient", "ListPhraseLists", nil, "Failure preparing request") + return + } + + resp, err := client.ListPhraseListsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "authoring.FeaturesClient", "ListPhraseLists", resp, "Failure sending request") + return + } + + result, err = client.ListPhraseListsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "authoring.FeaturesClient", "ListPhraseLists", resp, "Failure responding to request") + } + + return +} + +// ListPhraseListsPreparer prepares the ListPhraseLists request. +func (client FeaturesClient) ListPhraseListsPreparer(ctx context.Context, appID uuid.UUID, versionID string, skip *int32, take *int32) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "Endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "appId": autorest.Encode("path", appID), + "versionId": autorest.Encode("path", versionID), + } + + queryParameters := map[string]interface{}{} + if skip != nil { + queryParameters["skip"] = autorest.Encode("query", *skip) + } else { + queryParameters["skip"] = autorest.Encode("query", 0) + } + if take != nil { + queryParameters["take"] = autorest.Encode("query", *take) + } else { + queryParameters["take"] = autorest.Encode("query", 100) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), + autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/phraselists", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListPhraseListsSender sends the ListPhraseLists request. The method will close the +// http.Response Body if it receives an error. +func (client FeaturesClient) ListPhraseListsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListPhraseListsResponder handles the response to the ListPhraseLists request. The method always +// closes the http.Response Body. +func (client FeaturesClient) ListPhraseListsResponder(resp *http.Response) (result ListPhraseListFeatureInfo, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result.Value), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// UpdatePatternFeature [DEPRECATED NOTICE: This operation will soon be removed] Updates the pattern, the name and the +// state of the pattern feature in a version of the application. +// Parameters: +// appID - the application ID. +// versionID - the version ID. +// patternID - the pattern feature ID. +// patternUpdateObject - the new values for: - Just a boolean called IsActive, in which case the status of the +// feature will be changed. - Name, Pattern and a boolean called IsActive to update the feature. +func (client FeaturesClient) UpdatePatternFeature(ctx context.Context, appID uuid.UUID, versionID string, patternID int32, patternUpdateObject PatternUpdateObject) (result OperationStatus, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/FeaturesClient.UpdatePatternFeature") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdatePatternFeaturePreparer(ctx, appID, versionID, patternID, patternUpdateObject) + if err != nil { + err = autorest.NewErrorWithError(err, "authoring.FeaturesClient", "UpdatePatternFeature", nil, "Failure preparing request") + return + } + + resp, err := client.UpdatePatternFeatureSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "authoring.FeaturesClient", "UpdatePatternFeature", resp, "Failure sending request") + return + } + + result, err = client.UpdatePatternFeatureResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "authoring.FeaturesClient", "UpdatePatternFeature", resp, "Failure responding to request") + } + + return +} + +// UpdatePatternFeaturePreparer prepares the UpdatePatternFeature request. +func (client FeaturesClient) UpdatePatternFeaturePreparer(ctx context.Context, appID uuid.UUID, versionID string, patternID int32, patternUpdateObject PatternUpdateObject) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "Endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "appId": autorest.Encode("path", appID), + "patternId": autorest.Encode("path", patternID), + "versionId": autorest.Encode("path", versionID), + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), + autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/patterns/{patternId}", pathParameters), + autorest.WithJSON(patternUpdateObject)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdatePatternFeatureSender sends the UpdatePatternFeature request. The method will close the +// http.Response Body if it receives an error. +func (client FeaturesClient) UpdatePatternFeatureSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// UpdatePatternFeatureResponder handles the response to the UpdatePatternFeature request. The method always +// closes the http.Response Body. +func (client FeaturesClient) UpdatePatternFeatureResponder(resp *http.Response) (result OperationStatus, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// UpdatePhraseList updates the phrases, the state and the name of the phraselist feature in a version of the +// application. +// Parameters: +// appID - the application ID. +// versionID - the version ID. +// phraselistID - the ID of the feature to be updated. +// phraselistUpdateObject - the new values for: - Just a boolean called IsActive, in which case the status of +// the feature will be changed. - Name, Pattern, Mode, and a boolean called IsActive to update the feature. +func (client FeaturesClient) UpdatePhraseList(ctx context.Context, appID uuid.UUID, versionID string, phraselistID int32, phraselistUpdateObject *PhraselistUpdateObject) (result OperationStatus, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/FeaturesClient.UpdatePhraseList") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdatePhraseListPreparer(ctx, appID, versionID, phraselistID, phraselistUpdateObject) + if err != nil { + err = autorest.NewErrorWithError(err, "authoring.FeaturesClient", "UpdatePhraseList", nil, "Failure preparing request") + return + } + + resp, err := client.UpdatePhraseListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "authoring.FeaturesClient", "UpdatePhraseList", resp, "Failure sending request") + return + } + + result, err = client.UpdatePhraseListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "authoring.FeaturesClient", "UpdatePhraseList", resp, "Failure responding to request") + } + + return +} + +// UpdatePhraseListPreparer prepares the UpdatePhraseList request. +func (client FeaturesClient) UpdatePhraseListPreparer(ctx context.Context, appID uuid.UUID, versionID string, phraselistID int32, phraselistUpdateObject *PhraselistUpdateObject) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "Endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "appId": autorest.Encode("path", appID), + "phraselistId": autorest.Encode("path", phraselistID), + "versionId": autorest.Encode("path", versionID), + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), + autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/phraselists/{phraselistId}", pathParameters)) + if phraselistUpdateObject != nil { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithJSON(phraselistUpdateObject)) + } + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdatePhraseListSender sends the UpdatePhraseList request. The method will close the +// http.Response Body if it receives an error. +func (client FeaturesClient) UpdatePhraseListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// UpdatePhraseListResponder handles the response to the UpdatePhraseList request. The method always +// closes the http.Response Body. +func (client FeaturesClient) UpdatePhraseListResponder(resp *http.Response) (result OperationStatus, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/cognitiveservices/v2.0/luis/programmatic/model.go b/services/preview/cognitiveservices/v3.0/luis/authoring/model.go similarity index 64% rename from services/cognitiveservices/v2.0/luis/programmatic/model.go rename to services/preview/cognitiveservices/v3.0/luis/authoring/model.go index 46e9587d519e..5799f5189ad8 100644 --- a/services/cognitiveservices/v2.0/luis/programmatic/model.go +++ b/services/preview/cognitiveservices/v3.0/luis/authoring/model.go @@ -1,4 +1,4 @@ -package programmatic +package authoring // Copyright (c) Microsoft and contributors. All rights reserved. // @@ -22,43 +22,53 @@ import ( "github.com/Azure/go-autorest/autorest" "github.com/Azure/go-autorest/autorest/azure" "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" "github.com/satori/go.uuid" "net/http" ) -// ModelClient is the client for the Model methods of the Programmatic service. +// ModelClient is the client for the Model methods of the Authoring service. type ModelClient struct { BaseClient } // NewModelClient creates an instance of the ModelClient client. -func NewModelClient(azureRegion AzureRegions) ModelClient { - return ModelClient{New(azureRegion)} +func NewModelClient(endpoint string) ModelClient { + return ModelClient{New(endpoint)} } -// AddClosedList adds a closed list model to the application. +// AddClosedList adds a list entity model to a version of the application. // Parameters: // appID - the application ID. // versionID - the version ID. -// closedListModelCreateObject - a model containing the name and words for the new closed list entity -// extractor. +// closedListModelCreateObject - a model containing the name and words for the new list entity extractor. func (client ModelClient) AddClosedList(ctx context.Context, appID uuid.UUID, versionID string, closedListModelCreateObject ClosedListModelCreateObject) (result UUID, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.AddClosedList") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } req, err := client.AddClosedListPreparer(ctx, appID, versionID, closedListModelCreateObject) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "AddClosedList", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "AddClosedList", nil, "Failure preparing request") return } resp, err := client.AddClosedListSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "AddClosedList", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "AddClosedList", resp, "Failure sending request") return } result, err = client.AddClosedListResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "AddClosedList", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "AddClosedList", resp, "Failure responding to request") } return @@ -67,7 +77,7 @@ func (client ModelClient) AddClosedList(ctx context.Context, appID uuid.UUID, ve // AddClosedListPreparer prepares the AddClosedList request. func (client ModelClient) AddClosedListPreparer(ctx context.Context, appID uuid.UUID, versionID string, closedListModelCreateObject ClosedListModelCreateObject) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -78,7 +88,7 @@ func (client ModelClient) AddClosedListPreparer(ctx context.Context, appID uuid. preparer := autorest.CreatePreparer( autorest.AsContentType("application/json; charset=utf-8"), autorest.AsPost(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/closedlists", pathParameters), autorest.WithJSON(closedListModelCreateObject)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) @@ -87,8 +97,8 @@ func (client ModelClient) AddClosedListPreparer(ctx context.Context, appID uuid. // AddClosedListSender sends the AddClosedList request. The method will close the // http.Response Body if it receives an error. func (client ModelClient) AddClosedListSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // AddClosedListResponder handles the response to the AddClosedList request. The method always @@ -104,96 +114,40 @@ func (client ModelClient) AddClosedListResponder(resp *http.Response) (result UU return } -// AddCompositeEntity adds a composite entity extractor to the application. -// Parameters: -// appID - the application ID. -// versionID - the version ID. -// compositeModelCreateObject - a model containing the name and children of the new entity extractor. -func (client ModelClient) AddCompositeEntity(ctx context.Context, appID uuid.UUID, versionID string, compositeModelCreateObject CompositeEntityModel) (result UUID, err error) { - req, err := client.AddCompositeEntityPreparer(ctx, appID, versionID, compositeModelCreateObject) - if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "AddCompositeEntity", nil, "Failure preparing request") - return - } - - resp, err := client.AddCompositeEntitySender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "AddCompositeEntity", resp, "Failure sending request") - return - } - - result, err = client.AddCompositeEntityResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "AddCompositeEntity", resp, "Failure responding to request") - } - - return -} - -// AddCompositeEntityPreparer prepares the AddCompositeEntity request. -func (client ModelClient) AddCompositeEntityPreparer(ctx context.Context, appID uuid.UUID, versionID string, compositeModelCreateObject CompositeEntityModel) (*http.Request, error) { - urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, - } - - pathParameters := map[string]interface{}{ - "appId": autorest.Encode("path", appID), - "versionId": autorest.Encode("path", versionID), - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; charset=utf-8"), - autorest.AsPost(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), - autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/compositeentities", pathParameters), - autorest.WithJSON(compositeModelCreateObject)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// AddCompositeEntitySender sends the AddCompositeEntity request. The method will close the -// http.Response Body if it receives an error. -func (client ModelClient) AddCompositeEntitySender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// AddCompositeEntityResponder handles the response to the AddCompositeEntity request. The method always -// closes the http.Response Body. -func (client ModelClient) AddCompositeEntityResponder(resp *http.Response) (result UUID, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), - autorest.ByUnmarshallingJSON(&result.Value), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// AddCompositeEntityChild creates a single child in an existing composite entity model. +// AddCompositeEntityChild creates a single child in an existing composite entity model in a version of the +// application. // Parameters: // appID - the application ID. // versionID - the version ID. // cEntityID - the composite entity extractor ID. // compositeChildModelCreateObject - a model object containing the name of the new composite child model. func (client ModelClient) AddCompositeEntityChild(ctx context.Context, appID uuid.UUID, versionID string, cEntityID uuid.UUID, compositeChildModelCreateObject CompositeChildModelCreateObject) (result UUID, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.AddCompositeEntityChild") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } req, err := client.AddCompositeEntityChildPreparer(ctx, appID, versionID, cEntityID, compositeChildModelCreateObject) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "AddCompositeEntityChild", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "AddCompositeEntityChild", nil, "Failure preparing request") return } resp, err := client.AddCompositeEntityChildSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "AddCompositeEntityChild", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "AddCompositeEntityChild", resp, "Failure sending request") return } result, err = client.AddCompositeEntityChildResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "AddCompositeEntityChild", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "AddCompositeEntityChild", resp, "Failure responding to request") } return @@ -202,7 +156,7 @@ func (client ModelClient) AddCompositeEntityChild(ctx context.Context, appID uui // AddCompositeEntityChildPreparer prepares the AddCompositeEntityChild request. func (client ModelClient) AddCompositeEntityChildPreparer(ctx context.Context, appID uuid.UUID, versionID string, cEntityID uuid.UUID, compositeChildModelCreateObject CompositeChildModelCreateObject) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -214,7 +168,7 @@ func (client ModelClient) AddCompositeEntityChildPreparer(ctx context.Context, a preparer := autorest.CreatePreparer( autorest.AsContentType("application/json; charset=utf-8"), autorest.AsPost(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/compositeentities/{cEntityId}/children", pathParameters), autorest.WithJSON(compositeChildModelCreateObject)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) @@ -223,8 +177,8 @@ func (client ModelClient) AddCompositeEntityChildPreparer(ctx context.Context, a // AddCompositeEntityChildSender sends the AddCompositeEntityChild request. The method will close the // http.Response Body if it receives an error. func (client ModelClient) AddCompositeEntityChildSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // AddCompositeEntityChildResponder handles the response to the AddCompositeEntityChild request. The method always @@ -240,28 +194,39 @@ func (client ModelClient) AddCompositeEntityChildResponder(resp *http.Response) return } -// AddCustomPrebuiltDomain adds a customizable prebuilt domain along with all of its models to this application. +// AddCustomPrebuiltDomain adds a customizable prebuilt domain along with all of its intent and entity models in a +// version of the application. // Parameters: // appID - the application ID. // versionID - the version ID. // prebuiltDomainObject - a prebuilt domain create object containing the name of the domain. func (client ModelClient) AddCustomPrebuiltDomain(ctx context.Context, appID uuid.UUID, versionID string, prebuiltDomainObject PrebuiltDomainCreateBaseObject) (result ListUUID, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.AddCustomPrebuiltDomain") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } req, err := client.AddCustomPrebuiltDomainPreparer(ctx, appID, versionID, prebuiltDomainObject) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "AddCustomPrebuiltDomain", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "AddCustomPrebuiltDomain", nil, "Failure preparing request") return } resp, err := client.AddCustomPrebuiltDomainSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "AddCustomPrebuiltDomain", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "AddCustomPrebuiltDomain", resp, "Failure sending request") return } result, err = client.AddCustomPrebuiltDomainResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "AddCustomPrebuiltDomain", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "AddCustomPrebuiltDomain", resp, "Failure responding to request") } return @@ -270,7 +235,7 @@ func (client ModelClient) AddCustomPrebuiltDomain(ctx context.Context, appID uui // AddCustomPrebuiltDomainPreparer prepares the AddCustomPrebuiltDomain request. func (client ModelClient) AddCustomPrebuiltDomainPreparer(ctx context.Context, appID uuid.UUID, versionID string, prebuiltDomainObject PrebuiltDomainCreateBaseObject) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -281,7 +246,7 @@ func (client ModelClient) AddCustomPrebuiltDomainPreparer(ctx context.Context, a preparer := autorest.CreatePreparer( autorest.AsContentType("application/json; charset=utf-8"), autorest.AsPost(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/customprebuiltdomains", pathParameters), autorest.WithJSON(prebuiltDomainObject)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) @@ -290,8 +255,8 @@ func (client ModelClient) AddCustomPrebuiltDomainPreparer(ctx context.Context, a // AddCustomPrebuiltDomainSender sends the AddCustomPrebuiltDomain request. The method will close the // http.Response Body if it receives an error. func (client ModelClient) AddCustomPrebuiltDomainSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // AddCustomPrebuiltDomainResponder handles the response to the AddCustomPrebuiltDomain request. The method always @@ -307,29 +272,39 @@ func (client ModelClient) AddCustomPrebuiltDomainResponder(resp *http.Response) return } -// AddCustomPrebuiltEntity adds a custom prebuilt entity model to the application. +// AddCustomPrebuiltEntity adds a prebuilt entity model to a version of the application. // Parameters: // appID - the application ID. // versionID - the version ID. -// prebuiltDomainModelCreateObject - a model object containing the name of the custom prebuilt entity and the -// name of the domain to which this model belongs. +// prebuiltDomainModelCreateObject - a model object containing the name of the prebuilt entity and the name of +// the domain to which this model belongs. func (client ModelClient) AddCustomPrebuiltEntity(ctx context.Context, appID uuid.UUID, versionID string, prebuiltDomainModelCreateObject PrebuiltDomainModelCreateObject) (result UUID, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.AddCustomPrebuiltEntity") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } req, err := client.AddCustomPrebuiltEntityPreparer(ctx, appID, versionID, prebuiltDomainModelCreateObject) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "AddCustomPrebuiltEntity", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "AddCustomPrebuiltEntity", nil, "Failure preparing request") return } resp, err := client.AddCustomPrebuiltEntitySender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "AddCustomPrebuiltEntity", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "AddCustomPrebuiltEntity", resp, "Failure sending request") return } result, err = client.AddCustomPrebuiltEntityResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "AddCustomPrebuiltEntity", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "AddCustomPrebuiltEntity", resp, "Failure responding to request") } return @@ -338,7 +313,7 @@ func (client ModelClient) AddCustomPrebuiltEntity(ctx context.Context, appID uui // AddCustomPrebuiltEntityPreparer prepares the AddCustomPrebuiltEntity request. func (client ModelClient) AddCustomPrebuiltEntityPreparer(ctx context.Context, appID uuid.UUID, versionID string, prebuiltDomainModelCreateObject PrebuiltDomainModelCreateObject) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -349,7 +324,7 @@ func (client ModelClient) AddCustomPrebuiltEntityPreparer(ctx context.Context, a preparer := autorest.CreatePreparer( autorest.AsContentType("application/json; charset=utf-8"), autorest.AsPost(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/customprebuiltentities", pathParameters), autorest.WithJSON(prebuiltDomainModelCreateObject)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) @@ -358,8 +333,8 @@ func (client ModelClient) AddCustomPrebuiltEntityPreparer(ctx context.Context, a // AddCustomPrebuiltEntitySender sends the AddCustomPrebuiltEntity request. The method will close the // http.Response Body if it receives an error. func (client ModelClient) AddCustomPrebuiltEntitySender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // AddCustomPrebuiltEntityResponder handles the response to the AddCustomPrebuiltEntity request. The method always @@ -375,29 +350,39 @@ func (client ModelClient) AddCustomPrebuiltEntityResponder(resp *http.Response) return } -// AddCustomPrebuiltIntent adds a custom prebuilt intent model to the application. +// AddCustomPrebuiltIntent adds a customizable prebuilt intent model to a version of the application. // Parameters: // appID - the application ID. // versionID - the version ID. -// prebuiltDomainModelCreateObject - a model object containing the name of the custom prebuilt intent and the -// name of the domain to which this model belongs. +// prebuiltDomainModelCreateObject - a model object containing the name of the customizable prebuilt intent and +// the name of the domain to which this model belongs. func (client ModelClient) AddCustomPrebuiltIntent(ctx context.Context, appID uuid.UUID, versionID string, prebuiltDomainModelCreateObject PrebuiltDomainModelCreateObject) (result UUID, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.AddCustomPrebuiltIntent") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } req, err := client.AddCustomPrebuiltIntentPreparer(ctx, appID, versionID, prebuiltDomainModelCreateObject) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "AddCustomPrebuiltIntent", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "AddCustomPrebuiltIntent", nil, "Failure preparing request") return } resp, err := client.AddCustomPrebuiltIntentSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "AddCustomPrebuiltIntent", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "AddCustomPrebuiltIntent", resp, "Failure sending request") return } result, err = client.AddCustomPrebuiltIntentResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "AddCustomPrebuiltIntent", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "AddCustomPrebuiltIntent", resp, "Failure responding to request") } return @@ -406,7 +391,7 @@ func (client ModelClient) AddCustomPrebuiltIntent(ctx context.Context, appID uui // AddCustomPrebuiltIntentPreparer prepares the AddCustomPrebuiltIntent request. func (client ModelClient) AddCustomPrebuiltIntentPreparer(ctx context.Context, appID uuid.UUID, versionID string, prebuiltDomainModelCreateObject PrebuiltDomainModelCreateObject) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -417,7 +402,7 @@ func (client ModelClient) AddCustomPrebuiltIntentPreparer(ctx context.Context, a preparer := autorest.CreatePreparer( autorest.AsContentType("application/json; charset=utf-8"), autorest.AsPost(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/customprebuiltintents", pathParameters), autorest.WithJSON(prebuiltDomainModelCreateObject)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) @@ -426,8 +411,8 @@ func (client ModelClient) AddCustomPrebuiltIntentPreparer(ctx context.Context, a // AddCustomPrebuiltIntentSender sends the AddCustomPrebuiltIntent request. The method will close the // http.Response Body if it receives an error. func (client ModelClient) AddCustomPrebuiltIntentSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // AddCustomPrebuiltIntentResponder handles the response to the AddCustomPrebuiltIntent request. The method always @@ -443,37 +428,47 @@ func (client ModelClient) AddCustomPrebuiltIntentResponder(resp *http.Response) return } -// AddEntity adds an entity extractor to the application. +// AddEntity adds an entity extractor to a version of the application. // Parameters: // appID - the application ID. // versionID - the version ID. -// modelCreateObject - a model object containing the name for the new entity extractor. -func (client ModelClient) AddEntity(ctx context.Context, appID uuid.UUID, versionID string, modelCreateObject ModelCreateObject) (result UUID, err error) { - req, err := client.AddEntityPreparer(ctx, appID, versionID, modelCreateObject) +// entityModelCreateObject - a model object containing the name of the new entity extractor and its children. +func (client ModelClient) AddEntity(ctx context.Context, appID uuid.UUID, versionID string, entityModelCreateObject EntityModelCreateObject) (result UUID, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.AddEntity") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.AddEntityPreparer(ctx, appID, versionID, entityModelCreateObject) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "AddEntity", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "AddEntity", nil, "Failure preparing request") return } resp, err := client.AddEntitySender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "AddEntity", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "AddEntity", resp, "Failure sending request") return } result, err = client.AddEntityResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "AddEntity", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "AddEntity", resp, "Failure responding to request") } return } // AddEntityPreparer prepares the AddEntity request. -func (client ModelClient) AddEntityPreparer(ctx context.Context, appID uuid.UUID, versionID string, modelCreateObject ModelCreateObject) (*http.Request, error) { +func (client ModelClient) AddEntityPreparer(ctx context.Context, appID uuid.UUID, versionID string, entityModelCreateObject EntityModelCreateObject) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -484,17 +479,17 @@ func (client ModelClient) AddEntityPreparer(ctx context.Context, appID uuid.UUID preparer := autorest.CreatePreparer( autorest.AsContentType("application/json; charset=utf-8"), autorest.AsPost(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/entities", pathParameters), - autorest.WithJSON(modelCreateObject)) + autorest.WithJSON(entityModelCreateObject)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) } // AddEntitySender sends the AddEntity request. The method will close the // http.Response Body if it receives an error. func (client ModelClient) AddEntitySender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // AddEntityResponder handles the response to the AddEntity request. The method always @@ -510,38 +505,48 @@ func (client ModelClient) AddEntityResponder(resp *http.Response) (result UUID, return } -// AddExplicitListItem sends the add explicit list item request. +// AddEntityChild creates a single child in an existing entity model hierarchy in a version of the application. // Parameters: // appID - the application ID. // versionID - the version ID. -// entityID - the Pattern.Any entity extractor ID. -// item - the new explicit list item. -func (client ModelClient) AddExplicitListItem(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, item ExplicitListItemCreateObject) (result Int32, err error) { - req, err := client.AddExplicitListItemPreparer(ctx, appID, versionID, entityID, item) +// entityID - the entity extractor ID. +// childEntityModelCreateObject - a model object containing the name of the new child model and its children. +func (client ModelClient) AddEntityChild(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, childEntityModelCreateObject ChildEntityModelCreateObject) (result UUID, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.AddEntityChild") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.AddEntityChildPreparer(ctx, appID, versionID, entityID, childEntityModelCreateObject) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "AddExplicitListItem", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "AddEntityChild", nil, "Failure preparing request") return } - resp, err := client.AddExplicitListItemSender(req) + resp, err := client.AddEntityChildSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "AddExplicitListItem", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "AddEntityChild", resp, "Failure sending request") return } - result, err = client.AddExplicitListItemResponder(resp) + result, err = client.AddEntityChildResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "AddExplicitListItem", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "AddEntityChild", resp, "Failure responding to request") } return } -// AddExplicitListItemPreparer prepares the AddExplicitListItem request. -func (client ModelClient) AddExplicitListItemPreparer(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, item ExplicitListItemCreateObject) (*http.Request, error) { +// AddEntityChildPreparer prepares the AddEntityChild request. +func (client ModelClient) AddEntityChildPreparer(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, childEntityModelCreateObject ChildEntityModelCreateObject) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -553,22 +558,22 @@ func (client ModelClient) AddExplicitListItemPreparer(ctx context.Context, appID preparer := autorest.CreatePreparer( autorest.AsContentType("application/json; charset=utf-8"), autorest.AsPost(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), - autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/patternanyentities/{entityId}/explicitlist", pathParameters), - autorest.WithJSON(item)) + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), + autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/entities/{entityId}/children", pathParameters), + autorest.WithJSON(childEntityModelCreateObject)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) } -// AddExplicitListItemSender sends the AddExplicitListItem request. The method will close the +// AddEntityChildSender sends the AddEntityChild request. The method will close the // http.Response Body if it receives an error. -func (client ModelClient) AddExplicitListItemSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +func (client ModelClient) AddEntityChildSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } -// AddExplicitListItemResponder handles the response to the AddExplicitListItem request. The method always +// AddEntityChildResponder handles the response to the AddEntityChild request. The method always // closes the http.Response Body. -func (client ModelClient) AddExplicitListItemResponder(resp *http.Response) (result Int32, err error) { +func (client ModelClient) AddEntityChildResponder(resp *http.Response) (result UUID, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -579,132 +584,75 @@ func (client ModelClient) AddExplicitListItemResponder(resp *http.Response) (res return } -// AddHierarchicalEntity adds a hierarchical entity extractor to the application version. +// AddExplicitListItem sends the add explicit list item request. // Parameters: // appID - the application ID. // versionID - the version ID. -// hierarchicalModelCreateObject - a model containing the name and children of the new entity extractor. -func (client ModelClient) AddHierarchicalEntity(ctx context.Context, appID uuid.UUID, versionID string, hierarchicalModelCreateObject HierarchicalEntityModel) (result UUID, err error) { - req, err := client.AddHierarchicalEntityPreparer(ctx, appID, versionID, hierarchicalModelCreateObject) - if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "AddHierarchicalEntity", nil, "Failure preparing request") - return - } - - resp, err := client.AddHierarchicalEntitySender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "AddHierarchicalEntity", resp, "Failure sending request") - return - } - - result, err = client.AddHierarchicalEntityResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "AddHierarchicalEntity", resp, "Failure responding to request") - } - - return -} - -// AddHierarchicalEntityPreparer prepares the AddHierarchicalEntity request. -func (client ModelClient) AddHierarchicalEntityPreparer(ctx context.Context, appID uuid.UUID, versionID string, hierarchicalModelCreateObject HierarchicalEntityModel) (*http.Request, error) { - urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, - } - - pathParameters := map[string]interface{}{ - "appId": autorest.Encode("path", appID), - "versionId": autorest.Encode("path", versionID), +// entityID - the Pattern.Any entity extractor ID. +// item - the new explicit list item. +func (client ModelClient) AddExplicitListItem(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, item ExplicitListItemCreateObject) (result Int32, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.AddExplicitListItem") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; charset=utf-8"), - autorest.AsPost(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), - autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/hierarchicalentities", pathParameters), - autorest.WithJSON(hierarchicalModelCreateObject)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// AddHierarchicalEntitySender sends the AddHierarchicalEntity request. The method will close the -// http.Response Body if it receives an error. -func (client ModelClient) AddHierarchicalEntitySender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// AddHierarchicalEntityResponder handles the response to the AddHierarchicalEntity request. The method always -// closes the http.Response Body. -func (client ModelClient) AddHierarchicalEntityResponder(resp *http.Response) (result UUID, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), - autorest.ByUnmarshallingJSON(&result.Value), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// AddHierarchicalEntityChild creates a single child in an existing hierarchical entity model. -// Parameters: -// appID - the application ID. -// versionID - the version ID. -// hEntityID - the hierarchical entity extractor ID. -// hierarchicalChildModelCreateObject - a model object containing the name of the new hierarchical child model. -func (client ModelClient) AddHierarchicalEntityChild(ctx context.Context, appID uuid.UUID, versionID string, hEntityID uuid.UUID, hierarchicalChildModelCreateObject HierarchicalChildModelCreateObject) (result UUID, err error) { - req, err := client.AddHierarchicalEntityChildPreparer(ctx, appID, versionID, hEntityID, hierarchicalChildModelCreateObject) + req, err := client.AddExplicitListItemPreparer(ctx, appID, versionID, entityID, item) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "AddHierarchicalEntityChild", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "AddExplicitListItem", nil, "Failure preparing request") return } - resp, err := client.AddHierarchicalEntityChildSender(req) + resp, err := client.AddExplicitListItemSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "AddHierarchicalEntityChild", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "AddExplicitListItem", resp, "Failure sending request") return } - result, err = client.AddHierarchicalEntityChildResponder(resp) + result, err = client.AddExplicitListItemResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "AddHierarchicalEntityChild", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "AddExplicitListItem", resp, "Failure responding to request") } return } -// AddHierarchicalEntityChildPreparer prepares the AddHierarchicalEntityChild request. -func (client ModelClient) AddHierarchicalEntityChildPreparer(ctx context.Context, appID uuid.UUID, versionID string, hEntityID uuid.UUID, hierarchicalChildModelCreateObject HierarchicalChildModelCreateObject) (*http.Request, error) { +// AddExplicitListItemPreparer prepares the AddExplicitListItem request. +func (client ModelClient) AddExplicitListItemPreparer(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, item ExplicitListItemCreateObject) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ "appId": autorest.Encode("path", appID), - "hEntityId": autorest.Encode("path", hEntityID), + "entityId": autorest.Encode("path", entityID), "versionId": autorest.Encode("path", versionID), } preparer := autorest.CreatePreparer( autorest.AsContentType("application/json; charset=utf-8"), autorest.AsPost(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), - autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/hierarchicalentities/{hEntityId}/children", pathParameters), - autorest.WithJSON(hierarchicalChildModelCreateObject)) + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), + autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/patternanyentities/{entityId}/explicitlist", pathParameters), + autorest.WithJSON(item)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) } -// AddHierarchicalEntityChildSender sends the AddHierarchicalEntityChild request. The method will close the +// AddExplicitListItemSender sends the AddExplicitListItem request. The method will close the // http.Response Body if it receives an error. -func (client ModelClient) AddHierarchicalEntityChildSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +func (client ModelClient) AddExplicitListItemSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } -// AddHierarchicalEntityChildResponder handles the response to the AddHierarchicalEntityChild request. The method always +// AddExplicitListItemResponder handles the response to the AddExplicitListItem request. The method always // closes the http.Response Body. -func (client ModelClient) AddHierarchicalEntityChildResponder(resp *http.Response) (result UUID, err error) { +func (client ModelClient) AddExplicitListItemResponder(resp *http.Response) (result Int32, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -715,28 +663,38 @@ func (client ModelClient) AddHierarchicalEntityChildResponder(resp *http.Respons return } -// AddIntent adds an intent classifier to the application. +// AddIntent adds an intent to a version of the application. // Parameters: // appID - the application ID. // versionID - the version ID. -// intentCreateObject - a model object containing the name of the new intent classifier. +// intentCreateObject - a model object containing the name of the new intent. func (client ModelClient) AddIntent(ctx context.Context, appID uuid.UUID, versionID string, intentCreateObject ModelCreateObject) (result UUID, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.AddIntent") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } req, err := client.AddIntentPreparer(ctx, appID, versionID, intentCreateObject) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "AddIntent", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "AddIntent", nil, "Failure preparing request") return } resp, err := client.AddIntentSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "AddIntent", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "AddIntent", resp, "Failure sending request") return } result, err = client.AddIntentResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "AddIntent", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "AddIntent", resp, "Failure responding to request") } return @@ -745,7 +703,7 @@ func (client ModelClient) AddIntent(ctx context.Context, appID uuid.UUID, versio // AddIntentPreparer prepares the AddIntent request. func (client ModelClient) AddIntentPreparer(ctx context.Context, appID uuid.UUID, versionID string, intentCreateObject ModelCreateObject) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -756,7 +714,7 @@ func (client ModelClient) AddIntentPreparer(ctx context.Context, appID uuid.UUID preparer := autorest.CreatePreparer( autorest.AsContentType("application/json; charset=utf-8"), autorest.AsPost(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/intents", pathParameters), autorest.WithJSON(intentCreateObject)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) @@ -765,8 +723,8 @@ func (client ModelClient) AddIntentPreparer(ctx context.Context, appID uuid.UUID // AddIntentSender sends the AddIntent request. The method will close the // http.Response Body if it receives an error. func (client ModelClient) AddIntentSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // AddIntentResponder handles the response to the AddIntent request. The method always @@ -782,34 +740,44 @@ func (client ModelClient) AddIntentResponder(resp *http.Response) (result UUID, return } -// AddPrebuilt adds a list of prebuilt entity extractors to the application. +// AddPrebuilt adds a list of prebuilt entities to a version of the application. // Parameters: // appID - the application ID. // versionID - the version ID. // prebuiltExtractorNames - an array of prebuilt entity extractor names. func (client ModelClient) AddPrebuilt(ctx context.Context, appID uuid.UUID, versionID string, prebuiltExtractorNames []string) (result ListPrebuiltEntityExtractor, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.AddPrebuilt") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } if err := validation.Validate([]validation.Validation{ {TargetValue: prebuiltExtractorNames, Constraints: []validation.Constraint{{Target: "prebuiltExtractorNames", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { - return result, validation.NewError("programmatic.ModelClient", "AddPrebuilt", err.Error()) + return result, validation.NewError("authoring.ModelClient", "AddPrebuilt", err.Error()) } req, err := client.AddPrebuiltPreparer(ctx, appID, versionID, prebuiltExtractorNames) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "AddPrebuilt", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "AddPrebuilt", nil, "Failure preparing request") return } resp, err := client.AddPrebuiltSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "AddPrebuilt", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "AddPrebuilt", resp, "Failure sending request") return } result, err = client.AddPrebuiltResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "AddPrebuilt", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "AddPrebuilt", resp, "Failure responding to request") } return @@ -818,7 +786,7 @@ func (client ModelClient) AddPrebuilt(ctx context.Context, appID uuid.UUID, vers // AddPrebuiltPreparer prepares the AddPrebuilt request. func (client ModelClient) AddPrebuiltPreparer(ctx context.Context, appID uuid.UUID, versionID string, prebuiltExtractorNames []string) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -829,7 +797,7 @@ func (client ModelClient) AddPrebuiltPreparer(ctx context.Context, appID uuid.UU preparer := autorest.CreatePreparer( autorest.AsContentType("application/json; charset=utf-8"), autorest.AsPost(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/prebuilts", pathParameters), autorest.WithJSON(prebuiltExtractorNames)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) @@ -838,8 +806,8 @@ func (client ModelClient) AddPrebuiltPreparer(ctx context.Context, appID uuid.UU // AddPrebuiltSender sends the AddPrebuilt request. The method will close the // http.Response Body if it receives an error. func (client ModelClient) AddPrebuiltSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // AddPrebuiltResponder handles the response to the AddPrebuilt request. The method always @@ -855,29 +823,39 @@ func (client ModelClient) AddPrebuiltResponder(resp *http.Response) (result List return } -// AddSubList adds a list to an existing closed list. +// AddSubList adds a sublist to an existing list entity in a version of the application. // Parameters: // appID - the application ID. // versionID - the version ID. -// clEntityID - the closed list entity extractor ID. +// clEntityID - the list entity extractor ID. // wordListCreateObject - words list. -func (client ModelClient) AddSubList(ctx context.Context, appID uuid.UUID, versionID string, clEntityID uuid.UUID, wordListCreateObject WordListObject) (result Int32, err error) { +func (client ModelClient) AddSubList(ctx context.Context, appID uuid.UUID, versionID string, clEntityID uuid.UUID, wordListCreateObject WordListObject) (result Int64, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.AddSubList") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } req, err := client.AddSubListPreparer(ctx, appID, versionID, clEntityID, wordListCreateObject) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "AddSubList", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "AddSubList", nil, "Failure preparing request") return } resp, err := client.AddSubListSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "AddSubList", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "AddSubList", resp, "Failure sending request") return } result, err = client.AddSubListResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "AddSubList", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "AddSubList", resp, "Failure responding to request") } return @@ -886,7 +864,7 @@ func (client ModelClient) AddSubList(ctx context.Context, appID uuid.UUID, versi // AddSubListPreparer prepares the AddSubList request. func (client ModelClient) AddSubListPreparer(ctx context.Context, appID uuid.UUID, versionID string, clEntityID uuid.UUID, wordListCreateObject WordListObject) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -898,7 +876,7 @@ func (client ModelClient) AddSubListPreparer(ctx context.Context, appID uuid.UUI preparer := autorest.CreatePreparer( autorest.AsContentType("application/json; charset=utf-8"), autorest.AsPost(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/closedlists/{clEntityId}/sublists", pathParameters), autorest.WithJSON(wordListCreateObject)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) @@ -907,13 +885,13 @@ func (client ModelClient) AddSubListPreparer(ctx context.Context, appID uuid.UUI // AddSubListSender sends the AddSubList request. The method will close the // http.Response Body if it receives an error. func (client ModelClient) AddSubListSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // AddSubListResponder handles the response to the AddSubList request. The method always // closes the http.Response Body. -func (client ModelClient) AddSubListResponder(resp *http.Response) (result Int32, err error) { +func (client ModelClient) AddSubListResponder(resp *http.Response) (result Int64, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -931,22 +909,32 @@ func (client ModelClient) AddSubListResponder(resp *http.Response) (result Int32 // entityID - the entity model ID. // entityRoleCreateObject - an entity role object containing the name of role. func (client ModelClient) CreateClosedListEntityRole(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, entityRoleCreateObject EntityRoleCreateObject) (result UUID, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.CreateClosedListEntityRole") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } req, err := client.CreateClosedListEntityRolePreparer(ctx, appID, versionID, entityID, entityRoleCreateObject) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "CreateClosedListEntityRole", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "CreateClosedListEntityRole", nil, "Failure preparing request") return } resp, err := client.CreateClosedListEntityRoleSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "CreateClosedListEntityRole", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "CreateClosedListEntityRole", resp, "Failure sending request") return } result, err = client.CreateClosedListEntityRoleResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "CreateClosedListEntityRole", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "CreateClosedListEntityRole", resp, "Failure responding to request") } return @@ -955,7 +943,7 @@ func (client ModelClient) CreateClosedListEntityRole(ctx context.Context, appID // CreateClosedListEntityRolePreparer prepares the CreateClosedListEntityRole request. func (client ModelClient) CreateClosedListEntityRolePreparer(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, entityRoleCreateObject EntityRoleCreateObject) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -967,7 +955,7 @@ func (client ModelClient) CreateClosedListEntityRolePreparer(ctx context.Context preparer := autorest.CreatePreparer( autorest.AsContentType("application/json; charset=utf-8"), autorest.AsPost(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/closedlists/{entityId}/roles", pathParameters), autorest.WithJSON(entityRoleCreateObject)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) @@ -976,8 +964,8 @@ func (client ModelClient) CreateClosedListEntityRolePreparer(ctx context.Context // CreateClosedListEntityRoleSender sends the CreateClosedListEntityRole request. The method will close the // http.Response Body if it receives an error. func (client ModelClient) CreateClosedListEntityRoleSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // CreateClosedListEntityRoleResponder handles the response to the CreateClosedListEntityRole request. The method always @@ -1000,22 +988,32 @@ func (client ModelClient) CreateClosedListEntityRoleResponder(resp *http.Respons // cEntityID - the composite entity extractor ID. // entityRoleCreateObject - an entity role object containing the name of role. func (client ModelClient) CreateCompositeEntityRole(ctx context.Context, appID uuid.UUID, versionID string, cEntityID uuid.UUID, entityRoleCreateObject EntityRoleCreateObject) (result UUID, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.CreateCompositeEntityRole") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } req, err := client.CreateCompositeEntityRolePreparer(ctx, appID, versionID, cEntityID, entityRoleCreateObject) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "CreateCompositeEntityRole", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "CreateCompositeEntityRole", nil, "Failure preparing request") return } resp, err := client.CreateCompositeEntityRoleSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "CreateCompositeEntityRole", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "CreateCompositeEntityRole", resp, "Failure sending request") return } result, err = client.CreateCompositeEntityRoleResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "CreateCompositeEntityRole", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "CreateCompositeEntityRole", resp, "Failure responding to request") } return @@ -1024,7 +1022,7 @@ func (client ModelClient) CreateCompositeEntityRole(ctx context.Context, appID u // CreateCompositeEntityRolePreparer prepares the CreateCompositeEntityRole request. func (client ModelClient) CreateCompositeEntityRolePreparer(ctx context.Context, appID uuid.UUID, versionID string, cEntityID uuid.UUID, entityRoleCreateObject EntityRoleCreateObject) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -1036,7 +1034,7 @@ func (client ModelClient) CreateCompositeEntityRolePreparer(ctx context.Context, preparer := autorest.CreatePreparer( autorest.AsContentType("application/json; charset=utf-8"), autorest.AsPost(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/compositeentities/{cEntityId}/roles", pathParameters), autorest.WithJSON(entityRoleCreateObject)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) @@ -1045,8 +1043,8 @@ func (client ModelClient) CreateCompositeEntityRolePreparer(ctx context.Context, // CreateCompositeEntityRoleSender sends the CreateCompositeEntityRole request. The method will close the // http.Response Body if it receives an error. func (client ModelClient) CreateCompositeEntityRoleSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // CreateCompositeEntityRoleResponder handles the response to the CreateCompositeEntityRole request. The method always @@ -1069,22 +1067,32 @@ func (client ModelClient) CreateCompositeEntityRoleResponder(resp *http.Response // entityID - the entity model ID. // entityRoleCreateObject - an entity role object containing the name of role. func (client ModelClient) CreateCustomPrebuiltEntityRole(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, entityRoleCreateObject EntityRoleCreateObject) (result UUID, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.CreateCustomPrebuiltEntityRole") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } req, err := client.CreateCustomPrebuiltEntityRolePreparer(ctx, appID, versionID, entityID, entityRoleCreateObject) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "CreateCustomPrebuiltEntityRole", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "CreateCustomPrebuiltEntityRole", nil, "Failure preparing request") return } resp, err := client.CreateCustomPrebuiltEntityRoleSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "CreateCustomPrebuiltEntityRole", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "CreateCustomPrebuiltEntityRole", resp, "Failure sending request") return } result, err = client.CreateCustomPrebuiltEntityRoleResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "CreateCustomPrebuiltEntityRole", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "CreateCustomPrebuiltEntityRole", resp, "Failure responding to request") } return @@ -1093,7 +1101,7 @@ func (client ModelClient) CreateCustomPrebuiltEntityRole(ctx context.Context, ap // CreateCustomPrebuiltEntityRolePreparer prepares the CreateCustomPrebuiltEntityRole request. func (client ModelClient) CreateCustomPrebuiltEntityRolePreparer(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, entityRoleCreateObject EntityRoleCreateObject) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -1105,7 +1113,7 @@ func (client ModelClient) CreateCustomPrebuiltEntityRolePreparer(ctx context.Con preparer := autorest.CreatePreparer( autorest.AsContentType("application/json; charset=utf-8"), autorest.AsPost(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/customprebuiltentities/{entityId}/roles", pathParameters), autorest.WithJSON(entityRoleCreateObject)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) @@ -1114,8 +1122,8 @@ func (client ModelClient) CreateCustomPrebuiltEntityRolePreparer(ctx context.Con // CreateCustomPrebuiltEntityRoleSender sends the CreateCustomPrebuiltEntityRole request. The method will close the // http.Response Body if it receives an error. func (client ModelClient) CreateCustomPrebuiltEntityRoleSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // CreateCustomPrebuiltEntityRoleResponder handles the response to the CreateCustomPrebuiltEntityRole request. The method always @@ -1138,22 +1146,32 @@ func (client ModelClient) CreateCustomPrebuiltEntityRoleResponder(resp *http.Res // entityID - the entity model ID. // entityRoleCreateObject - an entity role object containing the name of role. func (client ModelClient) CreateEntityRole(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, entityRoleCreateObject EntityRoleCreateObject) (result UUID, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.CreateEntityRole") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } req, err := client.CreateEntityRolePreparer(ctx, appID, versionID, entityID, entityRoleCreateObject) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "CreateEntityRole", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "CreateEntityRole", nil, "Failure preparing request") return } resp, err := client.CreateEntityRoleSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "CreateEntityRole", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "CreateEntityRole", resp, "Failure sending request") return } result, err = client.CreateEntityRoleResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "CreateEntityRole", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "CreateEntityRole", resp, "Failure responding to request") } return @@ -1162,7 +1180,7 @@ func (client ModelClient) CreateEntityRole(ctx context.Context, appID uuid.UUID, // CreateEntityRolePreparer prepares the CreateEntityRole request. func (client ModelClient) CreateEntityRolePreparer(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, entityRoleCreateObject EntityRoleCreateObject) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -1174,7 +1192,7 @@ func (client ModelClient) CreateEntityRolePreparer(ctx context.Context, appID uu preparer := autorest.CreatePreparer( autorest.AsContentType("application/json; charset=utf-8"), autorest.AsPost(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/entities/{entityId}/roles", pathParameters), autorest.WithJSON(entityRoleCreateObject)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) @@ -1183,8 +1201,8 @@ func (client ModelClient) CreateEntityRolePreparer(ctx context.Context, appID uu // CreateEntityRoleSender sends the CreateEntityRole request. The method will close the // http.Response Body if it receives an error. func (client ModelClient) CreateEntityRoleSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // CreateEntityRoleResponder handles the response to the CreateEntityRole request. The method always @@ -1207,22 +1225,32 @@ func (client ModelClient) CreateEntityRoleResponder(resp *http.Response) (result // hEntityID - the hierarchical entity extractor ID. // entityRoleCreateObject - an entity role object containing the name of role. func (client ModelClient) CreateHierarchicalEntityRole(ctx context.Context, appID uuid.UUID, versionID string, hEntityID uuid.UUID, entityRoleCreateObject EntityRoleCreateObject) (result UUID, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.CreateHierarchicalEntityRole") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } req, err := client.CreateHierarchicalEntityRolePreparer(ctx, appID, versionID, hEntityID, entityRoleCreateObject) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "CreateHierarchicalEntityRole", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "CreateHierarchicalEntityRole", nil, "Failure preparing request") return } resp, err := client.CreateHierarchicalEntityRoleSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "CreateHierarchicalEntityRole", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "CreateHierarchicalEntityRole", resp, "Failure sending request") return } result, err = client.CreateHierarchicalEntityRoleResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "CreateHierarchicalEntityRole", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "CreateHierarchicalEntityRole", resp, "Failure responding to request") } return @@ -1231,7 +1259,7 @@ func (client ModelClient) CreateHierarchicalEntityRole(ctx context.Context, appI // CreateHierarchicalEntityRolePreparer prepares the CreateHierarchicalEntityRole request. func (client ModelClient) CreateHierarchicalEntityRolePreparer(ctx context.Context, appID uuid.UUID, versionID string, hEntityID uuid.UUID, entityRoleCreateObject EntityRoleCreateObject) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -1243,7 +1271,7 @@ func (client ModelClient) CreateHierarchicalEntityRolePreparer(ctx context.Conte preparer := autorest.CreatePreparer( autorest.AsContentType("application/json; charset=utf-8"), autorest.AsPost(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/hierarchicalentities/{hEntityId}/roles", pathParameters), autorest.WithJSON(entityRoleCreateObject)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) @@ -1252,8 +1280,8 @@ func (client ModelClient) CreateHierarchicalEntityRolePreparer(ctx context.Conte // CreateHierarchicalEntityRoleSender sends the CreateHierarchicalEntityRole request. The method will close the // http.Response Body if it receives an error. func (client ModelClient) CreateHierarchicalEntityRoleSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // CreateHierarchicalEntityRoleResponder handles the response to the CreateHierarchicalEntityRole request. The method always @@ -1276,22 +1304,32 @@ func (client ModelClient) CreateHierarchicalEntityRoleResponder(resp *http.Respo // extractorCreateObject - a model object containing the name and explicit list for the new Pattern.Any entity // extractor. func (client ModelClient) CreatePatternAnyEntityModel(ctx context.Context, appID uuid.UUID, versionID string, extractorCreateObject PatternAnyModelCreateObject) (result UUID, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.CreatePatternAnyEntityModel") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } req, err := client.CreatePatternAnyEntityModelPreparer(ctx, appID, versionID, extractorCreateObject) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "CreatePatternAnyEntityModel", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "CreatePatternAnyEntityModel", nil, "Failure preparing request") return } resp, err := client.CreatePatternAnyEntityModelSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "CreatePatternAnyEntityModel", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "CreatePatternAnyEntityModel", resp, "Failure sending request") return } result, err = client.CreatePatternAnyEntityModelResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "CreatePatternAnyEntityModel", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "CreatePatternAnyEntityModel", resp, "Failure responding to request") } return @@ -1300,7 +1338,7 @@ func (client ModelClient) CreatePatternAnyEntityModel(ctx context.Context, appID // CreatePatternAnyEntityModelPreparer prepares the CreatePatternAnyEntityModel request. func (client ModelClient) CreatePatternAnyEntityModelPreparer(ctx context.Context, appID uuid.UUID, versionID string, extractorCreateObject PatternAnyModelCreateObject) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -1311,7 +1349,7 @@ func (client ModelClient) CreatePatternAnyEntityModelPreparer(ctx context.Contex preparer := autorest.CreatePreparer( autorest.AsContentType("application/json; charset=utf-8"), autorest.AsPost(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/patternanyentities", pathParameters), autorest.WithJSON(extractorCreateObject)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) @@ -1320,8 +1358,8 @@ func (client ModelClient) CreatePatternAnyEntityModelPreparer(ctx context.Contex // CreatePatternAnyEntityModelSender sends the CreatePatternAnyEntityModel request. The method will close the // http.Response Body if it receives an error. func (client ModelClient) CreatePatternAnyEntityModelSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // CreatePatternAnyEntityModelResponder handles the response to the CreatePatternAnyEntityModel request. The method always @@ -1344,22 +1382,32 @@ func (client ModelClient) CreatePatternAnyEntityModelResponder(resp *http.Respon // entityID - the entity model ID. // entityRoleCreateObject - an entity role object containing the name of role. func (client ModelClient) CreatePatternAnyEntityRole(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, entityRoleCreateObject EntityRoleCreateObject) (result UUID, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.CreatePatternAnyEntityRole") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } req, err := client.CreatePatternAnyEntityRolePreparer(ctx, appID, versionID, entityID, entityRoleCreateObject) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "CreatePatternAnyEntityRole", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "CreatePatternAnyEntityRole", nil, "Failure preparing request") return } resp, err := client.CreatePatternAnyEntityRoleSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "CreatePatternAnyEntityRole", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "CreatePatternAnyEntityRole", resp, "Failure sending request") return } result, err = client.CreatePatternAnyEntityRoleResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "CreatePatternAnyEntityRole", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "CreatePatternAnyEntityRole", resp, "Failure responding to request") } return @@ -1368,7 +1416,7 @@ func (client ModelClient) CreatePatternAnyEntityRole(ctx context.Context, appID // CreatePatternAnyEntityRolePreparer prepares the CreatePatternAnyEntityRole request. func (client ModelClient) CreatePatternAnyEntityRolePreparer(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, entityRoleCreateObject EntityRoleCreateObject) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -1380,7 +1428,7 @@ func (client ModelClient) CreatePatternAnyEntityRolePreparer(ctx context.Context preparer := autorest.CreatePreparer( autorest.AsContentType("application/json; charset=utf-8"), autorest.AsPost(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/patternanyentities/{entityId}/roles", pathParameters), autorest.WithJSON(entityRoleCreateObject)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) @@ -1389,8 +1437,8 @@ func (client ModelClient) CreatePatternAnyEntityRolePreparer(ctx context.Context // CreatePatternAnyEntityRoleSender sends the CreatePatternAnyEntityRole request. The method will close the // http.Response Body if it receives an error. func (client ModelClient) CreatePatternAnyEntityRoleSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // CreatePatternAnyEntityRoleResponder handles the response to the CreatePatternAnyEntityRole request. The method always @@ -1413,22 +1461,32 @@ func (client ModelClient) CreatePatternAnyEntityRoleResponder(resp *http.Respons // entityID - the entity model ID. // entityRoleCreateObject - an entity role object containing the name of role. func (client ModelClient) CreatePrebuiltEntityRole(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, entityRoleCreateObject EntityRoleCreateObject) (result UUID, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.CreatePrebuiltEntityRole") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } req, err := client.CreatePrebuiltEntityRolePreparer(ctx, appID, versionID, entityID, entityRoleCreateObject) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "CreatePrebuiltEntityRole", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "CreatePrebuiltEntityRole", nil, "Failure preparing request") return } resp, err := client.CreatePrebuiltEntityRoleSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "CreatePrebuiltEntityRole", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "CreatePrebuiltEntityRole", resp, "Failure sending request") return } result, err = client.CreatePrebuiltEntityRoleResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "CreatePrebuiltEntityRole", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "CreatePrebuiltEntityRole", resp, "Failure responding to request") } return @@ -1437,7 +1495,7 @@ func (client ModelClient) CreatePrebuiltEntityRole(ctx context.Context, appID uu // CreatePrebuiltEntityRolePreparer prepares the CreatePrebuiltEntityRole request. func (client ModelClient) CreatePrebuiltEntityRolePreparer(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, entityRoleCreateObject EntityRoleCreateObject) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -1449,7 +1507,7 @@ func (client ModelClient) CreatePrebuiltEntityRolePreparer(ctx context.Context, preparer := autorest.CreatePreparer( autorest.AsContentType("application/json; charset=utf-8"), autorest.AsPost(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/prebuilts/{entityId}/roles", pathParameters), autorest.WithJSON(entityRoleCreateObject)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) @@ -1458,8 +1516,8 @@ func (client ModelClient) CreatePrebuiltEntityRolePreparer(ctx context.Context, // CreatePrebuiltEntityRoleSender sends the CreatePrebuiltEntityRole request. The method will close the // http.Response Body if it receives an error. func (client ModelClient) CreatePrebuiltEntityRoleSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // CreatePrebuiltEntityRoleResponder handles the response to the CreatePrebuiltEntityRole request. The method always @@ -1479,25 +1537,35 @@ func (client ModelClient) CreatePrebuiltEntityRoleResponder(resp *http.Response) // Parameters: // appID - the application ID. // versionID - the version ID. -// regexEntityExtractorCreateObj - a model object containing the name and regex pattern for the new regex -// entity extractor. +// regexEntityExtractorCreateObj - a model object containing the name and regex pattern for the new regular +// expression entity extractor. func (client ModelClient) CreateRegexEntityModel(ctx context.Context, appID uuid.UUID, versionID string, regexEntityExtractorCreateObj RegexModelCreateObject) (result UUID, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.CreateRegexEntityModel") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } req, err := client.CreateRegexEntityModelPreparer(ctx, appID, versionID, regexEntityExtractorCreateObj) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "CreateRegexEntityModel", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "CreateRegexEntityModel", nil, "Failure preparing request") return } resp, err := client.CreateRegexEntityModelSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "CreateRegexEntityModel", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "CreateRegexEntityModel", resp, "Failure sending request") return } result, err = client.CreateRegexEntityModelResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "CreateRegexEntityModel", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "CreateRegexEntityModel", resp, "Failure responding to request") } return @@ -1506,7 +1574,7 @@ func (client ModelClient) CreateRegexEntityModel(ctx context.Context, appID uuid // CreateRegexEntityModelPreparer prepares the CreateRegexEntityModel request. func (client ModelClient) CreateRegexEntityModelPreparer(ctx context.Context, appID uuid.UUID, versionID string, regexEntityExtractorCreateObj RegexModelCreateObject) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -1517,7 +1585,7 @@ func (client ModelClient) CreateRegexEntityModelPreparer(ctx context.Context, ap preparer := autorest.CreatePreparer( autorest.AsContentType("application/json; charset=utf-8"), autorest.AsPost(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/regexentities", pathParameters), autorest.WithJSON(regexEntityExtractorCreateObj)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) @@ -1526,8 +1594,8 @@ func (client ModelClient) CreateRegexEntityModelPreparer(ctx context.Context, ap // CreateRegexEntityModelSender sends the CreateRegexEntityModel request. The method will close the // http.Response Body if it receives an error. func (client ModelClient) CreateRegexEntityModelSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // CreateRegexEntityModelResponder handles the response to the CreateRegexEntityModel request. The method always @@ -1550,22 +1618,32 @@ func (client ModelClient) CreateRegexEntityModelResponder(resp *http.Response) ( // entityID - the entity model ID. // entityRoleCreateObject - an entity role object containing the name of role. func (client ModelClient) CreateRegexEntityRole(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, entityRoleCreateObject EntityRoleCreateObject) (result UUID, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.CreateRegexEntityRole") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } req, err := client.CreateRegexEntityRolePreparer(ctx, appID, versionID, entityID, entityRoleCreateObject) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "CreateRegexEntityRole", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "CreateRegexEntityRole", nil, "Failure preparing request") return } resp, err := client.CreateRegexEntityRoleSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "CreateRegexEntityRole", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "CreateRegexEntityRole", resp, "Failure sending request") return } result, err = client.CreateRegexEntityRoleResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "CreateRegexEntityRole", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "CreateRegexEntityRole", resp, "Failure responding to request") } return @@ -1574,7 +1652,7 @@ func (client ModelClient) CreateRegexEntityRole(ctx context.Context, appID uuid. // CreateRegexEntityRolePreparer prepares the CreateRegexEntityRole request. func (client ModelClient) CreateRegexEntityRolePreparer(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, entityRoleCreateObject EntityRoleCreateObject) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -1586,7 +1664,7 @@ func (client ModelClient) CreateRegexEntityRolePreparer(ctx context.Context, app preparer := autorest.CreatePreparer( autorest.AsContentType("application/json; charset=utf-8"), autorest.AsPost(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/regexentities/{entityId}/roles", pathParameters), autorest.WithJSON(entityRoleCreateObject)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) @@ -1595,8 +1673,8 @@ func (client ModelClient) CreateRegexEntityRolePreparer(ctx context.Context, app // CreateRegexEntityRoleSender sends the CreateRegexEntityRole request. The method will close the // http.Response Body if it receives an error. func (client ModelClient) CreateRegexEntityRoleSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // CreateRegexEntityRoleResponder handles the response to the CreateRegexEntityRole request. The method always @@ -1612,28 +1690,38 @@ func (client ModelClient) CreateRegexEntityRoleResponder(resp *http.Response) (r return } -// DeleteClosedList deletes a closed list model from the application. +// DeleteClosedList deletes a list entity model from a version of the application. // Parameters: // appID - the application ID. // versionID - the version ID. -// clEntityID - the closed list model ID. +// clEntityID - the list entity model ID. func (client ModelClient) DeleteClosedList(ctx context.Context, appID uuid.UUID, versionID string, clEntityID uuid.UUID) (result OperationStatus, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.DeleteClosedList") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } req, err := client.DeleteClosedListPreparer(ctx, appID, versionID, clEntityID) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "DeleteClosedList", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "DeleteClosedList", nil, "Failure preparing request") return } resp, err := client.DeleteClosedListSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "DeleteClosedList", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "DeleteClosedList", resp, "Failure sending request") return } result, err = client.DeleteClosedListResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "DeleteClosedList", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "DeleteClosedList", resp, "Failure responding to request") } return @@ -1642,7 +1730,7 @@ func (client ModelClient) DeleteClosedList(ctx context.Context, appID uuid.UUID, // DeleteClosedListPreparer prepares the DeleteClosedList request. func (client ModelClient) DeleteClosedListPreparer(ctx context.Context, appID uuid.UUID, versionID string, clEntityID uuid.UUID) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -1653,7 +1741,7 @@ func (client ModelClient) DeleteClosedListPreparer(ctx context.Context, appID uu preparer := autorest.CreatePreparer( autorest.AsDelete(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/closedlists/{clEntityId}", pathParameters)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) } @@ -1661,8 +1749,8 @@ func (client ModelClient) DeleteClosedListPreparer(ctx context.Context, appID uu // DeleteClosedListSender sends the DeleteClosedList request. The method will close the // http.Response Body if it receives an error. func (client ModelClient) DeleteClosedListSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // DeleteClosedListResponder handles the response to the DeleteClosedList request. The method always @@ -1685,22 +1773,32 @@ func (client ModelClient) DeleteClosedListResponder(resp *http.Response) (result // entityID - the entity ID. // roleID - the entity role Id. func (client ModelClient) DeleteClosedListEntityRole(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, roleID uuid.UUID) (result OperationStatus, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.DeleteClosedListEntityRole") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } req, err := client.DeleteClosedListEntityRolePreparer(ctx, appID, versionID, entityID, roleID) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "DeleteClosedListEntityRole", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "DeleteClosedListEntityRole", nil, "Failure preparing request") return } resp, err := client.DeleteClosedListEntityRoleSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "DeleteClosedListEntityRole", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "DeleteClosedListEntityRole", resp, "Failure sending request") return } result, err = client.DeleteClosedListEntityRoleResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "DeleteClosedListEntityRole", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "DeleteClosedListEntityRole", resp, "Failure responding to request") } return @@ -1709,7 +1807,7 @@ func (client ModelClient) DeleteClosedListEntityRole(ctx context.Context, appID // DeleteClosedListEntityRolePreparer prepares the DeleteClosedListEntityRole request. func (client ModelClient) DeleteClosedListEntityRolePreparer(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, roleID uuid.UUID) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -1721,7 +1819,7 @@ func (client ModelClient) DeleteClosedListEntityRolePreparer(ctx context.Context preparer := autorest.CreatePreparer( autorest.AsDelete(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/closedlists/{entityId}/roles/{roleId}", pathParameters)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) } @@ -1729,8 +1827,8 @@ func (client ModelClient) DeleteClosedListEntityRolePreparer(ctx context.Context // DeleteClosedListEntityRoleSender sends the DeleteClosedListEntityRole request. The method will close the // http.Response Body if it receives an error. func (client ModelClient) DeleteClosedListEntityRoleSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // DeleteClosedListEntityRoleResponder handles the response to the DeleteClosedListEntityRole request. The method always @@ -1746,28 +1844,38 @@ func (client ModelClient) DeleteClosedListEntityRoleResponder(resp *http.Respons return } -// DeleteCompositeEntity deletes a composite entity extractor from the application. +// DeleteCompositeEntity deletes a composite entity from a version of the application. // Parameters: // appID - the application ID. // versionID - the version ID. // cEntityID - the composite entity extractor ID. func (client ModelClient) DeleteCompositeEntity(ctx context.Context, appID uuid.UUID, versionID string, cEntityID uuid.UUID) (result OperationStatus, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.DeleteCompositeEntity") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } req, err := client.DeleteCompositeEntityPreparer(ctx, appID, versionID, cEntityID) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "DeleteCompositeEntity", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "DeleteCompositeEntity", nil, "Failure preparing request") return } resp, err := client.DeleteCompositeEntitySender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "DeleteCompositeEntity", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "DeleteCompositeEntity", resp, "Failure sending request") return } result, err = client.DeleteCompositeEntityResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "DeleteCompositeEntity", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "DeleteCompositeEntity", resp, "Failure responding to request") } return @@ -1776,7 +1884,7 @@ func (client ModelClient) DeleteCompositeEntity(ctx context.Context, appID uuid. // DeleteCompositeEntityPreparer prepares the DeleteCompositeEntity request. func (client ModelClient) DeleteCompositeEntityPreparer(ctx context.Context, appID uuid.UUID, versionID string, cEntityID uuid.UUID) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -1787,7 +1895,7 @@ func (client ModelClient) DeleteCompositeEntityPreparer(ctx context.Context, app preparer := autorest.CreatePreparer( autorest.AsDelete(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/compositeentities/{cEntityId}", pathParameters)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) } @@ -1795,8 +1903,8 @@ func (client ModelClient) DeleteCompositeEntityPreparer(ctx context.Context, app // DeleteCompositeEntitySender sends the DeleteCompositeEntity request. The method will close the // http.Response Body if it receives an error. func (client ModelClient) DeleteCompositeEntitySender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // DeleteCompositeEntityResponder handles the response to the DeleteCompositeEntity request. The method always @@ -1812,29 +1920,39 @@ func (client ModelClient) DeleteCompositeEntityResponder(resp *http.Response) (r return } -// DeleteCompositeEntityChild deletes a composite entity extractor child from the application. +// DeleteCompositeEntityChild deletes a composite entity extractor child from a version of the application. // Parameters: // appID - the application ID. // versionID - the version ID. // cEntityID - the composite entity extractor ID. // cChildID - the hierarchical entity extractor child ID. func (client ModelClient) DeleteCompositeEntityChild(ctx context.Context, appID uuid.UUID, versionID string, cEntityID uuid.UUID, cChildID uuid.UUID) (result OperationStatus, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.DeleteCompositeEntityChild") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } req, err := client.DeleteCompositeEntityChildPreparer(ctx, appID, versionID, cEntityID, cChildID) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "DeleteCompositeEntityChild", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "DeleteCompositeEntityChild", nil, "Failure preparing request") return } resp, err := client.DeleteCompositeEntityChildSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "DeleteCompositeEntityChild", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "DeleteCompositeEntityChild", resp, "Failure sending request") return } result, err = client.DeleteCompositeEntityChildResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "DeleteCompositeEntityChild", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "DeleteCompositeEntityChild", resp, "Failure responding to request") } return @@ -1843,7 +1961,7 @@ func (client ModelClient) DeleteCompositeEntityChild(ctx context.Context, appID // DeleteCompositeEntityChildPreparer prepares the DeleteCompositeEntityChild request. func (client ModelClient) DeleteCompositeEntityChildPreparer(ctx context.Context, appID uuid.UUID, versionID string, cEntityID uuid.UUID, cChildID uuid.UUID) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -1855,7 +1973,7 @@ func (client ModelClient) DeleteCompositeEntityChildPreparer(ctx context.Context preparer := autorest.CreatePreparer( autorest.AsDelete(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/compositeentities/{cEntityId}/children/{cChildId}", pathParameters)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) } @@ -1863,8 +1981,8 @@ func (client ModelClient) DeleteCompositeEntityChildPreparer(ctx context.Context // DeleteCompositeEntityChildSender sends the DeleteCompositeEntityChild request. The method will close the // http.Response Body if it receives an error. func (client ModelClient) DeleteCompositeEntityChildSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // DeleteCompositeEntityChildResponder handles the response to the DeleteCompositeEntityChild request. The method always @@ -1887,22 +2005,32 @@ func (client ModelClient) DeleteCompositeEntityChildResponder(resp *http.Respons // cEntityID - the composite entity extractor ID. // roleID - the entity role Id. func (client ModelClient) DeleteCompositeEntityRole(ctx context.Context, appID uuid.UUID, versionID string, cEntityID uuid.UUID, roleID uuid.UUID) (result OperationStatus, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.DeleteCompositeEntityRole") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } req, err := client.DeleteCompositeEntityRolePreparer(ctx, appID, versionID, cEntityID, roleID) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "DeleteCompositeEntityRole", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "DeleteCompositeEntityRole", nil, "Failure preparing request") return } resp, err := client.DeleteCompositeEntityRoleSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "DeleteCompositeEntityRole", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "DeleteCompositeEntityRole", resp, "Failure sending request") return } result, err = client.DeleteCompositeEntityRoleResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "DeleteCompositeEntityRole", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "DeleteCompositeEntityRole", resp, "Failure responding to request") } return @@ -1911,7 +2039,7 @@ func (client ModelClient) DeleteCompositeEntityRole(ctx context.Context, appID u // DeleteCompositeEntityRolePreparer prepares the DeleteCompositeEntityRole request. func (client ModelClient) DeleteCompositeEntityRolePreparer(ctx context.Context, appID uuid.UUID, versionID string, cEntityID uuid.UUID, roleID uuid.UUID) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -1923,7 +2051,7 @@ func (client ModelClient) DeleteCompositeEntityRolePreparer(ctx context.Context, preparer := autorest.CreatePreparer( autorest.AsDelete(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/compositeentities/{cEntityId}/roles/{roleId}", pathParameters)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) } @@ -1931,8 +2059,8 @@ func (client ModelClient) DeleteCompositeEntityRolePreparer(ctx context.Context, // DeleteCompositeEntityRoleSender sends the DeleteCompositeEntityRole request. The method will close the // http.Response Body if it receives an error. func (client ModelClient) DeleteCompositeEntityRoleSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // DeleteCompositeEntityRoleResponder handles the response to the DeleteCompositeEntityRole request. The method always @@ -1955,22 +2083,32 @@ func (client ModelClient) DeleteCompositeEntityRoleResponder(resp *http.Response // entityID - the entity ID. // roleID - the entity role Id. func (client ModelClient) DeleteCustomEntityRole(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, roleID uuid.UUID) (result OperationStatus, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.DeleteCustomEntityRole") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } req, err := client.DeleteCustomEntityRolePreparer(ctx, appID, versionID, entityID, roleID) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "DeleteCustomEntityRole", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "DeleteCustomEntityRole", nil, "Failure preparing request") return } resp, err := client.DeleteCustomEntityRoleSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "DeleteCustomEntityRole", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "DeleteCustomEntityRole", resp, "Failure sending request") return } result, err = client.DeleteCustomEntityRoleResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "DeleteCustomEntityRole", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "DeleteCustomEntityRole", resp, "Failure responding to request") } return @@ -1979,7 +2117,7 @@ func (client ModelClient) DeleteCustomEntityRole(ctx context.Context, appID uuid // DeleteCustomEntityRolePreparer prepares the DeleteCustomEntityRole request. func (client ModelClient) DeleteCustomEntityRolePreparer(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, roleID uuid.UUID) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -1991,7 +2129,7 @@ func (client ModelClient) DeleteCustomEntityRolePreparer(ctx context.Context, ap preparer := autorest.CreatePreparer( autorest.AsDelete(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/customprebuiltentities/{entityId}/roles/{roleId}", pathParameters)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) } @@ -1999,8 +2137,8 @@ func (client ModelClient) DeleteCustomEntityRolePreparer(ctx context.Context, ap // DeleteCustomEntityRoleSender sends the DeleteCustomEntityRole request. The method will close the // http.Response Body if it receives an error. func (client ModelClient) DeleteCustomEntityRoleSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // DeleteCustomEntityRoleResponder handles the response to the DeleteCustomEntityRole request. The method always @@ -2016,28 +2154,38 @@ func (client ModelClient) DeleteCustomEntityRoleResponder(resp *http.Response) ( return } -// DeleteCustomPrebuiltDomain deletes a prebuilt domain's models from the application. +// DeleteCustomPrebuiltDomain deletes a prebuilt domain's models in a version of the application. // Parameters: // appID - the application ID. // versionID - the version ID. // domainName - domain name. func (client ModelClient) DeleteCustomPrebuiltDomain(ctx context.Context, appID uuid.UUID, versionID string, domainName string) (result OperationStatus, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.DeleteCustomPrebuiltDomain") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } req, err := client.DeleteCustomPrebuiltDomainPreparer(ctx, appID, versionID, domainName) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "DeleteCustomPrebuiltDomain", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "DeleteCustomPrebuiltDomain", nil, "Failure preparing request") return } resp, err := client.DeleteCustomPrebuiltDomainSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "DeleteCustomPrebuiltDomain", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "DeleteCustomPrebuiltDomain", resp, "Failure sending request") return } result, err = client.DeleteCustomPrebuiltDomainResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "DeleteCustomPrebuiltDomain", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "DeleteCustomPrebuiltDomain", resp, "Failure responding to request") } return @@ -2046,7 +2194,7 @@ func (client ModelClient) DeleteCustomPrebuiltDomain(ctx context.Context, appID // DeleteCustomPrebuiltDomainPreparer prepares the DeleteCustomPrebuiltDomain request. func (client ModelClient) DeleteCustomPrebuiltDomainPreparer(ctx context.Context, appID uuid.UUID, versionID string, domainName string) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -2057,7 +2205,7 @@ func (client ModelClient) DeleteCustomPrebuiltDomainPreparer(ctx context.Context preparer := autorest.CreatePreparer( autorest.AsDelete(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/customprebuiltdomains/{domainName}", pathParameters)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) } @@ -2065,8 +2213,8 @@ func (client ModelClient) DeleteCustomPrebuiltDomainPreparer(ctx context.Context // DeleteCustomPrebuiltDomainSender sends the DeleteCustomPrebuiltDomain request. The method will close the // http.Response Body if it receives an error. func (client ModelClient) DeleteCustomPrebuiltDomainSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // DeleteCustomPrebuiltDomainResponder handles the response to the DeleteCustomPrebuiltDomain request. The method always @@ -2082,28 +2230,38 @@ func (client ModelClient) DeleteCustomPrebuiltDomainResponder(resp *http.Respons return } -// DeleteEntity deletes an entity extractor from the application. +// DeleteEntity deletes an entity or a child from a version of the application. // Parameters: // appID - the application ID. // versionID - the version ID. -// entityID - the entity extractor ID. +// entityID - the entity extractor or the child entity extractor ID. func (client ModelClient) DeleteEntity(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID) (result OperationStatus, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.DeleteEntity") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } req, err := client.DeleteEntityPreparer(ctx, appID, versionID, entityID) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "DeleteEntity", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "DeleteEntity", nil, "Failure preparing request") return } resp, err := client.DeleteEntitySender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "DeleteEntity", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "DeleteEntity", resp, "Failure sending request") return } result, err = client.DeleteEntityResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "DeleteEntity", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "DeleteEntity", resp, "Failure responding to request") } return @@ -2112,7 +2270,7 @@ func (client ModelClient) DeleteEntity(ctx context.Context, appID uuid.UUID, ver // DeleteEntityPreparer prepares the DeleteEntity request. func (client ModelClient) DeleteEntityPreparer(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -2123,7 +2281,7 @@ func (client ModelClient) DeleteEntityPreparer(ctx context.Context, appID uuid.U preparer := autorest.CreatePreparer( autorest.AsDelete(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/entities/{entityId}", pathParameters)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) } @@ -2131,8 +2289,8 @@ func (client ModelClient) DeleteEntityPreparer(ctx context.Context, appID uuid.U // DeleteEntitySender sends the DeleteEntity request. The method will close the // http.Response Body if it receives an error. func (client ModelClient) DeleteEntitySender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // DeleteEntityResponder handles the response to the DeleteEntity request. The method always @@ -2155,22 +2313,32 @@ func (client ModelClient) DeleteEntityResponder(resp *http.Response) (result Ope // entityID - the entity ID. // roleID - the entity role Id. func (client ModelClient) DeleteEntityRole(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, roleID uuid.UUID) (result OperationStatus, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.DeleteEntityRole") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } req, err := client.DeleteEntityRolePreparer(ctx, appID, versionID, entityID, roleID) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "DeleteEntityRole", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "DeleteEntityRole", nil, "Failure preparing request") return } resp, err := client.DeleteEntityRoleSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "DeleteEntityRole", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "DeleteEntityRole", resp, "Failure sending request") return } result, err = client.DeleteEntityRoleResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "DeleteEntityRole", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "DeleteEntityRole", resp, "Failure responding to request") } return @@ -2179,7 +2347,7 @@ func (client ModelClient) DeleteEntityRole(ctx context.Context, appID uuid.UUID, // DeleteEntityRolePreparer prepares the DeleteEntityRole request. func (client ModelClient) DeleteEntityRolePreparer(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, roleID uuid.UUID) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -2191,7 +2359,7 @@ func (client ModelClient) DeleteEntityRolePreparer(ctx context.Context, appID uu preparer := autorest.CreatePreparer( autorest.AsDelete(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/entities/{entityId}/roles/{roleId}", pathParameters)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) } @@ -2199,8 +2367,8 @@ func (client ModelClient) DeleteEntityRolePreparer(ctx context.Context, appID uu // DeleteEntityRoleSender sends the DeleteEntityRole request. The method will close the // http.Response Body if it receives an error. func (client ModelClient) DeleteEntityRoleSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // DeleteEntityRoleResponder handles the response to the DeleteEntityRole request. The method always @@ -2223,22 +2391,32 @@ func (client ModelClient) DeleteEntityRoleResponder(resp *http.Response) (result // entityID - the pattern.any entity id. // itemID - the explicit list item which will be deleted. func (client ModelClient) DeleteExplicitListItem(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, itemID int64) (result OperationStatus, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.DeleteExplicitListItem") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } req, err := client.DeleteExplicitListItemPreparer(ctx, appID, versionID, entityID, itemID) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "DeleteExplicitListItem", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "DeleteExplicitListItem", nil, "Failure preparing request") return } resp, err := client.DeleteExplicitListItemSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "DeleteExplicitListItem", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "DeleteExplicitListItem", resp, "Failure sending request") return } result, err = client.DeleteExplicitListItemResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "DeleteExplicitListItem", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "DeleteExplicitListItem", resp, "Failure responding to request") } return @@ -2247,7 +2425,7 @@ func (client ModelClient) DeleteExplicitListItem(ctx context.Context, appID uuid // DeleteExplicitListItemPreparer prepares the DeleteExplicitListItem request. func (client ModelClient) DeleteExplicitListItemPreparer(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, itemID int64) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -2259,7 +2437,7 @@ func (client ModelClient) DeleteExplicitListItemPreparer(ctx context.Context, ap preparer := autorest.CreatePreparer( autorest.AsDelete(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/patternanyentities/{entityId}/explicitlist/{itemId}", pathParameters)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) } @@ -2267,8 +2445,8 @@ func (client ModelClient) DeleteExplicitListItemPreparer(ctx context.Context, ap // DeleteExplicitListItemSender sends the DeleteExplicitListItem request. The method will close the // http.Response Body if it receives an error. func (client ModelClient) DeleteExplicitListItemSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // DeleteExplicitListItemResponder handles the response to the DeleteExplicitListItem request. The method always @@ -2284,28 +2462,38 @@ func (client ModelClient) DeleteExplicitListItemResponder(resp *http.Response) ( return } -// DeleteHierarchicalEntity deletes a hierarchical entity extractor from the application version. +// DeleteHierarchicalEntity deletes a hierarchical entity from a version of the application. // Parameters: // appID - the application ID. // versionID - the version ID. // hEntityID - the hierarchical entity extractor ID. func (client ModelClient) DeleteHierarchicalEntity(ctx context.Context, appID uuid.UUID, versionID string, hEntityID uuid.UUID) (result OperationStatus, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.DeleteHierarchicalEntity") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } req, err := client.DeleteHierarchicalEntityPreparer(ctx, appID, versionID, hEntityID) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "DeleteHierarchicalEntity", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "DeleteHierarchicalEntity", nil, "Failure preparing request") return } resp, err := client.DeleteHierarchicalEntitySender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "DeleteHierarchicalEntity", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "DeleteHierarchicalEntity", resp, "Failure sending request") return } result, err = client.DeleteHierarchicalEntityResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "DeleteHierarchicalEntity", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "DeleteHierarchicalEntity", resp, "Failure responding to request") } return @@ -2314,7 +2502,7 @@ func (client ModelClient) DeleteHierarchicalEntity(ctx context.Context, appID uu // DeleteHierarchicalEntityPreparer prepares the DeleteHierarchicalEntity request. func (client ModelClient) DeleteHierarchicalEntityPreparer(ctx context.Context, appID uuid.UUID, versionID string, hEntityID uuid.UUID) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -2325,7 +2513,7 @@ func (client ModelClient) DeleteHierarchicalEntityPreparer(ctx context.Context, preparer := autorest.CreatePreparer( autorest.AsDelete(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/hierarchicalentities/{hEntityId}", pathParameters)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) } @@ -2333,8 +2521,8 @@ func (client ModelClient) DeleteHierarchicalEntityPreparer(ctx context.Context, // DeleteHierarchicalEntitySender sends the DeleteHierarchicalEntity request. The method will close the // http.Response Body if it receives an error. func (client ModelClient) DeleteHierarchicalEntitySender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // DeleteHierarchicalEntityResponder handles the response to the DeleteHierarchicalEntity request. The method always @@ -2350,29 +2538,39 @@ func (client ModelClient) DeleteHierarchicalEntityResponder(resp *http.Response) return } -// DeleteHierarchicalEntityChild deletes a hierarchical entity extractor child from the application. +// DeleteHierarchicalEntityChild deletes a hierarchical entity extractor child in a version of the application. // Parameters: // appID - the application ID. // versionID - the version ID. // hEntityID - the hierarchical entity extractor ID. // hChildID - the hierarchical entity extractor child ID. func (client ModelClient) DeleteHierarchicalEntityChild(ctx context.Context, appID uuid.UUID, versionID string, hEntityID uuid.UUID, hChildID uuid.UUID) (result OperationStatus, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.DeleteHierarchicalEntityChild") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } req, err := client.DeleteHierarchicalEntityChildPreparer(ctx, appID, versionID, hEntityID, hChildID) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "DeleteHierarchicalEntityChild", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "DeleteHierarchicalEntityChild", nil, "Failure preparing request") return } resp, err := client.DeleteHierarchicalEntityChildSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "DeleteHierarchicalEntityChild", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "DeleteHierarchicalEntityChild", resp, "Failure sending request") return } result, err = client.DeleteHierarchicalEntityChildResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "DeleteHierarchicalEntityChild", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "DeleteHierarchicalEntityChild", resp, "Failure responding to request") } return @@ -2381,7 +2579,7 @@ func (client ModelClient) DeleteHierarchicalEntityChild(ctx context.Context, app // DeleteHierarchicalEntityChildPreparer prepares the DeleteHierarchicalEntityChild request. func (client ModelClient) DeleteHierarchicalEntityChildPreparer(ctx context.Context, appID uuid.UUID, versionID string, hEntityID uuid.UUID, hChildID uuid.UUID) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -2393,7 +2591,7 @@ func (client ModelClient) DeleteHierarchicalEntityChildPreparer(ctx context.Cont preparer := autorest.CreatePreparer( autorest.AsDelete(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/hierarchicalentities/{hEntityId}/children/{hChildId}", pathParameters)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) } @@ -2401,8 +2599,8 @@ func (client ModelClient) DeleteHierarchicalEntityChildPreparer(ctx context.Cont // DeleteHierarchicalEntityChildSender sends the DeleteHierarchicalEntityChild request. The method will close the // http.Response Body if it receives an error. func (client ModelClient) DeleteHierarchicalEntityChildSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // DeleteHierarchicalEntityChildResponder handles the response to the DeleteHierarchicalEntityChild request. The method always @@ -2425,22 +2623,32 @@ func (client ModelClient) DeleteHierarchicalEntityChildResponder(resp *http.Resp // hEntityID - the hierarchical entity extractor ID. // roleID - the entity role Id. func (client ModelClient) DeleteHierarchicalEntityRole(ctx context.Context, appID uuid.UUID, versionID string, hEntityID uuid.UUID, roleID uuid.UUID) (result OperationStatus, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.DeleteHierarchicalEntityRole") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } req, err := client.DeleteHierarchicalEntityRolePreparer(ctx, appID, versionID, hEntityID, roleID) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "DeleteHierarchicalEntityRole", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "DeleteHierarchicalEntityRole", nil, "Failure preparing request") return } resp, err := client.DeleteHierarchicalEntityRoleSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "DeleteHierarchicalEntityRole", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "DeleteHierarchicalEntityRole", resp, "Failure sending request") return } result, err = client.DeleteHierarchicalEntityRoleResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "DeleteHierarchicalEntityRole", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "DeleteHierarchicalEntityRole", resp, "Failure responding to request") } return @@ -2449,7 +2657,7 @@ func (client ModelClient) DeleteHierarchicalEntityRole(ctx context.Context, appI // DeleteHierarchicalEntityRolePreparer prepares the DeleteHierarchicalEntityRole request. func (client ModelClient) DeleteHierarchicalEntityRolePreparer(ctx context.Context, appID uuid.UUID, versionID string, hEntityID uuid.UUID, roleID uuid.UUID) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -2461,7 +2669,7 @@ func (client ModelClient) DeleteHierarchicalEntityRolePreparer(ctx context.Conte preparer := autorest.CreatePreparer( autorest.AsDelete(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/hierarchicalentities/{hEntityId}/roles/{roleId}", pathParameters)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) } @@ -2469,8 +2677,8 @@ func (client ModelClient) DeleteHierarchicalEntityRolePreparer(ctx context.Conte // DeleteHierarchicalEntityRoleSender sends the DeleteHierarchicalEntityRole request. The method will close the // http.Response Body if it receives an error. func (client ModelClient) DeleteHierarchicalEntityRoleSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // DeleteHierarchicalEntityRoleResponder handles the response to the DeleteHierarchicalEntityRole request. The method always @@ -2486,30 +2694,40 @@ func (client ModelClient) DeleteHierarchicalEntityRoleResponder(resp *http.Respo return } -// DeleteIntent deletes an intent classifier from the application. +// DeleteIntent deletes an intent from a version of the application. // Parameters: // appID - the application ID. // versionID - the version ID. // intentID - the intent classifier ID. -// deleteUtterances - also delete the intent's utterances (true). Or move the utterances to the None intent -// (false - the default value). +// deleteUtterances - if true, deletes the intent's example utterances. If false, moves the example utterances +// to the None intent. The default value is false. func (client ModelClient) DeleteIntent(ctx context.Context, appID uuid.UUID, versionID string, intentID uuid.UUID, deleteUtterances *bool) (result OperationStatus, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.DeleteIntent") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } req, err := client.DeleteIntentPreparer(ctx, appID, versionID, intentID, deleteUtterances) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "DeleteIntent", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "DeleteIntent", nil, "Failure preparing request") return } resp, err := client.DeleteIntentSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "DeleteIntent", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "DeleteIntent", resp, "Failure sending request") return } result, err = client.DeleteIntentResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "DeleteIntent", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "DeleteIntent", resp, "Failure responding to request") } return @@ -2518,7 +2736,7 @@ func (client ModelClient) DeleteIntent(ctx context.Context, appID uuid.UUID, ver // DeleteIntentPreparer prepares the DeleteIntent request. func (client ModelClient) DeleteIntentPreparer(ctx context.Context, appID uuid.UUID, versionID string, intentID uuid.UUID, deleteUtterances *bool) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -2536,7 +2754,7 @@ func (client ModelClient) DeleteIntentPreparer(ctx context.Context, appID uuid.U preparer := autorest.CreatePreparer( autorest.AsDelete(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/intents/{intentId}", pathParameters), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) @@ -2545,8 +2763,8 @@ func (client ModelClient) DeleteIntentPreparer(ctx context.Context, appID uuid.U // DeleteIntentSender sends the DeleteIntent request. The method will close the // http.Response Body if it receives an error. func (client ModelClient) DeleteIntentSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // DeleteIntentResponder handles the response to the DeleteIntent request. The method always @@ -2568,22 +2786,32 @@ func (client ModelClient) DeleteIntentResponder(resp *http.Response) (result Ope // versionID - the version ID. // entityID - the Pattern.Any entity extractor ID. func (client ModelClient) DeletePatternAnyEntityModel(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID) (result OperationStatus, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.DeletePatternAnyEntityModel") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } req, err := client.DeletePatternAnyEntityModelPreparer(ctx, appID, versionID, entityID) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "DeletePatternAnyEntityModel", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "DeletePatternAnyEntityModel", nil, "Failure preparing request") return } resp, err := client.DeletePatternAnyEntityModelSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "DeletePatternAnyEntityModel", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "DeletePatternAnyEntityModel", resp, "Failure sending request") return } result, err = client.DeletePatternAnyEntityModelResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "DeletePatternAnyEntityModel", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "DeletePatternAnyEntityModel", resp, "Failure responding to request") } return @@ -2592,7 +2820,7 @@ func (client ModelClient) DeletePatternAnyEntityModel(ctx context.Context, appID // DeletePatternAnyEntityModelPreparer prepares the DeletePatternAnyEntityModel request. func (client ModelClient) DeletePatternAnyEntityModelPreparer(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -2603,7 +2831,7 @@ func (client ModelClient) DeletePatternAnyEntityModelPreparer(ctx context.Contex preparer := autorest.CreatePreparer( autorest.AsDelete(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/patternanyentities/{entityId}", pathParameters)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) } @@ -2611,8 +2839,8 @@ func (client ModelClient) DeletePatternAnyEntityModelPreparer(ctx context.Contex // DeletePatternAnyEntityModelSender sends the DeletePatternAnyEntityModel request. The method will close the // http.Response Body if it receives an error. func (client ModelClient) DeletePatternAnyEntityModelSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // DeletePatternAnyEntityModelResponder handles the response to the DeletePatternAnyEntityModel request. The method always @@ -2635,22 +2863,32 @@ func (client ModelClient) DeletePatternAnyEntityModelResponder(resp *http.Respon // entityID - the entity ID. // roleID - the entity role Id. func (client ModelClient) DeletePatternAnyEntityRole(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, roleID uuid.UUID) (result OperationStatus, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.DeletePatternAnyEntityRole") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } req, err := client.DeletePatternAnyEntityRolePreparer(ctx, appID, versionID, entityID, roleID) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "DeletePatternAnyEntityRole", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "DeletePatternAnyEntityRole", nil, "Failure preparing request") return } resp, err := client.DeletePatternAnyEntityRoleSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "DeletePatternAnyEntityRole", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "DeletePatternAnyEntityRole", resp, "Failure sending request") return } result, err = client.DeletePatternAnyEntityRoleResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "DeletePatternAnyEntityRole", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "DeletePatternAnyEntityRole", resp, "Failure responding to request") } return @@ -2659,7 +2897,7 @@ func (client ModelClient) DeletePatternAnyEntityRole(ctx context.Context, appID // DeletePatternAnyEntityRolePreparer prepares the DeletePatternAnyEntityRole request. func (client ModelClient) DeletePatternAnyEntityRolePreparer(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, roleID uuid.UUID) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -2671,7 +2909,7 @@ func (client ModelClient) DeletePatternAnyEntityRolePreparer(ctx context.Context preparer := autorest.CreatePreparer( autorest.AsDelete(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/patternanyentities/{entityId}/roles/{roleId}", pathParameters)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) } @@ -2679,8 +2917,8 @@ func (client ModelClient) DeletePatternAnyEntityRolePreparer(ctx context.Context // DeletePatternAnyEntityRoleSender sends the DeletePatternAnyEntityRole request. The method will close the // http.Response Body if it receives an error. func (client ModelClient) DeletePatternAnyEntityRoleSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // DeletePatternAnyEntityRoleResponder handles the response to the DeletePatternAnyEntityRole request. The method always @@ -2696,28 +2934,38 @@ func (client ModelClient) DeletePatternAnyEntityRoleResponder(resp *http.Respons return } -// DeletePrebuilt deletes a prebuilt entity extractor from the application. +// DeletePrebuilt deletes a prebuilt entity extractor from a version of the application. // Parameters: // appID - the application ID. // versionID - the version ID. // prebuiltID - the prebuilt entity extractor ID. func (client ModelClient) DeletePrebuilt(ctx context.Context, appID uuid.UUID, versionID string, prebuiltID uuid.UUID) (result OperationStatus, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.DeletePrebuilt") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } req, err := client.DeletePrebuiltPreparer(ctx, appID, versionID, prebuiltID) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "DeletePrebuilt", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "DeletePrebuilt", nil, "Failure preparing request") return } resp, err := client.DeletePrebuiltSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "DeletePrebuilt", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "DeletePrebuilt", resp, "Failure sending request") return } result, err = client.DeletePrebuiltResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "DeletePrebuilt", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "DeletePrebuilt", resp, "Failure responding to request") } return @@ -2726,7 +2974,7 @@ func (client ModelClient) DeletePrebuilt(ctx context.Context, appID uuid.UUID, v // DeletePrebuiltPreparer prepares the DeletePrebuilt request. func (client ModelClient) DeletePrebuiltPreparer(ctx context.Context, appID uuid.UUID, versionID string, prebuiltID uuid.UUID) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -2737,7 +2985,7 @@ func (client ModelClient) DeletePrebuiltPreparer(ctx context.Context, appID uuid preparer := autorest.CreatePreparer( autorest.AsDelete(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/prebuilts/{prebuiltId}", pathParameters)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) } @@ -2745,8 +2993,8 @@ func (client ModelClient) DeletePrebuiltPreparer(ctx context.Context, appID uuid // DeletePrebuiltSender sends the DeletePrebuilt request. The method will close the // http.Response Body if it receives an error. func (client ModelClient) DeletePrebuiltSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // DeletePrebuiltResponder handles the response to the DeletePrebuilt request. The method always @@ -2769,22 +3017,32 @@ func (client ModelClient) DeletePrebuiltResponder(resp *http.Response) (result O // entityID - the entity ID. // roleID - the entity role Id. func (client ModelClient) DeletePrebuiltEntityRole(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, roleID uuid.UUID) (result OperationStatus, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.DeletePrebuiltEntityRole") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } req, err := client.DeletePrebuiltEntityRolePreparer(ctx, appID, versionID, entityID, roleID) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "DeletePrebuiltEntityRole", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "DeletePrebuiltEntityRole", nil, "Failure preparing request") return } resp, err := client.DeletePrebuiltEntityRoleSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "DeletePrebuiltEntityRole", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "DeletePrebuiltEntityRole", resp, "Failure sending request") return } result, err = client.DeletePrebuiltEntityRoleResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "DeletePrebuiltEntityRole", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "DeletePrebuiltEntityRole", resp, "Failure responding to request") } return @@ -2793,7 +3051,7 @@ func (client ModelClient) DeletePrebuiltEntityRole(ctx context.Context, appID uu // DeletePrebuiltEntityRolePreparer prepares the DeletePrebuiltEntityRole request. func (client ModelClient) DeletePrebuiltEntityRolePreparer(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, roleID uuid.UUID) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -2805,7 +3063,7 @@ func (client ModelClient) DeletePrebuiltEntityRolePreparer(ctx context.Context, preparer := autorest.CreatePreparer( autorest.AsDelete(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/prebuilts/{entityId}/roles/{roleId}", pathParameters)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) } @@ -2813,8 +3071,8 @@ func (client ModelClient) DeletePrebuiltEntityRolePreparer(ctx context.Context, // DeletePrebuiltEntityRoleSender sends the DeletePrebuiltEntityRole request. The method will close the // http.Response Body if it receives an error. func (client ModelClient) DeletePrebuiltEntityRoleSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // DeletePrebuiltEntityRoleResponder handles the response to the DeletePrebuiltEntityRole request. The method always @@ -2834,24 +3092,34 @@ func (client ModelClient) DeletePrebuiltEntityRoleResponder(resp *http.Response) // Parameters: // appID - the application ID. // versionID - the version ID. -// regexEntityID - the regex entity extractor ID. +// regexEntityID - the regular expression entity extractor ID. func (client ModelClient) DeleteRegexEntityModel(ctx context.Context, appID uuid.UUID, versionID string, regexEntityID uuid.UUID) (result OperationStatus, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.DeleteRegexEntityModel") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } req, err := client.DeleteRegexEntityModelPreparer(ctx, appID, versionID, regexEntityID) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "DeleteRegexEntityModel", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "DeleteRegexEntityModel", nil, "Failure preparing request") return } resp, err := client.DeleteRegexEntityModelSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "DeleteRegexEntityModel", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "DeleteRegexEntityModel", resp, "Failure sending request") return } result, err = client.DeleteRegexEntityModelResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "DeleteRegexEntityModel", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "DeleteRegexEntityModel", resp, "Failure responding to request") } return @@ -2860,7 +3128,7 @@ func (client ModelClient) DeleteRegexEntityModel(ctx context.Context, appID uuid // DeleteRegexEntityModelPreparer prepares the DeleteRegexEntityModel request. func (client ModelClient) DeleteRegexEntityModelPreparer(ctx context.Context, appID uuid.UUID, versionID string, regexEntityID uuid.UUID) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -2871,7 +3139,7 @@ func (client ModelClient) DeleteRegexEntityModelPreparer(ctx context.Context, ap preparer := autorest.CreatePreparer( autorest.AsDelete(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/regexentities/{regexEntityId}", pathParameters)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) } @@ -2879,8 +3147,8 @@ func (client ModelClient) DeleteRegexEntityModelPreparer(ctx context.Context, ap // DeleteRegexEntityModelSender sends the DeleteRegexEntityModel request. The method will close the // http.Response Body if it receives an error. func (client ModelClient) DeleteRegexEntityModelSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // DeleteRegexEntityModelResponder handles the response to the DeleteRegexEntityModel request. The method always @@ -2903,22 +3171,32 @@ func (client ModelClient) DeleteRegexEntityModelResponder(resp *http.Response) ( // entityID - the entity ID. // roleID - the entity role Id. func (client ModelClient) DeleteRegexEntityRole(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, roleID uuid.UUID) (result OperationStatus, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.DeleteRegexEntityRole") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } req, err := client.DeleteRegexEntityRolePreparer(ctx, appID, versionID, entityID, roleID) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "DeleteRegexEntityRole", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "DeleteRegexEntityRole", nil, "Failure preparing request") return } resp, err := client.DeleteRegexEntityRoleSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "DeleteRegexEntityRole", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "DeleteRegexEntityRole", resp, "Failure sending request") return } result, err = client.DeleteRegexEntityRoleResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "DeleteRegexEntityRole", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "DeleteRegexEntityRole", resp, "Failure responding to request") } return @@ -2927,7 +3205,7 @@ func (client ModelClient) DeleteRegexEntityRole(ctx context.Context, appID uuid. // DeleteRegexEntityRolePreparer prepares the DeleteRegexEntityRole request. func (client ModelClient) DeleteRegexEntityRolePreparer(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, roleID uuid.UUID) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -2939,7 +3217,7 @@ func (client ModelClient) DeleteRegexEntityRolePreparer(ctx context.Context, app preparer := autorest.CreatePreparer( autorest.AsDelete(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/regexentities/{entityId}/roles/{roleId}", pathParameters)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) } @@ -2947,8 +3225,8 @@ func (client ModelClient) DeleteRegexEntityRolePreparer(ctx context.Context, app // DeleteRegexEntityRoleSender sends the DeleteRegexEntityRole request. The method will close the // http.Response Body if it receives an error. func (client ModelClient) DeleteRegexEntityRoleSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // DeleteRegexEntityRoleResponder handles the response to the DeleteRegexEntityRole request. The method always @@ -2964,38 +3242,48 @@ func (client ModelClient) DeleteRegexEntityRoleResponder(resp *http.Response) (r return } -// DeleteSubList deletes a sublist of a specific closed list model. +// DeleteSubList deletes a sublist of a specific list entity model from a version of the application. // Parameters: // appID - the application ID. // versionID - the version ID. -// clEntityID - the closed list entity extractor ID. +// clEntityID - the list entity extractor ID. // subListID - the sublist ID. -func (client ModelClient) DeleteSubList(ctx context.Context, appID uuid.UUID, versionID string, clEntityID uuid.UUID, subListID int32) (result OperationStatus, err error) { +func (client ModelClient) DeleteSubList(ctx context.Context, appID uuid.UUID, versionID string, clEntityID uuid.UUID, subListID int64) (result OperationStatus, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.DeleteSubList") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } req, err := client.DeleteSubListPreparer(ctx, appID, versionID, clEntityID, subListID) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "DeleteSubList", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "DeleteSubList", nil, "Failure preparing request") return } resp, err := client.DeleteSubListSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "DeleteSubList", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "DeleteSubList", resp, "Failure sending request") return } result, err = client.DeleteSubListResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "DeleteSubList", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "DeleteSubList", resp, "Failure responding to request") } return } // DeleteSubListPreparer prepares the DeleteSubList request. -func (client ModelClient) DeleteSubListPreparer(ctx context.Context, appID uuid.UUID, versionID string, clEntityID uuid.UUID, subListID int32) (*http.Request, error) { +func (client ModelClient) DeleteSubListPreparer(ctx context.Context, appID uuid.UUID, versionID string, clEntityID uuid.UUID, subListID int64) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -3007,7 +3295,7 @@ func (client ModelClient) DeleteSubListPreparer(ctx context.Context, appID uuid. preparer := autorest.CreatePreparer( autorest.AsDelete(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/closedlists/{clEntityId}/sublists/{subListId}", pathParameters)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) } @@ -3015,8 +3303,8 @@ func (client ModelClient) DeleteSubListPreparer(ctx context.Context, appID uuid. // DeleteSubListSender sends the DeleteSubList request. The method will close the // http.Response Body if it receives an error. func (client ModelClient) DeleteSubListSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // DeleteSubListResponder handles the response to the DeleteSubList request. The method always @@ -3032,28 +3320,141 @@ func (client ModelClient) DeleteSubListResponder(resp *http.Response) (result Op return } -// GetClosedList gets information of a closed list model. +// ExamplesMethod gets the example utterances for the given intent or entity model in a version of the application. +// Parameters: +// appID - the application ID. +// versionID - the version ID. +// modelID - the ID (GUID) of the model. +// skip - the number of entries to skip. Default value is 0. +// take - the number of entries to return. Maximum page size is 500. Default is 100. +func (client ModelClient) ExamplesMethod(ctx context.Context, appID uuid.UUID, versionID string, modelID string, skip *int32, take *int32) (result ListLabelTextObject, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.ExamplesMethod") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: skip, + Constraints: []validation.Constraint{{Target: "skip", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "skip", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}}}}}, + {TargetValue: take, + Constraints: []validation.Constraint{{Target: "take", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "take", Name: validation.InclusiveMaximum, Rule: int64(500), Chain: nil}, + {Target: "take", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}, + }}}}}); err != nil { + return result, validation.NewError("authoring.ModelClient", "ExamplesMethod", err.Error()) + } + + req, err := client.ExamplesMethodPreparer(ctx, appID, versionID, modelID, skip, take) + if err != nil { + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "ExamplesMethod", nil, "Failure preparing request") + return + } + + resp, err := client.ExamplesMethodSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "ExamplesMethod", resp, "Failure sending request") + return + } + + result, err = client.ExamplesMethodResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "ExamplesMethod", resp, "Failure responding to request") + } + + return +} + +// ExamplesMethodPreparer prepares the ExamplesMethod request. +func (client ModelClient) ExamplesMethodPreparer(ctx context.Context, appID uuid.UUID, versionID string, modelID string, skip *int32, take *int32) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "Endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "appId": autorest.Encode("path", appID), + "modelId": autorest.Encode("path", modelID), + "versionId": autorest.Encode("path", versionID), + } + + queryParameters := map[string]interface{}{} + if skip != nil { + queryParameters["skip"] = autorest.Encode("query", *skip) + } else { + queryParameters["skip"] = autorest.Encode("query", 0) + } + if take != nil { + queryParameters["take"] = autorest.Encode("query", *take) + } else { + queryParameters["take"] = autorest.Encode("query", 100) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), + autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/models/{modelId}/examples", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ExamplesMethodSender sends the ExamplesMethod request. The method will close the +// http.Response Body if it receives an error. +func (client ModelClient) ExamplesMethodSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// ExamplesMethodResponder handles the response to the ExamplesMethod request. The method always +// closes the http.Response Body. +func (client ModelClient) ExamplesMethodResponder(resp *http.Response) (result ListLabelTextObject, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result.Value), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetClosedList gets information about a list entity in a version of the application. // Parameters: // appID - the application ID. // versionID - the version ID. -// clEntityID - the closed list model ID. +// clEntityID - the list model ID. func (client ModelClient) GetClosedList(ctx context.Context, appID uuid.UUID, versionID string, clEntityID uuid.UUID) (result ClosedListEntityExtractor, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.GetClosedList") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } req, err := client.GetClosedListPreparer(ctx, appID, versionID, clEntityID) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "GetClosedList", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "GetClosedList", nil, "Failure preparing request") return } resp, err := client.GetClosedListSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "GetClosedList", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "GetClosedList", resp, "Failure sending request") return } result, err = client.GetClosedListResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "GetClosedList", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "GetClosedList", resp, "Failure responding to request") } return @@ -3062,7 +3463,7 @@ func (client ModelClient) GetClosedList(ctx context.Context, appID uuid.UUID, ve // GetClosedListPreparer prepares the GetClosedList request. func (client ModelClient) GetClosedListPreparer(ctx context.Context, appID uuid.UUID, versionID string, clEntityID uuid.UUID) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -3073,7 +3474,7 @@ func (client ModelClient) GetClosedListPreparer(ctx context.Context, appID uuid. preparer := autorest.CreatePreparer( autorest.AsGet(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/closedlists/{clEntityId}", pathParameters)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) } @@ -3081,8 +3482,8 @@ func (client ModelClient) GetClosedListPreparer(ctx context.Context, appID uuid. // GetClosedListSender sends the GetClosedList request. The method will close the // http.Response Body if it receives an error. func (client ModelClient) GetClosedListSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // GetClosedListResponder handles the response to the GetClosedList request. The method always @@ -3105,22 +3506,32 @@ func (client ModelClient) GetClosedListResponder(resp *http.Response) (result Cl // entityID - entity ID. // roleID - entity role ID. func (client ModelClient) GetClosedListEntityRole(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, roleID uuid.UUID) (result EntityRole, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.GetClosedListEntityRole") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } req, err := client.GetClosedListEntityRolePreparer(ctx, appID, versionID, entityID, roleID) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "GetClosedListEntityRole", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "GetClosedListEntityRole", nil, "Failure preparing request") return } resp, err := client.GetClosedListEntityRoleSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "GetClosedListEntityRole", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "GetClosedListEntityRole", resp, "Failure sending request") return } result, err = client.GetClosedListEntityRoleResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "GetClosedListEntityRole", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "GetClosedListEntityRole", resp, "Failure responding to request") } return @@ -3129,7 +3540,7 @@ func (client ModelClient) GetClosedListEntityRole(ctx context.Context, appID uui // GetClosedListEntityRolePreparer prepares the GetClosedListEntityRole request. func (client ModelClient) GetClosedListEntityRolePreparer(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, roleID uuid.UUID) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -3141,7 +3552,7 @@ func (client ModelClient) GetClosedListEntityRolePreparer(ctx context.Context, a preparer := autorest.CreatePreparer( autorest.AsGet(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/closedlists/{entityId}/roles/{roleId}", pathParameters)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) } @@ -3149,8 +3560,8 @@ func (client ModelClient) GetClosedListEntityRolePreparer(ctx context.Context, a // GetClosedListEntityRoleSender sends the GetClosedListEntityRole request. The method will close the // http.Response Body if it receives an error. func (client ModelClient) GetClosedListEntityRoleSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // GetClosedListEntityRoleResponder handles the response to the GetClosedListEntityRole request. The method always @@ -3166,128 +3577,150 @@ func (client ModelClient) GetClosedListEntityRoleResponder(resp *http.Response) return } -// GetClosedListEntityRoles sends the get closed list entity roles request. +// GetCompositeEntity gets information about a composite entity in a version of the application. // Parameters: // appID - the application ID. // versionID - the version ID. -// entityID - entity Id -func (client ModelClient) GetClosedListEntityRoles(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID) (result ListEntityRole, err error) { - req, err := client.GetClosedListEntityRolesPreparer(ctx, appID, versionID, entityID) +// cEntityID - the composite entity extractor ID. +func (client ModelClient) GetCompositeEntity(ctx context.Context, appID uuid.UUID, versionID string, cEntityID uuid.UUID) (result CompositeEntityExtractor, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.GetCompositeEntity") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetCompositeEntityPreparer(ctx, appID, versionID, cEntityID) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "GetClosedListEntityRoles", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "GetCompositeEntity", nil, "Failure preparing request") return } - resp, err := client.GetClosedListEntityRolesSender(req) + resp, err := client.GetCompositeEntitySender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "GetClosedListEntityRoles", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "GetCompositeEntity", resp, "Failure sending request") return } - result, err = client.GetClosedListEntityRolesResponder(resp) + result, err = client.GetCompositeEntityResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "GetClosedListEntityRoles", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "GetCompositeEntity", resp, "Failure responding to request") } return } -// GetClosedListEntityRolesPreparer prepares the GetClosedListEntityRoles request. -func (client ModelClient) GetClosedListEntityRolesPreparer(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID) (*http.Request, error) { +// GetCompositeEntityPreparer prepares the GetCompositeEntity request. +func (client ModelClient) GetCompositeEntityPreparer(ctx context.Context, appID uuid.UUID, versionID string, cEntityID uuid.UUID) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ "appId": autorest.Encode("path", appID), - "entityId": autorest.Encode("path", entityID), + "cEntityId": autorest.Encode("path", cEntityID), "versionId": autorest.Encode("path", versionID), } preparer := autorest.CreatePreparer( autorest.AsGet(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), - autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/closedlists/{entityId}/roles", pathParameters)) + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), + autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/compositeentities/{cEntityId}", pathParameters)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) } -// GetClosedListEntityRolesSender sends the GetClosedListEntityRoles request. The method will close the +// GetCompositeEntitySender sends the GetCompositeEntity request. The method will close the // http.Response Body if it receives an error. -func (client ModelClient) GetClosedListEntityRolesSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +func (client ModelClient) GetCompositeEntitySender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } -// GetClosedListEntityRolesResponder handles the response to the GetClosedListEntityRoles request. The method always +// GetCompositeEntityResponder handles the response to the GetCompositeEntity request. The method always // closes the http.Response Body. -func (client ModelClient) GetClosedListEntityRolesResponder(resp *http.Response) (result ListEntityRole, err error) { +func (client ModelClient) GetCompositeEntityResponder(resp *http.Response) (result CompositeEntityExtractor, err error) { err = autorest.Respond( resp, client.ByInspecting(), azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result.Value), + autorest.ByUnmarshallingJSON(&result), autorest.ByClosing()) result.Response = autorest.Response{Response: resp} return } -// GetCompositeEntity gets information about the composite entity model. +// GetCompositeEntityRole sends the get composite entity role request. // Parameters: // appID - the application ID. // versionID - the version ID. // cEntityID - the composite entity extractor ID. -func (client ModelClient) GetCompositeEntity(ctx context.Context, appID uuid.UUID, versionID string, cEntityID uuid.UUID) (result CompositeEntityExtractor, err error) { - req, err := client.GetCompositeEntityPreparer(ctx, appID, versionID, cEntityID) +// roleID - entity role ID. +func (client ModelClient) GetCompositeEntityRole(ctx context.Context, appID uuid.UUID, versionID string, cEntityID uuid.UUID, roleID uuid.UUID) (result EntityRole, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.GetCompositeEntityRole") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetCompositeEntityRolePreparer(ctx, appID, versionID, cEntityID, roleID) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "GetCompositeEntity", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "GetCompositeEntityRole", nil, "Failure preparing request") return } - resp, err := client.GetCompositeEntitySender(req) + resp, err := client.GetCompositeEntityRoleSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "GetCompositeEntity", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "GetCompositeEntityRole", resp, "Failure sending request") return } - result, err = client.GetCompositeEntityResponder(resp) + result, err = client.GetCompositeEntityRoleResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "GetCompositeEntity", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "GetCompositeEntityRole", resp, "Failure responding to request") } return } -// GetCompositeEntityPreparer prepares the GetCompositeEntity request. -func (client ModelClient) GetCompositeEntityPreparer(ctx context.Context, appID uuid.UUID, versionID string, cEntityID uuid.UUID) (*http.Request, error) { +// GetCompositeEntityRolePreparer prepares the GetCompositeEntityRole request. +func (client ModelClient) GetCompositeEntityRolePreparer(ctx context.Context, appID uuid.UUID, versionID string, cEntityID uuid.UUID, roleID uuid.UUID) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ "appId": autorest.Encode("path", appID), "cEntityId": autorest.Encode("path", cEntityID), + "roleId": autorest.Encode("path", roleID), "versionId": autorest.Encode("path", versionID), } preparer := autorest.CreatePreparer( autorest.AsGet(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), - autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/compositeentities/{cEntityId}", pathParameters)) + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), + autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/compositeentities/{cEntityId}/roles/{roleId}", pathParameters)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) } -// GetCompositeEntitySender sends the GetCompositeEntity request. The method will close the +// GetCompositeEntityRoleSender sends the GetCompositeEntityRole request. The method will close the // http.Response Body if it receives an error. -func (client ModelClient) GetCompositeEntitySender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +func (client ModelClient) GetCompositeEntityRoleSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } -// GetCompositeEntityResponder handles the response to the GetCompositeEntity request. The method always +// GetCompositeEntityRoleResponder handles the response to the GetCompositeEntityRole request. The method always // closes the http.Response Body. -func (client ModelClient) GetCompositeEntityResponder(resp *http.Response) (result CompositeEntityExtractor, err error) { +func (client ModelClient) GetCompositeEntityRoleResponder(resp *http.Response) (result EntityRole, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -3298,64 +3731,74 @@ func (client ModelClient) GetCompositeEntityResponder(resp *http.Response) (resu return } -// GetCompositeEntityRole sends the get composite entity role request. +// GetCustomEntityRole sends the get custom entity role request. // Parameters: // appID - the application ID. // versionID - the version ID. -// cEntityID - the composite entity extractor ID. +// entityID - entity ID. // roleID - entity role ID. -func (client ModelClient) GetCompositeEntityRole(ctx context.Context, appID uuid.UUID, versionID string, cEntityID uuid.UUID, roleID uuid.UUID) (result EntityRole, err error) { - req, err := client.GetCompositeEntityRolePreparer(ctx, appID, versionID, cEntityID, roleID) +func (client ModelClient) GetCustomEntityRole(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, roleID uuid.UUID) (result EntityRole, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.GetCustomEntityRole") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetCustomEntityRolePreparer(ctx, appID, versionID, entityID, roleID) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "GetCompositeEntityRole", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "GetCustomEntityRole", nil, "Failure preparing request") return } - resp, err := client.GetCompositeEntityRoleSender(req) + resp, err := client.GetCustomEntityRoleSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "GetCompositeEntityRole", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "GetCustomEntityRole", resp, "Failure sending request") return } - result, err = client.GetCompositeEntityRoleResponder(resp) + result, err = client.GetCustomEntityRoleResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "GetCompositeEntityRole", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "GetCustomEntityRole", resp, "Failure responding to request") } return } -// GetCompositeEntityRolePreparer prepares the GetCompositeEntityRole request. -func (client ModelClient) GetCompositeEntityRolePreparer(ctx context.Context, appID uuid.UUID, versionID string, cEntityID uuid.UUID, roleID uuid.UUID) (*http.Request, error) { +// GetCustomEntityRolePreparer prepares the GetCustomEntityRole request. +func (client ModelClient) GetCustomEntityRolePreparer(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, roleID uuid.UUID) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ "appId": autorest.Encode("path", appID), - "cEntityId": autorest.Encode("path", cEntityID), + "entityId": autorest.Encode("path", entityID), "roleId": autorest.Encode("path", roleID), "versionId": autorest.Encode("path", versionID), } preparer := autorest.CreatePreparer( autorest.AsGet(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), - autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/compositeentities/{cEntityId}/roles/{roleId}", pathParameters)) + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), + autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/customprebuiltentities/{entityId}/roles/{roleId}", pathParameters)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) } -// GetCompositeEntityRoleSender sends the GetCompositeEntityRole request. The method will close the +// GetCustomEntityRoleSender sends the GetCustomEntityRole request. The method will close the // http.Response Body if it receives an error. -func (client ModelClient) GetCompositeEntityRoleSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +func (client ModelClient) GetCustomEntityRoleSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } -// GetCompositeEntityRoleResponder handles the response to the GetCompositeEntityRole request. The method always +// GetCustomEntityRoleResponder handles the response to the GetCustomEntityRole request. The method always // closes the http.Response Body. -func (client ModelClient) GetCompositeEntityRoleResponder(resp *http.Response) (result EntityRole, err error) { +func (client ModelClient) GetCustomEntityRoleResponder(resp *http.Response) (result EntityRole, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -3366,104 +3809,124 @@ func (client ModelClient) GetCompositeEntityRoleResponder(resp *http.Response) ( return } -// GetCompositeEntityRoles sends the get composite entity roles request. +// GetEntity gets information about an entity model in a version of the application. // Parameters: // appID - the application ID. // versionID - the version ID. -// cEntityID - the composite entity extractor ID. -func (client ModelClient) GetCompositeEntityRoles(ctx context.Context, appID uuid.UUID, versionID string, cEntityID uuid.UUID) (result ListEntityRole, err error) { - req, err := client.GetCompositeEntityRolesPreparer(ctx, appID, versionID, cEntityID) +// entityID - the entity extractor ID. +func (client ModelClient) GetEntity(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID) (result NDepthEntityExtractor, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.GetEntity") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetEntityPreparer(ctx, appID, versionID, entityID) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "GetCompositeEntityRoles", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "GetEntity", nil, "Failure preparing request") return } - resp, err := client.GetCompositeEntityRolesSender(req) + resp, err := client.GetEntitySender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "GetCompositeEntityRoles", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "GetEntity", resp, "Failure sending request") return } - result, err = client.GetCompositeEntityRolesResponder(resp) + result, err = client.GetEntityResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "GetCompositeEntityRoles", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "GetEntity", resp, "Failure responding to request") } return } -// GetCompositeEntityRolesPreparer prepares the GetCompositeEntityRoles request. -func (client ModelClient) GetCompositeEntityRolesPreparer(ctx context.Context, appID uuid.UUID, versionID string, cEntityID uuid.UUID) (*http.Request, error) { +// GetEntityPreparer prepares the GetEntity request. +func (client ModelClient) GetEntityPreparer(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ "appId": autorest.Encode("path", appID), - "cEntityId": autorest.Encode("path", cEntityID), + "entityId": autorest.Encode("path", entityID), "versionId": autorest.Encode("path", versionID), } preparer := autorest.CreatePreparer( autorest.AsGet(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), - autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/compositeentities/{cEntityId}/roles", pathParameters)) + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), + autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/entities/{entityId}", pathParameters)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) } -// GetCompositeEntityRolesSender sends the GetCompositeEntityRoles request. The method will close the +// GetEntitySender sends the GetEntity request. The method will close the // http.Response Body if it receives an error. -func (client ModelClient) GetCompositeEntityRolesSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +func (client ModelClient) GetEntitySender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } -// GetCompositeEntityRolesResponder handles the response to the GetCompositeEntityRoles request. The method always +// GetEntityResponder handles the response to the GetEntity request. The method always // closes the http.Response Body. -func (client ModelClient) GetCompositeEntityRolesResponder(resp *http.Response) (result ListEntityRole, err error) { +func (client ModelClient) GetEntityResponder(resp *http.Response) (result NDepthEntityExtractor, err error) { err = autorest.Respond( resp, client.ByInspecting(), azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result.Value), + autorest.ByUnmarshallingJSON(&result), autorest.ByClosing()) result.Response = autorest.Response{Response: resp} return } -// GetCustomEntityRole sends the get custom entity role request. +// GetEntityRole sends the get entity role request. // Parameters: // appID - the application ID. // versionID - the version ID. // entityID - entity ID. // roleID - entity role ID. -func (client ModelClient) GetCustomEntityRole(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, roleID uuid.UUID) (result EntityRole, err error) { - req, err := client.GetCustomEntityRolePreparer(ctx, appID, versionID, entityID, roleID) +func (client ModelClient) GetEntityRole(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, roleID uuid.UUID) (result EntityRole, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.GetEntityRole") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetEntityRolePreparer(ctx, appID, versionID, entityID, roleID) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "GetCustomEntityRole", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "GetEntityRole", nil, "Failure preparing request") return } - resp, err := client.GetCustomEntityRoleSender(req) + resp, err := client.GetEntityRoleSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "GetCustomEntityRole", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "GetEntityRole", resp, "Failure sending request") return } - result, err = client.GetCustomEntityRoleResponder(resp) + result, err = client.GetEntityRoleResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "GetCustomEntityRole", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "GetEntityRole", resp, "Failure responding to request") } return } -// GetCustomEntityRolePreparer prepares the GetCustomEntityRole request. -func (client ModelClient) GetCustomEntityRolePreparer(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, roleID uuid.UUID) (*http.Request, error) { +// GetEntityRolePreparer prepares the GetEntityRole request. +func (client ModelClient) GetEntityRolePreparer(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, roleID uuid.UUID) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -3475,21 +3938,21 @@ func (client ModelClient) GetCustomEntityRolePreparer(ctx context.Context, appID preparer := autorest.CreatePreparer( autorest.AsGet(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), - autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/customprebuiltentities/{entityId}/roles/{roleId}", pathParameters)) + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), + autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/entities/{entityId}/roles/{roleId}", pathParameters)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) } -// GetCustomEntityRoleSender sends the GetCustomEntityRole request. The method will close the +// GetEntityRoleSender sends the GetEntityRole request. The method will close the // http.Response Body if it receives an error. -func (client ModelClient) GetCustomEntityRoleSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +func (client ModelClient) GetEntityRoleSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } -// GetCustomEntityRoleResponder handles the response to the GetCustomEntityRole request. The method always +// GetEntityRoleResponder handles the response to the GetEntityRole request. The method always // closes the http.Response Body. -func (client ModelClient) GetCustomEntityRoleResponder(resp *http.Response) (result EntityRole, err error) { +func (client ModelClient) GetEntityRoleResponder(resp *http.Response) (result EntityRole, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -3500,37 +3963,47 @@ func (client ModelClient) GetCustomEntityRoleResponder(resp *http.Response) (res return } -// GetCustomPrebuiltEntityRoles sends the get custom prebuilt entity roles request. +// GetExplicitList sends the get explicit list request. // Parameters: // appID - the application ID. // versionID - the version ID. -// entityID - entity Id -func (client ModelClient) GetCustomPrebuiltEntityRoles(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID) (result ListEntityRole, err error) { - req, err := client.GetCustomPrebuiltEntityRolesPreparer(ctx, appID, versionID, entityID) +// entityID - the Pattern.Any entity id. +func (client ModelClient) GetExplicitList(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID) (result ListExplicitListItem, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.GetExplicitList") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetExplicitListPreparer(ctx, appID, versionID, entityID) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "GetCustomPrebuiltEntityRoles", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "GetExplicitList", nil, "Failure preparing request") return } - resp, err := client.GetCustomPrebuiltEntityRolesSender(req) + resp, err := client.GetExplicitListSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "GetCustomPrebuiltEntityRoles", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "GetExplicitList", resp, "Failure sending request") return } - result, err = client.GetCustomPrebuiltEntityRolesResponder(resp) + result, err = client.GetExplicitListResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "GetCustomPrebuiltEntityRoles", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "GetExplicitList", resp, "Failure responding to request") } return } -// GetCustomPrebuiltEntityRolesPreparer prepares the GetCustomPrebuiltEntityRoles request. -func (client ModelClient) GetCustomPrebuiltEntityRolesPreparer(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID) (*http.Request, error) { +// GetExplicitListPreparer prepares the GetExplicitList request. +func (client ModelClient) GetExplicitListPreparer(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -3541,21 +4014,21 @@ func (client ModelClient) GetCustomPrebuiltEntityRolesPreparer(ctx context.Conte preparer := autorest.CreatePreparer( autorest.AsGet(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), - autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/customprebuiltentities/{entityId}/roles", pathParameters)) + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), + autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/patternanyentities/{entityId}/explicitlist", pathParameters)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) } -// GetCustomPrebuiltEntityRolesSender sends the GetCustomPrebuiltEntityRoles request. The method will close the +// GetExplicitListSender sends the GetExplicitList request. The method will close the // http.Response Body if it receives an error. -func (client ModelClient) GetCustomPrebuiltEntityRolesSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +func (client ModelClient) GetExplicitListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } -// GetCustomPrebuiltEntityRolesResponder handles the response to the GetCustomPrebuiltEntityRoles request. The method always +// GetExplicitListResponder handles the response to the GetExplicitList request. The method always // closes the http.Response Body. -func (client ModelClient) GetCustomPrebuiltEntityRolesResponder(resp *http.Response) (result ListEntityRole, err error) { +func (client ModelClient) GetExplicitListResponder(resp *http.Response) (result ListExplicitListItem, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -3566,62 +4039,74 @@ func (client ModelClient) GetCustomPrebuiltEntityRolesResponder(resp *http.Respo return } -// GetEntity gets information about the entity model. +// GetExplicitListItem sends the get explicit list item request. // Parameters: // appID - the application ID. // versionID - the version ID. -// entityID - the entity extractor ID. -func (client ModelClient) GetEntity(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID) (result EntityExtractor, err error) { - req, err := client.GetEntityPreparer(ctx, appID, versionID, entityID) +// entityID - the Pattern.Any entity Id. +// itemID - the explicit list item Id. +func (client ModelClient) GetExplicitListItem(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, itemID int64) (result ExplicitListItem, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.GetExplicitListItem") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetExplicitListItemPreparer(ctx, appID, versionID, entityID, itemID) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "GetEntity", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "GetExplicitListItem", nil, "Failure preparing request") return } - resp, err := client.GetEntitySender(req) + resp, err := client.GetExplicitListItemSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "GetEntity", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "GetExplicitListItem", resp, "Failure sending request") return } - result, err = client.GetEntityResponder(resp) + result, err = client.GetExplicitListItemResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "GetEntity", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "GetExplicitListItem", resp, "Failure responding to request") } return } -// GetEntityPreparer prepares the GetEntity request. -func (client ModelClient) GetEntityPreparer(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID) (*http.Request, error) { +// GetExplicitListItemPreparer prepares the GetExplicitListItem request. +func (client ModelClient) GetExplicitListItemPreparer(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, itemID int64) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ "appId": autorest.Encode("path", appID), "entityId": autorest.Encode("path", entityID), + "itemId": autorest.Encode("path", itemID), "versionId": autorest.Encode("path", versionID), } preparer := autorest.CreatePreparer( autorest.AsGet(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), - autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/entities/{entityId}", pathParameters)) + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), + autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/patternanyentities/{entityId}/explicitlist/{itemId}", pathParameters)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) } -// GetEntitySender sends the GetEntity request. The method will close the +// GetExplicitListItemSender sends the GetExplicitListItem request. The method will close the // http.Response Body if it receives an error. -func (client ModelClient) GetEntitySender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +func (client ModelClient) GetExplicitListItemSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } -// GetEntityResponder handles the response to the GetEntity request. The method always +// GetExplicitListItemResponder handles the response to the GetExplicitListItem request. The method always // closes the http.Response Body. -func (client ModelClient) GetEntityResponder(resp *http.Response) (result EntityExtractor, err error) { +func (client ModelClient) GetExplicitListItemResponder(resp *http.Response) (result ExplicitListItem, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -3632,64 +4117,72 @@ func (client ModelClient) GetEntityResponder(resp *http.Response) (result Entity return } -// GetEntityRole sends the get entity role request. +// GetHierarchicalEntity gets information about a hierarchical entity in a version of the application. // Parameters: // appID - the application ID. // versionID - the version ID. -// entityID - entity ID. -// roleID - entity role ID. -func (client ModelClient) GetEntityRole(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, roleID uuid.UUID) (result EntityRole, err error) { - req, err := client.GetEntityRolePreparer(ctx, appID, versionID, entityID, roleID) +// hEntityID - the hierarchical entity extractor ID. +func (client ModelClient) GetHierarchicalEntity(ctx context.Context, appID uuid.UUID, versionID string, hEntityID uuid.UUID) (result HierarchicalEntityExtractor, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.GetHierarchicalEntity") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetHierarchicalEntityPreparer(ctx, appID, versionID, hEntityID) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "GetEntityRole", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "GetHierarchicalEntity", nil, "Failure preparing request") return } - resp, err := client.GetEntityRoleSender(req) + resp, err := client.GetHierarchicalEntitySender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "GetEntityRole", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "GetHierarchicalEntity", resp, "Failure sending request") return } - result, err = client.GetEntityRoleResponder(resp) + result, err = client.GetHierarchicalEntityResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "GetEntityRole", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "GetHierarchicalEntity", resp, "Failure responding to request") } return } -// GetEntityRolePreparer prepares the GetEntityRole request. -func (client ModelClient) GetEntityRolePreparer(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, roleID uuid.UUID) (*http.Request, error) { +// GetHierarchicalEntityPreparer prepares the GetHierarchicalEntity request. +func (client ModelClient) GetHierarchicalEntityPreparer(ctx context.Context, appID uuid.UUID, versionID string, hEntityID uuid.UUID) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ "appId": autorest.Encode("path", appID), - "entityId": autorest.Encode("path", entityID), - "roleId": autorest.Encode("path", roleID), + "hEntityId": autorest.Encode("path", hEntityID), "versionId": autorest.Encode("path", versionID), } preparer := autorest.CreatePreparer( autorest.AsGet(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), - autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/entities/{entityId}/roles/{roleId}", pathParameters)) + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), + autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/hierarchicalentities/{hEntityId}", pathParameters)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) } -// GetEntityRoleSender sends the GetEntityRole request. The method will close the +// GetHierarchicalEntitySender sends the GetHierarchicalEntity request. The method will close the // http.Response Body if it receives an error. -func (client ModelClient) GetEntityRoleSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +func (client ModelClient) GetHierarchicalEntitySender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } -// GetEntityRoleResponder handles the response to the GetEntityRole request. The method always +// GetHierarchicalEntityResponder handles the response to the GetHierarchicalEntity request. The method always // closes the http.Response Body. -func (client ModelClient) GetEntityRoleResponder(resp *http.Response) (result EntityRole, err error) { +func (client ModelClient) GetHierarchicalEntityResponder(resp *http.Response) (result HierarchicalEntityExtractor, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -3700,280 +4193,305 @@ func (client ModelClient) GetEntityRoleResponder(resp *http.Response) (result En return } -// GetEntityRoles sends the get entity roles request. +// GetHierarchicalEntityChild gets information about the child's model contained in an hierarchical entity child model +// in a version of the application. // Parameters: // appID - the application ID. // versionID - the version ID. -// entityID - entity Id -func (client ModelClient) GetEntityRoles(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID) (result ListEntityRole, err error) { - req, err := client.GetEntityRolesPreparer(ctx, appID, versionID, entityID) +// hEntityID - the hierarchical entity extractor ID. +// hChildID - the hierarchical entity extractor child ID. +func (client ModelClient) GetHierarchicalEntityChild(ctx context.Context, appID uuid.UUID, versionID string, hEntityID uuid.UUID, hChildID uuid.UUID) (result HierarchicalChildEntity, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.GetHierarchicalEntityChild") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetHierarchicalEntityChildPreparer(ctx, appID, versionID, hEntityID, hChildID) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "GetEntityRoles", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "GetHierarchicalEntityChild", nil, "Failure preparing request") return } - resp, err := client.GetEntityRolesSender(req) + resp, err := client.GetHierarchicalEntityChildSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "GetEntityRoles", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "GetHierarchicalEntityChild", resp, "Failure sending request") return } - result, err = client.GetEntityRolesResponder(resp) + result, err = client.GetHierarchicalEntityChildResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "GetEntityRoles", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "GetHierarchicalEntityChild", resp, "Failure responding to request") } return } -// GetEntityRolesPreparer prepares the GetEntityRoles request. -func (client ModelClient) GetEntityRolesPreparer(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID) (*http.Request, error) { +// GetHierarchicalEntityChildPreparer prepares the GetHierarchicalEntityChild request. +func (client ModelClient) GetHierarchicalEntityChildPreparer(ctx context.Context, appID uuid.UUID, versionID string, hEntityID uuid.UUID, hChildID uuid.UUID) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ "appId": autorest.Encode("path", appID), - "entityId": autorest.Encode("path", entityID), + "hChildId": autorest.Encode("path", hChildID), + "hEntityId": autorest.Encode("path", hEntityID), "versionId": autorest.Encode("path", versionID), } preparer := autorest.CreatePreparer( autorest.AsGet(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), - autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/entities/{entityId}/roles", pathParameters)) + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), + autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/hierarchicalentities/{hEntityId}/children/{hChildId}", pathParameters)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) } -// GetEntityRolesSender sends the GetEntityRoles request. The method will close the +// GetHierarchicalEntityChildSender sends the GetHierarchicalEntityChild request. The method will close the // http.Response Body if it receives an error. -func (client ModelClient) GetEntityRolesSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +func (client ModelClient) GetHierarchicalEntityChildSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } -// GetEntityRolesResponder handles the response to the GetEntityRoles request. The method always +// GetHierarchicalEntityChildResponder handles the response to the GetHierarchicalEntityChild request. The method always // closes the http.Response Body. -func (client ModelClient) GetEntityRolesResponder(resp *http.Response) (result ListEntityRole, err error) { +func (client ModelClient) GetHierarchicalEntityChildResponder(resp *http.Response) (result HierarchicalChildEntity, err error) { err = autorest.Respond( resp, client.ByInspecting(), azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result.Value), + autorest.ByUnmarshallingJSON(&result), autorest.ByClosing()) result.Response = autorest.Response{Response: resp} return } -// GetEntitySuggestions get suggestion examples that would improve the accuracy of the entity model. +// GetHierarchicalEntityRole sends the get hierarchical entity role request. // Parameters: // appID - the application ID. // versionID - the version ID. -// entityID - the target entity extractor model to enhance. -// take - the number of entries to return. Maximum page size is 500. Default is 100. -func (client ModelClient) GetEntitySuggestions(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, take *int32) (result ListEntitiesSuggestionExample, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: take, - Constraints: []validation.Constraint{{Target: "take", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "take", Name: validation.InclusiveMaximum, Rule: 500, Chain: nil}, - {Target: "take", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}, - }}}}}); err != nil { - return result, validation.NewError("programmatic.ModelClient", "GetEntitySuggestions", err.Error()) +// hEntityID - the hierarchical entity extractor ID. +// roleID - entity role ID. +func (client ModelClient) GetHierarchicalEntityRole(ctx context.Context, appID uuid.UUID, versionID string, hEntityID uuid.UUID, roleID uuid.UUID) (result EntityRole, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.GetHierarchicalEntityRole") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() } - - req, err := client.GetEntitySuggestionsPreparer(ctx, appID, versionID, entityID, take) + req, err := client.GetHierarchicalEntityRolePreparer(ctx, appID, versionID, hEntityID, roleID) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "GetEntitySuggestions", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "GetHierarchicalEntityRole", nil, "Failure preparing request") return } - resp, err := client.GetEntitySuggestionsSender(req) + resp, err := client.GetHierarchicalEntityRoleSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "GetEntitySuggestions", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "GetHierarchicalEntityRole", resp, "Failure sending request") return } - result, err = client.GetEntitySuggestionsResponder(resp) + result, err = client.GetHierarchicalEntityRoleResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "GetEntitySuggestions", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "GetHierarchicalEntityRole", resp, "Failure responding to request") } return } -// GetEntitySuggestionsPreparer prepares the GetEntitySuggestions request. -func (client ModelClient) GetEntitySuggestionsPreparer(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, take *int32) (*http.Request, error) { +// GetHierarchicalEntityRolePreparer prepares the GetHierarchicalEntityRole request. +func (client ModelClient) GetHierarchicalEntityRolePreparer(ctx context.Context, appID uuid.UUID, versionID string, hEntityID uuid.UUID, roleID uuid.UUID) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ "appId": autorest.Encode("path", appID), - "entityId": autorest.Encode("path", entityID), + "hEntityId": autorest.Encode("path", hEntityID), + "roleId": autorest.Encode("path", roleID), "versionId": autorest.Encode("path", versionID), } - queryParameters := map[string]interface{}{} - if take != nil { - queryParameters["take"] = autorest.Encode("query", *take) - } else { - queryParameters["take"] = autorest.Encode("query", 100) - } - preparer := autorest.CreatePreparer( autorest.AsGet(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), - autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/entities/{entityId}/suggest", pathParameters), - autorest.WithQueryParameters(queryParameters)) + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), + autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/hierarchicalentities/{hEntityId}/roles/{roleId}", pathParameters)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) } -// GetEntitySuggestionsSender sends the GetEntitySuggestions request. The method will close the +// GetHierarchicalEntityRoleSender sends the GetHierarchicalEntityRole request. The method will close the // http.Response Body if it receives an error. -func (client ModelClient) GetEntitySuggestionsSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +func (client ModelClient) GetHierarchicalEntityRoleSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } -// GetEntitySuggestionsResponder handles the response to the GetEntitySuggestions request. The method always +// GetHierarchicalEntityRoleResponder handles the response to the GetHierarchicalEntityRole request. The method always // closes the http.Response Body. -func (client ModelClient) GetEntitySuggestionsResponder(resp *http.Response) (result ListEntitiesSuggestionExample, err error) { +func (client ModelClient) GetHierarchicalEntityRoleResponder(resp *http.Response) (result EntityRole, err error) { err = autorest.Respond( resp, client.ByInspecting(), azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result.Value), + autorest.ByUnmarshallingJSON(&result), autorest.ByClosing()) result.Response = autorest.Response{Response: resp} return } -// GetExplicitList sends the get explicit list request. +// GetIntent gets information about the intent model in a version of the application. // Parameters: // appID - the application ID. // versionID - the version ID. -// entityID - the Pattern.Any entity id. -func (client ModelClient) GetExplicitList(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID) (result ListExplicitListItem, err error) { - req, err := client.GetExplicitListPreparer(ctx, appID, versionID, entityID) +// intentID - the intent classifier ID. +func (client ModelClient) GetIntent(ctx context.Context, appID uuid.UUID, versionID string, intentID uuid.UUID) (result IntentClassifier, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.GetIntent") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetIntentPreparer(ctx, appID, versionID, intentID) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "GetExplicitList", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "GetIntent", nil, "Failure preparing request") return } - resp, err := client.GetExplicitListSender(req) + resp, err := client.GetIntentSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "GetExplicitList", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "GetIntent", resp, "Failure sending request") return } - result, err = client.GetExplicitListResponder(resp) + result, err = client.GetIntentResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "GetExplicitList", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "GetIntent", resp, "Failure responding to request") } return } -// GetExplicitListPreparer prepares the GetExplicitList request. -func (client ModelClient) GetExplicitListPreparer(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID) (*http.Request, error) { +// GetIntentPreparer prepares the GetIntent request. +func (client ModelClient) GetIntentPreparer(ctx context.Context, appID uuid.UUID, versionID string, intentID uuid.UUID) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ "appId": autorest.Encode("path", appID), - "entityId": autorest.Encode("path", entityID), + "intentId": autorest.Encode("path", intentID), "versionId": autorest.Encode("path", versionID), } preparer := autorest.CreatePreparer( autorest.AsGet(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), - autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/patternanyentities/{entityId}/explicitlist", pathParameters)) + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), + autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/intents/{intentId}", pathParameters)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) } -// GetExplicitListSender sends the GetExplicitList request. The method will close the +// GetIntentSender sends the GetIntent request. The method will close the // http.Response Body if it receives an error. -func (client ModelClient) GetExplicitListSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +func (client ModelClient) GetIntentSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } -// GetExplicitListResponder handles the response to the GetExplicitList request. The method always +// GetIntentResponder handles the response to the GetIntent request. The method always // closes the http.Response Body. -func (client ModelClient) GetExplicitListResponder(resp *http.Response) (result ListExplicitListItem, err error) { +func (client ModelClient) GetIntentResponder(resp *http.Response) (result IntentClassifier, err error) { err = autorest.Respond( resp, client.ByInspecting(), azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result.Value), + autorest.ByUnmarshallingJSON(&result), autorest.ByClosing()) result.Response = autorest.Response{Response: resp} return } -// GetExplicitListItem sends the get explicit list item request. +// GetPatternAnyEntityInfo sends the get pattern any entity info request. // Parameters: // appID - the application ID. // versionID - the version ID. -// entityID - the Pattern.Any entity Id. -// itemID - the explicit list item Id. -func (client ModelClient) GetExplicitListItem(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, itemID int64) (result ExplicitListItem, err error) { - req, err := client.GetExplicitListItemPreparer(ctx, appID, versionID, entityID, itemID) +// entityID - the entity extractor ID. +func (client ModelClient) GetPatternAnyEntityInfo(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID) (result PatternAnyEntityExtractor, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.GetPatternAnyEntityInfo") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPatternAnyEntityInfoPreparer(ctx, appID, versionID, entityID) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "GetExplicitListItem", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "GetPatternAnyEntityInfo", nil, "Failure preparing request") return } - resp, err := client.GetExplicitListItemSender(req) + resp, err := client.GetPatternAnyEntityInfoSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "GetExplicitListItem", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "GetPatternAnyEntityInfo", resp, "Failure sending request") return } - result, err = client.GetExplicitListItemResponder(resp) + result, err = client.GetPatternAnyEntityInfoResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "GetExplicitListItem", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "GetPatternAnyEntityInfo", resp, "Failure responding to request") } return } -// GetExplicitListItemPreparer prepares the GetExplicitListItem request. -func (client ModelClient) GetExplicitListItemPreparer(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, itemID int64) (*http.Request, error) { +// GetPatternAnyEntityInfoPreparer prepares the GetPatternAnyEntityInfo request. +func (client ModelClient) GetPatternAnyEntityInfoPreparer(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ "appId": autorest.Encode("path", appID), "entityId": autorest.Encode("path", entityID), - "itemId": autorest.Encode("path", itemID), "versionId": autorest.Encode("path", versionID), } preparer := autorest.CreatePreparer( autorest.AsGet(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), - autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/patternanyentities/{entityId}/explicitlist/{itemId}", pathParameters)) + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), + autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/patternanyentities/{entityId}", pathParameters)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) } -// GetExplicitListItemSender sends the GetExplicitListItem request. The method will close the +// GetPatternAnyEntityInfoSender sends the GetPatternAnyEntityInfo request. The method will close the // http.Response Body if it receives an error. -func (client ModelClient) GetExplicitListItemSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +func (client ModelClient) GetPatternAnyEntityInfoSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } -// GetExplicitListItemResponder handles the response to the GetExplicitListItem request. The method always +// GetPatternAnyEntityInfoResponder handles the response to the GetPatternAnyEntityInfo request. The method always // closes the http.Response Body. -func (client ModelClient) GetExplicitListItemResponder(resp *http.Response) (result ExplicitListItem, err error) { +func (client ModelClient) GetPatternAnyEntityInfoResponder(resp *http.Response) (result PatternAnyEntityExtractor, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -3984,62 +4502,74 @@ func (client ModelClient) GetExplicitListItemResponder(resp *http.Response) (res return } -// GetHierarchicalEntity gets information about the hierarchical entity model. +// GetPatternAnyEntityRole sends the get pattern any entity role request. // Parameters: // appID - the application ID. // versionID - the version ID. -// hEntityID - the hierarchical entity extractor ID. -func (client ModelClient) GetHierarchicalEntity(ctx context.Context, appID uuid.UUID, versionID string, hEntityID uuid.UUID) (result HierarchicalEntityExtractor, err error) { - req, err := client.GetHierarchicalEntityPreparer(ctx, appID, versionID, hEntityID) +// entityID - entity ID. +// roleID - entity role ID. +func (client ModelClient) GetPatternAnyEntityRole(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, roleID uuid.UUID) (result EntityRole, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.GetPatternAnyEntityRole") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPatternAnyEntityRolePreparer(ctx, appID, versionID, entityID, roleID) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "GetHierarchicalEntity", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "GetPatternAnyEntityRole", nil, "Failure preparing request") return } - resp, err := client.GetHierarchicalEntitySender(req) + resp, err := client.GetPatternAnyEntityRoleSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "GetHierarchicalEntity", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "GetPatternAnyEntityRole", resp, "Failure sending request") return } - result, err = client.GetHierarchicalEntityResponder(resp) + result, err = client.GetPatternAnyEntityRoleResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "GetHierarchicalEntity", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "GetPatternAnyEntityRole", resp, "Failure responding to request") } return } -// GetHierarchicalEntityPreparer prepares the GetHierarchicalEntity request. -func (client ModelClient) GetHierarchicalEntityPreparer(ctx context.Context, appID uuid.UUID, versionID string, hEntityID uuid.UUID) (*http.Request, error) { +// GetPatternAnyEntityRolePreparer prepares the GetPatternAnyEntityRole request. +func (client ModelClient) GetPatternAnyEntityRolePreparer(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, roleID uuid.UUID) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ "appId": autorest.Encode("path", appID), - "hEntityId": autorest.Encode("path", hEntityID), + "entityId": autorest.Encode("path", entityID), + "roleId": autorest.Encode("path", roleID), "versionId": autorest.Encode("path", versionID), } preparer := autorest.CreatePreparer( autorest.AsGet(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), - autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/hierarchicalentities/{hEntityId}", pathParameters)) + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), + autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/patternanyentities/{entityId}/roles/{roleId}", pathParameters)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) } -// GetHierarchicalEntitySender sends the GetHierarchicalEntity request. The method will close the +// GetPatternAnyEntityRoleSender sends the GetPatternAnyEntityRole request. The method will close the // http.Response Body if it receives an error. -func (client ModelClient) GetHierarchicalEntitySender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +func (client ModelClient) GetPatternAnyEntityRoleSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } -// GetHierarchicalEntityResponder handles the response to the GetHierarchicalEntity request. The method always +// GetPatternAnyEntityRoleResponder handles the response to the GetPatternAnyEntityRole request. The method always // closes the http.Response Body. -func (client ModelClient) GetHierarchicalEntityResponder(resp *http.Response) (result HierarchicalEntityExtractor, err error) { +func (client ModelClient) GetPatternAnyEntityRoleResponder(resp *http.Response) (result EntityRole, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -4050,64 +4580,72 @@ func (client ModelClient) GetHierarchicalEntityResponder(resp *http.Response) (r return } -// GetHierarchicalEntityChild gets information about the hierarchical entity child model. +// GetPrebuilt gets information about a prebuilt entity model in a version of the application. // Parameters: // appID - the application ID. // versionID - the version ID. -// hEntityID - the hierarchical entity extractor ID. -// hChildID - the hierarchical entity extractor child ID. -func (client ModelClient) GetHierarchicalEntityChild(ctx context.Context, appID uuid.UUID, versionID string, hEntityID uuid.UUID, hChildID uuid.UUID) (result HierarchicalChildEntity, err error) { - req, err := client.GetHierarchicalEntityChildPreparer(ctx, appID, versionID, hEntityID, hChildID) +// prebuiltID - the prebuilt entity extractor ID. +func (client ModelClient) GetPrebuilt(ctx context.Context, appID uuid.UUID, versionID string, prebuiltID uuid.UUID) (result PrebuiltEntityExtractor, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.GetPrebuilt") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPrebuiltPreparer(ctx, appID, versionID, prebuiltID) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "GetHierarchicalEntityChild", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "GetPrebuilt", nil, "Failure preparing request") return } - resp, err := client.GetHierarchicalEntityChildSender(req) + resp, err := client.GetPrebuiltSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "GetHierarchicalEntityChild", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "GetPrebuilt", resp, "Failure sending request") return } - result, err = client.GetHierarchicalEntityChildResponder(resp) + result, err = client.GetPrebuiltResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "GetHierarchicalEntityChild", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "GetPrebuilt", resp, "Failure responding to request") } return } -// GetHierarchicalEntityChildPreparer prepares the GetHierarchicalEntityChild request. -func (client ModelClient) GetHierarchicalEntityChildPreparer(ctx context.Context, appID uuid.UUID, versionID string, hEntityID uuid.UUID, hChildID uuid.UUID) (*http.Request, error) { +// GetPrebuiltPreparer prepares the GetPrebuilt request. +func (client ModelClient) GetPrebuiltPreparer(ctx context.Context, appID uuid.UUID, versionID string, prebuiltID uuid.UUID) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ - "appId": autorest.Encode("path", appID), - "hChildId": autorest.Encode("path", hChildID), - "hEntityId": autorest.Encode("path", hEntityID), - "versionId": autorest.Encode("path", versionID), + "appId": autorest.Encode("path", appID), + "prebuiltId": autorest.Encode("path", prebuiltID), + "versionId": autorest.Encode("path", versionID), } preparer := autorest.CreatePreparer( autorest.AsGet(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), - autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/hierarchicalentities/{hEntityId}/children/{hChildId}", pathParameters)) + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), + autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/prebuilts/{prebuiltId}", pathParameters)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) } -// GetHierarchicalEntityChildSender sends the GetHierarchicalEntityChild request. The method will close the +// GetPrebuiltSender sends the GetPrebuilt request. The method will close the // http.Response Body if it receives an error. -func (client ModelClient) GetHierarchicalEntityChildSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +func (client ModelClient) GetPrebuiltSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } -// GetHierarchicalEntityChildResponder handles the response to the GetHierarchicalEntityChild request. The method always +// GetPrebuiltResponder handles the response to the GetPrebuilt request. The method always // closes the http.Response Body. -func (client ModelClient) GetHierarchicalEntityChildResponder(resp *http.Response) (result HierarchicalChildEntity, err error) { +func (client ModelClient) GetPrebuiltResponder(resp *http.Response) (result PrebuiltEntityExtractor, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -4118,64 +4656,74 @@ func (client ModelClient) GetHierarchicalEntityChildResponder(resp *http.Respons return } -// GetHierarchicalEntityRole sends the get hierarchical entity role request. +// GetPrebuiltEntityRole sends the get prebuilt entity role request. // Parameters: // appID - the application ID. // versionID - the version ID. -// hEntityID - the hierarchical entity extractor ID. +// entityID - entity ID. // roleID - entity role ID. -func (client ModelClient) GetHierarchicalEntityRole(ctx context.Context, appID uuid.UUID, versionID string, hEntityID uuid.UUID, roleID uuid.UUID) (result EntityRole, err error) { - req, err := client.GetHierarchicalEntityRolePreparer(ctx, appID, versionID, hEntityID, roleID) +func (client ModelClient) GetPrebuiltEntityRole(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, roleID uuid.UUID) (result EntityRole, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.GetPrebuiltEntityRole") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPrebuiltEntityRolePreparer(ctx, appID, versionID, entityID, roleID) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "GetHierarchicalEntityRole", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "GetPrebuiltEntityRole", nil, "Failure preparing request") return } - resp, err := client.GetHierarchicalEntityRoleSender(req) + resp, err := client.GetPrebuiltEntityRoleSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "GetHierarchicalEntityRole", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "GetPrebuiltEntityRole", resp, "Failure sending request") return } - result, err = client.GetHierarchicalEntityRoleResponder(resp) + result, err = client.GetPrebuiltEntityRoleResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "GetHierarchicalEntityRole", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "GetPrebuiltEntityRole", resp, "Failure responding to request") } return } -// GetHierarchicalEntityRolePreparer prepares the GetHierarchicalEntityRole request. -func (client ModelClient) GetHierarchicalEntityRolePreparer(ctx context.Context, appID uuid.UUID, versionID string, hEntityID uuid.UUID, roleID uuid.UUID) (*http.Request, error) { +// GetPrebuiltEntityRolePreparer prepares the GetPrebuiltEntityRole request. +func (client ModelClient) GetPrebuiltEntityRolePreparer(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, roleID uuid.UUID) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ "appId": autorest.Encode("path", appID), - "hEntityId": autorest.Encode("path", hEntityID), + "entityId": autorest.Encode("path", entityID), "roleId": autorest.Encode("path", roleID), "versionId": autorest.Encode("path", versionID), } preparer := autorest.CreatePreparer( autorest.AsGet(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), - autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/hierarchicalentities/{hEntityId}/roles/{roleId}", pathParameters)) + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), + autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/prebuilts/{entityId}/roles/{roleId}", pathParameters)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) } -// GetHierarchicalEntityRoleSender sends the GetHierarchicalEntityRole request. The method will close the +// GetPrebuiltEntityRoleSender sends the GetPrebuiltEntityRole request. The method will close the // http.Response Body if it receives an error. -func (client ModelClient) GetHierarchicalEntityRoleSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +func (client ModelClient) GetPrebuiltEntityRoleSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } -// GetHierarchicalEntityRoleResponder handles the response to the GetHierarchicalEntityRole request. The method always +// GetPrebuiltEntityRoleResponder handles the response to the GetPrebuiltEntityRole request. The method always // closes the http.Response Body. -func (client ModelClient) GetHierarchicalEntityRoleResponder(resp *http.Response) (result EntityRole, err error) { +func (client ModelClient) GetPrebuiltEntityRoleResponder(resp *http.Response) (result EntityRole, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -4186,128 +4734,150 @@ func (client ModelClient) GetHierarchicalEntityRoleResponder(resp *http.Response return } -// GetHierarchicalEntityRoles sends the get hierarchical entity roles request. +// GetRegexEntityEntityInfo sends the get regex entity entity info request. // Parameters: // appID - the application ID. // versionID - the version ID. -// hEntityID - the hierarchical entity extractor ID. -func (client ModelClient) GetHierarchicalEntityRoles(ctx context.Context, appID uuid.UUID, versionID string, hEntityID uuid.UUID) (result ListEntityRole, err error) { - req, err := client.GetHierarchicalEntityRolesPreparer(ctx, appID, versionID, hEntityID) +// regexEntityID - the regular expression entity model ID. +func (client ModelClient) GetRegexEntityEntityInfo(ctx context.Context, appID uuid.UUID, versionID string, regexEntityID uuid.UUID) (result RegexEntityExtractor, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.GetRegexEntityEntityInfo") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetRegexEntityEntityInfoPreparer(ctx, appID, versionID, regexEntityID) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "GetHierarchicalEntityRoles", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "GetRegexEntityEntityInfo", nil, "Failure preparing request") return } - resp, err := client.GetHierarchicalEntityRolesSender(req) + resp, err := client.GetRegexEntityEntityInfoSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "GetHierarchicalEntityRoles", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "GetRegexEntityEntityInfo", resp, "Failure sending request") return } - result, err = client.GetHierarchicalEntityRolesResponder(resp) + result, err = client.GetRegexEntityEntityInfoResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "GetHierarchicalEntityRoles", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "GetRegexEntityEntityInfo", resp, "Failure responding to request") } return } -// GetHierarchicalEntityRolesPreparer prepares the GetHierarchicalEntityRoles request. -func (client ModelClient) GetHierarchicalEntityRolesPreparer(ctx context.Context, appID uuid.UUID, versionID string, hEntityID uuid.UUID) (*http.Request, error) { +// GetRegexEntityEntityInfoPreparer prepares the GetRegexEntityEntityInfo request. +func (client ModelClient) GetRegexEntityEntityInfoPreparer(ctx context.Context, appID uuid.UUID, versionID string, regexEntityID uuid.UUID) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ - "appId": autorest.Encode("path", appID), - "hEntityId": autorest.Encode("path", hEntityID), - "versionId": autorest.Encode("path", versionID), + "appId": autorest.Encode("path", appID), + "regexEntityId": autorest.Encode("path", regexEntityID), + "versionId": autorest.Encode("path", versionID), } preparer := autorest.CreatePreparer( autorest.AsGet(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), - autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/hierarchicalentities/{hEntityId}/roles", pathParameters)) + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), + autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/regexentities/{regexEntityId}", pathParameters)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) } -// GetHierarchicalEntityRolesSender sends the GetHierarchicalEntityRoles request. The method will close the +// GetRegexEntityEntityInfoSender sends the GetRegexEntityEntityInfo request. The method will close the // http.Response Body if it receives an error. -func (client ModelClient) GetHierarchicalEntityRolesSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +func (client ModelClient) GetRegexEntityEntityInfoSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } -// GetHierarchicalEntityRolesResponder handles the response to the GetHierarchicalEntityRoles request. The method always +// GetRegexEntityEntityInfoResponder handles the response to the GetRegexEntityEntityInfo request. The method always // closes the http.Response Body. -func (client ModelClient) GetHierarchicalEntityRolesResponder(resp *http.Response) (result ListEntityRole, err error) { +func (client ModelClient) GetRegexEntityEntityInfoResponder(resp *http.Response) (result RegexEntityExtractor, err error) { err = autorest.Respond( resp, client.ByInspecting(), azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result.Value), + autorest.ByUnmarshallingJSON(&result), autorest.ByClosing()) result.Response = autorest.Response{Response: resp} return } -// GetIntent gets information about the intent model. +// GetRegexEntityRole sends the get regex entity role request. // Parameters: // appID - the application ID. // versionID - the version ID. -// intentID - the intent classifier ID. -func (client ModelClient) GetIntent(ctx context.Context, appID uuid.UUID, versionID string, intentID uuid.UUID) (result IntentClassifier, err error) { - req, err := client.GetIntentPreparer(ctx, appID, versionID, intentID) +// entityID - entity ID. +// roleID - entity role ID. +func (client ModelClient) GetRegexEntityRole(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, roleID uuid.UUID) (result EntityRole, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.GetRegexEntityRole") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetRegexEntityRolePreparer(ctx, appID, versionID, entityID, roleID) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "GetIntent", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "GetRegexEntityRole", nil, "Failure preparing request") return } - resp, err := client.GetIntentSender(req) + resp, err := client.GetRegexEntityRoleSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "GetIntent", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "GetRegexEntityRole", resp, "Failure sending request") return } - result, err = client.GetIntentResponder(resp) + result, err = client.GetRegexEntityRoleResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "GetIntent", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "GetRegexEntityRole", resp, "Failure responding to request") } return } -// GetIntentPreparer prepares the GetIntent request. -func (client ModelClient) GetIntentPreparer(ctx context.Context, appID uuid.UUID, versionID string, intentID uuid.UUID) (*http.Request, error) { +// GetRegexEntityRolePreparer prepares the GetRegexEntityRole request. +func (client ModelClient) GetRegexEntityRolePreparer(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, roleID uuid.UUID) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ "appId": autorest.Encode("path", appID), - "intentId": autorest.Encode("path", intentID), + "entityId": autorest.Encode("path", entityID), + "roleId": autorest.Encode("path", roleID), "versionId": autorest.Encode("path", versionID), } preparer := autorest.CreatePreparer( autorest.AsGet(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), - autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/intents/{intentId}", pathParameters)) + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), + autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/regexentities/{entityId}/roles/{roleId}", pathParameters)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) } -// GetIntentSender sends the GetIntent request. The method will close the +// GetRegexEntityRoleSender sends the GetRegexEntityRole request. The method will close the // http.Response Body if it receives an error. -func (client ModelClient) GetIntentSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +func (client ModelClient) GetRegexEntityRoleSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } -// GetIntentResponder handles the response to the GetIntent request. The method always +// GetRegexEntityRoleResponder handles the response to the GetRegexEntityRole request. The method always // closes the http.Response Body. -func (client ModelClient) GetIntentResponder(resp *http.Response) (result IntentClassifier, err error) { +func (client ModelClient) GetRegexEntityRoleResponder(resp *http.Response) (result EntityRole, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -4318,80 +4888,72 @@ func (client ModelClient) GetIntentResponder(resp *http.Response) (result Intent return } -// GetIntentSuggestions suggests examples that would improve the accuracy of the intent model. +// ListClosedListEntityRoles sends the list closed list entity roles request. // Parameters: // appID - the application ID. // versionID - the version ID. -// intentID - the intent classifier ID. -// take - the number of entries to return. Maximum page size is 500. Default is 100. -func (client ModelClient) GetIntentSuggestions(ctx context.Context, appID uuid.UUID, versionID string, intentID uuid.UUID, take *int32) (result ListIntentsSuggestionExample, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: take, - Constraints: []validation.Constraint{{Target: "take", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "take", Name: validation.InclusiveMaximum, Rule: 500, Chain: nil}, - {Target: "take", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}, - }}}}}); err != nil { - return result, validation.NewError("programmatic.ModelClient", "GetIntentSuggestions", err.Error()) +// entityID - entity Id +func (client ModelClient) ListClosedListEntityRoles(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID) (result ListEntityRole, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.ListClosedListEntityRoles") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() } - - req, err := client.GetIntentSuggestionsPreparer(ctx, appID, versionID, intentID, take) + req, err := client.ListClosedListEntityRolesPreparer(ctx, appID, versionID, entityID) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "GetIntentSuggestions", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "ListClosedListEntityRoles", nil, "Failure preparing request") return } - resp, err := client.GetIntentSuggestionsSender(req) + resp, err := client.ListClosedListEntityRolesSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "GetIntentSuggestions", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "ListClosedListEntityRoles", resp, "Failure sending request") return } - result, err = client.GetIntentSuggestionsResponder(resp) + result, err = client.ListClosedListEntityRolesResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "GetIntentSuggestions", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "ListClosedListEntityRoles", resp, "Failure responding to request") } return } -// GetIntentSuggestionsPreparer prepares the GetIntentSuggestions request. -func (client ModelClient) GetIntentSuggestionsPreparer(ctx context.Context, appID uuid.UUID, versionID string, intentID uuid.UUID, take *int32) (*http.Request, error) { +// ListClosedListEntityRolesPreparer prepares the ListClosedListEntityRoles request. +func (client ModelClient) ListClosedListEntityRolesPreparer(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ "appId": autorest.Encode("path", appID), - "intentId": autorest.Encode("path", intentID), + "entityId": autorest.Encode("path", entityID), "versionId": autorest.Encode("path", versionID), } - queryParameters := map[string]interface{}{} - if take != nil { - queryParameters["take"] = autorest.Encode("query", *take) - } else { - queryParameters["take"] = autorest.Encode("query", 100) - } - preparer := autorest.CreatePreparer( autorest.AsGet(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), - autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/intents/{intentId}/suggest", pathParameters), - autorest.WithQueryParameters(queryParameters)) + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), + autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/closedlists/{entityId}/roles", pathParameters)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) } -// GetIntentSuggestionsSender sends the GetIntentSuggestions request. The method will close the +// ListClosedListEntityRolesSender sends the ListClosedListEntityRoles request. The method will close the // http.Response Body if it receives an error. -func (client ModelClient) GetIntentSuggestionsSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +func (client ModelClient) ListClosedListEntityRolesSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } -// GetIntentSuggestionsResponder handles the response to the GetIntentSuggestions request. The method always +// ListClosedListEntityRolesResponder handles the response to the ListClosedListEntityRoles request. The method always // closes the http.Response Body. -func (client ModelClient) GetIntentSuggestionsResponder(resp *http.Response) (result ListIntentsSuggestionExample, err error) { +func (client ModelClient) ListClosedListEntityRolesResponder(resp *http.Response) (result ListEntityRole, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -4402,116 +4964,161 @@ func (client ModelClient) GetIntentSuggestionsResponder(resp *http.Response) (re return } -// GetPatternAnyEntityInfo sends the get pattern any entity info request. +// ListClosedLists gets information about all the list entity models in a version of the application. // Parameters: // appID - the application ID. // versionID - the version ID. -// entityID - the entity extractor ID. -func (client ModelClient) GetPatternAnyEntityInfo(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID) (result PatternAnyEntityExtractor, err error) { - req, err := client.GetPatternAnyEntityInfoPreparer(ctx, appID, versionID, entityID) +// skip - the number of entries to skip. Default value is 0. +// take - the number of entries to return. Maximum page size is 500. Default is 100. +func (client ModelClient) ListClosedLists(ctx context.Context, appID uuid.UUID, versionID string, skip *int32, take *int32) (result ListClosedListEntityExtractor, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.ListClosedLists") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: skip, + Constraints: []validation.Constraint{{Target: "skip", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "skip", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}}}}}, + {TargetValue: take, + Constraints: []validation.Constraint{{Target: "take", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "take", Name: validation.InclusiveMaximum, Rule: int64(500), Chain: nil}, + {Target: "take", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}, + }}}}}); err != nil { + return result, validation.NewError("authoring.ModelClient", "ListClosedLists", err.Error()) + } + + req, err := client.ListClosedListsPreparer(ctx, appID, versionID, skip, take) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "GetPatternAnyEntityInfo", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "ListClosedLists", nil, "Failure preparing request") return } - resp, err := client.GetPatternAnyEntityInfoSender(req) + resp, err := client.ListClosedListsSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "GetPatternAnyEntityInfo", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "ListClosedLists", resp, "Failure sending request") return } - result, err = client.GetPatternAnyEntityInfoResponder(resp) + result, err = client.ListClosedListsResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "GetPatternAnyEntityInfo", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "ListClosedLists", resp, "Failure responding to request") } return } -// GetPatternAnyEntityInfoPreparer prepares the GetPatternAnyEntityInfo request. -func (client ModelClient) GetPatternAnyEntityInfoPreparer(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID) (*http.Request, error) { +// ListClosedListsPreparer prepares the ListClosedLists request. +func (client ModelClient) ListClosedListsPreparer(ctx context.Context, appID uuid.UUID, versionID string, skip *int32, take *int32) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ "appId": autorest.Encode("path", appID), - "entityId": autorest.Encode("path", entityID), "versionId": autorest.Encode("path", versionID), } + queryParameters := map[string]interface{}{} + if skip != nil { + queryParameters["skip"] = autorest.Encode("query", *skip) + } else { + queryParameters["skip"] = autorest.Encode("query", 0) + } + if take != nil { + queryParameters["take"] = autorest.Encode("query", *take) + } else { + queryParameters["take"] = autorest.Encode("query", 100) + } + preparer := autorest.CreatePreparer( autorest.AsGet(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), - autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/patternanyentities/{entityId}", pathParameters)) + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), + autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/closedlists", pathParameters), + autorest.WithQueryParameters(queryParameters)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) } -// GetPatternAnyEntityInfoSender sends the GetPatternAnyEntityInfo request. The method will close the +// ListClosedListsSender sends the ListClosedLists request. The method will close the // http.Response Body if it receives an error. -func (client ModelClient) GetPatternAnyEntityInfoSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +func (client ModelClient) ListClosedListsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } -// GetPatternAnyEntityInfoResponder handles the response to the GetPatternAnyEntityInfo request. The method always +// ListClosedListsResponder handles the response to the ListClosedLists request. The method always // closes the http.Response Body. -func (client ModelClient) GetPatternAnyEntityInfoResponder(resp *http.Response) (result PatternAnyEntityExtractor, err error) { +func (client ModelClient) ListClosedListsResponder(resp *http.Response) (result ListClosedListEntityExtractor, err error) { err = autorest.Respond( resp, client.ByInspecting(), azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), + autorest.ByUnmarshallingJSON(&result.Value), autorest.ByClosing()) result.Response = autorest.Response{Response: resp} return } -// GetPatternAnyEntityInfos sends the get pattern any entity infos request. +// ListCompositeEntities gets information about all the composite entity models in a version of the application. // Parameters: // appID - the application ID. // versionID - the version ID. // skip - the number of entries to skip. Default value is 0. // take - the number of entries to return. Maximum page size is 500. Default is 100. -func (client ModelClient) GetPatternAnyEntityInfos(ctx context.Context, appID uuid.UUID, versionID string, skip *int32, take *int32) (result ListPatternAnyEntityExtractor, err error) { +func (client ModelClient) ListCompositeEntities(ctx context.Context, appID uuid.UUID, versionID string, skip *int32, take *int32) (result ListCompositeEntityExtractor, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.ListCompositeEntities") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } if err := validation.Validate([]validation.Validation{ {TargetValue: skip, Constraints: []validation.Constraint{{Target: "skip", Name: validation.Null, Rule: false, Chain: []validation.Constraint{{Target: "skip", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}}}}}, {TargetValue: take, Constraints: []validation.Constraint{{Target: "take", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "take", Name: validation.InclusiveMaximum, Rule: 500, Chain: nil}, + Chain: []validation.Constraint{{Target: "take", Name: validation.InclusiveMaximum, Rule: int64(500), Chain: nil}, {Target: "take", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}, }}}}}); err != nil { - return result, validation.NewError("programmatic.ModelClient", "GetPatternAnyEntityInfos", err.Error()) + return result, validation.NewError("authoring.ModelClient", "ListCompositeEntities", err.Error()) } - req, err := client.GetPatternAnyEntityInfosPreparer(ctx, appID, versionID, skip, take) + req, err := client.ListCompositeEntitiesPreparer(ctx, appID, versionID, skip, take) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "GetPatternAnyEntityInfos", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "ListCompositeEntities", nil, "Failure preparing request") return } - resp, err := client.GetPatternAnyEntityInfosSender(req) + resp, err := client.ListCompositeEntitiesSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "GetPatternAnyEntityInfos", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "ListCompositeEntities", resp, "Failure sending request") return } - result, err = client.GetPatternAnyEntityInfosResponder(resp) + result, err = client.ListCompositeEntitiesResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "GetPatternAnyEntityInfos", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "ListCompositeEntities", resp, "Failure responding to request") } return } -// GetPatternAnyEntityInfosPreparer prepares the GetPatternAnyEntityInfos request. -func (client ModelClient) GetPatternAnyEntityInfosPreparer(ctx context.Context, appID uuid.UUID, versionID string, skip *int32, take *int32) (*http.Request, error) { +// ListCompositeEntitiesPreparer prepares the ListCompositeEntities request. +func (client ModelClient) ListCompositeEntitiesPreparer(ctx context.Context, appID uuid.UUID, versionID string, skip *int32, take *int32) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -4533,22 +5140,22 @@ func (client ModelClient) GetPatternAnyEntityInfosPreparer(ctx context.Context, preparer := autorest.CreatePreparer( autorest.AsGet(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), - autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/patternanyentities", pathParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), + autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/compositeentities", pathParameters), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) } -// GetPatternAnyEntityInfosSender sends the GetPatternAnyEntityInfos request. The method will close the +// ListCompositeEntitiesSender sends the ListCompositeEntities request. The method will close the // http.Response Body if it receives an error. -func (client ModelClient) GetPatternAnyEntityInfosSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +func (client ModelClient) ListCompositeEntitiesSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } -// GetPatternAnyEntityInfosResponder handles the response to the GetPatternAnyEntityInfos request. The method always +// ListCompositeEntitiesResponder handles the response to the ListCompositeEntities request. The method always // closes the http.Response Body. -func (client ModelClient) GetPatternAnyEntityInfosResponder(resp *http.Response) (result ListPatternAnyEntityExtractor, err error) { +func (client ModelClient) ListCompositeEntitiesResponder(resp *http.Response) (result ListCompositeEntityExtractor, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -4559,105 +5166,197 @@ func (client ModelClient) GetPatternAnyEntityInfosResponder(resp *http.Response) return } -// GetPatternAnyEntityRole sends the get pattern any entity role request. +// ListCompositeEntityRoles sends the list composite entity roles request. // Parameters: // appID - the application ID. // versionID - the version ID. -// entityID - entity ID. -// roleID - entity role ID. -func (client ModelClient) GetPatternAnyEntityRole(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, roleID uuid.UUID) (result EntityRole, err error) { - req, err := client.GetPatternAnyEntityRolePreparer(ctx, appID, versionID, entityID, roleID) +// cEntityID - the composite entity extractor ID. +func (client ModelClient) ListCompositeEntityRoles(ctx context.Context, appID uuid.UUID, versionID string, cEntityID uuid.UUID) (result ListEntityRole, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.ListCompositeEntityRoles") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListCompositeEntityRolesPreparer(ctx, appID, versionID, cEntityID) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "GetPatternAnyEntityRole", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "ListCompositeEntityRoles", nil, "Failure preparing request") return } - resp, err := client.GetPatternAnyEntityRoleSender(req) + resp, err := client.ListCompositeEntityRolesSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "GetPatternAnyEntityRole", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "ListCompositeEntityRoles", resp, "Failure sending request") return } - result, err = client.GetPatternAnyEntityRoleResponder(resp) + result, err = client.ListCompositeEntityRolesResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "GetPatternAnyEntityRole", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "ListCompositeEntityRoles", resp, "Failure responding to request") } return } -// GetPatternAnyEntityRolePreparer prepares the GetPatternAnyEntityRole request. -func (client ModelClient) GetPatternAnyEntityRolePreparer(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, roleID uuid.UUID) (*http.Request, error) { +// ListCompositeEntityRolesPreparer prepares the ListCompositeEntityRoles request. +func (client ModelClient) ListCompositeEntityRolesPreparer(ctx context.Context, appID uuid.UUID, versionID string, cEntityID uuid.UUID) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ "appId": autorest.Encode("path", appID), - "entityId": autorest.Encode("path", entityID), - "roleId": autorest.Encode("path", roleID), + "cEntityId": autorest.Encode("path", cEntityID), "versionId": autorest.Encode("path", versionID), } preparer := autorest.CreatePreparer( autorest.AsGet(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), - autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/patternanyentities/{entityId}/roles/{roleId}", pathParameters)) + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), + autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/compositeentities/{cEntityId}/roles", pathParameters)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) } -// GetPatternAnyEntityRoleSender sends the GetPatternAnyEntityRole request. The method will close the +// ListCompositeEntityRolesSender sends the ListCompositeEntityRoles request. The method will close the // http.Response Body if it receives an error. -func (client ModelClient) GetPatternAnyEntityRoleSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +func (client ModelClient) ListCompositeEntityRolesSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } -// GetPatternAnyEntityRoleResponder handles the response to the GetPatternAnyEntityRole request. The method always +// ListCompositeEntityRolesResponder handles the response to the ListCompositeEntityRoles request. The method always // closes the http.Response Body. -func (client ModelClient) GetPatternAnyEntityRoleResponder(resp *http.Response) (result EntityRole, err error) { +func (client ModelClient) ListCompositeEntityRolesResponder(resp *http.Response) (result ListEntityRole, err error) { err = autorest.Respond( resp, client.ByInspecting(), azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), + autorest.ByUnmarshallingJSON(&result.Value), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListCustomPrebuiltEntities gets all prebuilt entities used in a version of the application. +// Parameters: +// appID - the application ID. +// versionID - the version ID. +func (client ModelClient) ListCustomPrebuiltEntities(ctx context.Context, appID uuid.UUID, versionID string) (result ListEntityExtractor, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.ListCustomPrebuiltEntities") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListCustomPrebuiltEntitiesPreparer(ctx, appID, versionID) + if err != nil { + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "ListCustomPrebuiltEntities", nil, "Failure preparing request") + return + } + + resp, err := client.ListCustomPrebuiltEntitiesSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "ListCustomPrebuiltEntities", resp, "Failure sending request") + return + } + + result, err = client.ListCustomPrebuiltEntitiesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "ListCustomPrebuiltEntities", resp, "Failure responding to request") + } + + return +} + +// ListCustomPrebuiltEntitiesPreparer prepares the ListCustomPrebuiltEntities request. +func (client ModelClient) ListCustomPrebuiltEntitiesPreparer(ctx context.Context, appID uuid.UUID, versionID string) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "Endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "appId": autorest.Encode("path", appID), + "versionId": autorest.Encode("path", versionID), + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), + autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/customprebuiltentities", pathParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListCustomPrebuiltEntitiesSender sends the ListCustomPrebuiltEntities request. The method will close the +// http.Response Body if it receives an error. +func (client ModelClient) ListCustomPrebuiltEntitiesSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListCustomPrebuiltEntitiesResponder handles the response to the ListCustomPrebuiltEntities request. The method always +// closes the http.Response Body. +func (client ModelClient) ListCustomPrebuiltEntitiesResponder(resp *http.Response) (result ListEntityExtractor, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result.Value), autorest.ByClosing()) result.Response = autorest.Response{Response: resp} return } -// GetPatternAnyEntityRoles sends the get pattern any entity roles request. +// ListCustomPrebuiltEntityRoles sends the list custom prebuilt entity roles request. // Parameters: // appID - the application ID. // versionID - the version ID. // entityID - entity Id -func (client ModelClient) GetPatternAnyEntityRoles(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID) (result ListEntityRole, err error) { - req, err := client.GetPatternAnyEntityRolesPreparer(ctx, appID, versionID, entityID) +func (client ModelClient) ListCustomPrebuiltEntityRoles(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID) (result ListEntityRole, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.ListCustomPrebuiltEntityRoles") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListCustomPrebuiltEntityRolesPreparer(ctx, appID, versionID, entityID) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "GetPatternAnyEntityRoles", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "ListCustomPrebuiltEntityRoles", nil, "Failure preparing request") return } - resp, err := client.GetPatternAnyEntityRolesSender(req) + resp, err := client.ListCustomPrebuiltEntityRolesSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "GetPatternAnyEntityRoles", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "ListCustomPrebuiltEntityRoles", resp, "Failure sending request") return } - result, err = client.GetPatternAnyEntityRolesResponder(resp) + result, err = client.ListCustomPrebuiltEntityRolesResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "GetPatternAnyEntityRoles", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "ListCustomPrebuiltEntityRoles", resp, "Failure responding to request") } return } -// GetPatternAnyEntityRolesPreparer prepares the GetPatternAnyEntityRoles request. -func (client ModelClient) GetPatternAnyEntityRolesPreparer(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID) (*http.Request, error) { +// ListCustomPrebuiltEntityRolesPreparer prepares the ListCustomPrebuiltEntityRoles request. +func (client ModelClient) ListCustomPrebuiltEntityRolesPreparer(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -4668,21 +5367,21 @@ func (client ModelClient) GetPatternAnyEntityRolesPreparer(ctx context.Context, preparer := autorest.CreatePreparer( autorest.AsGet(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), - autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/patternanyentities/{entityId}/roles", pathParameters)) + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), + autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/customprebuiltentities/{entityId}/roles", pathParameters)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) } -// GetPatternAnyEntityRolesSender sends the GetPatternAnyEntityRoles request. The method will close the +// ListCustomPrebuiltEntityRolesSender sends the ListCustomPrebuiltEntityRoles request. The method will close the // http.Response Body if it receives an error. -func (client ModelClient) GetPatternAnyEntityRolesSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +func (client ModelClient) ListCustomPrebuiltEntityRolesSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } -// GetPatternAnyEntityRolesResponder handles the response to the GetPatternAnyEntityRoles request. The method always +// ListCustomPrebuiltEntityRolesResponder handles the response to the ListCustomPrebuiltEntityRoles request. The method always // closes the http.Response Body. -func (client ModelClient) GetPatternAnyEntityRolesResponder(resp *http.Response) (result ListEntityRole, err error) { +func (client ModelClient) ListCustomPrebuiltEntityRolesResponder(resp *http.Response) (result ListEntityRole, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -4693,196 +5392,247 @@ func (client ModelClient) GetPatternAnyEntityRolesResponder(resp *http.Response) return } -// GetPrebuilt gets information about the prebuilt entity model. +// ListCustomPrebuiltIntents gets information about customizable prebuilt intents added to a version of the +// application. // Parameters: // appID - the application ID. // versionID - the version ID. -// prebuiltID - the prebuilt entity extractor ID. -func (client ModelClient) GetPrebuilt(ctx context.Context, appID uuid.UUID, versionID string, prebuiltID uuid.UUID) (result PrebuiltEntityExtractor, err error) { - req, err := client.GetPrebuiltPreparer(ctx, appID, versionID, prebuiltID) +func (client ModelClient) ListCustomPrebuiltIntents(ctx context.Context, appID uuid.UUID, versionID string) (result ListIntentClassifier, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.ListCustomPrebuiltIntents") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListCustomPrebuiltIntentsPreparer(ctx, appID, versionID) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "GetPrebuilt", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "ListCustomPrebuiltIntents", nil, "Failure preparing request") return } - resp, err := client.GetPrebuiltSender(req) + resp, err := client.ListCustomPrebuiltIntentsSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "GetPrebuilt", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "ListCustomPrebuiltIntents", resp, "Failure sending request") return } - result, err = client.GetPrebuiltResponder(resp) + result, err = client.ListCustomPrebuiltIntentsResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "GetPrebuilt", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "ListCustomPrebuiltIntents", resp, "Failure responding to request") } return } -// GetPrebuiltPreparer prepares the GetPrebuilt request. -func (client ModelClient) GetPrebuiltPreparer(ctx context.Context, appID uuid.UUID, versionID string, prebuiltID uuid.UUID) (*http.Request, error) { +// ListCustomPrebuiltIntentsPreparer prepares the ListCustomPrebuiltIntents request. +func (client ModelClient) ListCustomPrebuiltIntentsPreparer(ctx context.Context, appID uuid.UUID, versionID string) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ - "appId": autorest.Encode("path", appID), - "prebuiltId": autorest.Encode("path", prebuiltID), - "versionId": autorest.Encode("path", versionID), + "appId": autorest.Encode("path", appID), + "versionId": autorest.Encode("path", versionID), } preparer := autorest.CreatePreparer( autorest.AsGet(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), - autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/prebuilts/{prebuiltId}", pathParameters)) + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), + autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/customprebuiltintents", pathParameters)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) } -// GetPrebuiltSender sends the GetPrebuilt request. The method will close the +// ListCustomPrebuiltIntentsSender sends the ListCustomPrebuiltIntents request. The method will close the // http.Response Body if it receives an error. -func (client ModelClient) GetPrebuiltSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +func (client ModelClient) ListCustomPrebuiltIntentsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } -// GetPrebuiltResponder handles the response to the GetPrebuilt request. The method always +// ListCustomPrebuiltIntentsResponder handles the response to the ListCustomPrebuiltIntents request. The method always // closes the http.Response Body. -func (client ModelClient) GetPrebuiltResponder(resp *http.Response) (result PrebuiltEntityExtractor, err error) { +func (client ModelClient) ListCustomPrebuiltIntentsResponder(resp *http.Response) (result ListIntentClassifier, err error) { err = autorest.Respond( resp, client.ByInspecting(), azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), + autorest.ByUnmarshallingJSON(&result.Value), autorest.ByClosing()) result.Response = autorest.Response{Response: resp} return } -// GetPrebuiltEntityRole sends the get prebuilt entity role request. +// ListCustomPrebuiltModels gets all prebuilt intent and entity model information used in a version of this +// application. // Parameters: // appID - the application ID. // versionID - the version ID. -// entityID - entity ID. -// roleID - entity role ID. -func (client ModelClient) GetPrebuiltEntityRole(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, roleID uuid.UUID) (result EntityRole, err error) { - req, err := client.GetPrebuiltEntityRolePreparer(ctx, appID, versionID, entityID, roleID) +func (client ModelClient) ListCustomPrebuiltModels(ctx context.Context, appID uuid.UUID, versionID string) (result ListCustomPrebuiltModel, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.ListCustomPrebuiltModels") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListCustomPrebuiltModelsPreparer(ctx, appID, versionID) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "GetPrebuiltEntityRole", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "ListCustomPrebuiltModels", nil, "Failure preparing request") return } - resp, err := client.GetPrebuiltEntityRoleSender(req) + resp, err := client.ListCustomPrebuiltModelsSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "GetPrebuiltEntityRole", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "ListCustomPrebuiltModels", resp, "Failure sending request") return } - result, err = client.GetPrebuiltEntityRoleResponder(resp) + result, err = client.ListCustomPrebuiltModelsResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "GetPrebuiltEntityRole", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "ListCustomPrebuiltModels", resp, "Failure responding to request") } return } -// GetPrebuiltEntityRolePreparer prepares the GetPrebuiltEntityRole request. -func (client ModelClient) GetPrebuiltEntityRolePreparer(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, roleID uuid.UUID) (*http.Request, error) { +// ListCustomPrebuiltModelsPreparer prepares the ListCustomPrebuiltModels request. +func (client ModelClient) ListCustomPrebuiltModelsPreparer(ctx context.Context, appID uuid.UUID, versionID string) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ "appId": autorest.Encode("path", appID), - "entityId": autorest.Encode("path", entityID), - "roleId": autorest.Encode("path", roleID), "versionId": autorest.Encode("path", versionID), } preparer := autorest.CreatePreparer( autorest.AsGet(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), - autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/prebuilts/{entityId}/roles/{roleId}", pathParameters)) + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), + autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/customprebuiltmodels", pathParameters)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) } -// GetPrebuiltEntityRoleSender sends the GetPrebuiltEntityRole request. The method will close the +// ListCustomPrebuiltModelsSender sends the ListCustomPrebuiltModels request. The method will close the // http.Response Body if it receives an error. -func (client ModelClient) GetPrebuiltEntityRoleSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +func (client ModelClient) ListCustomPrebuiltModelsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } -// GetPrebuiltEntityRoleResponder handles the response to the GetPrebuiltEntityRole request. The method always +// ListCustomPrebuiltModelsResponder handles the response to the ListCustomPrebuiltModels request. The method always // closes the http.Response Body. -func (client ModelClient) GetPrebuiltEntityRoleResponder(resp *http.Response) (result EntityRole, err error) { +func (client ModelClient) ListCustomPrebuiltModelsResponder(resp *http.Response) (result ListCustomPrebuiltModel, err error) { err = autorest.Respond( resp, client.ByInspecting(), azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), + autorest.ByUnmarshallingJSON(&result.Value), autorest.ByClosing()) result.Response = autorest.Response{Response: resp} return } -// GetPrebuiltEntityRoles sends the get prebuilt entity roles request. +// ListEntities gets information about all the simple entity models in a version of the application. // Parameters: // appID - the application ID. // versionID - the version ID. -// entityID - entity Id -func (client ModelClient) GetPrebuiltEntityRoles(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID) (result ListEntityRole, err error) { - req, err := client.GetPrebuiltEntityRolesPreparer(ctx, appID, versionID, entityID) +// skip - the number of entries to skip. Default value is 0. +// take - the number of entries to return. Maximum page size is 500. Default is 100. +func (client ModelClient) ListEntities(ctx context.Context, appID uuid.UUID, versionID string, skip *int32, take *int32) (result ListNDepthEntityExtractor, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.ListEntities") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: skip, + Constraints: []validation.Constraint{{Target: "skip", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "skip", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}}}}}, + {TargetValue: take, + Constraints: []validation.Constraint{{Target: "take", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "take", Name: validation.InclusiveMaximum, Rule: int64(500), Chain: nil}, + {Target: "take", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}, + }}}}}); err != nil { + return result, validation.NewError("authoring.ModelClient", "ListEntities", err.Error()) + } + + req, err := client.ListEntitiesPreparer(ctx, appID, versionID, skip, take) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "GetPrebuiltEntityRoles", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "ListEntities", nil, "Failure preparing request") return } - resp, err := client.GetPrebuiltEntityRolesSender(req) + resp, err := client.ListEntitiesSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "GetPrebuiltEntityRoles", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "ListEntities", resp, "Failure sending request") return } - result, err = client.GetPrebuiltEntityRolesResponder(resp) + result, err = client.ListEntitiesResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "GetPrebuiltEntityRoles", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "ListEntities", resp, "Failure responding to request") } return } -// GetPrebuiltEntityRolesPreparer prepares the GetPrebuiltEntityRoles request. -func (client ModelClient) GetPrebuiltEntityRolesPreparer(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID) (*http.Request, error) { +// ListEntitiesPreparer prepares the ListEntities request. +func (client ModelClient) ListEntitiesPreparer(ctx context.Context, appID uuid.UUID, versionID string, skip *int32, take *int32) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ "appId": autorest.Encode("path", appID), - "entityId": autorest.Encode("path", entityID), "versionId": autorest.Encode("path", versionID), } + queryParameters := map[string]interface{}{} + if skip != nil { + queryParameters["skip"] = autorest.Encode("query", *skip) + } else { + queryParameters["skip"] = autorest.Encode("query", 0) + } + if take != nil { + queryParameters["take"] = autorest.Encode("query", *take) + } else { + queryParameters["take"] = autorest.Encode("query", 100) + } + preparer := autorest.CreatePreparer( autorest.AsGet(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), - autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/prebuilts/{entityId}/roles", pathParameters)) + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), + autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/entities", pathParameters), + autorest.WithQueryParameters(queryParameters)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) } -// GetPrebuiltEntityRolesSender sends the GetPrebuiltEntityRoles request. The method will close the +// ListEntitiesSender sends the ListEntities request. The method will close the // http.Response Body if it receives an error. -func (client ModelClient) GetPrebuiltEntityRolesSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +func (client ModelClient) ListEntitiesSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } -// GetPrebuiltEntityRolesResponder handles the response to the GetPrebuiltEntityRoles request. The method always +// ListEntitiesResponder handles the response to the ListEntities request. The method always // closes the http.Response Body. -func (client ModelClient) GetPrebuiltEntityRolesResponder(resp *http.Response) (result ListEntityRole, err error) { +func (client ModelClient) ListEntitiesResponder(resp *http.Response) (result ListNDepthEntityExtractor, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -4893,129 +5643,143 @@ func (client ModelClient) GetPrebuiltEntityRolesResponder(resp *http.Response) ( return } -// GetRegexEntityEntityInfo sends the get regex entity entity info request. +// ListEntityRoles sends the list entity roles request. // Parameters: // appID - the application ID. // versionID - the version ID. -// regexEntityID - the regex entity model ID. -func (client ModelClient) GetRegexEntityEntityInfo(ctx context.Context, appID uuid.UUID, versionID string, regexEntityID uuid.UUID) (result RegexEntityExtractor, err error) { - req, err := client.GetRegexEntityEntityInfoPreparer(ctx, appID, versionID, regexEntityID) +// entityID - entity Id +func (client ModelClient) ListEntityRoles(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID) (result ListEntityRole, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.ListEntityRoles") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListEntityRolesPreparer(ctx, appID, versionID, entityID) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "GetRegexEntityEntityInfo", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "ListEntityRoles", nil, "Failure preparing request") return } - resp, err := client.GetRegexEntityEntityInfoSender(req) + resp, err := client.ListEntityRolesSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "GetRegexEntityEntityInfo", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "ListEntityRoles", resp, "Failure sending request") return } - result, err = client.GetRegexEntityEntityInfoResponder(resp) + result, err = client.ListEntityRolesResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "GetRegexEntityEntityInfo", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "ListEntityRoles", resp, "Failure responding to request") } return } -// GetRegexEntityEntityInfoPreparer prepares the GetRegexEntityEntityInfo request. -func (client ModelClient) GetRegexEntityEntityInfoPreparer(ctx context.Context, appID uuid.UUID, versionID string, regexEntityID uuid.UUID) (*http.Request, error) { +// ListEntityRolesPreparer prepares the ListEntityRoles request. +func (client ModelClient) ListEntityRolesPreparer(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ - "appId": autorest.Encode("path", appID), - "regexEntityId": autorest.Encode("path", regexEntityID), - "versionId": autorest.Encode("path", versionID), + "appId": autorest.Encode("path", appID), + "entityId": autorest.Encode("path", entityID), + "versionId": autorest.Encode("path", versionID), } preparer := autorest.CreatePreparer( autorest.AsGet(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), - autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/regexentities/{regexEntityId}", pathParameters)) + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), + autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/entities/{entityId}/roles", pathParameters)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) } -// GetRegexEntityEntityInfoSender sends the GetRegexEntityEntityInfo request. The method will close the +// ListEntityRolesSender sends the ListEntityRoles request. The method will close the // http.Response Body if it receives an error. -func (client ModelClient) GetRegexEntityEntityInfoSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +func (client ModelClient) ListEntityRolesSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } -// GetRegexEntityEntityInfoResponder handles the response to the GetRegexEntityEntityInfo request. The method always +// ListEntityRolesResponder handles the response to the ListEntityRoles request. The method always // closes the http.Response Body. -func (client ModelClient) GetRegexEntityEntityInfoResponder(resp *http.Response) (result RegexEntityExtractor, err error) { +func (client ModelClient) ListEntityRolesResponder(resp *http.Response) (result ListEntityRole, err error) { err = autorest.Respond( resp, client.ByInspecting(), azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), + autorest.ByUnmarshallingJSON(&result.Value), autorest.ByClosing()) result.Response = autorest.Response{Response: resp} return } -// GetRegexEntityInfos sends the get regex entity infos request. +// ListEntitySuggestions get suggested example utterances that would improve the accuracy of the entity model in a +// version of the application. // Parameters: // appID - the application ID. // versionID - the version ID. -// skip - the number of entries to skip. Default value is 0. +// entityID - the target entity extractor model to enhance. // take - the number of entries to return. Maximum page size is 500. Default is 100. -func (client ModelClient) GetRegexEntityInfos(ctx context.Context, appID uuid.UUID, versionID string, skip *int32, take *int32) (result ListRegexEntityExtractor, err error) { +func (client ModelClient) ListEntitySuggestions(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, take *int32) (result ListEntitiesSuggestionExample, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.ListEntitySuggestions") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } if err := validation.Validate([]validation.Validation{ - {TargetValue: skip, - Constraints: []validation.Constraint{{Target: "skip", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "skip", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}}}}}, {TargetValue: take, Constraints: []validation.Constraint{{Target: "take", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "take", Name: validation.InclusiveMaximum, Rule: 500, Chain: nil}, + Chain: []validation.Constraint{{Target: "take", Name: validation.InclusiveMaximum, Rule: int64(500), Chain: nil}, {Target: "take", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}, }}}}}); err != nil { - return result, validation.NewError("programmatic.ModelClient", "GetRegexEntityInfos", err.Error()) + return result, validation.NewError("authoring.ModelClient", "ListEntitySuggestions", err.Error()) } - req, err := client.GetRegexEntityInfosPreparer(ctx, appID, versionID, skip, take) + req, err := client.ListEntitySuggestionsPreparer(ctx, appID, versionID, entityID, take) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "GetRegexEntityInfos", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "ListEntitySuggestions", nil, "Failure preparing request") return } - resp, err := client.GetRegexEntityInfosSender(req) + resp, err := client.ListEntitySuggestionsSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "GetRegexEntityInfos", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "ListEntitySuggestions", resp, "Failure sending request") return } - result, err = client.GetRegexEntityInfosResponder(resp) + result, err = client.ListEntitySuggestionsResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "GetRegexEntityInfos", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "ListEntitySuggestions", resp, "Failure responding to request") } return } -// GetRegexEntityInfosPreparer prepares the GetRegexEntityInfos request. -func (client ModelClient) GetRegexEntityInfosPreparer(ctx context.Context, appID uuid.UUID, versionID string, skip *int32, take *int32) (*http.Request, error) { +// ListEntitySuggestionsPreparer prepares the ListEntitySuggestions request. +func (client ModelClient) ListEntitySuggestionsPreparer(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, take *int32) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ "appId": autorest.Encode("path", appID), + "entityId": autorest.Encode("path", entityID), "versionId": autorest.Encode("path", versionID), } queryParameters := map[string]interface{}{} - if skip != nil { - queryParameters["skip"] = autorest.Encode("query", *skip) - } else { - queryParameters["skip"] = autorest.Encode("query", 0) - } if take != nil { queryParameters["take"] = autorest.Encode("query", *take) } else { @@ -5024,22 +5788,22 @@ func (client ModelClient) GetRegexEntityInfosPreparer(ctx context.Context, appID preparer := autorest.CreatePreparer( autorest.AsGet(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), - autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/regexentities", pathParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), + autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/entities/{entityId}/suggest", pathParameters), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) } -// GetRegexEntityInfosSender sends the GetRegexEntityInfos request. The method will close the +// ListEntitySuggestionsSender sends the ListEntitySuggestions request. The method will close the // http.Response Body if it receives an error. -func (client ModelClient) GetRegexEntityInfosSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +func (client ModelClient) ListEntitySuggestionsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } -// GetRegexEntityInfosResponder handles the response to the GetRegexEntityInfos request. The method always +// ListEntitySuggestionsResponder handles the response to the ListEntitySuggestions request. The method always // closes the http.Response Body. -func (client ModelClient) GetRegexEntityInfosResponder(resp *http.Response) (result ListRegexEntityExtractor, err error) { +func (client ModelClient) ListEntitySuggestionsResponder(resp *http.Response) (result ListEntitiesSuggestionExample, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -5050,130 +5814,173 @@ func (client ModelClient) GetRegexEntityInfosResponder(resp *http.Response) (res return } -// GetRegexEntityRole sends the get regex entity role request. +// ListHierarchicalEntities gets information about all the hierarchical entity models in a version of the application. // Parameters: // appID - the application ID. // versionID - the version ID. -// entityID - entity ID. -// roleID - entity role ID. -func (client ModelClient) GetRegexEntityRole(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, roleID uuid.UUID) (result EntityRole, err error) { - req, err := client.GetRegexEntityRolePreparer(ctx, appID, versionID, entityID, roleID) +// skip - the number of entries to skip. Default value is 0. +// take - the number of entries to return. Maximum page size is 500. Default is 100. +func (client ModelClient) ListHierarchicalEntities(ctx context.Context, appID uuid.UUID, versionID string, skip *int32, take *int32) (result ListHierarchicalEntityExtractor, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.ListHierarchicalEntities") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: skip, + Constraints: []validation.Constraint{{Target: "skip", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "skip", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}}}}}, + {TargetValue: take, + Constraints: []validation.Constraint{{Target: "take", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "take", Name: validation.InclusiveMaximum, Rule: int64(500), Chain: nil}, + {Target: "take", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}, + }}}}}); err != nil { + return result, validation.NewError("authoring.ModelClient", "ListHierarchicalEntities", err.Error()) + } + + req, err := client.ListHierarchicalEntitiesPreparer(ctx, appID, versionID, skip, take) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "GetRegexEntityRole", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "ListHierarchicalEntities", nil, "Failure preparing request") return } - resp, err := client.GetRegexEntityRoleSender(req) + resp, err := client.ListHierarchicalEntitiesSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "GetRegexEntityRole", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "ListHierarchicalEntities", resp, "Failure sending request") return } - result, err = client.GetRegexEntityRoleResponder(resp) + result, err = client.ListHierarchicalEntitiesResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "GetRegexEntityRole", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "ListHierarchicalEntities", resp, "Failure responding to request") } return } -// GetRegexEntityRolePreparer prepares the GetRegexEntityRole request. -func (client ModelClient) GetRegexEntityRolePreparer(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, roleID uuid.UUID) (*http.Request, error) { +// ListHierarchicalEntitiesPreparer prepares the ListHierarchicalEntities request. +func (client ModelClient) ListHierarchicalEntitiesPreparer(ctx context.Context, appID uuid.UUID, versionID string, skip *int32, take *int32) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ "appId": autorest.Encode("path", appID), - "entityId": autorest.Encode("path", entityID), - "roleId": autorest.Encode("path", roleID), "versionId": autorest.Encode("path", versionID), } + queryParameters := map[string]interface{}{} + if skip != nil { + queryParameters["skip"] = autorest.Encode("query", *skip) + } else { + queryParameters["skip"] = autorest.Encode("query", 0) + } + if take != nil { + queryParameters["take"] = autorest.Encode("query", *take) + } else { + queryParameters["take"] = autorest.Encode("query", 100) + } + preparer := autorest.CreatePreparer( autorest.AsGet(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), - autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/regexentities/{entityId}/roles/{roleId}", pathParameters)) + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), + autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/hierarchicalentities", pathParameters), + autorest.WithQueryParameters(queryParameters)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) } -// GetRegexEntityRoleSender sends the GetRegexEntityRole request. The method will close the +// ListHierarchicalEntitiesSender sends the ListHierarchicalEntities request. The method will close the // http.Response Body if it receives an error. -func (client ModelClient) GetRegexEntityRoleSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +func (client ModelClient) ListHierarchicalEntitiesSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } -// GetRegexEntityRoleResponder handles the response to the GetRegexEntityRole request. The method always +// ListHierarchicalEntitiesResponder handles the response to the ListHierarchicalEntities request. The method always // closes the http.Response Body. -func (client ModelClient) GetRegexEntityRoleResponder(resp *http.Response) (result EntityRole, err error) { +func (client ModelClient) ListHierarchicalEntitiesResponder(resp *http.Response) (result ListHierarchicalEntityExtractor, err error) { err = autorest.Respond( resp, client.ByInspecting(), azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), + autorest.ByUnmarshallingJSON(&result.Value), autorest.ByClosing()) result.Response = autorest.Response{Response: resp} return } -// GetRegexEntityRoles sends the get regex entity roles request. +// ListHierarchicalEntityRoles sends the list hierarchical entity roles request. // Parameters: // appID - the application ID. // versionID - the version ID. -// entityID - entity Id -func (client ModelClient) GetRegexEntityRoles(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID) (result ListEntityRole, err error) { - req, err := client.GetRegexEntityRolesPreparer(ctx, appID, versionID, entityID) +// hEntityID - the hierarchical entity extractor ID. +func (client ModelClient) ListHierarchicalEntityRoles(ctx context.Context, appID uuid.UUID, versionID string, hEntityID uuid.UUID) (result ListEntityRole, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.ListHierarchicalEntityRoles") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListHierarchicalEntityRolesPreparer(ctx, appID, versionID, hEntityID) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "GetRegexEntityRoles", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "ListHierarchicalEntityRoles", nil, "Failure preparing request") return } - resp, err := client.GetRegexEntityRolesSender(req) + resp, err := client.ListHierarchicalEntityRolesSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "GetRegexEntityRoles", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "ListHierarchicalEntityRoles", resp, "Failure sending request") return } - result, err = client.GetRegexEntityRolesResponder(resp) + result, err = client.ListHierarchicalEntityRolesResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "GetRegexEntityRoles", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "ListHierarchicalEntityRoles", resp, "Failure responding to request") } return } -// GetRegexEntityRolesPreparer prepares the GetRegexEntityRoles request. -func (client ModelClient) GetRegexEntityRolesPreparer(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID) (*http.Request, error) { +// ListHierarchicalEntityRolesPreparer prepares the ListHierarchicalEntityRoles request. +func (client ModelClient) ListHierarchicalEntityRolesPreparer(ctx context.Context, appID uuid.UUID, versionID string, hEntityID uuid.UUID) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ "appId": autorest.Encode("path", appID), - "entityId": autorest.Encode("path", entityID), + "hEntityId": autorest.Encode("path", hEntityID), "versionId": autorest.Encode("path", versionID), } preparer := autorest.CreatePreparer( autorest.AsGet(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), - autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/regexentities/{entityId}/roles", pathParameters)) + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), + autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/hierarchicalentities/{hEntityId}/roles", pathParameters)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) } -// GetRegexEntityRolesSender sends the GetRegexEntityRoles request. The method will close the +// ListHierarchicalEntityRolesSender sends the ListHierarchicalEntityRoles request. The method will close the // http.Response Body if it receives an error. -func (client ModelClient) GetRegexEntityRolesSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +func (client ModelClient) ListHierarchicalEntityRolesSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } -// GetRegexEntityRolesResponder handles the response to the GetRegexEntityRoles request. The method always +// ListHierarchicalEntityRolesResponder handles the response to the ListHierarchicalEntityRoles request. The method always // closes the http.Response Body. -func (client ModelClient) GetRegexEntityRolesResponder(resp *http.Response) (result ListEntityRole, err error) { +func (client ModelClient) ListHierarchicalEntityRolesResponder(resp *http.Response) (result ListEntityRole, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -5184,50 +5991,60 @@ func (client ModelClient) GetRegexEntityRolesResponder(resp *http.Response) (res return } -// ListClosedLists gets information about the closedlist models. +// ListIntents gets information about the intent models in a version of the application. // Parameters: // appID - the application ID. // versionID - the version ID. // skip - the number of entries to skip. Default value is 0. // take - the number of entries to return. Maximum page size is 500. Default is 100. -func (client ModelClient) ListClosedLists(ctx context.Context, appID uuid.UUID, versionID string, skip *int32, take *int32) (result ListClosedListEntityExtractor, err error) { +func (client ModelClient) ListIntents(ctx context.Context, appID uuid.UUID, versionID string, skip *int32, take *int32) (result ListIntentClassifier, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.ListIntents") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } if err := validation.Validate([]validation.Validation{ {TargetValue: skip, Constraints: []validation.Constraint{{Target: "skip", Name: validation.Null, Rule: false, Chain: []validation.Constraint{{Target: "skip", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}}}}}, {TargetValue: take, Constraints: []validation.Constraint{{Target: "take", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "take", Name: validation.InclusiveMaximum, Rule: 500, Chain: nil}, + Chain: []validation.Constraint{{Target: "take", Name: validation.InclusiveMaximum, Rule: int64(500), Chain: nil}, {Target: "take", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}, }}}}}); err != nil { - return result, validation.NewError("programmatic.ModelClient", "ListClosedLists", err.Error()) + return result, validation.NewError("authoring.ModelClient", "ListIntents", err.Error()) } - req, err := client.ListClosedListsPreparer(ctx, appID, versionID, skip, take) + req, err := client.ListIntentsPreparer(ctx, appID, versionID, skip, take) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "ListClosedLists", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "ListIntents", nil, "Failure preparing request") return } - resp, err := client.ListClosedListsSender(req) + resp, err := client.ListIntentsSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "ListClosedLists", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "ListIntents", resp, "Failure sending request") return } - result, err = client.ListClosedListsResponder(resp) + result, err = client.ListIntentsResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "ListClosedLists", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "ListIntents", resp, "Failure responding to request") } return } -// ListClosedListsPreparer prepares the ListClosedLists request. -func (client ModelClient) ListClosedListsPreparer(ctx context.Context, appID uuid.UUID, versionID string, skip *int32, take *int32) (*http.Request, error) { +// ListIntentsPreparer prepares the ListIntents request. +func (client ModelClient) ListIntentsPreparer(ctx context.Context, appID uuid.UUID, versionID string, skip *int32, take *int32) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -5249,22 +6066,22 @@ func (client ModelClient) ListClosedListsPreparer(ctx context.Context, appID uui preparer := autorest.CreatePreparer( autorest.AsGet(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), - autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/closedlists", pathParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), + autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/intents", pathParameters), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) } -// ListClosedListsSender sends the ListClosedLists request. The method will close the +// ListIntentsSender sends the ListIntents request. The method will close the // http.Response Body if it receives an error. -func (client ModelClient) ListClosedListsSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +func (client ModelClient) ListIntentsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } -// ListClosedListsResponder handles the response to the ListClosedLists request. The method always +// ListIntentsResponder handles the response to the ListIntents request. The method always // closes the http.Response Body. -func (client ModelClient) ListClosedListsResponder(resp *http.Response) (result ListClosedListEntityExtractor, err error) { +func (client ModelClient) ListIntentsResponder(resp *http.Response) (result ListIntentClassifier, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -5275,63 +6092,67 @@ func (client ModelClient) ListClosedListsResponder(resp *http.Response) (result return } -// ListCompositeEntities gets information about the composite entity models. +// ListIntentSuggestions suggests example utterances that would improve the accuracy of the intent model in a version +// of the application. // Parameters: // appID - the application ID. // versionID - the version ID. -// skip - the number of entries to skip. Default value is 0. +// intentID - the intent classifier ID. // take - the number of entries to return. Maximum page size is 500. Default is 100. -func (client ModelClient) ListCompositeEntities(ctx context.Context, appID uuid.UUID, versionID string, skip *int32, take *int32) (result ListCompositeEntityExtractor, err error) { +func (client ModelClient) ListIntentSuggestions(ctx context.Context, appID uuid.UUID, versionID string, intentID uuid.UUID, take *int32) (result ListIntentsSuggestionExample, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.ListIntentSuggestions") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } if err := validation.Validate([]validation.Validation{ - {TargetValue: skip, - Constraints: []validation.Constraint{{Target: "skip", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "skip", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}}}}}, {TargetValue: take, Constraints: []validation.Constraint{{Target: "take", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "take", Name: validation.InclusiveMaximum, Rule: 500, Chain: nil}, + Chain: []validation.Constraint{{Target: "take", Name: validation.InclusiveMaximum, Rule: int64(500), Chain: nil}, {Target: "take", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}, }}}}}); err != nil { - return result, validation.NewError("programmatic.ModelClient", "ListCompositeEntities", err.Error()) + return result, validation.NewError("authoring.ModelClient", "ListIntentSuggestions", err.Error()) } - req, err := client.ListCompositeEntitiesPreparer(ctx, appID, versionID, skip, take) + req, err := client.ListIntentSuggestionsPreparer(ctx, appID, versionID, intentID, take) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "ListCompositeEntities", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "ListIntentSuggestions", nil, "Failure preparing request") return } - resp, err := client.ListCompositeEntitiesSender(req) + resp, err := client.ListIntentSuggestionsSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "ListCompositeEntities", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "ListIntentSuggestions", resp, "Failure sending request") return } - result, err = client.ListCompositeEntitiesResponder(resp) + result, err = client.ListIntentSuggestionsResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "ListCompositeEntities", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "ListIntentSuggestions", resp, "Failure responding to request") } return } -// ListCompositeEntitiesPreparer prepares the ListCompositeEntities request. -func (client ModelClient) ListCompositeEntitiesPreparer(ctx context.Context, appID uuid.UUID, versionID string, skip *int32, take *int32) (*http.Request, error) { +// ListIntentSuggestionsPreparer prepares the ListIntentSuggestions request. +func (client ModelClient) ListIntentSuggestionsPreparer(ctx context.Context, appID uuid.UUID, versionID string, intentID uuid.UUID, take *int32) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ "appId": autorest.Encode("path", appID), + "intentId": autorest.Encode("path", intentID), "versionId": autorest.Encode("path", versionID), } queryParameters := map[string]interface{}{} - if skip != nil { - queryParameters["skip"] = autorest.Encode("query", *skip) - } else { - queryParameters["skip"] = autorest.Encode("query", 0) - } if take != nil { queryParameters["take"] = autorest.Encode("query", *take) } else { @@ -5340,22 +6161,22 @@ func (client ModelClient) ListCompositeEntitiesPreparer(ctx context.Context, app preparer := autorest.CreatePreparer( autorest.AsGet(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), - autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/compositeentities", pathParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), + autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/intents/{intentId}/suggest", pathParameters), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) } -// ListCompositeEntitiesSender sends the ListCompositeEntities request. The method will close the +// ListIntentSuggestionsSender sends the ListIntentSuggestions request. The method will close the // http.Response Body if it receives an error. -func (client ModelClient) ListCompositeEntitiesSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +func (client ModelClient) ListIntentSuggestionsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } -// ListCompositeEntitiesResponder handles the response to the ListCompositeEntities request. The method always +// ListIntentSuggestionsResponder handles the response to the ListIntentSuggestions request. The method always // closes the http.Response Body. -func (client ModelClient) ListCompositeEntitiesResponder(resp *http.Response) (result ListCompositeEntityExtractor, err error) { +func (client ModelClient) ListIntentSuggestionsResponder(resp *http.Response) (result ListIntentsSuggestionExample, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -5366,36 +6187,60 @@ func (client ModelClient) ListCompositeEntitiesResponder(resp *http.Response) (r return } -// ListCustomPrebuiltEntities gets all custom prebuilt entities information of this application. +// ListModels gets information about all the intent and entity models in a version of the application. // Parameters: // appID - the application ID. // versionID - the version ID. -func (client ModelClient) ListCustomPrebuiltEntities(ctx context.Context, appID uuid.UUID, versionID string) (result ListEntityExtractor, err error) { - req, err := client.ListCustomPrebuiltEntitiesPreparer(ctx, appID, versionID) +// skip - the number of entries to skip. Default value is 0. +// take - the number of entries to return. Maximum page size is 500. Default is 100. +func (client ModelClient) ListModels(ctx context.Context, appID uuid.UUID, versionID string, skip *int32, take *int32) (result ListModelInfoResponse, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.ListModels") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: skip, + Constraints: []validation.Constraint{{Target: "skip", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "skip", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}}}}}, + {TargetValue: take, + Constraints: []validation.Constraint{{Target: "take", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "take", Name: validation.InclusiveMaximum, Rule: int64(500), Chain: nil}, + {Target: "take", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}, + }}}}}); err != nil { + return result, validation.NewError("authoring.ModelClient", "ListModels", err.Error()) + } + + req, err := client.ListModelsPreparer(ctx, appID, versionID, skip, take) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "ListCustomPrebuiltEntities", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "ListModels", nil, "Failure preparing request") return } - resp, err := client.ListCustomPrebuiltEntitiesSender(req) + resp, err := client.ListModelsSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "ListCustomPrebuiltEntities", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "ListModels", resp, "Failure sending request") return } - result, err = client.ListCustomPrebuiltEntitiesResponder(resp) + result, err = client.ListModelsResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "ListCustomPrebuiltEntities", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "ListModels", resp, "Failure responding to request") } return } -// ListCustomPrebuiltEntitiesPreparer prepares the ListCustomPrebuiltEntities request. -func (client ModelClient) ListCustomPrebuiltEntitiesPreparer(ctx context.Context, appID uuid.UUID, versionID string) (*http.Request, error) { +// ListModelsPreparer prepares the ListModels request. +func (client ModelClient) ListModelsPreparer(ctx context.Context, appID uuid.UUID, versionID string, skip *int32, take *int32) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -5403,23 +6248,36 @@ func (client ModelClient) ListCustomPrebuiltEntitiesPreparer(ctx context.Context "versionId": autorest.Encode("path", versionID), } + queryParameters := map[string]interface{}{} + if skip != nil { + queryParameters["skip"] = autorest.Encode("query", *skip) + } else { + queryParameters["skip"] = autorest.Encode("query", 0) + } + if take != nil { + queryParameters["take"] = autorest.Encode("query", *take) + } else { + queryParameters["take"] = autorest.Encode("query", 100) + } + preparer := autorest.CreatePreparer( autorest.AsGet(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), - autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/customprebuiltentities", pathParameters)) + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), + autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/models", pathParameters), + autorest.WithQueryParameters(queryParameters)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) } -// ListCustomPrebuiltEntitiesSender sends the ListCustomPrebuiltEntities request. The method will close the +// ListModelsSender sends the ListModels request. The method will close the // http.Response Body if it receives an error. -func (client ModelClient) ListCustomPrebuiltEntitiesSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +func (client ModelClient) ListModelsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } -// ListCustomPrebuiltEntitiesResponder handles the response to the ListCustomPrebuiltEntities request. The method always +// ListModelsResponder handles the response to the ListModels request. The method always // closes the http.Response Body. -func (client ModelClient) ListCustomPrebuiltEntitiesResponder(resp *http.Response) (result ListEntityExtractor, err error) { +func (client ModelClient) ListModelsResponder(resp *http.Response) (result ListModelInfoResponse, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -5430,36 +6288,60 @@ func (client ModelClient) ListCustomPrebuiltEntitiesResponder(resp *http.Respons return } -// ListCustomPrebuiltIntents gets custom prebuilt intents information of this application. +// ListPatternAnyEntityInfos sends the list pattern any entity infos request. // Parameters: // appID - the application ID. // versionID - the version ID. -func (client ModelClient) ListCustomPrebuiltIntents(ctx context.Context, appID uuid.UUID, versionID string) (result ListIntentClassifier, err error) { - req, err := client.ListCustomPrebuiltIntentsPreparer(ctx, appID, versionID) +// skip - the number of entries to skip. Default value is 0. +// take - the number of entries to return. Maximum page size is 500. Default is 100. +func (client ModelClient) ListPatternAnyEntityInfos(ctx context.Context, appID uuid.UUID, versionID string, skip *int32, take *int32) (result ListPatternAnyEntityExtractor, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.ListPatternAnyEntityInfos") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: skip, + Constraints: []validation.Constraint{{Target: "skip", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "skip", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}}}}}, + {TargetValue: take, + Constraints: []validation.Constraint{{Target: "take", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "take", Name: validation.InclusiveMaximum, Rule: int64(500), Chain: nil}, + {Target: "take", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}, + }}}}}); err != nil { + return result, validation.NewError("authoring.ModelClient", "ListPatternAnyEntityInfos", err.Error()) + } + + req, err := client.ListPatternAnyEntityInfosPreparer(ctx, appID, versionID, skip, take) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "ListCustomPrebuiltIntents", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "ListPatternAnyEntityInfos", nil, "Failure preparing request") return } - resp, err := client.ListCustomPrebuiltIntentsSender(req) + resp, err := client.ListPatternAnyEntityInfosSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "ListCustomPrebuiltIntents", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "ListPatternAnyEntityInfos", resp, "Failure sending request") return } - result, err = client.ListCustomPrebuiltIntentsResponder(resp) + result, err = client.ListPatternAnyEntityInfosResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "ListCustomPrebuiltIntents", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "ListPatternAnyEntityInfos", resp, "Failure responding to request") } return } -// ListCustomPrebuiltIntentsPreparer prepares the ListCustomPrebuiltIntents request. -func (client ModelClient) ListCustomPrebuiltIntentsPreparer(ctx context.Context, appID uuid.UUID, versionID string) (*http.Request, error) { +// ListPatternAnyEntityInfosPreparer prepares the ListPatternAnyEntityInfos request. +func (client ModelClient) ListPatternAnyEntityInfosPreparer(ctx context.Context, appID uuid.UUID, versionID string, skip *int32, take *int32) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -5467,23 +6349,36 @@ func (client ModelClient) ListCustomPrebuiltIntentsPreparer(ctx context.Context, "versionId": autorest.Encode("path", versionID), } + queryParameters := map[string]interface{}{} + if skip != nil { + queryParameters["skip"] = autorest.Encode("query", *skip) + } else { + queryParameters["skip"] = autorest.Encode("query", 0) + } + if take != nil { + queryParameters["take"] = autorest.Encode("query", *take) + } else { + queryParameters["take"] = autorest.Encode("query", 100) + } + preparer := autorest.CreatePreparer( autorest.AsGet(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), - autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/customprebuiltintents", pathParameters)) + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), + autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/patternanyentities", pathParameters), + autorest.WithQueryParameters(queryParameters)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) } -// ListCustomPrebuiltIntentsSender sends the ListCustomPrebuiltIntents request. The method will close the +// ListPatternAnyEntityInfosSender sends the ListPatternAnyEntityInfos request. The method will close the // http.Response Body if it receives an error. -func (client ModelClient) ListCustomPrebuiltIntentsSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +func (client ModelClient) ListPatternAnyEntityInfosSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } -// ListCustomPrebuiltIntentsResponder handles the response to the ListCustomPrebuiltIntents request. The method always +// ListPatternAnyEntityInfosResponder handles the response to the ListPatternAnyEntityInfos request. The method always // closes the http.Response Body. -func (client ModelClient) ListCustomPrebuiltIntentsResponder(resp *http.Response) (result ListIntentClassifier, err error) { +func (client ModelClient) ListPatternAnyEntityInfosResponder(resp *http.Response) (result ListPatternAnyEntityExtractor, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -5494,60 +6389,72 @@ func (client ModelClient) ListCustomPrebuiltIntentsResponder(resp *http.Response return } -// ListCustomPrebuiltModels gets all custom prebuilt models information of this application. +// ListPatternAnyEntityRoles sends the list pattern any entity roles request. // Parameters: // appID - the application ID. // versionID - the version ID. -func (client ModelClient) ListCustomPrebuiltModels(ctx context.Context, appID uuid.UUID, versionID string) (result ListCustomPrebuiltModel, err error) { - req, err := client.ListCustomPrebuiltModelsPreparer(ctx, appID, versionID) +// entityID - entity Id +func (client ModelClient) ListPatternAnyEntityRoles(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID) (result ListEntityRole, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.ListPatternAnyEntityRoles") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListPatternAnyEntityRolesPreparer(ctx, appID, versionID, entityID) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "ListCustomPrebuiltModels", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "ListPatternAnyEntityRoles", nil, "Failure preparing request") return } - resp, err := client.ListCustomPrebuiltModelsSender(req) + resp, err := client.ListPatternAnyEntityRolesSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "ListCustomPrebuiltModels", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "ListPatternAnyEntityRoles", resp, "Failure sending request") return } - result, err = client.ListCustomPrebuiltModelsResponder(resp) + result, err = client.ListPatternAnyEntityRolesResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "ListCustomPrebuiltModels", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "ListPatternAnyEntityRoles", resp, "Failure responding to request") } return } -// ListCustomPrebuiltModelsPreparer prepares the ListCustomPrebuiltModels request. -func (client ModelClient) ListCustomPrebuiltModelsPreparer(ctx context.Context, appID uuid.UUID, versionID string) (*http.Request, error) { +// ListPatternAnyEntityRolesPreparer prepares the ListPatternAnyEntityRoles request. +func (client ModelClient) ListPatternAnyEntityRolesPreparer(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ "appId": autorest.Encode("path", appID), + "entityId": autorest.Encode("path", entityID), "versionId": autorest.Encode("path", versionID), } preparer := autorest.CreatePreparer( autorest.AsGet(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), - autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/customprebuiltmodels", pathParameters)) + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), + autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/patternanyentities/{entityId}/roles", pathParameters)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) } -// ListCustomPrebuiltModelsSender sends the ListCustomPrebuiltModels request. The method will close the +// ListPatternAnyEntityRolesSender sends the ListPatternAnyEntityRoles request. The method will close the // http.Response Body if it receives an error. -func (client ModelClient) ListCustomPrebuiltModelsSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +func (client ModelClient) ListPatternAnyEntityRolesSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } -// ListCustomPrebuiltModelsResponder handles the response to the ListCustomPrebuiltModels request. The method always +// ListPatternAnyEntityRolesResponder handles the response to the ListPatternAnyEntityRoles request. The method always // closes the http.Response Body. -func (client ModelClient) ListCustomPrebuiltModelsResponder(resp *http.Response) (result ListCustomPrebuiltModel, err error) { +func (client ModelClient) ListPatternAnyEntityRolesResponder(resp *http.Response) (result ListEntityRole, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -5558,50 +6465,46 @@ func (client ModelClient) ListCustomPrebuiltModelsResponder(resp *http.Response) return } -// ListEntities gets information about the entity models. +// ListPrebuiltEntities gets all the available prebuilt entities in a version of the application. // Parameters: // appID - the application ID. // versionID - the version ID. -// skip - the number of entries to skip. Default value is 0. -// take - the number of entries to return. Maximum page size is 500. Default is 100. -func (client ModelClient) ListEntities(ctx context.Context, appID uuid.UUID, versionID string, skip *int32, take *int32) (result ListEntityExtractor, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: skip, - Constraints: []validation.Constraint{{Target: "skip", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "skip", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}}}}}, - {TargetValue: take, - Constraints: []validation.Constraint{{Target: "take", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "take", Name: validation.InclusiveMaximum, Rule: 500, Chain: nil}, - {Target: "take", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}, - }}}}}); err != nil { - return result, validation.NewError("programmatic.ModelClient", "ListEntities", err.Error()) +func (client ModelClient) ListPrebuiltEntities(ctx context.Context, appID uuid.UUID, versionID string) (result ListAvailablePrebuiltEntityModel, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.ListPrebuiltEntities") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() } - - req, err := client.ListEntitiesPreparer(ctx, appID, versionID, skip, take) + req, err := client.ListPrebuiltEntitiesPreparer(ctx, appID, versionID) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "ListEntities", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "ListPrebuiltEntities", nil, "Failure preparing request") return } - resp, err := client.ListEntitiesSender(req) + resp, err := client.ListPrebuiltEntitiesSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "ListEntities", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "ListPrebuiltEntities", resp, "Failure sending request") return } - result, err = client.ListEntitiesResponder(resp) + result, err = client.ListPrebuiltEntitiesResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "ListEntities", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "ListPrebuiltEntities", resp, "Failure responding to request") } return } -// ListEntitiesPreparer prepares the ListEntities request. -func (client ModelClient) ListEntitiesPreparer(ctx context.Context, appID uuid.UUID, versionID string, skip *int32, take *int32) (*http.Request, error) { +// ListPrebuiltEntitiesPreparer prepares the ListPrebuiltEntities request. +func (client ModelClient) ListPrebuiltEntitiesPreparer(ctx context.Context, appID uuid.UUID, versionID string) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -5609,36 +6512,23 @@ func (client ModelClient) ListEntitiesPreparer(ctx context.Context, appID uuid.U "versionId": autorest.Encode("path", versionID), } - queryParameters := map[string]interface{}{} - if skip != nil { - queryParameters["skip"] = autorest.Encode("query", *skip) - } else { - queryParameters["skip"] = autorest.Encode("query", 0) - } - if take != nil { - queryParameters["take"] = autorest.Encode("query", *take) - } else { - queryParameters["take"] = autorest.Encode("query", 100) - } - preparer := autorest.CreatePreparer( autorest.AsGet(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), - autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/entities", pathParameters), - autorest.WithQueryParameters(queryParameters)) + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), + autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/listprebuilts", pathParameters)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) } -// ListEntitiesSender sends the ListEntities request. The method will close the +// ListPrebuiltEntitiesSender sends the ListPrebuiltEntities request. The method will close the // http.Response Body if it receives an error. -func (client ModelClient) ListEntitiesSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +func (client ModelClient) ListPrebuiltEntitiesSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } -// ListEntitiesResponder handles the response to the ListEntities request. The method always +// ListPrebuiltEntitiesResponder handles the response to the ListPrebuiltEntities request. The method always // closes the http.Response Body. -func (client ModelClient) ListEntitiesResponder(resp *http.Response) (result ListEntityExtractor, err error) { +func (client ModelClient) ListPrebuiltEntitiesResponder(resp *http.Response) (result ListAvailablePrebuiltEntityModel, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -5649,87 +6539,72 @@ func (client ModelClient) ListEntitiesResponder(resp *http.Response) (result Lis return } -// ListHierarchicalEntities gets information about the hierarchical entity models. +// ListPrebuiltEntityRoles sends the list prebuilt entity roles request. // Parameters: // appID - the application ID. // versionID - the version ID. -// skip - the number of entries to skip. Default value is 0. -// take - the number of entries to return. Maximum page size is 500. Default is 100. -func (client ModelClient) ListHierarchicalEntities(ctx context.Context, appID uuid.UUID, versionID string, skip *int32, take *int32) (result ListHierarchicalEntityExtractor, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: skip, - Constraints: []validation.Constraint{{Target: "skip", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "skip", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}}}}}, - {TargetValue: take, - Constraints: []validation.Constraint{{Target: "take", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "take", Name: validation.InclusiveMaximum, Rule: 500, Chain: nil}, - {Target: "take", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}, - }}}}}); err != nil { - return result, validation.NewError("programmatic.ModelClient", "ListHierarchicalEntities", err.Error()) +// entityID - entity Id +func (client ModelClient) ListPrebuiltEntityRoles(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID) (result ListEntityRole, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.ListPrebuiltEntityRoles") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() } - - req, err := client.ListHierarchicalEntitiesPreparer(ctx, appID, versionID, skip, take) + req, err := client.ListPrebuiltEntityRolesPreparer(ctx, appID, versionID, entityID) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "ListHierarchicalEntities", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "ListPrebuiltEntityRoles", nil, "Failure preparing request") return } - resp, err := client.ListHierarchicalEntitiesSender(req) + resp, err := client.ListPrebuiltEntityRolesSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "ListHierarchicalEntities", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "ListPrebuiltEntityRoles", resp, "Failure sending request") return } - result, err = client.ListHierarchicalEntitiesResponder(resp) + result, err = client.ListPrebuiltEntityRolesResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "ListHierarchicalEntities", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "ListPrebuiltEntityRoles", resp, "Failure responding to request") } return } -// ListHierarchicalEntitiesPreparer prepares the ListHierarchicalEntities request. -func (client ModelClient) ListHierarchicalEntitiesPreparer(ctx context.Context, appID uuid.UUID, versionID string, skip *int32, take *int32) (*http.Request, error) { +// ListPrebuiltEntityRolesPreparer prepares the ListPrebuiltEntityRoles request. +func (client ModelClient) ListPrebuiltEntityRolesPreparer(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ "appId": autorest.Encode("path", appID), + "entityId": autorest.Encode("path", entityID), "versionId": autorest.Encode("path", versionID), } - queryParameters := map[string]interface{}{} - if skip != nil { - queryParameters["skip"] = autorest.Encode("query", *skip) - } else { - queryParameters["skip"] = autorest.Encode("query", 0) - } - if take != nil { - queryParameters["take"] = autorest.Encode("query", *take) - } else { - queryParameters["take"] = autorest.Encode("query", 100) - } - preparer := autorest.CreatePreparer( autorest.AsGet(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), - autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/hierarchicalentities", pathParameters), - autorest.WithQueryParameters(queryParameters)) + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), + autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/prebuilts/{entityId}/roles", pathParameters)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) } -// ListHierarchicalEntitiesSender sends the ListHierarchicalEntities request. The method will close the +// ListPrebuiltEntityRolesSender sends the ListPrebuiltEntityRoles request. The method will close the // http.Response Body if it receives an error. -func (client ModelClient) ListHierarchicalEntitiesSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +func (client ModelClient) ListPrebuiltEntityRolesSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } -// ListHierarchicalEntitiesResponder handles the response to the ListHierarchicalEntities request. The method always +// ListPrebuiltEntityRolesResponder handles the response to the ListPrebuiltEntityRoles request. The method always // closes the http.Response Body. -func (client ModelClient) ListHierarchicalEntitiesResponder(resp *http.Response) (result ListHierarchicalEntityExtractor, err error) { +func (client ModelClient) ListPrebuiltEntityRolesResponder(resp *http.Response) (result ListEntityRole, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -5740,50 +6615,60 @@ func (client ModelClient) ListHierarchicalEntitiesResponder(resp *http.Response) return } -// ListIntents gets information about the intent models. +// ListPrebuilts gets information about all the prebuilt entities in a version of the application. // Parameters: // appID - the application ID. // versionID - the version ID. // skip - the number of entries to skip. Default value is 0. // take - the number of entries to return. Maximum page size is 500. Default is 100. -func (client ModelClient) ListIntents(ctx context.Context, appID uuid.UUID, versionID string, skip *int32, take *int32) (result ListIntentClassifier, err error) { +func (client ModelClient) ListPrebuilts(ctx context.Context, appID uuid.UUID, versionID string, skip *int32, take *int32) (result ListPrebuiltEntityExtractor, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.ListPrebuilts") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } if err := validation.Validate([]validation.Validation{ {TargetValue: skip, Constraints: []validation.Constraint{{Target: "skip", Name: validation.Null, Rule: false, Chain: []validation.Constraint{{Target: "skip", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}}}}}, {TargetValue: take, Constraints: []validation.Constraint{{Target: "take", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "take", Name: validation.InclusiveMaximum, Rule: 500, Chain: nil}, + Chain: []validation.Constraint{{Target: "take", Name: validation.InclusiveMaximum, Rule: int64(500), Chain: nil}, {Target: "take", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}, }}}}}); err != nil { - return result, validation.NewError("programmatic.ModelClient", "ListIntents", err.Error()) + return result, validation.NewError("authoring.ModelClient", "ListPrebuilts", err.Error()) } - req, err := client.ListIntentsPreparer(ctx, appID, versionID, skip, take) + req, err := client.ListPrebuiltsPreparer(ctx, appID, versionID, skip, take) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "ListIntents", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "ListPrebuilts", nil, "Failure preparing request") return } - resp, err := client.ListIntentsSender(req) + resp, err := client.ListPrebuiltsSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "ListIntents", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "ListPrebuilts", resp, "Failure sending request") return } - result, err = client.ListIntentsResponder(resp) + result, err = client.ListPrebuiltsResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "ListIntents", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "ListPrebuilts", resp, "Failure responding to request") } return } -// ListIntentsPreparer prepares the ListIntents request. -func (client ModelClient) ListIntentsPreparer(ctx context.Context, appID uuid.UUID, versionID string, skip *int32, take *int32) (*http.Request, error) { +// ListPrebuiltsPreparer prepares the ListPrebuilts request. +func (client ModelClient) ListPrebuiltsPreparer(ctx context.Context, appID uuid.UUID, versionID string, skip *int32, take *int32) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -5805,22 +6690,22 @@ func (client ModelClient) ListIntentsPreparer(ctx context.Context, appID uuid.UU preparer := autorest.CreatePreparer( autorest.AsGet(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), - autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/intents", pathParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), + autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/prebuilts", pathParameters), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) } -// ListIntentsSender sends the ListIntents request. The method will close the +// ListPrebuiltsSender sends the ListPrebuilts request. The method will close the // http.Response Body if it receives an error. -func (client ModelClient) ListIntentsSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +func (client ModelClient) ListPrebuiltsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } -// ListIntentsResponder handles the response to the ListIntents request. The method always +// ListPrebuiltsResponder handles the response to the ListPrebuilts request. The method always // closes the http.Response Body. -func (client ModelClient) ListIntentsResponder(resp *http.Response) (result ListIntentClassifier, err error) { +func (client ModelClient) ListPrebuiltsResponder(resp *http.Response) (result ListPrebuiltEntityExtractor, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -5831,50 +6716,60 @@ func (client ModelClient) ListIntentsResponder(resp *http.Response) (result List return } -// ListModels gets information about the application version models. +// ListRegexEntityInfos sends the list regex entity infos request. // Parameters: // appID - the application ID. // versionID - the version ID. // skip - the number of entries to skip. Default value is 0. // take - the number of entries to return. Maximum page size is 500. Default is 100. -func (client ModelClient) ListModels(ctx context.Context, appID uuid.UUID, versionID string, skip *int32, take *int32) (result ListModelInfoResponse, err error) { +func (client ModelClient) ListRegexEntityInfos(ctx context.Context, appID uuid.UUID, versionID string, skip *int32, take *int32) (result ListRegexEntityExtractor, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.ListRegexEntityInfos") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } if err := validation.Validate([]validation.Validation{ {TargetValue: skip, Constraints: []validation.Constraint{{Target: "skip", Name: validation.Null, Rule: false, Chain: []validation.Constraint{{Target: "skip", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}}}}}, {TargetValue: take, Constraints: []validation.Constraint{{Target: "take", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "take", Name: validation.InclusiveMaximum, Rule: 500, Chain: nil}, + Chain: []validation.Constraint{{Target: "take", Name: validation.InclusiveMaximum, Rule: int64(500), Chain: nil}, {Target: "take", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}, }}}}}); err != nil { - return result, validation.NewError("programmatic.ModelClient", "ListModels", err.Error()) + return result, validation.NewError("authoring.ModelClient", "ListRegexEntityInfos", err.Error()) } - req, err := client.ListModelsPreparer(ctx, appID, versionID, skip, take) + req, err := client.ListRegexEntityInfosPreparer(ctx, appID, versionID, skip, take) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "ListModels", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "ListRegexEntityInfos", nil, "Failure preparing request") return } - resp, err := client.ListModelsSender(req) + resp, err := client.ListRegexEntityInfosSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "ListModels", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "ListRegexEntityInfos", resp, "Failure sending request") return } - result, err = client.ListModelsResponder(resp) + result, err = client.ListRegexEntityInfosResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "ListModels", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "ListRegexEntityInfos", resp, "Failure responding to request") } return } -// ListModelsPreparer prepares the ListModels request. -func (client ModelClient) ListModelsPreparer(ctx context.Context, appID uuid.UUID, versionID string, skip *int32, take *int32) (*http.Request, error) { +// ListRegexEntityInfosPreparer prepares the ListRegexEntityInfos request. +func (client ModelClient) ListRegexEntityInfosPreparer(ctx context.Context, appID uuid.UUID, versionID string, skip *int32, take *int32) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -5896,86 +6791,22 @@ func (client ModelClient) ListModelsPreparer(ctx context.Context, appID uuid.UUI preparer := autorest.CreatePreparer( autorest.AsGet(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), - autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/models", pathParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), + autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/regexentities", pathParameters), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) } -// ListModelsSender sends the ListModels request. The method will close the -// http.Response Body if it receives an error. -func (client ModelClient) ListModelsSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// ListModelsResponder handles the response to the ListModels request. The method always -// closes the http.Response Body. -func (client ModelClient) ListModelsResponder(resp *http.Response) (result ListModelInfoResponse, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result.Value), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// ListPrebuiltEntities gets all the available prebuilt entity extractors for the application. -// Parameters: -// appID - the application ID. -// versionID - the version ID. -func (client ModelClient) ListPrebuiltEntities(ctx context.Context, appID uuid.UUID, versionID string) (result ListAvailablePrebuiltEntityModel, err error) { - req, err := client.ListPrebuiltEntitiesPreparer(ctx, appID, versionID) - if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "ListPrebuiltEntities", nil, "Failure preparing request") - return - } - - resp, err := client.ListPrebuiltEntitiesSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "ListPrebuiltEntities", resp, "Failure sending request") - return - } - - result, err = client.ListPrebuiltEntitiesResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "ListPrebuiltEntities", resp, "Failure responding to request") - } - - return -} - -// ListPrebuiltEntitiesPreparer prepares the ListPrebuiltEntities request. -func (client ModelClient) ListPrebuiltEntitiesPreparer(ctx context.Context, appID uuid.UUID, versionID string) (*http.Request, error) { - urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, - } - - pathParameters := map[string]interface{}{ - "appId": autorest.Encode("path", appID), - "versionId": autorest.Encode("path", versionID), - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), - autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/listprebuilts", pathParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListPrebuiltEntitiesSender sends the ListPrebuiltEntities request. The method will close the +// ListRegexEntityInfosSender sends the ListRegexEntityInfos request. The method will close the // http.Response Body if it receives an error. -func (client ModelClient) ListPrebuiltEntitiesSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +func (client ModelClient) ListRegexEntityInfosSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } -// ListPrebuiltEntitiesResponder handles the response to the ListPrebuiltEntities request. The method always +// ListRegexEntityInfosResponder handles the response to the ListRegexEntityInfos request. The method always // closes the http.Response Body. -func (client ModelClient) ListPrebuiltEntitiesResponder(resp *http.Response) (result ListAvailablePrebuiltEntityModel, err error) { +func (client ModelClient) ListRegexEntityInfosResponder(resp *http.Response) (result ListRegexEntityExtractor, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -5986,87 +6817,72 @@ func (client ModelClient) ListPrebuiltEntitiesResponder(resp *http.Response) (re return } -// ListPrebuilts gets information about the prebuilt entity models. +// ListRegexEntityRoles sends the list regex entity roles request. // Parameters: // appID - the application ID. // versionID - the version ID. -// skip - the number of entries to skip. Default value is 0. -// take - the number of entries to return. Maximum page size is 500. Default is 100. -func (client ModelClient) ListPrebuilts(ctx context.Context, appID uuid.UUID, versionID string, skip *int32, take *int32) (result ListPrebuiltEntityExtractor, err error) { - if err := validation.Validate([]validation.Validation{ - {TargetValue: skip, - Constraints: []validation.Constraint{{Target: "skip", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "skip", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}}}}}, - {TargetValue: take, - Constraints: []validation.Constraint{{Target: "take", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "take", Name: validation.InclusiveMaximum, Rule: 500, Chain: nil}, - {Target: "take", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}, - }}}}}); err != nil { - return result, validation.NewError("programmatic.ModelClient", "ListPrebuilts", err.Error()) +// entityID - entity Id +func (client ModelClient) ListRegexEntityRoles(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID) (result ListEntityRole, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.ListRegexEntityRoles") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() } - - req, err := client.ListPrebuiltsPreparer(ctx, appID, versionID, skip, take) + req, err := client.ListRegexEntityRolesPreparer(ctx, appID, versionID, entityID) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "ListPrebuilts", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "ListRegexEntityRoles", nil, "Failure preparing request") return } - resp, err := client.ListPrebuiltsSender(req) + resp, err := client.ListRegexEntityRolesSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "ListPrebuilts", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "ListRegexEntityRoles", resp, "Failure sending request") return } - result, err = client.ListPrebuiltsResponder(resp) + result, err = client.ListRegexEntityRolesResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "ListPrebuilts", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "ListRegexEntityRoles", resp, "Failure responding to request") } return } -// ListPrebuiltsPreparer prepares the ListPrebuilts request. -func (client ModelClient) ListPrebuiltsPreparer(ctx context.Context, appID uuid.UUID, versionID string, skip *int32, take *int32) (*http.Request, error) { +// ListRegexEntityRolesPreparer prepares the ListRegexEntityRoles request. +func (client ModelClient) ListRegexEntityRolesPreparer(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ "appId": autorest.Encode("path", appID), + "entityId": autorest.Encode("path", entityID), "versionId": autorest.Encode("path", versionID), } - queryParameters := map[string]interface{}{} - if skip != nil { - queryParameters["skip"] = autorest.Encode("query", *skip) - } else { - queryParameters["skip"] = autorest.Encode("query", 0) - } - if take != nil { - queryParameters["take"] = autorest.Encode("query", *take) - } else { - queryParameters["take"] = autorest.Encode("query", 100) - } - preparer := autorest.CreatePreparer( autorest.AsGet(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), - autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/prebuilts", pathParameters), - autorest.WithQueryParameters(queryParameters)) + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), + autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/regexentities/{entityId}/roles", pathParameters)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) } -// ListPrebuiltsSender sends the ListPrebuilts request. The method will close the +// ListRegexEntityRolesSender sends the ListRegexEntityRoles request. The method will close the // http.Response Body if it receives an error. -func (client ModelClient) ListPrebuiltsSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +func (client ModelClient) ListRegexEntityRolesSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } -// ListPrebuiltsResponder handles the response to the ListPrebuilts request. The method always +// ListRegexEntityRolesResponder handles the response to the ListRegexEntityRoles request. The method always // closes the http.Response Body. -func (client ModelClient) ListPrebuiltsResponder(resp *http.Response) (result ListPrebuiltEntityExtractor, err error) { +func (client ModelClient) ListRegexEntityRolesResponder(resp *http.Response) (result ListEntityRole, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -6077,29 +6893,39 @@ func (client ModelClient) ListPrebuiltsResponder(resp *http.Response) (result Li return } -// PatchClosedList adds a batch of sublists to an existing closedlist. +// PatchClosedList adds a batch of sublists to an existing list entity in a version of the application. // Parameters: // appID - the application ID. // versionID - the version ID. -// clEntityID - the closed list model ID. +// clEntityID - the list entity model ID. // closedListModelPatchObject - a words list batch. func (client ModelClient) PatchClosedList(ctx context.Context, appID uuid.UUID, versionID string, clEntityID uuid.UUID, closedListModelPatchObject ClosedListModelPatchObject) (result OperationStatus, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.PatchClosedList") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } req, err := client.PatchClosedListPreparer(ctx, appID, versionID, clEntityID, closedListModelPatchObject) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "PatchClosedList", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "PatchClosedList", nil, "Failure preparing request") return } resp, err := client.PatchClosedListSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "PatchClosedList", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "PatchClosedList", resp, "Failure sending request") return } result, err = client.PatchClosedListResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "PatchClosedList", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "PatchClosedList", resp, "Failure responding to request") } return @@ -6108,7 +6934,7 @@ func (client ModelClient) PatchClosedList(ctx context.Context, appID uuid.UUID, // PatchClosedListPreparer prepares the PatchClosedList request. func (client ModelClient) PatchClosedListPreparer(ctx context.Context, appID uuid.UUID, versionID string, clEntityID uuid.UUID, closedListModelPatchObject ClosedListModelPatchObject) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -6120,7 +6946,7 @@ func (client ModelClient) PatchClosedListPreparer(ctx context.Context, appID uui preparer := autorest.CreatePreparer( autorest.AsContentType("application/json; charset=utf-8"), autorest.AsPatch(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/closedlists/{clEntityId}", pathParameters), autorest.WithJSON(closedListModelPatchObject)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) @@ -6129,8 +6955,8 @@ func (client ModelClient) PatchClosedListPreparer(ctx context.Context, appID uui // PatchClosedListSender sends the PatchClosedList request. The method will close the // http.Response Body if it receives an error. func (client ModelClient) PatchClosedListSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // PatchClosedListResponder handles the response to the PatchClosedList request. The method always @@ -6146,29 +6972,39 @@ func (client ModelClient) PatchClosedListResponder(resp *http.Response) (result return } -// UpdateClosedList updates the closed list model. +// UpdateClosedList updates the list entity in a version of the application. // Parameters: // appID - the application ID. // versionID - the version ID. -// clEntityID - the closed list model ID. -// closedListModelUpdateObject - the new entity name and words list. +// clEntityID - the list model ID. +// closedListModelUpdateObject - the new list entity name and words list. func (client ModelClient) UpdateClosedList(ctx context.Context, appID uuid.UUID, versionID string, clEntityID uuid.UUID, closedListModelUpdateObject ClosedListModelUpdateObject) (result OperationStatus, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.UpdateClosedList") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } req, err := client.UpdateClosedListPreparer(ctx, appID, versionID, clEntityID, closedListModelUpdateObject) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "UpdateClosedList", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "UpdateClosedList", nil, "Failure preparing request") return } resp, err := client.UpdateClosedListSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "UpdateClosedList", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "UpdateClosedList", resp, "Failure sending request") return } result, err = client.UpdateClosedListResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "UpdateClosedList", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "UpdateClosedList", resp, "Failure responding to request") } return @@ -6177,7 +7013,7 @@ func (client ModelClient) UpdateClosedList(ctx context.Context, appID uuid.UUID, // UpdateClosedListPreparer prepares the UpdateClosedList request. func (client ModelClient) UpdateClosedListPreparer(ctx context.Context, appID uuid.UUID, versionID string, clEntityID uuid.UUID, closedListModelUpdateObject ClosedListModelUpdateObject) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -6189,7 +7025,7 @@ func (client ModelClient) UpdateClosedListPreparer(ctx context.Context, appID uu preparer := autorest.CreatePreparer( autorest.AsContentType("application/json; charset=utf-8"), autorest.AsPut(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/closedlists/{clEntityId}", pathParameters), autorest.WithJSON(closedListModelUpdateObject)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) @@ -6198,8 +7034,8 @@ func (client ModelClient) UpdateClosedListPreparer(ctx context.Context, appID uu // UpdateClosedListSender sends the UpdateClosedList request. The method will close the // http.Response Body if it receives an error. func (client ModelClient) UpdateClosedListSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // UpdateClosedListResponder handles the response to the UpdateClosedList request. The method always @@ -6223,22 +7059,32 @@ func (client ModelClient) UpdateClosedListResponder(resp *http.Response) (result // roleID - the entity role ID. // entityRoleUpdateObject - the new entity role. func (client ModelClient) UpdateClosedListEntityRole(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, roleID uuid.UUID, entityRoleUpdateObject EntityRoleUpdateObject) (result OperationStatus, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.UpdateClosedListEntityRole") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } req, err := client.UpdateClosedListEntityRolePreparer(ctx, appID, versionID, entityID, roleID, entityRoleUpdateObject) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "UpdateClosedListEntityRole", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "UpdateClosedListEntityRole", nil, "Failure preparing request") return } resp, err := client.UpdateClosedListEntityRoleSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "UpdateClosedListEntityRole", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "UpdateClosedListEntityRole", resp, "Failure sending request") return } result, err = client.UpdateClosedListEntityRoleResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "UpdateClosedListEntityRole", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "UpdateClosedListEntityRole", resp, "Failure responding to request") } return @@ -6247,7 +7093,7 @@ func (client ModelClient) UpdateClosedListEntityRole(ctx context.Context, appID // UpdateClosedListEntityRolePreparer prepares the UpdateClosedListEntityRole request. func (client ModelClient) UpdateClosedListEntityRolePreparer(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, roleID uuid.UUID, entityRoleUpdateObject EntityRoleUpdateObject) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -6260,7 +7106,7 @@ func (client ModelClient) UpdateClosedListEntityRolePreparer(ctx context.Context preparer := autorest.CreatePreparer( autorest.AsContentType("application/json; charset=utf-8"), autorest.AsPut(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/closedlists/{entityId}/roles/{roleId}", pathParameters), autorest.WithJSON(entityRoleUpdateObject)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) @@ -6269,8 +7115,8 @@ func (client ModelClient) UpdateClosedListEntityRolePreparer(ctx context.Context // UpdateClosedListEntityRoleSender sends the UpdateClosedListEntityRole request. The method will close the // http.Response Body if it receives an error. func (client ModelClient) UpdateClosedListEntityRoleSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // UpdateClosedListEntityRoleResponder handles the response to the UpdateClosedListEntityRole request. The method always @@ -6286,29 +7132,39 @@ func (client ModelClient) UpdateClosedListEntityRoleResponder(resp *http.Respons return } -// UpdateCompositeEntity updates the composite entity extractor. +// UpdateCompositeEntity updates a composite entity in a version of the application. // Parameters: // appID - the application ID. // versionID - the version ID. // cEntityID - the composite entity extractor ID. // compositeModelUpdateObject - a model object containing the new entity extractor name and children. func (client ModelClient) UpdateCompositeEntity(ctx context.Context, appID uuid.UUID, versionID string, cEntityID uuid.UUID, compositeModelUpdateObject CompositeEntityModel) (result OperationStatus, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.UpdateCompositeEntity") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } req, err := client.UpdateCompositeEntityPreparer(ctx, appID, versionID, cEntityID, compositeModelUpdateObject) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "UpdateCompositeEntity", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "UpdateCompositeEntity", nil, "Failure preparing request") return } resp, err := client.UpdateCompositeEntitySender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "UpdateCompositeEntity", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "UpdateCompositeEntity", resp, "Failure sending request") return } result, err = client.UpdateCompositeEntityResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "UpdateCompositeEntity", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "UpdateCompositeEntity", resp, "Failure responding to request") } return @@ -6317,7 +7173,7 @@ func (client ModelClient) UpdateCompositeEntity(ctx context.Context, appID uuid. // UpdateCompositeEntityPreparer prepares the UpdateCompositeEntity request. func (client ModelClient) UpdateCompositeEntityPreparer(ctx context.Context, appID uuid.UUID, versionID string, cEntityID uuid.UUID, compositeModelUpdateObject CompositeEntityModel) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -6329,7 +7185,7 @@ func (client ModelClient) UpdateCompositeEntityPreparer(ctx context.Context, app preparer := autorest.CreatePreparer( autorest.AsContentType("application/json; charset=utf-8"), autorest.AsPut(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/compositeentities/{cEntityId}", pathParameters), autorest.WithJSON(compositeModelUpdateObject)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) @@ -6338,8 +7194,8 @@ func (client ModelClient) UpdateCompositeEntityPreparer(ctx context.Context, app // UpdateCompositeEntitySender sends the UpdateCompositeEntity request. The method will close the // http.Response Body if it receives an error. func (client ModelClient) UpdateCompositeEntitySender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // UpdateCompositeEntityResponder handles the response to the UpdateCompositeEntity request. The method always @@ -6363,22 +7219,32 @@ func (client ModelClient) UpdateCompositeEntityResponder(resp *http.Response) (r // roleID - the entity role ID. // entityRoleUpdateObject - the new entity role. func (client ModelClient) UpdateCompositeEntityRole(ctx context.Context, appID uuid.UUID, versionID string, cEntityID uuid.UUID, roleID uuid.UUID, entityRoleUpdateObject EntityRoleUpdateObject) (result OperationStatus, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.UpdateCompositeEntityRole") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } req, err := client.UpdateCompositeEntityRolePreparer(ctx, appID, versionID, cEntityID, roleID, entityRoleUpdateObject) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "UpdateCompositeEntityRole", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "UpdateCompositeEntityRole", nil, "Failure preparing request") return } resp, err := client.UpdateCompositeEntityRoleSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "UpdateCompositeEntityRole", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "UpdateCompositeEntityRole", resp, "Failure sending request") return } result, err = client.UpdateCompositeEntityRoleResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "UpdateCompositeEntityRole", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "UpdateCompositeEntityRole", resp, "Failure responding to request") } return @@ -6387,7 +7253,7 @@ func (client ModelClient) UpdateCompositeEntityRole(ctx context.Context, appID u // UpdateCompositeEntityRolePreparer prepares the UpdateCompositeEntityRole request. func (client ModelClient) UpdateCompositeEntityRolePreparer(ctx context.Context, appID uuid.UUID, versionID string, cEntityID uuid.UUID, roleID uuid.UUID, entityRoleUpdateObject EntityRoleUpdateObject) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -6400,7 +7266,7 @@ func (client ModelClient) UpdateCompositeEntityRolePreparer(ctx context.Context, preparer := autorest.CreatePreparer( autorest.AsContentType("application/json; charset=utf-8"), autorest.AsPut(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/compositeentities/{cEntityId}/roles/{roleId}", pathParameters), autorest.WithJSON(entityRoleUpdateObject)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) @@ -6409,8 +7275,8 @@ func (client ModelClient) UpdateCompositeEntityRolePreparer(ctx context.Context, // UpdateCompositeEntityRoleSender sends the UpdateCompositeEntityRole request. The method will close the // http.Response Body if it receives an error. func (client ModelClient) UpdateCompositeEntityRoleSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // UpdateCompositeEntityRoleResponder handles the response to the UpdateCompositeEntityRole request. The method always @@ -6434,22 +7300,32 @@ func (client ModelClient) UpdateCompositeEntityRoleResponder(resp *http.Response // roleID - the entity role ID. // entityRoleUpdateObject - the new entity role. func (client ModelClient) UpdateCustomPrebuiltEntityRole(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, roleID uuid.UUID, entityRoleUpdateObject EntityRoleUpdateObject) (result OperationStatus, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.UpdateCustomPrebuiltEntityRole") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } req, err := client.UpdateCustomPrebuiltEntityRolePreparer(ctx, appID, versionID, entityID, roleID, entityRoleUpdateObject) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "UpdateCustomPrebuiltEntityRole", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "UpdateCustomPrebuiltEntityRole", nil, "Failure preparing request") return } resp, err := client.UpdateCustomPrebuiltEntityRoleSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "UpdateCustomPrebuiltEntityRole", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "UpdateCustomPrebuiltEntityRole", resp, "Failure sending request") return } result, err = client.UpdateCustomPrebuiltEntityRoleResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "UpdateCustomPrebuiltEntityRole", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "UpdateCustomPrebuiltEntityRole", resp, "Failure responding to request") } return @@ -6458,7 +7334,7 @@ func (client ModelClient) UpdateCustomPrebuiltEntityRole(ctx context.Context, ap // UpdateCustomPrebuiltEntityRolePreparer prepares the UpdateCustomPrebuiltEntityRole request. func (client ModelClient) UpdateCustomPrebuiltEntityRolePreparer(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, roleID uuid.UUID, entityRoleUpdateObject EntityRoleUpdateObject) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -6471,7 +7347,7 @@ func (client ModelClient) UpdateCustomPrebuiltEntityRolePreparer(ctx context.Con preparer := autorest.CreatePreparer( autorest.AsContentType("application/json; charset=utf-8"), autorest.AsPut(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/customprebuiltentities/{entityId}/roles/{roleId}", pathParameters), autorest.WithJSON(entityRoleUpdateObject)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) @@ -6480,8 +7356,8 @@ func (client ModelClient) UpdateCustomPrebuiltEntityRolePreparer(ctx context.Con // UpdateCustomPrebuiltEntityRoleSender sends the UpdateCustomPrebuiltEntityRole request. The method will close the // http.Response Body if it receives an error. func (client ModelClient) UpdateCustomPrebuiltEntityRoleSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // UpdateCustomPrebuiltEntityRoleResponder handles the response to the UpdateCustomPrebuiltEntityRole request. The method always @@ -6497,38 +7373,50 @@ func (client ModelClient) UpdateCustomPrebuiltEntityRoleResponder(resp *http.Res return } -// UpdateEntity updates the name of an entity extractor. +// UpdateEntityChild updates the name of an entity extractor or the name and instanceOf model of a child entity +// extractor. // Parameters: // appID - the application ID. // versionID - the version ID. -// entityID - the entity extractor ID. -// modelUpdateObject - a model object containing the new entity extractor name. -func (client ModelClient) UpdateEntity(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, modelUpdateObject ModelUpdateObject) (result OperationStatus, err error) { - req, err := client.UpdateEntityPreparer(ctx, appID, versionID, entityID, modelUpdateObject) +// entityID - the entity extractor or the child entity extractor ID. +// entityModelUpdateObject - a model object containing the name new entity extractor or the name and instance +// of model of a child entity extractor +func (client ModelClient) UpdateEntityChild(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, entityModelUpdateObject EntityModelUpdateObject) (result OperationStatus, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.UpdateEntityChild") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdateEntityChildPreparer(ctx, appID, versionID, entityID, entityModelUpdateObject) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "UpdateEntity", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "UpdateEntityChild", nil, "Failure preparing request") return } - resp, err := client.UpdateEntitySender(req) + resp, err := client.UpdateEntityChildSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "UpdateEntity", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "UpdateEntityChild", resp, "Failure sending request") return } - result, err = client.UpdateEntityResponder(resp) + result, err = client.UpdateEntityChildResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "UpdateEntity", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "UpdateEntityChild", resp, "Failure responding to request") } return } -// UpdateEntityPreparer prepares the UpdateEntity request. -func (client ModelClient) UpdateEntityPreparer(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, modelUpdateObject ModelUpdateObject) (*http.Request, error) { +// UpdateEntityChildPreparer prepares the UpdateEntityChild request. +func (client ModelClient) UpdateEntityChildPreparer(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, entityModelUpdateObject EntityModelUpdateObject) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -6539,23 +7427,23 @@ func (client ModelClient) UpdateEntityPreparer(ctx context.Context, appID uuid.U preparer := autorest.CreatePreparer( autorest.AsContentType("application/json; charset=utf-8"), - autorest.AsPut(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.AsPatch(), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/entities/{entityId}", pathParameters), - autorest.WithJSON(modelUpdateObject)) + autorest.WithJSON(entityModelUpdateObject)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) } -// UpdateEntitySender sends the UpdateEntity request. The method will close the +// UpdateEntityChildSender sends the UpdateEntityChild request. The method will close the // http.Response Body if it receives an error. -func (client ModelClient) UpdateEntitySender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +func (client ModelClient) UpdateEntityChildSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } -// UpdateEntityResponder handles the response to the UpdateEntity request. The method always +// UpdateEntityChildResponder handles the response to the UpdateEntityChild request. The method always // closes the http.Response Body. -func (client ModelClient) UpdateEntityResponder(resp *http.Response) (result OperationStatus, err error) { +func (client ModelClient) UpdateEntityChildResponder(resp *http.Response) (result OperationStatus, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -6574,22 +7462,32 @@ func (client ModelClient) UpdateEntityResponder(resp *http.Response) (result Ope // roleID - the entity role ID. // entityRoleUpdateObject - the new entity role. func (client ModelClient) UpdateEntityRole(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, roleID uuid.UUID, entityRoleUpdateObject EntityRoleUpdateObject) (result OperationStatus, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.UpdateEntityRole") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } req, err := client.UpdateEntityRolePreparer(ctx, appID, versionID, entityID, roleID, entityRoleUpdateObject) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "UpdateEntityRole", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "UpdateEntityRole", nil, "Failure preparing request") return } resp, err := client.UpdateEntityRoleSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "UpdateEntityRole", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "UpdateEntityRole", resp, "Failure sending request") return } result, err = client.UpdateEntityRoleResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "UpdateEntityRole", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "UpdateEntityRole", resp, "Failure responding to request") } return @@ -6598,7 +7496,7 @@ func (client ModelClient) UpdateEntityRole(ctx context.Context, appID uuid.UUID, // UpdateEntityRolePreparer prepares the UpdateEntityRole request. func (client ModelClient) UpdateEntityRolePreparer(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, roleID uuid.UUID, entityRoleUpdateObject EntityRoleUpdateObject) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -6611,7 +7509,7 @@ func (client ModelClient) UpdateEntityRolePreparer(ctx context.Context, appID uu preparer := autorest.CreatePreparer( autorest.AsContentType("application/json; charset=utf-8"), autorest.AsPut(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/entities/{entityId}/roles/{roleId}", pathParameters), autorest.WithJSON(entityRoleUpdateObject)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) @@ -6620,8 +7518,8 @@ func (client ModelClient) UpdateEntityRolePreparer(ctx context.Context, appID uu // UpdateEntityRoleSender sends the UpdateEntityRole request. The method will close the // http.Response Body if it receives an error. func (client ModelClient) UpdateEntityRoleSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // UpdateEntityRoleResponder handles the response to the UpdateEntityRole request. The method always @@ -6645,22 +7543,32 @@ func (client ModelClient) UpdateEntityRoleResponder(resp *http.Response) (result // itemID - the explicit list item ID. // item - the new explicit list item. func (client ModelClient) UpdateExplicitListItem(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, itemID int64, item ExplicitListItemUpdateObject) (result OperationStatus, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.UpdateExplicitListItem") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } req, err := client.UpdateExplicitListItemPreparer(ctx, appID, versionID, entityID, itemID, item) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "UpdateExplicitListItem", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "UpdateExplicitListItem", nil, "Failure preparing request") return } resp, err := client.UpdateExplicitListItemSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "UpdateExplicitListItem", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "UpdateExplicitListItem", resp, "Failure sending request") return } result, err = client.UpdateExplicitListItemResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "UpdateExplicitListItem", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "UpdateExplicitListItem", resp, "Failure responding to request") } return @@ -6669,7 +7577,7 @@ func (client ModelClient) UpdateExplicitListItem(ctx context.Context, appID uuid // UpdateExplicitListItemPreparer prepares the UpdateExplicitListItem request. func (client ModelClient) UpdateExplicitListItemPreparer(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, itemID int64, item ExplicitListItemUpdateObject) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -6682,7 +7590,7 @@ func (client ModelClient) UpdateExplicitListItemPreparer(ctx context.Context, ap preparer := autorest.CreatePreparer( autorest.AsContentType("application/json; charset=utf-8"), autorest.AsPut(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/patternanyentities/{entityId}/explicitlist/{itemId}", pathParameters), autorest.WithJSON(item)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) @@ -6691,8 +7599,8 @@ func (client ModelClient) UpdateExplicitListItemPreparer(ctx context.Context, ap // UpdateExplicitListItemSender sends the UpdateExplicitListItem request. The method will close the // http.Response Body if it receives an error. func (client ModelClient) UpdateExplicitListItemSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // UpdateExplicitListItemResponder handles the response to the UpdateExplicitListItem request. The method always @@ -6708,38 +7616,48 @@ func (client ModelClient) UpdateExplicitListItemResponder(resp *http.Response) ( return } -// UpdateHierarchicalEntity updates the name and children of a hierarchical entity model. +// UpdateHierarchicalEntity updates the name of a hierarchical entity model in a version of the application. // Parameters: // appID - the application ID. // versionID - the version ID. // hEntityID - the hierarchical entity extractor ID. -// hierarchicalModelUpdateObject - model containing names of the children of the hierarchical entity. -func (client ModelClient) UpdateHierarchicalEntity(ctx context.Context, appID uuid.UUID, versionID string, hEntityID uuid.UUID, hierarchicalModelUpdateObject HierarchicalEntityModel) (result OperationStatus, err error) { - req, err := client.UpdateHierarchicalEntityPreparer(ctx, appID, versionID, hEntityID, hierarchicalModelUpdateObject) +// modelUpdateObject - model containing names of the hierarchical entity. +func (client ModelClient) UpdateHierarchicalEntity(ctx context.Context, appID uuid.UUID, versionID string, hEntityID uuid.UUID, modelUpdateObject ModelUpdateObject) (result OperationStatus, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.UpdateHierarchicalEntity") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdateHierarchicalEntityPreparer(ctx, appID, versionID, hEntityID, modelUpdateObject) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "UpdateHierarchicalEntity", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "UpdateHierarchicalEntity", nil, "Failure preparing request") return } resp, err := client.UpdateHierarchicalEntitySender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "UpdateHierarchicalEntity", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "UpdateHierarchicalEntity", resp, "Failure sending request") return } result, err = client.UpdateHierarchicalEntityResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "UpdateHierarchicalEntity", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "UpdateHierarchicalEntity", resp, "Failure responding to request") } return } // UpdateHierarchicalEntityPreparer prepares the UpdateHierarchicalEntity request. -func (client ModelClient) UpdateHierarchicalEntityPreparer(ctx context.Context, appID uuid.UUID, versionID string, hEntityID uuid.UUID, hierarchicalModelUpdateObject HierarchicalEntityModel) (*http.Request, error) { +func (client ModelClient) UpdateHierarchicalEntityPreparer(ctx context.Context, appID uuid.UUID, versionID string, hEntityID uuid.UUID, modelUpdateObject ModelUpdateObject) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -6750,18 +7668,18 @@ func (client ModelClient) UpdateHierarchicalEntityPreparer(ctx context.Context, preparer := autorest.CreatePreparer( autorest.AsContentType("application/json; charset=utf-8"), - autorest.AsPut(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.AsPatch(), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/hierarchicalentities/{hEntityId}", pathParameters), - autorest.WithJSON(hierarchicalModelUpdateObject)) + autorest.WithJSON(modelUpdateObject)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) } // UpdateHierarchicalEntitySender sends the UpdateHierarchicalEntity request. The method will close the // http.Response Body if it receives an error. func (client ModelClient) UpdateHierarchicalEntitySender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // UpdateHierarchicalEntityResponder handles the response to the UpdateHierarchicalEntity request. The method always @@ -6777,7 +7695,8 @@ func (client ModelClient) UpdateHierarchicalEntityResponder(resp *http.Response) return } -// UpdateHierarchicalEntityChild renames a single child in an existing hierarchical entity model. +// UpdateHierarchicalEntityChild renames a single child in an existing hierarchical entity model in a version of the +// application. // Parameters: // appID - the application ID. // versionID - the version ID. @@ -6785,22 +7704,32 @@ func (client ModelClient) UpdateHierarchicalEntityResponder(resp *http.Response) // hChildID - the hierarchical entity extractor child ID. // hierarchicalChildModelUpdateObject - model object containing new name of the hierarchical entity child. func (client ModelClient) UpdateHierarchicalEntityChild(ctx context.Context, appID uuid.UUID, versionID string, hEntityID uuid.UUID, hChildID uuid.UUID, hierarchicalChildModelUpdateObject HierarchicalChildModelUpdateObject) (result OperationStatus, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.UpdateHierarchicalEntityChild") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } req, err := client.UpdateHierarchicalEntityChildPreparer(ctx, appID, versionID, hEntityID, hChildID, hierarchicalChildModelUpdateObject) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "UpdateHierarchicalEntityChild", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "UpdateHierarchicalEntityChild", nil, "Failure preparing request") return } resp, err := client.UpdateHierarchicalEntityChildSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "UpdateHierarchicalEntityChild", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "UpdateHierarchicalEntityChild", resp, "Failure sending request") return } result, err = client.UpdateHierarchicalEntityChildResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "UpdateHierarchicalEntityChild", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "UpdateHierarchicalEntityChild", resp, "Failure responding to request") } return @@ -6809,7 +7738,7 @@ func (client ModelClient) UpdateHierarchicalEntityChild(ctx context.Context, app // UpdateHierarchicalEntityChildPreparer prepares the UpdateHierarchicalEntityChild request. func (client ModelClient) UpdateHierarchicalEntityChildPreparer(ctx context.Context, appID uuid.UUID, versionID string, hEntityID uuid.UUID, hChildID uuid.UUID, hierarchicalChildModelUpdateObject HierarchicalChildModelUpdateObject) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -6821,8 +7750,8 @@ func (client ModelClient) UpdateHierarchicalEntityChildPreparer(ctx context.Cont preparer := autorest.CreatePreparer( autorest.AsContentType("application/json; charset=utf-8"), - autorest.AsPut(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.AsPatch(), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/hierarchicalentities/{hEntityId}/children/{hChildId}", pathParameters), autorest.WithJSON(hierarchicalChildModelUpdateObject)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) @@ -6831,8 +7760,8 @@ func (client ModelClient) UpdateHierarchicalEntityChildPreparer(ctx context.Cont // UpdateHierarchicalEntityChildSender sends the UpdateHierarchicalEntityChild request. The method will close the // http.Response Body if it receives an error. func (client ModelClient) UpdateHierarchicalEntityChildSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // UpdateHierarchicalEntityChildResponder handles the response to the UpdateHierarchicalEntityChild request. The method always @@ -6856,22 +7785,32 @@ func (client ModelClient) UpdateHierarchicalEntityChildResponder(resp *http.Resp // roleID - the entity role ID. // entityRoleUpdateObject - the new entity role. func (client ModelClient) UpdateHierarchicalEntityRole(ctx context.Context, appID uuid.UUID, versionID string, hEntityID uuid.UUID, roleID uuid.UUID, entityRoleUpdateObject EntityRoleUpdateObject) (result OperationStatus, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.UpdateHierarchicalEntityRole") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } req, err := client.UpdateHierarchicalEntityRolePreparer(ctx, appID, versionID, hEntityID, roleID, entityRoleUpdateObject) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "UpdateHierarchicalEntityRole", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "UpdateHierarchicalEntityRole", nil, "Failure preparing request") return } resp, err := client.UpdateHierarchicalEntityRoleSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "UpdateHierarchicalEntityRole", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "UpdateHierarchicalEntityRole", resp, "Failure sending request") return } result, err = client.UpdateHierarchicalEntityRoleResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "UpdateHierarchicalEntityRole", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "UpdateHierarchicalEntityRole", resp, "Failure responding to request") } return @@ -6880,7 +7819,7 @@ func (client ModelClient) UpdateHierarchicalEntityRole(ctx context.Context, appI // UpdateHierarchicalEntityRolePreparer prepares the UpdateHierarchicalEntityRole request. func (client ModelClient) UpdateHierarchicalEntityRolePreparer(ctx context.Context, appID uuid.UUID, versionID string, hEntityID uuid.UUID, roleID uuid.UUID, entityRoleUpdateObject EntityRoleUpdateObject) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -6893,7 +7832,7 @@ func (client ModelClient) UpdateHierarchicalEntityRolePreparer(ctx context.Conte preparer := autorest.CreatePreparer( autorest.AsContentType("application/json; charset=utf-8"), autorest.AsPut(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/hierarchicalentities/{hEntityId}/roles/{roleId}", pathParameters), autorest.WithJSON(entityRoleUpdateObject)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) @@ -6902,8 +7841,8 @@ func (client ModelClient) UpdateHierarchicalEntityRolePreparer(ctx context.Conte // UpdateHierarchicalEntityRoleSender sends the UpdateHierarchicalEntityRole request. The method will close the // http.Response Body if it receives an error. func (client ModelClient) UpdateHierarchicalEntityRoleSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // UpdateHierarchicalEntityRoleResponder handles the response to the UpdateHierarchicalEntityRole request. The method always @@ -6919,29 +7858,39 @@ func (client ModelClient) UpdateHierarchicalEntityRoleResponder(resp *http.Respo return } -// UpdateIntent updates the name of an intent classifier. +// UpdateIntent updates the name of an intent in a version of the application. // Parameters: // appID - the application ID. // versionID - the version ID. // intentID - the intent classifier ID. -// modelUpdateObject - a model object containing the new intent classifier name. +// modelUpdateObject - a model object containing the new intent name. func (client ModelClient) UpdateIntent(ctx context.Context, appID uuid.UUID, versionID string, intentID uuid.UUID, modelUpdateObject ModelUpdateObject) (result OperationStatus, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.UpdateIntent") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } req, err := client.UpdateIntentPreparer(ctx, appID, versionID, intentID, modelUpdateObject) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "UpdateIntent", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "UpdateIntent", nil, "Failure preparing request") return } resp, err := client.UpdateIntentSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "UpdateIntent", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "UpdateIntent", resp, "Failure sending request") return } result, err = client.UpdateIntentResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "UpdateIntent", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "UpdateIntent", resp, "Failure responding to request") } return @@ -6950,7 +7899,7 @@ func (client ModelClient) UpdateIntent(ctx context.Context, appID uuid.UUID, ver // UpdateIntentPreparer prepares the UpdateIntent request. func (client ModelClient) UpdateIntentPreparer(ctx context.Context, appID uuid.UUID, versionID string, intentID uuid.UUID, modelUpdateObject ModelUpdateObject) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -6962,7 +7911,7 @@ func (client ModelClient) UpdateIntentPreparer(ctx context.Context, appID uuid.U preparer := autorest.CreatePreparer( autorest.AsContentType("application/json; charset=utf-8"), autorest.AsPut(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/intents/{intentId}", pathParameters), autorest.WithJSON(modelUpdateObject)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) @@ -6971,8 +7920,8 @@ func (client ModelClient) UpdateIntentPreparer(ctx context.Context, appID uuid.U // UpdateIntentSender sends the UpdateIntent request. The method will close the // http.Response Body if it receives an error. func (client ModelClient) UpdateIntentSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // UpdateIntentResponder handles the response to the UpdateIntent request. The method always @@ -6995,22 +7944,32 @@ func (client ModelClient) UpdateIntentResponder(resp *http.Response) (result Ope // entityID - the Pattern.Any entity extractor ID. // patternAnyUpdateObject - an object containing the explicit list of the Pattern.Any entity. func (client ModelClient) UpdatePatternAnyEntityModel(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, patternAnyUpdateObject PatternAnyModelUpdateObject) (result OperationStatus, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.UpdatePatternAnyEntityModel") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } req, err := client.UpdatePatternAnyEntityModelPreparer(ctx, appID, versionID, entityID, patternAnyUpdateObject) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "UpdatePatternAnyEntityModel", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "UpdatePatternAnyEntityModel", nil, "Failure preparing request") return } resp, err := client.UpdatePatternAnyEntityModelSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "UpdatePatternAnyEntityModel", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "UpdatePatternAnyEntityModel", resp, "Failure sending request") return } result, err = client.UpdatePatternAnyEntityModelResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "UpdatePatternAnyEntityModel", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "UpdatePatternAnyEntityModel", resp, "Failure responding to request") } return @@ -7019,7 +7978,7 @@ func (client ModelClient) UpdatePatternAnyEntityModel(ctx context.Context, appID // UpdatePatternAnyEntityModelPreparer prepares the UpdatePatternAnyEntityModel request. func (client ModelClient) UpdatePatternAnyEntityModelPreparer(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, patternAnyUpdateObject PatternAnyModelUpdateObject) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -7031,7 +7990,7 @@ func (client ModelClient) UpdatePatternAnyEntityModelPreparer(ctx context.Contex preparer := autorest.CreatePreparer( autorest.AsContentType("application/json; charset=utf-8"), autorest.AsPut(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/patternanyentities/{entityId}", pathParameters), autorest.WithJSON(patternAnyUpdateObject)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) @@ -7040,8 +7999,8 @@ func (client ModelClient) UpdatePatternAnyEntityModelPreparer(ctx context.Contex // UpdatePatternAnyEntityModelSender sends the UpdatePatternAnyEntityModel request. The method will close the // http.Response Body if it receives an error. func (client ModelClient) UpdatePatternAnyEntityModelSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // UpdatePatternAnyEntityModelResponder handles the response to the UpdatePatternAnyEntityModel request. The method always @@ -7065,22 +8024,32 @@ func (client ModelClient) UpdatePatternAnyEntityModelResponder(resp *http.Respon // roleID - the entity role ID. // entityRoleUpdateObject - the new entity role. func (client ModelClient) UpdatePatternAnyEntityRole(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, roleID uuid.UUID, entityRoleUpdateObject EntityRoleUpdateObject) (result OperationStatus, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.UpdatePatternAnyEntityRole") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } req, err := client.UpdatePatternAnyEntityRolePreparer(ctx, appID, versionID, entityID, roleID, entityRoleUpdateObject) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "UpdatePatternAnyEntityRole", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "UpdatePatternAnyEntityRole", nil, "Failure preparing request") return } resp, err := client.UpdatePatternAnyEntityRoleSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "UpdatePatternAnyEntityRole", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "UpdatePatternAnyEntityRole", resp, "Failure sending request") return } result, err = client.UpdatePatternAnyEntityRoleResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "UpdatePatternAnyEntityRole", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "UpdatePatternAnyEntityRole", resp, "Failure responding to request") } return @@ -7089,7 +8058,7 @@ func (client ModelClient) UpdatePatternAnyEntityRole(ctx context.Context, appID // UpdatePatternAnyEntityRolePreparer prepares the UpdatePatternAnyEntityRole request. func (client ModelClient) UpdatePatternAnyEntityRolePreparer(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, roleID uuid.UUID, entityRoleUpdateObject EntityRoleUpdateObject) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -7102,7 +8071,7 @@ func (client ModelClient) UpdatePatternAnyEntityRolePreparer(ctx context.Context preparer := autorest.CreatePreparer( autorest.AsContentType("application/json; charset=utf-8"), autorest.AsPut(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/patternanyentities/{entityId}/roles/{roleId}", pathParameters), autorest.WithJSON(entityRoleUpdateObject)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) @@ -7111,8 +8080,8 @@ func (client ModelClient) UpdatePatternAnyEntityRolePreparer(ctx context.Context // UpdatePatternAnyEntityRoleSender sends the UpdatePatternAnyEntityRole request. The method will close the // http.Response Body if it receives an error. func (client ModelClient) UpdatePatternAnyEntityRoleSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // UpdatePatternAnyEntityRoleResponder handles the response to the UpdatePatternAnyEntityRole request. The method always @@ -7136,22 +8105,32 @@ func (client ModelClient) UpdatePatternAnyEntityRoleResponder(resp *http.Respons // roleID - the entity role ID. // entityRoleUpdateObject - the new entity role. func (client ModelClient) UpdatePrebuiltEntityRole(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, roleID uuid.UUID, entityRoleUpdateObject EntityRoleUpdateObject) (result OperationStatus, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.UpdatePrebuiltEntityRole") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } req, err := client.UpdatePrebuiltEntityRolePreparer(ctx, appID, versionID, entityID, roleID, entityRoleUpdateObject) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "UpdatePrebuiltEntityRole", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "UpdatePrebuiltEntityRole", nil, "Failure preparing request") return } resp, err := client.UpdatePrebuiltEntityRoleSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "UpdatePrebuiltEntityRole", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "UpdatePrebuiltEntityRole", resp, "Failure sending request") return } result, err = client.UpdatePrebuiltEntityRoleResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "UpdatePrebuiltEntityRole", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "UpdatePrebuiltEntityRole", resp, "Failure responding to request") } return @@ -7160,7 +8139,7 @@ func (client ModelClient) UpdatePrebuiltEntityRole(ctx context.Context, appID uu // UpdatePrebuiltEntityRolePreparer prepares the UpdatePrebuiltEntityRole request. func (client ModelClient) UpdatePrebuiltEntityRolePreparer(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, roleID uuid.UUID, entityRoleUpdateObject EntityRoleUpdateObject) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -7173,7 +8152,7 @@ func (client ModelClient) UpdatePrebuiltEntityRolePreparer(ctx context.Context, preparer := autorest.CreatePreparer( autorest.AsContentType("application/json; charset=utf-8"), autorest.AsPut(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/prebuilts/{entityId}/roles/{roleId}", pathParameters), autorest.WithJSON(entityRoleUpdateObject)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) @@ -7182,8 +8161,8 @@ func (client ModelClient) UpdatePrebuiltEntityRolePreparer(ctx context.Context, // UpdatePrebuiltEntityRoleSender sends the UpdatePrebuiltEntityRole request. The method will close the // http.Response Body if it receives an error. func (client ModelClient) UpdatePrebuiltEntityRoleSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // UpdatePrebuiltEntityRoleResponder handles the response to the UpdatePrebuiltEntityRole request. The method always @@ -7203,25 +8182,35 @@ func (client ModelClient) UpdatePrebuiltEntityRoleResponder(resp *http.Response) // Parameters: // appID - the application ID. // versionID - the version ID. -// regexEntityID - the regex entity extractor ID. +// regexEntityID - the regular expression entity extractor ID. // regexEntityUpdateObject - an object containing the new entity name and regex pattern. func (client ModelClient) UpdateRegexEntityModel(ctx context.Context, appID uuid.UUID, versionID string, regexEntityID uuid.UUID, regexEntityUpdateObject RegexModelUpdateObject) (result OperationStatus, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.UpdateRegexEntityModel") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } req, err := client.UpdateRegexEntityModelPreparer(ctx, appID, versionID, regexEntityID, regexEntityUpdateObject) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "UpdateRegexEntityModel", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "UpdateRegexEntityModel", nil, "Failure preparing request") return } resp, err := client.UpdateRegexEntityModelSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "UpdateRegexEntityModel", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "UpdateRegexEntityModel", resp, "Failure sending request") return } result, err = client.UpdateRegexEntityModelResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "UpdateRegexEntityModel", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "UpdateRegexEntityModel", resp, "Failure responding to request") } return @@ -7230,7 +8219,7 @@ func (client ModelClient) UpdateRegexEntityModel(ctx context.Context, appID uuid // UpdateRegexEntityModelPreparer prepares the UpdateRegexEntityModel request. func (client ModelClient) UpdateRegexEntityModelPreparer(ctx context.Context, appID uuid.UUID, versionID string, regexEntityID uuid.UUID, regexEntityUpdateObject RegexModelUpdateObject) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -7242,7 +8231,7 @@ func (client ModelClient) UpdateRegexEntityModelPreparer(ctx context.Context, ap preparer := autorest.CreatePreparer( autorest.AsContentType("application/json; charset=utf-8"), autorest.AsPut(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/regexentities/{regexEntityId}", pathParameters), autorest.WithJSON(regexEntityUpdateObject)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) @@ -7251,8 +8240,8 @@ func (client ModelClient) UpdateRegexEntityModelPreparer(ctx context.Context, ap // UpdateRegexEntityModelSender sends the UpdateRegexEntityModel request. The method will close the // http.Response Body if it receives an error. func (client ModelClient) UpdateRegexEntityModelSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // UpdateRegexEntityModelResponder handles the response to the UpdateRegexEntityModel request. The method always @@ -7276,22 +8265,32 @@ func (client ModelClient) UpdateRegexEntityModelResponder(resp *http.Response) ( // roleID - the entity role ID. // entityRoleUpdateObject - the new entity role. func (client ModelClient) UpdateRegexEntityRole(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, roleID uuid.UUID, entityRoleUpdateObject EntityRoleUpdateObject) (result OperationStatus, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.UpdateRegexEntityRole") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } req, err := client.UpdateRegexEntityRolePreparer(ctx, appID, versionID, entityID, roleID, entityRoleUpdateObject) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "UpdateRegexEntityRole", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "UpdateRegexEntityRole", nil, "Failure preparing request") return } resp, err := client.UpdateRegexEntityRoleSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "UpdateRegexEntityRole", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "UpdateRegexEntityRole", resp, "Failure sending request") return } result, err = client.UpdateRegexEntityRoleResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "UpdateRegexEntityRole", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "UpdateRegexEntityRole", resp, "Failure responding to request") } return @@ -7300,7 +8299,7 @@ func (client ModelClient) UpdateRegexEntityRole(ctx context.Context, appID uuid. // UpdateRegexEntityRolePreparer prepares the UpdateRegexEntityRole request. func (client ModelClient) UpdateRegexEntityRolePreparer(ctx context.Context, appID uuid.UUID, versionID string, entityID uuid.UUID, roleID uuid.UUID, entityRoleUpdateObject EntityRoleUpdateObject) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -7313,7 +8312,7 @@ func (client ModelClient) UpdateRegexEntityRolePreparer(ctx context.Context, app preparer := autorest.CreatePreparer( autorest.AsContentType("application/json; charset=utf-8"), autorest.AsPut(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/regexentities/{entityId}/roles/{roleId}", pathParameters), autorest.WithJSON(entityRoleUpdateObject)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) @@ -7322,8 +8321,8 @@ func (client ModelClient) UpdateRegexEntityRolePreparer(ctx context.Context, app // UpdateRegexEntityRoleSender sends the UpdateRegexEntityRole request. The method will close the // http.Response Body if it receives an error. func (client ModelClient) UpdateRegexEntityRoleSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // UpdateRegexEntityRoleResponder handles the response to the UpdateRegexEntityRole request. The method always @@ -7339,39 +8338,49 @@ func (client ModelClient) UpdateRegexEntityRoleResponder(resp *http.Response) (r return } -// UpdateSubList updates one of the closed list's sublists. +// UpdateSubList updates one of the list entity's sublists in a version of the application. // Parameters: // appID - the application ID. // versionID - the version ID. -// clEntityID - the closed list entity extractor ID. +// clEntityID - the list entity extractor ID. // subListID - the sublist ID. // wordListBaseUpdateObject - a sublist update object containing the new canonical form and the list of words. -func (client ModelClient) UpdateSubList(ctx context.Context, appID uuid.UUID, versionID string, clEntityID uuid.UUID, subListID int32, wordListBaseUpdateObject WordListBaseUpdateObject) (result OperationStatus, err error) { +func (client ModelClient) UpdateSubList(ctx context.Context, appID uuid.UUID, versionID string, clEntityID uuid.UUID, subListID int64, wordListBaseUpdateObject WordListBaseUpdateObject) (result OperationStatus, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ModelClient.UpdateSubList") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } req, err := client.UpdateSubListPreparer(ctx, appID, versionID, clEntityID, subListID, wordListBaseUpdateObject) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "UpdateSubList", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "UpdateSubList", nil, "Failure preparing request") return } resp, err := client.UpdateSubListSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "UpdateSubList", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "UpdateSubList", resp, "Failure sending request") return } result, err = client.UpdateSubListResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.ModelClient", "UpdateSubList", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.ModelClient", "UpdateSubList", resp, "Failure responding to request") } return } // UpdateSubListPreparer prepares the UpdateSubList request. -func (client ModelClient) UpdateSubListPreparer(ctx context.Context, appID uuid.UUID, versionID string, clEntityID uuid.UUID, subListID int32, wordListBaseUpdateObject WordListBaseUpdateObject) (*http.Request, error) { +func (client ModelClient) UpdateSubListPreparer(ctx context.Context, appID uuid.UUID, versionID string, clEntityID uuid.UUID, subListID int64, wordListBaseUpdateObject WordListBaseUpdateObject) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -7384,7 +8393,7 @@ func (client ModelClient) UpdateSubListPreparer(ctx context.Context, appID uuid. preparer := autorest.CreatePreparer( autorest.AsContentType("application/json; charset=utf-8"), autorest.AsPut(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/closedlists/{clEntityId}/sublists/{subListId}", pathParameters), autorest.WithJSON(wordListBaseUpdateObject)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) @@ -7393,8 +8402,8 @@ func (client ModelClient) UpdateSubListPreparer(ctx context.Context, appID uuid. // UpdateSubListSender sends the UpdateSubList request. The method will close the // http.Response Body if it receives an error. func (client ModelClient) UpdateSubListSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // UpdateSubListResponder handles the response to the UpdateSubList request. The method always diff --git a/services/cognitiveservices/v2.0/luis/programmatic/models.go b/services/preview/cognitiveservices/v3.0/luis/authoring/models.go similarity index 69% rename from services/cognitiveservices/v2.0/luis/programmatic/models.go rename to services/preview/cognitiveservices/v3.0/luis/authoring/models.go index 20baf248cec5..4bb36f436ce5 100644 --- a/services/cognitiveservices/v2.0/luis/programmatic/models.go +++ b/services/preview/cognitiveservices/v3.0/luis/authoring/models.go @@ -1,4 +1,4 @@ -package programmatic +package authoring // Copyright (c) Microsoft and contributors. All rights reserved. // @@ -25,40 +25,8 @@ import ( "io" ) -// AzureRegions enumerates the values for azure regions. -type AzureRegions string - -const ( - // Australiaeast ... - Australiaeast AzureRegions = "australiaeast" - // Brazilsouth ... - Brazilsouth AzureRegions = "brazilsouth" - // Eastasia ... - Eastasia AzureRegions = "eastasia" - // Eastus ... - Eastus AzureRegions = "eastus" - // Eastus2 ... - Eastus2 AzureRegions = "eastus2" - // Northeurope ... - Northeurope AzureRegions = "northeurope" - // Southcentralus ... - Southcentralus AzureRegions = "southcentralus" - // Southeastasia ... - Southeastasia AzureRegions = "southeastasia" - // Westcentralus ... - Westcentralus AzureRegions = "westcentralus" - // Westeurope ... - Westeurope AzureRegions = "westeurope" - // Westus ... - Westus AzureRegions = "westus" - // Westus2 ... - Westus2 AzureRegions = "westus2" -) - -// PossibleAzureRegionsValues returns an array of possible values for the AzureRegions const type. -func PossibleAzureRegionsValues() []AzureRegions { - return []AzureRegions{Australiaeast, Brazilsouth, Eastasia, Eastus, Eastus2, Northeurope, Southcentralus, Southeastasia, Westcentralus, Westeurope, Westus, Westus2} -} +// The package's fully qualified name. +const fqdn = "github.com/Azure/azure-sdk-for-go/services/preview/cognitiveservices/v3.0/luis/authoring" // OperationStatusType enumerates the values for operation status type. type OperationStatusType string @@ -81,6 +49,8 @@ func PossibleOperationStatusTypeValues() []OperationStatusType { type ReadableType string const ( + // ReadableTypeChildEntityExtractor ... + ReadableTypeChildEntityExtractor ReadableType = "Child Entity Extractor" // ReadableTypeClosedListEntityExtractor ... ReadableTypeClosedListEntityExtractor ReadableType = "Closed List Entity Extractor" // ReadableTypeCompositeEntityExtractor ... @@ -93,6 +63,8 @@ const ( ReadableTypeHierarchicalEntityExtractor ReadableType = "Hierarchical Entity Extractor" // ReadableTypeIntentClassifier ... ReadableTypeIntentClassifier ReadableType = "Intent Classifier" + // ReadableTypeListEntityExtractor ... + ReadableTypeListEntityExtractor ReadableType = "List Entity Extractor" // ReadableTypePatternAnyEntityExtractor ... ReadableTypePatternAnyEntityExtractor ReadableType = "Pattern.Any Entity Extractor" // ReadableTypePrebuiltEntityExtractor ... @@ -103,13 +75,15 @@ const ( // PossibleReadableTypeValues returns an array of possible values for the ReadableType const type. func PossibleReadableTypeValues() []ReadableType { - return []ReadableType{ReadableTypeClosedListEntityExtractor, ReadableTypeCompositeEntityExtractor, ReadableTypeEntityExtractor, ReadableTypeHierarchicalChildEntityExtractor, ReadableTypeHierarchicalEntityExtractor, ReadableTypeIntentClassifier, ReadableTypePatternAnyEntityExtractor, ReadableTypePrebuiltEntityExtractor, ReadableTypeRegexEntityExtractor} + return []ReadableType{ReadableTypeChildEntityExtractor, ReadableTypeClosedListEntityExtractor, ReadableTypeCompositeEntityExtractor, ReadableTypeEntityExtractor, ReadableTypeHierarchicalChildEntityExtractor, ReadableTypeHierarchicalEntityExtractor, ReadableTypeIntentClassifier, ReadableTypeListEntityExtractor, ReadableTypePatternAnyEntityExtractor, ReadableTypePrebuiltEntityExtractor, ReadableTypeRegexEntityExtractor} } // ReadableType1 enumerates the values for readable type 1. type ReadableType1 string const ( + // ReadableType1ChildEntityExtractor ... + ReadableType1ChildEntityExtractor ReadableType1 = "Child Entity Extractor" // ReadableType1ClosedListEntityExtractor ... ReadableType1ClosedListEntityExtractor ReadableType1 = "Closed List Entity Extractor" // ReadableType1CompositeEntityExtractor ... @@ -122,6 +96,8 @@ const ( ReadableType1HierarchicalEntityExtractor ReadableType1 = "Hierarchical Entity Extractor" // ReadableType1IntentClassifier ... ReadableType1IntentClassifier ReadableType1 = "Intent Classifier" + // ReadableType1ListEntityExtractor ... + ReadableType1ListEntityExtractor ReadableType1 = "List Entity Extractor" // ReadableType1PatternAnyEntityExtractor ... ReadableType1PatternAnyEntityExtractor ReadableType1 = "Pattern.Any Entity Extractor" // ReadableType1PrebuiltEntityExtractor ... @@ -132,13 +108,15 @@ const ( // PossibleReadableType1Values returns an array of possible values for the ReadableType1 const type. func PossibleReadableType1Values() []ReadableType1 { - return []ReadableType1{ReadableType1ClosedListEntityExtractor, ReadableType1CompositeEntityExtractor, ReadableType1EntityExtractor, ReadableType1HierarchicalChildEntityExtractor, ReadableType1HierarchicalEntityExtractor, ReadableType1IntentClassifier, ReadableType1PatternAnyEntityExtractor, ReadableType1PrebuiltEntityExtractor, ReadableType1RegexEntityExtractor} + return []ReadableType1{ReadableType1ChildEntityExtractor, ReadableType1ClosedListEntityExtractor, ReadableType1CompositeEntityExtractor, ReadableType1EntityExtractor, ReadableType1HierarchicalChildEntityExtractor, ReadableType1HierarchicalEntityExtractor, ReadableType1IntentClassifier, ReadableType1ListEntityExtractor, ReadableType1PatternAnyEntityExtractor, ReadableType1PrebuiltEntityExtractor, ReadableType1RegexEntityExtractor} } // ReadableType10 enumerates the values for readable type 10. type ReadableType10 string const ( + // ReadableType10ChildEntityExtractor ... + ReadableType10ChildEntityExtractor ReadableType10 = "Child Entity Extractor" // ReadableType10ClosedListEntityExtractor ... ReadableType10ClosedListEntityExtractor ReadableType10 = "Closed List Entity Extractor" // ReadableType10CompositeEntityExtractor ... @@ -151,6 +129,8 @@ const ( ReadableType10HierarchicalEntityExtractor ReadableType10 = "Hierarchical Entity Extractor" // ReadableType10IntentClassifier ... ReadableType10IntentClassifier ReadableType10 = "Intent Classifier" + // ReadableType10ListEntityExtractor ... + ReadableType10ListEntityExtractor ReadableType10 = "List Entity Extractor" // ReadableType10PatternAnyEntityExtractor ... ReadableType10PatternAnyEntityExtractor ReadableType10 = "Pattern.Any Entity Extractor" // ReadableType10PrebuiltEntityExtractor ... @@ -161,13 +141,48 @@ const ( // PossibleReadableType10Values returns an array of possible values for the ReadableType10 const type. func PossibleReadableType10Values() []ReadableType10 { - return []ReadableType10{ReadableType10ClosedListEntityExtractor, ReadableType10CompositeEntityExtractor, ReadableType10EntityExtractor, ReadableType10HierarchicalChildEntityExtractor, ReadableType10HierarchicalEntityExtractor, ReadableType10IntentClassifier, ReadableType10PatternAnyEntityExtractor, ReadableType10PrebuiltEntityExtractor, ReadableType10RegexEntityExtractor} + return []ReadableType10{ReadableType10ChildEntityExtractor, ReadableType10ClosedListEntityExtractor, ReadableType10CompositeEntityExtractor, ReadableType10EntityExtractor, ReadableType10HierarchicalChildEntityExtractor, ReadableType10HierarchicalEntityExtractor, ReadableType10IntentClassifier, ReadableType10ListEntityExtractor, ReadableType10PatternAnyEntityExtractor, ReadableType10PrebuiltEntityExtractor, ReadableType10RegexEntityExtractor} +} + +// ReadableType11 enumerates the values for readable type 11. +type ReadableType11 string + +const ( + // ReadableType11ChildEntityExtractor ... + ReadableType11ChildEntityExtractor ReadableType11 = "Child Entity Extractor" + // ReadableType11ClosedListEntityExtractor ... + ReadableType11ClosedListEntityExtractor ReadableType11 = "Closed List Entity Extractor" + // ReadableType11CompositeEntityExtractor ... + ReadableType11CompositeEntityExtractor ReadableType11 = "Composite Entity Extractor" + // ReadableType11EntityExtractor ... + ReadableType11EntityExtractor ReadableType11 = "Entity Extractor" + // ReadableType11HierarchicalChildEntityExtractor ... + ReadableType11HierarchicalChildEntityExtractor ReadableType11 = "Hierarchical Child Entity Extractor" + // ReadableType11HierarchicalEntityExtractor ... + ReadableType11HierarchicalEntityExtractor ReadableType11 = "Hierarchical Entity Extractor" + // ReadableType11IntentClassifier ... + ReadableType11IntentClassifier ReadableType11 = "Intent Classifier" + // ReadableType11ListEntityExtractor ... + ReadableType11ListEntityExtractor ReadableType11 = "List Entity Extractor" + // ReadableType11PatternAnyEntityExtractor ... + ReadableType11PatternAnyEntityExtractor ReadableType11 = "Pattern.Any Entity Extractor" + // ReadableType11PrebuiltEntityExtractor ... + ReadableType11PrebuiltEntityExtractor ReadableType11 = "Prebuilt Entity Extractor" + // ReadableType11RegexEntityExtractor ... + ReadableType11RegexEntityExtractor ReadableType11 = "Regex Entity Extractor" +) + +// PossibleReadableType11Values returns an array of possible values for the ReadableType11 const type. +func PossibleReadableType11Values() []ReadableType11 { + return []ReadableType11{ReadableType11ChildEntityExtractor, ReadableType11ClosedListEntityExtractor, ReadableType11CompositeEntityExtractor, ReadableType11EntityExtractor, ReadableType11HierarchicalChildEntityExtractor, ReadableType11HierarchicalEntityExtractor, ReadableType11IntentClassifier, ReadableType11ListEntityExtractor, ReadableType11PatternAnyEntityExtractor, ReadableType11PrebuiltEntityExtractor, ReadableType11RegexEntityExtractor} } // ReadableType2 enumerates the values for readable type 2. type ReadableType2 string const ( + // ReadableType2ChildEntityExtractor ... + ReadableType2ChildEntityExtractor ReadableType2 = "Child Entity Extractor" // ReadableType2ClosedListEntityExtractor ... ReadableType2ClosedListEntityExtractor ReadableType2 = "Closed List Entity Extractor" // ReadableType2CompositeEntityExtractor ... @@ -180,6 +195,8 @@ const ( ReadableType2HierarchicalEntityExtractor ReadableType2 = "Hierarchical Entity Extractor" // ReadableType2IntentClassifier ... ReadableType2IntentClassifier ReadableType2 = "Intent Classifier" + // ReadableType2ListEntityExtractor ... + ReadableType2ListEntityExtractor ReadableType2 = "List Entity Extractor" // ReadableType2PatternAnyEntityExtractor ... ReadableType2PatternAnyEntityExtractor ReadableType2 = "Pattern.Any Entity Extractor" // ReadableType2PrebuiltEntityExtractor ... @@ -190,13 +207,15 @@ const ( // PossibleReadableType2Values returns an array of possible values for the ReadableType2 const type. func PossibleReadableType2Values() []ReadableType2 { - return []ReadableType2{ReadableType2ClosedListEntityExtractor, ReadableType2CompositeEntityExtractor, ReadableType2EntityExtractor, ReadableType2HierarchicalChildEntityExtractor, ReadableType2HierarchicalEntityExtractor, ReadableType2IntentClassifier, ReadableType2PatternAnyEntityExtractor, ReadableType2PrebuiltEntityExtractor, ReadableType2RegexEntityExtractor} + return []ReadableType2{ReadableType2ChildEntityExtractor, ReadableType2ClosedListEntityExtractor, ReadableType2CompositeEntityExtractor, ReadableType2EntityExtractor, ReadableType2HierarchicalChildEntityExtractor, ReadableType2HierarchicalEntityExtractor, ReadableType2IntentClassifier, ReadableType2ListEntityExtractor, ReadableType2PatternAnyEntityExtractor, ReadableType2PrebuiltEntityExtractor, ReadableType2RegexEntityExtractor} } // ReadableType3 enumerates the values for readable type 3. type ReadableType3 string const ( + // ReadableType3ChildEntityExtractor ... + ReadableType3ChildEntityExtractor ReadableType3 = "Child Entity Extractor" // ReadableType3ClosedListEntityExtractor ... ReadableType3ClosedListEntityExtractor ReadableType3 = "Closed List Entity Extractor" // ReadableType3CompositeEntityExtractor ... @@ -209,6 +228,8 @@ const ( ReadableType3HierarchicalEntityExtractor ReadableType3 = "Hierarchical Entity Extractor" // ReadableType3IntentClassifier ... ReadableType3IntentClassifier ReadableType3 = "Intent Classifier" + // ReadableType3ListEntityExtractor ... + ReadableType3ListEntityExtractor ReadableType3 = "List Entity Extractor" // ReadableType3PatternAnyEntityExtractor ... ReadableType3PatternAnyEntityExtractor ReadableType3 = "Pattern.Any Entity Extractor" // ReadableType3PrebuiltEntityExtractor ... @@ -219,13 +240,15 @@ const ( // PossibleReadableType3Values returns an array of possible values for the ReadableType3 const type. func PossibleReadableType3Values() []ReadableType3 { - return []ReadableType3{ReadableType3ClosedListEntityExtractor, ReadableType3CompositeEntityExtractor, ReadableType3EntityExtractor, ReadableType3HierarchicalChildEntityExtractor, ReadableType3HierarchicalEntityExtractor, ReadableType3IntentClassifier, ReadableType3PatternAnyEntityExtractor, ReadableType3PrebuiltEntityExtractor, ReadableType3RegexEntityExtractor} + return []ReadableType3{ReadableType3ChildEntityExtractor, ReadableType3ClosedListEntityExtractor, ReadableType3CompositeEntityExtractor, ReadableType3EntityExtractor, ReadableType3HierarchicalChildEntityExtractor, ReadableType3HierarchicalEntityExtractor, ReadableType3IntentClassifier, ReadableType3ListEntityExtractor, ReadableType3PatternAnyEntityExtractor, ReadableType3PrebuiltEntityExtractor, ReadableType3RegexEntityExtractor} } // ReadableType4 enumerates the values for readable type 4. type ReadableType4 string const ( + // ReadableType4ChildEntityExtractor ... + ReadableType4ChildEntityExtractor ReadableType4 = "Child Entity Extractor" // ReadableType4ClosedListEntityExtractor ... ReadableType4ClosedListEntityExtractor ReadableType4 = "Closed List Entity Extractor" // ReadableType4CompositeEntityExtractor ... @@ -238,6 +261,8 @@ const ( ReadableType4HierarchicalEntityExtractor ReadableType4 = "Hierarchical Entity Extractor" // ReadableType4IntentClassifier ... ReadableType4IntentClassifier ReadableType4 = "Intent Classifier" + // ReadableType4ListEntityExtractor ... + ReadableType4ListEntityExtractor ReadableType4 = "List Entity Extractor" // ReadableType4PatternAnyEntityExtractor ... ReadableType4PatternAnyEntityExtractor ReadableType4 = "Pattern.Any Entity Extractor" // ReadableType4PrebuiltEntityExtractor ... @@ -248,13 +273,15 @@ const ( // PossibleReadableType4Values returns an array of possible values for the ReadableType4 const type. func PossibleReadableType4Values() []ReadableType4 { - return []ReadableType4{ReadableType4ClosedListEntityExtractor, ReadableType4CompositeEntityExtractor, ReadableType4EntityExtractor, ReadableType4HierarchicalChildEntityExtractor, ReadableType4HierarchicalEntityExtractor, ReadableType4IntentClassifier, ReadableType4PatternAnyEntityExtractor, ReadableType4PrebuiltEntityExtractor, ReadableType4RegexEntityExtractor} + return []ReadableType4{ReadableType4ChildEntityExtractor, ReadableType4ClosedListEntityExtractor, ReadableType4CompositeEntityExtractor, ReadableType4EntityExtractor, ReadableType4HierarchicalChildEntityExtractor, ReadableType4HierarchicalEntityExtractor, ReadableType4IntentClassifier, ReadableType4ListEntityExtractor, ReadableType4PatternAnyEntityExtractor, ReadableType4PrebuiltEntityExtractor, ReadableType4RegexEntityExtractor} } // ReadableType5 enumerates the values for readable type 5. type ReadableType5 string const ( + // ReadableType5ChildEntityExtractor ... + ReadableType5ChildEntityExtractor ReadableType5 = "Child Entity Extractor" // ReadableType5ClosedListEntityExtractor ... ReadableType5ClosedListEntityExtractor ReadableType5 = "Closed List Entity Extractor" // ReadableType5CompositeEntityExtractor ... @@ -267,6 +294,8 @@ const ( ReadableType5HierarchicalEntityExtractor ReadableType5 = "Hierarchical Entity Extractor" // ReadableType5IntentClassifier ... ReadableType5IntentClassifier ReadableType5 = "Intent Classifier" + // ReadableType5ListEntityExtractor ... + ReadableType5ListEntityExtractor ReadableType5 = "List Entity Extractor" // ReadableType5PatternAnyEntityExtractor ... ReadableType5PatternAnyEntityExtractor ReadableType5 = "Pattern.Any Entity Extractor" // ReadableType5PrebuiltEntityExtractor ... @@ -277,13 +306,15 @@ const ( // PossibleReadableType5Values returns an array of possible values for the ReadableType5 const type. func PossibleReadableType5Values() []ReadableType5 { - return []ReadableType5{ReadableType5ClosedListEntityExtractor, ReadableType5CompositeEntityExtractor, ReadableType5EntityExtractor, ReadableType5HierarchicalChildEntityExtractor, ReadableType5HierarchicalEntityExtractor, ReadableType5IntentClassifier, ReadableType5PatternAnyEntityExtractor, ReadableType5PrebuiltEntityExtractor, ReadableType5RegexEntityExtractor} + return []ReadableType5{ReadableType5ChildEntityExtractor, ReadableType5ClosedListEntityExtractor, ReadableType5CompositeEntityExtractor, ReadableType5EntityExtractor, ReadableType5HierarchicalChildEntityExtractor, ReadableType5HierarchicalEntityExtractor, ReadableType5IntentClassifier, ReadableType5ListEntityExtractor, ReadableType5PatternAnyEntityExtractor, ReadableType5PrebuiltEntityExtractor, ReadableType5RegexEntityExtractor} } // ReadableType6 enumerates the values for readable type 6. type ReadableType6 string const ( + // ReadableType6ChildEntityExtractor ... + ReadableType6ChildEntityExtractor ReadableType6 = "Child Entity Extractor" // ReadableType6ClosedListEntityExtractor ... ReadableType6ClosedListEntityExtractor ReadableType6 = "Closed List Entity Extractor" // ReadableType6CompositeEntityExtractor ... @@ -296,6 +327,8 @@ const ( ReadableType6HierarchicalEntityExtractor ReadableType6 = "Hierarchical Entity Extractor" // ReadableType6IntentClassifier ... ReadableType6IntentClassifier ReadableType6 = "Intent Classifier" + // ReadableType6ListEntityExtractor ... + ReadableType6ListEntityExtractor ReadableType6 = "List Entity Extractor" // ReadableType6PatternAnyEntityExtractor ... ReadableType6PatternAnyEntityExtractor ReadableType6 = "Pattern.Any Entity Extractor" // ReadableType6PrebuiltEntityExtractor ... @@ -306,13 +339,15 @@ const ( // PossibleReadableType6Values returns an array of possible values for the ReadableType6 const type. func PossibleReadableType6Values() []ReadableType6 { - return []ReadableType6{ReadableType6ClosedListEntityExtractor, ReadableType6CompositeEntityExtractor, ReadableType6EntityExtractor, ReadableType6HierarchicalChildEntityExtractor, ReadableType6HierarchicalEntityExtractor, ReadableType6IntentClassifier, ReadableType6PatternAnyEntityExtractor, ReadableType6PrebuiltEntityExtractor, ReadableType6RegexEntityExtractor} + return []ReadableType6{ReadableType6ChildEntityExtractor, ReadableType6ClosedListEntityExtractor, ReadableType6CompositeEntityExtractor, ReadableType6EntityExtractor, ReadableType6HierarchicalChildEntityExtractor, ReadableType6HierarchicalEntityExtractor, ReadableType6IntentClassifier, ReadableType6ListEntityExtractor, ReadableType6PatternAnyEntityExtractor, ReadableType6PrebuiltEntityExtractor, ReadableType6RegexEntityExtractor} } // ReadableType7 enumerates the values for readable type 7. type ReadableType7 string const ( + // ReadableType7ChildEntityExtractor ... + ReadableType7ChildEntityExtractor ReadableType7 = "Child Entity Extractor" // ReadableType7ClosedListEntityExtractor ... ReadableType7ClosedListEntityExtractor ReadableType7 = "Closed List Entity Extractor" // ReadableType7CompositeEntityExtractor ... @@ -325,6 +360,8 @@ const ( ReadableType7HierarchicalEntityExtractor ReadableType7 = "Hierarchical Entity Extractor" // ReadableType7IntentClassifier ... ReadableType7IntentClassifier ReadableType7 = "Intent Classifier" + // ReadableType7ListEntityExtractor ... + ReadableType7ListEntityExtractor ReadableType7 = "List Entity Extractor" // ReadableType7PatternAnyEntityExtractor ... ReadableType7PatternAnyEntityExtractor ReadableType7 = "Pattern.Any Entity Extractor" // ReadableType7PrebuiltEntityExtractor ... @@ -335,13 +372,15 @@ const ( // PossibleReadableType7Values returns an array of possible values for the ReadableType7 const type. func PossibleReadableType7Values() []ReadableType7 { - return []ReadableType7{ReadableType7ClosedListEntityExtractor, ReadableType7CompositeEntityExtractor, ReadableType7EntityExtractor, ReadableType7HierarchicalChildEntityExtractor, ReadableType7HierarchicalEntityExtractor, ReadableType7IntentClassifier, ReadableType7PatternAnyEntityExtractor, ReadableType7PrebuiltEntityExtractor, ReadableType7RegexEntityExtractor} + return []ReadableType7{ReadableType7ChildEntityExtractor, ReadableType7ClosedListEntityExtractor, ReadableType7CompositeEntityExtractor, ReadableType7EntityExtractor, ReadableType7HierarchicalChildEntityExtractor, ReadableType7HierarchicalEntityExtractor, ReadableType7IntentClassifier, ReadableType7ListEntityExtractor, ReadableType7PatternAnyEntityExtractor, ReadableType7PrebuiltEntityExtractor, ReadableType7RegexEntityExtractor} } // ReadableType8 enumerates the values for readable type 8. type ReadableType8 string const ( + // ReadableType8ChildEntityExtractor ... + ReadableType8ChildEntityExtractor ReadableType8 = "Child Entity Extractor" // ReadableType8ClosedListEntityExtractor ... ReadableType8ClosedListEntityExtractor ReadableType8 = "Closed List Entity Extractor" // ReadableType8CompositeEntityExtractor ... @@ -354,6 +393,8 @@ const ( ReadableType8HierarchicalEntityExtractor ReadableType8 = "Hierarchical Entity Extractor" // ReadableType8IntentClassifier ... ReadableType8IntentClassifier ReadableType8 = "Intent Classifier" + // ReadableType8ListEntityExtractor ... + ReadableType8ListEntityExtractor ReadableType8 = "List Entity Extractor" // ReadableType8PatternAnyEntityExtractor ... ReadableType8PatternAnyEntityExtractor ReadableType8 = "Pattern.Any Entity Extractor" // ReadableType8PrebuiltEntityExtractor ... @@ -364,13 +405,15 @@ const ( // PossibleReadableType8Values returns an array of possible values for the ReadableType8 const type. func PossibleReadableType8Values() []ReadableType8 { - return []ReadableType8{ReadableType8ClosedListEntityExtractor, ReadableType8CompositeEntityExtractor, ReadableType8EntityExtractor, ReadableType8HierarchicalChildEntityExtractor, ReadableType8HierarchicalEntityExtractor, ReadableType8IntentClassifier, ReadableType8PatternAnyEntityExtractor, ReadableType8PrebuiltEntityExtractor, ReadableType8RegexEntityExtractor} + return []ReadableType8{ReadableType8ChildEntityExtractor, ReadableType8ClosedListEntityExtractor, ReadableType8CompositeEntityExtractor, ReadableType8EntityExtractor, ReadableType8HierarchicalChildEntityExtractor, ReadableType8HierarchicalEntityExtractor, ReadableType8IntentClassifier, ReadableType8ListEntityExtractor, ReadableType8PatternAnyEntityExtractor, ReadableType8PrebuiltEntityExtractor, ReadableType8RegexEntityExtractor} } // ReadableType9 enumerates the values for readable type 9. type ReadableType9 string const ( + // ReadableType9ChildEntityExtractor ... + ReadableType9ChildEntityExtractor ReadableType9 = "Child Entity Extractor" // ReadableType9ClosedListEntityExtractor ... ReadableType9ClosedListEntityExtractor ReadableType9 = "Closed List Entity Extractor" // ReadableType9CompositeEntityExtractor ... @@ -383,6 +426,8 @@ const ( ReadableType9HierarchicalEntityExtractor ReadableType9 = "Hierarchical Entity Extractor" // ReadableType9IntentClassifier ... ReadableType9IntentClassifier ReadableType9 = "Intent Classifier" + // ReadableType9ListEntityExtractor ... + ReadableType9ListEntityExtractor ReadableType9 = "List Entity Extractor" // ReadableType9PatternAnyEntityExtractor ... ReadableType9PatternAnyEntityExtractor ReadableType9 = "Pattern.Any Entity Extractor" // ReadableType9PrebuiltEntityExtractor ... @@ -393,7 +438,7 @@ const ( // PossibleReadableType9Values returns an array of possible values for the ReadableType9 const type. func PossibleReadableType9Values() []ReadableType9 { - return []ReadableType9{ReadableType9ClosedListEntityExtractor, ReadableType9CompositeEntityExtractor, ReadableType9EntityExtractor, ReadableType9HierarchicalChildEntityExtractor, ReadableType9HierarchicalEntityExtractor, ReadableType9IntentClassifier, ReadableType9PatternAnyEntityExtractor, ReadableType9PrebuiltEntityExtractor, ReadableType9RegexEntityExtractor} + return []ReadableType9{ReadableType9ChildEntityExtractor, ReadableType9ClosedListEntityExtractor, ReadableType9CompositeEntityExtractor, ReadableType9EntityExtractor, ReadableType9HierarchicalChildEntityExtractor, ReadableType9HierarchicalEntityExtractor, ReadableType9IntentClassifier, ReadableType9ListEntityExtractor, ReadableType9PatternAnyEntityExtractor, ReadableType9PrebuiltEntityExtractor, ReadableType9RegexEntityExtractor} } // Status enumerates the values for status. @@ -480,11 +525,11 @@ type ApplicationInfoResponse struct { Name *string `json:"name,omitempty"` // Description - The description of the application. Description *string `json:"description,omitempty"` - // Culture - The culture of the application. E.g.: en-us. + // Culture - The culture of the application. For example, "en-us". Culture *string `json:"culture,omitempty"` - // UsageScenario - Defines the scenario for the new application. Optional. E.g.: IoT. + // UsageScenario - Defines the scenario for the new application. Optional. For example, IoT. UsageScenario *string `json:"usageScenario,omitempty"` - // Domain - The domain for the new application. Optional. E.g.: Comics. + // Domain - The domain for the new application. Optional. For example, Comics. Domain *string `json:"domain,omitempty"` // VersionsCount - Amount of model versions within the application. VersionsCount *int32 `json:"versionsCount,omitempty"` @@ -504,8 +549,6 @@ type ApplicationPublishObject struct { VersionID *string `json:"versionId,omitempty"` // IsStaging - Indicates if the staging slot should be used, instead of the Production one. IsStaging *bool `json:"isStaging,omitempty"` - // Region - The target region that the application is published to. - Region *string `json:"region,omitempty"` } // ApplicationSettings the application settings. @@ -513,14 +556,14 @@ type ApplicationSettings struct { autorest.Response `json:"-"` // ID - The application ID. ID *uuid.UUID `json:"id,omitempty"` - // IsPublic - Setting your application as public allows other people to use your application's endpoint using their own keys. + // IsPublic - Setting your application as public allows other people to use your application's endpoint using their own keys for billing purposes. IsPublic *bool `json:"public,omitempty"` } // ApplicationSettingUpdateObject object model for updating an application's settings. type ApplicationSettingUpdateObject struct { - // Public - Setting your application as public allows other people to use your application's endpoint using their own keys. - Public *bool `json:"public,omitempty"` + // IsPublic - Setting your application as public allows other people to use your application's endpoint using their own keys. + IsPublic *bool `json:"public,omitempty"` } // ApplicationUpdateObject object model for updating the name or description of an application. @@ -531,6 +574,14 @@ type ApplicationUpdateObject struct { Description *string `json:"description,omitempty"` } +// AppVersionSettingObject object model of an application version setting. +type AppVersionSettingObject struct { + // Name - The application version setting name. + Name *string `json:"name,omitempty"` + // Value - The application version setting value. + Value *string `json:"value,omitempty"` +} + // AvailableCulture available culture for using in a new application. type AvailableCulture struct { // Name - The language name. @@ -549,7 +600,17 @@ type AvailablePrebuiltEntityModel struct { Examples *string `json:"examples,omitempty"` } -// BatchLabelExample response when adding a batch of labeled examples. +// AzureAccountInfoObject defines the Azure account information object. +type AzureAccountInfoObject struct { + // AzureSubscriptionID - The id for the Azure subscription. + AzureSubscriptionID *string `json:"azureSubscriptionId,omitempty"` + // ResourceGroup - The Azure resource group name. + ResourceGroup *string `json:"resourceGroup,omitempty"` + // AccountName - The Azure account name. + AccountName *string `json:"accountName,omitempty"` +} + +// BatchLabelExample response when adding a batch of labeled example utterances. type BatchLabelExample struct { Value *LabelExampleResponse `json:"value,omitempty"` HasError *bool `json:"hasError,omitempty"` @@ -562,18 +623,36 @@ type ChildEntity struct { ID *uuid.UUID `json:"id,omitempty"` // Name - The name of a child entity. Name *string `json:"name,omitempty"` + // InstanceOf - Instance of Model. + InstanceOf *string `json:"instanceOf,omitempty"` + // TypeID - The type ID of the Entity Model. + TypeID *int32 `json:"typeId,omitempty"` + // ReadableType - Possible values include: 'ReadableType1EntityExtractor', 'ReadableType1ChildEntityExtractor', 'ReadableType1HierarchicalEntityExtractor', 'ReadableType1HierarchicalChildEntityExtractor', 'ReadableType1CompositeEntityExtractor', 'ReadableType1ListEntityExtractor', 'ReadableType1PrebuiltEntityExtractor', 'ReadableType1IntentClassifier', 'ReadableType1PatternAnyEntityExtractor', 'ReadableType1ClosedListEntityExtractor', 'ReadableType1RegexEntityExtractor' + ReadableType ReadableType1 `json:"readableType,omitempty"` + // Children - List of children + Children *[]ChildEntity `json:"children,omitempty"` +} + +// ChildEntityModelCreateObject a child entity extractor create object. +type ChildEntityModelCreateObject struct { + // Children - Child entities. + Children *[]ChildEntityModelCreateObject `json:"children,omitempty"` + // Name - Entity name. + Name *string `json:"name,omitempty"` + // InstanceOf - The instance of model name + InstanceOf *string `json:"instanceOf,omitempty"` } -// ClosedList exported Model - A Closed List. +// ClosedList exported Model - A list entity. type ClosedList struct { - // Name - Name of the closed list feature. + // Name - Name of the list entity. Name *string `json:"name,omitempty"` - // SubLists - Sublists for the feature. + // SubLists - Sublists for the list entity. SubLists *[]SubClosedList `json:"subLists,omitempty"` Roles *[]string `json:"roles,omitempty"` } -// ClosedListEntityExtractor closed List Entity Extractor. +// ClosedListEntityExtractor list Entity Extractor. type ClosedListEntityExtractor struct { autorest.Response `json:"-"` // ID - The ID of the Entity Model. @@ -582,32 +661,32 @@ type ClosedListEntityExtractor struct { Name *string `json:"name,omitempty"` // TypeID - The type ID of the Entity Model. TypeID *int32 `json:"typeId,omitempty"` - // ReadableType - Possible values include: 'ReadableType4EntityExtractor', 'ReadableType4HierarchicalEntityExtractor', 'ReadableType4HierarchicalChildEntityExtractor', 'ReadableType4CompositeEntityExtractor', 'ReadableType4ClosedListEntityExtractor', 'ReadableType4PrebuiltEntityExtractor', 'ReadableType4IntentClassifier', 'ReadableType4PatternAnyEntityExtractor', 'ReadableType4RegexEntityExtractor' - ReadableType ReadableType4 `json:"readableType,omitempty"` + // ReadableType - Possible values include: 'ReadableType5EntityExtractor', 'ReadableType5ChildEntityExtractor', 'ReadableType5HierarchicalEntityExtractor', 'ReadableType5HierarchicalChildEntityExtractor', 'ReadableType5CompositeEntityExtractor', 'ReadableType5ListEntityExtractor', 'ReadableType5PrebuiltEntityExtractor', 'ReadableType5IntentClassifier', 'ReadableType5PatternAnyEntityExtractor', 'ReadableType5ClosedListEntityExtractor', 'ReadableType5RegexEntityExtractor' + ReadableType ReadableType5 `json:"readableType,omitempty"` Roles *[]EntityRole `json:"roles,omitempty"` - // SubLists - List of sub-lists. + // SubLists - List of sublists. SubLists *[]SubClosedListResponse `json:"subLists,omitempty"` } -// ClosedListModelCreateObject object model for creating a closed list. +// ClosedListModelCreateObject object model for creating a list entity. type ClosedListModelCreateObject struct { // SubLists - Sublists for the feature. SubLists *[]WordListObject `json:"subLists,omitempty"` - // Name - Name of the closed list feature. + // Name - Name of the list entity. Name *string `json:"name,omitempty"` } -// ClosedListModelPatchObject object model for adding a batch of sublists to an existing closedlist. +// ClosedListModelPatchObject object model for adding a batch of sublists to an existing list entity. type ClosedListModelPatchObject struct { // SubLists - Sublists to add. SubLists *[]WordListObject `json:"subLists,omitempty"` } -// ClosedListModelUpdateObject object model for updating a closed list. +// ClosedListModelUpdateObject object model for updating a list entity. type ClosedListModelUpdateObject struct { // SubLists - The new sublists for the feature. SubLists *[]WordListObject `json:"subLists,omitempty"` - // Name - The new name of the closed list feature. + // Name - The new name of the list entity. Name *string `json:"name,omitempty"` } @@ -631,14 +710,14 @@ type CompositeEntityExtractor struct { Name *string `json:"name,omitempty"` // TypeID - The type ID of the Entity Model. TypeID *int32 `json:"typeId,omitempty"` - // ReadableType - Possible values include: 'ReadableType3EntityExtractor', 'ReadableType3HierarchicalEntityExtractor', 'ReadableType3HierarchicalChildEntityExtractor', 'ReadableType3CompositeEntityExtractor', 'ReadableType3ClosedListEntityExtractor', 'ReadableType3PrebuiltEntityExtractor', 'ReadableType3IntentClassifier', 'ReadableType3PatternAnyEntityExtractor', 'ReadableType3RegexEntityExtractor' - ReadableType ReadableType3 `json:"readableType,omitempty"` + // ReadableType - Possible values include: 'ReadableType4EntityExtractor', 'ReadableType4ChildEntityExtractor', 'ReadableType4HierarchicalEntityExtractor', 'ReadableType4HierarchicalChildEntityExtractor', 'ReadableType4CompositeEntityExtractor', 'ReadableType4ListEntityExtractor', 'ReadableType4PrebuiltEntityExtractor', 'ReadableType4IntentClassifier', 'ReadableType4PatternAnyEntityExtractor', 'ReadableType4ClosedListEntityExtractor', 'ReadableType4RegexEntityExtractor' + ReadableType ReadableType4 `json:"readableType,omitempty"` Roles *[]EntityRole `json:"roles,omitempty"` // Children - List of child entities. Children *[]ChildEntity `json:"children,omitempty"` } -// CompositeEntityModel a composite entity. +// CompositeEntityModel a composite entity extractor. type CompositeEntityModel struct { // Children - Child entities. Children *[]string `json:"children,omitempty"` @@ -654,7 +733,7 @@ type CustomPrebuiltModel struct { Name *string `json:"name,omitempty"` // TypeID - The type ID of the Entity Model. TypeID *int32 `json:"typeId,omitempty"` - // ReadableType - Possible values include: 'ReadableType7EntityExtractor', 'ReadableType7HierarchicalEntityExtractor', 'ReadableType7HierarchicalChildEntityExtractor', 'ReadableType7CompositeEntityExtractor', 'ReadableType7ClosedListEntityExtractor', 'ReadableType7PrebuiltEntityExtractor', 'ReadableType7IntentClassifier', 'ReadableType7PatternAnyEntityExtractor', 'ReadableType7RegexEntityExtractor' + // ReadableType - Possible values include: 'ReadableType7EntityExtractor', 'ReadableType7ChildEntityExtractor', 'ReadableType7HierarchicalEntityExtractor', 'ReadableType7HierarchicalChildEntityExtractor', 'ReadableType7CompositeEntityExtractor', 'ReadableType7ListEntityExtractor', 'ReadableType7PrebuiltEntityExtractor', 'ReadableType7IntentClassifier', 'ReadableType7PatternAnyEntityExtractor', 'ReadableType7ClosedListEntityExtractor', 'ReadableType7RegexEntityExtractor' ReadableType ReadableType7 `json:"readableType,omitempty"` // CustomPrebuiltDomainName - The domain name. CustomPrebuiltDomainName *string `json:"customPrebuiltDomainName,omitempty"` @@ -677,6 +756,8 @@ type EndpointInfo struct { AssignedEndpointKey *string `json:"assignedEndpointKey,omitempty"` // EndpointRegion - The endpoint's region. EndpointRegion *string `json:"endpointRegion,omitempty"` + // FailedRegions - Regions where publishing failed. + FailedRegions *string `json:"failedRegions,omitempty"` // PublishedDateTime - Timestamp when was last published. PublishedDateTime *string `json:"publishedDateTime,omitempty"` } @@ -692,7 +773,7 @@ type EnqueueTrainingResponse struct { // EntitiesSuggestionExample predicted/suggested entity. type EntitiesSuggestionExample struct { - // Text - The utterance. E.g.: what's the weather like in seattle? + // Text - The utterance. For example, "What's the weather like in seattle?" Text *string `json:"text,omitempty"` // TokenizedText - The utterance tokenized. TokenizedText *[]string `json:"tokenizedText,omitempty"` @@ -704,14 +785,13 @@ type EntitiesSuggestionExample struct { // EntityExtractor entity Extractor. type EntityExtractor struct { - autorest.Response `json:"-"` // ID - The ID of the Entity Model. ID *uuid.UUID `json:"id,omitempty"` // Name - Name of the Entity Model. Name *string `json:"name,omitempty"` // TypeID - The type ID of the Entity Model. TypeID *int32 `json:"typeId,omitempty"` - // ReadableType - Possible values include: 'ReadableType8EntityExtractor', 'ReadableType8HierarchicalEntityExtractor', 'ReadableType8HierarchicalChildEntityExtractor', 'ReadableType8CompositeEntityExtractor', 'ReadableType8ClosedListEntityExtractor', 'ReadableType8PrebuiltEntityExtractor', 'ReadableType8IntentClassifier', 'ReadableType8PatternAnyEntityExtractor', 'ReadableType8RegexEntityExtractor' + // ReadableType - Possible values include: 'ReadableType8EntityExtractor', 'ReadableType8ChildEntityExtractor', 'ReadableType8HierarchicalEntityExtractor', 'ReadableType8HierarchicalChildEntityExtractor', 'ReadableType8CompositeEntityExtractor', 'ReadableType8ListEntityExtractor', 'ReadableType8PrebuiltEntityExtractor', 'ReadableType8IntentClassifier', 'ReadableType8PatternAnyEntityExtractor', 'ReadableType8ClosedListEntityExtractor', 'ReadableType8RegexEntityExtractor' ReadableType ReadableType8 `json:"readableType,omitempty"` Roles *[]EntityRole `json:"roles,omitempty"` // CustomPrebuiltDomainName - The domain name. @@ -728,6 +808,10 @@ type EntityLabel struct { StartTokenIndex *int32 `json:"startTokenIndex,omitempty"` // EndTokenIndex - The index within the utterance where the extracted entity ends. EndTokenIndex *int32 `json:"endTokenIndex,omitempty"` + // Role - The role of the predicted entity. + Role *string `json:"role,omitempty"` + // RoleID - The role id for the predicted entity. + RoleID *uuid.UUID `json:"roleId,omitempty"` } // EntityLabelObject defines the entity type and position of the extracted entity within the example. @@ -738,6 +822,16 @@ type EntityLabelObject struct { StartCharIndex *int32 `json:"startCharIndex,omitempty"` // EndCharIndex - The index within the utterance where the extracted entity ends. EndCharIndex *int32 `json:"endCharIndex,omitempty"` + // Role - The role the entity plays in the utterance. + Role *string `json:"role,omitempty"` +} + +// EntityModelCreateObject an entity extractor create object. +type EntityModelCreateObject struct { + // Children - Child entities. + Children *[]ChildEntityModelCreateObject `json:"children,omitempty"` + // Name - Entity name. + Name *string `json:"name,omitempty"` } // EntityModelInfo an Entity Extractor model info. @@ -749,10 +843,18 @@ type EntityModelInfo struct { Name *string `json:"name,omitempty"` // TypeID - The type ID of the Entity Model. TypeID *int32 `json:"typeId,omitempty"` - // ReadableType - Possible values include: 'ReadableTypeEntityExtractor', 'ReadableTypeHierarchicalEntityExtractor', 'ReadableTypeHierarchicalChildEntityExtractor', 'ReadableTypeCompositeEntityExtractor', 'ReadableTypeClosedListEntityExtractor', 'ReadableTypePrebuiltEntityExtractor', 'ReadableTypeIntentClassifier', 'ReadableTypePatternAnyEntityExtractor', 'ReadableTypeRegexEntityExtractor' + // ReadableType - Possible values include: 'ReadableTypeEntityExtractor', 'ReadableTypeChildEntityExtractor', 'ReadableTypeHierarchicalEntityExtractor', 'ReadableTypeHierarchicalChildEntityExtractor', 'ReadableTypeCompositeEntityExtractor', 'ReadableTypeListEntityExtractor', 'ReadableTypePrebuiltEntityExtractor', 'ReadableTypeIntentClassifier', 'ReadableTypePatternAnyEntityExtractor', 'ReadableTypeClosedListEntityExtractor', 'ReadableTypeRegexEntityExtractor' ReadableType ReadableType `json:"readableType,omitempty"` } +// EntityModelUpdateObject an entity extractor update object. +type EntityModelUpdateObject struct { + // Name - Entity name. + Name *string `json:"name,omitempty"` + // InstanceOf - The instance of model name + InstanceOf *string `json:"instanceOf,omitempty"` +} + // EntityPrediction a suggested entity. type EntityPrediction struct { // EntityName - The entity's name @@ -805,17 +907,53 @@ func (er ErrorResponse) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } -// ExampleLabelObject a labeled example. +// UnmarshalJSON is the custom unmarshaler for ErrorResponse struct. +func (er *ErrorResponse) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if er.AdditionalProperties == nil { + er.AdditionalProperties = make(map[string]interface{}) + } + er.AdditionalProperties[k] = additionalProperties + } + case "errorType": + if v != nil { + var errorType string + err = json.Unmarshal(*v, &errorType) + if err != nil { + return err + } + er.ErrorType = &errorType + } + } + } + + return nil +} + +// ExampleLabelObject a labeled example utterance. type ExampleLabelObject struct { - // Text - The sample's utterance. + // Text - The example utterance. Text *string `json:"text,omitempty"` - // EntityLabels - The idenfied entities within the utterance. + // EntityLabels - The identified entities within the example utterance. EntityLabels *[]EntityLabelObject `json:"entityLabels,omitempty"` - // IntentName - The idenfitied intent representing the utterance. + // IntentName - The identified intent representing the example utterance. IntentName *string `json:"intentName,omitempty"` } -// ExplicitListItem explicit list item +// ExplicitListItem explicit (exception) list item type ExplicitListItem struct { autorest.Response `json:"-"` // ID - The explicit list item ID. @@ -824,13 +962,13 @@ type ExplicitListItem struct { ExplicitListItem *string `json:"explicitListItem,omitempty"` } -// ExplicitListItemCreateObject object model for creating an explicit list item. +// ExplicitListItemCreateObject object model for creating an explicit (exception) list item. type ExplicitListItemCreateObject struct { // ExplicitListItem - The explicit list item. ExplicitListItem *string `json:"explicitListItem,omitempty"` } -// ExplicitListItemUpdateObject model object for updating an explicit list item. +// ExplicitListItemUpdateObject model object for updating an explicit (exception) list item. type ExplicitListItemUpdateObject struct { // ExplicitListItem - The explicit list item. ExplicitListItem *string `json:"explicitListItem,omitempty"` @@ -856,19 +994,18 @@ type FeaturesResponseObject struct { // HierarchicalChildEntity a Hierarchical Child Entity. type HierarchicalChildEntity struct { autorest.Response `json:"-"` - // TypeID - The type ID of the Entity Model. - TypeID *int32 `json:"typeId,omitempty"` - // ReadableType - Possible values include: 'ReadableType6EntityExtractor', 'ReadableType6HierarchicalEntityExtractor', 'ReadableType6HierarchicalChildEntityExtractor', 'ReadableType6CompositeEntityExtractor', 'ReadableType6ClosedListEntityExtractor', 'ReadableType6PrebuiltEntityExtractor', 'ReadableType6IntentClassifier', 'ReadableType6PatternAnyEntityExtractor', 'ReadableType6RegexEntityExtractor' - ReadableType ReadableType6 `json:"readableType,omitempty"` // ID - The ID (GUID) belonging to a child entity. ID *uuid.UUID `json:"id,omitempty"` // Name - The name of a child entity. Name *string `json:"name,omitempty"` -} - -// HierarchicalChildModelCreateObject ... -type HierarchicalChildModelCreateObject struct { - Name *string `json:"name,omitempty"` + // InstanceOf - Instance of Model. + InstanceOf *string `json:"instanceOf,omitempty"` + // TypeID - The type ID of the Entity Model. + TypeID *int32 `json:"typeId,omitempty"` + // ReadableType - Possible values include: 'ReadableType1EntityExtractor', 'ReadableType1ChildEntityExtractor', 'ReadableType1HierarchicalEntityExtractor', 'ReadableType1HierarchicalChildEntityExtractor', 'ReadableType1CompositeEntityExtractor', 'ReadableType1ListEntityExtractor', 'ReadableType1PrebuiltEntityExtractor', 'ReadableType1IntentClassifier', 'ReadableType1PatternAnyEntityExtractor', 'ReadableType1ClosedListEntityExtractor', 'ReadableType1RegexEntityExtractor' + ReadableType ReadableType1 `json:"readableType,omitempty"` + // Children - List of children + Children *[]ChildEntity `json:"children,omitempty"` } // HierarchicalChildModelUpdateObject ... @@ -885,21 +1022,13 @@ type HierarchicalEntityExtractor struct { Name *string `json:"name,omitempty"` // TypeID - The type ID of the Entity Model. TypeID *int32 `json:"typeId,omitempty"` - // ReadableType - Possible values include: 'ReadableType2EntityExtractor', 'ReadableType2HierarchicalEntityExtractor', 'ReadableType2HierarchicalChildEntityExtractor', 'ReadableType2CompositeEntityExtractor', 'ReadableType2ClosedListEntityExtractor', 'ReadableType2PrebuiltEntityExtractor', 'ReadableType2IntentClassifier', 'ReadableType2PatternAnyEntityExtractor', 'ReadableType2RegexEntityExtractor' - ReadableType ReadableType2 `json:"readableType,omitempty"` + // ReadableType - Possible values include: 'ReadableType3EntityExtractor', 'ReadableType3ChildEntityExtractor', 'ReadableType3HierarchicalEntityExtractor', 'ReadableType3HierarchicalChildEntityExtractor', 'ReadableType3CompositeEntityExtractor', 'ReadableType3ListEntityExtractor', 'ReadableType3PrebuiltEntityExtractor', 'ReadableType3IntentClassifier', 'ReadableType3PatternAnyEntityExtractor', 'ReadableType3ClosedListEntityExtractor', 'ReadableType3RegexEntityExtractor' + ReadableType ReadableType3 `json:"readableType,omitempty"` Roles *[]EntityRole `json:"roles,omitempty"` // Children - List of child entities. Children *[]ChildEntity `json:"children,omitempty"` } -// HierarchicalEntityModel a Hierarchical Entity Extractor. -type HierarchicalEntityModel struct { - // Children - Child entities. - Children *[]string `json:"children,omitempty"` - // Name - Entity name. - Name *string `json:"name,omitempty"` -} - // HierarchicalModel ... type HierarchicalModel struct { Name *string `json:"name,omitempty"` @@ -914,6 +1043,12 @@ type Int32 struct { Value *int32 `json:"value,omitempty"` } +// Int64 ... +type Int64 struct { + autorest.Response `json:"-"` + Value *int64 `json:"value,omitempty"` +} + // IntentClassifier intent Classifier. type IntentClassifier struct { autorest.Response `json:"-"` @@ -927,7 +1062,7 @@ type IntentClassifier struct { Name *string `json:"name,omitempty"` // TypeID - The type ID of the Entity Model. TypeID *int32 `json:"typeId,omitempty"` - // ReadableType - Possible values include: 'ReadableTypeEntityExtractor', 'ReadableTypeHierarchicalEntityExtractor', 'ReadableTypeHierarchicalChildEntityExtractor', 'ReadableTypeCompositeEntityExtractor', 'ReadableTypeClosedListEntityExtractor', 'ReadableTypePrebuiltEntityExtractor', 'ReadableTypeIntentClassifier', 'ReadableTypePatternAnyEntityExtractor', 'ReadableTypeRegexEntityExtractor' + // ReadableType - Possible values include: 'ReadableTypeEntityExtractor', 'ReadableTypeChildEntityExtractor', 'ReadableTypeHierarchicalEntityExtractor', 'ReadableTypeHierarchicalChildEntityExtractor', 'ReadableTypeCompositeEntityExtractor', 'ReadableTypeListEntityExtractor', 'ReadableTypePrebuiltEntityExtractor', 'ReadableTypeIntentClassifier', 'ReadableTypePatternAnyEntityExtractor', 'ReadableTypeClosedListEntityExtractor', 'ReadableTypeRegexEntityExtractor' ReadableType ReadableType `json:"readableType,omitempty"` } @@ -941,9 +1076,9 @@ type IntentPrediction struct { // IntentsSuggestionExample predicted/suggested intent. type IntentsSuggestionExample struct { - // Text - The utterance. E.g.: what's the weather like in seattle? + // Text - The utterance. For example, "What's the weather like in seattle?" Text *string `json:"text,omitempty"` - // TokenizedText - The utterance tokenized. + // TokenizedText - The tokenized utterance. TokenizedText *[]string `json:"tokenizedText,omitempty"` // IntentPredictions - Predicted/suggested intents. IntentPredictions *[]IntentPrediction `json:"intentPredictions,omitempty"` @@ -959,6 +1094,8 @@ type JSONEntity struct { EndPos *int32 `json:"endPos,omitempty"` // Entity - The entity name. Entity *string `json:"entity,omitempty"` + // Role - The role the entity plays in the utterance. + Role *string `json:"role,omitempty"` } // JSONModelFeature exported Model - Phraselist Model Feature. @@ -969,7 +1106,7 @@ type JSONModelFeature struct { Name *string `json:"name,omitempty"` // Words - List of comma-separated phrases that represent the Phraselist. Words *string `json:"words,omitempty"` - // Mode - An exchangeable phrase list feature are serves as single feature to the LUIS underlying training algorithm. It is used as a lexicon lookup feature where its value is 1 if the lexicon contains a given word or 0 if it doesn’t. Think of an exchangeable as a synonyms list. A non-exchangeable phrase list feature has all the phrases in the list serve as separate features to the underlying training algorithm. So, if you your phrase list feature contains 5 phrases, they will be mapped to 5 separate features. You can think of the non-exchangeable phrase list feature as an additional bag of words that you are willing to add to LUIS existing vocabulary features. Think of a non-exchangeable as set of different words. Default value is true. + // Mode - An interchangeable phrase list feature serves as a list of synonyms for training. A non-exchangeable phrase list serves as separate features for training. So, if your non-interchangeable phrase list contains 5 phrases, they will be mapped to 5 separate features. You can think of the non-interchangeable phrase list as an additional bag of words to add to LUIS existing vocabulary features. It is used as a lexicon lookup feature where its value is 1 if the lexicon contains a given word or 0 if it doesn’t. Default value is true. Mode *bool `json:"mode,omitempty"` } @@ -997,7 +1134,7 @@ type JSONUtterance struct { type LabeledUtterance struct { // ID - ID of Labeled Utterance. ID *int32 `json:"id,omitempty"` - // Text - The utterance. E.g.: what's the weather like in seattle? + // Text - The utterance. For example, "What's the weather like in seattle?" Text *string `json:"text,omitempty"` // TokenizedText - The utterance tokenized. TokenizedText *[]string `json:"tokenizedText,omitempty"` @@ -1011,21 +1148,35 @@ type LabeledUtterance struct { EntityPredictions *[]EntityPrediction `json:"entityPredictions,omitempty"` } -// LabelExampleResponse response when adding a labeled example. +// LabelExampleResponse response when adding a labeled example utterance. type LabelExampleResponse struct { autorest.Response `json:"-"` - // UtteranceText - The sample's utterance. + // UtteranceText - The example utterance. UtteranceText *string `json:"UtteranceText,omitempty"` // ExampleID - The newly created sample ID. ExampleID *int32 `json:"ExampleId,omitempty"` } +// LabelTextObject an object containing the example utterance's text. +type LabelTextObject struct { + // ID - The ID of the Label. + ID *int32 `json:"id,omitempty"` + // Text - The text of the label. + Text *string `json:"text,omitempty"` +} + // ListApplicationInfoResponse ... type ListApplicationInfoResponse struct { autorest.Response `json:"-"` Value *[]ApplicationInfoResponse `json:"value,omitempty"` } +// ListAppVersionSettingObject ... +type ListAppVersionSettingObject struct { + autorest.Response `json:"-"` + Value *[]AppVersionSettingObject `json:"value,omitempty"` +} + // ListAvailableCulture ... type ListAvailableCulture struct { autorest.Response `json:"-"` @@ -1038,6 +1189,12 @@ type ListAvailablePrebuiltEntityModel struct { Value *[]AvailablePrebuiltEntityModel `json:"value,omitempty"` } +// ListAzureAccountInfoObject ... +type ListAzureAccountInfoObject struct { + autorest.Response `json:"-"` + Value *[]AzureAccountInfoObject `json:"value,omitempty"` +} + // ListBatchLabelExample ... type ListBatchLabelExample struct { autorest.Response `json:"-"` @@ -1110,6 +1267,12 @@ type ListLabeledUtterance struct { Value *[]LabeledUtterance `json:"value,omitempty"` } +// ListLabelTextObject ... +type ListLabelTextObject struct { + autorest.Response `json:"-"` + Value *[]LabelTextObject `json:"value,omitempty"` +} + // ListModelInfoResponse ... type ListModelInfoResponse struct { autorest.Response `json:"-"` @@ -1122,12 +1285,24 @@ type ListModelTrainingInfo struct { Value *[]ModelTrainingInfo `json:"value,omitempty"` } +// ListNDepthEntityExtractor ... +type ListNDepthEntityExtractor struct { + autorest.Response `json:"-"` + Value *[]NDepthEntityExtractor `json:"value,omitempty"` +} + // ListPatternAnyEntityExtractor ... type ListPatternAnyEntityExtractor struct { autorest.Response `json:"-"` Value *[]PatternAnyEntityExtractor `json:"value,omitempty"` } +// ListPatternFeatureInfo ... +type ListPatternFeatureInfo struct { + autorest.Response `json:"-"` + Value *[]PatternFeatureInfo `json:"value,omitempty"` +} + // ListPatternRuleInfo ... type ListPatternRuleInfo struct { autorest.Response `json:"-"` @@ -1193,7 +1368,7 @@ type LuisApp struct { Intents *[]HierarchicalModel `json:"intents,omitempty"` // Entities - List of entities. Entities *[]HierarchicalModel `json:"entities,omitempty"` - // ClosedLists - List of closed lists. + // ClosedLists - List of list entities. ClosedLists *[]ClosedList `json:"closedLists,omitempty"` // Composites - List of composite entities. Composites *[]HierarchicalModel `json:"composites,omitempty"` @@ -1209,7 +1384,7 @@ type LuisApp struct { ModelFeatures *[]JSONModelFeature `json:"model_features,omitempty"` // Patterns - List of patterns. Patterns *[]PatternRule `json:"patterns,omitempty"` - // Utterances - List of sample utterances. + // Utterances - List of example utterances. Utterances *[]JSONUtterance `json:"utterances,omitempty"` } @@ -1267,6 +1442,168 @@ func (la LuisApp) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } +// UnmarshalJSON is the custom unmarshaler for LuisApp struct. +func (la *LuisApp) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + default: + if v != nil { + var additionalProperties interface{} + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if la.AdditionalProperties == nil { + la.AdditionalProperties = make(map[string]interface{}) + } + la.AdditionalProperties[k] = additionalProperties + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + la.Name = &name + } + case "versionId": + if v != nil { + var versionID string + err = json.Unmarshal(*v, &versionID) + if err != nil { + return err + } + la.VersionID = &versionID + } + case "desc": + if v != nil { + var desc string + err = json.Unmarshal(*v, &desc) + if err != nil { + return err + } + la.Desc = &desc + } + case "culture": + if v != nil { + var culture string + err = json.Unmarshal(*v, &culture) + if err != nil { + return err + } + la.Culture = &culture + } + case "intents": + if v != nil { + var intents []HierarchicalModel + err = json.Unmarshal(*v, &intents) + if err != nil { + return err + } + la.Intents = &intents + } + case "entities": + if v != nil { + var entities []HierarchicalModel + err = json.Unmarshal(*v, &entities) + if err != nil { + return err + } + la.Entities = &entities + } + case "closedLists": + if v != nil { + var closedLists []ClosedList + err = json.Unmarshal(*v, &closedLists) + if err != nil { + return err + } + la.ClosedLists = &closedLists + } + case "composites": + if v != nil { + var composites []HierarchicalModel + err = json.Unmarshal(*v, &composites) + if err != nil { + return err + } + la.Composites = &composites + } + case "patternAnyEntities": + if v != nil { + var patternAnyEntities []PatternAny + err = json.Unmarshal(*v, &patternAnyEntities) + if err != nil { + return err + } + la.PatternAnyEntities = &patternAnyEntities + } + case "regex_entities": + if v != nil { + var regexEntities []RegexEntity + err = json.Unmarshal(*v, ®exEntities) + if err != nil { + return err + } + la.RegexEntities = ®exEntities + } + case "prebuiltEntities": + if v != nil { + var prebuiltEntities []PrebuiltEntity + err = json.Unmarshal(*v, &prebuiltEntities) + if err != nil { + return err + } + la.PrebuiltEntities = &prebuiltEntities + } + case "regex_features": + if v != nil { + var regexFeatures []JSONRegexFeature + err = json.Unmarshal(*v, ®exFeatures) + if err != nil { + return err + } + la.RegexFeatures = ®exFeatures + } + case "model_features": + if v != nil { + var modelFeatures []JSONModelFeature + err = json.Unmarshal(*v, &modelFeatures) + if err != nil { + return err + } + la.ModelFeatures = &modelFeatures + } + case "patterns": + if v != nil { + var patterns []PatternRule + err = json.Unmarshal(*v, &patterns) + if err != nil { + return err + } + la.Patterns = &patterns + } + case "utterances": + if v != nil { + var utterances []JSONUtterance + err = json.Unmarshal(*v, &utterances) + if err != nil { + return err + } + la.Utterances = &utterances + } + } + } + + return nil +} + // ModelCreateObject object model for creating a new entity extractor. type ModelCreateObject struct { // Name - Name of the new entity extractor. @@ -1281,7 +1618,7 @@ type ModelInfo struct { Name *string `json:"name,omitempty"` // TypeID - The type ID of the Entity Model. TypeID *int32 `json:"typeId,omitempty"` - // ReadableType - Possible values include: 'ReadableTypeEntityExtractor', 'ReadableTypeHierarchicalEntityExtractor', 'ReadableTypeHierarchicalChildEntityExtractor', 'ReadableTypeCompositeEntityExtractor', 'ReadableTypeClosedListEntityExtractor', 'ReadableTypePrebuiltEntityExtractor', 'ReadableTypeIntentClassifier', 'ReadableTypePatternAnyEntityExtractor', 'ReadableTypeRegexEntityExtractor' + // ReadableType - Possible values include: 'ReadableTypeEntityExtractor', 'ReadableTypeChildEntityExtractor', 'ReadableTypeHierarchicalEntityExtractor', 'ReadableTypeHierarchicalChildEntityExtractor', 'ReadableTypeCompositeEntityExtractor', 'ReadableTypeListEntityExtractor', 'ReadableTypePrebuiltEntityExtractor', 'ReadableTypeIntentClassifier', 'ReadableTypePatternAnyEntityExtractor', 'ReadableTypeClosedListEntityExtractor', 'ReadableTypeRegexEntityExtractor' ReadableType ReadableType `json:"readableType,omitempty"` } @@ -1293,18 +1630,18 @@ type ModelInfoResponse struct { Name *string `json:"name,omitempty"` // TypeID - The type ID of the Entity Model. TypeID *int32 `json:"typeId,omitempty"` - // ReadableType - Possible values include: 'ReadableType1EntityExtractor', 'ReadableType1HierarchicalEntityExtractor', 'ReadableType1HierarchicalChildEntityExtractor', 'ReadableType1CompositeEntityExtractor', 'ReadableType1ClosedListEntityExtractor', 'ReadableType1PrebuiltEntityExtractor', 'ReadableType1IntentClassifier', 'ReadableType1PatternAnyEntityExtractor', 'ReadableType1RegexEntityExtractor' - ReadableType ReadableType1 `json:"readableType,omitempty"` + // ReadableType - Possible values include: 'ReadableType2EntityExtractor', 'ReadableType2ChildEntityExtractor', 'ReadableType2HierarchicalEntityExtractor', 'ReadableType2HierarchicalChildEntityExtractor', 'ReadableType2CompositeEntityExtractor', 'ReadableType2ListEntityExtractor', 'ReadableType2PrebuiltEntityExtractor', 'ReadableType2IntentClassifier', 'ReadableType2PatternAnyEntityExtractor', 'ReadableType2ClosedListEntityExtractor', 'ReadableType2RegexEntityExtractor' + ReadableType ReadableType2 `json:"readableType,omitempty"` Roles *[]EntityRole `json:"roles,omitempty"` // Children - List of child entities. Children *[]ChildEntity `json:"children,omitempty"` - // SubLists - List of sub-lists. + // SubLists - List of sublists. SubLists *[]SubClosedListResponse `json:"subLists,omitempty"` // CustomPrebuiltDomainName - The domain name. CustomPrebuiltDomainName *string `json:"customPrebuiltDomainName,omitempty"` // CustomPrebuiltModelName - The intent name or entity name. CustomPrebuiltModelName *string `json:"customPrebuiltModelName,omitempty"` - // RegexPattern - The Regex entity pattern. + // RegexPattern - The Regular Expression entity pattern. RegexPattern *string `json:"regexPattern,omitempty"` ExplicitList *[]ExplicitListItem `json:"explicitList,omitempty"` } @@ -1336,6 +1673,25 @@ type ModelUpdateObject struct { Name *string `json:"name,omitempty"` } +// NDepthEntityExtractor n-Depth Entity Extractor. +type NDepthEntityExtractor struct { + autorest.Response `json:"-"` + // ID - The ID of the Entity Model. + ID *uuid.UUID `json:"id,omitempty"` + // Name - Name of the Entity Model. + Name *string `json:"name,omitempty"` + // TypeID - The type ID of the Entity Model. + TypeID *int32 `json:"typeId,omitempty"` + // ReadableType - Possible values include: 'ReadableType9EntityExtractor', 'ReadableType9ChildEntityExtractor', 'ReadableType9HierarchicalEntityExtractor', 'ReadableType9HierarchicalChildEntityExtractor', 'ReadableType9CompositeEntityExtractor', 'ReadableType9ListEntityExtractor', 'ReadableType9PrebuiltEntityExtractor', 'ReadableType9IntentClassifier', 'ReadableType9PatternAnyEntityExtractor', 'ReadableType9ClosedListEntityExtractor', 'ReadableType9RegexEntityExtractor' + ReadableType ReadableType9 `json:"readableType,omitempty"` + Roles *[]EntityRole `json:"roles,omitempty"` + // CustomPrebuiltDomainName - The domain name. + CustomPrebuiltDomainName *string `json:"customPrebuiltDomainName,omitempty"` + // CustomPrebuiltModelName - The intent name or entity name. + CustomPrebuiltModelName *string `json:"customPrebuiltModelName,omitempty"` + Children *[]ChildEntity `json:"children,omitempty"` +} + // OperationError operation error details when invoking an operation on the API. type OperationError struct { Code *string `json:"code,omitempty"` @@ -1367,8 +1723,8 @@ type PatternAnyEntityExtractor struct { Name *string `json:"name,omitempty"` // TypeID - The type ID of the Entity Model. TypeID *int32 `json:"typeId,omitempty"` - // ReadableType - Possible values include: 'ReadableType10EntityExtractor', 'ReadableType10HierarchicalEntityExtractor', 'ReadableType10HierarchicalChildEntityExtractor', 'ReadableType10CompositeEntityExtractor', 'ReadableType10ClosedListEntityExtractor', 'ReadableType10PrebuiltEntityExtractor', 'ReadableType10IntentClassifier', 'ReadableType10PatternAnyEntityExtractor', 'ReadableType10RegexEntityExtractor' - ReadableType ReadableType10 `json:"readableType,omitempty"` + // ReadableType - Possible values include: 'ReadableType11EntityExtractor', 'ReadableType11ChildEntityExtractor', 'ReadableType11HierarchicalEntityExtractor', 'ReadableType11HierarchicalChildEntityExtractor', 'ReadableType11CompositeEntityExtractor', 'ReadableType11ListEntityExtractor', 'ReadableType11PrebuiltEntityExtractor', 'ReadableType11IntentClassifier', 'ReadableType11PatternAnyEntityExtractor', 'ReadableType11ClosedListEntityExtractor', 'ReadableType11RegexEntityExtractor' + ReadableType ReadableType11 `json:"readableType,omitempty"` Roles *[]EntityRole `json:"roles,omitempty"` ExplicitList *[]ExplicitListItem `json:"explicitList,omitempty"` } @@ -1399,6 +1755,7 @@ type PatternCreateObject struct { // PatternFeatureInfo pattern feature. type PatternFeatureInfo struct { + autorest.Response `json:"-"` // Pattern - The Regular Expression to match. Pattern *string `json:"pattern,omitempty"` // ID - A six-digit ID used for Features. @@ -1456,8 +1813,8 @@ type PatternUpdateObject struct { IsActive *bool `json:"isActive,omitempty"` } -// PersonalAssistantsResponse response containing user's endpoint keys and the endpoint URLs of the prebuilt -// Cortana applications. +// PersonalAssistantsResponse response containing user's endpoint keys and the endpoint URLs of the +// prebuilt Cortana applications. type PersonalAssistantsResponse struct { autorest.Response `json:"-"` EndpointKeys *[]uuid.UUID `json:"endpointKeys,omitempty"` @@ -1482,7 +1839,7 @@ type PhraselistCreateObject struct { Phrases *string `json:"phrases,omitempty"` // Name - The Phraselist name. Name *string `json:"name,omitempty"` - // IsExchangeable - An exchangeable phrase list feature are serves as single feature to the LUIS underlying training algorithm. It is used as a lexicon lookup feature where its value is 1 if the lexicon contains a given word or 0 if it doesn’t. Think of an exchangeable as a synonyms list. A non-exchangeable phrase list feature has all the phrases in the list serve as separate features to the underlying training algorithm. So, if you your phrase list feature contains 5 phrases, they will be mapped to 5 separate features. You can think of the non-exchangeable phrase list feature as an additional bag of words that you are willing to add to LUIS existing vocabulary features. Think of a non-exchangeable as set of different words. Default value is true. + // IsExchangeable - An interchangeable phrase list feature serves as a list of synonyms for training. A non-exchangeable phrase list serves as separate features for training. So, if your non-interchangeable phrase list contains 5 phrases, they will be mapped to 5 separate features. You can think of the non-interchangeable phrase list as an additional bag of words to add to LUIS existing vocabulary features. It is used as a lexicon lookup feature where its value is 1 if the lexicon contains a given word or 0 if it doesn’t. Default value is true. IsExchangeable *bool `json:"isExchangeable,omitempty"` } @@ -1523,14 +1880,15 @@ type PrebuiltDomain struct { Entities *[]PrebuiltDomainItem `json:"entities,omitempty"` } -// PrebuiltDomainCreateBaseObject a model object containing the name of the custom prebuilt entity and the name of -// the domain to which this model belongs. +// PrebuiltDomainCreateBaseObject a model object containing the name of the custom prebuilt entity and the +// name of the domain to which this model belongs. type PrebuiltDomainCreateBaseObject struct { // DomainName - The domain name. DomainName *string `json:"domainName,omitempty"` } -// PrebuiltDomainCreateObject a prebuilt domain create object containing the name and culture of the domain. +// PrebuiltDomainCreateObject a prebuilt domain create object containing the name and culture of the +// domain. type PrebuiltDomainCreateObject struct { // DomainName - The domain name. DomainName *string `json:"domainName,omitempty"` @@ -1545,8 +1903,8 @@ type PrebuiltDomainItem struct { Examples *string `json:"examples,omitempty"` } -// PrebuiltDomainModelCreateObject a model object containing the name of the custom prebuilt intent or entity and -// the name of the domain to which this model belongs. +// PrebuiltDomainModelCreateObject a model object containing the name of the custom prebuilt intent or +// entity and the name of the domain to which this model belongs. type PrebuiltDomainModelCreateObject struct { // DomainName - The domain name. DomainName *string `json:"domainName,omitempty"` @@ -1575,8 +1933,8 @@ type PrebuiltEntityExtractor struct { Name *string `json:"name,omitempty"` // TypeID - The type ID of the Entity Model. TypeID *int32 `json:"typeId,omitempty"` - // ReadableType - Possible values include: 'ReadableType5EntityExtractor', 'ReadableType5HierarchicalEntityExtractor', 'ReadableType5HierarchicalChildEntityExtractor', 'ReadableType5CompositeEntityExtractor', 'ReadableType5ClosedListEntityExtractor', 'ReadableType5PrebuiltEntityExtractor', 'ReadableType5IntentClassifier', 'ReadableType5PatternAnyEntityExtractor', 'ReadableType5RegexEntityExtractor' - ReadableType ReadableType5 `json:"readableType,omitempty"` + // ReadableType - Possible values include: 'ReadableType6EntityExtractor', 'ReadableType6ChildEntityExtractor', 'ReadableType6HierarchicalEntityExtractor', 'ReadableType6HierarchicalChildEntityExtractor', 'ReadableType6CompositeEntityExtractor', 'ReadableType6ListEntityExtractor', 'ReadableType6PrebuiltEntityExtractor', 'ReadableType6IntentClassifier', 'ReadableType6PatternAnyEntityExtractor', 'ReadableType6ClosedListEntityExtractor', 'ReadableType6RegexEntityExtractor' + ReadableType ReadableType6 `json:"readableType,omitempty"` Roles *[]EntityRole `json:"roles,omitempty"` } @@ -1595,10 +1953,35 @@ type ProductionOrStagingEndpointInfo struct { AssignedEndpointKey *string `json:"assignedEndpointKey,omitempty"` // EndpointRegion - The endpoint's region. EndpointRegion *string `json:"endpointRegion,omitempty"` + // FailedRegions - Regions where publishing failed. + FailedRegions *string `json:"failedRegions,omitempty"` // PublishedDateTime - Timestamp when was last published. PublishedDateTime *string `json:"publishedDateTime,omitempty"` } +// PublishSettings the application publish settings. +type PublishSettings struct { + autorest.Response `json:"-"` + // ID - The application ID. + ID *uuid.UUID `json:"id,omitempty"` + // IsSentimentAnalysisEnabled - Setting sentiment analysis as true returns the sentiment of the input utterance along with the response + IsSentimentAnalysisEnabled *bool `json:"sentimentAnalysis,omitempty"` + // IsSpeechEnabled - Enables speech priming in your app + IsSpeechEnabled *bool `json:"speech,omitempty"` + // IsSpellCheckerEnabled - Enables spell checking of the utterance. + IsSpellCheckerEnabled *bool `json:"spellChecker,omitempty"` +} + +// PublishSettingUpdateObject object model for updating an application's publish settings. +type PublishSettingUpdateObject struct { + // SentimentAnalysis - Setting sentiment analysis as true returns the Sentiment of the input utterance along with the response + SentimentAnalysis *bool `json:"sentimentAnalysis,omitempty"` + // Speech - Setting speech as public enables speech priming in your app + Speech *bool `json:"speech,omitempty"` + // SpellChecker - Setting spell checker as public enables spell checking the input utterance. + SpellChecker *bool `json:"spellChecker,omitempty"` +} + // ReadCloser ... type ReadCloser struct { autorest.Response `json:"-"` @@ -1612,7 +1995,7 @@ type RegexEntity struct { Roles *[]string `json:"roles,omitempty"` } -// RegexEntityExtractor regex Entity Extractor. +// RegexEntityExtractor regular Expression Entity Extractor. type RegexEntityExtractor struct { autorest.Response `json:"-"` // ID - The ID of the Entity Model. @@ -1621,24 +2004,24 @@ type RegexEntityExtractor struct { Name *string `json:"name,omitempty"` // TypeID - The type ID of the Entity Model. TypeID *int32 `json:"typeId,omitempty"` - // ReadableType - Possible values include: 'ReadableType9EntityExtractor', 'ReadableType9HierarchicalEntityExtractor', 'ReadableType9HierarchicalChildEntityExtractor', 'ReadableType9CompositeEntityExtractor', 'ReadableType9ClosedListEntityExtractor', 'ReadableType9PrebuiltEntityExtractor', 'ReadableType9IntentClassifier', 'ReadableType9PatternAnyEntityExtractor', 'ReadableType9RegexEntityExtractor' - ReadableType ReadableType9 `json:"readableType,omitempty"` - Roles *[]EntityRole `json:"roles,omitempty"` - // RegexPattern - The Regex entity pattern. + // ReadableType - Possible values include: 'ReadableType10EntityExtractor', 'ReadableType10ChildEntityExtractor', 'ReadableType10HierarchicalEntityExtractor', 'ReadableType10HierarchicalChildEntityExtractor', 'ReadableType10CompositeEntityExtractor', 'ReadableType10ListEntityExtractor', 'ReadableType10PrebuiltEntityExtractor', 'ReadableType10IntentClassifier', 'ReadableType10PatternAnyEntityExtractor', 'ReadableType10ClosedListEntityExtractor', 'ReadableType10RegexEntityExtractor' + ReadableType ReadableType10 `json:"readableType,omitempty"` + Roles *[]EntityRole `json:"roles,omitempty"` + // RegexPattern - The Regular Expression entity pattern. RegexPattern *string `json:"regexPattern,omitempty"` } -// RegexModelCreateObject model object for creating a regex entity model. +// RegexModelCreateObject model object for creating a regular expression entity model. type RegexModelCreateObject struct { - // RegexPattern - The regex entity pattern. + // RegexPattern - The regular expression entity pattern. RegexPattern *string `json:"regexPattern,omitempty"` // Name - The model name. Name *string `json:"name,omitempty"` } -// RegexModelUpdateObject model object for updating a regex entity model. +// RegexModelUpdateObject model object for updating a regular expression entity model. type RegexModelUpdateObject struct { - // RegexPattern - The regex entity pattern. + // RegexPattern - The regular expression entity pattern. RegexPattern *string `json:"regexPattern,omitempty"` // Name - The model name. Name *string `json:"name,omitempty"` @@ -1665,7 +2048,7 @@ type String struct { Value *string `json:"value,omitempty"` } -// SubClosedList sublist of items for a Closed list. +// SubClosedList sublist of items for a list entity. type SubClosedList struct { // CanonicalForm - The standard form that the list represents. CanonicalForm *string `json:"canonicalForm,omitempty"` @@ -1673,7 +2056,7 @@ type SubClosedList struct { List *[]string `json:"list,omitempty"` } -// SubClosedListResponse sublist of items for a Closed list. +// SubClosedListResponse sublist of items for a list entity. type SubClosedListResponse struct { // ID - The sublist ID ID *int32 `json:"id,omitempty"` @@ -1762,7 +2145,9 @@ func (vi VersionInfo) MarshalJSON() ([]byte, error) { if vi.AssignedEndpointKey != nil { objectMap["assignedEndpointKey"] = vi.AssignedEndpointKey } - objectMap["externalApiKeys"] = vi.ExternalAPIKeys + if vi.ExternalAPIKeys != nil { + objectMap["externalApiKeys"] = vi.ExternalAPIKeys + } if vi.IntentsCount != nil { objectMap["intentsCount"] = vi.IntentsCount } @@ -1778,7 +2163,7 @@ func (vi VersionInfo) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } -// WordListBaseUpdateObject object model for updating one of the closed list's sublists. +// WordListBaseUpdateObject object model for updating one of the list entity's sublists. type WordListBaseUpdateObject struct { // CanonicalForm - The standard form that the list represents. CanonicalForm *string `json:"canonicalForm,omitempty"` @@ -1786,7 +2171,7 @@ type WordListBaseUpdateObject struct { List *[]string `json:"list,omitempty"` } -// WordListObject sublist of items for a Closed list. +// WordListObject sublist of items for a list entity. type WordListObject struct { // CanonicalForm - The standard form that the list represents. CanonicalForm *string `json:"canonicalForm,omitempty"` diff --git a/services/cognitiveservices/v2.0/luis/programmatic/pattern.go b/services/preview/cognitiveservices/v3.0/luis/authoring/pattern.go similarity index 64% rename from services/cognitiveservices/v2.0/luis/programmatic/pattern.go rename to services/preview/cognitiveservices/v3.0/luis/authoring/pattern.go index fc6e4a7d934c..d827805145dc 100644 --- a/services/cognitiveservices/v2.0/luis/programmatic/pattern.go +++ b/services/preview/cognitiveservices/v3.0/luis/authoring/pattern.go @@ -1,4 +1,4 @@ -package programmatic +package authoring // Copyright (c) Microsoft and contributors. All rights reserved. // @@ -22,18 +22,19 @@ import ( "github.com/Azure/go-autorest/autorest" "github.com/Azure/go-autorest/autorest/azure" "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" "github.com/satori/go.uuid" "net/http" ) -// PatternClient is the client for the Pattern methods of the Programmatic service. +// PatternClient is the client for the Pattern methods of the Authoring service. type PatternClient struct { BaseClient } // NewPatternClient creates an instance of the PatternClient client. -func NewPatternClient(azureRegion AzureRegions) PatternClient { - return PatternClient{New(azureRegion)} +func NewPatternClient(endpoint string) PatternClient { + return PatternClient{New(endpoint)} } // AddPattern sends the add pattern request. @@ -42,22 +43,32 @@ func NewPatternClient(azureRegion AzureRegions) PatternClient { // versionID - the version ID. // pattern - the input pattern. func (client PatternClient) AddPattern(ctx context.Context, appID uuid.UUID, versionID string, pattern PatternRuleCreateObject) (result PatternRuleInfo, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PatternClient.AddPattern") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } req, err := client.AddPatternPreparer(ctx, appID, versionID, pattern) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.PatternClient", "AddPattern", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.PatternClient", "AddPattern", nil, "Failure preparing request") return } resp, err := client.AddPatternSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.PatternClient", "AddPattern", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.PatternClient", "AddPattern", resp, "Failure sending request") return } result, err = client.AddPatternResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.PatternClient", "AddPattern", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.PatternClient", "AddPattern", resp, "Failure responding to request") } return @@ -66,7 +77,7 @@ func (client PatternClient) AddPattern(ctx context.Context, appID uuid.UUID, ver // AddPatternPreparer prepares the AddPattern request. func (client PatternClient) AddPatternPreparer(ctx context.Context, appID uuid.UUID, versionID string, pattern PatternRuleCreateObject) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -77,7 +88,7 @@ func (client PatternClient) AddPatternPreparer(ctx context.Context, appID uuid.U preparer := autorest.CreatePreparer( autorest.AsContentType("application/json; charset=utf-8"), autorest.AsPost(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/patternrule", pathParameters), autorest.WithJSON(pattern)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) @@ -86,8 +97,8 @@ func (client PatternClient) AddPatternPreparer(ctx context.Context, appID uuid.U // AddPatternSender sends the AddPattern request. The method will close the // http.Response Body if it receives an error. func (client PatternClient) AddPatternSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // AddPatternResponder handles the response to the AddPattern request. The method always @@ -109,28 +120,38 @@ func (client PatternClient) AddPatternResponder(resp *http.Response) (result Pat // versionID - the version ID. // patterns - a JSON array containing patterns. func (client PatternClient) BatchAddPatterns(ctx context.Context, appID uuid.UUID, versionID string, patterns []PatternRuleCreateObject) (result ListPatternRuleInfo, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PatternClient.BatchAddPatterns") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } if err := validation.Validate([]validation.Validation{ {TargetValue: patterns, Constraints: []validation.Constraint{{Target: "patterns", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { - return result, validation.NewError("programmatic.PatternClient", "BatchAddPatterns", err.Error()) + return result, validation.NewError("authoring.PatternClient", "BatchAddPatterns", err.Error()) } req, err := client.BatchAddPatternsPreparer(ctx, appID, versionID, patterns) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.PatternClient", "BatchAddPatterns", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.PatternClient", "BatchAddPatterns", nil, "Failure preparing request") return } resp, err := client.BatchAddPatternsSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.PatternClient", "BatchAddPatterns", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.PatternClient", "BatchAddPatterns", resp, "Failure sending request") return } result, err = client.BatchAddPatternsResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.PatternClient", "BatchAddPatterns", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.PatternClient", "BatchAddPatterns", resp, "Failure responding to request") } return @@ -139,7 +160,7 @@ func (client PatternClient) BatchAddPatterns(ctx context.Context, appID uuid.UUI // BatchAddPatternsPreparer prepares the BatchAddPatterns request. func (client PatternClient) BatchAddPatternsPreparer(ctx context.Context, appID uuid.UUID, versionID string, patterns []PatternRuleCreateObject) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -150,7 +171,7 @@ func (client PatternClient) BatchAddPatternsPreparer(ctx context.Context, appID preparer := autorest.CreatePreparer( autorest.AsContentType("application/json; charset=utf-8"), autorest.AsPost(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/patternrules", pathParameters), autorest.WithJSON(patterns)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) @@ -159,8 +180,8 @@ func (client PatternClient) BatchAddPatternsPreparer(ctx context.Context, appID // BatchAddPatternsSender sends the BatchAddPatterns request. The method will close the // http.Response Body if it receives an error. func (client PatternClient) BatchAddPatternsSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // BatchAddPatternsResponder handles the response to the BatchAddPatterns request. The method always @@ -182,22 +203,32 @@ func (client PatternClient) BatchAddPatternsResponder(resp *http.Response) (resu // versionID - the version ID. // patternID - the pattern ID. func (client PatternClient) DeletePattern(ctx context.Context, appID uuid.UUID, versionID string, patternID uuid.UUID) (result OperationStatus, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PatternClient.DeletePattern") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } req, err := client.DeletePatternPreparer(ctx, appID, versionID, patternID) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.PatternClient", "DeletePattern", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.PatternClient", "DeletePattern", nil, "Failure preparing request") return } resp, err := client.DeletePatternSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.PatternClient", "DeletePattern", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.PatternClient", "DeletePattern", resp, "Failure sending request") return } result, err = client.DeletePatternResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.PatternClient", "DeletePattern", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.PatternClient", "DeletePattern", resp, "Failure responding to request") } return @@ -206,7 +237,7 @@ func (client PatternClient) DeletePattern(ctx context.Context, appID uuid.UUID, // DeletePatternPreparer prepares the DeletePattern request. func (client PatternClient) DeletePatternPreparer(ctx context.Context, appID uuid.UUID, versionID string, patternID uuid.UUID) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -217,7 +248,7 @@ func (client PatternClient) DeletePatternPreparer(ctx context.Context, appID uui preparer := autorest.CreatePreparer( autorest.AsDelete(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/patternrules/{patternId}", pathParameters)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) } @@ -225,8 +256,8 @@ func (client PatternClient) DeletePatternPreparer(ctx context.Context, appID uui // DeletePatternSender sends the DeletePattern request. The method will close the // http.Response Body if it receives an error. func (client PatternClient) DeletePatternSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // DeletePatternResponder handles the response to the DeletePattern request. The method always @@ -248,28 +279,38 @@ func (client PatternClient) DeletePatternResponder(resp *http.Response) (result // versionID - the version ID. // patternIds - the patterns IDs. func (client PatternClient) DeletePatterns(ctx context.Context, appID uuid.UUID, versionID string, patternIds []uuid.UUID) (result OperationStatus, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PatternClient.DeletePatterns") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } if err := validation.Validate([]validation.Validation{ {TargetValue: patternIds, Constraints: []validation.Constraint{{Target: "patternIds", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { - return result, validation.NewError("programmatic.PatternClient", "DeletePatterns", err.Error()) + return result, validation.NewError("authoring.PatternClient", "DeletePatterns", err.Error()) } req, err := client.DeletePatternsPreparer(ctx, appID, versionID, patternIds) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.PatternClient", "DeletePatterns", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.PatternClient", "DeletePatterns", nil, "Failure preparing request") return } resp, err := client.DeletePatternsSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.PatternClient", "DeletePatterns", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.PatternClient", "DeletePatterns", resp, "Failure sending request") return } result, err = client.DeletePatternsResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.PatternClient", "DeletePatterns", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.PatternClient", "DeletePatterns", resp, "Failure responding to request") } return @@ -278,7 +319,7 @@ func (client PatternClient) DeletePatterns(ctx context.Context, appID uuid.UUID, // DeletePatternsPreparer prepares the DeletePatterns request. func (client PatternClient) DeletePatternsPreparer(ctx context.Context, appID uuid.UUID, versionID string, patternIds []uuid.UUID) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -289,7 +330,7 @@ func (client PatternClient) DeletePatternsPreparer(ctx context.Context, appID uu preparer := autorest.CreatePreparer( autorest.AsContentType("application/json; charset=utf-8"), autorest.AsDelete(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/patternrules", pathParameters), autorest.WithJSON(patternIds)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) @@ -298,8 +339,8 @@ func (client PatternClient) DeletePatternsPreparer(ctx context.Context, appID uu // DeletePatternsSender sends the DeletePatterns request. The method will close the // http.Response Body if it receives an error. func (client PatternClient) DeletePatternsSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // DeletePatternsResponder handles the response to the DeletePatterns request. The method always @@ -315,51 +356,61 @@ func (client PatternClient) DeletePatternsResponder(resp *http.Response) (result return } -// GetIntentPatterns sends the get intent patterns request. +// ListIntentPatterns sends the list intent patterns request. // Parameters: // appID - the application ID. // versionID - the version ID. // intentID - the intent classifier ID. // skip - the number of entries to skip. Default value is 0. // take - the number of entries to return. Maximum page size is 500. Default is 100. -func (client PatternClient) GetIntentPatterns(ctx context.Context, appID uuid.UUID, versionID string, intentID uuid.UUID, skip *int32, take *int32) (result ListPatternRuleInfo, err error) { +func (client PatternClient) ListIntentPatterns(ctx context.Context, appID uuid.UUID, versionID string, intentID uuid.UUID, skip *int32, take *int32) (result ListPatternRuleInfo, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PatternClient.ListIntentPatterns") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } if err := validation.Validate([]validation.Validation{ {TargetValue: skip, Constraints: []validation.Constraint{{Target: "skip", Name: validation.Null, Rule: false, Chain: []validation.Constraint{{Target: "skip", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}}}}}, {TargetValue: take, Constraints: []validation.Constraint{{Target: "take", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "take", Name: validation.InclusiveMaximum, Rule: 500, Chain: nil}, + Chain: []validation.Constraint{{Target: "take", Name: validation.InclusiveMaximum, Rule: int64(500), Chain: nil}, {Target: "take", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}, }}}}}); err != nil { - return result, validation.NewError("programmatic.PatternClient", "GetIntentPatterns", err.Error()) + return result, validation.NewError("authoring.PatternClient", "ListIntentPatterns", err.Error()) } - req, err := client.GetIntentPatternsPreparer(ctx, appID, versionID, intentID, skip, take) + req, err := client.ListIntentPatternsPreparer(ctx, appID, versionID, intentID, skip, take) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.PatternClient", "GetIntentPatterns", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.PatternClient", "ListIntentPatterns", nil, "Failure preparing request") return } - resp, err := client.GetIntentPatternsSender(req) + resp, err := client.ListIntentPatternsSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.PatternClient", "GetIntentPatterns", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.PatternClient", "ListIntentPatterns", resp, "Failure sending request") return } - result, err = client.GetIntentPatternsResponder(resp) + result, err = client.ListIntentPatternsResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.PatternClient", "GetIntentPatterns", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.PatternClient", "ListIntentPatterns", resp, "Failure responding to request") } return } -// GetIntentPatternsPreparer prepares the GetIntentPatterns request. -func (client PatternClient) GetIntentPatternsPreparer(ctx context.Context, appID uuid.UUID, versionID string, intentID uuid.UUID, skip *int32, take *int32) (*http.Request, error) { +// ListIntentPatternsPreparer prepares the ListIntentPatterns request. +func (client PatternClient) ListIntentPatternsPreparer(ctx context.Context, appID uuid.UUID, versionID string, intentID uuid.UUID, skip *int32, take *int32) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -382,22 +433,22 @@ func (client PatternClient) GetIntentPatternsPreparer(ctx context.Context, appID preparer := autorest.CreatePreparer( autorest.AsGet(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/intents/{intentId}/patternrules", pathParameters), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) } -// GetIntentPatternsSender sends the GetIntentPatterns request. The method will close the +// ListIntentPatternsSender sends the ListIntentPatterns request. The method will close the // http.Response Body if it receives an error. -func (client PatternClient) GetIntentPatternsSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +func (client PatternClient) ListIntentPatternsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } -// GetIntentPatternsResponder handles the response to the GetIntentPatterns request. The method always +// ListIntentPatternsResponder handles the response to the ListIntentPatterns request. The method always // closes the http.Response Body. -func (client PatternClient) GetIntentPatternsResponder(resp *http.Response) (result ListPatternRuleInfo, err error) { +func (client PatternClient) ListIntentPatternsResponder(resp *http.Response) (result ListPatternRuleInfo, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -408,50 +459,60 @@ func (client PatternClient) GetIntentPatternsResponder(resp *http.Response) (res return } -// GetPatterns sends the get patterns request. +// ListPatterns sends the list patterns request. // Parameters: // appID - the application ID. // versionID - the version ID. // skip - the number of entries to skip. Default value is 0. // take - the number of entries to return. Maximum page size is 500. Default is 100. -func (client PatternClient) GetPatterns(ctx context.Context, appID uuid.UUID, versionID string, skip *int32, take *int32) (result ListPatternRuleInfo, err error) { +func (client PatternClient) ListPatterns(ctx context.Context, appID uuid.UUID, versionID string, skip *int32, take *int32) (result ListPatternRuleInfo, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PatternClient.ListPatterns") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } if err := validation.Validate([]validation.Validation{ {TargetValue: skip, Constraints: []validation.Constraint{{Target: "skip", Name: validation.Null, Rule: false, Chain: []validation.Constraint{{Target: "skip", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}}}}}, {TargetValue: take, Constraints: []validation.Constraint{{Target: "take", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "take", Name: validation.InclusiveMaximum, Rule: 500, Chain: nil}, + Chain: []validation.Constraint{{Target: "take", Name: validation.InclusiveMaximum, Rule: int64(500), Chain: nil}, {Target: "take", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}, }}}}}); err != nil { - return result, validation.NewError("programmatic.PatternClient", "GetPatterns", err.Error()) + return result, validation.NewError("authoring.PatternClient", "ListPatterns", err.Error()) } - req, err := client.GetPatternsPreparer(ctx, appID, versionID, skip, take) + req, err := client.ListPatternsPreparer(ctx, appID, versionID, skip, take) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.PatternClient", "GetPatterns", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.PatternClient", "ListPatterns", nil, "Failure preparing request") return } - resp, err := client.GetPatternsSender(req) + resp, err := client.ListPatternsSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.PatternClient", "GetPatterns", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.PatternClient", "ListPatterns", resp, "Failure sending request") return } - result, err = client.GetPatternsResponder(resp) + result, err = client.ListPatternsResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.PatternClient", "GetPatterns", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.PatternClient", "ListPatterns", resp, "Failure responding to request") } return } -// GetPatternsPreparer prepares the GetPatterns request. -func (client PatternClient) GetPatternsPreparer(ctx context.Context, appID uuid.UUID, versionID string, skip *int32, take *int32) (*http.Request, error) { +// ListPatternsPreparer prepares the ListPatterns request. +func (client PatternClient) ListPatternsPreparer(ctx context.Context, appID uuid.UUID, versionID string, skip *int32, take *int32) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -473,22 +534,22 @@ func (client PatternClient) GetPatternsPreparer(ctx context.Context, appID uuid. preparer := autorest.CreatePreparer( autorest.AsGet(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/patternrules", pathParameters), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) } -// GetPatternsSender sends the GetPatterns request. The method will close the +// ListPatternsSender sends the ListPatterns request. The method will close the // http.Response Body if it receives an error. -func (client PatternClient) GetPatternsSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) +func (client PatternClient) ListPatternsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } -// GetPatternsResponder handles the response to the GetPatterns request. The method always +// ListPatternsResponder handles the response to the ListPatterns request. The method always // closes the http.Response Body. -func (client PatternClient) GetPatternsResponder(resp *http.Response) (result ListPatternRuleInfo, err error) { +func (client PatternClient) ListPatternsResponder(resp *http.Response) (result ListPatternRuleInfo, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -506,22 +567,32 @@ func (client PatternClient) GetPatternsResponder(resp *http.Response) (result Li // patternID - the pattern ID. // pattern - an object representing a pattern. func (client PatternClient) UpdatePattern(ctx context.Context, appID uuid.UUID, versionID string, patternID uuid.UUID, pattern PatternRuleUpdateObject) (result PatternRuleInfo, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PatternClient.UpdatePattern") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } req, err := client.UpdatePatternPreparer(ctx, appID, versionID, patternID, pattern) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.PatternClient", "UpdatePattern", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.PatternClient", "UpdatePattern", nil, "Failure preparing request") return } resp, err := client.UpdatePatternSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.PatternClient", "UpdatePattern", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.PatternClient", "UpdatePattern", resp, "Failure sending request") return } result, err = client.UpdatePatternResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.PatternClient", "UpdatePattern", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.PatternClient", "UpdatePattern", resp, "Failure responding to request") } return @@ -530,7 +601,7 @@ func (client PatternClient) UpdatePattern(ctx context.Context, appID uuid.UUID, // UpdatePatternPreparer prepares the UpdatePattern request. func (client PatternClient) UpdatePatternPreparer(ctx context.Context, appID uuid.UUID, versionID string, patternID uuid.UUID, pattern PatternRuleUpdateObject) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -542,7 +613,7 @@ func (client PatternClient) UpdatePatternPreparer(ctx context.Context, appID uui preparer := autorest.CreatePreparer( autorest.AsContentType("application/json; charset=utf-8"), autorest.AsPut(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/patternrules/{patternId}", pathParameters), autorest.WithJSON(pattern)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) @@ -551,8 +622,8 @@ func (client PatternClient) UpdatePatternPreparer(ctx context.Context, appID uui // UpdatePatternSender sends the UpdatePattern request. The method will close the // http.Response Body if it receives an error. func (client PatternClient) UpdatePatternSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // UpdatePatternResponder handles the response to the UpdatePattern request. The method always @@ -574,28 +645,38 @@ func (client PatternClient) UpdatePatternResponder(resp *http.Response) (result // versionID - the version ID. // patterns - an array represents the patterns. func (client PatternClient) UpdatePatterns(ctx context.Context, appID uuid.UUID, versionID string, patterns []PatternRuleUpdateObject) (result ListPatternRuleInfo, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PatternClient.UpdatePatterns") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } if err := validation.Validate([]validation.Validation{ {TargetValue: patterns, Constraints: []validation.Constraint{{Target: "patterns", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { - return result, validation.NewError("programmatic.PatternClient", "UpdatePatterns", err.Error()) + return result, validation.NewError("authoring.PatternClient", "UpdatePatterns", err.Error()) } req, err := client.UpdatePatternsPreparer(ctx, appID, versionID, patterns) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.PatternClient", "UpdatePatterns", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.PatternClient", "UpdatePatterns", nil, "Failure preparing request") return } resp, err := client.UpdatePatternsSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.PatternClient", "UpdatePatterns", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.PatternClient", "UpdatePatterns", resp, "Failure sending request") return } result, err = client.UpdatePatternsResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.PatternClient", "UpdatePatterns", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.PatternClient", "UpdatePatterns", resp, "Failure responding to request") } return @@ -604,7 +685,7 @@ func (client PatternClient) UpdatePatterns(ctx context.Context, appID uuid.UUID, // UpdatePatternsPreparer prepares the UpdatePatterns request. func (client PatternClient) UpdatePatternsPreparer(ctx context.Context, appID uuid.UUID, versionID string, patterns []PatternRuleUpdateObject) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -615,7 +696,7 @@ func (client PatternClient) UpdatePatternsPreparer(ctx context.Context, appID uu preparer := autorest.CreatePreparer( autorest.AsContentType("application/json; charset=utf-8"), autorest.AsPut(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/patternrules", pathParameters), autorest.WithJSON(patterns)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) @@ -624,8 +705,8 @@ func (client PatternClient) UpdatePatternsPreparer(ctx context.Context, appID uu // UpdatePatternsSender sends the UpdatePatterns request. The method will close the // http.Response Body if it receives an error. func (client PatternClient) UpdatePatternsSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // UpdatePatternsResponder handles the response to the UpdatePatterns request. The method always diff --git a/services/cognitiveservices/v2.0/luis/programmatic/permissions.go b/services/preview/cognitiveservices/v3.0/luis/authoring/permissions.go similarity index 67% rename from services/cognitiveservices/v2.0/luis/programmatic/permissions.go rename to services/preview/cognitiveservices/v3.0/luis/authoring/permissions.go index 75c658467f4a..f502cfb640e0 100644 --- a/services/cognitiveservices/v2.0/luis/programmatic/permissions.go +++ b/services/preview/cognitiveservices/v3.0/luis/authoring/permissions.go @@ -1,4 +1,4 @@ -package programmatic +package authoring // Copyright (c) Microsoft and contributors. All rights reserved. // @@ -21,18 +21,19 @@ import ( "context" "github.com/Azure/go-autorest/autorest" "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" "github.com/satori/go.uuid" "net/http" ) -// PermissionsClient is the client for the Permissions methods of the Programmatic service. +// PermissionsClient is the client for the Permissions methods of the Authoring service. type PermissionsClient struct { BaseClient } // NewPermissionsClient creates an instance of the PermissionsClient client. -func NewPermissionsClient(azureRegion AzureRegions) PermissionsClient { - return PermissionsClient{New(azureRegion)} +func NewPermissionsClient(endpoint string) PermissionsClient { + return PermissionsClient{New(endpoint)} } // Add adds a user to the allowed list of users to access this LUIS application. Users are added using their email @@ -41,22 +42,32 @@ func NewPermissionsClient(azureRegion AzureRegions) PermissionsClient { // appID - the application ID. // userToAdd - a model containing the user's email address. func (client PermissionsClient) Add(ctx context.Context, appID uuid.UUID, userToAdd UserCollaborator) (result OperationStatus, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PermissionsClient.Add") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } req, err := client.AddPreparer(ctx, appID, userToAdd) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.PermissionsClient", "Add", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.PermissionsClient", "Add", nil, "Failure preparing request") return } resp, err := client.AddSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.PermissionsClient", "Add", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.PermissionsClient", "Add", resp, "Failure sending request") return } result, err = client.AddResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.PermissionsClient", "Add", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.PermissionsClient", "Add", resp, "Failure responding to request") } return @@ -65,7 +76,7 @@ func (client PermissionsClient) Add(ctx context.Context, appID uuid.UUID, userTo // AddPreparer prepares the Add request. func (client PermissionsClient) AddPreparer(ctx context.Context, appID uuid.UUID, userToAdd UserCollaborator) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -75,7 +86,7 @@ func (client PermissionsClient) AddPreparer(ctx context.Context, appID uuid.UUID preparer := autorest.CreatePreparer( autorest.AsContentType("application/json; charset=utf-8"), autorest.AsPost(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPathParameters("/apps/{appId}/permissions", pathParameters), autorest.WithJSON(userToAdd)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) @@ -84,8 +95,8 @@ func (client PermissionsClient) AddPreparer(ctx context.Context, appID uuid.UUID // AddSender sends the Add request. The method will close the // http.Response Body if it receives an error. func (client PermissionsClient) AddSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // AddResponder handles the response to the Add request. The method always @@ -107,22 +118,32 @@ func (client PermissionsClient) AddResponder(resp *http.Response) (result Operat // appID - the application ID. // userToDelete - a model containing the user's email address. func (client PermissionsClient) Delete(ctx context.Context, appID uuid.UUID, userToDelete UserCollaborator) (result OperationStatus, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PermissionsClient.Delete") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } req, err := client.DeletePreparer(ctx, appID, userToDelete) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.PermissionsClient", "Delete", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.PermissionsClient", "Delete", nil, "Failure preparing request") return } resp, err := client.DeleteSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.PermissionsClient", "Delete", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.PermissionsClient", "Delete", resp, "Failure sending request") return } result, err = client.DeleteResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.PermissionsClient", "Delete", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.PermissionsClient", "Delete", resp, "Failure responding to request") } return @@ -131,7 +152,7 @@ func (client PermissionsClient) Delete(ctx context.Context, appID uuid.UUID, use // DeletePreparer prepares the Delete request. func (client PermissionsClient) DeletePreparer(ctx context.Context, appID uuid.UUID, userToDelete UserCollaborator) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -141,7 +162,7 @@ func (client PermissionsClient) DeletePreparer(ctx context.Context, appID uuid.U preparer := autorest.CreatePreparer( autorest.AsContentType("application/json; charset=utf-8"), autorest.AsDelete(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPathParameters("/apps/{appId}/permissions", pathParameters), autorest.WithJSON(userToDelete)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) @@ -150,8 +171,8 @@ func (client PermissionsClient) DeletePreparer(ctx context.Context, appID uuid.U // DeleteSender sends the Delete request. The method will close the // http.Response Body if it receives an error. func (client PermissionsClient) DeleteSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // DeleteResponder handles the response to the Delete request. The method always @@ -171,22 +192,32 @@ func (client PermissionsClient) DeleteResponder(resp *http.Response) (result Ope // Parameters: // appID - the application ID. func (client PermissionsClient) List(ctx context.Context, appID uuid.UUID) (result UserAccessList, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PermissionsClient.List") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } req, err := client.ListPreparer(ctx, appID) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.PermissionsClient", "List", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.PermissionsClient", "List", nil, "Failure preparing request") return } resp, err := client.ListSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.PermissionsClient", "List", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.PermissionsClient", "List", resp, "Failure sending request") return } result, err = client.ListResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.PermissionsClient", "List", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.PermissionsClient", "List", resp, "Failure responding to request") } return @@ -195,7 +226,7 @@ func (client PermissionsClient) List(ctx context.Context, appID uuid.UUID) (resu // ListPreparer prepares the List request. func (client PermissionsClient) ListPreparer(ctx context.Context, appID uuid.UUID) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -204,7 +235,7 @@ func (client PermissionsClient) ListPreparer(ctx context.Context, appID uuid.UUI preparer := autorest.CreatePreparer( autorest.AsGet(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPathParameters("/apps/{appId}/permissions", pathParameters)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) } @@ -212,8 +243,8 @@ func (client PermissionsClient) ListPreparer(ctx context.Context, appID uuid.UUI // ListSender sends the List request. The method will close the // http.Response Body if it receives an error. func (client PermissionsClient) ListSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // ListResponder handles the response to the List request. The method always @@ -229,28 +260,38 @@ func (client PermissionsClient) ListResponder(resp *http.Response) (result UserA return } -// Update replaces the current users access list with the one sent in the body. If an empty list is sent, all access to -// other users will be removed. +// Update replaces the current user access list with the new list sent in the body. If an empty list is sent, all +// access to other users will be removed. // Parameters: // appID - the application ID. -// collaborators - a model containing a list of user's email addresses. +// collaborators - a model containing a list of user email addresses. func (client PermissionsClient) Update(ctx context.Context, appID uuid.UUID, collaborators CollaboratorsArray) (result OperationStatus, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PermissionsClient.Update") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } req, err := client.UpdatePreparer(ctx, appID, collaborators) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.PermissionsClient", "Update", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.PermissionsClient", "Update", nil, "Failure preparing request") return } resp, err := client.UpdateSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.PermissionsClient", "Update", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.PermissionsClient", "Update", resp, "Failure sending request") return } result, err = client.UpdateResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.PermissionsClient", "Update", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.PermissionsClient", "Update", resp, "Failure responding to request") } return @@ -259,7 +300,7 @@ func (client PermissionsClient) Update(ctx context.Context, appID uuid.UUID, col // UpdatePreparer prepares the Update request. func (client PermissionsClient) UpdatePreparer(ctx context.Context, appID uuid.UUID, collaborators CollaboratorsArray) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -269,7 +310,7 @@ func (client PermissionsClient) UpdatePreparer(ctx context.Context, appID uuid.U preparer := autorest.CreatePreparer( autorest.AsContentType("application/json; charset=utf-8"), autorest.AsPut(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPathParameters("/apps/{appId}/permissions", pathParameters), autorest.WithJSON(collaborators)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) @@ -278,8 +319,8 @@ func (client PermissionsClient) UpdatePreparer(ctx context.Context, appID uuid.U // UpdateSender sends the Update request. The method will close the // http.Response Body if it receives an error. func (client PermissionsClient) UpdateSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // UpdateResponder handles the response to the Update request. The method always diff --git a/services/preview/cognitiveservices/v3.0/luis/authoring/settings.go b/services/preview/cognitiveservices/v3.0/luis/authoring/settings.go new file mode 100644 index 000000000000..f5a254b06f0b --- /dev/null +++ b/services/preview/cognitiveservices/v3.0/luis/authoring/settings.go @@ -0,0 +1,195 @@ +package authoring + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "github.com/satori/go.uuid" + "net/http" +) + +// SettingsClient is the client for the Settings methods of the Authoring service. +type SettingsClient struct { + BaseClient +} + +// NewSettingsClient creates an instance of the SettingsClient client. +func NewSettingsClient(endpoint string) SettingsClient { + return SettingsClient{New(endpoint)} +} + +// List gets the settings in a version of the application. +// Parameters: +// appID - the application ID. +// versionID - the version ID. +func (client SettingsClient) List(ctx context.Context, appID uuid.UUID, versionID string) (result ListAppVersionSettingObject, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SettingsClient.List") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListPreparer(ctx, appID, versionID) + if err != nil { + err = autorest.NewErrorWithError(err, "authoring.SettingsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "authoring.SettingsClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "authoring.SettingsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client SettingsClient) ListPreparer(ctx context.Context, appID uuid.UUID, versionID string) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "Endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "appId": autorest.Encode("path", appID), + "versionId": autorest.Encode("path", versionID), + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), + autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/settings", pathParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client SettingsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client SettingsClient) ListResponder(resp *http.Response) (result ListAppVersionSettingObject, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result.Value), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Update updates the settings in a version of the application. +// Parameters: +// appID - the application ID. +// versionID - the version ID. +// listOfAppVersionSettingObject - a list of the updated application version settings. +func (client SettingsClient) Update(ctx context.Context, appID uuid.UUID, versionID string, listOfAppVersionSettingObject []AppVersionSettingObject) (result OperationStatus, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SettingsClient.Update") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: listOfAppVersionSettingObject, + Constraints: []validation.Constraint{{Target: "listOfAppVersionSettingObject", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + return result, validation.NewError("authoring.SettingsClient", "Update", err.Error()) + } + + req, err := client.UpdatePreparer(ctx, appID, versionID, listOfAppVersionSettingObject) + if err != nil { + err = autorest.NewErrorWithError(err, "authoring.SettingsClient", "Update", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "authoring.SettingsClient", "Update", resp, "Failure sending request") + return + } + + result, err = client.UpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "authoring.SettingsClient", "Update", resp, "Failure responding to request") + } + + return +} + +// UpdatePreparer prepares the Update request. +func (client SettingsClient) UpdatePreparer(ctx context.Context, appID uuid.UUID, versionID string, listOfAppVersionSettingObject []AppVersionSettingObject) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "Endpoint": client.Endpoint, + } + + pathParameters := map[string]interface{}{ + "appId": autorest.Encode("path", appID), + "versionId": autorest.Encode("path", versionID), + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), + autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/settings", pathParameters), + autorest.WithJSON(listOfAppVersionSettingObject)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateSender sends the Update request. The method will close the +// http.Response Body if it receives an error. +func (client SettingsClient) UpdateSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// UpdateResponder handles the response to the Update request. The method always +// closes the http.Response Body. +func (client SettingsClient) UpdateResponder(resp *http.Response) (result OperationStatus, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/cognitiveservices/v2.0/luis/programmatic/train.go b/services/preview/cognitiveservices/v3.0/luis/authoring/train.go similarity index 72% rename from services/cognitiveservices/v2.0/luis/programmatic/train.go rename to services/preview/cognitiveservices/v3.0/luis/authoring/train.go index 4ae82bd0d9c5..aaba41df3efc 100644 --- a/services/cognitiveservices/v2.0/luis/programmatic/train.go +++ b/services/preview/cognitiveservices/v3.0/luis/authoring/train.go @@ -1,4 +1,4 @@ -package programmatic +package authoring // Copyright (c) Microsoft and contributors. All rights reserved. // @@ -21,18 +21,19 @@ import ( "context" "github.com/Azure/go-autorest/autorest" "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" "github.com/satori/go.uuid" "net/http" ) -// TrainClient is the client for the Train methods of the Programmatic service. +// TrainClient is the client for the Train methods of the Authoring service. type TrainClient struct { BaseClient } // NewTrainClient creates an instance of the TrainClient client. -func NewTrainClient(azureRegion AzureRegions) TrainClient { - return TrainClient{New(azureRegion)} +func NewTrainClient(endpoint string) TrainClient { + return TrainClient{New(endpoint)} } // GetStatus gets the training status of all models (intents and entities) for the specified LUIS app. You must call @@ -42,22 +43,32 @@ func NewTrainClient(azureRegion AzureRegions) TrainClient { // appID - the application ID. // versionID - the version ID. func (client TrainClient) GetStatus(ctx context.Context, appID uuid.UUID, versionID string) (result ListModelTrainingInfo, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/TrainClient.GetStatus") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } req, err := client.GetStatusPreparer(ctx, appID, versionID) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.TrainClient", "GetStatus", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.TrainClient", "GetStatus", nil, "Failure preparing request") return } resp, err := client.GetStatusSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.TrainClient", "GetStatus", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.TrainClient", "GetStatus", resp, "Failure sending request") return } result, err = client.GetStatusResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.TrainClient", "GetStatus", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.TrainClient", "GetStatus", resp, "Failure responding to request") } return @@ -66,7 +77,7 @@ func (client TrainClient) GetStatus(ctx context.Context, appID uuid.UUID, versio // GetStatusPreparer prepares the GetStatus request. func (client TrainClient) GetStatusPreparer(ctx context.Context, appID uuid.UUID, versionID string) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -76,7 +87,7 @@ func (client TrainClient) GetStatusPreparer(ctx context.Context, appID uuid.UUID preparer := autorest.CreatePreparer( autorest.AsGet(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/train", pathParameters)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) } @@ -84,8 +95,8 @@ func (client TrainClient) GetStatusPreparer(ctx context.Context, appID uuid.UUID // GetStatusSender sends the GetStatus request. The method will close the // http.Response Body if it receives an error. func (client TrainClient) GetStatusSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // GetStatusResponder handles the response to the GetStatus request. The method always @@ -110,22 +121,32 @@ func (client TrainClient) GetStatusResponder(resp *http.Response) (result ListMo // appID - the application ID. // versionID - the version ID. func (client TrainClient) TrainVersion(ctx context.Context, appID uuid.UUID, versionID string) (result EnqueueTrainingResponse, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/TrainClient.TrainVersion") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } req, err := client.TrainVersionPreparer(ctx, appID, versionID) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.TrainClient", "TrainVersion", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.TrainClient", "TrainVersion", nil, "Failure preparing request") return } resp, err := client.TrainVersionSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.TrainClient", "TrainVersion", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.TrainClient", "TrainVersion", resp, "Failure sending request") return } result, err = client.TrainVersionResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.TrainClient", "TrainVersion", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.TrainClient", "TrainVersion", resp, "Failure responding to request") } return @@ -134,7 +155,7 @@ func (client TrainClient) TrainVersion(ctx context.Context, appID uuid.UUID, ver // TrainVersionPreparer prepares the TrainVersion request. func (client TrainClient) TrainVersionPreparer(ctx context.Context, appID uuid.UUID, versionID string) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -144,7 +165,7 @@ func (client TrainClient) TrainVersionPreparer(ctx context.Context, appID uuid.U preparer := autorest.CreatePreparer( autorest.AsPost(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/train", pathParameters)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) } @@ -152,8 +173,8 @@ func (client TrainClient) TrainVersionPreparer(ctx context.Context, appID uuid.U // TrainVersionSender sends the TrainVersion request. The method will close the // http.Response Body if it receives an error. func (client TrainClient) TrainVersionSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // TrainVersionResponder handles the response to the TrainVersion request. The method always diff --git a/services/preview/cognitiveservices/v3.0/luis/authoring/version.go b/services/preview/cognitiveservices/v3.0/luis/authoring/version.go new file mode 100644 index 000000000000..5621f83fc771 --- /dev/null +++ b/services/preview/cognitiveservices/v3.0/luis/authoring/version.go @@ -0,0 +1,30 @@ +package authoring + +import "github.com/Azure/azure-sdk-for-go/version" + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +// UserAgent returns the UserAgent string to use when sending http.Requests. +func UserAgent() string { + return "Azure-SDK-For-Go/" + version.Number + " authoring/3.0-preview" +} + +// Version returns the semantic version (see http://semver.org) of the client. +func Version() string { + return version.Number +} diff --git a/services/cognitiveservices/v2.0/luis/programmatic/versions.go b/services/preview/cognitiveservices/v3.0/luis/authoring/versions.go similarity index 67% rename from services/cognitiveservices/v2.0/luis/programmatic/versions.go rename to services/preview/cognitiveservices/v3.0/luis/authoring/versions.go index c6c67c093977..bfb400e04767 100644 --- a/services/cognitiveservices/v2.0/luis/programmatic/versions.go +++ b/services/preview/cognitiveservices/v3.0/luis/authoring/versions.go @@ -1,4 +1,4 @@ -package programmatic +package authoring // Copyright (c) Microsoft and contributors. All rights reserved. // @@ -22,51 +22,62 @@ import ( "github.com/Azure/go-autorest/autorest" "github.com/Azure/go-autorest/autorest/azure" "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" "github.com/satori/go.uuid" "net/http" ) -// VersionsClient is the client for the Versions methods of the Programmatic service. +// VersionsClient is the client for the Versions methods of the Authoring service. type VersionsClient struct { BaseClient } // NewVersionsClient creates an instance of the VersionsClient client. -func NewVersionsClient(azureRegion AzureRegions) VersionsClient { - return VersionsClient{New(azureRegion)} +func NewVersionsClient(endpoint string) VersionsClient { + return VersionsClient{New(endpoint)} } -// Clone creates a new version using the current snapshot of the selected application version. +// Clone creates a new version from the selected version. // Parameters: // appID - the application ID. // versionID - the version ID. // versionCloneObject - a model containing the new version ID. -func (client VersionsClient) Clone(ctx context.Context, appID uuid.UUID, versionID string, versionCloneObject *TaskUpdateObject) (result String, err error) { +func (client VersionsClient) Clone(ctx context.Context, appID uuid.UUID, versionID string, versionCloneObject TaskUpdateObject) (result String, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VersionsClient.Clone") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } req, err := client.ClonePreparer(ctx, appID, versionID, versionCloneObject) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.VersionsClient", "Clone", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.VersionsClient", "Clone", nil, "Failure preparing request") return } resp, err := client.CloneSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.VersionsClient", "Clone", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.VersionsClient", "Clone", resp, "Failure sending request") return } result, err = client.CloneResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.VersionsClient", "Clone", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.VersionsClient", "Clone", resp, "Failure responding to request") } return } // ClonePreparer prepares the Clone request. -func (client VersionsClient) ClonePreparer(ctx context.Context, appID uuid.UUID, versionID string, versionCloneObject *TaskUpdateObject) (*http.Request, error) { +func (client VersionsClient) ClonePreparer(ctx context.Context, appID uuid.UUID, versionID string, versionCloneObject TaskUpdateObject) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -77,20 +88,17 @@ func (client VersionsClient) ClonePreparer(ctx context.Context, appID uuid.UUID, preparer := autorest.CreatePreparer( autorest.AsContentType("application/json; charset=utf-8"), autorest.AsPost(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), - autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/clone", pathParameters)) - if versionCloneObject != nil { - preparer = autorest.DecoratePreparer(preparer, - autorest.WithJSON(versionCloneObject)) - } + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), + autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/clone", pathParameters), + autorest.WithJSON(versionCloneObject)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) } // CloneSender sends the Clone request. The method will close the // http.Response Body if it receives an error. func (client VersionsClient) CloneSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // CloneResponder handles the response to the Clone request. The method always @@ -111,22 +119,32 @@ func (client VersionsClient) CloneResponder(resp *http.Response) (result String, // appID - the application ID. // versionID - the version ID. func (client VersionsClient) Delete(ctx context.Context, appID uuid.UUID, versionID string) (result OperationStatus, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VersionsClient.Delete") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } req, err := client.DeletePreparer(ctx, appID, versionID) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.VersionsClient", "Delete", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.VersionsClient", "Delete", nil, "Failure preparing request") return } resp, err := client.DeleteSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.VersionsClient", "Delete", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.VersionsClient", "Delete", resp, "Failure sending request") return } result, err = client.DeleteResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.VersionsClient", "Delete", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.VersionsClient", "Delete", resp, "Failure responding to request") } return @@ -135,7 +153,7 @@ func (client VersionsClient) Delete(ctx context.Context, appID uuid.UUID, versio // DeletePreparer prepares the Delete request. func (client VersionsClient) DeletePreparer(ctx context.Context, appID uuid.UUID, versionID string) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -145,7 +163,7 @@ func (client VersionsClient) DeletePreparer(ctx context.Context, appID uuid.UUID preparer := autorest.CreatePreparer( autorest.AsDelete(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/", pathParameters)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) } @@ -153,8 +171,8 @@ func (client VersionsClient) DeletePreparer(ctx context.Context, appID uuid.UUID // DeleteSender sends the Delete request. The method will close the // http.Response Body if it receives an error. func (client VersionsClient) DeleteSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // DeleteResponder handles the response to the Delete request. The method always @@ -170,28 +188,38 @@ func (client VersionsClient) DeleteResponder(resp *http.Response) (result Operat return } -// DeleteUnlabelledUtterance deleted an unlabelled utterance. +// DeleteUnlabelledUtterance deleted an unlabelled utterance in a version of the application. // Parameters: // appID - the application ID. // versionID - the version ID. // utterance - the utterance text to delete. func (client VersionsClient) DeleteUnlabelledUtterance(ctx context.Context, appID uuid.UUID, versionID string, utterance string) (result OperationStatus, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VersionsClient.DeleteUnlabelledUtterance") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } req, err := client.DeleteUnlabelledUtterancePreparer(ctx, appID, versionID, utterance) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.VersionsClient", "DeleteUnlabelledUtterance", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.VersionsClient", "DeleteUnlabelledUtterance", nil, "Failure preparing request") return } resp, err := client.DeleteUnlabelledUtteranceSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.VersionsClient", "DeleteUnlabelledUtterance", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.VersionsClient", "DeleteUnlabelledUtterance", resp, "Failure sending request") return } result, err = client.DeleteUnlabelledUtteranceResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.VersionsClient", "DeleteUnlabelledUtterance", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.VersionsClient", "DeleteUnlabelledUtterance", resp, "Failure responding to request") } return @@ -200,7 +228,7 @@ func (client VersionsClient) DeleteUnlabelledUtterance(ctx context.Context, appI // DeleteUnlabelledUtterancePreparer prepares the DeleteUnlabelledUtterance request. func (client VersionsClient) DeleteUnlabelledUtterancePreparer(ctx context.Context, appID uuid.UUID, versionID string, utterance string) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -211,7 +239,7 @@ func (client VersionsClient) DeleteUnlabelledUtterancePreparer(ctx context.Conte preparer := autorest.CreatePreparer( autorest.AsContentType("application/json; charset=utf-8"), autorest.AsDelete(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/suggest", pathParameters), autorest.WithJSON(utterance)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) @@ -220,8 +248,8 @@ func (client VersionsClient) DeleteUnlabelledUtterancePreparer(ctx context.Conte // DeleteUnlabelledUtteranceSender sends the DeleteUnlabelledUtterance request. The method will close the // http.Response Body if it receives an error. func (client VersionsClient) DeleteUnlabelledUtteranceSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // DeleteUnlabelledUtteranceResponder handles the response to the DeleteUnlabelledUtterance request. The method always @@ -242,22 +270,32 @@ func (client VersionsClient) DeleteUnlabelledUtteranceResponder(resp *http.Respo // appID - the application ID. // versionID - the version ID. func (client VersionsClient) Export(ctx context.Context, appID uuid.UUID, versionID string) (result LuisApp, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VersionsClient.Export") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } req, err := client.ExportPreparer(ctx, appID, versionID) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.VersionsClient", "Export", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.VersionsClient", "Export", nil, "Failure preparing request") return } resp, err := client.ExportSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.VersionsClient", "Export", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.VersionsClient", "Export", resp, "Failure sending request") return } result, err = client.ExportResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.VersionsClient", "Export", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.VersionsClient", "Export", resp, "Failure responding to request") } return @@ -266,7 +304,7 @@ func (client VersionsClient) Export(ctx context.Context, appID uuid.UUID, versio // ExportPreparer prepares the Export request. func (client VersionsClient) ExportPreparer(ctx context.Context, appID uuid.UUID, versionID string) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -276,7 +314,7 @@ func (client VersionsClient) ExportPreparer(ctx context.Context, appID uuid.UUID preparer := autorest.CreatePreparer( autorest.AsGet(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/export", pathParameters)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) } @@ -284,8 +322,8 @@ func (client VersionsClient) ExportPreparer(ctx context.Context, appID uuid.UUID // ExportSender sends the Export request. The method will close the // http.Response Body if it receives an error. func (client VersionsClient) ExportSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // ExportResponder handles the response to the Export request. The method always @@ -301,27 +339,38 @@ func (client VersionsClient) ExportResponder(resp *http.Response) (result LuisAp return } -// Get gets the version info. +// Get gets the version information such as date created, last modified date, endpoint URL, count of intents and +// entities, training and publishing status. // Parameters: // appID - the application ID. // versionID - the version ID. func (client VersionsClient) Get(ctx context.Context, appID uuid.UUID, versionID string) (result VersionInfo, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VersionsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } req, err := client.GetPreparer(ctx, appID, versionID) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.VersionsClient", "Get", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.VersionsClient", "Get", nil, "Failure preparing request") return } resp, err := client.GetSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.VersionsClient", "Get", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.VersionsClient", "Get", resp, "Failure sending request") return } result, err = client.GetResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.VersionsClient", "Get", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.VersionsClient", "Get", resp, "Failure responding to request") } return @@ -330,7 +379,7 @@ func (client VersionsClient) Get(ctx context.Context, appID uuid.UUID, versionID // GetPreparer prepares the Get request. func (client VersionsClient) GetPreparer(ctx context.Context, appID uuid.UUID, versionID string) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -340,7 +389,7 @@ func (client VersionsClient) GetPreparer(ctx context.Context, appID uuid.UUID, v preparer := autorest.CreatePreparer( autorest.AsGet(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/", pathParameters)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) } @@ -348,8 +397,8 @@ func (client VersionsClient) GetPreparer(ctx context.Context, appID uuid.UUID, v // GetSender sends the Get request. The method will close the // http.Response Body if it receives an error. func (client VersionsClient) GetSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // GetResponder handles the response to the Get request. The method always @@ -372,22 +421,32 @@ func (client VersionsClient) GetResponder(resp *http.Response) (result VersionIn // versionID - the new versionId to import. If not specified, the versionId will be read from the imported // object. func (client VersionsClient) Import(ctx context.Context, appID uuid.UUID, luisApp LuisApp, versionID string) (result String, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VersionsClient.Import") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } req, err := client.ImportPreparer(ctx, appID, luisApp, versionID) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.VersionsClient", "Import", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.VersionsClient", "Import", nil, "Failure preparing request") return } resp, err := client.ImportSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.VersionsClient", "Import", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.VersionsClient", "Import", resp, "Failure sending request") return } result, err = client.ImportResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.VersionsClient", "Import", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.VersionsClient", "Import", resp, "Failure responding to request") } return @@ -396,7 +455,7 @@ func (client VersionsClient) Import(ctx context.Context, appID uuid.UUID, luisAp // ImportPreparer prepares the Import request. func (client VersionsClient) ImportPreparer(ctx context.Context, appID uuid.UUID, luisApp LuisApp, versionID string) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -411,7 +470,7 @@ func (client VersionsClient) ImportPreparer(ctx context.Context, appID uuid.UUID preparer := autorest.CreatePreparer( autorest.AsContentType("application/json; charset=utf-8"), autorest.AsPost(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPathParameters("/apps/{appId}/versions/import", pathParameters), autorest.WithJSON(luisApp), autorest.WithQueryParameters(queryParameters)) @@ -421,8 +480,8 @@ func (client VersionsClient) ImportPreparer(ctx context.Context, appID uuid.UUID // ImportSender sends the Import request. The method will close the // http.Response Body if it receives an error. func (client VersionsClient) ImportSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // ImportResponder handles the response to the Import request. The method always @@ -438,40 +497,50 @@ func (client VersionsClient) ImportResponder(resp *http.Response) (result String return } -// List gets the application versions info. +// List gets a list of versions for this application ID. // Parameters: // appID - the application ID. // skip - the number of entries to skip. Default value is 0. // take - the number of entries to return. Maximum page size is 500. Default is 100. func (client VersionsClient) List(ctx context.Context, appID uuid.UUID, skip *int32, take *int32) (result ListVersionInfo, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VersionsClient.List") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } if err := validation.Validate([]validation.Validation{ {TargetValue: skip, Constraints: []validation.Constraint{{Target: "skip", Name: validation.Null, Rule: false, Chain: []validation.Constraint{{Target: "skip", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}}}}}, {TargetValue: take, Constraints: []validation.Constraint{{Target: "take", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "take", Name: validation.InclusiveMaximum, Rule: 500, Chain: nil}, + Chain: []validation.Constraint{{Target: "take", Name: validation.InclusiveMaximum, Rule: int64(500), Chain: nil}, {Target: "take", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}, }}}}}); err != nil { - return result, validation.NewError("programmatic.VersionsClient", "List", err.Error()) + return result, validation.NewError("authoring.VersionsClient", "List", err.Error()) } req, err := client.ListPreparer(ctx, appID, skip, take) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.VersionsClient", "List", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.VersionsClient", "List", nil, "Failure preparing request") return } resp, err := client.ListSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.VersionsClient", "List", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.VersionsClient", "List", resp, "Failure sending request") return } result, err = client.ListResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.VersionsClient", "List", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.VersionsClient", "List", resp, "Failure responding to request") } return @@ -480,7 +549,7 @@ func (client VersionsClient) List(ctx context.Context, appID uuid.UUID, skip *in // ListPreparer prepares the List request. func (client VersionsClient) ListPreparer(ctx context.Context, appID uuid.UUID, skip *int32, take *int32) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -501,7 +570,7 @@ func (client VersionsClient) ListPreparer(ctx context.Context, appID uuid.UUID, preparer := autorest.CreatePreparer( autorest.AsGet(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPathParameters("/apps/{appId}/versions", pathParameters), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) @@ -510,8 +579,8 @@ func (client VersionsClient) ListPreparer(ctx context.Context, appID uuid.UUID, // ListSender sends the List request. The method will close the // http.Response Body if it receives an error. func (client VersionsClient) ListSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // ListResponder handles the response to the List request. The method always @@ -533,22 +602,32 @@ func (client VersionsClient) ListResponder(resp *http.Response) (result ListVers // versionID - the version ID. // versionUpdateObject - a model containing Name and Description of the application. func (client VersionsClient) Update(ctx context.Context, appID uuid.UUID, versionID string, versionUpdateObject TaskUpdateObject) (result OperationStatus, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/VersionsClient.Update") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } req, err := client.UpdatePreparer(ctx, appID, versionID, versionUpdateObject) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.VersionsClient", "Update", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "authoring.VersionsClient", "Update", nil, "Failure preparing request") return } resp, err := client.UpdateSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "programmatic.VersionsClient", "Update", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "authoring.VersionsClient", "Update", resp, "Failure sending request") return } result, err = client.UpdateResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "programmatic.VersionsClient", "Update", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "authoring.VersionsClient", "Update", resp, "Failure responding to request") } return @@ -557,7 +636,7 @@ func (client VersionsClient) Update(ctx context.Context, appID uuid.UUID, versio // UpdatePreparer prepares the Update request. func (client VersionsClient) UpdatePreparer(ctx context.Context, appID uuid.UUID, versionID string, versionUpdateObject TaskUpdateObject) (*http.Request, error) { urlParameters := map[string]interface{}{ - "AzureRegion": client.AzureRegion, + "Endpoint": client.Endpoint, } pathParameters := map[string]interface{}{ @@ -568,7 +647,7 @@ func (client VersionsClient) UpdatePreparer(ctx context.Context, appID uuid.UUID preparer := autorest.CreatePreparer( autorest.AsContentType("application/json; charset=utf-8"), autorest.AsPut(), - autorest.WithCustomBaseURL("https://{AzureRegion}.api.cognitive.microsoft.com/luis/api/v2.0", urlParameters), + autorest.WithCustomBaseURL("{Endpoint}/luis/api/v3.0-preview", urlParameters), autorest.WithPathParameters("/apps/{appId}/versions/{versionId}/", pathParameters), autorest.WithJSON(versionUpdateObject)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) @@ -577,8 +656,8 @@ func (client VersionsClient) UpdatePreparer(ctx context.Context, appID uuid.UUID // UpdateSender sends the Update request. The method will close the // http.Response Body if it receives an error. func (client VersionsClient) UpdateSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // UpdateResponder handles the response to the Update request. The method always diff --git a/services/preview/compute/mgmt/2016-04-30-preview/compute/virtualmachines.go b/services/preview/compute/mgmt/2016-04-30-preview/compute/virtualmachines.go index 1cbe2312136a..14595e2c42a7 100644 --- a/services/preview/compute/mgmt/2016-04-30-preview/compute/virtualmachines.go +++ b/services/preview/compute/mgmt/2016-04-30-preview/compute/virtualmachines.go @@ -1084,7 +1084,7 @@ func (client VirtualMachinesClient) PowerOffResponder(resp *http.Response) (resu return } -// Redeploy the operation to redeploy a virtual machine. +// Redeploy shuts down the virtual machine, moves it to a new node, and powers it back on. // Parameters: // resourceGroupName - the name of the resource group. // VMName - the name of the virtual machine. diff --git a/services/preview/containerservice/mgmt/2019-09-30-preview/containerservice/agentpools.go b/services/preview/containerservice/mgmt/2019-09-30-preview/containerservice/agentpools.go new file mode 100644 index 000000000000..0deeb2385425 --- /dev/null +++ b/services/preview/containerservice/mgmt/2019-09-30-preview/containerservice/agentpools.go @@ -0,0 +1,621 @@ +package containerservice + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// AgentPoolsClient is the the Container Service Client. +type AgentPoolsClient struct { + BaseClient +} + +// NewAgentPoolsClient creates an instance of the AgentPoolsClient client. +func NewAgentPoolsClient(subscriptionID string) AgentPoolsClient { + return NewAgentPoolsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewAgentPoolsClientWithBaseURI creates an instance of the AgentPoolsClient client. +func NewAgentPoolsClientWithBaseURI(baseURI string, subscriptionID string) AgentPoolsClient { + return AgentPoolsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates an agent pool in the specified managed cluster. +// Parameters: +// resourceGroupName - the name of the resource group. +// resourceName - the name of the managed cluster resource. +// agentPoolName - the name of the agent pool. +// parameters - parameters supplied to the Create or Update an agent pool operation. +func (client AgentPoolsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, resourceName string, agentPoolName string, parameters AgentPool) (result AgentPoolsCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AgentPoolsClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, + {TargetValue: resourceName, + Constraints: []validation.Constraint{{Target: "resourceName", Name: validation.MaxLength, Rule: 63, Chain: nil}, + {Target: "resourceName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$`, Chain: nil}}}, + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.ManagedClusterAgentPoolProfileProperties", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.ManagedClusterAgentPoolProfileProperties.Count", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "parameters.ManagedClusterAgentPoolProfileProperties.Count", Name: validation.InclusiveMaximum, Rule: int64(100), Chain: nil}, + {Target: "parameters.ManagedClusterAgentPoolProfileProperties.Count", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}, + }}, + }}}}}); err != nil { + return result, validation.NewError("containerservice.AgentPoolsClient", "CreateOrUpdate", err.Error()) + } + + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, resourceName, agentPoolName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "containerservice.AgentPoolsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "containerservice.AgentPoolsClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client AgentPoolsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, resourceName string, agentPoolName string, parameters AgentPool) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "agentPoolName": autorest.Encode("path", agentPoolName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "resourceName": autorest.Encode("path", resourceName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client AgentPoolsClient) CreateOrUpdateSender(req *http.Request) (future AgentPoolsCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client AgentPoolsClient) CreateOrUpdateResponder(resp *http.Response) (result AgentPool, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the agent pool in the specified managed cluster. +// Parameters: +// resourceGroupName - the name of the resource group. +// resourceName - the name of the managed cluster resource. +// agentPoolName - the name of the agent pool. +func (client AgentPoolsClient) Delete(ctx context.Context, resourceGroupName string, resourceName string, agentPoolName string) (result AgentPoolsDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AgentPoolsClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, + {TargetValue: resourceName, + Constraints: []validation.Constraint{{Target: "resourceName", Name: validation.MaxLength, Rule: 63, Chain: nil}, + {Target: "resourceName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("containerservice.AgentPoolsClient", "Delete", err.Error()) + } + + req, err := client.DeletePreparer(ctx, resourceGroupName, resourceName, agentPoolName) + if err != nil { + err = autorest.NewErrorWithError(err, "containerservice.AgentPoolsClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "containerservice.AgentPoolsClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client AgentPoolsClient) DeletePreparer(ctx context.Context, resourceGroupName string, resourceName string, agentPoolName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "agentPoolName": autorest.Encode("path", agentPoolName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "resourceName": autorest.Encode("path", resourceName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client AgentPoolsClient) DeleteSender(req *http.Request) (future AgentPoolsDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client AgentPoolsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets the details of the agent pool by managed cluster and resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +// resourceName - the name of the managed cluster resource. +// agentPoolName - the name of the agent pool. +func (client AgentPoolsClient) Get(ctx context.Context, resourceGroupName string, resourceName string, agentPoolName string) (result AgentPool, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AgentPoolsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, + {TargetValue: resourceName, + Constraints: []validation.Constraint{{Target: "resourceName", Name: validation.MaxLength, Rule: 63, Chain: nil}, + {Target: "resourceName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("containerservice.AgentPoolsClient", "Get", err.Error()) + } + + req, err := client.GetPreparer(ctx, resourceGroupName, resourceName, agentPoolName) + if err != nil { + err = autorest.NewErrorWithError(err, "containerservice.AgentPoolsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "containerservice.AgentPoolsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "containerservice.AgentPoolsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client AgentPoolsClient) GetPreparer(ctx context.Context, resourceGroupName string, resourceName string, agentPoolName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "agentPoolName": autorest.Encode("path", agentPoolName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "resourceName": autorest.Encode("path", resourceName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client AgentPoolsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client AgentPoolsClient) GetResponder(resp *http.Response) (result AgentPool, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetAvailableAgentPoolVersions gets a list of supported versions for the specified agent pool. +// Parameters: +// resourceGroupName - the name of the resource group. +// resourceName - the name of the managed cluster resource. +func (client AgentPoolsClient) GetAvailableAgentPoolVersions(ctx context.Context, resourceGroupName string, resourceName string) (result AgentPoolAvailableVersions, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AgentPoolsClient.GetAvailableAgentPoolVersions") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, + {TargetValue: resourceName, + Constraints: []validation.Constraint{{Target: "resourceName", Name: validation.MaxLength, Rule: 63, Chain: nil}, + {Target: "resourceName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("containerservice.AgentPoolsClient", "GetAvailableAgentPoolVersions", err.Error()) + } + + req, err := client.GetAvailableAgentPoolVersionsPreparer(ctx, resourceGroupName, resourceName) + if err != nil { + err = autorest.NewErrorWithError(err, "containerservice.AgentPoolsClient", "GetAvailableAgentPoolVersions", nil, "Failure preparing request") + return + } + + resp, err := client.GetAvailableAgentPoolVersionsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "containerservice.AgentPoolsClient", "GetAvailableAgentPoolVersions", resp, "Failure sending request") + return + } + + result, err = client.GetAvailableAgentPoolVersionsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "containerservice.AgentPoolsClient", "GetAvailableAgentPoolVersions", resp, "Failure responding to request") + } + + return +} + +// GetAvailableAgentPoolVersionsPreparer prepares the GetAvailableAgentPoolVersions request. +func (client AgentPoolsClient) GetAvailableAgentPoolVersionsPreparer(ctx context.Context, resourceGroupName string, resourceName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "resourceName": autorest.Encode("path", resourceName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/availableAgentPoolVersions", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetAvailableAgentPoolVersionsSender sends the GetAvailableAgentPoolVersions request. The method will close the +// http.Response Body if it receives an error. +func (client AgentPoolsClient) GetAvailableAgentPoolVersionsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetAvailableAgentPoolVersionsResponder handles the response to the GetAvailableAgentPoolVersions request. The method always +// closes the http.Response Body. +func (client AgentPoolsClient) GetAvailableAgentPoolVersionsResponder(resp *http.Response) (result AgentPoolAvailableVersions, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetUpgradeProfile gets the details of the upgrade profile for an agent pool with a specified resource group and +// managed cluster name. +// Parameters: +// resourceGroupName - the name of the resource group. +// resourceName - the name of the managed cluster resource. +// agentPoolName - the name of the agent pool. +func (client AgentPoolsClient) GetUpgradeProfile(ctx context.Context, resourceGroupName string, resourceName string, agentPoolName string) (result AgentPoolUpgradeProfile, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AgentPoolsClient.GetUpgradeProfile") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, + {TargetValue: resourceName, + Constraints: []validation.Constraint{{Target: "resourceName", Name: validation.MaxLength, Rule: 63, Chain: nil}, + {Target: "resourceName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("containerservice.AgentPoolsClient", "GetUpgradeProfile", err.Error()) + } + + req, err := client.GetUpgradeProfilePreparer(ctx, resourceGroupName, resourceName, agentPoolName) + if err != nil { + err = autorest.NewErrorWithError(err, "containerservice.AgentPoolsClient", "GetUpgradeProfile", nil, "Failure preparing request") + return + } + + resp, err := client.GetUpgradeProfileSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "containerservice.AgentPoolsClient", "GetUpgradeProfile", resp, "Failure sending request") + return + } + + result, err = client.GetUpgradeProfileResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "containerservice.AgentPoolsClient", "GetUpgradeProfile", resp, "Failure responding to request") + } + + return +} + +// GetUpgradeProfilePreparer prepares the GetUpgradeProfile request. +func (client AgentPoolsClient) GetUpgradeProfilePreparer(ctx context.Context, resourceGroupName string, resourceName string, agentPoolName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "agentPoolName": autorest.Encode("path", agentPoolName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "resourceName": autorest.Encode("path", resourceName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/upgradeProfiles/default", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetUpgradeProfileSender sends the GetUpgradeProfile request. The method will close the +// http.Response Body if it receives an error. +func (client AgentPoolsClient) GetUpgradeProfileSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetUpgradeProfileResponder handles the response to the GetUpgradeProfile request. The method always +// closes the http.Response Body. +func (client AgentPoolsClient) GetUpgradeProfileResponder(resp *http.Response) (result AgentPoolUpgradeProfile, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets a list of agent pools in the specified managed cluster. The operation returns properties of each agent +// pool. +// Parameters: +// resourceGroupName - the name of the resource group. +// resourceName - the name of the managed cluster resource. +func (client AgentPoolsClient) List(ctx context.Context, resourceGroupName string, resourceName string) (result AgentPoolListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AgentPoolsClient.List") + defer func() { + sc := -1 + if result.aplr.Response.Response != nil { + sc = result.aplr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, + {TargetValue: resourceName, + Constraints: []validation.Constraint{{Target: "resourceName", Name: validation.MaxLength, Rule: 63, Chain: nil}, + {Target: "resourceName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("containerservice.AgentPoolsClient", "List", err.Error()) + } + + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName, resourceName) + if err != nil { + err = autorest.NewErrorWithError(err, "containerservice.AgentPoolsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.aplr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "containerservice.AgentPoolsClient", "List", resp, "Failure sending request") + return + } + + result.aplr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "containerservice.AgentPoolsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client AgentPoolsClient) ListPreparer(ctx context.Context, resourceGroupName string, resourceName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "resourceName": autorest.Encode("path", resourceName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client AgentPoolsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client AgentPoolsClient) ListResponder(resp *http.Response) (result AgentPoolListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client AgentPoolsClient) listNextResults(ctx context.Context, lastResults AgentPoolListResult) (result AgentPoolListResult, err error) { + req, err := lastResults.agentPoolListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "containerservice.AgentPoolsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "containerservice.AgentPoolsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "containerservice.AgentPoolsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client AgentPoolsClient) ListComplete(ctx context.Context, resourceGroupName string, resourceName string) (result AgentPoolListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AgentPoolsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName, resourceName) + return +} diff --git a/services/preview/containerservice/mgmt/2019-09-30-preview/containerservice/client.go b/services/preview/containerservice/mgmt/2019-09-30-preview/containerservice/client.go new file mode 100644 index 000000000000..09a36def717c --- /dev/null +++ b/services/preview/containerservice/mgmt/2019-09-30-preview/containerservice/client.go @@ -0,0 +1,51 @@ +// Package containerservice implements the Azure ARM Containerservice service API version . +// +// The Container Service Client. +package containerservice + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" +) + +const ( + // DefaultBaseURI is the default URI used for the service Containerservice + DefaultBaseURI = "https://management.azure.com" +) + +// BaseClient is the base client for Containerservice. +type BaseClient struct { + autorest.Client + BaseURI string + SubscriptionID string +} + +// New creates an instance of the BaseClient client. +func New(subscriptionID string) BaseClient { + return NewWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewWithBaseURI creates an instance of the BaseClient client. +func NewWithBaseURI(baseURI string, subscriptionID string) BaseClient { + return BaseClient{ + Client: autorest.NewClientWithUserAgent(UserAgent()), + BaseURI: baseURI, + SubscriptionID: subscriptionID, + } +} diff --git a/services/preview/containerservice/mgmt/2019-09-30-preview/containerservice/containerserviceapi/interfaces.go b/services/preview/containerservice/mgmt/2019-09-30-preview/containerservice/containerserviceapi/interfaces.go new file mode 100644 index 000000000000..277f5fa50757 --- /dev/null +++ b/services/preview/containerservice/mgmt/2019-09-30-preview/containerservice/containerserviceapi/interfaces.go @@ -0,0 +1,84 @@ +package containerserviceapi + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/azure-sdk-for-go/services/preview/containerservice/mgmt/2019-09-30-preview/containerservice" +) + +// OpenShiftManagedClustersClientAPI contains the set of methods on the OpenShiftManagedClustersClient type. +type OpenShiftManagedClustersClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, resourceName string, parameters containerservice.OpenShiftManagedCluster) (result containerservice.OpenShiftManagedClustersCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, resourceName string) (result containerservice.OpenShiftManagedClustersDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, resourceName string) (result containerservice.OpenShiftManagedCluster, err error) + List(ctx context.Context) (result containerservice.OpenShiftManagedClusterListResultPage, err error) + ListByResourceGroup(ctx context.Context, resourceGroupName string) (result containerservice.OpenShiftManagedClusterListResultPage, err error) + UpdateTags(ctx context.Context, resourceGroupName string, resourceName string, parameters containerservice.TagsObject) (result containerservice.OpenShiftManagedClustersUpdateTagsFuture, err error) +} + +var _ OpenShiftManagedClustersClientAPI = (*containerservice.OpenShiftManagedClustersClient)(nil) + +// ContainerServicesClientAPI contains the set of methods on the ContainerServicesClient type. +type ContainerServicesClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, containerServiceName string, parameters containerservice.ContainerService) (result containerservice.ContainerServicesCreateOrUpdateFutureType, err error) + Delete(ctx context.Context, resourceGroupName string, containerServiceName string) (result containerservice.ContainerServicesDeleteFutureType, err error) + Get(ctx context.Context, resourceGroupName string, containerServiceName string) (result containerservice.ContainerService, err error) + List(ctx context.Context) (result containerservice.ListResultPage, err error) + ListByResourceGroup(ctx context.Context, resourceGroupName string) (result containerservice.ListResultPage, err error) + ListOrchestrators(ctx context.Context, location string, resourceType string) (result containerservice.OrchestratorVersionProfileListResult, err error) +} + +var _ ContainerServicesClientAPI = (*containerservice.ContainerServicesClient)(nil) + +// OperationsClientAPI contains the set of methods on the OperationsClient type. +type OperationsClientAPI interface { + List(ctx context.Context) (result containerservice.OperationListResult, err error) +} + +var _ OperationsClientAPI = (*containerservice.OperationsClient)(nil) + +// ManagedClustersClientAPI contains the set of methods on the ManagedClustersClient type. +type ManagedClustersClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, resourceName string, parameters containerservice.ManagedCluster) (result containerservice.ManagedClustersCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, resourceName string) (result containerservice.ManagedClustersDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, resourceName string) (result containerservice.ManagedCluster, err error) + GetAccessProfile(ctx context.Context, resourceGroupName string, resourceName string, roleName string) (result containerservice.ManagedClusterAccessProfile, err error) + GetUpgradeProfile(ctx context.Context, resourceGroupName string, resourceName string) (result containerservice.ManagedClusterUpgradeProfile, err error) + List(ctx context.Context) (result containerservice.ManagedClusterListResultPage, err error) + ListByResourceGroup(ctx context.Context, resourceGroupName string) (result containerservice.ManagedClusterListResultPage, err error) + ListClusterAdminCredentials(ctx context.Context, resourceGroupName string, resourceName string) (result containerservice.CredentialResults, err error) + ListClusterUserCredentials(ctx context.Context, resourceGroupName string, resourceName string) (result containerservice.CredentialResults, err error) + ResetAADProfile(ctx context.Context, resourceGroupName string, resourceName string, parameters containerservice.ManagedClusterAADProfile) (result containerservice.ManagedClustersResetAADProfileFuture, err error) + ResetServicePrincipalProfile(ctx context.Context, resourceGroupName string, resourceName string, parameters containerservice.ManagedClusterServicePrincipalProfile) (result containerservice.ManagedClustersResetServicePrincipalProfileFuture, err error) + UpdateTags(ctx context.Context, resourceGroupName string, resourceName string, parameters containerservice.TagsObject) (result containerservice.ManagedClustersUpdateTagsFuture, err error) +} + +var _ ManagedClustersClientAPI = (*containerservice.ManagedClustersClient)(nil) + +// AgentPoolsClientAPI contains the set of methods on the AgentPoolsClient type. +type AgentPoolsClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, resourceName string, agentPoolName string, parameters containerservice.AgentPool) (result containerservice.AgentPoolsCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, resourceName string, agentPoolName string) (result containerservice.AgentPoolsDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, resourceName string, agentPoolName string) (result containerservice.AgentPool, err error) + GetAvailableAgentPoolVersions(ctx context.Context, resourceGroupName string, resourceName string) (result containerservice.AgentPoolAvailableVersions, err error) + GetUpgradeProfile(ctx context.Context, resourceGroupName string, resourceName string, agentPoolName string) (result containerservice.AgentPoolUpgradeProfile, err error) + List(ctx context.Context, resourceGroupName string, resourceName string) (result containerservice.AgentPoolListResultPage, err error) +} + +var _ AgentPoolsClientAPI = (*containerservice.AgentPoolsClient)(nil) diff --git a/services/preview/containerservice/mgmt/2019-09-30-preview/containerservice/containerservices.go b/services/preview/containerservice/mgmt/2019-09-30-preview/containerservice/containerservices.go new file mode 100644 index 000000000000..1bd2a37eec45 --- /dev/null +++ b/services/preview/containerservice/mgmt/2019-09-30-preview/containerservice/containerservices.go @@ -0,0 +1,622 @@ +package containerservice + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// ContainerServicesClient is the the Container Service Client. +type ContainerServicesClient struct { + BaseClient +} + +// NewContainerServicesClient creates an instance of the ContainerServicesClient client. +func NewContainerServicesClient(subscriptionID string) ContainerServicesClient { + return NewContainerServicesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewContainerServicesClientWithBaseURI creates an instance of the ContainerServicesClient client. +func NewContainerServicesClientWithBaseURI(baseURI string, subscriptionID string) ContainerServicesClient { + return ContainerServicesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates a container service with the specified configuration of orchestrator, masters, and +// agents. +// Parameters: +// resourceGroupName - the name of the resource group. +// containerServiceName - the name of the container service in the specified subscription and resource group. +// parameters - parameters supplied to the Create or Update a Container Service operation. +func (client ContainerServicesClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, containerServiceName string, parameters ContainerService) (result ContainerServicesCreateOrUpdateFutureType, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ContainerServicesClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.Properties", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.Properties.OrchestratorProfile", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "parameters.Properties.CustomProfile", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.Properties.CustomProfile.Orchestrator", Name: validation.Null, Rule: true, Chain: nil}}}, + {Target: "parameters.Properties.ServicePrincipalProfile", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.Properties.ServicePrincipalProfile.ClientID", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "parameters.Properties.ServicePrincipalProfile.KeyVaultSecretRef", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.Properties.ServicePrincipalProfile.KeyVaultSecretRef.VaultID", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "parameters.Properties.ServicePrincipalProfile.KeyVaultSecretRef.SecretName", Name: validation.Null, Rule: true, Chain: nil}, + }}, + }}, + {Target: "parameters.Properties.MasterProfile", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "parameters.Properties.MasterProfile.DNSPrefix", Name: validation.Null, Rule: true, Chain: nil}}}, + {Target: "parameters.Properties.WindowsProfile", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.Properties.WindowsProfile.AdminUsername", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "parameters.Properties.WindowsProfile.AdminUsername", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+([._]?[a-zA-Z0-9]+)*$`, Chain: nil}}}, + {Target: "parameters.Properties.WindowsProfile.AdminPassword", Name: validation.Null, Rule: true, Chain: nil}, + }}, + {Target: "parameters.Properties.LinuxProfile", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "parameters.Properties.LinuxProfile.AdminUsername", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "parameters.Properties.LinuxProfile.AdminUsername", Name: validation.Pattern, Rule: `^[A-Za-z][-A-Za-z0-9_]*$`, Chain: nil}}}, + {Target: "parameters.Properties.LinuxProfile.SSH", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "parameters.Properties.LinuxProfile.SSH.PublicKeys", Name: validation.Null, Rule: true, Chain: nil}}}, + }}, + {Target: "parameters.Properties.DiagnosticsProfile", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.Properties.DiagnosticsProfile.VMDiagnostics", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "parameters.Properties.DiagnosticsProfile.VMDiagnostics.Enabled", Name: validation.Null, Rule: true, Chain: nil}}}, + }}, + }}}}}); err != nil { + return result, validation.NewError("containerservice.ContainerServicesClient", "CreateOrUpdate", err.Error()) + } + + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, containerServiceName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "containerservice.ContainerServicesClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "containerservice.ContainerServicesClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client ContainerServicesClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, containerServiceName string, parameters ContainerService) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "containerServiceName": autorest.Encode("path", containerServiceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/containerServices/{containerServiceName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client ContainerServicesClient) CreateOrUpdateSender(req *http.Request) (future ContainerServicesCreateOrUpdateFutureType, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client ContainerServicesClient) CreateOrUpdateResponder(resp *http.Response) (result ContainerService, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the specified container service in the specified subscription and resource group. The operation does +// not delete other resources created as part of creating a container service, including storage accounts, VMs, and +// availability sets. All the other resources created with the container service are part of the same resource group +// and can be deleted individually. +// Parameters: +// resourceGroupName - the name of the resource group. +// containerServiceName - the name of the container service in the specified subscription and resource group. +func (client ContainerServicesClient) Delete(ctx context.Context, resourceGroupName string, containerServiceName string) (result ContainerServicesDeleteFutureType, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ContainerServicesClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, containerServiceName) + if err != nil { + err = autorest.NewErrorWithError(err, "containerservice.ContainerServicesClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "containerservice.ContainerServicesClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client ContainerServicesClient) DeletePreparer(ctx context.Context, resourceGroupName string, containerServiceName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "containerServiceName": autorest.Encode("path", containerServiceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/containerServices/{containerServiceName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client ContainerServicesClient) DeleteSender(req *http.Request) (future ContainerServicesDeleteFutureType, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client ContainerServicesClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets the properties of the specified container service in the specified subscription and resource group. The +// operation returns the properties including state, orchestrator, number of masters and agents, and FQDNs of masters +// and agents. +// Parameters: +// resourceGroupName - the name of the resource group. +// containerServiceName - the name of the container service in the specified subscription and resource group. +func (client ContainerServicesClient) Get(ctx context.Context, resourceGroupName string, containerServiceName string) (result ContainerService, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ContainerServicesClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, containerServiceName) + if err != nil { + err = autorest.NewErrorWithError(err, "containerservice.ContainerServicesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "containerservice.ContainerServicesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "containerservice.ContainerServicesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client ContainerServicesClient) GetPreparer(ctx context.Context, resourceGroupName string, containerServiceName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "containerServiceName": autorest.Encode("path", containerServiceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/containerServices/{containerServiceName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client ContainerServicesClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client ContainerServicesClient) GetResponder(resp *http.Response) (result ContainerService, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets a list of container services in the specified subscription. The operation returns properties of each +// container service including state, orchestrator, number of masters and agents, and FQDNs of masters and agents. +func (client ContainerServicesClient) List(ctx context.Context) (result ListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ContainerServicesClient.List") + defer func() { + sc := -1 + if result.lr.Response.Response != nil { + sc = result.lr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "containerservice.ContainerServicesClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.lr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "containerservice.ContainerServicesClient", "List", resp, "Failure sending request") + return + } + + result.lr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "containerservice.ContainerServicesClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client ContainerServicesClient) ListPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/containerServices", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client ContainerServicesClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client ContainerServicesClient) ListResponder(resp *http.Response) (result ListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client ContainerServicesClient) listNextResults(ctx context.Context, lastResults ListResult) (result ListResult, err error) { + req, err := lastResults.listResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "containerservice.ContainerServicesClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "containerservice.ContainerServicesClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "containerservice.ContainerServicesClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client ContainerServicesClient) ListComplete(ctx context.Context) (result ListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ContainerServicesClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx) + return +} + +// ListByResourceGroup gets a list of container services in the specified subscription and resource group. The +// operation returns properties of each container service including state, orchestrator, number of masters and agents, +// and FQDNs of masters and agents. +// Parameters: +// resourceGroupName - the name of the resource group. +func (client ContainerServicesClient) ListByResourceGroup(ctx context.Context, resourceGroupName string) (result ListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ContainerServicesClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.lr.Response.Response != nil { + sc = result.lr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listByResourceGroupNextResults + req, err := client.ListByResourceGroupPreparer(ctx, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "containerservice.ContainerServicesClient", "ListByResourceGroup", nil, "Failure preparing request") + return + } + + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.lr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "containerservice.ContainerServicesClient", "ListByResourceGroup", resp, "Failure sending request") + return + } + + result.lr, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "containerservice.ContainerServicesClient", "ListByResourceGroup", resp, "Failure responding to request") + } + + return +} + +// ListByResourceGroupPreparer prepares the ListByResourceGroup request. +func (client ContainerServicesClient) ListByResourceGroupPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/containerServices", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByResourceGroupSender sends the ListByResourceGroup request. The method will close the +// http.Response Body if it receives an error. +func (client ContainerServicesClient) ListByResourceGroupSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByResourceGroupResponder handles the response to the ListByResourceGroup request. The method always +// closes the http.Response Body. +func (client ContainerServicesClient) ListByResourceGroupResponder(resp *http.Response) (result ListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listByResourceGroupNextResults retrieves the next set of results, if any. +func (client ContainerServicesClient) listByResourceGroupNextResults(ctx context.Context, lastResults ListResult) (result ListResult, err error) { + req, err := lastResults.listResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "containerservice.ContainerServicesClient", "listByResourceGroupNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "containerservice.ContainerServicesClient", "listByResourceGroupNextResults", resp, "Failure sending next results request") + } + result, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "containerservice.ContainerServicesClient", "listByResourceGroupNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListByResourceGroupComplete enumerates all values, automatically crossing page boundaries as required. +func (client ContainerServicesClient) ListByResourceGroupComplete(ctx context.Context, resourceGroupName string) (result ListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ContainerServicesClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListByResourceGroup(ctx, resourceGroupName) + return +} + +// ListOrchestrators gets a list of supported orchestrators in the specified subscription. The operation returns +// properties of each orchestrator including version, available upgrades and whether that version or upgrades are in +// preview. +// Parameters: +// location - the name of a supported Azure region. +// resourceType - resource type for which the list of orchestrators needs to be returned +func (client ContainerServicesClient) ListOrchestrators(ctx context.Context, location string, resourceType string) (result OrchestratorVersionProfileListResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ContainerServicesClient.ListOrchestrators") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListOrchestratorsPreparer(ctx, location, resourceType) + if err != nil { + err = autorest.NewErrorWithError(err, "containerservice.ContainerServicesClient", "ListOrchestrators", nil, "Failure preparing request") + return + } + + resp, err := client.ListOrchestratorsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "containerservice.ContainerServicesClient", "ListOrchestrators", resp, "Failure sending request") + return + } + + result, err = client.ListOrchestratorsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "containerservice.ContainerServicesClient", "ListOrchestrators", resp, "Failure responding to request") + } + + return +} + +// ListOrchestratorsPreparer prepares the ListOrchestrators request. +func (client ContainerServicesClient) ListOrchestratorsPreparer(ctx context.Context, location string, resourceType string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "location": autorest.Encode("path", location), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(resourceType) > 0 { + queryParameters["resource-type"] = autorest.Encode("query", resourceType) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/locations/{location}/orchestrators", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListOrchestratorsSender sends the ListOrchestrators request. The method will close the +// http.Response Body if it receives an error. +func (client ContainerServicesClient) ListOrchestratorsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListOrchestratorsResponder handles the response to the ListOrchestrators request. The method always +// closes the http.Response Body. +func (client ContainerServicesClient) ListOrchestratorsResponder(resp *http.Response) (result OrchestratorVersionProfileListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/preview/containerservice/mgmt/2019-09-30-preview/containerservice/managedclusters.go b/services/preview/containerservice/mgmt/2019-09-30-preview/containerservice/managedclusters.go new file mode 100644 index 000000000000..fc526da89452 --- /dev/null +++ b/services/preview/containerservice/mgmt/2019-09-30-preview/containerservice/managedclusters.go @@ -0,0 +1,1201 @@ +package containerservice + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// ManagedClustersClient is the the Container Service Client. +type ManagedClustersClient struct { + BaseClient +} + +// NewManagedClustersClient creates an instance of the ManagedClustersClient client. +func NewManagedClustersClient(subscriptionID string) ManagedClustersClient { + return NewManagedClustersClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewManagedClustersClientWithBaseURI creates an instance of the ManagedClustersClient client. +func NewManagedClustersClientWithBaseURI(baseURI string, subscriptionID string) ManagedClustersClient { + return ManagedClustersClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates a managed cluster with the specified configuration for agents and Kubernetes +// version. +// Parameters: +// resourceGroupName - the name of the resource group. +// resourceName - the name of the managed cluster resource. +// parameters - parameters supplied to the Create or Update a Managed Cluster operation. +func (client ManagedClustersClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, resourceName string, parameters ManagedCluster) (result ManagedClustersCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ManagedClustersClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, + {TargetValue: resourceName, + Constraints: []validation.Constraint{{Target: "resourceName", Name: validation.MaxLength, Rule: 63, Chain: nil}, + {Target: "resourceName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$`, Chain: nil}}}, + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.ManagedClusterProperties", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.ManagedClusterProperties.LinuxProfile", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.ManagedClusterProperties.LinuxProfile.AdminUsername", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "parameters.ManagedClusterProperties.LinuxProfile.AdminUsername", Name: validation.Pattern, Rule: `^[A-Za-z][-A-Za-z0-9_]*$`, Chain: nil}}}, + {Target: "parameters.ManagedClusterProperties.LinuxProfile.SSH", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "parameters.ManagedClusterProperties.LinuxProfile.SSH.PublicKeys", Name: validation.Null, Rule: true, Chain: nil}}}, + }}, + {Target: "parameters.ManagedClusterProperties.WindowsProfile", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.ManagedClusterProperties.WindowsProfile.AdminUsername", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "parameters.ManagedClusterProperties.WindowsProfile.AdminUsername", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+([._]?[a-zA-Z0-9]+)*$`, Chain: nil}}}, + }}, + {Target: "parameters.ManagedClusterProperties.ServicePrincipalProfile", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.ManagedClusterProperties.ServicePrincipalProfile.ClientID", Name: validation.Null, Rule: true, Chain: nil}}}, + {Target: "parameters.ManagedClusterProperties.NetworkProfile", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.ManagedClusterProperties.NetworkProfile.PodCidr", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.ManagedClusterProperties.NetworkProfile.PodCidr", Name: validation.Pattern, Rule: `^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$`, Chain: nil}}}, + {Target: "parameters.ManagedClusterProperties.NetworkProfile.ServiceCidr", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.ManagedClusterProperties.NetworkProfile.ServiceCidr", Name: validation.Pattern, Rule: `^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$`, Chain: nil}}}, + {Target: "parameters.ManagedClusterProperties.NetworkProfile.DNSServiceIP", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.ManagedClusterProperties.NetworkProfile.DNSServiceIP", Name: validation.Pattern, Rule: `^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$`, Chain: nil}}}, + {Target: "parameters.ManagedClusterProperties.NetworkProfile.DockerBridgeCidr", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.ManagedClusterProperties.NetworkProfile.DockerBridgeCidr", Name: validation.Pattern, Rule: `^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$`, Chain: nil}}}, + {Target: "parameters.ManagedClusterProperties.NetworkProfile.LoadBalancerProfile", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.ManagedClusterProperties.NetworkProfile.LoadBalancerProfile.ManagedOutboundIPs", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.ManagedClusterProperties.NetworkProfile.LoadBalancerProfile.ManagedOutboundIPs.Count", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.ManagedClusterProperties.NetworkProfile.LoadBalancerProfile.ManagedOutboundIPs.Count", Name: validation.InclusiveMaximum, Rule: int64(100), Chain: nil}, + {Target: "parameters.ManagedClusterProperties.NetworkProfile.LoadBalancerProfile.ManagedOutboundIPs.Count", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}, + }}, + }}, + }}, + }}, + {Target: "parameters.ManagedClusterProperties.AadProfile", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.ManagedClusterProperties.AadProfile.ClientAppID", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "parameters.ManagedClusterProperties.AadProfile.ServerAppID", Name: validation.Null, Rule: true, Chain: nil}, + }}, + }}}}}); err != nil { + return result, validation.NewError("containerservice.ManagedClustersClient", "CreateOrUpdate", err.Error()) + } + + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, resourceName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "containerservice.ManagedClustersClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "containerservice.ManagedClustersClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client ManagedClustersClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, resourceName string, parameters ManagedCluster) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "resourceName": autorest.Encode("path", resourceName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client ManagedClustersClient) CreateOrUpdateSender(req *http.Request) (future ManagedClustersCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client ManagedClustersClient) CreateOrUpdateResponder(resp *http.Response) (result ManagedCluster, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the managed cluster with a specified resource group and name. +// Parameters: +// resourceGroupName - the name of the resource group. +// resourceName - the name of the managed cluster resource. +func (client ManagedClustersClient) Delete(ctx context.Context, resourceGroupName string, resourceName string) (result ManagedClustersDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ManagedClustersClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, + {TargetValue: resourceName, + Constraints: []validation.Constraint{{Target: "resourceName", Name: validation.MaxLength, Rule: 63, Chain: nil}, + {Target: "resourceName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("containerservice.ManagedClustersClient", "Delete", err.Error()) + } + + req, err := client.DeletePreparer(ctx, resourceGroupName, resourceName) + if err != nil { + err = autorest.NewErrorWithError(err, "containerservice.ManagedClustersClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "containerservice.ManagedClustersClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client ManagedClustersClient) DeletePreparer(ctx context.Context, resourceGroupName string, resourceName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "resourceName": autorest.Encode("path", resourceName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client ManagedClustersClient) DeleteSender(req *http.Request) (future ManagedClustersDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client ManagedClustersClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets the details of the managed cluster with a specified resource group and name. +// Parameters: +// resourceGroupName - the name of the resource group. +// resourceName - the name of the managed cluster resource. +func (client ManagedClustersClient) Get(ctx context.Context, resourceGroupName string, resourceName string) (result ManagedCluster, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ManagedClustersClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, + {TargetValue: resourceName, + Constraints: []validation.Constraint{{Target: "resourceName", Name: validation.MaxLength, Rule: 63, Chain: nil}, + {Target: "resourceName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("containerservice.ManagedClustersClient", "Get", err.Error()) + } + + req, err := client.GetPreparer(ctx, resourceGroupName, resourceName) + if err != nil { + err = autorest.NewErrorWithError(err, "containerservice.ManagedClustersClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "containerservice.ManagedClustersClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "containerservice.ManagedClustersClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client ManagedClustersClient) GetPreparer(ctx context.Context, resourceGroupName string, resourceName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "resourceName": autorest.Encode("path", resourceName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client ManagedClustersClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client ManagedClustersClient) GetResponder(resp *http.Response) (result ManagedCluster, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetAccessProfile gets the accessProfile for the specified role name of the managed cluster with a specified resource +// group and name. +// Parameters: +// resourceGroupName - the name of the resource group. +// resourceName - the name of the managed cluster resource. +// roleName - the name of the role for managed cluster accessProfile resource. +func (client ManagedClustersClient) GetAccessProfile(ctx context.Context, resourceGroupName string, resourceName string, roleName string) (result ManagedClusterAccessProfile, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ManagedClustersClient.GetAccessProfile") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, + {TargetValue: resourceName, + Constraints: []validation.Constraint{{Target: "resourceName", Name: validation.MaxLength, Rule: 63, Chain: nil}, + {Target: "resourceName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("containerservice.ManagedClustersClient", "GetAccessProfile", err.Error()) + } + + req, err := client.GetAccessProfilePreparer(ctx, resourceGroupName, resourceName, roleName) + if err != nil { + err = autorest.NewErrorWithError(err, "containerservice.ManagedClustersClient", "GetAccessProfile", nil, "Failure preparing request") + return + } + + resp, err := client.GetAccessProfileSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "containerservice.ManagedClustersClient", "GetAccessProfile", resp, "Failure sending request") + return + } + + result, err = client.GetAccessProfileResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "containerservice.ManagedClustersClient", "GetAccessProfile", resp, "Failure responding to request") + } + + return +} + +// GetAccessProfilePreparer prepares the GetAccessProfile request. +func (client ManagedClustersClient) GetAccessProfilePreparer(ctx context.Context, resourceGroupName string, resourceName string, roleName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "resourceName": autorest.Encode("path", resourceName), + "roleName": autorest.Encode("path", roleName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/accessProfiles/{roleName}/listCredential", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetAccessProfileSender sends the GetAccessProfile request. The method will close the +// http.Response Body if it receives an error. +func (client ManagedClustersClient) GetAccessProfileSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetAccessProfileResponder handles the response to the GetAccessProfile request. The method always +// closes the http.Response Body. +func (client ManagedClustersClient) GetAccessProfileResponder(resp *http.Response) (result ManagedClusterAccessProfile, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetUpgradeProfile gets the details of the upgrade profile for a managed cluster with a specified resource group and +// name. +// Parameters: +// resourceGroupName - the name of the resource group. +// resourceName - the name of the managed cluster resource. +func (client ManagedClustersClient) GetUpgradeProfile(ctx context.Context, resourceGroupName string, resourceName string) (result ManagedClusterUpgradeProfile, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ManagedClustersClient.GetUpgradeProfile") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, + {TargetValue: resourceName, + Constraints: []validation.Constraint{{Target: "resourceName", Name: validation.MaxLength, Rule: 63, Chain: nil}, + {Target: "resourceName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("containerservice.ManagedClustersClient", "GetUpgradeProfile", err.Error()) + } + + req, err := client.GetUpgradeProfilePreparer(ctx, resourceGroupName, resourceName) + if err != nil { + err = autorest.NewErrorWithError(err, "containerservice.ManagedClustersClient", "GetUpgradeProfile", nil, "Failure preparing request") + return + } + + resp, err := client.GetUpgradeProfileSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "containerservice.ManagedClustersClient", "GetUpgradeProfile", resp, "Failure sending request") + return + } + + result, err = client.GetUpgradeProfileResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "containerservice.ManagedClustersClient", "GetUpgradeProfile", resp, "Failure responding to request") + } + + return +} + +// GetUpgradeProfilePreparer prepares the GetUpgradeProfile request. +func (client ManagedClustersClient) GetUpgradeProfilePreparer(ctx context.Context, resourceGroupName string, resourceName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "resourceName": autorest.Encode("path", resourceName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/upgradeProfiles/default", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetUpgradeProfileSender sends the GetUpgradeProfile request. The method will close the +// http.Response Body if it receives an error. +func (client ManagedClustersClient) GetUpgradeProfileSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetUpgradeProfileResponder handles the response to the GetUpgradeProfile request. The method always +// closes the http.Response Body. +func (client ManagedClustersClient) GetUpgradeProfileResponder(resp *http.Response) (result ManagedClusterUpgradeProfile, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets a list of managed clusters in the specified subscription. The operation returns properties of each managed +// cluster. +func (client ManagedClustersClient) List(ctx context.Context) (result ManagedClusterListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ManagedClustersClient.List") + defer func() { + sc := -1 + if result.mclr.Response.Response != nil { + sc = result.mclr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "containerservice.ManagedClustersClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.mclr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "containerservice.ManagedClustersClient", "List", resp, "Failure sending request") + return + } + + result.mclr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "containerservice.ManagedClustersClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client ManagedClustersClient) ListPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/managedClusters", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client ManagedClustersClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client ManagedClustersClient) ListResponder(resp *http.Response) (result ManagedClusterListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client ManagedClustersClient) listNextResults(ctx context.Context, lastResults ManagedClusterListResult) (result ManagedClusterListResult, err error) { + req, err := lastResults.managedClusterListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "containerservice.ManagedClustersClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "containerservice.ManagedClustersClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "containerservice.ManagedClustersClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client ManagedClustersClient) ListComplete(ctx context.Context) (result ManagedClusterListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ManagedClustersClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx) + return +} + +// ListByResourceGroup lists managed clusters in the specified subscription and resource group. The operation returns +// properties of each managed cluster. +// Parameters: +// resourceGroupName - the name of the resource group. +func (client ManagedClustersClient) ListByResourceGroup(ctx context.Context, resourceGroupName string) (result ManagedClusterListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ManagedClustersClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.mclr.Response.Response != nil { + sc = result.mclr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { + return result, validation.NewError("containerservice.ManagedClustersClient", "ListByResourceGroup", err.Error()) + } + + result.fn = client.listByResourceGroupNextResults + req, err := client.ListByResourceGroupPreparer(ctx, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "containerservice.ManagedClustersClient", "ListByResourceGroup", nil, "Failure preparing request") + return + } + + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.mclr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "containerservice.ManagedClustersClient", "ListByResourceGroup", resp, "Failure sending request") + return + } + + result.mclr, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "containerservice.ManagedClustersClient", "ListByResourceGroup", resp, "Failure responding to request") + } + + return +} + +// ListByResourceGroupPreparer prepares the ListByResourceGroup request. +func (client ManagedClustersClient) ListByResourceGroupPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByResourceGroupSender sends the ListByResourceGroup request. The method will close the +// http.Response Body if it receives an error. +func (client ManagedClustersClient) ListByResourceGroupSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByResourceGroupResponder handles the response to the ListByResourceGroup request. The method always +// closes the http.Response Body. +func (client ManagedClustersClient) ListByResourceGroupResponder(resp *http.Response) (result ManagedClusterListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listByResourceGroupNextResults retrieves the next set of results, if any. +func (client ManagedClustersClient) listByResourceGroupNextResults(ctx context.Context, lastResults ManagedClusterListResult) (result ManagedClusterListResult, err error) { + req, err := lastResults.managedClusterListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "containerservice.ManagedClustersClient", "listByResourceGroupNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "containerservice.ManagedClustersClient", "listByResourceGroupNextResults", resp, "Failure sending next results request") + } + result, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "containerservice.ManagedClustersClient", "listByResourceGroupNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListByResourceGroupComplete enumerates all values, automatically crossing page boundaries as required. +func (client ManagedClustersClient) ListByResourceGroupComplete(ctx context.Context, resourceGroupName string) (result ManagedClusterListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ManagedClustersClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListByResourceGroup(ctx, resourceGroupName) + return +} + +// ListClusterAdminCredentials gets cluster admin credential of the managed cluster with a specified resource group and +// name. +// Parameters: +// resourceGroupName - the name of the resource group. +// resourceName - the name of the managed cluster resource. +func (client ManagedClustersClient) ListClusterAdminCredentials(ctx context.Context, resourceGroupName string, resourceName string) (result CredentialResults, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ManagedClustersClient.ListClusterAdminCredentials") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, + {TargetValue: resourceName, + Constraints: []validation.Constraint{{Target: "resourceName", Name: validation.MaxLength, Rule: 63, Chain: nil}, + {Target: "resourceName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("containerservice.ManagedClustersClient", "ListClusterAdminCredentials", err.Error()) + } + + req, err := client.ListClusterAdminCredentialsPreparer(ctx, resourceGroupName, resourceName) + if err != nil { + err = autorest.NewErrorWithError(err, "containerservice.ManagedClustersClient", "ListClusterAdminCredentials", nil, "Failure preparing request") + return + } + + resp, err := client.ListClusterAdminCredentialsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "containerservice.ManagedClustersClient", "ListClusterAdminCredentials", resp, "Failure sending request") + return + } + + result, err = client.ListClusterAdminCredentialsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "containerservice.ManagedClustersClient", "ListClusterAdminCredentials", resp, "Failure responding to request") + } + + return +} + +// ListClusterAdminCredentialsPreparer prepares the ListClusterAdminCredentials request. +func (client ManagedClustersClient) ListClusterAdminCredentialsPreparer(ctx context.Context, resourceGroupName string, resourceName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "resourceName": autorest.Encode("path", resourceName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterAdminCredential", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListClusterAdminCredentialsSender sends the ListClusterAdminCredentials request. The method will close the +// http.Response Body if it receives an error. +func (client ManagedClustersClient) ListClusterAdminCredentialsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListClusterAdminCredentialsResponder handles the response to the ListClusterAdminCredentials request. The method always +// closes the http.Response Body. +func (client ManagedClustersClient) ListClusterAdminCredentialsResponder(resp *http.Response) (result CredentialResults, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListClusterUserCredentials gets cluster user credential of the managed cluster with a specified resource group and +// name. +// Parameters: +// resourceGroupName - the name of the resource group. +// resourceName - the name of the managed cluster resource. +func (client ManagedClustersClient) ListClusterUserCredentials(ctx context.Context, resourceGroupName string, resourceName string) (result CredentialResults, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ManagedClustersClient.ListClusterUserCredentials") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, + {TargetValue: resourceName, + Constraints: []validation.Constraint{{Target: "resourceName", Name: validation.MaxLength, Rule: 63, Chain: nil}, + {Target: "resourceName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("containerservice.ManagedClustersClient", "ListClusterUserCredentials", err.Error()) + } + + req, err := client.ListClusterUserCredentialsPreparer(ctx, resourceGroupName, resourceName) + if err != nil { + err = autorest.NewErrorWithError(err, "containerservice.ManagedClustersClient", "ListClusterUserCredentials", nil, "Failure preparing request") + return + } + + resp, err := client.ListClusterUserCredentialsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "containerservice.ManagedClustersClient", "ListClusterUserCredentials", resp, "Failure sending request") + return + } + + result, err = client.ListClusterUserCredentialsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "containerservice.ManagedClustersClient", "ListClusterUserCredentials", resp, "Failure responding to request") + } + + return +} + +// ListClusterUserCredentialsPreparer prepares the ListClusterUserCredentials request. +func (client ManagedClustersClient) ListClusterUserCredentialsPreparer(ctx context.Context, resourceGroupName string, resourceName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "resourceName": autorest.Encode("path", resourceName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterUserCredential", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListClusterUserCredentialsSender sends the ListClusterUserCredentials request. The method will close the +// http.Response Body if it receives an error. +func (client ManagedClustersClient) ListClusterUserCredentialsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListClusterUserCredentialsResponder handles the response to the ListClusterUserCredentials request. The method always +// closes the http.Response Body. +func (client ManagedClustersClient) ListClusterUserCredentialsResponder(resp *http.Response) (result CredentialResults, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ResetAADProfile update the AAD Profile for a managed cluster. +// Parameters: +// resourceGroupName - the name of the resource group. +// resourceName - the name of the managed cluster resource. +// parameters - parameters supplied to the Reset AAD Profile operation for a Managed Cluster. +func (client ManagedClustersClient) ResetAADProfile(ctx context.Context, resourceGroupName string, resourceName string, parameters ManagedClusterAADProfile) (result ManagedClustersResetAADProfileFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ManagedClustersClient.ResetAADProfile") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, + {TargetValue: resourceName, + Constraints: []validation.Constraint{{Target: "resourceName", Name: validation.MaxLength, Rule: 63, Chain: nil}, + {Target: "resourceName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$`, Chain: nil}}}, + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.ClientAppID", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "parameters.ServerAppID", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + return result, validation.NewError("containerservice.ManagedClustersClient", "ResetAADProfile", err.Error()) + } + + req, err := client.ResetAADProfilePreparer(ctx, resourceGroupName, resourceName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "containerservice.ManagedClustersClient", "ResetAADProfile", nil, "Failure preparing request") + return + } + + result, err = client.ResetAADProfileSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "containerservice.ManagedClustersClient", "ResetAADProfile", result.Response(), "Failure sending request") + return + } + + return +} + +// ResetAADProfilePreparer prepares the ResetAADProfile request. +func (client ManagedClustersClient) ResetAADProfilePreparer(ctx context.Context, resourceGroupName string, resourceName string, parameters ManagedClusterAADProfile) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "resourceName": autorest.Encode("path", resourceName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetAADProfile", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ResetAADProfileSender sends the ResetAADProfile request. The method will close the +// http.Response Body if it receives an error. +func (client ManagedClustersClient) ResetAADProfileSender(req *http.Request) (future ManagedClustersResetAADProfileFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// ResetAADProfileResponder handles the response to the ResetAADProfile request. The method always +// closes the http.Response Body. +func (client ManagedClustersClient) ResetAADProfileResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByClosing()) + result.Response = resp + return +} + +// ResetServicePrincipalProfile update the service principal Profile for a managed cluster. +// Parameters: +// resourceGroupName - the name of the resource group. +// resourceName - the name of the managed cluster resource. +// parameters - parameters supplied to the Reset Service Principal Profile operation for a Managed Cluster. +func (client ManagedClustersClient) ResetServicePrincipalProfile(ctx context.Context, resourceGroupName string, resourceName string, parameters ManagedClusterServicePrincipalProfile) (result ManagedClustersResetServicePrincipalProfileFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ManagedClustersClient.ResetServicePrincipalProfile") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, + {TargetValue: resourceName, + Constraints: []validation.Constraint{{Target: "resourceName", Name: validation.MaxLength, Rule: 63, Chain: nil}, + {Target: "resourceName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$`, Chain: nil}}}, + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.ClientID", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + return result, validation.NewError("containerservice.ManagedClustersClient", "ResetServicePrincipalProfile", err.Error()) + } + + req, err := client.ResetServicePrincipalProfilePreparer(ctx, resourceGroupName, resourceName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "containerservice.ManagedClustersClient", "ResetServicePrincipalProfile", nil, "Failure preparing request") + return + } + + result, err = client.ResetServicePrincipalProfileSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "containerservice.ManagedClustersClient", "ResetServicePrincipalProfile", result.Response(), "Failure sending request") + return + } + + return +} + +// ResetServicePrincipalProfilePreparer prepares the ResetServicePrincipalProfile request. +func (client ManagedClustersClient) ResetServicePrincipalProfilePreparer(ctx context.Context, resourceGroupName string, resourceName string, parameters ManagedClusterServicePrincipalProfile) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "resourceName": autorest.Encode("path", resourceName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetServicePrincipalProfile", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ResetServicePrincipalProfileSender sends the ResetServicePrincipalProfile request. The method will close the +// http.Response Body if it receives an error. +func (client ManagedClustersClient) ResetServicePrincipalProfileSender(req *http.Request) (future ManagedClustersResetServicePrincipalProfileFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// ResetServicePrincipalProfileResponder handles the response to the ResetServicePrincipalProfile request. The method always +// closes the http.Response Body. +func (client ManagedClustersClient) ResetServicePrincipalProfileResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByClosing()) + result.Response = resp + return +} + +// UpdateTags updates a managed cluster with the specified tags. +// Parameters: +// resourceGroupName - the name of the resource group. +// resourceName - the name of the managed cluster resource. +// parameters - parameters supplied to the Update Managed Cluster Tags operation. +func (client ManagedClustersClient) UpdateTags(ctx context.Context, resourceGroupName string, resourceName string, parameters TagsObject) (result ManagedClustersUpdateTagsFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ManagedClustersClient.UpdateTags") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, + {TargetValue: resourceName, + Constraints: []validation.Constraint{{Target: "resourceName", Name: validation.MaxLength, Rule: 63, Chain: nil}, + {Target: "resourceName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("containerservice.ManagedClustersClient", "UpdateTags", err.Error()) + } + + req, err := client.UpdateTagsPreparer(ctx, resourceGroupName, resourceName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "containerservice.ManagedClustersClient", "UpdateTags", nil, "Failure preparing request") + return + } + + result, err = client.UpdateTagsSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "containerservice.ManagedClustersClient", "UpdateTags", result.Response(), "Failure sending request") + return + } + + return +} + +// UpdateTagsPreparer prepares the UpdateTags request. +func (client ManagedClustersClient) UpdateTagsPreparer(ctx context.Context, resourceGroupName string, resourceName string, parameters TagsObject) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "resourceName": autorest.Encode("path", resourceName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateTagsSender sends the UpdateTags request. The method will close the +// http.Response Body if it receives an error. +func (client ManagedClustersClient) UpdateTagsSender(req *http.Request) (future ManagedClustersUpdateTagsFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// UpdateTagsResponder handles the response to the UpdateTags request. The method always +// closes the http.Response Body. +func (client ManagedClustersClient) UpdateTagsResponder(resp *http.Response) (result ManagedCluster, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/preview/containerservice/mgmt/2019-09-30-preview/containerservice/models.go b/services/preview/containerservice/mgmt/2019-09-30-preview/containerservice/models.go new file mode 100644 index 000000000000..5d7daf97a8be --- /dev/null +++ b/services/preview/containerservice/mgmt/2019-09-30-preview/containerservice/models.go @@ -0,0 +1,3307 @@ +package containerservice + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "encoding/json" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/to" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// The package's fully qualified name. +const fqdn = "github.com/Azure/azure-sdk-for-go/services/preview/containerservice/mgmt/2019-09-30-preview/containerservice" + +// AgentPoolType enumerates the values for agent pool type. +type AgentPoolType string + +const ( + // AvailabilitySet ... + AvailabilitySet AgentPoolType = "AvailabilitySet" + // VirtualMachineScaleSets ... + VirtualMachineScaleSets AgentPoolType = "VirtualMachineScaleSets" +) + +// PossibleAgentPoolTypeValues returns an array of possible values for the AgentPoolType const type. +func PossibleAgentPoolTypeValues() []AgentPoolType { + return []AgentPoolType{AvailabilitySet, VirtualMachineScaleSets} +} + +// Kind enumerates the values for kind. +type Kind string + +const ( + // KindAADIdentityProvider ... + KindAADIdentityProvider Kind = "AADIdentityProvider" + // KindOpenShiftManagedClusterBaseIdentityProvider ... + KindOpenShiftManagedClusterBaseIdentityProvider Kind = "OpenShiftManagedClusterBaseIdentityProvider" +) + +// PossibleKindValues returns an array of possible values for the Kind const type. +func PossibleKindValues() []Kind { + return []Kind{KindAADIdentityProvider, KindOpenShiftManagedClusterBaseIdentityProvider} +} + +// LoadBalancerSku enumerates the values for load balancer sku. +type LoadBalancerSku string + +const ( + // Basic ... + Basic LoadBalancerSku = "basic" + // Standard ... + Standard LoadBalancerSku = "standard" +) + +// PossibleLoadBalancerSkuValues returns an array of possible values for the LoadBalancerSku const type. +func PossibleLoadBalancerSkuValues() []LoadBalancerSku { + return []LoadBalancerSku{Basic, Standard} +} + +// NetworkPlugin enumerates the values for network plugin. +type NetworkPlugin string + +const ( + // Azure ... + Azure NetworkPlugin = "azure" + // Kubenet ... + Kubenet NetworkPlugin = "kubenet" +) + +// PossibleNetworkPluginValues returns an array of possible values for the NetworkPlugin const type. +func PossibleNetworkPluginValues() []NetworkPlugin { + return []NetworkPlugin{Azure, Kubenet} +} + +// NetworkPolicy enumerates the values for network policy. +type NetworkPolicy string + +const ( + // NetworkPolicyAzure ... + NetworkPolicyAzure NetworkPolicy = "azure" + // NetworkPolicyCalico ... + NetworkPolicyCalico NetworkPolicy = "calico" +) + +// PossibleNetworkPolicyValues returns an array of possible values for the NetworkPolicy const type. +func PossibleNetworkPolicyValues() []NetworkPolicy { + return []NetworkPolicy{NetworkPolicyAzure, NetworkPolicyCalico} +} + +// OpenShiftAgentPoolProfileRole enumerates the values for open shift agent pool profile role. +type OpenShiftAgentPoolProfileRole string + +const ( + // Compute ... + Compute OpenShiftAgentPoolProfileRole = "compute" + // Infra ... + Infra OpenShiftAgentPoolProfileRole = "infra" +) + +// PossibleOpenShiftAgentPoolProfileRoleValues returns an array of possible values for the OpenShiftAgentPoolProfileRole const type. +func PossibleOpenShiftAgentPoolProfileRoleValues() []OpenShiftAgentPoolProfileRole { + return []OpenShiftAgentPoolProfileRole{Compute, Infra} +} + +// OpenShiftContainerServiceVMSize enumerates the values for open shift container service vm size. +type OpenShiftContainerServiceVMSize string + +const ( + // StandardD16sV3 ... + StandardD16sV3 OpenShiftContainerServiceVMSize = "Standard_D16s_v3" + // StandardD2sV3 ... + StandardD2sV3 OpenShiftContainerServiceVMSize = "Standard_D2s_v3" + // StandardD32sV3 ... + StandardD32sV3 OpenShiftContainerServiceVMSize = "Standard_D32s_v3" + // StandardD4sV3 ... + StandardD4sV3 OpenShiftContainerServiceVMSize = "Standard_D4s_v3" + // StandardD64sV3 ... + StandardD64sV3 OpenShiftContainerServiceVMSize = "Standard_D64s_v3" + // StandardD8sV3 ... + StandardD8sV3 OpenShiftContainerServiceVMSize = "Standard_D8s_v3" + // StandardDS12V2 ... + StandardDS12V2 OpenShiftContainerServiceVMSize = "Standard_DS12_v2" + // StandardDS13V2 ... + StandardDS13V2 OpenShiftContainerServiceVMSize = "Standard_DS13_v2" + // StandardDS14V2 ... + StandardDS14V2 OpenShiftContainerServiceVMSize = "Standard_DS14_v2" + // StandardDS15V2 ... + StandardDS15V2 OpenShiftContainerServiceVMSize = "Standard_DS15_v2" + // StandardDS4V2 ... + StandardDS4V2 OpenShiftContainerServiceVMSize = "Standard_DS4_v2" + // StandardDS5V2 ... + StandardDS5V2 OpenShiftContainerServiceVMSize = "Standard_DS5_v2" + // StandardE16sV3 ... + StandardE16sV3 OpenShiftContainerServiceVMSize = "Standard_E16s_v3" + // StandardE20sV3 ... + StandardE20sV3 OpenShiftContainerServiceVMSize = "Standard_E20s_v3" + // StandardE32sV3 ... + StandardE32sV3 OpenShiftContainerServiceVMSize = "Standard_E32s_v3" + // StandardE4sV3 ... + StandardE4sV3 OpenShiftContainerServiceVMSize = "Standard_E4s_v3" + // StandardE64sV3 ... + StandardE64sV3 OpenShiftContainerServiceVMSize = "Standard_E64s_v3" + // StandardE8sV3 ... + StandardE8sV3 OpenShiftContainerServiceVMSize = "Standard_E8s_v3" + // StandardF16s ... + StandardF16s OpenShiftContainerServiceVMSize = "Standard_F16s" + // StandardF16sV2 ... + StandardF16sV2 OpenShiftContainerServiceVMSize = "Standard_F16s_v2" + // StandardF32sV2 ... + StandardF32sV2 OpenShiftContainerServiceVMSize = "Standard_F32s_v2" + // StandardF64sV2 ... + StandardF64sV2 OpenShiftContainerServiceVMSize = "Standard_F64s_v2" + // StandardF72sV2 ... + StandardF72sV2 OpenShiftContainerServiceVMSize = "Standard_F72s_v2" + // StandardF8s ... + StandardF8s OpenShiftContainerServiceVMSize = "Standard_F8s" + // StandardF8sV2 ... + StandardF8sV2 OpenShiftContainerServiceVMSize = "Standard_F8s_v2" + // StandardGS2 ... + StandardGS2 OpenShiftContainerServiceVMSize = "Standard_GS2" + // StandardGS3 ... + StandardGS3 OpenShiftContainerServiceVMSize = "Standard_GS3" + // StandardGS4 ... + StandardGS4 OpenShiftContainerServiceVMSize = "Standard_GS4" + // StandardGS5 ... + StandardGS5 OpenShiftContainerServiceVMSize = "Standard_GS5" + // StandardL16s ... + StandardL16s OpenShiftContainerServiceVMSize = "Standard_L16s" + // StandardL32s ... + StandardL32s OpenShiftContainerServiceVMSize = "Standard_L32s" + // StandardL4s ... + StandardL4s OpenShiftContainerServiceVMSize = "Standard_L4s" + // StandardL8s ... + StandardL8s OpenShiftContainerServiceVMSize = "Standard_L8s" +) + +// PossibleOpenShiftContainerServiceVMSizeValues returns an array of possible values for the OpenShiftContainerServiceVMSize const type. +func PossibleOpenShiftContainerServiceVMSizeValues() []OpenShiftContainerServiceVMSize { + return []OpenShiftContainerServiceVMSize{StandardD16sV3, StandardD2sV3, StandardD32sV3, StandardD4sV3, StandardD64sV3, StandardD8sV3, StandardDS12V2, StandardDS13V2, StandardDS14V2, StandardDS15V2, StandardDS4V2, StandardDS5V2, StandardE16sV3, StandardE20sV3, StandardE32sV3, StandardE4sV3, StandardE64sV3, StandardE8sV3, StandardF16s, StandardF16sV2, StandardF32sV2, StandardF64sV2, StandardF72sV2, StandardF8s, StandardF8sV2, StandardGS2, StandardGS3, StandardGS4, StandardGS5, StandardL16s, StandardL32s, StandardL4s, StandardL8s} +} + +// OrchestratorTypes enumerates the values for orchestrator types. +type OrchestratorTypes string + +const ( + // Custom ... + Custom OrchestratorTypes = "Custom" + // DCOS ... + DCOS OrchestratorTypes = "DCOS" + // DockerCE ... + DockerCE OrchestratorTypes = "DockerCE" + // Kubernetes ... + Kubernetes OrchestratorTypes = "Kubernetes" + // Swarm ... + Swarm OrchestratorTypes = "Swarm" +) + +// PossibleOrchestratorTypesValues returns an array of possible values for the OrchestratorTypes const type. +func PossibleOrchestratorTypesValues() []OrchestratorTypes { + return []OrchestratorTypes{Custom, DCOS, DockerCE, Kubernetes, Swarm} +} + +// OSType enumerates the values for os type. +type OSType string + +const ( + // Linux ... + Linux OSType = "Linux" + // Windows ... + Windows OSType = "Windows" +) + +// PossibleOSTypeValues returns an array of possible values for the OSType const type. +func PossibleOSTypeValues() []OSType { + return []OSType{Linux, Windows} +} + +// ResourceIdentityType enumerates the values for resource identity type. +type ResourceIdentityType string + +const ( + // None ... + None ResourceIdentityType = "None" + // SystemAssigned ... + SystemAssigned ResourceIdentityType = "SystemAssigned" +) + +// PossibleResourceIdentityTypeValues returns an array of possible values for the ResourceIdentityType const type. +func PossibleResourceIdentityTypeValues() []ResourceIdentityType { + return []ResourceIdentityType{None, SystemAssigned} +} + +// ScaleSetEvictionPolicy enumerates the values for scale set eviction policy. +type ScaleSetEvictionPolicy string + +const ( + // Deallocate ... + Deallocate ScaleSetEvictionPolicy = "Deallocate" + // Delete ... + Delete ScaleSetEvictionPolicy = "Delete" +) + +// PossibleScaleSetEvictionPolicyValues returns an array of possible values for the ScaleSetEvictionPolicy const type. +func PossibleScaleSetEvictionPolicyValues() []ScaleSetEvictionPolicy { + return []ScaleSetEvictionPolicy{Deallocate, Delete} +} + +// ScaleSetPriority enumerates the values for scale set priority. +type ScaleSetPriority string + +const ( + // Low ... + Low ScaleSetPriority = "Low" + // Regular ... + Regular ScaleSetPriority = "Regular" +) + +// PossibleScaleSetPriorityValues returns an array of possible values for the ScaleSetPriority const type. +func PossibleScaleSetPriorityValues() []ScaleSetPriority { + return []ScaleSetPriority{Low, Regular} +} + +// StorageProfileTypes enumerates the values for storage profile types. +type StorageProfileTypes string + +const ( + // ManagedDisks ... + ManagedDisks StorageProfileTypes = "ManagedDisks" + // StorageAccount ... + StorageAccount StorageProfileTypes = "StorageAccount" +) + +// PossibleStorageProfileTypesValues returns an array of possible values for the StorageProfileTypes const type. +func PossibleStorageProfileTypesValues() []StorageProfileTypes { + return []StorageProfileTypes{ManagedDisks, StorageAccount} +} + +// VMSizeTypes enumerates the values for vm size types. +type VMSizeTypes string + +const ( + // VMSizeTypesStandardA1 ... + VMSizeTypesStandardA1 VMSizeTypes = "Standard_A1" + // VMSizeTypesStandardA10 ... + VMSizeTypesStandardA10 VMSizeTypes = "Standard_A10" + // VMSizeTypesStandardA11 ... + VMSizeTypesStandardA11 VMSizeTypes = "Standard_A11" + // VMSizeTypesStandardA1V2 ... + VMSizeTypesStandardA1V2 VMSizeTypes = "Standard_A1_v2" + // VMSizeTypesStandardA2 ... + VMSizeTypesStandardA2 VMSizeTypes = "Standard_A2" + // VMSizeTypesStandardA2mV2 ... + VMSizeTypesStandardA2mV2 VMSizeTypes = "Standard_A2m_v2" + // VMSizeTypesStandardA2V2 ... + VMSizeTypesStandardA2V2 VMSizeTypes = "Standard_A2_v2" + // VMSizeTypesStandardA3 ... + VMSizeTypesStandardA3 VMSizeTypes = "Standard_A3" + // VMSizeTypesStandardA4 ... + VMSizeTypesStandardA4 VMSizeTypes = "Standard_A4" + // VMSizeTypesStandardA4mV2 ... + VMSizeTypesStandardA4mV2 VMSizeTypes = "Standard_A4m_v2" + // VMSizeTypesStandardA4V2 ... + VMSizeTypesStandardA4V2 VMSizeTypes = "Standard_A4_v2" + // VMSizeTypesStandardA5 ... + VMSizeTypesStandardA5 VMSizeTypes = "Standard_A5" + // VMSizeTypesStandardA6 ... + VMSizeTypesStandardA6 VMSizeTypes = "Standard_A6" + // VMSizeTypesStandardA7 ... + VMSizeTypesStandardA7 VMSizeTypes = "Standard_A7" + // VMSizeTypesStandardA8 ... + VMSizeTypesStandardA8 VMSizeTypes = "Standard_A8" + // VMSizeTypesStandardA8mV2 ... + VMSizeTypesStandardA8mV2 VMSizeTypes = "Standard_A8m_v2" + // VMSizeTypesStandardA8V2 ... + VMSizeTypesStandardA8V2 VMSizeTypes = "Standard_A8_v2" + // VMSizeTypesStandardA9 ... + VMSizeTypesStandardA9 VMSizeTypes = "Standard_A9" + // VMSizeTypesStandardB2ms ... + VMSizeTypesStandardB2ms VMSizeTypes = "Standard_B2ms" + // VMSizeTypesStandardB2s ... + VMSizeTypesStandardB2s VMSizeTypes = "Standard_B2s" + // VMSizeTypesStandardB4ms ... + VMSizeTypesStandardB4ms VMSizeTypes = "Standard_B4ms" + // VMSizeTypesStandardB8ms ... + VMSizeTypesStandardB8ms VMSizeTypes = "Standard_B8ms" + // VMSizeTypesStandardD1 ... + VMSizeTypesStandardD1 VMSizeTypes = "Standard_D1" + // VMSizeTypesStandardD11 ... + VMSizeTypesStandardD11 VMSizeTypes = "Standard_D11" + // VMSizeTypesStandardD11V2 ... + VMSizeTypesStandardD11V2 VMSizeTypes = "Standard_D11_v2" + // VMSizeTypesStandardD11V2Promo ... + VMSizeTypesStandardD11V2Promo VMSizeTypes = "Standard_D11_v2_Promo" + // VMSizeTypesStandardD12 ... + VMSizeTypesStandardD12 VMSizeTypes = "Standard_D12" + // VMSizeTypesStandardD12V2 ... + VMSizeTypesStandardD12V2 VMSizeTypes = "Standard_D12_v2" + // VMSizeTypesStandardD12V2Promo ... + VMSizeTypesStandardD12V2Promo VMSizeTypes = "Standard_D12_v2_Promo" + // VMSizeTypesStandardD13 ... + VMSizeTypesStandardD13 VMSizeTypes = "Standard_D13" + // VMSizeTypesStandardD13V2 ... + VMSizeTypesStandardD13V2 VMSizeTypes = "Standard_D13_v2" + // VMSizeTypesStandardD13V2Promo ... + VMSizeTypesStandardD13V2Promo VMSizeTypes = "Standard_D13_v2_Promo" + // VMSizeTypesStandardD14 ... + VMSizeTypesStandardD14 VMSizeTypes = "Standard_D14" + // VMSizeTypesStandardD14V2 ... + VMSizeTypesStandardD14V2 VMSizeTypes = "Standard_D14_v2" + // VMSizeTypesStandardD14V2Promo ... + VMSizeTypesStandardD14V2Promo VMSizeTypes = "Standard_D14_v2_Promo" + // VMSizeTypesStandardD15V2 ... + VMSizeTypesStandardD15V2 VMSizeTypes = "Standard_D15_v2" + // VMSizeTypesStandardD16sV3 ... + VMSizeTypesStandardD16sV3 VMSizeTypes = "Standard_D16s_v3" + // VMSizeTypesStandardD16V3 ... + VMSizeTypesStandardD16V3 VMSizeTypes = "Standard_D16_v3" + // VMSizeTypesStandardD1V2 ... + VMSizeTypesStandardD1V2 VMSizeTypes = "Standard_D1_v2" + // VMSizeTypesStandardD2 ... + VMSizeTypesStandardD2 VMSizeTypes = "Standard_D2" + // VMSizeTypesStandardD2sV3 ... + VMSizeTypesStandardD2sV3 VMSizeTypes = "Standard_D2s_v3" + // VMSizeTypesStandardD2V2 ... + VMSizeTypesStandardD2V2 VMSizeTypes = "Standard_D2_v2" + // VMSizeTypesStandardD2V2Promo ... + VMSizeTypesStandardD2V2Promo VMSizeTypes = "Standard_D2_v2_Promo" + // VMSizeTypesStandardD2V3 ... + VMSizeTypesStandardD2V3 VMSizeTypes = "Standard_D2_v3" + // VMSizeTypesStandardD3 ... + VMSizeTypesStandardD3 VMSizeTypes = "Standard_D3" + // VMSizeTypesStandardD32sV3 ... + VMSizeTypesStandardD32sV3 VMSizeTypes = "Standard_D32s_v3" + // VMSizeTypesStandardD32V3 ... + VMSizeTypesStandardD32V3 VMSizeTypes = "Standard_D32_v3" + // VMSizeTypesStandardD3V2 ... + VMSizeTypesStandardD3V2 VMSizeTypes = "Standard_D3_v2" + // VMSizeTypesStandardD3V2Promo ... + VMSizeTypesStandardD3V2Promo VMSizeTypes = "Standard_D3_v2_Promo" + // VMSizeTypesStandardD4 ... + VMSizeTypesStandardD4 VMSizeTypes = "Standard_D4" + // VMSizeTypesStandardD4sV3 ... + VMSizeTypesStandardD4sV3 VMSizeTypes = "Standard_D4s_v3" + // VMSizeTypesStandardD4V2 ... + VMSizeTypesStandardD4V2 VMSizeTypes = "Standard_D4_v2" + // VMSizeTypesStandardD4V2Promo ... + VMSizeTypesStandardD4V2Promo VMSizeTypes = "Standard_D4_v2_Promo" + // VMSizeTypesStandardD4V3 ... + VMSizeTypesStandardD4V3 VMSizeTypes = "Standard_D4_v3" + // VMSizeTypesStandardD5V2 ... + VMSizeTypesStandardD5V2 VMSizeTypes = "Standard_D5_v2" + // VMSizeTypesStandardD5V2Promo ... + VMSizeTypesStandardD5V2Promo VMSizeTypes = "Standard_D5_v2_Promo" + // VMSizeTypesStandardD64sV3 ... + VMSizeTypesStandardD64sV3 VMSizeTypes = "Standard_D64s_v3" + // VMSizeTypesStandardD64V3 ... + VMSizeTypesStandardD64V3 VMSizeTypes = "Standard_D64_v3" + // VMSizeTypesStandardD8sV3 ... + VMSizeTypesStandardD8sV3 VMSizeTypes = "Standard_D8s_v3" + // VMSizeTypesStandardD8V3 ... + VMSizeTypesStandardD8V3 VMSizeTypes = "Standard_D8_v3" + // VMSizeTypesStandardDS1 ... + VMSizeTypesStandardDS1 VMSizeTypes = "Standard_DS1" + // VMSizeTypesStandardDS11 ... + VMSizeTypesStandardDS11 VMSizeTypes = "Standard_DS11" + // VMSizeTypesStandardDS11V2 ... + VMSizeTypesStandardDS11V2 VMSizeTypes = "Standard_DS11_v2" + // VMSizeTypesStandardDS11V2Promo ... + VMSizeTypesStandardDS11V2Promo VMSizeTypes = "Standard_DS11_v2_Promo" + // VMSizeTypesStandardDS12 ... + VMSizeTypesStandardDS12 VMSizeTypes = "Standard_DS12" + // VMSizeTypesStandardDS12V2 ... + VMSizeTypesStandardDS12V2 VMSizeTypes = "Standard_DS12_v2" + // VMSizeTypesStandardDS12V2Promo ... + VMSizeTypesStandardDS12V2Promo VMSizeTypes = "Standard_DS12_v2_Promo" + // VMSizeTypesStandardDS13 ... + VMSizeTypesStandardDS13 VMSizeTypes = "Standard_DS13" + // VMSizeTypesStandardDS132V2 ... + VMSizeTypesStandardDS132V2 VMSizeTypes = "Standard_DS13-2_v2" + // VMSizeTypesStandardDS134V2 ... + VMSizeTypesStandardDS134V2 VMSizeTypes = "Standard_DS13-4_v2" + // VMSizeTypesStandardDS13V2 ... + VMSizeTypesStandardDS13V2 VMSizeTypes = "Standard_DS13_v2" + // VMSizeTypesStandardDS13V2Promo ... + VMSizeTypesStandardDS13V2Promo VMSizeTypes = "Standard_DS13_v2_Promo" + // VMSizeTypesStandardDS14 ... + VMSizeTypesStandardDS14 VMSizeTypes = "Standard_DS14" + // VMSizeTypesStandardDS144V2 ... + VMSizeTypesStandardDS144V2 VMSizeTypes = "Standard_DS14-4_v2" + // VMSizeTypesStandardDS148V2 ... + VMSizeTypesStandardDS148V2 VMSizeTypes = "Standard_DS14-8_v2" + // VMSizeTypesStandardDS14V2 ... + VMSizeTypesStandardDS14V2 VMSizeTypes = "Standard_DS14_v2" + // VMSizeTypesStandardDS14V2Promo ... + VMSizeTypesStandardDS14V2Promo VMSizeTypes = "Standard_DS14_v2_Promo" + // VMSizeTypesStandardDS15V2 ... + VMSizeTypesStandardDS15V2 VMSizeTypes = "Standard_DS15_v2" + // VMSizeTypesStandardDS1V2 ... + VMSizeTypesStandardDS1V2 VMSizeTypes = "Standard_DS1_v2" + // VMSizeTypesStandardDS2 ... + VMSizeTypesStandardDS2 VMSizeTypes = "Standard_DS2" + // VMSizeTypesStandardDS2V2 ... + VMSizeTypesStandardDS2V2 VMSizeTypes = "Standard_DS2_v2" + // VMSizeTypesStandardDS2V2Promo ... + VMSizeTypesStandardDS2V2Promo VMSizeTypes = "Standard_DS2_v2_Promo" + // VMSizeTypesStandardDS3 ... + VMSizeTypesStandardDS3 VMSizeTypes = "Standard_DS3" + // VMSizeTypesStandardDS3V2 ... + VMSizeTypesStandardDS3V2 VMSizeTypes = "Standard_DS3_v2" + // VMSizeTypesStandardDS3V2Promo ... + VMSizeTypesStandardDS3V2Promo VMSizeTypes = "Standard_DS3_v2_Promo" + // VMSizeTypesStandardDS4 ... + VMSizeTypesStandardDS4 VMSizeTypes = "Standard_DS4" + // VMSizeTypesStandardDS4V2 ... + VMSizeTypesStandardDS4V2 VMSizeTypes = "Standard_DS4_v2" + // VMSizeTypesStandardDS4V2Promo ... + VMSizeTypesStandardDS4V2Promo VMSizeTypes = "Standard_DS4_v2_Promo" + // VMSizeTypesStandardDS5V2 ... + VMSizeTypesStandardDS5V2 VMSizeTypes = "Standard_DS5_v2" + // VMSizeTypesStandardDS5V2Promo ... + VMSizeTypesStandardDS5V2Promo VMSizeTypes = "Standard_DS5_v2_Promo" + // VMSizeTypesStandardE16sV3 ... + VMSizeTypesStandardE16sV3 VMSizeTypes = "Standard_E16s_v3" + // VMSizeTypesStandardE16V3 ... + VMSizeTypesStandardE16V3 VMSizeTypes = "Standard_E16_v3" + // VMSizeTypesStandardE2sV3 ... + VMSizeTypesStandardE2sV3 VMSizeTypes = "Standard_E2s_v3" + // VMSizeTypesStandardE2V3 ... + VMSizeTypesStandardE2V3 VMSizeTypes = "Standard_E2_v3" + // VMSizeTypesStandardE3216sV3 ... + VMSizeTypesStandardE3216sV3 VMSizeTypes = "Standard_E32-16s_v3" + // VMSizeTypesStandardE328sV3 ... + VMSizeTypesStandardE328sV3 VMSizeTypes = "Standard_E32-8s_v3" + // VMSizeTypesStandardE32sV3 ... + VMSizeTypesStandardE32sV3 VMSizeTypes = "Standard_E32s_v3" + // VMSizeTypesStandardE32V3 ... + VMSizeTypesStandardE32V3 VMSizeTypes = "Standard_E32_v3" + // VMSizeTypesStandardE4sV3 ... + VMSizeTypesStandardE4sV3 VMSizeTypes = "Standard_E4s_v3" + // VMSizeTypesStandardE4V3 ... + VMSizeTypesStandardE4V3 VMSizeTypes = "Standard_E4_v3" + // VMSizeTypesStandardE6416sV3 ... + VMSizeTypesStandardE6416sV3 VMSizeTypes = "Standard_E64-16s_v3" + // VMSizeTypesStandardE6432sV3 ... + VMSizeTypesStandardE6432sV3 VMSizeTypes = "Standard_E64-32s_v3" + // VMSizeTypesStandardE64sV3 ... + VMSizeTypesStandardE64sV3 VMSizeTypes = "Standard_E64s_v3" + // VMSizeTypesStandardE64V3 ... + VMSizeTypesStandardE64V3 VMSizeTypes = "Standard_E64_v3" + // VMSizeTypesStandardE8sV3 ... + VMSizeTypesStandardE8sV3 VMSizeTypes = "Standard_E8s_v3" + // VMSizeTypesStandardE8V3 ... + VMSizeTypesStandardE8V3 VMSizeTypes = "Standard_E8_v3" + // VMSizeTypesStandardF1 ... + VMSizeTypesStandardF1 VMSizeTypes = "Standard_F1" + // VMSizeTypesStandardF16 ... + VMSizeTypesStandardF16 VMSizeTypes = "Standard_F16" + // VMSizeTypesStandardF16s ... + VMSizeTypesStandardF16s VMSizeTypes = "Standard_F16s" + // VMSizeTypesStandardF16sV2 ... + VMSizeTypesStandardF16sV2 VMSizeTypes = "Standard_F16s_v2" + // VMSizeTypesStandardF1s ... + VMSizeTypesStandardF1s VMSizeTypes = "Standard_F1s" + // VMSizeTypesStandardF2 ... + VMSizeTypesStandardF2 VMSizeTypes = "Standard_F2" + // VMSizeTypesStandardF2s ... + VMSizeTypesStandardF2s VMSizeTypes = "Standard_F2s" + // VMSizeTypesStandardF2sV2 ... + VMSizeTypesStandardF2sV2 VMSizeTypes = "Standard_F2s_v2" + // VMSizeTypesStandardF32sV2 ... + VMSizeTypesStandardF32sV2 VMSizeTypes = "Standard_F32s_v2" + // VMSizeTypesStandardF4 ... + VMSizeTypesStandardF4 VMSizeTypes = "Standard_F4" + // VMSizeTypesStandardF4s ... + VMSizeTypesStandardF4s VMSizeTypes = "Standard_F4s" + // VMSizeTypesStandardF4sV2 ... + VMSizeTypesStandardF4sV2 VMSizeTypes = "Standard_F4s_v2" + // VMSizeTypesStandardF64sV2 ... + VMSizeTypesStandardF64sV2 VMSizeTypes = "Standard_F64s_v2" + // VMSizeTypesStandardF72sV2 ... + VMSizeTypesStandardF72sV2 VMSizeTypes = "Standard_F72s_v2" + // VMSizeTypesStandardF8 ... + VMSizeTypesStandardF8 VMSizeTypes = "Standard_F8" + // VMSizeTypesStandardF8s ... + VMSizeTypesStandardF8s VMSizeTypes = "Standard_F8s" + // VMSizeTypesStandardF8sV2 ... + VMSizeTypesStandardF8sV2 VMSizeTypes = "Standard_F8s_v2" + // VMSizeTypesStandardG1 ... + VMSizeTypesStandardG1 VMSizeTypes = "Standard_G1" + // VMSizeTypesStandardG2 ... + VMSizeTypesStandardG2 VMSizeTypes = "Standard_G2" + // VMSizeTypesStandardG3 ... + VMSizeTypesStandardG3 VMSizeTypes = "Standard_G3" + // VMSizeTypesStandardG4 ... + VMSizeTypesStandardG4 VMSizeTypes = "Standard_G4" + // VMSizeTypesStandardG5 ... + VMSizeTypesStandardG5 VMSizeTypes = "Standard_G5" + // VMSizeTypesStandardGS1 ... + VMSizeTypesStandardGS1 VMSizeTypes = "Standard_GS1" + // VMSizeTypesStandardGS2 ... + VMSizeTypesStandardGS2 VMSizeTypes = "Standard_GS2" + // VMSizeTypesStandardGS3 ... + VMSizeTypesStandardGS3 VMSizeTypes = "Standard_GS3" + // VMSizeTypesStandardGS4 ... + VMSizeTypesStandardGS4 VMSizeTypes = "Standard_GS4" + // VMSizeTypesStandardGS44 ... + VMSizeTypesStandardGS44 VMSizeTypes = "Standard_GS4-4" + // VMSizeTypesStandardGS48 ... + VMSizeTypesStandardGS48 VMSizeTypes = "Standard_GS4-8" + // VMSizeTypesStandardGS5 ... + VMSizeTypesStandardGS5 VMSizeTypes = "Standard_GS5" + // VMSizeTypesStandardGS516 ... + VMSizeTypesStandardGS516 VMSizeTypes = "Standard_GS5-16" + // VMSizeTypesStandardGS58 ... + VMSizeTypesStandardGS58 VMSizeTypes = "Standard_GS5-8" + // VMSizeTypesStandardH16 ... + VMSizeTypesStandardH16 VMSizeTypes = "Standard_H16" + // VMSizeTypesStandardH16m ... + VMSizeTypesStandardH16m VMSizeTypes = "Standard_H16m" + // VMSizeTypesStandardH16mr ... + VMSizeTypesStandardH16mr VMSizeTypes = "Standard_H16mr" + // VMSizeTypesStandardH16r ... + VMSizeTypesStandardH16r VMSizeTypes = "Standard_H16r" + // VMSizeTypesStandardH8 ... + VMSizeTypesStandardH8 VMSizeTypes = "Standard_H8" + // VMSizeTypesStandardH8m ... + VMSizeTypesStandardH8m VMSizeTypes = "Standard_H8m" + // VMSizeTypesStandardL16s ... + VMSizeTypesStandardL16s VMSizeTypes = "Standard_L16s" + // VMSizeTypesStandardL32s ... + VMSizeTypesStandardL32s VMSizeTypes = "Standard_L32s" + // VMSizeTypesStandardL4s ... + VMSizeTypesStandardL4s VMSizeTypes = "Standard_L4s" + // VMSizeTypesStandardL8s ... + VMSizeTypesStandardL8s VMSizeTypes = "Standard_L8s" + // VMSizeTypesStandardM12832ms ... + VMSizeTypesStandardM12832ms VMSizeTypes = "Standard_M128-32ms" + // VMSizeTypesStandardM12864ms ... + VMSizeTypesStandardM12864ms VMSizeTypes = "Standard_M128-64ms" + // VMSizeTypesStandardM128ms ... + VMSizeTypesStandardM128ms VMSizeTypes = "Standard_M128ms" + // VMSizeTypesStandardM128s ... + VMSizeTypesStandardM128s VMSizeTypes = "Standard_M128s" + // VMSizeTypesStandardM6416ms ... + VMSizeTypesStandardM6416ms VMSizeTypes = "Standard_M64-16ms" + // VMSizeTypesStandardM6432ms ... + VMSizeTypesStandardM6432ms VMSizeTypes = "Standard_M64-32ms" + // VMSizeTypesStandardM64ms ... + VMSizeTypesStandardM64ms VMSizeTypes = "Standard_M64ms" + // VMSizeTypesStandardM64s ... + VMSizeTypesStandardM64s VMSizeTypes = "Standard_M64s" + // VMSizeTypesStandardNC12 ... + VMSizeTypesStandardNC12 VMSizeTypes = "Standard_NC12" + // VMSizeTypesStandardNC12sV2 ... + VMSizeTypesStandardNC12sV2 VMSizeTypes = "Standard_NC12s_v2" + // VMSizeTypesStandardNC12sV3 ... + VMSizeTypesStandardNC12sV3 VMSizeTypes = "Standard_NC12s_v3" + // VMSizeTypesStandardNC24 ... + VMSizeTypesStandardNC24 VMSizeTypes = "Standard_NC24" + // VMSizeTypesStandardNC24r ... + VMSizeTypesStandardNC24r VMSizeTypes = "Standard_NC24r" + // VMSizeTypesStandardNC24rsV2 ... + VMSizeTypesStandardNC24rsV2 VMSizeTypes = "Standard_NC24rs_v2" + // VMSizeTypesStandardNC24rsV3 ... + VMSizeTypesStandardNC24rsV3 VMSizeTypes = "Standard_NC24rs_v3" + // VMSizeTypesStandardNC24sV2 ... + VMSizeTypesStandardNC24sV2 VMSizeTypes = "Standard_NC24s_v2" + // VMSizeTypesStandardNC24sV3 ... + VMSizeTypesStandardNC24sV3 VMSizeTypes = "Standard_NC24s_v3" + // VMSizeTypesStandardNC6 ... + VMSizeTypesStandardNC6 VMSizeTypes = "Standard_NC6" + // VMSizeTypesStandardNC6sV2 ... + VMSizeTypesStandardNC6sV2 VMSizeTypes = "Standard_NC6s_v2" + // VMSizeTypesStandardNC6sV3 ... + VMSizeTypesStandardNC6sV3 VMSizeTypes = "Standard_NC6s_v3" + // VMSizeTypesStandardND12s ... + VMSizeTypesStandardND12s VMSizeTypes = "Standard_ND12s" + // VMSizeTypesStandardND24rs ... + VMSizeTypesStandardND24rs VMSizeTypes = "Standard_ND24rs" + // VMSizeTypesStandardND24s ... + VMSizeTypesStandardND24s VMSizeTypes = "Standard_ND24s" + // VMSizeTypesStandardND6s ... + VMSizeTypesStandardND6s VMSizeTypes = "Standard_ND6s" + // VMSizeTypesStandardNV12 ... + VMSizeTypesStandardNV12 VMSizeTypes = "Standard_NV12" + // VMSizeTypesStandardNV24 ... + VMSizeTypesStandardNV24 VMSizeTypes = "Standard_NV24" + // VMSizeTypesStandardNV6 ... + VMSizeTypesStandardNV6 VMSizeTypes = "Standard_NV6" +) + +// PossibleVMSizeTypesValues returns an array of possible values for the VMSizeTypes const type. +func PossibleVMSizeTypesValues() []VMSizeTypes { + return []VMSizeTypes{VMSizeTypesStandardA1, VMSizeTypesStandardA10, VMSizeTypesStandardA11, VMSizeTypesStandardA1V2, VMSizeTypesStandardA2, VMSizeTypesStandardA2mV2, VMSizeTypesStandardA2V2, VMSizeTypesStandardA3, VMSizeTypesStandardA4, VMSizeTypesStandardA4mV2, VMSizeTypesStandardA4V2, VMSizeTypesStandardA5, VMSizeTypesStandardA6, VMSizeTypesStandardA7, VMSizeTypesStandardA8, VMSizeTypesStandardA8mV2, VMSizeTypesStandardA8V2, VMSizeTypesStandardA9, VMSizeTypesStandardB2ms, VMSizeTypesStandardB2s, VMSizeTypesStandardB4ms, VMSizeTypesStandardB8ms, VMSizeTypesStandardD1, VMSizeTypesStandardD11, VMSizeTypesStandardD11V2, VMSizeTypesStandardD11V2Promo, VMSizeTypesStandardD12, VMSizeTypesStandardD12V2, VMSizeTypesStandardD12V2Promo, VMSizeTypesStandardD13, VMSizeTypesStandardD13V2, VMSizeTypesStandardD13V2Promo, VMSizeTypesStandardD14, VMSizeTypesStandardD14V2, VMSizeTypesStandardD14V2Promo, VMSizeTypesStandardD15V2, VMSizeTypesStandardD16sV3, VMSizeTypesStandardD16V3, VMSizeTypesStandardD1V2, VMSizeTypesStandardD2, VMSizeTypesStandardD2sV3, VMSizeTypesStandardD2V2, VMSizeTypesStandardD2V2Promo, VMSizeTypesStandardD2V3, VMSizeTypesStandardD3, VMSizeTypesStandardD32sV3, VMSizeTypesStandardD32V3, VMSizeTypesStandardD3V2, VMSizeTypesStandardD3V2Promo, VMSizeTypesStandardD4, VMSizeTypesStandardD4sV3, VMSizeTypesStandardD4V2, VMSizeTypesStandardD4V2Promo, VMSizeTypesStandardD4V3, VMSizeTypesStandardD5V2, VMSizeTypesStandardD5V2Promo, VMSizeTypesStandardD64sV3, VMSizeTypesStandardD64V3, VMSizeTypesStandardD8sV3, VMSizeTypesStandardD8V3, VMSizeTypesStandardDS1, VMSizeTypesStandardDS11, VMSizeTypesStandardDS11V2, VMSizeTypesStandardDS11V2Promo, VMSizeTypesStandardDS12, VMSizeTypesStandardDS12V2, VMSizeTypesStandardDS12V2Promo, VMSizeTypesStandardDS13, VMSizeTypesStandardDS132V2, VMSizeTypesStandardDS134V2, VMSizeTypesStandardDS13V2, VMSizeTypesStandardDS13V2Promo, VMSizeTypesStandardDS14, VMSizeTypesStandardDS144V2, VMSizeTypesStandardDS148V2, VMSizeTypesStandardDS14V2, VMSizeTypesStandardDS14V2Promo, VMSizeTypesStandardDS15V2, VMSizeTypesStandardDS1V2, VMSizeTypesStandardDS2, VMSizeTypesStandardDS2V2, VMSizeTypesStandardDS2V2Promo, VMSizeTypesStandardDS3, VMSizeTypesStandardDS3V2, VMSizeTypesStandardDS3V2Promo, VMSizeTypesStandardDS4, VMSizeTypesStandardDS4V2, VMSizeTypesStandardDS4V2Promo, VMSizeTypesStandardDS5V2, VMSizeTypesStandardDS5V2Promo, VMSizeTypesStandardE16sV3, VMSizeTypesStandardE16V3, VMSizeTypesStandardE2sV3, VMSizeTypesStandardE2V3, VMSizeTypesStandardE3216sV3, VMSizeTypesStandardE328sV3, VMSizeTypesStandardE32sV3, VMSizeTypesStandardE32V3, VMSizeTypesStandardE4sV3, VMSizeTypesStandardE4V3, VMSizeTypesStandardE6416sV3, VMSizeTypesStandardE6432sV3, VMSizeTypesStandardE64sV3, VMSizeTypesStandardE64V3, VMSizeTypesStandardE8sV3, VMSizeTypesStandardE8V3, VMSizeTypesStandardF1, VMSizeTypesStandardF16, VMSizeTypesStandardF16s, VMSizeTypesStandardF16sV2, VMSizeTypesStandardF1s, VMSizeTypesStandardF2, VMSizeTypesStandardF2s, VMSizeTypesStandardF2sV2, VMSizeTypesStandardF32sV2, VMSizeTypesStandardF4, VMSizeTypesStandardF4s, VMSizeTypesStandardF4sV2, VMSizeTypesStandardF64sV2, VMSizeTypesStandardF72sV2, VMSizeTypesStandardF8, VMSizeTypesStandardF8s, VMSizeTypesStandardF8sV2, VMSizeTypesStandardG1, VMSizeTypesStandardG2, VMSizeTypesStandardG3, VMSizeTypesStandardG4, VMSizeTypesStandardG5, VMSizeTypesStandardGS1, VMSizeTypesStandardGS2, VMSizeTypesStandardGS3, VMSizeTypesStandardGS4, VMSizeTypesStandardGS44, VMSizeTypesStandardGS48, VMSizeTypesStandardGS5, VMSizeTypesStandardGS516, VMSizeTypesStandardGS58, VMSizeTypesStandardH16, VMSizeTypesStandardH16m, VMSizeTypesStandardH16mr, VMSizeTypesStandardH16r, VMSizeTypesStandardH8, VMSizeTypesStandardH8m, VMSizeTypesStandardL16s, VMSizeTypesStandardL32s, VMSizeTypesStandardL4s, VMSizeTypesStandardL8s, VMSizeTypesStandardM12832ms, VMSizeTypesStandardM12864ms, VMSizeTypesStandardM128ms, VMSizeTypesStandardM128s, VMSizeTypesStandardM6416ms, VMSizeTypesStandardM6432ms, VMSizeTypesStandardM64ms, VMSizeTypesStandardM64s, VMSizeTypesStandardNC12, VMSizeTypesStandardNC12sV2, VMSizeTypesStandardNC12sV3, VMSizeTypesStandardNC24, VMSizeTypesStandardNC24r, VMSizeTypesStandardNC24rsV2, VMSizeTypesStandardNC24rsV3, VMSizeTypesStandardNC24sV2, VMSizeTypesStandardNC24sV3, VMSizeTypesStandardNC6, VMSizeTypesStandardNC6sV2, VMSizeTypesStandardNC6sV3, VMSizeTypesStandardND12s, VMSizeTypesStandardND24rs, VMSizeTypesStandardND24s, VMSizeTypesStandardND6s, VMSizeTypesStandardNV12, VMSizeTypesStandardNV24, VMSizeTypesStandardNV6} +} + +// AccessProfile profile for enabling a user to access a managed cluster. +type AccessProfile struct { + // KubeConfig - Base64-encoded Kubernetes configuration file. + KubeConfig *[]byte `json:"kubeConfig,omitempty"` +} + +// AgentPool agent Pool. +type AgentPool struct { + autorest.Response `json:"-"` + // ManagedClusterAgentPoolProfileProperties - Properties of an agent pool. + *ManagedClusterAgentPoolProfileProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; The name of the resource that is unique within a resource group. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for AgentPool. +func (ap AgentPool) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if ap.ManagedClusterAgentPoolProfileProperties != nil { + objectMap["properties"] = ap.ManagedClusterAgentPoolProfileProperties + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for AgentPool struct. +func (ap *AgentPool) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var managedClusterAgentPoolProfileProperties ManagedClusterAgentPoolProfileProperties + err = json.Unmarshal(*v, &managedClusterAgentPoolProfileProperties) + if err != nil { + return err + } + ap.ManagedClusterAgentPoolProfileProperties = &managedClusterAgentPoolProfileProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + ap.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + ap.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ap.Type = &typeVar + } + } + } + + return nil +} + +// AgentPoolAvailableVersions the list of available versions for an agent pool. +type AgentPoolAvailableVersions struct { + autorest.Response `json:"-"` + // ID - READ-ONLY; Id of the agent pool available versions. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Name of the agent pool available versions. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Type of the agent pool available versions. + Type *string `json:"type,omitempty"` + // AgentPoolAvailableVersionsProperties - Properties of agent pool available versions. + *AgentPoolAvailableVersionsProperties `json:"properties,omitempty"` +} + +// MarshalJSON is the custom marshaler for AgentPoolAvailableVersions. +func (apav AgentPoolAvailableVersions) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if apav.AgentPoolAvailableVersionsProperties != nil { + objectMap["properties"] = apav.AgentPoolAvailableVersionsProperties + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for AgentPoolAvailableVersions struct. +func (apav *AgentPoolAvailableVersions) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + apav.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + apav.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + apav.Type = &typeVar + } + case "properties": + if v != nil { + var agentPoolAvailableVersionsProperties AgentPoolAvailableVersionsProperties + err = json.Unmarshal(*v, &agentPoolAvailableVersionsProperties) + if err != nil { + return err + } + apav.AgentPoolAvailableVersionsProperties = &agentPoolAvailableVersionsProperties + } + } + } + + return nil +} + +// AgentPoolAvailableVersionsProperties the list of available agent pool versions. +type AgentPoolAvailableVersionsProperties struct { + // AgentPoolVersions - List of versions available for agent pool. + AgentPoolVersions *[]AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem `json:"agentPoolVersions,omitempty"` +} + +// AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem ... +type AgentPoolAvailableVersionsPropertiesAgentPoolVersionsItem struct { + // Default - Whether this version is the default agent pool version. + Default *bool `json:"default,omitempty"` + // KubernetesVersion - Kubernetes version (major, minor, patch). + KubernetesVersion *string `json:"kubernetesVersion,omitempty"` + // IsPreview - Whether Kubernetes version is currently in preview. + IsPreview *bool `json:"isPreview,omitempty"` +} + +// AgentPoolListResult the response from the List Agent Pools operation. +type AgentPoolListResult struct { + autorest.Response `json:"-"` + // Value - The list of agent pools. + Value *[]AgentPool `json:"value,omitempty"` + // NextLink - READ-ONLY; The URL to get the next set of agent pool results. + NextLink *string `json:"nextLink,omitempty"` +} + +// AgentPoolListResultIterator provides access to a complete listing of AgentPool values. +type AgentPoolListResultIterator struct { + i int + page AgentPoolListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *AgentPoolListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AgentPoolListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *AgentPoolListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter AgentPoolListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter AgentPoolListResultIterator) Response() AgentPoolListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter AgentPoolListResultIterator) Value() AgentPool { + if !iter.page.NotDone() { + return AgentPool{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the AgentPoolListResultIterator type. +func NewAgentPoolListResultIterator(page AgentPoolListResultPage) AgentPoolListResultIterator { + return AgentPoolListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (aplr AgentPoolListResult) IsEmpty() bool { + return aplr.Value == nil || len(*aplr.Value) == 0 +} + +// agentPoolListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (aplr AgentPoolListResult) agentPoolListResultPreparer(ctx context.Context) (*http.Request, error) { + if aplr.NextLink == nil || len(to.String(aplr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(aplr.NextLink))) +} + +// AgentPoolListResultPage contains a page of AgentPool values. +type AgentPoolListResultPage struct { + fn func(context.Context, AgentPoolListResult) (AgentPoolListResult, error) + aplr AgentPoolListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *AgentPoolListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AgentPoolListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.aplr) + if err != nil { + return err + } + page.aplr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *AgentPoolListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page AgentPoolListResultPage) NotDone() bool { + return !page.aplr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page AgentPoolListResultPage) Response() AgentPoolListResult { + return page.aplr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page AgentPoolListResultPage) Values() []AgentPool { + if page.aplr.IsEmpty() { + return nil + } + return *page.aplr.Value +} + +// Creates a new instance of the AgentPoolListResultPage type. +func NewAgentPoolListResultPage(getNextPage func(context.Context, AgentPoolListResult) (AgentPoolListResult, error)) AgentPoolListResultPage { + return AgentPoolListResultPage{fn: getNextPage} +} + +// AgentPoolProfile profile for the container service agent pool. +type AgentPoolProfile struct { + // Name - Unique name of the agent pool profile in the context of the subscription and resource group. + Name *string `json:"name,omitempty"` + // Count - Number of agents (VMs) to host docker containers. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1. + Count *int32 `json:"count,omitempty"` + // VMSize - Size of agent VMs. Possible values include: 'VMSizeTypesStandardA1', 'VMSizeTypesStandardA10', 'VMSizeTypesStandardA11', 'VMSizeTypesStandardA1V2', 'VMSizeTypesStandardA2', 'VMSizeTypesStandardA2V2', 'VMSizeTypesStandardA2mV2', 'VMSizeTypesStandardA3', 'VMSizeTypesStandardA4', 'VMSizeTypesStandardA4V2', 'VMSizeTypesStandardA4mV2', 'VMSizeTypesStandardA5', 'VMSizeTypesStandardA6', 'VMSizeTypesStandardA7', 'VMSizeTypesStandardA8', 'VMSizeTypesStandardA8V2', 'VMSizeTypesStandardA8mV2', 'VMSizeTypesStandardA9', 'VMSizeTypesStandardB2ms', 'VMSizeTypesStandardB2s', 'VMSizeTypesStandardB4ms', 'VMSizeTypesStandardB8ms', 'VMSizeTypesStandardD1', 'VMSizeTypesStandardD11', 'VMSizeTypesStandardD11V2', 'VMSizeTypesStandardD11V2Promo', 'VMSizeTypesStandardD12', 'VMSizeTypesStandardD12V2', 'VMSizeTypesStandardD12V2Promo', 'VMSizeTypesStandardD13', 'VMSizeTypesStandardD13V2', 'VMSizeTypesStandardD13V2Promo', 'VMSizeTypesStandardD14', 'VMSizeTypesStandardD14V2', 'VMSizeTypesStandardD14V2Promo', 'VMSizeTypesStandardD15V2', 'VMSizeTypesStandardD16V3', 'VMSizeTypesStandardD16sV3', 'VMSizeTypesStandardD1V2', 'VMSizeTypesStandardD2', 'VMSizeTypesStandardD2V2', 'VMSizeTypesStandardD2V2Promo', 'VMSizeTypesStandardD2V3', 'VMSizeTypesStandardD2sV3', 'VMSizeTypesStandardD3', 'VMSizeTypesStandardD32V3', 'VMSizeTypesStandardD32sV3', 'VMSizeTypesStandardD3V2', 'VMSizeTypesStandardD3V2Promo', 'VMSizeTypesStandardD4', 'VMSizeTypesStandardD4V2', 'VMSizeTypesStandardD4V2Promo', 'VMSizeTypesStandardD4V3', 'VMSizeTypesStandardD4sV3', 'VMSizeTypesStandardD5V2', 'VMSizeTypesStandardD5V2Promo', 'VMSizeTypesStandardD64V3', 'VMSizeTypesStandardD64sV3', 'VMSizeTypesStandardD8V3', 'VMSizeTypesStandardD8sV3', 'VMSizeTypesStandardDS1', 'VMSizeTypesStandardDS11', 'VMSizeTypesStandardDS11V2', 'VMSizeTypesStandardDS11V2Promo', 'VMSizeTypesStandardDS12', 'VMSizeTypesStandardDS12V2', 'VMSizeTypesStandardDS12V2Promo', 'VMSizeTypesStandardDS13', 'VMSizeTypesStandardDS132V2', 'VMSizeTypesStandardDS134V2', 'VMSizeTypesStandardDS13V2', 'VMSizeTypesStandardDS13V2Promo', 'VMSizeTypesStandardDS14', 'VMSizeTypesStandardDS144V2', 'VMSizeTypesStandardDS148V2', 'VMSizeTypesStandardDS14V2', 'VMSizeTypesStandardDS14V2Promo', 'VMSizeTypesStandardDS15V2', 'VMSizeTypesStandardDS1V2', 'VMSizeTypesStandardDS2', 'VMSizeTypesStandardDS2V2', 'VMSizeTypesStandardDS2V2Promo', 'VMSizeTypesStandardDS3', 'VMSizeTypesStandardDS3V2', 'VMSizeTypesStandardDS3V2Promo', 'VMSizeTypesStandardDS4', 'VMSizeTypesStandardDS4V2', 'VMSizeTypesStandardDS4V2Promo', 'VMSizeTypesStandardDS5V2', 'VMSizeTypesStandardDS5V2Promo', 'VMSizeTypesStandardE16V3', 'VMSizeTypesStandardE16sV3', 'VMSizeTypesStandardE2V3', 'VMSizeTypesStandardE2sV3', 'VMSizeTypesStandardE3216sV3', 'VMSizeTypesStandardE328sV3', 'VMSizeTypesStandardE32V3', 'VMSizeTypesStandardE32sV3', 'VMSizeTypesStandardE4V3', 'VMSizeTypesStandardE4sV3', 'VMSizeTypesStandardE6416sV3', 'VMSizeTypesStandardE6432sV3', 'VMSizeTypesStandardE64V3', 'VMSizeTypesStandardE64sV3', 'VMSizeTypesStandardE8V3', 'VMSizeTypesStandardE8sV3', 'VMSizeTypesStandardF1', 'VMSizeTypesStandardF16', 'VMSizeTypesStandardF16s', 'VMSizeTypesStandardF16sV2', 'VMSizeTypesStandardF1s', 'VMSizeTypesStandardF2', 'VMSizeTypesStandardF2s', 'VMSizeTypesStandardF2sV2', 'VMSizeTypesStandardF32sV2', 'VMSizeTypesStandardF4', 'VMSizeTypesStandardF4s', 'VMSizeTypesStandardF4sV2', 'VMSizeTypesStandardF64sV2', 'VMSizeTypesStandardF72sV2', 'VMSizeTypesStandardF8', 'VMSizeTypesStandardF8s', 'VMSizeTypesStandardF8sV2', 'VMSizeTypesStandardG1', 'VMSizeTypesStandardG2', 'VMSizeTypesStandardG3', 'VMSizeTypesStandardG4', 'VMSizeTypesStandardG5', 'VMSizeTypesStandardGS1', 'VMSizeTypesStandardGS2', 'VMSizeTypesStandardGS3', 'VMSizeTypesStandardGS4', 'VMSizeTypesStandardGS44', 'VMSizeTypesStandardGS48', 'VMSizeTypesStandardGS5', 'VMSizeTypesStandardGS516', 'VMSizeTypesStandardGS58', 'VMSizeTypesStandardH16', 'VMSizeTypesStandardH16m', 'VMSizeTypesStandardH16mr', 'VMSizeTypesStandardH16r', 'VMSizeTypesStandardH8', 'VMSizeTypesStandardH8m', 'VMSizeTypesStandardL16s', 'VMSizeTypesStandardL32s', 'VMSizeTypesStandardL4s', 'VMSizeTypesStandardL8s', 'VMSizeTypesStandardM12832ms', 'VMSizeTypesStandardM12864ms', 'VMSizeTypesStandardM128ms', 'VMSizeTypesStandardM128s', 'VMSizeTypesStandardM6416ms', 'VMSizeTypesStandardM6432ms', 'VMSizeTypesStandardM64ms', 'VMSizeTypesStandardM64s', 'VMSizeTypesStandardNC12', 'VMSizeTypesStandardNC12sV2', 'VMSizeTypesStandardNC12sV3', 'VMSizeTypesStandardNC24', 'VMSizeTypesStandardNC24r', 'VMSizeTypesStandardNC24rsV2', 'VMSizeTypesStandardNC24rsV3', 'VMSizeTypesStandardNC24sV2', 'VMSizeTypesStandardNC24sV3', 'VMSizeTypesStandardNC6', 'VMSizeTypesStandardNC6sV2', 'VMSizeTypesStandardNC6sV3', 'VMSizeTypesStandardND12s', 'VMSizeTypesStandardND24rs', 'VMSizeTypesStandardND24s', 'VMSizeTypesStandardND6s', 'VMSizeTypesStandardNV12', 'VMSizeTypesStandardNV24', 'VMSizeTypesStandardNV6' + VMSize VMSizeTypes `json:"vmSize,omitempty"` + // OsDiskSizeGB - OS Disk Size in GB to be used to specify the disk size for every machine in this master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified. + OsDiskSizeGB *int32 `json:"osDiskSizeGB,omitempty"` + // DNSPrefix - DNS prefix to be used to create the FQDN for the agent pool. + DNSPrefix *string `json:"dnsPrefix,omitempty"` + // Fqdn - READ-ONLY; FQDN for the agent pool. + Fqdn *string `json:"fqdn,omitempty"` + // Ports - Ports number array used to expose on this agent pool. The default opened ports are different based on your choice of orchestrator. + Ports *[]int32 `json:"ports,omitempty"` + // StorageProfile - Storage profile specifies what kind of storage used. Choose from StorageAccount and ManagedDisks. Leave it empty, we will choose for you based on the orchestrator choice. Possible values include: 'StorageAccount', 'ManagedDisks' + StorageProfile StorageProfileTypes `json:"storageProfile,omitempty"` + // VnetSubnetID - VNet SubnetID specifies the VNet's subnet identifier. + VnetSubnetID *string `json:"vnetSubnetID,omitempty"` + // OsType - OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux. Possible values include: 'Linux', 'Windows' + OsType OSType `json:"osType,omitempty"` +} + +// AgentPoolsCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type AgentPoolsCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *AgentPoolsCreateOrUpdateFuture) Result(client AgentPoolsClient) (ap AgentPool, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "containerservice.AgentPoolsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("containerservice.AgentPoolsCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if ap.Response.Response, err = future.GetResult(sender); err == nil && ap.Response.Response.StatusCode != http.StatusNoContent { + ap, err = client.CreateOrUpdateResponder(ap.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "containerservice.AgentPoolsCreateOrUpdateFuture", "Result", ap.Response.Response, "Failure responding to request") + } + } + return +} + +// AgentPoolsDeleteFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type AgentPoolsDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *AgentPoolsDeleteFuture) Result(client AgentPoolsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "containerservice.AgentPoolsDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("containerservice.AgentPoolsDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// AgentPoolUpgradeProfile the list of available upgrades for an agent pool. +type AgentPoolUpgradeProfile struct { + autorest.Response `json:"-"` + // ID - READ-ONLY; Id of the agent pool upgrade profile. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Name of the agent pool upgrade profile. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Type of the agent pool upgrade profile. + Type *string `json:"type,omitempty"` + // AgentPoolUpgradeProfileProperties - Properties of agent pool upgrade profile. + *AgentPoolUpgradeProfileProperties `json:"properties,omitempty"` +} + +// MarshalJSON is the custom marshaler for AgentPoolUpgradeProfile. +func (apup AgentPoolUpgradeProfile) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if apup.AgentPoolUpgradeProfileProperties != nil { + objectMap["properties"] = apup.AgentPoolUpgradeProfileProperties + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for AgentPoolUpgradeProfile struct. +func (apup *AgentPoolUpgradeProfile) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + apup.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + apup.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + apup.Type = &typeVar + } + case "properties": + if v != nil { + var agentPoolUpgradeProfileProperties AgentPoolUpgradeProfileProperties + err = json.Unmarshal(*v, &agentPoolUpgradeProfileProperties) + if err != nil { + return err + } + apup.AgentPoolUpgradeProfileProperties = &agentPoolUpgradeProfileProperties + } + } + } + + return nil +} + +// AgentPoolUpgradeProfileProperties the list of available upgrade versions. +type AgentPoolUpgradeProfileProperties struct { + // KubernetesVersion - Kubernetes version (major, minor, patch). + KubernetesVersion *string `json:"kubernetesVersion,omitempty"` + // OsType - OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux. Possible values include: 'Linux', 'Windows' + OsType OSType `json:"osType,omitempty"` + // Upgrades - List of orchestrator types and versions available for upgrade. + Upgrades *[]AgentPoolUpgradeProfilePropertiesUpgradesItem `json:"upgrades,omitempty"` +} + +// AgentPoolUpgradeProfilePropertiesUpgradesItem ... +type AgentPoolUpgradeProfilePropertiesUpgradesItem struct { + // KubernetesVersion - Kubernetes version (major, minor, patch). + KubernetesVersion *string `json:"kubernetesVersion,omitempty"` + // IsPreview - Whether Kubernetes version is currently in preview. + IsPreview *bool `json:"isPreview,omitempty"` +} + +// CloudError an error response from the Container service. +type CloudError struct { + // Error - Details about the error. + Error *CloudErrorBody `json:"error,omitempty"` +} + +// CloudErrorBody an error response from the Container service. +type CloudErrorBody struct { + // Code - An identifier for the error. Codes are invariant and are intended to be consumed programmatically. + Code *string `json:"code,omitempty"` + // Message - A message describing the error, intended to be suitable for display in a user interface. + Message *string `json:"message,omitempty"` + // Target - The target of the particular error. For example, the name of the property in error. + Target *string `json:"target,omitempty"` + // Details - A list of additional details about the error. + Details *[]CloudErrorBody `json:"details,omitempty"` +} + +// ContainerService container service. +type ContainerService struct { + autorest.Response `json:"-"` + // Properties - Properties of the container service. + *Properties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource Id + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type + Type *string `json:"type,omitempty"` + // Location - Resource location + Location *string `json:"location,omitempty"` + // Tags - Resource tags + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for ContainerService. +func (cs ContainerService) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if cs.Properties != nil { + objectMap["properties"] = cs.Properties + } + if cs.Location != nil { + objectMap["location"] = cs.Location + } + if cs.Tags != nil { + objectMap["tags"] = cs.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ContainerService struct. +func (cs *ContainerService) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var properties Properties + err = json.Unmarshal(*v, &properties) + if err != nil { + return err + } + cs.Properties = &properties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + cs.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + cs.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + cs.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + cs.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + cs.Tags = tags + } + } + } + + return nil +} + +// ContainerServicesCreateOrUpdateFutureType an abstraction for monitoring and retrieving the results of a +// long-running operation. +type ContainerServicesCreateOrUpdateFutureType struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ContainerServicesCreateOrUpdateFutureType) Result(client ContainerServicesClient) (cs ContainerService, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "containerservice.ContainerServicesCreateOrUpdateFutureType", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("containerservice.ContainerServicesCreateOrUpdateFutureType") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if cs.Response.Response, err = future.GetResult(sender); err == nil && cs.Response.Response.StatusCode != http.StatusNoContent { + cs, err = client.CreateOrUpdateResponder(cs.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "containerservice.ContainerServicesCreateOrUpdateFutureType", "Result", cs.Response.Response, "Failure responding to request") + } + } + return +} + +// ContainerServicesDeleteFutureType an abstraction for monitoring and retrieving the results of a +// long-running operation. +type ContainerServicesDeleteFutureType struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ContainerServicesDeleteFutureType) Result(client ContainerServicesClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "containerservice.ContainerServicesDeleteFutureType", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("containerservice.ContainerServicesDeleteFutureType") + return + } + ar.Response = future.Response() + return +} + +// CredentialResult the credential result response. +type CredentialResult struct { + // Name - READ-ONLY; The name of the credential. + Name *string `json:"name,omitempty"` + // Value - READ-ONLY; Base64-encoded Kubernetes configuration file. + Value *[]byte `json:"value,omitempty"` +} + +// CredentialResults the list of credential result response. +type CredentialResults struct { + autorest.Response `json:"-"` + // Kubeconfigs - READ-ONLY; Base64-encoded Kubernetes configuration file. + Kubeconfigs *[]CredentialResult `json:"kubeconfigs,omitempty"` +} + +// CustomProfile properties to configure a custom container service cluster. +type CustomProfile struct { + // Orchestrator - The name of the custom orchestrator to use. + Orchestrator *string `json:"orchestrator,omitempty"` +} + +// DiagnosticsProfile profile for diagnostics on the container service cluster. +type DiagnosticsProfile struct { + // VMDiagnostics - Profile for diagnostics on the container service VMs. + VMDiagnostics *VMDiagnostics `json:"vmDiagnostics,omitempty"` +} + +// KeyVaultSecretRef reference to a secret stored in Azure Key Vault. +type KeyVaultSecretRef struct { + // VaultID - Key vault identifier. + VaultID *string `json:"vaultID,omitempty"` + // SecretName - The secret name. + SecretName *string `json:"secretName,omitempty"` + // Version - The secret version. + Version *string `json:"version,omitempty"` +} + +// LinuxProfile profile for Linux VMs in the container service cluster. +type LinuxProfile struct { + // AdminUsername - The administrator username to use for Linux VMs. + AdminUsername *string `json:"adminUsername,omitempty"` + // SSH - SSH configuration for Linux-based VMs running on Azure. + SSH *SSHConfiguration `json:"ssh,omitempty"` +} + +// ListResult the response from the List Container Services operation. +type ListResult struct { + autorest.Response `json:"-"` + // Value - The list of container services. + Value *[]ContainerService `json:"value,omitempty"` + // NextLink - READ-ONLY; The URL to get the next set of container service results. + NextLink *string `json:"nextLink,omitempty"` +} + +// ListResultIterator provides access to a complete listing of ContainerService values. +type ListResultIterator struct { + i int + page ListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *ListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *ListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter ListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter ListResultIterator) Response() ListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter ListResultIterator) Value() ContainerService { + if !iter.page.NotDone() { + return ContainerService{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the ListResultIterator type. +func NewListResultIterator(page ListResultPage) ListResultIterator { + return ListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (lr ListResult) IsEmpty() bool { + return lr.Value == nil || len(*lr.Value) == 0 +} + +// listResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (lr ListResult) listResultPreparer(ctx context.Context) (*http.Request, error) { + if lr.NextLink == nil || len(to.String(lr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(lr.NextLink))) +} + +// ListResultPage contains a page of ContainerService values. +type ListResultPage struct { + fn func(context.Context, ListResult) (ListResult, error) + lr ListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *ListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.lr) + if err != nil { + return err + } + page.lr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *ListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page ListResultPage) NotDone() bool { + return !page.lr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page ListResultPage) Response() ListResult { + return page.lr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page ListResultPage) Values() []ContainerService { + if page.lr.IsEmpty() { + return nil + } + return *page.lr.Value +} + +// Creates a new instance of the ListResultPage type. +func NewListResultPage(getNextPage func(context.Context, ListResult) (ListResult, error)) ListResultPage { + return ListResultPage{fn: getNextPage} +} + +// ManagedCluster managed cluster. +type ManagedCluster struct { + autorest.Response `json:"-"` + // ManagedClusterProperties - Properties of a managed cluster. + *ManagedClusterProperties `json:"properties,omitempty"` + // Identity - The identity of the managed cluster, if configured. + Identity *ManagedClusterIdentity `json:"identity,omitempty"` + // ID - READ-ONLY; Resource Id + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type + Type *string `json:"type,omitempty"` + // Location - Resource location + Location *string `json:"location,omitempty"` + // Tags - Resource tags + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for ManagedCluster. +func (mc ManagedCluster) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if mc.ManagedClusterProperties != nil { + objectMap["properties"] = mc.ManagedClusterProperties + } + if mc.Identity != nil { + objectMap["identity"] = mc.Identity + } + if mc.Location != nil { + objectMap["location"] = mc.Location + } + if mc.Tags != nil { + objectMap["tags"] = mc.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ManagedCluster struct. +func (mc *ManagedCluster) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var managedClusterProperties ManagedClusterProperties + err = json.Unmarshal(*v, &managedClusterProperties) + if err != nil { + return err + } + mc.ManagedClusterProperties = &managedClusterProperties + } + case "identity": + if v != nil { + var identity ManagedClusterIdentity + err = json.Unmarshal(*v, &identity) + if err != nil { + return err + } + mc.Identity = &identity + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + mc.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + mc.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + mc.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + mc.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + mc.Tags = tags + } + } + } + + return nil +} + +// ManagedClusterAADProfile aADProfile specifies attributes for Azure Active Directory integration. +type ManagedClusterAADProfile struct { + // ClientAppID - The client AAD application ID. + ClientAppID *string `json:"clientAppID,omitempty"` + // ServerAppID - The server AAD application ID. + ServerAppID *string `json:"serverAppID,omitempty"` + // ServerAppSecret - The server AAD application secret. + ServerAppSecret *string `json:"serverAppSecret,omitempty"` + // TenantID - The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment subscription. + TenantID *string `json:"tenantID,omitempty"` +} + +// ManagedClusterAccessProfile managed cluster Access Profile. +type ManagedClusterAccessProfile struct { + autorest.Response `json:"-"` + // AccessProfile - AccessProfile of a managed cluster. + *AccessProfile `json:"properties,omitempty"` + // ID - READ-ONLY; Resource Id + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type + Type *string `json:"type,omitempty"` + // Location - Resource location + Location *string `json:"location,omitempty"` + // Tags - Resource tags + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for ManagedClusterAccessProfile. +func (mcap ManagedClusterAccessProfile) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if mcap.AccessProfile != nil { + objectMap["properties"] = mcap.AccessProfile + } + if mcap.Location != nil { + objectMap["location"] = mcap.Location + } + if mcap.Tags != nil { + objectMap["tags"] = mcap.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ManagedClusterAccessProfile struct. +func (mcap *ManagedClusterAccessProfile) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var accessProfile AccessProfile + err = json.Unmarshal(*v, &accessProfile) + if err != nil { + return err + } + mcap.AccessProfile = &accessProfile + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + mcap.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + mcap.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + mcap.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + mcap.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + mcap.Tags = tags + } + } + } + + return nil +} + +// ManagedClusterAddonProfile a Kubernetes add-on profile for a managed cluster. +type ManagedClusterAddonProfile struct { + // Enabled - Whether the add-on is enabled or not. + Enabled *bool `json:"enabled,omitempty"` + // Config - Key-value pairs for configuring an add-on. + Config map[string]*string `json:"config"` +} + +// MarshalJSON is the custom marshaler for ManagedClusterAddonProfile. +func (mcap ManagedClusterAddonProfile) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if mcap.Enabled != nil { + objectMap["enabled"] = mcap.Enabled + } + if mcap.Config != nil { + objectMap["config"] = mcap.Config + } + return json.Marshal(objectMap) +} + +// ManagedClusterAgentPoolProfile profile for the container service agent pool. +type ManagedClusterAgentPoolProfile struct { + // Name - Unique name of the agent pool profile in the context of the subscription and resource group. + Name *string `json:"name,omitempty"` + // Count - Number of agents (VMs) to host docker containers. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1. + Count *int32 `json:"count,omitempty"` + // VMSize - Size of agent VMs. Possible values include: 'VMSizeTypesStandardA1', 'VMSizeTypesStandardA10', 'VMSizeTypesStandardA11', 'VMSizeTypesStandardA1V2', 'VMSizeTypesStandardA2', 'VMSizeTypesStandardA2V2', 'VMSizeTypesStandardA2mV2', 'VMSizeTypesStandardA3', 'VMSizeTypesStandardA4', 'VMSizeTypesStandardA4V2', 'VMSizeTypesStandardA4mV2', 'VMSizeTypesStandardA5', 'VMSizeTypesStandardA6', 'VMSizeTypesStandardA7', 'VMSizeTypesStandardA8', 'VMSizeTypesStandardA8V2', 'VMSizeTypesStandardA8mV2', 'VMSizeTypesStandardA9', 'VMSizeTypesStandardB2ms', 'VMSizeTypesStandardB2s', 'VMSizeTypesStandardB4ms', 'VMSizeTypesStandardB8ms', 'VMSizeTypesStandardD1', 'VMSizeTypesStandardD11', 'VMSizeTypesStandardD11V2', 'VMSizeTypesStandardD11V2Promo', 'VMSizeTypesStandardD12', 'VMSizeTypesStandardD12V2', 'VMSizeTypesStandardD12V2Promo', 'VMSizeTypesStandardD13', 'VMSizeTypesStandardD13V2', 'VMSizeTypesStandardD13V2Promo', 'VMSizeTypesStandardD14', 'VMSizeTypesStandardD14V2', 'VMSizeTypesStandardD14V2Promo', 'VMSizeTypesStandardD15V2', 'VMSizeTypesStandardD16V3', 'VMSizeTypesStandardD16sV3', 'VMSizeTypesStandardD1V2', 'VMSizeTypesStandardD2', 'VMSizeTypesStandardD2V2', 'VMSizeTypesStandardD2V2Promo', 'VMSizeTypesStandardD2V3', 'VMSizeTypesStandardD2sV3', 'VMSizeTypesStandardD3', 'VMSizeTypesStandardD32V3', 'VMSizeTypesStandardD32sV3', 'VMSizeTypesStandardD3V2', 'VMSizeTypesStandardD3V2Promo', 'VMSizeTypesStandardD4', 'VMSizeTypesStandardD4V2', 'VMSizeTypesStandardD4V2Promo', 'VMSizeTypesStandardD4V3', 'VMSizeTypesStandardD4sV3', 'VMSizeTypesStandardD5V2', 'VMSizeTypesStandardD5V2Promo', 'VMSizeTypesStandardD64V3', 'VMSizeTypesStandardD64sV3', 'VMSizeTypesStandardD8V3', 'VMSizeTypesStandardD8sV3', 'VMSizeTypesStandardDS1', 'VMSizeTypesStandardDS11', 'VMSizeTypesStandardDS11V2', 'VMSizeTypesStandardDS11V2Promo', 'VMSizeTypesStandardDS12', 'VMSizeTypesStandardDS12V2', 'VMSizeTypesStandardDS12V2Promo', 'VMSizeTypesStandardDS13', 'VMSizeTypesStandardDS132V2', 'VMSizeTypesStandardDS134V2', 'VMSizeTypesStandardDS13V2', 'VMSizeTypesStandardDS13V2Promo', 'VMSizeTypesStandardDS14', 'VMSizeTypesStandardDS144V2', 'VMSizeTypesStandardDS148V2', 'VMSizeTypesStandardDS14V2', 'VMSizeTypesStandardDS14V2Promo', 'VMSizeTypesStandardDS15V2', 'VMSizeTypesStandardDS1V2', 'VMSizeTypesStandardDS2', 'VMSizeTypesStandardDS2V2', 'VMSizeTypesStandardDS2V2Promo', 'VMSizeTypesStandardDS3', 'VMSizeTypesStandardDS3V2', 'VMSizeTypesStandardDS3V2Promo', 'VMSizeTypesStandardDS4', 'VMSizeTypesStandardDS4V2', 'VMSizeTypesStandardDS4V2Promo', 'VMSizeTypesStandardDS5V2', 'VMSizeTypesStandardDS5V2Promo', 'VMSizeTypesStandardE16V3', 'VMSizeTypesStandardE16sV3', 'VMSizeTypesStandardE2V3', 'VMSizeTypesStandardE2sV3', 'VMSizeTypesStandardE3216sV3', 'VMSizeTypesStandardE328sV3', 'VMSizeTypesStandardE32V3', 'VMSizeTypesStandardE32sV3', 'VMSizeTypesStandardE4V3', 'VMSizeTypesStandardE4sV3', 'VMSizeTypesStandardE6416sV3', 'VMSizeTypesStandardE6432sV3', 'VMSizeTypesStandardE64V3', 'VMSizeTypesStandardE64sV3', 'VMSizeTypesStandardE8V3', 'VMSizeTypesStandardE8sV3', 'VMSizeTypesStandardF1', 'VMSizeTypesStandardF16', 'VMSizeTypesStandardF16s', 'VMSizeTypesStandardF16sV2', 'VMSizeTypesStandardF1s', 'VMSizeTypesStandardF2', 'VMSizeTypesStandardF2s', 'VMSizeTypesStandardF2sV2', 'VMSizeTypesStandardF32sV2', 'VMSizeTypesStandardF4', 'VMSizeTypesStandardF4s', 'VMSizeTypesStandardF4sV2', 'VMSizeTypesStandardF64sV2', 'VMSizeTypesStandardF72sV2', 'VMSizeTypesStandardF8', 'VMSizeTypesStandardF8s', 'VMSizeTypesStandardF8sV2', 'VMSizeTypesStandardG1', 'VMSizeTypesStandardG2', 'VMSizeTypesStandardG3', 'VMSizeTypesStandardG4', 'VMSizeTypesStandardG5', 'VMSizeTypesStandardGS1', 'VMSizeTypesStandardGS2', 'VMSizeTypesStandardGS3', 'VMSizeTypesStandardGS4', 'VMSizeTypesStandardGS44', 'VMSizeTypesStandardGS48', 'VMSizeTypesStandardGS5', 'VMSizeTypesStandardGS516', 'VMSizeTypesStandardGS58', 'VMSizeTypesStandardH16', 'VMSizeTypesStandardH16m', 'VMSizeTypesStandardH16mr', 'VMSizeTypesStandardH16r', 'VMSizeTypesStandardH8', 'VMSizeTypesStandardH8m', 'VMSizeTypesStandardL16s', 'VMSizeTypesStandardL32s', 'VMSizeTypesStandardL4s', 'VMSizeTypesStandardL8s', 'VMSizeTypesStandardM12832ms', 'VMSizeTypesStandardM12864ms', 'VMSizeTypesStandardM128ms', 'VMSizeTypesStandardM128s', 'VMSizeTypesStandardM6416ms', 'VMSizeTypesStandardM6432ms', 'VMSizeTypesStandardM64ms', 'VMSizeTypesStandardM64s', 'VMSizeTypesStandardNC12', 'VMSizeTypesStandardNC12sV2', 'VMSizeTypesStandardNC12sV3', 'VMSizeTypesStandardNC24', 'VMSizeTypesStandardNC24r', 'VMSizeTypesStandardNC24rsV2', 'VMSizeTypesStandardNC24rsV3', 'VMSizeTypesStandardNC24sV2', 'VMSizeTypesStandardNC24sV3', 'VMSizeTypesStandardNC6', 'VMSizeTypesStandardNC6sV2', 'VMSizeTypesStandardNC6sV3', 'VMSizeTypesStandardND12s', 'VMSizeTypesStandardND24rs', 'VMSizeTypesStandardND24s', 'VMSizeTypesStandardND6s', 'VMSizeTypesStandardNV12', 'VMSizeTypesStandardNV24', 'VMSizeTypesStandardNV6' + VMSize VMSizeTypes `json:"vmSize,omitempty"` + // OsDiskSizeGB - OS Disk Size in GB to be used to specify the disk size for every machine in this master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified. + OsDiskSizeGB *int32 `json:"osDiskSizeGB,omitempty"` + // VnetSubnetID - VNet SubnetID specifies the VNet's subnet identifier. + VnetSubnetID *string `json:"vnetSubnetID,omitempty"` + // MaxPods - Maximum number of pods that can run on a node. + MaxPods *int32 `json:"maxPods,omitempty"` + // OsType - OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux. Possible values include: 'Linux', 'Windows' + OsType OSType `json:"osType,omitempty"` + // MaxCount - Maximum number of nodes for auto-scaling + MaxCount *int32 `json:"maxCount,omitempty"` + // MinCount - Minimum number of nodes for auto-scaling + MinCount *int32 `json:"minCount,omitempty"` + // EnableAutoScaling - Whether to enable auto-scaler + EnableAutoScaling *bool `json:"enableAutoScaling,omitempty"` + // Type - AgentPoolType represents types of an agent pool. Possible values include: 'VirtualMachineScaleSets', 'AvailabilitySet' + Type AgentPoolType `json:"type,omitempty"` + // OrchestratorVersion - Version of orchestrator specified when creating the managed cluster. + OrchestratorVersion *string `json:"orchestratorVersion,omitempty"` + // ProvisioningState - READ-ONLY; The current deployment or provisioning state, which only appears in the response. + ProvisioningState *string `json:"provisioningState,omitempty"` + // AvailabilityZones - (PREVIEW) Availability zones for nodes. Must use VirtualMachineScaleSets AgentPoolType. + AvailabilityZones *[]string `json:"availabilityZones,omitempty"` + // EnableNodePublicIP - Enable public IP for nodes + EnableNodePublicIP *bool `json:"enableNodePublicIP,omitempty"` + // ScaleSetPriority - ScaleSetPriority to be used to specify virtual machine scale set priority. Default to regular. Possible values include: 'Low', 'Regular' + ScaleSetPriority ScaleSetPriority `json:"scaleSetPriority,omitempty"` + // ScaleSetEvictionPolicy - ScaleSetEvictionPolicy to be used to specify eviction policy for low priority virtual machine scale set. Default to Delete. Possible values include: 'Delete', 'Deallocate' + ScaleSetEvictionPolicy ScaleSetEvictionPolicy `json:"scaleSetEvictionPolicy,omitempty"` + // NodeTaints - Taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule. + NodeTaints *[]string `json:"nodeTaints,omitempty"` +} + +// ManagedClusterAgentPoolProfileProperties properties for the container service agent pool profile. +type ManagedClusterAgentPoolProfileProperties struct { + // Count - Number of agents (VMs) to host docker containers. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1. + Count *int32 `json:"count,omitempty"` + // VMSize - Size of agent VMs. Possible values include: 'VMSizeTypesStandardA1', 'VMSizeTypesStandardA10', 'VMSizeTypesStandardA11', 'VMSizeTypesStandardA1V2', 'VMSizeTypesStandardA2', 'VMSizeTypesStandardA2V2', 'VMSizeTypesStandardA2mV2', 'VMSizeTypesStandardA3', 'VMSizeTypesStandardA4', 'VMSizeTypesStandardA4V2', 'VMSizeTypesStandardA4mV2', 'VMSizeTypesStandardA5', 'VMSizeTypesStandardA6', 'VMSizeTypesStandardA7', 'VMSizeTypesStandardA8', 'VMSizeTypesStandardA8V2', 'VMSizeTypesStandardA8mV2', 'VMSizeTypesStandardA9', 'VMSizeTypesStandardB2ms', 'VMSizeTypesStandardB2s', 'VMSizeTypesStandardB4ms', 'VMSizeTypesStandardB8ms', 'VMSizeTypesStandardD1', 'VMSizeTypesStandardD11', 'VMSizeTypesStandardD11V2', 'VMSizeTypesStandardD11V2Promo', 'VMSizeTypesStandardD12', 'VMSizeTypesStandardD12V2', 'VMSizeTypesStandardD12V2Promo', 'VMSizeTypesStandardD13', 'VMSizeTypesStandardD13V2', 'VMSizeTypesStandardD13V2Promo', 'VMSizeTypesStandardD14', 'VMSizeTypesStandardD14V2', 'VMSizeTypesStandardD14V2Promo', 'VMSizeTypesStandardD15V2', 'VMSizeTypesStandardD16V3', 'VMSizeTypesStandardD16sV3', 'VMSizeTypesStandardD1V2', 'VMSizeTypesStandardD2', 'VMSizeTypesStandardD2V2', 'VMSizeTypesStandardD2V2Promo', 'VMSizeTypesStandardD2V3', 'VMSizeTypesStandardD2sV3', 'VMSizeTypesStandardD3', 'VMSizeTypesStandardD32V3', 'VMSizeTypesStandardD32sV3', 'VMSizeTypesStandardD3V2', 'VMSizeTypesStandardD3V2Promo', 'VMSizeTypesStandardD4', 'VMSizeTypesStandardD4V2', 'VMSizeTypesStandardD4V2Promo', 'VMSizeTypesStandardD4V3', 'VMSizeTypesStandardD4sV3', 'VMSizeTypesStandardD5V2', 'VMSizeTypesStandardD5V2Promo', 'VMSizeTypesStandardD64V3', 'VMSizeTypesStandardD64sV3', 'VMSizeTypesStandardD8V3', 'VMSizeTypesStandardD8sV3', 'VMSizeTypesStandardDS1', 'VMSizeTypesStandardDS11', 'VMSizeTypesStandardDS11V2', 'VMSizeTypesStandardDS11V2Promo', 'VMSizeTypesStandardDS12', 'VMSizeTypesStandardDS12V2', 'VMSizeTypesStandardDS12V2Promo', 'VMSizeTypesStandardDS13', 'VMSizeTypesStandardDS132V2', 'VMSizeTypesStandardDS134V2', 'VMSizeTypesStandardDS13V2', 'VMSizeTypesStandardDS13V2Promo', 'VMSizeTypesStandardDS14', 'VMSizeTypesStandardDS144V2', 'VMSizeTypesStandardDS148V2', 'VMSizeTypesStandardDS14V2', 'VMSizeTypesStandardDS14V2Promo', 'VMSizeTypesStandardDS15V2', 'VMSizeTypesStandardDS1V2', 'VMSizeTypesStandardDS2', 'VMSizeTypesStandardDS2V2', 'VMSizeTypesStandardDS2V2Promo', 'VMSizeTypesStandardDS3', 'VMSizeTypesStandardDS3V2', 'VMSizeTypesStandardDS3V2Promo', 'VMSizeTypesStandardDS4', 'VMSizeTypesStandardDS4V2', 'VMSizeTypesStandardDS4V2Promo', 'VMSizeTypesStandardDS5V2', 'VMSizeTypesStandardDS5V2Promo', 'VMSizeTypesStandardE16V3', 'VMSizeTypesStandardE16sV3', 'VMSizeTypesStandardE2V3', 'VMSizeTypesStandardE2sV3', 'VMSizeTypesStandardE3216sV3', 'VMSizeTypesStandardE328sV3', 'VMSizeTypesStandardE32V3', 'VMSizeTypesStandardE32sV3', 'VMSizeTypesStandardE4V3', 'VMSizeTypesStandardE4sV3', 'VMSizeTypesStandardE6416sV3', 'VMSizeTypesStandardE6432sV3', 'VMSizeTypesStandardE64V3', 'VMSizeTypesStandardE64sV3', 'VMSizeTypesStandardE8V3', 'VMSizeTypesStandardE8sV3', 'VMSizeTypesStandardF1', 'VMSizeTypesStandardF16', 'VMSizeTypesStandardF16s', 'VMSizeTypesStandardF16sV2', 'VMSizeTypesStandardF1s', 'VMSizeTypesStandardF2', 'VMSizeTypesStandardF2s', 'VMSizeTypesStandardF2sV2', 'VMSizeTypesStandardF32sV2', 'VMSizeTypesStandardF4', 'VMSizeTypesStandardF4s', 'VMSizeTypesStandardF4sV2', 'VMSizeTypesStandardF64sV2', 'VMSizeTypesStandardF72sV2', 'VMSizeTypesStandardF8', 'VMSizeTypesStandardF8s', 'VMSizeTypesStandardF8sV2', 'VMSizeTypesStandardG1', 'VMSizeTypesStandardG2', 'VMSizeTypesStandardG3', 'VMSizeTypesStandardG4', 'VMSizeTypesStandardG5', 'VMSizeTypesStandardGS1', 'VMSizeTypesStandardGS2', 'VMSizeTypesStandardGS3', 'VMSizeTypesStandardGS4', 'VMSizeTypesStandardGS44', 'VMSizeTypesStandardGS48', 'VMSizeTypesStandardGS5', 'VMSizeTypesStandardGS516', 'VMSizeTypesStandardGS58', 'VMSizeTypesStandardH16', 'VMSizeTypesStandardH16m', 'VMSizeTypesStandardH16mr', 'VMSizeTypesStandardH16r', 'VMSizeTypesStandardH8', 'VMSizeTypesStandardH8m', 'VMSizeTypesStandardL16s', 'VMSizeTypesStandardL32s', 'VMSizeTypesStandardL4s', 'VMSizeTypesStandardL8s', 'VMSizeTypesStandardM12832ms', 'VMSizeTypesStandardM12864ms', 'VMSizeTypesStandardM128ms', 'VMSizeTypesStandardM128s', 'VMSizeTypesStandardM6416ms', 'VMSizeTypesStandardM6432ms', 'VMSizeTypesStandardM64ms', 'VMSizeTypesStandardM64s', 'VMSizeTypesStandardNC12', 'VMSizeTypesStandardNC12sV2', 'VMSizeTypesStandardNC12sV3', 'VMSizeTypesStandardNC24', 'VMSizeTypesStandardNC24r', 'VMSizeTypesStandardNC24rsV2', 'VMSizeTypesStandardNC24rsV3', 'VMSizeTypesStandardNC24sV2', 'VMSizeTypesStandardNC24sV3', 'VMSizeTypesStandardNC6', 'VMSizeTypesStandardNC6sV2', 'VMSizeTypesStandardNC6sV3', 'VMSizeTypesStandardND12s', 'VMSizeTypesStandardND24rs', 'VMSizeTypesStandardND24s', 'VMSizeTypesStandardND6s', 'VMSizeTypesStandardNV12', 'VMSizeTypesStandardNV24', 'VMSizeTypesStandardNV6' + VMSize VMSizeTypes `json:"vmSize,omitempty"` + // OsDiskSizeGB - OS Disk Size in GB to be used to specify the disk size for every machine in this master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified. + OsDiskSizeGB *int32 `json:"osDiskSizeGB,omitempty"` + // VnetSubnetID - VNet SubnetID specifies the VNet's subnet identifier. + VnetSubnetID *string `json:"vnetSubnetID,omitempty"` + // MaxPods - Maximum number of pods that can run on a node. + MaxPods *int32 `json:"maxPods,omitempty"` + // OsType - OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux. Possible values include: 'Linux', 'Windows' + OsType OSType `json:"osType,omitempty"` + // MaxCount - Maximum number of nodes for auto-scaling + MaxCount *int32 `json:"maxCount,omitempty"` + // MinCount - Minimum number of nodes for auto-scaling + MinCount *int32 `json:"minCount,omitempty"` + // EnableAutoScaling - Whether to enable auto-scaler + EnableAutoScaling *bool `json:"enableAutoScaling,omitempty"` + // Type - AgentPoolType represents types of an agent pool. Possible values include: 'VirtualMachineScaleSets', 'AvailabilitySet' + Type AgentPoolType `json:"type,omitempty"` + // OrchestratorVersion - Version of orchestrator specified when creating the managed cluster. + OrchestratorVersion *string `json:"orchestratorVersion,omitempty"` + // ProvisioningState - READ-ONLY; The current deployment or provisioning state, which only appears in the response. + ProvisioningState *string `json:"provisioningState,omitempty"` + // AvailabilityZones - (PREVIEW) Availability zones for nodes. Must use VirtualMachineScaleSets AgentPoolType. + AvailabilityZones *[]string `json:"availabilityZones,omitempty"` + // EnableNodePublicIP - Enable public IP for nodes + EnableNodePublicIP *bool `json:"enableNodePublicIP,omitempty"` + // ScaleSetPriority - ScaleSetPriority to be used to specify virtual machine scale set priority. Default to regular. Possible values include: 'Low', 'Regular' + ScaleSetPriority ScaleSetPriority `json:"scaleSetPriority,omitempty"` + // ScaleSetEvictionPolicy - ScaleSetEvictionPolicy to be used to specify eviction policy for low priority virtual machine scale set. Default to Delete. Possible values include: 'Delete', 'Deallocate' + ScaleSetEvictionPolicy ScaleSetEvictionPolicy `json:"scaleSetEvictionPolicy,omitempty"` + // NodeTaints - Taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule. + NodeTaints *[]string `json:"nodeTaints,omitempty"` +} + +// ManagedClusterAPIServerAccessProfile access profile for managed cluster API server. +type ManagedClusterAPIServerAccessProfile struct { + // AuthorizedIPRanges - Authorized IP Ranges to kubernetes API server. + AuthorizedIPRanges *[]string `json:"authorizedIPRanges,omitempty"` + // EnablePrivateCluster - Whether to create the cluster as a private cluster or not. + EnablePrivateCluster *bool `json:"enablePrivateCluster,omitempty"` +} + +// ManagedClusterIdentity identity for the managed cluster. +type ManagedClusterIdentity struct { + // PrincipalID - READ-ONLY; The principal id of the system assigned identity which is used by master components. + PrincipalID *string `json:"principalId,omitempty"` + // TenantID - READ-ONLY; The tenant id of the system assigned identity which is used by master components. + TenantID *string `json:"tenantId,omitempty"` + // Type - The type of identity used for the managed cluster. Type 'SystemAssigned' will use an implicitly created identity in master components and an auto-created user assigned identity in MC_ resource group in agent nodes. Type 'None' will not use MSI for the managed cluster, service principal will be used instead. Possible values include: 'SystemAssigned', 'None' + Type ResourceIdentityType `json:"type,omitempty"` +} + +// ManagedClusterListResult the response from the List Managed Clusters operation. +type ManagedClusterListResult struct { + autorest.Response `json:"-"` + // Value - The list of managed clusters. + Value *[]ManagedCluster `json:"value,omitempty"` + // NextLink - READ-ONLY; The URL to get the next set of managed cluster results. + NextLink *string `json:"nextLink,omitempty"` +} + +// ManagedClusterListResultIterator provides access to a complete listing of ManagedCluster values. +type ManagedClusterListResultIterator struct { + i int + page ManagedClusterListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *ManagedClusterListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ManagedClusterListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *ManagedClusterListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter ManagedClusterListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter ManagedClusterListResultIterator) Response() ManagedClusterListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter ManagedClusterListResultIterator) Value() ManagedCluster { + if !iter.page.NotDone() { + return ManagedCluster{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the ManagedClusterListResultIterator type. +func NewManagedClusterListResultIterator(page ManagedClusterListResultPage) ManagedClusterListResultIterator { + return ManagedClusterListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (mclr ManagedClusterListResult) IsEmpty() bool { + return mclr.Value == nil || len(*mclr.Value) == 0 +} + +// managedClusterListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (mclr ManagedClusterListResult) managedClusterListResultPreparer(ctx context.Context) (*http.Request, error) { + if mclr.NextLink == nil || len(to.String(mclr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(mclr.NextLink))) +} + +// ManagedClusterListResultPage contains a page of ManagedCluster values. +type ManagedClusterListResultPage struct { + fn func(context.Context, ManagedClusterListResult) (ManagedClusterListResult, error) + mclr ManagedClusterListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *ManagedClusterListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ManagedClusterListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.mclr) + if err != nil { + return err + } + page.mclr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *ManagedClusterListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page ManagedClusterListResultPage) NotDone() bool { + return !page.mclr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page ManagedClusterListResultPage) Response() ManagedClusterListResult { + return page.mclr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page ManagedClusterListResultPage) Values() []ManagedCluster { + if page.mclr.IsEmpty() { + return nil + } + return *page.mclr.Value +} + +// Creates a new instance of the ManagedClusterListResultPage type. +func NewManagedClusterListResultPage(getNextPage func(context.Context, ManagedClusterListResult) (ManagedClusterListResult, error)) ManagedClusterListResultPage { + return ManagedClusterListResultPage{fn: getNextPage} +} + +// ManagedClusterLoadBalancerProfile profile of the managed cluster load balancer +type ManagedClusterLoadBalancerProfile struct { + // ManagedOutboundIPs - Desired managed outbound IPs for the cluster load balancer. + ManagedOutboundIPs *ManagedClusterLoadBalancerProfileManagedOutboundIPs `json:"managedOutboundIPs,omitempty"` + // OutboundIPPrefixes - Desired outbound IP Prefix resources for the cluster load balancer. + OutboundIPPrefixes *ManagedClusterLoadBalancerProfileOutboundIPPrefixes `json:"outboundIPPrefixes,omitempty"` + // OutboundIPs - Desired outbound IP resources for the cluster load balancer. + OutboundIPs *ManagedClusterLoadBalancerProfileOutboundIPs `json:"outboundIPs,omitempty"` + // EffectiveOutboundIPs - The effective outbound IP resources of the cluster load balancer. + EffectiveOutboundIPs *[]ResourceReference `json:"effectiveOutboundIPs,omitempty"` +} + +// ManagedClusterLoadBalancerProfileManagedOutboundIPs desired managed outbound IPs for the cluster load +// balancer. +type ManagedClusterLoadBalancerProfileManagedOutboundIPs struct { + // Count - Desired number of outbound IP created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1. + Count *int32 `json:"count,omitempty"` +} + +// ManagedClusterLoadBalancerProfileOutboundIPPrefixes desired outbound IP Prefix resources for the cluster +// load balancer. +type ManagedClusterLoadBalancerProfileOutboundIPPrefixes struct { + // PublicIPPrefixes - A list of public IP prefix resources. + PublicIPPrefixes *[]ResourceReference `json:"publicIPPrefixes,omitempty"` +} + +// ManagedClusterLoadBalancerProfileOutboundIPs desired outbound IP resources for the cluster load +// balancer. +type ManagedClusterLoadBalancerProfileOutboundIPs struct { + // PublicIPs - A list of public IP resources. + PublicIPs *[]ResourceReference `json:"publicIPs,omitempty"` +} + +// ManagedClusterPoolUpgradeProfile the list of available upgrade versions. +type ManagedClusterPoolUpgradeProfile struct { + // KubernetesVersion - Kubernetes version (major, minor, patch). + KubernetesVersion *string `json:"kubernetesVersion,omitempty"` + // Name - Pool name. + Name *string `json:"name,omitempty"` + // OsType - OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux. Possible values include: 'Linux', 'Windows' + OsType OSType `json:"osType,omitempty"` + // Upgrades - List of orchestrator types and versions available for upgrade. + Upgrades *[]ManagedClusterPoolUpgradeProfileUpgradesItem `json:"upgrades,omitempty"` +} + +// ManagedClusterPoolUpgradeProfileUpgradesItem ... +type ManagedClusterPoolUpgradeProfileUpgradesItem struct { + // KubernetesVersion - Kubernetes version (major, minor, patch). + KubernetesVersion *string `json:"kubernetesVersion,omitempty"` + // IsPreview - Whether Kubernetes version is currently in preview. + IsPreview *bool `json:"isPreview,omitempty"` +} + +// ManagedClusterProperties properties of the managed cluster. +type ManagedClusterProperties struct { + // ProvisioningState - READ-ONLY; The current deployment or provisioning state, which only appears in the response. + ProvisioningState *string `json:"provisioningState,omitempty"` + // MaxAgentPools - READ-ONLY; The max number of agent pools for the managed cluster. + MaxAgentPools *int32 `json:"maxAgentPools,omitempty"` + // KubernetesVersion - Version of Kubernetes specified when creating the managed cluster. + KubernetesVersion *string `json:"kubernetesVersion,omitempty"` + // DNSPrefix - DNS prefix specified when creating the managed cluster. + DNSPrefix *string `json:"dnsPrefix,omitempty"` + // Fqdn - READ-ONLY; FQDN for the master pool. + Fqdn *string `json:"fqdn,omitempty"` + // AgentPoolProfiles - Properties of the agent pool. + AgentPoolProfiles *[]ManagedClusterAgentPoolProfile `json:"agentPoolProfiles,omitempty"` + // LinuxProfile - Profile for Linux VMs in the container service cluster. + LinuxProfile *LinuxProfile `json:"linuxProfile,omitempty"` + // WindowsProfile - Profile for Windows VMs in the container service cluster. + WindowsProfile *ManagedClusterWindowsProfile `json:"windowsProfile,omitempty"` + // ServicePrincipalProfile - Information about a service principal identity for the cluster to use for manipulating Azure APIs. + ServicePrincipalProfile *ManagedClusterServicePrincipalProfile `json:"servicePrincipalProfile,omitempty"` + // AddonProfiles - Profile of managed cluster add-on. + AddonProfiles map[string]*ManagedClusterAddonProfile `json:"addonProfiles"` + // NodeResourceGroup - Name of the resource group containing agent pool nodes. + NodeResourceGroup *string `json:"nodeResourceGroup,omitempty"` + // EnableRBAC - Whether to enable Kubernetes Role-Based Access Control. + EnableRBAC *bool `json:"enableRBAC,omitempty"` + // EnablePodSecurityPolicy - (PREVIEW) Whether to enable Kubernetes Pod security policy. + EnablePodSecurityPolicy *bool `json:"enablePodSecurityPolicy,omitempty"` + // NetworkProfile - Profile of network configuration. + NetworkProfile *NetworkProfileType `json:"networkProfile,omitempty"` + // AadProfile - Profile of Azure Active Directory configuration. + AadProfile *ManagedClusterAADProfile `json:"aadProfile,omitempty"` + // APIServerAccessProfile - Access profile for managed cluster API server. + APIServerAccessProfile *ManagedClusterAPIServerAccessProfile `json:"apiServerAccessProfile,omitempty"` +} + +// MarshalJSON is the custom marshaler for ManagedClusterProperties. +func (mcp ManagedClusterProperties) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if mcp.KubernetesVersion != nil { + objectMap["kubernetesVersion"] = mcp.KubernetesVersion + } + if mcp.DNSPrefix != nil { + objectMap["dnsPrefix"] = mcp.DNSPrefix + } + if mcp.AgentPoolProfiles != nil { + objectMap["agentPoolProfiles"] = mcp.AgentPoolProfiles + } + if mcp.LinuxProfile != nil { + objectMap["linuxProfile"] = mcp.LinuxProfile + } + if mcp.WindowsProfile != nil { + objectMap["windowsProfile"] = mcp.WindowsProfile + } + if mcp.ServicePrincipalProfile != nil { + objectMap["servicePrincipalProfile"] = mcp.ServicePrincipalProfile + } + if mcp.AddonProfiles != nil { + objectMap["addonProfiles"] = mcp.AddonProfiles + } + if mcp.NodeResourceGroup != nil { + objectMap["nodeResourceGroup"] = mcp.NodeResourceGroup + } + if mcp.EnableRBAC != nil { + objectMap["enableRBAC"] = mcp.EnableRBAC + } + if mcp.EnablePodSecurityPolicy != nil { + objectMap["enablePodSecurityPolicy"] = mcp.EnablePodSecurityPolicy + } + if mcp.NetworkProfile != nil { + objectMap["networkProfile"] = mcp.NetworkProfile + } + if mcp.AadProfile != nil { + objectMap["aadProfile"] = mcp.AadProfile + } + if mcp.APIServerAccessProfile != nil { + objectMap["apiServerAccessProfile"] = mcp.APIServerAccessProfile + } + return json.Marshal(objectMap) +} + +// ManagedClustersCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type ManagedClustersCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ManagedClustersCreateOrUpdateFuture) Result(client ManagedClustersClient) (mc ManagedCluster, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "containerservice.ManagedClustersCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("containerservice.ManagedClustersCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if mc.Response.Response, err = future.GetResult(sender); err == nil && mc.Response.Response.StatusCode != http.StatusNoContent { + mc, err = client.CreateOrUpdateResponder(mc.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "containerservice.ManagedClustersCreateOrUpdateFuture", "Result", mc.Response.Response, "Failure responding to request") + } + } + return +} + +// ManagedClustersDeleteFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type ManagedClustersDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ManagedClustersDeleteFuture) Result(client ManagedClustersClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "containerservice.ManagedClustersDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("containerservice.ManagedClustersDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// ManagedClusterServicePrincipalProfile information about a service principal identity for the cluster to +// use for manipulating Azure APIs. +type ManagedClusterServicePrincipalProfile struct { + // ClientID - The ID for the service principal. + ClientID *string `json:"clientId,omitempty"` + // Secret - The secret password associated with the service principal in plain text. + Secret *string `json:"secret,omitempty"` +} + +// ManagedClustersResetAADProfileFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type ManagedClustersResetAADProfileFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ManagedClustersResetAADProfileFuture) Result(client ManagedClustersClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "containerservice.ManagedClustersResetAADProfileFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("containerservice.ManagedClustersResetAADProfileFuture") + return + } + ar.Response = future.Response() + return +} + +// ManagedClustersResetServicePrincipalProfileFuture an abstraction for monitoring and retrieving the +// results of a long-running operation. +type ManagedClustersResetServicePrincipalProfileFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ManagedClustersResetServicePrincipalProfileFuture) Result(client ManagedClustersClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "containerservice.ManagedClustersResetServicePrincipalProfileFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("containerservice.ManagedClustersResetServicePrincipalProfileFuture") + return + } + ar.Response = future.Response() + return +} + +// ManagedClustersUpdateTagsFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type ManagedClustersUpdateTagsFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ManagedClustersUpdateTagsFuture) Result(client ManagedClustersClient) (mc ManagedCluster, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "containerservice.ManagedClustersUpdateTagsFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("containerservice.ManagedClustersUpdateTagsFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if mc.Response.Response, err = future.GetResult(sender); err == nil && mc.Response.Response.StatusCode != http.StatusNoContent { + mc, err = client.UpdateTagsResponder(mc.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "containerservice.ManagedClustersUpdateTagsFuture", "Result", mc.Response.Response, "Failure responding to request") + } + } + return +} + +// ManagedClusterUpgradeProfile the list of available upgrades for compute pools. +type ManagedClusterUpgradeProfile struct { + autorest.Response `json:"-"` + // ID - READ-ONLY; Id of upgrade profile. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Name of upgrade profile. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Type of upgrade profile. + Type *string `json:"type,omitempty"` + // ManagedClusterUpgradeProfileProperties - Properties of upgrade profile. + *ManagedClusterUpgradeProfileProperties `json:"properties,omitempty"` +} + +// MarshalJSON is the custom marshaler for ManagedClusterUpgradeProfile. +func (mcup ManagedClusterUpgradeProfile) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if mcup.ManagedClusterUpgradeProfileProperties != nil { + objectMap["properties"] = mcup.ManagedClusterUpgradeProfileProperties + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ManagedClusterUpgradeProfile struct. +func (mcup *ManagedClusterUpgradeProfile) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + mcup.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + mcup.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + mcup.Type = &typeVar + } + case "properties": + if v != nil { + var managedClusterUpgradeProfileProperties ManagedClusterUpgradeProfileProperties + err = json.Unmarshal(*v, &managedClusterUpgradeProfileProperties) + if err != nil { + return err + } + mcup.ManagedClusterUpgradeProfileProperties = &managedClusterUpgradeProfileProperties + } + } + } + + return nil +} + +// ManagedClusterUpgradeProfileProperties control plane and agent pool upgrade profiles. +type ManagedClusterUpgradeProfileProperties struct { + // ControlPlaneProfile - The list of available upgrade versions for the control plane. + ControlPlaneProfile *ManagedClusterPoolUpgradeProfile `json:"controlPlaneProfile,omitempty"` + // AgentPoolProfiles - The list of available upgrade versions for agent pools. + AgentPoolProfiles *[]ManagedClusterPoolUpgradeProfile `json:"agentPoolProfiles,omitempty"` +} + +// ManagedClusterWindowsProfile profile for Windows VMs in the container service cluster. +type ManagedClusterWindowsProfile struct { + // AdminUsername - The administrator username to use for Windows VMs. + AdminUsername *string `json:"adminUsername,omitempty"` + // AdminPassword - The administrator password to use for Windows VMs. + AdminPassword *string `json:"adminPassword,omitempty"` +} + +// MasterProfile profile for the container service master. +type MasterProfile struct { + // Count - Number of masters (VMs) in the container service cluster. Allowed values are 1, 3, and 5. The default value is 1. + Count *int32 `json:"count,omitempty"` + // DNSPrefix - DNS prefix to be used to create the FQDN for the master pool. + DNSPrefix *string `json:"dnsPrefix,omitempty"` + // VMSize - Size of agent VMs. Possible values include: 'VMSizeTypesStandardA1', 'VMSizeTypesStandardA10', 'VMSizeTypesStandardA11', 'VMSizeTypesStandardA1V2', 'VMSizeTypesStandardA2', 'VMSizeTypesStandardA2V2', 'VMSizeTypesStandardA2mV2', 'VMSizeTypesStandardA3', 'VMSizeTypesStandardA4', 'VMSizeTypesStandardA4V2', 'VMSizeTypesStandardA4mV2', 'VMSizeTypesStandardA5', 'VMSizeTypesStandardA6', 'VMSizeTypesStandardA7', 'VMSizeTypesStandardA8', 'VMSizeTypesStandardA8V2', 'VMSizeTypesStandardA8mV2', 'VMSizeTypesStandardA9', 'VMSizeTypesStandardB2ms', 'VMSizeTypesStandardB2s', 'VMSizeTypesStandardB4ms', 'VMSizeTypesStandardB8ms', 'VMSizeTypesStandardD1', 'VMSizeTypesStandardD11', 'VMSizeTypesStandardD11V2', 'VMSizeTypesStandardD11V2Promo', 'VMSizeTypesStandardD12', 'VMSizeTypesStandardD12V2', 'VMSizeTypesStandardD12V2Promo', 'VMSizeTypesStandardD13', 'VMSizeTypesStandardD13V2', 'VMSizeTypesStandardD13V2Promo', 'VMSizeTypesStandardD14', 'VMSizeTypesStandardD14V2', 'VMSizeTypesStandardD14V2Promo', 'VMSizeTypesStandardD15V2', 'VMSizeTypesStandardD16V3', 'VMSizeTypesStandardD16sV3', 'VMSizeTypesStandardD1V2', 'VMSizeTypesStandardD2', 'VMSizeTypesStandardD2V2', 'VMSizeTypesStandardD2V2Promo', 'VMSizeTypesStandardD2V3', 'VMSizeTypesStandardD2sV3', 'VMSizeTypesStandardD3', 'VMSizeTypesStandardD32V3', 'VMSizeTypesStandardD32sV3', 'VMSizeTypesStandardD3V2', 'VMSizeTypesStandardD3V2Promo', 'VMSizeTypesStandardD4', 'VMSizeTypesStandardD4V2', 'VMSizeTypesStandardD4V2Promo', 'VMSizeTypesStandardD4V3', 'VMSizeTypesStandardD4sV3', 'VMSizeTypesStandardD5V2', 'VMSizeTypesStandardD5V2Promo', 'VMSizeTypesStandardD64V3', 'VMSizeTypesStandardD64sV3', 'VMSizeTypesStandardD8V3', 'VMSizeTypesStandardD8sV3', 'VMSizeTypesStandardDS1', 'VMSizeTypesStandardDS11', 'VMSizeTypesStandardDS11V2', 'VMSizeTypesStandardDS11V2Promo', 'VMSizeTypesStandardDS12', 'VMSizeTypesStandardDS12V2', 'VMSizeTypesStandardDS12V2Promo', 'VMSizeTypesStandardDS13', 'VMSizeTypesStandardDS132V2', 'VMSizeTypesStandardDS134V2', 'VMSizeTypesStandardDS13V2', 'VMSizeTypesStandardDS13V2Promo', 'VMSizeTypesStandardDS14', 'VMSizeTypesStandardDS144V2', 'VMSizeTypesStandardDS148V2', 'VMSizeTypesStandardDS14V2', 'VMSizeTypesStandardDS14V2Promo', 'VMSizeTypesStandardDS15V2', 'VMSizeTypesStandardDS1V2', 'VMSizeTypesStandardDS2', 'VMSizeTypesStandardDS2V2', 'VMSizeTypesStandardDS2V2Promo', 'VMSizeTypesStandardDS3', 'VMSizeTypesStandardDS3V2', 'VMSizeTypesStandardDS3V2Promo', 'VMSizeTypesStandardDS4', 'VMSizeTypesStandardDS4V2', 'VMSizeTypesStandardDS4V2Promo', 'VMSizeTypesStandardDS5V2', 'VMSizeTypesStandardDS5V2Promo', 'VMSizeTypesStandardE16V3', 'VMSizeTypesStandardE16sV3', 'VMSizeTypesStandardE2V3', 'VMSizeTypesStandardE2sV3', 'VMSizeTypesStandardE3216sV3', 'VMSizeTypesStandardE328sV3', 'VMSizeTypesStandardE32V3', 'VMSizeTypesStandardE32sV3', 'VMSizeTypesStandardE4V3', 'VMSizeTypesStandardE4sV3', 'VMSizeTypesStandardE6416sV3', 'VMSizeTypesStandardE6432sV3', 'VMSizeTypesStandardE64V3', 'VMSizeTypesStandardE64sV3', 'VMSizeTypesStandardE8V3', 'VMSizeTypesStandardE8sV3', 'VMSizeTypesStandardF1', 'VMSizeTypesStandardF16', 'VMSizeTypesStandardF16s', 'VMSizeTypesStandardF16sV2', 'VMSizeTypesStandardF1s', 'VMSizeTypesStandardF2', 'VMSizeTypesStandardF2s', 'VMSizeTypesStandardF2sV2', 'VMSizeTypesStandardF32sV2', 'VMSizeTypesStandardF4', 'VMSizeTypesStandardF4s', 'VMSizeTypesStandardF4sV2', 'VMSizeTypesStandardF64sV2', 'VMSizeTypesStandardF72sV2', 'VMSizeTypesStandardF8', 'VMSizeTypesStandardF8s', 'VMSizeTypesStandardF8sV2', 'VMSizeTypesStandardG1', 'VMSizeTypesStandardG2', 'VMSizeTypesStandardG3', 'VMSizeTypesStandardG4', 'VMSizeTypesStandardG5', 'VMSizeTypesStandardGS1', 'VMSizeTypesStandardGS2', 'VMSizeTypesStandardGS3', 'VMSizeTypesStandardGS4', 'VMSizeTypesStandardGS44', 'VMSizeTypesStandardGS48', 'VMSizeTypesStandardGS5', 'VMSizeTypesStandardGS516', 'VMSizeTypesStandardGS58', 'VMSizeTypesStandardH16', 'VMSizeTypesStandardH16m', 'VMSizeTypesStandardH16mr', 'VMSizeTypesStandardH16r', 'VMSizeTypesStandardH8', 'VMSizeTypesStandardH8m', 'VMSizeTypesStandardL16s', 'VMSizeTypesStandardL32s', 'VMSizeTypesStandardL4s', 'VMSizeTypesStandardL8s', 'VMSizeTypesStandardM12832ms', 'VMSizeTypesStandardM12864ms', 'VMSizeTypesStandardM128ms', 'VMSizeTypesStandardM128s', 'VMSizeTypesStandardM6416ms', 'VMSizeTypesStandardM6432ms', 'VMSizeTypesStandardM64ms', 'VMSizeTypesStandardM64s', 'VMSizeTypesStandardNC12', 'VMSizeTypesStandardNC12sV2', 'VMSizeTypesStandardNC12sV3', 'VMSizeTypesStandardNC24', 'VMSizeTypesStandardNC24r', 'VMSizeTypesStandardNC24rsV2', 'VMSizeTypesStandardNC24rsV3', 'VMSizeTypesStandardNC24sV2', 'VMSizeTypesStandardNC24sV3', 'VMSizeTypesStandardNC6', 'VMSizeTypesStandardNC6sV2', 'VMSizeTypesStandardNC6sV3', 'VMSizeTypesStandardND12s', 'VMSizeTypesStandardND24rs', 'VMSizeTypesStandardND24s', 'VMSizeTypesStandardND6s', 'VMSizeTypesStandardNV12', 'VMSizeTypesStandardNV24', 'VMSizeTypesStandardNV6' + VMSize VMSizeTypes `json:"vmSize,omitempty"` + // OsDiskSizeGB - OS Disk Size in GB to be used to specify the disk size for every machine in this master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified. + OsDiskSizeGB *int32 `json:"osDiskSizeGB,omitempty"` + // VnetSubnetID - VNet SubnetID specifies the VNet's subnet identifier. + VnetSubnetID *string `json:"vnetSubnetID,omitempty"` + // FirstConsecutiveStaticIP - FirstConsecutiveStaticIP used to specify the first static ip of masters. + FirstConsecutiveStaticIP *string `json:"firstConsecutiveStaticIP,omitempty"` + // StorageProfile - Storage profile specifies what kind of storage used. Choose from StorageAccount and ManagedDisks. Leave it empty, we will choose for you based on the orchestrator choice. Possible values include: 'StorageAccount', 'ManagedDisks' + StorageProfile StorageProfileTypes `json:"storageProfile,omitempty"` + // Fqdn - READ-ONLY; FQDN for the master pool. + Fqdn *string `json:"fqdn,omitempty"` +} + +// NetworkProfile represents the OpenShift networking configuration +type NetworkProfile struct { + // VnetCidr - CIDR for the OpenShift Vnet. + VnetCidr *string `json:"vnetCidr,omitempty"` + // PeerVnetID - CIDR of the Vnet to peer. + PeerVnetID *string `json:"peerVnetId,omitempty"` + // VnetID - ID of the Vnet created for OSA cluster. + VnetID *string `json:"vnetId,omitempty"` +} + +// NetworkProfileType profile of network configuration. +type NetworkProfileType struct { + // NetworkPlugin - Network plugin used for building Kubernetes network. Possible values include: 'Azure', 'Kubenet' + NetworkPlugin NetworkPlugin `json:"networkPlugin,omitempty"` + // NetworkPolicy - Network policy used for building Kubernetes network. Possible values include: 'NetworkPolicyCalico', 'NetworkPolicyAzure' + NetworkPolicy NetworkPolicy `json:"networkPolicy,omitempty"` + // PodCidr - A CIDR notation IP range from which to assign pod IPs when kubenet is used. + PodCidr *string `json:"podCidr,omitempty"` + // ServiceCidr - A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP ranges. + ServiceCidr *string `json:"serviceCidr,omitempty"` + // DNSServiceIP - An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in serviceCidr. + DNSServiceIP *string `json:"dnsServiceIP,omitempty"` + // DockerBridgeCidr - A CIDR notation IP range assigned to the Docker bridge network. It must not overlap with any Subnet IP ranges or the Kubernetes service address range. + DockerBridgeCidr *string `json:"dockerBridgeCidr,omitempty"` + // LoadBalancerSku - The load balancer sku for the managed cluster. Possible values include: 'Standard', 'Basic' + LoadBalancerSku LoadBalancerSku `json:"loadBalancerSku,omitempty"` + // LoadBalancerProfile - Profile of the cluster load balancer. + LoadBalancerProfile *ManagedClusterLoadBalancerProfile `json:"loadBalancerProfile,omitempty"` +} + +// OpenShiftManagedCluster openShift Managed cluster. +type OpenShiftManagedCluster struct { + autorest.Response `json:"-"` + // Plan - Define the resource plan as required by ARM for billing purposes + Plan *PurchasePlan `json:"plan,omitempty"` + // OpenShiftManagedClusterProperties - Properties of a OpenShift managed cluster. + *OpenShiftManagedClusterProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource Id + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type + Type *string `json:"type,omitempty"` + // Location - Resource location + Location *string `json:"location,omitempty"` + // Tags - Resource tags + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for OpenShiftManagedCluster. +func (osmc OpenShiftManagedCluster) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if osmc.Plan != nil { + objectMap["plan"] = osmc.Plan + } + if osmc.OpenShiftManagedClusterProperties != nil { + objectMap["properties"] = osmc.OpenShiftManagedClusterProperties + } + if osmc.Location != nil { + objectMap["location"] = osmc.Location + } + if osmc.Tags != nil { + objectMap["tags"] = osmc.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for OpenShiftManagedCluster struct. +func (osmc *OpenShiftManagedCluster) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "plan": + if v != nil { + var plan PurchasePlan + err = json.Unmarshal(*v, &plan) + if err != nil { + return err + } + osmc.Plan = &plan + } + case "properties": + if v != nil { + var openShiftManagedClusterProperties OpenShiftManagedClusterProperties + err = json.Unmarshal(*v, &openShiftManagedClusterProperties) + if err != nil { + return err + } + osmc.OpenShiftManagedClusterProperties = &openShiftManagedClusterProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + osmc.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + osmc.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + osmc.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + osmc.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + osmc.Tags = tags + } + } + } + + return nil +} + +// OpenShiftManagedClusterAADIdentityProvider defines the Identity provider for MS AAD. +type OpenShiftManagedClusterAADIdentityProvider struct { + // ClientID - The clientId password associated with the provider. + ClientID *string `json:"clientId,omitempty"` + // Secret - The secret password associated with the provider. + Secret *string `json:"secret,omitempty"` + // TenantID - The tenantId associated with the provider. + TenantID *string `json:"tenantId,omitempty"` + // CustomerAdminGroupID - The groupId to be granted cluster admin role. + CustomerAdminGroupID *string `json:"customerAdminGroupId,omitempty"` + // Kind - Possible values include: 'KindOpenShiftManagedClusterBaseIdentityProvider', 'KindAADIdentityProvider' + Kind Kind `json:"kind,omitempty"` +} + +// MarshalJSON is the custom marshaler for OpenShiftManagedClusterAADIdentityProvider. +func (osmcaip OpenShiftManagedClusterAADIdentityProvider) MarshalJSON() ([]byte, error) { + osmcaip.Kind = KindAADIdentityProvider + objectMap := make(map[string]interface{}) + if osmcaip.ClientID != nil { + objectMap["clientId"] = osmcaip.ClientID + } + if osmcaip.Secret != nil { + objectMap["secret"] = osmcaip.Secret + } + if osmcaip.TenantID != nil { + objectMap["tenantId"] = osmcaip.TenantID + } + if osmcaip.CustomerAdminGroupID != nil { + objectMap["customerAdminGroupId"] = osmcaip.CustomerAdminGroupID + } + if osmcaip.Kind != "" { + objectMap["kind"] = osmcaip.Kind + } + return json.Marshal(objectMap) +} + +// AsOpenShiftManagedClusterAADIdentityProvider is the BasicOpenShiftManagedClusterBaseIdentityProvider implementation for OpenShiftManagedClusterAADIdentityProvider. +func (osmcaip OpenShiftManagedClusterAADIdentityProvider) AsOpenShiftManagedClusterAADIdentityProvider() (*OpenShiftManagedClusterAADIdentityProvider, bool) { + return &osmcaip, true +} + +// AsOpenShiftManagedClusterBaseIdentityProvider is the BasicOpenShiftManagedClusterBaseIdentityProvider implementation for OpenShiftManagedClusterAADIdentityProvider. +func (osmcaip OpenShiftManagedClusterAADIdentityProvider) AsOpenShiftManagedClusterBaseIdentityProvider() (*OpenShiftManagedClusterBaseIdentityProvider, bool) { + return nil, false +} + +// AsBasicOpenShiftManagedClusterBaseIdentityProvider is the BasicOpenShiftManagedClusterBaseIdentityProvider implementation for OpenShiftManagedClusterAADIdentityProvider. +func (osmcaip OpenShiftManagedClusterAADIdentityProvider) AsBasicOpenShiftManagedClusterBaseIdentityProvider() (BasicOpenShiftManagedClusterBaseIdentityProvider, bool) { + return &osmcaip, true +} + +// OpenShiftManagedClusterAgentPoolProfile defines the configuration of the OpenShift cluster VMs. +type OpenShiftManagedClusterAgentPoolProfile struct { + // Name - Unique name of the pool profile in the context of the subscription and resource group. + Name *string `json:"name,omitempty"` + // Count - Number of agents (VMs) to host docker containers. + Count *int32 `json:"count,omitempty"` + // VMSize - Size of agent VMs. Possible values include: 'StandardD2sV3', 'StandardD4sV3', 'StandardD8sV3', 'StandardD16sV3', 'StandardD32sV3', 'StandardD64sV3', 'StandardDS4V2', 'StandardDS5V2', 'StandardF8sV2', 'StandardF16sV2', 'StandardF32sV2', 'StandardF64sV2', 'StandardF72sV2', 'StandardF8s', 'StandardF16s', 'StandardE4sV3', 'StandardE8sV3', 'StandardE16sV3', 'StandardE20sV3', 'StandardE32sV3', 'StandardE64sV3', 'StandardGS2', 'StandardGS3', 'StandardGS4', 'StandardGS5', 'StandardDS12V2', 'StandardDS13V2', 'StandardDS14V2', 'StandardDS15V2', 'StandardL4s', 'StandardL8s', 'StandardL16s', 'StandardL32s' + VMSize OpenShiftContainerServiceVMSize `json:"vmSize,omitempty"` + // SubnetCidr - Subnet CIDR for the peering. + SubnetCidr *string `json:"subnetCidr,omitempty"` + // OsType - OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux. Possible values include: 'Linux', 'Windows' + OsType OSType `json:"osType,omitempty"` + // Role - Define the role of the AgentPoolProfile. Possible values include: 'Compute', 'Infra' + Role OpenShiftAgentPoolProfileRole `json:"role,omitempty"` +} + +// OpenShiftManagedClusterAuthProfile defines all possible authentication profiles for the OpenShift +// cluster. +type OpenShiftManagedClusterAuthProfile struct { + // IdentityProviders - Type of authentication profile to use. + IdentityProviders *[]OpenShiftManagedClusterIdentityProvider `json:"identityProviders,omitempty"` +} + +// BasicOpenShiftManagedClusterBaseIdentityProvider structure for any Identity provider. +type BasicOpenShiftManagedClusterBaseIdentityProvider interface { + AsOpenShiftManagedClusterAADIdentityProvider() (*OpenShiftManagedClusterAADIdentityProvider, bool) + AsOpenShiftManagedClusterBaseIdentityProvider() (*OpenShiftManagedClusterBaseIdentityProvider, bool) +} + +// OpenShiftManagedClusterBaseIdentityProvider structure for any Identity provider. +type OpenShiftManagedClusterBaseIdentityProvider struct { + // Kind - Possible values include: 'KindOpenShiftManagedClusterBaseIdentityProvider', 'KindAADIdentityProvider' + Kind Kind `json:"kind,omitempty"` +} + +func unmarshalBasicOpenShiftManagedClusterBaseIdentityProvider(body []byte) (BasicOpenShiftManagedClusterBaseIdentityProvider, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["kind"] { + case string(KindAADIdentityProvider): + var osmcaip OpenShiftManagedClusterAADIdentityProvider + err := json.Unmarshal(body, &osmcaip) + return osmcaip, err + default: + var osmcbip OpenShiftManagedClusterBaseIdentityProvider + err := json.Unmarshal(body, &osmcbip) + return osmcbip, err + } +} +func unmarshalBasicOpenShiftManagedClusterBaseIdentityProviderArray(body []byte) ([]BasicOpenShiftManagedClusterBaseIdentityProvider, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + osmcbipArray := make([]BasicOpenShiftManagedClusterBaseIdentityProvider, len(rawMessages)) + + for index, rawMessage := range rawMessages { + osmcbip, err := unmarshalBasicOpenShiftManagedClusterBaseIdentityProvider(*rawMessage) + if err != nil { + return nil, err + } + osmcbipArray[index] = osmcbip + } + return osmcbipArray, nil +} + +// MarshalJSON is the custom marshaler for OpenShiftManagedClusterBaseIdentityProvider. +func (osmcbip OpenShiftManagedClusterBaseIdentityProvider) MarshalJSON() ([]byte, error) { + osmcbip.Kind = KindOpenShiftManagedClusterBaseIdentityProvider + objectMap := make(map[string]interface{}) + if osmcbip.Kind != "" { + objectMap["kind"] = osmcbip.Kind + } + return json.Marshal(objectMap) +} + +// AsOpenShiftManagedClusterAADIdentityProvider is the BasicOpenShiftManagedClusterBaseIdentityProvider implementation for OpenShiftManagedClusterBaseIdentityProvider. +func (osmcbip OpenShiftManagedClusterBaseIdentityProvider) AsOpenShiftManagedClusterAADIdentityProvider() (*OpenShiftManagedClusterAADIdentityProvider, bool) { + return nil, false +} + +// AsOpenShiftManagedClusterBaseIdentityProvider is the BasicOpenShiftManagedClusterBaseIdentityProvider implementation for OpenShiftManagedClusterBaseIdentityProvider. +func (osmcbip OpenShiftManagedClusterBaseIdentityProvider) AsOpenShiftManagedClusterBaseIdentityProvider() (*OpenShiftManagedClusterBaseIdentityProvider, bool) { + return &osmcbip, true +} + +// AsBasicOpenShiftManagedClusterBaseIdentityProvider is the BasicOpenShiftManagedClusterBaseIdentityProvider implementation for OpenShiftManagedClusterBaseIdentityProvider. +func (osmcbip OpenShiftManagedClusterBaseIdentityProvider) AsBasicOpenShiftManagedClusterBaseIdentityProvider() (BasicOpenShiftManagedClusterBaseIdentityProvider, bool) { + return &osmcbip, true +} + +// OpenShiftManagedClusterIdentityProvider defines the configuration of the identity providers to be used +// in the OpenShift cluster. +type OpenShiftManagedClusterIdentityProvider struct { + // Name - Name of the provider. + Name *string `json:"name,omitempty"` + // Provider - Configuration of the provider. + Provider BasicOpenShiftManagedClusterBaseIdentityProvider `json:"provider,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for OpenShiftManagedClusterIdentityProvider struct. +func (osmcip *OpenShiftManagedClusterIdentityProvider) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + osmcip.Name = &name + } + case "provider": + if v != nil { + provider, err := unmarshalBasicOpenShiftManagedClusterBaseIdentityProvider(*v) + if err != nil { + return err + } + osmcip.Provider = provider + } + } + } + + return nil +} + +// OpenShiftManagedClusterListResult the response from the List OpenShift Managed Clusters operation. +type OpenShiftManagedClusterListResult struct { + autorest.Response `json:"-"` + // Value - The list of OpenShift managed clusters. + Value *[]OpenShiftManagedCluster `json:"value,omitempty"` + // NextLink - READ-ONLY; The URL to get the next set of OpenShift managed cluster results. + NextLink *string `json:"nextLink,omitempty"` +} + +// OpenShiftManagedClusterListResultIterator provides access to a complete listing of +// OpenShiftManagedCluster values. +type OpenShiftManagedClusterListResultIterator struct { + i int + page OpenShiftManagedClusterListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *OpenShiftManagedClusterListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/OpenShiftManagedClusterListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *OpenShiftManagedClusterListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter OpenShiftManagedClusterListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter OpenShiftManagedClusterListResultIterator) Response() OpenShiftManagedClusterListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter OpenShiftManagedClusterListResultIterator) Value() OpenShiftManagedCluster { + if !iter.page.NotDone() { + return OpenShiftManagedCluster{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the OpenShiftManagedClusterListResultIterator type. +func NewOpenShiftManagedClusterListResultIterator(page OpenShiftManagedClusterListResultPage) OpenShiftManagedClusterListResultIterator { + return OpenShiftManagedClusterListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (osmclr OpenShiftManagedClusterListResult) IsEmpty() bool { + return osmclr.Value == nil || len(*osmclr.Value) == 0 +} + +// openShiftManagedClusterListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (osmclr OpenShiftManagedClusterListResult) openShiftManagedClusterListResultPreparer(ctx context.Context) (*http.Request, error) { + if osmclr.NextLink == nil || len(to.String(osmclr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(osmclr.NextLink))) +} + +// OpenShiftManagedClusterListResultPage contains a page of OpenShiftManagedCluster values. +type OpenShiftManagedClusterListResultPage struct { + fn func(context.Context, OpenShiftManagedClusterListResult) (OpenShiftManagedClusterListResult, error) + osmclr OpenShiftManagedClusterListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *OpenShiftManagedClusterListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/OpenShiftManagedClusterListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.osmclr) + if err != nil { + return err + } + page.osmclr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *OpenShiftManagedClusterListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page OpenShiftManagedClusterListResultPage) NotDone() bool { + return !page.osmclr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page OpenShiftManagedClusterListResultPage) Response() OpenShiftManagedClusterListResult { + return page.osmclr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page OpenShiftManagedClusterListResultPage) Values() []OpenShiftManagedCluster { + if page.osmclr.IsEmpty() { + return nil + } + return *page.osmclr.Value +} + +// Creates a new instance of the OpenShiftManagedClusterListResultPage type. +func NewOpenShiftManagedClusterListResultPage(getNextPage func(context.Context, OpenShiftManagedClusterListResult) (OpenShiftManagedClusterListResult, error)) OpenShiftManagedClusterListResultPage { + return OpenShiftManagedClusterListResultPage{fn: getNextPage} +} + +// OpenShiftManagedClusterMasterPoolProfile openShiftManagedClusterMaterPoolProfile contains configuration +// for OpenShift master VMs. +type OpenShiftManagedClusterMasterPoolProfile struct { + // Name - Unique name of the master pool profile in the context of the subscription and resource group. + Name *string `json:"name,omitempty"` + // Count - Number of masters (VMs) to host docker containers. The default value is 3. + Count *int32 `json:"count,omitempty"` + // VMSize - Size of agent VMs. Possible values include: 'StandardD2sV3', 'StandardD4sV3', 'StandardD8sV3', 'StandardD16sV3', 'StandardD32sV3', 'StandardD64sV3', 'StandardDS4V2', 'StandardDS5V2', 'StandardF8sV2', 'StandardF16sV2', 'StandardF32sV2', 'StandardF64sV2', 'StandardF72sV2', 'StandardF8s', 'StandardF16s', 'StandardE4sV3', 'StandardE8sV3', 'StandardE16sV3', 'StandardE20sV3', 'StandardE32sV3', 'StandardE64sV3', 'StandardGS2', 'StandardGS3', 'StandardGS4', 'StandardGS5', 'StandardDS12V2', 'StandardDS13V2', 'StandardDS14V2', 'StandardDS15V2', 'StandardL4s', 'StandardL8s', 'StandardL16s', 'StandardL32s' + VMSize OpenShiftContainerServiceVMSize `json:"vmSize,omitempty"` + // SubnetCidr - Subnet CIDR for the peering. + SubnetCidr *string `json:"subnetCidr,omitempty"` + // OsType - OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux. Possible values include: 'Linux', 'Windows' + OsType OSType `json:"osType,omitempty"` +} + +// OpenShiftManagedClusterMonitorProfile defines the configuration for Log Analytics integration. +type OpenShiftManagedClusterMonitorProfile struct { + // WorkspaceResourceID - Azure Resource Manager Resource ID for the Log Analytics workspace to integrate with. + WorkspaceResourceID *string `json:"workspaceResourceID,omitempty"` + // Enabled - If the Log analytics integration should be turned on or off + Enabled *bool `json:"enabled,omitempty"` +} + +// OpenShiftManagedClusterProperties properties of the OpenShift managed cluster. +type OpenShiftManagedClusterProperties struct { + // ProvisioningState - READ-ONLY; The current deployment or provisioning state, which only appears in the response. + ProvisioningState *string `json:"provisioningState,omitempty"` + // OpenShiftVersion - Version of OpenShift specified when creating the cluster. + OpenShiftVersion *string `json:"openShiftVersion,omitempty"` + // ClusterVersion - READ-ONLY; Version of OpenShift specified when creating the cluster. + ClusterVersion *string `json:"clusterVersion,omitempty"` + // PublicHostname - READ-ONLY; Service generated FQDN for OpenShift API server. + PublicHostname *string `json:"publicHostname,omitempty"` + // Fqdn - READ-ONLY; Service generated FQDN for OpenShift API server loadbalancer internal hostname. + Fqdn *string `json:"fqdn,omitempty"` + // NetworkProfile - Configuration for OpenShift networking. + NetworkProfile *NetworkProfile `json:"networkProfile,omitempty"` + // RouterProfiles - Configuration for OpenShift router(s). + RouterProfiles *[]OpenShiftRouterProfile `json:"routerProfiles,omitempty"` + // MasterPoolProfile - Configuration for OpenShift master VMs. + MasterPoolProfile *OpenShiftManagedClusterMasterPoolProfile `json:"masterPoolProfile,omitempty"` + // AgentPoolProfiles - Configuration of OpenShift cluster VMs. + AgentPoolProfiles *[]OpenShiftManagedClusterAgentPoolProfile `json:"agentPoolProfiles,omitempty"` + // AuthProfile - Configures OpenShift authentication. + AuthProfile *OpenShiftManagedClusterAuthProfile `json:"authProfile,omitempty"` + // MonitorProfile - Configures Log Analytics integration. + MonitorProfile *OpenShiftManagedClusterMonitorProfile `json:"monitorProfile,omitempty"` +} + +// OpenShiftManagedClustersCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of +// a long-running operation. +type OpenShiftManagedClustersCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *OpenShiftManagedClustersCreateOrUpdateFuture) Result(client OpenShiftManagedClustersClient) (osmc OpenShiftManagedCluster, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "containerservice.OpenShiftManagedClustersCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("containerservice.OpenShiftManagedClustersCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if osmc.Response.Response, err = future.GetResult(sender); err == nil && osmc.Response.Response.StatusCode != http.StatusNoContent { + osmc, err = client.CreateOrUpdateResponder(osmc.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "containerservice.OpenShiftManagedClustersCreateOrUpdateFuture", "Result", osmc.Response.Response, "Failure responding to request") + } + } + return +} + +// OpenShiftManagedClustersDeleteFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type OpenShiftManagedClustersDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *OpenShiftManagedClustersDeleteFuture) Result(client OpenShiftManagedClustersClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "containerservice.OpenShiftManagedClustersDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("containerservice.OpenShiftManagedClustersDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// OpenShiftManagedClustersUpdateTagsFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type OpenShiftManagedClustersUpdateTagsFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *OpenShiftManagedClustersUpdateTagsFuture) Result(client OpenShiftManagedClustersClient) (osmc OpenShiftManagedCluster, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "containerservice.OpenShiftManagedClustersUpdateTagsFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("containerservice.OpenShiftManagedClustersUpdateTagsFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if osmc.Response.Response, err = future.GetResult(sender); err == nil && osmc.Response.Response.StatusCode != http.StatusNoContent { + osmc, err = client.UpdateTagsResponder(osmc.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "containerservice.OpenShiftManagedClustersUpdateTagsFuture", "Result", osmc.Response.Response, "Failure responding to request") + } + } + return +} + +// OpenShiftRouterProfile represents an OpenShift router +type OpenShiftRouterProfile struct { + // Name - Name of the router profile. + Name *string `json:"name,omitempty"` + // PublicSubdomain - READ-ONLY; DNS subdomain for OpenShift router. + PublicSubdomain *string `json:"publicSubdomain,omitempty"` + // Fqdn - READ-ONLY; Auto-allocated FQDN for the OpenShift router. + Fqdn *string `json:"fqdn,omitempty"` +} + +// OperationListResult the List Compute Operation operation response. +type OperationListResult struct { + autorest.Response `json:"-"` + // Value - READ-ONLY; The list of compute operations + Value *[]OperationValue `json:"value,omitempty"` +} + +// OperationValue describes the properties of a Compute Operation value. +type OperationValue struct { + // Origin - READ-ONLY; The origin of the compute operation. + Origin *string `json:"origin,omitempty"` + // Name - READ-ONLY; The name of the compute operation. + Name *string `json:"name,omitempty"` + // OperationValueDisplay - Describes the properties of a Compute Operation Value Display. + *OperationValueDisplay `json:"display,omitempty"` +} + +// MarshalJSON is the custom marshaler for OperationValue. +func (ov OperationValue) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if ov.OperationValueDisplay != nil { + objectMap["display"] = ov.OperationValueDisplay + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for OperationValue struct. +func (ov *OperationValue) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "origin": + if v != nil { + var origin string + err = json.Unmarshal(*v, &origin) + if err != nil { + return err + } + ov.Origin = &origin + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + ov.Name = &name + } + case "display": + if v != nil { + var operationValueDisplay OperationValueDisplay + err = json.Unmarshal(*v, &operationValueDisplay) + if err != nil { + return err + } + ov.OperationValueDisplay = &operationValueDisplay + } + } + } + + return nil +} + +// OperationValueDisplay describes the properties of a Compute Operation Value Display. +type OperationValueDisplay struct { + // Operation - READ-ONLY; The display name of the compute operation. + Operation *string `json:"operation,omitempty"` + // Resource - READ-ONLY; The display name of the resource the operation applies to. + Resource *string `json:"resource,omitempty"` + // Description - READ-ONLY; The description of the operation. + Description *string `json:"description,omitempty"` + // Provider - READ-ONLY; The resource provider for the operation. + Provider *string `json:"provider,omitempty"` +} + +// OrchestratorProfile contains information about orchestrator. +type OrchestratorProfile struct { + // OrchestratorType - Orchestrator type. + OrchestratorType *string `json:"orchestratorType,omitempty"` + // OrchestratorVersion - Orchestrator version (major, minor, patch). + OrchestratorVersion *string `json:"orchestratorVersion,omitempty"` + // IsPreview - Whether Kubernetes version is currently in preview. + IsPreview *bool `json:"isPreview,omitempty"` +} + +// OrchestratorProfileType profile for the container service orchestrator. +type OrchestratorProfileType struct { + // OrchestratorType - The orchestrator to use to manage container service cluster resources. Valid values are Kubernetes, Swarm, DCOS, DockerCE and Custom. Possible values include: 'Kubernetes', 'Swarm', 'DCOS', 'DockerCE', 'Custom' + OrchestratorType OrchestratorTypes `json:"orchestratorType,omitempty"` + // OrchestratorVersion - The version of the orchestrator to use. You can specify the major.minor.patch part of the actual version.For example, you can specify version as "1.6.11". + OrchestratorVersion *string `json:"orchestratorVersion,omitempty"` +} + +// OrchestratorVersionProfile the profile of an orchestrator and its available versions. +type OrchestratorVersionProfile struct { + // OrchestratorType - Orchestrator type. + OrchestratorType *string `json:"orchestratorType,omitempty"` + // OrchestratorVersion - Orchestrator version (major, minor, patch). + OrchestratorVersion *string `json:"orchestratorVersion,omitempty"` + // Default - Installed by default if version is not specified. + Default *bool `json:"default,omitempty"` + // IsPreview - Whether Kubernetes version is currently in preview. + IsPreview *bool `json:"isPreview,omitempty"` + // Upgrades - The list of available upgrade versions. + Upgrades *[]OrchestratorProfile `json:"upgrades,omitempty"` +} + +// OrchestratorVersionProfileListResult the list of versions for supported orchestrators. +type OrchestratorVersionProfileListResult struct { + autorest.Response `json:"-"` + // ID - READ-ONLY; Id of the orchestrator version profile list result. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Name of the orchestrator version profile list result. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Type of the orchestrator version profile list result. + Type *string `json:"type,omitempty"` + // OrchestratorVersionProfileProperties - The properties of an orchestrator version profile. + *OrchestratorVersionProfileProperties `json:"properties,omitempty"` +} + +// MarshalJSON is the custom marshaler for OrchestratorVersionProfileListResult. +func (ovplr OrchestratorVersionProfileListResult) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if ovplr.OrchestratorVersionProfileProperties != nil { + objectMap["properties"] = ovplr.OrchestratorVersionProfileProperties + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for OrchestratorVersionProfileListResult struct. +func (ovplr *OrchestratorVersionProfileListResult) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + ovplr.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + ovplr.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ovplr.Type = &typeVar + } + case "properties": + if v != nil { + var orchestratorVersionProfileProperties OrchestratorVersionProfileProperties + err = json.Unmarshal(*v, &orchestratorVersionProfileProperties) + if err != nil { + return err + } + ovplr.OrchestratorVersionProfileProperties = &orchestratorVersionProfileProperties + } + } + } + + return nil +} + +// OrchestratorVersionProfileProperties the properties of an orchestrator version profile. +type OrchestratorVersionProfileProperties struct { + // Orchestrators - List of orchestrator version profiles. + Orchestrators *[]OrchestratorVersionProfile `json:"orchestrators,omitempty"` +} + +// Properties properties of the container service. +type Properties struct { + // ProvisioningState - READ-ONLY; The current deployment or provisioning state, which only appears in the response. + ProvisioningState *string `json:"provisioningState,omitempty"` + // OrchestratorProfile - Profile for the container service orchestrator. + OrchestratorProfile *OrchestratorProfileType `json:"orchestratorProfile,omitempty"` + // CustomProfile - Properties to configure a custom container service cluster. + CustomProfile *CustomProfile `json:"customProfile,omitempty"` + // ServicePrincipalProfile - Information about a service principal identity for the cluster to use for manipulating Azure APIs. Exact one of secret or keyVaultSecretRef need to be specified. + ServicePrincipalProfile *ServicePrincipalProfile `json:"servicePrincipalProfile,omitempty"` + // MasterProfile - Profile for the container service master. + MasterProfile *MasterProfile `json:"masterProfile,omitempty"` + // AgentPoolProfiles - Properties of the agent pool. + AgentPoolProfiles *[]AgentPoolProfile `json:"agentPoolProfiles,omitempty"` + // WindowsProfile - Profile for Windows VMs in the container service cluster. + WindowsProfile *WindowsProfile `json:"windowsProfile,omitempty"` + // LinuxProfile - Profile for Linux VMs in the container service cluster. + LinuxProfile *LinuxProfile `json:"linuxProfile,omitempty"` + // DiagnosticsProfile - Profile for diagnostics in the container service cluster. + DiagnosticsProfile *DiagnosticsProfile `json:"diagnosticsProfile,omitempty"` +} + +// PurchasePlan used for establishing the purchase context of any 3rd Party artifact through MarketPlace. +type PurchasePlan struct { + // Name - The plan ID. + Name *string `json:"name,omitempty"` + // Product - Specifies the product of the image from the marketplace. This is the same value as Offer under the imageReference element. + Product *string `json:"product,omitempty"` + // PromotionCode - The promotion code. + PromotionCode *string `json:"promotionCode,omitempty"` + // Publisher - The plan ID. + Publisher *string `json:"publisher,omitempty"` +} + +// Resource the Resource model definition. +type Resource struct { + // ID - READ-ONLY; Resource Id + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type + Type *string `json:"type,omitempty"` + // Location - Resource location + Location *string `json:"location,omitempty"` + // Tags - Resource tags + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for Resource. +func (r Resource) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if r.Location != nil { + objectMap["location"] = r.Location + } + if r.Tags != nil { + objectMap["tags"] = r.Tags + } + return json.Marshal(objectMap) +} + +// ResourceReference a reference to an Azure resource. +type ResourceReference struct { + // ID - The fully qualified Azure resource id. + ID *string `json:"id,omitempty"` +} + +// ServicePrincipalProfile information about a service principal identity for the cluster to use for +// manipulating Azure APIs. Either secret or keyVaultSecretRef must be specified. +type ServicePrincipalProfile struct { + // ClientID - The ID for the service principal. + ClientID *string `json:"clientId,omitempty"` + // Secret - The secret password associated with the service principal in plain text. + Secret *string `json:"secret,omitempty"` + // KeyVaultSecretRef - Reference to a secret stored in Azure Key Vault. + KeyVaultSecretRef *KeyVaultSecretRef `json:"keyVaultSecretRef,omitempty"` +} + +// SSHConfiguration SSH configuration for Linux-based VMs running on Azure. +type SSHConfiguration struct { + // PublicKeys - The list of SSH public keys used to authenticate with Linux-based VMs. Only expect one key specified. + PublicKeys *[]SSHPublicKey `json:"publicKeys,omitempty"` +} + +// SSHPublicKey contains information about SSH certificate public key data. +type SSHPublicKey struct { + // KeyData - Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or without headers. + KeyData *string `json:"keyData,omitempty"` +} + +// SubResource reference to another subresource. +type SubResource struct { + // ID - READ-ONLY; Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; The name of the resource that is unique within a resource group. This name can be used to access the resource. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type + Type *string `json:"type,omitempty"` +} + +// TagsObject tags object for patch operations. +type TagsObject struct { + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for TagsObject. +func (toVar TagsObject) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if toVar.Tags != nil { + objectMap["tags"] = toVar.Tags + } + return json.Marshal(objectMap) +} + +// VMDiagnostics profile for diagnostics on the container service VMs. +type VMDiagnostics struct { + // Enabled - Whether the VM diagnostic agent is provisioned on the VM. + Enabled *bool `json:"enabled,omitempty"` + // StorageURI - READ-ONLY; The URI of the storage account where diagnostics are stored. + StorageURI *string `json:"storageUri,omitempty"` +} + +// WindowsProfile profile for Windows VMs in the container service cluster. +type WindowsProfile struct { + // AdminUsername - The administrator username to use for Windows VMs. + AdminUsername *string `json:"adminUsername,omitempty"` + // AdminPassword - The administrator password to use for Windows VMs. + AdminPassword *string `json:"adminPassword,omitempty"` +} diff --git a/services/preview/containerservice/mgmt/2019-09-30-preview/containerservice/openshiftmanagedclusters.go b/services/preview/containerservice/mgmt/2019-09-30-preview/containerservice/openshiftmanagedclusters.go new file mode 100644 index 000000000000..4208abf82afd --- /dev/null +++ b/services/preview/containerservice/mgmt/2019-09-30-preview/containerservice/openshiftmanagedclusters.go @@ -0,0 +1,617 @@ +package containerservice + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// OpenShiftManagedClustersClient is the the Container Service Client. +type OpenShiftManagedClustersClient struct { + BaseClient +} + +// NewOpenShiftManagedClustersClient creates an instance of the OpenShiftManagedClustersClient client. +func NewOpenShiftManagedClustersClient(subscriptionID string) OpenShiftManagedClustersClient { + return NewOpenShiftManagedClustersClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewOpenShiftManagedClustersClientWithBaseURI creates an instance of the OpenShiftManagedClustersClient client. +func NewOpenShiftManagedClustersClientWithBaseURI(baseURI string, subscriptionID string) OpenShiftManagedClustersClient { + return OpenShiftManagedClustersClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates a OpenShift managed cluster with the specified configuration for agents and +// OpenShift version. +// Parameters: +// resourceGroupName - the name of the resource group. +// resourceName - the name of the OpenShift managed cluster resource. +// parameters - parameters supplied to the Create or Update an OpenShift Managed Cluster operation. +func (client OpenShiftManagedClustersClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, resourceName string, parameters OpenShiftManagedCluster) (result OpenShiftManagedClustersCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/OpenShiftManagedClustersClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.OpenShiftManagedClusterProperties", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.OpenShiftManagedClusterProperties.OpenShiftVersion", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "parameters.OpenShiftManagedClusterProperties.MasterPoolProfile", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.OpenShiftManagedClusterProperties.MasterPoolProfile.Count", Name: validation.Null, Rule: true, Chain: nil}}}, + }}}}}); err != nil { + return result, validation.NewError("containerservice.OpenShiftManagedClustersClient", "CreateOrUpdate", err.Error()) + } + + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, resourceName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "containerservice.OpenShiftManagedClustersClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "containerservice.OpenShiftManagedClustersClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client OpenShiftManagedClustersClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, resourceName string, parameters OpenShiftManagedCluster) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "resourceName": autorest.Encode("path", resourceName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-09-30-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/openShiftManagedClusters/{resourceName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client OpenShiftManagedClustersClient) CreateOrUpdateSender(req *http.Request) (future OpenShiftManagedClustersCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client OpenShiftManagedClustersClient) CreateOrUpdateResponder(resp *http.Response) (result OpenShiftManagedCluster, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the OpenShift managed cluster with a specified resource group and name. +// Parameters: +// resourceGroupName - the name of the resource group. +// resourceName - the name of the OpenShift managed cluster resource. +func (client OpenShiftManagedClustersClient) Delete(ctx context.Context, resourceGroupName string, resourceName string) (result OpenShiftManagedClustersDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/OpenShiftManagedClustersClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { + return result, validation.NewError("containerservice.OpenShiftManagedClustersClient", "Delete", err.Error()) + } + + req, err := client.DeletePreparer(ctx, resourceGroupName, resourceName) + if err != nil { + err = autorest.NewErrorWithError(err, "containerservice.OpenShiftManagedClustersClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "containerservice.OpenShiftManagedClustersClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client OpenShiftManagedClustersClient) DeletePreparer(ctx context.Context, resourceGroupName string, resourceName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "resourceName": autorest.Encode("path", resourceName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-09-30-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/openShiftManagedClusters/{resourceName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client OpenShiftManagedClustersClient) DeleteSender(req *http.Request) (future OpenShiftManagedClustersDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client OpenShiftManagedClustersClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets the details of the managed OpenShift cluster with a specified resource group and name. +// Parameters: +// resourceGroupName - the name of the resource group. +// resourceName - the name of the OpenShift managed cluster resource. +func (client OpenShiftManagedClustersClient) Get(ctx context.Context, resourceGroupName string, resourceName string) (result OpenShiftManagedCluster, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/OpenShiftManagedClustersClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { + return result, validation.NewError("containerservice.OpenShiftManagedClustersClient", "Get", err.Error()) + } + + req, err := client.GetPreparer(ctx, resourceGroupName, resourceName) + if err != nil { + err = autorest.NewErrorWithError(err, "containerservice.OpenShiftManagedClustersClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "containerservice.OpenShiftManagedClustersClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "containerservice.OpenShiftManagedClustersClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client OpenShiftManagedClustersClient) GetPreparer(ctx context.Context, resourceGroupName string, resourceName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "resourceName": autorest.Encode("path", resourceName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-09-30-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/openShiftManagedClusters/{resourceName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client OpenShiftManagedClustersClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client OpenShiftManagedClustersClient) GetResponder(resp *http.Response) (result OpenShiftManagedCluster, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets a list of OpenShift managed clusters in the specified subscription. The operation returns properties of +// each OpenShift managed cluster. +func (client OpenShiftManagedClustersClient) List(ctx context.Context) (result OpenShiftManagedClusterListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/OpenShiftManagedClustersClient.List") + defer func() { + sc := -1 + if result.osmclr.Response.Response != nil { + sc = result.osmclr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "containerservice.OpenShiftManagedClustersClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.osmclr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "containerservice.OpenShiftManagedClustersClient", "List", resp, "Failure sending request") + return + } + + result.osmclr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "containerservice.OpenShiftManagedClustersClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client OpenShiftManagedClustersClient) ListPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-09-30-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/openShiftManagedClusters", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client OpenShiftManagedClustersClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client OpenShiftManagedClustersClient) ListResponder(resp *http.Response) (result OpenShiftManagedClusterListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client OpenShiftManagedClustersClient) listNextResults(ctx context.Context, lastResults OpenShiftManagedClusterListResult) (result OpenShiftManagedClusterListResult, err error) { + req, err := lastResults.openShiftManagedClusterListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "containerservice.OpenShiftManagedClustersClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "containerservice.OpenShiftManagedClustersClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "containerservice.OpenShiftManagedClustersClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client OpenShiftManagedClustersClient) ListComplete(ctx context.Context) (result OpenShiftManagedClusterListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/OpenShiftManagedClustersClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx) + return +} + +// ListByResourceGroup lists OpenShift managed clusters in the specified subscription and resource group. The operation +// returns properties of each OpenShift managed cluster. +// Parameters: +// resourceGroupName - the name of the resource group. +func (client OpenShiftManagedClustersClient) ListByResourceGroup(ctx context.Context, resourceGroupName string) (result OpenShiftManagedClusterListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/OpenShiftManagedClustersClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.osmclr.Response.Response != nil { + sc = result.osmclr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { + return result, validation.NewError("containerservice.OpenShiftManagedClustersClient", "ListByResourceGroup", err.Error()) + } + + result.fn = client.listByResourceGroupNextResults + req, err := client.ListByResourceGroupPreparer(ctx, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "containerservice.OpenShiftManagedClustersClient", "ListByResourceGroup", nil, "Failure preparing request") + return + } + + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.osmclr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "containerservice.OpenShiftManagedClustersClient", "ListByResourceGroup", resp, "Failure sending request") + return + } + + result.osmclr, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "containerservice.OpenShiftManagedClustersClient", "ListByResourceGroup", resp, "Failure responding to request") + } + + return +} + +// ListByResourceGroupPreparer prepares the ListByResourceGroup request. +func (client OpenShiftManagedClustersClient) ListByResourceGroupPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-09-30-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/openShiftManagedClusters", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByResourceGroupSender sends the ListByResourceGroup request. The method will close the +// http.Response Body if it receives an error. +func (client OpenShiftManagedClustersClient) ListByResourceGroupSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByResourceGroupResponder handles the response to the ListByResourceGroup request. The method always +// closes the http.Response Body. +func (client OpenShiftManagedClustersClient) ListByResourceGroupResponder(resp *http.Response) (result OpenShiftManagedClusterListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listByResourceGroupNextResults retrieves the next set of results, if any. +func (client OpenShiftManagedClustersClient) listByResourceGroupNextResults(ctx context.Context, lastResults OpenShiftManagedClusterListResult) (result OpenShiftManagedClusterListResult, err error) { + req, err := lastResults.openShiftManagedClusterListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "containerservice.OpenShiftManagedClustersClient", "listByResourceGroupNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "containerservice.OpenShiftManagedClustersClient", "listByResourceGroupNextResults", resp, "Failure sending next results request") + } + result, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "containerservice.OpenShiftManagedClustersClient", "listByResourceGroupNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListByResourceGroupComplete enumerates all values, automatically crossing page boundaries as required. +func (client OpenShiftManagedClustersClient) ListByResourceGroupComplete(ctx context.Context, resourceGroupName string) (result OpenShiftManagedClusterListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/OpenShiftManagedClustersClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListByResourceGroup(ctx, resourceGroupName) + return +} + +// UpdateTags updates an OpenShift managed cluster with the specified tags. +// Parameters: +// resourceGroupName - the name of the resource group. +// resourceName - the name of the OpenShift managed cluster resource. +// parameters - parameters supplied to the Update OpenShift Managed Cluster Tags operation. +func (client OpenShiftManagedClustersClient) UpdateTags(ctx context.Context, resourceGroupName string, resourceName string, parameters TagsObject) (result OpenShiftManagedClustersUpdateTagsFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/OpenShiftManagedClustersClient.UpdateTags") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { + return result, validation.NewError("containerservice.OpenShiftManagedClustersClient", "UpdateTags", err.Error()) + } + + req, err := client.UpdateTagsPreparer(ctx, resourceGroupName, resourceName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "containerservice.OpenShiftManagedClustersClient", "UpdateTags", nil, "Failure preparing request") + return + } + + result, err = client.UpdateTagsSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "containerservice.OpenShiftManagedClustersClient", "UpdateTags", result.Response(), "Failure sending request") + return + } + + return +} + +// UpdateTagsPreparer prepares the UpdateTags request. +func (client OpenShiftManagedClustersClient) UpdateTagsPreparer(ctx context.Context, resourceGroupName string, resourceName string, parameters TagsObject) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "resourceName": autorest.Encode("path", resourceName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-09-30-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/openShiftManagedClusters/{resourceName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateTagsSender sends the UpdateTags request. The method will close the +// http.Response Body if it receives an error. +func (client OpenShiftManagedClustersClient) UpdateTagsSender(req *http.Request) (future OpenShiftManagedClustersUpdateTagsFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// UpdateTagsResponder handles the response to the UpdateTags request. The method always +// closes the http.Response Body. +func (client OpenShiftManagedClustersClient) UpdateTagsResponder(resp *http.Response) (result OpenShiftManagedCluster, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/preview/containerservice/mgmt/2019-09-30-preview/containerservice/operations.go b/services/preview/containerservice/mgmt/2019-09-30-preview/containerservice/operations.go new file mode 100644 index 000000000000..a61a628971f6 --- /dev/null +++ b/services/preview/containerservice/mgmt/2019-09-30-preview/containerservice/operations.go @@ -0,0 +1,109 @@ +package containerservice + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// OperationsClient is the the Container Service Client. +type OperationsClient struct { + BaseClient +} + +// NewOperationsClient creates an instance of the OperationsClient client. +func NewOperationsClient(subscriptionID string) OperationsClient { + return NewOperationsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewOperationsClientWithBaseURI creates an instance of the OperationsClient client. +func NewOperationsClientWithBaseURI(baseURI string, subscriptionID string) OperationsClient { + return OperationsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// List gets a list of compute operations. +func (client OperationsClient) List(ctx context.Context) (result OperationListResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/OperationsClient.List") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "containerservice.OperationsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "containerservice.OperationsClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "containerservice.OperationsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client OperationsClient) ListPreparer(ctx context.Context) (*http.Request, error) { + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPath("/providers/Microsoft.ContainerService/operations"), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client OperationsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client OperationsClient) ListResponder(resp *http.Response) (result OperationListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/preview/containerservice/mgmt/2019-09-30-preview/containerservice/version.go b/services/preview/containerservice/mgmt/2019-09-30-preview/containerservice/version.go new file mode 100644 index 000000000000..b33e1e056038 --- /dev/null +++ b/services/preview/containerservice/mgmt/2019-09-30-preview/containerservice/version.go @@ -0,0 +1,30 @@ +package containerservice + +import "github.com/Azure/azure-sdk-for-go/version" + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +// UserAgent returns the UserAgent string to use when sending http.Requests. +func UserAgent() string { + return "Azure-SDK-For-Go/" + version.Number + " containerservice/2019-09-30-preview" +} + +// Version returns the semantic version (see http://semver.org) of the client. +func Version() string { + return version.Number +} diff --git a/services/preview/datafactory/mgmt/2017-09-01-preview/datafactory/activityruns.go b/services/preview/datafactory/mgmt/2017-09-01-preview/datafactory/activityruns.go index 6ccdcd449d5a..718dfd3b89aa 100644 --- a/services/preview/datafactory/mgmt/2017-09-01-preview/datafactory/activityruns.go +++ b/services/preview/datafactory/mgmt/2017-09-01-preview/datafactory/activityruns.go @@ -74,9 +74,11 @@ func (client ActivityRunsClient) ListByPipelineRun(ctx context.Context, resource {Target: "factoryName", Name: validation.MinLength, Rule: 3, Chain: nil}, {Target: "factoryName", Name: validation.Pattern, Rule: `^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$`, Chain: nil}}}, {TargetValue: linkedServiceName, - Constraints: []validation.Constraint{{Target: "linkedServiceName", Name: validation.MaxLength, Rule: 260, Chain: nil}, - {Target: "linkedServiceName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "linkedServiceName", Name: validation.Pattern, Rule: `^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$`, Chain: nil}}}}); err != nil { + Constraints: []validation.Constraint{{Target: "linkedServiceName", Name: validation.Empty, Rule: false, + Chain: []validation.Constraint{{Target: "linkedServiceName", Name: validation.MaxLength, Rule: 260, Chain: nil}, + {Target: "linkedServiceName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "linkedServiceName", Name: validation.Pattern, Rule: `^[A-Za-z0-9_][^<>*#.%&:\\+?/]*$`, Chain: nil}, + }}}}}); err != nil { return result, validation.NewError("datafactory.ActivityRunsClient", "ListByPipelineRun", err.Error()) } diff --git a/services/preview/datafactory/mgmt/2017-09-01-preview/datafactory/models.go b/services/preview/datafactory/mgmt/2017-09-01-preview/datafactory/models.go index b207dd6b13b7..5541101fd47e 100644 --- a/services/preview/datafactory/mgmt/2017-09-01-preview/datafactory/models.go +++ b/services/preview/datafactory/mgmt/2017-09-01-preview/datafactory/models.go @@ -19133,6 +19133,8 @@ type BlobEventsTriggerTypeProperties struct { BlobPathBeginsWith *string `json:"blobPathBeginsWith,omitempty"` // BlobPathEndsWith - The blob path must end with the pattern provided for trigger to fire. For example, 'december/boxes.csv' will only fire the trigger for blobs named boxes in a december folder. At least one of these must be provided: blobPathBeginsWith, blobPathEndsWith. BlobPathEndsWith *string `json:"blobPathEndsWith,omitempty"` + // IgnoreEmptyBlobs - If set to true, blobs with zero bytes will be ignored. + IgnoreEmptyBlobs *bool `json:"ignoreEmptyBlobs,omitempty"` // Events - The type of events that cause this trigger to fire. Events *[]BlobEventTypes `json:"events,omitempty"` // Scope - The ARM resource ID of the Storage Account. diff --git a/services/preview/datalake/analytics/2015-10-01-preview/catalog/models.go b/services/preview/datalake/analytics/2015-10-01-preview/catalog/models.go index 90897d0db4ed..419cfca27e7f 100644 --- a/services/preview/datalake/analytics/2015-10-01-preview/catalog/models.go +++ b/services/preview/datalake/analytics/2015-10-01-preview/catalog/models.go @@ -153,9 +153,9 @@ type USQLAssemblyDependencyInfo struct { type USQLAssemblyFileInfo struct { // Type - the assembly file type. Possible values include: 'Assembly', 'Resource' Type FileType `json:"type,omitempty"` - // OriginalPath - the the original path to the assembly file. + // OriginalPath - The original path to the assembly file. OriginalPath *string `json:"originalPath,omitempty"` - // ContentPath - the the content path to the assembly file. + // ContentPath - The content path to the assembly file. ContentPath *string `json:"contentPath,omitempty"` } @@ -1748,15 +1748,15 @@ type USQLTableType struct { SchemaID *int32 `json:"schemaId,omitempty"` // PrincipalID - the principal ID for this type. PrincipalID *int32 `json:"principalId,omitempty"` - // IsNullable - the the switch indicating if this type is nullable. + // IsNullable - The switch indicating if this type is nullable. IsNullable *bool `json:"isNullable,omitempty"` - // IsUserDefined - the the switch indicating if this type is user defined. + // IsUserDefined - The switch indicating if this type is user defined. IsUserDefined *bool `json:"isUserDefined,omitempty"` - // IsAssemblyType - the the switch indicating if this type is an assembly type. + // IsAssemblyType - The switch indicating if this type is an assembly type. IsAssemblyType *bool `json:"isAssemblyType,omitempty"` - // IsTableType - the the switch indicating if this type is a table type. + // IsTableType - The switch indicating if this type is a table type. IsTableType *bool `json:"isTableType,omitempty"` - // IsComplexType - the the switch indicating if this type is a complex type. + // IsComplexType - The switch indicating if this type is a complex type. IsComplexType *bool `json:"isComplexType,omitempty"` // ComputeAccountName - the name of the Data Lake Analytics account. ComputeAccountName *string `json:"computeAccountName,omitempty"` @@ -2100,15 +2100,15 @@ type USQLType struct { SchemaID *int32 `json:"schemaId,omitempty"` // PrincipalID - the principal ID for this type. PrincipalID *int32 `json:"principalId,omitempty"` - // IsNullable - the the switch indicating if this type is nullable. + // IsNullable - The switch indicating if this type is nullable. IsNullable *bool `json:"isNullable,omitempty"` - // IsUserDefined - the the switch indicating if this type is user defined. + // IsUserDefined - The switch indicating if this type is user defined. IsUserDefined *bool `json:"isUserDefined,omitempty"` - // IsAssemblyType - the the switch indicating if this type is an assembly type. + // IsAssemblyType - The switch indicating if this type is an assembly type. IsAssemblyType *bool `json:"isAssemblyType,omitempty"` - // IsTableType - the the switch indicating if this type is a table type. + // IsTableType - The switch indicating if this type is a table type. IsTableType *bool `json:"isTableType,omitempty"` - // IsComplexType - the the switch indicating if this type is a complex type. + // IsComplexType - The switch indicating if this type is a complex type. IsComplexType *bool `json:"isComplexType,omitempty"` // ComputeAccountName - the name of the Data Lake Analytics account. ComputeAccountName *string `json:"computeAccountName,omitempty"` diff --git a/services/preview/datamigration/mgmt/2018-03-31-preview/datamigration/models.go b/services/preview/datamigration/mgmt/2018-03-31-preview/datamigration/models.go index 121897b88103..64e306e05826 100644 --- a/services/preview/datamigration/mgmt/2018-03-31-preview/datamigration/models.go +++ b/services/preview/datamigration/mgmt/2018-03-31-preview/datamigration/models.go @@ -2994,8 +2994,8 @@ type MigrateSQLServerSQLServerDatabaseInput struct { // MigrationEligibilityInfo information about migration eligibility of a server object type MigrationEligibilityInfo struct { - // IsEligibileForMigration - READ-ONLY; Whether object is eligible for migration or not. - IsEligibileForMigration *bool `json:"isEligibileForMigration,omitempty"` + // IsEligibleForMigration - READ-ONLY; Whether object is eligible for migration or not. + IsEligibleForMigration *bool `json:"isEligibleForMigration,omitempty"` // ValidationMessages - READ-ONLY; Information about eligibility failure for the server object. ValidationMessages *[]string `json:"validationMessages,omitempty"` } diff --git a/services/preview/datamigration/mgmt/2018-07-15-preview/datamigration/models.go b/services/preview/datamigration/mgmt/2018-07-15-preview/datamigration/models.go index 372a4c7410d1..ab63a92524db 100644 --- a/services/preview/datamigration/mgmt/2018-07-15-preview/datamigration/models.go +++ b/services/preview/datamigration/mgmt/2018-07-15-preview/datamigration/models.go @@ -1463,18 +1463,12 @@ type CheckOCIDriverTaskInput struct { // CheckOCIDriverTaskOutput output for the service task to check for OCI drivers. type CheckOCIDriverTaskOutput struct { - // InstalledDriver - READ-ONLY; Information about the installed driver if found and valid. - InstalledDriver map[string][]OracleOCIDriverInfo `json:"installedDriver"` + // InstalledDriver - Information about the installed driver if found and valid. + InstalledDriver *OracleOCIDriverInfo `json:"installedDriver,omitempty"` // ValidationErrors - READ-ONLY; Validation errors ValidationErrors *[]ReportableException `json:"validationErrors,omitempty"` } -// MarshalJSON is the custom marshaler for CheckOCIDriverTaskOutput. -func (codto CheckOCIDriverTaskOutput) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - return json.Marshal(objectMap) -} - // CheckOCIDriverTaskProperties properties for the task that checks for OCI drivers. type CheckOCIDriverTaskProperties struct { Input *CheckOCIDriverTaskInput `json:"input,omitempty"` @@ -14590,6 +14584,8 @@ type MigrateSQLServerSQLMITaskInput struct { BackupBlobShare *BlobShare `json:"backupBlobShare,omitempty"` // BackupMode - Backup Mode to specify whether to use existing backup or create new backup. If using existing backups, backup file paths are required to be provided in selectedDatabases. Possible values include: 'CreateBackup', 'ExistingBackup' BackupMode BackupMode `json:"backupMode,omitempty"` + // AadDomainName - Azure Active Directory domain name in the format of 'contoso.com' for federated Azure AD or 'contoso.onmicrosoft.com' for managed domain, required if and only if Windows logins are selected + AadDomainName *string `json:"aadDomainName,omitempty"` // SourceConnectionInfo - Information for connecting to source SourceConnectionInfo *SQLConnectionInfo `json:"sourceConnectionInfo,omitempty"` // TargetConnectionInfo - Information for connecting to target @@ -15962,8 +15958,8 @@ func (msccp MigrateSyncCompleteCommandProperties) AsBasicCommandProperties() (Ba // MigrationEligibilityInfo information about migration eligibility of a server object type MigrationEligibilityInfo struct { - // IsEligibileForMigration - READ-ONLY; Whether object is eligible for migration or not. - IsEligibileForMigration *bool `json:"isEligibileForMigration,omitempty"` + // IsEligibleForMigration - READ-ONLY; Whether object is eligible for migration or not. + IsEligibleForMigration *bool `json:"isEligibleForMigration,omitempty"` // ValidationMessages - READ-ONLY; Information about eligibility failure for the server object. ValidationMessages *[]string `json:"validationMessages,omitempty"` } diff --git a/services/preview/datashare/mgmt/2018-11-01-preview/datashare/models.go b/services/preview/datashare/mgmt/2018-11-01-preview/datashare/models.go index 213e08d61209..8fd86e2e13ae 100644 --- a/services/preview/datashare/mgmt/2018-11-01-preview/datashare/models.go +++ b/services/preview/datashare/mgmt/2018-11-01-preview/datashare/models.go @@ -66,11 +66,15 @@ const ( BlobFolder DataSetType = "BlobFolder" // Container ... Container DataSetType = "Container" + // SQLDBTable ... + SQLDBTable DataSetType = "SqlDBTable" + // SQLDWTable ... + SQLDWTable DataSetType = "SqlDWTable" ) // PossibleDataSetTypeValues returns an array of possible values for the DataSetType const type. func PossibleDataSetTypeValues() []DataSetType { - return []DataSetType{AdlsGen1File, AdlsGen1Folder, AdlsGen2File, AdlsGen2FileSystem, AdlsGen2Folder, Blob, BlobFolder, Container} + return []DataSetType{AdlsGen1File, AdlsGen1Folder, AdlsGen2File, AdlsGen2FileSystem, AdlsGen2Folder, Blob, BlobFolder, Container, SQLDBTable, SQLDWTable} } // InvitationStatus enumerates the values for invitation status. @@ -114,11 +118,15 @@ const ( KindContainer Kind = "Container" // KindDataSet ... KindDataSet Kind = "DataSet" + // KindSQLDBTable ... + KindSQLDBTable Kind = "SqlDBTable" + // KindSQLDWTable ... + KindSQLDWTable Kind = "SqlDWTable" ) // PossibleKindValues returns an array of possible values for the Kind const type. func PossibleKindValues() []Kind { - return []Kind{KindAdlsGen1File, KindAdlsGen1Folder, KindAdlsGen2File, KindAdlsGen2FileSystem, KindAdlsGen2Folder, KindBlob, KindBlobFolder, KindContainer, KindDataSet} + return []Kind{KindAdlsGen1File, KindAdlsGen1Folder, KindAdlsGen2File, KindAdlsGen2FileSystem, KindAdlsGen2Folder, KindBlob, KindBlobFolder, KindContainer, KindDataSet, KindSQLDBTable, KindSQLDWTable} } // KindBasicDataSetMapping enumerates the values for kind basic data set mapping. @@ -139,11 +147,15 @@ const ( KindBasicDataSetMappingKindContainer KindBasicDataSetMapping = "Container" // KindBasicDataSetMappingKindDataSetMapping ... KindBasicDataSetMappingKindDataSetMapping KindBasicDataSetMapping = "DataSetMapping" + // KindBasicDataSetMappingKindSQLDBTable ... + KindBasicDataSetMappingKindSQLDBTable KindBasicDataSetMapping = "SqlDBTable" + // KindBasicDataSetMappingKindSQLDWTable ... + KindBasicDataSetMappingKindSQLDWTable KindBasicDataSetMapping = "SqlDWTable" ) // PossibleKindBasicDataSetMappingValues returns an array of possible values for the KindBasicDataSetMapping const type. func PossibleKindBasicDataSetMappingValues() []KindBasicDataSetMapping { - return []KindBasicDataSetMapping{KindBasicDataSetMappingKindAdlsGen2File, KindBasicDataSetMappingKindAdlsGen2FileSystem, KindBasicDataSetMappingKindAdlsGen2Folder, KindBasicDataSetMappingKindBlob, KindBasicDataSetMappingKindBlobFolder, KindBasicDataSetMappingKindContainer, KindBasicDataSetMappingKindDataSetMapping} + return []KindBasicDataSetMapping{KindBasicDataSetMappingKindAdlsGen2File, KindBasicDataSetMappingKindAdlsGen2FileSystem, KindBasicDataSetMappingKindAdlsGen2Folder, KindBasicDataSetMappingKindBlob, KindBasicDataSetMappingKindBlobFolder, KindBasicDataSetMappingKindContainer, KindBasicDataSetMappingKindDataSetMapping, KindBasicDataSetMappingKindSQLDBTable, KindBasicDataSetMappingKindSQLDWTable} } // KindBasicSourceShareSynchronizationSetting enumerates the values for kind basic source share synchronization @@ -192,6 +204,21 @@ func PossibleKindBasicTriggerValues() []KindBasicTrigger { return []KindBasicTrigger{KindBasicTriggerKindScheduleBased, KindBasicTriggerKindTrigger} } +// OutputType enumerates the values for output type. +type OutputType string + +const ( + // Csv ... + Csv OutputType = "Csv" + // Parquet ... + Parquet OutputType = "Parquet" +) + +// PossibleOutputTypeValues returns an array of possible values for the OutputType const type. +func PossibleOutputTypeValues() []OutputType { + return []OutputType{Csv, Parquet} +} + // ProvisioningState enumerates the values for provisioning state. type ProvisioningState string @@ -682,7 +709,7 @@ type ADLSGen1FileDataSet struct { Name *string `json:"name,omitempty"` // Type - READ-ONLY; Type of the azure resource Type *string `json:"type,omitempty"` - // Kind - Possible values include: 'KindDataSet', 'KindBlob', 'KindBlobFolder', 'KindContainer', 'KindAdlsGen2File', 'KindAdlsGen2Folder', 'KindAdlsGen2FileSystem', 'KindAdlsGen1Folder', 'KindAdlsGen1File' + // Kind - Possible values include: 'KindDataSet', 'KindBlob', 'KindBlobFolder', 'KindContainer', 'KindAdlsGen2File', 'KindAdlsGen2Folder', 'KindAdlsGen2FileSystem', 'KindAdlsGen1Folder', 'KindAdlsGen1File', 'KindSQLDWTable', 'KindSQLDBTable' Kind Kind `json:"kind,omitempty"` } @@ -739,6 +766,16 @@ func (ag1fds ADLSGen1FileDataSet) AsADLSGen1FileDataSet() (*ADLSGen1FileDataSet, return &ag1fds, true } +// AsSQLDWTableDataSet is the BasicDataSet implementation for ADLSGen1FileDataSet. +func (ag1fds ADLSGen1FileDataSet) AsSQLDWTableDataSet() (*SQLDWTableDataSet, bool) { + return nil, false +} + +// AsSQLDBTableDataSet is the BasicDataSet implementation for ADLSGen1FileDataSet. +func (ag1fds ADLSGen1FileDataSet) AsSQLDBTableDataSet() (*SQLDBTableDataSet, bool) { + return nil, false +} + // AsDataSet is the BasicDataSet implementation for ADLSGen1FileDataSet. func (ag1fds ADLSGen1FileDataSet) AsDataSet() (*DataSet, bool) { return nil, false @@ -813,7 +850,7 @@ func (ag1fds *ADLSGen1FileDataSet) UnmarshalJSON(body []byte) error { type ADLSGen1FileProperties struct { // AccountName - The ADLS account name. AccountName *string `json:"accountName,omitempty"` - // DataSetID - READ-ONLY; Unique DataSet id. + // DataSetID - READ-ONLY; Unique id for identifying a data set resource DataSetID *string `json:"dataSetId,omitempty"` // FileName - The file name in the ADLS account. FileName *string `json:"fileName,omitempty"` @@ -829,7 +866,7 @@ type ADLSGen1FileProperties struct { type ADLSGen1FolderDataSet struct { // ADLSGen1FolderProperties - ADLS Gen 1 folder dataset properties. *ADLSGen1FolderProperties `json:"properties,omitempty"` - // Kind - Possible values include: 'KindDataSet', 'KindBlob', 'KindBlobFolder', 'KindContainer', 'KindAdlsGen2File', 'KindAdlsGen2Folder', 'KindAdlsGen2FileSystem', 'KindAdlsGen1Folder', 'KindAdlsGen1File' + // Kind - Possible values include: 'KindDataSet', 'KindBlob', 'KindBlobFolder', 'KindContainer', 'KindAdlsGen2File', 'KindAdlsGen2Folder', 'KindAdlsGen2FileSystem', 'KindAdlsGen1Folder', 'KindAdlsGen1File', 'KindSQLDWTable', 'KindSQLDBTable' Kind Kind `json:"kind,omitempty"` // ID - READ-ONLY; The resource id of the azure resource ID *string `json:"id,omitempty"` @@ -892,6 +929,16 @@ func (ag1fds ADLSGen1FolderDataSet) AsADLSGen1FileDataSet() (*ADLSGen1FileDataSe return nil, false } +// AsSQLDWTableDataSet is the BasicDataSet implementation for ADLSGen1FolderDataSet. +func (ag1fds ADLSGen1FolderDataSet) AsSQLDWTableDataSet() (*SQLDWTableDataSet, bool) { + return nil, false +} + +// AsSQLDBTableDataSet is the BasicDataSet implementation for ADLSGen1FolderDataSet. +func (ag1fds ADLSGen1FolderDataSet) AsSQLDBTableDataSet() (*SQLDBTableDataSet, bool) { + return nil, false +} + // AsDataSet is the BasicDataSet implementation for ADLSGen1FolderDataSet. func (ag1fds ADLSGen1FolderDataSet) AsDataSet() (*DataSet, bool) { return nil, false @@ -966,7 +1013,7 @@ func (ag1fds *ADLSGen1FolderDataSet) UnmarshalJSON(body []byte) error { type ADLSGen1FolderProperties struct { // AccountName - The ADLS account name. AccountName *string `json:"accountName,omitempty"` - // DataSetID - READ-ONLY; Unique DataSet id. + // DataSetID - READ-ONLY; Unique id for identifying a data set resource DataSetID *string `json:"dataSetId,omitempty"` // FolderPath - The folder path within the ADLS account. FolderPath *string `json:"folderPath,omitempty"` @@ -980,7 +1027,7 @@ type ADLSGen1FolderProperties struct { type ADLSGen2FileDataSet struct { // ADLSGen2FileProperties - ADLS Gen 2 file dataset properties. *ADLSGen2FileProperties `json:"properties,omitempty"` - // Kind - Possible values include: 'KindDataSet', 'KindBlob', 'KindBlobFolder', 'KindContainer', 'KindAdlsGen2File', 'KindAdlsGen2Folder', 'KindAdlsGen2FileSystem', 'KindAdlsGen1Folder', 'KindAdlsGen1File' + // Kind - Possible values include: 'KindDataSet', 'KindBlob', 'KindBlobFolder', 'KindContainer', 'KindAdlsGen2File', 'KindAdlsGen2Folder', 'KindAdlsGen2FileSystem', 'KindAdlsGen1Folder', 'KindAdlsGen1File', 'KindSQLDWTable', 'KindSQLDBTable' Kind Kind `json:"kind,omitempty"` // ID - READ-ONLY; The resource id of the azure resource ID *string `json:"id,omitempty"` @@ -1043,6 +1090,16 @@ func (ag2fds ADLSGen2FileDataSet) AsADLSGen1FileDataSet() (*ADLSGen1FileDataSet, return nil, false } +// AsSQLDWTableDataSet is the BasicDataSet implementation for ADLSGen2FileDataSet. +func (ag2fds ADLSGen2FileDataSet) AsSQLDWTableDataSet() (*SQLDWTableDataSet, bool) { + return nil, false +} + +// AsSQLDBTableDataSet is the BasicDataSet implementation for ADLSGen2FileDataSet. +func (ag2fds ADLSGen2FileDataSet) AsSQLDBTableDataSet() (*SQLDBTableDataSet, bool) { + return nil, false +} + // AsDataSet is the BasicDataSet implementation for ADLSGen2FileDataSet. func (ag2fds ADLSGen2FileDataSet) AsDataSet() (*DataSet, bool) { return nil, false @@ -1123,7 +1180,7 @@ type ADLSGen2FileDataSetMapping struct { Name *string `json:"name,omitempty"` // Type - READ-ONLY; Type of the azure resource Type *string `json:"type,omitempty"` - // Kind - Possible values include: 'KindBasicDataSetMappingKindDataSetMapping', 'KindBasicDataSetMappingKindBlob', 'KindBasicDataSetMappingKindBlobFolder', 'KindBasicDataSetMappingKindContainer', 'KindBasicDataSetMappingKindAdlsGen2File', 'KindBasicDataSetMappingKindAdlsGen2Folder', 'KindBasicDataSetMappingKindAdlsGen2FileSystem' + // Kind - Possible values include: 'KindBasicDataSetMappingKindDataSetMapping', 'KindBasicDataSetMappingKindBlob', 'KindBasicDataSetMappingKindBlobFolder', 'KindBasicDataSetMappingKindContainer', 'KindBasicDataSetMappingKindAdlsGen2File', 'KindBasicDataSetMappingKindAdlsGen2Folder', 'KindBasicDataSetMappingKindAdlsGen2FileSystem', 'KindBasicDataSetMappingKindSQLDWTable', 'KindBasicDataSetMappingKindSQLDBTable' Kind KindBasicDataSetMapping `json:"kind,omitempty"` } @@ -1170,6 +1227,16 @@ func (ag2fdsm ADLSGen2FileDataSetMapping) AsADLSGen2FileSystemDataSetMapping() ( return nil, false } +// AsSQLDWTableDataSetMapping is the BasicDataSetMapping implementation for ADLSGen2FileDataSetMapping. +func (ag2fdsm ADLSGen2FileDataSetMapping) AsSQLDWTableDataSetMapping() (*SQLDWTableDataSetMapping, bool) { + return nil, false +} + +// AsSQLDBTableDataSetMapping is the BasicDataSetMapping implementation for ADLSGen2FileDataSetMapping. +func (ag2fdsm ADLSGen2FileDataSetMapping) AsSQLDBTableDataSetMapping() (*SQLDBTableDataSetMapping, bool) { + return nil, false +} + // AsDataSetMapping is the BasicDataSetMapping implementation for ADLSGen2FileDataSetMapping. func (ag2fdsm ADLSGen2FileDataSetMapping) AsDataSetMapping() (*DataSetMapping, bool) { return nil, false @@ -1250,6 +1317,8 @@ type ADLSGen2FileDataSetMappingProperties struct { FilePath *string `json:"filePath,omitempty"` // FileSystem - File system to which the file belongs. FileSystem *string `json:"fileSystem,omitempty"` + // OutputType - Type of output file. Possible values include: 'Csv', 'Parquet' + OutputType OutputType `json:"outputType,omitempty"` // ResourceGroup - Resource group of storage account. ResourceGroup *string `json:"resourceGroup,omitempty"` // StorageAccountName - Storage account name of the source data set. @@ -1260,7 +1329,7 @@ type ADLSGen2FileDataSetMappingProperties struct { // ADLSGen2FileProperties properties of the ADLS Gen2 file data set. type ADLSGen2FileProperties struct { - // DataSetID - READ-ONLY; Unique DataSet id. + // DataSetID - READ-ONLY; Unique id for identifying a data set resource DataSetID *string `json:"dataSetId,omitempty"` // FilePath - File path within the file system. FilePath *string `json:"filePath,omitempty"` @@ -1278,7 +1347,7 @@ type ADLSGen2FileProperties struct { type ADLSGen2FileSystemDataSet struct { // ADLSGen2FileSystemProperties - ADLS Gen 2 file system dataset properties. *ADLSGen2FileSystemProperties `json:"properties,omitempty"` - // Kind - Possible values include: 'KindDataSet', 'KindBlob', 'KindBlobFolder', 'KindContainer', 'KindAdlsGen2File', 'KindAdlsGen2Folder', 'KindAdlsGen2FileSystem', 'KindAdlsGen1Folder', 'KindAdlsGen1File' + // Kind - Possible values include: 'KindDataSet', 'KindBlob', 'KindBlobFolder', 'KindContainer', 'KindAdlsGen2File', 'KindAdlsGen2Folder', 'KindAdlsGen2FileSystem', 'KindAdlsGen1Folder', 'KindAdlsGen1File', 'KindSQLDWTable', 'KindSQLDBTable' Kind Kind `json:"kind,omitempty"` // ID - READ-ONLY; The resource id of the azure resource ID *string `json:"id,omitempty"` @@ -1341,6 +1410,16 @@ func (ag2fsds ADLSGen2FileSystemDataSet) AsADLSGen1FileDataSet() (*ADLSGen1FileD return nil, false } +// AsSQLDWTableDataSet is the BasicDataSet implementation for ADLSGen2FileSystemDataSet. +func (ag2fsds ADLSGen2FileSystemDataSet) AsSQLDWTableDataSet() (*SQLDWTableDataSet, bool) { + return nil, false +} + +// AsSQLDBTableDataSet is the BasicDataSet implementation for ADLSGen2FileSystemDataSet. +func (ag2fsds ADLSGen2FileSystemDataSet) AsSQLDBTableDataSet() (*SQLDBTableDataSet, bool) { + return nil, false +} + // AsDataSet is the BasicDataSet implementation for ADLSGen2FileSystemDataSet. func (ag2fsds ADLSGen2FileSystemDataSet) AsDataSet() (*DataSet, bool) { return nil, false @@ -1415,7 +1494,7 @@ func (ag2fsds *ADLSGen2FileSystemDataSet) UnmarshalJSON(body []byte) error { type ADLSGen2FileSystemDataSetMapping struct { // ADLSGen2FileSystemDataSetMappingProperties - ADLS Gen2 file system dataset mapping properties. *ADLSGen2FileSystemDataSetMappingProperties `json:"properties,omitempty"` - // Kind - Possible values include: 'KindBasicDataSetMappingKindDataSetMapping', 'KindBasicDataSetMappingKindBlob', 'KindBasicDataSetMappingKindBlobFolder', 'KindBasicDataSetMappingKindContainer', 'KindBasicDataSetMappingKindAdlsGen2File', 'KindBasicDataSetMappingKindAdlsGen2Folder', 'KindBasicDataSetMappingKindAdlsGen2FileSystem' + // Kind - Possible values include: 'KindBasicDataSetMappingKindDataSetMapping', 'KindBasicDataSetMappingKindBlob', 'KindBasicDataSetMappingKindBlobFolder', 'KindBasicDataSetMappingKindContainer', 'KindBasicDataSetMappingKindAdlsGen2File', 'KindBasicDataSetMappingKindAdlsGen2Folder', 'KindBasicDataSetMappingKindAdlsGen2FileSystem', 'KindBasicDataSetMappingKindSQLDWTable', 'KindBasicDataSetMappingKindSQLDBTable' Kind KindBasicDataSetMapping `json:"kind,omitempty"` // ID - READ-ONLY; The resource id of the azure resource ID *string `json:"id,omitempty"` @@ -1468,6 +1547,16 @@ func (ag2fsdsm ADLSGen2FileSystemDataSetMapping) AsADLSGen2FileSystemDataSetMapp return &ag2fsdsm, true } +// AsSQLDWTableDataSetMapping is the BasicDataSetMapping implementation for ADLSGen2FileSystemDataSetMapping. +func (ag2fsdsm ADLSGen2FileSystemDataSetMapping) AsSQLDWTableDataSetMapping() (*SQLDWTableDataSetMapping, bool) { + return nil, false +} + +// AsSQLDBTableDataSetMapping is the BasicDataSetMapping implementation for ADLSGen2FileSystemDataSetMapping. +func (ag2fsdsm ADLSGen2FileSystemDataSetMapping) AsSQLDBTableDataSetMapping() (*SQLDBTableDataSetMapping, bool) { + return nil, false +} + // AsDataSetMapping is the BasicDataSetMapping implementation for ADLSGen2FileSystemDataSetMapping. func (ag2fsdsm ADLSGen2FileSystemDataSetMapping) AsDataSetMapping() (*DataSetMapping, bool) { return nil, false @@ -1556,7 +1645,7 @@ type ADLSGen2FileSystemDataSetMappingProperties struct { // ADLSGen2FileSystemProperties properties of the ADLS Gen2 file system data set. type ADLSGen2FileSystemProperties struct { - // DataSetID - READ-ONLY; Unique DataSet id. + // DataSetID - READ-ONLY; Unique id for identifying a data set resource DataSetID *string `json:"dataSetId,omitempty"` // FileSystem - The file system name. FileSystem *string `json:"fileSystem,omitempty"` @@ -1572,7 +1661,7 @@ type ADLSGen2FileSystemProperties struct { type ADLSGen2FolderDataSet struct { // ADLSGen2FolderProperties - ADLS Gen 2 folder dataset properties. *ADLSGen2FolderProperties `json:"properties,omitempty"` - // Kind - Possible values include: 'KindDataSet', 'KindBlob', 'KindBlobFolder', 'KindContainer', 'KindAdlsGen2File', 'KindAdlsGen2Folder', 'KindAdlsGen2FileSystem', 'KindAdlsGen1Folder', 'KindAdlsGen1File' + // Kind - Possible values include: 'KindDataSet', 'KindBlob', 'KindBlobFolder', 'KindContainer', 'KindAdlsGen2File', 'KindAdlsGen2Folder', 'KindAdlsGen2FileSystem', 'KindAdlsGen1Folder', 'KindAdlsGen1File', 'KindSQLDWTable', 'KindSQLDBTable' Kind Kind `json:"kind,omitempty"` // ID - READ-ONLY; The resource id of the azure resource ID *string `json:"id,omitempty"` @@ -1635,6 +1724,16 @@ func (ag2fds ADLSGen2FolderDataSet) AsADLSGen1FileDataSet() (*ADLSGen1FileDataSe return nil, false } +// AsSQLDWTableDataSet is the BasicDataSet implementation for ADLSGen2FolderDataSet. +func (ag2fds ADLSGen2FolderDataSet) AsSQLDWTableDataSet() (*SQLDWTableDataSet, bool) { + return nil, false +} + +// AsSQLDBTableDataSet is the BasicDataSet implementation for ADLSGen2FolderDataSet. +func (ag2fds ADLSGen2FolderDataSet) AsSQLDBTableDataSet() (*SQLDBTableDataSet, bool) { + return nil, false +} + // AsDataSet is the BasicDataSet implementation for ADLSGen2FolderDataSet. func (ag2fds ADLSGen2FolderDataSet) AsDataSet() (*DataSet, bool) { return nil, false @@ -1709,7 +1808,7 @@ func (ag2fds *ADLSGen2FolderDataSet) UnmarshalJSON(body []byte) error { type ADLSGen2FolderDataSetMapping struct { // ADLSGen2FolderDataSetMappingProperties - ADLS Gen2 folder dataset mapping properties. *ADLSGen2FolderDataSetMappingProperties `json:"properties,omitempty"` - // Kind - Possible values include: 'KindBasicDataSetMappingKindDataSetMapping', 'KindBasicDataSetMappingKindBlob', 'KindBasicDataSetMappingKindBlobFolder', 'KindBasicDataSetMappingKindContainer', 'KindBasicDataSetMappingKindAdlsGen2File', 'KindBasicDataSetMappingKindAdlsGen2Folder', 'KindBasicDataSetMappingKindAdlsGen2FileSystem' + // Kind - Possible values include: 'KindBasicDataSetMappingKindDataSetMapping', 'KindBasicDataSetMappingKindBlob', 'KindBasicDataSetMappingKindBlobFolder', 'KindBasicDataSetMappingKindContainer', 'KindBasicDataSetMappingKindAdlsGen2File', 'KindBasicDataSetMappingKindAdlsGen2Folder', 'KindBasicDataSetMappingKindAdlsGen2FileSystem', 'KindBasicDataSetMappingKindSQLDWTable', 'KindBasicDataSetMappingKindSQLDBTable' Kind KindBasicDataSetMapping `json:"kind,omitempty"` // ID - READ-ONLY; The resource id of the azure resource ID *string `json:"id,omitempty"` @@ -1762,6 +1861,16 @@ func (ag2fdsm ADLSGen2FolderDataSetMapping) AsADLSGen2FileSystemDataSetMapping() return nil, false } +// AsSQLDWTableDataSetMapping is the BasicDataSetMapping implementation for ADLSGen2FolderDataSetMapping. +func (ag2fdsm ADLSGen2FolderDataSetMapping) AsSQLDWTableDataSetMapping() (*SQLDWTableDataSetMapping, bool) { + return nil, false +} + +// AsSQLDBTableDataSetMapping is the BasicDataSetMapping implementation for ADLSGen2FolderDataSetMapping. +func (ag2fdsm ADLSGen2FolderDataSetMapping) AsSQLDBTableDataSetMapping() (*SQLDBTableDataSetMapping, bool) { + return nil, false +} + // AsDataSetMapping is the BasicDataSetMapping implementation for ADLSGen2FolderDataSetMapping. func (ag2fdsm ADLSGen2FolderDataSetMapping) AsDataSetMapping() (*DataSetMapping, bool) { return nil, false @@ -1852,7 +1961,7 @@ type ADLSGen2FolderDataSetMappingProperties struct { // ADLSGen2FolderProperties properties of the ADLS Gen2 folder data set. type ADLSGen2FolderProperties struct { - // DataSetID - READ-ONLY; Unique DataSet id. + // DataSetID - READ-ONLY; Unique id for identifying a data set resource DataSetID *string `json:"dataSetId,omitempty"` // FileSystem - File system to which the folder belongs. FileSystem *string `json:"fileSystem,omitempty"` @@ -1870,7 +1979,7 @@ type ADLSGen2FolderProperties struct { type BlobContainerDataSet struct { // BlobContainerProperties - Blob container dataset properties. *BlobContainerProperties `json:"properties,omitempty"` - // Kind - Possible values include: 'KindDataSet', 'KindBlob', 'KindBlobFolder', 'KindContainer', 'KindAdlsGen2File', 'KindAdlsGen2Folder', 'KindAdlsGen2FileSystem', 'KindAdlsGen1Folder', 'KindAdlsGen1File' + // Kind - Possible values include: 'KindDataSet', 'KindBlob', 'KindBlobFolder', 'KindContainer', 'KindAdlsGen2File', 'KindAdlsGen2Folder', 'KindAdlsGen2FileSystem', 'KindAdlsGen1Folder', 'KindAdlsGen1File', 'KindSQLDWTable', 'KindSQLDBTable' Kind Kind `json:"kind,omitempty"` // ID - READ-ONLY; The resource id of the azure resource ID *string `json:"id,omitempty"` @@ -1933,6 +2042,16 @@ func (bcds BlobContainerDataSet) AsADLSGen1FileDataSet() (*ADLSGen1FileDataSet, return nil, false } +// AsSQLDWTableDataSet is the BasicDataSet implementation for BlobContainerDataSet. +func (bcds BlobContainerDataSet) AsSQLDWTableDataSet() (*SQLDWTableDataSet, bool) { + return nil, false +} + +// AsSQLDBTableDataSet is the BasicDataSet implementation for BlobContainerDataSet. +func (bcds BlobContainerDataSet) AsSQLDBTableDataSet() (*SQLDBTableDataSet, bool) { + return nil, false +} + // AsDataSet is the BasicDataSet implementation for BlobContainerDataSet. func (bcds BlobContainerDataSet) AsDataSet() (*DataSet, bool) { return nil, false @@ -2007,7 +2126,7 @@ func (bcds *BlobContainerDataSet) UnmarshalJSON(body []byte) error { type BlobContainerDataSetMapping struct { // BlobContainerMappingProperties - Blob container dataset mapping properties. *BlobContainerMappingProperties `json:"properties,omitempty"` - // Kind - Possible values include: 'KindBasicDataSetMappingKindDataSetMapping', 'KindBasicDataSetMappingKindBlob', 'KindBasicDataSetMappingKindBlobFolder', 'KindBasicDataSetMappingKindContainer', 'KindBasicDataSetMappingKindAdlsGen2File', 'KindBasicDataSetMappingKindAdlsGen2Folder', 'KindBasicDataSetMappingKindAdlsGen2FileSystem' + // Kind - Possible values include: 'KindBasicDataSetMappingKindDataSetMapping', 'KindBasicDataSetMappingKindBlob', 'KindBasicDataSetMappingKindBlobFolder', 'KindBasicDataSetMappingKindContainer', 'KindBasicDataSetMappingKindAdlsGen2File', 'KindBasicDataSetMappingKindAdlsGen2Folder', 'KindBasicDataSetMappingKindAdlsGen2FileSystem', 'KindBasicDataSetMappingKindSQLDWTable', 'KindBasicDataSetMappingKindSQLDBTable' Kind KindBasicDataSetMapping `json:"kind,omitempty"` // ID - READ-ONLY; The resource id of the azure resource ID *string `json:"id,omitempty"` @@ -2060,6 +2179,16 @@ func (bcdsm BlobContainerDataSetMapping) AsADLSGen2FileSystemDataSetMapping() (* return nil, false } +// AsSQLDWTableDataSetMapping is the BasicDataSetMapping implementation for BlobContainerDataSetMapping. +func (bcdsm BlobContainerDataSetMapping) AsSQLDWTableDataSetMapping() (*SQLDWTableDataSetMapping, bool) { + return nil, false +} + +// AsSQLDBTableDataSetMapping is the BasicDataSetMapping implementation for BlobContainerDataSetMapping. +func (bcdsm BlobContainerDataSetMapping) AsSQLDBTableDataSetMapping() (*SQLDBTableDataSetMapping, bool) { + return nil, false +} + // AsDataSetMapping is the BasicDataSetMapping implementation for BlobContainerDataSetMapping. func (bcdsm BlobContainerDataSetMapping) AsDataSetMapping() (*DataSetMapping, bool) { return nil, false @@ -2150,7 +2279,7 @@ type BlobContainerMappingProperties struct { type BlobContainerProperties struct { // ContainerName - BLOB Container name. ContainerName *string `json:"containerName,omitempty"` - // DataSetID - READ-ONLY; Unique DataSet id. + // DataSetID - READ-ONLY; Unique id for identifying a data set resource DataSetID *string `json:"dataSetId,omitempty"` // ResourceGroup - Resource group of storage account ResourceGroup *string `json:"resourceGroup,omitempty"` @@ -2164,7 +2293,7 @@ type BlobContainerProperties struct { type BlobDataSet struct { // BlobProperties - Blob dataset properties. *BlobProperties `json:"properties,omitempty"` - // Kind - Possible values include: 'KindDataSet', 'KindBlob', 'KindBlobFolder', 'KindContainer', 'KindAdlsGen2File', 'KindAdlsGen2Folder', 'KindAdlsGen2FileSystem', 'KindAdlsGen1Folder', 'KindAdlsGen1File' + // Kind - Possible values include: 'KindDataSet', 'KindBlob', 'KindBlobFolder', 'KindContainer', 'KindAdlsGen2File', 'KindAdlsGen2Folder', 'KindAdlsGen2FileSystem', 'KindAdlsGen1Folder', 'KindAdlsGen1File', 'KindSQLDWTable', 'KindSQLDBTable' Kind Kind `json:"kind,omitempty"` // ID - READ-ONLY; The resource id of the azure resource ID *string `json:"id,omitempty"` @@ -2227,6 +2356,16 @@ func (bds BlobDataSet) AsADLSGen1FileDataSet() (*ADLSGen1FileDataSet, bool) { return nil, false } +// AsSQLDWTableDataSet is the BasicDataSet implementation for BlobDataSet. +func (bds BlobDataSet) AsSQLDWTableDataSet() (*SQLDWTableDataSet, bool) { + return nil, false +} + +// AsSQLDBTableDataSet is the BasicDataSet implementation for BlobDataSet. +func (bds BlobDataSet) AsSQLDBTableDataSet() (*SQLDBTableDataSet, bool) { + return nil, false +} + // AsDataSet is the BasicDataSet implementation for BlobDataSet. func (bds BlobDataSet) AsDataSet() (*DataSet, bool) { return nil, false @@ -2301,7 +2440,7 @@ func (bds *BlobDataSet) UnmarshalJSON(body []byte) error { type BlobDataSetMapping struct { // BlobMappingProperties - Blob dataset mapping properties. *BlobMappingProperties `json:"properties,omitempty"` - // Kind - Possible values include: 'KindBasicDataSetMappingKindDataSetMapping', 'KindBasicDataSetMappingKindBlob', 'KindBasicDataSetMappingKindBlobFolder', 'KindBasicDataSetMappingKindContainer', 'KindBasicDataSetMappingKindAdlsGen2File', 'KindBasicDataSetMappingKindAdlsGen2Folder', 'KindBasicDataSetMappingKindAdlsGen2FileSystem' + // Kind - Possible values include: 'KindBasicDataSetMappingKindDataSetMapping', 'KindBasicDataSetMappingKindBlob', 'KindBasicDataSetMappingKindBlobFolder', 'KindBasicDataSetMappingKindContainer', 'KindBasicDataSetMappingKindAdlsGen2File', 'KindBasicDataSetMappingKindAdlsGen2Folder', 'KindBasicDataSetMappingKindAdlsGen2FileSystem', 'KindBasicDataSetMappingKindSQLDWTable', 'KindBasicDataSetMappingKindSQLDBTable' Kind KindBasicDataSetMapping `json:"kind,omitempty"` // ID - READ-ONLY; The resource id of the azure resource ID *string `json:"id,omitempty"` @@ -2354,6 +2493,16 @@ func (bdsm BlobDataSetMapping) AsADLSGen2FileSystemDataSetMapping() (*ADLSGen2Fi return nil, false } +// AsSQLDWTableDataSetMapping is the BasicDataSetMapping implementation for BlobDataSetMapping. +func (bdsm BlobDataSetMapping) AsSQLDWTableDataSetMapping() (*SQLDWTableDataSetMapping, bool) { + return nil, false +} + +// AsSQLDBTableDataSetMapping is the BasicDataSetMapping implementation for BlobDataSetMapping. +func (bdsm BlobDataSetMapping) AsSQLDBTableDataSetMapping() (*SQLDBTableDataSetMapping, bool) { + return nil, false +} + // AsDataSetMapping is the BasicDataSetMapping implementation for BlobDataSetMapping. func (bdsm BlobDataSetMapping) AsDataSetMapping() (*DataSetMapping, bool) { return nil, false @@ -2428,7 +2577,7 @@ func (bdsm *BlobDataSetMapping) UnmarshalJSON(body []byte) error { type BlobFolderDataSet struct { // BlobFolderProperties - Blob folder dataset properties. *BlobFolderProperties `json:"properties,omitempty"` - // Kind - Possible values include: 'KindDataSet', 'KindBlob', 'KindBlobFolder', 'KindContainer', 'KindAdlsGen2File', 'KindAdlsGen2Folder', 'KindAdlsGen2FileSystem', 'KindAdlsGen1Folder', 'KindAdlsGen1File' + // Kind - Possible values include: 'KindDataSet', 'KindBlob', 'KindBlobFolder', 'KindContainer', 'KindAdlsGen2File', 'KindAdlsGen2Folder', 'KindAdlsGen2FileSystem', 'KindAdlsGen1Folder', 'KindAdlsGen1File', 'KindSQLDWTable', 'KindSQLDBTable' Kind Kind `json:"kind,omitempty"` // ID - READ-ONLY; The resource id of the azure resource ID *string `json:"id,omitempty"` @@ -2491,6 +2640,16 @@ func (bfds BlobFolderDataSet) AsADLSGen1FileDataSet() (*ADLSGen1FileDataSet, boo return nil, false } +// AsSQLDWTableDataSet is the BasicDataSet implementation for BlobFolderDataSet. +func (bfds BlobFolderDataSet) AsSQLDWTableDataSet() (*SQLDWTableDataSet, bool) { + return nil, false +} + +// AsSQLDBTableDataSet is the BasicDataSet implementation for BlobFolderDataSet. +func (bfds BlobFolderDataSet) AsSQLDBTableDataSet() (*SQLDBTableDataSet, bool) { + return nil, false +} + // AsDataSet is the BasicDataSet implementation for BlobFolderDataSet. func (bfds BlobFolderDataSet) AsDataSet() (*DataSet, bool) { return nil, false @@ -2565,7 +2724,7 @@ func (bfds *BlobFolderDataSet) UnmarshalJSON(body []byte) error { type BlobFolderDataSetMapping struct { // BlobFolderMappingProperties - Blob folder dataset mapping properties. *BlobFolderMappingProperties `json:"properties,omitempty"` - // Kind - Possible values include: 'KindBasicDataSetMappingKindDataSetMapping', 'KindBasicDataSetMappingKindBlob', 'KindBasicDataSetMappingKindBlobFolder', 'KindBasicDataSetMappingKindContainer', 'KindBasicDataSetMappingKindAdlsGen2File', 'KindBasicDataSetMappingKindAdlsGen2Folder', 'KindBasicDataSetMappingKindAdlsGen2FileSystem' + // Kind - Possible values include: 'KindBasicDataSetMappingKindDataSetMapping', 'KindBasicDataSetMappingKindBlob', 'KindBasicDataSetMappingKindBlobFolder', 'KindBasicDataSetMappingKindContainer', 'KindBasicDataSetMappingKindAdlsGen2File', 'KindBasicDataSetMappingKindAdlsGen2Folder', 'KindBasicDataSetMappingKindAdlsGen2FileSystem', 'KindBasicDataSetMappingKindSQLDWTable', 'KindBasicDataSetMappingKindSQLDBTable' Kind KindBasicDataSetMapping `json:"kind,omitempty"` // ID - READ-ONLY; The resource id of the azure resource ID *string `json:"id,omitempty"` @@ -2618,6 +2777,16 @@ func (bfdsm BlobFolderDataSetMapping) AsADLSGen2FileSystemDataSetMapping() (*ADL return nil, false } +// AsSQLDWTableDataSetMapping is the BasicDataSetMapping implementation for BlobFolderDataSetMapping. +func (bfdsm BlobFolderDataSetMapping) AsSQLDWTableDataSetMapping() (*SQLDWTableDataSetMapping, bool) { + return nil, false +} + +// AsSQLDBTableDataSetMapping is the BasicDataSetMapping implementation for BlobFolderDataSetMapping. +func (bfdsm BlobFolderDataSetMapping) AsSQLDBTableDataSetMapping() (*SQLDBTableDataSetMapping, bool) { + return nil, false +} + // AsDataSetMapping is the BasicDataSetMapping implementation for BlobFolderDataSetMapping. func (bfdsm BlobFolderDataSetMapping) AsDataSetMapping() (*DataSetMapping, bool) { return nil, false @@ -2710,7 +2879,7 @@ type BlobFolderMappingProperties struct { type BlobFolderProperties struct { // ContainerName - Container that has the file path. ContainerName *string `json:"containerName,omitempty"` - // DataSetID - READ-ONLY; Unique DataSet id. + // DataSetID - READ-ONLY; Unique id for identifying a data set resource DataSetID *string `json:"dataSetId,omitempty"` // Prefix - Prefix for blob folder Prefix *string `json:"prefix,omitempty"` @@ -2732,6 +2901,8 @@ type BlobMappingProperties struct { DataSetMappingStatus DataSetMappingStatus `json:"dataSetMappingStatus,omitempty"` // FilePath - File path within the source data set FilePath *string `json:"filePath,omitempty"` + // OutputType - File output type. Possible values include: 'Csv', 'Parquet' + OutputType OutputType `json:"outputType,omitempty"` // ResourceGroup - Resource group of storage account. ResourceGroup *string `json:"resourceGroup,omitempty"` // StorageAccountName - Storage account name of the source data set. @@ -2744,7 +2915,7 @@ type BlobMappingProperties struct { type BlobProperties struct { // ContainerName - Container that has the file path. ContainerName *string `json:"containerName,omitempty"` - // DataSetID - READ-ONLY; Unique DataSet id. + // DataSetID - READ-ONLY; Unique id for identifying a data set resource DataSetID *string `json:"dataSetId,omitempty"` // FilePath - File path within the source data set FilePath *string `json:"filePath,omitempty"` @@ -3225,7 +3396,7 @@ type ConsumerSourceDataSetProperties struct { DataSetID *string `json:"dataSetId,omitempty"` // DataSetName - READ-ONLY; DataSet name DataSetName *string `json:"dataSetName,omitempty"` - // DataSetType - READ-ONLY; Type of dataSet. Possible values include: 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', 'AdlsGen2File', 'AdlsGen1Folder', 'AdlsGen1File' + // DataSetType - READ-ONLY; Type of dataSet. Possible values include: 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', 'AdlsGen2File', 'AdlsGen1Folder', 'AdlsGen1File', 'SQLDBTable', 'SQLDWTable' DataSetType DataSetType `json:"dataSetType,omitempty"` } @@ -3239,13 +3410,15 @@ type BasicDataSet interface { AsADLSGen2FileSystemDataSet() (*ADLSGen2FileSystemDataSet, bool) AsADLSGen1FolderDataSet() (*ADLSGen1FolderDataSet, bool) AsADLSGen1FileDataSet() (*ADLSGen1FileDataSet, bool) + AsSQLDWTableDataSet() (*SQLDWTableDataSet, bool) + AsSQLDBTableDataSet() (*SQLDBTableDataSet, bool) AsDataSet() (*DataSet, bool) } // DataSet a DataSet data transfer object. type DataSet struct { autorest.Response `json:"-"` - // Kind - Possible values include: 'KindDataSet', 'KindBlob', 'KindBlobFolder', 'KindContainer', 'KindAdlsGen2File', 'KindAdlsGen2Folder', 'KindAdlsGen2FileSystem', 'KindAdlsGen1Folder', 'KindAdlsGen1File' + // Kind - Possible values include: 'KindDataSet', 'KindBlob', 'KindBlobFolder', 'KindContainer', 'KindAdlsGen2File', 'KindAdlsGen2Folder', 'KindAdlsGen2FileSystem', 'KindAdlsGen1Folder', 'KindAdlsGen1File', 'KindSQLDWTable', 'KindSQLDBTable' Kind Kind `json:"kind,omitempty"` // ID - READ-ONLY; The resource id of the azure resource ID *string `json:"id,omitempty"` @@ -3295,6 +3468,14 @@ func unmarshalBasicDataSet(body []byte) (BasicDataSet, error) { var ag1fds ADLSGen1FileDataSet err := json.Unmarshal(body, &ag1fds) return ag1fds, err + case string(KindSQLDWTable): + var sdtds SQLDWTableDataSet + err := json.Unmarshal(body, &sdtds) + return sdtds, err + case string(KindSQLDBTable): + var sdtds SQLDBTableDataSet + err := json.Unmarshal(body, &sdtds) + return sdtds, err default: var ds DataSet err := json.Unmarshal(body, &ds) @@ -3370,6 +3551,16 @@ func (ds DataSet) AsADLSGen1FileDataSet() (*ADLSGen1FileDataSet, bool) { return nil, false } +// AsSQLDWTableDataSet is the BasicDataSet implementation for DataSet. +func (ds DataSet) AsSQLDWTableDataSet() (*SQLDWTableDataSet, bool) { + return nil, false +} + +// AsSQLDBTableDataSet is the BasicDataSet implementation for DataSet. +func (ds DataSet) AsSQLDBTableDataSet() (*SQLDBTableDataSet, bool) { + return nil, false +} + // AsDataSet is the BasicDataSet implementation for DataSet. func (ds DataSet) AsDataSet() (*DataSet, bool) { return &ds, true @@ -3566,13 +3757,15 @@ type BasicDataSetMapping interface { AsADLSGen2FileDataSetMapping() (*ADLSGen2FileDataSetMapping, bool) AsADLSGen2FolderDataSetMapping() (*ADLSGen2FolderDataSetMapping, bool) AsADLSGen2FileSystemDataSetMapping() (*ADLSGen2FileSystemDataSetMapping, bool) + AsSQLDWTableDataSetMapping() (*SQLDWTableDataSetMapping, bool) + AsSQLDBTableDataSetMapping() (*SQLDBTableDataSetMapping, bool) AsDataSetMapping() (*DataSetMapping, bool) } // DataSetMapping a dataset mapping data transfer object. type DataSetMapping struct { autorest.Response `json:"-"` - // Kind - Possible values include: 'KindBasicDataSetMappingKindDataSetMapping', 'KindBasicDataSetMappingKindBlob', 'KindBasicDataSetMappingKindBlobFolder', 'KindBasicDataSetMappingKindContainer', 'KindBasicDataSetMappingKindAdlsGen2File', 'KindBasicDataSetMappingKindAdlsGen2Folder', 'KindBasicDataSetMappingKindAdlsGen2FileSystem' + // Kind - Possible values include: 'KindBasicDataSetMappingKindDataSetMapping', 'KindBasicDataSetMappingKindBlob', 'KindBasicDataSetMappingKindBlobFolder', 'KindBasicDataSetMappingKindContainer', 'KindBasicDataSetMappingKindAdlsGen2File', 'KindBasicDataSetMappingKindAdlsGen2Folder', 'KindBasicDataSetMappingKindAdlsGen2FileSystem', 'KindBasicDataSetMappingKindSQLDWTable', 'KindBasicDataSetMappingKindSQLDBTable' Kind KindBasicDataSetMapping `json:"kind,omitempty"` // ID - READ-ONLY; The resource id of the azure resource ID *string `json:"id,omitempty"` @@ -3614,6 +3807,14 @@ func unmarshalBasicDataSetMapping(body []byte) (BasicDataSetMapping, error) { var ag2fsdsm ADLSGen2FileSystemDataSetMapping err := json.Unmarshal(body, &ag2fsdsm) return ag2fsdsm, err + case string(KindBasicDataSetMappingKindSQLDWTable): + var sdtdsm SQLDWTableDataSetMapping + err := json.Unmarshal(body, &sdtdsm) + return sdtdsm, err + case string(KindBasicDataSetMappingKindSQLDBTable): + var sdtdsm SQLDBTableDataSetMapping + err := json.Unmarshal(body, &sdtdsm) + return sdtdsm, err default: var dsm DataSetMapping err := json.Unmarshal(body, &dsm) @@ -3679,6 +3880,16 @@ func (dsm DataSetMapping) AsADLSGen2FileSystemDataSetMapping() (*ADLSGen2FileSys return nil, false } +// AsSQLDWTableDataSetMapping is the BasicDataSetMapping implementation for DataSetMapping. +func (dsm DataSetMapping) AsSQLDWTableDataSetMapping() (*SQLDWTableDataSetMapping, bool) { + return nil, false +} + +// AsSQLDBTableDataSetMapping is the BasicDataSetMapping implementation for DataSetMapping. +func (dsm DataSetMapping) AsSQLDBTableDataSetMapping() (*SQLDBTableDataSetMapping, bool) { + return nil, false +} + // AsDataSetMapping is the BasicDataSetMapping implementation for DataSetMapping. func (dsm DataSetMapping) AsDataSetMapping() (*DataSetMapping, bool) { return &dsm, true @@ -6276,11 +6487,631 @@ func NewSourceShareSynchronizationSettingListPage(getNextPage func(context.Conte return SourceShareSynchronizationSettingListPage{fn: getNextPage} } +// SQLDBTableDataSet a SQL DB table dataset. +type SQLDBTableDataSet struct { + // SQLDBTableProperties - SQL DB table dataset properties. + *SQLDBTableProperties `json:"properties,omitempty"` + // Kind - Possible values include: 'KindDataSet', 'KindBlob', 'KindBlobFolder', 'KindContainer', 'KindAdlsGen2File', 'KindAdlsGen2Folder', 'KindAdlsGen2FileSystem', 'KindAdlsGen1Folder', 'KindAdlsGen1File', 'KindSQLDWTable', 'KindSQLDBTable' + Kind Kind `json:"kind,omitempty"` + // ID - READ-ONLY; The resource id of the azure resource + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Name of the azure resource + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Type of the azure resource + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for SQLDBTableDataSet. +func (sdtds SQLDBTableDataSet) MarshalJSON() ([]byte, error) { + sdtds.Kind = KindSQLDBTable + objectMap := make(map[string]interface{}) + if sdtds.SQLDBTableProperties != nil { + objectMap["properties"] = sdtds.SQLDBTableProperties + } + if sdtds.Kind != "" { + objectMap["kind"] = sdtds.Kind + } + return json.Marshal(objectMap) +} + +// AsBlobDataSet is the BasicDataSet implementation for SQLDBTableDataSet. +func (sdtds SQLDBTableDataSet) AsBlobDataSet() (*BlobDataSet, bool) { + return nil, false +} + +// AsBlobFolderDataSet is the BasicDataSet implementation for SQLDBTableDataSet. +func (sdtds SQLDBTableDataSet) AsBlobFolderDataSet() (*BlobFolderDataSet, bool) { + return nil, false +} + +// AsBlobContainerDataSet is the BasicDataSet implementation for SQLDBTableDataSet. +func (sdtds SQLDBTableDataSet) AsBlobContainerDataSet() (*BlobContainerDataSet, bool) { + return nil, false +} + +// AsADLSGen2FileDataSet is the BasicDataSet implementation for SQLDBTableDataSet. +func (sdtds SQLDBTableDataSet) AsADLSGen2FileDataSet() (*ADLSGen2FileDataSet, bool) { + return nil, false +} + +// AsADLSGen2FolderDataSet is the BasicDataSet implementation for SQLDBTableDataSet. +func (sdtds SQLDBTableDataSet) AsADLSGen2FolderDataSet() (*ADLSGen2FolderDataSet, bool) { + return nil, false +} + +// AsADLSGen2FileSystemDataSet is the BasicDataSet implementation for SQLDBTableDataSet. +func (sdtds SQLDBTableDataSet) AsADLSGen2FileSystemDataSet() (*ADLSGen2FileSystemDataSet, bool) { + return nil, false +} + +// AsADLSGen1FolderDataSet is the BasicDataSet implementation for SQLDBTableDataSet. +func (sdtds SQLDBTableDataSet) AsADLSGen1FolderDataSet() (*ADLSGen1FolderDataSet, bool) { + return nil, false +} + +// AsADLSGen1FileDataSet is the BasicDataSet implementation for SQLDBTableDataSet. +func (sdtds SQLDBTableDataSet) AsADLSGen1FileDataSet() (*ADLSGen1FileDataSet, bool) { + return nil, false +} + +// AsSQLDWTableDataSet is the BasicDataSet implementation for SQLDBTableDataSet. +func (sdtds SQLDBTableDataSet) AsSQLDWTableDataSet() (*SQLDWTableDataSet, bool) { + return nil, false +} + +// AsSQLDBTableDataSet is the BasicDataSet implementation for SQLDBTableDataSet. +func (sdtds SQLDBTableDataSet) AsSQLDBTableDataSet() (*SQLDBTableDataSet, bool) { + return &sdtds, true +} + +// AsDataSet is the BasicDataSet implementation for SQLDBTableDataSet. +func (sdtds SQLDBTableDataSet) AsDataSet() (*DataSet, bool) { + return nil, false +} + +// AsBasicDataSet is the BasicDataSet implementation for SQLDBTableDataSet. +func (sdtds SQLDBTableDataSet) AsBasicDataSet() (BasicDataSet, bool) { + return &sdtds, true +} + +// UnmarshalJSON is the custom unmarshaler for SQLDBTableDataSet struct. +func (sdtds *SQLDBTableDataSet) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var sQLDBTableProperties SQLDBTableProperties + err = json.Unmarshal(*v, &sQLDBTableProperties) + if err != nil { + return err + } + sdtds.SQLDBTableProperties = &sQLDBTableProperties + } + case "kind": + if v != nil { + var kind Kind + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + sdtds.Kind = kind + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + sdtds.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + sdtds.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + sdtds.Type = &typeVar + } + } + } + + return nil +} + +// SQLDBTableDataSetMapping a SQL DB Table dataset mapping. +type SQLDBTableDataSetMapping struct { + // SQLDBTableDataSetMappingProperties - Sql DB dataset mapping properties. + *SQLDBTableDataSetMappingProperties `json:"properties,omitempty"` + // Kind - Possible values include: 'KindBasicDataSetMappingKindDataSetMapping', 'KindBasicDataSetMappingKindBlob', 'KindBasicDataSetMappingKindBlobFolder', 'KindBasicDataSetMappingKindContainer', 'KindBasicDataSetMappingKindAdlsGen2File', 'KindBasicDataSetMappingKindAdlsGen2Folder', 'KindBasicDataSetMappingKindAdlsGen2FileSystem', 'KindBasicDataSetMappingKindSQLDWTable', 'KindBasicDataSetMappingKindSQLDBTable' + Kind KindBasicDataSetMapping `json:"kind,omitempty"` + // ID - READ-ONLY; The resource id of the azure resource + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Name of the azure resource + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Type of the azure resource + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for SQLDBTableDataSetMapping. +func (sdtdsm SQLDBTableDataSetMapping) MarshalJSON() ([]byte, error) { + sdtdsm.Kind = KindBasicDataSetMappingKindSQLDBTable + objectMap := make(map[string]interface{}) + if sdtdsm.SQLDBTableDataSetMappingProperties != nil { + objectMap["properties"] = sdtdsm.SQLDBTableDataSetMappingProperties + } + if sdtdsm.Kind != "" { + objectMap["kind"] = sdtdsm.Kind + } + return json.Marshal(objectMap) +} + +// AsBlobDataSetMapping is the BasicDataSetMapping implementation for SQLDBTableDataSetMapping. +func (sdtdsm SQLDBTableDataSetMapping) AsBlobDataSetMapping() (*BlobDataSetMapping, bool) { + return nil, false +} + +// AsBlobFolderDataSetMapping is the BasicDataSetMapping implementation for SQLDBTableDataSetMapping. +func (sdtdsm SQLDBTableDataSetMapping) AsBlobFolderDataSetMapping() (*BlobFolderDataSetMapping, bool) { + return nil, false +} + +// AsBlobContainerDataSetMapping is the BasicDataSetMapping implementation for SQLDBTableDataSetMapping. +func (sdtdsm SQLDBTableDataSetMapping) AsBlobContainerDataSetMapping() (*BlobContainerDataSetMapping, bool) { + return nil, false +} + +// AsADLSGen2FileDataSetMapping is the BasicDataSetMapping implementation for SQLDBTableDataSetMapping. +func (sdtdsm SQLDBTableDataSetMapping) AsADLSGen2FileDataSetMapping() (*ADLSGen2FileDataSetMapping, bool) { + return nil, false +} + +// AsADLSGen2FolderDataSetMapping is the BasicDataSetMapping implementation for SQLDBTableDataSetMapping. +func (sdtdsm SQLDBTableDataSetMapping) AsADLSGen2FolderDataSetMapping() (*ADLSGen2FolderDataSetMapping, bool) { + return nil, false +} + +// AsADLSGen2FileSystemDataSetMapping is the BasicDataSetMapping implementation for SQLDBTableDataSetMapping. +func (sdtdsm SQLDBTableDataSetMapping) AsADLSGen2FileSystemDataSetMapping() (*ADLSGen2FileSystemDataSetMapping, bool) { + return nil, false +} + +// AsSQLDWTableDataSetMapping is the BasicDataSetMapping implementation for SQLDBTableDataSetMapping. +func (sdtdsm SQLDBTableDataSetMapping) AsSQLDWTableDataSetMapping() (*SQLDWTableDataSetMapping, bool) { + return nil, false +} + +// AsSQLDBTableDataSetMapping is the BasicDataSetMapping implementation for SQLDBTableDataSetMapping. +func (sdtdsm SQLDBTableDataSetMapping) AsSQLDBTableDataSetMapping() (*SQLDBTableDataSetMapping, bool) { + return &sdtdsm, true +} + +// AsDataSetMapping is the BasicDataSetMapping implementation for SQLDBTableDataSetMapping. +func (sdtdsm SQLDBTableDataSetMapping) AsDataSetMapping() (*DataSetMapping, bool) { + return nil, false +} + +// AsBasicDataSetMapping is the BasicDataSetMapping implementation for SQLDBTableDataSetMapping. +func (sdtdsm SQLDBTableDataSetMapping) AsBasicDataSetMapping() (BasicDataSetMapping, bool) { + return &sdtdsm, true +} + +// UnmarshalJSON is the custom unmarshaler for SQLDBTableDataSetMapping struct. +func (sdtdsm *SQLDBTableDataSetMapping) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var sQLDBTableDataSetMappingProperties SQLDBTableDataSetMappingProperties + err = json.Unmarshal(*v, &sQLDBTableDataSetMappingProperties) + if err != nil { + return err + } + sdtdsm.SQLDBTableDataSetMappingProperties = &sQLDBTableDataSetMappingProperties + } + case "kind": + if v != nil { + var kind KindBasicDataSetMapping + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + sdtdsm.Kind = kind + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + sdtdsm.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + sdtdsm.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + sdtdsm.Type = &typeVar + } + } + } + + return nil +} + +// SQLDBTableDataSetMappingProperties properties of the SQL DB table data set mapping. +type SQLDBTableDataSetMappingProperties struct { + // DatabaseName - DatabaseName name of the sink data set + DatabaseName *string `json:"databaseName,omitempty"` + // DataSetID - Gets the id of source dataset. + DataSetID *string `json:"dataSetId,omitempty"` + // DataSetMappingStatus - Gets the status of the dataset mapping. Possible values include: 'Ok', 'Broken' + DataSetMappingStatus DataSetMappingStatus `json:"dataSetMappingStatus,omitempty"` + // SQLServerResourceID - Resource id of SQL server + SQLServerResourceID *string `json:"sqlServerResourceId,omitempty"` + // TableName - SQL DB table name. + TableName *string `json:"tableName,omitempty"` +} + +// SQLDBTableProperties properties of the SQL DB table data set. +type SQLDBTableProperties struct { + // DatabaseName - Database name of the source data set + DatabaseName *string `json:"databaseName,omitempty"` + // DataSetID - READ-ONLY; Unique id for identifying a data set resource + DataSetID *string `json:"dataSetId,omitempty"` + // SQLServerResourceID - Resource id of SQL server + SQLServerResourceID *string `json:"sqlServerResourceId,omitempty"` + // TableName - SQL DB table name. + TableName *string `json:"tableName,omitempty"` +} + +// SQLDWTableDataSet a SQL DW table dataset. +type SQLDWTableDataSet struct { + // SQLDWTableProperties - SQL DW table dataset properties. + *SQLDWTableProperties `json:"properties,omitempty"` + // Kind - Possible values include: 'KindDataSet', 'KindBlob', 'KindBlobFolder', 'KindContainer', 'KindAdlsGen2File', 'KindAdlsGen2Folder', 'KindAdlsGen2FileSystem', 'KindAdlsGen1Folder', 'KindAdlsGen1File', 'KindSQLDWTable', 'KindSQLDBTable' + Kind Kind `json:"kind,omitempty"` + // ID - READ-ONLY; The resource id of the azure resource + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Name of the azure resource + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Type of the azure resource + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for SQLDWTableDataSet. +func (sdtds SQLDWTableDataSet) MarshalJSON() ([]byte, error) { + sdtds.Kind = KindSQLDWTable + objectMap := make(map[string]interface{}) + if sdtds.SQLDWTableProperties != nil { + objectMap["properties"] = sdtds.SQLDWTableProperties + } + if sdtds.Kind != "" { + objectMap["kind"] = sdtds.Kind + } + return json.Marshal(objectMap) +} + +// AsBlobDataSet is the BasicDataSet implementation for SQLDWTableDataSet. +func (sdtds SQLDWTableDataSet) AsBlobDataSet() (*BlobDataSet, bool) { + return nil, false +} + +// AsBlobFolderDataSet is the BasicDataSet implementation for SQLDWTableDataSet. +func (sdtds SQLDWTableDataSet) AsBlobFolderDataSet() (*BlobFolderDataSet, bool) { + return nil, false +} + +// AsBlobContainerDataSet is the BasicDataSet implementation for SQLDWTableDataSet. +func (sdtds SQLDWTableDataSet) AsBlobContainerDataSet() (*BlobContainerDataSet, bool) { + return nil, false +} + +// AsADLSGen2FileDataSet is the BasicDataSet implementation for SQLDWTableDataSet. +func (sdtds SQLDWTableDataSet) AsADLSGen2FileDataSet() (*ADLSGen2FileDataSet, bool) { + return nil, false +} + +// AsADLSGen2FolderDataSet is the BasicDataSet implementation for SQLDWTableDataSet. +func (sdtds SQLDWTableDataSet) AsADLSGen2FolderDataSet() (*ADLSGen2FolderDataSet, bool) { + return nil, false +} + +// AsADLSGen2FileSystemDataSet is the BasicDataSet implementation for SQLDWTableDataSet. +func (sdtds SQLDWTableDataSet) AsADLSGen2FileSystemDataSet() (*ADLSGen2FileSystemDataSet, bool) { + return nil, false +} + +// AsADLSGen1FolderDataSet is the BasicDataSet implementation for SQLDWTableDataSet. +func (sdtds SQLDWTableDataSet) AsADLSGen1FolderDataSet() (*ADLSGen1FolderDataSet, bool) { + return nil, false +} + +// AsADLSGen1FileDataSet is the BasicDataSet implementation for SQLDWTableDataSet. +func (sdtds SQLDWTableDataSet) AsADLSGen1FileDataSet() (*ADLSGen1FileDataSet, bool) { + return nil, false +} + +// AsSQLDWTableDataSet is the BasicDataSet implementation for SQLDWTableDataSet. +func (sdtds SQLDWTableDataSet) AsSQLDWTableDataSet() (*SQLDWTableDataSet, bool) { + return &sdtds, true +} + +// AsSQLDBTableDataSet is the BasicDataSet implementation for SQLDWTableDataSet. +func (sdtds SQLDWTableDataSet) AsSQLDBTableDataSet() (*SQLDBTableDataSet, bool) { + return nil, false +} + +// AsDataSet is the BasicDataSet implementation for SQLDWTableDataSet. +func (sdtds SQLDWTableDataSet) AsDataSet() (*DataSet, bool) { + return nil, false +} + +// AsBasicDataSet is the BasicDataSet implementation for SQLDWTableDataSet. +func (sdtds SQLDWTableDataSet) AsBasicDataSet() (BasicDataSet, bool) { + return &sdtds, true +} + +// UnmarshalJSON is the custom unmarshaler for SQLDWTableDataSet struct. +func (sdtds *SQLDWTableDataSet) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var sQLDWTableProperties SQLDWTableProperties + err = json.Unmarshal(*v, &sQLDWTableProperties) + if err != nil { + return err + } + sdtds.SQLDWTableProperties = &sQLDWTableProperties + } + case "kind": + if v != nil { + var kind Kind + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + sdtds.Kind = kind + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + sdtds.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + sdtds.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + sdtds.Type = &typeVar + } + } + } + + return nil +} + +// SQLDWTableDataSetMapping a SQL DW Table dataset mapping. +type SQLDWTableDataSetMapping struct { + // SQLDWTableDataSetMappingProperties - Sql DW dataset mapping properties. + *SQLDWTableDataSetMappingProperties `json:"properties,omitempty"` + // Kind - Possible values include: 'KindBasicDataSetMappingKindDataSetMapping', 'KindBasicDataSetMappingKindBlob', 'KindBasicDataSetMappingKindBlobFolder', 'KindBasicDataSetMappingKindContainer', 'KindBasicDataSetMappingKindAdlsGen2File', 'KindBasicDataSetMappingKindAdlsGen2Folder', 'KindBasicDataSetMappingKindAdlsGen2FileSystem', 'KindBasicDataSetMappingKindSQLDWTable', 'KindBasicDataSetMappingKindSQLDBTable' + Kind KindBasicDataSetMapping `json:"kind,omitempty"` + // ID - READ-ONLY; The resource id of the azure resource + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Name of the azure resource + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Type of the azure resource + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for SQLDWTableDataSetMapping. +func (sdtdsm SQLDWTableDataSetMapping) MarshalJSON() ([]byte, error) { + sdtdsm.Kind = KindBasicDataSetMappingKindSQLDWTable + objectMap := make(map[string]interface{}) + if sdtdsm.SQLDWTableDataSetMappingProperties != nil { + objectMap["properties"] = sdtdsm.SQLDWTableDataSetMappingProperties + } + if sdtdsm.Kind != "" { + objectMap["kind"] = sdtdsm.Kind + } + return json.Marshal(objectMap) +} + +// AsBlobDataSetMapping is the BasicDataSetMapping implementation for SQLDWTableDataSetMapping. +func (sdtdsm SQLDWTableDataSetMapping) AsBlobDataSetMapping() (*BlobDataSetMapping, bool) { + return nil, false +} + +// AsBlobFolderDataSetMapping is the BasicDataSetMapping implementation for SQLDWTableDataSetMapping. +func (sdtdsm SQLDWTableDataSetMapping) AsBlobFolderDataSetMapping() (*BlobFolderDataSetMapping, bool) { + return nil, false +} + +// AsBlobContainerDataSetMapping is the BasicDataSetMapping implementation for SQLDWTableDataSetMapping. +func (sdtdsm SQLDWTableDataSetMapping) AsBlobContainerDataSetMapping() (*BlobContainerDataSetMapping, bool) { + return nil, false +} + +// AsADLSGen2FileDataSetMapping is the BasicDataSetMapping implementation for SQLDWTableDataSetMapping. +func (sdtdsm SQLDWTableDataSetMapping) AsADLSGen2FileDataSetMapping() (*ADLSGen2FileDataSetMapping, bool) { + return nil, false +} + +// AsADLSGen2FolderDataSetMapping is the BasicDataSetMapping implementation for SQLDWTableDataSetMapping. +func (sdtdsm SQLDWTableDataSetMapping) AsADLSGen2FolderDataSetMapping() (*ADLSGen2FolderDataSetMapping, bool) { + return nil, false +} + +// AsADLSGen2FileSystemDataSetMapping is the BasicDataSetMapping implementation for SQLDWTableDataSetMapping. +func (sdtdsm SQLDWTableDataSetMapping) AsADLSGen2FileSystemDataSetMapping() (*ADLSGen2FileSystemDataSetMapping, bool) { + return nil, false +} + +// AsSQLDWTableDataSetMapping is the BasicDataSetMapping implementation for SQLDWTableDataSetMapping. +func (sdtdsm SQLDWTableDataSetMapping) AsSQLDWTableDataSetMapping() (*SQLDWTableDataSetMapping, bool) { + return &sdtdsm, true +} + +// AsSQLDBTableDataSetMapping is the BasicDataSetMapping implementation for SQLDWTableDataSetMapping. +func (sdtdsm SQLDWTableDataSetMapping) AsSQLDBTableDataSetMapping() (*SQLDBTableDataSetMapping, bool) { + return nil, false +} + +// AsDataSetMapping is the BasicDataSetMapping implementation for SQLDWTableDataSetMapping. +func (sdtdsm SQLDWTableDataSetMapping) AsDataSetMapping() (*DataSetMapping, bool) { + return nil, false +} + +// AsBasicDataSetMapping is the BasicDataSetMapping implementation for SQLDWTableDataSetMapping. +func (sdtdsm SQLDWTableDataSetMapping) AsBasicDataSetMapping() (BasicDataSetMapping, bool) { + return &sdtdsm, true +} + +// UnmarshalJSON is the custom unmarshaler for SQLDWTableDataSetMapping struct. +func (sdtdsm *SQLDWTableDataSetMapping) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var sQLDWTableDataSetMappingProperties SQLDWTableDataSetMappingProperties + err = json.Unmarshal(*v, &sQLDWTableDataSetMappingProperties) + if err != nil { + return err + } + sdtdsm.SQLDWTableDataSetMappingProperties = &sQLDWTableDataSetMappingProperties + } + case "kind": + if v != nil { + var kind KindBasicDataSetMapping + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + sdtdsm.Kind = kind + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + sdtdsm.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + sdtdsm.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + sdtdsm.Type = &typeVar + } + } + } + + return nil +} + +// SQLDWTableDataSetMappingProperties properties of the SQL DW table data set mapping. +type SQLDWTableDataSetMappingProperties struct { + // DataSetID - Gets the id of source dataset. + DataSetID *string `json:"dataSetId,omitempty"` + // DataSetMappingStatus - Gets the status of the dataset mapping. Possible values include: 'Ok', 'Broken' + DataSetMappingStatus DataSetMappingStatus `json:"dataSetMappingStatus,omitempty"` + // DataWarehouseName - DataWarehouse name of the source data set + DataWarehouseName *string `json:"dataWarehouseName,omitempty"` + // SQLServerResourceID - Resource id of SQL server + SQLServerResourceID *string `json:"sqlServerResourceId,omitempty"` + // TableName - SQL DW table name. + TableName *string `json:"tableName,omitempty"` +} + +// SQLDWTableProperties properties of the SQL DW table data set. +type SQLDWTableProperties struct { + // DataSetID - READ-ONLY; Unique id for identifying a data set resource + DataSetID *string `json:"dataSetId,omitempty"` + // DataWarehouseName - DataWarehouse name of the source data set + DataWarehouseName *string `json:"dataWarehouseName,omitempty"` + // SQLServerResourceID - Resource id of SQL server + SQLServerResourceID *string `json:"sqlServerResourceId,omitempty"` + // TableName - SQL DW table name. + TableName *string `json:"tableName,omitempty"` +} + // SynchronizationDetails synchronization details at dataset level type SynchronizationDetails struct { // DataSetID - READ-ONLY; id of dataSet DataSetID *string `json:"dataSetId,omitempty"` - // DataSetType - READ-ONLY; type of DataSet. Possible values include: 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', 'AdlsGen2File', 'AdlsGen1Folder', 'AdlsGen1File' + // DataSetType - READ-ONLY; type of DataSet. Possible values include: 'Blob', 'Container', 'BlobFolder', 'AdlsGen2FileSystem', 'AdlsGen2Folder', 'AdlsGen2File', 'AdlsGen1Folder', 'AdlsGen1File', 'SQLDBTable', 'SQLDWTable' DataSetType DataSetType `json:"dataSetType,omitempty"` // DurationMs - READ-ONLY; duration of dataset level copy DurationMs *int32 `json:"durationMs,omitempty"` @@ -6294,6 +7125,10 @@ type SynchronizationDetails struct { Message *string `json:"message,omitempty"` // Name - READ-ONLY; name of dataSet Name *string `json:"name,omitempty"` + // RowsCopied - READ-ONLY; The number of files copied into the sink dataset. + RowsCopied *int64 `json:"rowsCopied,omitempty"` + // RowsRead - READ-ONLY; The number of rows read from the source dataset. + RowsRead *int64 `json:"rowsRead,omitempty"` // SizeRead - READ-ONLY; The size of the data read from the source dataset in bytes. SizeRead *int64 `json:"sizeRead,omitempty"` // SizeWritten - READ-ONLY; The size of the data written into the sink dataset in bytes. diff --git a/services/preview/devspaces/mgmt/2018-06-01-preview/devspaces/containerhostmappings.go b/services/preview/devspaces/mgmt/2018-06-01-preview/devspaces/containerhostmappings.go deleted file mode 100644 index 66ea116b045f..000000000000 --- a/services/preview/devspaces/mgmt/2018-06-01-preview/devspaces/containerhostmappings.go +++ /dev/null @@ -1,118 +0,0 @@ -package devspaces - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/tracing" - "net/http" -) - -// ContainerHostMappingsClient is the dev Spaces Client -type ContainerHostMappingsClient struct { - BaseClient -} - -// NewContainerHostMappingsClient creates an instance of the ContainerHostMappingsClient client. -func NewContainerHostMappingsClient(subscriptionID string) ContainerHostMappingsClient { - return NewContainerHostMappingsClientWithBaseURI(DefaultBaseURI, subscriptionID) -} - -// NewContainerHostMappingsClientWithBaseURI creates an instance of the ContainerHostMappingsClient client. -func NewContainerHostMappingsClientWithBaseURI(baseURI string, subscriptionID string) ContainerHostMappingsClient { - return ContainerHostMappingsClient{NewWithBaseURI(baseURI, subscriptionID)} -} - -// GetContainerHostMapping sends the get container host mapping request. -// Parameters: -// location - location of the container host. -func (client ContainerHostMappingsClient) GetContainerHostMapping(ctx context.Context, containerHostMapping ContainerHostMapping, location string) (result SetObject, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/ContainerHostMappingsClient.GetContainerHostMapping") - defer func() { - sc := -1 - if result.Response.Response != nil { - sc = result.Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - req, err := client.GetContainerHostMappingPreparer(ctx, containerHostMapping, location) - if err != nil { - err = autorest.NewErrorWithError(err, "devspaces.ContainerHostMappingsClient", "GetContainerHostMapping", nil, "Failure preparing request") - return - } - - resp, err := client.GetContainerHostMappingSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "devspaces.ContainerHostMappingsClient", "GetContainerHostMapping", resp, "Failure sending request") - return - } - - result, err = client.GetContainerHostMappingResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "devspaces.ContainerHostMappingsClient", "GetContainerHostMapping", resp, "Failure responding to request") - } - - return -} - -// GetContainerHostMappingPreparer prepares the GetContainerHostMapping request. -func (client ContainerHostMappingsClient) GetContainerHostMappingPreparer(ctx context.Context, containerHostMapping ContainerHostMapping, location string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "location": autorest.Encode("path", location), - } - - const APIVersion = "2018-06-01-preview" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - containerHostMapping.MappedControllerResourceID = nil - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/providers/Microsoft.DevSpaces/locations/{location}/checkContainerHostMapping", pathParameters), - autorest.WithJSON(containerHostMapping), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetContainerHostMappingSender sends the GetContainerHostMapping request. The method will close the -// http.Response Body if it receives an error. -func (client ContainerHostMappingsClient) GetContainerHostMappingSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) -} - -// GetContainerHostMappingResponder handles the response to the GetContainerHostMapping request. The method always -// closes the http.Response Body. -func (client ContainerHostMappingsClient) GetContainerHostMappingResponder(resp *http.Response) (result SetObject, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result.Value), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} diff --git a/services/preview/devspaces/mgmt/2018-06-01-preview/devspaces/controllers.go b/services/preview/devspaces/mgmt/2018-06-01-preview/devspaces/controllers.go deleted file mode 100644 index 54c5c82c72ea..000000000000 --- a/services/preview/devspaces/mgmt/2018-06-01-preview/devspaces/controllers.go +++ /dev/null @@ -1,727 +0,0 @@ -package devspaces - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/autorest/validation" - "github.com/Azure/go-autorest/tracing" - "net/http" -) - -// ControllersClient is the dev Spaces Client -type ControllersClient struct { - BaseClient -} - -// NewControllersClient creates an instance of the ControllersClient client. -func NewControllersClient(subscriptionID string) ControllersClient { - return NewControllersClientWithBaseURI(DefaultBaseURI, subscriptionID) -} - -// NewControllersClientWithBaseURI creates an instance of the ControllersClient client. -func NewControllersClientWithBaseURI(baseURI string, subscriptionID string) ControllersClient { - return ControllersClient{NewWithBaseURI(baseURI, subscriptionID)} -} - -// Create creates an Azure Dev Spaces Controller with the specified create parameters. -// Parameters: -// resourceGroupName - resource group to which the resource belongs. -// name - name of the resource. -// controller - controller create parameters. -func (client ControllersClient) Create(ctx context.Context, resourceGroupName string, name string, controller Controller) (result ControllersCreateFuture, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/ControllersClient.Create") - defer func() { - sc := -1 - if result.Response() != nil { - sc = result.Response().StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - if err := validation.Validate([]validation.Validation{ - {TargetValue: resourceGroupName, - Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, - {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, - {TargetValue: name, - Constraints: []validation.Constraint{{Target: "name", Name: validation.MaxLength, Rule: 31, Chain: nil}, - {Target: "name", Name: validation.MinLength, Rule: 3, Chain: nil}, - {Target: "name", Name: validation.Pattern, Rule: `^[a-zA-Z0-9](-?[a-zA-Z0-9])*$`, Chain: nil}}}, - {TargetValue: controller, - Constraints: []validation.Constraint{{Target: "controller.ControllerProperties", Name: validation.Null, Rule: true, - Chain: []validation.Constraint{{Target: "controller.ControllerProperties.HostSuffix", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "controller.ControllerProperties.TargetContainerHostResourceID", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "controller.ControllerProperties.TargetContainerHostCredentialsBase64", Name: validation.Null, Rule: true, Chain: nil}, - }}, - {Target: "controller.Sku", Name: validation.Null, Rule: true, - Chain: []validation.Constraint{{Target: "controller.Sku.Name", Name: validation.Null, Rule: true, Chain: nil}}}}}}); err != nil { - return result, validation.NewError("devspaces.ControllersClient", "Create", err.Error()) - } - - req, err := client.CreatePreparer(ctx, resourceGroupName, name, controller) - if err != nil { - err = autorest.NewErrorWithError(err, "devspaces.ControllersClient", "Create", nil, "Failure preparing request") - return - } - - result, err = client.CreateSender(req) - if err != nil { - err = autorest.NewErrorWithError(err, "devspaces.ControllersClient", "Create", result.Response(), "Failure sending request") - return - } - - return -} - -// CreatePreparer prepares the Create request. -func (client ControllersClient) CreatePreparer(ctx context.Context, resourceGroupName string, name string, controller Controller) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "name": autorest.Encode("path", name), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2018-06-01-preview" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; charset=utf-8"), - autorest.AsPut(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevSpaces/controllers/{name}", pathParameters), - autorest.WithJSON(controller), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// CreateSender sends the Create request. The method will close the -// http.Response Body if it receives an error. -func (client ControllersClient) CreateSender(req *http.Request) (future ControllersCreateFuture, err error) { - var resp *http.Response - resp, err = autorest.SendWithSender(client, req, - azure.DoRetryWithRegistration(client.Client)) - if err != nil { - return - } - future.Future, err = azure.NewFutureFromResponse(resp) - return -} - -// CreateResponder handles the response to the Create request. The method always -// closes the http.Response Body. -func (client ControllersClient) CreateResponder(resp *http.Response) (result Controller, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// Delete deletes an existing Azure Dev Spaces Controller. -// Parameters: -// resourceGroupName - resource group to which the resource belongs. -// name - name of the resource. -func (client ControllersClient) Delete(ctx context.Context, resourceGroupName string, name string) (result ControllersDeleteFuture, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/ControllersClient.Delete") - defer func() { - sc := -1 - if result.Response() != nil { - sc = result.Response().StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - if err := validation.Validate([]validation.Validation{ - {TargetValue: resourceGroupName, - Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, - {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, - {TargetValue: name, - Constraints: []validation.Constraint{{Target: "name", Name: validation.MaxLength, Rule: 31, Chain: nil}, - {Target: "name", Name: validation.MinLength, Rule: 3, Chain: nil}, - {Target: "name", Name: validation.Pattern, Rule: `^[a-zA-Z0-9](-?[a-zA-Z0-9])*$`, Chain: nil}}}}); err != nil { - return result, validation.NewError("devspaces.ControllersClient", "Delete", err.Error()) - } - - req, err := client.DeletePreparer(ctx, resourceGroupName, name) - if err != nil { - err = autorest.NewErrorWithError(err, "devspaces.ControllersClient", "Delete", nil, "Failure preparing request") - return - } - - result, err = client.DeleteSender(req) - if err != nil { - err = autorest.NewErrorWithError(err, "devspaces.ControllersClient", "Delete", result.Response(), "Failure sending request") - return - } - - return -} - -// DeletePreparer prepares the Delete request. -func (client ControllersClient) DeletePreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "name": autorest.Encode("path", name), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2018-06-01-preview" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsDelete(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevSpaces/controllers/{name}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DeleteSender sends the Delete request. The method will close the -// http.Response Body if it receives an error. -func (client ControllersClient) DeleteSender(req *http.Request) (future ControllersDeleteFuture, err error) { - var resp *http.Response - resp, err = autorest.SendWithSender(client, req, - azure.DoRetryWithRegistration(client.Client)) - if err != nil { - return - } - future.Future, err = azure.NewFutureFromResponse(resp) - return -} - -// DeleteResponder handles the response to the Delete request. The method always -// closes the http.Response Body. -func (client ControllersClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), - autorest.ByClosing()) - result.Response = resp - return -} - -// Get gets the properties for an Azure Dev Spaces Controller. -// Parameters: -// resourceGroupName - resource group to which the resource belongs. -// name - name of the resource. -func (client ControllersClient) Get(ctx context.Context, resourceGroupName string, name string) (result Controller, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/ControllersClient.Get") - defer func() { - sc := -1 - if result.Response.Response != nil { - sc = result.Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - if err := validation.Validate([]validation.Validation{ - {TargetValue: resourceGroupName, - Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, - {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, - {TargetValue: name, - Constraints: []validation.Constraint{{Target: "name", Name: validation.MaxLength, Rule: 31, Chain: nil}, - {Target: "name", Name: validation.MinLength, Rule: 3, Chain: nil}, - {Target: "name", Name: validation.Pattern, Rule: `^[a-zA-Z0-9](-?[a-zA-Z0-9])*$`, Chain: nil}}}}); err != nil { - return result, validation.NewError("devspaces.ControllersClient", "Get", err.Error()) - } - - req, err := client.GetPreparer(ctx, resourceGroupName, name) - if err != nil { - err = autorest.NewErrorWithError(err, "devspaces.ControllersClient", "Get", nil, "Failure preparing request") - return - } - - resp, err := client.GetSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "devspaces.ControllersClient", "Get", resp, "Failure sending request") - return - } - - result, err = client.GetResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "devspaces.ControllersClient", "Get", resp, "Failure responding to request") - } - - return -} - -// GetPreparer prepares the Get request. -func (client ControllersClient) GetPreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "name": autorest.Encode("path", name), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2018-06-01-preview" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevSpaces/controllers/{name}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetSender sends the Get request. The method will close the -// http.Response Body if it receives an error. -func (client ControllersClient) GetSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - azure.DoRetryWithRegistration(client.Client)) -} - -// GetResponder handles the response to the Get request. The method always -// closes the http.Response Body. -func (client ControllersClient) GetResponder(resp *http.Response) (result Controller, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// List lists all the Azure Dev Spaces Controllers with their properties in the subscription. -func (client ControllersClient) List(ctx context.Context) (result ControllerListPage, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/ControllersClient.List") - defer func() { - sc := -1 - if result.cl.Response.Response != nil { - sc = result.cl.Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - result.fn = client.listNextResults - req, err := client.ListPreparer(ctx) - if err != nil { - err = autorest.NewErrorWithError(err, "devspaces.ControllersClient", "List", nil, "Failure preparing request") - return - } - - resp, err := client.ListSender(req) - if err != nil { - result.cl.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "devspaces.ControllersClient", "List", resp, "Failure sending request") - return - } - - result.cl, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "devspaces.ControllersClient", "List", resp, "Failure responding to request") - } - - return -} - -// ListPreparer prepares the List request. -func (client ControllersClient) ListPreparer(ctx context.Context) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2018-06-01-preview" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.DevSpaces/controllers", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListSender sends the List request. The method will close the -// http.Response Body if it receives an error. -func (client ControllersClient) ListSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - azure.DoRetryWithRegistration(client.Client)) -} - -// ListResponder handles the response to the List request. The method always -// closes the http.Response Body. -func (client ControllersClient) ListResponder(resp *http.Response) (result ControllerList, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listNextResults retrieves the next set of results, if any. -func (client ControllersClient) listNextResults(ctx context.Context, lastResults ControllerList) (result ControllerList, err error) { - req, err := lastResults.controllerListPreparer(ctx) - if err != nil { - return result, autorest.NewErrorWithError(err, "devspaces.ControllersClient", "listNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "devspaces.ControllersClient", "listNextResults", resp, "Failure sending next results request") - } - result, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "devspaces.ControllersClient", "listNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListComplete enumerates all values, automatically crossing page boundaries as required. -func (client ControllersClient) ListComplete(ctx context.Context) (result ControllerListIterator, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/ControllersClient.List") - defer func() { - sc := -1 - if result.Response().Response.Response != nil { - sc = result.page.Response().Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - result.page, err = client.List(ctx) - return -} - -// ListByResourceGroup lists all the Azure Dev Spaces Controllers with their properties in the specified resource group -// and subscription. -// Parameters: -// resourceGroupName - resource group to which the resource belongs. -func (client ControllersClient) ListByResourceGroup(ctx context.Context, resourceGroupName string) (result ControllerListPage, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/ControllersClient.ListByResourceGroup") - defer func() { - sc := -1 - if result.cl.Response.Response != nil { - sc = result.cl.Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - if err := validation.Validate([]validation.Validation{ - {TargetValue: resourceGroupName, - Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, - {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { - return result, validation.NewError("devspaces.ControllersClient", "ListByResourceGroup", err.Error()) - } - - result.fn = client.listByResourceGroupNextResults - req, err := client.ListByResourceGroupPreparer(ctx, resourceGroupName) - if err != nil { - err = autorest.NewErrorWithError(err, "devspaces.ControllersClient", "ListByResourceGroup", nil, "Failure preparing request") - return - } - - resp, err := client.ListByResourceGroupSender(req) - if err != nil { - result.cl.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "devspaces.ControllersClient", "ListByResourceGroup", resp, "Failure sending request") - return - } - - result.cl, err = client.ListByResourceGroupResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "devspaces.ControllersClient", "ListByResourceGroup", resp, "Failure responding to request") - } - - return -} - -// ListByResourceGroupPreparer prepares the ListByResourceGroup request. -func (client ControllersClient) ListByResourceGroupPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2018-06-01-preview" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevSpaces/controllers", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListByResourceGroupSender sends the ListByResourceGroup request. The method will close the -// http.Response Body if it receives an error. -func (client ControllersClient) ListByResourceGroupSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - azure.DoRetryWithRegistration(client.Client)) -} - -// ListByResourceGroupResponder handles the response to the ListByResourceGroup request. The method always -// closes the http.Response Body. -func (client ControllersClient) ListByResourceGroupResponder(resp *http.Response) (result ControllerList, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listByResourceGroupNextResults retrieves the next set of results, if any. -func (client ControllersClient) listByResourceGroupNextResults(ctx context.Context, lastResults ControllerList) (result ControllerList, err error) { - req, err := lastResults.controllerListPreparer(ctx) - if err != nil { - return result, autorest.NewErrorWithError(err, "devspaces.ControllersClient", "listByResourceGroupNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListByResourceGroupSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "devspaces.ControllersClient", "listByResourceGroupNextResults", resp, "Failure sending next results request") - } - result, err = client.ListByResourceGroupResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "devspaces.ControllersClient", "listByResourceGroupNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListByResourceGroupComplete enumerates all values, automatically crossing page boundaries as required. -func (client ControllersClient) ListByResourceGroupComplete(ctx context.Context, resourceGroupName string) (result ControllerListIterator, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/ControllersClient.ListByResourceGroup") - defer func() { - sc := -1 - if result.Response().Response.Response != nil { - sc = result.page.Response().Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - result.page, err = client.ListByResourceGroup(ctx, resourceGroupName) - return -} - -// ListConnectionDetails lists connection details for the underlying container resources of an Azure Dev Spaces -// Controller. -// Parameters: -// resourceGroupName - resource group to which the resource belongs. -// name - name of the resource. -func (client ControllersClient) ListConnectionDetails(ctx context.Context, resourceGroupName string, name string) (result ControllerConnectionDetailsList, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/ControllersClient.ListConnectionDetails") - defer func() { - sc := -1 - if result.Response.Response != nil { - sc = result.Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - if err := validation.Validate([]validation.Validation{ - {TargetValue: resourceGroupName, - Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, - {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, - {TargetValue: name, - Constraints: []validation.Constraint{{Target: "name", Name: validation.MaxLength, Rule: 31, Chain: nil}, - {Target: "name", Name: validation.MinLength, Rule: 3, Chain: nil}, - {Target: "name", Name: validation.Pattern, Rule: `^[a-zA-Z0-9](-?[a-zA-Z0-9])*$`, Chain: nil}}}}); err != nil { - return result, validation.NewError("devspaces.ControllersClient", "ListConnectionDetails", err.Error()) - } - - req, err := client.ListConnectionDetailsPreparer(ctx, resourceGroupName, name) - if err != nil { - err = autorest.NewErrorWithError(err, "devspaces.ControllersClient", "ListConnectionDetails", nil, "Failure preparing request") - return - } - - resp, err := client.ListConnectionDetailsSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "devspaces.ControllersClient", "ListConnectionDetails", resp, "Failure sending request") - return - } - - result, err = client.ListConnectionDetailsResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "devspaces.ControllersClient", "ListConnectionDetails", resp, "Failure responding to request") - } - - return -} - -// ListConnectionDetailsPreparer prepares the ListConnectionDetails request. -func (client ControllersClient) ListConnectionDetailsPreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "name": autorest.Encode("path", name), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2018-06-01-preview" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevSpaces/controllers/{name}/listConnectionDetails", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListConnectionDetailsSender sends the ListConnectionDetails request. The method will close the -// http.Response Body if it receives an error. -func (client ControllersClient) ListConnectionDetailsSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - azure.DoRetryWithRegistration(client.Client)) -} - -// ListConnectionDetailsResponder handles the response to the ListConnectionDetails request. The method always -// closes the http.Response Body. -func (client ControllersClient) ListConnectionDetailsResponder(resp *http.Response) (result ControllerConnectionDetailsList, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// Update updates the properties of an existing Azure Dev Spaces Controller with the specified update parameters. -// Parameters: -// resourceGroupName - resource group to which the resource belongs. -// name - name of the resource. -// controllerUpdateParameters - parameters for updating the Azure Dev Spaces Controller. -func (client ControllersClient) Update(ctx context.Context, resourceGroupName string, name string, controllerUpdateParameters ControllerUpdateParameters) (result Controller, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/ControllersClient.Update") - defer func() { - sc := -1 - if result.Response.Response != nil { - sc = result.Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - if err := validation.Validate([]validation.Validation{ - {TargetValue: resourceGroupName, - Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, - {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, - {TargetValue: name, - Constraints: []validation.Constraint{{Target: "name", Name: validation.MaxLength, Rule: 31, Chain: nil}, - {Target: "name", Name: validation.MinLength, Rule: 3, Chain: nil}, - {Target: "name", Name: validation.Pattern, Rule: `^[a-zA-Z0-9](-?[a-zA-Z0-9])*$`, Chain: nil}}}}); err != nil { - return result, validation.NewError("devspaces.ControllersClient", "Update", err.Error()) - } - - req, err := client.UpdatePreparer(ctx, resourceGroupName, name, controllerUpdateParameters) - if err != nil { - err = autorest.NewErrorWithError(err, "devspaces.ControllersClient", "Update", nil, "Failure preparing request") - return - } - - resp, err := client.UpdateSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "devspaces.ControllersClient", "Update", resp, "Failure sending request") - return - } - - result, err = client.UpdateResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "devspaces.ControllersClient", "Update", resp, "Failure responding to request") - } - - return -} - -// UpdatePreparer prepares the Update request. -func (client ControllersClient) UpdatePreparer(ctx context.Context, resourceGroupName string, name string, controllerUpdateParameters ControllerUpdateParameters) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "name": autorest.Encode("path", name), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2018-06-01-preview" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; charset=utf-8"), - autorest.AsPatch(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevSpaces/controllers/{name}", pathParameters), - autorest.WithJSON(controllerUpdateParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// UpdateSender sends the Update request. The method will close the -// http.Response Body if it receives an error. -func (client ControllersClient) UpdateSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - azure.DoRetryWithRegistration(client.Client)) -} - -// UpdateResponder handles the response to the Update request. The method always -// closes the http.Response Body. -func (client ControllersClient) UpdateResponder(resp *http.Response) (result Controller, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} diff --git a/services/preview/devspaces/mgmt/2018-06-01-preview/devspaces/devspacesapi/interfaces.go b/services/preview/devspaces/mgmt/2018-06-01-preview/devspaces/devspacesapi/interfaces.go deleted file mode 100644 index 3b6dd07c028b..000000000000 --- a/services/preview/devspaces/mgmt/2018-06-01-preview/devspaces/devspacesapi/interfaces.go +++ /dev/null @@ -1,50 +0,0 @@ -package devspacesapi - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/azure-sdk-for-go/services/preview/devspaces/mgmt/2018-06-01-preview/devspaces" -) - -// ContainerHostMappingsClientAPI contains the set of methods on the ContainerHostMappingsClient type. -type ContainerHostMappingsClientAPI interface { - GetContainerHostMapping(ctx context.Context, containerHostMapping devspaces.ContainerHostMapping, location string) (result devspaces.SetObject, err error) -} - -var _ ContainerHostMappingsClientAPI = (*devspaces.ContainerHostMappingsClient)(nil) - -// ControllersClientAPI contains the set of methods on the ControllersClient type. -type ControllersClientAPI interface { - Create(ctx context.Context, resourceGroupName string, name string, controller devspaces.Controller) (result devspaces.ControllersCreateFuture, err error) - Delete(ctx context.Context, resourceGroupName string, name string) (result devspaces.ControllersDeleteFuture, err error) - Get(ctx context.Context, resourceGroupName string, name string) (result devspaces.Controller, err error) - List(ctx context.Context) (result devspaces.ControllerListPage, err error) - ListByResourceGroup(ctx context.Context, resourceGroupName string) (result devspaces.ControllerListPage, err error) - ListConnectionDetails(ctx context.Context, resourceGroupName string, name string) (result devspaces.ControllerConnectionDetailsList, err error) - Update(ctx context.Context, resourceGroupName string, name string, controllerUpdateParameters devspaces.ControllerUpdateParameters) (result devspaces.Controller, err error) -} - -var _ ControllersClientAPI = (*devspaces.ControllersClient)(nil) - -// OperationsClientAPI contains the set of methods on the OperationsClient type. -type OperationsClientAPI interface { - List(ctx context.Context) (result devspaces.ResourceProviderOperationListPage, err error) -} - -var _ OperationsClientAPI = (*devspaces.OperationsClient)(nil) diff --git a/services/preview/devspaces/mgmt/2018-06-01-preview/devspaces/models.go b/services/preview/devspaces/mgmt/2018-06-01-preview/devspaces/models.go deleted file mode 100644 index f097aca4b00c..000000000000 --- a/services/preview/devspaces/mgmt/2018-06-01-preview/devspaces/models.go +++ /dev/null @@ -1,846 +0,0 @@ -package devspaces - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "encoding/json" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/autorest/to" - "github.com/Azure/go-autorest/tracing" - "net/http" -) - -// The package's fully qualified name. -const fqdn = "github.com/Azure/azure-sdk-for-go/services/preview/devspaces/mgmt/2018-06-01-preview/devspaces" - -// InstanceType enumerates the values for instance type. -type InstanceType string - -const ( - // InstanceTypeKubernetes ... - InstanceTypeKubernetes InstanceType = "Kubernetes" - // InstanceTypeOrchestratorSpecificConnectionDetails ... - InstanceTypeOrchestratorSpecificConnectionDetails InstanceType = "OrchestratorSpecificConnectionDetails" -) - -// PossibleInstanceTypeValues returns an array of possible values for the InstanceType const type. -func PossibleInstanceTypeValues() []InstanceType { - return []InstanceType{InstanceTypeKubernetes, InstanceTypeOrchestratorSpecificConnectionDetails} -} - -// ProvisioningState enumerates the values for provisioning state. -type ProvisioningState string - -const ( - // Canceled ... - Canceled ProvisioningState = "Canceled" - // Creating ... - Creating ProvisioningState = "Creating" - // Deleted ... - Deleted ProvisioningState = "Deleted" - // Deleting ... - Deleting ProvisioningState = "Deleting" - // Failed ... - Failed ProvisioningState = "Failed" - // Succeeded ... - Succeeded ProvisioningState = "Succeeded" - // Updating ... - Updating ProvisioningState = "Updating" -) - -// PossibleProvisioningStateValues returns an array of possible values for the ProvisioningState const type. -func PossibleProvisioningStateValues() []ProvisioningState { - return []ProvisioningState{Canceled, Creating, Deleted, Deleting, Failed, Succeeded, Updating} -} - -// SkuTier enumerates the values for sku tier. -type SkuTier string - -const ( - // Standard ... - Standard SkuTier = "Standard" -) - -// PossibleSkuTierValues returns an array of possible values for the SkuTier const type. -func PossibleSkuTierValues() []SkuTier { - return []SkuTier{Standard} -} - -// ContainerHostMapping container host mapping object specifying the Container host resource ID and its -// associated Controller resource. -type ContainerHostMapping struct { - // ContainerHostResourceID - ARM ID of the Container Host resource - ContainerHostResourceID *string `json:"containerHostResourceId,omitempty"` - // MappedControllerResourceID - READ-ONLY; ARM ID of the mapped Controller resource - MappedControllerResourceID *string `json:"mappedControllerResourceId,omitempty"` -} - -// Controller ... -type Controller struct { - autorest.Response `json:"-"` - *ControllerProperties `json:"properties,omitempty"` - Sku *Sku `json:"sku,omitempty"` - // Tags - Tags for the Azure resource. - Tags map[string]*string `json:"tags"` - // Location - Region where the Azure resource is located. - Location *string `json:"location,omitempty"` - // ID - READ-ONLY; Fully qualified resource Id for the resource. - ID *string `json:"id,omitempty"` - // Name - READ-ONLY; The name of the resource. - Name *string `json:"name,omitempty"` - // Type - READ-ONLY; The type of the resource. - Type *string `json:"type,omitempty"` -} - -// MarshalJSON is the custom marshaler for Controller. -func (c Controller) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - if c.ControllerProperties != nil { - objectMap["properties"] = c.ControllerProperties - } - if c.Sku != nil { - objectMap["sku"] = c.Sku - } - if c.Tags != nil { - objectMap["tags"] = c.Tags - } - if c.Location != nil { - objectMap["location"] = c.Location - } - return json.Marshal(objectMap) -} - -// UnmarshalJSON is the custom unmarshaler for Controller struct. -func (c *Controller) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - case "properties": - if v != nil { - var controllerProperties ControllerProperties - err = json.Unmarshal(*v, &controllerProperties) - if err != nil { - return err - } - c.ControllerProperties = &controllerProperties - } - case "sku": - if v != nil { - var sku Sku - err = json.Unmarshal(*v, &sku) - if err != nil { - return err - } - c.Sku = &sku - } - case "tags": - if v != nil { - var tags map[string]*string - err = json.Unmarshal(*v, &tags) - if err != nil { - return err - } - c.Tags = tags - } - case "location": - if v != nil { - var location string - err = json.Unmarshal(*v, &location) - if err != nil { - return err - } - c.Location = &location - } - case "id": - if v != nil { - var ID string - err = json.Unmarshal(*v, &ID) - if err != nil { - return err - } - c.ID = &ID - } - case "name": - if v != nil { - var name string - err = json.Unmarshal(*v, &name) - if err != nil { - return err - } - c.Name = &name - } - case "type": - if v != nil { - var typeVar string - err = json.Unmarshal(*v, &typeVar) - if err != nil { - return err - } - c.Type = &typeVar - } - } - } - - return nil -} - -// ControllerConnectionDetails ... -type ControllerConnectionDetails struct { - // AuthKey - READ-ONLY; Authentication key for communicating with services. - AuthKey *string `json:"authKey,omitempty"` - // WorkspaceStorageAccountName - READ-ONLY; Workspace storage account name. - WorkspaceStorageAccountName *string `json:"workspaceStorageAccountName,omitempty"` - // WorkspaceStorageSasToken - READ-ONLY; Workspace storage account SAS token. - WorkspaceStorageSasToken *string `json:"workspaceStorageSasToken,omitempty"` - OrchestratorSpecificConnectionDetails BasicOrchestratorSpecificConnectionDetails `json:"orchestratorSpecificConnectionDetails,omitempty"` -} - -// UnmarshalJSON is the custom unmarshaler for ControllerConnectionDetails struct. -func (ccd *ControllerConnectionDetails) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - case "authKey": - if v != nil { - var authKey string - err = json.Unmarshal(*v, &authKey) - if err != nil { - return err - } - ccd.AuthKey = &authKey - } - case "workspaceStorageAccountName": - if v != nil { - var workspaceStorageAccountName string - err = json.Unmarshal(*v, &workspaceStorageAccountName) - if err != nil { - return err - } - ccd.WorkspaceStorageAccountName = &workspaceStorageAccountName - } - case "workspaceStorageSasToken": - if v != nil { - var workspaceStorageSasToken string - err = json.Unmarshal(*v, &workspaceStorageSasToken) - if err != nil { - return err - } - ccd.WorkspaceStorageSasToken = &workspaceStorageSasToken - } - case "orchestratorSpecificConnectionDetails": - if v != nil { - orchestratorSpecificConnectionDetails, err := unmarshalBasicOrchestratorSpecificConnectionDetails(*v) - if err != nil { - return err - } - ccd.OrchestratorSpecificConnectionDetails = orchestratorSpecificConnectionDetails - } - } - } - - return nil -} - -// ControllerConnectionDetailsList ... -type ControllerConnectionDetailsList struct { - autorest.Response `json:"-"` - // ConnectionDetailsList - List of Azure Dev Spaces Controller connection details. - ConnectionDetailsList *[]ControllerConnectionDetails `json:"connectionDetailsList,omitempty"` -} - -// ControllerList ... -type ControllerList struct { - autorest.Response `json:"-"` - // Value - List of Azure Dev Spaces Controllers. - Value *[]Controller `json:"value,omitempty"` - // NextLink - READ-ONLY; The URI that can be used to request the next page for list of Azure Dev Spaces Controllers. - NextLink *string `json:"nextLink,omitempty"` -} - -// ControllerListIterator provides access to a complete listing of Controller values. -type ControllerListIterator struct { - i int - page ControllerListPage -} - -// NextWithContext advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -func (iter *ControllerListIterator) NextWithContext(ctx context.Context) (err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/ControllerListIterator.NextWithContext") - defer func() { - sc := -1 - if iter.Response().Response.Response != nil { - sc = iter.Response().Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - iter.i++ - if iter.i < len(iter.page.Values()) { - return nil - } - err = iter.page.NextWithContext(ctx) - if err != nil { - iter.i-- - return err - } - iter.i = 0 - return nil -} - -// Next advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -// Deprecated: Use NextWithContext() instead. -func (iter *ControllerListIterator) Next() error { - return iter.NextWithContext(context.Background()) -} - -// NotDone returns true if the enumeration should be started or is not yet complete. -func (iter ControllerListIterator) NotDone() bool { - return iter.page.NotDone() && iter.i < len(iter.page.Values()) -} - -// Response returns the raw server response from the last page request. -func (iter ControllerListIterator) Response() ControllerList { - return iter.page.Response() -} - -// Value returns the current value or a zero-initialized value if the -// iterator has advanced beyond the end of the collection. -func (iter ControllerListIterator) Value() Controller { - if !iter.page.NotDone() { - return Controller{} - } - return iter.page.Values()[iter.i] -} - -// Creates a new instance of the ControllerListIterator type. -func NewControllerListIterator(page ControllerListPage) ControllerListIterator { - return ControllerListIterator{page: page} -} - -// IsEmpty returns true if the ListResult contains no values. -func (cl ControllerList) IsEmpty() bool { - return cl.Value == nil || len(*cl.Value) == 0 -} - -// controllerListPreparer prepares a request to retrieve the next set of results. -// It returns nil if no more results exist. -func (cl ControllerList) controllerListPreparer(ctx context.Context) (*http.Request, error) { - if cl.NextLink == nil || len(to.String(cl.NextLink)) < 1 { - return nil, nil - } - return autorest.Prepare((&http.Request{}).WithContext(ctx), - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(cl.NextLink))) -} - -// ControllerListPage contains a page of Controller values. -type ControllerListPage struct { - fn func(context.Context, ControllerList) (ControllerList, error) - cl ControllerList -} - -// NextWithContext advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -func (page *ControllerListPage) NextWithContext(ctx context.Context) (err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/ControllerListPage.NextWithContext") - defer func() { - sc := -1 - if page.Response().Response.Response != nil { - sc = page.Response().Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - next, err := page.fn(ctx, page.cl) - if err != nil { - return err - } - page.cl = next - return nil -} - -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -// Deprecated: Use NextWithContext() instead. -func (page *ControllerListPage) Next() error { - return page.NextWithContext(context.Background()) -} - -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page ControllerListPage) NotDone() bool { - return !page.cl.IsEmpty() -} - -// Response returns the raw server response from the last page request. -func (page ControllerListPage) Response() ControllerList { - return page.cl -} - -// Values returns the slice of values for the current page or nil if there are no values. -func (page ControllerListPage) Values() []Controller { - if page.cl.IsEmpty() { - return nil - } - return *page.cl.Value -} - -// Creates a new instance of the ControllerListPage type. -func NewControllerListPage(getNextPage func(context.Context, ControllerList) (ControllerList, error)) ControllerListPage { - return ControllerListPage{fn: getNextPage} -} - -// ControllerProperties ... -type ControllerProperties struct { - // ProvisioningState - READ-ONLY; Provisioning state of the Azure Dev Spaces Controller. Possible values include: 'Succeeded', 'Failed', 'Canceled', 'Updating', 'Creating', 'Deleting', 'Deleted' - ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` - // HostSuffix - DNS suffix for public endpoints running in the Azure Dev Spaces Controller. - HostSuffix *string `json:"hostSuffix,omitempty"` - // DataPlaneFqdn - READ-ONLY; DNS name for accessing DataPlane services - DataPlaneFqdn *string `json:"dataPlaneFqdn,omitempty"` - // TargetContainerHostResourceID - Resource ID of the target container host - TargetContainerHostResourceID *string `json:"targetContainerHostResourceId,omitempty"` - // TargetContainerHostCredentialsBase64 - Credentials of the target container host (base64). - TargetContainerHostCredentialsBase64 *string `json:"targetContainerHostCredentialsBase64,omitempty"` -} - -// ControllersCreateFuture an abstraction for monitoring and retrieving the results of a long-running -// operation. -type ControllersCreateFuture struct { - azure.Future -} - -// Result returns the result of the asynchronous operation. -// If the operation has not completed it will return an error. -func (future *ControllersCreateFuture) Result(client ControllersClient) (c Controller, err error) { - var done bool - done, err = future.DoneWithContext(context.Background(), client) - if err != nil { - err = autorest.NewErrorWithError(err, "devspaces.ControllersCreateFuture", "Result", future.Response(), "Polling failure") - return - } - if !done { - err = azure.NewAsyncOpIncompleteError("devspaces.ControllersCreateFuture") - return - } - sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) - if c.Response.Response, err = future.GetResult(sender); err == nil && c.Response.Response.StatusCode != http.StatusNoContent { - c, err = client.CreateResponder(c.Response.Response) - if err != nil { - err = autorest.NewErrorWithError(err, "devspaces.ControllersCreateFuture", "Result", c.Response.Response, "Failure responding to request") - } - } - return -} - -// ControllersDeleteFuture an abstraction for monitoring and retrieving the results of a long-running -// operation. -type ControllersDeleteFuture struct { - azure.Future -} - -// Result returns the result of the asynchronous operation. -// If the operation has not completed it will return an error. -func (future *ControllersDeleteFuture) Result(client ControllersClient) (ar autorest.Response, err error) { - var done bool - done, err = future.DoneWithContext(context.Background(), client) - if err != nil { - err = autorest.NewErrorWithError(err, "devspaces.ControllersDeleteFuture", "Result", future.Response(), "Polling failure") - return - } - if !done { - err = azure.NewAsyncOpIncompleteError("devspaces.ControllersDeleteFuture") - return - } - ar.Response = future.Response() - return -} - -// ControllerUpdateParameters parameters for updating an Azure Dev Spaces Controller. -type ControllerUpdateParameters struct { - // Tags - Tags for the Azure Dev Spaces Controller. - Tags map[string]*string `json:"tags"` -} - -// MarshalJSON is the custom marshaler for ControllerUpdateParameters. -func (cup ControllerUpdateParameters) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - if cup.Tags != nil { - objectMap["tags"] = cup.Tags - } - return json.Marshal(objectMap) -} - -// ErrorDetails ... -type ErrorDetails struct { - // Code - READ-ONLY; Status code for the error. - Code *string `json:"code,omitempty"` - // Message - READ-ONLY; Error message describing the error in detail. - Message *string `json:"message,omitempty"` - // Target - READ-ONLY; The target of the particular error. - Target *string `json:"target,omitempty"` -} - -// ErrorResponse error response indicates that the service is not able to process the incoming request. The -// reason is provided in the error message. -type ErrorResponse struct { - // Error - The details of the error. - Error *ErrorDetails `json:"error,omitempty"` -} - -// KubernetesConnectionDetails contains information used to connect to a Kubernetes cluster -type KubernetesConnectionDetails struct { - // KubeConfig - Gets the kubeconfig for the cluster. - KubeConfig *string `json:"kubeConfig,omitempty"` - // InstanceType - Possible values include: 'InstanceTypeOrchestratorSpecificConnectionDetails', 'InstanceTypeKubernetes' - InstanceType InstanceType `json:"instanceType,omitempty"` -} - -// MarshalJSON is the custom marshaler for KubernetesConnectionDetails. -func (kcd KubernetesConnectionDetails) MarshalJSON() ([]byte, error) { - kcd.InstanceType = InstanceTypeKubernetes - objectMap := make(map[string]interface{}) - if kcd.KubeConfig != nil { - objectMap["kubeConfig"] = kcd.KubeConfig - } - if kcd.InstanceType != "" { - objectMap["instanceType"] = kcd.InstanceType - } - return json.Marshal(objectMap) -} - -// AsKubernetesConnectionDetails is the BasicOrchestratorSpecificConnectionDetails implementation for KubernetesConnectionDetails. -func (kcd KubernetesConnectionDetails) AsKubernetesConnectionDetails() (*KubernetesConnectionDetails, bool) { - return &kcd, true -} - -// AsOrchestratorSpecificConnectionDetails is the BasicOrchestratorSpecificConnectionDetails implementation for KubernetesConnectionDetails. -func (kcd KubernetesConnectionDetails) AsOrchestratorSpecificConnectionDetails() (*OrchestratorSpecificConnectionDetails, bool) { - return nil, false -} - -// AsBasicOrchestratorSpecificConnectionDetails is the BasicOrchestratorSpecificConnectionDetails implementation for KubernetesConnectionDetails. -func (kcd KubernetesConnectionDetails) AsBasicOrchestratorSpecificConnectionDetails() (BasicOrchestratorSpecificConnectionDetails, bool) { - return &kcd, true -} - -// BasicOrchestratorSpecificConnectionDetails base class for types that supply values used to connect to container -// orchestrators -type BasicOrchestratorSpecificConnectionDetails interface { - AsKubernetesConnectionDetails() (*KubernetesConnectionDetails, bool) - AsOrchestratorSpecificConnectionDetails() (*OrchestratorSpecificConnectionDetails, bool) -} - -// OrchestratorSpecificConnectionDetails base class for types that supply values used to connect to container -// orchestrators -type OrchestratorSpecificConnectionDetails struct { - // InstanceType - Possible values include: 'InstanceTypeOrchestratorSpecificConnectionDetails', 'InstanceTypeKubernetes' - InstanceType InstanceType `json:"instanceType,omitempty"` -} - -func unmarshalBasicOrchestratorSpecificConnectionDetails(body []byte) (BasicOrchestratorSpecificConnectionDetails, error) { - var m map[string]interface{} - err := json.Unmarshal(body, &m) - if err != nil { - return nil, err - } - - switch m["instanceType"] { - case string(InstanceTypeKubernetes): - var kcd KubernetesConnectionDetails - err := json.Unmarshal(body, &kcd) - return kcd, err - default: - var oscd OrchestratorSpecificConnectionDetails - err := json.Unmarshal(body, &oscd) - return oscd, err - } -} -func unmarshalBasicOrchestratorSpecificConnectionDetailsArray(body []byte) ([]BasicOrchestratorSpecificConnectionDetails, error) { - var rawMessages []*json.RawMessage - err := json.Unmarshal(body, &rawMessages) - if err != nil { - return nil, err - } - - oscdArray := make([]BasicOrchestratorSpecificConnectionDetails, len(rawMessages)) - - for index, rawMessage := range rawMessages { - oscd, err := unmarshalBasicOrchestratorSpecificConnectionDetails(*rawMessage) - if err != nil { - return nil, err - } - oscdArray[index] = oscd - } - return oscdArray, nil -} - -// MarshalJSON is the custom marshaler for OrchestratorSpecificConnectionDetails. -func (oscd OrchestratorSpecificConnectionDetails) MarshalJSON() ([]byte, error) { - oscd.InstanceType = InstanceTypeOrchestratorSpecificConnectionDetails - objectMap := make(map[string]interface{}) - if oscd.InstanceType != "" { - objectMap["instanceType"] = oscd.InstanceType - } - return json.Marshal(objectMap) -} - -// AsKubernetesConnectionDetails is the BasicOrchestratorSpecificConnectionDetails implementation for OrchestratorSpecificConnectionDetails. -func (oscd OrchestratorSpecificConnectionDetails) AsKubernetesConnectionDetails() (*KubernetesConnectionDetails, bool) { - return nil, false -} - -// AsOrchestratorSpecificConnectionDetails is the BasicOrchestratorSpecificConnectionDetails implementation for OrchestratorSpecificConnectionDetails. -func (oscd OrchestratorSpecificConnectionDetails) AsOrchestratorSpecificConnectionDetails() (*OrchestratorSpecificConnectionDetails, bool) { - return &oscd, true -} - -// AsBasicOrchestratorSpecificConnectionDetails is the BasicOrchestratorSpecificConnectionDetails implementation for OrchestratorSpecificConnectionDetails. -func (oscd OrchestratorSpecificConnectionDetails) AsBasicOrchestratorSpecificConnectionDetails() (BasicOrchestratorSpecificConnectionDetails, bool) { - return &oscd, true -} - -// Resource an Azure resource. -type Resource struct { - // ID - READ-ONLY; Fully qualified resource Id for the resource. - ID *string `json:"id,omitempty"` - // Name - READ-ONLY; The name of the resource. - Name *string `json:"name,omitempty"` - // Type - READ-ONLY; The type of the resource. - Type *string `json:"type,omitempty"` -} - -// ResourceProviderOperationDefinition ... -type ResourceProviderOperationDefinition struct { - // Name - Resource provider operation name. - Name *string `json:"name,omitempty"` - Display *ResourceProviderOperationDisplay `json:"display,omitempty"` -} - -// ResourceProviderOperationDisplay ... -type ResourceProviderOperationDisplay struct { - // Provider - Name of the resource provider. - Provider *string `json:"provider,omitempty"` - // Resource - Name of the resource type. - Resource *string `json:"resource,omitempty"` - // Operation - Name of the resource provider operation. - Operation *string `json:"operation,omitempty"` - // Description - Description of the resource provider operation. - Description *string `json:"description,omitempty"` -} - -// ResourceProviderOperationList ... -type ResourceProviderOperationList struct { - autorest.Response `json:"-"` - // Value - Resource provider operations list. - Value *[]ResourceProviderOperationDefinition `json:"value,omitempty"` - // NextLink - READ-ONLY; The URI that can be used to request the next page for list of Azure operations. - NextLink *string `json:"nextLink,omitempty"` -} - -// ResourceProviderOperationListIterator provides access to a complete listing of -// ResourceProviderOperationDefinition values. -type ResourceProviderOperationListIterator struct { - i int - page ResourceProviderOperationListPage -} - -// NextWithContext advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -func (iter *ResourceProviderOperationListIterator) NextWithContext(ctx context.Context) (err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/ResourceProviderOperationListIterator.NextWithContext") - defer func() { - sc := -1 - if iter.Response().Response.Response != nil { - sc = iter.Response().Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - iter.i++ - if iter.i < len(iter.page.Values()) { - return nil - } - err = iter.page.NextWithContext(ctx) - if err != nil { - iter.i-- - return err - } - iter.i = 0 - return nil -} - -// Next advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -// Deprecated: Use NextWithContext() instead. -func (iter *ResourceProviderOperationListIterator) Next() error { - return iter.NextWithContext(context.Background()) -} - -// NotDone returns true if the enumeration should be started or is not yet complete. -func (iter ResourceProviderOperationListIterator) NotDone() bool { - return iter.page.NotDone() && iter.i < len(iter.page.Values()) -} - -// Response returns the raw server response from the last page request. -func (iter ResourceProviderOperationListIterator) Response() ResourceProviderOperationList { - return iter.page.Response() -} - -// Value returns the current value or a zero-initialized value if the -// iterator has advanced beyond the end of the collection. -func (iter ResourceProviderOperationListIterator) Value() ResourceProviderOperationDefinition { - if !iter.page.NotDone() { - return ResourceProviderOperationDefinition{} - } - return iter.page.Values()[iter.i] -} - -// Creates a new instance of the ResourceProviderOperationListIterator type. -func NewResourceProviderOperationListIterator(page ResourceProviderOperationListPage) ResourceProviderOperationListIterator { - return ResourceProviderOperationListIterator{page: page} -} - -// IsEmpty returns true if the ListResult contains no values. -func (rpol ResourceProviderOperationList) IsEmpty() bool { - return rpol.Value == nil || len(*rpol.Value) == 0 -} - -// resourceProviderOperationListPreparer prepares a request to retrieve the next set of results. -// It returns nil if no more results exist. -func (rpol ResourceProviderOperationList) resourceProviderOperationListPreparer(ctx context.Context) (*http.Request, error) { - if rpol.NextLink == nil || len(to.String(rpol.NextLink)) < 1 { - return nil, nil - } - return autorest.Prepare((&http.Request{}).WithContext(ctx), - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(rpol.NextLink))) -} - -// ResourceProviderOperationListPage contains a page of ResourceProviderOperationDefinition values. -type ResourceProviderOperationListPage struct { - fn func(context.Context, ResourceProviderOperationList) (ResourceProviderOperationList, error) - rpol ResourceProviderOperationList -} - -// NextWithContext advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -func (page *ResourceProviderOperationListPage) NextWithContext(ctx context.Context) (err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/ResourceProviderOperationListPage.NextWithContext") - defer func() { - sc := -1 - if page.Response().Response.Response != nil { - sc = page.Response().Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - next, err := page.fn(ctx, page.rpol) - if err != nil { - return err - } - page.rpol = next - return nil -} - -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -// Deprecated: Use NextWithContext() instead. -func (page *ResourceProviderOperationListPage) Next() error { - return page.NextWithContext(context.Background()) -} - -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page ResourceProviderOperationListPage) NotDone() bool { - return !page.rpol.IsEmpty() -} - -// Response returns the raw server response from the last page request. -func (page ResourceProviderOperationListPage) Response() ResourceProviderOperationList { - return page.rpol -} - -// Values returns the slice of values for the current page or nil if there are no values. -func (page ResourceProviderOperationListPage) Values() []ResourceProviderOperationDefinition { - if page.rpol.IsEmpty() { - return nil - } - return *page.rpol.Value -} - -// Creates a new instance of the ResourceProviderOperationListPage type. -func NewResourceProviderOperationListPage(getNextPage func(context.Context, ResourceProviderOperationList) (ResourceProviderOperationList, error)) ResourceProviderOperationListPage { - return ResourceProviderOperationListPage{fn: getNextPage} -} - -// SetObject ... -type SetObject struct { - autorest.Response `json:"-"` - Value interface{} `json:"value,omitempty"` -} - -// Sku model representing SKU for Azure Dev Spaces Controller. -type Sku struct { - // Name - The name of the SKU for Azure Dev Spaces Controller. - Name *string `json:"name,omitempty"` - // Tier - The tier of the SKU for Azure Dev Spaces Controller. Possible values include: 'Standard' - Tier SkuTier `json:"tier,omitempty"` -} - -// TrackedResource the resource model definition for a ARM tracked top level resource. -type TrackedResource struct { - // Tags - Tags for the Azure resource. - Tags map[string]*string `json:"tags"` - // Location - Region where the Azure resource is located. - Location *string `json:"location,omitempty"` - // ID - READ-ONLY; Fully qualified resource Id for the resource. - ID *string `json:"id,omitempty"` - // Name - READ-ONLY; The name of the resource. - Name *string `json:"name,omitempty"` - // Type - READ-ONLY; The type of the resource. - Type *string `json:"type,omitempty"` -} - -// MarshalJSON is the custom marshaler for TrackedResource. -func (tr TrackedResource) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - if tr.Tags != nil { - objectMap["tags"] = tr.Tags - } - if tr.Location != nil { - objectMap["location"] = tr.Location - } - return json.Marshal(objectMap) -} diff --git a/services/preview/devspaces/mgmt/2018-06-01-preview/devspaces/version.go b/services/preview/devspaces/mgmt/2018-06-01-preview/devspaces/version.go deleted file mode 100644 index 4185bde52c4e..000000000000 --- a/services/preview/devspaces/mgmt/2018-06-01-preview/devspaces/version.go +++ /dev/null @@ -1,30 +0,0 @@ -package devspaces - -import "github.com/Azure/azure-sdk-for-go/version" - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -// UserAgent returns the UserAgent string to use when sending http.Requests. -func UserAgent() string { - return "Azure-SDK-For-Go/" + version.Number + " devspaces/2018-06-01-preview" -} - -// Version returns the semantic version (see http://semver.org) of the client. -func Version() string { - return version.Number -} diff --git a/services/preview/devspaces/mgmt/2019-01-01-preview/devspaces/containerhostmappings.go b/services/preview/devspaces/mgmt/2019-01-01-preview/devspaces/containerhostmappings.go deleted file mode 100644 index 0b12bd671b5e..000000000000 --- a/services/preview/devspaces/mgmt/2019-01-01-preview/devspaces/containerhostmappings.go +++ /dev/null @@ -1,129 +0,0 @@ -package devspaces - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/autorest/validation" - "github.com/Azure/go-autorest/tracing" - "net/http" -) - -// ContainerHostMappingsClient is the dev Spaces Client -type ContainerHostMappingsClient struct { - BaseClient -} - -// NewContainerHostMappingsClient creates an instance of the ContainerHostMappingsClient client. -func NewContainerHostMappingsClient(subscriptionID string) ContainerHostMappingsClient { - return NewContainerHostMappingsClientWithBaseURI(DefaultBaseURI, subscriptionID) -} - -// NewContainerHostMappingsClientWithBaseURI creates an instance of the ContainerHostMappingsClient client. -func NewContainerHostMappingsClientWithBaseURI(baseURI string, subscriptionID string) ContainerHostMappingsClient { - return ContainerHostMappingsClient{NewWithBaseURI(baseURI, subscriptionID)} -} - -// GetContainerHostMapping sends the get container host mapping request. -// Parameters: -// resourceGroupName - resource group to which the resource belongs. -// location - location of the container host. -func (client ContainerHostMappingsClient) GetContainerHostMapping(ctx context.Context, containerHostMapping ContainerHostMapping, resourceGroupName string, location string) (result SetObject, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/ContainerHostMappingsClient.GetContainerHostMapping") - defer func() { - sc := -1 - if result.Response.Response != nil { - sc = result.Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - if err := validation.Validate([]validation.Validation{ - {TargetValue: resourceGroupName, - Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, - {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { - return result, validation.NewError("devspaces.ContainerHostMappingsClient", "GetContainerHostMapping", err.Error()) - } - - req, err := client.GetContainerHostMappingPreparer(ctx, containerHostMapping, resourceGroupName, location) - if err != nil { - err = autorest.NewErrorWithError(err, "devspaces.ContainerHostMappingsClient", "GetContainerHostMapping", nil, "Failure preparing request") - return - } - - resp, err := client.GetContainerHostMappingSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "devspaces.ContainerHostMappingsClient", "GetContainerHostMapping", resp, "Failure sending request") - return - } - - result, err = client.GetContainerHostMappingResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "devspaces.ContainerHostMappingsClient", "GetContainerHostMapping", resp, "Failure responding to request") - } - - return -} - -// GetContainerHostMappingPreparer prepares the GetContainerHostMapping request. -func (client ContainerHostMappingsClient) GetContainerHostMappingPreparer(ctx context.Context, containerHostMapping ContainerHostMapping, resourceGroupName string, location string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "location": autorest.Encode("path", location), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2019-01-01-preview" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - containerHostMapping.MappedControllerResourceID = nil - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevSpaces/locations/{location}/checkContainerHostMapping", pathParameters), - autorest.WithJSON(containerHostMapping), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetContainerHostMappingSender sends the GetContainerHostMapping request. The method will close the -// http.Response Body if it receives an error. -func (client ContainerHostMappingsClient) GetContainerHostMappingSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - azure.DoRetryWithRegistration(client.Client)) -} - -// GetContainerHostMappingResponder handles the response to the GetContainerHostMapping request. The method always -// closes the http.Response Body. -func (client ContainerHostMappingsClient) GetContainerHostMappingResponder(resp *http.Response) (result SetObject, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result.Value), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} diff --git a/services/preview/devspaces/mgmt/2019-01-01-preview/devspaces/controllers.go b/services/preview/devspaces/mgmt/2019-01-01-preview/devspaces/controllers.go deleted file mode 100644 index e6c46e58c03e..000000000000 --- a/services/preview/devspaces/mgmt/2019-01-01-preview/devspaces/controllers.go +++ /dev/null @@ -1,726 +0,0 @@ -package devspaces - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/autorest/validation" - "github.com/Azure/go-autorest/tracing" - "net/http" -) - -// ControllersClient is the dev Spaces Client -type ControllersClient struct { - BaseClient -} - -// NewControllersClient creates an instance of the ControllersClient client. -func NewControllersClient(subscriptionID string) ControllersClient { - return NewControllersClientWithBaseURI(DefaultBaseURI, subscriptionID) -} - -// NewControllersClientWithBaseURI creates an instance of the ControllersClient client. -func NewControllersClientWithBaseURI(baseURI string, subscriptionID string) ControllersClient { - return ControllersClient{NewWithBaseURI(baseURI, subscriptionID)} -} - -// Create creates an Azure Dev Spaces Controller with the specified create parameters. -// Parameters: -// resourceGroupName - resource group to which the resource belongs. -// name - name of the resource. -// controller - controller create parameters. -func (client ControllersClient) Create(ctx context.Context, resourceGroupName string, name string, controller Controller) (result ControllersCreateFuture, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/ControllersClient.Create") - defer func() { - sc := -1 - if result.Response() != nil { - sc = result.Response().StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - if err := validation.Validate([]validation.Validation{ - {TargetValue: resourceGroupName, - Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, - {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, - {TargetValue: name, - Constraints: []validation.Constraint{{Target: "name", Name: validation.MaxLength, Rule: 31, Chain: nil}, - {Target: "name", Name: validation.MinLength, Rule: 3, Chain: nil}, - {Target: "name", Name: validation.Pattern, Rule: `^[a-zA-Z0-9](-?[a-zA-Z0-9])*$`, Chain: nil}}}, - {TargetValue: controller, - Constraints: []validation.Constraint{{Target: "controller.ControllerProperties", Name: validation.Null, Rule: true, - Chain: []validation.Constraint{{Target: "controller.ControllerProperties.TargetContainerHostResourceID", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "controller.ControllerProperties.TargetContainerHostCredentialsBase64", Name: validation.Null, Rule: true, Chain: nil}, - }}, - {Target: "controller.Sku", Name: validation.Null, Rule: true, - Chain: []validation.Constraint{{Target: "controller.Sku.Name", Name: validation.Null, Rule: true, Chain: nil}}}}}}); err != nil { - return result, validation.NewError("devspaces.ControllersClient", "Create", err.Error()) - } - - req, err := client.CreatePreparer(ctx, resourceGroupName, name, controller) - if err != nil { - err = autorest.NewErrorWithError(err, "devspaces.ControllersClient", "Create", nil, "Failure preparing request") - return - } - - result, err = client.CreateSender(req) - if err != nil { - err = autorest.NewErrorWithError(err, "devspaces.ControllersClient", "Create", result.Response(), "Failure sending request") - return - } - - return -} - -// CreatePreparer prepares the Create request. -func (client ControllersClient) CreatePreparer(ctx context.Context, resourceGroupName string, name string, controller Controller) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "name": autorest.Encode("path", name), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2019-01-01-preview" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; charset=utf-8"), - autorest.AsPut(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevSpaces/controllers/{name}", pathParameters), - autorest.WithJSON(controller), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// CreateSender sends the Create request. The method will close the -// http.Response Body if it receives an error. -func (client ControllersClient) CreateSender(req *http.Request) (future ControllersCreateFuture, err error) { - var resp *http.Response - resp, err = autorest.SendWithSender(client, req, - azure.DoRetryWithRegistration(client.Client)) - if err != nil { - return - } - future.Future, err = azure.NewFutureFromResponse(resp) - return -} - -// CreateResponder handles the response to the Create request. The method always -// closes the http.Response Body. -func (client ControllersClient) CreateResponder(resp *http.Response) (result Controller, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// Delete deletes an existing Azure Dev Spaces Controller. -// Parameters: -// resourceGroupName - resource group to which the resource belongs. -// name - name of the resource. -func (client ControllersClient) Delete(ctx context.Context, resourceGroupName string, name string) (result ControllersDeleteFuture, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/ControllersClient.Delete") - defer func() { - sc := -1 - if result.Response() != nil { - sc = result.Response().StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - if err := validation.Validate([]validation.Validation{ - {TargetValue: resourceGroupName, - Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, - {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, - {TargetValue: name, - Constraints: []validation.Constraint{{Target: "name", Name: validation.MaxLength, Rule: 31, Chain: nil}, - {Target: "name", Name: validation.MinLength, Rule: 3, Chain: nil}, - {Target: "name", Name: validation.Pattern, Rule: `^[a-zA-Z0-9](-?[a-zA-Z0-9])*$`, Chain: nil}}}}); err != nil { - return result, validation.NewError("devspaces.ControllersClient", "Delete", err.Error()) - } - - req, err := client.DeletePreparer(ctx, resourceGroupName, name) - if err != nil { - err = autorest.NewErrorWithError(err, "devspaces.ControllersClient", "Delete", nil, "Failure preparing request") - return - } - - result, err = client.DeleteSender(req) - if err != nil { - err = autorest.NewErrorWithError(err, "devspaces.ControllersClient", "Delete", result.Response(), "Failure sending request") - return - } - - return -} - -// DeletePreparer prepares the Delete request. -func (client ControllersClient) DeletePreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "name": autorest.Encode("path", name), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2019-01-01-preview" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsDelete(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevSpaces/controllers/{name}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DeleteSender sends the Delete request. The method will close the -// http.Response Body if it receives an error. -func (client ControllersClient) DeleteSender(req *http.Request) (future ControllersDeleteFuture, err error) { - var resp *http.Response - resp, err = autorest.SendWithSender(client, req, - azure.DoRetryWithRegistration(client.Client)) - if err != nil { - return - } - future.Future, err = azure.NewFutureFromResponse(resp) - return -} - -// DeleteResponder handles the response to the Delete request. The method always -// closes the http.Response Body. -func (client ControllersClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), - autorest.ByClosing()) - result.Response = resp - return -} - -// Get gets the properties for an Azure Dev Spaces Controller. -// Parameters: -// resourceGroupName - resource group to which the resource belongs. -// name - name of the resource. -func (client ControllersClient) Get(ctx context.Context, resourceGroupName string, name string) (result Controller, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/ControllersClient.Get") - defer func() { - sc := -1 - if result.Response.Response != nil { - sc = result.Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - if err := validation.Validate([]validation.Validation{ - {TargetValue: resourceGroupName, - Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, - {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, - {TargetValue: name, - Constraints: []validation.Constraint{{Target: "name", Name: validation.MaxLength, Rule: 31, Chain: nil}, - {Target: "name", Name: validation.MinLength, Rule: 3, Chain: nil}, - {Target: "name", Name: validation.Pattern, Rule: `^[a-zA-Z0-9](-?[a-zA-Z0-9])*$`, Chain: nil}}}}); err != nil { - return result, validation.NewError("devspaces.ControllersClient", "Get", err.Error()) - } - - req, err := client.GetPreparer(ctx, resourceGroupName, name) - if err != nil { - err = autorest.NewErrorWithError(err, "devspaces.ControllersClient", "Get", nil, "Failure preparing request") - return - } - - resp, err := client.GetSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "devspaces.ControllersClient", "Get", resp, "Failure sending request") - return - } - - result, err = client.GetResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "devspaces.ControllersClient", "Get", resp, "Failure responding to request") - } - - return -} - -// GetPreparer prepares the Get request. -func (client ControllersClient) GetPreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "name": autorest.Encode("path", name), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2019-01-01-preview" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevSpaces/controllers/{name}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetSender sends the Get request. The method will close the -// http.Response Body if it receives an error. -func (client ControllersClient) GetSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - azure.DoRetryWithRegistration(client.Client)) -} - -// GetResponder handles the response to the Get request. The method always -// closes the http.Response Body. -func (client ControllersClient) GetResponder(resp *http.Response) (result Controller, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// List lists all the Azure Dev Spaces Controllers with their properties in the subscription. -func (client ControllersClient) List(ctx context.Context) (result ControllerListPage, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/ControllersClient.List") - defer func() { - sc := -1 - if result.cl.Response.Response != nil { - sc = result.cl.Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - result.fn = client.listNextResults - req, err := client.ListPreparer(ctx) - if err != nil { - err = autorest.NewErrorWithError(err, "devspaces.ControllersClient", "List", nil, "Failure preparing request") - return - } - - resp, err := client.ListSender(req) - if err != nil { - result.cl.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "devspaces.ControllersClient", "List", resp, "Failure sending request") - return - } - - result.cl, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "devspaces.ControllersClient", "List", resp, "Failure responding to request") - } - - return -} - -// ListPreparer prepares the List request. -func (client ControllersClient) ListPreparer(ctx context.Context) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2019-01-01-preview" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.DevSpaces/controllers", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListSender sends the List request. The method will close the -// http.Response Body if it receives an error. -func (client ControllersClient) ListSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - azure.DoRetryWithRegistration(client.Client)) -} - -// ListResponder handles the response to the List request. The method always -// closes the http.Response Body. -func (client ControllersClient) ListResponder(resp *http.Response) (result ControllerList, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listNextResults retrieves the next set of results, if any. -func (client ControllersClient) listNextResults(ctx context.Context, lastResults ControllerList) (result ControllerList, err error) { - req, err := lastResults.controllerListPreparer(ctx) - if err != nil { - return result, autorest.NewErrorWithError(err, "devspaces.ControllersClient", "listNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "devspaces.ControllersClient", "listNextResults", resp, "Failure sending next results request") - } - result, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "devspaces.ControllersClient", "listNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListComplete enumerates all values, automatically crossing page boundaries as required. -func (client ControllersClient) ListComplete(ctx context.Context) (result ControllerListIterator, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/ControllersClient.List") - defer func() { - sc := -1 - if result.Response().Response.Response != nil { - sc = result.page.Response().Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - result.page, err = client.List(ctx) - return -} - -// ListByResourceGroup lists all the Azure Dev Spaces Controllers with their properties in the specified resource group -// and subscription. -// Parameters: -// resourceGroupName - resource group to which the resource belongs. -func (client ControllersClient) ListByResourceGroup(ctx context.Context, resourceGroupName string) (result ControllerListPage, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/ControllersClient.ListByResourceGroup") - defer func() { - sc := -1 - if result.cl.Response.Response != nil { - sc = result.cl.Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - if err := validation.Validate([]validation.Validation{ - {TargetValue: resourceGroupName, - Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, - {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { - return result, validation.NewError("devspaces.ControllersClient", "ListByResourceGroup", err.Error()) - } - - result.fn = client.listByResourceGroupNextResults - req, err := client.ListByResourceGroupPreparer(ctx, resourceGroupName) - if err != nil { - err = autorest.NewErrorWithError(err, "devspaces.ControllersClient", "ListByResourceGroup", nil, "Failure preparing request") - return - } - - resp, err := client.ListByResourceGroupSender(req) - if err != nil { - result.cl.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "devspaces.ControllersClient", "ListByResourceGroup", resp, "Failure sending request") - return - } - - result.cl, err = client.ListByResourceGroupResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "devspaces.ControllersClient", "ListByResourceGroup", resp, "Failure responding to request") - } - - return -} - -// ListByResourceGroupPreparer prepares the ListByResourceGroup request. -func (client ControllersClient) ListByResourceGroupPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2019-01-01-preview" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevSpaces/controllers", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListByResourceGroupSender sends the ListByResourceGroup request. The method will close the -// http.Response Body if it receives an error. -func (client ControllersClient) ListByResourceGroupSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - azure.DoRetryWithRegistration(client.Client)) -} - -// ListByResourceGroupResponder handles the response to the ListByResourceGroup request. The method always -// closes the http.Response Body. -func (client ControllersClient) ListByResourceGroupResponder(resp *http.Response) (result ControllerList, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listByResourceGroupNextResults retrieves the next set of results, if any. -func (client ControllersClient) listByResourceGroupNextResults(ctx context.Context, lastResults ControllerList) (result ControllerList, err error) { - req, err := lastResults.controllerListPreparer(ctx) - if err != nil { - return result, autorest.NewErrorWithError(err, "devspaces.ControllersClient", "listByResourceGroupNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListByResourceGroupSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "devspaces.ControllersClient", "listByResourceGroupNextResults", resp, "Failure sending next results request") - } - result, err = client.ListByResourceGroupResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "devspaces.ControllersClient", "listByResourceGroupNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListByResourceGroupComplete enumerates all values, automatically crossing page boundaries as required. -func (client ControllersClient) ListByResourceGroupComplete(ctx context.Context, resourceGroupName string) (result ControllerListIterator, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/ControllersClient.ListByResourceGroup") - defer func() { - sc := -1 - if result.Response().Response.Response != nil { - sc = result.page.Response().Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - result.page, err = client.ListByResourceGroup(ctx, resourceGroupName) - return -} - -// ListConnectionDetails lists connection details for the underlying container resources of an Azure Dev Spaces -// Controller. -// Parameters: -// resourceGroupName - resource group to which the resource belongs. -// name - name of the resource. -func (client ControllersClient) ListConnectionDetails(ctx context.Context, resourceGroupName string, name string) (result ControllerConnectionDetailsList, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/ControllersClient.ListConnectionDetails") - defer func() { - sc := -1 - if result.Response.Response != nil { - sc = result.Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - if err := validation.Validate([]validation.Validation{ - {TargetValue: resourceGroupName, - Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, - {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, - {TargetValue: name, - Constraints: []validation.Constraint{{Target: "name", Name: validation.MaxLength, Rule: 31, Chain: nil}, - {Target: "name", Name: validation.MinLength, Rule: 3, Chain: nil}, - {Target: "name", Name: validation.Pattern, Rule: `^[a-zA-Z0-9](-?[a-zA-Z0-9])*$`, Chain: nil}}}}); err != nil { - return result, validation.NewError("devspaces.ControllersClient", "ListConnectionDetails", err.Error()) - } - - req, err := client.ListConnectionDetailsPreparer(ctx, resourceGroupName, name) - if err != nil { - err = autorest.NewErrorWithError(err, "devspaces.ControllersClient", "ListConnectionDetails", nil, "Failure preparing request") - return - } - - resp, err := client.ListConnectionDetailsSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "devspaces.ControllersClient", "ListConnectionDetails", resp, "Failure sending request") - return - } - - result, err = client.ListConnectionDetailsResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "devspaces.ControllersClient", "ListConnectionDetails", resp, "Failure responding to request") - } - - return -} - -// ListConnectionDetailsPreparer prepares the ListConnectionDetails request. -func (client ControllersClient) ListConnectionDetailsPreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "name": autorest.Encode("path", name), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2019-01-01-preview" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevSpaces/controllers/{name}/listConnectionDetails", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListConnectionDetailsSender sends the ListConnectionDetails request. The method will close the -// http.Response Body if it receives an error. -func (client ControllersClient) ListConnectionDetailsSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - azure.DoRetryWithRegistration(client.Client)) -} - -// ListConnectionDetailsResponder handles the response to the ListConnectionDetails request. The method always -// closes the http.Response Body. -func (client ControllersClient) ListConnectionDetailsResponder(resp *http.Response) (result ControllerConnectionDetailsList, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// Update updates the properties of an existing Azure Dev Spaces Controller with the specified update parameters. -// Parameters: -// resourceGroupName - resource group to which the resource belongs. -// name - name of the resource. -// controllerUpdateParameters - parameters for updating the Azure Dev Spaces Controller. -func (client ControllersClient) Update(ctx context.Context, resourceGroupName string, name string, controllerUpdateParameters ControllerUpdateParameters) (result Controller, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/ControllersClient.Update") - defer func() { - sc := -1 - if result.Response.Response != nil { - sc = result.Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - if err := validation.Validate([]validation.Validation{ - {TargetValue: resourceGroupName, - Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, - {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, - {TargetValue: name, - Constraints: []validation.Constraint{{Target: "name", Name: validation.MaxLength, Rule: 31, Chain: nil}, - {Target: "name", Name: validation.MinLength, Rule: 3, Chain: nil}, - {Target: "name", Name: validation.Pattern, Rule: `^[a-zA-Z0-9](-?[a-zA-Z0-9])*$`, Chain: nil}}}}); err != nil { - return result, validation.NewError("devspaces.ControllersClient", "Update", err.Error()) - } - - req, err := client.UpdatePreparer(ctx, resourceGroupName, name, controllerUpdateParameters) - if err != nil { - err = autorest.NewErrorWithError(err, "devspaces.ControllersClient", "Update", nil, "Failure preparing request") - return - } - - resp, err := client.UpdateSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "devspaces.ControllersClient", "Update", resp, "Failure sending request") - return - } - - result, err = client.UpdateResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "devspaces.ControllersClient", "Update", resp, "Failure responding to request") - } - - return -} - -// UpdatePreparer prepares the Update request. -func (client ControllersClient) UpdatePreparer(ctx context.Context, resourceGroupName string, name string, controllerUpdateParameters ControllerUpdateParameters) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "name": autorest.Encode("path", name), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2019-01-01-preview" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; charset=utf-8"), - autorest.AsPatch(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevSpaces/controllers/{name}", pathParameters), - autorest.WithJSON(controllerUpdateParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// UpdateSender sends the Update request. The method will close the -// http.Response Body if it receives an error. -func (client ControllersClient) UpdateSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - azure.DoRetryWithRegistration(client.Client)) -} - -// UpdateResponder handles the response to the Update request. The method always -// closes the http.Response Body. -func (client ControllersClient) UpdateResponder(resp *http.Response) (result Controller, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} diff --git a/services/preview/devspaces/mgmt/2019-01-01-preview/devspaces/devspacesapi/interfaces.go b/services/preview/devspaces/mgmt/2019-01-01-preview/devspaces/devspacesapi/interfaces.go deleted file mode 100644 index 21c795f2492a..000000000000 --- a/services/preview/devspaces/mgmt/2019-01-01-preview/devspaces/devspacesapi/interfaces.go +++ /dev/null @@ -1,50 +0,0 @@ -package devspacesapi - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/azure-sdk-for-go/services/preview/devspaces/mgmt/2019-01-01-preview/devspaces" -) - -// ContainerHostMappingsClientAPI contains the set of methods on the ContainerHostMappingsClient type. -type ContainerHostMappingsClientAPI interface { - GetContainerHostMapping(ctx context.Context, containerHostMapping devspaces.ContainerHostMapping, resourceGroupName string, location string) (result devspaces.SetObject, err error) -} - -var _ ContainerHostMappingsClientAPI = (*devspaces.ContainerHostMappingsClient)(nil) - -// OperationsClientAPI contains the set of methods on the OperationsClient type. -type OperationsClientAPI interface { - List(ctx context.Context) (result devspaces.ResourceProviderOperationListPage, err error) -} - -var _ OperationsClientAPI = (*devspaces.OperationsClient)(nil) - -// ControllersClientAPI contains the set of methods on the ControllersClient type. -type ControllersClientAPI interface { - Create(ctx context.Context, resourceGroupName string, name string, controller devspaces.Controller) (result devspaces.ControllersCreateFuture, err error) - Delete(ctx context.Context, resourceGroupName string, name string) (result devspaces.ControllersDeleteFuture, err error) - Get(ctx context.Context, resourceGroupName string, name string) (result devspaces.Controller, err error) - List(ctx context.Context) (result devspaces.ControllerListPage, err error) - ListByResourceGroup(ctx context.Context, resourceGroupName string) (result devspaces.ControllerListPage, err error) - ListConnectionDetails(ctx context.Context, resourceGroupName string, name string) (result devspaces.ControllerConnectionDetailsList, err error) - Update(ctx context.Context, resourceGroupName string, name string, controllerUpdateParameters devspaces.ControllerUpdateParameters) (result devspaces.Controller, err error) -} - -var _ ControllersClientAPI = (*devspaces.ControllersClient)(nil) diff --git a/services/preview/devspaces/mgmt/2019-01-01-preview/devspaces/models.go b/services/preview/devspaces/mgmt/2019-01-01-preview/devspaces/models.go deleted file mode 100644 index 4573ad038441..000000000000 --- a/services/preview/devspaces/mgmt/2019-01-01-preview/devspaces/models.go +++ /dev/null @@ -1,824 +0,0 @@ -package devspaces - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "encoding/json" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/autorest/to" - "github.com/Azure/go-autorest/tracing" - "net/http" -) - -// The package's fully qualified name. -const fqdn = "github.com/Azure/azure-sdk-for-go/services/preview/devspaces/mgmt/2019-01-01-preview/devspaces" - -// InstanceType enumerates the values for instance type. -type InstanceType string - -const ( - // InstanceTypeKubernetes ... - InstanceTypeKubernetes InstanceType = "Kubernetes" - // InstanceTypeOrchestratorSpecificConnectionDetails ... - InstanceTypeOrchestratorSpecificConnectionDetails InstanceType = "OrchestratorSpecificConnectionDetails" -) - -// PossibleInstanceTypeValues returns an array of possible values for the InstanceType const type. -func PossibleInstanceTypeValues() []InstanceType { - return []InstanceType{InstanceTypeKubernetes, InstanceTypeOrchestratorSpecificConnectionDetails} -} - -// ProvisioningState enumerates the values for provisioning state. -type ProvisioningState string - -const ( - // Canceled ... - Canceled ProvisioningState = "Canceled" - // Creating ... - Creating ProvisioningState = "Creating" - // Deleted ... - Deleted ProvisioningState = "Deleted" - // Deleting ... - Deleting ProvisioningState = "Deleting" - // Failed ... - Failed ProvisioningState = "Failed" - // Succeeded ... - Succeeded ProvisioningState = "Succeeded" - // Updating ... - Updating ProvisioningState = "Updating" -) - -// PossibleProvisioningStateValues returns an array of possible values for the ProvisioningState const type. -func PossibleProvisioningStateValues() []ProvisioningState { - return []ProvisioningState{Canceled, Creating, Deleted, Deleting, Failed, Succeeded, Updating} -} - -// SkuTier enumerates the values for sku tier. -type SkuTier string - -const ( - // Standard ... - Standard SkuTier = "Standard" -) - -// PossibleSkuTierValues returns an array of possible values for the SkuTier const type. -func PossibleSkuTierValues() []SkuTier { - return []SkuTier{Standard} -} - -// ContainerHostMapping container host mapping object specifying the Container host resource ID and its -// associated Controller resource. -type ContainerHostMapping struct { - // ContainerHostResourceID - ARM ID of the Container Host resource - ContainerHostResourceID *string `json:"containerHostResourceId,omitempty"` - // MappedControllerResourceID - READ-ONLY; ARM ID of the mapped Controller resource - MappedControllerResourceID *string `json:"mappedControllerResourceId,omitempty"` -} - -// Controller ... -type Controller struct { - autorest.Response `json:"-"` - *ControllerProperties `json:"properties,omitempty"` - Sku *Sku `json:"sku,omitempty"` - // Tags - Tags for the Azure resource. - Tags map[string]*string `json:"tags"` - // Location - Region where the Azure resource is located. - Location *string `json:"location,omitempty"` - // ID - READ-ONLY; Fully qualified resource Id for the resource. - ID *string `json:"id,omitempty"` - // Name - READ-ONLY; The name of the resource. - Name *string `json:"name,omitempty"` - // Type - READ-ONLY; The type of the resource. - Type *string `json:"type,omitempty"` -} - -// MarshalJSON is the custom marshaler for Controller. -func (c Controller) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - if c.ControllerProperties != nil { - objectMap["properties"] = c.ControllerProperties - } - if c.Sku != nil { - objectMap["sku"] = c.Sku - } - if c.Tags != nil { - objectMap["tags"] = c.Tags - } - if c.Location != nil { - objectMap["location"] = c.Location - } - return json.Marshal(objectMap) -} - -// UnmarshalJSON is the custom unmarshaler for Controller struct. -func (c *Controller) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - case "properties": - if v != nil { - var controllerProperties ControllerProperties - err = json.Unmarshal(*v, &controllerProperties) - if err != nil { - return err - } - c.ControllerProperties = &controllerProperties - } - case "sku": - if v != nil { - var sku Sku - err = json.Unmarshal(*v, &sku) - if err != nil { - return err - } - c.Sku = &sku - } - case "tags": - if v != nil { - var tags map[string]*string - err = json.Unmarshal(*v, &tags) - if err != nil { - return err - } - c.Tags = tags - } - case "location": - if v != nil { - var location string - err = json.Unmarshal(*v, &location) - if err != nil { - return err - } - c.Location = &location - } - case "id": - if v != nil { - var ID string - err = json.Unmarshal(*v, &ID) - if err != nil { - return err - } - c.ID = &ID - } - case "name": - if v != nil { - var name string - err = json.Unmarshal(*v, &name) - if err != nil { - return err - } - c.Name = &name - } - case "type": - if v != nil { - var typeVar string - err = json.Unmarshal(*v, &typeVar) - if err != nil { - return err - } - c.Type = &typeVar - } - } - } - - return nil -} - -// ControllerConnectionDetails ... -type ControllerConnectionDetails struct { - // AuthKey - READ-ONLY; Authentication key for communicating with services. - AuthKey *string `json:"authKey,omitempty"` - OrchestratorSpecificConnectionDetails BasicOrchestratorSpecificConnectionDetails `json:"orchestratorSpecificConnectionDetails,omitempty"` -} - -// UnmarshalJSON is the custom unmarshaler for ControllerConnectionDetails struct. -func (ccd *ControllerConnectionDetails) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - case "authKey": - if v != nil { - var authKey string - err = json.Unmarshal(*v, &authKey) - if err != nil { - return err - } - ccd.AuthKey = &authKey - } - case "orchestratorSpecificConnectionDetails": - if v != nil { - orchestratorSpecificConnectionDetails, err := unmarshalBasicOrchestratorSpecificConnectionDetails(*v) - if err != nil { - return err - } - ccd.OrchestratorSpecificConnectionDetails = orchestratorSpecificConnectionDetails - } - } - } - - return nil -} - -// ControllerConnectionDetailsList ... -type ControllerConnectionDetailsList struct { - autorest.Response `json:"-"` - // ConnectionDetailsList - List of Azure Dev Spaces Controller connection details. - ConnectionDetailsList *[]ControllerConnectionDetails `json:"connectionDetailsList,omitempty"` -} - -// ControllerList ... -type ControllerList struct { - autorest.Response `json:"-"` - // Value - List of Azure Dev Spaces Controllers. - Value *[]Controller `json:"value,omitempty"` - // NextLink - READ-ONLY; The URI that can be used to request the next page for list of Azure Dev Spaces Controllers. - NextLink *string `json:"nextLink,omitempty"` -} - -// ControllerListIterator provides access to a complete listing of Controller values. -type ControllerListIterator struct { - i int - page ControllerListPage -} - -// NextWithContext advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -func (iter *ControllerListIterator) NextWithContext(ctx context.Context) (err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/ControllerListIterator.NextWithContext") - defer func() { - sc := -1 - if iter.Response().Response.Response != nil { - sc = iter.Response().Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - iter.i++ - if iter.i < len(iter.page.Values()) { - return nil - } - err = iter.page.NextWithContext(ctx) - if err != nil { - iter.i-- - return err - } - iter.i = 0 - return nil -} - -// Next advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -// Deprecated: Use NextWithContext() instead. -func (iter *ControllerListIterator) Next() error { - return iter.NextWithContext(context.Background()) -} - -// NotDone returns true if the enumeration should be started or is not yet complete. -func (iter ControllerListIterator) NotDone() bool { - return iter.page.NotDone() && iter.i < len(iter.page.Values()) -} - -// Response returns the raw server response from the last page request. -func (iter ControllerListIterator) Response() ControllerList { - return iter.page.Response() -} - -// Value returns the current value or a zero-initialized value if the -// iterator has advanced beyond the end of the collection. -func (iter ControllerListIterator) Value() Controller { - if !iter.page.NotDone() { - return Controller{} - } - return iter.page.Values()[iter.i] -} - -// Creates a new instance of the ControllerListIterator type. -func NewControllerListIterator(page ControllerListPage) ControllerListIterator { - return ControllerListIterator{page: page} -} - -// IsEmpty returns true if the ListResult contains no values. -func (cl ControllerList) IsEmpty() bool { - return cl.Value == nil || len(*cl.Value) == 0 -} - -// controllerListPreparer prepares a request to retrieve the next set of results. -// It returns nil if no more results exist. -func (cl ControllerList) controllerListPreparer(ctx context.Context) (*http.Request, error) { - if cl.NextLink == nil || len(to.String(cl.NextLink)) < 1 { - return nil, nil - } - return autorest.Prepare((&http.Request{}).WithContext(ctx), - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(cl.NextLink))) -} - -// ControllerListPage contains a page of Controller values. -type ControllerListPage struct { - fn func(context.Context, ControllerList) (ControllerList, error) - cl ControllerList -} - -// NextWithContext advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -func (page *ControllerListPage) NextWithContext(ctx context.Context) (err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/ControllerListPage.NextWithContext") - defer func() { - sc := -1 - if page.Response().Response.Response != nil { - sc = page.Response().Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - next, err := page.fn(ctx, page.cl) - if err != nil { - return err - } - page.cl = next - return nil -} - -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -// Deprecated: Use NextWithContext() instead. -func (page *ControllerListPage) Next() error { - return page.NextWithContext(context.Background()) -} - -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page ControllerListPage) NotDone() bool { - return !page.cl.IsEmpty() -} - -// Response returns the raw server response from the last page request. -func (page ControllerListPage) Response() ControllerList { - return page.cl -} - -// Values returns the slice of values for the current page or nil if there are no values. -func (page ControllerListPage) Values() []Controller { - if page.cl.IsEmpty() { - return nil - } - return *page.cl.Value -} - -// Creates a new instance of the ControllerListPage type. -func NewControllerListPage(getNextPage func(context.Context, ControllerList) (ControllerList, error)) ControllerListPage { - return ControllerListPage{fn: getNextPage} -} - -// ControllerProperties ... -type ControllerProperties struct { - // ProvisioningState - READ-ONLY; Provisioning state of the Azure Dev Spaces Controller. Possible values include: 'Succeeded', 'Failed', 'Canceled', 'Updating', 'Creating', 'Deleting', 'Deleted' - ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` - // HostSuffix - READ-ONLY; DNS suffix for public endpoints running in the Azure Dev Spaces Controller. - HostSuffix *string `json:"hostSuffix,omitempty"` - // DataPlaneFqdn - READ-ONLY; DNS name for accessing DataPlane services - DataPlaneFqdn *string `json:"dataPlaneFqdn,omitempty"` - // TargetContainerHostResourceID - Resource ID of the target container host - TargetContainerHostResourceID *string `json:"targetContainerHostResourceId,omitempty"` - // TargetContainerHostCredentialsBase64 - Credentials of the target container host (base64). - TargetContainerHostCredentialsBase64 *string `json:"targetContainerHostCredentialsBase64,omitempty"` -} - -// ControllersCreateFuture an abstraction for monitoring and retrieving the results of a long-running -// operation. -type ControllersCreateFuture struct { - azure.Future -} - -// Result returns the result of the asynchronous operation. -// If the operation has not completed it will return an error. -func (future *ControllersCreateFuture) Result(client ControllersClient) (c Controller, err error) { - var done bool - done, err = future.DoneWithContext(context.Background(), client) - if err != nil { - err = autorest.NewErrorWithError(err, "devspaces.ControllersCreateFuture", "Result", future.Response(), "Polling failure") - return - } - if !done { - err = azure.NewAsyncOpIncompleteError("devspaces.ControllersCreateFuture") - return - } - sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) - if c.Response.Response, err = future.GetResult(sender); err == nil && c.Response.Response.StatusCode != http.StatusNoContent { - c, err = client.CreateResponder(c.Response.Response) - if err != nil { - err = autorest.NewErrorWithError(err, "devspaces.ControllersCreateFuture", "Result", c.Response.Response, "Failure responding to request") - } - } - return -} - -// ControllersDeleteFuture an abstraction for monitoring and retrieving the results of a long-running -// operation. -type ControllersDeleteFuture struct { - azure.Future -} - -// Result returns the result of the asynchronous operation. -// If the operation has not completed it will return an error. -func (future *ControllersDeleteFuture) Result(client ControllersClient) (ar autorest.Response, err error) { - var done bool - done, err = future.DoneWithContext(context.Background(), client) - if err != nil { - err = autorest.NewErrorWithError(err, "devspaces.ControllersDeleteFuture", "Result", future.Response(), "Polling failure") - return - } - if !done { - err = azure.NewAsyncOpIncompleteError("devspaces.ControllersDeleteFuture") - return - } - ar.Response = future.Response() - return -} - -// ControllerUpdateParameters parameters for updating an Azure Dev Spaces Controller. -type ControllerUpdateParameters struct { - // Tags - Tags for the Azure Dev Spaces Controller. - Tags map[string]*string `json:"tags"` -} - -// MarshalJSON is the custom marshaler for ControllerUpdateParameters. -func (cup ControllerUpdateParameters) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - if cup.Tags != nil { - objectMap["tags"] = cup.Tags - } - return json.Marshal(objectMap) -} - -// ErrorDetails ... -type ErrorDetails struct { - // Code - READ-ONLY; Status code for the error. - Code *string `json:"code,omitempty"` - // Message - READ-ONLY; Error message describing the error in detail. - Message *string `json:"message,omitempty"` - // Target - READ-ONLY; The target of the particular error. - Target *string `json:"target,omitempty"` -} - -// ErrorResponse error response indicates that the service is not able to process the incoming request. The -// reason is provided in the error message. -type ErrorResponse struct { - // Error - The details of the error. - Error *ErrorDetails `json:"error,omitempty"` -} - -// KubernetesConnectionDetails contains information used to connect to a Kubernetes cluster -type KubernetesConnectionDetails struct { - // KubeConfig - Gets the kubeconfig for the cluster. - KubeConfig *string `json:"kubeConfig,omitempty"` - // InstanceType - Possible values include: 'InstanceTypeOrchestratorSpecificConnectionDetails', 'InstanceTypeKubernetes' - InstanceType InstanceType `json:"instanceType,omitempty"` -} - -// MarshalJSON is the custom marshaler for KubernetesConnectionDetails. -func (kcd KubernetesConnectionDetails) MarshalJSON() ([]byte, error) { - kcd.InstanceType = InstanceTypeKubernetes - objectMap := make(map[string]interface{}) - if kcd.KubeConfig != nil { - objectMap["kubeConfig"] = kcd.KubeConfig - } - if kcd.InstanceType != "" { - objectMap["instanceType"] = kcd.InstanceType - } - return json.Marshal(objectMap) -} - -// AsKubernetesConnectionDetails is the BasicOrchestratorSpecificConnectionDetails implementation for KubernetesConnectionDetails. -func (kcd KubernetesConnectionDetails) AsKubernetesConnectionDetails() (*KubernetesConnectionDetails, bool) { - return &kcd, true -} - -// AsOrchestratorSpecificConnectionDetails is the BasicOrchestratorSpecificConnectionDetails implementation for KubernetesConnectionDetails. -func (kcd KubernetesConnectionDetails) AsOrchestratorSpecificConnectionDetails() (*OrchestratorSpecificConnectionDetails, bool) { - return nil, false -} - -// AsBasicOrchestratorSpecificConnectionDetails is the BasicOrchestratorSpecificConnectionDetails implementation for KubernetesConnectionDetails. -func (kcd KubernetesConnectionDetails) AsBasicOrchestratorSpecificConnectionDetails() (BasicOrchestratorSpecificConnectionDetails, bool) { - return &kcd, true -} - -// BasicOrchestratorSpecificConnectionDetails base class for types that supply values used to connect to container -// orchestrators -type BasicOrchestratorSpecificConnectionDetails interface { - AsKubernetesConnectionDetails() (*KubernetesConnectionDetails, bool) - AsOrchestratorSpecificConnectionDetails() (*OrchestratorSpecificConnectionDetails, bool) -} - -// OrchestratorSpecificConnectionDetails base class for types that supply values used to connect to container -// orchestrators -type OrchestratorSpecificConnectionDetails struct { - // InstanceType - Possible values include: 'InstanceTypeOrchestratorSpecificConnectionDetails', 'InstanceTypeKubernetes' - InstanceType InstanceType `json:"instanceType,omitempty"` -} - -func unmarshalBasicOrchestratorSpecificConnectionDetails(body []byte) (BasicOrchestratorSpecificConnectionDetails, error) { - var m map[string]interface{} - err := json.Unmarshal(body, &m) - if err != nil { - return nil, err - } - - switch m["instanceType"] { - case string(InstanceTypeKubernetes): - var kcd KubernetesConnectionDetails - err := json.Unmarshal(body, &kcd) - return kcd, err - default: - var oscd OrchestratorSpecificConnectionDetails - err := json.Unmarshal(body, &oscd) - return oscd, err - } -} -func unmarshalBasicOrchestratorSpecificConnectionDetailsArray(body []byte) ([]BasicOrchestratorSpecificConnectionDetails, error) { - var rawMessages []*json.RawMessage - err := json.Unmarshal(body, &rawMessages) - if err != nil { - return nil, err - } - - oscdArray := make([]BasicOrchestratorSpecificConnectionDetails, len(rawMessages)) - - for index, rawMessage := range rawMessages { - oscd, err := unmarshalBasicOrchestratorSpecificConnectionDetails(*rawMessage) - if err != nil { - return nil, err - } - oscdArray[index] = oscd - } - return oscdArray, nil -} - -// MarshalJSON is the custom marshaler for OrchestratorSpecificConnectionDetails. -func (oscd OrchestratorSpecificConnectionDetails) MarshalJSON() ([]byte, error) { - oscd.InstanceType = InstanceTypeOrchestratorSpecificConnectionDetails - objectMap := make(map[string]interface{}) - if oscd.InstanceType != "" { - objectMap["instanceType"] = oscd.InstanceType - } - return json.Marshal(objectMap) -} - -// AsKubernetesConnectionDetails is the BasicOrchestratorSpecificConnectionDetails implementation for OrchestratorSpecificConnectionDetails. -func (oscd OrchestratorSpecificConnectionDetails) AsKubernetesConnectionDetails() (*KubernetesConnectionDetails, bool) { - return nil, false -} - -// AsOrchestratorSpecificConnectionDetails is the BasicOrchestratorSpecificConnectionDetails implementation for OrchestratorSpecificConnectionDetails. -func (oscd OrchestratorSpecificConnectionDetails) AsOrchestratorSpecificConnectionDetails() (*OrchestratorSpecificConnectionDetails, bool) { - return &oscd, true -} - -// AsBasicOrchestratorSpecificConnectionDetails is the BasicOrchestratorSpecificConnectionDetails implementation for OrchestratorSpecificConnectionDetails. -func (oscd OrchestratorSpecificConnectionDetails) AsBasicOrchestratorSpecificConnectionDetails() (BasicOrchestratorSpecificConnectionDetails, bool) { - return &oscd, true -} - -// Resource an Azure resource. -type Resource struct { - // ID - READ-ONLY; Fully qualified resource Id for the resource. - ID *string `json:"id,omitempty"` - // Name - READ-ONLY; The name of the resource. - Name *string `json:"name,omitempty"` - // Type - READ-ONLY; The type of the resource. - Type *string `json:"type,omitempty"` -} - -// ResourceProviderOperationDefinition ... -type ResourceProviderOperationDefinition struct { - // Name - Resource provider operation name. - Name *string `json:"name,omitempty"` - Display *ResourceProviderOperationDisplay `json:"display,omitempty"` -} - -// ResourceProviderOperationDisplay ... -type ResourceProviderOperationDisplay struct { - // Provider - Name of the resource provider. - Provider *string `json:"provider,omitempty"` - // Resource - Name of the resource type. - Resource *string `json:"resource,omitempty"` - // Operation - Name of the resource provider operation. - Operation *string `json:"operation,omitempty"` - // Description - Description of the resource provider operation. - Description *string `json:"description,omitempty"` -} - -// ResourceProviderOperationList ... -type ResourceProviderOperationList struct { - autorest.Response `json:"-"` - // Value - Resource provider operations list. - Value *[]ResourceProviderOperationDefinition `json:"value,omitempty"` - // NextLink - READ-ONLY; The URI that can be used to request the next page for list of Azure operations. - NextLink *string `json:"nextLink,omitempty"` -} - -// ResourceProviderOperationListIterator provides access to a complete listing of -// ResourceProviderOperationDefinition values. -type ResourceProviderOperationListIterator struct { - i int - page ResourceProviderOperationListPage -} - -// NextWithContext advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -func (iter *ResourceProviderOperationListIterator) NextWithContext(ctx context.Context) (err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/ResourceProviderOperationListIterator.NextWithContext") - defer func() { - sc := -1 - if iter.Response().Response.Response != nil { - sc = iter.Response().Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - iter.i++ - if iter.i < len(iter.page.Values()) { - return nil - } - err = iter.page.NextWithContext(ctx) - if err != nil { - iter.i-- - return err - } - iter.i = 0 - return nil -} - -// Next advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -// Deprecated: Use NextWithContext() instead. -func (iter *ResourceProviderOperationListIterator) Next() error { - return iter.NextWithContext(context.Background()) -} - -// NotDone returns true if the enumeration should be started or is not yet complete. -func (iter ResourceProviderOperationListIterator) NotDone() bool { - return iter.page.NotDone() && iter.i < len(iter.page.Values()) -} - -// Response returns the raw server response from the last page request. -func (iter ResourceProviderOperationListIterator) Response() ResourceProviderOperationList { - return iter.page.Response() -} - -// Value returns the current value or a zero-initialized value if the -// iterator has advanced beyond the end of the collection. -func (iter ResourceProviderOperationListIterator) Value() ResourceProviderOperationDefinition { - if !iter.page.NotDone() { - return ResourceProviderOperationDefinition{} - } - return iter.page.Values()[iter.i] -} - -// Creates a new instance of the ResourceProviderOperationListIterator type. -func NewResourceProviderOperationListIterator(page ResourceProviderOperationListPage) ResourceProviderOperationListIterator { - return ResourceProviderOperationListIterator{page: page} -} - -// IsEmpty returns true if the ListResult contains no values. -func (rpol ResourceProviderOperationList) IsEmpty() bool { - return rpol.Value == nil || len(*rpol.Value) == 0 -} - -// resourceProviderOperationListPreparer prepares a request to retrieve the next set of results. -// It returns nil if no more results exist. -func (rpol ResourceProviderOperationList) resourceProviderOperationListPreparer(ctx context.Context) (*http.Request, error) { - if rpol.NextLink == nil || len(to.String(rpol.NextLink)) < 1 { - return nil, nil - } - return autorest.Prepare((&http.Request{}).WithContext(ctx), - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(rpol.NextLink))) -} - -// ResourceProviderOperationListPage contains a page of ResourceProviderOperationDefinition values. -type ResourceProviderOperationListPage struct { - fn func(context.Context, ResourceProviderOperationList) (ResourceProviderOperationList, error) - rpol ResourceProviderOperationList -} - -// NextWithContext advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -func (page *ResourceProviderOperationListPage) NextWithContext(ctx context.Context) (err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/ResourceProviderOperationListPage.NextWithContext") - defer func() { - sc := -1 - if page.Response().Response.Response != nil { - sc = page.Response().Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - next, err := page.fn(ctx, page.rpol) - if err != nil { - return err - } - page.rpol = next - return nil -} - -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -// Deprecated: Use NextWithContext() instead. -func (page *ResourceProviderOperationListPage) Next() error { - return page.NextWithContext(context.Background()) -} - -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page ResourceProviderOperationListPage) NotDone() bool { - return !page.rpol.IsEmpty() -} - -// Response returns the raw server response from the last page request. -func (page ResourceProviderOperationListPage) Response() ResourceProviderOperationList { - return page.rpol -} - -// Values returns the slice of values for the current page or nil if there are no values. -func (page ResourceProviderOperationListPage) Values() []ResourceProviderOperationDefinition { - if page.rpol.IsEmpty() { - return nil - } - return *page.rpol.Value -} - -// Creates a new instance of the ResourceProviderOperationListPage type. -func NewResourceProviderOperationListPage(getNextPage func(context.Context, ResourceProviderOperationList) (ResourceProviderOperationList, error)) ResourceProviderOperationListPage { - return ResourceProviderOperationListPage{fn: getNextPage} -} - -// SetObject ... -type SetObject struct { - autorest.Response `json:"-"` - Value interface{} `json:"value,omitempty"` -} - -// Sku model representing SKU for Azure Dev Spaces Controller. -type Sku struct { - // Name - The name of the SKU for Azure Dev Spaces Controller. - Name *string `json:"name,omitempty"` - // Tier - The tier of the SKU for Azure Dev Spaces Controller. Possible values include: 'Standard' - Tier SkuTier `json:"tier,omitempty"` -} - -// TrackedResource the resource model definition for a ARM tracked top level resource. -type TrackedResource struct { - // Tags - Tags for the Azure resource. - Tags map[string]*string `json:"tags"` - // Location - Region where the Azure resource is located. - Location *string `json:"location,omitempty"` - // ID - READ-ONLY; Fully qualified resource Id for the resource. - ID *string `json:"id,omitempty"` - // Name - READ-ONLY; The name of the resource. - Name *string `json:"name,omitempty"` - // Type - READ-ONLY; The type of the resource. - Type *string `json:"type,omitempty"` -} - -// MarshalJSON is the custom marshaler for TrackedResource. -func (tr TrackedResource) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - if tr.Tags != nil { - objectMap["tags"] = tr.Tags - } - if tr.Location != nil { - objectMap["location"] = tr.Location - } - return json.Marshal(objectMap) -} diff --git a/services/preview/devspaces/mgmt/2019-01-01-preview/devspaces/version.go b/services/preview/devspaces/mgmt/2019-01-01-preview/devspaces/version.go deleted file mode 100644 index 216ba778a9c2..000000000000 --- a/services/preview/devspaces/mgmt/2019-01-01-preview/devspaces/version.go +++ /dev/null @@ -1,30 +0,0 @@ -package devspaces - -import "github.com/Azure/azure-sdk-for-go/version" - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -// UserAgent returns the UserAgent string to use when sending http.Requests. -func UserAgent() string { - return "Azure-SDK-For-Go/" + version.Number + " devspaces/2019-01-01-preview" -} - -// Version returns the semantic version (see http://semver.org) of the client. -func Version() string { - return version.Number -} diff --git a/services/preview/eventhub/mgmt/2018-01-01-preview/eventhub/models.go b/services/preview/eventhub/mgmt/2018-01-01-preview/eventhub/models.go index 8a3ad3c6d17c..c0e01c5e8f76 100644 --- a/services/preview/eventhub/mgmt/2018-01-01-preview/eventhub/models.go +++ b/services/preview/eventhub/mgmt/2018-01-01-preview/eventhub/models.go @@ -46,6 +46,19 @@ func PossibleDefaultActionValues() []DefaultAction { return []DefaultAction{Allow, Deny} } +// IdentityType enumerates the values for identity type. +type IdentityType string + +const ( + // SystemAssigned ... + SystemAssigned IdentityType = "SystemAssigned" +) + +// PossibleIdentityTypeValues returns an array of possible values for the IdentityType const type. +func PossibleIdentityTypeValues() []IdentityType { + return []IdentityType{SystemAssigned} +} + // IPAction enumerates the values for ip action. type IPAction string @@ -61,6 +74,19 @@ func PossibleIPActionValues() []IPAction { return []IPAction{Accept, Reject} } +// KeySource enumerates the values for key source. +type KeySource string + +const ( + // MicrosoftKeyVault ... + MicrosoftKeyVault KeySource = "Microsoft.KeyVault" +) + +// PossibleKeySourceValues returns an array of possible values for the KeySource const type. +func PossibleKeySourceValues() []KeySource { + return []KeySource{MicrosoftKeyVault} +} + // NetworkRuleIPAction enumerates the values for network rule ip action. type NetworkRuleIPAction string @@ -778,6 +804,8 @@ type EHNamespaceProperties struct { UpdatedAt *date.Time `json:"updatedAt,omitempty"` // ServiceBusEndpoint - READ-ONLY; Endpoint you can use to perform Service Bus operations. ServiceBusEndpoint *string `json:"serviceBusEndpoint,omitempty"` + // ClusterArmID - Cluster ARM ID of the Namespace. + ClusterArmID *string `json:"clusterArmId,omitempty"` // MetricID - READ-ONLY; Identifier for Azure Insights metrics. MetricID *string `json:"metricId,omitempty"` // IsAutoInflateEnabled - Value that indicates whether AutoInflate is enabled for eventhub namespace. @@ -788,6 +816,18 @@ type EHNamespaceProperties struct { KafkaEnabled *bool `json:"kafkaEnabled,omitempty"` // ZoneRedundant - Enabling this property creates a Standard Event Hubs Namespace in regions supported availability zones. ZoneRedundant *bool `json:"zoneRedundant,omitempty"` + // Identity - Properties of BYOK Identity description + Identity *Identity `json:"identity,omitempty"` + // Encryption - Properties of BYOK Encryption description + Encryption *Encryption `json:"encryption,omitempty"` +} + +// Encryption properties to configure Encryption +type Encryption struct { + // KeyVaultProperties - Properties of KeyVault + KeyVaultProperties *KeyVaultProperties `json:"keyVaultProperties,omitempty"` + // KeySource - Enumerates the possible value of keySource for Encryption. Possible values include: 'MicrosoftKeyVault' + KeySource KeySource `json:"keySource,omitempty"` } // ErrorResponse error response that indicates the service is not able to process the incoming request. The @@ -799,6 +839,16 @@ type ErrorResponse struct { Message *string `json:"message,omitempty"` } +// Identity properties to configure Identity for Bring your Own Keys +type Identity struct { + // PrincipalID - ObjectId from the KeyVault + PrincipalID *string `json:"principalId,omitempty"` + // TenantID - TenantId from the KeyVault + TenantID *string `json:"tenantId,omitempty"` + // Type - Enumerates the possible value Identity type, which currently supports only 'SystemAssigned'. Possible values include: 'SystemAssigned' + Type IdentityType `json:"type,omitempty"` +} + // IPFilterRule single item in a List or Get IpFilterRules operation type IPFilterRule struct { autorest.Response `json:"-"` @@ -1028,6 +1078,14 @@ type IPFilterRuleProperties struct { FilterName *string `json:"filterName,omitempty"` } +// KeyVaultProperties properties to configure keyVault Properties +type KeyVaultProperties struct { + // KeyName - Name of the Key from KeyVault + KeyName *string `json:"keyName,omitempty"` + // KeyVaultURI - Uri of KeyVault + KeyVaultURI *string `json:"keyVaultUri,omitempty"` +} + // NamespacesCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a // long-running operation. type NamespacesCreateOrUpdateFuture struct { diff --git a/services/preview/frontdoor/mgmt/2018-08-01-preview/frontdoor/backendpools.go b/services/preview/frontdoor/mgmt/2018-08-01-preview/frontdoor/backendpools.go deleted file mode 100644 index bca95d6524a1..000000000000 --- a/services/preview/frontdoor/mgmt/2018-08-01-preview/frontdoor/backendpools.go +++ /dev/null @@ -1,457 +0,0 @@ -package frontdoor - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/autorest/validation" - "github.com/Azure/go-autorest/tracing" - "net/http" -) - -// BackendPoolsClient is the frontDoor Client -type BackendPoolsClient struct { - BaseClient -} - -// NewBackendPoolsClient creates an instance of the BackendPoolsClient client. -func NewBackendPoolsClient(subscriptionID string) BackendPoolsClient { - return NewBackendPoolsClientWithBaseURI(DefaultBaseURI, subscriptionID) -} - -// NewBackendPoolsClientWithBaseURI creates an instance of the BackendPoolsClient client. -func NewBackendPoolsClientWithBaseURI(baseURI string, subscriptionID string) BackendPoolsClient { - return BackendPoolsClient{NewWithBaseURI(baseURI, subscriptionID)} -} - -// CreateOrUpdate creates a new Backend Pool with the specified Pool name within the specified Front Door. -// Parameters: -// resourceGroupName - name of the Resource group within the Azure subscription. -// frontDoorName - name of the Front Door which is globally unique. -// backendPoolName - name of the Backend Pool which is unique within the Front Door. -// backendPoolParameters - backend Pool properties needed to create a new Pool. -func (client BackendPoolsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, frontDoorName string, backendPoolName string, backendPoolParameters BackendPool) (result BackendPoolsCreateOrUpdateFuture, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/BackendPoolsClient.CreateOrUpdate") - defer func() { - sc := -1 - if result.Response() != nil { - sc = result.Response().StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - if err := validation.Validate([]validation.Validation{ - {TargetValue: resourceGroupName, - Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 80, Chain: nil}, - {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9_\-\(\)\.]*[^\.]$`, Chain: nil}}}, - {TargetValue: frontDoorName, - Constraints: []validation.Constraint{{Target: "frontDoorName", Name: validation.MaxLength, Rule: 64, Chain: nil}, - {Target: "frontDoorName", Name: validation.MinLength, Rule: 5, Chain: nil}, - {Target: "frontDoorName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$`, Chain: nil}}}, - {TargetValue: backendPoolName, - Constraints: []validation.Constraint{{Target: "backendPoolName", Name: validation.MaxLength, Rule: 90, Chain: nil}, - {Target: "backendPoolName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "backendPoolName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$`, Chain: nil}}}}); err != nil { - return result, validation.NewError("frontdoor.BackendPoolsClient", "CreateOrUpdate", err.Error()) - } - - req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, frontDoorName, backendPoolName, backendPoolParameters) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.BackendPoolsClient", "CreateOrUpdate", nil, "Failure preparing request") - return - } - - result, err = client.CreateOrUpdateSender(req) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.BackendPoolsClient", "CreateOrUpdate", result.Response(), "Failure sending request") - return - } - - return -} - -// CreateOrUpdatePreparer prepares the CreateOrUpdate request. -func (client BackendPoolsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, frontDoorName string, backendPoolName string, backendPoolParameters BackendPool) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "backendPoolName": autorest.Encode("path", backendPoolName), - "frontDoorName": autorest.Encode("path", frontDoorName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2018-08-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - backendPoolParameters.Type = nil - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; charset=utf-8"), - autorest.AsPut(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/backendPools/{backendPoolName}", pathParameters), - autorest.WithJSON(backendPoolParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the -// http.Response Body if it receives an error. -func (client BackendPoolsClient) CreateOrUpdateSender(req *http.Request) (future BackendPoolsCreateOrUpdateFuture, err error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - var resp *http.Response - resp, err = autorest.SendWithSender(client, req, sd...) - if err != nil { - return - } - future.Future, err = azure.NewFutureFromResponse(resp) - return -} - -// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always -// closes the http.Response Body. -func (client BackendPoolsClient) CreateOrUpdateResponder(resp *http.Response) (result BackendPool, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated, http.StatusAccepted), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// Delete deletes an existing Backend Pool with the specified parameters. -// Parameters: -// resourceGroupName - name of the Resource group within the Azure subscription. -// frontDoorName - name of the Front Door which is globally unique. -// backendPoolName - name of the Backend Pool which is unique within the Front Door. -func (client BackendPoolsClient) Delete(ctx context.Context, resourceGroupName string, frontDoorName string, backendPoolName string) (result BackendPoolsDeleteFuture, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/BackendPoolsClient.Delete") - defer func() { - sc := -1 - if result.Response() != nil { - sc = result.Response().StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - if err := validation.Validate([]validation.Validation{ - {TargetValue: resourceGroupName, - Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 80, Chain: nil}, - {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9_\-\(\)\.]*[^\.]$`, Chain: nil}}}, - {TargetValue: frontDoorName, - Constraints: []validation.Constraint{{Target: "frontDoorName", Name: validation.MaxLength, Rule: 64, Chain: nil}, - {Target: "frontDoorName", Name: validation.MinLength, Rule: 5, Chain: nil}, - {Target: "frontDoorName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$`, Chain: nil}}}, - {TargetValue: backendPoolName, - Constraints: []validation.Constraint{{Target: "backendPoolName", Name: validation.MaxLength, Rule: 90, Chain: nil}, - {Target: "backendPoolName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "backendPoolName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$`, Chain: nil}}}}); err != nil { - return result, validation.NewError("frontdoor.BackendPoolsClient", "Delete", err.Error()) - } - - req, err := client.DeletePreparer(ctx, resourceGroupName, frontDoorName, backendPoolName) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.BackendPoolsClient", "Delete", nil, "Failure preparing request") - return - } - - result, err = client.DeleteSender(req) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.BackendPoolsClient", "Delete", result.Response(), "Failure sending request") - return - } - - return -} - -// DeletePreparer prepares the Delete request. -func (client BackendPoolsClient) DeletePreparer(ctx context.Context, resourceGroupName string, frontDoorName string, backendPoolName string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "backendPoolName": autorest.Encode("path", backendPoolName), - "frontDoorName": autorest.Encode("path", frontDoorName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2018-08-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsDelete(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/backendPools/{backendPoolName}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DeleteSender sends the Delete request. The method will close the -// http.Response Body if it receives an error. -func (client BackendPoolsClient) DeleteSender(req *http.Request) (future BackendPoolsDeleteFuture, err error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - var resp *http.Response - resp, err = autorest.SendWithSender(client, req, sd...) - if err != nil { - return - } - future.Future, err = azure.NewFutureFromResponse(resp) - return -} - -// DeleteResponder handles the response to the Delete request. The method always -// closes the http.Response Body. -func (client BackendPoolsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), - autorest.ByClosing()) - result.Response = resp - return -} - -// Get gets a Backend Pool with the specified Pool name within the specified Front Door. -// Parameters: -// resourceGroupName - name of the Resource group within the Azure subscription. -// frontDoorName - name of the Front Door which is globally unique. -// backendPoolName - name of the Backend Pool which is unique within the Front Door. -func (client BackendPoolsClient) Get(ctx context.Context, resourceGroupName string, frontDoorName string, backendPoolName string) (result BackendPool, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/BackendPoolsClient.Get") - defer func() { - sc := -1 - if result.Response.Response != nil { - sc = result.Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - if err := validation.Validate([]validation.Validation{ - {TargetValue: resourceGroupName, - Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 80, Chain: nil}, - {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9_\-\(\)\.]*[^\.]$`, Chain: nil}}}, - {TargetValue: frontDoorName, - Constraints: []validation.Constraint{{Target: "frontDoorName", Name: validation.MaxLength, Rule: 64, Chain: nil}, - {Target: "frontDoorName", Name: validation.MinLength, Rule: 5, Chain: nil}, - {Target: "frontDoorName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$`, Chain: nil}}}, - {TargetValue: backendPoolName, - Constraints: []validation.Constraint{{Target: "backendPoolName", Name: validation.MaxLength, Rule: 90, Chain: nil}, - {Target: "backendPoolName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "backendPoolName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$`, Chain: nil}}}}); err != nil { - return result, validation.NewError("frontdoor.BackendPoolsClient", "Get", err.Error()) - } - - req, err := client.GetPreparer(ctx, resourceGroupName, frontDoorName, backendPoolName) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.BackendPoolsClient", "Get", nil, "Failure preparing request") - return - } - - resp, err := client.GetSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "frontdoor.BackendPoolsClient", "Get", resp, "Failure sending request") - return - } - - result, err = client.GetResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.BackendPoolsClient", "Get", resp, "Failure responding to request") - } - - return -} - -// GetPreparer prepares the Get request. -func (client BackendPoolsClient) GetPreparer(ctx context.Context, resourceGroupName string, frontDoorName string, backendPoolName string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "backendPoolName": autorest.Encode("path", backendPoolName), - "frontDoorName": autorest.Encode("path", frontDoorName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2018-08-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/backendPools/{backendPoolName}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetSender sends the Get request. The method will close the -// http.Response Body if it receives an error. -func (client BackendPoolsClient) GetSender(req *http.Request) (*http.Response, error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - return autorest.SendWithSender(client, req, sd...) -} - -// GetResponder handles the response to the Get request. The method always -// closes the http.Response Body. -func (client BackendPoolsClient) GetResponder(resp *http.Response) (result BackendPool, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// ListByFrontDoor lists all of the Backend Pools within a Front Door. -// Parameters: -// resourceGroupName - name of the Resource group within the Azure subscription. -// frontDoorName - name of the Front Door which is globally unique. -func (client BackendPoolsClient) ListByFrontDoor(ctx context.Context, resourceGroupName string, frontDoorName string) (result BackendPoolListResultPage, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/BackendPoolsClient.ListByFrontDoor") - defer func() { - sc := -1 - if result.bplr.Response.Response != nil { - sc = result.bplr.Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - if err := validation.Validate([]validation.Validation{ - {TargetValue: resourceGroupName, - Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 80, Chain: nil}, - {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9_\-\(\)\.]*[^\.]$`, Chain: nil}}}, - {TargetValue: frontDoorName, - Constraints: []validation.Constraint{{Target: "frontDoorName", Name: validation.MaxLength, Rule: 64, Chain: nil}, - {Target: "frontDoorName", Name: validation.MinLength, Rule: 5, Chain: nil}, - {Target: "frontDoorName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$`, Chain: nil}}}}); err != nil { - return result, validation.NewError("frontdoor.BackendPoolsClient", "ListByFrontDoor", err.Error()) - } - - result.fn = client.listByFrontDoorNextResults - req, err := client.ListByFrontDoorPreparer(ctx, resourceGroupName, frontDoorName) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.BackendPoolsClient", "ListByFrontDoor", nil, "Failure preparing request") - return - } - - resp, err := client.ListByFrontDoorSender(req) - if err != nil { - result.bplr.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "frontdoor.BackendPoolsClient", "ListByFrontDoor", resp, "Failure sending request") - return - } - - result.bplr, err = client.ListByFrontDoorResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.BackendPoolsClient", "ListByFrontDoor", resp, "Failure responding to request") - } - - return -} - -// ListByFrontDoorPreparer prepares the ListByFrontDoor request. -func (client BackendPoolsClient) ListByFrontDoorPreparer(ctx context.Context, resourceGroupName string, frontDoorName string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "frontDoorName": autorest.Encode("path", frontDoorName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2018-08-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/backendPools", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListByFrontDoorSender sends the ListByFrontDoor request. The method will close the -// http.Response Body if it receives an error. -func (client BackendPoolsClient) ListByFrontDoorSender(req *http.Request) (*http.Response, error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - return autorest.SendWithSender(client, req, sd...) -} - -// ListByFrontDoorResponder handles the response to the ListByFrontDoor request. The method always -// closes the http.Response Body. -func (client BackendPoolsClient) ListByFrontDoorResponder(resp *http.Response) (result BackendPoolListResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listByFrontDoorNextResults retrieves the next set of results, if any. -func (client BackendPoolsClient) listByFrontDoorNextResults(ctx context.Context, lastResults BackendPoolListResult) (result BackendPoolListResult, err error) { - req, err := lastResults.backendPoolListResultPreparer(ctx) - if err != nil { - return result, autorest.NewErrorWithError(err, "frontdoor.BackendPoolsClient", "listByFrontDoorNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListByFrontDoorSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "frontdoor.BackendPoolsClient", "listByFrontDoorNextResults", resp, "Failure sending next results request") - } - result, err = client.ListByFrontDoorResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.BackendPoolsClient", "listByFrontDoorNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListByFrontDoorComplete enumerates all values, automatically crossing page boundaries as required. -func (client BackendPoolsClient) ListByFrontDoorComplete(ctx context.Context, resourceGroupName string, frontDoorName string) (result BackendPoolListResultIterator, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/BackendPoolsClient.ListByFrontDoor") - defer func() { - sc := -1 - if result.Response().Response.Response != nil { - sc = result.page.Response().Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - result.page, err = client.ListByFrontDoor(ctx, resourceGroupName, frontDoorName) - return -} diff --git a/services/preview/frontdoor/mgmt/2018-08-01-preview/frontdoor/frontdoorapi/interfaces.go b/services/preview/frontdoor/mgmt/2018-08-01-preview/frontdoor/frontdoorapi/interfaces.go index 09ff641f78dc..c5c2c2f4be03 100644 --- a/services/preview/frontdoor/mgmt/2018-08-01-preview/frontdoor/frontdoorapi/interfaces.go +++ b/services/preview/frontdoor/mgmt/2018-08-01-preview/frontdoor/frontdoorapi/interfaces.go @@ -42,50 +42,8 @@ type FrontDoorsClientAPI interface { var _ FrontDoorsClientAPI = (*frontdoor.FrontDoorsClient)(nil) -// RoutingRulesClientAPI contains the set of methods on the RoutingRulesClient type. -type RoutingRulesClientAPI interface { - CreateOrUpdate(ctx context.Context, resourceGroupName string, frontDoorName string, routingRuleName string, routingRuleParameters frontdoor.RoutingRule) (result frontdoor.RoutingRulesCreateOrUpdateFuture, err error) - Delete(ctx context.Context, resourceGroupName string, frontDoorName string, routingRuleName string) (result frontdoor.RoutingRulesDeleteFuture, err error) - Get(ctx context.Context, resourceGroupName string, frontDoorName string, routingRuleName string) (result frontdoor.RoutingRule, err error) - ListByFrontDoor(ctx context.Context, resourceGroupName string, frontDoorName string) (result frontdoor.RoutingRuleListResultPage, err error) -} - -var _ RoutingRulesClientAPI = (*frontdoor.RoutingRulesClient)(nil) - -// HealthProbeSettingsClientAPI contains the set of methods on the HealthProbeSettingsClient type. -type HealthProbeSettingsClientAPI interface { - CreateOrUpdate(ctx context.Context, resourceGroupName string, frontDoorName string, healthProbeSettingsName string, healthProbeSettingsParameters frontdoor.HealthProbeSettingsModel) (result frontdoor.HealthProbeSettingsCreateOrUpdateFuture, err error) - Delete(ctx context.Context, resourceGroupName string, frontDoorName string, healthProbeSettingsName string) (result frontdoor.HealthProbeSettingsDeleteFuture, err error) - Get(ctx context.Context, resourceGroupName string, frontDoorName string, healthProbeSettingsName string) (result frontdoor.HealthProbeSettingsModel, err error) - ListByFrontDoor(ctx context.Context, resourceGroupName string, frontDoorName string) (result frontdoor.HealthProbeSettingsListResultPage, err error) -} - -var _ HealthProbeSettingsClientAPI = (*frontdoor.HealthProbeSettingsClient)(nil) - -// LoadBalancingSettingsClientAPI contains the set of methods on the LoadBalancingSettingsClient type. -type LoadBalancingSettingsClientAPI interface { - CreateOrUpdate(ctx context.Context, resourceGroupName string, frontDoorName string, loadBalancingSettingsName string, loadBalancingSettingsParameters frontdoor.LoadBalancingSettingsModel) (result frontdoor.LoadBalancingSettingsCreateOrUpdateFuture, err error) - Delete(ctx context.Context, resourceGroupName string, frontDoorName string, loadBalancingSettingsName string) (result frontdoor.LoadBalancingSettingsDeleteFuture, err error) - Get(ctx context.Context, resourceGroupName string, frontDoorName string, loadBalancingSettingsName string) (result frontdoor.LoadBalancingSettingsModel, err error) - ListByFrontDoor(ctx context.Context, resourceGroupName string, frontDoorName string) (result frontdoor.LoadBalancingSettingsListResultPage, err error) -} - -var _ LoadBalancingSettingsClientAPI = (*frontdoor.LoadBalancingSettingsClient)(nil) - -// BackendPoolsClientAPI contains the set of methods on the BackendPoolsClient type. -type BackendPoolsClientAPI interface { - CreateOrUpdate(ctx context.Context, resourceGroupName string, frontDoorName string, backendPoolName string, backendPoolParameters frontdoor.BackendPool) (result frontdoor.BackendPoolsCreateOrUpdateFuture, err error) - Delete(ctx context.Context, resourceGroupName string, frontDoorName string, backendPoolName string) (result frontdoor.BackendPoolsDeleteFuture, err error) - Get(ctx context.Context, resourceGroupName string, frontDoorName string, backendPoolName string) (result frontdoor.BackendPool, err error) - ListByFrontDoor(ctx context.Context, resourceGroupName string, frontDoorName string) (result frontdoor.BackendPoolListResultPage, err error) -} - -var _ BackendPoolsClientAPI = (*frontdoor.BackendPoolsClient)(nil) - // FrontendEndpointsClientAPI contains the set of methods on the FrontendEndpointsClient type. type FrontendEndpointsClientAPI interface { - CreateOrUpdate(ctx context.Context, resourceGroupName string, frontDoorName string, frontendEndpointName string, frontendEndpointParameters frontdoor.FrontendEndpoint) (result frontdoor.FrontendEndpointsCreateOrUpdateFuture, err error) - Delete(ctx context.Context, resourceGroupName string, frontDoorName string, frontendEndpointName string) (result frontdoor.FrontendEndpointsDeleteFuture, err error) DisableHTTPS(ctx context.Context, resourceGroupName string, frontDoorName string, frontendEndpointName string) (result frontdoor.FrontendEndpointsDisableHTTPSFuture, err error) EnableHTTPS(ctx context.Context, resourceGroupName string, frontDoorName string, frontendEndpointName string, customHTTPSConfiguration frontdoor.CustomHTTPSConfiguration) (result frontdoor.FrontendEndpointsEnableHTTPSFuture, err error) Get(ctx context.Context, resourceGroupName string, frontDoorName string, frontendEndpointName string) (result frontdoor.FrontendEndpoint, err error) diff --git a/services/preview/frontdoor/mgmt/2018-08-01-preview/frontdoor/frontendendpoints.go b/services/preview/frontdoor/mgmt/2018-08-01-preview/frontdoor/frontendendpoints.go index cbb3626a5a78..227ccc3cd765 100644 --- a/services/preview/frontdoor/mgmt/2018-08-01-preview/frontdoor/frontendendpoints.go +++ b/services/preview/frontdoor/mgmt/2018-08-01-preview/frontdoor/frontendendpoints.go @@ -41,199 +41,6 @@ func NewFrontendEndpointsClientWithBaseURI(baseURI string, subscriptionID string return FrontendEndpointsClient{NewWithBaseURI(baseURI, subscriptionID)} } -// CreateOrUpdate creates a new frontend endpoint with the specified host name within the specified Front Door. -// Parameters: -// resourceGroupName - name of the Resource group within the Azure subscription. -// frontDoorName - name of the Front Door which is globally unique. -// frontendEndpointName - name of the Frontend endpoint which is unique within the Front Door. -// frontendEndpointParameters - frontend endpoint properties needed to create a new endpoint. -func (client FrontendEndpointsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, frontDoorName string, frontendEndpointName string, frontendEndpointParameters FrontendEndpoint) (result FrontendEndpointsCreateOrUpdateFuture, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/FrontendEndpointsClient.CreateOrUpdate") - defer func() { - sc := -1 - if result.Response() != nil { - sc = result.Response().StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - if err := validation.Validate([]validation.Validation{ - {TargetValue: resourceGroupName, - Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 80, Chain: nil}, - {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9_\-\(\)\.]*[^\.]$`, Chain: nil}}}, - {TargetValue: frontDoorName, - Constraints: []validation.Constraint{{Target: "frontDoorName", Name: validation.MaxLength, Rule: 64, Chain: nil}, - {Target: "frontDoorName", Name: validation.MinLength, Rule: 5, Chain: nil}, - {Target: "frontDoorName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$`, Chain: nil}}}, - {TargetValue: frontendEndpointName, - Constraints: []validation.Constraint{{Target: "frontendEndpointName", Name: validation.MaxLength, Rule: 255, Chain: nil}, - {Target: "frontendEndpointName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "frontendEndpointName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$`, Chain: nil}}}}); err != nil { - return result, validation.NewError("frontdoor.FrontendEndpointsClient", "CreateOrUpdate", err.Error()) - } - - req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, frontDoorName, frontendEndpointName, frontendEndpointParameters) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.FrontendEndpointsClient", "CreateOrUpdate", nil, "Failure preparing request") - return - } - - result, err = client.CreateOrUpdateSender(req) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.FrontendEndpointsClient", "CreateOrUpdate", result.Response(), "Failure sending request") - return - } - - return -} - -// CreateOrUpdatePreparer prepares the CreateOrUpdate request. -func (client FrontendEndpointsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, frontDoorName string, frontendEndpointName string, frontendEndpointParameters FrontendEndpoint) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "frontDoorName": autorest.Encode("path", frontDoorName), - "frontendEndpointName": autorest.Encode("path", frontendEndpointName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2018-08-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - frontendEndpointParameters.Type = nil - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; charset=utf-8"), - autorest.AsPut(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/frontendEndpoints/{frontendEndpointName}", pathParameters), - autorest.WithJSON(frontendEndpointParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the -// http.Response Body if it receives an error. -func (client FrontendEndpointsClient) CreateOrUpdateSender(req *http.Request) (future FrontendEndpointsCreateOrUpdateFuture, err error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - var resp *http.Response - resp, err = autorest.SendWithSender(client, req, sd...) - if err != nil { - return - } - future.Future, err = azure.NewFutureFromResponse(resp) - return -} - -// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always -// closes the http.Response Body. -func (client FrontendEndpointsClient) CreateOrUpdateResponder(resp *http.Response) (result FrontendEndpoint, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated, http.StatusAccepted), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// Delete deletes an existing frontend endpoint with the specified parameters. -// Parameters: -// resourceGroupName - name of the Resource group within the Azure subscription. -// frontDoorName - name of the Front Door which is globally unique. -// frontendEndpointName - name of the Frontend endpoint which is unique within the Front Door. -func (client FrontendEndpointsClient) Delete(ctx context.Context, resourceGroupName string, frontDoorName string, frontendEndpointName string) (result FrontendEndpointsDeleteFuture, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/FrontendEndpointsClient.Delete") - defer func() { - sc := -1 - if result.Response() != nil { - sc = result.Response().StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - if err := validation.Validate([]validation.Validation{ - {TargetValue: resourceGroupName, - Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 80, Chain: nil}, - {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9_\-\(\)\.]*[^\.]$`, Chain: nil}}}, - {TargetValue: frontDoorName, - Constraints: []validation.Constraint{{Target: "frontDoorName", Name: validation.MaxLength, Rule: 64, Chain: nil}, - {Target: "frontDoorName", Name: validation.MinLength, Rule: 5, Chain: nil}, - {Target: "frontDoorName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$`, Chain: nil}}}, - {TargetValue: frontendEndpointName, - Constraints: []validation.Constraint{{Target: "frontendEndpointName", Name: validation.MaxLength, Rule: 255, Chain: nil}, - {Target: "frontendEndpointName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "frontendEndpointName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$`, Chain: nil}}}}); err != nil { - return result, validation.NewError("frontdoor.FrontendEndpointsClient", "Delete", err.Error()) - } - - req, err := client.DeletePreparer(ctx, resourceGroupName, frontDoorName, frontendEndpointName) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.FrontendEndpointsClient", "Delete", nil, "Failure preparing request") - return - } - - result, err = client.DeleteSender(req) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.FrontendEndpointsClient", "Delete", result.Response(), "Failure sending request") - return - } - - return -} - -// DeletePreparer prepares the Delete request. -func (client FrontendEndpointsClient) DeletePreparer(ctx context.Context, resourceGroupName string, frontDoorName string, frontendEndpointName string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "frontDoorName": autorest.Encode("path", frontDoorName), - "frontendEndpointName": autorest.Encode("path", frontendEndpointName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2018-08-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsDelete(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/frontendEndpoints/{frontendEndpointName}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DeleteSender sends the Delete request. The method will close the -// http.Response Body if it receives an error. -func (client FrontendEndpointsClient) DeleteSender(req *http.Request) (future FrontendEndpointsDeleteFuture, err error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - var resp *http.Response - resp, err = autorest.SendWithSender(client, req, sd...) - if err != nil { - return - } - future.Future, err = azure.NewFutureFromResponse(resp) - return -} - -// DeleteResponder handles the response to the Delete request. The method always -// closes the http.Response Body. -func (client FrontendEndpointsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), - autorest.ByClosing()) - result.Response = resp - return -} - // DisableHTTPS disables a frontendEndpoint for HTTPS traffic // Parameters: // resourceGroupName - name of the Resource group within the Azure subscription. diff --git a/services/preview/frontdoor/mgmt/2018-08-01-preview/frontdoor/healthprobesettings.go b/services/preview/frontdoor/mgmt/2018-08-01-preview/frontdoor/healthprobesettings.go deleted file mode 100644 index 125f175b7947..000000000000 --- a/services/preview/frontdoor/mgmt/2018-08-01-preview/frontdoor/healthprobesettings.go +++ /dev/null @@ -1,457 +0,0 @@ -package frontdoor - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/autorest/validation" - "github.com/Azure/go-autorest/tracing" - "net/http" -) - -// HealthProbeSettingsClient is the frontDoor Client -type HealthProbeSettingsClient struct { - BaseClient -} - -// NewHealthProbeSettingsClient creates an instance of the HealthProbeSettingsClient client. -func NewHealthProbeSettingsClient(subscriptionID string) HealthProbeSettingsClient { - return NewHealthProbeSettingsClientWithBaseURI(DefaultBaseURI, subscriptionID) -} - -// NewHealthProbeSettingsClientWithBaseURI creates an instance of the HealthProbeSettingsClient client. -func NewHealthProbeSettingsClientWithBaseURI(baseURI string, subscriptionID string) HealthProbeSettingsClient { - return HealthProbeSettingsClient{NewWithBaseURI(baseURI, subscriptionID)} -} - -// CreateOrUpdate creates a new HealthProbeSettings with the specified Rule name within the specified Front Door. -// Parameters: -// resourceGroupName - name of the Resource group within the Azure subscription. -// frontDoorName - name of the Front Door which is globally unique. -// healthProbeSettingsName - name of the health probe settings which is unique within the Front Door. -// healthProbeSettingsParameters - healthProbeSettings properties needed to create a new Front Door. -func (client HealthProbeSettingsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, frontDoorName string, healthProbeSettingsName string, healthProbeSettingsParameters HealthProbeSettingsModel) (result HealthProbeSettingsCreateOrUpdateFuture, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/HealthProbeSettingsClient.CreateOrUpdate") - defer func() { - sc := -1 - if result.Response() != nil { - sc = result.Response().StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - if err := validation.Validate([]validation.Validation{ - {TargetValue: resourceGroupName, - Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 80, Chain: nil}, - {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9_\-\(\)\.]*[^\.]$`, Chain: nil}}}, - {TargetValue: frontDoorName, - Constraints: []validation.Constraint{{Target: "frontDoorName", Name: validation.MaxLength, Rule: 64, Chain: nil}, - {Target: "frontDoorName", Name: validation.MinLength, Rule: 5, Chain: nil}, - {Target: "frontDoorName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$`, Chain: nil}}}, - {TargetValue: healthProbeSettingsName, - Constraints: []validation.Constraint{{Target: "healthProbeSettingsName", Name: validation.MaxLength, Rule: 90, Chain: nil}, - {Target: "healthProbeSettingsName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "healthProbeSettingsName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$`, Chain: nil}}}}); err != nil { - return result, validation.NewError("frontdoor.HealthProbeSettingsClient", "CreateOrUpdate", err.Error()) - } - - req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, frontDoorName, healthProbeSettingsName, healthProbeSettingsParameters) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.HealthProbeSettingsClient", "CreateOrUpdate", nil, "Failure preparing request") - return - } - - result, err = client.CreateOrUpdateSender(req) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.HealthProbeSettingsClient", "CreateOrUpdate", result.Response(), "Failure sending request") - return - } - - return -} - -// CreateOrUpdatePreparer prepares the CreateOrUpdate request. -func (client HealthProbeSettingsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, frontDoorName string, healthProbeSettingsName string, healthProbeSettingsParameters HealthProbeSettingsModel) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "frontDoorName": autorest.Encode("path", frontDoorName), - "healthProbeSettingsName": autorest.Encode("path", healthProbeSettingsName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2018-08-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - healthProbeSettingsParameters.Type = nil - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; charset=utf-8"), - autorest.AsPut(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/healthProbeSettings/{healthProbeSettingsName}", pathParameters), - autorest.WithJSON(healthProbeSettingsParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the -// http.Response Body if it receives an error. -func (client HealthProbeSettingsClient) CreateOrUpdateSender(req *http.Request) (future HealthProbeSettingsCreateOrUpdateFuture, err error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - var resp *http.Response - resp, err = autorest.SendWithSender(client, req, sd...) - if err != nil { - return - } - future.Future, err = azure.NewFutureFromResponse(resp) - return -} - -// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always -// closes the http.Response Body. -func (client HealthProbeSettingsClient) CreateOrUpdateResponder(resp *http.Response) (result HealthProbeSettingsModel, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated, http.StatusAccepted), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// Delete deletes an existing HealthProbeSettings with the specified parameters. -// Parameters: -// resourceGroupName - name of the Resource group within the Azure subscription. -// frontDoorName - name of the Front Door which is globally unique. -// healthProbeSettingsName - name of the health probe settings which is unique within the Front Door. -func (client HealthProbeSettingsClient) Delete(ctx context.Context, resourceGroupName string, frontDoorName string, healthProbeSettingsName string) (result HealthProbeSettingsDeleteFuture, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/HealthProbeSettingsClient.Delete") - defer func() { - sc := -1 - if result.Response() != nil { - sc = result.Response().StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - if err := validation.Validate([]validation.Validation{ - {TargetValue: resourceGroupName, - Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 80, Chain: nil}, - {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9_\-\(\)\.]*[^\.]$`, Chain: nil}}}, - {TargetValue: frontDoorName, - Constraints: []validation.Constraint{{Target: "frontDoorName", Name: validation.MaxLength, Rule: 64, Chain: nil}, - {Target: "frontDoorName", Name: validation.MinLength, Rule: 5, Chain: nil}, - {Target: "frontDoorName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$`, Chain: nil}}}, - {TargetValue: healthProbeSettingsName, - Constraints: []validation.Constraint{{Target: "healthProbeSettingsName", Name: validation.MaxLength, Rule: 90, Chain: nil}, - {Target: "healthProbeSettingsName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "healthProbeSettingsName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$`, Chain: nil}}}}); err != nil { - return result, validation.NewError("frontdoor.HealthProbeSettingsClient", "Delete", err.Error()) - } - - req, err := client.DeletePreparer(ctx, resourceGroupName, frontDoorName, healthProbeSettingsName) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.HealthProbeSettingsClient", "Delete", nil, "Failure preparing request") - return - } - - result, err = client.DeleteSender(req) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.HealthProbeSettingsClient", "Delete", result.Response(), "Failure sending request") - return - } - - return -} - -// DeletePreparer prepares the Delete request. -func (client HealthProbeSettingsClient) DeletePreparer(ctx context.Context, resourceGroupName string, frontDoorName string, healthProbeSettingsName string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "frontDoorName": autorest.Encode("path", frontDoorName), - "healthProbeSettingsName": autorest.Encode("path", healthProbeSettingsName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2018-08-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsDelete(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/healthProbeSettings/{healthProbeSettingsName}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DeleteSender sends the Delete request. The method will close the -// http.Response Body if it receives an error. -func (client HealthProbeSettingsClient) DeleteSender(req *http.Request) (future HealthProbeSettingsDeleteFuture, err error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - var resp *http.Response - resp, err = autorest.SendWithSender(client, req, sd...) - if err != nil { - return - } - future.Future, err = azure.NewFutureFromResponse(resp) - return -} - -// DeleteResponder handles the response to the Delete request. The method always -// closes the http.Response Body. -func (client HealthProbeSettingsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), - autorest.ByClosing()) - result.Response = resp - return -} - -// Get gets a HealthProbeSettings with the specified Rule name within the specified Front Door. -// Parameters: -// resourceGroupName - name of the Resource group within the Azure subscription. -// frontDoorName - name of the Front Door which is globally unique. -// healthProbeSettingsName - name of the health probe settings which is unique within the Front Door. -func (client HealthProbeSettingsClient) Get(ctx context.Context, resourceGroupName string, frontDoorName string, healthProbeSettingsName string) (result HealthProbeSettingsModel, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/HealthProbeSettingsClient.Get") - defer func() { - sc := -1 - if result.Response.Response != nil { - sc = result.Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - if err := validation.Validate([]validation.Validation{ - {TargetValue: resourceGroupName, - Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 80, Chain: nil}, - {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9_\-\(\)\.]*[^\.]$`, Chain: nil}}}, - {TargetValue: frontDoorName, - Constraints: []validation.Constraint{{Target: "frontDoorName", Name: validation.MaxLength, Rule: 64, Chain: nil}, - {Target: "frontDoorName", Name: validation.MinLength, Rule: 5, Chain: nil}, - {Target: "frontDoorName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$`, Chain: nil}}}, - {TargetValue: healthProbeSettingsName, - Constraints: []validation.Constraint{{Target: "healthProbeSettingsName", Name: validation.MaxLength, Rule: 90, Chain: nil}, - {Target: "healthProbeSettingsName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "healthProbeSettingsName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$`, Chain: nil}}}}); err != nil { - return result, validation.NewError("frontdoor.HealthProbeSettingsClient", "Get", err.Error()) - } - - req, err := client.GetPreparer(ctx, resourceGroupName, frontDoorName, healthProbeSettingsName) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.HealthProbeSettingsClient", "Get", nil, "Failure preparing request") - return - } - - resp, err := client.GetSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "frontdoor.HealthProbeSettingsClient", "Get", resp, "Failure sending request") - return - } - - result, err = client.GetResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.HealthProbeSettingsClient", "Get", resp, "Failure responding to request") - } - - return -} - -// GetPreparer prepares the Get request. -func (client HealthProbeSettingsClient) GetPreparer(ctx context.Context, resourceGroupName string, frontDoorName string, healthProbeSettingsName string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "frontDoorName": autorest.Encode("path", frontDoorName), - "healthProbeSettingsName": autorest.Encode("path", healthProbeSettingsName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2018-08-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/healthProbeSettings/{healthProbeSettingsName}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetSender sends the Get request. The method will close the -// http.Response Body if it receives an error. -func (client HealthProbeSettingsClient) GetSender(req *http.Request) (*http.Response, error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - return autorest.SendWithSender(client, req, sd...) -} - -// GetResponder handles the response to the Get request. The method always -// closes the http.Response Body. -func (client HealthProbeSettingsClient) GetResponder(resp *http.Response) (result HealthProbeSettingsModel, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// ListByFrontDoor lists all of the HealthProbeSettings within a Front Door. -// Parameters: -// resourceGroupName - name of the Resource group within the Azure subscription. -// frontDoorName - name of the Front Door which is globally unique. -func (client HealthProbeSettingsClient) ListByFrontDoor(ctx context.Context, resourceGroupName string, frontDoorName string) (result HealthProbeSettingsListResultPage, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/HealthProbeSettingsClient.ListByFrontDoor") - defer func() { - sc := -1 - if result.hpslr.Response.Response != nil { - sc = result.hpslr.Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - if err := validation.Validate([]validation.Validation{ - {TargetValue: resourceGroupName, - Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 80, Chain: nil}, - {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9_\-\(\)\.]*[^\.]$`, Chain: nil}}}, - {TargetValue: frontDoorName, - Constraints: []validation.Constraint{{Target: "frontDoorName", Name: validation.MaxLength, Rule: 64, Chain: nil}, - {Target: "frontDoorName", Name: validation.MinLength, Rule: 5, Chain: nil}, - {Target: "frontDoorName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$`, Chain: nil}}}}); err != nil { - return result, validation.NewError("frontdoor.HealthProbeSettingsClient", "ListByFrontDoor", err.Error()) - } - - result.fn = client.listByFrontDoorNextResults - req, err := client.ListByFrontDoorPreparer(ctx, resourceGroupName, frontDoorName) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.HealthProbeSettingsClient", "ListByFrontDoor", nil, "Failure preparing request") - return - } - - resp, err := client.ListByFrontDoorSender(req) - if err != nil { - result.hpslr.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "frontdoor.HealthProbeSettingsClient", "ListByFrontDoor", resp, "Failure sending request") - return - } - - result.hpslr, err = client.ListByFrontDoorResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.HealthProbeSettingsClient", "ListByFrontDoor", resp, "Failure responding to request") - } - - return -} - -// ListByFrontDoorPreparer prepares the ListByFrontDoor request. -func (client HealthProbeSettingsClient) ListByFrontDoorPreparer(ctx context.Context, resourceGroupName string, frontDoorName string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "frontDoorName": autorest.Encode("path", frontDoorName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2018-08-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/healthProbeSettings", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListByFrontDoorSender sends the ListByFrontDoor request. The method will close the -// http.Response Body if it receives an error. -func (client HealthProbeSettingsClient) ListByFrontDoorSender(req *http.Request) (*http.Response, error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - return autorest.SendWithSender(client, req, sd...) -} - -// ListByFrontDoorResponder handles the response to the ListByFrontDoor request. The method always -// closes the http.Response Body. -func (client HealthProbeSettingsClient) ListByFrontDoorResponder(resp *http.Response) (result HealthProbeSettingsListResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listByFrontDoorNextResults retrieves the next set of results, if any. -func (client HealthProbeSettingsClient) listByFrontDoorNextResults(ctx context.Context, lastResults HealthProbeSettingsListResult) (result HealthProbeSettingsListResult, err error) { - req, err := lastResults.healthProbeSettingsListResultPreparer(ctx) - if err != nil { - return result, autorest.NewErrorWithError(err, "frontdoor.HealthProbeSettingsClient", "listByFrontDoorNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListByFrontDoorSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "frontdoor.HealthProbeSettingsClient", "listByFrontDoorNextResults", resp, "Failure sending next results request") - } - result, err = client.ListByFrontDoorResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.HealthProbeSettingsClient", "listByFrontDoorNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListByFrontDoorComplete enumerates all values, automatically crossing page boundaries as required. -func (client HealthProbeSettingsClient) ListByFrontDoorComplete(ctx context.Context, resourceGroupName string, frontDoorName string) (result HealthProbeSettingsListResultIterator, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/HealthProbeSettingsClient.ListByFrontDoor") - defer func() { - sc := -1 - if result.Response().Response.Response != nil { - sc = result.page.Response().Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - result.page, err = client.ListByFrontDoor(ctx, resourceGroupName, frontDoorName) - return -} diff --git a/services/preview/frontdoor/mgmt/2018-08-01-preview/frontdoor/loadbalancingsettings.go b/services/preview/frontdoor/mgmt/2018-08-01-preview/frontdoor/loadbalancingsettings.go deleted file mode 100644 index 87dabd90095d..000000000000 --- a/services/preview/frontdoor/mgmt/2018-08-01-preview/frontdoor/loadbalancingsettings.go +++ /dev/null @@ -1,457 +0,0 @@ -package frontdoor - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/autorest/validation" - "github.com/Azure/go-autorest/tracing" - "net/http" -) - -// LoadBalancingSettingsClient is the frontDoor Client -type LoadBalancingSettingsClient struct { - BaseClient -} - -// NewLoadBalancingSettingsClient creates an instance of the LoadBalancingSettingsClient client. -func NewLoadBalancingSettingsClient(subscriptionID string) LoadBalancingSettingsClient { - return NewLoadBalancingSettingsClientWithBaseURI(DefaultBaseURI, subscriptionID) -} - -// NewLoadBalancingSettingsClientWithBaseURI creates an instance of the LoadBalancingSettingsClient client. -func NewLoadBalancingSettingsClientWithBaseURI(baseURI string, subscriptionID string) LoadBalancingSettingsClient { - return LoadBalancingSettingsClient{NewWithBaseURI(baseURI, subscriptionID)} -} - -// CreateOrUpdate creates a new LoadBalancingSettings with the specified Rule name within the specified Front Door. -// Parameters: -// resourceGroupName - name of the Resource group within the Azure subscription. -// frontDoorName - name of the Front Door which is globally unique. -// loadBalancingSettingsName - name of the load balancing settings which is unique within the Front Door. -// loadBalancingSettingsParameters - loadBalancingSettings properties needed to create a new Front Door. -func (client LoadBalancingSettingsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, frontDoorName string, loadBalancingSettingsName string, loadBalancingSettingsParameters LoadBalancingSettingsModel) (result LoadBalancingSettingsCreateOrUpdateFuture, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/LoadBalancingSettingsClient.CreateOrUpdate") - defer func() { - sc := -1 - if result.Response() != nil { - sc = result.Response().StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - if err := validation.Validate([]validation.Validation{ - {TargetValue: resourceGroupName, - Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 80, Chain: nil}, - {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9_\-\(\)\.]*[^\.]$`, Chain: nil}}}, - {TargetValue: frontDoorName, - Constraints: []validation.Constraint{{Target: "frontDoorName", Name: validation.MaxLength, Rule: 64, Chain: nil}, - {Target: "frontDoorName", Name: validation.MinLength, Rule: 5, Chain: nil}, - {Target: "frontDoorName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$`, Chain: nil}}}, - {TargetValue: loadBalancingSettingsName, - Constraints: []validation.Constraint{{Target: "loadBalancingSettingsName", Name: validation.MaxLength, Rule: 90, Chain: nil}, - {Target: "loadBalancingSettingsName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "loadBalancingSettingsName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$`, Chain: nil}}}}); err != nil { - return result, validation.NewError("frontdoor.LoadBalancingSettingsClient", "CreateOrUpdate", err.Error()) - } - - req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, frontDoorName, loadBalancingSettingsName, loadBalancingSettingsParameters) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.LoadBalancingSettingsClient", "CreateOrUpdate", nil, "Failure preparing request") - return - } - - result, err = client.CreateOrUpdateSender(req) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.LoadBalancingSettingsClient", "CreateOrUpdate", result.Response(), "Failure sending request") - return - } - - return -} - -// CreateOrUpdatePreparer prepares the CreateOrUpdate request. -func (client LoadBalancingSettingsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, frontDoorName string, loadBalancingSettingsName string, loadBalancingSettingsParameters LoadBalancingSettingsModel) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "frontDoorName": autorest.Encode("path", frontDoorName), - "loadBalancingSettingsName": autorest.Encode("path", loadBalancingSettingsName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2018-08-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - loadBalancingSettingsParameters.Type = nil - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; charset=utf-8"), - autorest.AsPut(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/loadBalancingSettings/{loadBalancingSettingsName}", pathParameters), - autorest.WithJSON(loadBalancingSettingsParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the -// http.Response Body if it receives an error. -func (client LoadBalancingSettingsClient) CreateOrUpdateSender(req *http.Request) (future LoadBalancingSettingsCreateOrUpdateFuture, err error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - var resp *http.Response - resp, err = autorest.SendWithSender(client, req, sd...) - if err != nil { - return - } - future.Future, err = azure.NewFutureFromResponse(resp) - return -} - -// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always -// closes the http.Response Body. -func (client LoadBalancingSettingsClient) CreateOrUpdateResponder(resp *http.Response) (result LoadBalancingSettingsModel, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated, http.StatusAccepted), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// Delete deletes an existing LoadBalancingSettings with the specified parameters. -// Parameters: -// resourceGroupName - name of the Resource group within the Azure subscription. -// frontDoorName - name of the Front Door which is globally unique. -// loadBalancingSettingsName - name of the load balancing settings which is unique within the Front Door. -func (client LoadBalancingSettingsClient) Delete(ctx context.Context, resourceGroupName string, frontDoorName string, loadBalancingSettingsName string) (result LoadBalancingSettingsDeleteFuture, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/LoadBalancingSettingsClient.Delete") - defer func() { - sc := -1 - if result.Response() != nil { - sc = result.Response().StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - if err := validation.Validate([]validation.Validation{ - {TargetValue: resourceGroupName, - Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 80, Chain: nil}, - {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9_\-\(\)\.]*[^\.]$`, Chain: nil}}}, - {TargetValue: frontDoorName, - Constraints: []validation.Constraint{{Target: "frontDoorName", Name: validation.MaxLength, Rule: 64, Chain: nil}, - {Target: "frontDoorName", Name: validation.MinLength, Rule: 5, Chain: nil}, - {Target: "frontDoorName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$`, Chain: nil}}}, - {TargetValue: loadBalancingSettingsName, - Constraints: []validation.Constraint{{Target: "loadBalancingSettingsName", Name: validation.MaxLength, Rule: 90, Chain: nil}, - {Target: "loadBalancingSettingsName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "loadBalancingSettingsName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$`, Chain: nil}}}}); err != nil { - return result, validation.NewError("frontdoor.LoadBalancingSettingsClient", "Delete", err.Error()) - } - - req, err := client.DeletePreparer(ctx, resourceGroupName, frontDoorName, loadBalancingSettingsName) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.LoadBalancingSettingsClient", "Delete", nil, "Failure preparing request") - return - } - - result, err = client.DeleteSender(req) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.LoadBalancingSettingsClient", "Delete", result.Response(), "Failure sending request") - return - } - - return -} - -// DeletePreparer prepares the Delete request. -func (client LoadBalancingSettingsClient) DeletePreparer(ctx context.Context, resourceGroupName string, frontDoorName string, loadBalancingSettingsName string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "frontDoorName": autorest.Encode("path", frontDoorName), - "loadBalancingSettingsName": autorest.Encode("path", loadBalancingSettingsName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2018-08-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsDelete(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/loadBalancingSettings/{loadBalancingSettingsName}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DeleteSender sends the Delete request. The method will close the -// http.Response Body if it receives an error. -func (client LoadBalancingSettingsClient) DeleteSender(req *http.Request) (future LoadBalancingSettingsDeleteFuture, err error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - var resp *http.Response - resp, err = autorest.SendWithSender(client, req, sd...) - if err != nil { - return - } - future.Future, err = azure.NewFutureFromResponse(resp) - return -} - -// DeleteResponder handles the response to the Delete request. The method always -// closes the http.Response Body. -func (client LoadBalancingSettingsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), - autorest.ByClosing()) - result.Response = resp - return -} - -// Get gets a LoadBalancingSettings with the specified Rule name within the specified Front Door. -// Parameters: -// resourceGroupName - name of the Resource group within the Azure subscription. -// frontDoorName - name of the Front Door which is globally unique. -// loadBalancingSettingsName - name of the load balancing settings which is unique within the Front Door. -func (client LoadBalancingSettingsClient) Get(ctx context.Context, resourceGroupName string, frontDoorName string, loadBalancingSettingsName string) (result LoadBalancingSettingsModel, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/LoadBalancingSettingsClient.Get") - defer func() { - sc := -1 - if result.Response.Response != nil { - sc = result.Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - if err := validation.Validate([]validation.Validation{ - {TargetValue: resourceGroupName, - Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 80, Chain: nil}, - {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9_\-\(\)\.]*[^\.]$`, Chain: nil}}}, - {TargetValue: frontDoorName, - Constraints: []validation.Constraint{{Target: "frontDoorName", Name: validation.MaxLength, Rule: 64, Chain: nil}, - {Target: "frontDoorName", Name: validation.MinLength, Rule: 5, Chain: nil}, - {Target: "frontDoorName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$`, Chain: nil}}}, - {TargetValue: loadBalancingSettingsName, - Constraints: []validation.Constraint{{Target: "loadBalancingSettingsName", Name: validation.MaxLength, Rule: 90, Chain: nil}, - {Target: "loadBalancingSettingsName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "loadBalancingSettingsName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$`, Chain: nil}}}}); err != nil { - return result, validation.NewError("frontdoor.LoadBalancingSettingsClient", "Get", err.Error()) - } - - req, err := client.GetPreparer(ctx, resourceGroupName, frontDoorName, loadBalancingSettingsName) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.LoadBalancingSettingsClient", "Get", nil, "Failure preparing request") - return - } - - resp, err := client.GetSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "frontdoor.LoadBalancingSettingsClient", "Get", resp, "Failure sending request") - return - } - - result, err = client.GetResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.LoadBalancingSettingsClient", "Get", resp, "Failure responding to request") - } - - return -} - -// GetPreparer prepares the Get request. -func (client LoadBalancingSettingsClient) GetPreparer(ctx context.Context, resourceGroupName string, frontDoorName string, loadBalancingSettingsName string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "frontDoorName": autorest.Encode("path", frontDoorName), - "loadBalancingSettingsName": autorest.Encode("path", loadBalancingSettingsName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2018-08-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/loadBalancingSettings/{loadBalancingSettingsName}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetSender sends the Get request. The method will close the -// http.Response Body if it receives an error. -func (client LoadBalancingSettingsClient) GetSender(req *http.Request) (*http.Response, error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - return autorest.SendWithSender(client, req, sd...) -} - -// GetResponder handles the response to the Get request. The method always -// closes the http.Response Body. -func (client LoadBalancingSettingsClient) GetResponder(resp *http.Response) (result LoadBalancingSettingsModel, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// ListByFrontDoor lists all of the LoadBalancingSettings within a Front Door. -// Parameters: -// resourceGroupName - name of the Resource group within the Azure subscription. -// frontDoorName - name of the Front Door which is globally unique. -func (client LoadBalancingSettingsClient) ListByFrontDoor(ctx context.Context, resourceGroupName string, frontDoorName string) (result LoadBalancingSettingsListResultPage, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/LoadBalancingSettingsClient.ListByFrontDoor") - defer func() { - sc := -1 - if result.lbslr.Response.Response != nil { - sc = result.lbslr.Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - if err := validation.Validate([]validation.Validation{ - {TargetValue: resourceGroupName, - Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 80, Chain: nil}, - {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9_\-\(\)\.]*[^\.]$`, Chain: nil}}}, - {TargetValue: frontDoorName, - Constraints: []validation.Constraint{{Target: "frontDoorName", Name: validation.MaxLength, Rule: 64, Chain: nil}, - {Target: "frontDoorName", Name: validation.MinLength, Rule: 5, Chain: nil}, - {Target: "frontDoorName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$`, Chain: nil}}}}); err != nil { - return result, validation.NewError("frontdoor.LoadBalancingSettingsClient", "ListByFrontDoor", err.Error()) - } - - result.fn = client.listByFrontDoorNextResults - req, err := client.ListByFrontDoorPreparer(ctx, resourceGroupName, frontDoorName) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.LoadBalancingSettingsClient", "ListByFrontDoor", nil, "Failure preparing request") - return - } - - resp, err := client.ListByFrontDoorSender(req) - if err != nil { - result.lbslr.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "frontdoor.LoadBalancingSettingsClient", "ListByFrontDoor", resp, "Failure sending request") - return - } - - result.lbslr, err = client.ListByFrontDoorResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.LoadBalancingSettingsClient", "ListByFrontDoor", resp, "Failure responding to request") - } - - return -} - -// ListByFrontDoorPreparer prepares the ListByFrontDoor request. -func (client LoadBalancingSettingsClient) ListByFrontDoorPreparer(ctx context.Context, resourceGroupName string, frontDoorName string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "frontDoorName": autorest.Encode("path", frontDoorName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2018-08-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/loadBalancingSettings", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListByFrontDoorSender sends the ListByFrontDoor request. The method will close the -// http.Response Body if it receives an error. -func (client LoadBalancingSettingsClient) ListByFrontDoorSender(req *http.Request) (*http.Response, error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - return autorest.SendWithSender(client, req, sd...) -} - -// ListByFrontDoorResponder handles the response to the ListByFrontDoor request. The method always -// closes the http.Response Body. -func (client LoadBalancingSettingsClient) ListByFrontDoorResponder(resp *http.Response) (result LoadBalancingSettingsListResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listByFrontDoorNextResults retrieves the next set of results, if any. -func (client LoadBalancingSettingsClient) listByFrontDoorNextResults(ctx context.Context, lastResults LoadBalancingSettingsListResult) (result LoadBalancingSettingsListResult, err error) { - req, err := lastResults.loadBalancingSettingsListResultPreparer(ctx) - if err != nil { - return result, autorest.NewErrorWithError(err, "frontdoor.LoadBalancingSettingsClient", "listByFrontDoorNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListByFrontDoorSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "frontdoor.LoadBalancingSettingsClient", "listByFrontDoorNextResults", resp, "Failure sending next results request") - } - result, err = client.ListByFrontDoorResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.LoadBalancingSettingsClient", "listByFrontDoorNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListByFrontDoorComplete enumerates all values, automatically crossing page boundaries as required. -func (client LoadBalancingSettingsClient) ListByFrontDoorComplete(ctx context.Context, resourceGroupName string, frontDoorName string) (result LoadBalancingSettingsListResultIterator, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/LoadBalancingSettingsClient.ListByFrontDoor") - defer func() { - sc := -1 - if result.Response().Response.Response != nil { - sc = result.page.Response().Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - result.page, err = client.ListByFrontDoor(ctx, resourceGroupName, frontDoorName) - return -} diff --git a/services/preview/frontdoor/mgmt/2018-08-01-preview/frontdoor/models.go b/services/preview/frontdoor/mgmt/2018-08-01-preview/frontdoor/models.go index 177f82005ac5..6d3f75d5ba79 100644 --- a/services/preview/frontdoor/mgmt/2018-08-01-preview/frontdoor/models.go +++ b/services/preview/frontdoor/mgmt/2018-08-01-preview/frontdoor/models.go @@ -569,7 +569,6 @@ type Backend struct { // BackendPool a backend pool is a collection of backends that can be routed to. type BackendPool struct { - autorest.Response `json:"-"` // BackendPoolProperties - Properties of the Front Door Backend Pool *BackendPoolProperties `json:"properties,omitempty"` // Name - Resource name. @@ -649,150 +648,12 @@ func (bp *BackendPool) UnmarshalJSON(body []byte) error { // BackendPoolListResult result of the request to list Backend Pools. It contains a list of Backend Pools // objects and a URL link to get the next set of results. type BackendPoolListResult struct { - autorest.Response `json:"-"` // Value - READ-ONLY; List of Backend Pools within a Front Door. Value *[]BackendPool `json:"value,omitempty"` // NextLink - URL to get the next set of BackendPool objects if there are any. NextLink *string `json:"nextLink,omitempty"` } -// BackendPoolListResultIterator provides access to a complete listing of BackendPool values. -type BackendPoolListResultIterator struct { - i int - page BackendPoolListResultPage -} - -// NextWithContext advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -func (iter *BackendPoolListResultIterator) NextWithContext(ctx context.Context) (err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/BackendPoolListResultIterator.NextWithContext") - defer func() { - sc := -1 - if iter.Response().Response.Response != nil { - sc = iter.Response().Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - iter.i++ - if iter.i < len(iter.page.Values()) { - return nil - } - err = iter.page.NextWithContext(ctx) - if err != nil { - iter.i-- - return err - } - iter.i = 0 - return nil -} - -// Next advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -// Deprecated: Use NextWithContext() instead. -func (iter *BackendPoolListResultIterator) Next() error { - return iter.NextWithContext(context.Background()) -} - -// NotDone returns true if the enumeration should be started or is not yet complete. -func (iter BackendPoolListResultIterator) NotDone() bool { - return iter.page.NotDone() && iter.i < len(iter.page.Values()) -} - -// Response returns the raw server response from the last page request. -func (iter BackendPoolListResultIterator) Response() BackendPoolListResult { - return iter.page.Response() -} - -// Value returns the current value or a zero-initialized value if the -// iterator has advanced beyond the end of the collection. -func (iter BackendPoolListResultIterator) Value() BackendPool { - if !iter.page.NotDone() { - return BackendPool{} - } - return iter.page.Values()[iter.i] -} - -// Creates a new instance of the BackendPoolListResultIterator type. -func NewBackendPoolListResultIterator(page BackendPoolListResultPage) BackendPoolListResultIterator { - return BackendPoolListResultIterator{page: page} -} - -// IsEmpty returns true if the ListResult contains no values. -func (bplr BackendPoolListResult) IsEmpty() bool { - return bplr.Value == nil || len(*bplr.Value) == 0 -} - -// backendPoolListResultPreparer prepares a request to retrieve the next set of results. -// It returns nil if no more results exist. -func (bplr BackendPoolListResult) backendPoolListResultPreparer(ctx context.Context) (*http.Request, error) { - if bplr.NextLink == nil || len(to.String(bplr.NextLink)) < 1 { - return nil, nil - } - return autorest.Prepare((&http.Request{}).WithContext(ctx), - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(bplr.NextLink))) -} - -// BackendPoolListResultPage contains a page of BackendPool values. -type BackendPoolListResultPage struct { - fn func(context.Context, BackendPoolListResult) (BackendPoolListResult, error) - bplr BackendPoolListResult -} - -// NextWithContext advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -func (page *BackendPoolListResultPage) NextWithContext(ctx context.Context) (err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/BackendPoolListResultPage.NextWithContext") - defer func() { - sc := -1 - if page.Response().Response.Response != nil { - sc = page.Response().Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - next, err := page.fn(ctx, page.bplr) - if err != nil { - return err - } - page.bplr = next - return nil -} - -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -// Deprecated: Use NextWithContext() instead. -func (page *BackendPoolListResultPage) Next() error { - return page.NextWithContext(context.Background()) -} - -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page BackendPoolListResultPage) NotDone() bool { - return !page.bplr.IsEmpty() -} - -// Response returns the raw server response from the last page request. -func (page BackendPoolListResultPage) Response() BackendPoolListResult { - return page.bplr -} - -// Values returns the slice of values for the current page or nil if there are no values. -func (page BackendPoolListResultPage) Values() []BackendPool { - if page.bplr.IsEmpty() { - return nil - } - return *page.bplr.Value -} - -// Creates a new instance of the BackendPoolListResultPage type. -func NewBackendPoolListResultPage(getNextPage func(context.Context, BackendPoolListResult) (BackendPoolListResult, error)) BackendPoolListResultPage { - return BackendPoolListResultPage{fn: getNextPage} -} - // BackendPoolProperties the JSON object that contains the properties required to create a routing rule. type BackendPoolProperties struct { // ResourceState - Resource status. Possible values include: 'ResourceStateCreating', 'ResourceStateEnabling', 'ResourceStateEnabled', 'ResourceStateDisabling', 'ResourceStateDisabled', 'ResourceStateDeleting' @@ -805,58 +666,6 @@ type BackendPoolProperties struct { HealthProbeSettings *SubResource `json:"healthProbeSettings,omitempty"` } -// BackendPoolsCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a -// long-running operation. -type BackendPoolsCreateOrUpdateFuture struct { - azure.Future -} - -// Result returns the result of the asynchronous operation. -// If the operation has not completed it will return an error. -func (future *BackendPoolsCreateOrUpdateFuture) Result(client BackendPoolsClient) (bp BackendPool, err error) { - var done bool - done, err = future.DoneWithContext(context.Background(), client) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.BackendPoolsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") - return - } - if !done { - err = azure.NewAsyncOpIncompleteError("frontdoor.BackendPoolsCreateOrUpdateFuture") - return - } - sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) - if bp.Response.Response, err = future.GetResult(sender); err == nil && bp.Response.Response.StatusCode != http.StatusNoContent { - bp, err = client.CreateOrUpdateResponder(bp.Response.Response) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.BackendPoolsCreateOrUpdateFuture", "Result", bp.Response.Response, "Failure responding to request") - } - } - return -} - -// BackendPoolsDeleteFuture an abstraction for monitoring and retrieving the results of a long-running -// operation. -type BackendPoolsDeleteFuture struct { - azure.Future -} - -// Result returns the result of the asynchronous operation. -// If the operation has not completed it will return an error. -func (future *BackendPoolsDeleteFuture) Result(client BackendPoolsClient) (ar autorest.Response, err error) { - var done bool - done, err = future.DoneWithContext(context.Background(), client) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.BackendPoolsDeleteFuture", "Result", future.Response(), "Polling failure") - return - } - if !done { - err = azure.NewAsyncOpIncompleteError("frontdoor.BackendPoolsDeleteFuture") - return - } - ar.Response = future.Response() - return -} - // BackendPoolUpdateParameters a collection of backends that can be routed to. type BackendPoolUpdateParameters struct { // Backends - The set of backends for this pool @@ -1312,58 +1121,6 @@ type FrontendEndpointProperties struct { WebApplicationFirewallPolicyLink *FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink `json:"webApplicationFirewallPolicyLink,omitempty"` } -// FrontendEndpointsCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a -// long-running operation. -type FrontendEndpointsCreateOrUpdateFuture struct { - azure.Future -} - -// Result returns the result of the asynchronous operation. -// If the operation has not completed it will return an error. -func (future *FrontendEndpointsCreateOrUpdateFuture) Result(client FrontendEndpointsClient) (fe FrontendEndpoint, err error) { - var done bool - done, err = future.DoneWithContext(context.Background(), client) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.FrontendEndpointsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") - return - } - if !done { - err = azure.NewAsyncOpIncompleteError("frontdoor.FrontendEndpointsCreateOrUpdateFuture") - return - } - sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) - if fe.Response.Response, err = future.GetResult(sender); err == nil && fe.Response.Response.StatusCode != http.StatusNoContent { - fe, err = client.CreateOrUpdateResponder(fe.Response.Response) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.FrontendEndpointsCreateOrUpdateFuture", "Result", fe.Response.Response, "Failure responding to request") - } - } - return -} - -// FrontendEndpointsDeleteFuture an abstraction for monitoring and retrieving the results of a long-running -// operation. -type FrontendEndpointsDeleteFuture struct { - azure.Future -} - -// Result returns the result of the asynchronous operation. -// If the operation has not completed it will return an error. -func (future *FrontendEndpointsDeleteFuture) Result(client FrontendEndpointsClient) (ar autorest.Response, err error) { - var done bool - done, err = future.DoneWithContext(context.Background(), client) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.FrontendEndpointsDeleteFuture", "Result", future.Response(), "Polling failure") - return - } - if !done { - err = azure.NewAsyncOpIncompleteError("frontdoor.FrontendEndpointsDeleteFuture") - return - } - ar.Response = future.Response() - return -} - // FrontendEndpointsDisableHTTPSFuture an abstraction for monitoring and retrieving the results of a // long-running operation. type FrontendEndpointsDisableHTTPSFuture struct { @@ -1576,230 +1333,38 @@ type FrontendEndpointUpdateParametersWebApplicationFirewallPolicyLink struct { ID *string `json:"id,omitempty"` } -// HealthProbeSettingsCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a -// long-running operation. -type HealthProbeSettingsCreateOrUpdateFuture struct { - azure.Future -} - -// Result returns the result of the asynchronous operation. -// If the operation has not completed it will return an error. -func (future *HealthProbeSettingsCreateOrUpdateFuture) Result(client HealthProbeSettingsClient) (hpsm HealthProbeSettingsModel, err error) { - var done bool - done, err = future.DoneWithContext(context.Background(), client) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.HealthProbeSettingsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") - return - } - if !done { - err = azure.NewAsyncOpIncompleteError("frontdoor.HealthProbeSettingsCreateOrUpdateFuture") - return - } - sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) - if hpsm.Response.Response, err = future.GetResult(sender); err == nil && hpsm.Response.Response.StatusCode != http.StatusNoContent { - hpsm, err = client.CreateOrUpdateResponder(hpsm.Response.Response) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.HealthProbeSettingsCreateOrUpdateFuture", "Result", hpsm.Response.Response, "Failure responding to request") - } - } - return -} - -// HealthProbeSettingsDeleteFuture an abstraction for monitoring and retrieving the results of a -// long-running operation. -type HealthProbeSettingsDeleteFuture struct { - azure.Future -} - -// Result returns the result of the asynchronous operation. -// If the operation has not completed it will return an error. -func (future *HealthProbeSettingsDeleteFuture) Result(client HealthProbeSettingsClient) (ar autorest.Response, err error) { - var done bool - done, err = future.DoneWithContext(context.Background(), client) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.HealthProbeSettingsDeleteFuture", "Result", future.Response(), "Polling failure") - return - } - if !done { - err = azure.NewAsyncOpIncompleteError("frontdoor.HealthProbeSettingsDeleteFuture") - return - } - ar.Response = future.Response() - return -} - // HealthProbeSettingsListResult result of the request to list HealthProbeSettings. It contains a list of // HealthProbeSettings objects and a URL link to get the next set of results. type HealthProbeSettingsListResult struct { - autorest.Response `json:"-"` // Value - READ-ONLY; List of HealthProbeSettings within a Front Door. Value *[]HealthProbeSettingsModel `json:"value,omitempty"` // NextLink - URL to get the next set of HealthProbeSettings objects if there are any. NextLink *string `json:"nextLink,omitempty"` } -// HealthProbeSettingsListResultIterator provides access to a complete listing of HealthProbeSettingsModel -// values. -type HealthProbeSettingsListResultIterator struct { - i int - page HealthProbeSettingsListResultPage +// HealthProbeSettingsModel load balancing settings for a backend pool +type HealthProbeSettingsModel struct { + // HealthProbeSettingsProperties - Properties of the health probe settings + *HealthProbeSettingsProperties `json:"properties,omitempty"` + // Name - Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // ID - Resource ID. + ID *string `json:"id,omitempty"` } -// NextWithContext advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -func (iter *HealthProbeSettingsListResultIterator) NextWithContext(ctx context.Context) (err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/HealthProbeSettingsListResultIterator.NextWithContext") - defer func() { - sc := -1 - if iter.Response().Response.Response != nil { - sc = iter.Response().Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() +// MarshalJSON is the custom marshaler for HealthProbeSettingsModel. +func (hpsm HealthProbeSettingsModel) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if hpsm.HealthProbeSettingsProperties != nil { + objectMap["properties"] = hpsm.HealthProbeSettingsProperties } - iter.i++ - if iter.i < len(iter.page.Values()) { - return nil + if hpsm.Name != nil { + objectMap["name"] = hpsm.Name } - err = iter.page.NextWithContext(ctx) - if err != nil { - iter.i-- - return err - } - iter.i = 0 - return nil -} - -// Next advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -// Deprecated: Use NextWithContext() instead. -func (iter *HealthProbeSettingsListResultIterator) Next() error { - return iter.NextWithContext(context.Background()) -} - -// NotDone returns true if the enumeration should be started or is not yet complete. -func (iter HealthProbeSettingsListResultIterator) NotDone() bool { - return iter.page.NotDone() && iter.i < len(iter.page.Values()) -} - -// Response returns the raw server response from the last page request. -func (iter HealthProbeSettingsListResultIterator) Response() HealthProbeSettingsListResult { - return iter.page.Response() -} - -// Value returns the current value or a zero-initialized value if the -// iterator has advanced beyond the end of the collection. -func (iter HealthProbeSettingsListResultIterator) Value() HealthProbeSettingsModel { - if !iter.page.NotDone() { - return HealthProbeSettingsModel{} - } - return iter.page.Values()[iter.i] -} - -// Creates a new instance of the HealthProbeSettingsListResultIterator type. -func NewHealthProbeSettingsListResultIterator(page HealthProbeSettingsListResultPage) HealthProbeSettingsListResultIterator { - return HealthProbeSettingsListResultIterator{page: page} -} - -// IsEmpty returns true if the ListResult contains no values. -func (hpslr HealthProbeSettingsListResult) IsEmpty() bool { - return hpslr.Value == nil || len(*hpslr.Value) == 0 -} - -// healthProbeSettingsListResultPreparer prepares a request to retrieve the next set of results. -// It returns nil if no more results exist. -func (hpslr HealthProbeSettingsListResult) healthProbeSettingsListResultPreparer(ctx context.Context) (*http.Request, error) { - if hpslr.NextLink == nil || len(to.String(hpslr.NextLink)) < 1 { - return nil, nil - } - return autorest.Prepare((&http.Request{}).WithContext(ctx), - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(hpslr.NextLink))) -} - -// HealthProbeSettingsListResultPage contains a page of HealthProbeSettingsModel values. -type HealthProbeSettingsListResultPage struct { - fn func(context.Context, HealthProbeSettingsListResult) (HealthProbeSettingsListResult, error) - hpslr HealthProbeSettingsListResult -} - -// NextWithContext advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -func (page *HealthProbeSettingsListResultPage) NextWithContext(ctx context.Context) (err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/HealthProbeSettingsListResultPage.NextWithContext") - defer func() { - sc := -1 - if page.Response().Response.Response != nil { - sc = page.Response().Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - next, err := page.fn(ctx, page.hpslr) - if err != nil { - return err - } - page.hpslr = next - return nil -} - -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -// Deprecated: Use NextWithContext() instead. -func (page *HealthProbeSettingsListResultPage) Next() error { - return page.NextWithContext(context.Background()) -} - -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page HealthProbeSettingsListResultPage) NotDone() bool { - return !page.hpslr.IsEmpty() -} - -// Response returns the raw server response from the last page request. -func (page HealthProbeSettingsListResultPage) Response() HealthProbeSettingsListResult { - return page.hpslr -} - -// Values returns the slice of values for the current page or nil if there are no values. -func (page HealthProbeSettingsListResultPage) Values() []HealthProbeSettingsModel { - if page.hpslr.IsEmpty() { - return nil - } - return *page.hpslr.Value -} - -// Creates a new instance of the HealthProbeSettingsListResultPage type. -func NewHealthProbeSettingsListResultPage(getNextPage func(context.Context, HealthProbeSettingsListResult) (HealthProbeSettingsListResult, error)) HealthProbeSettingsListResultPage { - return HealthProbeSettingsListResultPage{fn: getNextPage} -} - -// HealthProbeSettingsModel load balancing settings for a backend pool -type HealthProbeSettingsModel struct { - autorest.Response `json:"-"` - // HealthProbeSettingsProperties - Properties of the health probe settings - *HealthProbeSettingsProperties `json:"properties,omitempty"` - // Name - Resource name. - Name *string `json:"name,omitempty"` - // Type - READ-ONLY; Resource type. - Type *string `json:"type,omitempty"` - // ID - Resource ID. - ID *string `json:"id,omitempty"` -} - -// MarshalJSON is the custom marshaler for HealthProbeSettingsModel. -func (hpsm HealthProbeSettingsModel) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - if hpsm.HealthProbeSettingsProperties != nil { - objectMap["properties"] = hpsm.HealthProbeSettingsProperties - } - if hpsm.Name != nil { - objectMap["name"] = hpsm.Name - } - if hpsm.ID != nil { - objectMap["id"] = hpsm.ID + if hpsm.ID != nil { + objectMap["id"] = hpsm.ID } return json.Marshal(objectMap) } @@ -2041,209 +1606,17 @@ func NewListResultPage(getNextPage func(context.Context, ListResult) (ListResult return ListResultPage{fn: getNextPage} } -// LoadBalancingSettingsCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a -// long-running operation. -type LoadBalancingSettingsCreateOrUpdateFuture struct { - azure.Future -} - -// Result returns the result of the asynchronous operation. -// If the operation has not completed it will return an error. -func (future *LoadBalancingSettingsCreateOrUpdateFuture) Result(client LoadBalancingSettingsClient) (lbsm LoadBalancingSettingsModel, err error) { - var done bool - done, err = future.DoneWithContext(context.Background(), client) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.LoadBalancingSettingsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") - return - } - if !done { - err = azure.NewAsyncOpIncompleteError("frontdoor.LoadBalancingSettingsCreateOrUpdateFuture") - return - } - sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) - if lbsm.Response.Response, err = future.GetResult(sender); err == nil && lbsm.Response.Response.StatusCode != http.StatusNoContent { - lbsm, err = client.CreateOrUpdateResponder(lbsm.Response.Response) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.LoadBalancingSettingsCreateOrUpdateFuture", "Result", lbsm.Response.Response, "Failure responding to request") - } - } - return -} - -// LoadBalancingSettingsDeleteFuture an abstraction for monitoring and retrieving the results of a -// long-running operation. -type LoadBalancingSettingsDeleteFuture struct { - azure.Future -} - -// Result returns the result of the asynchronous operation. -// If the operation has not completed it will return an error. -func (future *LoadBalancingSettingsDeleteFuture) Result(client LoadBalancingSettingsClient) (ar autorest.Response, err error) { - var done bool - done, err = future.DoneWithContext(context.Background(), client) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.LoadBalancingSettingsDeleteFuture", "Result", future.Response(), "Polling failure") - return - } - if !done { - err = azure.NewAsyncOpIncompleteError("frontdoor.LoadBalancingSettingsDeleteFuture") - return - } - ar.Response = future.Response() - return -} - // LoadBalancingSettingsListResult result of the request to list load balancing settings. It contains a // list of load balancing settings objects and a URL link to get the next set of results. type LoadBalancingSettingsListResult struct { - autorest.Response `json:"-"` // Value - READ-ONLY; List of Backend Pools within a Front Door. Value *[]LoadBalancingSettingsModel `json:"value,omitempty"` // NextLink - URL to get the next set of LoadBalancingSettings objects if there are any. NextLink *string `json:"nextLink,omitempty"` } -// LoadBalancingSettingsListResultIterator provides access to a complete listing of -// LoadBalancingSettingsModel values. -type LoadBalancingSettingsListResultIterator struct { - i int - page LoadBalancingSettingsListResultPage -} - -// NextWithContext advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -func (iter *LoadBalancingSettingsListResultIterator) NextWithContext(ctx context.Context) (err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/LoadBalancingSettingsListResultIterator.NextWithContext") - defer func() { - sc := -1 - if iter.Response().Response.Response != nil { - sc = iter.Response().Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - iter.i++ - if iter.i < len(iter.page.Values()) { - return nil - } - err = iter.page.NextWithContext(ctx) - if err != nil { - iter.i-- - return err - } - iter.i = 0 - return nil -} - -// Next advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -// Deprecated: Use NextWithContext() instead. -func (iter *LoadBalancingSettingsListResultIterator) Next() error { - return iter.NextWithContext(context.Background()) -} - -// NotDone returns true if the enumeration should be started or is not yet complete. -func (iter LoadBalancingSettingsListResultIterator) NotDone() bool { - return iter.page.NotDone() && iter.i < len(iter.page.Values()) -} - -// Response returns the raw server response from the last page request. -func (iter LoadBalancingSettingsListResultIterator) Response() LoadBalancingSettingsListResult { - return iter.page.Response() -} - -// Value returns the current value or a zero-initialized value if the -// iterator has advanced beyond the end of the collection. -func (iter LoadBalancingSettingsListResultIterator) Value() LoadBalancingSettingsModel { - if !iter.page.NotDone() { - return LoadBalancingSettingsModel{} - } - return iter.page.Values()[iter.i] -} - -// Creates a new instance of the LoadBalancingSettingsListResultIterator type. -func NewLoadBalancingSettingsListResultIterator(page LoadBalancingSettingsListResultPage) LoadBalancingSettingsListResultIterator { - return LoadBalancingSettingsListResultIterator{page: page} -} - -// IsEmpty returns true if the ListResult contains no values. -func (lbslr LoadBalancingSettingsListResult) IsEmpty() bool { - return lbslr.Value == nil || len(*lbslr.Value) == 0 -} - -// loadBalancingSettingsListResultPreparer prepares a request to retrieve the next set of results. -// It returns nil if no more results exist. -func (lbslr LoadBalancingSettingsListResult) loadBalancingSettingsListResultPreparer(ctx context.Context) (*http.Request, error) { - if lbslr.NextLink == nil || len(to.String(lbslr.NextLink)) < 1 { - return nil, nil - } - return autorest.Prepare((&http.Request{}).WithContext(ctx), - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(lbslr.NextLink))) -} - -// LoadBalancingSettingsListResultPage contains a page of LoadBalancingSettingsModel values. -type LoadBalancingSettingsListResultPage struct { - fn func(context.Context, LoadBalancingSettingsListResult) (LoadBalancingSettingsListResult, error) - lbslr LoadBalancingSettingsListResult -} - -// NextWithContext advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -func (page *LoadBalancingSettingsListResultPage) NextWithContext(ctx context.Context) (err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/LoadBalancingSettingsListResultPage.NextWithContext") - defer func() { - sc := -1 - if page.Response().Response.Response != nil { - sc = page.Response().Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - next, err := page.fn(ctx, page.lbslr) - if err != nil { - return err - } - page.lbslr = next - return nil -} - -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -// Deprecated: Use NextWithContext() instead. -func (page *LoadBalancingSettingsListResultPage) Next() error { - return page.NextWithContext(context.Background()) -} - -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page LoadBalancingSettingsListResultPage) NotDone() bool { - return !page.lbslr.IsEmpty() -} - -// Response returns the raw server response from the last page request. -func (page LoadBalancingSettingsListResultPage) Response() LoadBalancingSettingsListResult { - return page.lbslr -} - -// Values returns the slice of values for the current page or nil if there are no values. -func (page LoadBalancingSettingsListResultPage) Values() []LoadBalancingSettingsModel { - if page.lbslr.IsEmpty() { - return nil - } - return *page.lbslr.Value -} - -// Creates a new instance of the LoadBalancingSettingsListResultPage type. -func NewLoadBalancingSettingsListResultPage(getNextPage func(context.Context, LoadBalancingSettingsListResult) (LoadBalancingSettingsListResult, error)) LoadBalancingSettingsListResultPage { - return LoadBalancingSettingsListResultPage{fn: getNextPage} -} - // LoadBalancingSettingsModel load balancing settings for a backend pool type LoadBalancingSettingsModel struct { - autorest.Response `json:"-"` // LoadBalancingSettingsProperties - Properties of the load balancing settings *LoadBalancingSettingsProperties `json:"properties,omitempty"` // Name - Resource name. @@ -2560,7 +1933,6 @@ func (r Resource) MarshalJSON() ([]byte, error) { // RoutingRule a routing rule represents a specification for traffic to treat and where to send it, along // with health probe information. type RoutingRule struct { - autorest.Response `json:"-"` // RoutingRuleProperties - Properties of the Front Door Routing Rule *RoutingRuleProperties `json:"properties,omitempty"` // Name - Resource name. @@ -2640,150 +2012,12 @@ func (rr *RoutingRule) UnmarshalJSON(body []byte) error { // RoutingRuleListResult result of the request to list Routing Rules. It contains a list of Routing Rule // objects and a URL link to get the next set of results. type RoutingRuleListResult struct { - autorest.Response `json:"-"` // Value - READ-ONLY; List of Routing Rules within a Front Door. Value *[]RoutingRule `json:"value,omitempty"` // NextLink - URL to get the next set of RoutingRule objects if there are any. NextLink *string `json:"nextLink,omitempty"` } -// RoutingRuleListResultIterator provides access to a complete listing of RoutingRule values. -type RoutingRuleListResultIterator struct { - i int - page RoutingRuleListResultPage -} - -// NextWithContext advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -func (iter *RoutingRuleListResultIterator) NextWithContext(ctx context.Context) (err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/RoutingRuleListResultIterator.NextWithContext") - defer func() { - sc := -1 - if iter.Response().Response.Response != nil { - sc = iter.Response().Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - iter.i++ - if iter.i < len(iter.page.Values()) { - return nil - } - err = iter.page.NextWithContext(ctx) - if err != nil { - iter.i-- - return err - } - iter.i = 0 - return nil -} - -// Next advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -// Deprecated: Use NextWithContext() instead. -func (iter *RoutingRuleListResultIterator) Next() error { - return iter.NextWithContext(context.Background()) -} - -// NotDone returns true if the enumeration should be started or is not yet complete. -func (iter RoutingRuleListResultIterator) NotDone() bool { - return iter.page.NotDone() && iter.i < len(iter.page.Values()) -} - -// Response returns the raw server response from the last page request. -func (iter RoutingRuleListResultIterator) Response() RoutingRuleListResult { - return iter.page.Response() -} - -// Value returns the current value or a zero-initialized value if the -// iterator has advanced beyond the end of the collection. -func (iter RoutingRuleListResultIterator) Value() RoutingRule { - if !iter.page.NotDone() { - return RoutingRule{} - } - return iter.page.Values()[iter.i] -} - -// Creates a new instance of the RoutingRuleListResultIterator type. -func NewRoutingRuleListResultIterator(page RoutingRuleListResultPage) RoutingRuleListResultIterator { - return RoutingRuleListResultIterator{page: page} -} - -// IsEmpty returns true if the ListResult contains no values. -func (rrlr RoutingRuleListResult) IsEmpty() bool { - return rrlr.Value == nil || len(*rrlr.Value) == 0 -} - -// routingRuleListResultPreparer prepares a request to retrieve the next set of results. -// It returns nil if no more results exist. -func (rrlr RoutingRuleListResult) routingRuleListResultPreparer(ctx context.Context) (*http.Request, error) { - if rrlr.NextLink == nil || len(to.String(rrlr.NextLink)) < 1 { - return nil, nil - } - return autorest.Prepare((&http.Request{}).WithContext(ctx), - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(rrlr.NextLink))) -} - -// RoutingRuleListResultPage contains a page of RoutingRule values. -type RoutingRuleListResultPage struct { - fn func(context.Context, RoutingRuleListResult) (RoutingRuleListResult, error) - rrlr RoutingRuleListResult -} - -// NextWithContext advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -func (page *RoutingRuleListResultPage) NextWithContext(ctx context.Context) (err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/RoutingRuleListResultPage.NextWithContext") - defer func() { - sc := -1 - if page.Response().Response.Response != nil { - sc = page.Response().Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - next, err := page.fn(ctx, page.rrlr) - if err != nil { - return err - } - page.rrlr = next - return nil -} - -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -// Deprecated: Use NextWithContext() instead. -func (page *RoutingRuleListResultPage) Next() error { - return page.NextWithContext(context.Background()) -} - -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page RoutingRuleListResultPage) NotDone() bool { - return !page.rrlr.IsEmpty() -} - -// Response returns the raw server response from the last page request. -func (page RoutingRuleListResultPage) Response() RoutingRuleListResult { - return page.rrlr -} - -// Values returns the slice of values for the current page or nil if there are no values. -func (page RoutingRuleListResultPage) Values() []RoutingRule { - if page.rrlr.IsEmpty() { - return nil - } - return *page.rrlr.Value -} - -// Creates a new instance of the RoutingRuleListResultPage type. -func NewRoutingRuleListResultPage(getNextPage func(context.Context, RoutingRuleListResult) (RoutingRuleListResult, error)) RoutingRuleListResultPage { - return RoutingRuleListResultPage{fn: getNextPage} -} - // RoutingRuleProperties the JSON object that contains the properties required to create a routing rule. type RoutingRuleProperties struct { // ResourceState - Resource status. Possible values include: 'ResourceStateCreating', 'ResourceStateEnabling', 'ResourceStateEnabled', 'ResourceStateDisabling', 'ResourceStateDisabled', 'ResourceStateDeleting' @@ -2806,58 +2040,6 @@ type RoutingRuleProperties struct { EnabledState EnabledStateEnum `json:"enabledState,omitempty"` } -// RoutingRulesCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a -// long-running operation. -type RoutingRulesCreateOrUpdateFuture struct { - azure.Future -} - -// Result returns the result of the asynchronous operation. -// If the operation has not completed it will return an error. -func (future *RoutingRulesCreateOrUpdateFuture) Result(client RoutingRulesClient) (rr RoutingRule, err error) { - var done bool - done, err = future.DoneWithContext(context.Background(), client) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.RoutingRulesCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") - return - } - if !done { - err = azure.NewAsyncOpIncompleteError("frontdoor.RoutingRulesCreateOrUpdateFuture") - return - } - sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) - if rr.Response.Response, err = future.GetResult(sender); err == nil && rr.Response.Response.StatusCode != http.StatusNoContent { - rr, err = client.CreateOrUpdateResponder(rr.Response.Response) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.RoutingRulesCreateOrUpdateFuture", "Result", rr.Response.Response, "Failure responding to request") - } - } - return -} - -// RoutingRulesDeleteFuture an abstraction for monitoring and retrieving the results of a long-running -// operation. -type RoutingRulesDeleteFuture struct { - azure.Future -} - -// Result returns the result of the asynchronous operation. -// If the operation has not completed it will return an error. -func (future *RoutingRulesDeleteFuture) Result(client RoutingRulesClient) (ar autorest.Response, err error) { - var done bool - done, err = future.DoneWithContext(context.Background(), client) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.RoutingRulesDeleteFuture", "Result", future.Response(), "Polling failure") - return - } - if !done { - err = azure.NewAsyncOpIncompleteError("frontdoor.RoutingRulesDeleteFuture") - return - } - ar.Response = future.Response() - return -} - // RoutingRuleUpdateParameters routing rules to apply to an endpoint type RoutingRuleUpdateParameters struct { // FrontendEndpoints - Frontend endpoints associated with this rule diff --git a/services/preview/frontdoor/mgmt/2018-08-01-preview/frontdoor/routingrules.go b/services/preview/frontdoor/mgmt/2018-08-01-preview/frontdoor/routingrules.go deleted file mode 100644 index 5d8412852151..000000000000 --- a/services/preview/frontdoor/mgmt/2018-08-01-preview/frontdoor/routingrules.go +++ /dev/null @@ -1,457 +0,0 @@ -package frontdoor - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/autorest/validation" - "github.com/Azure/go-autorest/tracing" - "net/http" -) - -// RoutingRulesClient is the frontDoor Client -type RoutingRulesClient struct { - BaseClient -} - -// NewRoutingRulesClient creates an instance of the RoutingRulesClient client. -func NewRoutingRulesClient(subscriptionID string) RoutingRulesClient { - return NewRoutingRulesClientWithBaseURI(DefaultBaseURI, subscriptionID) -} - -// NewRoutingRulesClientWithBaseURI creates an instance of the RoutingRulesClient client. -func NewRoutingRulesClientWithBaseURI(baseURI string, subscriptionID string) RoutingRulesClient { - return RoutingRulesClient{NewWithBaseURI(baseURI, subscriptionID)} -} - -// CreateOrUpdate creates a new Routing Rule with the specified Rule name within the specified Front Door. -// Parameters: -// resourceGroupName - name of the Resource group within the Azure subscription. -// frontDoorName - name of the Front Door which is globally unique. -// routingRuleName - name of the Routing Rule which is unique within the Front Door. -// routingRuleParameters - routing Rule properties needed to create a new Front Door. -func (client RoutingRulesClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, frontDoorName string, routingRuleName string, routingRuleParameters RoutingRule) (result RoutingRulesCreateOrUpdateFuture, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/RoutingRulesClient.CreateOrUpdate") - defer func() { - sc := -1 - if result.Response() != nil { - sc = result.Response().StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - if err := validation.Validate([]validation.Validation{ - {TargetValue: resourceGroupName, - Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 80, Chain: nil}, - {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9_\-\(\)\.]*[^\.]$`, Chain: nil}}}, - {TargetValue: frontDoorName, - Constraints: []validation.Constraint{{Target: "frontDoorName", Name: validation.MaxLength, Rule: 64, Chain: nil}, - {Target: "frontDoorName", Name: validation.MinLength, Rule: 5, Chain: nil}, - {Target: "frontDoorName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$`, Chain: nil}}}, - {TargetValue: routingRuleName, - Constraints: []validation.Constraint{{Target: "routingRuleName", Name: validation.MaxLength, Rule: 90, Chain: nil}, - {Target: "routingRuleName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "routingRuleName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$`, Chain: nil}}}}); err != nil { - return result, validation.NewError("frontdoor.RoutingRulesClient", "CreateOrUpdate", err.Error()) - } - - req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, frontDoorName, routingRuleName, routingRuleParameters) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.RoutingRulesClient", "CreateOrUpdate", nil, "Failure preparing request") - return - } - - result, err = client.CreateOrUpdateSender(req) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.RoutingRulesClient", "CreateOrUpdate", result.Response(), "Failure sending request") - return - } - - return -} - -// CreateOrUpdatePreparer prepares the CreateOrUpdate request. -func (client RoutingRulesClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, frontDoorName string, routingRuleName string, routingRuleParameters RoutingRule) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "frontDoorName": autorest.Encode("path", frontDoorName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "routingRuleName": autorest.Encode("path", routingRuleName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2018-08-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - routingRuleParameters.Type = nil - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; charset=utf-8"), - autorest.AsPut(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/routingRules/{routingRuleName}", pathParameters), - autorest.WithJSON(routingRuleParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the -// http.Response Body if it receives an error. -func (client RoutingRulesClient) CreateOrUpdateSender(req *http.Request) (future RoutingRulesCreateOrUpdateFuture, err error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - var resp *http.Response - resp, err = autorest.SendWithSender(client, req, sd...) - if err != nil { - return - } - future.Future, err = azure.NewFutureFromResponse(resp) - return -} - -// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always -// closes the http.Response Body. -func (client RoutingRulesClient) CreateOrUpdateResponder(resp *http.Response) (result RoutingRule, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated, http.StatusAccepted), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// Delete deletes an existing Routing Rule with the specified parameters. -// Parameters: -// resourceGroupName - name of the Resource group within the Azure subscription. -// frontDoorName - name of the Front Door which is globally unique. -// routingRuleName - name of the Routing Rule which is unique within the Front Door. -func (client RoutingRulesClient) Delete(ctx context.Context, resourceGroupName string, frontDoorName string, routingRuleName string) (result RoutingRulesDeleteFuture, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/RoutingRulesClient.Delete") - defer func() { - sc := -1 - if result.Response() != nil { - sc = result.Response().StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - if err := validation.Validate([]validation.Validation{ - {TargetValue: resourceGroupName, - Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 80, Chain: nil}, - {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9_\-\(\)\.]*[^\.]$`, Chain: nil}}}, - {TargetValue: frontDoorName, - Constraints: []validation.Constraint{{Target: "frontDoorName", Name: validation.MaxLength, Rule: 64, Chain: nil}, - {Target: "frontDoorName", Name: validation.MinLength, Rule: 5, Chain: nil}, - {Target: "frontDoorName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$`, Chain: nil}}}, - {TargetValue: routingRuleName, - Constraints: []validation.Constraint{{Target: "routingRuleName", Name: validation.MaxLength, Rule: 90, Chain: nil}, - {Target: "routingRuleName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "routingRuleName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$`, Chain: nil}}}}); err != nil { - return result, validation.NewError("frontdoor.RoutingRulesClient", "Delete", err.Error()) - } - - req, err := client.DeletePreparer(ctx, resourceGroupName, frontDoorName, routingRuleName) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.RoutingRulesClient", "Delete", nil, "Failure preparing request") - return - } - - result, err = client.DeleteSender(req) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.RoutingRulesClient", "Delete", result.Response(), "Failure sending request") - return - } - - return -} - -// DeletePreparer prepares the Delete request. -func (client RoutingRulesClient) DeletePreparer(ctx context.Context, resourceGroupName string, frontDoorName string, routingRuleName string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "frontDoorName": autorest.Encode("path", frontDoorName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "routingRuleName": autorest.Encode("path", routingRuleName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2018-08-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsDelete(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/routingRules/{routingRuleName}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DeleteSender sends the Delete request. The method will close the -// http.Response Body if it receives an error. -func (client RoutingRulesClient) DeleteSender(req *http.Request) (future RoutingRulesDeleteFuture, err error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - var resp *http.Response - resp, err = autorest.SendWithSender(client, req, sd...) - if err != nil { - return - } - future.Future, err = azure.NewFutureFromResponse(resp) - return -} - -// DeleteResponder handles the response to the Delete request. The method always -// closes the http.Response Body. -func (client RoutingRulesClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), - autorest.ByClosing()) - result.Response = resp - return -} - -// Get gets a Routing Rule with the specified Rule name within the specified Front Door. -// Parameters: -// resourceGroupName - name of the Resource group within the Azure subscription. -// frontDoorName - name of the Front Door which is globally unique. -// routingRuleName - name of the Routing Rule which is unique within the Front Door. -func (client RoutingRulesClient) Get(ctx context.Context, resourceGroupName string, frontDoorName string, routingRuleName string) (result RoutingRule, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/RoutingRulesClient.Get") - defer func() { - sc := -1 - if result.Response.Response != nil { - sc = result.Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - if err := validation.Validate([]validation.Validation{ - {TargetValue: resourceGroupName, - Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 80, Chain: nil}, - {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9_\-\(\)\.]*[^\.]$`, Chain: nil}}}, - {TargetValue: frontDoorName, - Constraints: []validation.Constraint{{Target: "frontDoorName", Name: validation.MaxLength, Rule: 64, Chain: nil}, - {Target: "frontDoorName", Name: validation.MinLength, Rule: 5, Chain: nil}, - {Target: "frontDoorName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$`, Chain: nil}}}, - {TargetValue: routingRuleName, - Constraints: []validation.Constraint{{Target: "routingRuleName", Name: validation.MaxLength, Rule: 90, Chain: nil}, - {Target: "routingRuleName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "routingRuleName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$`, Chain: nil}}}}); err != nil { - return result, validation.NewError("frontdoor.RoutingRulesClient", "Get", err.Error()) - } - - req, err := client.GetPreparer(ctx, resourceGroupName, frontDoorName, routingRuleName) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.RoutingRulesClient", "Get", nil, "Failure preparing request") - return - } - - resp, err := client.GetSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "frontdoor.RoutingRulesClient", "Get", resp, "Failure sending request") - return - } - - result, err = client.GetResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.RoutingRulesClient", "Get", resp, "Failure responding to request") - } - - return -} - -// GetPreparer prepares the Get request. -func (client RoutingRulesClient) GetPreparer(ctx context.Context, resourceGroupName string, frontDoorName string, routingRuleName string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "frontDoorName": autorest.Encode("path", frontDoorName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "routingRuleName": autorest.Encode("path", routingRuleName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2018-08-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/routingRules/{routingRuleName}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetSender sends the Get request. The method will close the -// http.Response Body if it receives an error. -func (client RoutingRulesClient) GetSender(req *http.Request) (*http.Response, error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - return autorest.SendWithSender(client, req, sd...) -} - -// GetResponder handles the response to the Get request. The method always -// closes the http.Response Body. -func (client RoutingRulesClient) GetResponder(resp *http.Response) (result RoutingRule, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// ListByFrontDoor lists all of the Routing Rules within a Front Door. -// Parameters: -// resourceGroupName - name of the Resource group within the Azure subscription. -// frontDoorName - name of the Front Door which is globally unique. -func (client RoutingRulesClient) ListByFrontDoor(ctx context.Context, resourceGroupName string, frontDoorName string) (result RoutingRuleListResultPage, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/RoutingRulesClient.ListByFrontDoor") - defer func() { - sc := -1 - if result.rrlr.Response.Response != nil { - sc = result.rrlr.Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - if err := validation.Validate([]validation.Validation{ - {TargetValue: resourceGroupName, - Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 80, Chain: nil}, - {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9_\-\(\)\.]*[^\.]$`, Chain: nil}}}, - {TargetValue: frontDoorName, - Constraints: []validation.Constraint{{Target: "frontDoorName", Name: validation.MaxLength, Rule: 64, Chain: nil}, - {Target: "frontDoorName", Name: validation.MinLength, Rule: 5, Chain: nil}, - {Target: "frontDoorName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$`, Chain: nil}}}}); err != nil { - return result, validation.NewError("frontdoor.RoutingRulesClient", "ListByFrontDoor", err.Error()) - } - - result.fn = client.listByFrontDoorNextResults - req, err := client.ListByFrontDoorPreparer(ctx, resourceGroupName, frontDoorName) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.RoutingRulesClient", "ListByFrontDoor", nil, "Failure preparing request") - return - } - - resp, err := client.ListByFrontDoorSender(req) - if err != nil { - result.rrlr.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "frontdoor.RoutingRulesClient", "ListByFrontDoor", resp, "Failure sending request") - return - } - - result.rrlr, err = client.ListByFrontDoorResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.RoutingRulesClient", "ListByFrontDoor", resp, "Failure responding to request") - } - - return -} - -// ListByFrontDoorPreparer prepares the ListByFrontDoor request. -func (client RoutingRulesClient) ListByFrontDoorPreparer(ctx context.Context, resourceGroupName string, frontDoorName string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "frontDoorName": autorest.Encode("path", frontDoorName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2018-08-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/routingRules", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListByFrontDoorSender sends the ListByFrontDoor request. The method will close the -// http.Response Body if it receives an error. -func (client RoutingRulesClient) ListByFrontDoorSender(req *http.Request) (*http.Response, error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - return autorest.SendWithSender(client, req, sd...) -} - -// ListByFrontDoorResponder handles the response to the ListByFrontDoor request. The method always -// closes the http.Response Body. -func (client RoutingRulesClient) ListByFrontDoorResponder(resp *http.Response) (result RoutingRuleListResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listByFrontDoorNextResults retrieves the next set of results, if any. -func (client RoutingRulesClient) listByFrontDoorNextResults(ctx context.Context, lastResults RoutingRuleListResult) (result RoutingRuleListResult, err error) { - req, err := lastResults.routingRuleListResultPreparer(ctx) - if err != nil { - return result, autorest.NewErrorWithError(err, "frontdoor.RoutingRulesClient", "listByFrontDoorNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListByFrontDoorSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "frontdoor.RoutingRulesClient", "listByFrontDoorNextResults", resp, "Failure sending next results request") - } - result, err = client.ListByFrontDoorResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.RoutingRulesClient", "listByFrontDoorNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListByFrontDoorComplete enumerates all values, automatically crossing page boundaries as required. -func (client RoutingRulesClient) ListByFrontDoorComplete(ctx context.Context, resourceGroupName string, frontDoorName string) (result RoutingRuleListResultIterator, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/RoutingRulesClient.ListByFrontDoor") - defer func() { - sc := -1 - if result.Response().Response.Response != nil { - sc = result.page.Response().Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - result.page, err = client.ListByFrontDoor(ctx, resourceGroupName, frontDoorName) - return -} diff --git a/services/preview/frontdoor/mgmt/2019-04-01/frontdoor/backendpools.go b/services/preview/frontdoor/mgmt/2019-04-01/frontdoor/backendpools.go deleted file mode 100644 index e786cb2bf50a..000000000000 --- a/services/preview/frontdoor/mgmt/2019-04-01/frontdoor/backendpools.go +++ /dev/null @@ -1,457 +0,0 @@ -package frontdoor - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/autorest/validation" - "github.com/Azure/go-autorest/tracing" - "net/http" -) - -// BackendPoolsClient is the frontDoor Client -type BackendPoolsClient struct { - BaseClient -} - -// NewBackendPoolsClient creates an instance of the BackendPoolsClient client. -func NewBackendPoolsClient(subscriptionID string) BackendPoolsClient { - return NewBackendPoolsClientWithBaseURI(DefaultBaseURI, subscriptionID) -} - -// NewBackendPoolsClientWithBaseURI creates an instance of the BackendPoolsClient client. -func NewBackendPoolsClientWithBaseURI(baseURI string, subscriptionID string) BackendPoolsClient { - return BackendPoolsClient{NewWithBaseURI(baseURI, subscriptionID)} -} - -// CreateOrUpdate creates a new Backend Pool with the specified Pool name within the specified Front Door. -// Parameters: -// resourceGroupName - name of the Resource group within the Azure subscription. -// frontDoorName - name of the Front Door which is globally unique. -// backendPoolName - name of the Backend Pool which is unique within the Front Door. -// backendPoolParameters - backend Pool properties needed to create a new Pool. -func (client BackendPoolsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, frontDoorName string, backendPoolName string, backendPoolParameters BackendPool) (result BackendPoolsCreateOrUpdateFuture, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/BackendPoolsClient.CreateOrUpdate") - defer func() { - sc := -1 - if result.Response() != nil { - sc = result.Response().StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - if err := validation.Validate([]validation.Validation{ - {TargetValue: resourceGroupName, - Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 80, Chain: nil}, - {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9_\-\(\)\.]*[^\.]$`, Chain: nil}}}, - {TargetValue: frontDoorName, - Constraints: []validation.Constraint{{Target: "frontDoorName", Name: validation.MaxLength, Rule: 64, Chain: nil}, - {Target: "frontDoorName", Name: validation.MinLength, Rule: 5, Chain: nil}, - {Target: "frontDoorName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$`, Chain: nil}}}, - {TargetValue: backendPoolName, - Constraints: []validation.Constraint{{Target: "backendPoolName", Name: validation.MaxLength, Rule: 90, Chain: nil}, - {Target: "backendPoolName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "backendPoolName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$`, Chain: nil}}}}); err != nil { - return result, validation.NewError("frontdoor.BackendPoolsClient", "CreateOrUpdate", err.Error()) - } - - req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, frontDoorName, backendPoolName, backendPoolParameters) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.BackendPoolsClient", "CreateOrUpdate", nil, "Failure preparing request") - return - } - - result, err = client.CreateOrUpdateSender(req) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.BackendPoolsClient", "CreateOrUpdate", result.Response(), "Failure sending request") - return - } - - return -} - -// CreateOrUpdatePreparer prepares the CreateOrUpdate request. -func (client BackendPoolsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, frontDoorName string, backendPoolName string, backendPoolParameters BackendPool) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "backendPoolName": autorest.Encode("path", backendPoolName), - "frontDoorName": autorest.Encode("path", frontDoorName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2019-04-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - backendPoolParameters.Type = nil - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; charset=utf-8"), - autorest.AsPut(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/backendPools/{backendPoolName}", pathParameters), - autorest.WithJSON(backendPoolParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the -// http.Response Body if it receives an error. -func (client BackendPoolsClient) CreateOrUpdateSender(req *http.Request) (future BackendPoolsCreateOrUpdateFuture, err error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - var resp *http.Response - resp, err = autorest.SendWithSender(client, req, sd...) - if err != nil { - return - } - future.Future, err = azure.NewFutureFromResponse(resp) - return -} - -// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always -// closes the http.Response Body. -func (client BackendPoolsClient) CreateOrUpdateResponder(resp *http.Response) (result BackendPool, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated, http.StatusAccepted), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// Delete deletes an existing Backend Pool with the specified parameters. -// Parameters: -// resourceGroupName - name of the Resource group within the Azure subscription. -// frontDoorName - name of the Front Door which is globally unique. -// backendPoolName - name of the Backend Pool which is unique within the Front Door. -func (client BackendPoolsClient) Delete(ctx context.Context, resourceGroupName string, frontDoorName string, backendPoolName string) (result BackendPoolsDeleteFuture, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/BackendPoolsClient.Delete") - defer func() { - sc := -1 - if result.Response() != nil { - sc = result.Response().StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - if err := validation.Validate([]validation.Validation{ - {TargetValue: resourceGroupName, - Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 80, Chain: nil}, - {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9_\-\(\)\.]*[^\.]$`, Chain: nil}}}, - {TargetValue: frontDoorName, - Constraints: []validation.Constraint{{Target: "frontDoorName", Name: validation.MaxLength, Rule: 64, Chain: nil}, - {Target: "frontDoorName", Name: validation.MinLength, Rule: 5, Chain: nil}, - {Target: "frontDoorName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$`, Chain: nil}}}, - {TargetValue: backendPoolName, - Constraints: []validation.Constraint{{Target: "backendPoolName", Name: validation.MaxLength, Rule: 90, Chain: nil}, - {Target: "backendPoolName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "backendPoolName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$`, Chain: nil}}}}); err != nil { - return result, validation.NewError("frontdoor.BackendPoolsClient", "Delete", err.Error()) - } - - req, err := client.DeletePreparer(ctx, resourceGroupName, frontDoorName, backendPoolName) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.BackendPoolsClient", "Delete", nil, "Failure preparing request") - return - } - - result, err = client.DeleteSender(req) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.BackendPoolsClient", "Delete", result.Response(), "Failure sending request") - return - } - - return -} - -// DeletePreparer prepares the Delete request. -func (client BackendPoolsClient) DeletePreparer(ctx context.Context, resourceGroupName string, frontDoorName string, backendPoolName string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "backendPoolName": autorest.Encode("path", backendPoolName), - "frontDoorName": autorest.Encode("path", frontDoorName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2019-04-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsDelete(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/backendPools/{backendPoolName}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DeleteSender sends the Delete request. The method will close the -// http.Response Body if it receives an error. -func (client BackendPoolsClient) DeleteSender(req *http.Request) (future BackendPoolsDeleteFuture, err error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - var resp *http.Response - resp, err = autorest.SendWithSender(client, req, sd...) - if err != nil { - return - } - future.Future, err = azure.NewFutureFromResponse(resp) - return -} - -// DeleteResponder handles the response to the Delete request. The method always -// closes the http.Response Body. -func (client BackendPoolsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), - autorest.ByClosing()) - result.Response = resp - return -} - -// Get gets a Backend Pool with the specified Pool name within the specified Front Door. -// Parameters: -// resourceGroupName - name of the Resource group within the Azure subscription. -// frontDoorName - name of the Front Door which is globally unique. -// backendPoolName - name of the Backend Pool which is unique within the Front Door. -func (client BackendPoolsClient) Get(ctx context.Context, resourceGroupName string, frontDoorName string, backendPoolName string) (result BackendPool, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/BackendPoolsClient.Get") - defer func() { - sc := -1 - if result.Response.Response != nil { - sc = result.Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - if err := validation.Validate([]validation.Validation{ - {TargetValue: resourceGroupName, - Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 80, Chain: nil}, - {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9_\-\(\)\.]*[^\.]$`, Chain: nil}}}, - {TargetValue: frontDoorName, - Constraints: []validation.Constraint{{Target: "frontDoorName", Name: validation.MaxLength, Rule: 64, Chain: nil}, - {Target: "frontDoorName", Name: validation.MinLength, Rule: 5, Chain: nil}, - {Target: "frontDoorName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$`, Chain: nil}}}, - {TargetValue: backendPoolName, - Constraints: []validation.Constraint{{Target: "backendPoolName", Name: validation.MaxLength, Rule: 90, Chain: nil}, - {Target: "backendPoolName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "backendPoolName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$`, Chain: nil}}}}); err != nil { - return result, validation.NewError("frontdoor.BackendPoolsClient", "Get", err.Error()) - } - - req, err := client.GetPreparer(ctx, resourceGroupName, frontDoorName, backendPoolName) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.BackendPoolsClient", "Get", nil, "Failure preparing request") - return - } - - resp, err := client.GetSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "frontdoor.BackendPoolsClient", "Get", resp, "Failure sending request") - return - } - - result, err = client.GetResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.BackendPoolsClient", "Get", resp, "Failure responding to request") - } - - return -} - -// GetPreparer prepares the Get request. -func (client BackendPoolsClient) GetPreparer(ctx context.Context, resourceGroupName string, frontDoorName string, backendPoolName string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "backendPoolName": autorest.Encode("path", backendPoolName), - "frontDoorName": autorest.Encode("path", frontDoorName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2019-04-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/backendPools/{backendPoolName}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetSender sends the Get request. The method will close the -// http.Response Body if it receives an error. -func (client BackendPoolsClient) GetSender(req *http.Request) (*http.Response, error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - return autorest.SendWithSender(client, req, sd...) -} - -// GetResponder handles the response to the Get request. The method always -// closes the http.Response Body. -func (client BackendPoolsClient) GetResponder(resp *http.Response) (result BackendPool, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// ListByFrontDoor lists all of the Backend Pools within a Front Door. -// Parameters: -// resourceGroupName - name of the Resource group within the Azure subscription. -// frontDoorName - name of the Front Door which is globally unique. -func (client BackendPoolsClient) ListByFrontDoor(ctx context.Context, resourceGroupName string, frontDoorName string) (result BackendPoolListResultPage, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/BackendPoolsClient.ListByFrontDoor") - defer func() { - sc := -1 - if result.bplr.Response.Response != nil { - sc = result.bplr.Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - if err := validation.Validate([]validation.Validation{ - {TargetValue: resourceGroupName, - Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 80, Chain: nil}, - {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9_\-\(\)\.]*[^\.]$`, Chain: nil}}}, - {TargetValue: frontDoorName, - Constraints: []validation.Constraint{{Target: "frontDoorName", Name: validation.MaxLength, Rule: 64, Chain: nil}, - {Target: "frontDoorName", Name: validation.MinLength, Rule: 5, Chain: nil}, - {Target: "frontDoorName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$`, Chain: nil}}}}); err != nil { - return result, validation.NewError("frontdoor.BackendPoolsClient", "ListByFrontDoor", err.Error()) - } - - result.fn = client.listByFrontDoorNextResults - req, err := client.ListByFrontDoorPreparer(ctx, resourceGroupName, frontDoorName) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.BackendPoolsClient", "ListByFrontDoor", nil, "Failure preparing request") - return - } - - resp, err := client.ListByFrontDoorSender(req) - if err != nil { - result.bplr.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "frontdoor.BackendPoolsClient", "ListByFrontDoor", resp, "Failure sending request") - return - } - - result.bplr, err = client.ListByFrontDoorResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.BackendPoolsClient", "ListByFrontDoor", resp, "Failure responding to request") - } - - return -} - -// ListByFrontDoorPreparer prepares the ListByFrontDoor request. -func (client BackendPoolsClient) ListByFrontDoorPreparer(ctx context.Context, resourceGroupName string, frontDoorName string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "frontDoorName": autorest.Encode("path", frontDoorName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2019-04-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/backendPools", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListByFrontDoorSender sends the ListByFrontDoor request. The method will close the -// http.Response Body if it receives an error. -func (client BackendPoolsClient) ListByFrontDoorSender(req *http.Request) (*http.Response, error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - return autorest.SendWithSender(client, req, sd...) -} - -// ListByFrontDoorResponder handles the response to the ListByFrontDoor request. The method always -// closes the http.Response Body. -func (client BackendPoolsClient) ListByFrontDoorResponder(resp *http.Response) (result BackendPoolListResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listByFrontDoorNextResults retrieves the next set of results, if any. -func (client BackendPoolsClient) listByFrontDoorNextResults(ctx context.Context, lastResults BackendPoolListResult) (result BackendPoolListResult, err error) { - req, err := lastResults.backendPoolListResultPreparer(ctx) - if err != nil { - return result, autorest.NewErrorWithError(err, "frontdoor.BackendPoolsClient", "listByFrontDoorNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListByFrontDoorSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "frontdoor.BackendPoolsClient", "listByFrontDoorNextResults", resp, "Failure sending next results request") - } - result, err = client.ListByFrontDoorResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.BackendPoolsClient", "listByFrontDoorNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListByFrontDoorComplete enumerates all values, automatically crossing page boundaries as required. -func (client BackendPoolsClient) ListByFrontDoorComplete(ctx context.Context, resourceGroupName string, frontDoorName string) (result BackendPoolListResultIterator, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/BackendPoolsClient.ListByFrontDoor") - defer func() { - sc := -1 - if result.Response().Response.Response != nil { - sc = result.page.Response().Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - result.page, err = client.ListByFrontDoor(ctx, resourceGroupName, frontDoorName) - return -} diff --git a/services/preview/frontdoor/mgmt/2019-04-01/frontdoor/healthprobesettings.go b/services/preview/frontdoor/mgmt/2019-04-01/frontdoor/healthprobesettings.go deleted file mode 100644 index e8b0c87731b9..000000000000 --- a/services/preview/frontdoor/mgmt/2019-04-01/frontdoor/healthprobesettings.go +++ /dev/null @@ -1,457 +0,0 @@ -package frontdoor - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/autorest/validation" - "github.com/Azure/go-autorest/tracing" - "net/http" -) - -// HealthProbeSettingsClient is the frontDoor Client -type HealthProbeSettingsClient struct { - BaseClient -} - -// NewHealthProbeSettingsClient creates an instance of the HealthProbeSettingsClient client. -func NewHealthProbeSettingsClient(subscriptionID string) HealthProbeSettingsClient { - return NewHealthProbeSettingsClientWithBaseURI(DefaultBaseURI, subscriptionID) -} - -// NewHealthProbeSettingsClientWithBaseURI creates an instance of the HealthProbeSettingsClient client. -func NewHealthProbeSettingsClientWithBaseURI(baseURI string, subscriptionID string) HealthProbeSettingsClient { - return HealthProbeSettingsClient{NewWithBaseURI(baseURI, subscriptionID)} -} - -// CreateOrUpdate creates a new HealthProbeSettings with the specified Rule name within the specified Front Door. -// Parameters: -// resourceGroupName - name of the Resource group within the Azure subscription. -// frontDoorName - name of the Front Door which is globally unique. -// healthProbeSettingsName - name of the health probe settings which is unique within the Front Door. -// healthProbeSettingsParameters - healthProbeSettings properties needed to create a new Front Door. -func (client HealthProbeSettingsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, frontDoorName string, healthProbeSettingsName string, healthProbeSettingsParameters HealthProbeSettingsModel) (result HealthProbeSettingsCreateOrUpdateFuture, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/HealthProbeSettingsClient.CreateOrUpdate") - defer func() { - sc := -1 - if result.Response() != nil { - sc = result.Response().StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - if err := validation.Validate([]validation.Validation{ - {TargetValue: resourceGroupName, - Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 80, Chain: nil}, - {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9_\-\(\)\.]*[^\.]$`, Chain: nil}}}, - {TargetValue: frontDoorName, - Constraints: []validation.Constraint{{Target: "frontDoorName", Name: validation.MaxLength, Rule: 64, Chain: nil}, - {Target: "frontDoorName", Name: validation.MinLength, Rule: 5, Chain: nil}, - {Target: "frontDoorName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$`, Chain: nil}}}, - {TargetValue: healthProbeSettingsName, - Constraints: []validation.Constraint{{Target: "healthProbeSettingsName", Name: validation.MaxLength, Rule: 90, Chain: nil}, - {Target: "healthProbeSettingsName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "healthProbeSettingsName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$`, Chain: nil}}}}); err != nil { - return result, validation.NewError("frontdoor.HealthProbeSettingsClient", "CreateOrUpdate", err.Error()) - } - - req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, frontDoorName, healthProbeSettingsName, healthProbeSettingsParameters) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.HealthProbeSettingsClient", "CreateOrUpdate", nil, "Failure preparing request") - return - } - - result, err = client.CreateOrUpdateSender(req) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.HealthProbeSettingsClient", "CreateOrUpdate", result.Response(), "Failure sending request") - return - } - - return -} - -// CreateOrUpdatePreparer prepares the CreateOrUpdate request. -func (client HealthProbeSettingsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, frontDoorName string, healthProbeSettingsName string, healthProbeSettingsParameters HealthProbeSettingsModel) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "frontDoorName": autorest.Encode("path", frontDoorName), - "healthProbeSettingsName": autorest.Encode("path", healthProbeSettingsName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2019-04-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - healthProbeSettingsParameters.Type = nil - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; charset=utf-8"), - autorest.AsPut(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/healthProbeSettings/{healthProbeSettingsName}", pathParameters), - autorest.WithJSON(healthProbeSettingsParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the -// http.Response Body if it receives an error. -func (client HealthProbeSettingsClient) CreateOrUpdateSender(req *http.Request) (future HealthProbeSettingsCreateOrUpdateFuture, err error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - var resp *http.Response - resp, err = autorest.SendWithSender(client, req, sd...) - if err != nil { - return - } - future.Future, err = azure.NewFutureFromResponse(resp) - return -} - -// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always -// closes the http.Response Body. -func (client HealthProbeSettingsClient) CreateOrUpdateResponder(resp *http.Response) (result HealthProbeSettingsModel, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated, http.StatusAccepted), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// Delete deletes an existing HealthProbeSettings with the specified parameters. -// Parameters: -// resourceGroupName - name of the Resource group within the Azure subscription. -// frontDoorName - name of the Front Door which is globally unique. -// healthProbeSettingsName - name of the health probe settings which is unique within the Front Door. -func (client HealthProbeSettingsClient) Delete(ctx context.Context, resourceGroupName string, frontDoorName string, healthProbeSettingsName string) (result HealthProbeSettingsDeleteFuture, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/HealthProbeSettingsClient.Delete") - defer func() { - sc := -1 - if result.Response() != nil { - sc = result.Response().StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - if err := validation.Validate([]validation.Validation{ - {TargetValue: resourceGroupName, - Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 80, Chain: nil}, - {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9_\-\(\)\.]*[^\.]$`, Chain: nil}}}, - {TargetValue: frontDoorName, - Constraints: []validation.Constraint{{Target: "frontDoorName", Name: validation.MaxLength, Rule: 64, Chain: nil}, - {Target: "frontDoorName", Name: validation.MinLength, Rule: 5, Chain: nil}, - {Target: "frontDoorName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$`, Chain: nil}}}, - {TargetValue: healthProbeSettingsName, - Constraints: []validation.Constraint{{Target: "healthProbeSettingsName", Name: validation.MaxLength, Rule: 90, Chain: nil}, - {Target: "healthProbeSettingsName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "healthProbeSettingsName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$`, Chain: nil}}}}); err != nil { - return result, validation.NewError("frontdoor.HealthProbeSettingsClient", "Delete", err.Error()) - } - - req, err := client.DeletePreparer(ctx, resourceGroupName, frontDoorName, healthProbeSettingsName) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.HealthProbeSettingsClient", "Delete", nil, "Failure preparing request") - return - } - - result, err = client.DeleteSender(req) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.HealthProbeSettingsClient", "Delete", result.Response(), "Failure sending request") - return - } - - return -} - -// DeletePreparer prepares the Delete request. -func (client HealthProbeSettingsClient) DeletePreparer(ctx context.Context, resourceGroupName string, frontDoorName string, healthProbeSettingsName string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "frontDoorName": autorest.Encode("path", frontDoorName), - "healthProbeSettingsName": autorest.Encode("path", healthProbeSettingsName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2019-04-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsDelete(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/healthProbeSettings/{healthProbeSettingsName}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DeleteSender sends the Delete request. The method will close the -// http.Response Body if it receives an error. -func (client HealthProbeSettingsClient) DeleteSender(req *http.Request) (future HealthProbeSettingsDeleteFuture, err error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - var resp *http.Response - resp, err = autorest.SendWithSender(client, req, sd...) - if err != nil { - return - } - future.Future, err = azure.NewFutureFromResponse(resp) - return -} - -// DeleteResponder handles the response to the Delete request. The method always -// closes the http.Response Body. -func (client HealthProbeSettingsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), - autorest.ByClosing()) - result.Response = resp - return -} - -// Get gets a HealthProbeSettings with the specified Rule name within the specified Front Door. -// Parameters: -// resourceGroupName - name of the Resource group within the Azure subscription. -// frontDoorName - name of the Front Door which is globally unique. -// healthProbeSettingsName - name of the health probe settings which is unique within the Front Door. -func (client HealthProbeSettingsClient) Get(ctx context.Context, resourceGroupName string, frontDoorName string, healthProbeSettingsName string) (result HealthProbeSettingsModel, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/HealthProbeSettingsClient.Get") - defer func() { - sc := -1 - if result.Response.Response != nil { - sc = result.Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - if err := validation.Validate([]validation.Validation{ - {TargetValue: resourceGroupName, - Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 80, Chain: nil}, - {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9_\-\(\)\.]*[^\.]$`, Chain: nil}}}, - {TargetValue: frontDoorName, - Constraints: []validation.Constraint{{Target: "frontDoorName", Name: validation.MaxLength, Rule: 64, Chain: nil}, - {Target: "frontDoorName", Name: validation.MinLength, Rule: 5, Chain: nil}, - {Target: "frontDoorName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$`, Chain: nil}}}, - {TargetValue: healthProbeSettingsName, - Constraints: []validation.Constraint{{Target: "healthProbeSettingsName", Name: validation.MaxLength, Rule: 90, Chain: nil}, - {Target: "healthProbeSettingsName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "healthProbeSettingsName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$`, Chain: nil}}}}); err != nil { - return result, validation.NewError("frontdoor.HealthProbeSettingsClient", "Get", err.Error()) - } - - req, err := client.GetPreparer(ctx, resourceGroupName, frontDoorName, healthProbeSettingsName) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.HealthProbeSettingsClient", "Get", nil, "Failure preparing request") - return - } - - resp, err := client.GetSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "frontdoor.HealthProbeSettingsClient", "Get", resp, "Failure sending request") - return - } - - result, err = client.GetResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.HealthProbeSettingsClient", "Get", resp, "Failure responding to request") - } - - return -} - -// GetPreparer prepares the Get request. -func (client HealthProbeSettingsClient) GetPreparer(ctx context.Context, resourceGroupName string, frontDoorName string, healthProbeSettingsName string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "frontDoorName": autorest.Encode("path", frontDoorName), - "healthProbeSettingsName": autorest.Encode("path", healthProbeSettingsName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2019-04-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/healthProbeSettings/{healthProbeSettingsName}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetSender sends the Get request. The method will close the -// http.Response Body if it receives an error. -func (client HealthProbeSettingsClient) GetSender(req *http.Request) (*http.Response, error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - return autorest.SendWithSender(client, req, sd...) -} - -// GetResponder handles the response to the Get request. The method always -// closes the http.Response Body. -func (client HealthProbeSettingsClient) GetResponder(resp *http.Response) (result HealthProbeSettingsModel, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// ListByFrontDoor lists all of the HealthProbeSettings within a Front Door. -// Parameters: -// resourceGroupName - name of the Resource group within the Azure subscription. -// frontDoorName - name of the Front Door which is globally unique. -func (client HealthProbeSettingsClient) ListByFrontDoor(ctx context.Context, resourceGroupName string, frontDoorName string) (result HealthProbeSettingsListResultPage, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/HealthProbeSettingsClient.ListByFrontDoor") - defer func() { - sc := -1 - if result.hpslr.Response.Response != nil { - sc = result.hpslr.Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - if err := validation.Validate([]validation.Validation{ - {TargetValue: resourceGroupName, - Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 80, Chain: nil}, - {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9_\-\(\)\.]*[^\.]$`, Chain: nil}}}, - {TargetValue: frontDoorName, - Constraints: []validation.Constraint{{Target: "frontDoorName", Name: validation.MaxLength, Rule: 64, Chain: nil}, - {Target: "frontDoorName", Name: validation.MinLength, Rule: 5, Chain: nil}, - {Target: "frontDoorName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$`, Chain: nil}}}}); err != nil { - return result, validation.NewError("frontdoor.HealthProbeSettingsClient", "ListByFrontDoor", err.Error()) - } - - result.fn = client.listByFrontDoorNextResults - req, err := client.ListByFrontDoorPreparer(ctx, resourceGroupName, frontDoorName) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.HealthProbeSettingsClient", "ListByFrontDoor", nil, "Failure preparing request") - return - } - - resp, err := client.ListByFrontDoorSender(req) - if err != nil { - result.hpslr.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "frontdoor.HealthProbeSettingsClient", "ListByFrontDoor", resp, "Failure sending request") - return - } - - result.hpslr, err = client.ListByFrontDoorResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.HealthProbeSettingsClient", "ListByFrontDoor", resp, "Failure responding to request") - } - - return -} - -// ListByFrontDoorPreparer prepares the ListByFrontDoor request. -func (client HealthProbeSettingsClient) ListByFrontDoorPreparer(ctx context.Context, resourceGroupName string, frontDoorName string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "frontDoorName": autorest.Encode("path", frontDoorName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2019-04-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/healthProbeSettings", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListByFrontDoorSender sends the ListByFrontDoor request. The method will close the -// http.Response Body if it receives an error. -func (client HealthProbeSettingsClient) ListByFrontDoorSender(req *http.Request) (*http.Response, error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - return autorest.SendWithSender(client, req, sd...) -} - -// ListByFrontDoorResponder handles the response to the ListByFrontDoor request. The method always -// closes the http.Response Body. -func (client HealthProbeSettingsClient) ListByFrontDoorResponder(resp *http.Response) (result HealthProbeSettingsListResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listByFrontDoorNextResults retrieves the next set of results, if any. -func (client HealthProbeSettingsClient) listByFrontDoorNextResults(ctx context.Context, lastResults HealthProbeSettingsListResult) (result HealthProbeSettingsListResult, err error) { - req, err := lastResults.healthProbeSettingsListResultPreparer(ctx) - if err != nil { - return result, autorest.NewErrorWithError(err, "frontdoor.HealthProbeSettingsClient", "listByFrontDoorNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListByFrontDoorSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "frontdoor.HealthProbeSettingsClient", "listByFrontDoorNextResults", resp, "Failure sending next results request") - } - result, err = client.ListByFrontDoorResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.HealthProbeSettingsClient", "listByFrontDoorNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListByFrontDoorComplete enumerates all values, automatically crossing page boundaries as required. -func (client HealthProbeSettingsClient) ListByFrontDoorComplete(ctx context.Context, resourceGroupName string, frontDoorName string) (result HealthProbeSettingsListResultIterator, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/HealthProbeSettingsClient.ListByFrontDoor") - defer func() { - sc := -1 - if result.Response().Response.Response != nil { - sc = result.page.Response().Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - result.page, err = client.ListByFrontDoor(ctx, resourceGroupName, frontDoorName) - return -} diff --git a/services/preview/frontdoor/mgmt/2019-04-01/frontdoor/loadbalancingsettings.go b/services/preview/frontdoor/mgmt/2019-04-01/frontdoor/loadbalancingsettings.go deleted file mode 100644 index 040beca88828..000000000000 --- a/services/preview/frontdoor/mgmt/2019-04-01/frontdoor/loadbalancingsettings.go +++ /dev/null @@ -1,457 +0,0 @@ -package frontdoor - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/autorest/validation" - "github.com/Azure/go-autorest/tracing" - "net/http" -) - -// LoadBalancingSettingsClient is the frontDoor Client -type LoadBalancingSettingsClient struct { - BaseClient -} - -// NewLoadBalancingSettingsClient creates an instance of the LoadBalancingSettingsClient client. -func NewLoadBalancingSettingsClient(subscriptionID string) LoadBalancingSettingsClient { - return NewLoadBalancingSettingsClientWithBaseURI(DefaultBaseURI, subscriptionID) -} - -// NewLoadBalancingSettingsClientWithBaseURI creates an instance of the LoadBalancingSettingsClient client. -func NewLoadBalancingSettingsClientWithBaseURI(baseURI string, subscriptionID string) LoadBalancingSettingsClient { - return LoadBalancingSettingsClient{NewWithBaseURI(baseURI, subscriptionID)} -} - -// CreateOrUpdate creates a new LoadBalancingSettings with the specified Rule name within the specified Front Door. -// Parameters: -// resourceGroupName - name of the Resource group within the Azure subscription. -// frontDoorName - name of the Front Door which is globally unique. -// loadBalancingSettingsName - name of the load balancing settings which is unique within the Front Door. -// loadBalancingSettingsParameters - loadBalancingSettings properties needed to create a new Front Door. -func (client LoadBalancingSettingsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, frontDoorName string, loadBalancingSettingsName string, loadBalancingSettingsParameters LoadBalancingSettingsModel) (result LoadBalancingSettingsCreateOrUpdateFuture, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/LoadBalancingSettingsClient.CreateOrUpdate") - defer func() { - sc := -1 - if result.Response() != nil { - sc = result.Response().StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - if err := validation.Validate([]validation.Validation{ - {TargetValue: resourceGroupName, - Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 80, Chain: nil}, - {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9_\-\(\)\.]*[^\.]$`, Chain: nil}}}, - {TargetValue: frontDoorName, - Constraints: []validation.Constraint{{Target: "frontDoorName", Name: validation.MaxLength, Rule: 64, Chain: nil}, - {Target: "frontDoorName", Name: validation.MinLength, Rule: 5, Chain: nil}, - {Target: "frontDoorName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$`, Chain: nil}}}, - {TargetValue: loadBalancingSettingsName, - Constraints: []validation.Constraint{{Target: "loadBalancingSettingsName", Name: validation.MaxLength, Rule: 90, Chain: nil}, - {Target: "loadBalancingSettingsName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "loadBalancingSettingsName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$`, Chain: nil}}}}); err != nil { - return result, validation.NewError("frontdoor.LoadBalancingSettingsClient", "CreateOrUpdate", err.Error()) - } - - req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, frontDoorName, loadBalancingSettingsName, loadBalancingSettingsParameters) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.LoadBalancingSettingsClient", "CreateOrUpdate", nil, "Failure preparing request") - return - } - - result, err = client.CreateOrUpdateSender(req) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.LoadBalancingSettingsClient", "CreateOrUpdate", result.Response(), "Failure sending request") - return - } - - return -} - -// CreateOrUpdatePreparer prepares the CreateOrUpdate request. -func (client LoadBalancingSettingsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, frontDoorName string, loadBalancingSettingsName string, loadBalancingSettingsParameters LoadBalancingSettingsModel) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "frontDoorName": autorest.Encode("path", frontDoorName), - "loadBalancingSettingsName": autorest.Encode("path", loadBalancingSettingsName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2019-04-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - loadBalancingSettingsParameters.Type = nil - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; charset=utf-8"), - autorest.AsPut(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/loadBalancingSettings/{loadBalancingSettingsName}", pathParameters), - autorest.WithJSON(loadBalancingSettingsParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the -// http.Response Body if it receives an error. -func (client LoadBalancingSettingsClient) CreateOrUpdateSender(req *http.Request) (future LoadBalancingSettingsCreateOrUpdateFuture, err error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - var resp *http.Response - resp, err = autorest.SendWithSender(client, req, sd...) - if err != nil { - return - } - future.Future, err = azure.NewFutureFromResponse(resp) - return -} - -// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always -// closes the http.Response Body. -func (client LoadBalancingSettingsClient) CreateOrUpdateResponder(resp *http.Response) (result LoadBalancingSettingsModel, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated, http.StatusAccepted), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// Delete deletes an existing LoadBalancingSettings with the specified parameters. -// Parameters: -// resourceGroupName - name of the Resource group within the Azure subscription. -// frontDoorName - name of the Front Door which is globally unique. -// loadBalancingSettingsName - name of the load balancing settings which is unique within the Front Door. -func (client LoadBalancingSettingsClient) Delete(ctx context.Context, resourceGroupName string, frontDoorName string, loadBalancingSettingsName string) (result LoadBalancingSettingsDeleteFuture, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/LoadBalancingSettingsClient.Delete") - defer func() { - sc := -1 - if result.Response() != nil { - sc = result.Response().StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - if err := validation.Validate([]validation.Validation{ - {TargetValue: resourceGroupName, - Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 80, Chain: nil}, - {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9_\-\(\)\.]*[^\.]$`, Chain: nil}}}, - {TargetValue: frontDoorName, - Constraints: []validation.Constraint{{Target: "frontDoorName", Name: validation.MaxLength, Rule: 64, Chain: nil}, - {Target: "frontDoorName", Name: validation.MinLength, Rule: 5, Chain: nil}, - {Target: "frontDoorName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$`, Chain: nil}}}, - {TargetValue: loadBalancingSettingsName, - Constraints: []validation.Constraint{{Target: "loadBalancingSettingsName", Name: validation.MaxLength, Rule: 90, Chain: nil}, - {Target: "loadBalancingSettingsName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "loadBalancingSettingsName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$`, Chain: nil}}}}); err != nil { - return result, validation.NewError("frontdoor.LoadBalancingSettingsClient", "Delete", err.Error()) - } - - req, err := client.DeletePreparer(ctx, resourceGroupName, frontDoorName, loadBalancingSettingsName) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.LoadBalancingSettingsClient", "Delete", nil, "Failure preparing request") - return - } - - result, err = client.DeleteSender(req) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.LoadBalancingSettingsClient", "Delete", result.Response(), "Failure sending request") - return - } - - return -} - -// DeletePreparer prepares the Delete request. -func (client LoadBalancingSettingsClient) DeletePreparer(ctx context.Context, resourceGroupName string, frontDoorName string, loadBalancingSettingsName string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "frontDoorName": autorest.Encode("path", frontDoorName), - "loadBalancingSettingsName": autorest.Encode("path", loadBalancingSettingsName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2019-04-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsDelete(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/loadBalancingSettings/{loadBalancingSettingsName}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DeleteSender sends the Delete request. The method will close the -// http.Response Body if it receives an error. -func (client LoadBalancingSettingsClient) DeleteSender(req *http.Request) (future LoadBalancingSettingsDeleteFuture, err error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - var resp *http.Response - resp, err = autorest.SendWithSender(client, req, sd...) - if err != nil { - return - } - future.Future, err = azure.NewFutureFromResponse(resp) - return -} - -// DeleteResponder handles the response to the Delete request. The method always -// closes the http.Response Body. -func (client LoadBalancingSettingsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), - autorest.ByClosing()) - result.Response = resp - return -} - -// Get gets a LoadBalancingSettings with the specified Rule name within the specified Front Door. -// Parameters: -// resourceGroupName - name of the Resource group within the Azure subscription. -// frontDoorName - name of the Front Door which is globally unique. -// loadBalancingSettingsName - name of the load balancing settings which is unique within the Front Door. -func (client LoadBalancingSettingsClient) Get(ctx context.Context, resourceGroupName string, frontDoorName string, loadBalancingSettingsName string) (result LoadBalancingSettingsModel, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/LoadBalancingSettingsClient.Get") - defer func() { - sc := -1 - if result.Response.Response != nil { - sc = result.Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - if err := validation.Validate([]validation.Validation{ - {TargetValue: resourceGroupName, - Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 80, Chain: nil}, - {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9_\-\(\)\.]*[^\.]$`, Chain: nil}}}, - {TargetValue: frontDoorName, - Constraints: []validation.Constraint{{Target: "frontDoorName", Name: validation.MaxLength, Rule: 64, Chain: nil}, - {Target: "frontDoorName", Name: validation.MinLength, Rule: 5, Chain: nil}, - {Target: "frontDoorName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$`, Chain: nil}}}, - {TargetValue: loadBalancingSettingsName, - Constraints: []validation.Constraint{{Target: "loadBalancingSettingsName", Name: validation.MaxLength, Rule: 90, Chain: nil}, - {Target: "loadBalancingSettingsName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "loadBalancingSettingsName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$`, Chain: nil}}}}); err != nil { - return result, validation.NewError("frontdoor.LoadBalancingSettingsClient", "Get", err.Error()) - } - - req, err := client.GetPreparer(ctx, resourceGroupName, frontDoorName, loadBalancingSettingsName) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.LoadBalancingSettingsClient", "Get", nil, "Failure preparing request") - return - } - - resp, err := client.GetSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "frontdoor.LoadBalancingSettingsClient", "Get", resp, "Failure sending request") - return - } - - result, err = client.GetResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.LoadBalancingSettingsClient", "Get", resp, "Failure responding to request") - } - - return -} - -// GetPreparer prepares the Get request. -func (client LoadBalancingSettingsClient) GetPreparer(ctx context.Context, resourceGroupName string, frontDoorName string, loadBalancingSettingsName string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "frontDoorName": autorest.Encode("path", frontDoorName), - "loadBalancingSettingsName": autorest.Encode("path", loadBalancingSettingsName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2019-04-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/loadBalancingSettings/{loadBalancingSettingsName}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetSender sends the Get request. The method will close the -// http.Response Body if it receives an error. -func (client LoadBalancingSettingsClient) GetSender(req *http.Request) (*http.Response, error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - return autorest.SendWithSender(client, req, sd...) -} - -// GetResponder handles the response to the Get request. The method always -// closes the http.Response Body. -func (client LoadBalancingSettingsClient) GetResponder(resp *http.Response) (result LoadBalancingSettingsModel, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// ListByFrontDoor lists all of the LoadBalancingSettings within a Front Door. -// Parameters: -// resourceGroupName - name of the Resource group within the Azure subscription. -// frontDoorName - name of the Front Door which is globally unique. -func (client LoadBalancingSettingsClient) ListByFrontDoor(ctx context.Context, resourceGroupName string, frontDoorName string) (result LoadBalancingSettingsListResultPage, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/LoadBalancingSettingsClient.ListByFrontDoor") - defer func() { - sc := -1 - if result.lbslr.Response.Response != nil { - sc = result.lbslr.Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - if err := validation.Validate([]validation.Validation{ - {TargetValue: resourceGroupName, - Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 80, Chain: nil}, - {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9_\-\(\)\.]*[^\.]$`, Chain: nil}}}, - {TargetValue: frontDoorName, - Constraints: []validation.Constraint{{Target: "frontDoorName", Name: validation.MaxLength, Rule: 64, Chain: nil}, - {Target: "frontDoorName", Name: validation.MinLength, Rule: 5, Chain: nil}, - {Target: "frontDoorName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$`, Chain: nil}}}}); err != nil { - return result, validation.NewError("frontdoor.LoadBalancingSettingsClient", "ListByFrontDoor", err.Error()) - } - - result.fn = client.listByFrontDoorNextResults - req, err := client.ListByFrontDoorPreparer(ctx, resourceGroupName, frontDoorName) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.LoadBalancingSettingsClient", "ListByFrontDoor", nil, "Failure preparing request") - return - } - - resp, err := client.ListByFrontDoorSender(req) - if err != nil { - result.lbslr.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "frontdoor.LoadBalancingSettingsClient", "ListByFrontDoor", resp, "Failure sending request") - return - } - - result.lbslr, err = client.ListByFrontDoorResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.LoadBalancingSettingsClient", "ListByFrontDoor", resp, "Failure responding to request") - } - - return -} - -// ListByFrontDoorPreparer prepares the ListByFrontDoor request. -func (client LoadBalancingSettingsClient) ListByFrontDoorPreparer(ctx context.Context, resourceGroupName string, frontDoorName string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "frontDoorName": autorest.Encode("path", frontDoorName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2019-04-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/loadBalancingSettings", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListByFrontDoorSender sends the ListByFrontDoor request. The method will close the -// http.Response Body if it receives an error. -func (client LoadBalancingSettingsClient) ListByFrontDoorSender(req *http.Request) (*http.Response, error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - return autorest.SendWithSender(client, req, sd...) -} - -// ListByFrontDoorResponder handles the response to the ListByFrontDoor request. The method always -// closes the http.Response Body. -func (client LoadBalancingSettingsClient) ListByFrontDoorResponder(resp *http.Response) (result LoadBalancingSettingsListResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listByFrontDoorNextResults retrieves the next set of results, if any. -func (client LoadBalancingSettingsClient) listByFrontDoorNextResults(ctx context.Context, lastResults LoadBalancingSettingsListResult) (result LoadBalancingSettingsListResult, err error) { - req, err := lastResults.loadBalancingSettingsListResultPreparer(ctx) - if err != nil { - return result, autorest.NewErrorWithError(err, "frontdoor.LoadBalancingSettingsClient", "listByFrontDoorNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListByFrontDoorSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "frontdoor.LoadBalancingSettingsClient", "listByFrontDoorNextResults", resp, "Failure sending next results request") - } - result, err = client.ListByFrontDoorResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.LoadBalancingSettingsClient", "listByFrontDoorNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListByFrontDoorComplete enumerates all values, automatically crossing page boundaries as required. -func (client LoadBalancingSettingsClient) ListByFrontDoorComplete(ctx context.Context, resourceGroupName string, frontDoorName string) (result LoadBalancingSettingsListResultIterator, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/LoadBalancingSettingsClient.ListByFrontDoor") - defer func() { - sc := -1 - if result.Response().Response.Response != nil { - sc = result.page.Response().Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - result.page, err = client.ListByFrontDoor(ctx, resourceGroupName, frontDoorName) - return -} diff --git a/services/preview/frontdoor/mgmt/2019-04-01/frontdoor/routingrules.go b/services/preview/frontdoor/mgmt/2019-04-01/frontdoor/routingrules.go deleted file mode 100644 index 5ca30f744308..000000000000 --- a/services/preview/frontdoor/mgmt/2019-04-01/frontdoor/routingrules.go +++ /dev/null @@ -1,457 +0,0 @@ -package frontdoor - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/autorest/validation" - "github.com/Azure/go-autorest/tracing" - "net/http" -) - -// RoutingRulesClient is the frontDoor Client -type RoutingRulesClient struct { - BaseClient -} - -// NewRoutingRulesClient creates an instance of the RoutingRulesClient client. -func NewRoutingRulesClient(subscriptionID string) RoutingRulesClient { - return NewRoutingRulesClientWithBaseURI(DefaultBaseURI, subscriptionID) -} - -// NewRoutingRulesClientWithBaseURI creates an instance of the RoutingRulesClient client. -func NewRoutingRulesClientWithBaseURI(baseURI string, subscriptionID string) RoutingRulesClient { - return RoutingRulesClient{NewWithBaseURI(baseURI, subscriptionID)} -} - -// CreateOrUpdate creates a new Routing Rule with the specified Rule name within the specified Front Door. -// Parameters: -// resourceGroupName - name of the Resource group within the Azure subscription. -// frontDoorName - name of the Front Door which is globally unique. -// routingRuleName - name of the Routing Rule which is unique within the Front Door. -// routingRuleParameters - routing Rule properties needed to create a new Front Door. -func (client RoutingRulesClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, frontDoorName string, routingRuleName string, routingRuleParameters RoutingRule) (result RoutingRulesCreateOrUpdateFuture, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/RoutingRulesClient.CreateOrUpdate") - defer func() { - sc := -1 - if result.Response() != nil { - sc = result.Response().StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - if err := validation.Validate([]validation.Validation{ - {TargetValue: resourceGroupName, - Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 80, Chain: nil}, - {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9_\-\(\)\.]*[^\.]$`, Chain: nil}}}, - {TargetValue: frontDoorName, - Constraints: []validation.Constraint{{Target: "frontDoorName", Name: validation.MaxLength, Rule: 64, Chain: nil}, - {Target: "frontDoorName", Name: validation.MinLength, Rule: 5, Chain: nil}, - {Target: "frontDoorName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$`, Chain: nil}}}, - {TargetValue: routingRuleName, - Constraints: []validation.Constraint{{Target: "routingRuleName", Name: validation.MaxLength, Rule: 90, Chain: nil}, - {Target: "routingRuleName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "routingRuleName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$`, Chain: nil}}}}); err != nil { - return result, validation.NewError("frontdoor.RoutingRulesClient", "CreateOrUpdate", err.Error()) - } - - req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, frontDoorName, routingRuleName, routingRuleParameters) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.RoutingRulesClient", "CreateOrUpdate", nil, "Failure preparing request") - return - } - - result, err = client.CreateOrUpdateSender(req) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.RoutingRulesClient", "CreateOrUpdate", result.Response(), "Failure sending request") - return - } - - return -} - -// CreateOrUpdatePreparer prepares the CreateOrUpdate request. -func (client RoutingRulesClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, frontDoorName string, routingRuleName string, routingRuleParameters RoutingRule) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "frontDoorName": autorest.Encode("path", frontDoorName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "routingRuleName": autorest.Encode("path", routingRuleName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2019-04-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - routingRuleParameters.Type = nil - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; charset=utf-8"), - autorest.AsPut(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/routingRules/{routingRuleName}", pathParameters), - autorest.WithJSON(routingRuleParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the -// http.Response Body if it receives an error. -func (client RoutingRulesClient) CreateOrUpdateSender(req *http.Request) (future RoutingRulesCreateOrUpdateFuture, err error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - var resp *http.Response - resp, err = autorest.SendWithSender(client, req, sd...) - if err != nil { - return - } - future.Future, err = azure.NewFutureFromResponse(resp) - return -} - -// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always -// closes the http.Response Body. -func (client RoutingRulesClient) CreateOrUpdateResponder(resp *http.Response) (result RoutingRule, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated, http.StatusAccepted), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// Delete deletes an existing Routing Rule with the specified parameters. -// Parameters: -// resourceGroupName - name of the Resource group within the Azure subscription. -// frontDoorName - name of the Front Door which is globally unique. -// routingRuleName - name of the Routing Rule which is unique within the Front Door. -func (client RoutingRulesClient) Delete(ctx context.Context, resourceGroupName string, frontDoorName string, routingRuleName string) (result RoutingRulesDeleteFuture, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/RoutingRulesClient.Delete") - defer func() { - sc := -1 - if result.Response() != nil { - sc = result.Response().StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - if err := validation.Validate([]validation.Validation{ - {TargetValue: resourceGroupName, - Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 80, Chain: nil}, - {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9_\-\(\)\.]*[^\.]$`, Chain: nil}}}, - {TargetValue: frontDoorName, - Constraints: []validation.Constraint{{Target: "frontDoorName", Name: validation.MaxLength, Rule: 64, Chain: nil}, - {Target: "frontDoorName", Name: validation.MinLength, Rule: 5, Chain: nil}, - {Target: "frontDoorName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$`, Chain: nil}}}, - {TargetValue: routingRuleName, - Constraints: []validation.Constraint{{Target: "routingRuleName", Name: validation.MaxLength, Rule: 90, Chain: nil}, - {Target: "routingRuleName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "routingRuleName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$`, Chain: nil}}}}); err != nil { - return result, validation.NewError("frontdoor.RoutingRulesClient", "Delete", err.Error()) - } - - req, err := client.DeletePreparer(ctx, resourceGroupName, frontDoorName, routingRuleName) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.RoutingRulesClient", "Delete", nil, "Failure preparing request") - return - } - - result, err = client.DeleteSender(req) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.RoutingRulesClient", "Delete", result.Response(), "Failure sending request") - return - } - - return -} - -// DeletePreparer prepares the Delete request. -func (client RoutingRulesClient) DeletePreparer(ctx context.Context, resourceGroupName string, frontDoorName string, routingRuleName string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "frontDoorName": autorest.Encode("path", frontDoorName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "routingRuleName": autorest.Encode("path", routingRuleName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2019-04-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsDelete(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/routingRules/{routingRuleName}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DeleteSender sends the Delete request. The method will close the -// http.Response Body if it receives an error. -func (client RoutingRulesClient) DeleteSender(req *http.Request) (future RoutingRulesDeleteFuture, err error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - var resp *http.Response - resp, err = autorest.SendWithSender(client, req, sd...) - if err != nil { - return - } - future.Future, err = azure.NewFutureFromResponse(resp) - return -} - -// DeleteResponder handles the response to the Delete request. The method always -// closes the http.Response Body. -func (client RoutingRulesClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), - autorest.ByClosing()) - result.Response = resp - return -} - -// Get gets a Routing Rule with the specified Rule name within the specified Front Door. -// Parameters: -// resourceGroupName - name of the Resource group within the Azure subscription. -// frontDoorName - name of the Front Door which is globally unique. -// routingRuleName - name of the Routing Rule which is unique within the Front Door. -func (client RoutingRulesClient) Get(ctx context.Context, resourceGroupName string, frontDoorName string, routingRuleName string) (result RoutingRule, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/RoutingRulesClient.Get") - defer func() { - sc := -1 - if result.Response.Response != nil { - sc = result.Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - if err := validation.Validate([]validation.Validation{ - {TargetValue: resourceGroupName, - Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 80, Chain: nil}, - {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9_\-\(\)\.]*[^\.]$`, Chain: nil}}}, - {TargetValue: frontDoorName, - Constraints: []validation.Constraint{{Target: "frontDoorName", Name: validation.MaxLength, Rule: 64, Chain: nil}, - {Target: "frontDoorName", Name: validation.MinLength, Rule: 5, Chain: nil}, - {Target: "frontDoorName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$`, Chain: nil}}}, - {TargetValue: routingRuleName, - Constraints: []validation.Constraint{{Target: "routingRuleName", Name: validation.MaxLength, Rule: 90, Chain: nil}, - {Target: "routingRuleName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "routingRuleName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$`, Chain: nil}}}}); err != nil { - return result, validation.NewError("frontdoor.RoutingRulesClient", "Get", err.Error()) - } - - req, err := client.GetPreparer(ctx, resourceGroupName, frontDoorName, routingRuleName) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.RoutingRulesClient", "Get", nil, "Failure preparing request") - return - } - - resp, err := client.GetSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "frontdoor.RoutingRulesClient", "Get", resp, "Failure sending request") - return - } - - result, err = client.GetResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.RoutingRulesClient", "Get", resp, "Failure responding to request") - } - - return -} - -// GetPreparer prepares the Get request. -func (client RoutingRulesClient) GetPreparer(ctx context.Context, resourceGroupName string, frontDoorName string, routingRuleName string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "frontDoorName": autorest.Encode("path", frontDoorName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "routingRuleName": autorest.Encode("path", routingRuleName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2019-04-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/routingRules/{routingRuleName}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetSender sends the Get request. The method will close the -// http.Response Body if it receives an error. -func (client RoutingRulesClient) GetSender(req *http.Request) (*http.Response, error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - return autorest.SendWithSender(client, req, sd...) -} - -// GetResponder handles the response to the Get request. The method always -// closes the http.Response Body. -func (client RoutingRulesClient) GetResponder(resp *http.Response) (result RoutingRule, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// ListByFrontDoor lists all of the Routing Rules within a Front Door. -// Parameters: -// resourceGroupName - name of the Resource group within the Azure subscription. -// frontDoorName - name of the Front Door which is globally unique. -func (client RoutingRulesClient) ListByFrontDoor(ctx context.Context, resourceGroupName string, frontDoorName string) (result RoutingRuleListResultPage, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/RoutingRulesClient.ListByFrontDoor") - defer func() { - sc := -1 - if result.rrlr.Response.Response != nil { - sc = result.rrlr.Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - if err := validation.Validate([]validation.Validation{ - {TargetValue: resourceGroupName, - Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 80, Chain: nil}, - {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9_\-\(\)\.]*[^\.]$`, Chain: nil}}}, - {TargetValue: frontDoorName, - Constraints: []validation.Constraint{{Target: "frontDoorName", Name: validation.MaxLength, Rule: 64, Chain: nil}, - {Target: "frontDoorName", Name: validation.MinLength, Rule: 5, Chain: nil}, - {Target: "frontDoorName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$`, Chain: nil}}}}); err != nil { - return result, validation.NewError("frontdoor.RoutingRulesClient", "ListByFrontDoor", err.Error()) - } - - result.fn = client.listByFrontDoorNextResults - req, err := client.ListByFrontDoorPreparer(ctx, resourceGroupName, frontDoorName) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.RoutingRulesClient", "ListByFrontDoor", nil, "Failure preparing request") - return - } - - resp, err := client.ListByFrontDoorSender(req) - if err != nil { - result.rrlr.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "frontdoor.RoutingRulesClient", "ListByFrontDoor", resp, "Failure sending request") - return - } - - result.rrlr, err = client.ListByFrontDoorResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.RoutingRulesClient", "ListByFrontDoor", resp, "Failure responding to request") - } - - return -} - -// ListByFrontDoorPreparer prepares the ListByFrontDoor request. -func (client RoutingRulesClient) ListByFrontDoorPreparer(ctx context.Context, resourceGroupName string, frontDoorName string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "frontDoorName": autorest.Encode("path", frontDoorName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2019-04-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/routingRules", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListByFrontDoorSender sends the ListByFrontDoor request. The method will close the -// http.Response Body if it receives an error. -func (client RoutingRulesClient) ListByFrontDoorSender(req *http.Request) (*http.Response, error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - return autorest.SendWithSender(client, req, sd...) -} - -// ListByFrontDoorResponder handles the response to the ListByFrontDoor request. The method always -// closes the http.Response Body. -func (client RoutingRulesClient) ListByFrontDoorResponder(resp *http.Response) (result RoutingRuleListResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listByFrontDoorNextResults retrieves the next set of results, if any. -func (client RoutingRulesClient) listByFrontDoorNextResults(ctx context.Context, lastResults RoutingRuleListResult) (result RoutingRuleListResult, err error) { - req, err := lastResults.routingRuleListResultPreparer(ctx) - if err != nil { - return result, autorest.NewErrorWithError(err, "frontdoor.RoutingRulesClient", "listByFrontDoorNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListByFrontDoorSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "frontdoor.RoutingRulesClient", "listByFrontDoorNextResults", resp, "Failure sending next results request") - } - result, err = client.ListByFrontDoorResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.RoutingRulesClient", "listByFrontDoorNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListByFrontDoorComplete enumerates all values, automatically crossing page boundaries as required. -func (client RoutingRulesClient) ListByFrontDoorComplete(ctx context.Context, resourceGroupName string, frontDoorName string) (result RoutingRuleListResultIterator, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/RoutingRulesClient.ListByFrontDoor") - defer func() { - sc := -1 - if result.Response().Response.Response != nil { - sc = result.page.Response().Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - result.page, err = client.ListByFrontDoor(ctx, resourceGroupName, frontDoorName) - return -} diff --git a/services/preview/frontdoor/mgmt/2019-05-01/frontdoor/backendpools.go b/services/preview/frontdoor/mgmt/2019-05-01/frontdoor/backendpools.go deleted file mode 100644 index e31544da40d5..000000000000 --- a/services/preview/frontdoor/mgmt/2019-05-01/frontdoor/backendpools.go +++ /dev/null @@ -1,457 +0,0 @@ -package frontdoor - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/autorest/validation" - "github.com/Azure/go-autorest/tracing" - "net/http" -) - -// BackendPoolsClient is the frontDoor Client -type BackendPoolsClient struct { - BaseClient -} - -// NewBackendPoolsClient creates an instance of the BackendPoolsClient client. -func NewBackendPoolsClient(subscriptionID string) BackendPoolsClient { - return NewBackendPoolsClientWithBaseURI(DefaultBaseURI, subscriptionID) -} - -// NewBackendPoolsClientWithBaseURI creates an instance of the BackendPoolsClient client. -func NewBackendPoolsClientWithBaseURI(baseURI string, subscriptionID string) BackendPoolsClient { - return BackendPoolsClient{NewWithBaseURI(baseURI, subscriptionID)} -} - -// CreateOrUpdate creates a new Backend Pool with the specified Pool name within the specified Front Door. -// Parameters: -// resourceGroupName - name of the Resource group within the Azure subscription. -// frontDoorName - name of the Front Door which is globally unique. -// backendPoolName - name of the Backend Pool which is unique within the Front Door. -// backendPoolParameters - backend Pool properties needed to create a new Pool. -func (client BackendPoolsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, frontDoorName string, backendPoolName string, backendPoolParameters BackendPool) (result BackendPoolsCreateOrUpdateFuture, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/BackendPoolsClient.CreateOrUpdate") - defer func() { - sc := -1 - if result.Response() != nil { - sc = result.Response().StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - if err := validation.Validate([]validation.Validation{ - {TargetValue: resourceGroupName, - Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 80, Chain: nil}, - {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9_\-\(\)\.]*[^\.]$`, Chain: nil}}}, - {TargetValue: frontDoorName, - Constraints: []validation.Constraint{{Target: "frontDoorName", Name: validation.MaxLength, Rule: 64, Chain: nil}, - {Target: "frontDoorName", Name: validation.MinLength, Rule: 5, Chain: nil}, - {Target: "frontDoorName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$`, Chain: nil}}}, - {TargetValue: backendPoolName, - Constraints: []validation.Constraint{{Target: "backendPoolName", Name: validation.MaxLength, Rule: 90, Chain: nil}, - {Target: "backendPoolName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "backendPoolName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$`, Chain: nil}}}}); err != nil { - return result, validation.NewError("frontdoor.BackendPoolsClient", "CreateOrUpdate", err.Error()) - } - - req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, frontDoorName, backendPoolName, backendPoolParameters) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.BackendPoolsClient", "CreateOrUpdate", nil, "Failure preparing request") - return - } - - result, err = client.CreateOrUpdateSender(req) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.BackendPoolsClient", "CreateOrUpdate", result.Response(), "Failure sending request") - return - } - - return -} - -// CreateOrUpdatePreparer prepares the CreateOrUpdate request. -func (client BackendPoolsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, frontDoorName string, backendPoolName string, backendPoolParameters BackendPool) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "backendPoolName": autorest.Encode("path", backendPoolName), - "frontDoorName": autorest.Encode("path", frontDoorName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2019-05-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - backendPoolParameters.Type = nil - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; charset=utf-8"), - autorest.AsPut(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/backendPools/{backendPoolName}", pathParameters), - autorest.WithJSON(backendPoolParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the -// http.Response Body if it receives an error. -func (client BackendPoolsClient) CreateOrUpdateSender(req *http.Request) (future BackendPoolsCreateOrUpdateFuture, err error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - var resp *http.Response - resp, err = autorest.SendWithSender(client, req, sd...) - if err != nil { - return - } - future.Future, err = azure.NewFutureFromResponse(resp) - return -} - -// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always -// closes the http.Response Body. -func (client BackendPoolsClient) CreateOrUpdateResponder(resp *http.Response) (result BackendPool, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated, http.StatusAccepted), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// Delete deletes an existing Backend Pool with the specified parameters. -// Parameters: -// resourceGroupName - name of the Resource group within the Azure subscription. -// frontDoorName - name of the Front Door which is globally unique. -// backendPoolName - name of the Backend Pool which is unique within the Front Door. -func (client BackendPoolsClient) Delete(ctx context.Context, resourceGroupName string, frontDoorName string, backendPoolName string) (result BackendPoolsDeleteFuture, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/BackendPoolsClient.Delete") - defer func() { - sc := -1 - if result.Response() != nil { - sc = result.Response().StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - if err := validation.Validate([]validation.Validation{ - {TargetValue: resourceGroupName, - Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 80, Chain: nil}, - {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9_\-\(\)\.]*[^\.]$`, Chain: nil}}}, - {TargetValue: frontDoorName, - Constraints: []validation.Constraint{{Target: "frontDoorName", Name: validation.MaxLength, Rule: 64, Chain: nil}, - {Target: "frontDoorName", Name: validation.MinLength, Rule: 5, Chain: nil}, - {Target: "frontDoorName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$`, Chain: nil}}}, - {TargetValue: backendPoolName, - Constraints: []validation.Constraint{{Target: "backendPoolName", Name: validation.MaxLength, Rule: 90, Chain: nil}, - {Target: "backendPoolName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "backendPoolName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$`, Chain: nil}}}}); err != nil { - return result, validation.NewError("frontdoor.BackendPoolsClient", "Delete", err.Error()) - } - - req, err := client.DeletePreparer(ctx, resourceGroupName, frontDoorName, backendPoolName) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.BackendPoolsClient", "Delete", nil, "Failure preparing request") - return - } - - result, err = client.DeleteSender(req) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.BackendPoolsClient", "Delete", result.Response(), "Failure sending request") - return - } - - return -} - -// DeletePreparer prepares the Delete request. -func (client BackendPoolsClient) DeletePreparer(ctx context.Context, resourceGroupName string, frontDoorName string, backendPoolName string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "backendPoolName": autorest.Encode("path", backendPoolName), - "frontDoorName": autorest.Encode("path", frontDoorName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2019-05-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsDelete(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/backendPools/{backendPoolName}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DeleteSender sends the Delete request. The method will close the -// http.Response Body if it receives an error. -func (client BackendPoolsClient) DeleteSender(req *http.Request) (future BackendPoolsDeleteFuture, err error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - var resp *http.Response - resp, err = autorest.SendWithSender(client, req, sd...) - if err != nil { - return - } - future.Future, err = azure.NewFutureFromResponse(resp) - return -} - -// DeleteResponder handles the response to the Delete request. The method always -// closes the http.Response Body. -func (client BackendPoolsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), - autorest.ByClosing()) - result.Response = resp - return -} - -// Get gets a Backend Pool with the specified Pool name within the specified Front Door. -// Parameters: -// resourceGroupName - name of the Resource group within the Azure subscription. -// frontDoorName - name of the Front Door which is globally unique. -// backendPoolName - name of the Backend Pool which is unique within the Front Door. -func (client BackendPoolsClient) Get(ctx context.Context, resourceGroupName string, frontDoorName string, backendPoolName string) (result BackendPool, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/BackendPoolsClient.Get") - defer func() { - sc := -1 - if result.Response.Response != nil { - sc = result.Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - if err := validation.Validate([]validation.Validation{ - {TargetValue: resourceGroupName, - Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 80, Chain: nil}, - {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9_\-\(\)\.]*[^\.]$`, Chain: nil}}}, - {TargetValue: frontDoorName, - Constraints: []validation.Constraint{{Target: "frontDoorName", Name: validation.MaxLength, Rule: 64, Chain: nil}, - {Target: "frontDoorName", Name: validation.MinLength, Rule: 5, Chain: nil}, - {Target: "frontDoorName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$`, Chain: nil}}}, - {TargetValue: backendPoolName, - Constraints: []validation.Constraint{{Target: "backendPoolName", Name: validation.MaxLength, Rule: 90, Chain: nil}, - {Target: "backendPoolName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "backendPoolName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$`, Chain: nil}}}}); err != nil { - return result, validation.NewError("frontdoor.BackendPoolsClient", "Get", err.Error()) - } - - req, err := client.GetPreparer(ctx, resourceGroupName, frontDoorName, backendPoolName) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.BackendPoolsClient", "Get", nil, "Failure preparing request") - return - } - - resp, err := client.GetSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "frontdoor.BackendPoolsClient", "Get", resp, "Failure sending request") - return - } - - result, err = client.GetResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.BackendPoolsClient", "Get", resp, "Failure responding to request") - } - - return -} - -// GetPreparer prepares the Get request. -func (client BackendPoolsClient) GetPreparer(ctx context.Context, resourceGroupName string, frontDoorName string, backendPoolName string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "backendPoolName": autorest.Encode("path", backendPoolName), - "frontDoorName": autorest.Encode("path", frontDoorName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2019-05-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/backendPools/{backendPoolName}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetSender sends the Get request. The method will close the -// http.Response Body if it receives an error. -func (client BackendPoolsClient) GetSender(req *http.Request) (*http.Response, error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - return autorest.SendWithSender(client, req, sd...) -} - -// GetResponder handles the response to the Get request. The method always -// closes the http.Response Body. -func (client BackendPoolsClient) GetResponder(resp *http.Response) (result BackendPool, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// ListByFrontDoor lists all of the Backend Pools within a Front Door. -// Parameters: -// resourceGroupName - name of the Resource group within the Azure subscription. -// frontDoorName - name of the Front Door which is globally unique. -func (client BackendPoolsClient) ListByFrontDoor(ctx context.Context, resourceGroupName string, frontDoorName string) (result BackendPoolListResultPage, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/BackendPoolsClient.ListByFrontDoor") - defer func() { - sc := -1 - if result.bplr.Response.Response != nil { - sc = result.bplr.Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - if err := validation.Validate([]validation.Validation{ - {TargetValue: resourceGroupName, - Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 80, Chain: nil}, - {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9_\-\(\)\.]*[^\.]$`, Chain: nil}}}, - {TargetValue: frontDoorName, - Constraints: []validation.Constraint{{Target: "frontDoorName", Name: validation.MaxLength, Rule: 64, Chain: nil}, - {Target: "frontDoorName", Name: validation.MinLength, Rule: 5, Chain: nil}, - {Target: "frontDoorName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$`, Chain: nil}}}}); err != nil { - return result, validation.NewError("frontdoor.BackendPoolsClient", "ListByFrontDoor", err.Error()) - } - - result.fn = client.listByFrontDoorNextResults - req, err := client.ListByFrontDoorPreparer(ctx, resourceGroupName, frontDoorName) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.BackendPoolsClient", "ListByFrontDoor", nil, "Failure preparing request") - return - } - - resp, err := client.ListByFrontDoorSender(req) - if err != nil { - result.bplr.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "frontdoor.BackendPoolsClient", "ListByFrontDoor", resp, "Failure sending request") - return - } - - result.bplr, err = client.ListByFrontDoorResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.BackendPoolsClient", "ListByFrontDoor", resp, "Failure responding to request") - } - - return -} - -// ListByFrontDoorPreparer prepares the ListByFrontDoor request. -func (client BackendPoolsClient) ListByFrontDoorPreparer(ctx context.Context, resourceGroupName string, frontDoorName string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "frontDoorName": autorest.Encode("path", frontDoorName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2019-05-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/backendPools", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListByFrontDoorSender sends the ListByFrontDoor request. The method will close the -// http.Response Body if it receives an error. -func (client BackendPoolsClient) ListByFrontDoorSender(req *http.Request) (*http.Response, error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - return autorest.SendWithSender(client, req, sd...) -} - -// ListByFrontDoorResponder handles the response to the ListByFrontDoor request. The method always -// closes the http.Response Body. -func (client BackendPoolsClient) ListByFrontDoorResponder(resp *http.Response) (result BackendPoolListResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listByFrontDoorNextResults retrieves the next set of results, if any. -func (client BackendPoolsClient) listByFrontDoorNextResults(ctx context.Context, lastResults BackendPoolListResult) (result BackendPoolListResult, err error) { - req, err := lastResults.backendPoolListResultPreparer(ctx) - if err != nil { - return result, autorest.NewErrorWithError(err, "frontdoor.BackendPoolsClient", "listByFrontDoorNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListByFrontDoorSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "frontdoor.BackendPoolsClient", "listByFrontDoorNextResults", resp, "Failure sending next results request") - } - result, err = client.ListByFrontDoorResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.BackendPoolsClient", "listByFrontDoorNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListByFrontDoorComplete enumerates all values, automatically crossing page boundaries as required. -func (client BackendPoolsClient) ListByFrontDoorComplete(ctx context.Context, resourceGroupName string, frontDoorName string) (result BackendPoolListResultIterator, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/BackendPoolsClient.ListByFrontDoor") - defer func() { - sc := -1 - if result.Response().Response.Response != nil { - sc = result.page.Response().Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - result.page, err = client.ListByFrontDoor(ctx, resourceGroupName, frontDoorName) - return -} diff --git a/services/preview/frontdoor/mgmt/2019-05-01/frontdoor/healthprobesettings.go b/services/preview/frontdoor/mgmt/2019-05-01/frontdoor/healthprobesettings.go deleted file mode 100644 index 3174cd47a673..000000000000 --- a/services/preview/frontdoor/mgmt/2019-05-01/frontdoor/healthprobesettings.go +++ /dev/null @@ -1,457 +0,0 @@ -package frontdoor - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/autorest/validation" - "github.com/Azure/go-autorest/tracing" - "net/http" -) - -// HealthProbeSettingsClient is the frontDoor Client -type HealthProbeSettingsClient struct { - BaseClient -} - -// NewHealthProbeSettingsClient creates an instance of the HealthProbeSettingsClient client. -func NewHealthProbeSettingsClient(subscriptionID string) HealthProbeSettingsClient { - return NewHealthProbeSettingsClientWithBaseURI(DefaultBaseURI, subscriptionID) -} - -// NewHealthProbeSettingsClientWithBaseURI creates an instance of the HealthProbeSettingsClient client. -func NewHealthProbeSettingsClientWithBaseURI(baseURI string, subscriptionID string) HealthProbeSettingsClient { - return HealthProbeSettingsClient{NewWithBaseURI(baseURI, subscriptionID)} -} - -// CreateOrUpdate creates a new HealthProbeSettings with the specified Rule name within the specified Front Door. -// Parameters: -// resourceGroupName - name of the Resource group within the Azure subscription. -// frontDoorName - name of the Front Door which is globally unique. -// healthProbeSettingsName - name of the health probe settings which is unique within the Front Door. -// healthProbeSettingsParameters - healthProbeSettings properties needed to create a new Front Door. -func (client HealthProbeSettingsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, frontDoorName string, healthProbeSettingsName string, healthProbeSettingsParameters HealthProbeSettingsModel) (result HealthProbeSettingsCreateOrUpdateFuture, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/HealthProbeSettingsClient.CreateOrUpdate") - defer func() { - sc := -1 - if result.Response() != nil { - sc = result.Response().StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - if err := validation.Validate([]validation.Validation{ - {TargetValue: resourceGroupName, - Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 80, Chain: nil}, - {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9_\-\(\)\.]*[^\.]$`, Chain: nil}}}, - {TargetValue: frontDoorName, - Constraints: []validation.Constraint{{Target: "frontDoorName", Name: validation.MaxLength, Rule: 64, Chain: nil}, - {Target: "frontDoorName", Name: validation.MinLength, Rule: 5, Chain: nil}, - {Target: "frontDoorName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$`, Chain: nil}}}, - {TargetValue: healthProbeSettingsName, - Constraints: []validation.Constraint{{Target: "healthProbeSettingsName", Name: validation.MaxLength, Rule: 90, Chain: nil}, - {Target: "healthProbeSettingsName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "healthProbeSettingsName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$`, Chain: nil}}}}); err != nil { - return result, validation.NewError("frontdoor.HealthProbeSettingsClient", "CreateOrUpdate", err.Error()) - } - - req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, frontDoorName, healthProbeSettingsName, healthProbeSettingsParameters) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.HealthProbeSettingsClient", "CreateOrUpdate", nil, "Failure preparing request") - return - } - - result, err = client.CreateOrUpdateSender(req) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.HealthProbeSettingsClient", "CreateOrUpdate", result.Response(), "Failure sending request") - return - } - - return -} - -// CreateOrUpdatePreparer prepares the CreateOrUpdate request. -func (client HealthProbeSettingsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, frontDoorName string, healthProbeSettingsName string, healthProbeSettingsParameters HealthProbeSettingsModel) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "frontDoorName": autorest.Encode("path", frontDoorName), - "healthProbeSettingsName": autorest.Encode("path", healthProbeSettingsName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2019-05-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - healthProbeSettingsParameters.Type = nil - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; charset=utf-8"), - autorest.AsPut(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/healthProbeSettings/{healthProbeSettingsName}", pathParameters), - autorest.WithJSON(healthProbeSettingsParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the -// http.Response Body if it receives an error. -func (client HealthProbeSettingsClient) CreateOrUpdateSender(req *http.Request) (future HealthProbeSettingsCreateOrUpdateFuture, err error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - var resp *http.Response - resp, err = autorest.SendWithSender(client, req, sd...) - if err != nil { - return - } - future.Future, err = azure.NewFutureFromResponse(resp) - return -} - -// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always -// closes the http.Response Body. -func (client HealthProbeSettingsClient) CreateOrUpdateResponder(resp *http.Response) (result HealthProbeSettingsModel, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated, http.StatusAccepted), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// Delete deletes an existing HealthProbeSettings with the specified parameters. -// Parameters: -// resourceGroupName - name of the Resource group within the Azure subscription. -// frontDoorName - name of the Front Door which is globally unique. -// healthProbeSettingsName - name of the health probe settings which is unique within the Front Door. -func (client HealthProbeSettingsClient) Delete(ctx context.Context, resourceGroupName string, frontDoorName string, healthProbeSettingsName string) (result HealthProbeSettingsDeleteFuture, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/HealthProbeSettingsClient.Delete") - defer func() { - sc := -1 - if result.Response() != nil { - sc = result.Response().StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - if err := validation.Validate([]validation.Validation{ - {TargetValue: resourceGroupName, - Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 80, Chain: nil}, - {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9_\-\(\)\.]*[^\.]$`, Chain: nil}}}, - {TargetValue: frontDoorName, - Constraints: []validation.Constraint{{Target: "frontDoorName", Name: validation.MaxLength, Rule: 64, Chain: nil}, - {Target: "frontDoorName", Name: validation.MinLength, Rule: 5, Chain: nil}, - {Target: "frontDoorName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$`, Chain: nil}}}, - {TargetValue: healthProbeSettingsName, - Constraints: []validation.Constraint{{Target: "healthProbeSettingsName", Name: validation.MaxLength, Rule: 90, Chain: nil}, - {Target: "healthProbeSettingsName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "healthProbeSettingsName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$`, Chain: nil}}}}); err != nil { - return result, validation.NewError("frontdoor.HealthProbeSettingsClient", "Delete", err.Error()) - } - - req, err := client.DeletePreparer(ctx, resourceGroupName, frontDoorName, healthProbeSettingsName) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.HealthProbeSettingsClient", "Delete", nil, "Failure preparing request") - return - } - - result, err = client.DeleteSender(req) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.HealthProbeSettingsClient", "Delete", result.Response(), "Failure sending request") - return - } - - return -} - -// DeletePreparer prepares the Delete request. -func (client HealthProbeSettingsClient) DeletePreparer(ctx context.Context, resourceGroupName string, frontDoorName string, healthProbeSettingsName string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "frontDoorName": autorest.Encode("path", frontDoorName), - "healthProbeSettingsName": autorest.Encode("path", healthProbeSettingsName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2019-05-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsDelete(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/healthProbeSettings/{healthProbeSettingsName}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DeleteSender sends the Delete request. The method will close the -// http.Response Body if it receives an error. -func (client HealthProbeSettingsClient) DeleteSender(req *http.Request) (future HealthProbeSettingsDeleteFuture, err error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - var resp *http.Response - resp, err = autorest.SendWithSender(client, req, sd...) - if err != nil { - return - } - future.Future, err = azure.NewFutureFromResponse(resp) - return -} - -// DeleteResponder handles the response to the Delete request. The method always -// closes the http.Response Body. -func (client HealthProbeSettingsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), - autorest.ByClosing()) - result.Response = resp - return -} - -// Get gets a HealthProbeSettings with the specified Rule name within the specified Front Door. -// Parameters: -// resourceGroupName - name of the Resource group within the Azure subscription. -// frontDoorName - name of the Front Door which is globally unique. -// healthProbeSettingsName - name of the health probe settings which is unique within the Front Door. -func (client HealthProbeSettingsClient) Get(ctx context.Context, resourceGroupName string, frontDoorName string, healthProbeSettingsName string) (result HealthProbeSettingsModel, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/HealthProbeSettingsClient.Get") - defer func() { - sc := -1 - if result.Response.Response != nil { - sc = result.Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - if err := validation.Validate([]validation.Validation{ - {TargetValue: resourceGroupName, - Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 80, Chain: nil}, - {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9_\-\(\)\.]*[^\.]$`, Chain: nil}}}, - {TargetValue: frontDoorName, - Constraints: []validation.Constraint{{Target: "frontDoorName", Name: validation.MaxLength, Rule: 64, Chain: nil}, - {Target: "frontDoorName", Name: validation.MinLength, Rule: 5, Chain: nil}, - {Target: "frontDoorName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$`, Chain: nil}}}, - {TargetValue: healthProbeSettingsName, - Constraints: []validation.Constraint{{Target: "healthProbeSettingsName", Name: validation.MaxLength, Rule: 90, Chain: nil}, - {Target: "healthProbeSettingsName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "healthProbeSettingsName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$`, Chain: nil}}}}); err != nil { - return result, validation.NewError("frontdoor.HealthProbeSettingsClient", "Get", err.Error()) - } - - req, err := client.GetPreparer(ctx, resourceGroupName, frontDoorName, healthProbeSettingsName) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.HealthProbeSettingsClient", "Get", nil, "Failure preparing request") - return - } - - resp, err := client.GetSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "frontdoor.HealthProbeSettingsClient", "Get", resp, "Failure sending request") - return - } - - result, err = client.GetResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.HealthProbeSettingsClient", "Get", resp, "Failure responding to request") - } - - return -} - -// GetPreparer prepares the Get request. -func (client HealthProbeSettingsClient) GetPreparer(ctx context.Context, resourceGroupName string, frontDoorName string, healthProbeSettingsName string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "frontDoorName": autorest.Encode("path", frontDoorName), - "healthProbeSettingsName": autorest.Encode("path", healthProbeSettingsName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2019-05-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/healthProbeSettings/{healthProbeSettingsName}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetSender sends the Get request. The method will close the -// http.Response Body if it receives an error. -func (client HealthProbeSettingsClient) GetSender(req *http.Request) (*http.Response, error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - return autorest.SendWithSender(client, req, sd...) -} - -// GetResponder handles the response to the Get request. The method always -// closes the http.Response Body. -func (client HealthProbeSettingsClient) GetResponder(resp *http.Response) (result HealthProbeSettingsModel, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// ListByFrontDoor lists all of the HealthProbeSettings within a Front Door. -// Parameters: -// resourceGroupName - name of the Resource group within the Azure subscription. -// frontDoorName - name of the Front Door which is globally unique. -func (client HealthProbeSettingsClient) ListByFrontDoor(ctx context.Context, resourceGroupName string, frontDoorName string) (result HealthProbeSettingsListResultPage, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/HealthProbeSettingsClient.ListByFrontDoor") - defer func() { - sc := -1 - if result.hpslr.Response.Response != nil { - sc = result.hpslr.Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - if err := validation.Validate([]validation.Validation{ - {TargetValue: resourceGroupName, - Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 80, Chain: nil}, - {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9_\-\(\)\.]*[^\.]$`, Chain: nil}}}, - {TargetValue: frontDoorName, - Constraints: []validation.Constraint{{Target: "frontDoorName", Name: validation.MaxLength, Rule: 64, Chain: nil}, - {Target: "frontDoorName", Name: validation.MinLength, Rule: 5, Chain: nil}, - {Target: "frontDoorName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$`, Chain: nil}}}}); err != nil { - return result, validation.NewError("frontdoor.HealthProbeSettingsClient", "ListByFrontDoor", err.Error()) - } - - result.fn = client.listByFrontDoorNextResults - req, err := client.ListByFrontDoorPreparer(ctx, resourceGroupName, frontDoorName) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.HealthProbeSettingsClient", "ListByFrontDoor", nil, "Failure preparing request") - return - } - - resp, err := client.ListByFrontDoorSender(req) - if err != nil { - result.hpslr.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "frontdoor.HealthProbeSettingsClient", "ListByFrontDoor", resp, "Failure sending request") - return - } - - result.hpslr, err = client.ListByFrontDoorResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.HealthProbeSettingsClient", "ListByFrontDoor", resp, "Failure responding to request") - } - - return -} - -// ListByFrontDoorPreparer prepares the ListByFrontDoor request. -func (client HealthProbeSettingsClient) ListByFrontDoorPreparer(ctx context.Context, resourceGroupName string, frontDoorName string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "frontDoorName": autorest.Encode("path", frontDoorName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2019-05-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/healthProbeSettings", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListByFrontDoorSender sends the ListByFrontDoor request. The method will close the -// http.Response Body if it receives an error. -func (client HealthProbeSettingsClient) ListByFrontDoorSender(req *http.Request) (*http.Response, error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - return autorest.SendWithSender(client, req, sd...) -} - -// ListByFrontDoorResponder handles the response to the ListByFrontDoor request. The method always -// closes the http.Response Body. -func (client HealthProbeSettingsClient) ListByFrontDoorResponder(resp *http.Response) (result HealthProbeSettingsListResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listByFrontDoorNextResults retrieves the next set of results, if any. -func (client HealthProbeSettingsClient) listByFrontDoorNextResults(ctx context.Context, lastResults HealthProbeSettingsListResult) (result HealthProbeSettingsListResult, err error) { - req, err := lastResults.healthProbeSettingsListResultPreparer(ctx) - if err != nil { - return result, autorest.NewErrorWithError(err, "frontdoor.HealthProbeSettingsClient", "listByFrontDoorNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListByFrontDoorSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "frontdoor.HealthProbeSettingsClient", "listByFrontDoorNextResults", resp, "Failure sending next results request") - } - result, err = client.ListByFrontDoorResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.HealthProbeSettingsClient", "listByFrontDoorNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListByFrontDoorComplete enumerates all values, automatically crossing page boundaries as required. -func (client HealthProbeSettingsClient) ListByFrontDoorComplete(ctx context.Context, resourceGroupName string, frontDoorName string) (result HealthProbeSettingsListResultIterator, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/HealthProbeSettingsClient.ListByFrontDoor") - defer func() { - sc := -1 - if result.Response().Response.Response != nil { - sc = result.page.Response().Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - result.page, err = client.ListByFrontDoor(ctx, resourceGroupName, frontDoorName) - return -} diff --git a/services/preview/frontdoor/mgmt/2019-05-01/frontdoor/loadbalancingsettings.go b/services/preview/frontdoor/mgmt/2019-05-01/frontdoor/loadbalancingsettings.go deleted file mode 100644 index 7068baf3e4f3..000000000000 --- a/services/preview/frontdoor/mgmt/2019-05-01/frontdoor/loadbalancingsettings.go +++ /dev/null @@ -1,457 +0,0 @@ -package frontdoor - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/autorest/validation" - "github.com/Azure/go-autorest/tracing" - "net/http" -) - -// LoadBalancingSettingsClient is the frontDoor Client -type LoadBalancingSettingsClient struct { - BaseClient -} - -// NewLoadBalancingSettingsClient creates an instance of the LoadBalancingSettingsClient client. -func NewLoadBalancingSettingsClient(subscriptionID string) LoadBalancingSettingsClient { - return NewLoadBalancingSettingsClientWithBaseURI(DefaultBaseURI, subscriptionID) -} - -// NewLoadBalancingSettingsClientWithBaseURI creates an instance of the LoadBalancingSettingsClient client. -func NewLoadBalancingSettingsClientWithBaseURI(baseURI string, subscriptionID string) LoadBalancingSettingsClient { - return LoadBalancingSettingsClient{NewWithBaseURI(baseURI, subscriptionID)} -} - -// CreateOrUpdate creates a new LoadBalancingSettings with the specified Rule name within the specified Front Door. -// Parameters: -// resourceGroupName - name of the Resource group within the Azure subscription. -// frontDoorName - name of the Front Door which is globally unique. -// loadBalancingSettingsName - name of the load balancing settings which is unique within the Front Door. -// loadBalancingSettingsParameters - loadBalancingSettings properties needed to create a new Front Door. -func (client LoadBalancingSettingsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, frontDoorName string, loadBalancingSettingsName string, loadBalancingSettingsParameters LoadBalancingSettingsModel) (result LoadBalancingSettingsCreateOrUpdateFuture, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/LoadBalancingSettingsClient.CreateOrUpdate") - defer func() { - sc := -1 - if result.Response() != nil { - sc = result.Response().StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - if err := validation.Validate([]validation.Validation{ - {TargetValue: resourceGroupName, - Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 80, Chain: nil}, - {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9_\-\(\)\.]*[^\.]$`, Chain: nil}}}, - {TargetValue: frontDoorName, - Constraints: []validation.Constraint{{Target: "frontDoorName", Name: validation.MaxLength, Rule: 64, Chain: nil}, - {Target: "frontDoorName", Name: validation.MinLength, Rule: 5, Chain: nil}, - {Target: "frontDoorName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$`, Chain: nil}}}, - {TargetValue: loadBalancingSettingsName, - Constraints: []validation.Constraint{{Target: "loadBalancingSettingsName", Name: validation.MaxLength, Rule: 90, Chain: nil}, - {Target: "loadBalancingSettingsName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "loadBalancingSettingsName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$`, Chain: nil}}}}); err != nil { - return result, validation.NewError("frontdoor.LoadBalancingSettingsClient", "CreateOrUpdate", err.Error()) - } - - req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, frontDoorName, loadBalancingSettingsName, loadBalancingSettingsParameters) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.LoadBalancingSettingsClient", "CreateOrUpdate", nil, "Failure preparing request") - return - } - - result, err = client.CreateOrUpdateSender(req) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.LoadBalancingSettingsClient", "CreateOrUpdate", result.Response(), "Failure sending request") - return - } - - return -} - -// CreateOrUpdatePreparer prepares the CreateOrUpdate request. -func (client LoadBalancingSettingsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, frontDoorName string, loadBalancingSettingsName string, loadBalancingSettingsParameters LoadBalancingSettingsModel) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "frontDoorName": autorest.Encode("path", frontDoorName), - "loadBalancingSettingsName": autorest.Encode("path", loadBalancingSettingsName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2019-05-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - loadBalancingSettingsParameters.Type = nil - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; charset=utf-8"), - autorest.AsPut(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/loadBalancingSettings/{loadBalancingSettingsName}", pathParameters), - autorest.WithJSON(loadBalancingSettingsParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the -// http.Response Body if it receives an error. -func (client LoadBalancingSettingsClient) CreateOrUpdateSender(req *http.Request) (future LoadBalancingSettingsCreateOrUpdateFuture, err error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - var resp *http.Response - resp, err = autorest.SendWithSender(client, req, sd...) - if err != nil { - return - } - future.Future, err = azure.NewFutureFromResponse(resp) - return -} - -// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always -// closes the http.Response Body. -func (client LoadBalancingSettingsClient) CreateOrUpdateResponder(resp *http.Response) (result LoadBalancingSettingsModel, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated, http.StatusAccepted), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// Delete deletes an existing LoadBalancingSettings with the specified parameters. -// Parameters: -// resourceGroupName - name of the Resource group within the Azure subscription. -// frontDoorName - name of the Front Door which is globally unique. -// loadBalancingSettingsName - name of the load balancing settings which is unique within the Front Door. -func (client LoadBalancingSettingsClient) Delete(ctx context.Context, resourceGroupName string, frontDoorName string, loadBalancingSettingsName string) (result LoadBalancingSettingsDeleteFuture, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/LoadBalancingSettingsClient.Delete") - defer func() { - sc := -1 - if result.Response() != nil { - sc = result.Response().StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - if err := validation.Validate([]validation.Validation{ - {TargetValue: resourceGroupName, - Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 80, Chain: nil}, - {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9_\-\(\)\.]*[^\.]$`, Chain: nil}}}, - {TargetValue: frontDoorName, - Constraints: []validation.Constraint{{Target: "frontDoorName", Name: validation.MaxLength, Rule: 64, Chain: nil}, - {Target: "frontDoorName", Name: validation.MinLength, Rule: 5, Chain: nil}, - {Target: "frontDoorName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$`, Chain: nil}}}, - {TargetValue: loadBalancingSettingsName, - Constraints: []validation.Constraint{{Target: "loadBalancingSettingsName", Name: validation.MaxLength, Rule: 90, Chain: nil}, - {Target: "loadBalancingSettingsName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "loadBalancingSettingsName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$`, Chain: nil}}}}); err != nil { - return result, validation.NewError("frontdoor.LoadBalancingSettingsClient", "Delete", err.Error()) - } - - req, err := client.DeletePreparer(ctx, resourceGroupName, frontDoorName, loadBalancingSettingsName) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.LoadBalancingSettingsClient", "Delete", nil, "Failure preparing request") - return - } - - result, err = client.DeleteSender(req) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.LoadBalancingSettingsClient", "Delete", result.Response(), "Failure sending request") - return - } - - return -} - -// DeletePreparer prepares the Delete request. -func (client LoadBalancingSettingsClient) DeletePreparer(ctx context.Context, resourceGroupName string, frontDoorName string, loadBalancingSettingsName string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "frontDoorName": autorest.Encode("path", frontDoorName), - "loadBalancingSettingsName": autorest.Encode("path", loadBalancingSettingsName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2019-05-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsDelete(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/loadBalancingSettings/{loadBalancingSettingsName}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DeleteSender sends the Delete request. The method will close the -// http.Response Body if it receives an error. -func (client LoadBalancingSettingsClient) DeleteSender(req *http.Request) (future LoadBalancingSettingsDeleteFuture, err error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - var resp *http.Response - resp, err = autorest.SendWithSender(client, req, sd...) - if err != nil { - return - } - future.Future, err = azure.NewFutureFromResponse(resp) - return -} - -// DeleteResponder handles the response to the Delete request. The method always -// closes the http.Response Body. -func (client LoadBalancingSettingsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), - autorest.ByClosing()) - result.Response = resp - return -} - -// Get gets a LoadBalancingSettings with the specified Rule name within the specified Front Door. -// Parameters: -// resourceGroupName - name of the Resource group within the Azure subscription. -// frontDoorName - name of the Front Door which is globally unique. -// loadBalancingSettingsName - name of the load balancing settings which is unique within the Front Door. -func (client LoadBalancingSettingsClient) Get(ctx context.Context, resourceGroupName string, frontDoorName string, loadBalancingSettingsName string) (result LoadBalancingSettingsModel, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/LoadBalancingSettingsClient.Get") - defer func() { - sc := -1 - if result.Response.Response != nil { - sc = result.Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - if err := validation.Validate([]validation.Validation{ - {TargetValue: resourceGroupName, - Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 80, Chain: nil}, - {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9_\-\(\)\.]*[^\.]$`, Chain: nil}}}, - {TargetValue: frontDoorName, - Constraints: []validation.Constraint{{Target: "frontDoorName", Name: validation.MaxLength, Rule: 64, Chain: nil}, - {Target: "frontDoorName", Name: validation.MinLength, Rule: 5, Chain: nil}, - {Target: "frontDoorName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$`, Chain: nil}}}, - {TargetValue: loadBalancingSettingsName, - Constraints: []validation.Constraint{{Target: "loadBalancingSettingsName", Name: validation.MaxLength, Rule: 90, Chain: nil}, - {Target: "loadBalancingSettingsName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "loadBalancingSettingsName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$`, Chain: nil}}}}); err != nil { - return result, validation.NewError("frontdoor.LoadBalancingSettingsClient", "Get", err.Error()) - } - - req, err := client.GetPreparer(ctx, resourceGroupName, frontDoorName, loadBalancingSettingsName) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.LoadBalancingSettingsClient", "Get", nil, "Failure preparing request") - return - } - - resp, err := client.GetSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "frontdoor.LoadBalancingSettingsClient", "Get", resp, "Failure sending request") - return - } - - result, err = client.GetResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.LoadBalancingSettingsClient", "Get", resp, "Failure responding to request") - } - - return -} - -// GetPreparer prepares the Get request. -func (client LoadBalancingSettingsClient) GetPreparer(ctx context.Context, resourceGroupName string, frontDoorName string, loadBalancingSettingsName string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "frontDoorName": autorest.Encode("path", frontDoorName), - "loadBalancingSettingsName": autorest.Encode("path", loadBalancingSettingsName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2019-05-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/loadBalancingSettings/{loadBalancingSettingsName}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetSender sends the Get request. The method will close the -// http.Response Body if it receives an error. -func (client LoadBalancingSettingsClient) GetSender(req *http.Request) (*http.Response, error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - return autorest.SendWithSender(client, req, sd...) -} - -// GetResponder handles the response to the Get request. The method always -// closes the http.Response Body. -func (client LoadBalancingSettingsClient) GetResponder(resp *http.Response) (result LoadBalancingSettingsModel, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// ListByFrontDoor lists all of the LoadBalancingSettings within a Front Door. -// Parameters: -// resourceGroupName - name of the Resource group within the Azure subscription. -// frontDoorName - name of the Front Door which is globally unique. -func (client LoadBalancingSettingsClient) ListByFrontDoor(ctx context.Context, resourceGroupName string, frontDoorName string) (result LoadBalancingSettingsListResultPage, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/LoadBalancingSettingsClient.ListByFrontDoor") - defer func() { - sc := -1 - if result.lbslr.Response.Response != nil { - sc = result.lbslr.Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - if err := validation.Validate([]validation.Validation{ - {TargetValue: resourceGroupName, - Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 80, Chain: nil}, - {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9_\-\(\)\.]*[^\.]$`, Chain: nil}}}, - {TargetValue: frontDoorName, - Constraints: []validation.Constraint{{Target: "frontDoorName", Name: validation.MaxLength, Rule: 64, Chain: nil}, - {Target: "frontDoorName", Name: validation.MinLength, Rule: 5, Chain: nil}, - {Target: "frontDoorName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$`, Chain: nil}}}}); err != nil { - return result, validation.NewError("frontdoor.LoadBalancingSettingsClient", "ListByFrontDoor", err.Error()) - } - - result.fn = client.listByFrontDoorNextResults - req, err := client.ListByFrontDoorPreparer(ctx, resourceGroupName, frontDoorName) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.LoadBalancingSettingsClient", "ListByFrontDoor", nil, "Failure preparing request") - return - } - - resp, err := client.ListByFrontDoorSender(req) - if err != nil { - result.lbslr.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "frontdoor.LoadBalancingSettingsClient", "ListByFrontDoor", resp, "Failure sending request") - return - } - - result.lbslr, err = client.ListByFrontDoorResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.LoadBalancingSettingsClient", "ListByFrontDoor", resp, "Failure responding to request") - } - - return -} - -// ListByFrontDoorPreparer prepares the ListByFrontDoor request. -func (client LoadBalancingSettingsClient) ListByFrontDoorPreparer(ctx context.Context, resourceGroupName string, frontDoorName string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "frontDoorName": autorest.Encode("path", frontDoorName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2019-05-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/loadBalancingSettings", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListByFrontDoorSender sends the ListByFrontDoor request. The method will close the -// http.Response Body if it receives an error. -func (client LoadBalancingSettingsClient) ListByFrontDoorSender(req *http.Request) (*http.Response, error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - return autorest.SendWithSender(client, req, sd...) -} - -// ListByFrontDoorResponder handles the response to the ListByFrontDoor request. The method always -// closes the http.Response Body. -func (client LoadBalancingSettingsClient) ListByFrontDoorResponder(resp *http.Response) (result LoadBalancingSettingsListResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listByFrontDoorNextResults retrieves the next set of results, if any. -func (client LoadBalancingSettingsClient) listByFrontDoorNextResults(ctx context.Context, lastResults LoadBalancingSettingsListResult) (result LoadBalancingSettingsListResult, err error) { - req, err := lastResults.loadBalancingSettingsListResultPreparer(ctx) - if err != nil { - return result, autorest.NewErrorWithError(err, "frontdoor.LoadBalancingSettingsClient", "listByFrontDoorNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListByFrontDoorSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "frontdoor.LoadBalancingSettingsClient", "listByFrontDoorNextResults", resp, "Failure sending next results request") - } - result, err = client.ListByFrontDoorResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.LoadBalancingSettingsClient", "listByFrontDoorNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListByFrontDoorComplete enumerates all values, automatically crossing page boundaries as required. -func (client LoadBalancingSettingsClient) ListByFrontDoorComplete(ctx context.Context, resourceGroupName string, frontDoorName string) (result LoadBalancingSettingsListResultIterator, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/LoadBalancingSettingsClient.ListByFrontDoor") - defer func() { - sc := -1 - if result.Response().Response.Response != nil { - sc = result.page.Response().Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - result.page, err = client.ListByFrontDoor(ctx, resourceGroupName, frontDoorName) - return -} diff --git a/services/preview/frontdoor/mgmt/2019-05-01/frontdoor/routingrules.go b/services/preview/frontdoor/mgmt/2019-05-01/frontdoor/routingrules.go deleted file mode 100644 index bdba08555973..000000000000 --- a/services/preview/frontdoor/mgmt/2019-05-01/frontdoor/routingrules.go +++ /dev/null @@ -1,457 +0,0 @@ -package frontdoor - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/autorest/validation" - "github.com/Azure/go-autorest/tracing" - "net/http" -) - -// RoutingRulesClient is the frontDoor Client -type RoutingRulesClient struct { - BaseClient -} - -// NewRoutingRulesClient creates an instance of the RoutingRulesClient client. -func NewRoutingRulesClient(subscriptionID string) RoutingRulesClient { - return NewRoutingRulesClientWithBaseURI(DefaultBaseURI, subscriptionID) -} - -// NewRoutingRulesClientWithBaseURI creates an instance of the RoutingRulesClient client. -func NewRoutingRulesClientWithBaseURI(baseURI string, subscriptionID string) RoutingRulesClient { - return RoutingRulesClient{NewWithBaseURI(baseURI, subscriptionID)} -} - -// CreateOrUpdate creates a new Routing Rule with the specified Rule name within the specified Front Door. -// Parameters: -// resourceGroupName - name of the Resource group within the Azure subscription. -// frontDoorName - name of the Front Door which is globally unique. -// routingRuleName - name of the Routing Rule which is unique within the Front Door. -// routingRuleParameters - routing Rule properties needed to create a new Front Door. -func (client RoutingRulesClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, frontDoorName string, routingRuleName string, routingRuleParameters RoutingRule) (result RoutingRulesCreateOrUpdateFuture, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/RoutingRulesClient.CreateOrUpdate") - defer func() { - sc := -1 - if result.Response() != nil { - sc = result.Response().StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - if err := validation.Validate([]validation.Validation{ - {TargetValue: resourceGroupName, - Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 80, Chain: nil}, - {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9_\-\(\)\.]*[^\.]$`, Chain: nil}}}, - {TargetValue: frontDoorName, - Constraints: []validation.Constraint{{Target: "frontDoorName", Name: validation.MaxLength, Rule: 64, Chain: nil}, - {Target: "frontDoorName", Name: validation.MinLength, Rule: 5, Chain: nil}, - {Target: "frontDoorName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$`, Chain: nil}}}, - {TargetValue: routingRuleName, - Constraints: []validation.Constraint{{Target: "routingRuleName", Name: validation.MaxLength, Rule: 90, Chain: nil}, - {Target: "routingRuleName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "routingRuleName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$`, Chain: nil}}}}); err != nil { - return result, validation.NewError("frontdoor.RoutingRulesClient", "CreateOrUpdate", err.Error()) - } - - req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, frontDoorName, routingRuleName, routingRuleParameters) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.RoutingRulesClient", "CreateOrUpdate", nil, "Failure preparing request") - return - } - - result, err = client.CreateOrUpdateSender(req) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.RoutingRulesClient", "CreateOrUpdate", result.Response(), "Failure sending request") - return - } - - return -} - -// CreateOrUpdatePreparer prepares the CreateOrUpdate request. -func (client RoutingRulesClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, frontDoorName string, routingRuleName string, routingRuleParameters RoutingRule) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "frontDoorName": autorest.Encode("path", frontDoorName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "routingRuleName": autorest.Encode("path", routingRuleName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2019-05-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - routingRuleParameters.Type = nil - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; charset=utf-8"), - autorest.AsPut(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/routingRules/{routingRuleName}", pathParameters), - autorest.WithJSON(routingRuleParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the -// http.Response Body if it receives an error. -func (client RoutingRulesClient) CreateOrUpdateSender(req *http.Request) (future RoutingRulesCreateOrUpdateFuture, err error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - var resp *http.Response - resp, err = autorest.SendWithSender(client, req, sd...) - if err != nil { - return - } - future.Future, err = azure.NewFutureFromResponse(resp) - return -} - -// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always -// closes the http.Response Body. -func (client RoutingRulesClient) CreateOrUpdateResponder(resp *http.Response) (result RoutingRule, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated, http.StatusAccepted), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// Delete deletes an existing Routing Rule with the specified parameters. -// Parameters: -// resourceGroupName - name of the Resource group within the Azure subscription. -// frontDoorName - name of the Front Door which is globally unique. -// routingRuleName - name of the Routing Rule which is unique within the Front Door. -func (client RoutingRulesClient) Delete(ctx context.Context, resourceGroupName string, frontDoorName string, routingRuleName string) (result RoutingRulesDeleteFuture, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/RoutingRulesClient.Delete") - defer func() { - sc := -1 - if result.Response() != nil { - sc = result.Response().StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - if err := validation.Validate([]validation.Validation{ - {TargetValue: resourceGroupName, - Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 80, Chain: nil}, - {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9_\-\(\)\.]*[^\.]$`, Chain: nil}}}, - {TargetValue: frontDoorName, - Constraints: []validation.Constraint{{Target: "frontDoorName", Name: validation.MaxLength, Rule: 64, Chain: nil}, - {Target: "frontDoorName", Name: validation.MinLength, Rule: 5, Chain: nil}, - {Target: "frontDoorName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$`, Chain: nil}}}, - {TargetValue: routingRuleName, - Constraints: []validation.Constraint{{Target: "routingRuleName", Name: validation.MaxLength, Rule: 90, Chain: nil}, - {Target: "routingRuleName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "routingRuleName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$`, Chain: nil}}}}); err != nil { - return result, validation.NewError("frontdoor.RoutingRulesClient", "Delete", err.Error()) - } - - req, err := client.DeletePreparer(ctx, resourceGroupName, frontDoorName, routingRuleName) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.RoutingRulesClient", "Delete", nil, "Failure preparing request") - return - } - - result, err = client.DeleteSender(req) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.RoutingRulesClient", "Delete", result.Response(), "Failure sending request") - return - } - - return -} - -// DeletePreparer prepares the Delete request. -func (client RoutingRulesClient) DeletePreparer(ctx context.Context, resourceGroupName string, frontDoorName string, routingRuleName string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "frontDoorName": autorest.Encode("path", frontDoorName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "routingRuleName": autorest.Encode("path", routingRuleName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2019-05-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsDelete(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/routingRules/{routingRuleName}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DeleteSender sends the Delete request. The method will close the -// http.Response Body if it receives an error. -func (client RoutingRulesClient) DeleteSender(req *http.Request) (future RoutingRulesDeleteFuture, err error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - var resp *http.Response - resp, err = autorest.SendWithSender(client, req, sd...) - if err != nil { - return - } - future.Future, err = azure.NewFutureFromResponse(resp) - return -} - -// DeleteResponder handles the response to the Delete request. The method always -// closes the http.Response Body. -func (client RoutingRulesClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), - autorest.ByClosing()) - result.Response = resp - return -} - -// Get gets a Routing Rule with the specified Rule name within the specified Front Door. -// Parameters: -// resourceGroupName - name of the Resource group within the Azure subscription. -// frontDoorName - name of the Front Door which is globally unique. -// routingRuleName - name of the Routing Rule which is unique within the Front Door. -func (client RoutingRulesClient) Get(ctx context.Context, resourceGroupName string, frontDoorName string, routingRuleName string) (result RoutingRule, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/RoutingRulesClient.Get") - defer func() { - sc := -1 - if result.Response.Response != nil { - sc = result.Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - if err := validation.Validate([]validation.Validation{ - {TargetValue: resourceGroupName, - Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 80, Chain: nil}, - {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9_\-\(\)\.]*[^\.]$`, Chain: nil}}}, - {TargetValue: frontDoorName, - Constraints: []validation.Constraint{{Target: "frontDoorName", Name: validation.MaxLength, Rule: 64, Chain: nil}, - {Target: "frontDoorName", Name: validation.MinLength, Rule: 5, Chain: nil}, - {Target: "frontDoorName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$`, Chain: nil}}}, - {TargetValue: routingRuleName, - Constraints: []validation.Constraint{{Target: "routingRuleName", Name: validation.MaxLength, Rule: 90, Chain: nil}, - {Target: "routingRuleName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "routingRuleName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$`, Chain: nil}}}}); err != nil { - return result, validation.NewError("frontdoor.RoutingRulesClient", "Get", err.Error()) - } - - req, err := client.GetPreparer(ctx, resourceGroupName, frontDoorName, routingRuleName) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.RoutingRulesClient", "Get", nil, "Failure preparing request") - return - } - - resp, err := client.GetSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "frontdoor.RoutingRulesClient", "Get", resp, "Failure sending request") - return - } - - result, err = client.GetResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.RoutingRulesClient", "Get", resp, "Failure responding to request") - } - - return -} - -// GetPreparer prepares the Get request. -func (client RoutingRulesClient) GetPreparer(ctx context.Context, resourceGroupName string, frontDoorName string, routingRuleName string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "frontDoorName": autorest.Encode("path", frontDoorName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "routingRuleName": autorest.Encode("path", routingRuleName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2019-05-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/routingRules/{routingRuleName}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetSender sends the Get request. The method will close the -// http.Response Body if it receives an error. -func (client RoutingRulesClient) GetSender(req *http.Request) (*http.Response, error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - return autorest.SendWithSender(client, req, sd...) -} - -// GetResponder handles the response to the Get request. The method always -// closes the http.Response Body. -func (client RoutingRulesClient) GetResponder(resp *http.Response) (result RoutingRule, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// ListByFrontDoor lists all of the Routing Rules within a Front Door. -// Parameters: -// resourceGroupName - name of the Resource group within the Azure subscription. -// frontDoorName - name of the Front Door which is globally unique. -func (client RoutingRulesClient) ListByFrontDoor(ctx context.Context, resourceGroupName string, frontDoorName string) (result RoutingRuleListResultPage, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/RoutingRulesClient.ListByFrontDoor") - defer func() { - sc := -1 - if result.rrlr.Response.Response != nil { - sc = result.rrlr.Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - if err := validation.Validate([]validation.Validation{ - {TargetValue: resourceGroupName, - Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 80, Chain: nil}, - {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9_\-\(\)\.]*[^\.]$`, Chain: nil}}}, - {TargetValue: frontDoorName, - Constraints: []validation.Constraint{{Target: "frontDoorName", Name: validation.MaxLength, Rule: 64, Chain: nil}, - {Target: "frontDoorName", Name: validation.MinLength, Rule: 5, Chain: nil}, - {Target: "frontDoorName", Name: validation.Pattern, Rule: `^[a-zA-Z0-9]+([-a-zA-Z0-9]?[a-zA-Z0-9])*$`, Chain: nil}}}}); err != nil { - return result, validation.NewError("frontdoor.RoutingRulesClient", "ListByFrontDoor", err.Error()) - } - - result.fn = client.listByFrontDoorNextResults - req, err := client.ListByFrontDoorPreparer(ctx, resourceGroupName, frontDoorName) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.RoutingRulesClient", "ListByFrontDoor", nil, "Failure preparing request") - return - } - - resp, err := client.ListByFrontDoorSender(req) - if err != nil { - result.rrlr.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "frontdoor.RoutingRulesClient", "ListByFrontDoor", resp, "Failure sending request") - return - } - - result.rrlr, err = client.ListByFrontDoorResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.RoutingRulesClient", "ListByFrontDoor", resp, "Failure responding to request") - } - - return -} - -// ListByFrontDoorPreparer prepares the ListByFrontDoor request. -func (client RoutingRulesClient) ListByFrontDoorPreparer(ctx context.Context, resourceGroupName string, frontDoorName string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "frontDoorName": autorest.Encode("path", frontDoorName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2019-05-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoors/{frontDoorName}/routingRules", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListByFrontDoorSender sends the ListByFrontDoor request. The method will close the -// http.Response Body if it receives an error. -func (client RoutingRulesClient) ListByFrontDoorSender(req *http.Request) (*http.Response, error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - return autorest.SendWithSender(client, req, sd...) -} - -// ListByFrontDoorResponder handles the response to the ListByFrontDoor request. The method always -// closes the http.Response Body. -func (client RoutingRulesClient) ListByFrontDoorResponder(resp *http.Response) (result RoutingRuleListResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listByFrontDoorNextResults retrieves the next set of results, if any. -func (client RoutingRulesClient) listByFrontDoorNextResults(ctx context.Context, lastResults RoutingRuleListResult) (result RoutingRuleListResult, err error) { - req, err := lastResults.routingRuleListResultPreparer(ctx) - if err != nil { - return result, autorest.NewErrorWithError(err, "frontdoor.RoutingRulesClient", "listByFrontDoorNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListByFrontDoorSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "frontdoor.RoutingRulesClient", "listByFrontDoorNextResults", resp, "Failure sending next results request") - } - result, err = client.ListByFrontDoorResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "frontdoor.RoutingRulesClient", "listByFrontDoorNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListByFrontDoorComplete enumerates all values, automatically crossing page boundaries as required. -func (client RoutingRulesClient) ListByFrontDoorComplete(ctx context.Context, resourceGroupName string, frontDoorName string) (result RoutingRuleListResultIterator, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/RoutingRulesClient.ListByFrontDoor") - defer func() { - sc := -1 - if result.Response().Response.Response != nil { - sc = result.page.Response().Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - result.page, err = client.ListByFrontDoor(ctx, resourceGroupName, frontDoorName) - return -} diff --git a/services/preview/hdinsight/mgmt/2015-03-01-preview/hdinsight/models.go b/services/preview/hdinsight/mgmt/2015-03-01-preview/hdinsight/models.go index 9bb620534336..d4cc4f5a350d 100644 --- a/services/preview/hdinsight/mgmt/2015-03-01-preview/hdinsight/models.go +++ b/services/preview/hdinsight/mgmt/2015-03-01-preview/hdinsight/models.go @@ -30,34 +30,6 @@ import ( // The package's fully qualified name. const fqdn = "github.com/Azure/azure-sdk-for-go/services/preview/hdinsight/mgmt/2015-03-01-preview/hdinsight" -// ApplicationHTTPSEndpointAccessMode enumerates the values for application https endpoint access mode. -type ApplicationHTTPSEndpointAccessMode string - -const ( - // WebPage ... - WebPage ApplicationHTTPSEndpointAccessMode = "WebPage" -) - -// PossibleApplicationHTTPSEndpointAccessModeValues returns an array of possible values for the ApplicationHTTPSEndpointAccessMode const type. -func PossibleApplicationHTTPSEndpointAccessModeValues() []ApplicationHTTPSEndpointAccessMode { - return []ApplicationHTTPSEndpointAccessMode{WebPage} -} - -// ApplicationType enumerates the values for application type. -type ApplicationType string - -const ( - // CustomApplication ... - CustomApplication ApplicationType = "CustomApplication" - // RServer ... - RServer ApplicationType = "RServer" -) - -// PossibleApplicationTypeValues returns an array of possible values for the ApplicationType const type. -func PossibleApplicationTypeValues() []ApplicationType { - return []ApplicationType{CustomApplication, RServer} -} - // AsyncOperationState enumerates the values for async operation state. type AsyncOperationState string @@ -260,7 +232,7 @@ type ApplicationGetEndpoint struct { // ApplicationGetHTTPSEndpoint gets the application HTTP endpoints. type ApplicationGetHTTPSEndpoint struct { // AccessModes - The list of access modes for the application. - AccessModes *[]ApplicationHTTPSEndpointAccessMode `json:"accessModes,omitempty"` + AccessModes *[]string `json:"accessModes,omitempty"` // Location - The location of the endpoint. Location *string `json:"location,omitempty"` // DestinationPort - The destination port to connect to. @@ -434,8 +406,8 @@ type ApplicationProperties struct { SSHEndpoints *[]ApplicationGetEndpoint `json:"sshEndpoints,omitempty"` // ProvisioningState - READ-ONLY; The provisioning state of the application. ProvisioningState *string `json:"provisioningState,omitempty"` - // ApplicationType - The application type. Possible values include: 'CustomApplication', 'RServer' - ApplicationType ApplicationType `json:"applicationType,omitempty"` + // ApplicationType - The application type. + ApplicationType *string `json:"applicationType,omitempty"` // ApplicationState - READ-ONLY; The application state. ApplicationState *string `json:"applicationState,omitempty"` // Errors - The list of errors. diff --git a/services/preview/hdinsight/mgmt/2018-06-01-preview/hdinsight/models.go b/services/preview/hdinsight/mgmt/2018-06-01-preview/hdinsight/models.go index c8679a059aff..ec244d5e7a5c 100644 --- a/services/preview/hdinsight/mgmt/2018-06-01-preview/hdinsight/models.go +++ b/services/preview/hdinsight/mgmt/2018-06-01-preview/hdinsight/models.go @@ -30,34 +30,6 @@ import ( // The package's fully qualified name. const fqdn = "github.com/Azure/azure-sdk-for-go/services/preview/hdinsight/mgmt/2018-06-01-preview/hdinsight" -// ApplicationHTTPSEndpointAccessMode enumerates the values for application https endpoint access mode. -type ApplicationHTTPSEndpointAccessMode string - -const ( - // WebPage ... - WebPage ApplicationHTTPSEndpointAccessMode = "WebPage" -) - -// PossibleApplicationHTTPSEndpointAccessModeValues returns an array of possible values for the ApplicationHTTPSEndpointAccessMode const type. -func PossibleApplicationHTTPSEndpointAccessModeValues() []ApplicationHTTPSEndpointAccessMode { - return []ApplicationHTTPSEndpointAccessMode{WebPage} -} - -// ApplicationType enumerates the values for application type. -type ApplicationType string - -const ( - // CustomApplication ... - CustomApplication ApplicationType = "CustomApplication" - // RServer ... - RServer ApplicationType = "RServer" -) - -// PossibleApplicationTypeValues returns an array of possible values for the ApplicationType const type. -func PossibleApplicationTypeValues() []ApplicationType { - return []ApplicationType{CustomApplication, RServer} -} - // AsyncOperationState enumerates the values for async operation state. type AsyncOperationState string @@ -260,7 +232,7 @@ type ApplicationGetEndpoint struct { // ApplicationGetHTTPSEndpoint gets the application HTTP endpoints. type ApplicationGetHTTPSEndpoint struct { // AccessModes - The list of access modes for the application. - AccessModes *[]ApplicationHTTPSEndpointAccessMode `json:"accessModes,omitempty"` + AccessModes *[]string `json:"accessModes,omitempty"` // Location - The location of the endpoint. Location *string `json:"location,omitempty"` // DestinationPort - The destination port to connect to. @@ -434,8 +406,8 @@ type ApplicationProperties struct { SSHEndpoints *[]ApplicationGetEndpoint `json:"sshEndpoints,omitempty"` // ProvisioningState - READ-ONLY; The provisioning state of the application. ProvisioningState *string `json:"provisioningState,omitempty"` - // ApplicationType - The application type. Possible values include: 'CustomApplication', 'RServer' - ApplicationType ApplicationType `json:"applicationType,omitempty"` + // ApplicationType - The application type. + ApplicationType *string `json:"applicationType,omitempty"` // ApplicationState - READ-ONLY; The application state. ApplicationState *string `json:"applicationState,omitempty"` // Errors - The list of errors. diff --git a/services/preview/logic/mgmt/2018-07-01-preview/logic/logicapi/interfaces.go b/services/preview/logic/mgmt/2018-07-01-preview/logic/logicapi/interfaces.go index 4d949736cd29..5f33f0ecaf2e 100644 --- a/services/preview/logic/mgmt/2018-07-01-preview/logic/logicapi/interfaces.go +++ b/services/preview/logic/mgmt/2018-07-01-preview/logic/logicapi/interfaces.go @@ -84,6 +84,7 @@ var _ WorkflowTriggerHistoriesClientAPI = (*logic.WorkflowTriggerHistoriesClient // WorkflowRunsClientAPI contains the set of methods on the WorkflowRunsClient type. type WorkflowRunsClientAPI interface { Cancel(ctx context.Context, resourceGroupName string, workflowName string, runName string) (result autorest.Response, err error) + Delete(ctx context.Context, resourceGroupName string, workflowName string, runName string) (result autorest.Response, err error) Get(ctx context.Context, resourceGroupName string, workflowName string, runName string) (result logic.WorkflowRun, err error) List(ctx context.Context, resourceGroupName string, workflowName string, top *int32, filter string) (result logic.WorkflowRunListResultPage, err error) } diff --git a/services/preview/logic/mgmt/2018-07-01-preview/logic/models.go b/services/preview/logic/mgmt/2018-07-01-preview/logic/models.go index 2ff199c0d4d1..944db3a1b637 100644 --- a/services/preview/logic/mgmt/2018-07-01-preview/logic/models.go +++ b/services/preview/logic/mgmt/2018-07-01-preview/logic/models.go @@ -4288,7 +4288,7 @@ type WorkflowProperties struct { Sku *Sku `json:"sku,omitempty"` // IntegrationAccount - The integration account. IntegrationAccount *ResourceReference `json:"integrationAccount,omitempty"` - // Definition - The definition. + // Definition - The definition. See [Schema reference for Workflow Definition Language in Azure Logic Apps](https://aka.ms/logic-apps-workflow-definition-language). Definition interface{} `json:"definition,omitempty"` // Parameters - The parameters. Parameters map[string]*WorkflowParameter `json:"parameters"` diff --git a/services/preview/logic/mgmt/2018-07-01-preview/logic/workflowruns.go b/services/preview/logic/mgmt/2018-07-01-preview/logic/workflowruns.go index a63a17802895..282571eb2b2e 100644 --- a/services/preview/logic/mgmt/2018-07-01-preview/logic/workflowruns.go +++ b/services/preview/logic/mgmt/2018-07-01-preview/logic/workflowruns.go @@ -118,6 +118,84 @@ func (client WorkflowRunsClient) CancelResponder(resp *http.Response) (result au return } +// Delete deletes a workflow run. +// Parameters: +// resourceGroupName - the resource group name. +// workflowName - the workflow name. +// runName - the workflow run name. +func (client WorkflowRunsClient) Delete(ctx context.Context, resourceGroupName string, workflowName string, runName string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WorkflowRunsClient.Delete") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, workflowName, runName) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.WorkflowRunsClient", "Delete", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "logic.WorkflowRunsClient", "Delete", resp, "Failure sending request") + return + } + + result, err = client.DeleteResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.WorkflowRunsClient", "Delete", resp, "Failure responding to request") + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client WorkflowRunsClient) DeletePreparer(ctx context.Context, resourceGroupName string, workflowName string, runName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "runName": autorest.Encode("path", runName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "workflowName": autorest.Encode("path", workflowName), + } + + const APIVersion = "2018-07-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client WorkflowRunsClient) DeleteSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client WorkflowRunsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + // Get gets a workflow run. // Parameters: // resourceGroupName - the resource group name. diff --git a/services/preview/logic/mgmt/2019-05-01/logic/client.go b/services/preview/logic/mgmt/2019-05-01/logic/client.go new file mode 100644 index 000000000000..4266e5986969 --- /dev/null +++ b/services/preview/logic/mgmt/2019-05-01/logic/client.go @@ -0,0 +1,51 @@ +// Package logic implements the Azure ARM Logic service API version 2019-05-01. +// +// REST API for Azure Logic Apps. +package logic + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" +) + +const ( + // DefaultBaseURI is the default URI used for the service Logic + DefaultBaseURI = "https://management.azure.com" +) + +// BaseClient is the base client for Logic. +type BaseClient struct { + autorest.Client + BaseURI string + SubscriptionID string +} + +// New creates an instance of the BaseClient client. +func New(subscriptionID string) BaseClient { + return NewWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewWithBaseURI creates an instance of the BaseClient client. +func NewWithBaseURI(baseURI string, subscriptionID string) BaseClient { + return BaseClient{ + Client: autorest.NewClientWithUserAgent(UserAgent()), + BaseURI: baseURI, + SubscriptionID: subscriptionID, + } +} diff --git a/services/preview/logic/mgmt/2019-05-01/logic/integrationaccountagreements.go b/services/preview/logic/mgmt/2019-05-01/logic/integrationaccountagreements.go new file mode 100644 index 000000000000..374a72298509 --- /dev/null +++ b/services/preview/logic/mgmt/2019-05-01/logic/integrationaccountagreements.go @@ -0,0 +1,921 @@ +package logic + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// IntegrationAccountAgreementsClient is the REST API for Azure Logic Apps. +type IntegrationAccountAgreementsClient struct { + BaseClient +} + +// NewIntegrationAccountAgreementsClient creates an instance of the IntegrationAccountAgreementsClient client. +func NewIntegrationAccountAgreementsClient(subscriptionID string) IntegrationAccountAgreementsClient { + return NewIntegrationAccountAgreementsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewIntegrationAccountAgreementsClientWithBaseURI creates an instance of the IntegrationAccountAgreementsClient +// client. +func NewIntegrationAccountAgreementsClientWithBaseURI(baseURI string, subscriptionID string) IntegrationAccountAgreementsClient { + return IntegrationAccountAgreementsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates an integration account agreement. +// Parameters: +// resourceGroupName - the resource group name. +// integrationAccountName - the integration account name. +// agreementName - the integration account agreement name. +// agreement - the integration account agreement. +func (client IntegrationAccountAgreementsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, integrationAccountName string, agreementName string, agreement IntegrationAccountAgreement) (result IntegrationAccountAgreement, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationAccountAgreementsClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: agreement, + Constraints: []validation.Constraint{{Target: "agreement.IntegrationAccountAgreementProperties", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "agreement.IntegrationAccountAgreementProperties.HostPartner", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.GuestPartner", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.HostIdentity", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "agreement.IntegrationAccountAgreementProperties.HostIdentity.Qualifier", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.HostIdentity.Value", Name: validation.Null, Rule: true, Chain: nil}, + }}, + {Target: "agreement.IntegrationAccountAgreementProperties.GuestIdentity", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "agreement.IntegrationAccountAgreementProperties.GuestIdentity.Qualifier", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.GuestIdentity.Value", Name: validation.Null, Rule: true, Chain: nil}, + }}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "agreement.IntegrationAccountAgreementProperties.Content.AS2", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "agreement.IntegrationAccountAgreementProperties.Content.AS2.ReceiveAgreement", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "agreement.IntegrationAccountAgreementProperties.Content.AS2.ReceiveAgreement.SenderBusinessIdentity", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "agreement.IntegrationAccountAgreementProperties.Content.AS2.ReceiveAgreement.SenderBusinessIdentity.Qualifier", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.AS2.ReceiveAgreement.SenderBusinessIdentity.Value", Name: validation.Null, Rule: true, Chain: nil}, + }}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.AS2.ReceiveAgreement.ReceiverBusinessIdentity", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "agreement.IntegrationAccountAgreementProperties.Content.AS2.ReceiveAgreement.ReceiverBusinessIdentity.Qualifier", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.AS2.ReceiveAgreement.ReceiverBusinessIdentity.Value", Name: validation.Null, Rule: true, Chain: nil}, + }}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.AS2.ReceiveAgreement.ProtocolSettings", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "agreement.IntegrationAccountAgreementProperties.Content.AS2.ReceiveAgreement.ProtocolSettings.MessageConnectionSettings", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "agreement.IntegrationAccountAgreementProperties.Content.AS2.ReceiveAgreement.ProtocolSettings.MessageConnectionSettings.IgnoreCertificateNameMismatch", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.AS2.ReceiveAgreement.ProtocolSettings.MessageConnectionSettings.SupportHTTPStatusCodeContinue", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.AS2.ReceiveAgreement.ProtocolSettings.MessageConnectionSettings.KeepHTTPConnectionAlive", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.AS2.ReceiveAgreement.ProtocolSettings.MessageConnectionSettings.UnfoldHTTPHeaders", Name: validation.Null, Rule: true, Chain: nil}, + }}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.AS2.ReceiveAgreement.ProtocolSettings.AcknowledgementConnectionSettings", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "agreement.IntegrationAccountAgreementProperties.Content.AS2.ReceiveAgreement.ProtocolSettings.AcknowledgementConnectionSettings.IgnoreCertificateNameMismatch", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.AS2.ReceiveAgreement.ProtocolSettings.AcknowledgementConnectionSettings.SupportHTTPStatusCodeContinue", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.AS2.ReceiveAgreement.ProtocolSettings.AcknowledgementConnectionSettings.KeepHTTPConnectionAlive", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.AS2.ReceiveAgreement.ProtocolSettings.AcknowledgementConnectionSettings.UnfoldHTTPHeaders", Name: validation.Null, Rule: true, Chain: nil}, + }}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.AS2.ReceiveAgreement.ProtocolSettings.MdnSettings", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "agreement.IntegrationAccountAgreementProperties.Content.AS2.ReceiveAgreement.ProtocolSettings.MdnSettings.NeedMDN", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.AS2.ReceiveAgreement.ProtocolSettings.MdnSettings.SignMDN", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.AS2.ReceiveAgreement.ProtocolSettings.MdnSettings.SendMDNAsynchronously", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.AS2.ReceiveAgreement.ProtocolSettings.MdnSettings.SignOutboundMDNIfOptional", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.AS2.ReceiveAgreement.ProtocolSettings.MdnSettings.SendInboundMDNToMessageBox", Name: validation.Null, Rule: true, Chain: nil}, + }}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.AS2.ReceiveAgreement.ProtocolSettings.SecuritySettings", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "agreement.IntegrationAccountAgreementProperties.Content.AS2.ReceiveAgreement.ProtocolSettings.SecuritySettings.OverrideGroupSigningCertificate", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.AS2.ReceiveAgreement.ProtocolSettings.SecuritySettings.EnableNRRForInboundEncodedMessages", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.AS2.ReceiveAgreement.ProtocolSettings.SecuritySettings.EnableNRRForInboundDecodedMessages", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.AS2.ReceiveAgreement.ProtocolSettings.SecuritySettings.EnableNRRForOutboundMDN", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.AS2.ReceiveAgreement.ProtocolSettings.SecuritySettings.EnableNRRForOutboundEncodedMessages", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.AS2.ReceiveAgreement.ProtocolSettings.SecuritySettings.EnableNRRForOutboundDecodedMessages", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.AS2.ReceiveAgreement.ProtocolSettings.SecuritySettings.EnableNRRForInboundMDN", Name: validation.Null, Rule: true, Chain: nil}, + }}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.AS2.ReceiveAgreement.ProtocolSettings.ValidationSettings", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "agreement.IntegrationAccountAgreementProperties.Content.AS2.ReceiveAgreement.ProtocolSettings.ValidationSettings.OverrideMessageProperties", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.AS2.ReceiveAgreement.ProtocolSettings.ValidationSettings.EncryptMessage", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.AS2.ReceiveAgreement.ProtocolSettings.ValidationSettings.SignMessage", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.AS2.ReceiveAgreement.ProtocolSettings.ValidationSettings.CompressMessage", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.AS2.ReceiveAgreement.ProtocolSettings.ValidationSettings.CheckDuplicateMessage", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.AS2.ReceiveAgreement.ProtocolSettings.ValidationSettings.InterchangeDuplicatesValidityDays", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.AS2.ReceiveAgreement.ProtocolSettings.ValidationSettings.CheckCertificateRevocationListOnSend", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.AS2.ReceiveAgreement.ProtocolSettings.ValidationSettings.CheckCertificateRevocationListOnReceive", Name: validation.Null, Rule: true, Chain: nil}, + }}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.AS2.ReceiveAgreement.ProtocolSettings.EnvelopeSettings", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "agreement.IntegrationAccountAgreementProperties.Content.AS2.ReceiveAgreement.ProtocolSettings.EnvelopeSettings.MessageContentType", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.AS2.ReceiveAgreement.ProtocolSettings.EnvelopeSettings.TransmitFileNameInMimeHeader", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.AS2.ReceiveAgreement.ProtocolSettings.EnvelopeSettings.FileNameTemplate", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.AS2.ReceiveAgreement.ProtocolSettings.EnvelopeSettings.SuspendMessageOnFileNameGenerationError", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.AS2.ReceiveAgreement.ProtocolSettings.EnvelopeSettings.AutogenerateFileName", Name: validation.Null, Rule: true, Chain: nil}, + }}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.AS2.ReceiveAgreement.ProtocolSettings.ErrorSettings", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "agreement.IntegrationAccountAgreementProperties.Content.AS2.ReceiveAgreement.ProtocolSettings.ErrorSettings.SuspendDuplicateMessage", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.AS2.ReceiveAgreement.ProtocolSettings.ErrorSettings.ResendIfMDNNotReceived", Name: validation.Null, Rule: true, Chain: nil}, + }}, + }}, + }}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.AS2.SendAgreement", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "agreement.IntegrationAccountAgreementProperties.Content.AS2.SendAgreement.SenderBusinessIdentity", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "agreement.IntegrationAccountAgreementProperties.Content.AS2.SendAgreement.SenderBusinessIdentity.Qualifier", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.AS2.SendAgreement.SenderBusinessIdentity.Value", Name: validation.Null, Rule: true, Chain: nil}, + }}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.AS2.SendAgreement.ReceiverBusinessIdentity", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "agreement.IntegrationAccountAgreementProperties.Content.AS2.SendAgreement.ReceiverBusinessIdentity.Qualifier", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.AS2.SendAgreement.ReceiverBusinessIdentity.Value", Name: validation.Null, Rule: true, Chain: nil}, + }}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.AS2.SendAgreement.ProtocolSettings", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "agreement.IntegrationAccountAgreementProperties.Content.AS2.SendAgreement.ProtocolSettings.MessageConnectionSettings", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "agreement.IntegrationAccountAgreementProperties.Content.AS2.SendAgreement.ProtocolSettings.MessageConnectionSettings.IgnoreCertificateNameMismatch", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.AS2.SendAgreement.ProtocolSettings.MessageConnectionSettings.SupportHTTPStatusCodeContinue", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.AS2.SendAgreement.ProtocolSettings.MessageConnectionSettings.KeepHTTPConnectionAlive", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.AS2.SendAgreement.ProtocolSettings.MessageConnectionSettings.UnfoldHTTPHeaders", Name: validation.Null, Rule: true, Chain: nil}, + }}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.AS2.SendAgreement.ProtocolSettings.AcknowledgementConnectionSettings", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "agreement.IntegrationAccountAgreementProperties.Content.AS2.SendAgreement.ProtocolSettings.AcknowledgementConnectionSettings.IgnoreCertificateNameMismatch", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.AS2.SendAgreement.ProtocolSettings.AcknowledgementConnectionSettings.SupportHTTPStatusCodeContinue", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.AS2.SendAgreement.ProtocolSettings.AcknowledgementConnectionSettings.KeepHTTPConnectionAlive", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.AS2.SendAgreement.ProtocolSettings.AcknowledgementConnectionSettings.UnfoldHTTPHeaders", Name: validation.Null, Rule: true, Chain: nil}, + }}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.AS2.SendAgreement.ProtocolSettings.MdnSettings", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "agreement.IntegrationAccountAgreementProperties.Content.AS2.SendAgreement.ProtocolSettings.MdnSettings.NeedMDN", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.AS2.SendAgreement.ProtocolSettings.MdnSettings.SignMDN", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.AS2.SendAgreement.ProtocolSettings.MdnSettings.SendMDNAsynchronously", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.AS2.SendAgreement.ProtocolSettings.MdnSettings.SignOutboundMDNIfOptional", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.AS2.SendAgreement.ProtocolSettings.MdnSettings.SendInboundMDNToMessageBox", Name: validation.Null, Rule: true, Chain: nil}, + }}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.AS2.SendAgreement.ProtocolSettings.SecuritySettings", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "agreement.IntegrationAccountAgreementProperties.Content.AS2.SendAgreement.ProtocolSettings.SecuritySettings.OverrideGroupSigningCertificate", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.AS2.SendAgreement.ProtocolSettings.SecuritySettings.EnableNRRForInboundEncodedMessages", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.AS2.SendAgreement.ProtocolSettings.SecuritySettings.EnableNRRForInboundDecodedMessages", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.AS2.SendAgreement.ProtocolSettings.SecuritySettings.EnableNRRForOutboundMDN", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.AS2.SendAgreement.ProtocolSettings.SecuritySettings.EnableNRRForOutboundEncodedMessages", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.AS2.SendAgreement.ProtocolSettings.SecuritySettings.EnableNRRForOutboundDecodedMessages", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.AS2.SendAgreement.ProtocolSettings.SecuritySettings.EnableNRRForInboundMDN", Name: validation.Null, Rule: true, Chain: nil}, + }}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.AS2.SendAgreement.ProtocolSettings.ValidationSettings", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "agreement.IntegrationAccountAgreementProperties.Content.AS2.SendAgreement.ProtocolSettings.ValidationSettings.OverrideMessageProperties", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.AS2.SendAgreement.ProtocolSettings.ValidationSettings.EncryptMessage", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.AS2.SendAgreement.ProtocolSettings.ValidationSettings.SignMessage", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.AS2.SendAgreement.ProtocolSettings.ValidationSettings.CompressMessage", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.AS2.SendAgreement.ProtocolSettings.ValidationSettings.CheckDuplicateMessage", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.AS2.SendAgreement.ProtocolSettings.ValidationSettings.InterchangeDuplicatesValidityDays", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.AS2.SendAgreement.ProtocolSettings.ValidationSettings.CheckCertificateRevocationListOnSend", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.AS2.SendAgreement.ProtocolSettings.ValidationSettings.CheckCertificateRevocationListOnReceive", Name: validation.Null, Rule: true, Chain: nil}, + }}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.AS2.SendAgreement.ProtocolSettings.EnvelopeSettings", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "agreement.IntegrationAccountAgreementProperties.Content.AS2.SendAgreement.ProtocolSettings.EnvelopeSettings.MessageContentType", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.AS2.SendAgreement.ProtocolSettings.EnvelopeSettings.TransmitFileNameInMimeHeader", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.AS2.SendAgreement.ProtocolSettings.EnvelopeSettings.FileNameTemplate", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.AS2.SendAgreement.ProtocolSettings.EnvelopeSettings.SuspendMessageOnFileNameGenerationError", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.AS2.SendAgreement.ProtocolSettings.EnvelopeSettings.AutogenerateFileName", Name: validation.Null, Rule: true, Chain: nil}, + }}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.AS2.SendAgreement.ProtocolSettings.ErrorSettings", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "agreement.IntegrationAccountAgreementProperties.Content.AS2.SendAgreement.ProtocolSettings.ErrorSettings.SuspendDuplicateMessage", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.AS2.SendAgreement.ProtocolSettings.ErrorSettings.ResendIfMDNNotReceived", Name: validation.Null, Rule: true, Chain: nil}, + }}, + }}, + }}, + }}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.ReceiveAgreement", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.ReceiveAgreement.SenderBusinessIdentity", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.ReceiveAgreement.SenderBusinessIdentity.Qualifier", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.ReceiveAgreement.SenderBusinessIdentity.Value", Name: validation.Null, Rule: true, Chain: nil}, + }}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.ReceiveAgreement.ReceiverBusinessIdentity", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.ReceiveAgreement.ReceiverBusinessIdentity.Qualifier", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.ReceiveAgreement.ReceiverBusinessIdentity.Value", Name: validation.Null, Rule: true, Chain: nil}, + }}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.ReceiveAgreement.ProtocolSettings", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.ReceiveAgreement.ProtocolSettings.ValidationSettings", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.ReceiveAgreement.ProtocolSettings.ValidationSettings.ValidateCharacterSet", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.ReceiveAgreement.ProtocolSettings.ValidationSettings.CheckDuplicateInterchangeControlNumber", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.ReceiveAgreement.ProtocolSettings.ValidationSettings.InterchangeControlNumberValidityDays", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.ReceiveAgreement.ProtocolSettings.ValidationSettings.CheckDuplicateGroupControlNumber", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.ReceiveAgreement.ProtocolSettings.ValidationSettings.CheckDuplicateTransactionSetControlNumber", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.ReceiveAgreement.ProtocolSettings.ValidationSettings.ValidateEDITypes", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.ReceiveAgreement.ProtocolSettings.ValidationSettings.ValidateXSDTypes", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.ReceiveAgreement.ProtocolSettings.ValidationSettings.AllowLeadingAndTrailingSpacesAndZeroes", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.ReceiveAgreement.ProtocolSettings.ValidationSettings.TrimLeadingAndTrailingSpacesAndZeroes", Name: validation.Null, Rule: true, Chain: nil}, + }}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.ReceiveAgreement.ProtocolSettings.FramingSettings", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.ReceiveAgreement.ProtocolSettings.FramingSettings.DataElementSeparator", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.ReceiveAgreement.ProtocolSettings.FramingSettings.ComponentSeparator", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.ReceiveAgreement.ProtocolSettings.FramingSettings.ReplaceSeparatorsInPayload", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.ReceiveAgreement.ProtocolSettings.FramingSettings.ReplaceCharacter", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.ReceiveAgreement.ProtocolSettings.FramingSettings.SegmentTerminator", Name: validation.Null, Rule: true, Chain: nil}, + }}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.ReceiveAgreement.ProtocolSettings.EnvelopeSettings", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.ReceiveAgreement.ProtocolSettings.EnvelopeSettings.ControlStandardsID", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.ReceiveAgreement.ProtocolSettings.EnvelopeSettings.UseControlStandardsIDAsRepetitionCharacter", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.ReceiveAgreement.ProtocolSettings.EnvelopeSettings.SenderApplicationID", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.ReceiveAgreement.ProtocolSettings.EnvelopeSettings.ReceiverApplicationID", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.ReceiveAgreement.ProtocolSettings.EnvelopeSettings.ControlVersionNumber", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.ReceiveAgreement.ProtocolSettings.EnvelopeSettings.InterchangeControlNumberLowerBound", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.ReceiveAgreement.ProtocolSettings.EnvelopeSettings.InterchangeControlNumberUpperBound", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.ReceiveAgreement.ProtocolSettings.EnvelopeSettings.RolloverInterchangeControlNumber", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.ReceiveAgreement.ProtocolSettings.EnvelopeSettings.EnableDefaultGroupHeaders", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.ReceiveAgreement.ProtocolSettings.EnvelopeSettings.GroupControlNumberLowerBound", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.ReceiveAgreement.ProtocolSettings.EnvelopeSettings.GroupControlNumberUpperBound", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.ReceiveAgreement.ProtocolSettings.EnvelopeSettings.RolloverGroupControlNumber", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.ReceiveAgreement.ProtocolSettings.EnvelopeSettings.GroupHeaderAgencyCode", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.ReceiveAgreement.ProtocolSettings.EnvelopeSettings.GroupHeaderVersion", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.ReceiveAgreement.ProtocolSettings.EnvelopeSettings.TransactionSetControlNumberLowerBound", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.ReceiveAgreement.ProtocolSettings.EnvelopeSettings.TransactionSetControlNumberUpperBound", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.ReceiveAgreement.ProtocolSettings.EnvelopeSettings.RolloverTransactionSetControlNumber", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.ReceiveAgreement.ProtocolSettings.EnvelopeSettings.OverwriteExistingTransactionSetControlNumber", Name: validation.Null, Rule: true, Chain: nil}, + }}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.ReceiveAgreement.ProtocolSettings.AcknowledgementSettings", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.ReceiveAgreement.ProtocolSettings.AcknowledgementSettings.NeedTechnicalAcknowledgement", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.ReceiveAgreement.ProtocolSettings.AcknowledgementSettings.BatchTechnicalAcknowledgements", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.ReceiveAgreement.ProtocolSettings.AcknowledgementSettings.NeedFunctionalAcknowledgement", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.ReceiveAgreement.ProtocolSettings.AcknowledgementSettings.BatchFunctionalAcknowledgements", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.ReceiveAgreement.ProtocolSettings.AcknowledgementSettings.NeedImplementationAcknowledgement", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.ReceiveAgreement.ProtocolSettings.AcknowledgementSettings.BatchImplementationAcknowledgements", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.ReceiveAgreement.ProtocolSettings.AcknowledgementSettings.NeedLoopForValidMessages", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.ReceiveAgreement.ProtocolSettings.AcknowledgementSettings.SendSynchronousAcknowledgement", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.ReceiveAgreement.ProtocolSettings.AcknowledgementSettings.AcknowledgementControlNumberLowerBound", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.ReceiveAgreement.ProtocolSettings.AcknowledgementSettings.AcknowledgementControlNumberUpperBound", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.ReceiveAgreement.ProtocolSettings.AcknowledgementSettings.RolloverAcknowledgementControlNumber", Name: validation.Null, Rule: true, Chain: nil}, + }}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.ReceiveAgreement.ProtocolSettings.MessageFilter", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.ReceiveAgreement.ProtocolSettings.SecuritySettings", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.ReceiveAgreement.ProtocolSettings.SecuritySettings.AuthorizationQualifier", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.ReceiveAgreement.ProtocolSettings.SecuritySettings.SecurityQualifier", Name: validation.Null, Rule: true, Chain: nil}, + }}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.ReceiveAgreement.ProtocolSettings.ProcessingSettings", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.ReceiveAgreement.ProtocolSettings.ProcessingSettings.MaskSecurityInfo", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.ReceiveAgreement.ProtocolSettings.ProcessingSettings.ConvertImpliedDecimal", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.ReceiveAgreement.ProtocolSettings.ProcessingSettings.PreserveInterchange", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.ReceiveAgreement.ProtocolSettings.ProcessingSettings.SuspendInterchangeOnError", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.ReceiveAgreement.ProtocolSettings.ProcessingSettings.CreateEmptyXMLTagsForTrailingSeparators", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.ReceiveAgreement.ProtocolSettings.ProcessingSettings.UseDotAsDecimalSeparator", Name: validation.Null, Rule: true, Chain: nil}, + }}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.ReceiveAgreement.ProtocolSettings.SchemaReferences", Name: validation.Null, Rule: true, Chain: nil}, + }}, + }}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.SendAgreement", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.SendAgreement.SenderBusinessIdentity", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.SendAgreement.SenderBusinessIdentity.Qualifier", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.SendAgreement.SenderBusinessIdentity.Value", Name: validation.Null, Rule: true, Chain: nil}, + }}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.SendAgreement.ReceiverBusinessIdentity", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.SendAgreement.ReceiverBusinessIdentity.Qualifier", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.SendAgreement.ReceiverBusinessIdentity.Value", Name: validation.Null, Rule: true, Chain: nil}, + }}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.SendAgreement.ProtocolSettings", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.SendAgreement.ProtocolSettings.ValidationSettings", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.SendAgreement.ProtocolSettings.ValidationSettings.ValidateCharacterSet", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.SendAgreement.ProtocolSettings.ValidationSettings.CheckDuplicateInterchangeControlNumber", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.SendAgreement.ProtocolSettings.ValidationSettings.InterchangeControlNumberValidityDays", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.SendAgreement.ProtocolSettings.ValidationSettings.CheckDuplicateGroupControlNumber", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.SendAgreement.ProtocolSettings.ValidationSettings.CheckDuplicateTransactionSetControlNumber", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.SendAgreement.ProtocolSettings.ValidationSettings.ValidateEDITypes", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.SendAgreement.ProtocolSettings.ValidationSettings.ValidateXSDTypes", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.SendAgreement.ProtocolSettings.ValidationSettings.AllowLeadingAndTrailingSpacesAndZeroes", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.SendAgreement.ProtocolSettings.ValidationSettings.TrimLeadingAndTrailingSpacesAndZeroes", Name: validation.Null, Rule: true, Chain: nil}, + }}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.SendAgreement.ProtocolSettings.FramingSettings", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.SendAgreement.ProtocolSettings.FramingSettings.DataElementSeparator", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.SendAgreement.ProtocolSettings.FramingSettings.ComponentSeparator", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.SendAgreement.ProtocolSettings.FramingSettings.ReplaceSeparatorsInPayload", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.SendAgreement.ProtocolSettings.FramingSettings.ReplaceCharacter", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.SendAgreement.ProtocolSettings.FramingSettings.SegmentTerminator", Name: validation.Null, Rule: true, Chain: nil}, + }}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.SendAgreement.ProtocolSettings.EnvelopeSettings", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.SendAgreement.ProtocolSettings.EnvelopeSettings.ControlStandardsID", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.SendAgreement.ProtocolSettings.EnvelopeSettings.UseControlStandardsIDAsRepetitionCharacter", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.SendAgreement.ProtocolSettings.EnvelopeSettings.SenderApplicationID", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.SendAgreement.ProtocolSettings.EnvelopeSettings.ReceiverApplicationID", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.SendAgreement.ProtocolSettings.EnvelopeSettings.ControlVersionNumber", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.SendAgreement.ProtocolSettings.EnvelopeSettings.InterchangeControlNumberLowerBound", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.SendAgreement.ProtocolSettings.EnvelopeSettings.InterchangeControlNumberUpperBound", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.SendAgreement.ProtocolSettings.EnvelopeSettings.RolloverInterchangeControlNumber", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.SendAgreement.ProtocolSettings.EnvelopeSettings.EnableDefaultGroupHeaders", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.SendAgreement.ProtocolSettings.EnvelopeSettings.GroupControlNumberLowerBound", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.SendAgreement.ProtocolSettings.EnvelopeSettings.GroupControlNumberUpperBound", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.SendAgreement.ProtocolSettings.EnvelopeSettings.RolloverGroupControlNumber", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.SendAgreement.ProtocolSettings.EnvelopeSettings.GroupHeaderAgencyCode", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.SendAgreement.ProtocolSettings.EnvelopeSettings.GroupHeaderVersion", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.SendAgreement.ProtocolSettings.EnvelopeSettings.TransactionSetControlNumberLowerBound", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.SendAgreement.ProtocolSettings.EnvelopeSettings.TransactionSetControlNumberUpperBound", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.SendAgreement.ProtocolSettings.EnvelopeSettings.RolloverTransactionSetControlNumber", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.SendAgreement.ProtocolSettings.EnvelopeSettings.OverwriteExistingTransactionSetControlNumber", Name: validation.Null, Rule: true, Chain: nil}, + }}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.SendAgreement.ProtocolSettings.AcknowledgementSettings", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.SendAgreement.ProtocolSettings.AcknowledgementSettings.NeedTechnicalAcknowledgement", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.SendAgreement.ProtocolSettings.AcknowledgementSettings.BatchTechnicalAcknowledgements", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.SendAgreement.ProtocolSettings.AcknowledgementSettings.NeedFunctionalAcknowledgement", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.SendAgreement.ProtocolSettings.AcknowledgementSettings.BatchFunctionalAcknowledgements", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.SendAgreement.ProtocolSettings.AcknowledgementSettings.NeedImplementationAcknowledgement", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.SendAgreement.ProtocolSettings.AcknowledgementSettings.BatchImplementationAcknowledgements", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.SendAgreement.ProtocolSettings.AcknowledgementSettings.NeedLoopForValidMessages", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.SendAgreement.ProtocolSettings.AcknowledgementSettings.SendSynchronousAcknowledgement", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.SendAgreement.ProtocolSettings.AcknowledgementSettings.AcknowledgementControlNumberLowerBound", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.SendAgreement.ProtocolSettings.AcknowledgementSettings.AcknowledgementControlNumberUpperBound", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.SendAgreement.ProtocolSettings.AcknowledgementSettings.RolloverAcknowledgementControlNumber", Name: validation.Null, Rule: true, Chain: nil}, + }}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.SendAgreement.ProtocolSettings.MessageFilter", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.SendAgreement.ProtocolSettings.SecuritySettings", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.SendAgreement.ProtocolSettings.SecuritySettings.AuthorizationQualifier", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.SendAgreement.ProtocolSettings.SecuritySettings.SecurityQualifier", Name: validation.Null, Rule: true, Chain: nil}, + }}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.SendAgreement.ProtocolSettings.ProcessingSettings", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.SendAgreement.ProtocolSettings.ProcessingSettings.MaskSecurityInfo", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.SendAgreement.ProtocolSettings.ProcessingSettings.ConvertImpliedDecimal", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.SendAgreement.ProtocolSettings.ProcessingSettings.PreserveInterchange", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.SendAgreement.ProtocolSettings.ProcessingSettings.SuspendInterchangeOnError", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.SendAgreement.ProtocolSettings.ProcessingSettings.CreateEmptyXMLTagsForTrailingSeparators", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.SendAgreement.ProtocolSettings.ProcessingSettings.UseDotAsDecimalSeparator", Name: validation.Null, Rule: true, Chain: nil}, + }}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.X12.SendAgreement.ProtocolSettings.SchemaReferences", Name: validation.Null, Rule: true, Chain: nil}, + }}, + }}, + }}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.ReceiveAgreement", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.ReceiveAgreement.SenderBusinessIdentity", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.ReceiveAgreement.SenderBusinessIdentity.Qualifier", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.ReceiveAgreement.SenderBusinessIdentity.Value", Name: validation.Null, Rule: true, Chain: nil}, + }}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.ReceiveAgreement.ReceiverBusinessIdentity", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.ReceiveAgreement.ReceiverBusinessIdentity.Qualifier", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.ReceiveAgreement.ReceiverBusinessIdentity.Value", Name: validation.Null, Rule: true, Chain: nil}, + }}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.ReceiveAgreement.ProtocolSettings", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.ReceiveAgreement.ProtocolSettings.ValidationSettings", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.ReceiveAgreement.ProtocolSettings.ValidationSettings.ValidateCharacterSet", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.ReceiveAgreement.ProtocolSettings.ValidationSettings.CheckDuplicateInterchangeControlNumber", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.ReceiveAgreement.ProtocolSettings.ValidationSettings.InterchangeControlNumberValidityDays", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.ReceiveAgreement.ProtocolSettings.ValidationSettings.CheckDuplicateGroupControlNumber", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.ReceiveAgreement.ProtocolSettings.ValidationSettings.CheckDuplicateTransactionSetControlNumber", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.ReceiveAgreement.ProtocolSettings.ValidationSettings.ValidateEDITypes", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.ReceiveAgreement.ProtocolSettings.ValidationSettings.ValidateXSDTypes", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.ReceiveAgreement.ProtocolSettings.ValidationSettings.AllowLeadingAndTrailingSpacesAndZeroes", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.ReceiveAgreement.ProtocolSettings.ValidationSettings.TrimLeadingAndTrailingSpacesAndZeroes", Name: validation.Null, Rule: true, Chain: nil}, + }}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.ReceiveAgreement.ProtocolSettings.FramingSettings", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.ReceiveAgreement.ProtocolSettings.FramingSettings.ProtocolVersion", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.ReceiveAgreement.ProtocolSettings.FramingSettings.DataElementSeparator", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.ReceiveAgreement.ProtocolSettings.FramingSettings.ComponentSeparator", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.ReceiveAgreement.ProtocolSettings.FramingSettings.SegmentTerminator", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.ReceiveAgreement.ProtocolSettings.FramingSettings.ReleaseIndicator", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.ReceiveAgreement.ProtocolSettings.FramingSettings.RepetitionSeparator", Name: validation.Null, Rule: true, Chain: nil}, + }}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.ReceiveAgreement.ProtocolSettings.EnvelopeSettings", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.ReceiveAgreement.ProtocolSettings.EnvelopeSettings.ApplyDelimiterStringAdvice", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.ReceiveAgreement.ProtocolSettings.EnvelopeSettings.CreateGroupingSegments", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.ReceiveAgreement.ProtocolSettings.EnvelopeSettings.EnableDefaultGroupHeaders", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.ReceiveAgreement.ProtocolSettings.EnvelopeSettings.InterchangeControlNumberLowerBound", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.ReceiveAgreement.ProtocolSettings.EnvelopeSettings.InterchangeControlNumberUpperBound", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.ReceiveAgreement.ProtocolSettings.EnvelopeSettings.RolloverInterchangeControlNumber", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.ReceiveAgreement.ProtocolSettings.EnvelopeSettings.GroupControlNumberLowerBound", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.ReceiveAgreement.ProtocolSettings.EnvelopeSettings.GroupControlNumberUpperBound", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.ReceiveAgreement.ProtocolSettings.EnvelopeSettings.RolloverGroupControlNumber", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.ReceiveAgreement.ProtocolSettings.EnvelopeSettings.OverwriteExistingTransactionSetControlNumber", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.ReceiveAgreement.ProtocolSettings.EnvelopeSettings.TransactionSetControlNumberLowerBound", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.ReceiveAgreement.ProtocolSettings.EnvelopeSettings.TransactionSetControlNumberUpperBound", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.ReceiveAgreement.ProtocolSettings.EnvelopeSettings.RolloverTransactionSetControlNumber", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.ReceiveAgreement.ProtocolSettings.EnvelopeSettings.IsTestInterchange", Name: validation.Null, Rule: true, Chain: nil}, + }}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.ReceiveAgreement.ProtocolSettings.AcknowledgementSettings", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.ReceiveAgreement.ProtocolSettings.AcknowledgementSettings.NeedTechnicalAcknowledgement", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.ReceiveAgreement.ProtocolSettings.AcknowledgementSettings.BatchTechnicalAcknowledgements", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.ReceiveAgreement.ProtocolSettings.AcknowledgementSettings.NeedFunctionalAcknowledgement", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.ReceiveAgreement.ProtocolSettings.AcknowledgementSettings.BatchFunctionalAcknowledgements", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.ReceiveAgreement.ProtocolSettings.AcknowledgementSettings.NeedLoopForValidMessages", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.ReceiveAgreement.ProtocolSettings.AcknowledgementSettings.SendSynchronousAcknowledgement", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.ReceiveAgreement.ProtocolSettings.AcknowledgementSettings.AcknowledgementControlNumberLowerBound", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.ReceiveAgreement.ProtocolSettings.AcknowledgementSettings.AcknowledgementControlNumberUpperBound", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.ReceiveAgreement.ProtocolSettings.AcknowledgementSettings.RolloverAcknowledgementControlNumber", Name: validation.Null, Rule: true, Chain: nil}, + }}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.ReceiveAgreement.ProtocolSettings.MessageFilter", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.ReceiveAgreement.ProtocolSettings.ProcessingSettings", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.ReceiveAgreement.ProtocolSettings.ProcessingSettings.MaskSecurityInfo", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.ReceiveAgreement.ProtocolSettings.ProcessingSettings.PreserveInterchange", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.ReceiveAgreement.ProtocolSettings.ProcessingSettings.SuspendInterchangeOnError", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.ReceiveAgreement.ProtocolSettings.ProcessingSettings.CreateEmptyXMLTagsForTrailingSeparators", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.ReceiveAgreement.ProtocolSettings.ProcessingSettings.UseDotAsDecimalSeparator", Name: validation.Null, Rule: true, Chain: nil}, + }}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.ReceiveAgreement.ProtocolSettings.SchemaReferences", Name: validation.Null, Rule: true, Chain: nil}, + }}, + }}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.SendAgreement", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.SendAgreement.SenderBusinessIdentity", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.SendAgreement.SenderBusinessIdentity.Qualifier", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.SendAgreement.SenderBusinessIdentity.Value", Name: validation.Null, Rule: true, Chain: nil}, + }}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.SendAgreement.ReceiverBusinessIdentity", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.SendAgreement.ReceiverBusinessIdentity.Qualifier", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.SendAgreement.ReceiverBusinessIdentity.Value", Name: validation.Null, Rule: true, Chain: nil}, + }}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.SendAgreement.ProtocolSettings", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.SendAgreement.ProtocolSettings.ValidationSettings", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.SendAgreement.ProtocolSettings.ValidationSettings.ValidateCharacterSet", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.SendAgreement.ProtocolSettings.ValidationSettings.CheckDuplicateInterchangeControlNumber", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.SendAgreement.ProtocolSettings.ValidationSettings.InterchangeControlNumberValidityDays", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.SendAgreement.ProtocolSettings.ValidationSettings.CheckDuplicateGroupControlNumber", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.SendAgreement.ProtocolSettings.ValidationSettings.CheckDuplicateTransactionSetControlNumber", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.SendAgreement.ProtocolSettings.ValidationSettings.ValidateEDITypes", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.SendAgreement.ProtocolSettings.ValidationSettings.ValidateXSDTypes", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.SendAgreement.ProtocolSettings.ValidationSettings.AllowLeadingAndTrailingSpacesAndZeroes", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.SendAgreement.ProtocolSettings.ValidationSettings.TrimLeadingAndTrailingSpacesAndZeroes", Name: validation.Null, Rule: true, Chain: nil}, + }}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.SendAgreement.ProtocolSettings.FramingSettings", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.SendAgreement.ProtocolSettings.FramingSettings.ProtocolVersion", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.SendAgreement.ProtocolSettings.FramingSettings.DataElementSeparator", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.SendAgreement.ProtocolSettings.FramingSettings.ComponentSeparator", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.SendAgreement.ProtocolSettings.FramingSettings.SegmentTerminator", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.SendAgreement.ProtocolSettings.FramingSettings.ReleaseIndicator", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.SendAgreement.ProtocolSettings.FramingSettings.RepetitionSeparator", Name: validation.Null, Rule: true, Chain: nil}, + }}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.SendAgreement.ProtocolSettings.EnvelopeSettings", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.SendAgreement.ProtocolSettings.EnvelopeSettings.ApplyDelimiterStringAdvice", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.SendAgreement.ProtocolSettings.EnvelopeSettings.CreateGroupingSegments", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.SendAgreement.ProtocolSettings.EnvelopeSettings.EnableDefaultGroupHeaders", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.SendAgreement.ProtocolSettings.EnvelopeSettings.InterchangeControlNumberLowerBound", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.SendAgreement.ProtocolSettings.EnvelopeSettings.InterchangeControlNumberUpperBound", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.SendAgreement.ProtocolSettings.EnvelopeSettings.RolloverInterchangeControlNumber", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.SendAgreement.ProtocolSettings.EnvelopeSettings.GroupControlNumberLowerBound", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.SendAgreement.ProtocolSettings.EnvelopeSettings.GroupControlNumberUpperBound", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.SendAgreement.ProtocolSettings.EnvelopeSettings.RolloverGroupControlNumber", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.SendAgreement.ProtocolSettings.EnvelopeSettings.OverwriteExistingTransactionSetControlNumber", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.SendAgreement.ProtocolSettings.EnvelopeSettings.TransactionSetControlNumberLowerBound", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.SendAgreement.ProtocolSettings.EnvelopeSettings.TransactionSetControlNumberUpperBound", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.SendAgreement.ProtocolSettings.EnvelopeSettings.RolloverTransactionSetControlNumber", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.SendAgreement.ProtocolSettings.EnvelopeSettings.IsTestInterchange", Name: validation.Null, Rule: true, Chain: nil}, + }}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.SendAgreement.ProtocolSettings.AcknowledgementSettings", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.SendAgreement.ProtocolSettings.AcknowledgementSettings.NeedTechnicalAcknowledgement", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.SendAgreement.ProtocolSettings.AcknowledgementSettings.BatchTechnicalAcknowledgements", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.SendAgreement.ProtocolSettings.AcknowledgementSettings.NeedFunctionalAcknowledgement", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.SendAgreement.ProtocolSettings.AcknowledgementSettings.BatchFunctionalAcknowledgements", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.SendAgreement.ProtocolSettings.AcknowledgementSettings.NeedLoopForValidMessages", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.SendAgreement.ProtocolSettings.AcknowledgementSettings.SendSynchronousAcknowledgement", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.SendAgreement.ProtocolSettings.AcknowledgementSettings.AcknowledgementControlNumberLowerBound", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.SendAgreement.ProtocolSettings.AcknowledgementSettings.AcknowledgementControlNumberUpperBound", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.SendAgreement.ProtocolSettings.AcknowledgementSettings.RolloverAcknowledgementControlNumber", Name: validation.Null, Rule: true, Chain: nil}, + }}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.SendAgreement.ProtocolSettings.MessageFilter", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.SendAgreement.ProtocolSettings.ProcessingSettings", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.SendAgreement.ProtocolSettings.ProcessingSettings.MaskSecurityInfo", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.SendAgreement.ProtocolSettings.ProcessingSettings.PreserveInterchange", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.SendAgreement.ProtocolSettings.ProcessingSettings.SuspendInterchangeOnError", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.SendAgreement.ProtocolSettings.ProcessingSettings.CreateEmptyXMLTagsForTrailingSeparators", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.SendAgreement.ProtocolSettings.ProcessingSettings.UseDotAsDecimalSeparator", Name: validation.Null, Rule: true, Chain: nil}, + }}, + {Target: "agreement.IntegrationAccountAgreementProperties.Content.Edifact.SendAgreement.ProtocolSettings.SchemaReferences", Name: validation.Null, Rule: true, Chain: nil}, + }}, + }}, + }}, + }}, + }}}}}); err != nil { + return result, validation.NewError("logic.IntegrationAccountAgreementsClient", "CreateOrUpdate", err.Error()) + } + + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, integrationAccountName, agreementName, agreement) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountAgreementsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountAgreementsClient", "CreateOrUpdate", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountAgreementsClient", "CreateOrUpdate", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client IntegrationAccountAgreementsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, integrationAccountName string, agreementName string, agreement IntegrationAccountAgreement) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "agreementName": autorest.Encode("path", agreementName), + "integrationAccountName": autorest.Encode("path", integrationAccountName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/agreements/{agreementName}", pathParameters), + autorest.WithJSON(agreement), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client IntegrationAccountAgreementsClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client IntegrationAccountAgreementsClient) CreateOrUpdateResponder(resp *http.Response) (result IntegrationAccountAgreement, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes an integration account agreement. +// Parameters: +// resourceGroupName - the resource group name. +// integrationAccountName - the integration account name. +// agreementName - the integration account agreement name. +func (client IntegrationAccountAgreementsClient) Delete(ctx context.Context, resourceGroupName string, integrationAccountName string, agreementName string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationAccountAgreementsClient.Delete") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, integrationAccountName, agreementName) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountAgreementsClient", "Delete", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountAgreementsClient", "Delete", resp, "Failure sending request") + return + } + + result, err = client.DeleteResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountAgreementsClient", "Delete", resp, "Failure responding to request") + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client IntegrationAccountAgreementsClient) DeletePreparer(ctx context.Context, resourceGroupName string, integrationAccountName string, agreementName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "agreementName": autorest.Encode("path", agreementName), + "integrationAccountName": autorest.Encode("path", integrationAccountName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/agreements/{agreementName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client IntegrationAccountAgreementsClient) DeleteSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client IntegrationAccountAgreementsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets an integration account agreement. +// Parameters: +// resourceGroupName - the resource group name. +// integrationAccountName - the integration account name. +// agreementName - the integration account agreement name. +func (client IntegrationAccountAgreementsClient) Get(ctx context.Context, resourceGroupName string, integrationAccountName string, agreementName string) (result IntegrationAccountAgreement, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationAccountAgreementsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, integrationAccountName, agreementName) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountAgreementsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountAgreementsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountAgreementsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client IntegrationAccountAgreementsClient) GetPreparer(ctx context.Context, resourceGroupName string, integrationAccountName string, agreementName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "agreementName": autorest.Encode("path", agreementName), + "integrationAccountName": autorest.Encode("path", integrationAccountName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/agreements/{agreementName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client IntegrationAccountAgreementsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client IntegrationAccountAgreementsClient) GetResponder(resp *http.Response) (result IntegrationAccountAgreement, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets a list of integration account agreements. +// Parameters: +// resourceGroupName - the resource group name. +// integrationAccountName - the integration account name. +// top - the number of items to be included in the result. +// filter - the filter to apply on the operation. Options for filters include: AgreementType. +func (client IntegrationAccountAgreementsClient) List(ctx context.Context, resourceGroupName string, integrationAccountName string, top *int32, filter string) (result IntegrationAccountAgreementListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationAccountAgreementsClient.List") + defer func() { + sc := -1 + if result.iaalr.Response.Response != nil { + sc = result.iaalr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName, integrationAccountName, top, filter) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountAgreementsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.iaalr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountAgreementsClient", "List", resp, "Failure sending request") + return + } + + result.iaalr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountAgreementsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client IntegrationAccountAgreementsClient) ListPreparer(ctx context.Context, resourceGroupName string, integrationAccountName string, top *int32, filter string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "integrationAccountName": autorest.Encode("path", integrationAccountName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if top != nil { + queryParameters["$top"] = autorest.Encode("query", *top) + } + if len(filter) > 0 { + queryParameters["$filter"] = autorest.Encode("query", filter) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/agreements", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client IntegrationAccountAgreementsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client IntegrationAccountAgreementsClient) ListResponder(resp *http.Response) (result IntegrationAccountAgreementListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client IntegrationAccountAgreementsClient) listNextResults(ctx context.Context, lastResults IntegrationAccountAgreementListResult) (result IntegrationAccountAgreementListResult, err error) { + req, err := lastResults.integrationAccountAgreementListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "logic.IntegrationAccountAgreementsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "logic.IntegrationAccountAgreementsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountAgreementsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client IntegrationAccountAgreementsClient) ListComplete(ctx context.Context, resourceGroupName string, integrationAccountName string, top *int32, filter string) (result IntegrationAccountAgreementListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationAccountAgreementsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName, integrationAccountName, top, filter) + return +} + +// ListContentCallbackURL get the content callback url. +// Parameters: +// resourceGroupName - the resource group name. +// integrationAccountName - the integration account name. +// agreementName - the integration account agreement name. +func (client IntegrationAccountAgreementsClient) ListContentCallbackURL(ctx context.Context, resourceGroupName string, integrationAccountName string, agreementName string, listContentCallbackURL GetCallbackURLParameters) (result WorkflowTriggerCallbackURL, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationAccountAgreementsClient.ListContentCallbackURL") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListContentCallbackURLPreparer(ctx, resourceGroupName, integrationAccountName, agreementName, listContentCallbackURL) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountAgreementsClient", "ListContentCallbackURL", nil, "Failure preparing request") + return + } + + resp, err := client.ListContentCallbackURLSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountAgreementsClient", "ListContentCallbackURL", resp, "Failure sending request") + return + } + + result, err = client.ListContentCallbackURLResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountAgreementsClient", "ListContentCallbackURL", resp, "Failure responding to request") + } + + return +} + +// ListContentCallbackURLPreparer prepares the ListContentCallbackURL request. +func (client IntegrationAccountAgreementsClient) ListContentCallbackURLPreparer(ctx context.Context, resourceGroupName string, integrationAccountName string, agreementName string, listContentCallbackURL GetCallbackURLParameters) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "agreementName": autorest.Encode("path", agreementName), + "integrationAccountName": autorest.Encode("path", integrationAccountName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/agreements/{agreementName}/listContentCallbackUrl", pathParameters), + autorest.WithJSON(listContentCallbackURL), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListContentCallbackURLSender sends the ListContentCallbackURL request. The method will close the +// http.Response Body if it receives an error. +func (client IntegrationAccountAgreementsClient) ListContentCallbackURLSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListContentCallbackURLResponder handles the response to the ListContentCallbackURL request. The method always +// closes the http.Response Body. +func (client IntegrationAccountAgreementsClient) ListContentCallbackURLResponder(resp *http.Response) (result WorkflowTriggerCallbackURL, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/preview/logic/mgmt/2019-05-01/logic/integrationaccountassemblies.go b/services/preview/logic/mgmt/2019-05-01/logic/integrationaccountassemblies.go new file mode 100644 index 000000000000..18d6f53958c0 --- /dev/null +++ b/services/preview/logic/mgmt/2019-05-01/logic/integrationaccountassemblies.go @@ -0,0 +1,445 @@ +package logic + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// IntegrationAccountAssembliesClient is the REST API for Azure Logic Apps. +type IntegrationAccountAssembliesClient struct { + BaseClient +} + +// NewIntegrationAccountAssembliesClient creates an instance of the IntegrationAccountAssembliesClient client. +func NewIntegrationAccountAssembliesClient(subscriptionID string) IntegrationAccountAssembliesClient { + return NewIntegrationAccountAssembliesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewIntegrationAccountAssembliesClientWithBaseURI creates an instance of the IntegrationAccountAssembliesClient +// client. +func NewIntegrationAccountAssembliesClientWithBaseURI(baseURI string, subscriptionID string) IntegrationAccountAssembliesClient { + return IntegrationAccountAssembliesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate create or update an assembly for an integration account. +// Parameters: +// resourceGroupName - the resource group name. +// integrationAccountName - the integration account name. +// assemblyArtifactName - the assembly artifact name. +// assemblyArtifact - the assembly artifact. +func (client IntegrationAccountAssembliesClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, integrationAccountName string, assemblyArtifactName string, assemblyArtifact AssemblyDefinition) (result AssemblyDefinition, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationAccountAssembliesClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: assemblyArtifact, + Constraints: []validation.Constraint{{Target: "assemblyArtifact.Properties", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "assemblyArtifact.Properties.AssemblyName", Name: validation.Null, Rule: true, Chain: nil}}}}}}); err != nil { + return result, validation.NewError("logic.IntegrationAccountAssembliesClient", "CreateOrUpdate", err.Error()) + } + + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, integrationAccountName, assemblyArtifactName, assemblyArtifact) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountAssembliesClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountAssembliesClient", "CreateOrUpdate", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountAssembliesClient", "CreateOrUpdate", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client IntegrationAccountAssembliesClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, integrationAccountName string, assemblyArtifactName string, assemblyArtifact AssemblyDefinition) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "assemblyArtifactName": autorest.Encode("path", assemblyArtifactName), + "integrationAccountName": autorest.Encode("path", integrationAccountName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/assemblies/{assemblyArtifactName}", pathParameters), + autorest.WithJSON(assemblyArtifact), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client IntegrationAccountAssembliesClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client IntegrationAccountAssembliesClient) CreateOrUpdateResponder(resp *http.Response) (result AssemblyDefinition, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete delete an assembly for an integration account. +// Parameters: +// resourceGroupName - the resource group name. +// integrationAccountName - the integration account name. +// assemblyArtifactName - the assembly artifact name. +func (client IntegrationAccountAssembliesClient) Delete(ctx context.Context, resourceGroupName string, integrationAccountName string, assemblyArtifactName string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationAccountAssembliesClient.Delete") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, integrationAccountName, assemblyArtifactName) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountAssembliesClient", "Delete", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountAssembliesClient", "Delete", resp, "Failure sending request") + return + } + + result, err = client.DeleteResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountAssembliesClient", "Delete", resp, "Failure responding to request") + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client IntegrationAccountAssembliesClient) DeletePreparer(ctx context.Context, resourceGroupName string, integrationAccountName string, assemblyArtifactName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "assemblyArtifactName": autorest.Encode("path", assemblyArtifactName), + "integrationAccountName": autorest.Encode("path", integrationAccountName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/assemblies/{assemblyArtifactName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client IntegrationAccountAssembliesClient) DeleteSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client IntegrationAccountAssembliesClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get get an assembly for an integration account. +// Parameters: +// resourceGroupName - the resource group name. +// integrationAccountName - the integration account name. +// assemblyArtifactName - the assembly artifact name. +func (client IntegrationAccountAssembliesClient) Get(ctx context.Context, resourceGroupName string, integrationAccountName string, assemblyArtifactName string) (result AssemblyDefinition, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationAccountAssembliesClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, integrationAccountName, assemblyArtifactName) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountAssembliesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountAssembliesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountAssembliesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client IntegrationAccountAssembliesClient) GetPreparer(ctx context.Context, resourceGroupName string, integrationAccountName string, assemblyArtifactName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "assemblyArtifactName": autorest.Encode("path", assemblyArtifactName), + "integrationAccountName": autorest.Encode("path", integrationAccountName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/assemblies/{assemblyArtifactName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client IntegrationAccountAssembliesClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client IntegrationAccountAssembliesClient) GetResponder(resp *http.Response) (result AssemblyDefinition, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List list the assemblies for an integration account. +// Parameters: +// resourceGroupName - the resource group name. +// integrationAccountName - the integration account name. +func (client IntegrationAccountAssembliesClient) List(ctx context.Context, resourceGroupName string, integrationAccountName string) (result AssemblyCollection, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationAccountAssembliesClient.List") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListPreparer(ctx, resourceGroupName, integrationAccountName) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountAssembliesClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountAssembliesClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountAssembliesClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client IntegrationAccountAssembliesClient) ListPreparer(ctx context.Context, resourceGroupName string, integrationAccountName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "integrationAccountName": autorest.Encode("path", integrationAccountName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/assemblies", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client IntegrationAccountAssembliesClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client IntegrationAccountAssembliesClient) ListResponder(resp *http.Response) (result AssemblyCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListContentCallbackURL get the content callback url for an integration account assembly. +// Parameters: +// resourceGroupName - the resource group name. +// integrationAccountName - the integration account name. +// assemblyArtifactName - the assembly artifact name. +func (client IntegrationAccountAssembliesClient) ListContentCallbackURL(ctx context.Context, resourceGroupName string, integrationAccountName string, assemblyArtifactName string) (result WorkflowTriggerCallbackURL, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationAccountAssembliesClient.ListContentCallbackURL") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListContentCallbackURLPreparer(ctx, resourceGroupName, integrationAccountName, assemblyArtifactName) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountAssembliesClient", "ListContentCallbackURL", nil, "Failure preparing request") + return + } + + resp, err := client.ListContentCallbackURLSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountAssembliesClient", "ListContentCallbackURL", resp, "Failure sending request") + return + } + + result, err = client.ListContentCallbackURLResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountAssembliesClient", "ListContentCallbackURL", resp, "Failure responding to request") + } + + return +} + +// ListContentCallbackURLPreparer prepares the ListContentCallbackURL request. +func (client IntegrationAccountAssembliesClient) ListContentCallbackURLPreparer(ctx context.Context, resourceGroupName string, integrationAccountName string, assemblyArtifactName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "assemblyArtifactName": autorest.Encode("path", assemblyArtifactName), + "integrationAccountName": autorest.Encode("path", integrationAccountName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/assemblies/{assemblyArtifactName}/listContentCallbackUrl", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListContentCallbackURLSender sends the ListContentCallbackURL request. The method will close the +// http.Response Body if it receives an error. +func (client IntegrationAccountAssembliesClient) ListContentCallbackURLSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListContentCallbackURLResponder handles the response to the ListContentCallbackURL request. The method always +// closes the http.Response Body. +func (client IntegrationAccountAssembliesClient) ListContentCallbackURLResponder(resp *http.Response) (result WorkflowTriggerCallbackURL, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/preview/logic/mgmt/2019-05-01/logic/integrationaccountbatchconfigurations.go b/services/preview/logic/mgmt/2019-05-01/logic/integrationaccountbatchconfigurations.go new file mode 100644 index 000000000000..406f145f0165 --- /dev/null +++ b/services/preview/logic/mgmt/2019-05-01/logic/integrationaccountbatchconfigurations.go @@ -0,0 +1,369 @@ +package logic + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// IntegrationAccountBatchConfigurationsClient is the REST API for Azure Logic Apps. +type IntegrationAccountBatchConfigurationsClient struct { + BaseClient +} + +// NewIntegrationAccountBatchConfigurationsClient creates an instance of the +// IntegrationAccountBatchConfigurationsClient client. +func NewIntegrationAccountBatchConfigurationsClient(subscriptionID string) IntegrationAccountBatchConfigurationsClient { + return NewIntegrationAccountBatchConfigurationsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewIntegrationAccountBatchConfigurationsClientWithBaseURI creates an instance of the +// IntegrationAccountBatchConfigurationsClient client. +func NewIntegrationAccountBatchConfigurationsClientWithBaseURI(baseURI string, subscriptionID string) IntegrationAccountBatchConfigurationsClient { + return IntegrationAccountBatchConfigurationsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate create or update a batch configuration for an integration account. +// Parameters: +// resourceGroupName - the resource group name. +// integrationAccountName - the integration account name. +// batchConfigurationName - the batch configuration name. +// batchConfiguration - the batch configuration. +func (client IntegrationAccountBatchConfigurationsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, integrationAccountName string, batchConfigurationName string, batchConfiguration BatchConfiguration) (result BatchConfiguration, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationAccountBatchConfigurationsClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: batchConfiguration, + Constraints: []validation.Constraint{{Target: "batchConfiguration.Properties", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "batchConfiguration.Properties.BatchGroupName", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "batchConfiguration.Properties.ReleaseCriteria", Name: validation.Null, Rule: true, Chain: nil}, + }}}}}); err != nil { + return result, validation.NewError("logic.IntegrationAccountBatchConfigurationsClient", "CreateOrUpdate", err.Error()) + } + + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, integrationAccountName, batchConfigurationName, batchConfiguration) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountBatchConfigurationsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountBatchConfigurationsClient", "CreateOrUpdate", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountBatchConfigurationsClient", "CreateOrUpdate", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client IntegrationAccountBatchConfigurationsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, integrationAccountName string, batchConfigurationName string, batchConfiguration BatchConfiguration) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "batchConfigurationName": autorest.Encode("path", batchConfigurationName), + "integrationAccountName": autorest.Encode("path", integrationAccountName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/batchConfigurations/{batchConfigurationName}", pathParameters), + autorest.WithJSON(batchConfiguration), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client IntegrationAccountBatchConfigurationsClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client IntegrationAccountBatchConfigurationsClient) CreateOrUpdateResponder(resp *http.Response) (result BatchConfiguration, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete delete a batch configuration for an integration account. +// Parameters: +// resourceGroupName - the resource group name. +// integrationAccountName - the integration account name. +// batchConfigurationName - the batch configuration name. +func (client IntegrationAccountBatchConfigurationsClient) Delete(ctx context.Context, resourceGroupName string, integrationAccountName string, batchConfigurationName string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationAccountBatchConfigurationsClient.Delete") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, integrationAccountName, batchConfigurationName) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountBatchConfigurationsClient", "Delete", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountBatchConfigurationsClient", "Delete", resp, "Failure sending request") + return + } + + result, err = client.DeleteResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountBatchConfigurationsClient", "Delete", resp, "Failure responding to request") + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client IntegrationAccountBatchConfigurationsClient) DeletePreparer(ctx context.Context, resourceGroupName string, integrationAccountName string, batchConfigurationName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "batchConfigurationName": autorest.Encode("path", batchConfigurationName), + "integrationAccountName": autorest.Encode("path", integrationAccountName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/batchConfigurations/{batchConfigurationName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client IntegrationAccountBatchConfigurationsClient) DeleteSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client IntegrationAccountBatchConfigurationsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get get a batch configuration for an integration account. +// Parameters: +// resourceGroupName - the resource group name. +// integrationAccountName - the integration account name. +// batchConfigurationName - the batch configuration name. +func (client IntegrationAccountBatchConfigurationsClient) Get(ctx context.Context, resourceGroupName string, integrationAccountName string, batchConfigurationName string) (result BatchConfiguration, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationAccountBatchConfigurationsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, integrationAccountName, batchConfigurationName) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountBatchConfigurationsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountBatchConfigurationsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountBatchConfigurationsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client IntegrationAccountBatchConfigurationsClient) GetPreparer(ctx context.Context, resourceGroupName string, integrationAccountName string, batchConfigurationName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "batchConfigurationName": autorest.Encode("path", batchConfigurationName), + "integrationAccountName": autorest.Encode("path", integrationAccountName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/batchConfigurations/{batchConfigurationName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client IntegrationAccountBatchConfigurationsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client IntegrationAccountBatchConfigurationsClient) GetResponder(resp *http.Response) (result BatchConfiguration, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List list the batch configurations for an integration account. +// Parameters: +// resourceGroupName - the resource group name. +// integrationAccountName - the integration account name. +func (client IntegrationAccountBatchConfigurationsClient) List(ctx context.Context, resourceGroupName string, integrationAccountName string) (result BatchConfigurationCollection, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationAccountBatchConfigurationsClient.List") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListPreparer(ctx, resourceGroupName, integrationAccountName) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountBatchConfigurationsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountBatchConfigurationsClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountBatchConfigurationsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client IntegrationAccountBatchConfigurationsClient) ListPreparer(ctx context.Context, resourceGroupName string, integrationAccountName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "integrationAccountName": autorest.Encode("path", integrationAccountName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/batchConfigurations", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client IntegrationAccountBatchConfigurationsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client IntegrationAccountBatchConfigurationsClient) ListResponder(resp *http.Response) (result BatchConfigurationCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/preview/logic/mgmt/2019-05-01/logic/integrationaccountcertificates.go b/services/preview/logic/mgmt/2019-05-01/logic/integrationaccountcertificates.go new file mode 100644 index 000000000000..64c787e6bd7a --- /dev/null +++ b/services/preview/logic/mgmt/2019-05-01/logic/integrationaccountcertificates.go @@ -0,0 +1,412 @@ +package logic + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// IntegrationAccountCertificatesClient is the REST API for Azure Logic Apps. +type IntegrationAccountCertificatesClient struct { + BaseClient +} + +// NewIntegrationAccountCertificatesClient creates an instance of the IntegrationAccountCertificatesClient client. +func NewIntegrationAccountCertificatesClient(subscriptionID string) IntegrationAccountCertificatesClient { + return NewIntegrationAccountCertificatesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewIntegrationAccountCertificatesClientWithBaseURI creates an instance of the IntegrationAccountCertificatesClient +// client. +func NewIntegrationAccountCertificatesClientWithBaseURI(baseURI string, subscriptionID string) IntegrationAccountCertificatesClient { + return IntegrationAccountCertificatesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates an integration account certificate. +// Parameters: +// resourceGroupName - the resource group name. +// integrationAccountName - the integration account name. +// certificateName - the integration account certificate name. +// certificate - the integration account certificate. +func (client IntegrationAccountCertificatesClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, integrationAccountName string, certificateName string, certificate IntegrationAccountCertificate) (result IntegrationAccountCertificate, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationAccountCertificatesClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: certificate, + Constraints: []validation.Constraint{{Target: "certificate.IntegrationAccountCertificateProperties", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "certificate.IntegrationAccountCertificateProperties.Key", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "certificate.IntegrationAccountCertificateProperties.Key.KeyVault", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "certificate.IntegrationAccountCertificateProperties.Key.KeyName", Name: validation.Null, Rule: true, Chain: nil}, + }}, + }}}}}); err != nil { + return result, validation.NewError("logic.IntegrationAccountCertificatesClient", "CreateOrUpdate", err.Error()) + } + + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, integrationAccountName, certificateName, certificate) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountCertificatesClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountCertificatesClient", "CreateOrUpdate", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountCertificatesClient", "CreateOrUpdate", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client IntegrationAccountCertificatesClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, integrationAccountName string, certificateName string, certificate IntegrationAccountCertificate) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "certificateName": autorest.Encode("path", certificateName), + "integrationAccountName": autorest.Encode("path", integrationAccountName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/certificates/{certificateName}", pathParameters), + autorest.WithJSON(certificate), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client IntegrationAccountCertificatesClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client IntegrationAccountCertificatesClient) CreateOrUpdateResponder(resp *http.Response) (result IntegrationAccountCertificate, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes an integration account certificate. +// Parameters: +// resourceGroupName - the resource group name. +// integrationAccountName - the integration account name. +// certificateName - the integration account certificate name. +func (client IntegrationAccountCertificatesClient) Delete(ctx context.Context, resourceGroupName string, integrationAccountName string, certificateName string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationAccountCertificatesClient.Delete") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, integrationAccountName, certificateName) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountCertificatesClient", "Delete", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountCertificatesClient", "Delete", resp, "Failure sending request") + return + } + + result, err = client.DeleteResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountCertificatesClient", "Delete", resp, "Failure responding to request") + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client IntegrationAccountCertificatesClient) DeletePreparer(ctx context.Context, resourceGroupName string, integrationAccountName string, certificateName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "certificateName": autorest.Encode("path", certificateName), + "integrationAccountName": autorest.Encode("path", integrationAccountName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/certificates/{certificateName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client IntegrationAccountCertificatesClient) DeleteSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client IntegrationAccountCertificatesClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets an integration account certificate. +// Parameters: +// resourceGroupName - the resource group name. +// integrationAccountName - the integration account name. +// certificateName - the integration account certificate name. +func (client IntegrationAccountCertificatesClient) Get(ctx context.Context, resourceGroupName string, integrationAccountName string, certificateName string) (result IntegrationAccountCertificate, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationAccountCertificatesClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, integrationAccountName, certificateName) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountCertificatesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountCertificatesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountCertificatesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client IntegrationAccountCertificatesClient) GetPreparer(ctx context.Context, resourceGroupName string, integrationAccountName string, certificateName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "certificateName": autorest.Encode("path", certificateName), + "integrationAccountName": autorest.Encode("path", integrationAccountName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/certificates/{certificateName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client IntegrationAccountCertificatesClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client IntegrationAccountCertificatesClient) GetResponder(resp *http.Response) (result IntegrationAccountCertificate, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets a list of integration account certificates. +// Parameters: +// resourceGroupName - the resource group name. +// integrationAccountName - the integration account name. +// top - the number of items to be included in the result. +func (client IntegrationAccountCertificatesClient) List(ctx context.Context, resourceGroupName string, integrationAccountName string, top *int32) (result IntegrationAccountCertificateListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationAccountCertificatesClient.List") + defer func() { + sc := -1 + if result.iaclr.Response.Response != nil { + sc = result.iaclr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName, integrationAccountName, top) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountCertificatesClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.iaclr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountCertificatesClient", "List", resp, "Failure sending request") + return + } + + result.iaclr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountCertificatesClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client IntegrationAccountCertificatesClient) ListPreparer(ctx context.Context, resourceGroupName string, integrationAccountName string, top *int32) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "integrationAccountName": autorest.Encode("path", integrationAccountName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if top != nil { + queryParameters["$top"] = autorest.Encode("query", *top) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/certificates", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client IntegrationAccountCertificatesClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client IntegrationAccountCertificatesClient) ListResponder(resp *http.Response) (result IntegrationAccountCertificateListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client IntegrationAccountCertificatesClient) listNextResults(ctx context.Context, lastResults IntegrationAccountCertificateListResult) (result IntegrationAccountCertificateListResult, err error) { + req, err := lastResults.integrationAccountCertificateListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "logic.IntegrationAccountCertificatesClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "logic.IntegrationAccountCertificatesClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountCertificatesClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client IntegrationAccountCertificatesClient) ListComplete(ctx context.Context, resourceGroupName string, integrationAccountName string, top *int32) (result IntegrationAccountCertificateListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationAccountCertificatesClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName, integrationAccountName, top) + return +} diff --git a/services/preview/logic/mgmt/2019-05-01/logic/integrationaccountmaps.go b/services/preview/logic/mgmt/2019-05-01/logic/integrationaccountmaps.go new file mode 100644 index 000000000000..185229088465 --- /dev/null +++ b/services/preview/logic/mgmt/2019-05-01/logic/integrationaccountmaps.go @@ -0,0 +1,491 @@ +package logic + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// IntegrationAccountMapsClient is the REST API for Azure Logic Apps. +type IntegrationAccountMapsClient struct { + BaseClient +} + +// NewIntegrationAccountMapsClient creates an instance of the IntegrationAccountMapsClient client. +func NewIntegrationAccountMapsClient(subscriptionID string) IntegrationAccountMapsClient { + return NewIntegrationAccountMapsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewIntegrationAccountMapsClientWithBaseURI creates an instance of the IntegrationAccountMapsClient client. +func NewIntegrationAccountMapsClientWithBaseURI(baseURI string, subscriptionID string) IntegrationAccountMapsClient { + return IntegrationAccountMapsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates an integration account map. +// Parameters: +// resourceGroupName - the resource group name. +// integrationAccountName - the integration account name. +// mapName - the integration account map name. +// mapParameter - the integration account map. +func (client IntegrationAccountMapsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, integrationAccountName string, mapName string, mapParameter IntegrationAccountMap) (result IntegrationAccountMap, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationAccountMapsClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: mapParameter, + Constraints: []validation.Constraint{{Target: "mapParameter.IntegrationAccountMapProperties", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + return result, validation.NewError("logic.IntegrationAccountMapsClient", "CreateOrUpdate", err.Error()) + } + + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, integrationAccountName, mapName, mapParameter) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountMapsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountMapsClient", "CreateOrUpdate", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountMapsClient", "CreateOrUpdate", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client IntegrationAccountMapsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, integrationAccountName string, mapName string, mapParameter IntegrationAccountMap) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "integrationAccountName": autorest.Encode("path", integrationAccountName), + "mapName": autorest.Encode("path", mapName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/maps/{mapName}", pathParameters), + autorest.WithJSON(mapParameter), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client IntegrationAccountMapsClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client IntegrationAccountMapsClient) CreateOrUpdateResponder(resp *http.Response) (result IntegrationAccountMap, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes an integration account map. +// Parameters: +// resourceGroupName - the resource group name. +// integrationAccountName - the integration account name. +// mapName - the integration account map name. +func (client IntegrationAccountMapsClient) Delete(ctx context.Context, resourceGroupName string, integrationAccountName string, mapName string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationAccountMapsClient.Delete") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, integrationAccountName, mapName) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountMapsClient", "Delete", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountMapsClient", "Delete", resp, "Failure sending request") + return + } + + result, err = client.DeleteResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountMapsClient", "Delete", resp, "Failure responding to request") + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client IntegrationAccountMapsClient) DeletePreparer(ctx context.Context, resourceGroupName string, integrationAccountName string, mapName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "integrationAccountName": autorest.Encode("path", integrationAccountName), + "mapName": autorest.Encode("path", mapName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/maps/{mapName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client IntegrationAccountMapsClient) DeleteSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client IntegrationAccountMapsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets an integration account map. +// Parameters: +// resourceGroupName - the resource group name. +// integrationAccountName - the integration account name. +// mapName - the integration account map name. +func (client IntegrationAccountMapsClient) Get(ctx context.Context, resourceGroupName string, integrationAccountName string, mapName string) (result IntegrationAccountMap, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationAccountMapsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, integrationAccountName, mapName) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountMapsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountMapsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountMapsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client IntegrationAccountMapsClient) GetPreparer(ctx context.Context, resourceGroupName string, integrationAccountName string, mapName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "integrationAccountName": autorest.Encode("path", integrationAccountName), + "mapName": autorest.Encode("path", mapName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/maps/{mapName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client IntegrationAccountMapsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client IntegrationAccountMapsClient) GetResponder(resp *http.Response) (result IntegrationAccountMap, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets a list of integration account maps. +// Parameters: +// resourceGroupName - the resource group name. +// integrationAccountName - the integration account name. +// top - the number of items to be included in the result. +// filter - the filter to apply on the operation. Options for filters include: MapType. +func (client IntegrationAccountMapsClient) List(ctx context.Context, resourceGroupName string, integrationAccountName string, top *int32, filter string) (result IntegrationAccountMapListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationAccountMapsClient.List") + defer func() { + sc := -1 + if result.iamlr.Response.Response != nil { + sc = result.iamlr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName, integrationAccountName, top, filter) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountMapsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.iamlr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountMapsClient", "List", resp, "Failure sending request") + return + } + + result.iamlr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountMapsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client IntegrationAccountMapsClient) ListPreparer(ctx context.Context, resourceGroupName string, integrationAccountName string, top *int32, filter string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "integrationAccountName": autorest.Encode("path", integrationAccountName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if top != nil { + queryParameters["$top"] = autorest.Encode("query", *top) + } + if len(filter) > 0 { + queryParameters["$filter"] = autorest.Encode("query", filter) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/maps", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client IntegrationAccountMapsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client IntegrationAccountMapsClient) ListResponder(resp *http.Response) (result IntegrationAccountMapListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client IntegrationAccountMapsClient) listNextResults(ctx context.Context, lastResults IntegrationAccountMapListResult) (result IntegrationAccountMapListResult, err error) { + req, err := lastResults.integrationAccountMapListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "logic.IntegrationAccountMapsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "logic.IntegrationAccountMapsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountMapsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client IntegrationAccountMapsClient) ListComplete(ctx context.Context, resourceGroupName string, integrationAccountName string, top *int32, filter string) (result IntegrationAccountMapListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationAccountMapsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName, integrationAccountName, top, filter) + return +} + +// ListContentCallbackURL get the content callback url. +// Parameters: +// resourceGroupName - the resource group name. +// integrationAccountName - the integration account name. +// mapName - the integration account map name. +func (client IntegrationAccountMapsClient) ListContentCallbackURL(ctx context.Context, resourceGroupName string, integrationAccountName string, mapName string, listContentCallbackURL GetCallbackURLParameters) (result WorkflowTriggerCallbackURL, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationAccountMapsClient.ListContentCallbackURL") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListContentCallbackURLPreparer(ctx, resourceGroupName, integrationAccountName, mapName, listContentCallbackURL) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountMapsClient", "ListContentCallbackURL", nil, "Failure preparing request") + return + } + + resp, err := client.ListContentCallbackURLSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountMapsClient", "ListContentCallbackURL", resp, "Failure sending request") + return + } + + result, err = client.ListContentCallbackURLResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountMapsClient", "ListContentCallbackURL", resp, "Failure responding to request") + } + + return +} + +// ListContentCallbackURLPreparer prepares the ListContentCallbackURL request. +func (client IntegrationAccountMapsClient) ListContentCallbackURLPreparer(ctx context.Context, resourceGroupName string, integrationAccountName string, mapName string, listContentCallbackURL GetCallbackURLParameters) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "integrationAccountName": autorest.Encode("path", integrationAccountName), + "mapName": autorest.Encode("path", mapName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/maps/{mapName}/listContentCallbackUrl", pathParameters), + autorest.WithJSON(listContentCallbackURL), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListContentCallbackURLSender sends the ListContentCallbackURL request. The method will close the +// http.Response Body if it receives an error. +func (client IntegrationAccountMapsClient) ListContentCallbackURLSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListContentCallbackURLResponder handles the response to the ListContentCallbackURL request. The method always +// closes the http.Response Body. +func (client IntegrationAccountMapsClient) ListContentCallbackURLResponder(resp *http.Response) (result WorkflowTriggerCallbackURL, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/preview/logic/mgmt/2019-05-01/logic/integrationaccountpartners.go b/services/preview/logic/mgmt/2019-05-01/logic/integrationaccountpartners.go new file mode 100644 index 000000000000..2dcfcc5da813 --- /dev/null +++ b/services/preview/logic/mgmt/2019-05-01/logic/integrationaccountpartners.go @@ -0,0 +1,492 @@ +package logic + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// IntegrationAccountPartnersClient is the REST API for Azure Logic Apps. +type IntegrationAccountPartnersClient struct { + BaseClient +} + +// NewIntegrationAccountPartnersClient creates an instance of the IntegrationAccountPartnersClient client. +func NewIntegrationAccountPartnersClient(subscriptionID string) IntegrationAccountPartnersClient { + return NewIntegrationAccountPartnersClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewIntegrationAccountPartnersClientWithBaseURI creates an instance of the IntegrationAccountPartnersClient client. +func NewIntegrationAccountPartnersClientWithBaseURI(baseURI string, subscriptionID string) IntegrationAccountPartnersClient { + return IntegrationAccountPartnersClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates an integration account partner. +// Parameters: +// resourceGroupName - the resource group name. +// integrationAccountName - the integration account name. +// partnerName - the integration account partner name. +// partner - the integration account partner. +func (client IntegrationAccountPartnersClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, integrationAccountName string, partnerName string, partner IntegrationAccountPartner) (result IntegrationAccountPartner, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationAccountPartnersClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: partner, + Constraints: []validation.Constraint{{Target: "partner.IntegrationAccountPartnerProperties", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "partner.IntegrationAccountPartnerProperties.Content", Name: validation.Null, Rule: true, Chain: nil}}}}}}); err != nil { + return result, validation.NewError("logic.IntegrationAccountPartnersClient", "CreateOrUpdate", err.Error()) + } + + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, integrationAccountName, partnerName, partner) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountPartnersClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountPartnersClient", "CreateOrUpdate", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountPartnersClient", "CreateOrUpdate", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client IntegrationAccountPartnersClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, integrationAccountName string, partnerName string, partner IntegrationAccountPartner) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "integrationAccountName": autorest.Encode("path", integrationAccountName), + "partnerName": autorest.Encode("path", partnerName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/partners/{partnerName}", pathParameters), + autorest.WithJSON(partner), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client IntegrationAccountPartnersClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client IntegrationAccountPartnersClient) CreateOrUpdateResponder(resp *http.Response) (result IntegrationAccountPartner, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes an integration account partner. +// Parameters: +// resourceGroupName - the resource group name. +// integrationAccountName - the integration account name. +// partnerName - the integration account partner name. +func (client IntegrationAccountPartnersClient) Delete(ctx context.Context, resourceGroupName string, integrationAccountName string, partnerName string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationAccountPartnersClient.Delete") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, integrationAccountName, partnerName) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountPartnersClient", "Delete", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountPartnersClient", "Delete", resp, "Failure sending request") + return + } + + result, err = client.DeleteResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountPartnersClient", "Delete", resp, "Failure responding to request") + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client IntegrationAccountPartnersClient) DeletePreparer(ctx context.Context, resourceGroupName string, integrationAccountName string, partnerName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "integrationAccountName": autorest.Encode("path", integrationAccountName), + "partnerName": autorest.Encode("path", partnerName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/partners/{partnerName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client IntegrationAccountPartnersClient) DeleteSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client IntegrationAccountPartnersClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets an integration account partner. +// Parameters: +// resourceGroupName - the resource group name. +// integrationAccountName - the integration account name. +// partnerName - the integration account partner name. +func (client IntegrationAccountPartnersClient) Get(ctx context.Context, resourceGroupName string, integrationAccountName string, partnerName string) (result IntegrationAccountPartner, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationAccountPartnersClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, integrationAccountName, partnerName) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountPartnersClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountPartnersClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountPartnersClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client IntegrationAccountPartnersClient) GetPreparer(ctx context.Context, resourceGroupName string, integrationAccountName string, partnerName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "integrationAccountName": autorest.Encode("path", integrationAccountName), + "partnerName": autorest.Encode("path", partnerName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/partners/{partnerName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client IntegrationAccountPartnersClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client IntegrationAccountPartnersClient) GetResponder(resp *http.Response) (result IntegrationAccountPartner, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets a list of integration account partners. +// Parameters: +// resourceGroupName - the resource group name. +// integrationAccountName - the integration account name. +// top - the number of items to be included in the result. +// filter - the filter to apply on the operation. Options for filters include: PartnerType. +func (client IntegrationAccountPartnersClient) List(ctx context.Context, resourceGroupName string, integrationAccountName string, top *int32, filter string) (result IntegrationAccountPartnerListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationAccountPartnersClient.List") + defer func() { + sc := -1 + if result.iaplr.Response.Response != nil { + sc = result.iaplr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName, integrationAccountName, top, filter) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountPartnersClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.iaplr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountPartnersClient", "List", resp, "Failure sending request") + return + } + + result.iaplr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountPartnersClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client IntegrationAccountPartnersClient) ListPreparer(ctx context.Context, resourceGroupName string, integrationAccountName string, top *int32, filter string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "integrationAccountName": autorest.Encode("path", integrationAccountName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if top != nil { + queryParameters["$top"] = autorest.Encode("query", *top) + } + if len(filter) > 0 { + queryParameters["$filter"] = autorest.Encode("query", filter) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/partners", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client IntegrationAccountPartnersClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client IntegrationAccountPartnersClient) ListResponder(resp *http.Response) (result IntegrationAccountPartnerListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client IntegrationAccountPartnersClient) listNextResults(ctx context.Context, lastResults IntegrationAccountPartnerListResult) (result IntegrationAccountPartnerListResult, err error) { + req, err := lastResults.integrationAccountPartnerListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "logic.IntegrationAccountPartnersClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "logic.IntegrationAccountPartnersClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountPartnersClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client IntegrationAccountPartnersClient) ListComplete(ctx context.Context, resourceGroupName string, integrationAccountName string, top *int32, filter string) (result IntegrationAccountPartnerListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationAccountPartnersClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName, integrationAccountName, top, filter) + return +} + +// ListContentCallbackURL get the content callback url. +// Parameters: +// resourceGroupName - the resource group name. +// integrationAccountName - the integration account name. +// partnerName - the integration account partner name. +func (client IntegrationAccountPartnersClient) ListContentCallbackURL(ctx context.Context, resourceGroupName string, integrationAccountName string, partnerName string, listContentCallbackURL GetCallbackURLParameters) (result WorkflowTriggerCallbackURL, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationAccountPartnersClient.ListContentCallbackURL") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListContentCallbackURLPreparer(ctx, resourceGroupName, integrationAccountName, partnerName, listContentCallbackURL) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountPartnersClient", "ListContentCallbackURL", nil, "Failure preparing request") + return + } + + resp, err := client.ListContentCallbackURLSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountPartnersClient", "ListContentCallbackURL", resp, "Failure sending request") + return + } + + result, err = client.ListContentCallbackURLResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountPartnersClient", "ListContentCallbackURL", resp, "Failure responding to request") + } + + return +} + +// ListContentCallbackURLPreparer prepares the ListContentCallbackURL request. +func (client IntegrationAccountPartnersClient) ListContentCallbackURLPreparer(ctx context.Context, resourceGroupName string, integrationAccountName string, partnerName string, listContentCallbackURL GetCallbackURLParameters) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "integrationAccountName": autorest.Encode("path", integrationAccountName), + "partnerName": autorest.Encode("path", partnerName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/partners/{partnerName}/listContentCallbackUrl", pathParameters), + autorest.WithJSON(listContentCallbackURL), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListContentCallbackURLSender sends the ListContentCallbackURL request. The method will close the +// http.Response Body if it receives an error. +func (client IntegrationAccountPartnersClient) ListContentCallbackURLSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListContentCallbackURLResponder handles the response to the ListContentCallbackURL request. The method always +// closes the http.Response Body. +func (client IntegrationAccountPartnersClient) ListContentCallbackURLResponder(resp *http.Response) (result WorkflowTriggerCallbackURL, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/preview/logic/mgmt/2019-05-01/logic/integrationaccounts.go b/services/preview/logic/mgmt/2019-05-01/logic/integrationaccounts.go new file mode 100644 index 000000000000..8e1323f505e2 --- /dev/null +++ b/services/preview/logic/mgmt/2019-05-01/logic/integrationaccounts.go @@ -0,0 +1,919 @@ +package logic + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// IntegrationAccountsClient is the REST API for Azure Logic Apps. +type IntegrationAccountsClient struct { + BaseClient +} + +// NewIntegrationAccountsClient creates an instance of the IntegrationAccountsClient client. +func NewIntegrationAccountsClient(subscriptionID string) IntegrationAccountsClient { + return NewIntegrationAccountsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewIntegrationAccountsClientWithBaseURI creates an instance of the IntegrationAccountsClient client. +func NewIntegrationAccountsClientWithBaseURI(baseURI string, subscriptionID string) IntegrationAccountsClient { + return IntegrationAccountsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates an integration account. +// Parameters: +// resourceGroupName - the resource group name. +// integrationAccountName - the integration account name. +// integrationAccount - the integration account. +func (client IntegrationAccountsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, integrationAccountName string, integrationAccount IntegrationAccount) (result IntegrationAccount, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationAccountsClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, integrationAccountName, integrationAccount) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountsClient", "CreateOrUpdate", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountsClient", "CreateOrUpdate", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client IntegrationAccountsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, integrationAccountName string, integrationAccount IntegrationAccount) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "integrationAccountName": autorest.Encode("path", integrationAccountName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}", pathParameters), + autorest.WithJSON(integrationAccount), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client IntegrationAccountsClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client IntegrationAccountsClient) CreateOrUpdateResponder(resp *http.Response) (result IntegrationAccount, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes an integration account. +// Parameters: +// resourceGroupName - the resource group name. +// integrationAccountName - the integration account name. +func (client IntegrationAccountsClient) Delete(ctx context.Context, resourceGroupName string, integrationAccountName string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationAccountsClient.Delete") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, integrationAccountName) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountsClient", "Delete", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountsClient", "Delete", resp, "Failure sending request") + return + } + + result, err = client.DeleteResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountsClient", "Delete", resp, "Failure responding to request") + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client IntegrationAccountsClient) DeletePreparer(ctx context.Context, resourceGroupName string, integrationAccountName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "integrationAccountName": autorest.Encode("path", integrationAccountName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client IntegrationAccountsClient) DeleteSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client IntegrationAccountsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets an integration account. +// Parameters: +// resourceGroupName - the resource group name. +// integrationAccountName - the integration account name. +func (client IntegrationAccountsClient) Get(ctx context.Context, resourceGroupName string, integrationAccountName string) (result IntegrationAccount, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationAccountsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, integrationAccountName) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client IntegrationAccountsClient) GetPreparer(ctx context.Context, resourceGroupName string, integrationAccountName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "integrationAccountName": autorest.Encode("path", integrationAccountName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client IntegrationAccountsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client IntegrationAccountsClient) GetResponder(resp *http.Response) (result IntegrationAccount, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByResourceGroup gets a list of integration accounts by resource group. +// Parameters: +// resourceGroupName - the resource group name. +// top - the number of items to be included in the result. +func (client IntegrationAccountsClient) ListByResourceGroup(ctx context.Context, resourceGroupName string, top *int32) (result IntegrationAccountListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationAccountsClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.ialr.Response.Response != nil { + sc = result.ialr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listByResourceGroupNextResults + req, err := client.ListByResourceGroupPreparer(ctx, resourceGroupName, top) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountsClient", "ListByResourceGroup", nil, "Failure preparing request") + return + } + + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.ialr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountsClient", "ListByResourceGroup", resp, "Failure sending request") + return + } + + result.ialr, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountsClient", "ListByResourceGroup", resp, "Failure responding to request") + } + + return +} + +// ListByResourceGroupPreparer prepares the ListByResourceGroup request. +func (client IntegrationAccountsClient) ListByResourceGroupPreparer(ctx context.Context, resourceGroupName string, top *int32) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if top != nil { + queryParameters["$top"] = autorest.Encode("query", *top) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByResourceGroupSender sends the ListByResourceGroup request. The method will close the +// http.Response Body if it receives an error. +func (client IntegrationAccountsClient) ListByResourceGroupSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByResourceGroupResponder handles the response to the ListByResourceGroup request. The method always +// closes the http.Response Body. +func (client IntegrationAccountsClient) ListByResourceGroupResponder(resp *http.Response) (result IntegrationAccountListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listByResourceGroupNextResults retrieves the next set of results, if any. +func (client IntegrationAccountsClient) listByResourceGroupNextResults(ctx context.Context, lastResults IntegrationAccountListResult) (result IntegrationAccountListResult, err error) { + req, err := lastResults.integrationAccountListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "logic.IntegrationAccountsClient", "listByResourceGroupNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "logic.IntegrationAccountsClient", "listByResourceGroupNextResults", resp, "Failure sending next results request") + } + result, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountsClient", "listByResourceGroupNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListByResourceGroupComplete enumerates all values, automatically crossing page boundaries as required. +func (client IntegrationAccountsClient) ListByResourceGroupComplete(ctx context.Context, resourceGroupName string, top *int32) (result IntegrationAccountListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationAccountsClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListByResourceGroup(ctx, resourceGroupName, top) + return +} + +// ListBySubscription gets a list of integration accounts by subscription. +// Parameters: +// top - the number of items to be included in the result. +func (client IntegrationAccountsClient) ListBySubscription(ctx context.Context, top *int32) (result IntegrationAccountListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationAccountsClient.ListBySubscription") + defer func() { + sc := -1 + if result.ialr.Response.Response != nil { + sc = result.ialr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listBySubscriptionNextResults + req, err := client.ListBySubscriptionPreparer(ctx, top) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountsClient", "ListBySubscription", nil, "Failure preparing request") + return + } + + resp, err := client.ListBySubscriptionSender(req) + if err != nil { + result.ialr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountsClient", "ListBySubscription", resp, "Failure sending request") + return + } + + result.ialr, err = client.ListBySubscriptionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountsClient", "ListBySubscription", resp, "Failure responding to request") + } + + return +} + +// ListBySubscriptionPreparer prepares the ListBySubscription request. +func (client IntegrationAccountsClient) ListBySubscriptionPreparer(ctx context.Context, top *int32) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if top != nil { + queryParameters["$top"] = autorest.Encode("query", *top) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Logic/integrationAccounts", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListBySubscriptionSender sends the ListBySubscription request. The method will close the +// http.Response Body if it receives an error. +func (client IntegrationAccountsClient) ListBySubscriptionSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListBySubscriptionResponder handles the response to the ListBySubscription request. The method always +// closes the http.Response Body. +func (client IntegrationAccountsClient) ListBySubscriptionResponder(resp *http.Response) (result IntegrationAccountListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listBySubscriptionNextResults retrieves the next set of results, if any. +func (client IntegrationAccountsClient) listBySubscriptionNextResults(ctx context.Context, lastResults IntegrationAccountListResult) (result IntegrationAccountListResult, err error) { + req, err := lastResults.integrationAccountListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "logic.IntegrationAccountsClient", "listBySubscriptionNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListBySubscriptionSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "logic.IntegrationAccountsClient", "listBySubscriptionNextResults", resp, "Failure sending next results request") + } + result, err = client.ListBySubscriptionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountsClient", "listBySubscriptionNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListBySubscriptionComplete enumerates all values, automatically crossing page boundaries as required. +func (client IntegrationAccountsClient) ListBySubscriptionComplete(ctx context.Context, top *int32) (result IntegrationAccountListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationAccountsClient.ListBySubscription") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListBySubscription(ctx, top) + return +} + +// ListCallbackURL gets the integration account callback URL. +// Parameters: +// resourceGroupName - the resource group name. +// integrationAccountName - the integration account name. +// parameters - the callback URL parameters. +func (client IntegrationAccountsClient) ListCallbackURL(ctx context.Context, resourceGroupName string, integrationAccountName string, parameters GetCallbackURLParameters) (result CallbackURL, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationAccountsClient.ListCallbackURL") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListCallbackURLPreparer(ctx, resourceGroupName, integrationAccountName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountsClient", "ListCallbackURL", nil, "Failure preparing request") + return + } + + resp, err := client.ListCallbackURLSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountsClient", "ListCallbackURL", resp, "Failure sending request") + return + } + + result, err = client.ListCallbackURLResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountsClient", "ListCallbackURL", resp, "Failure responding to request") + } + + return +} + +// ListCallbackURLPreparer prepares the ListCallbackURL request. +func (client IntegrationAccountsClient) ListCallbackURLPreparer(ctx context.Context, resourceGroupName string, integrationAccountName string, parameters GetCallbackURLParameters) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "integrationAccountName": autorest.Encode("path", integrationAccountName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/listCallbackUrl", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListCallbackURLSender sends the ListCallbackURL request. The method will close the +// http.Response Body if it receives an error. +func (client IntegrationAccountsClient) ListCallbackURLSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListCallbackURLResponder handles the response to the ListCallbackURL request. The method always +// closes the http.Response Body. +func (client IntegrationAccountsClient) ListCallbackURLResponder(resp *http.Response) (result CallbackURL, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListKeyVaultKeys gets the integration account's Key Vault keys. +// Parameters: +// resourceGroupName - the resource group name. +// integrationAccountName - the integration account name. +// listKeyVaultKeys - the key vault parameters. +func (client IntegrationAccountsClient) ListKeyVaultKeys(ctx context.Context, resourceGroupName string, integrationAccountName string, listKeyVaultKeys ListKeyVaultKeysDefinition) (result KeyVaultKeyCollection, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationAccountsClient.ListKeyVaultKeys") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: listKeyVaultKeys, + Constraints: []validation.Constraint{{Target: "listKeyVaultKeys.KeyVault", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + return result, validation.NewError("logic.IntegrationAccountsClient", "ListKeyVaultKeys", err.Error()) + } + + req, err := client.ListKeyVaultKeysPreparer(ctx, resourceGroupName, integrationAccountName, listKeyVaultKeys) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountsClient", "ListKeyVaultKeys", nil, "Failure preparing request") + return + } + + resp, err := client.ListKeyVaultKeysSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountsClient", "ListKeyVaultKeys", resp, "Failure sending request") + return + } + + result, err = client.ListKeyVaultKeysResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountsClient", "ListKeyVaultKeys", resp, "Failure responding to request") + } + + return +} + +// ListKeyVaultKeysPreparer prepares the ListKeyVaultKeys request. +func (client IntegrationAccountsClient) ListKeyVaultKeysPreparer(ctx context.Context, resourceGroupName string, integrationAccountName string, listKeyVaultKeys ListKeyVaultKeysDefinition) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "integrationAccountName": autorest.Encode("path", integrationAccountName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/listKeyVaultKeys", pathParameters), + autorest.WithJSON(listKeyVaultKeys), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListKeyVaultKeysSender sends the ListKeyVaultKeys request. The method will close the +// http.Response Body if it receives an error. +func (client IntegrationAccountsClient) ListKeyVaultKeysSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListKeyVaultKeysResponder handles the response to the ListKeyVaultKeys request. The method always +// closes the http.Response Body. +func (client IntegrationAccountsClient) ListKeyVaultKeysResponder(resp *http.Response) (result KeyVaultKeyCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// LogTrackingEvents logs the integration account's tracking events. +// Parameters: +// resourceGroupName - the resource group name. +// integrationAccountName - the integration account name. +// logTrackingEvents - the callback URL parameters. +func (client IntegrationAccountsClient) LogTrackingEvents(ctx context.Context, resourceGroupName string, integrationAccountName string, logTrackingEvents TrackingEventsDefinition) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationAccountsClient.LogTrackingEvents") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: logTrackingEvents, + Constraints: []validation.Constraint{{Target: "logTrackingEvents.SourceType", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "logTrackingEvents.Events", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + return result, validation.NewError("logic.IntegrationAccountsClient", "LogTrackingEvents", err.Error()) + } + + req, err := client.LogTrackingEventsPreparer(ctx, resourceGroupName, integrationAccountName, logTrackingEvents) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountsClient", "LogTrackingEvents", nil, "Failure preparing request") + return + } + + resp, err := client.LogTrackingEventsSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountsClient", "LogTrackingEvents", resp, "Failure sending request") + return + } + + result, err = client.LogTrackingEventsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountsClient", "LogTrackingEvents", resp, "Failure responding to request") + } + + return +} + +// LogTrackingEventsPreparer prepares the LogTrackingEvents request. +func (client IntegrationAccountsClient) LogTrackingEventsPreparer(ctx context.Context, resourceGroupName string, integrationAccountName string, logTrackingEvents TrackingEventsDefinition) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "integrationAccountName": autorest.Encode("path", integrationAccountName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/logTrackingEvents", pathParameters), + autorest.WithJSON(logTrackingEvents), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// LogTrackingEventsSender sends the LogTrackingEvents request. The method will close the +// http.Response Body if it receives an error. +func (client IntegrationAccountsClient) LogTrackingEventsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// LogTrackingEventsResponder handles the response to the LogTrackingEvents request. The method always +// closes the http.Response Body. +func (client IntegrationAccountsClient) LogTrackingEventsResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByClosing()) + result.Response = resp + return +} + +// RegenerateAccessKey regenerates the integration account access key. +// Parameters: +// resourceGroupName - the resource group name. +// integrationAccountName - the integration account name. +// regenerateAccessKey - the access key type. +func (client IntegrationAccountsClient) RegenerateAccessKey(ctx context.Context, resourceGroupName string, integrationAccountName string, regenerateAccessKey RegenerateActionParameter) (result IntegrationAccount, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationAccountsClient.RegenerateAccessKey") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.RegenerateAccessKeyPreparer(ctx, resourceGroupName, integrationAccountName, regenerateAccessKey) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountsClient", "RegenerateAccessKey", nil, "Failure preparing request") + return + } + + resp, err := client.RegenerateAccessKeySender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountsClient", "RegenerateAccessKey", resp, "Failure sending request") + return + } + + result, err = client.RegenerateAccessKeyResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountsClient", "RegenerateAccessKey", resp, "Failure responding to request") + } + + return +} + +// RegenerateAccessKeyPreparer prepares the RegenerateAccessKey request. +func (client IntegrationAccountsClient) RegenerateAccessKeyPreparer(ctx context.Context, resourceGroupName string, integrationAccountName string, regenerateAccessKey RegenerateActionParameter) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "integrationAccountName": autorest.Encode("path", integrationAccountName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/regenerateAccessKey", pathParameters), + autorest.WithJSON(regenerateAccessKey), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// RegenerateAccessKeySender sends the RegenerateAccessKey request. The method will close the +// http.Response Body if it receives an error. +func (client IntegrationAccountsClient) RegenerateAccessKeySender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// RegenerateAccessKeyResponder handles the response to the RegenerateAccessKey request. The method always +// closes the http.Response Body. +func (client IntegrationAccountsClient) RegenerateAccessKeyResponder(resp *http.Response) (result IntegrationAccount, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Update updates an integration account. +// Parameters: +// resourceGroupName - the resource group name. +// integrationAccountName - the integration account name. +// integrationAccount - the integration account. +func (client IntegrationAccountsClient) Update(ctx context.Context, resourceGroupName string, integrationAccountName string, integrationAccount IntegrationAccount) (result IntegrationAccount, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationAccountsClient.Update") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdatePreparer(ctx, resourceGroupName, integrationAccountName, integrationAccount) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountsClient", "Update", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountsClient", "Update", resp, "Failure sending request") + return + } + + result, err = client.UpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountsClient", "Update", resp, "Failure responding to request") + } + + return +} + +// UpdatePreparer prepares the Update request. +func (client IntegrationAccountsClient) UpdatePreparer(ctx context.Context, resourceGroupName string, integrationAccountName string, integrationAccount IntegrationAccount) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "integrationAccountName": autorest.Encode("path", integrationAccountName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}", pathParameters), + autorest.WithJSON(integrationAccount), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateSender sends the Update request. The method will close the +// http.Response Body if it receives an error. +func (client IntegrationAccountsClient) UpdateSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// UpdateResponder handles the response to the Update request. The method always +// closes the http.Response Body. +func (client IntegrationAccountsClient) UpdateResponder(resp *http.Response) (result IntegrationAccount, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/preview/logic/mgmt/2019-05-01/logic/integrationaccountschemas.go b/services/preview/logic/mgmt/2019-05-01/logic/integrationaccountschemas.go new file mode 100644 index 000000000000..63a98c3f455a --- /dev/null +++ b/services/preview/logic/mgmt/2019-05-01/logic/integrationaccountschemas.go @@ -0,0 +1,491 @@ +package logic + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// IntegrationAccountSchemasClient is the REST API for Azure Logic Apps. +type IntegrationAccountSchemasClient struct { + BaseClient +} + +// NewIntegrationAccountSchemasClient creates an instance of the IntegrationAccountSchemasClient client. +func NewIntegrationAccountSchemasClient(subscriptionID string) IntegrationAccountSchemasClient { + return NewIntegrationAccountSchemasClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewIntegrationAccountSchemasClientWithBaseURI creates an instance of the IntegrationAccountSchemasClient client. +func NewIntegrationAccountSchemasClientWithBaseURI(baseURI string, subscriptionID string) IntegrationAccountSchemasClient { + return IntegrationAccountSchemasClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates an integration account schema. +// Parameters: +// resourceGroupName - the resource group name. +// integrationAccountName - the integration account name. +// schemaName - the integration account schema name. +// schema - the integration account schema. +func (client IntegrationAccountSchemasClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, integrationAccountName string, schemaName string, schema IntegrationAccountSchema) (result IntegrationAccountSchema, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationAccountSchemasClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: schema, + Constraints: []validation.Constraint{{Target: "schema.IntegrationAccountSchemaProperties", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + return result, validation.NewError("logic.IntegrationAccountSchemasClient", "CreateOrUpdate", err.Error()) + } + + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, integrationAccountName, schemaName, schema) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountSchemasClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountSchemasClient", "CreateOrUpdate", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountSchemasClient", "CreateOrUpdate", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client IntegrationAccountSchemasClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, integrationAccountName string, schemaName string, schema IntegrationAccountSchema) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "integrationAccountName": autorest.Encode("path", integrationAccountName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "schemaName": autorest.Encode("path", schemaName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/schemas/{schemaName}", pathParameters), + autorest.WithJSON(schema), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client IntegrationAccountSchemasClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client IntegrationAccountSchemasClient) CreateOrUpdateResponder(resp *http.Response) (result IntegrationAccountSchema, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes an integration account schema. +// Parameters: +// resourceGroupName - the resource group name. +// integrationAccountName - the integration account name. +// schemaName - the integration account schema name. +func (client IntegrationAccountSchemasClient) Delete(ctx context.Context, resourceGroupName string, integrationAccountName string, schemaName string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationAccountSchemasClient.Delete") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, integrationAccountName, schemaName) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountSchemasClient", "Delete", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountSchemasClient", "Delete", resp, "Failure sending request") + return + } + + result, err = client.DeleteResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountSchemasClient", "Delete", resp, "Failure responding to request") + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client IntegrationAccountSchemasClient) DeletePreparer(ctx context.Context, resourceGroupName string, integrationAccountName string, schemaName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "integrationAccountName": autorest.Encode("path", integrationAccountName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "schemaName": autorest.Encode("path", schemaName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/schemas/{schemaName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client IntegrationAccountSchemasClient) DeleteSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client IntegrationAccountSchemasClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets an integration account schema. +// Parameters: +// resourceGroupName - the resource group name. +// integrationAccountName - the integration account name. +// schemaName - the integration account schema name. +func (client IntegrationAccountSchemasClient) Get(ctx context.Context, resourceGroupName string, integrationAccountName string, schemaName string) (result IntegrationAccountSchema, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationAccountSchemasClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, integrationAccountName, schemaName) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountSchemasClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountSchemasClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountSchemasClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client IntegrationAccountSchemasClient) GetPreparer(ctx context.Context, resourceGroupName string, integrationAccountName string, schemaName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "integrationAccountName": autorest.Encode("path", integrationAccountName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "schemaName": autorest.Encode("path", schemaName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/schemas/{schemaName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client IntegrationAccountSchemasClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client IntegrationAccountSchemasClient) GetResponder(resp *http.Response) (result IntegrationAccountSchema, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets a list of integration account schemas. +// Parameters: +// resourceGroupName - the resource group name. +// integrationAccountName - the integration account name. +// top - the number of items to be included in the result. +// filter - the filter to apply on the operation. Options for filters include: SchemaType. +func (client IntegrationAccountSchemasClient) List(ctx context.Context, resourceGroupName string, integrationAccountName string, top *int32, filter string) (result IntegrationAccountSchemaListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationAccountSchemasClient.List") + defer func() { + sc := -1 + if result.iaslr.Response.Response != nil { + sc = result.iaslr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName, integrationAccountName, top, filter) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountSchemasClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.iaslr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountSchemasClient", "List", resp, "Failure sending request") + return + } + + result.iaslr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountSchemasClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client IntegrationAccountSchemasClient) ListPreparer(ctx context.Context, resourceGroupName string, integrationAccountName string, top *int32, filter string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "integrationAccountName": autorest.Encode("path", integrationAccountName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if top != nil { + queryParameters["$top"] = autorest.Encode("query", *top) + } + if len(filter) > 0 { + queryParameters["$filter"] = autorest.Encode("query", filter) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/schemas", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client IntegrationAccountSchemasClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client IntegrationAccountSchemasClient) ListResponder(resp *http.Response) (result IntegrationAccountSchemaListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client IntegrationAccountSchemasClient) listNextResults(ctx context.Context, lastResults IntegrationAccountSchemaListResult) (result IntegrationAccountSchemaListResult, err error) { + req, err := lastResults.integrationAccountSchemaListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "logic.IntegrationAccountSchemasClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "logic.IntegrationAccountSchemasClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountSchemasClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client IntegrationAccountSchemasClient) ListComplete(ctx context.Context, resourceGroupName string, integrationAccountName string, top *int32, filter string) (result IntegrationAccountSchemaListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationAccountSchemasClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName, integrationAccountName, top, filter) + return +} + +// ListContentCallbackURL get the content callback url. +// Parameters: +// resourceGroupName - the resource group name. +// integrationAccountName - the integration account name. +// schemaName - the integration account schema name. +func (client IntegrationAccountSchemasClient) ListContentCallbackURL(ctx context.Context, resourceGroupName string, integrationAccountName string, schemaName string, listContentCallbackURL GetCallbackURLParameters) (result WorkflowTriggerCallbackURL, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationAccountSchemasClient.ListContentCallbackURL") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListContentCallbackURLPreparer(ctx, resourceGroupName, integrationAccountName, schemaName, listContentCallbackURL) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountSchemasClient", "ListContentCallbackURL", nil, "Failure preparing request") + return + } + + resp, err := client.ListContentCallbackURLSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountSchemasClient", "ListContentCallbackURL", resp, "Failure sending request") + return + } + + result, err = client.ListContentCallbackURLResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountSchemasClient", "ListContentCallbackURL", resp, "Failure responding to request") + } + + return +} + +// ListContentCallbackURLPreparer prepares the ListContentCallbackURL request. +func (client IntegrationAccountSchemasClient) ListContentCallbackURLPreparer(ctx context.Context, resourceGroupName string, integrationAccountName string, schemaName string, listContentCallbackURL GetCallbackURLParameters) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "integrationAccountName": autorest.Encode("path", integrationAccountName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "schemaName": autorest.Encode("path", schemaName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/schemas/{schemaName}/listContentCallbackUrl", pathParameters), + autorest.WithJSON(listContentCallbackURL), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListContentCallbackURLSender sends the ListContentCallbackURL request. The method will close the +// http.Response Body if it receives an error. +func (client IntegrationAccountSchemasClient) ListContentCallbackURLSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListContentCallbackURLResponder handles the response to the ListContentCallbackURL request. The method always +// closes the http.Response Body. +func (client IntegrationAccountSchemasClient) ListContentCallbackURLResponder(resp *http.Response) (result WorkflowTriggerCallbackURL, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/preview/logic/mgmt/2019-05-01/logic/integrationaccountsessions.go b/services/preview/logic/mgmt/2019-05-01/logic/integrationaccountsessions.go new file mode 100644 index 000000000000..6cc412ce1588 --- /dev/null +++ b/services/preview/logic/mgmt/2019-05-01/logic/integrationaccountsessions.go @@ -0,0 +1,410 @@ +package logic + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// IntegrationAccountSessionsClient is the REST API for Azure Logic Apps. +type IntegrationAccountSessionsClient struct { + BaseClient +} + +// NewIntegrationAccountSessionsClient creates an instance of the IntegrationAccountSessionsClient client. +func NewIntegrationAccountSessionsClient(subscriptionID string) IntegrationAccountSessionsClient { + return NewIntegrationAccountSessionsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewIntegrationAccountSessionsClientWithBaseURI creates an instance of the IntegrationAccountSessionsClient client. +func NewIntegrationAccountSessionsClientWithBaseURI(baseURI string, subscriptionID string) IntegrationAccountSessionsClient { + return IntegrationAccountSessionsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates an integration account session. +// Parameters: +// resourceGroupName - the resource group name. +// integrationAccountName - the integration account name. +// sessionName - the integration account session name. +// session - the integration account session. +func (client IntegrationAccountSessionsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, integrationAccountName string, sessionName string, session IntegrationAccountSession) (result IntegrationAccountSession, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationAccountSessionsClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: session, + Constraints: []validation.Constraint{{Target: "session.IntegrationAccountSessionProperties", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + return result, validation.NewError("logic.IntegrationAccountSessionsClient", "CreateOrUpdate", err.Error()) + } + + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, integrationAccountName, sessionName, session) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountSessionsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountSessionsClient", "CreateOrUpdate", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountSessionsClient", "CreateOrUpdate", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client IntegrationAccountSessionsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, integrationAccountName string, sessionName string, session IntegrationAccountSession) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "integrationAccountName": autorest.Encode("path", integrationAccountName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "sessionName": autorest.Encode("path", sessionName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/sessions/{sessionName}", pathParameters), + autorest.WithJSON(session), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client IntegrationAccountSessionsClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client IntegrationAccountSessionsClient) CreateOrUpdateResponder(resp *http.Response) (result IntegrationAccountSession, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes an integration account session. +// Parameters: +// resourceGroupName - the resource group name. +// integrationAccountName - the integration account name. +// sessionName - the integration account session name. +func (client IntegrationAccountSessionsClient) Delete(ctx context.Context, resourceGroupName string, integrationAccountName string, sessionName string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationAccountSessionsClient.Delete") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, integrationAccountName, sessionName) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountSessionsClient", "Delete", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountSessionsClient", "Delete", resp, "Failure sending request") + return + } + + result, err = client.DeleteResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountSessionsClient", "Delete", resp, "Failure responding to request") + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client IntegrationAccountSessionsClient) DeletePreparer(ctx context.Context, resourceGroupName string, integrationAccountName string, sessionName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "integrationAccountName": autorest.Encode("path", integrationAccountName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "sessionName": autorest.Encode("path", sessionName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/sessions/{sessionName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client IntegrationAccountSessionsClient) DeleteSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client IntegrationAccountSessionsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets an integration account session. +// Parameters: +// resourceGroupName - the resource group name. +// integrationAccountName - the integration account name. +// sessionName - the integration account session name. +func (client IntegrationAccountSessionsClient) Get(ctx context.Context, resourceGroupName string, integrationAccountName string, sessionName string) (result IntegrationAccountSession, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationAccountSessionsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, integrationAccountName, sessionName) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountSessionsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountSessionsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountSessionsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client IntegrationAccountSessionsClient) GetPreparer(ctx context.Context, resourceGroupName string, integrationAccountName string, sessionName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "integrationAccountName": autorest.Encode("path", integrationAccountName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "sessionName": autorest.Encode("path", sessionName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/sessions/{sessionName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client IntegrationAccountSessionsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client IntegrationAccountSessionsClient) GetResponder(resp *http.Response) (result IntegrationAccountSession, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets a list of integration account sessions. +// Parameters: +// resourceGroupName - the resource group name. +// integrationAccountName - the integration account name. +// top - the number of items to be included in the result. +// filter - the filter to apply on the operation. Options for filters include: ChangedTime. +func (client IntegrationAccountSessionsClient) List(ctx context.Context, resourceGroupName string, integrationAccountName string, top *int32, filter string) (result IntegrationAccountSessionListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationAccountSessionsClient.List") + defer func() { + sc := -1 + if result.iaslr.Response.Response != nil { + sc = result.iaslr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName, integrationAccountName, top, filter) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountSessionsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.iaslr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountSessionsClient", "List", resp, "Failure sending request") + return + } + + result.iaslr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountSessionsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client IntegrationAccountSessionsClient) ListPreparer(ctx context.Context, resourceGroupName string, integrationAccountName string, top *int32, filter string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "integrationAccountName": autorest.Encode("path", integrationAccountName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if top != nil { + queryParameters["$top"] = autorest.Encode("query", *top) + } + if len(filter) > 0 { + queryParameters["$filter"] = autorest.Encode("query", filter) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/sessions", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client IntegrationAccountSessionsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client IntegrationAccountSessionsClient) ListResponder(resp *http.Response) (result IntegrationAccountSessionListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client IntegrationAccountSessionsClient) listNextResults(ctx context.Context, lastResults IntegrationAccountSessionListResult) (result IntegrationAccountSessionListResult, err error) { + req, err := lastResults.integrationAccountSessionListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "logic.IntegrationAccountSessionsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "logic.IntegrationAccountSessionsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationAccountSessionsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client IntegrationAccountSessionsClient) ListComplete(ctx context.Context, resourceGroupName string, integrationAccountName string, top *int32, filter string) (result IntegrationAccountSessionListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationAccountSessionsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName, integrationAccountName, top, filter) + return +} diff --git a/services/preview/logic/mgmt/2019-05-01/logic/integrationserviceenvironmentmanagedapioperations.go b/services/preview/logic/mgmt/2019-05-01/logic/integrationserviceenvironmentmanagedapioperations.go new file mode 100644 index 000000000000..3cf35cc6b268 --- /dev/null +++ b/services/preview/logic/mgmt/2019-05-01/logic/integrationserviceenvironmentmanagedapioperations.go @@ -0,0 +1,160 @@ +package logic + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// IntegrationServiceEnvironmentManagedAPIOperationsClient is the REST API for Azure Logic Apps. +type IntegrationServiceEnvironmentManagedAPIOperationsClient struct { + BaseClient +} + +// NewIntegrationServiceEnvironmentManagedAPIOperationsClient creates an instance of the +// IntegrationServiceEnvironmentManagedAPIOperationsClient client. +func NewIntegrationServiceEnvironmentManagedAPIOperationsClient(subscriptionID string) IntegrationServiceEnvironmentManagedAPIOperationsClient { + return NewIntegrationServiceEnvironmentManagedAPIOperationsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewIntegrationServiceEnvironmentManagedAPIOperationsClientWithBaseURI creates an instance of the +// IntegrationServiceEnvironmentManagedAPIOperationsClient client. +func NewIntegrationServiceEnvironmentManagedAPIOperationsClientWithBaseURI(baseURI string, subscriptionID string) IntegrationServiceEnvironmentManagedAPIOperationsClient { + return IntegrationServiceEnvironmentManagedAPIOperationsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// List gets the managed Api operations. +// Parameters: +// resourceGroup - the resource group. +// integrationServiceEnvironmentName - the integration service environment name. +// APIName - the api name. +func (client IntegrationServiceEnvironmentManagedAPIOperationsClient) List(ctx context.Context, resourceGroup string, integrationServiceEnvironmentName string, APIName string) (result APIOperationListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationServiceEnvironmentManagedAPIOperationsClient.List") + defer func() { + sc := -1 + if result.aolr.Response.Response != nil { + sc = result.aolr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroup, integrationServiceEnvironmentName, APIName) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationServiceEnvironmentManagedAPIOperationsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.aolr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "logic.IntegrationServiceEnvironmentManagedAPIOperationsClient", "List", resp, "Failure sending request") + return + } + + result.aolr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationServiceEnvironmentManagedAPIOperationsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client IntegrationServiceEnvironmentManagedAPIOperationsClient) ListPreparer(ctx context.Context, resourceGroup string, integrationServiceEnvironmentName string, APIName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "apiName": autorest.Encode("path", APIName), + "integrationServiceEnvironmentName": autorest.Encode("path", integrationServiceEnvironmentName), + "resourceGroup": autorest.Encode("path", resourceGroup), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Logic/integrationServiceEnvironments/{integrationServiceEnvironmentName}/managedApis/{apiName}/apiOperations", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client IntegrationServiceEnvironmentManagedAPIOperationsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client IntegrationServiceEnvironmentManagedAPIOperationsClient) ListResponder(resp *http.Response) (result APIOperationListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client IntegrationServiceEnvironmentManagedAPIOperationsClient) listNextResults(ctx context.Context, lastResults APIOperationListResult) (result APIOperationListResult, err error) { + req, err := lastResults.aPIOperationListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "logic.IntegrationServiceEnvironmentManagedAPIOperationsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "logic.IntegrationServiceEnvironmentManagedAPIOperationsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationServiceEnvironmentManagedAPIOperationsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client IntegrationServiceEnvironmentManagedAPIOperationsClient) ListComplete(ctx context.Context, resourceGroup string, integrationServiceEnvironmentName string, APIName string) (result APIOperationListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationServiceEnvironmentManagedAPIOperationsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroup, integrationServiceEnvironmentName, APIName) + return +} diff --git a/services/preview/logic/mgmt/2019-05-01/logic/integrationserviceenvironmentmanagedapis.go b/services/preview/logic/mgmt/2019-05-01/logic/integrationserviceenvironmentmanagedapis.go new file mode 100644 index 000000000000..560c5226e45e --- /dev/null +++ b/services/preview/logic/mgmt/2019-05-01/logic/integrationserviceenvironmentmanagedapis.go @@ -0,0 +1,394 @@ +package logic + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// IntegrationServiceEnvironmentManagedApisClient is the REST API for Azure Logic Apps. +type IntegrationServiceEnvironmentManagedApisClient struct { + BaseClient +} + +// NewIntegrationServiceEnvironmentManagedApisClient creates an instance of the +// IntegrationServiceEnvironmentManagedApisClient client. +func NewIntegrationServiceEnvironmentManagedApisClient(subscriptionID string) IntegrationServiceEnvironmentManagedApisClient { + return NewIntegrationServiceEnvironmentManagedApisClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewIntegrationServiceEnvironmentManagedApisClientWithBaseURI creates an instance of the +// IntegrationServiceEnvironmentManagedApisClient client. +func NewIntegrationServiceEnvironmentManagedApisClientWithBaseURI(baseURI string, subscriptionID string) IntegrationServiceEnvironmentManagedApisClient { + return IntegrationServiceEnvironmentManagedApisClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// Delete deletes the integration service environment managed Api. +// Parameters: +// resourceGroup - the resource group. +// integrationServiceEnvironmentName - the integration service environment name. +// APIName - the api name. +func (client IntegrationServiceEnvironmentManagedApisClient) Delete(ctx context.Context, resourceGroup string, integrationServiceEnvironmentName string, APIName string) (result IntegrationServiceEnvironmentManagedApisDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationServiceEnvironmentManagedApisClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroup, integrationServiceEnvironmentName, APIName) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationServiceEnvironmentManagedApisClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationServiceEnvironmentManagedApisClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client IntegrationServiceEnvironmentManagedApisClient) DeletePreparer(ctx context.Context, resourceGroup string, integrationServiceEnvironmentName string, APIName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "apiName": autorest.Encode("path", APIName), + "integrationServiceEnvironmentName": autorest.Encode("path", integrationServiceEnvironmentName), + "resourceGroup": autorest.Encode("path", resourceGroup), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Logic/integrationServiceEnvironments/{integrationServiceEnvironmentName}/managedApis/{apiName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client IntegrationServiceEnvironmentManagedApisClient) DeleteSender(req *http.Request) (future IntegrationServiceEnvironmentManagedApisDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client IntegrationServiceEnvironmentManagedApisClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets the integration service environment managed Api. +// Parameters: +// resourceGroup - the resource group name. +// integrationServiceEnvironmentName - the integration service environment name. +// APIName - the api name. +func (client IntegrationServiceEnvironmentManagedApisClient) Get(ctx context.Context, resourceGroup string, integrationServiceEnvironmentName string, APIName string) (result ManagedAPI, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationServiceEnvironmentManagedApisClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroup, integrationServiceEnvironmentName, APIName) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationServiceEnvironmentManagedApisClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "logic.IntegrationServiceEnvironmentManagedApisClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationServiceEnvironmentManagedApisClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client IntegrationServiceEnvironmentManagedApisClient) GetPreparer(ctx context.Context, resourceGroup string, integrationServiceEnvironmentName string, APIName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "apiName": autorest.Encode("path", APIName), + "integrationServiceEnvironmentName": autorest.Encode("path", integrationServiceEnvironmentName), + "resourceGroup": autorest.Encode("path", resourceGroup), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Logic/integrationServiceEnvironments/{integrationServiceEnvironmentName}/managedApis/{apiName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client IntegrationServiceEnvironmentManagedApisClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client IntegrationServiceEnvironmentManagedApisClient) GetResponder(resp *http.Response) (result ManagedAPI, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets the integration service environment managed Apis. +// Parameters: +// resourceGroup - the resource group. +// integrationServiceEnvironmentName - the integration service environment name. +func (client IntegrationServiceEnvironmentManagedApisClient) List(ctx context.Context, resourceGroup string, integrationServiceEnvironmentName string) (result ManagedAPIListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationServiceEnvironmentManagedApisClient.List") + defer func() { + sc := -1 + if result.malr.Response.Response != nil { + sc = result.malr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroup, integrationServiceEnvironmentName) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationServiceEnvironmentManagedApisClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.malr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "logic.IntegrationServiceEnvironmentManagedApisClient", "List", resp, "Failure sending request") + return + } + + result.malr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationServiceEnvironmentManagedApisClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client IntegrationServiceEnvironmentManagedApisClient) ListPreparer(ctx context.Context, resourceGroup string, integrationServiceEnvironmentName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "integrationServiceEnvironmentName": autorest.Encode("path", integrationServiceEnvironmentName), + "resourceGroup": autorest.Encode("path", resourceGroup), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Logic/integrationServiceEnvironments/{integrationServiceEnvironmentName}/managedApis", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client IntegrationServiceEnvironmentManagedApisClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client IntegrationServiceEnvironmentManagedApisClient) ListResponder(resp *http.Response) (result ManagedAPIListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client IntegrationServiceEnvironmentManagedApisClient) listNextResults(ctx context.Context, lastResults ManagedAPIListResult) (result ManagedAPIListResult, err error) { + req, err := lastResults.managedAPIListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "logic.IntegrationServiceEnvironmentManagedApisClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "logic.IntegrationServiceEnvironmentManagedApisClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationServiceEnvironmentManagedApisClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client IntegrationServiceEnvironmentManagedApisClient) ListComplete(ctx context.Context, resourceGroup string, integrationServiceEnvironmentName string) (result ManagedAPIListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationServiceEnvironmentManagedApisClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroup, integrationServiceEnvironmentName) + return +} + +// Put puts the integration service environment managed Api. +// Parameters: +// resourceGroup - the resource group name. +// integrationServiceEnvironmentName - the integration service environment name. +// APIName - the api name. +func (client IntegrationServiceEnvironmentManagedApisClient) Put(ctx context.Context, resourceGroup string, integrationServiceEnvironmentName string, APIName string) (result IntegrationServiceEnvironmentManagedApisPutFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationServiceEnvironmentManagedApisClient.Put") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.PutPreparer(ctx, resourceGroup, integrationServiceEnvironmentName, APIName) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationServiceEnvironmentManagedApisClient", "Put", nil, "Failure preparing request") + return + } + + result, err = client.PutSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationServiceEnvironmentManagedApisClient", "Put", result.Response(), "Failure sending request") + return + } + + return +} + +// PutPreparer prepares the Put request. +func (client IntegrationServiceEnvironmentManagedApisClient) PutPreparer(ctx context.Context, resourceGroup string, integrationServiceEnvironmentName string, APIName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "apiName": autorest.Encode("path", APIName), + "integrationServiceEnvironmentName": autorest.Encode("path", integrationServiceEnvironmentName), + "resourceGroup": autorest.Encode("path", resourceGroup), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Logic/integrationServiceEnvironments/{integrationServiceEnvironmentName}/managedApis/{apiName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// PutSender sends the Put request. The method will close the +// http.Response Body if it receives an error. +func (client IntegrationServiceEnvironmentManagedApisClient) PutSender(req *http.Request) (future IntegrationServiceEnvironmentManagedApisPutFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// PutResponder handles the response to the Put request. The method always +// closes the http.Response Body. +func (client IntegrationServiceEnvironmentManagedApisClient) PutResponder(resp *http.Response) (result ManagedAPI, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/preview/logic/mgmt/2019-05-01/logic/integrationserviceenvironmentnetworkhealth.go b/services/preview/logic/mgmt/2019-05-01/logic/integrationserviceenvironmentnetworkhealth.go new file mode 100644 index 000000000000..43092b7df7d9 --- /dev/null +++ b/services/preview/logic/mgmt/2019-05-01/logic/integrationserviceenvironmentnetworkhealth.go @@ -0,0 +1,120 @@ +package logic + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// IntegrationServiceEnvironmentNetworkHealthClient is the REST API for Azure Logic Apps. +type IntegrationServiceEnvironmentNetworkHealthClient struct { + BaseClient +} + +// NewIntegrationServiceEnvironmentNetworkHealthClient creates an instance of the +// IntegrationServiceEnvironmentNetworkHealthClient client. +func NewIntegrationServiceEnvironmentNetworkHealthClient(subscriptionID string) IntegrationServiceEnvironmentNetworkHealthClient { + return NewIntegrationServiceEnvironmentNetworkHealthClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewIntegrationServiceEnvironmentNetworkHealthClientWithBaseURI creates an instance of the +// IntegrationServiceEnvironmentNetworkHealthClient client. +func NewIntegrationServiceEnvironmentNetworkHealthClientWithBaseURI(baseURI string, subscriptionID string) IntegrationServiceEnvironmentNetworkHealthClient { + return IntegrationServiceEnvironmentNetworkHealthClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// Get gets the integration service environment network health. +// Parameters: +// resourceGroup - the resource group. +// integrationServiceEnvironmentName - the integration service environment name. +func (client IntegrationServiceEnvironmentNetworkHealthClient) Get(ctx context.Context, resourceGroup string, integrationServiceEnvironmentName string) (result SetIntegrationServiceEnvironmentSubnetNetworkHealth, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationServiceEnvironmentNetworkHealthClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroup, integrationServiceEnvironmentName) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationServiceEnvironmentNetworkHealthClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "logic.IntegrationServiceEnvironmentNetworkHealthClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationServiceEnvironmentNetworkHealthClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client IntegrationServiceEnvironmentNetworkHealthClient) GetPreparer(ctx context.Context, resourceGroup string, integrationServiceEnvironmentName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "integrationServiceEnvironmentName": autorest.Encode("path", integrationServiceEnvironmentName), + "resourceGroup": autorest.Encode("path", resourceGroup), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Logic/integrationServiceEnvironments/{integrationServiceEnvironmentName}/health/network", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client IntegrationServiceEnvironmentNetworkHealthClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client IntegrationServiceEnvironmentNetworkHealthClient) GetResponder(resp *http.Response) (result SetIntegrationServiceEnvironmentSubnetNetworkHealth, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result.Value), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/preview/logic/mgmt/2019-05-01/logic/integrationserviceenvironments.go b/services/preview/logic/mgmt/2019-05-01/logic/integrationserviceenvironments.go new file mode 100644 index 000000000000..fe767c387e14 --- /dev/null +++ b/services/preview/logic/mgmt/2019-05-01/logic/integrationserviceenvironments.go @@ -0,0 +1,663 @@ +package logic + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// IntegrationServiceEnvironmentsClient is the REST API for Azure Logic Apps. +type IntegrationServiceEnvironmentsClient struct { + BaseClient +} + +// NewIntegrationServiceEnvironmentsClient creates an instance of the IntegrationServiceEnvironmentsClient client. +func NewIntegrationServiceEnvironmentsClient(subscriptionID string) IntegrationServiceEnvironmentsClient { + return NewIntegrationServiceEnvironmentsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewIntegrationServiceEnvironmentsClientWithBaseURI creates an instance of the IntegrationServiceEnvironmentsClient +// client. +func NewIntegrationServiceEnvironmentsClientWithBaseURI(baseURI string, subscriptionID string) IntegrationServiceEnvironmentsClient { + return IntegrationServiceEnvironmentsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates an integration service environment. +// Parameters: +// resourceGroup - the resource group. +// integrationServiceEnvironmentName - the integration service environment name. +// integrationServiceEnvironment - the integration service environment. +func (client IntegrationServiceEnvironmentsClient) CreateOrUpdate(ctx context.Context, resourceGroup string, integrationServiceEnvironmentName string, integrationServiceEnvironment IntegrationServiceEnvironment) (result IntegrationServiceEnvironmentsCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationServiceEnvironmentsClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroup, integrationServiceEnvironmentName, integrationServiceEnvironment) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationServiceEnvironmentsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationServiceEnvironmentsClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client IntegrationServiceEnvironmentsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroup string, integrationServiceEnvironmentName string, integrationServiceEnvironment IntegrationServiceEnvironment) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "integrationServiceEnvironmentName": autorest.Encode("path", integrationServiceEnvironmentName), + "resourceGroup": autorest.Encode("path", resourceGroup), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Logic/integrationServiceEnvironments/{integrationServiceEnvironmentName}", pathParameters), + autorest.WithJSON(integrationServiceEnvironment), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client IntegrationServiceEnvironmentsClient) CreateOrUpdateSender(req *http.Request) (future IntegrationServiceEnvironmentsCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client IntegrationServiceEnvironmentsClient) CreateOrUpdateResponder(resp *http.Response) (result IntegrationServiceEnvironment, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes an integration service environment. +// Parameters: +// resourceGroup - the resource group. +// integrationServiceEnvironmentName - the integration service environment name. +func (client IntegrationServiceEnvironmentsClient) Delete(ctx context.Context, resourceGroup string, integrationServiceEnvironmentName string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationServiceEnvironmentsClient.Delete") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroup, integrationServiceEnvironmentName) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationServiceEnvironmentsClient", "Delete", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "logic.IntegrationServiceEnvironmentsClient", "Delete", resp, "Failure sending request") + return + } + + result, err = client.DeleteResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationServiceEnvironmentsClient", "Delete", resp, "Failure responding to request") + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client IntegrationServiceEnvironmentsClient) DeletePreparer(ctx context.Context, resourceGroup string, integrationServiceEnvironmentName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "integrationServiceEnvironmentName": autorest.Encode("path", integrationServiceEnvironmentName), + "resourceGroup": autorest.Encode("path", resourceGroup), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Logic/integrationServiceEnvironments/{integrationServiceEnvironmentName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client IntegrationServiceEnvironmentsClient) DeleteSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client IntegrationServiceEnvironmentsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets an integration service environment. +// Parameters: +// resourceGroup - the resource group. +// integrationServiceEnvironmentName - the integration service environment name. +func (client IntegrationServiceEnvironmentsClient) Get(ctx context.Context, resourceGroup string, integrationServiceEnvironmentName string) (result IntegrationServiceEnvironment, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationServiceEnvironmentsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroup, integrationServiceEnvironmentName) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationServiceEnvironmentsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "logic.IntegrationServiceEnvironmentsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationServiceEnvironmentsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client IntegrationServiceEnvironmentsClient) GetPreparer(ctx context.Context, resourceGroup string, integrationServiceEnvironmentName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "integrationServiceEnvironmentName": autorest.Encode("path", integrationServiceEnvironmentName), + "resourceGroup": autorest.Encode("path", resourceGroup), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Logic/integrationServiceEnvironments/{integrationServiceEnvironmentName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client IntegrationServiceEnvironmentsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client IntegrationServiceEnvironmentsClient) GetResponder(resp *http.Response) (result IntegrationServiceEnvironment, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByResourceGroup gets a list of integration service environments by resource group. +// Parameters: +// resourceGroup - the resource group. +// top - the number of items to be included in the result. +func (client IntegrationServiceEnvironmentsClient) ListByResourceGroup(ctx context.Context, resourceGroup string, top *int32) (result IntegrationServiceEnvironmentListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationServiceEnvironmentsClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.iselr.Response.Response != nil { + sc = result.iselr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listByResourceGroupNextResults + req, err := client.ListByResourceGroupPreparer(ctx, resourceGroup, top) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationServiceEnvironmentsClient", "ListByResourceGroup", nil, "Failure preparing request") + return + } + + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.iselr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "logic.IntegrationServiceEnvironmentsClient", "ListByResourceGroup", resp, "Failure sending request") + return + } + + result.iselr, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationServiceEnvironmentsClient", "ListByResourceGroup", resp, "Failure responding to request") + } + + return +} + +// ListByResourceGroupPreparer prepares the ListByResourceGroup request. +func (client IntegrationServiceEnvironmentsClient) ListByResourceGroupPreparer(ctx context.Context, resourceGroup string, top *int32) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroup": autorest.Encode("path", resourceGroup), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if top != nil { + queryParameters["$top"] = autorest.Encode("query", *top) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Logic/integrationServiceEnvironments", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByResourceGroupSender sends the ListByResourceGroup request. The method will close the +// http.Response Body if it receives an error. +func (client IntegrationServiceEnvironmentsClient) ListByResourceGroupSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByResourceGroupResponder handles the response to the ListByResourceGroup request. The method always +// closes the http.Response Body. +func (client IntegrationServiceEnvironmentsClient) ListByResourceGroupResponder(resp *http.Response) (result IntegrationServiceEnvironmentListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listByResourceGroupNextResults retrieves the next set of results, if any. +func (client IntegrationServiceEnvironmentsClient) listByResourceGroupNextResults(ctx context.Context, lastResults IntegrationServiceEnvironmentListResult) (result IntegrationServiceEnvironmentListResult, err error) { + req, err := lastResults.integrationServiceEnvironmentListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "logic.IntegrationServiceEnvironmentsClient", "listByResourceGroupNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "logic.IntegrationServiceEnvironmentsClient", "listByResourceGroupNextResults", resp, "Failure sending next results request") + } + result, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationServiceEnvironmentsClient", "listByResourceGroupNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListByResourceGroupComplete enumerates all values, automatically crossing page boundaries as required. +func (client IntegrationServiceEnvironmentsClient) ListByResourceGroupComplete(ctx context.Context, resourceGroup string, top *int32) (result IntegrationServiceEnvironmentListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationServiceEnvironmentsClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListByResourceGroup(ctx, resourceGroup, top) + return +} + +// ListBySubscription gets a list of integration service environments by subscription. +// Parameters: +// top - the number of items to be included in the result. +func (client IntegrationServiceEnvironmentsClient) ListBySubscription(ctx context.Context, top *int32) (result IntegrationServiceEnvironmentListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationServiceEnvironmentsClient.ListBySubscription") + defer func() { + sc := -1 + if result.iselr.Response.Response != nil { + sc = result.iselr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listBySubscriptionNextResults + req, err := client.ListBySubscriptionPreparer(ctx, top) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationServiceEnvironmentsClient", "ListBySubscription", nil, "Failure preparing request") + return + } + + resp, err := client.ListBySubscriptionSender(req) + if err != nil { + result.iselr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "logic.IntegrationServiceEnvironmentsClient", "ListBySubscription", resp, "Failure sending request") + return + } + + result.iselr, err = client.ListBySubscriptionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationServiceEnvironmentsClient", "ListBySubscription", resp, "Failure responding to request") + } + + return +} + +// ListBySubscriptionPreparer prepares the ListBySubscription request. +func (client IntegrationServiceEnvironmentsClient) ListBySubscriptionPreparer(ctx context.Context, top *int32) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if top != nil { + queryParameters["$top"] = autorest.Encode("query", *top) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Logic/integrationServiceEnvironments", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListBySubscriptionSender sends the ListBySubscription request. The method will close the +// http.Response Body if it receives an error. +func (client IntegrationServiceEnvironmentsClient) ListBySubscriptionSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListBySubscriptionResponder handles the response to the ListBySubscription request. The method always +// closes the http.Response Body. +func (client IntegrationServiceEnvironmentsClient) ListBySubscriptionResponder(resp *http.Response) (result IntegrationServiceEnvironmentListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listBySubscriptionNextResults retrieves the next set of results, if any. +func (client IntegrationServiceEnvironmentsClient) listBySubscriptionNextResults(ctx context.Context, lastResults IntegrationServiceEnvironmentListResult) (result IntegrationServiceEnvironmentListResult, err error) { + req, err := lastResults.integrationServiceEnvironmentListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "logic.IntegrationServiceEnvironmentsClient", "listBySubscriptionNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListBySubscriptionSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "logic.IntegrationServiceEnvironmentsClient", "listBySubscriptionNextResults", resp, "Failure sending next results request") + } + result, err = client.ListBySubscriptionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationServiceEnvironmentsClient", "listBySubscriptionNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListBySubscriptionComplete enumerates all values, automatically crossing page boundaries as required. +func (client IntegrationServiceEnvironmentsClient) ListBySubscriptionComplete(ctx context.Context, top *int32) (result IntegrationServiceEnvironmentListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationServiceEnvironmentsClient.ListBySubscription") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListBySubscription(ctx, top) + return +} + +// Restart restarts an integration service environment. +// Parameters: +// resourceGroup - the resource group. +// integrationServiceEnvironmentName - the integration service environment name. +func (client IntegrationServiceEnvironmentsClient) Restart(ctx context.Context, resourceGroup string, integrationServiceEnvironmentName string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationServiceEnvironmentsClient.Restart") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.RestartPreparer(ctx, resourceGroup, integrationServiceEnvironmentName) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationServiceEnvironmentsClient", "Restart", nil, "Failure preparing request") + return + } + + resp, err := client.RestartSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "logic.IntegrationServiceEnvironmentsClient", "Restart", resp, "Failure sending request") + return + } + + result, err = client.RestartResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationServiceEnvironmentsClient", "Restart", resp, "Failure responding to request") + } + + return +} + +// RestartPreparer prepares the Restart request. +func (client IntegrationServiceEnvironmentsClient) RestartPreparer(ctx context.Context, resourceGroup string, integrationServiceEnvironmentName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "integrationServiceEnvironmentName": autorest.Encode("path", integrationServiceEnvironmentName), + "resourceGroup": autorest.Encode("path", resourceGroup), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Logic/integrationServiceEnvironments/{integrationServiceEnvironmentName}/restart", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// RestartSender sends the Restart request. The method will close the +// http.Response Body if it receives an error. +func (client IntegrationServiceEnvironmentsClient) RestartSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// RestartResponder handles the response to the Restart request. The method always +// closes the http.Response Body. +func (client IntegrationServiceEnvironmentsClient) RestartResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByClosing()) + result.Response = resp + return +} + +// Update updates an integration service environment. +// Parameters: +// resourceGroup - the resource group. +// integrationServiceEnvironmentName - the integration service environment name. +// integrationServiceEnvironment - the integration service environment. +func (client IntegrationServiceEnvironmentsClient) Update(ctx context.Context, resourceGroup string, integrationServiceEnvironmentName string, integrationServiceEnvironment IntegrationServiceEnvironment) (result IntegrationServiceEnvironmentsUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationServiceEnvironmentsClient.Update") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdatePreparer(ctx, resourceGroup, integrationServiceEnvironmentName, integrationServiceEnvironment) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationServiceEnvironmentsClient", "Update", nil, "Failure preparing request") + return + } + + result, err = client.UpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationServiceEnvironmentsClient", "Update", result.Response(), "Failure sending request") + return + } + + return +} + +// UpdatePreparer prepares the Update request. +func (client IntegrationServiceEnvironmentsClient) UpdatePreparer(ctx context.Context, resourceGroup string, integrationServiceEnvironmentName string, integrationServiceEnvironment IntegrationServiceEnvironment) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "integrationServiceEnvironmentName": autorest.Encode("path", integrationServiceEnvironmentName), + "resourceGroup": autorest.Encode("path", resourceGroup), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Logic/integrationServiceEnvironments/{integrationServiceEnvironmentName}", pathParameters), + autorest.WithJSON(integrationServiceEnvironment), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateSender sends the Update request. The method will close the +// http.Response Body if it receives an error. +func (client IntegrationServiceEnvironmentsClient) UpdateSender(req *http.Request) (future IntegrationServiceEnvironmentsUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// UpdateResponder handles the response to the Update request. The method always +// closes the http.Response Body. +func (client IntegrationServiceEnvironmentsClient) UpdateResponder(resp *http.Response) (result IntegrationServiceEnvironment, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/preview/logic/mgmt/2019-05-01/logic/integrationserviceenvironmentskus.go b/services/preview/logic/mgmt/2019-05-01/logic/integrationserviceenvironmentskus.go new file mode 100644 index 000000000000..6e9edcad4a6a --- /dev/null +++ b/services/preview/logic/mgmt/2019-05-01/logic/integrationserviceenvironmentskus.go @@ -0,0 +1,158 @@ +package logic + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// IntegrationServiceEnvironmentSkusClient is the REST API for Azure Logic Apps. +type IntegrationServiceEnvironmentSkusClient struct { + BaseClient +} + +// NewIntegrationServiceEnvironmentSkusClient creates an instance of the IntegrationServiceEnvironmentSkusClient +// client. +func NewIntegrationServiceEnvironmentSkusClient(subscriptionID string) IntegrationServiceEnvironmentSkusClient { + return NewIntegrationServiceEnvironmentSkusClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewIntegrationServiceEnvironmentSkusClientWithBaseURI creates an instance of the +// IntegrationServiceEnvironmentSkusClient client. +func NewIntegrationServiceEnvironmentSkusClientWithBaseURI(baseURI string, subscriptionID string) IntegrationServiceEnvironmentSkusClient { + return IntegrationServiceEnvironmentSkusClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// List gets a list of integration service environment Skus. +// Parameters: +// resourceGroup - the resource group. +// integrationServiceEnvironmentName - the integration service environment name. +func (client IntegrationServiceEnvironmentSkusClient) List(ctx context.Context, resourceGroup string, integrationServiceEnvironmentName string) (result IntegrationServiceEnvironmentSkuListPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationServiceEnvironmentSkusClient.List") + defer func() { + sc := -1 + if result.isesl.Response.Response != nil { + sc = result.isesl.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroup, integrationServiceEnvironmentName) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationServiceEnvironmentSkusClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.isesl.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "logic.IntegrationServiceEnvironmentSkusClient", "List", resp, "Failure sending request") + return + } + + result.isesl, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationServiceEnvironmentSkusClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client IntegrationServiceEnvironmentSkusClient) ListPreparer(ctx context.Context, resourceGroup string, integrationServiceEnvironmentName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "integrationServiceEnvironmentName": autorest.Encode("path", integrationServiceEnvironmentName), + "resourceGroup": autorest.Encode("path", resourceGroup), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Logic/integrationServiceEnvironments/{integrationServiceEnvironmentName}/skus", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client IntegrationServiceEnvironmentSkusClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client IntegrationServiceEnvironmentSkusClient) ListResponder(resp *http.Response) (result IntegrationServiceEnvironmentSkuList, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client IntegrationServiceEnvironmentSkusClient) listNextResults(ctx context.Context, lastResults IntegrationServiceEnvironmentSkuList) (result IntegrationServiceEnvironmentSkuList, err error) { + req, err := lastResults.integrationServiceEnvironmentSkuListPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "logic.IntegrationServiceEnvironmentSkusClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "logic.IntegrationServiceEnvironmentSkusClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationServiceEnvironmentSkusClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client IntegrationServiceEnvironmentSkusClient) ListComplete(ctx context.Context, resourceGroup string, integrationServiceEnvironmentName string) (result IntegrationServiceEnvironmentSkuListIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationServiceEnvironmentSkusClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroup, integrationServiceEnvironmentName) + return +} diff --git a/services/preview/logic/mgmt/2019-05-01/logic/logicapi/interfaces.go b/services/preview/logic/mgmt/2019-05-01/logic/logicapi/interfaces.go new file mode 100644 index 000000000000..ad50af7ed0f1 --- /dev/null +++ b/services/preview/logic/mgmt/2019-05-01/logic/logicapi/interfaces.go @@ -0,0 +1,292 @@ +package logicapi + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/azure-sdk-for-go/services/preview/logic/mgmt/2019-05-01/logic" + "github.com/Azure/go-autorest/autorest" +) + +// WorkflowsClientAPI contains the set of methods on the WorkflowsClient type. +type WorkflowsClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, workflowName string, workflow logic.Workflow) (result logic.Workflow, err error) + Delete(ctx context.Context, resourceGroupName string, workflowName string) (result autorest.Response, err error) + Disable(ctx context.Context, resourceGroupName string, workflowName string) (result autorest.Response, err error) + Enable(ctx context.Context, resourceGroupName string, workflowName string) (result autorest.Response, err error) + GenerateUpgradedDefinition(ctx context.Context, resourceGroupName string, workflowName string, parameters logic.GenerateUpgradedDefinitionParameters) (result logic.SetObject, err error) + Get(ctx context.Context, resourceGroupName string, workflowName string) (result logic.Workflow, err error) + ListByResourceGroup(ctx context.Context, resourceGroupName string, top *int32, filter string) (result logic.WorkflowListResultPage, err error) + ListBySubscription(ctx context.Context, top *int32, filter string) (result logic.WorkflowListResultPage, err error) + ListCallbackURL(ctx context.Context, resourceGroupName string, workflowName string, listCallbackURL logic.GetCallbackURLParameters) (result logic.WorkflowTriggerCallbackURL, err error) + ListSwagger(ctx context.Context, resourceGroupName string, workflowName string) (result logic.SetObject, err error) + Move(ctx context.Context, resourceGroupName string, workflowName string, move logic.Workflow) (result logic.WorkflowsMoveFuture, err error) + RegenerateAccessKey(ctx context.Context, resourceGroupName string, workflowName string, keyType logic.RegenerateActionParameter) (result autorest.Response, err error) + Update(ctx context.Context, resourceGroupName string, workflowName string, workflow logic.Workflow) (result logic.Workflow, err error) + ValidateByLocation(ctx context.Context, resourceGroupName string, location string, workflowName string) (result autorest.Response, err error) + ValidateByResourceGroup(ctx context.Context, resourceGroupName string, workflowName string, validate logic.Workflow) (result autorest.Response, err error) +} + +var _ WorkflowsClientAPI = (*logic.WorkflowsClient)(nil) + +// WorkflowVersionsClientAPI contains the set of methods on the WorkflowVersionsClient type. +type WorkflowVersionsClientAPI interface { + Get(ctx context.Context, resourceGroupName string, workflowName string, versionID string) (result logic.WorkflowVersion, err error) + List(ctx context.Context, resourceGroupName string, workflowName string, top *int32) (result logic.WorkflowVersionListResultPage, err error) +} + +var _ WorkflowVersionsClientAPI = (*logic.WorkflowVersionsClient)(nil) + +// WorkflowTriggersClientAPI contains the set of methods on the WorkflowTriggersClient type. +type WorkflowTriggersClientAPI interface { + Get(ctx context.Context, resourceGroupName string, workflowName string, triggerName string) (result logic.WorkflowTrigger, err error) + GetSchemaJSON(ctx context.Context, resourceGroupName string, workflowName string, triggerName string) (result logic.JSONSchema, err error) + List(ctx context.Context, resourceGroupName string, workflowName string, top *int32, filter string) (result logic.WorkflowTriggerListResultPage, err error) + ListCallbackURL(ctx context.Context, resourceGroupName string, workflowName string, triggerName string) (result logic.WorkflowTriggerCallbackURL, err error) + Reset(ctx context.Context, resourceGroupName string, workflowName string, triggerName string) (result autorest.Response, err error) + Run(ctx context.Context, resourceGroupName string, workflowName string, triggerName string) (result logic.SetObject, err error) + SetState(ctx context.Context, resourceGroupName string, workflowName string, triggerName string, setState logic.SetTriggerStateActionDefinition) (result autorest.Response, err error) +} + +var _ WorkflowTriggersClientAPI = (*logic.WorkflowTriggersClient)(nil) + +// WorkflowVersionTriggersClientAPI contains the set of methods on the WorkflowVersionTriggersClient type. +type WorkflowVersionTriggersClientAPI interface { + ListCallbackURL(ctx context.Context, resourceGroupName string, workflowName string, versionID string, triggerName string, parameters *logic.GetCallbackURLParameters) (result logic.WorkflowTriggerCallbackURL, err error) +} + +var _ WorkflowVersionTriggersClientAPI = (*logic.WorkflowVersionTriggersClient)(nil) + +// WorkflowTriggerHistoriesClientAPI contains the set of methods on the WorkflowTriggerHistoriesClient type. +type WorkflowTriggerHistoriesClientAPI interface { + Get(ctx context.Context, resourceGroupName string, workflowName string, triggerName string, historyName string) (result logic.WorkflowTriggerHistory, err error) + List(ctx context.Context, resourceGroupName string, workflowName string, triggerName string, top *int32, filter string) (result logic.WorkflowTriggerHistoryListResultPage, err error) + Resubmit(ctx context.Context, resourceGroupName string, workflowName string, triggerName string, historyName string) (result autorest.Response, err error) +} + +var _ WorkflowTriggerHistoriesClientAPI = (*logic.WorkflowTriggerHistoriesClient)(nil) + +// WorkflowRunsClientAPI contains the set of methods on the WorkflowRunsClient type. +type WorkflowRunsClientAPI interface { + Cancel(ctx context.Context, resourceGroupName string, workflowName string, runName string) (result autorest.Response, err error) + Get(ctx context.Context, resourceGroupName string, workflowName string, runName string) (result logic.WorkflowRun, err error) + List(ctx context.Context, resourceGroupName string, workflowName string, top *int32, filter string) (result logic.WorkflowRunListResultPage, err error) +} + +var _ WorkflowRunsClientAPI = (*logic.WorkflowRunsClient)(nil) + +// WorkflowRunActionsClientAPI contains the set of methods on the WorkflowRunActionsClient type. +type WorkflowRunActionsClientAPI interface { + Get(ctx context.Context, resourceGroupName string, workflowName string, runName string, actionName string) (result logic.WorkflowRunAction, err error) + List(ctx context.Context, resourceGroupName string, workflowName string, runName string, top *int32, filter string) (result logic.WorkflowRunActionListResultPage, err error) + ListExpressionTraces(ctx context.Context, resourceGroupName string, workflowName string, runName string, actionName string) (result logic.ExpressionTraces, err error) +} + +var _ WorkflowRunActionsClientAPI = (*logic.WorkflowRunActionsClient)(nil) + +// WorkflowRunActionRepetitionsClientAPI contains the set of methods on the WorkflowRunActionRepetitionsClient type. +type WorkflowRunActionRepetitionsClientAPI interface { + Get(ctx context.Context, resourceGroupName string, workflowName string, runName string, actionName string, repetitionName string) (result logic.WorkflowRunActionRepetitionDefinition, err error) + List(ctx context.Context, resourceGroupName string, workflowName string, runName string, actionName string) (result logic.WorkflowRunActionRepetitionDefinitionCollection, err error) + ListExpressionTraces(ctx context.Context, resourceGroupName string, workflowName string, runName string, actionName string, repetitionName string) (result logic.ExpressionTraces, err error) +} + +var _ WorkflowRunActionRepetitionsClientAPI = (*logic.WorkflowRunActionRepetitionsClient)(nil) + +// WorkflowRunActionRepetitionsRequestHistoriesClientAPI contains the set of methods on the WorkflowRunActionRepetitionsRequestHistoriesClient type. +type WorkflowRunActionRepetitionsRequestHistoriesClientAPI interface { + Get(ctx context.Context, resourceGroupName string, workflowName string, runName string, actionName string, repetitionName string, requestHistoryName string) (result logic.RequestHistory, err error) + List(ctx context.Context, resourceGroupName string, workflowName string, runName string, actionName string, repetitionName string) (result logic.RequestHistoryListResultPage, err error) +} + +var _ WorkflowRunActionRepetitionsRequestHistoriesClientAPI = (*logic.WorkflowRunActionRepetitionsRequestHistoriesClient)(nil) + +// WorkflowRunActionRequestHistoriesClientAPI contains the set of methods on the WorkflowRunActionRequestHistoriesClient type. +type WorkflowRunActionRequestHistoriesClientAPI interface { + Get(ctx context.Context, resourceGroupName string, workflowName string, runName string, actionName string, requestHistoryName string) (result logic.RequestHistory, err error) + List(ctx context.Context, resourceGroupName string, workflowName string, runName string, actionName string) (result logic.RequestHistoryListResultPage, err error) +} + +var _ WorkflowRunActionRequestHistoriesClientAPI = (*logic.WorkflowRunActionRequestHistoriesClient)(nil) + +// WorkflowRunActionScopeRepetitionsClientAPI contains the set of methods on the WorkflowRunActionScopeRepetitionsClient type. +type WorkflowRunActionScopeRepetitionsClientAPI interface { + Get(ctx context.Context, resourceGroupName string, workflowName string, runName string, actionName string, repetitionName string) (result logic.WorkflowRunActionRepetitionDefinition, err error) + List(ctx context.Context, resourceGroupName string, workflowName string, runName string, actionName string) (result logic.WorkflowRunActionRepetitionDefinitionCollection, err error) +} + +var _ WorkflowRunActionScopeRepetitionsClientAPI = (*logic.WorkflowRunActionScopeRepetitionsClient)(nil) + +// WorkflowRunOperationsClientAPI contains the set of methods on the WorkflowRunOperationsClient type. +type WorkflowRunOperationsClientAPI interface { + Get(ctx context.Context, resourceGroupName string, workflowName string, runName string, operationID string) (result logic.WorkflowRun, err error) +} + +var _ WorkflowRunOperationsClientAPI = (*logic.WorkflowRunOperationsClient)(nil) + +// IntegrationAccountsClientAPI contains the set of methods on the IntegrationAccountsClient type. +type IntegrationAccountsClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, integrationAccountName string, integrationAccount logic.IntegrationAccount) (result logic.IntegrationAccount, err error) + Delete(ctx context.Context, resourceGroupName string, integrationAccountName string) (result autorest.Response, err error) + Get(ctx context.Context, resourceGroupName string, integrationAccountName string) (result logic.IntegrationAccount, err error) + ListByResourceGroup(ctx context.Context, resourceGroupName string, top *int32) (result logic.IntegrationAccountListResultPage, err error) + ListBySubscription(ctx context.Context, top *int32) (result logic.IntegrationAccountListResultPage, err error) + ListCallbackURL(ctx context.Context, resourceGroupName string, integrationAccountName string, parameters logic.GetCallbackURLParameters) (result logic.CallbackURL, err error) + ListKeyVaultKeys(ctx context.Context, resourceGroupName string, integrationAccountName string, listKeyVaultKeys logic.ListKeyVaultKeysDefinition) (result logic.KeyVaultKeyCollection, err error) + LogTrackingEvents(ctx context.Context, resourceGroupName string, integrationAccountName string, logTrackingEvents logic.TrackingEventsDefinition) (result autorest.Response, err error) + RegenerateAccessKey(ctx context.Context, resourceGroupName string, integrationAccountName string, regenerateAccessKey logic.RegenerateActionParameter) (result logic.IntegrationAccount, err error) + Update(ctx context.Context, resourceGroupName string, integrationAccountName string, integrationAccount logic.IntegrationAccount) (result logic.IntegrationAccount, err error) +} + +var _ IntegrationAccountsClientAPI = (*logic.IntegrationAccountsClient)(nil) + +// IntegrationAccountAssembliesClientAPI contains the set of methods on the IntegrationAccountAssembliesClient type. +type IntegrationAccountAssembliesClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, integrationAccountName string, assemblyArtifactName string, assemblyArtifact logic.AssemblyDefinition) (result logic.AssemblyDefinition, err error) + Delete(ctx context.Context, resourceGroupName string, integrationAccountName string, assemblyArtifactName string) (result autorest.Response, err error) + Get(ctx context.Context, resourceGroupName string, integrationAccountName string, assemblyArtifactName string) (result logic.AssemblyDefinition, err error) + List(ctx context.Context, resourceGroupName string, integrationAccountName string) (result logic.AssemblyCollection, err error) + ListContentCallbackURL(ctx context.Context, resourceGroupName string, integrationAccountName string, assemblyArtifactName string) (result logic.WorkflowTriggerCallbackURL, err error) +} + +var _ IntegrationAccountAssembliesClientAPI = (*logic.IntegrationAccountAssembliesClient)(nil) + +// IntegrationAccountBatchConfigurationsClientAPI contains the set of methods on the IntegrationAccountBatchConfigurationsClient type. +type IntegrationAccountBatchConfigurationsClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, integrationAccountName string, batchConfigurationName string, batchConfiguration logic.BatchConfiguration) (result logic.BatchConfiguration, err error) + Delete(ctx context.Context, resourceGroupName string, integrationAccountName string, batchConfigurationName string) (result autorest.Response, err error) + Get(ctx context.Context, resourceGroupName string, integrationAccountName string, batchConfigurationName string) (result logic.BatchConfiguration, err error) + List(ctx context.Context, resourceGroupName string, integrationAccountName string) (result logic.BatchConfigurationCollection, err error) +} + +var _ IntegrationAccountBatchConfigurationsClientAPI = (*logic.IntegrationAccountBatchConfigurationsClient)(nil) + +// IntegrationAccountSchemasClientAPI contains the set of methods on the IntegrationAccountSchemasClient type. +type IntegrationAccountSchemasClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, integrationAccountName string, schemaName string, schema logic.IntegrationAccountSchema) (result logic.IntegrationAccountSchema, err error) + Delete(ctx context.Context, resourceGroupName string, integrationAccountName string, schemaName string) (result autorest.Response, err error) + Get(ctx context.Context, resourceGroupName string, integrationAccountName string, schemaName string) (result logic.IntegrationAccountSchema, err error) + List(ctx context.Context, resourceGroupName string, integrationAccountName string, top *int32, filter string) (result logic.IntegrationAccountSchemaListResultPage, err error) + ListContentCallbackURL(ctx context.Context, resourceGroupName string, integrationAccountName string, schemaName string, listContentCallbackURL logic.GetCallbackURLParameters) (result logic.WorkflowTriggerCallbackURL, err error) +} + +var _ IntegrationAccountSchemasClientAPI = (*logic.IntegrationAccountSchemasClient)(nil) + +// IntegrationAccountMapsClientAPI contains the set of methods on the IntegrationAccountMapsClient type. +type IntegrationAccountMapsClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, integrationAccountName string, mapName string, mapParameter logic.IntegrationAccountMap) (result logic.IntegrationAccountMap, err error) + Delete(ctx context.Context, resourceGroupName string, integrationAccountName string, mapName string) (result autorest.Response, err error) + Get(ctx context.Context, resourceGroupName string, integrationAccountName string, mapName string) (result logic.IntegrationAccountMap, err error) + List(ctx context.Context, resourceGroupName string, integrationAccountName string, top *int32, filter string) (result logic.IntegrationAccountMapListResultPage, err error) + ListContentCallbackURL(ctx context.Context, resourceGroupName string, integrationAccountName string, mapName string, listContentCallbackURL logic.GetCallbackURLParameters) (result logic.WorkflowTriggerCallbackURL, err error) +} + +var _ IntegrationAccountMapsClientAPI = (*logic.IntegrationAccountMapsClient)(nil) + +// IntegrationAccountPartnersClientAPI contains the set of methods on the IntegrationAccountPartnersClient type. +type IntegrationAccountPartnersClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, integrationAccountName string, partnerName string, partner logic.IntegrationAccountPartner) (result logic.IntegrationAccountPartner, err error) + Delete(ctx context.Context, resourceGroupName string, integrationAccountName string, partnerName string) (result autorest.Response, err error) + Get(ctx context.Context, resourceGroupName string, integrationAccountName string, partnerName string) (result logic.IntegrationAccountPartner, err error) + List(ctx context.Context, resourceGroupName string, integrationAccountName string, top *int32, filter string) (result logic.IntegrationAccountPartnerListResultPage, err error) + ListContentCallbackURL(ctx context.Context, resourceGroupName string, integrationAccountName string, partnerName string, listContentCallbackURL logic.GetCallbackURLParameters) (result logic.WorkflowTriggerCallbackURL, err error) +} + +var _ IntegrationAccountPartnersClientAPI = (*logic.IntegrationAccountPartnersClient)(nil) + +// IntegrationAccountAgreementsClientAPI contains the set of methods on the IntegrationAccountAgreementsClient type. +type IntegrationAccountAgreementsClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, integrationAccountName string, agreementName string, agreement logic.IntegrationAccountAgreement) (result logic.IntegrationAccountAgreement, err error) + Delete(ctx context.Context, resourceGroupName string, integrationAccountName string, agreementName string) (result autorest.Response, err error) + Get(ctx context.Context, resourceGroupName string, integrationAccountName string, agreementName string) (result logic.IntegrationAccountAgreement, err error) + List(ctx context.Context, resourceGroupName string, integrationAccountName string, top *int32, filter string) (result logic.IntegrationAccountAgreementListResultPage, err error) + ListContentCallbackURL(ctx context.Context, resourceGroupName string, integrationAccountName string, agreementName string, listContentCallbackURL logic.GetCallbackURLParameters) (result logic.WorkflowTriggerCallbackURL, err error) +} + +var _ IntegrationAccountAgreementsClientAPI = (*logic.IntegrationAccountAgreementsClient)(nil) + +// IntegrationAccountCertificatesClientAPI contains the set of methods on the IntegrationAccountCertificatesClient type. +type IntegrationAccountCertificatesClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, integrationAccountName string, certificateName string, certificate logic.IntegrationAccountCertificate) (result logic.IntegrationAccountCertificate, err error) + Delete(ctx context.Context, resourceGroupName string, integrationAccountName string, certificateName string) (result autorest.Response, err error) + Get(ctx context.Context, resourceGroupName string, integrationAccountName string, certificateName string) (result logic.IntegrationAccountCertificate, err error) + List(ctx context.Context, resourceGroupName string, integrationAccountName string, top *int32) (result logic.IntegrationAccountCertificateListResultPage, err error) +} + +var _ IntegrationAccountCertificatesClientAPI = (*logic.IntegrationAccountCertificatesClient)(nil) + +// IntegrationAccountSessionsClientAPI contains the set of methods on the IntegrationAccountSessionsClient type. +type IntegrationAccountSessionsClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, integrationAccountName string, sessionName string, session logic.IntegrationAccountSession) (result logic.IntegrationAccountSession, err error) + Delete(ctx context.Context, resourceGroupName string, integrationAccountName string, sessionName string) (result autorest.Response, err error) + Get(ctx context.Context, resourceGroupName string, integrationAccountName string, sessionName string) (result logic.IntegrationAccountSession, err error) + List(ctx context.Context, resourceGroupName string, integrationAccountName string, top *int32, filter string) (result logic.IntegrationAccountSessionListResultPage, err error) +} + +var _ IntegrationAccountSessionsClientAPI = (*logic.IntegrationAccountSessionsClient)(nil) + +// IntegrationServiceEnvironmentsClientAPI contains the set of methods on the IntegrationServiceEnvironmentsClient type. +type IntegrationServiceEnvironmentsClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroup string, integrationServiceEnvironmentName string, integrationServiceEnvironment logic.IntegrationServiceEnvironment) (result logic.IntegrationServiceEnvironmentsCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroup string, integrationServiceEnvironmentName string) (result autorest.Response, err error) + Get(ctx context.Context, resourceGroup string, integrationServiceEnvironmentName string) (result logic.IntegrationServiceEnvironment, err error) + ListByResourceGroup(ctx context.Context, resourceGroup string, top *int32) (result logic.IntegrationServiceEnvironmentListResultPage, err error) + ListBySubscription(ctx context.Context, top *int32) (result logic.IntegrationServiceEnvironmentListResultPage, err error) + Restart(ctx context.Context, resourceGroup string, integrationServiceEnvironmentName string) (result autorest.Response, err error) + Update(ctx context.Context, resourceGroup string, integrationServiceEnvironmentName string, integrationServiceEnvironment logic.IntegrationServiceEnvironment) (result logic.IntegrationServiceEnvironmentsUpdateFuture, err error) +} + +var _ IntegrationServiceEnvironmentsClientAPI = (*logic.IntegrationServiceEnvironmentsClient)(nil) + +// IntegrationServiceEnvironmentSkusClientAPI contains the set of methods on the IntegrationServiceEnvironmentSkusClient type. +type IntegrationServiceEnvironmentSkusClientAPI interface { + List(ctx context.Context, resourceGroup string, integrationServiceEnvironmentName string) (result logic.IntegrationServiceEnvironmentSkuListPage, err error) +} + +var _ IntegrationServiceEnvironmentSkusClientAPI = (*logic.IntegrationServiceEnvironmentSkusClient)(nil) + +// IntegrationServiceEnvironmentNetworkHealthClientAPI contains the set of methods on the IntegrationServiceEnvironmentNetworkHealthClient type. +type IntegrationServiceEnvironmentNetworkHealthClientAPI interface { + Get(ctx context.Context, resourceGroup string, integrationServiceEnvironmentName string) (result logic.SetIntegrationServiceEnvironmentSubnetNetworkHealth, err error) +} + +var _ IntegrationServiceEnvironmentNetworkHealthClientAPI = (*logic.IntegrationServiceEnvironmentNetworkHealthClient)(nil) + +// IntegrationServiceEnvironmentManagedApisClientAPI contains the set of methods on the IntegrationServiceEnvironmentManagedApisClient type. +type IntegrationServiceEnvironmentManagedApisClientAPI interface { + Delete(ctx context.Context, resourceGroup string, integrationServiceEnvironmentName string, APIName string) (result logic.IntegrationServiceEnvironmentManagedApisDeleteFuture, err error) + Get(ctx context.Context, resourceGroup string, integrationServiceEnvironmentName string, APIName string) (result logic.ManagedAPI, err error) + List(ctx context.Context, resourceGroup string, integrationServiceEnvironmentName string) (result logic.ManagedAPIListResultPage, err error) + Put(ctx context.Context, resourceGroup string, integrationServiceEnvironmentName string, APIName string) (result logic.IntegrationServiceEnvironmentManagedApisPutFuture, err error) +} + +var _ IntegrationServiceEnvironmentManagedApisClientAPI = (*logic.IntegrationServiceEnvironmentManagedApisClient)(nil) + +// IntegrationServiceEnvironmentManagedAPIOperationsClientAPI contains the set of methods on the IntegrationServiceEnvironmentManagedAPIOperationsClient type. +type IntegrationServiceEnvironmentManagedAPIOperationsClientAPI interface { + List(ctx context.Context, resourceGroup string, integrationServiceEnvironmentName string, APIName string) (result logic.APIOperationListResultPage, err error) +} + +var _ IntegrationServiceEnvironmentManagedAPIOperationsClientAPI = (*logic.IntegrationServiceEnvironmentManagedAPIOperationsClient)(nil) + +// OperationsClientAPI contains the set of methods on the OperationsClient type. +type OperationsClientAPI interface { + List(ctx context.Context) (result logic.OperationListResultPage, err error) +} + +var _ OperationsClientAPI = (*logic.OperationsClient)(nil) diff --git a/services/preview/logic/mgmt/2019-05-01/logic/models.go b/services/preview/logic/mgmt/2019-05-01/logic/models.go new file mode 100644 index 000000000000..c724773861fa --- /dev/null +++ b/services/preview/logic/mgmt/2019-05-01/logic/models.go @@ -0,0 +1,8143 @@ +package logic + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "encoding/json" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/date" + "github.com/Azure/go-autorest/autorest/to" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// The package's fully qualified name. +const fqdn = "github.com/Azure/azure-sdk-for-go/services/preview/logic/mgmt/2019-05-01/logic" + +// AgreementType enumerates the values for agreement type. +type AgreementType string + +const ( + // AS2 ... + AS2 AgreementType = "AS2" + // Edifact ... + Edifact AgreementType = "Edifact" + // NotSpecified ... + NotSpecified AgreementType = "NotSpecified" + // X12 ... + X12 AgreementType = "X12" +) + +// PossibleAgreementTypeValues returns an array of possible values for the AgreementType const type. +func PossibleAgreementTypeValues() []AgreementType { + return []AgreementType{AS2, Edifact, NotSpecified, X12} +} + +// APIDeploymentParameterVisibility enumerates the values for api deployment parameter visibility. +type APIDeploymentParameterVisibility string + +const ( + // APIDeploymentParameterVisibilityDefault ... + APIDeploymentParameterVisibilityDefault APIDeploymentParameterVisibility = "Default" + // APIDeploymentParameterVisibilityInternal ... + APIDeploymentParameterVisibilityInternal APIDeploymentParameterVisibility = "Internal" + // APIDeploymentParameterVisibilityNotSpecified ... + APIDeploymentParameterVisibilityNotSpecified APIDeploymentParameterVisibility = "NotSpecified" +) + +// PossibleAPIDeploymentParameterVisibilityValues returns an array of possible values for the APIDeploymentParameterVisibility const type. +func PossibleAPIDeploymentParameterVisibilityValues() []APIDeploymentParameterVisibility { + return []APIDeploymentParameterVisibility{APIDeploymentParameterVisibilityDefault, APIDeploymentParameterVisibilityInternal, APIDeploymentParameterVisibilityNotSpecified} +} + +// APITier enumerates the values for api tier. +type APITier string + +const ( + // APITierEnterprise ... + APITierEnterprise APITier = "Enterprise" + // APITierNotSpecified ... + APITierNotSpecified APITier = "NotSpecified" + // APITierPremium ... + APITierPremium APITier = "Premium" + // APITierStandard ... + APITierStandard APITier = "Standard" +) + +// PossibleAPITierValues returns an array of possible values for the APITier const type. +func PossibleAPITierValues() []APITier { + return []APITier{APITierEnterprise, APITierNotSpecified, APITierPremium, APITierStandard} +} + +// APIType enumerates the values for api type. +type APIType string + +const ( + // APITypeNotSpecified ... + APITypeNotSpecified APIType = "NotSpecified" + // APITypeRest ... + APITypeRest APIType = "Rest" + // APITypeSoap ... + APITypeSoap APIType = "Soap" +) + +// PossibleAPITypeValues returns an array of possible values for the APIType const type. +func PossibleAPITypeValues() []APIType { + return []APIType{APITypeNotSpecified, APITypeRest, APITypeSoap} +} + +// AzureAsyncOperationState enumerates the values for azure async operation state. +type AzureAsyncOperationState string + +const ( + // Canceled ... + Canceled AzureAsyncOperationState = "Canceled" + // Failed ... + Failed AzureAsyncOperationState = "Failed" + // Pending ... + Pending AzureAsyncOperationState = "Pending" + // Succeeded ... + Succeeded AzureAsyncOperationState = "Succeeded" +) + +// PossibleAzureAsyncOperationStateValues returns an array of possible values for the AzureAsyncOperationState const type. +func PossibleAzureAsyncOperationStateValues() []AzureAsyncOperationState { + return []AzureAsyncOperationState{Canceled, Failed, Pending, Succeeded} +} + +// DayOfWeek enumerates the values for day of week. +type DayOfWeek string + +const ( + // Friday ... + Friday DayOfWeek = "Friday" + // Monday ... + Monday DayOfWeek = "Monday" + // Saturday ... + Saturday DayOfWeek = "Saturday" + // Sunday ... + Sunday DayOfWeek = "Sunday" + // Thursday ... + Thursday DayOfWeek = "Thursday" + // Tuesday ... + Tuesday DayOfWeek = "Tuesday" + // Wednesday ... + Wednesday DayOfWeek = "Wednesday" +) + +// PossibleDayOfWeekValues returns an array of possible values for the DayOfWeek const type. +func PossibleDayOfWeekValues() []DayOfWeek { + return []DayOfWeek{Friday, Monday, Saturday, Sunday, Thursday, Tuesday, Wednesday} +} + +// DaysOfWeek enumerates the values for days of week. +type DaysOfWeek string + +const ( + // DaysOfWeekFriday ... + DaysOfWeekFriday DaysOfWeek = "Friday" + // DaysOfWeekMonday ... + DaysOfWeekMonday DaysOfWeek = "Monday" + // DaysOfWeekSaturday ... + DaysOfWeekSaturday DaysOfWeek = "Saturday" + // DaysOfWeekSunday ... + DaysOfWeekSunday DaysOfWeek = "Sunday" + // DaysOfWeekThursday ... + DaysOfWeekThursday DaysOfWeek = "Thursday" + // DaysOfWeekTuesday ... + DaysOfWeekTuesday DaysOfWeek = "Tuesday" + // DaysOfWeekWednesday ... + DaysOfWeekWednesday DaysOfWeek = "Wednesday" +) + +// PossibleDaysOfWeekValues returns an array of possible values for the DaysOfWeek const type. +func PossibleDaysOfWeekValues() []DaysOfWeek { + return []DaysOfWeek{DaysOfWeekFriday, DaysOfWeekMonday, DaysOfWeekSaturday, DaysOfWeekSunday, DaysOfWeekThursday, DaysOfWeekTuesday, DaysOfWeekWednesday} +} + +// EdifactCharacterSet enumerates the values for edifact character set. +type EdifactCharacterSet string + +const ( + // EdifactCharacterSetKECA ... + EdifactCharacterSetKECA EdifactCharacterSet = "KECA" + // EdifactCharacterSetNotSpecified ... + EdifactCharacterSetNotSpecified EdifactCharacterSet = "NotSpecified" + // EdifactCharacterSetUNOA ... + EdifactCharacterSetUNOA EdifactCharacterSet = "UNOA" + // EdifactCharacterSetUNOB ... + EdifactCharacterSetUNOB EdifactCharacterSet = "UNOB" + // EdifactCharacterSetUNOC ... + EdifactCharacterSetUNOC EdifactCharacterSet = "UNOC" + // EdifactCharacterSetUNOD ... + EdifactCharacterSetUNOD EdifactCharacterSet = "UNOD" + // EdifactCharacterSetUNOE ... + EdifactCharacterSetUNOE EdifactCharacterSet = "UNOE" + // EdifactCharacterSetUNOF ... + EdifactCharacterSetUNOF EdifactCharacterSet = "UNOF" + // EdifactCharacterSetUNOG ... + EdifactCharacterSetUNOG EdifactCharacterSet = "UNOG" + // EdifactCharacterSetUNOH ... + EdifactCharacterSetUNOH EdifactCharacterSet = "UNOH" + // EdifactCharacterSetUNOI ... + EdifactCharacterSetUNOI EdifactCharacterSet = "UNOI" + // EdifactCharacterSetUNOJ ... + EdifactCharacterSetUNOJ EdifactCharacterSet = "UNOJ" + // EdifactCharacterSetUNOK ... + EdifactCharacterSetUNOK EdifactCharacterSet = "UNOK" + // EdifactCharacterSetUNOX ... + EdifactCharacterSetUNOX EdifactCharacterSet = "UNOX" + // EdifactCharacterSetUNOY ... + EdifactCharacterSetUNOY EdifactCharacterSet = "UNOY" +) + +// PossibleEdifactCharacterSetValues returns an array of possible values for the EdifactCharacterSet const type. +func PossibleEdifactCharacterSetValues() []EdifactCharacterSet { + return []EdifactCharacterSet{EdifactCharacterSetKECA, EdifactCharacterSetNotSpecified, EdifactCharacterSetUNOA, EdifactCharacterSetUNOB, EdifactCharacterSetUNOC, EdifactCharacterSetUNOD, EdifactCharacterSetUNOE, EdifactCharacterSetUNOF, EdifactCharacterSetUNOG, EdifactCharacterSetUNOH, EdifactCharacterSetUNOI, EdifactCharacterSetUNOJ, EdifactCharacterSetUNOK, EdifactCharacterSetUNOX, EdifactCharacterSetUNOY} +} + +// EdifactDecimalIndicator enumerates the values for edifact decimal indicator. +type EdifactDecimalIndicator string + +const ( + // EdifactDecimalIndicatorComma ... + EdifactDecimalIndicatorComma EdifactDecimalIndicator = "Comma" + // EdifactDecimalIndicatorDecimal ... + EdifactDecimalIndicatorDecimal EdifactDecimalIndicator = "Decimal" + // EdifactDecimalIndicatorNotSpecified ... + EdifactDecimalIndicatorNotSpecified EdifactDecimalIndicator = "NotSpecified" +) + +// PossibleEdifactDecimalIndicatorValues returns an array of possible values for the EdifactDecimalIndicator const type. +func PossibleEdifactDecimalIndicatorValues() []EdifactDecimalIndicator { + return []EdifactDecimalIndicator{EdifactDecimalIndicatorComma, EdifactDecimalIndicatorDecimal, EdifactDecimalIndicatorNotSpecified} +} + +// EncryptionAlgorithm enumerates the values for encryption algorithm. +type EncryptionAlgorithm string + +const ( + // EncryptionAlgorithmAES128 ... + EncryptionAlgorithmAES128 EncryptionAlgorithm = "AES128" + // EncryptionAlgorithmAES192 ... + EncryptionAlgorithmAES192 EncryptionAlgorithm = "AES192" + // EncryptionAlgorithmAES256 ... + EncryptionAlgorithmAES256 EncryptionAlgorithm = "AES256" + // EncryptionAlgorithmDES3 ... + EncryptionAlgorithmDES3 EncryptionAlgorithm = "DES3" + // EncryptionAlgorithmNone ... + EncryptionAlgorithmNone EncryptionAlgorithm = "None" + // EncryptionAlgorithmNotSpecified ... + EncryptionAlgorithmNotSpecified EncryptionAlgorithm = "NotSpecified" + // EncryptionAlgorithmRC2 ... + EncryptionAlgorithmRC2 EncryptionAlgorithm = "RC2" +) + +// PossibleEncryptionAlgorithmValues returns an array of possible values for the EncryptionAlgorithm const type. +func PossibleEncryptionAlgorithmValues() []EncryptionAlgorithm { + return []EncryptionAlgorithm{EncryptionAlgorithmAES128, EncryptionAlgorithmAES192, EncryptionAlgorithmAES256, EncryptionAlgorithmDES3, EncryptionAlgorithmNone, EncryptionAlgorithmNotSpecified, EncryptionAlgorithmRC2} +} + +// ErrorResponseCode enumerates the values for error response code. +type ErrorResponseCode string + +const ( + // ErrorResponseCodeIntegrationServiceEnvironmentNotFound ... + ErrorResponseCodeIntegrationServiceEnvironmentNotFound ErrorResponseCode = "IntegrationServiceEnvironmentNotFound" + // ErrorResponseCodeInternalServerError ... + ErrorResponseCodeInternalServerError ErrorResponseCode = "InternalServerError" + // ErrorResponseCodeInvalidOperationID ... + ErrorResponseCodeInvalidOperationID ErrorResponseCode = "InvalidOperationId" + // ErrorResponseCodeNotSpecified ... + ErrorResponseCodeNotSpecified ErrorResponseCode = "NotSpecified" +) + +// PossibleErrorResponseCodeValues returns an array of possible values for the ErrorResponseCode const type. +func PossibleErrorResponseCodeValues() []ErrorResponseCode { + return []ErrorResponseCode{ErrorResponseCodeIntegrationServiceEnvironmentNotFound, ErrorResponseCodeInternalServerError, ErrorResponseCodeInvalidOperationID, ErrorResponseCodeNotSpecified} +} + +// EventLevel enumerates the values for event level. +type EventLevel string + +const ( + // Critical ... + Critical EventLevel = "Critical" + // Error ... + Error EventLevel = "Error" + // Informational ... + Informational EventLevel = "Informational" + // LogAlways ... + LogAlways EventLevel = "LogAlways" + // Verbose ... + Verbose EventLevel = "Verbose" + // Warning ... + Warning EventLevel = "Warning" +) + +// PossibleEventLevelValues returns an array of possible values for the EventLevel const type. +func PossibleEventLevelValues() []EventLevel { + return []EventLevel{Critical, Error, Informational, LogAlways, Verbose, Warning} +} + +// HashingAlgorithm enumerates the values for hashing algorithm. +type HashingAlgorithm string + +const ( + // HashingAlgorithmMD5 ... + HashingAlgorithmMD5 HashingAlgorithm = "MD5" + // HashingAlgorithmNone ... + HashingAlgorithmNone HashingAlgorithm = "None" + // HashingAlgorithmNotSpecified ... + HashingAlgorithmNotSpecified HashingAlgorithm = "NotSpecified" + // HashingAlgorithmSHA1 ... + HashingAlgorithmSHA1 HashingAlgorithm = "SHA1" + // HashingAlgorithmSHA2256 ... + HashingAlgorithmSHA2256 HashingAlgorithm = "SHA2256" + // HashingAlgorithmSHA2384 ... + HashingAlgorithmSHA2384 HashingAlgorithm = "SHA2384" + // HashingAlgorithmSHA2512 ... + HashingAlgorithmSHA2512 HashingAlgorithm = "SHA2512" +) + +// PossibleHashingAlgorithmValues returns an array of possible values for the HashingAlgorithm const type. +func PossibleHashingAlgorithmValues() []HashingAlgorithm { + return []HashingAlgorithm{HashingAlgorithmMD5, HashingAlgorithmNone, HashingAlgorithmNotSpecified, HashingAlgorithmSHA1, HashingAlgorithmSHA2256, HashingAlgorithmSHA2384, HashingAlgorithmSHA2512} +} + +// IntegrationAccountSkuName enumerates the values for integration account sku name. +type IntegrationAccountSkuName string + +const ( + // IntegrationAccountSkuNameBasic ... + IntegrationAccountSkuNameBasic IntegrationAccountSkuName = "Basic" + // IntegrationAccountSkuNameFree ... + IntegrationAccountSkuNameFree IntegrationAccountSkuName = "Free" + // IntegrationAccountSkuNameNotSpecified ... + IntegrationAccountSkuNameNotSpecified IntegrationAccountSkuName = "NotSpecified" + // IntegrationAccountSkuNameStandard ... + IntegrationAccountSkuNameStandard IntegrationAccountSkuName = "Standard" +) + +// PossibleIntegrationAccountSkuNameValues returns an array of possible values for the IntegrationAccountSkuName const type. +func PossibleIntegrationAccountSkuNameValues() []IntegrationAccountSkuName { + return []IntegrationAccountSkuName{IntegrationAccountSkuNameBasic, IntegrationAccountSkuNameFree, IntegrationAccountSkuNameNotSpecified, IntegrationAccountSkuNameStandard} +} + +// IntegrationServiceEnvironmentAccessEndpointType enumerates the values for integration service environment +// access endpoint type. +type IntegrationServiceEnvironmentAccessEndpointType string + +const ( + // IntegrationServiceEnvironmentAccessEndpointTypeExternal ... + IntegrationServiceEnvironmentAccessEndpointTypeExternal IntegrationServiceEnvironmentAccessEndpointType = "External" + // IntegrationServiceEnvironmentAccessEndpointTypeInternal ... + IntegrationServiceEnvironmentAccessEndpointTypeInternal IntegrationServiceEnvironmentAccessEndpointType = "Internal" + // IntegrationServiceEnvironmentAccessEndpointTypeNotSpecified ... + IntegrationServiceEnvironmentAccessEndpointTypeNotSpecified IntegrationServiceEnvironmentAccessEndpointType = "NotSpecified" +) + +// PossibleIntegrationServiceEnvironmentAccessEndpointTypeValues returns an array of possible values for the IntegrationServiceEnvironmentAccessEndpointType const type. +func PossibleIntegrationServiceEnvironmentAccessEndpointTypeValues() []IntegrationServiceEnvironmentAccessEndpointType { + return []IntegrationServiceEnvironmentAccessEndpointType{IntegrationServiceEnvironmentAccessEndpointTypeExternal, IntegrationServiceEnvironmentAccessEndpointTypeInternal, IntegrationServiceEnvironmentAccessEndpointTypeNotSpecified} +} + +// IntegrationServiceEnvironmentNetworkDependencyCategoryType enumerates the values for integration service +// environment network dependency category type. +type IntegrationServiceEnvironmentNetworkDependencyCategoryType string + +const ( + // IntegrationServiceEnvironmentNetworkDependencyCategoryTypeAccessEndpoints ... + IntegrationServiceEnvironmentNetworkDependencyCategoryTypeAccessEndpoints IntegrationServiceEnvironmentNetworkDependencyCategoryType = "AccessEndpoints" + // IntegrationServiceEnvironmentNetworkDependencyCategoryTypeAzureActiveDirectory ... + IntegrationServiceEnvironmentNetworkDependencyCategoryTypeAzureActiveDirectory IntegrationServiceEnvironmentNetworkDependencyCategoryType = "AzureActiveDirectory" + // IntegrationServiceEnvironmentNetworkDependencyCategoryTypeAzureManagement ... + IntegrationServiceEnvironmentNetworkDependencyCategoryTypeAzureManagement IntegrationServiceEnvironmentNetworkDependencyCategoryType = "AzureManagement" + // IntegrationServiceEnvironmentNetworkDependencyCategoryTypeAzureStorage ... + IntegrationServiceEnvironmentNetworkDependencyCategoryTypeAzureStorage IntegrationServiceEnvironmentNetworkDependencyCategoryType = "AzureStorage" + // IntegrationServiceEnvironmentNetworkDependencyCategoryTypeDiagnosticLogsAndMetrics ... + IntegrationServiceEnvironmentNetworkDependencyCategoryTypeDiagnosticLogsAndMetrics IntegrationServiceEnvironmentNetworkDependencyCategoryType = "DiagnosticLogsAndMetrics" + // IntegrationServiceEnvironmentNetworkDependencyCategoryTypeIntegrationServiceEnvironmentConnectors ... + IntegrationServiceEnvironmentNetworkDependencyCategoryTypeIntegrationServiceEnvironmentConnectors IntegrationServiceEnvironmentNetworkDependencyCategoryType = "IntegrationServiceEnvironmentConnectors" + // IntegrationServiceEnvironmentNetworkDependencyCategoryTypeNotSpecified ... + IntegrationServiceEnvironmentNetworkDependencyCategoryTypeNotSpecified IntegrationServiceEnvironmentNetworkDependencyCategoryType = "NotSpecified" + // IntegrationServiceEnvironmentNetworkDependencyCategoryTypeRecoveryService ... + IntegrationServiceEnvironmentNetworkDependencyCategoryTypeRecoveryService IntegrationServiceEnvironmentNetworkDependencyCategoryType = "RecoveryService" + // IntegrationServiceEnvironmentNetworkDependencyCategoryTypeRedisCache ... + IntegrationServiceEnvironmentNetworkDependencyCategoryTypeRedisCache IntegrationServiceEnvironmentNetworkDependencyCategoryType = "RedisCache" + // IntegrationServiceEnvironmentNetworkDependencyCategoryTypeRegionalService ... + IntegrationServiceEnvironmentNetworkDependencyCategoryTypeRegionalService IntegrationServiceEnvironmentNetworkDependencyCategoryType = "RegionalService" + // IntegrationServiceEnvironmentNetworkDependencyCategoryTypeSQL ... + IntegrationServiceEnvironmentNetworkDependencyCategoryTypeSQL IntegrationServiceEnvironmentNetworkDependencyCategoryType = "SQL" + // IntegrationServiceEnvironmentNetworkDependencyCategoryTypeSSLCertificateVerification ... + IntegrationServiceEnvironmentNetworkDependencyCategoryTypeSSLCertificateVerification IntegrationServiceEnvironmentNetworkDependencyCategoryType = "SSLCertificateVerification" +) + +// PossibleIntegrationServiceEnvironmentNetworkDependencyCategoryTypeValues returns an array of possible values for the IntegrationServiceEnvironmentNetworkDependencyCategoryType const type. +func PossibleIntegrationServiceEnvironmentNetworkDependencyCategoryTypeValues() []IntegrationServiceEnvironmentNetworkDependencyCategoryType { + return []IntegrationServiceEnvironmentNetworkDependencyCategoryType{IntegrationServiceEnvironmentNetworkDependencyCategoryTypeAccessEndpoints, IntegrationServiceEnvironmentNetworkDependencyCategoryTypeAzureActiveDirectory, IntegrationServiceEnvironmentNetworkDependencyCategoryTypeAzureManagement, IntegrationServiceEnvironmentNetworkDependencyCategoryTypeAzureStorage, IntegrationServiceEnvironmentNetworkDependencyCategoryTypeDiagnosticLogsAndMetrics, IntegrationServiceEnvironmentNetworkDependencyCategoryTypeIntegrationServiceEnvironmentConnectors, IntegrationServiceEnvironmentNetworkDependencyCategoryTypeNotSpecified, IntegrationServiceEnvironmentNetworkDependencyCategoryTypeRecoveryService, IntegrationServiceEnvironmentNetworkDependencyCategoryTypeRedisCache, IntegrationServiceEnvironmentNetworkDependencyCategoryTypeRegionalService, IntegrationServiceEnvironmentNetworkDependencyCategoryTypeSQL, IntegrationServiceEnvironmentNetworkDependencyCategoryTypeSSLCertificateVerification} +} + +// IntegrationServiceEnvironmentNetworkDependencyHealthState enumerates the values for integration service +// environment network dependency health state. +type IntegrationServiceEnvironmentNetworkDependencyHealthState string + +const ( + // IntegrationServiceEnvironmentNetworkDependencyHealthStateHealthy ... + IntegrationServiceEnvironmentNetworkDependencyHealthStateHealthy IntegrationServiceEnvironmentNetworkDependencyHealthState = "Healthy" + // IntegrationServiceEnvironmentNetworkDependencyHealthStateNotSpecified ... + IntegrationServiceEnvironmentNetworkDependencyHealthStateNotSpecified IntegrationServiceEnvironmentNetworkDependencyHealthState = "NotSpecified" + // IntegrationServiceEnvironmentNetworkDependencyHealthStateUnhealthy ... + IntegrationServiceEnvironmentNetworkDependencyHealthStateUnhealthy IntegrationServiceEnvironmentNetworkDependencyHealthState = "Unhealthy" + // IntegrationServiceEnvironmentNetworkDependencyHealthStateUnknown ... + IntegrationServiceEnvironmentNetworkDependencyHealthStateUnknown IntegrationServiceEnvironmentNetworkDependencyHealthState = "Unknown" +) + +// PossibleIntegrationServiceEnvironmentNetworkDependencyHealthStateValues returns an array of possible values for the IntegrationServiceEnvironmentNetworkDependencyHealthState const type. +func PossibleIntegrationServiceEnvironmentNetworkDependencyHealthStateValues() []IntegrationServiceEnvironmentNetworkDependencyHealthState { + return []IntegrationServiceEnvironmentNetworkDependencyHealthState{IntegrationServiceEnvironmentNetworkDependencyHealthStateHealthy, IntegrationServiceEnvironmentNetworkDependencyHealthStateNotSpecified, IntegrationServiceEnvironmentNetworkDependencyHealthStateUnhealthy, IntegrationServiceEnvironmentNetworkDependencyHealthStateUnknown} +} + +// IntegrationServiceEnvironmentNetworkEndPointAccessibilityState enumerates the values for integration service +// environment network end point accessibility state. +type IntegrationServiceEnvironmentNetworkEndPointAccessibilityState string + +const ( + // IntegrationServiceEnvironmentNetworkEndPointAccessibilityStateAvailable ... + IntegrationServiceEnvironmentNetworkEndPointAccessibilityStateAvailable IntegrationServiceEnvironmentNetworkEndPointAccessibilityState = "Available" + // IntegrationServiceEnvironmentNetworkEndPointAccessibilityStateNotAvailable ... + IntegrationServiceEnvironmentNetworkEndPointAccessibilityStateNotAvailable IntegrationServiceEnvironmentNetworkEndPointAccessibilityState = "NotAvailable" + // IntegrationServiceEnvironmentNetworkEndPointAccessibilityStateNotSpecified ... + IntegrationServiceEnvironmentNetworkEndPointAccessibilityStateNotSpecified IntegrationServiceEnvironmentNetworkEndPointAccessibilityState = "NotSpecified" + // IntegrationServiceEnvironmentNetworkEndPointAccessibilityStateUnknown ... + IntegrationServiceEnvironmentNetworkEndPointAccessibilityStateUnknown IntegrationServiceEnvironmentNetworkEndPointAccessibilityState = "Unknown" +) + +// PossibleIntegrationServiceEnvironmentNetworkEndPointAccessibilityStateValues returns an array of possible values for the IntegrationServiceEnvironmentNetworkEndPointAccessibilityState const type. +func PossibleIntegrationServiceEnvironmentNetworkEndPointAccessibilityStateValues() []IntegrationServiceEnvironmentNetworkEndPointAccessibilityState { + return []IntegrationServiceEnvironmentNetworkEndPointAccessibilityState{IntegrationServiceEnvironmentNetworkEndPointAccessibilityStateAvailable, IntegrationServiceEnvironmentNetworkEndPointAccessibilityStateNotAvailable, IntegrationServiceEnvironmentNetworkEndPointAccessibilityStateNotSpecified, IntegrationServiceEnvironmentNetworkEndPointAccessibilityStateUnknown} +} + +// IntegrationServiceEnvironmentSkuName enumerates the values for integration service environment sku name. +type IntegrationServiceEnvironmentSkuName string + +const ( + // IntegrationServiceEnvironmentSkuNameDeveloper ... + IntegrationServiceEnvironmentSkuNameDeveloper IntegrationServiceEnvironmentSkuName = "Developer" + // IntegrationServiceEnvironmentSkuNameNotSpecified ... + IntegrationServiceEnvironmentSkuNameNotSpecified IntegrationServiceEnvironmentSkuName = "NotSpecified" + // IntegrationServiceEnvironmentSkuNamePremium ... + IntegrationServiceEnvironmentSkuNamePremium IntegrationServiceEnvironmentSkuName = "Premium" +) + +// PossibleIntegrationServiceEnvironmentSkuNameValues returns an array of possible values for the IntegrationServiceEnvironmentSkuName const type. +func PossibleIntegrationServiceEnvironmentSkuNameValues() []IntegrationServiceEnvironmentSkuName { + return []IntegrationServiceEnvironmentSkuName{IntegrationServiceEnvironmentSkuNameDeveloper, IntegrationServiceEnvironmentSkuNameNotSpecified, IntegrationServiceEnvironmentSkuNamePremium} +} + +// IntegrationServiceEnvironmentSkuScaleType enumerates the values for integration service environment sku +// scale type. +type IntegrationServiceEnvironmentSkuScaleType string + +const ( + // Automatic ... + Automatic IntegrationServiceEnvironmentSkuScaleType = "Automatic" + // Manual ... + Manual IntegrationServiceEnvironmentSkuScaleType = "Manual" + // None ... + None IntegrationServiceEnvironmentSkuScaleType = "None" +) + +// PossibleIntegrationServiceEnvironmentSkuScaleTypeValues returns an array of possible values for the IntegrationServiceEnvironmentSkuScaleType const type. +func PossibleIntegrationServiceEnvironmentSkuScaleTypeValues() []IntegrationServiceEnvironmentSkuScaleType { + return []IntegrationServiceEnvironmentSkuScaleType{Automatic, Manual, None} +} + +// KeyType enumerates the values for key type. +type KeyType string + +const ( + // KeyTypeNotSpecified ... + KeyTypeNotSpecified KeyType = "NotSpecified" + // KeyTypePrimary ... + KeyTypePrimary KeyType = "Primary" + // KeyTypeSecondary ... + KeyTypeSecondary KeyType = "Secondary" +) + +// PossibleKeyTypeValues returns an array of possible values for the KeyType const type. +func PossibleKeyTypeValues() []KeyType { + return []KeyType{KeyTypeNotSpecified, KeyTypePrimary, KeyTypeSecondary} +} + +// MapType enumerates the values for map type. +type MapType string + +const ( + // MapTypeLiquid ... + MapTypeLiquid MapType = "Liquid" + // MapTypeNotSpecified ... + MapTypeNotSpecified MapType = "NotSpecified" + // MapTypeXslt ... + MapTypeXslt MapType = "Xslt" + // MapTypeXslt20 ... + MapTypeXslt20 MapType = "Xslt20" + // MapTypeXslt30 ... + MapTypeXslt30 MapType = "Xslt30" +) + +// PossibleMapTypeValues returns an array of possible values for the MapType const type. +func PossibleMapTypeValues() []MapType { + return []MapType{MapTypeLiquid, MapTypeNotSpecified, MapTypeXslt, MapTypeXslt20, MapTypeXslt30} +} + +// MessageFilterType enumerates the values for message filter type. +type MessageFilterType string + +const ( + // MessageFilterTypeExclude ... + MessageFilterTypeExclude MessageFilterType = "Exclude" + // MessageFilterTypeInclude ... + MessageFilterTypeInclude MessageFilterType = "Include" + // MessageFilterTypeNotSpecified ... + MessageFilterTypeNotSpecified MessageFilterType = "NotSpecified" +) + +// PossibleMessageFilterTypeValues returns an array of possible values for the MessageFilterType const type. +func PossibleMessageFilterTypeValues() []MessageFilterType { + return []MessageFilterType{MessageFilterTypeExclude, MessageFilterTypeInclude, MessageFilterTypeNotSpecified} +} + +// ParameterType enumerates the values for parameter type. +type ParameterType string + +const ( + // ParameterTypeArray ... + ParameterTypeArray ParameterType = "Array" + // ParameterTypeBool ... + ParameterTypeBool ParameterType = "Bool" + // ParameterTypeFloat ... + ParameterTypeFloat ParameterType = "Float" + // ParameterTypeInt ... + ParameterTypeInt ParameterType = "Int" + // ParameterTypeNotSpecified ... + ParameterTypeNotSpecified ParameterType = "NotSpecified" + // ParameterTypeObject ... + ParameterTypeObject ParameterType = "Object" + // ParameterTypeSecureObject ... + ParameterTypeSecureObject ParameterType = "SecureObject" + // ParameterTypeSecureString ... + ParameterTypeSecureString ParameterType = "SecureString" + // ParameterTypeString ... + ParameterTypeString ParameterType = "String" +) + +// PossibleParameterTypeValues returns an array of possible values for the ParameterType const type. +func PossibleParameterTypeValues() []ParameterType { + return []ParameterType{ParameterTypeArray, ParameterTypeBool, ParameterTypeFloat, ParameterTypeInt, ParameterTypeNotSpecified, ParameterTypeObject, ParameterTypeSecureObject, ParameterTypeSecureString, ParameterTypeString} +} + +// PartnerType enumerates the values for partner type. +type PartnerType string + +const ( + // PartnerTypeB2B ... + PartnerTypeB2B PartnerType = "B2B" + // PartnerTypeNotSpecified ... + PartnerTypeNotSpecified PartnerType = "NotSpecified" +) + +// PossiblePartnerTypeValues returns an array of possible values for the PartnerType const type. +func PossiblePartnerTypeValues() []PartnerType { + return []PartnerType{PartnerTypeB2B, PartnerTypeNotSpecified} +} + +// RecurrenceFrequency enumerates the values for recurrence frequency. +type RecurrenceFrequency string + +const ( + // RecurrenceFrequencyDay ... + RecurrenceFrequencyDay RecurrenceFrequency = "Day" + // RecurrenceFrequencyHour ... + RecurrenceFrequencyHour RecurrenceFrequency = "Hour" + // RecurrenceFrequencyMinute ... + RecurrenceFrequencyMinute RecurrenceFrequency = "Minute" + // RecurrenceFrequencyMonth ... + RecurrenceFrequencyMonth RecurrenceFrequency = "Month" + // RecurrenceFrequencyNotSpecified ... + RecurrenceFrequencyNotSpecified RecurrenceFrequency = "NotSpecified" + // RecurrenceFrequencySecond ... + RecurrenceFrequencySecond RecurrenceFrequency = "Second" + // RecurrenceFrequencyWeek ... + RecurrenceFrequencyWeek RecurrenceFrequency = "Week" + // RecurrenceFrequencyYear ... + RecurrenceFrequencyYear RecurrenceFrequency = "Year" +) + +// PossibleRecurrenceFrequencyValues returns an array of possible values for the RecurrenceFrequency const type. +func PossibleRecurrenceFrequencyValues() []RecurrenceFrequency { + return []RecurrenceFrequency{RecurrenceFrequencyDay, RecurrenceFrequencyHour, RecurrenceFrequencyMinute, RecurrenceFrequencyMonth, RecurrenceFrequencyNotSpecified, RecurrenceFrequencySecond, RecurrenceFrequencyWeek, RecurrenceFrequencyYear} +} + +// SchemaType enumerates the values for schema type. +type SchemaType string + +const ( + // SchemaTypeNotSpecified ... + SchemaTypeNotSpecified SchemaType = "NotSpecified" + // SchemaTypeXML ... + SchemaTypeXML SchemaType = "Xml" +) + +// PossibleSchemaTypeValues returns an array of possible values for the SchemaType const type. +func PossibleSchemaTypeValues() []SchemaType { + return []SchemaType{SchemaTypeNotSpecified, SchemaTypeXML} +} + +// SegmentTerminatorSuffix enumerates the values for segment terminator suffix. +type SegmentTerminatorSuffix string + +const ( + // SegmentTerminatorSuffixCR ... + SegmentTerminatorSuffixCR SegmentTerminatorSuffix = "CR" + // SegmentTerminatorSuffixCRLF ... + SegmentTerminatorSuffixCRLF SegmentTerminatorSuffix = "CRLF" + // SegmentTerminatorSuffixLF ... + SegmentTerminatorSuffixLF SegmentTerminatorSuffix = "LF" + // SegmentTerminatorSuffixNone ... + SegmentTerminatorSuffixNone SegmentTerminatorSuffix = "None" + // SegmentTerminatorSuffixNotSpecified ... + SegmentTerminatorSuffixNotSpecified SegmentTerminatorSuffix = "NotSpecified" +) + +// PossibleSegmentTerminatorSuffixValues returns an array of possible values for the SegmentTerminatorSuffix const type. +func PossibleSegmentTerminatorSuffixValues() []SegmentTerminatorSuffix { + return []SegmentTerminatorSuffix{SegmentTerminatorSuffixCR, SegmentTerminatorSuffixCRLF, SegmentTerminatorSuffixLF, SegmentTerminatorSuffixNone, SegmentTerminatorSuffixNotSpecified} +} + +// SigningAlgorithm enumerates the values for signing algorithm. +type SigningAlgorithm string + +const ( + // SigningAlgorithmDefault ... + SigningAlgorithmDefault SigningAlgorithm = "Default" + // SigningAlgorithmNotSpecified ... + SigningAlgorithmNotSpecified SigningAlgorithm = "NotSpecified" + // SigningAlgorithmSHA1 ... + SigningAlgorithmSHA1 SigningAlgorithm = "SHA1" + // SigningAlgorithmSHA2256 ... + SigningAlgorithmSHA2256 SigningAlgorithm = "SHA2256" + // SigningAlgorithmSHA2384 ... + SigningAlgorithmSHA2384 SigningAlgorithm = "SHA2384" + // SigningAlgorithmSHA2512 ... + SigningAlgorithmSHA2512 SigningAlgorithm = "SHA2512" +) + +// PossibleSigningAlgorithmValues returns an array of possible values for the SigningAlgorithm const type. +func PossibleSigningAlgorithmValues() []SigningAlgorithm { + return []SigningAlgorithm{SigningAlgorithmDefault, SigningAlgorithmNotSpecified, SigningAlgorithmSHA1, SigningAlgorithmSHA2256, SigningAlgorithmSHA2384, SigningAlgorithmSHA2512} +} + +// SkuName enumerates the values for sku name. +type SkuName string + +const ( + // SkuNameBasic ... + SkuNameBasic SkuName = "Basic" + // SkuNameFree ... + SkuNameFree SkuName = "Free" + // SkuNameNotSpecified ... + SkuNameNotSpecified SkuName = "NotSpecified" + // SkuNamePremium ... + SkuNamePremium SkuName = "Premium" + // SkuNameShared ... + SkuNameShared SkuName = "Shared" + // SkuNameStandard ... + SkuNameStandard SkuName = "Standard" +) + +// PossibleSkuNameValues returns an array of possible values for the SkuName const type. +func PossibleSkuNameValues() []SkuName { + return []SkuName{SkuNameBasic, SkuNameFree, SkuNameNotSpecified, SkuNamePremium, SkuNameShared, SkuNameStandard} +} + +// StatusAnnotation enumerates the values for status annotation. +type StatusAnnotation string + +const ( + // StatusAnnotationNotSpecified ... + StatusAnnotationNotSpecified StatusAnnotation = "NotSpecified" + // StatusAnnotationPreview ... + StatusAnnotationPreview StatusAnnotation = "Preview" + // StatusAnnotationProduction ... + StatusAnnotationProduction StatusAnnotation = "Production" +) + +// PossibleStatusAnnotationValues returns an array of possible values for the StatusAnnotation const type. +func PossibleStatusAnnotationValues() []StatusAnnotation { + return []StatusAnnotation{StatusAnnotationNotSpecified, StatusAnnotationPreview, StatusAnnotationProduction} +} + +// SwaggerSchemaType enumerates the values for swagger schema type. +type SwaggerSchemaType string + +const ( + // Array ... + Array SwaggerSchemaType = "Array" + // Boolean ... + Boolean SwaggerSchemaType = "Boolean" + // File ... + File SwaggerSchemaType = "File" + // Integer ... + Integer SwaggerSchemaType = "Integer" + // Null ... + Null SwaggerSchemaType = "Null" + // Number ... + Number SwaggerSchemaType = "Number" + // Object ... + Object SwaggerSchemaType = "Object" + // String ... + String SwaggerSchemaType = "String" +) + +// PossibleSwaggerSchemaTypeValues returns an array of possible values for the SwaggerSchemaType const type. +func PossibleSwaggerSchemaTypeValues() []SwaggerSchemaType { + return []SwaggerSchemaType{Array, Boolean, File, Integer, Null, Number, Object, String} +} + +// TrackEventsOperationOptions enumerates the values for track events operation options. +type TrackEventsOperationOptions string + +const ( + // TrackEventsOperationOptionsDisableSourceInfoEnrich ... + TrackEventsOperationOptionsDisableSourceInfoEnrich TrackEventsOperationOptions = "DisableSourceInfoEnrich" + // TrackEventsOperationOptionsNone ... + TrackEventsOperationOptionsNone TrackEventsOperationOptions = "None" +) + +// PossibleTrackEventsOperationOptionsValues returns an array of possible values for the TrackEventsOperationOptions const type. +func PossibleTrackEventsOperationOptionsValues() []TrackEventsOperationOptions { + return []TrackEventsOperationOptions{TrackEventsOperationOptionsDisableSourceInfoEnrich, TrackEventsOperationOptionsNone} +} + +// TrackingRecordType enumerates the values for tracking record type. +type TrackingRecordType string + +const ( + // TrackingRecordTypeAS2MDN ... + TrackingRecordTypeAS2MDN TrackingRecordType = "AS2MDN" + // TrackingRecordTypeAS2Message ... + TrackingRecordTypeAS2Message TrackingRecordType = "AS2Message" + // TrackingRecordTypeCustom ... + TrackingRecordTypeCustom TrackingRecordType = "Custom" + // TrackingRecordTypeEdifactFunctionalGroup ... + TrackingRecordTypeEdifactFunctionalGroup TrackingRecordType = "EdifactFunctionalGroup" + // TrackingRecordTypeEdifactFunctionalGroupAcknowledgment ... + TrackingRecordTypeEdifactFunctionalGroupAcknowledgment TrackingRecordType = "EdifactFunctionalGroupAcknowledgment" + // TrackingRecordTypeEdifactInterchange ... + TrackingRecordTypeEdifactInterchange TrackingRecordType = "EdifactInterchange" + // TrackingRecordTypeEdifactInterchangeAcknowledgment ... + TrackingRecordTypeEdifactInterchangeAcknowledgment TrackingRecordType = "EdifactInterchangeAcknowledgment" + // TrackingRecordTypeEdifactTransactionSet ... + TrackingRecordTypeEdifactTransactionSet TrackingRecordType = "EdifactTransactionSet" + // TrackingRecordTypeEdifactTransactionSetAcknowledgment ... + TrackingRecordTypeEdifactTransactionSetAcknowledgment TrackingRecordType = "EdifactTransactionSetAcknowledgment" + // TrackingRecordTypeNotSpecified ... + TrackingRecordTypeNotSpecified TrackingRecordType = "NotSpecified" + // TrackingRecordTypeX12FunctionalGroup ... + TrackingRecordTypeX12FunctionalGroup TrackingRecordType = "X12FunctionalGroup" + // TrackingRecordTypeX12FunctionalGroupAcknowledgment ... + TrackingRecordTypeX12FunctionalGroupAcknowledgment TrackingRecordType = "X12FunctionalGroupAcknowledgment" + // TrackingRecordTypeX12Interchange ... + TrackingRecordTypeX12Interchange TrackingRecordType = "X12Interchange" + // TrackingRecordTypeX12InterchangeAcknowledgment ... + TrackingRecordTypeX12InterchangeAcknowledgment TrackingRecordType = "X12InterchangeAcknowledgment" + // TrackingRecordTypeX12TransactionSet ... + TrackingRecordTypeX12TransactionSet TrackingRecordType = "X12TransactionSet" + // TrackingRecordTypeX12TransactionSetAcknowledgment ... + TrackingRecordTypeX12TransactionSetAcknowledgment TrackingRecordType = "X12TransactionSetAcknowledgment" +) + +// PossibleTrackingRecordTypeValues returns an array of possible values for the TrackingRecordType const type. +func PossibleTrackingRecordTypeValues() []TrackingRecordType { + return []TrackingRecordType{TrackingRecordTypeAS2MDN, TrackingRecordTypeAS2Message, TrackingRecordTypeCustom, TrackingRecordTypeEdifactFunctionalGroup, TrackingRecordTypeEdifactFunctionalGroupAcknowledgment, TrackingRecordTypeEdifactInterchange, TrackingRecordTypeEdifactInterchangeAcknowledgment, TrackingRecordTypeEdifactTransactionSet, TrackingRecordTypeEdifactTransactionSetAcknowledgment, TrackingRecordTypeNotSpecified, TrackingRecordTypeX12FunctionalGroup, TrackingRecordTypeX12FunctionalGroupAcknowledgment, TrackingRecordTypeX12Interchange, TrackingRecordTypeX12InterchangeAcknowledgment, TrackingRecordTypeX12TransactionSet, TrackingRecordTypeX12TransactionSetAcknowledgment} +} + +// TrailingSeparatorPolicy enumerates the values for trailing separator policy. +type TrailingSeparatorPolicy string + +const ( + // TrailingSeparatorPolicyMandatory ... + TrailingSeparatorPolicyMandatory TrailingSeparatorPolicy = "Mandatory" + // TrailingSeparatorPolicyNotAllowed ... + TrailingSeparatorPolicyNotAllowed TrailingSeparatorPolicy = "NotAllowed" + // TrailingSeparatorPolicyNotSpecified ... + TrailingSeparatorPolicyNotSpecified TrailingSeparatorPolicy = "NotSpecified" + // TrailingSeparatorPolicyOptional ... + TrailingSeparatorPolicyOptional TrailingSeparatorPolicy = "Optional" +) + +// PossibleTrailingSeparatorPolicyValues returns an array of possible values for the TrailingSeparatorPolicy const type. +func PossibleTrailingSeparatorPolicyValues() []TrailingSeparatorPolicy { + return []TrailingSeparatorPolicy{TrailingSeparatorPolicyMandatory, TrailingSeparatorPolicyNotAllowed, TrailingSeparatorPolicyNotSpecified, TrailingSeparatorPolicyOptional} +} + +// UsageIndicator enumerates the values for usage indicator. +type UsageIndicator string + +const ( + // UsageIndicatorInformation ... + UsageIndicatorInformation UsageIndicator = "Information" + // UsageIndicatorNotSpecified ... + UsageIndicatorNotSpecified UsageIndicator = "NotSpecified" + // UsageIndicatorProduction ... + UsageIndicatorProduction UsageIndicator = "Production" + // UsageIndicatorTest ... + UsageIndicatorTest UsageIndicator = "Test" +) + +// PossibleUsageIndicatorValues returns an array of possible values for the UsageIndicator const type. +func PossibleUsageIndicatorValues() []UsageIndicator { + return []UsageIndicator{UsageIndicatorInformation, UsageIndicatorNotSpecified, UsageIndicatorProduction, UsageIndicatorTest} +} + +// WorkflowProvisioningState enumerates the values for workflow provisioning state. +type WorkflowProvisioningState string + +const ( + // WorkflowProvisioningStateAccepted ... + WorkflowProvisioningStateAccepted WorkflowProvisioningState = "Accepted" + // WorkflowProvisioningStateCanceled ... + WorkflowProvisioningStateCanceled WorkflowProvisioningState = "Canceled" + // WorkflowProvisioningStateCompleted ... + WorkflowProvisioningStateCompleted WorkflowProvisioningState = "Completed" + // WorkflowProvisioningStateCreated ... + WorkflowProvisioningStateCreated WorkflowProvisioningState = "Created" + // WorkflowProvisioningStateCreating ... + WorkflowProvisioningStateCreating WorkflowProvisioningState = "Creating" + // WorkflowProvisioningStateDeleted ... + WorkflowProvisioningStateDeleted WorkflowProvisioningState = "Deleted" + // WorkflowProvisioningStateDeleting ... + WorkflowProvisioningStateDeleting WorkflowProvisioningState = "Deleting" + // WorkflowProvisioningStateFailed ... + WorkflowProvisioningStateFailed WorkflowProvisioningState = "Failed" + // WorkflowProvisioningStateMoving ... + WorkflowProvisioningStateMoving WorkflowProvisioningState = "Moving" + // WorkflowProvisioningStateNotSpecified ... + WorkflowProvisioningStateNotSpecified WorkflowProvisioningState = "NotSpecified" + // WorkflowProvisioningStateReady ... + WorkflowProvisioningStateReady WorkflowProvisioningState = "Ready" + // WorkflowProvisioningStateRegistered ... + WorkflowProvisioningStateRegistered WorkflowProvisioningState = "Registered" + // WorkflowProvisioningStateRegistering ... + WorkflowProvisioningStateRegistering WorkflowProvisioningState = "Registering" + // WorkflowProvisioningStateRunning ... + WorkflowProvisioningStateRunning WorkflowProvisioningState = "Running" + // WorkflowProvisioningStateSucceeded ... + WorkflowProvisioningStateSucceeded WorkflowProvisioningState = "Succeeded" + // WorkflowProvisioningStateUnregistered ... + WorkflowProvisioningStateUnregistered WorkflowProvisioningState = "Unregistered" + // WorkflowProvisioningStateUnregistering ... + WorkflowProvisioningStateUnregistering WorkflowProvisioningState = "Unregistering" + // WorkflowProvisioningStateUpdating ... + WorkflowProvisioningStateUpdating WorkflowProvisioningState = "Updating" +) + +// PossibleWorkflowProvisioningStateValues returns an array of possible values for the WorkflowProvisioningState const type. +func PossibleWorkflowProvisioningStateValues() []WorkflowProvisioningState { + return []WorkflowProvisioningState{WorkflowProvisioningStateAccepted, WorkflowProvisioningStateCanceled, WorkflowProvisioningStateCompleted, WorkflowProvisioningStateCreated, WorkflowProvisioningStateCreating, WorkflowProvisioningStateDeleted, WorkflowProvisioningStateDeleting, WorkflowProvisioningStateFailed, WorkflowProvisioningStateMoving, WorkflowProvisioningStateNotSpecified, WorkflowProvisioningStateReady, WorkflowProvisioningStateRegistered, WorkflowProvisioningStateRegistering, WorkflowProvisioningStateRunning, WorkflowProvisioningStateSucceeded, WorkflowProvisioningStateUnregistered, WorkflowProvisioningStateUnregistering, WorkflowProvisioningStateUpdating} +} + +// WorkflowState enumerates the values for workflow state. +type WorkflowState string + +const ( + // WorkflowStateCompleted ... + WorkflowStateCompleted WorkflowState = "Completed" + // WorkflowStateDeleted ... + WorkflowStateDeleted WorkflowState = "Deleted" + // WorkflowStateDisabled ... + WorkflowStateDisabled WorkflowState = "Disabled" + // WorkflowStateEnabled ... + WorkflowStateEnabled WorkflowState = "Enabled" + // WorkflowStateNotSpecified ... + WorkflowStateNotSpecified WorkflowState = "NotSpecified" + // WorkflowStateSuspended ... + WorkflowStateSuspended WorkflowState = "Suspended" +) + +// PossibleWorkflowStateValues returns an array of possible values for the WorkflowState const type. +func PossibleWorkflowStateValues() []WorkflowState { + return []WorkflowState{WorkflowStateCompleted, WorkflowStateDeleted, WorkflowStateDisabled, WorkflowStateEnabled, WorkflowStateNotSpecified, WorkflowStateSuspended} +} + +// WorkflowStatus enumerates the values for workflow status. +type WorkflowStatus string + +const ( + // WorkflowStatusAborted ... + WorkflowStatusAborted WorkflowStatus = "Aborted" + // WorkflowStatusCancelled ... + WorkflowStatusCancelled WorkflowStatus = "Cancelled" + // WorkflowStatusFailed ... + WorkflowStatusFailed WorkflowStatus = "Failed" + // WorkflowStatusFaulted ... + WorkflowStatusFaulted WorkflowStatus = "Faulted" + // WorkflowStatusIgnored ... + WorkflowStatusIgnored WorkflowStatus = "Ignored" + // WorkflowStatusNotSpecified ... + WorkflowStatusNotSpecified WorkflowStatus = "NotSpecified" + // WorkflowStatusPaused ... + WorkflowStatusPaused WorkflowStatus = "Paused" + // WorkflowStatusRunning ... + WorkflowStatusRunning WorkflowStatus = "Running" + // WorkflowStatusSkipped ... + WorkflowStatusSkipped WorkflowStatus = "Skipped" + // WorkflowStatusSucceeded ... + WorkflowStatusSucceeded WorkflowStatus = "Succeeded" + // WorkflowStatusSuspended ... + WorkflowStatusSuspended WorkflowStatus = "Suspended" + // WorkflowStatusTimedOut ... + WorkflowStatusTimedOut WorkflowStatus = "TimedOut" + // WorkflowStatusWaiting ... + WorkflowStatusWaiting WorkflowStatus = "Waiting" +) + +// PossibleWorkflowStatusValues returns an array of possible values for the WorkflowStatus const type. +func PossibleWorkflowStatusValues() []WorkflowStatus { + return []WorkflowStatus{WorkflowStatusAborted, WorkflowStatusCancelled, WorkflowStatusFailed, WorkflowStatusFaulted, WorkflowStatusIgnored, WorkflowStatusNotSpecified, WorkflowStatusPaused, WorkflowStatusRunning, WorkflowStatusSkipped, WorkflowStatusSucceeded, WorkflowStatusSuspended, WorkflowStatusTimedOut, WorkflowStatusWaiting} +} + +// WorkflowTriggerProvisioningState enumerates the values for workflow trigger provisioning state. +type WorkflowTriggerProvisioningState string + +const ( + // WorkflowTriggerProvisioningStateAccepted ... + WorkflowTriggerProvisioningStateAccepted WorkflowTriggerProvisioningState = "Accepted" + // WorkflowTriggerProvisioningStateCanceled ... + WorkflowTriggerProvisioningStateCanceled WorkflowTriggerProvisioningState = "Canceled" + // WorkflowTriggerProvisioningStateCompleted ... + WorkflowTriggerProvisioningStateCompleted WorkflowTriggerProvisioningState = "Completed" + // WorkflowTriggerProvisioningStateCreated ... + WorkflowTriggerProvisioningStateCreated WorkflowTriggerProvisioningState = "Created" + // WorkflowTriggerProvisioningStateCreating ... + WorkflowTriggerProvisioningStateCreating WorkflowTriggerProvisioningState = "Creating" + // WorkflowTriggerProvisioningStateDeleted ... + WorkflowTriggerProvisioningStateDeleted WorkflowTriggerProvisioningState = "Deleted" + // WorkflowTriggerProvisioningStateDeleting ... + WorkflowTriggerProvisioningStateDeleting WorkflowTriggerProvisioningState = "Deleting" + // WorkflowTriggerProvisioningStateFailed ... + WorkflowTriggerProvisioningStateFailed WorkflowTriggerProvisioningState = "Failed" + // WorkflowTriggerProvisioningStateMoving ... + WorkflowTriggerProvisioningStateMoving WorkflowTriggerProvisioningState = "Moving" + // WorkflowTriggerProvisioningStateNotSpecified ... + WorkflowTriggerProvisioningStateNotSpecified WorkflowTriggerProvisioningState = "NotSpecified" + // WorkflowTriggerProvisioningStateReady ... + WorkflowTriggerProvisioningStateReady WorkflowTriggerProvisioningState = "Ready" + // WorkflowTriggerProvisioningStateRegistered ... + WorkflowTriggerProvisioningStateRegistered WorkflowTriggerProvisioningState = "Registered" + // WorkflowTriggerProvisioningStateRegistering ... + WorkflowTriggerProvisioningStateRegistering WorkflowTriggerProvisioningState = "Registering" + // WorkflowTriggerProvisioningStateRunning ... + WorkflowTriggerProvisioningStateRunning WorkflowTriggerProvisioningState = "Running" + // WorkflowTriggerProvisioningStateSucceeded ... + WorkflowTriggerProvisioningStateSucceeded WorkflowTriggerProvisioningState = "Succeeded" + // WorkflowTriggerProvisioningStateUnregistered ... + WorkflowTriggerProvisioningStateUnregistered WorkflowTriggerProvisioningState = "Unregistered" + // WorkflowTriggerProvisioningStateUnregistering ... + WorkflowTriggerProvisioningStateUnregistering WorkflowTriggerProvisioningState = "Unregistering" + // WorkflowTriggerProvisioningStateUpdating ... + WorkflowTriggerProvisioningStateUpdating WorkflowTriggerProvisioningState = "Updating" +) + +// PossibleWorkflowTriggerProvisioningStateValues returns an array of possible values for the WorkflowTriggerProvisioningState const type. +func PossibleWorkflowTriggerProvisioningStateValues() []WorkflowTriggerProvisioningState { + return []WorkflowTriggerProvisioningState{WorkflowTriggerProvisioningStateAccepted, WorkflowTriggerProvisioningStateCanceled, WorkflowTriggerProvisioningStateCompleted, WorkflowTriggerProvisioningStateCreated, WorkflowTriggerProvisioningStateCreating, WorkflowTriggerProvisioningStateDeleted, WorkflowTriggerProvisioningStateDeleting, WorkflowTriggerProvisioningStateFailed, WorkflowTriggerProvisioningStateMoving, WorkflowTriggerProvisioningStateNotSpecified, WorkflowTriggerProvisioningStateReady, WorkflowTriggerProvisioningStateRegistered, WorkflowTriggerProvisioningStateRegistering, WorkflowTriggerProvisioningStateRunning, WorkflowTriggerProvisioningStateSucceeded, WorkflowTriggerProvisioningStateUnregistered, WorkflowTriggerProvisioningStateUnregistering, WorkflowTriggerProvisioningStateUpdating} +} + +// WsdlImportMethod enumerates the values for wsdl import method. +type WsdlImportMethod string + +const ( + // WsdlImportMethodNotSpecified ... + WsdlImportMethodNotSpecified WsdlImportMethod = "NotSpecified" + // WsdlImportMethodSoapPassThrough ... + WsdlImportMethodSoapPassThrough WsdlImportMethod = "SoapPassThrough" + // WsdlImportMethodSoapToRest ... + WsdlImportMethodSoapToRest WsdlImportMethod = "SoapToRest" +) + +// PossibleWsdlImportMethodValues returns an array of possible values for the WsdlImportMethod const type. +func PossibleWsdlImportMethodValues() []WsdlImportMethod { + return []WsdlImportMethod{WsdlImportMethodNotSpecified, WsdlImportMethodSoapPassThrough, WsdlImportMethodSoapToRest} +} + +// X12CharacterSet enumerates the values for x12 character set. +type X12CharacterSet string + +const ( + // X12CharacterSetBasic ... + X12CharacterSetBasic X12CharacterSet = "Basic" + // X12CharacterSetExtended ... + X12CharacterSetExtended X12CharacterSet = "Extended" + // X12CharacterSetNotSpecified ... + X12CharacterSetNotSpecified X12CharacterSet = "NotSpecified" + // X12CharacterSetUTF8 ... + X12CharacterSetUTF8 X12CharacterSet = "UTF8" +) + +// PossibleX12CharacterSetValues returns an array of possible values for the X12CharacterSet const type. +func PossibleX12CharacterSetValues() []X12CharacterSet { + return []X12CharacterSet{X12CharacterSetBasic, X12CharacterSetExtended, X12CharacterSetNotSpecified, X12CharacterSetUTF8} +} + +// X12DateFormat enumerates the values for x12 date format. +type X12DateFormat string + +const ( + // X12DateFormatCCYYMMDD ... + X12DateFormatCCYYMMDD X12DateFormat = "CCYYMMDD" + // X12DateFormatNotSpecified ... + X12DateFormatNotSpecified X12DateFormat = "NotSpecified" + // X12DateFormatYYMMDD ... + X12DateFormatYYMMDD X12DateFormat = "YYMMDD" +) + +// PossibleX12DateFormatValues returns an array of possible values for the X12DateFormat const type. +func PossibleX12DateFormatValues() []X12DateFormat { + return []X12DateFormat{X12DateFormatCCYYMMDD, X12DateFormatNotSpecified, X12DateFormatYYMMDD} +} + +// X12TimeFormat enumerates the values for x12 time format. +type X12TimeFormat string + +const ( + // X12TimeFormatHHMM ... + X12TimeFormatHHMM X12TimeFormat = "HHMM" + // X12TimeFormatHHMMSS ... + X12TimeFormatHHMMSS X12TimeFormat = "HHMMSS" + // X12TimeFormatHHMMSSd ... + X12TimeFormatHHMMSSd X12TimeFormat = "HHMMSSd" + // X12TimeFormatHHMMSSdd ... + X12TimeFormatHHMMSSdd X12TimeFormat = "HHMMSSdd" + // X12TimeFormatNotSpecified ... + X12TimeFormatNotSpecified X12TimeFormat = "NotSpecified" +) + +// PossibleX12TimeFormatValues returns an array of possible values for the X12TimeFormat const type. +func PossibleX12TimeFormatValues() []X12TimeFormat { + return []X12TimeFormat{X12TimeFormatHHMM, X12TimeFormatHHMMSS, X12TimeFormatHHMMSSd, X12TimeFormatHHMMSSdd, X12TimeFormatNotSpecified} +} + +// AgreementContent the integration account agreement content. +type AgreementContent struct { + // AS2 - The AS2 agreement content. + AS2 *AS2AgreementContent `json:"aS2,omitempty"` + // X12 - The X12 agreement content. + X12 *X12AgreementContent `json:"x12,omitempty"` + // Edifact - The EDIFACT agreement content. + Edifact *EdifactAgreementContent `json:"edifact,omitempty"` +} + +// APIDeploymentParameterMetadata the API deployment parameter metadata. +type APIDeploymentParameterMetadata struct { + // Type - The type. + Type *string `json:"type,omitempty"` + // IsRequired - Indicates whether its required. + IsRequired *bool `json:"isRequired,omitempty"` + // DisplayName - The display name. + DisplayName *string `json:"displayName,omitempty"` + // Description - The description. + Description *string `json:"description,omitempty"` + // Visibility - The visibility. Possible values include: 'APIDeploymentParameterVisibilityNotSpecified', 'APIDeploymentParameterVisibilityDefault', 'APIDeploymentParameterVisibilityInternal' + Visibility APIDeploymentParameterVisibility `json:"visibility,omitempty"` +} + +// APIDeploymentParameterMetadataSet the API deployment parameters metadata. +type APIDeploymentParameterMetadataSet struct { + // PackageContentLink - The package content link parameter. + PackageContentLink *APIDeploymentParameterMetadata `json:"packageContentLink,omitempty"` + // RedisCacheConnectionString - The package content link parameter. + RedisCacheConnectionString *APIDeploymentParameterMetadata `json:"redisCacheConnectionString,omitempty"` +} + +// APIOperation the api operation. +type APIOperation struct { + Properties *APIOperationPropertiesDefinition `json:"properties,omitempty"` + // ID - READ-ONLY; The resource id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Gets the resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Gets the resource type. + Type *string `json:"type,omitempty"` + // Location - The resource location. + Location *string `json:"location,omitempty"` + // Tags - The resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for APIOperation. +func (ao APIOperation) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if ao.Properties != nil { + objectMap["properties"] = ao.Properties + } + if ao.Location != nil { + objectMap["location"] = ao.Location + } + if ao.Tags != nil { + objectMap["tags"] = ao.Tags + } + return json.Marshal(objectMap) +} + +// APIOperationAnnotation the Api Operation Annotation. +type APIOperationAnnotation struct { + // Status - Possible values include: 'StatusAnnotationNotSpecified', 'StatusAnnotationPreview', 'StatusAnnotationProduction' + Status StatusAnnotation `json:"status,omitempty"` + // Family - The family. + Family *string `json:"family,omitempty"` + // Revision - The revision. + Revision *int32 `json:"revision,omitempty"` +} + +// APIOperationListResult the list of managed API operations. +type APIOperationListResult struct { + autorest.Response `json:"-"` + // Value - The api operation definitions for an API. + Value *[]APIOperation `json:"value,omitempty"` + // NextLink - The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// APIOperationListResultIterator provides access to a complete listing of APIOperation values. +type APIOperationListResultIterator struct { + i int + page APIOperationListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *APIOperationListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/APIOperationListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *APIOperationListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter APIOperationListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter APIOperationListResultIterator) Response() APIOperationListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter APIOperationListResultIterator) Value() APIOperation { + if !iter.page.NotDone() { + return APIOperation{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the APIOperationListResultIterator type. +func NewAPIOperationListResultIterator(page APIOperationListResultPage) APIOperationListResultIterator { + return APIOperationListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (aolr APIOperationListResult) IsEmpty() bool { + return aolr.Value == nil || len(*aolr.Value) == 0 +} + +// aPIOperationListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (aolr APIOperationListResult) aPIOperationListResultPreparer(ctx context.Context) (*http.Request, error) { + if aolr.NextLink == nil || len(to.String(aolr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(aolr.NextLink))) +} + +// APIOperationListResultPage contains a page of APIOperation values. +type APIOperationListResultPage struct { + fn func(context.Context, APIOperationListResult) (APIOperationListResult, error) + aolr APIOperationListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *APIOperationListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/APIOperationListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.aolr) + if err != nil { + return err + } + page.aolr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *APIOperationListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page APIOperationListResultPage) NotDone() bool { + return !page.aolr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page APIOperationListResultPage) Response() APIOperationListResult { + return page.aolr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page APIOperationListResultPage) Values() []APIOperation { + if page.aolr.IsEmpty() { + return nil + } + return *page.aolr.Value +} + +// Creates a new instance of the APIOperationListResultPage type. +func NewAPIOperationListResultPage(getNextPage func(context.Context, APIOperationListResult) (APIOperationListResult, error)) APIOperationListResultPage { + return APIOperationListResultPage{fn: getNextPage} +} + +// APIOperationPropertiesDefinition the api operations properties +type APIOperationPropertiesDefinition struct { + // Summary - The summary of the api operation. + Summary *string `json:"summary,omitempty"` + // Description - The description of the api operation. + Description *string `json:"description,omitempty"` + // Visibility - The visibility of the api operation. + Visibility *string `json:"visibility,omitempty"` + // Trigger - The trigger type of api operation. + Trigger *string `json:"trigger,omitempty"` + // TriggerHint - The trigger hint for the api operation. + TriggerHint *string `json:"triggerHint,omitempty"` + // Pageable - Indicates whether the api operation is pageable. + Pageable *bool `json:"pageable,omitempty"` + // Annotation - The annotation of api operation. + Annotation *APIOperationAnnotation `json:"annotation,omitempty"` + // API - The api reference. + API *APIReference `json:"api,omitempty"` + // InputsDefinition - The operation inputs definition schema. + InputsDefinition *SwaggerSchema `json:"inputsDefinition,omitempty"` + // ResponsesDefinition - The operation responses definition schemas. + ResponsesDefinition map[string]*SwaggerSchema `json:"responsesDefinition"` + // IsWebhook - Indicates whether the API operation is webhook or not. + IsWebhook *bool `json:"isWebhook,omitempty"` + // IsNotification - Indicates whether the API operation is notification or not. + IsNotification *bool `json:"isNotification,omitempty"` +} + +// MarshalJSON is the custom marshaler for APIOperationPropertiesDefinition. +func (aopd APIOperationPropertiesDefinition) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if aopd.Summary != nil { + objectMap["summary"] = aopd.Summary + } + if aopd.Description != nil { + objectMap["description"] = aopd.Description + } + if aopd.Visibility != nil { + objectMap["visibility"] = aopd.Visibility + } + if aopd.Trigger != nil { + objectMap["trigger"] = aopd.Trigger + } + if aopd.TriggerHint != nil { + objectMap["triggerHint"] = aopd.TriggerHint + } + if aopd.Pageable != nil { + objectMap["pageable"] = aopd.Pageable + } + if aopd.Annotation != nil { + objectMap["annotation"] = aopd.Annotation + } + if aopd.API != nil { + objectMap["api"] = aopd.API + } + if aopd.InputsDefinition != nil { + objectMap["inputsDefinition"] = aopd.InputsDefinition + } + if aopd.ResponsesDefinition != nil { + objectMap["responsesDefinition"] = aopd.ResponsesDefinition + } + if aopd.IsWebhook != nil { + objectMap["isWebhook"] = aopd.IsWebhook + } + if aopd.IsNotification != nil { + objectMap["isNotification"] = aopd.IsNotification + } + return json.Marshal(objectMap) +} + +// APIReference the Api reference. +type APIReference struct { + // DisplayName - The display name of the api. + DisplayName *string `json:"displayName,omitempty"` + // Description - The description of the api. + Description *string `json:"description,omitempty"` + // IconURI - The icon uri of the api. + IconURI *string `json:"iconUri,omitempty"` + // Swagger - The swagger of the api. + Swagger interface{} `json:"swagger,omitempty"` + // BrandColor - The brand color of the api. + BrandColor *string `json:"brandColor,omitempty"` + // Category - The tier. Possible values include: 'APITierNotSpecified', 'APITierEnterprise', 'APITierStandard', 'APITierPremium' + Category APITier `json:"category,omitempty"` + // IntegrationServiceEnvironment - The integration service environment reference. + IntegrationServiceEnvironment *ResourceReference `json:"integrationServiceEnvironment,omitempty"` + // ID - The resource id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Gets the resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Gets the resource type. + Type *string `json:"type,omitempty"` +} + +// APIResourceBackendService the API backend service. +type APIResourceBackendService struct { + // ServiceURL - The service URL. + ServiceURL *string `json:"serviceUrl,omitempty"` +} + +// APIResourceDefinitions the Api resource definition. +type APIResourceDefinitions struct { + // OriginalSwaggerURL - The original swagger url. + OriginalSwaggerURL *string `json:"originalSwaggerUrl,omitempty"` + // ModifiedSwaggerURL - The modified swagger url. + ModifiedSwaggerURL *string `json:"modifiedSwaggerUrl,omitempty"` +} + +// APIResourceGeneralInformation the API general information. +type APIResourceGeneralInformation struct { + // IconURL - The icon url. + IconURL *string `json:"iconUrl,omitempty"` + // DisplayName - The display name. + DisplayName *string `json:"displayName,omitempty"` + // Description - The description. + Description *string `json:"description,omitempty"` + // TermsOfUseURL - The terms of use url. + TermsOfUseURL *string `json:"termsOfUseUrl,omitempty"` + // ReleaseTag - The release tag. + ReleaseTag *string `json:"releaseTag,omitempty"` + // Tier - The tier. Possible values include: 'APITierNotSpecified', 'APITierEnterprise', 'APITierStandard', 'APITierPremium' + Tier APITier `json:"tier,omitempty"` +} + +// APIResourceMetadata the api resource metadata. +type APIResourceMetadata struct { + // Source - The source. + Source *string `json:"source,omitempty"` + // BrandColor - The brand color. + BrandColor *string `json:"brandColor,omitempty"` + // HideKey - The hide key. + HideKey *string `json:"hideKey,omitempty"` + // Tags - The tags. + Tags map[string]*string `json:"tags"` + // APIType - The api type. Possible values include: 'APITypeNotSpecified', 'APITypeRest', 'APITypeSoap' + APIType APIType `json:"ApiType,omitempty"` + // WsdlService - The WSDL service. + WsdlService *WsdlService `json:"wsdlService,omitempty"` + // WsdlImportMethod - The WSDL import method. Possible values include: 'WsdlImportMethodNotSpecified', 'WsdlImportMethodSoapToRest', 'WsdlImportMethodSoapPassThrough' + WsdlImportMethod WsdlImportMethod `json:"wsdlImportMethod,omitempty"` + // ConnectionType - The connection type. + ConnectionType *string `json:"connectionType,omitempty"` + // ProvisioningState - The provisioning state. Possible values include: 'WorkflowProvisioningStateNotSpecified', 'WorkflowProvisioningStateAccepted', 'WorkflowProvisioningStateRunning', 'WorkflowProvisioningStateReady', 'WorkflowProvisioningStateCreating', 'WorkflowProvisioningStateCreated', 'WorkflowProvisioningStateDeleting', 'WorkflowProvisioningStateDeleted', 'WorkflowProvisioningStateCanceled', 'WorkflowProvisioningStateFailed', 'WorkflowProvisioningStateSucceeded', 'WorkflowProvisioningStateMoving', 'WorkflowProvisioningStateUpdating', 'WorkflowProvisioningStateRegistering', 'WorkflowProvisioningStateRegistered', 'WorkflowProvisioningStateUnregistering', 'WorkflowProvisioningStateUnregistered', 'WorkflowProvisioningStateCompleted' + ProvisioningState WorkflowProvisioningState `json:"provisioningState,omitempty"` + // DeploymentParameters - The connector deployment parameters metadata. + DeploymentParameters *APIDeploymentParameterMetadataSet `json:"deploymentParameters,omitempty"` +} + +// MarshalJSON is the custom marshaler for APIResourceMetadata. +func (arm APIResourceMetadata) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if arm.Source != nil { + objectMap["source"] = arm.Source + } + if arm.BrandColor != nil { + objectMap["brandColor"] = arm.BrandColor + } + if arm.HideKey != nil { + objectMap["hideKey"] = arm.HideKey + } + if arm.Tags != nil { + objectMap["tags"] = arm.Tags + } + if arm.APIType != "" { + objectMap["ApiType"] = arm.APIType + } + if arm.WsdlService != nil { + objectMap["wsdlService"] = arm.WsdlService + } + if arm.WsdlImportMethod != "" { + objectMap["wsdlImportMethod"] = arm.WsdlImportMethod + } + if arm.ConnectionType != nil { + objectMap["connectionType"] = arm.ConnectionType + } + if arm.ProvisioningState != "" { + objectMap["provisioningState"] = arm.ProvisioningState + } + if arm.DeploymentParameters != nil { + objectMap["deploymentParameters"] = arm.DeploymentParameters + } + return json.Marshal(objectMap) +} + +// APIResourcePolicies the API resource policies. +type APIResourcePolicies struct { + // Content - The API level only policies XML as embedded content. + Content *string `json:"content,omitempty"` + // ContentLink - The content link to the policies. + ContentLink *string `json:"contentLink,omitempty"` +} + +// APIResourceProperties the API resource properties. +type APIResourceProperties struct { + // Name - The name + Name *string `json:"name,omitempty"` + // ConnectionParameters - The connection parameters. + ConnectionParameters map[string]interface{} `json:"connectionParameters"` + // Metadata - The metadata. + Metadata *APIResourceMetadata `json:"metadata,omitempty"` + // RuntimeUrls - The runtime urls. + RuntimeUrls *[]string `json:"runtimeUrls,omitempty"` + // GeneralInformation - The api general information. + GeneralInformation *APIResourceGeneralInformation `json:"generalInformation,omitempty"` + // Capabilities - The capabilities. + Capabilities *[]string `json:"capabilities,omitempty"` + // BackendService - The backend service. + BackendService *APIResourceBackendService `json:"backendService,omitempty"` + // Policies - The policies for the API. + Policies *APIResourcePolicies `json:"policies,omitempty"` + // APIDefinitionURL - The API definition. + APIDefinitionURL *string `json:"apiDefinitionUrl,omitempty"` + // APIDefinitions - The api definitions. + APIDefinitions *APIResourceDefinitions `json:"apiDefinitions,omitempty"` + // IntegrationServiceEnvironment - The integration service environment reference. + IntegrationServiceEnvironment *ResourceReference `json:"integrationServiceEnvironment,omitempty"` + // ProvisioningState - The provisioning state. Possible values include: 'WorkflowProvisioningStateNotSpecified', 'WorkflowProvisioningStateAccepted', 'WorkflowProvisioningStateRunning', 'WorkflowProvisioningStateReady', 'WorkflowProvisioningStateCreating', 'WorkflowProvisioningStateCreated', 'WorkflowProvisioningStateDeleting', 'WorkflowProvisioningStateDeleted', 'WorkflowProvisioningStateCanceled', 'WorkflowProvisioningStateFailed', 'WorkflowProvisioningStateSucceeded', 'WorkflowProvisioningStateMoving', 'WorkflowProvisioningStateUpdating', 'WorkflowProvisioningStateRegistering', 'WorkflowProvisioningStateRegistered', 'WorkflowProvisioningStateUnregistering', 'WorkflowProvisioningStateUnregistered', 'WorkflowProvisioningStateCompleted' + ProvisioningState WorkflowProvisioningState `json:"provisioningState,omitempty"` + // Category - The category. Possible values include: 'APITierNotSpecified', 'APITierEnterprise', 'APITierStandard', 'APITierPremium' + Category APITier `json:"category,omitempty"` +} + +// MarshalJSON is the custom marshaler for APIResourceProperties. +func (arp APIResourceProperties) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if arp.Name != nil { + objectMap["name"] = arp.Name + } + if arp.ConnectionParameters != nil { + objectMap["connectionParameters"] = arp.ConnectionParameters + } + if arp.Metadata != nil { + objectMap["metadata"] = arp.Metadata + } + if arp.RuntimeUrls != nil { + objectMap["runtimeUrls"] = arp.RuntimeUrls + } + if arp.GeneralInformation != nil { + objectMap["generalInformation"] = arp.GeneralInformation + } + if arp.Capabilities != nil { + objectMap["capabilities"] = arp.Capabilities + } + if arp.BackendService != nil { + objectMap["backendService"] = arp.BackendService + } + if arp.Policies != nil { + objectMap["policies"] = arp.Policies + } + if arp.APIDefinitionURL != nil { + objectMap["apiDefinitionUrl"] = arp.APIDefinitionURL + } + if arp.APIDefinitions != nil { + objectMap["apiDefinitions"] = arp.APIDefinitions + } + if arp.IntegrationServiceEnvironment != nil { + objectMap["integrationServiceEnvironment"] = arp.IntegrationServiceEnvironment + } + if arp.ProvisioningState != "" { + objectMap["provisioningState"] = arp.ProvisioningState + } + if arp.Category != "" { + objectMap["category"] = arp.Category + } + return json.Marshal(objectMap) +} + +// ArtifactContentPropertiesDefinition the artifact content properties definition. +type ArtifactContentPropertiesDefinition struct { + Content interface{} `json:"content,omitempty"` + // ContentType - The content type. + ContentType *string `json:"contentType,omitempty"` + // ContentLink - The content link. + ContentLink *ContentLink `json:"contentLink,omitempty"` + // CreatedTime - The artifact creation time. + CreatedTime *date.Time `json:"createdTime,omitempty"` + // ChangedTime - The artifact changed time. + ChangedTime *date.Time `json:"changedTime,omitempty"` + Metadata interface{} `json:"metadata,omitempty"` +} + +// ArtifactProperties the artifact properties definition. +type ArtifactProperties struct { + // CreatedTime - The artifact creation time. + CreatedTime *date.Time `json:"createdTime,omitempty"` + // ChangedTime - The artifact changed time. + ChangedTime *date.Time `json:"changedTime,omitempty"` + Metadata interface{} `json:"metadata,omitempty"` +} + +// AS2AcknowledgementConnectionSettings the AS2 agreement acknowledgement connection settings. +type AS2AcknowledgementConnectionSettings struct { + // IgnoreCertificateNameMismatch - Indicates whether to ignore mismatch in certificate name. + IgnoreCertificateNameMismatch *bool `json:"ignoreCertificateNameMismatch,omitempty"` + // SupportHTTPStatusCodeContinue - Indicates whether to support HTTP status code 'CONTINUE'. + SupportHTTPStatusCodeContinue *bool `json:"supportHttpStatusCodeContinue,omitempty"` + // KeepHTTPConnectionAlive - Indicates whether to keep the connection alive. + KeepHTTPConnectionAlive *bool `json:"keepHttpConnectionAlive,omitempty"` + // UnfoldHTTPHeaders - Indicates whether to unfold the HTTP headers. + UnfoldHTTPHeaders *bool `json:"unfoldHttpHeaders,omitempty"` +} + +// AS2AgreementContent the integration account AS2 agreement content. +type AS2AgreementContent struct { + // ReceiveAgreement - The AS2 one-way receive agreement. + ReceiveAgreement *AS2OneWayAgreement `json:"receiveAgreement,omitempty"` + // SendAgreement - The AS2 one-way send agreement. + SendAgreement *AS2OneWayAgreement `json:"sendAgreement,omitempty"` +} + +// AS2EnvelopeSettings the AS2 agreement envelope settings. +type AS2EnvelopeSettings struct { + // MessageContentType - The message content type. + MessageContentType *string `json:"messageContentType,omitempty"` + // TransmitFileNameInMimeHeader - The value indicating whether to transmit file name in mime header. + TransmitFileNameInMimeHeader *bool `json:"transmitFileNameInMimeHeader,omitempty"` + // FileNameTemplate - The template for file name. + FileNameTemplate *string `json:"fileNameTemplate,omitempty"` + // SuspendMessageOnFileNameGenerationError - The value indicating whether to suspend message on file name generation error. + SuspendMessageOnFileNameGenerationError *bool `json:"suspendMessageOnFileNameGenerationError,omitempty"` + // AutogenerateFileName - The value indicating whether to auto generate file name. + AutogenerateFileName *bool `json:"autogenerateFileName,omitempty"` +} + +// AS2ErrorSettings the AS2 agreement error settings. +type AS2ErrorSettings struct { + // SuspendDuplicateMessage - The value indicating whether to suspend duplicate message. + SuspendDuplicateMessage *bool `json:"suspendDuplicateMessage,omitempty"` + // ResendIfMDNNotReceived - The value indicating whether to resend message If MDN is not received. + ResendIfMDNNotReceived *bool `json:"resendIfMDNNotReceived,omitempty"` +} + +// AS2MdnSettings the AS2 agreement mdn settings. +type AS2MdnSettings struct { + // NeedMDN - The value indicating whether to send or request a MDN. + NeedMDN *bool `json:"needMDN,omitempty"` + // SignMDN - The value indicating whether the MDN needs to be signed or not. + SignMDN *bool `json:"signMDN,omitempty"` + // SendMDNAsynchronously - The value indicating whether to send the asynchronous MDN. + SendMDNAsynchronously *bool `json:"sendMDNAsynchronously,omitempty"` + // ReceiptDeliveryURL - The receipt delivery URL. + ReceiptDeliveryURL *string `json:"receiptDeliveryUrl,omitempty"` + // DispositionNotificationTo - The disposition notification to header value. + DispositionNotificationTo *string `json:"dispositionNotificationTo,omitempty"` + // SignOutboundMDNIfOptional - The value indicating whether to sign the outbound MDN if optional. + SignOutboundMDNIfOptional *bool `json:"signOutboundMDNIfOptional,omitempty"` + // MdnText - The MDN text. + MdnText *string `json:"mdnText,omitempty"` + // SendInboundMDNToMessageBox - The value indicating whether to send inbound MDN to message box. + SendInboundMDNToMessageBox *bool `json:"sendInboundMDNToMessageBox,omitempty"` + // MicHashingAlgorithm - The signing or hashing algorithm. Possible values include: 'HashingAlgorithmNotSpecified', 'HashingAlgorithmNone', 'HashingAlgorithmMD5', 'HashingAlgorithmSHA1', 'HashingAlgorithmSHA2256', 'HashingAlgorithmSHA2384', 'HashingAlgorithmSHA2512' + MicHashingAlgorithm HashingAlgorithm `json:"micHashingAlgorithm,omitempty"` +} + +// AS2MessageConnectionSettings the AS2 agreement message connection settings. +type AS2MessageConnectionSettings struct { + // IgnoreCertificateNameMismatch - The value indicating whether to ignore mismatch in certificate name. + IgnoreCertificateNameMismatch *bool `json:"ignoreCertificateNameMismatch,omitempty"` + // SupportHTTPStatusCodeContinue - The value indicating whether to support HTTP status code 'CONTINUE'. + SupportHTTPStatusCodeContinue *bool `json:"supportHttpStatusCodeContinue,omitempty"` + // KeepHTTPConnectionAlive - The value indicating whether to keep the connection alive. + KeepHTTPConnectionAlive *bool `json:"keepHttpConnectionAlive,omitempty"` + // UnfoldHTTPHeaders - The value indicating whether to unfold the HTTP headers. + UnfoldHTTPHeaders *bool `json:"unfoldHttpHeaders,omitempty"` +} + +// AS2OneWayAgreement the integration account AS2 one-way agreement. +type AS2OneWayAgreement struct { + // SenderBusinessIdentity - The sender business identity + SenderBusinessIdentity *BusinessIdentity `json:"senderBusinessIdentity,omitempty"` + // ReceiverBusinessIdentity - The receiver business identity + ReceiverBusinessIdentity *BusinessIdentity `json:"receiverBusinessIdentity,omitempty"` + // ProtocolSettings - The AS2 protocol settings. + ProtocolSettings *AS2ProtocolSettings `json:"protocolSettings,omitempty"` +} + +// AS2ProtocolSettings the AS2 agreement protocol settings. +type AS2ProtocolSettings struct { + // MessageConnectionSettings - The message connection settings. + MessageConnectionSettings *AS2MessageConnectionSettings `json:"messageConnectionSettings,omitempty"` + // AcknowledgementConnectionSettings - The acknowledgement connection settings. + AcknowledgementConnectionSettings *AS2AcknowledgementConnectionSettings `json:"acknowledgementConnectionSettings,omitempty"` + // MdnSettings - The MDN settings. + MdnSettings *AS2MdnSettings `json:"mdnSettings,omitempty"` + // SecuritySettings - The security settings. + SecuritySettings *AS2SecuritySettings `json:"securitySettings,omitempty"` + // ValidationSettings - The validation settings. + ValidationSettings *AS2ValidationSettings `json:"validationSettings,omitempty"` + // EnvelopeSettings - The envelope settings. + EnvelopeSettings *AS2EnvelopeSettings `json:"envelopeSettings,omitempty"` + // ErrorSettings - The error settings. + ErrorSettings *AS2ErrorSettings `json:"errorSettings,omitempty"` +} + +// AS2SecuritySettings the AS2 agreement security settings. +type AS2SecuritySettings struct { + // OverrideGroupSigningCertificate - The value indicating whether to send or request a MDN. + OverrideGroupSigningCertificate *bool `json:"overrideGroupSigningCertificate,omitempty"` + // SigningCertificateName - The name of the signing certificate. + SigningCertificateName *string `json:"signingCertificateName,omitempty"` + // EncryptionCertificateName - The name of the encryption certificate. + EncryptionCertificateName *string `json:"encryptionCertificateName,omitempty"` + // EnableNRRForInboundEncodedMessages - The value indicating whether to enable NRR for inbound encoded messages. + EnableNRRForInboundEncodedMessages *bool `json:"enableNRRForInboundEncodedMessages,omitempty"` + // EnableNRRForInboundDecodedMessages - The value indicating whether to enable NRR for inbound decoded messages. + EnableNRRForInboundDecodedMessages *bool `json:"enableNRRForInboundDecodedMessages,omitempty"` + // EnableNRRForOutboundMDN - The value indicating whether to enable NRR for outbound MDN. + EnableNRRForOutboundMDN *bool `json:"enableNRRForOutboundMDN,omitempty"` + // EnableNRRForOutboundEncodedMessages - The value indicating whether to enable NRR for outbound encoded messages. + EnableNRRForOutboundEncodedMessages *bool `json:"enableNRRForOutboundEncodedMessages,omitempty"` + // EnableNRRForOutboundDecodedMessages - The value indicating whether to enable NRR for outbound decoded messages. + EnableNRRForOutboundDecodedMessages *bool `json:"enableNRRForOutboundDecodedMessages,omitempty"` + // EnableNRRForInboundMDN - The value indicating whether to enable NRR for inbound MDN. + EnableNRRForInboundMDN *bool `json:"enableNRRForInboundMDN,omitempty"` + // Sha2AlgorithmFormat - The Sha2 algorithm format. Valid values are Sha2, ShaHashSize, ShaHyphenHashSize, Sha2UnderscoreHashSize. + Sha2AlgorithmFormat *string `json:"sha2AlgorithmFormat,omitempty"` +} + +// AS2ValidationSettings the AS2 agreement validation settings. +type AS2ValidationSettings struct { + // OverrideMessageProperties - The value indicating whether to override incoming message properties with those in agreement. + OverrideMessageProperties *bool `json:"overrideMessageProperties,omitempty"` + // EncryptMessage - The value indicating whether the message has to be encrypted. + EncryptMessage *bool `json:"encryptMessage,omitempty"` + // SignMessage - The value indicating whether the message has to be signed. + SignMessage *bool `json:"signMessage,omitempty"` + // CompressMessage - The value indicating whether the message has to be compressed. + CompressMessage *bool `json:"compressMessage,omitempty"` + // CheckDuplicateMessage - The value indicating whether to check for duplicate message. + CheckDuplicateMessage *bool `json:"checkDuplicateMessage,omitempty"` + // InterchangeDuplicatesValidityDays - The number of days to look back for duplicate interchange. + InterchangeDuplicatesValidityDays *int32 `json:"interchangeDuplicatesValidityDays,omitempty"` + // CheckCertificateRevocationListOnSend - The value indicating whether to check for certificate revocation list on send. + CheckCertificateRevocationListOnSend *bool `json:"checkCertificateRevocationListOnSend,omitempty"` + // CheckCertificateRevocationListOnReceive - The value indicating whether to check for certificate revocation list on receive. + CheckCertificateRevocationListOnReceive *bool `json:"checkCertificateRevocationListOnReceive,omitempty"` + // EncryptionAlgorithm - The encryption algorithm. Possible values include: 'EncryptionAlgorithmNotSpecified', 'EncryptionAlgorithmNone', 'EncryptionAlgorithmDES3', 'EncryptionAlgorithmRC2', 'EncryptionAlgorithmAES128', 'EncryptionAlgorithmAES192', 'EncryptionAlgorithmAES256' + EncryptionAlgorithm EncryptionAlgorithm `json:"encryptionAlgorithm,omitempty"` + // SigningAlgorithm - The signing algorithm. Possible values include: 'SigningAlgorithmNotSpecified', 'SigningAlgorithmDefault', 'SigningAlgorithmSHA1', 'SigningAlgorithmSHA2256', 'SigningAlgorithmSHA2384', 'SigningAlgorithmSHA2512' + SigningAlgorithm SigningAlgorithm `json:"signingAlgorithm,omitempty"` +} + +// AssemblyCollection a collection of assembly definitions. +type AssemblyCollection struct { + autorest.Response `json:"-"` + Value *[]AssemblyDefinition `json:"value,omitempty"` +} + +// AssemblyDefinition the assembly definition. +type AssemblyDefinition struct { + autorest.Response `json:"-"` + // Properties - The assembly properties. + Properties *AssemblyProperties `json:"properties,omitempty"` + // ID - READ-ONLY; The resource id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Gets the resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Gets the resource type. + Type *string `json:"type,omitempty"` + // Location - The resource location. + Location *string `json:"location,omitempty"` + // Tags - The resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for AssemblyDefinition. +func (ad AssemblyDefinition) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if ad.Properties != nil { + objectMap["properties"] = ad.Properties + } + if ad.Location != nil { + objectMap["location"] = ad.Location + } + if ad.Tags != nil { + objectMap["tags"] = ad.Tags + } + return json.Marshal(objectMap) +} + +// AssemblyProperties the assembly properties definition. +type AssemblyProperties struct { + // AssemblyName - The assembly name. + AssemblyName *string `json:"assemblyName,omitempty"` + // AssemblyVersion - The assembly version. + AssemblyVersion *string `json:"assemblyVersion,omitempty"` + // AssemblyCulture - The assembly culture. + AssemblyCulture *string `json:"assemblyCulture,omitempty"` + // AssemblyPublicKeyToken - The assembly public key token. + AssemblyPublicKeyToken *string `json:"assemblyPublicKeyToken,omitempty"` + Content interface{} `json:"content,omitempty"` + // ContentType - The content type. + ContentType *string `json:"contentType,omitempty"` + // ContentLink - The content link. + ContentLink *ContentLink `json:"contentLink,omitempty"` + // CreatedTime - The artifact creation time. + CreatedTime *date.Time `json:"createdTime,omitempty"` + // ChangedTime - The artifact changed time. + ChangedTime *date.Time `json:"changedTime,omitempty"` + Metadata interface{} `json:"metadata,omitempty"` +} + +// AzureResourceErrorInfo the azure resource error info. +type AzureResourceErrorInfo struct { + // Message - The error message. + Message *string `json:"message,omitempty"` + // Details - The error details. + Details *[]AzureResourceErrorInfo `json:"details,omitempty"` + // Code - The error code. + Code *string `json:"code,omitempty"` +} + +// B2BPartnerContent the B2B partner content. +type B2BPartnerContent struct { + // BusinessIdentities - The list of partner business identities. + BusinessIdentities *[]BusinessIdentity `json:"businessIdentities,omitempty"` +} + +// BatchConfiguration the batch configuration resource definition. +type BatchConfiguration struct { + autorest.Response `json:"-"` + // Properties - The batch configuration properties. + Properties *BatchConfigurationProperties `json:"properties,omitempty"` + // ID - READ-ONLY; The resource id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Gets the resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Gets the resource type. + Type *string `json:"type,omitempty"` + // Location - The resource location. + Location *string `json:"location,omitempty"` + // Tags - The resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for BatchConfiguration. +func (bc BatchConfiguration) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if bc.Properties != nil { + objectMap["properties"] = bc.Properties + } + if bc.Location != nil { + objectMap["location"] = bc.Location + } + if bc.Tags != nil { + objectMap["tags"] = bc.Tags + } + return json.Marshal(objectMap) +} + +// BatchConfigurationCollection a collection of batch configurations. +type BatchConfigurationCollection struct { + autorest.Response `json:"-"` + Value *[]BatchConfiguration `json:"value,omitempty"` +} + +// BatchConfigurationProperties the batch configuration properties definition. +type BatchConfigurationProperties struct { + // BatchGroupName - The name of the batch group. + BatchGroupName *string `json:"batchGroupName,omitempty"` + // ReleaseCriteria - The batch release criteria. + ReleaseCriteria *BatchReleaseCriteria `json:"releaseCriteria,omitempty"` + // CreatedTime - The artifact creation time. + CreatedTime *date.Time `json:"createdTime,omitempty"` + // ChangedTime - The artifact changed time. + ChangedTime *date.Time `json:"changedTime,omitempty"` + Metadata interface{} `json:"metadata,omitempty"` +} + +// BatchReleaseCriteria the batch release criteria. +type BatchReleaseCriteria struct { + // MessageCount - The message count. + MessageCount *int32 `json:"messageCount,omitempty"` + // BatchSize - The batch size in bytes. + BatchSize *int32 `json:"batchSize,omitempty"` + // Recurrence - The recurrence. + Recurrence *WorkflowTriggerRecurrence `json:"recurrence,omitempty"` +} + +// BusinessIdentity the integration account partner's business identity. +type BusinessIdentity struct { + // Qualifier - The business identity qualifier e.g. as2identity, ZZ, ZZZ, 31, 32 + Qualifier *string `json:"qualifier,omitempty"` + // Value - The user defined business identity value. + Value *string `json:"value,omitempty"` +} + +// CallbackURL the callback url. +type CallbackURL struct { + autorest.Response `json:"-"` + // Value - The URL value. + Value *string `json:"value,omitempty"` +} + +// ContentHash the content hash. +type ContentHash struct { + // Algorithm - The algorithm of the content hash. + Algorithm *string `json:"algorithm,omitempty"` + // Value - The value of the content hash. + Value *string `json:"value,omitempty"` +} + +// ContentLink the content link. +type ContentLink struct { + // URI - The content link URI. + URI *string `json:"uri,omitempty"` + // ContentVersion - The content version. + ContentVersion *string `json:"contentVersion,omitempty"` + // ContentSize - The content size. + ContentSize *int64 `json:"contentSize,omitempty"` + // ContentHash - The content hash. + ContentHash *ContentHash `json:"contentHash,omitempty"` + // Metadata - The metadata. + Metadata interface{} `json:"metadata,omitempty"` +} + +// Correlation the correlation property. +type Correlation struct { + // ClientTrackingID - The client tracking id. + ClientTrackingID *string `json:"clientTrackingId,omitempty"` +} + +// EdifactAcknowledgementSettings the Edifact agreement acknowledgement settings. +type EdifactAcknowledgementSettings struct { + // NeedTechnicalAcknowledgement - The value indicating whether technical acknowledgement is needed. + NeedTechnicalAcknowledgement *bool `json:"needTechnicalAcknowledgement,omitempty"` + // BatchTechnicalAcknowledgements - The value indicating whether to batch the technical acknowledgements. + BatchTechnicalAcknowledgements *bool `json:"batchTechnicalAcknowledgements,omitempty"` + // NeedFunctionalAcknowledgement - The value indicating whether functional acknowledgement is needed. + NeedFunctionalAcknowledgement *bool `json:"needFunctionalAcknowledgement,omitempty"` + // BatchFunctionalAcknowledgements - The value indicating whether to batch functional acknowledgements. + BatchFunctionalAcknowledgements *bool `json:"batchFunctionalAcknowledgements,omitempty"` + // NeedLoopForValidMessages - The value indicating whether a loop is needed for valid messages. + NeedLoopForValidMessages *bool `json:"needLoopForValidMessages,omitempty"` + // SendSynchronousAcknowledgement - The value indicating whether to send synchronous acknowledgement. + SendSynchronousAcknowledgement *bool `json:"sendSynchronousAcknowledgement,omitempty"` + // AcknowledgementControlNumberPrefix - The acknowledgement control number prefix. + AcknowledgementControlNumberPrefix *string `json:"acknowledgementControlNumberPrefix,omitempty"` + // AcknowledgementControlNumberSuffix - The acknowledgement control number suffix. + AcknowledgementControlNumberSuffix *string `json:"acknowledgementControlNumberSuffix,omitempty"` + // AcknowledgementControlNumberLowerBound - The acknowledgement control number lower bound. + AcknowledgementControlNumberLowerBound *int32 `json:"acknowledgementControlNumberLowerBound,omitempty"` + // AcknowledgementControlNumberUpperBound - The acknowledgement control number upper bound. + AcknowledgementControlNumberUpperBound *int32 `json:"acknowledgementControlNumberUpperBound,omitempty"` + // RolloverAcknowledgementControlNumber - The value indicating whether to rollover acknowledgement control number. + RolloverAcknowledgementControlNumber *bool `json:"rolloverAcknowledgementControlNumber,omitempty"` +} + +// EdifactAgreementContent the Edifact agreement content. +type EdifactAgreementContent struct { + // ReceiveAgreement - The EDIFACT one-way receive agreement. + ReceiveAgreement *EdifactOneWayAgreement `json:"receiveAgreement,omitempty"` + // SendAgreement - The EDIFACT one-way send agreement. + SendAgreement *EdifactOneWayAgreement `json:"sendAgreement,omitempty"` +} + +// EdifactDelimiterOverride the Edifact delimiter override settings. +type EdifactDelimiterOverride struct { + // MessageID - The message id. + MessageID *string `json:"messageId,omitempty"` + // MessageVersion - The message version. + MessageVersion *string `json:"messageVersion,omitempty"` + // MessageRelease - The message release. + MessageRelease *string `json:"messageRelease,omitempty"` + // DataElementSeparator - The data element separator. + DataElementSeparator *int32 `json:"dataElementSeparator,omitempty"` + // ComponentSeparator - The component separator. + ComponentSeparator *int32 `json:"componentSeparator,omitempty"` + // SegmentTerminator - The segment terminator. + SegmentTerminator *int32 `json:"segmentTerminator,omitempty"` + // RepetitionSeparator - The repetition separator. + RepetitionSeparator *int32 `json:"repetitionSeparator,omitempty"` + // SegmentTerminatorSuffix - The segment terminator suffix. Possible values include: 'SegmentTerminatorSuffixNotSpecified', 'SegmentTerminatorSuffixNone', 'SegmentTerminatorSuffixCR', 'SegmentTerminatorSuffixLF', 'SegmentTerminatorSuffixCRLF' + SegmentTerminatorSuffix SegmentTerminatorSuffix `json:"segmentTerminatorSuffix,omitempty"` + // DecimalPointIndicator - The decimal point indicator. Possible values include: 'EdifactDecimalIndicatorNotSpecified', 'EdifactDecimalIndicatorComma', 'EdifactDecimalIndicatorDecimal' + DecimalPointIndicator EdifactDecimalIndicator `json:"decimalPointIndicator,omitempty"` + // ReleaseIndicator - The release indicator. + ReleaseIndicator *int32 `json:"releaseIndicator,omitempty"` + // MessageAssociationAssignedCode - The message association assigned code. + MessageAssociationAssignedCode *string `json:"messageAssociationAssignedCode,omitempty"` + // TargetNamespace - The target namespace on which this delimiter settings has to be applied. + TargetNamespace *string `json:"targetNamespace,omitempty"` +} + +// EdifactEnvelopeOverride the Edifact envelope override settings. +type EdifactEnvelopeOverride struct { + // MessageID - The message id on which this envelope settings has to be applied. + MessageID *string `json:"messageId,omitempty"` + // MessageVersion - The message version on which this envelope settings has to be applied. + MessageVersion *string `json:"messageVersion,omitempty"` + // MessageRelease - The message release version on which this envelope settings has to be applied. + MessageRelease *string `json:"messageRelease,omitempty"` + // MessageAssociationAssignedCode - The message association assigned code. + MessageAssociationAssignedCode *string `json:"messageAssociationAssignedCode,omitempty"` + // TargetNamespace - The target namespace on which this envelope settings has to be applied. + TargetNamespace *string `json:"targetNamespace,omitempty"` + // FunctionalGroupID - The functional group id. + FunctionalGroupID *string `json:"functionalGroupId,omitempty"` + // SenderApplicationQualifier - The sender application qualifier. + SenderApplicationQualifier *string `json:"senderApplicationQualifier,omitempty"` + // SenderApplicationID - The sender application id. + SenderApplicationID *string `json:"senderApplicationId,omitempty"` + // ReceiverApplicationQualifier - The receiver application qualifier. + ReceiverApplicationQualifier *string `json:"receiverApplicationQualifier,omitempty"` + // ReceiverApplicationID - The receiver application id. + ReceiverApplicationID *string `json:"receiverApplicationId,omitempty"` + // ControllingAgencyCode - The controlling agency code. + ControllingAgencyCode *string `json:"controllingAgencyCode,omitempty"` + // GroupHeaderMessageVersion - The group header message version. + GroupHeaderMessageVersion *string `json:"groupHeaderMessageVersion,omitempty"` + // GroupHeaderMessageRelease - The group header message release. + GroupHeaderMessageRelease *string `json:"groupHeaderMessageRelease,omitempty"` + // AssociationAssignedCode - The association assigned code. + AssociationAssignedCode *string `json:"associationAssignedCode,omitempty"` + // ApplicationPassword - The application password. + ApplicationPassword *string `json:"applicationPassword,omitempty"` +} + +// EdifactEnvelopeSettings the Edifact agreement envelope settings. +type EdifactEnvelopeSettings struct { + // GroupAssociationAssignedCode - The group association assigned code. + GroupAssociationAssignedCode *string `json:"groupAssociationAssignedCode,omitempty"` + // CommunicationAgreementID - The communication agreement id. + CommunicationAgreementID *string `json:"communicationAgreementId,omitempty"` + // ApplyDelimiterStringAdvice - The value indicating whether to apply delimiter string advice. + ApplyDelimiterStringAdvice *bool `json:"applyDelimiterStringAdvice,omitempty"` + // CreateGroupingSegments - The value indicating whether to create grouping segments. + CreateGroupingSegments *bool `json:"createGroupingSegments,omitempty"` + // EnableDefaultGroupHeaders - The value indicating whether to enable default group headers. + EnableDefaultGroupHeaders *bool `json:"enableDefaultGroupHeaders,omitempty"` + // RecipientReferencePasswordValue - The recipient reference password value. + RecipientReferencePasswordValue *string `json:"recipientReferencePasswordValue,omitempty"` + // RecipientReferencePasswordQualifier - The recipient reference password qualifier. + RecipientReferencePasswordQualifier *string `json:"recipientReferencePasswordQualifier,omitempty"` + // ApplicationReferenceID - The application reference id. + ApplicationReferenceID *string `json:"applicationReferenceId,omitempty"` + // ProcessingPriorityCode - The processing priority code. + ProcessingPriorityCode *string `json:"processingPriorityCode,omitempty"` + // InterchangeControlNumberLowerBound - The interchange control number lower bound. + InterchangeControlNumberLowerBound *int64 `json:"interchangeControlNumberLowerBound,omitempty"` + // InterchangeControlNumberUpperBound - The interchange control number upper bound. + InterchangeControlNumberUpperBound *int64 `json:"interchangeControlNumberUpperBound,omitempty"` + // RolloverInterchangeControlNumber - The value indicating whether to rollover interchange control number. + RolloverInterchangeControlNumber *bool `json:"rolloverInterchangeControlNumber,omitempty"` + // InterchangeControlNumberPrefix - The interchange control number prefix. + InterchangeControlNumberPrefix *string `json:"interchangeControlNumberPrefix,omitempty"` + // InterchangeControlNumberSuffix - The interchange control number suffix. + InterchangeControlNumberSuffix *string `json:"interchangeControlNumberSuffix,omitempty"` + // SenderReverseRoutingAddress - The sender reverse routing address. + SenderReverseRoutingAddress *string `json:"senderReverseRoutingAddress,omitempty"` + // ReceiverReverseRoutingAddress - The receiver reverse routing address. + ReceiverReverseRoutingAddress *string `json:"receiverReverseRoutingAddress,omitempty"` + // FunctionalGroupID - The functional group id. + FunctionalGroupID *string `json:"functionalGroupId,omitempty"` + // GroupControllingAgencyCode - The group controlling agency code. + GroupControllingAgencyCode *string `json:"groupControllingAgencyCode,omitempty"` + // GroupMessageVersion - The group message version. + GroupMessageVersion *string `json:"groupMessageVersion,omitempty"` + // GroupMessageRelease - The group message release. + GroupMessageRelease *string `json:"groupMessageRelease,omitempty"` + // GroupControlNumberLowerBound - The group control number lower bound. + GroupControlNumberLowerBound *int64 `json:"groupControlNumberLowerBound,omitempty"` + // GroupControlNumberUpperBound - The group control number upper bound. + GroupControlNumberUpperBound *int64 `json:"groupControlNumberUpperBound,omitempty"` + // RolloverGroupControlNumber - The value indicating whether to rollover group control number. + RolloverGroupControlNumber *bool `json:"rolloverGroupControlNumber,omitempty"` + // GroupControlNumberPrefix - The group control number prefix. + GroupControlNumberPrefix *string `json:"groupControlNumberPrefix,omitempty"` + // GroupControlNumberSuffix - The group control number suffix. + GroupControlNumberSuffix *string `json:"groupControlNumberSuffix,omitempty"` + // GroupApplicationReceiverQualifier - The group application receiver qualifier. + GroupApplicationReceiverQualifier *string `json:"groupApplicationReceiverQualifier,omitempty"` + // GroupApplicationReceiverID - The group application receiver id. + GroupApplicationReceiverID *string `json:"groupApplicationReceiverId,omitempty"` + // GroupApplicationSenderQualifier - The group application sender qualifier. + GroupApplicationSenderQualifier *string `json:"groupApplicationSenderQualifier,omitempty"` + // GroupApplicationSenderID - The group application sender id. + GroupApplicationSenderID *string `json:"groupApplicationSenderId,omitempty"` + // GroupApplicationPassword - The group application password. + GroupApplicationPassword *string `json:"groupApplicationPassword,omitempty"` + // OverwriteExistingTransactionSetControlNumber - The value indicating whether to overwrite existing transaction set control number. + OverwriteExistingTransactionSetControlNumber *bool `json:"overwriteExistingTransactionSetControlNumber,omitempty"` + // TransactionSetControlNumberPrefix - The transaction set control number prefix. + TransactionSetControlNumberPrefix *string `json:"transactionSetControlNumberPrefix,omitempty"` + // TransactionSetControlNumberSuffix - The transaction set control number suffix. + TransactionSetControlNumberSuffix *string `json:"transactionSetControlNumberSuffix,omitempty"` + // TransactionSetControlNumberLowerBound - The transaction set control number lower bound. + TransactionSetControlNumberLowerBound *int64 `json:"transactionSetControlNumberLowerBound,omitempty"` + // TransactionSetControlNumberUpperBound - The transaction set control number upper bound. + TransactionSetControlNumberUpperBound *int64 `json:"transactionSetControlNumberUpperBound,omitempty"` + // RolloverTransactionSetControlNumber - The value indicating whether to rollover transaction set control number. + RolloverTransactionSetControlNumber *bool `json:"rolloverTransactionSetControlNumber,omitempty"` + // IsTestInterchange - The value indicating whether the message is a test interchange. + IsTestInterchange *bool `json:"isTestInterchange,omitempty"` + // SenderInternalIdentification - The sender internal identification. + SenderInternalIdentification *string `json:"senderInternalIdentification,omitempty"` + // SenderInternalSubIdentification - The sender internal sub identification. + SenderInternalSubIdentification *string `json:"senderInternalSubIdentification,omitempty"` + // ReceiverInternalIdentification - The receiver internal identification. + ReceiverInternalIdentification *string `json:"receiverInternalIdentification,omitempty"` + // ReceiverInternalSubIdentification - The receiver internal sub identification. + ReceiverInternalSubIdentification *string `json:"receiverInternalSubIdentification,omitempty"` +} + +// EdifactFramingSettings the Edifact agreement framing settings. +type EdifactFramingSettings struct { + // ServiceCodeListDirectoryVersion - The service code list directory version. + ServiceCodeListDirectoryVersion *string `json:"serviceCodeListDirectoryVersion,omitempty"` + // CharacterEncoding - The character encoding. + CharacterEncoding *string `json:"characterEncoding,omitempty"` + // ProtocolVersion - The protocol version. + ProtocolVersion *int32 `json:"protocolVersion,omitempty"` + // DataElementSeparator - The data element separator. + DataElementSeparator *int32 `json:"dataElementSeparator,omitempty"` + // ComponentSeparator - The component separator. + ComponentSeparator *int32 `json:"componentSeparator,omitempty"` + // SegmentTerminator - The segment terminator. + SegmentTerminator *int32 `json:"segmentTerminator,omitempty"` + // ReleaseIndicator - The release indicator. + ReleaseIndicator *int32 `json:"releaseIndicator,omitempty"` + // RepetitionSeparator - The repetition separator. + RepetitionSeparator *int32 `json:"repetitionSeparator,omitempty"` + // CharacterSet - The EDIFACT frame setting characterSet. Possible values include: 'EdifactCharacterSetNotSpecified', 'EdifactCharacterSetUNOB', 'EdifactCharacterSetUNOA', 'EdifactCharacterSetUNOC', 'EdifactCharacterSetUNOD', 'EdifactCharacterSetUNOE', 'EdifactCharacterSetUNOF', 'EdifactCharacterSetUNOG', 'EdifactCharacterSetUNOH', 'EdifactCharacterSetUNOI', 'EdifactCharacterSetUNOJ', 'EdifactCharacterSetUNOK', 'EdifactCharacterSetUNOX', 'EdifactCharacterSetUNOY', 'EdifactCharacterSetKECA' + CharacterSet EdifactCharacterSet `json:"characterSet,omitempty"` + // DecimalPointIndicator - The EDIFACT frame setting decimal indicator. Possible values include: 'EdifactDecimalIndicatorNotSpecified', 'EdifactDecimalIndicatorComma', 'EdifactDecimalIndicatorDecimal' + DecimalPointIndicator EdifactDecimalIndicator `json:"decimalPointIndicator,omitempty"` + // SegmentTerminatorSuffix - The EDIFACT frame setting segment terminator suffix. Possible values include: 'SegmentTerminatorSuffixNotSpecified', 'SegmentTerminatorSuffixNone', 'SegmentTerminatorSuffixCR', 'SegmentTerminatorSuffixLF', 'SegmentTerminatorSuffixCRLF' + SegmentTerminatorSuffix SegmentTerminatorSuffix `json:"segmentTerminatorSuffix,omitempty"` +} + +// EdifactMessageFilter the Edifact message filter for odata query. +type EdifactMessageFilter struct { + // MessageFilterType - The message filter type. Possible values include: 'MessageFilterTypeNotSpecified', 'MessageFilterTypeInclude', 'MessageFilterTypeExclude' + MessageFilterType MessageFilterType `json:"messageFilterType,omitempty"` +} + +// EdifactMessageIdentifier the Edifact message identifier. +type EdifactMessageIdentifier struct { + // MessageID - The message id on which this envelope settings has to be applied. + MessageID *string `json:"messageId,omitempty"` +} + +// EdifactOneWayAgreement the Edifact one way agreement. +type EdifactOneWayAgreement struct { + // SenderBusinessIdentity - The sender business identity + SenderBusinessIdentity *BusinessIdentity `json:"senderBusinessIdentity,omitempty"` + // ReceiverBusinessIdentity - The receiver business identity + ReceiverBusinessIdentity *BusinessIdentity `json:"receiverBusinessIdentity,omitempty"` + // ProtocolSettings - The EDIFACT protocol settings. + ProtocolSettings *EdifactProtocolSettings `json:"protocolSettings,omitempty"` +} + +// EdifactProcessingSettings the Edifact agreement protocol settings. +type EdifactProcessingSettings struct { + // MaskSecurityInfo - The value indicating whether to mask security information. + MaskSecurityInfo *bool `json:"maskSecurityInfo,omitempty"` + // PreserveInterchange - The value indicating whether to preserve interchange. + PreserveInterchange *bool `json:"preserveInterchange,omitempty"` + // SuspendInterchangeOnError - The value indicating whether to suspend interchange on error. + SuspendInterchangeOnError *bool `json:"suspendInterchangeOnError,omitempty"` + // CreateEmptyXMLTagsForTrailingSeparators - The value indicating whether to create empty xml tags for trailing separators. + CreateEmptyXMLTagsForTrailingSeparators *bool `json:"createEmptyXmlTagsForTrailingSeparators,omitempty"` + // UseDotAsDecimalSeparator - The value indicating whether to use dot as decimal separator. + UseDotAsDecimalSeparator *bool `json:"useDotAsDecimalSeparator,omitempty"` +} + +// EdifactProtocolSettings the Edifact agreement protocol settings. +type EdifactProtocolSettings struct { + // ValidationSettings - The EDIFACT validation settings. + ValidationSettings *EdifactValidationSettings `json:"validationSettings,omitempty"` + // FramingSettings - The EDIFACT framing settings. + FramingSettings *EdifactFramingSettings `json:"framingSettings,omitempty"` + // EnvelopeSettings - The EDIFACT envelope settings. + EnvelopeSettings *EdifactEnvelopeSettings `json:"envelopeSettings,omitempty"` + // AcknowledgementSettings - The EDIFACT acknowledgement settings. + AcknowledgementSettings *EdifactAcknowledgementSettings `json:"acknowledgementSettings,omitempty"` + // MessageFilter - The EDIFACT message filter. + MessageFilter *EdifactMessageFilter `json:"messageFilter,omitempty"` + // ProcessingSettings - The EDIFACT processing Settings. + ProcessingSettings *EdifactProcessingSettings `json:"processingSettings,omitempty"` + // EnvelopeOverrides - The EDIFACT envelope override settings. + EnvelopeOverrides *[]EdifactEnvelopeOverride `json:"envelopeOverrides,omitempty"` + // MessageFilterList - The EDIFACT message filter list. + MessageFilterList *[]EdifactMessageIdentifier `json:"messageFilterList,omitempty"` + // SchemaReferences - The EDIFACT schema references. + SchemaReferences *[]EdifactSchemaReference `json:"schemaReferences,omitempty"` + // ValidationOverrides - The EDIFACT validation override settings. + ValidationOverrides *[]EdifactValidationOverride `json:"validationOverrides,omitempty"` + // EdifactDelimiterOverrides - The EDIFACT delimiter override settings. + EdifactDelimiterOverrides *[]EdifactDelimiterOverride `json:"edifactDelimiterOverrides,omitempty"` +} + +// EdifactSchemaReference the Edifact schema reference. +type EdifactSchemaReference struct { + // MessageID - The message id. + MessageID *string `json:"messageId,omitempty"` + // MessageVersion - The message version. + MessageVersion *string `json:"messageVersion,omitempty"` + // MessageRelease - The message release version. + MessageRelease *string `json:"messageRelease,omitempty"` + // SenderApplicationID - The sender application id. + SenderApplicationID *string `json:"senderApplicationId,omitempty"` + // SenderApplicationQualifier - The sender application qualifier. + SenderApplicationQualifier *string `json:"senderApplicationQualifier,omitempty"` + // AssociationAssignedCode - The association assigned code. + AssociationAssignedCode *string `json:"associationAssignedCode,omitempty"` + // SchemaName - The schema name. + SchemaName *string `json:"schemaName,omitempty"` +} + +// EdifactValidationOverride the Edifact validation override settings. +type EdifactValidationOverride struct { + // MessageID - The message id on which the validation settings has to be applied. + MessageID *string `json:"messageId,omitempty"` + // EnforceCharacterSet - The value indicating whether to validate character Set. + EnforceCharacterSet *bool `json:"enforceCharacterSet,omitempty"` + // ValidateEDITypes - The value indicating whether to validate EDI types. + ValidateEDITypes *bool `json:"validateEDITypes,omitempty"` + // ValidateXSDTypes - The value indicating whether to validate XSD types. + ValidateXSDTypes *bool `json:"validateXSDTypes,omitempty"` + // AllowLeadingAndTrailingSpacesAndZeroes - The value indicating whether to allow leading and trailing spaces and zeroes. + AllowLeadingAndTrailingSpacesAndZeroes *bool `json:"allowLeadingAndTrailingSpacesAndZeroes,omitempty"` + // TrailingSeparatorPolicy - The trailing separator policy. Possible values include: 'TrailingSeparatorPolicyNotSpecified', 'TrailingSeparatorPolicyNotAllowed', 'TrailingSeparatorPolicyOptional', 'TrailingSeparatorPolicyMandatory' + TrailingSeparatorPolicy TrailingSeparatorPolicy `json:"trailingSeparatorPolicy,omitempty"` + // TrimLeadingAndTrailingSpacesAndZeroes - The value indicating whether to trim leading and trailing spaces and zeroes. + TrimLeadingAndTrailingSpacesAndZeroes *bool `json:"trimLeadingAndTrailingSpacesAndZeroes,omitempty"` +} + +// EdifactValidationSettings the Edifact agreement validation settings. +type EdifactValidationSettings struct { + // ValidateCharacterSet - The value indicating whether to validate character set in the message. + ValidateCharacterSet *bool `json:"validateCharacterSet,omitempty"` + // CheckDuplicateInterchangeControlNumber - The value indicating whether to check for duplicate interchange control number. + CheckDuplicateInterchangeControlNumber *bool `json:"checkDuplicateInterchangeControlNumber,omitempty"` + // InterchangeControlNumberValidityDays - The validity period of interchange control number. + InterchangeControlNumberValidityDays *int32 `json:"interchangeControlNumberValidityDays,omitempty"` + // CheckDuplicateGroupControlNumber - The value indicating whether to check for duplicate group control number. + CheckDuplicateGroupControlNumber *bool `json:"checkDuplicateGroupControlNumber,omitempty"` + // CheckDuplicateTransactionSetControlNumber - The value indicating whether to check for duplicate transaction set control number. + CheckDuplicateTransactionSetControlNumber *bool `json:"checkDuplicateTransactionSetControlNumber,omitempty"` + // ValidateEDITypes - The value indicating whether to Whether to validate EDI types. + ValidateEDITypes *bool `json:"validateEDITypes,omitempty"` + // ValidateXSDTypes - The value indicating whether to Whether to validate XSD types. + ValidateXSDTypes *bool `json:"validateXSDTypes,omitempty"` + // AllowLeadingAndTrailingSpacesAndZeroes - The value indicating whether to allow leading and trailing spaces and zeroes. + AllowLeadingAndTrailingSpacesAndZeroes *bool `json:"allowLeadingAndTrailingSpacesAndZeroes,omitempty"` + // TrimLeadingAndTrailingSpacesAndZeroes - The value indicating whether to trim leading and trailing spaces and zeroes. + TrimLeadingAndTrailingSpacesAndZeroes *bool `json:"trimLeadingAndTrailingSpacesAndZeroes,omitempty"` + // TrailingSeparatorPolicy - The trailing separator policy. Possible values include: 'TrailingSeparatorPolicyNotSpecified', 'TrailingSeparatorPolicyNotAllowed', 'TrailingSeparatorPolicyOptional', 'TrailingSeparatorPolicyMandatory' + TrailingSeparatorPolicy TrailingSeparatorPolicy `json:"trailingSeparatorPolicy,omitempty"` +} + +// ErrorInfo the error info. +type ErrorInfo struct { + // Code - The error code. + Code *string `json:"code,omitempty"` +} + +// ErrorProperties error properties indicate why the Logic service was not able to process the incoming +// request. The reason is provided in the error message. +type ErrorProperties struct { + // Code - Error code. + Code *string `json:"code,omitempty"` + // Message - Error message indicating why the operation failed. + Message *string `json:"message,omitempty"` +} + +// ErrorResponse error response indicates Logic service is not able to process the incoming request. The +// error property contains the error details. +type ErrorResponse struct { + // Error - The error properties. + Error *ErrorProperties `json:"error,omitempty"` +} + +// Expression the expression. +type Expression struct { + // Text - The text. + Text *string `json:"text,omitempty"` + Value interface{} `json:"value,omitempty"` + // Subexpressions - The sub expressions. + Subexpressions *[]Expression `json:"subexpressions,omitempty"` + Error *AzureResourceErrorInfo `json:"error,omitempty"` +} + +// ExpressionRoot the expression root. +type ExpressionRoot struct { + // Path - The path. + Path *string `json:"path,omitempty"` + // Text - The text. + Text *string `json:"text,omitempty"` + Value interface{} `json:"value,omitempty"` + // Subexpressions - The sub expressions. + Subexpressions *[]Expression `json:"subexpressions,omitempty"` + Error *AzureResourceErrorInfo `json:"error,omitempty"` +} + +// ExpressionTraces the expression traces. +type ExpressionTraces struct { + autorest.Response `json:"-"` + Inputs *[]ExpressionRoot `json:"inputs,omitempty"` +} + +// ExtendedErrorInfo the extended error info. +type ExtendedErrorInfo struct { + // Code - The error code. Possible values include: 'ErrorResponseCodeNotSpecified', 'ErrorResponseCodeIntegrationServiceEnvironmentNotFound', 'ErrorResponseCodeInternalServerError', 'ErrorResponseCodeInvalidOperationID' + Code ErrorResponseCode `json:"code,omitempty"` + // Message - The error message. + Message *string `json:"message,omitempty"` + // Details - The error message details. + Details *[]ExtendedErrorInfo `json:"details,omitempty"` + // InnerError - The inner error. + InnerError interface{} `json:"innerError,omitempty"` +} + +// FlowEndpoints the flow endpoints configuration. +type FlowEndpoints struct { + // OutgoingIPAddresses - The outgoing ip address. + OutgoingIPAddresses *[]IPAddress `json:"outgoingIpAddresses,omitempty"` + // AccessEndpointIPAddresses - The access endpoint ip address. + AccessEndpointIPAddresses *[]IPAddress `json:"accessEndpointIpAddresses,omitempty"` +} + +// FlowEndpointsConfiguration the endpoints configuration. +type FlowEndpointsConfiguration struct { + // Workflow - The workflow endpoints. + Workflow *FlowEndpoints `json:"workflow,omitempty"` + // Connector - The connector endpoints. + Connector *FlowEndpoints `json:"connector,omitempty"` +} + +// GenerateUpgradedDefinitionParameters the parameters to generate upgraded definition. +type GenerateUpgradedDefinitionParameters struct { + // TargetSchemaVersion - The target schema version. + TargetSchemaVersion *string `json:"targetSchemaVersion,omitempty"` +} + +// GetCallbackURLParameters the callback url parameters. +type GetCallbackURLParameters struct { + // NotAfter - The expiry time. + NotAfter *date.Time `json:"notAfter,omitempty"` + // KeyType - The key type. Possible values include: 'KeyTypeNotSpecified', 'KeyTypePrimary', 'KeyTypeSecondary' + KeyType KeyType `json:"keyType,omitempty"` +} + +// IntegrationAccount the integration account. +type IntegrationAccount struct { + autorest.Response `json:"-"` + // IntegrationAccountProperties - The integration account properties. + *IntegrationAccountProperties `json:"properties,omitempty"` + // Sku - The sku. + Sku *IntegrationAccountSku `json:"sku,omitempty"` + // ID - READ-ONLY; The resource id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Gets the resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Gets the resource type. + Type *string `json:"type,omitempty"` + // Location - The resource location. + Location *string `json:"location,omitempty"` + // Tags - The resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for IntegrationAccount. +func (ia IntegrationAccount) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if ia.IntegrationAccountProperties != nil { + objectMap["properties"] = ia.IntegrationAccountProperties + } + if ia.Sku != nil { + objectMap["sku"] = ia.Sku + } + if ia.Location != nil { + objectMap["location"] = ia.Location + } + if ia.Tags != nil { + objectMap["tags"] = ia.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for IntegrationAccount struct. +func (ia *IntegrationAccount) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var integrationAccountProperties IntegrationAccountProperties + err = json.Unmarshal(*v, &integrationAccountProperties) + if err != nil { + return err + } + ia.IntegrationAccountProperties = &integrationAccountProperties + } + case "sku": + if v != nil { + var sku IntegrationAccountSku + err = json.Unmarshal(*v, &sku) + if err != nil { + return err + } + ia.Sku = &sku + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + ia.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + ia.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ia.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + ia.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + ia.Tags = tags + } + } + } + + return nil +} + +// IntegrationAccountAgreement the integration account agreement. +type IntegrationAccountAgreement struct { + autorest.Response `json:"-"` + // IntegrationAccountAgreementProperties - The integration account agreement properties. + *IntegrationAccountAgreementProperties `json:"properties,omitempty"` + // ID - READ-ONLY; The resource id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Gets the resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Gets the resource type. + Type *string `json:"type,omitempty"` + // Location - The resource location. + Location *string `json:"location,omitempty"` + // Tags - The resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for IntegrationAccountAgreement. +func (iaa IntegrationAccountAgreement) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if iaa.IntegrationAccountAgreementProperties != nil { + objectMap["properties"] = iaa.IntegrationAccountAgreementProperties + } + if iaa.Location != nil { + objectMap["location"] = iaa.Location + } + if iaa.Tags != nil { + objectMap["tags"] = iaa.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for IntegrationAccountAgreement struct. +func (iaa *IntegrationAccountAgreement) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var integrationAccountAgreementProperties IntegrationAccountAgreementProperties + err = json.Unmarshal(*v, &integrationAccountAgreementProperties) + if err != nil { + return err + } + iaa.IntegrationAccountAgreementProperties = &integrationAccountAgreementProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + iaa.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + iaa.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + iaa.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + iaa.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + iaa.Tags = tags + } + } + } + + return nil +} + +// IntegrationAccountAgreementFilter the integration account agreement filter for odata query. +type IntegrationAccountAgreementFilter struct { + // AgreementType - The agreement type of integration account agreement. Possible values include: 'NotSpecified', 'AS2', 'X12', 'Edifact' + AgreementType AgreementType `json:"agreementType,omitempty"` +} + +// IntegrationAccountAgreementListResult the list of integration account agreements. +type IntegrationAccountAgreementListResult struct { + autorest.Response `json:"-"` + // Value - The list of integration account agreements. + Value *[]IntegrationAccountAgreement `json:"value,omitempty"` + // NextLink - The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// IntegrationAccountAgreementListResultIterator provides access to a complete listing of +// IntegrationAccountAgreement values. +type IntegrationAccountAgreementListResultIterator struct { + i int + page IntegrationAccountAgreementListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *IntegrationAccountAgreementListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationAccountAgreementListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *IntegrationAccountAgreementListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter IntegrationAccountAgreementListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter IntegrationAccountAgreementListResultIterator) Response() IntegrationAccountAgreementListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter IntegrationAccountAgreementListResultIterator) Value() IntegrationAccountAgreement { + if !iter.page.NotDone() { + return IntegrationAccountAgreement{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the IntegrationAccountAgreementListResultIterator type. +func NewIntegrationAccountAgreementListResultIterator(page IntegrationAccountAgreementListResultPage) IntegrationAccountAgreementListResultIterator { + return IntegrationAccountAgreementListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (iaalr IntegrationAccountAgreementListResult) IsEmpty() bool { + return iaalr.Value == nil || len(*iaalr.Value) == 0 +} + +// integrationAccountAgreementListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (iaalr IntegrationAccountAgreementListResult) integrationAccountAgreementListResultPreparer(ctx context.Context) (*http.Request, error) { + if iaalr.NextLink == nil || len(to.String(iaalr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(iaalr.NextLink))) +} + +// IntegrationAccountAgreementListResultPage contains a page of IntegrationAccountAgreement values. +type IntegrationAccountAgreementListResultPage struct { + fn func(context.Context, IntegrationAccountAgreementListResult) (IntegrationAccountAgreementListResult, error) + iaalr IntegrationAccountAgreementListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *IntegrationAccountAgreementListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationAccountAgreementListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.iaalr) + if err != nil { + return err + } + page.iaalr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *IntegrationAccountAgreementListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page IntegrationAccountAgreementListResultPage) NotDone() bool { + return !page.iaalr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page IntegrationAccountAgreementListResultPage) Response() IntegrationAccountAgreementListResult { + return page.iaalr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page IntegrationAccountAgreementListResultPage) Values() []IntegrationAccountAgreement { + if page.iaalr.IsEmpty() { + return nil + } + return *page.iaalr.Value +} + +// Creates a new instance of the IntegrationAccountAgreementListResultPage type. +func NewIntegrationAccountAgreementListResultPage(getNextPage func(context.Context, IntegrationAccountAgreementListResult) (IntegrationAccountAgreementListResult, error)) IntegrationAccountAgreementListResultPage { + return IntegrationAccountAgreementListResultPage{fn: getNextPage} +} + +// IntegrationAccountAgreementProperties the integration account agreement properties. +type IntegrationAccountAgreementProperties struct { + // CreatedTime - READ-ONLY; The created time. + CreatedTime *date.Time `json:"createdTime,omitempty"` + // ChangedTime - READ-ONLY; The changed time. + ChangedTime *date.Time `json:"changedTime,omitempty"` + // Metadata - The metadata. + Metadata interface{} `json:"metadata,omitempty"` + // AgreementType - The agreement type. Possible values include: 'NotSpecified', 'AS2', 'X12', 'Edifact' + AgreementType AgreementType `json:"agreementType,omitempty"` + // HostPartner - The integration account partner that is set as host partner for this agreement. + HostPartner *string `json:"hostPartner,omitempty"` + // GuestPartner - The integration account partner that is set as guest partner for this agreement. + GuestPartner *string `json:"guestPartner,omitempty"` + // HostIdentity - The business identity of the host partner. + HostIdentity *BusinessIdentity `json:"hostIdentity,omitempty"` + // GuestIdentity - The business identity of the guest partner. + GuestIdentity *BusinessIdentity `json:"guestIdentity,omitempty"` + // Content - The agreement content. + Content *AgreementContent `json:"content,omitempty"` +} + +// IntegrationAccountCertificate the integration account certificate. +type IntegrationAccountCertificate struct { + autorest.Response `json:"-"` + // IntegrationAccountCertificateProperties - The integration account certificate properties. + *IntegrationAccountCertificateProperties `json:"properties,omitempty"` + // ID - READ-ONLY; The resource id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Gets the resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Gets the resource type. + Type *string `json:"type,omitempty"` + // Location - The resource location. + Location *string `json:"location,omitempty"` + // Tags - The resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for IntegrationAccountCertificate. +func (iac IntegrationAccountCertificate) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if iac.IntegrationAccountCertificateProperties != nil { + objectMap["properties"] = iac.IntegrationAccountCertificateProperties + } + if iac.Location != nil { + objectMap["location"] = iac.Location + } + if iac.Tags != nil { + objectMap["tags"] = iac.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for IntegrationAccountCertificate struct. +func (iac *IntegrationAccountCertificate) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var integrationAccountCertificateProperties IntegrationAccountCertificateProperties + err = json.Unmarshal(*v, &integrationAccountCertificateProperties) + if err != nil { + return err + } + iac.IntegrationAccountCertificateProperties = &integrationAccountCertificateProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + iac.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + iac.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + iac.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + iac.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + iac.Tags = tags + } + } + } + + return nil +} + +// IntegrationAccountCertificateListResult the list of integration account certificates. +type IntegrationAccountCertificateListResult struct { + autorest.Response `json:"-"` + // Value - The list of integration account certificates. + Value *[]IntegrationAccountCertificate `json:"value,omitempty"` + // NextLink - The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// IntegrationAccountCertificateListResultIterator provides access to a complete listing of +// IntegrationAccountCertificate values. +type IntegrationAccountCertificateListResultIterator struct { + i int + page IntegrationAccountCertificateListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *IntegrationAccountCertificateListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationAccountCertificateListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *IntegrationAccountCertificateListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter IntegrationAccountCertificateListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter IntegrationAccountCertificateListResultIterator) Response() IntegrationAccountCertificateListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter IntegrationAccountCertificateListResultIterator) Value() IntegrationAccountCertificate { + if !iter.page.NotDone() { + return IntegrationAccountCertificate{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the IntegrationAccountCertificateListResultIterator type. +func NewIntegrationAccountCertificateListResultIterator(page IntegrationAccountCertificateListResultPage) IntegrationAccountCertificateListResultIterator { + return IntegrationAccountCertificateListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (iaclr IntegrationAccountCertificateListResult) IsEmpty() bool { + return iaclr.Value == nil || len(*iaclr.Value) == 0 +} + +// integrationAccountCertificateListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (iaclr IntegrationAccountCertificateListResult) integrationAccountCertificateListResultPreparer(ctx context.Context) (*http.Request, error) { + if iaclr.NextLink == nil || len(to.String(iaclr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(iaclr.NextLink))) +} + +// IntegrationAccountCertificateListResultPage contains a page of IntegrationAccountCertificate values. +type IntegrationAccountCertificateListResultPage struct { + fn func(context.Context, IntegrationAccountCertificateListResult) (IntegrationAccountCertificateListResult, error) + iaclr IntegrationAccountCertificateListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *IntegrationAccountCertificateListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationAccountCertificateListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.iaclr) + if err != nil { + return err + } + page.iaclr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *IntegrationAccountCertificateListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page IntegrationAccountCertificateListResultPage) NotDone() bool { + return !page.iaclr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page IntegrationAccountCertificateListResultPage) Response() IntegrationAccountCertificateListResult { + return page.iaclr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page IntegrationAccountCertificateListResultPage) Values() []IntegrationAccountCertificate { + if page.iaclr.IsEmpty() { + return nil + } + return *page.iaclr.Value +} + +// Creates a new instance of the IntegrationAccountCertificateListResultPage type. +func NewIntegrationAccountCertificateListResultPage(getNextPage func(context.Context, IntegrationAccountCertificateListResult) (IntegrationAccountCertificateListResult, error)) IntegrationAccountCertificateListResultPage { + return IntegrationAccountCertificateListResultPage{fn: getNextPage} +} + +// IntegrationAccountCertificateProperties the integration account certificate properties. +type IntegrationAccountCertificateProperties struct { + // CreatedTime - READ-ONLY; The created time. + CreatedTime *date.Time `json:"createdTime,omitempty"` + // ChangedTime - READ-ONLY; The changed time. + ChangedTime *date.Time `json:"changedTime,omitempty"` + // Metadata - The metadata. + Metadata interface{} `json:"metadata,omitempty"` + // Key - The key details in the key vault. + Key *KeyVaultKeyReference `json:"key,omitempty"` + // PublicCertificate - The public certificate. + PublicCertificate *string `json:"publicCertificate,omitempty"` +} + +// IntegrationAccountListResult the list of integration accounts. +type IntegrationAccountListResult struct { + autorest.Response `json:"-"` + // Value - The list of integration accounts. + Value *[]IntegrationAccount `json:"value,omitempty"` + // NextLink - The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// IntegrationAccountListResultIterator provides access to a complete listing of IntegrationAccount values. +type IntegrationAccountListResultIterator struct { + i int + page IntegrationAccountListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *IntegrationAccountListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationAccountListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *IntegrationAccountListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter IntegrationAccountListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter IntegrationAccountListResultIterator) Response() IntegrationAccountListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter IntegrationAccountListResultIterator) Value() IntegrationAccount { + if !iter.page.NotDone() { + return IntegrationAccount{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the IntegrationAccountListResultIterator type. +func NewIntegrationAccountListResultIterator(page IntegrationAccountListResultPage) IntegrationAccountListResultIterator { + return IntegrationAccountListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (ialr IntegrationAccountListResult) IsEmpty() bool { + return ialr.Value == nil || len(*ialr.Value) == 0 +} + +// integrationAccountListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (ialr IntegrationAccountListResult) integrationAccountListResultPreparer(ctx context.Context) (*http.Request, error) { + if ialr.NextLink == nil || len(to.String(ialr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(ialr.NextLink))) +} + +// IntegrationAccountListResultPage contains a page of IntegrationAccount values. +type IntegrationAccountListResultPage struct { + fn func(context.Context, IntegrationAccountListResult) (IntegrationAccountListResult, error) + ialr IntegrationAccountListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *IntegrationAccountListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationAccountListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.ialr) + if err != nil { + return err + } + page.ialr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *IntegrationAccountListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page IntegrationAccountListResultPage) NotDone() bool { + return !page.ialr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page IntegrationAccountListResultPage) Response() IntegrationAccountListResult { + return page.ialr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page IntegrationAccountListResultPage) Values() []IntegrationAccount { + if page.ialr.IsEmpty() { + return nil + } + return *page.ialr.Value +} + +// Creates a new instance of the IntegrationAccountListResultPage type. +func NewIntegrationAccountListResultPage(getNextPage func(context.Context, IntegrationAccountListResult) (IntegrationAccountListResult, error)) IntegrationAccountListResultPage { + return IntegrationAccountListResultPage{fn: getNextPage} +} + +// IntegrationAccountMap the integration account map. +type IntegrationAccountMap struct { + autorest.Response `json:"-"` + // IntegrationAccountMapProperties - The integration account map properties. + *IntegrationAccountMapProperties `json:"properties,omitempty"` + // ID - READ-ONLY; The resource id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Gets the resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Gets the resource type. + Type *string `json:"type,omitempty"` + // Location - The resource location. + Location *string `json:"location,omitempty"` + // Tags - The resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for IntegrationAccountMap. +func (iam IntegrationAccountMap) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if iam.IntegrationAccountMapProperties != nil { + objectMap["properties"] = iam.IntegrationAccountMapProperties + } + if iam.Location != nil { + objectMap["location"] = iam.Location + } + if iam.Tags != nil { + objectMap["tags"] = iam.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for IntegrationAccountMap struct. +func (iam *IntegrationAccountMap) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var integrationAccountMapProperties IntegrationAccountMapProperties + err = json.Unmarshal(*v, &integrationAccountMapProperties) + if err != nil { + return err + } + iam.IntegrationAccountMapProperties = &integrationAccountMapProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + iam.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + iam.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + iam.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + iam.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + iam.Tags = tags + } + } + } + + return nil +} + +// IntegrationAccountMapFilter the integration account map filter for odata query. +type IntegrationAccountMapFilter struct { + // MapType - The map type of integration account map. Possible values include: 'MapTypeNotSpecified', 'MapTypeXslt', 'MapTypeXslt20', 'MapTypeXslt30', 'MapTypeLiquid' + MapType MapType `json:"mapType,omitempty"` +} + +// IntegrationAccountMapListResult the list of integration account maps. +type IntegrationAccountMapListResult struct { + autorest.Response `json:"-"` + // Value - The list of integration account maps. + Value *[]IntegrationAccountMap `json:"value,omitempty"` + // NextLink - The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// IntegrationAccountMapListResultIterator provides access to a complete listing of IntegrationAccountMap +// values. +type IntegrationAccountMapListResultIterator struct { + i int + page IntegrationAccountMapListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *IntegrationAccountMapListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationAccountMapListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *IntegrationAccountMapListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter IntegrationAccountMapListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter IntegrationAccountMapListResultIterator) Response() IntegrationAccountMapListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter IntegrationAccountMapListResultIterator) Value() IntegrationAccountMap { + if !iter.page.NotDone() { + return IntegrationAccountMap{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the IntegrationAccountMapListResultIterator type. +func NewIntegrationAccountMapListResultIterator(page IntegrationAccountMapListResultPage) IntegrationAccountMapListResultIterator { + return IntegrationAccountMapListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (iamlr IntegrationAccountMapListResult) IsEmpty() bool { + return iamlr.Value == nil || len(*iamlr.Value) == 0 +} + +// integrationAccountMapListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (iamlr IntegrationAccountMapListResult) integrationAccountMapListResultPreparer(ctx context.Context) (*http.Request, error) { + if iamlr.NextLink == nil || len(to.String(iamlr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(iamlr.NextLink))) +} + +// IntegrationAccountMapListResultPage contains a page of IntegrationAccountMap values. +type IntegrationAccountMapListResultPage struct { + fn func(context.Context, IntegrationAccountMapListResult) (IntegrationAccountMapListResult, error) + iamlr IntegrationAccountMapListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *IntegrationAccountMapListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationAccountMapListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.iamlr) + if err != nil { + return err + } + page.iamlr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *IntegrationAccountMapListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page IntegrationAccountMapListResultPage) NotDone() bool { + return !page.iamlr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page IntegrationAccountMapListResultPage) Response() IntegrationAccountMapListResult { + return page.iamlr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page IntegrationAccountMapListResultPage) Values() []IntegrationAccountMap { + if page.iamlr.IsEmpty() { + return nil + } + return *page.iamlr.Value +} + +// Creates a new instance of the IntegrationAccountMapListResultPage type. +func NewIntegrationAccountMapListResultPage(getNextPage func(context.Context, IntegrationAccountMapListResult) (IntegrationAccountMapListResult, error)) IntegrationAccountMapListResultPage { + return IntegrationAccountMapListResultPage{fn: getNextPage} +} + +// IntegrationAccountMapProperties the integration account map. +type IntegrationAccountMapProperties struct { + // MapType - The map type. Possible values include: 'MapTypeNotSpecified', 'MapTypeXslt', 'MapTypeXslt20', 'MapTypeXslt30', 'MapTypeLiquid' + MapType MapType `json:"mapType,omitempty"` + // ParametersSchema - The parameters schema of integration account map. + ParametersSchema *IntegrationAccountMapPropertiesParametersSchema `json:"parametersSchema,omitempty"` + // CreatedTime - READ-ONLY; The created time. + CreatedTime *date.Time `json:"createdTime,omitempty"` + // ChangedTime - READ-ONLY; The changed time. + ChangedTime *date.Time `json:"changedTime,omitempty"` + // Content - The content. + Content *string `json:"content,omitempty"` + // ContentType - The content type. + ContentType *string `json:"contentType,omitempty"` + // ContentLink - READ-ONLY; The content link. + ContentLink *ContentLink `json:"contentLink,omitempty"` + // Metadata - The metadata. + Metadata interface{} `json:"metadata,omitempty"` +} + +// IntegrationAccountMapPropertiesParametersSchema the parameters schema of integration account map. +type IntegrationAccountMapPropertiesParametersSchema struct { + // Ref - The reference name. + Ref *string `json:"ref,omitempty"` +} + +// IntegrationAccountPartner the integration account partner. +type IntegrationAccountPartner struct { + autorest.Response `json:"-"` + // IntegrationAccountPartnerProperties - The integration account partner properties. + *IntegrationAccountPartnerProperties `json:"properties,omitempty"` + // ID - READ-ONLY; The resource id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Gets the resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Gets the resource type. + Type *string `json:"type,omitempty"` + // Location - The resource location. + Location *string `json:"location,omitempty"` + // Tags - The resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for IntegrationAccountPartner. +func (iap IntegrationAccountPartner) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if iap.IntegrationAccountPartnerProperties != nil { + objectMap["properties"] = iap.IntegrationAccountPartnerProperties + } + if iap.Location != nil { + objectMap["location"] = iap.Location + } + if iap.Tags != nil { + objectMap["tags"] = iap.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for IntegrationAccountPartner struct. +func (iap *IntegrationAccountPartner) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var integrationAccountPartnerProperties IntegrationAccountPartnerProperties + err = json.Unmarshal(*v, &integrationAccountPartnerProperties) + if err != nil { + return err + } + iap.IntegrationAccountPartnerProperties = &integrationAccountPartnerProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + iap.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + iap.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + iap.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + iap.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + iap.Tags = tags + } + } + } + + return nil +} + +// IntegrationAccountPartnerFilter the integration account partner filter for odata query. +type IntegrationAccountPartnerFilter struct { + // PartnerType - The partner type of integration account partner. Possible values include: 'PartnerTypeNotSpecified', 'PartnerTypeB2B' + PartnerType PartnerType `json:"partnerType,omitempty"` +} + +// IntegrationAccountPartnerListResult the list of integration account partners. +type IntegrationAccountPartnerListResult struct { + autorest.Response `json:"-"` + // Value - The list of integration account partners. + Value *[]IntegrationAccountPartner `json:"value,omitempty"` + // NextLink - The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// IntegrationAccountPartnerListResultIterator provides access to a complete listing of +// IntegrationAccountPartner values. +type IntegrationAccountPartnerListResultIterator struct { + i int + page IntegrationAccountPartnerListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *IntegrationAccountPartnerListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationAccountPartnerListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *IntegrationAccountPartnerListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter IntegrationAccountPartnerListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter IntegrationAccountPartnerListResultIterator) Response() IntegrationAccountPartnerListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter IntegrationAccountPartnerListResultIterator) Value() IntegrationAccountPartner { + if !iter.page.NotDone() { + return IntegrationAccountPartner{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the IntegrationAccountPartnerListResultIterator type. +func NewIntegrationAccountPartnerListResultIterator(page IntegrationAccountPartnerListResultPage) IntegrationAccountPartnerListResultIterator { + return IntegrationAccountPartnerListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (iaplr IntegrationAccountPartnerListResult) IsEmpty() bool { + return iaplr.Value == nil || len(*iaplr.Value) == 0 +} + +// integrationAccountPartnerListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (iaplr IntegrationAccountPartnerListResult) integrationAccountPartnerListResultPreparer(ctx context.Context) (*http.Request, error) { + if iaplr.NextLink == nil || len(to.String(iaplr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(iaplr.NextLink))) +} + +// IntegrationAccountPartnerListResultPage contains a page of IntegrationAccountPartner values. +type IntegrationAccountPartnerListResultPage struct { + fn func(context.Context, IntegrationAccountPartnerListResult) (IntegrationAccountPartnerListResult, error) + iaplr IntegrationAccountPartnerListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *IntegrationAccountPartnerListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationAccountPartnerListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.iaplr) + if err != nil { + return err + } + page.iaplr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *IntegrationAccountPartnerListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page IntegrationAccountPartnerListResultPage) NotDone() bool { + return !page.iaplr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page IntegrationAccountPartnerListResultPage) Response() IntegrationAccountPartnerListResult { + return page.iaplr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page IntegrationAccountPartnerListResultPage) Values() []IntegrationAccountPartner { + if page.iaplr.IsEmpty() { + return nil + } + return *page.iaplr.Value +} + +// Creates a new instance of the IntegrationAccountPartnerListResultPage type. +func NewIntegrationAccountPartnerListResultPage(getNextPage func(context.Context, IntegrationAccountPartnerListResult) (IntegrationAccountPartnerListResult, error)) IntegrationAccountPartnerListResultPage { + return IntegrationAccountPartnerListResultPage{fn: getNextPage} +} + +// IntegrationAccountPartnerProperties the integration account partner properties. +type IntegrationAccountPartnerProperties struct { + // PartnerType - The partner type. Possible values include: 'PartnerTypeNotSpecified', 'PartnerTypeB2B' + PartnerType PartnerType `json:"partnerType,omitempty"` + // CreatedTime - READ-ONLY; The created time. + CreatedTime *date.Time `json:"createdTime,omitempty"` + // ChangedTime - READ-ONLY; The changed time. + ChangedTime *date.Time `json:"changedTime,omitempty"` + // Metadata - The metadata. + Metadata interface{} `json:"metadata,omitempty"` + // Content - The partner content. + Content *PartnerContent `json:"content,omitempty"` +} + +// IntegrationAccountProperties the integration account properties. +type IntegrationAccountProperties struct { + // IntegrationServiceEnvironment - The integration service environment. + IntegrationServiceEnvironment *IntegrationServiceEnvironment `json:"integrationServiceEnvironment,omitempty"` + // State - The workflow state. Possible values include: 'WorkflowStateNotSpecified', 'WorkflowStateCompleted', 'WorkflowStateEnabled', 'WorkflowStateDisabled', 'WorkflowStateDeleted', 'WorkflowStateSuspended' + State WorkflowState `json:"state,omitempty"` +} + +// IntegrationAccountSchema the integration account schema. +type IntegrationAccountSchema struct { + autorest.Response `json:"-"` + // IntegrationAccountSchemaProperties - The integration account schema properties. + *IntegrationAccountSchemaProperties `json:"properties,omitempty"` + // ID - READ-ONLY; The resource id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Gets the resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Gets the resource type. + Type *string `json:"type,omitempty"` + // Location - The resource location. + Location *string `json:"location,omitempty"` + // Tags - The resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for IntegrationAccountSchema. +func (ias IntegrationAccountSchema) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if ias.IntegrationAccountSchemaProperties != nil { + objectMap["properties"] = ias.IntegrationAccountSchemaProperties + } + if ias.Location != nil { + objectMap["location"] = ias.Location + } + if ias.Tags != nil { + objectMap["tags"] = ias.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for IntegrationAccountSchema struct. +func (ias *IntegrationAccountSchema) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var integrationAccountSchemaProperties IntegrationAccountSchemaProperties + err = json.Unmarshal(*v, &integrationAccountSchemaProperties) + if err != nil { + return err + } + ias.IntegrationAccountSchemaProperties = &integrationAccountSchemaProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + ias.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + ias.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ias.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + ias.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + ias.Tags = tags + } + } + } + + return nil +} + +// IntegrationAccountSchemaFilter the integration account schema filter for odata query. +type IntegrationAccountSchemaFilter struct { + // SchemaType - The schema type of integration account schema. Possible values include: 'SchemaTypeNotSpecified', 'SchemaTypeXML' + SchemaType SchemaType `json:"schemaType,omitempty"` +} + +// IntegrationAccountSchemaListResult the list of integration account schemas. +type IntegrationAccountSchemaListResult struct { + autorest.Response `json:"-"` + // Value - The list of integration account schemas. + Value *[]IntegrationAccountSchema `json:"value,omitempty"` + // NextLink - The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// IntegrationAccountSchemaListResultIterator provides access to a complete listing of +// IntegrationAccountSchema values. +type IntegrationAccountSchemaListResultIterator struct { + i int + page IntegrationAccountSchemaListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *IntegrationAccountSchemaListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationAccountSchemaListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *IntegrationAccountSchemaListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter IntegrationAccountSchemaListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter IntegrationAccountSchemaListResultIterator) Response() IntegrationAccountSchemaListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter IntegrationAccountSchemaListResultIterator) Value() IntegrationAccountSchema { + if !iter.page.NotDone() { + return IntegrationAccountSchema{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the IntegrationAccountSchemaListResultIterator type. +func NewIntegrationAccountSchemaListResultIterator(page IntegrationAccountSchemaListResultPage) IntegrationAccountSchemaListResultIterator { + return IntegrationAccountSchemaListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (iaslr IntegrationAccountSchemaListResult) IsEmpty() bool { + return iaslr.Value == nil || len(*iaslr.Value) == 0 +} + +// integrationAccountSchemaListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (iaslr IntegrationAccountSchemaListResult) integrationAccountSchemaListResultPreparer(ctx context.Context) (*http.Request, error) { + if iaslr.NextLink == nil || len(to.String(iaslr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(iaslr.NextLink))) +} + +// IntegrationAccountSchemaListResultPage contains a page of IntegrationAccountSchema values. +type IntegrationAccountSchemaListResultPage struct { + fn func(context.Context, IntegrationAccountSchemaListResult) (IntegrationAccountSchemaListResult, error) + iaslr IntegrationAccountSchemaListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *IntegrationAccountSchemaListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationAccountSchemaListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.iaslr) + if err != nil { + return err + } + page.iaslr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *IntegrationAccountSchemaListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page IntegrationAccountSchemaListResultPage) NotDone() bool { + return !page.iaslr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page IntegrationAccountSchemaListResultPage) Response() IntegrationAccountSchemaListResult { + return page.iaslr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page IntegrationAccountSchemaListResultPage) Values() []IntegrationAccountSchema { + if page.iaslr.IsEmpty() { + return nil + } + return *page.iaslr.Value +} + +// Creates a new instance of the IntegrationAccountSchemaListResultPage type. +func NewIntegrationAccountSchemaListResultPage(getNextPage func(context.Context, IntegrationAccountSchemaListResult) (IntegrationAccountSchemaListResult, error)) IntegrationAccountSchemaListResultPage { + return IntegrationAccountSchemaListResultPage{fn: getNextPage} +} + +// IntegrationAccountSchemaProperties the integration account schema properties. +type IntegrationAccountSchemaProperties struct { + // SchemaType - The schema type. Possible values include: 'SchemaTypeNotSpecified', 'SchemaTypeXML' + SchemaType SchemaType `json:"schemaType,omitempty"` + // TargetNamespace - The target namespace of the schema. + TargetNamespace *string `json:"targetNamespace,omitempty"` + // DocumentName - The document name. + DocumentName *string `json:"documentName,omitempty"` + // FileName - The file name. + FileName *string `json:"fileName,omitempty"` + // CreatedTime - READ-ONLY; The created time. + CreatedTime *date.Time `json:"createdTime,omitempty"` + // ChangedTime - READ-ONLY; The changed time. + ChangedTime *date.Time `json:"changedTime,omitempty"` + // Metadata - The metadata. + Metadata interface{} `json:"metadata,omitempty"` + // Content - The content. + Content *string `json:"content,omitempty"` + // ContentType - The content type. + ContentType *string `json:"contentType,omitempty"` + // ContentLink - READ-ONLY; The content link. + ContentLink *ContentLink `json:"contentLink,omitempty"` +} + +// IntegrationAccountSession the integration account session. +type IntegrationAccountSession struct { + autorest.Response `json:"-"` + // IntegrationAccountSessionProperties - The integration account session properties. + *IntegrationAccountSessionProperties `json:"properties,omitempty"` + // ID - READ-ONLY; The resource id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Gets the resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Gets the resource type. + Type *string `json:"type,omitempty"` + // Location - The resource location. + Location *string `json:"location,omitempty"` + // Tags - The resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for IntegrationAccountSession. +func (ias IntegrationAccountSession) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if ias.IntegrationAccountSessionProperties != nil { + objectMap["properties"] = ias.IntegrationAccountSessionProperties + } + if ias.Location != nil { + objectMap["location"] = ias.Location + } + if ias.Tags != nil { + objectMap["tags"] = ias.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for IntegrationAccountSession struct. +func (ias *IntegrationAccountSession) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var integrationAccountSessionProperties IntegrationAccountSessionProperties + err = json.Unmarshal(*v, &integrationAccountSessionProperties) + if err != nil { + return err + } + ias.IntegrationAccountSessionProperties = &integrationAccountSessionProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + ias.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + ias.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ias.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + ias.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + ias.Tags = tags + } + } + } + + return nil +} + +// IntegrationAccountSessionFilter the integration account session filter. +type IntegrationAccountSessionFilter struct { + // ChangedTime - The changed time of integration account sessions. + ChangedTime *date.Time `json:"changedTime,omitempty"` +} + +// IntegrationAccountSessionListResult the list of integration account sessions. +type IntegrationAccountSessionListResult struct { + autorest.Response `json:"-"` + // Value - The list of integration account sessions. + Value *[]IntegrationAccountSession `json:"value,omitempty"` + // NextLink - The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// IntegrationAccountSessionListResultIterator provides access to a complete listing of +// IntegrationAccountSession values. +type IntegrationAccountSessionListResultIterator struct { + i int + page IntegrationAccountSessionListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *IntegrationAccountSessionListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationAccountSessionListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *IntegrationAccountSessionListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter IntegrationAccountSessionListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter IntegrationAccountSessionListResultIterator) Response() IntegrationAccountSessionListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter IntegrationAccountSessionListResultIterator) Value() IntegrationAccountSession { + if !iter.page.NotDone() { + return IntegrationAccountSession{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the IntegrationAccountSessionListResultIterator type. +func NewIntegrationAccountSessionListResultIterator(page IntegrationAccountSessionListResultPage) IntegrationAccountSessionListResultIterator { + return IntegrationAccountSessionListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (iaslr IntegrationAccountSessionListResult) IsEmpty() bool { + return iaslr.Value == nil || len(*iaslr.Value) == 0 +} + +// integrationAccountSessionListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (iaslr IntegrationAccountSessionListResult) integrationAccountSessionListResultPreparer(ctx context.Context) (*http.Request, error) { + if iaslr.NextLink == nil || len(to.String(iaslr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(iaslr.NextLink))) +} + +// IntegrationAccountSessionListResultPage contains a page of IntegrationAccountSession values. +type IntegrationAccountSessionListResultPage struct { + fn func(context.Context, IntegrationAccountSessionListResult) (IntegrationAccountSessionListResult, error) + iaslr IntegrationAccountSessionListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *IntegrationAccountSessionListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationAccountSessionListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.iaslr) + if err != nil { + return err + } + page.iaslr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *IntegrationAccountSessionListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page IntegrationAccountSessionListResultPage) NotDone() bool { + return !page.iaslr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page IntegrationAccountSessionListResultPage) Response() IntegrationAccountSessionListResult { + return page.iaslr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page IntegrationAccountSessionListResultPage) Values() []IntegrationAccountSession { + if page.iaslr.IsEmpty() { + return nil + } + return *page.iaslr.Value +} + +// Creates a new instance of the IntegrationAccountSessionListResultPage type. +func NewIntegrationAccountSessionListResultPage(getNextPage func(context.Context, IntegrationAccountSessionListResult) (IntegrationAccountSessionListResult, error)) IntegrationAccountSessionListResultPage { + return IntegrationAccountSessionListResultPage{fn: getNextPage} +} + +// IntegrationAccountSessionProperties the integration account session properties. +type IntegrationAccountSessionProperties struct { + // CreatedTime - READ-ONLY; The created time. + CreatedTime *date.Time `json:"createdTime,omitempty"` + // ChangedTime - READ-ONLY; The changed time. + ChangedTime *date.Time `json:"changedTime,omitempty"` + // Content - The session content. + Content interface{} `json:"content,omitempty"` +} + +// IntegrationAccountSku the integration account sku. +type IntegrationAccountSku struct { + // Name - The sku name. Possible values include: 'IntegrationAccountSkuNameNotSpecified', 'IntegrationAccountSkuNameFree', 'IntegrationAccountSkuNameBasic', 'IntegrationAccountSkuNameStandard' + Name IntegrationAccountSkuName `json:"name,omitempty"` +} + +// IntegrationServiceEnvironment the integration service environment. +type IntegrationServiceEnvironment struct { + autorest.Response `json:"-"` + // Properties - The integration service environment properties. + Properties *IntegrationServiceEnvironmentProperties `json:"properties,omitempty"` + // Sku - The sku. + Sku *IntegrationServiceEnvironmentSku `json:"sku,omitempty"` + // ID - READ-ONLY; The resource id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Gets the resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Gets the resource type. + Type *string `json:"type,omitempty"` + // Location - The resource location. + Location *string `json:"location,omitempty"` + // Tags - The resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for IntegrationServiceEnvironment. +func (ise IntegrationServiceEnvironment) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if ise.Properties != nil { + objectMap["properties"] = ise.Properties + } + if ise.Sku != nil { + objectMap["sku"] = ise.Sku + } + if ise.Location != nil { + objectMap["location"] = ise.Location + } + if ise.Tags != nil { + objectMap["tags"] = ise.Tags + } + return json.Marshal(objectMap) +} + +// IntegrationServiceEnvironmentAccessEndpoint the integration service environment access endpoint. +type IntegrationServiceEnvironmentAccessEndpoint struct { + // Type - The access endpoint type. Possible values include: 'IntegrationServiceEnvironmentAccessEndpointTypeNotSpecified', 'IntegrationServiceEnvironmentAccessEndpointTypeExternal', 'IntegrationServiceEnvironmentAccessEndpointTypeInternal' + Type IntegrationServiceEnvironmentAccessEndpointType `json:"type,omitempty"` +} + +// IntegrationServiceEnvironmentListResult the list of integration service environments. +type IntegrationServiceEnvironmentListResult struct { + autorest.Response `json:"-"` + Value *[]IntegrationServiceEnvironment `json:"value,omitempty"` + // NextLink - The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// IntegrationServiceEnvironmentListResultIterator provides access to a complete listing of +// IntegrationServiceEnvironment values. +type IntegrationServiceEnvironmentListResultIterator struct { + i int + page IntegrationServiceEnvironmentListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *IntegrationServiceEnvironmentListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationServiceEnvironmentListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *IntegrationServiceEnvironmentListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter IntegrationServiceEnvironmentListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter IntegrationServiceEnvironmentListResultIterator) Response() IntegrationServiceEnvironmentListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter IntegrationServiceEnvironmentListResultIterator) Value() IntegrationServiceEnvironment { + if !iter.page.NotDone() { + return IntegrationServiceEnvironment{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the IntegrationServiceEnvironmentListResultIterator type. +func NewIntegrationServiceEnvironmentListResultIterator(page IntegrationServiceEnvironmentListResultPage) IntegrationServiceEnvironmentListResultIterator { + return IntegrationServiceEnvironmentListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (iselr IntegrationServiceEnvironmentListResult) IsEmpty() bool { + return iselr.Value == nil || len(*iselr.Value) == 0 +} + +// integrationServiceEnvironmentListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (iselr IntegrationServiceEnvironmentListResult) integrationServiceEnvironmentListResultPreparer(ctx context.Context) (*http.Request, error) { + if iselr.NextLink == nil || len(to.String(iselr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(iselr.NextLink))) +} + +// IntegrationServiceEnvironmentListResultPage contains a page of IntegrationServiceEnvironment values. +type IntegrationServiceEnvironmentListResultPage struct { + fn func(context.Context, IntegrationServiceEnvironmentListResult) (IntegrationServiceEnvironmentListResult, error) + iselr IntegrationServiceEnvironmentListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *IntegrationServiceEnvironmentListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationServiceEnvironmentListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.iselr) + if err != nil { + return err + } + page.iselr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *IntegrationServiceEnvironmentListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page IntegrationServiceEnvironmentListResultPage) NotDone() bool { + return !page.iselr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page IntegrationServiceEnvironmentListResultPage) Response() IntegrationServiceEnvironmentListResult { + return page.iselr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page IntegrationServiceEnvironmentListResultPage) Values() []IntegrationServiceEnvironment { + if page.iselr.IsEmpty() { + return nil + } + return *page.iselr.Value +} + +// Creates a new instance of the IntegrationServiceEnvironmentListResultPage type. +func NewIntegrationServiceEnvironmentListResultPage(getNextPage func(context.Context, IntegrationServiceEnvironmentListResult) (IntegrationServiceEnvironmentListResult, error)) IntegrationServiceEnvironmentListResultPage { + return IntegrationServiceEnvironmentListResultPage{fn: getNextPage} +} + +// IntegrationServiceEnvironmentManagedApisDeleteFuture an abstraction for monitoring and retrieving the +// results of a long-running operation. +type IntegrationServiceEnvironmentManagedApisDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *IntegrationServiceEnvironmentManagedApisDeleteFuture) Result(client IntegrationServiceEnvironmentManagedApisClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationServiceEnvironmentManagedApisDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("logic.IntegrationServiceEnvironmentManagedApisDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// IntegrationServiceEnvironmentManagedApisPutFuture an abstraction for monitoring and retrieving the +// results of a long-running operation. +type IntegrationServiceEnvironmentManagedApisPutFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *IntegrationServiceEnvironmentManagedApisPutFuture) Result(client IntegrationServiceEnvironmentManagedApisClient) (ma ManagedAPI, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationServiceEnvironmentManagedApisPutFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("logic.IntegrationServiceEnvironmentManagedApisPutFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if ma.Response.Response, err = future.GetResult(sender); err == nil && ma.Response.Response.StatusCode != http.StatusNoContent { + ma, err = client.PutResponder(ma.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationServiceEnvironmentManagedApisPutFuture", "Result", ma.Response.Response, "Failure responding to request") + } + } + return +} + +// IntegrationServiceEnvironmentNetworkDependency the azure async operation resource. +type IntegrationServiceEnvironmentNetworkDependency struct { + // Category - The network dependency category type. Possible values include: 'IntegrationServiceEnvironmentNetworkDependencyCategoryTypeNotSpecified', 'IntegrationServiceEnvironmentNetworkDependencyCategoryTypeAzureStorage', 'IntegrationServiceEnvironmentNetworkDependencyCategoryTypeAzureManagement', 'IntegrationServiceEnvironmentNetworkDependencyCategoryTypeAzureActiveDirectory', 'IntegrationServiceEnvironmentNetworkDependencyCategoryTypeSSLCertificateVerification', 'IntegrationServiceEnvironmentNetworkDependencyCategoryTypeDiagnosticLogsAndMetrics', 'IntegrationServiceEnvironmentNetworkDependencyCategoryTypeIntegrationServiceEnvironmentConnectors', 'IntegrationServiceEnvironmentNetworkDependencyCategoryTypeRedisCache', 'IntegrationServiceEnvironmentNetworkDependencyCategoryTypeAccessEndpoints', 'IntegrationServiceEnvironmentNetworkDependencyCategoryTypeRecoveryService', 'IntegrationServiceEnvironmentNetworkDependencyCategoryTypeSQL', 'IntegrationServiceEnvironmentNetworkDependencyCategoryTypeRegionalService' + Category IntegrationServiceEnvironmentNetworkDependencyCategoryType `json:"category,omitempty"` + // DisplayName - The display name. + DisplayName *string `json:"displayName,omitempty"` + // Endpoints - The endpoints. + Endpoints *[]IntegrationServiceEnvironmentNetworkEndpoint `json:"endpoints,omitempty"` +} + +// IntegrationServiceEnvironmentNetworkDependencyHealth the integration service environment subnet network +// health. +type IntegrationServiceEnvironmentNetworkDependencyHealth struct { + // Error - The error if any occurred during the operation. + Error *ExtendedErrorInfo `json:"error,omitempty"` + // State - The network dependency health state. Possible values include: 'IntegrationServiceEnvironmentNetworkDependencyHealthStateNotSpecified', 'IntegrationServiceEnvironmentNetworkDependencyHealthStateHealthy', 'IntegrationServiceEnvironmentNetworkDependencyHealthStateUnhealthy', 'IntegrationServiceEnvironmentNetworkDependencyHealthStateUnknown' + State IntegrationServiceEnvironmentNetworkDependencyHealthState `json:"state,omitempty"` +} + +// IntegrationServiceEnvironmentNetworkEndpoint the network endpoint. +type IntegrationServiceEnvironmentNetworkEndpoint struct { + // Accessibility - The accessibility state. Possible values include: 'IntegrationServiceEnvironmentNetworkEndPointAccessibilityStateNotSpecified', 'IntegrationServiceEnvironmentNetworkEndPointAccessibilityStateUnknown', 'IntegrationServiceEnvironmentNetworkEndPointAccessibilityStateAvailable', 'IntegrationServiceEnvironmentNetworkEndPointAccessibilityStateNotAvailable' + Accessibility IntegrationServiceEnvironmentNetworkEndPointAccessibilityState `json:"accessibility,omitempty"` + // DomainName - The domain name. + DomainName *string `json:"domainName,omitempty"` + // Ports - The ports. + Ports *[]string `json:"ports,omitempty"` +} + +// IntegrationServiceEnvironmentProperties the integration service environment properties. +type IntegrationServiceEnvironmentProperties struct { + // ProvisioningState - The provisioning state. Possible values include: 'WorkflowProvisioningStateNotSpecified', 'WorkflowProvisioningStateAccepted', 'WorkflowProvisioningStateRunning', 'WorkflowProvisioningStateReady', 'WorkflowProvisioningStateCreating', 'WorkflowProvisioningStateCreated', 'WorkflowProvisioningStateDeleting', 'WorkflowProvisioningStateDeleted', 'WorkflowProvisioningStateCanceled', 'WorkflowProvisioningStateFailed', 'WorkflowProvisioningStateSucceeded', 'WorkflowProvisioningStateMoving', 'WorkflowProvisioningStateUpdating', 'WorkflowProvisioningStateRegistering', 'WorkflowProvisioningStateRegistered', 'WorkflowProvisioningStateUnregistering', 'WorkflowProvisioningStateUnregistered', 'WorkflowProvisioningStateCompleted' + ProvisioningState WorkflowProvisioningState `json:"provisioningState,omitempty"` + // State - The integration service environment state. Possible values include: 'WorkflowStateNotSpecified', 'WorkflowStateCompleted', 'WorkflowStateEnabled', 'WorkflowStateDisabled', 'WorkflowStateDeleted', 'WorkflowStateSuspended' + State WorkflowState `json:"state,omitempty"` + // IntegrationServiceEnvironmentID - Gets the tracking id. + IntegrationServiceEnvironmentID *string `json:"integrationServiceEnvironmentId,omitempty"` + // EndpointsConfiguration - The endpoints configuration. + EndpointsConfiguration *FlowEndpointsConfiguration `json:"endpointsConfiguration,omitempty"` + // NetworkConfiguration - The network configuration. + NetworkConfiguration *NetworkConfiguration `json:"networkConfiguration,omitempty"` +} + +// IntegrationServiceEnvironmentsCreateOrUpdateFuture an abstraction for monitoring and retrieving the +// results of a long-running operation. +type IntegrationServiceEnvironmentsCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *IntegrationServiceEnvironmentsCreateOrUpdateFuture) Result(client IntegrationServiceEnvironmentsClient) (ise IntegrationServiceEnvironment, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationServiceEnvironmentsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("logic.IntegrationServiceEnvironmentsCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if ise.Response.Response, err = future.GetResult(sender); err == nil && ise.Response.Response.StatusCode != http.StatusNoContent { + ise, err = client.CreateOrUpdateResponder(ise.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationServiceEnvironmentsCreateOrUpdateFuture", "Result", ise.Response.Response, "Failure responding to request") + } + } + return +} + +// IntegrationServiceEnvironmentSku the integration service environment sku. +type IntegrationServiceEnvironmentSku struct { + // Name - The sku name. Possible values include: 'IntegrationServiceEnvironmentSkuNameNotSpecified', 'IntegrationServiceEnvironmentSkuNamePremium', 'IntegrationServiceEnvironmentSkuNameDeveloper' + Name IntegrationServiceEnvironmentSkuName `json:"name,omitempty"` + // Capacity - The sku capacity. + Capacity *int32 `json:"capacity,omitempty"` +} + +// IntegrationServiceEnvironmentSkuCapacity the integration service environment sku capacity. +type IntegrationServiceEnvironmentSkuCapacity struct { + // Minimum - The minimum capacity. + Minimum *int32 `json:"minimum,omitempty"` + // Maximum - The maximum capacity. + Maximum *int32 `json:"maximum,omitempty"` + // Default - The default capacity. + Default *int32 `json:"default,omitempty"` + // ScaleType - The sku scale type. Possible values include: 'Manual', 'Automatic', 'None' + ScaleType IntegrationServiceEnvironmentSkuScaleType `json:"scaleType,omitempty"` +} + +// IntegrationServiceEnvironmentSkuDefinition the integration service environment sku definition. +type IntegrationServiceEnvironmentSkuDefinition struct { + // ResourceType - The resource type. + ResourceType *string `json:"resourceType,omitempty"` + // Sku - The sku. + Sku *IntegrationServiceEnvironmentSkuDefinitionSku `json:"sku,omitempty"` + // Capacity - The sku capacity. + Capacity *IntegrationServiceEnvironmentSkuCapacity `json:"capacity,omitempty"` +} + +// IntegrationServiceEnvironmentSkuDefinitionSku the sku. +type IntegrationServiceEnvironmentSkuDefinitionSku struct { + // Name - The sku name. Possible values include: 'IntegrationServiceEnvironmentSkuNameNotSpecified', 'IntegrationServiceEnvironmentSkuNamePremium', 'IntegrationServiceEnvironmentSkuNameDeveloper' + Name IntegrationServiceEnvironmentSkuName `json:"name,omitempty"` + // Tier - The sku tier. + Tier *string `json:"tier,omitempty"` +} + +// IntegrationServiceEnvironmentSkuList the list of integration service environment skus. +type IntegrationServiceEnvironmentSkuList struct { + autorest.Response `json:"-"` + // Value - The list of integration service environment skus. + Value *[]IntegrationServiceEnvironmentSkuDefinition `json:"value,omitempty"` + // NextLink - The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// IntegrationServiceEnvironmentSkuListIterator provides access to a complete listing of +// IntegrationServiceEnvironmentSkuDefinition values. +type IntegrationServiceEnvironmentSkuListIterator struct { + i int + page IntegrationServiceEnvironmentSkuListPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *IntegrationServiceEnvironmentSkuListIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationServiceEnvironmentSkuListIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *IntegrationServiceEnvironmentSkuListIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter IntegrationServiceEnvironmentSkuListIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter IntegrationServiceEnvironmentSkuListIterator) Response() IntegrationServiceEnvironmentSkuList { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter IntegrationServiceEnvironmentSkuListIterator) Value() IntegrationServiceEnvironmentSkuDefinition { + if !iter.page.NotDone() { + return IntegrationServiceEnvironmentSkuDefinition{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the IntegrationServiceEnvironmentSkuListIterator type. +func NewIntegrationServiceEnvironmentSkuListIterator(page IntegrationServiceEnvironmentSkuListPage) IntegrationServiceEnvironmentSkuListIterator { + return IntegrationServiceEnvironmentSkuListIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (isesl IntegrationServiceEnvironmentSkuList) IsEmpty() bool { + return isesl.Value == nil || len(*isesl.Value) == 0 +} + +// integrationServiceEnvironmentSkuListPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (isesl IntegrationServiceEnvironmentSkuList) integrationServiceEnvironmentSkuListPreparer(ctx context.Context) (*http.Request, error) { + if isesl.NextLink == nil || len(to.String(isesl.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(isesl.NextLink))) +} + +// IntegrationServiceEnvironmentSkuListPage contains a page of IntegrationServiceEnvironmentSkuDefinition +// values. +type IntegrationServiceEnvironmentSkuListPage struct { + fn func(context.Context, IntegrationServiceEnvironmentSkuList) (IntegrationServiceEnvironmentSkuList, error) + isesl IntegrationServiceEnvironmentSkuList +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *IntegrationServiceEnvironmentSkuListPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IntegrationServiceEnvironmentSkuListPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.isesl) + if err != nil { + return err + } + page.isesl = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *IntegrationServiceEnvironmentSkuListPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page IntegrationServiceEnvironmentSkuListPage) NotDone() bool { + return !page.isesl.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page IntegrationServiceEnvironmentSkuListPage) Response() IntegrationServiceEnvironmentSkuList { + return page.isesl +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page IntegrationServiceEnvironmentSkuListPage) Values() []IntegrationServiceEnvironmentSkuDefinition { + if page.isesl.IsEmpty() { + return nil + } + return *page.isesl.Value +} + +// Creates a new instance of the IntegrationServiceEnvironmentSkuListPage type. +func NewIntegrationServiceEnvironmentSkuListPage(getNextPage func(context.Context, IntegrationServiceEnvironmentSkuList) (IntegrationServiceEnvironmentSkuList, error)) IntegrationServiceEnvironmentSkuListPage { + return IntegrationServiceEnvironmentSkuListPage{fn: getNextPage} +} + +// IntegrationServiceEnvironmentSubnetNetworkHealth the integration service environment subnet network +// health. +type IntegrationServiceEnvironmentSubnetNetworkHealth struct { + // OutboundNetworkDependencies - The outbound network dependencies. + OutboundNetworkDependencies *[]IntegrationServiceEnvironmentNetworkDependency `json:"outboundNetworkDependencies,omitempty"` + // OutboundNetworkHealth - The integration service environment network health. + OutboundNetworkHealth *IntegrationServiceEnvironmentNetworkDependencyHealth `json:"outboundNetworkHealth,omitempty"` + // NetworkDependencyHealthState - The integration service environment network health state. Possible values include: 'IntegrationServiceEnvironmentNetworkEndPointAccessibilityStateNotSpecified', 'IntegrationServiceEnvironmentNetworkEndPointAccessibilityStateUnknown', 'IntegrationServiceEnvironmentNetworkEndPointAccessibilityStateAvailable', 'IntegrationServiceEnvironmentNetworkEndPointAccessibilityStateNotAvailable' + NetworkDependencyHealthState IntegrationServiceEnvironmentNetworkEndPointAccessibilityState `json:"networkDependencyHealthState,omitempty"` +} + +// IntegrationServiceEnvironmentsUpdateFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type IntegrationServiceEnvironmentsUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *IntegrationServiceEnvironmentsUpdateFuture) Result(client IntegrationServiceEnvironmentsClient) (ise IntegrationServiceEnvironment, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationServiceEnvironmentsUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("logic.IntegrationServiceEnvironmentsUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if ise.Response.Response, err = future.GetResult(sender); err == nil && ise.Response.Response.StatusCode != http.StatusNoContent { + ise, err = client.UpdateResponder(ise.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.IntegrationServiceEnvironmentsUpdateFuture", "Result", ise.Response.Response, "Failure responding to request") + } + } + return +} + +// IPAddress the ip address. +type IPAddress struct { + // Address - The address. + Address *string `json:"address,omitempty"` +} + +// JSONSchema the JSON schema. +type JSONSchema struct { + autorest.Response `json:"-"` + // Title - The JSON title. + Title *string `json:"title,omitempty"` + // Content - The JSON content. + Content *string `json:"content,omitempty"` +} + +// KeyVaultKey the key vault key. +type KeyVaultKey struct { + // Kid - The key id. + Kid *string `json:"kid,omitempty"` + // Attributes - The key attributes. + Attributes *KeyVaultKeyAttributes `json:"attributes,omitempty"` +} + +// KeyVaultKeyAttributes the key attributes. +type KeyVaultKeyAttributes struct { + // Enabled - Whether the key is enabled or not. + Enabled *bool `json:"enabled,omitempty"` + // Created - When the key was created. + Created *int64 `json:"created,omitempty"` + // Updated - When the key was updated. + Updated *int64 `json:"updated,omitempty"` +} + +// KeyVaultKeyCollection collection of key vault keys. +type KeyVaultKeyCollection struct { + autorest.Response `json:"-"` + // Value - The key vault keys. + Value *[]KeyVaultKey `json:"value,omitempty"` + // SkipToken - The skip token. + SkipToken *string `json:"skipToken,omitempty"` +} + +// KeyVaultKeyReference the reference to the key vault key. +type KeyVaultKeyReference struct { + // KeyVault - The key vault reference. + KeyVault *KeyVaultKeyReferenceKeyVault `json:"keyVault,omitempty"` + // KeyName - The private key name in key vault. + KeyName *string `json:"keyName,omitempty"` + // KeyVersion - The private key version in key vault. + KeyVersion *string `json:"keyVersion,omitempty"` +} + +// KeyVaultKeyReferenceKeyVault the key vault reference. +type KeyVaultKeyReferenceKeyVault struct { + // ID - The resource id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; The resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; The resource type. + Type *string `json:"type,omitempty"` +} + +// KeyVaultReference the key vault reference. +type KeyVaultReference struct { + // ID - The resource id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Gets the resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Gets the resource type. + Type *string `json:"type,omitempty"` +} + +// ListKeyVaultKeysDefinition the list key vault keys definition. +type ListKeyVaultKeysDefinition struct { + // KeyVault - The key vault reference. + KeyVault *KeyVaultReference `json:"keyVault,omitempty"` + // SkipToken - The skip token. + SkipToken *string `json:"skipToken,omitempty"` +} + +// ManagedAPI the managed api definition. +type ManagedAPI struct { + autorest.Response `json:"-"` + // Properties - The api resource properties. + Properties *APIResourceProperties `json:"properties,omitempty"` + // ID - READ-ONLY; The resource id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Gets the resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Gets the resource type. + Type *string `json:"type,omitempty"` + // Location - The resource location. + Location *string `json:"location,omitempty"` + // Tags - The resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for ManagedAPI. +func (ma ManagedAPI) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if ma.Properties != nil { + objectMap["properties"] = ma.Properties + } + if ma.Location != nil { + objectMap["location"] = ma.Location + } + if ma.Tags != nil { + objectMap["tags"] = ma.Tags + } + return json.Marshal(objectMap) +} + +// ManagedAPIListResult the list of managed APIs. +type ManagedAPIListResult struct { + autorest.Response `json:"-"` + // Value - The managed APIs. + Value *[]ManagedAPI `json:"value,omitempty"` + // NextLink - The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// ManagedAPIListResultIterator provides access to a complete listing of ManagedAPI values. +type ManagedAPIListResultIterator struct { + i int + page ManagedAPIListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *ManagedAPIListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ManagedAPIListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *ManagedAPIListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter ManagedAPIListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter ManagedAPIListResultIterator) Response() ManagedAPIListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter ManagedAPIListResultIterator) Value() ManagedAPI { + if !iter.page.NotDone() { + return ManagedAPI{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the ManagedAPIListResultIterator type. +func NewManagedAPIListResultIterator(page ManagedAPIListResultPage) ManagedAPIListResultIterator { + return ManagedAPIListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (malr ManagedAPIListResult) IsEmpty() bool { + return malr.Value == nil || len(*malr.Value) == 0 +} + +// managedAPIListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (malr ManagedAPIListResult) managedAPIListResultPreparer(ctx context.Context) (*http.Request, error) { + if malr.NextLink == nil || len(to.String(malr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(malr.NextLink))) +} + +// ManagedAPIListResultPage contains a page of ManagedAPI values. +type ManagedAPIListResultPage struct { + fn func(context.Context, ManagedAPIListResult) (ManagedAPIListResult, error) + malr ManagedAPIListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *ManagedAPIListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ManagedAPIListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.malr) + if err != nil { + return err + } + page.malr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *ManagedAPIListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page ManagedAPIListResultPage) NotDone() bool { + return !page.malr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page ManagedAPIListResultPage) Response() ManagedAPIListResult { + return page.malr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page ManagedAPIListResultPage) Values() []ManagedAPI { + if page.malr.IsEmpty() { + return nil + } + return *page.malr.Value +} + +// Creates a new instance of the ManagedAPIListResultPage type. +func NewManagedAPIListResultPage(getNextPage func(context.Context, ManagedAPIListResult) (ManagedAPIListResult, error)) ManagedAPIListResultPage { + return ManagedAPIListResultPage{fn: getNextPage} +} + +// NetworkConfiguration the network configuration. +type NetworkConfiguration struct { + // VirtualNetworkAddressSpace - Gets the virtual network address space. + VirtualNetworkAddressSpace *string `json:"virtualNetworkAddressSpace,omitempty"` + // AccessEndpoint - The access endpoint. + AccessEndpoint *IntegrationServiceEnvironmentAccessEndpoint `json:"accessEndpoint,omitempty"` + // Subnets - The subnets. + Subnets *[]ResourceReference `json:"subnets,omitempty"` +} + +// Operation logic REST API operation +type Operation struct { + // Name - Operation name: {provider}/{resource}/{operation} + Name *string `json:"name,omitempty"` + // Display - The object that represents the operation. + Display *OperationDisplay `json:"display,omitempty"` +} + +// OperationDisplay the object that represents the operation. +type OperationDisplay struct { + // Provider - Service provider: Microsoft.Logic + Provider *string `json:"provider,omitempty"` + // Resource - Resource on which the operation is performed: Profile, endpoint, etc. + Resource *string `json:"resource,omitempty"` + // Operation - Operation type: Read, write, delete, etc. + Operation *string `json:"operation,omitempty"` +} + +// OperationListResult result of the request to list Logic operations. It contains a list of operations and +// a URL link to get the next set of results. +type OperationListResult struct { + autorest.Response `json:"-"` + // Value - List of Logic operations supported by the Logic resource provider. + Value *[]Operation `json:"value,omitempty"` + // NextLink - URL to get the next set of operation list results if there are any. + NextLink *string `json:"nextLink,omitempty"` +} + +// OperationListResultIterator provides access to a complete listing of Operation values. +type OperationListResultIterator struct { + i int + page OperationListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *OperationListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/OperationListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *OperationListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter OperationListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter OperationListResultIterator) Response() OperationListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter OperationListResultIterator) Value() Operation { + if !iter.page.NotDone() { + return Operation{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the OperationListResultIterator type. +func NewOperationListResultIterator(page OperationListResultPage) OperationListResultIterator { + return OperationListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (olr OperationListResult) IsEmpty() bool { + return olr.Value == nil || len(*olr.Value) == 0 +} + +// operationListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (olr OperationListResult) operationListResultPreparer(ctx context.Context) (*http.Request, error) { + if olr.NextLink == nil || len(to.String(olr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(olr.NextLink))) +} + +// OperationListResultPage contains a page of Operation values. +type OperationListResultPage struct { + fn func(context.Context, OperationListResult) (OperationListResult, error) + olr OperationListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *OperationListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/OperationListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.olr) + if err != nil { + return err + } + page.olr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *OperationListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page OperationListResultPage) NotDone() bool { + return !page.olr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page OperationListResultPage) Response() OperationListResult { + return page.olr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page OperationListResultPage) Values() []Operation { + if page.olr.IsEmpty() { + return nil + } + return *page.olr.Value +} + +// Creates a new instance of the OperationListResultPage type. +func NewOperationListResultPage(getNextPage func(context.Context, OperationListResult) (OperationListResult, error)) OperationListResultPage { + return OperationListResultPage{fn: getNextPage} +} + +// OperationResult the operation result definition. +type OperationResult struct { + // TrackingID - READ-ONLY; Gets the tracking id. + TrackingID *string `json:"trackingId,omitempty"` + // Inputs - READ-ONLY; Gets the inputs. + Inputs interface{} `json:"inputs,omitempty"` + // InputsLink - READ-ONLY; Gets the link to inputs. + InputsLink *ContentLink `json:"inputsLink,omitempty"` + // Outputs - READ-ONLY; Gets the outputs. + Outputs interface{} `json:"outputs,omitempty"` + // OutputsLink - READ-ONLY; Gets the link to outputs. + OutputsLink *ContentLink `json:"outputsLink,omitempty"` + // TrackedProperties - READ-ONLY; Gets the tracked properties. + TrackedProperties interface{} `json:"trackedProperties,omitempty"` + // RetryHistory - Gets the retry histories. + RetryHistory *[]RetryHistory `json:"retryHistory,omitempty"` + IterationCount *int32 `json:"iterationCount,omitempty"` + // StartTime - The start time of the workflow scope repetition. + StartTime *date.Time `json:"startTime,omitempty"` + // EndTime - The end time of the workflow scope repetition. + EndTime *date.Time `json:"endTime,omitempty"` + // Correlation - The correlation properties. + Correlation *RunActionCorrelation `json:"correlation,omitempty"` + // Status - The status of the workflow scope repetition. Possible values include: 'WorkflowStatusNotSpecified', 'WorkflowStatusPaused', 'WorkflowStatusRunning', 'WorkflowStatusWaiting', 'WorkflowStatusSucceeded', 'WorkflowStatusSkipped', 'WorkflowStatusSuspended', 'WorkflowStatusCancelled', 'WorkflowStatusFailed', 'WorkflowStatusFaulted', 'WorkflowStatusTimedOut', 'WorkflowStatusAborted', 'WorkflowStatusIgnored' + Status WorkflowStatus `json:"status,omitempty"` + // Code - The workflow scope repetition code. + Code *string `json:"code,omitempty"` + Error interface{} `json:"error,omitempty"` +} + +// OperationResultProperties the run operation result properties. +type OperationResultProperties struct { + // StartTime - The start time of the workflow scope repetition. + StartTime *date.Time `json:"startTime,omitempty"` + // EndTime - The end time of the workflow scope repetition. + EndTime *date.Time `json:"endTime,omitempty"` + // Correlation - The correlation properties. + Correlation *RunActionCorrelation `json:"correlation,omitempty"` + // Status - The status of the workflow scope repetition. Possible values include: 'WorkflowStatusNotSpecified', 'WorkflowStatusPaused', 'WorkflowStatusRunning', 'WorkflowStatusWaiting', 'WorkflowStatusSucceeded', 'WorkflowStatusSkipped', 'WorkflowStatusSuspended', 'WorkflowStatusCancelled', 'WorkflowStatusFailed', 'WorkflowStatusFaulted', 'WorkflowStatusTimedOut', 'WorkflowStatusAborted', 'WorkflowStatusIgnored' + Status WorkflowStatus `json:"status,omitempty"` + // Code - The workflow scope repetition code. + Code *string `json:"code,omitempty"` + Error interface{} `json:"error,omitempty"` +} + +// PartnerContent the integration account partner content. +type PartnerContent struct { + // B2b - The B2B partner content. + B2b *B2BPartnerContent `json:"b2b,omitempty"` +} + +// RecurrenceSchedule the recurrence schedule. +type RecurrenceSchedule struct { + // Minutes - The minutes. + Minutes *[]int32 `json:"minutes,omitempty"` + // Hours - The hours. + Hours *[]int32 `json:"hours,omitempty"` + // WeekDays - The days of the week. + WeekDays *[]DaysOfWeek `json:"weekDays,omitempty"` + // MonthDays - The month days. + MonthDays *[]int32 `json:"monthDays,omitempty"` + // MonthlyOccurrences - The monthly occurrences. + MonthlyOccurrences *[]RecurrenceScheduleOccurrence `json:"monthlyOccurrences,omitempty"` +} + +// RecurrenceScheduleOccurrence the recurrence schedule occurrence. +type RecurrenceScheduleOccurrence struct { + // Day - The day of the week. Possible values include: 'Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday' + Day DayOfWeek `json:"day,omitempty"` + // Occurrence - The occurrence. + Occurrence *int32 `json:"occurrence,omitempty"` +} + +// RegenerateActionParameter the access key regenerate action content. +type RegenerateActionParameter struct { + // KeyType - The key type. Possible values include: 'KeyTypeNotSpecified', 'KeyTypePrimary', 'KeyTypeSecondary' + KeyType KeyType `json:"keyType,omitempty"` +} + +// RepetitionIndex the workflow run action repetition index. +type RepetitionIndex struct { + // ScopeName - The scope. + ScopeName *string `json:"scopeName,omitempty"` + // ItemIndex - The index. + ItemIndex *int32 `json:"itemIndex,omitempty"` +} + +// Request a request. +type Request struct { + // Headers - A list of all the headers attached to the request. + Headers interface{} `json:"headers,omitempty"` + // URI - The destination for the request. + URI *string `json:"uri,omitempty"` + // Method - The HTTP method used for the request. + Method *string `json:"method,omitempty"` +} + +// RequestHistory the request history. +type RequestHistory struct { + autorest.Response `json:"-"` + // Properties - The request history properties. + Properties *RequestHistoryProperties `json:"properties,omitempty"` + // ID - READ-ONLY; The resource id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Gets the resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Gets the resource type. + Type *string `json:"type,omitempty"` + // Location - The resource location. + Location *string `json:"location,omitempty"` + // Tags - The resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for RequestHistory. +func (rh RequestHistory) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if rh.Properties != nil { + objectMap["properties"] = rh.Properties + } + if rh.Location != nil { + objectMap["location"] = rh.Location + } + if rh.Tags != nil { + objectMap["tags"] = rh.Tags + } + return json.Marshal(objectMap) +} + +// RequestHistoryListResult the list of workflow request histories. +type RequestHistoryListResult struct { + autorest.Response `json:"-"` + // Value - A list of workflow request histories. + Value *[]RequestHistory `json:"value,omitempty"` + // NextLink - The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// RequestHistoryListResultIterator provides access to a complete listing of RequestHistory values. +type RequestHistoryListResultIterator struct { + i int + page RequestHistoryListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *RequestHistoryListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RequestHistoryListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *RequestHistoryListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter RequestHistoryListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter RequestHistoryListResultIterator) Response() RequestHistoryListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter RequestHistoryListResultIterator) Value() RequestHistory { + if !iter.page.NotDone() { + return RequestHistory{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the RequestHistoryListResultIterator type. +func NewRequestHistoryListResultIterator(page RequestHistoryListResultPage) RequestHistoryListResultIterator { + return RequestHistoryListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (rhlr RequestHistoryListResult) IsEmpty() bool { + return rhlr.Value == nil || len(*rhlr.Value) == 0 +} + +// requestHistoryListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (rhlr RequestHistoryListResult) requestHistoryListResultPreparer(ctx context.Context) (*http.Request, error) { + if rhlr.NextLink == nil || len(to.String(rhlr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(rhlr.NextLink))) +} + +// RequestHistoryListResultPage contains a page of RequestHistory values. +type RequestHistoryListResultPage struct { + fn func(context.Context, RequestHistoryListResult) (RequestHistoryListResult, error) + rhlr RequestHistoryListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *RequestHistoryListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RequestHistoryListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.rhlr) + if err != nil { + return err + } + page.rhlr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *RequestHistoryListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page RequestHistoryListResultPage) NotDone() bool { + return !page.rhlr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page RequestHistoryListResultPage) Response() RequestHistoryListResult { + return page.rhlr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page RequestHistoryListResultPage) Values() []RequestHistory { + if page.rhlr.IsEmpty() { + return nil + } + return *page.rhlr.Value +} + +// Creates a new instance of the RequestHistoryListResultPage type. +func NewRequestHistoryListResultPage(getNextPage func(context.Context, RequestHistoryListResult) (RequestHistoryListResult, error)) RequestHistoryListResultPage { + return RequestHistoryListResultPage{fn: getNextPage} +} + +// RequestHistoryProperties the request history. +type RequestHistoryProperties struct { + // StartTime - The time the request started. + StartTime *date.Time `json:"startTime,omitempty"` + // EndTime - The time the request ended. + EndTime *date.Time `json:"endTime,omitempty"` + // Request - The request. + Request *Request `json:"request,omitempty"` + // Response - The response. + Response *Response `json:"response,omitempty"` +} + +// Resource the base resource type. +type Resource struct { + // ID - READ-ONLY; The resource id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Gets the resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Gets the resource type. + Type *string `json:"type,omitempty"` + // Location - The resource location. + Location *string `json:"location,omitempty"` + // Tags - The resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for Resource. +func (r Resource) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if r.Location != nil { + objectMap["location"] = r.Location + } + if r.Tags != nil { + objectMap["tags"] = r.Tags + } + return json.Marshal(objectMap) +} + +// ResourceReference the resource reference. +type ResourceReference struct { + // ID - The resource id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Gets the resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Gets the resource type. + Type *string `json:"type,omitempty"` +} + +// Response a response. +type Response struct { + // Headers - A list of all the headers attached to the response. + Headers interface{} `json:"headers,omitempty"` + // StatusCode - The status code of the response. + StatusCode *int32 `json:"statusCode,omitempty"` + // BodyLink - Details on the location of the body content. + BodyLink *ContentLink `json:"bodyLink,omitempty"` +} + +// RetryHistory the retry history. +type RetryHistory struct { + // StartTime - Gets the start time. + StartTime *date.Time `json:"startTime,omitempty"` + // EndTime - Gets the end time. + EndTime *date.Time `json:"endTime,omitempty"` + // Code - Gets the status code. + Code *string `json:"code,omitempty"` + // ClientRequestID - Gets the client request Id. + ClientRequestID *string `json:"clientRequestId,omitempty"` + // ServiceRequestID - Gets the service request Id. + ServiceRequestID *string `json:"serviceRequestId,omitempty"` + // Error - Gets the error response. + Error *ErrorResponse `json:"error,omitempty"` +} + +// RunActionCorrelation the workflow run action correlation properties. +type RunActionCorrelation struct { + // ActionTrackingID - The action tracking identifier. + ActionTrackingID *string `json:"actionTrackingId,omitempty"` + // ClientTrackingID - The client tracking identifier. + ClientTrackingID *string `json:"clientTrackingId,omitempty"` + // ClientKeywords - The client keywords. + ClientKeywords *[]string `json:"clientKeywords,omitempty"` +} + +// RunCorrelation the correlation properties. +type RunCorrelation struct { + // ClientTrackingID - The client tracking identifier. + ClientTrackingID *string `json:"clientTrackingId,omitempty"` + // ClientKeywords - The client keywords. + ClientKeywords *[]string `json:"clientKeywords,omitempty"` +} + +// SetIntegrationServiceEnvironmentSubnetNetworkHealth ... +type SetIntegrationServiceEnvironmentSubnetNetworkHealth struct { + autorest.Response `json:"-"` + Value map[string]*IntegrationServiceEnvironmentSubnetNetworkHealth `json:"value"` +} + +// MarshalJSON is the custom marshaler for SetIntegrationServiceEnvironmentSubnetNetworkHealth. +func (sisesnh SetIntegrationServiceEnvironmentSubnetNetworkHealth) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if sisesnh.Value != nil { + objectMap["value"] = sisesnh.Value + } + return json.Marshal(objectMap) +} + +// SetObject ... +type SetObject struct { + autorest.Response `json:"-"` + Value interface{} `json:"value,omitempty"` +} + +// SetTriggerStateActionDefinition the set trigger state action definition. +type SetTriggerStateActionDefinition struct { + // Source - The source. + Source *WorkflowTrigger `json:"source,omitempty"` +} + +// Sku the sku type. +type Sku struct { + // Name - The name. Possible values include: 'SkuNameNotSpecified', 'SkuNameFree', 'SkuNameShared', 'SkuNameBasic', 'SkuNameStandard', 'SkuNamePremium' + Name SkuName `json:"name,omitempty"` + // Plan - The reference to plan. + Plan *ResourceReference `json:"plan,omitempty"` +} + +// SubResource the sub resource type. +type SubResource struct { + // ID - READ-ONLY; The resource id. + ID *string `json:"id,omitempty"` +} + +// SwaggerCustomDynamicList the swagger custom dynamic list. +type SwaggerCustomDynamicList struct { + // OperationID - The operation id to fetch dynamic schema. + OperationID *string `json:"operationId,omitempty"` + // BuiltInOperation - The built in operation. + BuiltInOperation *string `json:"builtInOperation,omitempty"` + // ItemsPath - The path to a response property (relative to the response object, not the response body) which contains an array of dynamic value items. + ItemsPath *string `json:"itemsPath,omitempty"` + // ItemValuePath - The path to a property which defines the value which should be used. + ItemValuePath *string `json:"itemValuePath,omitempty"` + // ItemTitlePath - The path to an item property which defines the display name of the item. + ItemTitlePath *string `json:"itemTitlePath,omitempty"` + // Parameters - The parameters. + Parameters map[string]*SwaggerCustomDynamicProperties `json:"parameters"` +} + +// MarshalJSON is the custom marshaler for SwaggerCustomDynamicList. +func (scdl SwaggerCustomDynamicList) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if scdl.OperationID != nil { + objectMap["operationId"] = scdl.OperationID + } + if scdl.BuiltInOperation != nil { + objectMap["builtInOperation"] = scdl.BuiltInOperation + } + if scdl.ItemsPath != nil { + objectMap["itemsPath"] = scdl.ItemsPath + } + if scdl.ItemValuePath != nil { + objectMap["itemValuePath"] = scdl.ItemValuePath + } + if scdl.ItemTitlePath != nil { + objectMap["itemTitlePath"] = scdl.ItemTitlePath + } + if scdl.Parameters != nil { + objectMap["parameters"] = scdl.Parameters + } + return json.Marshal(objectMap) +} + +// SwaggerCustomDynamicProperties the swagger custom dynamic properties. +type SwaggerCustomDynamicProperties struct { + // OperationID - The operation id to fetch dynamic schema. + OperationID *string `json:"operationId,omitempty"` + // ValuePath - Json pointer to the dynamic schema on the response body. + ValuePath *string `json:"valuePath,omitempty"` + // Parameters - The operation parameters. + Parameters map[string]*SwaggerCustomDynamicProperties `json:"parameters"` +} + +// MarshalJSON is the custom marshaler for SwaggerCustomDynamicProperties. +func (scdp SwaggerCustomDynamicProperties) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if scdp.OperationID != nil { + objectMap["operationId"] = scdp.OperationID + } + if scdp.ValuePath != nil { + objectMap["valuePath"] = scdp.ValuePath + } + if scdp.Parameters != nil { + objectMap["parameters"] = scdp.Parameters + } + return json.Marshal(objectMap) +} + +// SwaggerCustomDynamicSchema the swagger custom dynamic schema. +type SwaggerCustomDynamicSchema struct { + // OperationID - The operation id to fetch dynamic schema. + OperationID *string `json:"operationId,omitempty"` + // ValuePath - Json pointer to the dynamic schema on the response body. + ValuePath *string `json:"valuePath,omitempty"` + // Parameters - The operation parameters. + Parameters map[string]interface{} `json:"parameters"` +} + +// MarshalJSON is the custom marshaler for SwaggerCustomDynamicSchema. +func (scds SwaggerCustomDynamicSchema) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if scds.OperationID != nil { + objectMap["operationId"] = scds.OperationID + } + if scds.ValuePath != nil { + objectMap["valuePath"] = scds.ValuePath + } + if scds.Parameters != nil { + objectMap["parameters"] = scds.Parameters + } + return json.Marshal(objectMap) +} + +// SwaggerCustomDynamicTree the swagger custom dynamic tree. +type SwaggerCustomDynamicTree struct { + // Settings - The tree settings + Settings *SwaggerCustomDynamicTreeSettings `json:"settings,omitempty"` + // Open - The tree on-open configuration + Open *SwaggerCustomDynamicTreeCommand `json:"open,omitempty"` + // Browse - The tree on-browse configuration + Browse *SwaggerCustomDynamicTreeCommand `json:"browse,omitempty"` +} + +// SwaggerCustomDynamicTreeCommand the swagger tree command. +type SwaggerCustomDynamicTreeCommand struct { + // OperationID - The path to an item property which defines the display name of the item. + OperationID *string `json:"operationId,omitempty"` + // ItemsPath - The path to an item property which defines the display name of the item. + ItemsPath *string `json:"itemsPath,omitempty"` + // ItemValuePath - The path to an item property which defines the display name of the item. + ItemValuePath *string `json:"itemValuePath,omitempty"` + // ItemTitlePath - The path to an item property which defines the display name of the item. + ItemTitlePath *string `json:"itemTitlePath,omitempty"` + // ItemFullTitlePath - The path to an item property which defines the display name of the item. + ItemFullTitlePath *string `json:"itemFullTitlePath,omitempty"` + // ItemIsParent - The path to an item property which defines the display name of the item. + ItemIsParent *string `json:"itemIsParent,omitempty"` + // SelectableFilter - The path to an item property which defines the display name of the item. + SelectableFilter *string `json:"selectableFilter,omitempty"` + Parameters map[string]*SwaggerCustomDynamicTreeParameter `json:"parameters"` +} + +// MarshalJSON is the custom marshaler for SwaggerCustomDynamicTreeCommand. +func (scdtc SwaggerCustomDynamicTreeCommand) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if scdtc.OperationID != nil { + objectMap["operationId"] = scdtc.OperationID + } + if scdtc.ItemsPath != nil { + objectMap["itemsPath"] = scdtc.ItemsPath + } + if scdtc.ItemValuePath != nil { + objectMap["itemValuePath"] = scdtc.ItemValuePath + } + if scdtc.ItemTitlePath != nil { + objectMap["itemTitlePath"] = scdtc.ItemTitlePath + } + if scdtc.ItemFullTitlePath != nil { + objectMap["itemFullTitlePath"] = scdtc.ItemFullTitlePath + } + if scdtc.ItemIsParent != nil { + objectMap["itemIsParent"] = scdtc.ItemIsParent + } + if scdtc.SelectableFilter != nil { + objectMap["selectableFilter"] = scdtc.SelectableFilter + } + if scdtc.Parameters != nil { + objectMap["parameters"] = scdtc.Parameters + } + return json.Marshal(objectMap) +} + +// SwaggerCustomDynamicTreeParameter the swagger custom dynamic tree parameter. +type SwaggerCustomDynamicTreeParameter struct { + // SelectedItemValuePath - Gets or sets a path to a property in the currently selected item to pass as a value to a parameter for the given operation. + SelectedItemValuePath *string `json:"selectedItemValuePath,omitempty"` + // Value - The parameter value. + Value interface{} `json:"value,omitempty"` + // ParameterReference - The parameter reference. + ParameterReference *string `json:"parameterReference,omitempty"` + // Required - Indicates whether the parameter is required. + Required *bool `json:"required,omitempty"` +} + +// SwaggerCustomDynamicTreeSettings the swagger custom dynamic tree settings. +type SwaggerCustomDynamicTreeSettings struct { + // CanSelectParentNodes - Indicates whether parent nodes can be selected. + CanSelectParentNodes *bool `json:"CanSelectParentNodes,omitempty"` + // CanSelectLeafNodes - Indicates whether leaf nodes can be selected. + CanSelectLeafNodes *bool `json:"CanSelectLeafNodes,omitempty"` +} + +// SwaggerExternalDocumentation the swagger external documentation +type SwaggerExternalDocumentation struct { + // Description - The document description. + Description *string `json:"description,omitempty"` + // URI - The documentation Uri. + URI *string `json:"uri,omitempty"` + // Extensions - The vendor extensions. + Extensions map[string]interface{} `json:"extensions"` +} + +// MarshalJSON is the custom marshaler for SwaggerExternalDocumentation. +func (sed SwaggerExternalDocumentation) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if sed.Description != nil { + objectMap["description"] = sed.Description + } + if sed.URI != nil { + objectMap["uri"] = sed.URI + } + if sed.Extensions != nil { + objectMap["extensions"] = sed.Extensions + } + return json.Marshal(objectMap) +} + +// SwaggerSchema the swagger schema. +type SwaggerSchema struct { + // Ref - The reference. + Ref *string `json:"ref,omitempty"` + // Type - The type. Possible values include: 'String', 'Number', 'Integer', 'Boolean', 'Array', 'File', 'Object', 'Null' + Type SwaggerSchemaType `json:"type,omitempty"` + // Title - The title. + Title *string `json:"title,omitempty"` + // Items - The items schema. + Items *SwaggerSchema `json:"items,omitempty"` + // Properties - The object properties + Properties map[string]*SwaggerSchema `json:"properties"` + // AdditionalProperties - The additional properties. + AdditionalProperties interface{} `json:"additionalProperties,omitempty"` + // Required - The object required properties. + Required *[]string `json:"required,omitempty"` + // MaxProperties - The maximum number of allowed properties. + MaxProperties *int32 `json:"maxProperties,omitempty"` + // MinProperties - The minimum number of allowed properties. + MinProperties *int32 `json:"minProperties,omitempty"` + // AllOf - The schemas which must pass validation when this schema is used. + AllOf *[]SwaggerSchema `json:"allOf,omitempty"` + // Discriminator - The discriminator. + Discriminator *string `json:"discriminator,omitempty"` + // ReadOnly - Indicates whether this property must be present in the a request. + ReadOnly *bool `json:"readOnly,omitempty"` + // XML - The xml representation format for a property. + XML *SwaggerXML `json:"xml,omitempty"` + // ExternalDocs - The external documentation. + ExternalDocs *SwaggerExternalDocumentation `json:"externalDocs,omitempty"` + // Example - The example value. + Example interface{} `json:"example,omitempty"` + // NotificationURLExtension - Indicates the notification url extension. If this is set, the property's value should be a callback url for a webhook. + NotificationURLExtension *bool `json:"notificationUrlExtension,omitempty"` + // DynamicSchemaOld - The dynamic schema configuration. + DynamicSchemaOld *SwaggerCustomDynamicSchema `json:"dynamicSchemaOld,omitempty"` + // DynamicSchemaNew - The dynamic schema configuration. + DynamicSchemaNew *SwaggerCustomDynamicProperties `json:"dynamicSchemaNew,omitempty"` + // DynamicListNew - The dynamic list. + DynamicListNew *SwaggerCustomDynamicList `json:"dynamicListNew,omitempty"` + // DynamicTree - The dynamic values tree configuration. + DynamicTree *SwaggerCustomDynamicTree `json:"dynamicTree,omitempty"` +} + +// MarshalJSON is the custom marshaler for SwaggerSchema. +func (ss SwaggerSchema) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if ss.Ref != nil { + objectMap["ref"] = ss.Ref + } + if ss.Type != "" { + objectMap["type"] = ss.Type + } + if ss.Title != nil { + objectMap["title"] = ss.Title + } + if ss.Items != nil { + objectMap["items"] = ss.Items + } + if ss.Properties != nil { + objectMap["properties"] = ss.Properties + } + if ss.AdditionalProperties != nil { + objectMap["additionalProperties"] = ss.AdditionalProperties + } + if ss.Required != nil { + objectMap["required"] = ss.Required + } + if ss.MaxProperties != nil { + objectMap["maxProperties"] = ss.MaxProperties + } + if ss.MinProperties != nil { + objectMap["minProperties"] = ss.MinProperties + } + if ss.AllOf != nil { + objectMap["allOf"] = ss.AllOf + } + if ss.Discriminator != nil { + objectMap["discriminator"] = ss.Discriminator + } + if ss.ReadOnly != nil { + objectMap["readOnly"] = ss.ReadOnly + } + if ss.XML != nil { + objectMap["xml"] = ss.XML + } + if ss.ExternalDocs != nil { + objectMap["externalDocs"] = ss.ExternalDocs + } + if ss.Example != nil { + objectMap["example"] = ss.Example + } + if ss.NotificationURLExtension != nil { + objectMap["notificationUrlExtension"] = ss.NotificationURLExtension + } + if ss.DynamicSchemaOld != nil { + objectMap["dynamicSchemaOld"] = ss.DynamicSchemaOld + } + if ss.DynamicSchemaNew != nil { + objectMap["dynamicSchemaNew"] = ss.DynamicSchemaNew + } + if ss.DynamicListNew != nil { + objectMap["dynamicListNew"] = ss.DynamicListNew + } + if ss.DynamicTree != nil { + objectMap["dynamicTree"] = ss.DynamicTree + } + return json.Marshal(objectMap) +} + +// SwaggerXML the Swagger XML. +type SwaggerXML struct { + // Name - The xml element or attribute name. + Name *string `json:"name,omitempty"` + // Namespace - The xml namespace. + Namespace *string `json:"namespace,omitempty"` + // Prefix - The name prefix. + Prefix *string `json:"prefix,omitempty"` + // Attribute - Indicates whether the property should be an attribute instead of an element. + Attribute *bool `json:"attribute,omitempty"` + // Wrapped - Indicates whether the array elements are wrapped in a container element. + Wrapped *bool `json:"wrapped,omitempty"` + // Extensions - The vendor extensions. + Extensions map[string]interface{} `json:"extensions"` +} + +// MarshalJSON is the custom marshaler for SwaggerXML. +func (sx SwaggerXML) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if sx.Name != nil { + objectMap["name"] = sx.Name + } + if sx.Namespace != nil { + objectMap["namespace"] = sx.Namespace + } + if sx.Prefix != nil { + objectMap["prefix"] = sx.Prefix + } + if sx.Attribute != nil { + objectMap["attribute"] = sx.Attribute + } + if sx.Wrapped != nil { + objectMap["wrapped"] = sx.Wrapped + } + if sx.Extensions != nil { + objectMap["extensions"] = sx.Extensions + } + return json.Marshal(objectMap) +} + +// TrackingEvent the tracking event. +type TrackingEvent struct { + // EventLevel - The event level. Possible values include: 'LogAlways', 'Critical', 'Error', 'Warning', 'Informational', 'Verbose' + EventLevel EventLevel `json:"eventLevel,omitempty"` + // EventTime - The event time. + EventTime *date.Time `json:"eventTime,omitempty"` + // RecordType - The record type. Possible values include: 'TrackingRecordTypeNotSpecified', 'TrackingRecordTypeCustom', 'TrackingRecordTypeAS2Message', 'TrackingRecordTypeAS2MDN', 'TrackingRecordTypeX12Interchange', 'TrackingRecordTypeX12FunctionalGroup', 'TrackingRecordTypeX12TransactionSet', 'TrackingRecordTypeX12InterchangeAcknowledgment', 'TrackingRecordTypeX12FunctionalGroupAcknowledgment', 'TrackingRecordTypeX12TransactionSetAcknowledgment', 'TrackingRecordTypeEdifactInterchange', 'TrackingRecordTypeEdifactFunctionalGroup', 'TrackingRecordTypeEdifactTransactionSet', 'TrackingRecordTypeEdifactInterchangeAcknowledgment', 'TrackingRecordTypeEdifactFunctionalGroupAcknowledgment', 'TrackingRecordTypeEdifactTransactionSetAcknowledgment' + RecordType TrackingRecordType `json:"recordType,omitempty"` + // Error - The error. + Error *TrackingEventErrorInfo `json:"error,omitempty"` +} + +// TrackingEventErrorInfo the tracking event error info. +type TrackingEventErrorInfo struct { + // Message - The message. + Message *string `json:"message,omitempty"` + // Code - The code. + Code *string `json:"code,omitempty"` +} + +// TrackingEventsDefinition the tracking events definition. +type TrackingEventsDefinition struct { + // SourceType - The source type. + SourceType *string `json:"sourceType,omitempty"` + // TrackEventsOptions - The track events options. Possible values include: 'TrackEventsOperationOptionsNone', 'TrackEventsOperationOptionsDisableSourceInfoEnrich' + TrackEventsOptions TrackEventsOperationOptions `json:"trackEventsOptions,omitempty"` + // Events - The events. + Events *[]TrackingEvent `json:"events,omitempty"` +} + +// Workflow the workflow type. +type Workflow struct { + autorest.Response `json:"-"` + // WorkflowProperties - The workflow properties. + *WorkflowProperties `json:"properties,omitempty"` + // ID - READ-ONLY; The resource id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Gets the resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Gets the resource type. + Type *string `json:"type,omitempty"` + // Location - The resource location. + Location *string `json:"location,omitempty"` + // Tags - The resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for Workflow. +func (w Workflow) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if w.WorkflowProperties != nil { + objectMap["properties"] = w.WorkflowProperties + } + if w.Location != nil { + objectMap["location"] = w.Location + } + if w.Tags != nil { + objectMap["tags"] = w.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for Workflow struct. +func (w *Workflow) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var workflowProperties WorkflowProperties + err = json.Unmarshal(*v, &workflowProperties) + if err != nil { + return err + } + w.WorkflowProperties = &workflowProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + w.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + w.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + w.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + w.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + w.Tags = tags + } + } + } + + return nil +} + +// WorkflowFilter the workflow filter. +type WorkflowFilter struct { + // State - The state of workflows. Possible values include: 'WorkflowStateNotSpecified', 'WorkflowStateCompleted', 'WorkflowStateEnabled', 'WorkflowStateDisabled', 'WorkflowStateDeleted', 'WorkflowStateSuspended' + State WorkflowState `json:"state,omitempty"` +} + +// WorkflowListResult the list of workflows. +type WorkflowListResult struct { + autorest.Response `json:"-"` + // Value - The list of workflows. + Value *[]Workflow `json:"value,omitempty"` + // NextLink - The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// WorkflowListResultIterator provides access to a complete listing of Workflow values. +type WorkflowListResultIterator struct { + i int + page WorkflowListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *WorkflowListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WorkflowListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *WorkflowListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter WorkflowListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter WorkflowListResultIterator) Response() WorkflowListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter WorkflowListResultIterator) Value() Workflow { + if !iter.page.NotDone() { + return Workflow{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the WorkflowListResultIterator type. +func NewWorkflowListResultIterator(page WorkflowListResultPage) WorkflowListResultIterator { + return WorkflowListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (wlr WorkflowListResult) IsEmpty() bool { + return wlr.Value == nil || len(*wlr.Value) == 0 +} + +// workflowListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (wlr WorkflowListResult) workflowListResultPreparer(ctx context.Context) (*http.Request, error) { + if wlr.NextLink == nil || len(to.String(wlr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(wlr.NextLink))) +} + +// WorkflowListResultPage contains a page of Workflow values. +type WorkflowListResultPage struct { + fn func(context.Context, WorkflowListResult) (WorkflowListResult, error) + wlr WorkflowListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *WorkflowListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WorkflowListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.wlr) + if err != nil { + return err + } + page.wlr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *WorkflowListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page WorkflowListResultPage) NotDone() bool { + return !page.wlr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page WorkflowListResultPage) Response() WorkflowListResult { + return page.wlr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page WorkflowListResultPage) Values() []Workflow { + if page.wlr.IsEmpty() { + return nil + } + return *page.wlr.Value +} + +// Creates a new instance of the WorkflowListResultPage type. +func NewWorkflowListResultPage(getNextPage func(context.Context, WorkflowListResult) (WorkflowListResult, error)) WorkflowListResultPage { + return WorkflowListResultPage{fn: getNextPage} +} + +// WorkflowOutputParameter the workflow output parameter. +type WorkflowOutputParameter struct { + // Error - READ-ONLY; Gets the error. + Error interface{} `json:"error,omitempty"` + // Type - The type. Possible values include: 'ParameterTypeNotSpecified', 'ParameterTypeString', 'ParameterTypeSecureString', 'ParameterTypeInt', 'ParameterTypeFloat', 'ParameterTypeBool', 'ParameterTypeArray', 'ParameterTypeObject', 'ParameterTypeSecureObject' + Type ParameterType `json:"type,omitempty"` + // Value - The value. + Value interface{} `json:"value,omitempty"` + // Metadata - The metadata. + Metadata interface{} `json:"metadata,omitempty"` + // Description - The description. + Description *string `json:"description,omitempty"` +} + +// WorkflowParameter the workflow parameters. +type WorkflowParameter struct { + // Type - The type. Possible values include: 'ParameterTypeNotSpecified', 'ParameterTypeString', 'ParameterTypeSecureString', 'ParameterTypeInt', 'ParameterTypeFloat', 'ParameterTypeBool', 'ParameterTypeArray', 'ParameterTypeObject', 'ParameterTypeSecureObject' + Type ParameterType `json:"type,omitempty"` + // Value - The value. + Value interface{} `json:"value,omitempty"` + // Metadata - The metadata. + Metadata interface{} `json:"metadata,omitempty"` + // Description - The description. + Description *string `json:"description,omitempty"` +} + +// WorkflowProperties the workflow properties. +type WorkflowProperties struct { + // 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' + ProvisioningState WorkflowProvisioningState `json:"provisioningState,omitempty"` + // CreatedTime - READ-ONLY; Gets the created time. + CreatedTime *date.Time `json:"createdTime,omitempty"` + // ChangedTime - READ-ONLY; Gets the changed time. + ChangedTime *date.Time `json:"changedTime,omitempty"` + // State - The state. Possible values include: 'WorkflowStateNotSpecified', 'WorkflowStateCompleted', 'WorkflowStateEnabled', 'WorkflowStateDisabled', 'WorkflowStateDeleted', 'WorkflowStateSuspended' + State WorkflowState `json:"state,omitempty"` + // Version - READ-ONLY; Gets the version. + Version *string `json:"version,omitempty"` + // AccessEndpoint - READ-ONLY; Gets the access endpoint. + AccessEndpoint *string `json:"accessEndpoint,omitempty"` + // EndpointsConfiguration - The endpoints configuration. + EndpointsConfiguration *FlowEndpointsConfiguration `json:"endpointsConfiguration,omitempty"` + // Sku - The sku. + Sku *Sku `json:"sku,omitempty"` + // IntegrationAccount - The integration account. + IntegrationAccount *ResourceReference `json:"integrationAccount,omitempty"` + // IntegrationServiceEnvironment - The integration service environment. + IntegrationServiceEnvironment *ResourceReference `json:"integrationServiceEnvironment,omitempty"` + // Definition - The definition. + Definition interface{} `json:"definition,omitempty"` + // Parameters - The parameters. + Parameters map[string]*WorkflowParameter `json:"parameters"` +} + +// MarshalJSON is the custom marshaler for WorkflowProperties. +func (wp WorkflowProperties) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if wp.State != "" { + objectMap["state"] = wp.State + } + if wp.EndpointsConfiguration != nil { + objectMap["endpointsConfiguration"] = wp.EndpointsConfiguration + } + if wp.Sku != nil { + objectMap["sku"] = wp.Sku + } + if wp.IntegrationAccount != nil { + objectMap["integrationAccount"] = wp.IntegrationAccount + } + if wp.IntegrationServiceEnvironment != nil { + objectMap["integrationServiceEnvironment"] = wp.IntegrationServiceEnvironment + } + if wp.Definition != nil { + objectMap["definition"] = wp.Definition + } + if wp.Parameters != nil { + objectMap["parameters"] = wp.Parameters + } + return json.Marshal(objectMap) +} + +// WorkflowRun the workflow run. +type WorkflowRun struct { + autorest.Response `json:"-"` + // WorkflowRunProperties - The workflow run properties. + *WorkflowRunProperties `json:"properties,omitempty"` + // Name - READ-ONLY; Gets the workflow run name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Gets the workflow run type. + Type *string `json:"type,omitempty"` + // ID - READ-ONLY; The resource id. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for WorkflowRun. +func (wr WorkflowRun) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if wr.WorkflowRunProperties != nil { + objectMap["properties"] = wr.WorkflowRunProperties + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for WorkflowRun struct. +func (wr *WorkflowRun) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var workflowRunProperties WorkflowRunProperties + err = json.Unmarshal(*v, &workflowRunProperties) + if err != nil { + return err + } + wr.WorkflowRunProperties = &workflowRunProperties + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + wr.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + wr.Type = &typeVar + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + wr.ID = &ID + } + } + } + + return nil +} + +// WorkflowRunAction the workflow run action. +type WorkflowRunAction struct { + autorest.Response `json:"-"` + // WorkflowRunActionProperties - The workflow run action properties. + *WorkflowRunActionProperties `json:"properties,omitempty"` + // Name - READ-ONLY; Gets the workflow run action name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Gets the workflow run action type. + Type *string `json:"type,omitempty"` + // ID - READ-ONLY; The resource id. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for WorkflowRunAction. +func (wra WorkflowRunAction) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if wra.WorkflowRunActionProperties != nil { + objectMap["properties"] = wra.WorkflowRunActionProperties + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for WorkflowRunAction struct. +func (wra *WorkflowRunAction) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var workflowRunActionProperties WorkflowRunActionProperties + err = json.Unmarshal(*v, &workflowRunActionProperties) + if err != nil { + return err + } + wra.WorkflowRunActionProperties = &workflowRunActionProperties + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + wra.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + wra.Type = &typeVar + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + wra.ID = &ID + } + } + } + + return nil +} + +// WorkflowRunActionFilter the workflow run action filter. +type WorkflowRunActionFilter struct { + // Status - The status of workflow run action. Possible values include: 'WorkflowStatusNotSpecified', 'WorkflowStatusPaused', 'WorkflowStatusRunning', 'WorkflowStatusWaiting', 'WorkflowStatusSucceeded', 'WorkflowStatusSkipped', 'WorkflowStatusSuspended', 'WorkflowStatusCancelled', 'WorkflowStatusFailed', 'WorkflowStatusFaulted', 'WorkflowStatusTimedOut', 'WorkflowStatusAborted', 'WorkflowStatusIgnored' + Status WorkflowStatus `json:"status,omitempty"` +} + +// WorkflowRunActionListResult the list of workflow run actions. +type WorkflowRunActionListResult struct { + autorest.Response `json:"-"` + // Value - A list of workflow run actions. + Value *[]WorkflowRunAction `json:"value,omitempty"` + // NextLink - The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// WorkflowRunActionListResultIterator provides access to a complete listing of WorkflowRunAction values. +type WorkflowRunActionListResultIterator struct { + i int + page WorkflowRunActionListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *WorkflowRunActionListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WorkflowRunActionListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *WorkflowRunActionListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter WorkflowRunActionListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter WorkflowRunActionListResultIterator) Response() WorkflowRunActionListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter WorkflowRunActionListResultIterator) Value() WorkflowRunAction { + if !iter.page.NotDone() { + return WorkflowRunAction{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the WorkflowRunActionListResultIterator type. +func NewWorkflowRunActionListResultIterator(page WorkflowRunActionListResultPage) WorkflowRunActionListResultIterator { + return WorkflowRunActionListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (wralr WorkflowRunActionListResult) IsEmpty() bool { + return wralr.Value == nil || len(*wralr.Value) == 0 +} + +// workflowRunActionListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (wralr WorkflowRunActionListResult) workflowRunActionListResultPreparer(ctx context.Context) (*http.Request, error) { + if wralr.NextLink == nil || len(to.String(wralr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(wralr.NextLink))) +} + +// WorkflowRunActionListResultPage contains a page of WorkflowRunAction values. +type WorkflowRunActionListResultPage struct { + fn func(context.Context, WorkflowRunActionListResult) (WorkflowRunActionListResult, error) + wralr WorkflowRunActionListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *WorkflowRunActionListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WorkflowRunActionListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.wralr) + if err != nil { + return err + } + page.wralr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *WorkflowRunActionListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page WorkflowRunActionListResultPage) NotDone() bool { + return !page.wralr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page WorkflowRunActionListResultPage) Response() WorkflowRunActionListResult { + return page.wralr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page WorkflowRunActionListResultPage) Values() []WorkflowRunAction { + if page.wralr.IsEmpty() { + return nil + } + return *page.wralr.Value +} + +// Creates a new instance of the WorkflowRunActionListResultPage type. +func NewWorkflowRunActionListResultPage(getNextPage func(context.Context, WorkflowRunActionListResult) (WorkflowRunActionListResult, error)) WorkflowRunActionListResultPage { + return WorkflowRunActionListResultPage{fn: getNextPage} +} + +// WorkflowRunActionProperties the workflow run action properties. +type WorkflowRunActionProperties struct { + // StartTime - READ-ONLY; Gets the start time. + StartTime *date.Time `json:"startTime,omitempty"` + // EndTime - READ-ONLY; Gets the end time. + EndTime *date.Time `json:"endTime,omitempty"` + // Status - READ-ONLY; Gets the status. Possible values include: 'WorkflowStatusNotSpecified', 'WorkflowStatusPaused', 'WorkflowStatusRunning', 'WorkflowStatusWaiting', 'WorkflowStatusSucceeded', 'WorkflowStatusSkipped', 'WorkflowStatusSuspended', 'WorkflowStatusCancelled', 'WorkflowStatusFailed', 'WorkflowStatusFaulted', 'WorkflowStatusTimedOut', 'WorkflowStatusAborted', 'WorkflowStatusIgnored' + Status WorkflowStatus `json:"status,omitempty"` + // Code - READ-ONLY; Gets the code. + Code *string `json:"code,omitempty"` + // Error - READ-ONLY; Gets the error. + Error interface{} `json:"error,omitempty"` + // TrackingID - READ-ONLY; Gets the tracking id. + TrackingID *string `json:"trackingId,omitempty"` + // Correlation - The correlation properties. + Correlation *Correlation `json:"correlation,omitempty"` + // InputsLink - READ-ONLY; Gets the link to inputs. + InputsLink *ContentLink `json:"inputsLink,omitempty"` + // OutputsLink - READ-ONLY; Gets the link to outputs. + OutputsLink *ContentLink `json:"outputsLink,omitempty"` + // TrackedProperties - READ-ONLY; Gets the tracked properties. + TrackedProperties interface{} `json:"trackedProperties,omitempty"` + // RetryHistory - Gets the retry histories. + RetryHistory *[]RetryHistory `json:"retryHistory,omitempty"` +} + +// WorkflowRunActionRepetitionDefinition the workflow run action repetition definition. +type WorkflowRunActionRepetitionDefinition struct { + autorest.Response `json:"-"` + // WorkflowRunActionRepetitionProperties - The workflow run action repetition properties definition. + *WorkflowRunActionRepetitionProperties `json:"properties,omitempty"` + // ID - READ-ONLY; The resource id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Gets the resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Gets the resource type. + Type *string `json:"type,omitempty"` + // Location - The resource location. + Location *string `json:"location,omitempty"` + // Tags - The resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for WorkflowRunActionRepetitionDefinition. +func (wrard WorkflowRunActionRepetitionDefinition) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if wrard.WorkflowRunActionRepetitionProperties != nil { + objectMap["properties"] = wrard.WorkflowRunActionRepetitionProperties + } + if wrard.Location != nil { + objectMap["location"] = wrard.Location + } + if wrard.Tags != nil { + objectMap["tags"] = wrard.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for WorkflowRunActionRepetitionDefinition struct. +func (wrard *WorkflowRunActionRepetitionDefinition) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var workflowRunActionRepetitionProperties WorkflowRunActionRepetitionProperties + err = json.Unmarshal(*v, &workflowRunActionRepetitionProperties) + if err != nil { + return err + } + wrard.WorkflowRunActionRepetitionProperties = &workflowRunActionRepetitionProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + wrard.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + wrard.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + wrard.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + wrard.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + wrard.Tags = tags + } + } + } + + return nil +} + +// WorkflowRunActionRepetitionDefinitionCollection a collection of workflow run action repetitions. +type WorkflowRunActionRepetitionDefinitionCollection struct { + autorest.Response `json:"-"` + // NextLink - The link used to get the next page of recommendations. + NextLink *string `json:"nextLink,omitempty"` + Value *[]WorkflowRunActionRepetitionDefinition `json:"value,omitempty"` +} + +// WorkflowRunActionRepetitionProperties the workflow run action repetition properties definition. +type WorkflowRunActionRepetitionProperties struct { + // RepetitionIndexes - The repetition indexes. + RepetitionIndexes *[]RepetitionIndex `json:"repetitionIndexes,omitempty"` + // TrackingID - READ-ONLY; Gets the tracking id. + TrackingID *string `json:"trackingId,omitempty"` + // Inputs - READ-ONLY; Gets the inputs. + Inputs interface{} `json:"inputs,omitempty"` + // InputsLink - READ-ONLY; Gets the link to inputs. + InputsLink *ContentLink `json:"inputsLink,omitempty"` + // Outputs - READ-ONLY; Gets the outputs. + Outputs interface{} `json:"outputs,omitempty"` + // OutputsLink - READ-ONLY; Gets the link to outputs. + OutputsLink *ContentLink `json:"outputsLink,omitempty"` + // TrackedProperties - READ-ONLY; Gets the tracked properties. + TrackedProperties interface{} `json:"trackedProperties,omitempty"` + // RetryHistory - Gets the retry histories. + RetryHistory *[]RetryHistory `json:"retryHistory,omitempty"` + IterationCount *int32 `json:"iterationCount,omitempty"` + // StartTime - The start time of the workflow scope repetition. + StartTime *date.Time `json:"startTime,omitempty"` + // EndTime - The end time of the workflow scope repetition. + EndTime *date.Time `json:"endTime,omitempty"` + // Correlation - The correlation properties. + Correlation *RunActionCorrelation `json:"correlation,omitempty"` + // Status - The status of the workflow scope repetition. Possible values include: 'WorkflowStatusNotSpecified', 'WorkflowStatusPaused', 'WorkflowStatusRunning', 'WorkflowStatusWaiting', 'WorkflowStatusSucceeded', 'WorkflowStatusSkipped', 'WorkflowStatusSuspended', 'WorkflowStatusCancelled', 'WorkflowStatusFailed', 'WorkflowStatusFaulted', 'WorkflowStatusTimedOut', 'WorkflowStatusAborted', 'WorkflowStatusIgnored' + Status WorkflowStatus `json:"status,omitempty"` + // Code - The workflow scope repetition code. + Code *string `json:"code,omitempty"` + Error interface{} `json:"error,omitempty"` +} + +// WorkflowRunFilter the workflow run filter. +type WorkflowRunFilter struct { + // Status - The status of workflow run. Possible values include: 'WorkflowStatusNotSpecified', 'WorkflowStatusPaused', 'WorkflowStatusRunning', 'WorkflowStatusWaiting', 'WorkflowStatusSucceeded', 'WorkflowStatusSkipped', 'WorkflowStatusSuspended', 'WorkflowStatusCancelled', 'WorkflowStatusFailed', 'WorkflowStatusFaulted', 'WorkflowStatusTimedOut', 'WorkflowStatusAborted', 'WorkflowStatusIgnored' + Status WorkflowStatus `json:"status,omitempty"` +} + +// WorkflowRunListResult the list of workflow runs. +type WorkflowRunListResult struct { + autorest.Response `json:"-"` + // Value - A list of workflow runs. + Value *[]WorkflowRun `json:"value,omitempty"` + // NextLink - The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// WorkflowRunListResultIterator provides access to a complete listing of WorkflowRun values. +type WorkflowRunListResultIterator struct { + i int + page WorkflowRunListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *WorkflowRunListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WorkflowRunListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *WorkflowRunListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter WorkflowRunListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter WorkflowRunListResultIterator) Response() WorkflowRunListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter WorkflowRunListResultIterator) Value() WorkflowRun { + if !iter.page.NotDone() { + return WorkflowRun{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the WorkflowRunListResultIterator type. +func NewWorkflowRunListResultIterator(page WorkflowRunListResultPage) WorkflowRunListResultIterator { + return WorkflowRunListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (wrlr WorkflowRunListResult) IsEmpty() bool { + return wrlr.Value == nil || len(*wrlr.Value) == 0 +} + +// workflowRunListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (wrlr WorkflowRunListResult) workflowRunListResultPreparer(ctx context.Context) (*http.Request, error) { + if wrlr.NextLink == nil || len(to.String(wrlr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(wrlr.NextLink))) +} + +// WorkflowRunListResultPage contains a page of WorkflowRun values. +type WorkflowRunListResultPage struct { + fn func(context.Context, WorkflowRunListResult) (WorkflowRunListResult, error) + wrlr WorkflowRunListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *WorkflowRunListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WorkflowRunListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.wrlr) + if err != nil { + return err + } + page.wrlr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *WorkflowRunListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page WorkflowRunListResultPage) NotDone() bool { + return !page.wrlr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page WorkflowRunListResultPage) Response() WorkflowRunListResult { + return page.wrlr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page WorkflowRunListResultPage) Values() []WorkflowRun { + if page.wrlr.IsEmpty() { + return nil + } + return *page.wrlr.Value +} + +// Creates a new instance of the WorkflowRunListResultPage type. +func NewWorkflowRunListResultPage(getNextPage func(context.Context, WorkflowRunListResult) (WorkflowRunListResult, error)) WorkflowRunListResultPage { + return WorkflowRunListResultPage{fn: getNextPage} +} + +// WorkflowRunProperties the workflow run properties. +type WorkflowRunProperties struct { + // WaitEndTime - READ-ONLY; Gets the wait end time. + WaitEndTime *date.Time `json:"waitEndTime,omitempty"` + // StartTime - READ-ONLY; Gets the start time. + StartTime *date.Time `json:"startTime,omitempty"` + // EndTime - READ-ONLY; Gets the end time. + EndTime *date.Time `json:"endTime,omitempty"` + // Status - READ-ONLY; Gets the status. Possible values include: 'WorkflowStatusNotSpecified', 'WorkflowStatusPaused', 'WorkflowStatusRunning', 'WorkflowStatusWaiting', 'WorkflowStatusSucceeded', 'WorkflowStatusSkipped', 'WorkflowStatusSuspended', 'WorkflowStatusCancelled', 'WorkflowStatusFailed', 'WorkflowStatusFaulted', 'WorkflowStatusTimedOut', 'WorkflowStatusAborted', 'WorkflowStatusIgnored' + Status WorkflowStatus `json:"status,omitempty"` + // Code - READ-ONLY; Gets the code. + Code *string `json:"code,omitempty"` + // Error - READ-ONLY; Gets the error. + Error interface{} `json:"error,omitempty"` + // CorrelationID - READ-ONLY; Gets the correlation id. + CorrelationID *string `json:"correlationId,omitempty"` + // Correlation - The run correlation. + Correlation *Correlation `json:"correlation,omitempty"` + // Workflow - READ-ONLY; Gets the reference to workflow version. + Workflow *ResourceReference `json:"workflow,omitempty"` + // Trigger - READ-ONLY; Gets the fired trigger. + Trigger *WorkflowRunTrigger `json:"trigger,omitempty"` + // Outputs - READ-ONLY; Gets the outputs. + Outputs map[string]*WorkflowOutputParameter `json:"outputs"` + // Response - READ-ONLY; Gets the response of the flow run. + Response *WorkflowRunTrigger `json:"response,omitempty"` +} + +// MarshalJSON is the custom marshaler for WorkflowRunProperties. +func (wrp WorkflowRunProperties) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if wrp.Correlation != nil { + objectMap["correlation"] = wrp.Correlation + } + return json.Marshal(objectMap) +} + +// WorkflowRunTrigger the workflow run trigger. +type WorkflowRunTrigger struct { + // Name - READ-ONLY; Gets the name. + Name *string `json:"name,omitempty"` + // Inputs - READ-ONLY; Gets the inputs. + Inputs interface{} `json:"inputs,omitempty"` + // InputsLink - READ-ONLY; Gets the link to inputs. + InputsLink *ContentLink `json:"inputsLink,omitempty"` + // Outputs - READ-ONLY; Gets the outputs. + Outputs interface{} `json:"outputs,omitempty"` + // OutputsLink - READ-ONLY; Gets the link to outputs. + OutputsLink *ContentLink `json:"outputsLink,omitempty"` + // ScheduledTime - READ-ONLY; Gets the scheduled time. + ScheduledTime *date.Time `json:"scheduledTime,omitempty"` + // StartTime - READ-ONLY; Gets the start time. + StartTime *date.Time `json:"startTime,omitempty"` + // EndTime - READ-ONLY; Gets the end time. + EndTime *date.Time `json:"endTime,omitempty"` + // TrackingID - READ-ONLY; Gets the tracking id. + TrackingID *string `json:"trackingId,omitempty"` + // Correlation - The run correlation. + Correlation *Correlation `json:"correlation,omitempty"` + // Code - READ-ONLY; Gets the code. + Code *string `json:"code,omitempty"` + // Status - READ-ONLY; Gets the status. Possible values include: 'WorkflowStatusNotSpecified', 'WorkflowStatusPaused', 'WorkflowStatusRunning', 'WorkflowStatusWaiting', 'WorkflowStatusSucceeded', 'WorkflowStatusSkipped', 'WorkflowStatusSuspended', 'WorkflowStatusCancelled', 'WorkflowStatusFailed', 'WorkflowStatusFaulted', 'WorkflowStatusTimedOut', 'WorkflowStatusAborted', 'WorkflowStatusIgnored' + Status WorkflowStatus `json:"status,omitempty"` + // Error - READ-ONLY; Gets the error. + Error interface{} `json:"error,omitempty"` + // TrackedProperties - READ-ONLY; Gets the tracked properties. + TrackedProperties interface{} `json:"trackedProperties,omitempty"` +} + +// WorkflowsMoveFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type WorkflowsMoveFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *WorkflowsMoveFuture) Result(client WorkflowsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.WorkflowsMoveFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("logic.WorkflowsMoveFuture") + return + } + ar.Response = future.Response() + return +} + +// WorkflowTrigger the workflow trigger. +type WorkflowTrigger struct { + autorest.Response `json:"-"` + // WorkflowTriggerProperties - The workflow trigger properties. + *WorkflowTriggerProperties `json:"properties,omitempty"` + // Name - READ-ONLY; Gets the workflow trigger name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Gets the workflow trigger type. + Type *string `json:"type,omitempty"` + // ID - READ-ONLY; The resource id. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for WorkflowTrigger. +func (wt WorkflowTrigger) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if wt.WorkflowTriggerProperties != nil { + objectMap["properties"] = wt.WorkflowTriggerProperties + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for WorkflowTrigger struct. +func (wt *WorkflowTrigger) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var workflowTriggerProperties WorkflowTriggerProperties + err = json.Unmarshal(*v, &workflowTriggerProperties) + if err != nil { + return err + } + wt.WorkflowTriggerProperties = &workflowTriggerProperties + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + wt.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + wt.Type = &typeVar + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + wt.ID = &ID + } + } + } + + return nil +} + +// WorkflowTriggerCallbackURL the workflow trigger callback URL. +type WorkflowTriggerCallbackURL struct { + autorest.Response `json:"-"` + // Value - READ-ONLY; Gets the workflow trigger callback URL. + Value *string `json:"value,omitempty"` + // Method - READ-ONLY; Gets the workflow trigger callback URL HTTP method. + Method *string `json:"method,omitempty"` + // BasePath - READ-ONLY; Gets the workflow trigger callback URL base path. + BasePath *string `json:"basePath,omitempty"` + // RelativePath - READ-ONLY; Gets the workflow trigger callback URL relative path. + RelativePath *string `json:"relativePath,omitempty"` + // RelativePathParameters - Gets the workflow trigger callback URL relative path parameters. + RelativePathParameters *[]string `json:"relativePathParameters,omitempty"` + // Queries - Gets the workflow trigger callback URL query parameters. + Queries *WorkflowTriggerListCallbackURLQueries `json:"queries,omitempty"` +} + +// WorkflowTriggerFilter the workflow trigger filter. +type WorkflowTriggerFilter struct { + // State - The state of workflow trigger. Possible values include: 'WorkflowStateNotSpecified', 'WorkflowStateCompleted', 'WorkflowStateEnabled', 'WorkflowStateDisabled', 'WorkflowStateDeleted', 'WorkflowStateSuspended' + State WorkflowState `json:"state,omitempty"` +} + +// WorkflowTriggerHistory the workflow trigger history. +type WorkflowTriggerHistory struct { + autorest.Response `json:"-"` + // WorkflowTriggerHistoryProperties - Gets the workflow trigger history properties. + *WorkflowTriggerHistoryProperties `json:"properties,omitempty"` + // Name - READ-ONLY; Gets the workflow trigger history name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Gets the workflow trigger history type. + Type *string `json:"type,omitempty"` + // ID - READ-ONLY; The resource id. + ID *string `json:"id,omitempty"` +} + +// MarshalJSON is the custom marshaler for WorkflowTriggerHistory. +func (wth WorkflowTriggerHistory) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if wth.WorkflowTriggerHistoryProperties != nil { + objectMap["properties"] = wth.WorkflowTriggerHistoryProperties + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for WorkflowTriggerHistory struct. +func (wth *WorkflowTriggerHistory) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var workflowTriggerHistoryProperties WorkflowTriggerHistoryProperties + err = json.Unmarshal(*v, &workflowTriggerHistoryProperties) + if err != nil { + return err + } + wth.WorkflowTriggerHistoryProperties = &workflowTriggerHistoryProperties + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + wth.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + wth.Type = &typeVar + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + wth.ID = &ID + } + } + } + + return nil +} + +// WorkflowTriggerHistoryFilter the workflow trigger history filter. +type WorkflowTriggerHistoryFilter struct { + // Status - The status of workflow trigger history. Possible values include: 'WorkflowStatusNotSpecified', 'WorkflowStatusPaused', 'WorkflowStatusRunning', 'WorkflowStatusWaiting', 'WorkflowStatusSucceeded', 'WorkflowStatusSkipped', 'WorkflowStatusSuspended', 'WorkflowStatusCancelled', 'WorkflowStatusFailed', 'WorkflowStatusFaulted', 'WorkflowStatusTimedOut', 'WorkflowStatusAborted', 'WorkflowStatusIgnored' + Status WorkflowStatus `json:"status,omitempty"` +} + +// WorkflowTriggerHistoryListResult the list of workflow trigger histories. +type WorkflowTriggerHistoryListResult struct { + autorest.Response `json:"-"` + // Value - A list of workflow trigger histories. + Value *[]WorkflowTriggerHistory `json:"value,omitempty"` + // NextLink - The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// WorkflowTriggerHistoryListResultIterator provides access to a complete listing of WorkflowTriggerHistory +// values. +type WorkflowTriggerHistoryListResultIterator struct { + i int + page WorkflowTriggerHistoryListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *WorkflowTriggerHistoryListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WorkflowTriggerHistoryListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *WorkflowTriggerHistoryListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter WorkflowTriggerHistoryListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter WorkflowTriggerHistoryListResultIterator) Response() WorkflowTriggerHistoryListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter WorkflowTriggerHistoryListResultIterator) Value() WorkflowTriggerHistory { + if !iter.page.NotDone() { + return WorkflowTriggerHistory{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the WorkflowTriggerHistoryListResultIterator type. +func NewWorkflowTriggerHistoryListResultIterator(page WorkflowTriggerHistoryListResultPage) WorkflowTriggerHistoryListResultIterator { + return WorkflowTriggerHistoryListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (wthlr WorkflowTriggerHistoryListResult) IsEmpty() bool { + return wthlr.Value == nil || len(*wthlr.Value) == 0 +} + +// workflowTriggerHistoryListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (wthlr WorkflowTriggerHistoryListResult) workflowTriggerHistoryListResultPreparer(ctx context.Context) (*http.Request, error) { + if wthlr.NextLink == nil || len(to.String(wthlr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(wthlr.NextLink))) +} + +// WorkflowTriggerHistoryListResultPage contains a page of WorkflowTriggerHistory values. +type WorkflowTriggerHistoryListResultPage struct { + fn func(context.Context, WorkflowTriggerHistoryListResult) (WorkflowTriggerHistoryListResult, error) + wthlr WorkflowTriggerHistoryListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *WorkflowTriggerHistoryListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WorkflowTriggerHistoryListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.wthlr) + if err != nil { + return err + } + page.wthlr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *WorkflowTriggerHistoryListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page WorkflowTriggerHistoryListResultPage) NotDone() bool { + return !page.wthlr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page WorkflowTriggerHistoryListResultPage) Response() WorkflowTriggerHistoryListResult { + return page.wthlr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page WorkflowTriggerHistoryListResultPage) Values() []WorkflowTriggerHistory { + if page.wthlr.IsEmpty() { + return nil + } + return *page.wthlr.Value +} + +// Creates a new instance of the WorkflowTriggerHistoryListResultPage type. +func NewWorkflowTriggerHistoryListResultPage(getNextPage func(context.Context, WorkflowTriggerHistoryListResult) (WorkflowTriggerHistoryListResult, error)) WorkflowTriggerHistoryListResultPage { + return WorkflowTriggerHistoryListResultPage{fn: getNextPage} +} + +// WorkflowTriggerHistoryProperties the workflow trigger history properties. +type WorkflowTriggerHistoryProperties struct { + // StartTime - READ-ONLY; Gets the start time. + StartTime *date.Time `json:"startTime,omitempty"` + // EndTime - READ-ONLY; Gets the end time. + EndTime *date.Time `json:"endTime,omitempty"` + // Status - READ-ONLY; Gets the status. Possible values include: 'WorkflowStatusNotSpecified', 'WorkflowStatusPaused', 'WorkflowStatusRunning', 'WorkflowStatusWaiting', 'WorkflowStatusSucceeded', 'WorkflowStatusSkipped', 'WorkflowStatusSuspended', 'WorkflowStatusCancelled', 'WorkflowStatusFailed', 'WorkflowStatusFaulted', 'WorkflowStatusTimedOut', 'WorkflowStatusAborted', 'WorkflowStatusIgnored' + Status WorkflowStatus `json:"status,omitempty"` + // Code - READ-ONLY; Gets the code. + Code *string `json:"code,omitempty"` + // Error - READ-ONLY; Gets the error. + Error interface{} `json:"error,omitempty"` + // TrackingID - READ-ONLY; Gets the tracking id. + TrackingID *string `json:"trackingId,omitempty"` + // Correlation - The run correlation. + Correlation *Correlation `json:"correlation,omitempty"` + // InputsLink - READ-ONLY; Gets the link to input parameters. + InputsLink *ContentLink `json:"inputsLink,omitempty"` + // OutputsLink - READ-ONLY; Gets the link to output parameters. + OutputsLink *ContentLink `json:"outputsLink,omitempty"` + // Fired - READ-ONLY; The value indicating whether trigger was fired. + Fired *bool `json:"fired,omitempty"` + // Run - READ-ONLY; Gets the reference to workflow run. + Run *ResourceReference `json:"run,omitempty"` +} + +// WorkflowTriggerListCallbackURLQueries gets the workflow trigger callback URL query parameters. +type WorkflowTriggerListCallbackURLQueries struct { + // APIVersion - The api version. + APIVersion *string `json:"api-version,omitempty"` + // Sp - The SAS permissions. + Sp *string `json:"sp,omitempty"` + // Sv - The SAS version. + Sv *string `json:"sv,omitempty"` + // Sig - The SAS signature. + Sig *string `json:"sig,omitempty"` + // Se - The SAS timestamp. + Se *string `json:"se,omitempty"` +} + +// WorkflowTriggerListResult the list of workflow triggers. +type WorkflowTriggerListResult struct { + autorest.Response `json:"-"` + // Value - A list of workflow triggers. + Value *[]WorkflowTrigger `json:"value,omitempty"` + // NextLink - The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// WorkflowTriggerListResultIterator provides access to a complete listing of WorkflowTrigger values. +type WorkflowTriggerListResultIterator struct { + i int + page WorkflowTriggerListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *WorkflowTriggerListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WorkflowTriggerListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *WorkflowTriggerListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter WorkflowTriggerListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter WorkflowTriggerListResultIterator) Response() WorkflowTriggerListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter WorkflowTriggerListResultIterator) Value() WorkflowTrigger { + if !iter.page.NotDone() { + return WorkflowTrigger{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the WorkflowTriggerListResultIterator type. +func NewWorkflowTriggerListResultIterator(page WorkflowTriggerListResultPage) WorkflowTriggerListResultIterator { + return WorkflowTriggerListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (wtlr WorkflowTriggerListResult) IsEmpty() bool { + return wtlr.Value == nil || len(*wtlr.Value) == 0 +} + +// workflowTriggerListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (wtlr WorkflowTriggerListResult) workflowTriggerListResultPreparer(ctx context.Context) (*http.Request, error) { + if wtlr.NextLink == nil || len(to.String(wtlr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(wtlr.NextLink))) +} + +// WorkflowTriggerListResultPage contains a page of WorkflowTrigger values. +type WorkflowTriggerListResultPage struct { + fn func(context.Context, WorkflowTriggerListResult) (WorkflowTriggerListResult, error) + wtlr WorkflowTriggerListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *WorkflowTriggerListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WorkflowTriggerListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.wtlr) + if err != nil { + return err + } + page.wtlr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *WorkflowTriggerListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page WorkflowTriggerListResultPage) NotDone() bool { + return !page.wtlr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page WorkflowTriggerListResultPage) Response() WorkflowTriggerListResult { + return page.wtlr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page WorkflowTriggerListResultPage) Values() []WorkflowTrigger { + if page.wtlr.IsEmpty() { + return nil + } + return *page.wtlr.Value +} + +// Creates a new instance of the WorkflowTriggerListResultPage type. +func NewWorkflowTriggerListResultPage(getNextPage func(context.Context, WorkflowTriggerListResult) (WorkflowTriggerListResult, error)) WorkflowTriggerListResultPage { + return WorkflowTriggerListResultPage{fn: getNextPage} +} + +// WorkflowTriggerProperties the workflow trigger properties. +type WorkflowTriggerProperties struct { + // 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' + ProvisioningState WorkflowTriggerProvisioningState `json:"provisioningState,omitempty"` + // CreatedTime - READ-ONLY; Gets the created time. + CreatedTime *date.Time `json:"createdTime,omitempty"` + // ChangedTime - READ-ONLY; Gets the changed time. + ChangedTime *date.Time `json:"changedTime,omitempty"` + // State - READ-ONLY; Gets the state. Possible values include: 'WorkflowStateNotSpecified', 'WorkflowStateCompleted', 'WorkflowStateEnabled', 'WorkflowStateDisabled', 'WorkflowStateDeleted', 'WorkflowStateSuspended' + State WorkflowState `json:"state,omitempty"` + // Status - READ-ONLY; Gets the status. Possible values include: 'WorkflowStatusNotSpecified', 'WorkflowStatusPaused', 'WorkflowStatusRunning', 'WorkflowStatusWaiting', 'WorkflowStatusSucceeded', 'WorkflowStatusSkipped', 'WorkflowStatusSuspended', 'WorkflowStatusCancelled', 'WorkflowStatusFailed', 'WorkflowStatusFaulted', 'WorkflowStatusTimedOut', 'WorkflowStatusAborted', 'WorkflowStatusIgnored' + Status WorkflowStatus `json:"status,omitempty"` + // LastExecutionTime - READ-ONLY; Gets the last execution time. + LastExecutionTime *date.Time `json:"lastExecutionTime,omitempty"` + // NextExecutionTime - READ-ONLY; Gets the next execution time. + NextExecutionTime *date.Time `json:"nextExecutionTime,omitempty"` + // Recurrence - READ-ONLY; Gets the workflow trigger recurrence. + Recurrence *WorkflowTriggerRecurrence `json:"recurrence,omitempty"` + // Workflow - READ-ONLY; Gets the reference to workflow. + Workflow *ResourceReference `json:"workflow,omitempty"` +} + +// WorkflowTriggerRecurrence the workflow trigger recurrence. +type WorkflowTriggerRecurrence struct { + // Frequency - The frequency. Possible values include: 'RecurrenceFrequencyNotSpecified', 'RecurrenceFrequencySecond', 'RecurrenceFrequencyMinute', 'RecurrenceFrequencyHour', 'RecurrenceFrequencyDay', 'RecurrenceFrequencyWeek', 'RecurrenceFrequencyMonth', 'RecurrenceFrequencyYear' + Frequency RecurrenceFrequency `json:"frequency,omitempty"` + // Interval - The interval. + Interval *int32 `json:"interval,omitempty"` + // StartTime - The start time. + StartTime *string `json:"startTime,omitempty"` + // EndTime - The end time. + EndTime *string `json:"endTime,omitempty"` + // TimeZone - The time zone. + TimeZone *string `json:"timeZone,omitempty"` + // Schedule - The recurrence schedule. + Schedule *RecurrenceSchedule `json:"schedule,omitempty"` +} + +// WorkflowVersion the workflow version. +type WorkflowVersion struct { + autorest.Response `json:"-"` + // WorkflowVersionProperties - The workflow version properties. + *WorkflowVersionProperties `json:"properties,omitempty"` + // ID - READ-ONLY; The resource id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Gets the resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Gets the resource type. + Type *string `json:"type,omitempty"` + // Location - The resource location. + Location *string `json:"location,omitempty"` + // Tags - The resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for WorkflowVersion. +func (wv WorkflowVersion) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if wv.WorkflowVersionProperties != nil { + objectMap["properties"] = wv.WorkflowVersionProperties + } + if wv.Location != nil { + objectMap["location"] = wv.Location + } + if wv.Tags != nil { + objectMap["tags"] = wv.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for WorkflowVersion struct. +func (wv *WorkflowVersion) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var workflowVersionProperties WorkflowVersionProperties + err = json.Unmarshal(*v, &workflowVersionProperties) + if err != nil { + return err + } + wv.WorkflowVersionProperties = &workflowVersionProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + wv.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + wv.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + wv.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + wv.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + wv.Tags = tags + } + } + } + + return nil +} + +// WorkflowVersionListResult the list of workflow versions. +type WorkflowVersionListResult struct { + autorest.Response `json:"-"` + // Value - A list of workflow versions. + Value *[]WorkflowVersion `json:"value,omitempty"` + // NextLink - The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// WorkflowVersionListResultIterator provides access to a complete listing of WorkflowVersion values. +type WorkflowVersionListResultIterator struct { + i int + page WorkflowVersionListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *WorkflowVersionListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WorkflowVersionListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *WorkflowVersionListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter WorkflowVersionListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter WorkflowVersionListResultIterator) Response() WorkflowVersionListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter WorkflowVersionListResultIterator) Value() WorkflowVersion { + if !iter.page.NotDone() { + return WorkflowVersion{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the WorkflowVersionListResultIterator type. +func NewWorkflowVersionListResultIterator(page WorkflowVersionListResultPage) WorkflowVersionListResultIterator { + return WorkflowVersionListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (wvlr WorkflowVersionListResult) IsEmpty() bool { + return wvlr.Value == nil || len(*wvlr.Value) == 0 +} + +// workflowVersionListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (wvlr WorkflowVersionListResult) workflowVersionListResultPreparer(ctx context.Context) (*http.Request, error) { + if wvlr.NextLink == nil || len(to.String(wvlr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(wvlr.NextLink))) +} + +// WorkflowVersionListResultPage contains a page of WorkflowVersion values. +type WorkflowVersionListResultPage struct { + fn func(context.Context, WorkflowVersionListResult) (WorkflowVersionListResult, error) + wvlr WorkflowVersionListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *WorkflowVersionListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WorkflowVersionListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.wvlr) + if err != nil { + return err + } + page.wvlr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *WorkflowVersionListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page WorkflowVersionListResultPage) NotDone() bool { + return !page.wvlr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page WorkflowVersionListResultPage) Response() WorkflowVersionListResult { + return page.wvlr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page WorkflowVersionListResultPage) Values() []WorkflowVersion { + if page.wvlr.IsEmpty() { + return nil + } + return *page.wvlr.Value +} + +// Creates a new instance of the WorkflowVersionListResultPage type. +func NewWorkflowVersionListResultPage(getNextPage func(context.Context, WorkflowVersionListResult) (WorkflowVersionListResult, error)) WorkflowVersionListResultPage { + return WorkflowVersionListResultPage{fn: getNextPage} +} + +// WorkflowVersionProperties the workflow version properties. +type WorkflowVersionProperties struct { + // CreatedTime - READ-ONLY; Gets the created time. + CreatedTime *date.Time `json:"createdTime,omitempty"` + // ChangedTime - READ-ONLY; Gets the changed time. + ChangedTime *date.Time `json:"changedTime,omitempty"` + // State - The state. Possible values include: 'WorkflowStateNotSpecified', 'WorkflowStateCompleted', 'WorkflowStateEnabled', 'WorkflowStateDisabled', 'WorkflowStateDeleted', 'WorkflowStateSuspended' + State WorkflowState `json:"state,omitempty"` + // Version - READ-ONLY; Gets the version. + Version *string `json:"version,omitempty"` + // AccessEndpoint - READ-ONLY; Gets the access endpoint. + AccessEndpoint *string `json:"accessEndpoint,omitempty"` + // Sku - The sku. + Sku *Sku `json:"sku,omitempty"` + // IntegrationAccount - The integration account. + IntegrationAccount *ResourceReference `json:"integrationAccount,omitempty"` + // Definition - The definition. + Definition interface{} `json:"definition,omitempty"` + // Parameters - The parameters. + Parameters map[string]*WorkflowParameter `json:"parameters"` +} + +// MarshalJSON is the custom marshaler for WorkflowVersionProperties. +func (wvp WorkflowVersionProperties) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if wvp.State != "" { + objectMap["state"] = wvp.State + } + if wvp.Sku != nil { + objectMap["sku"] = wvp.Sku + } + if wvp.IntegrationAccount != nil { + objectMap["integrationAccount"] = wvp.IntegrationAccount + } + if wvp.Definition != nil { + objectMap["definition"] = wvp.Definition + } + if wvp.Parameters != nil { + objectMap["parameters"] = wvp.Parameters + } + return json.Marshal(objectMap) +} + +// WsdlService the WSDL service. +type WsdlService struct { + // QualifiedName - The qualified name. + QualifiedName *string `json:"qualifiedName,omitempty"` + // EndpointQualifiedNames - The list of endpoints' qualified names. + EndpointQualifiedNames *[]string `json:"EndpointQualifiedNames,omitempty"` +} + +// X12AcknowledgementSettings the X12 agreement acknowledgement settings. +type X12AcknowledgementSettings struct { + // NeedTechnicalAcknowledgement - The value indicating whether technical acknowledgement is needed. + NeedTechnicalAcknowledgement *bool `json:"needTechnicalAcknowledgement,omitempty"` + // BatchTechnicalAcknowledgements - The value indicating whether to batch the technical acknowledgements. + BatchTechnicalAcknowledgements *bool `json:"batchTechnicalAcknowledgements,omitempty"` + // NeedFunctionalAcknowledgement - The value indicating whether functional acknowledgement is needed. + NeedFunctionalAcknowledgement *bool `json:"needFunctionalAcknowledgement,omitempty"` + // FunctionalAcknowledgementVersion - The functional acknowledgement version. + FunctionalAcknowledgementVersion *string `json:"functionalAcknowledgementVersion,omitempty"` + // BatchFunctionalAcknowledgements - The value indicating whether to batch functional acknowledgements. + BatchFunctionalAcknowledgements *bool `json:"batchFunctionalAcknowledgements,omitempty"` + // NeedImplementationAcknowledgement - The value indicating whether implementation acknowledgement is needed. + NeedImplementationAcknowledgement *bool `json:"needImplementationAcknowledgement,omitempty"` + // ImplementationAcknowledgementVersion - The implementation acknowledgement version. + ImplementationAcknowledgementVersion *string `json:"implementationAcknowledgementVersion,omitempty"` + // BatchImplementationAcknowledgements - The value indicating whether to batch implementation acknowledgements. + BatchImplementationAcknowledgements *bool `json:"batchImplementationAcknowledgements,omitempty"` + // NeedLoopForValidMessages - The value indicating whether a loop is needed for valid messages. + NeedLoopForValidMessages *bool `json:"needLoopForValidMessages,omitempty"` + // SendSynchronousAcknowledgement - The value indicating whether to send synchronous acknowledgement. + SendSynchronousAcknowledgement *bool `json:"sendSynchronousAcknowledgement,omitempty"` + // AcknowledgementControlNumberPrefix - The acknowledgement control number prefix. + AcknowledgementControlNumberPrefix *string `json:"acknowledgementControlNumberPrefix,omitempty"` + // AcknowledgementControlNumberSuffix - The acknowledgement control number suffix. + AcknowledgementControlNumberSuffix *string `json:"acknowledgementControlNumberSuffix,omitempty"` + // AcknowledgementControlNumberLowerBound - The acknowledgement control number lower bound. + AcknowledgementControlNumberLowerBound *int32 `json:"acknowledgementControlNumberLowerBound,omitempty"` + // AcknowledgementControlNumberUpperBound - The acknowledgement control number upper bound. + AcknowledgementControlNumberUpperBound *int32 `json:"acknowledgementControlNumberUpperBound,omitempty"` + // RolloverAcknowledgementControlNumber - The value indicating whether to rollover acknowledgement control number. + RolloverAcknowledgementControlNumber *bool `json:"rolloverAcknowledgementControlNumber,omitempty"` +} + +// X12AgreementContent the X12 agreement content. +type X12AgreementContent struct { + // ReceiveAgreement - The X12 one-way receive agreement. + ReceiveAgreement *X12OneWayAgreement `json:"receiveAgreement,omitempty"` + // SendAgreement - The X12 one-way send agreement. + SendAgreement *X12OneWayAgreement `json:"sendAgreement,omitempty"` +} + +// X12DelimiterOverrides the X12 delimiter override settings. +type X12DelimiterOverrides struct { + // ProtocolVersion - The protocol version. + ProtocolVersion *string `json:"protocolVersion,omitempty"` + // MessageID - The message id. + MessageID *string `json:"messageId,omitempty"` + // DataElementSeparator - The data element separator. + DataElementSeparator *int32 `json:"dataElementSeparator,omitempty"` + // ComponentSeparator - The component separator. + ComponentSeparator *int32 `json:"componentSeparator,omitempty"` + // SegmentTerminator - The segment terminator. + SegmentTerminator *int32 `json:"segmentTerminator,omitempty"` + // SegmentTerminatorSuffix - The segment terminator suffix. Possible values include: 'SegmentTerminatorSuffixNotSpecified', 'SegmentTerminatorSuffixNone', 'SegmentTerminatorSuffixCR', 'SegmentTerminatorSuffixLF', 'SegmentTerminatorSuffixCRLF' + SegmentTerminatorSuffix SegmentTerminatorSuffix `json:"segmentTerminatorSuffix,omitempty"` + // ReplaceCharacter - The replacement character. + ReplaceCharacter *int32 `json:"replaceCharacter,omitempty"` + // ReplaceSeparatorsInPayload - The value indicating whether to replace separators in payload. + ReplaceSeparatorsInPayload *bool `json:"replaceSeparatorsInPayload,omitempty"` + // TargetNamespace - The target namespace on which this delimiter settings has to be applied. + TargetNamespace *string `json:"targetNamespace,omitempty"` +} + +// X12EnvelopeOverride the X12 envelope override settings. +type X12EnvelopeOverride struct { + // TargetNamespace - The target namespace on which this envelope settings has to be applied. + TargetNamespace *string `json:"targetNamespace,omitempty"` + // ProtocolVersion - The protocol version on which this envelope settings has to be applied. + ProtocolVersion *string `json:"protocolVersion,omitempty"` + // MessageID - The message id on which this envelope settings has to be applied. + MessageID *string `json:"messageId,omitempty"` + // ResponsibleAgencyCode - The responsible agency code. + ResponsibleAgencyCode *string `json:"responsibleAgencyCode,omitempty"` + // HeaderVersion - The header version. + HeaderVersion *string `json:"headerVersion,omitempty"` + // SenderApplicationID - The sender application id. + SenderApplicationID *string `json:"senderApplicationId,omitempty"` + // ReceiverApplicationID - The receiver application id. + ReceiverApplicationID *string `json:"receiverApplicationId,omitempty"` + // FunctionalIdentifierCode - The functional identifier code. + FunctionalIdentifierCode *string `json:"functionalIdentifierCode,omitempty"` + // DateFormat - The date format. Possible values include: 'X12DateFormatNotSpecified', 'X12DateFormatCCYYMMDD', 'X12DateFormatYYMMDD' + DateFormat X12DateFormat `json:"dateFormat,omitempty"` + // TimeFormat - The time format. Possible values include: 'X12TimeFormatNotSpecified', 'X12TimeFormatHHMM', 'X12TimeFormatHHMMSS', 'X12TimeFormatHHMMSSdd', 'X12TimeFormatHHMMSSd' + TimeFormat X12TimeFormat `json:"timeFormat,omitempty"` +} + +// X12EnvelopeSettings the X12 agreement envelope settings. +type X12EnvelopeSettings struct { + // ControlStandardsID - The controls standards id. + ControlStandardsID *int32 `json:"controlStandardsId,omitempty"` + // UseControlStandardsIDAsRepetitionCharacter - The value indicating whether to use control standards id as repetition character. + UseControlStandardsIDAsRepetitionCharacter *bool `json:"useControlStandardsIdAsRepetitionCharacter,omitempty"` + // SenderApplicationID - The sender application id. + SenderApplicationID *string `json:"senderApplicationId,omitempty"` + // ReceiverApplicationID - The receiver application id. + ReceiverApplicationID *string `json:"receiverApplicationId,omitempty"` + // ControlVersionNumber - The control version number. + ControlVersionNumber *string `json:"controlVersionNumber,omitempty"` + // InterchangeControlNumberLowerBound - The interchange control number lower bound. + InterchangeControlNumberLowerBound *int32 `json:"interchangeControlNumberLowerBound,omitempty"` + // InterchangeControlNumberUpperBound - The interchange control number upper bound. + InterchangeControlNumberUpperBound *int32 `json:"interchangeControlNumberUpperBound,omitempty"` + // RolloverInterchangeControlNumber - The value indicating whether to rollover interchange control number. + RolloverInterchangeControlNumber *bool `json:"rolloverInterchangeControlNumber,omitempty"` + // EnableDefaultGroupHeaders - The value indicating whether to enable default group headers. + EnableDefaultGroupHeaders *bool `json:"enableDefaultGroupHeaders,omitempty"` + // FunctionalGroupID - The functional group id. + FunctionalGroupID *string `json:"functionalGroupId,omitempty"` + // GroupControlNumberLowerBound - The group control number lower bound. + GroupControlNumberLowerBound *int32 `json:"groupControlNumberLowerBound,omitempty"` + // GroupControlNumberUpperBound - The group control number upper bound. + GroupControlNumberUpperBound *int32 `json:"groupControlNumberUpperBound,omitempty"` + // RolloverGroupControlNumber - The value indicating whether to rollover group control number. + RolloverGroupControlNumber *bool `json:"rolloverGroupControlNumber,omitempty"` + // GroupHeaderAgencyCode - The group header agency code. + GroupHeaderAgencyCode *string `json:"groupHeaderAgencyCode,omitempty"` + // GroupHeaderVersion - The group header version. + GroupHeaderVersion *string `json:"groupHeaderVersion,omitempty"` + // TransactionSetControlNumberLowerBound - The transaction set control number lower bound. + TransactionSetControlNumberLowerBound *int32 `json:"transactionSetControlNumberLowerBound,omitempty"` + // TransactionSetControlNumberUpperBound - The transaction set control number upper bound. + TransactionSetControlNumberUpperBound *int32 `json:"transactionSetControlNumberUpperBound,omitempty"` + // RolloverTransactionSetControlNumber - The value indicating whether to rollover transaction set control number. + RolloverTransactionSetControlNumber *bool `json:"rolloverTransactionSetControlNumber,omitempty"` + // TransactionSetControlNumberPrefix - The transaction set control number prefix. + TransactionSetControlNumberPrefix *string `json:"transactionSetControlNumberPrefix,omitempty"` + // TransactionSetControlNumberSuffix - The transaction set control number suffix. + TransactionSetControlNumberSuffix *string `json:"transactionSetControlNumberSuffix,omitempty"` + // OverwriteExistingTransactionSetControlNumber - The value indicating whether to overwrite existing transaction set control number. + OverwriteExistingTransactionSetControlNumber *bool `json:"overwriteExistingTransactionSetControlNumber,omitempty"` + // GroupHeaderDateFormat - The group header date format. Possible values include: 'X12DateFormatNotSpecified', 'X12DateFormatCCYYMMDD', 'X12DateFormatYYMMDD' + GroupHeaderDateFormat X12DateFormat `json:"groupHeaderDateFormat,omitempty"` + // GroupHeaderTimeFormat - The group header time format. Possible values include: 'X12TimeFormatNotSpecified', 'X12TimeFormatHHMM', 'X12TimeFormatHHMMSS', 'X12TimeFormatHHMMSSdd', 'X12TimeFormatHHMMSSd' + GroupHeaderTimeFormat X12TimeFormat `json:"groupHeaderTimeFormat,omitempty"` + // UsageIndicator - The usage indicator. Possible values include: 'UsageIndicatorNotSpecified', 'UsageIndicatorTest', 'UsageIndicatorInformation', 'UsageIndicatorProduction' + UsageIndicator UsageIndicator `json:"usageIndicator,omitempty"` +} + +// X12FramingSettings the X12 agreement framing settings. +type X12FramingSettings struct { + // DataElementSeparator - The data element separator. + DataElementSeparator *int32 `json:"dataElementSeparator,omitempty"` + // ComponentSeparator - The component separator. + ComponentSeparator *int32 `json:"componentSeparator,omitempty"` + // ReplaceSeparatorsInPayload - The value indicating whether to replace separators in payload. + ReplaceSeparatorsInPayload *bool `json:"replaceSeparatorsInPayload,omitempty"` + // ReplaceCharacter - The replacement character. + ReplaceCharacter *int32 `json:"replaceCharacter,omitempty"` + // SegmentTerminator - The segment terminator. + SegmentTerminator *int32 `json:"segmentTerminator,omitempty"` + // CharacterSet - The X12 character set. Possible values include: 'X12CharacterSetNotSpecified', 'X12CharacterSetBasic', 'X12CharacterSetExtended', 'X12CharacterSetUTF8' + CharacterSet X12CharacterSet `json:"characterSet,omitempty"` + // SegmentTerminatorSuffix - The segment terminator suffix. Possible values include: 'SegmentTerminatorSuffixNotSpecified', 'SegmentTerminatorSuffixNone', 'SegmentTerminatorSuffixCR', 'SegmentTerminatorSuffixLF', 'SegmentTerminatorSuffixCRLF' + SegmentTerminatorSuffix SegmentTerminatorSuffix `json:"segmentTerminatorSuffix,omitempty"` +} + +// X12MessageFilter the X12 message filter for odata query. +type X12MessageFilter struct { + // MessageFilterType - The message filter type. Possible values include: 'MessageFilterTypeNotSpecified', 'MessageFilterTypeInclude', 'MessageFilterTypeExclude' + MessageFilterType MessageFilterType `json:"messageFilterType,omitempty"` +} + +// X12MessageIdentifier the X12 message identifier. +type X12MessageIdentifier struct { + // MessageID - The message id. + MessageID *string `json:"messageId,omitempty"` +} + +// X12OneWayAgreement the X12 one-way agreement. +type X12OneWayAgreement struct { + // SenderBusinessIdentity - The sender business identity + SenderBusinessIdentity *BusinessIdentity `json:"senderBusinessIdentity,omitempty"` + // ReceiverBusinessIdentity - The receiver business identity + ReceiverBusinessIdentity *BusinessIdentity `json:"receiverBusinessIdentity,omitempty"` + // ProtocolSettings - The X12 protocol settings. + ProtocolSettings *X12ProtocolSettings `json:"protocolSettings,omitempty"` +} + +// X12ProcessingSettings the X12 processing settings. +type X12ProcessingSettings struct { + // MaskSecurityInfo - The value indicating whether to mask security information. + MaskSecurityInfo *bool `json:"maskSecurityInfo,omitempty"` + // ConvertImpliedDecimal - The value indicating whether to convert numerical type to implied decimal. + ConvertImpliedDecimal *bool `json:"convertImpliedDecimal,omitempty"` + // PreserveInterchange - The value indicating whether to preserve interchange. + PreserveInterchange *bool `json:"preserveInterchange,omitempty"` + // SuspendInterchangeOnError - The value indicating whether to suspend interchange on error. + SuspendInterchangeOnError *bool `json:"suspendInterchangeOnError,omitempty"` + // CreateEmptyXMLTagsForTrailingSeparators - The value indicating whether to create empty xml tags for trailing separators. + CreateEmptyXMLTagsForTrailingSeparators *bool `json:"createEmptyXmlTagsForTrailingSeparators,omitempty"` + // UseDotAsDecimalSeparator - The value indicating whether to use dot as decimal separator. + UseDotAsDecimalSeparator *bool `json:"useDotAsDecimalSeparator,omitempty"` +} + +// X12ProtocolSettings the X12 agreement protocol settings. +type X12ProtocolSettings struct { + // ValidationSettings - The X12 validation settings. + ValidationSettings *X12ValidationSettings `json:"validationSettings,omitempty"` + // FramingSettings - The X12 framing settings. + FramingSettings *X12FramingSettings `json:"framingSettings,omitempty"` + // EnvelopeSettings - The X12 envelope settings. + EnvelopeSettings *X12EnvelopeSettings `json:"envelopeSettings,omitempty"` + // AcknowledgementSettings - The X12 acknowledgment settings. + AcknowledgementSettings *X12AcknowledgementSettings `json:"acknowledgementSettings,omitempty"` + // MessageFilter - The X12 message filter. + MessageFilter *X12MessageFilter `json:"messageFilter,omitempty"` + // SecuritySettings - The X12 security settings. + SecuritySettings *X12SecuritySettings `json:"securitySettings,omitempty"` + // ProcessingSettings - The X12 processing settings. + ProcessingSettings *X12ProcessingSettings `json:"processingSettings,omitempty"` + // EnvelopeOverrides - The X12 envelope override settings. + EnvelopeOverrides *[]X12EnvelopeOverride `json:"envelopeOverrides,omitempty"` + // ValidationOverrides - The X12 validation override settings. + ValidationOverrides *[]X12ValidationOverride `json:"validationOverrides,omitempty"` + // MessageFilterList - The X12 message filter list. + MessageFilterList *[]X12MessageIdentifier `json:"messageFilterList,omitempty"` + // SchemaReferences - The X12 schema references. + SchemaReferences *[]X12SchemaReference `json:"schemaReferences,omitempty"` + // X12DelimiterOverrides - The X12 delimiter override settings. + X12DelimiterOverrides *[]X12DelimiterOverrides `json:"x12DelimiterOverrides,omitempty"` +} + +// X12SchemaReference the X12 schema reference. +type X12SchemaReference struct { + // MessageID - The message id. + MessageID *string `json:"messageId,omitempty"` + // SenderApplicationID - The sender application id. + SenderApplicationID *string `json:"senderApplicationId,omitempty"` + // SchemaVersion - The schema version. + SchemaVersion *string `json:"schemaVersion,omitempty"` + // SchemaName - The schema name. + SchemaName *string `json:"schemaName,omitempty"` +} + +// X12SecuritySettings the X12 agreement security settings. +type X12SecuritySettings struct { + // AuthorizationQualifier - The authorization qualifier. + AuthorizationQualifier *string `json:"authorizationQualifier,omitempty"` + // AuthorizationValue - The authorization value. + AuthorizationValue *string `json:"authorizationValue,omitempty"` + // SecurityQualifier - The security qualifier. + SecurityQualifier *string `json:"securityQualifier,omitempty"` + // PasswordValue - The password value. + PasswordValue *string `json:"passwordValue,omitempty"` +} + +// X12ValidationOverride the X12 validation override settings. +type X12ValidationOverride struct { + // MessageID - The message id on which the validation settings has to be applied. + MessageID *string `json:"messageId,omitempty"` + // ValidateEDITypes - The value indicating whether to validate EDI types. + ValidateEDITypes *bool `json:"validateEDITypes,omitempty"` + // ValidateXSDTypes - The value indicating whether to validate XSD types. + ValidateXSDTypes *bool `json:"validateXSDTypes,omitempty"` + // AllowLeadingAndTrailingSpacesAndZeroes - The value indicating whether to allow leading and trailing spaces and zeroes. + AllowLeadingAndTrailingSpacesAndZeroes *bool `json:"allowLeadingAndTrailingSpacesAndZeroes,omitempty"` + // ValidateCharacterSet - The value indicating whether to validate character Set. + ValidateCharacterSet *bool `json:"validateCharacterSet,omitempty"` + // TrimLeadingAndTrailingSpacesAndZeroes - The value indicating whether to trim leading and trailing spaces and zeroes. + TrimLeadingAndTrailingSpacesAndZeroes *bool `json:"trimLeadingAndTrailingSpacesAndZeroes,omitempty"` + // TrailingSeparatorPolicy - The trailing separator policy. Possible values include: 'TrailingSeparatorPolicyNotSpecified', 'TrailingSeparatorPolicyNotAllowed', 'TrailingSeparatorPolicyOptional', 'TrailingSeparatorPolicyMandatory' + TrailingSeparatorPolicy TrailingSeparatorPolicy `json:"trailingSeparatorPolicy,omitempty"` +} + +// X12ValidationSettings the X12 agreement validation settings. +type X12ValidationSettings struct { + // ValidateCharacterSet - The value indicating whether to validate character set in the message. + ValidateCharacterSet *bool `json:"validateCharacterSet,omitempty"` + // CheckDuplicateInterchangeControlNumber - The value indicating whether to check for duplicate interchange control number. + CheckDuplicateInterchangeControlNumber *bool `json:"checkDuplicateInterchangeControlNumber,omitempty"` + // InterchangeControlNumberValidityDays - The validity period of interchange control number. + InterchangeControlNumberValidityDays *int32 `json:"interchangeControlNumberValidityDays,omitempty"` + // CheckDuplicateGroupControlNumber - The value indicating whether to check for duplicate group control number. + CheckDuplicateGroupControlNumber *bool `json:"checkDuplicateGroupControlNumber,omitempty"` + // CheckDuplicateTransactionSetControlNumber - The value indicating whether to check for duplicate transaction set control number. + CheckDuplicateTransactionSetControlNumber *bool `json:"checkDuplicateTransactionSetControlNumber,omitempty"` + // ValidateEDITypes - The value indicating whether to Whether to validate EDI types. + ValidateEDITypes *bool `json:"validateEDITypes,omitempty"` + // ValidateXSDTypes - The value indicating whether to Whether to validate XSD types. + ValidateXSDTypes *bool `json:"validateXSDTypes,omitempty"` + // AllowLeadingAndTrailingSpacesAndZeroes - The value indicating whether to allow leading and trailing spaces and zeroes. + AllowLeadingAndTrailingSpacesAndZeroes *bool `json:"allowLeadingAndTrailingSpacesAndZeroes,omitempty"` + // TrimLeadingAndTrailingSpacesAndZeroes - The value indicating whether to trim leading and trailing spaces and zeroes. + TrimLeadingAndTrailingSpacesAndZeroes *bool `json:"trimLeadingAndTrailingSpacesAndZeroes,omitempty"` + // TrailingSeparatorPolicy - The trailing separator policy. Possible values include: 'TrailingSeparatorPolicyNotSpecified', 'TrailingSeparatorPolicyNotAllowed', 'TrailingSeparatorPolicyOptional', 'TrailingSeparatorPolicyMandatory' + TrailingSeparatorPolicy TrailingSeparatorPolicy `json:"trailingSeparatorPolicy,omitempty"` +} diff --git a/services/preview/logic/mgmt/2019-05-01/logic/operations.go b/services/preview/logic/mgmt/2019-05-01/logic/operations.go new file mode 100644 index 000000000000..f299645b574b --- /dev/null +++ b/services/preview/logic/mgmt/2019-05-01/logic/operations.go @@ -0,0 +1,147 @@ +package logic + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// OperationsClient is the REST API for Azure Logic Apps. +type OperationsClient struct { + BaseClient +} + +// NewOperationsClient creates an instance of the OperationsClient client. +func NewOperationsClient(subscriptionID string) OperationsClient { + return NewOperationsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewOperationsClientWithBaseURI creates an instance of the OperationsClient client. +func NewOperationsClientWithBaseURI(baseURI string, subscriptionID string) OperationsClient { + return OperationsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// List lists all of the available Logic REST API operations. +func (client OperationsClient) List(ctx context.Context) (result OperationListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/OperationsClient.List") + defer func() { + sc := -1 + if result.olr.Response.Response != nil { + sc = result.olr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.OperationsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.olr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "logic.OperationsClient", "List", resp, "Failure sending request") + return + } + + result.olr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.OperationsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client OperationsClient) ListPreparer(ctx context.Context) (*http.Request, error) { + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPath("/providers/Microsoft.Logic/operations"), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client OperationsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client OperationsClient) ListResponder(resp *http.Response) (result OperationListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client OperationsClient) listNextResults(ctx context.Context, lastResults OperationListResult) (result OperationListResult, err error) { + req, err := lastResults.operationListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "logic.OperationsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "logic.OperationsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.OperationsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client OperationsClient) ListComplete(ctx context.Context) (result OperationListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/OperationsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx) + return +} diff --git a/services/preview/logic/mgmt/2019-05-01/logic/version.go b/services/preview/logic/mgmt/2019-05-01/logic/version.go new file mode 100644 index 000000000000..c7fd680e7ef2 --- /dev/null +++ b/services/preview/logic/mgmt/2019-05-01/logic/version.go @@ -0,0 +1,30 @@ +package logic + +import "github.com/Azure/azure-sdk-for-go/version" + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +// UserAgent returns the UserAgent string to use when sending http.Requests. +func UserAgent() string { + return "Azure-SDK-For-Go/" + version.Number + " logic/2019-05-01" +} + +// Version returns the semantic version (see http://semver.org) of the client. +func Version() string { + return version.Number +} diff --git a/services/preview/logic/mgmt/2019-05-01/logic/workflowrunactionrepetitions.go b/services/preview/logic/mgmt/2019-05-01/logic/workflowrunactionrepetitions.go new file mode 100644 index 000000000000..4cad34434257 --- /dev/null +++ b/services/preview/logic/mgmt/2019-05-01/logic/workflowrunactionrepetitions.go @@ -0,0 +1,289 @@ +package logic + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// WorkflowRunActionRepetitionsClient is the REST API for Azure Logic Apps. +type WorkflowRunActionRepetitionsClient struct { + BaseClient +} + +// NewWorkflowRunActionRepetitionsClient creates an instance of the WorkflowRunActionRepetitionsClient client. +func NewWorkflowRunActionRepetitionsClient(subscriptionID string) WorkflowRunActionRepetitionsClient { + return NewWorkflowRunActionRepetitionsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewWorkflowRunActionRepetitionsClientWithBaseURI creates an instance of the WorkflowRunActionRepetitionsClient +// client. +func NewWorkflowRunActionRepetitionsClientWithBaseURI(baseURI string, subscriptionID string) WorkflowRunActionRepetitionsClient { + return WorkflowRunActionRepetitionsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// Get get a workflow run action repetition. +// Parameters: +// resourceGroupName - the resource group name. +// workflowName - the workflow name. +// runName - the workflow run name. +// actionName - the workflow action name. +// repetitionName - the workflow repetition. +func (client WorkflowRunActionRepetitionsClient) Get(ctx context.Context, resourceGroupName string, workflowName string, runName string, actionName string, repetitionName string) (result WorkflowRunActionRepetitionDefinition, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WorkflowRunActionRepetitionsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, workflowName, runName, actionName, repetitionName) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.WorkflowRunActionRepetitionsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "logic.WorkflowRunActionRepetitionsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.WorkflowRunActionRepetitionsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client WorkflowRunActionRepetitionsClient) GetPreparer(ctx context.Context, resourceGroupName string, workflowName string, runName string, actionName string, repetitionName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "actionName": autorest.Encode("path", actionName), + "repetitionName": autorest.Encode("path", repetitionName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "runName": autorest.Encode("path", runName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "workflowName": autorest.Encode("path", workflowName), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}/repetitions/{repetitionName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client WorkflowRunActionRepetitionsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client WorkflowRunActionRepetitionsClient) GetResponder(resp *http.Response) (result WorkflowRunActionRepetitionDefinition, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List get all of a workflow run action repetitions. +// Parameters: +// resourceGroupName - the resource group name. +// workflowName - the workflow name. +// runName - the workflow run name. +// actionName - the workflow action name. +func (client WorkflowRunActionRepetitionsClient) List(ctx context.Context, resourceGroupName string, workflowName string, runName string, actionName string) (result WorkflowRunActionRepetitionDefinitionCollection, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WorkflowRunActionRepetitionsClient.List") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListPreparer(ctx, resourceGroupName, workflowName, runName, actionName) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.WorkflowRunActionRepetitionsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "logic.WorkflowRunActionRepetitionsClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.WorkflowRunActionRepetitionsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client WorkflowRunActionRepetitionsClient) ListPreparer(ctx context.Context, resourceGroupName string, workflowName string, runName string, actionName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "actionName": autorest.Encode("path", actionName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "runName": autorest.Encode("path", runName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "workflowName": autorest.Encode("path", workflowName), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}/repetitions", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client WorkflowRunActionRepetitionsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client WorkflowRunActionRepetitionsClient) ListResponder(resp *http.Response) (result WorkflowRunActionRepetitionDefinitionCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListExpressionTraces lists a workflow run expression trace. +// Parameters: +// resourceGroupName - the resource group name. +// workflowName - the workflow name. +// runName - the workflow run name. +// actionName - the workflow action name. +// repetitionName - the workflow repetition. +func (client WorkflowRunActionRepetitionsClient) ListExpressionTraces(ctx context.Context, resourceGroupName string, workflowName string, runName string, actionName string, repetitionName string) (result ExpressionTraces, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WorkflowRunActionRepetitionsClient.ListExpressionTraces") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListExpressionTracesPreparer(ctx, resourceGroupName, workflowName, runName, actionName, repetitionName) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.WorkflowRunActionRepetitionsClient", "ListExpressionTraces", nil, "Failure preparing request") + return + } + + resp, err := client.ListExpressionTracesSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "logic.WorkflowRunActionRepetitionsClient", "ListExpressionTraces", resp, "Failure sending request") + return + } + + result, err = client.ListExpressionTracesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.WorkflowRunActionRepetitionsClient", "ListExpressionTraces", resp, "Failure responding to request") + } + + return +} + +// ListExpressionTracesPreparer prepares the ListExpressionTraces request. +func (client WorkflowRunActionRepetitionsClient) ListExpressionTracesPreparer(ctx context.Context, resourceGroupName string, workflowName string, runName string, actionName string, repetitionName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "actionName": autorest.Encode("path", actionName), + "repetitionName": autorest.Encode("path", repetitionName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "runName": autorest.Encode("path", runName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "workflowName": autorest.Encode("path", workflowName), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}/repetitions/{repetitionName}/listExpressionTraces", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListExpressionTracesSender sends the ListExpressionTraces request. The method will close the +// http.Response Body if it receives an error. +func (client WorkflowRunActionRepetitionsClient) ListExpressionTracesSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListExpressionTracesResponder handles the response to the ListExpressionTraces request. The method always +// closes the http.Response Body. +func (client WorkflowRunActionRepetitionsClient) ListExpressionTracesResponder(resp *http.Response) (result ExpressionTraces, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/preview/logic/mgmt/2019-05-01/logic/workflowrunactionrepetitionsrequesthistories.go b/services/preview/logic/mgmt/2019-05-01/logic/workflowrunactionrepetitionsrequesthistories.go new file mode 100644 index 000000000000..655f0dfc2feb --- /dev/null +++ b/services/preview/logic/mgmt/2019-05-01/logic/workflowrunactionrepetitionsrequesthistories.go @@ -0,0 +1,249 @@ +package logic + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// WorkflowRunActionRepetitionsRequestHistoriesClient is the REST API for Azure Logic Apps. +type WorkflowRunActionRepetitionsRequestHistoriesClient struct { + BaseClient +} + +// NewWorkflowRunActionRepetitionsRequestHistoriesClient creates an instance of the +// WorkflowRunActionRepetitionsRequestHistoriesClient client. +func NewWorkflowRunActionRepetitionsRequestHistoriesClient(subscriptionID string) WorkflowRunActionRepetitionsRequestHistoriesClient { + return NewWorkflowRunActionRepetitionsRequestHistoriesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewWorkflowRunActionRepetitionsRequestHistoriesClientWithBaseURI creates an instance of the +// WorkflowRunActionRepetitionsRequestHistoriesClient client. +func NewWorkflowRunActionRepetitionsRequestHistoriesClientWithBaseURI(baseURI string, subscriptionID string) WorkflowRunActionRepetitionsRequestHistoriesClient { + return WorkflowRunActionRepetitionsRequestHistoriesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// Get gets a workflow run repetition request history. +// Parameters: +// resourceGroupName - the resource group name. +// workflowName - the workflow name. +// runName - the workflow run name. +// actionName - the workflow action name. +// repetitionName - the workflow repetition. +// requestHistoryName - the request history name. +func (client WorkflowRunActionRepetitionsRequestHistoriesClient) Get(ctx context.Context, resourceGroupName string, workflowName string, runName string, actionName string, repetitionName string, requestHistoryName string) (result RequestHistory, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WorkflowRunActionRepetitionsRequestHistoriesClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, workflowName, runName, actionName, repetitionName, requestHistoryName) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.WorkflowRunActionRepetitionsRequestHistoriesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "logic.WorkflowRunActionRepetitionsRequestHistoriesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.WorkflowRunActionRepetitionsRequestHistoriesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client WorkflowRunActionRepetitionsRequestHistoriesClient) GetPreparer(ctx context.Context, resourceGroupName string, workflowName string, runName string, actionName string, repetitionName string, requestHistoryName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "actionName": autorest.Encode("path", actionName), + "repetitionName": autorest.Encode("path", repetitionName), + "requestHistoryName": autorest.Encode("path", requestHistoryName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "runName": autorest.Encode("path", runName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "workflowName": autorest.Encode("path", workflowName), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}/repetitions/{repetitionName}/requestHistories/{requestHistoryName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client WorkflowRunActionRepetitionsRequestHistoriesClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client WorkflowRunActionRepetitionsRequestHistoriesClient) GetResponder(resp *http.Response) (result RequestHistory, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List list a workflow run repetition request history. +// Parameters: +// resourceGroupName - the resource group name. +// workflowName - the workflow name. +// runName - the workflow run name. +// actionName - the workflow action name. +// repetitionName - the workflow repetition. +func (client WorkflowRunActionRepetitionsRequestHistoriesClient) List(ctx context.Context, resourceGroupName string, workflowName string, runName string, actionName string, repetitionName string) (result RequestHistoryListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WorkflowRunActionRepetitionsRequestHistoriesClient.List") + defer func() { + sc := -1 + if result.rhlr.Response.Response != nil { + sc = result.rhlr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName, workflowName, runName, actionName, repetitionName) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.WorkflowRunActionRepetitionsRequestHistoriesClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.rhlr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "logic.WorkflowRunActionRepetitionsRequestHistoriesClient", "List", resp, "Failure sending request") + return + } + + result.rhlr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.WorkflowRunActionRepetitionsRequestHistoriesClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client WorkflowRunActionRepetitionsRequestHistoriesClient) ListPreparer(ctx context.Context, resourceGroupName string, workflowName string, runName string, actionName string, repetitionName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "actionName": autorest.Encode("path", actionName), + "repetitionName": autorest.Encode("path", repetitionName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "runName": autorest.Encode("path", runName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "workflowName": autorest.Encode("path", workflowName), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}/repetitions/{repetitionName}/requestHistories", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client WorkflowRunActionRepetitionsRequestHistoriesClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client WorkflowRunActionRepetitionsRequestHistoriesClient) ListResponder(resp *http.Response) (result RequestHistoryListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client WorkflowRunActionRepetitionsRequestHistoriesClient) listNextResults(ctx context.Context, lastResults RequestHistoryListResult) (result RequestHistoryListResult, err error) { + req, err := lastResults.requestHistoryListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "logic.WorkflowRunActionRepetitionsRequestHistoriesClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "logic.WorkflowRunActionRepetitionsRequestHistoriesClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.WorkflowRunActionRepetitionsRequestHistoriesClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client WorkflowRunActionRepetitionsRequestHistoriesClient) ListComplete(ctx context.Context, resourceGroupName string, workflowName string, runName string, actionName string, repetitionName string) (result RequestHistoryListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WorkflowRunActionRepetitionsRequestHistoriesClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName, workflowName, runName, actionName, repetitionName) + return +} diff --git a/services/preview/logic/mgmt/2019-05-01/logic/workflowrunactionrequesthistories.go b/services/preview/logic/mgmt/2019-05-01/logic/workflowrunactionrequesthistories.go new file mode 100644 index 000000000000..136c48e555af --- /dev/null +++ b/services/preview/logic/mgmt/2019-05-01/logic/workflowrunactionrequesthistories.go @@ -0,0 +1,245 @@ +package logic + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// WorkflowRunActionRequestHistoriesClient is the REST API for Azure Logic Apps. +type WorkflowRunActionRequestHistoriesClient struct { + BaseClient +} + +// NewWorkflowRunActionRequestHistoriesClient creates an instance of the WorkflowRunActionRequestHistoriesClient +// client. +func NewWorkflowRunActionRequestHistoriesClient(subscriptionID string) WorkflowRunActionRequestHistoriesClient { + return NewWorkflowRunActionRequestHistoriesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewWorkflowRunActionRequestHistoriesClientWithBaseURI creates an instance of the +// WorkflowRunActionRequestHistoriesClient client. +func NewWorkflowRunActionRequestHistoriesClientWithBaseURI(baseURI string, subscriptionID string) WorkflowRunActionRequestHistoriesClient { + return WorkflowRunActionRequestHistoriesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// Get gets a workflow run request history. +// Parameters: +// resourceGroupName - the resource group name. +// workflowName - the workflow name. +// runName - the workflow run name. +// actionName - the workflow action name. +// requestHistoryName - the request history name. +func (client WorkflowRunActionRequestHistoriesClient) Get(ctx context.Context, resourceGroupName string, workflowName string, runName string, actionName string, requestHistoryName string) (result RequestHistory, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WorkflowRunActionRequestHistoriesClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, workflowName, runName, actionName, requestHistoryName) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.WorkflowRunActionRequestHistoriesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "logic.WorkflowRunActionRequestHistoriesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.WorkflowRunActionRequestHistoriesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client WorkflowRunActionRequestHistoriesClient) GetPreparer(ctx context.Context, resourceGroupName string, workflowName string, runName string, actionName string, requestHistoryName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "actionName": autorest.Encode("path", actionName), + "requestHistoryName": autorest.Encode("path", requestHistoryName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "runName": autorest.Encode("path", runName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "workflowName": autorest.Encode("path", workflowName), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}/requestHistories/{requestHistoryName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client WorkflowRunActionRequestHistoriesClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client WorkflowRunActionRequestHistoriesClient) GetResponder(resp *http.Response) (result RequestHistory, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List list a workflow run request history. +// Parameters: +// resourceGroupName - the resource group name. +// workflowName - the workflow name. +// runName - the workflow run name. +// actionName - the workflow action name. +func (client WorkflowRunActionRequestHistoriesClient) List(ctx context.Context, resourceGroupName string, workflowName string, runName string, actionName string) (result RequestHistoryListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WorkflowRunActionRequestHistoriesClient.List") + defer func() { + sc := -1 + if result.rhlr.Response.Response != nil { + sc = result.rhlr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName, workflowName, runName, actionName) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.WorkflowRunActionRequestHistoriesClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.rhlr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "logic.WorkflowRunActionRequestHistoriesClient", "List", resp, "Failure sending request") + return + } + + result.rhlr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.WorkflowRunActionRequestHistoriesClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client WorkflowRunActionRequestHistoriesClient) ListPreparer(ctx context.Context, resourceGroupName string, workflowName string, runName string, actionName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "actionName": autorest.Encode("path", actionName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "runName": autorest.Encode("path", runName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "workflowName": autorest.Encode("path", workflowName), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}/requestHistories", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client WorkflowRunActionRequestHistoriesClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client WorkflowRunActionRequestHistoriesClient) ListResponder(resp *http.Response) (result RequestHistoryListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client WorkflowRunActionRequestHistoriesClient) listNextResults(ctx context.Context, lastResults RequestHistoryListResult) (result RequestHistoryListResult, err error) { + req, err := lastResults.requestHistoryListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "logic.WorkflowRunActionRequestHistoriesClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "logic.WorkflowRunActionRequestHistoriesClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.WorkflowRunActionRequestHistoriesClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client WorkflowRunActionRequestHistoriesClient) ListComplete(ctx context.Context, resourceGroupName string, workflowName string, runName string, actionName string) (result RequestHistoryListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WorkflowRunActionRequestHistoriesClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName, workflowName, runName, actionName) + return +} diff --git a/services/preview/logic/mgmt/2019-05-01/logic/workflowrunactions.go b/services/preview/logic/mgmt/2019-05-01/logic/workflowrunactions.go new file mode 100644 index 000000000000..cffaf204691e --- /dev/null +++ b/services/preview/logic/mgmt/2019-05-01/logic/workflowrunactions.go @@ -0,0 +1,328 @@ +package logic + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// WorkflowRunActionsClient is the REST API for Azure Logic Apps. +type WorkflowRunActionsClient struct { + BaseClient +} + +// NewWorkflowRunActionsClient creates an instance of the WorkflowRunActionsClient client. +func NewWorkflowRunActionsClient(subscriptionID string) WorkflowRunActionsClient { + return NewWorkflowRunActionsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewWorkflowRunActionsClientWithBaseURI creates an instance of the WorkflowRunActionsClient client. +func NewWorkflowRunActionsClientWithBaseURI(baseURI string, subscriptionID string) WorkflowRunActionsClient { + return WorkflowRunActionsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// Get gets a workflow run action. +// Parameters: +// resourceGroupName - the resource group name. +// workflowName - the workflow name. +// runName - the workflow run name. +// actionName - the workflow action name. +func (client WorkflowRunActionsClient) Get(ctx context.Context, resourceGroupName string, workflowName string, runName string, actionName string) (result WorkflowRunAction, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WorkflowRunActionsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, workflowName, runName, actionName) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.WorkflowRunActionsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "logic.WorkflowRunActionsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.WorkflowRunActionsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client WorkflowRunActionsClient) GetPreparer(ctx context.Context, resourceGroupName string, workflowName string, runName string, actionName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "actionName": autorest.Encode("path", actionName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "runName": autorest.Encode("path", runName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "workflowName": autorest.Encode("path", workflowName), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client WorkflowRunActionsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client WorkflowRunActionsClient) GetResponder(resp *http.Response) (result WorkflowRunAction, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets a list of workflow run actions. +// Parameters: +// resourceGroupName - the resource group name. +// workflowName - the workflow name. +// runName - the workflow run name. +// top - the number of items to be included in the result. +// filter - the filter to apply on the operation. Options for filters include: Status. +func (client WorkflowRunActionsClient) List(ctx context.Context, resourceGroupName string, workflowName string, runName string, top *int32, filter string) (result WorkflowRunActionListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WorkflowRunActionsClient.List") + defer func() { + sc := -1 + if result.wralr.Response.Response != nil { + sc = result.wralr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName, workflowName, runName, top, filter) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.WorkflowRunActionsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.wralr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "logic.WorkflowRunActionsClient", "List", resp, "Failure sending request") + return + } + + result.wralr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.WorkflowRunActionsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client WorkflowRunActionsClient) ListPreparer(ctx context.Context, resourceGroupName string, workflowName string, runName string, top *int32, filter string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "runName": autorest.Encode("path", runName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "workflowName": autorest.Encode("path", workflowName), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if top != nil { + queryParameters["$top"] = autorest.Encode("query", *top) + } + if len(filter) > 0 { + queryParameters["$filter"] = autorest.Encode("query", filter) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client WorkflowRunActionsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client WorkflowRunActionsClient) ListResponder(resp *http.Response) (result WorkflowRunActionListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client WorkflowRunActionsClient) listNextResults(ctx context.Context, lastResults WorkflowRunActionListResult) (result WorkflowRunActionListResult, err error) { + req, err := lastResults.workflowRunActionListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "logic.WorkflowRunActionsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "logic.WorkflowRunActionsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.WorkflowRunActionsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client WorkflowRunActionsClient) ListComplete(ctx context.Context, resourceGroupName string, workflowName string, runName string, top *int32, filter string) (result WorkflowRunActionListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WorkflowRunActionsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName, workflowName, runName, top, filter) + return +} + +// ListExpressionTraces lists a workflow run expression trace. +// Parameters: +// resourceGroupName - the resource group name. +// workflowName - the workflow name. +// runName - the workflow run name. +// actionName - the workflow action name. +func (client WorkflowRunActionsClient) ListExpressionTraces(ctx context.Context, resourceGroupName string, workflowName string, runName string, actionName string) (result ExpressionTraces, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WorkflowRunActionsClient.ListExpressionTraces") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListExpressionTracesPreparer(ctx, resourceGroupName, workflowName, runName, actionName) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.WorkflowRunActionsClient", "ListExpressionTraces", nil, "Failure preparing request") + return + } + + resp, err := client.ListExpressionTracesSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "logic.WorkflowRunActionsClient", "ListExpressionTraces", resp, "Failure sending request") + return + } + + result, err = client.ListExpressionTracesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.WorkflowRunActionsClient", "ListExpressionTraces", resp, "Failure responding to request") + } + + return +} + +// ListExpressionTracesPreparer prepares the ListExpressionTraces request. +func (client WorkflowRunActionsClient) ListExpressionTracesPreparer(ctx context.Context, resourceGroupName string, workflowName string, runName string, actionName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "actionName": autorest.Encode("path", actionName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "runName": autorest.Encode("path", runName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "workflowName": autorest.Encode("path", workflowName), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}/listExpressionTraces", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListExpressionTracesSender sends the ListExpressionTraces request. The method will close the +// http.Response Body if it receives an error. +func (client WorkflowRunActionsClient) ListExpressionTracesSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListExpressionTracesResponder handles the response to the ListExpressionTraces request. The method always +// closes the http.Response Body. +func (client WorkflowRunActionsClient) ListExpressionTracesResponder(resp *http.Response) (result ExpressionTraces, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/preview/logic/mgmt/2019-05-01/logic/workflowrunactionscoperepetitions.go b/services/preview/logic/mgmt/2019-05-01/logic/workflowrunactionscoperepetitions.go new file mode 100644 index 000000000000..78cffe1c0981 --- /dev/null +++ b/services/preview/logic/mgmt/2019-05-01/logic/workflowrunactionscoperepetitions.go @@ -0,0 +1,207 @@ +package logic + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// WorkflowRunActionScopeRepetitionsClient is the REST API for Azure Logic Apps. +type WorkflowRunActionScopeRepetitionsClient struct { + BaseClient +} + +// NewWorkflowRunActionScopeRepetitionsClient creates an instance of the WorkflowRunActionScopeRepetitionsClient +// client. +func NewWorkflowRunActionScopeRepetitionsClient(subscriptionID string) WorkflowRunActionScopeRepetitionsClient { + return NewWorkflowRunActionScopeRepetitionsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewWorkflowRunActionScopeRepetitionsClientWithBaseURI creates an instance of the +// WorkflowRunActionScopeRepetitionsClient client. +func NewWorkflowRunActionScopeRepetitionsClientWithBaseURI(baseURI string, subscriptionID string) WorkflowRunActionScopeRepetitionsClient { + return WorkflowRunActionScopeRepetitionsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// Get get a workflow run action scoped repetition. +// Parameters: +// resourceGroupName - the resource group name. +// workflowName - the workflow name. +// runName - the workflow run name. +// actionName - the workflow action name. +// repetitionName - the workflow repetition. +func (client WorkflowRunActionScopeRepetitionsClient) Get(ctx context.Context, resourceGroupName string, workflowName string, runName string, actionName string, repetitionName string) (result WorkflowRunActionRepetitionDefinition, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WorkflowRunActionScopeRepetitionsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, workflowName, runName, actionName, repetitionName) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.WorkflowRunActionScopeRepetitionsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "logic.WorkflowRunActionScopeRepetitionsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.WorkflowRunActionScopeRepetitionsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client WorkflowRunActionScopeRepetitionsClient) GetPreparer(ctx context.Context, resourceGroupName string, workflowName string, runName string, actionName string, repetitionName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "actionName": autorest.Encode("path", actionName), + "repetitionName": autorest.Encode("path", repetitionName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "runName": autorest.Encode("path", runName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "workflowName": autorest.Encode("path", workflowName), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}/scopeRepetitions/{repetitionName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client WorkflowRunActionScopeRepetitionsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client WorkflowRunActionScopeRepetitionsClient) GetResponder(resp *http.Response) (result WorkflowRunActionRepetitionDefinition, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List list the workflow run action scoped repetitions. +// Parameters: +// resourceGroupName - the resource group name. +// workflowName - the workflow name. +// runName - the workflow run name. +// actionName - the workflow action name. +func (client WorkflowRunActionScopeRepetitionsClient) List(ctx context.Context, resourceGroupName string, workflowName string, runName string, actionName string) (result WorkflowRunActionRepetitionDefinitionCollection, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WorkflowRunActionScopeRepetitionsClient.List") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListPreparer(ctx, resourceGroupName, workflowName, runName, actionName) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.WorkflowRunActionScopeRepetitionsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "logic.WorkflowRunActionScopeRepetitionsClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.WorkflowRunActionScopeRepetitionsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client WorkflowRunActionScopeRepetitionsClient) ListPreparer(ctx context.Context, resourceGroupName string, workflowName string, runName string, actionName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "actionName": autorest.Encode("path", actionName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "runName": autorest.Encode("path", runName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "workflowName": autorest.Encode("path", workflowName), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}/scopeRepetitions", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client WorkflowRunActionScopeRepetitionsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client WorkflowRunActionScopeRepetitionsClient) ListResponder(resp *http.Response) (result WorkflowRunActionRepetitionDefinitionCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/preview/logic/mgmt/2019-05-01/logic/workflowrunoperations.go b/services/preview/logic/mgmt/2019-05-01/logic/workflowrunoperations.go new file mode 100644 index 000000000000..1e6201c9164a --- /dev/null +++ b/services/preview/logic/mgmt/2019-05-01/logic/workflowrunoperations.go @@ -0,0 +1,122 @@ +package logic + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// WorkflowRunOperationsClient is the REST API for Azure Logic Apps. +type WorkflowRunOperationsClient struct { + BaseClient +} + +// NewWorkflowRunOperationsClient creates an instance of the WorkflowRunOperationsClient client. +func NewWorkflowRunOperationsClient(subscriptionID string) WorkflowRunOperationsClient { + return NewWorkflowRunOperationsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewWorkflowRunOperationsClientWithBaseURI creates an instance of the WorkflowRunOperationsClient client. +func NewWorkflowRunOperationsClientWithBaseURI(baseURI string, subscriptionID string) WorkflowRunOperationsClient { + return WorkflowRunOperationsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// Get gets an operation for a run. +// Parameters: +// resourceGroupName - the resource group name. +// workflowName - the workflow name. +// runName - the workflow run name. +// operationID - the workflow operation id. +func (client WorkflowRunOperationsClient) Get(ctx context.Context, resourceGroupName string, workflowName string, runName string, operationID string) (result WorkflowRun, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WorkflowRunOperationsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, workflowName, runName, operationID) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.WorkflowRunOperationsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "logic.WorkflowRunOperationsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.WorkflowRunOperationsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client WorkflowRunOperationsClient) GetPreparer(ctx context.Context, resourceGroupName string, workflowName string, runName string, operationID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "operationId": autorest.Encode("path", operationID), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "runName": autorest.Encode("path", runName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "workflowName": autorest.Encode("path", workflowName), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/operations/{operationId}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client WorkflowRunOperationsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client WorkflowRunOperationsClient) GetResponder(resp *http.Response) (result WorkflowRun, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/preview/logic/mgmt/2019-05-01/logic/workflowruns.go b/services/preview/logic/mgmt/2019-05-01/logic/workflowruns.go new file mode 100644 index 000000000000..ed0aeb6c1f89 --- /dev/null +++ b/services/preview/logic/mgmt/2019-05-01/logic/workflowruns.go @@ -0,0 +1,322 @@ +package logic + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// WorkflowRunsClient is the REST API for Azure Logic Apps. +type WorkflowRunsClient struct { + BaseClient +} + +// NewWorkflowRunsClient creates an instance of the WorkflowRunsClient client. +func NewWorkflowRunsClient(subscriptionID string) WorkflowRunsClient { + return NewWorkflowRunsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewWorkflowRunsClientWithBaseURI creates an instance of the WorkflowRunsClient client. +func NewWorkflowRunsClientWithBaseURI(baseURI string, subscriptionID string) WorkflowRunsClient { + return WorkflowRunsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// Cancel cancels a workflow run. +// Parameters: +// resourceGroupName - the resource group name. +// workflowName - the workflow name. +// runName - the workflow run name. +func (client WorkflowRunsClient) Cancel(ctx context.Context, resourceGroupName string, workflowName string, runName string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WorkflowRunsClient.Cancel") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CancelPreparer(ctx, resourceGroupName, workflowName, runName) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.WorkflowRunsClient", "Cancel", nil, "Failure preparing request") + return + } + + resp, err := client.CancelSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "logic.WorkflowRunsClient", "Cancel", resp, "Failure sending request") + return + } + + result, err = client.CancelResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.WorkflowRunsClient", "Cancel", resp, "Failure responding to request") + } + + return +} + +// CancelPreparer prepares the Cancel request. +func (client WorkflowRunsClient) CancelPreparer(ctx context.Context, resourceGroupName string, workflowName string, runName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "runName": autorest.Encode("path", runName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "workflowName": autorest.Encode("path", workflowName), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/cancel", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CancelSender sends the Cancel request. The method will close the +// http.Response Body if it receives an error. +func (client WorkflowRunsClient) CancelSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CancelResponder handles the response to the Cancel request. The method always +// closes the http.Response Body. +func (client WorkflowRunsClient) CancelResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets a workflow run. +// Parameters: +// resourceGroupName - the resource group name. +// workflowName - the workflow name. +// runName - the workflow run name. +func (client WorkflowRunsClient) Get(ctx context.Context, resourceGroupName string, workflowName string, runName string) (result WorkflowRun, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WorkflowRunsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, workflowName, runName) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.WorkflowRunsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "logic.WorkflowRunsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.WorkflowRunsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client WorkflowRunsClient) GetPreparer(ctx context.Context, resourceGroupName string, workflowName string, runName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "runName": autorest.Encode("path", runName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "workflowName": autorest.Encode("path", workflowName), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client WorkflowRunsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client WorkflowRunsClient) GetResponder(resp *http.Response) (result WorkflowRun, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets a list of workflow runs. +// Parameters: +// resourceGroupName - the resource group name. +// workflowName - the workflow name. +// top - the number of items to be included in the result. +// filter - the filter to apply on the operation. Options for filters include: Status, StartTime, and +// ClientTrackingId. +func (client WorkflowRunsClient) List(ctx context.Context, resourceGroupName string, workflowName string, top *int32, filter string) (result WorkflowRunListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WorkflowRunsClient.List") + defer func() { + sc := -1 + if result.wrlr.Response.Response != nil { + sc = result.wrlr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName, workflowName, top, filter) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.WorkflowRunsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.wrlr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "logic.WorkflowRunsClient", "List", resp, "Failure sending request") + return + } + + result.wrlr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.WorkflowRunsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client WorkflowRunsClient) ListPreparer(ctx context.Context, resourceGroupName string, workflowName string, top *int32, filter string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "workflowName": autorest.Encode("path", workflowName), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if top != nil { + queryParameters["$top"] = autorest.Encode("query", *top) + } + if len(filter) > 0 { + queryParameters["$filter"] = autorest.Encode("query", filter) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client WorkflowRunsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client WorkflowRunsClient) ListResponder(resp *http.Response) (result WorkflowRunListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client WorkflowRunsClient) listNextResults(ctx context.Context, lastResults WorkflowRunListResult) (result WorkflowRunListResult, err error) { + req, err := lastResults.workflowRunListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "logic.WorkflowRunsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "logic.WorkflowRunsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.WorkflowRunsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client WorkflowRunsClient) ListComplete(ctx context.Context, resourceGroupName string, workflowName string, top *int32, filter string) (result WorkflowRunListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WorkflowRunsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName, workflowName, top, filter) + return +} diff --git a/services/preview/logic/mgmt/2019-05-01/logic/workflows.go b/services/preview/logic/mgmt/2019-05-01/logic/workflows.go new file mode 100644 index 000000000000..198e11baabf0 --- /dev/null +++ b/services/preview/logic/mgmt/2019-05-01/logic/workflows.go @@ -0,0 +1,1300 @@ +package logic + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// WorkflowsClient is the REST API for Azure Logic Apps. +type WorkflowsClient struct { + BaseClient +} + +// NewWorkflowsClient creates an instance of the WorkflowsClient client. +func NewWorkflowsClient(subscriptionID string) WorkflowsClient { + return NewWorkflowsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewWorkflowsClientWithBaseURI creates an instance of the WorkflowsClient client. +func NewWorkflowsClientWithBaseURI(baseURI string, subscriptionID string) WorkflowsClient { + return WorkflowsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates a workflow. +// Parameters: +// resourceGroupName - the resource group name. +// workflowName - the workflow name. +// workflow - the workflow. +func (client WorkflowsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, workflowName string, workflow Workflow) (result Workflow, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WorkflowsClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, workflowName, workflow) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.WorkflowsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "logic.WorkflowsClient", "CreateOrUpdate", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.WorkflowsClient", "CreateOrUpdate", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client WorkflowsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, workflowName string, workflow Workflow) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "workflowName": autorest.Encode("path", workflowName), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}", pathParameters), + autorest.WithJSON(workflow), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client WorkflowsClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client WorkflowsClient) CreateOrUpdateResponder(resp *http.Response) (result Workflow, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes a workflow. +// Parameters: +// resourceGroupName - the resource group name. +// workflowName - the workflow name. +func (client WorkflowsClient) Delete(ctx context.Context, resourceGroupName string, workflowName string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WorkflowsClient.Delete") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, workflowName) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.WorkflowsClient", "Delete", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "logic.WorkflowsClient", "Delete", resp, "Failure sending request") + return + } + + result, err = client.DeleteResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.WorkflowsClient", "Delete", resp, "Failure responding to request") + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client WorkflowsClient) DeletePreparer(ctx context.Context, resourceGroupName string, workflowName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "workflowName": autorest.Encode("path", workflowName), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client WorkflowsClient) DeleteSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client WorkflowsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Disable disables a workflow. +// Parameters: +// resourceGroupName - the resource group name. +// workflowName - the workflow name. +func (client WorkflowsClient) Disable(ctx context.Context, resourceGroupName string, workflowName string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WorkflowsClient.Disable") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DisablePreparer(ctx, resourceGroupName, workflowName) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.WorkflowsClient", "Disable", nil, "Failure preparing request") + return + } + + resp, err := client.DisableSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "logic.WorkflowsClient", "Disable", resp, "Failure sending request") + return + } + + result, err = client.DisableResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.WorkflowsClient", "Disable", resp, "Failure responding to request") + } + + return +} + +// DisablePreparer prepares the Disable request. +func (client WorkflowsClient) DisablePreparer(ctx context.Context, resourceGroupName string, workflowName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "workflowName": autorest.Encode("path", workflowName), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/disable", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DisableSender sends the Disable request. The method will close the +// http.Response Body if it receives an error. +func (client WorkflowsClient) DisableSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// DisableResponder handles the response to the Disable request. The method always +// closes the http.Response Body. +func (client WorkflowsClient) DisableResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByClosing()) + result.Response = resp + return +} + +// Enable enables a workflow. +// Parameters: +// resourceGroupName - the resource group name. +// workflowName - the workflow name. +func (client WorkflowsClient) Enable(ctx context.Context, resourceGroupName string, workflowName string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WorkflowsClient.Enable") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.EnablePreparer(ctx, resourceGroupName, workflowName) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.WorkflowsClient", "Enable", nil, "Failure preparing request") + return + } + + resp, err := client.EnableSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "logic.WorkflowsClient", "Enable", resp, "Failure sending request") + return + } + + result, err = client.EnableResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.WorkflowsClient", "Enable", resp, "Failure responding to request") + } + + return +} + +// EnablePreparer prepares the Enable request. +func (client WorkflowsClient) EnablePreparer(ctx context.Context, resourceGroupName string, workflowName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "workflowName": autorest.Encode("path", workflowName), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/enable", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// EnableSender sends the Enable request. The method will close the +// http.Response Body if it receives an error. +func (client WorkflowsClient) EnableSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// EnableResponder handles the response to the Enable request. The method always +// closes the http.Response Body. +func (client WorkflowsClient) EnableResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByClosing()) + result.Response = resp + return +} + +// GenerateUpgradedDefinition generates the upgraded definition for a workflow. +// Parameters: +// resourceGroupName - the resource group name. +// workflowName - the workflow name. +// parameters - parameters for generating an upgraded definition. +func (client WorkflowsClient) GenerateUpgradedDefinition(ctx context.Context, resourceGroupName string, workflowName string, parameters GenerateUpgradedDefinitionParameters) (result SetObject, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WorkflowsClient.GenerateUpgradedDefinition") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GenerateUpgradedDefinitionPreparer(ctx, resourceGroupName, workflowName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.WorkflowsClient", "GenerateUpgradedDefinition", nil, "Failure preparing request") + return + } + + resp, err := client.GenerateUpgradedDefinitionSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "logic.WorkflowsClient", "GenerateUpgradedDefinition", resp, "Failure sending request") + return + } + + result, err = client.GenerateUpgradedDefinitionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.WorkflowsClient", "GenerateUpgradedDefinition", resp, "Failure responding to request") + } + + return +} + +// GenerateUpgradedDefinitionPreparer prepares the GenerateUpgradedDefinition request. +func (client WorkflowsClient) GenerateUpgradedDefinitionPreparer(ctx context.Context, resourceGroupName string, workflowName string, parameters GenerateUpgradedDefinitionParameters) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "workflowName": autorest.Encode("path", workflowName), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/generateUpgradedDefinition", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GenerateUpgradedDefinitionSender sends the GenerateUpgradedDefinition request. The method will close the +// http.Response Body if it receives an error. +func (client WorkflowsClient) GenerateUpgradedDefinitionSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GenerateUpgradedDefinitionResponder handles the response to the GenerateUpgradedDefinition request. The method always +// closes the http.Response Body. +func (client WorkflowsClient) GenerateUpgradedDefinitionResponder(resp *http.Response) (result SetObject, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result.Value), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Get gets a workflow. +// Parameters: +// resourceGroupName - the resource group name. +// workflowName - the workflow name. +func (client WorkflowsClient) Get(ctx context.Context, resourceGroupName string, workflowName string) (result Workflow, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WorkflowsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, workflowName) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.WorkflowsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "logic.WorkflowsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.WorkflowsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client WorkflowsClient) GetPreparer(ctx context.Context, resourceGroupName string, workflowName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "workflowName": autorest.Encode("path", workflowName), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client WorkflowsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client WorkflowsClient) GetResponder(resp *http.Response) (result Workflow, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByResourceGroup gets a list of workflows by resource group. +// Parameters: +// resourceGroupName - the resource group name. +// top - the number of items to be included in the result. +// filter - the filter to apply on the operation. Options for filters include: State, Trigger, and +// ReferencedResourceId. +func (client WorkflowsClient) ListByResourceGroup(ctx context.Context, resourceGroupName string, top *int32, filter string) (result WorkflowListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WorkflowsClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.wlr.Response.Response != nil { + sc = result.wlr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listByResourceGroupNextResults + req, err := client.ListByResourceGroupPreparer(ctx, resourceGroupName, top, filter) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.WorkflowsClient", "ListByResourceGroup", nil, "Failure preparing request") + return + } + + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.wlr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "logic.WorkflowsClient", "ListByResourceGroup", resp, "Failure sending request") + return + } + + result.wlr, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.WorkflowsClient", "ListByResourceGroup", resp, "Failure responding to request") + } + + return +} + +// ListByResourceGroupPreparer prepares the ListByResourceGroup request. +func (client WorkflowsClient) ListByResourceGroupPreparer(ctx context.Context, resourceGroupName string, top *int32, filter string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if top != nil { + queryParameters["$top"] = autorest.Encode("query", *top) + } + if len(filter) > 0 { + queryParameters["$filter"] = autorest.Encode("query", filter) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByResourceGroupSender sends the ListByResourceGroup request. The method will close the +// http.Response Body if it receives an error. +func (client WorkflowsClient) ListByResourceGroupSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByResourceGroupResponder handles the response to the ListByResourceGroup request. The method always +// closes the http.Response Body. +func (client WorkflowsClient) ListByResourceGroupResponder(resp *http.Response) (result WorkflowListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listByResourceGroupNextResults retrieves the next set of results, if any. +func (client WorkflowsClient) listByResourceGroupNextResults(ctx context.Context, lastResults WorkflowListResult) (result WorkflowListResult, err error) { + req, err := lastResults.workflowListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "logic.WorkflowsClient", "listByResourceGroupNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "logic.WorkflowsClient", "listByResourceGroupNextResults", resp, "Failure sending next results request") + } + result, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.WorkflowsClient", "listByResourceGroupNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListByResourceGroupComplete enumerates all values, automatically crossing page boundaries as required. +func (client WorkflowsClient) ListByResourceGroupComplete(ctx context.Context, resourceGroupName string, top *int32, filter string) (result WorkflowListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WorkflowsClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListByResourceGroup(ctx, resourceGroupName, top, filter) + return +} + +// ListBySubscription gets a list of workflows by subscription. +// Parameters: +// top - the number of items to be included in the result. +// filter - the filter to apply on the operation. Options for filters include: State, Trigger, and +// ReferencedResourceId. +func (client WorkflowsClient) ListBySubscription(ctx context.Context, top *int32, filter string) (result WorkflowListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WorkflowsClient.ListBySubscription") + defer func() { + sc := -1 + if result.wlr.Response.Response != nil { + sc = result.wlr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listBySubscriptionNextResults + req, err := client.ListBySubscriptionPreparer(ctx, top, filter) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.WorkflowsClient", "ListBySubscription", nil, "Failure preparing request") + return + } + + resp, err := client.ListBySubscriptionSender(req) + if err != nil { + result.wlr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "logic.WorkflowsClient", "ListBySubscription", resp, "Failure sending request") + return + } + + result.wlr, err = client.ListBySubscriptionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.WorkflowsClient", "ListBySubscription", resp, "Failure responding to request") + } + + return +} + +// ListBySubscriptionPreparer prepares the ListBySubscription request. +func (client WorkflowsClient) ListBySubscriptionPreparer(ctx context.Context, top *int32, filter string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if top != nil { + queryParameters["$top"] = autorest.Encode("query", *top) + } + if len(filter) > 0 { + queryParameters["$filter"] = autorest.Encode("query", filter) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Logic/workflows", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListBySubscriptionSender sends the ListBySubscription request. The method will close the +// http.Response Body if it receives an error. +func (client WorkflowsClient) ListBySubscriptionSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListBySubscriptionResponder handles the response to the ListBySubscription request. The method always +// closes the http.Response Body. +func (client WorkflowsClient) ListBySubscriptionResponder(resp *http.Response) (result WorkflowListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listBySubscriptionNextResults retrieves the next set of results, if any. +func (client WorkflowsClient) listBySubscriptionNextResults(ctx context.Context, lastResults WorkflowListResult) (result WorkflowListResult, err error) { + req, err := lastResults.workflowListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "logic.WorkflowsClient", "listBySubscriptionNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListBySubscriptionSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "logic.WorkflowsClient", "listBySubscriptionNextResults", resp, "Failure sending next results request") + } + result, err = client.ListBySubscriptionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.WorkflowsClient", "listBySubscriptionNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListBySubscriptionComplete enumerates all values, automatically crossing page boundaries as required. +func (client WorkflowsClient) ListBySubscriptionComplete(ctx context.Context, top *int32, filter string) (result WorkflowListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WorkflowsClient.ListBySubscription") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListBySubscription(ctx, top, filter) + return +} + +// ListCallbackURL get the workflow callback Url. +// Parameters: +// resourceGroupName - the resource group name. +// workflowName - the workflow name. +// listCallbackURL - which callback url to list. +func (client WorkflowsClient) ListCallbackURL(ctx context.Context, resourceGroupName string, workflowName string, listCallbackURL GetCallbackURLParameters) (result WorkflowTriggerCallbackURL, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WorkflowsClient.ListCallbackURL") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListCallbackURLPreparer(ctx, resourceGroupName, workflowName, listCallbackURL) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.WorkflowsClient", "ListCallbackURL", nil, "Failure preparing request") + return + } + + resp, err := client.ListCallbackURLSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "logic.WorkflowsClient", "ListCallbackURL", resp, "Failure sending request") + return + } + + result, err = client.ListCallbackURLResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.WorkflowsClient", "ListCallbackURL", resp, "Failure responding to request") + } + + return +} + +// ListCallbackURLPreparer prepares the ListCallbackURL request. +func (client WorkflowsClient) ListCallbackURLPreparer(ctx context.Context, resourceGroupName string, workflowName string, listCallbackURL GetCallbackURLParameters) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "workflowName": autorest.Encode("path", workflowName), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/listCallbackUrl", pathParameters), + autorest.WithJSON(listCallbackURL), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListCallbackURLSender sends the ListCallbackURL request. The method will close the +// http.Response Body if it receives an error. +func (client WorkflowsClient) ListCallbackURLSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListCallbackURLResponder handles the response to the ListCallbackURL request. The method always +// closes the http.Response Body. +func (client WorkflowsClient) ListCallbackURLResponder(resp *http.Response) (result WorkflowTriggerCallbackURL, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListSwagger gets an OpenAPI definition for the workflow. +// Parameters: +// resourceGroupName - the resource group name. +// workflowName - the workflow name. +func (client WorkflowsClient) ListSwagger(ctx context.Context, resourceGroupName string, workflowName string) (result SetObject, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WorkflowsClient.ListSwagger") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListSwaggerPreparer(ctx, resourceGroupName, workflowName) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.WorkflowsClient", "ListSwagger", nil, "Failure preparing request") + return + } + + resp, err := client.ListSwaggerSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "logic.WorkflowsClient", "ListSwagger", resp, "Failure sending request") + return + } + + result, err = client.ListSwaggerResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.WorkflowsClient", "ListSwagger", resp, "Failure responding to request") + } + + return +} + +// ListSwaggerPreparer prepares the ListSwagger request. +func (client WorkflowsClient) ListSwaggerPreparer(ctx context.Context, resourceGroupName string, workflowName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "workflowName": autorest.Encode("path", workflowName), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/listSwagger", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSwaggerSender sends the ListSwagger request. The method will close the +// http.Response Body if it receives an error. +func (client WorkflowsClient) ListSwaggerSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListSwaggerResponder handles the response to the ListSwagger request. The method always +// closes the http.Response Body. +func (client WorkflowsClient) ListSwaggerResponder(resp *http.Response) (result SetObject, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result.Value), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Move moves an existing workflow. +// Parameters: +// resourceGroupName - the resource group name. +// workflowName - the workflow name. +// move - the workflow to move. +func (client WorkflowsClient) Move(ctx context.Context, resourceGroupName string, workflowName string, move Workflow) (result WorkflowsMoveFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WorkflowsClient.Move") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.MovePreparer(ctx, resourceGroupName, workflowName, move) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.WorkflowsClient", "Move", nil, "Failure preparing request") + return + } + + result, err = client.MoveSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.WorkflowsClient", "Move", result.Response(), "Failure sending request") + return + } + + return +} + +// MovePreparer prepares the Move request. +func (client WorkflowsClient) MovePreparer(ctx context.Context, resourceGroupName string, workflowName string, move Workflow) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "workflowName": autorest.Encode("path", workflowName), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/move", pathParameters), + autorest.WithJSON(move), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// MoveSender sends the Move request. The method will close the +// http.Response Body if it receives an error. +func (client WorkflowsClient) MoveSender(req *http.Request) (future WorkflowsMoveFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// MoveResponder handles the response to the Move request. The method always +// closes the http.Response Body. +func (client WorkflowsClient) MoveResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByClosing()) + result.Response = resp + return +} + +// RegenerateAccessKey regenerates the callback URL access key for request triggers. +// Parameters: +// resourceGroupName - the resource group name. +// workflowName - the workflow name. +// keyType - the access key type. +func (client WorkflowsClient) RegenerateAccessKey(ctx context.Context, resourceGroupName string, workflowName string, keyType RegenerateActionParameter) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WorkflowsClient.RegenerateAccessKey") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.RegenerateAccessKeyPreparer(ctx, resourceGroupName, workflowName, keyType) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.WorkflowsClient", "RegenerateAccessKey", nil, "Failure preparing request") + return + } + + resp, err := client.RegenerateAccessKeySender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "logic.WorkflowsClient", "RegenerateAccessKey", resp, "Failure sending request") + return + } + + result, err = client.RegenerateAccessKeyResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.WorkflowsClient", "RegenerateAccessKey", resp, "Failure responding to request") + } + + return +} + +// RegenerateAccessKeyPreparer prepares the RegenerateAccessKey request. +func (client WorkflowsClient) RegenerateAccessKeyPreparer(ctx context.Context, resourceGroupName string, workflowName string, keyType RegenerateActionParameter) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "workflowName": autorest.Encode("path", workflowName), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/regenerateAccessKey", pathParameters), + autorest.WithJSON(keyType), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// RegenerateAccessKeySender sends the RegenerateAccessKey request. The method will close the +// http.Response Body if it receives an error. +func (client WorkflowsClient) RegenerateAccessKeySender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// RegenerateAccessKeyResponder handles the response to the RegenerateAccessKey request. The method always +// closes the http.Response Body. +func (client WorkflowsClient) RegenerateAccessKeyResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByClosing()) + result.Response = resp + return +} + +// Update updates a workflow. +// Parameters: +// resourceGroupName - the resource group name. +// workflowName - the workflow name. +// workflow - the workflow. +func (client WorkflowsClient) Update(ctx context.Context, resourceGroupName string, workflowName string, workflow Workflow) (result Workflow, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WorkflowsClient.Update") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdatePreparer(ctx, resourceGroupName, workflowName, workflow) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.WorkflowsClient", "Update", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "logic.WorkflowsClient", "Update", resp, "Failure sending request") + return + } + + result, err = client.UpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.WorkflowsClient", "Update", resp, "Failure responding to request") + } + + return +} + +// UpdatePreparer prepares the Update request. +func (client WorkflowsClient) UpdatePreparer(ctx context.Context, resourceGroupName string, workflowName string, workflow Workflow) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "workflowName": autorest.Encode("path", workflowName), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}", pathParameters), + autorest.WithJSON(workflow), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateSender sends the Update request. The method will close the +// http.Response Body if it receives an error. +func (client WorkflowsClient) UpdateSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// UpdateResponder handles the response to the Update request. The method always +// closes the http.Response Body. +func (client WorkflowsClient) UpdateResponder(resp *http.Response) (result Workflow, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ValidateByLocation validates the workflow definition. +// Parameters: +// resourceGroupName - the resource group name. +// location - the workflow location. +// workflowName - the workflow name. +func (client WorkflowsClient) ValidateByLocation(ctx context.Context, resourceGroupName string, location string, workflowName string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WorkflowsClient.ValidateByLocation") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ValidateByLocationPreparer(ctx, resourceGroupName, location, workflowName) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.WorkflowsClient", "ValidateByLocation", nil, "Failure preparing request") + return + } + + resp, err := client.ValidateByLocationSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "logic.WorkflowsClient", "ValidateByLocation", resp, "Failure sending request") + return + } + + result, err = client.ValidateByLocationResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.WorkflowsClient", "ValidateByLocation", resp, "Failure responding to request") + } + + return +} + +// ValidateByLocationPreparer prepares the ValidateByLocation request. +func (client WorkflowsClient) ValidateByLocationPreparer(ctx context.Context, resourceGroupName string, location string, workflowName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "location": autorest.Encode("path", location), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "workflowName": autorest.Encode("path", workflowName), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/locations/{location}/workflows/{workflowName}/validate", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ValidateByLocationSender sends the ValidateByLocation request. The method will close the +// http.Response Body if it receives an error. +func (client WorkflowsClient) ValidateByLocationSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ValidateByLocationResponder handles the response to the ValidateByLocation request. The method always +// closes the http.Response Body. +func (client WorkflowsClient) ValidateByLocationResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByClosing()) + result.Response = resp + return +} + +// ValidateByResourceGroup validates the workflow. +// Parameters: +// resourceGroupName - the resource group name. +// workflowName - the workflow name. +// validate - the workflow. +func (client WorkflowsClient) ValidateByResourceGroup(ctx context.Context, resourceGroupName string, workflowName string, validate Workflow) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WorkflowsClient.ValidateByResourceGroup") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ValidateByResourceGroupPreparer(ctx, resourceGroupName, workflowName, validate) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.WorkflowsClient", "ValidateByResourceGroup", nil, "Failure preparing request") + return + } + + resp, err := client.ValidateByResourceGroupSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "logic.WorkflowsClient", "ValidateByResourceGroup", resp, "Failure sending request") + return + } + + result, err = client.ValidateByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.WorkflowsClient", "ValidateByResourceGroup", resp, "Failure responding to request") + } + + return +} + +// ValidateByResourceGroupPreparer prepares the ValidateByResourceGroup request. +func (client WorkflowsClient) ValidateByResourceGroupPreparer(ctx context.Context, resourceGroupName string, workflowName string, validate Workflow) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "workflowName": autorest.Encode("path", workflowName), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/validate", pathParameters), + autorest.WithJSON(validate), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ValidateByResourceGroupSender sends the ValidateByResourceGroup request. The method will close the +// http.Response Body if it receives an error. +func (client WorkflowsClient) ValidateByResourceGroupSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ValidateByResourceGroupResponder handles the response to the ValidateByResourceGroup request. The method always +// closes the http.Response Body. +func (client WorkflowsClient) ValidateByResourceGroupResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByClosing()) + result.Response = resp + return +} diff --git a/services/preview/logic/mgmt/2019-05-01/logic/workflowtriggerhistories.go b/services/preview/logic/mgmt/2019-05-01/logic/workflowtriggerhistories.go new file mode 100644 index 000000000000..0fdc8ec78f30 --- /dev/null +++ b/services/preview/logic/mgmt/2019-05-01/logic/workflowtriggerhistories.go @@ -0,0 +1,330 @@ +package logic + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// WorkflowTriggerHistoriesClient is the REST API for Azure Logic Apps. +type WorkflowTriggerHistoriesClient struct { + BaseClient +} + +// NewWorkflowTriggerHistoriesClient creates an instance of the WorkflowTriggerHistoriesClient client. +func NewWorkflowTriggerHistoriesClient(subscriptionID string) WorkflowTriggerHistoriesClient { + return NewWorkflowTriggerHistoriesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewWorkflowTriggerHistoriesClientWithBaseURI creates an instance of the WorkflowTriggerHistoriesClient client. +func NewWorkflowTriggerHistoriesClientWithBaseURI(baseURI string, subscriptionID string) WorkflowTriggerHistoriesClient { + return WorkflowTriggerHistoriesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// Get gets a workflow trigger history. +// Parameters: +// resourceGroupName - the resource group name. +// workflowName - the workflow name. +// triggerName - the workflow trigger name. +// historyName - the workflow trigger history name. Corresponds to the run name for triggers that resulted in a +// run. +func (client WorkflowTriggerHistoriesClient) Get(ctx context.Context, resourceGroupName string, workflowName string, triggerName string, historyName string) (result WorkflowTriggerHistory, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WorkflowTriggerHistoriesClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, workflowName, triggerName, historyName) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.WorkflowTriggerHistoriesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "logic.WorkflowTriggerHistoriesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.WorkflowTriggerHistoriesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client WorkflowTriggerHistoriesClient) GetPreparer(ctx context.Context, resourceGroupName string, workflowName string, triggerName string, historyName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "historyName": autorest.Encode("path", historyName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "triggerName": autorest.Encode("path", triggerName), + "workflowName": autorest.Encode("path", workflowName), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}/histories/{historyName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client WorkflowTriggerHistoriesClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client WorkflowTriggerHistoriesClient) GetResponder(resp *http.Response) (result WorkflowTriggerHistory, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets a list of workflow trigger histories. +// Parameters: +// resourceGroupName - the resource group name. +// workflowName - the workflow name. +// triggerName - the workflow trigger name. +// top - the number of items to be included in the result. +// filter - the filter to apply on the operation. Options for filters include: Status, StartTime, and +// ClientTrackingId. +func (client WorkflowTriggerHistoriesClient) List(ctx context.Context, resourceGroupName string, workflowName string, triggerName string, top *int32, filter string) (result WorkflowTriggerHistoryListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WorkflowTriggerHistoriesClient.List") + defer func() { + sc := -1 + if result.wthlr.Response.Response != nil { + sc = result.wthlr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName, workflowName, triggerName, top, filter) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.WorkflowTriggerHistoriesClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.wthlr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "logic.WorkflowTriggerHistoriesClient", "List", resp, "Failure sending request") + return + } + + result.wthlr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.WorkflowTriggerHistoriesClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client WorkflowTriggerHistoriesClient) ListPreparer(ctx context.Context, resourceGroupName string, workflowName string, triggerName string, top *int32, filter string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "triggerName": autorest.Encode("path", triggerName), + "workflowName": autorest.Encode("path", workflowName), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if top != nil { + queryParameters["$top"] = autorest.Encode("query", *top) + } + if len(filter) > 0 { + queryParameters["$filter"] = autorest.Encode("query", filter) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}/histories", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client WorkflowTriggerHistoriesClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client WorkflowTriggerHistoriesClient) ListResponder(resp *http.Response) (result WorkflowTriggerHistoryListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client WorkflowTriggerHistoriesClient) listNextResults(ctx context.Context, lastResults WorkflowTriggerHistoryListResult) (result WorkflowTriggerHistoryListResult, err error) { + req, err := lastResults.workflowTriggerHistoryListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "logic.WorkflowTriggerHistoriesClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "logic.WorkflowTriggerHistoriesClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.WorkflowTriggerHistoriesClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client WorkflowTriggerHistoriesClient) ListComplete(ctx context.Context, resourceGroupName string, workflowName string, triggerName string, top *int32, filter string) (result WorkflowTriggerHistoryListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WorkflowTriggerHistoriesClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName, workflowName, triggerName, top, filter) + return +} + +// Resubmit resubmits a workflow run based on the trigger history. +// Parameters: +// resourceGroupName - the resource group name. +// workflowName - the workflow name. +// triggerName - the workflow trigger name. +// historyName - the workflow trigger history name. Corresponds to the run name for triggers that resulted in a +// run. +func (client WorkflowTriggerHistoriesClient) Resubmit(ctx context.Context, resourceGroupName string, workflowName string, triggerName string, historyName string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WorkflowTriggerHistoriesClient.Resubmit") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ResubmitPreparer(ctx, resourceGroupName, workflowName, triggerName, historyName) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.WorkflowTriggerHistoriesClient", "Resubmit", nil, "Failure preparing request") + return + } + + resp, err := client.ResubmitSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "logic.WorkflowTriggerHistoriesClient", "Resubmit", resp, "Failure sending request") + return + } + + result, err = client.ResubmitResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.WorkflowTriggerHistoriesClient", "Resubmit", resp, "Failure responding to request") + } + + return +} + +// ResubmitPreparer prepares the Resubmit request. +func (client WorkflowTriggerHistoriesClient) ResubmitPreparer(ctx context.Context, resourceGroupName string, workflowName string, triggerName string, historyName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "historyName": autorest.Encode("path", historyName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "triggerName": autorest.Encode("path", triggerName), + "workflowName": autorest.Encode("path", workflowName), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}/histories/{historyName}/resubmit", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ResubmitSender sends the Resubmit request. The method will close the +// http.Response Body if it receives an error. +func (client WorkflowTriggerHistoriesClient) ResubmitSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ResubmitResponder handles the response to the Resubmit request. The method always +// closes the http.Response Body. +func (client WorkflowTriggerHistoriesClient) ResubmitResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByClosing()) + result.Response = resp + return +} diff --git a/services/preview/logic/mgmt/2019-05-01/logic/workflowtriggers.go b/services/preview/logic/mgmt/2019-05-01/logic/workflowtriggers.go new file mode 100644 index 000000000000..b7ede0e419fb --- /dev/null +++ b/services/preview/logic/mgmt/2019-05-01/logic/workflowtriggers.go @@ -0,0 +1,646 @@ +package logic + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// WorkflowTriggersClient is the REST API for Azure Logic Apps. +type WorkflowTriggersClient struct { + BaseClient +} + +// NewWorkflowTriggersClient creates an instance of the WorkflowTriggersClient client. +func NewWorkflowTriggersClient(subscriptionID string) WorkflowTriggersClient { + return NewWorkflowTriggersClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewWorkflowTriggersClientWithBaseURI creates an instance of the WorkflowTriggersClient client. +func NewWorkflowTriggersClientWithBaseURI(baseURI string, subscriptionID string) WorkflowTriggersClient { + return WorkflowTriggersClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// Get gets a workflow trigger. +// Parameters: +// resourceGroupName - the resource group name. +// workflowName - the workflow name. +// triggerName - the workflow trigger name. +func (client WorkflowTriggersClient) Get(ctx context.Context, resourceGroupName string, workflowName string, triggerName string) (result WorkflowTrigger, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WorkflowTriggersClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, workflowName, triggerName) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.WorkflowTriggersClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "logic.WorkflowTriggersClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.WorkflowTriggersClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client WorkflowTriggersClient) GetPreparer(ctx context.Context, resourceGroupName string, workflowName string, triggerName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "triggerName": autorest.Encode("path", triggerName), + "workflowName": autorest.Encode("path", workflowName), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client WorkflowTriggersClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client WorkflowTriggersClient) GetResponder(resp *http.Response) (result WorkflowTrigger, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetSchemaJSON get the trigger schema as JSON. +// Parameters: +// resourceGroupName - the resource group name. +// workflowName - the workflow name. +// triggerName - the workflow trigger name. +func (client WorkflowTriggersClient) GetSchemaJSON(ctx context.Context, resourceGroupName string, workflowName string, triggerName string) (result JSONSchema, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WorkflowTriggersClient.GetSchemaJSON") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetSchemaJSONPreparer(ctx, resourceGroupName, workflowName, triggerName) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.WorkflowTriggersClient", "GetSchemaJSON", nil, "Failure preparing request") + return + } + + resp, err := client.GetSchemaJSONSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "logic.WorkflowTriggersClient", "GetSchemaJSON", resp, "Failure sending request") + return + } + + result, err = client.GetSchemaJSONResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.WorkflowTriggersClient", "GetSchemaJSON", resp, "Failure responding to request") + } + + return +} + +// GetSchemaJSONPreparer prepares the GetSchemaJSON request. +func (client WorkflowTriggersClient) GetSchemaJSONPreparer(ctx context.Context, resourceGroupName string, workflowName string, triggerName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "triggerName": autorest.Encode("path", triggerName), + "workflowName": autorest.Encode("path", workflowName), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}/schemas/json", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSchemaJSONSender sends the GetSchemaJSON request. The method will close the +// http.Response Body if it receives an error. +func (client WorkflowTriggersClient) GetSchemaJSONSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetSchemaJSONResponder handles the response to the GetSchemaJSON request. The method always +// closes the http.Response Body. +func (client WorkflowTriggersClient) GetSchemaJSONResponder(resp *http.Response) (result JSONSchema, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets a list of workflow triggers. +// Parameters: +// resourceGroupName - the resource group name. +// workflowName - the workflow name. +// top - the number of items to be included in the result. +// filter - the filter to apply on the operation. +func (client WorkflowTriggersClient) List(ctx context.Context, resourceGroupName string, workflowName string, top *int32, filter string) (result WorkflowTriggerListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WorkflowTriggersClient.List") + defer func() { + sc := -1 + if result.wtlr.Response.Response != nil { + sc = result.wtlr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName, workflowName, top, filter) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.WorkflowTriggersClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.wtlr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "logic.WorkflowTriggersClient", "List", resp, "Failure sending request") + return + } + + result.wtlr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.WorkflowTriggersClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client WorkflowTriggersClient) ListPreparer(ctx context.Context, resourceGroupName string, workflowName string, top *int32, filter string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "workflowName": autorest.Encode("path", workflowName), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if top != nil { + queryParameters["$top"] = autorest.Encode("query", *top) + } + if len(filter) > 0 { + queryParameters["$filter"] = autorest.Encode("query", filter) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client WorkflowTriggersClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client WorkflowTriggersClient) ListResponder(resp *http.Response) (result WorkflowTriggerListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client WorkflowTriggersClient) listNextResults(ctx context.Context, lastResults WorkflowTriggerListResult) (result WorkflowTriggerListResult, err error) { + req, err := lastResults.workflowTriggerListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "logic.WorkflowTriggersClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "logic.WorkflowTriggersClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.WorkflowTriggersClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client WorkflowTriggersClient) ListComplete(ctx context.Context, resourceGroupName string, workflowName string, top *int32, filter string) (result WorkflowTriggerListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WorkflowTriggersClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName, workflowName, top, filter) + return +} + +// ListCallbackURL get the callback URL for a workflow trigger. +// Parameters: +// resourceGroupName - the resource group name. +// workflowName - the workflow name. +// triggerName - the workflow trigger name. +func (client WorkflowTriggersClient) ListCallbackURL(ctx context.Context, resourceGroupName string, workflowName string, triggerName string) (result WorkflowTriggerCallbackURL, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WorkflowTriggersClient.ListCallbackURL") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListCallbackURLPreparer(ctx, resourceGroupName, workflowName, triggerName) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.WorkflowTriggersClient", "ListCallbackURL", nil, "Failure preparing request") + return + } + + resp, err := client.ListCallbackURLSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "logic.WorkflowTriggersClient", "ListCallbackURL", resp, "Failure sending request") + return + } + + result, err = client.ListCallbackURLResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.WorkflowTriggersClient", "ListCallbackURL", resp, "Failure responding to request") + } + + return +} + +// ListCallbackURLPreparer prepares the ListCallbackURL request. +func (client WorkflowTriggersClient) ListCallbackURLPreparer(ctx context.Context, resourceGroupName string, workflowName string, triggerName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "triggerName": autorest.Encode("path", triggerName), + "workflowName": autorest.Encode("path", workflowName), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}/listCallbackUrl", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListCallbackURLSender sends the ListCallbackURL request. The method will close the +// http.Response Body if it receives an error. +func (client WorkflowTriggersClient) ListCallbackURLSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListCallbackURLResponder handles the response to the ListCallbackURL request. The method always +// closes the http.Response Body. +func (client WorkflowTriggersClient) ListCallbackURLResponder(resp *http.Response) (result WorkflowTriggerCallbackURL, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Reset resets a workflow trigger. +// Parameters: +// resourceGroupName - the resource group name. +// workflowName - the workflow name. +// triggerName - the workflow trigger name. +func (client WorkflowTriggersClient) Reset(ctx context.Context, resourceGroupName string, workflowName string, triggerName string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WorkflowTriggersClient.Reset") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ResetPreparer(ctx, resourceGroupName, workflowName, triggerName) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.WorkflowTriggersClient", "Reset", nil, "Failure preparing request") + return + } + + resp, err := client.ResetSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "logic.WorkflowTriggersClient", "Reset", resp, "Failure sending request") + return + } + + result, err = client.ResetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.WorkflowTriggersClient", "Reset", resp, "Failure responding to request") + } + + return +} + +// ResetPreparer prepares the Reset request. +func (client WorkflowTriggersClient) ResetPreparer(ctx context.Context, resourceGroupName string, workflowName string, triggerName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "triggerName": autorest.Encode("path", triggerName), + "workflowName": autorest.Encode("path", workflowName), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}/reset", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ResetSender sends the Reset request. The method will close the +// http.Response Body if it receives an error. +func (client WorkflowTriggersClient) ResetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ResetResponder handles the response to the Reset request. The method always +// closes the http.Response Body. +func (client WorkflowTriggersClient) ResetResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByClosing()) + result.Response = resp + return +} + +// Run runs a workflow trigger. +// Parameters: +// resourceGroupName - the resource group name. +// workflowName - the workflow name. +// triggerName - the workflow trigger name. +func (client WorkflowTriggersClient) Run(ctx context.Context, resourceGroupName string, workflowName string, triggerName string) (result SetObject, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WorkflowTriggersClient.Run") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.RunPreparer(ctx, resourceGroupName, workflowName, triggerName) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.WorkflowTriggersClient", "Run", nil, "Failure preparing request") + return + } + + resp, err := client.RunSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "logic.WorkflowTriggersClient", "Run", resp, "Failure sending request") + return + } + + result, err = client.RunResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.WorkflowTriggersClient", "Run", resp, "Failure responding to request") + } + + return +} + +// RunPreparer prepares the Run request. +func (client WorkflowTriggersClient) RunPreparer(ctx context.Context, resourceGroupName string, workflowName string, triggerName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "triggerName": autorest.Encode("path", triggerName), + "workflowName": autorest.Encode("path", workflowName), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}/run", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// RunSender sends the Run request. The method will close the +// http.Response Body if it receives an error. +func (client WorkflowTriggersClient) RunSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// RunResponder handles the response to the Run request. The method always +// closes the http.Response Body. +func (client WorkflowTriggersClient) RunResponder(resp *http.Response) (result SetObject, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result.Value), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// SetState sets the state of a workflow trigger. +// Parameters: +// resourceGroupName - the resource group name. +// workflowName - the workflow name. +// triggerName - the workflow trigger name. +// setState - the workflow trigger state. +func (client WorkflowTriggersClient) SetState(ctx context.Context, resourceGroupName string, workflowName string, triggerName string, setState SetTriggerStateActionDefinition) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WorkflowTriggersClient.SetState") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: setState, + Constraints: []validation.Constraint{{Target: "setState.Source", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + return result, validation.NewError("logic.WorkflowTriggersClient", "SetState", err.Error()) + } + + req, err := client.SetStatePreparer(ctx, resourceGroupName, workflowName, triggerName, setState) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.WorkflowTriggersClient", "SetState", nil, "Failure preparing request") + return + } + + resp, err := client.SetStateSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "logic.WorkflowTriggersClient", "SetState", resp, "Failure sending request") + return + } + + result, err = client.SetStateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.WorkflowTriggersClient", "SetState", resp, "Failure responding to request") + } + + return +} + +// SetStatePreparer prepares the SetState request. +func (client WorkflowTriggersClient) SetStatePreparer(ctx context.Context, resourceGroupName string, workflowName string, triggerName string, setState SetTriggerStateActionDefinition) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "triggerName": autorest.Encode("path", triggerName), + "workflowName": autorest.Encode("path", workflowName), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}/setState", pathParameters), + autorest.WithJSON(setState), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// SetStateSender sends the SetState request. The method will close the +// http.Response Body if it receives an error. +func (client WorkflowTriggersClient) SetStateSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// SetStateResponder handles the response to the SetState request. The method always +// closes the http.Response Body. +func (client WorkflowTriggersClient) SetStateResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByClosing()) + result.Response = resp + return +} diff --git a/services/preview/logic/mgmt/2019-05-01/logic/workflowversions.go b/services/preview/logic/mgmt/2019-05-01/logic/workflowversions.go new file mode 100644 index 000000000000..55ad06a5d8da --- /dev/null +++ b/services/preview/logic/mgmt/2019-05-01/logic/workflowversions.go @@ -0,0 +1,239 @@ +package logic + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// WorkflowVersionsClient is the REST API for Azure Logic Apps. +type WorkflowVersionsClient struct { + BaseClient +} + +// NewWorkflowVersionsClient creates an instance of the WorkflowVersionsClient client. +func NewWorkflowVersionsClient(subscriptionID string) WorkflowVersionsClient { + return NewWorkflowVersionsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewWorkflowVersionsClientWithBaseURI creates an instance of the WorkflowVersionsClient client. +func NewWorkflowVersionsClientWithBaseURI(baseURI string, subscriptionID string) WorkflowVersionsClient { + return WorkflowVersionsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// Get gets a workflow version. +// Parameters: +// resourceGroupName - the resource group name. +// workflowName - the workflow name. +// versionID - the workflow versionId. +func (client WorkflowVersionsClient) Get(ctx context.Context, resourceGroupName string, workflowName string, versionID string) (result WorkflowVersion, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WorkflowVersionsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, workflowName, versionID) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.WorkflowVersionsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "logic.WorkflowVersionsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.WorkflowVersionsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client WorkflowVersionsClient) GetPreparer(ctx context.Context, resourceGroupName string, workflowName string, versionID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "versionId": autorest.Encode("path", versionID), + "workflowName": autorest.Encode("path", workflowName), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/versions/{versionId}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client WorkflowVersionsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client WorkflowVersionsClient) GetResponder(resp *http.Response) (result WorkflowVersion, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets a list of workflow versions. +// Parameters: +// resourceGroupName - the resource group name. +// workflowName - the workflow name. +// top - the number of items to be included in the result. +func (client WorkflowVersionsClient) List(ctx context.Context, resourceGroupName string, workflowName string, top *int32) (result WorkflowVersionListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WorkflowVersionsClient.List") + defer func() { + sc := -1 + if result.wvlr.Response.Response != nil { + sc = result.wvlr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName, workflowName, top) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.WorkflowVersionsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.wvlr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "logic.WorkflowVersionsClient", "List", resp, "Failure sending request") + return + } + + result.wvlr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.WorkflowVersionsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client WorkflowVersionsClient) ListPreparer(ctx context.Context, resourceGroupName string, workflowName string, top *int32) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "workflowName": autorest.Encode("path", workflowName), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if top != nil { + queryParameters["$top"] = autorest.Encode("query", *top) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/versions", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client WorkflowVersionsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client WorkflowVersionsClient) ListResponder(resp *http.Response) (result WorkflowVersionListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client WorkflowVersionsClient) listNextResults(ctx context.Context, lastResults WorkflowVersionListResult) (result WorkflowVersionListResult, err error) { + req, err := lastResults.workflowVersionListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "logic.WorkflowVersionsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "logic.WorkflowVersionsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.WorkflowVersionsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client WorkflowVersionsClient) ListComplete(ctx context.Context, resourceGroupName string, workflowName string, top *int32) (result WorkflowVersionListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WorkflowVersionsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName, workflowName, top) + return +} diff --git a/services/preview/logic/mgmt/2019-05-01/logic/workflowversiontriggers.go b/services/preview/logic/mgmt/2019-05-01/logic/workflowversiontriggers.go new file mode 100644 index 000000000000..c0d03358fe80 --- /dev/null +++ b/services/preview/logic/mgmt/2019-05-01/logic/workflowversiontriggers.go @@ -0,0 +1,128 @@ +package logic + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// WorkflowVersionTriggersClient is the REST API for Azure Logic Apps. +type WorkflowVersionTriggersClient struct { + BaseClient +} + +// NewWorkflowVersionTriggersClient creates an instance of the WorkflowVersionTriggersClient client. +func NewWorkflowVersionTriggersClient(subscriptionID string) WorkflowVersionTriggersClient { + return NewWorkflowVersionTriggersClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewWorkflowVersionTriggersClientWithBaseURI creates an instance of the WorkflowVersionTriggersClient client. +func NewWorkflowVersionTriggersClientWithBaseURI(baseURI string, subscriptionID string) WorkflowVersionTriggersClient { + return WorkflowVersionTriggersClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// ListCallbackURL get the callback url for a trigger of a workflow version. +// Parameters: +// resourceGroupName - the resource group name. +// workflowName - the workflow name. +// versionID - the workflow versionId. +// triggerName - the workflow trigger name. +// parameters - the callback URL parameters. +func (client WorkflowVersionTriggersClient) ListCallbackURL(ctx context.Context, resourceGroupName string, workflowName string, versionID string, triggerName string, parameters *GetCallbackURLParameters) (result WorkflowTriggerCallbackURL, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WorkflowVersionTriggersClient.ListCallbackURL") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListCallbackURLPreparer(ctx, resourceGroupName, workflowName, versionID, triggerName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.WorkflowVersionTriggersClient", "ListCallbackURL", nil, "Failure preparing request") + return + } + + resp, err := client.ListCallbackURLSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "logic.WorkflowVersionTriggersClient", "ListCallbackURL", resp, "Failure sending request") + return + } + + result, err = client.ListCallbackURLResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "logic.WorkflowVersionTriggersClient", "ListCallbackURL", resp, "Failure responding to request") + } + + return +} + +// ListCallbackURLPreparer prepares the ListCallbackURL request. +func (client WorkflowVersionTriggersClient) ListCallbackURLPreparer(ctx context.Context, resourceGroupName string, workflowName string, versionID string, triggerName string, parameters *GetCallbackURLParameters) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "triggerName": autorest.Encode("path", triggerName), + "versionId": autorest.Encode("path", versionID), + "workflowName": autorest.Encode("path", workflowName), + } + + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/versions/{versionId}/triggers/{triggerName}/listCallbackUrl", pathParameters), + autorest.WithQueryParameters(queryParameters)) + if parameters != nil { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithJSON(parameters)) + } + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListCallbackURLSender sends the ListCallbackURL request. The method will close the +// http.Response Body if it receives an error. +func (client WorkflowVersionTriggersClient) ListCallbackURLSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListCallbackURLResponder handles the response to the ListCallbackURL request. The method always +// closes the http.Response Body. +func (client WorkflowVersionTriggersClient) ListCallbackURLResponder(resp *http.Response) (result WorkflowTriggerCallbackURL, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/preview/machinelearning/mgmt/2018-03-01-preview/services/client.go b/services/preview/machinelearning/mgmt/2018-03-01-preview/services/client.go deleted file mode 100644 index 72d151cc813d..000000000000 --- a/services/preview/machinelearning/mgmt/2018-03-01-preview/services/client.go +++ /dev/null @@ -1,51 +0,0 @@ -// Package services implements the Azure ARM Services service API version 2018-03-01-preview. -// -// These APIs allow end users to operate on Azure Machine Learning Workspace resources. -package services - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "github.com/Azure/go-autorest/autorest" -) - -const ( - // DefaultBaseURI is the default URI used for the service Services - DefaultBaseURI = "https://management.azure.com" -) - -// BaseClient is the base client for Services. -type BaseClient struct { - autorest.Client - BaseURI string - SubscriptionID string -} - -// New creates an instance of the BaseClient client. -func New(subscriptionID string) BaseClient { - return NewWithBaseURI(DefaultBaseURI, subscriptionID) -} - -// NewWithBaseURI creates an instance of the BaseClient client. -func NewWithBaseURI(baseURI string, subscriptionID string) BaseClient { - return BaseClient{ - Client: autorest.NewClientWithUserAgent(UserAgent()), - BaseURI: baseURI, - SubscriptionID: subscriptionID, - } -} diff --git a/services/preview/machinelearning/mgmt/2018-03-01-preview/services/machinelearningcompute.go b/services/preview/machinelearning/mgmt/2018-03-01-preview/services/machinelearningcompute.go deleted file mode 100644 index 059318d2a1de..000000000000 --- a/services/preview/machinelearning/mgmt/2018-03-01-preview/services/machinelearningcompute.go +++ /dev/null @@ -1,559 +0,0 @@ -package services - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/tracing" - "net/http" -) - -// MachineLearningComputeClient is the these APIs allow end users to operate on Azure Machine Learning Workspace -// resources. -type MachineLearningComputeClient struct { - BaseClient -} - -// NewMachineLearningComputeClient creates an instance of the MachineLearningComputeClient client. -func NewMachineLearningComputeClient(subscriptionID string) MachineLearningComputeClient { - return NewMachineLearningComputeClientWithBaseURI(DefaultBaseURI, subscriptionID) -} - -// NewMachineLearningComputeClientWithBaseURI creates an instance of the MachineLearningComputeClient client. -func NewMachineLearningComputeClientWithBaseURI(baseURI string, subscriptionID string) MachineLearningComputeClient { - return MachineLearningComputeClient{NewWithBaseURI(baseURI, subscriptionID)} -} - -// CreateOrUpdate creates or updates compute. This call will overwrite a compute if it exists. This is a nonrecoverable -// operation. If your intent is to create a new compute, do a GET first to verify that it does not exist yet. -// Parameters: -// resourceGroupName - name of the resource group in which workspace is located. -// workspaceName - name of Azure Machine Learning workspace. -// computeName - name of the Azure Machine Learning compute. -// parameters - payload with Machine Learning compute definition. -func (client MachineLearningComputeClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, workspaceName string, computeName string, parameters ComputeResource) (result MachineLearningComputeCreateOrUpdateFuture, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/MachineLearningComputeClient.CreateOrUpdate") - defer func() { - sc := -1 - if result.Response() != nil { - sc = result.Response().StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, workspaceName, computeName, parameters) - if err != nil { - err = autorest.NewErrorWithError(err, "services.MachineLearningComputeClient", "CreateOrUpdate", nil, "Failure preparing request") - return - } - - result, err = client.CreateOrUpdateSender(req) - if err != nil { - err = autorest.NewErrorWithError(err, "services.MachineLearningComputeClient", "CreateOrUpdate", result.Response(), "Failure sending request") - return - } - - return -} - -// CreateOrUpdatePreparer prepares the CreateOrUpdate request. -func (client MachineLearningComputeClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, workspaceName string, computeName string, parameters ComputeResource) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "computeName": autorest.Encode("path", computeName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - "workspaceName": autorest.Encode("path", workspaceName), - } - - const APIVersion = "2018-03-01-preview" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; charset=utf-8"), - autorest.AsPut(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}", pathParameters), - autorest.WithJSON(parameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the -// http.Response Body if it receives an error. -func (client MachineLearningComputeClient) CreateOrUpdateSender(req *http.Request) (future MachineLearningComputeCreateOrUpdateFuture, err error) { - var resp *http.Response - resp, err = autorest.SendWithSender(client, req, - azure.DoRetryWithRegistration(client.Client)) - if err != nil { - return - } - future.Future, err = azure.NewFutureFromResponse(resp) - return -} - -// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always -// closes the http.Response Body. -func (client MachineLearningComputeClient) CreateOrUpdateResponder(resp *http.Response) (result ComputeResource, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// Delete deletes specified Machine Learning compute. -// Parameters: -// resourceGroupName - name of the resource group in which workspace is located. -// workspaceName - name of Azure Machine Learning workspace. -// computeName - name of the Azure Machine Learning compute. -func (client MachineLearningComputeClient) Delete(ctx context.Context, resourceGroupName string, workspaceName string, computeName string) (result MachineLearningComputeDeleteFuture, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/MachineLearningComputeClient.Delete") - defer func() { - sc := -1 - if result.Response() != nil { - sc = result.Response().StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - req, err := client.DeletePreparer(ctx, resourceGroupName, workspaceName, computeName) - if err != nil { - err = autorest.NewErrorWithError(err, "services.MachineLearningComputeClient", "Delete", nil, "Failure preparing request") - return - } - - result, err = client.DeleteSender(req) - if err != nil { - err = autorest.NewErrorWithError(err, "services.MachineLearningComputeClient", "Delete", result.Response(), "Failure sending request") - return - } - - return -} - -// DeletePreparer prepares the Delete request. -func (client MachineLearningComputeClient) DeletePreparer(ctx context.Context, resourceGroupName string, workspaceName string, computeName string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "computeName": autorest.Encode("path", computeName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - "workspaceName": autorest.Encode("path", workspaceName), - } - - const APIVersion = "2018-03-01-preview" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsDelete(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DeleteSender sends the Delete request. The method will close the -// http.Response Body if it receives an error. -func (client MachineLearningComputeClient) DeleteSender(req *http.Request) (future MachineLearningComputeDeleteFuture, err error) { - var resp *http.Response - resp, err = autorest.SendWithSender(client, req, - azure.DoRetryWithRegistration(client.Client)) - if err != nil { - return - } - future.Future, err = azure.NewFutureFromResponse(resp) - return -} - -// DeleteResponder handles the response to the Delete request. The method always -// closes the http.Response Body. -func (client MachineLearningComputeClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByClosing()) - result.Response = resp - return -} - -// Get gets compute definition by its name. Any secrets (storage keys, service credentials, etc) are not returned - use -// 'keys' nested resource to get them. -// Parameters: -// resourceGroupName - name of the resource group in which workspace is located. -// workspaceName - name of Azure Machine Learning workspace. -// computeName - name of the Azure Machine Learning compute. -func (client MachineLearningComputeClient) Get(ctx context.Context, resourceGroupName string, workspaceName string, computeName string) (result ComputeResource, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/MachineLearningComputeClient.Get") - defer func() { - sc := -1 - if result.Response.Response != nil { - sc = result.Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - req, err := client.GetPreparer(ctx, resourceGroupName, workspaceName, computeName) - if err != nil { - err = autorest.NewErrorWithError(err, "services.MachineLearningComputeClient", "Get", nil, "Failure preparing request") - return - } - - resp, err := client.GetSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "services.MachineLearningComputeClient", "Get", resp, "Failure sending request") - return - } - - result, err = client.GetResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "services.MachineLearningComputeClient", "Get", resp, "Failure responding to request") - } - - return -} - -// GetPreparer prepares the Get request. -func (client MachineLearningComputeClient) GetPreparer(ctx context.Context, resourceGroupName string, workspaceName string, computeName string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "computeName": autorest.Encode("path", computeName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - "workspaceName": autorest.Encode("path", workspaceName), - } - - const APIVersion = "2018-03-01-preview" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetSender sends the Get request. The method will close the -// http.Response Body if it receives an error. -func (client MachineLearningComputeClient) GetSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - azure.DoRetryWithRegistration(client.Client)) -} - -// GetResponder handles the response to the Get request. The method always -// closes the http.Response Body. -func (client MachineLearningComputeClient) GetResponder(resp *http.Response) (result ComputeResource, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// ListByWorkspace gets computes in specified workspace. -// Parameters: -// resourceGroupName - name of the resource group in which workspace is located. -// workspaceName - name of Azure Machine Learning workspace. -// skiptoken - continuation token for pagination. -func (client MachineLearningComputeClient) ListByWorkspace(ctx context.Context, resourceGroupName string, workspaceName string, skiptoken string) (result PaginatedComputeResourcesListPage, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/MachineLearningComputeClient.ListByWorkspace") - defer func() { - sc := -1 - if result.pcrl.Response.Response != nil { - sc = result.pcrl.Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - result.fn = client.listByWorkspaceNextResults - req, err := client.ListByWorkspacePreparer(ctx, resourceGroupName, workspaceName, skiptoken) - if err != nil { - err = autorest.NewErrorWithError(err, "services.MachineLearningComputeClient", "ListByWorkspace", nil, "Failure preparing request") - return - } - - resp, err := client.ListByWorkspaceSender(req) - if err != nil { - result.pcrl.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "services.MachineLearningComputeClient", "ListByWorkspace", resp, "Failure sending request") - return - } - - result.pcrl, err = client.ListByWorkspaceResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "services.MachineLearningComputeClient", "ListByWorkspace", resp, "Failure responding to request") - } - - return -} - -// ListByWorkspacePreparer prepares the ListByWorkspace request. -func (client MachineLearningComputeClient) ListByWorkspacePreparer(ctx context.Context, resourceGroupName string, workspaceName string, skiptoken string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - "workspaceName": autorest.Encode("path", workspaceName), - } - - const APIVersion = "2018-03-01-preview" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(skiptoken) > 0 { - queryParameters["$skiptoken"] = autorest.Encode("query", skiptoken) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListByWorkspaceSender sends the ListByWorkspace request. The method will close the -// http.Response Body if it receives an error. -func (client MachineLearningComputeClient) ListByWorkspaceSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - azure.DoRetryWithRegistration(client.Client)) -} - -// ListByWorkspaceResponder handles the response to the ListByWorkspace request. The method always -// closes the http.Response Body. -func (client MachineLearningComputeClient) ListByWorkspaceResponder(resp *http.Response) (result PaginatedComputeResourcesList, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listByWorkspaceNextResults retrieves the next set of results, if any. -func (client MachineLearningComputeClient) listByWorkspaceNextResults(ctx context.Context, lastResults PaginatedComputeResourcesList) (result PaginatedComputeResourcesList, err error) { - req, err := lastResults.paginatedComputeResourcesListPreparer(ctx) - if err != nil { - return result, autorest.NewErrorWithError(err, "services.MachineLearningComputeClient", "listByWorkspaceNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListByWorkspaceSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "services.MachineLearningComputeClient", "listByWorkspaceNextResults", resp, "Failure sending next results request") - } - result, err = client.ListByWorkspaceResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "services.MachineLearningComputeClient", "listByWorkspaceNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListByWorkspaceComplete enumerates all values, automatically crossing page boundaries as required. -func (client MachineLearningComputeClient) ListByWorkspaceComplete(ctx context.Context, resourceGroupName string, workspaceName string, skiptoken string) (result PaginatedComputeResourcesListIterator, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/MachineLearningComputeClient.ListByWorkspace") - defer func() { - sc := -1 - if result.Response().Response.Response != nil { - sc = result.page.Response().Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - result.page, err = client.ListByWorkspace(ctx, resourceGroupName, workspaceName, skiptoken) - return -} - -// ListKeys gets secrets related to Machine Learning compute (storage keys, service credentials, etc). -// Parameters: -// resourceGroupName - name of the resource group in which workspace is located. -// workspaceName - name of Azure Machine Learning workspace. -// computeName - name of the Azure Machine Learning compute. -func (client MachineLearningComputeClient) ListKeys(ctx context.Context, resourceGroupName string, workspaceName string, computeName string) (result ComputeSecretsModel, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/MachineLearningComputeClient.ListKeys") - defer func() { - sc := -1 - if result.Response.Response != nil { - sc = result.Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - req, err := client.ListKeysPreparer(ctx, resourceGroupName, workspaceName, computeName) - if err != nil { - err = autorest.NewErrorWithError(err, "services.MachineLearningComputeClient", "ListKeys", nil, "Failure preparing request") - return - } - - resp, err := client.ListKeysSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "services.MachineLearningComputeClient", "ListKeys", resp, "Failure sending request") - return - } - - result, err = client.ListKeysResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "services.MachineLearningComputeClient", "ListKeys", resp, "Failure responding to request") - } - - return -} - -// ListKeysPreparer prepares the ListKeys request. -func (client MachineLearningComputeClient) ListKeysPreparer(ctx context.Context, resourceGroupName string, workspaceName string, computeName string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "computeName": autorest.Encode("path", computeName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - "workspaceName": autorest.Encode("path", workspaceName), - } - - const APIVersion = "2018-03-01-preview" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}/listKeys", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListKeysSender sends the ListKeys request. The method will close the -// http.Response Body if it receives an error. -func (client MachineLearningComputeClient) ListKeysSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - azure.DoRetryWithRegistration(client.Client)) -} - -// ListKeysResponder handles the response to the ListKeys request. The method always -// closes the http.Response Body. -func (client MachineLearningComputeClient) ListKeysResponder(resp *http.Response) (result ComputeSecretsModel, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// SystemUpdate system Update On Machine Learning compute. -// Parameters: -// resourceGroupName - name of the resource group in which workspace is located. -// workspaceName - name of Azure Machine Learning workspace. -// computeName - name of the Azure Machine Learning compute. -func (client MachineLearningComputeClient) SystemUpdate(ctx context.Context, resourceGroupName string, workspaceName string, computeName string) (result MachineLearningComputeSystemUpdateFuture, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/MachineLearningComputeClient.SystemUpdate") - defer func() { - sc := -1 - if result.Response() != nil { - sc = result.Response().StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - req, err := client.SystemUpdatePreparer(ctx, resourceGroupName, workspaceName, computeName) - if err != nil { - err = autorest.NewErrorWithError(err, "services.MachineLearningComputeClient", "SystemUpdate", nil, "Failure preparing request") - return - } - - result, err = client.SystemUpdateSender(req) - if err != nil { - err = autorest.NewErrorWithError(err, "services.MachineLearningComputeClient", "SystemUpdate", result.Response(), "Failure sending request") - return - } - - return -} - -// SystemUpdatePreparer prepares the SystemUpdate request. -func (client MachineLearningComputeClient) SystemUpdatePreparer(ctx context.Context, resourceGroupName string, workspaceName string, computeName string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "computeName": autorest.Encode("path", computeName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - "workspaceName": autorest.Encode("path", workspaceName), - } - - const APIVersion = "2018-03-01-preview" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/computes/{computeName}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// SystemUpdateSender sends the SystemUpdate request. The method will close the -// http.Response Body if it receives an error. -func (client MachineLearningComputeClient) SystemUpdateSender(req *http.Request) (future MachineLearningComputeSystemUpdateFuture, err error) { - var resp *http.Response - resp, err = autorest.SendWithSender(client, req, - azure.DoRetryWithRegistration(client.Client)) - if err != nil { - return - } - future.Future, err = azure.NewFutureFromResponse(resp) - return -} - -// SystemUpdateResponder handles the response to the SystemUpdate request. The method always -// closes the http.Response Body. -func (client MachineLearningComputeClient) SystemUpdateResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByClosing()) - result.Response = resp - return -} diff --git a/services/preview/machinelearning/mgmt/2018-03-01-preview/services/models.go b/services/preview/machinelearning/mgmt/2018-03-01-preview/services/models.go deleted file mode 100644 index 63d803061871..000000000000 --- a/services/preview/machinelearning/mgmt/2018-03-01-preview/services/models.go +++ /dev/null @@ -1,1759 +0,0 @@ -package services - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "encoding/json" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/autorest/date" - "github.com/Azure/go-autorest/autorest/to" - "github.com/Azure/go-autorest/tracing" - "net/http" -) - -// The package's fully qualified name. -const fqdn = "github.com/Azure/azure-sdk-for-go/services/preview/machinelearning/mgmt/2018-03-01-preview/services" - -// ComputeType enumerates the values for compute type. -type ComputeType string - -const ( - // ComputeTypeAKS ... - ComputeTypeAKS ComputeType = "AKS" - // ComputeTypeBatchAI ... - ComputeTypeBatchAI ComputeType = "BatchAI" - // ComputeTypeDataFactory ... - ComputeTypeDataFactory ComputeType = "DataFactory" - // ComputeTypeHDInsight ... - ComputeTypeHDInsight ComputeType = "HDInsight" - // ComputeTypeVirtualMachine ... - ComputeTypeVirtualMachine ComputeType = "VirtualMachine" -) - -// PossibleComputeTypeValues returns an array of possible values for the ComputeType const type. -func PossibleComputeTypeValues() []ComputeType { - return []ComputeType{ComputeTypeAKS, ComputeTypeBatchAI, ComputeTypeDataFactory, ComputeTypeHDInsight, ComputeTypeVirtualMachine} -} - -// ComputeTypeBasicCompute enumerates the values for compute type basic compute. -type ComputeTypeBasicCompute string - -const ( - // ComputeTypeAKS1 ... - ComputeTypeAKS1 ComputeTypeBasicCompute = "AKS" - // ComputeTypeBatchAI1 ... - ComputeTypeBatchAI1 ComputeTypeBasicCompute = "BatchAI" - // ComputeTypeCompute ... - ComputeTypeCompute ComputeTypeBasicCompute = "Compute" - // ComputeTypeDataFactory1 ... - ComputeTypeDataFactory1 ComputeTypeBasicCompute = "DataFactory" - // ComputeTypeHDInsight1 ... - ComputeTypeHDInsight1 ComputeTypeBasicCompute = "HDInsight" - // ComputeTypeVirtualMachine1 ... - ComputeTypeVirtualMachine1 ComputeTypeBasicCompute = "VirtualMachine" -) - -// PossibleComputeTypeBasicComputeValues returns an array of possible values for the ComputeTypeBasicCompute const type. -func PossibleComputeTypeBasicComputeValues() []ComputeTypeBasicCompute { - return []ComputeTypeBasicCompute{ComputeTypeAKS1, ComputeTypeBatchAI1, ComputeTypeCompute, ComputeTypeDataFactory1, ComputeTypeHDInsight1, ComputeTypeVirtualMachine1} -} - -// ComputeTypeBasicComputeSecrets enumerates the values for compute type basic compute secrets. -type ComputeTypeBasicComputeSecrets string - -const ( - // ComputeTypeBasicComputeSecretsComputeTypeAKS ... - ComputeTypeBasicComputeSecretsComputeTypeAKS ComputeTypeBasicComputeSecrets = "AKS" - // ComputeTypeBasicComputeSecretsComputeTypeComputeSecrets ... - ComputeTypeBasicComputeSecretsComputeTypeComputeSecrets ComputeTypeBasicComputeSecrets = "ComputeSecrets" - // ComputeTypeBasicComputeSecretsComputeTypeVirtualMachine ... - ComputeTypeBasicComputeSecretsComputeTypeVirtualMachine ComputeTypeBasicComputeSecrets = "VirtualMachine" -) - -// PossibleComputeTypeBasicComputeSecretsValues returns an array of possible values for the ComputeTypeBasicComputeSecrets const type. -func PossibleComputeTypeBasicComputeSecretsValues() []ComputeTypeBasicComputeSecrets { - return []ComputeTypeBasicComputeSecrets{ComputeTypeBasicComputeSecretsComputeTypeAKS, ComputeTypeBasicComputeSecretsComputeTypeComputeSecrets, ComputeTypeBasicComputeSecretsComputeTypeVirtualMachine} -} - -// ProvisioningState enumerates the values for provisioning state. -type ProvisioningState string - -const ( - // Canceled ... - Canceled ProvisioningState = "Canceled" - // Creating ... - Creating ProvisioningState = "Creating" - // Deleting ... - Deleting ProvisioningState = "Deleting" - // Failed ... - Failed ProvisioningState = "Failed" - // Succeeded ... - Succeeded ProvisioningState = "Succeeded" - // Unknown ... - Unknown ProvisioningState = "Unknown" - // Updating ... - Updating ProvisioningState = "Updating" -) - -// PossibleProvisioningStateValues returns an array of possible values for the ProvisioningState const type. -func PossibleProvisioningStateValues() []ProvisioningState { - return []ProvisioningState{Canceled, Creating, Deleting, Failed, Succeeded, Unknown, Updating} -} - -// ResourceIdentityType enumerates the values for resource identity type. -type ResourceIdentityType string - -const ( - // SystemAssigned ... - SystemAssigned ResourceIdentityType = "SystemAssigned" -) - -// PossibleResourceIdentityTypeValues returns an array of possible values for the ResourceIdentityType const type. -func PossibleResourceIdentityTypeValues() []ResourceIdentityType { - return []ResourceIdentityType{SystemAssigned} -} - -// Status enumerates the values for status. -type Status string - -const ( - // Disabled ... - Disabled Status = "Disabled" - // Enabled ... - Enabled Status = "Enabled" -) - -// PossibleStatusValues returns an array of possible values for the Status const type. -func PossibleStatusValues() []Status { - return []Status{Disabled, Enabled} -} - -// AKS a Machine Learning compute based on AKS. -type AKS struct { - // Properties - AKS properties - Properties *AKSProperties `json:"properties,omitempty"` - // ComputeLocation - Location for the underlying compute - ComputeLocation *string `json:"computeLocation,omitempty"` - // ProvisioningState - READ-ONLY; The provision state of the cluster. Valid values are Unknown, Updating, Provisioning, Succeeded, and Failed. Possible values include: 'Unknown', 'Updating', 'Creating', 'Deleting', 'Succeeded', 'Failed', 'Canceled' - ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` - // Description - The description of the Machine Learning compute. - Description *string `json:"description,omitempty"` - // CreatedOn - READ-ONLY; The date and time when the compute was created. - CreatedOn *date.Time `json:"createdOn,omitempty"` - // ModifiedOn - READ-ONLY; The date and time when the compute was last modified. - ModifiedOn *date.Time `json:"modifiedOn,omitempty"` - // ResourceID - ARM resource id of the compute - ResourceID *string `json:"resourceId,omitempty"` - // ProvisioningErrors - READ-ONLY; Errors during provisioning - ProvisioningErrors *[]MachineLearningServiceError `json:"provisioningErrors,omitempty"` - // ComputeType - Possible values include: 'ComputeTypeCompute', 'ComputeTypeAKS1', 'ComputeTypeBatchAI1', 'ComputeTypeVirtualMachine1', 'ComputeTypeHDInsight1', 'ComputeTypeDataFactory1' - ComputeType ComputeTypeBasicCompute `json:"computeType,omitempty"` -} - -// MarshalJSON is the custom marshaler for AKS. -func (a AKS) MarshalJSON() ([]byte, error) { - a.ComputeType = ComputeTypeAKS1 - objectMap := make(map[string]interface{}) - if a.Properties != nil { - objectMap["properties"] = a.Properties - } - if a.ComputeLocation != nil { - objectMap["computeLocation"] = a.ComputeLocation - } - if a.Description != nil { - objectMap["description"] = a.Description - } - if a.ResourceID != nil { - objectMap["resourceId"] = a.ResourceID - } - if a.ComputeType != "" { - objectMap["computeType"] = a.ComputeType - } - return json.Marshal(objectMap) -} - -// AsAKS is the BasicCompute implementation for AKS. -func (a AKS) AsAKS() (*AKS, bool) { - return &a, true -} - -// AsBatchAI is the BasicCompute implementation for AKS. -func (a AKS) AsBatchAI() (*BatchAI, bool) { - return nil, false -} - -// AsVirtualMachine is the BasicCompute implementation for AKS. -func (a AKS) AsVirtualMachine() (*VirtualMachine, bool) { - return nil, false -} - -// AsHDInsight is the BasicCompute implementation for AKS. -func (a AKS) AsHDInsight() (*HDInsight, bool) { - return nil, false -} - -// AsDataFactory is the BasicCompute implementation for AKS. -func (a AKS) AsDataFactory() (*DataFactory, bool) { - return nil, false -} - -// AsCompute is the BasicCompute implementation for AKS. -func (a AKS) AsCompute() (*Compute, bool) { - return nil, false -} - -// AsBasicCompute is the BasicCompute implementation for AKS. -func (a AKS) AsBasicCompute() (BasicCompute, bool) { - return &a, true -} - -// AksComputeSecrets secrets related to a Machine Learning compute based on AKS. -type AksComputeSecrets struct { - // UserKubeConfig - Content of kubeconfig file that can be used to connect to the Kubernetes cluster. - UserKubeConfig *string `json:"userKubeConfig,omitempty"` - // AdminKubeConfig - Content of kubeconfig file that can be used to connect to the Kubernetes cluster. - AdminKubeConfig *string `json:"adminKubeConfig,omitempty"` - // ImagePullSecretName - Image registry pull secret. - ImagePullSecretName *string `json:"imagePullSecretName,omitempty"` - // ComputeType - Possible values include: 'ComputeTypeBasicComputeSecretsComputeTypeComputeSecrets', 'ComputeTypeBasicComputeSecretsComputeTypeAKS', 'ComputeTypeBasicComputeSecretsComputeTypeVirtualMachine' - ComputeType ComputeTypeBasicComputeSecrets `json:"computeType,omitempty"` -} - -// MarshalJSON is the custom marshaler for AksComputeSecrets. -func (acs AksComputeSecrets) MarshalJSON() ([]byte, error) { - acs.ComputeType = ComputeTypeBasicComputeSecretsComputeTypeAKS - objectMap := make(map[string]interface{}) - if acs.UserKubeConfig != nil { - objectMap["userKubeConfig"] = acs.UserKubeConfig - } - if acs.AdminKubeConfig != nil { - objectMap["adminKubeConfig"] = acs.AdminKubeConfig - } - if acs.ImagePullSecretName != nil { - objectMap["imagePullSecretName"] = acs.ImagePullSecretName - } - if acs.ComputeType != "" { - objectMap["computeType"] = acs.ComputeType - } - return json.Marshal(objectMap) -} - -// AsAksComputeSecrets is the BasicComputeSecrets implementation for AksComputeSecrets. -func (acs AksComputeSecrets) AsAksComputeSecrets() (*AksComputeSecrets, bool) { - return &acs, true -} - -// AsVirtualMachineSecrets is the BasicComputeSecrets implementation for AksComputeSecrets. -func (acs AksComputeSecrets) AsVirtualMachineSecrets() (*VirtualMachineSecrets, bool) { - return nil, false -} - -// AsComputeSecrets is the BasicComputeSecrets implementation for AksComputeSecrets. -func (acs AksComputeSecrets) AsComputeSecrets() (*ComputeSecrets, bool) { - return nil, false -} - -// AsBasicComputeSecrets is the BasicComputeSecrets implementation for AksComputeSecrets. -func (acs AksComputeSecrets) AsBasicComputeSecrets() (BasicComputeSecrets, bool) { - return &acs, true -} - -// AKSProperties AKS properties -type AKSProperties struct { - // ClusterFqdn - Cluster full qualified domain name - ClusterFqdn *string `json:"clusterFqdn,omitempty"` - // SystemServices - System services - SystemServices *[]SystemService `json:"systemServices,omitempty"` - // AgentCount - Number of agents - AgentCount *int32 `json:"agentCount,omitempty"` - // AgentVMSize - Agent virtual machine size - AgentVMSize *string `json:"agentVMSize,omitempty"` - // SslConfiguration - SSL configuration - SslConfiguration *SslConfiguration `json:"sslConfiguration,omitempty"` -} - -// BatchAI a Machine Learning compute based on Azure BatchAI. -type BatchAI struct { - // Properties - BatchAI properties - Properties *BatchAIProperties `json:"properties,omitempty"` - // ComputeLocation - Location for the underlying compute - ComputeLocation *string `json:"computeLocation,omitempty"` - // ProvisioningState - READ-ONLY; The provision state of the cluster. Valid values are Unknown, Updating, Provisioning, Succeeded, and Failed. Possible values include: 'Unknown', 'Updating', 'Creating', 'Deleting', 'Succeeded', 'Failed', 'Canceled' - ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` - // Description - The description of the Machine Learning compute. - Description *string `json:"description,omitempty"` - // CreatedOn - READ-ONLY; The date and time when the compute was created. - CreatedOn *date.Time `json:"createdOn,omitempty"` - // ModifiedOn - READ-ONLY; The date and time when the compute was last modified. - ModifiedOn *date.Time `json:"modifiedOn,omitempty"` - // ResourceID - ARM resource id of the compute - ResourceID *string `json:"resourceId,omitempty"` - // ProvisioningErrors - READ-ONLY; Errors during provisioning - ProvisioningErrors *[]MachineLearningServiceError `json:"provisioningErrors,omitempty"` - // ComputeType - Possible values include: 'ComputeTypeCompute', 'ComputeTypeAKS1', 'ComputeTypeBatchAI1', 'ComputeTypeVirtualMachine1', 'ComputeTypeHDInsight1', 'ComputeTypeDataFactory1' - ComputeType ComputeTypeBasicCompute `json:"computeType,omitempty"` -} - -// MarshalJSON is the custom marshaler for BatchAI. -func (ba BatchAI) MarshalJSON() ([]byte, error) { - ba.ComputeType = ComputeTypeBatchAI1 - objectMap := make(map[string]interface{}) - if ba.Properties != nil { - objectMap["properties"] = ba.Properties - } - if ba.ComputeLocation != nil { - objectMap["computeLocation"] = ba.ComputeLocation - } - if ba.Description != nil { - objectMap["description"] = ba.Description - } - if ba.ResourceID != nil { - objectMap["resourceId"] = ba.ResourceID - } - if ba.ComputeType != "" { - objectMap["computeType"] = ba.ComputeType - } - return json.Marshal(objectMap) -} - -// AsAKS is the BasicCompute implementation for BatchAI. -func (ba BatchAI) AsAKS() (*AKS, bool) { - return nil, false -} - -// AsBatchAI is the BasicCompute implementation for BatchAI. -func (ba BatchAI) AsBatchAI() (*BatchAI, bool) { - return &ba, true -} - -// AsVirtualMachine is the BasicCompute implementation for BatchAI. -func (ba BatchAI) AsVirtualMachine() (*VirtualMachine, bool) { - return nil, false -} - -// AsHDInsight is the BasicCompute implementation for BatchAI. -func (ba BatchAI) AsHDInsight() (*HDInsight, bool) { - return nil, false -} - -// AsDataFactory is the BasicCompute implementation for BatchAI. -func (ba BatchAI) AsDataFactory() (*DataFactory, bool) { - return nil, false -} - -// AsCompute is the BasicCompute implementation for BatchAI. -func (ba BatchAI) AsCompute() (*Compute, bool) { - return nil, false -} - -// AsBasicCompute is the BasicCompute implementation for BatchAI. -func (ba BatchAI) AsBasicCompute() (BasicCompute, bool) { - return &ba, true -} - -// BatchAIProperties batchAI properties -type BatchAIProperties struct { - // VMSize - Virtual Machine Size - VMSize *string `json:"vmSize,omitempty"` - // VMPriority - Virtual Machine priority - VMPriority *string `json:"vmPriority,omitempty"` - // ScaleSettings - Scale settings for BatchAI - ScaleSettings *ScaleSettings `json:"scaleSettings,omitempty"` -} - -// BasicCompute machine Learning compute object. -type BasicCompute interface { - AsAKS() (*AKS, bool) - AsBatchAI() (*BatchAI, bool) - AsVirtualMachine() (*VirtualMachine, bool) - AsHDInsight() (*HDInsight, bool) - AsDataFactory() (*DataFactory, bool) - AsCompute() (*Compute, bool) -} - -// Compute machine Learning compute object. -type Compute struct { - // ComputeLocation - Location for the underlying compute - ComputeLocation *string `json:"computeLocation,omitempty"` - // ProvisioningState - READ-ONLY; The provision state of the cluster. Valid values are Unknown, Updating, Provisioning, Succeeded, and Failed. Possible values include: 'Unknown', 'Updating', 'Creating', 'Deleting', 'Succeeded', 'Failed', 'Canceled' - ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` - // Description - The description of the Machine Learning compute. - Description *string `json:"description,omitempty"` - // CreatedOn - READ-ONLY; The date and time when the compute was created. - CreatedOn *date.Time `json:"createdOn,omitempty"` - // ModifiedOn - READ-ONLY; The date and time when the compute was last modified. - ModifiedOn *date.Time `json:"modifiedOn,omitempty"` - // ResourceID - ARM resource id of the compute - ResourceID *string `json:"resourceId,omitempty"` - // ProvisioningErrors - READ-ONLY; Errors during provisioning - ProvisioningErrors *[]MachineLearningServiceError `json:"provisioningErrors,omitempty"` - // ComputeType - Possible values include: 'ComputeTypeCompute', 'ComputeTypeAKS1', 'ComputeTypeBatchAI1', 'ComputeTypeVirtualMachine1', 'ComputeTypeHDInsight1', 'ComputeTypeDataFactory1' - ComputeType ComputeTypeBasicCompute `json:"computeType,omitempty"` -} - -func unmarshalBasicCompute(body []byte) (BasicCompute, error) { - var m map[string]interface{} - err := json.Unmarshal(body, &m) - if err != nil { - return nil, err - } - - switch m["computeType"] { - case string(ComputeTypeAKS1): - var a AKS - err := json.Unmarshal(body, &a) - return a, err - case string(ComputeTypeBatchAI1): - var ba BatchAI - err := json.Unmarshal(body, &ba) - return ba, err - case string(ComputeTypeVirtualMachine1): - var VM VirtualMachine - err := json.Unmarshal(body, &VM) - return VM, err - case string(ComputeTypeHDInsight1): - var hi HDInsight - err := json.Unmarshal(body, &hi) - return hi, err - case string(ComputeTypeDataFactory1): - var df DataFactory - err := json.Unmarshal(body, &df) - return df, err - default: - var c Compute - err := json.Unmarshal(body, &c) - return c, err - } -} -func unmarshalBasicComputeArray(body []byte) ([]BasicCompute, error) { - var rawMessages []*json.RawMessage - err := json.Unmarshal(body, &rawMessages) - if err != nil { - return nil, err - } - - cArray := make([]BasicCompute, len(rawMessages)) - - for index, rawMessage := range rawMessages { - c, err := unmarshalBasicCompute(*rawMessage) - if err != nil { - return nil, err - } - cArray[index] = c - } - return cArray, nil -} - -// MarshalJSON is the custom marshaler for Compute. -func (c Compute) MarshalJSON() ([]byte, error) { - c.ComputeType = ComputeTypeCompute - objectMap := make(map[string]interface{}) - if c.ComputeLocation != nil { - objectMap["computeLocation"] = c.ComputeLocation - } - if c.Description != nil { - objectMap["description"] = c.Description - } - if c.ResourceID != nil { - objectMap["resourceId"] = c.ResourceID - } - if c.ComputeType != "" { - objectMap["computeType"] = c.ComputeType - } - return json.Marshal(objectMap) -} - -// AsAKS is the BasicCompute implementation for Compute. -func (c Compute) AsAKS() (*AKS, bool) { - return nil, false -} - -// AsBatchAI is the BasicCompute implementation for Compute. -func (c Compute) AsBatchAI() (*BatchAI, bool) { - return nil, false -} - -// AsVirtualMachine is the BasicCompute implementation for Compute. -func (c Compute) AsVirtualMachine() (*VirtualMachine, bool) { - return nil, false -} - -// AsHDInsight is the BasicCompute implementation for Compute. -func (c Compute) AsHDInsight() (*HDInsight, bool) { - return nil, false -} - -// AsDataFactory is the BasicCompute implementation for Compute. -func (c Compute) AsDataFactory() (*DataFactory, bool) { - return nil, false -} - -// AsCompute is the BasicCompute implementation for Compute. -func (c Compute) AsCompute() (*Compute, bool) { - return &c, true -} - -// AsBasicCompute is the BasicCompute implementation for Compute. -func (c Compute) AsBasicCompute() (BasicCompute, bool) { - return &c, true -} - -// ComputeResource machine Learning compute object wrapped into ARM resource envelope. -type ComputeResource struct { - autorest.Response `json:"-"` - // Properties - Compute properties - Properties BasicCompute `json:"properties,omitempty"` - // ID - READ-ONLY; Specifies the resource ID. - ID *string `json:"id,omitempty"` - // Name - READ-ONLY; Specifies the name of the resource. - Name *string `json:"name,omitempty"` - // Identity - READ-ONLY; The identity of the resource. - Identity *Identity `json:"identity,omitempty"` - // Location - Specifies the location of the resource. - Location *string `json:"location,omitempty"` - // Type - READ-ONLY; Specifies the type of the resource. - Type *string `json:"type,omitempty"` - // Tags - Contains resource tags defined as key/value pairs. - Tags map[string]*string `json:"tags"` -} - -// MarshalJSON is the custom marshaler for ComputeResource. -func (cr ComputeResource) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - objectMap["properties"] = cr.Properties - if cr.Location != nil { - objectMap["location"] = cr.Location - } - if cr.Tags != nil { - objectMap["tags"] = cr.Tags - } - return json.Marshal(objectMap) -} - -// UnmarshalJSON is the custom unmarshaler for ComputeResource struct. -func (cr *ComputeResource) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - case "properties": - if v != nil { - properties, err := unmarshalBasicCompute(*v) - if err != nil { - return err - } - cr.Properties = properties - } - case "id": - if v != nil { - var ID string - err = json.Unmarshal(*v, &ID) - if err != nil { - return err - } - cr.ID = &ID - } - case "name": - if v != nil { - var name string - err = json.Unmarshal(*v, &name) - if err != nil { - return err - } - cr.Name = &name - } - case "identity": - if v != nil { - var identity Identity - err = json.Unmarshal(*v, &identity) - if err != nil { - return err - } - cr.Identity = &identity - } - case "location": - if v != nil { - var location string - err = json.Unmarshal(*v, &location) - if err != nil { - return err - } - cr.Location = &location - } - case "type": - if v != nil { - var typeVar string - err = json.Unmarshal(*v, &typeVar) - if err != nil { - return err - } - cr.Type = &typeVar - } - case "tags": - if v != nil { - var tags map[string]*string - err = json.Unmarshal(*v, &tags) - if err != nil { - return err - } - cr.Tags = tags - } - } - } - - return nil -} - -// BasicComputeSecrets secrets related to a Machine Learning compute. Might differ for every type of compute. -type BasicComputeSecrets interface { - AsAksComputeSecrets() (*AksComputeSecrets, bool) - AsVirtualMachineSecrets() (*VirtualMachineSecrets, bool) - AsComputeSecrets() (*ComputeSecrets, bool) -} - -// ComputeSecrets secrets related to a Machine Learning compute. Might differ for every type of compute. -type ComputeSecrets struct { - autorest.Response `json:"-"` - // ComputeType - Possible values include: 'ComputeTypeBasicComputeSecretsComputeTypeComputeSecrets', 'ComputeTypeBasicComputeSecretsComputeTypeAKS', 'ComputeTypeBasicComputeSecretsComputeTypeVirtualMachine' - ComputeType ComputeTypeBasicComputeSecrets `json:"computeType,omitempty"` -} - -func unmarshalBasicComputeSecrets(body []byte) (BasicComputeSecrets, error) { - var m map[string]interface{} - err := json.Unmarshal(body, &m) - if err != nil { - return nil, err - } - - switch m["computeType"] { - case string(ComputeTypeBasicComputeSecretsComputeTypeAKS): - var acs AksComputeSecrets - err := json.Unmarshal(body, &acs) - return acs, err - case string(ComputeTypeBasicComputeSecretsComputeTypeVirtualMachine): - var vms VirtualMachineSecrets - err := json.Unmarshal(body, &vms) - return vms, err - default: - var cs ComputeSecrets - err := json.Unmarshal(body, &cs) - return cs, err - } -} -func unmarshalBasicComputeSecretsArray(body []byte) ([]BasicComputeSecrets, error) { - var rawMessages []*json.RawMessage - err := json.Unmarshal(body, &rawMessages) - if err != nil { - return nil, err - } - - csArray := make([]BasicComputeSecrets, len(rawMessages)) - - for index, rawMessage := range rawMessages { - cs, err := unmarshalBasicComputeSecrets(*rawMessage) - if err != nil { - return nil, err - } - csArray[index] = cs - } - return csArray, nil -} - -// MarshalJSON is the custom marshaler for ComputeSecrets. -func (cs ComputeSecrets) MarshalJSON() ([]byte, error) { - cs.ComputeType = ComputeTypeBasicComputeSecretsComputeTypeComputeSecrets - objectMap := make(map[string]interface{}) - if cs.ComputeType != "" { - objectMap["computeType"] = cs.ComputeType - } - return json.Marshal(objectMap) -} - -// AsAksComputeSecrets is the BasicComputeSecrets implementation for ComputeSecrets. -func (cs ComputeSecrets) AsAksComputeSecrets() (*AksComputeSecrets, bool) { - return nil, false -} - -// AsVirtualMachineSecrets is the BasicComputeSecrets implementation for ComputeSecrets. -func (cs ComputeSecrets) AsVirtualMachineSecrets() (*VirtualMachineSecrets, bool) { - return nil, false -} - -// AsComputeSecrets is the BasicComputeSecrets implementation for ComputeSecrets. -func (cs ComputeSecrets) AsComputeSecrets() (*ComputeSecrets, bool) { - return &cs, true -} - -// AsBasicComputeSecrets is the BasicComputeSecrets implementation for ComputeSecrets. -func (cs ComputeSecrets) AsBasicComputeSecrets() (BasicComputeSecrets, bool) { - return &cs, true -} - -// ComputeSecretsModel ... -type ComputeSecretsModel struct { - autorest.Response `json:"-"` - Value BasicComputeSecrets `json:"value,omitempty"` -} - -// UnmarshalJSON is the custom unmarshaler for ComputeSecretsModel struct. -func (csm *ComputeSecretsModel) UnmarshalJSON(body []byte) error { - cs, err := unmarshalBasicComputeSecrets(body) - if err != nil { - return err - } - csm.Value = cs - - return nil -} - -// DataFactory a DataFactory compute. -type DataFactory struct { - // ComputeLocation - Location for the underlying compute - ComputeLocation *string `json:"computeLocation,omitempty"` - // ProvisioningState - READ-ONLY; The provision state of the cluster. Valid values are Unknown, Updating, Provisioning, Succeeded, and Failed. Possible values include: 'Unknown', 'Updating', 'Creating', 'Deleting', 'Succeeded', 'Failed', 'Canceled' - ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` - // Description - The description of the Machine Learning compute. - Description *string `json:"description,omitempty"` - // CreatedOn - READ-ONLY; The date and time when the compute was created. - CreatedOn *date.Time `json:"createdOn,omitempty"` - // ModifiedOn - READ-ONLY; The date and time when the compute was last modified. - ModifiedOn *date.Time `json:"modifiedOn,omitempty"` - // ResourceID - ARM resource id of the compute - ResourceID *string `json:"resourceId,omitempty"` - // ProvisioningErrors - READ-ONLY; Errors during provisioning - ProvisioningErrors *[]MachineLearningServiceError `json:"provisioningErrors,omitempty"` - // ComputeType - Possible values include: 'ComputeTypeCompute', 'ComputeTypeAKS1', 'ComputeTypeBatchAI1', 'ComputeTypeVirtualMachine1', 'ComputeTypeHDInsight1', 'ComputeTypeDataFactory1' - ComputeType ComputeTypeBasicCompute `json:"computeType,omitempty"` -} - -// MarshalJSON is the custom marshaler for DataFactory. -func (df DataFactory) MarshalJSON() ([]byte, error) { - df.ComputeType = ComputeTypeDataFactory1 - objectMap := make(map[string]interface{}) - if df.ComputeLocation != nil { - objectMap["computeLocation"] = df.ComputeLocation - } - if df.Description != nil { - objectMap["description"] = df.Description - } - if df.ResourceID != nil { - objectMap["resourceId"] = df.ResourceID - } - if df.ComputeType != "" { - objectMap["computeType"] = df.ComputeType - } - return json.Marshal(objectMap) -} - -// AsAKS is the BasicCompute implementation for DataFactory. -func (df DataFactory) AsAKS() (*AKS, bool) { - return nil, false -} - -// AsBatchAI is the BasicCompute implementation for DataFactory. -func (df DataFactory) AsBatchAI() (*BatchAI, bool) { - return nil, false -} - -// AsVirtualMachine is the BasicCompute implementation for DataFactory. -func (df DataFactory) AsVirtualMachine() (*VirtualMachine, bool) { - return nil, false -} - -// AsHDInsight is the BasicCompute implementation for DataFactory. -func (df DataFactory) AsHDInsight() (*HDInsight, bool) { - return nil, false -} - -// AsDataFactory is the BasicCompute implementation for DataFactory. -func (df DataFactory) AsDataFactory() (*DataFactory, bool) { - return &df, true -} - -// AsCompute is the BasicCompute implementation for DataFactory. -func (df DataFactory) AsCompute() (*Compute, bool) { - return nil, false -} - -// AsBasicCompute is the BasicCompute implementation for DataFactory. -func (df DataFactory) AsBasicCompute() (BasicCompute, bool) { - return &df, true -} - -// ErrorDetail error detail information. -type ErrorDetail struct { - // Code - Error code. - Code *string `json:"code,omitempty"` - // Message - Error message. - Message *string `json:"message,omitempty"` -} - -// ErrorResponse error response information. -type ErrorResponse struct { - // Code - Error code. - Code *string `json:"code,omitempty"` - // Message - Error message. - Message *string `json:"message,omitempty"` - // Details - An array of error detail objects. - Details *[]ErrorDetail `json:"details,omitempty"` -} - -// HDInsight a HDInsight compute. -type HDInsight struct { - Properties *HDInsightProperties `json:"properties,omitempty"` - // ComputeLocation - Location for the underlying compute - ComputeLocation *string `json:"computeLocation,omitempty"` - // ProvisioningState - READ-ONLY; The provision state of the cluster. Valid values are Unknown, Updating, Provisioning, Succeeded, and Failed. Possible values include: 'Unknown', 'Updating', 'Creating', 'Deleting', 'Succeeded', 'Failed', 'Canceled' - ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` - // Description - The description of the Machine Learning compute. - Description *string `json:"description,omitempty"` - // CreatedOn - READ-ONLY; The date and time when the compute was created. - CreatedOn *date.Time `json:"createdOn,omitempty"` - // ModifiedOn - READ-ONLY; The date and time when the compute was last modified. - ModifiedOn *date.Time `json:"modifiedOn,omitempty"` - // ResourceID - ARM resource id of the compute - ResourceID *string `json:"resourceId,omitempty"` - // ProvisioningErrors - READ-ONLY; Errors during provisioning - ProvisioningErrors *[]MachineLearningServiceError `json:"provisioningErrors,omitempty"` - // ComputeType - Possible values include: 'ComputeTypeCompute', 'ComputeTypeAKS1', 'ComputeTypeBatchAI1', 'ComputeTypeVirtualMachine1', 'ComputeTypeHDInsight1', 'ComputeTypeDataFactory1' - ComputeType ComputeTypeBasicCompute `json:"computeType,omitempty"` -} - -// MarshalJSON is the custom marshaler for HDInsight. -func (hi HDInsight) MarshalJSON() ([]byte, error) { - hi.ComputeType = ComputeTypeHDInsight1 - objectMap := make(map[string]interface{}) - if hi.Properties != nil { - objectMap["properties"] = hi.Properties - } - if hi.ComputeLocation != nil { - objectMap["computeLocation"] = hi.ComputeLocation - } - if hi.Description != nil { - objectMap["description"] = hi.Description - } - if hi.ResourceID != nil { - objectMap["resourceId"] = hi.ResourceID - } - if hi.ComputeType != "" { - objectMap["computeType"] = hi.ComputeType - } - return json.Marshal(objectMap) -} - -// AsAKS is the BasicCompute implementation for HDInsight. -func (hi HDInsight) AsAKS() (*AKS, bool) { - return nil, false -} - -// AsBatchAI is the BasicCompute implementation for HDInsight. -func (hi HDInsight) AsBatchAI() (*BatchAI, bool) { - return nil, false -} - -// AsVirtualMachine is the BasicCompute implementation for HDInsight. -func (hi HDInsight) AsVirtualMachine() (*VirtualMachine, bool) { - return nil, false -} - -// AsHDInsight is the BasicCompute implementation for HDInsight. -func (hi HDInsight) AsHDInsight() (*HDInsight, bool) { - return &hi, true -} - -// AsDataFactory is the BasicCompute implementation for HDInsight. -func (hi HDInsight) AsDataFactory() (*DataFactory, bool) { - return nil, false -} - -// AsCompute is the BasicCompute implementation for HDInsight. -func (hi HDInsight) AsCompute() (*Compute, bool) { - return nil, false -} - -// AsBasicCompute is the BasicCompute implementation for HDInsight. -func (hi HDInsight) AsBasicCompute() (BasicCompute, bool) { - return &hi, true -} - -// HDInsightProperties ... -type HDInsightProperties struct { - // SSHPort - Port open for ssh connections on the master node of the cluster. - SSHPort *int32 `json:"sshPort,omitempty"` - // Address - Public IP address of the master node of the cluster. - Address *string `json:"address,omitempty"` - // AdministratorAccount - Admin credentials for master node of the cluster - AdministratorAccount *VirtualMachineSSHCredentials `json:"administratorAccount,omitempty"` -} - -// Identity identity for the resource. -type Identity struct { - // PrincipalID - READ-ONLY; The principal ID of resource identity. - PrincipalID *string `json:"principalId,omitempty"` - // TenantID - READ-ONLY; The tenant ID of resource. - TenantID *string `json:"tenantId,omitempty"` - // Type - The identity type. Possible values include: 'SystemAssigned' - Type ResourceIdentityType `json:"type,omitempty"` -} - -// ListWorkspaceKeysResult ... -type ListWorkspaceKeysResult struct { - autorest.Response `json:"-"` - // UserStorageKey - READ-ONLY - UserStorageKey *string `json:"userStorageKey,omitempty"` - // UserStorageResourceID - READ-ONLY - UserStorageResourceID *string `json:"userStorageResourceId,omitempty"` - // AppInsightsInstrumentationKey - READ-ONLY - AppInsightsInstrumentationKey *string `json:"appInsightsInstrumentationKey,omitempty"` - // ContainerRegistryCredentials - READ-ONLY - ContainerRegistryCredentials *RegistryListCredentialsResult `json:"containerRegistryCredentials,omitempty"` -} - -// MachineLearningComputeCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a -// long-running operation. -type MachineLearningComputeCreateOrUpdateFuture struct { - azure.Future -} - -// Result returns the result of the asynchronous operation. -// If the operation has not completed it will return an error. -func (future *MachineLearningComputeCreateOrUpdateFuture) Result(client MachineLearningComputeClient) (cr ComputeResource, err error) { - var done bool - done, err = future.DoneWithContext(context.Background(), client) - if err != nil { - err = autorest.NewErrorWithError(err, "services.MachineLearningComputeCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") - return - } - if !done { - err = azure.NewAsyncOpIncompleteError("services.MachineLearningComputeCreateOrUpdateFuture") - return - } - sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) - if cr.Response.Response, err = future.GetResult(sender); err == nil && cr.Response.Response.StatusCode != http.StatusNoContent { - cr, err = client.CreateOrUpdateResponder(cr.Response.Response) - if err != nil { - err = autorest.NewErrorWithError(err, "services.MachineLearningComputeCreateOrUpdateFuture", "Result", cr.Response.Response, "Failure responding to request") - } - } - return -} - -// MachineLearningComputeDeleteFuture an abstraction for monitoring and retrieving the results of a -// long-running operation. -type MachineLearningComputeDeleteFuture struct { - azure.Future -} - -// Result returns the result of the asynchronous operation. -// If the operation has not completed it will return an error. -func (future *MachineLearningComputeDeleteFuture) Result(client MachineLearningComputeClient) (ar autorest.Response, err error) { - var done bool - done, err = future.DoneWithContext(context.Background(), client) - if err != nil { - err = autorest.NewErrorWithError(err, "services.MachineLearningComputeDeleteFuture", "Result", future.Response(), "Polling failure") - return - } - if !done { - err = azure.NewAsyncOpIncompleteError("services.MachineLearningComputeDeleteFuture") - return - } - ar.Response = future.Response() - return -} - -// MachineLearningComputeSystemUpdateFuture an abstraction for monitoring and retrieving the results of a -// long-running operation. -type MachineLearningComputeSystemUpdateFuture struct { - azure.Future -} - -// Result returns the result of the asynchronous operation. -// If the operation has not completed it will return an error. -func (future *MachineLearningComputeSystemUpdateFuture) Result(client MachineLearningComputeClient) (ar autorest.Response, err error) { - var done bool - done, err = future.DoneWithContext(context.Background(), client) - if err != nil { - err = autorest.NewErrorWithError(err, "services.MachineLearningComputeSystemUpdateFuture", "Result", future.Response(), "Polling failure") - return - } - if !done { - err = azure.NewAsyncOpIncompleteError("services.MachineLearningComputeSystemUpdateFuture") - return - } - ar.Response = future.Response() - return -} - -// MachineLearningServiceError wrapper for error response to follow ARM guidelines. -type MachineLearningServiceError struct { - // Error - The error response. - Error *ErrorResponse `json:"error,omitempty"` -} - -// Operation azure Machine Learning workspace REST API operation -type Operation struct { - // Name - Operation name: {provider}/{resource}/{operation} - Name *string `json:"name,omitempty"` - // Display - Display name of operation - Display *OperationDisplay `json:"display,omitempty"` -} - -// OperationDisplay display name of operation -type OperationDisplay struct { - // Provider - The resource provider name: Microsoft.MachineLearningExperimentation - Provider *string `json:"provider,omitempty"` - // Resource - The resource on which the operation is performed. - Resource *string `json:"resource,omitempty"` - // Operation - The operation that users can perform. - Operation *string `json:"operation,omitempty"` - // Description - The description for the operation. - Description *string `json:"description,omitempty"` -} - -// OperationListResult an array of operations supported by the resource provider. -type OperationListResult struct { - autorest.Response `json:"-"` - // Value - List of AML workspace operations supported by the AML workspace resource provider. - Value *[]Operation `json:"value,omitempty"` -} - -// PaginatedComputeResourcesList paginated list of Machine Learning compute objects wrapped in ARM resource -// envelope. -type PaginatedComputeResourcesList struct { - autorest.Response `json:"-"` - // Value - An array of Machine Learning compute objects wrapped in ARM resource envelope. - Value *[]ComputeResource `json:"value,omitempty"` - // NextLink - A continuation link (absolute URI) to the next page of results in the list. - NextLink *string `json:"nextLink,omitempty"` -} - -// PaginatedComputeResourcesListIterator provides access to a complete listing of ComputeResource values. -type PaginatedComputeResourcesListIterator struct { - i int - page PaginatedComputeResourcesListPage -} - -// NextWithContext advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -func (iter *PaginatedComputeResourcesListIterator) NextWithContext(ctx context.Context) (err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/PaginatedComputeResourcesListIterator.NextWithContext") - defer func() { - sc := -1 - if iter.Response().Response.Response != nil { - sc = iter.Response().Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - iter.i++ - if iter.i < len(iter.page.Values()) { - return nil - } - err = iter.page.NextWithContext(ctx) - if err != nil { - iter.i-- - return err - } - iter.i = 0 - return nil -} - -// Next advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -// Deprecated: Use NextWithContext() instead. -func (iter *PaginatedComputeResourcesListIterator) Next() error { - return iter.NextWithContext(context.Background()) -} - -// NotDone returns true if the enumeration should be started or is not yet complete. -func (iter PaginatedComputeResourcesListIterator) NotDone() bool { - return iter.page.NotDone() && iter.i < len(iter.page.Values()) -} - -// Response returns the raw server response from the last page request. -func (iter PaginatedComputeResourcesListIterator) Response() PaginatedComputeResourcesList { - return iter.page.Response() -} - -// Value returns the current value or a zero-initialized value if the -// iterator has advanced beyond the end of the collection. -func (iter PaginatedComputeResourcesListIterator) Value() ComputeResource { - if !iter.page.NotDone() { - return ComputeResource{} - } - return iter.page.Values()[iter.i] -} - -// Creates a new instance of the PaginatedComputeResourcesListIterator type. -func NewPaginatedComputeResourcesListIterator(page PaginatedComputeResourcesListPage) PaginatedComputeResourcesListIterator { - return PaginatedComputeResourcesListIterator{page: page} -} - -// IsEmpty returns true if the ListResult contains no values. -func (pcrl PaginatedComputeResourcesList) IsEmpty() bool { - return pcrl.Value == nil || len(*pcrl.Value) == 0 -} - -// paginatedComputeResourcesListPreparer prepares a request to retrieve the next set of results. -// It returns nil if no more results exist. -func (pcrl PaginatedComputeResourcesList) paginatedComputeResourcesListPreparer(ctx context.Context) (*http.Request, error) { - if pcrl.NextLink == nil || len(to.String(pcrl.NextLink)) < 1 { - return nil, nil - } - return autorest.Prepare((&http.Request{}).WithContext(ctx), - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(pcrl.NextLink))) -} - -// PaginatedComputeResourcesListPage contains a page of ComputeResource values. -type PaginatedComputeResourcesListPage struct { - fn func(context.Context, PaginatedComputeResourcesList) (PaginatedComputeResourcesList, error) - pcrl PaginatedComputeResourcesList -} - -// NextWithContext advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -func (page *PaginatedComputeResourcesListPage) NextWithContext(ctx context.Context) (err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/PaginatedComputeResourcesListPage.NextWithContext") - defer func() { - sc := -1 - if page.Response().Response.Response != nil { - sc = page.Response().Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - next, err := page.fn(ctx, page.pcrl) - if err != nil { - return err - } - page.pcrl = next - return nil -} - -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -// Deprecated: Use NextWithContext() instead. -func (page *PaginatedComputeResourcesListPage) Next() error { - return page.NextWithContext(context.Background()) -} - -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page PaginatedComputeResourcesListPage) NotDone() bool { - return !page.pcrl.IsEmpty() -} - -// Response returns the raw server response from the last page request. -func (page PaginatedComputeResourcesListPage) Response() PaginatedComputeResourcesList { - return page.pcrl -} - -// Values returns the slice of values for the current page or nil if there are no values. -func (page PaginatedComputeResourcesListPage) Values() []ComputeResource { - if page.pcrl.IsEmpty() { - return nil - } - return *page.pcrl.Value -} - -// Creates a new instance of the PaginatedComputeResourcesListPage type. -func NewPaginatedComputeResourcesListPage(getNextPage func(context.Context, PaginatedComputeResourcesList) (PaginatedComputeResourcesList, error)) PaginatedComputeResourcesListPage { - return PaginatedComputeResourcesListPage{fn: getNextPage} -} - -// Password ... -type Password struct { - // Name - READ-ONLY - Name *string `json:"name,omitempty"` - // Value - READ-ONLY - Value *string `json:"value,omitempty"` -} - -// PrincipalCredentials service principal credentials. -type PrincipalCredentials struct { - // ClientID - Client Id - ClientID *string `json:"clientId,omitempty"` - // ClientSecret - Client secret - ClientSecret *string `json:"clientSecret,omitempty"` -} - -// RegistryListCredentialsResult ... -type RegistryListCredentialsResult struct { - // Location - READ-ONLY - Location *string `json:"location,omitempty"` - // Username - READ-ONLY - Username *string `json:"username,omitempty"` - Passwords *[]Password `json:"passwords,omitempty"` -} - -// Resource azure Resource Manager resource envelope. -type Resource struct { - // ID - READ-ONLY; Specifies the resource ID. - ID *string `json:"id,omitempty"` - // Name - READ-ONLY; Specifies the name of the resource. - Name *string `json:"name,omitempty"` - // Identity - READ-ONLY; The identity of the resource. - Identity *Identity `json:"identity,omitempty"` - // Location - Specifies the location of the resource. - Location *string `json:"location,omitempty"` - // Type - READ-ONLY; Specifies the type of the resource. - Type *string `json:"type,omitempty"` - // Tags - Contains resource tags defined as key/value pairs. - Tags map[string]*string `json:"tags"` -} - -// MarshalJSON is the custom marshaler for Resource. -func (r Resource) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - if r.Location != nil { - objectMap["location"] = r.Location - } - if r.Tags != nil { - objectMap["tags"] = r.Tags - } - return json.Marshal(objectMap) -} - -// ScaleSettings scale settings for BatchAI Compute -type ScaleSettings struct { - // MaxNodeCount - Max number of nodes to use - MaxNodeCount *int32 `json:"maxNodeCount,omitempty"` - // MinNodeCount - Min number of nodes to use - MinNodeCount *int32 `json:"minNodeCount,omitempty"` - // AutoScaleEnabled - Enable or disable auto scale - AutoScaleEnabled *bool `json:"autoScaleEnabled,omitempty"` -} - -// SslConfiguration the SSL configuration for scoring -type SslConfiguration struct { - // Status - Enable or disable SSL for scoring. Possible values include: 'Disabled', 'Enabled' - Status Status `json:"status,omitempty"` - // Cert - Cert data - Cert *string `json:"cert,omitempty"` - // Key - Key data - Key *string `json:"key,omitempty"` - // Cname - CNAME of the cert - Cname *string `json:"cname,omitempty"` -} - -// SystemService a system service running on a compute. -type SystemService struct { - // SystemServiceType - READ-ONLY; The type of this system service. - SystemServiceType *string `json:"systemServiceType,omitempty"` - // PublicIPAddress - READ-ONLY; Public IP address - PublicIPAddress *string `json:"publicIpAddress,omitempty"` - // Version - READ-ONLY; The version for this type. - Version *string `json:"version,omitempty"` -} - -// VirtualMachine a Machine Learning compute based on Azure Virtual Machines. -type VirtualMachine struct { - Properties *VirtualMachineProperties `json:"properties,omitempty"` - // ComputeLocation - Location for the underlying compute - ComputeLocation *string `json:"computeLocation,omitempty"` - // ProvisioningState - READ-ONLY; The provision state of the cluster. Valid values are Unknown, Updating, Provisioning, Succeeded, and Failed. Possible values include: 'Unknown', 'Updating', 'Creating', 'Deleting', 'Succeeded', 'Failed', 'Canceled' - ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` - // Description - The description of the Machine Learning compute. - Description *string `json:"description,omitempty"` - // CreatedOn - READ-ONLY; The date and time when the compute was created. - CreatedOn *date.Time `json:"createdOn,omitempty"` - // ModifiedOn - READ-ONLY; The date and time when the compute was last modified. - ModifiedOn *date.Time `json:"modifiedOn,omitempty"` - // ResourceID - ARM resource id of the compute - ResourceID *string `json:"resourceId,omitempty"` - // ProvisioningErrors - READ-ONLY; Errors during provisioning - ProvisioningErrors *[]MachineLearningServiceError `json:"provisioningErrors,omitempty"` - // ComputeType - Possible values include: 'ComputeTypeCompute', 'ComputeTypeAKS1', 'ComputeTypeBatchAI1', 'ComputeTypeVirtualMachine1', 'ComputeTypeHDInsight1', 'ComputeTypeDataFactory1' - ComputeType ComputeTypeBasicCompute `json:"computeType,omitempty"` -} - -// MarshalJSON is the custom marshaler for VirtualMachine. -func (VM VirtualMachine) MarshalJSON() ([]byte, error) { - VM.ComputeType = ComputeTypeVirtualMachine1 - objectMap := make(map[string]interface{}) - if VM.Properties != nil { - objectMap["properties"] = VM.Properties - } - if VM.ComputeLocation != nil { - objectMap["computeLocation"] = VM.ComputeLocation - } - if VM.Description != nil { - objectMap["description"] = VM.Description - } - if VM.ResourceID != nil { - objectMap["resourceId"] = VM.ResourceID - } - if VM.ComputeType != "" { - objectMap["computeType"] = VM.ComputeType - } - return json.Marshal(objectMap) -} - -// AsAKS is the BasicCompute implementation for VirtualMachine. -func (VM VirtualMachine) AsAKS() (*AKS, bool) { - return nil, false -} - -// AsBatchAI is the BasicCompute implementation for VirtualMachine. -func (VM VirtualMachine) AsBatchAI() (*BatchAI, bool) { - return nil, false -} - -// AsVirtualMachine is the BasicCompute implementation for VirtualMachine. -func (VM VirtualMachine) AsVirtualMachine() (*VirtualMachine, bool) { - return &VM, true -} - -// AsHDInsight is the BasicCompute implementation for VirtualMachine. -func (VM VirtualMachine) AsHDInsight() (*HDInsight, bool) { - return nil, false -} - -// AsDataFactory is the BasicCompute implementation for VirtualMachine. -func (VM VirtualMachine) AsDataFactory() (*DataFactory, bool) { - return nil, false -} - -// AsCompute is the BasicCompute implementation for VirtualMachine. -func (VM VirtualMachine) AsCompute() (*Compute, bool) { - return nil, false -} - -// AsBasicCompute is the BasicCompute implementation for VirtualMachine. -func (VM VirtualMachine) AsBasicCompute() (BasicCompute, bool) { - return &VM, true -} - -// VirtualMachineProperties ... -type VirtualMachineProperties struct { - // VirtualMachineSize - Virtual Machine size - VirtualMachineSize *string `json:"virtualMachineSize,omitempty"` - // SSHPort - Port open for ssh connections. - SSHPort *int32 `json:"sshPort,omitempty"` - // Address - Public IP address of the virtual machine. - Address *string `json:"address,omitempty"` - // AdministratorAccount - Admin credentials for virtual machine - AdministratorAccount *VirtualMachineSSHCredentials `json:"administratorAccount,omitempty"` -} - -// VirtualMachineSecrets secrets related to a Machine Learning compute based on AKS. -type VirtualMachineSecrets struct { - // AdministratorAccount - Admin credentials for virtual machine. - AdministratorAccount *VirtualMachineSSHCredentials `json:"administratorAccount,omitempty"` - // ComputeType - Possible values include: 'ComputeTypeBasicComputeSecretsComputeTypeComputeSecrets', 'ComputeTypeBasicComputeSecretsComputeTypeAKS', 'ComputeTypeBasicComputeSecretsComputeTypeVirtualMachine' - ComputeType ComputeTypeBasicComputeSecrets `json:"computeType,omitempty"` -} - -// MarshalJSON is the custom marshaler for VirtualMachineSecrets. -func (vms VirtualMachineSecrets) MarshalJSON() ([]byte, error) { - vms.ComputeType = ComputeTypeBasicComputeSecretsComputeTypeVirtualMachine - objectMap := make(map[string]interface{}) - if vms.AdministratorAccount != nil { - objectMap["administratorAccount"] = vms.AdministratorAccount - } - if vms.ComputeType != "" { - objectMap["computeType"] = vms.ComputeType - } - return json.Marshal(objectMap) -} - -// AsAksComputeSecrets is the BasicComputeSecrets implementation for VirtualMachineSecrets. -func (vms VirtualMachineSecrets) AsAksComputeSecrets() (*AksComputeSecrets, bool) { - return nil, false -} - -// AsVirtualMachineSecrets is the BasicComputeSecrets implementation for VirtualMachineSecrets. -func (vms VirtualMachineSecrets) AsVirtualMachineSecrets() (*VirtualMachineSecrets, bool) { - return &vms, true -} - -// AsComputeSecrets is the BasicComputeSecrets implementation for VirtualMachineSecrets. -func (vms VirtualMachineSecrets) AsComputeSecrets() (*ComputeSecrets, bool) { - return nil, false -} - -// AsBasicComputeSecrets is the BasicComputeSecrets implementation for VirtualMachineSecrets. -func (vms VirtualMachineSecrets) AsBasicComputeSecrets() (BasicComputeSecrets, bool) { - return &vms, true -} - -// VirtualMachineSSHCredentials admin credentials for virtual machine -type VirtualMachineSSHCredentials struct { - // Username - Username of admin account - Username *string `json:"username,omitempty"` - // Password - Password of admin account - Password *string `json:"password,omitempty"` - // PublicKeyData - Public key data - PublicKeyData *string `json:"publicKeyData,omitempty"` - // PrivateKeyData - Private key data - PrivateKeyData *string `json:"privateKeyData,omitempty"` -} - -// Workspace an object that represents a machine learning workspace. -type Workspace struct { - autorest.Response `json:"-"` - // WorkspaceProperties - The properties of the machine learning workspace. - *WorkspaceProperties `json:"properties,omitempty"` - // ID - READ-ONLY; Specifies the resource ID. - ID *string `json:"id,omitempty"` - // Name - READ-ONLY; Specifies the name of the resource. - Name *string `json:"name,omitempty"` - // Identity - READ-ONLY; The identity of the resource. - Identity *Identity `json:"identity,omitempty"` - // Location - Specifies the location of the resource. - Location *string `json:"location,omitempty"` - // Type - READ-ONLY; Specifies the type of the resource. - Type *string `json:"type,omitempty"` - // Tags - Contains resource tags defined as key/value pairs. - Tags map[string]*string `json:"tags"` -} - -// MarshalJSON is the custom marshaler for Workspace. -func (w Workspace) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - if w.WorkspaceProperties != nil { - objectMap["properties"] = w.WorkspaceProperties - } - if w.Location != nil { - objectMap["location"] = w.Location - } - if w.Tags != nil { - objectMap["tags"] = w.Tags - } - return json.Marshal(objectMap) -} - -// UnmarshalJSON is the custom unmarshaler for Workspace struct. -func (w *Workspace) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - case "properties": - if v != nil { - var workspaceProperties WorkspaceProperties - err = json.Unmarshal(*v, &workspaceProperties) - if err != nil { - return err - } - w.WorkspaceProperties = &workspaceProperties - } - case "id": - if v != nil { - var ID string - err = json.Unmarshal(*v, &ID) - if err != nil { - return err - } - w.ID = &ID - } - case "name": - if v != nil { - var name string - err = json.Unmarshal(*v, &name) - if err != nil { - return err - } - w.Name = &name - } - case "identity": - if v != nil { - var identity Identity - err = json.Unmarshal(*v, &identity) - if err != nil { - return err - } - w.Identity = &identity - } - case "location": - if v != nil { - var location string - err = json.Unmarshal(*v, &location) - if err != nil { - return err - } - w.Location = &location - } - case "type": - if v != nil { - var typeVar string - err = json.Unmarshal(*v, &typeVar) - if err != nil { - return err - } - w.Type = &typeVar - } - case "tags": - if v != nil { - var tags map[string]*string - err = json.Unmarshal(*v, &tags) - if err != nil { - return err - } - w.Tags = tags - } - } - } - - return nil -} - -// WorkspaceListResult the result of a request to list machine learning workspaces. -type WorkspaceListResult struct { - autorest.Response `json:"-"` - // Value - The list of machine learning workspaces. Since this list may be incomplete, the nextLink field should be used to request the next list of machine learning workspaces. - Value *[]Workspace `json:"value,omitempty"` - // NextLink - The URI that can be used to request the next list of machine learning workspaces. - NextLink *string `json:"nextLink,omitempty"` -} - -// WorkspaceListResultIterator provides access to a complete listing of Workspace values. -type WorkspaceListResultIterator struct { - i int - page WorkspaceListResultPage -} - -// NextWithContext advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -func (iter *WorkspaceListResultIterator) NextWithContext(ctx context.Context) (err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/WorkspaceListResultIterator.NextWithContext") - defer func() { - sc := -1 - if iter.Response().Response.Response != nil { - sc = iter.Response().Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - iter.i++ - if iter.i < len(iter.page.Values()) { - return nil - } - err = iter.page.NextWithContext(ctx) - if err != nil { - iter.i-- - return err - } - iter.i = 0 - return nil -} - -// Next advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -// Deprecated: Use NextWithContext() instead. -func (iter *WorkspaceListResultIterator) Next() error { - return iter.NextWithContext(context.Background()) -} - -// NotDone returns true if the enumeration should be started or is not yet complete. -func (iter WorkspaceListResultIterator) NotDone() bool { - return iter.page.NotDone() && iter.i < len(iter.page.Values()) -} - -// Response returns the raw server response from the last page request. -func (iter WorkspaceListResultIterator) Response() WorkspaceListResult { - return iter.page.Response() -} - -// Value returns the current value or a zero-initialized value if the -// iterator has advanced beyond the end of the collection. -func (iter WorkspaceListResultIterator) Value() Workspace { - if !iter.page.NotDone() { - return Workspace{} - } - return iter.page.Values()[iter.i] -} - -// Creates a new instance of the WorkspaceListResultIterator type. -func NewWorkspaceListResultIterator(page WorkspaceListResultPage) WorkspaceListResultIterator { - return WorkspaceListResultIterator{page: page} -} - -// IsEmpty returns true if the ListResult contains no values. -func (wlr WorkspaceListResult) IsEmpty() bool { - return wlr.Value == nil || len(*wlr.Value) == 0 -} - -// workspaceListResultPreparer prepares a request to retrieve the next set of results. -// It returns nil if no more results exist. -func (wlr WorkspaceListResult) workspaceListResultPreparer(ctx context.Context) (*http.Request, error) { - if wlr.NextLink == nil || len(to.String(wlr.NextLink)) < 1 { - return nil, nil - } - return autorest.Prepare((&http.Request{}).WithContext(ctx), - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(wlr.NextLink))) -} - -// WorkspaceListResultPage contains a page of Workspace values. -type WorkspaceListResultPage struct { - fn func(context.Context, WorkspaceListResult) (WorkspaceListResult, error) - wlr WorkspaceListResult -} - -// NextWithContext advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -func (page *WorkspaceListResultPage) NextWithContext(ctx context.Context) (err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/WorkspaceListResultPage.NextWithContext") - defer func() { - sc := -1 - if page.Response().Response.Response != nil { - sc = page.Response().Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - next, err := page.fn(ctx, page.wlr) - if err != nil { - return err - } - page.wlr = next - return nil -} - -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -// Deprecated: Use NextWithContext() instead. -func (page *WorkspaceListResultPage) Next() error { - return page.NextWithContext(context.Background()) -} - -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page WorkspaceListResultPage) NotDone() bool { - return !page.wlr.IsEmpty() -} - -// Response returns the raw server response from the last page request. -func (page WorkspaceListResultPage) Response() WorkspaceListResult { - return page.wlr -} - -// Values returns the slice of values for the current page or nil if there are no values. -func (page WorkspaceListResultPage) Values() []Workspace { - if page.wlr.IsEmpty() { - return nil - } - return *page.wlr.Value -} - -// Creates a new instance of the WorkspaceListResultPage type. -func NewWorkspaceListResultPage(getNextPage func(context.Context, WorkspaceListResult) (WorkspaceListResult, error)) WorkspaceListResultPage { - return WorkspaceListResultPage{fn: getNextPage} -} - -// WorkspaceProperties the properties of a machine learning workspace. -type WorkspaceProperties struct { - // WorkspaceID - READ-ONLY; The immutable id associated with this workspace. - WorkspaceID *string `json:"workspaceId,omitempty"` - // Description - The description of this workspace. - Description *string `json:"description,omitempty"` - // FriendlyName - The friendly name for this workspace. This name in mutable - FriendlyName *string `json:"friendlyName,omitempty"` - // CreationTime - READ-ONLY; The creation time of the machine learning workspace in ISO8601 format. - CreationTime *date.Time `json:"creationTime,omitempty"` - // BatchaiWorkspace - ARM id of the Batch AI workspace associated with this workspace. This cannot be changed once the workspace has been created - BatchaiWorkspace *string `json:"batchaiWorkspace,omitempty"` - // KeyVault - ARM id of the key vault associated with this workspace. This cannot be changed once the workspace has been created - KeyVault *string `json:"keyVault,omitempty"` - // ApplicationInsights - ARM id of the application insights associated with this workspace. This cannot be changed once the workspace has been created - ApplicationInsights *string `json:"applicationInsights,omitempty"` - // ContainerRegistry - ARM id of the container registry associated with this workspace. This cannot be changed once the workspace has been created - ContainerRegistry *string `json:"containerRegistry,omitempty"` - // StorageAccount - ARM id of the storage account associated with this workspace. This cannot be changed once the workspace has been created - StorageAccount *string `json:"storageAccount,omitempty"` - // DiscoveryURL - Url for the discovery service to identify regional endpoints for machine learning experimentation services - DiscoveryURL *string `json:"discoveryUrl,omitempty"` - // ProvisioningState - READ-ONLY; The current deployment state of workspace resource. The provisioningState is to indicate states for resource provisioning. Possible values include: 'Unknown', 'Updating', 'Creating', 'Deleting', 'Succeeded', 'Failed', 'Canceled' - ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` -} - -// WorkspacePropertiesUpdateParameters the parameters for updating the properties of a machine learning -// workspace. -type WorkspacePropertiesUpdateParameters struct { - // Description - The description of this workspace. - Description *string `json:"description,omitempty"` - // FriendlyName - The friendly name for this workspace. - FriendlyName *string `json:"friendlyName,omitempty"` -} - -// WorkspaceUpdateParameters the parameters for updating a machine learning workspace. -type WorkspaceUpdateParameters struct { - // Tags - The resource tags for the machine learning workspace. - Tags map[string]*string `json:"tags"` - // WorkspacePropertiesUpdateParameters - The properties that the machine learning workspace will be updated with. - *WorkspacePropertiesUpdateParameters `json:"properties,omitempty"` -} - -// MarshalJSON is the custom marshaler for WorkspaceUpdateParameters. -func (wup WorkspaceUpdateParameters) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - if wup.Tags != nil { - objectMap["tags"] = wup.Tags - } - if wup.WorkspacePropertiesUpdateParameters != nil { - objectMap["properties"] = wup.WorkspacePropertiesUpdateParameters - } - return json.Marshal(objectMap) -} - -// UnmarshalJSON is the custom unmarshaler for WorkspaceUpdateParameters struct. -func (wup *WorkspaceUpdateParameters) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - case "tags": - if v != nil { - var tags map[string]*string - err = json.Unmarshal(*v, &tags) - if err != nil { - return err - } - wup.Tags = tags - } - case "properties": - if v != nil { - var workspacePropertiesUpdateParameters WorkspacePropertiesUpdateParameters - err = json.Unmarshal(*v, &workspacePropertiesUpdateParameters) - if err != nil { - return err - } - wup.WorkspacePropertiesUpdateParameters = &workspacePropertiesUpdateParameters - } - } - } - - return nil -} diff --git a/services/preview/machinelearning/mgmt/2018-03-01-preview/services/servicesapi/interfaces.go b/services/preview/machinelearning/mgmt/2018-03-01-preview/services/servicesapi/interfaces.go deleted file mode 100644 index 91c033cac3c6..000000000000 --- a/services/preview/machinelearning/mgmt/2018-03-01-preview/services/servicesapi/interfaces.go +++ /dev/null @@ -1,57 +0,0 @@ -package servicesapi - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/azure-sdk-for-go/services/preview/machinelearning/mgmt/2018-03-01-preview/services" - "github.com/Azure/go-autorest/autorest" -) - -// OperationsClientAPI contains the set of methods on the OperationsClient type. -type OperationsClientAPI interface { - List(ctx context.Context) (result services.OperationListResult, err error) -} - -var _ OperationsClientAPI = (*services.OperationsClient)(nil) - -// WorkspacesClientAPI contains the set of methods on the WorkspacesClient type. -type WorkspacesClientAPI interface { - CreateOrUpdate(ctx context.Context, resourceGroupName string, workspaceName string, parameters services.Workspace) (result services.Workspace, err error) - Delete(ctx context.Context, resourceGroupName string, workspaceName string) (result autorest.Response, err error) - Get(ctx context.Context, resourceGroupName string, workspaceName string) (result services.Workspace, err error) - ListByResourceGroup(ctx context.Context, resourceGroupName string, skiptoken string) (result services.WorkspaceListResultPage, err error) - ListBySubscription(ctx context.Context, skiptoken string) (result services.WorkspaceListResultPage, err error) - ListKeys(ctx context.Context, resourceGroupName string, workspaceName string) (result services.ListWorkspaceKeysResult, err error) - ResyncKeys(ctx context.Context, resourceGroupName string, workspaceName string) (result autorest.Response, err error) - Update(ctx context.Context, resourceGroupName string, workspaceName string, parameters services.WorkspaceUpdateParameters) (result services.Workspace, err error) -} - -var _ WorkspacesClientAPI = (*services.WorkspacesClient)(nil) - -// MachineLearningComputeClientAPI contains the set of methods on the MachineLearningComputeClient type. -type MachineLearningComputeClientAPI interface { - CreateOrUpdate(ctx context.Context, resourceGroupName string, workspaceName string, computeName string, parameters services.ComputeResource) (result services.MachineLearningComputeCreateOrUpdateFuture, err error) - Delete(ctx context.Context, resourceGroupName string, workspaceName string, computeName string) (result services.MachineLearningComputeDeleteFuture, err error) - Get(ctx context.Context, resourceGroupName string, workspaceName string, computeName string) (result services.ComputeResource, err error) - ListByWorkspace(ctx context.Context, resourceGroupName string, workspaceName string, skiptoken string) (result services.PaginatedComputeResourcesListPage, err error) - ListKeys(ctx context.Context, resourceGroupName string, workspaceName string, computeName string) (result services.ComputeSecretsModel, err error) - SystemUpdate(ctx context.Context, resourceGroupName string, workspaceName string, computeName string) (result services.MachineLearningComputeSystemUpdateFuture, err error) -} - -var _ MachineLearningComputeClientAPI = (*services.MachineLearningComputeClient)(nil) diff --git a/services/preview/machinelearning/mgmt/2018-03-01-preview/services/version.go b/services/preview/machinelearning/mgmt/2018-03-01-preview/services/version.go deleted file mode 100644 index 80c355d065aa..000000000000 --- a/services/preview/machinelearning/mgmt/2018-03-01-preview/services/version.go +++ /dev/null @@ -1,30 +0,0 @@ -package services - -import "github.com/Azure/azure-sdk-for-go/version" - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -// UserAgent returns the UserAgent string to use when sending http.Requests. -func UserAgent() string { - return "Azure-SDK-For-Go/" + version.Number + " services/2018-03-01-preview" -} - -// Version returns the semantic version (see http://semver.org) of the client. -func Version() string { - return version.Number -} diff --git a/services/preview/machinelearning/mgmt/2018-03-01-preview/services/workspaces.go b/services/preview/machinelearning/mgmt/2018-03-01-preview/services/workspaces.go deleted file mode 100644 index 8ce1b42dbda2..000000000000 --- a/services/preview/machinelearning/mgmt/2018-03-01-preview/services/workspaces.go +++ /dev/null @@ -1,741 +0,0 @@ -package services - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/tracing" - "net/http" -) - -// WorkspacesClient is the these APIs allow end users to operate on Azure Machine Learning Workspace resources. -type WorkspacesClient struct { - BaseClient -} - -// NewWorkspacesClient creates an instance of the WorkspacesClient client. -func NewWorkspacesClient(subscriptionID string) WorkspacesClient { - return NewWorkspacesClientWithBaseURI(DefaultBaseURI, subscriptionID) -} - -// NewWorkspacesClientWithBaseURI creates an instance of the WorkspacesClient client. -func NewWorkspacesClientWithBaseURI(baseURI string, subscriptionID string) WorkspacesClient { - return WorkspacesClient{NewWithBaseURI(baseURI, subscriptionID)} -} - -// CreateOrUpdate creates or updates a workspace with the specified parameters. -// Parameters: -// resourceGroupName - name of the resource group in which workspace is located. -// workspaceName - name of Azure Machine Learning workspace. -// parameters - the parameters for creating or updating a machine learning workspace. -func (client WorkspacesClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, workspaceName string, parameters Workspace) (result Workspace, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/WorkspacesClient.CreateOrUpdate") - defer func() { - sc := -1 - if result.Response.Response != nil { - sc = result.Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, workspaceName, parameters) - if err != nil { - err = autorest.NewErrorWithError(err, "services.WorkspacesClient", "CreateOrUpdate", nil, "Failure preparing request") - return - } - - resp, err := client.CreateOrUpdateSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "services.WorkspacesClient", "CreateOrUpdate", resp, "Failure sending request") - return - } - - result, err = client.CreateOrUpdateResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "services.WorkspacesClient", "CreateOrUpdate", resp, "Failure responding to request") - } - - return -} - -// CreateOrUpdatePreparer prepares the CreateOrUpdate request. -func (client WorkspacesClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, workspaceName string, parameters Workspace) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - "workspaceName": autorest.Encode("path", workspaceName), - } - - const APIVersion = "2018-03-01-preview" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; charset=utf-8"), - autorest.AsPut(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}", pathParameters), - autorest.WithJSON(parameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the -// http.Response Body if it receives an error. -func (client WorkspacesClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - azure.DoRetryWithRegistration(client.Client)) -} - -// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always -// closes the http.Response Body. -func (client WorkspacesClient) CreateOrUpdateResponder(resp *http.Response) (result Workspace, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// Delete deletes a machine learning workspace. -// Parameters: -// resourceGroupName - name of the resource group in which workspace is located. -// workspaceName - name of Azure Machine Learning workspace. -func (client WorkspacesClient) Delete(ctx context.Context, resourceGroupName string, workspaceName string) (result autorest.Response, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/WorkspacesClient.Delete") - defer func() { - sc := -1 - if result.Response != nil { - sc = result.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - req, err := client.DeletePreparer(ctx, resourceGroupName, workspaceName) - if err != nil { - err = autorest.NewErrorWithError(err, "services.WorkspacesClient", "Delete", nil, "Failure preparing request") - return - } - - resp, err := client.DeleteSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "services.WorkspacesClient", "Delete", resp, "Failure sending request") - return - } - - result, err = client.DeleteResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "services.WorkspacesClient", "Delete", resp, "Failure responding to request") - } - - return -} - -// DeletePreparer prepares the Delete request. -func (client WorkspacesClient) DeletePreparer(ctx context.Context, resourceGroupName string, workspaceName string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - "workspaceName": autorest.Encode("path", workspaceName), - } - - const APIVersion = "2018-03-01-preview" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsDelete(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DeleteSender sends the Delete request. The method will close the -// http.Response Body if it receives an error. -func (client WorkspacesClient) DeleteSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - azure.DoRetryWithRegistration(client.Client)) -} - -// DeleteResponder handles the response to the Delete request. The method always -// closes the http.Response Body. -func (client WorkspacesClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), - autorest.ByClosing()) - result.Response = resp - return -} - -// Get gets the properties of the specified machine learning workspace. -// Parameters: -// resourceGroupName - name of the resource group in which workspace is located. -// workspaceName - name of Azure Machine Learning workspace. -func (client WorkspacesClient) Get(ctx context.Context, resourceGroupName string, workspaceName string) (result Workspace, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/WorkspacesClient.Get") - defer func() { - sc := -1 - if result.Response.Response != nil { - sc = result.Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - req, err := client.GetPreparer(ctx, resourceGroupName, workspaceName) - if err != nil { - err = autorest.NewErrorWithError(err, "services.WorkspacesClient", "Get", nil, "Failure preparing request") - return - } - - resp, err := client.GetSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "services.WorkspacesClient", "Get", resp, "Failure sending request") - return - } - - result, err = client.GetResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "services.WorkspacesClient", "Get", resp, "Failure responding to request") - } - - return -} - -// GetPreparer prepares the Get request. -func (client WorkspacesClient) GetPreparer(ctx context.Context, resourceGroupName string, workspaceName string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - "workspaceName": autorest.Encode("path", workspaceName), - } - - const APIVersion = "2018-03-01-preview" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetSender sends the Get request. The method will close the -// http.Response Body if it receives an error. -func (client WorkspacesClient) GetSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - azure.DoRetryWithRegistration(client.Client)) -} - -// GetResponder handles the response to the Get request. The method always -// closes the http.Response Body. -func (client WorkspacesClient) GetResponder(resp *http.Response) (result Workspace, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// ListByResourceGroup lists all the available machine learning workspaces under the specified resource group. -// Parameters: -// resourceGroupName - name of the resource group in which workspace is located. -// skiptoken - continuation token for pagination. -func (client WorkspacesClient) ListByResourceGroup(ctx context.Context, resourceGroupName string, skiptoken string) (result WorkspaceListResultPage, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/WorkspacesClient.ListByResourceGroup") - defer func() { - sc := -1 - if result.wlr.Response.Response != nil { - sc = result.wlr.Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - result.fn = client.listByResourceGroupNextResults - req, err := client.ListByResourceGroupPreparer(ctx, resourceGroupName, skiptoken) - if err != nil { - err = autorest.NewErrorWithError(err, "services.WorkspacesClient", "ListByResourceGroup", nil, "Failure preparing request") - return - } - - resp, err := client.ListByResourceGroupSender(req) - if err != nil { - result.wlr.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "services.WorkspacesClient", "ListByResourceGroup", resp, "Failure sending request") - return - } - - result.wlr, err = client.ListByResourceGroupResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "services.WorkspacesClient", "ListByResourceGroup", resp, "Failure responding to request") - } - - return -} - -// ListByResourceGroupPreparer prepares the ListByResourceGroup request. -func (client WorkspacesClient) ListByResourceGroupPreparer(ctx context.Context, resourceGroupName string, skiptoken string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2018-03-01-preview" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(skiptoken) > 0 { - queryParameters["$skiptoken"] = autorest.Encode("query", skiptoken) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListByResourceGroupSender sends the ListByResourceGroup request. The method will close the -// http.Response Body if it receives an error. -func (client WorkspacesClient) ListByResourceGroupSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - azure.DoRetryWithRegistration(client.Client)) -} - -// ListByResourceGroupResponder handles the response to the ListByResourceGroup request. The method always -// closes the http.Response Body. -func (client WorkspacesClient) ListByResourceGroupResponder(resp *http.Response) (result WorkspaceListResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listByResourceGroupNextResults retrieves the next set of results, if any. -func (client WorkspacesClient) listByResourceGroupNextResults(ctx context.Context, lastResults WorkspaceListResult) (result WorkspaceListResult, err error) { - req, err := lastResults.workspaceListResultPreparer(ctx) - if err != nil { - return result, autorest.NewErrorWithError(err, "services.WorkspacesClient", "listByResourceGroupNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListByResourceGroupSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "services.WorkspacesClient", "listByResourceGroupNextResults", resp, "Failure sending next results request") - } - result, err = client.ListByResourceGroupResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "services.WorkspacesClient", "listByResourceGroupNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListByResourceGroupComplete enumerates all values, automatically crossing page boundaries as required. -func (client WorkspacesClient) ListByResourceGroupComplete(ctx context.Context, resourceGroupName string, skiptoken string) (result WorkspaceListResultIterator, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/WorkspacesClient.ListByResourceGroup") - defer func() { - sc := -1 - if result.Response().Response.Response != nil { - sc = result.page.Response().Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - result.page, err = client.ListByResourceGroup(ctx, resourceGroupName, skiptoken) - return -} - -// ListBySubscription lists all the available machine learning workspaces under the specified subscription. -// Parameters: -// skiptoken - continuation token for pagination. -func (client WorkspacesClient) ListBySubscription(ctx context.Context, skiptoken string) (result WorkspaceListResultPage, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/WorkspacesClient.ListBySubscription") - defer func() { - sc := -1 - if result.wlr.Response.Response != nil { - sc = result.wlr.Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - result.fn = client.listBySubscriptionNextResults - req, err := client.ListBySubscriptionPreparer(ctx, skiptoken) - if err != nil { - err = autorest.NewErrorWithError(err, "services.WorkspacesClient", "ListBySubscription", nil, "Failure preparing request") - return - } - - resp, err := client.ListBySubscriptionSender(req) - if err != nil { - result.wlr.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "services.WorkspacesClient", "ListBySubscription", resp, "Failure sending request") - return - } - - result.wlr, err = client.ListBySubscriptionResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "services.WorkspacesClient", "ListBySubscription", resp, "Failure responding to request") - } - - return -} - -// ListBySubscriptionPreparer prepares the ListBySubscription request. -func (client WorkspacesClient) ListBySubscriptionPreparer(ctx context.Context, skiptoken string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2018-03-01-preview" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(skiptoken) > 0 { - queryParameters["$skiptoken"] = autorest.Encode("query", skiptoken) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.MachineLearningServices/workspaces", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListBySubscriptionSender sends the ListBySubscription request. The method will close the -// http.Response Body if it receives an error. -func (client WorkspacesClient) ListBySubscriptionSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - azure.DoRetryWithRegistration(client.Client)) -} - -// ListBySubscriptionResponder handles the response to the ListBySubscription request. The method always -// closes the http.Response Body. -func (client WorkspacesClient) ListBySubscriptionResponder(resp *http.Response) (result WorkspaceListResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listBySubscriptionNextResults retrieves the next set of results, if any. -func (client WorkspacesClient) listBySubscriptionNextResults(ctx context.Context, lastResults WorkspaceListResult) (result WorkspaceListResult, err error) { - req, err := lastResults.workspaceListResultPreparer(ctx) - if err != nil { - return result, autorest.NewErrorWithError(err, "services.WorkspacesClient", "listBySubscriptionNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListBySubscriptionSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "services.WorkspacesClient", "listBySubscriptionNextResults", resp, "Failure sending next results request") - } - result, err = client.ListBySubscriptionResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "services.WorkspacesClient", "listBySubscriptionNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListBySubscriptionComplete enumerates all values, automatically crossing page boundaries as required. -func (client WorkspacesClient) ListBySubscriptionComplete(ctx context.Context, skiptoken string) (result WorkspaceListResultIterator, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/WorkspacesClient.ListBySubscription") - defer func() { - sc := -1 - if result.Response().Response.Response != nil { - sc = result.page.Response().Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - result.page, err = client.ListBySubscription(ctx, skiptoken) - return -} - -// ListKeys lists all the keys associated with this workspace. This includes keys for the storage account, app insights -// and password for container registry -// Parameters: -// resourceGroupName - name of the resource group in which workspace is located. -// workspaceName - name of Azure Machine Learning workspace. -func (client WorkspacesClient) ListKeys(ctx context.Context, resourceGroupName string, workspaceName string) (result ListWorkspaceKeysResult, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/WorkspacesClient.ListKeys") - defer func() { - sc := -1 - if result.Response.Response != nil { - sc = result.Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - req, err := client.ListKeysPreparer(ctx, resourceGroupName, workspaceName) - if err != nil { - err = autorest.NewErrorWithError(err, "services.WorkspacesClient", "ListKeys", nil, "Failure preparing request") - return - } - - resp, err := client.ListKeysSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "services.WorkspacesClient", "ListKeys", resp, "Failure sending request") - return - } - - result, err = client.ListKeysResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "services.WorkspacesClient", "ListKeys", resp, "Failure responding to request") - } - - return -} - -// ListKeysPreparer prepares the ListKeys request. -func (client WorkspacesClient) ListKeysPreparer(ctx context.Context, resourceGroupName string, workspaceName string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - "workspaceName": autorest.Encode("path", workspaceName), - } - - const APIVersion = "2018-03-01-preview" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/listKeys", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListKeysSender sends the ListKeys request. The method will close the -// http.Response Body if it receives an error. -func (client WorkspacesClient) ListKeysSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - azure.DoRetryWithRegistration(client.Client)) -} - -// ListKeysResponder handles the response to the ListKeys request. The method always -// closes the http.Response Body. -func (client WorkspacesClient) ListKeysResponder(resp *http.Response) (result ListWorkspaceKeysResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// ResyncKeys resync all the keys associated with this workspace. This includes keys for the storage account, app -// insights and password for container registry -// Parameters: -// resourceGroupName - name of the resource group in which workspace is located. -// workspaceName - name of Azure Machine Learning workspace. -func (client WorkspacesClient) ResyncKeys(ctx context.Context, resourceGroupName string, workspaceName string) (result autorest.Response, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/WorkspacesClient.ResyncKeys") - defer func() { - sc := -1 - if result.Response != nil { - sc = result.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - req, err := client.ResyncKeysPreparer(ctx, resourceGroupName, workspaceName) - if err != nil { - err = autorest.NewErrorWithError(err, "services.WorkspacesClient", "ResyncKeys", nil, "Failure preparing request") - return - } - - resp, err := client.ResyncKeysSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "services.WorkspacesClient", "ResyncKeys", resp, "Failure sending request") - return - } - - result, err = client.ResyncKeysResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "services.WorkspacesClient", "ResyncKeys", resp, "Failure responding to request") - } - - return -} - -// ResyncKeysPreparer prepares the ResyncKeys request. -func (client WorkspacesClient) ResyncKeysPreparer(ctx context.Context, resourceGroupName string, workspaceName string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - "workspaceName": autorest.Encode("path", workspaceName), - } - - const APIVersion = "2018-03-01-preview" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}/resyncKeys", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ResyncKeysSender sends the ResyncKeys request. The method will close the -// http.Response Body if it receives an error. -func (client WorkspacesClient) ResyncKeysSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - azure.DoRetryWithRegistration(client.Client)) -} - -// ResyncKeysResponder handles the response to the ResyncKeys request. The method always -// closes the http.Response Body. -func (client WorkspacesClient) ResyncKeysResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByClosing()) - result.Response = resp - return -} - -// Update updates a machine learning workspace with the specified parameters. -// Parameters: -// resourceGroupName - name of the resource group in which workspace is located. -// workspaceName - name of Azure Machine Learning workspace. -// parameters - the parameters for updating a machine learning workspace. -func (client WorkspacesClient) Update(ctx context.Context, resourceGroupName string, workspaceName string, parameters WorkspaceUpdateParameters) (result Workspace, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/WorkspacesClient.Update") - defer func() { - sc := -1 - if result.Response.Response != nil { - sc = result.Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - req, err := client.UpdatePreparer(ctx, resourceGroupName, workspaceName, parameters) - if err != nil { - err = autorest.NewErrorWithError(err, "services.WorkspacesClient", "Update", nil, "Failure preparing request") - return - } - - resp, err := client.UpdateSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "services.WorkspacesClient", "Update", resp, "Failure sending request") - return - } - - result, err = client.UpdateResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "services.WorkspacesClient", "Update", resp, "Failure responding to request") - } - - return -} - -// UpdatePreparer prepares the Update request. -func (client WorkspacesClient) UpdatePreparer(ctx context.Context, resourceGroupName string, workspaceName string, parameters WorkspaceUpdateParameters) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - "workspaceName": autorest.Encode("path", workspaceName), - } - - const APIVersion = "2018-03-01-preview" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; charset=utf-8"), - autorest.AsPatch(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MachineLearningServices/workspaces/{workspaceName}", pathParameters), - autorest.WithJSON(parameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// UpdateSender sends the Update request. The method will close the -// http.Response Body if it receives an error. -func (client WorkspacesClient) UpdateSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - azure.DoRetryWithRegistration(client.Client)) -} - -// UpdateResponder handles the response to the Update request. The method always -// closes the http.Response Body. -func (client WorkspacesClient) UpdateResponder(resp *http.Response) (result Workspace, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} diff --git a/services/preview/maintenance/mgmt/2018-06-01-preview/maintenance/applyupdates.go b/services/preview/maintenance/mgmt/2018-06-01-preview/maintenance/applyupdates.go new file mode 100755 index 000000000000..522184b9d626 --- /dev/null +++ b/services/preview/maintenance/mgmt/2018-06-01-preview/maintenance/applyupdates.go @@ -0,0 +1,377 @@ +package maintenance + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// ApplyUpdatesClient is the azure Maintenance Management Client +type ApplyUpdatesClient struct { + BaseClient +} + +// NewApplyUpdatesClient creates an instance of the ApplyUpdatesClient client. +func NewApplyUpdatesClient(subscriptionID string) ApplyUpdatesClient { + return NewApplyUpdatesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewApplyUpdatesClientWithBaseURI creates an instance of the ApplyUpdatesClient client. +func NewApplyUpdatesClientWithBaseURI(baseURI string, subscriptionID string) ApplyUpdatesClient { + return ApplyUpdatesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate apply maintenance updates to resource +// Parameters: +// resourceGroupName - resource group name +// providerName - resource provider name +// resourceType - resource type +// resourceName - resource identifier +func (client ApplyUpdatesClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, providerName string, resourceType string, resourceName string) (result ApplyUpdate, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ApplyUpdatesClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, providerName, resourceType, resourceName) + if err != nil { + err = autorest.NewErrorWithError(err, "maintenance.ApplyUpdatesClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "maintenance.ApplyUpdatesClient", "CreateOrUpdate", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "maintenance.ApplyUpdatesClient", "CreateOrUpdate", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client ApplyUpdatesClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, providerName string, resourceType string, resourceName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "providerName": autorest.Encode("path", providerName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "resourceName": autorest.Encode("path", resourceName), + "resourceType": autorest.Encode("path", resourceType), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{providerName}/{resourceType}/{resourceName}/providers/Microsoft.Maintenance/applyUpdates/default", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client ApplyUpdatesClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client ApplyUpdatesClient) CreateOrUpdateResponder(resp *http.Response) (result ApplyUpdate, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// CreateOrUpdateParent apply maintenance updates to resource with parent +// Parameters: +// resourceGroupName - resource group name +// providerName - resource provider name +// resourceParentType - resource parent type +// resourceParentName - resource parent identifier +// resourceType - resource type +// resourceName - resource identifier +func (client ApplyUpdatesClient) CreateOrUpdateParent(ctx context.Context, resourceGroupName string, providerName string, resourceParentType string, resourceParentName string, resourceType string, resourceName string) (result ApplyUpdate, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ApplyUpdatesClient.CreateOrUpdateParent") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdateParentPreparer(ctx, resourceGroupName, providerName, resourceParentType, resourceParentName, resourceType, resourceName) + if err != nil { + err = autorest.NewErrorWithError(err, "maintenance.ApplyUpdatesClient", "CreateOrUpdateParent", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateParentSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "maintenance.ApplyUpdatesClient", "CreateOrUpdateParent", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateParentResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "maintenance.ApplyUpdatesClient", "CreateOrUpdateParent", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdateParentPreparer prepares the CreateOrUpdateParent request. +func (client ApplyUpdatesClient) CreateOrUpdateParentPreparer(ctx context.Context, resourceGroupName string, providerName string, resourceParentType string, resourceParentName string, resourceType string, resourceName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "providerName": autorest.Encode("path", providerName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "resourceName": autorest.Encode("path", resourceName), + "resourceParentName": autorest.Encode("path", resourceParentName), + "resourceParentType": autorest.Encode("path", resourceParentType), + "resourceType": autorest.Encode("path", resourceType), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{providerName}/{resourceParentType}/{resourceParentName}/{resourceType}/{resourceName}/providers/Microsoft.Maintenance/applyUpdates/default", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateParentSender sends the CreateOrUpdateParent request. The method will close the +// http.Response Body if it receives an error. +func (client ApplyUpdatesClient) CreateOrUpdateParentSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CreateOrUpdateParentResponder handles the response to the CreateOrUpdateParent request. The method always +// closes the http.Response Body. +func (client ApplyUpdatesClient) CreateOrUpdateParentResponder(resp *http.Response) (result ApplyUpdate, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Get track maintenance updates to resource +// Parameters: +// resourceGroupName - resource group name +// providerName - resource provider name +// resourceType - resource type +// resourceName - resource identifier +// applyUpdateName - applyUpdate Id +func (client ApplyUpdatesClient) Get(ctx context.Context, resourceGroupName string, providerName string, resourceType string, resourceName string, applyUpdateName string) (result ApplyUpdate, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ApplyUpdatesClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, providerName, resourceType, resourceName, applyUpdateName) + if err != nil { + err = autorest.NewErrorWithError(err, "maintenance.ApplyUpdatesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "maintenance.ApplyUpdatesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "maintenance.ApplyUpdatesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client ApplyUpdatesClient) GetPreparer(ctx context.Context, resourceGroupName string, providerName string, resourceType string, resourceName string, applyUpdateName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "applyUpdateName": autorest.Encode("path", applyUpdateName), + "providerName": autorest.Encode("path", providerName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "resourceName": autorest.Encode("path", resourceName), + "resourceType": autorest.Encode("path", resourceType), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{providerName}/{resourceType}/{resourceName}/providers/Microsoft.Maintenance/applyUpdates/{applyUpdateName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client ApplyUpdatesClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client ApplyUpdatesClient) GetResponder(resp *http.Response) (result ApplyUpdate, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetParent track maintenance updates to resource with parent +// Parameters: +// resourceGroupName - resource group name +// resourceParentType - resource parent type +// resourceParentName - resource parent identifier +// providerName - resource provider name +// resourceType - resource type +// resourceName - resource identifier +// applyUpdateName - applyUpdate Id +func (client ApplyUpdatesClient) GetParent(ctx context.Context, resourceGroupName string, resourceParentType string, resourceParentName string, providerName string, resourceType string, resourceName string, applyUpdateName string) (result ApplyUpdate, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ApplyUpdatesClient.GetParent") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetParentPreparer(ctx, resourceGroupName, resourceParentType, resourceParentName, providerName, resourceType, resourceName, applyUpdateName) + if err != nil { + err = autorest.NewErrorWithError(err, "maintenance.ApplyUpdatesClient", "GetParent", nil, "Failure preparing request") + return + } + + resp, err := client.GetParentSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "maintenance.ApplyUpdatesClient", "GetParent", resp, "Failure sending request") + return + } + + result, err = client.GetParentResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "maintenance.ApplyUpdatesClient", "GetParent", resp, "Failure responding to request") + } + + return +} + +// GetParentPreparer prepares the GetParent request. +func (client ApplyUpdatesClient) GetParentPreparer(ctx context.Context, resourceGroupName string, resourceParentType string, resourceParentName string, providerName string, resourceType string, resourceName string, applyUpdateName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "applyUpdateName": autorest.Encode("path", applyUpdateName), + "providerName": autorest.Encode("path", providerName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "resourceName": autorest.Encode("path", resourceName), + "resourceParentName": autorest.Encode("path", resourceParentName), + "resourceParentType": autorest.Encode("path", resourceParentType), + "resourceType": autorest.Encode("path", resourceType), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{providerName}/{resourceParentType}/{resourceParentName}/{resourceType}/{resourceName}/providers/Microsoft.Maintenance/applyUpdates/{applyUpdateName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetParentSender sends the GetParent request. The method will close the +// http.Response Body if it receives an error. +func (client ApplyUpdatesClient) GetParentSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetParentResponder handles the response to the GetParent request. The method always +// closes the http.Response Body. +func (client ApplyUpdatesClient) GetParentResponder(resp *http.Response) (result ApplyUpdate, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/preview/maintenance/mgmt/2018-06-01-preview/maintenance/client.go b/services/preview/maintenance/mgmt/2018-06-01-preview/maintenance/client.go new file mode 100755 index 000000000000..6401c280e644 --- /dev/null +++ b/services/preview/maintenance/mgmt/2018-06-01-preview/maintenance/client.go @@ -0,0 +1,51 @@ +// Package maintenance implements the Azure ARM Maintenance service API version 2018-06-01-preview. +// +// Azure Maintenance Management Client +package maintenance + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" +) + +const ( + // DefaultBaseURI is the default URI used for the service Maintenance + DefaultBaseURI = "https://management.azure.com" +) + +// BaseClient is the base client for Maintenance. +type BaseClient struct { + autorest.Client + BaseURI string + SubscriptionID string +} + +// New creates an instance of the BaseClient client. +func New(subscriptionID string) BaseClient { + return NewWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewWithBaseURI creates an instance of the BaseClient client. +func NewWithBaseURI(baseURI string, subscriptionID string) BaseClient { + return BaseClient{ + Client: autorest.NewClientWithUserAgent(UserAgent()), + BaseURI: baseURI, + SubscriptionID: subscriptionID, + } +} diff --git a/services/preview/maintenance/mgmt/2018-06-01-preview/maintenance/configurationassignments.go b/services/preview/maintenance/mgmt/2018-06-01-preview/maintenance/configurationassignments.go new file mode 100755 index 000000000000..d2dbf2ff19c0 --- /dev/null +++ b/services/preview/maintenance/mgmt/2018-06-01-preview/maintenance/configurationassignments.go @@ -0,0 +1,553 @@ +package maintenance + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// ConfigurationAssignmentsClient is the azure Maintenance Management Client +type ConfigurationAssignmentsClient struct { + BaseClient +} + +// NewConfigurationAssignmentsClient creates an instance of the ConfigurationAssignmentsClient client. +func NewConfigurationAssignmentsClient(subscriptionID string) ConfigurationAssignmentsClient { + return NewConfigurationAssignmentsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewConfigurationAssignmentsClientWithBaseURI creates an instance of the ConfigurationAssignmentsClient client. +func NewConfigurationAssignmentsClientWithBaseURI(baseURI string, subscriptionID string) ConfigurationAssignmentsClient { + return ConfigurationAssignmentsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate register configuration for resource. +// Parameters: +// resourceGroupName - resource group name +// providerName - resource provider name +// resourceType - resource type +// resourceName - resource identifier +// configurationAssignmentName - configuration assignment name +// configurationAssignment - the configurationAssignment +func (client ConfigurationAssignmentsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, providerName string, resourceType string, resourceName string, configurationAssignmentName string, configurationAssignment ConfigurationAssignment) (result ConfigurationAssignment, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ConfigurationAssignmentsClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, providerName, resourceType, resourceName, configurationAssignmentName, configurationAssignment) + if err != nil { + err = autorest.NewErrorWithError(err, "maintenance.ConfigurationAssignmentsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "maintenance.ConfigurationAssignmentsClient", "CreateOrUpdate", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "maintenance.ConfigurationAssignmentsClient", "CreateOrUpdate", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client ConfigurationAssignmentsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, providerName string, resourceType string, resourceName string, configurationAssignmentName string, configurationAssignment ConfigurationAssignment) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "configurationAssignmentName": autorest.Encode("path", configurationAssignmentName), + "providerName": autorest.Encode("path", providerName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "resourceName": autorest.Encode("path", resourceName), + "resourceType": autorest.Encode("path", resourceType), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{providerName}/{resourceType}/{resourceName}/providers/Microsoft.Maintenance/configurationAssignments/{configurationAssignmentName}", pathParameters), + autorest.WithJSON(configurationAssignment), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client ConfigurationAssignmentsClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client ConfigurationAssignmentsClient) CreateOrUpdateResponder(resp *http.Response) (result ConfigurationAssignment, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// CreateOrUpdateParent register configuration for resource. +// Parameters: +// resourceGroupName - resource group name +// providerName - resource provider name +// resourceParentType - resource parent type +// resourceParentName - resource parent identifier +// resourceType - resource type +// resourceName - resource identifier +// configurationAssignmentName - configuration assignment name +// configurationAssignment - the configurationAssignment +func (client ConfigurationAssignmentsClient) CreateOrUpdateParent(ctx context.Context, resourceGroupName string, providerName string, resourceParentType string, resourceParentName string, resourceType string, resourceName string, configurationAssignmentName string, configurationAssignment ConfigurationAssignment) (result ConfigurationAssignment, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ConfigurationAssignmentsClient.CreateOrUpdateParent") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdateParentPreparer(ctx, resourceGroupName, providerName, resourceParentType, resourceParentName, resourceType, resourceName, configurationAssignmentName, configurationAssignment) + if err != nil { + err = autorest.NewErrorWithError(err, "maintenance.ConfigurationAssignmentsClient", "CreateOrUpdateParent", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateParentSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "maintenance.ConfigurationAssignmentsClient", "CreateOrUpdateParent", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateParentResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "maintenance.ConfigurationAssignmentsClient", "CreateOrUpdateParent", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdateParentPreparer prepares the CreateOrUpdateParent request. +func (client ConfigurationAssignmentsClient) CreateOrUpdateParentPreparer(ctx context.Context, resourceGroupName string, providerName string, resourceParentType string, resourceParentName string, resourceType string, resourceName string, configurationAssignmentName string, configurationAssignment ConfigurationAssignment) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "configurationAssignmentName": autorest.Encode("path", configurationAssignmentName), + "providerName": autorest.Encode("path", providerName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "resourceName": autorest.Encode("path", resourceName), + "resourceParentName": autorest.Encode("path", resourceParentName), + "resourceParentType": autorest.Encode("path", resourceParentType), + "resourceType": autorest.Encode("path", resourceType), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{providerName}/{resourceParentType}/{resourceParentName}/{resourceType}/{resourceName}/providers/Microsoft.Maintenance/configurationAssignments/{configurationAssignmentName}", pathParameters), + autorest.WithJSON(configurationAssignment), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateParentSender sends the CreateOrUpdateParent request. The method will close the +// http.Response Body if it receives an error. +func (client ConfigurationAssignmentsClient) CreateOrUpdateParentSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CreateOrUpdateParentResponder handles the response to the CreateOrUpdateParent request. The method always +// closes the http.Response Body. +func (client ConfigurationAssignmentsClient) CreateOrUpdateParentResponder(resp *http.Response) (result ConfigurationAssignment, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete unregister configuration for resource. +// Parameters: +// resourceGroupName - resource group name +// providerName - resource provider name +// resourceType - resource type +// resourceName - resource identifier +// configurationAssignmentName - unique configuration assignment name +func (client ConfigurationAssignmentsClient) Delete(ctx context.Context, resourceGroupName string, providerName string, resourceType string, resourceName string, configurationAssignmentName string) (result ConfigurationAssignment, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ConfigurationAssignmentsClient.Delete") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, providerName, resourceType, resourceName, configurationAssignmentName) + if err != nil { + err = autorest.NewErrorWithError(err, "maintenance.ConfigurationAssignmentsClient", "Delete", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "maintenance.ConfigurationAssignmentsClient", "Delete", resp, "Failure sending request") + return + } + + result, err = client.DeleteResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "maintenance.ConfigurationAssignmentsClient", "Delete", resp, "Failure responding to request") + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client ConfigurationAssignmentsClient) DeletePreparer(ctx context.Context, resourceGroupName string, providerName string, resourceType string, resourceName string, configurationAssignmentName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "configurationAssignmentName": autorest.Encode("path", configurationAssignmentName), + "providerName": autorest.Encode("path", providerName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "resourceName": autorest.Encode("path", resourceName), + "resourceType": autorest.Encode("path", resourceType), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{providerName}/{resourceType}/{resourceName}/providers/Microsoft.Maintenance/configurationAssignments/{configurationAssignmentName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client ConfigurationAssignmentsClient) DeleteSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client ConfigurationAssignmentsClient) DeleteResponder(resp *http.Response) (result ConfigurationAssignment, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// DeleteParent unregister configuration for resource. +// Parameters: +// resourceGroupName - resource group name +// providerName - resource provider name +// resourceParentType - resource parent type +// resourceParentName - resource parent identifier +// resourceType - resource type +// resourceName - resource identifier +// configurationAssignmentName - unique configuration assignment name +func (client ConfigurationAssignmentsClient) DeleteParent(ctx context.Context, resourceGroupName string, providerName string, resourceParentType string, resourceParentName string, resourceType string, resourceName string, configurationAssignmentName string) (result ConfigurationAssignment, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ConfigurationAssignmentsClient.DeleteParent") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeleteParentPreparer(ctx, resourceGroupName, providerName, resourceParentType, resourceParentName, resourceType, resourceName, configurationAssignmentName) + if err != nil { + err = autorest.NewErrorWithError(err, "maintenance.ConfigurationAssignmentsClient", "DeleteParent", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteParentSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "maintenance.ConfigurationAssignmentsClient", "DeleteParent", resp, "Failure sending request") + return + } + + result, err = client.DeleteParentResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "maintenance.ConfigurationAssignmentsClient", "DeleteParent", resp, "Failure responding to request") + } + + return +} + +// DeleteParentPreparer prepares the DeleteParent request. +func (client ConfigurationAssignmentsClient) DeleteParentPreparer(ctx context.Context, resourceGroupName string, providerName string, resourceParentType string, resourceParentName string, resourceType string, resourceName string, configurationAssignmentName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "configurationAssignmentName": autorest.Encode("path", configurationAssignmentName), + "providerName": autorest.Encode("path", providerName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "resourceName": autorest.Encode("path", resourceName), + "resourceParentName": autorest.Encode("path", resourceParentName), + "resourceParentType": autorest.Encode("path", resourceParentType), + "resourceType": autorest.Encode("path", resourceType), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{providerName}/{resourceParentType}/{resourceParentName}/{resourceType}/{resourceName}/providers/Microsoft.Maintenance/configurationAssignments/{configurationAssignmentName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteParentSender sends the DeleteParent request. The method will close the +// http.Response Body if it receives an error. +func (client ConfigurationAssignmentsClient) DeleteParentSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeleteParentResponder handles the response to the DeleteParent request. The method always +// closes the http.Response Body. +func (client ConfigurationAssignmentsClient) DeleteParentResponder(resp *http.Response) (result ConfigurationAssignment, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List list configurationAssignments for resource. +// Parameters: +// resourceGroupName - resource group name +// providerName - resource provider name +// resourceType - resource type +// resourceName - resource identifier +func (client ConfigurationAssignmentsClient) List(ctx context.Context, resourceGroupName string, providerName string, resourceType string, resourceName string) (result ListConfigurationAssignmentsResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ConfigurationAssignmentsClient.List") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListPreparer(ctx, resourceGroupName, providerName, resourceType, resourceName) + if err != nil { + err = autorest.NewErrorWithError(err, "maintenance.ConfigurationAssignmentsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "maintenance.ConfigurationAssignmentsClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "maintenance.ConfigurationAssignmentsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client ConfigurationAssignmentsClient) ListPreparer(ctx context.Context, resourceGroupName string, providerName string, resourceType string, resourceName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "providerName": autorest.Encode("path", providerName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "resourceName": autorest.Encode("path", resourceName), + "resourceType": autorest.Encode("path", resourceType), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{providerName}/{resourceType}/{resourceName}/providers/Microsoft.Maintenance/configurationAssignments", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client ConfigurationAssignmentsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client ConfigurationAssignmentsClient) ListResponder(resp *http.Response) (result ListConfigurationAssignmentsResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListParent list configurationAssignments for resource. +// Parameters: +// resourceGroupName - resource group name +// providerName - resource provider name +// resourceParentType - resource parent type +// resourceParentName - resource parent identifier +// resourceType - resource type +// resourceName - resource identifier +func (client ConfigurationAssignmentsClient) ListParent(ctx context.Context, resourceGroupName string, providerName string, resourceParentType string, resourceParentName string, resourceType string, resourceName string) (result ListConfigurationAssignmentsResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ConfigurationAssignmentsClient.ListParent") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListParentPreparer(ctx, resourceGroupName, providerName, resourceParentType, resourceParentName, resourceType, resourceName) + if err != nil { + err = autorest.NewErrorWithError(err, "maintenance.ConfigurationAssignmentsClient", "ListParent", nil, "Failure preparing request") + return + } + + resp, err := client.ListParentSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "maintenance.ConfigurationAssignmentsClient", "ListParent", resp, "Failure sending request") + return + } + + result, err = client.ListParentResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "maintenance.ConfigurationAssignmentsClient", "ListParent", resp, "Failure responding to request") + } + + return +} + +// ListParentPreparer prepares the ListParent request. +func (client ConfigurationAssignmentsClient) ListParentPreparer(ctx context.Context, resourceGroupName string, providerName string, resourceParentType string, resourceParentName string, resourceType string, resourceName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "providerName": autorest.Encode("path", providerName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "resourceName": autorest.Encode("path", resourceName), + "resourceParentName": autorest.Encode("path", resourceParentName), + "resourceParentType": autorest.Encode("path", resourceParentType), + "resourceType": autorest.Encode("path", resourceType), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{providerName}/{resourceParentType}/{resourceParentName}/{resourceType}/{resourceName}/providers/Microsoft.Maintenance/configurationAssignments", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListParentSender sends the ListParent request. The method will close the +// http.Response Body if it receives an error. +func (client ConfigurationAssignmentsClient) ListParentSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListParentResponder handles the response to the ListParent request. The method always +// closes the http.Response Body. +func (client ConfigurationAssignmentsClient) ListParentResponder(resp *http.Response) (result ListConfigurationAssignmentsResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/preview/maintenance/mgmt/2018-06-01-preview/maintenance/configurations.go b/services/preview/maintenance/mgmt/2018-06-01-preview/maintenance/configurations.go new file mode 100755 index 000000000000..35504da43e2b --- /dev/null +++ b/services/preview/maintenance/mgmt/2018-06-01-preview/maintenance/configurations.go @@ -0,0 +1,427 @@ +package maintenance + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// ConfigurationsClient is the azure Maintenance Management Client +type ConfigurationsClient struct { + BaseClient +} + +// NewConfigurationsClient creates an instance of the ConfigurationsClient client. +func NewConfigurationsClient(subscriptionID string) ConfigurationsClient { + return NewConfigurationsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewConfigurationsClientWithBaseURI creates an instance of the ConfigurationsClient client. +func NewConfigurationsClientWithBaseURI(baseURI string, subscriptionID string) ConfigurationsClient { + return ConfigurationsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate sends the create or update request. +// Parameters: +// resourceGroupName - resource Group Name +// resourceName - resource Identifier +// configuration - the configuration +func (client ConfigurationsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, resourceName string, configuration Configuration) (result Configuration, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ConfigurationsClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, resourceName, configuration) + if err != nil { + err = autorest.NewErrorWithError(err, "maintenance.ConfigurationsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "maintenance.ConfigurationsClient", "CreateOrUpdate", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "maintenance.ConfigurationsClient", "CreateOrUpdate", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client ConfigurationsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, resourceName string, configuration Configuration) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "resourceName": autorest.Encode("path", resourceName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Maintenance/maintenanceConfigurations/{resourceName}", pathParameters), + autorest.WithJSON(configuration), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client ConfigurationsClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client ConfigurationsClient) CreateOrUpdateResponder(resp *http.Response) (result Configuration, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete sends the delete request. +// Parameters: +// resourceGroupName - resource Group Name +// resourceName - resource Identifier +func (client ConfigurationsClient) Delete(ctx context.Context, resourceGroupName string, resourceName string) (result Configuration, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ConfigurationsClient.Delete") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, resourceName) + if err != nil { + err = autorest.NewErrorWithError(err, "maintenance.ConfigurationsClient", "Delete", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "maintenance.ConfigurationsClient", "Delete", resp, "Failure sending request") + return + } + + result, err = client.DeleteResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "maintenance.ConfigurationsClient", "Delete", resp, "Failure responding to request") + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client ConfigurationsClient) DeletePreparer(ctx context.Context, resourceGroupName string, resourceName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "resourceName": autorest.Encode("path", resourceName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Maintenance/maintenanceConfigurations/{resourceName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client ConfigurationsClient) DeleteSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client ConfigurationsClient) DeleteResponder(resp *http.Response) (result Configuration, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Get sends the get request. +// Parameters: +// resourceGroupName - resource Group Name +// resourceName - resource Identifier +func (client ConfigurationsClient) Get(ctx context.Context, resourceGroupName string, resourceName string) (result Configuration, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ConfigurationsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, resourceName) + if err != nil { + err = autorest.NewErrorWithError(err, "maintenance.ConfigurationsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "maintenance.ConfigurationsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "maintenance.ConfigurationsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client ConfigurationsClient) GetPreparer(ctx context.Context, resourceGroupName string, resourceName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "resourceName": autorest.Encode("path", resourceName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Maintenance/maintenanceConfigurations/{resourceName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client ConfigurationsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client ConfigurationsClient) GetResponder(resp *http.Response) (result Configuration, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List sends the list request. +func (client ConfigurationsClient) List(ctx context.Context) (result ListMaintenanceConfigurationsResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ConfigurationsClient.List") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "maintenance.ConfigurationsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "maintenance.ConfigurationsClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "maintenance.ConfigurationsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client ConfigurationsClient) ListPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Maintenance/maintenanceConfigurations", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client ConfigurationsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client ConfigurationsClient) ListResponder(resp *http.Response) (result ListMaintenanceConfigurationsResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// UpdateMethod sends the update method request. +// Parameters: +// resourceGroupName - resource Group Name +// resourceName - resource Identifier +// configuration - the configuration +func (client ConfigurationsClient) UpdateMethod(ctx context.Context, resourceGroupName string, resourceName string, configuration Configuration) (result Configuration, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ConfigurationsClient.UpdateMethod") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdateMethodPreparer(ctx, resourceGroupName, resourceName, configuration) + if err != nil { + err = autorest.NewErrorWithError(err, "maintenance.ConfigurationsClient", "UpdateMethod", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateMethodSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "maintenance.ConfigurationsClient", "UpdateMethod", resp, "Failure sending request") + return + } + + result, err = client.UpdateMethodResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "maintenance.ConfigurationsClient", "UpdateMethod", resp, "Failure responding to request") + } + + return +} + +// UpdateMethodPreparer prepares the UpdateMethod request. +func (client ConfigurationsClient) UpdateMethodPreparer(ctx context.Context, resourceGroupName string, resourceName string, configuration Configuration) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "resourceName": autorest.Encode("path", resourceName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Maintenance/maintenanceConfigurations/{resourceName}", pathParameters), + autorest.WithJSON(configuration), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateMethodSender sends the UpdateMethod request. The method will close the +// http.Response Body if it receives an error. +func (client ConfigurationsClient) UpdateMethodSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// UpdateMethodResponder handles the response to the UpdateMethod request. The method always +// closes the http.Response Body. +func (client ConfigurationsClient) UpdateMethodResponder(resp *http.Response) (result Configuration, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/preview/maintenance/mgmt/2018-06-01-preview/maintenance/maintenanceapi/interfaces.go b/services/preview/maintenance/mgmt/2018-06-01-preview/maintenance/maintenanceapi/interfaces.go new file mode 100755 index 000000000000..43eb719280a2 --- /dev/null +++ b/services/preview/maintenance/mgmt/2018-06-01-preview/maintenance/maintenanceapi/interfaces.go @@ -0,0 +1,71 @@ +package maintenanceapi + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/azure-sdk-for-go/services/preview/maintenance/mgmt/2018-06-01-preview/maintenance" +) + +// ApplyUpdatesClientAPI contains the set of methods on the ApplyUpdatesClient type. +type ApplyUpdatesClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, providerName string, resourceType string, resourceName string) (result maintenance.ApplyUpdate, err error) + CreateOrUpdateParent(ctx context.Context, resourceGroupName string, providerName string, resourceParentType string, resourceParentName string, resourceType string, resourceName string) (result maintenance.ApplyUpdate, err error) + Get(ctx context.Context, resourceGroupName string, providerName string, resourceType string, resourceName string, applyUpdateName string) (result maintenance.ApplyUpdate, err error) + GetParent(ctx context.Context, resourceGroupName string, resourceParentType string, resourceParentName string, providerName string, resourceType string, resourceName string, applyUpdateName string) (result maintenance.ApplyUpdate, err error) +} + +var _ ApplyUpdatesClientAPI = (*maintenance.ApplyUpdatesClient)(nil) + +// ConfigurationAssignmentsClientAPI contains the set of methods on the ConfigurationAssignmentsClient type. +type ConfigurationAssignmentsClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, providerName string, resourceType string, resourceName string, configurationAssignmentName string, configurationAssignment maintenance.ConfigurationAssignment) (result maintenance.ConfigurationAssignment, err error) + CreateOrUpdateParent(ctx context.Context, resourceGroupName string, providerName string, resourceParentType string, resourceParentName string, resourceType string, resourceName string, configurationAssignmentName string, configurationAssignment maintenance.ConfigurationAssignment) (result maintenance.ConfigurationAssignment, err error) + Delete(ctx context.Context, resourceGroupName string, providerName string, resourceType string, resourceName string, configurationAssignmentName string) (result maintenance.ConfigurationAssignment, err error) + DeleteParent(ctx context.Context, resourceGroupName string, providerName string, resourceParentType string, resourceParentName string, resourceType string, resourceName string, configurationAssignmentName string) (result maintenance.ConfigurationAssignment, err error) + List(ctx context.Context, resourceGroupName string, providerName string, resourceType string, resourceName string) (result maintenance.ListConfigurationAssignmentsResult, err error) + ListParent(ctx context.Context, resourceGroupName string, providerName string, resourceParentType string, resourceParentName string, resourceType string, resourceName string) (result maintenance.ListConfigurationAssignmentsResult, err error) +} + +var _ ConfigurationAssignmentsClientAPI = (*maintenance.ConfigurationAssignmentsClient)(nil) + +// ConfigurationsClientAPI contains the set of methods on the ConfigurationsClient type. +type ConfigurationsClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, resourceName string, configuration maintenance.Configuration) (result maintenance.Configuration, err error) + Delete(ctx context.Context, resourceGroupName string, resourceName string) (result maintenance.Configuration, err error) + Get(ctx context.Context, resourceGroupName string, resourceName string) (result maintenance.Configuration, err error) + List(ctx context.Context) (result maintenance.ListMaintenanceConfigurationsResult, err error) + UpdateMethod(ctx context.Context, resourceGroupName string, resourceName string, configuration maintenance.Configuration) (result maintenance.Configuration, err error) +} + +var _ ConfigurationsClientAPI = (*maintenance.ConfigurationsClient)(nil) + +// OperationsClientAPI contains the set of methods on the OperationsClient type. +type OperationsClientAPI interface { + List(ctx context.Context) (result maintenance.OperationsListResult, err error) +} + +var _ OperationsClientAPI = (*maintenance.OperationsClient)(nil) + +// UpdatesClientAPI contains the set of methods on the UpdatesClient type. +type UpdatesClientAPI interface { + List(ctx context.Context, resourceGroupName string, providerName string, resourceType string, resourceName string) (result maintenance.ListUpdatesResult, err error) + ListParent(ctx context.Context, resourceGroupName string, providerName string, resourceParentType string, resourceParentName string, resourceType string, resourceName string) (result maintenance.ListUpdatesResult, err error) +} + +var _ UpdatesClientAPI = (*maintenance.UpdatesClient)(nil) diff --git a/services/preview/maintenance/mgmt/2018-06-01-preview/maintenance/models.go b/services/preview/maintenance/mgmt/2018-06-01-preview/maintenance/models.go new file mode 100755 index 000000000000..34796e7b49c1 --- /dev/null +++ b/services/preview/maintenance/mgmt/2018-06-01-preview/maintenance/models.go @@ -0,0 +1,581 @@ +package maintenance + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "encoding/json" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/date" +) + +// The package's fully qualified name. +const fqdn = "github.com/Azure/azure-sdk-for-go/services/preview/maintenance/mgmt/2018-06-01-preview/maintenance" + +// ImpactType enumerates the values for impact type. +type ImpactType string + +const ( + // Freeze ... + Freeze ImpactType = "Freeze" + // None ... + None ImpactType = "None" + // Redeploy ... + Redeploy ImpactType = "Redeploy" + // Restart ... + Restart ImpactType = "Restart" +) + +// PossibleImpactTypeValues returns an array of possible values for the ImpactType const type. +func PossibleImpactTypeValues() []ImpactType { + return []ImpactType{Freeze, None, Redeploy, Restart} +} + +// Scope enumerates the values for scope. +type Scope string + +const ( + // ScopeAll ... + ScopeAll Scope = "All" + // ScopeHost ... + ScopeHost Scope = "Host" + // ScopeInResource ... + ScopeInResource Scope = "InResource" + // ScopeResource ... + ScopeResource Scope = "Resource" +) + +// PossibleScopeValues returns an array of possible values for the Scope const type. +func PossibleScopeValues() []Scope { + return []Scope{ScopeAll, ScopeHost, ScopeInResource, ScopeResource} +} + +// UpdateStatus enumerates the values for update status. +type UpdateStatus string + +const ( + // Completed ... + Completed UpdateStatus = "Completed" + // InProgress ... + InProgress UpdateStatus = "InProgress" + // Pending ... + Pending UpdateStatus = "Pending" + // RetryLater ... + RetryLater UpdateStatus = "RetryLater" + // RetryNow ... + RetryNow UpdateStatus = "RetryNow" +) + +// PossibleUpdateStatusValues returns an array of possible values for the UpdateStatus const type. +func PossibleUpdateStatusValues() []UpdateStatus { + return []UpdateStatus{Completed, InProgress, Pending, RetryLater, RetryNow} +} + +// ApplyUpdate apply Update request +type ApplyUpdate struct { + autorest.Response `json:"-"` + // ApplyUpdateProperties - Properties of the apply update + *ApplyUpdateProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Fully qualified identifier of the resource + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Name of the resource + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Type of the resource + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for ApplyUpdate. +func (au ApplyUpdate) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if au.ApplyUpdateProperties != nil { + objectMap["properties"] = au.ApplyUpdateProperties + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ApplyUpdate struct. +func (au *ApplyUpdate) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var applyUpdateProperties ApplyUpdateProperties + err = json.Unmarshal(*v, &applyUpdateProperties) + if err != nil { + return err + } + au.ApplyUpdateProperties = &applyUpdateProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + au.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + au.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + au.Type = &typeVar + } + } + } + + return nil +} + +// ApplyUpdateProperties properties for apply update +type ApplyUpdateProperties struct { + // Status - The status. Possible values include: 'Pending', 'InProgress', 'Completed', 'RetryNow', 'RetryLater' + Status UpdateStatus `json:"status,omitempty"` + // ResourceID - The resourceId + ResourceID *string `json:"resourceId,omitempty"` + // LastUpdateTime - Last Update time + LastUpdateTime *date.Time `json:"lastUpdateTime,omitempty"` +} + +// Configuration maintenance configuration record type +type Configuration struct { + autorest.Response `json:"-"` + // Location - Gets or sets location of the resource + Location *string `json:"location,omitempty"` + // Tags - Gets or sets tags of the resource + Tags map[string]*string `json:"tags"` + // ConfigurationProperties - Gets or sets properties of the resource + *ConfigurationProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Fully qualified identifier of the resource + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Name of the resource + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Type of the resource + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for Configuration. +func (c Configuration) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if c.Location != nil { + objectMap["location"] = c.Location + } + if c.Tags != nil { + objectMap["tags"] = c.Tags + } + if c.ConfigurationProperties != nil { + objectMap["properties"] = c.ConfigurationProperties + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for Configuration struct. +func (c *Configuration) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + c.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + c.Tags = tags + } + case "properties": + if v != nil { + var configurationProperties ConfigurationProperties + err = json.Unmarshal(*v, &configurationProperties) + if err != nil { + return err + } + c.ConfigurationProperties = &configurationProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + c.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + c.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + c.Type = &typeVar + } + } + } + + return nil +} + +// ConfigurationAssignment configuration Assignment +type ConfigurationAssignment struct { + autorest.Response `json:"-"` + // Location - Location of the resource + Location *string `json:"location,omitempty"` + // ConfigurationAssignmentProperties - Properties of the configuration assignment + *ConfigurationAssignmentProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Fully qualified identifier of the resource + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Name of the resource + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Type of the resource + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for ConfigurationAssignment. +func (ca ConfigurationAssignment) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if ca.Location != nil { + objectMap["location"] = ca.Location + } + if ca.ConfigurationAssignmentProperties != nil { + objectMap["properties"] = ca.ConfigurationAssignmentProperties + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ConfigurationAssignment struct. +func (ca *ConfigurationAssignment) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + ca.Location = &location + } + case "properties": + if v != nil { + var configurationAssignmentProperties ConfigurationAssignmentProperties + err = json.Unmarshal(*v, &configurationAssignmentProperties) + if err != nil { + return err + } + ca.ConfigurationAssignmentProperties = &configurationAssignmentProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + ca.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + ca.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ca.Type = &typeVar + } + } + } + + return nil +} + +// ConfigurationAssignmentProperties properties for configuration assignment +type ConfigurationAssignmentProperties struct { + // MaintenanceConfigurationID - The maintenance configuration Id + MaintenanceConfigurationID *string `json:"maintenanceConfigurationId,omitempty"` + // ResourceID - The unique resourceId + ResourceID *string `json:"resourceId,omitempty"` +} + +// ConfigurationProperties properties for maintenance configuration +type ConfigurationProperties struct { + // Namespace - Gets or sets namespace of the resource + Namespace *string `json:"namespace,omitempty"` + // ExtensionProperties - Gets or sets extensionProperties of the maintenanceConfiguration + ExtensionProperties map[string]*string `json:"extensionProperties"` + // MaintenanceScope - Gets or sets maintenanceScope of the configuration. Possible values include: 'ScopeAll', 'ScopeHost', 'ScopeResource', 'ScopeInResource' + MaintenanceScope Scope `json:"maintenanceScope,omitempty"` +} + +// MarshalJSON is the custom marshaler for ConfigurationProperties. +func (cp ConfigurationProperties) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if cp.Namespace != nil { + objectMap["namespace"] = cp.Namespace + } + if cp.ExtensionProperties != nil { + objectMap["extensionProperties"] = cp.ExtensionProperties + } + if cp.MaintenanceScope != "" { + objectMap["maintenanceScope"] = cp.MaintenanceScope + } + return json.Marshal(objectMap) +} + +// Error an error response received from the Azure Maintenance service. +type Error struct { + // Error - Details of the error + Error *ErrorDetails `json:"error,omitempty"` +} + +// ErrorDetails an error response details received from the Azure Maintenance service. +type ErrorDetails struct { + // Code - Service-defined error code. This code serves as a sub-status for the HTTP error code specified in the response. + Code *string `json:"code,omitempty"` + // Message - Human-readable representation of the error. + Message *string `json:"message,omitempty"` +} + +// ListConfigurationAssignmentsResult response for ConfigurationAssignments list +type ListConfigurationAssignmentsResult struct { + autorest.Response `json:"-"` + // Value - The list of configuration Assignments + Value *[]ConfigurationAssignment `json:"value,omitempty"` +} + +// ListMaintenanceConfigurationsResult response for MaintenanceConfigurations list +type ListMaintenanceConfigurationsResult struct { + autorest.Response `json:"-"` + // Value - The list of maintenance Configurations + Value *[]Configuration `json:"value,omitempty"` +} + +// ListUpdatesResult response for Updates list +type ListUpdatesResult struct { + autorest.Response `json:"-"` + // Value - The pending updates + Value *[]Update `json:"value,omitempty"` +} + +// Operation represents an operation returned by the GetOperations request +type Operation struct { + // Name - Name of the operation + Name *string `json:"name,omitempty"` + // Display - Display name of the operation + Display *OperationInfo `json:"display,omitempty"` + // Origin - Origin of the operation + Origin *string `json:"origin,omitempty"` + // Properties - Properties of the operation + Properties interface{} `json:"properties,omitempty"` +} + +// OperationInfo information about an operation +type OperationInfo struct { + // Provider - Name of the provider + Provider *string `json:"provider,omitempty"` + // Resource - Name of the resource type + Resource *string `json:"resource,omitempty"` + // Operation - Name of the operation + Operation *string `json:"operation,omitempty"` + // Description - Description of the operation + Description *string `json:"description,omitempty"` +} + +// OperationsListResult result of the List Operations operation +type OperationsListResult struct { + autorest.Response `json:"-"` + // Value - A collection of operations + Value *[]Operation `json:"value,omitempty"` +} + +// Resource definition of a Resource +type Resource struct { + // ID - READ-ONLY; Fully qualified identifier of the resource + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Name of the resource + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Type of the resource + Type *string `json:"type,omitempty"` +} + +// Update maintenance update on a resource +type Update struct { + // MaintenanceScope - The impact area. Possible values include: 'ScopeAll', 'ScopeHost', 'ScopeResource', 'ScopeInResource' + MaintenanceScope Scope `json:"maintenanceScope,omitempty"` + // ImpactType - The impact type. Possible values include: 'None', 'Freeze', 'Restart', 'Redeploy' + ImpactType ImpactType `json:"impactType,omitempty"` + // Status - The status. Possible values include: 'Pending', 'InProgress', 'Completed', 'RetryNow', 'RetryLater' + Status UpdateStatus `json:"status,omitempty"` + // ImpactDurationInSec - Duration of impact in seconds + ImpactDurationInSec *int32 `json:"impactDurationInSec,omitempty"` + // NotBefore - Time when Azure will start force updates if not self-updated by customer before this time + NotBefore *date.Time `json:"notBefore,omitempty"` + // UpdateProperties - Properties of the apply update + *UpdateProperties `json:"properties,omitempty"` +} + +// MarshalJSON is the custom marshaler for Update. +func (u Update) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if u.MaintenanceScope != "" { + objectMap["maintenanceScope"] = u.MaintenanceScope + } + if u.ImpactType != "" { + objectMap["impactType"] = u.ImpactType + } + if u.Status != "" { + objectMap["status"] = u.Status + } + if u.ImpactDurationInSec != nil { + objectMap["impactDurationInSec"] = u.ImpactDurationInSec + } + if u.NotBefore != nil { + objectMap["notBefore"] = u.NotBefore + } + if u.UpdateProperties != nil { + objectMap["properties"] = u.UpdateProperties + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for Update struct. +func (u *Update) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "maintenanceScope": + if v != nil { + var maintenanceScope Scope + err = json.Unmarshal(*v, &maintenanceScope) + if err != nil { + return err + } + u.MaintenanceScope = maintenanceScope + } + case "impactType": + if v != nil { + var impactType ImpactType + err = json.Unmarshal(*v, &impactType) + if err != nil { + return err + } + u.ImpactType = impactType + } + case "status": + if v != nil { + var status UpdateStatus + err = json.Unmarshal(*v, &status) + if err != nil { + return err + } + u.Status = status + } + case "impactDurationInSec": + if v != nil { + var impactDurationInSec int32 + err = json.Unmarshal(*v, &impactDurationInSec) + if err != nil { + return err + } + u.ImpactDurationInSec = &impactDurationInSec + } + case "notBefore": + if v != nil { + var notBefore date.Time + err = json.Unmarshal(*v, ¬Before) + if err != nil { + return err + } + u.NotBefore = ¬Before + } + case "properties": + if v != nil { + var updateProperties UpdateProperties + err = json.Unmarshal(*v, &updateProperties) + if err != nil { + return err + } + u.UpdateProperties = &updateProperties + } + } + } + + return nil +} + +// UpdateProperties properties for update +type UpdateProperties struct { + // ResourceID - The resourceId + ResourceID *string `json:"resourceId,omitempty"` +} diff --git a/services/preview/maintenance/mgmt/2018-06-01-preview/maintenance/operations.go b/services/preview/maintenance/mgmt/2018-06-01-preview/maintenance/operations.go new file mode 100755 index 000000000000..0f45be5df825 --- /dev/null +++ b/services/preview/maintenance/mgmt/2018-06-01-preview/maintenance/operations.go @@ -0,0 +1,109 @@ +package maintenance + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// OperationsClient is the azure Maintenance Management Client +type OperationsClient struct { + BaseClient +} + +// NewOperationsClient creates an instance of the OperationsClient client. +func NewOperationsClient(subscriptionID string) OperationsClient { + return NewOperationsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewOperationsClientWithBaseURI creates an instance of the OperationsClient client. +func NewOperationsClientWithBaseURI(baseURI string, subscriptionID string) OperationsClient { + return OperationsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// List list the available operations supported by the Microsoft.Maintenance resource provider +func (client OperationsClient) List(ctx context.Context) (result OperationsListResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/OperationsClient.List") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "maintenance.OperationsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "maintenance.OperationsClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "maintenance.OperationsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client OperationsClient) ListPreparer(ctx context.Context) (*http.Request, error) { + const APIVersion = "2018-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPath("/providers/Microsoft.Maintenance/operations"), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client OperationsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client OperationsClient) ListResponder(resp *http.Response) (result OperationsListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/preview/maintenance/mgmt/2018-06-01-preview/maintenance/updates.go b/services/preview/maintenance/mgmt/2018-06-01-preview/maintenance/updates.go new file mode 100755 index 000000000000..1647a556fffb --- /dev/null +++ b/services/preview/maintenance/mgmt/2018-06-01-preview/maintenance/updates.go @@ -0,0 +1,207 @@ +package maintenance + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// UpdatesClient is the azure Maintenance Management Client +type UpdatesClient struct { + BaseClient +} + +// NewUpdatesClient creates an instance of the UpdatesClient client. +func NewUpdatesClient(subscriptionID string) UpdatesClient { + return NewUpdatesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewUpdatesClientWithBaseURI creates an instance of the UpdatesClient client. +func NewUpdatesClientWithBaseURI(baseURI string, subscriptionID string) UpdatesClient { + return UpdatesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// List get updates to resources. +// Parameters: +// resourceGroupName - resource group name +// providerName - resource provider name +// resourceType - resource type +// resourceName - resource identifier +func (client UpdatesClient) List(ctx context.Context, resourceGroupName string, providerName string, resourceType string, resourceName string) (result ListUpdatesResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/UpdatesClient.List") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListPreparer(ctx, resourceGroupName, providerName, resourceType, resourceName) + if err != nil { + err = autorest.NewErrorWithError(err, "maintenance.UpdatesClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "maintenance.UpdatesClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "maintenance.UpdatesClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client UpdatesClient) ListPreparer(ctx context.Context, resourceGroupName string, providerName string, resourceType string, resourceName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "providerName": autorest.Encode("path", providerName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "resourceName": autorest.Encode("path", resourceName), + "resourceType": autorest.Encode("path", resourceType), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{providerName}/{resourceType}/{resourceName}/providers/Microsoft.Maintenance/updates", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client UpdatesClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client UpdatesClient) ListResponder(resp *http.Response) (result ListUpdatesResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListParent get updates to resources. +// Parameters: +// resourceGroupName - resource group name +// providerName - resource provider name +// resourceParentType - resource parent type +// resourceParentName - resource parent identifier +// resourceType - resource type +// resourceName - resource identifier +func (client UpdatesClient) ListParent(ctx context.Context, resourceGroupName string, providerName string, resourceParentType string, resourceParentName string, resourceType string, resourceName string) (result ListUpdatesResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/UpdatesClient.ListParent") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListParentPreparer(ctx, resourceGroupName, providerName, resourceParentType, resourceParentName, resourceType, resourceName) + if err != nil { + err = autorest.NewErrorWithError(err, "maintenance.UpdatesClient", "ListParent", nil, "Failure preparing request") + return + } + + resp, err := client.ListParentSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "maintenance.UpdatesClient", "ListParent", resp, "Failure sending request") + return + } + + result, err = client.ListParentResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "maintenance.UpdatesClient", "ListParent", resp, "Failure responding to request") + } + + return +} + +// ListParentPreparer prepares the ListParent request. +func (client UpdatesClient) ListParentPreparer(ctx context.Context, resourceGroupName string, providerName string, resourceParentType string, resourceParentName string, resourceType string, resourceName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "providerName": autorest.Encode("path", providerName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "resourceName": autorest.Encode("path", resourceName), + "resourceParentName": autorest.Encode("path", resourceParentName), + "resourceParentType": autorest.Encode("path", resourceParentType), + "resourceType": autorest.Encode("path", resourceType), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{providerName}/{resourceParentType}/{resourceParentName}/{resourceType}/{resourceName}/providers/Microsoft.Maintenance/updates", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListParentSender sends the ListParent request. The method will close the +// http.Response Body if it receives an error. +func (client UpdatesClient) ListParentSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListParentResponder handles the response to the ListParent request. The method always +// closes the http.Response Body. +func (client UpdatesClient) ListParentResponder(resp *http.Response) (result ListUpdatesResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/preview/maintenance/mgmt/2018-06-01-preview/maintenance/version.go b/services/preview/maintenance/mgmt/2018-06-01-preview/maintenance/version.go new file mode 100755 index 000000000000..dd7474e61c38 --- /dev/null +++ b/services/preview/maintenance/mgmt/2018-06-01-preview/maintenance/version.go @@ -0,0 +1,30 @@ +package maintenance + +import "github.com/Azure/azure-sdk-for-go/version" + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +// UserAgent returns the UserAgent string to use when sending http.Requests. +func UserAgent() string { + return "Azure-SDK-For-Go/" + version.Number + " maintenance/2018-06-01-preview" +} + +// Version returns the semantic version (see http://semver.org) of the client. +func Version() string { + return version.Number +} diff --git a/services/preview/managednetwork/mgmt/2019-06-01-preview/managednetwork/models.go b/services/preview/managednetwork/mgmt/2019-06-01-preview/managednetwork/models.go index 92c5c90ee3aa..c3a952335c4c 100644 --- a/services/preview/managednetwork/mgmt/2019-06-01-preview/managednetwork/models.go +++ b/services/preview/managednetwork/mgmt/2019-06-01-preview/managednetwork/models.go @@ -43,23 +43,6 @@ func PossibleKindValues() []Kind { return []Kind{Connectivity} } -// PeeringPolicyType enumerates the values for peering policy type. -type PeeringPolicyType string - -const ( - // PeeringPolicyTypeHubAndSpokeTopology ... - PeeringPolicyTypeHubAndSpokeTopology PeeringPolicyType = "HubAndSpokeTopology" - // PeeringPolicyTypeManagedNetworkPeeringPolicyProperties ... - PeeringPolicyTypeManagedNetworkPeeringPolicyProperties PeeringPolicyType = "ManagedNetworkPeeringPolicyProperties" - // PeeringPolicyTypeMeshTopology ... - PeeringPolicyTypeMeshTopology PeeringPolicyType = "MeshTopology" -) - -// PossiblePeeringPolicyTypeValues returns an array of possible values for the PeeringPolicyType const type. -func PossiblePeeringPolicyTypeValues() []PeeringPolicyType { - return []PeeringPolicyType{PeeringPolicyTypeHubAndSpokeTopology, PeeringPolicyTypeManagedNetworkPeeringPolicyProperties, PeeringPolicyTypeMeshTopology} -} - // ProvisioningState enumerates the values for provisioning state. type ProvisioningState string @@ -79,6 +62,21 @@ func PossibleProvisioningStateValues() []ProvisioningState { return []ProvisioningState{Deleting, Failed, Succeeded, Updating} } +// Type enumerates the values for type. +type Type string + +const ( + // HubAndSpokeTopology ... + HubAndSpokeTopology Type = "HubAndSpokeTopology" + // MeshTopology ... + MeshTopology Type = "MeshTopology" +) + +// PossibleTypeValues returns an array of possible values for the Type const type. +func PossibleTypeValues() []Type { + return []Type{HubAndSpokeTopology, MeshTopology} +} + // ConnectivityCollection the collection of Connectivity related groups and policies within the Managed // Network type ConnectivityCollection struct { @@ -109,6 +107,8 @@ type Group struct { Name *string `json:"name,omitempty"` // Type - READ-ONLY; The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. Type *string `json:"type,omitempty"` + // Location - The geo-location where the resource lives + Location *string `json:"location,omitempty"` } // MarshalJSON is the custom marshaler for Group. @@ -120,6 +120,9 @@ func (g Group) MarshalJSON() ([]byte, error) { if g.Kind != "" { objectMap["kind"] = g.Kind } + if g.Location != nil { + objectMap["location"] = g.Location + } return json.Marshal(objectMap) } @@ -177,6 +180,15 @@ func (g *Group) UnmarshalJSON(body []byte) error { } g.Type = &typeVar } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + g.Location = &location + } } } @@ -399,6 +411,8 @@ func (future *GroupsDeleteFuture) Result(client GroupsClient) (ar autorest.Respo // HubAndSpokePeeringPolicyProperties properties of a Hub and Spoke Peering Policy type HubAndSpokePeeringPolicyProperties struct { + // Type - Gets or sets the connectivity type of a network structure policy. Possible values include: 'HubAndSpokeTopology', 'MeshTopology' + Type Type `json:"type,omitempty"` // Hub - Gets or sets the hub virtual network ID Hub *ResourceID `json:"hub,omitempty"` // Spokes - Gets or sets the spokes group IDs @@ -409,47 +423,6 @@ type HubAndSpokePeeringPolicyProperties struct { ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` // Etag - READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty"` - // PeeringPolicyType - Possible values include: 'PeeringPolicyTypeManagedNetworkPeeringPolicyProperties', 'PeeringPolicyTypeHubAndSpokeTopology', 'PeeringPolicyTypeMeshTopology' - PeeringPolicyType PeeringPolicyType `json:"peeringPolicyType,omitempty"` -} - -// MarshalJSON is the custom marshaler for HubAndSpokePeeringPolicyProperties. -func (hasppp HubAndSpokePeeringPolicyProperties) MarshalJSON() ([]byte, error) { - hasppp.PeeringPolicyType = PeeringPolicyTypeHubAndSpokeTopology - objectMap := make(map[string]interface{}) - if hasppp.Hub != nil { - objectMap["hub"] = hasppp.Hub - } - if hasppp.Spokes != nil { - objectMap["spokes"] = hasppp.Spokes - } - if hasppp.Mesh != nil { - objectMap["mesh"] = hasppp.Mesh - } - if hasppp.PeeringPolicyType != "" { - objectMap["peeringPolicyType"] = hasppp.PeeringPolicyType - } - return json.Marshal(objectMap) -} - -// AsHubAndSpokePeeringPolicyProperties is the BasicPeeringPolicyProperties implementation for HubAndSpokePeeringPolicyProperties. -func (hasppp HubAndSpokePeeringPolicyProperties) AsHubAndSpokePeeringPolicyProperties() (*HubAndSpokePeeringPolicyProperties, bool) { - return &hasppp, true -} - -// AsMeshPeeringPolicyProperties is the BasicPeeringPolicyProperties implementation for HubAndSpokePeeringPolicyProperties. -func (hasppp HubAndSpokePeeringPolicyProperties) AsMeshPeeringPolicyProperties() (*MeshPeeringPolicyProperties, bool) { - return nil, false -} - -// AsPeeringPolicyProperties is the BasicPeeringPolicyProperties implementation for HubAndSpokePeeringPolicyProperties. -func (hasppp HubAndSpokePeeringPolicyProperties) AsPeeringPolicyProperties() (*PeeringPolicyProperties, bool) { - return nil, false -} - -// AsBasicPeeringPolicyProperties is the BasicPeeringPolicyProperties implementation for HubAndSpokePeeringPolicyProperties. -func (hasppp HubAndSpokePeeringPolicyProperties) AsBasicPeeringPolicyProperties() (BasicPeeringPolicyProperties, bool) { - return &hasppp, true } // ListResult result of the request to list Managed Network. It contains a list of Managed Networks and a @@ -604,16 +577,16 @@ type ManagedNetwork struct { autorest.Response `json:"-"` // Properties - The MNC properties *Properties `json:"properties,omitempty"` - // Tags - Resource tags. + // Tags - Resource tags Tags map[string]*string `json:"tags"` - // Location - The geo-location where the resource lives - Location *string `json:"location,omitempty"` // ID - READ-ONLY; Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} ID *string `json:"id,omitempty"` // Name - READ-ONLY; The name of the resource Name *string `json:"name,omitempty"` // Type - READ-ONLY; The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. Type *string `json:"type,omitempty"` + // Location - The geo-location where the resource lives + Location *string `json:"location,omitempty"` } // MarshalJSON is the custom marshaler for ManagedNetwork. @@ -658,15 +631,6 @@ func (mn *ManagedNetwork) UnmarshalJSON(body []byte) error { } mn.Tags = tags } - case "location": - if v != nil { - var location string - err = json.Unmarshal(*v, &location) - if err != nil { - return err - } - mn.Location = &location - } case "id": if v != nil { var ID string @@ -694,6 +658,15 @@ func (mn *ManagedNetwork) UnmarshalJSON(body []byte) error { } mn.Type = &typeVar } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + mn.Location = &location + } } } @@ -754,59 +727,20 @@ func (future *ManagedNetworksUpdateFutureType) Result(client ManagedNetworksClie // MeshPeeringPolicyProperties properties of a Mesh Peering Policy type MeshPeeringPolicyProperties struct { + // Type - Gets or sets the connectivity type of a network structure policy. Possible values include: 'HubAndSpokeTopology', 'MeshTopology' + Type Type `json:"type,omitempty"` // Hub - Gets or sets the hub virtual network ID Hub *ResourceID `json:"hub,omitempty"` // Spokes - Gets or sets the spokes group IDs Spokes *[]ResourceID `json:"spokes,omitempty"` // Mesh - Gets or sets the mesh group IDs Mesh *[]ResourceID `json:"mesh,omitempty"` - // PeeringPolicyType - Possible values include: 'PeeringPolicyTypeManagedNetworkPeeringPolicyProperties', 'PeeringPolicyTypeHubAndSpokeTopology', 'PeeringPolicyTypeMeshTopology' - PeeringPolicyType PeeringPolicyType `json:"peeringPolicyType,omitempty"` // ProvisioningState - READ-ONLY; Provisioning state of the ManagedNetwork resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. Possible values include: 'Updating', 'Deleting', 'Failed', 'Succeeded' ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` // Etag - READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty"` } -// MarshalJSON is the custom marshaler for MeshPeeringPolicyProperties. -func (mppp MeshPeeringPolicyProperties) MarshalJSON() ([]byte, error) { - mppp.PeeringPolicyType = PeeringPolicyTypeMeshTopology - objectMap := make(map[string]interface{}) - if mppp.Hub != nil { - objectMap["hub"] = mppp.Hub - } - if mppp.Spokes != nil { - objectMap["spokes"] = mppp.Spokes - } - if mppp.Mesh != nil { - objectMap["mesh"] = mppp.Mesh - } - if mppp.PeeringPolicyType != "" { - objectMap["peeringPolicyType"] = mppp.PeeringPolicyType - } - return json.Marshal(objectMap) -} - -// AsHubAndSpokePeeringPolicyProperties is the BasicPeeringPolicyProperties implementation for MeshPeeringPolicyProperties. -func (mppp MeshPeeringPolicyProperties) AsHubAndSpokePeeringPolicyProperties() (*HubAndSpokePeeringPolicyProperties, bool) { - return nil, false -} - -// AsMeshPeeringPolicyProperties is the BasicPeeringPolicyProperties implementation for MeshPeeringPolicyProperties. -func (mppp MeshPeeringPolicyProperties) AsMeshPeeringPolicyProperties() (*MeshPeeringPolicyProperties, bool) { - return &mppp, true -} - -// AsPeeringPolicyProperties is the BasicPeeringPolicyProperties implementation for MeshPeeringPolicyProperties. -func (mppp MeshPeeringPolicyProperties) AsPeeringPolicyProperties() (*PeeringPolicyProperties, bool) { - return nil, false -} - -// AsBasicPeeringPolicyProperties is the BasicPeeringPolicyProperties implementation for MeshPeeringPolicyProperties. -func (mppp MeshPeeringPolicyProperties) AsBasicPeeringPolicyProperties() (BasicPeeringPolicyProperties, bool) { - return &mppp, true -} - // Operation REST API operation type Operation struct { // Name - Operation name: {provider}/{resource}/{operation} @@ -1028,63 +962,15 @@ func (future *PeeringPoliciesDeleteFuture) Result(client PeeringPoliciesClient) type PeeringPolicy struct { autorest.Response `json:"-"` // Properties - Gets or sets the properties of a Managed Network Policy - Properties BasicPeeringPolicyProperties `json:"properties,omitempty"` + Properties *PeeringPolicyProperties `json:"properties,omitempty"` // ID - READ-ONLY; Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} ID *string `json:"id,omitempty"` // Name - READ-ONLY; The name of the resource Name *string `json:"name,omitempty"` // Type - READ-ONLY; The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. Type *string `json:"type,omitempty"` -} - -// UnmarshalJSON is the custom unmarshaler for PeeringPolicy struct. -func (pp *PeeringPolicy) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - case "properties": - if v != nil { - properties, err := unmarshalBasicPeeringPolicyProperties(*v) - if err != nil { - return err - } - pp.Properties = properties - } - case "id": - if v != nil { - var ID string - err = json.Unmarshal(*v, &ID) - if err != nil { - return err - } - pp.ID = &ID - } - case "name": - if v != nil { - var name string - err = json.Unmarshal(*v, &name) - if err != nil { - return err - } - pp.Name = &name - } - case "type": - if v != nil { - var typeVar string - err = json.Unmarshal(*v, &typeVar) - if err != nil { - return err - } - pp.Type = &typeVar - } - } - } - - return nil + // Location - The geo-location where the resource lives + Location *string `json:"location,omitempty"` } // PeeringPolicyListResult result of the request to list Managed Network Peering Policies. It contains a @@ -1234,112 +1120,25 @@ func NewPeeringPolicyListResultPage(getNextPage func(context.Context, PeeringPol return PeeringPolicyListResultPage{fn: getNextPage} } -// BasicPeeringPolicyProperties properties of a Managed Network Peering Policy -type BasicPeeringPolicyProperties interface { - AsHubAndSpokePeeringPolicyProperties() (*HubAndSpokePeeringPolicyProperties, bool) - AsMeshPeeringPolicyProperties() (*MeshPeeringPolicyProperties, bool) - AsPeeringPolicyProperties() (*PeeringPolicyProperties, bool) -} - // PeeringPolicyProperties properties of a Managed Network Peering Policy type PeeringPolicyProperties struct { + // Type - Gets or sets the connectivity type of a network structure policy. Possible values include: 'HubAndSpokeTopology', 'MeshTopology' + Type Type `json:"type,omitempty"` // Hub - Gets or sets the hub virtual network ID Hub *ResourceID `json:"hub,omitempty"` // Spokes - Gets or sets the spokes group IDs Spokes *[]ResourceID `json:"spokes,omitempty"` // Mesh - Gets or sets the mesh group IDs Mesh *[]ResourceID `json:"mesh,omitempty"` - // PeeringPolicyType - Possible values include: 'PeeringPolicyTypeManagedNetworkPeeringPolicyProperties', 'PeeringPolicyTypeHubAndSpokeTopology', 'PeeringPolicyTypeMeshTopology' - PeeringPolicyType PeeringPolicyType `json:"peeringPolicyType,omitempty"` // ProvisioningState - READ-ONLY; Provisioning state of the ManagedNetwork resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. Possible values include: 'Updating', 'Deleting', 'Failed', 'Succeeded' ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` // Etag - READ-ONLY; A unique read-only string that changes whenever the resource is updated. Etag *string `json:"etag,omitempty"` } -func unmarshalBasicPeeringPolicyProperties(body []byte) (BasicPeeringPolicyProperties, error) { - var m map[string]interface{} - err := json.Unmarshal(body, &m) - if err != nil { - return nil, err - } - - switch m["peeringPolicyType"] { - case string(PeeringPolicyTypeHubAndSpokeTopology): - var hasppp HubAndSpokePeeringPolicyProperties - err := json.Unmarshal(body, &hasppp) - return hasppp, err - case string(PeeringPolicyTypeMeshTopology): - var mppp MeshPeeringPolicyProperties - err := json.Unmarshal(body, &mppp) - return mppp, err - default: - var ppp PeeringPolicyProperties - err := json.Unmarshal(body, &ppp) - return ppp, err - } -} -func unmarshalBasicPeeringPolicyPropertiesArray(body []byte) ([]BasicPeeringPolicyProperties, error) { - var rawMessages []*json.RawMessage - err := json.Unmarshal(body, &rawMessages) - if err != nil { - return nil, err - } - - pppArray := make([]BasicPeeringPolicyProperties, len(rawMessages)) - - for index, rawMessage := range rawMessages { - ppp, err := unmarshalBasicPeeringPolicyProperties(*rawMessage) - if err != nil { - return nil, err - } - pppArray[index] = ppp - } - return pppArray, nil -} - -// MarshalJSON is the custom marshaler for PeeringPolicyProperties. -func (ppp PeeringPolicyProperties) MarshalJSON() ([]byte, error) { - ppp.PeeringPolicyType = PeeringPolicyTypeManagedNetworkPeeringPolicyProperties - objectMap := make(map[string]interface{}) - if ppp.Hub != nil { - objectMap["hub"] = ppp.Hub - } - if ppp.Spokes != nil { - objectMap["spokes"] = ppp.Spokes - } - if ppp.Mesh != nil { - objectMap["mesh"] = ppp.Mesh - } - if ppp.PeeringPolicyType != "" { - objectMap["peeringPolicyType"] = ppp.PeeringPolicyType - } - return json.Marshal(objectMap) -} - -// AsHubAndSpokePeeringPolicyProperties is the BasicPeeringPolicyProperties implementation for PeeringPolicyProperties. -func (ppp PeeringPolicyProperties) AsHubAndSpokePeeringPolicyProperties() (*HubAndSpokePeeringPolicyProperties, bool) { - return nil, false -} - -// AsMeshPeeringPolicyProperties is the BasicPeeringPolicyProperties implementation for PeeringPolicyProperties. -func (ppp PeeringPolicyProperties) AsMeshPeeringPolicyProperties() (*MeshPeeringPolicyProperties, bool) { - return nil, false -} - -// AsPeeringPolicyProperties is the BasicPeeringPolicyProperties implementation for PeeringPolicyProperties. -func (ppp PeeringPolicyProperties) AsPeeringPolicyProperties() (*PeeringPolicyProperties, bool) { - return &ppp, true -} - -// AsBasicPeeringPolicyProperties is the BasicPeeringPolicyProperties implementation for PeeringPolicyProperties. -func (ppp PeeringPolicyProperties) AsBasicPeeringPolicyProperties() (BasicPeeringPolicyProperties, bool) { - return &ppp, true -} - // Properties properties of Managed Network type Properties struct { - // Scope - READ-ONLY; The collection of management groups, subscriptions, virtual networks, and subnets by the Managed Network. This is a read-only property that is reflective of all ScopeAssignments for this Managed Network + // Scope - The collection of management groups, subscriptions, virtual networks, and subnets by the Managed Network. This is a read-only property that is reflective of all ScopeAssignments for this Managed Network Scope *Scope `json:"scope,omitempty"` // Connectivity - READ-ONLY; The collection of groups and policies concerned with connectivity Connectivity *ConnectivityCollection `json:"connectivity,omitempty"` @@ -1358,6 +1157,8 @@ type ProxyResource struct { Name *string `json:"name,omitempty"` // Type - READ-ONLY; The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. Type *string `json:"type,omitempty"` + // Location - The geo-location where the resource lives + Location *string `json:"location,omitempty"` } // Resource the general resource model definition @@ -1368,6 +1169,8 @@ type Resource struct { Name *string `json:"name,omitempty"` // Type - READ-ONLY; The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. Type *string `json:"type,omitempty"` + // Location - The geo-location where the resource lives + Location *string `json:"location,omitempty"` } // ResourceID generic pointer to a resource @@ -1407,6 +1210,8 @@ type ScopeAssignment struct { Name *string `json:"name,omitempty"` // Type - READ-ONLY; The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. Type *string `json:"type,omitempty"` + // Location - The geo-location where the resource lives + Location *string `json:"location,omitempty"` } // MarshalJSON is the custom marshaler for ScopeAssignment. @@ -1415,6 +1220,9 @@ func (sa ScopeAssignment) MarshalJSON() ([]byte, error) { if sa.ScopeAssignmentProperties != nil { objectMap["properties"] = sa.ScopeAssignmentProperties } + if sa.Location != nil { + objectMap["location"] = sa.Location + } return json.Marshal(objectMap) } @@ -1463,6 +1271,15 @@ func (sa *ScopeAssignment) UnmarshalJSON(body []byte) error { } sa.Type = &typeVar } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + sa.Location = &location + } } } @@ -1628,16 +1445,16 @@ type ScopeAssignmentProperties struct { // TrackedResource the resource model definition for a ARM tracked top level resource type TrackedResource struct { - // Tags - Resource tags. + // Tags - Resource tags Tags map[string]*string `json:"tags"` - // Location - The geo-location where the resource lives - Location *string `json:"location,omitempty"` // ID - READ-ONLY; Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} ID *string `json:"id,omitempty"` // Name - READ-ONLY; The name of the resource Name *string `json:"name,omitempty"` // Type - READ-ONLY; The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts. Type *string `json:"type,omitempty"` + // Location - The geo-location where the resource lives + Location *string `json:"location,omitempty"` } // MarshalJSON is the custom marshaler for TrackedResource. @@ -1654,7 +1471,7 @@ func (tr TrackedResource) MarshalJSON() ([]byte, error) { // Update update Tags of Managed Network type Update struct { - // Tags - Updates the tags property of the Managed Network + // Tags - Resource tags Tags map[string]*string `json:"tags"` } diff --git a/services/preview/mysql/mgmt/2017-12-01-preview/mysql/models.go b/services/preview/mysql/mgmt/2017-12-01-preview/mysql/models.go index 92d6a398523f..504b3d0d5f8e 100644 --- a/services/preview/mysql/mgmt/2017-12-01-preview/mysql/models.go +++ b/services/preview/mysql/mgmt/2017-12-01-preview/mysql/models.go @@ -25,6 +25,7 @@ import ( "github.com/Azure/go-autorest/autorest/date" "github.com/Azure/go-autorest/autorest/to" "github.com/Azure/go-autorest/tracing" + "github.com/satori/go.uuid" "net/http" ) @@ -948,6 +949,156 @@ func (s *Server) UnmarshalJSON(body []byte) error { return nil } +// ServerAdministratorProperties the properties of an server Administrator. +type ServerAdministratorProperties struct { + // AdministratorType - The type of administrator. + AdministratorType *string `json:"administratorType,omitempty"` + // Login - The server administrator login value. + Login *string `json:"login,omitempty"` + // Sid - The server administrator Sid (Secure ID). + Sid *uuid.UUID `json:"sid,omitempty"` + // TenantID - The server Active Directory Administrator tenant id. + TenantID *uuid.UUID `json:"tenantId,omitempty"` +} + +// ServerAdministratorResource represents a and external administrator to be created. +type ServerAdministratorResource struct { + autorest.Response `json:"-"` + // ServerAdministratorProperties - Properties of the server AAD administrator. + *ServerAdministratorProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource ID + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for ServerAdministratorResource. +func (sar ServerAdministratorResource) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if sar.ServerAdministratorProperties != nil { + objectMap["properties"] = sar.ServerAdministratorProperties + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ServerAdministratorResource struct. +func (sar *ServerAdministratorResource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var serverAdministratorProperties ServerAdministratorProperties + err = json.Unmarshal(*v, &serverAdministratorProperties) + if err != nil { + return err + } + sar.ServerAdministratorProperties = &serverAdministratorProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + sar.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + sar.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + sar.Type = &typeVar + } + } + } + + return nil +} + +// ServerAdministratorResourceListResult the response to a list Active Directory Administrators request. +type ServerAdministratorResourceListResult struct { + autorest.Response `json:"-"` + // Value - The list of server Active Directory Administrators for the server. + Value *[]ServerAdministratorResource `json:"value,omitempty"` +} + +// ServerAdministratorsCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type ServerAdministratorsCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ServerAdministratorsCreateOrUpdateFuture) Result(client ServerAdministratorsClient) (sar ServerAdministratorResource, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "mysql.ServerAdministratorsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("mysql.ServerAdministratorsCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if sar.Response.Response, err = future.GetResult(sender); err == nil && sar.Response.Response.StatusCode != http.StatusNoContent { + sar, err = client.CreateOrUpdateResponder(sar.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "mysql.ServerAdministratorsCreateOrUpdateFuture", "Result", sar.Response.Response, "Failure responding to request") + } + } + return +} + +// ServerAdministratorsDeleteFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type ServerAdministratorsDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ServerAdministratorsDeleteFuture) Result(client ServerAdministratorsClient) (sar ServerAdministratorResource, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "mysql.ServerAdministratorsDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("mysql.ServerAdministratorsDeleteFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if sar.Response.Response, err = future.GetResult(sender); err == nil && sar.Response.Response.StatusCode != http.StatusNoContent { + sar, err = client.DeleteResponder(sar.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "mysql.ServerAdministratorsDeleteFuture", "Result", sar.Response.Response, "Failure responding to request") + } + } + return +} + // ServerForCreate represents a server to be created. type ServerForCreate struct { // Sku - The SKU (pricing tier) of the server. diff --git a/services/preview/mysql/mgmt/2017-12-01-preview/mysql/mysqlapi/interfaces.go b/services/preview/mysql/mgmt/2017-12-01-preview/mysql/mysqlapi/interfaces.go index 4c90ae8ef5c7..2ad7af82c238 100644 --- a/services/preview/mysql/mgmt/2017-12-01-preview/mysql/mysqlapi/interfaces.go +++ b/services/preview/mysql/mgmt/2017-12-01-preview/mysql/mysqlapi/interfaces.go @@ -88,6 +88,16 @@ type LogFilesClientAPI interface { var _ LogFilesClientAPI = (*mysql.LogFilesClient)(nil) +// ServerAdministratorsClientAPI contains the set of methods on the ServerAdministratorsClient type. +type ServerAdministratorsClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, serverName string, properties mysql.ServerAdministratorResource) (result mysql.ServerAdministratorsCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, serverName string) (result mysql.ServerAdministratorsDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, serverName string) (result mysql.ServerAdministratorResource, err error) + ListByServer(ctx context.Context, resourceGroupName string, serverName string) (result mysql.ServerAdministratorResourceListResult, err error) +} + +var _ ServerAdministratorsClientAPI = (*mysql.ServerAdministratorsClient)(nil) + // LocationBasedPerformanceTierClientAPI contains the set of methods on the LocationBasedPerformanceTierClient type. type LocationBasedPerformanceTierClientAPI interface { List(ctx context.Context, locationName string) (result mysql.PerformanceTierListResult, err error) diff --git a/services/preview/mysql/mgmt/2017-12-01-preview/mysql/serveradministrators.go b/services/preview/mysql/mgmt/2017-12-01-preview/mysql/serveradministrators.go new file mode 100644 index 000000000000..890be04cb44c --- /dev/null +++ b/services/preview/mysql/mgmt/2017-12-01-preview/mysql/serveradministrators.go @@ -0,0 +1,371 @@ +package mysql + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// ServerAdministratorsClient is the the Microsoft Azure management API provides create, read, update, and delete +// functionality for Azure MySQL resources including servers, databases, firewall rules, VNET rules, log files and +// configurations with new business model. +type ServerAdministratorsClient struct { + BaseClient +} + +// NewServerAdministratorsClient creates an instance of the ServerAdministratorsClient client. +func NewServerAdministratorsClient(subscriptionID string) ServerAdministratorsClient { + return NewServerAdministratorsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewServerAdministratorsClientWithBaseURI creates an instance of the ServerAdministratorsClient client. +func NewServerAdministratorsClientWithBaseURI(baseURI string, subscriptionID string) ServerAdministratorsClient { + return ServerAdministratorsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or update active directory administrator on an existing server. The update action will +// overwrite the existing administrator. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serverName - the name of the server. +// properties - the required parameters for creating or updating an AAD server administrator. +func (client ServerAdministratorsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, serverName string, properties ServerAdministratorResource) (result ServerAdministratorsCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServerAdministratorsClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: properties, + Constraints: []validation.Constraint{{Target: "properties.ServerAdministratorProperties", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "properties.ServerAdministratorProperties.AdministratorType", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "properties.ServerAdministratorProperties.Login", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "properties.ServerAdministratorProperties.Sid", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "properties.ServerAdministratorProperties.TenantID", Name: validation.Null, Rule: true, Chain: nil}, + }}}}}); err != nil { + return result, validation.NewError("mysql.ServerAdministratorsClient", "CreateOrUpdate", err.Error()) + } + + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, serverName, properties) + if err != nil { + err = autorest.NewErrorWithError(err, "mysql.ServerAdministratorsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "mysql.ServerAdministratorsClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client ServerAdministratorsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, serverName string, properties ServerAdministratorResource) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-12-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/Administrators/activeDirectory", pathParameters), + autorest.WithJSON(properties), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client ServerAdministratorsClient) CreateOrUpdateSender(req *http.Request) (future ServerAdministratorsCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client ServerAdministratorsClient) CreateOrUpdateResponder(resp *http.Response) (result ServerAdministratorResource, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes AAD Administrator. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serverName - the name of the server. +func (client ServerAdministratorsClient) Delete(ctx context.Context, resourceGroupName string, serverName string) (result ServerAdministratorsDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServerAdministratorsClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, serverName) + if err != nil { + err = autorest.NewErrorWithError(err, "mysql.ServerAdministratorsClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "mysql.ServerAdministratorsClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client ServerAdministratorsClient) DeletePreparer(ctx context.Context, resourceGroupName string, serverName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-12-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/Administrators/activeDirectory", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client ServerAdministratorsClient) DeleteSender(req *http.Request) (future ServerAdministratorsDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client ServerAdministratorsClient) DeleteResponder(resp *http.Response) (result ServerAdministratorResource, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Get gets information about a AAD server administrator. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serverName - the name of the server. +func (client ServerAdministratorsClient) Get(ctx context.Context, resourceGroupName string, serverName string) (result ServerAdministratorResource, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServerAdministratorsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, serverName) + if err != nil { + err = autorest.NewErrorWithError(err, "mysql.ServerAdministratorsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "mysql.ServerAdministratorsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "mysql.ServerAdministratorsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client ServerAdministratorsClient) GetPreparer(ctx context.Context, resourceGroupName string, serverName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-12-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/Administrators/activeDirectory", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client ServerAdministratorsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client ServerAdministratorsClient) GetResponder(resp *http.Response) (result ServerAdministratorResource, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByServer returns a list of server Administrators. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serverName - the name of the server. +func (client ServerAdministratorsClient) ListByServer(ctx context.Context, resourceGroupName string, serverName string) (result ServerAdministratorResourceListResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServerAdministratorsClient.ListByServer") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListByServerPreparer(ctx, resourceGroupName, serverName) + if err != nil { + err = autorest.NewErrorWithError(err, "mysql.ServerAdministratorsClient", "ListByServer", nil, "Failure preparing request") + return + } + + resp, err := client.ListByServerSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "mysql.ServerAdministratorsClient", "ListByServer", resp, "Failure sending request") + return + } + + result, err = client.ListByServerResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "mysql.ServerAdministratorsClient", "ListByServer", resp, "Failure responding to request") + } + + return +} + +// ListByServerPreparer prepares the ListByServer request. +func (client ServerAdministratorsClient) ListByServerPreparer(ctx context.Context, resourceGroupName string, serverName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-12-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/administrators", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByServerSender sends the ListByServer request. The method will close the +// http.Response Body if it receives an error. +func (client ServerAdministratorsClient) ListByServerSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByServerResponder handles the response to the ListByServer request. The method always +// closes the http.Response Body. +func (client ServerAdministratorsClient) ListByServerResponder(resp *http.Response) (result ServerAdministratorResourceListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/preview/operationalinsights/mgmt/2015-11-01-preview/operationalinsights/models.go b/services/preview/operationalinsights/mgmt/2015-11-01-preview/operationalinsights/models.go index b71302b59126..a47383465675 100644 --- a/services/preview/operationalinsights/mgmt/2015-11-01-preview/operationalinsights/models.go +++ b/services/preview/operationalinsights/mgmt/2015-11-01-preview/operationalinsights/models.go @@ -872,11 +872,11 @@ type WorkspaceListUsagesResult struct { type WorkspaceProperties struct { // ProvisioningState - The provisioning state of the workspace. Possible values include: 'Creating', 'Succeeded', 'Failed', 'Canceled', 'Deleting', 'ProvisioningAccount' ProvisioningState EntityStatus `json:"provisioningState,omitempty"` - // Source - The source of the workspace. Source defines where the workspace was created. 'Azure' implies it was created in Azure. 'External' implies it was created via the Operational Insights Portal. This value is set on the service side and read-only on the client side. + // Source - READ-ONLY; This is a read-only legacy property. It is always set to 'Azure' by the service. Kept here for backward compatibility. Source *string `json:"source,omitempty"` - // CustomerID - The ID associated with the workspace. Setting this value at creation time allows the workspace being created to be linked to an existing workspace. + // CustomerID - READ-ONLY; This is a read-only property. Represents the ID associated with the workspace. CustomerID *string `json:"customerId,omitempty"` - // PortalURL - The URL of the Operational Insights portal for this workspace. This value is set on the service side and read-only on the client side. + // PortalURL - READ-ONLY; This is a legacy property and is not used anymore. Kept here for backward compatibility. PortalURL *string `json:"portalUrl,omitempty"` // Sku - The SKU of the workspace. Sku *Sku `json:"sku,omitempty"` diff --git a/services/preview/peering/mgmt/2019-03-01-preview/peering/client.go b/services/preview/peering/mgmt/2019-03-01-preview/peering/client.go deleted file mode 100644 index b12ac635c7b3..000000000000 --- a/services/preview/peering/mgmt/2019-03-01-preview/peering/client.go +++ /dev/null @@ -1,51 +0,0 @@ -// Package peering implements the Azure ARM Peering service API version 2019-03-01-preview. -// -// APIs to manage Peering resources through the Azure Resource Manager. -package peering - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "github.com/Azure/go-autorest/autorest" -) - -const ( - // DefaultBaseURI is the default URI used for the service Peering - DefaultBaseURI = "https://management.azure.com" -) - -// BaseClient is the base client for Peering. -type BaseClient struct { - autorest.Client - BaseURI string - SubscriptionID string -} - -// New creates an instance of the BaseClient client. -func New(subscriptionID string) BaseClient { - return NewWithBaseURI(DefaultBaseURI, subscriptionID) -} - -// NewWithBaseURI creates an instance of the BaseClient client. -func NewWithBaseURI(baseURI string, subscriptionID string) BaseClient { - return BaseClient{ - Client: autorest.NewClientWithUserAgent(UserAgent()), - BaseURI: baseURI, - SubscriptionID: subscriptionID, - } -} diff --git a/services/preview/peering/mgmt/2019-08-01-preview/peering/client.go b/services/preview/peering/mgmt/2019-08-01-preview/peering/client.go index b221a50435f4..bd71733e8b42 100644 --- a/services/preview/peering/mgmt/2019-08-01-preview/peering/client.go +++ b/services/preview/peering/mgmt/2019-08-01-preview/peering/client.go @@ -57,8 +57,8 @@ func NewWithBaseURI(baseURI string, subscriptionID string) BaseClient { // CheckServiceProviderAvailability checks if the peering service provider is present within 1000 miles of customer's // location // Parameters: -// checkServiceProviderAvailabilityInput - the CheckServiceProviderAvailabilityInput indicating customer -// location and service provider. +// checkServiceProviderAvailabilityInput - the CheckServiceProviderAvailabilityInput +// indicating customer location and service provider. func (client BaseClient) CheckServiceProviderAvailability(ctx context.Context, checkServiceProviderAvailabilityInput CheckServiceProviderAvailabilityInput) (result String, err error) { if tracing.IsEnabled() { ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.CheckServiceProviderAvailability") diff --git a/services/preview/peering/mgmt/2019-09-01-preview/peering/client.go b/services/preview/peering/mgmt/2019-09-01-preview/peering/client.go new file mode 100644 index 000000000000..0af85a137871 --- /dev/null +++ b/services/preview/peering/mgmt/2019-09-01-preview/peering/client.go @@ -0,0 +1,133 @@ +// Package peering implements the Azure ARM Peering service API version 2019-09-01-preview. +// +// Peering Client +package peering + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +const ( + // DefaultBaseURI is the default URI used for the service Peering + DefaultBaseURI = "https://management.azure.com" +) + +// BaseClient is the base client for Peering. +type BaseClient struct { + autorest.Client + BaseURI string + SubscriptionID string +} + +// New creates an instance of the BaseClient client. +func New(subscriptionID string) BaseClient { + return NewWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewWithBaseURI creates an instance of the BaseClient client. +func NewWithBaseURI(baseURI string, subscriptionID string) BaseClient { + return BaseClient{ + Client: autorest.NewClientWithUserAgent(UserAgent()), + BaseURI: baseURI, + SubscriptionID: subscriptionID, + } +} + +// CheckServiceProviderAvailability checks if the peering service provider is present within 1000 miles of customer's +// location +// Parameters: +// checkServiceProviderAvailabilityInput - the CheckServiceProviderAvailabilityInput indicating customer +// location and service provider. +func (client BaseClient) CheckServiceProviderAvailability(ctx context.Context, checkServiceProviderAvailabilityInput CheckServiceProviderAvailabilityInput) (result String, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.CheckServiceProviderAvailability") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CheckServiceProviderAvailabilityPreparer(ctx, checkServiceProviderAvailabilityInput) + if err != nil { + err = autorest.NewErrorWithError(err, "peering.BaseClient", "CheckServiceProviderAvailability", nil, "Failure preparing request") + return + } + + resp, err := client.CheckServiceProviderAvailabilitySender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "peering.BaseClient", "CheckServiceProviderAvailability", resp, "Failure sending request") + return + } + + result, err = client.CheckServiceProviderAvailabilityResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "peering.BaseClient", "CheckServiceProviderAvailability", resp, "Failure responding to request") + } + + return +} + +// CheckServiceProviderAvailabilityPreparer prepares the CheckServiceProviderAvailability request. +func (client BaseClient) CheckServiceProviderAvailabilityPreparer(ctx context.Context, checkServiceProviderAvailabilityInput CheckServiceProviderAvailabilityInput) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-09-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Peering/CheckServiceProviderAvailability", pathParameters), + autorest.WithJSON(checkServiceProviderAvailabilityInput), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CheckServiceProviderAvailabilitySender sends the CheckServiceProviderAvailability request. The method will close the +// http.Response Body if it receives an error. +func (client BaseClient) CheckServiceProviderAvailabilitySender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CheckServiceProviderAvailabilityResponder handles the response to the CheckServiceProviderAvailability request. The method always +// closes the http.Response Body. +func (client BaseClient) CheckServiceProviderAvailabilityResponder(resp *http.Response) (result String, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result.Value), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/preview/peering/mgmt/2019-03-01-preview/peering/legacypeerings.go b/services/preview/peering/mgmt/2019-09-01-preview/peering/legacypeerings.go similarity index 97% rename from services/preview/peering/mgmt/2019-03-01-preview/peering/legacypeerings.go rename to services/preview/peering/mgmt/2019-09-01-preview/peering/legacypeerings.go index eab80163f4f1..b5230ef184ea 100644 --- a/services/preview/peering/mgmt/2019-03-01-preview/peering/legacypeerings.go +++ b/services/preview/peering/mgmt/2019-09-01-preview/peering/legacypeerings.go @@ -25,7 +25,7 @@ import ( "net/http" ) -// LegacyPeeringsClient is the aPIs to manage Peering resources through the Azure Resource Manager. +// LegacyPeeringsClient is the peering Client type LegacyPeeringsClient struct { BaseClient } @@ -83,7 +83,7 @@ func (client LegacyPeeringsClient) ListPreparer(ctx context.Context, peeringLoca "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2019-03-01-preview" + const APIVersion = "2019-09-01-preview" queryParameters := map[string]interface{}{ "api-version": APIVersion, "kind": autorest.Encode("query", kind), diff --git a/services/preview/peering/mgmt/2019-03-01-preview/peering/locations.go b/services/preview/peering/mgmt/2019-09-01-preview/peering/locations.go similarity index 89% rename from services/preview/peering/mgmt/2019-03-01-preview/peering/locations.go rename to services/preview/peering/mgmt/2019-09-01-preview/peering/locations.go index adadd431ec57..b9ef1363bcc6 100644 --- a/services/preview/peering/mgmt/2019-03-01-preview/peering/locations.go +++ b/services/preview/peering/mgmt/2019-09-01-preview/peering/locations.go @@ -25,7 +25,7 @@ import ( "net/http" ) -// LocationsClient is the aPIs to manage Peering resources through the Azure Resource Manager. +// LocationsClient is the peering Client type LocationsClient struct { BaseClient } @@ -43,7 +43,8 @@ func NewLocationsClientWithBaseURI(baseURI string, subscriptionID string) Locati // List lists all of the available peering locations for the specified kind of peering. // Parameters: // kind - the kind of the peering. -func (client LocationsClient) List(ctx context.Context, kind string) (result LocationListResultPage, err error) { +// directPeeringType - the type of direct peering. +func (client LocationsClient) List(ctx context.Context, kind string, directPeeringType string) (result LocationListResultPage, err error) { if tracing.IsEnabled() { ctx = tracing.StartSpan(ctx, fqdn+"/LocationsClient.List") defer func() { @@ -55,7 +56,7 @@ func (client LocationsClient) List(ctx context.Context, kind string) (result Loc }() } result.fn = client.listNextResults - req, err := client.ListPreparer(ctx, kind) + req, err := client.ListPreparer(ctx, kind, directPeeringType) if err != nil { err = autorest.NewErrorWithError(err, "peering.LocationsClient", "List", nil, "Failure preparing request") return @@ -77,16 +78,19 @@ func (client LocationsClient) List(ctx context.Context, kind string) (result Loc } // ListPreparer prepares the List request. -func (client LocationsClient) ListPreparer(ctx context.Context, kind string) (*http.Request, error) { +func (client LocationsClient) ListPreparer(ctx context.Context, kind string, directPeeringType string) (*http.Request, error) { pathParameters := map[string]interface{}{ "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2019-03-01-preview" + const APIVersion = "2019-09-01-preview" queryParameters := map[string]interface{}{ "api-version": APIVersion, "kind": autorest.Encode("query", kind), } + if len(string(directPeeringType)) > 0 { + queryParameters["directPeeringType"] = autorest.Encode("query", directPeeringType) + } preparer := autorest.CreatePreparer( autorest.AsGet(), @@ -138,7 +142,7 @@ func (client LocationsClient) listNextResults(ctx context.Context, lastResults L } // ListComplete enumerates all values, automatically crossing page boundaries as required. -func (client LocationsClient) ListComplete(ctx context.Context, kind string) (result LocationListResultIterator, err error) { +func (client LocationsClient) ListComplete(ctx context.Context, kind string, directPeeringType string) (result LocationListResultIterator, err error) { if tracing.IsEnabled() { ctx = tracing.StartSpan(ctx, fqdn+"/LocationsClient.List") defer func() { @@ -149,6 +153,6 @@ func (client LocationsClient) ListComplete(ctx context.Context, kind string) (re tracing.EndSpan(ctx, sc, err) }() } - result.page, err = client.List(ctx, kind) + result.page, err = client.List(ctx, kind, directPeeringType) return } diff --git a/services/preview/peering/mgmt/2019-03-01-preview/peering/models.go b/services/preview/peering/mgmt/2019-09-01-preview/peering/models.go similarity index 54% rename from services/preview/peering/mgmt/2019-03-01-preview/peering/models.go rename to services/preview/peering/mgmt/2019-09-01-preview/peering/models.go index 2d4d3178dd89..bbf47ea3d27d 100644 --- a/services/preview/peering/mgmt/2019-03-01-preview/peering/models.go +++ b/services/preview/peering/mgmt/2019-09-01-preview/peering/models.go @@ -21,13 +21,14 @@ import ( "context" "encoding/json" "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/date" "github.com/Azure/go-autorest/autorest/to" "github.com/Azure/go-autorest/tracing" "net/http" ) // The package's fully qualified name. -const fqdn = "github.com/Azure/azure-sdk-for-go/services/preview/peering/mgmt/2019-03-01-preview/peering" +const fqdn = "github.com/Azure/azure-sdk-for-go/services/preview/peering/mgmt/2019-09-01-preview/peering" // ConnectionState enumerates the values for connection state. type ConnectionState string @@ -56,6 +57,25 @@ func PossibleConnectionStateValues() []ConnectionState { return []ConnectionState{Active, Approved, None, PendingApproval, ProvisioningCompleted, ProvisioningFailed, ProvisioningStarted, Validating} } +// DirectPeeringType enumerates the values for direct peering type. +type DirectPeeringType string + +const ( + // Cdn ... + Cdn DirectPeeringType = "Cdn" + // Edge ... + Edge DirectPeeringType = "Edge" + // Internal ... + Internal DirectPeeringType = "Internal" + // Transit ... + Transit DirectPeeringType = "Transit" +) + +// PossibleDirectPeeringTypeValues returns an array of possible values for the DirectPeeringType const type. +func PossibleDirectPeeringTypeValues() []DirectPeeringType { + return []DirectPeeringType{Cdn, Edge, Internal, Transit} +} + // Family enumerates the values for family. type Family string @@ -86,6 +106,23 @@ func PossibleKindValues() []Kind { return []Kind{KindDirect, KindExchange} } +// LearnedType enumerates the values for learned type. +type LearnedType string + +const ( + // LearnedTypeNone ... + LearnedTypeNone LearnedType = "None" + // LearnedTypeViaServiceProvider ... + LearnedTypeViaServiceProvider LearnedType = "ViaServiceProvider" + // LearnedTypeViaSession ... + LearnedTypeViaSession LearnedType = "ViaSession" +) + +// PossibleLearnedTypeValues returns an array of possible values for the LearnedType const type. +func PossibleLearnedTypeValues() []LearnedType { + return []LearnedType{LearnedTypeNone, LearnedTypeViaServiceProvider, LearnedTypeViaSession} +} + // Name enumerates the values for name. type Name string @@ -96,13 +133,42 @@ const ( BasicExchangeFree Name = "Basic_Exchange_Free" // PremiumDirectFree ... PremiumDirectFree Name = "Premium_Direct_Free" + // PremiumDirectMetered ... + PremiumDirectMetered Name = "Premium_Direct_Metered" + // PremiumDirectUnlimited ... + PremiumDirectUnlimited Name = "Premium_Direct_Unlimited" // PremiumExchangeMetered ... PremiumExchangeMetered Name = "Premium_Exchange_Metered" ) // PossibleNameValues returns an array of possible values for the Name const type. func PossibleNameValues() []Name { - return []Name{BasicDirectFree, BasicExchangeFree, PremiumDirectFree, PremiumExchangeMetered} + return []Name{BasicDirectFree, BasicExchangeFree, PremiumDirectFree, PremiumDirectMetered, PremiumDirectUnlimited, PremiumExchangeMetered} +} + +// PrefixValidationState enumerates the values for prefix validation state. +type PrefixValidationState string + +const ( + // PrefixValidationStateFailed ... + PrefixValidationStateFailed PrefixValidationState = "Failed" + // PrefixValidationStateInvalid ... + PrefixValidationStateInvalid PrefixValidationState = "Invalid" + // PrefixValidationStateNone ... + PrefixValidationStateNone PrefixValidationState = "None" + // PrefixValidationStatePending ... + PrefixValidationStatePending PrefixValidationState = "Pending" + // PrefixValidationStateUnknown ... + PrefixValidationStateUnknown PrefixValidationState = "Unknown" + // PrefixValidationStateVerified ... + PrefixValidationStateVerified PrefixValidationState = "Verified" + // PrefixValidationStateWarning ... + PrefixValidationStateWarning PrefixValidationState = "Warning" +) + +// PossiblePrefixValidationStateValues returns an array of possible values for the PrefixValidationState const type. +func PossiblePrefixValidationStateValues() []PrefixValidationState { + return []PrefixValidationState{PrefixValidationStateFailed, PrefixValidationStateInvalid, PrefixValidationStateNone, PrefixValidationStatePending, PrefixValidationStateUnknown, PrefixValidationStateVerified, PrefixValidationStateWarning} } // ProvisioningState enumerates the values for provisioning state. @@ -124,6 +190,21 @@ func PossibleProvisioningStateValues() []ProvisioningState { return []ProvisioningState{Deleting, Failed, Succeeded, Updating} } +// SessionAddressProvider enumerates the values for session address provider. +type SessionAddressProvider string + +const ( + // Microsoft ... + Microsoft SessionAddressProvider = "Microsoft" + // Peer ... + Peer SessionAddressProvider = "Peer" +) + +// PossibleSessionAddressProviderValues returns an array of possible values for the SessionAddressProvider const type. +func PossibleSessionAddressProviderValues() []SessionAddressProvider { + return []SessionAddressProvider{Microsoft, Peer} +} + // SessionStateV4 enumerates the values for session state v4. type SessionStateV4 string @@ -140,6 +221,8 @@ const ( SessionStateV4None SessionStateV4 = "None" // SessionStateV4OpenConfirm ... SessionStateV4OpenConfirm SessionStateV4 = "OpenConfirm" + // SessionStateV4OpenReceived ... + SessionStateV4OpenReceived SessionStateV4 = "OpenReceived" // SessionStateV4OpenSent ... SessionStateV4OpenSent SessionStateV4 = "OpenSent" // SessionStateV4PendingAdd ... @@ -152,7 +235,7 @@ const ( // PossibleSessionStateV4Values returns an array of possible values for the SessionStateV4 const type. func PossibleSessionStateV4Values() []SessionStateV4 { - return []SessionStateV4{SessionStateV4Active, SessionStateV4Connect, SessionStateV4Established, SessionStateV4Idle, SessionStateV4None, SessionStateV4OpenConfirm, SessionStateV4OpenSent, SessionStateV4PendingAdd, SessionStateV4PendingRemove, SessionStateV4PendingUpdate} + return []SessionStateV4{SessionStateV4Active, SessionStateV4Connect, SessionStateV4Established, SessionStateV4Idle, SessionStateV4None, SessionStateV4OpenConfirm, SessionStateV4OpenReceived, SessionStateV4OpenSent, SessionStateV4PendingAdd, SessionStateV4PendingRemove, SessionStateV4PendingUpdate} } // SessionStateV6 enumerates the values for session state v6. @@ -171,6 +254,8 @@ const ( SessionStateV6None SessionStateV6 = "None" // SessionStateV6OpenConfirm ... SessionStateV6OpenConfirm SessionStateV6 = "OpenConfirm" + // SessionStateV6OpenReceived ... + SessionStateV6OpenReceived SessionStateV6 = "OpenReceived" // SessionStateV6OpenSent ... SessionStateV6OpenSent SessionStateV6 = "OpenSent" // SessionStateV6PendingAdd ... @@ -183,7 +268,7 @@ const ( // PossibleSessionStateV6Values returns an array of possible values for the SessionStateV6 const type. func PossibleSessionStateV6Values() []SessionStateV6 { - return []SessionStateV6{SessionStateV6Active, SessionStateV6Connect, SessionStateV6Established, SessionStateV6Idle, SessionStateV6None, SessionStateV6OpenConfirm, SessionStateV6OpenSent, SessionStateV6PendingAdd, SessionStateV6PendingRemove, SessionStateV6PendingUpdate} + return []SessionStateV6{SessionStateV6Active, SessionStateV6Connect, SessionStateV6Established, SessionStateV6Idle, SessionStateV6None, SessionStateV6OpenConfirm, SessionStateV6OpenReceived, SessionStateV6OpenSent, SessionStateV6PendingAdd, SessionStateV6PendingRemove, SessionStateV6PendingUpdate} } // Size enumerates the values for size. @@ -259,9 +344,9 @@ type BgpSession struct { PeerSessionIPv4Address *string `json:"peerSessionIPv4Address,omitempty"` // PeerSessionIPv6Address - The IPv6 session address on peer's end. PeerSessionIPv6Address *string `json:"peerSessionIPv6Address,omitempty"` - // SessionStateV4 - READ-ONLY; The state of the IPv4 session. Possible values include: 'SessionStateV4None', 'SessionStateV4Idle', 'SessionStateV4Connect', 'SessionStateV4Active', 'SessionStateV4OpenSent', 'SessionStateV4OpenConfirm', 'SessionStateV4Established', 'SessionStateV4PendingAdd', 'SessionStateV4PendingUpdate', 'SessionStateV4PendingRemove' + // SessionStateV4 - READ-ONLY; The state of the IPv4 session. Possible values include: 'SessionStateV4None', 'SessionStateV4Idle', 'SessionStateV4Connect', 'SessionStateV4Active', 'SessionStateV4OpenSent', 'SessionStateV4OpenConfirm', 'SessionStateV4OpenReceived', 'SessionStateV4Established', 'SessionStateV4PendingAdd', 'SessionStateV4PendingUpdate', 'SessionStateV4PendingRemove' SessionStateV4 SessionStateV4 `json:"sessionStateV4,omitempty"` - // SessionStateV6 - READ-ONLY; The state of the IPv6 session. Possible values include: 'SessionStateV6None', 'SessionStateV6Idle', 'SessionStateV6Connect', 'SessionStateV6Active', 'SessionStateV6OpenSent', 'SessionStateV6OpenConfirm', 'SessionStateV6Established', 'SessionStateV6PendingAdd', 'SessionStateV6PendingUpdate', 'SessionStateV6PendingRemove' + // SessionStateV6 - READ-ONLY; The state of the IPv6 session. Possible values include: 'SessionStateV6None', 'SessionStateV6Idle', 'SessionStateV6Connect', 'SessionStateV6Active', 'SessionStateV6OpenSent', 'SessionStateV6OpenConfirm', 'SessionStateV6OpenReceived', 'SessionStateV6Established', 'SessionStateV6PendingAdd', 'SessionStateV6PendingUpdate', 'SessionStateV6PendingRemove' SessionStateV6 SessionStateV6 `json:"sessionStateV6,omitempty"` // MaxPrefixesAdvertisedV4 - The maximum number of prefixes advertised over the IPv4 session. MaxPrefixesAdvertisedV4 *int32 `json:"maxPrefixesAdvertisedV4,omitempty"` @@ -271,6 +356,14 @@ type BgpSession struct { Md5AuthenticationKey *string `json:"md5AuthenticationKey,omitempty"` } +// CheckServiceProviderAvailabilityInput class for CheckServiceProviderAvailabilityInput +type CheckServiceProviderAvailabilityInput struct { + // PeeringServiceLocation - Gets or sets the PeeringServiceLocation + PeeringServiceLocation *string `json:"peeringServiceLocation,omitempty"` + // PeeringServiceProvider - Gets or sets the PeeringServiceProvider + PeeringServiceProvider *string `json:"peeringServiceProvider,omitempty"` +} + // ContactInfo the contact information of the peer. type ContactInfo struct { // Emails - The list of email addresses. @@ -283,20 +376,30 @@ type ContactInfo struct { type DirectConnection struct { // BandwidthInMbps - The bandwidth of the connection. BandwidthInMbps *int32 `json:"bandwidthInMbps,omitempty"` - // ProvisionedBandwidthInMbps - The bandwidth that is actually provisioned. + // ProvisionedBandwidthInMbps - READ-ONLY; The bandwidth that is actually provisioned. ProvisionedBandwidthInMbps *int32 `json:"provisionedBandwidthInMbps,omitempty"` + // SessionAddressProvider - The field indicating if Microsoft provides session ip addresses. Possible values include: 'Microsoft', 'Peer' + SessionAddressProvider SessionAddressProvider `json:"sessionAddressProvider,omitempty"` + // UseForPeeringService - The flag that indicates whether or not the connection is used for peering service. + UseForPeeringService *bool `json:"useForPeeringService,omitempty"` // PeeringDBFacilityID - The PeeringDB.com ID of the facility at which the connection has to be set up. PeeringDBFacilityID *int32 `json:"peeringDBFacilityId,omitempty"` // ConnectionState - READ-ONLY; The state of the connection. Possible values include: 'None', 'PendingApproval', 'Approved', 'ProvisioningStarted', 'ProvisioningFailed', 'ProvisioningCompleted', 'Validating', 'Active' ConnectionState ConnectionState `json:"connectionState,omitempty"` // BgpSession - The BGP session associated with the connection. BgpSession *BgpSession `json:"bgpSession,omitempty"` + // ConnectionIdentifier - The unique identifier (GUID) for the connection. + ConnectionIdentifier *string `json:"connectionIdentifier,omitempty"` + // ErrorMessage - READ-ONLY; The error message related to the connection state, if any. + ErrorMessage *string `json:"errorMessage,omitempty"` } // DirectPeeringFacility the properties that define a direct peering facility. type DirectPeeringFacility struct { // Address - The address of the direct peering facility. Address *string `json:"address,omitempty"` + // DirectPeeringType - The type of the direct peering. Possible values include: 'Edge', 'Transit', 'Cdn', 'Internal' + DirectPeeringType DirectPeeringType `json:"directPeeringType,omitempty"` // PeeringDBFacilityID - The PeeringDB.com ID of the facility. PeeringDBFacilityID *int32 `json:"peeringDBFacilityId,omitempty"` // PeeringDBFacilityLink - The PeeringDB.com URL of the facility. @@ -319,6 +422,10 @@ type ExchangeConnection struct { ConnectionState ConnectionState `json:"connectionState,omitempty"` // BgpSession - The BGP session associated with the connection. BgpSession *BgpSession `json:"bgpSession,omitempty"` + // ConnectionIdentifier - The unique identifier (GUID) for the connection. + ConnectionIdentifier *string `json:"connectionIdentifier,omitempty"` + // ErrorMessage - READ-ONLY; The error message related to the connection state, if any. + ErrorMessage *string `json:"errorMessage,omitempty"` } // ExchangePeeringFacility the properties that define an exchange peering facility. @@ -1274,6 +1381,8 @@ type PeerAsnProperties struct { PeerName *string `json:"peerName,omitempty"` // ValidationState - The validation state of the ASN associated with the peer. Possible values include: 'ValidationStateNone', 'ValidationStatePending', 'ValidationStateApproved', 'ValidationStateFailed' ValidationState ValidationState `json:"validationState,omitempty"` + // ErrorMessage - READ-ONLY; The error message for the validation state + ErrorMessage *string `json:"errorMessage,omitempty"` } // Properties the properties that define connectivity to the Microsoft Cloud Edge. @@ -1292,10 +1401,12 @@ type Properties struct { type PropertiesDirect struct { // Connections - The set of connections that constitute a direct peering. Connections *[]DirectConnection `json:"connections,omitempty"` - // UseForPeeringService - The flag that indicates whether or not the peering is used for peering service. + // UseForPeeringService - READ-ONLY; The flag that indicates whether or not the peering is used for peering service. UseForPeeringService *bool `json:"useForPeeringService,omitempty"` // PeerAsn - The reference of the peer ASN. PeerAsn *SubResource `json:"peerAsn,omitempty"` + // DirectPeeringType - The type of direct peering. Possible values include: 'Edge', 'Transit', 'Cdn', 'Internal' + DirectPeeringType DirectPeeringType `json:"directPeeringType,omitempty"` } // PropertiesExchange the properties that define an exchange peering. @@ -1331,16 +1442,981 @@ func (rt ResourceTags) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } -// Sku the SKU that defines the tier and kind of the peering. -type Sku struct { - // Name - The name of the peering SKU. Possible values include: 'BasicExchangeFree', 'BasicDirectFree', 'PremiumDirectFree', 'PremiumExchangeMetered' - Name Name `json:"name,omitempty"` - // Tier - The tier of the peering SKU. Possible values include: 'Basic', 'Premium' - Tier Tier `json:"tier,omitempty"` - // Family - The family of the peering SKU. Possible values include: 'Direct', 'Exchange' - Family Family `json:"family,omitempty"` - // Size - The size of the peering SKU. Possible values include: 'Free', 'Metered', 'Unlimited' - Size Size `json:"size,omitempty"` +// Service peering Service +type Service struct { + autorest.Response `json:"-"` + // ServiceProperties - The properties that define a peering service. + *ServiceProperties `json:"properties,omitempty"` + // Location - The location of the resource. + Location *string `json:"location,omitempty"` + // Tags - The resource tags. + Tags map[string]*string `json:"tags"` + // Name - READ-ONLY; The name of the resource. + Name *string `json:"name,omitempty"` + // ID - READ-ONLY; The ID of the resource. + ID *string `json:"id,omitempty"` + // Type - READ-ONLY; The type of the resource. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for Service. +func (s Service) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if s.ServiceProperties != nil { + objectMap["properties"] = s.ServiceProperties + } + if s.Location != nil { + objectMap["location"] = s.Location + } + if s.Tags != nil { + objectMap["tags"] = s.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for Service struct. +func (s *Service) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var serviceProperties ServiceProperties + err = json.Unmarshal(*v, &serviceProperties) + if err != nil { + return err + } + s.ServiceProperties = &serviceProperties + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + s.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + s.Tags = tags + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + s.Name = &name + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + s.ID = &ID + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + s.Type = &typeVar + } + } + } + + return nil +} + +// ServiceListResult the paginated list of peering services. +type ServiceListResult struct { + autorest.Response `json:"-"` + // Value - The list of peering services. + Value *[]Service `json:"value,omitempty"` + // NextLink - The link to fetch the next page of peering services. + NextLink *string `json:"nextLink,omitempty"` +} + +// ServiceListResultIterator provides access to a complete listing of Service values. +type ServiceListResultIterator struct { + i int + page ServiceListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *ServiceListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServiceListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *ServiceListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter ServiceListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter ServiceListResultIterator) Response() ServiceListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter ServiceListResultIterator) Value() Service { + if !iter.page.NotDone() { + return Service{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the ServiceListResultIterator type. +func NewServiceListResultIterator(page ServiceListResultPage) ServiceListResultIterator { + return ServiceListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (slr ServiceListResult) IsEmpty() bool { + return slr.Value == nil || len(*slr.Value) == 0 +} + +// serviceListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (slr ServiceListResult) serviceListResultPreparer(ctx context.Context) (*http.Request, error) { + if slr.NextLink == nil || len(to.String(slr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(slr.NextLink))) +} + +// ServiceListResultPage contains a page of Service values. +type ServiceListResultPage struct { + fn func(context.Context, ServiceListResult) (ServiceListResult, error) + slr ServiceListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *ServiceListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServiceListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.slr) + if err != nil { + return err + } + page.slr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *ServiceListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page ServiceListResultPage) NotDone() bool { + return !page.slr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page ServiceListResultPage) Response() ServiceListResult { + return page.slr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page ServiceListResultPage) Values() []Service { + if page.slr.IsEmpty() { + return nil + } + return *page.slr.Value +} + +// Creates a new instance of the ServiceListResultPage type. +func NewServiceListResultPage(getNextPage func(context.Context, ServiceListResult) (ServiceListResult, error)) ServiceListResultPage { + return ServiceListResultPage{fn: getNextPage} +} + +// ServiceLocation peeringService location +type ServiceLocation struct { + // ServiceLocationProperties - The properties that define a peering service location. + *ServiceLocationProperties `json:"properties,omitempty"` + // Name - READ-ONLY; The name of the resource. + Name *string `json:"name,omitempty"` + // ID - READ-ONLY; The ID of the resource. + ID *string `json:"id,omitempty"` + // Type - READ-ONLY; The type of the resource. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for ServiceLocation. +func (sl ServiceLocation) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if sl.ServiceLocationProperties != nil { + objectMap["properties"] = sl.ServiceLocationProperties + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ServiceLocation struct. +func (sl *ServiceLocation) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var serviceLocationProperties ServiceLocationProperties + err = json.Unmarshal(*v, &serviceLocationProperties) + if err != nil { + return err + } + sl.ServiceLocationProperties = &serviceLocationProperties + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + sl.Name = &name + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + sl.ID = &ID + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + sl.Type = &typeVar + } + } + } + + return nil +} + +// ServiceLocationListResult the paginated list of peering service locations. +type ServiceLocationListResult struct { + autorest.Response `json:"-"` + // Value - The list of peering service locations. + Value *[]ServiceLocation `json:"value,omitempty"` + // NextLink - The link to fetch the next page of peering service locations. + NextLink *string `json:"nextLink,omitempty"` +} + +// ServiceLocationListResultIterator provides access to a complete listing of ServiceLocation values. +type ServiceLocationListResultIterator struct { + i int + page ServiceLocationListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *ServiceLocationListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServiceLocationListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *ServiceLocationListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter ServiceLocationListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter ServiceLocationListResultIterator) Response() ServiceLocationListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter ServiceLocationListResultIterator) Value() ServiceLocation { + if !iter.page.NotDone() { + return ServiceLocation{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the ServiceLocationListResultIterator type. +func NewServiceLocationListResultIterator(page ServiceLocationListResultPage) ServiceLocationListResultIterator { + return ServiceLocationListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (sllr ServiceLocationListResult) IsEmpty() bool { + return sllr.Value == nil || len(*sllr.Value) == 0 +} + +// serviceLocationListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (sllr ServiceLocationListResult) serviceLocationListResultPreparer(ctx context.Context) (*http.Request, error) { + if sllr.NextLink == nil || len(to.String(sllr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(sllr.NextLink))) +} + +// ServiceLocationListResultPage contains a page of ServiceLocation values. +type ServiceLocationListResultPage struct { + fn func(context.Context, ServiceLocationListResult) (ServiceLocationListResult, error) + sllr ServiceLocationListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *ServiceLocationListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServiceLocationListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.sllr) + if err != nil { + return err + } + page.sllr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *ServiceLocationListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page ServiceLocationListResultPage) NotDone() bool { + return !page.sllr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page ServiceLocationListResultPage) Response() ServiceLocationListResult { + return page.sllr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page ServiceLocationListResultPage) Values() []ServiceLocation { + if page.sllr.IsEmpty() { + return nil + } + return *page.sllr.Value +} + +// Creates a new instance of the ServiceLocationListResultPage type. +func NewServiceLocationListResultPage(getNextPage func(context.Context, ServiceLocationListResult) (ServiceLocationListResult, error)) ServiceLocationListResultPage { + return ServiceLocationListResultPage{fn: getNextPage} +} + +// ServiceLocationProperties the properties that define connectivity to the Peering Service Location. +type ServiceLocationProperties struct { + // Country - Country of the customer + Country *string `json:"country,omitempty"` + // State - State of the customer + State *string `json:"state,omitempty"` + // AzureRegion - Azure region for the location + AzureRegion *string `json:"azureRegion,omitempty"` +} + +// ServicePrefix the peering service prefix class. +type ServicePrefix struct { + autorest.Response `json:"-"` + // ServicePrefixProperties - Gets or sets the peering prefix properties. + *ServicePrefixProperties `json:"properties,omitempty"` + // Name - READ-ONLY; The name of the resource. + Name *string `json:"name,omitempty"` + // ID - READ-ONLY; The ID of the resource. + ID *string `json:"id,omitempty"` + // Type - READ-ONLY; The type of the resource. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for ServicePrefix. +func (sp ServicePrefix) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if sp.ServicePrefixProperties != nil { + objectMap["properties"] = sp.ServicePrefixProperties + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ServicePrefix struct. +func (sp *ServicePrefix) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var servicePrefixProperties ServicePrefixProperties + err = json.Unmarshal(*v, &servicePrefixProperties) + if err != nil { + return err + } + sp.ServicePrefixProperties = &servicePrefixProperties + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + sp.Name = &name + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + sp.ID = &ID + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + sp.Type = &typeVar + } + } + } + + return nil +} + +// ServicePrefixEvent the details of the event associated with a prefix. +type ServicePrefixEvent struct { + // EventTimestamp - READ-ONLY; The timestamp of the event associated with a prefix. + EventTimestamp *date.Time `json:"eventTimestamp,omitempty"` + // EventType - READ-ONLY; The type of the event associated with a prefix. + EventType *string `json:"eventType,omitempty"` + // EventSummary - READ-ONLY; The summary of the event associated with a prefix. + EventSummary *string `json:"eventSummary,omitempty"` + // EventLevel - READ-ONLY; The level of the event associated with a prefix. + EventLevel *string `json:"eventLevel,omitempty"` + // EventDescription - READ-ONLY; The description of the event associated with a prefix. + EventDescription *string `json:"eventDescription,omitempty"` +} + +// ServicePrefixListResult the paginated list of peering service prefixes. +type ServicePrefixListResult struct { + autorest.Response `json:"-"` + // Value - The list of peering service prefixes. + Value *[]ServicePrefix `json:"value,omitempty"` + // NextLink - The link to fetch the next page of peering service prefixes. + NextLink *string `json:"nextLink,omitempty"` +} + +// ServicePrefixListResultIterator provides access to a complete listing of ServicePrefix values. +type ServicePrefixListResultIterator struct { + i int + page ServicePrefixListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *ServicePrefixListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServicePrefixListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *ServicePrefixListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter ServicePrefixListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter ServicePrefixListResultIterator) Response() ServicePrefixListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter ServicePrefixListResultIterator) Value() ServicePrefix { + if !iter.page.NotDone() { + return ServicePrefix{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the ServicePrefixListResultIterator type. +func NewServicePrefixListResultIterator(page ServicePrefixListResultPage) ServicePrefixListResultIterator { + return ServicePrefixListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (splr ServicePrefixListResult) IsEmpty() bool { + return splr.Value == nil || len(*splr.Value) == 0 +} + +// servicePrefixListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (splr ServicePrefixListResult) servicePrefixListResultPreparer(ctx context.Context) (*http.Request, error) { + if splr.NextLink == nil || len(to.String(splr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(splr.NextLink))) +} + +// ServicePrefixListResultPage contains a page of ServicePrefix values. +type ServicePrefixListResultPage struct { + fn func(context.Context, ServicePrefixListResult) (ServicePrefixListResult, error) + splr ServicePrefixListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *ServicePrefixListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServicePrefixListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.splr) + if err != nil { + return err + } + page.splr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *ServicePrefixListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page ServicePrefixListResultPage) NotDone() bool { + return !page.splr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page ServicePrefixListResultPage) Response() ServicePrefixListResult { + return page.splr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page ServicePrefixListResultPage) Values() []ServicePrefix { + if page.splr.IsEmpty() { + return nil + } + return *page.splr.Value +} + +// Creates a new instance of the ServicePrefixListResultPage type. +func NewServicePrefixListResultPage(getNextPage func(context.Context, ServicePrefixListResult) (ServicePrefixListResult, error)) ServicePrefixListResultPage { + return ServicePrefixListResultPage{fn: getNextPage} +} + +// ServicePrefixProperties the peering service prefix properties class. +type ServicePrefixProperties struct { + // Prefix - The prefix from which your traffic originates. + Prefix *string `json:"prefix,omitempty"` + // PrefixValidationState - READ-ONLY; The prefix validation state. Possible values include: 'PrefixValidationStateNone', 'PrefixValidationStateInvalid', 'PrefixValidationStateVerified', 'PrefixValidationStateFailed', 'PrefixValidationStatePending', 'PrefixValidationStateWarning', 'PrefixValidationStateUnknown' + PrefixValidationState PrefixValidationState `json:"prefixValidationState,omitempty"` + // LearnedType - READ-ONLY; The prefix learned type. Possible values include: 'LearnedTypeNone', 'LearnedTypeViaServiceProvider', 'LearnedTypeViaSession' + LearnedType LearnedType `json:"learnedType,omitempty"` + // ErrorMessage - READ-ONLY; The error message for validation state + ErrorMessage *string `json:"errorMessage,omitempty"` + // Events - READ-ONLY; The list of events for peering service prefix + Events *[]ServicePrefixEvent `json:"events,omitempty"` + // ProvisioningState - READ-ONLY; The provisioning state of the resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// ServiceProperties the properties that define connectivity to the Peering Service. +type ServiceProperties struct { + // PeeringServiceLocation - The PeeringServiceLocation of the Customer. + PeeringServiceLocation *string `json:"peeringServiceLocation,omitempty"` + // PeeringServiceProvider - The MAPS Provider Name. + PeeringServiceProvider *string `json:"peeringServiceProvider,omitempty"` + // ProvisioningState - READ-ONLY; The provisioning state of the resource. Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// ServiceProvider peeringService provider +type ServiceProvider struct { + // ServiceProviderProperties - The properties that define a peering service provider. + *ServiceProviderProperties `json:"properties,omitempty"` + // Name - READ-ONLY; The name of the resource. + Name *string `json:"name,omitempty"` + // ID - READ-ONLY; The ID of the resource. + ID *string `json:"id,omitempty"` + // Type - READ-ONLY; The type of the resource. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for ServiceProvider. +func (sp ServiceProvider) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if sp.ServiceProviderProperties != nil { + objectMap["properties"] = sp.ServiceProviderProperties + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ServiceProvider struct. +func (sp *ServiceProvider) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var serviceProviderProperties ServiceProviderProperties + err = json.Unmarshal(*v, &serviceProviderProperties) + if err != nil { + return err + } + sp.ServiceProviderProperties = &serviceProviderProperties + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + sp.Name = &name + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + sp.ID = &ID + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + sp.Type = &typeVar + } + } + } + + return nil +} + +// ServiceProviderListResult the paginated list of peering service providers. +type ServiceProviderListResult struct { + autorest.Response `json:"-"` + // Value - The list of peering service providers. + Value *[]ServiceProvider `json:"value,omitempty"` + // NextLink - The link to fetch the next page of peering service providers. + NextLink *string `json:"nextLink,omitempty"` +} + +// ServiceProviderListResultIterator provides access to a complete listing of ServiceProvider values. +type ServiceProviderListResultIterator struct { + i int + page ServiceProviderListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *ServiceProviderListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServiceProviderListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *ServiceProviderListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter ServiceProviderListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter ServiceProviderListResultIterator) Response() ServiceProviderListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter ServiceProviderListResultIterator) Value() ServiceProvider { + if !iter.page.NotDone() { + return ServiceProvider{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the ServiceProviderListResultIterator type. +func NewServiceProviderListResultIterator(page ServiceProviderListResultPage) ServiceProviderListResultIterator { + return ServiceProviderListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (splr ServiceProviderListResult) IsEmpty() bool { + return splr.Value == nil || len(*splr.Value) == 0 +} + +// serviceProviderListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (splr ServiceProviderListResult) serviceProviderListResultPreparer(ctx context.Context) (*http.Request, error) { + if splr.NextLink == nil || len(to.String(splr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(splr.NextLink))) +} + +// ServiceProviderListResultPage contains a page of ServiceProvider values. +type ServiceProviderListResultPage struct { + fn func(context.Context, ServiceProviderListResult) (ServiceProviderListResult, error) + splr ServiceProviderListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *ServiceProviderListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServiceProviderListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.splr) + if err != nil { + return err + } + page.splr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *ServiceProviderListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page ServiceProviderListResultPage) NotDone() bool { + return !page.splr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page ServiceProviderListResultPage) Response() ServiceProviderListResult { + return page.splr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page ServiceProviderListResultPage) Values() []ServiceProvider { + if page.splr.IsEmpty() { + return nil + } + return *page.splr.Value +} + +// Creates a new instance of the ServiceProviderListResultPage type. +func NewServiceProviderListResultPage(getNextPage func(context.Context, ServiceProviderListResult) (ServiceProviderListResult, error)) ServiceProviderListResultPage { + return ServiceProviderListResultPage{fn: getNextPage} +} + +// ServiceProviderProperties the properties that define connectivity to the Peering Service Provider. +type ServiceProviderProperties struct { + // ServiceProviderName - The name of the service provider. + ServiceProviderName *string `json:"serviceProviderName,omitempty"` +} + +// Sku the SKU that defines the tier and kind of the peering. +type Sku struct { + // Name - The name of the peering SKU. Possible values include: 'BasicExchangeFree', 'BasicDirectFree', 'PremiumDirectFree', 'PremiumExchangeMetered', 'PremiumDirectMetered', 'PremiumDirectUnlimited' + Name Name `json:"name,omitempty"` + // Tier - The tier of the peering SKU. Possible values include: 'Basic', 'Premium' + Tier Tier `json:"tier,omitempty"` + // Family - The family of the peering SKU. Possible values include: 'Direct', 'Exchange' + Family Family `json:"family,omitempty"` + // Size - The size of the peering SKU. Possible values include: 'Free', 'Metered', 'Unlimited' + Size Size `json:"size,omitempty"` +} + +// String ... +type String struct { + autorest.Response `json:"-"` + // Value - Possible values include: 'Available', 'Unavailable' + Value *string `json:"value,omitempty"` } // SubResource the sub resource. diff --git a/services/preview/peering/mgmt/2019-03-01-preview/peering/operations.go b/services/preview/peering/mgmt/2019-09-01-preview/peering/operations.go similarity index 97% rename from services/preview/peering/mgmt/2019-03-01-preview/peering/operations.go rename to services/preview/peering/mgmt/2019-09-01-preview/peering/operations.go index b3289d3229f7..ae4324c7426a 100644 --- a/services/preview/peering/mgmt/2019-03-01-preview/peering/operations.go +++ b/services/preview/peering/mgmt/2019-09-01-preview/peering/operations.go @@ -25,7 +25,7 @@ import ( "net/http" ) -// OperationsClient is the aPIs to manage Peering resources through the Azure Resource Manager. +// OperationsClient is the peering Client type OperationsClient struct { BaseClient } @@ -76,7 +76,7 @@ func (client OperationsClient) List(ctx context.Context) (result OperationListRe // ListPreparer prepares the List request. func (client OperationsClient) ListPreparer(ctx context.Context) (*http.Request, error) { - const APIVersion = "2019-03-01-preview" + const APIVersion = "2019-09-01-preview" queryParameters := map[string]interface{}{ "api-version": APIVersion, } diff --git a/services/preview/peering/mgmt/2019-03-01-preview/peering/peerasns.go b/services/preview/peering/mgmt/2019-09-01-preview/peering/peerasns.go similarity index 98% rename from services/preview/peering/mgmt/2019-03-01-preview/peering/peerasns.go rename to services/preview/peering/mgmt/2019-09-01-preview/peering/peerasns.go index 65a17567fdfc..14a5e258bd16 100644 --- a/services/preview/peering/mgmt/2019-03-01-preview/peering/peerasns.go +++ b/services/preview/peering/mgmt/2019-09-01-preview/peering/peerasns.go @@ -25,7 +25,7 @@ import ( "net/http" ) -// PeerAsnsClient is the aPIs to manage Peering resources through the Azure Resource Manager. +// PeerAsnsClient is the peering Client type PeerAsnsClient struct { BaseClient } @@ -84,7 +84,7 @@ func (client PeerAsnsClient) CreateOrUpdatePreparer(ctx context.Context, peerAsn "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2019-03-01-preview" + const APIVersion = "2019-09-01-preview" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -161,7 +161,7 @@ func (client PeerAsnsClient) DeletePreparer(ctx context.Context, peerAsnName str "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2019-03-01-preview" + const APIVersion = "2019-09-01-preview" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -235,7 +235,7 @@ func (client PeerAsnsClient) GetPreparer(ctx context.Context, peerAsnName string "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2019-03-01-preview" + const APIVersion = "2019-09-01-preview" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -308,7 +308,7 @@ func (client PeerAsnsClient) ListBySubscriptionPreparer(ctx context.Context) (*h "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2019-03-01-preview" + const APIVersion = "2019-09-01-preview" queryParameters := map[string]interface{}{ "api-version": APIVersion, } diff --git a/services/preview/peering/mgmt/2019-03-01-preview/peering/peeringapi/interfaces.go b/services/preview/peering/mgmt/2019-09-01-preview/peering/peeringapi/interfaces.go similarity index 52% rename from services/preview/peering/mgmt/2019-03-01-preview/peering/peeringapi/interfaces.go rename to services/preview/peering/mgmt/2019-09-01-preview/peering/peeringapi/interfaces.go index d25356b6f951..f88926bfe4eb 100644 --- a/services/preview/peering/mgmt/2019-03-01-preview/peering/peeringapi/interfaces.go +++ b/services/preview/peering/mgmt/2019-09-01-preview/peering/peeringapi/interfaces.go @@ -19,10 +19,17 @@ package peeringapi import ( "context" - "github.com/Azure/azure-sdk-for-go/services/preview/peering/mgmt/2019-03-01-preview/peering" + "github.com/Azure/azure-sdk-for-go/services/preview/peering/mgmt/2019-09-01-preview/peering" "github.com/Azure/go-autorest/autorest" ) +// BaseClientAPI contains the set of methods on the BaseClient type. +type BaseClientAPI interface { + CheckServiceProviderAvailability(ctx context.Context, checkServiceProviderAvailabilityInput peering.CheckServiceProviderAvailabilityInput) (result peering.String, err error) +} + +var _ BaseClientAPI = (*peering.BaseClient)(nil) + // LegacyPeeringsClientAPI contains the set of methods on the LegacyPeeringsClient type. type LegacyPeeringsClientAPI interface { List(ctx context.Context, peeringLocation string, kind string) (result peering.ListResultPage, err error) @@ -49,7 +56,7 @@ var _ PeerAsnsClientAPI = (*peering.PeerAsnsClient)(nil) // LocationsClientAPI contains the set of methods on the LocationsClient type. type LocationsClientAPI interface { - List(ctx context.Context, kind string) (result peering.LocationListResultPage, err error) + List(ctx context.Context, kind string, directPeeringType string) (result peering.LocationListResultPage, err error) } var _ LocationsClientAPI = (*peering.LocationsClient)(nil) @@ -65,3 +72,39 @@ type PeeringsClientAPI interface { } var _ PeeringsClientAPI = (*peering.PeeringsClient)(nil) + +// ServiceLocationsClientAPI contains the set of methods on the ServiceLocationsClient type. +type ServiceLocationsClientAPI interface { + List(ctx context.Context) (result peering.ServiceLocationListResultPage, err error) +} + +var _ ServiceLocationsClientAPI = (*peering.ServiceLocationsClient)(nil) + +// PrefixesClientAPI contains the set of methods on the PrefixesClient type. +type PrefixesClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, peeringServiceName string, prefixName string, peeringServicePrefix peering.ServicePrefix) (result peering.ServicePrefix, err error) + Delete(ctx context.Context, resourceGroupName string, peeringServiceName string, prefixName string) (result autorest.Response, err error) + Get(ctx context.Context, resourceGroupName string, peeringServiceName string, prefixName string, expand string) (result peering.ServicePrefix, err error) + ListByPeeringService(ctx context.Context, resourceGroupName string, peeringServiceName string, expand string) (result peering.ServicePrefixListResultPage, err error) +} + +var _ PrefixesClientAPI = (*peering.PrefixesClient)(nil) + +// ServiceProvidersClientAPI contains the set of methods on the ServiceProvidersClient type. +type ServiceProvidersClientAPI interface { + List(ctx context.Context) (result peering.ServiceProviderListResultPage, err error) +} + +var _ ServiceProvidersClientAPI = (*peering.ServiceProvidersClient)(nil) + +// ServicesClientAPI contains the set of methods on the ServicesClient type. +type ServicesClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, peeringServiceName string, peeringService peering.Service) (result peering.Service, err error) + Delete(ctx context.Context, resourceGroupName string, peeringServiceName string) (result autorest.Response, err error) + Get(ctx context.Context, resourceGroupName string, peeringServiceName string) (result peering.Service, err error) + ListByResourceGroup(ctx context.Context, resourceGroupName string) (result peering.ServiceListResultPage, err error) + ListBySubscription(ctx context.Context) (result peering.ServiceListResultPage, err error) + Update(ctx context.Context, resourceGroupName string, peeringServiceName string, tags peering.ResourceTags) (result peering.Service, err error) +} + +var _ ServicesClientAPI = (*peering.ServicesClient)(nil) diff --git a/services/preview/peering/mgmt/2019-03-01-preview/peering/peerings.go b/services/preview/peering/mgmt/2019-09-01-preview/peering/peerings.go similarity index 98% rename from services/preview/peering/mgmt/2019-03-01-preview/peering/peerings.go rename to services/preview/peering/mgmt/2019-09-01-preview/peering/peerings.go index 9211239a343e..c2906422fc11 100644 --- a/services/preview/peering/mgmt/2019-03-01-preview/peering/peerings.go +++ b/services/preview/peering/mgmt/2019-09-01-preview/peering/peerings.go @@ -26,7 +26,7 @@ import ( "net/http" ) -// PeeringsClient is the aPIs to manage Peering resources through the Azure Resource Manager. +// PeeringsClient is the peering Client type PeeringsClient struct { BaseClient } @@ -94,7 +94,7 @@ func (client PeeringsClient) CreateOrUpdatePreparer(ctx context.Context, resourc "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2019-03-01-preview" + const APIVersion = "2019-09-01-preview" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -173,7 +173,7 @@ func (client PeeringsClient) DeletePreparer(ctx context.Context, resourceGroupNa "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2019-03-01-preview" + const APIVersion = "2019-09-01-preview" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -249,7 +249,7 @@ func (client PeeringsClient) GetPreparer(ctx context.Context, resourceGroupName "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2019-03-01-preview" + const APIVersion = "2019-09-01-preview" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -325,7 +325,7 @@ func (client PeeringsClient) ListByResourceGroupPreparer(ctx context.Context, re "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2019-03-01-preview" + const APIVersion = "2019-09-01-preview" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -435,7 +435,7 @@ func (client PeeringsClient) ListBySubscriptionPreparer(ctx context.Context) (*h "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2019-03-01-preview" + const APIVersion = "2019-09-01-preview" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -550,7 +550,7 @@ func (client PeeringsClient) UpdatePreparer(ctx context.Context, resourceGroupNa "subscriptionId": autorest.Encode("path", client.SubscriptionID), } - const APIVersion = "2019-03-01-preview" + const APIVersion = "2019-09-01-preview" queryParameters := map[string]interface{}{ "api-version": APIVersion, } diff --git a/services/preview/peering/mgmt/2019-09-01-preview/peering/prefixes.go b/services/preview/peering/mgmt/2019-09-01-preview/peering/prefixes.go new file mode 100644 index 000000000000..601d96cb54e6 --- /dev/null +++ b/services/preview/peering/mgmt/2019-09-01-preview/peering/prefixes.go @@ -0,0 +1,406 @@ +package peering + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// PrefixesClient is the peering Client +type PrefixesClient struct { + BaseClient +} + +// NewPrefixesClient creates an instance of the PrefixesClient client. +func NewPrefixesClient(subscriptionID string) PrefixesClient { + return NewPrefixesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewPrefixesClientWithBaseURI creates an instance of the PrefixesClient client. +func NewPrefixesClientWithBaseURI(baseURI string, subscriptionID string) PrefixesClient { + return PrefixesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates a new prefix with the specified name under the given subscription, resource group and peering +// service. +// Parameters: +// resourceGroupName - the name of the resource group. +// peeringServiceName - the name of the peering service. +// prefixName - the name of the prefix. +// peeringServicePrefix - the properties needed to create a prefix. +func (client PrefixesClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, peeringServiceName string, prefixName string, peeringServicePrefix ServicePrefix) (result ServicePrefix, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PrefixesClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, peeringServiceName, prefixName, peeringServicePrefix) + if err != nil { + err = autorest.NewErrorWithError(err, "peering.PrefixesClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "peering.PrefixesClient", "CreateOrUpdate", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "peering.PrefixesClient", "CreateOrUpdate", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client PrefixesClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, peeringServiceName string, prefixName string, peeringServicePrefix ServicePrefix) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "peeringServiceName": autorest.Encode("path", peeringServiceName), + "prefixName": autorest.Encode("path", prefixName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-09-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peeringServices/{peeringServiceName}/prefixes/{prefixName}", pathParameters), + autorest.WithJSON(peeringServicePrefix), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client PrefixesClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client PrefixesClient) CreateOrUpdateResponder(resp *http.Response) (result ServicePrefix, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes an existing prefix with the specified name under the given subscription, resource group and peering +// service. +// Parameters: +// resourceGroupName - the name of the resource group. +// peeringServiceName - the name of the peering service. +// prefixName - the name of the prefix. +func (client PrefixesClient) Delete(ctx context.Context, resourceGroupName string, peeringServiceName string, prefixName string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PrefixesClient.Delete") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, peeringServiceName, prefixName) + if err != nil { + err = autorest.NewErrorWithError(err, "peering.PrefixesClient", "Delete", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "peering.PrefixesClient", "Delete", resp, "Failure sending request") + return + } + + result, err = client.DeleteResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "peering.PrefixesClient", "Delete", resp, "Failure responding to request") + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client PrefixesClient) DeletePreparer(ctx context.Context, resourceGroupName string, peeringServiceName string, prefixName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "peeringServiceName": autorest.Encode("path", peeringServiceName), + "prefixName": autorest.Encode("path", prefixName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-09-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peeringServices/{peeringServiceName}/prefixes/{prefixName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client PrefixesClient) DeleteSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client PrefixesClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets an existing prefix with the specified name under the given subscription, resource group and peering +// service. +// Parameters: +// resourceGroupName - the name of the resource group. +// peeringServiceName - the name of the peering service. +// prefixName - the name of the prefix. +// expand - the properties to be expanded. +func (client PrefixesClient) Get(ctx context.Context, resourceGroupName string, peeringServiceName string, prefixName string, expand string) (result ServicePrefix, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PrefixesClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, peeringServiceName, prefixName, expand) + if err != nil { + err = autorest.NewErrorWithError(err, "peering.PrefixesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "peering.PrefixesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "peering.PrefixesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client PrefixesClient) GetPreparer(ctx context.Context, resourceGroupName string, peeringServiceName string, prefixName string, expand string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "peeringServiceName": autorest.Encode("path", peeringServiceName), + "prefixName": autorest.Encode("path", prefixName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-09-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(expand) > 0 { + queryParameters["$expand"] = autorest.Encode("query", expand) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peeringServices/{peeringServiceName}/prefixes/{prefixName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client PrefixesClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client PrefixesClient) GetResponder(resp *http.Response) (result ServicePrefix, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByPeeringService lists all prefixes under the given subscription, resource group and peering service. +// Parameters: +// resourceGroupName - the name of the resource group. +// peeringServiceName - the name of the peering service. +// expand - the properties to be expanded. +func (client PrefixesClient) ListByPeeringService(ctx context.Context, resourceGroupName string, peeringServiceName string, expand string) (result ServicePrefixListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PrefixesClient.ListByPeeringService") + defer func() { + sc := -1 + if result.splr.Response.Response != nil { + sc = result.splr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listByPeeringServiceNextResults + req, err := client.ListByPeeringServicePreparer(ctx, resourceGroupName, peeringServiceName, expand) + if err != nil { + err = autorest.NewErrorWithError(err, "peering.PrefixesClient", "ListByPeeringService", nil, "Failure preparing request") + return + } + + resp, err := client.ListByPeeringServiceSender(req) + if err != nil { + result.splr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "peering.PrefixesClient", "ListByPeeringService", resp, "Failure sending request") + return + } + + result.splr, err = client.ListByPeeringServiceResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "peering.PrefixesClient", "ListByPeeringService", resp, "Failure responding to request") + } + + return +} + +// ListByPeeringServicePreparer prepares the ListByPeeringService request. +func (client PrefixesClient) ListByPeeringServicePreparer(ctx context.Context, resourceGroupName string, peeringServiceName string, expand string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "peeringServiceName": autorest.Encode("path", peeringServiceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-09-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(expand) > 0 { + queryParameters["$expand"] = autorest.Encode("query", expand) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peeringServices/{peeringServiceName}/prefixes", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByPeeringServiceSender sends the ListByPeeringService request. The method will close the +// http.Response Body if it receives an error. +func (client PrefixesClient) ListByPeeringServiceSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByPeeringServiceResponder handles the response to the ListByPeeringService request. The method always +// closes the http.Response Body. +func (client PrefixesClient) ListByPeeringServiceResponder(resp *http.Response) (result ServicePrefixListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listByPeeringServiceNextResults retrieves the next set of results, if any. +func (client PrefixesClient) listByPeeringServiceNextResults(ctx context.Context, lastResults ServicePrefixListResult) (result ServicePrefixListResult, err error) { + req, err := lastResults.servicePrefixListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "peering.PrefixesClient", "listByPeeringServiceNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListByPeeringServiceSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "peering.PrefixesClient", "listByPeeringServiceNextResults", resp, "Failure sending next results request") + } + result, err = client.ListByPeeringServiceResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "peering.PrefixesClient", "listByPeeringServiceNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListByPeeringServiceComplete enumerates all values, automatically crossing page boundaries as required. +func (client PrefixesClient) ListByPeeringServiceComplete(ctx context.Context, resourceGroupName string, peeringServiceName string, expand string) (result ServicePrefixListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PrefixesClient.ListByPeeringService") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListByPeeringService(ctx, resourceGroupName, peeringServiceName, expand) + return +} diff --git a/services/preview/peering/mgmt/2019-09-01-preview/peering/servicelocations.go b/services/preview/peering/mgmt/2019-09-01-preview/peering/servicelocations.go new file mode 100644 index 000000000000..51bb8bc8f450 --- /dev/null +++ b/services/preview/peering/mgmt/2019-09-01-preview/peering/servicelocations.go @@ -0,0 +1,151 @@ +package peering + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// ServiceLocationsClient is the peering Client +type ServiceLocationsClient struct { + BaseClient +} + +// NewServiceLocationsClient creates an instance of the ServiceLocationsClient client. +func NewServiceLocationsClient(subscriptionID string) ServiceLocationsClient { + return NewServiceLocationsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewServiceLocationsClientWithBaseURI creates an instance of the ServiceLocationsClient client. +func NewServiceLocationsClientWithBaseURI(baseURI string, subscriptionID string) ServiceLocationsClient { + return ServiceLocationsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// List lists all of the available peering service locations for the specified kind of peering. +func (client ServiceLocationsClient) List(ctx context.Context) (result ServiceLocationListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServiceLocationsClient.List") + defer func() { + sc := -1 + if result.sllr.Response.Response != nil { + sc = result.sllr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "peering.ServiceLocationsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.sllr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "peering.ServiceLocationsClient", "List", resp, "Failure sending request") + return + } + + result.sllr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "peering.ServiceLocationsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client ServiceLocationsClient) ListPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-09-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peeringServiceLocations", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client ServiceLocationsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client ServiceLocationsClient) ListResponder(resp *http.Response) (result ServiceLocationListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client ServiceLocationsClient) listNextResults(ctx context.Context, lastResults ServiceLocationListResult) (result ServiceLocationListResult, err error) { + req, err := lastResults.serviceLocationListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "peering.ServiceLocationsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "peering.ServiceLocationsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "peering.ServiceLocationsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client ServiceLocationsClient) ListComplete(ctx context.Context) (result ServiceLocationListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServiceLocationsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx) + return +} diff --git a/services/preview/peering/mgmt/2019-09-01-preview/peering/serviceproviders.go b/services/preview/peering/mgmt/2019-09-01-preview/peering/serviceproviders.go new file mode 100644 index 000000000000..cc26d5af1164 --- /dev/null +++ b/services/preview/peering/mgmt/2019-09-01-preview/peering/serviceproviders.go @@ -0,0 +1,151 @@ +package peering + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// ServiceProvidersClient is the peering Client +type ServiceProvidersClient struct { + BaseClient +} + +// NewServiceProvidersClient creates an instance of the ServiceProvidersClient client. +func NewServiceProvidersClient(subscriptionID string) ServiceProvidersClient { + return NewServiceProvidersClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewServiceProvidersClientWithBaseURI creates an instance of the ServiceProvidersClient client. +func NewServiceProvidersClientWithBaseURI(baseURI string, subscriptionID string) ServiceProvidersClient { + return ServiceProvidersClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// List lists all of the available peering service locations for the specified kind of peering. +func (client ServiceProvidersClient) List(ctx context.Context) (result ServiceProviderListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServiceProvidersClient.List") + defer func() { + sc := -1 + if result.splr.Response.Response != nil { + sc = result.splr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "peering.ServiceProvidersClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.splr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "peering.ServiceProvidersClient", "List", resp, "Failure sending request") + return + } + + result.splr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "peering.ServiceProvidersClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client ServiceProvidersClient) ListPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-09-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peeringServiceProviders", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client ServiceProvidersClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client ServiceProvidersClient) ListResponder(resp *http.Response) (result ServiceProviderListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client ServiceProvidersClient) listNextResults(ctx context.Context, lastResults ServiceProviderListResult) (result ServiceProviderListResult, err error) { + req, err := lastResults.serviceProviderListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "peering.ServiceProvidersClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "peering.ServiceProvidersClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "peering.ServiceProvidersClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client ServiceProvidersClient) ListComplete(ctx context.Context) (result ServiceProviderListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServiceProvidersClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx) + return +} diff --git a/services/preview/peering/mgmt/2019-09-01-preview/peering/services.go b/services/preview/peering/mgmt/2019-09-01-preview/peering/services.go new file mode 100644 index 000000000000..2fb32fda7dc3 --- /dev/null +++ b/services/preview/peering/mgmt/2019-09-01-preview/peering/services.go @@ -0,0 +1,585 @@ +package peering + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// ServicesClient is the peering Client +type ServicesClient struct { + BaseClient +} + +// NewServicesClient creates an instance of the ServicesClient client. +func NewServicesClient(subscriptionID string) ServicesClient { + return NewServicesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewServicesClientWithBaseURI creates an instance of the ServicesClient client. +func NewServicesClientWithBaseURI(baseURI string, subscriptionID string) ServicesClient { + return ServicesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates a new peering service or updates an existing peering with the specified name under the given +// subscription and resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +// peeringServiceName - the name of the peering service. +// peeringService - the properties needed to create or update a peering service. +func (client ServicesClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, peeringServiceName string, peeringService Service) (result Service, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServicesClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: peeringService, + Constraints: []validation.Constraint{{Target: "peeringService.Location", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + return result, validation.NewError("peering.ServicesClient", "CreateOrUpdate", err.Error()) + } + + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, peeringServiceName, peeringService) + if err != nil { + err = autorest.NewErrorWithError(err, "peering.ServicesClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "peering.ServicesClient", "CreateOrUpdate", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "peering.ServicesClient", "CreateOrUpdate", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client ServicesClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, peeringServiceName string, peeringService Service) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "peeringServiceName": autorest.Encode("path", peeringServiceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-09-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peeringServices/{peeringServiceName}", pathParameters), + autorest.WithJSON(peeringService), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client ServicesClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client ServicesClient) CreateOrUpdateResponder(resp *http.Response) (result Service, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes an existing peering service with the specified name under the given subscription and resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +// peeringServiceName - the name of the peering service. +func (client ServicesClient) Delete(ctx context.Context, resourceGroupName string, peeringServiceName string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServicesClient.Delete") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, peeringServiceName) + if err != nil { + err = autorest.NewErrorWithError(err, "peering.ServicesClient", "Delete", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "peering.ServicesClient", "Delete", resp, "Failure sending request") + return + } + + result, err = client.DeleteResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "peering.ServicesClient", "Delete", resp, "Failure responding to request") + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client ServicesClient) DeletePreparer(ctx context.Context, resourceGroupName string, peeringServiceName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "peeringServiceName": autorest.Encode("path", peeringServiceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-09-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peeringServices/{peeringServiceName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client ServicesClient) DeleteSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client ServicesClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets an existing peering service with the specified name under the given subscription and resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +// peeringServiceName - the name of the peering. +func (client ServicesClient) Get(ctx context.Context, resourceGroupName string, peeringServiceName string) (result Service, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServicesClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, peeringServiceName) + if err != nil { + err = autorest.NewErrorWithError(err, "peering.ServicesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "peering.ServicesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "peering.ServicesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client ServicesClient) GetPreparer(ctx context.Context, resourceGroupName string, peeringServiceName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "peeringServiceName": autorest.Encode("path", peeringServiceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-09-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peeringServices/{peeringServiceName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client ServicesClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client ServicesClient) GetResponder(resp *http.Response) (result Service, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByResourceGroup lists all of the peering services under the given subscription and resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +func (client ServicesClient) ListByResourceGroup(ctx context.Context, resourceGroupName string) (result ServiceListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServicesClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.slr.Response.Response != nil { + sc = result.slr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listByResourceGroupNextResults + req, err := client.ListByResourceGroupPreparer(ctx, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "peering.ServicesClient", "ListByResourceGroup", nil, "Failure preparing request") + return + } + + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.slr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "peering.ServicesClient", "ListByResourceGroup", resp, "Failure sending request") + return + } + + result.slr, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "peering.ServicesClient", "ListByResourceGroup", resp, "Failure responding to request") + } + + return +} + +// ListByResourceGroupPreparer prepares the ListByResourceGroup request. +func (client ServicesClient) ListByResourceGroupPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-09-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peeringServices", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByResourceGroupSender sends the ListByResourceGroup request. The method will close the +// http.Response Body if it receives an error. +func (client ServicesClient) ListByResourceGroupSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByResourceGroupResponder handles the response to the ListByResourceGroup request. The method always +// closes the http.Response Body. +func (client ServicesClient) ListByResourceGroupResponder(resp *http.Response) (result ServiceListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listByResourceGroupNextResults retrieves the next set of results, if any. +func (client ServicesClient) listByResourceGroupNextResults(ctx context.Context, lastResults ServiceListResult) (result ServiceListResult, err error) { + req, err := lastResults.serviceListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "peering.ServicesClient", "listByResourceGroupNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "peering.ServicesClient", "listByResourceGroupNextResults", resp, "Failure sending next results request") + } + result, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "peering.ServicesClient", "listByResourceGroupNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListByResourceGroupComplete enumerates all values, automatically crossing page boundaries as required. +func (client ServicesClient) ListByResourceGroupComplete(ctx context.Context, resourceGroupName string) (result ServiceListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServicesClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListByResourceGroup(ctx, resourceGroupName) + return +} + +// ListBySubscription lists all of the peerings under the given subscription. +func (client ServicesClient) ListBySubscription(ctx context.Context) (result ServiceListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServicesClient.ListBySubscription") + defer func() { + sc := -1 + if result.slr.Response.Response != nil { + sc = result.slr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listBySubscriptionNextResults + req, err := client.ListBySubscriptionPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "peering.ServicesClient", "ListBySubscription", nil, "Failure preparing request") + return + } + + resp, err := client.ListBySubscriptionSender(req) + if err != nil { + result.slr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "peering.ServicesClient", "ListBySubscription", resp, "Failure sending request") + return + } + + result.slr, err = client.ListBySubscriptionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "peering.ServicesClient", "ListBySubscription", resp, "Failure responding to request") + } + + return +} + +// ListBySubscriptionPreparer prepares the ListBySubscription request. +func (client ServicesClient) ListBySubscriptionPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-09-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Peering/peeringServices", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListBySubscriptionSender sends the ListBySubscription request. The method will close the +// http.Response Body if it receives an error. +func (client ServicesClient) ListBySubscriptionSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListBySubscriptionResponder handles the response to the ListBySubscription request. The method always +// closes the http.Response Body. +func (client ServicesClient) ListBySubscriptionResponder(resp *http.Response) (result ServiceListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listBySubscriptionNextResults retrieves the next set of results, if any. +func (client ServicesClient) listBySubscriptionNextResults(ctx context.Context, lastResults ServiceListResult) (result ServiceListResult, err error) { + req, err := lastResults.serviceListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "peering.ServicesClient", "listBySubscriptionNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListBySubscriptionSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "peering.ServicesClient", "listBySubscriptionNextResults", resp, "Failure sending next results request") + } + result, err = client.ListBySubscriptionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "peering.ServicesClient", "listBySubscriptionNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListBySubscriptionComplete enumerates all values, automatically crossing page boundaries as required. +func (client ServicesClient) ListBySubscriptionComplete(ctx context.Context) (result ServiceListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServicesClient.ListBySubscription") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListBySubscription(ctx) + return +} + +// Update updates tags for a peering service with the specified name under the given subscription and resource group. +// Parameters: +// resourceGroupName - the name of the resource group. +// peeringServiceName - the name of the peering service. +// tags - the resource tags. +func (client ServicesClient) Update(ctx context.Context, resourceGroupName string, peeringServiceName string, tags ResourceTags) (result Service, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServicesClient.Update") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdatePreparer(ctx, resourceGroupName, peeringServiceName, tags) + if err != nil { + err = autorest.NewErrorWithError(err, "peering.ServicesClient", "Update", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "peering.ServicesClient", "Update", resp, "Failure sending request") + return + } + + result, err = client.UpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "peering.ServicesClient", "Update", resp, "Failure responding to request") + } + + return +} + +// UpdatePreparer prepares the Update request. +func (client ServicesClient) UpdatePreparer(ctx context.Context, resourceGroupName string, peeringServiceName string, tags ResourceTags) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "peeringServiceName": autorest.Encode("path", peeringServiceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-09-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Peering/peeringServices/{peeringServiceName}", pathParameters), + autorest.WithJSON(tags), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateSender sends the Update request. The method will close the +// http.Response Body if it receives an error. +func (client ServicesClient) UpdateSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// UpdateResponder handles the response to the Update request. The method always +// closes the http.Response Body. +func (client ServicesClient) UpdateResponder(resp *http.Response) (result Service, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/preview/peering/mgmt/2019-03-01-preview/peering/version.go b/services/preview/peering/mgmt/2019-09-01-preview/peering/version.go similarity index 94% rename from services/preview/peering/mgmt/2019-03-01-preview/peering/version.go rename to services/preview/peering/mgmt/2019-09-01-preview/peering/version.go index 45bb00c0ff28..4a5c93f82049 100644 --- a/services/preview/peering/mgmt/2019-03-01-preview/peering/version.go +++ b/services/preview/peering/mgmt/2019-09-01-preview/peering/version.go @@ -21,7 +21,7 @@ import "github.com/Azure/azure-sdk-for-go/version" // UserAgent returns the UserAgent string to use when sending http.Requests. func UserAgent() string { - return "Azure-SDK-For-Go/" + version.Number + " peering/2019-03-01-preview" + return "Azure-SDK-For-Go/" + version.Number + " peering/2019-09-01-preview" } // Version returns the semantic version (see http://semver.org) of the client. diff --git a/services/preview/portal/mgmt/2015-11-01-preview/portal/dashboards.go b/services/preview/portal/mgmt/2015-11-01-preview/portal/dashboards.go deleted file mode 100644 index 86d1c0cea26e..000000000000 --- a/services/preview/portal/mgmt/2015-11-01-preview/portal/dashboards.go +++ /dev/null @@ -1,611 +0,0 @@ -package portal - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/autorest/validation" - "github.com/Azure/go-autorest/tracing" - "net/http" -) - -// DashboardsClient is the allows creation and deletion of Azure Shared Dashboards. -type DashboardsClient struct { - BaseClient -} - -// NewDashboardsClient creates an instance of the DashboardsClient client. -func NewDashboardsClient(subscriptionID string) DashboardsClient { - return NewDashboardsClientWithBaseURI(DefaultBaseURI, subscriptionID) -} - -// NewDashboardsClientWithBaseURI creates an instance of the DashboardsClient client. -func NewDashboardsClientWithBaseURI(baseURI string, subscriptionID string) DashboardsClient { - return DashboardsClient{NewWithBaseURI(baseURI, subscriptionID)} -} - -// CreateOrUpdate creates or updates a Dashboard. -// Parameters: -// resourceGroupName - the name of the resource group. -// dashboardName - the name of the dashboard. -// dashboard - the parameters required to create or update a dashboard. -func (client DashboardsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, dashboardName string, dashboard Dashboard) (result Dashboard, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/DashboardsClient.CreateOrUpdate") - defer func() { - sc := -1 - if result.Response.Response != nil { - sc = result.Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - if err := validation.Validate([]validation.Validation{ - {TargetValue: dashboardName, - Constraints: []validation.Constraint{{Target: "dashboardName", Name: validation.MaxLength, Rule: 64, Chain: nil}, - {Target: "dashboardName", Name: validation.MinLength, Rule: 3, Chain: nil}}}, - {TargetValue: dashboard, - Constraints: []validation.Constraint{{Target: "dashboard.Location", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { - return result, validation.NewError("portal.DashboardsClient", "CreateOrUpdate", err.Error()) - } - - req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, dashboardName, dashboard) - if err != nil { - err = autorest.NewErrorWithError(err, "portal.DashboardsClient", "CreateOrUpdate", nil, "Failure preparing request") - return - } - - resp, err := client.CreateOrUpdateSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "portal.DashboardsClient", "CreateOrUpdate", resp, "Failure sending request") - return - } - - result, err = client.CreateOrUpdateResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "portal.DashboardsClient", "CreateOrUpdate", resp, "Failure responding to request") - } - - return -} - -// CreateOrUpdatePreparer prepares the CreateOrUpdate request. -func (client DashboardsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, dashboardName string, dashboard Dashboard) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "dashboardName": autorest.Encode("path", dashboardName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2015-11-01-preview" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - dashboard.ID = nil - dashboard.Name = nil - dashboard.Type = nil - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; charset=utf-8"), - autorest.AsPut(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Portal/dashboards/{dashboardName}", pathParameters), - autorest.WithJSON(dashboard), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the -// http.Response Body if it receives an error. -func (client DashboardsClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - azure.DoRetryWithRegistration(client.Client)) -} - -// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always -// closes the http.Response Body. -func (client DashboardsClient) CreateOrUpdateResponder(resp *http.Response) (result Dashboard, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// Delete deletes the Dashboard. -// Parameters: -// resourceGroupName - the name of the resource group. -// dashboardName - the name of the dashboard. -func (client DashboardsClient) Delete(ctx context.Context, resourceGroupName string, dashboardName string) (result autorest.Response, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/DashboardsClient.Delete") - defer func() { - sc := -1 - if result.Response != nil { - sc = result.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - if err := validation.Validate([]validation.Validation{ - {TargetValue: dashboardName, - Constraints: []validation.Constraint{{Target: "dashboardName", Name: validation.MaxLength, Rule: 64, Chain: nil}, - {Target: "dashboardName", Name: validation.MinLength, Rule: 3, Chain: nil}}}}); err != nil { - return result, validation.NewError("portal.DashboardsClient", "Delete", err.Error()) - } - - req, err := client.DeletePreparer(ctx, resourceGroupName, dashboardName) - if err != nil { - err = autorest.NewErrorWithError(err, "portal.DashboardsClient", "Delete", nil, "Failure preparing request") - return - } - - resp, err := client.DeleteSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "portal.DashboardsClient", "Delete", resp, "Failure sending request") - return - } - - result, err = client.DeleteResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "portal.DashboardsClient", "Delete", resp, "Failure responding to request") - } - - return -} - -// DeletePreparer prepares the Delete request. -func (client DashboardsClient) DeletePreparer(ctx context.Context, resourceGroupName string, dashboardName string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "dashboardName": autorest.Encode("path", dashboardName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2015-11-01-preview" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsDelete(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Portal/dashboards/{dashboardName}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DeleteSender sends the Delete request. The method will close the -// http.Response Body if it receives an error. -func (client DashboardsClient) DeleteSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - azure.DoRetryWithRegistration(client.Client)) -} - -// DeleteResponder handles the response to the Delete request. The method always -// closes the http.Response Body. -func (client DashboardsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), - autorest.ByClosing()) - result.Response = resp - return -} - -// Get gets the Dashboard. -// Parameters: -// resourceGroupName - the name of the resource group. -// dashboardName - the name of the dashboard. -func (client DashboardsClient) Get(ctx context.Context, resourceGroupName string, dashboardName string) (result Dashboard, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/DashboardsClient.Get") - defer func() { - sc := -1 - if result.Response.Response != nil { - sc = result.Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - if err := validation.Validate([]validation.Validation{ - {TargetValue: dashboardName, - Constraints: []validation.Constraint{{Target: "dashboardName", Name: validation.MaxLength, Rule: 64, Chain: nil}, - {Target: "dashboardName", Name: validation.MinLength, Rule: 3, Chain: nil}}}}); err != nil { - return result, validation.NewError("portal.DashboardsClient", "Get", err.Error()) - } - - req, err := client.GetPreparer(ctx, resourceGroupName, dashboardName) - if err != nil { - err = autorest.NewErrorWithError(err, "portal.DashboardsClient", "Get", nil, "Failure preparing request") - return - } - - resp, err := client.GetSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "portal.DashboardsClient", "Get", resp, "Failure sending request") - return - } - - result, err = client.GetResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "portal.DashboardsClient", "Get", resp, "Failure responding to request") - } - - return -} - -// GetPreparer prepares the Get request. -func (client DashboardsClient) GetPreparer(ctx context.Context, resourceGroupName string, dashboardName string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "dashboardName": autorest.Encode("path", dashboardName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2015-11-01-preview" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Portal/dashboards/{dashboardName}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetSender sends the Get request. The method will close the -// http.Response Body if it receives an error. -func (client DashboardsClient) GetSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - azure.DoRetryWithRegistration(client.Client)) -} - -// GetResponder handles the response to the Get request. The method always -// closes the http.Response Body. -func (client DashboardsClient) GetResponder(resp *http.Response) (result Dashboard, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// ListByResourceGroup gets all the Dashboards within a resource group. -// Parameters: -// resourceGroupName - the name of the resource group. -func (client DashboardsClient) ListByResourceGroup(ctx context.Context, resourceGroupName string) (result DashboardListResultPage, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/DashboardsClient.ListByResourceGroup") - defer func() { - sc := -1 - if result.dlr.Response.Response != nil { - sc = result.dlr.Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - result.fn = client.listByResourceGroupNextResults - req, err := client.ListByResourceGroupPreparer(ctx, resourceGroupName) - if err != nil { - err = autorest.NewErrorWithError(err, "portal.DashboardsClient", "ListByResourceGroup", nil, "Failure preparing request") - return - } - - resp, err := client.ListByResourceGroupSender(req) - if err != nil { - result.dlr.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "portal.DashboardsClient", "ListByResourceGroup", resp, "Failure sending request") - return - } - - result.dlr, err = client.ListByResourceGroupResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "portal.DashboardsClient", "ListByResourceGroup", resp, "Failure responding to request") - } - - return -} - -// ListByResourceGroupPreparer prepares the ListByResourceGroup request. -func (client DashboardsClient) ListByResourceGroupPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2015-11-01-preview" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Portal/dashboards", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListByResourceGroupSender sends the ListByResourceGroup request. The method will close the -// http.Response Body if it receives an error. -func (client DashboardsClient) ListByResourceGroupSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - azure.DoRetryWithRegistration(client.Client)) -} - -// ListByResourceGroupResponder handles the response to the ListByResourceGroup request. The method always -// closes the http.Response Body. -func (client DashboardsClient) ListByResourceGroupResponder(resp *http.Response) (result DashboardListResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listByResourceGroupNextResults retrieves the next set of results, if any. -func (client DashboardsClient) listByResourceGroupNextResults(ctx context.Context, lastResults DashboardListResult) (result DashboardListResult, err error) { - req, err := lastResults.dashboardListResultPreparer(ctx) - if err != nil { - return result, autorest.NewErrorWithError(err, "portal.DashboardsClient", "listByResourceGroupNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListByResourceGroupSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "portal.DashboardsClient", "listByResourceGroupNextResults", resp, "Failure sending next results request") - } - result, err = client.ListByResourceGroupResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "portal.DashboardsClient", "listByResourceGroupNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListByResourceGroupComplete enumerates all values, automatically crossing page boundaries as required. -func (client DashboardsClient) ListByResourceGroupComplete(ctx context.Context, resourceGroupName string) (result DashboardListResultIterator, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/DashboardsClient.ListByResourceGroup") - defer func() { - sc := -1 - if result.Response().Response.Response != nil { - sc = result.page.Response().Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - result.page, err = client.ListByResourceGroup(ctx, resourceGroupName) - return -} - -// ListBySubscription gets all the dashboards within a subscription. -func (client DashboardsClient) ListBySubscription(ctx context.Context) (result DashboardListResultPage, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/DashboardsClient.ListBySubscription") - defer func() { - sc := -1 - if result.dlr.Response.Response != nil { - sc = result.dlr.Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - result.fn = client.listBySubscriptionNextResults - req, err := client.ListBySubscriptionPreparer(ctx) - if err != nil { - err = autorest.NewErrorWithError(err, "portal.DashboardsClient", "ListBySubscription", nil, "Failure preparing request") - return - } - - resp, err := client.ListBySubscriptionSender(req) - if err != nil { - result.dlr.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "portal.DashboardsClient", "ListBySubscription", resp, "Failure sending request") - return - } - - result.dlr, err = client.ListBySubscriptionResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "portal.DashboardsClient", "ListBySubscription", resp, "Failure responding to request") - } - - return -} - -// ListBySubscriptionPreparer prepares the ListBySubscription request. -func (client DashboardsClient) ListBySubscriptionPreparer(ctx context.Context) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2015-11-01-preview" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Portal/dashboards", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListBySubscriptionSender sends the ListBySubscription request. The method will close the -// http.Response Body if it receives an error. -func (client DashboardsClient) ListBySubscriptionSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - azure.DoRetryWithRegistration(client.Client)) -} - -// ListBySubscriptionResponder handles the response to the ListBySubscription request. The method always -// closes the http.Response Body. -func (client DashboardsClient) ListBySubscriptionResponder(resp *http.Response) (result DashboardListResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listBySubscriptionNextResults retrieves the next set of results, if any. -func (client DashboardsClient) listBySubscriptionNextResults(ctx context.Context, lastResults DashboardListResult) (result DashboardListResult, err error) { - req, err := lastResults.dashboardListResultPreparer(ctx) - if err != nil { - return result, autorest.NewErrorWithError(err, "portal.DashboardsClient", "listBySubscriptionNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListBySubscriptionSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "portal.DashboardsClient", "listBySubscriptionNextResults", resp, "Failure sending next results request") - } - result, err = client.ListBySubscriptionResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "portal.DashboardsClient", "listBySubscriptionNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListBySubscriptionComplete enumerates all values, automatically crossing page boundaries as required. -func (client DashboardsClient) ListBySubscriptionComplete(ctx context.Context) (result DashboardListResultIterator, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/DashboardsClient.ListBySubscription") - defer func() { - sc := -1 - if result.Response().Response.Response != nil { - sc = result.page.Response().Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - result.page, err = client.ListBySubscription(ctx) - return -} - -// Update updates an existing Dashboard. -// Parameters: -// resourceGroupName - the name of the resource group. -// dashboardName - the name of the dashboard. -// dashboard - the updatable fields of a Dashboard. -func (client DashboardsClient) Update(ctx context.Context, resourceGroupName string, dashboardName string, dashboard PatchableDashboard) (result Dashboard, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/DashboardsClient.Update") - defer func() { - sc := -1 - if result.Response.Response != nil { - sc = result.Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - if err := validation.Validate([]validation.Validation{ - {TargetValue: dashboardName, - Constraints: []validation.Constraint{{Target: "dashboardName", Name: validation.MaxLength, Rule: 64, Chain: nil}, - {Target: "dashboardName", Name: validation.MinLength, Rule: 3, Chain: nil}}}}); err != nil { - return result, validation.NewError("portal.DashboardsClient", "Update", err.Error()) - } - - req, err := client.UpdatePreparer(ctx, resourceGroupName, dashboardName, dashboard) - if err != nil { - err = autorest.NewErrorWithError(err, "portal.DashboardsClient", "Update", nil, "Failure preparing request") - return - } - - resp, err := client.UpdateSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "portal.DashboardsClient", "Update", resp, "Failure sending request") - return - } - - result, err = client.UpdateResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "portal.DashboardsClient", "Update", resp, "Failure responding to request") - } - - return -} - -// UpdatePreparer prepares the Update request. -func (client DashboardsClient) UpdatePreparer(ctx context.Context, resourceGroupName string, dashboardName string, dashboard PatchableDashboard) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "dashboardName": autorest.Encode("path", dashboardName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2015-11-01-preview" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; charset=utf-8"), - autorest.AsPatch(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Portal/dashboards/{dashboardName}", pathParameters), - autorest.WithJSON(dashboard), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// UpdateSender sends the Update request. The method will close the -// http.Response Body if it receives an error. -func (client DashboardsClient) UpdateSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - azure.DoRetryWithRegistration(client.Client)) -} - -// UpdateResponder handles the response to the Update request. The method always -// closes the http.Response Body. -func (client DashboardsClient) UpdateResponder(resp *http.Response) (result Dashboard, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} diff --git a/services/preview/portal/mgmt/2015-11-01-preview/portal/models.go b/services/preview/portal/mgmt/2015-11-01-preview/portal/models.go deleted file mode 100644 index c6929c1e2b61..000000000000 --- a/services/preview/portal/mgmt/2015-11-01-preview/portal/models.go +++ /dev/null @@ -1,615 +0,0 @@ -package portal - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "encoding/json" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/to" - "github.com/Azure/go-autorest/tracing" - "net/http" -) - -// The package's fully qualified name. -const fqdn = "github.com/Azure/azure-sdk-for-go/services/preview/portal/mgmt/2015-11-01-preview/portal" - -// Dashboard the shared dashboard resource definition. -type Dashboard struct { - autorest.Response `json:"-"` - // DashboardProperties - The shared dashboard properties. - *DashboardProperties `json:"properties,omitempty"` - // ID - READ-ONLY; Resource Id - ID *string `json:"id,omitempty"` - // Name - READ-ONLY; Resource name - Name *string `json:"name,omitempty"` - // Type - READ-ONLY; Resource type - Type *string `json:"type,omitempty"` - // Location - Resource location - Location *string `json:"location,omitempty"` - // Tags - Resource tags - Tags map[string]*string `json:"tags"` -} - -// MarshalJSON is the custom marshaler for Dashboard. -func (d Dashboard) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - if d.DashboardProperties != nil { - objectMap["properties"] = d.DashboardProperties - } - if d.Location != nil { - objectMap["location"] = d.Location - } - if d.Tags != nil { - objectMap["tags"] = d.Tags - } - return json.Marshal(objectMap) -} - -// UnmarshalJSON is the custom unmarshaler for Dashboard struct. -func (d *Dashboard) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - case "properties": - if v != nil { - var dashboardProperties DashboardProperties - err = json.Unmarshal(*v, &dashboardProperties) - if err != nil { - return err - } - d.DashboardProperties = &dashboardProperties - } - case "id": - if v != nil { - var ID string - err = json.Unmarshal(*v, &ID) - if err != nil { - return err - } - d.ID = &ID - } - case "name": - if v != nil { - var name string - err = json.Unmarshal(*v, &name) - if err != nil { - return err - } - d.Name = &name - } - case "type": - if v != nil { - var typeVar string - err = json.Unmarshal(*v, &typeVar) - if err != nil { - return err - } - d.Type = &typeVar - } - case "location": - if v != nil { - var location string - err = json.Unmarshal(*v, &location) - if err != nil { - return err - } - d.Location = &location - } - case "tags": - if v != nil { - var tags map[string]*string - err = json.Unmarshal(*v, &tags) - if err != nil { - return err - } - d.Tags = tags - } - } - } - - return nil -} - -// DashboardLens a dashboard lens. -type DashboardLens struct { - // Order - The lens order. - Order *int32 `json:"order,omitempty"` - // Parts - The dashboard parts. - Parts map[string]*DashboardParts `json:"parts"` - // Metadata - The dashboard len's metadata. - Metadata map[string]interface{} `json:"metadata"` -} - -// MarshalJSON is the custom marshaler for DashboardLens. -func (dl DashboardLens) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - if dl.Order != nil { - objectMap["order"] = dl.Order - } - if dl.Parts != nil { - objectMap["parts"] = dl.Parts - } - if dl.Metadata != nil { - objectMap["metadata"] = dl.Metadata - } - return json.Marshal(objectMap) -} - -// DashboardListResult list of dashboards. -type DashboardListResult struct { - autorest.Response `json:"-"` - // Value - The array of custom resource provider manifests. - Value *[]Dashboard `json:"value,omitempty"` - // NextLink - The URL to use for getting the next set of results. - NextLink *string `json:"nextLink,omitempty"` -} - -// DashboardListResultIterator provides access to a complete listing of Dashboard values. -type DashboardListResultIterator struct { - i int - page DashboardListResultPage -} - -// NextWithContext advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -func (iter *DashboardListResultIterator) NextWithContext(ctx context.Context) (err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/DashboardListResultIterator.NextWithContext") - defer func() { - sc := -1 - if iter.Response().Response.Response != nil { - sc = iter.Response().Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - iter.i++ - if iter.i < len(iter.page.Values()) { - return nil - } - err = iter.page.NextWithContext(ctx) - if err != nil { - iter.i-- - return err - } - iter.i = 0 - return nil -} - -// Next advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -// Deprecated: Use NextWithContext() instead. -func (iter *DashboardListResultIterator) Next() error { - return iter.NextWithContext(context.Background()) -} - -// NotDone returns true if the enumeration should be started or is not yet complete. -func (iter DashboardListResultIterator) NotDone() bool { - return iter.page.NotDone() && iter.i < len(iter.page.Values()) -} - -// Response returns the raw server response from the last page request. -func (iter DashboardListResultIterator) Response() DashboardListResult { - return iter.page.Response() -} - -// Value returns the current value or a zero-initialized value if the -// iterator has advanced beyond the end of the collection. -func (iter DashboardListResultIterator) Value() Dashboard { - if !iter.page.NotDone() { - return Dashboard{} - } - return iter.page.Values()[iter.i] -} - -// Creates a new instance of the DashboardListResultIterator type. -func NewDashboardListResultIterator(page DashboardListResultPage) DashboardListResultIterator { - return DashboardListResultIterator{page: page} -} - -// IsEmpty returns true if the ListResult contains no values. -func (dlr DashboardListResult) IsEmpty() bool { - return dlr.Value == nil || len(*dlr.Value) == 0 -} - -// dashboardListResultPreparer prepares a request to retrieve the next set of results. -// It returns nil if no more results exist. -func (dlr DashboardListResult) dashboardListResultPreparer(ctx context.Context) (*http.Request, error) { - if dlr.NextLink == nil || len(to.String(dlr.NextLink)) < 1 { - return nil, nil - } - return autorest.Prepare((&http.Request{}).WithContext(ctx), - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(dlr.NextLink))) -} - -// DashboardListResultPage contains a page of Dashboard values. -type DashboardListResultPage struct { - fn func(context.Context, DashboardListResult) (DashboardListResult, error) - dlr DashboardListResult -} - -// NextWithContext advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -func (page *DashboardListResultPage) NextWithContext(ctx context.Context) (err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/DashboardListResultPage.NextWithContext") - defer func() { - sc := -1 - if page.Response().Response.Response != nil { - sc = page.Response().Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - next, err := page.fn(ctx, page.dlr) - if err != nil { - return err - } - page.dlr = next - return nil -} - -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -// Deprecated: Use NextWithContext() instead. -func (page *DashboardListResultPage) Next() error { - return page.NextWithContext(context.Background()) -} - -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page DashboardListResultPage) NotDone() bool { - return !page.dlr.IsEmpty() -} - -// Response returns the raw server response from the last page request. -func (page DashboardListResultPage) Response() DashboardListResult { - return page.dlr -} - -// Values returns the slice of values for the current page or nil if there are no values. -func (page DashboardListResultPage) Values() []Dashboard { - if page.dlr.IsEmpty() { - return nil - } - return *page.dlr.Value -} - -// Creates a new instance of the DashboardListResultPage type. -func NewDashboardListResultPage(getNextPage func(context.Context, DashboardListResult) (DashboardListResult, error)) DashboardListResultPage { - return DashboardListResultPage{fn: getNextPage} -} - -// DashboardParts a dashboard part. -type DashboardParts struct { - // Position - The dashboard's part position. - Position *DashboardPartsPosition `json:"position,omitempty"` - // Metadata - The dashboard part's metadata. - Metadata map[string]interface{} `json:"metadata"` -} - -// MarshalJSON is the custom marshaler for DashboardParts. -func (dp DashboardParts) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - if dp.Position != nil { - objectMap["position"] = dp.Position - } - if dp.Metadata != nil { - objectMap["metadata"] = dp.Metadata - } - return json.Marshal(objectMap) -} - -// DashboardPartsPosition the dashboard's part position. -type DashboardPartsPosition struct { - // X - The dashboard's part x coordinate. - X *float64 `json:"x,omitempty"` - // Y - The dashboard's part y coordinate. - Y *float64 `json:"y,omitempty"` - // RowSpan - The dashboard's part row span. - RowSpan *float64 `json:"rowSpan,omitempty"` - // ColSpan - The dashboard's part column span. - ColSpan *float64 `json:"colSpan,omitempty"` - // Metadata - The dashboard part's metadata. - Metadata map[string]interface{} `json:"metadata"` -} - -// MarshalJSON is the custom marshaler for DashboardPartsPosition. -func (dp DashboardPartsPosition) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - if dp.X != nil { - objectMap["x"] = dp.X - } - if dp.Y != nil { - objectMap["y"] = dp.Y - } - if dp.RowSpan != nil { - objectMap["rowSpan"] = dp.RowSpan - } - if dp.ColSpan != nil { - objectMap["colSpan"] = dp.ColSpan - } - if dp.Metadata != nil { - objectMap["metadata"] = dp.Metadata - } - return json.Marshal(objectMap) -} - -// DashboardProperties the shared dashboard properties. -type DashboardProperties struct { - // Lenses - The dashboard lenses. - Lenses map[string]*DashboardLens `json:"lenses"` - // Metadata - The dashboard metadata. - Metadata map[string]interface{} `json:"metadata"` -} - -// MarshalJSON is the custom marshaler for DashboardProperties. -func (dp DashboardProperties) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - if dp.Lenses != nil { - objectMap["lenses"] = dp.Lenses - } - if dp.Metadata != nil { - objectMap["metadata"] = dp.Metadata - } - return json.Marshal(objectMap) -} - -// ErrorDefinition error definition. -type ErrorDefinition struct { - // Code - READ-ONLY; Service specific error code which serves as the substatus for the HTTP error code. - Code *string `json:"code,omitempty"` - // Message - READ-ONLY; Description of the error. - Message *string `json:"message,omitempty"` - // Details - READ-ONLY; Internal error details. - Details *[]ErrorDefinition `json:"details,omitempty"` -} - -// ErrorResponse error response. -type ErrorResponse struct { - // Error - The error details. - Error *ErrorDefinition `json:"error,omitempty"` -} - -// PatchableDashboard the shared dashboard resource definition. -type PatchableDashboard struct { - // DashboardProperties - The shared dashboard properties. - *DashboardProperties `json:"properties,omitempty"` - // Tags - Resource tags - Tags map[string]*string `json:"tags"` -} - -// MarshalJSON is the custom marshaler for PatchableDashboard. -func (pd PatchableDashboard) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - if pd.DashboardProperties != nil { - objectMap["properties"] = pd.DashboardProperties - } - if pd.Tags != nil { - objectMap["tags"] = pd.Tags - } - return json.Marshal(objectMap) -} - -// UnmarshalJSON is the custom unmarshaler for PatchableDashboard struct. -func (pd *PatchableDashboard) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - case "properties": - if v != nil { - var dashboardProperties DashboardProperties - err = json.Unmarshal(*v, &dashboardProperties) - if err != nil { - return err - } - pd.DashboardProperties = &dashboardProperties - } - case "tags": - if v != nil { - var tags map[string]*string - err = json.Unmarshal(*v, &tags) - if err != nil { - return err - } - pd.Tags = tags - } - } - } - - return nil -} - -// ResourceProviderOperation supported operations of this resource provider. -type ResourceProviderOperation struct { - // Name - Operation name, in format of {provider}/{resource}/{operation} - Name *string `json:"name,omitempty"` - // IsDataAction - Indicates whether the operation applies to data-plane. - IsDataAction *string `json:"isDataAction,omitempty"` - // Display - Display metadata associated with the operation. - Display *ResourceProviderOperationDisplay `json:"display,omitempty"` -} - -// ResourceProviderOperationDisplay display metadata associated with the operation. -type ResourceProviderOperationDisplay struct { - // Provider - Resource provider: Microsoft Custom Providers. - Provider *string `json:"provider,omitempty"` - // Resource - Resource on which the operation is performed. - Resource *string `json:"resource,omitempty"` - // Operation - Type of operation: get, read, delete, etc. - Operation *string `json:"operation,omitempty"` - // Description - Description of this operation. - Description *string `json:"description,omitempty"` -} - -// ResourceProviderOperationList results of the request to list operations. -type ResourceProviderOperationList struct { - autorest.Response `json:"-"` - // Value - List of operations supported by this resource provider. - Value *[]ResourceProviderOperation `json:"value,omitempty"` - // NextLink - The URL to use for getting the next set of results. - NextLink *string `json:"nextLink,omitempty"` -} - -// ResourceProviderOperationListIterator provides access to a complete listing of ResourceProviderOperation -// values. -type ResourceProviderOperationListIterator struct { - i int - page ResourceProviderOperationListPage -} - -// NextWithContext advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -func (iter *ResourceProviderOperationListIterator) NextWithContext(ctx context.Context) (err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/ResourceProviderOperationListIterator.NextWithContext") - defer func() { - sc := -1 - if iter.Response().Response.Response != nil { - sc = iter.Response().Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - iter.i++ - if iter.i < len(iter.page.Values()) { - return nil - } - err = iter.page.NextWithContext(ctx) - if err != nil { - iter.i-- - return err - } - iter.i = 0 - return nil -} - -// Next advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -// Deprecated: Use NextWithContext() instead. -func (iter *ResourceProviderOperationListIterator) Next() error { - return iter.NextWithContext(context.Background()) -} - -// NotDone returns true if the enumeration should be started or is not yet complete. -func (iter ResourceProviderOperationListIterator) NotDone() bool { - return iter.page.NotDone() && iter.i < len(iter.page.Values()) -} - -// Response returns the raw server response from the last page request. -func (iter ResourceProviderOperationListIterator) Response() ResourceProviderOperationList { - return iter.page.Response() -} - -// Value returns the current value or a zero-initialized value if the -// iterator has advanced beyond the end of the collection. -func (iter ResourceProviderOperationListIterator) Value() ResourceProviderOperation { - if !iter.page.NotDone() { - return ResourceProviderOperation{} - } - return iter.page.Values()[iter.i] -} - -// Creates a new instance of the ResourceProviderOperationListIterator type. -func NewResourceProviderOperationListIterator(page ResourceProviderOperationListPage) ResourceProviderOperationListIterator { - return ResourceProviderOperationListIterator{page: page} -} - -// IsEmpty returns true if the ListResult contains no values. -func (rpol ResourceProviderOperationList) IsEmpty() bool { - return rpol.Value == nil || len(*rpol.Value) == 0 -} - -// resourceProviderOperationListPreparer prepares a request to retrieve the next set of results. -// It returns nil if no more results exist. -func (rpol ResourceProviderOperationList) resourceProviderOperationListPreparer(ctx context.Context) (*http.Request, error) { - if rpol.NextLink == nil || len(to.String(rpol.NextLink)) < 1 { - return nil, nil - } - return autorest.Prepare((&http.Request{}).WithContext(ctx), - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(rpol.NextLink))) -} - -// ResourceProviderOperationListPage contains a page of ResourceProviderOperation values. -type ResourceProviderOperationListPage struct { - fn func(context.Context, ResourceProviderOperationList) (ResourceProviderOperationList, error) - rpol ResourceProviderOperationList -} - -// NextWithContext advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -func (page *ResourceProviderOperationListPage) NextWithContext(ctx context.Context) (err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/ResourceProviderOperationListPage.NextWithContext") - defer func() { - sc := -1 - if page.Response().Response.Response != nil { - sc = page.Response().Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - next, err := page.fn(ctx, page.rpol) - if err != nil { - return err - } - page.rpol = next - return nil -} - -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -// Deprecated: Use NextWithContext() instead. -func (page *ResourceProviderOperationListPage) Next() error { - return page.NextWithContext(context.Background()) -} - -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page ResourceProviderOperationListPage) NotDone() bool { - return !page.rpol.IsEmpty() -} - -// Response returns the raw server response from the last page request. -func (page ResourceProviderOperationListPage) Response() ResourceProviderOperationList { - return page.rpol -} - -// Values returns the slice of values for the current page or nil if there are no values. -func (page ResourceProviderOperationListPage) Values() []ResourceProviderOperation { - if page.rpol.IsEmpty() { - return nil - } - return *page.rpol.Value -} - -// Creates a new instance of the ResourceProviderOperationListPage type. -func NewResourceProviderOperationListPage(getNextPage func(context.Context, ResourceProviderOperationList) (ResourceProviderOperationList, error)) ResourceProviderOperationListPage { - return ResourceProviderOperationListPage{fn: getNextPage} -} diff --git a/services/preview/portal/mgmt/2015-11-01-preview/portal/portalapi/interfaces.go b/services/preview/portal/mgmt/2015-11-01-preview/portal/portalapi/interfaces.go deleted file mode 100644 index 6b1485c93fcb..000000000000 --- a/services/preview/portal/mgmt/2015-11-01-preview/portal/portalapi/interfaces.go +++ /dev/null @@ -1,43 +0,0 @@ -package portalapi - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/azure-sdk-for-go/services/preview/portal/mgmt/2015-11-01-preview/portal" - "github.com/Azure/go-autorest/autorest" -) - -// OperationsClientAPI contains the set of methods on the OperationsClient type. -type OperationsClientAPI interface { - List(ctx context.Context) (result portal.ResourceProviderOperationListPage, err error) -} - -var _ OperationsClientAPI = (*portal.OperationsClient)(nil) - -// DashboardsClientAPI contains the set of methods on the DashboardsClient type. -type DashboardsClientAPI interface { - CreateOrUpdate(ctx context.Context, resourceGroupName string, dashboardName string, dashboard portal.Dashboard) (result portal.Dashboard, err error) - Delete(ctx context.Context, resourceGroupName string, dashboardName string) (result autorest.Response, err error) - Get(ctx context.Context, resourceGroupName string, dashboardName string) (result portal.Dashboard, err error) - ListByResourceGroup(ctx context.Context, resourceGroupName string) (result portal.DashboardListResultPage, err error) - ListBySubscription(ctx context.Context) (result portal.DashboardListResultPage, err error) - Update(ctx context.Context, resourceGroupName string, dashboardName string, dashboard portal.PatchableDashboard) (result portal.Dashboard, err error) -} - -var _ DashboardsClientAPI = (*portal.DashboardsClient)(nil) diff --git a/services/preview/portal/mgmt/2015-11-01-preview/portal/version.go b/services/preview/portal/mgmt/2015-11-01-preview/portal/version.go deleted file mode 100644 index 6db01fdc129b..000000000000 --- a/services/preview/portal/mgmt/2015-11-01-preview/portal/version.go +++ /dev/null @@ -1,30 +0,0 @@ -package portal - -import "github.com/Azure/azure-sdk-for-go/version" - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -// UserAgent returns the UserAgent string to use when sending http.Requests. -func UserAgent() string { - return "Azure-SDK-For-Go/" + version.Number + " portal/2015-11-01-preview" -} - -// Version returns the semantic version (see http://semver.org) of the client. -func Version() string { - return version.Number -} diff --git a/services/preview/postgresql/mgmt/2017-12-01-preview/postgresql/models.go b/services/preview/postgresql/mgmt/2017-12-01-preview/postgresql/models.go index 08eefa57999d..853ba11d2c91 100644 --- a/services/preview/postgresql/mgmt/2017-12-01-preview/postgresql/models.go +++ b/services/preview/postgresql/mgmt/2017-12-01-preview/postgresql/models.go @@ -25,6 +25,7 @@ import ( "github.com/Azure/go-autorest/autorest/date" "github.com/Azure/go-autorest/autorest/to" "github.com/Azure/go-autorest/tracing" + "github.com/satori/go.uuid" "net/http" ) @@ -956,6 +957,156 @@ func (s *Server) UnmarshalJSON(body []byte) error { return nil } +// ServerAdministratorProperties the properties of an server Administrator. +type ServerAdministratorProperties struct { + // AdministratorType - The type of administrator. + AdministratorType *string `json:"administratorType,omitempty"` + // Login - The server administrator login value. + Login *string `json:"login,omitempty"` + // Sid - The server administrator Sid (Secure ID). + Sid *uuid.UUID `json:"sid,omitempty"` + // TenantID - The server Active Directory Administrator tenant id. + TenantID *uuid.UUID `json:"tenantId,omitempty"` +} + +// ServerAdministratorResource represents a and external administrator to be created. +type ServerAdministratorResource struct { + autorest.Response `json:"-"` + // ServerAdministratorProperties - Properties of the server AAD administrator. + *ServerAdministratorProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource ID + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for ServerAdministratorResource. +func (sar ServerAdministratorResource) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if sar.ServerAdministratorProperties != nil { + objectMap["properties"] = sar.ServerAdministratorProperties + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ServerAdministratorResource struct. +func (sar *ServerAdministratorResource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var serverAdministratorProperties ServerAdministratorProperties + err = json.Unmarshal(*v, &serverAdministratorProperties) + if err != nil { + return err + } + sar.ServerAdministratorProperties = &serverAdministratorProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + sar.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + sar.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + sar.Type = &typeVar + } + } + } + + return nil +} + +// ServerAdministratorResourceListResult the response to a list Active Directory Administrators request. +type ServerAdministratorResourceListResult struct { + autorest.Response `json:"-"` + // Value - The list of server Active Directory Administrators for the server. + Value *[]ServerAdministratorResource `json:"value,omitempty"` +} + +// ServerAdministratorsCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type ServerAdministratorsCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ServerAdministratorsCreateOrUpdateFuture) Result(client ServerAdministratorsClient) (sar ServerAdministratorResource, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "postgresql.ServerAdministratorsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("postgresql.ServerAdministratorsCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if sar.Response.Response, err = future.GetResult(sender); err == nil && sar.Response.Response.StatusCode != http.StatusNoContent { + sar, err = client.CreateOrUpdateResponder(sar.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "postgresql.ServerAdministratorsCreateOrUpdateFuture", "Result", sar.Response.Response, "Failure responding to request") + } + } + return +} + +// ServerAdministratorsDeleteFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type ServerAdministratorsDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ServerAdministratorsDeleteFuture) Result(client ServerAdministratorsClient) (sar ServerAdministratorResource, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "postgresql.ServerAdministratorsDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("postgresql.ServerAdministratorsDeleteFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if sar.Response.Response, err = future.GetResult(sender); err == nil && sar.Response.Response.StatusCode != http.StatusNoContent { + sar, err = client.DeleteResponder(sar.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "postgresql.ServerAdministratorsDeleteFuture", "Result", sar.Response.Response, "Failure responding to request") + } + } + return +} + // ServerForCreate represents a server to be created. type ServerForCreate struct { // Sku - The SKU (pricing tier) of the server. diff --git a/services/preview/postgresql/mgmt/2017-12-01-preview/postgresql/postgresqlapi/interfaces.go b/services/preview/postgresql/mgmt/2017-12-01-preview/postgresql/postgresqlapi/interfaces.go index 6d4dc73b9886..07a979d114e8 100644 --- a/services/preview/postgresql/mgmt/2017-12-01-preview/postgresql/postgresqlapi/interfaces.go +++ b/services/preview/postgresql/mgmt/2017-12-01-preview/postgresql/postgresqlapi/interfaces.go @@ -88,6 +88,16 @@ type LogFilesClientAPI interface { var _ LogFilesClientAPI = (*postgresql.LogFilesClient)(nil) +// ServerAdministratorsClientAPI contains the set of methods on the ServerAdministratorsClient type. +type ServerAdministratorsClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, serverName string, properties postgresql.ServerAdministratorResource) (result postgresql.ServerAdministratorsCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, serverName string) (result postgresql.ServerAdministratorsDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, serverName string) (result postgresql.ServerAdministratorResource, err error) + ListByServer(ctx context.Context, resourceGroupName string, serverName string) (result postgresql.ServerAdministratorResourceListResult, err error) +} + +var _ ServerAdministratorsClientAPI = (*postgresql.ServerAdministratorsClient)(nil) + // LocationBasedPerformanceTierClientAPI contains the set of methods on the LocationBasedPerformanceTierClient type. type LocationBasedPerformanceTierClientAPI interface { List(ctx context.Context, locationName string) (result postgresql.PerformanceTierListResult, err error) diff --git a/services/preview/postgresql/mgmt/2017-12-01-preview/postgresql/serveradministrators.go b/services/preview/postgresql/mgmt/2017-12-01-preview/postgresql/serveradministrators.go new file mode 100644 index 000000000000..21a99463ac44 --- /dev/null +++ b/services/preview/postgresql/mgmt/2017-12-01-preview/postgresql/serveradministrators.go @@ -0,0 +1,371 @@ +package postgresql + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// ServerAdministratorsClient is the the Microsoft Azure management API provides create, read, update, and delete +// functionality for Azure PostgreSQL resources including servers, databases, firewall rules, VNET rules, security +// alert policies, log files and configurations with new business model. +type ServerAdministratorsClient struct { + BaseClient +} + +// NewServerAdministratorsClient creates an instance of the ServerAdministratorsClient client. +func NewServerAdministratorsClient(subscriptionID string) ServerAdministratorsClient { + return NewServerAdministratorsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewServerAdministratorsClientWithBaseURI creates an instance of the ServerAdministratorsClient client. +func NewServerAdministratorsClientWithBaseURI(baseURI string, subscriptionID string) ServerAdministratorsClient { + return ServerAdministratorsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or update active directory administrator on an existing server. The update action will +// overwrite the existing administrator. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serverName - the name of the server. +// properties - the required parameters for creating or updating an AAD server administrator. +func (client ServerAdministratorsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, serverName string, properties ServerAdministratorResource) (result ServerAdministratorsCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServerAdministratorsClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: properties, + Constraints: []validation.Constraint{{Target: "properties.ServerAdministratorProperties", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "properties.ServerAdministratorProperties.AdministratorType", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "properties.ServerAdministratorProperties.Login", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "properties.ServerAdministratorProperties.Sid", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "properties.ServerAdministratorProperties.TenantID", Name: validation.Null, Rule: true, Chain: nil}, + }}}}}); err != nil { + return result, validation.NewError("postgresql.ServerAdministratorsClient", "CreateOrUpdate", err.Error()) + } + + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, serverName, properties) + if err != nil { + err = autorest.NewErrorWithError(err, "postgresql.ServerAdministratorsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "postgresql.ServerAdministratorsClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client ServerAdministratorsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, serverName string, properties ServerAdministratorResource) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-12-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/Administrators/activeDirectory", pathParameters), + autorest.WithJSON(properties), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client ServerAdministratorsClient) CreateOrUpdateSender(req *http.Request) (future ServerAdministratorsCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client ServerAdministratorsClient) CreateOrUpdateResponder(resp *http.Response) (result ServerAdministratorResource, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes AAD Administrator. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serverName - the name of the server. +func (client ServerAdministratorsClient) Delete(ctx context.Context, resourceGroupName string, serverName string) (result ServerAdministratorsDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServerAdministratorsClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, serverName) + if err != nil { + err = autorest.NewErrorWithError(err, "postgresql.ServerAdministratorsClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "postgresql.ServerAdministratorsClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client ServerAdministratorsClient) DeletePreparer(ctx context.Context, resourceGroupName string, serverName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-12-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/Administrators/activeDirectory", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client ServerAdministratorsClient) DeleteSender(req *http.Request) (future ServerAdministratorsDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client ServerAdministratorsClient) DeleteResponder(resp *http.Response) (result ServerAdministratorResource, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Get gets information about a AAD server administrator. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serverName - the name of the server. +func (client ServerAdministratorsClient) Get(ctx context.Context, resourceGroupName string, serverName string) (result ServerAdministratorResource, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServerAdministratorsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, serverName) + if err != nil { + err = autorest.NewErrorWithError(err, "postgresql.ServerAdministratorsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "postgresql.ServerAdministratorsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "postgresql.ServerAdministratorsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client ServerAdministratorsClient) GetPreparer(ctx context.Context, resourceGroupName string, serverName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-12-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/Administrators/activeDirectory", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client ServerAdministratorsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client ServerAdministratorsClient) GetResponder(resp *http.Response) (result ServerAdministratorResource, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByServer returns a list of server Administrators. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serverName - the name of the server. +func (client ServerAdministratorsClient) ListByServer(ctx context.Context, resourceGroupName string, serverName string) (result ServerAdministratorResourceListResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServerAdministratorsClient.ListByServer") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListByServerPreparer(ctx, resourceGroupName, serverName) + if err != nil { + err = autorest.NewErrorWithError(err, "postgresql.ServerAdministratorsClient", "ListByServer", nil, "Failure preparing request") + return + } + + resp, err := client.ListByServerSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "postgresql.ServerAdministratorsClient", "ListByServer", resp, "Failure sending request") + return + } + + result, err = client.ListByServerResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "postgresql.ServerAdministratorsClient", "ListByServer", resp, "Failure responding to request") + } + + return +} + +// ListByServerPreparer prepares the ListByServer request. +func (client ServerAdministratorsClient) ListByServerPreparer(ctx context.Context, resourceGroupName string, serverName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-12-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/administrators", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByServerSender sends the ListByServer request. The method will close the +// http.Response Body if it receives an error. +func (client ServerAdministratorsClient) ListByServerSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByServerResponder handles the response to the ListByServer request. The method always +// closes the http.Response Body. +func (client ServerAdministratorsClient) ListByServerResponder(resp *http.Response) (result ServerAdministratorResourceListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/preview/reservations/mgmt/2019-04-01/reservations/client.go b/services/preview/reservations/mgmt/2019-04-01/reservations/client.go index dcb86a49a12b..27662ed4f1de 100644 --- a/services/preview/reservations/mgmt/2019-04-01/reservations/client.go +++ b/services/preview/reservations/mgmt/2019-04-01/reservations/client.go @@ -52,7 +52,8 @@ func NewWithBaseURI(baseURI string) BaseClient { } } -// GetAppliedReservationList get applicable `Reservation`s that are applied to this subscription. +// GetAppliedReservationList get applicable `Reservation`s that are applied to this subscription or a resource group +// under this subscription. // Parameters: // subscriptionID - id of the subscription func (client BaseClient) GetAppliedReservationList(ctx context.Context, subscriptionID string) (result AppliedReservations, err error) { diff --git a/services/preview/reservations/mgmt/2019-04-01/reservations/models.go b/services/preview/reservations/mgmt/2019-04-01/reservations/models.go index 6cc43ecb16d1..6e01aed5501e 100644 --- a/services/preview/reservations/mgmt/2019-04-01/reservations/models.go +++ b/services/preview/reservations/mgmt/2019-04-01/reservations/models.go @@ -182,6 +182,40 @@ func PossibleInstanceFlexibilityValues() []InstanceFlexibility { return []InstanceFlexibility{Off, On} } +// PaymentStatus enumerates the values for payment status. +type PaymentStatus string + +const ( + // Cancelled ... + Cancelled PaymentStatus = "Cancelled" + // Failed ... + Failed PaymentStatus = "Failed" + // Scheduled ... + Scheduled PaymentStatus = "Scheduled" + // Succeeded ... + Succeeded PaymentStatus = "Succeeded" +) + +// PossiblePaymentStatusValues returns an array of possible values for the PaymentStatus const type. +func PossiblePaymentStatusValues() []PaymentStatus { + return []PaymentStatus{Cancelled, Failed, Scheduled, Succeeded} +} + +// ReservationBillingPlan enumerates the values for reservation billing plan. +type ReservationBillingPlan string + +const ( + // Monthly ... + Monthly ReservationBillingPlan = "Monthly" + // Upfront ... + Upfront ReservationBillingPlan = "Upfront" +) + +// PossibleReservationBillingPlanValues returns an array of possible values for the ReservationBillingPlan const type. +func PossibleReservationBillingPlanValues() []ReservationBillingPlan { + return []ReservationBillingPlan{Monthly, Upfront} +} + // ReservationTerm enumerates the values for reservation term. type ReservationTerm string @@ -357,6 +391,7 @@ type CalculatePriceResponseProperties struct { SkuDescription *string `json:"skuDescription,omitempty"` // PricingCurrencyTotal - Amount that Microsoft uses for record. Used during refund for calculating refund limit. Tax is not included. PricingCurrencyTotal *CalculatePriceResponsePropertiesPricingCurrencyTotal `json:"pricingCurrencyTotal,omitempty"` + PaymentSchedule *[]PaymentDetail `json:"paymentSchedule,omitempty"` } // CalculatePriceResponsePropertiesBillingCurrencyTotal currency and amount that customer will be charged @@ -379,6 +414,8 @@ type Catalog struct { ResourceType *string `json:"resourceType,omitempty"` // Name - READ-ONLY; The name of SKU Name *string `json:"name,omitempty"` + // BillingPlans - The billing plan options available for this SKU. + BillingPlans *[]CatalogBillingPlansItem `json:"billingPlans,omitempty"` // Terms - READ-ONLY; Available reservation terms for this resource Terms *[]ReservationTerm `json:"terms,omitempty"` // Locations - READ-ONLY @@ -389,6 +426,62 @@ type Catalog struct { Restrictions *[]SkuRestriction `json:"restrictions,omitempty"` } +// CatalogBillingPlansItem ... +type CatalogBillingPlansItem struct { + // AdditionalProperties - Unmatched properties from the message are deserialized this collection + AdditionalProperties map[string][]ReservationBillingPlan `json:""` + // Name - The term for the billing SKU is available for. Possible values include: 'P1Y', 'P3Y' + Name ReservationTerm `json:"name,omitempty"` +} + +// MarshalJSON is the custom marshaler for CatalogBillingPlansItem. +func (cPi CatalogBillingPlansItem) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if cPi.Name != "" { + objectMap["name"] = cPi.Name + } + for k, v := range cPi.AdditionalProperties { + objectMap[k] = v + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for CatalogBillingPlansItem struct. +func (cPi *CatalogBillingPlansItem) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + default: + if v != nil { + var additionalProperties []ReservationBillingPlan + err = json.Unmarshal(*v, &additionalProperties) + if err != nil { + return err + } + if cPi.AdditionalProperties == nil { + cPi.AdditionalProperties = make(map[string][]ReservationBillingPlan) + } + cPi.AdditionalProperties[k] = additionalProperties + } + case "name": + if v != nil { + var name ReservationTerm + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + cPi.Name = name + } + } + } + + return nil +} + // Error ... type Error struct { Error *ExtendedErrorInfo `json:"error,omitempty"` @@ -778,6 +871,17 @@ type OperationResponse struct { Origin *string `json:"origin,omitempty"` } +// OrderBillingPlanInformation information describing the type of billing plan for this reservation. +type OrderBillingPlanInformation struct { + // PricingCurrencyTotal - Amount of money to be paid for the Order. Tax is not included. + PricingCurrencyTotal *Price `json:"pricingCurrencyTotal,omitempty"` + // StartDate - Date when the billing plan has started. + StartDate *date.Date `json:"startDate,omitempty"` + // NextPaymentDueDate - For recurring billing plans, indicates the date when next payment will be processed. Null when total is paid off. + NextPaymentDueDate *date.Date `json:"nextPaymentDueDate,omitempty"` + Transactions *[]PaymentDetail `json:"transactions,omitempty"` +} + // OrderList ... type OrderList struct { autorest.Response `json:"-"` @@ -937,8 +1041,11 @@ type OrderProperties struct { // Term - Possible values include: 'P1Y', 'P3Y' Term ReservationTerm `json:"term,omitempty"` // ProvisioningState - Current state of the reservation. - ProvisioningState *string `json:"provisioningState,omitempty"` - ReservationsProperty *[]Response `json:"reservations,omitempty"` + ProvisioningState *string `json:"provisioningState,omitempty"` + // BillingPlan - Possible values include: 'Upfront', 'Monthly' + BillingPlan ReservationBillingPlan `json:"billingPlan,omitempty"` + PlanInformation *OrderBillingPlanInformation `json:"planInformation,omitempty"` + ReservationsProperty *[]Response `json:"reservations,omitempty"` } // OrderPurchaseFuture an abstraction for monitoring and retrieving the results of a long-running @@ -1111,6 +1218,30 @@ type PatchPropertiesRenewProperties struct { PurchaseProperties *PurchaseRequest `json:"purchaseProperties,omitempty"` } +// PaymentDetail information about payment related to a reservation order. +type PaymentDetail struct { + // DueDate - Date when the payment needs to be done. + DueDate *date.Date `json:"dueDate,omitempty"` + // PaymentDate - Date when the transaction is completed. Is null when it is scheduled. + PaymentDate *date.Date `json:"paymentDate,omitempty"` + // PricingCurrencyTotal - Amount in pricing currency. Tax not included. + PricingCurrencyTotal *Price `json:"pricingCurrencyTotal,omitempty"` + // BillingCurrencyTotal - Amount charged in Billing currency. Tax not included. Is null for future payments + BillingCurrencyTotal *Price `json:"billingCurrencyTotal,omitempty"` + // BillingAccount - Shows the Account that is charged for this payment. + BillingAccount *string `json:"billingAccount,omitempty"` + // Status - Possible values include: 'Succeeded', 'Failed', 'Scheduled', 'Cancelled' + Status PaymentStatus `json:"status,omitempty"` + ExtendedStatusInfo *ExtendedStatusInfo `json:"extendedStatusInfo,omitempty"` +} + +// Price ... +type Price struct { + // CurrencyCode - The ISO 4217 3-letter currency code for the currency used by this purchase record. + CurrencyCode *string `json:"currencyCode,omitempty"` + Amount *float64 `json:"amount,omitempty"` +} + // Properties ... type Properties struct { autorest.Response `json:"-"` @@ -1138,12 +1269,14 @@ type PropertiesType struct { // ExpiryDate - This is the date when the Reservation will expire. ExpiryDate *date.Date `json:"expiryDate,omitempty"` // SkuDescription - Description of the SKU in english. - SkuDescription *string `json:"skuDescription,omitempty"` - ExtendedStatusInfo *ExtendedStatusInfo `json:"extendedStatusInfo,omitempty"` - SplitProperties *SplitPropertiesType `json:"splitProperties,omitempty"` - MergeProperties *MergePropertiesType `json:"mergeProperties,omitempty"` - BillingScopeID *string `json:"billingScopeId,omitempty"` - Renew *bool `json:"renew,omitempty"` + SkuDescription *string `json:"skuDescription,omitempty"` + ExtendedStatusInfo *ExtendedStatusInfo `json:"extendedStatusInfo,omitempty"` + // BillingPlan - Possible values include: 'Upfront', 'Monthly' + BillingPlan ReservationBillingPlan `json:"billingPlan,omitempty"` + SplitProperties *SplitPropertiesType `json:"splitProperties,omitempty"` + MergeProperties *MergePropertiesType `json:"mergeProperties,omitempty"` + BillingScopeID *string `json:"billingScopeId,omitempty"` + Renew *bool `json:"renew,omitempty"` // RenewSource - Reservation Id of the reservation from which this reservation is renewed. Format of the resource Id is /providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/reservations/{reservationId}. RenewSource *string `json:"renewSource,omitempty"` // RenewDestination - Reservation Id of the reservation which is purchased because of renew. Format of the resource Id is /providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/reservations/{reservationId}. @@ -1224,8 +1357,10 @@ type PurchaseRequestProperties struct { ReservedResourceType ReservedResourceType `json:"reservedResourceType,omitempty"` BillingScopeID *string `json:"billingScopeId,omitempty"` // Term - Possible values include: 'P1Y', 'P3Y' - Term ReservationTerm `json:"term,omitempty"` - Quantity *int32 `json:"quantity,omitempty"` + Term ReservationTerm `json:"term,omitempty"` + // BillingPlan - Possible values include: 'Upfront', 'Monthly' + BillingPlan ReservationBillingPlan `json:"billingPlan,omitempty"` + Quantity *int32 `json:"quantity,omitempty"` // DisplayName - Friendly name of the Reservation DisplayName *string `json:"displayName,omitempty"` // AppliedScopeType - Possible values include: 'Single', 'Shared' diff --git a/services/preview/reservations/mgmt/2019-04-01/reservations/order.go b/services/preview/reservations/mgmt/2019-04-01/reservations/order.go index 912230259b4b..fae3f04b0d82 100644 --- a/services/preview/reservations/mgmt/2019-04-01/reservations/order.go +++ b/services/preview/reservations/mgmt/2019-04-01/reservations/order.go @@ -115,7 +115,8 @@ func (client OrderClient) CalculateResponder(resp *http.Response) (result Calcul // Get get the details of the `ReservationOrder`. // Parameters: // reservationOrderID - order Id of the reservation -func (client OrderClient) Get(ctx context.Context, reservationOrderID string) (result OrderResponse, err error) { +// expand - may be used to expand the planInformation. +func (client OrderClient) Get(ctx context.Context, reservationOrderID string, expand string) (result OrderResponse, err error) { if tracing.IsEnabled() { ctx = tracing.StartSpan(ctx, fqdn+"/OrderClient.Get") defer func() { @@ -126,7 +127,7 @@ func (client OrderClient) Get(ctx context.Context, reservationOrderID string) (r tracing.EndSpan(ctx, sc, err) }() } - req, err := client.GetPreparer(ctx, reservationOrderID) + req, err := client.GetPreparer(ctx, reservationOrderID, expand) if err != nil { err = autorest.NewErrorWithError(err, "reservations.OrderClient", "Get", nil, "Failure preparing request") return @@ -148,7 +149,7 @@ func (client OrderClient) Get(ctx context.Context, reservationOrderID string) (r } // GetPreparer prepares the Get request. -func (client OrderClient) GetPreparer(ctx context.Context, reservationOrderID string) (*http.Request, error) { +func (client OrderClient) GetPreparer(ctx context.Context, reservationOrderID string, expand string) (*http.Request, error) { pathParameters := map[string]interface{}{ "reservationOrderId": autorest.Encode("path", reservationOrderID), } @@ -157,6 +158,9 @@ func (client OrderClient) GetPreparer(ctx context.Context, reservationOrderID st queryParameters := map[string]interface{}{ "api-version": APIVersion, } + if len(expand) > 0 { + queryParameters["$expand"] = autorest.Encode("query", expand) + } preparer := autorest.CreatePreparer( autorest.AsGet(), diff --git a/services/preview/reservations/mgmt/2019-04-01/reservations/reservationsapi/interfaces.go b/services/preview/reservations/mgmt/2019-04-01/reservations/reservationsapi/interfaces.go index 70e8f000f936..35f3341eaf2d 100644 --- a/services/preview/reservations/mgmt/2019-04-01/reservations/reservationsapi/interfaces.go +++ b/services/preview/reservations/mgmt/2019-04-01/reservations/reservationsapi/interfaces.go @@ -46,7 +46,7 @@ var _ ClientAPI = (*reservations.Client)(nil) // OrderClientAPI contains the set of methods on the OrderClient type. type OrderClientAPI interface { Calculate(ctx context.Context, body reservations.PurchaseRequest) (result reservations.CalculatePriceResponse, err error) - Get(ctx context.Context, reservationOrderID string) (result reservations.OrderResponse, err error) + Get(ctx context.Context, reservationOrderID string, expand string) (result reservations.OrderResponse, err error) List(ctx context.Context) (result reservations.OrderListPage, err error) Purchase(ctx context.Context, reservationOrderID string, body reservations.PurchaseRequest) (result reservations.OrderPurchaseFuture, err error) } diff --git a/services/preview/resources/mgmt/2016-09-01-preview/managedapplications/models.go b/services/preview/resources/mgmt/2016-09-01-preview/managedapplications/models.go index 09de4b7b94c0..8cce0884e39b 100644 --- a/services/preview/resources/mgmt/2016-09-01-preview/managedapplications/models.go +++ b/services/preview/resources/mgmt/2016-09-01-preview/managedapplications/models.go @@ -285,7 +285,7 @@ type ApplianceArtifact struct { Name *string `json:"name,omitempty"` // URI - The appliance artifact blob uri. URI *string `json:"uri,omitempty"` - // Type - The the appliance artifact type. Possible values include: 'Template', 'Custom' + // Type - The appliance artifact type. Possible values include: 'Template', 'Custom' Type ApplianceArtifactType `json:"type,omitempty"` } diff --git a/services/preview/security/mgmt/v1.0/security/models.go b/services/preview/security/mgmt/v1.0/security/models.go index 6b41a0671d75..f19291c333e0 100644 --- a/services/preview/security/mgmt/v1.0/security/models.go +++ b/services/preview/security/mgmt/v1.0/security/models.go @@ -96,6 +96,25 @@ func PossibleAlertsToAdminsValues() []AlertsToAdmins { return []AlertsToAdmins{AlertsToAdminsOff, AlertsToAdminsOn} } +// AssessedResourceType enumerates the values for assessed resource type. +type AssessedResourceType string + +const ( + // AssessedResourceTypeAdditionalData ... + AssessedResourceTypeAdditionalData AssessedResourceType = "AdditionalData" + // AssessedResourceTypeContainerRegistryVulnerability ... + AssessedResourceTypeContainerRegistryVulnerability AssessedResourceType = "ContainerRegistryVulnerability" + // AssessedResourceTypeServerVulnerabilityAssessment ... + AssessedResourceTypeServerVulnerabilityAssessment AssessedResourceType = "ServerVulnerabilityAssessment" + // AssessedResourceTypeSQLServerVulnerability ... + AssessedResourceTypeSQLServerVulnerability AssessedResourceType = "SqlServerVulnerability" +) + +// PossibleAssessedResourceTypeValues returns an array of possible values for the AssessedResourceType const type. +func PossibleAssessedResourceTypeValues() []AssessedResourceType { + return []AssessedResourceType{AssessedResourceTypeAdditionalData, AssessedResourceTypeContainerRegistryVulnerability, AssessedResourceTypeServerVulnerabilityAssessment, AssessedResourceTypeSQLServerVulnerability} +} + // AutoProvision enumerates the values for auto provision. type AutoProvision string @@ -212,11 +231,13 @@ const ( Audit EnforcementMode = "Audit" // Enforce ... Enforce EnforcementMode = "Enforce" + // None ... + None EnforcementMode = "None" ) // PossibleEnforcementModeValues returns an array of possible values for the EnforcementMode const type. func PossibleEnforcementModeValues() []EnforcementMode { - return []EnforcementMode{Audit, Enforce} + return []EnforcementMode{Audit, Enforce, None} } // EnforcementMode1 enumerates the values for enforcement mode 1. @@ -227,11 +248,47 @@ const ( EnforcementMode1Audit EnforcementMode1 = "Audit" // EnforcementMode1Enforce ... EnforcementMode1Enforce EnforcementMode1 = "Enforce" + // EnforcementMode1None ... + EnforcementMode1None EnforcementMode1 = "None" ) // PossibleEnforcementMode1Values returns an array of possible values for the EnforcementMode1 const type. func PossibleEnforcementMode1Values() []EnforcementMode1 { - return []EnforcementMode1{EnforcementMode1Audit, EnforcementMode1Enforce} + return []EnforcementMode1{EnforcementMode1Audit, EnforcementMode1Enforce, EnforcementMode1None} +} + +// Exe enumerates the values for exe. +type Exe string + +const ( + // ExeAudit ... + ExeAudit Exe = "Audit" + // ExeEnforce ... + ExeEnforce Exe = "Enforce" + // ExeNone ... + ExeNone Exe = "None" +) + +// PossibleExeValues returns an array of possible values for the Exe const type. +func PossibleExeValues() []Exe { + return []Exe{ExeAudit, ExeEnforce, ExeNone} +} + +// Executable enumerates the values for executable. +type Executable string + +const ( + // ExecutableAudit ... + ExecutableAudit Executable = "Audit" + // ExecutableEnforce ... + ExecutableEnforce Executable = "Enforce" + // ExecutableNone ... + ExecutableNone Executable = "None" +) + +// PossibleExecutableValues returns an array of possible values for the Executable const type. +func PossibleExecutableValues() []Executable { + return []Executable{ExecutableAudit, ExecutableEnforce, ExecutableNone} } // ExternalSecuritySolutionKind enumerates the values for external security solution kind. @@ -274,23 +331,23 @@ func PossibleFamilyValues() []Family { type FileType string const ( - // Dll ... - Dll FileType = "Dll" - // Exe ... - Exe FileType = "Exe" - // Executable ... - Executable FileType = "Executable" - // Msi ... - Msi FileType = "Msi" - // Script ... - Script FileType = "Script" - // Unknown ... - Unknown FileType = "Unknown" + // FileTypeDll ... + FileTypeDll FileType = "Dll" + // FileTypeExe ... + FileTypeExe FileType = "Exe" + // FileTypeExecutable ... + FileTypeExecutable FileType = "Executable" + // FileTypeMsi ... + FileTypeMsi FileType = "Msi" + // FileTypeScript ... + FileTypeScript FileType = "Script" + // FileTypeUnknown ... + FileTypeUnknown FileType = "Unknown" ) // PossibleFileTypeValues returns an array of possible values for the FileType const type. func PossibleFileTypeValues() []FileType { - return []FileType{Dll, Exe, Executable, Msi, Script, Unknown} + return []FileType{FileTypeDll, FileTypeExe, FileTypeExecutable, FileTypeMsi, FileTypeScript, FileTypeUnknown} } // Issue enumerates the values for issue. @@ -335,6 +392,23 @@ func PossibleKindEnumValues() []KindEnum { return []KindEnum{KindAAD, KindATA, KindCEF, KindExternalSecuritySolution} } +// Msi enumerates the values for msi. +type Msi string + +const ( + // MsiAudit ... + MsiAudit Msi = "Audit" + // MsiEnforce ... + MsiEnforce Msi = "Enforce" + // MsiNone ... + MsiNone Msi = "None" +) + +// PossibleMsiValues returns an array of possible values for the Msi const type. +func PossibleMsiValues() []Msi { + return []Msi{MsiAudit, MsiEnforce, MsiNone} +} + // PricingTier enumerates the values for pricing tier. type PricingTier string @@ -439,6 +513,23 @@ func PossibleReportedSeverityValues() []ReportedSeverity { return []ReportedSeverity{High, Information, Low, Silent} } +// Script enumerates the values for script. +type Script string + +const ( + // ScriptAudit ... + ScriptAudit Script = "Audit" + // ScriptEnforce ... + ScriptEnforce Script = "Enforce" + // ScriptNone ... + ScriptNone Script = "None" +) + +// PossibleScriptValues returns an array of possible values for the Script const type. +func PossibleScriptValues() []Script { + return []Script{ScriptAudit, ScriptEnforce, ScriptNone} +} + // SettingKind enumerates the values for setting kind. type SettingKind string @@ -454,25 +545,59 @@ func PossibleSettingKindValues() []SettingKind { return []SettingKind{SettingKindAlertSuppressionSetting, SettingKindDataExportSetting} } +// Severity enumerates the values for severity. +type Severity string + +const ( + // SeverityHigh ... + SeverityHigh Severity = "High" + // SeverityLow ... + SeverityLow Severity = "Low" + // SeverityMedium ... + SeverityMedium Severity = "Medium" +) + +// PossibleSeverityValues returns an array of possible values for the Severity const type. +func PossibleSeverityValues() []Severity { + return []Severity{SeverityHigh, SeverityLow, SeverityMedium} +} + +// Source enumerates the values for source. +type Source string + +const ( + // SourceAws ... + SourceAws Source = "Aws" + // SourceAzure ... + SourceAzure Source = "Azure" + // SourceResourceDetails ... + SourceResourceDetails Source = "ResourceDetails" +) + +// PossibleSourceValues returns an array of possible values for the Source const type. +func PossibleSourceValues() []Source { + return []Source{SourceAws, SourceAzure, SourceResourceDetails} +} + // SourceSystem enumerates the values for source system. type SourceSystem string const ( - // AzureAppLocker ... - AzureAppLocker SourceSystem = "Azure_AppLocker" - // AzureAuditD ... - AzureAuditD SourceSystem = "Azure_AuditD" - // NonAzureAppLocker ... - NonAzureAppLocker SourceSystem = "NonAzure_AppLocker" - // NonAzureAuditD ... - NonAzureAuditD SourceSystem = "NonAzure_AuditD" - // None ... - None SourceSystem = "None" + // SourceSystemAzureAppLocker ... + SourceSystemAzureAppLocker SourceSystem = "Azure_AppLocker" + // SourceSystemAzureAuditD ... + SourceSystemAzureAuditD SourceSystem = "Azure_AuditD" + // SourceSystemNonAzureAppLocker ... + SourceSystemNonAzureAppLocker SourceSystem = "NonAzure_AppLocker" + // SourceSystemNonAzureAuditD ... + SourceSystemNonAzureAuditD SourceSystem = "NonAzure_AuditD" + // SourceSystemNone ... + SourceSystemNone SourceSystem = "None" ) // PossibleSourceSystemValues returns an array of possible values for the SourceSystem const type. func PossibleSourceSystemValues() []SourceSystem { - return []SourceSystem{AzureAppLocker, AzureAuditD, NonAzureAppLocker, NonAzureAuditD, None} + return []SourceSystem{SourceSystemAzureAppLocker, SourceSystemAzureAuditD, SourceSystemNonAzureAppLocker, SourceSystemNonAzureAuditD, SourceSystemNone} } // State enumerates the values for state. @@ -527,6 +652,23 @@ func PossibleStatusReasonValues() []StatusReason { return []StatusReason{Expired, NewerRequestInitiated, UserRequested} } +// SubAssessmentStatusCode enumerates the values for sub assessment status code. +type SubAssessmentStatusCode string + +const ( + // Healthy The resource is healthy + Healthy SubAssessmentStatusCode = "Healthy" + // NotApplicable Assessment for this resource did not happen + NotApplicable SubAssessmentStatusCode = "NotApplicable" + // Unhealthy The resource has a security issue that needs to be addressed + Unhealthy SubAssessmentStatusCode = "Unhealthy" +) + +// PossibleSubAssessmentStatusCodeValues returns an array of possible values for the SubAssessmentStatusCode const type. +func PossibleSubAssessmentStatusCodeValues() []SubAssessmentStatusCode { + return []SubAssessmentStatusCode{Healthy, NotApplicable, Unhealthy} +} + // TransportProtocol enumerates the values for transport protocol. type TransportProtocol string @@ -911,6 +1053,100 @@ func NewAdaptiveNetworkHardeningsListPage(getNextPage func(context.Context, Adap return AdaptiveNetworkHardeningsListPage{fn: getNextPage} } +// BasicAdditionalData details of the sub-assessment +type BasicAdditionalData interface { + AsSQLServerVulnerabilityProperties() (*SQLServerVulnerabilityProperties, bool) + AsContainerRegistryVulnerabilityProperties() (*ContainerRegistryVulnerabilityProperties, bool) + AsServerVulnerabilityProperties() (*ServerVulnerabilityProperties, bool) + AsAdditionalData() (*AdditionalData, bool) +} + +// AdditionalData details of the sub-assessment +type AdditionalData struct { + // AssessedResourceType - Possible values include: 'AssessedResourceTypeAdditionalData', 'AssessedResourceTypeSQLServerVulnerability', 'AssessedResourceTypeContainerRegistryVulnerability', 'AssessedResourceTypeServerVulnerabilityAssessment' + AssessedResourceType AssessedResourceType `json:"assessedResourceType,omitempty"` +} + +func unmarshalBasicAdditionalData(body []byte) (BasicAdditionalData, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["assessedResourceType"] { + case string(AssessedResourceTypeSQLServerVulnerability): + var ssvp SQLServerVulnerabilityProperties + err := json.Unmarshal(body, &ssvp) + return ssvp, err + case string(AssessedResourceTypeContainerRegistryVulnerability): + var crvp ContainerRegistryVulnerabilityProperties + err := json.Unmarshal(body, &crvp) + return crvp, err + case string(AssessedResourceTypeServerVulnerabilityAssessment): + var svp ServerVulnerabilityProperties + err := json.Unmarshal(body, &svp) + return svp, err + default: + var ad AdditionalData + err := json.Unmarshal(body, &ad) + return ad, err + } +} +func unmarshalBasicAdditionalDataArray(body []byte) ([]BasicAdditionalData, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + adArray := make([]BasicAdditionalData, len(rawMessages)) + + for index, rawMessage := range rawMessages { + ad, err := unmarshalBasicAdditionalData(*rawMessage) + if err != nil { + return nil, err + } + adArray[index] = ad + } + return adArray, nil +} + +// MarshalJSON is the custom marshaler for AdditionalData. +func (ad AdditionalData) MarshalJSON() ([]byte, error) { + ad.AssessedResourceType = AssessedResourceTypeAdditionalData + objectMap := make(map[string]interface{}) + if ad.AssessedResourceType != "" { + objectMap["assessedResourceType"] = ad.AssessedResourceType + } + return json.Marshal(objectMap) +} + +// AsSQLServerVulnerabilityProperties is the BasicAdditionalData implementation for AdditionalData. +func (ad AdditionalData) AsSQLServerVulnerabilityProperties() (*SQLServerVulnerabilityProperties, bool) { + return nil, false +} + +// AsContainerRegistryVulnerabilityProperties is the BasicAdditionalData implementation for AdditionalData. +func (ad AdditionalData) AsContainerRegistryVulnerabilityProperties() (*ContainerRegistryVulnerabilityProperties, bool) { + return nil, false +} + +// AsServerVulnerabilityProperties is the BasicAdditionalData implementation for AdditionalData. +func (ad AdditionalData) AsServerVulnerabilityProperties() (*ServerVulnerabilityProperties, bool) { + return nil, false +} + +// AsAdditionalData is the BasicAdditionalData implementation for AdditionalData. +func (ad AdditionalData) AsAdditionalData() (*AdditionalData, bool) { + return &ad, true +} + +// AsBasicAdditionalData is the BasicAdditionalData implementation for AdditionalData. +func (ad AdditionalData) AsBasicAdditionalData() (BasicAdditionalData, bool) { + return &ad, true +} + // AdvancedThreatProtectionProperties the Advanced Threat Protection settings. type AdvancedThreatProtectionProperties struct { // IsEnabled - Indicates whether Advanced Threat Protection is enabled. @@ -1671,14 +1907,15 @@ func (awg *AppWhitelistingGroup) UnmarshalJSON(body []byte) error { // AppWhitelistingGroupData represents a VM/server group and set of rules that are Recommended by Azure // Security Center to be allowed type AppWhitelistingGroupData struct { - // EnforcementMode - Possible values include: 'Audit', 'Enforce' + // EnforcementMode - Possible values include: 'Audit', 'Enforce', 'None' EnforcementMode EnforcementMode `json:"enforcementMode,omitempty"` + ProtectionMode *ProtectionMode `json:"protectionMode,omitempty"` // ConfigurationStatus - Possible values include: 'ConfigurationStatus2Configured', 'ConfigurationStatus2NotConfigured', 'ConfigurationStatus2InProgress', 'ConfigurationStatus2Failed', 'ConfigurationStatus2NoStatus' ConfigurationStatus ConfigurationStatus2 `json:"configurationStatus,omitempty"` // RecommendationStatus - Possible values include: 'RecommendationStatusRecommended', 'RecommendationStatusNotRecommended', 'RecommendationStatusNotAvailable', 'RecommendationStatusNoStatus' RecommendationStatus RecommendationStatus `json:"recommendationStatus,omitempty"` Issues *[]AppWhitelistingIssueSummary `json:"issues,omitempty"` - // SourceSystem - Possible values include: 'AzureAppLocker', 'AzureAuditD', 'NonAzureAppLocker', 'NonAzureAuditD', 'None' + // SourceSystem - Possible values include: 'SourceSystemAzureAppLocker', 'SourceSystemAzureAuditD', 'SourceSystemNonAzureAppLocker', 'SourceSystemNonAzureAuditD', 'SourceSystemNone' SourceSystem SourceSystem `json:"sourceSystem,omitempty"` VMRecommendations *[]VMRecommendation `json:"vmRecommendations,omitempty"` PathRecommendations *[]PathRecommendation `json:"pathRecommendations,omitempty"` @@ -1701,8 +1938,10 @@ type AppWhitelistingIssueSummary struct { // AppWhitelistingPutGroupData the altered data of the recommended VM/server group policy type AppWhitelistingPutGroupData struct { - // EnforcementMode - Possible values include: 'EnforcementMode1Audit', 'EnforcementMode1Enforce' - EnforcementMode EnforcementMode1 `json:"enforcementMode,omitempty"` + // EnforcementMode - The enforcement mode of the group. Can also be defined per collection type by using ProtectionMode. Possible values include: 'EnforcementMode1Audit', 'EnforcementMode1Enforce', 'EnforcementMode1None' + EnforcementMode EnforcementMode1 `json:"enforcementMode,omitempty"` + // ProtectionMode - The protection mode of the group per collection type. Can also be defined for all collection types by using EnforcementMode + ProtectionMode *ProtectionMode `json:"protectionMode,omitempty"` VMRecommendations *[]VMRecommendation `json:"vmRecommendations,omitempty"` PathRecommendations *[]PathRecommendation `json:"pathRecommendations,omitempty"` } @@ -2238,6 +2477,84 @@ type AutoProvisioningSettingProperties struct { AutoProvision AutoProvision `json:"autoProvision,omitempty"` } +// AwsResourceDetails details of the resource that was assessed +type AwsResourceDetails struct { + // AccountID - READ-ONLY; AWS account ID + AccountID *string `json:"accountId,omitempty"` + // AwsResourceID - READ-ONLY; AWS resource ID. can be ARN or other + AwsResourceID *string `json:"awsResourceId,omitempty"` + // Source - Possible values include: 'SourceResourceDetails', 'SourceAzure', 'SourceAws' + Source Source `json:"source,omitempty"` +} + +// MarshalJSON is the custom marshaler for AwsResourceDetails. +func (ard AwsResourceDetails) MarshalJSON() ([]byte, error) { + ard.Source = SourceAws + objectMap := make(map[string]interface{}) + if ard.Source != "" { + objectMap["source"] = ard.Source + } + return json.Marshal(objectMap) +} + +// AsAzureResourceDetails is the BasicResourceDetails implementation for AwsResourceDetails. +func (ard AwsResourceDetails) AsAzureResourceDetails() (*AzureResourceDetails, bool) { + return nil, false +} + +// AsAwsResourceDetails is the BasicResourceDetails implementation for AwsResourceDetails. +func (ard AwsResourceDetails) AsAwsResourceDetails() (*AwsResourceDetails, bool) { + return &ard, true +} + +// AsResourceDetails is the BasicResourceDetails implementation for AwsResourceDetails. +func (ard AwsResourceDetails) AsResourceDetails() (*ResourceDetails, bool) { + return nil, false +} + +// AsBasicResourceDetails is the BasicResourceDetails implementation for AwsResourceDetails. +func (ard AwsResourceDetails) AsBasicResourceDetails() (BasicResourceDetails, bool) { + return &ard, true +} + +// AzureResourceDetails details of the resource that was assessed +type AzureResourceDetails struct { + // ID - READ-ONLY; Azure resource ID of the assessed resource + ID *string `json:"id,omitempty"` + // Source - Possible values include: 'SourceResourceDetails', 'SourceAzure', 'SourceAws' + Source Source `json:"source,omitempty"` +} + +// MarshalJSON is the custom marshaler for AzureResourceDetails. +func (ard AzureResourceDetails) MarshalJSON() ([]byte, error) { + ard.Source = SourceAzure + objectMap := make(map[string]interface{}) + if ard.Source != "" { + objectMap["source"] = ard.Source + } + return json.Marshal(objectMap) +} + +// AsAzureResourceDetails is the BasicResourceDetails implementation for AzureResourceDetails. +func (ard AzureResourceDetails) AsAzureResourceDetails() (*AzureResourceDetails, bool) { + return &ard, true +} + +// AsAwsResourceDetails is the BasicResourceDetails implementation for AzureResourceDetails. +func (ard AzureResourceDetails) AsAwsResourceDetails() (*AwsResourceDetails, bool) { + return nil, false +} + +// AsResourceDetails is the BasicResourceDetails implementation for AzureResourceDetails. +func (ard AzureResourceDetails) AsResourceDetails() (*ResourceDetails, bool) { + return nil, false +} + +// AsBasicResourceDetails is the BasicResourceDetails implementation for AzureResourceDetails. +func (ard AzureResourceDetails) AsBasicResourceDetails() (BasicResourceDetails, bool) { + return &ard, true +} + // CefExternalSecuritySolution represents a security solution which sends CEF logs to an OMS workspace type CefExternalSecuritySolution struct { Properties *CefSolutionProperties `json:"properties,omitempty"` @@ -2954,6 +3271,64 @@ type ContactProperties struct { AlertsToAdmins AlertsToAdmins `json:"alertsToAdmins,omitempty"` } +// ContainerRegistryVulnerabilityProperties additional context fields for container registry Vulnerability +// assessment +type ContainerRegistryVulnerabilityProperties struct { + // Type - READ-ONLY; Vulnerability Type. e.g: Vulnerability, Potential Vulnerability, Information Gathered, Vulnerability + Type *string `json:"type,omitempty"` + // Cvss - READ-ONLY; Dictionary from cvss version to cvss details object + Cvss map[string]*CVSS `json:"cvss"` + // Patchable - READ-ONLY; Indicates whether a patch is available or not + Patchable *bool `json:"patchable,omitempty"` + // Cve - READ-ONLY; List of CVEs + Cve *[]CVE `json:"cve,omitempty"` + // PublishedTime - READ-ONLY; Published time + PublishedTime *date.Time `json:"publishedTime,omitempty"` + // VendorReferences - READ-ONLY + VendorReferences *[]VendorReference `json:"vendorReferences,omitempty"` + // RepositoryName - READ-ONLY; Name of the repository which the vulnerable image belongs to + RepositoryName *string `json:"repositoryName,omitempty"` + // ImageDigest - READ-ONLY; Digest of the vulnerable image + ImageDigest *string `json:"imageDigest,omitempty"` + // AssessedResourceType - Possible values include: 'AssessedResourceTypeAdditionalData', 'AssessedResourceTypeSQLServerVulnerability', 'AssessedResourceTypeContainerRegistryVulnerability', 'AssessedResourceTypeServerVulnerabilityAssessment' + AssessedResourceType AssessedResourceType `json:"assessedResourceType,omitempty"` +} + +// MarshalJSON is the custom marshaler for ContainerRegistryVulnerabilityProperties. +func (crvp ContainerRegistryVulnerabilityProperties) MarshalJSON() ([]byte, error) { + crvp.AssessedResourceType = AssessedResourceTypeContainerRegistryVulnerability + objectMap := make(map[string]interface{}) + if crvp.AssessedResourceType != "" { + objectMap["assessedResourceType"] = crvp.AssessedResourceType + } + return json.Marshal(objectMap) +} + +// AsSQLServerVulnerabilityProperties is the BasicAdditionalData implementation for ContainerRegistryVulnerabilityProperties. +func (crvp ContainerRegistryVulnerabilityProperties) AsSQLServerVulnerabilityProperties() (*SQLServerVulnerabilityProperties, bool) { + return nil, false +} + +// AsContainerRegistryVulnerabilityProperties is the BasicAdditionalData implementation for ContainerRegistryVulnerabilityProperties. +func (crvp ContainerRegistryVulnerabilityProperties) AsContainerRegistryVulnerabilityProperties() (*ContainerRegistryVulnerabilityProperties, bool) { + return &crvp, true +} + +// AsServerVulnerabilityProperties is the BasicAdditionalData implementation for ContainerRegistryVulnerabilityProperties. +func (crvp ContainerRegistryVulnerabilityProperties) AsServerVulnerabilityProperties() (*ServerVulnerabilityProperties, bool) { + return nil, false +} + +// AsAdditionalData is the BasicAdditionalData implementation for ContainerRegistryVulnerabilityProperties. +func (crvp ContainerRegistryVulnerabilityProperties) AsAdditionalData() (*AdditionalData, bool) { + return nil, false +} + +// AsBasicAdditionalData is the BasicAdditionalData implementation for ContainerRegistryVulnerabilityProperties. +func (crvp ContainerRegistryVulnerabilityProperties) AsBasicAdditionalData() (BasicAdditionalData, bool) { + return &crvp, true +} + // CustomAlertRule a custom alert rule type CustomAlertRule struct { // DisplayName - READ-ONLY; The display name of the custom alert. @@ -2966,6 +3341,20 @@ type CustomAlertRule struct { RuleType *string `json:"ruleType,omitempty"` } +// CVE CVE details +type CVE struct { + // Title - READ-ONLY; CVE title + Title *string `json:"title,omitempty"` + // Link - READ-ONLY; Link url + Link *string `json:"link,omitempty"` +} + +// CVSS CVSS details +type CVSS struct { + // Base - READ-ONLY; CVSS base + Base *float64 `json:"base,omitempty"` +} + // DataExportSetting represents a data export setting type DataExportSetting struct { // DataExportSettingProperties - Data export setting data @@ -4468,6 +4857,8 @@ type JitNetworkAccessPolicyInitiatePort struct { type JitNetworkAccessPolicyInitiateRequest struct { // VirtualMachines - A list of virtual machines & ports to open access for VirtualMachines *[]JitNetworkAccessPolicyInitiateVirtualMachine `json:"virtualMachines,omitempty"` + // Justification - The justification for making the initiate request + Justification *string `json:"justification,omitempty"` } // JitNetworkAccessPolicyInitiateVirtualMachine ... @@ -4518,6 +4909,8 @@ type JitNetworkAccessRequest struct { StartTimeUtc *date.Time `json:"startTimeUtc,omitempty"` // Requestor - The identity of the person who made the request Requestor *string `json:"requestor,omitempty"` + // Justification - The justification for making the initiate request + Justification *string `json:"justification,omitempty"` } // JitNetworkAccessRequestPort ... @@ -4751,7 +5144,7 @@ type PathRecommendation struct { Common *bool `json:"common,omitempty"` UserSids *[]string `json:"userSids,omitempty"` Usernames *[]UserRecommendation `json:"usernames,omitempty"` - // FileType - Possible values include: 'Exe', 'Dll', 'Msi', 'Script', 'Executable', 'Unknown' + // FileType - Possible values include: 'FileTypeExe', 'FileTypeDll', 'FileTypeMsi', 'FileTypeScript', 'FileTypeExecutable', 'FileTypeUnknown' FileType FileType `json:"fileType,omitempty"` // ConfigurationStatus - Possible values include: 'ConfigurationStatus1Configured', 'ConfigurationStatus1NotConfigured', 'ConfigurationStatus1InProgress', 'ConfigurationStatus1Failed', 'ConfigurationStatus1NoStatus' ConfigurationStatus ConfigurationStatus1 `json:"configurationStatus,omitempty"` @@ -4982,6 +5375,19 @@ type PricingProperties struct { PricingTier PricingTier `json:"pricingTier,omitempty"` } +// ProtectionMode the protection mode of the collection/file types. Exe/Msi/Script are used for Windows, +// Executable is used for Linux. +type ProtectionMode struct { + // Exe - Possible values include: 'ExeAudit', 'ExeEnforce', 'ExeNone' + Exe Exe `json:"exe,omitempty"` + // Msi - Possible values include: 'MsiAudit', 'MsiEnforce', 'MsiNone' + Msi Msi `json:"msi,omitempty"` + // Script - Possible values include: 'ScriptAudit', 'ScriptEnforce', 'ScriptNone' + Script Script `json:"script,omitempty"` + // Executable - Possible values include: 'ExecutableAudit', 'ExecutableEnforce', 'ExecutableNone' + Executable Executable `json:"executable,omitempty"` +} + // PublisherInfo represents the publisher information of a process/rule type PublisherInfo struct { // PublisherName - The Subject field of the x.509 certificate used to sign the code, using the following fields - O = Organization, L = Locality, S = State or Province, and C = Country @@ -5710,6 +6116,90 @@ type Resource struct { Type *string `json:"type,omitempty"` } +// BasicResourceDetails details of the resource that was assessed +type BasicResourceDetails interface { + AsAzureResourceDetails() (*AzureResourceDetails, bool) + AsAwsResourceDetails() (*AwsResourceDetails, bool) + AsResourceDetails() (*ResourceDetails, bool) +} + +// ResourceDetails details of the resource that was assessed +type ResourceDetails struct { + // Source - Possible values include: 'SourceResourceDetails', 'SourceAzure', 'SourceAws' + Source Source `json:"source,omitempty"` +} + +func unmarshalBasicResourceDetails(body []byte) (BasicResourceDetails, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["source"] { + case string(SourceAzure): + var ard AzureResourceDetails + err := json.Unmarshal(body, &ard) + return ard, err + case string(SourceAws): + var ard AwsResourceDetails + err := json.Unmarshal(body, &ard) + return ard, err + default: + var rd ResourceDetails + err := json.Unmarshal(body, &rd) + return rd, err + } +} +func unmarshalBasicResourceDetailsArray(body []byte) ([]BasicResourceDetails, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + rdArray := make([]BasicResourceDetails, len(rawMessages)) + + for index, rawMessage := range rawMessages { + rd, err := unmarshalBasicResourceDetails(*rawMessage) + if err != nil { + return nil, err + } + rdArray[index] = rd + } + return rdArray, nil +} + +// MarshalJSON is the custom marshaler for ResourceDetails. +func (rd ResourceDetails) MarshalJSON() ([]byte, error) { + rd.Source = SourceResourceDetails + objectMap := make(map[string]interface{}) + if rd.Source != "" { + objectMap["source"] = rd.Source + } + return json.Marshal(objectMap) +} + +// AsAzureResourceDetails is the BasicResourceDetails implementation for ResourceDetails. +func (rd ResourceDetails) AsAzureResourceDetails() (*AzureResourceDetails, bool) { + return nil, false +} + +// AsAwsResourceDetails is the BasicResourceDetails implementation for ResourceDetails. +func (rd ResourceDetails) AsAwsResourceDetails() (*AwsResourceDetails, bool) { + return nil, false +} + +// AsResourceDetails is the BasicResourceDetails implementation for ResourceDetails. +func (rd ResourceDetails) AsResourceDetails() (*ResourceDetails, bool) { + return &rd, true +} + +// AsBasicResourceDetails is the BasicResourceDetails implementation for ResourceDetails. +func (rd ResourceDetails) AsBasicResourceDetails() (BasicResourceDetails, bool) { + return &rd, true +} + // Rule describes remote addresses that is recommended to communicate with the Azure resource on some // (Protocol, Port, Direction). All other remote addresses are recommended to be blocked type Rule struct { @@ -5735,6 +6225,61 @@ type SensitivityLabel struct { Enabled *bool `json:"enabled,omitempty"` } +// ServerVulnerabilityProperties additional context fields for server vulnerability assessment +type ServerVulnerabilityProperties struct { + // Type - READ-ONLY; Vulnerability Type. e.g: Vulnerability, Potential Vulnerability, Information Gathered + Type *string `json:"type,omitempty"` + // Cvss - READ-ONLY; Dictionary from cvss version to cvss details object + Cvss map[string]*CVSS `json:"cvss"` + // Patchable - READ-ONLY; Indicates whether a patch is available or not + Patchable *bool `json:"patchable,omitempty"` + // Cve - READ-ONLY; List of CVEs + Cve *[]CVE `json:"cve,omitempty"` + // Threat - READ-ONLY; Threat name + Threat *string `json:"threat,omitempty"` + // PublishedTime - READ-ONLY; Published time + PublishedTime *date.Time `json:"publishedTime,omitempty"` + // VendorReferences - READ-ONLY + VendorReferences *[]VendorReference `json:"vendorReferences,omitempty"` + // AssessedResourceType - Possible values include: 'AssessedResourceTypeAdditionalData', 'AssessedResourceTypeSQLServerVulnerability', 'AssessedResourceTypeContainerRegistryVulnerability', 'AssessedResourceTypeServerVulnerabilityAssessment' + AssessedResourceType AssessedResourceType `json:"assessedResourceType,omitempty"` +} + +// MarshalJSON is the custom marshaler for ServerVulnerabilityProperties. +func (svp ServerVulnerabilityProperties) MarshalJSON() ([]byte, error) { + svp.AssessedResourceType = AssessedResourceTypeServerVulnerabilityAssessment + objectMap := make(map[string]interface{}) + if svp.AssessedResourceType != "" { + objectMap["assessedResourceType"] = svp.AssessedResourceType + } + return json.Marshal(objectMap) +} + +// AsSQLServerVulnerabilityProperties is the BasicAdditionalData implementation for ServerVulnerabilityProperties. +func (svp ServerVulnerabilityProperties) AsSQLServerVulnerabilityProperties() (*SQLServerVulnerabilityProperties, bool) { + return nil, false +} + +// AsContainerRegistryVulnerabilityProperties is the BasicAdditionalData implementation for ServerVulnerabilityProperties. +func (svp ServerVulnerabilityProperties) AsContainerRegistryVulnerabilityProperties() (*ContainerRegistryVulnerabilityProperties, bool) { + return nil, false +} + +// AsServerVulnerabilityProperties is the BasicAdditionalData implementation for ServerVulnerabilityProperties. +func (svp ServerVulnerabilityProperties) AsServerVulnerabilityProperties() (*ServerVulnerabilityProperties, bool) { + return &svp, true +} + +// AsAdditionalData is the BasicAdditionalData implementation for ServerVulnerabilityProperties. +func (svp ServerVulnerabilityProperties) AsAdditionalData() (*AdditionalData, bool) { + return nil, false +} + +// AsBasicAdditionalData is the BasicAdditionalData implementation for ServerVulnerabilityProperties. +func (svp ServerVulnerabilityProperties) AsBasicAdditionalData() (BasicAdditionalData, bool) { + return &svp, true +} + // Setting represents a security setting in Azure Security Center. type Setting struct { autorest.Response `json:"-"` @@ -5906,6 +6451,405 @@ func NewSettingsListPage(getNextPage func(context.Context, SettingsList) (Settin return SettingsListPage{fn: getNextPage} } +// SQLServerVulnerabilityProperties details of the resource that was assessed +type SQLServerVulnerabilityProperties struct { + // Type - READ-ONLY; The resource type the sub assessment refers to in its resource details + Type *string `json:"type,omitempty"` + // Query - READ-ONLY; The T-SQL query that runs on your SQL database to perform the particular check + Query *string `json:"query,omitempty"` + // AssessedResourceType - Possible values include: 'AssessedResourceTypeAdditionalData', 'AssessedResourceTypeSQLServerVulnerability', 'AssessedResourceTypeContainerRegistryVulnerability', 'AssessedResourceTypeServerVulnerabilityAssessment' + AssessedResourceType AssessedResourceType `json:"assessedResourceType,omitempty"` +} + +// MarshalJSON is the custom marshaler for SQLServerVulnerabilityProperties. +func (ssvp SQLServerVulnerabilityProperties) MarshalJSON() ([]byte, error) { + ssvp.AssessedResourceType = AssessedResourceTypeSQLServerVulnerability + objectMap := make(map[string]interface{}) + if ssvp.AssessedResourceType != "" { + objectMap["assessedResourceType"] = ssvp.AssessedResourceType + } + return json.Marshal(objectMap) +} + +// AsSQLServerVulnerabilityProperties is the BasicAdditionalData implementation for SQLServerVulnerabilityProperties. +func (ssvp SQLServerVulnerabilityProperties) AsSQLServerVulnerabilityProperties() (*SQLServerVulnerabilityProperties, bool) { + return &ssvp, true +} + +// AsContainerRegistryVulnerabilityProperties is the BasicAdditionalData implementation for SQLServerVulnerabilityProperties. +func (ssvp SQLServerVulnerabilityProperties) AsContainerRegistryVulnerabilityProperties() (*ContainerRegistryVulnerabilityProperties, bool) { + return nil, false +} + +// AsServerVulnerabilityProperties is the BasicAdditionalData implementation for SQLServerVulnerabilityProperties. +func (ssvp SQLServerVulnerabilityProperties) AsServerVulnerabilityProperties() (*ServerVulnerabilityProperties, bool) { + return nil, false +} + +// AsAdditionalData is the BasicAdditionalData implementation for SQLServerVulnerabilityProperties. +func (ssvp SQLServerVulnerabilityProperties) AsAdditionalData() (*AdditionalData, bool) { + return nil, false +} + +// AsBasicAdditionalData is the BasicAdditionalData implementation for SQLServerVulnerabilityProperties. +func (ssvp SQLServerVulnerabilityProperties) AsBasicAdditionalData() (BasicAdditionalData, bool) { + return &ssvp, true +} + +// SubAssessment security sub-assessment on a resource +type SubAssessment struct { + autorest.Response `json:"-"` + *SubAssessmentProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource Id + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for SubAssessment. +func (sa SubAssessment) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if sa.SubAssessmentProperties != nil { + objectMap["properties"] = sa.SubAssessmentProperties + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for SubAssessment struct. +func (sa *SubAssessment) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var subAssessmentProperties SubAssessmentProperties + err = json.Unmarshal(*v, &subAssessmentProperties) + if err != nil { + return err + } + sa.SubAssessmentProperties = &subAssessmentProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + sa.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + sa.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + sa.Type = &typeVar + } + } + } + + return nil +} + +// SubAssessmentList list of security sub-assessments +type SubAssessmentList struct { + autorest.Response `json:"-"` + // Value - READ-ONLY + Value *[]SubAssessment `json:"value,omitempty"` + // NextLink - READ-ONLY; The URI to fetch the next page. + NextLink *string `json:"nextLink,omitempty"` +} + +// SubAssessmentListIterator provides access to a complete listing of SubAssessment values. +type SubAssessmentListIterator struct { + i int + page SubAssessmentListPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *SubAssessmentListIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SubAssessmentListIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *SubAssessmentListIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter SubAssessmentListIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter SubAssessmentListIterator) Response() SubAssessmentList { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter SubAssessmentListIterator) Value() SubAssessment { + if !iter.page.NotDone() { + return SubAssessment{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the SubAssessmentListIterator type. +func NewSubAssessmentListIterator(page SubAssessmentListPage) SubAssessmentListIterator { + return SubAssessmentListIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (sal SubAssessmentList) IsEmpty() bool { + return sal.Value == nil || len(*sal.Value) == 0 +} + +// subAssessmentListPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (sal SubAssessmentList) subAssessmentListPreparer(ctx context.Context) (*http.Request, error) { + if sal.NextLink == nil || len(to.String(sal.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(sal.NextLink))) +} + +// SubAssessmentListPage contains a page of SubAssessment values. +type SubAssessmentListPage struct { + fn func(context.Context, SubAssessmentList) (SubAssessmentList, error) + sal SubAssessmentList +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *SubAssessmentListPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SubAssessmentListPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.sal) + if err != nil { + return err + } + page.sal = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *SubAssessmentListPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page SubAssessmentListPage) NotDone() bool { + return !page.sal.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page SubAssessmentListPage) Response() SubAssessmentList { + return page.sal +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page SubAssessmentListPage) Values() []SubAssessment { + if page.sal.IsEmpty() { + return nil + } + return *page.sal.Value +} + +// Creates a new instance of the SubAssessmentListPage type. +func NewSubAssessmentListPage(getNextPage func(context.Context, SubAssessmentList) (SubAssessmentList, error)) SubAssessmentListPage { + return SubAssessmentListPage{fn: getNextPage} +} + +// SubAssessmentProperties describes properties of an sub-assessment. +type SubAssessmentProperties struct { + // ID - READ-ONLY; Vulnerability ID + ID *string `json:"id,omitempty"` + // DisplayName - READ-ONLY; User friendly display name of the sub-assessment + DisplayName *string `json:"displayName,omitempty"` + Status *SubAssessmentStatus `json:"status,omitempty"` + // Remediation - READ-ONLY; Information on how to remediate this sub-assessment + Remediation *string `json:"remediation,omitempty"` + // Impact - READ-ONLY; Description of the impact of this sub-assessment + Impact *string `json:"impact,omitempty"` + // Category - READ-ONLY; Category of the sub-assessment + Category *string `json:"category,omitempty"` + // Description - READ-ONLY; Human readable description of the assessment status + Description *string `json:"description,omitempty"` + // TimeGenerated - READ-ONLY; The date and time the sub-assessment was generated + TimeGenerated *date.Time `json:"timeGenerated,omitempty"` + ResourceDetails BasicResourceDetails `json:"resourceDetails,omitempty"` + AdditionalData BasicAdditionalData `json:"additionalData,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for SubAssessmentProperties struct. +func (sap *SubAssessmentProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + sap.ID = &ID + } + case "displayName": + if v != nil { + var displayName string + err = json.Unmarshal(*v, &displayName) + if err != nil { + return err + } + sap.DisplayName = &displayName + } + case "status": + if v != nil { + var status SubAssessmentStatus + err = json.Unmarshal(*v, &status) + if err != nil { + return err + } + sap.Status = &status + } + case "remediation": + if v != nil { + var remediation string + err = json.Unmarshal(*v, &remediation) + if err != nil { + return err + } + sap.Remediation = &remediation + } + case "impact": + if v != nil { + var impact string + err = json.Unmarshal(*v, &impact) + if err != nil { + return err + } + sap.Impact = &impact + } + case "category": + if v != nil { + var category string + err = json.Unmarshal(*v, &category) + if err != nil { + return err + } + sap.Category = &category + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + sap.Description = &description + } + case "timeGenerated": + if v != nil { + var timeGenerated date.Time + err = json.Unmarshal(*v, &timeGenerated) + if err != nil { + return err + } + sap.TimeGenerated = &timeGenerated + } + case "resourceDetails": + if v != nil { + resourceDetails, err := unmarshalBasicResourceDetails(*v) + if err != nil { + return err + } + sap.ResourceDetails = resourceDetails + } + case "additionalData": + if v != nil { + additionalData, err := unmarshalBasicAdditionalData(*v) + if err != nil { + return err + } + sap.AdditionalData = additionalData + } + } + } + + return nil +} + +// SubAssessmentStatus status of the sub-assessment +type SubAssessmentStatus struct { + // Code - READ-ONLY; Programmatic code for the status of the assessment. Possible values include: 'Healthy', 'Unhealthy', 'NotApplicable' + Code SubAssessmentStatusCode `json:"code,omitempty"` + // Cause - READ-ONLY; Programmatic code for the cause of the assessment status + Cause *string `json:"cause,omitempty"` + // Description - READ-ONLY; Human readable description of the assessment status + Description *string `json:"description,omitempty"` + // Severity - READ-ONLY; The sub-assessment severity level. Possible values include: 'SeverityLow', 'SeverityMedium', 'SeverityHigh' + Severity Severity `json:"severity,omitempty"` +} + // Task security task that we recommend to do in order to strengthen security type Task struct { autorest.Response `json:"-"` @@ -6502,6 +7446,14 @@ type UserRecommendation struct { RecommendationAction RecommendationAction1 `json:"recommendationAction,omitempty"` } +// VendorReference vendor reference +type VendorReference struct { + // Title - READ-ONLY; Link title + Title *string `json:"title,omitempty"` + // Link - READ-ONLY; Link url + Link *string `json:"link,omitempty"` +} + // VMRecommendation represents a machine that is part of a VM/server group type VMRecommendation struct { // ConfigurationStatus - Possible values include: 'Configured', 'NotConfigured', 'InProgress', 'Failed', 'NoStatus' diff --git a/services/preview/security/mgmt/v1.0/security/securityapi/interfaces.go b/services/preview/security/mgmt/v1.0/security/securityapi/interfaces.go index 06c5df144765..811063e3ef89 100644 --- a/services/preview/security/mgmt/v1.0/security/securityapi/interfaces.go +++ b/services/preview/security/mgmt/v1.0/security/securityapi/interfaces.go @@ -23,6 +23,15 @@ import ( "github.com/Azure/go-autorest/autorest" ) +// SubAssessmentsClientAPI contains the set of methods on the SubAssessmentsClient type. +type SubAssessmentsClientAPI interface { + Get(ctx context.Context, scope string, assessmentName string, subAssessmentName string) (result security.SubAssessment, err error) + List(ctx context.Context, scope string, assessmentName string) (result security.SubAssessmentListPage, err error) + ListAll(ctx context.Context, scope string) (result security.SubAssessmentListPage, err error) +} + +var _ SubAssessmentsClientAPI = (*security.SubAssessmentsClient)(nil) + // RegulatoryComplianceStandardsClientAPI contains the set of methods on the RegulatoryComplianceStandardsClient type. type RegulatoryComplianceStandardsClientAPI interface { Get(ctx context.Context, regulatoryComplianceStandardName string) (result security.RegulatoryComplianceStandard, err error) diff --git a/services/preview/security/mgmt/v1.0/security/subassessments.go b/services/preview/security/mgmt/v1.0/security/subassessments.go new file mode 100644 index 000000000000..4fa19d8e398d --- /dev/null +++ b/services/preview/security/mgmt/v1.0/security/subassessments.go @@ -0,0 +1,348 @@ +package security + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// SubAssessmentsClient is the API spec for Microsoft.Security (Azure Security Center) resource provider +type SubAssessmentsClient struct { + BaseClient +} + +// NewSubAssessmentsClient creates an instance of the SubAssessmentsClient client. +func NewSubAssessmentsClient(subscriptionID string, ascLocation string) SubAssessmentsClient { + return NewSubAssessmentsClientWithBaseURI(DefaultBaseURI, subscriptionID, ascLocation) +} + +// NewSubAssessmentsClientWithBaseURI creates an instance of the SubAssessmentsClient client. +func NewSubAssessmentsClientWithBaseURI(baseURI string, subscriptionID string, ascLocation string) SubAssessmentsClient { + return SubAssessmentsClient{NewWithBaseURI(baseURI, subscriptionID, ascLocation)} +} + +// Get get a security sub-assessment on your scanned resource +// Parameters: +// scope - scope of the query, can be subscription (/subscriptions/0b06d9ea-afe6-4779-bd59-30e5c2d9d13f) or +// management group (/providers/Microsoft.Management/managementGroups/mgName). +// assessmentName - the Assessment Key - Unique key for the assessment type +// subAssessmentName - the Sub-Assessment Key - Unique key for the sub-assessment type +func (client SubAssessmentsClient) Get(ctx context.Context, scope string, assessmentName string, subAssessmentName string) (result SubAssessment, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SubAssessmentsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, scope, assessmentName, subAssessmentName) + if err != nil { + err = autorest.NewErrorWithError(err, "security.SubAssessmentsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "security.SubAssessmentsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "security.SubAssessmentsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client SubAssessmentsClient) GetPreparer(ctx context.Context, scope string, assessmentName string, subAssessmentName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "assessmentName": autorest.Encode("path", assessmentName), + "scope": autorest.Encode("path", scope), + "subAssessmentName": autorest.Encode("path", subAssessmentName), + } + + const APIVersion = "2019-01-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/{scope}/providers/Microsoft.Security/assessments/{assessmentName}/subAssessments/{subAssessmentName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client SubAssessmentsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client SubAssessmentsClient) GetResponder(resp *http.Response) (result SubAssessment, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List get security sub-assessments on all your scanned resources inside a scope +// Parameters: +// scope - scope of the query, can be subscription (/subscriptions/0b06d9ea-afe6-4779-bd59-30e5c2d9d13f) or +// management group (/providers/Microsoft.Management/managementGroups/mgName). +// assessmentName - the Assessment Key - Unique key for the assessment type +func (client SubAssessmentsClient) List(ctx context.Context, scope string, assessmentName string) (result SubAssessmentListPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SubAssessmentsClient.List") + defer func() { + sc := -1 + if result.sal.Response.Response != nil { + sc = result.sal.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, scope, assessmentName) + if err != nil { + err = autorest.NewErrorWithError(err, "security.SubAssessmentsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.sal.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "security.SubAssessmentsClient", "List", resp, "Failure sending request") + return + } + + result.sal, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "security.SubAssessmentsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client SubAssessmentsClient) ListPreparer(ctx context.Context, scope string, assessmentName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "assessmentName": autorest.Encode("path", assessmentName), + "scope": autorest.Encode("path", scope), + } + + const APIVersion = "2019-01-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/{scope}/providers/Microsoft.Security/assessments/{assessmentName}/subAssessments", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client SubAssessmentsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client SubAssessmentsClient) ListResponder(resp *http.Response) (result SubAssessmentList, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client SubAssessmentsClient) listNextResults(ctx context.Context, lastResults SubAssessmentList) (result SubAssessmentList, err error) { + req, err := lastResults.subAssessmentListPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "security.SubAssessmentsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "security.SubAssessmentsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "security.SubAssessmentsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client SubAssessmentsClient) ListComplete(ctx context.Context, scope string, assessmentName string) (result SubAssessmentListIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SubAssessmentsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, scope, assessmentName) + return +} + +// ListAll get security sub-assessments on all your scanned resources inside a subscription scope +// Parameters: +// scope - scope of the query, can be subscription (/subscriptions/0b06d9ea-afe6-4779-bd59-30e5c2d9d13f) or +// management group (/providers/Microsoft.Management/managementGroups/mgName). +func (client SubAssessmentsClient) ListAll(ctx context.Context, scope string) (result SubAssessmentListPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SubAssessmentsClient.ListAll") + defer func() { + sc := -1 + if result.sal.Response.Response != nil { + sc = result.sal.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listAllNextResults + req, err := client.ListAllPreparer(ctx, scope) + if err != nil { + err = autorest.NewErrorWithError(err, "security.SubAssessmentsClient", "ListAll", nil, "Failure preparing request") + return + } + + resp, err := client.ListAllSender(req) + if err != nil { + result.sal.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "security.SubAssessmentsClient", "ListAll", resp, "Failure sending request") + return + } + + result.sal, err = client.ListAllResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "security.SubAssessmentsClient", "ListAll", resp, "Failure responding to request") + } + + return +} + +// ListAllPreparer prepares the ListAll request. +func (client SubAssessmentsClient) ListAllPreparer(ctx context.Context, scope string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "scope": autorest.Encode("path", scope), + } + + const APIVersion = "2019-01-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/{scope}/providers/Microsoft.Security/subAssessments", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListAllSender sends the ListAll request. The method will close the +// http.Response Body if it receives an error. +func (client SubAssessmentsClient) ListAllSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListAllResponder handles the response to the ListAll request. The method always +// closes the http.Response Body. +func (client SubAssessmentsClient) ListAllResponder(resp *http.Response) (result SubAssessmentList, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listAllNextResults retrieves the next set of results, if any. +func (client SubAssessmentsClient) listAllNextResults(ctx context.Context, lastResults SubAssessmentList) (result SubAssessmentList, err error) { + req, err := lastResults.subAssessmentListPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "security.SubAssessmentsClient", "listAllNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListAllSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "security.SubAssessmentsClient", "listAllNextResults", resp, "Failure sending next results request") + } + result, err = client.ListAllResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "security.SubAssessmentsClient", "listAllNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListAllComplete enumerates all values, automatically crossing page boundaries as required. +func (client SubAssessmentsClient) ListAllComplete(ctx context.Context, scope string) (result SubAssessmentListIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SubAssessmentsClient.ListAll") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListAll(ctx, scope) + return +} diff --git a/services/preview/security/mgmt/v2.0/security/models.go b/services/preview/security/mgmt/v2.0/security/models.go index 01ae7161a81d..b6c26676de8d 100644 --- a/services/preview/security/mgmt/v2.0/security/models.go +++ b/services/preview/security/mgmt/v2.0/security/models.go @@ -96,6 +96,25 @@ func PossibleAlertsToAdminsValues() []AlertsToAdmins { return []AlertsToAdmins{AlertsToAdminsOff, AlertsToAdminsOn} } +// AssessedResourceType enumerates the values for assessed resource type. +type AssessedResourceType string + +const ( + // AssessedResourceTypeAdditionalData ... + AssessedResourceTypeAdditionalData AssessedResourceType = "AdditionalData" + // AssessedResourceTypeContainerRegistryVulnerability ... + AssessedResourceTypeContainerRegistryVulnerability AssessedResourceType = "ContainerRegistryVulnerability" + // AssessedResourceTypeServerVulnerabilityAssessment ... + AssessedResourceTypeServerVulnerabilityAssessment AssessedResourceType = "ServerVulnerabilityAssessment" + // AssessedResourceTypeSQLServerVulnerability ... + AssessedResourceTypeSQLServerVulnerability AssessedResourceType = "SqlServerVulnerability" +) + +// PossibleAssessedResourceTypeValues returns an array of possible values for the AssessedResourceType const type. +func PossibleAssessedResourceTypeValues() []AssessedResourceType { + return []AssessedResourceType{AssessedResourceTypeAdditionalData, AssessedResourceTypeContainerRegistryVulnerability, AssessedResourceTypeServerVulnerabilityAssessment, AssessedResourceTypeSQLServerVulnerability} +} + // AutoProvision enumerates the values for auto provision. type AutoProvision string @@ -225,11 +244,13 @@ const ( Audit EnforcementMode = "Audit" // Enforce ... Enforce EnforcementMode = "Enforce" + // None ... + None EnforcementMode = "None" ) // PossibleEnforcementModeValues returns an array of possible values for the EnforcementMode const type. func PossibleEnforcementModeValues() []EnforcementMode { - return []EnforcementMode{Audit, Enforce} + return []EnforcementMode{Audit, Enforce, None} } // EnforcementMode1 enumerates the values for enforcement mode 1. @@ -240,11 +261,47 @@ const ( EnforcementMode1Audit EnforcementMode1 = "Audit" // EnforcementMode1Enforce ... EnforcementMode1Enforce EnforcementMode1 = "Enforce" + // EnforcementMode1None ... + EnforcementMode1None EnforcementMode1 = "None" ) // PossibleEnforcementMode1Values returns an array of possible values for the EnforcementMode1 const type. func PossibleEnforcementMode1Values() []EnforcementMode1 { - return []EnforcementMode1{EnforcementMode1Audit, EnforcementMode1Enforce} + return []EnforcementMode1{EnforcementMode1Audit, EnforcementMode1Enforce, EnforcementMode1None} +} + +// Exe enumerates the values for exe. +type Exe string + +const ( + // ExeAudit ... + ExeAudit Exe = "Audit" + // ExeEnforce ... + ExeEnforce Exe = "Enforce" + // ExeNone ... + ExeNone Exe = "None" +) + +// PossibleExeValues returns an array of possible values for the Exe const type. +func PossibleExeValues() []Exe { + return []Exe{ExeAudit, ExeEnforce, ExeNone} +} + +// Executable enumerates the values for executable. +type Executable string + +const ( + // ExecutableAudit ... + ExecutableAudit Executable = "Audit" + // ExecutableEnforce ... + ExecutableEnforce Executable = "Enforce" + // ExecutableNone ... + ExecutableNone Executable = "None" +) + +// PossibleExecutableValues returns an array of possible values for the Executable const type. +func PossibleExecutableValues() []Executable { + return []Executable{ExecutableAudit, ExecutableEnforce, ExecutableNone} } // ExportData enumerates the values for export data. @@ -300,23 +357,23 @@ func PossibleFamilyValues() []Family { type FileType string const ( - // Dll ... - Dll FileType = "Dll" - // Exe ... - Exe FileType = "Exe" - // Executable ... - Executable FileType = "Executable" - // Msi ... - Msi FileType = "Msi" - // Script ... - Script FileType = "Script" - // Unknown ... - Unknown FileType = "Unknown" + // FileTypeDll ... + FileTypeDll FileType = "Dll" + // FileTypeExe ... + FileTypeExe FileType = "Exe" + // FileTypeExecutable ... + FileTypeExecutable FileType = "Executable" + // FileTypeMsi ... + FileTypeMsi FileType = "Msi" + // FileTypeScript ... + FileTypeScript FileType = "Script" + // FileTypeUnknown ... + FileTypeUnknown FileType = "Unknown" ) // PossibleFileTypeValues returns an array of possible values for the FileType const type. func PossibleFileTypeValues() []FileType { - return []FileType{Dll, Exe, Executable, Msi, Script, Unknown} + return []FileType{FileTypeDll, FileTypeExe, FileTypeExecutable, FileTypeMsi, FileTypeScript, FileTypeUnknown} } // Issue enumerates the values for issue. @@ -361,6 +418,23 @@ func PossibleKindEnumValues() []KindEnum { return []KindEnum{KindAAD, KindATA, KindCEF, KindExternalSecuritySolution} } +// Msi enumerates the values for msi. +type Msi string + +const ( + // MsiAudit ... + MsiAudit Msi = "Audit" + // MsiEnforce ... + MsiEnforce Msi = "Enforce" + // MsiNone ... + MsiNone Msi = "None" +) + +// PossibleMsiValues returns an array of possible values for the Msi const type. +func PossibleMsiValues() []Msi { + return []Msi{MsiAudit, MsiEnforce, MsiNone} +} + // PricingTier enumerates the values for pricing tier. type PricingTier string @@ -535,6 +609,23 @@ func PossibleReportedSeverityValues() []ReportedSeverity { return []ReportedSeverity{High, Informational, Low, Medium} } +// Script enumerates the values for script. +type Script string + +const ( + // ScriptAudit ... + ScriptAudit Script = "Audit" + // ScriptEnforce ... + ScriptEnforce Script = "Enforce" + // ScriptNone ... + ScriptNone Script = "None" +) + +// PossibleScriptValues returns an array of possible values for the Script const type. +func PossibleScriptValues() []Script { + return []Script{ScriptAudit, ScriptEnforce, ScriptNone} +} + // SettingKind enumerates the values for setting kind. type SettingKind string @@ -550,6 +641,23 @@ func PossibleSettingKindValues() []SettingKind { return []SettingKind{SettingKindAlertSuppressionSetting, SettingKindDataExportSetting} } +// Severity enumerates the values for severity. +type Severity string + +const ( + // SeverityHigh ... + SeverityHigh Severity = "High" + // SeverityLow ... + SeverityLow Severity = "Low" + // SeverityMedium ... + SeverityMedium Severity = "Medium" +) + +// PossibleSeverityValues returns an array of possible values for the Severity const type. +func PossibleSeverityValues() []Severity { + return []Severity{SeverityHigh, SeverityLow, SeverityMedium} +} + // SolutionStatus enumerates the values for solution status. type SolutionStatus string @@ -565,25 +673,42 @@ func PossibleSolutionStatusValues() []SolutionStatus { return []SolutionStatus{SolutionStatusDisabled, SolutionStatusEnabled} } +// Source enumerates the values for source. +type Source string + +const ( + // SourceAws ... + SourceAws Source = "Aws" + // SourceAzure ... + SourceAzure Source = "Azure" + // SourceResourceDetails ... + SourceResourceDetails Source = "ResourceDetails" +) + +// PossibleSourceValues returns an array of possible values for the Source const type. +func PossibleSourceValues() []Source { + return []Source{SourceAws, SourceAzure, SourceResourceDetails} +} + // SourceSystem enumerates the values for source system. type SourceSystem string const ( - // AzureAppLocker ... - AzureAppLocker SourceSystem = "Azure_AppLocker" - // AzureAuditD ... - AzureAuditD SourceSystem = "Azure_AuditD" - // NonAzureAppLocker ... - NonAzureAppLocker SourceSystem = "NonAzure_AppLocker" - // NonAzureAuditD ... - NonAzureAuditD SourceSystem = "NonAzure_AuditD" - // None ... - None SourceSystem = "None" + // SourceSystemAzureAppLocker ... + SourceSystemAzureAppLocker SourceSystem = "Azure_AppLocker" + // SourceSystemAzureAuditD ... + SourceSystemAzureAuditD SourceSystem = "Azure_AuditD" + // SourceSystemNonAzureAppLocker ... + SourceSystemNonAzureAppLocker SourceSystem = "NonAzure_AppLocker" + // SourceSystemNonAzureAuditD ... + SourceSystemNonAzureAuditD SourceSystem = "NonAzure_AuditD" + // SourceSystemNone ... + SourceSystemNone SourceSystem = "None" ) // PossibleSourceSystemValues returns an array of possible values for the SourceSystem const type. func PossibleSourceSystemValues() []SourceSystem { - return []SourceSystem{AzureAppLocker, AzureAuditD, NonAzureAppLocker, NonAzureAuditD, None} + return []SourceSystem{SourceSystemAzureAppLocker, SourceSystemAzureAuditD, SourceSystemNonAzureAppLocker, SourceSystemNonAzureAuditD, SourceSystemNone} } // State enumerates the values for state. @@ -638,6 +763,23 @@ func PossibleStatusReasonValues() []StatusReason { return []StatusReason{Expired, NewerRequestInitiated, UserRequested} } +// SubAssessmentStatusCode enumerates the values for sub assessment status code. +type SubAssessmentStatusCode string + +const ( + // Healthy The resource is healthy + Healthy SubAssessmentStatusCode = "Healthy" + // NotApplicable Assessment for this resource did not happen + NotApplicable SubAssessmentStatusCode = "NotApplicable" + // Unhealthy The resource has a security issue that needs to be addressed + Unhealthy SubAssessmentStatusCode = "Unhealthy" +) + +// PossibleSubAssessmentStatusCodeValues returns an array of possible values for the SubAssessmentStatusCode const type. +func PossibleSubAssessmentStatusCodeValues() []SubAssessmentStatusCode { + return []SubAssessmentStatusCode{Healthy, NotApplicable, Unhealthy} +} + // TransportProtocol enumerates the values for transport protocol. type TransportProtocol string @@ -1022,6 +1164,100 @@ func NewAdaptiveNetworkHardeningsListPage(getNextPage func(context.Context, Adap return AdaptiveNetworkHardeningsListPage{fn: getNextPage} } +// BasicAdditionalData details of the sub-assessment +type BasicAdditionalData interface { + AsSQLServerVulnerabilityProperties() (*SQLServerVulnerabilityProperties, bool) + AsContainerRegistryVulnerabilityProperties() (*ContainerRegistryVulnerabilityProperties, bool) + AsServerVulnerabilityProperties() (*ServerVulnerabilityProperties, bool) + AsAdditionalData() (*AdditionalData, bool) +} + +// AdditionalData details of the sub-assessment +type AdditionalData struct { + // AssessedResourceType - Possible values include: 'AssessedResourceTypeAdditionalData', 'AssessedResourceTypeSQLServerVulnerability', 'AssessedResourceTypeContainerRegistryVulnerability', 'AssessedResourceTypeServerVulnerabilityAssessment' + AssessedResourceType AssessedResourceType `json:"assessedResourceType,omitempty"` +} + +func unmarshalBasicAdditionalData(body []byte) (BasicAdditionalData, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["assessedResourceType"] { + case string(AssessedResourceTypeSQLServerVulnerability): + var ssvp SQLServerVulnerabilityProperties + err := json.Unmarshal(body, &ssvp) + return ssvp, err + case string(AssessedResourceTypeContainerRegistryVulnerability): + var crvp ContainerRegistryVulnerabilityProperties + err := json.Unmarshal(body, &crvp) + return crvp, err + case string(AssessedResourceTypeServerVulnerabilityAssessment): + var svp ServerVulnerabilityProperties + err := json.Unmarshal(body, &svp) + return svp, err + default: + var ad AdditionalData + err := json.Unmarshal(body, &ad) + return ad, err + } +} +func unmarshalBasicAdditionalDataArray(body []byte) ([]BasicAdditionalData, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + adArray := make([]BasicAdditionalData, len(rawMessages)) + + for index, rawMessage := range rawMessages { + ad, err := unmarshalBasicAdditionalData(*rawMessage) + if err != nil { + return nil, err + } + adArray[index] = ad + } + return adArray, nil +} + +// MarshalJSON is the custom marshaler for AdditionalData. +func (ad AdditionalData) MarshalJSON() ([]byte, error) { + ad.AssessedResourceType = AssessedResourceTypeAdditionalData + objectMap := make(map[string]interface{}) + if ad.AssessedResourceType != "" { + objectMap["assessedResourceType"] = ad.AssessedResourceType + } + return json.Marshal(objectMap) +} + +// AsSQLServerVulnerabilityProperties is the BasicAdditionalData implementation for AdditionalData. +func (ad AdditionalData) AsSQLServerVulnerabilityProperties() (*SQLServerVulnerabilityProperties, bool) { + return nil, false +} + +// AsContainerRegistryVulnerabilityProperties is the BasicAdditionalData implementation for AdditionalData. +func (ad AdditionalData) AsContainerRegistryVulnerabilityProperties() (*ContainerRegistryVulnerabilityProperties, bool) { + return nil, false +} + +// AsServerVulnerabilityProperties is the BasicAdditionalData implementation for AdditionalData. +func (ad AdditionalData) AsServerVulnerabilityProperties() (*ServerVulnerabilityProperties, bool) { + return nil, false +} + +// AsAdditionalData is the BasicAdditionalData implementation for AdditionalData. +func (ad AdditionalData) AsAdditionalData() (*AdditionalData, bool) { + return &ad, true +} + +// AsBasicAdditionalData is the BasicAdditionalData implementation for AdditionalData. +func (ad AdditionalData) AsBasicAdditionalData() (BasicAdditionalData, bool) { + return &ad, true +} + // AdvancedThreatProtectionProperties the Advanced Threat Protection settings. type AdvancedThreatProtectionProperties struct { // IsEnabled - Indicates whether Advanced Threat Protection is enabled. @@ -1782,14 +2018,15 @@ func (awg *AppWhitelistingGroup) UnmarshalJSON(body []byte) error { // AppWhitelistingGroupData represents a VM/server group and set of rules that are Recommended by Azure // Security Center to be allowed type AppWhitelistingGroupData struct { - // EnforcementMode - Possible values include: 'Audit', 'Enforce' + // EnforcementMode - Possible values include: 'Audit', 'Enforce', 'None' EnforcementMode EnforcementMode `json:"enforcementMode,omitempty"` + ProtectionMode *ProtectionMode `json:"protectionMode,omitempty"` // ConfigurationStatus - Possible values include: 'ConfigurationStatus2Configured', 'ConfigurationStatus2NotConfigured', 'ConfigurationStatus2InProgress', 'ConfigurationStatus2Failed', 'ConfigurationStatus2NoStatus' ConfigurationStatus ConfigurationStatus2 `json:"configurationStatus,omitempty"` // RecommendationStatus - Possible values include: 'RecommendationStatusRecommended', 'RecommendationStatusNotRecommended', 'RecommendationStatusNotAvailable', 'RecommendationStatusNoStatus' RecommendationStatus RecommendationStatus `json:"recommendationStatus,omitempty"` Issues *[]AppWhitelistingIssueSummary `json:"issues,omitempty"` - // SourceSystem - Possible values include: 'AzureAppLocker', 'AzureAuditD', 'NonAzureAppLocker', 'NonAzureAuditD', 'None' + // SourceSystem - Possible values include: 'SourceSystemAzureAppLocker', 'SourceSystemAzureAuditD', 'SourceSystemNonAzureAppLocker', 'SourceSystemNonAzureAuditD', 'SourceSystemNone' SourceSystem SourceSystem `json:"sourceSystem,omitempty"` VMRecommendations *[]VMRecommendation `json:"vmRecommendations,omitempty"` PathRecommendations *[]PathRecommendation `json:"pathRecommendations,omitempty"` @@ -1812,8 +2049,10 @@ type AppWhitelistingIssueSummary struct { // AppWhitelistingPutGroupData the altered data of the recommended VM/server group policy type AppWhitelistingPutGroupData struct { - // EnforcementMode - Possible values include: 'EnforcementMode1Audit', 'EnforcementMode1Enforce' - EnforcementMode EnforcementMode1 `json:"enforcementMode,omitempty"` + // EnforcementMode - The enforcement mode of the group. Can also be defined per collection type by using ProtectionMode. Possible values include: 'EnforcementMode1Audit', 'EnforcementMode1Enforce', 'EnforcementMode1None' + EnforcementMode EnforcementMode1 `json:"enforcementMode,omitempty"` + // ProtectionMode - The protection mode of the group per collection type. Can also be defined for all collection types by using EnforcementMode + ProtectionMode *ProtectionMode `json:"protectionMode,omitempty"` VMRecommendations *[]VMRecommendation `json:"vmRecommendations,omitempty"` PathRecommendations *[]PathRecommendation `json:"pathRecommendations,omitempty"` } @@ -2349,6 +2588,84 @@ type AutoProvisioningSettingProperties struct { AutoProvision AutoProvision `json:"autoProvision,omitempty"` } +// AwsResourceDetails details of the resource that was assessed +type AwsResourceDetails struct { + // AccountID - READ-ONLY; AWS account ID + AccountID *string `json:"accountId,omitempty"` + // AwsResourceID - READ-ONLY; AWS resource ID. can be ARN or other + AwsResourceID *string `json:"awsResourceId,omitempty"` + // Source - Possible values include: 'SourceResourceDetails', 'SourceAzure', 'SourceAws' + Source Source `json:"source,omitempty"` +} + +// MarshalJSON is the custom marshaler for AwsResourceDetails. +func (ard AwsResourceDetails) MarshalJSON() ([]byte, error) { + ard.Source = SourceAws + objectMap := make(map[string]interface{}) + if ard.Source != "" { + objectMap["source"] = ard.Source + } + return json.Marshal(objectMap) +} + +// AsAzureResourceDetails is the BasicResourceDetails implementation for AwsResourceDetails. +func (ard AwsResourceDetails) AsAzureResourceDetails() (*AzureResourceDetails, bool) { + return nil, false +} + +// AsAwsResourceDetails is the BasicResourceDetails implementation for AwsResourceDetails. +func (ard AwsResourceDetails) AsAwsResourceDetails() (*AwsResourceDetails, bool) { + return &ard, true +} + +// AsResourceDetails is the BasicResourceDetails implementation for AwsResourceDetails. +func (ard AwsResourceDetails) AsResourceDetails() (*ResourceDetails, bool) { + return nil, false +} + +// AsBasicResourceDetails is the BasicResourceDetails implementation for AwsResourceDetails. +func (ard AwsResourceDetails) AsBasicResourceDetails() (BasicResourceDetails, bool) { + return &ard, true +} + +// AzureResourceDetails details of the resource that was assessed +type AzureResourceDetails struct { + // ID - READ-ONLY; Azure resource ID of the assessed resource + ID *string `json:"id,omitempty"` + // Source - Possible values include: 'SourceResourceDetails', 'SourceAzure', 'SourceAws' + Source Source `json:"source,omitempty"` +} + +// MarshalJSON is the custom marshaler for AzureResourceDetails. +func (ard AzureResourceDetails) MarshalJSON() ([]byte, error) { + ard.Source = SourceAzure + objectMap := make(map[string]interface{}) + if ard.Source != "" { + objectMap["source"] = ard.Source + } + return json.Marshal(objectMap) +} + +// AsAzureResourceDetails is the BasicResourceDetails implementation for AzureResourceDetails. +func (ard AzureResourceDetails) AsAzureResourceDetails() (*AzureResourceDetails, bool) { + return &ard, true +} + +// AsAwsResourceDetails is the BasicResourceDetails implementation for AzureResourceDetails. +func (ard AzureResourceDetails) AsAwsResourceDetails() (*AwsResourceDetails, bool) { + return nil, false +} + +// AsResourceDetails is the BasicResourceDetails implementation for AzureResourceDetails. +func (ard AzureResourceDetails) AsResourceDetails() (*ResourceDetails, bool) { + return nil, false +} + +// AsBasicResourceDetails is the BasicResourceDetails implementation for AzureResourceDetails. +func (ard AzureResourceDetails) AsBasicResourceDetails() (BasicResourceDetails, bool) { + return &ard, true +} + // CefExternalSecuritySolution represents a security solution which sends CEF logs to an OMS workspace type CefExternalSecuritySolution struct { Properties *CefSolutionProperties `json:"properties,omitempty"` @@ -3065,6 +3382,64 @@ type ContactProperties struct { AlertsToAdmins AlertsToAdmins `json:"alertsToAdmins,omitempty"` } +// ContainerRegistryVulnerabilityProperties additional context fields for container registry Vulnerability +// assessment +type ContainerRegistryVulnerabilityProperties struct { + // Type - READ-ONLY; Vulnerability Type. e.g: Vulnerability, Potential Vulnerability, Information Gathered, Vulnerability + Type *string `json:"type,omitempty"` + // Cvss - READ-ONLY; Dictionary from cvss version to cvss details object + Cvss map[string]*CVSS `json:"cvss"` + // Patchable - READ-ONLY; Indicates whether a patch is available or not + Patchable *bool `json:"patchable,omitempty"` + // Cve - READ-ONLY; List of CVEs + Cve *[]CVE `json:"cve,omitempty"` + // PublishedTime - READ-ONLY; Published time + PublishedTime *date.Time `json:"publishedTime,omitempty"` + // VendorReferences - READ-ONLY + VendorReferences *[]VendorReference `json:"vendorReferences,omitempty"` + // RepositoryName - READ-ONLY; Name of the repository which the vulnerable image belongs to + RepositoryName *string `json:"repositoryName,omitempty"` + // ImageDigest - READ-ONLY; Digest of the vulnerable image + ImageDigest *string `json:"imageDigest,omitempty"` + // AssessedResourceType - Possible values include: 'AssessedResourceTypeAdditionalData', 'AssessedResourceTypeSQLServerVulnerability', 'AssessedResourceTypeContainerRegistryVulnerability', 'AssessedResourceTypeServerVulnerabilityAssessment' + AssessedResourceType AssessedResourceType `json:"assessedResourceType,omitempty"` +} + +// MarshalJSON is the custom marshaler for ContainerRegistryVulnerabilityProperties. +func (crvp ContainerRegistryVulnerabilityProperties) MarshalJSON() ([]byte, error) { + crvp.AssessedResourceType = AssessedResourceTypeContainerRegistryVulnerability + objectMap := make(map[string]interface{}) + if crvp.AssessedResourceType != "" { + objectMap["assessedResourceType"] = crvp.AssessedResourceType + } + return json.Marshal(objectMap) +} + +// AsSQLServerVulnerabilityProperties is the BasicAdditionalData implementation for ContainerRegistryVulnerabilityProperties. +func (crvp ContainerRegistryVulnerabilityProperties) AsSQLServerVulnerabilityProperties() (*SQLServerVulnerabilityProperties, bool) { + return nil, false +} + +// AsContainerRegistryVulnerabilityProperties is the BasicAdditionalData implementation for ContainerRegistryVulnerabilityProperties. +func (crvp ContainerRegistryVulnerabilityProperties) AsContainerRegistryVulnerabilityProperties() (*ContainerRegistryVulnerabilityProperties, bool) { + return &crvp, true +} + +// AsServerVulnerabilityProperties is the BasicAdditionalData implementation for ContainerRegistryVulnerabilityProperties. +func (crvp ContainerRegistryVulnerabilityProperties) AsServerVulnerabilityProperties() (*ServerVulnerabilityProperties, bool) { + return nil, false +} + +// AsAdditionalData is the BasicAdditionalData implementation for ContainerRegistryVulnerabilityProperties. +func (crvp ContainerRegistryVulnerabilityProperties) AsAdditionalData() (*AdditionalData, bool) { + return nil, false +} + +// AsBasicAdditionalData is the BasicAdditionalData implementation for ContainerRegistryVulnerabilityProperties. +func (crvp ContainerRegistryVulnerabilityProperties) AsBasicAdditionalData() (BasicAdditionalData, bool) { + return &crvp, true +} + // CustomAlertRule a custom alert rule type CustomAlertRule struct { // DisplayName - READ-ONLY; The display name of the custom alert. @@ -3077,6 +3452,20 @@ type CustomAlertRule struct { RuleType *string `json:"ruleType,omitempty"` } +// CVE CVE details +type CVE struct { + // Title - READ-ONLY; CVE title + Title *string `json:"title,omitempty"` + // Link - READ-ONLY; Link url + Link *string `json:"link,omitempty"` +} + +// CVSS CVSS details +type CVSS struct { + // Base - READ-ONLY; CVSS base + Base *float64 `json:"base,omitempty"` +} + // DataExportSetting represents a data export setting type DataExportSetting struct { // DataExportSettingProperties - Data export setting data @@ -5539,6 +5928,8 @@ type JitNetworkAccessPolicyInitiatePort struct { type JitNetworkAccessPolicyInitiateRequest struct { // VirtualMachines - A list of virtual machines & ports to open access for VirtualMachines *[]JitNetworkAccessPolicyInitiateVirtualMachine `json:"virtualMachines,omitempty"` + // Justification - The justification for making the initiate request + Justification *string `json:"justification,omitempty"` } // JitNetworkAccessPolicyInitiateVirtualMachine ... @@ -5589,6 +5980,8 @@ type JitNetworkAccessRequest struct { StartTimeUtc *date.Time `json:"startTimeUtc,omitempty"` // Requestor - The identity of the person who made the request Requestor *string `json:"requestor,omitempty"` + // Justification - The justification for making the initiate request + Justification *string `json:"justification,omitempty"` } // JitNetworkAccessRequestPort ... @@ -5822,7 +6215,7 @@ type PathRecommendation struct { Common *bool `json:"common,omitempty"` UserSids *[]string `json:"userSids,omitempty"` Usernames *[]UserRecommendation `json:"usernames,omitempty"` - // FileType - Possible values include: 'Exe', 'Dll', 'Msi', 'Script', 'Executable', 'Unknown' + // FileType - Possible values include: 'FileTypeExe', 'FileTypeDll', 'FileTypeMsi', 'FileTypeScript', 'FileTypeExecutable', 'FileTypeUnknown' FileType FileType `json:"fileType,omitempty"` // ConfigurationStatus - Possible values include: 'ConfigurationStatus1Configured', 'ConfigurationStatus1NotConfigured', 'ConfigurationStatus1InProgress', 'ConfigurationStatus1Failed', 'ConfigurationStatus1NoStatus' ConfigurationStatus ConfigurationStatus1 `json:"configurationStatus,omitempty"` @@ -5918,6 +6311,19 @@ type PricingProperties struct { FreeTrialRemainingTime *string `json:"freeTrialRemainingTime,omitempty"` } +// ProtectionMode the protection mode of the collection/file types. Exe/Msi/Script are used for Windows, +// Executable is used for Linux. +type ProtectionMode struct { + // Exe - Possible values include: 'ExeAudit', 'ExeEnforce', 'ExeNone' + Exe Exe `json:"exe,omitempty"` + // Msi - Possible values include: 'MsiAudit', 'MsiEnforce', 'MsiNone' + Msi Msi `json:"msi,omitempty"` + // Script - Possible values include: 'ScriptAudit', 'ScriptEnforce', 'ScriptNone' + Script Script `json:"script,omitempty"` + // Executable - Possible values include: 'ExecutableAudit', 'ExecutableEnforce', 'ExecutableNone' + Executable Executable `json:"executable,omitempty"` +} + // PublisherInfo represents the publisher information of a process/rule type PublisherInfo struct { // PublisherName - The Subject field of the x.509 certificate used to sign the code, using the following fields - O = Organization, L = Locality, S = State or Province, and C = Country @@ -6656,6 +7062,90 @@ type Resource struct { Type *string `json:"type,omitempty"` } +// BasicResourceDetails details of the resource that was assessed +type BasicResourceDetails interface { + AsAzureResourceDetails() (*AzureResourceDetails, bool) + AsAwsResourceDetails() (*AwsResourceDetails, bool) + AsResourceDetails() (*ResourceDetails, bool) +} + +// ResourceDetails details of the resource that was assessed +type ResourceDetails struct { + // Source - Possible values include: 'SourceResourceDetails', 'SourceAzure', 'SourceAws' + Source Source `json:"source,omitempty"` +} + +func unmarshalBasicResourceDetails(body []byte) (BasicResourceDetails, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["source"] { + case string(SourceAzure): + var ard AzureResourceDetails + err := json.Unmarshal(body, &ard) + return ard, err + case string(SourceAws): + var ard AwsResourceDetails + err := json.Unmarshal(body, &ard) + return ard, err + default: + var rd ResourceDetails + err := json.Unmarshal(body, &rd) + return rd, err + } +} +func unmarshalBasicResourceDetailsArray(body []byte) ([]BasicResourceDetails, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + rdArray := make([]BasicResourceDetails, len(rawMessages)) + + for index, rawMessage := range rawMessages { + rd, err := unmarshalBasicResourceDetails(*rawMessage) + if err != nil { + return nil, err + } + rdArray[index] = rd + } + return rdArray, nil +} + +// MarshalJSON is the custom marshaler for ResourceDetails. +func (rd ResourceDetails) MarshalJSON() ([]byte, error) { + rd.Source = SourceResourceDetails + objectMap := make(map[string]interface{}) + if rd.Source != "" { + objectMap["source"] = rd.Source + } + return json.Marshal(objectMap) +} + +// AsAzureResourceDetails is the BasicResourceDetails implementation for ResourceDetails. +func (rd ResourceDetails) AsAzureResourceDetails() (*AzureResourceDetails, bool) { + return nil, false +} + +// AsAwsResourceDetails is the BasicResourceDetails implementation for ResourceDetails. +func (rd ResourceDetails) AsAwsResourceDetails() (*AwsResourceDetails, bool) { + return nil, false +} + +// AsResourceDetails is the BasicResourceDetails implementation for ResourceDetails. +func (rd ResourceDetails) AsResourceDetails() (*ResourceDetails, bool) { + return &rd, true +} + +// AsBasicResourceDetails is the BasicResourceDetails implementation for ResourceDetails. +func (rd ResourceDetails) AsBasicResourceDetails() (BasicResourceDetails, bool) { + return &rd, true +} + // Rule describes remote addresses that is recommended to communicate with the Azure resource on some // (Protocol, Port, Direction). All other remote addresses are recommended to be blocked type Rule struct { @@ -6681,6 +7171,61 @@ type SensitivityLabel struct { Enabled *bool `json:"enabled,omitempty"` } +// ServerVulnerabilityProperties additional context fields for server vulnerability assessment +type ServerVulnerabilityProperties struct { + // Type - READ-ONLY; Vulnerability Type. e.g: Vulnerability, Potential Vulnerability, Information Gathered + Type *string `json:"type,omitempty"` + // Cvss - READ-ONLY; Dictionary from cvss version to cvss details object + Cvss map[string]*CVSS `json:"cvss"` + // Patchable - READ-ONLY; Indicates whether a patch is available or not + Patchable *bool `json:"patchable,omitempty"` + // Cve - READ-ONLY; List of CVEs + Cve *[]CVE `json:"cve,omitempty"` + // Threat - READ-ONLY; Threat name + Threat *string `json:"threat,omitempty"` + // PublishedTime - READ-ONLY; Published time + PublishedTime *date.Time `json:"publishedTime,omitempty"` + // VendorReferences - READ-ONLY + VendorReferences *[]VendorReference `json:"vendorReferences,omitempty"` + // AssessedResourceType - Possible values include: 'AssessedResourceTypeAdditionalData', 'AssessedResourceTypeSQLServerVulnerability', 'AssessedResourceTypeContainerRegistryVulnerability', 'AssessedResourceTypeServerVulnerabilityAssessment' + AssessedResourceType AssessedResourceType `json:"assessedResourceType,omitempty"` +} + +// MarshalJSON is the custom marshaler for ServerVulnerabilityProperties. +func (svp ServerVulnerabilityProperties) MarshalJSON() ([]byte, error) { + svp.AssessedResourceType = AssessedResourceTypeServerVulnerabilityAssessment + objectMap := make(map[string]interface{}) + if svp.AssessedResourceType != "" { + objectMap["assessedResourceType"] = svp.AssessedResourceType + } + return json.Marshal(objectMap) +} + +// AsSQLServerVulnerabilityProperties is the BasicAdditionalData implementation for ServerVulnerabilityProperties. +func (svp ServerVulnerabilityProperties) AsSQLServerVulnerabilityProperties() (*SQLServerVulnerabilityProperties, bool) { + return nil, false +} + +// AsContainerRegistryVulnerabilityProperties is the BasicAdditionalData implementation for ServerVulnerabilityProperties. +func (svp ServerVulnerabilityProperties) AsContainerRegistryVulnerabilityProperties() (*ContainerRegistryVulnerabilityProperties, bool) { + return nil, false +} + +// AsServerVulnerabilityProperties is the BasicAdditionalData implementation for ServerVulnerabilityProperties. +func (svp ServerVulnerabilityProperties) AsServerVulnerabilityProperties() (*ServerVulnerabilityProperties, bool) { + return &svp, true +} + +// AsAdditionalData is the BasicAdditionalData implementation for ServerVulnerabilityProperties. +func (svp ServerVulnerabilityProperties) AsAdditionalData() (*AdditionalData, bool) { + return nil, false +} + +// AsBasicAdditionalData is the BasicAdditionalData implementation for ServerVulnerabilityProperties. +func (svp ServerVulnerabilityProperties) AsBasicAdditionalData() (BasicAdditionalData, bool) { + return &svp, true +} + // Setting represents a security setting in Azure Security Center. type Setting struct { autorest.Response `json:"-"` @@ -6852,6 +7397,405 @@ func NewSettingsListPage(getNextPage func(context.Context, SettingsList) (Settin return SettingsListPage{fn: getNextPage} } +// SQLServerVulnerabilityProperties details of the resource that was assessed +type SQLServerVulnerabilityProperties struct { + // Type - READ-ONLY; The resource type the sub assessment refers to in its resource details + Type *string `json:"type,omitempty"` + // Query - READ-ONLY; The T-SQL query that runs on your SQL database to perform the particular check + Query *string `json:"query,omitempty"` + // AssessedResourceType - Possible values include: 'AssessedResourceTypeAdditionalData', 'AssessedResourceTypeSQLServerVulnerability', 'AssessedResourceTypeContainerRegistryVulnerability', 'AssessedResourceTypeServerVulnerabilityAssessment' + AssessedResourceType AssessedResourceType `json:"assessedResourceType,omitempty"` +} + +// MarshalJSON is the custom marshaler for SQLServerVulnerabilityProperties. +func (ssvp SQLServerVulnerabilityProperties) MarshalJSON() ([]byte, error) { + ssvp.AssessedResourceType = AssessedResourceTypeSQLServerVulnerability + objectMap := make(map[string]interface{}) + if ssvp.AssessedResourceType != "" { + objectMap["assessedResourceType"] = ssvp.AssessedResourceType + } + return json.Marshal(objectMap) +} + +// AsSQLServerVulnerabilityProperties is the BasicAdditionalData implementation for SQLServerVulnerabilityProperties. +func (ssvp SQLServerVulnerabilityProperties) AsSQLServerVulnerabilityProperties() (*SQLServerVulnerabilityProperties, bool) { + return &ssvp, true +} + +// AsContainerRegistryVulnerabilityProperties is the BasicAdditionalData implementation for SQLServerVulnerabilityProperties. +func (ssvp SQLServerVulnerabilityProperties) AsContainerRegistryVulnerabilityProperties() (*ContainerRegistryVulnerabilityProperties, bool) { + return nil, false +} + +// AsServerVulnerabilityProperties is the BasicAdditionalData implementation for SQLServerVulnerabilityProperties. +func (ssvp SQLServerVulnerabilityProperties) AsServerVulnerabilityProperties() (*ServerVulnerabilityProperties, bool) { + return nil, false +} + +// AsAdditionalData is the BasicAdditionalData implementation for SQLServerVulnerabilityProperties. +func (ssvp SQLServerVulnerabilityProperties) AsAdditionalData() (*AdditionalData, bool) { + return nil, false +} + +// AsBasicAdditionalData is the BasicAdditionalData implementation for SQLServerVulnerabilityProperties. +func (ssvp SQLServerVulnerabilityProperties) AsBasicAdditionalData() (BasicAdditionalData, bool) { + return &ssvp, true +} + +// SubAssessment security sub-assessment on a resource +type SubAssessment struct { + autorest.Response `json:"-"` + *SubAssessmentProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource Id + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for SubAssessment. +func (sa SubAssessment) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if sa.SubAssessmentProperties != nil { + objectMap["properties"] = sa.SubAssessmentProperties + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for SubAssessment struct. +func (sa *SubAssessment) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var subAssessmentProperties SubAssessmentProperties + err = json.Unmarshal(*v, &subAssessmentProperties) + if err != nil { + return err + } + sa.SubAssessmentProperties = &subAssessmentProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + sa.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + sa.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + sa.Type = &typeVar + } + } + } + + return nil +} + +// SubAssessmentList list of security sub-assessments +type SubAssessmentList struct { + autorest.Response `json:"-"` + // Value - READ-ONLY + Value *[]SubAssessment `json:"value,omitempty"` + // NextLink - READ-ONLY; The URI to fetch the next page. + NextLink *string `json:"nextLink,omitempty"` +} + +// SubAssessmentListIterator provides access to a complete listing of SubAssessment values. +type SubAssessmentListIterator struct { + i int + page SubAssessmentListPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *SubAssessmentListIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SubAssessmentListIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *SubAssessmentListIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter SubAssessmentListIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter SubAssessmentListIterator) Response() SubAssessmentList { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter SubAssessmentListIterator) Value() SubAssessment { + if !iter.page.NotDone() { + return SubAssessment{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the SubAssessmentListIterator type. +func NewSubAssessmentListIterator(page SubAssessmentListPage) SubAssessmentListIterator { + return SubAssessmentListIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (sal SubAssessmentList) IsEmpty() bool { + return sal.Value == nil || len(*sal.Value) == 0 +} + +// subAssessmentListPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (sal SubAssessmentList) subAssessmentListPreparer(ctx context.Context) (*http.Request, error) { + if sal.NextLink == nil || len(to.String(sal.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(sal.NextLink))) +} + +// SubAssessmentListPage contains a page of SubAssessment values. +type SubAssessmentListPage struct { + fn func(context.Context, SubAssessmentList) (SubAssessmentList, error) + sal SubAssessmentList +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *SubAssessmentListPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SubAssessmentListPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.sal) + if err != nil { + return err + } + page.sal = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *SubAssessmentListPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page SubAssessmentListPage) NotDone() bool { + return !page.sal.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page SubAssessmentListPage) Response() SubAssessmentList { + return page.sal +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page SubAssessmentListPage) Values() []SubAssessment { + if page.sal.IsEmpty() { + return nil + } + return *page.sal.Value +} + +// Creates a new instance of the SubAssessmentListPage type. +func NewSubAssessmentListPage(getNextPage func(context.Context, SubAssessmentList) (SubAssessmentList, error)) SubAssessmentListPage { + return SubAssessmentListPage{fn: getNextPage} +} + +// SubAssessmentProperties describes properties of an sub-assessment. +type SubAssessmentProperties struct { + // ID - READ-ONLY; Vulnerability ID + ID *string `json:"id,omitempty"` + // DisplayName - READ-ONLY; User friendly display name of the sub-assessment + DisplayName *string `json:"displayName,omitempty"` + Status *SubAssessmentStatus `json:"status,omitempty"` + // Remediation - READ-ONLY; Information on how to remediate this sub-assessment + Remediation *string `json:"remediation,omitempty"` + // Impact - READ-ONLY; Description of the impact of this sub-assessment + Impact *string `json:"impact,omitempty"` + // Category - READ-ONLY; Category of the sub-assessment + Category *string `json:"category,omitempty"` + // Description - READ-ONLY; Human readable description of the assessment status + Description *string `json:"description,omitempty"` + // TimeGenerated - READ-ONLY; The date and time the sub-assessment was generated + TimeGenerated *date.Time `json:"timeGenerated,omitempty"` + ResourceDetails BasicResourceDetails `json:"resourceDetails,omitempty"` + AdditionalData BasicAdditionalData `json:"additionalData,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for SubAssessmentProperties struct. +func (sap *SubAssessmentProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + sap.ID = &ID + } + case "displayName": + if v != nil { + var displayName string + err = json.Unmarshal(*v, &displayName) + if err != nil { + return err + } + sap.DisplayName = &displayName + } + case "status": + if v != nil { + var status SubAssessmentStatus + err = json.Unmarshal(*v, &status) + if err != nil { + return err + } + sap.Status = &status + } + case "remediation": + if v != nil { + var remediation string + err = json.Unmarshal(*v, &remediation) + if err != nil { + return err + } + sap.Remediation = &remediation + } + case "impact": + if v != nil { + var impact string + err = json.Unmarshal(*v, &impact) + if err != nil { + return err + } + sap.Impact = &impact + } + case "category": + if v != nil { + var category string + err = json.Unmarshal(*v, &category) + if err != nil { + return err + } + sap.Category = &category + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + sap.Description = &description + } + case "timeGenerated": + if v != nil { + var timeGenerated date.Time + err = json.Unmarshal(*v, &timeGenerated) + if err != nil { + return err + } + sap.TimeGenerated = &timeGenerated + } + case "resourceDetails": + if v != nil { + resourceDetails, err := unmarshalBasicResourceDetails(*v) + if err != nil { + return err + } + sap.ResourceDetails = resourceDetails + } + case "additionalData": + if v != nil { + additionalData, err := unmarshalBasicAdditionalData(*v) + if err != nil { + return err + } + sap.AdditionalData = additionalData + } + } + } + + return nil +} + +// SubAssessmentStatus status of the sub-assessment +type SubAssessmentStatus struct { + // Code - READ-ONLY; Programmatic code for the status of the assessment. Possible values include: 'Healthy', 'Unhealthy', 'NotApplicable' + Code SubAssessmentStatusCode `json:"code,omitempty"` + // Cause - READ-ONLY; Programmatic code for the cause of the assessment status + Cause *string `json:"cause,omitempty"` + // Description - READ-ONLY; Human readable description of the assessment status + Description *string `json:"description,omitempty"` + // Severity - READ-ONLY; The sub-assessment severity level. Possible values include: 'SeverityLow', 'SeverityMedium', 'SeverityHigh' + Severity Severity `json:"severity,omitempty"` +} + // TagsResource a container holding only the Tags for a resource, allowing the user to update the tags. type TagsResource struct { // Tags - Resource tags @@ -7494,6 +8438,14 @@ type UserRecommendation struct { RecommendationAction RecommendationAction1 `json:"recommendationAction,omitempty"` } +// VendorReference vendor reference +type VendorReference struct { + // Title - READ-ONLY; Link title + Title *string `json:"title,omitempty"` + // Link - READ-ONLY; Link url + Link *string `json:"link,omitempty"` +} + // VMRecommendation represents a machine that is part of a VM/server group type VMRecommendation struct { // ConfigurationStatus - Possible values include: 'Configured', 'NotConfigured', 'InProgress', 'Failed', 'NoStatus' diff --git a/services/preview/security/mgmt/v2.0/security/securityapi/interfaces.go b/services/preview/security/mgmt/v2.0/security/securityapi/interfaces.go index dde4288d926e..dec22bd03f50 100644 --- a/services/preview/security/mgmt/v2.0/security/securityapi/interfaces.go +++ b/services/preview/security/mgmt/v2.0/security/securityapi/interfaces.go @@ -23,6 +23,15 @@ import ( "github.com/Azure/go-autorest/autorest" ) +// SubAssessmentsClientAPI contains the set of methods on the SubAssessmentsClient type. +type SubAssessmentsClientAPI interface { + Get(ctx context.Context, scope string, assessmentName string, subAssessmentName string) (result security.SubAssessment, err error) + List(ctx context.Context, scope string, assessmentName string) (result security.SubAssessmentListPage, err error) + ListAll(ctx context.Context, scope string) (result security.SubAssessmentListPage, err error) +} + +var _ SubAssessmentsClientAPI = (*security.SubAssessmentsClient)(nil) + // RegulatoryComplianceStandardsClientAPI contains the set of methods on the RegulatoryComplianceStandardsClient type. type RegulatoryComplianceStandardsClientAPI interface { Get(ctx context.Context, regulatoryComplianceStandardName string) (result security.RegulatoryComplianceStandard, err error) diff --git a/services/preview/security/mgmt/v2.0/security/subassessments.go b/services/preview/security/mgmt/v2.0/security/subassessments.go new file mode 100644 index 000000000000..4fa19d8e398d --- /dev/null +++ b/services/preview/security/mgmt/v2.0/security/subassessments.go @@ -0,0 +1,348 @@ +package security + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// SubAssessmentsClient is the API spec for Microsoft.Security (Azure Security Center) resource provider +type SubAssessmentsClient struct { + BaseClient +} + +// NewSubAssessmentsClient creates an instance of the SubAssessmentsClient client. +func NewSubAssessmentsClient(subscriptionID string, ascLocation string) SubAssessmentsClient { + return NewSubAssessmentsClientWithBaseURI(DefaultBaseURI, subscriptionID, ascLocation) +} + +// NewSubAssessmentsClientWithBaseURI creates an instance of the SubAssessmentsClient client. +func NewSubAssessmentsClientWithBaseURI(baseURI string, subscriptionID string, ascLocation string) SubAssessmentsClient { + return SubAssessmentsClient{NewWithBaseURI(baseURI, subscriptionID, ascLocation)} +} + +// Get get a security sub-assessment on your scanned resource +// Parameters: +// scope - scope of the query, can be subscription (/subscriptions/0b06d9ea-afe6-4779-bd59-30e5c2d9d13f) or +// management group (/providers/Microsoft.Management/managementGroups/mgName). +// assessmentName - the Assessment Key - Unique key for the assessment type +// subAssessmentName - the Sub-Assessment Key - Unique key for the sub-assessment type +func (client SubAssessmentsClient) Get(ctx context.Context, scope string, assessmentName string, subAssessmentName string) (result SubAssessment, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SubAssessmentsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, scope, assessmentName, subAssessmentName) + if err != nil { + err = autorest.NewErrorWithError(err, "security.SubAssessmentsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "security.SubAssessmentsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "security.SubAssessmentsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client SubAssessmentsClient) GetPreparer(ctx context.Context, scope string, assessmentName string, subAssessmentName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "assessmentName": autorest.Encode("path", assessmentName), + "scope": autorest.Encode("path", scope), + "subAssessmentName": autorest.Encode("path", subAssessmentName), + } + + const APIVersion = "2019-01-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/{scope}/providers/Microsoft.Security/assessments/{assessmentName}/subAssessments/{subAssessmentName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client SubAssessmentsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client SubAssessmentsClient) GetResponder(resp *http.Response) (result SubAssessment, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List get security sub-assessments on all your scanned resources inside a scope +// Parameters: +// scope - scope of the query, can be subscription (/subscriptions/0b06d9ea-afe6-4779-bd59-30e5c2d9d13f) or +// management group (/providers/Microsoft.Management/managementGroups/mgName). +// assessmentName - the Assessment Key - Unique key for the assessment type +func (client SubAssessmentsClient) List(ctx context.Context, scope string, assessmentName string) (result SubAssessmentListPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SubAssessmentsClient.List") + defer func() { + sc := -1 + if result.sal.Response.Response != nil { + sc = result.sal.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, scope, assessmentName) + if err != nil { + err = autorest.NewErrorWithError(err, "security.SubAssessmentsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.sal.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "security.SubAssessmentsClient", "List", resp, "Failure sending request") + return + } + + result.sal, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "security.SubAssessmentsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client SubAssessmentsClient) ListPreparer(ctx context.Context, scope string, assessmentName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "assessmentName": autorest.Encode("path", assessmentName), + "scope": autorest.Encode("path", scope), + } + + const APIVersion = "2019-01-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/{scope}/providers/Microsoft.Security/assessments/{assessmentName}/subAssessments", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client SubAssessmentsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client SubAssessmentsClient) ListResponder(resp *http.Response) (result SubAssessmentList, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client SubAssessmentsClient) listNextResults(ctx context.Context, lastResults SubAssessmentList) (result SubAssessmentList, err error) { + req, err := lastResults.subAssessmentListPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "security.SubAssessmentsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "security.SubAssessmentsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "security.SubAssessmentsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client SubAssessmentsClient) ListComplete(ctx context.Context, scope string, assessmentName string) (result SubAssessmentListIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SubAssessmentsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, scope, assessmentName) + return +} + +// ListAll get security sub-assessments on all your scanned resources inside a subscription scope +// Parameters: +// scope - scope of the query, can be subscription (/subscriptions/0b06d9ea-afe6-4779-bd59-30e5c2d9d13f) or +// management group (/providers/Microsoft.Management/managementGroups/mgName). +func (client SubAssessmentsClient) ListAll(ctx context.Context, scope string) (result SubAssessmentListPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SubAssessmentsClient.ListAll") + defer func() { + sc := -1 + if result.sal.Response.Response != nil { + sc = result.sal.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listAllNextResults + req, err := client.ListAllPreparer(ctx, scope) + if err != nil { + err = autorest.NewErrorWithError(err, "security.SubAssessmentsClient", "ListAll", nil, "Failure preparing request") + return + } + + resp, err := client.ListAllSender(req) + if err != nil { + result.sal.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "security.SubAssessmentsClient", "ListAll", resp, "Failure sending request") + return + } + + result.sal, err = client.ListAllResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "security.SubAssessmentsClient", "ListAll", resp, "Failure responding to request") + } + + return +} + +// ListAllPreparer prepares the ListAll request. +func (client SubAssessmentsClient) ListAllPreparer(ctx context.Context, scope string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "scope": autorest.Encode("path", scope), + } + + const APIVersion = "2019-01-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/{scope}/providers/Microsoft.Security/subAssessments", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListAllSender sends the ListAll request. The method will close the +// http.Response Body if it receives an error. +func (client SubAssessmentsClient) ListAllSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListAllResponder handles the response to the ListAll request. The method always +// closes the http.Response Body. +func (client SubAssessmentsClient) ListAllResponder(resp *http.Response) (result SubAssessmentList, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listAllNextResults retrieves the next set of results, if any. +func (client SubAssessmentsClient) listAllNextResults(ctx context.Context, lastResults SubAssessmentList) (result SubAssessmentList, err error) { + req, err := lastResults.subAssessmentListPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "security.SubAssessmentsClient", "listAllNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListAllSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "security.SubAssessmentsClient", "listAllNextResults", resp, "Failure sending next results request") + } + result, err = client.ListAllResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "security.SubAssessmentsClient", "listAllNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListAllComplete enumerates all values, automatically crossing page boundaries as required. +func (client SubAssessmentsClient) ListAllComplete(ctx context.Context, scope string) (result SubAssessmentListIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SubAssessmentsClient.ListAll") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListAll(ctx, scope) + return +} diff --git a/services/preview/security/mgmt/v3.0/security/devicesecuritygroups.go b/services/preview/security/mgmt/v3.0/security/devicesecuritygroups.go new file mode 100644 index 000000000000..00a09f9bf766 --- /dev/null +++ b/services/preview/security/mgmt/v3.0/security/devicesecuritygroups.go @@ -0,0 +1,386 @@ +package security + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// DeviceSecurityGroupsClient is the API spec for Microsoft.Security (Azure Security Center) resource provider +type DeviceSecurityGroupsClient struct { + BaseClient +} + +// NewDeviceSecurityGroupsClient creates an instance of the DeviceSecurityGroupsClient client. +func NewDeviceSecurityGroupsClient(subscriptionID string, ascLocation string) DeviceSecurityGroupsClient { + return NewDeviceSecurityGroupsClientWithBaseURI(DefaultBaseURI, subscriptionID, ascLocation) +} + +// NewDeviceSecurityGroupsClientWithBaseURI creates an instance of the DeviceSecurityGroupsClient client. +func NewDeviceSecurityGroupsClientWithBaseURI(baseURI string, subscriptionID string, ascLocation string) DeviceSecurityGroupsClient { + return DeviceSecurityGroupsClient{NewWithBaseURI(baseURI, subscriptionID, ascLocation)} +} + +// CreateOrUpdate use this method to creates or updates the device security group on a specified IoT Hub resource. +// Parameters: +// resourceID - the identifier of the resource. +// deviceSecurityGroupName - the name of the device security group. Note that the name of the device security +// group is case insensitive. +// deviceSecurityGroup - security group object. +func (client DeviceSecurityGroupsClient) CreateOrUpdate(ctx context.Context, resourceID string, deviceSecurityGroupName string, deviceSecurityGroup DeviceSecurityGroup) (result DeviceSecurityGroup, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeviceSecurityGroupsClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, resourceID, deviceSecurityGroupName, deviceSecurityGroup) + if err != nil { + err = autorest.NewErrorWithError(err, "security.DeviceSecurityGroupsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "security.DeviceSecurityGroupsClient", "CreateOrUpdate", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "security.DeviceSecurityGroupsClient", "CreateOrUpdate", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client DeviceSecurityGroupsClient) CreateOrUpdatePreparer(ctx context.Context, resourceID string, deviceSecurityGroupName string, deviceSecurityGroup DeviceSecurityGroup) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "deviceSecurityGroupName": autorest.Encode("path", deviceSecurityGroupName), + "resourceId": autorest.Encode("path", resourceID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/{resourceId}/providers/Microsoft.Security/deviceSecurityGroups/{deviceSecurityGroupName}", pathParameters), + autorest.WithJSON(deviceSecurityGroup), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client DeviceSecurityGroupsClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client DeviceSecurityGroupsClient) CreateOrUpdateResponder(resp *http.Response) (result DeviceSecurityGroup, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete user this method to deletes the device security group. +// Parameters: +// resourceID - the identifier of the resource. +// deviceSecurityGroupName - the name of the device security group. Note that the name of the device security +// group is case insensitive. +func (client DeviceSecurityGroupsClient) Delete(ctx context.Context, resourceID string, deviceSecurityGroupName string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeviceSecurityGroupsClient.Delete") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceID, deviceSecurityGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "security.DeviceSecurityGroupsClient", "Delete", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "security.DeviceSecurityGroupsClient", "Delete", resp, "Failure sending request") + return + } + + result, err = client.DeleteResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "security.DeviceSecurityGroupsClient", "Delete", resp, "Failure responding to request") + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client DeviceSecurityGroupsClient) DeletePreparer(ctx context.Context, resourceID string, deviceSecurityGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "deviceSecurityGroupName": autorest.Encode("path", deviceSecurityGroupName), + "resourceId": autorest.Encode("path", resourceID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/{resourceId}/providers/Microsoft.Security/deviceSecurityGroups/{deviceSecurityGroupName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client DeviceSecurityGroupsClient) DeleteSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client DeviceSecurityGroupsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get use this method to get the device security group for the specified IoT Hub resource. +// Parameters: +// resourceID - the identifier of the resource. +// deviceSecurityGroupName - the name of the device security group. Note that the name of the device security +// group is case insensitive. +func (client DeviceSecurityGroupsClient) Get(ctx context.Context, resourceID string, deviceSecurityGroupName string) (result DeviceSecurityGroup, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeviceSecurityGroupsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceID, deviceSecurityGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "security.DeviceSecurityGroupsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "security.DeviceSecurityGroupsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "security.DeviceSecurityGroupsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client DeviceSecurityGroupsClient) GetPreparer(ctx context.Context, resourceID string, deviceSecurityGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "deviceSecurityGroupName": autorest.Encode("path", deviceSecurityGroupName), + "resourceId": autorest.Encode("path", resourceID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/{resourceId}/providers/Microsoft.Security/deviceSecurityGroups/{deviceSecurityGroupName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client DeviceSecurityGroupsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client DeviceSecurityGroupsClient) GetResponder(resp *http.Response) (result DeviceSecurityGroup, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List use this method get the list of device security groups for the specified IoT Hub resource. +// Parameters: +// resourceID - the identifier of the resource. +func (client DeviceSecurityGroupsClient) List(ctx context.Context, resourceID string) (result DeviceSecurityGroupListPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeviceSecurityGroupsClient.List") + defer func() { + sc := -1 + if result.dsgl.Response.Response != nil { + sc = result.dsgl.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceID) + if err != nil { + err = autorest.NewErrorWithError(err, "security.DeviceSecurityGroupsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.dsgl.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "security.DeviceSecurityGroupsClient", "List", resp, "Failure sending request") + return + } + + result.dsgl, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "security.DeviceSecurityGroupsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client DeviceSecurityGroupsClient) ListPreparer(ctx context.Context, resourceID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceId": autorest.Encode("path", resourceID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/{resourceId}/providers/Microsoft.Security/deviceSecurityGroups", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client DeviceSecurityGroupsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client DeviceSecurityGroupsClient) ListResponder(resp *http.Response) (result DeviceSecurityGroupList, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client DeviceSecurityGroupsClient) listNextResults(ctx context.Context, lastResults DeviceSecurityGroupList) (result DeviceSecurityGroupList, err error) { + req, err := lastResults.deviceSecurityGroupListPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "security.DeviceSecurityGroupsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "security.DeviceSecurityGroupsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "security.DeviceSecurityGroupsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client DeviceSecurityGroupsClient) ListComplete(ctx context.Context, resourceID string) (result DeviceSecurityGroupListIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeviceSecurityGroupsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceID) + return +} diff --git a/services/preview/security/mgmt/v3.0/security/iotsecuritysolution.go b/services/preview/security/mgmt/v3.0/security/iotsecuritysolution.go index 69320fae227d..10b731aa211f 100644 --- a/services/preview/security/mgmt/v3.0/security/iotsecuritysolution.go +++ b/services/preview/security/mgmt/v3.0/security/iotsecuritysolution.go @@ -41,15 +41,15 @@ func NewIotSecuritySolutionClientWithBaseURI(baseURI string, subscriptionID stri return IotSecuritySolutionClient{NewWithBaseURI(baseURI, subscriptionID, ascLocation)} } -// Create create new solution manager +// CreateOrUpdate use this method to create or update yours IoT Security solution // Parameters: // resourceGroupName - the name of the resource group within the user's subscription. The name is case // insensitive. -// solutionName - the solution manager name +// solutionName - the name of the IoT Security solution. // iotSecuritySolutionData - the security solution data -func (client IotSecuritySolutionClient) Create(ctx context.Context, resourceGroupName string, solutionName string, iotSecuritySolutionData IoTSecuritySolutionModel) (result IoTSecuritySolutionModel, err error) { +func (client IotSecuritySolutionClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, solutionName string, iotSecuritySolutionData IoTSecuritySolutionModel) (result IoTSecuritySolutionModel, err error) { if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/IotSecuritySolutionClient.Create") + ctx = tracing.StartSpan(ctx, fqdn+"/IotSecuritySolutionClient.CreateOrUpdate") defer func() { sc := -1 if result.Response.Response != nil { @@ -75,32 +75,32 @@ func (client IotSecuritySolutionClient) Create(ctx context.Context, resourceGrou {Target: "iotSecuritySolutionData.IoTSecuritySolutionProperties.UserDefinedResources.QuerySubscriptions", Name: validation.Null, Rule: true, Chain: nil}, }}, }}}}}); err != nil { - return result, validation.NewError("security.IotSecuritySolutionClient", "Create", err.Error()) + return result, validation.NewError("security.IotSecuritySolutionClient", "CreateOrUpdate", err.Error()) } - req, err := client.CreatePreparer(ctx, resourceGroupName, solutionName, iotSecuritySolutionData) + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, solutionName, iotSecuritySolutionData) if err != nil { - err = autorest.NewErrorWithError(err, "security.IotSecuritySolutionClient", "Create", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "security.IotSecuritySolutionClient", "CreateOrUpdate", nil, "Failure preparing request") return } - resp, err := client.CreateSender(req) + resp, err := client.CreateOrUpdateSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "security.IotSecuritySolutionClient", "Create", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "security.IotSecuritySolutionClient", "CreateOrUpdate", resp, "Failure sending request") return } - result, err = client.CreateResponder(resp) + result, err = client.CreateOrUpdateResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "security.IotSecuritySolutionClient", "Create", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "security.IotSecuritySolutionClient", "CreateOrUpdate", resp, "Failure responding to request") } return } -// CreatePreparer prepares the Create request. -func (client IotSecuritySolutionClient) CreatePreparer(ctx context.Context, resourceGroupName string, solutionName string, iotSecuritySolutionData IoTSecuritySolutionModel) (*http.Request, error) { +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client IotSecuritySolutionClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, solutionName string, iotSecuritySolutionData IoTSecuritySolutionModel) (*http.Request, error) { pathParameters := map[string]interface{}{ "resourceGroupName": autorest.Encode("path", resourceGroupName), "solutionName": autorest.Encode("path", solutionName), @@ -125,16 +125,16 @@ func (client IotSecuritySolutionClient) CreatePreparer(ctx context.Context, reso return preparer.Prepare((&http.Request{}).WithContext(ctx)) } -// CreateSender sends the Create request. The method will close the +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the // http.Response Body if it receives an error. -func (client IotSecuritySolutionClient) CreateSender(req *http.Request) (*http.Response, error) { +func (client IotSecuritySolutionClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) return autorest.SendWithSender(client, req, sd...) } -// CreateResponder handles the response to the Create request. The method always +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always // closes the http.Response Body. -func (client IotSecuritySolutionClient) CreateResponder(resp *http.Response) (result IoTSecuritySolutionModel, err error) { +func (client IotSecuritySolutionClient) CreateOrUpdateResponder(resp *http.Response) (result IoTSecuritySolutionModel, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -145,11 +145,11 @@ func (client IotSecuritySolutionClient) CreateResponder(resp *http.Response) (re return } -// Delete create new solution manager +// Delete use this method to delete yours IoT Security solution // Parameters: // resourceGroupName - the name of the resource group within the user's subscription. The name is case // insensitive. -// solutionName - the solution manager name +// solutionName - the name of the IoT Security solution. func (client IotSecuritySolutionClient) Delete(ctx context.Context, resourceGroupName string, solutionName string) (result autorest.Response, err error) { if tracing.IsEnabled() { ctx = tracing.StartSpan(ctx, fqdn+"/IotSecuritySolutionClient.Delete") @@ -232,11 +232,11 @@ func (client IotSecuritySolutionClient) DeleteResponder(resp *http.Response) (re return } -// Get details of a specific iot security solution +// Get user this method to get details of a specific IoT Security solution based on solution name // Parameters: // resourceGroupName - the name of the resource group within the user's subscription. The name is case // insensitive. -// solutionName - the solution manager name +// solutionName - the name of the IoT Security solution. func (client IotSecuritySolutionClient) Get(ctx context.Context, resourceGroupName string, solutionName string) (result IoTSecuritySolutionModel, err error) { if tracing.IsEnabled() { ctx = tracing.StartSpan(ctx, fqdn+"/IotSecuritySolutionClient.Get") @@ -320,12 +320,261 @@ func (client IotSecuritySolutionClient) GetResponder(resp *http.Response) (resul return } -// Update update existing Security Solution tags or user defined resources. To update other fields use the -// CreateOrUpdate method +// ListByResourceGroup use this method to get the list IoT Security solutions organized by resource group. // Parameters: // resourceGroupName - the name of the resource group within the user's subscription. The name is case // insensitive. -// solutionName - the solution manager name +// filter - filter the IoT Security solution with OData syntax. Supports filtering by iotHubs. +func (client IotSecuritySolutionClient) ListByResourceGroup(ctx context.Context, resourceGroupName string, filter string) (result IoTSecuritySolutionsListPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IotSecuritySolutionClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.itssl.Response.Response != nil { + sc = result.itssl.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: client.SubscriptionID, + Constraints: []validation.Constraint{{Target: "client.SubscriptionID", Name: validation.Pattern, Rule: `^[0-9A-Fa-f]{8}-([0-9A-Fa-f]{4}-){3}[0-9A-Fa-f]{12}$`, Chain: nil}}}, + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("security.IotSecuritySolutionClient", "ListByResourceGroup", err.Error()) + } + + result.fn = client.listByResourceGroupNextResults + req, err := client.ListByResourceGroupPreparer(ctx, resourceGroupName, filter) + if err != nil { + err = autorest.NewErrorWithError(err, "security.IotSecuritySolutionClient", "ListByResourceGroup", nil, "Failure preparing request") + return + } + + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.itssl.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "security.IotSecuritySolutionClient", "ListByResourceGroup", resp, "Failure sending request") + return + } + + result.itssl, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "security.IotSecuritySolutionClient", "ListByResourceGroup", resp, "Failure responding to request") + } + + return +} + +// ListByResourceGroupPreparer prepares the ListByResourceGroup request. +func (client IotSecuritySolutionClient) ListByResourceGroupPreparer(ctx context.Context, resourceGroupName string, filter string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(filter) > 0 { + queryParameters["$filter"] = autorest.Encode("query", filter) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/iotSecuritySolutions", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByResourceGroupSender sends the ListByResourceGroup request. The method will close the +// http.Response Body if it receives an error. +func (client IotSecuritySolutionClient) ListByResourceGroupSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByResourceGroupResponder handles the response to the ListByResourceGroup request. The method always +// closes the http.Response Body. +func (client IotSecuritySolutionClient) ListByResourceGroupResponder(resp *http.Response) (result IoTSecuritySolutionsList, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listByResourceGroupNextResults retrieves the next set of results, if any. +func (client IotSecuritySolutionClient) listByResourceGroupNextResults(ctx context.Context, lastResults IoTSecuritySolutionsList) (result IoTSecuritySolutionsList, err error) { + req, err := lastResults.ioTSecuritySolutionsListPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "security.IotSecuritySolutionClient", "listByResourceGroupNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "security.IotSecuritySolutionClient", "listByResourceGroupNextResults", resp, "Failure sending next results request") + } + result, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "security.IotSecuritySolutionClient", "listByResourceGroupNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListByResourceGroupComplete enumerates all values, automatically crossing page boundaries as required. +func (client IotSecuritySolutionClient) ListByResourceGroupComplete(ctx context.Context, resourceGroupName string, filter string) (result IoTSecuritySolutionsListIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IotSecuritySolutionClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListByResourceGroup(ctx, resourceGroupName, filter) + return +} + +// ListBySubscription use this method to get the list of IoT Security solutions by subscription. +// Parameters: +// filter - filter the IoT Security solution with OData syntax. Supports filtering by iotHubs. +func (client IotSecuritySolutionClient) ListBySubscription(ctx context.Context, filter string) (result IoTSecuritySolutionsListPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IotSecuritySolutionClient.ListBySubscription") + defer func() { + sc := -1 + if result.itssl.Response.Response != nil { + sc = result.itssl.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: client.SubscriptionID, + Constraints: []validation.Constraint{{Target: "client.SubscriptionID", Name: validation.Pattern, Rule: `^[0-9A-Fa-f]{8}-([0-9A-Fa-f]{4}-){3}[0-9A-Fa-f]{12}$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("security.IotSecuritySolutionClient", "ListBySubscription", err.Error()) + } + + result.fn = client.listBySubscriptionNextResults + req, err := client.ListBySubscriptionPreparer(ctx, filter) + if err != nil { + err = autorest.NewErrorWithError(err, "security.IotSecuritySolutionClient", "ListBySubscription", nil, "Failure preparing request") + return + } + + resp, err := client.ListBySubscriptionSender(req) + if err != nil { + result.itssl.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "security.IotSecuritySolutionClient", "ListBySubscription", resp, "Failure sending request") + return + } + + result.itssl, err = client.ListBySubscriptionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "security.IotSecuritySolutionClient", "ListBySubscription", resp, "Failure responding to request") + } + + return +} + +// ListBySubscriptionPreparer prepares the ListBySubscription request. +func (client IotSecuritySolutionClient) ListBySubscriptionPreparer(ctx context.Context, filter string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(filter) > 0 { + queryParameters["$filter"] = autorest.Encode("query", filter) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Security/iotSecuritySolutions", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListBySubscriptionSender sends the ListBySubscription request. The method will close the +// http.Response Body if it receives an error. +func (client IotSecuritySolutionClient) ListBySubscriptionSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListBySubscriptionResponder handles the response to the ListBySubscription request. The method always +// closes the http.Response Body. +func (client IotSecuritySolutionClient) ListBySubscriptionResponder(resp *http.Response) (result IoTSecuritySolutionsList, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listBySubscriptionNextResults retrieves the next set of results, if any. +func (client IotSecuritySolutionClient) listBySubscriptionNextResults(ctx context.Context, lastResults IoTSecuritySolutionsList) (result IoTSecuritySolutionsList, err error) { + req, err := lastResults.ioTSecuritySolutionsListPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "security.IotSecuritySolutionClient", "listBySubscriptionNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListBySubscriptionSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "security.IotSecuritySolutionClient", "listBySubscriptionNextResults", resp, "Failure sending next results request") + } + result, err = client.ListBySubscriptionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "security.IotSecuritySolutionClient", "listBySubscriptionNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListBySubscriptionComplete enumerates all values, automatically crossing page boundaries as required. +func (client IotSecuritySolutionClient) ListBySubscriptionComplete(ctx context.Context, filter string) (result IoTSecuritySolutionsListIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IotSecuritySolutionClient.ListBySubscription") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListBySubscription(ctx, filter) + return +} + +// Update use this method to update existing IoT Security solution tags or user defined resources. To update other +// fields use the CreateOrUpdate method. +// Parameters: +// resourceGroupName - the name of the resource group within the user's subscription. The name is case +// insensitive. +// solutionName - the name of the IoT Security solution. // updateIotSecuritySolutionData - the security solution data func (client IotSecuritySolutionClient) Update(ctx context.Context, resourceGroupName string, solutionName string, updateIotSecuritySolutionData UpdateIotSecuritySolutionData) (result IoTSecuritySolutionModel, err error) { if tracing.IsEnabled() { diff --git a/services/preview/security/mgmt/v3.0/security/iotsecuritysolutionsanalytics.go b/services/preview/security/mgmt/v3.0/security/iotsecuritysolutionanalytics.go similarity index 58% rename from services/preview/security/mgmt/v3.0/security/iotsecuritysolutionsanalytics.go rename to services/preview/security/mgmt/v3.0/security/iotsecuritysolutionanalytics.go index 22ce11631743..85c4adbf8b00 100644 --- a/services/preview/security/mgmt/v3.0/security/iotsecuritysolutionsanalytics.go +++ b/services/preview/security/mgmt/v3.0/security/iotsecuritysolutionanalytics.go @@ -26,30 +26,30 @@ import ( "net/http" ) -// IoTSecuritySolutionsAnalyticsClient is the API spec for Microsoft.Security (Azure Security Center) resource provider -type IoTSecuritySolutionsAnalyticsClient struct { +// IotSecuritySolutionAnalyticsClient is the API spec for Microsoft.Security (Azure Security Center) resource provider +type IotSecuritySolutionAnalyticsClient struct { BaseClient } -// NewIoTSecuritySolutionsAnalyticsClient creates an instance of the IoTSecuritySolutionsAnalyticsClient client. -func NewIoTSecuritySolutionsAnalyticsClient(subscriptionID string, ascLocation string) IoTSecuritySolutionsAnalyticsClient { - return NewIoTSecuritySolutionsAnalyticsClientWithBaseURI(DefaultBaseURI, subscriptionID, ascLocation) +// NewIotSecuritySolutionAnalyticsClient creates an instance of the IotSecuritySolutionAnalyticsClient client. +func NewIotSecuritySolutionAnalyticsClient(subscriptionID string, ascLocation string) IotSecuritySolutionAnalyticsClient { + return NewIotSecuritySolutionAnalyticsClientWithBaseURI(DefaultBaseURI, subscriptionID, ascLocation) } -// NewIoTSecuritySolutionsAnalyticsClientWithBaseURI creates an instance of the IoTSecuritySolutionsAnalyticsClient +// NewIotSecuritySolutionAnalyticsClientWithBaseURI creates an instance of the IotSecuritySolutionAnalyticsClient // client. -func NewIoTSecuritySolutionsAnalyticsClientWithBaseURI(baseURI string, subscriptionID string, ascLocation string) IoTSecuritySolutionsAnalyticsClient { - return IoTSecuritySolutionsAnalyticsClient{NewWithBaseURI(baseURI, subscriptionID, ascLocation)} +func NewIotSecuritySolutionAnalyticsClientWithBaseURI(baseURI string, subscriptionID string, ascLocation string) IotSecuritySolutionAnalyticsClient { + return IotSecuritySolutionAnalyticsClient{NewWithBaseURI(baseURI, subscriptionID, ascLocation)} } -// GetAll security Analytics of a security solution +// Get use this method to get IoT Security Analytics metrics. // Parameters: // resourceGroupName - the name of the resource group within the user's subscription. The name is case // insensitive. -// solutionName - the solution manager name -func (client IoTSecuritySolutionsAnalyticsClient) GetAll(ctx context.Context, resourceGroupName string, solutionName string) (result IoTSecuritySolutionAnalyticsModelList, err error) { +// solutionName - the name of the IoT Security solution. +func (client IotSecuritySolutionAnalyticsClient) Get(ctx context.Context, resourceGroupName string, solutionName string) (result IoTSecuritySolutionAnalyticsModel, err error) { if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/IoTSecuritySolutionsAnalyticsClient.GetAll") + ctx = tracing.StartSpan(ctx, fqdn+"/IotSecuritySolutionAnalyticsClient.Get") defer func() { sc := -1 if result.Response.Response != nil { @@ -65,32 +65,32 @@ func (client IoTSecuritySolutionsAnalyticsClient) GetAll(ctx context.Context, re Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}}); err != nil { - return result, validation.NewError("security.IoTSecuritySolutionsAnalyticsClient", "GetAll", err.Error()) + return result, validation.NewError("security.IotSecuritySolutionAnalyticsClient", "Get", err.Error()) } - req, err := client.GetAllPreparer(ctx, resourceGroupName, solutionName) + req, err := client.GetPreparer(ctx, resourceGroupName, solutionName) if err != nil { - err = autorest.NewErrorWithError(err, "security.IoTSecuritySolutionsAnalyticsClient", "GetAll", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "security.IotSecuritySolutionAnalyticsClient", "Get", nil, "Failure preparing request") return } - resp, err := client.GetAllSender(req) + resp, err := client.GetSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "security.IoTSecuritySolutionsAnalyticsClient", "GetAll", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "security.IotSecuritySolutionAnalyticsClient", "Get", resp, "Failure sending request") return } - result, err = client.GetAllResponder(resp) + result, err = client.GetResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "security.IoTSecuritySolutionsAnalyticsClient", "GetAll", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "security.IotSecuritySolutionAnalyticsClient", "Get", resp, "Failure responding to request") } return } -// GetAllPreparer prepares the GetAll request. -func (client IoTSecuritySolutionsAnalyticsClient) GetAllPreparer(ctx context.Context, resourceGroupName string, solutionName string) (*http.Request, error) { +// GetPreparer prepares the Get request. +func (client IotSecuritySolutionAnalyticsClient) GetPreparer(ctx context.Context, resourceGroupName string, solutionName string) (*http.Request, error) { pathParameters := map[string]interface{}{ "resourceGroupName": autorest.Encode("path", resourceGroupName), "solutionName": autorest.Encode("path", solutionName), @@ -105,21 +105,21 @@ func (client IoTSecuritySolutionsAnalyticsClient) GetAllPreparer(ctx context.Con preparer := autorest.CreatePreparer( autorest.AsGet(), autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/iotSecuritySolutions/{solutionName}/analyticsModels", pathParameters), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/iotSecuritySolutions/{solutionName}/analyticsModels/default", pathParameters), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) } -// GetAllSender sends the GetAll request. The method will close the +// GetSender sends the Get request. The method will close the // http.Response Body if it receives an error. -func (client IoTSecuritySolutionsAnalyticsClient) GetAllSender(req *http.Request) (*http.Response, error) { +func (client IotSecuritySolutionAnalyticsClient) GetSender(req *http.Request) (*http.Response, error) { sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) return autorest.SendWithSender(client, req, sd...) } -// GetAllResponder handles the response to the GetAll request. The method always +// GetResponder handles the response to the Get request. The method always // closes the http.Response Body. -func (client IoTSecuritySolutionsAnalyticsClient) GetAllResponder(resp *http.Response) (result IoTSecuritySolutionAnalyticsModelList, err error) { +func (client IotSecuritySolutionAnalyticsClient) GetResponder(resp *http.Response) (result IoTSecuritySolutionAnalyticsModel, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -130,14 +130,14 @@ func (client IoTSecuritySolutionsAnalyticsClient) GetAllResponder(resp *http.Res return } -// GetDefault security Analytics of a security solution +// List use this method to get IoT security Analytics metrics in an array. // Parameters: // resourceGroupName - the name of the resource group within the user's subscription. The name is case // insensitive. -// solutionName - the solution manager name -func (client IoTSecuritySolutionsAnalyticsClient) GetDefault(ctx context.Context, resourceGroupName string, solutionName string) (result IoTSecuritySolutionAnalyticsModel, err error) { +// solutionName - the name of the IoT Security solution. +func (client IotSecuritySolutionAnalyticsClient) List(ctx context.Context, resourceGroupName string, solutionName string) (result IoTSecuritySolutionAnalyticsModelList, err error) { if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/IoTSecuritySolutionsAnalyticsClient.GetDefault") + ctx = tracing.StartSpan(ctx, fqdn+"/IotSecuritySolutionAnalyticsClient.List") defer func() { sc := -1 if result.Response.Response != nil { @@ -153,32 +153,32 @@ func (client IoTSecuritySolutionsAnalyticsClient) GetDefault(ctx context.Context Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}}); err != nil { - return result, validation.NewError("security.IoTSecuritySolutionsAnalyticsClient", "GetDefault", err.Error()) + return result, validation.NewError("security.IotSecuritySolutionAnalyticsClient", "List", err.Error()) } - req, err := client.GetDefaultPreparer(ctx, resourceGroupName, solutionName) + req, err := client.ListPreparer(ctx, resourceGroupName, solutionName) if err != nil { - err = autorest.NewErrorWithError(err, "security.IoTSecuritySolutionsAnalyticsClient", "GetDefault", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "security.IotSecuritySolutionAnalyticsClient", "List", nil, "Failure preparing request") return } - resp, err := client.GetDefaultSender(req) + resp, err := client.ListSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "security.IoTSecuritySolutionsAnalyticsClient", "GetDefault", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "security.IotSecuritySolutionAnalyticsClient", "List", resp, "Failure sending request") return } - result, err = client.GetDefaultResponder(resp) + result, err = client.ListResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "security.IoTSecuritySolutionsAnalyticsClient", "GetDefault", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "security.IotSecuritySolutionAnalyticsClient", "List", resp, "Failure responding to request") } return } -// GetDefaultPreparer prepares the GetDefault request. -func (client IoTSecuritySolutionsAnalyticsClient) GetDefaultPreparer(ctx context.Context, resourceGroupName string, solutionName string) (*http.Request, error) { +// ListPreparer prepares the List request. +func (client IotSecuritySolutionAnalyticsClient) ListPreparer(ctx context.Context, resourceGroupName string, solutionName string) (*http.Request, error) { pathParameters := map[string]interface{}{ "resourceGroupName": autorest.Encode("path", resourceGroupName), "solutionName": autorest.Encode("path", solutionName), @@ -193,21 +193,21 @@ func (client IoTSecuritySolutionsAnalyticsClient) GetDefaultPreparer(ctx context preparer := autorest.CreatePreparer( autorest.AsGet(), autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/iotSecuritySolutions/{solutionName}/analyticsModels/default", pathParameters), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/iotSecuritySolutions/{solutionName}/analyticsModels", pathParameters), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) } -// GetDefaultSender sends the GetDefault request. The method will close the +// ListSender sends the List request. The method will close the // http.Response Body if it receives an error. -func (client IoTSecuritySolutionsAnalyticsClient) GetDefaultSender(req *http.Request) (*http.Response, error) { +func (client IotSecuritySolutionAnalyticsClient) ListSender(req *http.Request) (*http.Response, error) { sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) return autorest.SendWithSender(client, req, sd...) } -// GetDefaultResponder handles the response to the GetDefault request. The method always +// ListResponder handles the response to the List request. The method always // closes the http.Response Body. -func (client IoTSecuritySolutionsAnalyticsClient) GetDefaultResponder(resp *http.Response) (result IoTSecuritySolutionAnalyticsModel, err error) { +func (client IotSecuritySolutionAnalyticsClient) ListResponder(resp *http.Response) (result IoTSecuritySolutionAnalyticsModelList, err error) { err = autorest.Respond( resp, client.ByInspecting(), diff --git a/services/preview/security/mgmt/v3.0/security/iotsecuritysolutions.go b/services/preview/security/mgmt/v3.0/security/iotsecuritysolutions.go deleted file mode 100644 index 03b256dad4c7..000000000000 --- a/services/preview/security/mgmt/v3.0/security/iotsecuritysolutions.go +++ /dev/null @@ -1,163 +0,0 @@ -package security - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/autorest/validation" - "github.com/Azure/go-autorest/tracing" - "net/http" -) - -// IoTSecuritySolutionsClient is the API spec for Microsoft.Security (Azure Security Center) resource provider -type IoTSecuritySolutionsClient struct { - BaseClient -} - -// NewIoTSecuritySolutionsClient creates an instance of the IoTSecuritySolutionsClient client. -func NewIoTSecuritySolutionsClient(subscriptionID string, ascLocation string) IoTSecuritySolutionsClient { - return NewIoTSecuritySolutionsClientWithBaseURI(DefaultBaseURI, subscriptionID, ascLocation) -} - -// NewIoTSecuritySolutionsClientWithBaseURI creates an instance of the IoTSecuritySolutionsClient client. -func NewIoTSecuritySolutionsClientWithBaseURI(baseURI string, subscriptionID string, ascLocation string) IoTSecuritySolutionsClient { - return IoTSecuritySolutionsClient{NewWithBaseURI(baseURI, subscriptionID, ascLocation)} -} - -// List list of security solutions -// Parameters: -// filter - filter the Security Solution with OData syntax. supporting filter by iotHubs -func (client IoTSecuritySolutionsClient) List(ctx context.Context, filter string) (result IoTSecuritySolutionsListPage, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/IoTSecuritySolutionsClient.List") - defer func() { - sc := -1 - if result.itssl.Response.Response != nil { - sc = result.itssl.Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - if err := validation.Validate([]validation.Validation{ - {TargetValue: client.SubscriptionID, - Constraints: []validation.Constraint{{Target: "client.SubscriptionID", Name: validation.Pattern, Rule: `^[0-9A-Fa-f]{8}-([0-9A-Fa-f]{4}-){3}[0-9A-Fa-f]{12}$`, Chain: nil}}}}); err != nil { - return result, validation.NewError("security.IoTSecuritySolutionsClient", "List", err.Error()) - } - - result.fn = client.listNextResults - req, err := client.ListPreparer(ctx, filter) - if err != nil { - err = autorest.NewErrorWithError(err, "security.IoTSecuritySolutionsClient", "List", nil, "Failure preparing request") - return - } - - resp, err := client.ListSender(req) - if err != nil { - result.itssl.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "security.IoTSecuritySolutionsClient", "List", resp, "Failure sending request") - return - } - - result.itssl, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "security.IoTSecuritySolutionsClient", "List", resp, "Failure responding to request") - } - - return -} - -// ListPreparer prepares the List request. -func (client IoTSecuritySolutionsClient) ListPreparer(ctx context.Context, filter string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2019-08-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(filter) > 0 { - queryParameters["$filter"] = autorest.Encode("query", filter) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Security/iotSecuritySolutions", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListSender sends the List request. The method will close the -// http.Response Body if it receives an error. -func (client IoTSecuritySolutionsClient) ListSender(req *http.Request) (*http.Response, error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - return autorest.SendWithSender(client, req, sd...) -} - -// ListResponder handles the response to the List request. The method always -// closes the http.Response Body. -func (client IoTSecuritySolutionsClient) ListResponder(resp *http.Response) (result IoTSecuritySolutionsList, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listNextResults retrieves the next set of results, if any. -func (client IoTSecuritySolutionsClient) listNextResults(ctx context.Context, lastResults IoTSecuritySolutionsList) (result IoTSecuritySolutionsList, err error) { - req, err := lastResults.ioTSecuritySolutionsListPreparer(ctx) - if err != nil { - return result, autorest.NewErrorWithError(err, "security.IoTSecuritySolutionsClient", "listNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "security.IoTSecuritySolutionsClient", "listNextResults", resp, "Failure sending next results request") - } - result, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "security.IoTSecuritySolutionsClient", "listNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListComplete enumerates all values, automatically crossing page boundaries as required. -func (client IoTSecuritySolutionsClient) ListComplete(ctx context.Context, filter string) (result IoTSecuritySolutionsListIterator, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/IoTSecuritySolutionsClient.List") - defer func() { - sc := -1 - if result.Response().Response.Response != nil { - sc = result.page.Response().Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - result.page, err = client.List(ctx, filter) - return -} diff --git a/services/preview/security/mgmt/v3.0/security/iotsecuritysolutionsanalyticsaggregatedalert.go b/services/preview/security/mgmt/v3.0/security/iotsecuritysolutionsanalyticsaggregatedalert.go index 27eddd6c8c14..b84aaf8df622 100644 --- a/services/preview/security/mgmt/v3.0/security/iotsecuritysolutionsanalyticsaggregatedalert.go +++ b/services/preview/security/mgmt/v3.0/security/iotsecuritysolutionsanalyticsaggregatedalert.go @@ -26,33 +26,33 @@ import ( "net/http" ) -// IoTSecuritySolutionsAnalyticsAggregatedAlertClient is the API spec for Microsoft.Security (Azure Security Center) +// IotSecuritySolutionsAnalyticsAggregatedAlertClient is the API spec for Microsoft.Security (Azure Security Center) // resource provider -type IoTSecuritySolutionsAnalyticsAggregatedAlertClient struct { +type IotSecuritySolutionsAnalyticsAggregatedAlertClient struct { BaseClient } -// NewIoTSecuritySolutionsAnalyticsAggregatedAlertClient creates an instance of the -// IoTSecuritySolutionsAnalyticsAggregatedAlertClient client. -func NewIoTSecuritySolutionsAnalyticsAggregatedAlertClient(subscriptionID string, ascLocation string) IoTSecuritySolutionsAnalyticsAggregatedAlertClient { - return NewIoTSecuritySolutionsAnalyticsAggregatedAlertClientWithBaseURI(DefaultBaseURI, subscriptionID, ascLocation) +// NewIotSecuritySolutionsAnalyticsAggregatedAlertClient creates an instance of the +// IotSecuritySolutionsAnalyticsAggregatedAlertClient client. +func NewIotSecuritySolutionsAnalyticsAggregatedAlertClient(subscriptionID string, ascLocation string) IotSecuritySolutionsAnalyticsAggregatedAlertClient { + return NewIotSecuritySolutionsAnalyticsAggregatedAlertClientWithBaseURI(DefaultBaseURI, subscriptionID, ascLocation) } -// NewIoTSecuritySolutionsAnalyticsAggregatedAlertClientWithBaseURI creates an instance of the -// IoTSecuritySolutionsAnalyticsAggregatedAlertClient client. -func NewIoTSecuritySolutionsAnalyticsAggregatedAlertClientWithBaseURI(baseURI string, subscriptionID string, ascLocation string) IoTSecuritySolutionsAnalyticsAggregatedAlertClient { - return IoTSecuritySolutionsAnalyticsAggregatedAlertClient{NewWithBaseURI(baseURI, subscriptionID, ascLocation)} +// NewIotSecuritySolutionsAnalyticsAggregatedAlertClientWithBaseURI creates an instance of the +// IotSecuritySolutionsAnalyticsAggregatedAlertClient client. +func NewIotSecuritySolutionsAnalyticsAggregatedAlertClientWithBaseURI(baseURI string, subscriptionID string, ascLocation string) IotSecuritySolutionsAnalyticsAggregatedAlertClient { + return IotSecuritySolutionsAnalyticsAggregatedAlertClient{NewWithBaseURI(baseURI, subscriptionID, ascLocation)} } -// Dismiss security Analytics of a security solution +// Dismiss use this method to dismiss an aggregated IoT Security Solution Alert. // Parameters: // resourceGroupName - the name of the resource group within the user's subscription. The name is case // insensitive. -// solutionName - the solution manager name -// aggregatedAlertName - identifier of the aggregated alert -func (client IoTSecuritySolutionsAnalyticsAggregatedAlertClient) Dismiss(ctx context.Context, resourceGroupName string, solutionName string, aggregatedAlertName string) (result autorest.Response, err error) { +// solutionName - the name of the IoT Security solution. +// aggregatedAlertName - identifier of the aggregated alert. +func (client IotSecuritySolutionsAnalyticsAggregatedAlertClient) Dismiss(ctx context.Context, resourceGroupName string, solutionName string, aggregatedAlertName string) (result autorest.Response, err error) { if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/IoTSecuritySolutionsAnalyticsAggregatedAlertClient.Dismiss") + ctx = tracing.StartSpan(ctx, fqdn+"/IotSecuritySolutionsAnalyticsAggregatedAlertClient.Dismiss") defer func() { sc := -1 if result.Response != nil { @@ -68,32 +68,32 @@ func (client IoTSecuritySolutionsAnalyticsAggregatedAlertClient) Dismiss(ctx con Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}}); err != nil { - return result, validation.NewError("security.IoTSecuritySolutionsAnalyticsAggregatedAlertClient", "Dismiss", err.Error()) + return result, validation.NewError("security.IotSecuritySolutionsAnalyticsAggregatedAlertClient", "Dismiss", err.Error()) } req, err := client.DismissPreparer(ctx, resourceGroupName, solutionName, aggregatedAlertName) if err != nil { - err = autorest.NewErrorWithError(err, "security.IoTSecuritySolutionsAnalyticsAggregatedAlertClient", "Dismiss", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "security.IotSecuritySolutionsAnalyticsAggregatedAlertClient", "Dismiss", nil, "Failure preparing request") return } resp, err := client.DismissSender(req) if err != nil { result.Response = resp - err = autorest.NewErrorWithError(err, "security.IoTSecuritySolutionsAnalyticsAggregatedAlertClient", "Dismiss", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "security.IotSecuritySolutionsAnalyticsAggregatedAlertClient", "Dismiss", resp, "Failure sending request") return } result, err = client.DismissResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "security.IoTSecuritySolutionsAnalyticsAggregatedAlertClient", "Dismiss", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "security.IotSecuritySolutionsAnalyticsAggregatedAlertClient", "Dismiss", resp, "Failure responding to request") } return } // DismissPreparer prepares the Dismiss request. -func (client IoTSecuritySolutionsAnalyticsAggregatedAlertClient) DismissPreparer(ctx context.Context, resourceGroupName string, solutionName string, aggregatedAlertName string) (*http.Request, error) { +func (client IotSecuritySolutionsAnalyticsAggregatedAlertClient) DismissPreparer(ctx context.Context, resourceGroupName string, solutionName string, aggregatedAlertName string) (*http.Request, error) { pathParameters := map[string]interface{}{ "aggregatedAlertName": autorest.Encode("path", aggregatedAlertName), "resourceGroupName": autorest.Encode("path", resourceGroupName), @@ -116,14 +116,14 @@ func (client IoTSecuritySolutionsAnalyticsAggregatedAlertClient) DismissPreparer // DismissSender sends the Dismiss request. The method will close the // http.Response Body if it receives an error. -func (client IoTSecuritySolutionsAnalyticsAggregatedAlertClient) DismissSender(req *http.Request) (*http.Response, error) { +func (client IotSecuritySolutionsAnalyticsAggregatedAlertClient) DismissSender(req *http.Request) (*http.Response, error) { sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) return autorest.SendWithSender(client, req, sd...) } // DismissResponder handles the response to the Dismiss request. The method always // closes the http.Response Body. -func (client IoTSecuritySolutionsAnalyticsAggregatedAlertClient) DismissResponder(resp *http.Response) (result autorest.Response, err error) { +func (client IotSecuritySolutionsAnalyticsAggregatedAlertClient) DismissResponder(resp *http.Response) (result autorest.Response, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -133,15 +133,16 @@ func (client IoTSecuritySolutionsAnalyticsAggregatedAlertClient) DismissResponde return } -// Get security Analytics of a security solution +// Get use this method to get a single the aggregated alert of yours IoT Security solution. This aggregation is +// performed by alert name. // Parameters: // resourceGroupName - the name of the resource group within the user's subscription. The name is case // insensitive. -// solutionName - the solution manager name -// aggregatedAlertName - identifier of the aggregated alert -func (client IoTSecuritySolutionsAnalyticsAggregatedAlertClient) Get(ctx context.Context, resourceGroupName string, solutionName string, aggregatedAlertName string) (result IoTSecurityAggregatedAlert, err error) { +// solutionName - the name of the IoT Security solution. +// aggregatedAlertName - identifier of the aggregated alert. +func (client IotSecuritySolutionsAnalyticsAggregatedAlertClient) Get(ctx context.Context, resourceGroupName string, solutionName string, aggregatedAlertName string) (result IoTSecurityAggregatedAlert, err error) { if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/IoTSecuritySolutionsAnalyticsAggregatedAlertClient.Get") + ctx = tracing.StartSpan(ctx, fqdn+"/IotSecuritySolutionsAnalyticsAggregatedAlertClient.Get") defer func() { sc := -1 if result.Response.Response != nil { @@ -157,32 +158,32 @@ func (client IoTSecuritySolutionsAnalyticsAggregatedAlertClient) Get(ctx context Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}}); err != nil { - return result, validation.NewError("security.IoTSecuritySolutionsAnalyticsAggregatedAlertClient", "Get", err.Error()) + return result, validation.NewError("security.IotSecuritySolutionsAnalyticsAggregatedAlertClient", "Get", err.Error()) } req, err := client.GetPreparer(ctx, resourceGroupName, solutionName, aggregatedAlertName) if err != nil { - err = autorest.NewErrorWithError(err, "security.IoTSecuritySolutionsAnalyticsAggregatedAlertClient", "Get", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "security.IotSecuritySolutionsAnalyticsAggregatedAlertClient", "Get", nil, "Failure preparing request") return } resp, err := client.GetSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "security.IoTSecuritySolutionsAnalyticsAggregatedAlertClient", "Get", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "security.IotSecuritySolutionsAnalyticsAggregatedAlertClient", "Get", resp, "Failure sending request") return } result, err = client.GetResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "security.IoTSecuritySolutionsAnalyticsAggregatedAlertClient", "Get", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "security.IotSecuritySolutionsAnalyticsAggregatedAlertClient", "Get", resp, "Failure responding to request") } return } // GetPreparer prepares the Get request. -func (client IoTSecuritySolutionsAnalyticsAggregatedAlertClient) GetPreparer(ctx context.Context, resourceGroupName string, solutionName string, aggregatedAlertName string) (*http.Request, error) { +func (client IotSecuritySolutionsAnalyticsAggregatedAlertClient) GetPreparer(ctx context.Context, resourceGroupName string, solutionName string, aggregatedAlertName string) (*http.Request, error) { pathParameters := map[string]interface{}{ "aggregatedAlertName": autorest.Encode("path", aggregatedAlertName), "resourceGroupName": autorest.Encode("path", resourceGroupName), @@ -205,14 +206,14 @@ func (client IoTSecuritySolutionsAnalyticsAggregatedAlertClient) GetPreparer(ctx // GetSender sends the Get request. The method will close the // http.Response Body if it receives an error. -func (client IoTSecuritySolutionsAnalyticsAggregatedAlertClient) GetSender(req *http.Request) (*http.Response, error) { +func (client IotSecuritySolutionsAnalyticsAggregatedAlertClient) GetSender(req *http.Request) (*http.Response, error) { sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) return autorest.SendWithSender(client, req, sd...) } // GetResponder handles the response to the Get request. The method always // closes the http.Response Body. -func (client IoTSecuritySolutionsAnalyticsAggregatedAlertClient) GetResponder(resp *http.Response) (result IoTSecurityAggregatedAlert, err error) { +func (client IotSecuritySolutionsAnalyticsAggregatedAlertClient) GetResponder(resp *http.Response) (result IoTSecurityAggregatedAlert, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -222,3 +223,133 @@ func (client IoTSecuritySolutionsAnalyticsAggregatedAlertClient) GetResponder(re result.Response = autorest.Response{Response: resp} return } + +// List use this method to get the aggregated alert list of yours IoT Security solution. +// Parameters: +// resourceGroupName - the name of the resource group within the user's subscription. The name is case +// insensitive. +// solutionName - the name of the IoT Security solution. +// top - number of results to retrieve. +func (client IotSecuritySolutionsAnalyticsAggregatedAlertClient) List(ctx context.Context, resourceGroupName string, solutionName string, top *int32) (result IoTSecurityAggregatedAlertListPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IotSecuritySolutionsAnalyticsAggregatedAlertClient.List") + defer func() { + sc := -1 + if result.itsaal.Response.Response != nil { + sc = result.itsaal.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: client.SubscriptionID, + Constraints: []validation.Constraint{{Target: "client.SubscriptionID", Name: validation.Pattern, Rule: `^[0-9A-Fa-f]{8}-([0-9A-Fa-f]{4}-){3}[0-9A-Fa-f]{12}$`, Chain: nil}}}, + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("security.IotSecuritySolutionsAnalyticsAggregatedAlertClient", "List", err.Error()) + } + + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName, solutionName, top) + if err != nil { + err = autorest.NewErrorWithError(err, "security.IotSecuritySolutionsAnalyticsAggregatedAlertClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.itsaal.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "security.IotSecuritySolutionsAnalyticsAggregatedAlertClient", "List", resp, "Failure sending request") + return + } + + result.itsaal, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "security.IotSecuritySolutionsAnalyticsAggregatedAlertClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client IotSecuritySolutionsAnalyticsAggregatedAlertClient) ListPreparer(ctx context.Context, resourceGroupName string, solutionName string, top *int32) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "solutionName": autorest.Encode("path", solutionName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if top != nil { + queryParameters["$top"] = autorest.Encode("query", *top) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/iotSecuritySolutions/{solutionName}/analyticsModels/default/aggregatedAlerts", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client IotSecuritySolutionsAnalyticsAggregatedAlertClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client IotSecuritySolutionsAnalyticsAggregatedAlertClient) ListResponder(resp *http.Response) (result IoTSecurityAggregatedAlertList, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client IotSecuritySolutionsAnalyticsAggregatedAlertClient) listNextResults(ctx context.Context, lastResults IoTSecurityAggregatedAlertList) (result IoTSecurityAggregatedAlertList, err error) { + req, err := lastResults.ioTSecurityAggregatedAlertListPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "security.IotSecuritySolutionsAnalyticsAggregatedAlertClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "security.IotSecuritySolutionsAnalyticsAggregatedAlertClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "security.IotSecuritySolutionsAnalyticsAggregatedAlertClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client IotSecuritySolutionsAnalyticsAggregatedAlertClient) ListComplete(ctx context.Context, resourceGroupName string, solutionName string, top *int32) (result IoTSecurityAggregatedAlertListIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IotSecuritySolutionsAnalyticsAggregatedAlertClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName, solutionName, top) + return +} diff --git a/services/preview/security/mgmt/v3.0/security/iotsecuritysolutionsanalyticsaggregatedalerts.go b/services/preview/security/mgmt/v3.0/security/iotsecuritysolutionsanalyticsaggregatedalerts.go deleted file mode 100644 index 1cc08c1c364a..000000000000 --- a/services/preview/security/mgmt/v3.0/security/iotsecuritysolutionsanalyticsaggregatedalerts.go +++ /dev/null @@ -1,175 +0,0 @@ -package security - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/autorest/validation" - "github.com/Azure/go-autorest/tracing" - "net/http" -) - -// IoTSecuritySolutionsAnalyticsAggregatedAlertsClient is the API spec for Microsoft.Security (Azure Security Center) -// resource provider -type IoTSecuritySolutionsAnalyticsAggregatedAlertsClient struct { - BaseClient -} - -// NewIoTSecuritySolutionsAnalyticsAggregatedAlertsClient creates an instance of the -// IoTSecuritySolutionsAnalyticsAggregatedAlertsClient client. -func NewIoTSecuritySolutionsAnalyticsAggregatedAlertsClient(subscriptionID string, ascLocation string) IoTSecuritySolutionsAnalyticsAggregatedAlertsClient { - return NewIoTSecuritySolutionsAnalyticsAggregatedAlertsClientWithBaseURI(DefaultBaseURI, subscriptionID, ascLocation) -} - -// NewIoTSecuritySolutionsAnalyticsAggregatedAlertsClientWithBaseURI creates an instance of the -// IoTSecuritySolutionsAnalyticsAggregatedAlertsClient client. -func NewIoTSecuritySolutionsAnalyticsAggregatedAlertsClientWithBaseURI(baseURI string, subscriptionID string, ascLocation string) IoTSecuritySolutionsAnalyticsAggregatedAlertsClient { - return IoTSecuritySolutionsAnalyticsAggregatedAlertsClient{NewWithBaseURI(baseURI, subscriptionID, ascLocation)} -} - -// List security Analytics of a security solution -// Parameters: -// resourceGroupName - the name of the resource group within the user's subscription. The name is case -// insensitive. -// solutionName - the solution manager name -// top - the number of results to retrieve. -func (client IoTSecuritySolutionsAnalyticsAggregatedAlertsClient) List(ctx context.Context, resourceGroupName string, solutionName string, top *int32) (result IoTSecurityAggregatedAlertListPage, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/IoTSecuritySolutionsAnalyticsAggregatedAlertsClient.List") - defer func() { - sc := -1 - if result.itsaal.Response.Response != nil { - sc = result.itsaal.Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - if err := validation.Validate([]validation.Validation{ - {TargetValue: client.SubscriptionID, - Constraints: []validation.Constraint{{Target: "client.SubscriptionID", Name: validation.Pattern, Rule: `^[0-9A-Fa-f]{8}-([0-9A-Fa-f]{4}-){3}[0-9A-Fa-f]{12}$`, Chain: nil}}}, - {TargetValue: resourceGroupName, - Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, - {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}}); err != nil { - return result, validation.NewError("security.IoTSecuritySolutionsAnalyticsAggregatedAlertsClient", "List", err.Error()) - } - - result.fn = client.listNextResults - req, err := client.ListPreparer(ctx, resourceGroupName, solutionName, top) - if err != nil { - err = autorest.NewErrorWithError(err, "security.IoTSecuritySolutionsAnalyticsAggregatedAlertsClient", "List", nil, "Failure preparing request") - return - } - - resp, err := client.ListSender(req) - if err != nil { - result.itsaal.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "security.IoTSecuritySolutionsAnalyticsAggregatedAlertsClient", "List", resp, "Failure sending request") - return - } - - result.itsaal, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "security.IoTSecuritySolutionsAnalyticsAggregatedAlertsClient", "List", resp, "Failure responding to request") - } - - return -} - -// ListPreparer prepares the List request. -func (client IoTSecuritySolutionsAnalyticsAggregatedAlertsClient) ListPreparer(ctx context.Context, resourceGroupName string, solutionName string, top *int32) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "solutionName": autorest.Encode("path", solutionName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2019-08-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if top != nil { - queryParameters["$top"] = autorest.Encode("query", *top) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/iotSecuritySolutions/{solutionName}/analyticsModels/default/aggregatedAlerts", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListSender sends the List request. The method will close the -// http.Response Body if it receives an error. -func (client IoTSecuritySolutionsAnalyticsAggregatedAlertsClient) ListSender(req *http.Request) (*http.Response, error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - return autorest.SendWithSender(client, req, sd...) -} - -// ListResponder handles the response to the List request. The method always -// closes the http.Response Body. -func (client IoTSecuritySolutionsAnalyticsAggregatedAlertsClient) ListResponder(resp *http.Response) (result IoTSecurityAggregatedAlertList, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listNextResults retrieves the next set of results, if any. -func (client IoTSecuritySolutionsAnalyticsAggregatedAlertsClient) listNextResults(ctx context.Context, lastResults IoTSecurityAggregatedAlertList) (result IoTSecurityAggregatedAlertList, err error) { - req, err := lastResults.ioTSecurityAggregatedAlertListPreparer(ctx) - if err != nil { - return result, autorest.NewErrorWithError(err, "security.IoTSecuritySolutionsAnalyticsAggregatedAlertsClient", "listNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "security.IoTSecuritySolutionsAnalyticsAggregatedAlertsClient", "listNextResults", resp, "Failure sending next results request") - } - result, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "security.IoTSecuritySolutionsAnalyticsAggregatedAlertsClient", "listNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListComplete enumerates all values, automatically crossing page boundaries as required. -func (client IoTSecuritySolutionsAnalyticsAggregatedAlertsClient) ListComplete(ctx context.Context, resourceGroupName string, solutionName string, top *int32) (result IoTSecurityAggregatedAlertListIterator, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/IoTSecuritySolutionsAnalyticsAggregatedAlertsClient.List") - defer func() { - sc := -1 - if result.Response().Response.Response != nil { - sc = result.page.Response().Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - result.page, err = client.List(ctx, resourceGroupName, solutionName, top) - return -} diff --git a/services/preview/security/mgmt/v3.0/security/iotsecuritysolutionsanalyticsrecommendation.go b/services/preview/security/mgmt/v3.0/security/iotsecuritysolutionsanalyticsrecommendation.go index ead902a83498..e48bacc087da 100644 --- a/services/preview/security/mgmt/v3.0/security/iotsecuritysolutionsanalyticsrecommendation.go +++ b/services/preview/security/mgmt/v3.0/security/iotsecuritysolutionsanalyticsrecommendation.go @@ -26,33 +26,34 @@ import ( "net/http" ) -// IoTSecuritySolutionsAnalyticsRecommendationClient is the API spec for Microsoft.Security (Azure Security Center) +// IotSecuritySolutionsAnalyticsRecommendationClient is the API spec for Microsoft.Security (Azure Security Center) // resource provider -type IoTSecuritySolutionsAnalyticsRecommendationClient struct { +type IotSecuritySolutionsAnalyticsRecommendationClient struct { BaseClient } -// NewIoTSecuritySolutionsAnalyticsRecommendationClient creates an instance of the -// IoTSecuritySolutionsAnalyticsRecommendationClient client. -func NewIoTSecuritySolutionsAnalyticsRecommendationClient(subscriptionID string, ascLocation string) IoTSecuritySolutionsAnalyticsRecommendationClient { - return NewIoTSecuritySolutionsAnalyticsRecommendationClientWithBaseURI(DefaultBaseURI, subscriptionID, ascLocation) +// NewIotSecuritySolutionsAnalyticsRecommendationClient creates an instance of the +// IotSecuritySolutionsAnalyticsRecommendationClient client. +func NewIotSecuritySolutionsAnalyticsRecommendationClient(subscriptionID string, ascLocation string) IotSecuritySolutionsAnalyticsRecommendationClient { + return NewIotSecuritySolutionsAnalyticsRecommendationClientWithBaseURI(DefaultBaseURI, subscriptionID, ascLocation) } -// NewIoTSecuritySolutionsAnalyticsRecommendationClientWithBaseURI creates an instance of the -// IoTSecuritySolutionsAnalyticsRecommendationClient client. -func NewIoTSecuritySolutionsAnalyticsRecommendationClientWithBaseURI(baseURI string, subscriptionID string, ascLocation string) IoTSecuritySolutionsAnalyticsRecommendationClient { - return IoTSecuritySolutionsAnalyticsRecommendationClient{NewWithBaseURI(baseURI, subscriptionID, ascLocation)} +// NewIotSecuritySolutionsAnalyticsRecommendationClientWithBaseURI creates an instance of the +// IotSecuritySolutionsAnalyticsRecommendationClient client. +func NewIotSecuritySolutionsAnalyticsRecommendationClientWithBaseURI(baseURI string, subscriptionID string, ascLocation string) IotSecuritySolutionsAnalyticsRecommendationClient { + return IotSecuritySolutionsAnalyticsRecommendationClient{NewWithBaseURI(baseURI, subscriptionID, ascLocation)} } -// Get security Analytics of a security solution +// Get use this method to get the aggregated security analytics recommendation of yours IoT Security solution. This +// aggregation is performed by recommendation name. // Parameters: // resourceGroupName - the name of the resource group within the user's subscription. The name is case // insensitive. -// solutionName - the solution manager name -// aggregatedRecommendationName - identifier of the aggregated recommendation -func (client IoTSecuritySolutionsAnalyticsRecommendationClient) Get(ctx context.Context, resourceGroupName string, solutionName string, aggregatedRecommendationName string) (result IoTSecurityAggregatedRecommendation, err error) { +// solutionName - the name of the IoT Security solution. +// aggregatedRecommendationName - name of the recommendation aggregated for this query. +func (client IotSecuritySolutionsAnalyticsRecommendationClient) Get(ctx context.Context, resourceGroupName string, solutionName string, aggregatedRecommendationName string) (result IoTSecurityAggregatedRecommendation, err error) { if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/IoTSecuritySolutionsAnalyticsRecommendationClient.Get") + ctx = tracing.StartSpan(ctx, fqdn+"/IotSecuritySolutionsAnalyticsRecommendationClient.Get") defer func() { sc := -1 if result.Response.Response != nil { @@ -68,32 +69,32 @@ func (client IoTSecuritySolutionsAnalyticsRecommendationClient) Get(ctx context. Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}}); err != nil { - return result, validation.NewError("security.IoTSecuritySolutionsAnalyticsRecommendationClient", "Get", err.Error()) + return result, validation.NewError("security.IotSecuritySolutionsAnalyticsRecommendationClient", "Get", err.Error()) } req, err := client.GetPreparer(ctx, resourceGroupName, solutionName, aggregatedRecommendationName) if err != nil { - err = autorest.NewErrorWithError(err, "security.IoTSecuritySolutionsAnalyticsRecommendationClient", "Get", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "security.IotSecuritySolutionsAnalyticsRecommendationClient", "Get", nil, "Failure preparing request") return } resp, err := client.GetSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "security.IoTSecuritySolutionsAnalyticsRecommendationClient", "Get", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "security.IotSecuritySolutionsAnalyticsRecommendationClient", "Get", resp, "Failure sending request") return } result, err = client.GetResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "security.IoTSecuritySolutionsAnalyticsRecommendationClient", "Get", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "security.IotSecuritySolutionsAnalyticsRecommendationClient", "Get", resp, "Failure responding to request") } return } // GetPreparer prepares the Get request. -func (client IoTSecuritySolutionsAnalyticsRecommendationClient) GetPreparer(ctx context.Context, resourceGroupName string, solutionName string, aggregatedRecommendationName string) (*http.Request, error) { +func (client IotSecuritySolutionsAnalyticsRecommendationClient) GetPreparer(ctx context.Context, resourceGroupName string, solutionName string, aggregatedRecommendationName string) (*http.Request, error) { pathParameters := map[string]interface{}{ "aggregatedRecommendationName": autorest.Encode("path", aggregatedRecommendationName), "resourceGroupName": autorest.Encode("path", resourceGroupName), @@ -116,14 +117,14 @@ func (client IoTSecuritySolutionsAnalyticsRecommendationClient) GetPreparer(ctx // GetSender sends the Get request. The method will close the // http.Response Body if it receives an error. -func (client IoTSecuritySolutionsAnalyticsRecommendationClient) GetSender(req *http.Request) (*http.Response, error) { +func (client IotSecuritySolutionsAnalyticsRecommendationClient) GetSender(req *http.Request) (*http.Response, error) { sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) return autorest.SendWithSender(client, req, sd...) } // GetResponder handles the response to the Get request. The method always // closes the http.Response Body. -func (client IoTSecuritySolutionsAnalyticsRecommendationClient) GetResponder(resp *http.Response) (result IoTSecurityAggregatedRecommendation, err error) { +func (client IotSecuritySolutionsAnalyticsRecommendationClient) GetResponder(resp *http.Response) (result IoTSecurityAggregatedRecommendation, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -133,3 +134,134 @@ func (client IoTSecuritySolutionsAnalyticsRecommendationClient) GetResponder(res result.Response = autorest.Response{Response: resp} return } + +// List use this method to get the list of aggregated security analytics recommendations of yours IoT Security +// solution. +// Parameters: +// resourceGroupName - the name of the resource group within the user's subscription. The name is case +// insensitive. +// solutionName - the name of the IoT Security solution. +// top - number of results to retrieve. +func (client IotSecuritySolutionsAnalyticsRecommendationClient) List(ctx context.Context, resourceGroupName string, solutionName string, top *int32) (result IoTSecurityAggregatedRecommendationListPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IotSecuritySolutionsAnalyticsRecommendationClient.List") + defer func() { + sc := -1 + if result.itsarl.Response.Response != nil { + sc = result.itsarl.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: client.SubscriptionID, + Constraints: []validation.Constraint{{Target: "client.SubscriptionID", Name: validation.Pattern, Rule: `^[0-9A-Fa-f]{8}-([0-9A-Fa-f]{4}-){3}[0-9A-Fa-f]{12}$`, Chain: nil}}}, + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("security.IotSecuritySolutionsAnalyticsRecommendationClient", "List", err.Error()) + } + + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName, solutionName, top) + if err != nil { + err = autorest.NewErrorWithError(err, "security.IotSecuritySolutionsAnalyticsRecommendationClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.itsarl.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "security.IotSecuritySolutionsAnalyticsRecommendationClient", "List", resp, "Failure sending request") + return + } + + result.itsarl, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "security.IotSecuritySolutionsAnalyticsRecommendationClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client IotSecuritySolutionsAnalyticsRecommendationClient) ListPreparer(ctx context.Context, resourceGroupName string, solutionName string, top *int32) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "solutionName": autorest.Encode("path", solutionName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if top != nil { + queryParameters["$top"] = autorest.Encode("query", *top) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/iotSecuritySolutions/{solutionName}/analyticsModels/default/aggregatedRecommendations", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client IotSecuritySolutionsAnalyticsRecommendationClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client IotSecuritySolutionsAnalyticsRecommendationClient) ListResponder(resp *http.Response) (result IoTSecurityAggregatedRecommendationList, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client IotSecuritySolutionsAnalyticsRecommendationClient) listNextResults(ctx context.Context, lastResults IoTSecurityAggregatedRecommendationList) (result IoTSecurityAggregatedRecommendationList, err error) { + req, err := lastResults.ioTSecurityAggregatedRecommendationListPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "security.IotSecuritySolutionsAnalyticsRecommendationClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "security.IotSecuritySolutionsAnalyticsRecommendationClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "security.IotSecuritySolutionsAnalyticsRecommendationClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client IotSecuritySolutionsAnalyticsRecommendationClient) ListComplete(ctx context.Context, resourceGroupName string, solutionName string, top *int32) (result IoTSecurityAggregatedRecommendationListIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IotSecuritySolutionsAnalyticsRecommendationClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName, solutionName, top) + return +} diff --git a/services/preview/security/mgmt/v3.0/security/iotsecuritysolutionsanalyticsrecommendations.go b/services/preview/security/mgmt/v3.0/security/iotsecuritysolutionsanalyticsrecommendations.go deleted file mode 100644 index 0a4201655260..000000000000 --- a/services/preview/security/mgmt/v3.0/security/iotsecuritysolutionsanalyticsrecommendations.go +++ /dev/null @@ -1,175 +0,0 @@ -package security - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/autorest/validation" - "github.com/Azure/go-autorest/tracing" - "net/http" -) - -// IoTSecuritySolutionsAnalyticsRecommendationsClient is the API spec for Microsoft.Security (Azure Security Center) -// resource provider -type IoTSecuritySolutionsAnalyticsRecommendationsClient struct { - BaseClient -} - -// NewIoTSecuritySolutionsAnalyticsRecommendationsClient creates an instance of the -// IoTSecuritySolutionsAnalyticsRecommendationsClient client. -func NewIoTSecuritySolutionsAnalyticsRecommendationsClient(subscriptionID string, ascLocation string) IoTSecuritySolutionsAnalyticsRecommendationsClient { - return NewIoTSecuritySolutionsAnalyticsRecommendationsClientWithBaseURI(DefaultBaseURI, subscriptionID, ascLocation) -} - -// NewIoTSecuritySolutionsAnalyticsRecommendationsClientWithBaseURI creates an instance of the -// IoTSecuritySolutionsAnalyticsRecommendationsClient client. -func NewIoTSecuritySolutionsAnalyticsRecommendationsClientWithBaseURI(baseURI string, subscriptionID string, ascLocation string) IoTSecuritySolutionsAnalyticsRecommendationsClient { - return IoTSecuritySolutionsAnalyticsRecommendationsClient{NewWithBaseURI(baseURI, subscriptionID, ascLocation)} -} - -// List security Analytics of a security solution -// Parameters: -// resourceGroupName - the name of the resource group within the user's subscription. The name is case -// insensitive. -// solutionName - the solution manager name -// top - the number of results to retrieve. -func (client IoTSecuritySolutionsAnalyticsRecommendationsClient) List(ctx context.Context, resourceGroupName string, solutionName string, top *int32) (result IoTSecurityAggregatedRecommendationListPage, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/IoTSecuritySolutionsAnalyticsRecommendationsClient.List") - defer func() { - sc := -1 - if result.itsarl.Response.Response != nil { - sc = result.itsarl.Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - if err := validation.Validate([]validation.Validation{ - {TargetValue: client.SubscriptionID, - Constraints: []validation.Constraint{{Target: "client.SubscriptionID", Name: validation.Pattern, Rule: `^[0-9A-Fa-f]{8}-([0-9A-Fa-f]{4}-){3}[0-9A-Fa-f]{12}$`, Chain: nil}}}, - {TargetValue: resourceGroupName, - Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, - {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}}); err != nil { - return result, validation.NewError("security.IoTSecuritySolutionsAnalyticsRecommendationsClient", "List", err.Error()) - } - - result.fn = client.listNextResults - req, err := client.ListPreparer(ctx, resourceGroupName, solutionName, top) - if err != nil { - err = autorest.NewErrorWithError(err, "security.IoTSecuritySolutionsAnalyticsRecommendationsClient", "List", nil, "Failure preparing request") - return - } - - resp, err := client.ListSender(req) - if err != nil { - result.itsarl.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "security.IoTSecuritySolutionsAnalyticsRecommendationsClient", "List", resp, "Failure sending request") - return - } - - result.itsarl, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "security.IoTSecuritySolutionsAnalyticsRecommendationsClient", "List", resp, "Failure responding to request") - } - - return -} - -// ListPreparer prepares the List request. -func (client IoTSecuritySolutionsAnalyticsRecommendationsClient) ListPreparer(ctx context.Context, resourceGroupName string, solutionName string, top *int32) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "solutionName": autorest.Encode("path", solutionName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2019-08-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if top != nil { - queryParameters["$top"] = autorest.Encode("query", *top) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/iotSecuritySolutions/{solutionName}/analyticsModels/default/aggregatedRecommendations", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListSender sends the List request. The method will close the -// http.Response Body if it receives an error. -func (client IoTSecuritySolutionsAnalyticsRecommendationsClient) ListSender(req *http.Request) (*http.Response, error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - return autorest.SendWithSender(client, req, sd...) -} - -// ListResponder handles the response to the List request. The method always -// closes the http.Response Body. -func (client IoTSecuritySolutionsAnalyticsRecommendationsClient) ListResponder(resp *http.Response) (result IoTSecurityAggregatedRecommendationList, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listNextResults retrieves the next set of results, if any. -func (client IoTSecuritySolutionsAnalyticsRecommendationsClient) listNextResults(ctx context.Context, lastResults IoTSecurityAggregatedRecommendationList) (result IoTSecurityAggregatedRecommendationList, err error) { - req, err := lastResults.ioTSecurityAggregatedRecommendationListPreparer(ctx) - if err != nil { - return result, autorest.NewErrorWithError(err, "security.IoTSecuritySolutionsAnalyticsRecommendationsClient", "listNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "security.IoTSecuritySolutionsAnalyticsRecommendationsClient", "listNextResults", resp, "Failure sending next results request") - } - result, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "security.IoTSecuritySolutionsAnalyticsRecommendationsClient", "listNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListComplete enumerates all values, automatically crossing page boundaries as required. -func (client IoTSecuritySolutionsAnalyticsRecommendationsClient) ListComplete(ctx context.Context, resourceGroupName string, solutionName string, top *int32) (result IoTSecurityAggregatedRecommendationListIterator, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/IoTSecuritySolutionsAnalyticsRecommendationsClient.List") - defer func() { - sc := -1 - if result.Response().Response.Response != nil { - sc = result.page.Response().Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - result.page, err = client.List(ctx, resourceGroupName, solutionName, top) - return -} diff --git a/services/preview/security/mgmt/v3.0/security/iotsecuritysolutionsresourcegroup.go b/services/preview/security/mgmt/v3.0/security/iotsecuritysolutionsresourcegroup.go deleted file mode 100644 index a2214a0bdf94..000000000000 --- a/services/preview/security/mgmt/v3.0/security/iotsecuritysolutionsresourcegroup.go +++ /dev/null @@ -1,173 +0,0 @@ -package security - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/autorest/validation" - "github.com/Azure/go-autorest/tracing" - "net/http" -) - -// IoTSecuritySolutionsResourceGroupClient is the API spec for Microsoft.Security (Azure Security Center) resource -// provider -type IoTSecuritySolutionsResourceGroupClient struct { - BaseClient -} - -// NewIoTSecuritySolutionsResourceGroupClient creates an instance of the IoTSecuritySolutionsResourceGroupClient -// client. -func NewIoTSecuritySolutionsResourceGroupClient(subscriptionID string, ascLocation string) IoTSecuritySolutionsResourceGroupClient { - return NewIoTSecuritySolutionsResourceGroupClientWithBaseURI(DefaultBaseURI, subscriptionID, ascLocation) -} - -// NewIoTSecuritySolutionsResourceGroupClientWithBaseURI creates an instance of the -// IoTSecuritySolutionsResourceGroupClient client. -func NewIoTSecuritySolutionsResourceGroupClientWithBaseURI(baseURI string, subscriptionID string, ascLocation string) IoTSecuritySolutionsResourceGroupClient { - return IoTSecuritySolutionsResourceGroupClient{NewWithBaseURI(baseURI, subscriptionID, ascLocation)} -} - -// List list of security solutions -// Parameters: -// resourceGroupName - the name of the resource group within the user's subscription. The name is case -// insensitive. -// filter - filter the Security Solution with OData syntax. supporting filter by iotHubs -func (client IoTSecuritySolutionsResourceGroupClient) List(ctx context.Context, resourceGroupName string, filter string) (result IoTSecuritySolutionsListPage, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/IoTSecuritySolutionsResourceGroupClient.List") - defer func() { - sc := -1 - if result.itssl.Response.Response != nil { - sc = result.itssl.Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - if err := validation.Validate([]validation.Validation{ - {TargetValue: client.SubscriptionID, - Constraints: []validation.Constraint{{Target: "client.SubscriptionID", Name: validation.Pattern, Rule: `^[0-9A-Fa-f]{8}-([0-9A-Fa-f]{4}-){3}[0-9A-Fa-f]{12}$`, Chain: nil}}}, - {TargetValue: resourceGroupName, - Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, - {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, - {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}}); err != nil { - return result, validation.NewError("security.IoTSecuritySolutionsResourceGroupClient", "List", err.Error()) - } - - result.fn = client.listNextResults - req, err := client.ListPreparer(ctx, resourceGroupName, filter) - if err != nil { - err = autorest.NewErrorWithError(err, "security.IoTSecuritySolutionsResourceGroupClient", "List", nil, "Failure preparing request") - return - } - - resp, err := client.ListSender(req) - if err != nil { - result.itssl.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "security.IoTSecuritySolutionsResourceGroupClient", "List", resp, "Failure sending request") - return - } - - result.itssl, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "security.IoTSecuritySolutionsResourceGroupClient", "List", resp, "Failure responding to request") - } - - return -} - -// ListPreparer prepares the List request. -func (client IoTSecuritySolutionsResourceGroupClient) ListPreparer(ctx context.Context, resourceGroupName string, filter string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2019-08-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(filter) > 0 { - queryParameters["$filter"] = autorest.Encode("query", filter) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Security/iotSecuritySolutions", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListSender sends the List request. The method will close the -// http.Response Body if it receives an error. -func (client IoTSecuritySolutionsResourceGroupClient) ListSender(req *http.Request) (*http.Response, error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - return autorest.SendWithSender(client, req, sd...) -} - -// ListResponder handles the response to the List request. The method always -// closes the http.Response Body. -func (client IoTSecuritySolutionsResourceGroupClient) ListResponder(resp *http.Response) (result IoTSecuritySolutionsList, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listNextResults retrieves the next set of results, if any. -func (client IoTSecuritySolutionsResourceGroupClient) listNextResults(ctx context.Context, lastResults IoTSecuritySolutionsList) (result IoTSecuritySolutionsList, err error) { - req, err := lastResults.ioTSecuritySolutionsListPreparer(ctx) - if err != nil { - return result, autorest.NewErrorWithError(err, "security.IoTSecuritySolutionsResourceGroupClient", "listNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "security.IoTSecuritySolutionsResourceGroupClient", "listNextResults", resp, "Failure sending next results request") - } - result, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "security.IoTSecuritySolutionsResourceGroupClient", "listNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListComplete enumerates all values, automatically crossing page boundaries as required. -func (client IoTSecuritySolutionsResourceGroupClient) ListComplete(ctx context.Context, resourceGroupName string, filter string) (result IoTSecuritySolutionsListIterator, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/IoTSecuritySolutionsResourceGroupClient.List") - defer func() { - sc := -1 - if result.Response().Response.Response != nil { - sc = result.page.Response().Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - result.page, err = client.List(ctx, resourceGroupName, filter) - return -} diff --git a/services/preview/security/mgmt/v3.0/security/models.go b/services/preview/security/mgmt/v3.0/security/models.go index 5e32802273f0..656cd2a88cbe 100644 --- a/services/preview/security/mgmt/v3.0/security/models.go +++ b/services/preview/security/mgmt/v3.0/security/models.go @@ -95,6 +95,25 @@ func PossibleAlertsToAdminsValues() []AlertsToAdmins { return []AlertsToAdmins{AlertsToAdminsOff, AlertsToAdminsOn} } +// AssessedResourceType enumerates the values for assessed resource type. +type AssessedResourceType string + +const ( + // AssessedResourceTypeAdditionalData ... + AssessedResourceTypeAdditionalData AssessedResourceType = "AdditionalData" + // AssessedResourceTypeContainerRegistryVulnerability ... + AssessedResourceTypeContainerRegistryVulnerability AssessedResourceType = "ContainerRegistryVulnerability" + // AssessedResourceTypeServerVulnerabilityAssessment ... + AssessedResourceTypeServerVulnerabilityAssessment AssessedResourceType = "ServerVulnerabilityAssessment" + // AssessedResourceTypeSQLServerVulnerability ... + AssessedResourceTypeSQLServerVulnerability AssessedResourceType = "SqlServerVulnerability" +) + +// PossibleAssessedResourceTypeValues returns an array of possible values for the AssessedResourceType const type. +func PossibleAssessedResourceTypeValues() []AssessedResourceType { + return []AssessedResourceType{AssessedResourceTypeAdditionalData, AssessedResourceTypeContainerRegistryVulnerability, AssessedResourceTypeServerVulnerabilityAssessment, AssessedResourceTypeSQLServerVulnerability} +} + // AutoProvision enumerates the values for auto provision. type AutoProvision string @@ -209,11 +228,13 @@ const ( Audit EnforcementMode = "Audit" // Enforce ... Enforce EnforcementMode = "Enforce" + // None ... + None EnforcementMode = "None" ) // PossibleEnforcementModeValues returns an array of possible values for the EnforcementMode const type. func PossibleEnforcementModeValues() []EnforcementMode { - return []EnforcementMode{Audit, Enforce} + return []EnforcementMode{Audit, Enforce, None} } // EnforcementMode1 enumerates the values for enforcement mode 1. @@ -224,11 +245,47 @@ const ( EnforcementMode1Audit EnforcementMode1 = "Audit" // EnforcementMode1Enforce ... EnforcementMode1Enforce EnforcementMode1 = "Enforce" + // EnforcementMode1None ... + EnforcementMode1None EnforcementMode1 = "None" ) // PossibleEnforcementMode1Values returns an array of possible values for the EnforcementMode1 const type. func PossibleEnforcementMode1Values() []EnforcementMode1 { - return []EnforcementMode1{EnforcementMode1Audit, EnforcementMode1Enforce} + return []EnforcementMode1{EnforcementMode1Audit, EnforcementMode1Enforce, EnforcementMode1None} +} + +// Exe enumerates the values for exe. +type Exe string + +const ( + // ExeAudit ... + ExeAudit Exe = "Audit" + // ExeEnforce ... + ExeEnforce Exe = "Enforce" + // ExeNone ... + ExeNone Exe = "None" +) + +// PossibleExeValues returns an array of possible values for the Exe const type. +func PossibleExeValues() []Exe { + return []Exe{ExeAudit, ExeEnforce, ExeNone} +} + +// Executable enumerates the values for executable. +type Executable string + +const ( + // ExecutableAudit ... + ExecutableAudit Executable = "Audit" + // ExecutableEnforce ... + ExecutableEnforce Executable = "Enforce" + // ExecutableNone ... + ExecutableNone Executable = "None" +) + +// PossibleExecutableValues returns an array of possible values for the Executable const type. +func PossibleExecutableValues() []Executable { + return []Executable{ExecutableAudit, ExecutableEnforce, ExecutableNone} } // ExportData enumerates the values for export data. @@ -284,23 +341,23 @@ func PossibleFamilyValues() []Family { type FileType string const ( - // Dll ... - Dll FileType = "Dll" - // Exe ... - Exe FileType = "Exe" - // Executable ... - Executable FileType = "Executable" - // Msi ... - Msi FileType = "Msi" - // Script ... - Script FileType = "Script" - // Unknown ... - Unknown FileType = "Unknown" + // FileTypeDll ... + FileTypeDll FileType = "Dll" + // FileTypeExe ... + FileTypeExe FileType = "Exe" + // FileTypeExecutable ... + FileTypeExecutable FileType = "Executable" + // FileTypeMsi ... + FileTypeMsi FileType = "Msi" + // FileTypeScript ... + FileTypeScript FileType = "Script" + // FileTypeUnknown ... + FileTypeUnknown FileType = "Unknown" ) // PossibleFileTypeValues returns an array of possible values for the FileType const type. func PossibleFileTypeValues() []FileType { - return []FileType{Dll, Exe, Executable, Msi, Script, Unknown} + return []FileType{FileTypeDll, FileTypeExe, FileTypeExecutable, FileTypeMsi, FileTypeScript, FileTypeUnknown} } // Issue enumerates the values for issue. @@ -345,6 +402,23 @@ func PossibleKindEnumValues() []KindEnum { return []KindEnum{KindAAD, KindATA, KindCEF, KindExternalSecuritySolution} } +// Msi enumerates the values for msi. +type Msi string + +const ( + // MsiAudit ... + MsiAudit Msi = "Audit" + // MsiEnforce ... + MsiEnforce Msi = "Enforce" + // MsiNone ... + MsiNone Msi = "None" +) + +// PossibleMsiValues returns an array of possible values for the Msi const type. +func PossibleMsiValues() []Msi { + return []Msi{MsiAudit, MsiEnforce, MsiNone} +} + // PricingTier enumerates the values for pricing tier. type PricingTier string @@ -559,6 +633,23 @@ func PossibleResourceStatusValues() []ResourceStatus { return []ResourceStatus{Healthy, NotApplicable, NotHealthy, OffByPolicy} } +// Script enumerates the values for script. +type Script string + +const ( + // ScriptAudit ... + ScriptAudit Script = "Audit" + // ScriptEnforce ... + ScriptEnforce Script = "Enforce" + // ScriptNone ... + ScriptNone Script = "None" +) + +// PossibleScriptValues returns an array of possible values for the Script const type. +func PossibleScriptValues() []Script { + return []Script{ScriptAudit, ScriptEnforce, ScriptNone} +} + // SettingKind enumerates the values for setting kind. type SettingKind string @@ -574,6 +665,23 @@ func PossibleSettingKindValues() []SettingKind { return []SettingKind{SettingKindAlertSuppressionSetting, SettingKindDataExportSetting} } +// Severity enumerates the values for severity. +type Severity string + +const ( + // SeverityHigh ... + SeverityHigh Severity = "High" + // SeverityLow ... + SeverityLow Severity = "Low" + // SeverityMedium ... + SeverityMedium Severity = "Medium" +) + +// PossibleSeverityValues returns an array of possible values for the Severity const type. +func PossibleSeverityValues() []Severity { + return []Severity{SeverityHigh, SeverityLow, SeverityMedium} +} + // SolutionStatus enumerates the values for solution status. type SolutionStatus string @@ -589,25 +697,42 @@ func PossibleSolutionStatusValues() []SolutionStatus { return []SolutionStatus{SolutionStatusDisabled, SolutionStatusEnabled} } +// Source enumerates the values for source. +type Source string + +const ( + // SourceAws ... + SourceAws Source = "Aws" + // SourceAzure ... + SourceAzure Source = "Azure" + // SourceResourceDetails ... + SourceResourceDetails Source = "ResourceDetails" +) + +// PossibleSourceValues returns an array of possible values for the Source const type. +func PossibleSourceValues() []Source { + return []Source{SourceAws, SourceAzure, SourceResourceDetails} +} + // SourceSystem enumerates the values for source system. type SourceSystem string const ( - // AzureAppLocker ... - AzureAppLocker SourceSystem = "Azure_AppLocker" - // AzureAuditD ... - AzureAuditD SourceSystem = "Azure_AuditD" - // NonAzureAppLocker ... - NonAzureAppLocker SourceSystem = "NonAzure_AppLocker" - // NonAzureAuditD ... - NonAzureAuditD SourceSystem = "NonAzure_AuditD" - // None ... - None SourceSystem = "None" + // SourceSystemAzureAppLocker ... + SourceSystemAzureAppLocker SourceSystem = "Azure_AppLocker" + // SourceSystemAzureAuditD ... + SourceSystemAzureAuditD SourceSystem = "Azure_AuditD" + // SourceSystemNonAzureAppLocker ... + SourceSystemNonAzureAppLocker SourceSystem = "NonAzure_AppLocker" + // SourceSystemNonAzureAuditD ... + SourceSystemNonAzureAuditD SourceSystem = "NonAzure_AuditD" + // SourceSystemNone ... + SourceSystemNone SourceSystem = "None" ) // PossibleSourceSystemValues returns an array of possible values for the SourceSystem const type. func PossibleSourceSystemValues() []SourceSystem { - return []SourceSystem{AzureAppLocker, AzureAuditD, NonAzureAppLocker, NonAzureAuditD, None} + return []SourceSystem{SourceSystemAzureAppLocker, SourceSystemAzureAuditD, SourceSystemNonAzureAppLocker, SourceSystemNonAzureAuditD, SourceSystemNone} } // State enumerates the values for state. @@ -662,6 +787,23 @@ func PossibleStatusReasonValues() []StatusReason { return []StatusReason{Expired, NewerRequestInitiated, UserRequested} } +// SubAssessmentStatusCode enumerates the values for sub assessment status code. +type SubAssessmentStatusCode string + +const ( + // SubAssessmentStatusCodeHealthy The resource is healthy + SubAssessmentStatusCodeHealthy SubAssessmentStatusCode = "Healthy" + // SubAssessmentStatusCodeNotApplicable Assessment for this resource did not happen + SubAssessmentStatusCodeNotApplicable SubAssessmentStatusCode = "NotApplicable" + // SubAssessmentStatusCodeUnhealthy The resource has a security issue that needs to be addressed + SubAssessmentStatusCodeUnhealthy SubAssessmentStatusCode = "Unhealthy" +) + +// PossibleSubAssessmentStatusCodeValues returns an array of possible values for the SubAssessmentStatusCode const type. +func PossibleSubAssessmentStatusCodeValues() []SubAssessmentStatusCode { + return []SubAssessmentStatusCode{SubAssessmentStatusCodeHealthy, SubAssessmentStatusCodeNotApplicable, SubAssessmentStatusCodeUnhealthy} +} + // Type enumerates the values for type. type Type string @@ -685,6 +827,21 @@ func PossibleTypeValues() []Type { return []Type{BinarySignature, File, FileHash, ProductSignature, PublisherSignature, VersionAndAboveSignature} } +// ValueType enumerates the values for value type. +type ValueType string + +const ( + // IPCidr An IP range in CIDR format (e.g. '192.168.0.1/8'). + IPCidr ValueType = "IpCidr" + // String Any string value. + String ValueType = "String" +) + +// PossibleValueTypeValues returns an array of possible values for the ValueType const type. +func PossibleValueTypeValues() []ValueType { + return []ValueType{IPCidr, String} +} + // AadConnectivityState1 describes an Azure resource with kind type AadConnectivityState1 struct { // ConnectivityState - Possible values include: 'Discovered', 'NotLicensed', 'Connected' @@ -754,6 +911,100 @@ type AadSolutionProperties struct { ConnectivityState AadConnectivityState `json:"connectivityState,omitempty"` } +// BasicAdditionalData details of the sub-assessment +type BasicAdditionalData interface { + AsSQLServerVulnerabilityProperties() (*SQLServerVulnerabilityProperties, bool) + AsContainerRegistryVulnerabilityProperties() (*ContainerRegistryVulnerabilityProperties, bool) + AsServerVulnerabilityProperties() (*ServerVulnerabilityProperties, bool) + AsAdditionalData() (*AdditionalData, bool) +} + +// AdditionalData details of the sub-assessment +type AdditionalData struct { + // AssessedResourceType - Possible values include: 'AssessedResourceTypeAdditionalData', 'AssessedResourceTypeSQLServerVulnerability', 'AssessedResourceTypeContainerRegistryVulnerability', 'AssessedResourceTypeServerVulnerabilityAssessment' + AssessedResourceType AssessedResourceType `json:"assessedResourceType,omitempty"` +} + +func unmarshalBasicAdditionalData(body []byte) (BasicAdditionalData, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["assessedResourceType"] { + case string(AssessedResourceTypeSQLServerVulnerability): + var ssvp SQLServerVulnerabilityProperties + err := json.Unmarshal(body, &ssvp) + return ssvp, err + case string(AssessedResourceTypeContainerRegistryVulnerability): + var crvp ContainerRegistryVulnerabilityProperties + err := json.Unmarshal(body, &crvp) + return crvp, err + case string(AssessedResourceTypeServerVulnerabilityAssessment): + var svp ServerVulnerabilityProperties + err := json.Unmarshal(body, &svp) + return svp, err + default: + var ad AdditionalData + err := json.Unmarshal(body, &ad) + return ad, err + } +} +func unmarshalBasicAdditionalDataArray(body []byte) ([]BasicAdditionalData, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + adArray := make([]BasicAdditionalData, len(rawMessages)) + + for index, rawMessage := range rawMessages { + ad, err := unmarshalBasicAdditionalData(*rawMessage) + if err != nil { + return nil, err + } + adArray[index] = ad + } + return adArray, nil +} + +// MarshalJSON is the custom marshaler for AdditionalData. +func (ad AdditionalData) MarshalJSON() ([]byte, error) { + ad.AssessedResourceType = AssessedResourceTypeAdditionalData + objectMap := make(map[string]interface{}) + if ad.AssessedResourceType != "" { + objectMap["assessedResourceType"] = ad.AssessedResourceType + } + return json.Marshal(objectMap) +} + +// AsSQLServerVulnerabilityProperties is the BasicAdditionalData implementation for AdditionalData. +func (ad AdditionalData) AsSQLServerVulnerabilityProperties() (*SQLServerVulnerabilityProperties, bool) { + return nil, false +} + +// AsContainerRegistryVulnerabilityProperties is the BasicAdditionalData implementation for AdditionalData. +func (ad AdditionalData) AsContainerRegistryVulnerabilityProperties() (*ContainerRegistryVulnerabilityProperties, bool) { + return nil, false +} + +// AsServerVulnerabilityProperties is the BasicAdditionalData implementation for AdditionalData. +func (ad AdditionalData) AsServerVulnerabilityProperties() (*ServerVulnerabilityProperties, bool) { + return nil, false +} + +// AsAdditionalData is the BasicAdditionalData implementation for AdditionalData. +func (ad AdditionalData) AsAdditionalData() (*AdditionalData, bool) { + return &ad, true +} + +// AsBasicAdditionalData is the BasicAdditionalData implementation for AdditionalData. +func (ad AdditionalData) AsBasicAdditionalData() (BasicAdditionalData, bool) { + return &ad, true +} + // AdvancedThreatProtectionProperties the Advanced Threat Protection settings. type AdvancedThreatProtectionProperties struct { // IsEnabled - Indicates whether Advanced Threat Protection is enabled. @@ -1411,6 +1662,23 @@ type AllowedConnectionsResourceProperties struct { ConnectableResources *[]ConnectableResource `json:"connectableResources,omitempty"` } +// AllowlistCustomAlertRule a custom alert rule that checks if a value (depends on the custom alert type) +// is allowed. +type AllowlistCustomAlertRule struct { + // AllowlistValues - The values to allow. The format of the values depends on the rule type. + AllowlistValues *[]string `json:"allowlistValues,omitempty"` + // ValueType - READ-ONLY; The value type of the items in the list. Possible values include: 'IPCidr', 'String' + ValueType ValueType `json:"valueType,omitempty"` + // DisplayName - READ-ONLY; The display name of the custom alert. + DisplayName *string `json:"displayName,omitempty"` + // Description - READ-ONLY; The description of the custom alert. + Description *string `json:"description,omitempty"` + // IsEnabled - Status of the custom alert. + IsEnabled *bool `json:"isEnabled,omitempty"` + // RuleType - The type of the custom alert rule. + RuleType *string `json:"ruleType,omitempty"` +} + // AppWhitelistingGroup ... type AppWhitelistingGroup struct { autorest.Response `json:"-"` @@ -1497,14 +1765,15 @@ func (awg *AppWhitelistingGroup) UnmarshalJSON(body []byte) error { // AppWhitelistingGroupData represents a VM/server group and set of rules that are Recommended by Azure // Security Center to be allowed type AppWhitelistingGroupData struct { - // EnforcementMode - Possible values include: 'Audit', 'Enforce' + // EnforcementMode - Possible values include: 'Audit', 'Enforce', 'None' EnforcementMode EnforcementMode `json:"enforcementMode,omitempty"` + ProtectionMode *ProtectionMode `json:"protectionMode,omitempty"` // ConfigurationStatus - Possible values include: 'ConfigurationStatus2Configured', 'ConfigurationStatus2NotConfigured', 'ConfigurationStatus2InProgress', 'ConfigurationStatus2Failed', 'ConfigurationStatus2NoStatus' ConfigurationStatus ConfigurationStatus2 `json:"configurationStatus,omitempty"` // RecommendationStatus - Possible values include: 'RecommendationStatusRecommended', 'RecommendationStatusNotRecommended', 'RecommendationStatusNotAvailable', 'RecommendationStatusNoStatus' RecommendationStatus RecommendationStatus `json:"recommendationStatus,omitempty"` Issues *[]AppWhitelistingIssueSummary `json:"issues,omitempty"` - // SourceSystem - Possible values include: 'AzureAppLocker', 'AzureAuditD', 'NonAzureAppLocker', 'NonAzureAuditD', 'None' + // SourceSystem - Possible values include: 'SourceSystemAzureAppLocker', 'SourceSystemAzureAuditD', 'SourceSystemNonAzureAppLocker', 'SourceSystemNonAzureAuditD', 'SourceSystemNone' SourceSystem SourceSystem `json:"sourceSystem,omitempty"` VMRecommendations *[]VMRecommendation `json:"vmRecommendations,omitempty"` PathRecommendations *[]PathRecommendation `json:"pathRecommendations,omitempty"` @@ -1527,8 +1796,10 @@ type AppWhitelistingIssueSummary struct { // AppWhitelistingPutGroupData the altered data of the recommended VM/server group policy type AppWhitelistingPutGroupData struct { - // EnforcementMode - Possible values include: 'EnforcementMode1Audit', 'EnforcementMode1Enforce' - EnforcementMode EnforcementMode1 `json:"enforcementMode,omitempty"` + // EnforcementMode - The enforcement mode of the group. Can also be defined per collection type by using ProtectionMode. Possible values include: 'EnforcementMode1Audit', 'EnforcementMode1Enforce', 'EnforcementMode1None' + EnforcementMode EnforcementMode1 `json:"enforcementMode,omitempty"` + // ProtectionMode - The protection mode of the group per collection type. Can also be defined for all collection types by using EnforcementMode + ProtectionMode *ProtectionMode `json:"protectionMode,omitempty"` VMRecommendations *[]VMRecommendation `json:"vmRecommendations,omitempty"` PathRecommendations *[]PathRecommendation `json:"pathRecommendations,omitempty"` } @@ -2064,6 +2335,84 @@ type AutoProvisioningSettingProperties struct { AutoProvision AutoProvision `json:"autoProvision,omitempty"` } +// AwsResourceDetails details of the resource that was assessed +type AwsResourceDetails struct { + // AccountID - READ-ONLY; AWS account ID + AccountID *string `json:"accountId,omitempty"` + // AwsResourceID - READ-ONLY; AWS resource ID. can be ARN or other + AwsResourceID *string `json:"awsResourceId,omitempty"` + // Source - Possible values include: 'SourceResourceDetails', 'SourceAzure', 'SourceAws' + Source Source `json:"source,omitempty"` +} + +// MarshalJSON is the custom marshaler for AwsResourceDetails. +func (ard AwsResourceDetails) MarshalJSON() ([]byte, error) { + ard.Source = SourceAws + objectMap := make(map[string]interface{}) + if ard.Source != "" { + objectMap["source"] = ard.Source + } + return json.Marshal(objectMap) +} + +// AsAzureResourceDetails is the BasicResourceDetails implementation for AwsResourceDetails. +func (ard AwsResourceDetails) AsAzureResourceDetails() (*AzureResourceDetails, bool) { + return nil, false +} + +// AsAwsResourceDetails is the BasicResourceDetails implementation for AwsResourceDetails. +func (ard AwsResourceDetails) AsAwsResourceDetails() (*AwsResourceDetails, bool) { + return &ard, true +} + +// AsResourceDetails is the BasicResourceDetails implementation for AwsResourceDetails. +func (ard AwsResourceDetails) AsResourceDetails() (*ResourceDetails, bool) { + return nil, false +} + +// AsBasicResourceDetails is the BasicResourceDetails implementation for AwsResourceDetails. +func (ard AwsResourceDetails) AsBasicResourceDetails() (BasicResourceDetails, bool) { + return &ard, true +} + +// AzureResourceDetails details of the resource that was assessed +type AzureResourceDetails struct { + // ID - READ-ONLY; Azure resource ID of the assessed resource + ID *string `json:"id,omitempty"` + // Source - Possible values include: 'SourceResourceDetails', 'SourceAzure', 'SourceAws' + Source Source `json:"source,omitempty"` +} + +// MarshalJSON is the custom marshaler for AzureResourceDetails. +func (ard AzureResourceDetails) MarshalJSON() ([]byte, error) { + ard.Source = SourceAzure + objectMap := make(map[string]interface{}) + if ard.Source != "" { + objectMap["source"] = ard.Source + } + return json.Marshal(objectMap) +} + +// AsAzureResourceDetails is the BasicResourceDetails implementation for AzureResourceDetails. +func (ard AzureResourceDetails) AsAzureResourceDetails() (*AzureResourceDetails, bool) { + return &ard, true +} + +// AsAwsResourceDetails is the BasicResourceDetails implementation for AzureResourceDetails. +func (ard AzureResourceDetails) AsAwsResourceDetails() (*AwsResourceDetails, bool) { + return nil, false +} + +// AsResourceDetails is the BasicResourceDetails implementation for AzureResourceDetails. +func (ard AzureResourceDetails) AsResourceDetails() (*ResourceDetails, bool) { + return nil, false +} + +// AsBasicResourceDetails is the BasicResourceDetails implementation for AzureResourceDetails. +func (ard AzureResourceDetails) AsBasicResourceDetails() (BasicResourceDetails, bool) { + return &ard, true +} + // CefExternalSecuritySolution represents a security solution which sends CEF logs to an OMS workspace type CefExternalSecuritySolution struct { Properties *CefSolutionProperties `json:"properties,omitempty"` @@ -3005,6 +3354,90 @@ type ContactProperties struct { AlertsToAdmins AlertsToAdmins `json:"alertsToAdmins,omitempty"` } +// ContainerRegistryVulnerabilityProperties additional context fields for container registry Vulnerability +// assessment +type ContainerRegistryVulnerabilityProperties struct { + // Type - READ-ONLY; Vulnerability Type. e.g: Vulnerability, Potential Vulnerability, Information Gathered, Vulnerability + Type *string `json:"type,omitempty"` + // Cvss - READ-ONLY; Dictionary from cvss version to cvss details object + Cvss map[string]*CVSS `json:"cvss"` + // Patchable - READ-ONLY; Indicates whether a patch is available or not + Patchable *bool `json:"patchable,omitempty"` + // Cve - READ-ONLY; List of CVEs + Cve *[]CVE `json:"cve,omitempty"` + // PublishedTime - READ-ONLY; Published time + PublishedTime *date.Time `json:"publishedTime,omitempty"` + // VendorReferences - READ-ONLY + VendorReferences *[]VendorReference `json:"vendorReferences,omitempty"` + // RepositoryName - READ-ONLY; Name of the repository which the vulnerable image belongs to + RepositoryName *string `json:"repositoryName,omitempty"` + // ImageDigest - READ-ONLY; Digest of the vulnerable image + ImageDigest *string `json:"imageDigest,omitempty"` + // AssessedResourceType - Possible values include: 'AssessedResourceTypeAdditionalData', 'AssessedResourceTypeSQLServerVulnerability', 'AssessedResourceTypeContainerRegistryVulnerability', 'AssessedResourceTypeServerVulnerabilityAssessment' + AssessedResourceType AssessedResourceType `json:"assessedResourceType,omitempty"` +} + +// MarshalJSON is the custom marshaler for ContainerRegistryVulnerabilityProperties. +func (crvp ContainerRegistryVulnerabilityProperties) MarshalJSON() ([]byte, error) { + crvp.AssessedResourceType = AssessedResourceTypeContainerRegistryVulnerability + objectMap := make(map[string]interface{}) + if crvp.AssessedResourceType != "" { + objectMap["assessedResourceType"] = crvp.AssessedResourceType + } + return json.Marshal(objectMap) +} + +// AsSQLServerVulnerabilityProperties is the BasicAdditionalData implementation for ContainerRegistryVulnerabilityProperties. +func (crvp ContainerRegistryVulnerabilityProperties) AsSQLServerVulnerabilityProperties() (*SQLServerVulnerabilityProperties, bool) { + return nil, false +} + +// AsContainerRegistryVulnerabilityProperties is the BasicAdditionalData implementation for ContainerRegistryVulnerabilityProperties. +func (crvp ContainerRegistryVulnerabilityProperties) AsContainerRegistryVulnerabilityProperties() (*ContainerRegistryVulnerabilityProperties, bool) { + return &crvp, true +} + +// AsServerVulnerabilityProperties is the BasicAdditionalData implementation for ContainerRegistryVulnerabilityProperties. +func (crvp ContainerRegistryVulnerabilityProperties) AsServerVulnerabilityProperties() (*ServerVulnerabilityProperties, bool) { + return nil, false +} + +// AsAdditionalData is the BasicAdditionalData implementation for ContainerRegistryVulnerabilityProperties. +func (crvp ContainerRegistryVulnerabilityProperties) AsAdditionalData() (*AdditionalData, bool) { + return nil, false +} + +// AsBasicAdditionalData is the BasicAdditionalData implementation for ContainerRegistryVulnerabilityProperties. +func (crvp ContainerRegistryVulnerabilityProperties) AsBasicAdditionalData() (BasicAdditionalData, bool) { + return &crvp, true +} + +// CustomAlertRule a custom alert rule. +type CustomAlertRule struct { + // DisplayName - READ-ONLY; The display name of the custom alert. + DisplayName *string `json:"displayName,omitempty"` + // Description - READ-ONLY; The description of the custom alert. + Description *string `json:"description,omitempty"` + // IsEnabled - Status of the custom alert. + IsEnabled *bool `json:"isEnabled,omitempty"` + // RuleType - The type of the custom alert rule. + RuleType *string `json:"ruleType,omitempty"` +} + +// CVE CVE details +type CVE struct { + // Title - READ-ONLY; CVE title + Title *string `json:"title,omitempty"` + // Link - READ-ONLY; Link url + Link *string `json:"link,omitempty"` +} + +// CVSS CVSS details +type CVSS struct { + // Base - READ-ONLY; CVSS base + Base *float64 `json:"base,omitempty"` +} + // DataExportSetting represents a data export setting type DataExportSetting struct { // DataExportSettingProperties - Data export setting data @@ -3097,31 +3530,47 @@ type DataExportSettingProperties struct { Enabled *bool `json:"enabled,omitempty"` } -// DiscoveredSecuritySolution ... -type DiscoveredSecuritySolution struct { +// DenylistCustomAlertRule a custom alert rule that checks if a value (depends on the custom alert type) is +// denied. +type DenylistCustomAlertRule struct { + // DenylistValues - The values to deny. The format of the values depends on the rule type. + DenylistValues *[]string `json:"denylistValues,omitempty"` + // ValueType - READ-ONLY; The value type of the items in the list. Possible values include: 'IPCidr', 'String' + ValueType ValueType `json:"valueType,omitempty"` + // DisplayName - READ-ONLY; The display name of the custom alert. + DisplayName *string `json:"displayName,omitempty"` + // Description - READ-ONLY; The description of the custom alert. + Description *string `json:"description,omitempty"` + // IsEnabled - Status of the custom alert. + IsEnabled *bool `json:"isEnabled,omitempty"` + // RuleType - The type of the custom alert rule. + RuleType *string `json:"ruleType,omitempty"` +} + +// DeviceSecurityGroup the device security group resource +type DeviceSecurityGroup struct { autorest.Response `json:"-"` + // DeviceSecurityGroupProperties - Device Security group data + *DeviceSecurityGroupProperties `json:"properties,omitempty"` // ID - READ-ONLY; Resource Id ID *string `json:"id,omitempty"` // Name - READ-ONLY; Resource name Name *string `json:"name,omitempty"` // Type - READ-ONLY; Resource type Type *string `json:"type,omitempty"` - // Location - READ-ONLY; Location where the resource is stored - Location *string `json:"location,omitempty"` - *DiscoveredSecuritySolutionProperties `json:"properties,omitempty"` } -// MarshalJSON is the custom marshaler for DiscoveredSecuritySolution. -func (dss DiscoveredSecuritySolution) MarshalJSON() ([]byte, error) { +// MarshalJSON is the custom marshaler for DeviceSecurityGroup. +func (dsg DeviceSecurityGroup) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) - if dss.DiscoveredSecuritySolutionProperties != nil { - objectMap["properties"] = dss.DiscoveredSecuritySolutionProperties + if dsg.DeviceSecurityGroupProperties != nil { + objectMap["properties"] = dsg.DeviceSecurityGroupProperties } return json.Marshal(objectMap) } -// UnmarshalJSON is the custom unmarshaler for DiscoveredSecuritySolution struct. -func (dss *DiscoveredSecuritySolution) UnmarshalJSON(body []byte) error { +// UnmarshalJSON is the custom unmarshaler for DeviceSecurityGroup struct. +func (dsg *DeviceSecurityGroup) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -3129,6 +3578,15 @@ func (dss *DiscoveredSecuritySolution) UnmarshalJSON(body []byte) error { } for k, v := range m { switch k { + case "properties": + if v != nil { + var deviceSecurityGroupProperties DeviceSecurityGroupProperties + err = json.Unmarshal(*v, &deviceSecurityGroupProperties) + if err != nil { + return err + } + dsg.DeviceSecurityGroupProperties = &deviceSecurityGroupProperties + } case "id": if v != nil { var ID string @@ -3136,7 +3594,7 @@ func (dss *DiscoveredSecuritySolution) UnmarshalJSON(body []byte) error { if err != nil { return err } - dss.ID = &ID + dsg.ID = &ID } case "name": if v != nil { @@ -3145,7 +3603,7 @@ func (dss *DiscoveredSecuritySolution) UnmarshalJSON(body []byte) error { if err != nil { return err } - dss.Name = &name + dsg.Name = &name } case "type": if v != nil { @@ -3154,25 +3612,7 @@ func (dss *DiscoveredSecuritySolution) UnmarshalJSON(body []byte) error { if err != nil { return err } - dss.Type = &typeVar - } - case "location": - if v != nil { - var location string - err = json.Unmarshal(*v, &location) - if err != nil { - return err - } - dss.Location = &location - } - case "properties": - if v != nil { - var discoveredSecuritySolutionProperties DiscoveredSecuritySolutionProperties - err = json.Unmarshal(*v, &discoveredSecuritySolutionProperties) - if err != nil { - return err - } - dss.DiscoveredSecuritySolutionProperties = &discoveredSecuritySolutionProperties + dsg.Type = &typeVar } } } @@ -3180,26 +3620,26 @@ func (dss *DiscoveredSecuritySolution) UnmarshalJSON(body []byte) error { return nil } -// DiscoveredSecuritySolutionList ... -type DiscoveredSecuritySolutionList struct { +// DeviceSecurityGroupList list of device security groups +type DeviceSecurityGroupList struct { autorest.Response `json:"-"` - Value *[]DiscoveredSecuritySolution `json:"value,omitempty"` + // Value - List of device security group objects + Value *[]DeviceSecurityGroup `json:"value,omitempty"` // NextLink - READ-ONLY; The URI to fetch the next page. NextLink *string `json:"nextLink,omitempty"` } -// DiscoveredSecuritySolutionListIterator provides access to a complete listing of -// DiscoveredSecuritySolution values. -type DiscoveredSecuritySolutionListIterator struct { +// DeviceSecurityGroupListIterator provides access to a complete listing of DeviceSecurityGroup values. +type DeviceSecurityGroupListIterator struct { i int - page DiscoveredSecuritySolutionListPage + page DeviceSecurityGroupListPage } // NextWithContext advances to the next value. If there was an error making // the request the iterator does not advance and the error is returned. -func (iter *DiscoveredSecuritySolutionListIterator) NextWithContext(ctx context.Context) (err error) { +func (iter *DeviceSecurityGroupListIterator) NextWithContext(ctx context.Context) (err error) { if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/DiscoveredSecuritySolutionListIterator.NextWithContext") + ctx = tracing.StartSpan(ctx, fqdn+"/DeviceSecurityGroupListIterator.NextWithContext") defer func() { sc := -1 if iter.Response().Response.Response != nil { @@ -3224,62 +3664,62 @@ func (iter *DiscoveredSecuritySolutionListIterator) NextWithContext(ctx context. // Next advances to the next value. If there was an error making // the request the iterator does not advance and the error is returned. // Deprecated: Use NextWithContext() instead. -func (iter *DiscoveredSecuritySolutionListIterator) Next() error { +func (iter *DeviceSecurityGroupListIterator) Next() error { return iter.NextWithContext(context.Background()) } // NotDone returns true if the enumeration should be started or is not yet complete. -func (iter DiscoveredSecuritySolutionListIterator) NotDone() bool { +func (iter DeviceSecurityGroupListIterator) NotDone() bool { return iter.page.NotDone() && iter.i < len(iter.page.Values()) } // Response returns the raw server response from the last page request. -func (iter DiscoveredSecuritySolutionListIterator) Response() DiscoveredSecuritySolutionList { +func (iter DeviceSecurityGroupListIterator) Response() DeviceSecurityGroupList { return iter.page.Response() } // Value returns the current value or a zero-initialized value if the // iterator has advanced beyond the end of the collection. -func (iter DiscoveredSecuritySolutionListIterator) Value() DiscoveredSecuritySolution { +func (iter DeviceSecurityGroupListIterator) Value() DeviceSecurityGroup { if !iter.page.NotDone() { - return DiscoveredSecuritySolution{} + return DeviceSecurityGroup{} } return iter.page.Values()[iter.i] } -// Creates a new instance of the DiscoveredSecuritySolutionListIterator type. -func NewDiscoveredSecuritySolutionListIterator(page DiscoveredSecuritySolutionListPage) DiscoveredSecuritySolutionListIterator { - return DiscoveredSecuritySolutionListIterator{page: page} +// Creates a new instance of the DeviceSecurityGroupListIterator type. +func NewDeviceSecurityGroupListIterator(page DeviceSecurityGroupListPage) DeviceSecurityGroupListIterator { + return DeviceSecurityGroupListIterator{page: page} } // IsEmpty returns true if the ListResult contains no values. -func (dssl DiscoveredSecuritySolutionList) IsEmpty() bool { - return dssl.Value == nil || len(*dssl.Value) == 0 +func (dsgl DeviceSecurityGroupList) IsEmpty() bool { + return dsgl.Value == nil || len(*dsgl.Value) == 0 } -// discoveredSecuritySolutionListPreparer prepares a request to retrieve the next set of results. +// deviceSecurityGroupListPreparer prepares a request to retrieve the next set of results. // It returns nil if no more results exist. -func (dssl DiscoveredSecuritySolutionList) discoveredSecuritySolutionListPreparer(ctx context.Context) (*http.Request, error) { - if dssl.NextLink == nil || len(to.String(dssl.NextLink)) < 1 { +func (dsgl DeviceSecurityGroupList) deviceSecurityGroupListPreparer(ctx context.Context) (*http.Request, error) { + if dsgl.NextLink == nil || len(to.String(dsgl.NextLink)) < 1 { return nil, nil } return autorest.Prepare((&http.Request{}).WithContext(ctx), autorest.AsJSON(), autorest.AsGet(), - autorest.WithBaseURL(to.String(dssl.NextLink))) + autorest.WithBaseURL(to.String(dsgl.NextLink))) } -// DiscoveredSecuritySolutionListPage contains a page of DiscoveredSecuritySolution values. -type DiscoveredSecuritySolutionListPage struct { - fn func(context.Context, DiscoveredSecuritySolutionList) (DiscoveredSecuritySolutionList, error) - dssl DiscoveredSecuritySolutionList +// DeviceSecurityGroupListPage contains a page of DeviceSecurityGroup values. +type DeviceSecurityGroupListPage struct { + fn func(context.Context, DeviceSecurityGroupList) (DeviceSecurityGroupList, error) + dsgl DeviceSecurityGroupList } // NextWithContext advances to the next page of values. If there was an error making // the request the page does not advance and the error is returned. -func (page *DiscoveredSecuritySolutionListPage) NextWithContext(ctx context.Context) (err error) { +func (page *DeviceSecurityGroupListPage) NextWithContext(ctx context.Context) (err error) { if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/DiscoveredSecuritySolutionListPage.NextWithContext") + ctx = tracing.StartSpan(ctx, fqdn+"/DeviceSecurityGroupListPage.NextWithContext") defer func() { sc := -1 if page.Response().Response.Response != nil { @@ -3288,46 +3728,287 @@ func (page *DiscoveredSecuritySolutionListPage) NextWithContext(ctx context.Cont tracing.EndSpan(ctx, sc, err) }() } - next, err := page.fn(ctx, page.dssl) + next, err := page.fn(ctx, page.dsgl) if err != nil { return err } - page.dssl = next + page.dsgl = next return nil } // Next advances to the next page of values. If there was an error making // the request the page does not advance and the error is returned. // Deprecated: Use NextWithContext() instead. -func (page *DiscoveredSecuritySolutionListPage) Next() error { +func (page *DeviceSecurityGroupListPage) Next() error { return page.NextWithContext(context.Background()) } // NotDone returns true if the page enumeration should be started or is not yet complete. -func (page DiscoveredSecuritySolutionListPage) NotDone() bool { - return !page.dssl.IsEmpty() +func (page DeviceSecurityGroupListPage) NotDone() bool { + return !page.dsgl.IsEmpty() } // Response returns the raw server response from the last page request. -func (page DiscoveredSecuritySolutionListPage) Response() DiscoveredSecuritySolutionList { - return page.dssl +func (page DeviceSecurityGroupListPage) Response() DeviceSecurityGroupList { + return page.dsgl } // Values returns the slice of values for the current page or nil if there are no values. -func (page DiscoveredSecuritySolutionListPage) Values() []DiscoveredSecuritySolution { - if page.dssl.IsEmpty() { +func (page DeviceSecurityGroupListPage) Values() []DeviceSecurityGroup { + if page.dsgl.IsEmpty() { return nil } - return *page.dssl.Value + return *page.dsgl.Value } -// Creates a new instance of the DiscoveredSecuritySolutionListPage type. -func NewDiscoveredSecuritySolutionListPage(getNextPage func(context.Context, DiscoveredSecuritySolutionList) (DiscoveredSecuritySolutionList, error)) DiscoveredSecuritySolutionListPage { - return DiscoveredSecuritySolutionListPage{fn: getNextPage} +// Creates a new instance of the DeviceSecurityGroupListPage type. +func NewDeviceSecurityGroupListPage(getNextPage func(context.Context, DeviceSecurityGroupList) (DeviceSecurityGroupList, error)) DeviceSecurityGroupListPage { + return DeviceSecurityGroupListPage{fn: getNextPage} } -// DiscoveredSecuritySolutionProperties ... -type DiscoveredSecuritySolutionProperties struct { +// DeviceSecurityGroupProperties describes properties of a security group. +type DeviceSecurityGroupProperties struct { + // ThresholdRules - The list of custom alert threshold rules. + ThresholdRules *[]ThresholdCustomAlertRule `json:"thresholdRules,omitempty"` + // TimeWindowRules - The list of custom alert time-window rules. + TimeWindowRules *[]TimeWindowCustomAlertRule `json:"timeWindowRules,omitempty"` + // AllowlistRules - The allow-list custom alert rules. + AllowlistRules *[]AllowlistCustomAlertRule `json:"allowlistRules,omitempty"` + // DenylistRules - The deny-list custom alert rules. + DenylistRules *[]DenylistCustomAlertRule `json:"denylistRules,omitempty"` +} + +// DiscoveredSecuritySolution ... +type DiscoveredSecuritySolution struct { + autorest.Response `json:"-"` + // ID - READ-ONLY; Resource Id + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type + Type *string `json:"type,omitempty"` + // Location - READ-ONLY; Location where the resource is stored + Location *string `json:"location,omitempty"` + *DiscoveredSecuritySolutionProperties `json:"properties,omitempty"` +} + +// MarshalJSON is the custom marshaler for DiscoveredSecuritySolution. +func (dss DiscoveredSecuritySolution) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if dss.DiscoveredSecuritySolutionProperties != nil { + objectMap["properties"] = dss.DiscoveredSecuritySolutionProperties + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for DiscoveredSecuritySolution struct. +func (dss *DiscoveredSecuritySolution) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + dss.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + dss.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + dss.Type = &typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + dss.Location = &location + } + case "properties": + if v != nil { + var discoveredSecuritySolutionProperties DiscoveredSecuritySolutionProperties + err = json.Unmarshal(*v, &discoveredSecuritySolutionProperties) + if err != nil { + return err + } + dss.DiscoveredSecuritySolutionProperties = &discoveredSecuritySolutionProperties + } + } + } + + return nil +} + +// DiscoveredSecuritySolutionList ... +type DiscoveredSecuritySolutionList struct { + autorest.Response `json:"-"` + Value *[]DiscoveredSecuritySolution `json:"value,omitempty"` + // NextLink - READ-ONLY; The URI to fetch the next page. + NextLink *string `json:"nextLink,omitempty"` +} + +// DiscoveredSecuritySolutionListIterator provides access to a complete listing of +// DiscoveredSecuritySolution values. +type DiscoveredSecuritySolutionListIterator struct { + i int + page DiscoveredSecuritySolutionListPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *DiscoveredSecuritySolutionListIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DiscoveredSecuritySolutionListIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *DiscoveredSecuritySolutionListIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter DiscoveredSecuritySolutionListIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter DiscoveredSecuritySolutionListIterator) Response() DiscoveredSecuritySolutionList { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter DiscoveredSecuritySolutionListIterator) Value() DiscoveredSecuritySolution { + if !iter.page.NotDone() { + return DiscoveredSecuritySolution{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the DiscoveredSecuritySolutionListIterator type. +func NewDiscoveredSecuritySolutionListIterator(page DiscoveredSecuritySolutionListPage) DiscoveredSecuritySolutionListIterator { + return DiscoveredSecuritySolutionListIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (dssl DiscoveredSecuritySolutionList) IsEmpty() bool { + return dssl.Value == nil || len(*dssl.Value) == 0 +} + +// discoveredSecuritySolutionListPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (dssl DiscoveredSecuritySolutionList) discoveredSecuritySolutionListPreparer(ctx context.Context) (*http.Request, error) { + if dssl.NextLink == nil || len(to.String(dssl.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(dssl.NextLink))) +} + +// DiscoveredSecuritySolutionListPage contains a page of DiscoveredSecuritySolution values. +type DiscoveredSecuritySolutionListPage struct { + fn func(context.Context, DiscoveredSecuritySolutionList) (DiscoveredSecuritySolutionList, error) + dssl DiscoveredSecuritySolutionList +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *DiscoveredSecuritySolutionListPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DiscoveredSecuritySolutionListPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.dssl) + if err != nil { + return err + } + page.dssl = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *DiscoveredSecuritySolutionListPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page DiscoveredSecuritySolutionListPage) NotDone() bool { + return !page.dssl.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page DiscoveredSecuritySolutionListPage) Response() DiscoveredSecuritySolutionList { + return page.dssl +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page DiscoveredSecuritySolutionListPage) Values() []DiscoveredSecuritySolution { + if page.dssl.IsEmpty() { + return nil + } + return *page.dssl.Value +} + +// Creates a new instance of the DiscoveredSecuritySolutionListPage type. +func NewDiscoveredSecuritySolutionListPage(getNextPage func(context.Context, DiscoveredSecuritySolutionList) (DiscoveredSecuritySolutionList, error)) DiscoveredSecuritySolutionListPage { + return DiscoveredSecuritySolutionListPage{fn: getNextPage} +} + +// DiscoveredSecuritySolutionProperties ... +type DiscoveredSecuritySolutionProperties struct { // SecurityFamily - The security family of the discovered solution. Possible values include: 'Waf', 'Ngfw', 'SaasWaf', 'Va' SecurityFamily Family `json:"securityFamily,omitempty"` // Offer - The security solutions' image offer @@ -4006,7 +4687,7 @@ type IoTSecurityAggregatedAlert struct { Type *string `json:"type,omitempty"` // Tags - Resource tags Tags map[string]*string `json:"tags"` - // IoTSecurityAggregatedAlertProperties - Security Solution Aggregated Alert data + // IoTSecurityAggregatedAlertProperties - IoT Security solution aggregated alert details. *IoTSecurityAggregatedAlertProperties `json:"properties,omitempty"` } @@ -4082,12 +4763,12 @@ func (itsaa *IoTSecurityAggregatedAlert) UnmarshalJSON(body []byte) error { return nil } -// IoTSecurityAggregatedAlertList list of IoT aggregated security alerts +// IoTSecurityAggregatedAlertList list of IoT Security solution aggregated alert data. type IoTSecurityAggregatedAlertList struct { autorest.Response `json:"-"` - // Value - List of aggregated alerts data + // Value - List of aggregated alerts data. Value *[]IoTSecurityAggregatedAlert `json:"value,omitempty"` - // NextLink - READ-ONLY; The URI to fetch the next page. + // NextLink - READ-ONLY; When there is too much alert data for one page, use this URI to fetch the next page. NextLink *string `json:"nextLink,omitempty"` } @@ -4229,35 +4910,47 @@ func NewIoTSecurityAggregatedAlertListPage(getNextPage func(context.Context, IoT return IoTSecurityAggregatedAlertListPage{fn: getNextPage} } -// IoTSecurityAggregatedAlertProperties security Solution Aggregated Alert data +// IoTSecurityAggregatedAlertProperties ioT Security solution aggregated alert details. type IoTSecurityAggregatedAlertProperties struct { - // AlertType - READ-ONLY; Name of the alert type + // AlertType - READ-ONLY; Name of the alert type. AlertType *string `json:"alertType,omitempty"` - // AlertDisplayName - READ-ONLY; Display name of the alert type + // AlertDisplayName - READ-ONLY; Display name of the alert type. AlertDisplayName *string `json:"alertDisplayName,omitempty"` - // AggregatedDateUtc - READ-ONLY; The date the incidents were detected by the vendor + // AggregatedDateUtc - READ-ONLY; Date of detection. AggregatedDateUtc *date.Date `json:"aggregatedDateUtc,omitempty"` - // VendorName - READ-ONLY; Name of the vendor that discovered the incident + // VendorName - READ-ONLY; Name of the organization that raised the alert. VendorName *string `json:"vendorName,omitempty"` - // ReportedSeverity - READ-ONLY; Estimated severity of this alert. Possible values include: 'Informational', 'Low', 'Medium', 'High' + // ReportedSeverity - READ-ONLY; Assessed alert severity. Possible values include: 'Informational', 'Low', 'Medium', 'High' ReportedSeverity ReportedSeverity `json:"reportedSeverity,omitempty"` - // RemediationSteps - READ-ONLY; Recommended steps for remediation + // RemediationSteps - READ-ONLY; Recommended steps for remediation. RemediationSteps *string `json:"remediationSteps,omitempty"` - // Description - READ-ONLY; Description of the incident and what it means + // Description - READ-ONLY; Description of the suspected vulnerability and meaning. Description *string `json:"description,omitempty"` - // Count - READ-ONLY; Occurrence number of the alert within the aggregated date + // Count - READ-ONLY; Number of alerts occurrences within the aggregated time window. Count *int32 `json:"count,omitempty"` - // EffectedResourceType - READ-ONLY; Azure resource ID of the resource that got the alerts + // EffectedResourceType - READ-ONLY; Azure resource ID of the resource that received the alerts. EffectedResourceType *string `json:"effectedResourceType,omitempty"` - // SystemSource - READ-ONLY; The type of the alerted resource (Azure, Non-Azure) + // SystemSource - READ-ONLY; The type of the alerted resource (Azure, Non-Azure). SystemSource *string `json:"systemSource,omitempty"` - // ActionTaken - READ-ONLY; The action that was taken as a response to the alert (Active, Blocked etc.) + // ActionTaken - READ-ONLY; IoT Security solution alert response. ActionTaken *string `json:"actionTaken,omitempty"` - // LogAnalyticsQuery - READ-ONLY; query in log analytics to get the list of affected devices/alerts + // LogAnalyticsQuery - READ-ONLY; Log analytics query for getting the list of affected devices/alerts. LogAnalyticsQuery *string `json:"logAnalyticsQuery,omitempty"` + // TopDevicesList - READ-ONLY; 10 devices with the highest number of occurrences of this alert type, on this day. + TopDevicesList *[]IoTSecurityAggregatedAlertPropertiesTopDevicesListItem `json:"topDevicesList,omitempty"` +} + +// IoTSecurityAggregatedAlertPropertiesTopDevicesListItem ... +type IoTSecurityAggregatedAlertPropertiesTopDevicesListItem struct { + // DeviceID - READ-ONLY; Name of the device. + DeviceID *string `json:"deviceId,omitempty"` + // AlertsCount - READ-ONLY; Number of alerts raised for this device. + AlertsCount *int32 `json:"alertsCount,omitempty"` + // LastOccurrence - READ-ONLY; Most recent time this alert was raised for this device, on this day. + LastOccurrence *string `json:"lastOccurrence,omitempty"` } -// IoTSecurityAggregatedRecommendation security Solution Recommendation Information +// IoTSecurityAggregatedRecommendation ioT Security solution recommendation information. type IoTSecurityAggregatedRecommendation struct { autorest.Response `json:"-"` // ID - READ-ONLY; Resource Id @@ -4344,12 +5037,12 @@ func (itsar *IoTSecurityAggregatedRecommendation) UnmarshalJSON(body []byte) err return nil } -// IoTSecurityAggregatedRecommendationList list of IoT aggregated security recommendations +// IoTSecurityAggregatedRecommendationList list of IoT Security solution aggregated recommendations. type IoTSecurityAggregatedRecommendationList struct { autorest.Response `json:"-"` - // Value - List of aggregated alerts data + // Value - List of aggregated recommendations data. Value *[]IoTSecurityAggregatedRecommendation `json:"value,omitempty"` - // NextLink - READ-ONLY; The URI to fetch the next page. + // NextLink - READ-ONLY; When there is too much alert data for one page, use this URI to fetch the next page. NextLink *string `json:"nextLink,omitempty"` } @@ -4492,82 +5185,63 @@ func NewIoTSecurityAggregatedRecommendationListPage(getNextPage func(context.Con return IoTSecurityAggregatedRecommendationListPage{fn: getNextPage} } -// IoTSecurityAggregatedRecommendationProperties security Solution Recommendation Information +// IoTSecurityAggregatedRecommendationProperties ioT Security solution aggregated recommendation +// information type IoTSecurityAggregatedRecommendationProperties struct { - // RecommendationName - Name of the recommendation + // RecommendationName - Name of the recommendation. RecommendationName *string `json:"recommendationName,omitempty"` // RecommendationDisplayName - READ-ONLY; Display name of the recommendation type. RecommendationDisplayName *string `json:"recommendationDisplayName,omitempty"` - // Description - READ-ONLY; Description of the incident and what it means + // Description - READ-ONLY; Description of the suspected vulnerability and meaning. Description *string `json:"description,omitempty"` - // RecommendationTypeID - READ-ONLY; The recommendation-type GUID. + // RecommendationTypeID - READ-ONLY; Recommendation-type GUID. RecommendationTypeID *string `json:"recommendationTypeId,omitempty"` - // DetectedBy - READ-ONLY; Name of the vendor that discovered the issue + // DetectedBy - READ-ONLY; Name of the organization that made the recommendation. DetectedBy *string `json:"detectedBy,omitempty"` // RemediationSteps - READ-ONLY; Recommended steps for remediation RemediationSteps *string `json:"remediationSteps,omitempty"` - // ReportedSeverity - READ-ONLY; Estimated severity of this recommendation. Possible values include: 'Informational', 'Low', 'Medium', 'High' + // ReportedSeverity - READ-ONLY; Assessed recommendation severity. Possible values include: 'Informational', 'Low', 'Medium', 'High' ReportedSeverity ReportedSeverity `json:"reportedSeverity,omitempty"` - // HealthyDevices - READ-ONLY; the number of the healthy devices within the solution + // HealthyDevices - READ-ONLY; Number of healthy devices within the IoT Security solution. HealthyDevices *int32 `json:"healthyDevices,omitempty"` - // UnhealthyDeviceCount - READ-ONLY; the number of the unhealthy devices within the solution + // UnhealthyDeviceCount - READ-ONLY; Number of unhealthy devices within the IoT Security solution. UnhealthyDeviceCount *int32 `json:"unhealthyDeviceCount,omitempty"` - // LogAnalyticsQuery - READ-ONLY; query in log analytics to get the list of affected devices/alerts + // LogAnalyticsQuery - READ-ONLY; Log analytics query for getting the list of affected devices/alerts. LogAnalyticsQuery *string `json:"logAnalyticsQuery,omitempty"` } -// IoTSecurityAlertedDevice statistic information about the number of alerts per device during the last -// period +// IoTSecurityAlertedDevice statistical information about the number of alerts per device during last set +// number of days. type IoTSecurityAlertedDevice struct { - // DeviceID - READ-ONLY; Name of the alert type + // DeviceID - READ-ONLY; Device identifier. DeviceID *string `json:"deviceId,omitempty"` - // AlertsCount - READ-ONLY; the number of alerts raised for this device + // AlertsCount - READ-ONLY; Number of alerts raised for this device. AlertsCount *int32 `json:"alertsCount,omitempty"` } -// IoTSecurityAlertedDevicesList list of devices with the count of raised alerts -type IoTSecurityAlertedDevicesList struct { - // Value - List of aggregated alerts data - Value *[]IoTSecurityAlertedDevice `json:"value,omitempty"` -} - -// IoTSecurityDeviceAlert statistic information about the number of alerts per alert type during the last -// period +// IoTSecurityDeviceAlert statistical information about the number of alerts per alert type during last set +// number of days type IoTSecurityDeviceAlert struct { // AlertDisplayName - READ-ONLY; Display name of the alert AlertDisplayName *string `json:"alertDisplayName,omitempty"` - // ReportedSeverity - READ-ONLY; Estimated severity of this alert. Possible values include: 'Informational', 'Low', 'Medium', 'High' + // ReportedSeverity - READ-ONLY; Assessed Alert severity. Possible values include: 'Informational', 'Low', 'Medium', 'High' ReportedSeverity ReportedSeverity `json:"reportedSeverity,omitempty"` - // AlertsCount - READ-ONLY; the number of alerts raised for this alert type + // AlertsCount - READ-ONLY; Number of alerts raised for this alert type. AlertsCount *int32 `json:"alertsCount,omitempty"` } -// IoTSecurityDeviceAlertsList list of alerts with the count of raised alerts -type IoTSecurityDeviceAlertsList struct { - // Value - List of top alerts data - Value *[]IoTSecurityDeviceAlert `json:"value,omitempty"` - // NextLink - READ-ONLY; The URI to fetch the next page. - NextLink *string `json:"nextLink,omitempty"` -} - -// IoTSecurityDeviceRecommendation statistic information about the number of recommendations per -// recommendation type +// IoTSecurityDeviceRecommendation statistical information about the number of recommendations per device, +// per recommendation type. type IoTSecurityDeviceRecommendation struct { - // RecommendationDisplayName - READ-ONLY; Display name of the recommendation + // RecommendationDisplayName - READ-ONLY; Display name of the recommendation. RecommendationDisplayName *string `json:"recommendationDisplayName,omitempty"` - // ReportedSeverity - READ-ONLY; Estimated severity of this recommendation. Possible values include: 'Informational', 'Low', 'Medium', 'High' + // ReportedSeverity - READ-ONLY; Assessed recommendation severity. Possible values include: 'Informational', 'Low', 'Medium', 'High' ReportedSeverity ReportedSeverity `json:"reportedSeverity,omitempty"` - // DevicesCount - READ-ONLY; the number of device with this recommendation + // DevicesCount - READ-ONLY; Number of devices with this recommendation. DevicesCount *int32 `json:"devicesCount,omitempty"` } -// IoTSecurityDeviceRecommendationsList list of recommendations with the count of devices -type IoTSecurityDeviceRecommendationsList struct { - // Value - List of aggregated recommendation data - Value *[]IoTSecurityDeviceRecommendation `json:"value,omitempty"` -} - -// IoTSecuritySolutionAnalyticsModel security Analytics of a security solution +// IoTSecuritySolutionAnalyticsModel security analytics of your IoT Security solution type IoTSecuritySolutionAnalyticsModel struct { autorest.Response `json:"-"` // IoTSecuritySolutionAnalyticsModelProperties - Security Solution Aggregated Alert data @@ -4640,40 +5314,40 @@ func (itssam *IoTSecuritySolutionAnalyticsModel) UnmarshalJSON(body []byte) erro return nil } -// IoTSecuritySolutionAnalyticsModelList list of Security Analytics of a security solution +// IoTSecuritySolutionAnalyticsModelList list of Security analytics of your IoT Security solution type IoTSecuritySolutionAnalyticsModelList struct { autorest.Response `json:"-"` - // Value - List of Security Analytics of a security solution + // Value - List of Security analytics of your IoT Security solution Value *[]IoTSecuritySolutionAnalyticsModel `json:"value,omitempty"` - // NextLink - READ-ONLY; The URI to fetch the next page. + // NextLink - READ-ONLY; When there is too much alert data for one page, use this URI to fetch the next page. NextLink *string `json:"nextLink,omitempty"` } -// IoTSecuritySolutionAnalyticsModelProperties security Analytics of a security solution properties +// IoTSecuritySolutionAnalyticsModelProperties security analytics properties of your IoT Security solution type IoTSecuritySolutionAnalyticsModelProperties struct { - // Metrics - READ-ONLY; Security Analytics of a security solution + // Metrics - READ-ONLY; Security analytics of your IoT Security solution. Metrics *IoTSeverityMetrics `json:"metrics,omitempty"` - // UnhealthyDeviceCount - READ-ONLY; number of unhealthy devices + // UnhealthyDeviceCount - READ-ONLY; Number of unhealthy devices within your IoT Security solution. UnhealthyDeviceCount *int32 `json:"unhealthyDeviceCount,omitempty"` - // DevicesMetrics - READ-ONLY; The list of devices metrics by the aggregated date. + // DevicesMetrics - READ-ONLY; List of device metrics by the aggregation date. DevicesMetrics *[]IoTSecuritySolutionAnalyticsModelPropertiesDevicesMetricsItem `json:"devicesMetrics,omitempty"` - // TopAlertedDevices - The list of top 3 devices with the most attacked. - TopAlertedDevices *IoTSecurityAlertedDevicesList `json:"topAlertedDevices,omitempty"` - // MostPrevalentDeviceAlerts - The list of most prevalent 3 alerts. - MostPrevalentDeviceAlerts *IoTSecurityDeviceAlertsList `json:"mostPrevalentDeviceAlerts,omitempty"` - // MostPrevalentDeviceRecommendations - The list of most prevalent 3 recommendations. - MostPrevalentDeviceRecommendations *IoTSecurityDeviceRecommendationsList `json:"mostPrevalentDeviceRecommendations,omitempty"` + // TopAlertedDevices - List of the 3 devices with the most alerts. + TopAlertedDevices *[]IoTSecurityAlertedDevice `json:"topAlertedDevices,omitempty"` + // MostPrevalentDeviceAlerts - List of the 3 most prevalent device alerts. + MostPrevalentDeviceAlerts *[]IoTSecurityDeviceAlert `json:"mostPrevalentDeviceAlerts,omitempty"` + // MostPrevalentDeviceRecommendations - List of the 3 most prevalent device recommendations. + MostPrevalentDeviceRecommendations *[]IoTSecurityDeviceRecommendation `json:"mostPrevalentDeviceRecommendations,omitempty"` } // IoTSecuritySolutionAnalyticsModelPropertiesDevicesMetricsItem ... type IoTSecuritySolutionAnalyticsModelPropertiesDevicesMetricsItem struct { - // Date - the date of the metrics + // Date - Aggregation of IoT Security solution device alert metrics by date. Date *date.Time `json:"date,omitempty"` - // DevicesMetrics - devices alerts count by severity. + // DevicesMetrics - Device alert count by severity. DevicesMetrics *IoTSeverityMetrics `json:"devicesMetrics,omitempty"` } -// IoTSecuritySolutionModel security Solution +// IoTSecuritySolutionModel ioT Security solution configuration and resource information. type IoTSecuritySolutionModel struct { autorest.Response `json:"-"` // ID - READ-ONLY; Resource Id @@ -4780,9 +5454,9 @@ type IoTSecuritySolutionProperties struct { Workspace *string `json:"workspace,omitempty"` // DisplayName - Resource display name. DisplayName *string `json:"displayName,omitempty"` - // Status - Security solution status. Possible values include: 'SolutionStatusEnabled', 'SolutionStatusDisabled' + // Status - Status of the IoT Security solution. Possible values include: 'SolutionStatusEnabled', 'SolutionStatusDisabled' Status SolutionStatus `json:"status,omitempty"` - // Export - List of additional export to workspace data options + // Export - List of additional options for exporting to workspace data. Export *[]ExportData `json:"export,omitempty"` // DisabledDataSources - Disabled data sources. Disabling these data sources compromises the system. DisabledDataSources *[]DataSource `json:"disabledDataSources,omitempty"` @@ -4794,10 +5468,10 @@ type IoTSecuritySolutionProperties struct { RecommendationsConfiguration *[]RecommendationConfigurationProperties `json:"recommendationsConfiguration,omitempty"` } -// IoTSecuritySolutionsList list of iot solutions +// IoTSecuritySolutionsList list of IoT Security solutions. type IoTSecuritySolutionsList struct { autorest.Response `json:"-"` - // Value - List of security solutions + // Value - List of IoT Security solutions Value *[]IoTSecuritySolutionModel `json:"value,omitempty"` // NextLink - READ-ONLY; The URI to fetch the next page. NextLink *string `json:"nextLink,omitempty"` @@ -4941,13 +5615,13 @@ func NewIoTSecuritySolutionsListPage(getNextPage func(context.Context, IoTSecuri return IoTSecuritySolutionsListPage{fn: getNextPage} } -// IoTSeverityMetrics severity metrics +// IoTSeverityMetrics ioT Security solution analytics severity metrics. type IoTSeverityMetrics struct { - // High - count of high severity items + // High - Count of high severity alerts/recommendations. High *int32 `json:"high,omitempty"` - // Medium - count of medium severity items + // Medium - Count of medium severity alerts/recommendations. Medium *int32 `json:"medium,omitempty"` - // Low - count of low severity items + // Low - Count of low severity alerts/recommendations. Low *int32 `json:"low,omitempty"` } @@ -5207,6 +5881,8 @@ type JitNetworkAccessPolicyInitiatePort struct { type JitNetworkAccessPolicyInitiateRequest struct { // VirtualMachines - A list of virtual machines & ports to open access for VirtualMachines *[]JitNetworkAccessPolicyInitiateVirtualMachine `json:"virtualMachines,omitempty"` + // Justification - The justification for making the initiate request + Justification *string `json:"justification,omitempty"` } // JitNetworkAccessPolicyInitiateVirtualMachine ... @@ -5257,6 +5933,8 @@ type JitNetworkAccessRequest struct { StartTimeUtc *date.Time `json:"startTimeUtc,omitempty"` // Requestor - The identity of the person who made the request Requestor *string `json:"requestor,omitempty"` + // Justification - The justification for making the initiate request + Justification *string `json:"justification,omitempty"` } // JitNetworkAccessRequestPort ... @@ -5290,6 +5968,20 @@ type Kind struct { Kind *string `json:"kind,omitempty"` } +// ListCustomAlertRule a List custom alert rule. +type ListCustomAlertRule struct { + // ValueType - READ-ONLY; The value type of the items in the list. Possible values include: 'IPCidr', 'String' + ValueType ValueType `json:"valueType,omitempty"` + // DisplayName - READ-ONLY; The display name of the custom alert. + DisplayName *string `json:"displayName,omitempty"` + // Description - READ-ONLY; The description of the custom alert. + Description *string `json:"description,omitempty"` + // IsEnabled - Status of the custom alert. + IsEnabled *bool `json:"isEnabled,omitempty"` + // RuleType - The type of the custom alert rule. + RuleType *string `json:"ruleType,omitempty"` +} + // Location describes an Azure resource with location type Location struct { // Location - READ-ONLY; Location where the resource is stored @@ -5476,7 +6168,7 @@ type PathRecommendation struct { Common *bool `json:"common,omitempty"` UserSids *[]string `json:"userSids,omitempty"` Usernames *[]UserRecommendation `json:"usernames,omitempty"` - // FileType - Possible values include: 'Exe', 'Dll', 'Msi', 'Script', 'Executable', 'Unknown' + // FileType - Possible values include: 'FileTypeExe', 'FileTypeDll', 'FileTypeMsi', 'FileTypeScript', 'FileTypeExecutable', 'FileTypeUnknown' FileType FileType `json:"fileType,omitempty"` // ConfigurationStatus - Possible values include: 'ConfigurationStatus1Configured', 'ConfigurationStatus1NotConfigured', 'ConfigurationStatus1InProgress', 'ConfigurationStatus1Failed', 'ConfigurationStatus1NoStatus' ConfigurationStatus ConfigurationStatus1 `json:"configurationStatus,omitempty"` @@ -5572,6 +6264,19 @@ type PricingProperties struct { FreeTrialRemainingTime *string `json:"freeTrialRemainingTime,omitempty"` } +// ProtectionMode the protection mode of the collection/file types. Exe/Msi/Script are used for Windows, +// Executable is used for Linux. +type ProtectionMode struct { + // Exe - Possible values include: 'ExeAudit', 'ExeEnforce', 'ExeNone' + Exe Exe `json:"exe,omitempty"` + // Msi - Possible values include: 'MsiAudit', 'MsiEnforce', 'MsiNone' + Msi Msi `json:"msi,omitempty"` + // Script - Possible values include: 'ScriptAudit', 'ScriptEnforce', 'ScriptNone' + Script Script `json:"script,omitempty"` + // Executable - Possible values include: 'ExecutableAudit', 'ExecutableEnforce', 'ExecutableNone' + Executable Executable `json:"executable,omitempty"` +} + // PublisherInfo represents the publisher information of a process/rule type PublisherInfo struct { // PublisherName - The Subject field of the x.509 certificate used to sign the code, using the following fields - O = Organization, L = Locality, S = State or Province, and C = Country @@ -5584,13 +6289,13 @@ type PublisherInfo struct { Version *string `json:"version,omitempty"` } -// RecommendationConfigurationProperties recommendation configuration +// RecommendationConfigurationProperties the type of IoT Security recommendation. type RecommendationConfigurationProperties struct { - // RecommendationType - The recommendation type. Possible values include: 'IoTACRAuthentication', 'IoTAgentSendsUnutilizedMessages', 'IoTBaseline', 'IoTEdgeHubMemOptimize', 'IoTEdgeLoggingOptions', 'IoTInconsistentModuleSettings', 'IoTInstallAgent', 'IoTIPFilterDenyAll', 'IoTIPFilterPermissiveRule', 'IoTOpenPorts', 'IoTPermissiveFirewallPolicy', 'IoTPermissiveInputFirewallRules', 'IoTPermissiveOutputFirewallRules', 'IoTPrivilegedDockerOptions', 'IoTSharedCredentials', 'IoTVulnerableTLSCipherSuite' + // RecommendationType - The type of IoT Security recommendation. Possible values include: 'IoTACRAuthentication', 'IoTAgentSendsUnutilizedMessages', 'IoTBaseline', 'IoTEdgeHubMemOptimize', 'IoTEdgeLoggingOptions', 'IoTInconsistentModuleSettings', 'IoTInstallAgent', 'IoTIPFilterDenyAll', 'IoTIPFilterPermissiveRule', 'IoTOpenPorts', 'IoTPermissiveFirewallPolicy', 'IoTPermissiveInputFirewallRules', 'IoTPermissiveOutputFirewallRules', 'IoTPrivilegedDockerOptions', 'IoTSharedCredentials', 'IoTVulnerableTLSCipherSuite' RecommendationType RecommendationType `json:"recommendationType,omitempty"` // Name - READ-ONLY Name *string `json:"name,omitempty"` - // Status - Recommendation status. The recommendation is not generated when the status is disabled. Possible values include: 'Disabled', 'Enabled' + // Status - Recommendation status. When the recommendation status is disabled recommendations are not generated. Possible values include: 'Disabled', 'Enabled' Status RecommendationConfigStatus `json:"status,omitempty"` } @@ -6310,6 +7015,90 @@ type Resource struct { Type *string `json:"type,omitempty"` } +// BasicResourceDetails details of the resource that was assessed +type BasicResourceDetails interface { + AsAzureResourceDetails() (*AzureResourceDetails, bool) + AsAwsResourceDetails() (*AwsResourceDetails, bool) + AsResourceDetails() (*ResourceDetails, bool) +} + +// ResourceDetails details of the resource that was assessed +type ResourceDetails struct { + // Source - Possible values include: 'SourceResourceDetails', 'SourceAzure', 'SourceAws' + Source Source `json:"source,omitempty"` +} + +func unmarshalBasicResourceDetails(body []byte) (BasicResourceDetails, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["source"] { + case string(SourceAzure): + var ard AzureResourceDetails + err := json.Unmarshal(body, &ard) + return ard, err + case string(SourceAws): + var ard AwsResourceDetails + err := json.Unmarshal(body, &ard) + return ard, err + default: + var rd ResourceDetails + err := json.Unmarshal(body, &rd) + return rd, err + } +} +func unmarshalBasicResourceDetailsArray(body []byte) ([]BasicResourceDetails, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + rdArray := make([]BasicResourceDetails, len(rawMessages)) + + for index, rawMessage := range rawMessages { + rd, err := unmarshalBasicResourceDetails(*rawMessage) + if err != nil { + return nil, err + } + rdArray[index] = rd + } + return rdArray, nil +} + +// MarshalJSON is the custom marshaler for ResourceDetails. +func (rd ResourceDetails) MarshalJSON() ([]byte, error) { + rd.Source = SourceResourceDetails + objectMap := make(map[string]interface{}) + if rd.Source != "" { + objectMap["source"] = rd.Source + } + return json.Marshal(objectMap) +} + +// AsAzureResourceDetails is the BasicResourceDetails implementation for ResourceDetails. +func (rd ResourceDetails) AsAzureResourceDetails() (*AzureResourceDetails, bool) { + return nil, false +} + +// AsAwsResourceDetails is the BasicResourceDetails implementation for ResourceDetails. +func (rd ResourceDetails) AsAwsResourceDetails() (*AwsResourceDetails, bool) { + return nil, false +} + +// AsResourceDetails is the BasicResourceDetails implementation for ResourceDetails. +func (rd ResourceDetails) AsResourceDetails() (*ResourceDetails, bool) { + return &rd, true +} + +// AsBasicResourceDetails is the BasicResourceDetails implementation for ResourceDetails. +func (rd ResourceDetails) AsBasicResourceDetails() (BasicResourceDetails, bool) { + return &rd, true +} + // SensitivityLabel the sensitivity label. type SensitivityLabel struct { // DisplayName - The name of the sensitivity label. @@ -6404,6 +7193,61 @@ type ServerVulnerabilityAssessmentsList struct { Value *[]ServerVulnerabilityAssessment `json:"value,omitempty"` } +// ServerVulnerabilityProperties additional context fields for server vulnerability assessment +type ServerVulnerabilityProperties struct { + // Type - READ-ONLY; Vulnerability Type. e.g: Vulnerability, Potential Vulnerability, Information Gathered + Type *string `json:"type,omitempty"` + // Cvss - READ-ONLY; Dictionary from cvss version to cvss details object + Cvss map[string]*CVSS `json:"cvss"` + // Patchable - READ-ONLY; Indicates whether a patch is available or not + Patchable *bool `json:"patchable,omitempty"` + // Cve - READ-ONLY; List of CVEs + Cve *[]CVE `json:"cve,omitempty"` + // Threat - READ-ONLY; Threat name + Threat *string `json:"threat,omitempty"` + // PublishedTime - READ-ONLY; Published time + PublishedTime *date.Time `json:"publishedTime,omitempty"` + // VendorReferences - READ-ONLY + VendorReferences *[]VendorReference `json:"vendorReferences,omitempty"` + // AssessedResourceType - Possible values include: 'AssessedResourceTypeAdditionalData', 'AssessedResourceTypeSQLServerVulnerability', 'AssessedResourceTypeContainerRegistryVulnerability', 'AssessedResourceTypeServerVulnerabilityAssessment' + AssessedResourceType AssessedResourceType `json:"assessedResourceType,omitempty"` +} + +// MarshalJSON is the custom marshaler for ServerVulnerabilityProperties. +func (svp ServerVulnerabilityProperties) MarshalJSON() ([]byte, error) { + svp.AssessedResourceType = AssessedResourceTypeServerVulnerabilityAssessment + objectMap := make(map[string]interface{}) + if svp.AssessedResourceType != "" { + objectMap["assessedResourceType"] = svp.AssessedResourceType + } + return json.Marshal(objectMap) +} + +// AsSQLServerVulnerabilityProperties is the BasicAdditionalData implementation for ServerVulnerabilityProperties. +func (svp ServerVulnerabilityProperties) AsSQLServerVulnerabilityProperties() (*SQLServerVulnerabilityProperties, bool) { + return nil, false +} + +// AsContainerRegistryVulnerabilityProperties is the BasicAdditionalData implementation for ServerVulnerabilityProperties. +func (svp ServerVulnerabilityProperties) AsContainerRegistryVulnerabilityProperties() (*ContainerRegistryVulnerabilityProperties, bool) { + return nil, false +} + +// AsServerVulnerabilityProperties is the BasicAdditionalData implementation for ServerVulnerabilityProperties. +func (svp ServerVulnerabilityProperties) AsServerVulnerabilityProperties() (*ServerVulnerabilityProperties, bool) { + return &svp, true +} + +// AsAdditionalData is the BasicAdditionalData implementation for ServerVulnerabilityProperties. +func (svp ServerVulnerabilityProperties) AsAdditionalData() (*AdditionalData, bool) { + return nil, false +} + +// AsBasicAdditionalData is the BasicAdditionalData implementation for ServerVulnerabilityProperties. +func (svp ServerVulnerabilityProperties) AsBasicAdditionalData() (BasicAdditionalData, bool) { + return &svp, true +} + // Setting represents a security setting in Azure Security Center. type Setting struct { autorest.Response `json:"-"` @@ -6575,6 +7419,405 @@ func NewSettingsListPage(getNextPage func(context.Context, SettingsList) (Settin return SettingsListPage{fn: getNextPage} } +// SQLServerVulnerabilityProperties details of the resource that was assessed +type SQLServerVulnerabilityProperties struct { + // Type - READ-ONLY; The resource type the sub assessment refers to in its resource details + Type *string `json:"type,omitempty"` + // Query - READ-ONLY; The T-SQL query that runs on your SQL database to perform the particular check + Query *string `json:"query,omitempty"` + // AssessedResourceType - Possible values include: 'AssessedResourceTypeAdditionalData', 'AssessedResourceTypeSQLServerVulnerability', 'AssessedResourceTypeContainerRegistryVulnerability', 'AssessedResourceTypeServerVulnerabilityAssessment' + AssessedResourceType AssessedResourceType `json:"assessedResourceType,omitempty"` +} + +// MarshalJSON is the custom marshaler for SQLServerVulnerabilityProperties. +func (ssvp SQLServerVulnerabilityProperties) MarshalJSON() ([]byte, error) { + ssvp.AssessedResourceType = AssessedResourceTypeSQLServerVulnerability + objectMap := make(map[string]interface{}) + if ssvp.AssessedResourceType != "" { + objectMap["assessedResourceType"] = ssvp.AssessedResourceType + } + return json.Marshal(objectMap) +} + +// AsSQLServerVulnerabilityProperties is the BasicAdditionalData implementation for SQLServerVulnerabilityProperties. +func (ssvp SQLServerVulnerabilityProperties) AsSQLServerVulnerabilityProperties() (*SQLServerVulnerabilityProperties, bool) { + return &ssvp, true +} + +// AsContainerRegistryVulnerabilityProperties is the BasicAdditionalData implementation for SQLServerVulnerabilityProperties. +func (ssvp SQLServerVulnerabilityProperties) AsContainerRegistryVulnerabilityProperties() (*ContainerRegistryVulnerabilityProperties, bool) { + return nil, false +} + +// AsServerVulnerabilityProperties is the BasicAdditionalData implementation for SQLServerVulnerabilityProperties. +func (ssvp SQLServerVulnerabilityProperties) AsServerVulnerabilityProperties() (*ServerVulnerabilityProperties, bool) { + return nil, false +} + +// AsAdditionalData is the BasicAdditionalData implementation for SQLServerVulnerabilityProperties. +func (ssvp SQLServerVulnerabilityProperties) AsAdditionalData() (*AdditionalData, bool) { + return nil, false +} + +// AsBasicAdditionalData is the BasicAdditionalData implementation for SQLServerVulnerabilityProperties. +func (ssvp SQLServerVulnerabilityProperties) AsBasicAdditionalData() (BasicAdditionalData, bool) { + return &ssvp, true +} + +// SubAssessment security sub-assessment on a resource +type SubAssessment struct { + autorest.Response `json:"-"` + *SubAssessmentProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource Id + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for SubAssessment. +func (sa SubAssessment) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if sa.SubAssessmentProperties != nil { + objectMap["properties"] = sa.SubAssessmentProperties + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for SubAssessment struct. +func (sa *SubAssessment) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var subAssessmentProperties SubAssessmentProperties + err = json.Unmarshal(*v, &subAssessmentProperties) + if err != nil { + return err + } + sa.SubAssessmentProperties = &subAssessmentProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + sa.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + sa.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + sa.Type = &typeVar + } + } + } + + return nil +} + +// SubAssessmentList list of security sub-assessments +type SubAssessmentList struct { + autorest.Response `json:"-"` + // Value - READ-ONLY + Value *[]SubAssessment `json:"value,omitempty"` + // NextLink - READ-ONLY; The URI to fetch the next page. + NextLink *string `json:"nextLink,omitempty"` +} + +// SubAssessmentListIterator provides access to a complete listing of SubAssessment values. +type SubAssessmentListIterator struct { + i int + page SubAssessmentListPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *SubAssessmentListIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SubAssessmentListIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *SubAssessmentListIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter SubAssessmentListIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter SubAssessmentListIterator) Response() SubAssessmentList { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter SubAssessmentListIterator) Value() SubAssessment { + if !iter.page.NotDone() { + return SubAssessment{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the SubAssessmentListIterator type. +func NewSubAssessmentListIterator(page SubAssessmentListPage) SubAssessmentListIterator { + return SubAssessmentListIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (sal SubAssessmentList) IsEmpty() bool { + return sal.Value == nil || len(*sal.Value) == 0 +} + +// subAssessmentListPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (sal SubAssessmentList) subAssessmentListPreparer(ctx context.Context) (*http.Request, error) { + if sal.NextLink == nil || len(to.String(sal.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(sal.NextLink))) +} + +// SubAssessmentListPage contains a page of SubAssessment values. +type SubAssessmentListPage struct { + fn func(context.Context, SubAssessmentList) (SubAssessmentList, error) + sal SubAssessmentList +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *SubAssessmentListPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SubAssessmentListPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.sal) + if err != nil { + return err + } + page.sal = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *SubAssessmentListPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page SubAssessmentListPage) NotDone() bool { + return !page.sal.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page SubAssessmentListPage) Response() SubAssessmentList { + return page.sal +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page SubAssessmentListPage) Values() []SubAssessment { + if page.sal.IsEmpty() { + return nil + } + return *page.sal.Value +} + +// Creates a new instance of the SubAssessmentListPage type. +func NewSubAssessmentListPage(getNextPage func(context.Context, SubAssessmentList) (SubAssessmentList, error)) SubAssessmentListPage { + return SubAssessmentListPage{fn: getNextPage} +} + +// SubAssessmentProperties describes properties of an sub-assessment. +type SubAssessmentProperties struct { + // ID - READ-ONLY; Vulnerability ID + ID *string `json:"id,omitempty"` + // DisplayName - READ-ONLY; User friendly display name of the sub-assessment + DisplayName *string `json:"displayName,omitempty"` + Status *SubAssessmentStatus `json:"status,omitempty"` + // Remediation - READ-ONLY; Information on how to remediate this sub-assessment + Remediation *string `json:"remediation,omitempty"` + // Impact - READ-ONLY; Description of the impact of this sub-assessment + Impact *string `json:"impact,omitempty"` + // Category - READ-ONLY; Category of the sub-assessment + Category *string `json:"category,omitempty"` + // Description - READ-ONLY; Human readable description of the assessment status + Description *string `json:"description,omitempty"` + // TimeGenerated - READ-ONLY; The date and time the sub-assessment was generated + TimeGenerated *date.Time `json:"timeGenerated,omitempty"` + ResourceDetails BasicResourceDetails `json:"resourceDetails,omitempty"` + AdditionalData BasicAdditionalData `json:"additionalData,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for SubAssessmentProperties struct. +func (sap *SubAssessmentProperties) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + sap.ID = &ID + } + case "displayName": + if v != nil { + var displayName string + err = json.Unmarshal(*v, &displayName) + if err != nil { + return err + } + sap.DisplayName = &displayName + } + case "status": + if v != nil { + var status SubAssessmentStatus + err = json.Unmarshal(*v, &status) + if err != nil { + return err + } + sap.Status = &status + } + case "remediation": + if v != nil { + var remediation string + err = json.Unmarshal(*v, &remediation) + if err != nil { + return err + } + sap.Remediation = &remediation + } + case "impact": + if v != nil { + var impact string + err = json.Unmarshal(*v, &impact) + if err != nil { + return err + } + sap.Impact = &impact + } + case "category": + if v != nil { + var category string + err = json.Unmarshal(*v, &category) + if err != nil { + return err + } + sap.Category = &category + } + case "description": + if v != nil { + var description string + err = json.Unmarshal(*v, &description) + if err != nil { + return err + } + sap.Description = &description + } + case "timeGenerated": + if v != nil { + var timeGenerated date.Time + err = json.Unmarshal(*v, &timeGenerated) + if err != nil { + return err + } + sap.TimeGenerated = &timeGenerated + } + case "resourceDetails": + if v != nil { + resourceDetails, err := unmarshalBasicResourceDetails(*v) + if err != nil { + return err + } + sap.ResourceDetails = resourceDetails + } + case "additionalData": + if v != nil { + additionalData, err := unmarshalBasicAdditionalData(*v) + if err != nil { + return err + } + sap.AdditionalData = additionalData + } + } + } + + return nil +} + +// SubAssessmentStatus status of the sub-assessment +type SubAssessmentStatus struct { + // Code - READ-ONLY; Programmatic code for the status of the assessment. Possible values include: 'SubAssessmentStatusCodeHealthy', 'SubAssessmentStatusCodeUnhealthy', 'SubAssessmentStatusCodeNotApplicable' + Code SubAssessmentStatusCode `json:"code,omitempty"` + // Cause - READ-ONLY; Programmatic code for the cause of the assessment status + Cause *string `json:"cause,omitempty"` + // Description - READ-ONLY; Human readable description of the assessment status + Description *string `json:"description,omitempty"` + // Severity - READ-ONLY; The sub-assessment severity level. Possible values include: 'SeverityLow', 'SeverityMedium', 'SeverityHigh' + Severity Severity `json:"severity,omitempty"` +} + // TagsResource a container holding only the Tags for a resource, allowing the user to update the tags. type TagsResource struct { // Tags - Resource tags @@ -6875,6 +8118,42 @@ type TaskProperties struct { SubState *string `json:"subState,omitempty"` } +// ThresholdCustomAlertRule a custom alert rule that checks if a value (depends on the custom alert type) +// is within the given range. +type ThresholdCustomAlertRule struct { + // MinThreshold - The minimum threshold. + MinThreshold *int32 `json:"minThreshold,omitempty"` + // MaxThreshold - The maximum threshold. + MaxThreshold *int32 `json:"maxThreshold,omitempty"` + // DisplayName - READ-ONLY; The display name of the custom alert. + DisplayName *string `json:"displayName,omitempty"` + // Description - READ-ONLY; The description of the custom alert. + Description *string `json:"description,omitempty"` + // IsEnabled - Status of the custom alert. + IsEnabled *bool `json:"isEnabled,omitempty"` + // RuleType - The type of the custom alert rule. + RuleType *string `json:"ruleType,omitempty"` +} + +// TimeWindowCustomAlertRule a custom alert rule that checks if the number of activities (depends on the +// custom alert type) in a time window is within the given range. +type TimeWindowCustomAlertRule struct { + // TimeWindowSize - The time window size in iso8601 format. + TimeWindowSize *string `json:"timeWindowSize,omitempty"` + // MinThreshold - The minimum threshold. + MinThreshold *int32 `json:"minThreshold,omitempty"` + // MaxThreshold - The maximum threshold. + MaxThreshold *int32 `json:"maxThreshold,omitempty"` + // DisplayName - READ-ONLY; The display name of the custom alert. + DisplayName *string `json:"displayName,omitempty"` + // Description - READ-ONLY; The description of the custom alert. + Description *string `json:"description,omitempty"` + // IsEnabled - Status of the custom alert. + IsEnabled *bool `json:"isEnabled,omitempty"` + // RuleType - The type of the custom alert rule. + RuleType *string `json:"ruleType,omitempty"` +} + // TopologyList ... type TopologyList struct { autorest.Response `json:"-"` @@ -7144,8 +8423,8 @@ type TopologySingleResourceParent struct { // UpdateIotSecuritySolutionData ... type UpdateIotSecuritySolutionData struct { - UserDefinedResources *UserDefinedResourcesProperties `json:"userDefinedResources,omitempty"` - RecommendationsConfiguration *[]RecommendationConfigurationProperties `json:"recommendationsConfiguration,omitempty"` + // UpdateIoTSecuritySolutionProperties - Security Solution data + *UpdateIoTSecuritySolutionProperties `json:"properties,omitempty"` // Tags - Resource tags Tags map[string]*string `json:"tags"` } @@ -7153,11 +8432,8 @@ type UpdateIotSecuritySolutionData struct { // MarshalJSON is the custom marshaler for UpdateIotSecuritySolutionData. func (uissd UpdateIotSecuritySolutionData) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) - if uissd.UserDefinedResources != nil { - objectMap["userDefinedResources"] = uissd.UserDefinedResources - } - if uissd.RecommendationsConfiguration != nil { - objectMap["recommendationsConfiguration"] = uissd.RecommendationsConfiguration + if uissd.UpdateIoTSecuritySolutionProperties != nil { + objectMap["properties"] = uissd.UpdateIoTSecuritySolutionProperties } if uissd.Tags != nil { objectMap["tags"] = uissd.Tags @@ -7165,7 +8441,46 @@ func (uissd UpdateIotSecuritySolutionData) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } -// UserDefinedResourcesProperties properties of the solution's user defined resources. +// UnmarshalJSON is the custom unmarshaler for UpdateIotSecuritySolutionData struct. +func (uissd *UpdateIotSecuritySolutionData) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var updateIoTSecuritySolutionProperties UpdateIoTSecuritySolutionProperties + err = json.Unmarshal(*v, &updateIoTSecuritySolutionProperties) + if err != nil { + return err + } + uissd.UpdateIoTSecuritySolutionProperties = &updateIoTSecuritySolutionProperties + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + uissd.Tags = tags + } + } + } + + return nil +} + +// UpdateIoTSecuritySolutionProperties update Security Solution setting data +type UpdateIoTSecuritySolutionProperties struct { + UserDefinedResources *UserDefinedResourcesProperties `json:"userDefinedResources,omitempty"` + RecommendationsConfiguration *[]RecommendationConfigurationProperties `json:"recommendationsConfiguration,omitempty"` +} + +// UserDefinedResourcesProperties properties of the IoT Security solution's user defined resources. type UserDefinedResourcesProperties struct { // Query - Azure Resource Graph query which represents the security solution's user defined resources. Required to start with "where type != "Microsoft.Devices/IotHubs"" Query *string `json:"query,omitempty"` @@ -7181,6 +8496,14 @@ type UserRecommendation struct { RecommendationAction RecommendationAction1 `json:"recommendationAction,omitempty"` } +// VendorReference vendor reference +type VendorReference struct { + // Title - READ-ONLY; Link title + Title *string `json:"title,omitempty"` + // Link - READ-ONLY; Link url + Link *string `json:"link,omitempty"` +} + // VMRecommendation represents a machine that is part of a VM/server group type VMRecommendation struct { // ConfigurationStatus - Possible values include: 'Configured', 'NotConfigured', 'InProgress', 'Failed', 'NoStatus' diff --git a/services/preview/security/mgmt/v3.0/security/securityapi/interfaces.go b/services/preview/security/mgmt/v3.0/security/securityapi/interfaces.go index c795ece3011d..3b70713dc7cb 100644 --- a/services/preview/security/mgmt/v3.0/security/securityapi/interfaces.go +++ b/services/preview/security/mgmt/v3.0/security/securityapi/interfaces.go @@ -63,66 +63,52 @@ type SettingsClientAPI interface { var _ SettingsClientAPI = (*security.SettingsClient)(nil) -// IoTSecuritySolutionsClientAPI contains the set of methods on the IoTSecuritySolutionsClient type. -type IoTSecuritySolutionsClientAPI interface { - List(ctx context.Context, filter string) (result security.IoTSecuritySolutionsListPage, err error) +// DeviceSecurityGroupsClientAPI contains the set of methods on the DeviceSecurityGroupsClient type. +type DeviceSecurityGroupsClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceID string, deviceSecurityGroupName string, deviceSecurityGroup security.DeviceSecurityGroup) (result security.DeviceSecurityGroup, err error) + Delete(ctx context.Context, resourceID string, deviceSecurityGroupName string) (result autorest.Response, err error) + Get(ctx context.Context, resourceID string, deviceSecurityGroupName string) (result security.DeviceSecurityGroup, err error) + List(ctx context.Context, resourceID string) (result security.DeviceSecurityGroupListPage, err error) } -var _ IoTSecuritySolutionsClientAPI = (*security.IoTSecuritySolutionsClient)(nil) - -// IoTSecuritySolutionsResourceGroupClientAPI contains the set of methods on the IoTSecuritySolutionsResourceGroupClient type. -type IoTSecuritySolutionsResourceGroupClientAPI interface { - List(ctx context.Context, resourceGroupName string, filter string) (result security.IoTSecuritySolutionsListPage, err error) -} - -var _ IoTSecuritySolutionsResourceGroupClientAPI = (*security.IoTSecuritySolutionsResourceGroupClient)(nil) +var _ DeviceSecurityGroupsClientAPI = (*security.DeviceSecurityGroupsClient)(nil) // IotSecuritySolutionClientAPI contains the set of methods on the IotSecuritySolutionClient type. type IotSecuritySolutionClientAPI interface { - Create(ctx context.Context, resourceGroupName string, solutionName string, iotSecuritySolutionData security.IoTSecuritySolutionModel) (result security.IoTSecuritySolutionModel, err error) + CreateOrUpdate(ctx context.Context, resourceGroupName string, solutionName string, iotSecuritySolutionData security.IoTSecuritySolutionModel) (result security.IoTSecuritySolutionModel, err error) Delete(ctx context.Context, resourceGroupName string, solutionName string) (result autorest.Response, err error) Get(ctx context.Context, resourceGroupName string, solutionName string) (result security.IoTSecuritySolutionModel, err error) + ListByResourceGroup(ctx context.Context, resourceGroupName string, filter string) (result security.IoTSecuritySolutionsListPage, err error) + ListBySubscription(ctx context.Context, filter string) (result security.IoTSecuritySolutionsListPage, err error) Update(ctx context.Context, resourceGroupName string, solutionName string, updateIotSecuritySolutionData security.UpdateIotSecuritySolutionData) (result security.IoTSecuritySolutionModel, err error) } var _ IotSecuritySolutionClientAPI = (*security.IotSecuritySolutionClient)(nil) -// IoTSecuritySolutionsAnalyticsClientAPI contains the set of methods on the IoTSecuritySolutionsAnalyticsClient type. -type IoTSecuritySolutionsAnalyticsClientAPI interface { - GetAll(ctx context.Context, resourceGroupName string, solutionName string) (result security.IoTSecuritySolutionAnalyticsModelList, err error) - GetDefault(ctx context.Context, resourceGroupName string, solutionName string) (result security.IoTSecuritySolutionAnalyticsModel, err error) -} - -var _ IoTSecuritySolutionsAnalyticsClientAPI = (*security.IoTSecuritySolutionsAnalyticsClient)(nil) - -// IoTSecuritySolutionsAnalyticsAggregatedAlertsClientAPI contains the set of methods on the IoTSecuritySolutionsAnalyticsAggregatedAlertsClient type. -type IoTSecuritySolutionsAnalyticsAggregatedAlertsClientAPI interface { - List(ctx context.Context, resourceGroupName string, solutionName string, top *int32) (result security.IoTSecurityAggregatedAlertListPage, err error) +// IotSecuritySolutionAnalyticsClientAPI contains the set of methods on the IotSecuritySolutionAnalyticsClient type. +type IotSecuritySolutionAnalyticsClientAPI interface { + Get(ctx context.Context, resourceGroupName string, solutionName string) (result security.IoTSecuritySolutionAnalyticsModel, err error) + List(ctx context.Context, resourceGroupName string, solutionName string) (result security.IoTSecuritySolutionAnalyticsModelList, err error) } -var _ IoTSecuritySolutionsAnalyticsAggregatedAlertsClientAPI = (*security.IoTSecuritySolutionsAnalyticsAggregatedAlertsClient)(nil) +var _ IotSecuritySolutionAnalyticsClientAPI = (*security.IotSecuritySolutionAnalyticsClient)(nil) -// IoTSecuritySolutionsAnalyticsAggregatedAlertClientAPI contains the set of methods on the IoTSecuritySolutionsAnalyticsAggregatedAlertClient type. -type IoTSecuritySolutionsAnalyticsAggregatedAlertClientAPI interface { +// IotSecuritySolutionsAnalyticsAggregatedAlertClientAPI contains the set of methods on the IotSecuritySolutionsAnalyticsAggregatedAlertClient type. +type IotSecuritySolutionsAnalyticsAggregatedAlertClientAPI interface { Dismiss(ctx context.Context, resourceGroupName string, solutionName string, aggregatedAlertName string) (result autorest.Response, err error) Get(ctx context.Context, resourceGroupName string, solutionName string, aggregatedAlertName string) (result security.IoTSecurityAggregatedAlert, err error) + List(ctx context.Context, resourceGroupName string, solutionName string, top *int32) (result security.IoTSecurityAggregatedAlertListPage, err error) } -var _ IoTSecuritySolutionsAnalyticsAggregatedAlertClientAPI = (*security.IoTSecuritySolutionsAnalyticsAggregatedAlertClient)(nil) +var _ IotSecuritySolutionsAnalyticsAggregatedAlertClientAPI = (*security.IotSecuritySolutionsAnalyticsAggregatedAlertClient)(nil) -// IoTSecuritySolutionsAnalyticsRecommendationClientAPI contains the set of methods on the IoTSecuritySolutionsAnalyticsRecommendationClient type. -type IoTSecuritySolutionsAnalyticsRecommendationClientAPI interface { +// IotSecuritySolutionsAnalyticsRecommendationClientAPI contains the set of methods on the IotSecuritySolutionsAnalyticsRecommendationClient type. +type IotSecuritySolutionsAnalyticsRecommendationClientAPI interface { Get(ctx context.Context, resourceGroupName string, solutionName string, aggregatedRecommendationName string) (result security.IoTSecurityAggregatedRecommendation, err error) -} - -var _ IoTSecuritySolutionsAnalyticsRecommendationClientAPI = (*security.IoTSecuritySolutionsAnalyticsRecommendationClient)(nil) - -// IoTSecuritySolutionsAnalyticsRecommendationsClientAPI contains the set of methods on the IoTSecuritySolutionsAnalyticsRecommendationsClient type. -type IoTSecuritySolutionsAnalyticsRecommendationsClientAPI interface { List(ctx context.Context, resourceGroupName string, solutionName string, top *int32) (result security.IoTSecurityAggregatedRecommendationListPage, err error) } -var _ IoTSecuritySolutionsAnalyticsRecommendationsClientAPI = (*security.IoTSecuritySolutionsAnalyticsRecommendationsClient)(nil) +var _ IotSecuritySolutionsAnalyticsRecommendationClientAPI = (*security.IotSecuritySolutionsAnalyticsRecommendationClient)(nil) // AllowedConnectionsClientAPI contains the set of methods on the AllowedConnectionsClient type. type AllowedConnectionsClientAPI interface { @@ -300,3 +286,12 @@ type ServerVulnerabilityAssessmentClientAPI interface { } var _ ServerVulnerabilityAssessmentClientAPI = (*security.ServerVulnerabilityAssessmentClient)(nil) + +// SubAssessmentsClientAPI contains the set of methods on the SubAssessmentsClient type. +type SubAssessmentsClientAPI interface { + Get(ctx context.Context, scope string, assessmentName string, subAssessmentName string) (result security.SubAssessment, err error) + List(ctx context.Context, scope string, assessmentName string) (result security.SubAssessmentListPage, err error) + ListAll(ctx context.Context, scope string) (result security.SubAssessmentListPage, err error) +} + +var _ SubAssessmentsClientAPI = (*security.SubAssessmentsClient)(nil) diff --git a/services/preview/security/mgmt/v3.0/security/subassessments.go b/services/preview/security/mgmt/v3.0/security/subassessments.go new file mode 100644 index 000000000000..4fa19d8e398d --- /dev/null +++ b/services/preview/security/mgmt/v3.0/security/subassessments.go @@ -0,0 +1,348 @@ +package security + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// SubAssessmentsClient is the API spec for Microsoft.Security (Azure Security Center) resource provider +type SubAssessmentsClient struct { + BaseClient +} + +// NewSubAssessmentsClient creates an instance of the SubAssessmentsClient client. +func NewSubAssessmentsClient(subscriptionID string, ascLocation string) SubAssessmentsClient { + return NewSubAssessmentsClientWithBaseURI(DefaultBaseURI, subscriptionID, ascLocation) +} + +// NewSubAssessmentsClientWithBaseURI creates an instance of the SubAssessmentsClient client. +func NewSubAssessmentsClientWithBaseURI(baseURI string, subscriptionID string, ascLocation string) SubAssessmentsClient { + return SubAssessmentsClient{NewWithBaseURI(baseURI, subscriptionID, ascLocation)} +} + +// Get get a security sub-assessment on your scanned resource +// Parameters: +// scope - scope of the query, can be subscription (/subscriptions/0b06d9ea-afe6-4779-bd59-30e5c2d9d13f) or +// management group (/providers/Microsoft.Management/managementGroups/mgName). +// assessmentName - the Assessment Key - Unique key for the assessment type +// subAssessmentName - the Sub-Assessment Key - Unique key for the sub-assessment type +func (client SubAssessmentsClient) Get(ctx context.Context, scope string, assessmentName string, subAssessmentName string) (result SubAssessment, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SubAssessmentsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, scope, assessmentName, subAssessmentName) + if err != nil { + err = autorest.NewErrorWithError(err, "security.SubAssessmentsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "security.SubAssessmentsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "security.SubAssessmentsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client SubAssessmentsClient) GetPreparer(ctx context.Context, scope string, assessmentName string, subAssessmentName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "assessmentName": autorest.Encode("path", assessmentName), + "scope": autorest.Encode("path", scope), + "subAssessmentName": autorest.Encode("path", subAssessmentName), + } + + const APIVersion = "2019-01-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/{scope}/providers/Microsoft.Security/assessments/{assessmentName}/subAssessments/{subAssessmentName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client SubAssessmentsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client SubAssessmentsClient) GetResponder(resp *http.Response) (result SubAssessment, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List get security sub-assessments on all your scanned resources inside a scope +// Parameters: +// scope - scope of the query, can be subscription (/subscriptions/0b06d9ea-afe6-4779-bd59-30e5c2d9d13f) or +// management group (/providers/Microsoft.Management/managementGroups/mgName). +// assessmentName - the Assessment Key - Unique key for the assessment type +func (client SubAssessmentsClient) List(ctx context.Context, scope string, assessmentName string) (result SubAssessmentListPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SubAssessmentsClient.List") + defer func() { + sc := -1 + if result.sal.Response.Response != nil { + sc = result.sal.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, scope, assessmentName) + if err != nil { + err = autorest.NewErrorWithError(err, "security.SubAssessmentsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.sal.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "security.SubAssessmentsClient", "List", resp, "Failure sending request") + return + } + + result.sal, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "security.SubAssessmentsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client SubAssessmentsClient) ListPreparer(ctx context.Context, scope string, assessmentName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "assessmentName": autorest.Encode("path", assessmentName), + "scope": autorest.Encode("path", scope), + } + + const APIVersion = "2019-01-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/{scope}/providers/Microsoft.Security/assessments/{assessmentName}/subAssessments", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client SubAssessmentsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client SubAssessmentsClient) ListResponder(resp *http.Response) (result SubAssessmentList, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client SubAssessmentsClient) listNextResults(ctx context.Context, lastResults SubAssessmentList) (result SubAssessmentList, err error) { + req, err := lastResults.subAssessmentListPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "security.SubAssessmentsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "security.SubAssessmentsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "security.SubAssessmentsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client SubAssessmentsClient) ListComplete(ctx context.Context, scope string, assessmentName string) (result SubAssessmentListIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SubAssessmentsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, scope, assessmentName) + return +} + +// ListAll get security sub-assessments on all your scanned resources inside a subscription scope +// Parameters: +// scope - scope of the query, can be subscription (/subscriptions/0b06d9ea-afe6-4779-bd59-30e5c2d9d13f) or +// management group (/providers/Microsoft.Management/managementGroups/mgName). +func (client SubAssessmentsClient) ListAll(ctx context.Context, scope string) (result SubAssessmentListPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SubAssessmentsClient.ListAll") + defer func() { + sc := -1 + if result.sal.Response.Response != nil { + sc = result.sal.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listAllNextResults + req, err := client.ListAllPreparer(ctx, scope) + if err != nil { + err = autorest.NewErrorWithError(err, "security.SubAssessmentsClient", "ListAll", nil, "Failure preparing request") + return + } + + resp, err := client.ListAllSender(req) + if err != nil { + result.sal.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "security.SubAssessmentsClient", "ListAll", resp, "Failure sending request") + return + } + + result.sal, err = client.ListAllResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "security.SubAssessmentsClient", "ListAll", resp, "Failure responding to request") + } + + return +} + +// ListAllPreparer prepares the ListAll request. +func (client SubAssessmentsClient) ListAllPreparer(ctx context.Context, scope string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "scope": autorest.Encode("path", scope), + } + + const APIVersion = "2019-01-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/{scope}/providers/Microsoft.Security/subAssessments", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListAllSender sends the ListAll request. The method will close the +// http.Response Body if it receives an error. +func (client SubAssessmentsClient) ListAllSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListAllResponder handles the response to the ListAll request. The method always +// closes the http.Response Body. +func (client SubAssessmentsClient) ListAllResponder(resp *http.Response) (result SubAssessmentList, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listAllNextResults retrieves the next set of results, if any. +func (client SubAssessmentsClient) listAllNextResults(ctx context.Context, lastResults SubAssessmentList) (result SubAssessmentList, err error) { + req, err := lastResults.subAssessmentListPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "security.SubAssessmentsClient", "listAllNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListAllSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "security.SubAssessmentsClient", "listAllNextResults", resp, "Failure sending next results request") + } + result, err = client.ListAllResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "security.SubAssessmentsClient", "listAllNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListAllComplete enumerates all values, automatically crossing page boundaries as required. +func (client SubAssessmentsClient) ListAllComplete(ctx context.Context, scope string) (result SubAssessmentListIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SubAssessmentsClient.ListAll") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListAll(ctx, scope) + return +} diff --git a/services/preview/securityinsight/mgmt/2017-08-01-preview/securityinsight/alertrules.go b/services/preview/securityinsight/mgmt/2017-08-01-preview/securityinsight/alertrules.go index a71925e078ea..b63ac2177cbe 100644 --- a/services/preview/securityinsight/mgmt/2017-08-01-preview/securityinsight/alertrules.go +++ b/services/preview/securityinsight/mgmt/2017-08-01-preview/securityinsight/alertrules.go @@ -150,7 +150,7 @@ func (client AlertRulesClient) CreateOrUpdateResponder(resp *http.Response) (res // ruleID - alert rule ID // actionID - action ID // action - the action -func (client AlertRulesClient) CreateOrUpdateAction(ctx context.Context, resourceGroupName string, operationalInsightsResourceProvider string, workspaceName string, ruleID string, actionID string, action Action) (result Action, err error) { +func (client AlertRulesClient) CreateOrUpdateAction(ctx context.Context, resourceGroupName string, operationalInsightsResourceProvider string, workspaceName string, ruleID string, actionID string, action ActionRequest) (result ActionResponse, err error) { if tracing.IsEnabled() { ctx = tracing.StartSpan(ctx, fqdn+"/AlertRulesClient.CreateOrUpdateAction") defer func() { @@ -196,7 +196,7 @@ func (client AlertRulesClient) CreateOrUpdateAction(ctx context.Context, resourc } // CreateOrUpdateActionPreparer prepares the CreateOrUpdateAction request. -func (client AlertRulesClient) CreateOrUpdateActionPreparer(ctx context.Context, resourceGroupName string, operationalInsightsResourceProvider string, workspaceName string, ruleID string, actionID string, action Action) (*http.Request, error) { +func (client AlertRulesClient) CreateOrUpdateActionPreparer(ctx context.Context, resourceGroupName string, operationalInsightsResourceProvider string, workspaceName string, ruleID string, actionID string, action ActionRequest) (*http.Request, error) { pathParameters := map[string]interface{}{ "actionId": autorest.Encode("path", actionID), "operationalInsightsResourceProvider": autorest.Encode("path", operationalInsightsResourceProvider), @@ -230,7 +230,7 @@ func (client AlertRulesClient) CreateOrUpdateActionSender(req *http.Request) (*h // CreateOrUpdateActionResponder handles the response to the CreateOrUpdateAction request. The method always // closes the http.Response Body. -func (client AlertRulesClient) CreateOrUpdateActionResponder(resp *http.Response) (result Action, err error) { +func (client AlertRulesClient) CreateOrUpdateActionResponder(resp *http.Response) (result ActionResponse, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -538,7 +538,7 @@ func (client AlertRulesClient) GetResponder(resp *http.Response) (result AlertRu // workspaceName - the name of the workspace. // ruleID - alert rule ID // actionID - action ID -func (client AlertRulesClient) GetAction(ctx context.Context, resourceGroupName string, operationalInsightsResourceProvider string, workspaceName string, ruleID string, actionID string) (result Action, err error) { +func (client AlertRulesClient) GetAction(ctx context.Context, resourceGroupName string, operationalInsightsResourceProvider string, workspaceName string, ruleID string, actionID string) (result ActionResponse, err error) { if tracing.IsEnabled() { ctx = tracing.StartSpan(ctx, fqdn+"/AlertRulesClient.GetAction") defer func() { @@ -616,7 +616,7 @@ func (client AlertRulesClient) GetActionSender(req *http.Request) (*http.Respons // GetActionResponder handles the response to the GetAction request. The method always // closes the http.Response Body. -func (client AlertRulesClient) GetActionResponder(resp *http.Response) (result Action, err error) { +func (client AlertRulesClient) GetActionResponder(resp *http.Response) (result ActionResponse, err error) { err = autorest.Respond( resp, client.ByInspecting(), diff --git a/services/preview/securityinsight/mgmt/2017-08-01-preview/securityinsight/alertruletemplates.go b/services/preview/securityinsight/mgmt/2017-08-01-preview/securityinsight/alertruletemplates.go new file mode 100644 index 000000000000..c9d00301a65b --- /dev/null +++ b/services/preview/securityinsight/mgmt/2017-08-01-preview/securityinsight/alertruletemplates.go @@ -0,0 +1,270 @@ +package securityinsight + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// AlertRuleTemplatesClient is the API spec for Microsoft.SecurityInsights (Azure Security Insights) resource provider +type AlertRuleTemplatesClient struct { + BaseClient +} + +// NewAlertRuleTemplatesClient creates an instance of the AlertRuleTemplatesClient client. +func NewAlertRuleTemplatesClient(subscriptionID string) AlertRuleTemplatesClient { + return NewAlertRuleTemplatesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewAlertRuleTemplatesClientWithBaseURI creates an instance of the AlertRuleTemplatesClient client. +func NewAlertRuleTemplatesClientWithBaseURI(baseURI string, subscriptionID string) AlertRuleTemplatesClient { + return AlertRuleTemplatesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// Get gets the alert rule template. +// Parameters: +// resourceGroupName - the name of the resource group within the user's subscription. The name is case +// insensitive. +// operationalInsightsResourceProvider - the namespace of workspaces resource provider- +// Microsoft.OperationalInsights. +// workspaceName - the name of the workspace. +// alertRuleTemplateID - alert rule template ID +func (client AlertRuleTemplatesClient) Get(ctx context.Context, resourceGroupName string, operationalInsightsResourceProvider string, workspaceName string, alertRuleTemplateID string) (result AlertRuleTemplateModel, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AlertRuleTemplatesClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: client.SubscriptionID, + Constraints: []validation.Constraint{{Target: "client.SubscriptionID", Name: validation.Pattern, Rule: `^[0-9A-Fa-f]{8}-([0-9A-Fa-f]{4}-){3}[0-9A-Fa-f]{12}$`, Chain: nil}}}, + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}, + {TargetValue: workspaceName, + Constraints: []validation.Constraint{{Target: "workspaceName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "workspaceName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { + return result, validation.NewError("securityinsight.AlertRuleTemplatesClient", "Get", err.Error()) + } + + req, err := client.GetPreparer(ctx, resourceGroupName, operationalInsightsResourceProvider, workspaceName, alertRuleTemplateID) + if err != nil { + err = autorest.NewErrorWithError(err, "securityinsight.AlertRuleTemplatesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "securityinsight.AlertRuleTemplatesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "securityinsight.AlertRuleTemplatesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client AlertRuleTemplatesClient) GetPreparer(ctx context.Context, resourceGroupName string, operationalInsightsResourceProvider string, workspaceName string, alertRuleTemplateID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "alertRuleTemplateId": autorest.Encode("path", alertRuleTemplateID), + "operationalInsightsResourceProvider": autorest.Encode("path", operationalInsightsResourceProvider), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "workspaceName": autorest.Encode("path", workspaceName), + } + + const APIVersion = "2019-01-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{operationalInsightsResourceProvider}/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/alertRuleTemplates/{alertRuleTemplateId}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client AlertRuleTemplatesClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client AlertRuleTemplatesClient) GetResponder(resp *http.Response) (result AlertRuleTemplateModel, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets all alert rule templates. +// Parameters: +// resourceGroupName - the name of the resource group within the user's subscription. The name is case +// insensitive. +// operationalInsightsResourceProvider - the namespace of workspaces resource provider- +// Microsoft.OperationalInsights. +// workspaceName - the name of the workspace. +func (client AlertRuleTemplatesClient) List(ctx context.Context, resourceGroupName string, operationalInsightsResourceProvider string, workspaceName string) (result AlertRuleTemplatesListPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AlertRuleTemplatesClient.List") + defer func() { + sc := -1 + if result.artl.Response.Response != nil { + sc = result.artl.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: client.SubscriptionID, + Constraints: []validation.Constraint{{Target: "client.SubscriptionID", Name: validation.Pattern, Rule: `^[0-9A-Fa-f]{8}-([0-9A-Fa-f]{4}-){3}[0-9A-Fa-f]{12}$`, Chain: nil}}}, + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}, + {TargetValue: workspaceName, + Constraints: []validation.Constraint{{Target: "workspaceName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "workspaceName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { + return result, validation.NewError("securityinsight.AlertRuleTemplatesClient", "List", err.Error()) + } + + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName, operationalInsightsResourceProvider, workspaceName) + if err != nil { + err = autorest.NewErrorWithError(err, "securityinsight.AlertRuleTemplatesClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.artl.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "securityinsight.AlertRuleTemplatesClient", "List", resp, "Failure sending request") + return + } + + result.artl, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "securityinsight.AlertRuleTemplatesClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client AlertRuleTemplatesClient) ListPreparer(ctx context.Context, resourceGroupName string, operationalInsightsResourceProvider string, workspaceName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "operationalInsightsResourceProvider": autorest.Encode("path", operationalInsightsResourceProvider), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "workspaceName": autorest.Encode("path", workspaceName), + } + + const APIVersion = "2019-01-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{operationalInsightsResourceProvider}/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/alertRuleTemplates", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client AlertRuleTemplatesClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client AlertRuleTemplatesClient) ListResponder(resp *http.Response) (result AlertRuleTemplatesList, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client AlertRuleTemplatesClient) listNextResults(ctx context.Context, lastResults AlertRuleTemplatesList) (result AlertRuleTemplatesList, err error) { + req, err := lastResults.alertRuleTemplatesListPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "securityinsight.AlertRuleTemplatesClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "securityinsight.AlertRuleTemplatesClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "securityinsight.AlertRuleTemplatesClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client AlertRuleTemplatesClient) ListComplete(ctx context.Context, resourceGroupName string, operationalInsightsResourceProvider string, workspaceName string) (result AlertRuleTemplatesListIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AlertRuleTemplatesClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName, operationalInsightsResourceProvider, workspaceName) + return +} diff --git a/services/preview/securityinsight/mgmt/2017-08-01-preview/securityinsight/bookmarkrelations.go b/services/preview/securityinsight/mgmt/2017-08-01-preview/securityinsight/bookmarkrelations.go new file mode 100644 index 000000000000..ffd332f7403e --- /dev/null +++ b/services/preview/securityinsight/mgmt/2017-08-01-preview/securityinsight/bookmarkrelations.go @@ -0,0 +1,490 @@ +package securityinsight + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// BookmarkRelationsClient is the API spec for Microsoft.SecurityInsights (Azure Security Insights) resource provider +type BookmarkRelationsClient struct { + BaseClient +} + +// NewBookmarkRelationsClient creates an instance of the BookmarkRelationsClient client. +func NewBookmarkRelationsClient(subscriptionID string) BookmarkRelationsClient { + return NewBookmarkRelationsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewBookmarkRelationsClientWithBaseURI creates an instance of the BookmarkRelationsClient client. +func NewBookmarkRelationsClientWithBaseURI(baseURI string, subscriptionID string) BookmarkRelationsClient { + return BookmarkRelationsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdateRelation creates the bookmark relation. +// Parameters: +// resourceGroupName - the name of the resource group within the user's subscription. The name is case +// insensitive. +// operationalInsightsResourceProvider - the namespace of workspaces resource provider- +// Microsoft.OperationalInsights. +// workspaceName - the name of the workspace. +// bookmarkID - bookmark ID +// relationName - relation Name +// relationInputModel - the relation input model +func (client BookmarkRelationsClient) CreateOrUpdateRelation(ctx context.Context, resourceGroupName string, operationalInsightsResourceProvider string, workspaceName string, bookmarkID string, relationName string, relationInputModel RelationsModelInput) (result BookmarkRelation, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BookmarkRelationsClient.CreateOrUpdateRelation") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: client.SubscriptionID, + Constraints: []validation.Constraint{{Target: "client.SubscriptionID", Name: validation.Pattern, Rule: `^[0-9A-Fa-f]{8}-([0-9A-Fa-f]{4}-){3}[0-9A-Fa-f]{12}$`, Chain: nil}}}, + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}, + {TargetValue: workspaceName, + Constraints: []validation.Constraint{{Target: "workspaceName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "workspaceName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { + return result, validation.NewError("securityinsight.BookmarkRelationsClient", "CreateOrUpdateRelation", err.Error()) + } + + req, err := client.CreateOrUpdateRelationPreparer(ctx, resourceGroupName, operationalInsightsResourceProvider, workspaceName, bookmarkID, relationName, relationInputModel) + if err != nil { + err = autorest.NewErrorWithError(err, "securityinsight.BookmarkRelationsClient", "CreateOrUpdateRelation", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateRelationSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "securityinsight.BookmarkRelationsClient", "CreateOrUpdateRelation", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateRelationResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "securityinsight.BookmarkRelationsClient", "CreateOrUpdateRelation", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdateRelationPreparer prepares the CreateOrUpdateRelation request. +func (client BookmarkRelationsClient) CreateOrUpdateRelationPreparer(ctx context.Context, resourceGroupName string, operationalInsightsResourceProvider string, workspaceName string, bookmarkID string, relationName string, relationInputModel RelationsModelInput) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "bookmarkId": autorest.Encode("path", bookmarkID), + "operationalInsightsResourceProvider": autorest.Encode("path", operationalInsightsResourceProvider), + "relationName": autorest.Encode("path", relationName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "workspaceName": autorest.Encode("path", workspaceName), + } + + const APIVersion = "2019-01-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{operationalInsightsResourceProvider}/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/bookmarks/{bookmarkId}/relations/{relationName}", pathParameters), + autorest.WithJSON(relationInputModel), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateRelationSender sends the CreateOrUpdateRelation request. The method will close the +// http.Response Body if it receives an error. +func (client BookmarkRelationsClient) CreateOrUpdateRelationSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CreateOrUpdateRelationResponder handles the response to the CreateOrUpdateRelation request. The method always +// closes the http.Response Body. +func (client BookmarkRelationsClient) CreateOrUpdateRelationResponder(resp *http.Response) (result BookmarkRelation, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// DeleteRelation delete the bookmark relation. +// Parameters: +// resourceGroupName - the name of the resource group within the user's subscription. The name is case +// insensitive. +// operationalInsightsResourceProvider - the namespace of workspaces resource provider- +// Microsoft.OperationalInsights. +// workspaceName - the name of the workspace. +// bookmarkID - bookmark ID +// relationName - relation Name +func (client BookmarkRelationsClient) DeleteRelation(ctx context.Context, resourceGroupName string, operationalInsightsResourceProvider string, workspaceName string, bookmarkID string, relationName string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BookmarkRelationsClient.DeleteRelation") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: client.SubscriptionID, + Constraints: []validation.Constraint{{Target: "client.SubscriptionID", Name: validation.Pattern, Rule: `^[0-9A-Fa-f]{8}-([0-9A-Fa-f]{4}-){3}[0-9A-Fa-f]{12}$`, Chain: nil}}}, + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}, + {TargetValue: workspaceName, + Constraints: []validation.Constraint{{Target: "workspaceName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "workspaceName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { + return result, validation.NewError("securityinsight.BookmarkRelationsClient", "DeleteRelation", err.Error()) + } + + req, err := client.DeleteRelationPreparer(ctx, resourceGroupName, operationalInsightsResourceProvider, workspaceName, bookmarkID, relationName) + if err != nil { + err = autorest.NewErrorWithError(err, "securityinsight.BookmarkRelationsClient", "DeleteRelation", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteRelationSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "securityinsight.BookmarkRelationsClient", "DeleteRelation", resp, "Failure sending request") + return + } + + result, err = client.DeleteRelationResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "securityinsight.BookmarkRelationsClient", "DeleteRelation", resp, "Failure responding to request") + } + + return +} + +// DeleteRelationPreparer prepares the DeleteRelation request. +func (client BookmarkRelationsClient) DeleteRelationPreparer(ctx context.Context, resourceGroupName string, operationalInsightsResourceProvider string, workspaceName string, bookmarkID string, relationName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "bookmarkId": autorest.Encode("path", bookmarkID), + "operationalInsightsResourceProvider": autorest.Encode("path", operationalInsightsResourceProvider), + "relationName": autorest.Encode("path", relationName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "workspaceName": autorest.Encode("path", workspaceName), + } + + const APIVersion = "2019-01-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{operationalInsightsResourceProvider}/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/bookmarks/{bookmarkId}/relations/{relationName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteRelationSender sends the DeleteRelation request. The method will close the +// http.Response Body if it receives an error. +func (client BookmarkRelationsClient) DeleteRelationSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeleteRelationResponder handles the response to the DeleteRelation request. The method always +// closes the http.Response Body. +func (client BookmarkRelationsClient) DeleteRelationResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// GetRelation gets a bookmark relation. +// Parameters: +// resourceGroupName - the name of the resource group within the user's subscription. The name is case +// insensitive. +// operationalInsightsResourceProvider - the namespace of workspaces resource provider- +// Microsoft.OperationalInsights. +// workspaceName - the name of the workspace. +// bookmarkID - bookmark ID +// relationName - relation Name +func (client BookmarkRelationsClient) GetRelation(ctx context.Context, resourceGroupName string, operationalInsightsResourceProvider string, workspaceName string, bookmarkID string, relationName string) (result BookmarkRelation, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BookmarkRelationsClient.GetRelation") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: client.SubscriptionID, + Constraints: []validation.Constraint{{Target: "client.SubscriptionID", Name: validation.Pattern, Rule: `^[0-9A-Fa-f]{8}-([0-9A-Fa-f]{4}-){3}[0-9A-Fa-f]{12}$`, Chain: nil}}}, + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}, + {TargetValue: workspaceName, + Constraints: []validation.Constraint{{Target: "workspaceName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "workspaceName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { + return result, validation.NewError("securityinsight.BookmarkRelationsClient", "GetRelation", err.Error()) + } + + req, err := client.GetRelationPreparer(ctx, resourceGroupName, operationalInsightsResourceProvider, workspaceName, bookmarkID, relationName) + if err != nil { + err = autorest.NewErrorWithError(err, "securityinsight.BookmarkRelationsClient", "GetRelation", nil, "Failure preparing request") + return + } + + resp, err := client.GetRelationSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "securityinsight.BookmarkRelationsClient", "GetRelation", resp, "Failure sending request") + return + } + + result, err = client.GetRelationResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "securityinsight.BookmarkRelationsClient", "GetRelation", resp, "Failure responding to request") + } + + return +} + +// GetRelationPreparer prepares the GetRelation request. +func (client BookmarkRelationsClient) GetRelationPreparer(ctx context.Context, resourceGroupName string, operationalInsightsResourceProvider string, workspaceName string, bookmarkID string, relationName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "bookmarkId": autorest.Encode("path", bookmarkID), + "operationalInsightsResourceProvider": autorest.Encode("path", operationalInsightsResourceProvider), + "relationName": autorest.Encode("path", relationName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "workspaceName": autorest.Encode("path", workspaceName), + } + + const APIVersion = "2019-01-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{operationalInsightsResourceProvider}/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/bookmarks/{bookmarkId}/relations/{relationName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetRelationSender sends the GetRelation request. The method will close the +// http.Response Body if it receives an error. +func (client BookmarkRelationsClient) GetRelationSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetRelationResponder handles the response to the GetRelation request. The method always +// closes the http.Response Body. +func (client BookmarkRelationsClient) GetRelationResponder(resp *http.Response) (result BookmarkRelation, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets all bookmark relations. +// Parameters: +// resourceGroupName - the name of the resource group within the user's subscription. The name is case +// insensitive. +// operationalInsightsResourceProvider - the namespace of workspaces resource provider- +// Microsoft.OperationalInsights. +// workspaceName - the name of the workspace. +// bookmarkID - bookmark ID +// filter - filters the results, based on a Boolean condition. Optional. +// orderby - sorts the results. Optional. +// top - returns only the first n results. Optional. +// skipToken - skiptoken is only used if a previous operation returned a partial result. If a previous response +// contains a nextLink element, the value of the nextLink element will include a skiptoken parameter that +// specifies a starting point to use for subsequent calls. Optional. +func (client BookmarkRelationsClient) List(ctx context.Context, resourceGroupName string, operationalInsightsResourceProvider string, workspaceName string, bookmarkID string, filter string, orderby string, top *int32, skipToken string) (result BookmarkRelationListPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BookmarkRelationsClient.List") + defer func() { + sc := -1 + if result.brl.Response.Response != nil { + sc = result.brl.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: client.SubscriptionID, + Constraints: []validation.Constraint{{Target: "client.SubscriptionID", Name: validation.Pattern, Rule: `^[0-9A-Fa-f]{8}-([0-9A-Fa-f]{4}-){3}[0-9A-Fa-f]{12}$`, Chain: nil}}}, + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}, + {TargetValue: workspaceName, + Constraints: []validation.Constraint{{Target: "workspaceName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "workspaceName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { + return result, validation.NewError("securityinsight.BookmarkRelationsClient", "List", err.Error()) + } + + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName, operationalInsightsResourceProvider, workspaceName, bookmarkID, filter, orderby, top, skipToken) + if err != nil { + err = autorest.NewErrorWithError(err, "securityinsight.BookmarkRelationsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.brl.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "securityinsight.BookmarkRelationsClient", "List", resp, "Failure sending request") + return + } + + result.brl, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "securityinsight.BookmarkRelationsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client BookmarkRelationsClient) ListPreparer(ctx context.Context, resourceGroupName string, operationalInsightsResourceProvider string, workspaceName string, bookmarkID string, filter string, orderby string, top *int32, skipToken string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "bookmarkId": autorest.Encode("path", bookmarkID), + "operationalInsightsResourceProvider": autorest.Encode("path", operationalInsightsResourceProvider), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "workspaceName": autorest.Encode("path", workspaceName), + } + + const APIVersion = "2019-01-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(filter) > 0 { + queryParameters["$filter"] = autorest.Encode("query", filter) + } + if len(orderby) > 0 { + queryParameters["$orderby"] = autorest.Encode("query", orderby) + } + if top != nil { + queryParameters["$top"] = autorest.Encode("query", *top) + } + if len(skipToken) > 0 { + queryParameters["$skipToken"] = autorest.Encode("query", skipToken) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{operationalInsightsResourceProvider}/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/bookmarks/{bookmarkId}/relations", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client BookmarkRelationsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client BookmarkRelationsClient) ListResponder(resp *http.Response) (result BookmarkRelationList, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client BookmarkRelationsClient) listNextResults(ctx context.Context, lastResults BookmarkRelationList) (result BookmarkRelationList, err error) { + req, err := lastResults.bookmarkRelationListPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "securityinsight.BookmarkRelationsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "securityinsight.BookmarkRelationsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "securityinsight.BookmarkRelationsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client BookmarkRelationsClient) ListComplete(ctx context.Context, resourceGroupName string, operationalInsightsResourceProvider string, workspaceName string, bookmarkID string, filter string, orderby string, top *int32, skipToken string) (result BookmarkRelationListIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BookmarkRelationsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName, operationalInsightsResourceProvider, workspaceName, bookmarkID, filter, orderby, top, skipToken) + return +} diff --git a/services/preview/securityinsight/mgmt/2017-08-01-preview/securityinsight/bookmarks.go b/services/preview/securityinsight/mgmt/2017-08-01-preview/securityinsight/bookmarks.go index 6b2677e3e20f..20f8c8a83f39 100644 --- a/services/preview/securityinsight/mgmt/2017-08-01-preview/securityinsight/bookmarks.go +++ b/services/preview/securityinsight/mgmt/2017-08-01-preview/securityinsight/bookmarks.go @@ -73,8 +73,12 @@ func (client BookmarksClient) CreateOrUpdate(ctx context.Context, resourceGroupN {Target: "workspaceName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, {TargetValue: bookmark, Constraints: []validation.Constraint{{Target: "bookmark.BookmarkProperties", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "bookmark.BookmarkProperties.DisplayName", Name: validation.Null, Rule: true, Chain: nil}, + Chain: []validation.Constraint{{Target: "bookmark.BookmarkProperties.CreatedBy", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "bookmark.BookmarkProperties.CreatedBy.ObjectID", Name: validation.Null, Rule: true, Chain: nil}}}, + {Target: "bookmark.BookmarkProperties.DisplayName", Name: validation.Null, Rule: true, Chain: nil}, {Target: "bookmark.BookmarkProperties.Query", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "bookmark.BookmarkProperties.UpdatedBy", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "bookmark.BookmarkProperties.UpdatedBy.ObjectID", Name: validation.Null, Rule: true, Chain: nil}}}, }}}}}); err != nil { return result, validation.NewError("securityinsight.BookmarksClient", "CreateOrUpdate", err.Error()) } diff --git a/services/preview/securityinsight/mgmt/2017-08-01-preview/securityinsight/casecomments.go b/services/preview/securityinsight/mgmt/2017-08-01-preview/securityinsight/casecomments.go new file mode 100644 index 000000000000..897d9d02fa33 --- /dev/null +++ b/services/preview/securityinsight/mgmt/2017-08-01-preview/securityinsight/casecomments.go @@ -0,0 +1,149 @@ +package securityinsight + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// CaseCommentsClient is the API spec for Microsoft.SecurityInsights (Azure Security Insights) resource provider +type CaseCommentsClient struct { + BaseClient +} + +// NewCaseCommentsClient creates an instance of the CaseCommentsClient client. +func NewCaseCommentsClient(subscriptionID string) CaseCommentsClient { + return NewCaseCommentsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewCaseCommentsClientWithBaseURI creates an instance of the CaseCommentsClient client. +func NewCaseCommentsClientWithBaseURI(baseURI string, subscriptionID string) CaseCommentsClient { + return CaseCommentsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateComment creates the case comment. +// Parameters: +// resourceGroupName - the name of the resource group within the user's subscription. The name is case +// insensitive. +// operationalInsightsResourceProvider - the namespace of workspaces resource provider- +// Microsoft.OperationalInsights. +// workspaceName - the name of the workspace. +// caseID - case ID +// caseCommentID - case comment ID +// caseComment - the case comment +func (client CaseCommentsClient) CreateComment(ctx context.Context, resourceGroupName string, operationalInsightsResourceProvider string, workspaceName string, caseID string, caseCommentID string, caseComment CaseComment) (result CaseComment, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/CaseCommentsClient.CreateComment") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: client.SubscriptionID, + Constraints: []validation.Constraint{{Target: "client.SubscriptionID", Name: validation.Pattern, Rule: `^[0-9A-Fa-f]{8}-([0-9A-Fa-f]{4}-){3}[0-9A-Fa-f]{12}$`, Chain: nil}}}, + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}, + {TargetValue: workspaceName, + Constraints: []validation.Constraint{{Target: "workspaceName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "workspaceName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, + {TargetValue: caseComment, + Constraints: []validation.Constraint{{Target: "caseComment.CaseCommentProperties", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "caseComment.CaseCommentProperties.Message", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "caseComment.CaseCommentProperties.UserInfo", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "caseComment.CaseCommentProperties.UserInfo.ObjectID", Name: validation.Null, Rule: true, Chain: nil}}}, + }}}}}); err != nil { + return result, validation.NewError("securityinsight.CaseCommentsClient", "CreateComment", err.Error()) + } + + req, err := client.CreateCommentPreparer(ctx, resourceGroupName, operationalInsightsResourceProvider, workspaceName, caseID, caseCommentID, caseComment) + if err != nil { + err = autorest.NewErrorWithError(err, "securityinsight.CaseCommentsClient", "CreateComment", nil, "Failure preparing request") + return + } + + resp, err := client.CreateCommentSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "securityinsight.CaseCommentsClient", "CreateComment", resp, "Failure sending request") + return + } + + result, err = client.CreateCommentResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "securityinsight.CaseCommentsClient", "CreateComment", resp, "Failure responding to request") + } + + return +} + +// CreateCommentPreparer prepares the CreateComment request. +func (client CaseCommentsClient) CreateCommentPreparer(ctx context.Context, resourceGroupName string, operationalInsightsResourceProvider string, workspaceName string, caseID string, caseCommentID string, caseComment CaseComment) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "caseCommentId": autorest.Encode("path", caseCommentID), + "caseId": autorest.Encode("path", caseID), + "operationalInsightsResourceProvider": autorest.Encode("path", operationalInsightsResourceProvider), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "workspaceName": autorest.Encode("path", workspaceName), + } + + const APIVersion = "2019-01-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{operationalInsightsResourceProvider}/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/cases/{caseId}/comments/{caseCommentId}", pathParameters), + autorest.WithJSON(caseComment), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateCommentSender sends the CreateComment request. The method will close the +// http.Response Body if it receives an error. +func (client CaseCommentsClient) CreateCommentSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CreateCommentResponder handles the response to the CreateComment request. The method always +// closes the http.Response Body. +func (client CaseCommentsClient) CreateCommentResponder(resp *http.Response) (result CaseComment, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/preview/securityinsight/mgmt/2017-08-01-preview/securityinsight/caserelations.go b/services/preview/securityinsight/mgmt/2017-08-01-preview/securityinsight/caserelations.go new file mode 100644 index 000000000000..1c20302d892a --- /dev/null +++ b/services/preview/securityinsight/mgmt/2017-08-01-preview/securityinsight/caserelations.go @@ -0,0 +1,490 @@ +package securityinsight + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// CaseRelationsClient is the API spec for Microsoft.SecurityInsights (Azure Security Insights) resource provider +type CaseRelationsClient struct { + BaseClient +} + +// NewCaseRelationsClient creates an instance of the CaseRelationsClient client. +func NewCaseRelationsClient(subscriptionID string) CaseRelationsClient { + return NewCaseRelationsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewCaseRelationsClientWithBaseURI creates an instance of the CaseRelationsClient client. +func NewCaseRelationsClientWithBaseURI(baseURI string, subscriptionID string) CaseRelationsClient { + return CaseRelationsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdateRelation creates or updates the case relation. +// Parameters: +// resourceGroupName - the name of the resource group within the user's subscription. The name is case +// insensitive. +// operationalInsightsResourceProvider - the namespace of workspaces resource provider- +// Microsoft.OperationalInsights. +// workspaceName - the name of the workspace. +// caseID - case ID +// relationName - relation Name +// relationInputModel - the relation input model +func (client CaseRelationsClient) CreateOrUpdateRelation(ctx context.Context, resourceGroupName string, operationalInsightsResourceProvider string, workspaceName string, caseID string, relationName string, relationInputModel RelationsModelInput) (result CaseRelation, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/CaseRelationsClient.CreateOrUpdateRelation") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: client.SubscriptionID, + Constraints: []validation.Constraint{{Target: "client.SubscriptionID", Name: validation.Pattern, Rule: `^[0-9A-Fa-f]{8}-([0-9A-Fa-f]{4}-){3}[0-9A-Fa-f]{12}$`, Chain: nil}}}, + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}, + {TargetValue: workspaceName, + Constraints: []validation.Constraint{{Target: "workspaceName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "workspaceName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { + return result, validation.NewError("securityinsight.CaseRelationsClient", "CreateOrUpdateRelation", err.Error()) + } + + req, err := client.CreateOrUpdateRelationPreparer(ctx, resourceGroupName, operationalInsightsResourceProvider, workspaceName, caseID, relationName, relationInputModel) + if err != nil { + err = autorest.NewErrorWithError(err, "securityinsight.CaseRelationsClient", "CreateOrUpdateRelation", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateRelationSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "securityinsight.CaseRelationsClient", "CreateOrUpdateRelation", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateRelationResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "securityinsight.CaseRelationsClient", "CreateOrUpdateRelation", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdateRelationPreparer prepares the CreateOrUpdateRelation request. +func (client CaseRelationsClient) CreateOrUpdateRelationPreparer(ctx context.Context, resourceGroupName string, operationalInsightsResourceProvider string, workspaceName string, caseID string, relationName string, relationInputModel RelationsModelInput) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "caseId": autorest.Encode("path", caseID), + "operationalInsightsResourceProvider": autorest.Encode("path", operationalInsightsResourceProvider), + "relationName": autorest.Encode("path", relationName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "workspaceName": autorest.Encode("path", workspaceName), + } + + const APIVersion = "2019-01-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{operationalInsightsResourceProvider}/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/cases/{caseId}/relations/{relationName}", pathParameters), + autorest.WithJSON(relationInputModel), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateRelationSender sends the CreateOrUpdateRelation request. The method will close the +// http.Response Body if it receives an error. +func (client CaseRelationsClient) CreateOrUpdateRelationSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CreateOrUpdateRelationResponder handles the response to the CreateOrUpdateRelation request. The method always +// closes the http.Response Body. +func (client CaseRelationsClient) CreateOrUpdateRelationResponder(resp *http.Response) (result CaseRelation, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// DeleteRelation delete the case relation. +// Parameters: +// resourceGroupName - the name of the resource group within the user's subscription. The name is case +// insensitive. +// operationalInsightsResourceProvider - the namespace of workspaces resource provider- +// Microsoft.OperationalInsights. +// workspaceName - the name of the workspace. +// caseID - case ID +// relationName - relation Name +func (client CaseRelationsClient) DeleteRelation(ctx context.Context, resourceGroupName string, operationalInsightsResourceProvider string, workspaceName string, caseID string, relationName string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/CaseRelationsClient.DeleteRelation") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: client.SubscriptionID, + Constraints: []validation.Constraint{{Target: "client.SubscriptionID", Name: validation.Pattern, Rule: `^[0-9A-Fa-f]{8}-([0-9A-Fa-f]{4}-){3}[0-9A-Fa-f]{12}$`, Chain: nil}}}, + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}, + {TargetValue: workspaceName, + Constraints: []validation.Constraint{{Target: "workspaceName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "workspaceName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { + return result, validation.NewError("securityinsight.CaseRelationsClient", "DeleteRelation", err.Error()) + } + + req, err := client.DeleteRelationPreparer(ctx, resourceGroupName, operationalInsightsResourceProvider, workspaceName, caseID, relationName) + if err != nil { + err = autorest.NewErrorWithError(err, "securityinsight.CaseRelationsClient", "DeleteRelation", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteRelationSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "securityinsight.CaseRelationsClient", "DeleteRelation", resp, "Failure sending request") + return + } + + result, err = client.DeleteRelationResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "securityinsight.CaseRelationsClient", "DeleteRelation", resp, "Failure responding to request") + } + + return +} + +// DeleteRelationPreparer prepares the DeleteRelation request. +func (client CaseRelationsClient) DeleteRelationPreparer(ctx context.Context, resourceGroupName string, operationalInsightsResourceProvider string, workspaceName string, caseID string, relationName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "caseId": autorest.Encode("path", caseID), + "operationalInsightsResourceProvider": autorest.Encode("path", operationalInsightsResourceProvider), + "relationName": autorest.Encode("path", relationName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "workspaceName": autorest.Encode("path", workspaceName), + } + + const APIVersion = "2019-01-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{operationalInsightsResourceProvider}/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/cases/{caseId}/relations/{relationName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteRelationSender sends the DeleteRelation request. The method will close the +// http.Response Body if it receives an error. +func (client CaseRelationsClient) DeleteRelationSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeleteRelationResponder handles the response to the DeleteRelation request. The method always +// closes the http.Response Body. +func (client CaseRelationsClient) DeleteRelationResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// GetRelation gets a case relation. +// Parameters: +// resourceGroupName - the name of the resource group within the user's subscription. The name is case +// insensitive. +// operationalInsightsResourceProvider - the namespace of workspaces resource provider- +// Microsoft.OperationalInsights. +// workspaceName - the name of the workspace. +// caseID - case ID +// relationName - relation Name +func (client CaseRelationsClient) GetRelation(ctx context.Context, resourceGroupName string, operationalInsightsResourceProvider string, workspaceName string, caseID string, relationName string) (result CaseRelation, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/CaseRelationsClient.GetRelation") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: client.SubscriptionID, + Constraints: []validation.Constraint{{Target: "client.SubscriptionID", Name: validation.Pattern, Rule: `^[0-9A-Fa-f]{8}-([0-9A-Fa-f]{4}-){3}[0-9A-Fa-f]{12}$`, Chain: nil}}}, + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}, + {TargetValue: workspaceName, + Constraints: []validation.Constraint{{Target: "workspaceName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "workspaceName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { + return result, validation.NewError("securityinsight.CaseRelationsClient", "GetRelation", err.Error()) + } + + req, err := client.GetRelationPreparer(ctx, resourceGroupName, operationalInsightsResourceProvider, workspaceName, caseID, relationName) + if err != nil { + err = autorest.NewErrorWithError(err, "securityinsight.CaseRelationsClient", "GetRelation", nil, "Failure preparing request") + return + } + + resp, err := client.GetRelationSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "securityinsight.CaseRelationsClient", "GetRelation", resp, "Failure sending request") + return + } + + result, err = client.GetRelationResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "securityinsight.CaseRelationsClient", "GetRelation", resp, "Failure responding to request") + } + + return +} + +// GetRelationPreparer prepares the GetRelation request. +func (client CaseRelationsClient) GetRelationPreparer(ctx context.Context, resourceGroupName string, operationalInsightsResourceProvider string, workspaceName string, caseID string, relationName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "caseId": autorest.Encode("path", caseID), + "operationalInsightsResourceProvider": autorest.Encode("path", operationalInsightsResourceProvider), + "relationName": autorest.Encode("path", relationName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "workspaceName": autorest.Encode("path", workspaceName), + } + + const APIVersion = "2019-01-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{operationalInsightsResourceProvider}/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/cases/{caseId}/relations/{relationName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetRelationSender sends the GetRelation request. The method will close the +// http.Response Body if it receives an error. +func (client CaseRelationsClient) GetRelationSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetRelationResponder handles the response to the GetRelation request. The method always +// closes the http.Response Body. +func (client CaseRelationsClient) GetRelationResponder(resp *http.Response) (result CaseRelation, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets all case relations. +// Parameters: +// resourceGroupName - the name of the resource group within the user's subscription. The name is case +// insensitive. +// operationalInsightsResourceProvider - the namespace of workspaces resource provider- +// Microsoft.OperationalInsights. +// workspaceName - the name of the workspace. +// caseID - case ID +// filter - filters the results, based on a Boolean condition. Optional. +// orderby - sorts the results. Optional. +// top - returns only the first n results. Optional. +// skipToken - skiptoken is only used if a previous operation returned a partial result. If a previous response +// contains a nextLink element, the value of the nextLink element will include a skiptoken parameter that +// specifies a starting point to use for subsequent calls. Optional. +func (client CaseRelationsClient) List(ctx context.Context, resourceGroupName string, operationalInsightsResourceProvider string, workspaceName string, caseID string, filter string, orderby string, top *int32, skipToken string) (result CaseRelationListPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/CaseRelationsClient.List") + defer func() { + sc := -1 + if result.crl.Response.Response != nil { + sc = result.crl.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: client.SubscriptionID, + Constraints: []validation.Constraint{{Target: "client.SubscriptionID", Name: validation.Pattern, Rule: `^[0-9A-Fa-f]{8}-([0-9A-Fa-f]{4}-){3}[0-9A-Fa-f]{12}$`, Chain: nil}}}, + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}, + {TargetValue: workspaceName, + Constraints: []validation.Constraint{{Target: "workspaceName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "workspaceName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { + return result, validation.NewError("securityinsight.CaseRelationsClient", "List", err.Error()) + } + + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName, operationalInsightsResourceProvider, workspaceName, caseID, filter, orderby, top, skipToken) + if err != nil { + err = autorest.NewErrorWithError(err, "securityinsight.CaseRelationsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.crl.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "securityinsight.CaseRelationsClient", "List", resp, "Failure sending request") + return + } + + result.crl, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "securityinsight.CaseRelationsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client CaseRelationsClient) ListPreparer(ctx context.Context, resourceGroupName string, operationalInsightsResourceProvider string, workspaceName string, caseID string, filter string, orderby string, top *int32, skipToken string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "caseId": autorest.Encode("path", caseID), + "operationalInsightsResourceProvider": autorest.Encode("path", operationalInsightsResourceProvider), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "workspaceName": autorest.Encode("path", workspaceName), + } + + const APIVersion = "2019-01-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(filter) > 0 { + queryParameters["$filter"] = autorest.Encode("query", filter) + } + if len(orderby) > 0 { + queryParameters["$orderby"] = autorest.Encode("query", orderby) + } + if top != nil { + queryParameters["$top"] = autorest.Encode("query", *top) + } + if len(skipToken) > 0 { + queryParameters["$skipToken"] = autorest.Encode("query", skipToken) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{operationalInsightsResourceProvider}/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/cases/{caseId}/relations", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client CaseRelationsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client CaseRelationsClient) ListResponder(resp *http.Response) (result CaseRelationList, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client CaseRelationsClient) listNextResults(ctx context.Context, lastResults CaseRelationList) (result CaseRelationList, err error) { + req, err := lastResults.caseRelationListPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "securityinsight.CaseRelationsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "securityinsight.CaseRelationsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "securityinsight.CaseRelationsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client CaseRelationsClient) ListComplete(ctx context.Context, resourceGroupName string, operationalInsightsResourceProvider string, workspaceName string, caseID string, filter string, orderby string, top *int32, skipToken string) (result CaseRelationListIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/CaseRelationsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName, operationalInsightsResourceProvider, workspaceName, caseID, filter, orderby, top, skipToken) + return +} diff --git a/services/preview/securityinsight/mgmt/2017-08-01-preview/securityinsight/cases.go b/services/preview/securityinsight/mgmt/2017-08-01-preview/securityinsight/cases.go index 9a4eb0d79790..7b2b21a07030 100644 --- a/services/preview/securityinsight/mgmt/2017-08-01-preview/securityinsight/cases.go +++ b/services/preview/securityinsight/mgmt/2017-08-01-preview/securityinsight/cases.go @@ -73,7 +73,11 @@ func (client CasesClient) CreateOrUpdate(ctx context.Context, resourceGroupName {Target: "workspaceName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, {TargetValue: caseParameter, Constraints: []validation.Constraint{{Target: "caseParameter.CaseProperties", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "caseParameter.CaseProperties.Title", Name: validation.Null, Rule: true, Chain: nil}}}}}}); err != nil { + Chain: []validation.Constraint{{Target: "caseParameter.CaseProperties.Owner", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "caseParameter.CaseProperties.Owner.ObjectID", Name: validation.Null, Rule: true, Chain: nil}}}, + {Target: "caseParameter.CaseProperties.StartTimeUtc", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "caseParameter.CaseProperties.Title", Name: validation.Null, Rule: true, Chain: nil}, + }}}}}); err != nil { return result, validation.NewError("securityinsight.CasesClient", "CreateOrUpdate", err.Error()) } @@ -334,6 +338,104 @@ func (client CasesClient) GetResponder(resp *http.Response) (result Case, err er return } +// GetComment gets a case comment. +// Parameters: +// resourceGroupName - the name of the resource group within the user's subscription. The name is case +// insensitive. +// operationalInsightsResourceProvider - the namespace of workspaces resource provider- +// Microsoft.OperationalInsights. +// workspaceName - the name of the workspace. +// caseID - case ID +// caseCommentID - case comment ID +func (client CasesClient) GetComment(ctx context.Context, resourceGroupName string, operationalInsightsResourceProvider string, workspaceName string, caseID string, caseCommentID string) (result CaseComment, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/CasesClient.GetComment") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: client.SubscriptionID, + Constraints: []validation.Constraint{{Target: "client.SubscriptionID", Name: validation.Pattern, Rule: `^[0-9A-Fa-f]{8}-([0-9A-Fa-f]{4}-){3}[0-9A-Fa-f]{12}$`, Chain: nil}}}, + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}, + {TargetValue: workspaceName, + Constraints: []validation.Constraint{{Target: "workspaceName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "workspaceName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { + return result, validation.NewError("securityinsight.CasesClient", "GetComment", err.Error()) + } + + req, err := client.GetCommentPreparer(ctx, resourceGroupName, operationalInsightsResourceProvider, workspaceName, caseID, caseCommentID) + if err != nil { + err = autorest.NewErrorWithError(err, "securityinsight.CasesClient", "GetComment", nil, "Failure preparing request") + return + } + + resp, err := client.GetCommentSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "securityinsight.CasesClient", "GetComment", resp, "Failure sending request") + return + } + + result, err = client.GetCommentResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "securityinsight.CasesClient", "GetComment", resp, "Failure responding to request") + } + + return +} + +// GetCommentPreparer prepares the GetComment request. +func (client CasesClient) GetCommentPreparer(ctx context.Context, resourceGroupName string, operationalInsightsResourceProvider string, workspaceName string, caseID string, caseCommentID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "caseCommentId": autorest.Encode("path", caseCommentID), + "caseId": autorest.Encode("path", caseID), + "operationalInsightsResourceProvider": autorest.Encode("path", operationalInsightsResourceProvider), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "workspaceName": autorest.Encode("path", workspaceName), + } + + const APIVersion = "2019-01-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{operationalInsightsResourceProvider}/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/cases/{caseId}/comments/{caseCommentId}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetCommentSender sends the GetComment request. The method will close the +// http.Response Body if it receives an error. +func (client CasesClient) GetCommentSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetCommentResponder handles the response to the GetComment request. The method always +// closes the http.Response Body. +func (client CasesClient) GetCommentResponder(resp *http.Response) (result CaseComment, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + // List gets all cases. // Parameters: // resourceGroupName - the name of the resource group within the user's subscription. The name is case @@ -341,7 +443,13 @@ func (client CasesClient) GetResponder(resp *http.Response) (result Case, err er // operationalInsightsResourceProvider - the namespace of workspaces resource provider- // Microsoft.OperationalInsights. // workspaceName - the name of the workspace. -func (client CasesClient) List(ctx context.Context, resourceGroupName string, operationalInsightsResourceProvider string, workspaceName string) (result CaseListPage, err error) { +// filter - filters the results, based on a Boolean condition. Optional. +// orderby - sorts the results. Optional. +// top - returns only the first n results. Optional. +// skipToken - skiptoken is only used if a previous operation returned a partial result. If a previous response +// contains a nextLink element, the value of the nextLink element will include a skiptoken parameter that +// specifies a starting point to use for subsequent calls. Optional. +func (client CasesClient) List(ctx context.Context, resourceGroupName string, operationalInsightsResourceProvider string, workspaceName string, filter string, orderby string, top *int32, skipToken string) (result CaseListPage, err error) { if tracing.IsEnabled() { ctx = tracing.StartSpan(ctx, fqdn+"/CasesClient.List") defer func() { @@ -366,7 +474,7 @@ func (client CasesClient) List(ctx context.Context, resourceGroupName string, op } result.fn = client.listNextResults - req, err := client.ListPreparer(ctx, resourceGroupName, operationalInsightsResourceProvider, workspaceName) + req, err := client.ListPreparer(ctx, resourceGroupName, operationalInsightsResourceProvider, workspaceName, filter, orderby, top, skipToken) if err != nil { err = autorest.NewErrorWithError(err, "securityinsight.CasesClient", "List", nil, "Failure preparing request") return @@ -388,7 +496,7 @@ func (client CasesClient) List(ctx context.Context, resourceGroupName string, op } // ListPreparer prepares the List request. -func (client CasesClient) ListPreparer(ctx context.Context, resourceGroupName string, operationalInsightsResourceProvider string, workspaceName string) (*http.Request, error) { +func (client CasesClient) ListPreparer(ctx context.Context, resourceGroupName string, operationalInsightsResourceProvider string, workspaceName string, filter string, orderby string, top *int32, skipToken string) (*http.Request, error) { pathParameters := map[string]interface{}{ "operationalInsightsResourceProvider": autorest.Encode("path", operationalInsightsResourceProvider), "resourceGroupName": autorest.Encode("path", resourceGroupName), @@ -400,6 +508,18 @@ func (client CasesClient) ListPreparer(ctx context.Context, resourceGroupName st queryParameters := map[string]interface{}{ "api-version": APIVersion, } + if len(filter) > 0 { + queryParameters["$filter"] = autorest.Encode("query", filter) + } + if len(orderby) > 0 { + queryParameters["$orderby"] = autorest.Encode("query", orderby) + } + if top != nil { + queryParameters["$top"] = autorest.Encode("query", *top) + } + if len(skipToken) > 0 { + queryParameters["$skipToken"] = autorest.Encode("query", skipToken) + } preparer := autorest.CreatePreparer( autorest.AsGet(), @@ -451,7 +571,7 @@ func (client CasesClient) listNextResults(ctx context.Context, lastResults CaseL } // ListComplete enumerates all values, automatically crossing page boundaries as required. -func (client CasesClient) ListComplete(ctx context.Context, resourceGroupName string, operationalInsightsResourceProvider string, workspaceName string) (result CaseListIterator, err error) { +func (client CasesClient) ListComplete(ctx context.Context, resourceGroupName string, operationalInsightsResourceProvider string, workspaceName string, filter string, orderby string, top *int32, skipToken string) (result CaseListIterator, err error) { if tracing.IsEnabled() { ctx = tracing.StartSpan(ctx, fqdn+"/CasesClient.List") defer func() { @@ -462,6 +582,6 @@ func (client CasesClient) ListComplete(ctx context.Context, resourceGroupName st tracing.EndSpan(ctx, sc, err) }() } - result.page, err = client.List(ctx, resourceGroupName, operationalInsightsResourceProvider, workspaceName) + result.page, err = client.List(ctx, resourceGroupName, operationalInsightsResourceProvider, workspaceName, filter, orderby, top, skipToken) return } diff --git a/services/preview/securityinsight/mgmt/2017-08-01-preview/securityinsight/comments.go b/services/preview/securityinsight/mgmt/2017-08-01-preview/securityinsight/comments.go new file mode 100644 index 000000000000..c9d4578f02c0 --- /dev/null +++ b/services/preview/securityinsight/mgmt/2017-08-01-preview/securityinsight/comments.go @@ -0,0 +1,194 @@ +package securityinsight + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// CommentsClient is the API spec for Microsoft.SecurityInsights (Azure Security Insights) resource provider +type CommentsClient struct { + BaseClient +} + +// NewCommentsClient creates an instance of the CommentsClient client. +func NewCommentsClient(subscriptionID string) CommentsClient { + return NewCommentsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewCommentsClientWithBaseURI creates an instance of the CommentsClient client. +func NewCommentsClientWithBaseURI(baseURI string, subscriptionID string) CommentsClient { + return CommentsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// ListByCase gets all case comments. +// Parameters: +// resourceGroupName - the name of the resource group within the user's subscription. The name is case +// insensitive. +// operationalInsightsResourceProvider - the namespace of workspaces resource provider- +// Microsoft.OperationalInsights. +// workspaceName - the name of the workspace. +// caseID - case ID +// filter - filters the results, based on a Boolean condition. Optional. +// orderby - sorts the results. Optional. +// top - returns only the first n results. Optional. +// skipToken - skiptoken is only used if a previous operation returned a partial result. If a previous response +// contains a nextLink element, the value of the nextLink element will include a skiptoken parameter that +// specifies a starting point to use for subsequent calls. Optional. +func (client CommentsClient) ListByCase(ctx context.Context, resourceGroupName string, operationalInsightsResourceProvider string, workspaceName string, caseID string, filter string, orderby string, top *int32, skipToken string) (result CaseCommentListPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/CommentsClient.ListByCase") + defer func() { + sc := -1 + if result.ccl.Response.Response != nil { + sc = result.ccl.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: client.SubscriptionID, + Constraints: []validation.Constraint{{Target: "client.SubscriptionID", Name: validation.Pattern, Rule: `^[0-9A-Fa-f]{8}-([0-9A-Fa-f]{4}-){3}[0-9A-Fa-f]{12}$`, Chain: nil}}}, + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}, + {TargetValue: workspaceName, + Constraints: []validation.Constraint{{Target: "workspaceName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "workspaceName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { + return result, validation.NewError("securityinsight.CommentsClient", "ListByCase", err.Error()) + } + + result.fn = client.listByCaseNextResults + req, err := client.ListByCasePreparer(ctx, resourceGroupName, operationalInsightsResourceProvider, workspaceName, caseID, filter, orderby, top, skipToken) + if err != nil { + err = autorest.NewErrorWithError(err, "securityinsight.CommentsClient", "ListByCase", nil, "Failure preparing request") + return + } + + resp, err := client.ListByCaseSender(req) + if err != nil { + result.ccl.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "securityinsight.CommentsClient", "ListByCase", resp, "Failure sending request") + return + } + + result.ccl, err = client.ListByCaseResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "securityinsight.CommentsClient", "ListByCase", resp, "Failure responding to request") + } + + return +} + +// ListByCasePreparer prepares the ListByCase request. +func (client CommentsClient) ListByCasePreparer(ctx context.Context, resourceGroupName string, operationalInsightsResourceProvider string, workspaceName string, caseID string, filter string, orderby string, top *int32, skipToken string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "caseId": autorest.Encode("path", caseID), + "operationalInsightsResourceProvider": autorest.Encode("path", operationalInsightsResourceProvider), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "workspaceName": autorest.Encode("path", workspaceName), + } + + const APIVersion = "2019-01-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(filter) > 0 { + queryParameters["$filter"] = autorest.Encode("query", filter) + } + if len(orderby) > 0 { + queryParameters["$orderby"] = autorest.Encode("query", orderby) + } + if top != nil { + queryParameters["$top"] = autorest.Encode("query", *top) + } + if len(skipToken) > 0 { + queryParameters["$skipToken"] = autorest.Encode("query", skipToken) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{operationalInsightsResourceProvider}/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/cases/{caseId}/comments", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByCaseSender sends the ListByCase request. The method will close the +// http.Response Body if it receives an error. +func (client CommentsClient) ListByCaseSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByCaseResponder handles the response to the ListByCase request. The method always +// closes the http.Response Body. +func (client CommentsClient) ListByCaseResponder(resp *http.Response) (result CaseCommentList, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listByCaseNextResults retrieves the next set of results, if any. +func (client CommentsClient) listByCaseNextResults(ctx context.Context, lastResults CaseCommentList) (result CaseCommentList, err error) { + req, err := lastResults.caseCommentListPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "securityinsight.CommentsClient", "listByCaseNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListByCaseSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "securityinsight.CommentsClient", "listByCaseNextResults", resp, "Failure sending next results request") + } + result, err = client.ListByCaseResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "securityinsight.CommentsClient", "listByCaseNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListByCaseComplete enumerates all values, automatically crossing page boundaries as required. +func (client CommentsClient) ListByCaseComplete(ctx context.Context, resourceGroupName string, operationalInsightsResourceProvider string, workspaceName string, caseID string, filter string, orderby string, top *int32, skipToken string) (result CaseCommentListIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/CommentsClient.ListByCase") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListByCase(ctx, resourceGroupName, operationalInsightsResourceProvider, workspaceName, caseID, filter, orderby, top, skipToken) + return +} diff --git a/services/preview/securityinsight/mgmt/2017-08-01-preview/securityinsight/entities.go b/services/preview/securityinsight/mgmt/2017-08-01-preview/securityinsight/entities.go index e72cffc3e2c3..f0e21ffe611a 100644 --- a/services/preview/securityinsight/mgmt/2017-08-01-preview/securityinsight/entities.go +++ b/services/preview/securityinsight/mgmt/2017-08-01-preview/securityinsight/entities.go @@ -41,6 +41,105 @@ func NewEntitiesClientWithBaseURI(baseURI string, subscriptionID string) Entitie return EntitiesClient{NewWithBaseURI(baseURI, subscriptionID)} } +// Expand expands an entity. +// Parameters: +// resourceGroupName - the name of the resource group within the user's subscription. The name is case +// insensitive. +// operationalInsightsResourceProvider - the namespace of workspaces resource provider- +// Microsoft.OperationalInsights. +// workspaceName - the name of the workspace. +// entityID - entity ID +// parameters - the parameters required to execute an expand operation on the given entity. +func (client EntitiesClient) Expand(ctx context.Context, resourceGroupName string, operationalInsightsResourceProvider string, workspaceName string, entityID string, parameters EntityExpandParameters) (result EntityExpandResponse, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/EntitiesClient.Expand") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: client.SubscriptionID, + Constraints: []validation.Constraint{{Target: "client.SubscriptionID", Name: validation.Pattern, Rule: `^[0-9A-Fa-f]{8}-([0-9A-Fa-f]{4}-){3}[0-9A-Fa-f]{12}$`, Chain: nil}}}, + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}, + {TargetValue: workspaceName, + Constraints: []validation.Constraint{{Target: "workspaceName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "workspaceName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { + return result, validation.NewError("securityinsight.EntitiesClient", "Expand", err.Error()) + } + + req, err := client.ExpandPreparer(ctx, resourceGroupName, operationalInsightsResourceProvider, workspaceName, entityID, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "securityinsight.EntitiesClient", "Expand", nil, "Failure preparing request") + return + } + + resp, err := client.ExpandSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "securityinsight.EntitiesClient", "Expand", resp, "Failure sending request") + return + } + + result, err = client.ExpandResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "securityinsight.EntitiesClient", "Expand", resp, "Failure responding to request") + } + + return +} + +// ExpandPreparer prepares the Expand request. +func (client EntitiesClient) ExpandPreparer(ctx context.Context, resourceGroupName string, operationalInsightsResourceProvider string, workspaceName string, entityID string, parameters EntityExpandParameters) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "entityId": autorest.Encode("path", entityID), + "operationalInsightsResourceProvider": autorest.Encode("path", operationalInsightsResourceProvider), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "workspaceName": autorest.Encode("path", workspaceName), + } + + const APIVersion = "2019-01-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{operationalInsightsResourceProvider}/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/entities/{entityId}/expand", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ExpandSender sends the Expand request. The method will close the +// http.Response Body if it receives an error. +func (client EntitiesClient) ExpandSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ExpandResponder handles the response to the Expand request. The method always +// closes the http.Response Body. +func (client EntitiesClient) ExpandResponder(resp *http.Response) (result EntityExpandResponse, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + // Get gets an entity. // Parameters: // resourceGroupName - the name of the resource group within the user's subscription. The name is case diff --git a/services/preview/securityinsight/mgmt/2017-08-01-preview/securityinsight/models.go b/services/preview/securityinsight/mgmt/2017-08-01-preview/securityinsight/models.go index 3439ef0034bb..b474b9a4c669 100644 --- a/services/preview/securityinsight/mgmt/2017-08-01-preview/securityinsight/models.go +++ b/services/preview/securityinsight/mgmt/2017-08-01-preview/securityinsight/models.go @@ -48,13 +48,17 @@ func PossibleAggregationsKindValues() []AggregationsKind { type AlertRuleKind string const ( + // Fusion ... + Fusion AlertRuleKind = "Fusion" + // MicrosoftSecurityIncidentCreation ... + MicrosoftSecurityIncidentCreation AlertRuleKind = "MicrosoftSecurityIncidentCreation" // Scheduled ... Scheduled AlertRuleKind = "Scheduled" ) // PossibleAlertRuleKindValues returns an array of possible values for the AlertRuleKind const type. func PossibleAlertRuleKindValues() []AlertRuleKind { - return []AlertRuleKind{Scheduled} + return []AlertRuleKind{Fusion, MicrosoftSecurityIncidentCreation, Scheduled} } // AlertSeverity enumerates the values for alert severity. @@ -76,6 +80,62 @@ func PossibleAlertSeverityValues() []AlertSeverity { return []AlertSeverity{High, Informational, Low, Medium} } +// AlertStatus enumerates the values for alert status. +type AlertStatus string + +const ( + // AlertStatusDismissed Alert dismissed as false positive + AlertStatusDismissed AlertStatus = "Dismissed" + // AlertStatusInProgress Alert is being handled + AlertStatusInProgress AlertStatus = "InProgress" + // AlertStatusNew New alert + AlertStatusNew AlertStatus = "New" + // AlertStatusResolved Alert closed after handling + AlertStatusResolved AlertStatus = "Resolved" + // AlertStatusUnknown Unknown value + AlertStatusUnknown AlertStatus = "Unknown" +) + +// PossibleAlertStatusValues returns an array of possible values for the AlertStatus const type. +func PossibleAlertStatusValues() []AlertStatus { + return []AlertStatus{AlertStatusDismissed, AlertStatusInProgress, AlertStatusNew, AlertStatusResolved, AlertStatusUnknown} +} + +// AttackTactic enumerates the values for attack tactic. +type AttackTactic string + +const ( + // Collection ... + Collection AttackTactic = "Collection" + // CommandAndControl ... + CommandAndControl AttackTactic = "CommandAndControl" + // CredentialAccess ... + CredentialAccess AttackTactic = "CredentialAccess" + // DefenseEvasion ... + DefenseEvasion AttackTactic = "DefenseEvasion" + // Discovery ... + Discovery AttackTactic = "Discovery" + // Execution ... + Execution AttackTactic = "Execution" + // Exfiltration ... + Exfiltration AttackTactic = "Exfiltration" + // Impact ... + Impact AttackTactic = "Impact" + // InitialAccess ... + InitialAccess AttackTactic = "InitialAccess" + // LateralMovement ... + LateralMovement AttackTactic = "LateralMovement" + // Persistence ... + Persistence AttackTactic = "Persistence" + // PrivilegeEscalation ... + PrivilegeEscalation AttackTactic = "PrivilegeEscalation" +) + +// PossibleAttackTacticValues returns an array of possible values for the AttackTactic const type. +func PossibleAttackTacticValues() []AttackTactic { + return []AttackTactic{Collection, CommandAndControl, CredentialAccess, DefenseEvasion, Discovery, Execution, Exfiltration, Impact, InitialAccess, LateralMovement, Persistence, PrivilegeEscalation} +} + // CaseSeverity enumerates the values for case severity. type CaseSeverity string @@ -122,42 +182,84 @@ type CloseReason string const ( // Dismissed Case was dismissed Dismissed CloseReason = "Dismissed" + // FalsePositive Case was false positive + FalsePositive CloseReason = "FalsePositive" // Other Case was closed for another reason Other CloseReason = "Other" // Resolved Case was resolved Resolved CloseReason = "Resolved" + // TruePositive Case was true positive + TruePositive CloseReason = "TruePositive" ) // PossibleCloseReasonValues returns an array of possible values for the CloseReason const type. func PossibleCloseReasonValues() []CloseReason { - return []CloseReason{Dismissed, Other, Resolved} + return []CloseReason{Dismissed, FalsePositive, Other, Resolved, TruePositive} +} + +// ConfidenceLevel enumerates the values for confidence level. +type ConfidenceLevel string + +const ( + // ConfidenceLevelHigh High confidence that the alert is true positive malicious + ConfidenceLevelHigh ConfidenceLevel = "High" + // ConfidenceLevelLow Low confidence, meaning we have some doubts this is indeed malicious or part of an + // attack + ConfidenceLevelLow ConfidenceLevel = "Low" + // ConfidenceLevelUnknown Unknown confidence, the is the default value + ConfidenceLevelUnknown ConfidenceLevel = "Unknown" +) + +// PossibleConfidenceLevelValues returns an array of possible values for the ConfidenceLevel const type. +func PossibleConfidenceLevelValues() []ConfidenceLevel { + return []ConfidenceLevel{ConfidenceLevelHigh, ConfidenceLevelLow, ConfidenceLevelUnknown} +} + +// ConfidenceScoreStatus enumerates the values for confidence score status. +type ConfidenceScoreStatus string + +const ( + // Final Final score was calculated and available + Final ConfidenceScoreStatus = "Final" + // InProcess No score was set yet and calculation is in progress + InProcess ConfidenceScoreStatus = "InProcess" + // NotApplicable Score will not be calculated for this alert as it is not supported by virtual analyst + NotApplicable ConfidenceScoreStatus = "NotApplicable" + // NotFinal Score is calculated and shown as part of the alert, but may be updated again at a later time + // following the processing of additional data + NotFinal ConfidenceScoreStatus = "NotFinal" +) + +// PossibleConfidenceScoreStatusValues returns an array of possible values for the ConfidenceScoreStatus const type. +func PossibleConfidenceScoreStatusValues() []ConfidenceScoreStatus { + return []ConfidenceScoreStatus{Final, InProcess, NotApplicable, NotFinal} } // DataConnectorKind enumerates the values for data connector kind. type DataConnectorKind string const ( - // AmazonWebServicesCloudTrail ... - AmazonWebServicesCloudTrail DataConnectorKind = "AmazonWebServicesCloudTrail" - // AzureActiveDirectory ... - AzureActiveDirectory DataConnectorKind = "AzureActiveDirectory" - // AzureAdvancedThreatProtection ... - AzureAdvancedThreatProtection DataConnectorKind = "AzureAdvancedThreatProtection" - // AzureSecurityCenter ... - AzureSecurityCenter DataConnectorKind = "AzureSecurityCenter" - // MicrosoftCloudAppSecurity ... - MicrosoftCloudAppSecurity DataConnectorKind = "MicrosoftCloudAppSecurity" - // MicrosoftDefenderAdvancedThreatProtection ... - MicrosoftDefenderAdvancedThreatProtection DataConnectorKind = "MicrosoftDefenderAdvancedThreatProtection" - // Office365 ... - Office365 DataConnectorKind = "Office365" - // ThreatIntelligence ... - ThreatIntelligence DataConnectorKind = "ThreatIntelligence" + // DataConnectorKindAmazonWebServicesCloudTrail ... + DataConnectorKindAmazonWebServicesCloudTrail DataConnectorKind = "AmazonWebServicesCloudTrail" + // DataConnectorKindAzureActiveDirectory ... + DataConnectorKindAzureActiveDirectory DataConnectorKind = "AzureActiveDirectory" + // DataConnectorKindAzureAdvancedThreatProtection ... + DataConnectorKindAzureAdvancedThreatProtection DataConnectorKind = "AzureAdvancedThreatProtection" + // DataConnectorKindAzureSecurityCenter ... + DataConnectorKindAzureSecurityCenter DataConnectorKind = "AzureSecurityCenter" + // DataConnectorKindMicrosoftCloudAppSecurity ... + DataConnectorKindMicrosoftCloudAppSecurity DataConnectorKind = "MicrosoftCloudAppSecurity" + // DataConnectorKindMicrosoftDefenderAdvancedThreatProtection ... + DataConnectorKindMicrosoftDefenderAdvancedThreatProtection DataConnectorKind = "MicrosoftDefenderAdvancedThreatProtection" + // DataConnectorKindOffice365 ... + DataConnectorKindOffice365 DataConnectorKind = "Office365" + // DataConnectorKindThreatIntelligence ... + DataConnectorKindThreatIntelligence DataConnectorKind = "ThreatIntelligence" ) // PossibleDataConnectorKindValues returns an array of possible values for the DataConnectorKind const type. func PossibleDataConnectorKindValues() []DataConnectorKind { - return []DataConnectorKind{AmazonWebServicesCloudTrail, AzureActiveDirectory, AzureAdvancedThreatProtection, AzureSecurityCenter, MicrosoftCloudAppSecurity, MicrosoftDefenderAdvancedThreatProtection, Office365, ThreatIntelligence} + return []DataConnectorKind{DataConnectorKindAmazonWebServicesCloudTrail, DataConnectorKindAzureActiveDirectory, DataConnectorKindAzureAdvancedThreatProtection, DataConnectorKindAzureSecurityCenter, DataConnectorKindMicrosoftCloudAppSecurity, DataConnectorKindMicrosoftDefenderAdvancedThreatProtection, DataConnectorKindOffice365, DataConnectorKindThreatIntelligence} } // DataTypeState enumerates the values for data type state. @@ -175,51 +277,274 @@ func PossibleDataTypeStateValues() []DataTypeState { return []DataTypeState{Disabled, Enabled} } +// DataTypeStatus enumerates the values for data type status. +type DataTypeStatus string + +const ( + // Exist ... + Exist DataTypeStatus = "Exist" + // NotExist ... + NotExist DataTypeStatus = "NotExist" +) + +// PossibleDataTypeStatusValues returns an array of possible values for the DataTypeStatus const type. +func PossibleDataTypeStatusValues() []DataTypeStatus { + return []DataTypeStatus{Exist, NotExist} +} + +// ElevationToken enumerates the values for elevation token. +type ElevationToken string + +const ( + // Default Default elevation token + Default ElevationToken = "Default" + // Full Full elevation token + Full ElevationToken = "Full" + // Limited Limited elevation token + Limited ElevationToken = "Limited" +) + +// PossibleElevationTokenValues returns an array of possible values for the ElevationToken const type. +func PossibleElevationTokenValues() []ElevationToken { + return []ElevationToken{Default, Full, Limited} +} + // EntityKind enumerates the values for entity kind. type EntityKind string const ( - // Account Entity represents account in the system. - Account EntityKind = "Account" - // File Entity represents file in the system. - File EntityKind = "File" - // Host Entity represents host in the system. - Host EntityKind = "Host" + // EntityKindAccount Entity represents account in the system. + EntityKindAccount EntityKind = "Account" + // EntityKindAzureResource Entity represents azure resource in the system. + EntityKindAzureResource EntityKind = "AzureResource" + // EntityKindBookmark Entity represents bookmark in the system. + EntityKindBookmark EntityKind = "Bookmark" + // EntityKindCloudApplication Entity represents cloud application in the system. + EntityKindCloudApplication EntityKind = "CloudApplication" + // EntityKindDNSResolution Entity represents dns resolution in the system. + EntityKindDNSResolution EntityKind = "DnsResolution" + // EntityKindFile Entity represents file in the system. + EntityKindFile EntityKind = "File" + // EntityKindFileHash Entity represents file hash in the system. + EntityKindFileHash EntityKind = "FileHash" + // EntityKindHost Entity represents host in the system. + EntityKindHost EntityKind = "Host" + // EntityKindIP Entity represents ip in the system. + EntityKindIP EntityKind = "Ip" + // EntityKindMalware Entity represents malware in the system. + EntityKindMalware EntityKind = "Malware" + // EntityKindProcess Entity represents process in the system. + EntityKindProcess EntityKind = "Process" + // EntityKindRegistryKey Entity represents registry key in the system. + EntityKindRegistryKey EntityKind = "RegistryKey" + // EntityKindRegistryValue Entity represents registry value in the system. + EntityKindRegistryValue EntityKind = "RegistryValue" + // EntityKindSecurityAlert Entity represents security alert in the system. + EntityKindSecurityAlert EntityKind = "SecurityAlert" + // EntityKindSecurityGroup Entity represents security group in the system. + EntityKindSecurityGroup EntityKind = "SecurityGroup" + // EntityKindURL Entity represents url in the system. + EntityKindURL EntityKind = "Url" ) // PossibleEntityKindValues returns an array of possible values for the EntityKind const type. func PossibleEntityKindValues() []EntityKind { - return []EntityKind{Account, File, Host} + return []EntityKind{EntityKindAccount, EntityKindAzureResource, EntityKindBookmark, EntityKindCloudApplication, EntityKindDNSResolution, EntityKindFile, EntityKindFileHash, EntityKindHost, EntityKindIP, EntityKindMalware, EntityKindProcess, EntityKindRegistryKey, EntityKindRegistryValue, EntityKindSecurityAlert, EntityKindSecurityGroup, EntityKindURL} +} + +// EntityType enumerates the values for entity type. +type EntityType string + +const ( + // EntityTypeAccount Entity represents account in the system. + EntityTypeAccount EntityType = "Account" + // EntityTypeAzureResource Entity represents azure resource in the system. + EntityTypeAzureResource EntityType = "AzureResource" + // EntityTypeCloudApplication Entity represents cloud application in the system. + EntityTypeCloudApplication EntityType = "CloudApplication" + // EntityTypeDNS Entity represents dns in the system. + EntityTypeDNS EntityType = "DNS" + // EntityTypeFile Entity represents file in the system. + EntityTypeFile EntityType = "File" + // EntityTypeFileHash Entity represents file hash in the system. + EntityTypeFileHash EntityType = "FileHash" + // EntityTypeHost Entity represents host in the system. + EntityTypeHost EntityType = "Host" + // EntityTypeHuntingBookmark Entity represents HuntingBookmark in the system. + EntityTypeHuntingBookmark EntityType = "HuntingBookmark" + // EntityTypeIP Entity represents ip in the system. + EntityTypeIP EntityType = "IP" + // EntityTypeMalware Entity represents malware in the system. + EntityTypeMalware EntityType = "Malware" + // EntityTypeProcess Entity represents process in the system. + EntityTypeProcess EntityType = "Process" + // EntityTypeRegistryKey Entity represents registry key in the system. + EntityTypeRegistryKey EntityType = "RegistryKey" + // EntityTypeRegistryValue Entity represents registry value in the system. + EntityTypeRegistryValue EntityType = "RegistryValue" + // EntityTypeSecurityAlert Entity represents security alert in the system. + EntityTypeSecurityAlert EntityType = "SecurityAlert" + // EntityTypeSecurityGroup Entity represents security group in the system. + EntityTypeSecurityGroup EntityType = "SecurityGroup" + // EntityTypeURL Entity represents url in the system. + EntityTypeURL EntityType = "URL" +) + +// PossibleEntityTypeValues returns an array of possible values for the EntityType const type. +func PossibleEntityTypeValues() []EntityType { + return []EntityType{EntityTypeAccount, EntityTypeAzureResource, EntityTypeCloudApplication, EntityTypeDNS, EntityTypeFile, EntityTypeFileHash, EntityTypeHost, EntityTypeHuntingBookmark, EntityTypeIP, EntityTypeMalware, EntityTypeProcess, EntityTypeRegistryKey, EntityTypeRegistryValue, EntityTypeSecurityAlert, EntityTypeSecurityGroup, EntityTypeURL} +} + +// FileHashAlgorithm enumerates the values for file hash algorithm. +type FileHashAlgorithm string + +const ( + // MD5 MD5 hash type + MD5 FileHashAlgorithm = "MD5" + // SHA1 SHA1 hash type + SHA1 FileHashAlgorithm = "SHA1" + // SHA256 SHA256 hash type + SHA256 FileHashAlgorithm = "SHA256" + // SHA256AC SHA256 Authenticode hash type + SHA256AC FileHashAlgorithm = "SHA256AC" + // Unknown Unknown hash algorithm + Unknown FileHashAlgorithm = "Unknown" +) + +// PossibleFileHashAlgorithmValues returns an array of possible values for the FileHashAlgorithm const type. +func PossibleFileHashAlgorithmValues() []FileHashAlgorithm { + return []FileHashAlgorithm{MD5, SHA1, SHA256, SHA256AC, Unknown} +} + +// KillChainIntent enumerates the values for kill chain intent. +type KillChainIntent string + +const ( + // KillChainIntentCollection Collection consists of techniques used to identify and gather information, + // such as sensitive files, from a target network prior to exfiltration. This category also covers + // locations on a system or network where the adversary may look for information to exfiltrate. + KillChainIntentCollection KillChainIntent = "Collection" + // KillChainIntentCommandAndControl The command and control tactic represents how adversaries communicate + // with systems under their control within a target network. + KillChainIntentCommandAndControl KillChainIntent = "CommandAndControl" + // KillChainIntentCredentialAccess Credential access represents techniques resulting in access to or + // control over system, domain, or service credentials that are used within an enterprise environment. + // Adversaries will likely attempt to obtain legitimate credentials from users or administrator accounts + // (local system administrator or domain users with administrator access) to use within the network. With + // sufficient access within a network, an adversary can create accounts for later use within the + // environment. + KillChainIntentCredentialAccess KillChainIntent = "CredentialAccess" + // KillChainIntentDefenseEvasion Defense evasion consists of techniques an adversary may use to evade + // detection or avoid other defenses. Sometimes these actions are the same as or variations of techniques + // in other categories that have the added benefit of subverting a particular defense or mitigation. + KillChainIntentDefenseEvasion KillChainIntent = "DefenseEvasion" + // KillChainIntentDiscovery Discovery consists of techniques that allow the adversary to gain knowledge + // about the system and internal network. When adversaries gain access to a new system, they must orient + // themselves to what they now have control of and what benefits operating from that system give to their + // current objective or overall goals during the intrusion. The operating system provides many native tools + // that aid in this post-compromise information-gathering phase. + KillChainIntentDiscovery KillChainIntent = "Discovery" + // KillChainIntentExecution The execution tactic represents techniques that result in execution of + // adversary-controlled code on a local or remote system. This tactic is often used in conjunction with + // lateral movement to expand access to remote systems on a network. + KillChainIntentExecution KillChainIntent = "Execution" + // KillChainIntentExfiltration Exfiltration refers to techniques and attributes that result or aid in the + // adversary removing files and information from a target network. This category also covers locations on a + // system or network where the adversary may look for information to exfiltrate. + KillChainIntentExfiltration KillChainIntent = "Exfiltration" + // KillChainIntentExploitation Exploitation is the stage where an attacker manage to get foothold on the + // attacked resource. This stage is applicable not only for compute hosts, but also for resources such as + // user accounts, certificates etc. Adversaries will often be able to control the resource after this + // stage. + KillChainIntentExploitation KillChainIntent = "Exploitation" + // KillChainIntentImpact The impact intent primary objective is to directly reduce the availability or + // integrity of a system, service, or network; including manipulation of data to impact a business or + // operational process. This would often refer to techniques such as ransom-ware, defacement, data + // manipulation and others. + KillChainIntentImpact KillChainIntent = "Impact" + // KillChainIntentLateralMovement Lateral movement consists of techniques that enable an adversary to + // access and control remote systems on a network and could, but does not necessarily, include execution of + // tools on remote systems. The lateral movement techniques could allow an adversary to gather information + // from a system without needing additional tools, such as a remote access tool. An adversary can use + // lateral movement for many purposes, including remote Execution of tools, pivoting to additional systems, + // access to specific information or files, access to additional credentials, or to cause an effect. + KillChainIntentLateralMovement KillChainIntent = "LateralMovement" + // KillChainIntentPersistence Persistence is any access, action, or configuration change to a system that + // gives an adversary a persistent presence on that system. Adversaries will often need to maintain access + // to systems through interruptions such as system restarts, loss of credentials, or other failures that + // would require a remote access tool to restart or alternate backdoor for them to regain access. + KillChainIntentPersistence KillChainIntent = "Persistence" + // KillChainIntentPrivilegeEscalation Privilege escalation is the result of actions that allow an adversary + // to obtain a higher level of permissions on a system or network. Certain tools or actions require a + // higher level of privilege to work and are likely necessary at many points throughout an operation. User + // accounts with permissions to access specific systems or perform specific functions necessary for + // adversaries to achieve their objective may also be considered an escalation of privilege. + KillChainIntentPrivilegeEscalation KillChainIntent = "PrivilegeEscalation" + // KillChainIntentProbing Probing could be an attempt to access a certain resource regardless of a + // malicious intent or a failed attempt to gain access to a target system to gather information prior to + // exploitation. This step is usually detected as an attempt originating from outside the network in + // attempt to scan the target system and find a way in. + KillChainIntentProbing KillChainIntent = "Probing" + // KillChainIntentUnknown The default value. + KillChainIntentUnknown KillChainIntent = "Unknown" +) + +// PossibleKillChainIntentValues returns an array of possible values for the KillChainIntent const type. +func PossibleKillChainIntentValues() []KillChainIntent { + return []KillChainIntent{KillChainIntentCollection, KillChainIntentCommandAndControl, KillChainIntentCredentialAccess, KillChainIntentDefenseEvasion, KillChainIntentDiscovery, KillChainIntentExecution, KillChainIntentExfiltration, KillChainIntentExploitation, KillChainIntentImpact, KillChainIntentLateralMovement, KillChainIntentPersistence, KillChainIntentPrivilegeEscalation, KillChainIntentProbing, KillChainIntentUnknown} } // Kind enumerates the values for kind. type Kind string const ( - // KindAlertRule ... - KindAlertRule Kind = "AlertRule" - // KindScheduled ... - KindScheduled Kind = "Scheduled" + // KindAggregations ... + KindAggregations Kind = "Aggregations" + // KindCasesAggregation ... + KindCasesAggregation Kind = "CasesAggregation" ) // PossibleKindValues returns an array of possible values for the Kind const type. func PossibleKindValues() []Kind { - return []Kind{KindAlertRule, KindScheduled} + return []Kind{KindAggregations, KindCasesAggregation} } -// KindBasicAggregations enumerates the values for kind basic aggregations. -type KindBasicAggregations string +// KindBasicAlertRule enumerates the values for kind basic alert rule. +type KindBasicAlertRule string const ( - // KindAggregations ... - KindAggregations KindBasicAggregations = "Aggregations" - // KindCasesAggregation ... - KindCasesAggregation KindBasicAggregations = "CasesAggregation" + // KindAlertRule ... + KindAlertRule KindBasicAlertRule = "AlertRule" + // KindFusion ... + KindFusion KindBasicAlertRule = "Fusion" + // KindMicrosoftSecurityIncidentCreation ... + KindMicrosoftSecurityIncidentCreation KindBasicAlertRule = "MicrosoftSecurityIncidentCreation" + // KindScheduled ... + KindScheduled KindBasicAlertRule = "Scheduled" +) + +// PossibleKindBasicAlertRuleValues returns an array of possible values for the KindBasicAlertRule const type. +func PossibleKindBasicAlertRuleValues() []KindBasicAlertRule { + return []KindBasicAlertRule{KindAlertRule, KindFusion, KindMicrosoftSecurityIncidentCreation, KindScheduled} +} + +// KindBasicAlertRuleTemplate enumerates the values for kind basic alert rule template. +type KindBasicAlertRuleTemplate string + +const ( + // KindBasicAlertRuleTemplateKindAlertRuleTemplate ... + KindBasicAlertRuleTemplateKindAlertRuleTemplate KindBasicAlertRuleTemplate = "AlertRuleTemplate" + // KindBasicAlertRuleTemplateKindFusion ... + KindBasicAlertRuleTemplateKindFusion KindBasicAlertRuleTemplate = "Fusion" + // KindBasicAlertRuleTemplateKindMicrosoftSecurityIncidentCreation ... + KindBasicAlertRuleTemplateKindMicrosoftSecurityIncidentCreation KindBasicAlertRuleTemplate = "MicrosoftSecurityIncidentCreation" + // KindBasicAlertRuleTemplateKindScheduled ... + KindBasicAlertRuleTemplateKindScheduled KindBasicAlertRuleTemplate = "Scheduled" ) -// PossibleKindBasicAggregationsValues returns an array of possible values for the KindBasicAggregations const type. -func PossibleKindBasicAggregationsValues() []KindBasicAggregations { - return []KindBasicAggregations{KindAggregations, KindCasesAggregation} +// PossibleKindBasicAlertRuleTemplateValues returns an array of possible values for the KindBasicAlertRuleTemplate const type. +func PossibleKindBasicAlertRuleTemplateValues() []KindBasicAlertRuleTemplate { + return []KindBasicAlertRuleTemplate{KindBasicAlertRuleTemplateKindAlertRuleTemplate, KindBasicAlertRuleTemplateKindFusion, KindBasicAlertRuleTemplateKindMicrosoftSecurityIncidentCreation, KindBasicAlertRuleTemplateKindScheduled} } // KindBasicDataConnector enumerates the values for kind basic data connector. @@ -257,17 +582,41 @@ type KindBasicEntity string const ( // KindAccount ... KindAccount KindBasicEntity = "Account" + // KindAzureResource ... + KindAzureResource KindBasicEntity = "AzureResource" + // KindCloudApplication ... + KindCloudApplication KindBasicEntity = "CloudApplication" + // KindDNSResolution ... + KindDNSResolution KindBasicEntity = "DnsResolution" // KindEntity ... KindEntity KindBasicEntity = "Entity" // KindFile ... KindFile KindBasicEntity = "File" + // KindFileHash ... + KindFileHash KindBasicEntity = "FileHash" // KindHost ... KindHost KindBasicEntity = "Host" + // KindIP ... + KindIP KindBasicEntity = "Ip" + // KindMalware ... + KindMalware KindBasicEntity = "Malware" + // KindProcess ... + KindProcess KindBasicEntity = "Process" + // KindRegistryKey ... + KindRegistryKey KindBasicEntity = "RegistryKey" + // KindRegistryValue ... + KindRegistryValue KindBasicEntity = "RegistryValue" + // KindSecurityAlert ... + KindSecurityAlert KindBasicEntity = "SecurityAlert" + // KindSecurityGroup ... + KindSecurityGroup KindBasicEntity = "SecurityGroup" + // KindURL ... + KindURL KindBasicEntity = "Url" ) // PossibleKindBasicEntityValues returns an array of possible values for the KindBasicEntity const type. func PossibleKindBasicEntityValues() []KindBasicEntity { - return []KindBasicEntity{KindAccount, KindEntity, KindFile, KindHost} + return []KindBasicEntity{KindAccount, KindAzureResource, KindCloudApplication, KindDNSResolution, KindEntity, KindFile, KindFileHash, KindHost, KindIP, KindMalware, KindProcess, KindRegistryKey, KindRegistryValue, KindSecurityAlert, KindSecurityGroup, KindURL} } // KindBasicSettings enumerates the values for kind basic settings. @@ -302,6 +651,25 @@ func PossibleLicenseStatusValues() []LicenseStatus { return []LicenseStatus{LicenseStatusDisabled, LicenseStatusEnabled} } +// MicrosoftSecurityProductName enumerates the values for microsoft security product name. +type MicrosoftSecurityProductName string + +const ( + // AzureActiveDirectoryIdentityProtection ... + AzureActiveDirectoryIdentityProtection MicrosoftSecurityProductName = "Azure Active Directory Identity Protection" + // AzureAdvancedThreatProtection ... + AzureAdvancedThreatProtection MicrosoftSecurityProductName = "Azure Advanced Threat Protection" + // AzureSecurityCenter ... + AzureSecurityCenter MicrosoftSecurityProductName = "Azure Security Center" + // MicrosoftCloudAppSecurity ... + MicrosoftCloudAppSecurity MicrosoftSecurityProductName = "Microsoft Cloud App Security" +) + +// PossibleMicrosoftSecurityProductNameValues returns an array of possible values for the MicrosoftSecurityProductName const type. +func PossibleMicrosoftSecurityProductNameValues() []MicrosoftSecurityProductName { + return []MicrosoftSecurityProductName{AzureActiveDirectoryIdentityProtection, AzureAdvancedThreatProtection, AzureSecurityCenter, MicrosoftCloudAppSecurity} +} + // OSFamily enumerates the values for os family. type OSFamily string @@ -321,6 +689,92 @@ func PossibleOSFamilyValues() []OSFamily { return []OSFamily{Android, IOS, Linux, Windows} } +// RegistryHive enumerates the values for registry hive. +type RegistryHive string + +const ( + // HKEYA HKEY_A + HKEYA RegistryHive = "HKEY_A" + // HKEYCLASSESROOT HKEY_CLASSES_ROOT + HKEYCLASSESROOT RegistryHive = "HKEY_CLASSES_ROOT" + // HKEYCURRENTCONFIG HKEY_CURRENT_CONFIG + HKEYCURRENTCONFIG RegistryHive = "HKEY_CURRENT_CONFIG" + // HKEYCURRENTUSER HKEY_CURRENT_USER + HKEYCURRENTUSER RegistryHive = "HKEY_CURRENT_USER" + // HKEYCURRENTUSERLOCALSETTINGS HKEY_CURRENT_USER_LOCAL_SETTINGS + HKEYCURRENTUSERLOCALSETTINGS RegistryHive = "HKEY_CURRENT_USER_LOCAL_SETTINGS" + // HKEYLOCALMACHINE HKEY_LOCAL_MACHINE + HKEYLOCALMACHINE RegistryHive = "HKEY_LOCAL_MACHINE" + // HKEYPERFORMANCEDATA HKEY_PERFORMANCE_DATA + HKEYPERFORMANCEDATA RegistryHive = "HKEY_PERFORMANCE_DATA" + // HKEYPERFORMANCENLSTEXT HKEY_PERFORMANCE_NLSTEXT + HKEYPERFORMANCENLSTEXT RegistryHive = "HKEY_PERFORMANCE_NLSTEXT" + // HKEYPERFORMANCETEXT HKEY_PERFORMANCE_TEXT + HKEYPERFORMANCETEXT RegistryHive = "HKEY_PERFORMANCE_TEXT" + // HKEYUSERS HKEY_USERS + HKEYUSERS RegistryHive = "HKEY_USERS" +) + +// PossibleRegistryHiveValues returns an array of possible values for the RegistryHive const type. +func PossibleRegistryHiveValues() []RegistryHive { + return []RegistryHive{HKEYA, HKEYCLASSESROOT, HKEYCURRENTCONFIG, HKEYCURRENTUSER, HKEYCURRENTUSERLOCALSETTINGS, HKEYLOCALMACHINE, HKEYPERFORMANCEDATA, HKEYPERFORMANCENLSTEXT, HKEYPERFORMANCETEXT, HKEYUSERS} +} + +// RegistryValueKind enumerates the values for registry value kind. +type RegistryValueKind string + +const ( + // RegistryValueKindBinary Binary value type + RegistryValueKindBinary RegistryValueKind = "Binary" + // RegistryValueKindDWord DWord value type + RegistryValueKindDWord RegistryValueKind = "DWord" + // RegistryValueKindExpandString ExpandString value type + RegistryValueKindExpandString RegistryValueKind = "ExpandString" + // RegistryValueKindMultiString MultiString value type + RegistryValueKindMultiString RegistryValueKind = "MultiString" + // RegistryValueKindNone None + RegistryValueKindNone RegistryValueKind = "None" + // RegistryValueKindQWord QWord value type + RegistryValueKindQWord RegistryValueKind = "QWord" + // RegistryValueKindString String value type + RegistryValueKindString RegistryValueKind = "String" + // RegistryValueKindUnknown Unknown value type + RegistryValueKindUnknown RegistryValueKind = "Unknown" +) + +// PossibleRegistryValueKindValues returns an array of possible values for the RegistryValueKind const type. +func PossibleRegistryValueKindValues() []RegistryValueKind { + return []RegistryValueKind{RegistryValueKindBinary, RegistryValueKindDWord, RegistryValueKindExpandString, RegistryValueKindMultiString, RegistryValueKindNone, RegistryValueKindQWord, RegistryValueKindString, RegistryValueKindUnknown} +} + +// RelationNodeKind enumerates the values for relation node kind. +type RelationNodeKind string + +const ( + // RelationNodeKindBookmark Bookmark node part of the relation + RelationNodeKindBookmark RelationNodeKind = "Bookmark" + // RelationNodeKindCase Case node part of the relation + RelationNodeKindCase RelationNodeKind = "Case" +) + +// PossibleRelationNodeKindValues returns an array of possible values for the RelationNodeKind const type. +func PossibleRelationNodeKindValues() []RelationNodeKind { + return []RelationNodeKind{RelationNodeKindBookmark, RelationNodeKindCase} +} + +// RelationTypes enumerates the values for relation types. +type RelationTypes string + +const ( + // CasesToBookmarks Relations between cases and bookmarks + CasesToBookmarks RelationTypes = "CasesToBookmarks" +) + +// PossibleRelationTypesValues returns an array of possible values for the RelationTypes const type. +func PossibleRelationTypesValues() []RelationTypes { + return []RelationTypes{CasesToBookmarks} +} + // SettingKind enumerates the values for setting kind. type SettingKind string @@ -351,6 +805,23 @@ func PossibleStatusInMcasValues() []StatusInMcas { return []StatusInMcas{StatusInMcasDisabled, StatusInMcasEnabled} } +// TemplateStatus enumerates the values for template status. +type TemplateStatus string + +const ( + // Available Alert rule template is available. + Available TemplateStatus = "Available" + // Installed Alert rule template installed. and can not use more then once + Installed TemplateStatus = "Installed" + // NotAvailable Alert rule template is not available + NotAvailable TemplateStatus = "NotAvailable" +) + +// PossibleTemplateStatusValues returns an array of possible values for the TemplateStatus const type. +func PossibleTemplateStatusValues() []TemplateStatus { + return []TemplateStatus{Available, Installed, NotAvailable} +} + // TriggerOperator enumerates the values for trigger operator. type TriggerOperator string @@ -376,13 +847,13 @@ type AADDataConnector struct { *AADDataConnectorProperties `json:"properties,omitempty"` // ID - READ-ONLY; Azure resource Id ID *string `json:"id,omitempty"` - // Type - READ-ONLY; Azure resource type - Type *string `json:"type,omitempty"` // Name - READ-ONLY; Azure resource name Name *string `json:"name,omitempty"` - // Etag - Etag of the data connector. + // Type - READ-ONLY; Azure resource type + Type *string `json:"type,omitempty"` + // Etag - Etag of the azure resource Etag *string `json:"etag,omitempty"` - // Kind - Possible values include: 'KindDataConnector', 'KindOffice365', 'KindThreatIntelligence', 'KindAmazonWebServicesCloudTrail', 'KindAzureActiveDirectory', 'KindAzureSecurityCenter', 'KindMicrosoftCloudAppSecurity', 'KindAzureAdvancedThreatProtection', 'KindMicrosoftDefenderAdvancedThreatProtection' + // Kind - Possible values include: 'KindDataConnector', 'KindAzureActiveDirectory', 'KindAzureAdvancedThreatProtection', 'KindAzureSecurityCenter', 'KindAmazonWebServicesCloudTrail', 'KindMicrosoftCloudAppSecurity', 'KindMicrosoftDefenderAdvancedThreatProtection', 'KindOffice365', 'KindThreatIntelligence' Kind KindBasicDataConnector `json:"kind,omitempty"` } @@ -402,13 +873,18 @@ func (adc AADDataConnector) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } -// AsOfficeDataConnector is the BasicDataConnector implementation for AADDataConnector. -func (adc AADDataConnector) AsOfficeDataConnector() (*OfficeDataConnector, bool) { +// AsAADDataConnector is the BasicDataConnector implementation for AADDataConnector. +func (adc AADDataConnector) AsAADDataConnector() (*AADDataConnector, bool) { + return &adc, true +} + +// AsAATPDataConnector is the BasicDataConnector implementation for AADDataConnector. +func (adc AADDataConnector) AsAATPDataConnector() (*AATPDataConnector, bool) { return nil, false } -// AsTIDataConnector is the BasicDataConnector implementation for AADDataConnector. -func (adc AADDataConnector) AsTIDataConnector() (*TIDataConnector, bool) { +// AsASCDataConnector is the BasicDataConnector implementation for AADDataConnector. +func (adc AADDataConnector) AsASCDataConnector() (*ASCDataConnector, bool) { return nil, false } @@ -417,28 +893,23 @@ func (adc AADDataConnector) AsAwsCloudTrailDataConnector() (*AwsCloudTrailDataCo return nil, false } -// AsAADDataConnector is the BasicDataConnector implementation for AADDataConnector. -func (adc AADDataConnector) AsAADDataConnector() (*AADDataConnector, bool) { - return &adc, true -} - -// AsASCDataConnector is the BasicDataConnector implementation for AADDataConnector. -func (adc AADDataConnector) AsASCDataConnector() (*ASCDataConnector, bool) { +// AsMCASDataConnector is the BasicDataConnector implementation for AADDataConnector. +func (adc AADDataConnector) AsMCASDataConnector() (*MCASDataConnector, bool) { return nil, false } -// AsMCASDataConnector is the BasicDataConnector implementation for AADDataConnector. -func (adc AADDataConnector) AsMCASDataConnector() (*MCASDataConnector, bool) { +// AsMDATPDataConnector is the BasicDataConnector implementation for AADDataConnector. +func (adc AADDataConnector) AsMDATPDataConnector() (*MDATPDataConnector, bool) { return nil, false } -// AsAATPDataConnector is the BasicDataConnector implementation for AADDataConnector. -func (adc AADDataConnector) AsAATPDataConnector() (*AATPDataConnector, bool) { +// AsOfficeDataConnector is the BasicDataConnector implementation for AADDataConnector. +func (adc AADDataConnector) AsOfficeDataConnector() (*OfficeDataConnector, bool) { return nil, false } -// AsMDATPDataConnector is the BasicDataConnector implementation for AADDataConnector. -func (adc AADDataConnector) AsMDATPDataConnector() (*MDATPDataConnector, bool) { +// AsTIDataConnector is the BasicDataConnector implementation for AADDataConnector. +func (adc AADDataConnector) AsTIDataConnector() (*TIDataConnector, bool) { return nil, false } @@ -479,23 +950,23 @@ func (adc *AADDataConnector) UnmarshalJSON(body []byte) error { } adc.ID = &ID } - case "type": + case "name": if v != nil { - var typeVar string - err = json.Unmarshal(*v, &typeVar) + var name string + err = json.Unmarshal(*v, &name) if err != nil { return err } - adc.Type = &typeVar + adc.Name = &name } - case "name": + case "type": if v != nil { - var name string - err = json.Unmarshal(*v, &name) + var typeVar string + err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - adc.Name = &name + adc.Type = &typeVar } case "etag": if v != nil { @@ -535,13 +1006,13 @@ type AATPDataConnector struct { *AATPDataConnectorProperties `json:"properties,omitempty"` // ID - READ-ONLY; Azure resource Id ID *string `json:"id,omitempty"` - // Type - READ-ONLY; Azure resource type - Type *string `json:"type,omitempty"` // Name - READ-ONLY; Azure resource name Name *string `json:"name,omitempty"` - // Etag - Etag of the data connector. + // Type - READ-ONLY; Azure resource type + Type *string `json:"type,omitempty"` + // Etag - Etag of the azure resource Etag *string `json:"etag,omitempty"` - // Kind - Possible values include: 'KindDataConnector', 'KindOffice365', 'KindThreatIntelligence', 'KindAmazonWebServicesCloudTrail', 'KindAzureActiveDirectory', 'KindAzureSecurityCenter', 'KindMicrosoftCloudAppSecurity', 'KindAzureAdvancedThreatProtection', 'KindMicrosoftDefenderAdvancedThreatProtection' + // Kind - Possible values include: 'KindDataConnector', 'KindAzureActiveDirectory', 'KindAzureAdvancedThreatProtection', 'KindAzureSecurityCenter', 'KindAmazonWebServicesCloudTrail', 'KindMicrosoftCloudAppSecurity', 'KindMicrosoftDefenderAdvancedThreatProtection', 'KindOffice365', 'KindThreatIntelligence' Kind KindBasicDataConnector `json:"kind,omitempty"` } @@ -561,13 +1032,18 @@ func (adc AATPDataConnector) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } -// AsOfficeDataConnector is the BasicDataConnector implementation for AATPDataConnector. -func (adc AATPDataConnector) AsOfficeDataConnector() (*OfficeDataConnector, bool) { +// AsAADDataConnector is the BasicDataConnector implementation for AATPDataConnector. +func (adc AATPDataConnector) AsAADDataConnector() (*AADDataConnector, bool) { return nil, false } -// AsTIDataConnector is the BasicDataConnector implementation for AATPDataConnector. -func (adc AATPDataConnector) AsTIDataConnector() (*TIDataConnector, bool) { +// AsAATPDataConnector is the BasicDataConnector implementation for AATPDataConnector. +func (adc AATPDataConnector) AsAATPDataConnector() (*AATPDataConnector, bool) { + return &adc, true +} + +// AsASCDataConnector is the BasicDataConnector implementation for AATPDataConnector. +func (adc AATPDataConnector) AsASCDataConnector() (*ASCDataConnector, bool) { return nil, false } @@ -576,28 +1052,23 @@ func (adc AATPDataConnector) AsAwsCloudTrailDataConnector() (*AwsCloudTrailDataC return nil, false } -// AsAADDataConnector is the BasicDataConnector implementation for AATPDataConnector. -func (adc AATPDataConnector) AsAADDataConnector() (*AADDataConnector, bool) { +// AsMCASDataConnector is the BasicDataConnector implementation for AATPDataConnector. +func (adc AATPDataConnector) AsMCASDataConnector() (*MCASDataConnector, bool) { return nil, false } -// AsASCDataConnector is the BasicDataConnector implementation for AATPDataConnector. -func (adc AATPDataConnector) AsASCDataConnector() (*ASCDataConnector, bool) { +// AsMDATPDataConnector is the BasicDataConnector implementation for AATPDataConnector. +func (adc AATPDataConnector) AsMDATPDataConnector() (*MDATPDataConnector, bool) { return nil, false } -// AsMCASDataConnector is the BasicDataConnector implementation for AATPDataConnector. -func (adc AATPDataConnector) AsMCASDataConnector() (*MCASDataConnector, bool) { +// AsOfficeDataConnector is the BasicDataConnector implementation for AATPDataConnector. +func (adc AATPDataConnector) AsOfficeDataConnector() (*OfficeDataConnector, bool) { return nil, false } -// AsAATPDataConnector is the BasicDataConnector implementation for AATPDataConnector. -func (adc AATPDataConnector) AsAATPDataConnector() (*AATPDataConnector, bool) { - return &adc, true -} - -// AsMDATPDataConnector is the BasicDataConnector implementation for AATPDataConnector. -func (adc AATPDataConnector) AsMDATPDataConnector() (*MDATPDataConnector, bool) { +// AsTIDataConnector is the BasicDataConnector implementation for AATPDataConnector. +func (adc AATPDataConnector) AsTIDataConnector() (*TIDataConnector, bool) { return nil, false } @@ -638,23 +1109,23 @@ func (adc *AATPDataConnector) UnmarshalJSON(body []byte) error { } adc.ID = &ID } - case "type": + case "name": if v != nil { - var typeVar string - err = json.Unmarshal(*v, &typeVar) + var name string + err = json.Unmarshal(*v, &name) if err != nil { return err } - adc.Type = &typeVar + adc.Name = &name } - case "name": + case "type": if v != nil { - var name string - err = json.Unmarshal(*v, &name) + var typeVar string + err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - adc.Name = &name + adc.Type = &typeVar } case "etag": if v != nil { @@ -694,11 +1165,11 @@ type AccountEntity struct { *AccountEntityProperties `json:"properties,omitempty"` // ID - READ-ONLY; Azure resource Id ID *string `json:"id,omitempty"` - // Type - READ-ONLY; Azure resource type - Type *string `json:"type,omitempty"` // Name - READ-ONLY; Azure resource name Name *string `json:"name,omitempty"` - // Kind - Possible values include: 'KindEntity', 'KindAccount', 'KindHost', 'KindFile' + // Type - READ-ONLY; Azure resource type + Type *string `json:"type,omitempty"` + // Kind - Possible values include: 'KindEntity', 'KindAccount', 'KindAzureResource', 'KindCloudApplication', 'KindDNSResolution', 'KindFile', 'KindFileHash', 'KindHost', 'KindIP', 'KindMalware', 'KindProcess', 'KindRegistryKey', 'KindRegistryValue', 'KindSecurityAlert', 'KindSecurityGroup', 'KindURL' Kind KindBasicEntity `json:"kind,omitempty"` } @@ -720,8 +1191,18 @@ func (ae AccountEntity) AsAccountEntity() (*AccountEntity, bool) { return &ae, true } -// AsHostEntity is the BasicEntity implementation for AccountEntity. -func (ae AccountEntity) AsHostEntity() (*HostEntity, bool) { +// AsAzureResourceEntity is the BasicEntity implementation for AccountEntity. +func (ae AccountEntity) AsAzureResourceEntity() (*AzureResourceEntity, bool) { + return nil, false +} + +// AsCloudApplicationEntity is the BasicEntity implementation for AccountEntity. +func (ae AccountEntity) AsCloudApplicationEntity() (*CloudApplicationEntity, bool) { + return nil, false +} + +// AsDNSEntity is the BasicEntity implementation for AccountEntity. +func (ae AccountEntity) AsDNSEntity() (*DNSEntity, bool) { return nil, false } @@ -730,51 +1211,92 @@ func (ae AccountEntity) AsFileEntity() (*FileEntity, bool) { return nil, false } -// AsEntity is the BasicEntity implementation for AccountEntity. -func (ae AccountEntity) AsEntity() (*Entity, bool) { +// AsFileHashEntity is the BasicEntity implementation for AccountEntity. +func (ae AccountEntity) AsFileHashEntity() (*FileHashEntity, bool) { return nil, false } -// AsBasicEntity is the BasicEntity implementation for AccountEntity. -func (ae AccountEntity) AsBasicEntity() (BasicEntity, bool) { - return &ae, true +// AsHostEntity is the BasicEntity implementation for AccountEntity. +func (ae AccountEntity) AsHostEntity() (*HostEntity, bool) { + return nil, false } -// UnmarshalJSON is the custom unmarshaler for AccountEntity struct. -func (ae *AccountEntity) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - case "properties": - if v != nil { - var accountEntityProperties AccountEntityProperties - err = json.Unmarshal(*v, &accountEntityProperties) - if err != nil { - return err - } - ae.AccountEntityProperties = &accountEntityProperties - } - case "id": +// AsIPEntity is the BasicEntity implementation for AccountEntity. +func (ae AccountEntity) AsIPEntity() (*IPEntity, bool) { + return nil, false +} + +// AsMalwareEntity is the BasicEntity implementation for AccountEntity. +func (ae AccountEntity) AsMalwareEntity() (*MalwareEntity, bool) { + return nil, false +} + +// AsProcessEntity is the BasicEntity implementation for AccountEntity. +func (ae AccountEntity) AsProcessEntity() (*ProcessEntity, bool) { + return nil, false +} + +// AsRegistryKeyEntity is the BasicEntity implementation for AccountEntity. +func (ae AccountEntity) AsRegistryKeyEntity() (*RegistryKeyEntity, bool) { + return nil, false +} + +// AsRegistryValueEntity is the BasicEntity implementation for AccountEntity. +func (ae AccountEntity) AsRegistryValueEntity() (*RegistryValueEntity, bool) { + return nil, false +} + +// AsSecurityAlert is the BasicEntity implementation for AccountEntity. +func (ae AccountEntity) AsSecurityAlert() (*SecurityAlert, bool) { + return nil, false +} + +// AsSecurityGroupEntity is the BasicEntity implementation for AccountEntity. +func (ae AccountEntity) AsSecurityGroupEntity() (*SecurityGroupEntity, bool) { + return nil, false +} + +// AsURLEntity is the BasicEntity implementation for AccountEntity. +func (ae AccountEntity) AsURLEntity() (*URLEntity, bool) { + return nil, false +} + +// AsEntity is the BasicEntity implementation for AccountEntity. +func (ae AccountEntity) AsEntity() (*Entity, bool) { + return nil, false +} + +// AsBasicEntity is the BasicEntity implementation for AccountEntity. +func (ae AccountEntity) AsBasicEntity() (BasicEntity, bool) { + return &ae, true +} + +// UnmarshalJSON is the custom unmarshaler for AccountEntity struct. +func (ae *AccountEntity) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": if v != nil { - var ID string - err = json.Unmarshal(*v, &ID) + var accountEntityProperties AccountEntityProperties + err = json.Unmarshal(*v, &accountEntityProperties) if err != nil { return err } - ae.ID = &ID + ae.AccountEntityProperties = &accountEntityProperties } - case "type": + case "id": if v != nil { - var typeVar string - err = json.Unmarshal(*v, &typeVar) + var ID string + err = json.Unmarshal(*v, &ID) if err != nil { return err } - ae.Type = &typeVar + ae.ID = &ID } case "name": if v != nil { @@ -785,6 +1307,15 @@ func (ae *AccountEntity) UnmarshalJSON(body []byte) error { } ae.Name = &name } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ae.Type = &typeVar + } case "kind": if v != nil { var kind KindBasicEntity @@ -802,55 +1333,161 @@ func (ae *AccountEntity) UnmarshalJSON(body []byte) error { // AccountEntityProperties account entity property bag. type AccountEntityProperties struct { - // AccountName - READ-ONLY; The name of the account. This field should hold only the name without any domain added to it, i.e. administrator. - AccountName *string `json:"accountName,omitempty"` - // NtDomain - READ-ONLY; The NetBIOS domain name as it appears in the alert format – domain\username. Examples: NT AUTHORITY. - NtDomain *string `json:"ntDomain,omitempty"` - // UpnSuffix - READ-ONLY; The user principal name suffix for the account, in some cases it is also the domain name. Examples: contoso.com. - UpnSuffix *string `json:"upnSuffix,omitempty"` - // Sid - READ-ONLY; The account security identifier, e.g. S-1-5-18. - Sid *string `json:"sid,omitempty"` // AadTenantID - READ-ONLY; The Azure Active Directory tenant id. AadTenantID *string `json:"aadTenantId,omitempty"` // AadUserID - READ-ONLY; The Azure Active Directory user id. AadUserID *string `json:"aadUserId,omitempty"` - // Puid - READ-ONLY; The Azure Active Directory Passport User ID. - Puid *string `json:"puid,omitempty"` + // AccountName - READ-ONLY; The name of the account. This field should hold only the name without any domain added to it, i.e. administrator. + AccountName *string `json:"accountName,omitempty"` + // DisplayName - READ-ONLY; The display name of the account. + DisplayName *string `json:"displayName,omitempty"` + // HostEntityID - READ-ONLY; The Host entity id that contains the account in case it is a local account (not domain joined) + HostEntityID *string `json:"hostEntityId,omitempty"` // IsDomainJoined - READ-ONLY; Determines whether this is a domain account. IsDomainJoined *bool `json:"isDomainJoined,omitempty"` + // NtDomain - READ-ONLY; The NetBIOS domain name as it appears in the alert format – domain\username. Examples: NT AUTHORITY. + NtDomain *string `json:"ntDomain,omitempty"` // ObjectGUID - READ-ONLY; The objectGUID attribute is a single-value attribute that is the unique identifier for the object, assigned by active directory. ObjectGUID *uuid.UUID `json:"objectGuid,omitempty"` + // Puid - READ-ONLY; The Azure Active Directory Passport User ID. + Puid *string `json:"puid,omitempty"` + // Sid - READ-ONLY; The account security identifier, e.g. S-1-5-18. + Sid *string `json:"sid,omitempty"` + // UpnSuffix - READ-ONLY; The user principal name suffix for the account, in some cases it is also the domain name. Examples: contoso.com. + UpnSuffix *string `json:"upnSuffix,omitempty"` + // AdditionalData - READ-ONLY; A bag of custom fields that should be part of the entity and will be presented to the user. + AdditionalData map[string]interface{} `json:"additionalData"` + // FriendlyName - READ-ONLY; The graph item display name which is a short humanly readable description of the graph item instance. This property is optional and might be system generated. + FriendlyName *string `json:"friendlyName,omitempty"` +} + +// MarshalJSON is the custom marshaler for AccountEntityProperties. +func (aep AccountEntityProperties) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + return json.Marshal(objectMap) +} + +// ActionRequest action for alert rule. +type ActionRequest struct { + // ActionRequestProperties - Action properties for put request + *ActionRequestProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Azure resource Id + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Azure resource name + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Azure resource type + Type *string `json:"type,omitempty"` + // Etag - Etag of the azure resource + Etag *string `json:"etag,omitempty"` +} + +// MarshalJSON is the custom marshaler for ActionRequest. +func (ar ActionRequest) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if ar.ActionRequestProperties != nil { + objectMap["properties"] = ar.ActionRequestProperties + } + if ar.Etag != nil { + objectMap["etag"] = ar.Etag + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ActionRequest struct. +func (ar *ActionRequest) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var actionRequestProperties ActionRequestProperties + err = json.Unmarshal(*v, &actionRequestProperties) + if err != nil { + return err + } + ar.ActionRequestProperties = &actionRequestProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + ar.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + ar.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ar.Type = &typeVar + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + ar.Etag = &etag + } + } + } + + return nil +} + +// ActionRequestProperties action property bag. +type ActionRequestProperties struct { + // TriggerURI - Logic App Callback URL for this specific workflow. + TriggerURI *string `json:"triggerUri,omitempty"` } -// Action action for alert rule. -type Action struct { +// ActionResponse action for alert rule. +type ActionResponse struct { autorest.Response `json:"-"` // Etag - Etag of the action. Etag *string `json:"etag,omitempty"` - // ActionProperties - Action properties - *ActionProperties `json:"properties,omitempty"` + // ActionResponseProperties - Action properties for get request + *ActionResponseProperties `json:"properties,omitempty"` // ID - READ-ONLY; Azure resource Id ID *string `json:"id,omitempty"` - // Type - READ-ONLY; Azure resource type - Type *string `json:"type,omitempty"` // Name - READ-ONLY; Azure resource name Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Azure resource type + Type *string `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for Action. -func (a Action) MarshalJSON() ([]byte, error) { +// MarshalJSON is the custom marshaler for ActionResponse. +func (ar ActionResponse) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) - if a.Etag != nil { - objectMap["etag"] = a.Etag + if ar.Etag != nil { + objectMap["etag"] = ar.Etag } - if a.ActionProperties != nil { - objectMap["properties"] = a.ActionProperties + if ar.ActionResponseProperties != nil { + objectMap["properties"] = ar.ActionResponseProperties } return json.Marshal(objectMap) } -// UnmarshalJSON is the custom unmarshaler for Action struct. -func (a *Action) UnmarshalJSON(body []byte) error { +// UnmarshalJSON is the custom unmarshaler for ActionResponse struct. +func (ar *ActionResponse) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -865,16 +1502,16 @@ func (a *Action) UnmarshalJSON(body []byte) error { if err != nil { return err } - a.Etag = &etag + ar.Etag = &etag } case "properties": if v != nil { - var actionProperties ActionProperties - err = json.Unmarshal(*v, &actionProperties) + var actionResponseProperties ActionResponseProperties + err = json.Unmarshal(*v, &actionResponseProperties) if err != nil { return err } - a.ActionProperties = &actionProperties + ar.ActionResponseProperties = &actionResponseProperties } case "id": if v != nil { @@ -883,25 +1520,25 @@ func (a *Action) UnmarshalJSON(body []byte) error { if err != nil { return err } - a.ID = &ID + ar.ID = &ID } - case "type": + case "name": if v != nil { - var typeVar string - err = json.Unmarshal(*v, &typeVar) + var name string + err = json.Unmarshal(*v, &name) if err != nil { return err } - a.Type = &typeVar + ar.Name = &name } - case "name": + case "type": if v != nil { - var name string - err = json.Unmarshal(*v, &name) + var typeVar string + err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - a.Name = &name + ar.Type = &typeVar } } } @@ -909,10 +1546,10 @@ func (a *Action) UnmarshalJSON(body []byte) error { return nil } -// ActionProperties action property bag. -type ActionProperties struct { - // TriggerURI - The uri for the action to trigger. - TriggerURI *string `json:"triggerUri,omitempty"` +// ActionResponseProperties action property bag. +type ActionResponseProperties struct { + // WorkflowID - The name of the logic app's workflow. + WorkflowID *string `json:"workflowId,omitempty"` } // ActionsList list all the actions. @@ -921,10 +1558,10 @@ type ActionsList struct { // NextLink - READ-ONLY; URL to fetch the next set of actions. NextLink *string `json:"nextLink,omitempty"` // Value - Array of actions. - Value *[]Action `json:"value,omitempty"` + Value *[]ActionResponse `json:"value,omitempty"` } -// ActionsListIterator provides access to a complete listing of Action values. +// ActionsListIterator provides access to a complete listing of ActionResponse values. type ActionsListIterator struct { i int page ActionsListPage @@ -975,9 +1612,9 @@ func (iter ActionsListIterator) Response() ActionsList { // Value returns the current value or a zero-initialized value if the // iterator has advanced beyond the end of the collection. -func (iter ActionsListIterator) Value() Action { +func (iter ActionsListIterator) Value() ActionResponse { if !iter.page.NotDone() { - return Action{} + return ActionResponse{} } return iter.page.Values()[iter.i] } @@ -1004,7 +1641,7 @@ func (al ActionsList) actionsListPreparer(ctx context.Context) (*http.Request, e autorest.WithBaseURL(to.String(al.NextLink))) } -// ActionsListPage contains a page of Action values. +// ActionsListPage contains a page of ActionResponse values. type ActionsListPage struct { fn func(context.Context, ActionsList) (ActionsList, error) al ActionsList @@ -1049,7 +1686,7 @@ func (page ActionsListPage) Response() ActionsList { } // Values returns the slice of values for the current page or nil if there are no values. -func (page ActionsListPage) Values() []Action { +func (page ActionsListPage) Values() []ActionResponse { if page.al.IsEmpty() { return nil } @@ -1072,12 +1709,12 @@ type Aggregations struct { autorest.Response `json:"-"` // ID - READ-ONLY; Azure resource Id ID *string `json:"id,omitempty"` - // Type - READ-ONLY; Azure resource type - Type *string `json:"type,omitempty"` // Name - READ-ONLY; Azure resource name Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Azure resource type + Type *string `json:"type,omitempty"` // Kind - Possible values include: 'KindAggregations', 'KindCasesAggregation' - Kind KindBasicAggregations `json:"kind,omitempty"` + Kind Kind `json:"kind,omitempty"` } func unmarshalBasicAggregations(body []byte) (BasicAggregations, error) { @@ -1167,6 +1804,8 @@ func (am *AggregationsModel) UnmarshalJSON(body []byte) error { // BasicAlertRule alert rule. type BasicAlertRule interface { + AsFusionAlertRule() (*FusionAlertRule, bool) + AsMicrosoftSecurityIncidentCreationAlertRule() (*MicrosoftSecurityIncidentCreationAlertRule, bool) AsScheduledAlertRule() (*ScheduledAlertRule, bool) AsAlertRule() (*AlertRule, bool) } @@ -1176,14 +1815,14 @@ type AlertRule struct { autorest.Response `json:"-"` // ID - READ-ONLY; Azure resource Id ID *string `json:"id,omitempty"` - // Type - READ-ONLY; Azure resource type - Type *string `json:"type,omitempty"` // Name - READ-ONLY; Azure resource name Name *string `json:"name,omitempty"` - // Etag - Etag of the alert rule. + // Type - READ-ONLY; Azure resource type + Type *string `json:"type,omitempty"` + // Etag - Etag of the azure resource Etag *string `json:"etag,omitempty"` - // Kind - Possible values include: 'KindAlertRule', 'KindScheduled' - Kind Kind `json:"kind,omitempty"` + // Kind - Possible values include: 'KindAlertRule', 'KindFusion', 'KindMicrosoftSecurityIncidentCreation', 'KindScheduled' + Kind KindBasicAlertRule `json:"kind,omitempty"` } func unmarshalBasicAlertRule(body []byte) (BasicAlertRule, error) { @@ -1194,6 +1833,14 @@ func unmarshalBasicAlertRule(body []byte) (BasicAlertRule, error) { } switch m["kind"] { + case string(KindFusion): + var far FusionAlertRule + err := json.Unmarshal(body, &far) + return far, err + case string(KindMicrosoftSecurityIncidentCreation): + var msicar MicrosoftSecurityIncidentCreationAlertRule + err := json.Unmarshal(body, &msicar) + return msicar, err case string(KindScheduled): var sar ScheduledAlertRule err := json.Unmarshal(body, &sar) @@ -1236,6 +1883,16 @@ func (ar AlertRule) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } +// AsFusionAlertRule is the BasicAlertRule implementation for AlertRule. +func (ar AlertRule) AsFusionAlertRule() (*FusionAlertRule, bool) { + return nil, false +} + +// AsMicrosoftSecurityIncidentCreationAlertRule is the BasicAlertRule implementation for AlertRule. +func (ar AlertRule) AsMicrosoftSecurityIncidentCreationAlertRule() (*MicrosoftSecurityIncidentCreationAlertRule, bool) { + return nil, false +} + // AsScheduledAlertRule is the BasicAlertRule implementation for AlertRule. func (ar AlertRule) AsScheduledAlertRule() (*ScheduledAlertRule, bool) { return nil, false @@ -1253,7 +1910,7 @@ func (ar AlertRule) AsBasicAlertRule() (BasicAlertRule, bool) { // AlertRuleKind1 describes an Azure resource with kind. type AlertRuleKind1 struct { - // Kind - The kind of the alert rule. Possible values include: 'Scheduled' + // Kind - The kind of the alert rule. Possible values include: 'Scheduled', 'MicrosoftSecurityIncidentCreation', 'Fusion' Kind AlertRuleKind `json:"kind,omitempty"` } @@ -1452,82 +2109,386 @@ func NewAlertRulesListPage(getNextPage func(context.Context, AlertRulesList) (Al return AlertRulesListPage{fn: getNextPage} } -// AlertsDataTypeOfDataConnector alerts data type for data connectors. -type AlertsDataTypeOfDataConnector struct { - // Alerts - Alerts data type connection. - Alerts *AlertsDataTypeOfDataConnectorAlerts `json:"alerts,omitempty"` -} - -// AlertsDataTypeOfDataConnectorAlerts alerts data type connection. -type AlertsDataTypeOfDataConnectorAlerts struct { - // State - Describe whether this data type connection is enabled or not. Possible values include: 'Enabled', 'Disabled' - State DataTypeState `json:"state,omitempty"` +// BasicAlertRuleTemplate alert rule template. +type BasicAlertRuleTemplate interface { + AsFusionAlertRuleTemplate() (*FusionAlertRuleTemplate, bool) + AsMicrosoftSecurityIncidentCreationAlertRuleTemplate() (*MicrosoftSecurityIncidentCreationAlertRuleTemplate, bool) + AsScheduledAlertRuleTemplate() (*ScheduledAlertRuleTemplate, bool) + AsAlertRuleTemplate() (*AlertRuleTemplate, bool) } -// ASCDataConnector represents ASC (Azure Security Center) data connector. -type ASCDataConnector struct { - // ASCDataConnectorProperties - ASC (Azure Security Center) data connector properties. - *ASCDataConnectorProperties `json:"properties,omitempty"` +// AlertRuleTemplate alert rule template. +type AlertRuleTemplate struct { + autorest.Response `json:"-"` // ID - READ-ONLY; Azure resource Id ID *string `json:"id,omitempty"` - // Type - READ-ONLY; Azure resource type - Type *string `json:"type,omitempty"` // Name - READ-ONLY; Azure resource name Name *string `json:"name,omitempty"` - // Etag - Etag of the data connector. - Etag *string `json:"etag,omitempty"` - // Kind - Possible values include: 'KindDataConnector', 'KindOffice365', 'KindThreatIntelligence', 'KindAmazonWebServicesCloudTrail', 'KindAzureActiveDirectory', 'KindAzureSecurityCenter', 'KindMicrosoftCloudAppSecurity', 'KindAzureAdvancedThreatProtection', 'KindMicrosoftDefenderAdvancedThreatProtection' - Kind KindBasicDataConnector `json:"kind,omitempty"` + // Type - READ-ONLY; Azure resource type + Type *string `json:"type,omitempty"` + // Kind - Possible values include: 'KindBasicAlertRuleTemplateKindAlertRuleTemplate', 'KindBasicAlertRuleTemplateKindFusion', 'KindBasicAlertRuleTemplateKindMicrosoftSecurityIncidentCreation', 'KindBasicAlertRuleTemplateKindScheduled' + Kind KindBasicAlertRuleTemplate `json:"kind,omitempty"` } -// MarshalJSON is the custom marshaler for ASCDataConnector. -func (adc ASCDataConnector) MarshalJSON() ([]byte, error) { - adc.Kind = KindAzureSecurityCenter - objectMap := make(map[string]interface{}) - if adc.ASCDataConnectorProperties != nil { - objectMap["properties"] = adc.ASCDataConnectorProperties +func unmarshalBasicAlertRuleTemplate(body []byte) (BasicAlertRuleTemplate, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err } - if adc.Etag != nil { - objectMap["etag"] = adc.Etag + + switch m["kind"] { + case string(KindBasicAlertRuleTemplateKindFusion): + var fart FusionAlertRuleTemplate + err := json.Unmarshal(body, &fart) + return fart, err + case string(KindBasicAlertRuleTemplateKindMicrosoftSecurityIncidentCreation): + var msicart MicrosoftSecurityIncidentCreationAlertRuleTemplate + err := json.Unmarshal(body, &msicart) + return msicart, err + case string(KindBasicAlertRuleTemplateKindScheduled): + var sart ScheduledAlertRuleTemplate + err := json.Unmarshal(body, &sart) + return sart, err + default: + var art AlertRuleTemplate + err := json.Unmarshal(body, &art) + return art, err } - if adc.Kind != "" { - objectMap["kind"] = adc.Kind +} +func unmarshalBasicAlertRuleTemplateArray(body []byte) ([]BasicAlertRuleTemplate, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + artArray := make([]BasicAlertRuleTemplate, len(rawMessages)) + + for index, rawMessage := range rawMessages { + art, err := unmarshalBasicAlertRuleTemplate(*rawMessage) + if err != nil { + return nil, err + } + artArray[index] = art + } + return artArray, nil +} + +// MarshalJSON is the custom marshaler for AlertRuleTemplate. +func (art AlertRuleTemplate) MarshalJSON() ([]byte, error) { + art.Kind = KindBasicAlertRuleTemplateKindAlertRuleTemplate + objectMap := make(map[string]interface{}) + if art.Kind != "" { + objectMap["kind"] = art.Kind } return json.Marshal(objectMap) } -// AsOfficeDataConnector is the BasicDataConnector implementation for ASCDataConnector. -func (adc ASCDataConnector) AsOfficeDataConnector() (*OfficeDataConnector, bool) { +// AsFusionAlertRuleTemplate is the BasicAlertRuleTemplate implementation for AlertRuleTemplate. +func (art AlertRuleTemplate) AsFusionAlertRuleTemplate() (*FusionAlertRuleTemplate, bool) { return nil, false } -// AsTIDataConnector is the BasicDataConnector implementation for ASCDataConnector. -func (adc ASCDataConnector) AsTIDataConnector() (*TIDataConnector, bool) { +// AsMicrosoftSecurityIncidentCreationAlertRuleTemplate is the BasicAlertRuleTemplate implementation for AlertRuleTemplate. +func (art AlertRuleTemplate) AsMicrosoftSecurityIncidentCreationAlertRuleTemplate() (*MicrosoftSecurityIncidentCreationAlertRuleTemplate, bool) { return nil, false } -// AsAwsCloudTrailDataConnector is the BasicDataConnector implementation for ASCDataConnector. -func (adc ASCDataConnector) AsAwsCloudTrailDataConnector() (*AwsCloudTrailDataConnector, bool) { +// AsScheduledAlertRuleTemplate is the BasicAlertRuleTemplate implementation for AlertRuleTemplate. +func (art AlertRuleTemplate) AsScheduledAlertRuleTemplate() (*ScheduledAlertRuleTemplate, bool) { return nil, false } +// AsAlertRuleTemplate is the BasicAlertRuleTemplate implementation for AlertRuleTemplate. +func (art AlertRuleTemplate) AsAlertRuleTemplate() (*AlertRuleTemplate, bool) { + return &art, true +} + +// AsBasicAlertRuleTemplate is the BasicAlertRuleTemplate implementation for AlertRuleTemplate. +func (art AlertRuleTemplate) AsBasicAlertRuleTemplate() (BasicAlertRuleTemplate, bool) { + return &art, true +} + +// AlertRuleTemplateModel ... +type AlertRuleTemplateModel struct { + autorest.Response `json:"-"` + Value BasicAlertRuleTemplate `json:"value,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for AlertRuleTemplateModel struct. +func (artm *AlertRuleTemplateModel) UnmarshalJSON(body []byte) error { + art, err := unmarshalBasicAlertRuleTemplate(body) + if err != nil { + return err + } + artm.Value = art + + return nil +} + +// AlertRuleTemplatePropertiesBase base alert rule template property bag. +type AlertRuleTemplatePropertiesBase struct { + // AlertRulesCreatedByTemplateCount - the number of alert rules that were created by this template + AlertRulesCreatedByTemplateCount *int32 `json:"alertRulesCreatedByTemplateCount,omitempty"` + // CreatedDateUTC - READ-ONLY; The time that this alert rule template has been added. + CreatedDateUTC *date.Time `json:"createdDateUTC,omitempty"` + // Description - The description of the alert rule template. + Description *string `json:"description,omitempty"` + // DisplayName - The display name for alert rule template. + DisplayName *string `json:"displayName,omitempty"` + // RequiredDataConnectors - The required data connectors for this template + RequiredDataConnectors *[]DataConnectorStatus `json:"requiredDataConnectors,omitempty"` + // Status - The alert rule template status. Possible values include: 'Installed', 'Available', 'NotAvailable' + Status TemplateStatus `json:"status,omitempty"` + // Tactics - The tactics of the alert rule template + Tactics *[]AttackTactic `json:"tactics,omitempty"` +} + +// AlertRuleTemplatesList list all the alert rule templates. +type AlertRuleTemplatesList struct { + autorest.Response `json:"-"` + // NextLink - READ-ONLY; URL to fetch the next set of alert rule templates. + NextLink *string `json:"nextLink,omitempty"` + // Value - Array of alert rule templates. + Value *[]BasicAlertRuleTemplate `json:"value,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for AlertRuleTemplatesList struct. +func (artl *AlertRuleTemplatesList) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "nextLink": + if v != nil { + var nextLink string + err = json.Unmarshal(*v, &nextLink) + if err != nil { + return err + } + artl.NextLink = &nextLink + } + case "value": + if v != nil { + value, err := unmarshalBasicAlertRuleTemplateArray(*v) + if err != nil { + return err + } + artl.Value = &value + } + } + } + + return nil +} + +// AlertRuleTemplatesListIterator provides access to a complete listing of AlertRuleTemplate values. +type AlertRuleTemplatesListIterator struct { + i int + page AlertRuleTemplatesListPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *AlertRuleTemplatesListIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AlertRuleTemplatesListIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *AlertRuleTemplatesListIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter AlertRuleTemplatesListIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter AlertRuleTemplatesListIterator) Response() AlertRuleTemplatesList { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter AlertRuleTemplatesListIterator) Value() BasicAlertRuleTemplate { + if !iter.page.NotDone() { + return AlertRuleTemplate{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the AlertRuleTemplatesListIterator type. +func NewAlertRuleTemplatesListIterator(page AlertRuleTemplatesListPage) AlertRuleTemplatesListIterator { + return AlertRuleTemplatesListIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (artl AlertRuleTemplatesList) IsEmpty() bool { + return artl.Value == nil || len(*artl.Value) == 0 +} + +// alertRuleTemplatesListPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (artl AlertRuleTemplatesList) alertRuleTemplatesListPreparer(ctx context.Context) (*http.Request, error) { + if artl.NextLink == nil || len(to.String(artl.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(artl.NextLink))) +} + +// AlertRuleTemplatesListPage contains a page of BasicAlertRuleTemplate values. +type AlertRuleTemplatesListPage struct { + fn func(context.Context, AlertRuleTemplatesList) (AlertRuleTemplatesList, error) + artl AlertRuleTemplatesList +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *AlertRuleTemplatesListPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AlertRuleTemplatesListPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.artl) + if err != nil { + return err + } + page.artl = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *AlertRuleTemplatesListPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page AlertRuleTemplatesListPage) NotDone() bool { + return !page.artl.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page AlertRuleTemplatesListPage) Response() AlertRuleTemplatesList { + return page.artl +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page AlertRuleTemplatesListPage) Values() []BasicAlertRuleTemplate { + if page.artl.IsEmpty() { + return nil + } + return *page.artl.Value +} + +// Creates a new instance of the AlertRuleTemplatesListPage type. +func NewAlertRuleTemplatesListPage(getNextPage func(context.Context, AlertRuleTemplatesList) (AlertRuleTemplatesList, error)) AlertRuleTemplatesListPage { + return AlertRuleTemplatesListPage{fn: getNextPage} +} + +// AlertsDataTypeOfDataConnector alerts data type for data connectors. +type AlertsDataTypeOfDataConnector struct { + // Alerts - Alerts data type connection. + Alerts *AlertsDataTypeOfDataConnectorAlerts `json:"alerts,omitempty"` +} + +// AlertsDataTypeOfDataConnectorAlerts alerts data type connection. +type AlertsDataTypeOfDataConnectorAlerts struct { + // State - Describe whether this data type connection is enabled or not. Possible values include: 'Enabled', 'Disabled' + State DataTypeState `json:"state,omitempty"` +} + +// ASCDataConnector represents ASC (Azure Security Center) data connector. +type ASCDataConnector struct { + // ASCDataConnectorProperties - ASC (Azure Security Center) data connector properties. + *ASCDataConnectorProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Azure resource Id + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Azure resource name + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Azure resource type + Type *string `json:"type,omitempty"` + // Etag - Etag of the azure resource + Etag *string `json:"etag,omitempty"` + // Kind - Possible values include: 'KindDataConnector', 'KindAzureActiveDirectory', 'KindAzureAdvancedThreatProtection', 'KindAzureSecurityCenter', 'KindAmazonWebServicesCloudTrail', 'KindMicrosoftCloudAppSecurity', 'KindMicrosoftDefenderAdvancedThreatProtection', 'KindOffice365', 'KindThreatIntelligence' + Kind KindBasicDataConnector `json:"kind,omitempty"` +} + +// MarshalJSON is the custom marshaler for ASCDataConnector. +func (adc ASCDataConnector) MarshalJSON() ([]byte, error) { + adc.Kind = KindAzureSecurityCenter + objectMap := make(map[string]interface{}) + if adc.ASCDataConnectorProperties != nil { + objectMap["properties"] = adc.ASCDataConnectorProperties + } + if adc.Etag != nil { + objectMap["etag"] = adc.Etag + } + if adc.Kind != "" { + objectMap["kind"] = adc.Kind + } + return json.Marshal(objectMap) +} + // AsAADDataConnector is the BasicDataConnector implementation for ASCDataConnector. func (adc ASCDataConnector) AsAADDataConnector() (*AADDataConnector, bool) { return nil, false } +// AsAATPDataConnector is the BasicDataConnector implementation for ASCDataConnector. +func (adc ASCDataConnector) AsAATPDataConnector() (*AATPDataConnector, bool) { + return nil, false +} + // AsASCDataConnector is the BasicDataConnector implementation for ASCDataConnector. func (adc ASCDataConnector) AsASCDataConnector() (*ASCDataConnector, bool) { return &adc, true } -// AsMCASDataConnector is the BasicDataConnector implementation for ASCDataConnector. -func (adc ASCDataConnector) AsMCASDataConnector() (*MCASDataConnector, bool) { +// AsAwsCloudTrailDataConnector is the BasicDataConnector implementation for ASCDataConnector. +func (adc ASCDataConnector) AsAwsCloudTrailDataConnector() (*AwsCloudTrailDataConnector, bool) { return nil, false } -// AsAATPDataConnector is the BasicDataConnector implementation for ASCDataConnector. -func (adc ASCDataConnector) AsAATPDataConnector() (*AATPDataConnector, bool) { +// AsMCASDataConnector is the BasicDataConnector implementation for ASCDataConnector. +func (adc ASCDataConnector) AsMCASDataConnector() (*MCASDataConnector, bool) { return nil, false } @@ -1536,6 +2497,16 @@ func (adc ASCDataConnector) AsMDATPDataConnector() (*MDATPDataConnector, bool) { return nil, false } +// AsOfficeDataConnector is the BasicDataConnector implementation for ASCDataConnector. +func (adc ASCDataConnector) AsOfficeDataConnector() (*OfficeDataConnector, bool) { + return nil, false +} + +// AsTIDataConnector is the BasicDataConnector implementation for ASCDataConnector. +func (adc ASCDataConnector) AsTIDataConnector() (*TIDataConnector, bool) { + return nil, false +} + // AsDataConnector is the BasicDataConnector implementation for ASCDataConnector. func (adc ASCDataConnector) AsDataConnector() (*DataConnector, bool) { return nil, false @@ -1573,23 +2544,23 @@ func (adc *ASCDataConnector) UnmarshalJSON(body []byte) error { } adc.ID = &ID } - case "type": + case "name": if v != nil { - var typeVar string - err = json.Unmarshal(*v, &typeVar) + var name string + err = json.Unmarshal(*v, &name) if err != nil { return err } - adc.Type = &typeVar + adc.Name = &name } - case "name": + case "type": if v != nil { - var name string - err = json.Unmarshal(*v, &name) + var typeVar string + err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - adc.Name = &name + adc.Type = &typeVar } case "etag": if v != nil { @@ -1615,7 +2586,7 @@ func (adc *ASCDataConnector) UnmarshalJSON(body []byte) error { return nil } -// ASCDataConnectorProperties MCAS (Microsoft Cloud App Security) data connector properties. +// ASCDataConnectorProperties ASC (Azure Security Center) data connector properties. type ASCDataConnectorProperties struct { // SubscriptionID - The subscription id to connect to, and get the data from. SubscriptionID *string `json:"subscriptionId,omitempty"` @@ -1629,13 +2600,13 @@ type AwsCloudTrailDataConnector struct { *AwsCloudTrailDataConnectorProperties `json:"properties,omitempty"` // ID - READ-ONLY; Azure resource Id ID *string `json:"id,omitempty"` - // Type - READ-ONLY; Azure resource type - Type *string `json:"type,omitempty"` // Name - READ-ONLY; Azure resource name Name *string `json:"name,omitempty"` - // Etag - Etag of the data connector. + // Type - READ-ONLY; Azure resource type + Type *string `json:"type,omitempty"` + // Etag - Etag of the azure resource Etag *string `json:"etag,omitempty"` - // Kind - Possible values include: 'KindDataConnector', 'KindOffice365', 'KindThreatIntelligence', 'KindAmazonWebServicesCloudTrail', 'KindAzureActiveDirectory', 'KindAzureSecurityCenter', 'KindMicrosoftCloudAppSecurity', 'KindAzureAdvancedThreatProtection', 'KindMicrosoftDefenderAdvancedThreatProtection' + // Kind - Possible values include: 'KindDataConnector', 'KindAzureActiveDirectory', 'KindAzureAdvancedThreatProtection', 'KindAzureSecurityCenter', 'KindAmazonWebServicesCloudTrail', 'KindMicrosoftCloudAppSecurity', 'KindMicrosoftDefenderAdvancedThreatProtection', 'KindOffice365', 'KindThreatIntelligence' Kind KindBasicDataConnector `json:"kind,omitempty"` } @@ -1655,13 +2626,18 @@ func (actdc AwsCloudTrailDataConnector) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } -// AsOfficeDataConnector is the BasicDataConnector implementation for AwsCloudTrailDataConnector. -func (actdc AwsCloudTrailDataConnector) AsOfficeDataConnector() (*OfficeDataConnector, bool) { +// AsAADDataConnector is the BasicDataConnector implementation for AwsCloudTrailDataConnector. +func (actdc AwsCloudTrailDataConnector) AsAADDataConnector() (*AADDataConnector, bool) { return nil, false } -// AsTIDataConnector is the BasicDataConnector implementation for AwsCloudTrailDataConnector. -func (actdc AwsCloudTrailDataConnector) AsTIDataConnector() (*TIDataConnector, bool) { +// AsAATPDataConnector is the BasicDataConnector implementation for AwsCloudTrailDataConnector. +func (actdc AwsCloudTrailDataConnector) AsAATPDataConnector() (*AATPDataConnector, bool) { + return nil, false +} + +// AsASCDataConnector is the BasicDataConnector implementation for AwsCloudTrailDataConnector. +func (actdc AwsCloudTrailDataConnector) AsASCDataConnector() (*ASCDataConnector, bool) { return nil, false } @@ -1670,28 +2646,23 @@ func (actdc AwsCloudTrailDataConnector) AsAwsCloudTrailDataConnector() (*AwsClou return &actdc, true } -// AsAADDataConnector is the BasicDataConnector implementation for AwsCloudTrailDataConnector. -func (actdc AwsCloudTrailDataConnector) AsAADDataConnector() (*AADDataConnector, bool) { +// AsMCASDataConnector is the BasicDataConnector implementation for AwsCloudTrailDataConnector. +func (actdc AwsCloudTrailDataConnector) AsMCASDataConnector() (*MCASDataConnector, bool) { return nil, false } -// AsASCDataConnector is the BasicDataConnector implementation for AwsCloudTrailDataConnector. -func (actdc AwsCloudTrailDataConnector) AsASCDataConnector() (*ASCDataConnector, bool) { - return nil, false -} - -// AsMCASDataConnector is the BasicDataConnector implementation for AwsCloudTrailDataConnector. -func (actdc AwsCloudTrailDataConnector) AsMCASDataConnector() (*MCASDataConnector, bool) { +// AsMDATPDataConnector is the BasicDataConnector implementation for AwsCloudTrailDataConnector. +func (actdc AwsCloudTrailDataConnector) AsMDATPDataConnector() (*MDATPDataConnector, bool) { return nil, false } -// AsAATPDataConnector is the BasicDataConnector implementation for AwsCloudTrailDataConnector. -func (actdc AwsCloudTrailDataConnector) AsAATPDataConnector() (*AATPDataConnector, bool) { +// AsOfficeDataConnector is the BasicDataConnector implementation for AwsCloudTrailDataConnector. +func (actdc AwsCloudTrailDataConnector) AsOfficeDataConnector() (*OfficeDataConnector, bool) { return nil, false } -// AsMDATPDataConnector is the BasicDataConnector implementation for AwsCloudTrailDataConnector. -func (actdc AwsCloudTrailDataConnector) AsMDATPDataConnector() (*MDATPDataConnector, bool) { +// AsTIDataConnector is the BasicDataConnector implementation for AwsCloudTrailDataConnector. +func (actdc AwsCloudTrailDataConnector) AsTIDataConnector() (*TIDataConnector, bool) { return nil, false } @@ -1732,23 +2703,23 @@ func (actdc *AwsCloudTrailDataConnector) UnmarshalJSON(body []byte) error { } actdc.ID = &ID } - case "type": + case "name": if v != nil { - var typeVar string - err = json.Unmarshal(*v, &typeVar) + var name string + err = json.Unmarshal(*v, &name) if err != nil { return err } - actdc.Type = &typeVar + actdc.Name = &name } - case "name": + case "type": if v != nil { - var name string - err = json.Unmarshal(*v, &name) + var typeVar string + err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - actdc.Name = &name + actdc.Type = &typeVar } case "etag": if v != nil { @@ -1795,30 +2766,218 @@ type AwsCloudTrailDataConnectorProperties struct { DataTypes *AwsCloudTrailDataConnectorDataTypes `json:"dataTypes,omitempty"` } +// AzureResourceEntity represents an azure resource entity. +type AzureResourceEntity struct { + // AzureResourceEntityProperties - AzureResource entity properties + *AzureResourceEntityProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Azure resource Id + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Azure resource name + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Azure resource type + Type *string `json:"type,omitempty"` + // Kind - Possible values include: 'KindEntity', 'KindAccount', 'KindAzureResource', 'KindCloudApplication', 'KindDNSResolution', 'KindFile', 'KindFileHash', 'KindHost', 'KindIP', 'KindMalware', 'KindProcess', 'KindRegistryKey', 'KindRegistryValue', 'KindSecurityAlert', 'KindSecurityGroup', 'KindURL' + Kind KindBasicEntity `json:"kind,omitempty"` +} + +// MarshalJSON is the custom marshaler for AzureResourceEntity. +func (are AzureResourceEntity) MarshalJSON() ([]byte, error) { + are.Kind = KindAzureResource + objectMap := make(map[string]interface{}) + if are.AzureResourceEntityProperties != nil { + objectMap["properties"] = are.AzureResourceEntityProperties + } + if are.Kind != "" { + objectMap["kind"] = are.Kind + } + return json.Marshal(objectMap) +} + +// AsAccountEntity is the BasicEntity implementation for AzureResourceEntity. +func (are AzureResourceEntity) AsAccountEntity() (*AccountEntity, bool) { + return nil, false +} + +// AsAzureResourceEntity is the BasicEntity implementation for AzureResourceEntity. +func (are AzureResourceEntity) AsAzureResourceEntity() (*AzureResourceEntity, bool) { + return &are, true +} + +// AsCloudApplicationEntity is the BasicEntity implementation for AzureResourceEntity. +func (are AzureResourceEntity) AsCloudApplicationEntity() (*CloudApplicationEntity, bool) { + return nil, false +} + +// AsDNSEntity is the BasicEntity implementation for AzureResourceEntity. +func (are AzureResourceEntity) AsDNSEntity() (*DNSEntity, bool) { + return nil, false +} + +// AsFileEntity is the BasicEntity implementation for AzureResourceEntity. +func (are AzureResourceEntity) AsFileEntity() (*FileEntity, bool) { + return nil, false +} + +// AsFileHashEntity is the BasicEntity implementation for AzureResourceEntity. +func (are AzureResourceEntity) AsFileHashEntity() (*FileHashEntity, bool) { + return nil, false +} + +// AsHostEntity is the BasicEntity implementation for AzureResourceEntity. +func (are AzureResourceEntity) AsHostEntity() (*HostEntity, bool) { + return nil, false +} + +// AsIPEntity is the BasicEntity implementation for AzureResourceEntity. +func (are AzureResourceEntity) AsIPEntity() (*IPEntity, bool) { + return nil, false +} + +// AsMalwareEntity is the BasicEntity implementation for AzureResourceEntity. +func (are AzureResourceEntity) AsMalwareEntity() (*MalwareEntity, bool) { + return nil, false +} + +// AsProcessEntity is the BasicEntity implementation for AzureResourceEntity. +func (are AzureResourceEntity) AsProcessEntity() (*ProcessEntity, bool) { + return nil, false +} + +// AsRegistryKeyEntity is the BasicEntity implementation for AzureResourceEntity. +func (are AzureResourceEntity) AsRegistryKeyEntity() (*RegistryKeyEntity, bool) { + return nil, false +} + +// AsRegistryValueEntity is the BasicEntity implementation for AzureResourceEntity. +func (are AzureResourceEntity) AsRegistryValueEntity() (*RegistryValueEntity, bool) { + return nil, false +} + +// AsSecurityAlert is the BasicEntity implementation for AzureResourceEntity. +func (are AzureResourceEntity) AsSecurityAlert() (*SecurityAlert, bool) { + return nil, false +} + +// AsSecurityGroupEntity is the BasicEntity implementation for AzureResourceEntity. +func (are AzureResourceEntity) AsSecurityGroupEntity() (*SecurityGroupEntity, bool) { + return nil, false +} + +// AsURLEntity is the BasicEntity implementation for AzureResourceEntity. +func (are AzureResourceEntity) AsURLEntity() (*URLEntity, bool) { + return nil, false +} + +// AsEntity is the BasicEntity implementation for AzureResourceEntity. +func (are AzureResourceEntity) AsEntity() (*Entity, bool) { + return nil, false +} + +// AsBasicEntity is the BasicEntity implementation for AzureResourceEntity. +func (are AzureResourceEntity) AsBasicEntity() (BasicEntity, bool) { + return &are, true +} + +// UnmarshalJSON is the custom unmarshaler for AzureResourceEntity struct. +func (are *AzureResourceEntity) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var azureResourceEntityProperties AzureResourceEntityProperties + err = json.Unmarshal(*v, &azureResourceEntityProperties) + if err != nil { + return err + } + are.AzureResourceEntityProperties = &azureResourceEntityProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + are.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + are.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + are.Type = &typeVar + } + case "kind": + if v != nil { + var kind KindBasicEntity + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + are.Kind = kind + } + } + } + + return nil +} + +// AzureResourceEntityProperties azureResource entity property bag. +type AzureResourceEntityProperties struct { + // ResourceID - READ-ONLY; The azure resource id of the resource + ResourceID *string `json:"resourceId,omitempty"` + // AdditionalData - READ-ONLY; A bag of custom fields that should be part of the entity and will be presented to the user. + AdditionalData map[string]interface{} `json:"additionalData"` + // FriendlyName - READ-ONLY; The graph item display name which is a short humanly readable description of the graph item instance. This property is optional and might be system generated. + FriendlyName *string `json:"friendlyName,omitempty"` +} + +// MarshalJSON is the custom marshaler for AzureResourceEntityProperties. +func (arep AzureResourceEntityProperties) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + return json.Marshal(objectMap) +} + // Bookmark represents a bookmark in Azure Security Insights. type Bookmark struct { autorest.Response `json:"-"` - // Etag - Etag of the bookmark. - Etag *string `json:"etag,omitempty"` // BookmarkProperties - Bookmark properties *BookmarkProperties `json:"properties,omitempty"` // ID - READ-ONLY; Azure resource Id ID *string `json:"id,omitempty"` - // Type - READ-ONLY; Azure resource type - Type *string `json:"type,omitempty"` // Name - READ-ONLY; Azure resource name Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Azure resource type + Type *string `json:"type,omitempty"` + // Etag - Etag of the azure resource + Etag *string `json:"etag,omitempty"` } // MarshalJSON is the custom marshaler for Bookmark. func (b Bookmark) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) - if b.Etag != nil { - objectMap["etag"] = b.Etag - } if b.BookmarkProperties != nil { objectMap["properties"] = b.BookmarkProperties } + if b.Etag != nil { + objectMap["etag"] = b.Etag + } return json.Marshal(objectMap) } @@ -1831,15 +2990,6 @@ func (b *Bookmark) UnmarshalJSON(body []byte) error { } for k, v := range m { switch k { - case "etag": - if v != nil { - var etag string - err = json.Unmarshal(*v, &etag) - if err != nil { - return err - } - b.Etag = &etag - } case "properties": if v != nil { var bookmarkProperties BookmarkProperties @@ -1858,6 +3008,15 @@ func (b *Bookmark) UnmarshalJSON(body []byte) error { } b.ID = &ID } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + b.Name = &name + } case "type": if v != nil { var typeVar string @@ -1867,14 +3026,14 @@ func (b *Bookmark) UnmarshalJSON(body []byte) error { } b.Type = &typeVar } - case "name": + case "etag": if v != nil { - var name string - err = json.Unmarshal(*v, &name) + var etag string + err = json.Unmarshal(*v, &etag) if err != nil { return err } - b.Name = &name + b.Etag = &etag } } } @@ -2030,53 +3189,57 @@ func NewBookmarkListPage(getNextPage func(context.Context, BookmarkList) (Bookma // BookmarkProperties describes bookmark properties type BookmarkProperties struct { - // DisplayName - The display name of the bookmark - DisplayName *string `json:"displayName,omitempty"` - // LastUpdatedTimeUtc - The last time the bookmark was updated - LastUpdatedTimeUtc *date.Time `json:"lastUpdatedTimeUtc,omitempty"` - // CreatedTimeUtc - The time the bookmark was created - CreatedTimeUtc *date.Time `json:"createdTimeUtc,omitempty"` + // Created - The time the bookmark was created + Created *date.Time `json:"created,omitempty"` // CreatedBy - Describes a user that created the bookmark CreatedBy *UserInfo `json:"createdBy,omitempty"` - // UpdatedBy - Describes a user that updated the bookmark - UpdatedBy *UserInfo `json:"updatedBy,omitempty"` - // Notes - The notes of the bookmark - Notes *string `json:"notes,omitempty"` + // DisplayName - The display name of the bookmark + DisplayName *string `json:"displayName,omitempty"` // Labels - List of labels relevant to this bookmark Labels *[]string `json:"labels,omitempty"` + // Notes - The notes of the bookmark + Notes *string `json:"notes,omitempty"` // Query - The query of the bookmark. Query *string `json:"query,omitempty"` + // QueryResult - The query result of the bookmark. + QueryResult *string `json:"queryResult,omitempty"` + // Updated - The last time the bookmark was updated + Updated *date.Time `json:"updated,omitempty"` + // UpdatedBy - Describes a user that updated the bookmark + UpdatedBy *UserInfo `json:"updatedBy,omitempty"` } -// Case represents a case in Azure Security Insights. -type Case struct { +// BookmarkRelation represents a bookmark relation +type BookmarkRelation struct { autorest.Response `json:"-"` - // Etag - Etag of the alert rule. + // BookmarkRelationProperties - Bookmark relation properties + *BookmarkRelationProperties `json:"properties,omitempty"` + // Kind - READ-ONLY; The type of relation node. Possible values include: 'CasesToBookmarks' + Kind RelationTypes `json:"kind,omitempty"` + // Etag - ETag for relation Etag *string `json:"etag,omitempty"` - // CaseProperties - Case properties - *CaseProperties `json:"properties,omitempty"` // ID - READ-ONLY; Azure resource Id ID *string `json:"id,omitempty"` - // Type - READ-ONLY; Azure resource type - Type *string `json:"type,omitempty"` // Name - READ-ONLY; Azure resource name Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Azure resource type + Type *string `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for Case. -func (c Case) MarshalJSON() ([]byte, error) { +// MarshalJSON is the custom marshaler for BookmarkRelation. +func (br BookmarkRelation) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) - if c.Etag != nil { - objectMap["etag"] = c.Etag + if br.BookmarkRelationProperties != nil { + objectMap["properties"] = br.BookmarkRelationProperties } - if c.CaseProperties != nil { - objectMap["properties"] = c.CaseProperties + if br.Etag != nil { + objectMap["etag"] = br.Etag } return json.Marshal(objectMap) } -// UnmarshalJSON is the custom unmarshaler for Case struct. -func (c *Case) UnmarshalJSON(body []byte) error { +// UnmarshalJSON is the custom unmarshaler for BookmarkRelation struct. +func (br *BookmarkRelation) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -2084,41 +3247,41 @@ func (c *Case) UnmarshalJSON(body []byte) error { } for k, v := range m { switch k { - case "etag": + case "properties": if v != nil { - var etag string - err = json.Unmarshal(*v, &etag) + var bookmarkRelationProperties BookmarkRelationProperties + err = json.Unmarshal(*v, &bookmarkRelationProperties) if err != nil { return err } - c.Etag = &etag + br.BookmarkRelationProperties = &bookmarkRelationProperties } - case "properties": + case "kind": if v != nil { - var caseProperties CaseProperties - err = json.Unmarshal(*v, &caseProperties) + var kind RelationTypes + err = json.Unmarshal(*v, &kind) if err != nil { return err } - c.CaseProperties = &caseProperties + br.Kind = kind } - case "id": + case "etag": if v != nil { - var ID string - err = json.Unmarshal(*v, &ID) + var etag string + err = json.Unmarshal(*v, &etag) if err != nil { return err } - c.ID = &ID + br.Etag = &etag } - case "type": + case "id": if v != nil { - var typeVar string - err = json.Unmarshal(*v, &typeVar) + var ID string + err = json.Unmarshal(*v, &ID) if err != nil { return err } - c.Type = &typeVar + br.ID = &ID } case "name": if v != nil { @@ -2127,7 +3290,16 @@ func (c *Case) UnmarshalJSON(body []byte) error { if err != nil { return err } - c.Name = &name + br.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + br.Type = &typeVar } } } @@ -2135,26 +3307,26 @@ func (c *Case) UnmarshalJSON(body []byte) error { return nil } -// CaseList list all the cases. -type CaseList struct { +// BookmarkRelationList list of bookmark relations. +type BookmarkRelationList struct { autorest.Response `json:"-"` - // NextLink - READ-ONLY; URL to fetch the next set of cases. + // NextLink - READ-ONLY; URL to fetch the next set of relations. NextLink *string `json:"nextLink,omitempty"` - // Value - Array of cases. - Value *[]Case `json:"value,omitempty"` + // Value - Array of relations. + Value *[]BookmarkRelation `json:"value,omitempty"` } -// CaseListIterator provides access to a complete listing of Case values. -type CaseListIterator struct { +// BookmarkRelationListIterator provides access to a complete listing of BookmarkRelation values. +type BookmarkRelationListIterator struct { i int - page CaseListPage + page BookmarkRelationListPage } // NextWithContext advances to the next value. If there was an error making // the request the iterator does not advance and the error is returned. -func (iter *CaseListIterator) NextWithContext(ctx context.Context) (err error) { +func (iter *BookmarkRelationListIterator) NextWithContext(ctx context.Context) (err error) { if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/CaseListIterator.NextWithContext") + ctx = tracing.StartSpan(ctx, fqdn+"/BookmarkRelationListIterator.NextWithContext") defer func() { sc := -1 if iter.Response().Response.Response != nil { @@ -2179,62 +3351,62 @@ func (iter *CaseListIterator) NextWithContext(ctx context.Context) (err error) { // Next advances to the next value. If there was an error making // the request the iterator does not advance and the error is returned. // Deprecated: Use NextWithContext() instead. -func (iter *CaseListIterator) Next() error { +func (iter *BookmarkRelationListIterator) Next() error { return iter.NextWithContext(context.Background()) } // NotDone returns true if the enumeration should be started or is not yet complete. -func (iter CaseListIterator) NotDone() bool { +func (iter BookmarkRelationListIterator) NotDone() bool { return iter.page.NotDone() && iter.i < len(iter.page.Values()) } // Response returns the raw server response from the last page request. -func (iter CaseListIterator) Response() CaseList { +func (iter BookmarkRelationListIterator) Response() BookmarkRelationList { return iter.page.Response() } // Value returns the current value or a zero-initialized value if the // iterator has advanced beyond the end of the collection. -func (iter CaseListIterator) Value() Case { +func (iter BookmarkRelationListIterator) Value() BookmarkRelation { if !iter.page.NotDone() { - return Case{} + return BookmarkRelation{} } return iter.page.Values()[iter.i] } -// Creates a new instance of the CaseListIterator type. -func NewCaseListIterator(page CaseListPage) CaseListIterator { - return CaseListIterator{page: page} +// Creates a new instance of the BookmarkRelationListIterator type. +func NewBookmarkRelationListIterator(page BookmarkRelationListPage) BookmarkRelationListIterator { + return BookmarkRelationListIterator{page: page} } // IsEmpty returns true if the ListResult contains no values. -func (cl CaseList) IsEmpty() bool { - return cl.Value == nil || len(*cl.Value) == 0 +func (brl BookmarkRelationList) IsEmpty() bool { + return brl.Value == nil || len(*brl.Value) == 0 } -// caseListPreparer prepares a request to retrieve the next set of results. +// bookmarkRelationListPreparer prepares a request to retrieve the next set of results. // It returns nil if no more results exist. -func (cl CaseList) caseListPreparer(ctx context.Context) (*http.Request, error) { - if cl.NextLink == nil || len(to.String(cl.NextLink)) < 1 { +func (brl BookmarkRelationList) bookmarkRelationListPreparer(ctx context.Context) (*http.Request, error) { + if brl.NextLink == nil || len(to.String(brl.NextLink)) < 1 { return nil, nil } return autorest.Prepare((&http.Request{}).WithContext(ctx), autorest.AsJSON(), autorest.AsGet(), - autorest.WithBaseURL(to.String(cl.NextLink))) + autorest.WithBaseURL(to.String(brl.NextLink))) } -// CaseListPage contains a page of Case values. -type CaseListPage struct { - fn func(context.Context, CaseList) (CaseList, error) - cl CaseList +// BookmarkRelationListPage contains a page of BookmarkRelation values. +type BookmarkRelationListPage struct { + fn func(context.Context, BookmarkRelationList) (BookmarkRelationList, error) + brl BookmarkRelationList } // NextWithContext advances to the next page of values. If there was an error making // the request the page does not advance and the error is returned. -func (page *CaseListPage) NextWithContext(ctx context.Context) (err error) { +func (page *BookmarkRelationListPage) NextWithContext(ctx context.Context) (err error) { if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/CaseListPage.NextWithContext") + ctx = tracing.StartSpan(ctx, fqdn+"/BookmarkRelationListPage.NextWithContext") defer func() { sc := -1 if page.Response().Response.Response != nil { @@ -2243,114 +3415,87 @@ func (page *CaseListPage) NextWithContext(ctx context.Context) (err error) { tracing.EndSpan(ctx, sc, err) }() } - next, err := page.fn(ctx, page.cl) + next, err := page.fn(ctx, page.brl) if err != nil { return err } - page.cl = next + page.brl = next return nil } // Next advances to the next page of values. If there was an error making // the request the page does not advance and the error is returned. // Deprecated: Use NextWithContext() instead. -func (page *CaseListPage) Next() error { +func (page *BookmarkRelationListPage) Next() error { return page.NextWithContext(context.Background()) } // NotDone returns true if the page enumeration should be started or is not yet complete. -func (page CaseListPage) NotDone() bool { - return !page.cl.IsEmpty() +func (page BookmarkRelationListPage) NotDone() bool { + return !page.brl.IsEmpty() } // Response returns the raw server response from the last page request. -func (page CaseListPage) Response() CaseList { - return page.cl +func (page BookmarkRelationListPage) Response() BookmarkRelationList { + return page.brl } // Values returns the slice of values for the current page or nil if there are no values. -func (page CaseListPage) Values() []Case { - if page.cl.IsEmpty() { +func (page BookmarkRelationListPage) Values() []BookmarkRelation { + if page.brl.IsEmpty() { return nil } - return *page.cl.Value + return *page.brl.Value } -// Creates a new instance of the CaseListPage type. -func NewCaseListPage(getNextPage func(context.Context, CaseList) (CaseList, error)) CaseListPage { - return CaseListPage{fn: getNextPage} +// Creates a new instance of the BookmarkRelationListPage type. +func NewBookmarkRelationListPage(getNextPage func(context.Context, BookmarkRelationList) (BookmarkRelationList, error)) BookmarkRelationListPage { + return BookmarkRelationListPage{fn: getNextPage} } -// CaseProperties describes case properties -type CaseProperties struct { - // LastUpdatedTimeUtc - The last time the case was updated - LastUpdatedTimeUtc *date.Time `json:"lastUpdatedTimeUtc,omitempty"` - // CreatedTimeUtc - The time the case was created - CreatedTimeUtc *date.Time `json:"createdTimeUtc,omitempty"` - // EndTimeUtc - The end time of the case - EndTimeUtc *date.Time `json:"endTimeUtc,omitempty"` - // StartTimeUtc - The start time of the case - StartTimeUtc *date.Time `json:"startTimeUtc,omitempty"` - // Labels - List of labels relevant to this case - Labels *[]string `json:"labels,omitempty"` - // Description - The description of the case - Description *string `json:"description,omitempty"` - // Title - The title of the case - Title *string `json:"title,omitempty"` - // AssignedTo - Describes a user that the case is assigned to - AssignedTo *UserInfo `json:"assignedTo,omitempty"` - // Severity - The severity of the case. Possible values include: 'CaseSeverityCritical', 'CaseSeverityHigh', 'CaseSeverityMedium', 'CaseSeverityLow', 'CaseSeverityInformational' - Severity CaseSeverity `json:"severity,omitempty"` - // Status - The status of the case. Possible values include: 'CaseStatusDraft', 'CaseStatusNew', 'CaseStatusInProgress', 'CaseStatusClosed' - Status CaseStatus `json:"status,omitempty"` - // CloseReason - The reason the case was closed. Possible values include: 'Resolved', 'Dismissed', 'Other' - CloseReason CloseReason `json:"closeReason,omitempty"` +// BookmarkRelationProperties bookmark relation properties +type BookmarkRelationProperties struct { + // RelationName - Name of relation + RelationName *string `json:"relationName,omitempty"` + // BookmarkID - The case related bookmark id + BookmarkID *string `json:"bookmarkId,omitempty"` + // CaseIdentifier - The case identifier + CaseIdentifier *string `json:"caseIdentifier,omitempty"` + // CaseTitle - The case title + CaseTitle *string `json:"caseTitle,omitempty"` + // CaseSeverity - The case severity + CaseSeverity *string `json:"caseSeverity,omitempty"` } -// CasesAggregation represents aggregations results for cases. -type CasesAggregation struct { - // CasesAggregationProperties - Properties of aggregations results of cases. - *CasesAggregationProperties `json:"properties,omitempty"` +// Case represents a case in Azure Security Insights. +type Case struct { + autorest.Response `json:"-"` + // CaseProperties - Case properties + *CaseProperties `json:"properties,omitempty"` // ID - READ-ONLY; Azure resource Id ID *string `json:"id,omitempty"` - // Type - READ-ONLY; Azure resource type - Type *string `json:"type,omitempty"` // Name - READ-ONLY; Azure resource name Name *string `json:"name,omitempty"` - // Kind - Possible values include: 'KindAggregations', 'KindCasesAggregation' - Kind KindBasicAggregations `json:"kind,omitempty"` + // Type - READ-ONLY; Azure resource type + Type *string `json:"type,omitempty"` + // Etag - Etag of the azure resource + Etag *string `json:"etag,omitempty"` } -// MarshalJSON is the custom marshaler for CasesAggregation. -func (ca CasesAggregation) MarshalJSON() ([]byte, error) { - ca.Kind = KindCasesAggregation +// MarshalJSON is the custom marshaler for Case. +func (c Case) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) - if ca.CasesAggregationProperties != nil { - objectMap["properties"] = ca.CasesAggregationProperties + if c.CaseProperties != nil { + objectMap["properties"] = c.CaseProperties } - if ca.Kind != "" { - objectMap["kind"] = ca.Kind + if c.Etag != nil { + objectMap["etag"] = c.Etag } return json.Marshal(objectMap) } -// AsCasesAggregation is the BasicAggregations implementation for CasesAggregation. -func (ca CasesAggregation) AsCasesAggregation() (*CasesAggregation, bool) { - return &ca, true -} - -// AsAggregations is the BasicAggregations implementation for CasesAggregation. -func (ca CasesAggregation) AsAggregations() (*Aggregations, bool) { - return nil, false -} - -// AsBasicAggregations is the BasicAggregations implementation for CasesAggregation. -func (ca CasesAggregation) AsBasicAggregations() (BasicAggregations, bool) { - return &ca, true -} - -// UnmarshalJSON is the custom unmarshaler for CasesAggregation struct. -func (ca *CasesAggregation) UnmarshalJSON(body []byte) error { +// UnmarshalJSON is the custom unmarshaler for Case struct. +func (c *Case) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -2360,12 +3505,12 @@ func (ca *CasesAggregation) UnmarshalJSON(body []byte) error { switch k { case "properties": if v != nil { - var casesAggregationProperties CasesAggregationProperties - err = json.Unmarshal(*v, &casesAggregationProperties) + var caseProperties CaseProperties + err = json.Unmarshal(*v, &caseProperties) if err != nil { return err } - ca.CasesAggregationProperties = &casesAggregationProperties + c.CaseProperties = &caseProperties } case "id": if v != nil { @@ -2374,34 +3519,34 @@ func (ca *CasesAggregation) UnmarshalJSON(body []byte) error { if err != nil { return err } - ca.ID = &ID + c.ID = &ID } - case "type": + case "name": if v != nil { - var typeVar string - err = json.Unmarshal(*v, &typeVar) + var name string + err = json.Unmarshal(*v, &name) if err != nil { return err } - ca.Type = &typeVar + c.Name = &name } - case "name": + case "type": if v != nil { - var name string - err = json.Unmarshal(*v, &name) + var typeVar string + err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - ca.Name = &name + c.Type = &typeVar } - case "kind": + case "etag": if v != nil { - var kind KindBasicAggregations - err = json.Unmarshal(*v, &kind) + var etag string + err = json.Unmarshal(*v, &etag) if err != nil { return err } - ca.Kind = kind + c.Etag = &etag } } } @@ -2409,57 +3554,30 @@ func (ca *CasesAggregation) UnmarshalJSON(body []byte) error { return nil } -// CasesAggregationBySeverityProperties aggregative results of cases by severity property bag. -type CasesAggregationBySeverityProperties struct { - // TotalCriticalSeverity - READ-ONLY; Total amount of open cases with severity Critical - TotalCriticalSeverity *int32 `json:"totalCriticalSeverity,omitempty"` - // TotalHighSeverity - READ-ONLY; Total amount of open cases with severity High - TotalHighSeverity *int32 `json:"totalHighSeverity,omitempty"` - // TotalMediumSeverity - READ-ONLY; Total amount of open cases with severity medium - TotalMediumSeverity *int32 `json:"totalMediumSeverity,omitempty"` - // TotalLowSeverity - READ-ONLY; Total amount of open cases with severity Low - TotalLowSeverity *int32 `json:"totalLowSeverity,omitempty"` - // TotalInformationalSeverity - READ-ONLY; Total amount of open cases with severity Informational - TotalInformationalSeverity *int32 `json:"totalInformationalSeverity,omitempty"` -} - -// CasesAggregationByStatusProperties aggregative results of cases by status property bag. -type CasesAggregationByStatusProperties struct { - // TotalNewStatus - READ-ONLY; Total amount of open cases with status New - TotalNewStatus *int32 `json:"totalNewStatus,omitempty"` - // TotalInProgressStatus - READ-ONLY; Total amount of open cases with status InProgress - TotalInProgressStatus *int32 `json:"totalInProgressStatus,omitempty"` - // TotalResolvedStatus - READ-ONLY; Total amount of open cases with status Resolved - TotalResolvedStatus *int32 `json:"totalResolvedStatus,omitempty"` - // TotalDismissedStatus - READ-ONLY; Total amount of open cases with status Dismissed - TotalDismissedStatus *int32 `json:"totalDismissedStatus,omitempty"` -} - -// CasesAggregationProperties aggregative results of cases property bag. -type CasesAggregationProperties struct { - // AggregationBySeverity - Aggregations results by case severity. - AggregationBySeverity *CasesAggregationBySeverityProperties `json:"aggregationBySeverity,omitempty"` - // AggregationByStatus - Aggregations results by case status. - AggregationByStatus *CasesAggregationByStatusProperties `json:"aggregationByStatus,omitempty"` -} - -// CloudError error response structure. -type CloudError struct { - // CloudErrorBody - Error data - *CloudErrorBody `json:"error,omitempty"` +// CaseComment represents a case comment +type CaseComment struct { + autorest.Response `json:"-"` + // CaseCommentProperties - Case comment properties + *CaseCommentProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Azure resource Id + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Azure resource name + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Azure resource type + Type *string `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for CloudError. -func (ce CloudError) MarshalJSON() ([]byte, error) { +// MarshalJSON is the custom marshaler for CaseComment. +func (cc CaseComment) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) - if ce.CloudErrorBody != nil { - objectMap["error"] = ce.CloudErrorBody + if cc.CaseCommentProperties != nil { + objectMap["properties"] = cc.CaseCommentProperties } return json.Marshal(objectMap) } -// UnmarshalJSON is the custom unmarshaler for CloudError struct. -func (ce *CloudError) UnmarshalJSON(body []byte) error { +// UnmarshalJSON is the custom unmarshaler for CaseComment struct. +func (cc *CaseComment) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -2467,14 +3585,41 @@ func (ce *CloudError) UnmarshalJSON(body []byte) error { } for k, v := range m { switch k { - case "error": + case "properties": if v != nil { - var cloudErrorBody CloudErrorBody - err = json.Unmarshal(*v, &cloudErrorBody) + var caseCommentProperties CaseCommentProperties + err = json.Unmarshal(*v, &caseCommentProperties) if err != nil { return err } - ce.CloudErrorBody = &cloudErrorBody + cc.CaseCommentProperties = &caseCommentProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + cc.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + cc.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + cc.Type = &typeVar } } } @@ -2482,234 +3627,26 @@ func (ce *CloudError) UnmarshalJSON(body []byte) error { return nil } -// CloudErrorBody error details. -type CloudErrorBody struct { - // Code - READ-ONLY; An identifier for the error. Codes are invariant and are intended to be consumed programmatically. - Code *string `json:"code,omitempty"` - // Message - READ-ONLY; A message describing the error, intended to be suitable for display in a user interface. - Message *string `json:"message,omitempty"` -} - -// BasicDataConnector data connector. -type BasicDataConnector interface { - AsOfficeDataConnector() (*OfficeDataConnector, bool) - AsTIDataConnector() (*TIDataConnector, bool) - AsAwsCloudTrailDataConnector() (*AwsCloudTrailDataConnector, bool) - AsAADDataConnector() (*AADDataConnector, bool) - AsASCDataConnector() (*ASCDataConnector, bool) - AsMCASDataConnector() (*MCASDataConnector, bool) - AsAATPDataConnector() (*AATPDataConnector, bool) - AsMDATPDataConnector() (*MDATPDataConnector, bool) - AsDataConnector() (*DataConnector, bool) +// CaseCommentList list of case comments. +type CaseCommentList struct { + autorest.Response `json:"-"` + // NextLink - READ-ONLY; URL to fetch the next set of comments. + NextLink *string `json:"nextLink,omitempty"` + // Value - Array of comments. + Value *[]CaseComment `json:"value,omitempty"` } -// DataConnector data connector. -type DataConnector struct { - autorest.Response `json:"-"` - // ID - READ-ONLY; Azure resource Id - ID *string `json:"id,omitempty"` - // Type - READ-ONLY; Azure resource type - Type *string `json:"type,omitempty"` - // Name - READ-ONLY; Azure resource name - Name *string `json:"name,omitempty"` - // Etag - Etag of the data connector. - Etag *string `json:"etag,omitempty"` - // Kind - Possible values include: 'KindDataConnector', 'KindOffice365', 'KindThreatIntelligence', 'KindAmazonWebServicesCloudTrail', 'KindAzureActiveDirectory', 'KindAzureSecurityCenter', 'KindMicrosoftCloudAppSecurity', 'KindAzureAdvancedThreatProtection', 'KindMicrosoftDefenderAdvancedThreatProtection' - Kind KindBasicDataConnector `json:"kind,omitempty"` -} - -func unmarshalBasicDataConnector(body []byte) (BasicDataConnector, error) { - var m map[string]interface{} - err := json.Unmarshal(body, &m) - if err != nil { - return nil, err - } - - switch m["kind"] { - case string(KindOffice365): - var odc OfficeDataConnector - err := json.Unmarshal(body, &odc) - return odc, err - case string(KindThreatIntelligence): - var tdc TIDataConnector - err := json.Unmarshal(body, &tdc) - return tdc, err - case string(KindAmazonWebServicesCloudTrail): - var actdc AwsCloudTrailDataConnector - err := json.Unmarshal(body, &actdc) - return actdc, err - case string(KindAzureActiveDirectory): - var adc AADDataConnector - err := json.Unmarshal(body, &adc) - return adc, err - case string(KindAzureSecurityCenter): - var adc ASCDataConnector - err := json.Unmarshal(body, &adc) - return adc, err - case string(KindMicrosoftCloudAppSecurity): - var mdc MCASDataConnector - err := json.Unmarshal(body, &mdc) - return mdc, err - case string(KindAzureAdvancedThreatProtection): - var adc AATPDataConnector - err := json.Unmarshal(body, &adc) - return adc, err - case string(KindMicrosoftDefenderAdvancedThreatProtection): - var mdc MDATPDataConnector - err := json.Unmarshal(body, &mdc) - return mdc, err - default: - var dc DataConnector - err := json.Unmarshal(body, &dc) - return dc, err - } -} -func unmarshalBasicDataConnectorArray(body []byte) ([]BasicDataConnector, error) { - var rawMessages []*json.RawMessage - err := json.Unmarshal(body, &rawMessages) - if err != nil { - return nil, err - } - - dcArray := make([]BasicDataConnector, len(rawMessages)) - - for index, rawMessage := range rawMessages { - dc, err := unmarshalBasicDataConnector(*rawMessage) - if err != nil { - return nil, err - } - dcArray[index] = dc - } - return dcArray, nil -} - -// MarshalJSON is the custom marshaler for DataConnector. -func (dc DataConnector) MarshalJSON() ([]byte, error) { - dc.Kind = KindDataConnector - objectMap := make(map[string]interface{}) - if dc.Etag != nil { - objectMap["etag"] = dc.Etag - } - if dc.Kind != "" { - objectMap["kind"] = dc.Kind - } - return json.Marshal(objectMap) -} - -// AsOfficeDataConnector is the BasicDataConnector implementation for DataConnector. -func (dc DataConnector) AsOfficeDataConnector() (*OfficeDataConnector, bool) { - return nil, false -} - -// AsTIDataConnector is the BasicDataConnector implementation for DataConnector. -func (dc DataConnector) AsTIDataConnector() (*TIDataConnector, bool) { - return nil, false -} - -// AsAwsCloudTrailDataConnector is the BasicDataConnector implementation for DataConnector. -func (dc DataConnector) AsAwsCloudTrailDataConnector() (*AwsCloudTrailDataConnector, bool) { - return nil, false -} - -// AsAADDataConnector is the BasicDataConnector implementation for DataConnector. -func (dc DataConnector) AsAADDataConnector() (*AADDataConnector, bool) { - return nil, false -} - -// AsASCDataConnector is the BasicDataConnector implementation for DataConnector. -func (dc DataConnector) AsASCDataConnector() (*ASCDataConnector, bool) { - return nil, false -} - -// AsMCASDataConnector is the BasicDataConnector implementation for DataConnector. -func (dc DataConnector) AsMCASDataConnector() (*MCASDataConnector, bool) { - return nil, false -} - -// AsAATPDataConnector is the BasicDataConnector implementation for DataConnector. -func (dc DataConnector) AsAATPDataConnector() (*AATPDataConnector, bool) { - return nil, false -} - -// AsMDATPDataConnector is the BasicDataConnector implementation for DataConnector. -func (dc DataConnector) AsMDATPDataConnector() (*MDATPDataConnector, bool) { - return nil, false -} - -// AsDataConnector is the BasicDataConnector implementation for DataConnector. -func (dc DataConnector) AsDataConnector() (*DataConnector, bool) { - return &dc, true -} - -// AsBasicDataConnector is the BasicDataConnector implementation for DataConnector. -func (dc DataConnector) AsBasicDataConnector() (BasicDataConnector, bool) { - return &dc, true -} - -// DataConnectorDataTypeCommon common field for data type in data connectors. -type DataConnectorDataTypeCommon struct { - // State - Describe whether this data type connection is enabled or not. Possible values include: 'Enabled', 'Disabled' - State DataTypeState `json:"state,omitempty"` -} - -// DataConnectorKind1 describes an Azure resource with kind. -type DataConnectorKind1 struct { - // Kind - The kind of the data connector. Possible values include: 'AzureActiveDirectory', 'AzureSecurityCenter', 'MicrosoftCloudAppSecurity', 'ThreatIntelligence', 'Office365', 'AmazonWebServicesCloudTrail', 'AzureAdvancedThreatProtection', 'MicrosoftDefenderAdvancedThreatProtection' - Kind DataConnectorKind `json:"kind,omitempty"` -} - -// DataConnectorList list all the data connectors. -type DataConnectorList struct { - autorest.Response `json:"-"` - // NextLink - READ-ONLY; URL to fetch the next set of data connectors. - NextLink *string `json:"nextLink,omitempty"` - // Value - Array of data connectors. - Value *[]BasicDataConnector `json:"value,omitempty"` -} - -// UnmarshalJSON is the custom unmarshaler for DataConnectorList struct. -func (dcl *DataConnectorList) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - case "nextLink": - if v != nil { - var nextLink string - err = json.Unmarshal(*v, &nextLink) - if err != nil { - return err - } - dcl.NextLink = &nextLink - } - case "value": - if v != nil { - value, err := unmarshalBasicDataConnectorArray(*v) - if err != nil { - return err - } - dcl.Value = &value - } - } - } - - return nil -} - -// DataConnectorListIterator provides access to a complete listing of DataConnector values. -type DataConnectorListIterator struct { - i int - page DataConnectorListPage +// CaseCommentListIterator provides access to a complete listing of CaseComment values. +type CaseCommentListIterator struct { + i int + page CaseCommentListPage } // NextWithContext advances to the next value. If there was an error making // the request the iterator does not advance and the error is returned. -func (iter *DataConnectorListIterator) NextWithContext(ctx context.Context) (err error) { +func (iter *CaseCommentListIterator) NextWithContext(ctx context.Context) (err error) { if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/DataConnectorListIterator.NextWithContext") + ctx = tracing.StartSpan(ctx, fqdn+"/CaseCommentListIterator.NextWithContext") defer func() { sc := -1 if iter.Response().Response.Response != nil { @@ -2734,62 +3671,62 @@ func (iter *DataConnectorListIterator) NextWithContext(ctx context.Context) (err // Next advances to the next value. If there was an error making // the request the iterator does not advance and the error is returned. // Deprecated: Use NextWithContext() instead. -func (iter *DataConnectorListIterator) Next() error { +func (iter *CaseCommentListIterator) Next() error { return iter.NextWithContext(context.Background()) } // NotDone returns true if the enumeration should be started or is not yet complete. -func (iter DataConnectorListIterator) NotDone() bool { +func (iter CaseCommentListIterator) NotDone() bool { return iter.page.NotDone() && iter.i < len(iter.page.Values()) } // Response returns the raw server response from the last page request. -func (iter DataConnectorListIterator) Response() DataConnectorList { +func (iter CaseCommentListIterator) Response() CaseCommentList { return iter.page.Response() } // Value returns the current value or a zero-initialized value if the // iterator has advanced beyond the end of the collection. -func (iter DataConnectorListIterator) Value() BasicDataConnector { +func (iter CaseCommentListIterator) Value() CaseComment { if !iter.page.NotDone() { - return DataConnector{} + return CaseComment{} } return iter.page.Values()[iter.i] } -// Creates a new instance of the DataConnectorListIterator type. -func NewDataConnectorListIterator(page DataConnectorListPage) DataConnectorListIterator { - return DataConnectorListIterator{page: page} +// Creates a new instance of the CaseCommentListIterator type. +func NewCaseCommentListIterator(page CaseCommentListPage) CaseCommentListIterator { + return CaseCommentListIterator{page: page} } // IsEmpty returns true if the ListResult contains no values. -func (dcl DataConnectorList) IsEmpty() bool { - return dcl.Value == nil || len(*dcl.Value) == 0 +func (ccl CaseCommentList) IsEmpty() bool { + return ccl.Value == nil || len(*ccl.Value) == 0 } -// dataConnectorListPreparer prepares a request to retrieve the next set of results. +// caseCommentListPreparer prepares a request to retrieve the next set of results. // It returns nil if no more results exist. -func (dcl DataConnectorList) dataConnectorListPreparer(ctx context.Context) (*http.Request, error) { - if dcl.NextLink == nil || len(to.String(dcl.NextLink)) < 1 { +func (ccl CaseCommentList) caseCommentListPreparer(ctx context.Context) (*http.Request, error) { + if ccl.NextLink == nil || len(to.String(ccl.NextLink)) < 1 { return nil, nil } return autorest.Prepare((&http.Request{}).WithContext(ctx), autorest.AsJSON(), autorest.AsGet(), - autorest.WithBaseURL(to.String(dcl.NextLink))) + autorest.WithBaseURL(to.String(ccl.NextLink))) } -// DataConnectorListPage contains a page of BasicDataConnector values. -type DataConnectorListPage struct { - fn func(context.Context, DataConnectorList) (DataConnectorList, error) - dcl DataConnectorList +// CaseCommentListPage contains a page of CaseComment values. +type CaseCommentListPage struct { + fn func(context.Context, CaseCommentList) (CaseCommentList, error) + ccl CaseCommentList } // NextWithContext advances to the next page of values. If there was an error making // the request the page does not advance and the error is returned. -func (page *DataConnectorListPage) NextWithContext(ctx context.Context) (err error) { +func (page *CaseCommentListPage) NextWithContext(ctx context.Context) (err error) { if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/DataConnectorListPage.NextWithContext") + ctx = tracing.StartSpan(ctx, fqdn+"/CaseCommentListPage.NextWithContext") defer func() { sc := -1 if page.Response().Response.Response != nil { @@ -2798,232 +3735,74 @@ func (page *DataConnectorListPage) NextWithContext(ctx context.Context) (err err tracing.EndSpan(ctx, sc, err) }() } - next, err := page.fn(ctx, page.dcl) + next, err := page.fn(ctx, page.ccl) if err != nil { return err } - page.dcl = next + page.ccl = next return nil } // Next advances to the next page of values. If there was an error making // the request the page does not advance and the error is returned. // Deprecated: Use NextWithContext() instead. -func (page *DataConnectorListPage) Next() error { +func (page *CaseCommentListPage) Next() error { return page.NextWithContext(context.Background()) } // NotDone returns true if the page enumeration should be started or is not yet complete. -func (page DataConnectorListPage) NotDone() bool { - return !page.dcl.IsEmpty() +func (page CaseCommentListPage) NotDone() bool { + return !page.ccl.IsEmpty() } // Response returns the raw server response from the last page request. -func (page DataConnectorListPage) Response() DataConnectorList { - return page.dcl +func (page CaseCommentListPage) Response() CaseCommentList { + return page.ccl } // Values returns the slice of values for the current page or nil if there are no values. -func (page DataConnectorListPage) Values() []BasicDataConnector { - if page.dcl.IsEmpty() { +func (page CaseCommentListPage) Values() []CaseComment { + if page.ccl.IsEmpty() { return nil } - return *page.dcl.Value -} - -// Creates a new instance of the DataConnectorListPage type. -func NewDataConnectorListPage(getNextPage func(context.Context, DataConnectorList) (DataConnectorList, error)) DataConnectorListPage { - return DataConnectorListPage{fn: getNextPage} + return *page.ccl.Value } -// DataConnectorModel ... -type DataConnectorModel struct { - autorest.Response `json:"-"` - Value BasicDataConnector `json:"value,omitempty"` +// Creates a new instance of the CaseCommentListPage type. +func NewCaseCommentListPage(getNextPage func(context.Context, CaseCommentList) (CaseCommentList, error)) CaseCommentListPage { + return CaseCommentListPage{fn: getNextPage} } -// UnmarshalJSON is the custom unmarshaler for DataConnectorModel struct. -func (dcm *DataConnectorModel) UnmarshalJSON(body []byte) error { - dc, err := unmarshalBasicDataConnector(body) - if err != nil { - return err - } - dcm.Value = dc - - return nil +// CaseCommentProperties case comment property bag. +type CaseCommentProperties struct { + // CreatedTimeUtc - READ-ONLY; The time the comment was created + CreatedTimeUtc *date.Time `json:"createdTimeUtc,omitempty"` + // Message - The comment message + Message *string `json:"message,omitempty"` + // UserInfo - READ-ONLY; Describes the user that created the comment + UserInfo *UserInfo `json:"userInfo,omitempty"` } -// DataConnectorTenantID properties data connector on tenant level. -type DataConnectorTenantID struct { - // TenantID - The tenant id to connect to, and get the data from. - TenantID *string `json:"tenantId,omitempty"` +// CaseList list all the cases. +type CaseList struct { + autorest.Response `json:"-"` + // NextLink - READ-ONLY; URL to fetch the next set of cases. + NextLink *string `json:"nextLink,omitempty"` + // Value - Array of cases. + Value *[]Case `json:"value,omitempty"` } -// DataConnectorWithAlertsProperties data connector properties. -type DataConnectorWithAlertsProperties struct { - // DataTypes - The available data types for the connector. - DataTypes *AlertsDataTypeOfDataConnector `json:"dataTypes,omitempty"` -} - -// BasicEntity specific entity. -type BasicEntity interface { - AsAccountEntity() (*AccountEntity, bool) - AsHostEntity() (*HostEntity, bool) - AsFileEntity() (*FileEntity, bool) - AsEntity() (*Entity, bool) -} - -// Entity specific entity. -type Entity struct { - autorest.Response `json:"-"` - // ID - READ-ONLY; Azure resource Id - ID *string `json:"id,omitempty"` - // Type - READ-ONLY; Azure resource type - Type *string `json:"type,omitempty"` - // Name - READ-ONLY; Azure resource name - Name *string `json:"name,omitempty"` - // Kind - Possible values include: 'KindEntity', 'KindAccount', 'KindHost', 'KindFile' - Kind KindBasicEntity `json:"kind,omitempty"` -} - -func unmarshalBasicEntity(body []byte) (BasicEntity, error) { - var m map[string]interface{} - err := json.Unmarshal(body, &m) - if err != nil { - return nil, err - } - - switch m["kind"] { - case string(KindAccount): - var ae AccountEntity - err := json.Unmarshal(body, &ae) - return ae, err - case string(KindHost): - var he HostEntity - err := json.Unmarshal(body, &he) - return he, err - case string(KindFile): - var fe FileEntity - err := json.Unmarshal(body, &fe) - return fe, err - default: - var e Entity - err := json.Unmarshal(body, &e) - return e, err - } -} -func unmarshalBasicEntityArray(body []byte) ([]BasicEntity, error) { - var rawMessages []*json.RawMessage - err := json.Unmarshal(body, &rawMessages) - if err != nil { - return nil, err - } - - eArray := make([]BasicEntity, len(rawMessages)) - - for index, rawMessage := range rawMessages { - e, err := unmarshalBasicEntity(*rawMessage) - if err != nil { - return nil, err - } - eArray[index] = e - } - return eArray, nil -} - -// MarshalJSON is the custom marshaler for Entity. -func (e Entity) MarshalJSON() ([]byte, error) { - e.Kind = KindEntity - objectMap := make(map[string]interface{}) - if e.Kind != "" { - objectMap["kind"] = e.Kind - } - return json.Marshal(objectMap) -} - -// AsAccountEntity is the BasicEntity implementation for Entity. -func (e Entity) AsAccountEntity() (*AccountEntity, bool) { - return nil, false -} - -// AsHostEntity is the BasicEntity implementation for Entity. -func (e Entity) AsHostEntity() (*HostEntity, bool) { - return nil, false -} - -// AsFileEntity is the BasicEntity implementation for Entity. -func (e Entity) AsFileEntity() (*FileEntity, bool) { - return nil, false -} - -// AsEntity is the BasicEntity implementation for Entity. -func (e Entity) AsEntity() (*Entity, bool) { - return &e, true -} - -// AsBasicEntity is the BasicEntity implementation for Entity. -func (e Entity) AsBasicEntity() (BasicEntity, bool) { - return &e, true -} - -// EntityKind1 describes an Azure resource with kind. -type EntityKind1 struct { - // Kind - The kind of the entity. Possible values include: 'Account', 'Host', 'File' - Kind EntityKind `json:"kind,omitempty"` -} - -// EntityList list of all the entities. -type EntityList struct { - autorest.Response `json:"-"` - // NextLink - READ-ONLY; URL to fetch the next set of entities. - NextLink *string `json:"nextLink,omitempty"` - // Value - Array of entities. - Value *[]BasicEntity `json:"value,omitempty"` -} - -// UnmarshalJSON is the custom unmarshaler for EntityList struct. -func (el *EntityList) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - case "nextLink": - if v != nil { - var nextLink string - err = json.Unmarshal(*v, &nextLink) - if err != nil { - return err - } - el.NextLink = &nextLink - } - case "value": - if v != nil { - value, err := unmarshalBasicEntityArray(*v) - if err != nil { - return err - } - el.Value = &value - } - } - } - - return nil -} - -// EntityListIterator provides access to a complete listing of Entity values. -type EntityListIterator struct { - i int - page EntityListPage +// CaseListIterator provides access to a complete listing of Case values. +type CaseListIterator struct { + i int + page CaseListPage } // NextWithContext advances to the next value. If there was an error making // the request the iterator does not advance and the error is returned. -func (iter *EntityListIterator) NextWithContext(ctx context.Context) (err error) { +func (iter *CaseListIterator) NextWithContext(ctx context.Context) (err error) { if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/EntityListIterator.NextWithContext") + ctx = tracing.StartSpan(ctx, fqdn+"/CaseListIterator.NextWithContext") defer func() { sc := -1 if iter.Response().Response.Response != nil { @@ -3048,62 +3827,62 @@ func (iter *EntityListIterator) NextWithContext(ctx context.Context) (err error) // Next advances to the next value. If there was an error making // the request the iterator does not advance and the error is returned. // Deprecated: Use NextWithContext() instead. -func (iter *EntityListIterator) Next() error { +func (iter *CaseListIterator) Next() error { return iter.NextWithContext(context.Background()) } // NotDone returns true if the enumeration should be started or is not yet complete. -func (iter EntityListIterator) NotDone() bool { +func (iter CaseListIterator) NotDone() bool { return iter.page.NotDone() && iter.i < len(iter.page.Values()) } // Response returns the raw server response from the last page request. -func (iter EntityListIterator) Response() EntityList { +func (iter CaseListIterator) Response() CaseList { return iter.page.Response() } // Value returns the current value or a zero-initialized value if the // iterator has advanced beyond the end of the collection. -func (iter EntityListIterator) Value() BasicEntity { +func (iter CaseListIterator) Value() Case { if !iter.page.NotDone() { - return Entity{} + return Case{} } return iter.page.Values()[iter.i] } -// Creates a new instance of the EntityListIterator type. -func NewEntityListIterator(page EntityListPage) EntityListIterator { - return EntityListIterator{page: page} +// Creates a new instance of the CaseListIterator type. +func NewCaseListIterator(page CaseListPage) CaseListIterator { + return CaseListIterator{page: page} } // IsEmpty returns true if the ListResult contains no values. -func (el EntityList) IsEmpty() bool { - return el.Value == nil || len(*el.Value) == 0 +func (cl CaseList) IsEmpty() bool { + return cl.Value == nil || len(*cl.Value) == 0 } -// entityListPreparer prepares a request to retrieve the next set of results. +// caseListPreparer prepares a request to retrieve the next set of results. // It returns nil if no more results exist. -func (el EntityList) entityListPreparer(ctx context.Context) (*http.Request, error) { - if el.NextLink == nil || len(to.String(el.NextLink)) < 1 { +func (cl CaseList) caseListPreparer(ctx context.Context) (*http.Request, error) { + if cl.NextLink == nil || len(to.String(cl.NextLink)) < 1 { return nil, nil } return autorest.Prepare((&http.Request{}).WithContext(ctx), autorest.AsJSON(), autorest.AsGet(), - autorest.WithBaseURL(to.String(el.NextLink))) + autorest.WithBaseURL(to.String(cl.NextLink))) } -// EntityListPage contains a page of BasicEntity values. -type EntityListPage struct { - fn func(context.Context, EntityList) (EntityList, error) - el EntityList +// CaseListPage contains a page of Case values. +type CaseListPage struct { + fn func(context.Context, CaseList) (CaseList, error) + cl CaseList } // NextWithContext advances to the next page of values. If there was an error making // the request the page does not advance and the error is returned. -func (page *EntityListPage) NextWithContext(ctx context.Context) (err error) { +func (page *CaseListPage) NextWithContext(ctx context.Context) (err error) { if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/EntityListPage.NextWithContext") + ctx = tracing.StartSpan(ctx, fqdn+"/CaseListPage.NextWithContext") defer func() { sc := -1 if page.Response().Response.Response != nil { @@ -3112,85 +3891,111 @@ func (page *EntityListPage) NextWithContext(ctx context.Context) (err error) { tracing.EndSpan(ctx, sc, err) }() } - next, err := page.fn(ctx, page.el) + next, err := page.fn(ctx, page.cl) if err != nil { return err } - page.el = next + page.cl = next return nil } // Next advances to the next page of values. If there was an error making // the request the page does not advance and the error is returned. // Deprecated: Use NextWithContext() instead. -func (page *EntityListPage) Next() error { +func (page *CaseListPage) Next() error { return page.NextWithContext(context.Background()) } // NotDone returns true if the page enumeration should be started or is not yet complete. -func (page EntityListPage) NotDone() bool { - return !page.el.IsEmpty() +func (page CaseListPage) NotDone() bool { + return !page.cl.IsEmpty() } // Response returns the raw server response from the last page request. -func (page EntityListPage) Response() EntityList { - return page.el +func (page CaseListPage) Response() CaseList { + return page.cl } // Values returns the slice of values for the current page or nil if there are no values. -func (page EntityListPage) Values() []BasicEntity { - if page.el.IsEmpty() { +func (page CaseListPage) Values() []Case { + if page.cl.IsEmpty() { return nil } - return *page.el.Value -} - -// Creates a new instance of the EntityListPage type. -func NewEntityListPage(getNextPage func(context.Context, EntityList) (EntityList, error)) EntityListPage { - return EntityListPage{fn: getNextPage} + return *page.cl.Value } -// EntityModel ... -type EntityModel struct { - autorest.Response `json:"-"` - Value BasicEntity `json:"value,omitempty"` +// Creates a new instance of the CaseListPage type. +func NewCaseListPage(getNextPage func(context.Context, CaseList) (CaseList, error)) CaseListPage { + return CaseListPage{fn: getNextPage} } -// UnmarshalJSON is the custom unmarshaler for EntityModel struct. -func (em *EntityModel) UnmarshalJSON(body []byte) error { - e, err := unmarshalBasicEntity(body) - if err != nil { - return err - } - em.Value = e - - return nil +// CaseProperties describes case properties +type CaseProperties struct { + // CaseNumber - READ-ONLY; a sequential number + CaseNumber *int32 `json:"caseNumber,omitempty"` + // CloseReason - The reason the case was closed. Possible values include: 'Resolved', 'Dismissed', 'TruePositive', 'FalsePositive', 'Other' + CloseReason CloseReason `json:"closeReason,omitempty"` + // ClosedReasonText - the case close reason details + ClosedReasonText *string `json:"closedReasonText,omitempty"` + // CreatedTimeUtc - READ-ONLY; The time the case was created + CreatedTimeUtc *date.Time `json:"createdTimeUtc,omitempty"` + // Description - The description of the case + Description *string `json:"description,omitempty"` + // EndTimeUtc - The end time of the case + EndTimeUtc *date.Time `json:"endTimeUtc,omitempty"` + // Labels - List of labels relevant to this case + Labels *[]string `json:"labels,omitempty"` + // LastComment - READ-ONLY; the last comment in the case + LastComment *string `json:"lastComment,omitempty"` + // LastUpdatedTimeUtc - READ-ONLY; The last time the case was updated + LastUpdatedTimeUtc *date.Time `json:"lastUpdatedTimeUtc,omitempty"` + // Owner - Describes a user that the case is assigned to + Owner *UserInfo `json:"owner,omitempty"` + // RelatedAlertIds - READ-ONLY; List of related alert identifiers + RelatedAlertIds *[]string `json:"relatedAlertIds,omitempty"` + // Severity - The severity of the case. Possible values include: 'CaseSeverityCritical', 'CaseSeverityHigh', 'CaseSeverityMedium', 'CaseSeverityLow', 'CaseSeverityInformational' + Severity CaseSeverity `json:"severity,omitempty"` + // StartTimeUtc - The start time of the case + StartTimeUtc *date.Time `json:"startTimeUtc,omitempty"` + // Status - The status of the case. Possible values include: 'CaseStatusDraft', 'CaseStatusNew', 'CaseStatusInProgress', 'CaseStatusClosed' + Status CaseStatus `json:"status,omitempty"` + // Title - The title of the case + Title *string `json:"title,omitempty"` + // TotalComments - READ-ONLY; the number of total comments in the case + TotalComments *int32 `json:"totalComments,omitempty"` } -// EntityQuery specific entity query. -type EntityQuery struct { +// CaseRelation represents a case relation +type CaseRelation struct { autorest.Response `json:"-"` - // EntityQueryProperties - Entity query properties - *EntityQueryProperties `json:"properties,omitempty"` + // CaseRelationProperties - Case relation properties + *CaseRelationProperties `json:"properties,omitempty"` + // Kind - READ-ONLY; The type of relation node. Possible values include: 'CasesToBookmarks' + Kind RelationTypes `json:"kind,omitempty"` + // Etag - ETag for relation + Etag *string `json:"etag,omitempty"` // ID - READ-ONLY; Azure resource Id ID *string `json:"id,omitempty"` - // Type - READ-ONLY; Azure resource type - Type *string `json:"type,omitempty"` // Name - READ-ONLY; Azure resource name Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Azure resource type + Type *string `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for EntityQuery. -func (eq EntityQuery) MarshalJSON() ([]byte, error) { +// MarshalJSON is the custom marshaler for CaseRelation. +func (cr CaseRelation) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) - if eq.EntityQueryProperties != nil { - objectMap["properties"] = eq.EntityQueryProperties + if cr.CaseRelationProperties != nil { + objectMap["properties"] = cr.CaseRelationProperties + } + if cr.Etag != nil { + objectMap["etag"] = cr.Etag } return json.Marshal(objectMap) } -// UnmarshalJSON is the custom unmarshaler for EntityQuery struct. -func (eq *EntityQuery) UnmarshalJSON(body []byte) error { +// UnmarshalJSON is the custom unmarshaler for CaseRelation struct. +func (cr *CaseRelation) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -3200,30 +4005,39 @@ func (eq *EntityQuery) UnmarshalJSON(body []byte) error { switch k { case "properties": if v != nil { - var entityQueryProperties EntityQueryProperties - err = json.Unmarshal(*v, &entityQueryProperties) + var caseRelationProperties CaseRelationProperties + err = json.Unmarshal(*v, &caseRelationProperties) if err != nil { return err } - eq.EntityQueryProperties = &entityQueryProperties + cr.CaseRelationProperties = &caseRelationProperties } - case "id": + case "kind": if v != nil { - var ID string - err = json.Unmarshal(*v, &ID) + var kind RelationTypes + err = json.Unmarshal(*v, &kind) if err != nil { return err } - eq.ID = &ID + cr.Kind = kind } - case "type": + case "etag": if v != nil { - var typeVar string - err = json.Unmarshal(*v, &typeVar) + var etag string + err = json.Unmarshal(*v, &etag) if err != nil { return err } - eq.Type = &typeVar + cr.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + cr.ID = &ID } case "name": if v != nil { @@ -3232,7 +4046,16 @@ func (eq *EntityQuery) UnmarshalJSON(body []byte) error { if err != nil { return err } - eq.Name = &name + cr.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + cr.Type = &typeVar } } } @@ -3240,26 +4063,26 @@ func (eq *EntityQuery) UnmarshalJSON(body []byte) error { return nil } -// EntityQueryList list of all the entity queries. -type EntityQueryList struct { +// CaseRelationList list of case relations. +type CaseRelationList struct { autorest.Response `json:"-"` - // NextLink - READ-ONLY; URL to fetch the next set of entity queries. + // NextLink - READ-ONLY; URL to fetch the next set of relations. NextLink *string `json:"nextLink,omitempty"` - // Value - Array of entity queries. - Value *[]EntityQuery `json:"value,omitempty"` + // Value - Array of relations. + Value *[]CaseRelation `json:"value,omitempty"` } -// EntityQueryListIterator provides access to a complete listing of EntityQuery values. -type EntityQueryListIterator struct { +// CaseRelationListIterator provides access to a complete listing of CaseRelation values. +type CaseRelationListIterator struct { i int - page EntityQueryListPage + page CaseRelationListPage } // NextWithContext advances to the next value. If there was an error making // the request the iterator does not advance and the error is returned. -func (iter *EntityQueryListIterator) NextWithContext(ctx context.Context) (err error) { +func (iter *CaseRelationListIterator) NextWithContext(ctx context.Context) (err error) { if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/EntityQueryListIterator.NextWithContext") + ctx = tracing.StartSpan(ctx, fqdn+"/CaseRelationListIterator.NextWithContext") defer func() { sc := -1 if iter.Response().Response.Response != nil { @@ -3284,62 +4107,62 @@ func (iter *EntityQueryListIterator) NextWithContext(ctx context.Context) (err e // Next advances to the next value. If there was an error making // the request the iterator does not advance and the error is returned. // Deprecated: Use NextWithContext() instead. -func (iter *EntityQueryListIterator) Next() error { +func (iter *CaseRelationListIterator) Next() error { return iter.NextWithContext(context.Background()) } // NotDone returns true if the enumeration should be started or is not yet complete. -func (iter EntityQueryListIterator) NotDone() bool { +func (iter CaseRelationListIterator) NotDone() bool { return iter.page.NotDone() && iter.i < len(iter.page.Values()) } // Response returns the raw server response from the last page request. -func (iter EntityQueryListIterator) Response() EntityQueryList { +func (iter CaseRelationListIterator) Response() CaseRelationList { return iter.page.Response() } // Value returns the current value or a zero-initialized value if the // iterator has advanced beyond the end of the collection. -func (iter EntityQueryListIterator) Value() EntityQuery { +func (iter CaseRelationListIterator) Value() CaseRelation { if !iter.page.NotDone() { - return EntityQuery{} + return CaseRelation{} } return iter.page.Values()[iter.i] } -// Creates a new instance of the EntityQueryListIterator type. -func NewEntityQueryListIterator(page EntityQueryListPage) EntityQueryListIterator { - return EntityQueryListIterator{page: page} +// Creates a new instance of the CaseRelationListIterator type. +func NewCaseRelationListIterator(page CaseRelationListPage) CaseRelationListIterator { + return CaseRelationListIterator{page: page} } // IsEmpty returns true if the ListResult contains no values. -func (eql EntityQueryList) IsEmpty() bool { - return eql.Value == nil || len(*eql.Value) == 0 +func (crl CaseRelationList) IsEmpty() bool { + return crl.Value == nil || len(*crl.Value) == 0 } -// entityQueryListPreparer prepares a request to retrieve the next set of results. +// caseRelationListPreparer prepares a request to retrieve the next set of results. // It returns nil if no more results exist. -func (eql EntityQueryList) entityQueryListPreparer(ctx context.Context) (*http.Request, error) { - if eql.NextLink == nil || len(to.String(eql.NextLink)) < 1 { +func (crl CaseRelationList) caseRelationListPreparer(ctx context.Context) (*http.Request, error) { + if crl.NextLink == nil || len(to.String(crl.NextLink)) < 1 { return nil, nil } return autorest.Prepare((&http.Request{}).WithContext(ctx), autorest.AsJSON(), autorest.AsGet(), - autorest.WithBaseURL(to.String(eql.NextLink))) + autorest.WithBaseURL(to.String(crl.NextLink))) } -// EntityQueryListPage contains a page of EntityQuery values. -type EntityQueryListPage struct { - fn func(context.Context, EntityQueryList) (EntityQueryList, error) - eql EntityQueryList +// CaseRelationListPage contains a page of CaseRelation values. +type CaseRelationListPage struct { + fn func(context.Context, CaseRelationList) (CaseRelationList, error) + crl CaseRelationList } // NextWithContext advances to the next page of values. If there was an error making // the request the page does not advance and the error is returned. -func (page *EntityQueryListPage) NextWithContext(ctx context.Context) (err error) { +func (page *CaseRelationListPage) NextWithContext(ctx context.Context) (err error) { if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/EntityQueryListPage.NextWithContext") + ctx = tracing.StartSpan(ctx, fqdn+"/CaseRelationListPage.NextWithContext") defer func() { sc := -1 if page.Response().Response.Response != nil { @@ -3348,114 +4171,100 @@ func (page *EntityQueryListPage) NextWithContext(ctx context.Context) (err error tracing.EndSpan(ctx, sc, err) }() } - next, err := page.fn(ctx, page.eql) + next, err := page.fn(ctx, page.crl) if err != nil { return err } - page.eql = next + page.crl = next return nil } // Next advances to the next page of values. If there was an error making // the request the page does not advance and the error is returned. // Deprecated: Use NextWithContext() instead. -func (page *EntityQueryListPage) Next() error { +func (page *CaseRelationListPage) Next() error { return page.NextWithContext(context.Background()) } // NotDone returns true if the page enumeration should be started or is not yet complete. -func (page EntityQueryListPage) NotDone() bool { - return !page.eql.IsEmpty() +func (page CaseRelationListPage) NotDone() bool { + return !page.crl.IsEmpty() } // Response returns the raw server response from the last page request. -func (page EntityQueryListPage) Response() EntityQueryList { - return page.eql +func (page CaseRelationListPage) Response() CaseRelationList { + return page.crl } // Values returns the slice of values for the current page or nil if there are no values. -func (page EntityQueryListPage) Values() []EntityQuery { - if page.eql.IsEmpty() { +func (page CaseRelationListPage) Values() []CaseRelation { + if page.crl.IsEmpty() { return nil } - return *page.eql.Value + return *page.crl.Value } -// Creates a new instance of the EntityQueryListPage type. -func NewEntityQueryListPage(getNextPage func(context.Context, EntityQueryList) (EntityQueryList, error)) EntityQueryListPage { - return EntityQueryListPage{fn: getNextPage} +// Creates a new instance of the CaseRelationListPage type. +func NewCaseRelationListPage(getNextPage func(context.Context, CaseRelationList) (CaseRelationList, error)) CaseRelationListPage { + return CaseRelationListPage{fn: getNextPage} } -// EntityQueryProperties describes entity query properties -type EntityQueryProperties struct { - // QueryTemplate - The template query string to be parsed and formatted - QueryTemplate *string `json:"queryTemplate,omitempty"` - // InputEntityType - The type of the query's source entity - InputEntityType *string `json:"inputEntityType,omitempty"` - // InputFields - List of the fields of the source entity that are required to run the query - InputFields *[]string `json:"inputFields,omitempty"` - // OutputEntityTypes - List of the desired output types to be constructed from the result - OutputEntityTypes *[]string `json:"outputEntityTypes,omitempty"` - // DataSources - List of the data sources that are required to run the query - DataSources *[]string `json:"dataSources,omitempty"` - // DisplayName - The query display name - DisplayName *string `json:"displayName,omitempty"` +// CaseRelationProperties case relation properties +type CaseRelationProperties struct { + // RelationName - Name of relation + RelationName *string `json:"relationName,omitempty"` + // BookmarkID - The case related bookmark id + BookmarkID *string `json:"bookmarkId,omitempty"` + // CaseIdentifier - The case identifier + CaseIdentifier *string `json:"caseIdentifier,omitempty"` + // BookmarkName - The case related bookmark name + BookmarkName *string `json:"bookmarkName,omitempty"` } -// FileEntity represents a file entity. -type FileEntity struct { - // FileEntityProperties - File entity properties - *FileEntityProperties `json:"properties,omitempty"` +// CasesAggregation represents aggregations results for cases. +type CasesAggregation struct { + // CasesAggregationProperties - Properties of aggregations results of cases. + *CasesAggregationProperties `json:"properties,omitempty"` // ID - READ-ONLY; Azure resource Id ID *string `json:"id,omitempty"` - // Type - READ-ONLY; Azure resource type - Type *string `json:"type,omitempty"` // Name - READ-ONLY; Azure resource name Name *string `json:"name,omitempty"` - // Kind - Possible values include: 'KindEntity', 'KindAccount', 'KindHost', 'KindFile' - Kind KindBasicEntity `json:"kind,omitempty"` + // Type - READ-ONLY; Azure resource type + Type *string `json:"type,omitempty"` + // Kind - Possible values include: 'KindAggregations', 'KindCasesAggregation' + Kind Kind `json:"kind,omitempty"` } -// MarshalJSON is the custom marshaler for FileEntity. -func (fe FileEntity) MarshalJSON() ([]byte, error) { - fe.Kind = KindFile +// MarshalJSON is the custom marshaler for CasesAggregation. +func (ca CasesAggregation) MarshalJSON() ([]byte, error) { + ca.Kind = KindCasesAggregation objectMap := make(map[string]interface{}) - if fe.FileEntityProperties != nil { - objectMap["properties"] = fe.FileEntityProperties + if ca.CasesAggregationProperties != nil { + objectMap["properties"] = ca.CasesAggregationProperties } - if fe.Kind != "" { - objectMap["kind"] = fe.Kind + if ca.Kind != "" { + objectMap["kind"] = ca.Kind } return json.Marshal(objectMap) } -// AsAccountEntity is the BasicEntity implementation for FileEntity. -func (fe FileEntity) AsAccountEntity() (*AccountEntity, bool) { - return nil, false -} - -// AsHostEntity is the BasicEntity implementation for FileEntity. -func (fe FileEntity) AsHostEntity() (*HostEntity, bool) { - return nil, false -} - -// AsFileEntity is the BasicEntity implementation for FileEntity. -func (fe FileEntity) AsFileEntity() (*FileEntity, bool) { - return &fe, true +// AsCasesAggregation is the BasicAggregations implementation for CasesAggregation. +func (ca CasesAggregation) AsCasesAggregation() (*CasesAggregation, bool) { + return &ca, true } -// AsEntity is the BasicEntity implementation for FileEntity. -func (fe FileEntity) AsEntity() (*Entity, bool) { +// AsAggregations is the BasicAggregations implementation for CasesAggregation. +func (ca CasesAggregation) AsAggregations() (*Aggregations, bool) { return nil, false } -// AsBasicEntity is the BasicEntity implementation for FileEntity. -func (fe FileEntity) AsBasicEntity() (BasicEntity, bool) { - return &fe, true +// AsBasicAggregations is the BasicAggregations implementation for CasesAggregation. +func (ca CasesAggregation) AsBasicAggregations() (BasicAggregations, bool) { + return &ca, true } -// UnmarshalJSON is the custom unmarshaler for FileEntity struct. -func (fe *FileEntity) UnmarshalJSON(body []byte) error { +// UnmarshalJSON is the custom unmarshaler for CasesAggregation struct. +func (ca *CasesAggregation) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -3465,12 +4274,12 @@ func (fe *FileEntity) UnmarshalJSON(body []byte) error { switch k { case "properties": if v != nil { - var fileEntityProperties FileEntityProperties - err = json.Unmarshal(*v, &fileEntityProperties) + var casesAggregationProperties CasesAggregationProperties + err = json.Unmarshal(*v, &casesAggregationProperties) if err != nil { return err } - fe.FileEntityProperties = &fileEntityProperties + ca.CasesAggregationProperties = &casesAggregationProperties } case "id": if v != nil { @@ -3479,34 +4288,34 @@ func (fe *FileEntity) UnmarshalJSON(body []byte) error { if err != nil { return err } - fe.ID = &ID + ca.ID = &ID } - case "type": + case "name": if v != nil { - var typeVar string - err = json.Unmarshal(*v, &typeVar) + var name string + err = json.Unmarshal(*v, &name) if err != nil { return err } - fe.Type = &typeVar + ca.Name = &name } - case "name": + case "type": if v != nil { - var name string - err = json.Unmarshal(*v, &name) + var typeVar string + err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - fe.Name = &name + ca.Type = &typeVar } case "kind": if v != nil { - var kind KindBasicEntity + var kind Kind err = json.Unmarshal(*v, &kind) if err != nil { return err } - fe.Kind = kind + ca.Kind = kind } } } @@ -3514,232 +4323,154 @@ func (fe *FileEntity) UnmarshalJSON(body []byte) error { return nil } -// FileEntityProperties file entity property bag. -type FileEntityProperties struct { - // Directory - READ-ONLY; The full path to the file. - Directory *string `json:"directory,omitempty"` - // FileName - READ-ONLY; The file name without path (some alerts might not include path). - FileName *string `json:"fileName,omitempty"` +// CasesAggregationBySeverityProperties aggregative results of cases by severity property bag. +type CasesAggregationBySeverityProperties struct { + // TotalCriticalSeverity - READ-ONLY; Total amount of open cases with severity Critical + TotalCriticalSeverity *int32 `json:"totalCriticalSeverity,omitempty"` + // TotalHighSeverity - READ-ONLY; Total amount of open cases with severity High + TotalHighSeverity *int32 `json:"totalHighSeverity,omitempty"` + // TotalInformationalSeverity - READ-ONLY; Total amount of open cases with severity Informational + TotalInformationalSeverity *int32 `json:"totalInformationalSeverity,omitempty"` + // TotalLowSeverity - READ-ONLY; Total amount of open cases with severity Low + TotalLowSeverity *int32 `json:"totalLowSeverity,omitempty"` + // TotalMediumSeverity - READ-ONLY; Total amount of open cases with severity medium + TotalMediumSeverity *int32 `json:"totalMediumSeverity,omitempty"` } -// HostEntity represents a host entity. -type HostEntity struct { - // HostEntityProperties - Host entity properties - *HostEntityProperties `json:"properties,omitempty"` +// CasesAggregationByStatusProperties aggregative results of cases by status property bag. +type CasesAggregationByStatusProperties struct { + // TotalDismissedStatus - READ-ONLY; Total amount of open cases with status Dismissed + TotalDismissedStatus *int32 `json:"totalDismissedStatus,omitempty"` + // TotalInProgressStatus - READ-ONLY; Total amount of open cases with status InProgress + TotalInProgressStatus *int32 `json:"totalInProgressStatus,omitempty"` + // TotalNewStatus - READ-ONLY; Total amount of open cases with status New + TotalNewStatus *int32 `json:"totalNewStatus,omitempty"` + // TotalResolvedStatus - READ-ONLY; Total amount of open cases with status Resolved + TotalResolvedStatus *int32 `json:"totalResolvedStatus,omitempty"` +} + +// CasesAggregationProperties aggregative results of cases property bag. +type CasesAggregationProperties struct { + // AggregationBySeverity - Aggregations results by case severity. + AggregationBySeverity *CasesAggregationBySeverityProperties `json:"aggregationBySeverity,omitempty"` + // AggregationByStatus - Aggregations results by case status. + AggregationByStatus *CasesAggregationByStatusProperties `json:"aggregationByStatus,omitempty"` +} + +// CloudApplicationEntity represents a cloud application entity. +type CloudApplicationEntity struct { + // CloudApplicationEntityProperties - CloudApplication entity properties + *CloudApplicationEntityProperties `json:"properties,omitempty"` // ID - READ-ONLY; Azure resource Id ID *string `json:"id,omitempty"` - // Type - READ-ONLY; Azure resource type - Type *string `json:"type,omitempty"` // Name - READ-ONLY; Azure resource name Name *string `json:"name,omitempty"` - // Kind - Possible values include: 'KindEntity', 'KindAccount', 'KindHost', 'KindFile' + // Type - READ-ONLY; Azure resource type + Type *string `json:"type,omitempty"` + // Kind - Possible values include: 'KindEntity', 'KindAccount', 'KindAzureResource', 'KindCloudApplication', 'KindDNSResolution', 'KindFile', 'KindFileHash', 'KindHost', 'KindIP', 'KindMalware', 'KindProcess', 'KindRegistryKey', 'KindRegistryValue', 'KindSecurityAlert', 'KindSecurityGroup', 'KindURL' Kind KindBasicEntity `json:"kind,omitempty"` } -// MarshalJSON is the custom marshaler for HostEntity. -func (he HostEntity) MarshalJSON() ([]byte, error) { - he.Kind = KindHost +// MarshalJSON is the custom marshaler for CloudApplicationEntity. +func (cae CloudApplicationEntity) MarshalJSON() ([]byte, error) { + cae.Kind = KindCloudApplication objectMap := make(map[string]interface{}) - if he.HostEntityProperties != nil { - objectMap["properties"] = he.HostEntityProperties + if cae.CloudApplicationEntityProperties != nil { + objectMap["properties"] = cae.CloudApplicationEntityProperties } - if he.Kind != "" { - objectMap["kind"] = he.Kind + if cae.Kind != "" { + objectMap["kind"] = cae.Kind } return json.Marshal(objectMap) } -// AsAccountEntity is the BasicEntity implementation for HostEntity. -func (he HostEntity) AsAccountEntity() (*AccountEntity, bool) { +// AsAccountEntity is the BasicEntity implementation for CloudApplicationEntity. +func (cae CloudApplicationEntity) AsAccountEntity() (*AccountEntity, bool) { return nil, false } -// AsHostEntity is the BasicEntity implementation for HostEntity. -func (he HostEntity) AsHostEntity() (*HostEntity, bool) { - return &he, true +// AsAzureResourceEntity is the BasicEntity implementation for CloudApplicationEntity. +func (cae CloudApplicationEntity) AsAzureResourceEntity() (*AzureResourceEntity, bool) { + return nil, false } -// AsFileEntity is the BasicEntity implementation for HostEntity. -func (he HostEntity) AsFileEntity() (*FileEntity, bool) { +// AsCloudApplicationEntity is the BasicEntity implementation for CloudApplicationEntity. +func (cae CloudApplicationEntity) AsCloudApplicationEntity() (*CloudApplicationEntity, bool) { + return &cae, true +} + +// AsDNSEntity is the BasicEntity implementation for CloudApplicationEntity. +func (cae CloudApplicationEntity) AsDNSEntity() (*DNSEntity, bool) { return nil, false } -// AsEntity is the BasicEntity implementation for HostEntity. -func (he HostEntity) AsEntity() (*Entity, bool) { +// AsFileEntity is the BasicEntity implementation for CloudApplicationEntity. +func (cae CloudApplicationEntity) AsFileEntity() (*FileEntity, bool) { return nil, false } -// AsBasicEntity is the BasicEntity implementation for HostEntity. -func (he HostEntity) AsBasicEntity() (BasicEntity, bool) { - return &he, true +// AsFileHashEntity is the BasicEntity implementation for CloudApplicationEntity. +func (cae CloudApplicationEntity) AsFileHashEntity() (*FileHashEntity, bool) { + return nil, false } -// UnmarshalJSON is the custom unmarshaler for HostEntity struct. -func (he *HostEntity) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - case "properties": - if v != nil { - var hostEntityProperties HostEntityProperties - err = json.Unmarshal(*v, &hostEntityProperties) - if err != nil { - return err - } - he.HostEntityProperties = &hostEntityProperties - } - case "id": - if v != nil { - var ID string - err = json.Unmarshal(*v, &ID) - if err != nil { - return err - } - he.ID = &ID - } - case "type": - if v != nil { - var typeVar string - err = json.Unmarshal(*v, &typeVar) - if err != nil { - return err - } - he.Type = &typeVar - } - case "name": - if v != nil { - var name string - err = json.Unmarshal(*v, &name) - if err != nil { - return err - } - he.Name = &name - } - case "kind": - if v != nil { - var kind KindBasicEntity - err = json.Unmarshal(*v, &kind) - if err != nil { - return err - } - he.Kind = kind - } - } - } - - return nil -} - -// HostEntityProperties host entity property bag. -type HostEntityProperties struct { - // DNSDomain - READ-ONLY; The DNS domain that this host belongs to. Should contain the compete DNS suffix for the domain - DNSDomain *string `json:"dnsDomain,omitempty"` - // NtDomain - READ-ONLY; The NT domain that this host belongs to. - NtDomain *string `json:"ntDomain,omitempty"` - // HostName - READ-ONLY; The hostname without the domain suffix. - HostName *string `json:"hostName,omitempty"` - // NetBiosName - READ-ONLY; The host name (pre-windows2000). - NetBiosName *string `json:"netBiosName,omitempty"` - // AzureID - READ-ONLY; The azure resource id of the VM. - AzureID *string `json:"azureID,omitempty"` - // OmsAgentID - READ-ONLY; The OMS agent id, if the host has OMS agent installed. - OmsAgentID *string `json:"omsAgentID,omitempty"` - // OsFamily - The operating system type. Possible values include: 'Linux', 'Windows', 'Android', 'IOS' - OsFamily OSFamily `json:"osFamily,omitempty"` - // OsVersion - READ-ONLY; A free text representation of the operating system. This field is meant to hold specific versions the are more fine grained than OSFamily or future values not supported by OSFamily enumeration - OsVersion *string `json:"osVersion,omitempty"` - // IsDomainJoined - READ-ONLY; Determines whether this host belongs to a domain. - IsDomainJoined *bool `json:"isDomainJoined,omitempty"` -} - -// MCASDataConnector represents MCAS (Microsoft Cloud App Security) data connector. -type MCASDataConnector struct { - // MCASDataConnectorProperties - MCAS (Microsoft Cloud App Security) data connector properties. - *MCASDataConnectorProperties `json:"properties,omitempty"` - // ID - READ-ONLY; Azure resource Id - ID *string `json:"id,omitempty"` - // Type - READ-ONLY; Azure resource type - Type *string `json:"type,omitempty"` - // Name - READ-ONLY; Azure resource name - Name *string `json:"name,omitempty"` - // Etag - Etag of the data connector. - Etag *string `json:"etag,omitempty"` - // Kind - Possible values include: 'KindDataConnector', 'KindOffice365', 'KindThreatIntelligence', 'KindAmazonWebServicesCloudTrail', 'KindAzureActiveDirectory', 'KindAzureSecurityCenter', 'KindMicrosoftCloudAppSecurity', 'KindAzureAdvancedThreatProtection', 'KindMicrosoftDefenderAdvancedThreatProtection' - Kind KindBasicDataConnector `json:"kind,omitempty"` -} - -// MarshalJSON is the custom marshaler for MCASDataConnector. -func (mdc MCASDataConnector) MarshalJSON() ([]byte, error) { - mdc.Kind = KindMicrosoftCloudAppSecurity - objectMap := make(map[string]interface{}) - if mdc.MCASDataConnectorProperties != nil { - objectMap["properties"] = mdc.MCASDataConnectorProperties - } - if mdc.Etag != nil { - objectMap["etag"] = mdc.Etag - } - if mdc.Kind != "" { - objectMap["kind"] = mdc.Kind - } - return json.Marshal(objectMap) +// AsHostEntity is the BasicEntity implementation for CloudApplicationEntity. +func (cae CloudApplicationEntity) AsHostEntity() (*HostEntity, bool) { + return nil, false } -// AsOfficeDataConnector is the BasicDataConnector implementation for MCASDataConnector. -func (mdc MCASDataConnector) AsOfficeDataConnector() (*OfficeDataConnector, bool) { +// AsIPEntity is the BasicEntity implementation for CloudApplicationEntity. +func (cae CloudApplicationEntity) AsIPEntity() (*IPEntity, bool) { return nil, false } -// AsTIDataConnector is the BasicDataConnector implementation for MCASDataConnector. -func (mdc MCASDataConnector) AsTIDataConnector() (*TIDataConnector, bool) { +// AsMalwareEntity is the BasicEntity implementation for CloudApplicationEntity. +func (cae CloudApplicationEntity) AsMalwareEntity() (*MalwareEntity, bool) { return nil, false } -// AsAwsCloudTrailDataConnector is the BasicDataConnector implementation for MCASDataConnector. -func (mdc MCASDataConnector) AsAwsCloudTrailDataConnector() (*AwsCloudTrailDataConnector, bool) { +// AsProcessEntity is the BasicEntity implementation for CloudApplicationEntity. +func (cae CloudApplicationEntity) AsProcessEntity() (*ProcessEntity, bool) { return nil, false } -// AsAADDataConnector is the BasicDataConnector implementation for MCASDataConnector. -func (mdc MCASDataConnector) AsAADDataConnector() (*AADDataConnector, bool) { +// AsRegistryKeyEntity is the BasicEntity implementation for CloudApplicationEntity. +func (cae CloudApplicationEntity) AsRegistryKeyEntity() (*RegistryKeyEntity, bool) { return nil, false } -// AsASCDataConnector is the BasicDataConnector implementation for MCASDataConnector. -func (mdc MCASDataConnector) AsASCDataConnector() (*ASCDataConnector, bool) { +// AsRegistryValueEntity is the BasicEntity implementation for CloudApplicationEntity. +func (cae CloudApplicationEntity) AsRegistryValueEntity() (*RegistryValueEntity, bool) { return nil, false } -// AsMCASDataConnector is the BasicDataConnector implementation for MCASDataConnector. -func (mdc MCASDataConnector) AsMCASDataConnector() (*MCASDataConnector, bool) { - return &mdc, true +// AsSecurityAlert is the BasicEntity implementation for CloudApplicationEntity. +func (cae CloudApplicationEntity) AsSecurityAlert() (*SecurityAlert, bool) { + return nil, false } -// AsAATPDataConnector is the BasicDataConnector implementation for MCASDataConnector. -func (mdc MCASDataConnector) AsAATPDataConnector() (*AATPDataConnector, bool) { +// AsSecurityGroupEntity is the BasicEntity implementation for CloudApplicationEntity. +func (cae CloudApplicationEntity) AsSecurityGroupEntity() (*SecurityGroupEntity, bool) { return nil, false } -// AsMDATPDataConnector is the BasicDataConnector implementation for MCASDataConnector. -func (mdc MCASDataConnector) AsMDATPDataConnector() (*MDATPDataConnector, bool) { +// AsURLEntity is the BasicEntity implementation for CloudApplicationEntity. +func (cae CloudApplicationEntity) AsURLEntity() (*URLEntity, bool) { return nil, false } -// AsDataConnector is the BasicDataConnector implementation for MCASDataConnector. -func (mdc MCASDataConnector) AsDataConnector() (*DataConnector, bool) { +// AsEntity is the BasicEntity implementation for CloudApplicationEntity. +func (cae CloudApplicationEntity) AsEntity() (*Entity, bool) { return nil, false } -// AsBasicDataConnector is the BasicDataConnector implementation for MCASDataConnector. -func (mdc MCASDataConnector) AsBasicDataConnector() (BasicDataConnector, bool) { - return &mdc, true +// AsBasicEntity is the BasicEntity implementation for CloudApplicationEntity. +func (cae CloudApplicationEntity) AsBasicEntity() (BasicEntity, bool) { + return &cae, true } -// UnmarshalJSON is the custom unmarshaler for MCASDataConnector struct. -func (mdc *MCASDataConnector) UnmarshalJSON(body []byte) error { +// UnmarshalJSON is the custom unmarshaler for CloudApplicationEntity struct. +func (cae *CloudApplicationEntity) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -3749,12 +4480,12 @@ func (mdc *MCASDataConnector) UnmarshalJSON(body []byte) error { switch k { case "properties": if v != nil { - var mCASDataConnectorProperties MCASDataConnectorProperties - err = json.Unmarshal(*v, &mCASDataConnectorProperties) + var cloudApplicationEntityProperties CloudApplicationEntityProperties + err = json.Unmarshal(*v, &cloudApplicationEntityProperties) if err != nil { return err } - mdc.MCASDataConnectorProperties = &mCASDataConnectorProperties + cae.CloudApplicationEntityProperties = &cloudApplicationEntityProperties } case "id": if v != nil { @@ -3763,16 +4494,7 @@ func (mdc *MCASDataConnector) UnmarshalJSON(body []byte) error { if err != nil { return err } - mdc.ID = &ID - } - case "type": - if v != nil { - var typeVar string - err = json.Unmarshal(*v, &typeVar) - if err != nil { - return err - } - mdc.Type = &typeVar + cae.ID = &ID } case "name": if v != nil { @@ -3781,25 +4503,25 @@ func (mdc *MCASDataConnector) UnmarshalJSON(body []byte) error { if err != nil { return err } - mdc.Name = &name + cae.Name = &name } - case "etag": + case "type": if v != nil { - var etag string - err = json.Unmarshal(*v, &etag) + var typeVar string + err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - mdc.Etag = &etag + cae.Type = &typeVar } case "kind": if v != nil { - var kind KindBasicDataConnector + var kind KindBasicEntity err = json.Unmarshal(*v, &kind) if err != nil { return err } - mdc.Kind = kind + cae.Kind = kind } } } @@ -3807,84 +4529,2897 @@ func (mdc *MCASDataConnector) UnmarshalJSON(body []byte) error { return nil } -// MCASDataConnectorDataTypes the available data types for MCAS (Microsoft Cloud App Security) data -// connector. -type MCASDataConnectorDataTypes struct { - // DiscoveryLogs - Discovery log data type connection. - DiscoveryLogs *MCASDataConnectorDataTypesDiscoveryLogs `json:"discoveryLogs,omitempty"` - // Alerts - Alerts data type connection. - Alerts *AlertsDataTypeOfDataConnectorAlerts `json:"alerts,omitempty"` -} - -// MCASDataConnectorDataTypesDiscoveryLogs discovery log data type connection. -type MCASDataConnectorDataTypesDiscoveryLogs struct { - // State - Describe whether this data type connection is enabled or not. Possible values include: 'Enabled', 'Disabled' - State DataTypeState `json:"state,omitempty"` +// CloudApplicationEntityProperties cloudApplication entity property bag. +type CloudApplicationEntityProperties struct { + // AppID - READ-ONLY; The technical identifier of the application. + AppID *int32 `json:"appId,omitempty"` + // AppName - READ-ONLY; The name of the related cloud application. + AppName *string `json:"appName,omitempty"` + // InstanceName - READ-ONLY; The user defined instance name of the cloud application. It is often used to distinguish between several applications of the same type that a customer has. + InstanceName *string `json:"instanceName,omitempty"` + // AdditionalData - READ-ONLY; A bag of custom fields that should be part of the entity and will be presented to the user. + AdditionalData map[string]interface{} `json:"additionalData"` + // FriendlyName - READ-ONLY; The graph item display name which is a short humanly readable description of the graph item instance. This property is optional and might be system generated. + FriendlyName *string `json:"friendlyName,omitempty"` } -// MCASDataConnectorProperties MCAS (Microsoft Cloud App Security) data connector properties. -type MCASDataConnectorProperties struct { - // DataTypes - The available data types for the connector. - DataTypes *MCASDataConnectorDataTypes `json:"dataTypes,omitempty"` - // TenantID - The tenant id to connect to, and get the data from. - TenantID *string `json:"tenantId,omitempty"` +// MarshalJSON is the custom marshaler for CloudApplicationEntityProperties. +func (caep CloudApplicationEntityProperties) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + return json.Marshal(objectMap) } -// MDATPDataConnector represents MDATP (Microsoft Defender Advanced Threat Protection) data connector. -type MDATPDataConnector struct { - // MDATPDataConnectorProperties - MDATP (Microsoft Defender Advanced Threat Protection) data connector properties. - *MDATPDataConnectorProperties `json:"properties,omitempty"` - // ID - READ-ONLY; Azure resource Id - ID *string `json:"id,omitempty"` - // Type - READ-ONLY; Azure resource type - Type *string `json:"type,omitempty"` - // Name - READ-ONLY; Azure resource name - Name *string `json:"name,omitempty"` - // Etag - Etag of the data connector. - Etag *string `json:"etag,omitempty"` - // Kind - Possible values include: 'KindDataConnector', 'KindOffice365', 'KindThreatIntelligence', 'KindAmazonWebServicesCloudTrail', 'KindAzureActiveDirectory', 'KindAzureSecurityCenter', 'KindMicrosoftCloudAppSecurity', 'KindAzureAdvancedThreatProtection', 'KindMicrosoftDefenderAdvancedThreatProtection' - Kind KindBasicDataConnector `json:"kind,omitempty"` +// CloudError error response structure. +type CloudError struct { + // CloudErrorBody - Error data + *CloudErrorBody `json:"error,omitempty"` } -// MarshalJSON is the custom marshaler for MDATPDataConnector. -func (mdc MDATPDataConnector) MarshalJSON() ([]byte, error) { - mdc.Kind = KindMicrosoftDefenderAdvancedThreatProtection +// MarshalJSON is the custom marshaler for CloudError. +func (ce CloudError) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) - if mdc.MDATPDataConnectorProperties != nil { - objectMap["properties"] = mdc.MDATPDataConnectorProperties - } - if mdc.Etag != nil { - objectMap["etag"] = mdc.Etag - } - if mdc.Kind != "" { - objectMap["kind"] = mdc.Kind + if ce.CloudErrorBody != nil { + objectMap["error"] = ce.CloudErrorBody } return json.Marshal(objectMap) } -// AsOfficeDataConnector is the BasicDataConnector implementation for MDATPDataConnector. -func (mdc MDATPDataConnector) AsOfficeDataConnector() (*OfficeDataConnector, bool) { - return nil, false -} - -// AsTIDataConnector is the BasicDataConnector implementation for MDATPDataConnector. -func (mdc MDATPDataConnector) AsTIDataConnector() (*TIDataConnector, bool) { - return nil, false -} - -// AsAwsCloudTrailDataConnector is the BasicDataConnector implementation for MDATPDataConnector. -func (mdc MDATPDataConnector) AsAwsCloudTrailDataConnector() (*AwsCloudTrailDataConnector, bool) { - return nil, false -} +// UnmarshalJSON is the custom unmarshaler for CloudError struct. +func (ce *CloudError) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "error": + if v != nil { + var cloudErrorBody CloudErrorBody + err = json.Unmarshal(*v, &cloudErrorBody) + if err != nil { + return err + } + ce.CloudErrorBody = &cloudErrorBody + } + } + } -// AsAADDataConnector is the BasicDataConnector implementation for MDATPDataConnector. -func (mdc MDATPDataConnector) AsAADDataConnector() (*AADDataConnector, bool) { - return nil, false + return nil } -// AsASCDataConnector is the BasicDataConnector implementation for MDATPDataConnector. -func (mdc MDATPDataConnector) AsASCDataConnector() (*ASCDataConnector, bool) { - return nil, false +// CloudErrorBody error details. +type CloudErrorBody struct { + // Code - READ-ONLY; An identifier for the error. Codes are invariant and are intended to be consumed programmatically. + Code *string `json:"code,omitempty"` + // Message - READ-ONLY; A message describing the error, intended to be suitable for display in a user interface. + Message *string `json:"message,omitempty"` +} + +// BasicDataConnector data connector. +type BasicDataConnector interface { + AsAADDataConnector() (*AADDataConnector, bool) + AsAATPDataConnector() (*AATPDataConnector, bool) + AsASCDataConnector() (*ASCDataConnector, bool) + AsAwsCloudTrailDataConnector() (*AwsCloudTrailDataConnector, bool) + AsMCASDataConnector() (*MCASDataConnector, bool) + AsMDATPDataConnector() (*MDATPDataConnector, bool) + AsOfficeDataConnector() (*OfficeDataConnector, bool) + AsTIDataConnector() (*TIDataConnector, bool) + AsDataConnector() (*DataConnector, bool) +} + +// DataConnector data connector. +type DataConnector struct { + autorest.Response `json:"-"` + // ID - READ-ONLY; Azure resource Id + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Azure resource name + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Azure resource type + Type *string `json:"type,omitempty"` + // Etag - Etag of the azure resource + Etag *string `json:"etag,omitempty"` + // Kind - Possible values include: 'KindDataConnector', 'KindAzureActiveDirectory', 'KindAzureAdvancedThreatProtection', 'KindAzureSecurityCenter', 'KindAmazonWebServicesCloudTrail', 'KindMicrosoftCloudAppSecurity', 'KindMicrosoftDefenderAdvancedThreatProtection', 'KindOffice365', 'KindThreatIntelligence' + Kind KindBasicDataConnector `json:"kind,omitempty"` +} + +func unmarshalBasicDataConnector(body []byte) (BasicDataConnector, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["kind"] { + case string(KindAzureActiveDirectory): + var adc AADDataConnector + err := json.Unmarshal(body, &adc) + return adc, err + case string(KindAzureAdvancedThreatProtection): + var adc AATPDataConnector + err := json.Unmarshal(body, &adc) + return adc, err + case string(KindAzureSecurityCenter): + var adc ASCDataConnector + err := json.Unmarshal(body, &adc) + return adc, err + case string(KindAmazonWebServicesCloudTrail): + var actdc AwsCloudTrailDataConnector + err := json.Unmarshal(body, &actdc) + return actdc, err + case string(KindMicrosoftCloudAppSecurity): + var mdc MCASDataConnector + err := json.Unmarshal(body, &mdc) + return mdc, err + case string(KindMicrosoftDefenderAdvancedThreatProtection): + var mdc MDATPDataConnector + err := json.Unmarshal(body, &mdc) + return mdc, err + case string(KindOffice365): + var odc OfficeDataConnector + err := json.Unmarshal(body, &odc) + return odc, err + case string(KindThreatIntelligence): + var tdc TIDataConnector + err := json.Unmarshal(body, &tdc) + return tdc, err + default: + var dc DataConnector + err := json.Unmarshal(body, &dc) + return dc, err + } +} +func unmarshalBasicDataConnectorArray(body []byte) ([]BasicDataConnector, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + dcArray := make([]BasicDataConnector, len(rawMessages)) + + for index, rawMessage := range rawMessages { + dc, err := unmarshalBasicDataConnector(*rawMessage) + if err != nil { + return nil, err + } + dcArray[index] = dc + } + return dcArray, nil +} + +// MarshalJSON is the custom marshaler for DataConnector. +func (dc DataConnector) MarshalJSON() ([]byte, error) { + dc.Kind = KindDataConnector + objectMap := make(map[string]interface{}) + if dc.Etag != nil { + objectMap["etag"] = dc.Etag + } + if dc.Kind != "" { + objectMap["kind"] = dc.Kind + } + return json.Marshal(objectMap) +} + +// AsAADDataConnector is the BasicDataConnector implementation for DataConnector. +func (dc DataConnector) AsAADDataConnector() (*AADDataConnector, bool) { + return nil, false +} + +// AsAATPDataConnector is the BasicDataConnector implementation for DataConnector. +func (dc DataConnector) AsAATPDataConnector() (*AATPDataConnector, bool) { + return nil, false +} + +// AsASCDataConnector is the BasicDataConnector implementation for DataConnector. +func (dc DataConnector) AsASCDataConnector() (*ASCDataConnector, bool) { + return nil, false +} + +// AsAwsCloudTrailDataConnector is the BasicDataConnector implementation for DataConnector. +func (dc DataConnector) AsAwsCloudTrailDataConnector() (*AwsCloudTrailDataConnector, bool) { + return nil, false +} + +// AsMCASDataConnector is the BasicDataConnector implementation for DataConnector. +func (dc DataConnector) AsMCASDataConnector() (*MCASDataConnector, bool) { + return nil, false +} + +// AsMDATPDataConnector is the BasicDataConnector implementation for DataConnector. +func (dc DataConnector) AsMDATPDataConnector() (*MDATPDataConnector, bool) { + return nil, false +} + +// AsOfficeDataConnector is the BasicDataConnector implementation for DataConnector. +func (dc DataConnector) AsOfficeDataConnector() (*OfficeDataConnector, bool) { + return nil, false +} + +// AsTIDataConnector is the BasicDataConnector implementation for DataConnector. +func (dc DataConnector) AsTIDataConnector() (*TIDataConnector, bool) { + return nil, false +} + +// AsDataConnector is the BasicDataConnector implementation for DataConnector. +func (dc DataConnector) AsDataConnector() (*DataConnector, bool) { + return &dc, true +} + +// AsBasicDataConnector is the BasicDataConnector implementation for DataConnector. +func (dc DataConnector) AsBasicDataConnector() (BasicDataConnector, bool) { + return &dc, true +} + +// DataConnectorDataTypeCommon common field for data type in data connectors. +type DataConnectorDataTypeCommon struct { + // State - Describe whether this data type connection is enabled or not. Possible values include: 'Enabled', 'Disabled' + State DataTypeState `json:"state,omitempty"` +} + +// DataConnectorKind1 describes an Azure resource with kind. +type DataConnectorKind1 struct { + // Kind - The kind of the data connector. Possible values include: 'DataConnectorKindAzureActiveDirectory', 'DataConnectorKindAzureSecurityCenter', 'DataConnectorKindMicrosoftCloudAppSecurity', 'DataConnectorKindThreatIntelligence', 'DataConnectorKindOffice365', 'DataConnectorKindAmazonWebServicesCloudTrail', 'DataConnectorKindAzureAdvancedThreatProtection', 'DataConnectorKindMicrosoftDefenderAdvancedThreatProtection' + Kind DataConnectorKind `json:"kind,omitempty"` +} + +// DataConnectorList list all the data connectors. +type DataConnectorList struct { + autorest.Response `json:"-"` + // NextLink - READ-ONLY; URL to fetch the next set of data connectors. + NextLink *string `json:"nextLink,omitempty"` + // Value - Array of data connectors. + Value *[]BasicDataConnector `json:"value,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for DataConnectorList struct. +func (dcl *DataConnectorList) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "nextLink": + if v != nil { + var nextLink string + err = json.Unmarshal(*v, &nextLink) + if err != nil { + return err + } + dcl.NextLink = &nextLink + } + case "value": + if v != nil { + value, err := unmarshalBasicDataConnectorArray(*v) + if err != nil { + return err + } + dcl.Value = &value + } + } + } + + return nil +} + +// DataConnectorListIterator provides access to a complete listing of DataConnector values. +type DataConnectorListIterator struct { + i int + page DataConnectorListPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *DataConnectorListIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DataConnectorListIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *DataConnectorListIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter DataConnectorListIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter DataConnectorListIterator) Response() DataConnectorList { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter DataConnectorListIterator) Value() BasicDataConnector { + if !iter.page.NotDone() { + return DataConnector{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the DataConnectorListIterator type. +func NewDataConnectorListIterator(page DataConnectorListPage) DataConnectorListIterator { + return DataConnectorListIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (dcl DataConnectorList) IsEmpty() bool { + return dcl.Value == nil || len(*dcl.Value) == 0 +} + +// dataConnectorListPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (dcl DataConnectorList) dataConnectorListPreparer(ctx context.Context) (*http.Request, error) { + if dcl.NextLink == nil || len(to.String(dcl.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(dcl.NextLink))) +} + +// DataConnectorListPage contains a page of BasicDataConnector values. +type DataConnectorListPage struct { + fn func(context.Context, DataConnectorList) (DataConnectorList, error) + dcl DataConnectorList +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *DataConnectorListPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DataConnectorListPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.dcl) + if err != nil { + return err + } + page.dcl = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *DataConnectorListPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page DataConnectorListPage) NotDone() bool { + return !page.dcl.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page DataConnectorListPage) Response() DataConnectorList { + return page.dcl +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page DataConnectorListPage) Values() []BasicDataConnector { + if page.dcl.IsEmpty() { + return nil + } + return *page.dcl.Value +} + +// Creates a new instance of the DataConnectorListPage type. +func NewDataConnectorListPage(getNextPage func(context.Context, DataConnectorList) (DataConnectorList, error)) DataConnectorListPage { + return DataConnectorListPage{fn: getNextPage} +} + +// DataConnectorModel ... +type DataConnectorModel struct { + autorest.Response `json:"-"` + Value BasicDataConnector `json:"value,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for DataConnectorModel struct. +func (dcm *DataConnectorModel) UnmarshalJSON(body []byte) error { + dc, err := unmarshalBasicDataConnector(body) + if err != nil { + return err + } + dcm.Value = dc + + return nil +} + +// DataConnectorStatus alert rule template data connector status +type DataConnectorStatus struct { + // ConnectorID - the connector id + ConnectorID *string `json:"connectorId,omitempty"` + // DataTypes - The data types availability map + DataTypes map[string]*DataTypeStatus `json:"dataTypes"` +} + +// MarshalJSON is the custom marshaler for DataConnectorStatus. +func (dcs DataConnectorStatus) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if dcs.ConnectorID != nil { + objectMap["connectorId"] = dcs.ConnectorID + } + if dcs.DataTypes != nil { + objectMap["dataTypes"] = dcs.DataTypes + } + return json.Marshal(objectMap) +} + +// DataConnectorTenantID properties data connector on tenant level. +type DataConnectorTenantID struct { + // TenantID - The tenant id to connect to, and get the data from. + TenantID *string `json:"tenantId,omitempty"` +} + +// DataConnectorWithAlertsProperties data connector properties. +type DataConnectorWithAlertsProperties struct { + // DataTypes - The available data types for the connector. + DataTypes *AlertsDataTypeOfDataConnector `json:"dataTypes,omitempty"` +} + +// DNSEntity represents a dns entity. +type DNSEntity struct { + // DNSEntityProperties - Dns entity properties + *DNSEntityProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Azure resource Id + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Azure resource name + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Azure resource type + Type *string `json:"type,omitempty"` + // Kind - Possible values include: 'KindEntity', 'KindAccount', 'KindAzureResource', 'KindCloudApplication', 'KindDNSResolution', 'KindFile', 'KindFileHash', 'KindHost', 'KindIP', 'KindMalware', 'KindProcess', 'KindRegistryKey', 'KindRegistryValue', 'KindSecurityAlert', 'KindSecurityGroup', 'KindURL' + Kind KindBasicEntity `json:"kind,omitempty"` +} + +// MarshalJSON is the custom marshaler for DNSEntity. +func (de DNSEntity) MarshalJSON() ([]byte, error) { + de.Kind = KindDNSResolution + objectMap := make(map[string]interface{}) + if de.DNSEntityProperties != nil { + objectMap["properties"] = de.DNSEntityProperties + } + if de.Kind != "" { + objectMap["kind"] = de.Kind + } + return json.Marshal(objectMap) +} + +// AsAccountEntity is the BasicEntity implementation for DNSEntity. +func (de DNSEntity) AsAccountEntity() (*AccountEntity, bool) { + return nil, false +} + +// AsAzureResourceEntity is the BasicEntity implementation for DNSEntity. +func (de DNSEntity) AsAzureResourceEntity() (*AzureResourceEntity, bool) { + return nil, false +} + +// AsCloudApplicationEntity is the BasicEntity implementation for DNSEntity. +func (de DNSEntity) AsCloudApplicationEntity() (*CloudApplicationEntity, bool) { + return nil, false +} + +// AsDNSEntity is the BasicEntity implementation for DNSEntity. +func (de DNSEntity) AsDNSEntity() (*DNSEntity, bool) { + return &de, true +} + +// AsFileEntity is the BasicEntity implementation for DNSEntity. +func (de DNSEntity) AsFileEntity() (*FileEntity, bool) { + return nil, false +} + +// AsFileHashEntity is the BasicEntity implementation for DNSEntity. +func (de DNSEntity) AsFileHashEntity() (*FileHashEntity, bool) { + return nil, false +} + +// AsHostEntity is the BasicEntity implementation for DNSEntity. +func (de DNSEntity) AsHostEntity() (*HostEntity, bool) { + return nil, false +} + +// AsIPEntity is the BasicEntity implementation for DNSEntity. +func (de DNSEntity) AsIPEntity() (*IPEntity, bool) { + return nil, false +} + +// AsMalwareEntity is the BasicEntity implementation for DNSEntity. +func (de DNSEntity) AsMalwareEntity() (*MalwareEntity, bool) { + return nil, false +} + +// AsProcessEntity is the BasicEntity implementation for DNSEntity. +func (de DNSEntity) AsProcessEntity() (*ProcessEntity, bool) { + return nil, false +} + +// AsRegistryKeyEntity is the BasicEntity implementation for DNSEntity. +func (de DNSEntity) AsRegistryKeyEntity() (*RegistryKeyEntity, bool) { + return nil, false +} + +// AsRegistryValueEntity is the BasicEntity implementation for DNSEntity. +func (de DNSEntity) AsRegistryValueEntity() (*RegistryValueEntity, bool) { + return nil, false +} + +// AsSecurityAlert is the BasicEntity implementation for DNSEntity. +func (de DNSEntity) AsSecurityAlert() (*SecurityAlert, bool) { + return nil, false +} + +// AsSecurityGroupEntity is the BasicEntity implementation for DNSEntity. +func (de DNSEntity) AsSecurityGroupEntity() (*SecurityGroupEntity, bool) { + return nil, false +} + +// AsURLEntity is the BasicEntity implementation for DNSEntity. +func (de DNSEntity) AsURLEntity() (*URLEntity, bool) { + return nil, false +} + +// AsEntity is the BasicEntity implementation for DNSEntity. +func (de DNSEntity) AsEntity() (*Entity, bool) { + return nil, false +} + +// AsBasicEntity is the BasicEntity implementation for DNSEntity. +func (de DNSEntity) AsBasicEntity() (BasicEntity, bool) { + return &de, true +} + +// UnmarshalJSON is the custom unmarshaler for DNSEntity struct. +func (de *DNSEntity) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var DNSEntityProperties DNSEntityProperties + err = json.Unmarshal(*v, &DNSEntityProperties) + if err != nil { + return err + } + de.DNSEntityProperties = &DNSEntityProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + de.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + de.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + de.Type = &typeVar + } + case "kind": + if v != nil { + var kind KindBasicEntity + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + de.Kind = kind + } + } + } + + return nil +} + +// DNSEntityProperties dns entity property bag. +type DNSEntityProperties struct { + // DNSServerIPEntityID - READ-ONLY; An ip entity id for the dns server resolving the request + DNSServerIPEntityID *string `json:"dnsServerIpEntityId,omitempty"` + // DomainName - READ-ONLY; The name of the dns record associated with the alert + DomainName *string `json:"domainName,omitempty"` + // HostIPAddressEntityID - READ-ONLY; An ip entity id for the dns request client + HostIPAddressEntityID *string `json:"hostIpAddressEntityId,omitempty"` + // IPAddressEntityIds - READ-ONLY; Ip entity identifiers for the resolved ip address. + IPAddressEntityIds *[]string `json:"ipAddressEntityIds,omitempty"` + // AdditionalData - READ-ONLY; A bag of custom fields that should be part of the entity and will be presented to the user. + AdditionalData map[string]interface{} `json:"additionalData"` + // FriendlyName - READ-ONLY; The graph item display name which is a short humanly readable description of the graph item instance. This property is optional and might be system generated. + FriendlyName *string `json:"friendlyName,omitempty"` +} + +// MarshalJSON is the custom marshaler for DNSEntityProperties. +func (dep DNSEntityProperties) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + return json.Marshal(objectMap) +} + +// BasicEntity specific entity. +type BasicEntity interface { + AsAccountEntity() (*AccountEntity, bool) + AsAzureResourceEntity() (*AzureResourceEntity, bool) + AsCloudApplicationEntity() (*CloudApplicationEntity, bool) + AsDNSEntity() (*DNSEntity, bool) + AsFileEntity() (*FileEntity, bool) + AsFileHashEntity() (*FileHashEntity, bool) + AsHostEntity() (*HostEntity, bool) + AsIPEntity() (*IPEntity, bool) + AsMalwareEntity() (*MalwareEntity, bool) + AsProcessEntity() (*ProcessEntity, bool) + AsRegistryKeyEntity() (*RegistryKeyEntity, bool) + AsRegistryValueEntity() (*RegistryValueEntity, bool) + AsSecurityAlert() (*SecurityAlert, bool) + AsSecurityGroupEntity() (*SecurityGroupEntity, bool) + AsURLEntity() (*URLEntity, bool) + AsEntity() (*Entity, bool) +} + +// Entity specific entity. +type Entity struct { + autorest.Response `json:"-"` + // ID - READ-ONLY; Azure resource Id + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Azure resource name + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Azure resource type + Type *string `json:"type,omitempty"` + // Kind - Possible values include: 'KindEntity', 'KindAccount', 'KindAzureResource', 'KindCloudApplication', 'KindDNSResolution', 'KindFile', 'KindFileHash', 'KindHost', 'KindIP', 'KindMalware', 'KindProcess', 'KindRegistryKey', 'KindRegistryValue', 'KindSecurityAlert', 'KindSecurityGroup', 'KindURL' + Kind KindBasicEntity `json:"kind,omitempty"` +} + +func unmarshalBasicEntity(body []byte) (BasicEntity, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["kind"] { + case string(KindAccount): + var ae AccountEntity + err := json.Unmarshal(body, &ae) + return ae, err + case string(KindAzureResource): + var are AzureResourceEntity + err := json.Unmarshal(body, &are) + return are, err + case string(KindCloudApplication): + var cae CloudApplicationEntity + err := json.Unmarshal(body, &cae) + return cae, err + case string(KindDNSResolution): + var de DNSEntity + err := json.Unmarshal(body, &de) + return de, err + case string(KindFile): + var fe FileEntity + err := json.Unmarshal(body, &fe) + return fe, err + case string(KindFileHash): + var fhe FileHashEntity + err := json.Unmarshal(body, &fhe) + return fhe, err + case string(KindHost): + var he HostEntity + err := json.Unmarshal(body, &he) + return he, err + case string(KindIP): + var ie IPEntity + err := json.Unmarshal(body, &ie) + return ie, err + case string(KindMalware): + var me MalwareEntity + err := json.Unmarshal(body, &me) + return me, err + case string(KindProcess): + var peVar ProcessEntity + err := json.Unmarshal(body, &peVar) + return peVar, err + case string(KindRegistryKey): + var rke RegistryKeyEntity + err := json.Unmarshal(body, &rke) + return rke, err + case string(KindRegistryValue): + var rve RegistryValueEntity + err := json.Unmarshal(body, &rve) + return rve, err + case string(KindSecurityAlert): + var sa SecurityAlert + err := json.Unmarshal(body, &sa) + return sa, err + case string(KindSecurityGroup): + var sge SecurityGroupEntity + err := json.Unmarshal(body, &sge) + return sge, err + case string(KindURL): + var ue URLEntity + err := json.Unmarshal(body, &ue) + return ue, err + default: + var e Entity + err := json.Unmarshal(body, &e) + return e, err + } +} +func unmarshalBasicEntityArray(body []byte) ([]BasicEntity, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + eArray := make([]BasicEntity, len(rawMessages)) + + for index, rawMessage := range rawMessages { + e, err := unmarshalBasicEntity(*rawMessage) + if err != nil { + return nil, err + } + eArray[index] = e + } + return eArray, nil +} + +// MarshalJSON is the custom marshaler for Entity. +func (e Entity) MarshalJSON() ([]byte, error) { + e.Kind = KindEntity + objectMap := make(map[string]interface{}) + if e.Kind != "" { + objectMap["kind"] = e.Kind + } + return json.Marshal(objectMap) +} + +// AsAccountEntity is the BasicEntity implementation for Entity. +func (e Entity) AsAccountEntity() (*AccountEntity, bool) { + return nil, false +} + +// AsAzureResourceEntity is the BasicEntity implementation for Entity. +func (e Entity) AsAzureResourceEntity() (*AzureResourceEntity, bool) { + return nil, false +} + +// AsCloudApplicationEntity is the BasicEntity implementation for Entity. +func (e Entity) AsCloudApplicationEntity() (*CloudApplicationEntity, bool) { + return nil, false +} + +// AsDNSEntity is the BasicEntity implementation for Entity. +func (e Entity) AsDNSEntity() (*DNSEntity, bool) { + return nil, false +} + +// AsFileEntity is the BasicEntity implementation for Entity. +func (e Entity) AsFileEntity() (*FileEntity, bool) { + return nil, false +} + +// AsFileHashEntity is the BasicEntity implementation for Entity. +func (e Entity) AsFileHashEntity() (*FileHashEntity, bool) { + return nil, false +} + +// AsHostEntity is the BasicEntity implementation for Entity. +func (e Entity) AsHostEntity() (*HostEntity, bool) { + return nil, false +} + +// AsIPEntity is the BasicEntity implementation for Entity. +func (e Entity) AsIPEntity() (*IPEntity, bool) { + return nil, false +} + +// AsMalwareEntity is the BasicEntity implementation for Entity. +func (e Entity) AsMalwareEntity() (*MalwareEntity, bool) { + return nil, false +} + +// AsProcessEntity is the BasicEntity implementation for Entity. +func (e Entity) AsProcessEntity() (*ProcessEntity, bool) { + return nil, false +} + +// AsRegistryKeyEntity is the BasicEntity implementation for Entity. +func (e Entity) AsRegistryKeyEntity() (*RegistryKeyEntity, bool) { + return nil, false +} + +// AsRegistryValueEntity is the BasicEntity implementation for Entity. +func (e Entity) AsRegistryValueEntity() (*RegistryValueEntity, bool) { + return nil, false +} + +// AsSecurityAlert is the BasicEntity implementation for Entity. +func (e Entity) AsSecurityAlert() (*SecurityAlert, bool) { + return nil, false +} + +// AsSecurityGroupEntity is the BasicEntity implementation for Entity. +func (e Entity) AsSecurityGroupEntity() (*SecurityGroupEntity, bool) { + return nil, false +} + +// AsURLEntity is the BasicEntity implementation for Entity. +func (e Entity) AsURLEntity() (*URLEntity, bool) { + return nil, false +} + +// AsEntity is the BasicEntity implementation for Entity. +func (e Entity) AsEntity() (*Entity, bool) { + return &e, true +} + +// AsBasicEntity is the BasicEntity implementation for Entity. +func (e Entity) AsBasicEntity() (BasicEntity, bool) { + return &e, true +} + +// EntityCommonProperties entity common property bag. +type EntityCommonProperties struct { + // AdditionalData - READ-ONLY; A bag of custom fields that should be part of the entity and will be presented to the user. + AdditionalData map[string]interface{} `json:"additionalData"` + // FriendlyName - READ-ONLY; The graph item display name which is a short humanly readable description of the graph item instance. This property is optional and might be system generated. + FriendlyName *string `json:"friendlyName,omitempty"` +} + +// MarshalJSON is the custom marshaler for EntityCommonProperties. +func (ecp EntityCommonProperties) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + return json.Marshal(objectMap) +} + +// EntityExpandParameters the parameters required to execute an expand operation on the given entity. +type EntityExpandParameters struct { + // EndTime - The end date filter, so the only expansion results returned are before this date. + EndTime *date.Time `json:"endTime,omitempty"` + // ExpansionID - The Id of the expansion to perform. + ExpansionID *uuid.UUID `json:"expansionId,omitempty"` + // StartTime - The start date filter, so the only expansion results returned are after this date. + StartTime *date.Time `json:"startTime,omitempty"` +} + +// EntityExpandResponse the entity expansion result operation response. +type EntityExpandResponse struct { + autorest.Response `json:"-"` + // MetaData - The metadata from the expansion operation results. + MetaData *ExpansionResultsMetadata `json:"metaData,omitempty"` + // Value - The expansion result values. + Value *EntityExpandResponseValue `json:"value,omitempty"` +} + +// EntityExpandResponseValue the expansion result values. +type EntityExpandResponseValue struct { + // Entities - Array of the expansion result entities. + Entities *[]BasicEntity `json:"entities,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for EntityExpandResponseValue struct. +func (eer *EntityExpandResponseValue) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "entities": + if v != nil { + entities, err := unmarshalBasicEntityArray(*v) + if err != nil { + return err + } + eer.Entities = &entities + } + } + } + + return nil +} + +// EntityKind1 describes an entity with kind. +type EntityKind1 struct { + // Kind - The kind of the entity. Possible values include: 'EntityKindAccount', 'EntityKindHost', 'EntityKindFile', 'EntityKindAzureResource', 'EntityKindCloudApplication', 'EntityKindDNSResolution', 'EntityKindFileHash', 'EntityKindIP', 'EntityKindMalware', 'EntityKindProcess', 'EntityKindRegistryKey', 'EntityKindRegistryValue', 'EntityKindSecurityGroup', 'EntityKindURL', 'EntityKindSecurityAlert', 'EntityKindBookmark' + Kind EntityKind `json:"kind,omitempty"` +} + +// EntityList list of all the entities. +type EntityList struct { + autorest.Response `json:"-"` + // NextLink - READ-ONLY; URL to fetch the next set of entities. + NextLink *string `json:"nextLink,omitempty"` + // Value - Array of entities. + Value *[]BasicEntity `json:"value,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for EntityList struct. +func (el *EntityList) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "nextLink": + if v != nil { + var nextLink string + err = json.Unmarshal(*v, &nextLink) + if err != nil { + return err + } + el.NextLink = &nextLink + } + case "value": + if v != nil { + value, err := unmarshalBasicEntityArray(*v) + if err != nil { + return err + } + el.Value = &value + } + } + } + + return nil +} + +// EntityListIterator provides access to a complete listing of Entity values. +type EntityListIterator struct { + i int + page EntityListPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *EntityListIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/EntityListIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *EntityListIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter EntityListIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter EntityListIterator) Response() EntityList { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter EntityListIterator) Value() BasicEntity { + if !iter.page.NotDone() { + return Entity{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the EntityListIterator type. +func NewEntityListIterator(page EntityListPage) EntityListIterator { + return EntityListIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (el EntityList) IsEmpty() bool { + return el.Value == nil || len(*el.Value) == 0 +} + +// entityListPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (el EntityList) entityListPreparer(ctx context.Context) (*http.Request, error) { + if el.NextLink == nil || len(to.String(el.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(el.NextLink))) +} + +// EntityListPage contains a page of BasicEntity values. +type EntityListPage struct { + fn func(context.Context, EntityList) (EntityList, error) + el EntityList +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *EntityListPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/EntityListPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.el) + if err != nil { + return err + } + page.el = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *EntityListPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page EntityListPage) NotDone() bool { + return !page.el.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page EntityListPage) Response() EntityList { + return page.el +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page EntityListPage) Values() []BasicEntity { + if page.el.IsEmpty() { + return nil + } + return *page.el.Value +} + +// Creates a new instance of the EntityListPage type. +func NewEntityListPage(getNextPage func(context.Context, EntityList) (EntityList, error)) EntityListPage { + return EntityListPage{fn: getNextPage} +} + +// EntityModel ... +type EntityModel struct { + autorest.Response `json:"-"` + Value BasicEntity `json:"value,omitempty"` +} + +// UnmarshalJSON is the custom unmarshaler for EntityModel struct. +func (em *EntityModel) UnmarshalJSON(body []byte) error { + e, err := unmarshalBasicEntity(body) + if err != nil { + return err + } + em.Value = e + + return nil +} + +// EntityQuery specific entity query. +type EntityQuery struct { + autorest.Response `json:"-"` + // EntityQueryProperties - Entity query properties + *EntityQueryProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Azure resource Id + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Azure resource name + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Azure resource type + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for EntityQuery. +func (eq EntityQuery) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if eq.EntityQueryProperties != nil { + objectMap["properties"] = eq.EntityQueryProperties + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for EntityQuery struct. +func (eq *EntityQuery) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var entityQueryProperties EntityQueryProperties + err = json.Unmarshal(*v, &entityQueryProperties) + if err != nil { + return err + } + eq.EntityQueryProperties = &entityQueryProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + eq.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + eq.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + eq.Type = &typeVar + } + } + } + + return nil +} + +// EntityQueryList list of all the entity queries. +type EntityQueryList struct { + autorest.Response `json:"-"` + // NextLink - READ-ONLY; URL to fetch the next set of entity queries. + NextLink *string `json:"nextLink,omitempty"` + // Value - Array of entity queries. + Value *[]EntityQuery `json:"value,omitempty"` +} + +// EntityQueryListIterator provides access to a complete listing of EntityQuery values. +type EntityQueryListIterator struct { + i int + page EntityQueryListPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *EntityQueryListIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/EntityQueryListIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *EntityQueryListIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter EntityQueryListIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter EntityQueryListIterator) Response() EntityQueryList { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter EntityQueryListIterator) Value() EntityQuery { + if !iter.page.NotDone() { + return EntityQuery{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the EntityQueryListIterator type. +func NewEntityQueryListIterator(page EntityQueryListPage) EntityQueryListIterator { + return EntityQueryListIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (eql EntityQueryList) IsEmpty() bool { + return eql.Value == nil || len(*eql.Value) == 0 +} + +// entityQueryListPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (eql EntityQueryList) entityQueryListPreparer(ctx context.Context) (*http.Request, error) { + if eql.NextLink == nil || len(to.String(eql.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(eql.NextLink))) +} + +// EntityQueryListPage contains a page of EntityQuery values. +type EntityQueryListPage struct { + fn func(context.Context, EntityQueryList) (EntityQueryList, error) + eql EntityQueryList +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *EntityQueryListPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/EntityQueryListPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.eql) + if err != nil { + return err + } + page.eql = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *EntityQueryListPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page EntityQueryListPage) NotDone() bool { + return !page.eql.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page EntityQueryListPage) Response() EntityQueryList { + return page.eql +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page EntityQueryListPage) Values() []EntityQuery { + if page.eql.IsEmpty() { + return nil + } + return *page.eql.Value +} + +// Creates a new instance of the EntityQueryListPage type. +func NewEntityQueryListPage(getNextPage func(context.Context, EntityQueryList) (EntityQueryList, error)) EntityQueryListPage { + return EntityQueryListPage{fn: getNextPage} +} + +// EntityQueryProperties describes entity query properties +type EntityQueryProperties struct { + // DataSources - List of the data sources that are required to run the query + DataSources *[]string `json:"dataSources,omitempty"` + // DisplayName - The query display name + DisplayName *string `json:"displayName,omitempty"` + // InputEntityType - The type of the query's source entity. Possible values include: 'EntityTypeAccount', 'EntityTypeHost', 'EntityTypeFile', 'EntityTypeAzureResource', 'EntityTypeCloudApplication', 'EntityTypeDNS', 'EntityTypeFileHash', 'EntityTypeIP', 'EntityTypeMalware', 'EntityTypeProcess', 'EntityTypeRegistryKey', 'EntityTypeRegistryValue', 'EntityTypeSecurityGroup', 'EntityTypeURL', 'EntityTypeSecurityAlert', 'EntityTypeHuntingBookmark' + InputEntityType EntityType `json:"inputEntityType,omitempty"` + // InputFields - List of the fields of the source entity that are required to run the query + InputFields *[]string `json:"inputFields,omitempty"` + // OutputEntityTypes - List of the desired output types to be constructed from the result + OutputEntityTypes *[]EntityType `json:"outputEntityTypes,omitempty"` + // QueryTemplate - The template query string to be parsed and formatted + QueryTemplate *string `json:"queryTemplate,omitempty"` +} + +// ExpansionResultAggregation information of a specific aggregation in the expansion result. +type ExpansionResultAggregation struct { + // AggregationType - The common type of the aggregation. (for e.g. entity field name) + AggregationType *string `json:"aggregationType,omitempty"` + // Count - Total number of aggregations of the given kind (and aggregationType if given) in the expansion result. + Count *int32 `json:"count,omitempty"` + // DisplayName - The display name of the aggregation by type. + DisplayName *string `json:"displayName,omitempty"` + // EntityKind - The kind of the aggregated entity. Possible values include: 'EntityKindAccount', 'EntityKindHost', 'EntityKindFile', 'EntityKindAzureResource', 'EntityKindCloudApplication', 'EntityKindDNSResolution', 'EntityKindFileHash', 'EntityKindIP', 'EntityKindMalware', 'EntityKindProcess', 'EntityKindRegistryKey', 'EntityKindRegistryValue', 'EntityKindSecurityGroup', 'EntityKindURL', 'EntityKindSecurityAlert', 'EntityKindBookmark' + EntityKind EntityKind `json:"entityKind,omitempty"` +} + +// ExpansionResultsMetadata expansion result metadata. +type ExpansionResultsMetadata struct { + // Aggregations - Information of the aggregated nodes in the expansion result. + Aggregations *[]ExpansionResultAggregation `json:"aggregations,omitempty"` +} + +// FileEntity represents a file entity. +type FileEntity struct { + // FileEntityProperties - File entity properties + *FileEntityProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Azure resource Id + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Azure resource name + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Azure resource type + Type *string `json:"type,omitempty"` + // Kind - Possible values include: 'KindEntity', 'KindAccount', 'KindAzureResource', 'KindCloudApplication', 'KindDNSResolution', 'KindFile', 'KindFileHash', 'KindHost', 'KindIP', 'KindMalware', 'KindProcess', 'KindRegistryKey', 'KindRegistryValue', 'KindSecurityAlert', 'KindSecurityGroup', 'KindURL' + Kind KindBasicEntity `json:"kind,omitempty"` +} + +// MarshalJSON is the custom marshaler for FileEntity. +func (fe FileEntity) MarshalJSON() ([]byte, error) { + fe.Kind = KindFile + objectMap := make(map[string]interface{}) + if fe.FileEntityProperties != nil { + objectMap["properties"] = fe.FileEntityProperties + } + if fe.Kind != "" { + objectMap["kind"] = fe.Kind + } + return json.Marshal(objectMap) +} + +// AsAccountEntity is the BasicEntity implementation for FileEntity. +func (fe FileEntity) AsAccountEntity() (*AccountEntity, bool) { + return nil, false +} + +// AsAzureResourceEntity is the BasicEntity implementation for FileEntity. +func (fe FileEntity) AsAzureResourceEntity() (*AzureResourceEntity, bool) { + return nil, false +} + +// AsCloudApplicationEntity is the BasicEntity implementation for FileEntity. +func (fe FileEntity) AsCloudApplicationEntity() (*CloudApplicationEntity, bool) { + return nil, false +} + +// AsDNSEntity is the BasicEntity implementation for FileEntity. +func (fe FileEntity) AsDNSEntity() (*DNSEntity, bool) { + return nil, false +} + +// AsFileEntity is the BasicEntity implementation for FileEntity. +func (fe FileEntity) AsFileEntity() (*FileEntity, bool) { + return &fe, true +} + +// AsFileHashEntity is the BasicEntity implementation for FileEntity. +func (fe FileEntity) AsFileHashEntity() (*FileHashEntity, bool) { + return nil, false +} + +// AsHostEntity is the BasicEntity implementation for FileEntity. +func (fe FileEntity) AsHostEntity() (*HostEntity, bool) { + return nil, false +} + +// AsIPEntity is the BasicEntity implementation for FileEntity. +func (fe FileEntity) AsIPEntity() (*IPEntity, bool) { + return nil, false +} + +// AsMalwareEntity is the BasicEntity implementation for FileEntity. +func (fe FileEntity) AsMalwareEntity() (*MalwareEntity, bool) { + return nil, false +} + +// AsProcessEntity is the BasicEntity implementation for FileEntity. +func (fe FileEntity) AsProcessEntity() (*ProcessEntity, bool) { + return nil, false +} + +// AsRegistryKeyEntity is the BasicEntity implementation for FileEntity. +func (fe FileEntity) AsRegistryKeyEntity() (*RegistryKeyEntity, bool) { + return nil, false +} + +// AsRegistryValueEntity is the BasicEntity implementation for FileEntity. +func (fe FileEntity) AsRegistryValueEntity() (*RegistryValueEntity, bool) { + return nil, false +} + +// AsSecurityAlert is the BasicEntity implementation for FileEntity. +func (fe FileEntity) AsSecurityAlert() (*SecurityAlert, bool) { + return nil, false +} + +// AsSecurityGroupEntity is the BasicEntity implementation for FileEntity. +func (fe FileEntity) AsSecurityGroupEntity() (*SecurityGroupEntity, bool) { + return nil, false +} + +// AsURLEntity is the BasicEntity implementation for FileEntity. +func (fe FileEntity) AsURLEntity() (*URLEntity, bool) { + return nil, false +} + +// AsEntity is the BasicEntity implementation for FileEntity. +func (fe FileEntity) AsEntity() (*Entity, bool) { + return nil, false +} + +// AsBasicEntity is the BasicEntity implementation for FileEntity. +func (fe FileEntity) AsBasicEntity() (BasicEntity, bool) { + return &fe, true +} + +// UnmarshalJSON is the custom unmarshaler for FileEntity struct. +func (fe *FileEntity) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var fileEntityProperties FileEntityProperties + err = json.Unmarshal(*v, &fileEntityProperties) + if err != nil { + return err + } + fe.FileEntityProperties = &fileEntityProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + fe.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + fe.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + fe.Type = &typeVar + } + case "kind": + if v != nil { + var kind KindBasicEntity + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + fe.Kind = kind + } + } + } + + return nil +} + +// FileEntityProperties file entity property bag. +type FileEntityProperties struct { + // Directory - READ-ONLY; The full path to the file. + Directory *string `json:"directory,omitempty"` + // FileHashEntityIds - READ-ONLY; The file hash entity identifiers associated with this file + FileHashEntityIds *[]string `json:"fileHashEntityIds,omitempty"` + // FileName - READ-ONLY; The file name without path (some alerts might not include path). + FileName *string `json:"fileName,omitempty"` + // HostEntityID - READ-ONLY; The Host entity id which the file belongs to + HostEntityID *string `json:"hostEntityId,omitempty"` + // AdditionalData - READ-ONLY; A bag of custom fields that should be part of the entity and will be presented to the user. + AdditionalData map[string]interface{} `json:"additionalData"` + // FriendlyName - READ-ONLY; The graph item display name which is a short humanly readable description of the graph item instance. This property is optional and might be system generated. + FriendlyName *string `json:"friendlyName,omitempty"` +} + +// MarshalJSON is the custom marshaler for FileEntityProperties. +func (fep FileEntityProperties) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + return json.Marshal(objectMap) +} + +// FileHashEntity represents a file hash entity. +type FileHashEntity struct { + // FileHashEntityProperties - FileHash entity properties + *FileHashEntityProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Azure resource Id + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Azure resource name + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Azure resource type + Type *string `json:"type,omitempty"` + // Kind - Possible values include: 'KindEntity', 'KindAccount', 'KindAzureResource', 'KindCloudApplication', 'KindDNSResolution', 'KindFile', 'KindFileHash', 'KindHost', 'KindIP', 'KindMalware', 'KindProcess', 'KindRegistryKey', 'KindRegistryValue', 'KindSecurityAlert', 'KindSecurityGroup', 'KindURL' + Kind KindBasicEntity `json:"kind,omitempty"` +} + +// MarshalJSON is the custom marshaler for FileHashEntity. +func (fhe FileHashEntity) MarshalJSON() ([]byte, error) { + fhe.Kind = KindFileHash + objectMap := make(map[string]interface{}) + if fhe.FileHashEntityProperties != nil { + objectMap["properties"] = fhe.FileHashEntityProperties + } + if fhe.Kind != "" { + objectMap["kind"] = fhe.Kind + } + return json.Marshal(objectMap) +} + +// AsAccountEntity is the BasicEntity implementation for FileHashEntity. +func (fhe FileHashEntity) AsAccountEntity() (*AccountEntity, bool) { + return nil, false +} + +// AsAzureResourceEntity is the BasicEntity implementation for FileHashEntity. +func (fhe FileHashEntity) AsAzureResourceEntity() (*AzureResourceEntity, bool) { + return nil, false +} + +// AsCloudApplicationEntity is the BasicEntity implementation for FileHashEntity. +func (fhe FileHashEntity) AsCloudApplicationEntity() (*CloudApplicationEntity, bool) { + return nil, false +} + +// AsDNSEntity is the BasicEntity implementation for FileHashEntity. +func (fhe FileHashEntity) AsDNSEntity() (*DNSEntity, bool) { + return nil, false +} + +// AsFileEntity is the BasicEntity implementation for FileHashEntity. +func (fhe FileHashEntity) AsFileEntity() (*FileEntity, bool) { + return nil, false +} + +// AsFileHashEntity is the BasicEntity implementation for FileHashEntity. +func (fhe FileHashEntity) AsFileHashEntity() (*FileHashEntity, bool) { + return &fhe, true +} + +// AsHostEntity is the BasicEntity implementation for FileHashEntity. +func (fhe FileHashEntity) AsHostEntity() (*HostEntity, bool) { + return nil, false +} + +// AsIPEntity is the BasicEntity implementation for FileHashEntity. +func (fhe FileHashEntity) AsIPEntity() (*IPEntity, bool) { + return nil, false +} + +// AsMalwareEntity is the BasicEntity implementation for FileHashEntity. +func (fhe FileHashEntity) AsMalwareEntity() (*MalwareEntity, bool) { + return nil, false +} + +// AsProcessEntity is the BasicEntity implementation for FileHashEntity. +func (fhe FileHashEntity) AsProcessEntity() (*ProcessEntity, bool) { + return nil, false +} + +// AsRegistryKeyEntity is the BasicEntity implementation for FileHashEntity. +func (fhe FileHashEntity) AsRegistryKeyEntity() (*RegistryKeyEntity, bool) { + return nil, false +} + +// AsRegistryValueEntity is the BasicEntity implementation for FileHashEntity. +func (fhe FileHashEntity) AsRegistryValueEntity() (*RegistryValueEntity, bool) { + return nil, false +} + +// AsSecurityAlert is the BasicEntity implementation for FileHashEntity. +func (fhe FileHashEntity) AsSecurityAlert() (*SecurityAlert, bool) { + return nil, false +} + +// AsSecurityGroupEntity is the BasicEntity implementation for FileHashEntity. +func (fhe FileHashEntity) AsSecurityGroupEntity() (*SecurityGroupEntity, bool) { + return nil, false +} + +// AsURLEntity is the BasicEntity implementation for FileHashEntity. +func (fhe FileHashEntity) AsURLEntity() (*URLEntity, bool) { + return nil, false +} + +// AsEntity is the BasicEntity implementation for FileHashEntity. +func (fhe FileHashEntity) AsEntity() (*Entity, bool) { + return nil, false +} + +// AsBasicEntity is the BasicEntity implementation for FileHashEntity. +func (fhe FileHashEntity) AsBasicEntity() (BasicEntity, bool) { + return &fhe, true +} + +// UnmarshalJSON is the custom unmarshaler for FileHashEntity struct. +func (fhe *FileHashEntity) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var fileHashEntityProperties FileHashEntityProperties + err = json.Unmarshal(*v, &fileHashEntityProperties) + if err != nil { + return err + } + fhe.FileHashEntityProperties = &fileHashEntityProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + fhe.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + fhe.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + fhe.Type = &typeVar + } + case "kind": + if v != nil { + var kind KindBasicEntity + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + fhe.Kind = kind + } + } + } + + return nil +} + +// FileHashEntityProperties fileHash entity property bag. +type FileHashEntityProperties struct { + // Algorithm - READ-ONLY; The hash algorithm type. Possible values include: 'Unknown', 'MD5', 'SHA1', 'SHA256', 'SHA256AC' + Algorithm FileHashAlgorithm `json:"algorithm,omitempty"` + // HashValue - READ-ONLY; The file hash value. + HashValue *string `json:"hashValue,omitempty"` + // AdditionalData - READ-ONLY; A bag of custom fields that should be part of the entity and will be presented to the user. + AdditionalData map[string]interface{} `json:"additionalData"` + // FriendlyName - READ-ONLY; The graph item display name which is a short humanly readable description of the graph item instance. This property is optional and might be system generated. + FriendlyName *string `json:"friendlyName,omitempty"` +} + +// MarshalJSON is the custom marshaler for FileHashEntityProperties. +func (fhep FileHashEntityProperties) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + return json.Marshal(objectMap) +} + +// FusionAlertRule represents Fusion alert rule. +type FusionAlertRule struct { + // FusionAlertRuleProperties - Fusion alert rule properties + *FusionAlertRuleProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Azure resource Id + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Azure resource name + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Azure resource type + Type *string `json:"type,omitempty"` + // Etag - Etag of the azure resource + Etag *string `json:"etag,omitempty"` + // Kind - Possible values include: 'KindAlertRule', 'KindFusion', 'KindMicrosoftSecurityIncidentCreation', 'KindScheduled' + Kind KindBasicAlertRule `json:"kind,omitempty"` +} + +// MarshalJSON is the custom marshaler for FusionAlertRule. +func (far FusionAlertRule) MarshalJSON() ([]byte, error) { + far.Kind = KindFusion + objectMap := make(map[string]interface{}) + if far.FusionAlertRuleProperties != nil { + objectMap["properties"] = far.FusionAlertRuleProperties + } + if far.Etag != nil { + objectMap["etag"] = far.Etag + } + if far.Kind != "" { + objectMap["kind"] = far.Kind + } + return json.Marshal(objectMap) +} + +// AsFusionAlertRule is the BasicAlertRule implementation for FusionAlertRule. +func (far FusionAlertRule) AsFusionAlertRule() (*FusionAlertRule, bool) { + return &far, true +} + +// AsMicrosoftSecurityIncidentCreationAlertRule is the BasicAlertRule implementation for FusionAlertRule. +func (far FusionAlertRule) AsMicrosoftSecurityIncidentCreationAlertRule() (*MicrosoftSecurityIncidentCreationAlertRule, bool) { + return nil, false +} + +// AsScheduledAlertRule is the BasicAlertRule implementation for FusionAlertRule. +func (far FusionAlertRule) AsScheduledAlertRule() (*ScheduledAlertRule, bool) { + return nil, false +} + +// AsAlertRule is the BasicAlertRule implementation for FusionAlertRule. +func (far FusionAlertRule) AsAlertRule() (*AlertRule, bool) { + return nil, false +} + +// AsBasicAlertRule is the BasicAlertRule implementation for FusionAlertRule. +func (far FusionAlertRule) AsBasicAlertRule() (BasicAlertRule, bool) { + return &far, true +} + +// UnmarshalJSON is the custom unmarshaler for FusionAlertRule struct. +func (far *FusionAlertRule) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var fusionAlertRuleProperties FusionAlertRuleProperties + err = json.Unmarshal(*v, &fusionAlertRuleProperties) + if err != nil { + return err + } + far.FusionAlertRuleProperties = &fusionAlertRuleProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + far.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + far.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + far.Type = &typeVar + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + far.Etag = &etag + } + case "kind": + if v != nil { + var kind KindBasicAlertRule + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + far.Kind = kind + } + } + } + + return nil +} + +// FusionAlertRuleProperties fusion alert rule base property bag. +type FusionAlertRuleProperties struct { + // AlertRuleTemplateName - The Name of the alert rule template used to create this rule. + AlertRuleTemplateName *string `json:"alertRuleTemplateName,omitempty"` + // Description - READ-ONLY; The description of the alert rule. + Description *string `json:"description,omitempty"` + // DisplayName - READ-ONLY; The display name for alerts created by this alert rule. + DisplayName *string `json:"displayName,omitempty"` + // Enabled - Determines whether this alert rule is enabled or disabled. + Enabled *bool `json:"enabled,omitempty"` + // LastModifiedUtc - READ-ONLY; The last time that this alert has been modified. + LastModifiedUtc *date.Time `json:"lastModifiedUtc,omitempty"` + // Severity - READ-ONLY; The severity for alerts created by this alert rule. Possible values include: 'High', 'Medium', 'Low', 'Informational' + Severity AlertSeverity `json:"severity,omitempty"` + // Tactics - READ-ONLY; The tactics of the alert rule + Tactics *[]AttackTactic `json:"tactics,omitempty"` +} + +// FusionAlertRuleTemplate represents Fusion alert rule template. +type FusionAlertRuleTemplate struct { + // FusionAlertRuleTemplateProperties - Fusion alert rule template properties + *FusionAlertRuleTemplateProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Azure resource Id + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Azure resource name + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Azure resource type + Type *string `json:"type,omitempty"` + // Kind - Possible values include: 'KindBasicAlertRuleTemplateKindAlertRuleTemplate', 'KindBasicAlertRuleTemplateKindFusion', 'KindBasicAlertRuleTemplateKindMicrosoftSecurityIncidentCreation', 'KindBasicAlertRuleTemplateKindScheduled' + Kind KindBasicAlertRuleTemplate `json:"kind,omitempty"` +} + +// MarshalJSON is the custom marshaler for FusionAlertRuleTemplate. +func (fart FusionAlertRuleTemplate) MarshalJSON() ([]byte, error) { + fart.Kind = KindBasicAlertRuleTemplateKindFusion + objectMap := make(map[string]interface{}) + if fart.FusionAlertRuleTemplateProperties != nil { + objectMap["properties"] = fart.FusionAlertRuleTemplateProperties + } + if fart.Kind != "" { + objectMap["kind"] = fart.Kind + } + return json.Marshal(objectMap) +} + +// AsFusionAlertRuleTemplate is the BasicAlertRuleTemplate implementation for FusionAlertRuleTemplate. +func (fart FusionAlertRuleTemplate) AsFusionAlertRuleTemplate() (*FusionAlertRuleTemplate, bool) { + return &fart, true +} + +// AsMicrosoftSecurityIncidentCreationAlertRuleTemplate is the BasicAlertRuleTemplate implementation for FusionAlertRuleTemplate. +func (fart FusionAlertRuleTemplate) AsMicrosoftSecurityIncidentCreationAlertRuleTemplate() (*MicrosoftSecurityIncidentCreationAlertRuleTemplate, bool) { + return nil, false +} + +// AsScheduledAlertRuleTemplate is the BasicAlertRuleTemplate implementation for FusionAlertRuleTemplate. +func (fart FusionAlertRuleTemplate) AsScheduledAlertRuleTemplate() (*ScheduledAlertRuleTemplate, bool) { + return nil, false +} + +// AsAlertRuleTemplate is the BasicAlertRuleTemplate implementation for FusionAlertRuleTemplate. +func (fart FusionAlertRuleTemplate) AsAlertRuleTemplate() (*AlertRuleTemplate, bool) { + return nil, false +} + +// AsBasicAlertRuleTemplate is the BasicAlertRuleTemplate implementation for FusionAlertRuleTemplate. +func (fart FusionAlertRuleTemplate) AsBasicAlertRuleTemplate() (BasicAlertRuleTemplate, bool) { + return &fart, true +} + +// UnmarshalJSON is the custom unmarshaler for FusionAlertRuleTemplate struct. +func (fart *FusionAlertRuleTemplate) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var fusionAlertRuleTemplateProperties FusionAlertRuleTemplateProperties + err = json.Unmarshal(*v, &fusionAlertRuleTemplateProperties) + if err != nil { + return err + } + fart.FusionAlertRuleTemplateProperties = &fusionAlertRuleTemplateProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + fart.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + fart.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + fart.Type = &typeVar + } + case "kind": + if v != nil { + var kind KindBasicAlertRuleTemplate + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + fart.Kind = kind + } + } + } + + return nil +} + +// FusionAlertRuleTemplateProperties fusion alert rule template properties +type FusionAlertRuleTemplateProperties struct { + // Severity - The severity for alerts created by this alert rule. Possible values include: 'High', 'Medium', 'Low', 'Informational' + Severity AlertSeverity `json:"severity,omitempty"` + // AlertRulesCreatedByTemplateCount - the number of alert rules that were created by this template + AlertRulesCreatedByTemplateCount *int32 `json:"alertRulesCreatedByTemplateCount,omitempty"` + // CreatedDateUTC - READ-ONLY; The time that this alert rule template has been added. + CreatedDateUTC *date.Time `json:"createdDateUTC,omitempty"` + // Description - The description of the alert rule template. + Description *string `json:"description,omitempty"` + // DisplayName - The display name for alert rule template. + DisplayName *string `json:"displayName,omitempty"` + // RequiredDataConnectors - The required data connectors for this template + RequiredDataConnectors *[]DataConnectorStatus `json:"requiredDataConnectors,omitempty"` + // Status - The alert rule template status. Possible values include: 'Installed', 'Available', 'NotAvailable' + Status TemplateStatus `json:"status,omitempty"` + // Tactics - The tactics of the alert rule template + Tactics *[]AttackTactic `json:"tactics,omitempty"` +} + +// GeoLocation the geo-location context attached to the ip entity +type GeoLocation struct { + // Asn - READ-ONLY; Autonomous System Number + Asn *int32 `json:"asn,omitempty"` + // City - READ-ONLY; City name + City *string `json:"city,omitempty"` + // CountryCode - READ-ONLY; The country code according to ISO 3166 format + CountryCode *string `json:"countryCode,omitempty"` + // CountryName - READ-ONLY; Country name according to ISO 3166 Alpha 2: the lowercase of the English Short Name + CountryName *string `json:"countryName,omitempty"` + // Latitude - READ-ONLY; The longitude of the identified location, expressed as a floating point number with range of -180 to 180, with positive numbers representing East and negative numbers representing West. Latitude and longitude are derived from the city or postal code. + Latitude *float64 `json:"latitude,omitempty"` + // Longitude - READ-ONLY; The latitude of the identified location, expressed as a floating point number with range of - 90 to 90, with positive numbers representing North and negative numbers representing South. Latitude and longitude are derived from the city or postal code. + Longitude *float64 `json:"longitude,omitempty"` + // State - READ-ONLY; State name + State *string `json:"state,omitempty"` +} + +// HostEntity represents a host entity. +type HostEntity struct { + // HostEntityProperties - Host entity properties + *HostEntityProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Azure resource Id + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Azure resource name + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Azure resource type + Type *string `json:"type,omitempty"` + // Kind - Possible values include: 'KindEntity', 'KindAccount', 'KindAzureResource', 'KindCloudApplication', 'KindDNSResolution', 'KindFile', 'KindFileHash', 'KindHost', 'KindIP', 'KindMalware', 'KindProcess', 'KindRegistryKey', 'KindRegistryValue', 'KindSecurityAlert', 'KindSecurityGroup', 'KindURL' + Kind KindBasicEntity `json:"kind,omitempty"` +} + +// MarshalJSON is the custom marshaler for HostEntity. +func (he HostEntity) MarshalJSON() ([]byte, error) { + he.Kind = KindHost + objectMap := make(map[string]interface{}) + if he.HostEntityProperties != nil { + objectMap["properties"] = he.HostEntityProperties + } + if he.Kind != "" { + objectMap["kind"] = he.Kind + } + return json.Marshal(objectMap) +} + +// AsAccountEntity is the BasicEntity implementation for HostEntity. +func (he HostEntity) AsAccountEntity() (*AccountEntity, bool) { + return nil, false +} + +// AsAzureResourceEntity is the BasicEntity implementation for HostEntity. +func (he HostEntity) AsAzureResourceEntity() (*AzureResourceEntity, bool) { + return nil, false +} + +// AsCloudApplicationEntity is the BasicEntity implementation for HostEntity. +func (he HostEntity) AsCloudApplicationEntity() (*CloudApplicationEntity, bool) { + return nil, false +} + +// AsDNSEntity is the BasicEntity implementation for HostEntity. +func (he HostEntity) AsDNSEntity() (*DNSEntity, bool) { + return nil, false +} + +// AsFileEntity is the BasicEntity implementation for HostEntity. +func (he HostEntity) AsFileEntity() (*FileEntity, bool) { + return nil, false +} + +// AsFileHashEntity is the BasicEntity implementation for HostEntity. +func (he HostEntity) AsFileHashEntity() (*FileHashEntity, bool) { + return nil, false +} + +// AsHostEntity is the BasicEntity implementation for HostEntity. +func (he HostEntity) AsHostEntity() (*HostEntity, bool) { + return &he, true +} + +// AsIPEntity is the BasicEntity implementation for HostEntity. +func (he HostEntity) AsIPEntity() (*IPEntity, bool) { + return nil, false +} + +// AsMalwareEntity is the BasicEntity implementation for HostEntity. +func (he HostEntity) AsMalwareEntity() (*MalwareEntity, bool) { + return nil, false +} + +// AsProcessEntity is the BasicEntity implementation for HostEntity. +func (he HostEntity) AsProcessEntity() (*ProcessEntity, bool) { + return nil, false +} + +// AsRegistryKeyEntity is the BasicEntity implementation for HostEntity. +func (he HostEntity) AsRegistryKeyEntity() (*RegistryKeyEntity, bool) { + return nil, false +} + +// AsRegistryValueEntity is the BasicEntity implementation for HostEntity. +func (he HostEntity) AsRegistryValueEntity() (*RegistryValueEntity, bool) { + return nil, false +} + +// AsSecurityAlert is the BasicEntity implementation for HostEntity. +func (he HostEntity) AsSecurityAlert() (*SecurityAlert, bool) { + return nil, false +} + +// AsSecurityGroupEntity is the BasicEntity implementation for HostEntity. +func (he HostEntity) AsSecurityGroupEntity() (*SecurityGroupEntity, bool) { + return nil, false +} + +// AsURLEntity is the BasicEntity implementation for HostEntity. +func (he HostEntity) AsURLEntity() (*URLEntity, bool) { + return nil, false +} + +// AsEntity is the BasicEntity implementation for HostEntity. +func (he HostEntity) AsEntity() (*Entity, bool) { + return nil, false +} + +// AsBasicEntity is the BasicEntity implementation for HostEntity. +func (he HostEntity) AsBasicEntity() (BasicEntity, bool) { + return &he, true +} + +// UnmarshalJSON is the custom unmarshaler for HostEntity struct. +func (he *HostEntity) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var hostEntityProperties HostEntityProperties + err = json.Unmarshal(*v, &hostEntityProperties) + if err != nil { + return err + } + he.HostEntityProperties = &hostEntityProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + he.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + he.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + he.Type = &typeVar + } + case "kind": + if v != nil { + var kind KindBasicEntity + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + he.Kind = kind + } + } + } + + return nil +} + +// HostEntityProperties host entity property bag. +type HostEntityProperties struct { + // AzureID - READ-ONLY; The azure resource id of the VM. + AzureID *string `json:"azureID,omitempty"` + // DNSDomain - READ-ONLY; The DNS domain that this host belongs to. Should contain the compete DNS suffix for the domain + DNSDomain *string `json:"dnsDomain,omitempty"` + // HostName - READ-ONLY; The hostname without the domain suffix. + HostName *string `json:"hostName,omitempty"` + // IsDomainJoined - READ-ONLY; Determines whether this host belongs to a domain. + IsDomainJoined *bool `json:"isDomainJoined,omitempty"` + // NetBiosName - READ-ONLY; The host name (pre-windows2000). + NetBiosName *string `json:"netBiosName,omitempty"` + // NtDomain - READ-ONLY; The NT domain that this host belongs to. + NtDomain *string `json:"ntDomain,omitempty"` + // OmsAgentID - READ-ONLY; The OMS agent id, if the host has OMS agent installed. + OmsAgentID *string `json:"omsAgentID,omitempty"` + // OsFamily - The operating system type. Possible values include: 'Linux', 'Windows', 'Android', 'IOS' + OsFamily OSFamily `json:"osFamily,omitempty"` + // OsVersion - READ-ONLY; A free text representation of the operating system. This field is meant to hold specific versions the are more fine grained than OSFamily or future values not supported by OSFamily enumeration + OsVersion *string `json:"osVersion,omitempty"` + // AdditionalData - READ-ONLY; A bag of custom fields that should be part of the entity and will be presented to the user. + AdditionalData map[string]interface{} `json:"additionalData"` + // FriendlyName - READ-ONLY; The graph item display name which is a short humanly readable description of the graph item instance. This property is optional and might be system generated. + FriendlyName *string `json:"friendlyName,omitempty"` +} + +// MarshalJSON is the custom marshaler for HostEntityProperties. +func (hep HostEntityProperties) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if hep.OsFamily != "" { + objectMap["osFamily"] = hep.OsFamily + } + return json.Marshal(objectMap) +} + +// IPEntity represents an ip entity. +type IPEntity struct { + // IPEntityProperties - Ip entity properties + *IPEntityProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Azure resource Id + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Azure resource name + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Azure resource type + Type *string `json:"type,omitempty"` + // Kind - Possible values include: 'KindEntity', 'KindAccount', 'KindAzureResource', 'KindCloudApplication', 'KindDNSResolution', 'KindFile', 'KindFileHash', 'KindHost', 'KindIP', 'KindMalware', 'KindProcess', 'KindRegistryKey', 'KindRegistryValue', 'KindSecurityAlert', 'KindSecurityGroup', 'KindURL' + Kind KindBasicEntity `json:"kind,omitempty"` +} + +// MarshalJSON is the custom marshaler for IPEntity. +func (ie IPEntity) MarshalJSON() ([]byte, error) { + ie.Kind = KindIP + objectMap := make(map[string]interface{}) + if ie.IPEntityProperties != nil { + objectMap["properties"] = ie.IPEntityProperties + } + if ie.Kind != "" { + objectMap["kind"] = ie.Kind + } + return json.Marshal(objectMap) +} + +// AsAccountEntity is the BasicEntity implementation for IPEntity. +func (ie IPEntity) AsAccountEntity() (*AccountEntity, bool) { + return nil, false +} + +// AsAzureResourceEntity is the BasicEntity implementation for IPEntity. +func (ie IPEntity) AsAzureResourceEntity() (*AzureResourceEntity, bool) { + return nil, false +} + +// AsCloudApplicationEntity is the BasicEntity implementation for IPEntity. +func (ie IPEntity) AsCloudApplicationEntity() (*CloudApplicationEntity, bool) { + return nil, false +} + +// AsDNSEntity is the BasicEntity implementation for IPEntity. +func (ie IPEntity) AsDNSEntity() (*DNSEntity, bool) { + return nil, false +} + +// AsFileEntity is the BasicEntity implementation for IPEntity. +func (ie IPEntity) AsFileEntity() (*FileEntity, bool) { + return nil, false +} + +// AsFileHashEntity is the BasicEntity implementation for IPEntity. +func (ie IPEntity) AsFileHashEntity() (*FileHashEntity, bool) { + return nil, false +} + +// AsHostEntity is the BasicEntity implementation for IPEntity. +func (ie IPEntity) AsHostEntity() (*HostEntity, bool) { + return nil, false +} + +// AsIPEntity is the BasicEntity implementation for IPEntity. +func (ie IPEntity) AsIPEntity() (*IPEntity, bool) { + return &ie, true +} + +// AsMalwareEntity is the BasicEntity implementation for IPEntity. +func (ie IPEntity) AsMalwareEntity() (*MalwareEntity, bool) { + return nil, false +} + +// AsProcessEntity is the BasicEntity implementation for IPEntity. +func (ie IPEntity) AsProcessEntity() (*ProcessEntity, bool) { + return nil, false +} + +// AsRegistryKeyEntity is the BasicEntity implementation for IPEntity. +func (ie IPEntity) AsRegistryKeyEntity() (*RegistryKeyEntity, bool) { + return nil, false +} + +// AsRegistryValueEntity is the BasicEntity implementation for IPEntity. +func (ie IPEntity) AsRegistryValueEntity() (*RegistryValueEntity, bool) { + return nil, false +} + +// AsSecurityAlert is the BasicEntity implementation for IPEntity. +func (ie IPEntity) AsSecurityAlert() (*SecurityAlert, bool) { + return nil, false +} + +// AsSecurityGroupEntity is the BasicEntity implementation for IPEntity. +func (ie IPEntity) AsSecurityGroupEntity() (*SecurityGroupEntity, bool) { + return nil, false +} + +// AsURLEntity is the BasicEntity implementation for IPEntity. +func (ie IPEntity) AsURLEntity() (*URLEntity, bool) { + return nil, false +} + +// AsEntity is the BasicEntity implementation for IPEntity. +func (ie IPEntity) AsEntity() (*Entity, bool) { + return nil, false +} + +// AsBasicEntity is the BasicEntity implementation for IPEntity. +func (ie IPEntity) AsBasicEntity() (BasicEntity, bool) { + return &ie, true +} + +// UnmarshalJSON is the custom unmarshaler for IPEntity struct. +func (ie *IPEntity) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var IPEntityProperties IPEntityProperties + err = json.Unmarshal(*v, &IPEntityProperties) + if err != nil { + return err + } + ie.IPEntityProperties = &IPEntityProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + ie.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + ie.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ie.Type = &typeVar + } + case "kind": + if v != nil { + var kind KindBasicEntity + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + ie.Kind = kind + } + } + } + + return nil +} + +// IPEntityProperties ip entity property bag. +type IPEntityProperties struct { + // Address - READ-ONLY; The IP address as string, e.g. 127.0.0.1 (either in Ipv4 or Ipv6) + Address *string `json:"address,omitempty"` + // Location - The geo-location context attached to the ip entity + Location *GeoLocation `json:"location,omitempty"` + // ThreatIntelligence - READ-ONLY; A list of TI contexts attached to the ip entity. + ThreatIntelligence *[]ThreatIntelligence `json:"threatIntelligence,omitempty"` + // AdditionalData - READ-ONLY; A bag of custom fields that should be part of the entity and will be presented to the user. + AdditionalData map[string]interface{} `json:"additionalData"` + // FriendlyName - READ-ONLY; The graph item display name which is a short humanly readable description of the graph item instance. This property is optional and might be system generated. + FriendlyName *string `json:"friendlyName,omitempty"` +} + +// MarshalJSON is the custom marshaler for IPEntityProperties. +func (iep IPEntityProperties) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if iep.Location != nil { + objectMap["location"] = iep.Location + } + return json.Marshal(objectMap) +} + +// MalwareEntity represents a malware entity. +type MalwareEntity struct { + // MalwareEntityProperties - File entity properties + *MalwareEntityProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Azure resource Id + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Azure resource name + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Azure resource type + Type *string `json:"type,omitempty"` + // Kind - Possible values include: 'KindEntity', 'KindAccount', 'KindAzureResource', 'KindCloudApplication', 'KindDNSResolution', 'KindFile', 'KindFileHash', 'KindHost', 'KindIP', 'KindMalware', 'KindProcess', 'KindRegistryKey', 'KindRegistryValue', 'KindSecurityAlert', 'KindSecurityGroup', 'KindURL' + Kind KindBasicEntity `json:"kind,omitempty"` +} + +// MarshalJSON is the custom marshaler for MalwareEntity. +func (me MalwareEntity) MarshalJSON() ([]byte, error) { + me.Kind = KindMalware + objectMap := make(map[string]interface{}) + if me.MalwareEntityProperties != nil { + objectMap["properties"] = me.MalwareEntityProperties + } + if me.Kind != "" { + objectMap["kind"] = me.Kind + } + return json.Marshal(objectMap) +} + +// AsAccountEntity is the BasicEntity implementation for MalwareEntity. +func (me MalwareEntity) AsAccountEntity() (*AccountEntity, bool) { + return nil, false +} + +// AsAzureResourceEntity is the BasicEntity implementation for MalwareEntity. +func (me MalwareEntity) AsAzureResourceEntity() (*AzureResourceEntity, bool) { + return nil, false +} + +// AsCloudApplicationEntity is the BasicEntity implementation for MalwareEntity. +func (me MalwareEntity) AsCloudApplicationEntity() (*CloudApplicationEntity, bool) { + return nil, false +} + +// AsDNSEntity is the BasicEntity implementation for MalwareEntity. +func (me MalwareEntity) AsDNSEntity() (*DNSEntity, bool) { + return nil, false +} + +// AsFileEntity is the BasicEntity implementation for MalwareEntity. +func (me MalwareEntity) AsFileEntity() (*FileEntity, bool) { + return nil, false +} + +// AsFileHashEntity is the BasicEntity implementation for MalwareEntity. +func (me MalwareEntity) AsFileHashEntity() (*FileHashEntity, bool) { + return nil, false +} + +// AsHostEntity is the BasicEntity implementation for MalwareEntity. +func (me MalwareEntity) AsHostEntity() (*HostEntity, bool) { + return nil, false +} + +// AsIPEntity is the BasicEntity implementation for MalwareEntity. +func (me MalwareEntity) AsIPEntity() (*IPEntity, bool) { + return nil, false +} + +// AsMalwareEntity is the BasicEntity implementation for MalwareEntity. +func (me MalwareEntity) AsMalwareEntity() (*MalwareEntity, bool) { + return &me, true +} + +// AsProcessEntity is the BasicEntity implementation for MalwareEntity. +func (me MalwareEntity) AsProcessEntity() (*ProcessEntity, bool) { + return nil, false +} + +// AsRegistryKeyEntity is the BasicEntity implementation for MalwareEntity. +func (me MalwareEntity) AsRegistryKeyEntity() (*RegistryKeyEntity, bool) { + return nil, false +} + +// AsRegistryValueEntity is the BasicEntity implementation for MalwareEntity. +func (me MalwareEntity) AsRegistryValueEntity() (*RegistryValueEntity, bool) { + return nil, false +} + +// AsSecurityAlert is the BasicEntity implementation for MalwareEntity. +func (me MalwareEntity) AsSecurityAlert() (*SecurityAlert, bool) { + return nil, false +} + +// AsSecurityGroupEntity is the BasicEntity implementation for MalwareEntity. +func (me MalwareEntity) AsSecurityGroupEntity() (*SecurityGroupEntity, bool) { + return nil, false +} + +// AsURLEntity is the BasicEntity implementation for MalwareEntity. +func (me MalwareEntity) AsURLEntity() (*URLEntity, bool) { + return nil, false +} + +// AsEntity is the BasicEntity implementation for MalwareEntity. +func (me MalwareEntity) AsEntity() (*Entity, bool) { + return nil, false +} + +// AsBasicEntity is the BasicEntity implementation for MalwareEntity. +func (me MalwareEntity) AsBasicEntity() (BasicEntity, bool) { + return &me, true +} + +// UnmarshalJSON is the custom unmarshaler for MalwareEntity struct. +func (me *MalwareEntity) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var malwareEntityProperties MalwareEntityProperties + err = json.Unmarshal(*v, &malwareEntityProperties) + if err != nil { + return err + } + me.MalwareEntityProperties = &malwareEntityProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + me.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + me.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + me.Type = &typeVar + } + case "kind": + if v != nil { + var kind KindBasicEntity + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + me.Kind = kind + } + } + } + + return nil +} + +// MalwareEntityProperties malware entity property bag. +type MalwareEntityProperties struct { + // Category - READ-ONLY; The malware category by the vendor, e.g. Trojan + Category *string `json:"category,omitempty"` + // FileEntityIds - READ-ONLY; List of linked file entity identifiers on which the malware was found + FileEntityIds *[]string `json:"fileEntityIds,omitempty"` + // MalwareName - READ-ONLY; The malware name by the vendor, e.g. Win32/Toga!rfn + MalwareName *string `json:"malwareName,omitempty"` + // ProcessEntityIds - READ-ONLY; List of linked process entity identifiers on which the malware was found. + ProcessEntityIds *[]string `json:"processEntityIds,omitempty"` + // AdditionalData - READ-ONLY; A bag of custom fields that should be part of the entity and will be presented to the user. + AdditionalData map[string]interface{} `json:"additionalData"` + // FriendlyName - READ-ONLY; The graph item display name which is a short humanly readable description of the graph item instance. This property is optional and might be system generated. + FriendlyName *string `json:"friendlyName,omitempty"` +} + +// MarshalJSON is the custom marshaler for MalwareEntityProperties. +func (mep MalwareEntityProperties) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + return json.Marshal(objectMap) +} + +// MCASDataConnector represents MCAS (Microsoft Cloud App Security) data connector. +type MCASDataConnector struct { + // MCASDataConnectorProperties - MCAS (Microsoft Cloud App Security) data connector properties. + *MCASDataConnectorProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Azure resource Id + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Azure resource name + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Azure resource type + Type *string `json:"type,omitempty"` + // Etag - Etag of the azure resource + Etag *string `json:"etag,omitempty"` + // Kind - Possible values include: 'KindDataConnector', 'KindAzureActiveDirectory', 'KindAzureAdvancedThreatProtection', 'KindAzureSecurityCenter', 'KindAmazonWebServicesCloudTrail', 'KindMicrosoftCloudAppSecurity', 'KindMicrosoftDefenderAdvancedThreatProtection', 'KindOffice365', 'KindThreatIntelligence' + Kind KindBasicDataConnector `json:"kind,omitempty"` +} + +// MarshalJSON is the custom marshaler for MCASDataConnector. +func (mdc MCASDataConnector) MarshalJSON() ([]byte, error) { + mdc.Kind = KindMicrosoftCloudAppSecurity + objectMap := make(map[string]interface{}) + if mdc.MCASDataConnectorProperties != nil { + objectMap["properties"] = mdc.MCASDataConnectorProperties + } + if mdc.Etag != nil { + objectMap["etag"] = mdc.Etag + } + if mdc.Kind != "" { + objectMap["kind"] = mdc.Kind + } + return json.Marshal(objectMap) +} + +// AsAADDataConnector is the BasicDataConnector implementation for MCASDataConnector. +func (mdc MCASDataConnector) AsAADDataConnector() (*AADDataConnector, bool) { + return nil, false +} + +// AsAATPDataConnector is the BasicDataConnector implementation for MCASDataConnector. +func (mdc MCASDataConnector) AsAATPDataConnector() (*AATPDataConnector, bool) { + return nil, false +} + +// AsASCDataConnector is the BasicDataConnector implementation for MCASDataConnector. +func (mdc MCASDataConnector) AsASCDataConnector() (*ASCDataConnector, bool) { + return nil, false +} + +// AsAwsCloudTrailDataConnector is the BasicDataConnector implementation for MCASDataConnector. +func (mdc MCASDataConnector) AsAwsCloudTrailDataConnector() (*AwsCloudTrailDataConnector, bool) { + return nil, false +} + +// AsMCASDataConnector is the BasicDataConnector implementation for MCASDataConnector. +func (mdc MCASDataConnector) AsMCASDataConnector() (*MCASDataConnector, bool) { + return &mdc, true +} + +// AsMDATPDataConnector is the BasicDataConnector implementation for MCASDataConnector. +func (mdc MCASDataConnector) AsMDATPDataConnector() (*MDATPDataConnector, bool) { + return nil, false +} + +// AsOfficeDataConnector is the BasicDataConnector implementation for MCASDataConnector. +func (mdc MCASDataConnector) AsOfficeDataConnector() (*OfficeDataConnector, bool) { + return nil, false +} + +// AsTIDataConnector is the BasicDataConnector implementation for MCASDataConnector. +func (mdc MCASDataConnector) AsTIDataConnector() (*TIDataConnector, bool) { + return nil, false +} + +// AsDataConnector is the BasicDataConnector implementation for MCASDataConnector. +func (mdc MCASDataConnector) AsDataConnector() (*DataConnector, bool) { + return nil, false +} + +// AsBasicDataConnector is the BasicDataConnector implementation for MCASDataConnector. +func (mdc MCASDataConnector) AsBasicDataConnector() (BasicDataConnector, bool) { + return &mdc, true +} + +// UnmarshalJSON is the custom unmarshaler for MCASDataConnector struct. +func (mdc *MCASDataConnector) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var mCASDataConnectorProperties MCASDataConnectorProperties + err = json.Unmarshal(*v, &mCASDataConnectorProperties) + if err != nil { + return err + } + mdc.MCASDataConnectorProperties = &mCASDataConnectorProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + mdc.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + mdc.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + mdc.Type = &typeVar + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + mdc.Etag = &etag + } + case "kind": + if v != nil { + var kind KindBasicDataConnector + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + mdc.Kind = kind + } + } + } + + return nil +} + +// MCASDataConnectorDataTypes the available data types for MCAS (Microsoft Cloud App Security) data +// connector. +type MCASDataConnectorDataTypes struct { + // DiscoveryLogs - Discovery log data type connection. + DiscoveryLogs *MCASDataConnectorDataTypesDiscoveryLogs `json:"discoveryLogs,omitempty"` + // Alerts - Alerts data type connection. + Alerts *AlertsDataTypeOfDataConnectorAlerts `json:"alerts,omitempty"` +} + +// MCASDataConnectorDataTypesDiscoveryLogs discovery log data type connection. +type MCASDataConnectorDataTypesDiscoveryLogs struct { + // State - Describe whether this data type connection is enabled or not. Possible values include: 'Enabled', 'Disabled' + State DataTypeState `json:"state,omitempty"` +} + +// MCASDataConnectorProperties MCAS (Microsoft Cloud App Security) data connector properties. +type MCASDataConnectorProperties struct { + // DataTypes - The available data types for the connector. + DataTypes *MCASDataConnectorDataTypes `json:"dataTypes,omitempty"` + // TenantID - The tenant id to connect to, and get the data from. + TenantID *string `json:"tenantId,omitempty"` +} + +// MDATPDataConnector represents MDATP (Microsoft Defender Advanced Threat Protection) data connector. +type MDATPDataConnector struct { + // MDATPDataConnectorProperties - MDATP (Microsoft Defender Advanced Threat Protection) data connector properties. + *MDATPDataConnectorProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Azure resource Id + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Azure resource name + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Azure resource type + Type *string `json:"type,omitempty"` + // Etag - Etag of the azure resource + Etag *string `json:"etag,omitempty"` + // Kind - Possible values include: 'KindDataConnector', 'KindAzureActiveDirectory', 'KindAzureAdvancedThreatProtection', 'KindAzureSecurityCenter', 'KindAmazonWebServicesCloudTrail', 'KindMicrosoftCloudAppSecurity', 'KindMicrosoftDefenderAdvancedThreatProtection', 'KindOffice365', 'KindThreatIntelligence' + Kind KindBasicDataConnector `json:"kind,omitempty"` +} + +// MarshalJSON is the custom marshaler for MDATPDataConnector. +func (mdc MDATPDataConnector) MarshalJSON() ([]byte, error) { + mdc.Kind = KindMicrosoftDefenderAdvancedThreatProtection + objectMap := make(map[string]interface{}) + if mdc.MDATPDataConnectorProperties != nil { + objectMap["properties"] = mdc.MDATPDataConnectorProperties + } + if mdc.Etag != nil { + objectMap["etag"] = mdc.Etag + } + if mdc.Kind != "" { + objectMap["kind"] = mdc.Kind + } + return json.Marshal(objectMap) +} + +// AsAADDataConnector is the BasicDataConnector implementation for MDATPDataConnector. +func (mdc MDATPDataConnector) AsAADDataConnector() (*AADDataConnector, bool) { + return nil, false +} + +// AsAATPDataConnector is the BasicDataConnector implementation for MDATPDataConnector. +func (mdc MDATPDataConnector) AsAATPDataConnector() (*AATPDataConnector, bool) { + return nil, false +} + +// AsASCDataConnector is the BasicDataConnector implementation for MDATPDataConnector. +func (mdc MDATPDataConnector) AsASCDataConnector() (*ASCDataConnector, bool) { + return nil, false +} + +// AsAwsCloudTrailDataConnector is the BasicDataConnector implementation for MDATPDataConnector. +func (mdc MDATPDataConnector) AsAwsCloudTrailDataConnector() (*AwsCloudTrailDataConnector, bool) { + return nil, false } // AsMCASDataConnector is the BasicDataConnector implementation for MDATPDataConnector. @@ -3892,28 +7427,1300 @@ func (mdc MDATPDataConnector) AsMCASDataConnector() (*MCASDataConnector, bool) { return nil, false } -// AsAATPDataConnector is the BasicDataConnector implementation for MDATPDataConnector. -func (mdc MDATPDataConnector) AsAATPDataConnector() (*AATPDataConnector, bool) { +// AsMDATPDataConnector is the BasicDataConnector implementation for MDATPDataConnector. +func (mdc MDATPDataConnector) AsMDATPDataConnector() (*MDATPDataConnector, bool) { + return &mdc, true +} + +// AsOfficeDataConnector is the BasicDataConnector implementation for MDATPDataConnector. +func (mdc MDATPDataConnector) AsOfficeDataConnector() (*OfficeDataConnector, bool) { + return nil, false +} + +// AsTIDataConnector is the BasicDataConnector implementation for MDATPDataConnector. +func (mdc MDATPDataConnector) AsTIDataConnector() (*TIDataConnector, bool) { + return nil, false +} + +// AsDataConnector is the BasicDataConnector implementation for MDATPDataConnector. +func (mdc MDATPDataConnector) AsDataConnector() (*DataConnector, bool) { + return nil, false +} + +// AsBasicDataConnector is the BasicDataConnector implementation for MDATPDataConnector. +func (mdc MDATPDataConnector) AsBasicDataConnector() (BasicDataConnector, bool) { + return &mdc, true +} + +// UnmarshalJSON is the custom unmarshaler for MDATPDataConnector struct. +func (mdc *MDATPDataConnector) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var mDATPDataConnectorProperties MDATPDataConnectorProperties + err = json.Unmarshal(*v, &mDATPDataConnectorProperties) + if err != nil { + return err + } + mdc.MDATPDataConnectorProperties = &mDATPDataConnectorProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + mdc.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + mdc.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + mdc.Type = &typeVar + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + mdc.Etag = &etag + } + case "kind": + if v != nil { + var kind KindBasicDataConnector + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + mdc.Kind = kind + } + } + } + + return nil +} + +// MDATPDataConnectorProperties MDATP (Microsoft Defender Advanced Threat Protection) data connector +// properties. +type MDATPDataConnectorProperties struct { + // TenantID - The tenant id to connect to, and get the data from. + TenantID *string `json:"tenantId,omitempty"` + // DataTypes - The available data types for the connector. + DataTypes *AlertsDataTypeOfDataConnector `json:"dataTypes,omitempty"` +} + +// MicrosoftSecurityIncidentCreationAlertRule represents MicrosoftSecurityIncidentCreation rule. +type MicrosoftSecurityIncidentCreationAlertRule struct { + // MicrosoftSecurityIncidentCreationAlertRuleProperties - MicrosoftSecurityIncidentCreation rule properties + *MicrosoftSecurityIncidentCreationAlertRuleProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Azure resource Id + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Azure resource name + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Azure resource type + Type *string `json:"type,omitempty"` + // Etag - Etag of the azure resource + Etag *string `json:"etag,omitempty"` + // Kind - Possible values include: 'KindAlertRule', 'KindFusion', 'KindMicrosoftSecurityIncidentCreation', 'KindScheduled' + Kind KindBasicAlertRule `json:"kind,omitempty"` +} + +// MarshalJSON is the custom marshaler for MicrosoftSecurityIncidentCreationAlertRule. +func (msicar MicrosoftSecurityIncidentCreationAlertRule) MarshalJSON() ([]byte, error) { + msicar.Kind = KindMicrosoftSecurityIncidentCreation + objectMap := make(map[string]interface{}) + if msicar.MicrosoftSecurityIncidentCreationAlertRuleProperties != nil { + objectMap["properties"] = msicar.MicrosoftSecurityIncidentCreationAlertRuleProperties + } + if msicar.Etag != nil { + objectMap["etag"] = msicar.Etag + } + if msicar.Kind != "" { + objectMap["kind"] = msicar.Kind + } + return json.Marshal(objectMap) +} + +// AsFusionAlertRule is the BasicAlertRule implementation for MicrosoftSecurityIncidentCreationAlertRule. +func (msicar MicrosoftSecurityIncidentCreationAlertRule) AsFusionAlertRule() (*FusionAlertRule, bool) { + return nil, false +} + +// AsMicrosoftSecurityIncidentCreationAlertRule is the BasicAlertRule implementation for MicrosoftSecurityIncidentCreationAlertRule. +func (msicar MicrosoftSecurityIncidentCreationAlertRule) AsMicrosoftSecurityIncidentCreationAlertRule() (*MicrosoftSecurityIncidentCreationAlertRule, bool) { + return &msicar, true +} + +// AsScheduledAlertRule is the BasicAlertRule implementation for MicrosoftSecurityIncidentCreationAlertRule. +func (msicar MicrosoftSecurityIncidentCreationAlertRule) AsScheduledAlertRule() (*ScheduledAlertRule, bool) { + return nil, false +} + +// AsAlertRule is the BasicAlertRule implementation for MicrosoftSecurityIncidentCreationAlertRule. +func (msicar MicrosoftSecurityIncidentCreationAlertRule) AsAlertRule() (*AlertRule, bool) { + return nil, false +} + +// AsBasicAlertRule is the BasicAlertRule implementation for MicrosoftSecurityIncidentCreationAlertRule. +func (msicar MicrosoftSecurityIncidentCreationAlertRule) AsBasicAlertRule() (BasicAlertRule, bool) { + return &msicar, true +} + +// UnmarshalJSON is the custom unmarshaler for MicrosoftSecurityIncidentCreationAlertRule struct. +func (msicar *MicrosoftSecurityIncidentCreationAlertRule) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var microsoftSecurityIncidentCreationAlertRuleProperties MicrosoftSecurityIncidentCreationAlertRuleProperties + err = json.Unmarshal(*v, µsoftSecurityIncidentCreationAlertRuleProperties) + if err != nil { + return err + } + msicar.MicrosoftSecurityIncidentCreationAlertRuleProperties = µsoftSecurityIncidentCreationAlertRuleProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + msicar.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + msicar.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + msicar.Type = &typeVar + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + msicar.Etag = &etag + } + case "kind": + if v != nil { + var kind KindBasicAlertRule + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + msicar.Kind = kind + } + } + } + + return nil +} + +// MicrosoftSecurityIncidentCreationAlertRuleCommonProperties microsoftSecurityIncidentCreation rule common +// property bag. +type MicrosoftSecurityIncidentCreationAlertRuleCommonProperties struct { + // DisplayNamesFilter - the alerts' displayNames on which the cases will be generated + DisplayNamesFilter *[]string `json:"displayNamesFilter,omitempty"` + // ProductFilter - The alerts' productName on which the cases will be generated. Possible values include: 'MicrosoftCloudAppSecurity', 'AzureSecurityCenter', 'AzureAdvancedThreatProtection', 'AzureActiveDirectoryIdentityProtection' + ProductFilter MicrosoftSecurityProductName `json:"productFilter,omitempty"` + // SeveritiesFilter - the alerts' severities on which the cases will be generated + SeveritiesFilter *[]AlertSeverity `json:"severitiesFilter,omitempty"` +} + +// MicrosoftSecurityIncidentCreationAlertRuleProperties microsoftSecurityIncidentCreation rule property +// bag. +type MicrosoftSecurityIncidentCreationAlertRuleProperties struct { + // AlertRuleTemplateName - The Name of the alert rule template used to create this rule. + AlertRuleTemplateName *string `json:"alertRuleTemplateName,omitempty"` + // Description - The description of the alert rule. + Description *string `json:"description,omitempty"` + // DisplayName - The display name for alerts created by this alert rule. + DisplayName *string `json:"displayName,omitempty"` + // Enabled - Determines whether this alert rule is enabled or disabled. + Enabled *bool `json:"enabled,omitempty"` + // LastModifiedUtc - READ-ONLY; The last time that this alert has been modified. + LastModifiedUtc *date.Time `json:"lastModifiedUtc,omitempty"` + // Tactics - The tactics of the alert rule + Tactics *[]AttackTactic `json:"tactics,omitempty"` + // DisplayNamesFilter - the alerts' displayNames on which the cases will be generated + DisplayNamesFilter *[]string `json:"displayNamesFilter,omitempty"` + // ProductFilter - The alerts' productName on which the cases will be generated. Possible values include: 'MicrosoftCloudAppSecurity', 'AzureSecurityCenter', 'AzureAdvancedThreatProtection', 'AzureActiveDirectoryIdentityProtection' + ProductFilter MicrosoftSecurityProductName `json:"productFilter,omitempty"` + // SeveritiesFilter - the alerts' severities on which the cases will be generated + SeveritiesFilter *[]AlertSeverity `json:"severitiesFilter,omitempty"` +} + +// MicrosoftSecurityIncidentCreationAlertRuleTemplate represents MicrosoftSecurityIncidentCreation rule +// template. +type MicrosoftSecurityIncidentCreationAlertRuleTemplate struct { + // MicrosoftSecurityIncidentCreationAlertRuleTemplateProperties - MicrosoftSecurityIncidentCreation rule template properties + *MicrosoftSecurityIncidentCreationAlertRuleTemplateProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Azure resource Id + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Azure resource name + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Azure resource type + Type *string `json:"type,omitempty"` + // Kind - Possible values include: 'KindBasicAlertRuleTemplateKindAlertRuleTemplate', 'KindBasicAlertRuleTemplateKindFusion', 'KindBasicAlertRuleTemplateKindMicrosoftSecurityIncidentCreation', 'KindBasicAlertRuleTemplateKindScheduled' + Kind KindBasicAlertRuleTemplate `json:"kind,omitempty"` +} + +// MarshalJSON is the custom marshaler for MicrosoftSecurityIncidentCreationAlertRuleTemplate. +func (msicart MicrosoftSecurityIncidentCreationAlertRuleTemplate) MarshalJSON() ([]byte, error) { + msicart.Kind = KindBasicAlertRuleTemplateKindMicrosoftSecurityIncidentCreation + objectMap := make(map[string]interface{}) + if msicart.MicrosoftSecurityIncidentCreationAlertRuleTemplateProperties != nil { + objectMap["properties"] = msicart.MicrosoftSecurityIncidentCreationAlertRuleTemplateProperties + } + if msicart.Kind != "" { + objectMap["kind"] = msicart.Kind + } + return json.Marshal(objectMap) +} + +// AsFusionAlertRuleTemplate is the BasicAlertRuleTemplate implementation for MicrosoftSecurityIncidentCreationAlertRuleTemplate. +func (msicart MicrosoftSecurityIncidentCreationAlertRuleTemplate) AsFusionAlertRuleTemplate() (*FusionAlertRuleTemplate, bool) { + return nil, false +} + +// AsMicrosoftSecurityIncidentCreationAlertRuleTemplate is the BasicAlertRuleTemplate implementation for MicrosoftSecurityIncidentCreationAlertRuleTemplate. +func (msicart MicrosoftSecurityIncidentCreationAlertRuleTemplate) AsMicrosoftSecurityIncidentCreationAlertRuleTemplate() (*MicrosoftSecurityIncidentCreationAlertRuleTemplate, bool) { + return &msicart, true +} + +// AsScheduledAlertRuleTemplate is the BasicAlertRuleTemplate implementation for MicrosoftSecurityIncidentCreationAlertRuleTemplate. +func (msicart MicrosoftSecurityIncidentCreationAlertRuleTemplate) AsScheduledAlertRuleTemplate() (*ScheduledAlertRuleTemplate, bool) { + return nil, false +} + +// AsAlertRuleTemplate is the BasicAlertRuleTemplate implementation for MicrosoftSecurityIncidentCreationAlertRuleTemplate. +func (msicart MicrosoftSecurityIncidentCreationAlertRuleTemplate) AsAlertRuleTemplate() (*AlertRuleTemplate, bool) { + return nil, false +} + +// AsBasicAlertRuleTemplate is the BasicAlertRuleTemplate implementation for MicrosoftSecurityIncidentCreationAlertRuleTemplate. +func (msicart MicrosoftSecurityIncidentCreationAlertRuleTemplate) AsBasicAlertRuleTemplate() (BasicAlertRuleTemplate, bool) { + return &msicart, true +} + +// UnmarshalJSON is the custom unmarshaler for MicrosoftSecurityIncidentCreationAlertRuleTemplate struct. +func (msicart *MicrosoftSecurityIncidentCreationAlertRuleTemplate) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var microsoftSecurityIncidentCreationAlertRuleTemplateProperties MicrosoftSecurityIncidentCreationAlertRuleTemplateProperties + err = json.Unmarshal(*v, µsoftSecurityIncidentCreationAlertRuleTemplateProperties) + if err != nil { + return err + } + msicart.MicrosoftSecurityIncidentCreationAlertRuleTemplateProperties = µsoftSecurityIncidentCreationAlertRuleTemplateProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + msicart.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + msicart.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + msicart.Type = &typeVar + } + case "kind": + if v != nil { + var kind KindBasicAlertRuleTemplate + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + msicart.Kind = kind + } + } + } + + return nil +} + +// MicrosoftSecurityIncidentCreationAlertRuleTemplateProperties microsoftSecurityIncidentCreation rule +// template properties +type MicrosoftSecurityIncidentCreationAlertRuleTemplateProperties struct { + // AlertRulesCreatedByTemplateCount - the number of alert rules that were created by this template + AlertRulesCreatedByTemplateCount *int32 `json:"alertRulesCreatedByTemplateCount,omitempty"` + // CreatedDateUTC - READ-ONLY; The time that this alert rule template has been added. + CreatedDateUTC *date.Time `json:"createdDateUTC,omitempty"` + // Description - The description of the alert rule template. + Description *string `json:"description,omitempty"` + // DisplayName - The display name for alert rule template. + DisplayName *string `json:"displayName,omitempty"` + // RequiredDataConnectors - The required data connectors for this template + RequiredDataConnectors *[]DataConnectorStatus `json:"requiredDataConnectors,omitempty"` + // Status - The alert rule template status. Possible values include: 'Installed', 'Available', 'NotAvailable' + Status TemplateStatus `json:"status,omitempty"` + // Tactics - The tactics of the alert rule template + Tactics *[]AttackTactic `json:"tactics,omitempty"` + // DisplayNamesFilter - the alerts' displayNames on which the cases will be generated + DisplayNamesFilter *[]string `json:"displayNamesFilter,omitempty"` + // ProductFilter - The alerts' productName on which the cases will be generated. Possible values include: 'MicrosoftCloudAppSecurity', 'AzureSecurityCenter', 'AzureAdvancedThreatProtection', 'AzureActiveDirectoryIdentityProtection' + ProductFilter MicrosoftSecurityProductName `json:"productFilter,omitempty"` + // SeveritiesFilter - the alerts' severities on which the cases will be generated + SeveritiesFilter *[]AlertSeverity `json:"severitiesFilter,omitempty"` +} + +// OfficeConsent consent for Office365 tenant that already made. +type OfficeConsent struct { + autorest.Response `json:"-"` + // OfficeConsentProperties - Office consent properties + *OfficeConsentProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Azure resource Id + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Azure resource name + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Azure resource type + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for OfficeConsent. +func (oc OfficeConsent) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if oc.OfficeConsentProperties != nil { + objectMap["properties"] = oc.OfficeConsentProperties + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for OfficeConsent struct. +func (oc *OfficeConsent) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var officeConsentProperties OfficeConsentProperties + err = json.Unmarshal(*v, &officeConsentProperties) + if err != nil { + return err + } + oc.OfficeConsentProperties = &officeConsentProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + oc.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + oc.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + oc.Type = &typeVar + } + } + } + + return nil +} + +// OfficeConsentList list of all the office365 consents. +type OfficeConsentList struct { + autorest.Response `json:"-"` + // NextLink - READ-ONLY; URL to fetch the next set of office consents. + NextLink *string `json:"nextLink,omitempty"` + // Value - Array of the consents. + Value *[]OfficeConsent `json:"value,omitempty"` +} + +// OfficeConsentListIterator provides access to a complete listing of OfficeConsent values. +type OfficeConsentListIterator struct { + i int + page OfficeConsentListPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *OfficeConsentListIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/OfficeConsentListIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *OfficeConsentListIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter OfficeConsentListIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter OfficeConsentListIterator) Response() OfficeConsentList { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter OfficeConsentListIterator) Value() OfficeConsent { + if !iter.page.NotDone() { + return OfficeConsent{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the OfficeConsentListIterator type. +func NewOfficeConsentListIterator(page OfficeConsentListPage) OfficeConsentListIterator { + return OfficeConsentListIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (ocl OfficeConsentList) IsEmpty() bool { + return ocl.Value == nil || len(*ocl.Value) == 0 +} + +// officeConsentListPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (ocl OfficeConsentList) officeConsentListPreparer(ctx context.Context) (*http.Request, error) { + if ocl.NextLink == nil || len(to.String(ocl.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(ocl.NextLink))) +} + +// OfficeConsentListPage contains a page of OfficeConsent values. +type OfficeConsentListPage struct { + fn func(context.Context, OfficeConsentList) (OfficeConsentList, error) + ocl OfficeConsentList +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *OfficeConsentListPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/OfficeConsentListPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.ocl) + if err != nil { + return err + } + page.ocl = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *OfficeConsentListPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page OfficeConsentListPage) NotDone() bool { + return !page.ocl.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page OfficeConsentListPage) Response() OfficeConsentList { + return page.ocl +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page OfficeConsentListPage) Values() []OfficeConsent { + if page.ocl.IsEmpty() { + return nil + } + return *page.ocl.Value +} + +// Creates a new instance of the OfficeConsentListPage type. +func NewOfficeConsentListPage(getNextPage func(context.Context, OfficeConsentList) (OfficeConsentList, error)) OfficeConsentListPage { + return OfficeConsentListPage{fn: getNextPage} +} + +// OfficeConsentProperties consent property bag. +type OfficeConsentProperties struct { + // TenantID - The tenantId of the Office365 with the consent. + TenantID *string `json:"tenantId,omitempty"` + // TenantName - READ-ONLY; The tenant name of the Office365 with the consent. + TenantName *string `json:"tenantName,omitempty"` +} + +// OfficeDataConnector represents office data connector. +type OfficeDataConnector struct { + // OfficeDataConnectorProperties - Office data connector properties. + *OfficeDataConnectorProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Azure resource Id + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Azure resource name + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Azure resource type + Type *string `json:"type,omitempty"` + // Etag - Etag of the azure resource + Etag *string `json:"etag,omitempty"` + // Kind - Possible values include: 'KindDataConnector', 'KindAzureActiveDirectory', 'KindAzureAdvancedThreatProtection', 'KindAzureSecurityCenter', 'KindAmazonWebServicesCloudTrail', 'KindMicrosoftCloudAppSecurity', 'KindMicrosoftDefenderAdvancedThreatProtection', 'KindOffice365', 'KindThreatIntelligence' + Kind KindBasicDataConnector `json:"kind,omitempty"` +} + +// MarshalJSON is the custom marshaler for OfficeDataConnector. +func (odc OfficeDataConnector) MarshalJSON() ([]byte, error) { + odc.Kind = KindOffice365 + objectMap := make(map[string]interface{}) + if odc.OfficeDataConnectorProperties != nil { + objectMap["properties"] = odc.OfficeDataConnectorProperties + } + if odc.Etag != nil { + objectMap["etag"] = odc.Etag + } + if odc.Kind != "" { + objectMap["kind"] = odc.Kind + } + return json.Marshal(objectMap) +} + +// AsAADDataConnector is the BasicDataConnector implementation for OfficeDataConnector. +func (odc OfficeDataConnector) AsAADDataConnector() (*AADDataConnector, bool) { + return nil, false +} + +// AsAATPDataConnector is the BasicDataConnector implementation for OfficeDataConnector. +func (odc OfficeDataConnector) AsAATPDataConnector() (*AATPDataConnector, bool) { + return nil, false +} + +// AsASCDataConnector is the BasicDataConnector implementation for OfficeDataConnector. +func (odc OfficeDataConnector) AsASCDataConnector() (*ASCDataConnector, bool) { + return nil, false +} + +// AsAwsCloudTrailDataConnector is the BasicDataConnector implementation for OfficeDataConnector. +func (odc OfficeDataConnector) AsAwsCloudTrailDataConnector() (*AwsCloudTrailDataConnector, bool) { + return nil, false +} + +// AsMCASDataConnector is the BasicDataConnector implementation for OfficeDataConnector. +func (odc OfficeDataConnector) AsMCASDataConnector() (*MCASDataConnector, bool) { + return nil, false +} + +// AsMDATPDataConnector is the BasicDataConnector implementation for OfficeDataConnector. +func (odc OfficeDataConnector) AsMDATPDataConnector() (*MDATPDataConnector, bool) { + return nil, false +} + +// AsOfficeDataConnector is the BasicDataConnector implementation for OfficeDataConnector. +func (odc OfficeDataConnector) AsOfficeDataConnector() (*OfficeDataConnector, bool) { + return &odc, true +} + +// AsTIDataConnector is the BasicDataConnector implementation for OfficeDataConnector. +func (odc OfficeDataConnector) AsTIDataConnector() (*TIDataConnector, bool) { + return nil, false +} + +// AsDataConnector is the BasicDataConnector implementation for OfficeDataConnector. +func (odc OfficeDataConnector) AsDataConnector() (*DataConnector, bool) { + return nil, false +} + +// AsBasicDataConnector is the BasicDataConnector implementation for OfficeDataConnector. +func (odc OfficeDataConnector) AsBasicDataConnector() (BasicDataConnector, bool) { + return &odc, true +} + +// UnmarshalJSON is the custom unmarshaler for OfficeDataConnector struct. +func (odc *OfficeDataConnector) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var officeDataConnectorProperties OfficeDataConnectorProperties + err = json.Unmarshal(*v, &officeDataConnectorProperties) + if err != nil { + return err + } + odc.OfficeDataConnectorProperties = &officeDataConnectorProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + odc.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + odc.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + odc.Type = &typeVar + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + odc.Etag = &etag + } + case "kind": + if v != nil { + var kind KindBasicDataConnector + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + odc.Kind = kind + } + } + } + + return nil +} + +// OfficeDataConnectorDataTypes the available data types for office data connector. +type OfficeDataConnectorDataTypes struct { + // Exchange - Exchange data type connection. + Exchange *OfficeDataConnectorDataTypesExchange `json:"exchange,omitempty"` + // SharePoint - SharePoint data type connection. + SharePoint *OfficeDataConnectorDataTypesSharePoint `json:"sharePoint,omitempty"` +} + +// OfficeDataConnectorDataTypesExchange exchange data type connection. +type OfficeDataConnectorDataTypesExchange struct { + // State - Describe whether this data type connection is enabled or not. Possible values include: 'Enabled', 'Disabled' + State DataTypeState `json:"state,omitempty"` +} + +// OfficeDataConnectorDataTypesSharePoint sharePoint data type connection. +type OfficeDataConnectorDataTypesSharePoint struct { + // State - Describe whether this data type connection is enabled or not. Possible values include: 'Enabled', 'Disabled' + State DataTypeState `json:"state,omitempty"` +} + +// OfficeDataConnectorProperties office data connector properties. +type OfficeDataConnectorProperties struct { + // DataTypes - The available data types for the connector. + DataTypes *OfficeDataConnectorDataTypes `json:"dataTypes,omitempty"` + // TenantID - The tenant id to connect to, and get the data from. + TenantID *string `json:"tenantId,omitempty"` +} + +// Operation operation provided by provider +type Operation struct { + // Display - Properties of the operation + Display *OperationDisplay `json:"display,omitempty"` + // Name - Name of the operation + Name *string `json:"name,omitempty"` +} + +// OperationDisplay properties of the operation +type OperationDisplay struct { + // Description - Description of the operation + Description *string `json:"description,omitempty"` + // Operation - Operation name + Operation *string `json:"operation,omitempty"` + // Provider - Provider name + Provider *string `json:"provider,omitempty"` + // Resource - Resource name + Resource *string `json:"resource,omitempty"` +} + +// OperationsList lists the operations available in the SecurityInsights RP. +type OperationsList struct { + autorest.Response `json:"-"` + // NextLink - URL to fetch the next set of operations. + NextLink *string `json:"nextLink,omitempty"` + // Value - Array of operations + Value *[]Operation `json:"value,omitempty"` +} + +// OperationsListIterator provides access to a complete listing of Operation values. +type OperationsListIterator struct { + i int + page OperationsListPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *OperationsListIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/OperationsListIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *OperationsListIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter OperationsListIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter OperationsListIterator) Response() OperationsList { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter OperationsListIterator) Value() Operation { + if !iter.page.NotDone() { + return Operation{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the OperationsListIterator type. +func NewOperationsListIterator(page OperationsListPage) OperationsListIterator { + return OperationsListIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (ol OperationsList) IsEmpty() bool { + return ol.Value == nil || len(*ol.Value) == 0 +} + +// operationsListPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (ol OperationsList) operationsListPreparer(ctx context.Context) (*http.Request, error) { + if ol.NextLink == nil || len(to.String(ol.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(ol.NextLink))) +} + +// OperationsListPage contains a page of Operation values. +type OperationsListPage struct { + fn func(context.Context, OperationsList) (OperationsList, error) + ol OperationsList +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *OperationsListPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/OperationsListPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.ol) + if err != nil { + return err + } + page.ol = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *OperationsListPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page OperationsListPage) NotDone() bool { + return !page.ol.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page OperationsListPage) Response() OperationsList { + return page.ol +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page OperationsListPage) Values() []Operation { + if page.ol.IsEmpty() { + return nil + } + return *page.ol.Value +} + +// Creates a new instance of the OperationsListPage type. +func NewOperationsListPage(getNextPage func(context.Context, OperationsList) (OperationsList, error)) OperationsListPage { + return OperationsListPage{fn: getNextPage} +} + +// ProcessEntity represents a process entity. +type ProcessEntity struct { + // ProcessEntityProperties - Process entity properties + *ProcessEntityProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Azure resource Id + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Azure resource name + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Azure resource type + Type *string `json:"type,omitempty"` + // Kind - Possible values include: 'KindEntity', 'KindAccount', 'KindAzureResource', 'KindCloudApplication', 'KindDNSResolution', 'KindFile', 'KindFileHash', 'KindHost', 'KindIP', 'KindMalware', 'KindProcess', 'KindRegistryKey', 'KindRegistryValue', 'KindSecurityAlert', 'KindSecurityGroup', 'KindURL' + Kind KindBasicEntity `json:"kind,omitempty"` +} + +// MarshalJSON is the custom marshaler for ProcessEntity. +func (peVar ProcessEntity) MarshalJSON() ([]byte, error) { + peVar.Kind = KindProcess + objectMap := make(map[string]interface{}) + if peVar.ProcessEntityProperties != nil { + objectMap["properties"] = peVar.ProcessEntityProperties + } + if peVar.Kind != "" { + objectMap["kind"] = peVar.Kind + } + return json.Marshal(objectMap) +} + +// AsAccountEntity is the BasicEntity implementation for ProcessEntity. +func (peVar ProcessEntity) AsAccountEntity() (*AccountEntity, bool) { + return nil, false +} + +// AsAzureResourceEntity is the BasicEntity implementation for ProcessEntity. +func (peVar ProcessEntity) AsAzureResourceEntity() (*AzureResourceEntity, bool) { + return nil, false +} + +// AsCloudApplicationEntity is the BasicEntity implementation for ProcessEntity. +func (peVar ProcessEntity) AsCloudApplicationEntity() (*CloudApplicationEntity, bool) { + return nil, false +} + +// AsDNSEntity is the BasicEntity implementation for ProcessEntity. +func (peVar ProcessEntity) AsDNSEntity() (*DNSEntity, bool) { + return nil, false +} + +// AsFileEntity is the BasicEntity implementation for ProcessEntity. +func (peVar ProcessEntity) AsFileEntity() (*FileEntity, bool) { + return nil, false +} + +// AsFileHashEntity is the BasicEntity implementation for ProcessEntity. +func (peVar ProcessEntity) AsFileHashEntity() (*FileHashEntity, bool) { + return nil, false +} + +// AsHostEntity is the BasicEntity implementation for ProcessEntity. +func (peVar ProcessEntity) AsHostEntity() (*HostEntity, bool) { + return nil, false +} + +// AsIPEntity is the BasicEntity implementation for ProcessEntity. +func (peVar ProcessEntity) AsIPEntity() (*IPEntity, bool) { + return nil, false +} + +// AsMalwareEntity is the BasicEntity implementation for ProcessEntity. +func (peVar ProcessEntity) AsMalwareEntity() (*MalwareEntity, bool) { + return nil, false +} + +// AsProcessEntity is the BasicEntity implementation for ProcessEntity. +func (peVar ProcessEntity) AsProcessEntity() (*ProcessEntity, bool) { + return &peVar, true +} + +// AsRegistryKeyEntity is the BasicEntity implementation for ProcessEntity. +func (peVar ProcessEntity) AsRegistryKeyEntity() (*RegistryKeyEntity, bool) { + return nil, false +} + +// AsRegistryValueEntity is the BasicEntity implementation for ProcessEntity. +func (peVar ProcessEntity) AsRegistryValueEntity() (*RegistryValueEntity, bool) { + return nil, false +} + +// AsSecurityAlert is the BasicEntity implementation for ProcessEntity. +func (peVar ProcessEntity) AsSecurityAlert() (*SecurityAlert, bool) { + return nil, false +} + +// AsSecurityGroupEntity is the BasicEntity implementation for ProcessEntity. +func (peVar ProcessEntity) AsSecurityGroupEntity() (*SecurityGroupEntity, bool) { + return nil, false +} + +// AsURLEntity is the BasicEntity implementation for ProcessEntity. +func (peVar ProcessEntity) AsURLEntity() (*URLEntity, bool) { + return nil, false +} + +// AsEntity is the BasicEntity implementation for ProcessEntity. +func (peVar ProcessEntity) AsEntity() (*Entity, bool) { + return nil, false +} + +// AsBasicEntity is the BasicEntity implementation for ProcessEntity. +func (peVar ProcessEntity) AsBasicEntity() (BasicEntity, bool) { + return &peVar, true +} + +// UnmarshalJSON is the custom unmarshaler for ProcessEntity struct. +func (peVar *ProcessEntity) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var processEntityProperties ProcessEntityProperties + err = json.Unmarshal(*v, &processEntityProperties) + if err != nil { + return err + } + peVar.ProcessEntityProperties = &processEntityProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + peVar.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + peVar.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + peVar.Type = &typeVar + } + case "kind": + if v != nil { + var kind KindBasicEntity + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + peVar.Kind = kind + } + } + } + + return nil +} + +// ProcessEntityProperties process entity property bag. +type ProcessEntityProperties struct { + // AccountEntityID - READ-ONLY; The account entity id running the processes. + AccountEntityID *string `json:"accountEntityId,omitempty"` + // CommandLine - READ-ONLY; The command line used to create the process + CommandLine *string `json:"commandLine,omitempty"` + // CreationTimeUtc - READ-ONLY; The time when the process started to run + CreationTimeUtc *date.Time `json:"creationTimeUtc,omitempty"` + // ElevationToken - The elevation token associated with the process. Possible values include: 'Default', 'Full', 'Limited' + ElevationToken ElevationToken `json:"elevationToken,omitempty"` + // HostEntityID - READ-ONLY; The host entity id on which the process was running + HostEntityID *string `json:"hostEntityId,omitempty"` + // HostLogonSessionEntityID - READ-ONLY; The session entity id in which the process was running + HostLogonSessionEntityID *string `json:"hostLogonSessionEntityId,omitempty"` + // ImageFileEntityID - READ-ONLY; Image file entity id + ImageFileEntityID *string `json:"imageFileEntityId,omitempty"` + // ParentProcessEntityID - READ-ONLY; The parent process entity id. + ParentProcessEntityID *string `json:"parentProcessEntityId,omitempty"` + // ProcessID - READ-ONLY; The process ID + ProcessID *string `json:"processId,omitempty"` + // AdditionalData - READ-ONLY; A bag of custom fields that should be part of the entity and will be presented to the user. + AdditionalData map[string]interface{} `json:"additionalData"` + // FriendlyName - READ-ONLY; The graph item display name which is a short humanly readable description of the graph item instance. This property is optional and might be system generated. + FriendlyName *string `json:"friendlyName,omitempty"` +} + +// MarshalJSON is the custom marshaler for ProcessEntityProperties. +func (pep ProcessEntityProperties) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if pep.ElevationToken != "" { + objectMap["elevationToken"] = pep.ElevationToken + } + return json.Marshal(objectMap) +} + +// RegistryKeyEntity represents a registry key entity. +type RegistryKeyEntity struct { + // RegistryKeyEntityProperties - RegistryKey entity properties + *RegistryKeyEntityProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Azure resource Id + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Azure resource name + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Azure resource type + Type *string `json:"type,omitempty"` + // Kind - Possible values include: 'KindEntity', 'KindAccount', 'KindAzureResource', 'KindCloudApplication', 'KindDNSResolution', 'KindFile', 'KindFileHash', 'KindHost', 'KindIP', 'KindMalware', 'KindProcess', 'KindRegistryKey', 'KindRegistryValue', 'KindSecurityAlert', 'KindSecurityGroup', 'KindURL' + Kind KindBasicEntity `json:"kind,omitempty"` +} + +// MarshalJSON is the custom marshaler for RegistryKeyEntity. +func (rke RegistryKeyEntity) MarshalJSON() ([]byte, error) { + rke.Kind = KindRegistryKey + objectMap := make(map[string]interface{}) + if rke.RegistryKeyEntityProperties != nil { + objectMap["properties"] = rke.RegistryKeyEntityProperties + } + if rke.Kind != "" { + objectMap["kind"] = rke.Kind + } + return json.Marshal(objectMap) +} + +// AsAccountEntity is the BasicEntity implementation for RegistryKeyEntity. +func (rke RegistryKeyEntity) AsAccountEntity() (*AccountEntity, bool) { + return nil, false +} + +// AsAzureResourceEntity is the BasicEntity implementation for RegistryKeyEntity. +func (rke RegistryKeyEntity) AsAzureResourceEntity() (*AzureResourceEntity, bool) { + return nil, false +} + +// AsCloudApplicationEntity is the BasicEntity implementation for RegistryKeyEntity. +func (rke RegistryKeyEntity) AsCloudApplicationEntity() (*CloudApplicationEntity, bool) { + return nil, false +} + +// AsDNSEntity is the BasicEntity implementation for RegistryKeyEntity. +func (rke RegistryKeyEntity) AsDNSEntity() (*DNSEntity, bool) { + return nil, false +} + +// AsFileEntity is the BasicEntity implementation for RegistryKeyEntity. +func (rke RegistryKeyEntity) AsFileEntity() (*FileEntity, bool) { + return nil, false +} + +// AsFileHashEntity is the BasicEntity implementation for RegistryKeyEntity. +func (rke RegistryKeyEntity) AsFileHashEntity() (*FileHashEntity, bool) { + return nil, false +} + +// AsHostEntity is the BasicEntity implementation for RegistryKeyEntity. +func (rke RegistryKeyEntity) AsHostEntity() (*HostEntity, bool) { + return nil, false +} + +// AsIPEntity is the BasicEntity implementation for RegistryKeyEntity. +func (rke RegistryKeyEntity) AsIPEntity() (*IPEntity, bool) { + return nil, false +} + +// AsMalwareEntity is the BasicEntity implementation for RegistryKeyEntity. +func (rke RegistryKeyEntity) AsMalwareEntity() (*MalwareEntity, bool) { + return nil, false +} + +// AsProcessEntity is the BasicEntity implementation for RegistryKeyEntity. +func (rke RegistryKeyEntity) AsProcessEntity() (*ProcessEntity, bool) { return nil, false } -// AsMDATPDataConnector is the BasicDataConnector implementation for MDATPDataConnector. -func (mdc MDATPDataConnector) AsMDATPDataConnector() (*MDATPDataConnector, bool) { - return &mdc, true +// AsRegistryKeyEntity is the BasicEntity implementation for RegistryKeyEntity. +func (rke RegistryKeyEntity) AsRegistryKeyEntity() (*RegistryKeyEntity, bool) { + return &rke, true } -// AsDataConnector is the BasicDataConnector implementation for MDATPDataConnector. -func (mdc MDATPDataConnector) AsDataConnector() (*DataConnector, bool) { +// AsRegistryValueEntity is the BasicEntity implementation for RegistryKeyEntity. +func (rke RegistryKeyEntity) AsRegistryValueEntity() (*RegistryValueEntity, bool) { return nil, false } -// AsBasicDataConnector is the BasicDataConnector implementation for MDATPDataConnector. -func (mdc MDATPDataConnector) AsBasicDataConnector() (BasicDataConnector, bool) { - return &mdc, true +// AsSecurityAlert is the BasicEntity implementation for RegistryKeyEntity. +func (rke RegistryKeyEntity) AsSecurityAlert() (*SecurityAlert, bool) { + return nil, false } -// UnmarshalJSON is the custom unmarshaler for MDATPDataConnector struct. -func (mdc *MDATPDataConnector) UnmarshalJSON(body []byte) error { +// AsSecurityGroupEntity is the BasicEntity implementation for RegistryKeyEntity. +func (rke RegistryKeyEntity) AsSecurityGroupEntity() (*SecurityGroupEntity, bool) { + return nil, false +} + +// AsURLEntity is the BasicEntity implementation for RegistryKeyEntity. +func (rke RegistryKeyEntity) AsURLEntity() (*URLEntity, bool) { + return nil, false +} + +// AsEntity is the BasicEntity implementation for RegistryKeyEntity. +func (rke RegistryKeyEntity) AsEntity() (*Entity, bool) { + return nil, false +} + +// AsBasicEntity is the BasicEntity implementation for RegistryKeyEntity. +func (rke RegistryKeyEntity) AsBasicEntity() (BasicEntity, bool) { + return &rke, true +} + +// UnmarshalJSON is the custom unmarshaler for RegistryKeyEntity struct. +func (rke *RegistryKeyEntity) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -3923,12 +8730,12 @@ func (mdc *MDATPDataConnector) UnmarshalJSON(body []byte) error { switch k { case "properties": if v != nil { - var mDATPDataConnectorProperties MDATPDataConnectorProperties - err = json.Unmarshal(*v, &mDATPDataConnectorProperties) + var registryKeyEntityProperties RegistryKeyEntityProperties + err = json.Unmarshal(*v, ®istryKeyEntityProperties) if err != nil { return err } - mdc.MDATPDataConnectorProperties = &mDATPDataConnectorProperties + rke.RegistryKeyEntityProperties = ®istryKeyEntityProperties } case "id": if v != nil { @@ -3937,7 +8744,16 @@ func (mdc *MDATPDataConnector) UnmarshalJSON(body []byte) error { if err != nil { return err } - mdc.ID = &ID + rke.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + rke.Name = &name } case "type": if v != nil { @@ -3946,7 +8762,179 @@ func (mdc *MDATPDataConnector) UnmarshalJSON(body []byte) error { if err != nil { return err } - mdc.Type = &typeVar + rke.Type = &typeVar + } + case "kind": + if v != nil { + var kind KindBasicEntity + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + rke.Kind = kind + } + } + } + + return nil +} + +// RegistryKeyEntityProperties registryKey entity property bag. +type RegistryKeyEntityProperties struct { + // Hive - READ-ONLY; the hive that holds the registry key. Possible values include: 'HKEYLOCALMACHINE', 'HKEYCLASSESROOT', 'HKEYCURRENTCONFIG', 'HKEYUSERS', 'HKEYCURRENTUSERLOCALSETTINGS', 'HKEYPERFORMANCEDATA', 'HKEYPERFORMANCENLSTEXT', 'HKEYPERFORMANCETEXT', 'HKEYA', 'HKEYCURRENTUSER' + Hive RegistryHive `json:"hive,omitempty"` + // Key - READ-ONLY; The registry key path. + Key *string `json:"key,omitempty"` + // AdditionalData - READ-ONLY; A bag of custom fields that should be part of the entity and will be presented to the user. + AdditionalData map[string]interface{} `json:"additionalData"` + // FriendlyName - READ-ONLY; The graph item display name which is a short humanly readable description of the graph item instance. This property is optional and might be system generated. + FriendlyName *string `json:"friendlyName,omitempty"` +} + +// MarshalJSON is the custom marshaler for RegistryKeyEntityProperties. +func (rkep RegistryKeyEntityProperties) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + return json.Marshal(objectMap) +} + +// RegistryValueEntity represents a registry value entity. +type RegistryValueEntity struct { + // RegistryValueEntityProperties - RegistryKey entity properties + *RegistryValueEntityProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Azure resource Id + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Azure resource name + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Azure resource type + Type *string `json:"type,omitempty"` + // Kind - Possible values include: 'KindEntity', 'KindAccount', 'KindAzureResource', 'KindCloudApplication', 'KindDNSResolution', 'KindFile', 'KindFileHash', 'KindHost', 'KindIP', 'KindMalware', 'KindProcess', 'KindRegistryKey', 'KindRegistryValue', 'KindSecurityAlert', 'KindSecurityGroup', 'KindURL' + Kind KindBasicEntity `json:"kind,omitempty"` +} + +// MarshalJSON is the custom marshaler for RegistryValueEntity. +func (rve RegistryValueEntity) MarshalJSON() ([]byte, error) { + rve.Kind = KindRegistryValue + objectMap := make(map[string]interface{}) + if rve.RegistryValueEntityProperties != nil { + objectMap["properties"] = rve.RegistryValueEntityProperties + } + if rve.Kind != "" { + objectMap["kind"] = rve.Kind + } + return json.Marshal(objectMap) +} + +// AsAccountEntity is the BasicEntity implementation for RegistryValueEntity. +func (rve RegistryValueEntity) AsAccountEntity() (*AccountEntity, bool) { + return nil, false +} + +// AsAzureResourceEntity is the BasicEntity implementation for RegistryValueEntity. +func (rve RegistryValueEntity) AsAzureResourceEntity() (*AzureResourceEntity, bool) { + return nil, false +} + +// AsCloudApplicationEntity is the BasicEntity implementation for RegistryValueEntity. +func (rve RegistryValueEntity) AsCloudApplicationEntity() (*CloudApplicationEntity, bool) { + return nil, false +} + +// AsDNSEntity is the BasicEntity implementation for RegistryValueEntity. +func (rve RegistryValueEntity) AsDNSEntity() (*DNSEntity, bool) { + return nil, false +} + +// AsFileEntity is the BasicEntity implementation for RegistryValueEntity. +func (rve RegistryValueEntity) AsFileEntity() (*FileEntity, bool) { + return nil, false +} + +// AsFileHashEntity is the BasicEntity implementation for RegistryValueEntity. +func (rve RegistryValueEntity) AsFileHashEntity() (*FileHashEntity, bool) { + return nil, false +} + +// AsHostEntity is the BasicEntity implementation for RegistryValueEntity. +func (rve RegistryValueEntity) AsHostEntity() (*HostEntity, bool) { + return nil, false +} + +// AsIPEntity is the BasicEntity implementation for RegistryValueEntity. +func (rve RegistryValueEntity) AsIPEntity() (*IPEntity, bool) { + return nil, false +} + +// AsMalwareEntity is the BasicEntity implementation for RegistryValueEntity. +func (rve RegistryValueEntity) AsMalwareEntity() (*MalwareEntity, bool) { + return nil, false +} + +// AsProcessEntity is the BasicEntity implementation for RegistryValueEntity. +func (rve RegistryValueEntity) AsProcessEntity() (*ProcessEntity, bool) { + return nil, false +} + +// AsRegistryKeyEntity is the BasicEntity implementation for RegistryValueEntity. +func (rve RegistryValueEntity) AsRegistryKeyEntity() (*RegistryKeyEntity, bool) { + return nil, false +} + +// AsRegistryValueEntity is the BasicEntity implementation for RegistryValueEntity. +func (rve RegistryValueEntity) AsRegistryValueEntity() (*RegistryValueEntity, bool) { + return &rve, true +} + +// AsSecurityAlert is the BasicEntity implementation for RegistryValueEntity. +func (rve RegistryValueEntity) AsSecurityAlert() (*SecurityAlert, bool) { + return nil, false +} + +// AsSecurityGroupEntity is the BasicEntity implementation for RegistryValueEntity. +func (rve RegistryValueEntity) AsSecurityGroupEntity() (*SecurityGroupEntity, bool) { + return nil, false +} + +// AsURLEntity is the BasicEntity implementation for RegistryValueEntity. +func (rve RegistryValueEntity) AsURLEntity() (*URLEntity, bool) { + return nil, false +} + +// AsEntity is the BasicEntity implementation for RegistryValueEntity. +func (rve RegistryValueEntity) AsEntity() (*Entity, bool) { + return nil, false +} + +// AsBasicEntity is the BasicEntity implementation for RegistryValueEntity. +func (rve RegistryValueEntity) AsBasicEntity() (BasicEntity, bool) { + return &rve, true +} + +// UnmarshalJSON is the custom unmarshaler for RegistryValueEntity struct. +func (rve *RegistryValueEntity) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var registryValueEntityProperties RegistryValueEntityProperties + err = json.Unmarshal(*v, ®istryValueEntityProperties) + if err != nil { + return err + } + rve.RegistryValueEntityProperties = ®istryValueEntityProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + rve.ID = &ID } case "name": if v != nil { @@ -3955,25 +8943,25 @@ func (mdc *MDATPDataConnector) UnmarshalJSON(body []byte) error { if err != nil { return err } - mdc.Name = &name + rve.Name = &name } - case "etag": + case "type": if v != nil { - var etag string - err = json.Unmarshal(*v, &etag) + var typeVar string + err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - mdc.Etag = &etag + rve.Type = &typeVar } case "kind": if v != nil { - var kind KindBasicDataConnector + var kind KindBasicEntity err = json.Unmarshal(*v, &kind) if err != nil { return err } - mdc.Kind = kind + rve.Kind = kind } } } @@ -3981,39 +8969,257 @@ func (mdc *MDATPDataConnector) UnmarshalJSON(body []byte) error { return nil } -// MDATPDataConnectorProperties MDATP (Microsoft Defender Advanced Threat Protection) data connector -// properties. -type MDATPDataConnectorProperties struct { - // TenantID - The tenant id to connect to, and get the data from. - TenantID *string `json:"tenantId,omitempty"` - // DataTypes - The available data types for the connector. - DataTypes *AlertsDataTypeOfDataConnector `json:"dataTypes,omitempty"` +// RegistryValueEntityProperties registryValue entity property bag. +type RegistryValueEntityProperties struct { + // KeyEntityID - READ-ONLY; The registry key entity id. + KeyEntityID *string `json:"keyEntityId,omitempty"` + // ValueData - READ-ONLY; String formatted representation of the value data. + ValueData *string `json:"valueData,omitempty"` + // ValueName - READ-ONLY; The registry value name. + ValueName *string `json:"valueName,omitempty"` + // ValueType - READ-ONLY; Specifies the data types to use when storing values in the registry, or identifies the data type of a value in the registry. Possible values include: 'RegistryValueKindNone', 'RegistryValueKindUnknown', 'RegistryValueKindString', 'RegistryValueKindExpandString', 'RegistryValueKindBinary', 'RegistryValueKindDWord', 'RegistryValueKindMultiString', 'RegistryValueKindQWord' + ValueType RegistryValueKind `json:"valueType,omitempty"` + // AdditionalData - READ-ONLY; A bag of custom fields that should be part of the entity and will be presented to the user. + AdditionalData map[string]interface{} `json:"additionalData"` + // FriendlyName - READ-ONLY; The graph item display name which is a short humanly readable description of the graph item instance. This property is optional and might be system generated. + FriendlyName *string `json:"friendlyName,omitempty"` +} + +// MarshalJSON is the custom marshaler for RegistryValueEntityProperties. +func (rvep RegistryValueEntityProperties) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + return json.Marshal(objectMap) +} + +// RelationBase represents a relation +type RelationBase struct { + // Kind - READ-ONLY; The type of relation node. Possible values include: 'CasesToBookmarks' + Kind RelationTypes `json:"kind,omitempty"` + // Etag - ETag for relation + Etag *string `json:"etag,omitempty"` + // ID - READ-ONLY; Azure resource Id + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Azure resource name + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Azure resource type + Type *string `json:"type,omitempty"` +} + +// RelationNode relation node +type RelationNode struct { + // RelationNodeID - Relation Node Id + RelationNodeID *string `json:"relationNodeId,omitempty"` + // RelationNodeKind - READ-ONLY; The type of relation node. Possible values include: 'RelationNodeKindCase', 'RelationNodeKindBookmark' + RelationNodeKind RelationNodeKind `json:"relationNodeKind,omitempty"` + // Etag - Etag for relation node + Etag *string `json:"etag,omitempty"` + // RelationAdditionalProperties - Additional set of properties + RelationAdditionalProperties map[string]*string `json:"relationAdditionalProperties"` +} + +// MarshalJSON is the custom marshaler for RelationNode. +func (rn RelationNode) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if rn.RelationNodeID != nil { + objectMap["relationNodeId"] = rn.RelationNodeID + } + if rn.Etag != nil { + objectMap["etag"] = rn.Etag + } + if rn.RelationAdditionalProperties != nil { + objectMap["relationAdditionalProperties"] = rn.RelationAdditionalProperties + } + return json.Marshal(objectMap) +} + +// RelationsModelInput relation input model +type RelationsModelInput struct { + // RelationsModelInputProperties - Relation input properties + *RelationsModelInputProperties `json:"properties,omitempty"` + // Kind - READ-ONLY; The type of relation node. Possible values include: 'CasesToBookmarks' + Kind RelationTypes `json:"kind,omitempty"` + // Etag - ETag for relation + Etag *string `json:"etag,omitempty"` + // ID - READ-ONLY; Azure resource Id + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Azure resource name + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Azure resource type + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for RelationsModelInput. +func (rmi RelationsModelInput) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if rmi.RelationsModelInputProperties != nil { + objectMap["properties"] = rmi.RelationsModelInputProperties + } + if rmi.Etag != nil { + objectMap["etag"] = rmi.Etag + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for RelationsModelInput struct. +func (rmi *RelationsModelInput) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var relationsModelInputProperties RelationsModelInputProperties + err = json.Unmarshal(*v, &relationsModelInputProperties) + if err != nil { + return err + } + rmi.RelationsModelInputProperties = &relationsModelInputProperties + } + case "kind": + if v != nil { + var kind RelationTypes + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + rmi.Kind = kind + } + case "etag": + if v != nil { + var etag string + err = json.Unmarshal(*v, &etag) + if err != nil { + return err + } + rmi.Etag = &etag + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + rmi.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + rmi.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + rmi.Type = &typeVar + } + } + } + + return nil +} + +// RelationsModelInputProperties relation input properties +type RelationsModelInputProperties struct { + // RelationName - Name of relation + RelationName *string `json:"relationName,omitempty"` + // SourceRelationNode - Relation source node + SourceRelationNode *RelationNode `json:"sourceRelationNode,omitempty"` + // TargetRelationNode - Relation target node + TargetRelationNode *RelationNode `json:"targetRelationNode,omitempty"` } -// OfficeConsent consent for Office365 tenant that already made. -type OfficeConsent struct { - autorest.Response `json:"-"` - // OfficeConsentProperties - Office consent properties - *OfficeConsentProperties `json:"properties,omitempty"` +// Resource an azure resource object +type Resource struct { + // ID - READ-ONLY; Azure resource Id + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Azure resource name + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Azure resource type + Type *string `json:"type,omitempty"` +} + +// ResourceWithEtag an azure resource object with an Etag property +type ResourceWithEtag struct { // ID - READ-ONLY; Azure resource Id ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Azure resource name + Name *string `json:"name,omitempty"` // Type - READ-ONLY; Azure resource type Type *string `json:"type,omitempty"` + // Etag - Etag of the azure resource + Etag *string `json:"etag,omitempty"` +} + +// ScheduledAlertRule represents scheduled alert rule. +type ScheduledAlertRule struct { + // ScheduledAlertRuleProperties - Scheduled alert rule properties + *ScheduledAlertRuleProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Azure resource Id + ID *string `json:"id,omitempty"` // Name - READ-ONLY; Azure resource name Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Azure resource type + Type *string `json:"type,omitempty"` + // Etag - Etag of the azure resource + Etag *string `json:"etag,omitempty"` + // Kind - Possible values include: 'KindAlertRule', 'KindFusion', 'KindMicrosoftSecurityIncidentCreation', 'KindScheduled' + Kind KindBasicAlertRule `json:"kind,omitempty"` } -// MarshalJSON is the custom marshaler for OfficeConsent. -func (oc OfficeConsent) MarshalJSON() ([]byte, error) { +// MarshalJSON is the custom marshaler for ScheduledAlertRule. +func (sar ScheduledAlertRule) MarshalJSON() ([]byte, error) { + sar.Kind = KindScheduled objectMap := make(map[string]interface{}) - if oc.OfficeConsentProperties != nil { - objectMap["properties"] = oc.OfficeConsentProperties + if sar.ScheduledAlertRuleProperties != nil { + objectMap["properties"] = sar.ScheduledAlertRuleProperties + } + if sar.Etag != nil { + objectMap["etag"] = sar.Etag + } + if sar.Kind != "" { + objectMap["kind"] = sar.Kind } return json.Marshal(objectMap) } -// UnmarshalJSON is the custom unmarshaler for OfficeConsent struct. -func (oc *OfficeConsent) UnmarshalJSON(body []byte) error { +// AsFusionAlertRule is the BasicAlertRule implementation for ScheduledAlertRule. +func (sar ScheduledAlertRule) AsFusionAlertRule() (*FusionAlertRule, bool) { + return nil, false +} + +// AsMicrosoftSecurityIncidentCreationAlertRule is the BasicAlertRule implementation for ScheduledAlertRule. +func (sar ScheduledAlertRule) AsMicrosoftSecurityIncidentCreationAlertRule() (*MicrosoftSecurityIncidentCreationAlertRule, bool) { + return nil, false +} + +// AsScheduledAlertRule is the BasicAlertRule implementation for ScheduledAlertRule. +func (sar ScheduledAlertRule) AsScheduledAlertRule() (*ScheduledAlertRule, bool) { + return &sar, true +} + +// AsAlertRule is the BasicAlertRule implementation for ScheduledAlertRule. +func (sar ScheduledAlertRule) AsAlertRule() (*AlertRule, bool) { + return nil, false +} + +// AsBasicAlertRule is the BasicAlertRule implementation for ScheduledAlertRule. +func (sar ScheduledAlertRule) AsBasicAlertRule() (BasicAlertRule, bool) { + return &sar, true +} + +// UnmarshalJSON is the custom unmarshaler for ScheduledAlertRule struct. +func (sar *ScheduledAlertRule) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -4023,12 +9229,12 @@ func (oc *OfficeConsent) UnmarshalJSON(body []byte) error { switch k { case "properties": if v != nil { - var officeConsentProperties OfficeConsentProperties - err = json.Unmarshal(*v, &officeConsentProperties) + var scheduledAlertRuleProperties ScheduledAlertRuleProperties + err = json.Unmarshal(*v, &scheduledAlertRuleProperties) if err != nil { return err } - oc.OfficeConsentProperties = &officeConsentProperties + sar.ScheduledAlertRuleProperties = &scheduledAlertRuleProperties } case "id": if v != nil { @@ -4037,7 +9243,16 @@ func (oc *OfficeConsent) UnmarshalJSON(body []byte) error { if err != nil { return err } - oc.ID = &ID + sar.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + sar.Name = &name } case "type": if v != nil { @@ -4046,261 +9261,134 @@ func (oc *OfficeConsent) UnmarshalJSON(body []byte) error { if err != nil { return err } - oc.Type = &typeVar + sar.Type = &typeVar } - case "name": + case "etag": if v != nil { - var name string - err = json.Unmarshal(*v, &name) + var etag string + err = json.Unmarshal(*v, &etag) if err != nil { return err } - oc.Name = &name + sar.Etag = &etag } - } - } - - return nil -} - -// OfficeConsentList list of all the office365 consents. -type OfficeConsentList struct { - autorest.Response `json:"-"` - // NextLink - READ-ONLY; URL to fetch the next set of office consents. - NextLink *string `json:"nextLink,omitempty"` - // Value - Array of the consents. - Value *[]OfficeConsent `json:"value,omitempty"` -} - -// OfficeConsentListIterator provides access to a complete listing of OfficeConsent values. -type OfficeConsentListIterator struct { - i int - page OfficeConsentListPage -} - -// NextWithContext advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -func (iter *OfficeConsentListIterator) NextWithContext(ctx context.Context) (err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/OfficeConsentListIterator.NextWithContext") - defer func() { - sc := -1 - if iter.Response().Response.Response != nil { - sc = iter.Response().Response.Response.StatusCode + case "kind": + if v != nil { + var kind KindBasicAlertRule + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + sar.Kind = kind } - tracing.EndSpan(ctx, sc, err) - }() - } - iter.i++ - if iter.i < len(iter.page.Values()) { - return nil - } - err = iter.page.NextWithContext(ctx) - if err != nil { - iter.i-- - return err - } - iter.i = 0 - return nil -} - -// Next advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -// Deprecated: Use NextWithContext() instead. -func (iter *OfficeConsentListIterator) Next() error { - return iter.NextWithContext(context.Background()) -} - -// NotDone returns true if the enumeration should be started or is not yet complete. -func (iter OfficeConsentListIterator) NotDone() bool { - return iter.page.NotDone() && iter.i < len(iter.page.Values()) -} - -// Response returns the raw server response from the last page request. -func (iter OfficeConsentListIterator) Response() OfficeConsentList { - return iter.page.Response() -} - -// Value returns the current value or a zero-initialized value if the -// iterator has advanced beyond the end of the collection. -func (iter OfficeConsentListIterator) Value() OfficeConsent { - if !iter.page.NotDone() { - return OfficeConsent{} - } - return iter.page.Values()[iter.i] -} - -// Creates a new instance of the OfficeConsentListIterator type. -func NewOfficeConsentListIterator(page OfficeConsentListPage) OfficeConsentListIterator { - return OfficeConsentListIterator{page: page} -} - -// IsEmpty returns true if the ListResult contains no values. -func (ocl OfficeConsentList) IsEmpty() bool { - return ocl.Value == nil || len(*ocl.Value) == 0 -} - -// officeConsentListPreparer prepares a request to retrieve the next set of results. -// It returns nil if no more results exist. -func (ocl OfficeConsentList) officeConsentListPreparer(ctx context.Context) (*http.Request, error) { - if ocl.NextLink == nil || len(to.String(ocl.NextLink)) < 1 { - return nil, nil + } } - return autorest.Prepare((&http.Request{}).WithContext(ctx), - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(ocl.NextLink))) -} - -// OfficeConsentListPage contains a page of OfficeConsent values. -type OfficeConsentListPage struct { - fn func(context.Context, OfficeConsentList) (OfficeConsentList, error) - ocl OfficeConsentList -} -// NextWithContext advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -func (page *OfficeConsentListPage) NextWithContext(ctx context.Context) (err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/OfficeConsentListPage.NextWithContext") - defer func() { - sc := -1 - if page.Response().Response.Response != nil { - sc = page.Response().Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - next, err := page.fn(ctx, page.ocl) - if err != nil { - return err - } - page.ocl = next return nil } -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -// Deprecated: Use NextWithContext() instead. -func (page *OfficeConsentListPage) Next() error { - return page.NextWithContext(context.Background()) -} - -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page OfficeConsentListPage) NotDone() bool { - return !page.ocl.IsEmpty() -} - -// Response returns the raw server response from the last page request. -func (page OfficeConsentListPage) Response() OfficeConsentList { - return page.ocl -} - -// Values returns the slice of values for the current page or nil if there are no values. -func (page OfficeConsentListPage) Values() []OfficeConsent { - if page.ocl.IsEmpty() { - return nil - } - return *page.ocl.Value -} - -// Creates a new instance of the OfficeConsentListPage type. -func NewOfficeConsentListPage(getNextPage func(context.Context, OfficeConsentList) (OfficeConsentList, error)) OfficeConsentListPage { - return OfficeConsentListPage{fn: getNextPage} +// ScheduledAlertRuleCommonProperties schedule alert rule template property bag. +type ScheduledAlertRuleCommonProperties struct { + // Query - The query that creates alerts for this rule. + Query *string `json:"query,omitempty"` + // QueryFrequency - The frequency (in ISO 8601 duration format) for this alert rule to run. + QueryFrequency *string `json:"queryFrequency,omitempty"` + // QueryPeriod - The period (in ISO 8601 duration format) that this alert rule looks at. + QueryPeriod *string `json:"queryPeriod,omitempty"` + // Severity - The severity for alerts created by this alert rule. Possible values include: 'High', 'Medium', 'Low', 'Informational' + Severity AlertSeverity `json:"severity,omitempty"` + // TriggerOperator - The operation against the threshold that triggers alert rule. Possible values include: 'GreaterThan', 'LessThan', 'Equal', 'NotEqual' + TriggerOperator TriggerOperator `json:"triggerOperator,omitempty"` + // TriggerThreshold - The threshold triggers this alert rule. + TriggerThreshold *int32 `json:"triggerThreshold,omitempty"` } -// OfficeConsentProperties consent property bag. -type OfficeConsentProperties struct { - // TenantID - The tenantId of the Office365 with the consent. - TenantID *string `json:"tenantId,omitempty"` - // TenantName - READ-ONLY; The tenant name of the Office365 with the consent. - TenantName *string `json:"tenantName,omitempty"` +// ScheduledAlertRuleProperties scheduled alert rule base property bag. +type ScheduledAlertRuleProperties struct { + // AlertRuleTemplateName - The Name of the alert rule template used to create this rule. + AlertRuleTemplateName *string `json:"alertRuleTemplateName,omitempty"` + // Description - The description of the alert rule. + Description *string `json:"description,omitempty"` + // DisplayName - The display name for alerts created by this alert rule. + DisplayName *string `json:"displayName,omitempty"` + // Enabled - Determines whether this alert rule is enabled or disabled. + Enabled *bool `json:"enabled,omitempty"` + // LastModifiedUtc - READ-ONLY; The last time that this alert rule has been modified. + LastModifiedUtc *date.Time `json:"lastModifiedUtc,omitempty"` + // SuppressionDuration - The suppression (in ISO 8601 duration format) to wait since last time this alert rule been triggered. + SuppressionDuration *string `json:"suppressionDuration,omitempty"` + // SuppressionEnabled - Determines whether the suppression for this alert rule is enabled or disabled. + SuppressionEnabled *bool `json:"suppressionEnabled,omitempty"` + // Tactics - The tactics of the alert rule + Tactics *[]AttackTactic `json:"tactics,omitempty"` + // Query - The query that creates alerts for this rule. + Query *string `json:"query,omitempty"` + // QueryFrequency - The frequency (in ISO 8601 duration format) for this alert rule to run. + QueryFrequency *string `json:"queryFrequency,omitempty"` + // QueryPeriod - The period (in ISO 8601 duration format) that this alert rule looks at. + QueryPeriod *string `json:"queryPeriod,omitempty"` + // Severity - The severity for alerts created by this alert rule. Possible values include: 'High', 'Medium', 'Low', 'Informational' + Severity AlertSeverity `json:"severity,omitempty"` + // TriggerOperator - The operation against the threshold that triggers alert rule. Possible values include: 'GreaterThan', 'LessThan', 'Equal', 'NotEqual' + TriggerOperator TriggerOperator `json:"triggerOperator,omitempty"` + // TriggerThreshold - The threshold triggers this alert rule. + TriggerThreshold *int32 `json:"triggerThreshold,omitempty"` } -// OfficeDataConnector represents office data connector. -type OfficeDataConnector struct { - // OfficeDataConnectorProperties - Office data connector properties. - *OfficeDataConnectorProperties `json:"properties,omitempty"` +// ScheduledAlertRuleTemplate represents scheduled alert rule template. +type ScheduledAlertRuleTemplate struct { + // ScheduledAlertRuleTemplateProperties - Scheduled alert rule template properties + *ScheduledAlertRuleTemplateProperties `json:"properties,omitempty"` // ID - READ-ONLY; Azure resource Id ID *string `json:"id,omitempty"` - // Type - READ-ONLY; Azure resource type - Type *string `json:"type,omitempty"` // Name - READ-ONLY; Azure resource name Name *string `json:"name,omitempty"` - // Etag - Etag of the data connector. - Etag *string `json:"etag,omitempty"` - // Kind - Possible values include: 'KindDataConnector', 'KindOffice365', 'KindThreatIntelligence', 'KindAmazonWebServicesCloudTrail', 'KindAzureActiveDirectory', 'KindAzureSecurityCenter', 'KindMicrosoftCloudAppSecurity', 'KindAzureAdvancedThreatProtection', 'KindMicrosoftDefenderAdvancedThreatProtection' - Kind KindBasicDataConnector `json:"kind,omitempty"` + // Type - READ-ONLY; Azure resource type + Type *string `json:"type,omitempty"` + // Kind - Possible values include: 'KindBasicAlertRuleTemplateKindAlertRuleTemplate', 'KindBasicAlertRuleTemplateKindFusion', 'KindBasicAlertRuleTemplateKindMicrosoftSecurityIncidentCreation', 'KindBasicAlertRuleTemplateKindScheduled' + Kind KindBasicAlertRuleTemplate `json:"kind,omitempty"` } -// MarshalJSON is the custom marshaler for OfficeDataConnector. -func (odc OfficeDataConnector) MarshalJSON() ([]byte, error) { - odc.Kind = KindOffice365 +// MarshalJSON is the custom marshaler for ScheduledAlertRuleTemplate. +func (sart ScheduledAlertRuleTemplate) MarshalJSON() ([]byte, error) { + sart.Kind = KindBasicAlertRuleTemplateKindScheduled objectMap := make(map[string]interface{}) - if odc.OfficeDataConnectorProperties != nil { - objectMap["properties"] = odc.OfficeDataConnectorProperties - } - if odc.Etag != nil { - objectMap["etag"] = odc.Etag + if sart.ScheduledAlertRuleTemplateProperties != nil { + objectMap["properties"] = sart.ScheduledAlertRuleTemplateProperties } - if odc.Kind != "" { - objectMap["kind"] = odc.Kind + if sart.Kind != "" { + objectMap["kind"] = sart.Kind } return json.Marshal(objectMap) } -// AsOfficeDataConnector is the BasicDataConnector implementation for OfficeDataConnector. -func (odc OfficeDataConnector) AsOfficeDataConnector() (*OfficeDataConnector, bool) { - return &odc, true -} - -// AsTIDataConnector is the BasicDataConnector implementation for OfficeDataConnector. -func (odc OfficeDataConnector) AsTIDataConnector() (*TIDataConnector, bool) { - return nil, false -} - -// AsAwsCloudTrailDataConnector is the BasicDataConnector implementation for OfficeDataConnector. -func (odc OfficeDataConnector) AsAwsCloudTrailDataConnector() (*AwsCloudTrailDataConnector, bool) { - return nil, false -} - -// AsAADDataConnector is the BasicDataConnector implementation for OfficeDataConnector. -func (odc OfficeDataConnector) AsAADDataConnector() (*AADDataConnector, bool) { - return nil, false -} - -// AsASCDataConnector is the BasicDataConnector implementation for OfficeDataConnector. -func (odc OfficeDataConnector) AsASCDataConnector() (*ASCDataConnector, bool) { - return nil, false -} - -// AsMCASDataConnector is the BasicDataConnector implementation for OfficeDataConnector. -func (odc OfficeDataConnector) AsMCASDataConnector() (*MCASDataConnector, bool) { +// AsFusionAlertRuleTemplate is the BasicAlertRuleTemplate implementation for ScheduledAlertRuleTemplate. +func (sart ScheduledAlertRuleTemplate) AsFusionAlertRuleTemplate() (*FusionAlertRuleTemplate, bool) { return nil, false } -// AsAATPDataConnector is the BasicDataConnector implementation for OfficeDataConnector. -func (odc OfficeDataConnector) AsAATPDataConnector() (*AATPDataConnector, bool) { +// AsMicrosoftSecurityIncidentCreationAlertRuleTemplate is the BasicAlertRuleTemplate implementation for ScheduledAlertRuleTemplate. +func (sart ScheduledAlertRuleTemplate) AsMicrosoftSecurityIncidentCreationAlertRuleTemplate() (*MicrosoftSecurityIncidentCreationAlertRuleTemplate, bool) { return nil, false } -// AsMDATPDataConnector is the BasicDataConnector implementation for OfficeDataConnector. -func (odc OfficeDataConnector) AsMDATPDataConnector() (*MDATPDataConnector, bool) { - return nil, false +// AsScheduledAlertRuleTemplate is the BasicAlertRuleTemplate implementation for ScheduledAlertRuleTemplate. +func (sart ScheduledAlertRuleTemplate) AsScheduledAlertRuleTemplate() (*ScheduledAlertRuleTemplate, bool) { + return &sart, true } -// AsDataConnector is the BasicDataConnector implementation for OfficeDataConnector. -func (odc OfficeDataConnector) AsDataConnector() (*DataConnector, bool) { +// AsAlertRuleTemplate is the BasicAlertRuleTemplate implementation for ScheduledAlertRuleTemplate. +func (sart ScheduledAlertRuleTemplate) AsAlertRuleTemplate() (*AlertRuleTemplate, bool) { return nil, false } -// AsBasicDataConnector is the BasicDataConnector implementation for OfficeDataConnector. -func (odc OfficeDataConnector) AsBasicDataConnector() (BasicDataConnector, bool) { - return &odc, true +// AsBasicAlertRuleTemplate is the BasicAlertRuleTemplate implementation for ScheduledAlertRuleTemplate. +func (sart ScheduledAlertRuleTemplate) AsBasicAlertRuleTemplate() (BasicAlertRuleTemplate, bool) { + return &sart, true } -// UnmarshalJSON is the custom unmarshaler for OfficeDataConnector struct. -func (odc *OfficeDataConnector) UnmarshalJSON(body []byte) error { +// UnmarshalJSON is the custom unmarshaler for ScheduledAlertRuleTemplate struct. +func (sart *ScheduledAlertRuleTemplate) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -4310,12 +9398,12 @@ func (odc *OfficeDataConnector) UnmarshalJSON(body []byte) error { switch k { case "properties": if v != nil { - var officeDataConnectorProperties OfficeDataConnectorProperties - err = json.Unmarshal(*v, &officeDataConnectorProperties) + var scheduledAlertRuleTemplateProperties ScheduledAlertRuleTemplateProperties + err = json.Unmarshal(*v, &scheduledAlertRuleTemplateProperties) if err != nil { return err } - odc.OfficeDataConnectorProperties = &officeDataConnectorProperties + sart.ScheduledAlertRuleTemplateProperties = &scheduledAlertRuleTemplateProperties } case "id": if v != nil { @@ -4324,16 +9412,7 @@ func (odc *OfficeDataConnector) UnmarshalJSON(body []byte) error { if err != nil { return err } - odc.ID = &ID - } - case "type": - if v != nil { - var typeVar string - err = json.Unmarshal(*v, &typeVar) - if err != nil { - return err - } - odc.Type = &typeVar + sart.ID = &ID } case "name": if v != nil { @@ -4342,25 +9421,25 @@ func (odc *OfficeDataConnector) UnmarshalJSON(body []byte) error { if err != nil { return err } - odc.Name = &name + sart.Name = &name } - case "etag": + case "type": if v != nil { - var etag string - err = json.Unmarshal(*v, &etag) + var typeVar string + err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - odc.Etag = &etag + sart.Type = &typeVar } case "kind": if v != nil { - var kind KindBasicDataConnector + var kind KindBasicAlertRuleTemplate err = json.Unmarshal(*v, &kind) if err != nil { return err } - odc.Kind = kind + sart.Kind = kind } } } @@ -4368,259 +9447,389 @@ func (odc *OfficeDataConnector) UnmarshalJSON(body []byte) error { return nil } -// OfficeDataConnectorDataTypes the available data types for office data connector. -type OfficeDataConnectorDataTypes struct { - // SharePoint - SharePoint data type connection. - SharePoint *OfficeDataConnectorDataTypesSharePoint `json:"sharePoint,omitempty"` - // Exchange - Exchange data type connection. - Exchange *OfficeDataConnectorDataTypesExchange `json:"exchange,omitempty"` +// ScheduledAlertRuleTemplateProperties scheduled alert rule template properties +type ScheduledAlertRuleTemplateProperties struct { + // AlertRulesCreatedByTemplateCount - the number of alert rules that were created by this template + AlertRulesCreatedByTemplateCount *int32 `json:"alertRulesCreatedByTemplateCount,omitempty"` + // CreatedDateUTC - READ-ONLY; The time that this alert rule template has been added. + CreatedDateUTC *date.Time `json:"createdDateUTC,omitempty"` + // Description - The description of the alert rule template. + Description *string `json:"description,omitempty"` + // DisplayName - The display name for alert rule template. + DisplayName *string `json:"displayName,omitempty"` + // RequiredDataConnectors - The required data connectors for this template + RequiredDataConnectors *[]DataConnectorStatus `json:"requiredDataConnectors,omitempty"` + // Status - The alert rule template status. Possible values include: 'Installed', 'Available', 'NotAvailable' + Status TemplateStatus `json:"status,omitempty"` + // Tactics - The tactics of the alert rule template + Tactics *[]AttackTactic `json:"tactics,omitempty"` + // Query - The query that creates alerts for this rule. + Query *string `json:"query,omitempty"` + // QueryFrequency - The frequency (in ISO 8601 duration format) for this alert rule to run. + QueryFrequency *string `json:"queryFrequency,omitempty"` + // QueryPeriod - The period (in ISO 8601 duration format) that this alert rule looks at. + QueryPeriod *string `json:"queryPeriod,omitempty"` + // Severity - The severity for alerts created by this alert rule. Possible values include: 'High', 'Medium', 'Low', 'Informational' + Severity AlertSeverity `json:"severity,omitempty"` + // TriggerOperator - The operation against the threshold that triggers alert rule. Possible values include: 'GreaterThan', 'LessThan', 'Equal', 'NotEqual' + TriggerOperator TriggerOperator `json:"triggerOperator,omitempty"` + // TriggerThreshold - The threshold triggers this alert rule. + TriggerThreshold *int32 `json:"triggerThreshold,omitempty"` } -// OfficeDataConnectorDataTypesExchange exchange data type connection. -type OfficeDataConnectorDataTypesExchange struct { - // State - Describe whether this data type connection is enabled or not. Possible values include: 'Enabled', 'Disabled' - State DataTypeState `json:"state,omitempty"` +// SecurityAlert represents a security alert entity. +type SecurityAlert struct { + // SecurityAlertProperties - SecurityAlert entity properties + *SecurityAlertProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Azure resource Id + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Azure resource name + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Azure resource type + Type *string `json:"type,omitempty"` + // Kind - Possible values include: 'KindEntity', 'KindAccount', 'KindAzureResource', 'KindCloudApplication', 'KindDNSResolution', 'KindFile', 'KindFileHash', 'KindHost', 'KindIP', 'KindMalware', 'KindProcess', 'KindRegistryKey', 'KindRegistryValue', 'KindSecurityAlert', 'KindSecurityGroup', 'KindURL' + Kind KindBasicEntity `json:"kind,omitempty"` } -// OfficeDataConnectorDataTypesSharePoint sharePoint data type connection. -type OfficeDataConnectorDataTypesSharePoint struct { - // State - Describe whether this data type connection is enabled or not. Possible values include: 'Enabled', 'Disabled' - State DataTypeState `json:"state,omitempty"` +// MarshalJSON is the custom marshaler for SecurityAlert. +func (sa SecurityAlert) MarshalJSON() ([]byte, error) { + sa.Kind = KindSecurityAlert + objectMap := make(map[string]interface{}) + if sa.SecurityAlertProperties != nil { + objectMap["properties"] = sa.SecurityAlertProperties + } + if sa.Kind != "" { + objectMap["kind"] = sa.Kind + } + return json.Marshal(objectMap) } -// OfficeDataConnectorProperties office data connector properties. -type OfficeDataConnectorProperties struct { - // DataTypes - The available data types for the connector. - DataTypes *OfficeDataConnectorDataTypes `json:"dataTypes,omitempty"` - // TenantID - The tenant id to connect to, and get the data from. - TenantID *string `json:"tenantId,omitempty"` +// AsAccountEntity is the BasicEntity implementation for SecurityAlert. +func (sa SecurityAlert) AsAccountEntity() (*AccountEntity, bool) { + return nil, false } -// Operation operation provided by provider -type Operation struct { - // Name - Name of the operation - Name *string `json:"name,omitempty"` - // Display - Properties of the operation - Display *OperationDisplay `json:"display,omitempty"` +// AsAzureResourceEntity is the BasicEntity implementation for SecurityAlert. +func (sa SecurityAlert) AsAzureResourceEntity() (*AzureResourceEntity, bool) { + return nil, false } -// OperationDisplay properties of the operation -type OperationDisplay struct { - // Provider - Provider name - Provider *string `json:"provider,omitempty"` - // Resource - Resource name - Resource *string `json:"resource,omitempty"` - // Operation - Operation name - Operation *string `json:"operation,omitempty"` - // Description - Description of the operation - Description *string `json:"description,omitempty"` +// AsCloudApplicationEntity is the BasicEntity implementation for SecurityAlert. +func (sa SecurityAlert) AsCloudApplicationEntity() (*CloudApplicationEntity, bool) { + return nil, false } -// OperationsList lists the operations available in the SecurityInsights RP. -type OperationsList struct { - autorest.Response `json:"-"` - // NextLink - URL to fetch the next set of operations. - NextLink *string `json:"nextLink,omitempty"` - // Value - Array of operations - Value *[]Operation `json:"value,omitempty"` +// AsDNSEntity is the BasicEntity implementation for SecurityAlert. +func (sa SecurityAlert) AsDNSEntity() (*DNSEntity, bool) { + return nil, false } -// OperationsListIterator provides access to a complete listing of Operation values. -type OperationsListIterator struct { - i int - page OperationsListPage +// AsFileEntity is the BasicEntity implementation for SecurityAlert. +func (sa SecurityAlert) AsFileEntity() (*FileEntity, bool) { + return nil, false } -// NextWithContext advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -func (iter *OperationsListIterator) NextWithContext(ctx context.Context) (err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/OperationsListIterator.NextWithContext") - defer func() { - sc := -1 - if iter.Response().Response.Response != nil { - sc = iter.Response().Response.Response.StatusCode +// AsFileHashEntity is the BasicEntity implementation for SecurityAlert. +func (sa SecurityAlert) AsFileHashEntity() (*FileHashEntity, bool) { + return nil, false +} + +// AsHostEntity is the BasicEntity implementation for SecurityAlert. +func (sa SecurityAlert) AsHostEntity() (*HostEntity, bool) { + return nil, false +} + +// AsIPEntity is the BasicEntity implementation for SecurityAlert. +func (sa SecurityAlert) AsIPEntity() (*IPEntity, bool) { + return nil, false +} + +// AsMalwareEntity is the BasicEntity implementation for SecurityAlert. +func (sa SecurityAlert) AsMalwareEntity() (*MalwareEntity, bool) { + return nil, false +} + +// AsProcessEntity is the BasicEntity implementation for SecurityAlert. +func (sa SecurityAlert) AsProcessEntity() (*ProcessEntity, bool) { + return nil, false +} + +// AsRegistryKeyEntity is the BasicEntity implementation for SecurityAlert. +func (sa SecurityAlert) AsRegistryKeyEntity() (*RegistryKeyEntity, bool) { + return nil, false +} + +// AsRegistryValueEntity is the BasicEntity implementation for SecurityAlert. +func (sa SecurityAlert) AsRegistryValueEntity() (*RegistryValueEntity, bool) { + return nil, false +} + +// AsSecurityAlert is the BasicEntity implementation for SecurityAlert. +func (sa SecurityAlert) AsSecurityAlert() (*SecurityAlert, bool) { + return &sa, true +} + +// AsSecurityGroupEntity is the BasicEntity implementation for SecurityAlert. +func (sa SecurityAlert) AsSecurityGroupEntity() (*SecurityGroupEntity, bool) { + return nil, false +} + +// AsURLEntity is the BasicEntity implementation for SecurityAlert. +func (sa SecurityAlert) AsURLEntity() (*URLEntity, bool) { + return nil, false +} + +// AsEntity is the BasicEntity implementation for SecurityAlert. +func (sa SecurityAlert) AsEntity() (*Entity, bool) { + return nil, false +} + +// AsBasicEntity is the BasicEntity implementation for SecurityAlert. +func (sa SecurityAlert) AsBasicEntity() (BasicEntity, bool) { + return &sa, true +} + +// UnmarshalJSON is the custom unmarshaler for SecurityAlert struct. +func (sa *SecurityAlert) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var securityAlertProperties SecurityAlertProperties + err = json.Unmarshal(*v, &securityAlertProperties) + if err != nil { + return err + } + sa.SecurityAlertProperties = &securityAlertProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + sa.ID = &ID } - tracing.EndSpan(ctx, sc, err) - }() - } - iter.i++ - if iter.i < len(iter.page.Values()) { - return nil - } - err = iter.page.NextWithContext(ctx) - if err != nil { - iter.i-- - return err + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + sa.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + sa.Type = &typeVar + } + case "kind": + if v != nil { + var kind KindBasicEntity + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + sa.Kind = kind + } + } } - iter.i = 0 + return nil } -// Next advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -// Deprecated: Use NextWithContext() instead. -func (iter *OperationsListIterator) Next() error { - return iter.NextWithContext(context.Background()) +// SecurityAlertProperties securityAlert entity property bag. +type SecurityAlertProperties struct { + // AlertDisplayName - READ-ONLY; The display name of the alert. + AlertDisplayName *string `json:"alertDisplayName,omitempty"` + // AlertType - READ-ONLY; The type name of the alert. + AlertType *string `json:"alertType,omitempty"` + // CompromisedEntity - READ-ONLY; Display name of the main entity being reported on. + CompromisedEntity *string `json:"compromisedEntity,omitempty"` + // ConfidenceLevel - READ-ONLY; The confidence level of this alert. Possible values include: 'ConfidenceLevelUnknown', 'ConfidenceLevelLow', 'ConfidenceLevelHigh' + ConfidenceLevel ConfidenceLevel `json:"confidenceLevel,omitempty"` + // ConfidenceReasons - READ-ONLY; The confidence reasons + ConfidenceReasons *[]SecurityAlertPropertiesConfidenceReasonsItem `json:"confidenceReasons,omitempty"` + // ConfidenceScore - READ-ONLY; The confidence score of the alert. + ConfidenceScore *float64 `json:"confidenceScore,omitempty"` + // ConfidenceScoreStatus - READ-ONLY; The confidence score calculation status, i.e. indicating if score calculation is pending for this alert, not applicable or final. Possible values include: 'NotApplicable', 'InProcess', 'NotFinal', 'Final' + ConfidenceScoreStatus ConfidenceScoreStatus `json:"confidenceScoreStatus,omitempty"` + // Description - READ-ONLY; Alert description. + Description *string `json:"description,omitempty"` + // EndTimeUtc - READ-ONLY; The impact end time of the alert (the time of the last event contributing to the alert). + EndTimeUtc *date.Time `json:"endTimeUtc,omitempty"` + // Intent - READ-ONLY; Holds the alert intent stage(s) mapping for this alert. Possible values include: 'KillChainIntentUnknown', 'KillChainIntentProbing', 'KillChainIntentExploitation', 'KillChainIntentPersistence', 'KillChainIntentPrivilegeEscalation', 'KillChainIntentDefenseEvasion', 'KillChainIntentCredentialAccess', 'KillChainIntentDiscovery', 'KillChainIntentLateralMovement', 'KillChainIntentExecution', 'KillChainIntentCollection', 'KillChainIntentExfiltration', 'KillChainIntentCommandAndControl', 'KillChainIntentImpact' + Intent KillChainIntent `json:"intent,omitempty"` + // ProcessingEndTime - READ-ONLY; The time the alert was made available for consumption. + ProcessingEndTime *date.Time `json:"processingEndTime,omitempty"` + // ProductComponentName - READ-ONLY; The name of a component inside the product which generated the alert. + ProductComponentName *string `json:"productComponentName,omitempty"` + // ProductName - READ-ONLY; The name of the product which published this alert. + ProductName *string `json:"productName,omitempty"` + // ProductVersion - READ-ONLY; The version of the product generating the alert. + ProductVersion *string `json:"productVersion,omitempty"` + // RemediationSteps - READ-ONLY; Manual action items to take to remediate the alert. + RemediationSteps *[]string `json:"remediationSteps,omitempty"` + // Severity - The severity of the alert. Possible values include: 'High', 'Medium', 'Low', 'Informational' + Severity AlertSeverity `json:"severity,omitempty"` + // StartTimeUtc - READ-ONLY; The impact start time of the alert (the time of the first event contributing to the alert). + StartTimeUtc *date.Time `json:"startTimeUtc,omitempty"` + // Status - READ-ONLY; The lifecycle status of the alert. Possible values include: 'AlertStatusUnknown', 'AlertStatusNew', 'AlertStatusResolved', 'AlertStatusDismissed', 'AlertStatusInProgress' + Status AlertStatus `json:"status,omitempty"` + // SystemAlertID - READ-ONLY; Holds the product identifier of the alert for the product. + SystemAlertID *string `json:"systemAlertId,omitempty"` + // TimeGenerated - READ-ONLY; The time the alert was generated. + TimeGenerated *date.Time `json:"timeGenerated,omitempty"` + // VendorName - READ-ONLY; The name of the vendor that raise the alert. + VendorName *string `json:"vendorName,omitempty"` + // AdditionalData - READ-ONLY; A bag of custom fields that should be part of the entity and will be presented to the user. + AdditionalData map[string]interface{} `json:"additionalData"` + // FriendlyName - READ-ONLY; The graph item display name which is a short humanly readable description of the graph item instance. This property is optional and might be system generated. + FriendlyName *string `json:"friendlyName,omitempty"` +} + +// MarshalJSON is the custom marshaler for SecurityAlertProperties. +func (sap SecurityAlertProperties) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if sap.Severity != "" { + objectMap["severity"] = sap.Severity + } + return json.Marshal(objectMap) } -// NotDone returns true if the enumeration should be started or is not yet complete. -func (iter OperationsListIterator) NotDone() bool { - return iter.page.NotDone() && iter.i < len(iter.page.Values()) +// SecurityAlertPropertiesConfidenceReasonsItem confidence reason item +type SecurityAlertPropertiesConfidenceReasonsItem struct { + // Reason - READ-ONLY; The reason's description + Reason *string `json:"reason,omitempty"` + // ReasonType - READ-ONLY; The type (category) of the reason + ReasonType *string `json:"reasonType,omitempty"` } -// Response returns the raw server response from the last page request. -func (iter OperationsListIterator) Response() OperationsList { - return iter.page.Response() +// SecurityGroupEntity represents a security group entity. +type SecurityGroupEntity struct { + // SecurityGroupEntityProperties - SecurityGroup entity properties + *SecurityGroupEntityProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Azure resource Id + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Azure resource name + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Azure resource type + Type *string `json:"type,omitempty"` + // Kind - Possible values include: 'KindEntity', 'KindAccount', 'KindAzureResource', 'KindCloudApplication', 'KindDNSResolution', 'KindFile', 'KindFileHash', 'KindHost', 'KindIP', 'KindMalware', 'KindProcess', 'KindRegistryKey', 'KindRegistryValue', 'KindSecurityAlert', 'KindSecurityGroup', 'KindURL' + Kind KindBasicEntity `json:"kind,omitempty"` } -// Value returns the current value or a zero-initialized value if the -// iterator has advanced beyond the end of the collection. -func (iter OperationsListIterator) Value() Operation { - if !iter.page.NotDone() { - return Operation{} +// MarshalJSON is the custom marshaler for SecurityGroupEntity. +func (sge SecurityGroupEntity) MarshalJSON() ([]byte, error) { + sge.Kind = KindSecurityGroup + objectMap := make(map[string]interface{}) + if sge.SecurityGroupEntityProperties != nil { + objectMap["properties"] = sge.SecurityGroupEntityProperties } - return iter.page.Values()[iter.i] + if sge.Kind != "" { + objectMap["kind"] = sge.Kind + } + return json.Marshal(objectMap) } -// Creates a new instance of the OperationsListIterator type. -func NewOperationsListIterator(page OperationsListPage) OperationsListIterator { - return OperationsListIterator{page: page} +// AsAccountEntity is the BasicEntity implementation for SecurityGroupEntity. +func (sge SecurityGroupEntity) AsAccountEntity() (*AccountEntity, bool) { + return nil, false } -// IsEmpty returns true if the ListResult contains no values. -func (ol OperationsList) IsEmpty() bool { - return ol.Value == nil || len(*ol.Value) == 0 +// AsAzureResourceEntity is the BasicEntity implementation for SecurityGroupEntity. +func (sge SecurityGroupEntity) AsAzureResourceEntity() (*AzureResourceEntity, bool) { + return nil, false } -// operationsListPreparer prepares a request to retrieve the next set of results. -// It returns nil if no more results exist. -func (ol OperationsList) operationsListPreparer(ctx context.Context) (*http.Request, error) { - if ol.NextLink == nil || len(to.String(ol.NextLink)) < 1 { - return nil, nil - } - return autorest.Prepare((&http.Request{}).WithContext(ctx), - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(ol.NextLink))) +// AsCloudApplicationEntity is the BasicEntity implementation for SecurityGroupEntity. +func (sge SecurityGroupEntity) AsCloudApplicationEntity() (*CloudApplicationEntity, bool) { + return nil, false } -// OperationsListPage contains a page of Operation values. -type OperationsListPage struct { - fn func(context.Context, OperationsList) (OperationsList, error) - ol OperationsList +// AsDNSEntity is the BasicEntity implementation for SecurityGroupEntity. +func (sge SecurityGroupEntity) AsDNSEntity() (*DNSEntity, bool) { + return nil, false } -// NextWithContext advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -func (page *OperationsListPage) NextWithContext(ctx context.Context) (err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/OperationsListPage.NextWithContext") - defer func() { - sc := -1 - if page.Response().Response.Response != nil { - sc = page.Response().Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - next, err := page.fn(ctx, page.ol) - if err != nil { - return err - } - page.ol = next - return nil +// AsFileEntity is the BasicEntity implementation for SecurityGroupEntity. +func (sge SecurityGroupEntity) AsFileEntity() (*FileEntity, bool) { + return nil, false } -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -// Deprecated: Use NextWithContext() instead. -func (page *OperationsListPage) Next() error { - return page.NextWithContext(context.Background()) +// AsFileHashEntity is the BasicEntity implementation for SecurityGroupEntity. +func (sge SecurityGroupEntity) AsFileHashEntity() (*FileHashEntity, bool) { + return nil, false } -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page OperationsListPage) NotDone() bool { - return !page.ol.IsEmpty() +// AsHostEntity is the BasicEntity implementation for SecurityGroupEntity. +func (sge SecurityGroupEntity) AsHostEntity() (*HostEntity, bool) { + return nil, false } -// Response returns the raw server response from the last page request. -func (page OperationsListPage) Response() OperationsList { - return page.ol +// AsIPEntity is the BasicEntity implementation for SecurityGroupEntity. +func (sge SecurityGroupEntity) AsIPEntity() (*IPEntity, bool) { + return nil, false } -// Values returns the slice of values for the current page or nil if there are no values. -func (page OperationsListPage) Values() []Operation { - if page.ol.IsEmpty() { - return nil - } - return *page.ol.Value +// AsMalwareEntity is the BasicEntity implementation for SecurityGroupEntity. +func (sge SecurityGroupEntity) AsMalwareEntity() (*MalwareEntity, bool) { + return nil, false } -// Creates a new instance of the OperationsListPage type. -func NewOperationsListPage(getNextPage func(context.Context, OperationsList) (OperationsList, error)) OperationsListPage { - return OperationsListPage{fn: getNextPage} +// AsProcessEntity is the BasicEntity implementation for SecurityGroupEntity. +func (sge SecurityGroupEntity) AsProcessEntity() (*ProcessEntity, bool) { + return nil, false } -// Resource an azure resource object -type Resource struct { - // ID - READ-ONLY; Azure resource Id - ID *string `json:"id,omitempty"` - // Type - READ-ONLY; Azure resource type - Type *string `json:"type,omitempty"` - // Name - READ-ONLY; Azure resource name - Name *string `json:"name,omitempty"` +// AsRegistryKeyEntity is the BasicEntity implementation for SecurityGroupEntity. +func (sge SecurityGroupEntity) AsRegistryKeyEntity() (*RegistryKeyEntity, bool) { + return nil, false } -// ScheduledAlertRule represents scheduled alert rule. -type ScheduledAlertRule struct { - // ScheduledAlertRuleProperties - Scheduled alert rule properties - *ScheduledAlertRuleProperties `json:"properties,omitempty"` - // ID - READ-ONLY; Azure resource Id - ID *string `json:"id,omitempty"` - // Type - READ-ONLY; Azure resource type - Type *string `json:"type,omitempty"` - // Name - READ-ONLY; Azure resource name - Name *string `json:"name,omitempty"` - // Etag - Etag of the alert rule. - Etag *string `json:"etag,omitempty"` - // Kind - Possible values include: 'KindAlertRule', 'KindScheduled' - Kind Kind `json:"kind,omitempty"` +// AsRegistryValueEntity is the BasicEntity implementation for SecurityGroupEntity. +func (sge SecurityGroupEntity) AsRegistryValueEntity() (*RegistryValueEntity, bool) { + return nil, false } -// MarshalJSON is the custom marshaler for ScheduledAlertRule. -func (sar ScheduledAlertRule) MarshalJSON() ([]byte, error) { - sar.Kind = KindScheduled - objectMap := make(map[string]interface{}) - if sar.ScheduledAlertRuleProperties != nil { - objectMap["properties"] = sar.ScheduledAlertRuleProperties - } - if sar.Etag != nil { - objectMap["etag"] = sar.Etag - } - if sar.Kind != "" { - objectMap["kind"] = sar.Kind - } - return json.Marshal(objectMap) +// AsSecurityAlert is the BasicEntity implementation for SecurityGroupEntity. +func (sge SecurityGroupEntity) AsSecurityAlert() (*SecurityAlert, bool) { + return nil, false } -// AsScheduledAlertRule is the BasicAlertRule implementation for ScheduledAlertRule. -func (sar ScheduledAlertRule) AsScheduledAlertRule() (*ScheduledAlertRule, bool) { - return &sar, true +// AsSecurityGroupEntity is the BasicEntity implementation for SecurityGroupEntity. +func (sge SecurityGroupEntity) AsSecurityGroupEntity() (*SecurityGroupEntity, bool) { + return &sge, true } -// AsAlertRule is the BasicAlertRule implementation for ScheduledAlertRule. -func (sar ScheduledAlertRule) AsAlertRule() (*AlertRule, bool) { +// AsURLEntity is the BasicEntity implementation for SecurityGroupEntity. +func (sge SecurityGroupEntity) AsURLEntity() (*URLEntity, bool) { return nil, false } -// AsBasicAlertRule is the BasicAlertRule implementation for ScheduledAlertRule. -func (sar ScheduledAlertRule) AsBasicAlertRule() (BasicAlertRule, bool) { - return &sar, true +// AsEntity is the BasicEntity implementation for SecurityGroupEntity. +func (sge SecurityGroupEntity) AsEntity() (*Entity, bool) { + return nil, false } -// UnmarshalJSON is the custom unmarshaler for ScheduledAlertRule struct. -func (sar *ScheduledAlertRule) UnmarshalJSON(body []byte) error { +// AsBasicEntity is the BasicEntity implementation for SecurityGroupEntity. +func (sge SecurityGroupEntity) AsBasicEntity() (BasicEntity, bool) { + return &sge, true +} + +// UnmarshalJSON is the custom unmarshaler for SecurityGroupEntity struct. +func (sge *SecurityGroupEntity) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -4630,12 +9839,12 @@ func (sar *ScheduledAlertRule) UnmarshalJSON(body []byte) error { switch k { case "properties": if v != nil { - var scheduledAlertRuleProperties ScheduledAlertRuleProperties - err = json.Unmarshal(*v, &scheduledAlertRuleProperties) + var securityGroupEntityProperties SecurityGroupEntityProperties + err = json.Unmarshal(*v, &securityGroupEntityProperties) if err != nil { return err } - sar.ScheduledAlertRuleProperties = &scheduledAlertRuleProperties + sge.SecurityGroupEntityProperties = &securityGroupEntityProperties } case "id": if v != nil { @@ -4644,16 +9853,7 @@ func (sar *ScheduledAlertRule) UnmarshalJSON(body []byte) error { if err != nil { return err } - sar.ID = &ID - } - case "type": - if v != nil { - var typeVar string - err = json.Unmarshal(*v, &typeVar) - if err != nil { - return err - } - sar.Type = &typeVar + sge.ID = &ID } case "name": if v != nil { @@ -4662,25 +9862,25 @@ func (sar *ScheduledAlertRule) UnmarshalJSON(body []byte) error { if err != nil { return err } - sar.Name = &name + sge.Name = &name } - case "etag": + case "type": if v != nil { - var etag string - err = json.Unmarshal(*v, &etag) + var typeVar string + err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - sar.Etag = &etag + sge.Type = &typeVar } case "kind": if v != nil { - var kind Kind + var kind KindBasicEntity err = json.Unmarshal(*v, &kind) if err != nil { return err } - sar.Kind = kind + sge.Kind = kind } } } @@ -4688,38 +9888,30 @@ func (sar *ScheduledAlertRule) UnmarshalJSON(body []byte) error { return nil } -// ScheduledAlertRuleProperties alert rule property bag. -type ScheduledAlertRuleProperties struct { - // DisplayName - The display name for alerts created by this alert rule. - DisplayName *string `json:"displayName,omitempty"` - // Description - The description of the alert rule. - Description *string `json:"description,omitempty"` - // Severity - The severity for alerts created by this alert rule. Possible values include: 'High', 'Medium', 'Low', 'Informational' - Severity AlertSeverity `json:"severity,omitempty"` - // Enabled - Determines whether this alert rule is enabled or disabled. - Enabled *bool `json:"enabled,omitempty"` - // Query - The query that creates alerts for this rule. - Query *string `json:"query,omitempty"` - // QueryFrequency - The frequency (in ISO 8601 duration format) for this alert rule to run. - QueryFrequency *string `json:"queryFrequency,omitempty"` - // QueryPeriod - The period (in ISO 8601 duration format) that this alert rule looks at. - QueryPeriod *string `json:"queryPeriod,omitempty"` - // TriggerOperator - The operation against the threshold that triggers alert rule. Possible values include: 'GreaterThan', 'LessThan', 'Equal', 'NotEqual' - TriggerOperator TriggerOperator `json:"triggerOperator,omitempty"` - // TriggerThreshold - The threshold triggers this alert rule. - TriggerThreshold *int32 `json:"triggerThreshold,omitempty"` - // SuppressionEnabled - Determines whether the suppression for this alert rule is enabled or disabled. - SuppressionEnabled *bool `json:"suppressionEnabled,omitempty"` - // SuppressionDuration - The suppression (in ISO 8601 duration format) to wait since last time this alert rule been triggered. - SuppressionDuration *string `json:"suppressionDuration,omitempty"` - // LastModifiedUtc - READ-ONLY; The last time that this alert has been modified. - LastModifiedUtc *string `json:"lastModifiedUtc,omitempty"` +// SecurityGroupEntityProperties securityGroup entity property bag. +type SecurityGroupEntityProperties struct { + // DistinguishedName - READ-ONLY; The group distinguished name + DistinguishedName *string `json:"distinguishedName,omitempty"` + // ObjectGUID - READ-ONLY; A single-value attribute that is the unique identifier for the object, assigned by active directory. + ObjectGUID *uuid.UUID `json:"objectGuid,omitempty"` + // Sid - READ-ONLY; The SID attribute is a single-value attribute that specifies the security identifier (SID) of the group + Sid *string `json:"sid,omitempty"` + // AdditionalData - READ-ONLY; A bag of custom fields that should be part of the entity and will be presented to the user. + AdditionalData map[string]interface{} `json:"additionalData"` + // FriendlyName - READ-ONLY; The graph item display name which is a short humanly readable description of the graph item instance. This property is optional and might be system generated. + FriendlyName *string `json:"friendlyName,omitempty"` +} + +// MarshalJSON is the custom marshaler for SecurityGroupEntityProperties. +func (sgep SecurityGroupEntityProperties) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + return json.Marshal(objectMap) } // BasicSettings the Setting. type BasicSettings interface { - AsUebaSettings() (*UebaSettings, bool) AsToggleSettings() (*ToggleSettings, bool) + AsUebaSettings() (*UebaSettings, bool) AsSettings() (*Settings, bool) } @@ -4728,13 +9920,13 @@ type Settings struct { autorest.Response `json:"-"` // ID - READ-ONLY; Azure resource Id ID *string `json:"id,omitempty"` - // Type - READ-ONLY; Azure resource type - Type *string `json:"type,omitempty"` // Name - READ-ONLY; Azure resource name Name *string `json:"name,omitempty"` - // Etag - Etag of the alert rule. + // Type - READ-ONLY; Azure resource type + Type *string `json:"type,omitempty"` + // Etag - Etag of the azure resource Etag *string `json:"etag,omitempty"` - // Kind - Possible values include: 'KindSettings', 'KindUebaSettings', 'KindToggleSettings' + // Kind - Possible values include: 'KindSettings', 'KindToggleSettings', 'KindUebaSettings' Kind KindBasicSettings `json:"kind,omitempty"` } @@ -4746,14 +9938,14 @@ func unmarshalBasicSettings(body []byte) (BasicSettings, error) { } switch m["kind"] { - case string(KindUebaSettings): - var us UebaSettings - err := json.Unmarshal(body, &us) - return us, err case string(KindToggleSettings): var ts ToggleSettings err := json.Unmarshal(body, &ts) return ts, err + case string(KindUebaSettings): + var us UebaSettings + err := json.Unmarshal(body, &us) + return us, err default: var s Settings err := json.Unmarshal(body, &s) @@ -4792,13 +9984,13 @@ func (s Settings) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } -// AsUebaSettings is the BasicSettings implementation for Settings. -func (s Settings) AsUebaSettings() (*UebaSettings, bool) { +// AsToggleSettings is the BasicSettings implementation for Settings. +func (s Settings) AsToggleSettings() (*ToggleSettings, bool) { return nil, false } -// AsToggleSettings is the BasicSettings implementation for Settings. -func (s Settings) AsToggleSettings() (*ToggleSettings, bool) { +// AsUebaSettings is the BasicSettings implementation for Settings. +func (s Settings) AsUebaSettings() (*UebaSettings, bool) { return nil, false } @@ -4835,19 +10027,35 @@ func (sm *SettingsModel) UnmarshalJSON(body []byte) error { return nil } +// ThreatIntelligence threatIntelligence property bag. +type ThreatIntelligence struct { + // Confidence - READ-ONLY; Confidence (must be between 0 and 1) + Confidence *float64 `json:"confidence,omitempty"` + // ProviderName - READ-ONLY; Name of the provider from whom this Threat Intelligence information was received + ProviderName *string `json:"providerName,omitempty"` + // ReportLink - READ-ONLY; Report link + ReportLink *string `json:"reportLink,omitempty"` + // ThreatDescription - READ-ONLY; Threat description (free text) + ThreatDescription *string `json:"threatDescription,omitempty"` + // ThreatName - READ-ONLY; Threat name (e.g. "Jedobot malware") + ThreatName *string `json:"threatName,omitempty"` + // ThreatType - READ-ONLY; Threat type (e.g. "Botnet") + ThreatType *string `json:"threatType,omitempty"` +} + // TIDataConnector represents threat intelligence data connector. type TIDataConnector struct { // TIDataConnectorProperties - TI (Threat Intelligence) data connector properties. *TIDataConnectorProperties `json:"properties,omitempty"` // ID - READ-ONLY; Azure resource Id ID *string `json:"id,omitempty"` - // Type - READ-ONLY; Azure resource type - Type *string `json:"type,omitempty"` // Name - READ-ONLY; Azure resource name Name *string `json:"name,omitempty"` - // Etag - Etag of the data connector. + // Type - READ-ONLY; Azure resource type + Type *string `json:"type,omitempty"` + // Etag - Etag of the azure resource Etag *string `json:"etag,omitempty"` - // Kind - Possible values include: 'KindDataConnector', 'KindOffice365', 'KindThreatIntelligence', 'KindAmazonWebServicesCloudTrail', 'KindAzureActiveDirectory', 'KindAzureSecurityCenter', 'KindMicrosoftCloudAppSecurity', 'KindAzureAdvancedThreatProtection', 'KindMicrosoftDefenderAdvancedThreatProtection' + // Kind - Possible values include: 'KindDataConnector', 'KindAzureActiveDirectory', 'KindAzureAdvancedThreatProtection', 'KindAzureSecurityCenter', 'KindAmazonWebServicesCloudTrail', 'KindMicrosoftCloudAppSecurity', 'KindMicrosoftDefenderAdvancedThreatProtection', 'KindOffice365', 'KindThreatIntelligence' Kind KindBasicDataConnector `json:"kind,omitempty"` } @@ -4867,28 +10075,23 @@ func (tdc TIDataConnector) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } -// AsOfficeDataConnector is the BasicDataConnector implementation for TIDataConnector. -func (tdc TIDataConnector) AsOfficeDataConnector() (*OfficeDataConnector, bool) { +// AsAADDataConnector is the BasicDataConnector implementation for TIDataConnector. +func (tdc TIDataConnector) AsAADDataConnector() (*AADDataConnector, bool) { return nil, false } -// AsTIDataConnector is the BasicDataConnector implementation for TIDataConnector. -func (tdc TIDataConnector) AsTIDataConnector() (*TIDataConnector, bool) { - return &tdc, true -} - -// AsAwsCloudTrailDataConnector is the BasicDataConnector implementation for TIDataConnector. -func (tdc TIDataConnector) AsAwsCloudTrailDataConnector() (*AwsCloudTrailDataConnector, bool) { +// AsAATPDataConnector is the BasicDataConnector implementation for TIDataConnector. +func (tdc TIDataConnector) AsAATPDataConnector() (*AATPDataConnector, bool) { return nil, false } -// AsAADDataConnector is the BasicDataConnector implementation for TIDataConnector. -func (tdc TIDataConnector) AsAADDataConnector() (*AADDataConnector, bool) { +// AsASCDataConnector is the BasicDataConnector implementation for TIDataConnector. +func (tdc TIDataConnector) AsASCDataConnector() (*ASCDataConnector, bool) { return nil, false } -// AsASCDataConnector is the BasicDataConnector implementation for TIDataConnector. -func (tdc TIDataConnector) AsASCDataConnector() (*ASCDataConnector, bool) { +// AsAwsCloudTrailDataConnector is the BasicDataConnector implementation for TIDataConnector. +func (tdc TIDataConnector) AsAwsCloudTrailDataConnector() (*AwsCloudTrailDataConnector, bool) { return nil, false } @@ -4897,16 +10100,21 @@ func (tdc TIDataConnector) AsMCASDataConnector() (*MCASDataConnector, bool) { return nil, false } -// AsAATPDataConnector is the BasicDataConnector implementation for TIDataConnector. -func (tdc TIDataConnector) AsAATPDataConnector() (*AATPDataConnector, bool) { +// AsMDATPDataConnector is the BasicDataConnector implementation for TIDataConnector. +func (tdc TIDataConnector) AsMDATPDataConnector() (*MDATPDataConnector, bool) { return nil, false } -// AsMDATPDataConnector is the BasicDataConnector implementation for TIDataConnector. -func (tdc TIDataConnector) AsMDATPDataConnector() (*MDATPDataConnector, bool) { +// AsOfficeDataConnector is the BasicDataConnector implementation for TIDataConnector. +func (tdc TIDataConnector) AsOfficeDataConnector() (*OfficeDataConnector, bool) { return nil, false } +// AsTIDataConnector is the BasicDataConnector implementation for TIDataConnector. +func (tdc TIDataConnector) AsTIDataConnector() (*TIDataConnector, bool) { + return &tdc, true +} + // AsDataConnector is the BasicDataConnector implementation for TIDataConnector. func (tdc TIDataConnector) AsDataConnector() (*DataConnector, bool) { return nil, false @@ -4944,23 +10152,23 @@ func (tdc *TIDataConnector) UnmarshalJSON(body []byte) error { } tdc.ID = &ID } - case "type": + case "name": if v != nil { - var typeVar string - err = json.Unmarshal(*v, &typeVar) + var name string + err = json.Unmarshal(*v, &name) if err != nil { return err } - tdc.Type = &typeVar + tdc.Name = &name } - case "name": + case "type": if v != nil { - var name string - err = json.Unmarshal(*v, &name) + var typeVar string + err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - tdc.Name = &name + tdc.Type = &typeVar } case "etag": if v != nil { @@ -5012,13 +10220,13 @@ type ToggleSettings struct { *ToggleSettingsProperties `json:"properties,omitempty"` // ID - READ-ONLY; Azure resource Id ID *string `json:"id,omitempty"` - // Type - READ-ONLY; Azure resource type - Type *string `json:"type,omitempty"` // Name - READ-ONLY; Azure resource name Name *string `json:"name,omitempty"` - // Etag - Etag of the alert rule. + // Type - READ-ONLY; Azure resource type + Type *string `json:"type,omitempty"` + // Etag - Etag of the azure resource Etag *string `json:"etag,omitempty"` - // Kind - Possible values include: 'KindSettings', 'KindUebaSettings', 'KindToggleSettings' + // Kind - Possible values include: 'KindSettings', 'KindToggleSettings', 'KindUebaSettings' Kind KindBasicSettings `json:"kind,omitempty"` } @@ -5038,16 +10246,16 @@ func (ts ToggleSettings) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } -// AsUebaSettings is the BasicSettings implementation for ToggleSettings. -func (ts ToggleSettings) AsUebaSettings() (*UebaSettings, bool) { - return nil, false -} - // AsToggleSettings is the BasicSettings implementation for ToggleSettings. func (ts ToggleSettings) AsToggleSettings() (*ToggleSettings, bool) { return &ts, true } +// AsUebaSettings is the BasicSettings implementation for ToggleSettings. +func (ts ToggleSettings) AsUebaSettings() (*UebaSettings, bool) { + return nil, false +} + // AsSettings is the BasicSettings implementation for ToggleSettings. func (ts ToggleSettings) AsSettings() (*Settings, bool) { return nil, false @@ -5085,23 +10293,23 @@ func (ts *ToggleSettings) UnmarshalJSON(body []byte) error { } ts.ID = &ID } - case "type": + case "name": if v != nil { - var typeVar string - err = json.Unmarshal(*v, &typeVar) + var name string + err = json.Unmarshal(*v, &name) if err != nil { return err } - ts.Type = &typeVar + ts.Name = &name } - case "name": + case "type": if v != nil { - var name string - err = json.Unmarshal(*v, &name) + var typeVar string + err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - ts.Name = &name + ts.Type = &typeVar } case "etag": if v != nil { @@ -5139,13 +10347,13 @@ type UebaSettings struct { *UebaSettingsProperties `json:"properties,omitempty"` // ID - READ-ONLY; Azure resource Id ID *string `json:"id,omitempty"` - // Type - READ-ONLY; Azure resource type - Type *string `json:"type,omitempty"` // Name - READ-ONLY; Azure resource name Name *string `json:"name,omitempty"` - // Etag - Etag of the alert rule. + // Type - READ-ONLY; Azure resource type + Type *string `json:"type,omitempty"` + // Etag - Etag of the azure resource Etag *string `json:"etag,omitempty"` - // Kind - Possible values include: 'KindSettings', 'KindUebaSettings', 'KindToggleSettings' + // Kind - Possible values include: 'KindSettings', 'KindToggleSettings', 'KindUebaSettings' Kind KindBasicSettings `json:"kind,omitempty"` } @@ -5165,16 +10373,16 @@ func (us UebaSettings) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } -// AsUebaSettings is the BasicSettings implementation for UebaSettings. -func (us UebaSettings) AsUebaSettings() (*UebaSettings, bool) { - return &us, true -} - // AsToggleSettings is the BasicSettings implementation for UebaSettings. func (us UebaSettings) AsToggleSettings() (*ToggleSettings, bool) { return nil, false } +// AsUebaSettings is the BasicSettings implementation for UebaSettings. +func (us UebaSettings) AsUebaSettings() (*UebaSettings, bool) { + return &us, true +} + // AsSettings is the BasicSettings implementation for UebaSettings. func (us UebaSettings) AsSettings() (*Settings, bool) { return nil, false @@ -5212,23 +10420,23 @@ func (us *UebaSettings) UnmarshalJSON(body []byte) error { } us.ID = &ID } - case "type": + case "name": if v != nil { - var typeVar string - err = json.Unmarshal(*v, &typeVar) + var name string + err = json.Unmarshal(*v, &name) if err != nil { return err } - us.Type = &typeVar + us.Name = &name } - case "name": + case "type": if v != nil { - var name string - err = json.Unmarshal(*v, &name) + var typeVar string + err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - us.Name = &name + us.Type = &typeVar } case "etag": if v != nil { @@ -5256,20 +10464,208 @@ func (us *UebaSettings) UnmarshalJSON(body []byte) error { // UebaSettingsProperties user and Entity Behavior Analytics settings property bag. type UebaSettingsProperties struct { + // AtpLicenseStatus - READ-ONLY; Determines whether the tenant has ATP (Advanced Threat Protection) license. Possible values include: 'LicenseStatusEnabled', 'LicenseStatusDisabled' + AtpLicenseStatus LicenseStatus `json:"atpLicenseStatus,omitempty"` // IsEnabled - Determines whether User and Entity Behavior Analytics is enabled for this workspace. IsEnabled *bool `json:"isEnabled,omitempty"` // StatusInMcas - READ-ONLY; Determines whether User and Entity Behavior Analytics is enabled from MCAS (Microsoft Cloud App Security). Possible values include: 'StatusInMcasEnabled', 'StatusInMcasDisabled' StatusInMcas StatusInMcas `json:"statusInMcas,omitempty"` - // AtpLicenseStatus - READ-ONLY; Determines whether the tenant has ATP (Advanced Threat Protection) license. Possible values include: 'LicenseStatusEnabled', 'LicenseStatusDisabled' - AtpLicenseStatus LicenseStatus `json:"atpLicenseStatus,omitempty"` +} + +// URLEntity represents a url entity. +type URLEntity struct { + // URLEntityProperties - Url entity properties + *URLEntityProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Azure resource Id + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Azure resource name + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Azure resource type + Type *string `json:"type,omitempty"` + // Kind - Possible values include: 'KindEntity', 'KindAccount', 'KindAzureResource', 'KindCloudApplication', 'KindDNSResolution', 'KindFile', 'KindFileHash', 'KindHost', 'KindIP', 'KindMalware', 'KindProcess', 'KindRegistryKey', 'KindRegistryValue', 'KindSecurityAlert', 'KindSecurityGroup', 'KindURL' + Kind KindBasicEntity `json:"kind,omitempty"` +} + +// MarshalJSON is the custom marshaler for URLEntity. +func (ue URLEntity) MarshalJSON() ([]byte, error) { + ue.Kind = KindURL + objectMap := make(map[string]interface{}) + if ue.URLEntityProperties != nil { + objectMap["properties"] = ue.URLEntityProperties + } + if ue.Kind != "" { + objectMap["kind"] = ue.Kind + } + return json.Marshal(objectMap) +} + +// AsAccountEntity is the BasicEntity implementation for URLEntity. +func (ue URLEntity) AsAccountEntity() (*AccountEntity, bool) { + return nil, false +} + +// AsAzureResourceEntity is the BasicEntity implementation for URLEntity. +func (ue URLEntity) AsAzureResourceEntity() (*AzureResourceEntity, bool) { + return nil, false +} + +// AsCloudApplicationEntity is the BasicEntity implementation for URLEntity. +func (ue URLEntity) AsCloudApplicationEntity() (*CloudApplicationEntity, bool) { + return nil, false +} + +// AsDNSEntity is the BasicEntity implementation for URLEntity. +func (ue URLEntity) AsDNSEntity() (*DNSEntity, bool) { + return nil, false +} + +// AsFileEntity is the BasicEntity implementation for URLEntity. +func (ue URLEntity) AsFileEntity() (*FileEntity, bool) { + return nil, false +} + +// AsFileHashEntity is the BasicEntity implementation for URLEntity. +func (ue URLEntity) AsFileHashEntity() (*FileHashEntity, bool) { + return nil, false +} + +// AsHostEntity is the BasicEntity implementation for URLEntity. +func (ue URLEntity) AsHostEntity() (*HostEntity, bool) { + return nil, false +} + +// AsIPEntity is the BasicEntity implementation for URLEntity. +func (ue URLEntity) AsIPEntity() (*IPEntity, bool) { + return nil, false +} + +// AsMalwareEntity is the BasicEntity implementation for URLEntity. +func (ue URLEntity) AsMalwareEntity() (*MalwareEntity, bool) { + return nil, false +} + +// AsProcessEntity is the BasicEntity implementation for URLEntity. +func (ue URLEntity) AsProcessEntity() (*ProcessEntity, bool) { + return nil, false +} + +// AsRegistryKeyEntity is the BasicEntity implementation for URLEntity. +func (ue URLEntity) AsRegistryKeyEntity() (*RegistryKeyEntity, bool) { + return nil, false +} + +// AsRegistryValueEntity is the BasicEntity implementation for URLEntity. +func (ue URLEntity) AsRegistryValueEntity() (*RegistryValueEntity, bool) { + return nil, false +} + +// AsSecurityAlert is the BasicEntity implementation for URLEntity. +func (ue URLEntity) AsSecurityAlert() (*SecurityAlert, bool) { + return nil, false +} + +// AsSecurityGroupEntity is the BasicEntity implementation for URLEntity. +func (ue URLEntity) AsSecurityGroupEntity() (*SecurityGroupEntity, bool) { + return nil, false +} + +// AsURLEntity is the BasicEntity implementation for URLEntity. +func (ue URLEntity) AsURLEntity() (*URLEntity, bool) { + return &ue, true +} + +// AsEntity is the BasicEntity implementation for URLEntity. +func (ue URLEntity) AsEntity() (*Entity, bool) { + return nil, false +} + +// AsBasicEntity is the BasicEntity implementation for URLEntity. +func (ue URLEntity) AsBasicEntity() (BasicEntity, bool) { + return &ue, true +} + +// UnmarshalJSON is the custom unmarshaler for URLEntity struct. +func (ue *URLEntity) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var URLEntityProperties URLEntityProperties + err = json.Unmarshal(*v, &URLEntityProperties) + if err != nil { + return err + } + ue.URLEntityProperties = &URLEntityProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + ue.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + ue.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ue.Type = &typeVar + } + case "kind": + if v != nil { + var kind KindBasicEntity + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + ue.Kind = kind + } + } + } + + return nil +} + +// URLEntityProperties url entity property bag. +type URLEntityProperties struct { + // URL - READ-ONLY; A full URL the entity points to + URL *string `json:"url,omitempty"` + // AdditionalData - READ-ONLY; A bag of custom fields that should be part of the entity and will be presented to the user. + AdditionalData map[string]interface{} `json:"additionalData"` + // FriendlyName - READ-ONLY; The graph item display name which is a short humanly readable description of the graph item instance. This property is optional and might be system generated. + FriendlyName *string `json:"friendlyName,omitempty"` +} + +// MarshalJSON is the custom marshaler for URLEntityProperties. +func (uep URLEntityProperties) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + return json.Marshal(objectMap) } // UserInfo user information that made some action type UserInfo struct { - // ObjectID - The object id of the user. - ObjectID *uuid.UUID `json:"objectId,omitempty"` - // Email - The email of the user. + // Email - READ-ONLY; The email of the user. Email *string `json:"email,omitempty"` - // Name - The name of the user. + // Name - READ-ONLY; The name of the user. Name *string `json:"name,omitempty"` + // ObjectID - The object id of the user. + ObjectID *uuid.UUID `json:"objectId,omitempty"` } diff --git a/services/preview/securityinsight/mgmt/2017-08-01-preview/securityinsight/securityinsightapi/interfaces.go b/services/preview/securityinsight/mgmt/2017-08-01-preview/securityinsight/securityinsightapi/interfaces.go index 80cadcd82ce4..9eb55b18db40 100644 --- a/services/preview/securityinsight/mgmt/2017-08-01-preview/securityinsight/securityinsightapi/interfaces.go +++ b/services/preview/securityinsight/mgmt/2017-08-01-preview/securityinsight/securityinsightapi/interfaces.go @@ -33,11 +33,11 @@ var _ OperationsClientAPI = (*securityinsight.OperationsClient)(nil) // AlertRulesClientAPI contains the set of methods on the AlertRulesClient type. type AlertRulesClientAPI interface { CreateOrUpdate(ctx context.Context, resourceGroupName string, operationalInsightsResourceProvider string, workspaceName string, ruleID string, alertRule securityinsight.BasicAlertRule) (result securityinsight.AlertRuleModel, err error) - CreateOrUpdateAction(ctx context.Context, resourceGroupName string, operationalInsightsResourceProvider string, workspaceName string, ruleID string, actionID string, action securityinsight.Action) (result securityinsight.Action, err error) + CreateOrUpdateAction(ctx context.Context, resourceGroupName string, operationalInsightsResourceProvider string, workspaceName string, ruleID string, actionID string, action securityinsight.ActionRequest) (result securityinsight.ActionResponse, err error) Delete(ctx context.Context, resourceGroupName string, operationalInsightsResourceProvider string, workspaceName string, ruleID string) (result autorest.Response, err error) DeleteAction(ctx context.Context, resourceGroupName string, operationalInsightsResourceProvider string, workspaceName string, ruleID string, actionID string) (result autorest.Response, err error) Get(ctx context.Context, resourceGroupName string, operationalInsightsResourceProvider string, workspaceName string, ruleID string) (result securityinsight.AlertRuleModel, err error) - GetAction(ctx context.Context, resourceGroupName string, operationalInsightsResourceProvider string, workspaceName string, ruleID string, actionID string) (result securityinsight.Action, err error) + GetAction(ctx context.Context, resourceGroupName string, operationalInsightsResourceProvider string, workspaceName string, ruleID string, actionID string) (result securityinsight.ActionResponse, err error) List(ctx context.Context, resourceGroupName string, operationalInsightsResourceProvider string, workspaceName string) (result securityinsight.AlertRulesListPage, err error) } @@ -50,16 +50,39 @@ type ActionsClientAPI interface { var _ ActionsClientAPI = (*securityinsight.ActionsClient)(nil) +// AlertRuleTemplatesClientAPI contains the set of methods on the AlertRuleTemplatesClient type. +type AlertRuleTemplatesClientAPI interface { + Get(ctx context.Context, resourceGroupName string, operationalInsightsResourceProvider string, workspaceName string, alertRuleTemplateID string) (result securityinsight.AlertRuleTemplateModel, err error) + List(ctx context.Context, resourceGroupName string, operationalInsightsResourceProvider string, workspaceName string) (result securityinsight.AlertRuleTemplatesListPage, err error) +} + +var _ AlertRuleTemplatesClientAPI = (*securityinsight.AlertRuleTemplatesClient)(nil) + // CasesClientAPI contains the set of methods on the CasesClient type. type CasesClientAPI interface { CreateOrUpdate(ctx context.Context, resourceGroupName string, operationalInsightsResourceProvider string, workspaceName string, caseID string, caseParameter securityinsight.Case) (result securityinsight.Case, err error) Delete(ctx context.Context, resourceGroupName string, operationalInsightsResourceProvider string, workspaceName string, caseID string) (result autorest.Response, err error) Get(ctx context.Context, resourceGroupName string, operationalInsightsResourceProvider string, workspaceName string, caseID string) (result securityinsight.Case, err error) - List(ctx context.Context, resourceGroupName string, operationalInsightsResourceProvider string, workspaceName string) (result securityinsight.CaseListPage, err error) + GetComment(ctx context.Context, resourceGroupName string, operationalInsightsResourceProvider string, workspaceName string, caseID string, caseCommentID string) (result securityinsight.CaseComment, err error) + List(ctx context.Context, resourceGroupName string, operationalInsightsResourceProvider string, workspaceName string, filter string, orderby string, top *int32, skipToken string) (result securityinsight.CaseListPage, err error) } var _ CasesClientAPI = (*securityinsight.CasesClient)(nil) +// CommentsClientAPI contains the set of methods on the CommentsClient type. +type CommentsClientAPI interface { + ListByCase(ctx context.Context, resourceGroupName string, operationalInsightsResourceProvider string, workspaceName string, caseID string, filter string, orderby string, top *int32, skipToken string) (result securityinsight.CaseCommentListPage, err error) +} + +var _ CommentsClientAPI = (*securityinsight.CommentsClient)(nil) + +// CaseCommentsClientAPI contains the set of methods on the CaseCommentsClient type. +type CaseCommentsClientAPI interface { + CreateComment(ctx context.Context, resourceGroupName string, operationalInsightsResourceProvider string, workspaceName string, caseID string, caseCommentID string, caseComment securityinsight.CaseComment) (result securityinsight.CaseComment, err error) +} + +var _ CaseCommentsClientAPI = (*securityinsight.CaseCommentsClient)(nil) + // BookmarksClientAPI contains the set of methods on the BookmarksClient type. type BookmarksClientAPI interface { CreateOrUpdate(ctx context.Context, resourceGroupName string, operationalInsightsResourceProvider string, workspaceName string, bookmarkID string, bookmark securityinsight.Bookmark) (result securityinsight.Bookmark, err error) @@ -70,6 +93,26 @@ type BookmarksClientAPI interface { var _ BookmarksClientAPI = (*securityinsight.BookmarksClient)(nil) +// CaseRelationsClientAPI contains the set of methods on the CaseRelationsClient type. +type CaseRelationsClientAPI interface { + CreateOrUpdateRelation(ctx context.Context, resourceGroupName string, operationalInsightsResourceProvider string, workspaceName string, caseID string, relationName string, relationInputModel securityinsight.RelationsModelInput) (result securityinsight.CaseRelation, err error) + DeleteRelation(ctx context.Context, resourceGroupName string, operationalInsightsResourceProvider string, workspaceName string, caseID string, relationName string) (result autorest.Response, err error) + GetRelation(ctx context.Context, resourceGroupName string, operationalInsightsResourceProvider string, workspaceName string, caseID string, relationName string) (result securityinsight.CaseRelation, err error) + List(ctx context.Context, resourceGroupName string, operationalInsightsResourceProvider string, workspaceName string, caseID string, filter string, orderby string, top *int32, skipToken string) (result securityinsight.CaseRelationListPage, err error) +} + +var _ CaseRelationsClientAPI = (*securityinsight.CaseRelationsClient)(nil) + +// BookmarkRelationsClientAPI contains the set of methods on the BookmarkRelationsClient type. +type BookmarkRelationsClientAPI interface { + CreateOrUpdateRelation(ctx context.Context, resourceGroupName string, operationalInsightsResourceProvider string, workspaceName string, bookmarkID string, relationName string, relationInputModel securityinsight.RelationsModelInput) (result securityinsight.BookmarkRelation, err error) + DeleteRelation(ctx context.Context, resourceGroupName string, operationalInsightsResourceProvider string, workspaceName string, bookmarkID string, relationName string) (result autorest.Response, err error) + GetRelation(ctx context.Context, resourceGroupName string, operationalInsightsResourceProvider string, workspaceName string, bookmarkID string, relationName string) (result securityinsight.BookmarkRelation, err error) + List(ctx context.Context, resourceGroupName string, operationalInsightsResourceProvider string, workspaceName string, bookmarkID string, filter string, orderby string, top *int32, skipToken string) (result securityinsight.BookmarkRelationListPage, err error) +} + +var _ BookmarkRelationsClientAPI = (*securityinsight.BookmarkRelationsClient)(nil) + // DataConnectorsClientAPI contains the set of methods on the DataConnectorsClient type. type DataConnectorsClientAPI interface { CreateOrUpdate(ctx context.Context, resourceGroupName string, operationalInsightsResourceProvider string, workspaceName string, dataConnectorID string, dataConnector securityinsight.BasicDataConnector) (result securityinsight.DataConnectorModel, err error) @@ -82,6 +125,7 @@ var _ DataConnectorsClientAPI = (*securityinsight.DataConnectorsClient)(nil) // EntitiesClientAPI contains the set of methods on the EntitiesClient type. type EntitiesClientAPI interface { + Expand(ctx context.Context, resourceGroupName string, operationalInsightsResourceProvider string, workspaceName string, entityID string, parameters securityinsight.EntityExpandParameters) (result securityinsight.EntityExpandResponse, err error) Get(ctx context.Context, resourceGroupName string, operationalInsightsResourceProvider string, workspaceName string, entityID string) (result securityinsight.EntityModel, err error) List(ctx context.Context, resourceGroupName string, operationalInsightsResourceProvider string, workspaceName string) (result securityinsight.EntityListPage, err error) } diff --git a/services/preview/servicefabric/mgmt/2019-03-01/servicefabric/applications.go b/services/preview/servicefabric/mgmt/2019-03-01/servicefabric/applications.go deleted file mode 100644 index 6fa4e1a8c9a5..000000000000 --- a/services/preview/servicefabric/mgmt/2019-03-01/servicefabric/applications.go +++ /dev/null @@ -1,441 +0,0 @@ -package servicefabric - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/tracing" - "net/http" -) - -// ApplicationsClient is the service Fabric Management Client -type ApplicationsClient struct { - BaseClient -} - -// NewApplicationsClient creates an instance of the ApplicationsClient client. -func NewApplicationsClient(subscriptionID string) ApplicationsClient { - return NewApplicationsClientWithBaseURI(DefaultBaseURI, subscriptionID) -} - -// NewApplicationsClientWithBaseURI creates an instance of the ApplicationsClient client. -func NewApplicationsClientWithBaseURI(baseURI string, subscriptionID string) ApplicationsClient { - return ApplicationsClient{NewWithBaseURI(baseURI, subscriptionID)} -} - -// Create create or update a Service Fabric application resource with the specified name. -// Parameters: -// resourceGroupName - the name of the resource group. -// clusterName - the name of the cluster resource. -// applicationName - the name of the application resource. -// parameters - the application resource. -func (client ApplicationsClient) Create(ctx context.Context, resourceGroupName string, clusterName string, applicationName string, parameters ApplicationResource) (result ApplicationsCreateFuture, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationsClient.Create") - defer func() { - sc := -1 - if result.Response() != nil { - sc = result.Response().StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - req, err := client.CreatePreparer(ctx, resourceGroupName, clusterName, applicationName, parameters) - if err != nil { - err = autorest.NewErrorWithError(err, "servicefabric.ApplicationsClient", "Create", nil, "Failure preparing request") - return - } - - result, err = client.CreateSender(req) - if err != nil { - err = autorest.NewErrorWithError(err, "servicefabric.ApplicationsClient", "Create", result.Response(), "Failure sending request") - return - } - - return -} - -// CreatePreparer prepares the Create request. -func (client ApplicationsClient) CreatePreparer(ctx context.Context, resourceGroupName string, clusterName string, applicationName string, parameters ApplicationResource) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "applicationName": autorest.Encode("path", applicationName), - "clusterName": autorest.Encode("path", clusterName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2019-03-01-preview" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; charset=utf-8"), - autorest.AsPut(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applications/{applicationName}", pathParameters), - autorest.WithJSON(parameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// CreateSender sends the Create request. The method will close the -// http.Response Body if it receives an error. -func (client ApplicationsClient) CreateSender(req *http.Request) (future ApplicationsCreateFuture, err error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - var resp *http.Response - resp, err = autorest.SendWithSender(client, req, sd...) - if err != nil { - return - } - future.Future, err = azure.NewFutureFromResponse(resp) - return -} - -// CreateResponder handles the response to the Create request. The method always -// closes the http.Response Body. -func (client ApplicationsClient) CreateResponder(resp *http.Response) (result ApplicationResource, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// Delete delete a Service Fabric application resource with the specified name. -// Parameters: -// resourceGroupName - the name of the resource group. -// clusterName - the name of the cluster resource. -// applicationName - the name of the application resource. -func (client ApplicationsClient) Delete(ctx context.Context, resourceGroupName string, clusterName string, applicationName string) (result ApplicationsDeleteFuture, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationsClient.Delete") - defer func() { - sc := -1 - if result.Response() != nil { - sc = result.Response().StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - req, err := client.DeletePreparer(ctx, resourceGroupName, clusterName, applicationName) - if err != nil { - err = autorest.NewErrorWithError(err, "servicefabric.ApplicationsClient", "Delete", nil, "Failure preparing request") - return - } - - result, err = client.DeleteSender(req) - if err != nil { - err = autorest.NewErrorWithError(err, "servicefabric.ApplicationsClient", "Delete", result.Response(), "Failure sending request") - return - } - - return -} - -// DeletePreparer prepares the Delete request. -func (client ApplicationsClient) DeletePreparer(ctx context.Context, resourceGroupName string, clusterName string, applicationName string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "applicationName": autorest.Encode("path", applicationName), - "clusterName": autorest.Encode("path", clusterName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2019-03-01-preview" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsDelete(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applications/{applicationName}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DeleteSender sends the Delete request. The method will close the -// http.Response Body if it receives an error. -func (client ApplicationsClient) DeleteSender(req *http.Request) (future ApplicationsDeleteFuture, err error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - var resp *http.Response - resp, err = autorest.SendWithSender(client, req, sd...) - if err != nil { - return - } - future.Future, err = azure.NewFutureFromResponse(resp) - return -} - -// DeleteResponder handles the response to the Delete request. The method always -// closes the http.Response Body. -func (client ApplicationsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), - autorest.ByClosing()) - result.Response = resp - return -} - -// Get get a Service Fabric application resource created or in the process of being created in the Service Fabric -// cluster resource. -// Parameters: -// resourceGroupName - the name of the resource group. -// clusterName - the name of the cluster resource. -// applicationName - the name of the application resource. -func (client ApplicationsClient) Get(ctx context.Context, resourceGroupName string, clusterName string, applicationName string) (result ApplicationResource, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationsClient.Get") - defer func() { - sc := -1 - if result.Response.Response != nil { - sc = result.Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - req, err := client.GetPreparer(ctx, resourceGroupName, clusterName, applicationName) - if err != nil { - err = autorest.NewErrorWithError(err, "servicefabric.ApplicationsClient", "Get", nil, "Failure preparing request") - return - } - - resp, err := client.GetSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "servicefabric.ApplicationsClient", "Get", resp, "Failure sending request") - return - } - - result, err = client.GetResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "servicefabric.ApplicationsClient", "Get", resp, "Failure responding to request") - } - - return -} - -// GetPreparer prepares the Get request. -func (client ApplicationsClient) GetPreparer(ctx context.Context, resourceGroupName string, clusterName string, applicationName string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "applicationName": autorest.Encode("path", applicationName), - "clusterName": autorest.Encode("path", clusterName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2019-03-01-preview" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applications/{applicationName}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetSender sends the Get request. The method will close the -// http.Response Body if it receives an error. -func (client ApplicationsClient) GetSender(req *http.Request) (*http.Response, error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - return autorest.SendWithSender(client, req, sd...) -} - -// GetResponder handles the response to the Get request. The method always -// closes the http.Response Body. -func (client ApplicationsClient) GetResponder(resp *http.Response) (result ApplicationResource, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// List gets all application resources created or in the process of being created in the Service Fabric cluster -// resource. -// Parameters: -// resourceGroupName - the name of the resource group. -// clusterName - the name of the cluster resource. -func (client ApplicationsClient) List(ctx context.Context, resourceGroupName string, clusterName string) (result ApplicationResourceList, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationsClient.List") - defer func() { - sc := -1 - if result.Response.Response != nil { - sc = result.Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - req, err := client.ListPreparer(ctx, resourceGroupName, clusterName) - if err != nil { - err = autorest.NewErrorWithError(err, "servicefabric.ApplicationsClient", "List", nil, "Failure preparing request") - return - } - - resp, err := client.ListSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "servicefabric.ApplicationsClient", "List", resp, "Failure sending request") - return - } - - result, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "servicefabric.ApplicationsClient", "List", resp, "Failure responding to request") - } - - return -} - -// ListPreparer prepares the List request. -func (client ApplicationsClient) ListPreparer(ctx context.Context, resourceGroupName string, clusterName string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "clusterName": autorest.Encode("path", clusterName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2019-03-01-preview" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applications", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListSender sends the List request. The method will close the -// http.Response Body if it receives an error. -func (client ApplicationsClient) ListSender(req *http.Request) (*http.Response, error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - return autorest.SendWithSender(client, req, sd...) -} - -// ListResponder handles the response to the List request. The method always -// closes the http.Response Body. -func (client ApplicationsClient) ListResponder(resp *http.Response) (result ApplicationResourceList, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// Update update a Service Fabric application resource with the specified name. -// Parameters: -// resourceGroupName - the name of the resource group. -// clusterName - the name of the cluster resource. -// applicationName - the name of the application resource. -// parameters - the application resource for patch operations. -func (client ApplicationsClient) Update(ctx context.Context, resourceGroupName string, clusterName string, applicationName string, parameters ApplicationResourceUpdate) (result ApplicationsUpdateFuture, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationsClient.Update") - defer func() { - sc := -1 - if result.Response() != nil { - sc = result.Response().StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - req, err := client.UpdatePreparer(ctx, resourceGroupName, clusterName, applicationName, parameters) - if err != nil { - err = autorest.NewErrorWithError(err, "servicefabric.ApplicationsClient", "Update", nil, "Failure preparing request") - return - } - - result, err = client.UpdateSender(req) - if err != nil { - err = autorest.NewErrorWithError(err, "servicefabric.ApplicationsClient", "Update", result.Response(), "Failure sending request") - return - } - - return -} - -// UpdatePreparer prepares the Update request. -func (client ApplicationsClient) UpdatePreparer(ctx context.Context, resourceGroupName string, clusterName string, applicationName string, parameters ApplicationResourceUpdate) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "applicationName": autorest.Encode("path", applicationName), - "clusterName": autorest.Encode("path", clusterName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2019-03-01-preview" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; charset=utf-8"), - autorest.AsPatch(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applications/{applicationName}", pathParameters), - autorest.WithJSON(parameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// UpdateSender sends the Update request. The method will close the -// http.Response Body if it receives an error. -func (client ApplicationsClient) UpdateSender(req *http.Request) (future ApplicationsUpdateFuture, err error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - var resp *http.Response - resp, err = autorest.SendWithSender(client, req, sd...) - if err != nil { - return - } - future.Future, err = azure.NewFutureFromResponse(resp) - return -} - -// UpdateResponder handles the response to the Update request. The method always -// closes the http.Response Body. -func (client ApplicationsClient) UpdateResponder(resp *http.Response) (result ApplicationResource, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} diff --git a/services/preview/servicefabric/mgmt/2019-03-01/servicefabric/applicationtypes.go b/services/preview/servicefabric/mgmt/2019-03-01/servicefabric/applicationtypes.go deleted file mode 100644 index 6e7d97a9a721..000000000000 --- a/services/preview/servicefabric/mgmt/2019-03-01/servicefabric/applicationtypes.go +++ /dev/null @@ -1,359 +0,0 @@ -package servicefabric - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/tracing" - "net/http" -) - -// ApplicationTypesClient is the service Fabric Management Client -type ApplicationTypesClient struct { - BaseClient -} - -// NewApplicationTypesClient creates an instance of the ApplicationTypesClient client. -func NewApplicationTypesClient(subscriptionID string) ApplicationTypesClient { - return NewApplicationTypesClientWithBaseURI(DefaultBaseURI, subscriptionID) -} - -// NewApplicationTypesClientWithBaseURI creates an instance of the ApplicationTypesClient client. -func NewApplicationTypesClientWithBaseURI(baseURI string, subscriptionID string) ApplicationTypesClient { - return ApplicationTypesClient{NewWithBaseURI(baseURI, subscriptionID)} -} - -// Create create or update a Service Fabric application type name resource with the specified name. -// Parameters: -// resourceGroupName - the name of the resource group. -// clusterName - the name of the cluster resource. -// applicationTypeName - the name of the application type name resource. -// parameters - the application type name resource. -func (client ApplicationTypesClient) Create(ctx context.Context, resourceGroupName string, clusterName string, applicationTypeName string, parameters ApplicationTypeResource) (result ApplicationTypeResource, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationTypesClient.Create") - defer func() { - sc := -1 - if result.Response.Response != nil { - sc = result.Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - req, err := client.CreatePreparer(ctx, resourceGroupName, clusterName, applicationTypeName, parameters) - if err != nil { - err = autorest.NewErrorWithError(err, "servicefabric.ApplicationTypesClient", "Create", nil, "Failure preparing request") - return - } - - resp, err := client.CreateSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "servicefabric.ApplicationTypesClient", "Create", resp, "Failure sending request") - return - } - - result, err = client.CreateResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "servicefabric.ApplicationTypesClient", "Create", resp, "Failure responding to request") - } - - return -} - -// CreatePreparer prepares the Create request. -func (client ApplicationTypesClient) CreatePreparer(ctx context.Context, resourceGroupName string, clusterName string, applicationTypeName string, parameters ApplicationTypeResource) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "applicationTypeName": autorest.Encode("path", applicationTypeName), - "clusterName": autorest.Encode("path", clusterName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2019-03-01-preview" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; charset=utf-8"), - autorest.AsPut(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applicationTypes/{applicationTypeName}", pathParameters), - autorest.WithJSON(parameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// CreateSender sends the Create request. The method will close the -// http.Response Body if it receives an error. -func (client ApplicationTypesClient) CreateSender(req *http.Request) (*http.Response, error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - return autorest.SendWithSender(client, req, sd...) -} - -// CreateResponder handles the response to the Create request. The method always -// closes the http.Response Body. -func (client ApplicationTypesClient) CreateResponder(resp *http.Response) (result ApplicationTypeResource, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// Delete delete a Service Fabric application type name resource with the specified name. -// Parameters: -// resourceGroupName - the name of the resource group. -// clusterName - the name of the cluster resource. -// applicationTypeName - the name of the application type name resource. -func (client ApplicationTypesClient) Delete(ctx context.Context, resourceGroupName string, clusterName string, applicationTypeName string) (result ApplicationTypesDeleteFuture, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationTypesClient.Delete") - defer func() { - sc := -1 - if result.Response() != nil { - sc = result.Response().StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - req, err := client.DeletePreparer(ctx, resourceGroupName, clusterName, applicationTypeName) - if err != nil { - err = autorest.NewErrorWithError(err, "servicefabric.ApplicationTypesClient", "Delete", nil, "Failure preparing request") - return - } - - result, err = client.DeleteSender(req) - if err != nil { - err = autorest.NewErrorWithError(err, "servicefabric.ApplicationTypesClient", "Delete", result.Response(), "Failure sending request") - return - } - - return -} - -// DeletePreparer prepares the Delete request. -func (client ApplicationTypesClient) DeletePreparer(ctx context.Context, resourceGroupName string, clusterName string, applicationTypeName string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "applicationTypeName": autorest.Encode("path", applicationTypeName), - "clusterName": autorest.Encode("path", clusterName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2019-03-01-preview" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsDelete(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applicationTypes/{applicationTypeName}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DeleteSender sends the Delete request. The method will close the -// http.Response Body if it receives an error. -func (client ApplicationTypesClient) DeleteSender(req *http.Request) (future ApplicationTypesDeleteFuture, err error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - var resp *http.Response - resp, err = autorest.SendWithSender(client, req, sd...) - if err != nil { - return - } - future.Future, err = azure.NewFutureFromResponse(resp) - return -} - -// DeleteResponder handles the response to the Delete request. The method always -// closes the http.Response Body. -func (client ApplicationTypesClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), - autorest.ByClosing()) - result.Response = resp - return -} - -// Get get a Service Fabric application type name resource created or in the process of being created in the Service -// Fabric cluster resource. -// Parameters: -// resourceGroupName - the name of the resource group. -// clusterName - the name of the cluster resource. -// applicationTypeName - the name of the application type name resource. -func (client ApplicationTypesClient) Get(ctx context.Context, resourceGroupName string, clusterName string, applicationTypeName string) (result ApplicationTypeResource, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationTypesClient.Get") - defer func() { - sc := -1 - if result.Response.Response != nil { - sc = result.Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - req, err := client.GetPreparer(ctx, resourceGroupName, clusterName, applicationTypeName) - if err != nil { - err = autorest.NewErrorWithError(err, "servicefabric.ApplicationTypesClient", "Get", nil, "Failure preparing request") - return - } - - resp, err := client.GetSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "servicefabric.ApplicationTypesClient", "Get", resp, "Failure sending request") - return - } - - result, err = client.GetResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "servicefabric.ApplicationTypesClient", "Get", resp, "Failure responding to request") - } - - return -} - -// GetPreparer prepares the Get request. -func (client ApplicationTypesClient) GetPreparer(ctx context.Context, resourceGroupName string, clusterName string, applicationTypeName string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "applicationTypeName": autorest.Encode("path", applicationTypeName), - "clusterName": autorest.Encode("path", clusterName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2019-03-01-preview" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applicationTypes/{applicationTypeName}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetSender sends the Get request. The method will close the -// http.Response Body if it receives an error. -func (client ApplicationTypesClient) GetSender(req *http.Request) (*http.Response, error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - return autorest.SendWithSender(client, req, sd...) -} - -// GetResponder handles the response to the Get request. The method always -// closes the http.Response Body. -func (client ApplicationTypesClient) GetResponder(resp *http.Response) (result ApplicationTypeResource, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// List gets all application type name resources created or in the process of being created in the Service Fabric -// cluster resource. -// Parameters: -// resourceGroupName - the name of the resource group. -// clusterName - the name of the cluster resource. -func (client ApplicationTypesClient) List(ctx context.Context, resourceGroupName string, clusterName string) (result ApplicationTypeResourceList, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationTypesClient.List") - defer func() { - sc := -1 - if result.Response.Response != nil { - sc = result.Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - req, err := client.ListPreparer(ctx, resourceGroupName, clusterName) - if err != nil { - err = autorest.NewErrorWithError(err, "servicefabric.ApplicationTypesClient", "List", nil, "Failure preparing request") - return - } - - resp, err := client.ListSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "servicefabric.ApplicationTypesClient", "List", resp, "Failure sending request") - return - } - - result, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "servicefabric.ApplicationTypesClient", "List", resp, "Failure responding to request") - } - - return -} - -// ListPreparer prepares the List request. -func (client ApplicationTypesClient) ListPreparer(ctx context.Context, resourceGroupName string, clusterName string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "clusterName": autorest.Encode("path", clusterName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2019-03-01-preview" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applicationTypes", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListSender sends the List request. The method will close the -// http.Response Body if it receives an error. -func (client ApplicationTypesClient) ListSender(req *http.Request) (*http.Response, error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - return autorest.SendWithSender(client, req, sd...) -} - -// ListResponder handles the response to the List request. The method always -// closes the http.Response Body. -func (client ApplicationTypesClient) ListResponder(resp *http.Response) (result ApplicationTypeResourceList, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} diff --git a/services/preview/servicefabric/mgmt/2019-03-01/servicefabric/applicationtypeversions.go b/services/preview/servicefabric/mgmt/2019-03-01/servicefabric/applicationtypeversions.go deleted file mode 100644 index b9a1c3476dc9..000000000000 --- a/services/preview/servicefabric/mgmt/2019-03-01/servicefabric/applicationtypeversions.go +++ /dev/null @@ -1,375 +0,0 @@ -package servicefabric - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/autorest/validation" - "github.com/Azure/go-autorest/tracing" - "net/http" -) - -// ApplicationTypeVersionsClient is the service Fabric Management Client -type ApplicationTypeVersionsClient struct { - BaseClient -} - -// NewApplicationTypeVersionsClient creates an instance of the ApplicationTypeVersionsClient client. -func NewApplicationTypeVersionsClient(subscriptionID string) ApplicationTypeVersionsClient { - return NewApplicationTypeVersionsClientWithBaseURI(DefaultBaseURI, subscriptionID) -} - -// NewApplicationTypeVersionsClientWithBaseURI creates an instance of the ApplicationTypeVersionsClient client. -func NewApplicationTypeVersionsClientWithBaseURI(baseURI string, subscriptionID string) ApplicationTypeVersionsClient { - return ApplicationTypeVersionsClient{NewWithBaseURI(baseURI, subscriptionID)} -} - -// Create create or update a Service Fabric application type version resource with the specified name. -// Parameters: -// resourceGroupName - the name of the resource group. -// clusterName - the name of the cluster resource. -// applicationTypeName - the name of the application type name resource. -// version - the application type version. -// parameters - the application type version resource. -func (client ApplicationTypeVersionsClient) Create(ctx context.Context, resourceGroupName string, clusterName string, applicationTypeName string, version string, parameters ApplicationTypeVersionResource) (result ApplicationTypeVersionsCreateFuture, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationTypeVersionsClient.Create") - defer func() { - sc := -1 - if result.Response() != nil { - sc = result.Response().StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - if err := validation.Validate([]validation.Validation{ - {TargetValue: parameters, - Constraints: []validation.Constraint{{Target: "parameters.ApplicationTypeVersionResourceProperties", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "parameters.ApplicationTypeVersionResourceProperties.AppPackageURL", Name: validation.Null, Rule: true, Chain: nil}}}}}}); err != nil { - return result, validation.NewError("servicefabric.ApplicationTypeVersionsClient", "Create", err.Error()) - } - - req, err := client.CreatePreparer(ctx, resourceGroupName, clusterName, applicationTypeName, version, parameters) - if err != nil { - err = autorest.NewErrorWithError(err, "servicefabric.ApplicationTypeVersionsClient", "Create", nil, "Failure preparing request") - return - } - - result, err = client.CreateSender(req) - if err != nil { - err = autorest.NewErrorWithError(err, "servicefabric.ApplicationTypeVersionsClient", "Create", result.Response(), "Failure sending request") - return - } - - return -} - -// CreatePreparer prepares the Create request. -func (client ApplicationTypeVersionsClient) CreatePreparer(ctx context.Context, resourceGroupName string, clusterName string, applicationTypeName string, version string, parameters ApplicationTypeVersionResource) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "applicationTypeName": autorest.Encode("path", applicationTypeName), - "clusterName": autorest.Encode("path", clusterName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - "version": autorest.Encode("path", version), - } - - const APIVersion = "2019-03-01-preview" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; charset=utf-8"), - autorest.AsPut(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applicationTypes/{applicationTypeName}/versions/{version}", pathParameters), - autorest.WithJSON(parameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// CreateSender sends the Create request. The method will close the -// http.Response Body if it receives an error. -func (client ApplicationTypeVersionsClient) CreateSender(req *http.Request) (future ApplicationTypeVersionsCreateFuture, err error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - var resp *http.Response - resp, err = autorest.SendWithSender(client, req, sd...) - if err != nil { - return - } - future.Future, err = azure.NewFutureFromResponse(resp) - return -} - -// CreateResponder handles the response to the Create request. The method always -// closes the http.Response Body. -func (client ApplicationTypeVersionsClient) CreateResponder(resp *http.Response) (result ApplicationTypeVersionResource, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// Delete delete a Service Fabric application type version resource with the specified name. -// Parameters: -// resourceGroupName - the name of the resource group. -// clusterName - the name of the cluster resource. -// applicationTypeName - the name of the application type name resource. -// version - the application type version. -func (client ApplicationTypeVersionsClient) Delete(ctx context.Context, resourceGroupName string, clusterName string, applicationTypeName string, version string) (result ApplicationTypeVersionsDeleteFuture, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationTypeVersionsClient.Delete") - defer func() { - sc := -1 - if result.Response() != nil { - sc = result.Response().StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - req, err := client.DeletePreparer(ctx, resourceGroupName, clusterName, applicationTypeName, version) - if err != nil { - err = autorest.NewErrorWithError(err, "servicefabric.ApplicationTypeVersionsClient", "Delete", nil, "Failure preparing request") - return - } - - result, err = client.DeleteSender(req) - if err != nil { - err = autorest.NewErrorWithError(err, "servicefabric.ApplicationTypeVersionsClient", "Delete", result.Response(), "Failure sending request") - return - } - - return -} - -// DeletePreparer prepares the Delete request. -func (client ApplicationTypeVersionsClient) DeletePreparer(ctx context.Context, resourceGroupName string, clusterName string, applicationTypeName string, version string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "applicationTypeName": autorest.Encode("path", applicationTypeName), - "clusterName": autorest.Encode("path", clusterName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - "version": autorest.Encode("path", version), - } - - const APIVersion = "2019-03-01-preview" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsDelete(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applicationTypes/{applicationTypeName}/versions/{version}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DeleteSender sends the Delete request. The method will close the -// http.Response Body if it receives an error. -func (client ApplicationTypeVersionsClient) DeleteSender(req *http.Request) (future ApplicationTypeVersionsDeleteFuture, err error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - var resp *http.Response - resp, err = autorest.SendWithSender(client, req, sd...) - if err != nil { - return - } - future.Future, err = azure.NewFutureFromResponse(resp) - return -} - -// DeleteResponder handles the response to the Delete request. The method always -// closes the http.Response Body. -func (client ApplicationTypeVersionsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), - autorest.ByClosing()) - result.Response = resp - return -} - -// Get get a Service Fabric application type version resource created or in the process of being created in the Service -// Fabric application type name resource. -// Parameters: -// resourceGroupName - the name of the resource group. -// clusterName - the name of the cluster resource. -// applicationTypeName - the name of the application type name resource. -// version - the application type version. -func (client ApplicationTypeVersionsClient) Get(ctx context.Context, resourceGroupName string, clusterName string, applicationTypeName string, version string) (result ApplicationTypeVersionResource, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationTypeVersionsClient.Get") - defer func() { - sc := -1 - if result.Response.Response != nil { - sc = result.Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - req, err := client.GetPreparer(ctx, resourceGroupName, clusterName, applicationTypeName, version) - if err != nil { - err = autorest.NewErrorWithError(err, "servicefabric.ApplicationTypeVersionsClient", "Get", nil, "Failure preparing request") - return - } - - resp, err := client.GetSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "servicefabric.ApplicationTypeVersionsClient", "Get", resp, "Failure sending request") - return - } - - result, err = client.GetResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "servicefabric.ApplicationTypeVersionsClient", "Get", resp, "Failure responding to request") - } - - return -} - -// GetPreparer prepares the Get request. -func (client ApplicationTypeVersionsClient) GetPreparer(ctx context.Context, resourceGroupName string, clusterName string, applicationTypeName string, version string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "applicationTypeName": autorest.Encode("path", applicationTypeName), - "clusterName": autorest.Encode("path", clusterName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - "version": autorest.Encode("path", version), - } - - const APIVersion = "2019-03-01-preview" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applicationTypes/{applicationTypeName}/versions/{version}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetSender sends the Get request. The method will close the -// http.Response Body if it receives an error. -func (client ApplicationTypeVersionsClient) GetSender(req *http.Request) (*http.Response, error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - return autorest.SendWithSender(client, req, sd...) -} - -// GetResponder handles the response to the Get request. The method always -// closes the http.Response Body. -func (client ApplicationTypeVersionsClient) GetResponder(resp *http.Response) (result ApplicationTypeVersionResource, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// List gets all application type version resources created or in the process of being created in the Service Fabric -// application type name resource. -// Parameters: -// resourceGroupName - the name of the resource group. -// clusterName - the name of the cluster resource. -// applicationTypeName - the name of the application type name resource. -func (client ApplicationTypeVersionsClient) List(ctx context.Context, resourceGroupName string, clusterName string, applicationTypeName string) (result ApplicationTypeVersionResourceList, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationTypeVersionsClient.List") - defer func() { - sc := -1 - if result.Response.Response != nil { - sc = result.Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - req, err := client.ListPreparer(ctx, resourceGroupName, clusterName, applicationTypeName) - if err != nil { - err = autorest.NewErrorWithError(err, "servicefabric.ApplicationTypeVersionsClient", "List", nil, "Failure preparing request") - return - } - - resp, err := client.ListSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "servicefabric.ApplicationTypeVersionsClient", "List", resp, "Failure sending request") - return - } - - result, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "servicefabric.ApplicationTypeVersionsClient", "List", resp, "Failure responding to request") - } - - return -} - -// ListPreparer prepares the List request. -func (client ApplicationTypeVersionsClient) ListPreparer(ctx context.Context, resourceGroupName string, clusterName string, applicationTypeName string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "applicationTypeName": autorest.Encode("path", applicationTypeName), - "clusterName": autorest.Encode("path", clusterName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2019-03-01-preview" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applicationTypes/{applicationTypeName}/versions", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListSender sends the List request. The method will close the -// http.Response Body if it receives an error. -func (client ApplicationTypeVersionsClient) ListSender(req *http.Request) (*http.Response, error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - return autorest.SendWithSender(client, req, sd...) -} - -// ListResponder handles the response to the List request. The method always -// closes the http.Response Body. -func (client ApplicationTypeVersionsClient) ListResponder(resp *http.Response) (result ApplicationTypeVersionResourceList, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} diff --git a/services/preview/servicefabric/mgmt/2019-03-01/servicefabric/client.go b/services/preview/servicefabric/mgmt/2019-03-01/servicefabric/client.go deleted file mode 100644 index 0563316480f8..000000000000 --- a/services/preview/servicefabric/mgmt/2019-03-01/servicefabric/client.go +++ /dev/null @@ -1,51 +0,0 @@ -// Package servicefabric implements the Azure ARM Servicefabric service API version 2019-03-01-preview. -// -// Service Fabric Management Client -package servicefabric - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "github.com/Azure/go-autorest/autorest" -) - -const ( - // DefaultBaseURI is the default URI used for the service Servicefabric - DefaultBaseURI = "https://management.azure.com" -) - -// BaseClient is the base client for Servicefabric. -type BaseClient struct { - autorest.Client - BaseURI string - SubscriptionID string -} - -// New creates an instance of the BaseClient client. -func New(subscriptionID string) BaseClient { - return NewWithBaseURI(DefaultBaseURI, subscriptionID) -} - -// NewWithBaseURI creates an instance of the BaseClient client. -func NewWithBaseURI(baseURI string, subscriptionID string) BaseClient { - return BaseClient{ - Client: autorest.NewClientWithUserAgent(UserAgent()), - BaseURI: baseURI, - SubscriptionID: subscriptionID, - } -} diff --git a/services/preview/servicefabric/mgmt/2019-03-01/servicefabric/clusters.go b/services/preview/servicefabric/mgmt/2019-03-01/servicefabric/clusters.go deleted file mode 100644 index 82e30df9d6d1..000000000000 --- a/services/preview/servicefabric/mgmt/2019-03-01/servicefabric/clusters.go +++ /dev/null @@ -1,557 +0,0 @@ -package servicefabric - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/autorest/validation" - "github.com/Azure/go-autorest/tracing" - "net/http" -) - -// ClustersClient is the service Fabric Management Client -type ClustersClient struct { - BaseClient -} - -// NewClustersClient creates an instance of the ClustersClient client. -func NewClustersClient(subscriptionID string) ClustersClient { - return NewClustersClientWithBaseURI(DefaultBaseURI, subscriptionID) -} - -// NewClustersClientWithBaseURI creates an instance of the ClustersClient client. -func NewClustersClientWithBaseURI(baseURI string, subscriptionID string) ClustersClient { - return ClustersClient{NewWithBaseURI(baseURI, subscriptionID)} -} - -// Create create or update a Service Fabric cluster resource with the specified name. -// Parameters: -// resourceGroupName - the name of the resource group. -// clusterName - the name of the cluster resource. -// parameters - the cluster resource. -func (client ClustersClient) Create(ctx context.Context, resourceGroupName string, clusterName string, parameters Cluster) (result ClustersCreateFuture, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/ClustersClient.Create") - defer func() { - sc := -1 - if result.Response() != nil { - sc = result.Response().StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - if err := validation.Validate([]validation.Validation{ - {TargetValue: parameters, - Constraints: []validation.Constraint{{Target: "parameters.ClusterProperties", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "parameters.ClusterProperties.Certificate", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "parameters.ClusterProperties.Certificate.Thumbprint", Name: validation.Null, Rule: true, Chain: nil}}}, - {Target: "parameters.ClusterProperties.DiagnosticsStorageAccountConfig", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "parameters.ClusterProperties.DiagnosticsStorageAccountConfig.StorageAccountName", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "parameters.ClusterProperties.DiagnosticsStorageAccountConfig.ProtectedAccountKeyName", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "parameters.ClusterProperties.DiagnosticsStorageAccountConfig.BlobEndpoint", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "parameters.ClusterProperties.DiagnosticsStorageAccountConfig.QueueEndpoint", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "parameters.ClusterProperties.DiagnosticsStorageAccountConfig.TableEndpoint", Name: validation.Null, Rule: true, Chain: nil}, - }}, - {Target: "parameters.ClusterProperties.ManagementEndpoint", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "parameters.ClusterProperties.NodeTypes", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "parameters.ClusterProperties.ReverseProxyCertificate", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "parameters.ClusterProperties.ReverseProxyCertificate.Thumbprint", Name: validation.Null, Rule: true, Chain: nil}}}, - {Target: "parameters.ClusterProperties.UpgradeDescription", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "parameters.ClusterProperties.UpgradeDescription.UpgradeReplicaSetCheckTimeout", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "parameters.ClusterProperties.UpgradeDescription.HealthCheckWaitDuration", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "parameters.ClusterProperties.UpgradeDescription.HealthCheckStableDuration", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "parameters.ClusterProperties.UpgradeDescription.HealthCheckRetryTimeout", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "parameters.ClusterProperties.UpgradeDescription.UpgradeTimeout", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "parameters.ClusterProperties.UpgradeDescription.UpgradeDomainTimeout", Name: validation.Null, Rule: true, Chain: nil}, - {Target: "parameters.ClusterProperties.UpgradeDescription.HealthPolicy", Name: validation.Null, Rule: true, - Chain: []validation.Constraint{{Target: "parameters.ClusterProperties.UpgradeDescription.HealthPolicy.MaxPercentUnhealthyNodes", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "parameters.ClusterProperties.UpgradeDescription.HealthPolicy.MaxPercentUnhealthyNodes", Name: validation.InclusiveMaximum, Rule: int64(100), Chain: nil}, - {Target: "parameters.ClusterProperties.UpgradeDescription.HealthPolicy.MaxPercentUnhealthyNodes", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}, - }}, - {Target: "parameters.ClusterProperties.UpgradeDescription.HealthPolicy.MaxPercentUnhealthyApplications", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "parameters.ClusterProperties.UpgradeDescription.HealthPolicy.MaxPercentUnhealthyApplications", Name: validation.InclusiveMaximum, Rule: int64(100), Chain: nil}, - {Target: "parameters.ClusterProperties.UpgradeDescription.HealthPolicy.MaxPercentUnhealthyApplications", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}, - }}, - }}, - {Target: "parameters.ClusterProperties.UpgradeDescription.DeltaHealthPolicy", Name: validation.Null, Rule: false, - Chain: []validation.Constraint{{Target: "parameters.ClusterProperties.UpgradeDescription.DeltaHealthPolicy.MaxPercentDeltaUnhealthyNodes", Name: validation.Null, Rule: true, - Chain: []validation.Constraint{{Target: "parameters.ClusterProperties.UpgradeDescription.DeltaHealthPolicy.MaxPercentDeltaUnhealthyNodes", Name: validation.InclusiveMaximum, Rule: int64(100), Chain: nil}, - {Target: "parameters.ClusterProperties.UpgradeDescription.DeltaHealthPolicy.MaxPercentDeltaUnhealthyNodes", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}, - }}, - {Target: "parameters.ClusterProperties.UpgradeDescription.DeltaHealthPolicy.MaxPercentUpgradeDomainDeltaUnhealthyNodes", Name: validation.Null, Rule: true, - Chain: []validation.Constraint{{Target: "parameters.ClusterProperties.UpgradeDescription.DeltaHealthPolicy.MaxPercentUpgradeDomainDeltaUnhealthyNodes", Name: validation.InclusiveMaximum, Rule: int64(100), Chain: nil}, - {Target: "parameters.ClusterProperties.UpgradeDescription.DeltaHealthPolicy.MaxPercentUpgradeDomainDeltaUnhealthyNodes", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}, - }}, - {Target: "parameters.ClusterProperties.UpgradeDescription.DeltaHealthPolicy.MaxPercentDeltaUnhealthyApplications", Name: validation.Null, Rule: true, - Chain: []validation.Constraint{{Target: "parameters.ClusterProperties.UpgradeDescription.DeltaHealthPolicy.MaxPercentDeltaUnhealthyApplications", Name: validation.InclusiveMaximum, Rule: int64(100), Chain: nil}, - {Target: "parameters.ClusterProperties.UpgradeDescription.DeltaHealthPolicy.MaxPercentDeltaUnhealthyApplications", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}, - }}, - }}, - }}, - }}}}}); err != nil { - return result, validation.NewError("servicefabric.ClustersClient", "Create", err.Error()) - } - - req, err := client.CreatePreparer(ctx, resourceGroupName, clusterName, parameters) - if err != nil { - err = autorest.NewErrorWithError(err, "servicefabric.ClustersClient", "Create", nil, "Failure preparing request") - return - } - - result, err = client.CreateSender(req) - if err != nil { - err = autorest.NewErrorWithError(err, "servicefabric.ClustersClient", "Create", result.Response(), "Failure sending request") - return - } - - return -} - -// CreatePreparer prepares the Create request. -func (client ClustersClient) CreatePreparer(ctx context.Context, resourceGroupName string, clusterName string, parameters Cluster) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "clusterName": autorest.Encode("path", clusterName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2019-03-01-preview" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; charset=utf-8"), - autorest.AsPut(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}", pathParameters), - autorest.WithJSON(parameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// CreateSender sends the Create request. The method will close the -// http.Response Body if it receives an error. -func (client ClustersClient) CreateSender(req *http.Request) (future ClustersCreateFuture, err error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - var resp *http.Response - resp, err = autorest.SendWithSender(client, req, sd...) - if err != nil { - return - } - future.Future, err = azure.NewFutureFromResponse(resp) - return -} - -// CreateResponder handles the response to the Create request. The method always -// closes the http.Response Body. -func (client ClustersClient) CreateResponder(resp *http.Response) (result Cluster, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// Delete delete a Service Fabric cluster resource with the specified name. -// Parameters: -// resourceGroupName - the name of the resource group. -// clusterName - the name of the cluster resource. -func (client ClustersClient) Delete(ctx context.Context, resourceGroupName string, clusterName string) (result autorest.Response, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/ClustersClient.Delete") - defer func() { - sc := -1 - if result.Response != nil { - sc = result.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - req, err := client.DeletePreparer(ctx, resourceGroupName, clusterName) - if err != nil { - err = autorest.NewErrorWithError(err, "servicefabric.ClustersClient", "Delete", nil, "Failure preparing request") - return - } - - resp, err := client.DeleteSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "servicefabric.ClustersClient", "Delete", resp, "Failure sending request") - return - } - - result, err = client.DeleteResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "servicefabric.ClustersClient", "Delete", resp, "Failure responding to request") - } - - return -} - -// DeletePreparer prepares the Delete request. -func (client ClustersClient) DeletePreparer(ctx context.Context, resourceGroupName string, clusterName string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "clusterName": autorest.Encode("path", clusterName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2019-03-01-preview" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsDelete(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DeleteSender sends the Delete request. The method will close the -// http.Response Body if it receives an error. -func (client ClustersClient) DeleteSender(req *http.Request) (*http.Response, error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - return autorest.SendWithSender(client, req, sd...) -} - -// DeleteResponder handles the response to the Delete request. The method always -// closes the http.Response Body. -func (client ClustersClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), - autorest.ByClosing()) - result.Response = resp - return -} - -// Get get a Service Fabric cluster resource created or in the process of being created in the specified resource -// group. -// Parameters: -// resourceGroupName - the name of the resource group. -// clusterName - the name of the cluster resource. -func (client ClustersClient) Get(ctx context.Context, resourceGroupName string, clusterName string) (result Cluster, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/ClustersClient.Get") - defer func() { - sc := -1 - if result.Response.Response != nil { - sc = result.Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - req, err := client.GetPreparer(ctx, resourceGroupName, clusterName) - if err != nil { - err = autorest.NewErrorWithError(err, "servicefabric.ClustersClient", "Get", nil, "Failure preparing request") - return - } - - resp, err := client.GetSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "servicefabric.ClustersClient", "Get", resp, "Failure sending request") - return - } - - result, err = client.GetResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "servicefabric.ClustersClient", "Get", resp, "Failure responding to request") - } - - return -} - -// GetPreparer prepares the Get request. -func (client ClustersClient) GetPreparer(ctx context.Context, resourceGroupName string, clusterName string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "clusterName": autorest.Encode("path", clusterName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2019-03-01-preview" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetSender sends the Get request. The method will close the -// http.Response Body if it receives an error. -func (client ClustersClient) GetSender(req *http.Request) (*http.Response, error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - return autorest.SendWithSender(client, req, sd...) -} - -// GetResponder handles the response to the Get request. The method always -// closes the http.Response Body. -func (client ClustersClient) GetResponder(resp *http.Response) (result Cluster, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// List gets all Service Fabric cluster resources created or in the process of being created in the subscription. -func (client ClustersClient) List(ctx context.Context) (result ClusterListResult, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/ClustersClient.List") - defer func() { - sc := -1 - if result.Response.Response != nil { - sc = result.Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - req, err := client.ListPreparer(ctx) - if err != nil { - err = autorest.NewErrorWithError(err, "servicefabric.ClustersClient", "List", nil, "Failure preparing request") - return - } - - resp, err := client.ListSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "servicefabric.ClustersClient", "List", resp, "Failure sending request") - return - } - - result, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "servicefabric.ClustersClient", "List", resp, "Failure responding to request") - } - - return -} - -// ListPreparer prepares the List request. -func (client ClustersClient) ListPreparer(ctx context.Context) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2019-03-01-preview" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.ServiceFabric/clusters", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListSender sends the List request. The method will close the -// http.Response Body if it receives an error. -func (client ClustersClient) ListSender(req *http.Request) (*http.Response, error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - return autorest.SendWithSender(client, req, sd...) -} - -// ListResponder handles the response to the List request. The method always -// closes the http.Response Body. -func (client ClustersClient) ListResponder(resp *http.Response) (result ClusterListResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// ListByResourceGroup gets all Service Fabric cluster resources created or in the process of being created in the -// resource group. -// Parameters: -// resourceGroupName - the name of the resource group. -func (client ClustersClient) ListByResourceGroup(ctx context.Context, resourceGroupName string) (result ClusterListResult, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/ClustersClient.ListByResourceGroup") - defer func() { - sc := -1 - if result.Response.Response != nil { - sc = result.Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - req, err := client.ListByResourceGroupPreparer(ctx, resourceGroupName) - if err != nil { - err = autorest.NewErrorWithError(err, "servicefabric.ClustersClient", "ListByResourceGroup", nil, "Failure preparing request") - return - } - - resp, err := client.ListByResourceGroupSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "servicefabric.ClustersClient", "ListByResourceGroup", resp, "Failure sending request") - return - } - - result, err = client.ListByResourceGroupResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "servicefabric.ClustersClient", "ListByResourceGroup", resp, "Failure responding to request") - } - - return -} - -// ListByResourceGroupPreparer prepares the ListByResourceGroup request. -func (client ClustersClient) ListByResourceGroupPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2019-03-01-preview" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListByResourceGroupSender sends the ListByResourceGroup request. The method will close the -// http.Response Body if it receives an error. -func (client ClustersClient) ListByResourceGroupSender(req *http.Request) (*http.Response, error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - return autorest.SendWithSender(client, req, sd...) -} - -// ListByResourceGroupResponder handles the response to the ListByResourceGroup request. The method always -// closes the http.Response Body. -func (client ClustersClient) ListByResourceGroupResponder(resp *http.Response) (result ClusterListResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// Update update the configuration of a Service Fabric cluster resource with the specified name. -// Parameters: -// resourceGroupName - the name of the resource group. -// clusterName - the name of the cluster resource. -// parameters - the parameters which contains the property value and property name which used to update the -// cluster configuration. -func (client ClustersClient) Update(ctx context.Context, resourceGroupName string, clusterName string, parameters ClusterUpdateParameters) (result ClustersUpdateFuture, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/ClustersClient.Update") - defer func() { - sc := -1 - if result.Response() != nil { - sc = result.Response().StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - req, err := client.UpdatePreparer(ctx, resourceGroupName, clusterName, parameters) - if err != nil { - err = autorest.NewErrorWithError(err, "servicefabric.ClustersClient", "Update", nil, "Failure preparing request") - return - } - - result, err = client.UpdateSender(req) - if err != nil { - err = autorest.NewErrorWithError(err, "servicefabric.ClustersClient", "Update", result.Response(), "Failure sending request") - return - } - - return -} - -// UpdatePreparer prepares the Update request. -func (client ClustersClient) UpdatePreparer(ctx context.Context, resourceGroupName string, clusterName string, parameters ClusterUpdateParameters) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "clusterName": autorest.Encode("path", clusterName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2019-03-01-preview" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; charset=utf-8"), - autorest.AsPatch(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}", pathParameters), - autorest.WithJSON(parameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// UpdateSender sends the Update request. The method will close the -// http.Response Body if it receives an error. -func (client ClustersClient) UpdateSender(req *http.Request) (future ClustersUpdateFuture, err error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - var resp *http.Response - resp, err = autorest.SendWithSender(client, req, sd...) - if err != nil { - return - } - future.Future, err = azure.NewFutureFromResponse(resp) - return -} - -// UpdateResponder handles the response to the Update request. The method always -// closes the http.Response Body. -func (client ClustersClient) UpdateResponder(resp *http.Response) (result Cluster, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} diff --git a/services/preview/servicefabric/mgmt/2019-03-01/servicefabric/clusterversions.go b/services/preview/servicefabric/mgmt/2019-03-01/servicefabric/clusterversions.go deleted file mode 100644 index 4bf841f027bc..000000000000 --- a/services/preview/servicefabric/mgmt/2019-03-01/servicefabric/clusterversions.go +++ /dev/null @@ -1,349 +0,0 @@ -package servicefabric - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/tracing" - "net/http" -) - -// ClusterVersionsClient is the service Fabric Management Client -type ClusterVersionsClient struct { - BaseClient -} - -// NewClusterVersionsClient creates an instance of the ClusterVersionsClient client. -func NewClusterVersionsClient(subscriptionID string) ClusterVersionsClient { - return NewClusterVersionsClientWithBaseURI(DefaultBaseURI, subscriptionID) -} - -// NewClusterVersionsClientWithBaseURI creates an instance of the ClusterVersionsClient client. -func NewClusterVersionsClientWithBaseURI(baseURI string, subscriptionID string) ClusterVersionsClient { - return ClusterVersionsClient{NewWithBaseURI(baseURI, subscriptionID)} -} - -// Get gets information about an available Service Fabric cluster code version. -// Parameters: -// location - the location for the cluster code versions. This is different from cluster location. -// clusterVersion - the cluster code version. -func (client ClusterVersionsClient) Get(ctx context.Context, location string, clusterVersion string) (result ClusterCodeVersionsListResult, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/ClusterVersionsClient.Get") - defer func() { - sc := -1 - if result.Response.Response != nil { - sc = result.Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - req, err := client.GetPreparer(ctx, location, clusterVersion) - if err != nil { - err = autorest.NewErrorWithError(err, "servicefabric.ClusterVersionsClient", "Get", nil, "Failure preparing request") - return - } - - resp, err := client.GetSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "servicefabric.ClusterVersionsClient", "Get", resp, "Failure sending request") - return - } - - result, err = client.GetResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "servicefabric.ClusterVersionsClient", "Get", resp, "Failure responding to request") - } - - return -} - -// GetPreparer prepares the Get request. -func (client ClusterVersionsClient) GetPreparer(ctx context.Context, location string, clusterVersion string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "clusterVersion": autorest.Encode("path", clusterVersion), - "location": autorest.Encode("path", location), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2019-03-01-preview" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.ServiceFabric/locations/{location}/clusterVersions/{clusterVersion}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetSender sends the Get request. The method will close the -// http.Response Body if it receives an error. -func (client ClusterVersionsClient) GetSender(req *http.Request) (*http.Response, error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - return autorest.SendWithSender(client, req, sd...) -} - -// GetResponder handles the response to the Get request. The method always -// closes the http.Response Body. -func (client ClusterVersionsClient) GetResponder(resp *http.Response) (result ClusterCodeVersionsListResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// GetByEnvironment gets information about an available Service Fabric cluster code version by environment. -// Parameters: -// location - the location for the cluster code versions. This is different from cluster location. -// environment - the operating system of the cluster. The default means all. -// clusterVersion - the cluster code version. -func (client ClusterVersionsClient) GetByEnvironment(ctx context.Context, location string, environment string, clusterVersion string) (result ClusterCodeVersionsListResult, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/ClusterVersionsClient.GetByEnvironment") - defer func() { - sc := -1 - if result.Response.Response != nil { - sc = result.Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - req, err := client.GetByEnvironmentPreparer(ctx, location, environment, clusterVersion) - if err != nil { - err = autorest.NewErrorWithError(err, "servicefabric.ClusterVersionsClient", "GetByEnvironment", nil, "Failure preparing request") - return - } - - resp, err := client.GetByEnvironmentSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "servicefabric.ClusterVersionsClient", "GetByEnvironment", resp, "Failure sending request") - return - } - - result, err = client.GetByEnvironmentResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "servicefabric.ClusterVersionsClient", "GetByEnvironment", resp, "Failure responding to request") - } - - return -} - -// GetByEnvironmentPreparer prepares the GetByEnvironment request. -func (client ClusterVersionsClient) GetByEnvironmentPreparer(ctx context.Context, location string, environment string, clusterVersion string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "clusterVersion": autorest.Encode("path", clusterVersion), - "environment": autorest.Encode("path", environment), - "location": autorest.Encode("path", location), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2019-03-01-preview" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.ServiceFabric/locations/{location}/environments/{environment}/clusterVersions/{clusterVersion}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetByEnvironmentSender sends the GetByEnvironment request. The method will close the -// http.Response Body if it receives an error. -func (client ClusterVersionsClient) GetByEnvironmentSender(req *http.Request) (*http.Response, error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - return autorest.SendWithSender(client, req, sd...) -} - -// GetByEnvironmentResponder handles the response to the GetByEnvironment request. The method always -// closes the http.Response Body. -func (client ClusterVersionsClient) GetByEnvironmentResponder(resp *http.Response) (result ClusterCodeVersionsListResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// List gets all available code versions for Service Fabric cluster resources by location. -// Parameters: -// location - the location for the cluster code versions. This is different from cluster location. -func (client ClusterVersionsClient) List(ctx context.Context, location string) (result ClusterCodeVersionsListResult, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/ClusterVersionsClient.List") - defer func() { - sc := -1 - if result.Response.Response != nil { - sc = result.Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - req, err := client.ListPreparer(ctx, location) - if err != nil { - err = autorest.NewErrorWithError(err, "servicefabric.ClusterVersionsClient", "List", nil, "Failure preparing request") - return - } - - resp, err := client.ListSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "servicefabric.ClusterVersionsClient", "List", resp, "Failure sending request") - return - } - - result, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "servicefabric.ClusterVersionsClient", "List", resp, "Failure responding to request") - } - - return -} - -// ListPreparer prepares the List request. -func (client ClusterVersionsClient) ListPreparer(ctx context.Context, location string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "location": autorest.Encode("path", location), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2019-03-01-preview" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.ServiceFabric/locations/{location}/clusterVersions", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListSender sends the List request. The method will close the -// http.Response Body if it receives an error. -func (client ClusterVersionsClient) ListSender(req *http.Request) (*http.Response, error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - return autorest.SendWithSender(client, req, sd...) -} - -// ListResponder handles the response to the List request. The method always -// closes the http.Response Body. -func (client ClusterVersionsClient) ListResponder(resp *http.Response) (result ClusterCodeVersionsListResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// ListByEnvironment gets all available code versions for Service Fabric cluster resources by environment. -// Parameters: -// location - the location for the cluster code versions. This is different from cluster location. -// environment - the operating system of the cluster. The default means all. -func (client ClusterVersionsClient) ListByEnvironment(ctx context.Context, location string, environment string) (result ClusterCodeVersionsListResult, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/ClusterVersionsClient.ListByEnvironment") - defer func() { - sc := -1 - if result.Response.Response != nil { - sc = result.Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - req, err := client.ListByEnvironmentPreparer(ctx, location, environment) - if err != nil { - err = autorest.NewErrorWithError(err, "servicefabric.ClusterVersionsClient", "ListByEnvironment", nil, "Failure preparing request") - return - } - - resp, err := client.ListByEnvironmentSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "servicefabric.ClusterVersionsClient", "ListByEnvironment", resp, "Failure sending request") - return - } - - result, err = client.ListByEnvironmentResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "servicefabric.ClusterVersionsClient", "ListByEnvironment", resp, "Failure responding to request") - } - - return -} - -// ListByEnvironmentPreparer prepares the ListByEnvironment request. -func (client ClusterVersionsClient) ListByEnvironmentPreparer(ctx context.Context, location string, environment string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "environment": autorest.Encode("path", environment), - "location": autorest.Encode("path", location), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2019-03-01-preview" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.ServiceFabric/locations/{location}/environments/{environment}/clusterVersions", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListByEnvironmentSender sends the ListByEnvironment request. The method will close the -// http.Response Body if it receives an error. -func (client ClusterVersionsClient) ListByEnvironmentSender(req *http.Request) (*http.Response, error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - return autorest.SendWithSender(client, req, sd...) -} - -// ListByEnvironmentResponder handles the response to the ListByEnvironment request. The method always -// closes the http.Response Body. -func (client ClusterVersionsClient) ListByEnvironmentResponder(resp *http.Response) (result ClusterCodeVersionsListResult, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} diff --git a/services/preview/servicefabric/mgmt/2019-03-01/servicefabric/models.go b/services/preview/servicefabric/mgmt/2019-03-01/servicefabric/models.go deleted file mode 100644 index 9543b19621a2..000000000000 --- a/services/preview/servicefabric/mgmt/2019-03-01/servicefabric/models.go +++ /dev/null @@ -1,4239 +0,0 @@ -package servicefabric - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "encoding/json" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/autorest/date" - "github.com/Azure/go-autorest/autorest/to" - "github.com/Azure/go-autorest/tracing" - "net/http" -) - -// The package's fully qualified name. -const fqdn = "github.com/Azure/azure-sdk-for-go/services/preview/servicefabric/mgmt/2019-03-01/servicefabric" - -// ArmServicePackageActivationMode enumerates the values for arm service package activation mode. -type ArmServicePackageActivationMode string - -const ( - // ExclusiveProcess Indicates the application package activation mode will use exclusive process. - ExclusiveProcess ArmServicePackageActivationMode = "ExclusiveProcess" - // SharedProcess Indicates the application package activation mode will use shared process. - SharedProcess ArmServicePackageActivationMode = "SharedProcess" -) - -// PossibleArmServicePackageActivationModeValues returns an array of possible values for the ArmServicePackageActivationMode const type. -func PossibleArmServicePackageActivationModeValues() []ArmServicePackageActivationMode { - return []ArmServicePackageActivationMode{ExclusiveProcess, SharedProcess} -} - -// ArmUpgradeFailureAction enumerates the values for arm upgrade failure action. -type ArmUpgradeFailureAction string - -const ( - // Manual Indicates that a manual repair will need to be performed by the administrator if the upgrade - // fails. Service Fabric will not proceed to the next upgrade domain automatically. - Manual ArmUpgradeFailureAction = "Manual" - // Rollback Indicates that a rollback of the upgrade will be performed by Service Fabric if the upgrade - // fails. - Rollback ArmUpgradeFailureAction = "Rollback" -) - -// PossibleArmUpgradeFailureActionValues returns an array of possible values for the ArmUpgradeFailureAction const type. -func PossibleArmUpgradeFailureActionValues() []ArmUpgradeFailureAction { - return []ArmUpgradeFailureAction{Manual, Rollback} -} - -// ClusterState enumerates the values for cluster state. -type ClusterState string - -const ( - // AutoScale ... - AutoScale ClusterState = "AutoScale" - // BaselineUpgrade ... - BaselineUpgrade ClusterState = "BaselineUpgrade" - // Deploying ... - Deploying ClusterState = "Deploying" - // EnforcingClusterVersion ... - EnforcingClusterVersion ClusterState = "EnforcingClusterVersion" - // Ready ... - Ready ClusterState = "Ready" - // UpdatingInfrastructure ... - UpdatingInfrastructure ClusterState = "UpdatingInfrastructure" - // UpdatingUserCertificate ... - UpdatingUserCertificate ClusterState = "UpdatingUserCertificate" - // UpdatingUserConfiguration ... - UpdatingUserConfiguration ClusterState = "UpdatingUserConfiguration" - // UpgradeServiceUnreachable ... - UpgradeServiceUnreachable ClusterState = "UpgradeServiceUnreachable" - // WaitingForNodes ... - WaitingForNodes ClusterState = "WaitingForNodes" -) - -// PossibleClusterStateValues returns an array of possible values for the ClusterState const type. -func PossibleClusterStateValues() []ClusterState { - return []ClusterState{AutoScale, BaselineUpgrade, Deploying, EnforcingClusterVersion, Ready, UpdatingInfrastructure, UpdatingUserCertificate, UpdatingUserConfiguration, UpgradeServiceUnreachable, WaitingForNodes} -} - -// DurabilityLevel enumerates the values for durability level. -type DurabilityLevel string - -const ( - // Bronze ... - Bronze DurabilityLevel = "Bronze" - // Gold ... - Gold DurabilityLevel = "Gold" - // Silver ... - Silver DurabilityLevel = "Silver" -) - -// PossibleDurabilityLevelValues returns an array of possible values for the DurabilityLevel const type. -func PossibleDurabilityLevelValues() []DurabilityLevel { - return []DurabilityLevel{Bronze, Gold, Silver} -} - -// Environment enumerates the values for environment. -type Environment string - -const ( - // Linux ... - Linux Environment = "Linux" - // Windows ... - Windows Environment = "Windows" -) - -// PossibleEnvironmentValues returns an array of possible values for the Environment const type. -func PossibleEnvironmentValues() []Environment { - return []Environment{Linux, Windows} -} - -// MoveCost enumerates the values for move cost. -type MoveCost string - -const ( - // High Specifies the move cost of the service as High. The value is 3. - High MoveCost = "High" - // Low Specifies the move cost of the service as Low. The value is 1. - Low MoveCost = "Low" - // Medium Specifies the move cost of the service as Medium. The value is 2. - Medium MoveCost = "Medium" - // Zero Zero move cost. This value is zero. - Zero MoveCost = "Zero" -) - -// PossibleMoveCostValues returns an array of possible values for the MoveCost const type. -func PossibleMoveCostValues() []MoveCost { - return []MoveCost{High, Low, Medium, Zero} -} - -// PartitionScheme enumerates the values for partition scheme. -type PartitionScheme string - -const ( - // Invalid Indicates the partition kind is invalid. All Service Fabric enumerations have the invalid type. - // The value is zero. - Invalid PartitionScheme = "Invalid" - // Named Indicates that the partition is based on string names, and is a NamedPartitionSchemeDescription - // object. The value is 3 - Named PartitionScheme = "Named" - // Singleton Indicates that the partition is based on string names, and is a - // SingletonPartitionSchemeDescription object, The value is 1. - Singleton PartitionScheme = "Singleton" - // UniformInt64Range Indicates that the partition is based on Int64 key ranges, and is a - // UniformInt64RangePartitionSchemeDescription object. The value is 2. - UniformInt64Range PartitionScheme = "UniformInt64Range" -) - -// PossiblePartitionSchemeValues returns an array of possible values for the PartitionScheme const type. -func PossiblePartitionSchemeValues() []PartitionScheme { - return []PartitionScheme{Invalid, Named, Singleton, UniformInt64Range} -} - -// PartitionSchemeBasicPartitionSchemeDescription enumerates the values for partition scheme basic partition -// scheme description. -type PartitionSchemeBasicPartitionSchemeDescription string - -const ( - // PartitionSchemeNamed ... - PartitionSchemeNamed PartitionSchemeBasicPartitionSchemeDescription = "Named" - // PartitionSchemePartitionSchemeDescription ... - PartitionSchemePartitionSchemeDescription PartitionSchemeBasicPartitionSchemeDescription = "PartitionSchemeDescription" - // PartitionSchemeSingleton ... - PartitionSchemeSingleton PartitionSchemeBasicPartitionSchemeDescription = "Singleton" - // PartitionSchemeUniformInt64Range ... - PartitionSchemeUniformInt64Range PartitionSchemeBasicPartitionSchemeDescription = "UniformInt64Range" -) - -// PossiblePartitionSchemeBasicPartitionSchemeDescriptionValues returns an array of possible values for the PartitionSchemeBasicPartitionSchemeDescription const type. -func PossiblePartitionSchemeBasicPartitionSchemeDescriptionValues() []PartitionSchemeBasicPartitionSchemeDescription { - return []PartitionSchemeBasicPartitionSchemeDescription{PartitionSchemeNamed, PartitionSchemePartitionSchemeDescription, PartitionSchemeSingleton, PartitionSchemeUniformInt64Range} -} - -// ProvisioningState enumerates the values for provisioning state. -type ProvisioningState string - -const ( - // Canceled ... - Canceled ProvisioningState = "Canceled" - // Failed ... - Failed ProvisioningState = "Failed" - // Succeeded ... - Succeeded ProvisioningState = "Succeeded" - // Updating ... - Updating ProvisioningState = "Updating" -) - -// PossibleProvisioningStateValues returns an array of possible values for the ProvisioningState const type. -func PossibleProvisioningStateValues() []ProvisioningState { - return []ProvisioningState{Canceled, Failed, Succeeded, Updating} -} - -// ReliabilityLevel enumerates the values for reliability level. -type ReliabilityLevel string - -const ( - // ReliabilityLevelBronze ... - ReliabilityLevelBronze ReliabilityLevel = "Bronze" - // ReliabilityLevelGold ... - ReliabilityLevelGold ReliabilityLevel = "Gold" - // ReliabilityLevelNone ... - ReliabilityLevelNone ReliabilityLevel = "None" - // ReliabilityLevelPlatinum ... - ReliabilityLevelPlatinum ReliabilityLevel = "Platinum" - // ReliabilityLevelSilver ... - ReliabilityLevelSilver ReliabilityLevel = "Silver" -) - -// PossibleReliabilityLevelValues returns an array of possible values for the ReliabilityLevel const type. -func PossibleReliabilityLevelValues() []ReliabilityLevel { - return []ReliabilityLevel{ReliabilityLevelBronze, ReliabilityLevelGold, ReliabilityLevelNone, ReliabilityLevelPlatinum, ReliabilityLevelSilver} -} - -// ReliabilityLevel1 enumerates the values for reliability level 1. -type ReliabilityLevel1 string - -const ( - // ReliabilityLevel1Bronze ... - ReliabilityLevel1Bronze ReliabilityLevel1 = "Bronze" - // ReliabilityLevel1Gold ... - ReliabilityLevel1Gold ReliabilityLevel1 = "Gold" - // ReliabilityLevel1None ... - ReliabilityLevel1None ReliabilityLevel1 = "None" - // ReliabilityLevel1Platinum ... - ReliabilityLevel1Platinum ReliabilityLevel1 = "Platinum" - // ReliabilityLevel1Silver ... - ReliabilityLevel1Silver ReliabilityLevel1 = "Silver" -) - -// PossibleReliabilityLevel1Values returns an array of possible values for the ReliabilityLevel1 const type. -func PossibleReliabilityLevel1Values() []ReliabilityLevel1 { - return []ReliabilityLevel1{ReliabilityLevel1Bronze, ReliabilityLevel1Gold, ReliabilityLevel1None, ReliabilityLevel1Platinum, ReliabilityLevel1Silver} -} - -// ServiceCorrelationScheme enumerates the values for service correlation scheme. -type ServiceCorrelationScheme string - -const ( - // ServiceCorrelationSchemeAffinity Indicates that this service has an affinity relationship with another - // service. Provided for backwards compatibility, consider preferring the Aligned or NonAlignedAffinity - // options. The value is 1. - ServiceCorrelationSchemeAffinity ServiceCorrelationScheme = "Affinity" - // ServiceCorrelationSchemeAlignedAffinity Aligned affinity ensures that the primaries of the partitions of - // the affinitized services are collocated on the same nodes. This is the default and is the same as - // selecting the Affinity scheme. The value is 2. - ServiceCorrelationSchemeAlignedAffinity ServiceCorrelationScheme = "AlignedAffinity" - // ServiceCorrelationSchemeInvalid An invalid correlation scheme. Cannot be used. The value is zero. - ServiceCorrelationSchemeInvalid ServiceCorrelationScheme = "Invalid" - // ServiceCorrelationSchemeNonAlignedAffinity Non-Aligned affinity guarantees that all replicas of each - // service will be placed on the same nodes. Unlike Aligned Affinity, this does not guarantee that replicas - // of particular role will be collocated. The value is 3. - ServiceCorrelationSchemeNonAlignedAffinity ServiceCorrelationScheme = "NonAlignedAffinity" -) - -// PossibleServiceCorrelationSchemeValues returns an array of possible values for the ServiceCorrelationScheme const type. -func PossibleServiceCorrelationSchemeValues() []ServiceCorrelationScheme { - return []ServiceCorrelationScheme{ServiceCorrelationSchemeAffinity, ServiceCorrelationSchemeAlignedAffinity, ServiceCorrelationSchemeInvalid, ServiceCorrelationSchemeNonAlignedAffinity} -} - -// ServiceKind enumerates the values for service kind. -type ServiceKind string - -const ( - // ServiceKindInvalid Indicates the service kind is invalid. All Service Fabric enumerations have the - // invalid type. The value is zero. - ServiceKindInvalid ServiceKind = "Invalid" - // ServiceKindStateful Uses Service Fabric to make its state or part of its state highly available and - // reliable. The value is 2. - ServiceKindStateful ServiceKind = "Stateful" - // ServiceKindStateless Does not use Service Fabric to make its state highly available or reliable. The - // value is 1. - ServiceKindStateless ServiceKind = "Stateless" -) - -// PossibleServiceKindValues returns an array of possible values for the ServiceKind const type. -func PossibleServiceKindValues() []ServiceKind { - return []ServiceKind{ServiceKindInvalid, ServiceKindStateful, ServiceKindStateless} -} - -// ServiceKindBasicServiceResourceProperties enumerates the values for service kind basic service resource -// properties. -type ServiceKindBasicServiceResourceProperties string - -const ( - // ServiceKindServiceResourceProperties ... - ServiceKindServiceResourceProperties ServiceKindBasicServiceResourceProperties = "ServiceResourceProperties" - // ServiceKindStateful1 ... - ServiceKindStateful1 ServiceKindBasicServiceResourceProperties = "Stateful" - // ServiceKindStateless1 ... - ServiceKindStateless1 ServiceKindBasicServiceResourceProperties = "Stateless" -) - -// PossibleServiceKindBasicServiceResourcePropertiesValues returns an array of possible values for the ServiceKindBasicServiceResourceProperties const type. -func PossibleServiceKindBasicServiceResourcePropertiesValues() []ServiceKindBasicServiceResourceProperties { - return []ServiceKindBasicServiceResourceProperties{ServiceKindServiceResourceProperties, ServiceKindStateful1, ServiceKindStateless1} -} - -// ServiceKindBasicServiceResourceUpdateProperties enumerates the values for service kind basic service -// resource update properties. -type ServiceKindBasicServiceResourceUpdateProperties string - -const ( - // ServiceKindBasicServiceResourceUpdatePropertiesServiceKindServiceResourceUpdateProperties ... - ServiceKindBasicServiceResourceUpdatePropertiesServiceKindServiceResourceUpdateProperties ServiceKindBasicServiceResourceUpdateProperties = "ServiceResourceUpdateProperties" - // ServiceKindBasicServiceResourceUpdatePropertiesServiceKindStateful ... - ServiceKindBasicServiceResourceUpdatePropertiesServiceKindStateful ServiceKindBasicServiceResourceUpdateProperties = "Stateful" - // ServiceKindBasicServiceResourceUpdatePropertiesServiceKindStateless ... - ServiceKindBasicServiceResourceUpdatePropertiesServiceKindStateless ServiceKindBasicServiceResourceUpdateProperties = "Stateless" -) - -// PossibleServiceKindBasicServiceResourceUpdatePropertiesValues returns an array of possible values for the ServiceKindBasicServiceResourceUpdateProperties const type. -func PossibleServiceKindBasicServiceResourceUpdatePropertiesValues() []ServiceKindBasicServiceResourceUpdateProperties { - return []ServiceKindBasicServiceResourceUpdateProperties{ServiceKindBasicServiceResourceUpdatePropertiesServiceKindServiceResourceUpdateProperties, ServiceKindBasicServiceResourceUpdatePropertiesServiceKindStateful, ServiceKindBasicServiceResourceUpdatePropertiesServiceKindStateless} -} - -// ServiceLoadMetricWeight enumerates the values for service load metric weight. -type ServiceLoadMetricWeight string - -const ( - // ServiceLoadMetricWeightHigh Specifies the metric weight of the service load as High. The value is 3. - ServiceLoadMetricWeightHigh ServiceLoadMetricWeight = "High" - // ServiceLoadMetricWeightLow Specifies the metric weight of the service load as Low. The value is 1. - ServiceLoadMetricWeightLow ServiceLoadMetricWeight = "Low" - // ServiceLoadMetricWeightMedium Specifies the metric weight of the service load as Medium. The value is 2. - ServiceLoadMetricWeightMedium ServiceLoadMetricWeight = "Medium" - // ServiceLoadMetricWeightZero Disables resource balancing for this metric. This value is zero. - ServiceLoadMetricWeightZero ServiceLoadMetricWeight = "Zero" -) - -// PossibleServiceLoadMetricWeightValues returns an array of possible values for the ServiceLoadMetricWeight const type. -func PossibleServiceLoadMetricWeightValues() []ServiceLoadMetricWeight { - return []ServiceLoadMetricWeight{ServiceLoadMetricWeightHigh, ServiceLoadMetricWeightLow, ServiceLoadMetricWeightMedium, ServiceLoadMetricWeightZero} -} - -// ServicePlacementPolicyType enumerates the values for service placement policy type. -type ServicePlacementPolicyType string - -const ( - // ServicePlacementPolicyTypeInvalid Indicates the type of the placement policy is invalid. All Service - // Fabric enumerations have the invalid type. The value is zero. - ServicePlacementPolicyTypeInvalid ServicePlacementPolicyType = "Invalid" - // ServicePlacementPolicyTypeInvalidDomain Indicates that the ServicePlacementPolicyDescription is of type - // ServicePlacementInvalidDomainPolicyDescription, which indicates that a particular fault or upgrade - // domain cannot be used for placement of this service. The value is 1. - ServicePlacementPolicyTypeInvalidDomain ServicePlacementPolicyType = "InvalidDomain" - // ServicePlacementPolicyTypeNonPartiallyPlaceService Indicates that the ServicePlacementPolicyDescription - // is of type ServicePlacementNonPartiallyPlaceServicePolicyDescription, which indicates that if possible - // all replicas of a particular partition of the service should be placed atomically. The value is 5. - ServicePlacementPolicyTypeNonPartiallyPlaceService ServicePlacementPolicyType = "NonPartiallyPlaceService" - // ServicePlacementPolicyTypePreferredPrimaryDomain Indicates that the ServicePlacementPolicyDescription is - // of type ServicePlacementPreferPrimaryDomainPolicyDescription, which indicates that if possible the - // Primary replica for the partitions of the service should be located in a particular domain as an - // optimization. The value is 3. - ServicePlacementPolicyTypePreferredPrimaryDomain ServicePlacementPolicyType = "PreferredPrimaryDomain" - // ServicePlacementPolicyTypeRequiredDomain Indicates that the ServicePlacementPolicyDescription is of type - // ServicePlacementRequireDomainDistributionPolicyDescription indicating that the replicas of the service - // must be placed in a specific domain. The value is 2. - ServicePlacementPolicyTypeRequiredDomain ServicePlacementPolicyType = "RequiredDomain" - // ServicePlacementPolicyTypeRequiredDomainDistribution Indicates that the - // ServicePlacementPolicyDescription is of type ServicePlacementRequireDomainDistributionPolicyDescription, - // indicating that the system will disallow placement of any two replicas from the same partition in the - // same domain at any time. The value is 4. - ServicePlacementPolicyTypeRequiredDomainDistribution ServicePlacementPolicyType = "RequiredDomainDistribution" -) - -// PossibleServicePlacementPolicyTypeValues returns an array of possible values for the ServicePlacementPolicyType const type. -func PossibleServicePlacementPolicyTypeValues() []ServicePlacementPolicyType { - return []ServicePlacementPolicyType{ServicePlacementPolicyTypeInvalid, ServicePlacementPolicyTypeInvalidDomain, ServicePlacementPolicyTypeNonPartiallyPlaceService, ServicePlacementPolicyTypePreferredPrimaryDomain, ServicePlacementPolicyTypeRequiredDomain, ServicePlacementPolicyTypeRequiredDomainDistribution} -} - -// Type enumerates the values for type. -type Type string - -const ( - // TypeServicePlacementPolicyDescription ... - TypeServicePlacementPolicyDescription Type = "ServicePlacementPolicyDescription" -) - -// PossibleTypeValues returns an array of possible values for the Type const type. -func PossibleTypeValues() []Type { - return []Type{TypeServicePlacementPolicyDescription} -} - -// UpgradeMode enumerates the values for upgrade mode. -type UpgradeMode string - -const ( - // UpgradeModeAutomatic ... - UpgradeModeAutomatic UpgradeMode = "Automatic" - // UpgradeModeManual ... - UpgradeModeManual UpgradeMode = "Manual" -) - -// PossibleUpgradeModeValues returns an array of possible values for the UpgradeMode const type. -func PossibleUpgradeModeValues() []UpgradeMode { - return []UpgradeMode{UpgradeModeAutomatic, UpgradeModeManual} -} - -// UpgradeMode1 enumerates the values for upgrade mode 1. -type UpgradeMode1 string - -const ( - // UpgradeMode1Automatic ... - UpgradeMode1Automatic UpgradeMode1 = "Automatic" - // UpgradeMode1Manual ... - UpgradeMode1Manual UpgradeMode1 = "Manual" -) - -// PossibleUpgradeMode1Values returns an array of possible values for the UpgradeMode1 const type. -func PossibleUpgradeMode1Values() []UpgradeMode1 { - return []UpgradeMode1{UpgradeMode1Automatic, UpgradeMode1Manual} -} - -// X509StoreName enumerates the values for x509 store name. -type X509StoreName string - -const ( - // AddressBook ... - AddressBook X509StoreName = "AddressBook" - // AuthRoot ... - AuthRoot X509StoreName = "AuthRoot" - // CertificateAuthority ... - CertificateAuthority X509StoreName = "CertificateAuthority" - // Disallowed ... - Disallowed X509StoreName = "Disallowed" - // My ... - My X509StoreName = "My" - // Root ... - Root X509StoreName = "Root" - // TrustedPeople ... - TrustedPeople X509StoreName = "TrustedPeople" - // TrustedPublisher ... - TrustedPublisher X509StoreName = "TrustedPublisher" -) - -// PossibleX509StoreNameValues returns an array of possible values for the X509StoreName const type. -func PossibleX509StoreNameValues() []X509StoreName { - return []X509StoreName{AddressBook, AuthRoot, CertificateAuthority, Disallowed, My, Root, TrustedPeople, TrustedPublisher} -} - -// X509StoreName1 enumerates the values for x509 store name 1. -type X509StoreName1 string - -const ( - // X509StoreName1AddressBook ... - X509StoreName1AddressBook X509StoreName1 = "AddressBook" - // X509StoreName1AuthRoot ... - X509StoreName1AuthRoot X509StoreName1 = "AuthRoot" - // X509StoreName1CertificateAuthority ... - X509StoreName1CertificateAuthority X509StoreName1 = "CertificateAuthority" - // X509StoreName1Disallowed ... - X509StoreName1Disallowed X509StoreName1 = "Disallowed" - // X509StoreName1My ... - X509StoreName1My X509StoreName1 = "My" - // X509StoreName1Root ... - X509StoreName1Root X509StoreName1 = "Root" - // X509StoreName1TrustedPeople ... - X509StoreName1TrustedPeople X509StoreName1 = "TrustedPeople" - // X509StoreName1TrustedPublisher ... - X509StoreName1TrustedPublisher X509StoreName1 = "TrustedPublisher" -) - -// PossibleX509StoreName1Values returns an array of possible values for the X509StoreName1 const type. -func PossibleX509StoreName1Values() []X509StoreName1 { - return []X509StoreName1{X509StoreName1AddressBook, X509StoreName1AuthRoot, X509StoreName1CertificateAuthority, X509StoreName1Disallowed, X509StoreName1My, X509StoreName1Root, X509StoreName1TrustedPeople, X509StoreName1TrustedPublisher} -} - -// ApplicationDeltaHealthPolicy defines a delta health policy used to evaluate the health of an application -// or one of its child entities when upgrading the cluster. -type ApplicationDeltaHealthPolicy struct { - // DefaultServiceTypeDeltaHealthPolicy - The delta health policy used by default to evaluate the health of a service type when upgrading the cluster. - DefaultServiceTypeDeltaHealthPolicy *ServiceTypeDeltaHealthPolicy `json:"defaultServiceTypeDeltaHealthPolicy,omitempty"` - // ServiceTypeDeltaHealthPolicies - The map with service type delta health policy per service type name. The map is empty by default. - ServiceTypeDeltaHealthPolicies map[string]*ServiceTypeDeltaHealthPolicy `json:"serviceTypeDeltaHealthPolicies"` -} - -// MarshalJSON is the custom marshaler for ApplicationDeltaHealthPolicy. -func (adhp ApplicationDeltaHealthPolicy) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - if adhp.DefaultServiceTypeDeltaHealthPolicy != nil { - objectMap["defaultServiceTypeDeltaHealthPolicy"] = adhp.DefaultServiceTypeDeltaHealthPolicy - } - if adhp.ServiceTypeDeltaHealthPolicies != nil { - objectMap["serviceTypeDeltaHealthPolicies"] = adhp.ServiceTypeDeltaHealthPolicies - } - return json.Marshal(objectMap) -} - -// ApplicationHealthPolicy defines a health policy used to evaluate the health of an application or one of -// its children entities. -type ApplicationHealthPolicy struct { - // DefaultServiceTypeHealthPolicy - The health policy used by default to evaluate the health of a service type. - DefaultServiceTypeHealthPolicy *ServiceTypeHealthPolicy `json:"defaultServiceTypeHealthPolicy,omitempty"` - // ServiceTypeHealthPolicies - The map with service type health policy per service type name. The map is empty by default. - ServiceTypeHealthPolicies map[string]*ServiceTypeHealthPolicy `json:"serviceTypeHealthPolicies"` -} - -// MarshalJSON is the custom marshaler for ApplicationHealthPolicy. -func (ahp ApplicationHealthPolicy) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - if ahp.DefaultServiceTypeHealthPolicy != nil { - objectMap["defaultServiceTypeHealthPolicy"] = ahp.DefaultServiceTypeHealthPolicy - } - if ahp.ServiceTypeHealthPolicies != nil { - objectMap["serviceTypeHealthPolicies"] = ahp.ServiceTypeHealthPolicies - } - return json.Marshal(objectMap) -} - -// ApplicationMetricDescription describes capacity information for a custom resource balancing metric. This -// can be used to limit the total consumption of this metric by the services of this application. -type ApplicationMetricDescription struct { - // Name - The name of the metric. - Name *string `json:"name,omitempty"` - // MaximumCapacity - The maximum node capacity for Service Fabric application. - // This is the maximum Load for an instance of this application on a single node. Even if the capacity of node is greater than this value, Service Fabric will limit the total load of services within the application on each node to this value. - // If set to zero, capacity for this metric is unlimited on each node. - // When creating a new application with application capacity defined, the product of MaximumNodes and this value must always be smaller than or equal to TotalApplicationCapacity. - // When updating existing application with application capacity, the product of MaximumNodes and this value must always be smaller than or equal to TotalApplicationCapacity. - MaximumCapacity *int64 `json:"maximumCapacity,omitempty"` - // ReservationCapacity - The node reservation capacity for Service Fabric application. - // This is the amount of load which is reserved on nodes which have instances of this application. - // If MinimumNodes is specified, then the product of these values will be the capacity reserved in the cluster for the application. - // If set to zero, no capacity is reserved for this metric. - // When setting application capacity or when updating application capacity; this value must be smaller than or equal to MaximumCapacity for each metric. - ReservationCapacity *int64 `json:"reservationCapacity,omitempty"` - // TotalApplicationCapacity - The total metric capacity for Service Fabric application. - // This is the total metric capacity for this application in the cluster. Service Fabric will try to limit the sum of loads of services within the application to this value. - // When creating a new application with application capacity defined, the product of MaximumNodes and MaximumCapacity must always be smaller than or equal to this value. - TotalApplicationCapacity *int64 `json:"totalApplicationCapacity,omitempty"` -} - -// ApplicationResource the application resource. -type ApplicationResource struct { - autorest.Response `json:"-"` - // ApplicationResourceProperties - The application resource properties. - *ApplicationResourceProperties `json:"properties,omitempty"` - // ID - READ-ONLY; Azure resource identifier. - ID *string `json:"id,omitempty"` - // Name - READ-ONLY; Azure resource name. - Name *string `json:"name,omitempty"` - // Type - READ-ONLY; Azure resource type. - Type *string `json:"type,omitempty"` - // Location - Azure resource location. - Location *string `json:"location,omitempty"` - // Tags - Azure resource tags. - Tags map[string]*string `json:"tags"` - // Etag - READ-ONLY; Azure resource etag. - Etag *string `json:"etag,omitempty"` -} - -// MarshalJSON is the custom marshaler for ApplicationResource. -func (ar ApplicationResource) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - if ar.ApplicationResourceProperties != nil { - objectMap["properties"] = ar.ApplicationResourceProperties - } - if ar.Location != nil { - objectMap["location"] = ar.Location - } - if ar.Tags != nil { - objectMap["tags"] = ar.Tags - } - return json.Marshal(objectMap) -} - -// UnmarshalJSON is the custom unmarshaler for ApplicationResource struct. -func (ar *ApplicationResource) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - case "properties": - if v != nil { - var applicationResourceProperties ApplicationResourceProperties - err = json.Unmarshal(*v, &applicationResourceProperties) - if err != nil { - return err - } - ar.ApplicationResourceProperties = &applicationResourceProperties - } - case "id": - if v != nil { - var ID string - err = json.Unmarshal(*v, &ID) - if err != nil { - return err - } - ar.ID = &ID - } - case "name": - if v != nil { - var name string - err = json.Unmarshal(*v, &name) - if err != nil { - return err - } - ar.Name = &name - } - case "type": - if v != nil { - var typeVar string - err = json.Unmarshal(*v, &typeVar) - if err != nil { - return err - } - ar.Type = &typeVar - } - case "location": - if v != nil { - var location string - err = json.Unmarshal(*v, &location) - if err != nil { - return err - } - ar.Location = &location - } - case "tags": - if v != nil { - var tags map[string]*string - err = json.Unmarshal(*v, &tags) - if err != nil { - return err - } - ar.Tags = tags - } - case "etag": - if v != nil { - var etag string - err = json.Unmarshal(*v, &etag) - if err != nil { - return err - } - ar.Etag = &etag - } - } - } - - return nil -} - -// ApplicationResourceList the list of application resources. -type ApplicationResourceList struct { - autorest.Response `json:"-"` - Value *[]ApplicationResource `json:"value,omitempty"` - // NextLink - READ-ONLY; URL to get the next set of application list results if there are any. - NextLink *string `json:"nextLink,omitempty"` -} - -// ApplicationResourceProperties the application resource properties. -type ApplicationResourceProperties struct { - // ProvisioningState - READ-ONLY; The current deployment or provisioning state, which only appears in the response - ProvisioningState *string `json:"provisioningState,omitempty"` - // TypeName - The application type name as defined in the application manifest. - TypeName *string `json:"typeName,omitempty"` - // TypeVersion - The version of the application type as defined in the application manifest. - TypeVersion *string `json:"typeVersion,omitempty"` - // Parameters - List of application parameters with overridden values from their default values specified in the application manifest. - Parameters map[string]*string `json:"parameters"` - // UpgradePolicy - Describes the policy for a monitored application upgrade. - UpgradePolicy *ApplicationUpgradePolicy `json:"upgradePolicy,omitempty"` - // MinimumNodes - The minimum number of nodes where Service Fabric will reserve capacity for this application. Note that this does not mean that the services of this application will be placed on all of those nodes. If this property is set to zero, no capacity will be reserved. The value of this property cannot be more than the value of the MaximumNodes property. - MinimumNodes *int64 `json:"minimumNodes,omitempty"` - // MaximumNodes - The maximum number of nodes where Service Fabric will reserve capacity for this application. Note that this does not mean that the services of this application will be placed on all of those nodes. By default, the value of this property is zero and it means that the services can be placed on any node. - MaximumNodes *int64 `json:"maximumNodes,omitempty"` - // RemoveApplicationCapacity - Remove the current application capacity settings. - RemoveApplicationCapacity *bool `json:"removeApplicationCapacity,omitempty"` - // Metrics - List of application capacity metric description. - Metrics *[]ApplicationMetricDescription `json:"metrics,omitempty"` -} - -// MarshalJSON is the custom marshaler for ApplicationResourceProperties. -func (arp ApplicationResourceProperties) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - if arp.TypeName != nil { - objectMap["typeName"] = arp.TypeName - } - if arp.TypeVersion != nil { - objectMap["typeVersion"] = arp.TypeVersion - } - if arp.Parameters != nil { - objectMap["parameters"] = arp.Parameters - } - if arp.UpgradePolicy != nil { - objectMap["upgradePolicy"] = arp.UpgradePolicy - } - if arp.MinimumNodes != nil { - objectMap["minimumNodes"] = arp.MinimumNodes - } - if arp.MaximumNodes != nil { - objectMap["maximumNodes"] = arp.MaximumNodes - } - if arp.RemoveApplicationCapacity != nil { - objectMap["removeApplicationCapacity"] = arp.RemoveApplicationCapacity - } - if arp.Metrics != nil { - objectMap["metrics"] = arp.Metrics - } - return json.Marshal(objectMap) -} - -// ApplicationResourceUpdate the application resource for patch operations. -type ApplicationResourceUpdate struct { - // ApplicationResourceUpdateProperties - The application resource properties for patch operations. - *ApplicationResourceUpdateProperties `json:"properties,omitempty"` - // ID - READ-ONLY; Azure resource identifier. - ID *string `json:"id,omitempty"` - // Name - READ-ONLY; Azure resource name. - Name *string `json:"name,omitempty"` - // Type - READ-ONLY; Azure resource type. - Type *string `json:"type,omitempty"` - // Location - Azure resource location. - Location *string `json:"location,omitempty"` - // Tags - Azure resource tags. - Tags map[string]*string `json:"tags"` - // Etag - READ-ONLY; Azure resource etag. - Etag *string `json:"etag,omitempty"` -} - -// MarshalJSON is the custom marshaler for ApplicationResourceUpdate. -func (aru ApplicationResourceUpdate) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - if aru.ApplicationResourceUpdateProperties != nil { - objectMap["properties"] = aru.ApplicationResourceUpdateProperties - } - if aru.Location != nil { - objectMap["location"] = aru.Location - } - if aru.Tags != nil { - objectMap["tags"] = aru.Tags - } - return json.Marshal(objectMap) -} - -// UnmarshalJSON is the custom unmarshaler for ApplicationResourceUpdate struct. -func (aru *ApplicationResourceUpdate) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - case "properties": - if v != nil { - var applicationResourceUpdateProperties ApplicationResourceUpdateProperties - err = json.Unmarshal(*v, &applicationResourceUpdateProperties) - if err != nil { - return err - } - aru.ApplicationResourceUpdateProperties = &applicationResourceUpdateProperties - } - case "id": - if v != nil { - var ID string - err = json.Unmarshal(*v, &ID) - if err != nil { - return err - } - aru.ID = &ID - } - case "name": - if v != nil { - var name string - err = json.Unmarshal(*v, &name) - if err != nil { - return err - } - aru.Name = &name - } - case "type": - if v != nil { - var typeVar string - err = json.Unmarshal(*v, &typeVar) - if err != nil { - return err - } - aru.Type = &typeVar - } - case "location": - if v != nil { - var location string - err = json.Unmarshal(*v, &location) - if err != nil { - return err - } - aru.Location = &location - } - case "tags": - if v != nil { - var tags map[string]*string - err = json.Unmarshal(*v, &tags) - if err != nil { - return err - } - aru.Tags = tags - } - case "etag": - if v != nil { - var etag string - err = json.Unmarshal(*v, &etag) - if err != nil { - return err - } - aru.Etag = &etag - } - } - } - - return nil -} - -// ApplicationResourceUpdateProperties the application resource properties for patch operations. -type ApplicationResourceUpdateProperties struct { - // TypeVersion - The version of the application type as defined in the application manifest. - TypeVersion *string `json:"typeVersion,omitempty"` - // Parameters - List of application parameters with overridden values from their default values specified in the application manifest. - Parameters map[string]*string `json:"parameters"` - // UpgradePolicy - Describes the policy for a monitored application upgrade. - UpgradePolicy *ApplicationUpgradePolicy `json:"upgradePolicy,omitempty"` - // MinimumNodes - The minimum number of nodes where Service Fabric will reserve capacity for this application. Note that this does not mean that the services of this application will be placed on all of those nodes. If this property is set to zero, no capacity will be reserved. The value of this property cannot be more than the value of the MaximumNodes property. - MinimumNodes *int64 `json:"minimumNodes,omitempty"` - // MaximumNodes - The maximum number of nodes where Service Fabric will reserve capacity for this application. Note that this does not mean that the services of this application will be placed on all of those nodes. By default, the value of this property is zero and it means that the services can be placed on any node. - MaximumNodes *int64 `json:"maximumNodes,omitempty"` - // RemoveApplicationCapacity - Remove the current application capacity settings. - RemoveApplicationCapacity *bool `json:"removeApplicationCapacity,omitempty"` - // Metrics - List of application capacity metric description. - Metrics *[]ApplicationMetricDescription `json:"metrics,omitempty"` -} - -// MarshalJSON is the custom marshaler for ApplicationResourceUpdateProperties. -func (arup ApplicationResourceUpdateProperties) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - if arup.TypeVersion != nil { - objectMap["typeVersion"] = arup.TypeVersion - } - if arup.Parameters != nil { - objectMap["parameters"] = arup.Parameters - } - if arup.UpgradePolicy != nil { - objectMap["upgradePolicy"] = arup.UpgradePolicy - } - if arup.MinimumNodes != nil { - objectMap["minimumNodes"] = arup.MinimumNodes - } - if arup.MaximumNodes != nil { - objectMap["maximumNodes"] = arup.MaximumNodes - } - if arup.RemoveApplicationCapacity != nil { - objectMap["removeApplicationCapacity"] = arup.RemoveApplicationCapacity - } - if arup.Metrics != nil { - objectMap["metrics"] = arup.Metrics - } - return json.Marshal(objectMap) -} - -// ApplicationsCreateFuture an abstraction for monitoring and retrieving the results of a long-running -// operation. -type ApplicationsCreateFuture struct { - azure.Future -} - -// Result returns the result of the asynchronous operation. -// If the operation has not completed it will return an error. -func (future *ApplicationsCreateFuture) Result(client ApplicationsClient) (ar ApplicationResource, err error) { - var done bool - done, err = future.DoneWithContext(context.Background(), client) - if err != nil { - err = autorest.NewErrorWithError(err, "servicefabric.ApplicationsCreateFuture", "Result", future.Response(), "Polling failure") - return - } - if !done { - err = azure.NewAsyncOpIncompleteError("servicefabric.ApplicationsCreateFuture") - return - } - sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) - if ar.Response.Response, err = future.GetResult(sender); err == nil && ar.Response.Response.StatusCode != http.StatusNoContent { - ar, err = client.CreateResponder(ar.Response.Response) - if err != nil { - err = autorest.NewErrorWithError(err, "servicefabric.ApplicationsCreateFuture", "Result", ar.Response.Response, "Failure responding to request") - } - } - return -} - -// ApplicationsDeleteFuture an abstraction for monitoring and retrieving the results of a long-running -// operation. -type ApplicationsDeleteFuture struct { - azure.Future -} - -// Result returns the result of the asynchronous operation. -// If the operation has not completed it will return an error. -func (future *ApplicationsDeleteFuture) Result(client ApplicationsClient) (ar autorest.Response, err error) { - var done bool - done, err = future.DoneWithContext(context.Background(), client) - if err != nil { - err = autorest.NewErrorWithError(err, "servicefabric.ApplicationsDeleteFuture", "Result", future.Response(), "Polling failure") - return - } - if !done { - err = azure.NewAsyncOpIncompleteError("servicefabric.ApplicationsDeleteFuture") - return - } - ar.Response = future.Response() - return -} - -// ApplicationsUpdateFuture an abstraction for monitoring and retrieving the results of a long-running -// operation. -type ApplicationsUpdateFuture struct { - azure.Future -} - -// Result returns the result of the asynchronous operation. -// If the operation has not completed it will return an error. -func (future *ApplicationsUpdateFuture) Result(client ApplicationsClient) (ar ApplicationResource, err error) { - var done bool - done, err = future.DoneWithContext(context.Background(), client) - if err != nil { - err = autorest.NewErrorWithError(err, "servicefabric.ApplicationsUpdateFuture", "Result", future.Response(), "Polling failure") - return - } - if !done { - err = azure.NewAsyncOpIncompleteError("servicefabric.ApplicationsUpdateFuture") - return - } - sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) - if ar.Response.Response, err = future.GetResult(sender); err == nil && ar.Response.Response.StatusCode != http.StatusNoContent { - ar, err = client.UpdateResponder(ar.Response.Response) - if err != nil { - err = autorest.NewErrorWithError(err, "servicefabric.ApplicationsUpdateFuture", "Result", ar.Response.Response, "Failure responding to request") - } - } - return -} - -// ApplicationTypeResource the application type name resource -type ApplicationTypeResource struct { - autorest.Response `json:"-"` - // ApplicationTypeResourceProperties - The application type name properties - *ApplicationTypeResourceProperties `json:"properties,omitempty"` - // ID - READ-ONLY; Azure resource identifier. - ID *string `json:"id,omitempty"` - // Name - READ-ONLY; Azure resource name. - Name *string `json:"name,omitempty"` - // Type - READ-ONLY; Azure resource type. - Type *string `json:"type,omitempty"` - // Location - Azure resource location. - Location *string `json:"location,omitempty"` - // Tags - Azure resource tags. - Tags map[string]*string `json:"tags"` - // Etag - READ-ONLY; Azure resource etag. - Etag *string `json:"etag,omitempty"` -} - -// MarshalJSON is the custom marshaler for ApplicationTypeResource. -func (atr ApplicationTypeResource) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - if atr.ApplicationTypeResourceProperties != nil { - objectMap["properties"] = atr.ApplicationTypeResourceProperties - } - if atr.Location != nil { - objectMap["location"] = atr.Location - } - if atr.Tags != nil { - objectMap["tags"] = atr.Tags - } - return json.Marshal(objectMap) -} - -// UnmarshalJSON is the custom unmarshaler for ApplicationTypeResource struct. -func (atr *ApplicationTypeResource) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - case "properties": - if v != nil { - var applicationTypeResourceProperties ApplicationTypeResourceProperties - err = json.Unmarshal(*v, &applicationTypeResourceProperties) - if err != nil { - return err - } - atr.ApplicationTypeResourceProperties = &applicationTypeResourceProperties - } - case "id": - if v != nil { - var ID string - err = json.Unmarshal(*v, &ID) - if err != nil { - return err - } - atr.ID = &ID - } - case "name": - if v != nil { - var name string - err = json.Unmarshal(*v, &name) - if err != nil { - return err - } - atr.Name = &name - } - case "type": - if v != nil { - var typeVar string - err = json.Unmarshal(*v, &typeVar) - if err != nil { - return err - } - atr.Type = &typeVar - } - case "location": - if v != nil { - var location string - err = json.Unmarshal(*v, &location) - if err != nil { - return err - } - atr.Location = &location - } - case "tags": - if v != nil { - var tags map[string]*string - err = json.Unmarshal(*v, &tags) - if err != nil { - return err - } - atr.Tags = tags - } - case "etag": - if v != nil { - var etag string - err = json.Unmarshal(*v, &etag) - if err != nil { - return err - } - atr.Etag = &etag - } - } - } - - return nil -} - -// ApplicationTypeResourceList the list of application type names. -type ApplicationTypeResourceList struct { - autorest.Response `json:"-"` - Value *[]ApplicationTypeResource `json:"value,omitempty"` - // NextLink - READ-ONLY; URL to get the next set of application type list results if there are any. - NextLink *string `json:"nextLink,omitempty"` -} - -// ApplicationTypeResourceProperties the application type name properties -type ApplicationTypeResourceProperties struct { - // ProvisioningState - READ-ONLY; The current deployment or provisioning state, which only appears in the response. - ProvisioningState *string `json:"provisioningState,omitempty"` -} - -// ApplicationTypesDeleteFuture an abstraction for monitoring and retrieving the results of a long-running -// operation. -type ApplicationTypesDeleteFuture struct { - azure.Future -} - -// Result returns the result of the asynchronous operation. -// If the operation has not completed it will return an error. -func (future *ApplicationTypesDeleteFuture) Result(client ApplicationTypesClient) (ar autorest.Response, err error) { - var done bool - done, err = future.DoneWithContext(context.Background(), client) - if err != nil { - err = autorest.NewErrorWithError(err, "servicefabric.ApplicationTypesDeleteFuture", "Result", future.Response(), "Polling failure") - return - } - if !done { - err = azure.NewAsyncOpIncompleteError("servicefabric.ApplicationTypesDeleteFuture") - return - } - ar.Response = future.Response() - return -} - -// ApplicationTypeVersionResource an application type version resource for the specified application type -// name resource. -type ApplicationTypeVersionResource struct { - autorest.Response `json:"-"` - // ApplicationTypeVersionResourceProperties - The properties of the application type version resource. - *ApplicationTypeVersionResourceProperties `json:"properties,omitempty"` - // ID - READ-ONLY; Azure resource identifier. - ID *string `json:"id,omitempty"` - // Name - READ-ONLY; Azure resource name. - Name *string `json:"name,omitempty"` - // Type - READ-ONLY; Azure resource type. - Type *string `json:"type,omitempty"` - // Location - Azure resource location. - Location *string `json:"location,omitempty"` - // Tags - Azure resource tags. - Tags map[string]*string `json:"tags"` - // Etag - READ-ONLY; Azure resource etag. - Etag *string `json:"etag,omitempty"` -} - -// MarshalJSON is the custom marshaler for ApplicationTypeVersionResource. -func (atvr ApplicationTypeVersionResource) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - if atvr.ApplicationTypeVersionResourceProperties != nil { - objectMap["properties"] = atvr.ApplicationTypeVersionResourceProperties - } - if atvr.Location != nil { - objectMap["location"] = atvr.Location - } - if atvr.Tags != nil { - objectMap["tags"] = atvr.Tags - } - return json.Marshal(objectMap) -} - -// UnmarshalJSON is the custom unmarshaler for ApplicationTypeVersionResource struct. -func (atvr *ApplicationTypeVersionResource) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - case "properties": - if v != nil { - var applicationTypeVersionResourceProperties ApplicationTypeVersionResourceProperties - err = json.Unmarshal(*v, &applicationTypeVersionResourceProperties) - if err != nil { - return err - } - atvr.ApplicationTypeVersionResourceProperties = &applicationTypeVersionResourceProperties - } - case "id": - if v != nil { - var ID string - err = json.Unmarshal(*v, &ID) - if err != nil { - return err - } - atvr.ID = &ID - } - case "name": - if v != nil { - var name string - err = json.Unmarshal(*v, &name) - if err != nil { - return err - } - atvr.Name = &name - } - case "type": - if v != nil { - var typeVar string - err = json.Unmarshal(*v, &typeVar) - if err != nil { - return err - } - atvr.Type = &typeVar - } - case "location": - if v != nil { - var location string - err = json.Unmarshal(*v, &location) - if err != nil { - return err - } - atvr.Location = &location - } - case "tags": - if v != nil { - var tags map[string]*string - err = json.Unmarshal(*v, &tags) - if err != nil { - return err - } - atvr.Tags = tags - } - case "etag": - if v != nil { - var etag string - err = json.Unmarshal(*v, &etag) - if err != nil { - return err - } - atvr.Etag = &etag - } - } - } - - return nil -} - -// ApplicationTypeVersionResourceList the list of application type version resources for the specified -// application type name resource. -type ApplicationTypeVersionResourceList struct { - autorest.Response `json:"-"` - Value *[]ApplicationTypeVersionResource `json:"value,omitempty"` - // NextLink - READ-ONLY; URL to get the next set of application type version list results if there are any. - NextLink *string `json:"nextLink,omitempty"` -} - -// ApplicationTypeVersionResourceProperties the properties of the application type version resource. -type ApplicationTypeVersionResourceProperties struct { - // ProvisioningState - READ-ONLY; The current deployment or provisioning state, which only appears in the response - ProvisioningState *string `json:"provisioningState,omitempty"` - // AppPackageURL - The URL to the application package - AppPackageURL *string `json:"appPackageUrl,omitempty"` - // DefaultParameterList - READ-ONLY; List of application type parameters that can be overridden when creating or updating the application. - DefaultParameterList map[string]*string `json:"defaultParameterList"` -} - -// MarshalJSON is the custom marshaler for ApplicationTypeVersionResourceProperties. -func (atvrp ApplicationTypeVersionResourceProperties) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - if atvrp.AppPackageURL != nil { - objectMap["appPackageUrl"] = atvrp.AppPackageURL - } - return json.Marshal(objectMap) -} - -// ApplicationTypeVersionsCreateFuture an abstraction for monitoring and retrieving the results of a -// long-running operation. -type ApplicationTypeVersionsCreateFuture struct { - azure.Future -} - -// Result returns the result of the asynchronous operation. -// If the operation has not completed it will return an error. -func (future *ApplicationTypeVersionsCreateFuture) Result(client ApplicationTypeVersionsClient) (atvr ApplicationTypeVersionResource, err error) { - var done bool - done, err = future.DoneWithContext(context.Background(), client) - if err != nil { - err = autorest.NewErrorWithError(err, "servicefabric.ApplicationTypeVersionsCreateFuture", "Result", future.Response(), "Polling failure") - return - } - if !done { - err = azure.NewAsyncOpIncompleteError("servicefabric.ApplicationTypeVersionsCreateFuture") - return - } - sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) - if atvr.Response.Response, err = future.GetResult(sender); err == nil && atvr.Response.Response.StatusCode != http.StatusNoContent { - atvr, err = client.CreateResponder(atvr.Response.Response) - if err != nil { - err = autorest.NewErrorWithError(err, "servicefabric.ApplicationTypeVersionsCreateFuture", "Result", atvr.Response.Response, "Failure responding to request") - } - } - return -} - -// ApplicationTypeVersionsDeleteFuture an abstraction for monitoring and retrieving the results of a -// long-running operation. -type ApplicationTypeVersionsDeleteFuture struct { - azure.Future -} - -// Result returns the result of the asynchronous operation. -// If the operation has not completed it will return an error. -func (future *ApplicationTypeVersionsDeleteFuture) Result(client ApplicationTypeVersionsClient) (ar autorest.Response, err error) { - var done bool - done, err = future.DoneWithContext(context.Background(), client) - if err != nil { - err = autorest.NewErrorWithError(err, "servicefabric.ApplicationTypeVersionsDeleteFuture", "Result", future.Response(), "Polling failure") - return - } - if !done { - err = azure.NewAsyncOpIncompleteError("servicefabric.ApplicationTypeVersionsDeleteFuture") - return - } - ar.Response = future.Response() - return -} - -// ApplicationUpgradePolicy describes the policy for a monitored application upgrade. -type ApplicationUpgradePolicy struct { - // UpgradeReplicaSetCheckTimeout - The maximum amount of time to block processing of an upgrade domain and prevent loss of availability when there are unexpected issues. When this timeout expires, processing of the upgrade domain will proceed regardless of availability loss issues. The timeout is reset at the start of each upgrade domain. Valid values are between 0 and 42949672925 inclusive. (unsigned 32-bit integer). - UpgradeReplicaSetCheckTimeout *string `json:"upgradeReplicaSetCheckTimeout,omitempty"` - // ForceRestart - If true, then processes are forcefully restarted during upgrade even when the code version has not changed (the upgrade only changes configuration or data). - ForceRestart *bool `json:"forceRestart,omitempty"` - // RollingUpgradeMonitoringPolicy - The policy used for monitoring the application upgrade - RollingUpgradeMonitoringPolicy *ArmRollingUpgradeMonitoringPolicy `json:"rollingUpgradeMonitoringPolicy,omitempty"` - // ApplicationHealthPolicy - Defines a health policy used to evaluate the health of an application or one of its children entities. - ApplicationHealthPolicy *ArmApplicationHealthPolicy `json:"applicationHealthPolicy,omitempty"` -} - -// ArmApplicationHealthPolicy defines a health policy used to evaluate the health of an application or one -// of its children entities. -type ArmApplicationHealthPolicy struct { - // ConsiderWarningAsError - Indicates whether warnings are treated with the same severity as errors. - ConsiderWarningAsError *bool `json:"considerWarningAsError,omitempty"` - // MaxPercentUnhealthyDeployedApplications - The maximum allowed percentage of unhealthy deployed applications. Allowed values are Byte values from zero to 100. - // The percentage represents the maximum tolerated percentage of deployed applications that can be unhealthy before the application is considered in error. - // This is calculated by dividing the number of unhealthy deployed applications over the number of nodes where the application is currently deployed on in the cluster. - // The computation rounds up to tolerate one failure on small numbers of nodes. Default percentage is zero. - MaxPercentUnhealthyDeployedApplications *int32 `json:"maxPercentUnhealthyDeployedApplications,omitempty"` - // DefaultServiceTypeHealthPolicy - The health policy used by default to evaluate the health of a service type. - DefaultServiceTypeHealthPolicy *ArmServiceTypeHealthPolicy `json:"defaultServiceTypeHealthPolicy,omitempty"` - // ServiceTypeHealthPolicyMap - The map with service type health policy per service type name. The map is empty by default. - ServiceTypeHealthPolicyMap map[string]*ArmServiceTypeHealthPolicy `json:"serviceTypeHealthPolicyMap"` -} - -// MarshalJSON is the custom marshaler for ArmApplicationHealthPolicy. -func (aahp ArmApplicationHealthPolicy) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - if aahp.ConsiderWarningAsError != nil { - objectMap["considerWarningAsError"] = aahp.ConsiderWarningAsError - } - if aahp.MaxPercentUnhealthyDeployedApplications != nil { - objectMap["maxPercentUnhealthyDeployedApplications"] = aahp.MaxPercentUnhealthyDeployedApplications - } - if aahp.DefaultServiceTypeHealthPolicy != nil { - objectMap["defaultServiceTypeHealthPolicy"] = aahp.DefaultServiceTypeHealthPolicy - } - if aahp.ServiceTypeHealthPolicyMap != nil { - objectMap["serviceTypeHealthPolicyMap"] = aahp.ServiceTypeHealthPolicyMap - } - return json.Marshal(objectMap) -} - -// ArmRollingUpgradeMonitoringPolicy the policy used for monitoring the application upgrade -type ArmRollingUpgradeMonitoringPolicy struct { - // FailureAction - The activation Mode of the service package. Possible values include: 'Rollback', 'Manual' - FailureAction ArmUpgradeFailureAction `json:"failureAction,omitempty"` - // HealthCheckWaitDuration - The amount of time to wait after completing an upgrade domain before applying health policies. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds. - HealthCheckWaitDuration *string `json:"healthCheckWaitDuration,omitempty"` - // HealthCheckStableDuration - The amount of time that the application or cluster must remain healthy before the upgrade proceeds to the next upgrade domain. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds. - HealthCheckStableDuration *string `json:"healthCheckStableDuration,omitempty"` - // HealthCheckRetryTimeout - The amount of time to retry health evaluation when the application or cluster is unhealthy before FailureAction is executed. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds. - HealthCheckRetryTimeout *string `json:"healthCheckRetryTimeout,omitempty"` - // UpgradeTimeout - The amount of time the overall upgrade has to complete before FailureAction is executed. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds. - UpgradeTimeout *string `json:"upgradeTimeout,omitempty"` - // UpgradeDomainTimeout - The amount of time each upgrade domain has to complete before FailureAction is executed. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds. - UpgradeDomainTimeout *string `json:"upgradeDomainTimeout,omitempty"` -} - -// ArmServiceTypeHealthPolicy represents the health policy used to evaluate the health of services -// belonging to a service type. -type ArmServiceTypeHealthPolicy struct { - // MaxPercentUnhealthyServices - The maximum percentage of services allowed to be unhealthy before your application is considered in error. - MaxPercentUnhealthyServices *int32 `json:"maxPercentUnhealthyServices,omitempty"` - // MaxPercentUnhealthyPartitionsPerService - The maximum percentage of partitions per service allowed to be unhealthy before your application is considered in error. - MaxPercentUnhealthyPartitionsPerService *int32 `json:"maxPercentUnhealthyPartitionsPerService,omitempty"` - // MaxPercentUnhealthyReplicasPerPartition - The maximum percentage of replicas per partition allowed to be unhealthy before your application is considered in error. - MaxPercentUnhealthyReplicasPerPartition *int32 `json:"maxPercentUnhealthyReplicasPerPartition,omitempty"` -} - -// AvailableOperationDisplay operation supported by the Service Fabric resource provider -type AvailableOperationDisplay struct { - // Provider - The name of the provider. - Provider *string `json:"provider,omitempty"` - // Resource - The resource on which the operation is performed - Resource *string `json:"resource,omitempty"` - // Operation - The operation that can be performed. - Operation *string `json:"operation,omitempty"` - // Description - Operation description - Description *string `json:"description,omitempty"` -} - -// AzureActiveDirectory the settings to enable AAD authentication on the cluster. -type AzureActiveDirectory struct { - // TenantID - Azure active directory tenant id. - TenantID *string `json:"tenantId,omitempty"` - // ClusterApplication - Azure active directory cluster application id. - ClusterApplication *string `json:"clusterApplication,omitempty"` - // ClientApplication - Azure active directory client application id. - ClientApplication *string `json:"clientApplication,omitempty"` -} - -// CertificateDescription describes the certificate details. -type CertificateDescription struct { - // Thumbprint - Thumbprint of the primary certificate. - Thumbprint *string `json:"thumbprint,omitempty"` - // ThumbprintSecondary - Thumbprint of the secondary certificate. - ThumbprintSecondary *string `json:"thumbprintSecondary,omitempty"` - // X509StoreName - The local certificate store location. Possible values include: 'AddressBook', 'AuthRoot', 'CertificateAuthority', 'Disallowed', 'My', 'Root', 'TrustedPeople', 'TrustedPublisher' - X509StoreName X509StoreName `json:"x509StoreName,omitempty"` -} - -// ClientCertificateCommonName describes the client certificate details using common name. -type ClientCertificateCommonName struct { - // IsAdmin - Indicates if the client certificate has admin access to the cluster. Non admin clients can perform only read only operations on the cluster. - IsAdmin *bool `json:"isAdmin,omitempty"` - // CertificateCommonName - The common name of the client certificate. - CertificateCommonName *string `json:"certificateCommonName,omitempty"` - // CertificateIssuerThumbprint - The issuer thumbprint of the client certificate. - CertificateIssuerThumbprint *string `json:"certificateIssuerThumbprint,omitempty"` -} - -// ClientCertificateThumbprint describes the client certificate details using thumbprint. -type ClientCertificateThumbprint struct { - // IsAdmin - Indicates if the client certificate has admin access to the cluster. Non admin clients can perform only read only operations on the cluster. - IsAdmin *bool `json:"isAdmin,omitempty"` - // CertificateThumbprint - The thumbprint of the client certificate. - CertificateThumbprint *string `json:"certificateThumbprint,omitempty"` -} - -// Cluster the cluster resource -type Cluster struct { - autorest.Response `json:"-"` - // ClusterProperties - The cluster resource properties - *ClusterProperties `json:"properties,omitempty"` - // ID - READ-ONLY; Azure resource identifier. - ID *string `json:"id,omitempty"` - // Name - READ-ONLY; Azure resource name. - Name *string `json:"name,omitempty"` - // Type - READ-ONLY; Azure resource type. - Type *string `json:"type,omitempty"` - // Location - Azure resource location. - Location *string `json:"location,omitempty"` - // Tags - Azure resource tags. - Tags map[string]*string `json:"tags"` - // Etag - READ-ONLY; Azure resource etag. - Etag *string `json:"etag,omitempty"` -} - -// MarshalJSON is the custom marshaler for Cluster. -func (c Cluster) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - if c.ClusterProperties != nil { - objectMap["properties"] = c.ClusterProperties - } - if c.Location != nil { - objectMap["location"] = c.Location - } - if c.Tags != nil { - objectMap["tags"] = c.Tags - } - return json.Marshal(objectMap) -} - -// UnmarshalJSON is the custom unmarshaler for Cluster struct. -func (c *Cluster) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - case "properties": - if v != nil { - var clusterProperties ClusterProperties - err = json.Unmarshal(*v, &clusterProperties) - if err != nil { - return err - } - c.ClusterProperties = &clusterProperties - } - case "id": - if v != nil { - var ID string - err = json.Unmarshal(*v, &ID) - if err != nil { - return err - } - c.ID = &ID - } - case "name": - if v != nil { - var name string - err = json.Unmarshal(*v, &name) - if err != nil { - return err - } - c.Name = &name - } - case "type": - if v != nil { - var typeVar string - err = json.Unmarshal(*v, &typeVar) - if err != nil { - return err - } - c.Type = &typeVar - } - case "location": - if v != nil { - var location string - err = json.Unmarshal(*v, &location) - if err != nil { - return err - } - c.Location = &location - } - case "tags": - if v != nil { - var tags map[string]*string - err = json.Unmarshal(*v, &tags) - if err != nil { - return err - } - c.Tags = tags - } - case "etag": - if v != nil { - var etag string - err = json.Unmarshal(*v, &etag) - if err != nil { - return err - } - c.Etag = &etag - } - } - } - - return nil -} - -// ClusterCodeVersionsListResult the list results of the Service Fabric runtime versions. -type ClusterCodeVersionsListResult struct { - autorest.Response `json:"-"` - Value *[]ClusterCodeVersionsResult `json:"value,omitempty"` - // NextLink - The URL to use for getting the next set of results. - NextLink *string `json:"nextLink,omitempty"` -} - -// ClusterCodeVersionsResult the result of the Service Fabric runtime versions -type ClusterCodeVersionsResult struct { - // ID - The identification of the result - ID *string `json:"id,omitempty"` - // Name - The name of the result - Name *string `json:"name,omitempty"` - // Type - The result resource type - Type *string `json:"type,omitempty"` - // ClusterVersionDetails - The detail of the Service Fabric runtime version result - *ClusterVersionDetails `json:"properties,omitempty"` -} - -// MarshalJSON is the custom marshaler for ClusterCodeVersionsResult. -func (ccvr ClusterCodeVersionsResult) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - if ccvr.ID != nil { - objectMap["id"] = ccvr.ID - } - if ccvr.Name != nil { - objectMap["name"] = ccvr.Name - } - if ccvr.Type != nil { - objectMap["type"] = ccvr.Type - } - if ccvr.ClusterVersionDetails != nil { - objectMap["properties"] = ccvr.ClusterVersionDetails - } - return json.Marshal(objectMap) -} - -// UnmarshalJSON is the custom unmarshaler for ClusterCodeVersionsResult struct. -func (ccvr *ClusterCodeVersionsResult) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - case "id": - if v != nil { - var ID string - err = json.Unmarshal(*v, &ID) - if err != nil { - return err - } - ccvr.ID = &ID - } - case "name": - if v != nil { - var name string - err = json.Unmarshal(*v, &name) - if err != nil { - return err - } - ccvr.Name = &name - } - case "type": - if v != nil { - var typeVar string - err = json.Unmarshal(*v, &typeVar) - if err != nil { - return err - } - ccvr.Type = &typeVar - } - case "properties": - if v != nil { - var clusterVersionDetails ClusterVersionDetails - err = json.Unmarshal(*v, &clusterVersionDetails) - if err != nil { - return err - } - ccvr.ClusterVersionDetails = &clusterVersionDetails - } - } - } - - return nil -} - -// ClusterHealthPolicy defines a health policy used to evaluate the health of the cluster or of a cluster -// node. -type ClusterHealthPolicy struct { - // MaxPercentUnhealthyNodes - The maximum allowed percentage of unhealthy nodes before reporting an error. For example, to allow 10% of nodes to be unhealthy, this value would be 10. - // The percentage represents the maximum tolerated percentage of nodes that can be unhealthy before the cluster is considered in error. - // If the percentage is respected but there is at least one unhealthy node, the health is evaluated as Warning. - // The percentage is calculated by dividing the number of unhealthy nodes over the total number of nodes in the cluster. - // The computation rounds up to tolerate one failure on small numbers of nodes. Default percentage is zero. - // In large clusters, some nodes will always be down or out for repairs, so this percentage should be configured to tolerate that. - MaxPercentUnhealthyNodes *int32 `json:"maxPercentUnhealthyNodes,omitempty"` - // MaxPercentUnhealthyApplications - The maximum allowed percentage of unhealthy applications before reporting an error. For example, to allow 10% of applications to be unhealthy, this value would be 10. - // The percentage represents the maximum tolerated percentage of applications that can be unhealthy before the cluster is considered in error. - // If the percentage is respected but there is at least one unhealthy application, the health is evaluated as Warning. - // This is calculated by dividing the number of unhealthy applications over the total number of application instances in the cluster, excluding applications of application types that are included in the ApplicationTypeHealthPolicyMap. - // The computation rounds up to tolerate one failure on small numbers of applications. Default percentage is zero. - MaxPercentUnhealthyApplications *int32 `json:"maxPercentUnhealthyApplications,omitempty"` - // ApplicationHealthPolicies - Defines the application health policy map used to evaluate the health of an application or one of its children entities. - ApplicationHealthPolicies map[string]*ApplicationHealthPolicy `json:"applicationHealthPolicies"` -} - -// MarshalJSON is the custom marshaler for ClusterHealthPolicy. -func (chp ClusterHealthPolicy) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - if chp.MaxPercentUnhealthyNodes != nil { - objectMap["maxPercentUnhealthyNodes"] = chp.MaxPercentUnhealthyNodes - } - if chp.MaxPercentUnhealthyApplications != nil { - objectMap["maxPercentUnhealthyApplications"] = chp.MaxPercentUnhealthyApplications - } - if chp.ApplicationHealthPolicies != nil { - objectMap["applicationHealthPolicies"] = chp.ApplicationHealthPolicies - } - return json.Marshal(objectMap) -} - -// ClusterListResult cluster list results -type ClusterListResult struct { - autorest.Response `json:"-"` - Value *[]Cluster `json:"value,omitempty"` - // NextLink - The URL to use for getting the next set of results. - NextLink *string `json:"nextLink,omitempty"` -} - -// ClusterProperties describes the cluster resource properties. -type ClusterProperties struct { - // AddOnFeatures - The list of add-on features to enable in the cluster. - AddOnFeatures *[]string `json:"addOnFeatures,omitempty"` - // AvailableClusterVersions - READ-ONLY; The Service Fabric runtime versions available for this cluster. - AvailableClusterVersions *[]ClusterVersionDetails `json:"availableClusterVersions,omitempty"` - // AzureActiveDirectory - The AAD authentication settings of the cluster. - AzureActiveDirectory *AzureActiveDirectory `json:"azureActiveDirectory,omitempty"` - // Certificate - The certificate to use for securing the cluster. The certificate provided will be used for node to node security within the cluster, SSL certificate for cluster management endpoint and default admin client. - Certificate *CertificateDescription `json:"certificate,omitempty"` - // CertificateCommonNames - Describes a list of server certificates referenced by common name that are used to secure the cluster. - CertificateCommonNames *ServerCertificateCommonNames `json:"certificateCommonNames,omitempty"` - // ClientCertificateCommonNames - The list of client certificates referenced by common name that are allowed to manage the cluster. - ClientCertificateCommonNames *[]ClientCertificateCommonName `json:"clientCertificateCommonNames,omitempty"` - // ClientCertificateThumbprints - The list of client certificates referenced by thumbprint that are allowed to manage the cluster. - ClientCertificateThumbprints *[]ClientCertificateThumbprint `json:"clientCertificateThumbprints,omitempty"` - // ClusterCodeVersion - The Service Fabric runtime version of the cluster. This property can only by set the user when **upgradeMode** is set to 'Manual'. To get list of available Service Fabric versions for new clusters use [ClusterVersion API](./ClusterVersion.md). To get the list of available version for existing clusters use **availableClusterVersions**. - ClusterCodeVersion *string `json:"clusterCodeVersion,omitempty"` - // ClusterEndpoint - READ-ONLY; The Azure Resource Provider endpoint. A system service in the cluster connects to this endpoint. - ClusterEndpoint *string `json:"clusterEndpoint,omitempty"` - // ClusterID - READ-ONLY; A service generated unique identifier for the cluster resource. - ClusterID *string `json:"clusterId,omitempty"` - // ClusterState - READ-ONLY; The current state of the cluster. - // - WaitingForNodes - Indicates that the cluster resource is created and the resource provider is waiting for Service Fabric VM extension to boot up and report to it. - // - Deploying - Indicates that the Service Fabric runtime is being installed on the VMs. Cluster resource will be in this state until the cluster boots up and system services are up. - // - BaselineUpgrade - Indicates that the cluster is upgrading to establishes the cluster version. This upgrade is automatically initiated when the cluster boots up for the first time. - // - UpdatingUserConfiguration - Indicates that the cluster is being upgraded with the user provided configuration. - // - UpdatingUserCertificate - Indicates that the cluster is being upgraded with the user provided certificate. - // - UpdatingInfrastructure - Indicates that the cluster is being upgraded with the latest Service Fabric runtime version. This happens only when the **upgradeMode** is set to 'Automatic'. - // - EnforcingClusterVersion - Indicates that cluster is on a different version than expected and the cluster is being upgraded to the expected version. - // - UpgradeServiceUnreachable - Indicates that the system service in the cluster is no longer polling the Resource Provider. Clusters in this state cannot be managed by the Resource Provider. - // - AutoScale - Indicates that the ReliabilityLevel of the cluster is being adjusted. - // - Ready - Indicates that the cluster is in a stable state. - // . Possible values include: 'WaitingForNodes', 'Deploying', 'BaselineUpgrade', 'UpdatingUserConfiguration', 'UpdatingUserCertificate', 'UpdatingInfrastructure', 'EnforcingClusterVersion', 'UpgradeServiceUnreachable', 'AutoScale', 'Ready' - ClusterState ClusterState `json:"clusterState,omitempty"` - // DiagnosticsStorageAccountConfig - The storage account information for storing Service Fabric diagnostic logs. - DiagnosticsStorageAccountConfig *DiagnosticsStorageAccountConfig `json:"diagnosticsStorageAccountConfig,omitempty"` - // EventStoreServiceEnabled - Indicates if the event store service is enabled. - EventStoreServiceEnabled *bool `json:"eventStoreServiceEnabled,omitempty"` - // FabricSettings - The list of custom fabric settings to configure the cluster. - FabricSettings *[]SettingsSectionDescription `json:"fabricSettings,omitempty"` - // ManagementEndpoint - The http management endpoint of the cluster. - ManagementEndpoint *string `json:"managementEndpoint,omitempty"` - // NodeTypes - The list of node types in the cluster. - NodeTypes *[]NodeTypeDescription `json:"nodeTypes,omitempty"` - // ProvisioningState - READ-ONLY; The provisioning state of the cluster resource. Possible values include: 'Updating', 'Succeeded', 'Failed', 'Canceled' - ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` - // ReliabilityLevel - The reliability level sets the replica set size of system services. Learn about [ReliabilityLevel](https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-cluster-capacity). - // - None - Run the System services with a target replica set count of 1. This should only be used for test clusters. - // - Bronze - Run the System services with a target replica set count of 3. This should only be used for test clusters. - // - Silver - Run the System services with a target replica set count of 5. - // - Gold - Run the System services with a target replica set count of 7. - // - Platinum - Run the System services with a target replica set count of 9. - // . Possible values include: 'ReliabilityLevelNone', 'ReliabilityLevelBronze', 'ReliabilityLevelSilver', 'ReliabilityLevelGold', 'ReliabilityLevelPlatinum' - ReliabilityLevel ReliabilityLevel `json:"reliabilityLevel,omitempty"` - // ReverseProxyCertificate - The server certificate used by reverse proxy. - ReverseProxyCertificate *CertificateDescription `json:"reverseProxyCertificate,omitempty"` - // ReverseProxyCertificateCommonNames - Describes a list of server certificates referenced by common name that are used to secure the cluster. - ReverseProxyCertificateCommonNames *ServerCertificateCommonNames `json:"reverseProxyCertificateCommonNames,omitempty"` - // UpgradeDescription - The policy to use when upgrading the cluster. - UpgradeDescription *ClusterUpgradePolicy `json:"upgradeDescription,omitempty"` - // UpgradeMode - The upgrade mode of the cluster when new Service Fabric runtime version is available. - // - Automatic - The cluster will be automatically upgraded to the latest Service Fabric runtime version as soon as it is available. - // - Manual - The cluster will not be automatically upgraded to the latest Service Fabric runtime version. The cluster is upgraded by setting the **clusterCodeVersion** property in the cluster resource. - // . Possible values include: 'UpgradeModeAutomatic', 'UpgradeModeManual' - UpgradeMode UpgradeMode `json:"upgradeMode,omitempty"` - // VMImage - The VM image VMSS has been configured with. Generic names such as Windows or Linux can be used. - VMImage *string `json:"vmImage,omitempty"` -} - -// ClusterPropertiesUpdateParameters describes the cluster resource properties that can be updated during -// PATCH operation. -type ClusterPropertiesUpdateParameters struct { - // AddOnFeatures - The list of add-on features to enable in the cluster. - AddOnFeatures *[]string `json:"addOnFeatures,omitempty"` - // Certificate - The certificate to use for securing the cluster. The certificate provided will be used for node to node security within the cluster, SSL certificate for cluster management endpoint and default admin client. - Certificate *CertificateDescription `json:"certificate,omitempty"` - // CertificateCommonNames - Describes a list of server certificates referenced by common name that are used to secure the cluster. - CertificateCommonNames *ServerCertificateCommonNames `json:"certificateCommonNames,omitempty"` - // ClientCertificateCommonNames - The list of client certificates referenced by common name that are allowed to manage the cluster. This will overwrite the existing list. - ClientCertificateCommonNames *[]ClientCertificateCommonName `json:"clientCertificateCommonNames,omitempty"` - // ClientCertificateThumbprints - The list of client certificates referenced by thumbprint that are allowed to manage the cluster. This will overwrite the existing list. - ClientCertificateThumbprints *[]ClientCertificateThumbprint `json:"clientCertificateThumbprints,omitempty"` - // ClusterCodeVersion - The Service Fabric runtime version of the cluster. This property can only by set the user when **upgradeMode** is set to 'Manual'. To get list of available Service Fabric versions for new clusters use [ClusterVersion API](./ClusterVersion.md). To get the list of available version for existing clusters use **availableClusterVersions**. - ClusterCodeVersion *string `json:"clusterCodeVersion,omitempty"` - // EventStoreServiceEnabled - Indicates if the event store service is enabled. - EventStoreServiceEnabled *bool `json:"eventStoreServiceEnabled,omitempty"` - // FabricSettings - The list of custom fabric settings to configure the cluster. This will overwrite the existing list. - FabricSettings *[]SettingsSectionDescription `json:"fabricSettings,omitempty"` - // NodeTypes - The list of node types in the cluster. This will overwrite the existing list. - NodeTypes *[]NodeTypeDescription `json:"nodeTypes,omitempty"` - // ReliabilityLevel - The reliability level sets the replica set size of system services. Learn about [ReliabilityLevel](https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-cluster-capacity). - // - None - Run the System services with a target replica set count of 1. This should only be used for test clusters. - // - Bronze - Run the System services with a target replica set count of 3. This should only be used for test clusters. - // - Silver - Run the System services with a target replica set count of 5. - // - Gold - Run the System services with a target replica set count of 7. - // - Platinum - Run the System services with a target replica set count of 9. - // . Possible values include: 'ReliabilityLevel1None', 'ReliabilityLevel1Bronze', 'ReliabilityLevel1Silver', 'ReliabilityLevel1Gold', 'ReliabilityLevel1Platinum' - ReliabilityLevel ReliabilityLevel1 `json:"reliabilityLevel,omitempty"` - // ReverseProxyCertificate - The server certificate used by reverse proxy. - ReverseProxyCertificate *CertificateDescription `json:"reverseProxyCertificate,omitempty"` - // UpgradeDescription - The policy to use when upgrading the cluster. - UpgradeDescription *ClusterUpgradePolicy `json:"upgradeDescription,omitempty"` - // UpgradeMode - The upgrade mode of the cluster when new Service Fabric runtime version is available. - // - Automatic - The cluster will be automatically upgraded to the latest Service Fabric runtime version as soon as it is available. - // - Manual - The cluster will not be automatically upgraded to the latest Service Fabric runtime version. The cluster is upgraded by setting the **clusterCodeVersion** property in the cluster resource. - // . Possible values include: 'UpgradeMode1Automatic', 'UpgradeMode1Manual' - UpgradeMode UpgradeMode1 `json:"upgradeMode,omitempty"` -} - -// ClustersCreateFuture an abstraction for monitoring and retrieving the results of a long-running -// operation. -type ClustersCreateFuture struct { - azure.Future -} - -// Result returns the result of the asynchronous operation. -// If the operation has not completed it will return an error. -func (future *ClustersCreateFuture) Result(client ClustersClient) (c Cluster, err error) { - var done bool - done, err = future.DoneWithContext(context.Background(), client) - if err != nil { - err = autorest.NewErrorWithError(err, "servicefabric.ClustersCreateFuture", "Result", future.Response(), "Polling failure") - return - } - if !done { - err = azure.NewAsyncOpIncompleteError("servicefabric.ClustersCreateFuture") - return - } - sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) - if c.Response.Response, err = future.GetResult(sender); err == nil && c.Response.Response.StatusCode != http.StatusNoContent { - c, err = client.CreateResponder(c.Response.Response) - if err != nil { - err = autorest.NewErrorWithError(err, "servicefabric.ClustersCreateFuture", "Result", c.Response.Response, "Failure responding to request") - } - } - return -} - -// ClustersUpdateFuture an abstraction for monitoring and retrieving the results of a long-running -// operation. -type ClustersUpdateFuture struct { - azure.Future -} - -// Result returns the result of the asynchronous operation. -// If the operation has not completed it will return an error. -func (future *ClustersUpdateFuture) Result(client ClustersClient) (c Cluster, err error) { - var done bool - done, err = future.DoneWithContext(context.Background(), client) - if err != nil { - err = autorest.NewErrorWithError(err, "servicefabric.ClustersUpdateFuture", "Result", future.Response(), "Polling failure") - return - } - if !done { - err = azure.NewAsyncOpIncompleteError("servicefabric.ClustersUpdateFuture") - return - } - sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) - if c.Response.Response, err = future.GetResult(sender); err == nil && c.Response.Response.StatusCode != http.StatusNoContent { - c, err = client.UpdateResponder(c.Response.Response) - if err != nil { - err = autorest.NewErrorWithError(err, "servicefabric.ClustersUpdateFuture", "Result", c.Response.Response, "Failure responding to request") - } - } - return -} - -// ClusterUpdateParameters cluster update request -type ClusterUpdateParameters struct { - // ClusterPropertiesUpdateParameters - Describes the cluster resource properties that can be updated during PATCH operation. - *ClusterPropertiesUpdateParameters `json:"properties,omitempty"` - // Tags - Cluster update parameters - Tags map[string]*string `json:"tags"` -} - -// MarshalJSON is the custom marshaler for ClusterUpdateParameters. -func (cup ClusterUpdateParameters) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - if cup.ClusterPropertiesUpdateParameters != nil { - objectMap["properties"] = cup.ClusterPropertiesUpdateParameters - } - if cup.Tags != nil { - objectMap["tags"] = cup.Tags - } - return json.Marshal(objectMap) -} - -// UnmarshalJSON is the custom unmarshaler for ClusterUpdateParameters struct. -func (cup *ClusterUpdateParameters) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - case "properties": - if v != nil { - var clusterPropertiesUpdateParameters ClusterPropertiesUpdateParameters - err = json.Unmarshal(*v, &clusterPropertiesUpdateParameters) - if err != nil { - return err - } - cup.ClusterPropertiesUpdateParameters = &clusterPropertiesUpdateParameters - } - case "tags": - if v != nil { - var tags map[string]*string - err = json.Unmarshal(*v, &tags) - if err != nil { - return err - } - cup.Tags = tags - } - } - } - - return nil -} - -// ClusterUpgradeDeltaHealthPolicy describes the delta health policies for the cluster upgrade. -type ClusterUpgradeDeltaHealthPolicy struct { - // MaxPercentDeltaUnhealthyNodes - The maximum allowed percentage of nodes health degradation allowed during cluster upgrades. - // The delta is measured between the state of the nodes at the beginning of upgrade and the state of the nodes at the time of the health evaluation. - // The check is performed after every upgrade domain upgrade completion to make sure the global state of the cluster is within tolerated limits. - MaxPercentDeltaUnhealthyNodes *int32 `json:"maxPercentDeltaUnhealthyNodes,omitempty"` - // MaxPercentUpgradeDomainDeltaUnhealthyNodes - The maximum allowed percentage of upgrade domain nodes health degradation allowed during cluster upgrades. - // The delta is measured between the state of the upgrade domain nodes at the beginning of upgrade and the state of the upgrade domain nodes at the time of the health evaluation. - // The check is performed after every upgrade domain upgrade completion for all completed upgrade domains to make sure the state of the upgrade domains is within tolerated limits. - MaxPercentUpgradeDomainDeltaUnhealthyNodes *int32 `json:"maxPercentUpgradeDomainDeltaUnhealthyNodes,omitempty"` - // MaxPercentDeltaUnhealthyApplications - The maximum allowed percentage of applications health degradation allowed during cluster upgrades. - // The delta is measured between the state of the applications at the beginning of upgrade and the state of the applications at the time of the health evaluation. - // The check is performed after every upgrade domain upgrade completion to make sure the global state of the cluster is within tolerated limits. System services are not included in this. - MaxPercentDeltaUnhealthyApplications *int32 `json:"maxPercentDeltaUnhealthyApplications,omitempty"` - // ApplicationDeltaHealthPolicies - Defines the application delta health policy map used to evaluate the health of an application or one of its child entities when upgrading the cluster. - ApplicationDeltaHealthPolicies map[string]*ApplicationDeltaHealthPolicy `json:"applicationDeltaHealthPolicies"` -} - -// MarshalJSON is the custom marshaler for ClusterUpgradeDeltaHealthPolicy. -func (cudhp ClusterUpgradeDeltaHealthPolicy) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - if cudhp.MaxPercentDeltaUnhealthyNodes != nil { - objectMap["maxPercentDeltaUnhealthyNodes"] = cudhp.MaxPercentDeltaUnhealthyNodes - } - if cudhp.MaxPercentUpgradeDomainDeltaUnhealthyNodes != nil { - objectMap["maxPercentUpgradeDomainDeltaUnhealthyNodes"] = cudhp.MaxPercentUpgradeDomainDeltaUnhealthyNodes - } - if cudhp.MaxPercentDeltaUnhealthyApplications != nil { - objectMap["maxPercentDeltaUnhealthyApplications"] = cudhp.MaxPercentDeltaUnhealthyApplications - } - if cudhp.ApplicationDeltaHealthPolicies != nil { - objectMap["applicationDeltaHealthPolicies"] = cudhp.ApplicationDeltaHealthPolicies - } - return json.Marshal(objectMap) -} - -// ClusterUpgradePolicy describes the policy used when upgrading the cluster. -type ClusterUpgradePolicy struct { - // ForceRestart - If true, then processes are forcefully restarted during upgrade even when the code version has not changed (the upgrade only changes configuration or data). - ForceRestart *bool `json:"forceRestart,omitempty"` - // UpgradeReplicaSetCheckTimeout - The maximum amount of time to block processing of an upgrade domain and prevent loss of availability when there are unexpected issues. When this timeout expires, processing of the upgrade domain will proceed regardless of availability loss issues. The timeout is reset at the start of each upgrade domain. The timeout can be in either hh:mm:ss or in d.hh:mm:ss.ms format. - UpgradeReplicaSetCheckTimeout *string `json:"upgradeReplicaSetCheckTimeout,omitempty"` - // HealthCheckWaitDuration - The length of time to wait after completing an upgrade domain before performing health checks. The duration can be in either hh:mm:ss or in d.hh:mm:ss.ms format. - HealthCheckWaitDuration *string `json:"healthCheckWaitDuration,omitempty"` - // HealthCheckStableDuration - The amount of time that the application or cluster must remain healthy before the upgrade proceeds to the next upgrade domain. The duration can be in either hh:mm:ss or in d.hh:mm:ss.ms format. - HealthCheckStableDuration *string `json:"healthCheckStableDuration,omitempty"` - // HealthCheckRetryTimeout - The amount of time to retry health evaluation when the application or cluster is unhealthy before the upgrade rolls back. The timeout can be in either hh:mm:ss or in d.hh:mm:ss.ms format. - HealthCheckRetryTimeout *string `json:"healthCheckRetryTimeout,omitempty"` - // UpgradeTimeout - The amount of time the overall upgrade has to complete before the upgrade rolls back. The timeout can be in either hh:mm:ss or in d.hh:mm:ss.ms format. - UpgradeTimeout *string `json:"upgradeTimeout,omitempty"` - // UpgradeDomainTimeout - The amount of time each upgrade domain has to complete before the upgrade rolls back. The timeout can be in either hh:mm:ss or in d.hh:mm:ss.ms format. - UpgradeDomainTimeout *string `json:"upgradeDomainTimeout,omitempty"` - // HealthPolicy - The cluster health policy used when upgrading the cluster. - HealthPolicy *ClusterHealthPolicy `json:"healthPolicy,omitempty"` - // DeltaHealthPolicy - The cluster delta health policy used when upgrading the cluster. - DeltaHealthPolicy *ClusterUpgradeDeltaHealthPolicy `json:"deltaHealthPolicy,omitempty"` -} - -// ClusterVersionDetails the detail of the Service Fabric runtime version result -type ClusterVersionDetails struct { - // CodeVersion - The Service Fabric runtime version of the cluster. - CodeVersion *string `json:"codeVersion,omitempty"` - // SupportExpiryUtc - The date of expiry of support of the version. - SupportExpiryUtc *string `json:"supportExpiryUtc,omitempty"` - // Environment - Indicates if this version is for Windows or Linux operating system. Possible values include: 'Windows', 'Linux' - Environment Environment `json:"environment,omitempty"` -} - -// DiagnosticsStorageAccountConfig the storage account information for storing Service Fabric diagnostic -// logs. -type DiagnosticsStorageAccountConfig struct { - // StorageAccountName - The Azure storage account name. - StorageAccountName *string `json:"storageAccountName,omitempty"` - // ProtectedAccountKeyName - The protected diagnostics storage key name. - ProtectedAccountKeyName *string `json:"protectedAccountKeyName,omitempty"` - // BlobEndpoint - The blob endpoint of the azure storage account. - BlobEndpoint *string `json:"blobEndpoint,omitempty"` - // QueueEndpoint - The queue endpoint of the azure storage account. - QueueEndpoint *string `json:"queueEndpoint,omitempty"` - // TableEndpoint - The table endpoint of the azure storage account. - TableEndpoint *string `json:"tableEndpoint,omitempty"` -} - -// EndpointRangeDescription port range details -type EndpointRangeDescription struct { - // StartPort - Starting port of a range of ports - StartPort *int32 `json:"startPort,omitempty"` - // EndPort - End port of a range of ports - EndPort *int32 `json:"endPort,omitempty"` -} - -// ErrorModel the structure of the error. -type ErrorModel struct { - // Error - The error details. - Error *ErrorModelError `json:"error,omitempty"` -} - -// ErrorModelError the error details. -type ErrorModelError struct { - // Code - The error code. - Code *string `json:"code,omitempty"` - // Message - The error message. - Message *string `json:"message,omitempty"` -} - -// NamedPartitionSchemeDescription describes the named partition scheme of the service. -type NamedPartitionSchemeDescription struct { - // Count - The number of partitions. - Count *int32 `json:"Count,omitempty"` - // Names - Array of size specified by the ‘Count’ parameter, for the names of the partitions. - Names *[]string `json:"Names,omitempty"` - // PartitionScheme - Possible values include: 'PartitionSchemePartitionSchemeDescription', 'PartitionSchemeNamed', 'PartitionSchemeSingleton', 'PartitionSchemeUniformInt64Range' - PartitionScheme PartitionSchemeBasicPartitionSchemeDescription `json:"partitionScheme,omitempty"` -} - -// MarshalJSON is the custom marshaler for NamedPartitionSchemeDescription. -func (npsd NamedPartitionSchemeDescription) MarshalJSON() ([]byte, error) { - npsd.PartitionScheme = PartitionSchemeNamed - objectMap := make(map[string]interface{}) - if npsd.Count != nil { - objectMap["Count"] = npsd.Count - } - if npsd.Names != nil { - objectMap["Names"] = npsd.Names - } - if npsd.PartitionScheme != "" { - objectMap["partitionScheme"] = npsd.PartitionScheme - } - return json.Marshal(objectMap) -} - -// AsNamedPartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for NamedPartitionSchemeDescription. -func (npsd NamedPartitionSchemeDescription) AsNamedPartitionSchemeDescription() (*NamedPartitionSchemeDescription, bool) { - return &npsd, true -} - -// AsSingletonPartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for NamedPartitionSchemeDescription. -func (npsd NamedPartitionSchemeDescription) AsSingletonPartitionSchemeDescription() (*SingletonPartitionSchemeDescription, bool) { - return nil, false -} - -// AsUniformInt64RangePartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for NamedPartitionSchemeDescription. -func (npsd NamedPartitionSchemeDescription) AsUniformInt64RangePartitionSchemeDescription() (*UniformInt64RangePartitionSchemeDescription, bool) { - return nil, false -} - -// AsPartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for NamedPartitionSchemeDescription. -func (npsd NamedPartitionSchemeDescription) AsPartitionSchemeDescription() (*PartitionSchemeDescription, bool) { - return nil, false -} - -// AsBasicPartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for NamedPartitionSchemeDescription. -func (npsd NamedPartitionSchemeDescription) AsBasicPartitionSchemeDescription() (BasicPartitionSchemeDescription, bool) { - return &npsd, true -} - -// NodeTypeDescription describes a node type in the cluster, each node type represents sub set of nodes in -// the cluster. -type NodeTypeDescription struct { - // Name - The name of the node type. - Name *string `json:"name,omitempty"` - // PlacementProperties - The placement tags applied to nodes in the node type, which can be used to indicate where certain services (workload) should run. - PlacementProperties map[string]*string `json:"placementProperties"` - // Capacities - The capacity tags applied to the nodes in the node type, the cluster resource manager uses these tags to understand how much resource a node has. - Capacities map[string]*string `json:"capacities"` - // ClientConnectionEndpointPort - The TCP cluster management endpoint port. - ClientConnectionEndpointPort *int32 `json:"clientConnectionEndpointPort,omitempty"` - // HTTPGatewayEndpointPort - The HTTP cluster management endpoint port. - HTTPGatewayEndpointPort *int32 `json:"httpGatewayEndpointPort,omitempty"` - // DurabilityLevel - The durability level of the node type. Learn about [DurabilityLevel](https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-cluster-capacity). - // - Bronze - No privileges. This is the default. - // - Silver - The infrastructure jobs can be paused for a duration of 10 minutes per UD. - // - Gold - The infrastructure jobs can be paused for a duration of 2 hours per UD. Gold durability can be enabled only on full node VM skus like D15_V2, G5 etc. - // . Possible values include: 'Bronze', 'Silver', 'Gold' - DurabilityLevel DurabilityLevel `json:"durabilityLevel,omitempty"` - // ApplicationPorts - The range of ports from which cluster assigned port to Service Fabric applications. - ApplicationPorts *EndpointRangeDescription `json:"applicationPorts,omitempty"` - // EphemeralPorts - The range of ephemeral ports that nodes in this node type should be configured with. - EphemeralPorts *EndpointRangeDescription `json:"ephemeralPorts,omitempty"` - // IsPrimary - The node type on which system services will run. Only one node type should be marked as primary. Primary node type cannot be deleted or changed for existing clusters. - IsPrimary *bool `json:"isPrimary,omitempty"` - // VMInstanceCount - The number of nodes in the node type. This count should match the capacity property in the corresponding VirtualMachineScaleSet resource. - VMInstanceCount *int32 `json:"vmInstanceCount,omitempty"` - // ReverseProxyEndpointPort - The endpoint used by reverse proxy. - ReverseProxyEndpointPort *int32 `json:"reverseProxyEndpointPort,omitempty"` -} - -// MarshalJSON is the custom marshaler for NodeTypeDescription. -func (ntd NodeTypeDescription) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - if ntd.Name != nil { - objectMap["name"] = ntd.Name - } - if ntd.PlacementProperties != nil { - objectMap["placementProperties"] = ntd.PlacementProperties - } - if ntd.Capacities != nil { - objectMap["capacities"] = ntd.Capacities - } - if ntd.ClientConnectionEndpointPort != nil { - objectMap["clientConnectionEndpointPort"] = ntd.ClientConnectionEndpointPort - } - if ntd.HTTPGatewayEndpointPort != nil { - objectMap["httpGatewayEndpointPort"] = ntd.HTTPGatewayEndpointPort - } - if ntd.DurabilityLevel != "" { - objectMap["durabilityLevel"] = ntd.DurabilityLevel - } - if ntd.ApplicationPorts != nil { - objectMap["applicationPorts"] = ntd.ApplicationPorts - } - if ntd.EphemeralPorts != nil { - objectMap["ephemeralPorts"] = ntd.EphemeralPorts - } - if ntd.IsPrimary != nil { - objectMap["isPrimary"] = ntd.IsPrimary - } - if ntd.VMInstanceCount != nil { - objectMap["vmInstanceCount"] = ntd.VMInstanceCount - } - if ntd.ReverseProxyEndpointPort != nil { - objectMap["reverseProxyEndpointPort"] = ntd.ReverseProxyEndpointPort - } - return json.Marshal(objectMap) -} - -// OperationListResult describes the result of the request to list Service Fabric resource provider -// operations. -type OperationListResult struct { - autorest.Response `json:"-"` - // Value - List of operations supported by the Service Fabric resource provider. - Value *[]OperationResult `json:"value,omitempty"` - // NextLink - READ-ONLY; URL to get the next set of operation list results if there are any. - NextLink *string `json:"nextLink,omitempty"` -} - -// OperationListResultIterator provides access to a complete listing of OperationResult values. -type OperationListResultIterator struct { - i int - page OperationListResultPage -} - -// NextWithContext advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -func (iter *OperationListResultIterator) NextWithContext(ctx context.Context) (err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/OperationListResultIterator.NextWithContext") - defer func() { - sc := -1 - if iter.Response().Response.Response != nil { - sc = iter.Response().Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - iter.i++ - if iter.i < len(iter.page.Values()) { - return nil - } - err = iter.page.NextWithContext(ctx) - if err != nil { - iter.i-- - return err - } - iter.i = 0 - return nil -} - -// Next advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -// Deprecated: Use NextWithContext() instead. -func (iter *OperationListResultIterator) Next() error { - return iter.NextWithContext(context.Background()) -} - -// NotDone returns true if the enumeration should be started or is not yet complete. -func (iter OperationListResultIterator) NotDone() bool { - return iter.page.NotDone() && iter.i < len(iter.page.Values()) -} - -// Response returns the raw server response from the last page request. -func (iter OperationListResultIterator) Response() OperationListResult { - return iter.page.Response() -} - -// Value returns the current value or a zero-initialized value if the -// iterator has advanced beyond the end of the collection. -func (iter OperationListResultIterator) Value() OperationResult { - if !iter.page.NotDone() { - return OperationResult{} - } - return iter.page.Values()[iter.i] -} - -// Creates a new instance of the OperationListResultIterator type. -func NewOperationListResultIterator(page OperationListResultPage) OperationListResultIterator { - return OperationListResultIterator{page: page} -} - -// IsEmpty returns true if the ListResult contains no values. -func (olr OperationListResult) IsEmpty() bool { - return olr.Value == nil || len(*olr.Value) == 0 -} - -// operationListResultPreparer prepares a request to retrieve the next set of results. -// It returns nil if no more results exist. -func (olr OperationListResult) operationListResultPreparer(ctx context.Context) (*http.Request, error) { - if olr.NextLink == nil || len(to.String(olr.NextLink)) < 1 { - return nil, nil - } - return autorest.Prepare((&http.Request{}).WithContext(ctx), - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(olr.NextLink))) -} - -// OperationListResultPage contains a page of OperationResult values. -type OperationListResultPage struct { - fn func(context.Context, OperationListResult) (OperationListResult, error) - olr OperationListResult -} - -// NextWithContext advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -func (page *OperationListResultPage) NextWithContext(ctx context.Context) (err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/OperationListResultPage.NextWithContext") - defer func() { - sc := -1 - if page.Response().Response.Response != nil { - sc = page.Response().Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - next, err := page.fn(ctx, page.olr) - if err != nil { - return err - } - page.olr = next - return nil -} - -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -// Deprecated: Use NextWithContext() instead. -func (page *OperationListResultPage) Next() error { - return page.NextWithContext(context.Background()) -} - -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page OperationListResultPage) NotDone() bool { - return !page.olr.IsEmpty() -} - -// Response returns the raw server response from the last page request. -func (page OperationListResultPage) Response() OperationListResult { - return page.olr -} - -// Values returns the slice of values for the current page or nil if there are no values. -func (page OperationListResultPage) Values() []OperationResult { - if page.olr.IsEmpty() { - return nil - } - return *page.olr.Value -} - -// Creates a new instance of the OperationListResultPage type. -func NewOperationListResultPage(getNextPage func(context.Context, OperationListResult) (OperationListResult, error)) OperationListResultPage { - return OperationListResultPage{fn: getNextPage} -} - -// OperationResult available operation list result -type OperationResult struct { - // Name - The name of the operation. - Name *string `json:"name,omitempty"` - // Display - The object that represents the operation. - Display *AvailableOperationDisplay `json:"display,omitempty"` - // Origin - Origin result - Origin *string `json:"origin,omitempty"` - // NextLink - The URL to use for getting the next set of results. - NextLink *string `json:"nextLink,omitempty"` -} - -// BasicPartitionSchemeDescription describes how the service is partitioned. -type BasicPartitionSchemeDescription interface { - AsNamedPartitionSchemeDescription() (*NamedPartitionSchemeDescription, bool) - AsSingletonPartitionSchemeDescription() (*SingletonPartitionSchemeDescription, bool) - AsUniformInt64RangePartitionSchemeDescription() (*UniformInt64RangePartitionSchemeDescription, bool) - AsPartitionSchemeDescription() (*PartitionSchemeDescription, bool) -} - -// PartitionSchemeDescription describes how the service is partitioned. -type PartitionSchemeDescription struct { - // PartitionScheme - Possible values include: 'PartitionSchemePartitionSchemeDescription', 'PartitionSchemeNamed', 'PartitionSchemeSingleton', 'PartitionSchemeUniformInt64Range' - PartitionScheme PartitionSchemeBasicPartitionSchemeDescription `json:"partitionScheme,omitempty"` -} - -func unmarshalBasicPartitionSchemeDescription(body []byte) (BasicPartitionSchemeDescription, error) { - var m map[string]interface{} - err := json.Unmarshal(body, &m) - if err != nil { - return nil, err - } - - switch m["partitionScheme"] { - case string(PartitionSchemeNamed): - var npsd NamedPartitionSchemeDescription - err := json.Unmarshal(body, &npsd) - return npsd, err - case string(PartitionSchemeSingleton): - var spsd SingletonPartitionSchemeDescription - err := json.Unmarshal(body, &spsd) - return spsd, err - case string(PartitionSchemeUniformInt64Range): - var ui6rpsd UniformInt64RangePartitionSchemeDescription - err := json.Unmarshal(body, &ui6rpsd) - return ui6rpsd, err - default: - var psd PartitionSchemeDescription - err := json.Unmarshal(body, &psd) - return psd, err - } -} -func unmarshalBasicPartitionSchemeDescriptionArray(body []byte) ([]BasicPartitionSchemeDescription, error) { - var rawMessages []*json.RawMessage - err := json.Unmarshal(body, &rawMessages) - if err != nil { - return nil, err - } - - psdArray := make([]BasicPartitionSchemeDescription, len(rawMessages)) - - for index, rawMessage := range rawMessages { - psd, err := unmarshalBasicPartitionSchemeDescription(*rawMessage) - if err != nil { - return nil, err - } - psdArray[index] = psd - } - return psdArray, nil -} - -// MarshalJSON is the custom marshaler for PartitionSchemeDescription. -func (psd PartitionSchemeDescription) MarshalJSON() ([]byte, error) { - psd.PartitionScheme = PartitionSchemePartitionSchemeDescription - objectMap := make(map[string]interface{}) - if psd.PartitionScheme != "" { - objectMap["partitionScheme"] = psd.PartitionScheme - } - return json.Marshal(objectMap) -} - -// AsNamedPartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for PartitionSchemeDescription. -func (psd PartitionSchemeDescription) AsNamedPartitionSchemeDescription() (*NamedPartitionSchemeDescription, bool) { - return nil, false -} - -// AsSingletonPartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for PartitionSchemeDescription. -func (psd PartitionSchemeDescription) AsSingletonPartitionSchemeDescription() (*SingletonPartitionSchemeDescription, bool) { - return nil, false -} - -// AsUniformInt64RangePartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for PartitionSchemeDescription. -func (psd PartitionSchemeDescription) AsUniformInt64RangePartitionSchemeDescription() (*UniformInt64RangePartitionSchemeDescription, bool) { - return nil, false -} - -// AsPartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for PartitionSchemeDescription. -func (psd PartitionSchemeDescription) AsPartitionSchemeDescription() (*PartitionSchemeDescription, bool) { - return &psd, true -} - -// AsBasicPartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for PartitionSchemeDescription. -func (psd PartitionSchemeDescription) AsBasicPartitionSchemeDescription() (BasicPartitionSchemeDescription, bool) { - return &psd, true -} - -// ProxyResource the resource model definition for proxy-only resource. -type ProxyResource struct { - // ID - READ-ONLY; Azure resource identifier. - ID *string `json:"id,omitempty"` - // Name - READ-ONLY; Azure resource name. - Name *string `json:"name,omitempty"` - // Type - READ-ONLY; Azure resource type. - Type *string `json:"type,omitempty"` - // Location - Azure resource location. - Location *string `json:"location,omitempty"` - // Tags - Azure resource tags. - Tags map[string]*string `json:"tags"` - // Etag - READ-ONLY; Azure resource etag. - Etag *string `json:"etag,omitempty"` -} - -// MarshalJSON is the custom marshaler for ProxyResource. -func (pr ProxyResource) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - if pr.Location != nil { - objectMap["location"] = pr.Location - } - if pr.Tags != nil { - objectMap["tags"] = pr.Tags - } - return json.Marshal(objectMap) -} - -// Resource the resource model definition. -type Resource struct { - // ID - READ-ONLY; Azure resource identifier. - ID *string `json:"id,omitempty"` - // Name - READ-ONLY; Azure resource name. - Name *string `json:"name,omitempty"` - // Type - READ-ONLY; Azure resource type. - Type *string `json:"type,omitempty"` - // Location - Azure resource location. - Location *string `json:"location,omitempty"` - // Tags - Azure resource tags. - Tags map[string]*string `json:"tags"` - // Etag - READ-ONLY; Azure resource etag. - Etag *string `json:"etag,omitempty"` -} - -// MarshalJSON is the custom marshaler for Resource. -func (r Resource) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - if r.Location != nil { - objectMap["location"] = r.Location - } - if r.Tags != nil { - objectMap["tags"] = r.Tags - } - return json.Marshal(objectMap) -} - -// ServerCertificateCommonName describes the server certificate details using common name. -type ServerCertificateCommonName struct { - // CertificateCommonName - The common name of the server certificate. - CertificateCommonName *string `json:"certificateCommonName,omitempty"` - // CertificateIssuerThumbprint - The issuer thumbprint of the server certificate. - CertificateIssuerThumbprint *string `json:"certificateIssuerThumbprint,omitempty"` -} - -// ServerCertificateCommonNames describes a list of server certificates referenced by common name that are -// used to secure the cluster. -type ServerCertificateCommonNames struct { - // CommonNames - The list of server certificates referenced by common name that are used to secure the cluster. - CommonNames *[]ServerCertificateCommonName `json:"commonNames,omitempty"` - // X509StoreName - The local certificate store location. Possible values include: 'X509StoreName1AddressBook', 'X509StoreName1AuthRoot', 'X509StoreName1CertificateAuthority', 'X509StoreName1Disallowed', 'X509StoreName1My', 'X509StoreName1Root', 'X509StoreName1TrustedPeople', 'X509StoreName1TrustedPublisher' - X509StoreName X509StoreName1 `json:"x509StoreName,omitempty"` -} - -// ServiceCorrelationDescription creates a particular correlation between services. -type ServiceCorrelationDescription struct { - // Scheme - The ServiceCorrelationScheme which describes the relationship between this service and the service specified via ServiceName. Possible values include: 'ServiceCorrelationSchemeInvalid', 'ServiceCorrelationSchemeAffinity', 'ServiceCorrelationSchemeAlignedAffinity', 'ServiceCorrelationSchemeNonAlignedAffinity' - Scheme ServiceCorrelationScheme `json:"scheme,omitempty"` - // ServiceName - The name of the service that the correlation relationship is established with. - ServiceName *string `json:"serviceName,omitempty"` -} - -// ServiceLoadMetricDescription specifies a metric to load balance a service during runtime. -type ServiceLoadMetricDescription struct { - // Name - The name of the metric. If the service chooses to report load during runtime, the load metric name should match the name that is specified in Name exactly. Note that metric names are case sensitive. - Name *string `json:"name,omitempty"` - // Weight - The service load metric relative weight, compared to other metrics configured for this service, as a number. Possible values include: 'ServiceLoadMetricWeightZero', 'ServiceLoadMetricWeightLow', 'ServiceLoadMetricWeightMedium', 'ServiceLoadMetricWeightHigh' - Weight ServiceLoadMetricWeight `json:"weight,omitempty"` - // PrimaryDefaultLoad - Used only for Stateful services. The default amount of load, as a number, that this service creates for this metric when it is a Primary replica. - PrimaryDefaultLoad *int32 `json:"primaryDefaultLoad,omitempty"` - // SecondaryDefaultLoad - Used only for Stateful services. The default amount of load, as a number, that this service creates for this metric when it is a Secondary replica. - SecondaryDefaultLoad *int32 `json:"secondaryDefaultLoad,omitempty"` - // DefaultLoad - Used only for Stateless services. The default amount of load, as a number, that this service creates for this metric. - DefaultLoad *int32 `json:"defaultLoad,omitempty"` -} - -// BasicServicePlacementPolicyDescription describes the policy to be used for placement of a Service Fabric service. -type BasicServicePlacementPolicyDescription interface { - AsServicePlacementPolicyDescription() (*ServicePlacementPolicyDescription, bool) -} - -// ServicePlacementPolicyDescription describes the policy to be used for placement of a Service Fabric service. -type ServicePlacementPolicyDescription struct { - // Type - Possible values include: 'TypeServicePlacementPolicyDescription' - Type Type `json:"Type,omitempty"` -} - -func unmarshalBasicServicePlacementPolicyDescription(body []byte) (BasicServicePlacementPolicyDescription, error) { - var m map[string]interface{} - err := json.Unmarshal(body, &m) - if err != nil { - return nil, err - } - - switch m["Type"] { - default: - var sppd ServicePlacementPolicyDescription - err := json.Unmarshal(body, &sppd) - return sppd, err - } -} -func unmarshalBasicServicePlacementPolicyDescriptionArray(body []byte) ([]BasicServicePlacementPolicyDescription, error) { - var rawMessages []*json.RawMessage - err := json.Unmarshal(body, &rawMessages) - if err != nil { - return nil, err - } - - sppdArray := make([]BasicServicePlacementPolicyDescription, len(rawMessages)) - - for index, rawMessage := range rawMessages { - sppd, err := unmarshalBasicServicePlacementPolicyDescription(*rawMessage) - if err != nil { - return nil, err - } - sppdArray[index] = sppd - } - return sppdArray, nil -} - -// MarshalJSON is the custom marshaler for ServicePlacementPolicyDescription. -func (sppd ServicePlacementPolicyDescription) MarshalJSON() ([]byte, error) { - sppd.Type = TypeServicePlacementPolicyDescription - objectMap := make(map[string]interface{}) - if sppd.Type != "" { - objectMap["Type"] = sppd.Type - } - return json.Marshal(objectMap) -} - -// AsServicePlacementPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementPolicyDescription. -func (sppd ServicePlacementPolicyDescription) AsServicePlacementPolicyDescription() (*ServicePlacementPolicyDescription, bool) { - return &sppd, true -} - -// AsBasicServicePlacementPolicyDescription is the BasicServicePlacementPolicyDescription implementation for ServicePlacementPolicyDescription. -func (sppd ServicePlacementPolicyDescription) AsBasicServicePlacementPolicyDescription() (BasicServicePlacementPolicyDescription, bool) { - return &sppd, true -} - -// ServiceResource the service resource. -type ServiceResource struct { - autorest.Response `json:"-"` - // BasicServiceResourceProperties - The service resource properties. - BasicServiceResourceProperties `json:"properties,omitempty"` - // ID - READ-ONLY; Azure resource identifier. - ID *string `json:"id,omitempty"` - // Name - READ-ONLY; Azure resource name. - Name *string `json:"name,omitempty"` - // Type - READ-ONLY; Azure resource type. - Type *string `json:"type,omitempty"` - // Location - Azure resource location. - Location *string `json:"location,omitempty"` - // Tags - Azure resource tags. - Tags map[string]*string `json:"tags"` - // Etag - READ-ONLY; Azure resource etag. - Etag *string `json:"etag,omitempty"` -} - -// MarshalJSON is the custom marshaler for ServiceResource. -func (sr ServiceResource) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - objectMap["properties"] = sr.BasicServiceResourceProperties - if sr.Location != nil { - objectMap["location"] = sr.Location - } - if sr.Tags != nil { - objectMap["tags"] = sr.Tags - } - return json.Marshal(objectMap) -} - -// UnmarshalJSON is the custom unmarshaler for ServiceResource struct. -func (sr *ServiceResource) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - case "properties": - if v != nil { - basicServiceResourceProperties, err := unmarshalBasicServiceResourceProperties(*v) - if err != nil { - return err - } - sr.BasicServiceResourceProperties = basicServiceResourceProperties - } - case "id": - if v != nil { - var ID string - err = json.Unmarshal(*v, &ID) - if err != nil { - return err - } - sr.ID = &ID - } - case "name": - if v != nil { - var name string - err = json.Unmarshal(*v, &name) - if err != nil { - return err - } - sr.Name = &name - } - case "type": - if v != nil { - var typeVar string - err = json.Unmarshal(*v, &typeVar) - if err != nil { - return err - } - sr.Type = &typeVar - } - case "location": - if v != nil { - var location string - err = json.Unmarshal(*v, &location) - if err != nil { - return err - } - sr.Location = &location - } - case "tags": - if v != nil { - var tags map[string]*string - err = json.Unmarshal(*v, &tags) - if err != nil { - return err - } - sr.Tags = tags - } - case "etag": - if v != nil { - var etag string - err = json.Unmarshal(*v, &etag) - if err != nil { - return err - } - sr.Etag = &etag - } - } - } - - return nil -} - -// ServiceResourceList the list of service resources. -type ServiceResourceList struct { - autorest.Response `json:"-"` - Value *[]ServiceResource `json:"value,omitempty"` - // NextLink - READ-ONLY; URL to get the next set of service list results if there are any. - NextLink *string `json:"nextLink,omitempty"` -} - -// BasicServiceResourceProperties the service resource properties. -type BasicServiceResourceProperties interface { - AsStatefulServiceProperties() (*StatefulServiceProperties, bool) - AsStatelessServiceProperties() (*StatelessServiceProperties, bool) - AsServiceResourceProperties() (*ServiceResourceProperties, bool) -} - -// ServiceResourceProperties the service resource properties. -type ServiceResourceProperties struct { - // ProvisioningState - READ-ONLY; The current deployment or provisioning state, which only appears in the response - ProvisioningState *string `json:"provisioningState,omitempty"` - // ServiceTypeName - The name of the service type - ServiceTypeName *string `json:"serviceTypeName,omitempty"` - // PartitionDescription - Describes how the service is partitioned. - PartitionDescription BasicPartitionSchemeDescription `json:"partitionDescription,omitempty"` - // ServicePackageActivationMode - The activation Mode of the service package. Possible values include: 'SharedProcess', 'ExclusiveProcess' - ServicePackageActivationMode ArmServicePackageActivationMode `json:"servicePackageActivationMode,omitempty"` - // ServiceKind - Possible values include: 'ServiceKindServiceResourceProperties', 'ServiceKindStateful1', 'ServiceKindStateless1' - ServiceKind ServiceKindBasicServiceResourceProperties `json:"serviceKind,omitempty"` - // PlacementConstraints - The placement constraints as a string. Placement constraints are boolean expressions on node properties and allow for restricting a service to particular nodes based on the service requirements. For example, to place a service on nodes where NodeType is blue specify the following: "NodeColor == blue)". - PlacementConstraints *string `json:"placementConstraints,omitempty"` - // CorrelationScheme - A list that describes the correlation of the service with other services. - CorrelationScheme *[]ServiceCorrelationDescription `json:"correlationScheme,omitempty"` - // ServiceLoadMetrics - The service load metrics is given as an array of ServiceLoadMetricDescription objects. - ServiceLoadMetrics *[]ServiceLoadMetricDescription `json:"serviceLoadMetrics,omitempty"` - // ServicePlacementPolicies - A list that describes the correlation of the service with other services. - ServicePlacementPolicies *[]BasicServicePlacementPolicyDescription `json:"servicePlacementPolicies,omitempty"` - // DefaultMoveCost - Specifies the move cost for the service. Possible values include: 'Zero', 'Low', 'Medium', 'High' - DefaultMoveCost MoveCost `json:"defaultMoveCost,omitempty"` -} - -func unmarshalBasicServiceResourceProperties(body []byte) (BasicServiceResourceProperties, error) { - var m map[string]interface{} - err := json.Unmarshal(body, &m) - if err != nil { - return nil, err - } - - switch m["serviceKind"] { - case string(ServiceKindStateful1): - var ssp StatefulServiceProperties - err := json.Unmarshal(body, &ssp) - return ssp, err - case string(ServiceKindStateless1): - var ssp StatelessServiceProperties - err := json.Unmarshal(body, &ssp) - return ssp, err - default: - var srp ServiceResourceProperties - err := json.Unmarshal(body, &srp) - return srp, err - } -} -func unmarshalBasicServiceResourcePropertiesArray(body []byte) ([]BasicServiceResourceProperties, error) { - var rawMessages []*json.RawMessage - err := json.Unmarshal(body, &rawMessages) - if err != nil { - return nil, err - } - - srpArray := make([]BasicServiceResourceProperties, len(rawMessages)) - - for index, rawMessage := range rawMessages { - srp, err := unmarshalBasicServiceResourceProperties(*rawMessage) - if err != nil { - return nil, err - } - srpArray[index] = srp - } - return srpArray, nil -} - -// MarshalJSON is the custom marshaler for ServiceResourceProperties. -func (srp ServiceResourceProperties) MarshalJSON() ([]byte, error) { - srp.ServiceKind = ServiceKindServiceResourceProperties - objectMap := make(map[string]interface{}) - if srp.ServiceTypeName != nil { - objectMap["serviceTypeName"] = srp.ServiceTypeName - } - objectMap["partitionDescription"] = srp.PartitionDescription - if srp.ServicePackageActivationMode != "" { - objectMap["servicePackageActivationMode"] = srp.ServicePackageActivationMode - } - if srp.ServiceKind != "" { - objectMap["serviceKind"] = srp.ServiceKind - } - if srp.PlacementConstraints != nil { - objectMap["placementConstraints"] = srp.PlacementConstraints - } - if srp.CorrelationScheme != nil { - objectMap["correlationScheme"] = srp.CorrelationScheme - } - if srp.ServiceLoadMetrics != nil { - objectMap["serviceLoadMetrics"] = srp.ServiceLoadMetrics - } - if srp.ServicePlacementPolicies != nil { - objectMap["servicePlacementPolicies"] = srp.ServicePlacementPolicies - } - if srp.DefaultMoveCost != "" { - objectMap["defaultMoveCost"] = srp.DefaultMoveCost - } - return json.Marshal(objectMap) -} - -// AsStatefulServiceProperties is the BasicServiceResourceProperties implementation for ServiceResourceProperties. -func (srp ServiceResourceProperties) AsStatefulServiceProperties() (*StatefulServiceProperties, bool) { - return nil, false -} - -// AsStatelessServiceProperties is the BasicServiceResourceProperties implementation for ServiceResourceProperties. -func (srp ServiceResourceProperties) AsStatelessServiceProperties() (*StatelessServiceProperties, bool) { - return nil, false -} - -// AsServiceResourceProperties is the BasicServiceResourceProperties implementation for ServiceResourceProperties. -func (srp ServiceResourceProperties) AsServiceResourceProperties() (*ServiceResourceProperties, bool) { - return &srp, true -} - -// AsBasicServiceResourceProperties is the BasicServiceResourceProperties implementation for ServiceResourceProperties. -func (srp ServiceResourceProperties) AsBasicServiceResourceProperties() (BasicServiceResourceProperties, bool) { - return &srp, true -} - -// UnmarshalJSON is the custom unmarshaler for ServiceResourceProperties struct. -func (srp *ServiceResourceProperties) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - case "provisioningState": - if v != nil { - var provisioningState string - err = json.Unmarshal(*v, &provisioningState) - if err != nil { - return err - } - srp.ProvisioningState = &provisioningState - } - case "serviceTypeName": - if v != nil { - var serviceTypeName string - err = json.Unmarshal(*v, &serviceTypeName) - if err != nil { - return err - } - srp.ServiceTypeName = &serviceTypeName - } - case "partitionDescription": - if v != nil { - partitionDescription, err := unmarshalBasicPartitionSchemeDescription(*v) - if err != nil { - return err - } - srp.PartitionDescription = partitionDescription - } - case "servicePackageActivationMode": - if v != nil { - var servicePackageActivationMode ArmServicePackageActivationMode - err = json.Unmarshal(*v, &servicePackageActivationMode) - if err != nil { - return err - } - srp.ServicePackageActivationMode = servicePackageActivationMode - } - case "serviceKind": - if v != nil { - var serviceKind ServiceKindBasicServiceResourceProperties - err = json.Unmarshal(*v, &serviceKind) - if err != nil { - return err - } - srp.ServiceKind = serviceKind - } - case "placementConstraints": - if v != nil { - var placementConstraints string - err = json.Unmarshal(*v, &placementConstraints) - if err != nil { - return err - } - srp.PlacementConstraints = &placementConstraints - } - case "correlationScheme": - if v != nil { - var correlationScheme []ServiceCorrelationDescription - err = json.Unmarshal(*v, &correlationScheme) - if err != nil { - return err - } - srp.CorrelationScheme = &correlationScheme - } - case "serviceLoadMetrics": - if v != nil { - var serviceLoadMetrics []ServiceLoadMetricDescription - err = json.Unmarshal(*v, &serviceLoadMetrics) - if err != nil { - return err - } - srp.ServiceLoadMetrics = &serviceLoadMetrics - } - case "servicePlacementPolicies": - if v != nil { - servicePlacementPolicies, err := unmarshalBasicServicePlacementPolicyDescriptionArray(*v) - if err != nil { - return err - } - srp.ServicePlacementPolicies = &servicePlacementPolicies - } - case "defaultMoveCost": - if v != nil { - var defaultMoveCost MoveCost - err = json.Unmarshal(*v, &defaultMoveCost) - if err != nil { - return err - } - srp.DefaultMoveCost = defaultMoveCost - } - } - } - - return nil -} - -// ServiceResourcePropertiesBase the common service resource properties. -type ServiceResourcePropertiesBase struct { - // PlacementConstraints - The placement constraints as a string. Placement constraints are boolean expressions on node properties and allow for restricting a service to particular nodes based on the service requirements. For example, to place a service on nodes where NodeType is blue specify the following: "NodeColor == blue)". - PlacementConstraints *string `json:"placementConstraints,omitempty"` - // CorrelationScheme - A list that describes the correlation of the service with other services. - CorrelationScheme *[]ServiceCorrelationDescription `json:"correlationScheme,omitempty"` - // ServiceLoadMetrics - The service load metrics is given as an array of ServiceLoadMetricDescription objects. - ServiceLoadMetrics *[]ServiceLoadMetricDescription `json:"serviceLoadMetrics,omitempty"` - // ServicePlacementPolicies - A list that describes the correlation of the service with other services. - ServicePlacementPolicies *[]BasicServicePlacementPolicyDescription `json:"servicePlacementPolicies,omitempty"` - // DefaultMoveCost - Specifies the move cost for the service. Possible values include: 'Zero', 'Low', 'Medium', 'High' - DefaultMoveCost MoveCost `json:"defaultMoveCost,omitempty"` -} - -// UnmarshalJSON is the custom unmarshaler for ServiceResourcePropertiesBase struct. -func (srpb *ServiceResourcePropertiesBase) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - case "placementConstraints": - if v != nil { - var placementConstraints string - err = json.Unmarshal(*v, &placementConstraints) - if err != nil { - return err - } - srpb.PlacementConstraints = &placementConstraints - } - case "correlationScheme": - if v != nil { - var correlationScheme []ServiceCorrelationDescription - err = json.Unmarshal(*v, &correlationScheme) - if err != nil { - return err - } - srpb.CorrelationScheme = &correlationScheme - } - case "serviceLoadMetrics": - if v != nil { - var serviceLoadMetrics []ServiceLoadMetricDescription - err = json.Unmarshal(*v, &serviceLoadMetrics) - if err != nil { - return err - } - srpb.ServiceLoadMetrics = &serviceLoadMetrics - } - case "servicePlacementPolicies": - if v != nil { - servicePlacementPolicies, err := unmarshalBasicServicePlacementPolicyDescriptionArray(*v) - if err != nil { - return err - } - srpb.ServicePlacementPolicies = &servicePlacementPolicies - } - case "defaultMoveCost": - if v != nil { - var defaultMoveCost MoveCost - err = json.Unmarshal(*v, &defaultMoveCost) - if err != nil { - return err - } - srpb.DefaultMoveCost = defaultMoveCost - } - } - } - - return nil -} - -// ServiceResourceUpdate the service resource for patch operations. -type ServiceResourceUpdate struct { - // BasicServiceResourceUpdateProperties - The service resource properties for patch operations. - BasicServiceResourceUpdateProperties `json:"properties,omitempty"` - // ID - READ-ONLY; Azure resource identifier. - ID *string `json:"id,omitempty"` - // Name - READ-ONLY; Azure resource name. - Name *string `json:"name,omitempty"` - // Type - READ-ONLY; Azure resource type. - Type *string `json:"type,omitempty"` - // Location - Azure resource location. - Location *string `json:"location,omitempty"` - // Tags - Azure resource tags. - Tags map[string]*string `json:"tags"` - // Etag - READ-ONLY; Azure resource etag. - Etag *string `json:"etag,omitempty"` -} - -// MarshalJSON is the custom marshaler for ServiceResourceUpdate. -func (sru ServiceResourceUpdate) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - objectMap["properties"] = sru.BasicServiceResourceUpdateProperties - if sru.Location != nil { - objectMap["location"] = sru.Location - } - if sru.Tags != nil { - objectMap["tags"] = sru.Tags - } - return json.Marshal(objectMap) -} - -// UnmarshalJSON is the custom unmarshaler for ServiceResourceUpdate struct. -func (sru *ServiceResourceUpdate) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - case "properties": - if v != nil { - basicServiceResourceUpdateProperties, err := unmarshalBasicServiceResourceUpdateProperties(*v) - if err != nil { - return err - } - sru.BasicServiceResourceUpdateProperties = basicServiceResourceUpdateProperties - } - case "id": - if v != nil { - var ID string - err = json.Unmarshal(*v, &ID) - if err != nil { - return err - } - sru.ID = &ID - } - case "name": - if v != nil { - var name string - err = json.Unmarshal(*v, &name) - if err != nil { - return err - } - sru.Name = &name - } - case "type": - if v != nil { - var typeVar string - err = json.Unmarshal(*v, &typeVar) - if err != nil { - return err - } - sru.Type = &typeVar - } - case "location": - if v != nil { - var location string - err = json.Unmarshal(*v, &location) - if err != nil { - return err - } - sru.Location = &location - } - case "tags": - if v != nil { - var tags map[string]*string - err = json.Unmarshal(*v, &tags) - if err != nil { - return err - } - sru.Tags = tags - } - case "etag": - if v != nil { - var etag string - err = json.Unmarshal(*v, &etag) - if err != nil { - return err - } - sru.Etag = &etag - } - } - } - - return nil -} - -// BasicServiceResourceUpdateProperties the service resource properties for patch operations. -type BasicServiceResourceUpdateProperties interface { - AsStatefulServiceUpdateProperties() (*StatefulServiceUpdateProperties, bool) - AsStatelessServiceUpdateProperties() (*StatelessServiceUpdateProperties, bool) - AsServiceResourceUpdateProperties() (*ServiceResourceUpdateProperties, bool) -} - -// ServiceResourceUpdateProperties the service resource properties for patch operations. -type ServiceResourceUpdateProperties struct { - // ServiceKind - Possible values include: 'ServiceKindBasicServiceResourceUpdatePropertiesServiceKindServiceResourceUpdateProperties', 'ServiceKindBasicServiceResourceUpdatePropertiesServiceKindStateful', 'ServiceKindBasicServiceResourceUpdatePropertiesServiceKindStateless' - ServiceKind ServiceKindBasicServiceResourceUpdateProperties `json:"serviceKind,omitempty"` - // PlacementConstraints - The placement constraints as a string. Placement constraints are boolean expressions on node properties and allow for restricting a service to particular nodes based on the service requirements. For example, to place a service on nodes where NodeType is blue specify the following: "NodeColor == blue)". - PlacementConstraints *string `json:"placementConstraints,omitempty"` - // CorrelationScheme - A list that describes the correlation of the service with other services. - CorrelationScheme *[]ServiceCorrelationDescription `json:"correlationScheme,omitempty"` - // ServiceLoadMetrics - The service load metrics is given as an array of ServiceLoadMetricDescription objects. - ServiceLoadMetrics *[]ServiceLoadMetricDescription `json:"serviceLoadMetrics,omitempty"` - // ServicePlacementPolicies - A list that describes the correlation of the service with other services. - ServicePlacementPolicies *[]BasicServicePlacementPolicyDescription `json:"servicePlacementPolicies,omitempty"` - // DefaultMoveCost - Specifies the move cost for the service. Possible values include: 'Zero', 'Low', 'Medium', 'High' - DefaultMoveCost MoveCost `json:"defaultMoveCost,omitempty"` -} - -func unmarshalBasicServiceResourceUpdateProperties(body []byte) (BasicServiceResourceUpdateProperties, error) { - var m map[string]interface{} - err := json.Unmarshal(body, &m) - if err != nil { - return nil, err - } - - switch m["serviceKind"] { - case string(ServiceKindBasicServiceResourceUpdatePropertiesServiceKindStateful): - var ssup StatefulServiceUpdateProperties - err := json.Unmarshal(body, &ssup) - return ssup, err - case string(ServiceKindBasicServiceResourceUpdatePropertiesServiceKindStateless): - var ssup StatelessServiceUpdateProperties - err := json.Unmarshal(body, &ssup) - return ssup, err - default: - var srup ServiceResourceUpdateProperties - err := json.Unmarshal(body, &srup) - return srup, err - } -} -func unmarshalBasicServiceResourceUpdatePropertiesArray(body []byte) ([]BasicServiceResourceUpdateProperties, error) { - var rawMessages []*json.RawMessage - err := json.Unmarshal(body, &rawMessages) - if err != nil { - return nil, err - } - - srupArray := make([]BasicServiceResourceUpdateProperties, len(rawMessages)) - - for index, rawMessage := range rawMessages { - srup, err := unmarshalBasicServiceResourceUpdateProperties(*rawMessage) - if err != nil { - return nil, err - } - srupArray[index] = srup - } - return srupArray, nil -} - -// MarshalJSON is the custom marshaler for ServiceResourceUpdateProperties. -func (srup ServiceResourceUpdateProperties) MarshalJSON() ([]byte, error) { - srup.ServiceKind = ServiceKindBasicServiceResourceUpdatePropertiesServiceKindServiceResourceUpdateProperties - objectMap := make(map[string]interface{}) - if srup.ServiceKind != "" { - objectMap["serviceKind"] = srup.ServiceKind - } - if srup.PlacementConstraints != nil { - objectMap["placementConstraints"] = srup.PlacementConstraints - } - if srup.CorrelationScheme != nil { - objectMap["correlationScheme"] = srup.CorrelationScheme - } - if srup.ServiceLoadMetrics != nil { - objectMap["serviceLoadMetrics"] = srup.ServiceLoadMetrics - } - if srup.ServicePlacementPolicies != nil { - objectMap["servicePlacementPolicies"] = srup.ServicePlacementPolicies - } - if srup.DefaultMoveCost != "" { - objectMap["defaultMoveCost"] = srup.DefaultMoveCost - } - return json.Marshal(objectMap) -} - -// AsStatefulServiceUpdateProperties is the BasicServiceResourceUpdateProperties implementation for ServiceResourceUpdateProperties. -func (srup ServiceResourceUpdateProperties) AsStatefulServiceUpdateProperties() (*StatefulServiceUpdateProperties, bool) { - return nil, false -} - -// AsStatelessServiceUpdateProperties is the BasicServiceResourceUpdateProperties implementation for ServiceResourceUpdateProperties. -func (srup ServiceResourceUpdateProperties) AsStatelessServiceUpdateProperties() (*StatelessServiceUpdateProperties, bool) { - return nil, false -} - -// AsServiceResourceUpdateProperties is the BasicServiceResourceUpdateProperties implementation for ServiceResourceUpdateProperties. -func (srup ServiceResourceUpdateProperties) AsServiceResourceUpdateProperties() (*ServiceResourceUpdateProperties, bool) { - return &srup, true -} - -// AsBasicServiceResourceUpdateProperties is the BasicServiceResourceUpdateProperties implementation for ServiceResourceUpdateProperties. -func (srup ServiceResourceUpdateProperties) AsBasicServiceResourceUpdateProperties() (BasicServiceResourceUpdateProperties, bool) { - return &srup, true -} - -// UnmarshalJSON is the custom unmarshaler for ServiceResourceUpdateProperties struct. -func (srup *ServiceResourceUpdateProperties) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - case "serviceKind": - if v != nil { - var serviceKind ServiceKindBasicServiceResourceUpdateProperties - err = json.Unmarshal(*v, &serviceKind) - if err != nil { - return err - } - srup.ServiceKind = serviceKind - } - case "placementConstraints": - if v != nil { - var placementConstraints string - err = json.Unmarshal(*v, &placementConstraints) - if err != nil { - return err - } - srup.PlacementConstraints = &placementConstraints - } - case "correlationScheme": - if v != nil { - var correlationScheme []ServiceCorrelationDescription - err = json.Unmarshal(*v, &correlationScheme) - if err != nil { - return err - } - srup.CorrelationScheme = &correlationScheme - } - case "serviceLoadMetrics": - if v != nil { - var serviceLoadMetrics []ServiceLoadMetricDescription - err = json.Unmarshal(*v, &serviceLoadMetrics) - if err != nil { - return err - } - srup.ServiceLoadMetrics = &serviceLoadMetrics - } - case "servicePlacementPolicies": - if v != nil { - servicePlacementPolicies, err := unmarshalBasicServicePlacementPolicyDescriptionArray(*v) - if err != nil { - return err - } - srup.ServicePlacementPolicies = &servicePlacementPolicies - } - case "defaultMoveCost": - if v != nil { - var defaultMoveCost MoveCost - err = json.Unmarshal(*v, &defaultMoveCost) - if err != nil { - return err - } - srup.DefaultMoveCost = defaultMoveCost - } - } - } - - return nil -} - -// ServicesCreateFuture an abstraction for monitoring and retrieving the results of a long-running -// operation. -type ServicesCreateFuture struct { - azure.Future -} - -// Result returns the result of the asynchronous operation. -// If the operation has not completed it will return an error. -func (future *ServicesCreateFuture) Result(client ServicesClient) (sr ServiceResource, err error) { - var done bool - done, err = future.DoneWithContext(context.Background(), client) - if err != nil { - err = autorest.NewErrorWithError(err, "servicefabric.ServicesCreateFuture", "Result", future.Response(), "Polling failure") - return - } - if !done { - err = azure.NewAsyncOpIncompleteError("servicefabric.ServicesCreateFuture") - return - } - sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) - if sr.Response.Response, err = future.GetResult(sender); err == nil && sr.Response.Response.StatusCode != http.StatusNoContent { - sr, err = client.CreateResponder(sr.Response.Response) - if err != nil { - err = autorest.NewErrorWithError(err, "servicefabric.ServicesCreateFuture", "Result", sr.Response.Response, "Failure responding to request") - } - } - return -} - -// ServicesDeleteFuture an abstraction for monitoring and retrieving the results of a long-running -// operation. -type ServicesDeleteFuture struct { - azure.Future -} - -// Result returns the result of the asynchronous operation. -// If the operation has not completed it will return an error. -func (future *ServicesDeleteFuture) Result(client ServicesClient) (ar autorest.Response, err error) { - var done bool - done, err = future.DoneWithContext(context.Background(), client) - if err != nil { - err = autorest.NewErrorWithError(err, "servicefabric.ServicesDeleteFuture", "Result", future.Response(), "Polling failure") - return - } - if !done { - err = azure.NewAsyncOpIncompleteError("servicefabric.ServicesDeleteFuture") - return - } - ar.Response = future.Response() - return -} - -// ServicesUpdateFuture an abstraction for monitoring and retrieving the results of a long-running -// operation. -type ServicesUpdateFuture struct { - azure.Future -} - -// Result returns the result of the asynchronous operation. -// If the operation has not completed it will return an error. -func (future *ServicesUpdateFuture) Result(client ServicesClient) (sr ServiceResource, err error) { - var done bool - done, err = future.DoneWithContext(context.Background(), client) - if err != nil { - err = autorest.NewErrorWithError(err, "servicefabric.ServicesUpdateFuture", "Result", future.Response(), "Polling failure") - return - } - if !done { - err = azure.NewAsyncOpIncompleteError("servicefabric.ServicesUpdateFuture") - return - } - sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) - if sr.Response.Response, err = future.GetResult(sender); err == nil && sr.Response.Response.StatusCode != http.StatusNoContent { - sr, err = client.UpdateResponder(sr.Response.Response) - if err != nil { - err = autorest.NewErrorWithError(err, "servicefabric.ServicesUpdateFuture", "Result", sr.Response.Response, "Failure responding to request") - } - } - return -} - -// ServiceTypeDeltaHealthPolicy represents the delta health policy used to evaluate the health of services -// belonging to a service type when upgrading the cluster. -type ServiceTypeDeltaHealthPolicy struct { - // MaxPercentDeltaUnhealthyServices - The maximum allowed percentage of services health degradation allowed during cluster upgrades. - // The delta is measured between the state of the services at the beginning of upgrade and the state of the services at the time of the health evaluation. - // The check is performed after every upgrade domain upgrade completion to make sure the global state of the cluster is within tolerated limits. - MaxPercentDeltaUnhealthyServices *int32 `json:"maxPercentDeltaUnhealthyServices,omitempty"` -} - -// ServiceTypeHealthPolicy represents the health policy used to evaluate the health of services belonging -// to a service type. -type ServiceTypeHealthPolicy struct { - // MaxPercentUnhealthyServices - The maximum percentage of services allowed to be unhealthy before your application is considered in error. - MaxPercentUnhealthyServices *int32 `json:"maxPercentUnhealthyServices,omitempty"` -} - -// SettingsParameterDescription describes a parameter in fabric settings of the cluster. -type SettingsParameterDescription struct { - // Name - The parameter name of fabric setting. - Name *string `json:"name,omitempty"` - // Value - The parameter value of fabric setting. - Value *string `json:"value,omitempty"` -} - -// SettingsSectionDescription describes a section in the fabric settings of the cluster. -type SettingsSectionDescription struct { - // Name - The section name of the fabric settings. - Name *string `json:"name,omitempty"` - // Parameters - The collection of parameters in the section. - Parameters *[]SettingsParameterDescription `json:"parameters,omitempty"` -} - -// SingletonPartitionSchemeDescription describes the partition scheme of a singleton-partitioned, or -// non-partitioned service. -type SingletonPartitionSchemeDescription struct { - // PartitionScheme - Possible values include: 'PartitionSchemePartitionSchemeDescription', 'PartitionSchemeNamed', 'PartitionSchemeSingleton', 'PartitionSchemeUniformInt64Range' - PartitionScheme PartitionSchemeBasicPartitionSchemeDescription `json:"partitionScheme,omitempty"` -} - -// MarshalJSON is the custom marshaler for SingletonPartitionSchemeDescription. -func (spsd SingletonPartitionSchemeDescription) MarshalJSON() ([]byte, error) { - spsd.PartitionScheme = PartitionSchemeSingleton - objectMap := make(map[string]interface{}) - if spsd.PartitionScheme != "" { - objectMap["partitionScheme"] = spsd.PartitionScheme - } - return json.Marshal(objectMap) -} - -// AsNamedPartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for SingletonPartitionSchemeDescription. -func (spsd SingletonPartitionSchemeDescription) AsNamedPartitionSchemeDescription() (*NamedPartitionSchemeDescription, bool) { - return nil, false -} - -// AsSingletonPartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for SingletonPartitionSchemeDescription. -func (spsd SingletonPartitionSchemeDescription) AsSingletonPartitionSchemeDescription() (*SingletonPartitionSchemeDescription, bool) { - return &spsd, true -} - -// AsUniformInt64RangePartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for SingletonPartitionSchemeDescription. -func (spsd SingletonPartitionSchemeDescription) AsUniformInt64RangePartitionSchemeDescription() (*UniformInt64RangePartitionSchemeDescription, bool) { - return nil, false -} - -// AsPartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for SingletonPartitionSchemeDescription. -func (spsd SingletonPartitionSchemeDescription) AsPartitionSchemeDescription() (*PartitionSchemeDescription, bool) { - return nil, false -} - -// AsBasicPartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for SingletonPartitionSchemeDescription. -func (spsd SingletonPartitionSchemeDescription) AsBasicPartitionSchemeDescription() (BasicPartitionSchemeDescription, bool) { - return &spsd, true -} - -// StatefulServiceProperties the properties of a stateful service resource. -type StatefulServiceProperties struct { - // HasPersistedState - A flag indicating whether this is a persistent service which stores states on the local disk. If it is then the value of this property is true, if not it is false. - HasPersistedState *bool `json:"hasPersistedState,omitempty"` - // TargetReplicaSetSize - The target replica set size as a number. - TargetReplicaSetSize *int32 `json:"targetReplicaSetSize,omitempty"` - // MinReplicaSetSize - The minimum replica set size as a number. - MinReplicaSetSize *int32 `json:"minReplicaSetSize,omitempty"` - // ReplicaRestartWaitDuration - The duration between when a replica goes down and when a new replica is created, represented in ISO 8601 format (hh:mm:ss.s). - ReplicaRestartWaitDuration *date.Time `json:"replicaRestartWaitDuration,omitempty"` - // QuorumLossWaitDuration - The maximum duration for which a partition is allowed to be in a state of quorum loss, represented in ISO 8601 format (hh:mm:ss.s). - QuorumLossWaitDuration *date.Time `json:"quorumLossWaitDuration,omitempty"` - // StandByReplicaKeepDuration - The definition on how long StandBy replicas should be maintained before being removed, represented in ISO 8601 format (hh:mm:ss.s). - StandByReplicaKeepDuration *date.Time `json:"standByReplicaKeepDuration,omitempty"` - // ProvisioningState - READ-ONLY; The current deployment or provisioning state, which only appears in the response - ProvisioningState *string `json:"provisioningState,omitempty"` - // ServiceTypeName - The name of the service type - ServiceTypeName *string `json:"serviceTypeName,omitempty"` - // PartitionDescription - Describes how the service is partitioned. - PartitionDescription BasicPartitionSchemeDescription `json:"partitionDescription,omitempty"` - // ServicePackageActivationMode - The activation Mode of the service package. Possible values include: 'SharedProcess', 'ExclusiveProcess' - ServicePackageActivationMode ArmServicePackageActivationMode `json:"servicePackageActivationMode,omitempty"` - // ServiceKind - Possible values include: 'ServiceKindServiceResourceProperties', 'ServiceKindStateful1', 'ServiceKindStateless1' - ServiceKind ServiceKindBasicServiceResourceProperties `json:"serviceKind,omitempty"` - // PlacementConstraints - The placement constraints as a string. Placement constraints are boolean expressions on node properties and allow for restricting a service to particular nodes based on the service requirements. For example, to place a service on nodes where NodeType is blue specify the following: "NodeColor == blue)". - PlacementConstraints *string `json:"placementConstraints,omitempty"` - // CorrelationScheme - A list that describes the correlation of the service with other services. - CorrelationScheme *[]ServiceCorrelationDescription `json:"correlationScheme,omitempty"` - // ServiceLoadMetrics - The service load metrics is given as an array of ServiceLoadMetricDescription objects. - ServiceLoadMetrics *[]ServiceLoadMetricDescription `json:"serviceLoadMetrics,omitempty"` - // ServicePlacementPolicies - A list that describes the correlation of the service with other services. - ServicePlacementPolicies *[]BasicServicePlacementPolicyDescription `json:"servicePlacementPolicies,omitempty"` - // DefaultMoveCost - Specifies the move cost for the service. Possible values include: 'Zero', 'Low', 'Medium', 'High' - DefaultMoveCost MoveCost `json:"defaultMoveCost,omitempty"` -} - -// MarshalJSON is the custom marshaler for StatefulServiceProperties. -func (ssp StatefulServiceProperties) MarshalJSON() ([]byte, error) { - ssp.ServiceKind = ServiceKindStateful1 - objectMap := make(map[string]interface{}) - if ssp.HasPersistedState != nil { - objectMap["hasPersistedState"] = ssp.HasPersistedState - } - if ssp.TargetReplicaSetSize != nil { - objectMap["targetReplicaSetSize"] = ssp.TargetReplicaSetSize - } - if ssp.MinReplicaSetSize != nil { - objectMap["minReplicaSetSize"] = ssp.MinReplicaSetSize - } - if ssp.ReplicaRestartWaitDuration != nil { - objectMap["replicaRestartWaitDuration"] = ssp.ReplicaRestartWaitDuration - } - if ssp.QuorumLossWaitDuration != nil { - objectMap["quorumLossWaitDuration"] = ssp.QuorumLossWaitDuration - } - if ssp.StandByReplicaKeepDuration != nil { - objectMap["standByReplicaKeepDuration"] = ssp.StandByReplicaKeepDuration - } - if ssp.ServiceTypeName != nil { - objectMap["serviceTypeName"] = ssp.ServiceTypeName - } - objectMap["partitionDescription"] = ssp.PartitionDescription - if ssp.ServicePackageActivationMode != "" { - objectMap["servicePackageActivationMode"] = ssp.ServicePackageActivationMode - } - if ssp.ServiceKind != "" { - objectMap["serviceKind"] = ssp.ServiceKind - } - if ssp.PlacementConstraints != nil { - objectMap["placementConstraints"] = ssp.PlacementConstraints - } - if ssp.CorrelationScheme != nil { - objectMap["correlationScheme"] = ssp.CorrelationScheme - } - if ssp.ServiceLoadMetrics != nil { - objectMap["serviceLoadMetrics"] = ssp.ServiceLoadMetrics - } - if ssp.ServicePlacementPolicies != nil { - objectMap["servicePlacementPolicies"] = ssp.ServicePlacementPolicies - } - if ssp.DefaultMoveCost != "" { - objectMap["defaultMoveCost"] = ssp.DefaultMoveCost - } - return json.Marshal(objectMap) -} - -// AsStatefulServiceProperties is the BasicServiceResourceProperties implementation for StatefulServiceProperties. -func (ssp StatefulServiceProperties) AsStatefulServiceProperties() (*StatefulServiceProperties, bool) { - return &ssp, true -} - -// AsStatelessServiceProperties is the BasicServiceResourceProperties implementation for StatefulServiceProperties. -func (ssp StatefulServiceProperties) AsStatelessServiceProperties() (*StatelessServiceProperties, bool) { - return nil, false -} - -// AsServiceResourceProperties is the BasicServiceResourceProperties implementation for StatefulServiceProperties. -func (ssp StatefulServiceProperties) AsServiceResourceProperties() (*ServiceResourceProperties, bool) { - return nil, false -} - -// AsBasicServiceResourceProperties is the BasicServiceResourceProperties implementation for StatefulServiceProperties. -func (ssp StatefulServiceProperties) AsBasicServiceResourceProperties() (BasicServiceResourceProperties, bool) { - return &ssp, true -} - -// UnmarshalJSON is the custom unmarshaler for StatefulServiceProperties struct. -func (ssp *StatefulServiceProperties) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - case "hasPersistedState": - if v != nil { - var hasPersistedState bool - err = json.Unmarshal(*v, &hasPersistedState) - if err != nil { - return err - } - ssp.HasPersistedState = &hasPersistedState - } - case "targetReplicaSetSize": - if v != nil { - var targetReplicaSetSize int32 - err = json.Unmarshal(*v, &targetReplicaSetSize) - if err != nil { - return err - } - ssp.TargetReplicaSetSize = &targetReplicaSetSize - } - case "minReplicaSetSize": - if v != nil { - var minReplicaSetSize int32 - err = json.Unmarshal(*v, &minReplicaSetSize) - if err != nil { - return err - } - ssp.MinReplicaSetSize = &minReplicaSetSize - } - case "replicaRestartWaitDuration": - if v != nil { - var replicaRestartWaitDuration date.Time - err = json.Unmarshal(*v, &replicaRestartWaitDuration) - if err != nil { - return err - } - ssp.ReplicaRestartWaitDuration = &replicaRestartWaitDuration - } - case "quorumLossWaitDuration": - if v != nil { - var quorumLossWaitDuration date.Time - err = json.Unmarshal(*v, &quorumLossWaitDuration) - if err != nil { - return err - } - ssp.QuorumLossWaitDuration = &quorumLossWaitDuration - } - case "standByReplicaKeepDuration": - if v != nil { - var standByReplicaKeepDuration date.Time - err = json.Unmarshal(*v, &standByReplicaKeepDuration) - if err != nil { - return err - } - ssp.StandByReplicaKeepDuration = &standByReplicaKeepDuration - } - case "provisioningState": - if v != nil { - var provisioningState string - err = json.Unmarshal(*v, &provisioningState) - if err != nil { - return err - } - ssp.ProvisioningState = &provisioningState - } - case "serviceTypeName": - if v != nil { - var serviceTypeName string - err = json.Unmarshal(*v, &serviceTypeName) - if err != nil { - return err - } - ssp.ServiceTypeName = &serviceTypeName - } - case "partitionDescription": - if v != nil { - partitionDescription, err := unmarshalBasicPartitionSchemeDescription(*v) - if err != nil { - return err - } - ssp.PartitionDescription = partitionDescription - } - case "servicePackageActivationMode": - if v != nil { - var servicePackageActivationMode ArmServicePackageActivationMode - err = json.Unmarshal(*v, &servicePackageActivationMode) - if err != nil { - return err - } - ssp.ServicePackageActivationMode = servicePackageActivationMode - } - case "serviceKind": - if v != nil { - var serviceKind ServiceKindBasicServiceResourceProperties - err = json.Unmarshal(*v, &serviceKind) - if err != nil { - return err - } - ssp.ServiceKind = serviceKind - } - case "placementConstraints": - if v != nil { - var placementConstraints string - err = json.Unmarshal(*v, &placementConstraints) - if err != nil { - return err - } - ssp.PlacementConstraints = &placementConstraints - } - case "correlationScheme": - if v != nil { - var correlationScheme []ServiceCorrelationDescription - err = json.Unmarshal(*v, &correlationScheme) - if err != nil { - return err - } - ssp.CorrelationScheme = &correlationScheme - } - case "serviceLoadMetrics": - if v != nil { - var serviceLoadMetrics []ServiceLoadMetricDescription - err = json.Unmarshal(*v, &serviceLoadMetrics) - if err != nil { - return err - } - ssp.ServiceLoadMetrics = &serviceLoadMetrics - } - case "servicePlacementPolicies": - if v != nil { - servicePlacementPolicies, err := unmarshalBasicServicePlacementPolicyDescriptionArray(*v) - if err != nil { - return err - } - ssp.ServicePlacementPolicies = &servicePlacementPolicies - } - case "defaultMoveCost": - if v != nil { - var defaultMoveCost MoveCost - err = json.Unmarshal(*v, &defaultMoveCost) - if err != nil { - return err - } - ssp.DefaultMoveCost = defaultMoveCost - } - } - } - - return nil -} - -// StatefulServiceUpdateProperties the properties of a stateful service resource for patch operations. -type StatefulServiceUpdateProperties struct { - // TargetReplicaSetSize - The target replica set size as a number. - TargetReplicaSetSize *int32 `json:"targetReplicaSetSize,omitempty"` - // MinReplicaSetSize - The minimum replica set size as a number. - MinReplicaSetSize *int32 `json:"minReplicaSetSize,omitempty"` - // ReplicaRestartWaitDuration - The duration between when a replica goes down and when a new replica is created, represented in ISO 8601 format (hh:mm:ss.s). - ReplicaRestartWaitDuration *date.Time `json:"replicaRestartWaitDuration,omitempty"` - // QuorumLossWaitDuration - The maximum duration for which a partition is allowed to be in a state of quorum loss, represented in ISO 8601 format (hh:mm:ss.s). - QuorumLossWaitDuration *date.Time `json:"quorumLossWaitDuration,omitempty"` - // StandByReplicaKeepDuration - The definition on how long StandBy replicas should be maintained before being removed, represented in ISO 8601 format (hh:mm:ss.s). - StandByReplicaKeepDuration *date.Time `json:"standByReplicaKeepDuration,omitempty"` - // ServiceKind - Possible values include: 'ServiceKindBasicServiceResourceUpdatePropertiesServiceKindServiceResourceUpdateProperties', 'ServiceKindBasicServiceResourceUpdatePropertiesServiceKindStateful', 'ServiceKindBasicServiceResourceUpdatePropertiesServiceKindStateless' - ServiceKind ServiceKindBasicServiceResourceUpdateProperties `json:"serviceKind,omitempty"` - // PlacementConstraints - The placement constraints as a string. Placement constraints are boolean expressions on node properties and allow for restricting a service to particular nodes based on the service requirements. For example, to place a service on nodes where NodeType is blue specify the following: "NodeColor == blue)". - PlacementConstraints *string `json:"placementConstraints,omitempty"` - // CorrelationScheme - A list that describes the correlation of the service with other services. - CorrelationScheme *[]ServiceCorrelationDescription `json:"correlationScheme,omitempty"` - // ServiceLoadMetrics - The service load metrics is given as an array of ServiceLoadMetricDescription objects. - ServiceLoadMetrics *[]ServiceLoadMetricDescription `json:"serviceLoadMetrics,omitempty"` - // ServicePlacementPolicies - A list that describes the correlation of the service with other services. - ServicePlacementPolicies *[]BasicServicePlacementPolicyDescription `json:"servicePlacementPolicies,omitempty"` - // DefaultMoveCost - Specifies the move cost for the service. Possible values include: 'Zero', 'Low', 'Medium', 'High' - DefaultMoveCost MoveCost `json:"defaultMoveCost,omitempty"` -} - -// MarshalJSON is the custom marshaler for StatefulServiceUpdateProperties. -func (ssup StatefulServiceUpdateProperties) MarshalJSON() ([]byte, error) { - ssup.ServiceKind = ServiceKindBasicServiceResourceUpdatePropertiesServiceKindStateful - objectMap := make(map[string]interface{}) - if ssup.TargetReplicaSetSize != nil { - objectMap["targetReplicaSetSize"] = ssup.TargetReplicaSetSize - } - if ssup.MinReplicaSetSize != nil { - objectMap["minReplicaSetSize"] = ssup.MinReplicaSetSize - } - if ssup.ReplicaRestartWaitDuration != nil { - objectMap["replicaRestartWaitDuration"] = ssup.ReplicaRestartWaitDuration - } - if ssup.QuorumLossWaitDuration != nil { - objectMap["quorumLossWaitDuration"] = ssup.QuorumLossWaitDuration - } - if ssup.StandByReplicaKeepDuration != nil { - objectMap["standByReplicaKeepDuration"] = ssup.StandByReplicaKeepDuration - } - if ssup.ServiceKind != "" { - objectMap["serviceKind"] = ssup.ServiceKind - } - if ssup.PlacementConstraints != nil { - objectMap["placementConstraints"] = ssup.PlacementConstraints - } - if ssup.CorrelationScheme != nil { - objectMap["correlationScheme"] = ssup.CorrelationScheme - } - if ssup.ServiceLoadMetrics != nil { - objectMap["serviceLoadMetrics"] = ssup.ServiceLoadMetrics - } - if ssup.ServicePlacementPolicies != nil { - objectMap["servicePlacementPolicies"] = ssup.ServicePlacementPolicies - } - if ssup.DefaultMoveCost != "" { - objectMap["defaultMoveCost"] = ssup.DefaultMoveCost - } - return json.Marshal(objectMap) -} - -// AsStatefulServiceUpdateProperties is the BasicServiceResourceUpdateProperties implementation for StatefulServiceUpdateProperties. -func (ssup StatefulServiceUpdateProperties) AsStatefulServiceUpdateProperties() (*StatefulServiceUpdateProperties, bool) { - return &ssup, true -} - -// AsStatelessServiceUpdateProperties is the BasicServiceResourceUpdateProperties implementation for StatefulServiceUpdateProperties. -func (ssup StatefulServiceUpdateProperties) AsStatelessServiceUpdateProperties() (*StatelessServiceUpdateProperties, bool) { - return nil, false -} - -// AsServiceResourceUpdateProperties is the BasicServiceResourceUpdateProperties implementation for StatefulServiceUpdateProperties. -func (ssup StatefulServiceUpdateProperties) AsServiceResourceUpdateProperties() (*ServiceResourceUpdateProperties, bool) { - return nil, false -} - -// AsBasicServiceResourceUpdateProperties is the BasicServiceResourceUpdateProperties implementation for StatefulServiceUpdateProperties. -func (ssup StatefulServiceUpdateProperties) AsBasicServiceResourceUpdateProperties() (BasicServiceResourceUpdateProperties, bool) { - return &ssup, true -} - -// UnmarshalJSON is the custom unmarshaler for StatefulServiceUpdateProperties struct. -func (ssup *StatefulServiceUpdateProperties) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - case "targetReplicaSetSize": - if v != nil { - var targetReplicaSetSize int32 - err = json.Unmarshal(*v, &targetReplicaSetSize) - if err != nil { - return err - } - ssup.TargetReplicaSetSize = &targetReplicaSetSize - } - case "minReplicaSetSize": - if v != nil { - var minReplicaSetSize int32 - err = json.Unmarshal(*v, &minReplicaSetSize) - if err != nil { - return err - } - ssup.MinReplicaSetSize = &minReplicaSetSize - } - case "replicaRestartWaitDuration": - if v != nil { - var replicaRestartWaitDuration date.Time - err = json.Unmarshal(*v, &replicaRestartWaitDuration) - if err != nil { - return err - } - ssup.ReplicaRestartWaitDuration = &replicaRestartWaitDuration - } - case "quorumLossWaitDuration": - if v != nil { - var quorumLossWaitDuration date.Time - err = json.Unmarshal(*v, &quorumLossWaitDuration) - if err != nil { - return err - } - ssup.QuorumLossWaitDuration = &quorumLossWaitDuration - } - case "standByReplicaKeepDuration": - if v != nil { - var standByReplicaKeepDuration date.Time - err = json.Unmarshal(*v, &standByReplicaKeepDuration) - if err != nil { - return err - } - ssup.StandByReplicaKeepDuration = &standByReplicaKeepDuration - } - case "serviceKind": - if v != nil { - var serviceKind ServiceKindBasicServiceResourceUpdateProperties - err = json.Unmarshal(*v, &serviceKind) - if err != nil { - return err - } - ssup.ServiceKind = serviceKind - } - case "placementConstraints": - if v != nil { - var placementConstraints string - err = json.Unmarshal(*v, &placementConstraints) - if err != nil { - return err - } - ssup.PlacementConstraints = &placementConstraints - } - case "correlationScheme": - if v != nil { - var correlationScheme []ServiceCorrelationDescription - err = json.Unmarshal(*v, &correlationScheme) - if err != nil { - return err - } - ssup.CorrelationScheme = &correlationScheme - } - case "serviceLoadMetrics": - if v != nil { - var serviceLoadMetrics []ServiceLoadMetricDescription - err = json.Unmarshal(*v, &serviceLoadMetrics) - if err != nil { - return err - } - ssup.ServiceLoadMetrics = &serviceLoadMetrics - } - case "servicePlacementPolicies": - if v != nil { - servicePlacementPolicies, err := unmarshalBasicServicePlacementPolicyDescriptionArray(*v) - if err != nil { - return err - } - ssup.ServicePlacementPolicies = &servicePlacementPolicies - } - case "defaultMoveCost": - if v != nil { - var defaultMoveCost MoveCost - err = json.Unmarshal(*v, &defaultMoveCost) - if err != nil { - return err - } - ssup.DefaultMoveCost = defaultMoveCost - } - } - } - - return nil -} - -// StatelessServiceProperties the properties of a stateless service resource. -type StatelessServiceProperties struct { - // InstanceCount - The instance count. - InstanceCount *int32 `json:"instanceCount,omitempty"` - // ProvisioningState - READ-ONLY; The current deployment or provisioning state, which only appears in the response - ProvisioningState *string `json:"provisioningState,omitempty"` - // ServiceTypeName - The name of the service type - ServiceTypeName *string `json:"serviceTypeName,omitempty"` - // PartitionDescription - Describes how the service is partitioned. - PartitionDescription BasicPartitionSchemeDescription `json:"partitionDescription,omitempty"` - // ServicePackageActivationMode - The activation Mode of the service package. Possible values include: 'SharedProcess', 'ExclusiveProcess' - ServicePackageActivationMode ArmServicePackageActivationMode `json:"servicePackageActivationMode,omitempty"` - // ServiceKind - Possible values include: 'ServiceKindServiceResourceProperties', 'ServiceKindStateful1', 'ServiceKindStateless1' - ServiceKind ServiceKindBasicServiceResourceProperties `json:"serviceKind,omitempty"` - // PlacementConstraints - The placement constraints as a string. Placement constraints are boolean expressions on node properties and allow for restricting a service to particular nodes based on the service requirements. For example, to place a service on nodes where NodeType is blue specify the following: "NodeColor == blue)". - PlacementConstraints *string `json:"placementConstraints,omitempty"` - // CorrelationScheme - A list that describes the correlation of the service with other services. - CorrelationScheme *[]ServiceCorrelationDescription `json:"correlationScheme,omitempty"` - // ServiceLoadMetrics - The service load metrics is given as an array of ServiceLoadMetricDescription objects. - ServiceLoadMetrics *[]ServiceLoadMetricDescription `json:"serviceLoadMetrics,omitempty"` - // ServicePlacementPolicies - A list that describes the correlation of the service with other services. - ServicePlacementPolicies *[]BasicServicePlacementPolicyDescription `json:"servicePlacementPolicies,omitempty"` - // DefaultMoveCost - Specifies the move cost for the service. Possible values include: 'Zero', 'Low', 'Medium', 'High' - DefaultMoveCost MoveCost `json:"defaultMoveCost,omitempty"` -} - -// MarshalJSON is the custom marshaler for StatelessServiceProperties. -func (ssp StatelessServiceProperties) MarshalJSON() ([]byte, error) { - ssp.ServiceKind = ServiceKindStateless1 - objectMap := make(map[string]interface{}) - if ssp.InstanceCount != nil { - objectMap["instanceCount"] = ssp.InstanceCount - } - if ssp.ServiceTypeName != nil { - objectMap["serviceTypeName"] = ssp.ServiceTypeName - } - objectMap["partitionDescription"] = ssp.PartitionDescription - if ssp.ServicePackageActivationMode != "" { - objectMap["servicePackageActivationMode"] = ssp.ServicePackageActivationMode - } - if ssp.ServiceKind != "" { - objectMap["serviceKind"] = ssp.ServiceKind - } - if ssp.PlacementConstraints != nil { - objectMap["placementConstraints"] = ssp.PlacementConstraints - } - if ssp.CorrelationScheme != nil { - objectMap["correlationScheme"] = ssp.CorrelationScheme - } - if ssp.ServiceLoadMetrics != nil { - objectMap["serviceLoadMetrics"] = ssp.ServiceLoadMetrics - } - if ssp.ServicePlacementPolicies != nil { - objectMap["servicePlacementPolicies"] = ssp.ServicePlacementPolicies - } - if ssp.DefaultMoveCost != "" { - objectMap["defaultMoveCost"] = ssp.DefaultMoveCost - } - return json.Marshal(objectMap) -} - -// AsStatefulServiceProperties is the BasicServiceResourceProperties implementation for StatelessServiceProperties. -func (ssp StatelessServiceProperties) AsStatefulServiceProperties() (*StatefulServiceProperties, bool) { - return nil, false -} - -// AsStatelessServiceProperties is the BasicServiceResourceProperties implementation for StatelessServiceProperties. -func (ssp StatelessServiceProperties) AsStatelessServiceProperties() (*StatelessServiceProperties, bool) { - return &ssp, true -} - -// AsServiceResourceProperties is the BasicServiceResourceProperties implementation for StatelessServiceProperties. -func (ssp StatelessServiceProperties) AsServiceResourceProperties() (*ServiceResourceProperties, bool) { - return nil, false -} - -// AsBasicServiceResourceProperties is the BasicServiceResourceProperties implementation for StatelessServiceProperties. -func (ssp StatelessServiceProperties) AsBasicServiceResourceProperties() (BasicServiceResourceProperties, bool) { - return &ssp, true -} - -// UnmarshalJSON is the custom unmarshaler for StatelessServiceProperties struct. -func (ssp *StatelessServiceProperties) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - case "instanceCount": - if v != nil { - var instanceCount int32 - err = json.Unmarshal(*v, &instanceCount) - if err != nil { - return err - } - ssp.InstanceCount = &instanceCount - } - case "provisioningState": - if v != nil { - var provisioningState string - err = json.Unmarshal(*v, &provisioningState) - if err != nil { - return err - } - ssp.ProvisioningState = &provisioningState - } - case "serviceTypeName": - if v != nil { - var serviceTypeName string - err = json.Unmarshal(*v, &serviceTypeName) - if err != nil { - return err - } - ssp.ServiceTypeName = &serviceTypeName - } - case "partitionDescription": - if v != nil { - partitionDescription, err := unmarshalBasicPartitionSchemeDescription(*v) - if err != nil { - return err - } - ssp.PartitionDescription = partitionDescription - } - case "servicePackageActivationMode": - if v != nil { - var servicePackageActivationMode ArmServicePackageActivationMode - err = json.Unmarshal(*v, &servicePackageActivationMode) - if err != nil { - return err - } - ssp.ServicePackageActivationMode = servicePackageActivationMode - } - case "serviceKind": - if v != nil { - var serviceKind ServiceKindBasicServiceResourceProperties - err = json.Unmarshal(*v, &serviceKind) - if err != nil { - return err - } - ssp.ServiceKind = serviceKind - } - case "placementConstraints": - if v != nil { - var placementConstraints string - err = json.Unmarshal(*v, &placementConstraints) - if err != nil { - return err - } - ssp.PlacementConstraints = &placementConstraints - } - case "correlationScheme": - if v != nil { - var correlationScheme []ServiceCorrelationDescription - err = json.Unmarshal(*v, &correlationScheme) - if err != nil { - return err - } - ssp.CorrelationScheme = &correlationScheme - } - case "serviceLoadMetrics": - if v != nil { - var serviceLoadMetrics []ServiceLoadMetricDescription - err = json.Unmarshal(*v, &serviceLoadMetrics) - if err != nil { - return err - } - ssp.ServiceLoadMetrics = &serviceLoadMetrics - } - case "servicePlacementPolicies": - if v != nil { - servicePlacementPolicies, err := unmarshalBasicServicePlacementPolicyDescriptionArray(*v) - if err != nil { - return err - } - ssp.ServicePlacementPolicies = &servicePlacementPolicies - } - case "defaultMoveCost": - if v != nil { - var defaultMoveCost MoveCost - err = json.Unmarshal(*v, &defaultMoveCost) - if err != nil { - return err - } - ssp.DefaultMoveCost = defaultMoveCost - } - } - } - - return nil -} - -// StatelessServiceUpdateProperties the properties of a stateless service resource for patch operations. -type StatelessServiceUpdateProperties struct { - // InstanceCount - The instance count. - InstanceCount *int32 `json:"instanceCount,omitempty"` - // ServiceKind - Possible values include: 'ServiceKindBasicServiceResourceUpdatePropertiesServiceKindServiceResourceUpdateProperties', 'ServiceKindBasicServiceResourceUpdatePropertiesServiceKindStateful', 'ServiceKindBasicServiceResourceUpdatePropertiesServiceKindStateless' - ServiceKind ServiceKindBasicServiceResourceUpdateProperties `json:"serviceKind,omitempty"` - // PlacementConstraints - The placement constraints as a string. Placement constraints are boolean expressions on node properties and allow for restricting a service to particular nodes based on the service requirements. For example, to place a service on nodes where NodeType is blue specify the following: "NodeColor == blue)". - PlacementConstraints *string `json:"placementConstraints,omitempty"` - // CorrelationScheme - A list that describes the correlation of the service with other services. - CorrelationScheme *[]ServiceCorrelationDescription `json:"correlationScheme,omitempty"` - // ServiceLoadMetrics - The service load metrics is given as an array of ServiceLoadMetricDescription objects. - ServiceLoadMetrics *[]ServiceLoadMetricDescription `json:"serviceLoadMetrics,omitempty"` - // ServicePlacementPolicies - A list that describes the correlation of the service with other services. - ServicePlacementPolicies *[]BasicServicePlacementPolicyDescription `json:"servicePlacementPolicies,omitempty"` - // DefaultMoveCost - Specifies the move cost for the service. Possible values include: 'Zero', 'Low', 'Medium', 'High' - DefaultMoveCost MoveCost `json:"defaultMoveCost,omitempty"` -} - -// MarshalJSON is the custom marshaler for StatelessServiceUpdateProperties. -func (ssup StatelessServiceUpdateProperties) MarshalJSON() ([]byte, error) { - ssup.ServiceKind = ServiceKindBasicServiceResourceUpdatePropertiesServiceKindStateless - objectMap := make(map[string]interface{}) - if ssup.InstanceCount != nil { - objectMap["instanceCount"] = ssup.InstanceCount - } - if ssup.ServiceKind != "" { - objectMap["serviceKind"] = ssup.ServiceKind - } - if ssup.PlacementConstraints != nil { - objectMap["placementConstraints"] = ssup.PlacementConstraints - } - if ssup.CorrelationScheme != nil { - objectMap["correlationScheme"] = ssup.CorrelationScheme - } - if ssup.ServiceLoadMetrics != nil { - objectMap["serviceLoadMetrics"] = ssup.ServiceLoadMetrics - } - if ssup.ServicePlacementPolicies != nil { - objectMap["servicePlacementPolicies"] = ssup.ServicePlacementPolicies - } - if ssup.DefaultMoveCost != "" { - objectMap["defaultMoveCost"] = ssup.DefaultMoveCost - } - return json.Marshal(objectMap) -} - -// AsStatefulServiceUpdateProperties is the BasicServiceResourceUpdateProperties implementation for StatelessServiceUpdateProperties. -func (ssup StatelessServiceUpdateProperties) AsStatefulServiceUpdateProperties() (*StatefulServiceUpdateProperties, bool) { - return nil, false -} - -// AsStatelessServiceUpdateProperties is the BasicServiceResourceUpdateProperties implementation for StatelessServiceUpdateProperties. -func (ssup StatelessServiceUpdateProperties) AsStatelessServiceUpdateProperties() (*StatelessServiceUpdateProperties, bool) { - return &ssup, true -} - -// AsServiceResourceUpdateProperties is the BasicServiceResourceUpdateProperties implementation for StatelessServiceUpdateProperties. -func (ssup StatelessServiceUpdateProperties) AsServiceResourceUpdateProperties() (*ServiceResourceUpdateProperties, bool) { - return nil, false -} - -// AsBasicServiceResourceUpdateProperties is the BasicServiceResourceUpdateProperties implementation for StatelessServiceUpdateProperties. -func (ssup StatelessServiceUpdateProperties) AsBasicServiceResourceUpdateProperties() (BasicServiceResourceUpdateProperties, bool) { - return &ssup, true -} - -// UnmarshalJSON is the custom unmarshaler for StatelessServiceUpdateProperties struct. -func (ssup *StatelessServiceUpdateProperties) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - case "instanceCount": - if v != nil { - var instanceCount int32 - err = json.Unmarshal(*v, &instanceCount) - if err != nil { - return err - } - ssup.InstanceCount = &instanceCount - } - case "serviceKind": - if v != nil { - var serviceKind ServiceKindBasicServiceResourceUpdateProperties - err = json.Unmarshal(*v, &serviceKind) - if err != nil { - return err - } - ssup.ServiceKind = serviceKind - } - case "placementConstraints": - if v != nil { - var placementConstraints string - err = json.Unmarshal(*v, &placementConstraints) - if err != nil { - return err - } - ssup.PlacementConstraints = &placementConstraints - } - case "correlationScheme": - if v != nil { - var correlationScheme []ServiceCorrelationDescription - err = json.Unmarshal(*v, &correlationScheme) - if err != nil { - return err - } - ssup.CorrelationScheme = &correlationScheme - } - case "serviceLoadMetrics": - if v != nil { - var serviceLoadMetrics []ServiceLoadMetricDescription - err = json.Unmarshal(*v, &serviceLoadMetrics) - if err != nil { - return err - } - ssup.ServiceLoadMetrics = &serviceLoadMetrics - } - case "servicePlacementPolicies": - if v != nil { - servicePlacementPolicies, err := unmarshalBasicServicePlacementPolicyDescriptionArray(*v) - if err != nil { - return err - } - ssup.ServicePlacementPolicies = &servicePlacementPolicies - } - case "defaultMoveCost": - if v != nil { - var defaultMoveCost MoveCost - err = json.Unmarshal(*v, &defaultMoveCost) - if err != nil { - return err - } - ssup.DefaultMoveCost = defaultMoveCost - } - } - } - - return nil -} - -// UniformInt64RangePartitionSchemeDescription describes a partitioning scheme where an integer range is -// allocated evenly across a number of partitions. -type UniformInt64RangePartitionSchemeDescription struct { - // Count - The number of partitions. - Count *int32 `json:"Count,omitempty"` - // LowKey - String indicating the lower bound of the partition key range that - // should be split between the partition ‘Count’ - LowKey *string `json:"LowKey,omitempty"` - // HighKey - String indicating the upper bound of the partition key range that - // should be split between the partition ‘Count’ - HighKey *string `json:"HighKey,omitempty"` - // PartitionScheme - Possible values include: 'PartitionSchemePartitionSchemeDescription', 'PartitionSchemeNamed', 'PartitionSchemeSingleton', 'PartitionSchemeUniformInt64Range' - PartitionScheme PartitionSchemeBasicPartitionSchemeDescription `json:"partitionScheme,omitempty"` -} - -// MarshalJSON is the custom marshaler for UniformInt64RangePartitionSchemeDescription. -func (ui6rpsd UniformInt64RangePartitionSchemeDescription) MarshalJSON() ([]byte, error) { - ui6rpsd.PartitionScheme = PartitionSchemeUniformInt64Range - objectMap := make(map[string]interface{}) - if ui6rpsd.Count != nil { - objectMap["Count"] = ui6rpsd.Count - } - if ui6rpsd.LowKey != nil { - objectMap["LowKey"] = ui6rpsd.LowKey - } - if ui6rpsd.HighKey != nil { - objectMap["HighKey"] = ui6rpsd.HighKey - } - if ui6rpsd.PartitionScheme != "" { - objectMap["partitionScheme"] = ui6rpsd.PartitionScheme - } - return json.Marshal(objectMap) -} - -// AsNamedPartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for UniformInt64RangePartitionSchemeDescription. -func (ui6rpsd UniformInt64RangePartitionSchemeDescription) AsNamedPartitionSchemeDescription() (*NamedPartitionSchemeDescription, bool) { - return nil, false -} - -// AsSingletonPartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for UniformInt64RangePartitionSchemeDescription. -func (ui6rpsd UniformInt64RangePartitionSchemeDescription) AsSingletonPartitionSchemeDescription() (*SingletonPartitionSchemeDescription, bool) { - return nil, false -} - -// AsUniformInt64RangePartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for UniformInt64RangePartitionSchemeDescription. -func (ui6rpsd UniformInt64RangePartitionSchemeDescription) AsUniformInt64RangePartitionSchemeDescription() (*UniformInt64RangePartitionSchemeDescription, bool) { - return &ui6rpsd, true -} - -// AsPartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for UniformInt64RangePartitionSchemeDescription. -func (ui6rpsd UniformInt64RangePartitionSchemeDescription) AsPartitionSchemeDescription() (*PartitionSchemeDescription, bool) { - return nil, false -} - -// AsBasicPartitionSchemeDescription is the BasicPartitionSchemeDescription implementation for UniformInt64RangePartitionSchemeDescription. -func (ui6rpsd UniformInt64RangePartitionSchemeDescription) AsBasicPartitionSchemeDescription() (BasicPartitionSchemeDescription, bool) { - return &ui6rpsd, true -} diff --git a/services/preview/servicefabric/mgmt/2019-03-01/servicefabric/servicefabricapi/interfaces.go b/services/preview/servicefabric/mgmt/2019-03-01/servicefabric/servicefabricapi/interfaces.go deleted file mode 100644 index 37c053f1278a..000000000000 --- a/services/preview/servicefabric/mgmt/2019-03-01/servicefabric/servicefabricapi/interfaces.go +++ /dev/null @@ -1,95 +0,0 @@ -package servicefabricapi - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/azure-sdk-for-go/services/preview/servicefabric/mgmt/2019-03-01/servicefabric" - "github.com/Azure/go-autorest/autorest" -) - -// ClustersClientAPI contains the set of methods on the ClustersClient type. -type ClustersClientAPI interface { - Create(ctx context.Context, resourceGroupName string, clusterName string, parameters servicefabric.Cluster) (result servicefabric.ClustersCreateFuture, err error) - Delete(ctx context.Context, resourceGroupName string, clusterName string) (result autorest.Response, err error) - Get(ctx context.Context, resourceGroupName string, clusterName string) (result servicefabric.Cluster, err error) - List(ctx context.Context) (result servicefabric.ClusterListResult, err error) - ListByResourceGroup(ctx context.Context, resourceGroupName string) (result servicefabric.ClusterListResult, err error) - Update(ctx context.Context, resourceGroupName string, clusterName string, parameters servicefabric.ClusterUpdateParameters) (result servicefabric.ClustersUpdateFuture, err error) -} - -var _ ClustersClientAPI = (*servicefabric.ClustersClient)(nil) - -// ClusterVersionsClientAPI contains the set of methods on the ClusterVersionsClient type. -type ClusterVersionsClientAPI interface { - Get(ctx context.Context, location string, clusterVersion string) (result servicefabric.ClusterCodeVersionsListResult, err error) - GetByEnvironment(ctx context.Context, location string, environment string, clusterVersion string) (result servicefabric.ClusterCodeVersionsListResult, err error) - List(ctx context.Context, location string) (result servicefabric.ClusterCodeVersionsListResult, err error) - ListByEnvironment(ctx context.Context, location string, environment string) (result servicefabric.ClusterCodeVersionsListResult, err error) -} - -var _ ClusterVersionsClientAPI = (*servicefabric.ClusterVersionsClient)(nil) - -// OperationsClientAPI contains the set of methods on the OperationsClient type. -type OperationsClientAPI interface { - List(ctx context.Context) (result servicefabric.OperationListResultPage, err error) -} - -var _ OperationsClientAPI = (*servicefabric.OperationsClient)(nil) - -// ApplicationTypesClientAPI contains the set of methods on the ApplicationTypesClient type. -type ApplicationTypesClientAPI interface { - Create(ctx context.Context, resourceGroupName string, clusterName string, applicationTypeName string, parameters servicefabric.ApplicationTypeResource) (result servicefabric.ApplicationTypeResource, err error) - Delete(ctx context.Context, resourceGroupName string, clusterName string, applicationTypeName string) (result servicefabric.ApplicationTypesDeleteFuture, err error) - Get(ctx context.Context, resourceGroupName string, clusterName string, applicationTypeName string) (result servicefabric.ApplicationTypeResource, err error) - List(ctx context.Context, resourceGroupName string, clusterName string) (result servicefabric.ApplicationTypeResourceList, err error) -} - -var _ ApplicationTypesClientAPI = (*servicefabric.ApplicationTypesClient)(nil) - -// ApplicationTypeVersionsClientAPI contains the set of methods on the ApplicationTypeVersionsClient type. -type ApplicationTypeVersionsClientAPI interface { - Create(ctx context.Context, resourceGroupName string, clusterName string, applicationTypeName string, version string, parameters servicefabric.ApplicationTypeVersionResource) (result servicefabric.ApplicationTypeVersionsCreateFuture, err error) - Delete(ctx context.Context, resourceGroupName string, clusterName string, applicationTypeName string, version string) (result servicefabric.ApplicationTypeVersionsDeleteFuture, err error) - Get(ctx context.Context, resourceGroupName string, clusterName string, applicationTypeName string, version string) (result servicefabric.ApplicationTypeVersionResource, err error) - List(ctx context.Context, resourceGroupName string, clusterName string, applicationTypeName string) (result servicefabric.ApplicationTypeVersionResourceList, err error) -} - -var _ ApplicationTypeVersionsClientAPI = (*servicefabric.ApplicationTypeVersionsClient)(nil) - -// ApplicationsClientAPI contains the set of methods on the ApplicationsClient type. -type ApplicationsClientAPI interface { - Create(ctx context.Context, resourceGroupName string, clusterName string, applicationName string, parameters servicefabric.ApplicationResource) (result servicefabric.ApplicationsCreateFuture, err error) - Delete(ctx context.Context, resourceGroupName string, clusterName string, applicationName string) (result servicefabric.ApplicationsDeleteFuture, err error) - Get(ctx context.Context, resourceGroupName string, clusterName string, applicationName string) (result servicefabric.ApplicationResource, err error) - List(ctx context.Context, resourceGroupName string, clusterName string) (result servicefabric.ApplicationResourceList, err error) - Update(ctx context.Context, resourceGroupName string, clusterName string, applicationName string, parameters servicefabric.ApplicationResourceUpdate) (result servicefabric.ApplicationsUpdateFuture, err error) -} - -var _ ApplicationsClientAPI = (*servicefabric.ApplicationsClient)(nil) - -// ServicesClientAPI contains the set of methods on the ServicesClient type. -type ServicesClientAPI interface { - Create(ctx context.Context, resourceGroupName string, clusterName string, applicationName string, serviceName string, parameters servicefabric.ServiceResource) (result servicefabric.ServicesCreateFuture, err error) - Delete(ctx context.Context, resourceGroupName string, clusterName string, applicationName string, serviceName string) (result servicefabric.ServicesDeleteFuture, err error) - Get(ctx context.Context, resourceGroupName string, clusterName string, applicationName string, serviceName string) (result servicefabric.ServiceResource, err error) - List(ctx context.Context, resourceGroupName string, clusterName string, applicationName string) (result servicefabric.ServiceResourceList, err error) - Update(ctx context.Context, resourceGroupName string, clusterName string, applicationName string, serviceName string, parameters servicefabric.ServiceResourceUpdate) (result servicefabric.ServicesUpdateFuture, err error) -} - -var _ ServicesClientAPI = (*servicefabric.ServicesClient)(nil) diff --git a/services/preview/servicefabric/mgmt/2019-03-01/servicefabric/services.go b/services/preview/servicefabric/mgmt/2019-03-01/servicefabric/services.go deleted file mode 100644 index 7295ca94514c..000000000000 --- a/services/preview/servicefabric/mgmt/2019-03-01/servicefabric/services.go +++ /dev/null @@ -1,451 +0,0 @@ -package servicefabric - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/tracing" - "net/http" -) - -// ServicesClient is the service Fabric Management Client -type ServicesClient struct { - BaseClient -} - -// NewServicesClient creates an instance of the ServicesClient client. -func NewServicesClient(subscriptionID string) ServicesClient { - return NewServicesClientWithBaseURI(DefaultBaseURI, subscriptionID) -} - -// NewServicesClientWithBaseURI creates an instance of the ServicesClient client. -func NewServicesClientWithBaseURI(baseURI string, subscriptionID string) ServicesClient { - return ServicesClient{NewWithBaseURI(baseURI, subscriptionID)} -} - -// Create create or update a Service Fabric service resource with the specified name. -// Parameters: -// resourceGroupName - the name of the resource group. -// clusterName - the name of the cluster resource. -// applicationName - the name of the application resource. -// serviceName - the name of the service resource in the format of {applicationName}~{serviceName}. -// parameters - the service resource. -func (client ServicesClient) Create(ctx context.Context, resourceGroupName string, clusterName string, applicationName string, serviceName string, parameters ServiceResource) (result ServicesCreateFuture, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/ServicesClient.Create") - defer func() { - sc := -1 - if result.Response() != nil { - sc = result.Response().StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - req, err := client.CreatePreparer(ctx, resourceGroupName, clusterName, applicationName, serviceName, parameters) - if err != nil { - err = autorest.NewErrorWithError(err, "servicefabric.ServicesClient", "Create", nil, "Failure preparing request") - return - } - - result, err = client.CreateSender(req) - if err != nil { - err = autorest.NewErrorWithError(err, "servicefabric.ServicesClient", "Create", result.Response(), "Failure sending request") - return - } - - return -} - -// CreatePreparer prepares the Create request. -func (client ServicesClient) CreatePreparer(ctx context.Context, resourceGroupName string, clusterName string, applicationName string, serviceName string, parameters ServiceResource) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "applicationName": autorest.Encode("path", applicationName), - "clusterName": autorest.Encode("path", clusterName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "serviceName": autorest.Encode("path", serviceName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2019-03-01-preview" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; charset=utf-8"), - autorest.AsPut(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applications/{applicationName}/services/{serviceName}", pathParameters), - autorest.WithJSON(parameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// CreateSender sends the Create request. The method will close the -// http.Response Body if it receives an error. -func (client ServicesClient) CreateSender(req *http.Request) (future ServicesCreateFuture, err error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - var resp *http.Response - resp, err = autorest.SendWithSender(client, req, sd...) - if err != nil { - return - } - future.Future, err = azure.NewFutureFromResponse(resp) - return -} - -// CreateResponder handles the response to the Create request. The method always -// closes the http.Response Body. -func (client ServicesClient) CreateResponder(resp *http.Response) (result ServiceResource, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// Delete delete a Service Fabric service resource with the specified name. -// Parameters: -// resourceGroupName - the name of the resource group. -// clusterName - the name of the cluster resource. -// applicationName - the name of the application resource. -// serviceName - the name of the service resource in the format of {applicationName}~{serviceName}. -func (client ServicesClient) Delete(ctx context.Context, resourceGroupName string, clusterName string, applicationName string, serviceName string) (result ServicesDeleteFuture, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/ServicesClient.Delete") - defer func() { - sc := -1 - if result.Response() != nil { - sc = result.Response().StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - req, err := client.DeletePreparer(ctx, resourceGroupName, clusterName, applicationName, serviceName) - if err != nil { - err = autorest.NewErrorWithError(err, "servicefabric.ServicesClient", "Delete", nil, "Failure preparing request") - return - } - - result, err = client.DeleteSender(req) - if err != nil { - err = autorest.NewErrorWithError(err, "servicefabric.ServicesClient", "Delete", result.Response(), "Failure sending request") - return - } - - return -} - -// DeletePreparer prepares the Delete request. -func (client ServicesClient) DeletePreparer(ctx context.Context, resourceGroupName string, clusterName string, applicationName string, serviceName string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "applicationName": autorest.Encode("path", applicationName), - "clusterName": autorest.Encode("path", clusterName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "serviceName": autorest.Encode("path", serviceName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2019-03-01-preview" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsDelete(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applications/{applicationName}/services/{serviceName}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DeleteSender sends the Delete request. The method will close the -// http.Response Body if it receives an error. -func (client ServicesClient) DeleteSender(req *http.Request) (future ServicesDeleteFuture, err error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - var resp *http.Response - resp, err = autorest.SendWithSender(client, req, sd...) - if err != nil { - return - } - future.Future, err = azure.NewFutureFromResponse(resp) - return -} - -// DeleteResponder handles the response to the Delete request. The method always -// closes the http.Response Body. -func (client ServicesClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), - autorest.ByClosing()) - result.Response = resp - return -} - -// Get get a Service Fabric service resource created or in the process of being created in the Service Fabric -// application resource. -// Parameters: -// resourceGroupName - the name of the resource group. -// clusterName - the name of the cluster resource. -// applicationName - the name of the application resource. -// serviceName - the name of the service resource in the format of {applicationName}~{serviceName}. -func (client ServicesClient) Get(ctx context.Context, resourceGroupName string, clusterName string, applicationName string, serviceName string) (result ServiceResource, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/ServicesClient.Get") - defer func() { - sc := -1 - if result.Response.Response != nil { - sc = result.Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - req, err := client.GetPreparer(ctx, resourceGroupName, clusterName, applicationName, serviceName) - if err != nil { - err = autorest.NewErrorWithError(err, "servicefabric.ServicesClient", "Get", nil, "Failure preparing request") - return - } - - resp, err := client.GetSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "servicefabric.ServicesClient", "Get", resp, "Failure sending request") - return - } - - result, err = client.GetResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "servicefabric.ServicesClient", "Get", resp, "Failure responding to request") - } - - return -} - -// GetPreparer prepares the Get request. -func (client ServicesClient) GetPreparer(ctx context.Context, resourceGroupName string, clusterName string, applicationName string, serviceName string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "applicationName": autorest.Encode("path", applicationName), - "clusterName": autorest.Encode("path", clusterName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "serviceName": autorest.Encode("path", serviceName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2019-03-01-preview" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applications/{applicationName}/services/{serviceName}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetSender sends the Get request. The method will close the -// http.Response Body if it receives an error. -func (client ServicesClient) GetSender(req *http.Request) (*http.Response, error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - return autorest.SendWithSender(client, req, sd...) -} - -// GetResponder handles the response to the Get request. The method always -// closes the http.Response Body. -func (client ServicesClient) GetResponder(resp *http.Response) (result ServiceResource, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// List gets all service resources created or in the process of being created in the Service Fabric application -// resource. -// Parameters: -// resourceGroupName - the name of the resource group. -// clusterName - the name of the cluster resource. -// applicationName - the name of the application resource. -func (client ServicesClient) List(ctx context.Context, resourceGroupName string, clusterName string, applicationName string) (result ServiceResourceList, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/ServicesClient.List") - defer func() { - sc := -1 - if result.Response.Response != nil { - sc = result.Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - req, err := client.ListPreparer(ctx, resourceGroupName, clusterName, applicationName) - if err != nil { - err = autorest.NewErrorWithError(err, "servicefabric.ServicesClient", "List", nil, "Failure preparing request") - return - } - - resp, err := client.ListSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "servicefabric.ServicesClient", "List", resp, "Failure sending request") - return - } - - result, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "servicefabric.ServicesClient", "List", resp, "Failure responding to request") - } - - return -} - -// ListPreparer prepares the List request. -func (client ServicesClient) ListPreparer(ctx context.Context, resourceGroupName string, clusterName string, applicationName string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "applicationName": autorest.Encode("path", applicationName), - "clusterName": autorest.Encode("path", clusterName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2019-03-01-preview" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applications/{applicationName}/services", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListSender sends the List request. The method will close the -// http.Response Body if it receives an error. -func (client ServicesClient) ListSender(req *http.Request) (*http.Response, error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - return autorest.SendWithSender(client, req, sd...) -} - -// ListResponder handles the response to the List request. The method always -// closes the http.Response Body. -func (client ServicesClient) ListResponder(resp *http.Response) (result ServiceResourceList, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// Update update a Service Fabric service resource with the specified name. -// Parameters: -// resourceGroupName - the name of the resource group. -// clusterName - the name of the cluster resource. -// applicationName - the name of the application resource. -// serviceName - the name of the service resource in the format of {applicationName}~{serviceName}. -// parameters - the service resource for patch operations. -func (client ServicesClient) Update(ctx context.Context, resourceGroupName string, clusterName string, applicationName string, serviceName string, parameters ServiceResourceUpdate) (result ServicesUpdateFuture, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/ServicesClient.Update") - defer func() { - sc := -1 - if result.Response() != nil { - sc = result.Response().StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - req, err := client.UpdatePreparer(ctx, resourceGroupName, clusterName, applicationName, serviceName, parameters) - if err != nil { - err = autorest.NewErrorWithError(err, "servicefabric.ServicesClient", "Update", nil, "Failure preparing request") - return - } - - result, err = client.UpdateSender(req) - if err != nil { - err = autorest.NewErrorWithError(err, "servicefabric.ServicesClient", "Update", result.Response(), "Failure sending request") - return - } - - return -} - -// UpdatePreparer prepares the Update request. -func (client ServicesClient) UpdatePreparer(ctx context.Context, resourceGroupName string, clusterName string, applicationName string, serviceName string, parameters ServiceResourceUpdate) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "applicationName": autorest.Encode("path", applicationName), - "clusterName": autorest.Encode("path", clusterName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "serviceName": autorest.Encode("path", serviceName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - } - - const APIVersion = "2019-03-01-preview" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; charset=utf-8"), - autorest.AsPatch(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applications/{applicationName}/services/{serviceName}", pathParameters), - autorest.WithJSON(parameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// UpdateSender sends the Update request. The method will close the -// http.Response Body if it receives an error. -func (client ServicesClient) UpdateSender(req *http.Request) (future ServicesUpdateFuture, err error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - var resp *http.Response - resp, err = autorest.SendWithSender(client, req, sd...) - if err != nil { - return - } - future.Future, err = azure.NewFutureFromResponse(resp) - return -} - -// UpdateResponder handles the response to the Update request. The method always -// closes the http.Response Body. -func (client ServicesClient) UpdateResponder(resp *http.Response) (result ServiceResource, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} diff --git a/services/preview/servicefabric/mgmt/2019-03-01/servicefabric/version.go b/services/preview/servicefabric/mgmt/2019-03-01/servicefabric/version.go deleted file mode 100644 index 74a7ddcbd499..000000000000 --- a/services/preview/servicefabric/mgmt/2019-03-01/servicefabric/version.go +++ /dev/null @@ -1,30 +0,0 @@ -package servicefabric - -import "github.com/Azure/azure-sdk-for-go/version" - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -// UserAgent returns the UserAgent string to use when sending http.Requests. -func UserAgent() string { - return "Azure-SDK-For-Go/" + version.Number + " servicefabric/2019-03-01-preview" -} - -// Version returns the semantic version (see http://semver.org) of the client. -func Version() string { - return version.Number -} diff --git a/services/preview/sql/mgmt/2015-05-01-preview/sql/databaseblobauditingpolicies.go b/services/preview/sql/mgmt/2015-05-01-preview/sql/databaseblobauditingpolicies.go index 3861a1676c32..eced7d5753e0 100644 --- a/services/preview/sql/mgmt/2015-05-01-preview/sql/databaseblobauditingpolicies.go +++ b/services/preview/sql/mgmt/2015-05-01-preview/sql/databaseblobauditingpolicies.go @@ -208,3 +208,121 @@ func (client DatabaseBlobAuditingPoliciesClient) GetResponder(resp *http.Respons result.Response = autorest.Response{Response: resp} return } + +// ListByDatabase lists auditing settings of a database. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serverName - the name of the server. +// databaseName - the name of the database. +func (client DatabaseBlobAuditingPoliciesClient) ListByDatabase(ctx context.Context, resourceGroupName string, serverName string, databaseName string) (result DatabaseBlobAuditingPolicyListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DatabaseBlobAuditingPoliciesClient.ListByDatabase") + defer func() { + sc := -1 + if result.dbaplr.Response.Response != nil { + sc = result.dbaplr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listByDatabaseNextResults + req, err := client.ListByDatabasePreparer(ctx, resourceGroupName, serverName, databaseName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DatabaseBlobAuditingPoliciesClient", "ListByDatabase", nil, "Failure preparing request") + return + } + + resp, err := client.ListByDatabaseSender(req) + if err != nil { + result.dbaplr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.DatabaseBlobAuditingPoliciesClient", "ListByDatabase", resp, "Failure sending request") + return + } + + result.dbaplr, err = client.ListByDatabaseResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DatabaseBlobAuditingPoliciesClient", "ListByDatabase", resp, "Failure responding to request") + } + + return +} + +// ListByDatabasePreparer prepares the ListByDatabase request. +func (client DatabaseBlobAuditingPoliciesClient) ListByDatabasePreparer(ctx context.Context, resourceGroupName string, serverName string, databaseName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "databaseName": autorest.Encode("path", databaseName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2015-05-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/auditingSettings", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByDatabaseSender sends the ListByDatabase request. The method will close the +// http.Response Body if it receives an error. +func (client DatabaseBlobAuditingPoliciesClient) ListByDatabaseSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByDatabaseResponder handles the response to the ListByDatabase request. The method always +// closes the http.Response Body. +func (client DatabaseBlobAuditingPoliciesClient) ListByDatabaseResponder(resp *http.Response) (result DatabaseBlobAuditingPolicyListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listByDatabaseNextResults retrieves the next set of results, if any. +func (client DatabaseBlobAuditingPoliciesClient) listByDatabaseNextResults(ctx context.Context, lastResults DatabaseBlobAuditingPolicyListResult) (result DatabaseBlobAuditingPolicyListResult, err error) { + req, err := lastResults.databaseBlobAuditingPolicyListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "sql.DatabaseBlobAuditingPoliciesClient", "listByDatabaseNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListByDatabaseSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "sql.DatabaseBlobAuditingPoliciesClient", "listByDatabaseNextResults", resp, "Failure sending next results request") + } + result, err = client.ListByDatabaseResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DatabaseBlobAuditingPoliciesClient", "listByDatabaseNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListByDatabaseComplete enumerates all values, automatically crossing page boundaries as required. +func (client DatabaseBlobAuditingPoliciesClient) ListByDatabaseComplete(ctx context.Context, resourceGroupName string, serverName string, databaseName string) (result DatabaseBlobAuditingPolicyListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DatabaseBlobAuditingPoliciesClient.ListByDatabase") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListByDatabase(ctx, resourceGroupName, serverName, databaseName) + return +} diff --git a/services/preview/sql/mgmt/2015-05-01-preview/sql/encryptionprotectors.go b/services/preview/sql/mgmt/2015-05-01-preview/sql/encryptionprotectors.go index f0c3e0785901..4bf6cc3947ab 100644 --- a/services/preview/sql/mgmt/2015-05-01-preview/sql/encryptionprotectors.go +++ b/services/preview/sql/mgmt/2015-05-01-preview/sql/encryptionprotectors.go @@ -88,6 +88,7 @@ func (client EncryptionProtectorsClient) CreateOrUpdatePreparer(ctx context.Cont "api-version": APIVersion, } + parameters.Kind = nil parameters.Location = nil preparer := autorest.CreatePreparer( autorest.AsContentType("application/json; charset=utf-8"), @@ -319,3 +320,81 @@ func (client EncryptionProtectorsClient) ListByServerComplete(ctx context.Contex result.page, err = client.ListByServer(ctx, resourceGroupName, serverName) return } + +// Revalidate revalidates an existing encryption protector. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serverName - the name of the server. +func (client EncryptionProtectorsClient) Revalidate(ctx context.Context, resourceGroupName string, serverName string) (result EncryptionProtectorsRevalidateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/EncryptionProtectorsClient.Revalidate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.RevalidatePreparer(ctx, resourceGroupName, serverName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.EncryptionProtectorsClient", "Revalidate", nil, "Failure preparing request") + return + } + + result, err = client.RevalidateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.EncryptionProtectorsClient", "Revalidate", result.Response(), "Failure sending request") + return + } + + return +} + +// RevalidatePreparer prepares the Revalidate request. +func (client EncryptionProtectorsClient) RevalidatePreparer(ctx context.Context, resourceGroupName string, serverName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "encryptionProtectorName": autorest.Encode("path", "current"), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2015-05-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/encryptionProtector/{encryptionProtectorName}/revalidate", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// RevalidateSender sends the Revalidate request. The method will close the +// http.Response Body if it receives an error. +func (client EncryptionProtectorsClient) RevalidateSender(req *http.Request) (future EncryptionProtectorsRevalidateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// RevalidateResponder handles the response to the Revalidate request. The method always +// closes the http.Response Body. +func (client EncryptionProtectorsClient) RevalidateResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByClosing()) + result.Response = resp + return +} diff --git a/services/preview/sql/mgmt/2015-05-01-preview/sql/models.go b/services/preview/sql/mgmt/2015-05-01-preview/sql/models.go index 013f65dfcf0c..dfae755be82b 100644 --- a/services/preview/sql/mgmt/2015-05-01-preview/sql/models.go +++ b/services/preview/sql/mgmt/2015-05-01-preview/sql/models.go @@ -1567,6 +1567,153 @@ func (dbap *DatabaseBlobAuditingPolicy) UnmarshalJSON(body []byte) error { return nil } +// DatabaseBlobAuditingPolicyListResult a list of database auditing settings. +type DatabaseBlobAuditingPolicyListResult struct { + autorest.Response `json:"-"` + // Value - READ-ONLY; Array of results. + Value *[]DatabaseBlobAuditingPolicy `json:"value,omitempty"` + // NextLink - READ-ONLY; Link to retrieve next page of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// DatabaseBlobAuditingPolicyListResultIterator provides access to a complete listing of +// DatabaseBlobAuditingPolicy values. +type DatabaseBlobAuditingPolicyListResultIterator struct { + i int + page DatabaseBlobAuditingPolicyListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *DatabaseBlobAuditingPolicyListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DatabaseBlobAuditingPolicyListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *DatabaseBlobAuditingPolicyListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter DatabaseBlobAuditingPolicyListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter DatabaseBlobAuditingPolicyListResultIterator) Response() DatabaseBlobAuditingPolicyListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter DatabaseBlobAuditingPolicyListResultIterator) Value() DatabaseBlobAuditingPolicy { + if !iter.page.NotDone() { + return DatabaseBlobAuditingPolicy{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the DatabaseBlobAuditingPolicyListResultIterator type. +func NewDatabaseBlobAuditingPolicyListResultIterator(page DatabaseBlobAuditingPolicyListResultPage) DatabaseBlobAuditingPolicyListResultIterator { + return DatabaseBlobAuditingPolicyListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (dbaplr DatabaseBlobAuditingPolicyListResult) IsEmpty() bool { + return dbaplr.Value == nil || len(*dbaplr.Value) == 0 +} + +// databaseBlobAuditingPolicyListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (dbaplr DatabaseBlobAuditingPolicyListResult) databaseBlobAuditingPolicyListResultPreparer(ctx context.Context) (*http.Request, error) { + if dbaplr.NextLink == nil || len(to.String(dbaplr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(dbaplr.NextLink))) +} + +// DatabaseBlobAuditingPolicyListResultPage contains a page of DatabaseBlobAuditingPolicy values. +type DatabaseBlobAuditingPolicyListResultPage struct { + fn func(context.Context, DatabaseBlobAuditingPolicyListResult) (DatabaseBlobAuditingPolicyListResult, error) + dbaplr DatabaseBlobAuditingPolicyListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *DatabaseBlobAuditingPolicyListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DatabaseBlobAuditingPolicyListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.dbaplr) + if err != nil { + return err + } + page.dbaplr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *DatabaseBlobAuditingPolicyListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page DatabaseBlobAuditingPolicyListResultPage) NotDone() bool { + return !page.dbaplr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page DatabaseBlobAuditingPolicyListResultPage) Response() DatabaseBlobAuditingPolicyListResult { + return page.dbaplr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page DatabaseBlobAuditingPolicyListResultPage) Values() []DatabaseBlobAuditingPolicy { + if page.dbaplr.IsEmpty() { + return nil + } + return *page.dbaplr.Value +} + +// Creates a new instance of the DatabaseBlobAuditingPolicyListResultPage type. +func NewDatabaseBlobAuditingPolicyListResultPage(getNextPage func(context.Context, DatabaseBlobAuditingPolicyListResult) (DatabaseBlobAuditingPolicyListResult, error)) DatabaseBlobAuditingPolicyListResultPage { + return DatabaseBlobAuditingPolicyListResultPage{fn: getNextPage} +} + // DatabaseBlobAuditingPolicyProperties properties of a database blob auditing policy. type DatabaseBlobAuditingPolicyProperties struct { // State - Specifies the state of the policy. If state is Enabled, storageEndpoint or isAzureMonitorTargetEnabled are required. Possible values include: 'BlobAuditingPolicyStateEnabled', 'BlobAuditingPolicyStateDisabled' @@ -3022,7 +3169,7 @@ func (epu *ElasticPoolUpdate) UnmarshalJSON(body []byte) error { // EncryptionProtector the server encryption protector. type EncryptionProtector struct { autorest.Response `json:"-"` - // Kind - Kind of encryption protector. This is metadata used for the Azure portal experience. + // Kind - READ-ONLY; Kind of encryption protector. This is metadata used for the Azure portal experience. Kind *string `json:"kind,omitempty"` // Location - READ-ONLY; Resource location. Location *string `json:"location,omitempty"` @@ -3039,9 +3186,6 @@ type EncryptionProtector struct { // MarshalJSON is the custom marshaler for EncryptionProtector. func (ep EncryptionProtector) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) - if ep.Kind != nil { - objectMap["kind"] = ep.Kind - } if ep.EncryptionProtectorProperties != nil { objectMap["properties"] = ep.EncryptionProtectorProperties } @@ -3307,6 +3451,29 @@ func (future *EncryptionProtectorsCreateOrUpdateFuture) Result(client Encryption return } +// EncryptionProtectorsRevalidateFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type EncryptionProtectorsRevalidateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *EncryptionProtectorsRevalidateFuture) Result(client EncryptionProtectorsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.EncryptionProtectorsRevalidateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("sql.EncryptionProtectorsRevalidateFuture") + return + } + ar.Response = future.Response() + return +} + // ExportRequest export database parameters. type ExportRequest struct { // StorageKeyType - The type of the storage key to use. Possible values include: 'StorageAccessKey', 'SharedAccessKey' @@ -6983,17 +7150,17 @@ type ServiceTierAdvisorProperties struct { Confidence *float64 `json:"confidence,omitempty"` } -// Sku the resource model definition representing SKU +// Sku an ARM Resource SKU. type Sku struct { - // Name - The name of the SKU. Ex - P3. It is typically a letter+number code + // Name - The name of the SKU, typically, a letter + Number code, e.g. P3. Name *string `json:"name,omitempty"` - // Tier - This field is required to be implemented by the Resource Provider if the service has more than one tier, but is not required on a PUT. + // Tier - The tier or edition of the particular SKU, e.g. Basic, Premium. Tier *string `json:"tier,omitempty"` - // Size - The SKU size. When the name field is the combination of tier and some other value, this would be the standalone code. + // Size - Size of the particular SKU Size *string `json:"size,omitempty"` // Family - If the service has different generations of hardware, for the same SKU, then that can be captured here. Family *string `json:"family,omitempty"` - // Capacity - If the SKU supports scale out/in then the capacity integer should be included. If scale out/in is not possible for the resource this may be omitted. + // Capacity - Capacity of the particular SKU. Capacity *int32 `json:"capacity,omitempty"` } diff --git a/services/preview/sql/mgmt/2015-05-01-preview/sql/sqlapi/interfaces.go b/services/preview/sql/mgmt/2015-05-01-preview/sql/sqlapi/interfaces.go index f7cab67fbe1a..af86076ce67b 100644 --- a/services/preview/sql/mgmt/2015-05-01-preview/sql/sqlapi/interfaces.go +++ b/services/preview/sql/mgmt/2015-05-01-preview/sql/sqlapi/interfaces.go @@ -264,6 +264,7 @@ var _ CapabilitiesClientAPI = (*sql.CapabilitiesClient)(nil) type DatabaseBlobAuditingPoliciesClientAPI interface { CreateOrUpdate(ctx context.Context, resourceGroupName string, serverName string, databaseName string, parameters sql.DatabaseBlobAuditingPolicy) (result sql.DatabaseBlobAuditingPolicy, err error) Get(ctx context.Context, resourceGroupName string, serverName string, databaseName string) (result sql.DatabaseBlobAuditingPolicy, err error) + ListByDatabase(ctx context.Context, resourceGroupName string, serverName string, databaseName string) (result sql.DatabaseBlobAuditingPolicyListResultPage, err error) } var _ DatabaseBlobAuditingPoliciesClientAPI = (*sql.DatabaseBlobAuditingPoliciesClient)(nil) @@ -273,6 +274,7 @@ type EncryptionProtectorsClientAPI interface { CreateOrUpdate(ctx context.Context, resourceGroupName string, serverName string, parameters sql.EncryptionProtector) (result sql.EncryptionProtectorsCreateOrUpdateFuture, err error) Get(ctx context.Context, resourceGroupName string, serverName string) (result sql.EncryptionProtector, err error) ListByServer(ctx context.Context, resourceGroupName string, serverName string) (result sql.EncryptionProtectorListResultPage, err error) + Revalidate(ctx context.Context, resourceGroupName string, serverName string) (result sql.EncryptionProtectorsRevalidateFuture, err error) } var _ EncryptionProtectorsClientAPI = (*sql.EncryptionProtectorsClient)(nil) diff --git a/services/preview/sql/mgmt/2017-03-01-preview/sql/databaseblobauditingpolicies.go b/services/preview/sql/mgmt/2017-03-01-preview/sql/databaseblobauditingpolicies.go index 56ee29dfc1bd..8e61953bbeae 100644 --- a/services/preview/sql/mgmt/2017-03-01-preview/sql/databaseblobauditingpolicies.go +++ b/services/preview/sql/mgmt/2017-03-01-preview/sql/databaseblobauditingpolicies.go @@ -208,3 +208,121 @@ func (client DatabaseBlobAuditingPoliciesClient) GetResponder(resp *http.Respons result.Response = autorest.Response{Response: resp} return } + +// ListByDatabase lists auditing settings of a database. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serverName - the name of the server. +// databaseName - the name of the database. +func (client DatabaseBlobAuditingPoliciesClient) ListByDatabase(ctx context.Context, resourceGroupName string, serverName string, databaseName string) (result DatabaseBlobAuditingPolicyListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DatabaseBlobAuditingPoliciesClient.ListByDatabase") + defer func() { + sc := -1 + if result.dbaplr.Response.Response != nil { + sc = result.dbaplr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listByDatabaseNextResults + req, err := client.ListByDatabasePreparer(ctx, resourceGroupName, serverName, databaseName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DatabaseBlobAuditingPoliciesClient", "ListByDatabase", nil, "Failure preparing request") + return + } + + resp, err := client.ListByDatabaseSender(req) + if err != nil { + result.dbaplr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.DatabaseBlobAuditingPoliciesClient", "ListByDatabase", resp, "Failure sending request") + return + } + + result.dbaplr, err = client.ListByDatabaseResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DatabaseBlobAuditingPoliciesClient", "ListByDatabase", resp, "Failure responding to request") + } + + return +} + +// ListByDatabasePreparer prepares the ListByDatabase request. +func (client DatabaseBlobAuditingPoliciesClient) ListByDatabasePreparer(ctx context.Context, resourceGroupName string, serverName string, databaseName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "databaseName": autorest.Encode("path", databaseName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-03-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/auditingSettings", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByDatabaseSender sends the ListByDatabase request. The method will close the +// http.Response Body if it receives an error. +func (client DatabaseBlobAuditingPoliciesClient) ListByDatabaseSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByDatabaseResponder handles the response to the ListByDatabase request. The method always +// closes the http.Response Body. +func (client DatabaseBlobAuditingPoliciesClient) ListByDatabaseResponder(resp *http.Response) (result DatabaseBlobAuditingPolicyListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listByDatabaseNextResults retrieves the next set of results, if any. +func (client DatabaseBlobAuditingPoliciesClient) listByDatabaseNextResults(ctx context.Context, lastResults DatabaseBlobAuditingPolicyListResult) (result DatabaseBlobAuditingPolicyListResult, err error) { + req, err := lastResults.databaseBlobAuditingPolicyListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "sql.DatabaseBlobAuditingPoliciesClient", "listByDatabaseNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListByDatabaseSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "sql.DatabaseBlobAuditingPoliciesClient", "listByDatabaseNextResults", resp, "Failure sending next results request") + } + result, err = client.ListByDatabaseResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DatabaseBlobAuditingPoliciesClient", "listByDatabaseNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListByDatabaseComplete enumerates all values, automatically crossing page boundaries as required. +func (client DatabaseBlobAuditingPoliciesClient) ListByDatabaseComplete(ctx context.Context, resourceGroupName string, serverName string, databaseName string) (result DatabaseBlobAuditingPolicyListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DatabaseBlobAuditingPoliciesClient.ListByDatabase") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListByDatabase(ctx, resourceGroupName, serverName, databaseName) + return +} diff --git a/services/preview/sql/mgmt/2017-03-01-preview/sql/encryptionprotectors.go b/services/preview/sql/mgmt/2017-03-01-preview/sql/encryptionprotectors.go index f0c3e0785901..4bf6cc3947ab 100644 --- a/services/preview/sql/mgmt/2017-03-01-preview/sql/encryptionprotectors.go +++ b/services/preview/sql/mgmt/2017-03-01-preview/sql/encryptionprotectors.go @@ -88,6 +88,7 @@ func (client EncryptionProtectorsClient) CreateOrUpdatePreparer(ctx context.Cont "api-version": APIVersion, } + parameters.Kind = nil parameters.Location = nil preparer := autorest.CreatePreparer( autorest.AsContentType("application/json; charset=utf-8"), @@ -319,3 +320,81 @@ func (client EncryptionProtectorsClient) ListByServerComplete(ctx context.Contex result.page, err = client.ListByServer(ctx, resourceGroupName, serverName) return } + +// Revalidate revalidates an existing encryption protector. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serverName - the name of the server. +func (client EncryptionProtectorsClient) Revalidate(ctx context.Context, resourceGroupName string, serverName string) (result EncryptionProtectorsRevalidateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/EncryptionProtectorsClient.Revalidate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.RevalidatePreparer(ctx, resourceGroupName, serverName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.EncryptionProtectorsClient", "Revalidate", nil, "Failure preparing request") + return + } + + result, err = client.RevalidateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.EncryptionProtectorsClient", "Revalidate", result.Response(), "Failure sending request") + return + } + + return +} + +// RevalidatePreparer prepares the Revalidate request. +func (client EncryptionProtectorsClient) RevalidatePreparer(ctx context.Context, resourceGroupName string, serverName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "encryptionProtectorName": autorest.Encode("path", "current"), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2015-05-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/encryptionProtector/{encryptionProtectorName}/revalidate", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// RevalidateSender sends the Revalidate request. The method will close the +// http.Response Body if it receives an error. +func (client EncryptionProtectorsClient) RevalidateSender(req *http.Request) (future EncryptionProtectorsRevalidateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// RevalidateResponder handles the response to the Revalidate request. The method always +// closes the http.Response Body. +func (client EncryptionProtectorsClient) RevalidateResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByClosing()) + result.Response = resp + return +} diff --git a/services/preview/sql/mgmt/2017-03-01-preview/sql/models.go b/services/preview/sql/mgmt/2017-03-01-preview/sql/models.go index 3794bccb4a92..e01108b3867f 100644 --- a/services/preview/sql/mgmt/2017-03-01-preview/sql/models.go +++ b/services/preview/sql/mgmt/2017-03-01-preview/sql/models.go @@ -2106,6 +2106,153 @@ func (dbap *DatabaseBlobAuditingPolicy) UnmarshalJSON(body []byte) error { return nil } +// DatabaseBlobAuditingPolicyListResult a list of database auditing settings. +type DatabaseBlobAuditingPolicyListResult struct { + autorest.Response `json:"-"` + // Value - READ-ONLY; Array of results. + Value *[]DatabaseBlobAuditingPolicy `json:"value,omitempty"` + // NextLink - READ-ONLY; Link to retrieve next page of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// DatabaseBlobAuditingPolicyListResultIterator provides access to a complete listing of +// DatabaseBlobAuditingPolicy values. +type DatabaseBlobAuditingPolicyListResultIterator struct { + i int + page DatabaseBlobAuditingPolicyListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *DatabaseBlobAuditingPolicyListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DatabaseBlobAuditingPolicyListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *DatabaseBlobAuditingPolicyListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter DatabaseBlobAuditingPolicyListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter DatabaseBlobAuditingPolicyListResultIterator) Response() DatabaseBlobAuditingPolicyListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter DatabaseBlobAuditingPolicyListResultIterator) Value() DatabaseBlobAuditingPolicy { + if !iter.page.NotDone() { + return DatabaseBlobAuditingPolicy{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the DatabaseBlobAuditingPolicyListResultIterator type. +func NewDatabaseBlobAuditingPolicyListResultIterator(page DatabaseBlobAuditingPolicyListResultPage) DatabaseBlobAuditingPolicyListResultIterator { + return DatabaseBlobAuditingPolicyListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (dbaplr DatabaseBlobAuditingPolicyListResult) IsEmpty() bool { + return dbaplr.Value == nil || len(*dbaplr.Value) == 0 +} + +// databaseBlobAuditingPolicyListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (dbaplr DatabaseBlobAuditingPolicyListResult) databaseBlobAuditingPolicyListResultPreparer(ctx context.Context) (*http.Request, error) { + if dbaplr.NextLink == nil || len(to.String(dbaplr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(dbaplr.NextLink))) +} + +// DatabaseBlobAuditingPolicyListResultPage contains a page of DatabaseBlobAuditingPolicy values. +type DatabaseBlobAuditingPolicyListResultPage struct { + fn func(context.Context, DatabaseBlobAuditingPolicyListResult) (DatabaseBlobAuditingPolicyListResult, error) + dbaplr DatabaseBlobAuditingPolicyListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *DatabaseBlobAuditingPolicyListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DatabaseBlobAuditingPolicyListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.dbaplr) + if err != nil { + return err + } + page.dbaplr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *DatabaseBlobAuditingPolicyListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page DatabaseBlobAuditingPolicyListResultPage) NotDone() bool { + return !page.dbaplr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page DatabaseBlobAuditingPolicyListResultPage) Response() DatabaseBlobAuditingPolicyListResult { + return page.dbaplr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page DatabaseBlobAuditingPolicyListResultPage) Values() []DatabaseBlobAuditingPolicy { + if page.dbaplr.IsEmpty() { + return nil + } + return *page.dbaplr.Value +} + +// Creates a new instance of the DatabaseBlobAuditingPolicyListResultPage type. +func NewDatabaseBlobAuditingPolicyListResultPage(getNextPage func(context.Context, DatabaseBlobAuditingPolicyListResult) (DatabaseBlobAuditingPolicyListResult, error)) DatabaseBlobAuditingPolicyListResultPage { + return DatabaseBlobAuditingPolicyListResultPage{fn: getNextPage} +} + // DatabaseBlobAuditingPolicyProperties properties of a database blob auditing policy. type DatabaseBlobAuditingPolicyProperties struct { // State - Specifies the state of the policy. If state is Enabled, storageEndpoint or isAzureMonitorTargetEnabled are required. Possible values include: 'BlobAuditingPolicyStateEnabled', 'BlobAuditingPolicyStateDisabled' @@ -4205,7 +4352,7 @@ func (epu *ElasticPoolUpdate) UnmarshalJSON(body []byte) error { // EncryptionProtector the server encryption protector. type EncryptionProtector struct { autorest.Response `json:"-"` - // Kind - Kind of encryption protector. This is metadata used for the Azure portal experience. + // Kind - READ-ONLY; Kind of encryption protector. This is metadata used for the Azure portal experience. Kind *string `json:"kind,omitempty"` // Location - READ-ONLY; Resource location. Location *string `json:"location,omitempty"` @@ -4222,9 +4369,6 @@ type EncryptionProtector struct { // MarshalJSON is the custom marshaler for EncryptionProtector. func (ep EncryptionProtector) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) - if ep.Kind != nil { - objectMap["kind"] = ep.Kind - } if ep.EncryptionProtectorProperties != nil { objectMap["properties"] = ep.EncryptionProtectorProperties } @@ -4490,6 +4634,29 @@ func (future *EncryptionProtectorsCreateOrUpdateFuture) Result(client Encryption return } +// EncryptionProtectorsRevalidateFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type EncryptionProtectorsRevalidateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *EncryptionProtectorsRevalidateFuture) Result(client EncryptionProtectorsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.EncryptionProtectorsRevalidateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("sql.EncryptionProtectorsRevalidateFuture") + return + } + ar.Response = future.Response() + return +} + // ExportRequest export database parameters. type ExportRequest struct { // StorageKeyType - The type of the storage key to use. Possible values include: 'StorageAccessKey', 'SharedAccessKey' @@ -11123,6 +11290,153 @@ func (sbap *ServerBlobAuditingPolicy) UnmarshalJSON(body []byte) error { return nil } +// ServerBlobAuditingPolicyListResult a list of server auditing settings. +type ServerBlobAuditingPolicyListResult struct { + autorest.Response `json:"-"` + // Value - READ-ONLY; Array of results. + Value *[]ServerBlobAuditingPolicy `json:"value,omitempty"` + // NextLink - READ-ONLY; Link to retrieve next page of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// ServerBlobAuditingPolicyListResultIterator provides access to a complete listing of +// ServerBlobAuditingPolicy values. +type ServerBlobAuditingPolicyListResultIterator struct { + i int + page ServerBlobAuditingPolicyListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *ServerBlobAuditingPolicyListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServerBlobAuditingPolicyListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *ServerBlobAuditingPolicyListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter ServerBlobAuditingPolicyListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter ServerBlobAuditingPolicyListResultIterator) Response() ServerBlobAuditingPolicyListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter ServerBlobAuditingPolicyListResultIterator) Value() ServerBlobAuditingPolicy { + if !iter.page.NotDone() { + return ServerBlobAuditingPolicy{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the ServerBlobAuditingPolicyListResultIterator type. +func NewServerBlobAuditingPolicyListResultIterator(page ServerBlobAuditingPolicyListResultPage) ServerBlobAuditingPolicyListResultIterator { + return ServerBlobAuditingPolicyListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (sbaplr ServerBlobAuditingPolicyListResult) IsEmpty() bool { + return sbaplr.Value == nil || len(*sbaplr.Value) == 0 +} + +// serverBlobAuditingPolicyListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (sbaplr ServerBlobAuditingPolicyListResult) serverBlobAuditingPolicyListResultPreparer(ctx context.Context) (*http.Request, error) { + if sbaplr.NextLink == nil || len(to.String(sbaplr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(sbaplr.NextLink))) +} + +// ServerBlobAuditingPolicyListResultPage contains a page of ServerBlobAuditingPolicy values. +type ServerBlobAuditingPolicyListResultPage struct { + fn func(context.Context, ServerBlobAuditingPolicyListResult) (ServerBlobAuditingPolicyListResult, error) + sbaplr ServerBlobAuditingPolicyListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *ServerBlobAuditingPolicyListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServerBlobAuditingPolicyListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.sbaplr) + if err != nil { + return err + } + page.sbaplr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *ServerBlobAuditingPolicyListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page ServerBlobAuditingPolicyListResultPage) NotDone() bool { + return !page.sbaplr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page ServerBlobAuditingPolicyListResultPage) Response() ServerBlobAuditingPolicyListResult { + return page.sbaplr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page ServerBlobAuditingPolicyListResultPage) Values() []ServerBlobAuditingPolicy { + if page.sbaplr.IsEmpty() { + return nil + } + return *page.sbaplr.Value +} + +// Creates a new instance of the ServerBlobAuditingPolicyListResultPage type. +func NewServerBlobAuditingPolicyListResultPage(getNextPage func(context.Context, ServerBlobAuditingPolicyListResult) (ServerBlobAuditingPolicyListResult, error)) ServerBlobAuditingPolicyListResultPage { + return ServerBlobAuditingPolicyListResultPage{fn: getNextPage} +} + // ServerBlobAuditingPolicyProperties properties of a server blob auditing policy. type ServerBlobAuditingPolicyProperties struct { // State - Specifies the state of the policy. If state is Enabled, storageEndpoint or isAzureMonitorTargetEnabled are required. Possible values include: 'BlobAuditingPolicyStateEnabled', 'BlobAuditingPolicyStateDisabled' @@ -12802,17 +13116,17 @@ type ServiceTierAdvisorProperties struct { Confidence *float64 `json:"confidence,omitempty"` } -// Sku the resource model definition representing SKU +// Sku an ARM Resource SKU. type Sku struct { - // Name - The name of the SKU. Ex - P3. It is typically a letter+number code + // Name - The name of the SKU, typically, a letter + Number code, e.g. P3. Name *string `json:"name,omitempty"` - // Tier - This field is required to be implemented by the Resource Provider if the service has more than one tier, but is not required on a PUT. + // Tier - The tier or edition of the particular SKU, e.g. Basic, Premium. Tier *string `json:"tier,omitempty"` - // Size - The SKU size. When the name field is the combination of tier and some other value, this would be the standalone code. + // Size - Size of the particular SKU Size *string `json:"size,omitempty"` // Family - If the service has different generations of hardware, for the same SKU, then that can be captured here. Family *string `json:"family,omitempty"` - // Capacity - If the SKU supports scale out/in then the capacity integer should be included. If scale out/in is not possible for the resource this may be omitted. + // Capacity - Capacity of the particular SKU. Capacity *int32 `json:"capacity,omitempty"` } diff --git a/services/preview/sql/mgmt/2017-03-01-preview/sql/serverblobauditingpolicies.go b/services/preview/sql/mgmt/2017-03-01-preview/sql/serverblobauditingpolicies.go index 9055582b80c4..48d2fde5ed0d 100644 --- a/services/preview/sql/mgmt/2017-03-01-preview/sql/serverblobauditingpolicies.go +++ b/services/preview/sql/mgmt/2017-03-01-preview/sql/serverblobauditingpolicies.go @@ -202,3 +202,119 @@ func (client ServerBlobAuditingPoliciesClient) GetResponder(resp *http.Response) result.Response = autorest.Response{Response: resp} return } + +// ListByServer lists auditing settings of a server. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serverName - the name of the server. +func (client ServerBlobAuditingPoliciesClient) ListByServer(ctx context.Context, resourceGroupName string, serverName string) (result ServerBlobAuditingPolicyListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServerBlobAuditingPoliciesClient.ListByServer") + defer func() { + sc := -1 + if result.sbaplr.Response.Response != nil { + sc = result.sbaplr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listByServerNextResults + req, err := client.ListByServerPreparer(ctx, resourceGroupName, serverName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServerBlobAuditingPoliciesClient", "ListByServer", nil, "Failure preparing request") + return + } + + resp, err := client.ListByServerSender(req) + if err != nil { + result.sbaplr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.ServerBlobAuditingPoliciesClient", "ListByServer", resp, "Failure sending request") + return + } + + result.sbaplr, err = client.ListByServerResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServerBlobAuditingPoliciesClient", "ListByServer", resp, "Failure responding to request") + } + + return +} + +// ListByServerPreparer prepares the ListByServer request. +func (client ServerBlobAuditingPoliciesClient) ListByServerPreparer(ctx context.Context, resourceGroupName string, serverName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-03-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/auditingSettings", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByServerSender sends the ListByServer request. The method will close the +// http.Response Body if it receives an error. +func (client ServerBlobAuditingPoliciesClient) ListByServerSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByServerResponder handles the response to the ListByServer request. The method always +// closes the http.Response Body. +func (client ServerBlobAuditingPoliciesClient) ListByServerResponder(resp *http.Response) (result ServerBlobAuditingPolicyListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listByServerNextResults retrieves the next set of results, if any. +func (client ServerBlobAuditingPoliciesClient) listByServerNextResults(ctx context.Context, lastResults ServerBlobAuditingPolicyListResult) (result ServerBlobAuditingPolicyListResult, err error) { + req, err := lastResults.serverBlobAuditingPolicyListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "sql.ServerBlobAuditingPoliciesClient", "listByServerNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListByServerSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "sql.ServerBlobAuditingPoliciesClient", "listByServerNextResults", resp, "Failure sending next results request") + } + result, err = client.ListByServerResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServerBlobAuditingPoliciesClient", "listByServerNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListByServerComplete enumerates all values, automatically crossing page boundaries as required. +func (client ServerBlobAuditingPoliciesClient) ListByServerComplete(ctx context.Context, resourceGroupName string, serverName string) (result ServerBlobAuditingPolicyListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServerBlobAuditingPoliciesClient.ListByServer") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListByServer(ctx, resourceGroupName, serverName) + return +} diff --git a/services/preview/sql/mgmt/2017-03-01-preview/sql/sqlapi/interfaces.go b/services/preview/sql/mgmt/2017-03-01-preview/sql/sqlapi/interfaces.go index ae9f1936ba8c..2725b915863e 100644 --- a/services/preview/sql/mgmt/2017-03-01-preview/sql/sqlapi/interfaces.go +++ b/services/preview/sql/mgmt/2017-03-01-preview/sql/sqlapi/interfaces.go @@ -269,6 +269,7 @@ type EncryptionProtectorsClientAPI interface { CreateOrUpdate(ctx context.Context, resourceGroupName string, serverName string, parameters sql.EncryptionProtector) (result sql.EncryptionProtectorsCreateOrUpdateFuture, err error) Get(ctx context.Context, resourceGroupName string, serverName string) (result sql.EncryptionProtector, err error) ListByServer(ctx context.Context, resourceGroupName string, serverName string) (result sql.EncryptionProtectorListResultPage, err error) + Revalidate(ctx context.Context, resourceGroupName string, serverName string) (result sql.EncryptionProtectorsRevalidateFuture, err error) } var _ EncryptionProtectorsClientAPI = (*sql.EncryptionProtectorsClient)(nil) @@ -396,6 +397,7 @@ var _ ExtendedServerBlobAuditingPoliciesClientAPI = (*sql.ExtendedServerBlobAudi type ServerBlobAuditingPoliciesClientAPI interface { CreateOrUpdate(ctx context.Context, resourceGroupName string, serverName string, parameters sql.ServerBlobAuditingPolicy) (result sql.ServerBlobAuditingPoliciesCreateOrUpdateFuture, err error) Get(ctx context.Context, resourceGroupName string, serverName string) (result sql.ServerBlobAuditingPolicy, err error) + ListByServer(ctx context.Context, resourceGroupName string, serverName string) (result sql.ServerBlobAuditingPolicyListResultPage, err error) } var _ ServerBlobAuditingPoliciesClientAPI = (*sql.ServerBlobAuditingPoliciesClient)(nil) @@ -404,6 +406,7 @@ var _ ServerBlobAuditingPoliciesClientAPI = (*sql.ServerBlobAuditingPoliciesClie type DatabaseBlobAuditingPoliciesClientAPI interface { CreateOrUpdate(ctx context.Context, resourceGroupName string, serverName string, databaseName string, parameters sql.DatabaseBlobAuditingPolicy) (result sql.DatabaseBlobAuditingPolicy, err error) Get(ctx context.Context, resourceGroupName string, serverName string, databaseName string) (result sql.DatabaseBlobAuditingPolicy, err error) + ListByDatabase(ctx context.Context, resourceGroupName string, serverName string, databaseName string) (result sql.DatabaseBlobAuditingPolicyListResultPage, err error) } var _ DatabaseBlobAuditingPoliciesClientAPI = (*sql.DatabaseBlobAuditingPoliciesClient)(nil) diff --git a/services/preview/sql/mgmt/2017-10-01-preview/sql/managedinstanceencryptionprotectors.go b/services/preview/sql/mgmt/2017-10-01-preview/sql/managedinstanceencryptionprotectors.go index cf433d5a1242..4f0f12f184f1 100644 --- a/services/preview/sql/mgmt/2017-10-01-preview/sql/managedinstanceencryptionprotectors.go +++ b/services/preview/sql/mgmt/2017-10-01-preview/sql/managedinstanceencryptionprotectors.go @@ -321,3 +321,81 @@ func (client ManagedInstanceEncryptionProtectorsClient) ListByInstanceComplete(c result.page, err = client.ListByInstance(ctx, resourceGroupName, managedInstanceName) return } + +// Revalidate revalidates an existing encryption protector. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// managedInstanceName - the name of the managed instance. +func (client ManagedInstanceEncryptionProtectorsClient) Revalidate(ctx context.Context, resourceGroupName string, managedInstanceName string) (result ManagedInstanceEncryptionProtectorsRevalidateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ManagedInstanceEncryptionProtectorsClient.Revalidate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.RevalidatePreparer(ctx, resourceGroupName, managedInstanceName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ManagedInstanceEncryptionProtectorsClient", "Revalidate", nil, "Failure preparing request") + return + } + + result, err = client.RevalidateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ManagedInstanceEncryptionProtectorsClient", "Revalidate", result.Response(), "Failure sending request") + return + } + + return +} + +// RevalidatePreparer prepares the Revalidate request. +func (client ManagedInstanceEncryptionProtectorsClient) RevalidatePreparer(ctx context.Context, resourceGroupName string, managedInstanceName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "encryptionProtectorName": autorest.Encode("path", "current"), + "managedInstanceName": autorest.Encode("path", managedInstanceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-10-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/encryptionProtector/{encryptionProtectorName}/revalidate", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// RevalidateSender sends the Revalidate request. The method will close the +// http.Response Body if it receives an error. +func (client ManagedInstanceEncryptionProtectorsClient) RevalidateSender(req *http.Request) (future ManagedInstanceEncryptionProtectorsRevalidateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// RevalidateResponder handles the response to the Revalidate request. The method always +// closes the http.Response Body. +func (client ManagedInstanceEncryptionProtectorsClient) RevalidateResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByClosing()) + result.Response = resp + return +} diff --git a/services/preview/sql/mgmt/2017-10-01-preview/sql/models.go b/services/preview/sql/mgmt/2017-10-01-preview/sql/models.go index 47a9a57126e2..55481992c85a 100644 --- a/services/preview/sql/mgmt/2017-10-01-preview/sql/models.go +++ b/services/preview/sql/mgmt/2017-10-01-preview/sql/models.go @@ -148,51 +148,53 @@ func PossibleDatabaseReadScaleValues() []DatabaseReadScale { type DatabaseStatus string const ( - // AutoClosed ... - AutoClosed DatabaseStatus = "AutoClosed" - // Copying ... - Copying DatabaseStatus = "Copying" - // Creating ... - Creating DatabaseStatus = "Creating" - // EmergencyMode ... - EmergencyMode DatabaseStatus = "EmergencyMode" - // Inaccessible ... - Inaccessible DatabaseStatus = "Inaccessible" - // Offline ... - Offline DatabaseStatus = "Offline" - // OfflineChangingDwPerformanceTiers ... - OfflineChangingDwPerformanceTiers DatabaseStatus = "OfflineChangingDwPerformanceTiers" - // OfflineSecondary ... - OfflineSecondary DatabaseStatus = "OfflineSecondary" - // Online ... - Online DatabaseStatus = "Online" - // OnlineChangingDwPerformanceTiers ... - OnlineChangingDwPerformanceTiers DatabaseStatus = "OnlineChangingDwPerformanceTiers" - // Paused ... - Paused DatabaseStatus = "Paused" - // Pausing ... - Pausing DatabaseStatus = "Pausing" - // Recovering ... - Recovering DatabaseStatus = "Recovering" - // RecoveryPending ... - RecoveryPending DatabaseStatus = "RecoveryPending" - // Restoring ... - Restoring DatabaseStatus = "Restoring" - // Resuming ... - Resuming DatabaseStatus = "Resuming" - // Scaling ... - Scaling DatabaseStatus = "Scaling" - // Shutdown ... - Shutdown DatabaseStatus = "Shutdown" - // Standby ... - Standby DatabaseStatus = "Standby" - // Suspect ... - Suspect DatabaseStatus = "Suspect" + // DatabaseStatusAutoClosed ... + DatabaseStatusAutoClosed DatabaseStatus = "AutoClosed" + // DatabaseStatusCopying ... + DatabaseStatusCopying DatabaseStatus = "Copying" + // DatabaseStatusCreating ... + DatabaseStatusCreating DatabaseStatus = "Creating" + // DatabaseStatusDisabled ... + DatabaseStatusDisabled DatabaseStatus = "Disabled" + // DatabaseStatusEmergencyMode ... + DatabaseStatusEmergencyMode DatabaseStatus = "EmergencyMode" + // DatabaseStatusInaccessible ... + DatabaseStatusInaccessible DatabaseStatus = "Inaccessible" + // DatabaseStatusOffline ... + DatabaseStatusOffline DatabaseStatus = "Offline" + // DatabaseStatusOfflineChangingDwPerformanceTiers ... + DatabaseStatusOfflineChangingDwPerformanceTiers DatabaseStatus = "OfflineChangingDwPerformanceTiers" + // DatabaseStatusOfflineSecondary ... + DatabaseStatusOfflineSecondary DatabaseStatus = "OfflineSecondary" + // DatabaseStatusOnline ... + DatabaseStatusOnline DatabaseStatus = "Online" + // DatabaseStatusOnlineChangingDwPerformanceTiers ... + DatabaseStatusOnlineChangingDwPerformanceTiers DatabaseStatus = "OnlineChangingDwPerformanceTiers" + // DatabaseStatusPaused ... + DatabaseStatusPaused DatabaseStatus = "Paused" + // DatabaseStatusPausing ... + DatabaseStatusPausing DatabaseStatus = "Pausing" + // DatabaseStatusRecovering ... + DatabaseStatusRecovering DatabaseStatus = "Recovering" + // DatabaseStatusRecoveryPending ... + DatabaseStatusRecoveryPending DatabaseStatus = "RecoveryPending" + // DatabaseStatusRestoring ... + DatabaseStatusRestoring DatabaseStatus = "Restoring" + // DatabaseStatusResuming ... + DatabaseStatusResuming DatabaseStatus = "Resuming" + // DatabaseStatusScaling ... + DatabaseStatusScaling DatabaseStatus = "Scaling" + // DatabaseStatusShutdown ... + DatabaseStatusShutdown DatabaseStatus = "Shutdown" + // DatabaseStatusStandby ... + DatabaseStatusStandby DatabaseStatus = "Standby" + // DatabaseStatusSuspect ... + DatabaseStatusSuspect DatabaseStatus = "Suspect" ) // PossibleDatabaseStatusValues returns an array of possible values for the DatabaseStatus const type. func PossibleDatabaseStatusValues() []DatabaseStatus { - return []DatabaseStatus{AutoClosed, Copying, Creating, EmergencyMode, Inaccessible, Offline, OfflineChangingDwPerformanceTiers, OfflineSecondary, Online, OnlineChangingDwPerformanceTiers, Paused, Pausing, Recovering, RecoveryPending, Restoring, Resuming, Scaling, Shutdown, Standby, Suspect} + return []DatabaseStatus{DatabaseStatusAutoClosed, DatabaseStatusCopying, DatabaseStatusCreating, DatabaseStatusDisabled, DatabaseStatusEmergencyMode, DatabaseStatusInaccessible, DatabaseStatusOffline, DatabaseStatusOfflineChangingDwPerformanceTiers, DatabaseStatusOfflineSecondary, DatabaseStatusOnline, DatabaseStatusOnlineChangingDwPerformanceTiers, DatabaseStatusPaused, DatabaseStatusPausing, DatabaseStatusRecovering, DatabaseStatusRecoveryPending, DatabaseStatusRestoring, DatabaseStatusResuming, DatabaseStatusScaling, DatabaseStatusShutdown, DatabaseStatusStandby, DatabaseStatusSuspect} } // ElasticPoolLicenseType enumerates the values for elastic pool license type. @@ -1289,7 +1291,7 @@ type DatabaseProperties struct { ElasticPoolID *string `json:"elasticPoolId,omitempty"` // SourceDatabaseID - The resource identifier of the source database associated with create operation of this database. SourceDatabaseID *string `json:"sourceDatabaseId,omitempty"` - // Status - READ-ONLY; The status of the database. Possible values include: 'Online', 'Restoring', 'RecoveryPending', 'Recovering', 'Suspect', 'Offline', 'Standby', 'Shutdown', 'EmergencyMode', 'AutoClosed', 'Copying', 'Creating', 'Inaccessible', 'OfflineSecondary', 'Pausing', 'Paused', 'Resuming', 'Scaling', 'OfflineChangingDwPerformanceTiers', 'OnlineChangingDwPerformanceTiers' + // Status - READ-ONLY; The status of the database. Possible values include: 'DatabaseStatusOnline', 'DatabaseStatusRestoring', 'DatabaseStatusRecoveryPending', 'DatabaseStatusRecovering', 'DatabaseStatusSuspect', 'DatabaseStatusOffline', 'DatabaseStatusStandby', 'DatabaseStatusShutdown', 'DatabaseStatusEmergencyMode', 'DatabaseStatusAutoClosed', 'DatabaseStatusCopying', 'DatabaseStatusCreating', 'DatabaseStatusInaccessible', 'DatabaseStatusOfflineSecondary', 'DatabaseStatusPausing', 'DatabaseStatusPaused', 'DatabaseStatusResuming', 'DatabaseStatusScaling', 'DatabaseStatusOfflineChangingDwPerformanceTiers', 'DatabaseStatusOnlineChangingDwPerformanceTiers', 'DatabaseStatusDisabled' Status DatabaseStatus `json:"status,omitempty"` // DatabaseID - READ-ONLY; The ID of the database. DatabaseID *uuid.UUID `json:"databaseId,omitempty"` @@ -1325,14 +1327,20 @@ type DatabaseProperties struct { MaxLogSizeBytes *int64 `json:"maxLogSizeBytes,omitempty"` // EarliestRestoreDate - READ-ONLY; This records the earliest start date and time that restore is available for this database (ISO8601 format). EarliestRestoreDate *date.Time `json:"earliestRestoreDate,omitempty"` - // ReadScale - The state of read-only routing. If enabled, connections that have application intent set to readonly in their connection string may be routed to a readonly secondary replica in the same region. Possible values include: 'DatabaseReadScaleEnabled', 'DatabaseReadScaleDisabled' + // ReadScale - If enabled, connections that have application intent set to readonly in their connection string may be routed to a readonly secondary replica. This property is only settable for Premium and Business Critical databases. Possible values include: 'DatabaseReadScaleEnabled', 'DatabaseReadScaleDisabled' ReadScale DatabaseReadScale `json:"readScale,omitempty"` + // ReadReplicaCount - The number of readonly secondary replicas associated with the database to which readonly application intent connections may be routed. This property is only settable for Hyperscale edition databases. + ReadReplicaCount *int32 `json:"readReplicaCount,omitempty"` // CurrentSku - READ-ONLY; The name and tier of the SKU. CurrentSku *Sku `json:"currentSku,omitempty"` // AutoPauseDelay - Time in minutes after which database is automatically paused. A value of -1 means that automatic pause is disabled AutoPauseDelay *int32 `json:"autoPauseDelay,omitempty"` // MinCapacity - Minimal capacity that database will always have allocated, if not paused MinCapacity *float64 `json:"minCapacity,omitempty"` + // PausedDate - READ-ONLY; The date when database was paused by user configuration or action (ISO8601 format). Null if the database is ready. + PausedDate *date.Time `json:"pausedDate,omitempty"` + // ResumedDate - READ-ONLY; The date when database was resumed by user action or database login (ISO8601 format). Null if the database is paused. + ResumedDate *date.Time `json:"resumedDate,omitempty"` } // DatabasesCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a long-running @@ -3477,6 +3485,29 @@ func (future *ManagedInstanceEncryptionProtectorsCreateOrUpdateFuture) Result(cl return } +// ManagedInstanceEncryptionProtectorsRevalidateFuture an abstraction for monitoring and retrieving the +// results of a long-running operation. +type ManagedInstanceEncryptionProtectorsRevalidateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ManagedInstanceEncryptionProtectorsRevalidateFuture) Result(client ManagedInstanceEncryptionProtectorsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ManagedInstanceEncryptionProtectorsRevalidateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("sql.ManagedInstanceEncryptionProtectorsRevalidateFuture") + return + } + ar.Response = future.Response() + return +} + // ManagedInstanceFamilyCapability the managed server family capability. type ManagedInstanceFamilyCapability struct { // Name - READ-ONLY; Family name. @@ -4174,17 +4205,17 @@ type ServiceObjectiveCapability struct { Reason *string `json:"reason,omitempty"` } -// Sku the resource model definition representing SKU +// Sku an ARM Resource SKU. type Sku struct { - // Name - The name of the SKU. Ex - P3. It is typically a letter+number code + // Name - The name of the SKU, typically, a letter + Number code, e.g. P3. Name *string `json:"name,omitempty"` - // Tier - This field is required to be implemented by the Resource Provider if the service has more than one tier, but is not required on a PUT. + // Tier - The tier or edition of the particular SKU, e.g. Basic, Premium. Tier *string `json:"tier,omitempty"` - // Size - The SKU size. When the name field is the combination of tier and some other value, this would be the standalone code. + // Size - Size of the particular SKU Size *string `json:"size,omitempty"` // Family - If the service has different generations of hardware, for the same SKU, then that can be captured here. Family *string `json:"family,omitempty"` - // Capacity - If the SKU supports scale out/in then the capacity integer should be included. If scale out/in is not possible for the resource this may be omitted. + // Capacity - Capacity of the particular SKU. Capacity *int32 `json:"capacity,omitempty"` } diff --git a/services/preview/sql/mgmt/2017-10-01-preview/sql/sqlapi/interfaces.go b/services/preview/sql/mgmt/2017-10-01-preview/sql/sqlapi/interfaces.go index aa93c1ca8a3f..9b696e175f46 100644 --- a/services/preview/sql/mgmt/2017-10-01-preview/sql/sqlapi/interfaces.go +++ b/services/preview/sql/mgmt/2017-10-01-preview/sql/sqlapi/interfaces.go @@ -164,6 +164,7 @@ type ManagedInstanceEncryptionProtectorsClientAPI interface { CreateOrUpdate(ctx context.Context, resourceGroupName string, managedInstanceName string, parameters sql.ManagedInstanceEncryptionProtector) (result sql.ManagedInstanceEncryptionProtectorsCreateOrUpdateFuture, err error) Get(ctx context.Context, resourceGroupName string, managedInstanceName string) (result sql.ManagedInstanceEncryptionProtector, err error) ListByInstance(ctx context.Context, resourceGroupName string, managedInstanceName string) (result sql.ManagedInstanceEncryptionProtectorListResultPage, err error) + Revalidate(ctx context.Context, resourceGroupName string, managedInstanceName string) (result sql.ManagedInstanceEncryptionProtectorsRevalidateFuture, err error) } var _ ManagedInstanceEncryptionProtectorsClientAPI = (*sql.ManagedInstanceEncryptionProtectorsClient)(nil) diff --git a/services/mobileengagement/mgmt/2014-12-01/mobileengagement/client.go b/services/preview/sql/mgmt/2018-06-01-preview/sql/client.go similarity index 76% rename from services/mobileengagement/mgmt/2014-12-01/mobileengagement/client.go rename to services/preview/sql/mgmt/2018-06-01-preview/sql/client.go index 17c88578afe1..f394454f7f5d 100644 --- a/services/mobileengagement/mgmt/2014-12-01/mobileengagement/client.go +++ b/services/preview/sql/mgmt/2018-06-01-preview/sql/client.go @@ -1,7 +1,8 @@ -// Package mobileengagement implements the Azure ARM Mobileengagement service API version 2014-12-01. +// Package sql implements the Azure ARM Sql service API version 2018-06-01-preview. // -// Microsoft Azure Mobile Engagement REST APIs. -package mobileengagement +// The Azure SQL Database management API provides a RESTful set of web services that interact with Azure SQL Database +// services to manage your databases. The API enables you to create, retrieve, update, and delete databases. +package sql // Copyright (c) Microsoft and contributors. All rights reserved. // @@ -25,11 +26,11 @@ import ( ) const ( - // DefaultBaseURI is the default URI used for the service Mobileengagement + // DefaultBaseURI is the default URI used for the service Sql DefaultBaseURI = "https://management.azure.com" ) -// BaseClient is the base client for Mobileengagement. +// BaseClient is the base client for Sql. type BaseClient struct { autorest.Client BaseURI string diff --git a/services/preview/sql/mgmt/2018-06-01-preview/sql/databases.go b/services/preview/sql/mgmt/2018-06-01-preview/sql/databases.go new file mode 100644 index 000000000000..fc4ef2661cfd --- /dev/null +++ b/services/preview/sql/mgmt/2018-06-01-preview/sql/databases.go @@ -0,0 +1,122 @@ +package sql + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// DatabasesClient is the the Azure SQL Database management API provides a RESTful set of web services that interact +// with Azure SQL Database services to manage your databases. The API enables you to create, retrieve, update, and +// delete databases. +type DatabasesClient struct { + BaseClient +} + +// NewDatabasesClient creates an instance of the DatabasesClient client. +func NewDatabasesClient(subscriptionID string) DatabasesClient { + return NewDatabasesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewDatabasesClientWithBaseURI creates an instance of the DatabasesClient client. +func NewDatabasesClientWithBaseURI(baseURI string, subscriptionID string) DatabasesClient { + return DatabasesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// Failover failovers a database. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serverName - the name of the server. +// databaseName - the name of the database to failover. +func (client DatabasesClient) Failover(ctx context.Context, resourceGroupName string, serverName string, databaseName string) (result DatabasesFailoverFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DatabasesClient.Failover") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.FailoverPreparer(ctx, resourceGroupName, serverName, databaseName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DatabasesClient", "Failover", nil, "Failure preparing request") + return + } + + result, err = client.FailoverSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DatabasesClient", "Failover", result.Response(), "Failure sending request") + return + } + + return +} + +// FailoverPreparer prepares the Failover request. +func (client DatabasesClient) FailoverPreparer(ctx context.Context, resourceGroupName string, serverName string, databaseName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "databaseName": autorest.Encode("path", databaseName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/failover", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// FailoverSender sends the Failover request. The method will close the +// http.Response Body if it receives an error. +func (client DatabasesClient) FailoverSender(req *http.Request) (future DatabasesFailoverFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// FailoverResponder handles the response to the Failover request. The method always +// closes the http.Response Body. +func (client DatabasesClient) FailoverResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByClosing()) + result.Response = resp + return +} diff --git a/services/preview/sql/mgmt/2018-06-01-preview/sql/databasesecurityalertpolicies.go b/services/preview/sql/mgmt/2018-06-01-preview/sql/databasesecurityalertpolicies.go new file mode 100644 index 000000000000..03008139fd77 --- /dev/null +++ b/services/preview/sql/mgmt/2018-06-01-preview/sql/databasesecurityalertpolicies.go @@ -0,0 +1,327 @@ +package sql + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// DatabaseSecurityAlertPoliciesClient is the the Azure SQL Database management API provides a RESTful set of web +// services that interact with Azure SQL Database services to manage your databases. The API enables you to create, +// retrieve, update, and delete databases. +type DatabaseSecurityAlertPoliciesClient struct { + BaseClient +} + +// NewDatabaseSecurityAlertPoliciesClient creates an instance of the DatabaseSecurityAlertPoliciesClient client. +func NewDatabaseSecurityAlertPoliciesClient(subscriptionID string) DatabaseSecurityAlertPoliciesClient { + return NewDatabaseSecurityAlertPoliciesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewDatabaseSecurityAlertPoliciesClientWithBaseURI creates an instance of the DatabaseSecurityAlertPoliciesClient +// client. +func NewDatabaseSecurityAlertPoliciesClientWithBaseURI(baseURI string, subscriptionID string) DatabaseSecurityAlertPoliciesClient { + return DatabaseSecurityAlertPoliciesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates a database's security alert policy. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serverName - the name of the server. +// databaseName - the name of the database for which the security alert policy is defined. +// parameters - the database security alert policy. +func (client DatabaseSecurityAlertPoliciesClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, serverName string, databaseName string, parameters DatabaseSecurityAlertPolicy) (result DatabaseSecurityAlertPolicy, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DatabaseSecurityAlertPoliciesClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, serverName, databaseName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DatabaseSecurityAlertPoliciesClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.DatabaseSecurityAlertPoliciesClient", "CreateOrUpdate", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DatabaseSecurityAlertPoliciesClient", "CreateOrUpdate", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client DatabaseSecurityAlertPoliciesClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, serverName string, databaseName string, parameters DatabaseSecurityAlertPolicy) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "databaseName": autorest.Encode("path", databaseName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "securityAlertPolicyName": autorest.Encode("path", "default"), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/securityAlertPolicies/{securityAlertPolicyName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client DatabaseSecurityAlertPoliciesClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client DatabaseSecurityAlertPoliciesClient) CreateOrUpdateResponder(resp *http.Response) (result DatabaseSecurityAlertPolicy, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Get gets a database's security alert policy. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serverName - the name of the server. +// databaseName - the name of the database for which the security alert policy is defined. +func (client DatabaseSecurityAlertPoliciesClient) Get(ctx context.Context, resourceGroupName string, serverName string, databaseName string) (result DatabaseSecurityAlertPolicy, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DatabaseSecurityAlertPoliciesClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, serverName, databaseName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DatabaseSecurityAlertPoliciesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.DatabaseSecurityAlertPoliciesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DatabaseSecurityAlertPoliciesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client DatabaseSecurityAlertPoliciesClient) GetPreparer(ctx context.Context, resourceGroupName string, serverName string, databaseName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "databaseName": autorest.Encode("path", databaseName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "securityAlertPolicyName": autorest.Encode("path", "default"), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/securityAlertPolicies/{securityAlertPolicyName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client DatabaseSecurityAlertPoliciesClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client DatabaseSecurityAlertPoliciesClient) GetResponder(resp *http.Response) (result DatabaseSecurityAlertPolicy, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByDatabase gets a list of database's security alert policies. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serverName - the name of the server. +// databaseName - the name of the database for which the security alert policy is defined. +func (client DatabaseSecurityAlertPoliciesClient) ListByDatabase(ctx context.Context, resourceGroupName string, serverName string, databaseName string) (result DatabaseSecurityAlertListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DatabaseSecurityAlertPoliciesClient.ListByDatabase") + defer func() { + sc := -1 + if result.dsalr.Response.Response != nil { + sc = result.dsalr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listByDatabaseNextResults + req, err := client.ListByDatabasePreparer(ctx, resourceGroupName, serverName, databaseName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DatabaseSecurityAlertPoliciesClient", "ListByDatabase", nil, "Failure preparing request") + return + } + + resp, err := client.ListByDatabaseSender(req) + if err != nil { + result.dsalr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.DatabaseSecurityAlertPoliciesClient", "ListByDatabase", resp, "Failure sending request") + return + } + + result.dsalr, err = client.ListByDatabaseResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DatabaseSecurityAlertPoliciesClient", "ListByDatabase", resp, "Failure responding to request") + } + + return +} + +// ListByDatabasePreparer prepares the ListByDatabase request. +func (client DatabaseSecurityAlertPoliciesClient) ListByDatabasePreparer(ctx context.Context, resourceGroupName string, serverName string, databaseName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "databaseName": autorest.Encode("path", databaseName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/securityAlertPolicies", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByDatabaseSender sends the ListByDatabase request. The method will close the +// http.Response Body if it receives an error. +func (client DatabaseSecurityAlertPoliciesClient) ListByDatabaseSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByDatabaseResponder handles the response to the ListByDatabase request. The method always +// closes the http.Response Body. +func (client DatabaseSecurityAlertPoliciesClient) ListByDatabaseResponder(resp *http.Response) (result DatabaseSecurityAlertListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listByDatabaseNextResults retrieves the next set of results, if any. +func (client DatabaseSecurityAlertPoliciesClient) listByDatabaseNextResults(ctx context.Context, lastResults DatabaseSecurityAlertListResult) (result DatabaseSecurityAlertListResult, err error) { + req, err := lastResults.databaseSecurityAlertListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "sql.DatabaseSecurityAlertPoliciesClient", "listByDatabaseNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListByDatabaseSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "sql.DatabaseSecurityAlertPoliciesClient", "listByDatabaseNextResults", resp, "Failure sending next results request") + } + result, err = client.ListByDatabaseResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DatabaseSecurityAlertPoliciesClient", "listByDatabaseNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListByDatabaseComplete enumerates all values, automatically crossing page boundaries as required. +func (client DatabaseSecurityAlertPoliciesClient) ListByDatabaseComplete(ctx context.Context, resourceGroupName string, serverName string, databaseName string) (result DatabaseSecurityAlertListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DatabaseSecurityAlertPoliciesClient.ListByDatabase") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListByDatabase(ctx, resourceGroupName, serverName, databaseName) + return +} diff --git a/services/preview/sql/mgmt/2018-06-01-preview/sql/elasticpools.go b/services/preview/sql/mgmt/2018-06-01-preview/sql/elasticpools.go new file mode 100644 index 000000000000..6ff36ef5de7e --- /dev/null +++ b/services/preview/sql/mgmt/2018-06-01-preview/sql/elasticpools.go @@ -0,0 +1,122 @@ +package sql + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// ElasticPoolsClient is the the Azure SQL Database management API provides a RESTful set of web services that interact +// with Azure SQL Database services to manage your databases. The API enables you to create, retrieve, update, and +// delete databases. +type ElasticPoolsClient struct { + BaseClient +} + +// NewElasticPoolsClient creates an instance of the ElasticPoolsClient client. +func NewElasticPoolsClient(subscriptionID string) ElasticPoolsClient { + return NewElasticPoolsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewElasticPoolsClientWithBaseURI creates an instance of the ElasticPoolsClient client. +func NewElasticPoolsClientWithBaseURI(baseURI string, subscriptionID string) ElasticPoolsClient { + return ElasticPoolsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// Failover failovers an elastic pool. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serverName - the name of the server. +// elasticPoolName - the name of the elastic pool to failover. +func (client ElasticPoolsClient) Failover(ctx context.Context, resourceGroupName string, serverName string, elasticPoolName string) (result ElasticPoolsFailoverFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ElasticPoolsClient.Failover") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.FailoverPreparer(ctx, resourceGroupName, serverName, elasticPoolName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ElasticPoolsClient", "Failover", nil, "Failure preparing request") + return + } + + result, err = client.FailoverSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ElasticPoolsClient", "Failover", result.Response(), "Failure sending request") + return + } + + return +} + +// FailoverPreparer prepares the Failover request. +func (client ElasticPoolsClient) FailoverPreparer(ctx context.Context, resourceGroupName string, serverName string, elasticPoolName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "elasticPoolName": autorest.Encode("path", elasticPoolName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}/failover", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// FailoverSender sends the Failover request. The method will close the +// http.Response Body if it receives an error. +func (client ElasticPoolsClient) FailoverSender(req *http.Request) (future ElasticPoolsFailoverFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// FailoverResponder handles the response to the Failover request. The method always +// closes the http.Response Body. +func (client ElasticPoolsClient) FailoverResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByClosing()) + result.Response = resp + return +} diff --git a/services/preview/sql/mgmt/2018-06-01-preview/sql/instancepools.go b/services/preview/sql/mgmt/2018-06-01-preview/sql/instancepools.go new file mode 100644 index 000000000000..5e6cddb41eec --- /dev/null +++ b/services/preview/sql/mgmt/2018-06-01-preview/sql/instancepools.go @@ -0,0 +1,596 @@ +package sql + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// InstancePoolsClient is the the Azure SQL Database management API provides a RESTful set of web services that +// interact with Azure SQL Database services to manage your databases. The API enables you to create, retrieve, update, +// and delete databases. +type InstancePoolsClient struct { + BaseClient +} + +// NewInstancePoolsClient creates an instance of the InstancePoolsClient client. +func NewInstancePoolsClient(subscriptionID string) InstancePoolsClient { + return NewInstancePoolsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewInstancePoolsClientWithBaseURI creates an instance of the InstancePoolsClient client. +func NewInstancePoolsClientWithBaseURI(baseURI string, subscriptionID string) InstancePoolsClient { + return InstancePoolsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates an instance pool. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// instancePoolName - the name of the instance pool to be created or updated. +// parameters - the requested instance pool resource state. +func (client InstancePoolsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, instancePoolName string, parameters InstancePool) (result InstancePoolsCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/InstancePoolsClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.Sku", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.Sku.Name", Name: validation.Null, Rule: true, Chain: nil}}}, + {Target: "parameters.InstancePoolProperties", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.InstancePoolProperties.SubnetID", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "parameters.InstancePoolProperties.VCores", Name: validation.Null, Rule: true, Chain: nil}, + }}}}}); err != nil { + return result, validation.NewError("sql.InstancePoolsClient", "CreateOrUpdate", err.Error()) + } + + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, instancePoolName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.InstancePoolsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.InstancePoolsClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client InstancePoolsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, instancePoolName string, parameters InstancePool) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "instancePoolName": autorest.Encode("path", instancePoolName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/instancePools/{instancePoolName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client InstancePoolsClient) CreateOrUpdateSender(req *http.Request) (future InstancePoolsCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client InstancePoolsClient) CreateOrUpdateResponder(resp *http.Response) (result InstancePool, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes an instance pool +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// instancePoolName - the name of the instance pool to be deleted +func (client InstancePoolsClient) Delete(ctx context.Context, resourceGroupName string, instancePoolName string) (result InstancePoolsDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/InstancePoolsClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, instancePoolName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.InstancePoolsClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.InstancePoolsClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client InstancePoolsClient) DeletePreparer(ctx context.Context, resourceGroupName string, instancePoolName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "instancePoolName": autorest.Encode("path", instancePoolName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/instancePools/{instancePoolName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client InstancePoolsClient) DeleteSender(req *http.Request) (future InstancePoolsDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client InstancePoolsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets an instance pool. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// instancePoolName - the name of the instance pool to be retrieved. +func (client InstancePoolsClient) Get(ctx context.Context, resourceGroupName string, instancePoolName string) (result InstancePool, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/InstancePoolsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, instancePoolName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.InstancePoolsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.InstancePoolsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.InstancePoolsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client InstancePoolsClient) GetPreparer(ctx context.Context, resourceGroupName string, instancePoolName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "instancePoolName": autorest.Encode("path", instancePoolName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/instancePools/{instancePoolName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client InstancePoolsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client InstancePoolsClient) GetResponder(resp *http.Response) (result InstancePool, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets a list of all instance pools in the subscription. +func (client InstancePoolsClient) List(ctx context.Context) (result InstancePoolListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/InstancePoolsClient.List") + defer func() { + sc := -1 + if result.iplr.Response.Response != nil { + sc = result.iplr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.InstancePoolsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.iplr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.InstancePoolsClient", "List", resp, "Failure sending request") + return + } + + result.iplr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.InstancePoolsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client InstancePoolsClient) ListPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Sql/instancePools", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client InstancePoolsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client InstancePoolsClient) ListResponder(resp *http.Response) (result InstancePoolListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client InstancePoolsClient) listNextResults(ctx context.Context, lastResults InstancePoolListResult) (result InstancePoolListResult, err error) { + req, err := lastResults.instancePoolListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "sql.InstancePoolsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "sql.InstancePoolsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.InstancePoolsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client InstancePoolsClient) ListComplete(ctx context.Context) (result InstancePoolListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/InstancePoolsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx) + return +} + +// ListByResourceGroup gets a list of instance pools in the resource group +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +func (client InstancePoolsClient) ListByResourceGroup(ctx context.Context, resourceGroupName string) (result InstancePoolListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/InstancePoolsClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.iplr.Response.Response != nil { + sc = result.iplr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listByResourceGroupNextResults + req, err := client.ListByResourceGroupPreparer(ctx, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.InstancePoolsClient", "ListByResourceGroup", nil, "Failure preparing request") + return + } + + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.iplr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.InstancePoolsClient", "ListByResourceGroup", resp, "Failure sending request") + return + } + + result.iplr, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.InstancePoolsClient", "ListByResourceGroup", resp, "Failure responding to request") + } + + return +} + +// ListByResourceGroupPreparer prepares the ListByResourceGroup request. +func (client InstancePoolsClient) ListByResourceGroupPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/instancePools", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByResourceGroupSender sends the ListByResourceGroup request. The method will close the +// http.Response Body if it receives an error. +func (client InstancePoolsClient) ListByResourceGroupSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByResourceGroupResponder handles the response to the ListByResourceGroup request. The method always +// closes the http.Response Body. +func (client InstancePoolsClient) ListByResourceGroupResponder(resp *http.Response) (result InstancePoolListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listByResourceGroupNextResults retrieves the next set of results, if any. +func (client InstancePoolsClient) listByResourceGroupNextResults(ctx context.Context, lastResults InstancePoolListResult) (result InstancePoolListResult, err error) { + req, err := lastResults.instancePoolListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "sql.InstancePoolsClient", "listByResourceGroupNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "sql.InstancePoolsClient", "listByResourceGroupNextResults", resp, "Failure sending next results request") + } + result, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.InstancePoolsClient", "listByResourceGroupNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListByResourceGroupComplete enumerates all values, automatically crossing page boundaries as required. +func (client InstancePoolsClient) ListByResourceGroupComplete(ctx context.Context, resourceGroupName string) (result InstancePoolListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/InstancePoolsClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListByResourceGroup(ctx, resourceGroupName) + return +} + +// Update updates an instance pool. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// instancePoolName - the name of the instance pool to be updated. +// parameters - the requested instance pool resource state. +func (client InstancePoolsClient) Update(ctx context.Context, resourceGroupName string, instancePoolName string, parameters InstancePoolUpdate) (result InstancePoolsUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/InstancePoolsClient.Update") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdatePreparer(ctx, resourceGroupName, instancePoolName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.InstancePoolsClient", "Update", nil, "Failure preparing request") + return + } + + result, err = client.UpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.InstancePoolsClient", "Update", result.Response(), "Failure sending request") + return + } + + return +} + +// UpdatePreparer prepares the Update request. +func (client InstancePoolsClient) UpdatePreparer(ctx context.Context, resourceGroupName string, instancePoolName string, parameters InstancePoolUpdate) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "instancePoolName": autorest.Encode("path", instancePoolName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/instancePools/{instancePoolName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateSender sends the Update request. The method will close the +// http.Response Body if it receives an error. +func (client InstancePoolsClient) UpdateSender(req *http.Request) (future InstancePoolsUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// UpdateResponder handles the response to the Update request. The method always +// closes the http.Response Body. +func (client InstancePoolsClient) UpdateResponder(resp *http.Response) (result InstancePool, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/preview/sql/mgmt/2018-06-01-preview/sql/manageddatabaserestoredetails.go b/services/preview/sql/mgmt/2018-06-01-preview/sql/manageddatabaserestoredetails.go new file mode 100644 index 000000000000..727b63bb9028 --- /dev/null +++ b/services/preview/sql/mgmt/2018-06-01-preview/sql/manageddatabaserestoredetails.go @@ -0,0 +1,125 @@ +package sql + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// ManagedDatabaseRestoreDetailsClient is the the Azure SQL Database management API provides a RESTful set of web +// services that interact with Azure SQL Database services to manage your databases. The API enables you to create, +// retrieve, update, and delete databases. +type ManagedDatabaseRestoreDetailsClient struct { + BaseClient +} + +// NewManagedDatabaseRestoreDetailsClient creates an instance of the ManagedDatabaseRestoreDetailsClient client. +func NewManagedDatabaseRestoreDetailsClient(subscriptionID string) ManagedDatabaseRestoreDetailsClient { + return NewManagedDatabaseRestoreDetailsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewManagedDatabaseRestoreDetailsClientWithBaseURI creates an instance of the ManagedDatabaseRestoreDetailsClient +// client. +func NewManagedDatabaseRestoreDetailsClientWithBaseURI(baseURI string, subscriptionID string) ManagedDatabaseRestoreDetailsClient { + return ManagedDatabaseRestoreDetailsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// Get gets managed database restore details. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// managedInstanceName - the name of the managed instance. +// databaseName - the name of the database. +func (client ManagedDatabaseRestoreDetailsClient) Get(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string) (result ManagedDatabaseRestoreDetailsResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ManagedDatabaseRestoreDetailsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, managedInstanceName, databaseName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ManagedDatabaseRestoreDetailsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.ManagedDatabaseRestoreDetailsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ManagedDatabaseRestoreDetailsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client ManagedDatabaseRestoreDetailsClient) GetPreparer(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "databaseName": autorest.Encode("path", databaseName), + "managedInstanceName": autorest.Encode("path", managedInstanceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "restoreDetailsName": autorest.Encode("path", "Default"), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/restoreDetails/{restoreDetailsName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client ManagedDatabaseRestoreDetailsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client ManagedDatabaseRestoreDetailsClient) GetResponder(resp *http.Response) (result ManagedDatabaseRestoreDetailsResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/preview/sql/mgmt/2018-06-01-preview/sql/manageddatabases.go b/services/preview/sql/mgmt/2018-06-01-preview/sql/manageddatabases.go new file mode 100644 index 000000000000..76430e3bd4dc --- /dev/null +++ b/services/preview/sql/mgmt/2018-06-01-preview/sql/manageddatabases.go @@ -0,0 +1,573 @@ +package sql + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// ManagedDatabasesClient is the the Azure SQL Database management API provides a RESTful set of web services that +// interact with Azure SQL Database services to manage your databases. The API enables you to create, retrieve, update, +// and delete databases. +type ManagedDatabasesClient struct { + BaseClient +} + +// NewManagedDatabasesClient creates an instance of the ManagedDatabasesClient client. +func NewManagedDatabasesClient(subscriptionID string) ManagedDatabasesClient { + return NewManagedDatabasesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewManagedDatabasesClientWithBaseURI creates an instance of the ManagedDatabasesClient client. +func NewManagedDatabasesClientWithBaseURI(baseURI string, subscriptionID string) ManagedDatabasesClient { + return ManagedDatabasesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CompleteRestore completes the restore operation on a managed database. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// managedInstanceName - the name of the managed instance. +// databaseName - the name of the database. +// parameters - the definition for completing the restore of this managed database. +func (client ManagedDatabasesClient) CompleteRestore(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, parameters CompleteDatabaseRestoreDefinition) (result ManagedDatabasesCompleteRestoreFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ManagedDatabasesClient.CompleteRestore") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.LastBackupName", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + return result, validation.NewError("sql.ManagedDatabasesClient", "CompleteRestore", err.Error()) + } + + req, err := client.CompleteRestorePreparer(ctx, resourceGroupName, managedInstanceName, databaseName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ManagedDatabasesClient", "CompleteRestore", nil, "Failure preparing request") + return + } + + result, err = client.CompleteRestoreSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ManagedDatabasesClient", "CompleteRestore", result.Response(), "Failure sending request") + return + } + + return +} + +// CompleteRestorePreparer prepares the CompleteRestore request. +func (client ManagedDatabasesClient) CompleteRestorePreparer(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, parameters CompleteDatabaseRestoreDefinition) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "databaseName": autorest.Encode("path", databaseName), + "managedInstanceName": autorest.Encode("path", managedInstanceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/completeRestore", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CompleteRestoreSender sends the CompleteRestore request. The method will close the +// http.Response Body if it receives an error. +func (client ManagedDatabasesClient) CompleteRestoreSender(req *http.Request) (future ManagedDatabasesCompleteRestoreFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CompleteRestoreResponder handles the response to the CompleteRestore request. The method always +// closes the http.Response Body. +func (client ManagedDatabasesClient) CompleteRestoreResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByClosing()) + result.Response = resp + return +} + +// CreateOrUpdate creates a new database or updates an existing database. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// managedInstanceName - the name of the managed instance. +// databaseName - the name of the database. +// parameters - the requested database resource state. +func (client ManagedDatabasesClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, parameters ManagedDatabase) (result ManagedDatabasesCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ManagedDatabasesClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, managedInstanceName, databaseName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ManagedDatabasesClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ManagedDatabasesClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client ManagedDatabasesClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, parameters ManagedDatabase) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "databaseName": autorest.Encode("path", databaseName), + "managedInstanceName": autorest.Encode("path", managedInstanceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client ManagedDatabasesClient) CreateOrUpdateSender(req *http.Request) (future ManagedDatabasesCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client ManagedDatabasesClient) CreateOrUpdateResponder(resp *http.Response) (result ManagedDatabase, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes a managed database. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// managedInstanceName - the name of the managed instance. +// databaseName - the name of the database. +func (client ManagedDatabasesClient) Delete(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string) (result ManagedDatabasesDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ManagedDatabasesClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, managedInstanceName, databaseName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ManagedDatabasesClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ManagedDatabasesClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client ManagedDatabasesClient) DeletePreparer(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "databaseName": autorest.Encode("path", databaseName), + "managedInstanceName": autorest.Encode("path", managedInstanceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client ManagedDatabasesClient) DeleteSender(req *http.Request) (future ManagedDatabasesDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client ManagedDatabasesClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets a managed database. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// managedInstanceName - the name of the managed instance. +// databaseName - the name of the database. +func (client ManagedDatabasesClient) Get(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string) (result ManagedDatabase, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ManagedDatabasesClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, managedInstanceName, databaseName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ManagedDatabasesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.ManagedDatabasesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ManagedDatabasesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client ManagedDatabasesClient) GetPreparer(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "databaseName": autorest.Encode("path", databaseName), + "managedInstanceName": autorest.Encode("path", managedInstanceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client ManagedDatabasesClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client ManagedDatabasesClient) GetResponder(resp *http.Response) (result ManagedDatabase, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByInstance gets a list of managed databases. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// managedInstanceName - the name of the managed instance. +func (client ManagedDatabasesClient) ListByInstance(ctx context.Context, resourceGroupName string, managedInstanceName string) (result ManagedDatabaseListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ManagedDatabasesClient.ListByInstance") + defer func() { + sc := -1 + if result.mdlr.Response.Response != nil { + sc = result.mdlr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listByInstanceNextResults + req, err := client.ListByInstancePreparer(ctx, resourceGroupName, managedInstanceName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ManagedDatabasesClient", "ListByInstance", nil, "Failure preparing request") + return + } + + resp, err := client.ListByInstanceSender(req) + if err != nil { + result.mdlr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.ManagedDatabasesClient", "ListByInstance", resp, "Failure sending request") + return + } + + result.mdlr, err = client.ListByInstanceResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ManagedDatabasesClient", "ListByInstance", resp, "Failure responding to request") + } + + return +} + +// ListByInstancePreparer prepares the ListByInstance request. +func (client ManagedDatabasesClient) ListByInstancePreparer(ctx context.Context, resourceGroupName string, managedInstanceName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "managedInstanceName": autorest.Encode("path", managedInstanceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByInstanceSender sends the ListByInstance request. The method will close the +// http.Response Body if it receives an error. +func (client ManagedDatabasesClient) ListByInstanceSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByInstanceResponder handles the response to the ListByInstance request. The method always +// closes the http.Response Body. +func (client ManagedDatabasesClient) ListByInstanceResponder(resp *http.Response) (result ManagedDatabaseListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listByInstanceNextResults retrieves the next set of results, if any. +func (client ManagedDatabasesClient) listByInstanceNextResults(ctx context.Context, lastResults ManagedDatabaseListResult) (result ManagedDatabaseListResult, err error) { + req, err := lastResults.managedDatabaseListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "sql.ManagedDatabasesClient", "listByInstanceNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListByInstanceSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "sql.ManagedDatabasesClient", "listByInstanceNextResults", resp, "Failure sending next results request") + } + result, err = client.ListByInstanceResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ManagedDatabasesClient", "listByInstanceNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListByInstanceComplete enumerates all values, automatically crossing page boundaries as required. +func (client ManagedDatabasesClient) ListByInstanceComplete(ctx context.Context, resourceGroupName string, managedInstanceName string) (result ManagedDatabaseListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ManagedDatabasesClient.ListByInstance") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListByInstance(ctx, resourceGroupName, managedInstanceName) + return +} + +// Update updates an existing database. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// managedInstanceName - the name of the managed instance. +// databaseName - the name of the database. +// parameters - the requested database resource state. +func (client ManagedDatabasesClient) Update(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, parameters ManagedDatabaseUpdate) (result ManagedDatabasesUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ManagedDatabasesClient.Update") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdatePreparer(ctx, resourceGroupName, managedInstanceName, databaseName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ManagedDatabasesClient", "Update", nil, "Failure preparing request") + return + } + + result, err = client.UpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ManagedDatabasesClient", "Update", result.Response(), "Failure sending request") + return + } + + return +} + +// UpdatePreparer prepares the Update request. +func (client ManagedDatabasesClient) UpdatePreparer(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, parameters ManagedDatabaseUpdate) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "databaseName": autorest.Encode("path", databaseName), + "managedInstanceName": autorest.Encode("path", managedInstanceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateSender sends the Update request. The method will close the +// http.Response Body if it receives an error. +func (client ManagedDatabasesClient) UpdateSender(req *http.Request) (future ManagedDatabasesUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// UpdateResponder handles the response to the Update request. The method always +// closes the http.Response Body. +func (client ManagedDatabasesClient) UpdateResponder(resp *http.Response) (result ManagedDatabase, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/preview/sql/mgmt/2018-06-01-preview/sql/manageddatabasesensitivitylabels.go b/services/preview/sql/mgmt/2018-06-01-preview/sql/manageddatabasesensitivitylabels.go new file mode 100644 index 000000000000..657a41c92c88 --- /dev/null +++ b/services/preview/sql/mgmt/2018-06-01-preview/sql/manageddatabasesensitivitylabels.go @@ -0,0 +1,732 @@ +package sql + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// ManagedDatabaseSensitivityLabelsClient is the the Azure SQL Database management API provides a RESTful set of web +// services that interact with Azure SQL Database services to manage your databases. The API enables you to create, +// retrieve, update, and delete databases. +type ManagedDatabaseSensitivityLabelsClient struct { + BaseClient +} + +// NewManagedDatabaseSensitivityLabelsClient creates an instance of the ManagedDatabaseSensitivityLabelsClient client. +func NewManagedDatabaseSensitivityLabelsClient(subscriptionID string) ManagedDatabaseSensitivityLabelsClient { + return NewManagedDatabaseSensitivityLabelsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewManagedDatabaseSensitivityLabelsClientWithBaseURI creates an instance of the +// ManagedDatabaseSensitivityLabelsClient client. +func NewManagedDatabaseSensitivityLabelsClientWithBaseURI(baseURI string, subscriptionID string) ManagedDatabaseSensitivityLabelsClient { + return ManagedDatabaseSensitivityLabelsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates the sensitivity label of a given column +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// managedInstanceName - the name of the managed instance. +// databaseName - the name of the database. +// schemaName - the name of the schema. +// tableName - the name of the table. +// columnName - the name of the column. +// parameters - the column sensitivity label resource. +func (client ManagedDatabaseSensitivityLabelsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, schemaName string, tableName string, columnName string, parameters SensitivityLabel) (result SensitivityLabel, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ManagedDatabaseSensitivityLabelsClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, managedInstanceName, databaseName, schemaName, tableName, columnName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ManagedDatabaseSensitivityLabelsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.ManagedDatabaseSensitivityLabelsClient", "CreateOrUpdate", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ManagedDatabaseSensitivityLabelsClient", "CreateOrUpdate", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client ManagedDatabaseSensitivityLabelsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, schemaName string, tableName string, columnName string, parameters SensitivityLabel) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "columnName": autorest.Encode("path", columnName), + "databaseName": autorest.Encode("path", databaseName), + "managedInstanceName": autorest.Encode("path", managedInstanceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "schemaName": autorest.Encode("path", schemaName), + "sensitivityLabelSource": autorest.Encode("path", "current"), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "tableName": autorest.Encode("path", tableName), + } + + const APIVersion = "2018-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}/columns/{columnName}/sensitivityLabels/{sensitivityLabelSource}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client ManagedDatabaseSensitivityLabelsClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client ManagedDatabaseSensitivityLabelsClient) CreateOrUpdateResponder(resp *http.Response) (result SensitivityLabel, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes the sensitivity label of a given column +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// managedInstanceName - the name of the managed instance. +// databaseName - the name of the database. +// schemaName - the name of the schema. +// tableName - the name of the table. +// columnName - the name of the column. +func (client ManagedDatabaseSensitivityLabelsClient) Delete(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, schemaName string, tableName string, columnName string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ManagedDatabaseSensitivityLabelsClient.Delete") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, managedInstanceName, databaseName, schemaName, tableName, columnName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ManagedDatabaseSensitivityLabelsClient", "Delete", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "sql.ManagedDatabaseSensitivityLabelsClient", "Delete", resp, "Failure sending request") + return + } + + result, err = client.DeleteResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ManagedDatabaseSensitivityLabelsClient", "Delete", resp, "Failure responding to request") + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client ManagedDatabaseSensitivityLabelsClient) DeletePreparer(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, schemaName string, tableName string, columnName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "columnName": autorest.Encode("path", columnName), + "databaseName": autorest.Encode("path", databaseName), + "managedInstanceName": autorest.Encode("path", managedInstanceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "schemaName": autorest.Encode("path", schemaName), + "sensitivityLabelSource": autorest.Encode("path", "current"), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "tableName": autorest.Encode("path", tableName), + } + + const APIVersion = "2018-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}/columns/{columnName}/sensitivityLabels/{sensitivityLabelSource}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client ManagedDatabaseSensitivityLabelsClient) DeleteSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client ManagedDatabaseSensitivityLabelsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByClosing()) + result.Response = resp + return +} + +// DisableRecommendation disables sensitivity recommendations on a given column +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// managedInstanceName - the name of the managed instance. +// databaseName - the name of the database. +// schemaName - the name of the schema. +// tableName - the name of the table. +// columnName - the name of the column. +func (client ManagedDatabaseSensitivityLabelsClient) DisableRecommendation(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, schemaName string, tableName string, columnName string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ManagedDatabaseSensitivityLabelsClient.DisableRecommendation") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DisableRecommendationPreparer(ctx, resourceGroupName, managedInstanceName, databaseName, schemaName, tableName, columnName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ManagedDatabaseSensitivityLabelsClient", "DisableRecommendation", nil, "Failure preparing request") + return + } + + resp, err := client.DisableRecommendationSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "sql.ManagedDatabaseSensitivityLabelsClient", "DisableRecommendation", resp, "Failure sending request") + return + } + + result, err = client.DisableRecommendationResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ManagedDatabaseSensitivityLabelsClient", "DisableRecommendation", resp, "Failure responding to request") + } + + return +} + +// DisableRecommendationPreparer prepares the DisableRecommendation request. +func (client ManagedDatabaseSensitivityLabelsClient) DisableRecommendationPreparer(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, schemaName string, tableName string, columnName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "columnName": autorest.Encode("path", columnName), + "databaseName": autorest.Encode("path", databaseName), + "managedInstanceName": autorest.Encode("path", managedInstanceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "schemaName": autorest.Encode("path", schemaName), + "sensitivityLabelSource": autorest.Encode("path", "recommended"), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "tableName": autorest.Encode("path", tableName), + } + + const APIVersion = "2018-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}/columns/{columnName}/sensitivityLabels/{sensitivityLabelSource}/disable", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DisableRecommendationSender sends the DisableRecommendation request. The method will close the +// http.Response Body if it receives an error. +func (client ManagedDatabaseSensitivityLabelsClient) DisableRecommendationSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// DisableRecommendationResponder handles the response to the DisableRecommendation request. The method always +// closes the http.Response Body. +func (client ManagedDatabaseSensitivityLabelsClient) DisableRecommendationResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByClosing()) + result.Response = resp + return +} + +// EnableRecommendation enables sensitivity recommendations on a given column (recommendations are enabled by default +// on all columns) +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// managedInstanceName - the name of the managed instance. +// databaseName - the name of the database. +// schemaName - the name of the schema. +// tableName - the name of the table. +// columnName - the name of the column. +func (client ManagedDatabaseSensitivityLabelsClient) EnableRecommendation(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, schemaName string, tableName string, columnName string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ManagedDatabaseSensitivityLabelsClient.EnableRecommendation") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.EnableRecommendationPreparer(ctx, resourceGroupName, managedInstanceName, databaseName, schemaName, tableName, columnName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ManagedDatabaseSensitivityLabelsClient", "EnableRecommendation", nil, "Failure preparing request") + return + } + + resp, err := client.EnableRecommendationSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "sql.ManagedDatabaseSensitivityLabelsClient", "EnableRecommendation", resp, "Failure sending request") + return + } + + result, err = client.EnableRecommendationResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ManagedDatabaseSensitivityLabelsClient", "EnableRecommendation", resp, "Failure responding to request") + } + + return +} + +// EnableRecommendationPreparer prepares the EnableRecommendation request. +func (client ManagedDatabaseSensitivityLabelsClient) EnableRecommendationPreparer(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, schemaName string, tableName string, columnName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "columnName": autorest.Encode("path", columnName), + "databaseName": autorest.Encode("path", databaseName), + "managedInstanceName": autorest.Encode("path", managedInstanceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "schemaName": autorest.Encode("path", schemaName), + "sensitivityLabelSource": autorest.Encode("path", "recommended"), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "tableName": autorest.Encode("path", tableName), + } + + const APIVersion = "2018-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}/columns/{columnName}/sensitivityLabels/{sensitivityLabelSource}/enable", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// EnableRecommendationSender sends the EnableRecommendation request. The method will close the +// http.Response Body if it receives an error. +func (client ManagedDatabaseSensitivityLabelsClient) EnableRecommendationSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// EnableRecommendationResponder handles the response to the EnableRecommendation request. The method always +// closes the http.Response Body. +func (client ManagedDatabaseSensitivityLabelsClient) EnableRecommendationResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets the sensitivity label of a given column +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// managedInstanceName - the name of the managed instance. +// databaseName - the name of the database. +// schemaName - the name of the schema. +// tableName - the name of the table. +// columnName - the name of the column. +// sensitivityLabelSource - the source of the sensitivity label. +func (client ManagedDatabaseSensitivityLabelsClient) Get(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, schemaName string, tableName string, columnName string, sensitivityLabelSource SensitivityLabelSource) (result SensitivityLabel, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ManagedDatabaseSensitivityLabelsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, managedInstanceName, databaseName, schemaName, tableName, columnName, sensitivityLabelSource) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ManagedDatabaseSensitivityLabelsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.ManagedDatabaseSensitivityLabelsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ManagedDatabaseSensitivityLabelsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client ManagedDatabaseSensitivityLabelsClient) GetPreparer(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, schemaName string, tableName string, columnName string, sensitivityLabelSource SensitivityLabelSource) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "columnName": autorest.Encode("path", columnName), + "databaseName": autorest.Encode("path", databaseName), + "managedInstanceName": autorest.Encode("path", managedInstanceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "schemaName": autorest.Encode("path", schemaName), + "sensitivityLabelSource": autorest.Encode("path", sensitivityLabelSource), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "tableName": autorest.Encode("path", tableName), + } + + const APIVersion = "2018-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/schemas/{schemaName}/tables/{tableName}/columns/{columnName}/sensitivityLabels/{sensitivityLabelSource}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client ManagedDatabaseSensitivityLabelsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client ManagedDatabaseSensitivityLabelsClient) GetResponder(resp *http.Response) (result SensitivityLabel, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListCurrentByDatabase gets the sensitivity labels of a given database +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// managedInstanceName - the name of the managed instance. +// databaseName - the name of the database. +// filter - an OData filter expression that filters elements in the collection. +func (client ManagedDatabaseSensitivityLabelsClient) ListCurrentByDatabase(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, filter string) (result SensitivityLabelListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ManagedDatabaseSensitivityLabelsClient.ListCurrentByDatabase") + defer func() { + sc := -1 + if result.sllr.Response.Response != nil { + sc = result.sllr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listCurrentByDatabaseNextResults + req, err := client.ListCurrentByDatabasePreparer(ctx, resourceGroupName, managedInstanceName, databaseName, filter) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ManagedDatabaseSensitivityLabelsClient", "ListCurrentByDatabase", nil, "Failure preparing request") + return + } + + resp, err := client.ListCurrentByDatabaseSender(req) + if err != nil { + result.sllr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.ManagedDatabaseSensitivityLabelsClient", "ListCurrentByDatabase", resp, "Failure sending request") + return + } + + result.sllr, err = client.ListCurrentByDatabaseResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ManagedDatabaseSensitivityLabelsClient", "ListCurrentByDatabase", resp, "Failure responding to request") + } + + return +} + +// ListCurrentByDatabasePreparer prepares the ListCurrentByDatabase request. +func (client ManagedDatabaseSensitivityLabelsClient) ListCurrentByDatabasePreparer(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, filter string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "databaseName": autorest.Encode("path", databaseName), + "managedInstanceName": autorest.Encode("path", managedInstanceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(filter) > 0 { + queryParameters["$filter"] = autorest.Encode("query", filter) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/currentSensitivityLabels", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListCurrentByDatabaseSender sends the ListCurrentByDatabase request. The method will close the +// http.Response Body if it receives an error. +func (client ManagedDatabaseSensitivityLabelsClient) ListCurrentByDatabaseSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListCurrentByDatabaseResponder handles the response to the ListCurrentByDatabase request. The method always +// closes the http.Response Body. +func (client ManagedDatabaseSensitivityLabelsClient) ListCurrentByDatabaseResponder(resp *http.Response) (result SensitivityLabelListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listCurrentByDatabaseNextResults retrieves the next set of results, if any. +func (client ManagedDatabaseSensitivityLabelsClient) listCurrentByDatabaseNextResults(ctx context.Context, lastResults SensitivityLabelListResult) (result SensitivityLabelListResult, err error) { + req, err := lastResults.sensitivityLabelListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "sql.ManagedDatabaseSensitivityLabelsClient", "listCurrentByDatabaseNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListCurrentByDatabaseSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "sql.ManagedDatabaseSensitivityLabelsClient", "listCurrentByDatabaseNextResults", resp, "Failure sending next results request") + } + result, err = client.ListCurrentByDatabaseResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ManagedDatabaseSensitivityLabelsClient", "listCurrentByDatabaseNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListCurrentByDatabaseComplete enumerates all values, automatically crossing page boundaries as required. +func (client ManagedDatabaseSensitivityLabelsClient) ListCurrentByDatabaseComplete(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, filter string) (result SensitivityLabelListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ManagedDatabaseSensitivityLabelsClient.ListCurrentByDatabase") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListCurrentByDatabase(ctx, resourceGroupName, managedInstanceName, databaseName, filter) + return +} + +// ListRecommendedByDatabase gets the sensitivity labels of a given database +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// managedInstanceName - the name of the managed instance. +// databaseName - the name of the database. +// includeDisabledRecommendations - specifies whether to include disabled recommendations or not. +// filter - an OData filter expression that filters elements in the collection. +func (client ManagedDatabaseSensitivityLabelsClient) ListRecommendedByDatabase(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, includeDisabledRecommendations *bool, skipToken string, filter string) (result SensitivityLabelListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ManagedDatabaseSensitivityLabelsClient.ListRecommendedByDatabase") + defer func() { + sc := -1 + if result.sllr.Response.Response != nil { + sc = result.sllr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listRecommendedByDatabaseNextResults + req, err := client.ListRecommendedByDatabasePreparer(ctx, resourceGroupName, managedInstanceName, databaseName, includeDisabledRecommendations, skipToken, filter) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ManagedDatabaseSensitivityLabelsClient", "ListRecommendedByDatabase", nil, "Failure preparing request") + return + } + + resp, err := client.ListRecommendedByDatabaseSender(req) + if err != nil { + result.sllr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.ManagedDatabaseSensitivityLabelsClient", "ListRecommendedByDatabase", resp, "Failure sending request") + return + } + + result.sllr, err = client.ListRecommendedByDatabaseResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ManagedDatabaseSensitivityLabelsClient", "ListRecommendedByDatabase", resp, "Failure responding to request") + } + + return +} + +// ListRecommendedByDatabasePreparer prepares the ListRecommendedByDatabase request. +func (client ManagedDatabaseSensitivityLabelsClient) ListRecommendedByDatabasePreparer(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, includeDisabledRecommendations *bool, skipToken string, filter string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "databaseName": autorest.Encode("path", databaseName), + "managedInstanceName": autorest.Encode("path", managedInstanceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if includeDisabledRecommendations != nil { + queryParameters["includeDisabledRecommendations"] = autorest.Encode("query", *includeDisabledRecommendations) + } + if len(skipToken) > 0 { + queryParameters["$skipToken"] = autorest.Encode("query", skipToken) + } + if len(filter) > 0 { + queryParameters["$filter"] = autorest.Encode("query", filter) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/databases/{databaseName}/recommendedSensitivityLabels", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListRecommendedByDatabaseSender sends the ListRecommendedByDatabase request. The method will close the +// http.Response Body if it receives an error. +func (client ManagedDatabaseSensitivityLabelsClient) ListRecommendedByDatabaseSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListRecommendedByDatabaseResponder handles the response to the ListRecommendedByDatabase request. The method always +// closes the http.Response Body. +func (client ManagedDatabaseSensitivityLabelsClient) ListRecommendedByDatabaseResponder(resp *http.Response) (result SensitivityLabelListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listRecommendedByDatabaseNextResults retrieves the next set of results, if any. +func (client ManagedDatabaseSensitivityLabelsClient) listRecommendedByDatabaseNextResults(ctx context.Context, lastResults SensitivityLabelListResult) (result SensitivityLabelListResult, err error) { + req, err := lastResults.sensitivityLabelListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "sql.ManagedDatabaseSensitivityLabelsClient", "listRecommendedByDatabaseNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListRecommendedByDatabaseSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "sql.ManagedDatabaseSensitivityLabelsClient", "listRecommendedByDatabaseNextResults", resp, "Failure sending next results request") + } + result, err = client.ListRecommendedByDatabaseResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ManagedDatabaseSensitivityLabelsClient", "listRecommendedByDatabaseNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListRecommendedByDatabaseComplete enumerates all values, automatically crossing page boundaries as required. +func (client ManagedDatabaseSensitivityLabelsClient) ListRecommendedByDatabaseComplete(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, includeDisabledRecommendations *bool, skipToken string, filter string) (result SensitivityLabelListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ManagedDatabaseSensitivityLabelsClient.ListRecommendedByDatabase") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListRecommendedByDatabase(ctx, resourceGroupName, managedInstanceName, databaseName, includeDisabledRecommendations, skipToken, filter) + return +} diff --git a/services/preview/sql/mgmt/2018-06-01-preview/sql/managedinstances.go b/services/preview/sql/mgmt/2018-06-01-preview/sql/managedinstances.go new file mode 100644 index 000000000000..3fa203132a2c --- /dev/null +++ b/services/preview/sql/mgmt/2018-06-01-preview/sql/managedinstances.go @@ -0,0 +1,708 @@ +package sql + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// ManagedInstancesClient is the the Azure SQL Database management API provides a RESTful set of web services that +// interact with Azure SQL Database services to manage your databases. The API enables you to create, retrieve, update, +// and delete databases. +type ManagedInstancesClient struct { + BaseClient +} + +// NewManagedInstancesClient creates an instance of the ManagedInstancesClient client. +func NewManagedInstancesClient(subscriptionID string) ManagedInstancesClient { + return NewManagedInstancesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewManagedInstancesClientWithBaseURI creates an instance of the ManagedInstancesClient client. +func NewManagedInstancesClientWithBaseURI(baseURI string, subscriptionID string) ManagedInstancesClient { + return ManagedInstancesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates a managed instance. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// managedInstanceName - the name of the managed instance. +// parameters - the requested managed instance resource state. +func (client ManagedInstancesClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, managedInstanceName string, parameters ManagedInstance) (result ManagedInstancesCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ManagedInstancesClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.Sku", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.Sku.Name", Name: validation.Null, Rule: true, Chain: nil}}}}}}); err != nil { + return result, validation.NewError("sql.ManagedInstancesClient", "CreateOrUpdate", err.Error()) + } + + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, managedInstanceName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ManagedInstancesClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ManagedInstancesClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client ManagedInstancesClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, managedInstanceName string, parameters ManagedInstance) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "managedInstanceName": autorest.Encode("path", managedInstanceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client ManagedInstancesClient) CreateOrUpdateSender(req *http.Request) (future ManagedInstancesCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client ManagedInstancesClient) CreateOrUpdateResponder(resp *http.Response) (result ManagedInstance, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes a managed instance. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// managedInstanceName - the name of the managed instance. +func (client ManagedInstancesClient) Delete(ctx context.Context, resourceGroupName string, managedInstanceName string) (result ManagedInstancesDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ManagedInstancesClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, managedInstanceName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ManagedInstancesClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ManagedInstancesClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client ManagedInstancesClient) DeletePreparer(ctx context.Context, resourceGroupName string, managedInstanceName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "managedInstanceName": autorest.Encode("path", managedInstanceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client ManagedInstancesClient) DeleteSender(req *http.Request) (future ManagedInstancesDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client ManagedInstancesClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets a managed instance. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// managedInstanceName - the name of the managed instance. +func (client ManagedInstancesClient) Get(ctx context.Context, resourceGroupName string, managedInstanceName string) (result ManagedInstance, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ManagedInstancesClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, managedInstanceName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ManagedInstancesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.ManagedInstancesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ManagedInstancesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client ManagedInstancesClient) GetPreparer(ctx context.Context, resourceGroupName string, managedInstanceName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "managedInstanceName": autorest.Encode("path", managedInstanceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client ManagedInstancesClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client ManagedInstancesClient) GetResponder(resp *http.Response) (result ManagedInstance, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets a list of all managed instances in the subscription. +func (client ManagedInstancesClient) List(ctx context.Context) (result ManagedInstanceListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ManagedInstancesClient.List") + defer func() { + sc := -1 + if result.milr.Response.Response != nil { + sc = result.milr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ManagedInstancesClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.milr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.ManagedInstancesClient", "List", resp, "Failure sending request") + return + } + + result.milr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ManagedInstancesClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client ManagedInstancesClient) ListPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Sql/managedInstances", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client ManagedInstancesClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client ManagedInstancesClient) ListResponder(resp *http.Response) (result ManagedInstanceListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client ManagedInstancesClient) listNextResults(ctx context.Context, lastResults ManagedInstanceListResult) (result ManagedInstanceListResult, err error) { + req, err := lastResults.managedInstanceListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "sql.ManagedInstancesClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "sql.ManagedInstancesClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ManagedInstancesClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client ManagedInstancesClient) ListComplete(ctx context.Context) (result ManagedInstanceListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ManagedInstancesClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx) + return +} + +// ListByInstancePool gets a list of all managed instances in an instance pool. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// instancePoolName - the instance pool name. +func (client ManagedInstancesClient) ListByInstancePool(ctx context.Context, resourceGroupName string, instancePoolName string) (result ManagedInstanceListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ManagedInstancesClient.ListByInstancePool") + defer func() { + sc := -1 + if result.milr.Response.Response != nil { + sc = result.milr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listByInstancePoolNextResults + req, err := client.ListByInstancePoolPreparer(ctx, resourceGroupName, instancePoolName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ManagedInstancesClient", "ListByInstancePool", nil, "Failure preparing request") + return + } + + resp, err := client.ListByInstancePoolSender(req) + if err != nil { + result.milr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.ManagedInstancesClient", "ListByInstancePool", resp, "Failure sending request") + return + } + + result.milr, err = client.ListByInstancePoolResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ManagedInstancesClient", "ListByInstancePool", resp, "Failure responding to request") + } + + return +} + +// ListByInstancePoolPreparer prepares the ListByInstancePool request. +func (client ManagedInstancesClient) ListByInstancePoolPreparer(ctx context.Context, resourceGroupName string, instancePoolName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "instancePoolName": autorest.Encode("path", instancePoolName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/instancePools/{instancePoolName}/managedInstances", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByInstancePoolSender sends the ListByInstancePool request. The method will close the +// http.Response Body if it receives an error. +func (client ManagedInstancesClient) ListByInstancePoolSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByInstancePoolResponder handles the response to the ListByInstancePool request. The method always +// closes the http.Response Body. +func (client ManagedInstancesClient) ListByInstancePoolResponder(resp *http.Response) (result ManagedInstanceListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listByInstancePoolNextResults retrieves the next set of results, if any. +func (client ManagedInstancesClient) listByInstancePoolNextResults(ctx context.Context, lastResults ManagedInstanceListResult) (result ManagedInstanceListResult, err error) { + req, err := lastResults.managedInstanceListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "sql.ManagedInstancesClient", "listByInstancePoolNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListByInstancePoolSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "sql.ManagedInstancesClient", "listByInstancePoolNextResults", resp, "Failure sending next results request") + } + result, err = client.ListByInstancePoolResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ManagedInstancesClient", "listByInstancePoolNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListByInstancePoolComplete enumerates all values, automatically crossing page boundaries as required. +func (client ManagedInstancesClient) ListByInstancePoolComplete(ctx context.Context, resourceGroupName string, instancePoolName string) (result ManagedInstanceListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ManagedInstancesClient.ListByInstancePool") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListByInstancePool(ctx, resourceGroupName, instancePoolName) + return +} + +// ListByResourceGroup gets a list of managed instances in a resource group. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +func (client ManagedInstancesClient) ListByResourceGroup(ctx context.Context, resourceGroupName string) (result ManagedInstanceListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ManagedInstancesClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.milr.Response.Response != nil { + sc = result.milr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listByResourceGroupNextResults + req, err := client.ListByResourceGroupPreparer(ctx, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ManagedInstancesClient", "ListByResourceGroup", nil, "Failure preparing request") + return + } + + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.milr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.ManagedInstancesClient", "ListByResourceGroup", resp, "Failure sending request") + return + } + + result.milr, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ManagedInstancesClient", "ListByResourceGroup", resp, "Failure responding to request") + } + + return +} + +// ListByResourceGroupPreparer prepares the ListByResourceGroup request. +func (client ManagedInstancesClient) ListByResourceGroupPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByResourceGroupSender sends the ListByResourceGroup request. The method will close the +// http.Response Body if it receives an error. +func (client ManagedInstancesClient) ListByResourceGroupSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByResourceGroupResponder handles the response to the ListByResourceGroup request. The method always +// closes the http.Response Body. +func (client ManagedInstancesClient) ListByResourceGroupResponder(resp *http.Response) (result ManagedInstanceListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listByResourceGroupNextResults retrieves the next set of results, if any. +func (client ManagedInstancesClient) listByResourceGroupNextResults(ctx context.Context, lastResults ManagedInstanceListResult) (result ManagedInstanceListResult, err error) { + req, err := lastResults.managedInstanceListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "sql.ManagedInstancesClient", "listByResourceGroupNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "sql.ManagedInstancesClient", "listByResourceGroupNextResults", resp, "Failure sending next results request") + } + result, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ManagedInstancesClient", "listByResourceGroupNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListByResourceGroupComplete enumerates all values, automatically crossing page boundaries as required. +func (client ManagedInstancesClient) ListByResourceGroupComplete(ctx context.Context, resourceGroupName string) (result ManagedInstanceListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ManagedInstancesClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListByResourceGroup(ctx, resourceGroupName) + return +} + +// Update updates a managed instance. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// managedInstanceName - the name of the managed instance. +// parameters - the requested managed instance resource state. +func (client ManagedInstancesClient) Update(ctx context.Context, resourceGroupName string, managedInstanceName string, parameters ManagedInstanceUpdate) (result ManagedInstancesUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ManagedInstancesClient.Update") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdatePreparer(ctx, resourceGroupName, managedInstanceName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ManagedInstancesClient", "Update", nil, "Failure preparing request") + return + } + + result, err = client.UpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ManagedInstancesClient", "Update", result.Response(), "Failure sending request") + return + } + + return +} + +// UpdatePreparer prepares the Update request. +func (client ManagedInstancesClient) UpdatePreparer(ctx context.Context, resourceGroupName string, managedInstanceName string, parameters ManagedInstanceUpdate) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "managedInstanceName": autorest.Encode("path", managedInstanceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateSender sends the Update request. The method will close the +// http.Response Body if it receives an error. +func (client ManagedInstancesClient) UpdateSender(req *http.Request) (future ManagedInstancesUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// UpdateResponder handles the response to the Update request. The method always +// closes the http.Response Body. +func (client ManagedInstancesClient) UpdateResponder(resp *http.Response) (result ManagedInstance, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/preview/sql/mgmt/2018-06-01-preview/sql/managedinstancevulnerabilityassessments.go b/services/preview/sql/mgmt/2018-06-01-preview/sql/managedinstancevulnerabilityassessments.go new file mode 100644 index 000000000000..240ad4f3d491 --- /dev/null +++ b/services/preview/sql/mgmt/2018-06-01-preview/sql/managedinstancevulnerabilityassessments.go @@ -0,0 +1,408 @@ +package sql + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// ManagedInstanceVulnerabilityAssessmentsClient is the the Azure SQL Database management API provides a RESTful set of +// web services that interact with Azure SQL Database services to manage your databases. The API enables you to create, +// retrieve, update, and delete databases. +type ManagedInstanceVulnerabilityAssessmentsClient struct { + BaseClient +} + +// NewManagedInstanceVulnerabilityAssessmentsClient creates an instance of the +// ManagedInstanceVulnerabilityAssessmentsClient client. +func NewManagedInstanceVulnerabilityAssessmentsClient(subscriptionID string) ManagedInstanceVulnerabilityAssessmentsClient { + return NewManagedInstanceVulnerabilityAssessmentsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewManagedInstanceVulnerabilityAssessmentsClientWithBaseURI creates an instance of the +// ManagedInstanceVulnerabilityAssessmentsClient client. +func NewManagedInstanceVulnerabilityAssessmentsClientWithBaseURI(baseURI string, subscriptionID string) ManagedInstanceVulnerabilityAssessmentsClient { + return ManagedInstanceVulnerabilityAssessmentsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates the managed instance's vulnerability assessment. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// managedInstanceName - the name of the managed instance for which the vulnerability assessment is defined. +// parameters - the requested resource. +func (client ManagedInstanceVulnerabilityAssessmentsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, managedInstanceName string, parameters ManagedInstanceVulnerabilityAssessment) (result ManagedInstanceVulnerabilityAssessment, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ManagedInstanceVulnerabilityAssessmentsClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.ManagedInstanceVulnerabilityAssessmentProperties", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.ManagedInstanceVulnerabilityAssessmentProperties.StorageContainerPath", Name: validation.Null, Rule: true, Chain: nil}}}}}}); err != nil { + return result, validation.NewError("sql.ManagedInstanceVulnerabilityAssessmentsClient", "CreateOrUpdate", err.Error()) + } + + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, managedInstanceName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ManagedInstanceVulnerabilityAssessmentsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.ManagedInstanceVulnerabilityAssessmentsClient", "CreateOrUpdate", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ManagedInstanceVulnerabilityAssessmentsClient", "CreateOrUpdate", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client ManagedInstanceVulnerabilityAssessmentsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, managedInstanceName string, parameters ManagedInstanceVulnerabilityAssessment) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "managedInstanceName": autorest.Encode("path", managedInstanceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "vulnerabilityAssessmentName": autorest.Encode("path", "default"), + } + + const APIVersion = "2018-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client ManagedInstanceVulnerabilityAssessmentsClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client ManagedInstanceVulnerabilityAssessmentsClient) CreateOrUpdateResponder(resp *http.Response) (result ManagedInstanceVulnerabilityAssessment, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete removes the managed instance's vulnerability assessment. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// managedInstanceName - the name of the managed instance for which the vulnerability assessment is defined. +func (client ManagedInstanceVulnerabilityAssessmentsClient) Delete(ctx context.Context, resourceGroupName string, managedInstanceName string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ManagedInstanceVulnerabilityAssessmentsClient.Delete") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, managedInstanceName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ManagedInstanceVulnerabilityAssessmentsClient", "Delete", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "sql.ManagedInstanceVulnerabilityAssessmentsClient", "Delete", resp, "Failure sending request") + return + } + + result, err = client.DeleteResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ManagedInstanceVulnerabilityAssessmentsClient", "Delete", resp, "Failure responding to request") + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client ManagedInstanceVulnerabilityAssessmentsClient) DeletePreparer(ctx context.Context, resourceGroupName string, managedInstanceName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "managedInstanceName": autorest.Encode("path", managedInstanceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "vulnerabilityAssessmentName": autorest.Encode("path", "default"), + } + + const APIVersion = "2018-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client ManagedInstanceVulnerabilityAssessmentsClient) DeleteSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client ManagedInstanceVulnerabilityAssessmentsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets the managed instance's vulnerability assessment. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// managedInstanceName - the name of the managed instance for which the vulnerability assessment is defined. +func (client ManagedInstanceVulnerabilityAssessmentsClient) Get(ctx context.Context, resourceGroupName string, managedInstanceName string) (result ManagedInstanceVulnerabilityAssessment, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ManagedInstanceVulnerabilityAssessmentsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, managedInstanceName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ManagedInstanceVulnerabilityAssessmentsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.ManagedInstanceVulnerabilityAssessmentsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ManagedInstanceVulnerabilityAssessmentsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client ManagedInstanceVulnerabilityAssessmentsClient) GetPreparer(ctx context.Context, resourceGroupName string, managedInstanceName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "managedInstanceName": autorest.Encode("path", managedInstanceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "vulnerabilityAssessmentName": autorest.Encode("path", "default"), + } + + const APIVersion = "2018-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client ManagedInstanceVulnerabilityAssessmentsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client ManagedInstanceVulnerabilityAssessmentsClient) GetResponder(resp *http.Response) (result ManagedInstanceVulnerabilityAssessment, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByInstance gets the managed instance's vulnerability assessment policies. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// managedInstanceName - the name of the managed instance for which the vulnerability assessments is defined. +func (client ManagedInstanceVulnerabilityAssessmentsClient) ListByInstance(ctx context.Context, resourceGroupName string, managedInstanceName string) (result ManagedInstanceVulnerabilityAssessmentListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ManagedInstanceVulnerabilityAssessmentsClient.ListByInstance") + defer func() { + sc := -1 + if result.mivalr.Response.Response != nil { + sc = result.mivalr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listByInstanceNextResults + req, err := client.ListByInstancePreparer(ctx, resourceGroupName, managedInstanceName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ManagedInstanceVulnerabilityAssessmentsClient", "ListByInstance", nil, "Failure preparing request") + return + } + + resp, err := client.ListByInstanceSender(req) + if err != nil { + result.mivalr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.ManagedInstanceVulnerabilityAssessmentsClient", "ListByInstance", resp, "Failure sending request") + return + } + + result.mivalr, err = client.ListByInstanceResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ManagedInstanceVulnerabilityAssessmentsClient", "ListByInstance", resp, "Failure responding to request") + } + + return +} + +// ListByInstancePreparer prepares the ListByInstance request. +func (client ManagedInstanceVulnerabilityAssessmentsClient) ListByInstancePreparer(ctx context.Context, resourceGroupName string, managedInstanceName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "managedInstanceName": autorest.Encode("path", managedInstanceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/managedInstances/{managedInstanceName}/vulnerabilityAssessments", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByInstanceSender sends the ListByInstance request. The method will close the +// http.Response Body if it receives an error. +func (client ManagedInstanceVulnerabilityAssessmentsClient) ListByInstanceSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByInstanceResponder handles the response to the ListByInstance request. The method always +// closes the http.Response Body. +func (client ManagedInstanceVulnerabilityAssessmentsClient) ListByInstanceResponder(resp *http.Response) (result ManagedInstanceVulnerabilityAssessmentListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listByInstanceNextResults retrieves the next set of results, if any. +func (client ManagedInstanceVulnerabilityAssessmentsClient) listByInstanceNextResults(ctx context.Context, lastResults ManagedInstanceVulnerabilityAssessmentListResult) (result ManagedInstanceVulnerabilityAssessmentListResult, err error) { + req, err := lastResults.managedInstanceVulnerabilityAssessmentListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "sql.ManagedInstanceVulnerabilityAssessmentsClient", "listByInstanceNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListByInstanceSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "sql.ManagedInstanceVulnerabilityAssessmentsClient", "listByInstanceNextResults", resp, "Failure sending next results request") + } + result, err = client.ListByInstanceResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ManagedInstanceVulnerabilityAssessmentsClient", "listByInstanceNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListByInstanceComplete enumerates all values, automatically crossing page boundaries as required. +func (client ManagedInstanceVulnerabilityAssessmentsClient) ListByInstanceComplete(ctx context.Context, resourceGroupName string, managedInstanceName string) (result ManagedInstanceVulnerabilityAssessmentListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ManagedInstanceVulnerabilityAssessmentsClient.ListByInstance") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListByInstance(ctx, resourceGroupName, managedInstanceName) + return +} diff --git a/services/preview/sql/mgmt/2018-06-01-preview/sql/models.go b/services/preview/sql/mgmt/2018-06-01-preview/sql/models.go new file mode 100644 index 000000000000..6826ef42f89c --- /dev/null +++ b/services/preview/sql/mgmt/2018-06-01-preview/sql/models.go @@ -0,0 +1,3115 @@ +package sql + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "encoding/json" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/date" + "github.com/Azure/go-autorest/autorest/to" + "github.com/Azure/go-autorest/tracing" + "github.com/satori/go.uuid" + "net/http" +) + +// The package's fully qualified name. +const fqdn = "github.com/Azure/azure-sdk-for-go/services/preview/sql/mgmt/2018-06-01-preview/sql" + +// CatalogCollationType enumerates the values for catalog collation type. +type CatalogCollationType string + +const ( + // DATABASEDEFAULT ... + DATABASEDEFAULT CatalogCollationType = "DATABASE_DEFAULT" + // SQLLatin1GeneralCP1CIAS ... + SQLLatin1GeneralCP1CIAS CatalogCollationType = "SQL_Latin1_General_CP1_CI_AS" +) + +// PossibleCatalogCollationTypeValues returns an array of possible values for the CatalogCollationType const type. +func PossibleCatalogCollationTypeValues() []CatalogCollationType { + return []CatalogCollationType{DATABASEDEFAULT, SQLLatin1GeneralCP1CIAS} +} + +// IdentityType enumerates the values for identity type. +type IdentityType string + +const ( + // SystemAssigned ... + SystemAssigned IdentityType = "SystemAssigned" +) + +// PossibleIdentityTypeValues returns an array of possible values for the IdentityType const type. +func PossibleIdentityTypeValues() []IdentityType { + return []IdentityType{SystemAssigned} +} + +// InstancePoolLicenseType enumerates the values for instance pool license type. +type InstancePoolLicenseType string + +const ( + // BasePrice ... + BasePrice InstancePoolLicenseType = "BasePrice" + // LicenseIncluded ... + LicenseIncluded InstancePoolLicenseType = "LicenseIncluded" +) + +// PossibleInstancePoolLicenseTypeValues returns an array of possible values for the InstancePoolLicenseType const type. +func PossibleInstancePoolLicenseTypeValues() []InstancePoolLicenseType { + return []InstancePoolLicenseType{BasePrice, LicenseIncluded} +} + +// ManagedDatabaseCreateMode enumerates the values for managed database create mode. +type ManagedDatabaseCreateMode string + +const ( + // Default ... + Default ManagedDatabaseCreateMode = "Default" + // PointInTimeRestore ... + PointInTimeRestore ManagedDatabaseCreateMode = "PointInTimeRestore" + // Recovery ... + Recovery ManagedDatabaseCreateMode = "Recovery" + // RestoreExternalBackup ... + RestoreExternalBackup ManagedDatabaseCreateMode = "RestoreExternalBackup" +) + +// PossibleManagedDatabaseCreateModeValues returns an array of possible values for the ManagedDatabaseCreateMode const type. +func PossibleManagedDatabaseCreateModeValues() []ManagedDatabaseCreateMode { + return []ManagedDatabaseCreateMode{Default, PointInTimeRestore, Recovery, RestoreExternalBackup} +} + +// ManagedDatabaseStatus enumerates the values for managed database status. +type ManagedDatabaseStatus string + +const ( + // Creating ... + Creating ManagedDatabaseStatus = "Creating" + // Inaccessible ... + Inaccessible ManagedDatabaseStatus = "Inaccessible" + // Offline ... + Offline ManagedDatabaseStatus = "Offline" + // Online ... + Online ManagedDatabaseStatus = "Online" + // Restoring ... + Restoring ManagedDatabaseStatus = "Restoring" + // Shutdown ... + Shutdown ManagedDatabaseStatus = "Shutdown" + // Updating ... + Updating ManagedDatabaseStatus = "Updating" +) + +// PossibleManagedDatabaseStatusValues returns an array of possible values for the ManagedDatabaseStatus const type. +func PossibleManagedDatabaseStatusValues() []ManagedDatabaseStatus { + return []ManagedDatabaseStatus{Creating, Inaccessible, Offline, Online, Restoring, Shutdown, Updating} +} + +// ManagedInstanceLicenseType enumerates the values for managed instance license type. +type ManagedInstanceLicenseType string + +const ( + // ManagedInstanceLicenseTypeBasePrice ... + ManagedInstanceLicenseTypeBasePrice ManagedInstanceLicenseType = "BasePrice" + // ManagedInstanceLicenseTypeLicenseIncluded ... + ManagedInstanceLicenseTypeLicenseIncluded ManagedInstanceLicenseType = "LicenseIncluded" +) + +// PossibleManagedInstanceLicenseTypeValues returns an array of possible values for the ManagedInstanceLicenseType const type. +func PossibleManagedInstanceLicenseTypeValues() []ManagedInstanceLicenseType { + return []ManagedInstanceLicenseType{ManagedInstanceLicenseTypeBasePrice, ManagedInstanceLicenseTypeLicenseIncluded} +} + +// ManagedInstanceProxyOverride enumerates the values for managed instance proxy override. +type ManagedInstanceProxyOverride string + +const ( + // ManagedInstanceProxyOverrideDefault ... + ManagedInstanceProxyOverrideDefault ManagedInstanceProxyOverride = "Default" + // ManagedInstanceProxyOverrideProxy ... + ManagedInstanceProxyOverrideProxy ManagedInstanceProxyOverride = "Proxy" + // ManagedInstanceProxyOverrideRedirect ... + ManagedInstanceProxyOverrideRedirect ManagedInstanceProxyOverride = "Redirect" +) + +// PossibleManagedInstanceProxyOverrideValues returns an array of possible values for the ManagedInstanceProxyOverride const type. +func PossibleManagedInstanceProxyOverrideValues() []ManagedInstanceProxyOverride { + return []ManagedInstanceProxyOverride{ManagedInstanceProxyOverrideDefault, ManagedInstanceProxyOverrideProxy, ManagedInstanceProxyOverrideRedirect} +} + +// ManagedServerCreateMode enumerates the values for managed server create mode. +type ManagedServerCreateMode string + +const ( + // ManagedServerCreateModeDefault ... + ManagedServerCreateModeDefault ManagedServerCreateMode = "Default" + // ManagedServerCreateModePointInTimeRestore ... + ManagedServerCreateModePointInTimeRestore ManagedServerCreateMode = "PointInTimeRestore" +) + +// PossibleManagedServerCreateModeValues returns an array of possible values for the ManagedServerCreateMode const type. +func PossibleManagedServerCreateModeValues() []ManagedServerCreateMode { + return []ManagedServerCreateMode{ManagedServerCreateModeDefault, ManagedServerCreateModePointInTimeRestore} +} + +// SecurityAlertPolicyState enumerates the values for security alert policy state. +type SecurityAlertPolicyState string + +const ( + // SecurityAlertPolicyStateDisabled ... + SecurityAlertPolicyStateDisabled SecurityAlertPolicyState = "Disabled" + // SecurityAlertPolicyStateEnabled ... + SecurityAlertPolicyStateEnabled SecurityAlertPolicyState = "Enabled" + // SecurityAlertPolicyStateNew ... + SecurityAlertPolicyStateNew SecurityAlertPolicyState = "New" +) + +// PossibleSecurityAlertPolicyStateValues returns an array of possible values for the SecurityAlertPolicyState const type. +func PossibleSecurityAlertPolicyStateValues() []SecurityAlertPolicyState { + return []SecurityAlertPolicyState{SecurityAlertPolicyStateDisabled, SecurityAlertPolicyStateEnabled, SecurityAlertPolicyStateNew} +} + +// SensitivityLabelSource enumerates the values for sensitivity label source. +type SensitivityLabelSource string + +const ( + // Current ... + Current SensitivityLabelSource = "current" + // Recommended ... + Recommended SensitivityLabelSource = "recommended" +) + +// PossibleSensitivityLabelSourceValues returns an array of possible values for the SensitivityLabelSource const type. +func PossibleSensitivityLabelSourceValues() []SensitivityLabelSource { + return []SensitivityLabelSource{Current, Recommended} +} + +// CompleteDatabaseRestoreDefinition contains the information necessary to perform a complete database +// restore operation. +type CompleteDatabaseRestoreDefinition struct { + // LastBackupName - The last backup name to apply + LastBackupName *string `json:"lastBackupName,omitempty"` +} + +// DatabaseSecurityAlertListResult a list of the database's security alert policies. +type DatabaseSecurityAlertListResult struct { + autorest.Response `json:"-"` + // Value - READ-ONLY; Array of results. + Value *[]DatabaseSecurityAlertPolicy `json:"value,omitempty"` + // NextLink - READ-ONLY; Link to retrieve next page of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// DatabaseSecurityAlertListResultIterator provides access to a complete listing of +// DatabaseSecurityAlertPolicy values. +type DatabaseSecurityAlertListResultIterator struct { + i int + page DatabaseSecurityAlertListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *DatabaseSecurityAlertListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DatabaseSecurityAlertListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *DatabaseSecurityAlertListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter DatabaseSecurityAlertListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter DatabaseSecurityAlertListResultIterator) Response() DatabaseSecurityAlertListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter DatabaseSecurityAlertListResultIterator) Value() DatabaseSecurityAlertPolicy { + if !iter.page.NotDone() { + return DatabaseSecurityAlertPolicy{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the DatabaseSecurityAlertListResultIterator type. +func NewDatabaseSecurityAlertListResultIterator(page DatabaseSecurityAlertListResultPage) DatabaseSecurityAlertListResultIterator { + return DatabaseSecurityAlertListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (dsalr DatabaseSecurityAlertListResult) IsEmpty() bool { + return dsalr.Value == nil || len(*dsalr.Value) == 0 +} + +// databaseSecurityAlertListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (dsalr DatabaseSecurityAlertListResult) databaseSecurityAlertListResultPreparer(ctx context.Context) (*http.Request, error) { + if dsalr.NextLink == nil || len(to.String(dsalr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(dsalr.NextLink))) +} + +// DatabaseSecurityAlertListResultPage contains a page of DatabaseSecurityAlertPolicy values. +type DatabaseSecurityAlertListResultPage struct { + fn func(context.Context, DatabaseSecurityAlertListResult) (DatabaseSecurityAlertListResult, error) + dsalr DatabaseSecurityAlertListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *DatabaseSecurityAlertListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DatabaseSecurityAlertListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.dsalr) + if err != nil { + return err + } + page.dsalr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *DatabaseSecurityAlertListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page DatabaseSecurityAlertListResultPage) NotDone() bool { + return !page.dsalr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page DatabaseSecurityAlertListResultPage) Response() DatabaseSecurityAlertListResult { + return page.dsalr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page DatabaseSecurityAlertListResultPage) Values() []DatabaseSecurityAlertPolicy { + if page.dsalr.IsEmpty() { + return nil + } + return *page.dsalr.Value +} + +// Creates a new instance of the DatabaseSecurityAlertListResultPage type. +func NewDatabaseSecurityAlertListResultPage(getNextPage func(context.Context, DatabaseSecurityAlertListResult) (DatabaseSecurityAlertListResult, error)) DatabaseSecurityAlertListResultPage { + return DatabaseSecurityAlertListResultPage{fn: getNextPage} +} + +// DatabaseSecurityAlertPolicy a database security alert policy. +type DatabaseSecurityAlertPolicy struct { + autorest.Response `json:"-"` + // SecurityAlertPolicyProperties - Resource properties. + *SecurityAlertPolicyProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for DatabaseSecurityAlertPolicy. +func (dsap DatabaseSecurityAlertPolicy) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if dsap.SecurityAlertPolicyProperties != nil { + objectMap["properties"] = dsap.SecurityAlertPolicyProperties + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for DatabaseSecurityAlertPolicy struct. +func (dsap *DatabaseSecurityAlertPolicy) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var securityAlertPolicyProperties SecurityAlertPolicyProperties + err = json.Unmarshal(*v, &securityAlertPolicyProperties) + if err != nil { + return err + } + dsap.SecurityAlertPolicyProperties = &securityAlertPolicyProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + dsap.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + dsap.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + dsap.Type = &typeVar + } + } + } + + return nil +} + +// DatabasesFailoverFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type DatabasesFailoverFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *DatabasesFailoverFuture) Result(client DatabasesClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DatabasesFailoverFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("sql.DatabasesFailoverFuture") + return + } + ar.Response = future.Response() + return +} + +// ElasticPoolsFailoverFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type ElasticPoolsFailoverFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ElasticPoolsFailoverFuture) Result(client ElasticPoolsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ElasticPoolsFailoverFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("sql.ElasticPoolsFailoverFuture") + return + } + ar.Response = future.Response() + return +} + +// InstancePool an Azure SQL instance pool. +type InstancePool struct { + autorest.Response `json:"-"` + // Sku - The name and tier of the SKU. + Sku *Sku `json:"sku,omitempty"` + // InstancePoolProperties - Resource properties. + *InstancePoolProperties `json:"properties,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` + // ID - READ-ONLY; Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for InstancePool. +func (IP InstancePool) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if IP.Sku != nil { + objectMap["sku"] = IP.Sku + } + if IP.InstancePoolProperties != nil { + objectMap["properties"] = IP.InstancePoolProperties + } + if IP.Location != nil { + objectMap["location"] = IP.Location + } + if IP.Tags != nil { + objectMap["tags"] = IP.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for InstancePool struct. +func (IP *InstancePool) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "sku": + if v != nil { + var sku Sku + err = json.Unmarshal(*v, &sku) + if err != nil { + return err + } + IP.Sku = &sku + } + case "properties": + if v != nil { + var instancePoolProperties InstancePoolProperties + err = json.Unmarshal(*v, &instancePoolProperties) + if err != nil { + return err + } + IP.InstancePoolProperties = &instancePoolProperties + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + IP.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + IP.Tags = tags + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + IP.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + IP.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + IP.Type = &typeVar + } + } + } + + return nil +} + +// InstancePoolListResult a list of Azure SQL instance pools. +type InstancePoolListResult struct { + autorest.Response `json:"-"` + // Value - READ-ONLY; Array of results. + Value *[]InstancePool `json:"value,omitempty"` + // NextLink - READ-ONLY; Link to retrieve next page of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// InstancePoolListResultIterator provides access to a complete listing of InstancePool values. +type InstancePoolListResultIterator struct { + i int + page InstancePoolListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *InstancePoolListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/InstancePoolListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *InstancePoolListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter InstancePoolListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter InstancePoolListResultIterator) Response() InstancePoolListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter InstancePoolListResultIterator) Value() InstancePool { + if !iter.page.NotDone() { + return InstancePool{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the InstancePoolListResultIterator type. +func NewInstancePoolListResultIterator(page InstancePoolListResultPage) InstancePoolListResultIterator { + return InstancePoolListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (iplr InstancePoolListResult) IsEmpty() bool { + return iplr.Value == nil || len(*iplr.Value) == 0 +} + +// instancePoolListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (iplr InstancePoolListResult) instancePoolListResultPreparer(ctx context.Context) (*http.Request, error) { + if iplr.NextLink == nil || len(to.String(iplr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(iplr.NextLink))) +} + +// InstancePoolListResultPage contains a page of InstancePool values. +type InstancePoolListResultPage struct { + fn func(context.Context, InstancePoolListResult) (InstancePoolListResult, error) + iplr InstancePoolListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *InstancePoolListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/InstancePoolListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.iplr) + if err != nil { + return err + } + page.iplr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *InstancePoolListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page InstancePoolListResultPage) NotDone() bool { + return !page.iplr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page InstancePoolListResultPage) Response() InstancePoolListResult { + return page.iplr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page InstancePoolListResultPage) Values() []InstancePool { + if page.iplr.IsEmpty() { + return nil + } + return *page.iplr.Value +} + +// Creates a new instance of the InstancePoolListResultPage type. +func NewInstancePoolListResultPage(getNextPage func(context.Context, InstancePoolListResult) (InstancePoolListResult, error)) InstancePoolListResultPage { + return InstancePoolListResultPage{fn: getNextPage} +} + +// InstancePoolProperties properties of an instance pool. +type InstancePoolProperties struct { + // SubnetID - Resource ID of the subnet to place this instance pool in. + SubnetID *string `json:"subnetId,omitempty"` + // VCores - Count of vCores belonging to this instance pool. + VCores *int32 `json:"vCores,omitempty"` + // LicenseType - The license type. Possible values are 'LicenseIncluded' (price for SQL license is included) and 'BasePrice' (without SQL license price). Possible values include: 'LicenseIncluded', 'BasePrice' + LicenseType InstancePoolLicenseType `json:"licenseType,omitempty"` +} + +// InstancePoolsCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type InstancePoolsCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *InstancePoolsCreateOrUpdateFuture) Result(client InstancePoolsClient) (IP InstancePool, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.InstancePoolsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("sql.InstancePoolsCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if IP.Response.Response, err = future.GetResult(sender); err == nil && IP.Response.Response.StatusCode != http.StatusNoContent { + IP, err = client.CreateOrUpdateResponder(IP.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.InstancePoolsCreateOrUpdateFuture", "Result", IP.Response.Response, "Failure responding to request") + } + } + return +} + +// InstancePoolsDeleteFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type InstancePoolsDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *InstancePoolsDeleteFuture) Result(client InstancePoolsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.InstancePoolsDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("sql.InstancePoolsDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// InstancePoolsUpdateFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type InstancePoolsUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *InstancePoolsUpdateFuture) Result(client InstancePoolsClient) (IP InstancePool, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.InstancePoolsUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("sql.InstancePoolsUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if IP.Response.Response, err = future.GetResult(sender); err == nil && IP.Response.Response.StatusCode != http.StatusNoContent { + IP, err = client.UpdateResponder(IP.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.InstancePoolsUpdateFuture", "Result", IP.Response.Response, "Failure responding to request") + } + } + return +} + +// InstancePoolUpdate an update to an Instance pool. +type InstancePoolUpdate struct { + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for InstancePoolUpdate. +func (ipu InstancePoolUpdate) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if ipu.Tags != nil { + objectMap["tags"] = ipu.Tags + } + return json.Marshal(objectMap) +} + +// ManagedDatabase a managed database resource. +type ManagedDatabase struct { + autorest.Response `json:"-"` + // ManagedDatabaseProperties - Resource properties. + *ManagedDatabaseProperties `json:"properties,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` + // ID - READ-ONLY; Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for ManagedDatabase. +func (md ManagedDatabase) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if md.ManagedDatabaseProperties != nil { + objectMap["properties"] = md.ManagedDatabaseProperties + } + if md.Location != nil { + objectMap["location"] = md.Location + } + if md.Tags != nil { + objectMap["tags"] = md.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ManagedDatabase struct. +func (md *ManagedDatabase) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var managedDatabaseProperties ManagedDatabaseProperties + err = json.Unmarshal(*v, &managedDatabaseProperties) + if err != nil { + return err + } + md.ManagedDatabaseProperties = &managedDatabaseProperties + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + md.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + md.Tags = tags + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + md.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + md.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + md.Type = &typeVar + } + } + } + + return nil +} + +// ManagedDatabaseListResult a list of managed databases. +type ManagedDatabaseListResult struct { + autorest.Response `json:"-"` + // Value - READ-ONLY; Array of results. + Value *[]ManagedDatabase `json:"value,omitempty"` + // NextLink - READ-ONLY; Link to retrieve next page of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// ManagedDatabaseListResultIterator provides access to a complete listing of ManagedDatabase values. +type ManagedDatabaseListResultIterator struct { + i int + page ManagedDatabaseListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *ManagedDatabaseListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ManagedDatabaseListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *ManagedDatabaseListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter ManagedDatabaseListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter ManagedDatabaseListResultIterator) Response() ManagedDatabaseListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter ManagedDatabaseListResultIterator) Value() ManagedDatabase { + if !iter.page.NotDone() { + return ManagedDatabase{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the ManagedDatabaseListResultIterator type. +func NewManagedDatabaseListResultIterator(page ManagedDatabaseListResultPage) ManagedDatabaseListResultIterator { + return ManagedDatabaseListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (mdlr ManagedDatabaseListResult) IsEmpty() bool { + return mdlr.Value == nil || len(*mdlr.Value) == 0 +} + +// managedDatabaseListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (mdlr ManagedDatabaseListResult) managedDatabaseListResultPreparer(ctx context.Context) (*http.Request, error) { + if mdlr.NextLink == nil || len(to.String(mdlr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(mdlr.NextLink))) +} + +// ManagedDatabaseListResultPage contains a page of ManagedDatabase values. +type ManagedDatabaseListResultPage struct { + fn func(context.Context, ManagedDatabaseListResult) (ManagedDatabaseListResult, error) + mdlr ManagedDatabaseListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *ManagedDatabaseListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ManagedDatabaseListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.mdlr) + if err != nil { + return err + } + page.mdlr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *ManagedDatabaseListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page ManagedDatabaseListResultPage) NotDone() bool { + return !page.mdlr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page ManagedDatabaseListResultPage) Response() ManagedDatabaseListResult { + return page.mdlr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page ManagedDatabaseListResultPage) Values() []ManagedDatabase { + if page.mdlr.IsEmpty() { + return nil + } + return *page.mdlr.Value +} + +// Creates a new instance of the ManagedDatabaseListResultPage type. +func NewManagedDatabaseListResultPage(getNextPage func(context.Context, ManagedDatabaseListResult) (ManagedDatabaseListResult, error)) ManagedDatabaseListResultPage { + return ManagedDatabaseListResultPage{fn: getNextPage} +} + +// ManagedDatabaseProperties the managed database's properties. +type ManagedDatabaseProperties struct { + // Collation - Collation of the managed database. + Collation *string `json:"collation,omitempty"` + // Status - READ-ONLY; Status of the database. Possible values include: 'Online', 'Offline', 'Shutdown', 'Creating', 'Inaccessible', 'Restoring', 'Updating' + Status ManagedDatabaseStatus `json:"status,omitempty"` + // CreationDate - READ-ONLY; Creation date of the database. + CreationDate *date.Time `json:"creationDate,omitempty"` + // EarliestRestorePoint - READ-ONLY; Earliest restore point in time for point in time restore. + EarliestRestorePoint *date.Time `json:"earliestRestorePoint,omitempty"` + // RestorePointInTime - Conditional. If createMode is PointInTimeRestore, this value is required. Specifies the point in time (ISO8601 format) of the source database that will be restored to create the new database. + RestorePointInTime *date.Time `json:"restorePointInTime,omitempty"` + // DefaultSecondaryLocation - READ-ONLY; Geo paired region. + DefaultSecondaryLocation *string `json:"defaultSecondaryLocation,omitempty"` + // CatalogCollation - Collation of the metadata catalog. Possible values include: 'DATABASEDEFAULT', 'SQLLatin1GeneralCP1CIAS' + CatalogCollation CatalogCollationType `json:"catalogCollation,omitempty"` + // CreateMode - Managed database create mode. PointInTimeRestore: Create a database by restoring a point in time backup of an existing database. SourceDatabaseName, SourceManagedInstanceName and PointInTime must be specified. RestoreExternalBackup: Create a database by restoring from external backup files. Collation, StorageContainerUri and StorageContainerSasToken must be specified. Recovery: Creates a database by restoring a geo-replicated backup. RecoverableDatabaseId must be specified as the recoverable database resource ID to restore. Possible values include: 'Default', 'RestoreExternalBackup', 'PointInTimeRestore', 'Recovery' + CreateMode ManagedDatabaseCreateMode `json:"createMode,omitempty"` + // StorageContainerURI - Conditional. If createMode is RestoreExternalBackup, this value is required. Specifies the uri of the storage container where backups for this restore are stored. + StorageContainerURI *string `json:"storageContainerUri,omitempty"` + // SourceDatabaseID - The resource identifier of the source database associated with create operation of this database. + SourceDatabaseID *string `json:"sourceDatabaseId,omitempty"` + // RestorableDroppedDatabaseID - The restorable dropped database resource id to restore when creating this database. + RestorableDroppedDatabaseID *string `json:"restorableDroppedDatabaseId,omitempty"` + // StorageContainerSasToken - Conditional. If createMode is RestoreExternalBackup, this value is required. Specifies the storage container sas token. + StorageContainerSasToken *string `json:"storageContainerSasToken,omitempty"` + // FailoverGroupID - READ-ONLY; Instance Failover Group resource identifier that this managed database belongs to. + FailoverGroupID *string `json:"failoverGroupId,omitempty"` + // RecoverableDatabaseID - The resource identifier of the recoverable database associated with create operation of this database. + RecoverableDatabaseID *string `json:"recoverableDatabaseId,omitempty"` +} + +// ManagedDatabaseRestoreDetailsProperties the managed database's restore details properties. +type ManagedDatabaseRestoreDetailsProperties struct { + // Status - READ-ONLY; Restore status. + Status *string `json:"status,omitempty"` + // CurrentRestoringFileName - READ-ONLY; Current restoring file name. + CurrentRestoringFileName *string `json:"currentRestoringFileName,omitempty"` + // LastRestoredFileName - READ-ONLY; Last restored file name. + LastRestoredFileName *string `json:"lastRestoredFileName,omitempty"` + // LastRestoredFileTime - READ-ONLY; Last restored file time. + LastRestoredFileTime *date.Time `json:"lastRestoredFileTime,omitempty"` + // PercentCompleted - READ-ONLY; Percent completed. + PercentCompleted *float64 `json:"percentCompleted,omitempty"` + // UnrestorableFiles - READ-ONLY; List of unrestorable files. + UnrestorableFiles *[]string `json:"unrestorableFiles,omitempty"` + // NumberOfFilesDetected - READ-ONLY; Number of files detected. + NumberOfFilesDetected *int64 `json:"numberOfFilesDetected,omitempty"` + // LastUploadedFileName - READ-ONLY; Last uploaded file name. + LastUploadedFileName *string `json:"lastUploadedFileName,omitempty"` + // LastUploadedFileTime - READ-ONLY; Last uploaded file time. + LastUploadedFileTime *date.Time `json:"lastUploadedFileTime,omitempty"` + // BlockReason - READ-ONLY; The reason why restore is in Blocked state. + BlockReason *string `json:"blockReason,omitempty"` +} + +// ManagedDatabaseRestoreDetailsResult a managed database restore details. +type ManagedDatabaseRestoreDetailsResult struct { + autorest.Response `json:"-"` + // ManagedDatabaseRestoreDetailsProperties - Resource properties. + *ManagedDatabaseRestoreDetailsProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for ManagedDatabaseRestoreDetailsResult. +func (mdrdr ManagedDatabaseRestoreDetailsResult) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if mdrdr.ManagedDatabaseRestoreDetailsProperties != nil { + objectMap["properties"] = mdrdr.ManagedDatabaseRestoreDetailsProperties + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ManagedDatabaseRestoreDetailsResult struct. +func (mdrdr *ManagedDatabaseRestoreDetailsResult) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var managedDatabaseRestoreDetailsProperties ManagedDatabaseRestoreDetailsProperties + err = json.Unmarshal(*v, &managedDatabaseRestoreDetailsProperties) + if err != nil { + return err + } + mdrdr.ManagedDatabaseRestoreDetailsProperties = &managedDatabaseRestoreDetailsProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + mdrdr.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + mdrdr.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + mdrdr.Type = &typeVar + } + } + } + + return nil +} + +// ManagedDatabasesCompleteRestoreFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type ManagedDatabasesCompleteRestoreFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ManagedDatabasesCompleteRestoreFuture) Result(client ManagedDatabasesClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ManagedDatabasesCompleteRestoreFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("sql.ManagedDatabasesCompleteRestoreFuture") + return + } + ar.Response = future.Response() + return +} + +// ManagedDatabasesCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type ManagedDatabasesCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ManagedDatabasesCreateOrUpdateFuture) Result(client ManagedDatabasesClient) (md ManagedDatabase, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ManagedDatabasesCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("sql.ManagedDatabasesCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if md.Response.Response, err = future.GetResult(sender); err == nil && md.Response.Response.StatusCode != http.StatusNoContent { + md, err = client.CreateOrUpdateResponder(md.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ManagedDatabasesCreateOrUpdateFuture", "Result", md.Response.Response, "Failure responding to request") + } + } + return +} + +// ManagedDatabasesDeleteFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type ManagedDatabasesDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ManagedDatabasesDeleteFuture) Result(client ManagedDatabasesClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ManagedDatabasesDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("sql.ManagedDatabasesDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// ManagedDatabasesUpdateFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type ManagedDatabasesUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ManagedDatabasesUpdateFuture) Result(client ManagedDatabasesClient) (md ManagedDatabase, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ManagedDatabasesUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("sql.ManagedDatabasesUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if md.Response.Response, err = future.GetResult(sender); err == nil && md.Response.Response.StatusCode != http.StatusNoContent { + md, err = client.UpdateResponder(md.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ManagedDatabasesUpdateFuture", "Result", md.Response.Response, "Failure responding to request") + } + } + return +} + +// ManagedDatabaseUpdate an managed database update. +type ManagedDatabaseUpdate struct { + // ManagedDatabaseProperties - Resource properties. + *ManagedDatabaseProperties `json:"properties,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for ManagedDatabaseUpdate. +func (mdu ManagedDatabaseUpdate) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if mdu.ManagedDatabaseProperties != nil { + objectMap["properties"] = mdu.ManagedDatabaseProperties + } + if mdu.Tags != nil { + objectMap["tags"] = mdu.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ManagedDatabaseUpdate struct. +func (mdu *ManagedDatabaseUpdate) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var managedDatabaseProperties ManagedDatabaseProperties + err = json.Unmarshal(*v, &managedDatabaseProperties) + if err != nil { + return err + } + mdu.ManagedDatabaseProperties = &managedDatabaseProperties + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + mdu.Tags = tags + } + } + } + + return nil +} + +// ManagedInstance an Azure SQL managed instance. +type ManagedInstance struct { + autorest.Response `json:"-"` + // Identity - The Azure Active Directory identity of the managed instance. + Identity *ResourceIdentity `json:"identity,omitempty"` + // Sku - Managed instance SKU. Allowed values for sku.name: GP_Gen4, GP_Gen5, BC_Gen4, BC_Gen5 + Sku *Sku `json:"sku,omitempty"` + // ManagedInstanceProperties - Resource properties. + *ManagedInstanceProperties `json:"properties,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` + // ID - READ-ONLY; Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for ManagedInstance. +func (mi ManagedInstance) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if mi.Identity != nil { + objectMap["identity"] = mi.Identity + } + if mi.Sku != nil { + objectMap["sku"] = mi.Sku + } + if mi.ManagedInstanceProperties != nil { + objectMap["properties"] = mi.ManagedInstanceProperties + } + if mi.Location != nil { + objectMap["location"] = mi.Location + } + if mi.Tags != nil { + objectMap["tags"] = mi.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ManagedInstance struct. +func (mi *ManagedInstance) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "identity": + if v != nil { + var identity ResourceIdentity + err = json.Unmarshal(*v, &identity) + if err != nil { + return err + } + mi.Identity = &identity + } + case "sku": + if v != nil { + var sku Sku + err = json.Unmarshal(*v, &sku) + if err != nil { + return err + } + mi.Sku = &sku + } + case "properties": + if v != nil { + var managedInstanceProperties ManagedInstanceProperties + err = json.Unmarshal(*v, &managedInstanceProperties) + if err != nil { + return err + } + mi.ManagedInstanceProperties = &managedInstanceProperties + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + mi.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + mi.Tags = tags + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + mi.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + mi.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + mi.Type = &typeVar + } + } + } + + return nil +} + +// ManagedInstanceListResult a list of managed instances. +type ManagedInstanceListResult struct { + autorest.Response `json:"-"` + // Value - READ-ONLY; Array of results. + Value *[]ManagedInstance `json:"value,omitempty"` + // NextLink - READ-ONLY; Link to retrieve next page of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// ManagedInstanceListResultIterator provides access to a complete listing of ManagedInstance values. +type ManagedInstanceListResultIterator struct { + i int + page ManagedInstanceListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *ManagedInstanceListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ManagedInstanceListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *ManagedInstanceListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter ManagedInstanceListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter ManagedInstanceListResultIterator) Response() ManagedInstanceListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter ManagedInstanceListResultIterator) Value() ManagedInstance { + if !iter.page.NotDone() { + return ManagedInstance{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the ManagedInstanceListResultIterator type. +func NewManagedInstanceListResultIterator(page ManagedInstanceListResultPage) ManagedInstanceListResultIterator { + return ManagedInstanceListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (milr ManagedInstanceListResult) IsEmpty() bool { + return milr.Value == nil || len(*milr.Value) == 0 +} + +// managedInstanceListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (milr ManagedInstanceListResult) managedInstanceListResultPreparer(ctx context.Context) (*http.Request, error) { + if milr.NextLink == nil || len(to.String(milr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(milr.NextLink))) +} + +// ManagedInstanceListResultPage contains a page of ManagedInstance values. +type ManagedInstanceListResultPage struct { + fn func(context.Context, ManagedInstanceListResult) (ManagedInstanceListResult, error) + milr ManagedInstanceListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *ManagedInstanceListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ManagedInstanceListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.milr) + if err != nil { + return err + } + page.milr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *ManagedInstanceListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page ManagedInstanceListResultPage) NotDone() bool { + return !page.milr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page ManagedInstanceListResultPage) Response() ManagedInstanceListResult { + return page.milr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page ManagedInstanceListResultPage) Values() []ManagedInstance { + if page.milr.IsEmpty() { + return nil + } + return *page.milr.Value +} + +// Creates a new instance of the ManagedInstanceListResultPage type. +func NewManagedInstanceListResultPage(getNextPage func(context.Context, ManagedInstanceListResult) (ManagedInstanceListResult, error)) ManagedInstanceListResultPage { + return ManagedInstanceListResultPage{fn: getNextPage} +} + +// ManagedInstanceProperties the properties of a managed instance. +type ManagedInstanceProperties struct { + // ManagedInstanceCreateMode - Specifies the mode of database creation. + // + // Default: Regular instance creation. + // + // Restore: Creates an instance by restoring a set of backups to specific point in time. RestorePointInTime and SourceManagedInstanceId must be specified. Possible values include: 'ManagedServerCreateModeDefault', 'ManagedServerCreateModePointInTimeRestore' + ManagedInstanceCreateMode ManagedServerCreateMode `json:"managedInstanceCreateMode,omitempty"` + // FullyQualifiedDomainName - READ-ONLY; The fully qualified domain name of the managed instance. + FullyQualifiedDomainName *string `json:"fullyQualifiedDomainName,omitempty"` + // AdministratorLogin - Administrator username for the managed instance. Can only be specified when the managed instance is being created (and is required for creation). + AdministratorLogin *string `json:"administratorLogin,omitempty"` + // AdministratorLoginPassword - The administrator login password (required for managed instance creation). + AdministratorLoginPassword *string `json:"administratorLoginPassword,omitempty"` + // SubnetID - Subnet resource ID for the managed instance. + SubnetID *string `json:"subnetId,omitempty"` + // State - READ-ONLY; The state of the managed instance. + State *string `json:"state,omitempty"` + // LicenseType - The license type. Possible values are 'LicenseIncluded' (regular price inclusive of a new SQL license) and 'BasePrice' (discounted AHB price for bringing your own SQL licenses). Possible values include: 'ManagedInstanceLicenseTypeLicenseIncluded', 'ManagedInstanceLicenseTypeBasePrice' + LicenseType ManagedInstanceLicenseType `json:"licenseType,omitempty"` + // VCores - The number of vCores. Allowed values: 8, 16, 24, 32, 40, 64, 80. + VCores *int32 `json:"vCores,omitempty"` + // StorageSizeInGB - Storage size in GB. Minimum value: 32. Maximum value: 8192. Increments of 32 GB allowed only. + StorageSizeInGB *int32 `json:"storageSizeInGB,omitempty"` + // Collation - Collation of the managed instance. + Collation *string `json:"collation,omitempty"` + // DNSZone - READ-ONLY; The Dns Zone that the managed instance is in. + DNSZone *string `json:"dnsZone,omitempty"` + // DNSZonePartner - The resource id of another managed instance whose DNS zone this managed instance will share after creation. + DNSZonePartner *string `json:"dnsZonePartner,omitempty"` + // PublicDataEndpointEnabled - Whether or not the public data endpoint is enabled. + PublicDataEndpointEnabled *bool `json:"publicDataEndpointEnabled,omitempty"` + // SourceManagedInstanceID - The resource identifier of the source managed instance associated with create operation of this instance. + SourceManagedInstanceID *string `json:"sourceManagedInstanceId,omitempty"` + // RestorePointInTime - Specifies the point in time (ISO8601 format) of the source database that will be restored to create the new database. + RestorePointInTime *date.Time `json:"restorePointInTime,omitempty"` + // ProxyOverride - Connection type used for connecting to the instance. Possible values include: 'ManagedInstanceProxyOverrideProxy', 'ManagedInstanceProxyOverrideRedirect', 'ManagedInstanceProxyOverrideDefault' + ProxyOverride ManagedInstanceProxyOverride `json:"proxyOverride,omitempty"` + // TimezoneID - Id of the timezone. Allowed values are timezones supported by Windows. + // Windows keeps details on supported timezones, including the id, in registry under + // KEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones. + // You can get those registry values via SQL Server by querying SELECT name AS timezone_id FROM sys.time_zone_info. + // List of Ids can also be obtained by executing [System.TimeZoneInfo]::GetSystemTimeZones() in PowerShell. + // An example of valid timezone id is "Pacific Standard Time" or "W. Europe Standard Time". + TimezoneID *string `json:"timezoneId,omitempty"` + // InstancePoolID - The Id of the instance pool this managed server belongs to. + InstancePoolID *string `json:"instancePoolId,omitempty"` +} + +// ManagedInstancesCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type ManagedInstancesCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ManagedInstancesCreateOrUpdateFuture) Result(client ManagedInstancesClient) (mi ManagedInstance, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ManagedInstancesCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("sql.ManagedInstancesCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if mi.Response.Response, err = future.GetResult(sender); err == nil && mi.Response.Response.StatusCode != http.StatusNoContent { + mi, err = client.CreateOrUpdateResponder(mi.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ManagedInstancesCreateOrUpdateFuture", "Result", mi.Response.Response, "Failure responding to request") + } + } + return +} + +// ManagedInstancesDeleteFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type ManagedInstancesDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ManagedInstancesDeleteFuture) Result(client ManagedInstancesClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ManagedInstancesDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("sql.ManagedInstancesDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// ManagedInstancesUpdateFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type ManagedInstancesUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ManagedInstancesUpdateFuture) Result(client ManagedInstancesClient) (mi ManagedInstance, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ManagedInstancesUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("sql.ManagedInstancesUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if mi.Response.Response, err = future.GetResult(sender); err == nil && mi.Response.Response.StatusCode != http.StatusNoContent { + mi, err = client.UpdateResponder(mi.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ManagedInstancesUpdateFuture", "Result", mi.Response.Response, "Failure responding to request") + } + } + return +} + +// ManagedInstanceUpdate an update request for an Azure SQL Database managed instance. +type ManagedInstanceUpdate struct { + // Sku - Managed instance sku + Sku *Sku `json:"sku,omitempty"` + // ManagedInstanceProperties - Resource properties. + *ManagedInstanceProperties `json:"properties,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for ManagedInstanceUpdate. +func (miu ManagedInstanceUpdate) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if miu.Sku != nil { + objectMap["sku"] = miu.Sku + } + if miu.ManagedInstanceProperties != nil { + objectMap["properties"] = miu.ManagedInstanceProperties + } + if miu.Tags != nil { + objectMap["tags"] = miu.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ManagedInstanceUpdate struct. +func (miu *ManagedInstanceUpdate) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "sku": + if v != nil { + var sku Sku + err = json.Unmarshal(*v, &sku) + if err != nil { + return err + } + miu.Sku = &sku + } + case "properties": + if v != nil { + var managedInstanceProperties ManagedInstanceProperties + err = json.Unmarshal(*v, &managedInstanceProperties) + if err != nil { + return err + } + miu.ManagedInstanceProperties = &managedInstanceProperties + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + miu.Tags = tags + } + } + } + + return nil +} + +// ManagedInstanceVulnerabilityAssessment a managed instance vulnerability assessment. +type ManagedInstanceVulnerabilityAssessment struct { + autorest.Response `json:"-"` + // ManagedInstanceVulnerabilityAssessmentProperties - Resource properties. + *ManagedInstanceVulnerabilityAssessmentProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for ManagedInstanceVulnerabilityAssessment. +func (miva ManagedInstanceVulnerabilityAssessment) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if miva.ManagedInstanceVulnerabilityAssessmentProperties != nil { + objectMap["properties"] = miva.ManagedInstanceVulnerabilityAssessmentProperties + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ManagedInstanceVulnerabilityAssessment struct. +func (miva *ManagedInstanceVulnerabilityAssessment) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var managedInstanceVulnerabilityAssessmentProperties ManagedInstanceVulnerabilityAssessmentProperties + err = json.Unmarshal(*v, &managedInstanceVulnerabilityAssessmentProperties) + if err != nil { + return err + } + miva.ManagedInstanceVulnerabilityAssessmentProperties = &managedInstanceVulnerabilityAssessmentProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + miva.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + miva.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + miva.Type = &typeVar + } + } + } + + return nil +} + +// ManagedInstanceVulnerabilityAssessmentListResult a list of the ManagedInstance's vulnerability +// assessments. +type ManagedInstanceVulnerabilityAssessmentListResult struct { + autorest.Response `json:"-"` + // Value - READ-ONLY; Array of results. + Value *[]ManagedInstanceVulnerabilityAssessment `json:"value,omitempty"` + // NextLink - READ-ONLY; Link to retrieve next page of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// ManagedInstanceVulnerabilityAssessmentListResultIterator provides access to a complete listing of +// ManagedInstanceVulnerabilityAssessment values. +type ManagedInstanceVulnerabilityAssessmentListResultIterator struct { + i int + page ManagedInstanceVulnerabilityAssessmentListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *ManagedInstanceVulnerabilityAssessmentListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ManagedInstanceVulnerabilityAssessmentListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *ManagedInstanceVulnerabilityAssessmentListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter ManagedInstanceVulnerabilityAssessmentListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter ManagedInstanceVulnerabilityAssessmentListResultIterator) Response() ManagedInstanceVulnerabilityAssessmentListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter ManagedInstanceVulnerabilityAssessmentListResultIterator) Value() ManagedInstanceVulnerabilityAssessment { + if !iter.page.NotDone() { + return ManagedInstanceVulnerabilityAssessment{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the ManagedInstanceVulnerabilityAssessmentListResultIterator type. +func NewManagedInstanceVulnerabilityAssessmentListResultIterator(page ManagedInstanceVulnerabilityAssessmentListResultPage) ManagedInstanceVulnerabilityAssessmentListResultIterator { + return ManagedInstanceVulnerabilityAssessmentListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (mivalr ManagedInstanceVulnerabilityAssessmentListResult) IsEmpty() bool { + return mivalr.Value == nil || len(*mivalr.Value) == 0 +} + +// managedInstanceVulnerabilityAssessmentListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (mivalr ManagedInstanceVulnerabilityAssessmentListResult) managedInstanceVulnerabilityAssessmentListResultPreparer(ctx context.Context) (*http.Request, error) { + if mivalr.NextLink == nil || len(to.String(mivalr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(mivalr.NextLink))) +} + +// ManagedInstanceVulnerabilityAssessmentListResultPage contains a page of +// ManagedInstanceVulnerabilityAssessment values. +type ManagedInstanceVulnerabilityAssessmentListResultPage struct { + fn func(context.Context, ManagedInstanceVulnerabilityAssessmentListResult) (ManagedInstanceVulnerabilityAssessmentListResult, error) + mivalr ManagedInstanceVulnerabilityAssessmentListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *ManagedInstanceVulnerabilityAssessmentListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ManagedInstanceVulnerabilityAssessmentListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.mivalr) + if err != nil { + return err + } + page.mivalr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *ManagedInstanceVulnerabilityAssessmentListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page ManagedInstanceVulnerabilityAssessmentListResultPage) NotDone() bool { + return !page.mivalr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page ManagedInstanceVulnerabilityAssessmentListResultPage) Response() ManagedInstanceVulnerabilityAssessmentListResult { + return page.mivalr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page ManagedInstanceVulnerabilityAssessmentListResultPage) Values() []ManagedInstanceVulnerabilityAssessment { + if page.mivalr.IsEmpty() { + return nil + } + return *page.mivalr.Value +} + +// Creates a new instance of the ManagedInstanceVulnerabilityAssessmentListResultPage type. +func NewManagedInstanceVulnerabilityAssessmentListResultPage(getNextPage func(context.Context, ManagedInstanceVulnerabilityAssessmentListResult) (ManagedInstanceVulnerabilityAssessmentListResult, error)) ManagedInstanceVulnerabilityAssessmentListResultPage { + return ManagedInstanceVulnerabilityAssessmentListResultPage{fn: getNextPage} +} + +// ManagedInstanceVulnerabilityAssessmentProperties properties of a managed instance vulnerability +// assessment. +type ManagedInstanceVulnerabilityAssessmentProperties struct { + // StorageContainerPath - A blob storage container path to hold the scan results (e.g. https://myStorage.blob.core.windows.net/VaScans/). + StorageContainerPath *string `json:"storageContainerPath,omitempty"` + // StorageContainerSasKey - A shared access signature (SAS Key) that has write access to the blob container specified in 'storageContainerPath' parameter. If 'storageAccountAccessKey' isn't specified, StorageContainerSasKey is required. + StorageContainerSasKey *string `json:"storageContainerSasKey,omitempty"` + // StorageAccountAccessKey - Specifies the identifier key of the storage account for vulnerability assessment scan results. If 'StorageContainerSasKey' isn't specified, storageAccountAccessKey is required. + StorageAccountAccessKey *string `json:"storageAccountAccessKey,omitempty"` + // RecurringScans - The recurring scans settings + RecurringScans *VulnerabilityAssessmentRecurringScansProperties `json:"recurringScans,omitempty"` +} + +// Name ARM Usage Name +type Name struct { + // Value - Usage name value + Value *string `json:"value,omitempty"` + // LocalizedValue - Usage name localized value. + LocalizedValue *string `json:"localizedValue,omitempty"` +} + +// PrivateEndpointConnection a private endpoint connection +type PrivateEndpointConnection struct { + autorest.Response `json:"-"` + // PrivateEndpointConnectionProperties - Resource properties. + *PrivateEndpointConnectionProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for PrivateEndpointConnection. +func (pec PrivateEndpointConnection) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if pec.PrivateEndpointConnectionProperties != nil { + objectMap["properties"] = pec.PrivateEndpointConnectionProperties + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for PrivateEndpointConnection struct. +func (pec *PrivateEndpointConnection) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var privateEndpointConnectionProperties PrivateEndpointConnectionProperties + err = json.Unmarshal(*v, &privateEndpointConnectionProperties) + if err != nil { + return err + } + pec.PrivateEndpointConnectionProperties = &privateEndpointConnectionProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + pec.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + pec.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + pec.Type = &typeVar + } + } + } + + return nil +} + +// PrivateEndpointConnectionListResult a list of private endpoint connections. +type PrivateEndpointConnectionListResult struct { + autorest.Response `json:"-"` + // Value - READ-ONLY; Array of results. + Value *[]PrivateEndpointConnection `json:"value,omitempty"` + // NextLink - READ-ONLY; Link to retrieve next page of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// PrivateEndpointConnectionListResultIterator provides access to a complete listing of +// PrivateEndpointConnection values. +type PrivateEndpointConnectionListResultIterator struct { + i int + page PrivateEndpointConnectionListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *PrivateEndpointConnectionListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PrivateEndpointConnectionListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *PrivateEndpointConnectionListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter PrivateEndpointConnectionListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter PrivateEndpointConnectionListResultIterator) Response() PrivateEndpointConnectionListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter PrivateEndpointConnectionListResultIterator) Value() PrivateEndpointConnection { + if !iter.page.NotDone() { + return PrivateEndpointConnection{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the PrivateEndpointConnectionListResultIterator type. +func NewPrivateEndpointConnectionListResultIterator(page PrivateEndpointConnectionListResultPage) PrivateEndpointConnectionListResultIterator { + return PrivateEndpointConnectionListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (peclr PrivateEndpointConnectionListResult) IsEmpty() bool { + return peclr.Value == nil || len(*peclr.Value) == 0 +} + +// privateEndpointConnectionListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (peclr PrivateEndpointConnectionListResult) privateEndpointConnectionListResultPreparer(ctx context.Context) (*http.Request, error) { + if peclr.NextLink == nil || len(to.String(peclr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(peclr.NextLink))) +} + +// PrivateEndpointConnectionListResultPage contains a page of PrivateEndpointConnection values. +type PrivateEndpointConnectionListResultPage struct { + fn func(context.Context, PrivateEndpointConnectionListResult) (PrivateEndpointConnectionListResult, error) + peclr PrivateEndpointConnectionListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *PrivateEndpointConnectionListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PrivateEndpointConnectionListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.peclr) + if err != nil { + return err + } + page.peclr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *PrivateEndpointConnectionListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page PrivateEndpointConnectionListResultPage) NotDone() bool { + return !page.peclr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page PrivateEndpointConnectionListResultPage) Response() PrivateEndpointConnectionListResult { + return page.peclr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page PrivateEndpointConnectionListResultPage) Values() []PrivateEndpointConnection { + if page.peclr.IsEmpty() { + return nil + } + return *page.peclr.Value +} + +// Creates a new instance of the PrivateEndpointConnectionListResultPage type. +func NewPrivateEndpointConnectionListResultPage(getNextPage func(context.Context, PrivateEndpointConnectionListResult) (PrivateEndpointConnectionListResult, error)) PrivateEndpointConnectionListResultPage { + return PrivateEndpointConnectionListResultPage{fn: getNextPage} +} + +// PrivateEndpointConnectionProperties properties of a private endpoint connection. +type PrivateEndpointConnectionProperties struct { + // PrivateEndpoint - Private endpoint which the connection belongs to. + PrivateEndpoint *PrivateEndpointProperty `json:"privateEndpoint,omitempty"` + // PrivateLinkServiceConnectionState - Connection state of the private endpoint connection. + PrivateLinkServiceConnectionState *PrivateLinkServiceConnectionStateProperty `json:"privateLinkServiceConnectionState,omitempty"` + // ProvisioningState - READ-ONLY; State of the private endpoint connection. + ProvisioningState *string `json:"provisioningState,omitempty"` +} + +// PrivateEndpointConnectionsCreateOrUpdateFuture an abstraction for monitoring and retrieving the results +// of a long-running operation. +type PrivateEndpointConnectionsCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *PrivateEndpointConnectionsCreateOrUpdateFuture) Result(client PrivateEndpointConnectionsClient) (pec PrivateEndpointConnection, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.PrivateEndpointConnectionsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("sql.PrivateEndpointConnectionsCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if pec.Response.Response, err = future.GetResult(sender); err == nil && pec.Response.Response.StatusCode != http.StatusNoContent { + pec, err = client.CreateOrUpdateResponder(pec.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.PrivateEndpointConnectionsCreateOrUpdateFuture", "Result", pec.Response.Response, "Failure responding to request") + } + } + return +} + +// PrivateEndpointConnectionsDeleteFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type PrivateEndpointConnectionsDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *PrivateEndpointConnectionsDeleteFuture) Result(client PrivateEndpointConnectionsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.PrivateEndpointConnectionsDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("sql.PrivateEndpointConnectionsDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// PrivateEndpointProperty ... +type PrivateEndpointProperty struct { + // ID - Resource id of the private endpoint. + ID *string `json:"id,omitempty"` +} + +// PrivateLinkServiceConnectionStateProperty ... +type PrivateLinkServiceConnectionStateProperty struct { + // Status - The private link service connection status. + Status *string `json:"status,omitempty"` + // Description - The private link service connection description. + Description *string `json:"description,omitempty"` + // ActionsRequired - READ-ONLY; The actions required for private link service connection. + ActionsRequired *string `json:"actionsRequired,omitempty"` +} + +// ProxyResource ARM proxy resource. +type ProxyResource struct { + // ID - READ-ONLY; Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// Resource ARM resource. +type Resource struct { + // ID - READ-ONLY; Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// ResourceIdentity azure Active Directory identity configuration for a resource. +type ResourceIdentity struct { + // PrincipalID - READ-ONLY; The Azure Active Directory principal id. + PrincipalID *uuid.UUID `json:"principalId,omitempty"` + // Type - The identity type. Set this to 'SystemAssigned' in order to automatically create and assign an Azure Active Directory principal for the resource. Possible values include: 'SystemAssigned' + Type IdentityType `json:"type,omitempty"` + // TenantID - READ-ONLY; The Azure Active Directory tenant id. + TenantID *uuid.UUID `json:"tenantId,omitempty"` +} + +// SecurityAlertPolicyProperties properties of a security alert policy. +type SecurityAlertPolicyProperties struct { + // State - Specifies the state of the policy, whether it is enabled or disabled or a policy has not been applied yet on the specific database. Possible values include: 'SecurityAlertPolicyStateNew', 'SecurityAlertPolicyStateEnabled', 'SecurityAlertPolicyStateDisabled' + State SecurityAlertPolicyState `json:"state,omitempty"` + // DisabledAlerts - Specifies an array of alerts that are disabled. Allowed values are: Sql_Injection, Sql_Injection_Vulnerability, Access_Anomaly, Data_Exfiltration, Unsafe_Action + DisabledAlerts *[]string `json:"disabledAlerts,omitempty"` + // EmailAddresses - Specifies an array of e-mail addresses to which the alert is sent. + EmailAddresses *[]string `json:"emailAddresses,omitempty"` + // EmailAccountAdmins - Specifies that the alert is sent to the account administrators. + EmailAccountAdmins *bool `json:"emailAccountAdmins,omitempty"` + // StorageEndpoint - Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). This blob storage will hold all Threat Detection audit logs. + StorageEndpoint *string `json:"storageEndpoint,omitempty"` + // StorageAccountAccessKey - Specifies the identifier key of the Threat Detection audit storage account. + StorageAccountAccessKey *string `json:"storageAccountAccessKey,omitempty"` + // RetentionDays - Specifies the number of days to keep in the Threat Detection audit logs. + RetentionDays *int32 `json:"retentionDays,omitempty"` + // CreationTime - READ-ONLY; Specifies the UTC creation time of the policy. + CreationTime *date.Time `json:"creationTime,omitempty"` +} + +// SensitivityLabel a sensitivity label. +type SensitivityLabel struct { + autorest.Response `json:"-"` + // SensitivityLabelProperties - Resource properties. + *SensitivityLabelProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for SensitivityLabel. +func (sl SensitivityLabel) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if sl.SensitivityLabelProperties != nil { + objectMap["properties"] = sl.SensitivityLabelProperties + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for SensitivityLabel struct. +func (sl *SensitivityLabel) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var sensitivityLabelProperties SensitivityLabelProperties + err = json.Unmarshal(*v, &sensitivityLabelProperties) + if err != nil { + return err + } + sl.SensitivityLabelProperties = &sensitivityLabelProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + sl.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + sl.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + sl.Type = &typeVar + } + } + } + + return nil +} + +// SensitivityLabelListResult a list of sensitivity labels. +type SensitivityLabelListResult struct { + autorest.Response `json:"-"` + // Value - READ-ONLY; Array of results. + Value *[]SensitivityLabel `json:"value,omitempty"` + // NextLink - READ-ONLY; Link to retrieve next page of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// SensitivityLabelListResultIterator provides access to a complete listing of SensitivityLabel values. +type SensitivityLabelListResultIterator struct { + i int + page SensitivityLabelListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *SensitivityLabelListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SensitivityLabelListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *SensitivityLabelListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter SensitivityLabelListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter SensitivityLabelListResultIterator) Response() SensitivityLabelListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter SensitivityLabelListResultIterator) Value() SensitivityLabel { + if !iter.page.NotDone() { + return SensitivityLabel{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the SensitivityLabelListResultIterator type. +func NewSensitivityLabelListResultIterator(page SensitivityLabelListResultPage) SensitivityLabelListResultIterator { + return SensitivityLabelListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (sllr SensitivityLabelListResult) IsEmpty() bool { + return sllr.Value == nil || len(*sllr.Value) == 0 +} + +// sensitivityLabelListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (sllr SensitivityLabelListResult) sensitivityLabelListResultPreparer(ctx context.Context) (*http.Request, error) { + if sllr.NextLink == nil || len(to.String(sllr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(sllr.NextLink))) +} + +// SensitivityLabelListResultPage contains a page of SensitivityLabel values. +type SensitivityLabelListResultPage struct { + fn func(context.Context, SensitivityLabelListResult) (SensitivityLabelListResult, error) + sllr SensitivityLabelListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *SensitivityLabelListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SensitivityLabelListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.sllr) + if err != nil { + return err + } + page.sllr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *SensitivityLabelListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page SensitivityLabelListResultPage) NotDone() bool { + return !page.sllr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page SensitivityLabelListResultPage) Response() SensitivityLabelListResult { + return page.sllr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page SensitivityLabelListResultPage) Values() []SensitivityLabel { + if page.sllr.IsEmpty() { + return nil + } + return *page.sllr.Value +} + +// Creates a new instance of the SensitivityLabelListResultPage type. +func NewSensitivityLabelListResultPage(getNextPage func(context.Context, SensitivityLabelListResult) (SensitivityLabelListResult, error)) SensitivityLabelListResultPage { + return SensitivityLabelListResultPage{fn: getNextPage} +} + +// SensitivityLabelProperties properties of a sensitivity label. +type SensitivityLabelProperties struct { + // LabelName - The label name. + LabelName *string `json:"labelName,omitempty"` + // LabelID - The label ID. + LabelID *string `json:"labelId,omitempty"` + // InformationType - The information type. + InformationType *string `json:"informationType,omitempty"` + // InformationTypeID - The information type ID. + InformationTypeID *string `json:"informationTypeId,omitempty"` + // IsDisabled - READ-ONLY; Is sensitivity recommendation disabled. Applicable for recommended sensitivity label only. Specifies whether the sensitivity recommendation on this column is disabled (dismissed) or not. + IsDisabled *bool `json:"isDisabled,omitempty"` +} + +// ServerVulnerabilityAssessment a server vulnerability assessment. +type ServerVulnerabilityAssessment struct { + autorest.Response `json:"-"` + // ServerVulnerabilityAssessmentProperties - Resource properties. + *ServerVulnerabilityAssessmentProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for ServerVulnerabilityAssessment. +func (sva ServerVulnerabilityAssessment) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if sva.ServerVulnerabilityAssessmentProperties != nil { + objectMap["properties"] = sva.ServerVulnerabilityAssessmentProperties + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ServerVulnerabilityAssessment struct. +func (sva *ServerVulnerabilityAssessment) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var serverVulnerabilityAssessmentProperties ServerVulnerabilityAssessmentProperties + err = json.Unmarshal(*v, &serverVulnerabilityAssessmentProperties) + if err != nil { + return err + } + sva.ServerVulnerabilityAssessmentProperties = &serverVulnerabilityAssessmentProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + sva.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + sva.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + sva.Type = &typeVar + } + } + } + + return nil +} + +// ServerVulnerabilityAssessmentListResult a list of the server's vulnerability assessments. +type ServerVulnerabilityAssessmentListResult struct { + autorest.Response `json:"-"` + // Value - READ-ONLY; Array of results. + Value *[]ServerVulnerabilityAssessment `json:"value,omitempty"` + // NextLink - READ-ONLY; Link to retrieve next page of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// ServerVulnerabilityAssessmentListResultIterator provides access to a complete listing of +// ServerVulnerabilityAssessment values. +type ServerVulnerabilityAssessmentListResultIterator struct { + i int + page ServerVulnerabilityAssessmentListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *ServerVulnerabilityAssessmentListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServerVulnerabilityAssessmentListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *ServerVulnerabilityAssessmentListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter ServerVulnerabilityAssessmentListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter ServerVulnerabilityAssessmentListResultIterator) Response() ServerVulnerabilityAssessmentListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter ServerVulnerabilityAssessmentListResultIterator) Value() ServerVulnerabilityAssessment { + if !iter.page.NotDone() { + return ServerVulnerabilityAssessment{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the ServerVulnerabilityAssessmentListResultIterator type. +func NewServerVulnerabilityAssessmentListResultIterator(page ServerVulnerabilityAssessmentListResultPage) ServerVulnerabilityAssessmentListResultIterator { + return ServerVulnerabilityAssessmentListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (svalr ServerVulnerabilityAssessmentListResult) IsEmpty() bool { + return svalr.Value == nil || len(*svalr.Value) == 0 +} + +// serverVulnerabilityAssessmentListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (svalr ServerVulnerabilityAssessmentListResult) serverVulnerabilityAssessmentListResultPreparer(ctx context.Context) (*http.Request, error) { + if svalr.NextLink == nil || len(to.String(svalr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(svalr.NextLink))) +} + +// ServerVulnerabilityAssessmentListResultPage contains a page of ServerVulnerabilityAssessment values. +type ServerVulnerabilityAssessmentListResultPage struct { + fn func(context.Context, ServerVulnerabilityAssessmentListResult) (ServerVulnerabilityAssessmentListResult, error) + svalr ServerVulnerabilityAssessmentListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *ServerVulnerabilityAssessmentListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServerVulnerabilityAssessmentListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.svalr) + if err != nil { + return err + } + page.svalr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *ServerVulnerabilityAssessmentListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page ServerVulnerabilityAssessmentListResultPage) NotDone() bool { + return !page.svalr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page ServerVulnerabilityAssessmentListResultPage) Response() ServerVulnerabilityAssessmentListResult { + return page.svalr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page ServerVulnerabilityAssessmentListResultPage) Values() []ServerVulnerabilityAssessment { + if page.svalr.IsEmpty() { + return nil + } + return *page.svalr.Value +} + +// Creates a new instance of the ServerVulnerabilityAssessmentListResultPage type. +func NewServerVulnerabilityAssessmentListResultPage(getNextPage func(context.Context, ServerVulnerabilityAssessmentListResult) (ServerVulnerabilityAssessmentListResult, error)) ServerVulnerabilityAssessmentListResultPage { + return ServerVulnerabilityAssessmentListResultPage{fn: getNextPage} +} + +// ServerVulnerabilityAssessmentProperties properties of a server Vulnerability Assessment. +type ServerVulnerabilityAssessmentProperties struct { + // StorageContainerPath - A blob storage container path to hold the scan results (e.g. https://myStorage.blob.core.windows.net/VaScans/). + StorageContainerPath *string `json:"storageContainerPath,omitempty"` + // StorageContainerSasKey - A shared access signature (SAS Key) that has write access to the blob container specified in 'storageContainerPath' parameter. If 'storageAccountAccessKey' isn't specified, StorageContainerSasKey is required. + StorageContainerSasKey *string `json:"storageContainerSasKey,omitempty"` + // StorageAccountAccessKey - Specifies the identifier key of the storage account for vulnerability assessment scan results. If 'StorageContainerSasKey' isn't specified, storageAccountAccessKey is required. + StorageAccountAccessKey *string `json:"storageAccountAccessKey,omitempty"` + // RecurringScans - The recurring scans settings + RecurringScans *VulnerabilityAssessmentRecurringScansProperties `json:"recurringScans,omitempty"` +} + +// Sku an ARM Resource SKU. +type Sku struct { + // Name - The name of the SKU, typically, a letter + Number code, e.g. P3. + Name *string `json:"name,omitempty"` + // Tier - The tier or edition of the particular SKU, e.g. Basic, Premium. + Tier *string `json:"tier,omitempty"` + // Size - Size of the particular SKU + Size *string `json:"size,omitempty"` + // Family - If the service has different generations of hardware, for the same SKU, then that can be captured here. + Family *string `json:"family,omitempty"` + // Capacity - Capacity of the particular SKU. + Capacity *int32 `json:"capacity,omitempty"` +} + +// TrackedResource ARM tracked top level resource. +type TrackedResource struct { + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` + // ID - READ-ONLY; Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for TrackedResource. +func (tr TrackedResource) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if tr.Location != nil { + objectMap["location"] = tr.Location + } + if tr.Tags != nil { + objectMap["tags"] = tr.Tags + } + return json.Marshal(objectMap) +} + +// Usage ARM usage. +type Usage struct { + // ID - READ-ONLY; Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *Name `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Unit - READ-ONLY; Usage unit. + Unit *string `json:"unit,omitempty"` + // CurrentValue - READ-ONLY; Usage current value. + CurrentValue *int32 `json:"currentValue,omitempty"` + // Limit - READ-ONLY; Usage limit. + Limit *int32 `json:"limit,omitempty"` + // RequestedLimit - READ-ONLY; Usage requested limit. + RequestedLimit *int32 `json:"requestedLimit,omitempty"` +} + +// UsageListResult a list of usages. +type UsageListResult struct { + autorest.Response `json:"-"` + // Value - READ-ONLY; Array of results. + Value *[]Usage `json:"value,omitempty"` + // NextLink - READ-ONLY; Link to retrieve next page of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// UsageListResultIterator provides access to a complete listing of Usage values. +type UsageListResultIterator struct { + i int + page UsageListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *UsageListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/UsageListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *UsageListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter UsageListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter UsageListResultIterator) Response() UsageListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter UsageListResultIterator) Value() Usage { + if !iter.page.NotDone() { + return Usage{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the UsageListResultIterator type. +func NewUsageListResultIterator(page UsageListResultPage) UsageListResultIterator { + return UsageListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (ulr UsageListResult) IsEmpty() bool { + return ulr.Value == nil || len(*ulr.Value) == 0 +} + +// usageListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (ulr UsageListResult) usageListResultPreparer(ctx context.Context) (*http.Request, error) { + if ulr.NextLink == nil || len(to.String(ulr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(ulr.NextLink))) +} + +// UsageListResultPage contains a page of Usage values. +type UsageListResultPage struct { + fn func(context.Context, UsageListResult) (UsageListResult, error) + ulr UsageListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *UsageListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/UsageListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.ulr) + if err != nil { + return err + } + page.ulr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *UsageListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page UsageListResultPage) NotDone() bool { + return !page.ulr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page UsageListResultPage) Response() UsageListResult { + return page.ulr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page UsageListResultPage) Values() []Usage { + if page.ulr.IsEmpty() { + return nil + } + return *page.ulr.Value +} + +// Creates a new instance of the UsageListResultPage type. +func NewUsageListResultPage(getNextPage func(context.Context, UsageListResult) (UsageListResult, error)) UsageListResultPage { + return UsageListResultPage{fn: getNextPage} +} + +// VulnerabilityAssessmentRecurringScansProperties properties of a Vulnerability Assessment recurring +// scans. +type VulnerabilityAssessmentRecurringScansProperties struct { + // IsEnabled - Recurring scans state. + IsEnabled *bool `json:"isEnabled,omitempty"` + // EmailSubscriptionAdmins - Specifies that the schedule scan notification will be is sent to the subscription administrators. + EmailSubscriptionAdmins *bool `json:"emailSubscriptionAdmins,omitempty"` + // Emails - Specifies an array of e-mail addresses to which the scan notification is sent. + Emails *[]string `json:"emails,omitempty"` +} diff --git a/services/preview/sql/mgmt/2018-06-01-preview/sql/privateendpointconnections.go b/services/preview/sql/mgmt/2018-06-01-preview/sql/privateendpointconnections.go new file mode 100644 index 000000000000..1113d763dd5f --- /dev/null +++ b/services/preview/sql/mgmt/2018-06-01-preview/sql/privateendpointconnections.go @@ -0,0 +1,410 @@ +package sql + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// PrivateEndpointConnectionsClient is the the Azure SQL Database management API provides a RESTful set of web services +// that interact with Azure SQL Database services to manage your databases. The API enables you to create, retrieve, +// update, and delete databases. +type PrivateEndpointConnectionsClient struct { + BaseClient +} + +// NewPrivateEndpointConnectionsClient creates an instance of the PrivateEndpointConnectionsClient client. +func NewPrivateEndpointConnectionsClient(subscriptionID string) PrivateEndpointConnectionsClient { + return NewPrivateEndpointConnectionsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewPrivateEndpointConnectionsClientWithBaseURI creates an instance of the PrivateEndpointConnectionsClient client. +func NewPrivateEndpointConnectionsClientWithBaseURI(baseURI string, subscriptionID string) PrivateEndpointConnectionsClient { + return PrivateEndpointConnectionsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate approve or reject a private endpoint connection with a given name. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serverName - the name of the server. +func (client PrivateEndpointConnectionsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, serverName string, privateEndpointConnectionName string, parameters PrivateEndpointConnection) (result PrivateEndpointConnectionsCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PrivateEndpointConnectionsClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.PrivateEndpointConnectionProperties", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.PrivateEndpointConnectionProperties.PrivateLinkServiceConnectionState", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.PrivateEndpointConnectionProperties.PrivateLinkServiceConnectionState.Status", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "parameters.PrivateEndpointConnectionProperties.PrivateLinkServiceConnectionState.Description", Name: validation.Null, Rule: true, Chain: nil}, + }}, + }}}}}); err != nil { + return result, validation.NewError("sql.PrivateEndpointConnectionsClient", "CreateOrUpdate", err.Error()) + } + + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, serverName, privateEndpointConnectionName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.PrivateEndpointConnectionsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.PrivateEndpointConnectionsClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client PrivateEndpointConnectionsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, serverName string, privateEndpointConnectionName string, parameters PrivateEndpointConnection) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "privateEndpointConnectionName": autorest.Encode("path", privateEndpointConnectionName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/privateEndpointConnections/{privateEndpointConnectionName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client PrivateEndpointConnectionsClient) CreateOrUpdateSender(req *http.Request) (future PrivateEndpointConnectionsCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client PrivateEndpointConnectionsClient) CreateOrUpdateResponder(resp *http.Response) (result PrivateEndpointConnection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes a private endpoint connection with a given name. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serverName - the name of the server. +func (client PrivateEndpointConnectionsClient) Delete(ctx context.Context, resourceGroupName string, serverName string, privateEndpointConnectionName string) (result PrivateEndpointConnectionsDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PrivateEndpointConnectionsClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, serverName, privateEndpointConnectionName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.PrivateEndpointConnectionsClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.PrivateEndpointConnectionsClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client PrivateEndpointConnectionsClient) DeletePreparer(ctx context.Context, resourceGroupName string, serverName string, privateEndpointConnectionName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "privateEndpointConnectionName": autorest.Encode("path", privateEndpointConnectionName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/privateEndpointConnections/{privateEndpointConnectionName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client PrivateEndpointConnectionsClient) DeleteSender(req *http.Request) (future PrivateEndpointConnectionsDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client PrivateEndpointConnectionsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets a private endpoint connection. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serverName - the name of the server. +// privateEndpointConnectionName - the name of the private endpoint connection. +func (client PrivateEndpointConnectionsClient) Get(ctx context.Context, resourceGroupName string, serverName string, privateEndpointConnectionName string) (result PrivateEndpointConnection, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PrivateEndpointConnectionsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, serverName, privateEndpointConnectionName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.PrivateEndpointConnectionsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.PrivateEndpointConnectionsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.PrivateEndpointConnectionsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client PrivateEndpointConnectionsClient) GetPreparer(ctx context.Context, resourceGroupName string, serverName string, privateEndpointConnectionName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "privateEndpointConnectionName": autorest.Encode("path", privateEndpointConnectionName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/privateEndpointConnections/{privateEndpointConnectionName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client PrivateEndpointConnectionsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client PrivateEndpointConnectionsClient) GetResponder(resp *http.Response) (result PrivateEndpointConnection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByServer gets all private endpoint connections on a server. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serverName - the name of the server. +func (client PrivateEndpointConnectionsClient) ListByServer(ctx context.Context, resourceGroupName string, serverName string) (result PrivateEndpointConnectionListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PrivateEndpointConnectionsClient.ListByServer") + defer func() { + sc := -1 + if result.peclr.Response.Response != nil { + sc = result.peclr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listByServerNextResults + req, err := client.ListByServerPreparer(ctx, resourceGroupName, serverName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.PrivateEndpointConnectionsClient", "ListByServer", nil, "Failure preparing request") + return + } + + resp, err := client.ListByServerSender(req) + if err != nil { + result.peclr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.PrivateEndpointConnectionsClient", "ListByServer", resp, "Failure sending request") + return + } + + result.peclr, err = client.ListByServerResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.PrivateEndpointConnectionsClient", "ListByServer", resp, "Failure responding to request") + } + + return +} + +// ListByServerPreparer prepares the ListByServer request. +func (client PrivateEndpointConnectionsClient) ListByServerPreparer(ctx context.Context, resourceGroupName string, serverName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/privateEndpointConnections", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByServerSender sends the ListByServer request. The method will close the +// http.Response Body if it receives an error. +func (client PrivateEndpointConnectionsClient) ListByServerSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByServerResponder handles the response to the ListByServer request. The method always +// closes the http.Response Body. +func (client PrivateEndpointConnectionsClient) ListByServerResponder(resp *http.Response) (result PrivateEndpointConnectionListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listByServerNextResults retrieves the next set of results, if any. +func (client PrivateEndpointConnectionsClient) listByServerNextResults(ctx context.Context, lastResults PrivateEndpointConnectionListResult) (result PrivateEndpointConnectionListResult, err error) { + req, err := lastResults.privateEndpointConnectionListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "sql.PrivateEndpointConnectionsClient", "listByServerNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListByServerSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "sql.PrivateEndpointConnectionsClient", "listByServerNextResults", resp, "Failure sending next results request") + } + result, err = client.ListByServerResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.PrivateEndpointConnectionsClient", "listByServerNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListByServerComplete enumerates all values, automatically crossing page boundaries as required. +func (client PrivateEndpointConnectionsClient) ListByServerComplete(ctx context.Context, resourceGroupName string, serverName string) (result PrivateEndpointConnectionListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PrivateEndpointConnectionsClient.ListByServer") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListByServer(ctx, resourceGroupName, serverName) + return +} diff --git a/services/preview/sql/mgmt/2018-06-01-preview/sql/servervulnerabilityassessments.go b/services/preview/sql/mgmt/2018-06-01-preview/sql/servervulnerabilityassessments.go new file mode 100644 index 000000000000..9496d7ee7833 --- /dev/null +++ b/services/preview/sql/mgmt/2018-06-01-preview/sql/servervulnerabilityassessments.go @@ -0,0 +1,407 @@ +package sql + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// ServerVulnerabilityAssessmentsClient is the the Azure SQL Database management API provides a RESTful set of web +// services that interact with Azure SQL Database services to manage your databases. The API enables you to create, +// retrieve, update, and delete databases. +type ServerVulnerabilityAssessmentsClient struct { + BaseClient +} + +// NewServerVulnerabilityAssessmentsClient creates an instance of the ServerVulnerabilityAssessmentsClient client. +func NewServerVulnerabilityAssessmentsClient(subscriptionID string) ServerVulnerabilityAssessmentsClient { + return NewServerVulnerabilityAssessmentsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewServerVulnerabilityAssessmentsClientWithBaseURI creates an instance of the ServerVulnerabilityAssessmentsClient +// client. +func NewServerVulnerabilityAssessmentsClientWithBaseURI(baseURI string, subscriptionID string) ServerVulnerabilityAssessmentsClient { + return ServerVulnerabilityAssessmentsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates the server's vulnerability assessment. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serverName - the name of the server for which the vulnerability assessment is defined. +// parameters - the requested resource. +func (client ServerVulnerabilityAssessmentsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, serverName string, parameters ServerVulnerabilityAssessment) (result ServerVulnerabilityAssessment, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServerVulnerabilityAssessmentsClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.ServerVulnerabilityAssessmentProperties", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.ServerVulnerabilityAssessmentProperties.StorageContainerPath", Name: validation.Null, Rule: true, Chain: nil}}}}}}); err != nil { + return result, validation.NewError("sql.ServerVulnerabilityAssessmentsClient", "CreateOrUpdate", err.Error()) + } + + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, serverName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServerVulnerabilityAssessmentsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.ServerVulnerabilityAssessmentsClient", "CreateOrUpdate", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServerVulnerabilityAssessmentsClient", "CreateOrUpdate", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client ServerVulnerabilityAssessmentsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, serverName string, parameters ServerVulnerabilityAssessment) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "vulnerabilityAssessmentName": autorest.Encode("path", "default"), + } + + const APIVersion = "2018-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client ServerVulnerabilityAssessmentsClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client ServerVulnerabilityAssessmentsClient) CreateOrUpdateResponder(resp *http.Response) (result ServerVulnerabilityAssessment, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete removes the server's vulnerability assessment. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serverName - the name of the server for which the vulnerability assessment is defined. +func (client ServerVulnerabilityAssessmentsClient) Delete(ctx context.Context, resourceGroupName string, serverName string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServerVulnerabilityAssessmentsClient.Delete") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, serverName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServerVulnerabilityAssessmentsClient", "Delete", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "sql.ServerVulnerabilityAssessmentsClient", "Delete", resp, "Failure sending request") + return + } + + result, err = client.DeleteResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServerVulnerabilityAssessmentsClient", "Delete", resp, "Failure responding to request") + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client ServerVulnerabilityAssessmentsClient) DeletePreparer(ctx context.Context, resourceGroupName string, serverName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "vulnerabilityAssessmentName": autorest.Encode("path", "default"), + } + + const APIVersion = "2018-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client ServerVulnerabilityAssessmentsClient) DeleteSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client ServerVulnerabilityAssessmentsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets the server's vulnerability assessment. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serverName - the name of the server for which the vulnerability assessment is defined. +func (client ServerVulnerabilityAssessmentsClient) Get(ctx context.Context, resourceGroupName string, serverName string) (result ServerVulnerabilityAssessment, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServerVulnerabilityAssessmentsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, serverName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServerVulnerabilityAssessmentsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.ServerVulnerabilityAssessmentsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServerVulnerabilityAssessmentsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client ServerVulnerabilityAssessmentsClient) GetPreparer(ctx context.Context, resourceGroupName string, serverName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "vulnerabilityAssessmentName": autorest.Encode("path", "default"), + } + + const APIVersion = "2018-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/vulnerabilityAssessments/{vulnerabilityAssessmentName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client ServerVulnerabilityAssessmentsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client ServerVulnerabilityAssessmentsClient) GetResponder(resp *http.Response) (result ServerVulnerabilityAssessment, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByServer lists the vulnerability assessment policies associated with a server. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serverName - the name of the server. +func (client ServerVulnerabilityAssessmentsClient) ListByServer(ctx context.Context, resourceGroupName string, serverName string) (result ServerVulnerabilityAssessmentListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServerVulnerabilityAssessmentsClient.ListByServer") + defer func() { + sc := -1 + if result.svalr.Response.Response != nil { + sc = result.svalr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listByServerNextResults + req, err := client.ListByServerPreparer(ctx, resourceGroupName, serverName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServerVulnerabilityAssessmentsClient", "ListByServer", nil, "Failure preparing request") + return + } + + resp, err := client.ListByServerSender(req) + if err != nil { + result.svalr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.ServerVulnerabilityAssessmentsClient", "ListByServer", resp, "Failure sending request") + return + } + + result.svalr, err = client.ListByServerResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServerVulnerabilityAssessmentsClient", "ListByServer", resp, "Failure responding to request") + } + + return +} + +// ListByServerPreparer prepares the ListByServer request. +func (client ServerVulnerabilityAssessmentsClient) ListByServerPreparer(ctx context.Context, resourceGroupName string, serverName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/vulnerabilityAssessments", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByServerSender sends the ListByServer request. The method will close the +// http.Response Body if it receives an error. +func (client ServerVulnerabilityAssessmentsClient) ListByServerSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByServerResponder handles the response to the ListByServer request. The method always +// closes the http.Response Body. +func (client ServerVulnerabilityAssessmentsClient) ListByServerResponder(resp *http.Response) (result ServerVulnerabilityAssessmentListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listByServerNextResults retrieves the next set of results, if any. +func (client ServerVulnerabilityAssessmentsClient) listByServerNextResults(ctx context.Context, lastResults ServerVulnerabilityAssessmentListResult) (result ServerVulnerabilityAssessmentListResult, err error) { + req, err := lastResults.serverVulnerabilityAssessmentListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "sql.ServerVulnerabilityAssessmentsClient", "listByServerNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListByServerSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "sql.ServerVulnerabilityAssessmentsClient", "listByServerNextResults", resp, "Failure sending next results request") + } + result, err = client.ListByServerResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServerVulnerabilityAssessmentsClient", "listByServerNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListByServerComplete enumerates all values, automatically crossing page boundaries as required. +func (client ServerVulnerabilityAssessmentsClient) ListByServerComplete(ctx context.Context, resourceGroupName string, serverName string) (result ServerVulnerabilityAssessmentListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServerVulnerabilityAssessmentsClient.ListByServer") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListByServer(ctx, resourceGroupName, serverName) + return +} diff --git a/services/preview/sql/mgmt/2018-06-01-preview/sql/sqlapi/interfaces.go b/services/preview/sql/mgmt/2018-06-01-preview/sql/sqlapi/interfaces.go new file mode 100644 index 000000000000..141c762e5f0a --- /dev/null +++ b/services/preview/sql/mgmt/2018-06-01-preview/sql/sqlapi/interfaces.go @@ -0,0 +1,141 @@ +package sqlapi + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/azure-sdk-for-go/services/preview/sql/mgmt/2018-06-01-preview/sql" + "github.com/Azure/go-autorest/autorest" +) + +// DatabaseSecurityAlertPoliciesClientAPI contains the set of methods on the DatabaseSecurityAlertPoliciesClient type. +type DatabaseSecurityAlertPoliciesClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, serverName string, databaseName string, parameters sql.DatabaseSecurityAlertPolicy) (result sql.DatabaseSecurityAlertPolicy, err error) + Get(ctx context.Context, resourceGroupName string, serverName string, databaseName string) (result sql.DatabaseSecurityAlertPolicy, err error) + ListByDatabase(ctx context.Context, resourceGroupName string, serverName string, databaseName string) (result sql.DatabaseSecurityAlertListResultPage, err error) +} + +var _ DatabaseSecurityAlertPoliciesClientAPI = (*sql.DatabaseSecurityAlertPoliciesClient)(nil) + +// ManagedDatabaseSensitivityLabelsClientAPI contains the set of methods on the ManagedDatabaseSensitivityLabelsClient type. +type ManagedDatabaseSensitivityLabelsClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, schemaName string, tableName string, columnName string, parameters sql.SensitivityLabel) (result sql.SensitivityLabel, err error) + Delete(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, schemaName string, tableName string, columnName string) (result autorest.Response, err error) + DisableRecommendation(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, schemaName string, tableName string, columnName string) (result autorest.Response, err error) + EnableRecommendation(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, schemaName string, tableName string, columnName string) (result autorest.Response, err error) + Get(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, schemaName string, tableName string, columnName string, sensitivityLabelSource sql.SensitivityLabelSource) (result sql.SensitivityLabel, err error) + ListCurrentByDatabase(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, filter string) (result sql.SensitivityLabelListResultPage, err error) + ListRecommendedByDatabase(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, includeDisabledRecommendations *bool, skipToken string, filter string) (result sql.SensitivityLabelListResultPage, err error) +} + +var _ ManagedDatabaseSensitivityLabelsClientAPI = (*sql.ManagedDatabaseSensitivityLabelsClient)(nil) + +// ManagedInstanceVulnerabilityAssessmentsClientAPI contains the set of methods on the ManagedInstanceVulnerabilityAssessmentsClient type. +type ManagedInstanceVulnerabilityAssessmentsClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, managedInstanceName string, parameters sql.ManagedInstanceVulnerabilityAssessment) (result sql.ManagedInstanceVulnerabilityAssessment, err error) + Delete(ctx context.Context, resourceGroupName string, managedInstanceName string) (result autorest.Response, err error) + Get(ctx context.Context, resourceGroupName string, managedInstanceName string) (result sql.ManagedInstanceVulnerabilityAssessment, err error) + ListByInstance(ctx context.Context, resourceGroupName string, managedInstanceName string) (result sql.ManagedInstanceVulnerabilityAssessmentListResultPage, err error) +} + +var _ ManagedInstanceVulnerabilityAssessmentsClientAPI = (*sql.ManagedInstanceVulnerabilityAssessmentsClient)(nil) + +// ServerVulnerabilityAssessmentsClientAPI contains the set of methods on the ServerVulnerabilityAssessmentsClient type. +type ServerVulnerabilityAssessmentsClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, serverName string, parameters sql.ServerVulnerabilityAssessment) (result sql.ServerVulnerabilityAssessment, err error) + Delete(ctx context.Context, resourceGroupName string, serverName string) (result autorest.Response, err error) + Get(ctx context.Context, resourceGroupName string, serverName string) (result sql.ServerVulnerabilityAssessment, err error) + ListByServer(ctx context.Context, resourceGroupName string, serverName string) (result sql.ServerVulnerabilityAssessmentListResultPage, err error) +} + +var _ ServerVulnerabilityAssessmentsClientAPI = (*sql.ServerVulnerabilityAssessmentsClient)(nil) + +// InstancePoolsClientAPI contains the set of methods on the InstancePoolsClient type. +type InstancePoolsClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, instancePoolName string, parameters sql.InstancePool) (result sql.InstancePoolsCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, instancePoolName string) (result sql.InstancePoolsDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, instancePoolName string) (result sql.InstancePool, err error) + List(ctx context.Context) (result sql.InstancePoolListResultPage, err error) + ListByResourceGroup(ctx context.Context, resourceGroupName string) (result sql.InstancePoolListResultPage, err error) + Update(ctx context.Context, resourceGroupName string, instancePoolName string, parameters sql.InstancePoolUpdate) (result sql.InstancePoolsUpdateFuture, err error) +} + +var _ InstancePoolsClientAPI = (*sql.InstancePoolsClient)(nil) + +// UsagesClientAPI contains the set of methods on the UsagesClient type. +type UsagesClientAPI interface { + ListByInstancePool(ctx context.Context, resourceGroupName string, instancePoolName string, expandChildren *bool) (result sql.UsageListResultPage, err error) +} + +var _ UsagesClientAPI = (*sql.UsagesClient)(nil) + +// ManagedInstancesClientAPI contains the set of methods on the ManagedInstancesClient type. +type ManagedInstancesClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, managedInstanceName string, parameters sql.ManagedInstance) (result sql.ManagedInstancesCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, managedInstanceName string) (result sql.ManagedInstancesDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, managedInstanceName string) (result sql.ManagedInstance, err error) + List(ctx context.Context) (result sql.ManagedInstanceListResultPage, err error) + ListByInstancePool(ctx context.Context, resourceGroupName string, instancePoolName string) (result sql.ManagedInstanceListResultPage, err error) + ListByResourceGroup(ctx context.Context, resourceGroupName string) (result sql.ManagedInstanceListResultPage, err error) + Update(ctx context.Context, resourceGroupName string, managedInstanceName string, parameters sql.ManagedInstanceUpdate) (result sql.ManagedInstancesUpdateFuture, err error) +} + +var _ ManagedInstancesClientAPI = (*sql.ManagedInstancesClient)(nil) + +// ManagedDatabaseRestoreDetailsClientAPI contains the set of methods on the ManagedDatabaseRestoreDetailsClient type. +type ManagedDatabaseRestoreDetailsClientAPI interface { + Get(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string) (result sql.ManagedDatabaseRestoreDetailsResult, err error) +} + +var _ ManagedDatabaseRestoreDetailsClientAPI = (*sql.ManagedDatabaseRestoreDetailsClient)(nil) + +// ManagedDatabasesClientAPI contains the set of methods on the ManagedDatabasesClient type. +type ManagedDatabasesClientAPI interface { + CompleteRestore(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, parameters sql.CompleteDatabaseRestoreDefinition) (result sql.ManagedDatabasesCompleteRestoreFuture, err error) + CreateOrUpdate(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, parameters sql.ManagedDatabase) (result sql.ManagedDatabasesCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string) (result sql.ManagedDatabasesDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string) (result sql.ManagedDatabase, err error) + ListByInstance(ctx context.Context, resourceGroupName string, managedInstanceName string) (result sql.ManagedDatabaseListResultPage, err error) + Update(ctx context.Context, resourceGroupName string, managedInstanceName string, databaseName string, parameters sql.ManagedDatabaseUpdate) (result sql.ManagedDatabasesUpdateFuture, err error) +} + +var _ ManagedDatabasesClientAPI = (*sql.ManagedDatabasesClient)(nil) + +// DatabasesClientAPI contains the set of methods on the DatabasesClient type. +type DatabasesClientAPI interface { + Failover(ctx context.Context, resourceGroupName string, serverName string, databaseName string) (result sql.DatabasesFailoverFuture, err error) +} + +var _ DatabasesClientAPI = (*sql.DatabasesClient)(nil) + +// ElasticPoolsClientAPI contains the set of methods on the ElasticPoolsClient type. +type ElasticPoolsClientAPI interface { + Failover(ctx context.Context, resourceGroupName string, serverName string, elasticPoolName string) (result sql.ElasticPoolsFailoverFuture, err error) +} + +var _ ElasticPoolsClientAPI = (*sql.ElasticPoolsClient)(nil) + +// PrivateEndpointConnectionsClientAPI contains the set of methods on the PrivateEndpointConnectionsClient type. +type PrivateEndpointConnectionsClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, serverName string, privateEndpointConnectionName string, parameters sql.PrivateEndpointConnection) (result sql.PrivateEndpointConnectionsCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, serverName string, privateEndpointConnectionName string) (result sql.PrivateEndpointConnectionsDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, serverName string, privateEndpointConnectionName string) (result sql.PrivateEndpointConnection, err error) + ListByServer(ctx context.Context, resourceGroupName string, serverName string) (result sql.PrivateEndpointConnectionListResultPage, err error) +} + +var _ PrivateEndpointConnectionsClientAPI = (*sql.PrivateEndpointConnectionsClient)(nil) diff --git a/services/preview/sql/mgmt/2018-06-01-preview/sql/usages.go b/services/preview/sql/mgmt/2018-06-01-preview/sql/usages.go new file mode 100644 index 000000000000..86f2d3b92500 --- /dev/null +++ b/services/preview/sql/mgmt/2018-06-01-preview/sql/usages.go @@ -0,0 +1,163 @@ +package sql + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// UsagesClient is the the Azure SQL Database management API provides a RESTful set of web services that interact with +// Azure SQL Database services to manage your databases. The API enables you to create, retrieve, update, and delete +// databases. +type UsagesClient struct { + BaseClient +} + +// NewUsagesClient creates an instance of the UsagesClient client. +func NewUsagesClient(subscriptionID string) UsagesClient { + return NewUsagesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewUsagesClientWithBaseURI creates an instance of the UsagesClient client. +func NewUsagesClientWithBaseURI(baseURI string, subscriptionID string) UsagesClient { + return UsagesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// ListByInstancePool gets all instance pool usage metrics +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// instancePoolName - the name of the instance pool to be retrieved. +// expandChildren - optional request parameter to include managed instance usages within the instance pool. +func (client UsagesClient) ListByInstancePool(ctx context.Context, resourceGroupName string, instancePoolName string, expandChildren *bool) (result UsageListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/UsagesClient.ListByInstancePool") + defer func() { + sc := -1 + if result.ulr.Response.Response != nil { + sc = result.ulr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listByInstancePoolNextResults + req, err := client.ListByInstancePoolPreparer(ctx, resourceGroupName, instancePoolName, expandChildren) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.UsagesClient", "ListByInstancePool", nil, "Failure preparing request") + return + } + + resp, err := client.ListByInstancePoolSender(req) + if err != nil { + result.ulr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.UsagesClient", "ListByInstancePool", resp, "Failure sending request") + return + } + + result.ulr, err = client.ListByInstancePoolResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.UsagesClient", "ListByInstancePool", resp, "Failure responding to request") + } + + return +} + +// ListByInstancePoolPreparer prepares the ListByInstancePool request. +func (client UsagesClient) ListByInstancePoolPreparer(ctx context.Context, resourceGroupName string, instancePoolName string, expandChildren *bool) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "instancePoolName": autorest.Encode("path", instancePoolName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-06-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if expandChildren != nil { + queryParameters["expandChildren"] = autorest.Encode("query", *expandChildren) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/instancePools/{instancePoolName}/usages", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByInstancePoolSender sends the ListByInstancePool request. The method will close the +// http.Response Body if it receives an error. +func (client UsagesClient) ListByInstancePoolSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByInstancePoolResponder handles the response to the ListByInstancePool request. The method always +// closes the http.Response Body. +func (client UsagesClient) ListByInstancePoolResponder(resp *http.Response) (result UsageListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listByInstancePoolNextResults retrieves the next set of results, if any. +func (client UsagesClient) listByInstancePoolNextResults(ctx context.Context, lastResults UsageListResult) (result UsageListResult, err error) { + req, err := lastResults.usageListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "sql.UsagesClient", "listByInstancePoolNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListByInstancePoolSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "sql.UsagesClient", "listByInstancePoolNextResults", resp, "Failure sending next results request") + } + result, err = client.ListByInstancePoolResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.UsagesClient", "listByInstancePoolNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListByInstancePoolComplete enumerates all values, automatically crossing page boundaries as required. +func (client UsagesClient) ListByInstancePoolComplete(ctx context.Context, resourceGroupName string, instancePoolName string, expandChildren *bool) (result UsageListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/UsagesClient.ListByInstancePool") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListByInstancePool(ctx, resourceGroupName, instancePoolName, expandChildren) + return +} diff --git a/services/preview/sql/mgmt/2018-06-01-preview/sql/version.go b/services/preview/sql/mgmt/2018-06-01-preview/sql/version.go new file mode 100644 index 000000000000..121c4d1ec35e --- /dev/null +++ b/services/preview/sql/mgmt/2018-06-01-preview/sql/version.go @@ -0,0 +1,30 @@ +package sql + +import "github.com/Azure/azure-sdk-for-go/version" + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +// UserAgent returns the UserAgent string to use when sending http.Requests. +func UserAgent() string { + return "Azure-SDK-For-Go/" + version.Number + " sql/2018-06-01-preview" +} + +// Version returns the semantic version (see http://semver.org) of the client. +func Version() string { + return version.Number +} diff --git a/services/preview/sqlvirtualmachine/mgmt/2017-03-01-preview/sqlvirtualmachine/models.go b/services/preview/sqlvirtualmachine/mgmt/2017-03-01-preview/sqlvirtualmachine/models.go index 95ed1722326a..2be41094dae8 100644 --- a/services/preview/sqlvirtualmachine/mgmt/2017-03-01-preview/sqlvirtualmachine/models.go +++ b/services/preview/sqlvirtualmachine/mgmt/2017-03-01-preview/sqlvirtualmachine/models.go @@ -272,6 +272,23 @@ func PossibleSQLWorkloadTypeValues() []SQLWorkloadType { return []SQLWorkloadType{DW, GENERAL, OLTP} } +// StorageWorkloadType enumerates the values for storage workload type. +type StorageWorkloadType string + +const ( + // StorageWorkloadTypeDW ... + StorageWorkloadTypeDW StorageWorkloadType = "DW" + // StorageWorkloadTypeGENERAL ... + StorageWorkloadTypeGENERAL StorageWorkloadType = "GENERAL" + // StorageWorkloadTypeOLTP ... + StorageWorkloadTypeOLTP StorageWorkloadType = "OLTP" +) + +// PossibleStorageWorkloadTypeValues returns an array of possible values for the StorageWorkloadType const type. +func PossibleStorageWorkloadTypeValues() []StorageWorkloadType { + return []StorageWorkloadType{StorageWorkloadTypeDW, StorageWorkloadTypeGENERAL, StorageWorkloadTypeOLTP} +} + // AdditionalFeaturesServerConfigurations additional SQL Server feature settings. type AdditionalFeaturesServerConfigurations struct { // IsRServicesEnabled - Enable or disable R services (SQL 2016 onwards). @@ -1348,6 +1365,8 @@ type Properties struct { KeyVaultCredentialSettings *KeyVaultCredentialSettings `json:"keyVaultCredentialSettings,omitempty"` // ServerConfigurationsManagementSettings - SQL Server configuration management settings. ServerConfigurationsManagementSettings *ServerConfigurationsManagementSettings `json:"serverConfigurationsManagementSettings,omitempty"` + // StorageConfigurationSettings - Storage Configuration Settings. + StorageConfigurationSettings *StorageConfigurationSettings `json:"storageConfigurationSettings,omitempty"` } // ProxyResource ARM proxy resource. @@ -1404,6 +1423,14 @@ type SQLConnectivityUpdateSettings struct { SQLAuthUpdatePassword *string `json:"sqlAuthUpdatePassword,omitempty"` } +// SQLStorageSettings set disk storage settings for SQL Server. +type SQLStorageSettings struct { + // Luns - Logical Unit Numbers for the disks. + Luns *[]int32 `json:"luns,omitempty"` + // DefaultFilePath - SQL Server default file path + DefaultFilePath *string `json:"defaultFilePath,omitempty"` +} + // SQLStorageUpdateSettings set disk storage settings for SQL Server. type SQLStorageUpdateSettings struct { // DiskCount - Virtual machine disk count. @@ -1616,6 +1643,20 @@ type SQLWorkloadTypeUpdateSettings struct { SQLWorkloadType SQLWorkloadType `json:"sqlWorkloadType,omitempty"` } +// StorageConfigurationSettings storage Configurations for SQL Data, Log and TempDb. +type StorageConfigurationSettings struct { + // SQLDataSettings - SQL Server Data Storage Settings. + SQLDataSettings *SQLStorageSettings `json:"sqlDataSettings,omitempty"` + // SQLLogSettings - SQL Server Log Storage Settings. + SQLLogSettings *SQLStorageSettings `json:"sqlLogSettings,omitempty"` + // SQLTempDbSettings - SQL Server TempDb Storage Settings. + SQLTempDbSettings *SQLStorageSettings `json:"sqlTempDbSettings,omitempty"` + // DiskConfigurationType - Disk configuration to apply to SQL Server. Possible values include: 'NEW', 'EXTEND', 'ADD' + DiskConfigurationType DiskConfigurationType `json:"diskConfigurationType,omitempty"` + // StorageWorkloadType - Storage workload type. Possible values include: 'StorageWorkloadTypeGENERAL', 'StorageWorkloadTypeOLTP', 'StorageWorkloadTypeDW' + StorageWorkloadType StorageWorkloadType `json:"storageWorkloadType,omitempty"` +} + // TrackedResource ARM tracked top level resource. type TrackedResource struct { // Location - Resource location. diff --git a/services/preview/sqlvirtualmachine/mgmt/2017-03-01-preview/sqlvirtualmachine/sqlvirtualmachineapi/interfaces.go b/services/preview/sqlvirtualmachine/mgmt/2017-03-01-preview/sqlvirtualmachine/sqlvirtualmachineapi/interfaces.go index 5b767f58666e..65cee379b0d0 100644 --- a/services/preview/sqlvirtualmachine/mgmt/2017-03-01-preview/sqlvirtualmachine/sqlvirtualmachineapi/interfaces.go +++ b/services/preview/sqlvirtualmachine/mgmt/2017-03-01-preview/sqlvirtualmachine/sqlvirtualmachineapi/interfaces.go @@ -58,6 +58,7 @@ type SQLVirtualMachinesClientAPI interface { Get(ctx context.Context, resourceGroupName string, SQLVirtualMachineName string, expand string) (result sqlvirtualmachine.SQLVirtualMachine, err error) List(ctx context.Context) (result sqlvirtualmachine.ListResultPage, err error) ListByResourceGroup(ctx context.Context, resourceGroupName string) (result sqlvirtualmachine.ListResultPage, err error) + ListBySQLVMGroup(ctx context.Context, resourceGroupName string, SQLVirtualMachineGroupName string) (result sqlvirtualmachine.ListResultPage, err error) Update(ctx context.Context, resourceGroupName string, SQLVirtualMachineName string, parameters sqlvirtualmachine.Update) (result sqlvirtualmachine.SQLVirtualMachinesUpdateFutureType, err error) } diff --git a/services/preview/sqlvirtualmachine/mgmt/2017-03-01-preview/sqlvirtualmachine/sqlvirtualmachines.go b/services/preview/sqlvirtualmachine/mgmt/2017-03-01-preview/sqlvirtualmachine/sqlvirtualmachines.go index a7e6269dfccc..67d4e85ecac2 100644 --- a/services/preview/sqlvirtualmachine/mgmt/2017-03-01-preview/sqlvirtualmachine/sqlvirtualmachines.go +++ b/services/preview/sqlvirtualmachine/mgmt/2017-03-01-preview/sqlvirtualmachine/sqlvirtualmachines.go @@ -507,6 +507,122 @@ func (client SQLVirtualMachinesClient) ListByResourceGroupComplete(ctx context.C return } +// ListBySQLVMGroup gets the list of sql virtual machines in a SQL virtual machine group. +// Parameters: +// resourceGroupName - name of the resource group that contains the resource. You can obtain this value from +// the Azure Resource Manager API or the portal. +// SQLVirtualMachineGroupName - name of the SQL virtual machine group. +func (client SQLVirtualMachinesClient) ListBySQLVMGroup(ctx context.Context, resourceGroupName string, SQLVirtualMachineGroupName string) (result ListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SQLVirtualMachinesClient.ListBySQLVMGroup") + defer func() { + sc := -1 + if result.lr.Response.Response != nil { + sc = result.lr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listBySQLVMGroupNextResults + req, err := client.ListBySQLVMGroupPreparer(ctx, resourceGroupName, SQLVirtualMachineGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "sqlvirtualmachine.SQLVirtualMachinesClient", "ListBySQLVMGroup", nil, "Failure preparing request") + return + } + + resp, err := client.ListBySQLVMGroupSender(req) + if err != nil { + result.lr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sqlvirtualmachine.SQLVirtualMachinesClient", "ListBySQLVMGroup", resp, "Failure sending request") + return + } + + result.lr, err = client.ListBySQLVMGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sqlvirtualmachine.SQLVirtualMachinesClient", "ListBySQLVMGroup", resp, "Failure responding to request") + } + + return +} + +// ListBySQLVMGroupPreparer prepares the ListBySQLVMGroup request. +func (client SQLVirtualMachinesClient) ListBySQLVMGroupPreparer(ctx context.Context, resourceGroupName string, SQLVirtualMachineGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "sqlVirtualMachineGroupName": autorest.Encode("path", SQLVirtualMachineGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-03-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SqlVirtualMachine/sqlVirtualMachineGroups/{sqlVirtualMachineGroupName}/sqlVirtualMachines", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListBySQLVMGroupSender sends the ListBySQLVMGroup request. The method will close the +// http.Response Body if it receives an error. +func (client SQLVirtualMachinesClient) ListBySQLVMGroupSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListBySQLVMGroupResponder handles the response to the ListBySQLVMGroup request. The method always +// closes the http.Response Body. +func (client SQLVirtualMachinesClient) ListBySQLVMGroupResponder(resp *http.Response) (result ListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listBySQLVMGroupNextResults retrieves the next set of results, if any. +func (client SQLVirtualMachinesClient) listBySQLVMGroupNextResults(ctx context.Context, lastResults ListResult) (result ListResult, err error) { + req, err := lastResults.listResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "sqlvirtualmachine.SQLVirtualMachinesClient", "listBySQLVMGroupNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListBySQLVMGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "sqlvirtualmachine.SQLVirtualMachinesClient", "listBySQLVMGroupNextResults", resp, "Failure sending next results request") + } + result, err = client.ListBySQLVMGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sqlvirtualmachine.SQLVirtualMachinesClient", "listBySQLVMGroupNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListBySQLVMGroupComplete enumerates all values, automatically crossing page boundaries as required. +func (client SQLVirtualMachinesClient) ListBySQLVMGroupComplete(ctx context.Context, resourceGroupName string, SQLVirtualMachineGroupName string) (result ListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SQLVirtualMachinesClient.ListBySQLVMGroup") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListBySQLVMGroup(ctx, resourceGroupName, SQLVirtualMachineGroupName) + return +} + // Update updates a SQL virtual machine. // Parameters: // resourceGroupName - name of the resource group that contains the resource. You can obtain this value from diff --git a/services/preview/storagecache/mgmt/2019-08-01-preview/storagecache/caches.go b/services/preview/storagecache/mgmt/2019-08-01-preview/storagecache/caches.go new file mode 100644 index 000000000000..d0f8741fd623 --- /dev/null +++ b/services/preview/storagecache/mgmt/2019-08-01-preview/storagecache/caches.go @@ -0,0 +1,951 @@ +package storagecache + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// CachesClient is the a Storage Cache provides scalable caching service for NAS clients, serving data from either +// NFSv3 or Blob at-rest storage (referred to as "Storage Targets"). These operations allow you to manage caches. +type CachesClient struct { + BaseClient +} + +// NewCachesClient creates an instance of the CachesClient client. +func NewCachesClient(subscriptionID string) CachesClient { + return NewCachesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewCachesClientWithBaseURI creates an instance of the CachesClient client. +func NewCachesClientWithBaseURI(baseURI string, subscriptionID string) CachesClient { + return CachesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// Create create/update a Cache instance. +// Parameters: +// resourceGroupName - target resource group. +// cacheName - name of cache. +// cache - object containing the user selectable properties of the new cache. If read-only properties are +// included, they must match the existing values of those properties. +func (client CachesClient) Create(ctx context.Context, resourceGroupName string, cacheName string, cache *Cache) (result CachesCreateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/CachesClient.Create") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: cacheName, + Constraints: []validation.Constraint{{Target: "cacheName", Name: validation.Pattern, Rule: `^[-0-9a-zA-Z_]{1,31}$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("storagecache.CachesClient", "Create", err.Error()) + } + + req, err := client.CreatePreparer(ctx, resourceGroupName, cacheName, cache) + if err != nil { + err = autorest.NewErrorWithError(err, "storagecache.CachesClient", "Create", nil, "Failure preparing request") + return + } + + result, err = client.CreateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "storagecache.CachesClient", "Create", result.Response(), "Failure sending request") + return + } + + return +} + +// CreatePreparer prepares the Create request. +func (client CachesClient) CreatePreparer(ctx context.Context, resourceGroupName string, cacheName string, cache *Cache) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "cacheName": autorest.Encode("path", cacheName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + cache.ID = nil + cache.Name = nil + cache.Type = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + if cache != nil { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithJSON(cache)) + } + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateSender sends the Create request. The method will close the +// http.Response Body if it receives an error. +func (client CachesClient) CreateSender(req *http.Request) (future CachesCreateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateResponder handles the response to the Create request. The method always +// closes the http.Response Body. +func (client CachesClient) CreateResponder(resp *http.Response) (result Cache, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete schedules a Cache for deletion. +// Parameters: +// resourceGroupName - target resource group. +// cacheName - name of cache. +func (client CachesClient) Delete(ctx context.Context, resourceGroupName string, cacheName string) (result CachesDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/CachesClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: cacheName, + Constraints: []validation.Constraint{{Target: "cacheName", Name: validation.Pattern, Rule: `^[-0-9a-zA-Z_]{1,31}$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("storagecache.CachesClient", "Delete", err.Error()) + } + + req, err := client.DeletePreparer(ctx, resourceGroupName, cacheName) + if err != nil { + err = autorest.NewErrorWithError(err, "storagecache.CachesClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "storagecache.CachesClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client CachesClient) DeletePreparer(ctx context.Context, resourceGroupName string, cacheName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "cacheName": autorest.Encode("path", cacheName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client CachesClient) DeleteSender(req *http.Request) (future CachesDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client CachesClient) DeleteResponder(resp *http.Response) (result SetObject, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Flush tells a cache to write all dirty data to the StorageTarget(s). During the flush, clients will see errors +// returned until the flush is complete. +// Parameters: +// resourceGroupName - target resource group. +// cacheName - name of cache. +func (client CachesClient) Flush(ctx context.Context, resourceGroupName string, cacheName string) (result CachesFlushFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/CachesClient.Flush") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: cacheName, + Constraints: []validation.Constraint{{Target: "cacheName", Name: validation.Pattern, Rule: `^[-0-9a-zA-Z_]{1,31}$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("storagecache.CachesClient", "Flush", err.Error()) + } + + req, err := client.FlushPreparer(ctx, resourceGroupName, cacheName) + if err != nil { + err = autorest.NewErrorWithError(err, "storagecache.CachesClient", "Flush", nil, "Failure preparing request") + return + } + + result, err = client.FlushSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "storagecache.CachesClient", "Flush", result.Response(), "Failure sending request") + return + } + + return +} + +// FlushPreparer prepares the Flush request. +func (client CachesClient) FlushPreparer(ctx context.Context, resourceGroupName string, cacheName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "cacheName": autorest.Encode("path", cacheName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}/flush", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// FlushSender sends the Flush request. The method will close the +// http.Response Body if it receives an error. +func (client CachesClient) FlushSender(req *http.Request) (future CachesFlushFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// FlushResponder handles the response to the Flush request. The method always +// closes the http.Response Body. +func (client CachesClient) FlushResponder(resp *http.Response) (result SetObject, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Get returns a Cache. +// Parameters: +// resourceGroupName - target resource group. +// cacheName - name of cache. +func (client CachesClient) Get(ctx context.Context, resourceGroupName string, cacheName string) (result Cache, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/CachesClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: cacheName, + Constraints: []validation.Constraint{{Target: "cacheName", Name: validation.Pattern, Rule: `^[-0-9a-zA-Z_]{1,31}$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("storagecache.CachesClient", "Get", err.Error()) + } + + req, err := client.GetPreparer(ctx, resourceGroupName, cacheName) + if err != nil { + err = autorest.NewErrorWithError(err, "storagecache.CachesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "storagecache.CachesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "storagecache.CachesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client CachesClient) GetPreparer(ctx context.Context, resourceGroupName string, cacheName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "cacheName": autorest.Encode("path", cacheName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client CachesClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client CachesClient) GetResponder(resp *http.Response) (result Cache, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List returns all Caches the user has access to under a subscription. +func (client CachesClient) List(ctx context.Context) (result CachesListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/CachesClient.List") + defer func() { + sc := -1 + if result.clr.Response.Response != nil { + sc = result.clr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "storagecache.CachesClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.clr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "storagecache.CachesClient", "List", resp, "Failure sending request") + return + } + + result.clr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "storagecache.CachesClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client CachesClient) ListPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.StorageCache/caches", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client CachesClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client CachesClient) ListResponder(resp *http.Response) (result CachesListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client CachesClient) listNextResults(ctx context.Context, lastResults CachesListResult) (result CachesListResult, err error) { + req, err := lastResults.cachesListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "storagecache.CachesClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "storagecache.CachesClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "storagecache.CachesClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client CachesClient) ListComplete(ctx context.Context) (result CachesListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/CachesClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx) + return +} + +// ListByResourceGroup returns all Caches the user has access to under a resource group and subscription. +// Parameters: +// resourceGroupName - target resource group. +func (client CachesClient) ListByResourceGroup(ctx context.Context, resourceGroupName string) (result CachesListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/CachesClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.clr.Response.Response != nil { + sc = result.clr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listByResourceGroupNextResults + req, err := client.ListByResourceGroupPreparer(ctx, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "storagecache.CachesClient", "ListByResourceGroup", nil, "Failure preparing request") + return + } + + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.clr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "storagecache.CachesClient", "ListByResourceGroup", resp, "Failure sending request") + return + } + + result.clr, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "storagecache.CachesClient", "ListByResourceGroup", resp, "Failure responding to request") + } + + return +} + +// ListByResourceGroupPreparer prepares the ListByResourceGroup request. +func (client CachesClient) ListByResourceGroupPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByResourceGroupSender sends the ListByResourceGroup request. The method will close the +// http.Response Body if it receives an error. +func (client CachesClient) ListByResourceGroupSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByResourceGroupResponder handles the response to the ListByResourceGroup request. The method always +// closes the http.Response Body. +func (client CachesClient) ListByResourceGroupResponder(resp *http.Response) (result CachesListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listByResourceGroupNextResults retrieves the next set of results, if any. +func (client CachesClient) listByResourceGroupNextResults(ctx context.Context, lastResults CachesListResult) (result CachesListResult, err error) { + req, err := lastResults.cachesListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "storagecache.CachesClient", "listByResourceGroupNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "storagecache.CachesClient", "listByResourceGroupNextResults", resp, "Failure sending next results request") + } + result, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "storagecache.CachesClient", "listByResourceGroupNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListByResourceGroupComplete enumerates all values, automatically crossing page boundaries as required. +func (client CachesClient) ListByResourceGroupComplete(ctx context.Context, resourceGroupName string) (result CachesListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/CachesClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListByResourceGroup(ctx, resourceGroupName) + return +} + +// Start tells a Stopped state cache to transition to Active state. +// Parameters: +// resourceGroupName - target resource group. +// cacheName - name of cache. +func (client CachesClient) Start(ctx context.Context, resourceGroupName string, cacheName string) (result CachesStartFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/CachesClient.Start") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: cacheName, + Constraints: []validation.Constraint{{Target: "cacheName", Name: validation.Pattern, Rule: `^[-0-9a-zA-Z_]{1,31}$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("storagecache.CachesClient", "Start", err.Error()) + } + + req, err := client.StartPreparer(ctx, resourceGroupName, cacheName) + if err != nil { + err = autorest.NewErrorWithError(err, "storagecache.CachesClient", "Start", nil, "Failure preparing request") + return + } + + result, err = client.StartSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "storagecache.CachesClient", "Start", result.Response(), "Failure sending request") + return + } + + return +} + +// StartPreparer prepares the Start request. +func (client CachesClient) StartPreparer(ctx context.Context, resourceGroupName string, cacheName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "cacheName": autorest.Encode("path", cacheName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}/start", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// StartSender sends the Start request. The method will close the +// http.Response Body if it receives an error. +func (client CachesClient) StartSender(req *http.Request) (future CachesStartFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// StartResponder handles the response to the Start request. The method always +// closes the http.Response Body. +func (client CachesClient) StartResponder(resp *http.Response) (result SetObject, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Stop tells an Active cache to transition to Stopped state. +// Parameters: +// resourceGroupName - target resource group. +// cacheName - name of cache. +func (client CachesClient) Stop(ctx context.Context, resourceGroupName string, cacheName string) (result CachesStopFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/CachesClient.Stop") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: cacheName, + Constraints: []validation.Constraint{{Target: "cacheName", Name: validation.Pattern, Rule: `^[-0-9a-zA-Z_]{1,31}$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("storagecache.CachesClient", "Stop", err.Error()) + } + + req, err := client.StopPreparer(ctx, resourceGroupName, cacheName) + if err != nil { + err = autorest.NewErrorWithError(err, "storagecache.CachesClient", "Stop", nil, "Failure preparing request") + return + } + + result, err = client.StopSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "storagecache.CachesClient", "Stop", result.Response(), "Failure sending request") + return + } + + return +} + +// StopPreparer prepares the Stop request. +func (client CachesClient) StopPreparer(ctx context.Context, resourceGroupName string, cacheName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "cacheName": autorest.Encode("path", cacheName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}/stop", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// StopSender sends the Stop request. The method will close the +// http.Response Body if it receives an error. +func (client CachesClient) StopSender(req *http.Request) (future CachesStopFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// StopResponder handles the response to the Stop request. The method always +// closes the http.Response Body. +func (client CachesClient) StopResponder(resp *http.Response) (result SetObject, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Update update a Cache instance. +// Parameters: +// resourceGroupName - target resource group. +// cacheName - name of cache. +// cache - object containing the user selectable properties of the new cache. If read-only properties are +// included, they must match the existing values of those properties. +func (client CachesClient) Update(ctx context.Context, resourceGroupName string, cacheName string, cache *Cache) (result Cache, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/CachesClient.Update") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: cacheName, + Constraints: []validation.Constraint{{Target: "cacheName", Name: validation.Pattern, Rule: `^[-0-9a-zA-Z_]{1,31}$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("storagecache.CachesClient", "Update", err.Error()) + } + + req, err := client.UpdatePreparer(ctx, resourceGroupName, cacheName, cache) + if err != nil { + err = autorest.NewErrorWithError(err, "storagecache.CachesClient", "Update", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "storagecache.CachesClient", "Update", resp, "Failure sending request") + return + } + + result, err = client.UpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "storagecache.CachesClient", "Update", resp, "Failure responding to request") + } + + return +} + +// UpdatePreparer prepares the Update request. +func (client CachesClient) UpdatePreparer(ctx context.Context, resourceGroupName string, cacheName string, cache *Cache) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "cacheName": autorest.Encode("path", cacheName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + cache.ID = nil + cache.Name = nil + cache.Type = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + if cache != nil { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithJSON(cache)) + } + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateSender sends the Update request. The method will close the +// http.Response Body if it receives an error. +func (client CachesClient) UpdateSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// UpdateResponder handles the response to the Update request. The method always +// closes the http.Response Body. +func (client CachesClient) UpdateResponder(resp *http.Response) (result Cache, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// UpgradeFirmware tells a cache to upgrade its firmware. +// Parameters: +// resourceGroupName - target resource group. +// cacheName - name of cache. +func (client CachesClient) UpgradeFirmware(ctx context.Context, resourceGroupName string, cacheName string) (result CachesUpgradeFirmwareFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/CachesClient.UpgradeFirmware") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: cacheName, + Constraints: []validation.Constraint{{Target: "cacheName", Name: validation.Pattern, Rule: `^[-0-9a-zA-Z_]{1,31}$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("storagecache.CachesClient", "UpgradeFirmware", err.Error()) + } + + req, err := client.UpgradeFirmwarePreparer(ctx, resourceGroupName, cacheName) + if err != nil { + err = autorest.NewErrorWithError(err, "storagecache.CachesClient", "UpgradeFirmware", nil, "Failure preparing request") + return + } + + result, err = client.UpgradeFirmwareSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "storagecache.CachesClient", "UpgradeFirmware", result.Response(), "Failure sending request") + return + } + + return +} + +// UpgradeFirmwarePreparer prepares the UpgradeFirmware request. +func (client CachesClient) UpgradeFirmwarePreparer(ctx context.Context, resourceGroupName string, cacheName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "cacheName": autorest.Encode("path", cacheName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}/upgrade", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpgradeFirmwareSender sends the UpgradeFirmware request. The method will close the +// http.Response Body if it receives an error. +func (client CachesClient) UpgradeFirmwareSender(req *http.Request) (future CachesUpgradeFirmwareFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// UpgradeFirmwareResponder handles the response to the UpgradeFirmware request. The method always +// closes the http.Response Body. +func (client CachesClient) UpgradeFirmwareResponder(resp *http.Response) (result SetObject, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/preview/storagecache/mgmt/2019-08-01-preview/storagecache/client.go b/services/preview/storagecache/mgmt/2019-08-01-preview/storagecache/client.go new file mode 100644 index 000000000000..1a9233396c35 --- /dev/null +++ b/services/preview/storagecache/mgmt/2019-08-01-preview/storagecache/client.go @@ -0,0 +1,52 @@ +// Package storagecache implements the Azure ARM Storagecache service API version 2019-08-01-preview. +// +// A Storage Cache provides scalable caching service for NAS clients, serving data from either NFSv3 or Blob at-rest +// storage (referred to as "Storage Targets"). These operations allow you to manage caches. +package storagecache + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" +) + +const ( + // DefaultBaseURI is the default URI used for the service Storagecache + DefaultBaseURI = "https://management.azure.com" +) + +// BaseClient is the base client for Storagecache. +type BaseClient struct { + autorest.Client + BaseURI string + SubscriptionID string +} + +// New creates an instance of the BaseClient client. +func New(subscriptionID string) BaseClient { + return NewWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewWithBaseURI creates an instance of the BaseClient client. +func NewWithBaseURI(baseURI string, subscriptionID string) BaseClient { + return BaseClient{ + Client: autorest.NewClientWithUserAgent(UserAgent()), + BaseURI: baseURI, + SubscriptionID: subscriptionID, + } +} diff --git a/services/preview/storagecache/mgmt/2019-08-01-preview/storagecache/models.go b/services/preview/storagecache/mgmt/2019-08-01-preview/storagecache/models.go new file mode 100644 index 000000000000..4e03e9612a70 --- /dev/null +++ b/services/preview/storagecache/mgmt/2019-08-01-preview/storagecache/models.go @@ -0,0 +1,1480 @@ +package storagecache + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "encoding/json" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/date" + "github.com/Azure/go-autorest/autorest/to" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// The package's fully qualified name. +const fqdn = "github.com/Azure/azure-sdk-for-go/services/preview/storagecache/mgmt/2019-08-01-preview/storagecache" + +// FirmwareStatusType enumerates the values for firmware status type. +type FirmwareStatusType string + +const ( + // Available ... + Available FirmwareStatusType = "available" + // Unavailable ... + Unavailable FirmwareStatusType = "unavailable" +) + +// PossibleFirmwareStatusTypeValues returns an array of possible values for the FirmwareStatusType const type. +func PossibleFirmwareStatusTypeValues() []FirmwareStatusType { + return []FirmwareStatusType{Available, Unavailable} +} + +// HealthStateType enumerates the values for health state type. +type HealthStateType string + +const ( + // Degraded ... + Degraded HealthStateType = "Degraded" + // Down ... + Down HealthStateType = "Down" + // Flushing ... + Flushing HealthStateType = "Flushing" + // Healthy ... + Healthy HealthStateType = "Healthy" + // Stopped ... + Stopped HealthStateType = "Stopped" + // Stopping ... + Stopping HealthStateType = "Stopping" + // Transitioning ... + Transitioning HealthStateType = "Transitioning" + // Unknown ... + Unknown HealthStateType = "Unknown" + // Upgrading ... + Upgrading HealthStateType = "Upgrading" +) + +// PossibleHealthStateTypeValues returns an array of possible values for the HealthStateType const type. +func PossibleHealthStateTypeValues() []HealthStateType { + return []HealthStateType{Degraded, Down, Flushing, Healthy, Stopped, Stopping, Transitioning, Unknown, Upgrading} +} + +// ProvisioningStateType enumerates the values for provisioning state type. +type ProvisioningStateType string + +const ( + // Cancelled ... + Cancelled ProvisioningStateType = "Cancelled" + // Creating ... + Creating ProvisioningStateType = "Creating" + // Deleting ... + Deleting ProvisioningStateType = "Deleting" + // Failed ... + Failed ProvisioningStateType = "Failed" + // Succeeded ... + Succeeded ProvisioningStateType = "Succeeded" + // Updating ... + Updating ProvisioningStateType = "Updating" +) + +// PossibleProvisioningStateTypeValues returns an array of possible values for the ProvisioningStateType const type. +func PossibleProvisioningStateTypeValues() []ProvisioningStateType { + return []ProvisioningStateType{Cancelled, Creating, Deleting, Failed, Succeeded, Updating} +} + +// ReasonCode enumerates the values for reason code. +type ReasonCode string + +const ( + // NotAvailableForSubscription ... + NotAvailableForSubscription ReasonCode = "NotAvailableForSubscription" + // QuotaID ... + QuotaID ReasonCode = "QuotaId" +) + +// PossibleReasonCodeValues returns an array of possible values for the ReasonCode const type. +func PossibleReasonCodeValues() []ReasonCode { + return []ReasonCode{NotAvailableForSubscription, QuotaID} +} + +// StorageTargetType enumerates the values for storage target type. +type StorageTargetType string + +const ( + // StorageTargetTypeClfs ... + StorageTargetTypeClfs StorageTargetType = "clfs" + // StorageTargetTypeNfs3 ... + StorageTargetTypeNfs3 StorageTargetType = "nfs3" + // StorageTargetTypeUnknown ... + StorageTargetTypeUnknown StorageTargetType = "unknown" +) + +// PossibleStorageTargetTypeValues returns an array of possible values for the StorageTargetType const type. +func PossibleStorageTargetTypeValues() []StorageTargetType { + return []StorageTargetType{StorageTargetTypeClfs, StorageTargetTypeNfs3, StorageTargetTypeUnknown} +} + +// APIOperation REST API operation description: see +// https://github.com/Azure/azure-rest-api-specs/blob/master/documentation/openapi-authoring-automated-guidelines.md#r3023-operationsapiimplementation +type APIOperation struct { + // Display - The object that represents the operation. + Display *APIOperationDisplay `json:"display,omitempty"` + // Name - Operation name: {provider}/{resource}/{operation} + Name *string `json:"name,omitempty"` +} + +// APIOperationDisplay the object that represents the operation. +type APIOperationDisplay struct { + // Operation - Operation type: Read, write, delete, etc. + Operation *string `json:"operation,omitempty"` + // Provider - Service provider: Microsoft.StorageCache + Provider *string `json:"provider,omitempty"` + // Resource - Resource on which the operation is performed: cache, etc. + Resource *string `json:"resource,omitempty"` +} + +// APIOperationListResult result of the request to list Resource Provider operations. It contains a list of +// operations and a URL link to get the next set of results. +type APIOperationListResult struct { + autorest.Response `json:"-"` + // NextLink - URL to get the next set of operation list results if there are any. + NextLink *string `json:"nextLink,omitempty"` + // Value - List of Resource Provider operations supported by the Microsoft.StorageCache resource provider. + Value *[]APIOperation `json:"value,omitempty"` +} + +// APIOperationListResultIterator provides access to a complete listing of APIOperation values. +type APIOperationListResultIterator struct { + i int + page APIOperationListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *APIOperationListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/APIOperationListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *APIOperationListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter APIOperationListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter APIOperationListResultIterator) Response() APIOperationListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter APIOperationListResultIterator) Value() APIOperation { + if !iter.page.NotDone() { + return APIOperation{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the APIOperationListResultIterator type. +func NewAPIOperationListResultIterator(page APIOperationListResultPage) APIOperationListResultIterator { + return APIOperationListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (aolr APIOperationListResult) IsEmpty() bool { + return aolr.Value == nil || len(*aolr.Value) == 0 +} + +// aPIOperationListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (aolr APIOperationListResult) aPIOperationListResultPreparer(ctx context.Context) (*http.Request, error) { + if aolr.NextLink == nil || len(to.String(aolr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(aolr.NextLink))) +} + +// APIOperationListResultPage contains a page of APIOperation values. +type APIOperationListResultPage struct { + fn func(context.Context, APIOperationListResult) (APIOperationListResult, error) + aolr APIOperationListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *APIOperationListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/APIOperationListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.aolr) + if err != nil { + return err + } + page.aolr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *APIOperationListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page APIOperationListResultPage) NotDone() bool { + return !page.aolr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page APIOperationListResultPage) Response() APIOperationListResult { + return page.aolr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page APIOperationListResultPage) Values() []APIOperation { + if page.aolr.IsEmpty() { + return nil + } + return *page.aolr.Value +} + +// Creates a new instance of the APIOperationListResultPage type. +func NewAPIOperationListResultPage(getNextPage func(context.Context, APIOperationListResult) (APIOperationListResult, error)) APIOperationListResultPage { + return APIOperationListResultPage{fn: getNextPage} +} + +// Cache a cache instance. Follows Azure Resource Manager standards: +// https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/resource-api-reference.md +type Cache struct { + autorest.Response `json:"-"` + // Tags - ARM tags as name/value pairs. + Tags interface{} `json:"tags,omitempty"` + // ID - READ-ONLY; Fully qualified URL of the cache. + ID *string `json:"id,omitempty"` + // Location - Region name string. + Location *string `json:"location,omitempty"` + // Name - READ-ONLY; Name of cache. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Type for the cache; Microsoft.StorageCache/Cache + Type *string `json:"type,omitempty"` + // CacheProperties - Properties for the cache. + *CacheProperties `json:"properties,omitempty"` + // Sku - Sku for the cache. + Sku *CacheSku `json:"sku,omitempty"` +} + +// MarshalJSON is the custom marshaler for Cache. +func (c Cache) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if c.Tags != nil { + objectMap["tags"] = c.Tags + } + if c.Location != nil { + objectMap["location"] = c.Location + } + if c.CacheProperties != nil { + objectMap["properties"] = c.CacheProperties + } + if c.Sku != nil { + objectMap["sku"] = c.Sku + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for Cache struct. +func (c *Cache) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "tags": + if v != nil { + var tags interface{} + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + c.Tags = tags + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + c.ID = &ID + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + c.Location = &location + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + c.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + c.Type = &typeVar + } + case "properties": + if v != nil { + var cacheProperties CacheProperties + err = json.Unmarshal(*v, &cacheProperties) + if err != nil { + return err + } + c.CacheProperties = &cacheProperties + } + case "sku": + if v != nil { + var sku CacheSku + err = json.Unmarshal(*v, &sku) + if err != nil { + return err + } + c.Sku = &sku + } + } + } + + return nil +} + +// CacheHealth an indication of cache health. Gives more information about health than just that related +// to provisioning. +type CacheHealth struct { + // State - List of cache health states. Possible values include: 'Unknown', 'Healthy', 'Degraded', 'Down', 'Transitioning', 'Stopping', 'Stopped', 'Upgrading', 'Flushing' + State HealthStateType `json:"state,omitempty"` + // StatusDescription - Describes explanation of state. + StatusDescription *string `json:"statusDescription,omitempty"` +} + +// CacheProperties properties for the cache. +type CacheProperties struct { + // CacheSizeGB - The size of this cache's cache, in GB. + CacheSizeGB *int32 `json:"cacheSizeGB,omitempty"` + // Health - READ-ONLY; Health of the cache. + Health *CacheHealth `json:"health,omitempty"` + // MountAddresses - READ-ONLY; Array of IP addresses that can be used by clients mounting this Cache. + MountAddresses *[]string `json:"mountAddresses,omitempty"` + // ProvisioningState - ARM provisioning state, see https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/Addendum.md#provisioningstate-property. Possible values include: 'Succeeded', 'Failed', 'Cancelled', 'Creating', 'Deleting', 'Updating' + ProvisioningState ProvisioningStateType `json:"provisioningState,omitempty"` + // Subnet - Subnet used for the cache. + Subnet *string `json:"subnet,omitempty"` + // UpgradeStatus - Upgrade status of the cache. + UpgradeStatus *CacheUpgradeStatus `json:"upgradeStatus,omitempty"` +} + +// CachesCreateFuture an abstraction for monitoring and retrieving the results of a long-running operation. +type CachesCreateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *CachesCreateFuture) Result(client CachesClient) (c Cache, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "storagecache.CachesCreateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("storagecache.CachesCreateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if c.Response.Response, err = future.GetResult(sender); err == nil && c.Response.Response.StatusCode != http.StatusNoContent { + c, err = client.CreateResponder(c.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "storagecache.CachesCreateFuture", "Result", c.Response.Response, "Failure responding to request") + } + } + return +} + +// CachesDeleteFuture an abstraction for monitoring and retrieving the results of a long-running operation. +type CachesDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *CachesDeleteFuture) Result(client CachesClient) (so SetObject, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "storagecache.CachesDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("storagecache.CachesDeleteFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if so.Response.Response, err = future.GetResult(sender); err == nil && so.Response.Response.StatusCode != http.StatusNoContent { + so, err = client.DeleteResponder(so.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "storagecache.CachesDeleteFuture", "Result", so.Response.Response, "Failure responding to request") + } + } + return +} + +// CachesFlushFuture an abstraction for monitoring and retrieving the results of a long-running operation. +type CachesFlushFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *CachesFlushFuture) Result(client CachesClient) (so SetObject, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "storagecache.CachesFlushFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("storagecache.CachesFlushFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if so.Response.Response, err = future.GetResult(sender); err == nil && so.Response.Response.StatusCode != http.StatusNoContent { + so, err = client.FlushResponder(so.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "storagecache.CachesFlushFuture", "Result", so.Response.Response, "Failure responding to request") + } + } + return +} + +// CacheSku sku for the cache. +type CacheSku struct { + // Name - Sku name for this cache. + Name *string `json:"name,omitempty"` +} + +// CachesListResult result of the request to list caches. It contains a list of caches and a URL link to +// get the next set of results. +type CachesListResult struct { + autorest.Response `json:"-"` + // NextLink - URL to get the next set of cache list results if there are any. + NextLink *string `json:"nextLink,omitempty"` + // Value - List of caches. + Value *[]Cache `json:"value,omitempty"` +} + +// CachesListResultIterator provides access to a complete listing of Cache values. +type CachesListResultIterator struct { + i int + page CachesListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *CachesListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/CachesListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *CachesListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter CachesListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter CachesListResultIterator) Response() CachesListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter CachesListResultIterator) Value() Cache { + if !iter.page.NotDone() { + return Cache{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the CachesListResultIterator type. +func NewCachesListResultIterator(page CachesListResultPage) CachesListResultIterator { + return CachesListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (clr CachesListResult) IsEmpty() bool { + return clr.Value == nil || len(*clr.Value) == 0 +} + +// cachesListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (clr CachesListResult) cachesListResultPreparer(ctx context.Context) (*http.Request, error) { + if clr.NextLink == nil || len(to.String(clr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(clr.NextLink))) +} + +// CachesListResultPage contains a page of Cache values. +type CachesListResultPage struct { + fn func(context.Context, CachesListResult) (CachesListResult, error) + clr CachesListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *CachesListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/CachesListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.clr) + if err != nil { + return err + } + page.clr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *CachesListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page CachesListResultPage) NotDone() bool { + return !page.clr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page CachesListResultPage) Response() CachesListResult { + return page.clr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page CachesListResultPage) Values() []Cache { + if page.clr.IsEmpty() { + return nil + } + return *page.clr.Value +} + +// Creates a new instance of the CachesListResultPage type. +func NewCachesListResultPage(getNextPage func(context.Context, CachesListResult) (CachesListResult, error)) CachesListResultPage { + return CachesListResultPage{fn: getNextPage} +} + +// CachesStartFuture an abstraction for monitoring and retrieving the results of a long-running operation. +type CachesStartFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *CachesStartFuture) Result(client CachesClient) (so SetObject, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "storagecache.CachesStartFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("storagecache.CachesStartFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if so.Response.Response, err = future.GetResult(sender); err == nil && so.Response.Response.StatusCode != http.StatusNoContent { + so, err = client.StartResponder(so.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "storagecache.CachesStartFuture", "Result", so.Response.Response, "Failure responding to request") + } + } + return +} + +// CachesStopFuture an abstraction for monitoring and retrieving the results of a long-running operation. +type CachesStopFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *CachesStopFuture) Result(client CachesClient) (so SetObject, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "storagecache.CachesStopFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("storagecache.CachesStopFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if so.Response.Response, err = future.GetResult(sender); err == nil && so.Response.Response.StatusCode != http.StatusNoContent { + so, err = client.StopResponder(so.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "storagecache.CachesStopFuture", "Result", so.Response.Response, "Failure responding to request") + } + } + return +} + +// CachesUpgradeFirmwareFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type CachesUpgradeFirmwareFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *CachesUpgradeFirmwareFuture) Result(client CachesClient) (so SetObject, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "storagecache.CachesUpgradeFirmwareFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("storagecache.CachesUpgradeFirmwareFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if so.Response.Response, err = future.GetResult(sender); err == nil && so.Response.Response.StatusCode != http.StatusNoContent { + so, err = client.UpgradeFirmwareResponder(so.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "storagecache.CachesUpgradeFirmwareFuture", "Result", so.Response.Response, "Failure responding to request") + } + } + return +} + +// CacheUpgradeStatus properties describing the software upgrade state of the cache +type CacheUpgradeStatus struct { + // CurrentFirmwareVersion - READ-ONLY; Version string of the firmware currently installed on this cache. + CurrentFirmwareVersion *string `json:"currentFirmwareVersion,omitempty"` + // FirmwareUpdateStatus - READ-ONLY; True if there is a firmware update ready to install on this cache. The firmware will automatically be installed after firmwareUpdateDeadline if not triggered earlier via the upgrade operation. Possible values include: 'Available', 'Unavailable' + FirmwareUpdateStatus FirmwareStatusType `json:"firmwareUpdateStatus,omitempty"` + // FirmwareUpdateDeadline - READ-ONLY; Time at which the pending firmware update will automatically be installed on the cache. + FirmwareUpdateDeadline *date.Time `json:"firmwareUpdateDeadline,omitempty"` + // LastFirmwareUpdate - READ-ONLY; Time of the last successful firmware update. + LastFirmwareUpdate *date.Time `json:"lastFirmwareUpdate,omitempty"` + // PendingFirmwareVersion - READ-ONLY; When firmwareUpdateAvailable is true, this field holds the version string for the update. + PendingFirmwareVersion *string `json:"pendingFirmwareVersion,omitempty"` +} + +// ClfsTarget storage container for use as a CLFS StorageTarget. +type ClfsTarget struct { + // Target - URL of storage container. + Target *string `json:"target,omitempty"` +} + +// CloudError an error response. +type CloudError struct { + // Error - The body of the error. + Error *CloudErrorBody `json:"error,omitempty"` +} + +// CloudErrorBody an error response. +type CloudErrorBody struct { + // Code - An identifier for the error. Codes are invariant and are intended to be consumed programmatically. + Code *string `json:"code,omitempty"` + // Details - A list of additional details about the error. + Details *[]CloudErrorBody `json:"details,omitempty"` + // Message - A message describing the error, intended to be suitable for display in a user interface. + Message *string `json:"message,omitempty"` + // Target - The target of the particular error. For example, the name of the property in error. + Target *string `json:"target,omitempty"` +} + +// NamespaceJunction a namespace junction. +type NamespaceJunction struct { + // NamespacePath - Namespace path on a cache for a storage target. + NamespacePath *string `json:"namespacePath,omitempty"` + // TargetPath - Path in storage target to which namespacePath points. + TargetPath *string `json:"targetPath,omitempty"` + // NfsExport - NFS export where targetPath exists. + NfsExport *string `json:"nfsExport,omitempty"` +} + +// Nfs3Target an NFS mount point for use as a StorageTarget. +type Nfs3Target struct { + // Target - IP or name of an NFS Storage Target host, ie: 10.0.44.44 + Target *string `json:"target,omitempty"` + // UsageModel - Identifies the primary usage model to be used for this storage target. GET choices from .../usageModels + UsageModel *string `json:"usageModel,omitempty"` +} + +// ResourceSku a resource SKU +type ResourceSku struct { + // ResourceType - READ-ONLY; The type of resource the sku applies to. + ResourceType *string `json:"resourceType,omitempty"` + // Capabilities - A list of capabilities of this SKU, such as throughput or ops/sec + Capabilities *[]ResourceSkuCapabilities `json:"capabilities,omitempty"` + // Locations - READ-ONLY; The set of locations that the SKU is available. This will be supported and registered Azure Geo Regions (e.g. West US, East US, Southeast Asia, etc.). + Locations *[]string `json:"locations,omitempty"` + // LocationInfo - The set of locations that the SKU is available. + LocationInfo *[]ResourceSkuLocationInfo `json:"locationInfo,omitempty"` + // Name - The name of this sku. + Name *string `json:"name,omitempty"` + // Restrictions - The restrictions because of which SKU cannot be used. This is empty if there are no restrictions. + Restrictions *[]Restriction `json:"restrictions,omitempty"` +} + +// ResourceSkuCapabilities a resource SKU capability. +type ResourceSkuCapabilities struct { + // Name - Name of a capability, such as ops/sec + Name *string `json:"name,omitempty"` + // Value - Quantity, if the capability is measured by quantity + Value *string `json:"value,omitempty"` +} + +// ResourceSkuLocationInfo resource SKU location information. +type ResourceSkuLocationInfo struct { + // Location - Location where this Sku is available + Location *string `json:"location,omitempty"` + // Zones - Zones if any. + Zones *[]string `json:"zones,omitempty"` +} + +// ResourceSkusResult the response from the List Cache SKUs operation. +type ResourceSkusResult struct { + autorest.Response `json:"-"` + // NextLink - The uri to fetch the next page of cache Skus. + NextLink *string `json:"nextLink,omitempty"` + // Value - READ-ONLY; The list of skus available for the subscription. + Value *[]ResourceSku `json:"value,omitempty"` +} + +// ResourceSkusResultIterator provides access to a complete listing of ResourceSku values. +type ResourceSkusResultIterator struct { + i int + page ResourceSkusResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *ResourceSkusResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ResourceSkusResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *ResourceSkusResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter ResourceSkusResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter ResourceSkusResultIterator) Response() ResourceSkusResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter ResourceSkusResultIterator) Value() ResourceSku { + if !iter.page.NotDone() { + return ResourceSku{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the ResourceSkusResultIterator type. +func NewResourceSkusResultIterator(page ResourceSkusResultPage) ResourceSkusResultIterator { + return ResourceSkusResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (rsr ResourceSkusResult) IsEmpty() bool { + return rsr.Value == nil || len(*rsr.Value) == 0 +} + +// resourceSkusResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (rsr ResourceSkusResult) resourceSkusResultPreparer(ctx context.Context) (*http.Request, error) { + if rsr.NextLink == nil || len(to.String(rsr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(rsr.NextLink))) +} + +// ResourceSkusResultPage contains a page of ResourceSku values. +type ResourceSkusResultPage struct { + fn func(context.Context, ResourceSkusResult) (ResourceSkusResult, error) + rsr ResourceSkusResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *ResourceSkusResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ResourceSkusResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.rsr) + if err != nil { + return err + } + page.rsr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *ResourceSkusResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page ResourceSkusResultPage) NotDone() bool { + return !page.rsr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page ResourceSkusResultPage) Response() ResourceSkusResult { + return page.rsr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page ResourceSkusResultPage) Values() []ResourceSku { + if page.rsr.IsEmpty() { + return nil + } + return *page.rsr.Value +} + +// Creates a new instance of the ResourceSkusResultPage type. +func NewResourceSkusResultPage(getNextPage func(context.Context, ResourceSkusResult) (ResourceSkusResult, error)) ResourceSkusResultPage { + return ResourceSkusResultPage{fn: getNextPage} +} + +// Restriction the restriction because of which SKU cannot be used. +type Restriction struct { + // Type - READ-ONLY; The type of restrictions. As of now only possible value for this is location. + Type *string `json:"type,omitempty"` + // Values - READ-ONLY; The value of restrictions. If the restriction type is set to location. This would be different locations where the SKU is restricted. + Values *[]string `json:"values,omitempty"` + // ReasonCode - The reason for the restriction. As of now this can be "QuotaId" or "NotAvailableForSubscription". Quota Id is set when the SKU has requiredQuotas parameter as the subscription does not belong to that quota. The "NotAvailableForSubscription" is related to capacity at DC. Possible values include: 'QuotaID', 'NotAvailableForSubscription' + ReasonCode ReasonCode `json:"reasonCode,omitempty"` +} + +// SetObject ... +type SetObject struct { + autorest.Response `json:"-"` + Value interface{} `json:"value,omitempty"` +} + +// StorageTarget a storage system being cached by a Cache. +type StorageTarget struct { + autorest.Response `json:"-"` + // Name - READ-ONLY; A fully qualified URL. + Name *string `json:"name,omitempty"` + // ID - READ-ONLY; Resource Id + ID *string `json:"id,omitempty"` + // Type - READ-ONLY; Type for the storage target; Microsoft.StorageCache/Cache/StorageTarget + Type *string `json:"type,omitempty"` + // StorageTargetProperties - Properties of the storage target. + *StorageTargetProperties `json:"properties,omitempty"` +} + +// MarshalJSON is the custom marshaler for StorageTarget. +func (st StorageTarget) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if st.StorageTargetProperties != nil { + objectMap["properties"] = st.StorageTargetProperties + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for StorageTarget struct. +func (st *StorageTarget) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + st.Name = &name + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + st.ID = &ID + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + st.Type = &typeVar + } + case "properties": + if v != nil { + var storageTargetProperties StorageTargetProperties + err = json.Unmarshal(*v, &storageTargetProperties) + if err != nil { + return err + } + st.StorageTargetProperties = &storageTargetProperties + } + } + } + + return nil +} + +// StorageTargetProperties properties of the storage target. +type StorageTargetProperties struct { + // Junctions - List of cache namespace to target namespace associations. + Junctions *[]NamespaceJunction `json:"junctions,omitempty"` + // TargetType - Type for storage target. Possible values include: 'StorageTargetTypeNfs3', 'StorageTargetTypeClfs', 'StorageTargetTypeUnknown' + TargetType StorageTargetType `json:"targetType,omitempty"` + // ProvisioningState - ARM provisioning state, see https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/Addendum.md#provisioningstate-property. Possible values include: 'Succeeded', 'Failed', 'Cancelled', 'Creating', 'Deleting', 'Updating' + ProvisioningState ProvisioningStateType `json:"provisioningState,omitempty"` + // Nfs3 - Properties when nfs3 target. + Nfs3 *Nfs3Target `json:"nfs3,omitempty"` + // Clfs - Properties when clfs target. + Clfs *ClfsTarget `json:"clfs,omitempty"` + // Unknown - Properties when unknown target. + Unknown *UnknownTarget `json:"unknown,omitempty"` +} + +// StorageTargetsCreateFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type StorageTargetsCreateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *StorageTargetsCreateFuture) Result(client StorageTargetsClient) (st StorageTarget, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "storagecache.StorageTargetsCreateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("storagecache.StorageTargetsCreateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if st.Response.Response, err = future.GetResult(sender); err == nil && st.Response.Response.StatusCode != http.StatusNoContent { + st, err = client.CreateResponder(st.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "storagecache.StorageTargetsCreateFuture", "Result", st.Response.Response, "Failure responding to request") + } + } + return +} + +// StorageTargetsDeleteFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type StorageTargetsDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *StorageTargetsDeleteFuture) Result(client StorageTargetsClient) (so SetObject, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "storagecache.StorageTargetsDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("storagecache.StorageTargetsDeleteFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if so.Response.Response, err = future.GetResult(sender); err == nil && so.Response.Response.StatusCode != http.StatusNoContent { + so, err = client.DeleteResponder(so.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "storagecache.StorageTargetsDeleteFuture", "Result", so.Response.Response, "Failure responding to request") + } + } + return +} + +// StorageTargetsResult a list of storage targets. +type StorageTargetsResult struct { + autorest.Response `json:"-"` + // NextLink - The uri to fetch the next page of storage targets. + NextLink *string `json:"nextLink,omitempty"` + // Value - The list of storage targets defined for the cache. + Value *[]StorageTarget `json:"value,omitempty"` +} + +// StorageTargetsResultIterator provides access to a complete listing of StorageTarget values. +type StorageTargetsResultIterator struct { + i int + page StorageTargetsResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *StorageTargetsResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/StorageTargetsResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *StorageTargetsResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter StorageTargetsResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter StorageTargetsResultIterator) Response() StorageTargetsResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter StorageTargetsResultIterator) Value() StorageTarget { + if !iter.page.NotDone() { + return StorageTarget{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the StorageTargetsResultIterator type. +func NewStorageTargetsResultIterator(page StorageTargetsResultPage) StorageTargetsResultIterator { + return StorageTargetsResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (str StorageTargetsResult) IsEmpty() bool { + return str.Value == nil || len(*str.Value) == 0 +} + +// storageTargetsResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (str StorageTargetsResult) storageTargetsResultPreparer(ctx context.Context) (*http.Request, error) { + if str.NextLink == nil || len(to.String(str.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(str.NextLink))) +} + +// StorageTargetsResultPage contains a page of StorageTarget values. +type StorageTargetsResultPage struct { + fn func(context.Context, StorageTargetsResult) (StorageTargetsResult, error) + str StorageTargetsResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *StorageTargetsResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/StorageTargetsResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.str) + if err != nil { + return err + } + page.str = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *StorageTargetsResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page StorageTargetsResultPage) NotDone() bool { + return !page.str.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page StorageTargetsResultPage) Response() StorageTargetsResult { + return page.str +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page StorageTargetsResultPage) Values() []StorageTarget { + if page.str.IsEmpty() { + return nil + } + return *page.str.Value +} + +// Creates a new instance of the StorageTargetsResultPage type. +func NewStorageTargetsResultPage(getNextPage func(context.Context, StorageTargetsResult) (StorageTargetsResult, error)) StorageTargetsResultPage { + return StorageTargetsResultPage{fn: getNextPage} +} + +// UnknownTarget storage container for use as a Unknown StorageTarget. +type UnknownTarget struct { + // UnknownMap - Dictionary of string->string pairs containing information about the StorageTarget. + UnknownMap map[string]*string `json:"unknownMap"` +} + +// MarshalJSON is the custom marshaler for UnknownTarget. +func (ut UnknownTarget) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if ut.UnknownMap != nil { + objectMap["unknownMap"] = ut.UnknownMap + } + return json.Marshal(objectMap) +} + +// UsageModel a usage model. +type UsageModel struct { + // Display - Localized information describing this usage model. + Display *UsageModelDisplay `json:"display,omitempty"` + // ModelName - Non localized keyword naming this usage model. + ModelName *string `json:"modelName,omitempty"` + // TargetType - The type of Storage Target to which this model is applicable (only nfs for now) + TargetType *string `json:"targetType,omitempty"` +} + +// UsageModelDisplay localized information describing this usage model. +type UsageModelDisplay struct { + // Description - String to display for this usage model. + Description *string `json:"description,omitempty"` +} + +// UsageModelsResult a list of cache usage models. +type UsageModelsResult struct { + autorest.Response `json:"-"` + // NextLink - The uri to fetch the next page of cache usage models. + NextLink *string `json:"nextLink,omitempty"` + // Value - The list of usage models available for the subscription. + Value *[]UsageModel `json:"value,omitempty"` +} + +// UsageModelsResultIterator provides access to a complete listing of UsageModel values. +type UsageModelsResultIterator struct { + i int + page UsageModelsResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *UsageModelsResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/UsageModelsResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *UsageModelsResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter UsageModelsResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter UsageModelsResultIterator) Response() UsageModelsResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter UsageModelsResultIterator) Value() UsageModel { + if !iter.page.NotDone() { + return UsageModel{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the UsageModelsResultIterator type. +func NewUsageModelsResultIterator(page UsageModelsResultPage) UsageModelsResultIterator { + return UsageModelsResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (umr UsageModelsResult) IsEmpty() bool { + return umr.Value == nil || len(*umr.Value) == 0 +} + +// usageModelsResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (umr UsageModelsResult) usageModelsResultPreparer(ctx context.Context) (*http.Request, error) { + if umr.NextLink == nil || len(to.String(umr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(umr.NextLink))) +} + +// UsageModelsResultPage contains a page of UsageModel values. +type UsageModelsResultPage struct { + fn func(context.Context, UsageModelsResult) (UsageModelsResult, error) + umr UsageModelsResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *UsageModelsResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/UsageModelsResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.umr) + if err != nil { + return err + } + page.umr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *UsageModelsResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page UsageModelsResultPage) NotDone() bool { + return !page.umr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page UsageModelsResultPage) Response() UsageModelsResult { + return page.umr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page UsageModelsResultPage) Values() []UsageModel { + if page.umr.IsEmpty() { + return nil + } + return *page.umr.Value +} + +// Creates a new instance of the UsageModelsResultPage type. +func NewUsageModelsResultPage(getNextPage func(context.Context, UsageModelsResult) (UsageModelsResult, error)) UsageModelsResultPage { + return UsageModelsResultPage{fn: getNextPage} +} diff --git a/services/preview/storagecache/mgmt/2019-08-01-preview/storagecache/operations.go b/services/preview/storagecache/mgmt/2019-08-01-preview/storagecache/operations.go new file mode 100644 index 000000000000..56a2449617fb --- /dev/null +++ b/services/preview/storagecache/mgmt/2019-08-01-preview/storagecache/operations.go @@ -0,0 +1,148 @@ +package storagecache + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// OperationsClient is the a Storage Cache provides scalable caching service for NAS clients, serving data from either +// NFSv3 or Blob at-rest storage (referred to as "Storage Targets"). These operations allow you to manage caches. +type OperationsClient struct { + BaseClient +} + +// NewOperationsClient creates an instance of the OperationsClient client. +func NewOperationsClient(subscriptionID string) OperationsClient { + return NewOperationsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewOperationsClientWithBaseURI creates an instance of the OperationsClient client. +func NewOperationsClientWithBaseURI(baseURI string, subscriptionID string) OperationsClient { + return OperationsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// List lists all of the available RP operations. +func (client OperationsClient) List(ctx context.Context) (result APIOperationListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/OperationsClient.List") + defer func() { + sc := -1 + if result.aolr.Response.Response != nil { + sc = result.aolr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "storagecache.OperationsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.aolr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "storagecache.OperationsClient", "List", resp, "Failure sending request") + return + } + + result.aolr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "storagecache.OperationsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client OperationsClient) ListPreparer(ctx context.Context) (*http.Request, error) { + const APIVersion = "2019-08-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPath("/providers/Microsoft.StorageCache/operations"), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client OperationsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client OperationsClient) ListResponder(resp *http.Response) (result APIOperationListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client OperationsClient) listNextResults(ctx context.Context, lastResults APIOperationListResult) (result APIOperationListResult, err error) { + req, err := lastResults.aPIOperationListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "storagecache.OperationsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "storagecache.OperationsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "storagecache.OperationsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client OperationsClient) ListComplete(ctx context.Context) (result APIOperationListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/OperationsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx) + return +} diff --git a/services/preview/storagecache/mgmt/2019-08-01-preview/storagecache/skus.go b/services/preview/storagecache/mgmt/2019-08-01-preview/storagecache/skus.go new file mode 100644 index 000000000000..4bc65998a2a0 --- /dev/null +++ b/services/preview/storagecache/mgmt/2019-08-01-preview/storagecache/skus.go @@ -0,0 +1,152 @@ +package storagecache + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// SkusClient is the a Storage Cache provides scalable caching service for NAS clients, serving data from either NFSv3 +// or Blob at-rest storage (referred to as "Storage Targets"). These operations allow you to manage caches. +type SkusClient struct { + BaseClient +} + +// NewSkusClient creates an instance of the SkusClient client. +func NewSkusClient(subscriptionID string) SkusClient { + return NewSkusClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewSkusClientWithBaseURI creates an instance of the SkusClient client. +func NewSkusClientWithBaseURI(baseURI string, subscriptionID string) SkusClient { + return SkusClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// List get the list of StorageCache.Cache SKUs available to this subscription. +func (client SkusClient) List(ctx context.Context) (result ResourceSkusResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SkusClient.List") + defer func() { + sc := -1 + if result.rsr.Response.Response != nil { + sc = result.rsr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "storagecache.SkusClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.rsr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "storagecache.SkusClient", "List", resp, "Failure sending request") + return + } + + result.rsr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "storagecache.SkusClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client SkusClient) ListPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.StorageCache/skus", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client SkusClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client SkusClient) ListResponder(resp *http.Response) (result ResourceSkusResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client SkusClient) listNextResults(ctx context.Context, lastResults ResourceSkusResult) (result ResourceSkusResult, err error) { + req, err := lastResults.resourceSkusResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "storagecache.SkusClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "storagecache.SkusClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "storagecache.SkusClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client SkusClient) ListComplete(ctx context.Context) (result ResourceSkusResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SkusClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx) + return +} diff --git a/services/preview/storagecache/mgmt/2019-08-01-preview/storagecache/storagecacheapi/interfaces.go b/services/preview/storagecache/mgmt/2019-08-01-preview/storagecache/storagecacheapi/interfaces.go new file mode 100644 index 000000000000..08b703df369e --- /dev/null +++ b/services/preview/storagecache/mgmt/2019-08-01-preview/storagecache/storagecacheapi/interfaces.go @@ -0,0 +1,71 @@ +package storagecacheapi + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/azure-sdk-for-go/services/preview/storagecache/mgmt/2019-08-01-preview/storagecache" +) + +// OperationsClientAPI contains the set of methods on the OperationsClient type. +type OperationsClientAPI interface { + List(ctx context.Context) (result storagecache.APIOperationListResultPage, err error) +} + +var _ OperationsClientAPI = (*storagecache.OperationsClient)(nil) + +// SkusClientAPI contains the set of methods on the SkusClient type. +type SkusClientAPI interface { + List(ctx context.Context) (result storagecache.ResourceSkusResultPage, err error) +} + +var _ SkusClientAPI = (*storagecache.SkusClient)(nil) + +// UsageModelsClientAPI contains the set of methods on the UsageModelsClient type. +type UsageModelsClientAPI interface { + List(ctx context.Context) (result storagecache.UsageModelsResultPage, err error) +} + +var _ UsageModelsClientAPI = (*storagecache.UsageModelsClient)(nil) + +// CachesClientAPI contains the set of methods on the CachesClient type. +type CachesClientAPI interface { + Create(ctx context.Context, resourceGroupName string, cacheName string, cache *storagecache.Cache) (result storagecache.CachesCreateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, cacheName string) (result storagecache.CachesDeleteFuture, err error) + Flush(ctx context.Context, resourceGroupName string, cacheName string) (result storagecache.CachesFlushFuture, err error) + Get(ctx context.Context, resourceGroupName string, cacheName string) (result storagecache.Cache, err error) + List(ctx context.Context) (result storagecache.CachesListResultPage, err error) + ListByResourceGroup(ctx context.Context, resourceGroupName string) (result storagecache.CachesListResultPage, err error) + Start(ctx context.Context, resourceGroupName string, cacheName string) (result storagecache.CachesStartFuture, err error) + Stop(ctx context.Context, resourceGroupName string, cacheName string) (result storagecache.CachesStopFuture, err error) + Update(ctx context.Context, resourceGroupName string, cacheName string, cache *storagecache.Cache) (result storagecache.Cache, err error) + UpgradeFirmware(ctx context.Context, resourceGroupName string, cacheName string) (result storagecache.CachesUpgradeFirmwareFuture, err error) +} + +var _ CachesClientAPI = (*storagecache.CachesClient)(nil) + +// StorageTargetsClientAPI contains the set of methods on the StorageTargetsClient type. +type StorageTargetsClientAPI interface { + Create(ctx context.Context, resourceGroupName string, cacheName string, storageTargetName string, storagetarget *storagecache.StorageTarget) (result storagecache.StorageTargetsCreateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, cacheName string, storageTargetName string) (result storagecache.StorageTargetsDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, cacheName string, storageTargetName string) (result storagecache.StorageTarget, err error) + ListByCache(ctx context.Context, resourceGroupName string, cacheName string) (result storagecache.StorageTargetsResultPage, err error) + Update(ctx context.Context, resourceGroupName string, cacheName string, storageTargetName string, storagetarget *storagecache.StorageTarget) (result storagecache.StorageTarget, err error) +} + +var _ StorageTargetsClientAPI = (*storagecache.StorageTargetsClient)(nil) diff --git a/services/preview/storagecache/mgmt/2019-08-01-preview/storagecache/storagetargets.go b/services/preview/storagecache/mgmt/2019-08-01-preview/storagecache/storagetargets.go new file mode 100644 index 000000000000..18ef27d16dd5 --- /dev/null +++ b/services/preview/storagecache/mgmt/2019-08-01-preview/storagecache/storagetargets.go @@ -0,0 +1,543 @@ +package storagecache + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// StorageTargetsClient is the a Storage Cache provides scalable caching service for NAS clients, serving data from +// either NFSv3 or Blob at-rest storage (referred to as "Storage Targets"). These operations allow you to manage +// caches. +type StorageTargetsClient struct { + BaseClient +} + +// NewStorageTargetsClient creates an instance of the StorageTargetsClient client. +func NewStorageTargetsClient(subscriptionID string) StorageTargetsClient { + return NewStorageTargetsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewStorageTargetsClientWithBaseURI creates an instance of the StorageTargetsClient client. +func NewStorageTargetsClientWithBaseURI(baseURI string, subscriptionID string) StorageTargetsClient { + return StorageTargetsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// Create create/update a storage target. This operation is allowed at any time, but if the cache is down or +// unhealthy, the actual creation/modification of the storage target may be delayed until the cache is healthy again. +// Parameters: +// resourceGroupName - target resource group. +// cacheName - name of cache. +// storageTargetName - name of storage target. +// storagetarget - object containing the definition of a storage target. +func (client StorageTargetsClient) Create(ctx context.Context, resourceGroupName string, cacheName string, storageTargetName string, storagetarget *StorageTarget) (result StorageTargetsCreateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/StorageTargetsClient.Create") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: cacheName, + Constraints: []validation.Constraint{{Target: "cacheName", Name: validation.Pattern, Rule: `^[-0-9a-zA-Z_]{1,31}$`, Chain: nil}}}, + {TargetValue: storageTargetName, + Constraints: []validation.Constraint{{Target: "storageTargetName", Name: validation.Pattern, Rule: `^[-0-9a-zA-Z_]{1,31}$`, Chain: nil}}}, + {TargetValue: storagetarget, + Constraints: []validation.Constraint{{Target: "storagetarget", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "storagetarget.StorageTargetProperties", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "storagetarget.StorageTargetProperties.Nfs3", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "storagetarget.StorageTargetProperties.Nfs3.Target", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "storagetarget.StorageTargetProperties.Nfs3.Target", Name: validation.Pattern, Rule: `^[-.0-9a-zA-Z]+$`, Chain: nil}}}, + }}, + }}, + }}}}}); err != nil { + return result, validation.NewError("storagecache.StorageTargetsClient", "Create", err.Error()) + } + + req, err := client.CreatePreparer(ctx, resourceGroupName, cacheName, storageTargetName, storagetarget) + if err != nil { + err = autorest.NewErrorWithError(err, "storagecache.StorageTargetsClient", "Create", nil, "Failure preparing request") + return + } + + result, err = client.CreateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "storagecache.StorageTargetsClient", "Create", result.Response(), "Failure sending request") + return + } + + return +} + +// CreatePreparer prepares the Create request. +func (client StorageTargetsClient) CreatePreparer(ctx context.Context, resourceGroupName string, cacheName string, storageTargetName string, storagetarget *StorageTarget) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "cacheName": autorest.Encode("path", cacheName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "storageTargetName": autorest.Encode("path", storageTargetName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + storagetarget.Name = nil + storagetarget.ID = nil + storagetarget.Type = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}/storageTargets/{storageTargetName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + if storagetarget != nil { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithJSON(storagetarget)) + } + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateSender sends the Create request. The method will close the +// http.Response Body if it receives an error. +func (client StorageTargetsClient) CreateSender(req *http.Request) (future StorageTargetsCreateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateResponder handles the response to the Create request. The method always +// closes the http.Response Body. +func (client StorageTargetsClient) CreateResponder(resp *http.Response) (result StorageTarget, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete removes a storage target from a cache. This operation is allowed at any time, but if the cache is down or +// unhealthy, the actual removal of the storage target may be delayed until the cache is healthy again. +// Parameters: +// resourceGroupName - target resource group. +// cacheName - name of cache. +// storageTargetName - name of storage target. +func (client StorageTargetsClient) Delete(ctx context.Context, resourceGroupName string, cacheName string, storageTargetName string) (result StorageTargetsDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/StorageTargetsClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: cacheName, + Constraints: []validation.Constraint{{Target: "cacheName", Name: validation.Pattern, Rule: `^[-0-9a-zA-Z_]{1,31}$`, Chain: nil}}}, + {TargetValue: storageTargetName, + Constraints: []validation.Constraint{{Target: "storageTargetName", Name: validation.Pattern, Rule: `^[-0-9a-zA-Z_]{1,31}$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("storagecache.StorageTargetsClient", "Delete", err.Error()) + } + + req, err := client.DeletePreparer(ctx, resourceGroupName, cacheName, storageTargetName) + if err != nil { + err = autorest.NewErrorWithError(err, "storagecache.StorageTargetsClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "storagecache.StorageTargetsClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client StorageTargetsClient) DeletePreparer(ctx context.Context, resourceGroupName string, cacheName string, storageTargetName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "cacheName": autorest.Encode("path", cacheName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "storageTargetName": autorest.Encode("path", storageTargetName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}/storageTargets/{storageTargetName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client StorageTargetsClient) DeleteSender(req *http.Request) (future StorageTargetsDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client StorageTargetsClient) DeleteResponder(resp *http.Response) (result SetObject, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Get returns a storage target from a cache. +// Parameters: +// resourceGroupName - target resource group. +// cacheName - name of cache. +// storageTargetName - name of storage target. +func (client StorageTargetsClient) Get(ctx context.Context, resourceGroupName string, cacheName string, storageTargetName string) (result StorageTarget, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/StorageTargetsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: cacheName, + Constraints: []validation.Constraint{{Target: "cacheName", Name: validation.Pattern, Rule: `^[-0-9a-zA-Z_]{1,31}$`, Chain: nil}}}, + {TargetValue: storageTargetName, + Constraints: []validation.Constraint{{Target: "storageTargetName", Name: validation.Pattern, Rule: `^[-0-9a-zA-Z_]{1,31}$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("storagecache.StorageTargetsClient", "Get", err.Error()) + } + + req, err := client.GetPreparer(ctx, resourceGroupName, cacheName, storageTargetName) + if err != nil { + err = autorest.NewErrorWithError(err, "storagecache.StorageTargetsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "storagecache.StorageTargetsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "storagecache.StorageTargetsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client StorageTargetsClient) GetPreparer(ctx context.Context, resourceGroupName string, cacheName string, storageTargetName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "cacheName": autorest.Encode("path", cacheName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "storageTargetName": autorest.Encode("path", storageTargetName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}/storageTargets/{storageTargetName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client StorageTargetsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client StorageTargetsClient) GetResponder(resp *http.Response) (result StorageTarget, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByCache returns the StorageTargets for this cache in the subscription and resource group. +// Parameters: +// resourceGroupName - target resource group. +// cacheName - name of cache. +func (client StorageTargetsClient) ListByCache(ctx context.Context, resourceGroupName string, cacheName string) (result StorageTargetsResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/StorageTargetsClient.ListByCache") + defer func() { + sc := -1 + if result.str.Response.Response != nil { + sc = result.str.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: cacheName, + Constraints: []validation.Constraint{{Target: "cacheName", Name: validation.Pattern, Rule: `^[-0-9a-zA-Z_]{1,31}$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("storagecache.StorageTargetsClient", "ListByCache", err.Error()) + } + + result.fn = client.listByCacheNextResults + req, err := client.ListByCachePreparer(ctx, resourceGroupName, cacheName) + if err != nil { + err = autorest.NewErrorWithError(err, "storagecache.StorageTargetsClient", "ListByCache", nil, "Failure preparing request") + return + } + + resp, err := client.ListByCacheSender(req) + if err != nil { + result.str.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "storagecache.StorageTargetsClient", "ListByCache", resp, "Failure sending request") + return + } + + result.str, err = client.ListByCacheResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "storagecache.StorageTargetsClient", "ListByCache", resp, "Failure responding to request") + } + + return +} + +// ListByCachePreparer prepares the ListByCache request. +func (client StorageTargetsClient) ListByCachePreparer(ctx context.Context, resourceGroupName string, cacheName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "cacheName": autorest.Encode("path", cacheName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}/storageTargets", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByCacheSender sends the ListByCache request. The method will close the +// http.Response Body if it receives an error. +func (client StorageTargetsClient) ListByCacheSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByCacheResponder handles the response to the ListByCache request. The method always +// closes the http.Response Body. +func (client StorageTargetsClient) ListByCacheResponder(resp *http.Response) (result StorageTargetsResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listByCacheNextResults retrieves the next set of results, if any. +func (client StorageTargetsClient) listByCacheNextResults(ctx context.Context, lastResults StorageTargetsResult) (result StorageTargetsResult, err error) { + req, err := lastResults.storageTargetsResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "storagecache.StorageTargetsClient", "listByCacheNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListByCacheSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "storagecache.StorageTargetsClient", "listByCacheNextResults", resp, "Failure sending next results request") + } + result, err = client.ListByCacheResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "storagecache.StorageTargetsClient", "listByCacheNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListByCacheComplete enumerates all values, automatically crossing page boundaries as required. +func (client StorageTargetsClient) ListByCacheComplete(ctx context.Context, resourceGroupName string, cacheName string) (result StorageTargetsResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/StorageTargetsClient.ListByCache") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListByCache(ctx, resourceGroupName, cacheName) + return +} + +// Update update a storage target. This operation is allowed at any time, but if the cache is down or unhealthy, the +// actual creation/modification of the storage target may be delayed until the cache is healthy again. +// Parameters: +// resourceGroupName - target resource group. +// cacheName - name of cache. +// storageTargetName - name of storage target. +// storagetarget - object containing the definition of a storage target. +func (client StorageTargetsClient) Update(ctx context.Context, resourceGroupName string, cacheName string, storageTargetName string, storagetarget *StorageTarget) (result StorageTarget, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/StorageTargetsClient.Update") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: cacheName, + Constraints: []validation.Constraint{{Target: "cacheName", Name: validation.Pattern, Rule: `^[-0-9a-zA-Z_]{1,31}$`, Chain: nil}}}, + {TargetValue: storageTargetName, + Constraints: []validation.Constraint{{Target: "storageTargetName", Name: validation.Pattern, Rule: `^[-0-9a-zA-Z_]{1,31}$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("storagecache.StorageTargetsClient", "Update", err.Error()) + } + + req, err := client.UpdatePreparer(ctx, resourceGroupName, cacheName, storageTargetName, storagetarget) + if err != nil { + err = autorest.NewErrorWithError(err, "storagecache.StorageTargetsClient", "Update", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "storagecache.StorageTargetsClient", "Update", resp, "Failure sending request") + return + } + + result, err = client.UpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "storagecache.StorageTargetsClient", "Update", resp, "Failure responding to request") + } + + return +} + +// UpdatePreparer prepares the Update request. +func (client StorageTargetsClient) UpdatePreparer(ctx context.Context, resourceGroupName string, cacheName string, storageTargetName string, storagetarget *StorageTarget) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "cacheName": autorest.Encode("path", cacheName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "storageTargetName": autorest.Encode("path", storageTargetName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + storagetarget.Name = nil + storagetarget.ID = nil + storagetarget.Type = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StorageCache/caches/{cacheName}/storageTargets/{storageTargetName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + if storagetarget != nil { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithJSON(storagetarget)) + } + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateSender sends the Update request. The method will close the +// http.Response Body if it receives an error. +func (client StorageTargetsClient) UpdateSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// UpdateResponder handles the response to the Update request. The method always +// closes the http.Response Body. +func (client StorageTargetsClient) UpdateResponder(resp *http.Response) (result StorageTarget, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/preview/storagecache/mgmt/2019-08-01-preview/storagecache/usagemodels.go b/services/preview/storagecache/mgmt/2019-08-01-preview/storagecache/usagemodels.go new file mode 100644 index 000000000000..7a6eb3ab86f8 --- /dev/null +++ b/services/preview/storagecache/mgmt/2019-08-01-preview/storagecache/usagemodels.go @@ -0,0 +1,152 @@ +package storagecache + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// UsageModelsClient is the a Storage Cache provides scalable caching service for NAS clients, serving data from either +// NFSv3 or Blob at-rest storage (referred to as "Storage Targets"). These operations allow you to manage caches. +type UsageModelsClient struct { + BaseClient +} + +// NewUsageModelsClient creates an instance of the UsageModelsClient client. +func NewUsageModelsClient(subscriptionID string) UsageModelsClient { + return NewUsageModelsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewUsageModelsClientWithBaseURI creates an instance of the UsageModelsClient client. +func NewUsageModelsClientWithBaseURI(baseURI string, subscriptionID string) UsageModelsClient { + return UsageModelsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// List get the list of cache Usage Models available to this subscription. +func (client UsageModelsClient) List(ctx context.Context) (result UsageModelsResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/UsageModelsClient.List") + defer func() { + sc := -1 + if result.umr.Response.Response != nil { + sc = result.umr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "storagecache.UsageModelsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.umr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "storagecache.UsageModelsClient", "List", resp, "Failure sending request") + return + } + + result.umr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "storagecache.UsageModelsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client UsageModelsClient) ListPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-08-01-preview" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.StorageCache/usageModels", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client UsageModelsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client UsageModelsClient) ListResponder(resp *http.Response) (result UsageModelsResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client UsageModelsClient) listNextResults(ctx context.Context, lastResults UsageModelsResult) (result UsageModelsResult, err error) { + req, err := lastResults.usageModelsResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "storagecache.UsageModelsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "storagecache.UsageModelsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "storagecache.UsageModelsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client UsageModelsClient) ListComplete(ctx context.Context) (result UsageModelsResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/UsageModelsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx) + return +} diff --git a/services/preview/storagecache/mgmt/2019-08-01-preview/storagecache/version.go b/services/preview/storagecache/mgmt/2019-08-01-preview/storagecache/version.go new file mode 100644 index 000000000000..2d84fa9642e6 --- /dev/null +++ b/services/preview/storagecache/mgmt/2019-08-01-preview/storagecache/version.go @@ -0,0 +1,30 @@ +package storagecache + +import "github.com/Azure/azure-sdk-for-go/version" + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +// UserAgent returns the UserAgent string to use when sending http.Requests. +func UserAgent() string { + return "Azure-SDK-For-Go/" + version.Number + " storagecache/2019-08-01-preview" +} + +// Version returns the semantic version (see http://semver.org) of the client. +func Version() string { + return version.Number +} diff --git a/services/recoveryservices/mgmt/2016-12-01/backup/backupapi/interfaces.go b/services/recoveryservices/mgmt/2016-12-01/backup/backupapi/interfaces.go index e4d3b8d1d244..151f504f7d2a 100644 --- a/services/recoveryservices/mgmt/2016-12-01/backup/backupapi/interfaces.go +++ b/services/recoveryservices/mgmt/2016-12-01/backup/backupapi/interfaces.go @@ -23,14 +23,6 @@ import ( "github.com/Azure/go-autorest/autorest" ) -// ResourceVaultConfigsClientAPI contains the set of methods on the ResourceVaultConfigsClient type. -type ResourceVaultConfigsClientAPI interface { - Get(ctx context.Context, vaultName string, resourceGroupName string) (result backup.ResourceVaultConfigResource, err error) - Update(ctx context.Context, vaultName string, resourceGroupName string, parameters backup.ResourceVaultConfigResource) (result backup.ResourceVaultConfigResource, err error) -} - -var _ ResourceVaultConfigsClientAPI = (*backup.ResourceVaultConfigsClient)(nil) - // EnginesClientAPI contains the set of methods on the EnginesClient type. type EnginesClientAPI interface { Get(ctx context.Context, vaultName string, resourceGroupName string, backupEngineName string, filter string, skipToken string) (result backup.EngineBaseResource, err error) @@ -78,15 +70,6 @@ type ProtectionContainerOperationResultsClientAPI interface { var _ ProtectionContainerOperationResultsClientAPI = (*backup.ProtectionContainerOperationResultsClient)(nil) -// ProtectedItemsClientAPI contains the set of methods on the ProtectedItemsClient type. -type ProtectedItemsClientAPI interface { - CreateOrUpdate(ctx context.Context, vaultName string, resourceGroupName string, fabricName string, containerName string, protectedItemName string, parameters backup.ProtectedItemResource) (result backup.ProtectedItemResource, err error) - Delete(ctx context.Context, vaultName string, resourceGroupName string, fabricName string, containerName string, protectedItemName string) (result autorest.Response, err error) - Get(ctx context.Context, vaultName string, resourceGroupName string, fabricName string, containerName string, protectedItemName string, filter string) (result backup.ProtectedItemResource, err error) -} - -var _ ProtectedItemsClientAPI = (*backup.ProtectedItemsClient)(nil) - // BackupsClientAPI contains the set of methods on the BackupsClient type. type BackupsClientAPI interface { Trigger(ctx context.Context, vaultName string, resourceGroupName string, fabricName string, containerName string, protectedItemName string, parameters backup.RequestResource) (result autorest.Response, err error) @@ -94,13 +77,6 @@ type BackupsClientAPI interface { var _ BackupsClientAPI = (*backup.BackupsClient)(nil) -// ProtectedItemOperationResultsClientAPI contains the set of methods on the ProtectedItemOperationResultsClient type. -type ProtectedItemOperationResultsClientAPI interface { - Get(ctx context.Context, vaultName string, resourceGroupName string, fabricName string, containerName string, protectedItemName string, operationID string) (result backup.ProtectedItemResource, err error) -} - -var _ ProtectedItemOperationResultsClientAPI = (*backup.ProtectedItemOperationResultsClient)(nil) - // ProtectedItemOperationStatusesClientAPI contains the set of methods on the ProtectedItemOperationStatusesClient type. type ProtectedItemOperationStatusesClientAPI interface { Get(ctx context.Context, vaultName string, resourceGroupName string, fabricName string, containerName string, protectedItemName string, operationID string) (result backup.OperationStatus, err error) @@ -108,14 +84,6 @@ type ProtectedItemOperationStatusesClientAPI interface { var _ ProtectedItemOperationStatusesClientAPI = (*backup.ProtectedItemOperationStatusesClient)(nil) -// RecoveryPointsClientAPI contains the set of methods on the RecoveryPointsClient type. -type RecoveryPointsClientAPI interface { - Get(ctx context.Context, vaultName string, resourceGroupName string, fabricName string, containerName string, protectedItemName string, recoveryPointID string) (result backup.RecoveryPointResource, err error) - List(ctx context.Context, vaultName string, resourceGroupName string, fabricName string, containerName string, protectedItemName string, filter string) (result backup.RecoveryPointResourceListPage, err error) -} - -var _ RecoveryPointsClientAPI = (*backup.RecoveryPointsClient)(nil) - // ItemLevelRecoveryConnectionsClientAPI contains the set of methods on the ItemLevelRecoveryConnectionsClient type. type ItemLevelRecoveryConnectionsClientAPI interface { Provision(ctx context.Context, vaultName string, resourceGroupName string, fabricName string, containerName string, protectedItemName string, recoveryPointID string, parameters backup.ILRRequestResource) (result autorest.Response, err error) @@ -124,27 +92,6 @@ type ItemLevelRecoveryConnectionsClientAPI interface { var _ ItemLevelRecoveryConnectionsClientAPI = (*backup.ItemLevelRecoveryConnectionsClient)(nil) -// RestoresClientAPI contains the set of methods on the RestoresClient type. -type RestoresClientAPI interface { - Trigger(ctx context.Context, vaultName string, resourceGroupName string, fabricName string, containerName string, protectedItemName string, recoveryPointID string, parameters backup.RestoreRequestResource) (result autorest.Response, err error) -} - -var _ RestoresClientAPI = (*backup.RestoresClient)(nil) - -// JobCancellationsClientAPI contains the set of methods on the JobCancellationsClient type. -type JobCancellationsClientAPI interface { - Trigger(ctx context.Context, vaultName string, resourceGroupName string, jobName string) (result autorest.Response, err error) -} - -var _ JobCancellationsClientAPI = (*backup.JobCancellationsClient)(nil) - -// JobOperationResultsClientAPI contains the set of methods on the JobOperationResultsClient type. -type JobOperationResultsClientAPI interface { - Get(ctx context.Context, vaultName string, resourceGroupName string, jobName string, operationID string) (result autorest.Response, err error) -} - -var _ JobOperationResultsClientAPI = (*backup.JobOperationResultsClient)(nil) - // OperationResultsClientAPI contains the set of methods on the OperationResultsClient type. type OperationResultsClientAPI interface { Get(ctx context.Context, vaultName string, resourceGroupName string, operationID string) (result autorest.Response, err error) @@ -161,20 +108,11 @@ var _ OperationStatusesClientAPI = (*backup.OperationStatusesClient)(nil) // ProtectionPoliciesClientAPI contains the set of methods on the ProtectionPoliciesClient type. type ProtectionPoliciesClientAPI interface { - CreateOrUpdate(ctx context.Context, vaultName string, resourceGroupName string, policyName string, parameters backup.ProtectionPolicyResource) (result backup.ProtectionPolicyResource, err error) Delete(ctx context.Context, vaultName string, resourceGroupName string, policyName string) (result autorest.Response, err error) - Get(ctx context.Context, vaultName string, resourceGroupName string, policyName string) (result backup.ProtectionPolicyResource, err error) } var _ ProtectionPoliciesClientAPI = (*backup.ProtectionPoliciesClient)(nil) -// ProtectionPolicyOperationResultsClientAPI contains the set of methods on the ProtectionPolicyOperationResultsClient type. -type ProtectionPolicyOperationResultsClientAPI interface { - Get(ctx context.Context, vaultName string, resourceGroupName string, policyName string, operationID string) (result backup.ProtectionPolicyResource, err error) -} - -var _ ProtectionPolicyOperationResultsClientAPI = (*backup.ProtectionPolicyOperationResultsClient)(nil) - // ProtectionPolicyOperationStatusesClientAPI contains the set of methods on the ProtectionPolicyOperationStatusesClient type. type ProtectionPolicyOperationStatusesClientAPI interface { Get(ctx context.Context, vaultName string, resourceGroupName string, policyName string, operationID string) (result backup.OperationStatus, err error) diff --git a/services/recoveryservices/mgmt/2016-12-01/backup/jobcancellations.go b/services/recoveryservices/mgmt/2016-12-01/backup/jobcancellations.go deleted file mode 100644 index 9e6511d770f8..000000000000 --- a/services/recoveryservices/mgmt/2016-12-01/backup/jobcancellations.go +++ /dev/null @@ -1,120 +0,0 @@ -package backup - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/tracing" - "net/http" -) - -// JobCancellationsClient is the open API 2.0 Specs for Azure RecoveryServices Backup service -type JobCancellationsClient struct { - BaseClient -} - -// NewJobCancellationsClient creates an instance of the JobCancellationsClient client. -func NewJobCancellationsClient(subscriptionID string) JobCancellationsClient { - return NewJobCancellationsClientWithBaseURI(DefaultBaseURI, subscriptionID) -} - -// NewJobCancellationsClientWithBaseURI creates an instance of the JobCancellationsClient client. -func NewJobCancellationsClientWithBaseURI(baseURI string, subscriptionID string) JobCancellationsClient { - return JobCancellationsClient{NewWithBaseURI(baseURI, subscriptionID)} -} - -// Trigger cancels a job. This is an asynchronous operation. To know the status of the cancellation, call -// GetCancelOperationResult API. -// Parameters: -// vaultName - the name of the recovery services vault. -// resourceGroupName - the name of the resource group where the recovery services vault is present. -// jobName - name of the job to cancel. -func (client JobCancellationsClient) Trigger(ctx context.Context, vaultName string, resourceGroupName string, jobName string) (result autorest.Response, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/JobCancellationsClient.Trigger") - defer func() { - sc := -1 - if result.Response != nil { - sc = result.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - req, err := client.TriggerPreparer(ctx, vaultName, resourceGroupName, jobName) - if err != nil { - err = autorest.NewErrorWithError(err, "backup.JobCancellationsClient", "Trigger", nil, "Failure preparing request") - return - } - - resp, err := client.TriggerSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "backup.JobCancellationsClient", "Trigger", resp, "Failure sending request") - return - } - - result, err = client.TriggerResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "backup.JobCancellationsClient", "Trigger", resp, "Failure responding to request") - } - - return -} - -// TriggerPreparer prepares the Trigger request. -func (client JobCancellationsClient) TriggerPreparer(ctx context.Context, vaultName string, resourceGroupName string, jobName string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobName": autorest.Encode("path", jobName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - "vaultName": autorest.Encode("path", vaultName), - } - - const APIVersion = "2016-12-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/{jobName}/cancel", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// TriggerSender sends the Trigger request. The method will close the -// http.Response Body if it receives an error. -func (client JobCancellationsClient) TriggerSender(req *http.Request) (*http.Response, error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - return autorest.SendWithSender(client, req, sd...) -} - -// TriggerResponder handles the response to the Trigger request. The method always -// closes the http.Response Body. -func (client JobCancellationsClient) TriggerResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByClosing()) - result.Response = resp - return -} diff --git a/services/recoveryservices/mgmt/2016-12-01/backup/joboperationresults.go b/services/recoveryservices/mgmt/2016-12-01/backup/joboperationresults.go deleted file mode 100644 index 2140da9fcca5..000000000000 --- a/services/recoveryservices/mgmt/2016-12-01/backup/joboperationresults.go +++ /dev/null @@ -1,122 +0,0 @@ -package backup - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/tracing" - "net/http" -) - -// JobOperationResultsClient is the open API 2.0 Specs for Azure RecoveryServices Backup service -type JobOperationResultsClient struct { - BaseClient -} - -// NewJobOperationResultsClient creates an instance of the JobOperationResultsClient client. -func NewJobOperationResultsClient(subscriptionID string) JobOperationResultsClient { - return NewJobOperationResultsClientWithBaseURI(DefaultBaseURI, subscriptionID) -} - -// NewJobOperationResultsClientWithBaseURI creates an instance of the JobOperationResultsClient client. -func NewJobOperationResultsClientWithBaseURI(baseURI string, subscriptionID string) JobOperationResultsClient { - return JobOperationResultsClient{NewWithBaseURI(baseURI, subscriptionID)} -} - -// Get fetches the result of any operation. -// the operation. -// Parameters: -// vaultName - the name of the recovery services vault. -// resourceGroupName - the name of the resource group where the recovery services vault is present. -// jobName - job name whose operation result has to be fetched. -// operationID - operationID which represents the operation whose result has to be fetched. -func (client JobOperationResultsClient) Get(ctx context.Context, vaultName string, resourceGroupName string, jobName string, operationID string) (result autorest.Response, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/JobOperationResultsClient.Get") - defer func() { - sc := -1 - if result.Response != nil { - sc = result.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - req, err := client.GetPreparer(ctx, vaultName, resourceGroupName, jobName, operationID) - if err != nil { - err = autorest.NewErrorWithError(err, "backup.JobOperationResultsClient", "Get", nil, "Failure preparing request") - return - } - - resp, err := client.GetSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "backup.JobOperationResultsClient", "Get", resp, "Failure sending request") - return - } - - result, err = client.GetResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "backup.JobOperationResultsClient", "Get", resp, "Failure responding to request") - } - - return -} - -// GetPreparer prepares the Get request. -func (client JobOperationResultsClient) GetPreparer(ctx context.Context, vaultName string, resourceGroupName string, jobName string, operationID string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "jobName": autorest.Encode("path", jobName), - "operationId": autorest.Encode("path", operationID), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - "vaultName": autorest.Encode("path", vaultName), - } - - const APIVersion = "2016-12-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupJobs/{jobName}/operationResults/{operationId}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetSender sends the Get request. The method will close the -// http.Response Body if it receives an error. -func (client JobOperationResultsClient) GetSender(req *http.Request) (*http.Response, error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - return autorest.SendWithSender(client, req, sd...) -} - -// GetResponder handles the response to the Get request. The method always -// closes the http.Response Body. -func (client JobOperationResultsClient) GetResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), - autorest.ByClosing()) - result.Response = resp - return -} diff --git a/services/recoveryservices/mgmt/2016-12-01/backup/models.go b/services/recoveryservices/mgmt/2016-12-01/backup/models.go index 9ce8a646a248..7afb064a654f 100644 --- a/services/recoveryservices/mgmt/2016-12-01/backup/models.go +++ b/services/recoveryservices/mgmt/2016-12-01/backup/models.go @@ -125,110 +125,6 @@ func PossibleContainerTypeBasicProtectionContainerValues() []ContainerTypeBasicP return []ContainerTypeBasicProtectionContainer{ContainerTypeAzureBackupServerContainer1, ContainerTypeAzureSQLContainer1, ContainerTypeAzureWorkloadContainer, ContainerTypeDPMContainer1, ContainerTypeGenericContainer1, ContainerTypeIaaSVMContainer, ContainerTypeMicrosoftClassicComputevirtualMachines, ContainerTypeMicrosoftComputevirtualMachines, ContainerTypeProtectionContainer, ContainerTypeSQLAGWorkLoadContainer1, ContainerTypeStorageContainer1, ContainerTypeVMAppContainer1, ContainerTypeWindows1} } -// CopyOptions enumerates the values for copy options. -type CopyOptions string - -const ( - // CopyOptionsCreateCopy ... - CopyOptionsCreateCopy CopyOptions = "CreateCopy" - // CopyOptionsFailOnConflict ... - CopyOptionsFailOnConflict CopyOptions = "FailOnConflict" - // CopyOptionsInvalid ... - CopyOptionsInvalid CopyOptions = "Invalid" - // CopyOptionsOverwrite ... - CopyOptionsOverwrite CopyOptions = "Overwrite" - // CopyOptionsSkip ... - CopyOptionsSkip CopyOptions = "Skip" -) - -// PossibleCopyOptionsValues returns an array of possible values for the CopyOptions const type. -func PossibleCopyOptionsValues() []CopyOptions { - return []CopyOptions{CopyOptionsCreateCopy, CopyOptionsFailOnConflict, CopyOptionsInvalid, CopyOptionsOverwrite, CopyOptionsSkip} -} - -// CreateMode enumerates the values for create mode. -type CreateMode string - -const ( - // CreateModeDefault ... - CreateModeDefault CreateMode = "Default" - // CreateModeInvalid ... - CreateModeInvalid CreateMode = "Invalid" - // CreateModeRecover ... - CreateModeRecover CreateMode = "Recover" -) - -// PossibleCreateModeValues returns an array of possible values for the CreateMode const type. -func PossibleCreateModeValues() []CreateMode { - return []CreateMode{CreateModeDefault, CreateModeInvalid, CreateModeRecover} -} - -// DataSourceType enumerates the values for data source type. -type DataSourceType string - -const ( - // DataSourceTypeAzureFileShare ... - DataSourceTypeAzureFileShare DataSourceType = "AzureFileShare" - // DataSourceTypeAzureSQLDb ... - DataSourceTypeAzureSQLDb DataSourceType = "AzureSqlDb" - // DataSourceTypeClient ... - DataSourceTypeClient DataSourceType = "Client" - // DataSourceTypeExchange ... - DataSourceTypeExchange DataSourceType = "Exchange" - // DataSourceTypeFileFolder ... - DataSourceTypeFileFolder DataSourceType = "FileFolder" - // DataSourceTypeGenericDataSource ... - DataSourceTypeGenericDataSource DataSourceType = "GenericDataSource" - // DataSourceTypeInvalid ... - DataSourceTypeInvalid DataSourceType = "Invalid" - // DataSourceTypeSAPAseDatabase ... - DataSourceTypeSAPAseDatabase DataSourceType = "SAPAseDatabase" - // DataSourceTypeSAPHanaDatabase ... - DataSourceTypeSAPHanaDatabase DataSourceType = "SAPHanaDatabase" - // DataSourceTypeSharepoint ... - DataSourceTypeSharepoint DataSourceType = "Sharepoint" - // DataSourceTypeSQLDataBase ... - DataSourceTypeSQLDataBase DataSourceType = "SQLDataBase" - // DataSourceTypeSQLDB ... - DataSourceTypeSQLDB DataSourceType = "SQLDB" - // DataSourceTypeSystemState ... - DataSourceTypeSystemState DataSourceType = "SystemState" - // DataSourceTypeVM ... - DataSourceTypeVM DataSourceType = "VM" - // DataSourceTypeVMwareVM ... - DataSourceTypeVMwareVM DataSourceType = "VMwareVM" -) - -// PossibleDataSourceTypeValues returns an array of possible values for the DataSourceType const type. -func PossibleDataSourceTypeValues() []DataSourceType { - return []DataSourceType{DataSourceTypeAzureFileShare, DataSourceTypeAzureSQLDb, DataSourceTypeClient, DataSourceTypeExchange, DataSourceTypeFileFolder, DataSourceTypeGenericDataSource, DataSourceTypeInvalid, DataSourceTypeSAPAseDatabase, DataSourceTypeSAPHanaDatabase, DataSourceTypeSharepoint, DataSourceTypeSQLDataBase, DataSourceTypeSQLDB, DataSourceTypeSystemState, DataSourceTypeVM, DataSourceTypeVMwareVM} -} - -// DayOfWeek enumerates the values for day of week. -type DayOfWeek string - -const ( - // Friday ... - Friday DayOfWeek = "Friday" - // Monday ... - Monday DayOfWeek = "Monday" - // Saturday ... - Saturday DayOfWeek = "Saturday" - // Sunday ... - Sunday DayOfWeek = "Sunday" - // Thursday ... - Thursday DayOfWeek = "Thursday" - // Tuesday ... - Tuesday DayOfWeek = "Tuesday" - // Wednesday ... - Wednesday DayOfWeek = "Wednesday" -) - -// PossibleDayOfWeekValues returns an array of possible values for the DayOfWeek const type. -func PossibleDayOfWeekValues() []DayOfWeek { - return []DayOfWeek{Friday, Monday, Saturday, Sunday, Thursday, Tuesday, Wednesday} -} - // EngineType enumerates the values for engine type. type EngineType string @@ -246,42 +142,6 @@ func PossibleEngineTypeValues() []EngineType { return []EngineType{BackupEngineTypeAzureBackupServerEngine, BackupEngineTypeBackupEngineBase, BackupEngineTypeDpmBackupEngine} } -// EnhancedSecurityState enumerates the values for enhanced security state. -type EnhancedSecurityState string - -const ( - // EnhancedSecurityStateDisabled ... - EnhancedSecurityStateDisabled EnhancedSecurityState = "Disabled" - // EnhancedSecurityStateEnabled ... - EnhancedSecurityStateEnabled EnhancedSecurityState = "Enabled" - // EnhancedSecurityStateInvalid ... - EnhancedSecurityStateInvalid EnhancedSecurityState = "Invalid" -) - -// PossibleEnhancedSecurityStateValues returns an array of possible values for the EnhancedSecurityState const type. -func PossibleEnhancedSecurityStateValues() []EnhancedSecurityState { - return []EnhancedSecurityState{EnhancedSecurityStateDisabled, EnhancedSecurityStateEnabled, EnhancedSecurityStateInvalid} -} - -// HealthStatus enumerates the values for health status. -type HealthStatus string - -const ( - // HealthStatusActionRequired ... - HealthStatusActionRequired HealthStatus = "ActionRequired" - // HealthStatusActionSuggested ... - HealthStatusActionSuggested HealthStatus = "ActionSuggested" - // HealthStatusInvalid ... - HealthStatusInvalid HealthStatus = "Invalid" - // HealthStatusPassed ... - HealthStatusPassed HealthStatus = "Passed" -) - -// PossibleHealthStatusValues returns an array of possible values for the HealthStatus const type. -func PossibleHealthStatusValues() []HealthStatus { - return []HealthStatus{HealthStatusActionRequired, HealthStatusActionSuggested, HealthStatusInvalid, HealthStatusPassed} -} - // InquiryStatus enumerates the values for inquiry status. type InquiryStatus string @@ -340,25 +200,6 @@ func PossibleItemTypeValues() []ItemType { return []ItemType{ItemTypeAzureFileShare, ItemTypeAzureSQLDb, ItemTypeClient, ItemTypeExchange, ItemTypeFileFolder, ItemTypeGenericDataSource, ItemTypeInvalid, ItemTypeSAPAseDatabase, ItemTypeSAPHanaDatabase, ItemTypeSharepoint, ItemTypeSQLDataBase, ItemTypeSQLDB, ItemTypeSystemState, ItemTypeVM, ItemTypeVMwareVM} } -// LastBackupStatus enumerates the values for last backup status. -type LastBackupStatus string - -const ( - // LastBackupStatusHealthy ... - LastBackupStatusHealthy LastBackupStatus = "Healthy" - // LastBackupStatusInvalid ... - LastBackupStatusInvalid LastBackupStatus = "Invalid" - // LastBackupStatusIRPending ... - LastBackupStatusIRPending LastBackupStatus = "IRPending" - // LastBackupStatusUnhealthy ... - LastBackupStatusUnhealthy LastBackupStatus = "Unhealthy" -) - -// PossibleLastBackupStatusValues returns an array of possible values for the LastBackupStatus const type. -func PossibleLastBackupStatusValues() []LastBackupStatus { - return []LastBackupStatus{LastBackupStatusHealthy, LastBackupStatusInvalid, LastBackupStatusIRPending, LastBackupStatusUnhealthy} -} - // ManagementType enumerates the values for management type. type ManagementType string @@ -388,68 +229,6 @@ func PossibleManagementTypeValues() []ManagementType { return []ManagementType{ManagementTypeAzureBackupServer, ManagementTypeAzureIaasVM, ManagementTypeAzureSQL, ManagementTypeAzureStorage, ManagementTypeAzureWorkload, ManagementTypeDefaultBackup, ManagementTypeDPM, ManagementTypeInvalid, ManagementTypeMAB} } -// ManagementTypeBasicProtectionPolicy enumerates the values for management type basic protection policy. -type ManagementTypeBasicProtectionPolicy string - -const ( - // BackupManagementTypeAzureIaasVM ... - BackupManagementTypeAzureIaasVM ManagementTypeBasicProtectionPolicy = "AzureIaasVM" - // BackupManagementTypeAzureSQL ... - BackupManagementTypeAzureSQL ManagementTypeBasicProtectionPolicy = "AzureSql" - // BackupManagementTypeAzureStorage ... - BackupManagementTypeAzureStorage ManagementTypeBasicProtectionPolicy = "AzureStorage" - // BackupManagementTypeAzureWorkload ... - BackupManagementTypeAzureWorkload ManagementTypeBasicProtectionPolicy = "AzureWorkload" - // BackupManagementTypeGenericProtectionPolicy ... - BackupManagementTypeGenericProtectionPolicy ManagementTypeBasicProtectionPolicy = "GenericProtectionPolicy" - // BackupManagementTypeMAB ... - BackupManagementTypeMAB ManagementTypeBasicProtectionPolicy = "MAB" - // BackupManagementTypeProtectionPolicy ... - BackupManagementTypeProtectionPolicy ManagementTypeBasicProtectionPolicy = "ProtectionPolicy" -) - -// PossibleManagementTypeBasicProtectionPolicyValues returns an array of possible values for the ManagementTypeBasicProtectionPolicy const type. -func PossibleManagementTypeBasicProtectionPolicyValues() []ManagementTypeBasicProtectionPolicy { - return []ManagementTypeBasicProtectionPolicy{BackupManagementTypeAzureIaasVM, BackupManagementTypeAzureSQL, BackupManagementTypeAzureStorage, BackupManagementTypeAzureWorkload, BackupManagementTypeGenericProtectionPolicy, BackupManagementTypeMAB, BackupManagementTypeProtectionPolicy} -} - -// MonthOfYear enumerates the values for month of year. -type MonthOfYear string - -const ( - // MonthOfYearApril ... - MonthOfYearApril MonthOfYear = "April" - // MonthOfYearAugust ... - MonthOfYearAugust MonthOfYear = "August" - // MonthOfYearDecember ... - MonthOfYearDecember MonthOfYear = "December" - // MonthOfYearFebruary ... - MonthOfYearFebruary MonthOfYear = "February" - // MonthOfYearInvalid ... - MonthOfYearInvalid MonthOfYear = "Invalid" - // MonthOfYearJanuary ... - MonthOfYearJanuary MonthOfYear = "January" - // MonthOfYearJuly ... - MonthOfYearJuly MonthOfYear = "July" - // MonthOfYearJune ... - MonthOfYearJune MonthOfYear = "June" - // MonthOfYearMarch ... - MonthOfYearMarch MonthOfYear = "March" - // MonthOfYearMay ... - MonthOfYearMay MonthOfYear = "May" - // MonthOfYearNovember ... - MonthOfYearNovember MonthOfYear = "November" - // MonthOfYearOctober ... - MonthOfYearOctober MonthOfYear = "October" - // MonthOfYearSeptember ... - MonthOfYearSeptember MonthOfYear = "September" -) - -// PossibleMonthOfYearValues returns an array of possible values for the MonthOfYear const type. -func PossibleMonthOfYearValues() []MonthOfYear { - return []MonthOfYear{MonthOfYearApril, MonthOfYearAugust, MonthOfYearDecember, MonthOfYearFebruary, MonthOfYearInvalid, MonthOfYearJanuary, MonthOfYearJuly, MonthOfYearJune, MonthOfYearMarch, MonthOfYearMay, MonthOfYearNovember, MonthOfYearOctober, MonthOfYearSeptember} -} - // ObjectType enumerates the values for object type. type ObjectType string @@ -473,6 +252,8 @@ func PossibleObjectTypeValues() []ObjectType { type ObjectTypeBasicILRRequest string const ( + // ObjectTypeAzureFileShareProvisionILRRequest ... + ObjectTypeAzureFileShareProvisionILRRequest ObjectTypeBasicILRRequest = "AzureFileShareProvisionILRRequest" // ObjectTypeIaasVMILRRegistrationRequest ... ObjectTypeIaasVMILRRegistrationRequest ObjectTypeBasicILRRequest = "IaasVMILRRegistrationRequest" // ObjectTypeILRRequest ... @@ -481,7 +262,7 @@ const ( // PossibleObjectTypeBasicILRRequestValues returns an array of possible values for the ObjectTypeBasicILRRequest const type. func PossibleObjectTypeBasicILRRequestValues() []ObjectTypeBasicILRRequest { - return []ObjectTypeBasicILRRequest{ObjectTypeIaasVMILRRegistrationRequest, ObjectTypeILRRequest} + return []ObjectTypeBasicILRRequest{ObjectTypeAzureFileShareProvisionILRRequest, ObjectTypeIaasVMILRRegistrationRequest, ObjectTypeILRRequest} } // ObjectTypeBasicOperationStatusExtendedInfo enumerates the values for object type basic operation status @@ -508,60 +289,13 @@ func PossibleObjectTypeBasicOperationStatusExtendedInfoValues() []ObjectTypeBasi type ObjectTypeBasicRecoveryPoint string const ( - // ObjectTypeAzureFileShareRecoveryPoint ... - ObjectTypeAzureFileShareRecoveryPoint ObjectTypeBasicRecoveryPoint = "AzureFileShareRecoveryPoint" - // ObjectTypeAzureWorkloadPointInTimeRecoveryPoint ... - ObjectTypeAzureWorkloadPointInTimeRecoveryPoint ObjectTypeBasicRecoveryPoint = "AzureWorkloadPointInTimeRecoveryPoint" - // ObjectTypeAzureWorkloadRecoveryPoint ... - ObjectTypeAzureWorkloadRecoveryPoint ObjectTypeBasicRecoveryPoint = "AzureWorkloadRecoveryPoint" - // ObjectTypeAzureWorkloadSAPHanaPointInTimeRecoveryPoint ... - ObjectTypeAzureWorkloadSAPHanaPointInTimeRecoveryPoint ObjectTypeBasicRecoveryPoint = "AzureWorkloadSAPHanaPointInTimeRecoveryPoint" - // ObjectTypeAzureWorkloadSAPHanaRecoveryPoint ... - ObjectTypeAzureWorkloadSAPHanaRecoveryPoint ObjectTypeBasicRecoveryPoint = "AzureWorkloadSAPHanaRecoveryPoint" - // ObjectTypeAzureWorkloadSQLPointInTimeRecoveryPoint ... - ObjectTypeAzureWorkloadSQLPointInTimeRecoveryPoint ObjectTypeBasicRecoveryPoint = "AzureWorkloadSQLPointInTimeRecoveryPoint" - // ObjectTypeAzureWorkloadSQLRecoveryPoint ... - ObjectTypeAzureWorkloadSQLRecoveryPoint ObjectTypeBasicRecoveryPoint = "AzureWorkloadSQLRecoveryPoint" - // ObjectTypeGenericRecoveryPoint ... - ObjectTypeGenericRecoveryPoint ObjectTypeBasicRecoveryPoint = "GenericRecoveryPoint" - // ObjectTypeIaasVMRecoveryPoint ... - ObjectTypeIaasVMRecoveryPoint ObjectTypeBasicRecoveryPoint = "IaasVMRecoveryPoint" // ObjectTypeRecoveryPoint ... ObjectTypeRecoveryPoint ObjectTypeBasicRecoveryPoint = "RecoveryPoint" ) // PossibleObjectTypeBasicRecoveryPointValues returns an array of possible values for the ObjectTypeBasicRecoveryPoint const type. func PossibleObjectTypeBasicRecoveryPointValues() []ObjectTypeBasicRecoveryPoint { - return []ObjectTypeBasicRecoveryPoint{ObjectTypeAzureFileShareRecoveryPoint, ObjectTypeAzureWorkloadPointInTimeRecoveryPoint, ObjectTypeAzureWorkloadRecoveryPoint, ObjectTypeAzureWorkloadSAPHanaPointInTimeRecoveryPoint, ObjectTypeAzureWorkloadSAPHanaRecoveryPoint, ObjectTypeAzureWorkloadSQLPointInTimeRecoveryPoint, ObjectTypeAzureWorkloadSQLRecoveryPoint, ObjectTypeGenericRecoveryPoint, ObjectTypeIaasVMRecoveryPoint, ObjectTypeRecoveryPoint} -} - -// ObjectTypeBasicRestoreRequest enumerates the values for object type basic restore request. -type ObjectTypeBasicRestoreRequest string - -const ( - // ObjectTypeAzureFileShareRestoreRequest ... - ObjectTypeAzureFileShareRestoreRequest ObjectTypeBasicRestoreRequest = "AzureFileShareRestoreRequest" - // ObjectTypeAzureWorkloadPointInTimeRestoreRequest ... - ObjectTypeAzureWorkloadPointInTimeRestoreRequest ObjectTypeBasicRestoreRequest = "AzureWorkloadPointInTimeRestoreRequest" - // ObjectTypeAzureWorkloadRestoreRequest ... - ObjectTypeAzureWorkloadRestoreRequest ObjectTypeBasicRestoreRequest = "AzureWorkloadRestoreRequest" - // ObjectTypeAzureWorkloadSAPHanaPointInTimeRestoreRequest ... - ObjectTypeAzureWorkloadSAPHanaPointInTimeRestoreRequest ObjectTypeBasicRestoreRequest = "AzureWorkloadSAPHanaPointInTimeRestoreRequest" - // ObjectTypeAzureWorkloadSAPHanaRestoreRequest ... - ObjectTypeAzureWorkloadSAPHanaRestoreRequest ObjectTypeBasicRestoreRequest = "AzureWorkloadSAPHanaRestoreRequest" - // ObjectTypeAzureWorkloadSQLPointInTimeRestoreRequest ... - ObjectTypeAzureWorkloadSQLPointInTimeRestoreRequest ObjectTypeBasicRestoreRequest = "AzureWorkloadSQLPointInTimeRestoreRequest" - // ObjectTypeAzureWorkloadSQLRestoreRequest ... - ObjectTypeAzureWorkloadSQLRestoreRequest ObjectTypeBasicRestoreRequest = "AzureWorkloadSQLRestoreRequest" - // ObjectTypeIaasVMRestoreRequest ... - ObjectTypeIaasVMRestoreRequest ObjectTypeBasicRestoreRequest = "IaasVMRestoreRequest" - // ObjectTypeRestoreRequest ... - ObjectTypeRestoreRequest ObjectTypeBasicRestoreRequest = "RestoreRequest" -) - -// PossibleObjectTypeBasicRestoreRequestValues returns an array of possible values for the ObjectTypeBasicRestoreRequest const type. -func PossibleObjectTypeBasicRestoreRequestValues() []ObjectTypeBasicRestoreRequest { - return []ObjectTypeBasicRestoreRequest{ObjectTypeAzureFileShareRestoreRequest, ObjectTypeAzureWorkloadPointInTimeRestoreRequest, ObjectTypeAzureWorkloadRestoreRequest, ObjectTypeAzureWorkloadSAPHanaPointInTimeRestoreRequest, ObjectTypeAzureWorkloadSAPHanaRestoreRequest, ObjectTypeAzureWorkloadSQLPointInTimeRestoreRequest, ObjectTypeAzureWorkloadSQLRestoreRequest, ObjectTypeIaasVMRestoreRequest, ObjectTypeRestoreRequest} + return []ObjectTypeBasicRecoveryPoint{ObjectTypeRecoveryPoint} } // OperationStatusValues enumerates the values for operation status values. @@ -602,44 +336,6 @@ func PossibleOperationTypeValues() []OperationType { return []OperationType{OperationTypeInvalid, OperationTypeRegister, OperationTypeReregister} } -// OverwriteOptions enumerates the values for overwrite options. -type OverwriteOptions string - -const ( - // OverwriteOptionsFailOnConflict ... - OverwriteOptionsFailOnConflict OverwriteOptions = "FailOnConflict" - // OverwriteOptionsInvalid ... - OverwriteOptionsInvalid OverwriteOptions = "Invalid" - // OverwriteOptionsOverwrite ... - OverwriteOptionsOverwrite OverwriteOptions = "Overwrite" -) - -// PossibleOverwriteOptionsValues returns an array of possible values for the OverwriteOptions const type. -func PossibleOverwriteOptionsValues() []OverwriteOptions { - return []OverwriteOptions{OverwriteOptionsFailOnConflict, OverwriteOptionsInvalid, OverwriteOptionsOverwrite} -} - -// PolicyType enumerates the values for policy type. -type PolicyType string - -const ( - // PolicyTypeCopyOnlyFull ... - PolicyTypeCopyOnlyFull PolicyType = "CopyOnlyFull" - // PolicyTypeDifferential ... - PolicyTypeDifferential PolicyType = "Differential" - // PolicyTypeFull ... - PolicyTypeFull PolicyType = "Full" - // PolicyTypeInvalid ... - PolicyTypeInvalid PolicyType = "Invalid" - // PolicyTypeLog ... - PolicyTypeLog PolicyType = "Log" -) - -// PossiblePolicyTypeValues returns an array of possible values for the PolicyType const type. -func PossiblePolicyTypeValues() []PolicyType { - return []PolicyType{PolicyTypeCopyOnlyFull, PolicyTypeDifferential, PolicyTypeFull, PolicyTypeInvalid, PolicyTypeLog} -} - // ProtectableContainerType enumerates the values for protectable container type. type ProtectableContainerType string @@ -671,8 +367,6 @@ const ( ProtectableItemTypeMicrosoftClassicComputevirtualMachines ProtectableItemType = "Microsoft.ClassicCompute/virtualMachines" // ProtectableItemTypeMicrosoftComputevirtualMachines ... ProtectableItemTypeMicrosoftComputevirtualMachines ProtectableItemType = "Microsoft.Compute/virtualMachines" - // ProtectableItemTypeSAPAseDatabase ... - ProtectableItemTypeSAPAseDatabase ProtectableItemType = "SAPAseDatabase" // ProtectableItemTypeSAPAseSystem ... ProtectableItemTypeSAPAseSystem ProtectableItemType = "SAPAseSystem" // ProtectableItemTypeSAPHanaDatabase ... @@ -691,111 +385,7 @@ const ( // PossibleProtectableItemTypeValues returns an array of possible values for the ProtectableItemType const type. func PossibleProtectableItemTypeValues() []ProtectableItemType { - return []ProtectableItemType{ProtectableItemTypeAzureFileShare, ProtectableItemTypeAzureVMWorkloadProtectableItem, ProtectableItemTypeIaaSVMProtectableItem, ProtectableItemTypeMicrosoftClassicComputevirtualMachines, ProtectableItemTypeMicrosoftComputevirtualMachines, ProtectableItemTypeSAPAseDatabase, ProtectableItemTypeSAPAseSystem, ProtectableItemTypeSAPHanaDatabase, ProtectableItemTypeSAPHanaSystem, ProtectableItemTypeSQLAvailabilityGroupContainer, ProtectableItemTypeSQLDataBase, ProtectableItemTypeSQLInstance, ProtectableItemTypeWorkloadProtectableItem} -} - -// ProtectedItemHealthStatus enumerates the values for protected item health status. -type ProtectedItemHealthStatus string - -const ( - // ProtectedItemHealthStatusHealthy ... - ProtectedItemHealthStatusHealthy ProtectedItemHealthStatus = "Healthy" - // ProtectedItemHealthStatusInvalid ... - ProtectedItemHealthStatusInvalid ProtectedItemHealthStatus = "Invalid" - // ProtectedItemHealthStatusIRPending ... - ProtectedItemHealthStatusIRPending ProtectedItemHealthStatus = "IRPending" - // ProtectedItemHealthStatusNotReachable ... - ProtectedItemHealthStatusNotReachable ProtectedItemHealthStatus = "NotReachable" - // ProtectedItemHealthStatusUnhealthy ... - ProtectedItemHealthStatusUnhealthy ProtectedItemHealthStatus = "Unhealthy" -) - -// PossibleProtectedItemHealthStatusValues returns an array of possible values for the ProtectedItemHealthStatus const type. -func PossibleProtectedItemHealthStatusValues() []ProtectedItemHealthStatus { - return []ProtectedItemHealthStatus{ProtectedItemHealthStatusHealthy, ProtectedItemHealthStatusInvalid, ProtectedItemHealthStatusIRPending, ProtectedItemHealthStatusNotReachable, ProtectedItemHealthStatusUnhealthy} -} - -// ProtectedItemState enumerates the values for protected item state. -type ProtectedItemState string - -const ( - // ProtectedItemStateInvalid ... - ProtectedItemStateInvalid ProtectedItemState = "Invalid" - // ProtectedItemStateIRPending ... - ProtectedItemStateIRPending ProtectedItemState = "IRPending" - // ProtectedItemStateProtected ... - ProtectedItemStateProtected ProtectedItemState = "Protected" - // ProtectedItemStateProtectionError ... - ProtectedItemStateProtectionError ProtectedItemState = "ProtectionError" - // ProtectedItemStateProtectionPaused ... - ProtectedItemStateProtectionPaused ProtectedItemState = "ProtectionPaused" - // ProtectedItemStateProtectionStopped ... - ProtectedItemStateProtectionStopped ProtectedItemState = "ProtectionStopped" -) - -// PossibleProtectedItemStateValues returns an array of possible values for the ProtectedItemState const type. -func PossibleProtectedItemStateValues() []ProtectedItemState { - return []ProtectedItemState{ProtectedItemStateInvalid, ProtectedItemStateIRPending, ProtectedItemStateProtected, ProtectedItemStateProtectionError, ProtectedItemStateProtectionPaused, ProtectedItemStateProtectionStopped} -} - -// ProtectedItemType enumerates the values for protected item type. -type ProtectedItemType string - -const ( - // ProtectedItemTypeAzureFileShareProtectedItem ... - ProtectedItemTypeAzureFileShareProtectedItem ProtectedItemType = "AzureFileShareProtectedItem" - // ProtectedItemTypeAzureIaaSVMProtectedItem ... - ProtectedItemTypeAzureIaaSVMProtectedItem ProtectedItemType = "AzureIaaSVMProtectedItem" - // ProtectedItemTypeAzureVMWorkloadProtectedItem ... - ProtectedItemTypeAzureVMWorkloadProtectedItem ProtectedItemType = "AzureVmWorkloadProtectedItem" - // ProtectedItemTypeAzureVMWorkloadSAPAseDatabase ... - ProtectedItemTypeAzureVMWorkloadSAPAseDatabase ProtectedItemType = "AzureVmWorkloadSAPAseDatabase" - // ProtectedItemTypeAzureVMWorkloadSAPHanaDatabase ... - ProtectedItemTypeAzureVMWorkloadSAPHanaDatabase ProtectedItemType = "AzureVmWorkloadSAPHanaDatabase" - // ProtectedItemTypeAzureVMWorkloadSQLDatabase ... - ProtectedItemTypeAzureVMWorkloadSQLDatabase ProtectedItemType = "AzureVmWorkloadSQLDatabase" - // ProtectedItemTypeDPMProtectedItem ... - ProtectedItemTypeDPMProtectedItem ProtectedItemType = "DPMProtectedItem" - // ProtectedItemTypeGenericProtectedItem ... - ProtectedItemTypeGenericProtectedItem ProtectedItemType = "GenericProtectedItem" - // ProtectedItemTypeMabFileFolderProtectedItem ... - ProtectedItemTypeMabFileFolderProtectedItem ProtectedItemType = "MabFileFolderProtectedItem" - // ProtectedItemTypeMicrosoftClassicComputevirtualMachines ... - ProtectedItemTypeMicrosoftClassicComputevirtualMachines ProtectedItemType = "Microsoft.ClassicCompute/virtualMachines" - // ProtectedItemTypeMicrosoftComputevirtualMachines ... - ProtectedItemTypeMicrosoftComputevirtualMachines ProtectedItemType = "Microsoft.Compute/virtualMachines" - // ProtectedItemTypeMicrosoftSqlserversdatabases ... - ProtectedItemTypeMicrosoftSqlserversdatabases ProtectedItemType = "Microsoft.Sql/servers/databases" - // ProtectedItemTypeProtectedItem ... - ProtectedItemTypeProtectedItem ProtectedItemType = "ProtectedItem" -) - -// PossibleProtectedItemTypeValues returns an array of possible values for the ProtectedItemType const type. -func PossibleProtectedItemTypeValues() []ProtectedItemType { - return []ProtectedItemType{ProtectedItemTypeAzureFileShareProtectedItem, ProtectedItemTypeAzureIaaSVMProtectedItem, ProtectedItemTypeAzureVMWorkloadProtectedItem, ProtectedItemTypeAzureVMWorkloadSAPAseDatabase, ProtectedItemTypeAzureVMWorkloadSAPHanaDatabase, ProtectedItemTypeAzureVMWorkloadSQLDatabase, ProtectedItemTypeDPMProtectedItem, ProtectedItemTypeGenericProtectedItem, ProtectedItemTypeMabFileFolderProtectedItem, ProtectedItemTypeMicrosoftClassicComputevirtualMachines, ProtectedItemTypeMicrosoftComputevirtualMachines, ProtectedItemTypeMicrosoftSqlserversdatabases, ProtectedItemTypeProtectedItem} -} - -// ProtectionState enumerates the values for protection state. -type ProtectionState string - -const ( - // ProtectionStateInvalid ... - ProtectionStateInvalid ProtectionState = "Invalid" - // ProtectionStateIRPending ... - ProtectionStateIRPending ProtectionState = "IRPending" - // ProtectionStateProtected ... - ProtectionStateProtected ProtectionState = "Protected" - // ProtectionStateProtectionError ... - ProtectionStateProtectionError ProtectionState = "ProtectionError" - // ProtectionStateProtectionPaused ... - ProtectionStateProtectionPaused ProtectionState = "ProtectionPaused" - // ProtectionStateProtectionStopped ... - ProtectionStateProtectionStopped ProtectionState = "ProtectionStopped" -) - -// PossibleProtectionStateValues returns an array of possible values for the ProtectionState const type. -func PossibleProtectionStateValues() []ProtectionState { - return []ProtectionState{ProtectionStateInvalid, ProtectionStateIRPending, ProtectionStateProtected, ProtectionStateProtectionError, ProtectionStateProtectionPaused, ProtectionStateProtectionStopped} + return []ProtectableItemType{ProtectableItemTypeAzureFileShare, ProtectableItemTypeAzureVMWorkloadProtectableItem, ProtectableItemTypeIaaSVMProtectableItem, ProtectableItemTypeMicrosoftClassicComputevirtualMachines, ProtectableItemTypeMicrosoftComputevirtualMachines, ProtectableItemTypeSAPAseSystem, ProtectableItemTypeSAPHanaDatabase, ProtectableItemTypeSAPHanaSystem, ProtectableItemTypeSQLAvailabilityGroupContainer, ProtectableItemTypeSQLDataBase, ProtectableItemTypeSQLInstance, ProtectableItemTypeWorkloadProtectableItem} } // ProtectionStatus enumerates the values for protection status. @@ -819,211 +409,6 @@ func PossibleProtectionStatusValues() []ProtectionStatus { return []ProtectionStatus{ProtectionStatusInvalid, ProtectionStatusNotProtected, ProtectionStatusProtected, ProtectionStatusProtecting, ProtectionStatusProtectionFailed} } -// RecoveryPointTierStatus enumerates the values for recovery point tier status. -type RecoveryPointTierStatus string - -const ( - // RecoveryPointTierStatusDeleted ... - RecoveryPointTierStatusDeleted RecoveryPointTierStatus = "Deleted" - // RecoveryPointTierStatusDisabled ... - RecoveryPointTierStatusDisabled RecoveryPointTierStatus = "Disabled" - // RecoveryPointTierStatusInvalid ... - RecoveryPointTierStatusInvalid RecoveryPointTierStatus = "Invalid" - // RecoveryPointTierStatusValid ... - RecoveryPointTierStatusValid RecoveryPointTierStatus = "Valid" -) - -// PossibleRecoveryPointTierStatusValues returns an array of possible values for the RecoveryPointTierStatus const type. -func PossibleRecoveryPointTierStatusValues() []RecoveryPointTierStatus { - return []RecoveryPointTierStatus{RecoveryPointTierStatusDeleted, RecoveryPointTierStatusDisabled, RecoveryPointTierStatusInvalid, RecoveryPointTierStatusValid} -} - -// RecoveryPointTierType enumerates the values for recovery point tier type. -type RecoveryPointTierType string - -const ( - // RecoveryPointTierTypeHardenedRP ... - RecoveryPointTierTypeHardenedRP RecoveryPointTierType = "HardenedRP" - // RecoveryPointTierTypeInstantRP ... - RecoveryPointTierTypeInstantRP RecoveryPointTierType = "InstantRP" - // RecoveryPointTierTypeInvalid ... - RecoveryPointTierTypeInvalid RecoveryPointTierType = "Invalid" -) - -// PossibleRecoveryPointTierTypeValues returns an array of possible values for the RecoveryPointTierType const type. -func PossibleRecoveryPointTierTypeValues() []RecoveryPointTierType { - return []RecoveryPointTierType{RecoveryPointTierTypeHardenedRP, RecoveryPointTierTypeInstantRP, RecoveryPointTierTypeInvalid} -} - -// RecoveryType enumerates the values for recovery type. -type RecoveryType string - -const ( - // RecoveryTypeAlternateLocation ... - RecoveryTypeAlternateLocation RecoveryType = "AlternateLocation" - // RecoveryTypeInvalid ... - RecoveryTypeInvalid RecoveryType = "Invalid" - // RecoveryTypeOriginalLocation ... - RecoveryTypeOriginalLocation RecoveryType = "OriginalLocation" - // RecoveryTypeRestoreDisks ... - RecoveryTypeRestoreDisks RecoveryType = "RestoreDisks" -) - -// PossibleRecoveryTypeValues returns an array of possible values for the RecoveryType const type. -func PossibleRecoveryTypeValues() []RecoveryType { - return []RecoveryType{RecoveryTypeAlternateLocation, RecoveryTypeInvalid, RecoveryTypeOriginalLocation, RecoveryTypeRestoreDisks} -} - -// RestorePointQueryType enumerates the values for restore point query type. -type RestorePointQueryType string - -const ( - // RestorePointQueryTypeAll ... - RestorePointQueryTypeAll RestorePointQueryType = "All" - // RestorePointQueryTypeDifferential ... - RestorePointQueryTypeDifferential RestorePointQueryType = "Differential" - // RestorePointQueryTypeFull ... - RestorePointQueryTypeFull RestorePointQueryType = "Full" - // RestorePointQueryTypeFullAndDifferential ... - RestorePointQueryTypeFullAndDifferential RestorePointQueryType = "FullAndDifferential" - // RestorePointQueryTypeInvalid ... - RestorePointQueryTypeInvalid RestorePointQueryType = "Invalid" - // RestorePointQueryTypeLog ... - RestorePointQueryTypeLog RestorePointQueryType = "Log" -) - -// PossibleRestorePointQueryTypeValues returns an array of possible values for the RestorePointQueryType const type. -func PossibleRestorePointQueryTypeValues() []RestorePointQueryType { - return []RestorePointQueryType{RestorePointQueryTypeAll, RestorePointQueryTypeDifferential, RestorePointQueryTypeFull, RestorePointQueryTypeFullAndDifferential, RestorePointQueryTypeInvalid, RestorePointQueryTypeLog} -} - -// RestorePointType enumerates the values for restore point type. -type RestorePointType string - -const ( - // RestorePointTypeDifferential ... - RestorePointTypeDifferential RestorePointType = "Differential" - // RestorePointTypeFull ... - RestorePointTypeFull RestorePointType = "Full" - // RestorePointTypeInvalid ... - RestorePointTypeInvalid RestorePointType = "Invalid" - // RestorePointTypeLog ... - RestorePointTypeLog RestorePointType = "Log" -) - -// PossibleRestorePointTypeValues returns an array of possible values for the RestorePointType const type. -func PossibleRestorePointTypeValues() []RestorePointType { - return []RestorePointType{RestorePointTypeDifferential, RestorePointTypeFull, RestorePointTypeInvalid, RestorePointTypeLog} -} - -// RestoreRequestType enumerates the values for restore request type. -type RestoreRequestType string - -const ( - // RestoreRequestTypeFullShareRestore ... - RestoreRequestTypeFullShareRestore RestoreRequestType = "FullShareRestore" - // RestoreRequestTypeInvalid ... - RestoreRequestTypeInvalid RestoreRequestType = "Invalid" - // RestoreRequestTypeItemLevelRestore ... - RestoreRequestTypeItemLevelRestore RestoreRequestType = "ItemLevelRestore" -) - -// PossibleRestoreRequestTypeValues returns an array of possible values for the RestoreRequestType const type. -func PossibleRestoreRequestTypeValues() []RestoreRequestType { - return []RestoreRequestType{RestoreRequestTypeFullShareRestore, RestoreRequestTypeInvalid, RestoreRequestTypeItemLevelRestore} -} - -// RetentionDurationType enumerates the values for retention duration type. -type RetentionDurationType string - -const ( - // RetentionDurationTypeDays ... - RetentionDurationTypeDays RetentionDurationType = "Days" - // RetentionDurationTypeInvalid ... - RetentionDurationTypeInvalid RetentionDurationType = "Invalid" - // RetentionDurationTypeMonths ... - RetentionDurationTypeMonths RetentionDurationType = "Months" - // RetentionDurationTypeWeeks ... - RetentionDurationTypeWeeks RetentionDurationType = "Weeks" - // RetentionDurationTypeYears ... - RetentionDurationTypeYears RetentionDurationType = "Years" -) - -// PossibleRetentionDurationTypeValues returns an array of possible values for the RetentionDurationType const type. -func PossibleRetentionDurationTypeValues() []RetentionDurationType { - return []RetentionDurationType{RetentionDurationTypeDays, RetentionDurationTypeInvalid, RetentionDurationTypeMonths, RetentionDurationTypeWeeks, RetentionDurationTypeYears} -} - -// RetentionPolicyType enumerates the values for retention policy type. -type RetentionPolicyType string - -const ( - // RetentionPolicyTypeLongTermRetentionPolicy ... - RetentionPolicyTypeLongTermRetentionPolicy RetentionPolicyType = "LongTermRetentionPolicy" - // RetentionPolicyTypeRetentionPolicy ... - RetentionPolicyTypeRetentionPolicy RetentionPolicyType = "RetentionPolicy" - // RetentionPolicyTypeSimpleRetentionPolicy ... - RetentionPolicyTypeSimpleRetentionPolicy RetentionPolicyType = "SimpleRetentionPolicy" -) - -// PossibleRetentionPolicyTypeValues returns an array of possible values for the RetentionPolicyType const type. -func PossibleRetentionPolicyTypeValues() []RetentionPolicyType { - return []RetentionPolicyType{RetentionPolicyTypeLongTermRetentionPolicy, RetentionPolicyTypeRetentionPolicy, RetentionPolicyTypeSimpleRetentionPolicy} -} - -// RetentionScheduleFormat enumerates the values for retention schedule format. -type RetentionScheduleFormat string - -const ( - // RetentionScheduleFormatDaily ... - RetentionScheduleFormatDaily RetentionScheduleFormat = "Daily" - // RetentionScheduleFormatInvalid ... - RetentionScheduleFormatInvalid RetentionScheduleFormat = "Invalid" - // RetentionScheduleFormatWeekly ... - RetentionScheduleFormatWeekly RetentionScheduleFormat = "Weekly" -) - -// PossibleRetentionScheduleFormatValues returns an array of possible values for the RetentionScheduleFormat const type. -func PossibleRetentionScheduleFormatValues() []RetentionScheduleFormat { - return []RetentionScheduleFormat{RetentionScheduleFormatDaily, RetentionScheduleFormatInvalid, RetentionScheduleFormatWeekly} -} - -// SchedulePolicyType enumerates the values for schedule policy type. -type SchedulePolicyType string - -const ( - // SchedulePolicyTypeLogSchedulePolicy ... - SchedulePolicyTypeLogSchedulePolicy SchedulePolicyType = "LogSchedulePolicy" - // SchedulePolicyTypeLongTermSchedulePolicy ... - SchedulePolicyTypeLongTermSchedulePolicy SchedulePolicyType = "LongTermSchedulePolicy" - // SchedulePolicyTypeSchedulePolicy ... - SchedulePolicyTypeSchedulePolicy SchedulePolicyType = "SchedulePolicy" - // SchedulePolicyTypeSimpleSchedulePolicy ... - SchedulePolicyTypeSimpleSchedulePolicy SchedulePolicyType = "SimpleSchedulePolicy" -) - -// PossibleSchedulePolicyTypeValues returns an array of possible values for the SchedulePolicyType const type. -func PossibleSchedulePolicyTypeValues() []SchedulePolicyType { - return []SchedulePolicyType{SchedulePolicyTypeLogSchedulePolicy, SchedulePolicyTypeLongTermSchedulePolicy, SchedulePolicyTypeSchedulePolicy, SchedulePolicyTypeSimpleSchedulePolicy} -} - -// ScheduleRunType enumerates the values for schedule run type. -type ScheduleRunType string - -const ( - // ScheduleRunTypeDaily ... - ScheduleRunTypeDaily ScheduleRunType = "Daily" - // ScheduleRunTypeInvalid ... - ScheduleRunTypeInvalid ScheduleRunType = "Invalid" - // ScheduleRunTypeWeekly ... - ScheduleRunTypeWeekly ScheduleRunType = "Weekly" -) - -// PossibleScheduleRunTypeValues returns an array of possible values for the ScheduleRunType const type. -func PossibleScheduleRunTypeValues() []ScheduleRunType { - return []ScheduleRunType{ScheduleRunTypeDaily, ScheduleRunTypeInvalid, ScheduleRunTypeWeekly} -} - // SQLDataDirectoryType enumerates the values for sql data directory type. type SQLDataDirectoryType string @@ -1096,29 +481,6 @@ func PossibleTypeValues() []Type { return []Type{TypeCopyOnlyFull, TypeDifferential, TypeFull, TypeInvalid, TypeLog} } -// WeekOfMonth enumerates the values for week of month. -type WeekOfMonth string - -const ( - // WeekOfMonthFirst ... - WeekOfMonthFirst WeekOfMonth = "First" - // WeekOfMonthFourth ... - WeekOfMonthFourth WeekOfMonth = "Fourth" - // WeekOfMonthInvalid ... - WeekOfMonthInvalid WeekOfMonth = "Invalid" - // WeekOfMonthLast ... - WeekOfMonthLast WeekOfMonth = "Last" - // WeekOfMonthSecond ... - WeekOfMonthSecond WeekOfMonth = "Second" - // WeekOfMonthThird ... - WeekOfMonthThird WeekOfMonth = "Third" -) - -// PossibleWeekOfMonthValues returns an array of possible values for the WeekOfMonth const type. -func PossibleWeekOfMonthValues() []WeekOfMonth { - return []WeekOfMonth{WeekOfMonthFirst, WeekOfMonthFourth, WeekOfMonthInvalid, WeekOfMonthLast, WeekOfMonthSecond, WeekOfMonthThird} -} - // WorkloadItemType enumerates the values for workload item type. type WorkloadItemType string @@ -1397,7 +759,7 @@ type AzureBackupServerEngine struct { IsAzureBackupAgentUpgradeAvailable *bool `json:"isAzureBackupAgentUpgradeAvailable,omitempty"` // IsDpmUpgradeAvailable - To check if backup engine upgrade available IsDpmUpgradeAvailable *bool `json:"isDpmUpgradeAvailable,omitempty"` - // ExtendedInfo - Extended info of the backup engine + // ExtendedInfo - Extended info of the backupengine ExtendedInfo *EngineExtendedInfo `json:"extendedInfo,omitempty"` // BackupEngineType - Possible values include: 'BackupEngineTypeBackupEngineBase', 'BackupEngineTypeAzureBackupServerEngine', 'BackupEngineTypeDpmBackupEngine' BackupEngineType EngineType `json:"backupEngineType,omitempty"` @@ -1531,7 +893,7 @@ type AzureFileShareProtectableItem struct { FriendlyName *string `json:"friendlyName,omitempty"` // ProtectionState - State of the back up item. Possible values include: 'ProtectionStatusInvalid', 'ProtectionStatusNotProtected', 'ProtectionStatusProtecting', 'ProtectionStatusProtected', 'ProtectionStatusProtectionFailed' ProtectionState ProtectionStatus `json:"protectionState,omitempty"` - // ProtectableItemType - Possible values include: 'ProtectableItemTypeWorkloadProtectableItem', 'ProtectableItemTypeAzureFileShare', 'ProtectableItemTypeMicrosoftClassicComputevirtualMachines', 'ProtectableItemTypeMicrosoftComputevirtualMachines', 'ProtectableItemTypeAzureVMWorkloadProtectableItem', 'ProtectableItemTypeSAPAseDatabase', 'ProtectableItemTypeSAPAseSystem', 'ProtectableItemTypeSAPHanaDatabase', 'ProtectableItemTypeSAPHanaSystem', 'ProtectableItemTypeSQLAvailabilityGroupContainer', 'ProtectableItemTypeSQLDataBase', 'ProtectableItemTypeSQLInstance', 'ProtectableItemTypeIaaSVMProtectableItem' + // ProtectableItemType - Possible values include: 'ProtectableItemTypeWorkloadProtectableItem', 'ProtectableItemTypeAzureFileShare', 'ProtectableItemTypeMicrosoftClassicComputevirtualMachines', 'ProtectableItemTypeMicrosoftComputevirtualMachines', 'ProtectableItemTypeAzureVMWorkloadProtectableItem', 'ProtectableItemTypeSAPAseSystem', 'ProtectableItemTypeSAPHanaDatabase', 'ProtectableItemTypeSAPHanaSystem', 'ProtectableItemTypeSQLAvailabilityGroupContainer', 'ProtectableItemTypeSQLDataBase', 'ProtectableItemTypeSQLInstance', 'ProtectableItemTypeIaaSVMProtectableItem' ProtectableItemType ProtectableItemType `json:"protectableItemType,omitempty"` } @@ -1591,11 +953,6 @@ func (afspi AzureFileShareProtectableItem) AsBasicAzureVMWorkloadProtectableItem return nil, false } -// AsAzureVMWorkloadSAPAseDatabaseProtectableItem is the BasicWorkloadProtectableItem implementation for AzureFileShareProtectableItem. -func (afspi AzureFileShareProtectableItem) AsAzureVMWorkloadSAPAseDatabaseProtectableItem() (*AzureVMWorkloadSAPAseDatabaseProtectableItem, bool) { - return nil, false -} - // AsAzureVMWorkloadSAPAseSystemProtectableItem is the BasicWorkloadProtectableItem implementation for AzureFileShareProtectableItem. func (afspi AzureFileShareProtectableItem) AsAzureVMWorkloadSAPAseSystemProtectableItem() (*AzureVMWorkloadSAPAseSystemProtectableItem, bool) { return nil, false @@ -1646,1048 +1003,838 @@ func (afspi AzureFileShareProtectableItem) AsBasicWorkloadProtectableItem() (Bas return &afspi, true } -// AzureFileshareProtectedItem azure File Share workload-specific backup item. -type AzureFileshareProtectedItem struct { - // FriendlyName - Friendly name of the fileshare represented by this backup item. - FriendlyName *string `json:"friendlyName,omitempty"` - // ProtectionStatus - Backup status of this backup item. - ProtectionStatus *string `json:"protectionStatus,omitempty"` - // ProtectionState - Backup state of this backup item. Possible values include: 'ProtectionStateInvalid', 'ProtectionStateIRPending', 'ProtectionStateProtected', 'ProtectionStateProtectionError', 'ProtectionStateProtectionStopped', 'ProtectionStateProtectionPaused' - ProtectionState ProtectionState `json:"protectionState,omitempty"` - // HealthStatus - backups running status for this backup item. Possible values include: 'HealthStatusPassed', 'HealthStatusActionRequired', 'HealthStatusActionSuggested', 'HealthStatusInvalid' - HealthStatus HealthStatus `json:"healthStatus,omitempty"` - // LastBackupStatus - Last backup operation status. Possible values: Healthy, Unhealthy. - LastBackupStatus *string `json:"lastBackupStatus,omitempty"` - // LastBackupTime - Timestamp of the last backup operation on this backup item. - LastBackupTime *date.Time `json:"lastBackupTime,omitempty"` - // ExtendedInfo - Additional information with this backup item. - ExtendedInfo *AzureFileshareProtectedItemExtendedInfo `json:"extendedInfo,omitempty"` - // BackupManagementType - Type of backup management for the backed up item. Possible values include: 'ManagementTypeInvalid', 'ManagementTypeAzureIaasVM', 'ManagementTypeMAB', 'ManagementTypeDPM', 'ManagementTypeAzureBackupServer', 'ManagementTypeAzureSQL', 'ManagementTypeAzureStorage', 'ManagementTypeAzureWorkload', 'ManagementTypeDefaultBackup' - BackupManagementType ManagementType `json:"backupManagementType,omitempty"` - // WorkloadType - Type of workload this item represents. Possible values include: 'DataSourceTypeInvalid', 'DataSourceTypeVM', 'DataSourceTypeFileFolder', 'DataSourceTypeAzureSQLDb', 'DataSourceTypeSQLDB', 'DataSourceTypeExchange', 'DataSourceTypeSharepoint', 'DataSourceTypeVMwareVM', 'DataSourceTypeSystemState', 'DataSourceTypeClient', 'DataSourceTypeGenericDataSource', 'DataSourceTypeSQLDataBase', 'DataSourceTypeAzureFileShare', 'DataSourceTypeSAPHanaDatabase', 'DataSourceTypeSAPAseDatabase' - WorkloadType DataSourceType `json:"workloadType,omitempty"` - // ContainerName - Unique name of container - ContainerName *string `json:"containerName,omitempty"` - // SourceResourceID - ARM ID of the resource to be backed up. +// AzureFileShareProvisionILRRequest update snapshot Uri with the correct friendly Name of the source Azure +// file share. +type AzureFileShareProvisionILRRequest struct { + // RecoveryPointID - Recovery point ID. + RecoveryPointID *string `json:"recoveryPointId,omitempty"` + // SourceResourceID - Source Storage account ARM Id SourceResourceID *string `json:"sourceResourceId,omitempty"` - // PolicyID - ID of the backup policy with which this item is backed up. - PolicyID *string `json:"policyId,omitempty"` - // LastRecoveryPoint - Timestamp when the last (latest) backup copy was created for this backup item. - LastRecoveryPoint *date.Time `json:"lastRecoveryPoint,omitempty"` - // BackupSetName - Name of the backup set the backup item belongs to - BackupSetName *string `json:"backupSetName,omitempty"` - // CreateMode - Create mode to indicate recovery of existing soft deleted data source or creation of new data source. Possible values include: 'CreateModeInvalid', 'CreateModeDefault', 'CreateModeRecover' - CreateMode CreateMode `json:"createMode,omitempty"` - // DeferredDeleteTimeInUTC - Time for deferred deletion in UTC - DeferredDeleteTimeInUTC *date.Time `json:"deferredDeleteTimeInUTC,omitempty"` - // IsScheduledForDeferredDelete - Flag to identify whether the DS is scheduled for deferred delete - IsScheduledForDeferredDelete *bool `json:"isScheduledForDeferredDelete,omitempty"` - // DeferredDeleteTimeRemaining - Time remaining before the DS marked for deferred delete is permanently deleted - DeferredDeleteTimeRemaining *string `json:"deferredDeleteTimeRemaining,omitempty"` - // IsDeferredDeleteScheduleUpcoming - Flag to identify whether the deferred deleted DS is to be purged soon - IsDeferredDeleteScheduleUpcoming *bool `json:"isDeferredDeleteScheduleUpcoming,omitempty"` - // IsRehydrate - Flag to identify that deferred deleted DS is to be moved into Pause state - IsRehydrate *bool `json:"isRehydrate,omitempty"` - // ProtectedItemType - Possible values include: 'ProtectedItemTypeProtectedItem', 'ProtectedItemTypeAzureFileShareProtectedItem', 'ProtectedItemTypeMicrosoftClassicComputevirtualMachines', 'ProtectedItemTypeMicrosoftComputevirtualMachines', 'ProtectedItemTypeAzureIaaSVMProtectedItem', 'ProtectedItemTypeMicrosoftSqlserversdatabases', 'ProtectedItemTypeAzureVMWorkloadProtectedItem', 'ProtectedItemTypeAzureVMWorkloadSAPAseDatabase', 'ProtectedItemTypeAzureVMWorkloadSAPHanaDatabase', 'ProtectedItemTypeAzureVMWorkloadSQLDatabase', 'ProtectedItemTypeDPMProtectedItem', 'ProtectedItemTypeGenericProtectedItem', 'ProtectedItemTypeMabFileFolderProtectedItem' - ProtectedItemType ProtectedItemType `json:"protectedItemType,omitempty"` -} - -// MarshalJSON is the custom marshaler for AzureFileshareProtectedItem. -func (afpi AzureFileshareProtectedItem) MarshalJSON() ([]byte, error) { - afpi.ProtectedItemType = ProtectedItemTypeAzureFileShareProtectedItem + // ObjectType - Possible values include: 'ObjectTypeILRRequest', 'ObjectTypeAzureFileShareProvisionILRRequest', 'ObjectTypeIaasVMILRRegistrationRequest' + ObjectType ObjectTypeBasicILRRequest `json:"objectType,omitempty"` +} + +// MarshalJSON is the custom marshaler for AzureFileShareProvisionILRRequest. +func (afspir AzureFileShareProvisionILRRequest) MarshalJSON() ([]byte, error) { + afspir.ObjectType = ObjectTypeAzureFileShareProvisionILRRequest objectMap := make(map[string]interface{}) - if afpi.FriendlyName != nil { - objectMap["friendlyName"] = afpi.FriendlyName - } - if afpi.ProtectionStatus != nil { - objectMap["protectionStatus"] = afpi.ProtectionStatus - } - if afpi.ProtectionState != "" { - objectMap["protectionState"] = afpi.ProtectionState - } - if afpi.HealthStatus != "" { - objectMap["healthStatus"] = afpi.HealthStatus - } - if afpi.LastBackupStatus != nil { - objectMap["lastBackupStatus"] = afpi.LastBackupStatus - } - if afpi.LastBackupTime != nil { - objectMap["lastBackupTime"] = afpi.LastBackupTime - } - if afpi.ExtendedInfo != nil { - objectMap["extendedInfo"] = afpi.ExtendedInfo - } - if afpi.BackupManagementType != "" { - objectMap["backupManagementType"] = afpi.BackupManagementType - } - if afpi.WorkloadType != "" { - objectMap["workloadType"] = afpi.WorkloadType - } - if afpi.ContainerName != nil { - objectMap["containerName"] = afpi.ContainerName - } - if afpi.SourceResourceID != nil { - objectMap["sourceResourceId"] = afpi.SourceResourceID - } - if afpi.PolicyID != nil { - objectMap["policyId"] = afpi.PolicyID - } - if afpi.LastRecoveryPoint != nil { - objectMap["lastRecoveryPoint"] = afpi.LastRecoveryPoint + if afspir.RecoveryPointID != nil { + objectMap["recoveryPointId"] = afspir.RecoveryPointID } - if afpi.BackupSetName != nil { - objectMap["backupSetName"] = afpi.BackupSetName + if afspir.SourceResourceID != nil { + objectMap["sourceResourceId"] = afspir.SourceResourceID } - if afpi.CreateMode != "" { - objectMap["createMode"] = afpi.CreateMode - } - if afpi.DeferredDeleteTimeInUTC != nil { - objectMap["deferredDeleteTimeInUTC"] = afpi.DeferredDeleteTimeInUTC - } - if afpi.IsScheduledForDeferredDelete != nil { - objectMap["isScheduledForDeferredDelete"] = afpi.IsScheduledForDeferredDelete - } - if afpi.DeferredDeleteTimeRemaining != nil { - objectMap["deferredDeleteTimeRemaining"] = afpi.DeferredDeleteTimeRemaining - } - if afpi.IsDeferredDeleteScheduleUpcoming != nil { - objectMap["isDeferredDeleteScheduleUpcoming"] = afpi.IsDeferredDeleteScheduleUpcoming - } - if afpi.IsRehydrate != nil { - objectMap["isRehydrate"] = afpi.IsRehydrate - } - if afpi.ProtectedItemType != "" { - objectMap["protectedItemType"] = afpi.ProtectedItemType + if afspir.ObjectType != "" { + objectMap["objectType"] = afspir.ObjectType } return json.Marshal(objectMap) } -// AsAzureFileshareProtectedItem is the BasicProtectedItem implementation for AzureFileshareProtectedItem. -func (afpi AzureFileshareProtectedItem) AsAzureFileshareProtectedItem() (*AzureFileshareProtectedItem, bool) { - return &afpi, true +// AsAzureFileShareProvisionILRRequest is the BasicILRRequest implementation for AzureFileShareProvisionILRRequest. +func (afspir AzureFileShareProvisionILRRequest) AsAzureFileShareProvisionILRRequest() (*AzureFileShareProvisionILRRequest, bool) { + return &afspir, true } -// AsAzureIaaSClassicComputeVMProtectedItem is the BasicProtectedItem implementation for AzureFileshareProtectedItem. -func (afpi AzureFileshareProtectedItem) AsAzureIaaSClassicComputeVMProtectedItem() (*AzureIaaSClassicComputeVMProtectedItem, bool) { +// AsIaasVMILRRegistrationRequest is the BasicILRRequest implementation for AzureFileShareProvisionILRRequest. +func (afspir AzureFileShareProvisionILRRequest) AsIaasVMILRRegistrationRequest() (*IaasVMILRRegistrationRequest, bool) { return nil, false } -// AsAzureIaaSComputeVMProtectedItem is the BasicProtectedItem implementation for AzureFileshareProtectedItem. -func (afpi AzureFileshareProtectedItem) AsAzureIaaSComputeVMProtectedItem() (*AzureIaaSComputeVMProtectedItem, bool) { +// AsILRRequest is the BasicILRRequest implementation for AzureFileShareProvisionILRRequest. +func (afspir AzureFileShareProvisionILRRequest) AsILRRequest() (*ILRRequest, bool) { return nil, false } -// AsAzureIaaSVMProtectedItem is the BasicProtectedItem implementation for AzureFileshareProtectedItem. -func (afpi AzureFileshareProtectedItem) AsAzureIaaSVMProtectedItem() (*AzureIaaSVMProtectedItem, bool) { - return nil, false +// AsBasicILRRequest is the BasicILRRequest implementation for AzureFileShareProvisionILRRequest. +func (afspir AzureFileShareProvisionILRRequest) AsBasicILRRequest() (BasicILRRequest, bool) { + return &afspir, true } -// AsBasicAzureIaaSVMProtectedItem is the BasicProtectedItem implementation for AzureFileshareProtectedItem. -func (afpi AzureFileshareProtectedItem) AsBasicAzureIaaSVMProtectedItem() (BasicAzureIaaSVMProtectedItem, bool) { - return nil, false +// AzureIaaSClassicComputeVMContainer iaaS VM workload-specific backup item representing a classic virtual +// machine. +type AzureIaaSClassicComputeVMContainer struct { + // VirtualMachineID - Fully qualified ARM url of the virtual machine represented by this Azure IaaS VM container. + VirtualMachineID *string `json:"virtualMachineId,omitempty"` + // VirtualMachineVersion - Specifies whether the container represents a Classic or an Azure Resource Manager VM. + VirtualMachineVersion *string `json:"virtualMachineVersion,omitempty"` + // ResourceGroup - Resource group name of Recovery Services Vault. + ResourceGroup *string `json:"resourceGroup,omitempty"` + // FriendlyName - Friendly name of the container. + FriendlyName *string `json:"friendlyName,omitempty"` + // BackupManagementType - Type of backup management for the container. Possible values include: 'ManagementTypeInvalid', 'ManagementTypeAzureIaasVM', 'ManagementTypeMAB', 'ManagementTypeDPM', 'ManagementTypeAzureBackupServer', 'ManagementTypeAzureSQL', 'ManagementTypeAzureStorage', 'ManagementTypeAzureWorkload', 'ManagementTypeDefaultBackup' + BackupManagementType ManagementType `json:"backupManagementType,omitempty"` + // RegistrationStatus - Status of registration of the container with the Recovery Services Vault. + RegistrationStatus *string `json:"registrationStatus,omitempty"` + // HealthStatus - Status of health of the container. + HealthStatus *string `json:"healthStatus,omitempty"` + // ContainerType - Possible values include: 'ContainerTypeProtectionContainer', 'ContainerTypeAzureBackupServerContainer1', 'ContainerTypeMicrosoftClassicComputevirtualMachines', 'ContainerTypeMicrosoftComputevirtualMachines', 'ContainerTypeSQLAGWorkLoadContainer1', 'ContainerTypeAzureSQLContainer1', 'ContainerTypeStorageContainer1', 'ContainerTypeVMAppContainer1', 'ContainerTypeAzureWorkloadContainer', 'ContainerTypeDPMContainer1', 'ContainerTypeGenericContainer1', 'ContainerTypeIaaSVMContainer', 'ContainerTypeWindows1' + ContainerType ContainerTypeBasicProtectionContainer `json:"containerType,omitempty"` } -// AsAzureSQLProtectedItem is the BasicProtectedItem implementation for AzureFileshareProtectedItem. -func (afpi AzureFileshareProtectedItem) AsAzureSQLProtectedItem() (*AzureSQLProtectedItem, bool) { - return nil, false +// MarshalJSON is the custom marshaler for AzureIaaSClassicComputeVMContainer. +func (aisccvc AzureIaaSClassicComputeVMContainer) MarshalJSON() ([]byte, error) { + aisccvc.ContainerType = ContainerTypeMicrosoftClassicComputevirtualMachines + objectMap := make(map[string]interface{}) + if aisccvc.VirtualMachineID != nil { + objectMap["virtualMachineId"] = aisccvc.VirtualMachineID + } + if aisccvc.VirtualMachineVersion != nil { + objectMap["virtualMachineVersion"] = aisccvc.VirtualMachineVersion + } + if aisccvc.ResourceGroup != nil { + objectMap["resourceGroup"] = aisccvc.ResourceGroup + } + if aisccvc.FriendlyName != nil { + objectMap["friendlyName"] = aisccvc.FriendlyName + } + if aisccvc.BackupManagementType != "" { + objectMap["backupManagementType"] = aisccvc.BackupManagementType + } + if aisccvc.RegistrationStatus != nil { + objectMap["registrationStatus"] = aisccvc.RegistrationStatus + } + if aisccvc.HealthStatus != nil { + objectMap["healthStatus"] = aisccvc.HealthStatus + } + if aisccvc.ContainerType != "" { + objectMap["containerType"] = aisccvc.ContainerType + } + return json.Marshal(objectMap) } -// AsAzureVMWorkloadProtectedItem is the BasicProtectedItem implementation for AzureFileshareProtectedItem. -func (afpi AzureFileshareProtectedItem) AsAzureVMWorkloadProtectedItem() (*AzureVMWorkloadProtectedItem, bool) { +// AsAzureBackupServerContainer is the BasicProtectionContainer implementation for AzureIaaSClassicComputeVMContainer. +func (aisccvc AzureIaaSClassicComputeVMContainer) AsAzureBackupServerContainer() (*AzureBackupServerContainer, bool) { return nil, false } -// AsBasicAzureVMWorkloadProtectedItem is the BasicProtectedItem implementation for AzureFileshareProtectedItem. -func (afpi AzureFileshareProtectedItem) AsBasicAzureVMWorkloadProtectedItem() (BasicAzureVMWorkloadProtectedItem, bool) { - return nil, false +// AsAzureIaaSClassicComputeVMContainer is the BasicProtectionContainer implementation for AzureIaaSClassicComputeVMContainer. +func (aisccvc AzureIaaSClassicComputeVMContainer) AsAzureIaaSClassicComputeVMContainer() (*AzureIaaSClassicComputeVMContainer, bool) { + return &aisccvc, true } -// AsAzureVMWorkloadSAPAseDatabaseProtectedItem is the BasicProtectedItem implementation for AzureFileshareProtectedItem. -func (afpi AzureFileshareProtectedItem) AsAzureVMWorkloadSAPAseDatabaseProtectedItem() (*AzureVMWorkloadSAPAseDatabaseProtectedItem, bool) { - return nil, false -} - -// AsAzureVMWorkloadSAPHanaDatabaseProtectedItem is the BasicProtectedItem implementation for AzureFileshareProtectedItem. -func (afpi AzureFileshareProtectedItem) AsAzureVMWorkloadSAPHanaDatabaseProtectedItem() (*AzureVMWorkloadSAPHanaDatabaseProtectedItem, bool) { +// AsAzureIaaSComputeVMContainer is the BasicProtectionContainer implementation for AzureIaaSClassicComputeVMContainer. +func (aisccvc AzureIaaSClassicComputeVMContainer) AsAzureIaaSComputeVMContainer() (*AzureIaaSComputeVMContainer, bool) { return nil, false } -// AsAzureVMWorkloadSQLDatabaseProtectedItem is the BasicProtectedItem implementation for AzureFileshareProtectedItem. -func (afpi AzureFileshareProtectedItem) AsAzureVMWorkloadSQLDatabaseProtectedItem() (*AzureVMWorkloadSQLDatabaseProtectedItem, bool) { +// AsAzureSQLAGWorkloadContainerProtectionContainer is the BasicProtectionContainer implementation for AzureIaaSClassicComputeVMContainer. +func (aisccvc AzureIaaSClassicComputeVMContainer) AsAzureSQLAGWorkloadContainerProtectionContainer() (*AzureSQLAGWorkloadContainerProtectionContainer, bool) { return nil, false } -// AsDPMProtectedItem is the BasicProtectedItem implementation for AzureFileshareProtectedItem. -func (afpi AzureFileshareProtectedItem) AsDPMProtectedItem() (*DPMProtectedItem, bool) { +// AsAzureSQLContainer is the BasicProtectionContainer implementation for AzureIaaSClassicComputeVMContainer. +func (aisccvc AzureIaaSClassicComputeVMContainer) AsAzureSQLContainer() (*AzureSQLContainer, bool) { return nil, false } -// AsGenericProtectedItem is the BasicProtectedItem implementation for AzureFileshareProtectedItem. -func (afpi AzureFileshareProtectedItem) AsGenericProtectedItem() (*GenericProtectedItem, bool) { +// AsAzureStorageContainer is the BasicProtectionContainer implementation for AzureIaaSClassicComputeVMContainer. +func (aisccvc AzureIaaSClassicComputeVMContainer) AsAzureStorageContainer() (*AzureStorageContainer, bool) { return nil, false } -// AsMabFileFolderProtectedItem is the BasicProtectedItem implementation for AzureFileshareProtectedItem. -func (afpi AzureFileshareProtectedItem) AsMabFileFolderProtectedItem() (*MabFileFolderProtectedItem, bool) { +// AsAzureVMAppContainerProtectionContainer is the BasicProtectionContainer implementation for AzureIaaSClassicComputeVMContainer. +func (aisccvc AzureIaaSClassicComputeVMContainer) AsAzureVMAppContainerProtectionContainer() (*AzureVMAppContainerProtectionContainer, bool) { return nil, false } -// AsProtectedItem is the BasicProtectedItem implementation for AzureFileshareProtectedItem. -func (afpi AzureFileshareProtectedItem) AsProtectedItem() (*ProtectedItem, bool) { +// AsAzureWorkloadContainer is the BasicProtectionContainer implementation for AzureIaaSClassicComputeVMContainer. +func (aisccvc AzureIaaSClassicComputeVMContainer) AsAzureWorkloadContainer() (*AzureWorkloadContainer, bool) { return nil, false } -// AsBasicProtectedItem is the BasicProtectedItem implementation for AzureFileshareProtectedItem. -func (afpi AzureFileshareProtectedItem) AsBasicProtectedItem() (BasicProtectedItem, bool) { - return &afpi, true -} - -// AzureFileshareProtectedItemExtendedInfo additional information about Azure File Share backup item. -type AzureFileshareProtectedItemExtendedInfo struct { - // OldestRecoveryPoint - The oldest backup copy available for this item in the service. - OldestRecoveryPoint *date.Time `json:"oldestRecoveryPoint,omitempty"` - // RecoveryPointCount - Number of available backup copies associated with this backup item. - RecoveryPointCount *int32 `json:"recoveryPointCount,omitempty"` - // PolicyState - Indicates consistency of policy object and policy applied to this backup item. - PolicyState *string `json:"policyState,omitempty"` -} - -// AzureFileShareProtectionPolicy azureStorage backup policy. -type AzureFileShareProtectionPolicy struct { - // WorkLoadType - Type of workload for the backup management. Possible values include: 'WorkloadTypeInvalid', 'WorkloadTypeVM', 'WorkloadTypeFileFolder', 'WorkloadTypeAzureSQLDb', 'WorkloadTypeSQLDB', 'WorkloadTypeExchange', 'WorkloadTypeSharepoint', 'WorkloadTypeVMwareVM', 'WorkloadTypeSystemState', 'WorkloadTypeClient', 'WorkloadTypeGenericDataSource', 'WorkloadTypeSQLDataBase', 'WorkloadTypeAzureFileShare', 'WorkloadTypeSAPHanaDatabase', 'WorkloadTypeSAPAseDatabase' - WorkLoadType WorkloadType `json:"workLoadType,omitempty"` - // SchedulePolicy - Backup schedule specified as part of backup policy. - SchedulePolicy BasicSchedulePolicy `json:"schedulePolicy,omitempty"` - // RetentionPolicy - Retention policy with the details on backup copy retention ranges. - RetentionPolicy BasicRetentionPolicy `json:"retentionPolicy,omitempty"` - // TimeZone - TimeZone optional input as string. For example: TimeZone = "Pacific Standard Time". - TimeZone *string `json:"timeZone,omitempty"` - // ProtectedItemsCount - Number of items associated with this policy. - ProtectedItemsCount *int32 `json:"protectedItemsCount,omitempty"` - // BackupManagementType - Possible values include: 'BackupManagementTypeProtectionPolicy', 'BackupManagementTypeAzureStorage', 'BackupManagementTypeAzureIaasVM', 'BackupManagementTypeAzureSQL', 'BackupManagementTypeAzureWorkload', 'BackupManagementTypeGenericProtectionPolicy', 'BackupManagementTypeMAB' - BackupManagementType ManagementTypeBasicProtectionPolicy `json:"backupManagementType,omitempty"` -} - -// MarshalJSON is the custom marshaler for AzureFileShareProtectionPolicy. -func (afspp AzureFileShareProtectionPolicy) MarshalJSON() ([]byte, error) { - afspp.BackupManagementType = BackupManagementTypeAzureStorage - objectMap := make(map[string]interface{}) - if afspp.WorkLoadType != "" { - objectMap["workLoadType"] = afspp.WorkLoadType - } - objectMap["schedulePolicy"] = afspp.SchedulePolicy - objectMap["retentionPolicy"] = afspp.RetentionPolicy - if afspp.TimeZone != nil { - objectMap["timeZone"] = afspp.TimeZone - } - if afspp.ProtectedItemsCount != nil { - objectMap["protectedItemsCount"] = afspp.ProtectedItemsCount - } - if afspp.BackupManagementType != "" { - objectMap["backupManagementType"] = afspp.BackupManagementType - } - return json.Marshal(objectMap) -} - -// AsAzureFileShareProtectionPolicy is the BasicProtectionPolicy implementation for AzureFileShareProtectionPolicy. -func (afspp AzureFileShareProtectionPolicy) AsAzureFileShareProtectionPolicy() (*AzureFileShareProtectionPolicy, bool) { - return &afspp, true +// AsBasicAzureWorkloadContainer is the BasicProtectionContainer implementation for AzureIaaSClassicComputeVMContainer. +func (aisccvc AzureIaaSClassicComputeVMContainer) AsBasicAzureWorkloadContainer() (BasicAzureWorkloadContainer, bool) { + return nil, false } -// AsAzureIaaSVMProtectionPolicy is the BasicProtectionPolicy implementation for AzureFileShareProtectionPolicy. -func (afspp AzureFileShareProtectionPolicy) AsAzureIaaSVMProtectionPolicy() (*AzureIaaSVMProtectionPolicy, bool) { +// AsDpmContainer is the BasicProtectionContainer implementation for AzureIaaSClassicComputeVMContainer. +func (aisccvc AzureIaaSClassicComputeVMContainer) AsDpmContainer() (*DpmContainer, bool) { return nil, false } -// AsAzureSQLProtectionPolicy is the BasicProtectionPolicy implementation for AzureFileShareProtectionPolicy. -func (afspp AzureFileShareProtectionPolicy) AsAzureSQLProtectionPolicy() (*AzureSQLProtectionPolicy, bool) { +// AsBasicDpmContainer is the BasicProtectionContainer implementation for AzureIaaSClassicComputeVMContainer. +func (aisccvc AzureIaaSClassicComputeVMContainer) AsBasicDpmContainer() (BasicDpmContainer, bool) { return nil, false } -// AsAzureVMWorkloadProtectionPolicy is the BasicProtectionPolicy implementation for AzureFileShareProtectionPolicy. -func (afspp AzureFileShareProtectionPolicy) AsAzureVMWorkloadProtectionPolicy() (*AzureVMWorkloadProtectionPolicy, bool) { +// AsGenericContainer is the BasicProtectionContainer implementation for AzureIaaSClassicComputeVMContainer. +func (aisccvc AzureIaaSClassicComputeVMContainer) AsGenericContainer() (*GenericContainer, bool) { return nil, false } -// AsGenericProtectionPolicy is the BasicProtectionPolicy implementation for AzureFileShareProtectionPolicy. -func (afspp AzureFileShareProtectionPolicy) AsGenericProtectionPolicy() (*GenericProtectionPolicy, bool) { +// AsIaaSVMContainer is the BasicProtectionContainer implementation for AzureIaaSClassicComputeVMContainer. +func (aisccvc AzureIaaSClassicComputeVMContainer) AsIaaSVMContainer() (*IaaSVMContainer, bool) { return nil, false } -// AsMabProtectionPolicy is the BasicProtectionPolicy implementation for AzureFileShareProtectionPolicy. -func (afspp AzureFileShareProtectionPolicy) AsMabProtectionPolicy() (*MabProtectionPolicy, bool) { - return nil, false +// AsBasicIaaSVMContainer is the BasicProtectionContainer implementation for AzureIaaSClassicComputeVMContainer. +func (aisccvc AzureIaaSClassicComputeVMContainer) AsBasicIaaSVMContainer() (BasicIaaSVMContainer, bool) { + return &aisccvc, true } -// AsProtectionPolicy is the BasicProtectionPolicy implementation for AzureFileShareProtectionPolicy. -func (afspp AzureFileShareProtectionPolicy) AsProtectionPolicy() (*ProtectionPolicy, bool) { +// AsMabContainer is the BasicProtectionContainer implementation for AzureIaaSClassicComputeVMContainer. +func (aisccvc AzureIaaSClassicComputeVMContainer) AsMabContainer() (*MabContainer, bool) { return nil, false } -// AsBasicProtectionPolicy is the BasicProtectionPolicy implementation for AzureFileShareProtectionPolicy. -func (afspp AzureFileShareProtectionPolicy) AsBasicProtectionPolicy() (BasicProtectionPolicy, bool) { - return &afspp, true +// AsProtectionContainer is the BasicProtectionContainer implementation for AzureIaaSClassicComputeVMContainer. +func (aisccvc AzureIaaSClassicComputeVMContainer) AsProtectionContainer() (*ProtectionContainer, bool) { + return nil, false } -// UnmarshalJSON is the custom unmarshaler for AzureFileShareProtectionPolicy struct. -func (afspp *AzureFileShareProtectionPolicy) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - case "workLoadType": - if v != nil { - var workLoadType WorkloadType - err = json.Unmarshal(*v, &workLoadType) - if err != nil { - return err - } - afspp.WorkLoadType = workLoadType - } - case "schedulePolicy": - if v != nil { - schedulePolicy, err := unmarshalBasicSchedulePolicy(*v) - if err != nil { - return err - } - afspp.SchedulePolicy = schedulePolicy - } - case "retentionPolicy": - if v != nil { - retentionPolicy, err := unmarshalBasicRetentionPolicy(*v) - if err != nil { - return err - } - afspp.RetentionPolicy = retentionPolicy - } - case "timeZone": - if v != nil { - var timeZone string - err = json.Unmarshal(*v, &timeZone) - if err != nil { - return err - } - afspp.TimeZone = &timeZone - } - case "protectedItemsCount": - if v != nil { - var protectedItemsCount int32 - err = json.Unmarshal(*v, &protectedItemsCount) - if err != nil { - return err - } - afspp.ProtectedItemsCount = &protectedItemsCount - } - case "backupManagementType": - if v != nil { - var backupManagementType ManagementTypeBasicProtectionPolicy - err = json.Unmarshal(*v, &backupManagementType) - if err != nil { - return err - } - afspp.BackupManagementType = backupManagementType - } - } - } - - return nil +// AsBasicProtectionContainer is the BasicProtectionContainer implementation for AzureIaaSClassicComputeVMContainer. +func (aisccvc AzureIaaSClassicComputeVMContainer) AsBasicProtectionContainer() (BasicProtectionContainer, bool) { + return &aisccvc, true } -// AzureFileShareRecoveryPoint azure File Share workload specific backup copy. -type AzureFileShareRecoveryPoint struct { - // RecoveryPointType - Type of the backup copy. Specifies whether it is a crash consistent backup or app consistent. - RecoveryPointType *string `json:"recoveryPointType,omitempty"` - // RecoveryPointTime - Time at which this backup copy was created. - RecoveryPointTime *date.Time `json:"recoveryPointTime,omitempty"` - // FileShareSnapshotURI - Contains Url to the snapshot of fileshare, if applicable - FileShareSnapshotURI *string `json:"fileShareSnapshotUri,omitempty"` - // ObjectType - Possible values include: 'ObjectTypeRecoveryPoint', 'ObjectTypeAzureFileShareRecoveryPoint', 'ObjectTypeAzureWorkloadPointInTimeRecoveryPoint', 'ObjectTypeAzureWorkloadRecoveryPoint', 'ObjectTypeAzureWorkloadSAPHanaPointInTimeRecoveryPoint', 'ObjectTypeAzureWorkloadSAPHanaRecoveryPoint', 'ObjectTypeAzureWorkloadSQLPointInTimeRecoveryPoint', 'ObjectTypeAzureWorkloadSQLRecoveryPoint', 'ObjectTypeGenericRecoveryPoint', 'ObjectTypeIaasVMRecoveryPoint' - ObjectType ObjectTypeBasicRecoveryPoint `json:"objectType,omitempty"` +// AzureIaaSClassicComputeVMProtectableItem iaaS VM workload-specific backup item representing the Classic +// Compute VM. +type AzureIaaSClassicComputeVMProtectableItem struct { + // VirtualMachineID - Fully qualified ARM ID of the virtual machine. + VirtualMachineID *string `json:"virtualMachineId,omitempty"` + // BackupManagementType - Type of backup management to backup an item. + BackupManagementType *string `json:"backupManagementType,omitempty"` + // WorkloadType - Type of workload for the backup management + WorkloadType *string `json:"workloadType,omitempty"` + // FriendlyName - Friendly name of the backup item. + FriendlyName *string `json:"friendlyName,omitempty"` + // ProtectionState - State of the back up item. Possible values include: 'ProtectionStatusInvalid', 'ProtectionStatusNotProtected', 'ProtectionStatusProtecting', 'ProtectionStatusProtected', 'ProtectionStatusProtectionFailed' + ProtectionState ProtectionStatus `json:"protectionState,omitempty"` + // ProtectableItemType - Possible values include: 'ProtectableItemTypeWorkloadProtectableItem', 'ProtectableItemTypeAzureFileShare', 'ProtectableItemTypeMicrosoftClassicComputevirtualMachines', 'ProtectableItemTypeMicrosoftComputevirtualMachines', 'ProtectableItemTypeAzureVMWorkloadProtectableItem', 'ProtectableItemTypeSAPAseSystem', 'ProtectableItemTypeSAPHanaDatabase', 'ProtectableItemTypeSAPHanaSystem', 'ProtectableItemTypeSQLAvailabilityGroupContainer', 'ProtectableItemTypeSQLDataBase', 'ProtectableItemTypeSQLInstance', 'ProtectableItemTypeIaaSVMProtectableItem' + ProtectableItemType ProtectableItemType `json:"protectableItemType,omitempty"` } -// MarshalJSON is the custom marshaler for AzureFileShareRecoveryPoint. -func (afsrp AzureFileShareRecoveryPoint) MarshalJSON() ([]byte, error) { - afsrp.ObjectType = ObjectTypeAzureFileShareRecoveryPoint +// MarshalJSON is the custom marshaler for AzureIaaSClassicComputeVMProtectableItem. +func (aisccvpi AzureIaaSClassicComputeVMProtectableItem) MarshalJSON() ([]byte, error) { + aisccvpi.ProtectableItemType = ProtectableItemTypeMicrosoftClassicComputevirtualMachines objectMap := make(map[string]interface{}) - if afsrp.RecoveryPointType != nil { - objectMap["recoveryPointType"] = afsrp.RecoveryPointType + if aisccvpi.VirtualMachineID != nil { + objectMap["virtualMachineId"] = aisccvpi.VirtualMachineID + } + if aisccvpi.BackupManagementType != nil { + objectMap["backupManagementType"] = aisccvpi.BackupManagementType } - if afsrp.RecoveryPointTime != nil { - objectMap["recoveryPointTime"] = afsrp.RecoveryPointTime + if aisccvpi.WorkloadType != nil { + objectMap["workloadType"] = aisccvpi.WorkloadType + } + if aisccvpi.FriendlyName != nil { + objectMap["friendlyName"] = aisccvpi.FriendlyName } - if afsrp.FileShareSnapshotURI != nil { - objectMap["fileShareSnapshotUri"] = afsrp.FileShareSnapshotURI + if aisccvpi.ProtectionState != "" { + objectMap["protectionState"] = aisccvpi.ProtectionState } - if afsrp.ObjectType != "" { - objectMap["objectType"] = afsrp.ObjectType + if aisccvpi.ProtectableItemType != "" { + objectMap["protectableItemType"] = aisccvpi.ProtectableItemType } return json.Marshal(objectMap) } -// AsAzureFileShareRecoveryPoint is the BasicRecoveryPoint implementation for AzureFileShareRecoveryPoint. -func (afsrp AzureFileShareRecoveryPoint) AsAzureFileShareRecoveryPoint() (*AzureFileShareRecoveryPoint, bool) { - return &afsrp, true +// AsAzureFileShareProtectableItem is the BasicWorkloadProtectableItem implementation for AzureIaaSClassicComputeVMProtectableItem. +func (aisccvpi AzureIaaSClassicComputeVMProtectableItem) AsAzureFileShareProtectableItem() (*AzureFileShareProtectableItem, bool) { + return nil, false +} + +// AsAzureIaaSClassicComputeVMProtectableItem is the BasicWorkloadProtectableItem implementation for AzureIaaSClassicComputeVMProtectableItem. +func (aisccvpi AzureIaaSClassicComputeVMProtectableItem) AsAzureIaaSClassicComputeVMProtectableItem() (*AzureIaaSClassicComputeVMProtectableItem, bool) { + return &aisccvpi, true } -// AsAzureWorkloadPointInTimeRecoveryPoint is the BasicRecoveryPoint implementation for AzureFileShareRecoveryPoint. -func (afsrp AzureFileShareRecoveryPoint) AsAzureWorkloadPointInTimeRecoveryPoint() (*AzureWorkloadPointInTimeRecoveryPoint, bool) { +// AsAzureIaaSComputeVMProtectableItem is the BasicWorkloadProtectableItem implementation for AzureIaaSClassicComputeVMProtectableItem. +func (aisccvpi AzureIaaSClassicComputeVMProtectableItem) AsAzureIaaSComputeVMProtectableItem() (*AzureIaaSComputeVMProtectableItem, bool) { return nil, false } -// AsBasicAzureWorkloadPointInTimeRecoveryPoint is the BasicRecoveryPoint implementation for AzureFileShareRecoveryPoint. -func (afsrp AzureFileShareRecoveryPoint) AsBasicAzureWorkloadPointInTimeRecoveryPoint() (BasicAzureWorkloadPointInTimeRecoveryPoint, bool) { +// AsAzureVMWorkloadProtectableItem is the BasicWorkloadProtectableItem implementation for AzureIaaSClassicComputeVMProtectableItem. +func (aisccvpi AzureIaaSClassicComputeVMProtectableItem) AsAzureVMWorkloadProtectableItem() (*AzureVMWorkloadProtectableItem, bool) { return nil, false } -// AsAzureWorkloadRecoveryPoint is the BasicRecoveryPoint implementation for AzureFileShareRecoveryPoint. -func (afsrp AzureFileShareRecoveryPoint) AsAzureWorkloadRecoveryPoint() (*AzureWorkloadRecoveryPoint, bool) { +// AsBasicAzureVMWorkloadProtectableItem is the BasicWorkloadProtectableItem implementation for AzureIaaSClassicComputeVMProtectableItem. +func (aisccvpi AzureIaaSClassicComputeVMProtectableItem) AsBasicAzureVMWorkloadProtectableItem() (BasicAzureVMWorkloadProtectableItem, bool) { return nil, false } -// AsBasicAzureWorkloadRecoveryPoint is the BasicRecoveryPoint implementation for AzureFileShareRecoveryPoint. -func (afsrp AzureFileShareRecoveryPoint) AsBasicAzureWorkloadRecoveryPoint() (BasicAzureWorkloadRecoveryPoint, bool) { +// AsAzureVMWorkloadSAPAseSystemProtectableItem is the BasicWorkloadProtectableItem implementation for AzureIaaSClassicComputeVMProtectableItem. +func (aisccvpi AzureIaaSClassicComputeVMProtectableItem) AsAzureVMWorkloadSAPAseSystemProtectableItem() (*AzureVMWorkloadSAPAseSystemProtectableItem, bool) { return nil, false } -// AsAzureWorkloadSAPHanaPointInTimeRecoveryPoint is the BasicRecoveryPoint implementation for AzureFileShareRecoveryPoint. -func (afsrp AzureFileShareRecoveryPoint) AsAzureWorkloadSAPHanaPointInTimeRecoveryPoint() (*AzureWorkloadSAPHanaPointInTimeRecoveryPoint, bool) { +// AsAzureVMWorkloadSAPHanaDatabaseProtectableItem is the BasicWorkloadProtectableItem implementation for AzureIaaSClassicComputeVMProtectableItem. +func (aisccvpi AzureIaaSClassicComputeVMProtectableItem) AsAzureVMWorkloadSAPHanaDatabaseProtectableItem() (*AzureVMWorkloadSAPHanaDatabaseProtectableItem, bool) { return nil, false } -// AsAzureWorkloadSAPHanaRecoveryPoint is the BasicRecoveryPoint implementation for AzureFileShareRecoveryPoint. -func (afsrp AzureFileShareRecoveryPoint) AsAzureWorkloadSAPHanaRecoveryPoint() (*AzureWorkloadSAPHanaRecoveryPoint, bool) { +// AsAzureVMWorkloadSAPHanaSystemProtectableItem is the BasicWorkloadProtectableItem implementation for AzureIaaSClassicComputeVMProtectableItem. +func (aisccvpi AzureIaaSClassicComputeVMProtectableItem) AsAzureVMWorkloadSAPHanaSystemProtectableItem() (*AzureVMWorkloadSAPHanaSystemProtectableItem, bool) { return nil, false } -// AsAzureWorkloadSQLPointInTimeRecoveryPoint is the BasicRecoveryPoint implementation for AzureFileShareRecoveryPoint. -func (afsrp AzureFileShareRecoveryPoint) AsAzureWorkloadSQLPointInTimeRecoveryPoint() (*AzureWorkloadSQLPointInTimeRecoveryPoint, bool) { +// AsAzureVMWorkloadSQLAvailabilityGroupProtectableItem is the BasicWorkloadProtectableItem implementation for AzureIaaSClassicComputeVMProtectableItem. +func (aisccvpi AzureIaaSClassicComputeVMProtectableItem) AsAzureVMWorkloadSQLAvailabilityGroupProtectableItem() (*AzureVMWorkloadSQLAvailabilityGroupProtectableItem, bool) { return nil, false } -// AsAzureWorkloadSQLRecoveryPoint is the BasicRecoveryPoint implementation for AzureFileShareRecoveryPoint. -func (afsrp AzureFileShareRecoveryPoint) AsAzureWorkloadSQLRecoveryPoint() (*AzureWorkloadSQLRecoveryPoint, bool) { +// AsAzureVMWorkloadSQLDatabaseProtectableItem is the BasicWorkloadProtectableItem implementation for AzureIaaSClassicComputeVMProtectableItem. +func (aisccvpi AzureIaaSClassicComputeVMProtectableItem) AsAzureVMWorkloadSQLDatabaseProtectableItem() (*AzureVMWorkloadSQLDatabaseProtectableItem, bool) { return nil, false } -// AsBasicAzureWorkloadSQLRecoveryPoint is the BasicRecoveryPoint implementation for AzureFileShareRecoveryPoint. -func (afsrp AzureFileShareRecoveryPoint) AsBasicAzureWorkloadSQLRecoveryPoint() (BasicAzureWorkloadSQLRecoveryPoint, bool) { +// AsAzureVMWorkloadSQLInstanceProtectableItem is the BasicWorkloadProtectableItem implementation for AzureIaaSClassicComputeVMProtectableItem. +func (aisccvpi AzureIaaSClassicComputeVMProtectableItem) AsAzureVMWorkloadSQLInstanceProtectableItem() (*AzureVMWorkloadSQLInstanceProtectableItem, bool) { return nil, false } -// AsGenericRecoveryPoint is the BasicRecoveryPoint implementation for AzureFileShareRecoveryPoint. -func (afsrp AzureFileShareRecoveryPoint) AsGenericRecoveryPoint() (*GenericRecoveryPoint, bool) { +// AsIaaSVMProtectableItem is the BasicWorkloadProtectableItem implementation for AzureIaaSClassicComputeVMProtectableItem. +func (aisccvpi AzureIaaSClassicComputeVMProtectableItem) AsIaaSVMProtectableItem() (*IaaSVMProtectableItem, bool) { return nil, false } -// AsIaasVMRecoveryPoint is the BasicRecoveryPoint implementation for AzureFileShareRecoveryPoint. -func (afsrp AzureFileShareRecoveryPoint) AsIaasVMRecoveryPoint() (*IaasVMRecoveryPoint, bool) { - return nil, false +// AsBasicIaaSVMProtectableItem is the BasicWorkloadProtectableItem implementation for AzureIaaSClassicComputeVMProtectableItem. +func (aisccvpi AzureIaaSClassicComputeVMProtectableItem) AsBasicIaaSVMProtectableItem() (BasicIaaSVMProtectableItem, bool) { + return &aisccvpi, true } -// AsRecoveryPoint is the BasicRecoveryPoint implementation for AzureFileShareRecoveryPoint. -func (afsrp AzureFileShareRecoveryPoint) AsRecoveryPoint() (*RecoveryPoint, bool) { +// AsWorkloadProtectableItem is the BasicWorkloadProtectableItem implementation for AzureIaaSClassicComputeVMProtectableItem. +func (aisccvpi AzureIaaSClassicComputeVMProtectableItem) AsWorkloadProtectableItem() (*WorkloadProtectableItem, bool) { return nil, false } -// AsBasicRecoveryPoint is the BasicRecoveryPoint implementation for AzureFileShareRecoveryPoint. -func (afsrp AzureFileShareRecoveryPoint) AsBasicRecoveryPoint() (BasicRecoveryPoint, bool) { - return &afsrp, true +// AsBasicWorkloadProtectableItem is the BasicWorkloadProtectableItem implementation for AzureIaaSClassicComputeVMProtectableItem. +func (aisccvpi AzureIaaSClassicComputeVMProtectableItem) AsBasicWorkloadProtectableItem() (BasicWorkloadProtectableItem, bool) { + return &aisccvpi, true +} + +// AzureIaaSComputeVMContainer iaaS VM workload-specific backup item representing an Azure Resource Manager +// virtual machine. +type AzureIaaSComputeVMContainer struct { + // VirtualMachineID - Fully qualified ARM url of the virtual machine represented by this Azure IaaS VM container. + VirtualMachineID *string `json:"virtualMachineId,omitempty"` + // VirtualMachineVersion - Specifies whether the container represents a Classic or an Azure Resource Manager VM. + VirtualMachineVersion *string `json:"virtualMachineVersion,omitempty"` + // ResourceGroup - Resource group name of Recovery Services Vault. + ResourceGroup *string `json:"resourceGroup,omitempty"` + // FriendlyName - Friendly name of the container. + FriendlyName *string `json:"friendlyName,omitempty"` + // BackupManagementType - Type of backup management for the container. Possible values include: 'ManagementTypeInvalid', 'ManagementTypeAzureIaasVM', 'ManagementTypeMAB', 'ManagementTypeDPM', 'ManagementTypeAzureBackupServer', 'ManagementTypeAzureSQL', 'ManagementTypeAzureStorage', 'ManagementTypeAzureWorkload', 'ManagementTypeDefaultBackup' + BackupManagementType ManagementType `json:"backupManagementType,omitempty"` + // RegistrationStatus - Status of registration of the container with the Recovery Services Vault. + RegistrationStatus *string `json:"registrationStatus,omitempty"` + // HealthStatus - Status of health of the container. + HealthStatus *string `json:"healthStatus,omitempty"` + // ContainerType - Possible values include: 'ContainerTypeProtectionContainer', 'ContainerTypeAzureBackupServerContainer1', 'ContainerTypeMicrosoftClassicComputevirtualMachines', 'ContainerTypeMicrosoftComputevirtualMachines', 'ContainerTypeSQLAGWorkLoadContainer1', 'ContainerTypeAzureSQLContainer1', 'ContainerTypeStorageContainer1', 'ContainerTypeVMAppContainer1', 'ContainerTypeAzureWorkloadContainer', 'ContainerTypeDPMContainer1', 'ContainerTypeGenericContainer1', 'ContainerTypeIaaSVMContainer', 'ContainerTypeWindows1' + ContainerType ContainerTypeBasicProtectionContainer `json:"containerType,omitempty"` } -// AzureFileShareRestoreRequest azureFileShare Restore Request -type AzureFileShareRestoreRequest struct { - // RecoveryType - Type of this recovery. Possible values include: 'RecoveryTypeInvalid', 'RecoveryTypeOriginalLocation', 'RecoveryTypeAlternateLocation', 'RecoveryTypeRestoreDisks' - RecoveryType RecoveryType `json:"recoveryType,omitempty"` - // SourceResourceID - Source storage account ARM Id - SourceResourceID *string `json:"sourceResourceId,omitempty"` - // CopyOptions - Options to resolve copy conflicts. Possible values include: 'CopyOptionsInvalid', 'CopyOptionsCreateCopy', 'CopyOptionsSkip', 'CopyOptionsOverwrite', 'CopyOptionsFailOnConflict' - CopyOptions CopyOptions `json:"copyOptions,omitempty"` - // RestoreRequestType - Restore Type (FullShareRestore or ItemLevelRestore). Possible values include: 'RestoreRequestTypeInvalid', 'RestoreRequestTypeFullShareRestore', 'RestoreRequestTypeItemLevelRestore' - RestoreRequestType RestoreRequestType `json:"restoreRequestType,omitempty"` - // RestoreFileSpecs - List of Source Files/Folders(which need to recover) and TargetFolderPath details - RestoreFileSpecs *[]RestoreFileSpecs `json:"restoreFileSpecs,omitempty"` - // TargetDetails - Target File Share Details - TargetDetails *TargetAFSRestoreInfo `json:"targetDetails,omitempty"` - // ObjectType - Possible values include: 'ObjectTypeRestoreRequest', 'ObjectTypeAzureFileShareRestoreRequest', 'ObjectTypeAzureWorkloadPointInTimeRestoreRequest', 'ObjectTypeAzureWorkloadRestoreRequest', 'ObjectTypeAzureWorkloadSAPHanaPointInTimeRestoreRequest', 'ObjectTypeAzureWorkloadSAPHanaRestoreRequest', 'ObjectTypeAzureWorkloadSQLPointInTimeRestoreRequest', 'ObjectTypeAzureWorkloadSQLRestoreRequest', 'ObjectTypeIaasVMRestoreRequest' - ObjectType ObjectTypeBasicRestoreRequest `json:"objectType,omitempty"` -} - -// MarshalJSON is the custom marshaler for AzureFileShareRestoreRequest. -func (afsrr AzureFileShareRestoreRequest) MarshalJSON() ([]byte, error) { - afsrr.ObjectType = ObjectTypeAzureFileShareRestoreRequest +// MarshalJSON is the custom marshaler for AzureIaaSComputeVMContainer. +func (aiscvc AzureIaaSComputeVMContainer) MarshalJSON() ([]byte, error) { + aiscvc.ContainerType = ContainerTypeMicrosoftComputevirtualMachines objectMap := make(map[string]interface{}) - if afsrr.RecoveryType != "" { - objectMap["recoveryType"] = afsrr.RecoveryType + if aiscvc.VirtualMachineID != nil { + objectMap["virtualMachineId"] = aiscvc.VirtualMachineID + } + if aiscvc.VirtualMachineVersion != nil { + objectMap["virtualMachineVersion"] = aiscvc.VirtualMachineVersion } - if afsrr.SourceResourceID != nil { - objectMap["sourceResourceId"] = afsrr.SourceResourceID + if aiscvc.ResourceGroup != nil { + objectMap["resourceGroup"] = aiscvc.ResourceGroup } - if afsrr.CopyOptions != "" { - objectMap["copyOptions"] = afsrr.CopyOptions + if aiscvc.FriendlyName != nil { + objectMap["friendlyName"] = aiscvc.FriendlyName } - if afsrr.RestoreRequestType != "" { - objectMap["restoreRequestType"] = afsrr.RestoreRequestType + if aiscvc.BackupManagementType != "" { + objectMap["backupManagementType"] = aiscvc.BackupManagementType } - if afsrr.RestoreFileSpecs != nil { - objectMap["restoreFileSpecs"] = afsrr.RestoreFileSpecs + if aiscvc.RegistrationStatus != nil { + objectMap["registrationStatus"] = aiscvc.RegistrationStatus } - if afsrr.TargetDetails != nil { - objectMap["targetDetails"] = afsrr.TargetDetails + if aiscvc.HealthStatus != nil { + objectMap["healthStatus"] = aiscvc.HealthStatus } - if afsrr.ObjectType != "" { - objectMap["objectType"] = afsrr.ObjectType + if aiscvc.ContainerType != "" { + objectMap["containerType"] = aiscvc.ContainerType } return json.Marshal(objectMap) } -// AsAzureFileShareRestoreRequest is the BasicRestoreRequest implementation for AzureFileShareRestoreRequest. -func (afsrr AzureFileShareRestoreRequest) AsAzureFileShareRestoreRequest() (*AzureFileShareRestoreRequest, bool) { - return &afsrr, true +// AsAzureBackupServerContainer is the BasicProtectionContainer implementation for AzureIaaSComputeVMContainer. +func (aiscvc AzureIaaSComputeVMContainer) AsAzureBackupServerContainer() (*AzureBackupServerContainer, bool) { + return nil, false } -// AsAzureWorkloadPointInTimeRestoreRequest is the BasicRestoreRequest implementation for AzureFileShareRestoreRequest. -func (afsrr AzureFileShareRestoreRequest) AsAzureWorkloadPointInTimeRestoreRequest() (*AzureWorkloadPointInTimeRestoreRequest, bool) { +// AsAzureIaaSClassicComputeVMContainer is the BasicProtectionContainer implementation for AzureIaaSComputeVMContainer. +func (aiscvc AzureIaaSComputeVMContainer) AsAzureIaaSClassicComputeVMContainer() (*AzureIaaSClassicComputeVMContainer, bool) { return nil, false } -// AsAzureWorkloadRestoreRequest is the BasicRestoreRequest implementation for AzureFileShareRestoreRequest. -func (afsrr AzureFileShareRestoreRequest) AsAzureWorkloadRestoreRequest() (*AzureWorkloadRestoreRequest, bool) { - return nil, false +// AsAzureIaaSComputeVMContainer is the BasicProtectionContainer implementation for AzureIaaSComputeVMContainer. +func (aiscvc AzureIaaSComputeVMContainer) AsAzureIaaSComputeVMContainer() (*AzureIaaSComputeVMContainer, bool) { + return &aiscvc, true } -// AsBasicAzureWorkloadRestoreRequest is the BasicRestoreRequest implementation for AzureFileShareRestoreRequest. -func (afsrr AzureFileShareRestoreRequest) AsBasicAzureWorkloadRestoreRequest() (BasicAzureWorkloadRestoreRequest, bool) { +// AsAzureSQLAGWorkloadContainerProtectionContainer is the BasicProtectionContainer implementation for AzureIaaSComputeVMContainer. +func (aiscvc AzureIaaSComputeVMContainer) AsAzureSQLAGWorkloadContainerProtectionContainer() (*AzureSQLAGWorkloadContainerProtectionContainer, bool) { return nil, false } -// AsAzureWorkloadSAPHanaPointInTimeRestoreRequest is the BasicRestoreRequest implementation for AzureFileShareRestoreRequest. -func (afsrr AzureFileShareRestoreRequest) AsAzureWorkloadSAPHanaPointInTimeRestoreRequest() (*AzureWorkloadSAPHanaPointInTimeRestoreRequest, bool) { +// AsAzureSQLContainer is the BasicProtectionContainer implementation for AzureIaaSComputeVMContainer. +func (aiscvc AzureIaaSComputeVMContainer) AsAzureSQLContainer() (*AzureSQLContainer, bool) { return nil, false } -// AsAzureWorkloadSAPHanaRestoreRequest is the BasicRestoreRequest implementation for AzureFileShareRestoreRequest. -func (afsrr AzureFileShareRestoreRequest) AsAzureWorkloadSAPHanaRestoreRequest() (*AzureWorkloadSAPHanaRestoreRequest, bool) { +// AsAzureStorageContainer is the BasicProtectionContainer implementation for AzureIaaSComputeVMContainer. +func (aiscvc AzureIaaSComputeVMContainer) AsAzureStorageContainer() (*AzureStorageContainer, bool) { return nil, false } -// AsBasicAzureWorkloadSAPHanaRestoreRequest is the BasicRestoreRequest implementation for AzureFileShareRestoreRequest. -func (afsrr AzureFileShareRestoreRequest) AsBasicAzureWorkloadSAPHanaRestoreRequest() (BasicAzureWorkloadSAPHanaRestoreRequest, bool) { +// AsAzureVMAppContainerProtectionContainer is the BasicProtectionContainer implementation for AzureIaaSComputeVMContainer. +func (aiscvc AzureIaaSComputeVMContainer) AsAzureVMAppContainerProtectionContainer() (*AzureVMAppContainerProtectionContainer, bool) { return nil, false } -// AsAzureWorkloadSQLPointInTimeRestoreRequest is the BasicRestoreRequest implementation for AzureFileShareRestoreRequest. -func (afsrr AzureFileShareRestoreRequest) AsAzureWorkloadSQLPointInTimeRestoreRequest() (*AzureWorkloadSQLPointInTimeRestoreRequest, bool) { +// AsAzureWorkloadContainer is the BasicProtectionContainer implementation for AzureIaaSComputeVMContainer. +func (aiscvc AzureIaaSComputeVMContainer) AsAzureWorkloadContainer() (*AzureWorkloadContainer, bool) { return nil, false } -// AsAzureWorkloadSQLRestoreRequest is the BasicRestoreRequest implementation for AzureFileShareRestoreRequest. -func (afsrr AzureFileShareRestoreRequest) AsAzureWorkloadSQLRestoreRequest() (*AzureWorkloadSQLRestoreRequest, bool) { +// AsBasicAzureWorkloadContainer is the BasicProtectionContainer implementation for AzureIaaSComputeVMContainer. +func (aiscvc AzureIaaSComputeVMContainer) AsBasicAzureWorkloadContainer() (BasicAzureWorkloadContainer, bool) { return nil, false } -// AsBasicAzureWorkloadSQLRestoreRequest is the BasicRestoreRequest implementation for AzureFileShareRestoreRequest. -func (afsrr AzureFileShareRestoreRequest) AsBasicAzureWorkloadSQLRestoreRequest() (BasicAzureWorkloadSQLRestoreRequest, bool) { +// AsDpmContainer is the BasicProtectionContainer implementation for AzureIaaSComputeVMContainer. +func (aiscvc AzureIaaSComputeVMContainer) AsDpmContainer() (*DpmContainer, bool) { return nil, false } -// AsIaasVMRestoreRequest is the BasicRestoreRequest implementation for AzureFileShareRestoreRequest. -func (afsrr AzureFileShareRestoreRequest) AsIaasVMRestoreRequest() (*IaasVMRestoreRequest, bool) { +// AsBasicDpmContainer is the BasicProtectionContainer implementation for AzureIaaSComputeVMContainer. +func (aiscvc AzureIaaSComputeVMContainer) AsBasicDpmContainer() (BasicDpmContainer, bool) { return nil, false } -// AsRestoreRequest is the BasicRestoreRequest implementation for AzureFileShareRestoreRequest. -func (afsrr AzureFileShareRestoreRequest) AsRestoreRequest() (*RestoreRequest, bool) { +// AsGenericContainer is the BasicProtectionContainer implementation for AzureIaaSComputeVMContainer. +func (aiscvc AzureIaaSComputeVMContainer) AsGenericContainer() (*GenericContainer, bool) { return nil, false } -// AsBasicRestoreRequest is the BasicRestoreRequest implementation for AzureFileShareRestoreRequest. -func (afsrr AzureFileShareRestoreRequest) AsBasicRestoreRequest() (BasicRestoreRequest, bool) { - return &afsrr, true +// AsIaaSVMContainer is the BasicProtectionContainer implementation for AzureIaaSComputeVMContainer. +func (aiscvc AzureIaaSComputeVMContainer) AsIaaSVMContainer() (*IaaSVMContainer, bool) { + return nil, false } -// AzureIaaSClassicComputeVMContainer iaaS VM workload-specific backup item representing a classic virtual -// machine. -type AzureIaaSClassicComputeVMContainer struct { - // VirtualMachineID - Fully qualified ARM url of the virtual machine represented by this Azure IaaS VM container. - VirtualMachineID *string `json:"virtualMachineId,omitempty"` - // VirtualMachineVersion - Specifies whether the container represents a Classic or an Azure Resource Manager VM. - VirtualMachineVersion *string `json:"virtualMachineVersion,omitempty"` - // ResourceGroup - Resource group name of Recovery Services Vault. - ResourceGroup *string `json:"resourceGroup,omitempty"` - // FriendlyName - Friendly name of the container. - FriendlyName *string `json:"friendlyName,omitempty"` - // BackupManagementType - Type of backup management for the container. Possible values include: 'ManagementTypeInvalid', 'ManagementTypeAzureIaasVM', 'ManagementTypeMAB', 'ManagementTypeDPM', 'ManagementTypeAzureBackupServer', 'ManagementTypeAzureSQL', 'ManagementTypeAzureStorage', 'ManagementTypeAzureWorkload', 'ManagementTypeDefaultBackup' - BackupManagementType ManagementType `json:"backupManagementType,omitempty"` - // RegistrationStatus - Status of registration of the container with the Recovery Services Vault. - RegistrationStatus *string `json:"registrationStatus,omitempty"` - // HealthStatus - Status of health of the container. - HealthStatus *string `json:"healthStatus,omitempty"` - // ContainerType - Possible values include: 'ContainerTypeProtectionContainer', 'ContainerTypeAzureBackupServerContainer1', 'ContainerTypeMicrosoftClassicComputevirtualMachines', 'ContainerTypeMicrosoftComputevirtualMachines', 'ContainerTypeSQLAGWorkLoadContainer1', 'ContainerTypeAzureSQLContainer1', 'ContainerTypeStorageContainer1', 'ContainerTypeVMAppContainer1', 'ContainerTypeAzureWorkloadContainer', 'ContainerTypeDPMContainer1', 'ContainerTypeGenericContainer1', 'ContainerTypeIaaSVMContainer', 'ContainerTypeWindows1' - ContainerType ContainerTypeBasicProtectionContainer `json:"containerType,omitempty"` +// AsBasicIaaSVMContainer is the BasicProtectionContainer implementation for AzureIaaSComputeVMContainer. +func (aiscvc AzureIaaSComputeVMContainer) AsBasicIaaSVMContainer() (BasicIaaSVMContainer, bool) { + return &aiscvc, true } -// MarshalJSON is the custom marshaler for AzureIaaSClassicComputeVMContainer. -func (aisccvc AzureIaaSClassicComputeVMContainer) MarshalJSON() ([]byte, error) { - aisccvc.ContainerType = ContainerTypeMicrosoftClassicComputevirtualMachines +// AsMabContainer is the BasicProtectionContainer implementation for AzureIaaSComputeVMContainer. +func (aiscvc AzureIaaSComputeVMContainer) AsMabContainer() (*MabContainer, bool) { + return nil, false +} + +// AsProtectionContainer is the BasicProtectionContainer implementation for AzureIaaSComputeVMContainer. +func (aiscvc AzureIaaSComputeVMContainer) AsProtectionContainer() (*ProtectionContainer, bool) { + return nil, false +} + +// AsBasicProtectionContainer is the BasicProtectionContainer implementation for AzureIaaSComputeVMContainer. +func (aiscvc AzureIaaSComputeVMContainer) AsBasicProtectionContainer() (BasicProtectionContainer, bool) { + return &aiscvc, true +} + +// AzureIaaSComputeVMProtectableItem iaaS VM workload-specific backup item representing the Azure Resource +// Manager VM. +type AzureIaaSComputeVMProtectableItem struct { + // VirtualMachineID - Fully qualified ARM ID of the virtual machine. + VirtualMachineID *string `json:"virtualMachineId,omitempty"` + // BackupManagementType - Type of backup management to backup an item. + BackupManagementType *string `json:"backupManagementType,omitempty"` + // WorkloadType - Type of workload for the backup management + WorkloadType *string `json:"workloadType,omitempty"` + // FriendlyName - Friendly name of the backup item. + FriendlyName *string `json:"friendlyName,omitempty"` + // ProtectionState - State of the back up item. Possible values include: 'ProtectionStatusInvalid', 'ProtectionStatusNotProtected', 'ProtectionStatusProtecting', 'ProtectionStatusProtected', 'ProtectionStatusProtectionFailed' + ProtectionState ProtectionStatus `json:"protectionState,omitempty"` + // ProtectableItemType - Possible values include: 'ProtectableItemTypeWorkloadProtectableItem', 'ProtectableItemTypeAzureFileShare', 'ProtectableItemTypeMicrosoftClassicComputevirtualMachines', 'ProtectableItemTypeMicrosoftComputevirtualMachines', 'ProtectableItemTypeAzureVMWorkloadProtectableItem', 'ProtectableItemTypeSAPAseSystem', 'ProtectableItemTypeSAPHanaDatabase', 'ProtectableItemTypeSAPHanaSystem', 'ProtectableItemTypeSQLAvailabilityGroupContainer', 'ProtectableItemTypeSQLDataBase', 'ProtectableItemTypeSQLInstance', 'ProtectableItemTypeIaaSVMProtectableItem' + ProtectableItemType ProtectableItemType `json:"protectableItemType,omitempty"` +} + +// MarshalJSON is the custom marshaler for AzureIaaSComputeVMProtectableItem. +func (aiscvpi AzureIaaSComputeVMProtectableItem) MarshalJSON() ([]byte, error) { + aiscvpi.ProtectableItemType = ProtectableItemTypeMicrosoftComputevirtualMachines objectMap := make(map[string]interface{}) - if aisccvc.VirtualMachineID != nil { - objectMap["virtualMachineId"] = aisccvc.VirtualMachineID - } - if aisccvc.VirtualMachineVersion != nil { - objectMap["virtualMachineVersion"] = aisccvc.VirtualMachineVersion - } - if aisccvc.ResourceGroup != nil { - objectMap["resourceGroup"] = aisccvc.ResourceGroup + if aiscvpi.VirtualMachineID != nil { + objectMap["virtualMachineId"] = aiscvpi.VirtualMachineID } - if aisccvc.FriendlyName != nil { - objectMap["friendlyName"] = aisccvc.FriendlyName + if aiscvpi.BackupManagementType != nil { + objectMap["backupManagementType"] = aiscvpi.BackupManagementType } - if aisccvc.BackupManagementType != "" { - objectMap["backupManagementType"] = aisccvc.BackupManagementType + if aiscvpi.WorkloadType != nil { + objectMap["workloadType"] = aiscvpi.WorkloadType } - if aisccvc.RegistrationStatus != nil { - objectMap["registrationStatus"] = aisccvc.RegistrationStatus + if aiscvpi.FriendlyName != nil { + objectMap["friendlyName"] = aiscvpi.FriendlyName } - if aisccvc.HealthStatus != nil { - objectMap["healthStatus"] = aisccvc.HealthStatus + if aiscvpi.ProtectionState != "" { + objectMap["protectionState"] = aiscvpi.ProtectionState } - if aisccvc.ContainerType != "" { - objectMap["containerType"] = aisccvc.ContainerType + if aiscvpi.ProtectableItemType != "" { + objectMap["protectableItemType"] = aiscvpi.ProtectableItemType } return json.Marshal(objectMap) } -// AsAzureBackupServerContainer is the BasicProtectionContainer implementation for AzureIaaSClassicComputeVMContainer. -func (aisccvc AzureIaaSClassicComputeVMContainer) AsAzureBackupServerContainer() (*AzureBackupServerContainer, bool) { +// AsAzureFileShareProtectableItem is the BasicWorkloadProtectableItem implementation for AzureIaaSComputeVMProtectableItem. +func (aiscvpi AzureIaaSComputeVMProtectableItem) AsAzureFileShareProtectableItem() (*AzureFileShareProtectableItem, bool) { return nil, false } -// AsAzureIaaSClassicComputeVMContainer is the BasicProtectionContainer implementation for AzureIaaSClassicComputeVMContainer. -func (aisccvc AzureIaaSClassicComputeVMContainer) AsAzureIaaSClassicComputeVMContainer() (*AzureIaaSClassicComputeVMContainer, bool) { - return &aisccvc, true -} - -// AsAzureIaaSComputeVMContainer is the BasicProtectionContainer implementation for AzureIaaSClassicComputeVMContainer. -func (aisccvc AzureIaaSClassicComputeVMContainer) AsAzureIaaSComputeVMContainer() (*AzureIaaSComputeVMContainer, bool) { +// AsAzureIaaSClassicComputeVMProtectableItem is the BasicWorkloadProtectableItem implementation for AzureIaaSComputeVMProtectableItem. +func (aiscvpi AzureIaaSComputeVMProtectableItem) AsAzureIaaSClassicComputeVMProtectableItem() (*AzureIaaSClassicComputeVMProtectableItem, bool) { return nil, false } -// AsAzureSQLAGWorkloadContainerProtectionContainer is the BasicProtectionContainer implementation for AzureIaaSClassicComputeVMContainer. -func (aisccvc AzureIaaSClassicComputeVMContainer) AsAzureSQLAGWorkloadContainerProtectionContainer() (*AzureSQLAGWorkloadContainerProtectionContainer, bool) { - return nil, false +// AsAzureIaaSComputeVMProtectableItem is the BasicWorkloadProtectableItem implementation for AzureIaaSComputeVMProtectableItem. +func (aiscvpi AzureIaaSComputeVMProtectableItem) AsAzureIaaSComputeVMProtectableItem() (*AzureIaaSComputeVMProtectableItem, bool) { + return &aiscvpi, true } -// AsAzureSQLContainer is the BasicProtectionContainer implementation for AzureIaaSClassicComputeVMContainer. -func (aisccvc AzureIaaSClassicComputeVMContainer) AsAzureSQLContainer() (*AzureSQLContainer, bool) { +// AsAzureVMWorkloadProtectableItem is the BasicWorkloadProtectableItem implementation for AzureIaaSComputeVMProtectableItem. +func (aiscvpi AzureIaaSComputeVMProtectableItem) AsAzureVMWorkloadProtectableItem() (*AzureVMWorkloadProtectableItem, bool) { return nil, false } -// AsAzureStorageContainer is the BasicProtectionContainer implementation for AzureIaaSClassicComputeVMContainer. -func (aisccvc AzureIaaSClassicComputeVMContainer) AsAzureStorageContainer() (*AzureStorageContainer, bool) { +// AsBasicAzureVMWorkloadProtectableItem is the BasicWorkloadProtectableItem implementation for AzureIaaSComputeVMProtectableItem. +func (aiscvpi AzureIaaSComputeVMProtectableItem) AsBasicAzureVMWorkloadProtectableItem() (BasicAzureVMWorkloadProtectableItem, bool) { return nil, false } -// AsAzureVMAppContainerProtectionContainer is the BasicProtectionContainer implementation for AzureIaaSClassicComputeVMContainer. -func (aisccvc AzureIaaSClassicComputeVMContainer) AsAzureVMAppContainerProtectionContainer() (*AzureVMAppContainerProtectionContainer, bool) { +// AsAzureVMWorkloadSAPAseSystemProtectableItem is the BasicWorkloadProtectableItem implementation for AzureIaaSComputeVMProtectableItem. +func (aiscvpi AzureIaaSComputeVMProtectableItem) AsAzureVMWorkloadSAPAseSystemProtectableItem() (*AzureVMWorkloadSAPAseSystemProtectableItem, bool) { return nil, false } -// AsAzureWorkloadContainer is the BasicProtectionContainer implementation for AzureIaaSClassicComputeVMContainer. -func (aisccvc AzureIaaSClassicComputeVMContainer) AsAzureWorkloadContainer() (*AzureWorkloadContainer, bool) { +// AsAzureVMWorkloadSAPHanaDatabaseProtectableItem is the BasicWorkloadProtectableItem implementation for AzureIaaSComputeVMProtectableItem. +func (aiscvpi AzureIaaSComputeVMProtectableItem) AsAzureVMWorkloadSAPHanaDatabaseProtectableItem() (*AzureVMWorkloadSAPHanaDatabaseProtectableItem, bool) { return nil, false } -// AsBasicAzureWorkloadContainer is the BasicProtectionContainer implementation for AzureIaaSClassicComputeVMContainer. -func (aisccvc AzureIaaSClassicComputeVMContainer) AsBasicAzureWorkloadContainer() (BasicAzureWorkloadContainer, bool) { +// AsAzureVMWorkloadSAPHanaSystemProtectableItem is the BasicWorkloadProtectableItem implementation for AzureIaaSComputeVMProtectableItem. +func (aiscvpi AzureIaaSComputeVMProtectableItem) AsAzureVMWorkloadSAPHanaSystemProtectableItem() (*AzureVMWorkloadSAPHanaSystemProtectableItem, bool) { return nil, false } -// AsDpmContainer is the BasicProtectionContainer implementation for AzureIaaSClassicComputeVMContainer. -func (aisccvc AzureIaaSClassicComputeVMContainer) AsDpmContainer() (*DpmContainer, bool) { +// AsAzureVMWorkloadSQLAvailabilityGroupProtectableItem is the BasicWorkloadProtectableItem implementation for AzureIaaSComputeVMProtectableItem. +func (aiscvpi AzureIaaSComputeVMProtectableItem) AsAzureVMWorkloadSQLAvailabilityGroupProtectableItem() (*AzureVMWorkloadSQLAvailabilityGroupProtectableItem, bool) { return nil, false } -// AsBasicDpmContainer is the BasicProtectionContainer implementation for AzureIaaSClassicComputeVMContainer. -func (aisccvc AzureIaaSClassicComputeVMContainer) AsBasicDpmContainer() (BasicDpmContainer, bool) { +// AsAzureVMWorkloadSQLDatabaseProtectableItem is the BasicWorkloadProtectableItem implementation for AzureIaaSComputeVMProtectableItem. +func (aiscvpi AzureIaaSComputeVMProtectableItem) AsAzureVMWorkloadSQLDatabaseProtectableItem() (*AzureVMWorkloadSQLDatabaseProtectableItem, bool) { return nil, false } -// AsGenericContainer is the BasicProtectionContainer implementation for AzureIaaSClassicComputeVMContainer. -func (aisccvc AzureIaaSClassicComputeVMContainer) AsGenericContainer() (*GenericContainer, bool) { +// AsAzureVMWorkloadSQLInstanceProtectableItem is the BasicWorkloadProtectableItem implementation for AzureIaaSComputeVMProtectableItem. +func (aiscvpi AzureIaaSComputeVMProtectableItem) AsAzureVMWorkloadSQLInstanceProtectableItem() (*AzureVMWorkloadSQLInstanceProtectableItem, bool) { return nil, false } -// AsIaaSVMContainer is the BasicProtectionContainer implementation for AzureIaaSClassicComputeVMContainer. -func (aisccvc AzureIaaSClassicComputeVMContainer) AsIaaSVMContainer() (*IaaSVMContainer, bool) { +// AsIaaSVMProtectableItem is the BasicWorkloadProtectableItem implementation for AzureIaaSComputeVMProtectableItem. +func (aiscvpi AzureIaaSComputeVMProtectableItem) AsIaaSVMProtectableItem() (*IaaSVMProtectableItem, bool) { return nil, false } -// AsBasicIaaSVMContainer is the BasicProtectionContainer implementation for AzureIaaSClassicComputeVMContainer. -func (aisccvc AzureIaaSClassicComputeVMContainer) AsBasicIaaSVMContainer() (BasicIaaSVMContainer, bool) { - return &aisccvc, true -} - -// AsMabContainer is the BasicProtectionContainer implementation for AzureIaaSClassicComputeVMContainer. -func (aisccvc AzureIaaSClassicComputeVMContainer) AsMabContainer() (*MabContainer, bool) { - return nil, false +// AsBasicIaaSVMProtectableItem is the BasicWorkloadProtectableItem implementation for AzureIaaSComputeVMProtectableItem. +func (aiscvpi AzureIaaSComputeVMProtectableItem) AsBasicIaaSVMProtectableItem() (BasicIaaSVMProtectableItem, bool) { + return &aiscvpi, true } -// AsProtectionContainer is the BasicProtectionContainer implementation for AzureIaaSClassicComputeVMContainer. -func (aisccvc AzureIaaSClassicComputeVMContainer) AsProtectionContainer() (*ProtectionContainer, bool) { +// AsWorkloadProtectableItem is the BasicWorkloadProtectableItem implementation for AzureIaaSComputeVMProtectableItem. +func (aiscvpi AzureIaaSComputeVMProtectableItem) AsWorkloadProtectableItem() (*WorkloadProtectableItem, bool) { return nil, false } -// AsBasicProtectionContainer is the BasicProtectionContainer implementation for AzureIaaSClassicComputeVMContainer. -func (aisccvc AzureIaaSClassicComputeVMContainer) AsBasicProtectionContainer() (BasicProtectionContainer, bool) { - return &aisccvc, true +// AsBasicWorkloadProtectableItem is the BasicWorkloadProtectableItem implementation for AzureIaaSComputeVMProtectableItem. +func (aiscvpi AzureIaaSComputeVMProtectableItem) AsBasicWorkloadProtectableItem() (BasicWorkloadProtectableItem, bool) { + return &aiscvpi, true } -// AzureIaaSClassicComputeVMProtectableItem iaaS VM workload-specific backup item representing the Classic -// Compute VM. -type AzureIaaSClassicComputeVMProtectableItem struct { - // VirtualMachineID - Fully qualified ARM ID of the virtual machine. - VirtualMachineID *string `json:"virtualMachineId,omitempty"` - // BackupManagementType - Type of backup management to backup an item. - BackupManagementType *string `json:"backupManagementType,omitempty"` - // WorkloadType - Type of workload for the backup management - WorkloadType *string `json:"workloadType,omitempty"` - // FriendlyName - Friendly name of the backup item. +// AzureSQLAGWorkloadContainerProtectionContainer container for SQL workloads under SQL Availability Group. +type AzureSQLAGWorkloadContainerProtectionContainer struct { + // SourceResourceID - ARM ID of the virtual machine represented by this Azure Workload Container + SourceResourceID *string `json:"sourceResourceId,omitempty"` + // LastUpdatedTime - Time stamp when this container was updated. + LastUpdatedTime *date.Time `json:"lastUpdatedTime,omitempty"` + // ExtendedInfo - Additional details of a workload container. + ExtendedInfo *AzureWorkloadContainerExtendedInfo `json:"extendedInfo,omitempty"` + // WorkloadType - Workload type for which registration was sent. Possible values include: 'WorkloadTypeInvalid', 'WorkloadTypeVM', 'WorkloadTypeFileFolder', 'WorkloadTypeAzureSQLDb', 'WorkloadTypeSQLDB', 'WorkloadTypeExchange', 'WorkloadTypeSharepoint', 'WorkloadTypeVMwareVM', 'WorkloadTypeSystemState', 'WorkloadTypeClient', 'WorkloadTypeGenericDataSource', 'WorkloadTypeSQLDataBase', 'WorkloadTypeAzureFileShare', 'WorkloadTypeSAPHanaDatabase', 'WorkloadTypeSAPAseDatabase' + WorkloadType WorkloadType `json:"workloadType,omitempty"` + // OperationType - Re-Do Operation. Possible values include: 'OperationTypeInvalid', 'OperationTypeRegister', 'OperationTypeReregister' + OperationType OperationType `json:"operationType,omitempty"` + // FriendlyName - Friendly name of the container. FriendlyName *string `json:"friendlyName,omitempty"` - // ProtectionState - State of the back up item. Possible values include: 'ProtectionStatusInvalid', 'ProtectionStatusNotProtected', 'ProtectionStatusProtecting', 'ProtectionStatusProtected', 'ProtectionStatusProtectionFailed' - ProtectionState ProtectionStatus `json:"protectionState,omitempty"` - // ProtectableItemType - Possible values include: 'ProtectableItemTypeWorkloadProtectableItem', 'ProtectableItemTypeAzureFileShare', 'ProtectableItemTypeMicrosoftClassicComputevirtualMachines', 'ProtectableItemTypeMicrosoftComputevirtualMachines', 'ProtectableItemTypeAzureVMWorkloadProtectableItem', 'ProtectableItemTypeSAPAseDatabase', 'ProtectableItemTypeSAPAseSystem', 'ProtectableItemTypeSAPHanaDatabase', 'ProtectableItemTypeSAPHanaSystem', 'ProtectableItemTypeSQLAvailabilityGroupContainer', 'ProtectableItemTypeSQLDataBase', 'ProtectableItemTypeSQLInstance', 'ProtectableItemTypeIaaSVMProtectableItem' - ProtectableItemType ProtectableItemType `json:"protectableItemType,omitempty"` + // BackupManagementType - Type of backup management for the container. Possible values include: 'ManagementTypeInvalid', 'ManagementTypeAzureIaasVM', 'ManagementTypeMAB', 'ManagementTypeDPM', 'ManagementTypeAzureBackupServer', 'ManagementTypeAzureSQL', 'ManagementTypeAzureStorage', 'ManagementTypeAzureWorkload', 'ManagementTypeDefaultBackup' + BackupManagementType ManagementType `json:"backupManagementType,omitempty"` + // RegistrationStatus - Status of registration of the container with the Recovery Services Vault. + RegistrationStatus *string `json:"registrationStatus,omitempty"` + // HealthStatus - Status of health of the container. + HealthStatus *string `json:"healthStatus,omitempty"` + // ContainerType - Possible values include: 'ContainerTypeProtectionContainer', 'ContainerTypeAzureBackupServerContainer1', 'ContainerTypeMicrosoftClassicComputevirtualMachines', 'ContainerTypeMicrosoftComputevirtualMachines', 'ContainerTypeSQLAGWorkLoadContainer1', 'ContainerTypeAzureSQLContainer1', 'ContainerTypeStorageContainer1', 'ContainerTypeVMAppContainer1', 'ContainerTypeAzureWorkloadContainer', 'ContainerTypeDPMContainer1', 'ContainerTypeGenericContainer1', 'ContainerTypeIaaSVMContainer', 'ContainerTypeWindows1' + ContainerType ContainerTypeBasicProtectionContainer `json:"containerType,omitempty"` } -// MarshalJSON is the custom marshaler for AzureIaaSClassicComputeVMProtectableItem. -func (aisccvpi AzureIaaSClassicComputeVMProtectableItem) MarshalJSON() ([]byte, error) { - aisccvpi.ProtectableItemType = ProtectableItemTypeMicrosoftClassicComputevirtualMachines +// MarshalJSON is the custom marshaler for AzureSQLAGWorkloadContainerProtectionContainer. +func (aswcpc AzureSQLAGWorkloadContainerProtectionContainer) MarshalJSON() ([]byte, error) { + aswcpc.ContainerType = ContainerTypeSQLAGWorkLoadContainer1 objectMap := make(map[string]interface{}) - if aisccvpi.VirtualMachineID != nil { - objectMap["virtualMachineId"] = aisccvpi.VirtualMachineID + if aswcpc.SourceResourceID != nil { + objectMap["sourceResourceId"] = aswcpc.SourceResourceID } - if aisccvpi.BackupManagementType != nil { - objectMap["backupManagementType"] = aisccvpi.BackupManagementType + if aswcpc.LastUpdatedTime != nil { + objectMap["lastUpdatedTime"] = aswcpc.LastUpdatedTime } - if aisccvpi.WorkloadType != nil { - objectMap["workloadType"] = aisccvpi.WorkloadType + if aswcpc.ExtendedInfo != nil { + objectMap["extendedInfo"] = aswcpc.ExtendedInfo } - if aisccvpi.FriendlyName != nil { - objectMap["friendlyName"] = aisccvpi.FriendlyName + if aswcpc.WorkloadType != "" { + objectMap["workloadType"] = aswcpc.WorkloadType } - if aisccvpi.ProtectionState != "" { - objectMap["protectionState"] = aisccvpi.ProtectionState + if aswcpc.OperationType != "" { + objectMap["operationType"] = aswcpc.OperationType } - if aisccvpi.ProtectableItemType != "" { - objectMap["protectableItemType"] = aisccvpi.ProtectableItemType + if aswcpc.FriendlyName != nil { + objectMap["friendlyName"] = aswcpc.FriendlyName + } + if aswcpc.BackupManagementType != "" { + objectMap["backupManagementType"] = aswcpc.BackupManagementType + } + if aswcpc.RegistrationStatus != nil { + objectMap["registrationStatus"] = aswcpc.RegistrationStatus + } + if aswcpc.HealthStatus != nil { + objectMap["healthStatus"] = aswcpc.HealthStatus + } + if aswcpc.ContainerType != "" { + objectMap["containerType"] = aswcpc.ContainerType } return json.Marshal(objectMap) } -// AsAzureFileShareProtectableItem is the BasicWorkloadProtectableItem implementation for AzureIaaSClassicComputeVMProtectableItem. -func (aisccvpi AzureIaaSClassicComputeVMProtectableItem) AsAzureFileShareProtectableItem() (*AzureFileShareProtectableItem, bool) { +// AsAzureBackupServerContainer is the BasicProtectionContainer implementation for AzureSQLAGWorkloadContainerProtectionContainer. +func (aswcpc AzureSQLAGWorkloadContainerProtectionContainer) AsAzureBackupServerContainer() (*AzureBackupServerContainer, bool) { return nil, false } -// AsAzureIaaSClassicComputeVMProtectableItem is the BasicWorkloadProtectableItem implementation for AzureIaaSClassicComputeVMProtectableItem. -func (aisccvpi AzureIaaSClassicComputeVMProtectableItem) AsAzureIaaSClassicComputeVMProtectableItem() (*AzureIaaSClassicComputeVMProtectableItem, bool) { - return &aisccvpi, true -} - -// AsAzureIaaSComputeVMProtectableItem is the BasicWorkloadProtectableItem implementation for AzureIaaSClassicComputeVMProtectableItem. -func (aisccvpi AzureIaaSClassicComputeVMProtectableItem) AsAzureIaaSComputeVMProtectableItem() (*AzureIaaSComputeVMProtectableItem, bool) { +// AsAzureIaaSClassicComputeVMContainer is the BasicProtectionContainer implementation for AzureSQLAGWorkloadContainerProtectionContainer. +func (aswcpc AzureSQLAGWorkloadContainerProtectionContainer) AsAzureIaaSClassicComputeVMContainer() (*AzureIaaSClassicComputeVMContainer, bool) { return nil, false } -// AsAzureVMWorkloadProtectableItem is the BasicWorkloadProtectableItem implementation for AzureIaaSClassicComputeVMProtectableItem. -func (aisccvpi AzureIaaSClassicComputeVMProtectableItem) AsAzureVMWorkloadProtectableItem() (*AzureVMWorkloadProtectableItem, bool) { +// AsAzureIaaSComputeVMContainer is the BasicProtectionContainer implementation for AzureSQLAGWorkloadContainerProtectionContainer. +func (aswcpc AzureSQLAGWorkloadContainerProtectionContainer) AsAzureIaaSComputeVMContainer() (*AzureIaaSComputeVMContainer, bool) { return nil, false } -// AsBasicAzureVMWorkloadProtectableItem is the BasicWorkloadProtectableItem implementation for AzureIaaSClassicComputeVMProtectableItem. -func (aisccvpi AzureIaaSClassicComputeVMProtectableItem) AsBasicAzureVMWorkloadProtectableItem() (BasicAzureVMWorkloadProtectableItem, bool) { - return nil, false +// AsAzureSQLAGWorkloadContainerProtectionContainer is the BasicProtectionContainer implementation for AzureSQLAGWorkloadContainerProtectionContainer. +func (aswcpc AzureSQLAGWorkloadContainerProtectionContainer) AsAzureSQLAGWorkloadContainerProtectionContainer() (*AzureSQLAGWorkloadContainerProtectionContainer, bool) { + return &aswcpc, true } -// AsAzureVMWorkloadSAPAseDatabaseProtectableItem is the BasicWorkloadProtectableItem implementation for AzureIaaSClassicComputeVMProtectableItem. -func (aisccvpi AzureIaaSClassicComputeVMProtectableItem) AsAzureVMWorkloadSAPAseDatabaseProtectableItem() (*AzureVMWorkloadSAPAseDatabaseProtectableItem, bool) { +// AsAzureSQLContainer is the BasicProtectionContainer implementation for AzureSQLAGWorkloadContainerProtectionContainer. +func (aswcpc AzureSQLAGWorkloadContainerProtectionContainer) AsAzureSQLContainer() (*AzureSQLContainer, bool) { return nil, false } -// AsAzureVMWorkloadSAPAseSystemProtectableItem is the BasicWorkloadProtectableItem implementation for AzureIaaSClassicComputeVMProtectableItem. -func (aisccvpi AzureIaaSClassicComputeVMProtectableItem) AsAzureVMWorkloadSAPAseSystemProtectableItem() (*AzureVMWorkloadSAPAseSystemProtectableItem, bool) { +// AsAzureStorageContainer is the BasicProtectionContainer implementation for AzureSQLAGWorkloadContainerProtectionContainer. +func (aswcpc AzureSQLAGWorkloadContainerProtectionContainer) AsAzureStorageContainer() (*AzureStorageContainer, bool) { return nil, false } -// AsAzureVMWorkloadSAPHanaDatabaseProtectableItem is the BasicWorkloadProtectableItem implementation for AzureIaaSClassicComputeVMProtectableItem. -func (aisccvpi AzureIaaSClassicComputeVMProtectableItem) AsAzureVMWorkloadSAPHanaDatabaseProtectableItem() (*AzureVMWorkloadSAPHanaDatabaseProtectableItem, bool) { +// AsAzureVMAppContainerProtectionContainer is the BasicProtectionContainer implementation for AzureSQLAGWorkloadContainerProtectionContainer. +func (aswcpc AzureSQLAGWorkloadContainerProtectionContainer) AsAzureVMAppContainerProtectionContainer() (*AzureVMAppContainerProtectionContainer, bool) { return nil, false } -// AsAzureVMWorkloadSAPHanaSystemProtectableItem is the BasicWorkloadProtectableItem implementation for AzureIaaSClassicComputeVMProtectableItem. -func (aisccvpi AzureIaaSClassicComputeVMProtectableItem) AsAzureVMWorkloadSAPHanaSystemProtectableItem() (*AzureVMWorkloadSAPHanaSystemProtectableItem, bool) { +// AsAzureWorkloadContainer is the BasicProtectionContainer implementation for AzureSQLAGWorkloadContainerProtectionContainer. +func (aswcpc AzureSQLAGWorkloadContainerProtectionContainer) AsAzureWorkloadContainer() (*AzureWorkloadContainer, bool) { return nil, false } -// AsAzureVMWorkloadSQLAvailabilityGroupProtectableItem is the BasicWorkloadProtectableItem implementation for AzureIaaSClassicComputeVMProtectableItem. -func (aisccvpi AzureIaaSClassicComputeVMProtectableItem) AsAzureVMWorkloadSQLAvailabilityGroupProtectableItem() (*AzureVMWorkloadSQLAvailabilityGroupProtectableItem, bool) { +// AsBasicAzureWorkloadContainer is the BasicProtectionContainer implementation for AzureSQLAGWorkloadContainerProtectionContainer. +func (aswcpc AzureSQLAGWorkloadContainerProtectionContainer) AsBasicAzureWorkloadContainer() (BasicAzureWorkloadContainer, bool) { + return &aswcpc, true +} + +// AsDpmContainer is the BasicProtectionContainer implementation for AzureSQLAGWorkloadContainerProtectionContainer. +func (aswcpc AzureSQLAGWorkloadContainerProtectionContainer) AsDpmContainer() (*DpmContainer, bool) { return nil, false } -// AsAzureVMWorkloadSQLDatabaseProtectableItem is the BasicWorkloadProtectableItem implementation for AzureIaaSClassicComputeVMProtectableItem. -func (aisccvpi AzureIaaSClassicComputeVMProtectableItem) AsAzureVMWorkloadSQLDatabaseProtectableItem() (*AzureVMWorkloadSQLDatabaseProtectableItem, bool) { +// AsBasicDpmContainer is the BasicProtectionContainer implementation for AzureSQLAGWorkloadContainerProtectionContainer. +func (aswcpc AzureSQLAGWorkloadContainerProtectionContainer) AsBasicDpmContainer() (BasicDpmContainer, bool) { return nil, false } -// AsAzureVMWorkloadSQLInstanceProtectableItem is the BasicWorkloadProtectableItem implementation for AzureIaaSClassicComputeVMProtectableItem. -func (aisccvpi AzureIaaSClassicComputeVMProtectableItem) AsAzureVMWorkloadSQLInstanceProtectableItem() (*AzureVMWorkloadSQLInstanceProtectableItem, bool) { +// AsGenericContainer is the BasicProtectionContainer implementation for AzureSQLAGWorkloadContainerProtectionContainer. +func (aswcpc AzureSQLAGWorkloadContainerProtectionContainer) AsGenericContainer() (*GenericContainer, bool) { return nil, false } -// AsIaaSVMProtectableItem is the BasicWorkloadProtectableItem implementation for AzureIaaSClassicComputeVMProtectableItem. -func (aisccvpi AzureIaaSClassicComputeVMProtectableItem) AsIaaSVMProtectableItem() (*IaaSVMProtectableItem, bool) { +// AsIaaSVMContainer is the BasicProtectionContainer implementation for AzureSQLAGWorkloadContainerProtectionContainer. +func (aswcpc AzureSQLAGWorkloadContainerProtectionContainer) AsIaaSVMContainer() (*IaaSVMContainer, bool) { return nil, false } -// AsBasicIaaSVMProtectableItem is the BasicWorkloadProtectableItem implementation for AzureIaaSClassicComputeVMProtectableItem. -func (aisccvpi AzureIaaSClassicComputeVMProtectableItem) AsBasicIaaSVMProtectableItem() (BasicIaaSVMProtectableItem, bool) { - return &aisccvpi, true +// AsBasicIaaSVMContainer is the BasicProtectionContainer implementation for AzureSQLAGWorkloadContainerProtectionContainer. +func (aswcpc AzureSQLAGWorkloadContainerProtectionContainer) AsBasicIaaSVMContainer() (BasicIaaSVMContainer, bool) { + return nil, false } -// AsWorkloadProtectableItem is the BasicWorkloadProtectableItem implementation for AzureIaaSClassicComputeVMProtectableItem. -func (aisccvpi AzureIaaSClassicComputeVMProtectableItem) AsWorkloadProtectableItem() (*WorkloadProtectableItem, bool) { +// AsMabContainer is the BasicProtectionContainer implementation for AzureSQLAGWorkloadContainerProtectionContainer. +func (aswcpc AzureSQLAGWorkloadContainerProtectionContainer) AsMabContainer() (*MabContainer, bool) { return nil, false } -// AsBasicWorkloadProtectableItem is the BasicWorkloadProtectableItem implementation for AzureIaaSClassicComputeVMProtectableItem. -func (aisccvpi AzureIaaSClassicComputeVMProtectableItem) AsBasicWorkloadProtectableItem() (BasicWorkloadProtectableItem, bool) { - return &aisccvpi, true +// AsProtectionContainer is the BasicProtectionContainer implementation for AzureSQLAGWorkloadContainerProtectionContainer. +func (aswcpc AzureSQLAGWorkloadContainerProtectionContainer) AsProtectionContainer() (*ProtectionContainer, bool) { + return nil, false } -// AzureIaaSClassicComputeVMProtectedItem iaaS VM workload-specific backup item representing the Classic -// Compute VM. -type AzureIaaSClassicComputeVMProtectedItem struct { - // FriendlyName - Friendly name of the VM represented by this backup item. +// AsBasicProtectionContainer is the BasicProtectionContainer implementation for AzureSQLAGWorkloadContainerProtectionContainer. +func (aswcpc AzureSQLAGWorkloadContainerProtectionContainer) AsBasicProtectionContainer() (BasicProtectionContainer, bool) { + return &aswcpc, true +} + +// AzureSQLContainer azure Sql workload-specific container. +type AzureSQLContainer struct { + // FriendlyName - Friendly name of the container. FriendlyName *string `json:"friendlyName,omitempty"` - // VirtualMachineID - Fully qualified ARM ID of the virtual machine represented by this item. - VirtualMachineID *string `json:"virtualMachineId,omitempty"` - // ProtectionStatus - Backup status of this backup item. - ProtectionStatus *string `json:"protectionStatus,omitempty"` - // ProtectionState - Backup state of this backup item. Possible values include: 'ProtectionStateInvalid', 'ProtectionStateIRPending', 'ProtectionStateProtected', 'ProtectionStateProtectionError', 'ProtectionStateProtectionStopped', 'ProtectionStateProtectionPaused' - ProtectionState ProtectionState `json:"protectionState,omitempty"` - // HealthStatus - Health status of protected item. Possible values include: 'HealthStatusPassed', 'HealthStatusActionRequired', 'HealthStatusActionSuggested', 'HealthStatusInvalid' - HealthStatus HealthStatus `json:"healthStatus,omitempty"` - // HealthDetails - Health details on this backup item. - HealthDetails *[]AzureIaaSVMHealthDetails `json:"healthDetails,omitempty"` - // LastBackupStatus - Last backup operation status. - LastBackupStatus *string `json:"lastBackupStatus,omitempty"` - // LastBackupTime - Timestamp of the last backup operation on this backup item. - LastBackupTime *date.Time `json:"lastBackupTime,omitempty"` - // ProtectedItemDataID - Data ID of the protected item. - ProtectedItemDataID *string `json:"protectedItemDataId,omitempty"` - // ExtendedInfo - Additional information for this backup item. - ExtendedInfo *AzureIaaSVMProtectedItemExtendedInfo `json:"extendedInfo,omitempty"` - // BackupManagementType - Type of backup management for the backed up item. Possible values include: 'ManagementTypeInvalid', 'ManagementTypeAzureIaasVM', 'ManagementTypeMAB', 'ManagementTypeDPM', 'ManagementTypeAzureBackupServer', 'ManagementTypeAzureSQL', 'ManagementTypeAzureStorage', 'ManagementTypeAzureWorkload', 'ManagementTypeDefaultBackup' + // BackupManagementType - Type of backup management for the container. Possible values include: 'ManagementTypeInvalid', 'ManagementTypeAzureIaasVM', 'ManagementTypeMAB', 'ManagementTypeDPM', 'ManagementTypeAzureBackupServer', 'ManagementTypeAzureSQL', 'ManagementTypeAzureStorage', 'ManagementTypeAzureWorkload', 'ManagementTypeDefaultBackup' BackupManagementType ManagementType `json:"backupManagementType,omitempty"` - // WorkloadType - Type of workload this item represents. Possible values include: 'DataSourceTypeInvalid', 'DataSourceTypeVM', 'DataSourceTypeFileFolder', 'DataSourceTypeAzureSQLDb', 'DataSourceTypeSQLDB', 'DataSourceTypeExchange', 'DataSourceTypeSharepoint', 'DataSourceTypeVMwareVM', 'DataSourceTypeSystemState', 'DataSourceTypeClient', 'DataSourceTypeGenericDataSource', 'DataSourceTypeSQLDataBase', 'DataSourceTypeAzureFileShare', 'DataSourceTypeSAPHanaDatabase', 'DataSourceTypeSAPAseDatabase' - WorkloadType DataSourceType `json:"workloadType,omitempty"` - // ContainerName - Unique name of container - ContainerName *string `json:"containerName,omitempty"` - // SourceResourceID - ARM ID of the resource to be backed up. - SourceResourceID *string `json:"sourceResourceId,omitempty"` - // PolicyID - ID of the backup policy with which this item is backed up. - PolicyID *string `json:"policyId,omitempty"` - // LastRecoveryPoint - Timestamp when the last (latest) backup copy was created for this backup item. - LastRecoveryPoint *date.Time `json:"lastRecoveryPoint,omitempty"` - // BackupSetName - Name of the backup set the backup item belongs to - BackupSetName *string `json:"backupSetName,omitempty"` - // CreateMode - Create mode to indicate recovery of existing soft deleted data source or creation of new data source. Possible values include: 'CreateModeInvalid', 'CreateModeDefault', 'CreateModeRecover' - CreateMode CreateMode `json:"createMode,omitempty"` - // DeferredDeleteTimeInUTC - Time for deferred deletion in UTC - DeferredDeleteTimeInUTC *date.Time `json:"deferredDeleteTimeInUTC,omitempty"` - // IsScheduledForDeferredDelete - Flag to identify whether the DS is scheduled for deferred delete - IsScheduledForDeferredDelete *bool `json:"isScheduledForDeferredDelete,omitempty"` - // DeferredDeleteTimeRemaining - Time remaining before the DS marked for deferred delete is permanently deleted - DeferredDeleteTimeRemaining *string `json:"deferredDeleteTimeRemaining,omitempty"` - // IsDeferredDeleteScheduleUpcoming - Flag to identify whether the deferred deleted DS is to be purged soon - IsDeferredDeleteScheduleUpcoming *bool `json:"isDeferredDeleteScheduleUpcoming,omitempty"` - // IsRehydrate - Flag to identify that deferred deleted DS is to be moved into Pause state - IsRehydrate *bool `json:"isRehydrate,omitempty"` - // ProtectedItemType - Possible values include: 'ProtectedItemTypeProtectedItem', 'ProtectedItemTypeAzureFileShareProtectedItem', 'ProtectedItemTypeMicrosoftClassicComputevirtualMachines', 'ProtectedItemTypeMicrosoftComputevirtualMachines', 'ProtectedItemTypeAzureIaaSVMProtectedItem', 'ProtectedItemTypeMicrosoftSqlserversdatabases', 'ProtectedItemTypeAzureVMWorkloadProtectedItem', 'ProtectedItemTypeAzureVMWorkloadSAPAseDatabase', 'ProtectedItemTypeAzureVMWorkloadSAPHanaDatabase', 'ProtectedItemTypeAzureVMWorkloadSQLDatabase', 'ProtectedItemTypeDPMProtectedItem', 'ProtectedItemTypeGenericProtectedItem', 'ProtectedItemTypeMabFileFolderProtectedItem' - ProtectedItemType ProtectedItemType `json:"protectedItemType,omitempty"` -} - -// MarshalJSON is the custom marshaler for AzureIaaSClassicComputeVMProtectedItem. -func (aisccvpi AzureIaaSClassicComputeVMProtectedItem) MarshalJSON() ([]byte, error) { - aisccvpi.ProtectedItemType = ProtectedItemTypeMicrosoftClassicComputevirtualMachines + // RegistrationStatus - Status of registration of the container with the Recovery Services Vault. + RegistrationStatus *string `json:"registrationStatus,omitempty"` + // HealthStatus - Status of health of the container. + HealthStatus *string `json:"healthStatus,omitempty"` + // ContainerType - Possible values include: 'ContainerTypeProtectionContainer', 'ContainerTypeAzureBackupServerContainer1', 'ContainerTypeMicrosoftClassicComputevirtualMachines', 'ContainerTypeMicrosoftComputevirtualMachines', 'ContainerTypeSQLAGWorkLoadContainer1', 'ContainerTypeAzureSQLContainer1', 'ContainerTypeStorageContainer1', 'ContainerTypeVMAppContainer1', 'ContainerTypeAzureWorkloadContainer', 'ContainerTypeDPMContainer1', 'ContainerTypeGenericContainer1', 'ContainerTypeIaaSVMContainer', 'ContainerTypeWindows1' + ContainerType ContainerTypeBasicProtectionContainer `json:"containerType,omitempty"` +} + +// MarshalJSON is the custom marshaler for AzureSQLContainer. +func (asc AzureSQLContainer) MarshalJSON() ([]byte, error) { + asc.ContainerType = ContainerTypeAzureSQLContainer1 objectMap := make(map[string]interface{}) - if aisccvpi.FriendlyName != nil { - objectMap["friendlyName"] = aisccvpi.FriendlyName - } - if aisccvpi.VirtualMachineID != nil { - objectMap["virtualMachineId"] = aisccvpi.VirtualMachineID - } - if aisccvpi.ProtectionStatus != nil { - objectMap["protectionStatus"] = aisccvpi.ProtectionStatus - } - if aisccvpi.ProtectionState != "" { - objectMap["protectionState"] = aisccvpi.ProtectionState - } - if aisccvpi.HealthStatus != "" { - objectMap["healthStatus"] = aisccvpi.HealthStatus - } - if aisccvpi.HealthDetails != nil { - objectMap["healthDetails"] = aisccvpi.HealthDetails - } - if aisccvpi.LastBackupStatus != nil { - objectMap["lastBackupStatus"] = aisccvpi.LastBackupStatus - } - if aisccvpi.LastBackupTime != nil { - objectMap["lastBackupTime"] = aisccvpi.LastBackupTime - } - if aisccvpi.ProtectedItemDataID != nil { - objectMap["protectedItemDataId"] = aisccvpi.ProtectedItemDataID - } - if aisccvpi.ExtendedInfo != nil { - objectMap["extendedInfo"] = aisccvpi.ExtendedInfo - } - if aisccvpi.BackupManagementType != "" { - objectMap["backupManagementType"] = aisccvpi.BackupManagementType - } - if aisccvpi.WorkloadType != "" { - objectMap["workloadType"] = aisccvpi.WorkloadType - } - if aisccvpi.ContainerName != nil { - objectMap["containerName"] = aisccvpi.ContainerName - } - if aisccvpi.SourceResourceID != nil { - objectMap["sourceResourceId"] = aisccvpi.SourceResourceID - } - if aisccvpi.PolicyID != nil { - objectMap["policyId"] = aisccvpi.PolicyID - } - if aisccvpi.LastRecoveryPoint != nil { - objectMap["lastRecoveryPoint"] = aisccvpi.LastRecoveryPoint - } - if aisccvpi.BackupSetName != nil { - objectMap["backupSetName"] = aisccvpi.BackupSetName - } - if aisccvpi.CreateMode != "" { - objectMap["createMode"] = aisccvpi.CreateMode - } - if aisccvpi.DeferredDeleteTimeInUTC != nil { - objectMap["deferredDeleteTimeInUTC"] = aisccvpi.DeferredDeleteTimeInUTC - } - if aisccvpi.IsScheduledForDeferredDelete != nil { - objectMap["isScheduledForDeferredDelete"] = aisccvpi.IsScheduledForDeferredDelete + if asc.FriendlyName != nil { + objectMap["friendlyName"] = asc.FriendlyName } - if aisccvpi.DeferredDeleteTimeRemaining != nil { - objectMap["deferredDeleteTimeRemaining"] = aisccvpi.DeferredDeleteTimeRemaining + if asc.BackupManagementType != "" { + objectMap["backupManagementType"] = asc.BackupManagementType } - if aisccvpi.IsDeferredDeleteScheduleUpcoming != nil { - objectMap["isDeferredDeleteScheduleUpcoming"] = aisccvpi.IsDeferredDeleteScheduleUpcoming + if asc.RegistrationStatus != nil { + objectMap["registrationStatus"] = asc.RegistrationStatus } - if aisccvpi.IsRehydrate != nil { - objectMap["isRehydrate"] = aisccvpi.IsRehydrate + if asc.HealthStatus != nil { + objectMap["healthStatus"] = asc.HealthStatus } - if aisccvpi.ProtectedItemType != "" { - objectMap["protectedItemType"] = aisccvpi.ProtectedItemType + if asc.ContainerType != "" { + objectMap["containerType"] = asc.ContainerType } return json.Marshal(objectMap) } -// AsAzureFileshareProtectedItem is the BasicProtectedItem implementation for AzureIaaSClassicComputeVMProtectedItem. -func (aisccvpi AzureIaaSClassicComputeVMProtectedItem) AsAzureFileshareProtectedItem() (*AzureFileshareProtectedItem, bool) { +// AsAzureBackupServerContainer is the BasicProtectionContainer implementation for AzureSQLContainer. +func (asc AzureSQLContainer) AsAzureBackupServerContainer() (*AzureBackupServerContainer, bool) { return nil, false } -// AsAzureIaaSClassicComputeVMProtectedItem is the BasicProtectedItem implementation for AzureIaaSClassicComputeVMProtectedItem. -func (aisccvpi AzureIaaSClassicComputeVMProtectedItem) AsAzureIaaSClassicComputeVMProtectedItem() (*AzureIaaSClassicComputeVMProtectedItem, bool) { - return &aisccvpi, true +// AsAzureIaaSClassicComputeVMContainer is the BasicProtectionContainer implementation for AzureSQLContainer. +func (asc AzureSQLContainer) AsAzureIaaSClassicComputeVMContainer() (*AzureIaaSClassicComputeVMContainer, bool) { + return nil, false } -// AsAzureIaaSComputeVMProtectedItem is the BasicProtectedItem implementation for AzureIaaSClassicComputeVMProtectedItem. -func (aisccvpi AzureIaaSClassicComputeVMProtectedItem) AsAzureIaaSComputeVMProtectedItem() (*AzureIaaSComputeVMProtectedItem, bool) { +// AsAzureIaaSComputeVMContainer is the BasicProtectionContainer implementation for AzureSQLContainer. +func (asc AzureSQLContainer) AsAzureIaaSComputeVMContainer() (*AzureIaaSComputeVMContainer, bool) { return nil, false } -// AsAzureIaaSVMProtectedItem is the BasicProtectedItem implementation for AzureIaaSClassicComputeVMProtectedItem. -func (aisccvpi AzureIaaSClassicComputeVMProtectedItem) AsAzureIaaSVMProtectedItem() (*AzureIaaSVMProtectedItem, bool) { +// AsAzureSQLAGWorkloadContainerProtectionContainer is the BasicProtectionContainer implementation for AzureSQLContainer. +func (asc AzureSQLContainer) AsAzureSQLAGWorkloadContainerProtectionContainer() (*AzureSQLAGWorkloadContainerProtectionContainer, bool) { return nil, false } -// AsBasicAzureIaaSVMProtectedItem is the BasicProtectedItem implementation for AzureIaaSClassicComputeVMProtectedItem. -func (aisccvpi AzureIaaSClassicComputeVMProtectedItem) AsBasicAzureIaaSVMProtectedItem() (BasicAzureIaaSVMProtectedItem, bool) { - return &aisccvpi, true +// AsAzureSQLContainer is the BasicProtectionContainer implementation for AzureSQLContainer. +func (asc AzureSQLContainer) AsAzureSQLContainer() (*AzureSQLContainer, bool) { + return &asc, true +} + +// AsAzureStorageContainer is the BasicProtectionContainer implementation for AzureSQLContainer. +func (asc AzureSQLContainer) AsAzureStorageContainer() (*AzureStorageContainer, bool) { + return nil, false } -// AsAzureSQLProtectedItem is the BasicProtectedItem implementation for AzureIaaSClassicComputeVMProtectedItem. -func (aisccvpi AzureIaaSClassicComputeVMProtectedItem) AsAzureSQLProtectedItem() (*AzureSQLProtectedItem, bool) { +// AsAzureVMAppContainerProtectionContainer is the BasicProtectionContainer implementation for AzureSQLContainer. +func (asc AzureSQLContainer) AsAzureVMAppContainerProtectionContainer() (*AzureVMAppContainerProtectionContainer, bool) { return nil, false } -// AsAzureVMWorkloadProtectedItem is the BasicProtectedItem implementation for AzureIaaSClassicComputeVMProtectedItem. -func (aisccvpi AzureIaaSClassicComputeVMProtectedItem) AsAzureVMWorkloadProtectedItem() (*AzureVMWorkloadProtectedItem, bool) { +// AsAzureWorkloadContainer is the BasicProtectionContainer implementation for AzureSQLContainer. +func (asc AzureSQLContainer) AsAzureWorkloadContainer() (*AzureWorkloadContainer, bool) { return nil, false } -// AsBasicAzureVMWorkloadProtectedItem is the BasicProtectedItem implementation for AzureIaaSClassicComputeVMProtectedItem. -func (aisccvpi AzureIaaSClassicComputeVMProtectedItem) AsBasicAzureVMWorkloadProtectedItem() (BasicAzureVMWorkloadProtectedItem, bool) { +// AsBasicAzureWorkloadContainer is the BasicProtectionContainer implementation for AzureSQLContainer. +func (asc AzureSQLContainer) AsBasicAzureWorkloadContainer() (BasicAzureWorkloadContainer, bool) { return nil, false } -// AsAzureVMWorkloadSAPAseDatabaseProtectedItem is the BasicProtectedItem implementation for AzureIaaSClassicComputeVMProtectedItem. -func (aisccvpi AzureIaaSClassicComputeVMProtectedItem) AsAzureVMWorkloadSAPAseDatabaseProtectedItem() (*AzureVMWorkloadSAPAseDatabaseProtectedItem, bool) { +// AsDpmContainer is the BasicProtectionContainer implementation for AzureSQLContainer. +func (asc AzureSQLContainer) AsDpmContainer() (*DpmContainer, bool) { return nil, false } -// AsAzureVMWorkloadSAPHanaDatabaseProtectedItem is the BasicProtectedItem implementation for AzureIaaSClassicComputeVMProtectedItem. -func (aisccvpi AzureIaaSClassicComputeVMProtectedItem) AsAzureVMWorkloadSAPHanaDatabaseProtectedItem() (*AzureVMWorkloadSAPHanaDatabaseProtectedItem, bool) { +// AsBasicDpmContainer is the BasicProtectionContainer implementation for AzureSQLContainer. +func (asc AzureSQLContainer) AsBasicDpmContainer() (BasicDpmContainer, bool) { return nil, false } -// AsAzureVMWorkloadSQLDatabaseProtectedItem is the BasicProtectedItem implementation for AzureIaaSClassicComputeVMProtectedItem. -func (aisccvpi AzureIaaSClassicComputeVMProtectedItem) AsAzureVMWorkloadSQLDatabaseProtectedItem() (*AzureVMWorkloadSQLDatabaseProtectedItem, bool) { +// AsGenericContainer is the BasicProtectionContainer implementation for AzureSQLContainer. +func (asc AzureSQLContainer) AsGenericContainer() (*GenericContainer, bool) { return nil, false } -// AsDPMProtectedItem is the BasicProtectedItem implementation for AzureIaaSClassicComputeVMProtectedItem. -func (aisccvpi AzureIaaSClassicComputeVMProtectedItem) AsDPMProtectedItem() (*DPMProtectedItem, bool) { +// AsIaaSVMContainer is the BasicProtectionContainer implementation for AzureSQLContainer. +func (asc AzureSQLContainer) AsIaaSVMContainer() (*IaaSVMContainer, bool) { return nil, false } -// AsGenericProtectedItem is the BasicProtectedItem implementation for AzureIaaSClassicComputeVMProtectedItem. -func (aisccvpi AzureIaaSClassicComputeVMProtectedItem) AsGenericProtectedItem() (*GenericProtectedItem, bool) { +// AsBasicIaaSVMContainer is the BasicProtectionContainer implementation for AzureSQLContainer. +func (asc AzureSQLContainer) AsBasicIaaSVMContainer() (BasicIaaSVMContainer, bool) { return nil, false } -// AsMabFileFolderProtectedItem is the BasicProtectedItem implementation for AzureIaaSClassicComputeVMProtectedItem. -func (aisccvpi AzureIaaSClassicComputeVMProtectedItem) AsMabFileFolderProtectedItem() (*MabFileFolderProtectedItem, bool) { +// AsMabContainer is the BasicProtectionContainer implementation for AzureSQLContainer. +func (asc AzureSQLContainer) AsMabContainer() (*MabContainer, bool) { return nil, false } -// AsProtectedItem is the BasicProtectedItem implementation for AzureIaaSClassicComputeVMProtectedItem. -func (aisccvpi AzureIaaSClassicComputeVMProtectedItem) AsProtectedItem() (*ProtectedItem, bool) { +// AsProtectionContainer is the BasicProtectionContainer implementation for AzureSQLContainer. +func (asc AzureSQLContainer) AsProtectionContainer() (*ProtectionContainer, bool) { return nil, false } -// AsBasicProtectedItem is the BasicProtectedItem implementation for AzureIaaSClassicComputeVMProtectedItem. -func (aisccvpi AzureIaaSClassicComputeVMProtectedItem) AsBasicProtectedItem() (BasicProtectedItem, bool) { - return &aisccvpi, true +// AsBasicProtectionContainer is the BasicProtectionContainer implementation for AzureSQLContainer. +func (asc AzureSQLContainer) AsBasicProtectionContainer() (BasicProtectionContainer, bool) { + return &asc, true } -// AzureIaaSComputeVMContainer iaaS VM workload-specific backup item representing an Azure Resource Manager -// virtual machine. -type AzureIaaSComputeVMContainer struct { - // VirtualMachineID - Fully qualified ARM url of the virtual machine represented by this Azure IaaS VM container. - VirtualMachineID *string `json:"virtualMachineId,omitempty"` - // VirtualMachineVersion - Specifies whether the container represents a Classic or an Azure Resource Manager VM. - VirtualMachineVersion *string `json:"virtualMachineVersion,omitempty"` +// AzureStorageContainer azure Storage Account workload-specific container. +type AzureStorageContainer struct { + // SourceResourceID - Fully qualified ARM url. + SourceResourceID *string `json:"sourceResourceId,omitempty"` + // StorageAccountVersion - Storage account version. + StorageAccountVersion *string `json:"storageAccountVersion,omitempty"` // ResourceGroup - Resource group name of Recovery Services Vault. ResourceGroup *string `json:"resourceGroup,omitempty"` + // ProtectedItemCount - Number of items backed up in this container. + ProtectedItemCount *int64 `json:"protectedItemCount,omitempty"` // FriendlyName - Friendly name of the container. FriendlyName *string `json:"friendlyName,omitempty"` // BackupManagementType - Type of backup management for the container. Possible values include: 'ManagementTypeInvalid', 'ManagementTypeAzureIaasVM', 'ManagementTypeMAB', 'ManagementTypeDPM', 'ManagementTypeAzureBackupServer', 'ManagementTypeAzureSQL', 'ManagementTypeAzureStorage', 'ManagementTypeAzureWorkload', 'ManagementTypeDefaultBackup' @@ -2700,1860 +1847,1589 @@ type AzureIaaSComputeVMContainer struct { ContainerType ContainerTypeBasicProtectionContainer `json:"containerType,omitempty"` } -// MarshalJSON is the custom marshaler for AzureIaaSComputeVMContainer. -func (aiscvc AzureIaaSComputeVMContainer) MarshalJSON() ([]byte, error) { - aiscvc.ContainerType = ContainerTypeMicrosoftComputevirtualMachines +// MarshalJSON is the custom marshaler for AzureStorageContainer. +func (asc AzureStorageContainer) MarshalJSON() ([]byte, error) { + asc.ContainerType = ContainerTypeStorageContainer1 objectMap := make(map[string]interface{}) - if aiscvc.VirtualMachineID != nil { - objectMap["virtualMachineId"] = aiscvc.VirtualMachineID + if asc.SourceResourceID != nil { + objectMap["sourceResourceId"] = asc.SourceResourceID } - if aiscvc.VirtualMachineVersion != nil { - objectMap["virtualMachineVersion"] = aiscvc.VirtualMachineVersion + if asc.StorageAccountVersion != nil { + objectMap["storageAccountVersion"] = asc.StorageAccountVersion } - if aiscvc.ResourceGroup != nil { - objectMap["resourceGroup"] = aiscvc.ResourceGroup + if asc.ResourceGroup != nil { + objectMap["resourceGroup"] = asc.ResourceGroup } - if aiscvc.FriendlyName != nil { - objectMap["friendlyName"] = aiscvc.FriendlyName + if asc.ProtectedItemCount != nil { + objectMap["protectedItemCount"] = asc.ProtectedItemCount } - if aiscvc.BackupManagementType != "" { - objectMap["backupManagementType"] = aiscvc.BackupManagementType + if asc.FriendlyName != nil { + objectMap["friendlyName"] = asc.FriendlyName } - if aiscvc.RegistrationStatus != nil { - objectMap["registrationStatus"] = aiscvc.RegistrationStatus + if asc.BackupManagementType != "" { + objectMap["backupManagementType"] = asc.BackupManagementType } - if aiscvc.HealthStatus != nil { - objectMap["healthStatus"] = aiscvc.HealthStatus + if asc.RegistrationStatus != nil { + objectMap["registrationStatus"] = asc.RegistrationStatus } - if aiscvc.ContainerType != "" { - objectMap["containerType"] = aiscvc.ContainerType + if asc.HealthStatus != nil { + objectMap["healthStatus"] = asc.HealthStatus + } + if asc.ContainerType != "" { + objectMap["containerType"] = asc.ContainerType } return json.Marshal(objectMap) } -// AsAzureBackupServerContainer is the BasicProtectionContainer implementation for AzureIaaSComputeVMContainer. -func (aiscvc AzureIaaSComputeVMContainer) AsAzureBackupServerContainer() (*AzureBackupServerContainer, bool) { +// AsAzureBackupServerContainer is the BasicProtectionContainer implementation for AzureStorageContainer. +func (asc AzureStorageContainer) AsAzureBackupServerContainer() (*AzureBackupServerContainer, bool) { return nil, false } -// AsAzureIaaSClassicComputeVMContainer is the BasicProtectionContainer implementation for AzureIaaSComputeVMContainer. -func (aiscvc AzureIaaSComputeVMContainer) AsAzureIaaSClassicComputeVMContainer() (*AzureIaaSClassicComputeVMContainer, bool) { +// AsAzureIaaSClassicComputeVMContainer is the BasicProtectionContainer implementation for AzureStorageContainer. +func (asc AzureStorageContainer) AsAzureIaaSClassicComputeVMContainer() (*AzureIaaSClassicComputeVMContainer, bool) { return nil, false } -// AsAzureIaaSComputeVMContainer is the BasicProtectionContainer implementation for AzureIaaSComputeVMContainer. -func (aiscvc AzureIaaSComputeVMContainer) AsAzureIaaSComputeVMContainer() (*AzureIaaSComputeVMContainer, bool) { - return &aiscvc, true +// AsAzureIaaSComputeVMContainer is the BasicProtectionContainer implementation for AzureStorageContainer. +func (asc AzureStorageContainer) AsAzureIaaSComputeVMContainer() (*AzureIaaSComputeVMContainer, bool) { + return nil, false } -// AsAzureSQLAGWorkloadContainerProtectionContainer is the BasicProtectionContainer implementation for AzureIaaSComputeVMContainer. -func (aiscvc AzureIaaSComputeVMContainer) AsAzureSQLAGWorkloadContainerProtectionContainer() (*AzureSQLAGWorkloadContainerProtectionContainer, bool) { +// AsAzureSQLAGWorkloadContainerProtectionContainer is the BasicProtectionContainer implementation for AzureStorageContainer. +func (asc AzureStorageContainer) AsAzureSQLAGWorkloadContainerProtectionContainer() (*AzureSQLAGWorkloadContainerProtectionContainer, bool) { return nil, false } -// AsAzureSQLContainer is the BasicProtectionContainer implementation for AzureIaaSComputeVMContainer. -func (aiscvc AzureIaaSComputeVMContainer) AsAzureSQLContainer() (*AzureSQLContainer, bool) { +// AsAzureSQLContainer is the BasicProtectionContainer implementation for AzureStorageContainer. +func (asc AzureStorageContainer) AsAzureSQLContainer() (*AzureSQLContainer, bool) { return nil, false } -// AsAzureStorageContainer is the BasicProtectionContainer implementation for AzureIaaSComputeVMContainer. -func (aiscvc AzureIaaSComputeVMContainer) AsAzureStorageContainer() (*AzureStorageContainer, bool) { - return nil, false +// AsAzureStorageContainer is the BasicProtectionContainer implementation for AzureStorageContainer. +func (asc AzureStorageContainer) AsAzureStorageContainer() (*AzureStorageContainer, bool) { + return &asc, true } -// AsAzureVMAppContainerProtectionContainer is the BasicProtectionContainer implementation for AzureIaaSComputeVMContainer. -func (aiscvc AzureIaaSComputeVMContainer) AsAzureVMAppContainerProtectionContainer() (*AzureVMAppContainerProtectionContainer, bool) { +// AsAzureVMAppContainerProtectionContainer is the BasicProtectionContainer implementation for AzureStorageContainer. +func (asc AzureStorageContainer) AsAzureVMAppContainerProtectionContainer() (*AzureVMAppContainerProtectionContainer, bool) { return nil, false } -// AsAzureWorkloadContainer is the BasicProtectionContainer implementation for AzureIaaSComputeVMContainer. -func (aiscvc AzureIaaSComputeVMContainer) AsAzureWorkloadContainer() (*AzureWorkloadContainer, bool) { +// AsAzureWorkloadContainer is the BasicProtectionContainer implementation for AzureStorageContainer. +func (asc AzureStorageContainer) AsAzureWorkloadContainer() (*AzureWorkloadContainer, bool) { return nil, false } -// AsBasicAzureWorkloadContainer is the BasicProtectionContainer implementation for AzureIaaSComputeVMContainer. -func (aiscvc AzureIaaSComputeVMContainer) AsBasicAzureWorkloadContainer() (BasicAzureWorkloadContainer, bool) { +// AsBasicAzureWorkloadContainer is the BasicProtectionContainer implementation for AzureStorageContainer. +func (asc AzureStorageContainer) AsBasicAzureWorkloadContainer() (BasicAzureWorkloadContainer, bool) { return nil, false } -// AsDpmContainer is the BasicProtectionContainer implementation for AzureIaaSComputeVMContainer. -func (aiscvc AzureIaaSComputeVMContainer) AsDpmContainer() (*DpmContainer, bool) { +// AsDpmContainer is the BasicProtectionContainer implementation for AzureStorageContainer. +func (asc AzureStorageContainer) AsDpmContainer() (*DpmContainer, bool) { return nil, false } -// AsBasicDpmContainer is the BasicProtectionContainer implementation for AzureIaaSComputeVMContainer. -func (aiscvc AzureIaaSComputeVMContainer) AsBasicDpmContainer() (BasicDpmContainer, bool) { +// AsBasicDpmContainer is the BasicProtectionContainer implementation for AzureStorageContainer. +func (asc AzureStorageContainer) AsBasicDpmContainer() (BasicDpmContainer, bool) { return nil, false } -// AsGenericContainer is the BasicProtectionContainer implementation for AzureIaaSComputeVMContainer. -func (aiscvc AzureIaaSComputeVMContainer) AsGenericContainer() (*GenericContainer, bool) { +// AsGenericContainer is the BasicProtectionContainer implementation for AzureStorageContainer. +func (asc AzureStorageContainer) AsGenericContainer() (*GenericContainer, bool) { return nil, false } -// AsIaaSVMContainer is the BasicProtectionContainer implementation for AzureIaaSComputeVMContainer. -func (aiscvc AzureIaaSComputeVMContainer) AsIaaSVMContainer() (*IaaSVMContainer, bool) { +// AsIaaSVMContainer is the BasicProtectionContainer implementation for AzureStorageContainer. +func (asc AzureStorageContainer) AsIaaSVMContainer() (*IaaSVMContainer, bool) { return nil, false } -// AsBasicIaaSVMContainer is the BasicProtectionContainer implementation for AzureIaaSComputeVMContainer. -func (aiscvc AzureIaaSComputeVMContainer) AsBasicIaaSVMContainer() (BasicIaaSVMContainer, bool) { - return &aiscvc, true +// AsBasicIaaSVMContainer is the BasicProtectionContainer implementation for AzureStorageContainer. +func (asc AzureStorageContainer) AsBasicIaaSVMContainer() (BasicIaaSVMContainer, bool) { + return nil, false } -// AsMabContainer is the BasicProtectionContainer implementation for AzureIaaSComputeVMContainer. -func (aiscvc AzureIaaSComputeVMContainer) AsMabContainer() (*MabContainer, bool) { +// AsMabContainer is the BasicProtectionContainer implementation for AzureStorageContainer. +func (asc AzureStorageContainer) AsMabContainer() (*MabContainer, bool) { return nil, false } -// AsProtectionContainer is the BasicProtectionContainer implementation for AzureIaaSComputeVMContainer. -func (aiscvc AzureIaaSComputeVMContainer) AsProtectionContainer() (*ProtectionContainer, bool) { +// AsProtectionContainer is the BasicProtectionContainer implementation for AzureStorageContainer. +func (asc AzureStorageContainer) AsProtectionContainer() (*ProtectionContainer, bool) { return nil, false } -// AsBasicProtectionContainer is the BasicProtectionContainer implementation for AzureIaaSComputeVMContainer. -func (aiscvc AzureIaaSComputeVMContainer) AsBasicProtectionContainer() (BasicProtectionContainer, bool) { - return &aiscvc, true +// AsBasicProtectionContainer is the BasicProtectionContainer implementation for AzureStorageContainer. +func (asc AzureStorageContainer) AsBasicProtectionContainer() (BasicProtectionContainer, bool) { + return &asc, true } -// AzureIaaSComputeVMProtectableItem iaaS VM workload-specific backup item representing the Azure Resource -// Manager VM. -type AzureIaaSComputeVMProtectableItem struct { - // VirtualMachineID - Fully qualified ARM ID of the virtual machine. - VirtualMachineID *string `json:"virtualMachineId,omitempty"` - // BackupManagementType - Type of backup management to backup an item. - BackupManagementType *string `json:"backupManagementType,omitempty"` - // WorkloadType - Type of workload for the backup management - WorkloadType *string `json:"workloadType,omitempty"` - // FriendlyName - Friendly name of the backup item. +// AzureStorageProtectableContainer azure Storage-specific protectable containers +type AzureStorageProtectableContainer struct { + // FriendlyName - Friendly name of the container. FriendlyName *string `json:"friendlyName,omitempty"` - // ProtectionState - State of the back up item. Possible values include: 'ProtectionStatusInvalid', 'ProtectionStatusNotProtected', 'ProtectionStatusProtecting', 'ProtectionStatusProtected', 'ProtectionStatusProtectionFailed' - ProtectionState ProtectionStatus `json:"protectionState,omitempty"` - // ProtectableItemType - Possible values include: 'ProtectableItemTypeWorkloadProtectableItem', 'ProtectableItemTypeAzureFileShare', 'ProtectableItemTypeMicrosoftClassicComputevirtualMachines', 'ProtectableItemTypeMicrosoftComputevirtualMachines', 'ProtectableItemTypeAzureVMWorkloadProtectableItem', 'ProtectableItemTypeSAPAseDatabase', 'ProtectableItemTypeSAPAseSystem', 'ProtectableItemTypeSAPHanaDatabase', 'ProtectableItemTypeSAPHanaSystem', 'ProtectableItemTypeSQLAvailabilityGroupContainer', 'ProtectableItemTypeSQLDataBase', 'ProtectableItemTypeSQLInstance', 'ProtectableItemTypeIaaSVMProtectableItem' - ProtectableItemType ProtectableItemType `json:"protectableItemType,omitempty"` + // BackupManagementType - Type of backup management for the container. Possible values include: 'ManagementTypeInvalid', 'ManagementTypeAzureIaasVM', 'ManagementTypeMAB', 'ManagementTypeDPM', 'ManagementTypeAzureBackupServer', 'ManagementTypeAzureSQL', 'ManagementTypeAzureStorage', 'ManagementTypeAzureWorkload', 'ManagementTypeDefaultBackup' + BackupManagementType ManagementType `json:"backupManagementType,omitempty"` + // HealthStatus - Status of health of the container. + HealthStatus *string `json:"healthStatus,omitempty"` + // ContainerID - Fabric Id of the container such as ARM Id. + ContainerID *string `json:"containerId,omitempty"` + // ProtectableContainerType - Possible values include: 'ProtectableContainerTypeProtectableContainer', 'ProtectableContainerTypeStorageContainer', 'ProtectableContainerTypeVMAppContainer' + ProtectableContainerType ProtectableContainerType `json:"protectableContainerType,omitempty"` } -// MarshalJSON is the custom marshaler for AzureIaaSComputeVMProtectableItem. -func (aiscvpi AzureIaaSComputeVMProtectableItem) MarshalJSON() ([]byte, error) { - aiscvpi.ProtectableItemType = ProtectableItemTypeMicrosoftComputevirtualMachines +// MarshalJSON is the custom marshaler for AzureStorageProtectableContainer. +func (aspc AzureStorageProtectableContainer) MarshalJSON() ([]byte, error) { + aspc.ProtectableContainerType = ProtectableContainerTypeStorageContainer objectMap := make(map[string]interface{}) - if aiscvpi.VirtualMachineID != nil { - objectMap["virtualMachineId"] = aiscvpi.VirtualMachineID - } - if aiscvpi.BackupManagementType != nil { - objectMap["backupManagementType"] = aiscvpi.BackupManagementType + if aspc.FriendlyName != nil { + objectMap["friendlyName"] = aspc.FriendlyName } - if aiscvpi.WorkloadType != nil { - objectMap["workloadType"] = aiscvpi.WorkloadType + if aspc.BackupManagementType != "" { + objectMap["backupManagementType"] = aspc.BackupManagementType } - if aiscvpi.FriendlyName != nil { - objectMap["friendlyName"] = aiscvpi.FriendlyName + if aspc.HealthStatus != nil { + objectMap["healthStatus"] = aspc.HealthStatus } - if aiscvpi.ProtectionState != "" { - objectMap["protectionState"] = aiscvpi.ProtectionState + if aspc.ContainerID != nil { + objectMap["containerId"] = aspc.ContainerID } - if aiscvpi.ProtectableItemType != "" { - objectMap["protectableItemType"] = aiscvpi.ProtectableItemType + if aspc.ProtectableContainerType != "" { + objectMap["protectableContainerType"] = aspc.ProtectableContainerType } return json.Marshal(objectMap) } -// AsAzureFileShareProtectableItem is the BasicWorkloadProtectableItem implementation for AzureIaaSComputeVMProtectableItem. -func (aiscvpi AzureIaaSComputeVMProtectableItem) AsAzureFileShareProtectableItem() (*AzureFileShareProtectableItem, bool) { - return nil, false -} - -// AsAzureIaaSClassicComputeVMProtectableItem is the BasicWorkloadProtectableItem implementation for AzureIaaSComputeVMProtectableItem. -func (aiscvpi AzureIaaSComputeVMProtectableItem) AsAzureIaaSClassicComputeVMProtectableItem() (*AzureIaaSClassicComputeVMProtectableItem, bool) { - return nil, false -} - -// AsAzureIaaSComputeVMProtectableItem is the BasicWorkloadProtectableItem implementation for AzureIaaSComputeVMProtectableItem. -func (aiscvpi AzureIaaSComputeVMProtectableItem) AsAzureIaaSComputeVMProtectableItem() (*AzureIaaSComputeVMProtectableItem, bool) { - return &aiscvpi, true -} - -// AsAzureVMWorkloadProtectableItem is the BasicWorkloadProtectableItem implementation for AzureIaaSComputeVMProtectableItem. -func (aiscvpi AzureIaaSComputeVMProtectableItem) AsAzureVMWorkloadProtectableItem() (*AzureVMWorkloadProtectableItem, bool) { - return nil, false -} - -// AsBasicAzureVMWorkloadProtectableItem is the BasicWorkloadProtectableItem implementation for AzureIaaSComputeVMProtectableItem. -func (aiscvpi AzureIaaSComputeVMProtectableItem) AsBasicAzureVMWorkloadProtectableItem() (BasicAzureVMWorkloadProtectableItem, bool) { - return nil, false -} - -// AsAzureVMWorkloadSAPAseDatabaseProtectableItem is the BasicWorkloadProtectableItem implementation for AzureIaaSComputeVMProtectableItem. -func (aiscvpi AzureIaaSComputeVMProtectableItem) AsAzureVMWorkloadSAPAseDatabaseProtectableItem() (*AzureVMWorkloadSAPAseDatabaseProtectableItem, bool) { - return nil, false -} - -// AsAzureVMWorkloadSAPAseSystemProtectableItem is the BasicWorkloadProtectableItem implementation for AzureIaaSComputeVMProtectableItem. -func (aiscvpi AzureIaaSComputeVMProtectableItem) AsAzureVMWorkloadSAPAseSystemProtectableItem() (*AzureVMWorkloadSAPAseSystemProtectableItem, bool) { - return nil, false +// AsAzureStorageProtectableContainer is the BasicProtectableContainer implementation for AzureStorageProtectableContainer. +func (aspc AzureStorageProtectableContainer) AsAzureStorageProtectableContainer() (*AzureStorageProtectableContainer, bool) { + return &aspc, true } -// AsAzureVMWorkloadSAPHanaDatabaseProtectableItem is the BasicWorkloadProtectableItem implementation for AzureIaaSComputeVMProtectableItem. -func (aiscvpi AzureIaaSComputeVMProtectableItem) AsAzureVMWorkloadSAPHanaDatabaseProtectableItem() (*AzureVMWorkloadSAPHanaDatabaseProtectableItem, bool) { +// AsAzureVMAppContainerProtectableContainer is the BasicProtectableContainer implementation for AzureStorageProtectableContainer. +func (aspc AzureStorageProtectableContainer) AsAzureVMAppContainerProtectableContainer() (*AzureVMAppContainerProtectableContainer, bool) { return nil, false } -// AsAzureVMWorkloadSAPHanaSystemProtectableItem is the BasicWorkloadProtectableItem implementation for AzureIaaSComputeVMProtectableItem. -func (aiscvpi AzureIaaSComputeVMProtectableItem) AsAzureVMWorkloadSAPHanaSystemProtectableItem() (*AzureVMWorkloadSAPHanaSystemProtectableItem, bool) { +// AsProtectableContainer is the BasicProtectableContainer implementation for AzureStorageProtectableContainer. +func (aspc AzureStorageProtectableContainer) AsProtectableContainer() (*ProtectableContainer, bool) { return nil, false } -// AsAzureVMWorkloadSQLAvailabilityGroupProtectableItem is the BasicWorkloadProtectableItem implementation for AzureIaaSComputeVMProtectableItem. -func (aiscvpi AzureIaaSComputeVMProtectableItem) AsAzureVMWorkloadSQLAvailabilityGroupProtectableItem() (*AzureVMWorkloadSQLAvailabilityGroupProtectableItem, bool) { - return nil, false +// AsBasicProtectableContainer is the BasicProtectableContainer implementation for AzureStorageProtectableContainer. +func (aspc AzureStorageProtectableContainer) AsBasicProtectableContainer() (BasicProtectableContainer, bool) { + return &aspc, true } -// AsAzureVMWorkloadSQLDatabaseProtectableItem is the BasicWorkloadProtectableItem implementation for AzureIaaSComputeVMProtectableItem. -func (aiscvpi AzureIaaSComputeVMProtectableItem) AsAzureVMWorkloadSQLDatabaseProtectableItem() (*AzureVMWorkloadSQLDatabaseProtectableItem, bool) { - return nil, false +// AzureVMAppContainerProtectableContainer azure workload-specific container +type AzureVMAppContainerProtectableContainer struct { + // FriendlyName - Friendly name of the container. + FriendlyName *string `json:"friendlyName,omitempty"` + // BackupManagementType - Type of backup management for the container. Possible values include: 'ManagementTypeInvalid', 'ManagementTypeAzureIaasVM', 'ManagementTypeMAB', 'ManagementTypeDPM', 'ManagementTypeAzureBackupServer', 'ManagementTypeAzureSQL', 'ManagementTypeAzureStorage', 'ManagementTypeAzureWorkload', 'ManagementTypeDefaultBackup' + BackupManagementType ManagementType `json:"backupManagementType,omitempty"` + // HealthStatus - Status of health of the container. + HealthStatus *string `json:"healthStatus,omitempty"` + // ContainerID - Fabric Id of the container such as ARM Id. + ContainerID *string `json:"containerId,omitempty"` + // ProtectableContainerType - Possible values include: 'ProtectableContainerTypeProtectableContainer', 'ProtectableContainerTypeStorageContainer', 'ProtectableContainerTypeVMAppContainer' + ProtectableContainerType ProtectableContainerType `json:"protectableContainerType,omitempty"` } -// AsAzureVMWorkloadSQLInstanceProtectableItem is the BasicWorkloadProtectableItem implementation for AzureIaaSComputeVMProtectableItem. -func (aiscvpi AzureIaaSComputeVMProtectableItem) AsAzureVMWorkloadSQLInstanceProtectableItem() (*AzureVMWorkloadSQLInstanceProtectableItem, bool) { - return nil, false +// MarshalJSON is the custom marshaler for AzureVMAppContainerProtectableContainer. +func (avacpc AzureVMAppContainerProtectableContainer) MarshalJSON() ([]byte, error) { + avacpc.ProtectableContainerType = ProtectableContainerTypeVMAppContainer + objectMap := make(map[string]interface{}) + if avacpc.FriendlyName != nil { + objectMap["friendlyName"] = avacpc.FriendlyName + } + if avacpc.BackupManagementType != "" { + objectMap["backupManagementType"] = avacpc.BackupManagementType + } + if avacpc.HealthStatus != nil { + objectMap["healthStatus"] = avacpc.HealthStatus + } + if avacpc.ContainerID != nil { + objectMap["containerId"] = avacpc.ContainerID + } + if avacpc.ProtectableContainerType != "" { + objectMap["protectableContainerType"] = avacpc.ProtectableContainerType + } + return json.Marshal(objectMap) } -// AsIaaSVMProtectableItem is the BasicWorkloadProtectableItem implementation for AzureIaaSComputeVMProtectableItem. -func (aiscvpi AzureIaaSComputeVMProtectableItem) AsIaaSVMProtectableItem() (*IaaSVMProtectableItem, bool) { +// AsAzureStorageProtectableContainer is the BasicProtectableContainer implementation for AzureVMAppContainerProtectableContainer. +func (avacpc AzureVMAppContainerProtectableContainer) AsAzureStorageProtectableContainer() (*AzureStorageProtectableContainer, bool) { return nil, false } -// AsBasicIaaSVMProtectableItem is the BasicWorkloadProtectableItem implementation for AzureIaaSComputeVMProtectableItem. -func (aiscvpi AzureIaaSComputeVMProtectableItem) AsBasicIaaSVMProtectableItem() (BasicIaaSVMProtectableItem, bool) { - return &aiscvpi, true +// AsAzureVMAppContainerProtectableContainer is the BasicProtectableContainer implementation for AzureVMAppContainerProtectableContainer. +func (avacpc AzureVMAppContainerProtectableContainer) AsAzureVMAppContainerProtectableContainer() (*AzureVMAppContainerProtectableContainer, bool) { + return &avacpc, true } -// AsWorkloadProtectableItem is the BasicWorkloadProtectableItem implementation for AzureIaaSComputeVMProtectableItem. -func (aiscvpi AzureIaaSComputeVMProtectableItem) AsWorkloadProtectableItem() (*WorkloadProtectableItem, bool) { +// AsProtectableContainer is the BasicProtectableContainer implementation for AzureVMAppContainerProtectableContainer. +func (avacpc AzureVMAppContainerProtectableContainer) AsProtectableContainer() (*ProtectableContainer, bool) { return nil, false } -// AsBasicWorkloadProtectableItem is the BasicWorkloadProtectableItem implementation for AzureIaaSComputeVMProtectableItem. -func (aiscvpi AzureIaaSComputeVMProtectableItem) AsBasicWorkloadProtectableItem() (BasicWorkloadProtectableItem, bool) { - return &aiscvpi, true +// AsBasicProtectableContainer is the BasicProtectableContainer implementation for AzureVMAppContainerProtectableContainer. +func (avacpc AzureVMAppContainerProtectableContainer) AsBasicProtectableContainer() (BasicProtectableContainer, bool) { + return &avacpc, true } -// AzureIaaSComputeVMProtectedItem iaaS VM workload-specific backup item representing the Azure Resource -// Manager VM. -type AzureIaaSComputeVMProtectedItem struct { - // FriendlyName - Friendly name of the VM represented by this backup item. +// AzureVMAppContainerProtectionContainer container for SQL workloads under Azure Virtual Machines. +type AzureVMAppContainerProtectionContainer struct { + // SourceResourceID - ARM ID of the virtual machine represented by this Azure Workload Container + SourceResourceID *string `json:"sourceResourceId,omitempty"` + // LastUpdatedTime - Time stamp when this container was updated. + LastUpdatedTime *date.Time `json:"lastUpdatedTime,omitempty"` + // ExtendedInfo - Additional details of a workload container. + ExtendedInfo *AzureWorkloadContainerExtendedInfo `json:"extendedInfo,omitempty"` + // WorkloadType - Workload type for which registration was sent. Possible values include: 'WorkloadTypeInvalid', 'WorkloadTypeVM', 'WorkloadTypeFileFolder', 'WorkloadTypeAzureSQLDb', 'WorkloadTypeSQLDB', 'WorkloadTypeExchange', 'WorkloadTypeSharepoint', 'WorkloadTypeVMwareVM', 'WorkloadTypeSystemState', 'WorkloadTypeClient', 'WorkloadTypeGenericDataSource', 'WorkloadTypeSQLDataBase', 'WorkloadTypeAzureFileShare', 'WorkloadTypeSAPHanaDatabase', 'WorkloadTypeSAPAseDatabase' + WorkloadType WorkloadType `json:"workloadType,omitempty"` + // OperationType - Re-Do Operation. Possible values include: 'OperationTypeInvalid', 'OperationTypeRegister', 'OperationTypeReregister' + OperationType OperationType `json:"operationType,omitempty"` + // FriendlyName - Friendly name of the container. FriendlyName *string `json:"friendlyName,omitempty"` - // VirtualMachineID - Fully qualified ARM ID of the virtual machine represented by this item. - VirtualMachineID *string `json:"virtualMachineId,omitempty"` - // ProtectionStatus - Backup status of this backup item. - ProtectionStatus *string `json:"protectionStatus,omitempty"` - // ProtectionState - Backup state of this backup item. Possible values include: 'ProtectionStateInvalid', 'ProtectionStateIRPending', 'ProtectionStateProtected', 'ProtectionStateProtectionError', 'ProtectionStateProtectionStopped', 'ProtectionStateProtectionPaused' - ProtectionState ProtectionState `json:"protectionState,omitempty"` - // HealthStatus - Health status of protected item. Possible values include: 'HealthStatusPassed', 'HealthStatusActionRequired', 'HealthStatusActionSuggested', 'HealthStatusInvalid' - HealthStatus HealthStatus `json:"healthStatus,omitempty"` - // HealthDetails - Health details on this backup item. - HealthDetails *[]AzureIaaSVMHealthDetails `json:"healthDetails,omitempty"` - // LastBackupStatus - Last backup operation status. - LastBackupStatus *string `json:"lastBackupStatus,omitempty"` - // LastBackupTime - Timestamp of the last backup operation on this backup item. - LastBackupTime *date.Time `json:"lastBackupTime,omitempty"` - // ProtectedItemDataID - Data ID of the protected item. - ProtectedItemDataID *string `json:"protectedItemDataId,omitempty"` - // ExtendedInfo - Additional information for this backup item. - ExtendedInfo *AzureIaaSVMProtectedItemExtendedInfo `json:"extendedInfo,omitempty"` - // BackupManagementType - Type of backup management for the backed up item. Possible values include: 'ManagementTypeInvalid', 'ManagementTypeAzureIaasVM', 'ManagementTypeMAB', 'ManagementTypeDPM', 'ManagementTypeAzureBackupServer', 'ManagementTypeAzureSQL', 'ManagementTypeAzureStorage', 'ManagementTypeAzureWorkload', 'ManagementTypeDefaultBackup' + // BackupManagementType - Type of backup management for the container. Possible values include: 'ManagementTypeInvalid', 'ManagementTypeAzureIaasVM', 'ManagementTypeMAB', 'ManagementTypeDPM', 'ManagementTypeAzureBackupServer', 'ManagementTypeAzureSQL', 'ManagementTypeAzureStorage', 'ManagementTypeAzureWorkload', 'ManagementTypeDefaultBackup' BackupManagementType ManagementType `json:"backupManagementType,omitempty"` - // WorkloadType - Type of workload this item represents. Possible values include: 'DataSourceTypeInvalid', 'DataSourceTypeVM', 'DataSourceTypeFileFolder', 'DataSourceTypeAzureSQLDb', 'DataSourceTypeSQLDB', 'DataSourceTypeExchange', 'DataSourceTypeSharepoint', 'DataSourceTypeVMwareVM', 'DataSourceTypeSystemState', 'DataSourceTypeClient', 'DataSourceTypeGenericDataSource', 'DataSourceTypeSQLDataBase', 'DataSourceTypeAzureFileShare', 'DataSourceTypeSAPHanaDatabase', 'DataSourceTypeSAPAseDatabase' - WorkloadType DataSourceType `json:"workloadType,omitempty"` - // ContainerName - Unique name of container - ContainerName *string `json:"containerName,omitempty"` - // SourceResourceID - ARM ID of the resource to be backed up. - SourceResourceID *string `json:"sourceResourceId,omitempty"` - // PolicyID - ID of the backup policy with which this item is backed up. - PolicyID *string `json:"policyId,omitempty"` - // LastRecoveryPoint - Timestamp when the last (latest) backup copy was created for this backup item. - LastRecoveryPoint *date.Time `json:"lastRecoveryPoint,omitempty"` - // BackupSetName - Name of the backup set the backup item belongs to - BackupSetName *string `json:"backupSetName,omitempty"` - // CreateMode - Create mode to indicate recovery of existing soft deleted data source or creation of new data source. Possible values include: 'CreateModeInvalid', 'CreateModeDefault', 'CreateModeRecover' - CreateMode CreateMode `json:"createMode,omitempty"` - // DeferredDeleteTimeInUTC - Time for deferred deletion in UTC - DeferredDeleteTimeInUTC *date.Time `json:"deferredDeleteTimeInUTC,omitempty"` - // IsScheduledForDeferredDelete - Flag to identify whether the DS is scheduled for deferred delete - IsScheduledForDeferredDelete *bool `json:"isScheduledForDeferredDelete,omitempty"` - // DeferredDeleteTimeRemaining - Time remaining before the DS marked for deferred delete is permanently deleted - DeferredDeleteTimeRemaining *string `json:"deferredDeleteTimeRemaining,omitempty"` - // IsDeferredDeleteScheduleUpcoming - Flag to identify whether the deferred deleted DS is to be purged soon - IsDeferredDeleteScheduleUpcoming *bool `json:"isDeferredDeleteScheduleUpcoming,omitempty"` - // IsRehydrate - Flag to identify that deferred deleted DS is to be moved into Pause state - IsRehydrate *bool `json:"isRehydrate,omitempty"` - // ProtectedItemType - Possible values include: 'ProtectedItemTypeProtectedItem', 'ProtectedItemTypeAzureFileShareProtectedItem', 'ProtectedItemTypeMicrosoftClassicComputevirtualMachines', 'ProtectedItemTypeMicrosoftComputevirtualMachines', 'ProtectedItemTypeAzureIaaSVMProtectedItem', 'ProtectedItemTypeMicrosoftSqlserversdatabases', 'ProtectedItemTypeAzureVMWorkloadProtectedItem', 'ProtectedItemTypeAzureVMWorkloadSAPAseDatabase', 'ProtectedItemTypeAzureVMWorkloadSAPHanaDatabase', 'ProtectedItemTypeAzureVMWorkloadSQLDatabase', 'ProtectedItemTypeDPMProtectedItem', 'ProtectedItemTypeGenericProtectedItem', 'ProtectedItemTypeMabFileFolderProtectedItem' - ProtectedItemType ProtectedItemType `json:"protectedItemType,omitempty"` -} - -// MarshalJSON is the custom marshaler for AzureIaaSComputeVMProtectedItem. -func (aiscvpi AzureIaaSComputeVMProtectedItem) MarshalJSON() ([]byte, error) { - aiscvpi.ProtectedItemType = ProtectedItemTypeMicrosoftComputevirtualMachines + // RegistrationStatus - Status of registration of the container with the Recovery Services Vault. + RegistrationStatus *string `json:"registrationStatus,omitempty"` + // HealthStatus - Status of health of the container. + HealthStatus *string `json:"healthStatus,omitempty"` + // ContainerType - Possible values include: 'ContainerTypeProtectionContainer', 'ContainerTypeAzureBackupServerContainer1', 'ContainerTypeMicrosoftClassicComputevirtualMachines', 'ContainerTypeMicrosoftComputevirtualMachines', 'ContainerTypeSQLAGWorkLoadContainer1', 'ContainerTypeAzureSQLContainer1', 'ContainerTypeStorageContainer1', 'ContainerTypeVMAppContainer1', 'ContainerTypeAzureWorkloadContainer', 'ContainerTypeDPMContainer1', 'ContainerTypeGenericContainer1', 'ContainerTypeIaaSVMContainer', 'ContainerTypeWindows1' + ContainerType ContainerTypeBasicProtectionContainer `json:"containerType,omitempty"` +} + +// MarshalJSON is the custom marshaler for AzureVMAppContainerProtectionContainer. +func (avacpc AzureVMAppContainerProtectionContainer) MarshalJSON() ([]byte, error) { + avacpc.ContainerType = ContainerTypeVMAppContainer1 objectMap := make(map[string]interface{}) - if aiscvpi.FriendlyName != nil { - objectMap["friendlyName"] = aiscvpi.FriendlyName - } - if aiscvpi.VirtualMachineID != nil { - objectMap["virtualMachineId"] = aiscvpi.VirtualMachineID - } - if aiscvpi.ProtectionStatus != nil { - objectMap["protectionStatus"] = aiscvpi.ProtectionStatus - } - if aiscvpi.ProtectionState != "" { - objectMap["protectionState"] = aiscvpi.ProtectionState - } - if aiscvpi.HealthStatus != "" { - objectMap["healthStatus"] = aiscvpi.HealthStatus - } - if aiscvpi.HealthDetails != nil { - objectMap["healthDetails"] = aiscvpi.HealthDetails - } - if aiscvpi.LastBackupStatus != nil { - objectMap["lastBackupStatus"] = aiscvpi.LastBackupStatus - } - if aiscvpi.LastBackupTime != nil { - objectMap["lastBackupTime"] = aiscvpi.LastBackupTime - } - if aiscvpi.ProtectedItemDataID != nil { - objectMap["protectedItemDataId"] = aiscvpi.ProtectedItemDataID - } - if aiscvpi.ExtendedInfo != nil { - objectMap["extendedInfo"] = aiscvpi.ExtendedInfo - } - if aiscvpi.BackupManagementType != "" { - objectMap["backupManagementType"] = aiscvpi.BackupManagementType - } - if aiscvpi.WorkloadType != "" { - objectMap["workloadType"] = aiscvpi.WorkloadType - } - if aiscvpi.ContainerName != nil { - objectMap["containerName"] = aiscvpi.ContainerName - } - if aiscvpi.SourceResourceID != nil { - objectMap["sourceResourceId"] = aiscvpi.SourceResourceID - } - if aiscvpi.PolicyID != nil { - objectMap["policyId"] = aiscvpi.PolicyID + if avacpc.SourceResourceID != nil { + objectMap["sourceResourceId"] = avacpc.SourceResourceID } - if aiscvpi.LastRecoveryPoint != nil { - objectMap["lastRecoveryPoint"] = aiscvpi.LastRecoveryPoint + if avacpc.LastUpdatedTime != nil { + objectMap["lastUpdatedTime"] = avacpc.LastUpdatedTime } - if aiscvpi.BackupSetName != nil { - objectMap["backupSetName"] = aiscvpi.BackupSetName + if avacpc.ExtendedInfo != nil { + objectMap["extendedInfo"] = avacpc.ExtendedInfo } - if aiscvpi.CreateMode != "" { - objectMap["createMode"] = aiscvpi.CreateMode + if avacpc.WorkloadType != "" { + objectMap["workloadType"] = avacpc.WorkloadType } - if aiscvpi.DeferredDeleteTimeInUTC != nil { - objectMap["deferredDeleteTimeInUTC"] = aiscvpi.DeferredDeleteTimeInUTC + if avacpc.OperationType != "" { + objectMap["operationType"] = avacpc.OperationType } - if aiscvpi.IsScheduledForDeferredDelete != nil { - objectMap["isScheduledForDeferredDelete"] = aiscvpi.IsScheduledForDeferredDelete + if avacpc.FriendlyName != nil { + objectMap["friendlyName"] = avacpc.FriendlyName } - if aiscvpi.DeferredDeleteTimeRemaining != nil { - objectMap["deferredDeleteTimeRemaining"] = aiscvpi.DeferredDeleteTimeRemaining + if avacpc.BackupManagementType != "" { + objectMap["backupManagementType"] = avacpc.BackupManagementType } - if aiscvpi.IsDeferredDeleteScheduleUpcoming != nil { - objectMap["isDeferredDeleteScheduleUpcoming"] = aiscvpi.IsDeferredDeleteScheduleUpcoming + if avacpc.RegistrationStatus != nil { + objectMap["registrationStatus"] = avacpc.RegistrationStatus } - if aiscvpi.IsRehydrate != nil { - objectMap["isRehydrate"] = aiscvpi.IsRehydrate + if avacpc.HealthStatus != nil { + objectMap["healthStatus"] = avacpc.HealthStatus } - if aiscvpi.ProtectedItemType != "" { - objectMap["protectedItemType"] = aiscvpi.ProtectedItemType + if avacpc.ContainerType != "" { + objectMap["containerType"] = avacpc.ContainerType } return json.Marshal(objectMap) } -// AsAzureFileshareProtectedItem is the BasicProtectedItem implementation for AzureIaaSComputeVMProtectedItem. -func (aiscvpi AzureIaaSComputeVMProtectedItem) AsAzureFileshareProtectedItem() (*AzureFileshareProtectedItem, bool) { +// AsAzureBackupServerContainer is the BasicProtectionContainer implementation for AzureVMAppContainerProtectionContainer. +func (avacpc AzureVMAppContainerProtectionContainer) AsAzureBackupServerContainer() (*AzureBackupServerContainer, bool) { return nil, false } -// AsAzureIaaSClassicComputeVMProtectedItem is the BasicProtectedItem implementation for AzureIaaSComputeVMProtectedItem. -func (aiscvpi AzureIaaSComputeVMProtectedItem) AsAzureIaaSClassicComputeVMProtectedItem() (*AzureIaaSClassicComputeVMProtectedItem, bool) { +// AsAzureIaaSClassicComputeVMContainer is the BasicProtectionContainer implementation for AzureVMAppContainerProtectionContainer. +func (avacpc AzureVMAppContainerProtectionContainer) AsAzureIaaSClassicComputeVMContainer() (*AzureIaaSClassicComputeVMContainer, bool) { return nil, false } -// AsAzureIaaSComputeVMProtectedItem is the BasicProtectedItem implementation for AzureIaaSComputeVMProtectedItem. -func (aiscvpi AzureIaaSComputeVMProtectedItem) AsAzureIaaSComputeVMProtectedItem() (*AzureIaaSComputeVMProtectedItem, bool) { - return &aiscvpi, true +// AsAzureIaaSComputeVMContainer is the BasicProtectionContainer implementation for AzureVMAppContainerProtectionContainer. +func (avacpc AzureVMAppContainerProtectionContainer) AsAzureIaaSComputeVMContainer() (*AzureIaaSComputeVMContainer, bool) { + return nil, false } -// AsAzureIaaSVMProtectedItem is the BasicProtectedItem implementation for AzureIaaSComputeVMProtectedItem. -func (aiscvpi AzureIaaSComputeVMProtectedItem) AsAzureIaaSVMProtectedItem() (*AzureIaaSVMProtectedItem, bool) { +// AsAzureSQLAGWorkloadContainerProtectionContainer is the BasicProtectionContainer implementation for AzureVMAppContainerProtectionContainer. +func (avacpc AzureVMAppContainerProtectionContainer) AsAzureSQLAGWorkloadContainerProtectionContainer() (*AzureSQLAGWorkloadContainerProtectionContainer, bool) { return nil, false } -// AsBasicAzureIaaSVMProtectedItem is the BasicProtectedItem implementation for AzureIaaSComputeVMProtectedItem. -func (aiscvpi AzureIaaSComputeVMProtectedItem) AsBasicAzureIaaSVMProtectedItem() (BasicAzureIaaSVMProtectedItem, bool) { - return &aiscvpi, true +// AsAzureSQLContainer is the BasicProtectionContainer implementation for AzureVMAppContainerProtectionContainer. +func (avacpc AzureVMAppContainerProtectionContainer) AsAzureSQLContainer() (*AzureSQLContainer, bool) { + return nil, false } -// AsAzureSQLProtectedItem is the BasicProtectedItem implementation for AzureIaaSComputeVMProtectedItem. -func (aiscvpi AzureIaaSComputeVMProtectedItem) AsAzureSQLProtectedItem() (*AzureSQLProtectedItem, bool) { +// AsAzureStorageContainer is the BasicProtectionContainer implementation for AzureVMAppContainerProtectionContainer. +func (avacpc AzureVMAppContainerProtectionContainer) AsAzureStorageContainer() (*AzureStorageContainer, bool) { return nil, false } -// AsAzureVMWorkloadProtectedItem is the BasicProtectedItem implementation for AzureIaaSComputeVMProtectedItem. -func (aiscvpi AzureIaaSComputeVMProtectedItem) AsAzureVMWorkloadProtectedItem() (*AzureVMWorkloadProtectedItem, bool) { - return nil, false +// AsAzureVMAppContainerProtectionContainer is the BasicProtectionContainer implementation for AzureVMAppContainerProtectionContainer. +func (avacpc AzureVMAppContainerProtectionContainer) AsAzureVMAppContainerProtectionContainer() (*AzureVMAppContainerProtectionContainer, bool) { + return &avacpc, true } -// AsBasicAzureVMWorkloadProtectedItem is the BasicProtectedItem implementation for AzureIaaSComputeVMProtectedItem. -func (aiscvpi AzureIaaSComputeVMProtectedItem) AsBasicAzureVMWorkloadProtectedItem() (BasicAzureVMWorkloadProtectedItem, bool) { +// AsAzureWorkloadContainer is the BasicProtectionContainer implementation for AzureVMAppContainerProtectionContainer. +func (avacpc AzureVMAppContainerProtectionContainer) AsAzureWorkloadContainer() (*AzureWorkloadContainer, bool) { return nil, false } -// AsAzureVMWorkloadSAPAseDatabaseProtectedItem is the BasicProtectedItem implementation for AzureIaaSComputeVMProtectedItem. -func (aiscvpi AzureIaaSComputeVMProtectedItem) AsAzureVMWorkloadSAPAseDatabaseProtectedItem() (*AzureVMWorkloadSAPAseDatabaseProtectedItem, bool) { - return nil, false +// AsBasicAzureWorkloadContainer is the BasicProtectionContainer implementation for AzureVMAppContainerProtectionContainer. +func (avacpc AzureVMAppContainerProtectionContainer) AsBasicAzureWorkloadContainer() (BasicAzureWorkloadContainer, bool) { + return &avacpc, true } -// AsAzureVMWorkloadSAPHanaDatabaseProtectedItem is the BasicProtectedItem implementation for AzureIaaSComputeVMProtectedItem. -func (aiscvpi AzureIaaSComputeVMProtectedItem) AsAzureVMWorkloadSAPHanaDatabaseProtectedItem() (*AzureVMWorkloadSAPHanaDatabaseProtectedItem, bool) { +// AsDpmContainer is the BasicProtectionContainer implementation for AzureVMAppContainerProtectionContainer. +func (avacpc AzureVMAppContainerProtectionContainer) AsDpmContainer() (*DpmContainer, bool) { return nil, false } -// AsAzureVMWorkloadSQLDatabaseProtectedItem is the BasicProtectedItem implementation for AzureIaaSComputeVMProtectedItem. -func (aiscvpi AzureIaaSComputeVMProtectedItem) AsAzureVMWorkloadSQLDatabaseProtectedItem() (*AzureVMWorkloadSQLDatabaseProtectedItem, bool) { +// AsBasicDpmContainer is the BasicProtectionContainer implementation for AzureVMAppContainerProtectionContainer. +func (avacpc AzureVMAppContainerProtectionContainer) AsBasicDpmContainer() (BasicDpmContainer, bool) { return nil, false } -// AsDPMProtectedItem is the BasicProtectedItem implementation for AzureIaaSComputeVMProtectedItem. -func (aiscvpi AzureIaaSComputeVMProtectedItem) AsDPMProtectedItem() (*DPMProtectedItem, bool) { +// AsGenericContainer is the BasicProtectionContainer implementation for AzureVMAppContainerProtectionContainer. +func (avacpc AzureVMAppContainerProtectionContainer) AsGenericContainer() (*GenericContainer, bool) { return nil, false } -// AsGenericProtectedItem is the BasicProtectedItem implementation for AzureIaaSComputeVMProtectedItem. -func (aiscvpi AzureIaaSComputeVMProtectedItem) AsGenericProtectedItem() (*GenericProtectedItem, bool) { +// AsIaaSVMContainer is the BasicProtectionContainer implementation for AzureVMAppContainerProtectionContainer. +func (avacpc AzureVMAppContainerProtectionContainer) AsIaaSVMContainer() (*IaaSVMContainer, bool) { return nil, false } -// AsMabFileFolderProtectedItem is the BasicProtectedItem implementation for AzureIaaSComputeVMProtectedItem. -func (aiscvpi AzureIaaSComputeVMProtectedItem) AsMabFileFolderProtectedItem() (*MabFileFolderProtectedItem, bool) { +// AsBasicIaaSVMContainer is the BasicProtectionContainer implementation for AzureVMAppContainerProtectionContainer. +func (avacpc AzureVMAppContainerProtectionContainer) AsBasicIaaSVMContainer() (BasicIaaSVMContainer, bool) { return nil, false } -// AsProtectedItem is the BasicProtectedItem implementation for AzureIaaSComputeVMProtectedItem. -func (aiscvpi AzureIaaSComputeVMProtectedItem) AsProtectedItem() (*ProtectedItem, bool) { +// AsMabContainer is the BasicProtectionContainer implementation for AzureVMAppContainerProtectionContainer. +func (avacpc AzureVMAppContainerProtectionContainer) AsMabContainer() (*MabContainer, bool) { return nil, false } -// AsBasicProtectedItem is the BasicProtectedItem implementation for AzureIaaSComputeVMProtectedItem. -func (aiscvpi AzureIaaSComputeVMProtectedItem) AsBasicProtectedItem() (BasicProtectedItem, bool) { - return &aiscvpi, true +// AsProtectionContainer is the BasicProtectionContainer implementation for AzureVMAppContainerProtectionContainer. +func (avacpc AzureVMAppContainerProtectionContainer) AsProtectionContainer() (*ProtectionContainer, bool) { + return nil, false } -// AzureIaaSVMHealthDetails azure IaaS VM workload-specific Health Details. -type AzureIaaSVMHealthDetails struct { - // Code - Health Code - Code *int32 `json:"code,omitempty"` - // Title - Health Title - Title *string `json:"title,omitempty"` - // Message - Health Message - Message *string `json:"message,omitempty"` - // Recommendations - Health Recommended Actions - Recommendations *[]string `json:"recommendations,omitempty"` +// AsBasicProtectionContainer is the BasicProtectionContainer implementation for AzureVMAppContainerProtectionContainer. +func (avacpc AzureVMAppContainerProtectionContainer) AsBasicProtectionContainer() (BasicProtectionContainer, bool) { + return &avacpc, true } -// BasicAzureIaaSVMProtectedItem iaaS VM workload-specific backup item. -type BasicAzureIaaSVMProtectedItem interface { - AsAzureIaaSClassicComputeVMProtectedItem() (*AzureIaaSClassicComputeVMProtectedItem, bool) - AsAzureIaaSComputeVMProtectedItem() (*AzureIaaSComputeVMProtectedItem, bool) - AsAzureIaaSVMProtectedItem() (*AzureIaaSVMProtectedItem, bool) +// BasicAzureVMWorkloadItem azure VM workload-specific workload item. +type BasicAzureVMWorkloadItem interface { + AsAzureVMWorkloadSAPAseDatabaseWorkloadItem() (*AzureVMWorkloadSAPAseDatabaseWorkloadItem, bool) + AsAzureVMWorkloadSAPAseSystemWorkloadItem() (*AzureVMWorkloadSAPAseSystemWorkloadItem, bool) + AsAzureVMWorkloadSAPHanaDatabaseWorkloadItem() (*AzureVMWorkloadSAPHanaDatabaseWorkloadItem, bool) + AsAzureVMWorkloadSAPHanaSystemWorkloadItem() (*AzureVMWorkloadSAPHanaSystemWorkloadItem, bool) + AsAzureVMWorkloadSQLDatabaseWorkloadItem() (*AzureVMWorkloadSQLDatabaseWorkloadItem, bool) + AsAzureVMWorkloadSQLInstanceWorkloadItem() (*AzureVMWorkloadSQLInstanceWorkloadItem, bool) + AsAzureVMWorkloadItem() (*AzureVMWorkloadItem, bool) } -// AzureIaaSVMProtectedItem iaaS VM workload-specific backup item. -type AzureIaaSVMProtectedItem struct { - // FriendlyName - Friendly name of the VM represented by this backup item. +// AzureVMWorkloadItem azure VM workload-specific workload item. +type AzureVMWorkloadItem struct { + // ParentName - Name for instance or AG + ParentName *string `json:"parentName,omitempty"` + // ServerName - Host/Cluster Name for instance or AG + ServerName *string `json:"serverName,omitempty"` + // IsAutoProtectable - Indicates if workload item is auto-protectable + IsAutoProtectable *bool `json:"isAutoProtectable,omitempty"` + // Subinquireditemcount - For instance or AG, indicates number of DB's present + Subinquireditemcount *int32 `json:"subinquireditemcount,omitempty"` + // SubWorkloadItemCount - For instance or AG, indicates number of DB's to be protected + SubWorkloadItemCount *int32 `json:"subWorkloadItemCount,omitempty"` + // BackupManagementType - Type of backup management to backup an item. + BackupManagementType *string `json:"backupManagementType,omitempty"` + // WorkloadType - Type of workload for the backup management + WorkloadType *string `json:"workloadType,omitempty"` + // FriendlyName - Friendly name of the backup item. FriendlyName *string `json:"friendlyName,omitempty"` - // VirtualMachineID - Fully qualified ARM ID of the virtual machine represented by this item. - VirtualMachineID *string `json:"virtualMachineId,omitempty"` - // ProtectionStatus - Backup status of this backup item. - ProtectionStatus *string `json:"protectionStatus,omitempty"` - // ProtectionState - Backup state of this backup item. Possible values include: 'ProtectionStateInvalid', 'ProtectionStateIRPending', 'ProtectionStateProtected', 'ProtectionStateProtectionError', 'ProtectionStateProtectionStopped', 'ProtectionStateProtectionPaused' - ProtectionState ProtectionState `json:"protectionState,omitempty"` - // HealthStatus - Health status of protected item. Possible values include: 'HealthStatusPassed', 'HealthStatusActionRequired', 'HealthStatusActionSuggested', 'HealthStatusInvalid' - HealthStatus HealthStatus `json:"healthStatus,omitempty"` - // HealthDetails - Health details on this backup item. - HealthDetails *[]AzureIaaSVMHealthDetails `json:"healthDetails,omitempty"` - // LastBackupStatus - Last backup operation status. - LastBackupStatus *string `json:"lastBackupStatus,omitempty"` - // LastBackupTime - Timestamp of the last backup operation on this backup item. - LastBackupTime *date.Time `json:"lastBackupTime,omitempty"` - // ProtectedItemDataID - Data ID of the protected item. - ProtectedItemDataID *string `json:"protectedItemDataId,omitempty"` - // ExtendedInfo - Additional information for this backup item. - ExtendedInfo *AzureIaaSVMProtectedItemExtendedInfo `json:"extendedInfo,omitempty"` - // BackupManagementType - Type of backup management for the backed up item. Possible values include: 'ManagementTypeInvalid', 'ManagementTypeAzureIaasVM', 'ManagementTypeMAB', 'ManagementTypeDPM', 'ManagementTypeAzureBackupServer', 'ManagementTypeAzureSQL', 'ManagementTypeAzureStorage', 'ManagementTypeAzureWorkload', 'ManagementTypeDefaultBackup' - BackupManagementType ManagementType `json:"backupManagementType,omitempty"` - // WorkloadType - Type of workload this item represents. Possible values include: 'DataSourceTypeInvalid', 'DataSourceTypeVM', 'DataSourceTypeFileFolder', 'DataSourceTypeAzureSQLDb', 'DataSourceTypeSQLDB', 'DataSourceTypeExchange', 'DataSourceTypeSharepoint', 'DataSourceTypeVMwareVM', 'DataSourceTypeSystemState', 'DataSourceTypeClient', 'DataSourceTypeGenericDataSource', 'DataSourceTypeSQLDataBase', 'DataSourceTypeAzureFileShare', 'DataSourceTypeSAPHanaDatabase', 'DataSourceTypeSAPAseDatabase' - WorkloadType DataSourceType `json:"workloadType,omitempty"` - // ContainerName - Unique name of container - ContainerName *string `json:"containerName,omitempty"` - // SourceResourceID - ARM ID of the resource to be backed up. - SourceResourceID *string `json:"sourceResourceId,omitempty"` - // PolicyID - ID of the backup policy with which this item is backed up. - PolicyID *string `json:"policyId,omitempty"` - // LastRecoveryPoint - Timestamp when the last (latest) backup copy was created for this backup item. - LastRecoveryPoint *date.Time `json:"lastRecoveryPoint,omitempty"` - // BackupSetName - Name of the backup set the backup item belongs to - BackupSetName *string `json:"backupSetName,omitempty"` - // CreateMode - Create mode to indicate recovery of existing soft deleted data source or creation of new data source. Possible values include: 'CreateModeInvalid', 'CreateModeDefault', 'CreateModeRecover' - CreateMode CreateMode `json:"createMode,omitempty"` - // DeferredDeleteTimeInUTC - Time for deferred deletion in UTC - DeferredDeleteTimeInUTC *date.Time `json:"deferredDeleteTimeInUTC,omitempty"` - // IsScheduledForDeferredDelete - Flag to identify whether the DS is scheduled for deferred delete - IsScheduledForDeferredDelete *bool `json:"isScheduledForDeferredDelete,omitempty"` - // DeferredDeleteTimeRemaining - Time remaining before the DS marked for deferred delete is permanently deleted - DeferredDeleteTimeRemaining *string `json:"deferredDeleteTimeRemaining,omitempty"` - // IsDeferredDeleteScheduleUpcoming - Flag to identify whether the deferred deleted DS is to be purged soon - IsDeferredDeleteScheduleUpcoming *bool `json:"isDeferredDeleteScheduleUpcoming,omitempty"` - // IsRehydrate - Flag to identify that deferred deleted DS is to be moved into Pause state - IsRehydrate *bool `json:"isRehydrate,omitempty"` - // ProtectedItemType - Possible values include: 'ProtectedItemTypeProtectedItem', 'ProtectedItemTypeAzureFileShareProtectedItem', 'ProtectedItemTypeMicrosoftClassicComputevirtualMachines', 'ProtectedItemTypeMicrosoftComputevirtualMachines', 'ProtectedItemTypeAzureIaaSVMProtectedItem', 'ProtectedItemTypeMicrosoftSqlserversdatabases', 'ProtectedItemTypeAzureVMWorkloadProtectedItem', 'ProtectedItemTypeAzureVMWorkloadSAPAseDatabase', 'ProtectedItemTypeAzureVMWorkloadSAPHanaDatabase', 'ProtectedItemTypeAzureVMWorkloadSQLDatabase', 'ProtectedItemTypeDPMProtectedItem', 'ProtectedItemTypeGenericProtectedItem', 'ProtectedItemTypeMabFileFolderProtectedItem' - ProtectedItemType ProtectedItemType `json:"protectedItemType,omitempty"` -} - -func unmarshalBasicAzureIaaSVMProtectedItem(body []byte) (BasicAzureIaaSVMProtectedItem, error) { + // ProtectionState - State of the back up item. Possible values include: 'ProtectionStatusInvalid', 'ProtectionStatusNotProtected', 'ProtectionStatusProtecting', 'ProtectionStatusProtected', 'ProtectionStatusProtectionFailed' + ProtectionState ProtectionStatus `json:"protectionState,omitempty"` + // WorkloadItemType - Possible values include: 'WorkloadItemTypeWorkloadItem', 'WorkloadItemTypeAzureVMWorkloadItem', 'WorkloadItemTypeSAPAseDatabase1', 'WorkloadItemTypeSAPAseSystem1', 'WorkloadItemTypeSAPHanaDatabase1', 'WorkloadItemTypeSAPHanaSystem1', 'WorkloadItemTypeSQLDataBase1', 'WorkloadItemTypeSQLInstance1' + WorkloadItemType WorkloadItemTypeBasicWorkloadItem `json:"workloadItemType,omitempty"` +} + +func unmarshalBasicAzureVMWorkloadItem(body []byte) (BasicAzureVMWorkloadItem, error) { var m map[string]interface{} err := json.Unmarshal(body, &m) if err != nil { return nil, err } - switch m["protectedItemType"] { - case string(ProtectedItemTypeMicrosoftClassicComputevirtualMachines): - var aisccvpi AzureIaaSClassicComputeVMProtectedItem - err := json.Unmarshal(body, &aisccvpi) - return aisccvpi, err - case string(ProtectedItemTypeMicrosoftComputevirtualMachines): - var aiscvpi AzureIaaSComputeVMProtectedItem - err := json.Unmarshal(body, &aiscvpi) - return aiscvpi, err + switch m["workloadItemType"] { + case string(WorkloadItemTypeSAPAseDatabase1): + var avwsadwi AzureVMWorkloadSAPAseDatabaseWorkloadItem + err := json.Unmarshal(body, &avwsadwi) + return avwsadwi, err + case string(WorkloadItemTypeSAPAseSystem1): + var avwsaswi AzureVMWorkloadSAPAseSystemWorkloadItem + err := json.Unmarshal(body, &avwsaswi) + return avwsaswi, err + case string(WorkloadItemTypeSAPHanaDatabase1): + var avwshdwi AzureVMWorkloadSAPHanaDatabaseWorkloadItem + err := json.Unmarshal(body, &avwshdwi) + return avwshdwi, err + case string(WorkloadItemTypeSAPHanaSystem1): + var avwshswi AzureVMWorkloadSAPHanaSystemWorkloadItem + err := json.Unmarshal(body, &avwshswi) + return avwshswi, err + case string(WorkloadItemTypeSQLDataBase1): + var avwsdwi AzureVMWorkloadSQLDatabaseWorkloadItem + err := json.Unmarshal(body, &avwsdwi) + return avwsdwi, err + case string(WorkloadItemTypeSQLInstance1): + var avwsiwi AzureVMWorkloadSQLInstanceWorkloadItem + err := json.Unmarshal(body, &avwsiwi) + return avwsiwi, err default: - var aispi AzureIaaSVMProtectedItem - err := json.Unmarshal(body, &aispi) - return aispi, err + var avwi AzureVMWorkloadItem + err := json.Unmarshal(body, &avwi) + return avwi, err } } -func unmarshalBasicAzureIaaSVMProtectedItemArray(body []byte) ([]BasicAzureIaaSVMProtectedItem, error) { +func unmarshalBasicAzureVMWorkloadItemArray(body []byte) ([]BasicAzureVMWorkloadItem, error) { var rawMessages []*json.RawMessage err := json.Unmarshal(body, &rawMessages) if err != nil { return nil, err } - aispiArray := make([]BasicAzureIaaSVMProtectedItem, len(rawMessages)) + avwiArray := make([]BasicAzureVMWorkloadItem, len(rawMessages)) for index, rawMessage := range rawMessages { - aispi, err := unmarshalBasicAzureIaaSVMProtectedItem(*rawMessage) + avwi, err := unmarshalBasicAzureVMWorkloadItem(*rawMessage) if err != nil { return nil, err } - aispiArray[index] = aispi + avwiArray[index] = avwi } - return aispiArray, nil + return avwiArray, nil } -// MarshalJSON is the custom marshaler for AzureIaaSVMProtectedItem. -func (aispi AzureIaaSVMProtectedItem) MarshalJSON() ([]byte, error) { - aispi.ProtectedItemType = ProtectedItemTypeAzureIaaSVMProtectedItem +// MarshalJSON is the custom marshaler for AzureVMWorkloadItem. +func (avwi AzureVMWorkloadItem) MarshalJSON() ([]byte, error) { + avwi.WorkloadItemType = WorkloadItemTypeAzureVMWorkloadItem objectMap := make(map[string]interface{}) - if aispi.FriendlyName != nil { - objectMap["friendlyName"] = aispi.FriendlyName - } - if aispi.VirtualMachineID != nil { - objectMap["virtualMachineId"] = aispi.VirtualMachineID - } - if aispi.ProtectionStatus != nil { - objectMap["protectionStatus"] = aispi.ProtectionStatus - } - if aispi.ProtectionState != "" { - objectMap["protectionState"] = aispi.ProtectionState - } - if aispi.HealthStatus != "" { - objectMap["healthStatus"] = aispi.HealthStatus - } - if aispi.HealthDetails != nil { - objectMap["healthDetails"] = aispi.HealthDetails - } - if aispi.LastBackupStatus != nil { - objectMap["lastBackupStatus"] = aispi.LastBackupStatus - } - if aispi.LastBackupTime != nil { - objectMap["lastBackupTime"] = aispi.LastBackupTime - } - if aispi.ProtectedItemDataID != nil { - objectMap["protectedItemDataId"] = aispi.ProtectedItemDataID - } - if aispi.ExtendedInfo != nil { - objectMap["extendedInfo"] = aispi.ExtendedInfo - } - if aispi.BackupManagementType != "" { - objectMap["backupManagementType"] = aispi.BackupManagementType - } - if aispi.WorkloadType != "" { - objectMap["workloadType"] = aispi.WorkloadType - } - if aispi.ContainerName != nil { - objectMap["containerName"] = aispi.ContainerName - } - if aispi.SourceResourceID != nil { - objectMap["sourceResourceId"] = aispi.SourceResourceID - } - if aispi.PolicyID != nil { - objectMap["policyId"] = aispi.PolicyID + if avwi.ParentName != nil { + objectMap["parentName"] = avwi.ParentName } - if aispi.LastRecoveryPoint != nil { - objectMap["lastRecoveryPoint"] = aispi.LastRecoveryPoint + if avwi.ServerName != nil { + objectMap["serverName"] = avwi.ServerName } - if aispi.BackupSetName != nil { - objectMap["backupSetName"] = aispi.BackupSetName + if avwi.IsAutoProtectable != nil { + objectMap["isAutoProtectable"] = avwi.IsAutoProtectable } - if aispi.CreateMode != "" { - objectMap["createMode"] = aispi.CreateMode + if avwi.Subinquireditemcount != nil { + objectMap["subinquireditemcount"] = avwi.Subinquireditemcount } - if aispi.DeferredDeleteTimeInUTC != nil { - objectMap["deferredDeleteTimeInUTC"] = aispi.DeferredDeleteTimeInUTC + if avwi.SubWorkloadItemCount != nil { + objectMap["subWorkloadItemCount"] = avwi.SubWorkloadItemCount } - if aispi.IsScheduledForDeferredDelete != nil { - objectMap["isScheduledForDeferredDelete"] = aispi.IsScheduledForDeferredDelete + if avwi.BackupManagementType != nil { + objectMap["backupManagementType"] = avwi.BackupManagementType } - if aispi.DeferredDeleteTimeRemaining != nil { - objectMap["deferredDeleteTimeRemaining"] = aispi.DeferredDeleteTimeRemaining + if avwi.WorkloadType != nil { + objectMap["workloadType"] = avwi.WorkloadType } - if aispi.IsDeferredDeleteScheduleUpcoming != nil { - objectMap["isDeferredDeleteScheduleUpcoming"] = aispi.IsDeferredDeleteScheduleUpcoming + if avwi.FriendlyName != nil { + objectMap["friendlyName"] = avwi.FriendlyName } - if aispi.IsRehydrate != nil { - objectMap["isRehydrate"] = aispi.IsRehydrate + if avwi.ProtectionState != "" { + objectMap["protectionState"] = avwi.ProtectionState } - if aispi.ProtectedItemType != "" { - objectMap["protectedItemType"] = aispi.ProtectedItemType + if avwi.WorkloadItemType != "" { + objectMap["workloadItemType"] = avwi.WorkloadItemType } return json.Marshal(objectMap) } -// AsAzureFileshareProtectedItem is the BasicProtectedItem implementation for AzureIaaSVMProtectedItem. -func (aispi AzureIaaSVMProtectedItem) AsAzureFileshareProtectedItem() (*AzureFileshareProtectedItem, bool) { - return nil, false -} - -// AsAzureIaaSClassicComputeVMProtectedItem is the BasicProtectedItem implementation for AzureIaaSVMProtectedItem. -func (aispi AzureIaaSVMProtectedItem) AsAzureIaaSClassicComputeVMProtectedItem() (*AzureIaaSClassicComputeVMProtectedItem, bool) { - return nil, false -} - -// AsAzureIaaSComputeVMProtectedItem is the BasicProtectedItem implementation for AzureIaaSVMProtectedItem. -func (aispi AzureIaaSVMProtectedItem) AsAzureIaaSComputeVMProtectedItem() (*AzureIaaSComputeVMProtectedItem, bool) { - return nil, false -} - -// AsAzureIaaSVMProtectedItem is the BasicProtectedItem implementation for AzureIaaSVMProtectedItem. -func (aispi AzureIaaSVMProtectedItem) AsAzureIaaSVMProtectedItem() (*AzureIaaSVMProtectedItem, bool) { - return &aispi, true -} - -// AsBasicAzureIaaSVMProtectedItem is the BasicProtectedItem implementation for AzureIaaSVMProtectedItem. -func (aispi AzureIaaSVMProtectedItem) AsBasicAzureIaaSVMProtectedItem() (BasicAzureIaaSVMProtectedItem, bool) { - return &aispi, true -} - -// AsAzureSQLProtectedItem is the BasicProtectedItem implementation for AzureIaaSVMProtectedItem. -func (aispi AzureIaaSVMProtectedItem) AsAzureSQLProtectedItem() (*AzureSQLProtectedItem, bool) { - return nil, false -} - -// AsAzureVMWorkloadProtectedItem is the BasicProtectedItem implementation for AzureIaaSVMProtectedItem. -func (aispi AzureIaaSVMProtectedItem) AsAzureVMWorkloadProtectedItem() (*AzureVMWorkloadProtectedItem, bool) { - return nil, false +// AsAzureVMWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadItem. +func (avwi AzureVMWorkloadItem) AsAzureVMWorkloadItem() (*AzureVMWorkloadItem, bool) { + return &avwi, true } -// AsBasicAzureVMWorkloadProtectedItem is the BasicProtectedItem implementation for AzureIaaSVMProtectedItem. -func (aispi AzureIaaSVMProtectedItem) AsBasicAzureVMWorkloadProtectedItem() (BasicAzureVMWorkloadProtectedItem, bool) { - return nil, false +// AsBasicAzureVMWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadItem. +func (avwi AzureVMWorkloadItem) AsBasicAzureVMWorkloadItem() (BasicAzureVMWorkloadItem, bool) { + return &avwi, true } -// AsAzureVMWorkloadSAPAseDatabaseProtectedItem is the BasicProtectedItem implementation for AzureIaaSVMProtectedItem. -func (aispi AzureIaaSVMProtectedItem) AsAzureVMWorkloadSAPAseDatabaseProtectedItem() (*AzureVMWorkloadSAPAseDatabaseProtectedItem, bool) { +// AsAzureVMWorkloadSAPAseDatabaseWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadItem. +func (avwi AzureVMWorkloadItem) AsAzureVMWorkloadSAPAseDatabaseWorkloadItem() (*AzureVMWorkloadSAPAseDatabaseWorkloadItem, bool) { return nil, false } -// AsAzureVMWorkloadSAPHanaDatabaseProtectedItem is the BasicProtectedItem implementation for AzureIaaSVMProtectedItem. -func (aispi AzureIaaSVMProtectedItem) AsAzureVMWorkloadSAPHanaDatabaseProtectedItem() (*AzureVMWorkloadSAPHanaDatabaseProtectedItem, bool) { +// AsAzureVMWorkloadSAPAseSystemWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadItem. +func (avwi AzureVMWorkloadItem) AsAzureVMWorkloadSAPAseSystemWorkloadItem() (*AzureVMWorkloadSAPAseSystemWorkloadItem, bool) { return nil, false } -// AsAzureVMWorkloadSQLDatabaseProtectedItem is the BasicProtectedItem implementation for AzureIaaSVMProtectedItem. -func (aispi AzureIaaSVMProtectedItem) AsAzureVMWorkloadSQLDatabaseProtectedItem() (*AzureVMWorkloadSQLDatabaseProtectedItem, bool) { +// AsAzureVMWorkloadSAPHanaDatabaseWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadItem. +func (avwi AzureVMWorkloadItem) AsAzureVMWorkloadSAPHanaDatabaseWorkloadItem() (*AzureVMWorkloadSAPHanaDatabaseWorkloadItem, bool) { return nil, false } -// AsDPMProtectedItem is the BasicProtectedItem implementation for AzureIaaSVMProtectedItem. -func (aispi AzureIaaSVMProtectedItem) AsDPMProtectedItem() (*DPMProtectedItem, bool) { +// AsAzureVMWorkloadSAPHanaSystemWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadItem. +func (avwi AzureVMWorkloadItem) AsAzureVMWorkloadSAPHanaSystemWorkloadItem() (*AzureVMWorkloadSAPHanaSystemWorkloadItem, bool) { return nil, false } -// AsGenericProtectedItem is the BasicProtectedItem implementation for AzureIaaSVMProtectedItem. -func (aispi AzureIaaSVMProtectedItem) AsGenericProtectedItem() (*GenericProtectedItem, bool) { +// AsAzureVMWorkloadSQLDatabaseWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadItem. +func (avwi AzureVMWorkloadItem) AsAzureVMWorkloadSQLDatabaseWorkloadItem() (*AzureVMWorkloadSQLDatabaseWorkloadItem, bool) { return nil, false } -// AsMabFileFolderProtectedItem is the BasicProtectedItem implementation for AzureIaaSVMProtectedItem. -func (aispi AzureIaaSVMProtectedItem) AsMabFileFolderProtectedItem() (*MabFileFolderProtectedItem, bool) { +// AsAzureVMWorkloadSQLInstanceWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadItem. +func (avwi AzureVMWorkloadItem) AsAzureVMWorkloadSQLInstanceWorkloadItem() (*AzureVMWorkloadSQLInstanceWorkloadItem, bool) { return nil, false } -// AsProtectedItem is the BasicProtectedItem implementation for AzureIaaSVMProtectedItem. -func (aispi AzureIaaSVMProtectedItem) AsProtectedItem() (*ProtectedItem, bool) { +// AsWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadItem. +func (avwi AzureVMWorkloadItem) AsWorkloadItem() (*WorkloadItem, bool) { return nil, false } -// AsBasicProtectedItem is the BasicProtectedItem implementation for AzureIaaSVMProtectedItem. -func (aispi AzureIaaSVMProtectedItem) AsBasicProtectedItem() (BasicProtectedItem, bool) { - return &aispi, true +// AsBasicWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadItem. +func (avwi AzureVMWorkloadItem) AsBasicWorkloadItem() (BasicWorkloadItem, bool) { + return &avwi, true } -// AzureIaaSVMProtectedItemExtendedInfo additional information on Azure IaaS VM specific backup item. -type AzureIaaSVMProtectedItemExtendedInfo struct { - // OldestRecoveryPoint - The oldest backup copy available for this backup item. - OldestRecoveryPoint *date.Time `json:"oldestRecoveryPoint,omitempty"` - // RecoveryPointCount - Number of backup copies available for this backup item. - RecoveryPointCount *int32 `json:"recoveryPointCount,omitempty"` - // PolicyInconsistent - Specifies if backup policy associated with the backup item is inconsistent. - PolicyInconsistent *bool `json:"policyInconsistent,omitempty"` +// BasicAzureVMWorkloadProtectableItem azure VM workload-specific protectable item. +type BasicAzureVMWorkloadProtectableItem interface { + AsAzureVMWorkloadSAPAseSystemProtectableItem() (*AzureVMWorkloadSAPAseSystemProtectableItem, bool) + AsAzureVMWorkloadSAPHanaDatabaseProtectableItem() (*AzureVMWorkloadSAPHanaDatabaseProtectableItem, bool) + AsAzureVMWorkloadSAPHanaSystemProtectableItem() (*AzureVMWorkloadSAPHanaSystemProtectableItem, bool) + AsAzureVMWorkloadSQLAvailabilityGroupProtectableItem() (*AzureVMWorkloadSQLAvailabilityGroupProtectableItem, bool) + AsAzureVMWorkloadSQLDatabaseProtectableItem() (*AzureVMWorkloadSQLDatabaseProtectableItem, bool) + AsAzureVMWorkloadSQLInstanceProtectableItem() (*AzureVMWorkloadSQLInstanceProtectableItem, bool) + AsAzureVMWorkloadProtectableItem() (*AzureVMWorkloadProtectableItem, bool) } -// AzureIaaSVMProtectionPolicy iaaS VM workload-specific backup policy. -type AzureIaaSVMProtectionPolicy struct { - // SchedulePolicy - Backup schedule specified as part of backup policy. - SchedulePolicy BasicSchedulePolicy `json:"schedulePolicy,omitempty"` - // RetentionPolicy - Retention policy with the details on backup copy retention ranges. - RetentionPolicy BasicRetentionPolicy `json:"retentionPolicy,omitempty"` - // InstantRpRetentionRangeInDays - Instant RP retention policy range in days - InstantRpRetentionRangeInDays *int32 `json:"instantRpRetentionRangeInDays,omitempty"` - // TimeZone - TimeZone optional input as string. For example: TimeZone = "Pacific Standard Time". - TimeZone *string `json:"timeZone,omitempty"` - // ProtectedItemsCount - Number of items associated with this policy. - ProtectedItemsCount *int32 `json:"protectedItemsCount,omitempty"` - // BackupManagementType - Possible values include: 'BackupManagementTypeProtectionPolicy', 'BackupManagementTypeAzureStorage', 'BackupManagementTypeAzureIaasVM', 'BackupManagementTypeAzureSQL', 'BackupManagementTypeAzureWorkload', 'BackupManagementTypeGenericProtectionPolicy', 'BackupManagementTypeMAB' - BackupManagementType ManagementTypeBasicProtectionPolicy `json:"backupManagementType,omitempty"` +// AzureVMWorkloadProtectableItem azure VM workload-specific protectable item. +type AzureVMWorkloadProtectableItem struct { + // ParentName - Name for instance or AG + ParentName *string `json:"parentName,omitempty"` + // ParentUniqueName - Parent Unique Name is added to provide the service formatted URI Name of the Parent + // Only Applicable for data bases where the parent would be either Instance or a SQL AG. + ParentUniqueName *string `json:"parentUniqueName,omitempty"` + // ServerName - Host/Cluster Name for instance or AG + ServerName *string `json:"serverName,omitempty"` + // IsAutoProtectable - Indicates if protectable item is auto-protectable + IsAutoProtectable *bool `json:"isAutoProtectable,omitempty"` + // IsAutoProtected - Indicates if protectable item is auto-protected + IsAutoProtected *bool `json:"isAutoProtected,omitempty"` + // Subinquireditemcount - For instance or AG, indicates number of DB's present + Subinquireditemcount *int32 `json:"subinquireditemcount,omitempty"` + // Subprotectableitemcount - For instance or AG, indicates number of DB's to be protected + Subprotectableitemcount *int32 `json:"subprotectableitemcount,omitempty"` + // Prebackupvalidation - Pre-backup validation for protectable objects + Prebackupvalidation *PreBackupValidation `json:"prebackupvalidation,omitempty"` + // BackupManagementType - Type of backup management to backup an item. + BackupManagementType *string `json:"backupManagementType,omitempty"` + // WorkloadType - Type of workload for the backup management + WorkloadType *string `json:"workloadType,omitempty"` + // FriendlyName - Friendly name of the backup item. + FriendlyName *string `json:"friendlyName,omitempty"` + // ProtectionState - State of the back up item. Possible values include: 'ProtectionStatusInvalid', 'ProtectionStatusNotProtected', 'ProtectionStatusProtecting', 'ProtectionStatusProtected', 'ProtectionStatusProtectionFailed' + ProtectionState ProtectionStatus `json:"protectionState,omitempty"` + // ProtectableItemType - Possible values include: 'ProtectableItemTypeWorkloadProtectableItem', 'ProtectableItemTypeAzureFileShare', 'ProtectableItemTypeMicrosoftClassicComputevirtualMachines', 'ProtectableItemTypeMicrosoftComputevirtualMachines', 'ProtectableItemTypeAzureVMWorkloadProtectableItem', 'ProtectableItemTypeSAPAseSystem', 'ProtectableItemTypeSAPHanaDatabase', 'ProtectableItemTypeSAPHanaSystem', 'ProtectableItemTypeSQLAvailabilityGroupContainer', 'ProtectableItemTypeSQLDataBase', 'ProtectableItemTypeSQLInstance', 'ProtectableItemTypeIaaSVMProtectableItem' + ProtectableItemType ProtectableItemType `json:"protectableItemType,omitempty"` } -// MarshalJSON is the custom marshaler for AzureIaaSVMProtectionPolicy. -func (aispp AzureIaaSVMProtectionPolicy) MarshalJSON() ([]byte, error) { - aispp.BackupManagementType = BackupManagementTypeAzureIaasVM - objectMap := make(map[string]interface{}) - objectMap["schedulePolicy"] = aispp.SchedulePolicy - objectMap["retentionPolicy"] = aispp.RetentionPolicy - if aispp.InstantRpRetentionRangeInDays != nil { - objectMap["instantRpRetentionRangeInDays"] = aispp.InstantRpRetentionRangeInDays - } - if aispp.TimeZone != nil { - objectMap["timeZone"] = aispp.TimeZone - } - if aispp.ProtectedItemsCount != nil { - objectMap["protectedItemsCount"] = aispp.ProtectedItemsCount - } - if aispp.BackupManagementType != "" { - objectMap["backupManagementType"] = aispp.BackupManagementType +func unmarshalBasicAzureVMWorkloadProtectableItem(body []byte) (BasicAzureVMWorkloadProtectableItem, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err } - return json.Marshal(objectMap) -} - -// AsAzureFileShareProtectionPolicy is the BasicProtectionPolicy implementation for AzureIaaSVMProtectionPolicy. -func (aispp AzureIaaSVMProtectionPolicy) AsAzureFileShareProtectionPolicy() (*AzureFileShareProtectionPolicy, bool) { - return nil, false -} - -// AsAzureIaaSVMProtectionPolicy is the BasicProtectionPolicy implementation for AzureIaaSVMProtectionPolicy. -func (aispp AzureIaaSVMProtectionPolicy) AsAzureIaaSVMProtectionPolicy() (*AzureIaaSVMProtectionPolicy, bool) { - return &aispp, true -} -// AsAzureSQLProtectionPolicy is the BasicProtectionPolicy implementation for AzureIaaSVMProtectionPolicy. -func (aispp AzureIaaSVMProtectionPolicy) AsAzureSQLProtectionPolicy() (*AzureSQLProtectionPolicy, bool) { - return nil, false -} - -// AsAzureVMWorkloadProtectionPolicy is the BasicProtectionPolicy implementation for AzureIaaSVMProtectionPolicy. -func (aispp AzureIaaSVMProtectionPolicy) AsAzureVMWorkloadProtectionPolicy() (*AzureVMWorkloadProtectionPolicy, bool) { - return nil, false -} - -// AsGenericProtectionPolicy is the BasicProtectionPolicy implementation for AzureIaaSVMProtectionPolicy. -func (aispp AzureIaaSVMProtectionPolicy) AsGenericProtectionPolicy() (*GenericProtectionPolicy, bool) { - return nil, false -} - -// AsMabProtectionPolicy is the BasicProtectionPolicy implementation for AzureIaaSVMProtectionPolicy. -func (aispp AzureIaaSVMProtectionPolicy) AsMabProtectionPolicy() (*MabProtectionPolicy, bool) { - return nil, false -} - -// AsProtectionPolicy is the BasicProtectionPolicy implementation for AzureIaaSVMProtectionPolicy. -func (aispp AzureIaaSVMProtectionPolicy) AsProtectionPolicy() (*ProtectionPolicy, bool) { - return nil, false -} - -// AsBasicProtectionPolicy is the BasicProtectionPolicy implementation for AzureIaaSVMProtectionPolicy. -func (aispp AzureIaaSVMProtectionPolicy) AsBasicProtectionPolicy() (BasicProtectionPolicy, bool) { - return &aispp, true + switch m["protectableItemType"] { + case string(ProtectableItemTypeSAPAseSystem): + var avwsaspi AzureVMWorkloadSAPAseSystemProtectableItem + err := json.Unmarshal(body, &avwsaspi) + return avwsaspi, err + case string(ProtectableItemTypeSAPHanaDatabase): + var avwshdpi AzureVMWorkloadSAPHanaDatabaseProtectableItem + err := json.Unmarshal(body, &avwshdpi) + return avwshdpi, err + case string(ProtectableItemTypeSAPHanaSystem): + var avwshspi AzureVMWorkloadSAPHanaSystemProtectableItem + err := json.Unmarshal(body, &avwshspi) + return avwshspi, err + case string(ProtectableItemTypeSQLAvailabilityGroupContainer): + var avwsagpi AzureVMWorkloadSQLAvailabilityGroupProtectableItem + err := json.Unmarshal(body, &avwsagpi) + return avwsagpi, err + case string(ProtectableItemTypeSQLDataBase): + var avwsdpi AzureVMWorkloadSQLDatabaseProtectableItem + err := json.Unmarshal(body, &avwsdpi) + return avwsdpi, err + case string(ProtectableItemTypeSQLInstance): + var avwsipi AzureVMWorkloadSQLInstanceProtectableItem + err := json.Unmarshal(body, &avwsipi) + return avwsipi, err + default: + var avwpi AzureVMWorkloadProtectableItem + err := json.Unmarshal(body, &avwpi) + return avwpi, err + } } - -// UnmarshalJSON is the custom unmarshaler for AzureIaaSVMProtectionPolicy struct. -func (aispp *AzureIaaSVMProtectionPolicy) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) +func unmarshalBasicAzureVMWorkloadProtectableItemArray(body []byte) ([]BasicAzureVMWorkloadProtectableItem, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) if err != nil { - return err - } - for k, v := range m { - switch k { - case "schedulePolicy": - if v != nil { - schedulePolicy, err := unmarshalBasicSchedulePolicy(*v) - if err != nil { - return err - } - aispp.SchedulePolicy = schedulePolicy - } - case "retentionPolicy": - if v != nil { - retentionPolicy, err := unmarshalBasicRetentionPolicy(*v) - if err != nil { - return err - } - aispp.RetentionPolicy = retentionPolicy - } - case "instantRpRetentionRangeInDays": - if v != nil { - var instantRpRetentionRangeInDays int32 - err = json.Unmarshal(*v, &instantRpRetentionRangeInDays) - if err != nil { - return err - } - aispp.InstantRpRetentionRangeInDays = &instantRpRetentionRangeInDays - } - case "timeZone": - if v != nil { - var timeZone string - err = json.Unmarshal(*v, &timeZone) - if err != nil { - return err - } - aispp.TimeZone = &timeZone - } - case "protectedItemsCount": - if v != nil { - var protectedItemsCount int32 - err = json.Unmarshal(*v, &protectedItemsCount) - if err != nil { - return err - } - aispp.ProtectedItemsCount = &protectedItemsCount - } - case "backupManagementType": - if v != nil { - var backupManagementType ManagementTypeBasicProtectionPolicy - err = json.Unmarshal(*v, &backupManagementType) - if err != nil { - return err - } - aispp.BackupManagementType = backupManagementType - } - } + return nil, err } - return nil -} + avwpiArray := make([]BasicAzureVMWorkloadProtectableItem, len(rawMessages)) -// AzureSQLAGWorkloadContainerProtectionContainer container for SQL workloads under SQL Availability Group. -type AzureSQLAGWorkloadContainerProtectionContainer struct { - // SourceResourceID - ARM ID of the virtual machine represented by this Azure Workload Container - SourceResourceID *string `json:"sourceResourceId,omitempty"` - // LastUpdatedTime - Time stamp when this container was updated. - LastUpdatedTime *date.Time `json:"lastUpdatedTime,omitempty"` - // ExtendedInfo - Additional details of a workload container. - ExtendedInfo *AzureWorkloadContainerExtendedInfo `json:"extendedInfo,omitempty"` - // WorkloadType - Workload type for which registration was sent. Possible values include: 'WorkloadTypeInvalid', 'WorkloadTypeVM', 'WorkloadTypeFileFolder', 'WorkloadTypeAzureSQLDb', 'WorkloadTypeSQLDB', 'WorkloadTypeExchange', 'WorkloadTypeSharepoint', 'WorkloadTypeVMwareVM', 'WorkloadTypeSystemState', 'WorkloadTypeClient', 'WorkloadTypeGenericDataSource', 'WorkloadTypeSQLDataBase', 'WorkloadTypeAzureFileShare', 'WorkloadTypeSAPHanaDatabase', 'WorkloadTypeSAPAseDatabase' - WorkloadType WorkloadType `json:"workloadType,omitempty"` - // OperationType - Re-Do Operation. Possible values include: 'OperationTypeInvalid', 'OperationTypeRegister', 'OperationTypeReregister' - OperationType OperationType `json:"operationType,omitempty"` - // FriendlyName - Friendly name of the container. - FriendlyName *string `json:"friendlyName,omitempty"` - // BackupManagementType - Type of backup management for the container. Possible values include: 'ManagementTypeInvalid', 'ManagementTypeAzureIaasVM', 'ManagementTypeMAB', 'ManagementTypeDPM', 'ManagementTypeAzureBackupServer', 'ManagementTypeAzureSQL', 'ManagementTypeAzureStorage', 'ManagementTypeAzureWorkload', 'ManagementTypeDefaultBackup' - BackupManagementType ManagementType `json:"backupManagementType,omitempty"` - // RegistrationStatus - Status of registration of the container with the Recovery Services Vault. - RegistrationStatus *string `json:"registrationStatus,omitempty"` - // HealthStatus - Status of health of the container. - HealthStatus *string `json:"healthStatus,omitempty"` - // ContainerType - Possible values include: 'ContainerTypeProtectionContainer', 'ContainerTypeAzureBackupServerContainer1', 'ContainerTypeMicrosoftClassicComputevirtualMachines', 'ContainerTypeMicrosoftComputevirtualMachines', 'ContainerTypeSQLAGWorkLoadContainer1', 'ContainerTypeAzureSQLContainer1', 'ContainerTypeStorageContainer1', 'ContainerTypeVMAppContainer1', 'ContainerTypeAzureWorkloadContainer', 'ContainerTypeDPMContainer1', 'ContainerTypeGenericContainer1', 'ContainerTypeIaaSVMContainer', 'ContainerTypeWindows1' - ContainerType ContainerTypeBasicProtectionContainer `json:"containerType,omitempty"` + for index, rawMessage := range rawMessages { + avwpi, err := unmarshalBasicAzureVMWorkloadProtectableItem(*rawMessage) + if err != nil { + return nil, err + } + avwpiArray[index] = avwpi + } + return avwpiArray, nil } -// MarshalJSON is the custom marshaler for AzureSQLAGWorkloadContainerProtectionContainer. -func (aswcpc AzureSQLAGWorkloadContainerProtectionContainer) MarshalJSON() ([]byte, error) { - aswcpc.ContainerType = ContainerTypeSQLAGWorkLoadContainer1 +// MarshalJSON is the custom marshaler for AzureVMWorkloadProtectableItem. +func (avwpi AzureVMWorkloadProtectableItem) MarshalJSON() ([]byte, error) { + avwpi.ProtectableItemType = ProtectableItemTypeAzureVMWorkloadProtectableItem objectMap := make(map[string]interface{}) - if aswcpc.SourceResourceID != nil { - objectMap["sourceResourceId"] = aswcpc.SourceResourceID + if avwpi.ParentName != nil { + objectMap["parentName"] = avwpi.ParentName } - if aswcpc.LastUpdatedTime != nil { - objectMap["lastUpdatedTime"] = aswcpc.LastUpdatedTime + if avwpi.ParentUniqueName != nil { + objectMap["parentUniqueName"] = avwpi.ParentUniqueName } - if aswcpc.ExtendedInfo != nil { - objectMap["extendedInfo"] = aswcpc.ExtendedInfo + if avwpi.ServerName != nil { + objectMap["serverName"] = avwpi.ServerName } - if aswcpc.WorkloadType != "" { - objectMap["workloadType"] = aswcpc.WorkloadType + if avwpi.IsAutoProtectable != nil { + objectMap["isAutoProtectable"] = avwpi.IsAutoProtectable } - if aswcpc.OperationType != "" { - objectMap["operationType"] = aswcpc.OperationType + if avwpi.IsAutoProtected != nil { + objectMap["isAutoProtected"] = avwpi.IsAutoProtected } - if aswcpc.FriendlyName != nil { - objectMap["friendlyName"] = aswcpc.FriendlyName + if avwpi.Subinquireditemcount != nil { + objectMap["subinquireditemcount"] = avwpi.Subinquireditemcount } - if aswcpc.BackupManagementType != "" { - objectMap["backupManagementType"] = aswcpc.BackupManagementType + if avwpi.Subprotectableitemcount != nil { + objectMap["subprotectableitemcount"] = avwpi.Subprotectableitemcount } - if aswcpc.RegistrationStatus != nil { - objectMap["registrationStatus"] = aswcpc.RegistrationStatus + if avwpi.Prebackupvalidation != nil { + objectMap["prebackupvalidation"] = avwpi.Prebackupvalidation } - if aswcpc.HealthStatus != nil { - objectMap["healthStatus"] = aswcpc.HealthStatus + if avwpi.BackupManagementType != nil { + objectMap["backupManagementType"] = avwpi.BackupManagementType } - if aswcpc.ContainerType != "" { - objectMap["containerType"] = aswcpc.ContainerType + if avwpi.WorkloadType != nil { + objectMap["workloadType"] = avwpi.WorkloadType + } + if avwpi.FriendlyName != nil { + objectMap["friendlyName"] = avwpi.FriendlyName + } + if avwpi.ProtectionState != "" { + objectMap["protectionState"] = avwpi.ProtectionState + } + if avwpi.ProtectableItemType != "" { + objectMap["protectableItemType"] = avwpi.ProtectableItemType } return json.Marshal(objectMap) } -// AsAzureBackupServerContainer is the BasicProtectionContainer implementation for AzureSQLAGWorkloadContainerProtectionContainer. -func (aswcpc AzureSQLAGWorkloadContainerProtectionContainer) AsAzureBackupServerContainer() (*AzureBackupServerContainer, bool) { +// AsAzureFileShareProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadProtectableItem. +func (avwpi AzureVMWorkloadProtectableItem) AsAzureFileShareProtectableItem() (*AzureFileShareProtectableItem, bool) { return nil, false } -// AsAzureIaaSClassicComputeVMContainer is the BasicProtectionContainer implementation for AzureSQLAGWorkloadContainerProtectionContainer. -func (aswcpc AzureSQLAGWorkloadContainerProtectionContainer) AsAzureIaaSClassicComputeVMContainer() (*AzureIaaSClassicComputeVMContainer, bool) { +// AsAzureIaaSClassicComputeVMProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadProtectableItem. +func (avwpi AzureVMWorkloadProtectableItem) AsAzureIaaSClassicComputeVMProtectableItem() (*AzureIaaSClassicComputeVMProtectableItem, bool) { return nil, false } -// AsAzureIaaSComputeVMContainer is the BasicProtectionContainer implementation for AzureSQLAGWorkloadContainerProtectionContainer. -func (aswcpc AzureSQLAGWorkloadContainerProtectionContainer) AsAzureIaaSComputeVMContainer() (*AzureIaaSComputeVMContainer, bool) { +// AsAzureIaaSComputeVMProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadProtectableItem. +func (avwpi AzureVMWorkloadProtectableItem) AsAzureIaaSComputeVMProtectableItem() (*AzureIaaSComputeVMProtectableItem, bool) { return nil, false } -// AsAzureSQLAGWorkloadContainerProtectionContainer is the BasicProtectionContainer implementation for AzureSQLAGWorkloadContainerProtectionContainer. -func (aswcpc AzureSQLAGWorkloadContainerProtectionContainer) AsAzureSQLAGWorkloadContainerProtectionContainer() (*AzureSQLAGWorkloadContainerProtectionContainer, bool) { - return &aswcpc, true -} - -// AsAzureSQLContainer is the BasicProtectionContainer implementation for AzureSQLAGWorkloadContainerProtectionContainer. -func (aswcpc AzureSQLAGWorkloadContainerProtectionContainer) AsAzureSQLContainer() (*AzureSQLContainer, bool) { - return nil, false +// AsAzureVMWorkloadProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadProtectableItem. +func (avwpi AzureVMWorkloadProtectableItem) AsAzureVMWorkloadProtectableItem() (*AzureVMWorkloadProtectableItem, bool) { + return &avwpi, true } -// AsAzureStorageContainer is the BasicProtectionContainer implementation for AzureSQLAGWorkloadContainerProtectionContainer. -func (aswcpc AzureSQLAGWorkloadContainerProtectionContainer) AsAzureStorageContainer() (*AzureStorageContainer, bool) { - return nil, false +// AsBasicAzureVMWorkloadProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadProtectableItem. +func (avwpi AzureVMWorkloadProtectableItem) AsBasicAzureVMWorkloadProtectableItem() (BasicAzureVMWorkloadProtectableItem, bool) { + return &avwpi, true } -// AsAzureVMAppContainerProtectionContainer is the BasicProtectionContainer implementation for AzureSQLAGWorkloadContainerProtectionContainer. -func (aswcpc AzureSQLAGWorkloadContainerProtectionContainer) AsAzureVMAppContainerProtectionContainer() (*AzureVMAppContainerProtectionContainer, bool) { +// AsAzureVMWorkloadSAPAseSystemProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadProtectableItem. +func (avwpi AzureVMWorkloadProtectableItem) AsAzureVMWorkloadSAPAseSystemProtectableItem() (*AzureVMWorkloadSAPAseSystemProtectableItem, bool) { return nil, false } -// AsAzureWorkloadContainer is the BasicProtectionContainer implementation for AzureSQLAGWorkloadContainerProtectionContainer. -func (aswcpc AzureSQLAGWorkloadContainerProtectionContainer) AsAzureWorkloadContainer() (*AzureWorkloadContainer, bool) { +// AsAzureVMWorkloadSAPHanaDatabaseProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadProtectableItem. +func (avwpi AzureVMWorkloadProtectableItem) AsAzureVMWorkloadSAPHanaDatabaseProtectableItem() (*AzureVMWorkloadSAPHanaDatabaseProtectableItem, bool) { return nil, false } -// AsBasicAzureWorkloadContainer is the BasicProtectionContainer implementation for AzureSQLAGWorkloadContainerProtectionContainer. -func (aswcpc AzureSQLAGWorkloadContainerProtectionContainer) AsBasicAzureWorkloadContainer() (BasicAzureWorkloadContainer, bool) { - return &aswcpc, true -} - -// AsDpmContainer is the BasicProtectionContainer implementation for AzureSQLAGWorkloadContainerProtectionContainer. -func (aswcpc AzureSQLAGWorkloadContainerProtectionContainer) AsDpmContainer() (*DpmContainer, bool) { +// AsAzureVMWorkloadSAPHanaSystemProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadProtectableItem. +func (avwpi AzureVMWorkloadProtectableItem) AsAzureVMWorkloadSAPHanaSystemProtectableItem() (*AzureVMWorkloadSAPHanaSystemProtectableItem, bool) { return nil, false } -// AsBasicDpmContainer is the BasicProtectionContainer implementation for AzureSQLAGWorkloadContainerProtectionContainer. -func (aswcpc AzureSQLAGWorkloadContainerProtectionContainer) AsBasicDpmContainer() (BasicDpmContainer, bool) { +// AsAzureVMWorkloadSQLAvailabilityGroupProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadProtectableItem. +func (avwpi AzureVMWorkloadProtectableItem) AsAzureVMWorkloadSQLAvailabilityGroupProtectableItem() (*AzureVMWorkloadSQLAvailabilityGroupProtectableItem, bool) { return nil, false } -// AsGenericContainer is the BasicProtectionContainer implementation for AzureSQLAGWorkloadContainerProtectionContainer. -func (aswcpc AzureSQLAGWorkloadContainerProtectionContainer) AsGenericContainer() (*GenericContainer, bool) { +// AsAzureVMWorkloadSQLDatabaseProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadProtectableItem. +func (avwpi AzureVMWorkloadProtectableItem) AsAzureVMWorkloadSQLDatabaseProtectableItem() (*AzureVMWorkloadSQLDatabaseProtectableItem, bool) { return nil, false } -// AsIaaSVMContainer is the BasicProtectionContainer implementation for AzureSQLAGWorkloadContainerProtectionContainer. -func (aswcpc AzureSQLAGWorkloadContainerProtectionContainer) AsIaaSVMContainer() (*IaaSVMContainer, bool) { +// AsAzureVMWorkloadSQLInstanceProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadProtectableItem. +func (avwpi AzureVMWorkloadProtectableItem) AsAzureVMWorkloadSQLInstanceProtectableItem() (*AzureVMWorkloadSQLInstanceProtectableItem, bool) { return nil, false } -// AsBasicIaaSVMContainer is the BasicProtectionContainer implementation for AzureSQLAGWorkloadContainerProtectionContainer. -func (aswcpc AzureSQLAGWorkloadContainerProtectionContainer) AsBasicIaaSVMContainer() (BasicIaaSVMContainer, bool) { +// AsIaaSVMProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadProtectableItem. +func (avwpi AzureVMWorkloadProtectableItem) AsIaaSVMProtectableItem() (*IaaSVMProtectableItem, bool) { return nil, false } -// AsMabContainer is the BasicProtectionContainer implementation for AzureSQLAGWorkloadContainerProtectionContainer. -func (aswcpc AzureSQLAGWorkloadContainerProtectionContainer) AsMabContainer() (*MabContainer, bool) { +// AsBasicIaaSVMProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadProtectableItem. +func (avwpi AzureVMWorkloadProtectableItem) AsBasicIaaSVMProtectableItem() (BasicIaaSVMProtectableItem, bool) { return nil, false } -// AsProtectionContainer is the BasicProtectionContainer implementation for AzureSQLAGWorkloadContainerProtectionContainer. -func (aswcpc AzureSQLAGWorkloadContainerProtectionContainer) AsProtectionContainer() (*ProtectionContainer, bool) { +// AsWorkloadProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadProtectableItem. +func (avwpi AzureVMWorkloadProtectableItem) AsWorkloadProtectableItem() (*WorkloadProtectableItem, bool) { return nil, false } -// AsBasicProtectionContainer is the BasicProtectionContainer implementation for AzureSQLAGWorkloadContainerProtectionContainer. -func (aswcpc AzureSQLAGWorkloadContainerProtectionContainer) AsBasicProtectionContainer() (BasicProtectionContainer, bool) { - return &aswcpc, true +// AsBasicWorkloadProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadProtectableItem. +func (avwpi AzureVMWorkloadProtectableItem) AsBasicWorkloadProtectableItem() (BasicWorkloadProtectableItem, bool) { + return &avwpi, true } -// AzureSQLContainer azure Sql workload-specific container. -type AzureSQLContainer struct { - // FriendlyName - Friendly name of the container. - FriendlyName *string `json:"friendlyName,omitempty"` - // BackupManagementType - Type of backup management for the container. Possible values include: 'ManagementTypeInvalid', 'ManagementTypeAzureIaasVM', 'ManagementTypeMAB', 'ManagementTypeDPM', 'ManagementTypeAzureBackupServer', 'ManagementTypeAzureSQL', 'ManagementTypeAzureStorage', 'ManagementTypeAzureWorkload', 'ManagementTypeDefaultBackup' - BackupManagementType ManagementType `json:"backupManagementType,omitempty"` - // RegistrationStatus - Status of registration of the container with the Recovery Services Vault. - RegistrationStatus *string `json:"registrationStatus,omitempty"` - // HealthStatus - Status of health of the container. - HealthStatus *string `json:"healthStatus,omitempty"` - // ContainerType - Possible values include: 'ContainerTypeProtectionContainer', 'ContainerTypeAzureBackupServerContainer1', 'ContainerTypeMicrosoftClassicComputevirtualMachines', 'ContainerTypeMicrosoftComputevirtualMachines', 'ContainerTypeSQLAGWorkLoadContainer1', 'ContainerTypeAzureSQLContainer1', 'ContainerTypeStorageContainer1', 'ContainerTypeVMAppContainer1', 'ContainerTypeAzureWorkloadContainer', 'ContainerTypeDPMContainer1', 'ContainerTypeGenericContainer1', 'ContainerTypeIaaSVMContainer', 'ContainerTypeWindows1' - ContainerType ContainerTypeBasicProtectionContainer `json:"containerType,omitempty"` +// AzureVMWorkloadSAPAseDatabaseWorkloadItem azure VM workload-specific workload item representing SAP ASE +// Database. +type AzureVMWorkloadSAPAseDatabaseWorkloadItem struct { + // ParentName - Name for instance or AG + ParentName *string `json:"parentName,omitempty"` + // ServerName - Host/Cluster Name for instance or AG + ServerName *string `json:"serverName,omitempty"` + // IsAutoProtectable - Indicates if workload item is auto-protectable + IsAutoProtectable *bool `json:"isAutoProtectable,omitempty"` + // Subinquireditemcount - For instance or AG, indicates number of DB's present + Subinquireditemcount *int32 `json:"subinquireditemcount,omitempty"` + // SubWorkloadItemCount - For instance or AG, indicates number of DB's to be protected + SubWorkloadItemCount *int32 `json:"subWorkloadItemCount,omitempty"` + // BackupManagementType - Type of backup management to backup an item. + BackupManagementType *string `json:"backupManagementType,omitempty"` + // WorkloadType - Type of workload for the backup management + WorkloadType *string `json:"workloadType,omitempty"` + // FriendlyName - Friendly name of the backup item. + FriendlyName *string `json:"friendlyName,omitempty"` + // ProtectionState - State of the back up item. Possible values include: 'ProtectionStatusInvalid', 'ProtectionStatusNotProtected', 'ProtectionStatusProtecting', 'ProtectionStatusProtected', 'ProtectionStatusProtectionFailed' + ProtectionState ProtectionStatus `json:"protectionState,omitempty"` + // WorkloadItemType - Possible values include: 'WorkloadItemTypeWorkloadItem', 'WorkloadItemTypeAzureVMWorkloadItem', 'WorkloadItemTypeSAPAseDatabase1', 'WorkloadItemTypeSAPAseSystem1', 'WorkloadItemTypeSAPHanaDatabase1', 'WorkloadItemTypeSAPHanaSystem1', 'WorkloadItemTypeSQLDataBase1', 'WorkloadItemTypeSQLInstance1' + WorkloadItemType WorkloadItemTypeBasicWorkloadItem `json:"workloadItemType,omitempty"` } -// MarshalJSON is the custom marshaler for AzureSQLContainer. -func (asc AzureSQLContainer) MarshalJSON() ([]byte, error) { - asc.ContainerType = ContainerTypeAzureSQLContainer1 +// MarshalJSON is the custom marshaler for AzureVMWorkloadSAPAseDatabaseWorkloadItem. +func (avwsadwi AzureVMWorkloadSAPAseDatabaseWorkloadItem) MarshalJSON() ([]byte, error) { + avwsadwi.WorkloadItemType = WorkloadItemTypeSAPAseDatabase1 objectMap := make(map[string]interface{}) - if asc.FriendlyName != nil { - objectMap["friendlyName"] = asc.FriendlyName + if avwsadwi.ParentName != nil { + objectMap["parentName"] = avwsadwi.ParentName } - if asc.BackupManagementType != "" { - objectMap["backupManagementType"] = asc.BackupManagementType + if avwsadwi.ServerName != nil { + objectMap["serverName"] = avwsadwi.ServerName } - if asc.RegistrationStatus != nil { - objectMap["registrationStatus"] = asc.RegistrationStatus + if avwsadwi.IsAutoProtectable != nil { + objectMap["isAutoProtectable"] = avwsadwi.IsAutoProtectable } - if asc.HealthStatus != nil { - objectMap["healthStatus"] = asc.HealthStatus + if avwsadwi.Subinquireditemcount != nil { + objectMap["subinquireditemcount"] = avwsadwi.Subinquireditemcount } - if asc.ContainerType != "" { - objectMap["containerType"] = asc.ContainerType + if avwsadwi.SubWorkloadItemCount != nil { + objectMap["subWorkloadItemCount"] = avwsadwi.SubWorkloadItemCount + } + if avwsadwi.BackupManagementType != nil { + objectMap["backupManagementType"] = avwsadwi.BackupManagementType + } + if avwsadwi.WorkloadType != nil { + objectMap["workloadType"] = avwsadwi.WorkloadType + } + if avwsadwi.FriendlyName != nil { + objectMap["friendlyName"] = avwsadwi.FriendlyName + } + if avwsadwi.ProtectionState != "" { + objectMap["protectionState"] = avwsadwi.ProtectionState + } + if avwsadwi.WorkloadItemType != "" { + objectMap["workloadItemType"] = avwsadwi.WorkloadItemType } return json.Marshal(objectMap) } -// AsAzureBackupServerContainer is the BasicProtectionContainer implementation for AzureSQLContainer. -func (asc AzureSQLContainer) AsAzureBackupServerContainer() (*AzureBackupServerContainer, bool) { - return nil, false -} - -// AsAzureIaaSClassicComputeVMContainer is the BasicProtectionContainer implementation for AzureSQLContainer. -func (asc AzureSQLContainer) AsAzureIaaSClassicComputeVMContainer() (*AzureIaaSClassicComputeVMContainer, bool) { - return nil, false -} - -// AsAzureIaaSComputeVMContainer is the BasicProtectionContainer implementation for AzureSQLContainer. -func (asc AzureSQLContainer) AsAzureIaaSComputeVMContainer() (*AzureIaaSComputeVMContainer, bool) { - return nil, false -} - -// AsAzureSQLAGWorkloadContainerProtectionContainer is the BasicProtectionContainer implementation for AzureSQLContainer. -func (asc AzureSQLContainer) AsAzureSQLAGWorkloadContainerProtectionContainer() (*AzureSQLAGWorkloadContainerProtectionContainer, bool) { - return nil, false -} - -// AsAzureSQLContainer is the BasicProtectionContainer implementation for AzureSQLContainer. -func (asc AzureSQLContainer) AsAzureSQLContainer() (*AzureSQLContainer, bool) { - return &asc, true -} - -// AsAzureStorageContainer is the BasicProtectionContainer implementation for AzureSQLContainer. -func (asc AzureSQLContainer) AsAzureStorageContainer() (*AzureStorageContainer, bool) { - return nil, false -} - -// AsAzureVMAppContainerProtectionContainer is the BasicProtectionContainer implementation for AzureSQLContainer. -func (asc AzureSQLContainer) AsAzureVMAppContainerProtectionContainer() (*AzureVMAppContainerProtectionContainer, bool) { +// AsAzureVMWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSAPAseDatabaseWorkloadItem. +func (avwsadwi AzureVMWorkloadSAPAseDatabaseWorkloadItem) AsAzureVMWorkloadItem() (*AzureVMWorkloadItem, bool) { return nil, false } -// AsAzureWorkloadContainer is the BasicProtectionContainer implementation for AzureSQLContainer. -func (asc AzureSQLContainer) AsAzureWorkloadContainer() (*AzureWorkloadContainer, bool) { - return nil, false +// AsBasicAzureVMWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSAPAseDatabaseWorkloadItem. +func (avwsadwi AzureVMWorkloadSAPAseDatabaseWorkloadItem) AsBasicAzureVMWorkloadItem() (BasicAzureVMWorkloadItem, bool) { + return &avwsadwi, true } -// AsBasicAzureWorkloadContainer is the BasicProtectionContainer implementation for AzureSQLContainer. -func (asc AzureSQLContainer) AsBasicAzureWorkloadContainer() (BasicAzureWorkloadContainer, bool) { - return nil, false +// AsAzureVMWorkloadSAPAseDatabaseWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSAPAseDatabaseWorkloadItem. +func (avwsadwi AzureVMWorkloadSAPAseDatabaseWorkloadItem) AsAzureVMWorkloadSAPAseDatabaseWorkloadItem() (*AzureVMWorkloadSAPAseDatabaseWorkloadItem, bool) { + return &avwsadwi, true } -// AsDpmContainer is the BasicProtectionContainer implementation for AzureSQLContainer. -func (asc AzureSQLContainer) AsDpmContainer() (*DpmContainer, bool) { +// AsAzureVMWorkloadSAPAseSystemWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSAPAseDatabaseWorkloadItem. +func (avwsadwi AzureVMWorkloadSAPAseDatabaseWorkloadItem) AsAzureVMWorkloadSAPAseSystemWorkloadItem() (*AzureVMWorkloadSAPAseSystemWorkloadItem, bool) { return nil, false } -// AsBasicDpmContainer is the BasicProtectionContainer implementation for AzureSQLContainer. -func (asc AzureSQLContainer) AsBasicDpmContainer() (BasicDpmContainer, bool) { +// AsAzureVMWorkloadSAPHanaDatabaseWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSAPAseDatabaseWorkloadItem. +func (avwsadwi AzureVMWorkloadSAPAseDatabaseWorkloadItem) AsAzureVMWorkloadSAPHanaDatabaseWorkloadItem() (*AzureVMWorkloadSAPHanaDatabaseWorkloadItem, bool) { return nil, false } -// AsGenericContainer is the BasicProtectionContainer implementation for AzureSQLContainer. -func (asc AzureSQLContainer) AsGenericContainer() (*GenericContainer, bool) { +// AsAzureVMWorkloadSAPHanaSystemWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSAPAseDatabaseWorkloadItem. +func (avwsadwi AzureVMWorkloadSAPAseDatabaseWorkloadItem) AsAzureVMWorkloadSAPHanaSystemWorkloadItem() (*AzureVMWorkloadSAPHanaSystemWorkloadItem, bool) { return nil, false } -// AsIaaSVMContainer is the BasicProtectionContainer implementation for AzureSQLContainer. -func (asc AzureSQLContainer) AsIaaSVMContainer() (*IaaSVMContainer, bool) { +// AsAzureVMWorkloadSQLDatabaseWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSAPAseDatabaseWorkloadItem. +func (avwsadwi AzureVMWorkloadSAPAseDatabaseWorkloadItem) AsAzureVMWorkloadSQLDatabaseWorkloadItem() (*AzureVMWorkloadSQLDatabaseWorkloadItem, bool) { return nil, false } -// AsBasicIaaSVMContainer is the BasicProtectionContainer implementation for AzureSQLContainer. -func (asc AzureSQLContainer) AsBasicIaaSVMContainer() (BasicIaaSVMContainer, bool) { +// AsAzureVMWorkloadSQLInstanceWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSAPAseDatabaseWorkloadItem. +func (avwsadwi AzureVMWorkloadSAPAseDatabaseWorkloadItem) AsAzureVMWorkloadSQLInstanceWorkloadItem() (*AzureVMWorkloadSQLInstanceWorkloadItem, bool) { return nil, false } -// AsMabContainer is the BasicProtectionContainer implementation for AzureSQLContainer. -func (asc AzureSQLContainer) AsMabContainer() (*MabContainer, bool) { +// AsWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSAPAseDatabaseWorkloadItem. +func (avwsadwi AzureVMWorkloadSAPAseDatabaseWorkloadItem) AsWorkloadItem() (*WorkloadItem, bool) { return nil, false } -// AsProtectionContainer is the BasicProtectionContainer implementation for AzureSQLContainer. -func (asc AzureSQLContainer) AsProtectionContainer() (*ProtectionContainer, bool) { - return nil, false +// AsBasicWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSAPAseDatabaseWorkloadItem. +func (avwsadwi AzureVMWorkloadSAPAseDatabaseWorkloadItem) AsBasicWorkloadItem() (BasicWorkloadItem, bool) { + return &avwsadwi, true } -// AsBasicProtectionContainer is the BasicProtectionContainer implementation for AzureSQLContainer. -func (asc AzureSQLContainer) AsBasicProtectionContainer() (BasicProtectionContainer, bool) { - return &asc, true +// AzureVMWorkloadSAPAseSystemProtectableItem azure VM workload-specific protectable item representing SAP +// ASE System. +type AzureVMWorkloadSAPAseSystemProtectableItem struct { + // ParentName - Name for instance or AG + ParentName *string `json:"parentName,omitempty"` + // ParentUniqueName - Parent Unique Name is added to provide the service formatted URI Name of the Parent + // Only Applicable for data bases where the parent would be either Instance or a SQL AG. + ParentUniqueName *string `json:"parentUniqueName,omitempty"` + // ServerName - Host/Cluster Name for instance or AG + ServerName *string `json:"serverName,omitempty"` + // IsAutoProtectable - Indicates if protectable item is auto-protectable + IsAutoProtectable *bool `json:"isAutoProtectable,omitempty"` + // IsAutoProtected - Indicates if protectable item is auto-protected + IsAutoProtected *bool `json:"isAutoProtected,omitempty"` + // Subinquireditemcount - For instance or AG, indicates number of DB's present + Subinquireditemcount *int32 `json:"subinquireditemcount,omitempty"` + // Subprotectableitemcount - For instance or AG, indicates number of DB's to be protected + Subprotectableitemcount *int32 `json:"subprotectableitemcount,omitempty"` + // Prebackupvalidation - Pre-backup validation for protectable objects + Prebackupvalidation *PreBackupValidation `json:"prebackupvalidation,omitempty"` + // BackupManagementType - Type of backup management to backup an item. + BackupManagementType *string `json:"backupManagementType,omitempty"` + // WorkloadType - Type of workload for the backup management + WorkloadType *string `json:"workloadType,omitempty"` + // FriendlyName - Friendly name of the backup item. + FriendlyName *string `json:"friendlyName,omitempty"` + // ProtectionState - State of the back up item. Possible values include: 'ProtectionStatusInvalid', 'ProtectionStatusNotProtected', 'ProtectionStatusProtecting', 'ProtectionStatusProtected', 'ProtectionStatusProtectionFailed' + ProtectionState ProtectionStatus `json:"protectionState,omitempty"` + // ProtectableItemType - Possible values include: 'ProtectableItemTypeWorkloadProtectableItem', 'ProtectableItemTypeAzureFileShare', 'ProtectableItemTypeMicrosoftClassicComputevirtualMachines', 'ProtectableItemTypeMicrosoftComputevirtualMachines', 'ProtectableItemTypeAzureVMWorkloadProtectableItem', 'ProtectableItemTypeSAPAseSystem', 'ProtectableItemTypeSAPHanaDatabase', 'ProtectableItemTypeSAPHanaSystem', 'ProtectableItemTypeSQLAvailabilityGroupContainer', 'ProtectableItemTypeSQLDataBase', 'ProtectableItemTypeSQLInstance', 'ProtectableItemTypeIaaSVMProtectableItem' + ProtectableItemType ProtectableItemType `json:"protectableItemType,omitempty"` } -// AzureSQLProtectedItem azure SQL workload-specific backup item. -type AzureSQLProtectedItem struct { - // ProtectedItemDataID - Internal ID of a backup item. Used by Azure SQL Backup engine to contact Recovery Services. - ProtectedItemDataID *string `json:"protectedItemDataId,omitempty"` - // ProtectionState - Backup state of the backed up item. Possible values include: 'ProtectedItemStateInvalid', 'ProtectedItemStateIRPending', 'ProtectedItemStateProtected', 'ProtectedItemStateProtectionError', 'ProtectedItemStateProtectionStopped', 'ProtectedItemStateProtectionPaused' - ProtectionState ProtectedItemState `json:"protectionState,omitempty"` - // ExtendedInfo - Additional information for this backup item. - ExtendedInfo *AzureSQLProtectedItemExtendedInfo `json:"extendedInfo,omitempty"` - // BackupManagementType - Type of backup management for the backed up item. Possible values include: 'ManagementTypeInvalid', 'ManagementTypeAzureIaasVM', 'ManagementTypeMAB', 'ManagementTypeDPM', 'ManagementTypeAzureBackupServer', 'ManagementTypeAzureSQL', 'ManagementTypeAzureStorage', 'ManagementTypeAzureWorkload', 'ManagementTypeDefaultBackup' - BackupManagementType ManagementType `json:"backupManagementType,omitempty"` - // WorkloadType - Type of workload this item represents. Possible values include: 'DataSourceTypeInvalid', 'DataSourceTypeVM', 'DataSourceTypeFileFolder', 'DataSourceTypeAzureSQLDb', 'DataSourceTypeSQLDB', 'DataSourceTypeExchange', 'DataSourceTypeSharepoint', 'DataSourceTypeVMwareVM', 'DataSourceTypeSystemState', 'DataSourceTypeClient', 'DataSourceTypeGenericDataSource', 'DataSourceTypeSQLDataBase', 'DataSourceTypeAzureFileShare', 'DataSourceTypeSAPHanaDatabase', 'DataSourceTypeSAPAseDatabase' - WorkloadType DataSourceType `json:"workloadType,omitempty"` - // ContainerName - Unique name of container - ContainerName *string `json:"containerName,omitempty"` - // SourceResourceID - ARM ID of the resource to be backed up. - SourceResourceID *string `json:"sourceResourceId,omitempty"` - // PolicyID - ID of the backup policy with which this item is backed up. - PolicyID *string `json:"policyId,omitempty"` - // LastRecoveryPoint - Timestamp when the last (latest) backup copy was created for this backup item. - LastRecoveryPoint *date.Time `json:"lastRecoveryPoint,omitempty"` - // BackupSetName - Name of the backup set the backup item belongs to - BackupSetName *string `json:"backupSetName,omitempty"` - // CreateMode - Create mode to indicate recovery of existing soft deleted data source or creation of new data source. Possible values include: 'CreateModeInvalid', 'CreateModeDefault', 'CreateModeRecover' - CreateMode CreateMode `json:"createMode,omitempty"` - // DeferredDeleteTimeInUTC - Time for deferred deletion in UTC - DeferredDeleteTimeInUTC *date.Time `json:"deferredDeleteTimeInUTC,omitempty"` - // IsScheduledForDeferredDelete - Flag to identify whether the DS is scheduled for deferred delete - IsScheduledForDeferredDelete *bool `json:"isScheduledForDeferredDelete,omitempty"` - // DeferredDeleteTimeRemaining - Time remaining before the DS marked for deferred delete is permanently deleted - DeferredDeleteTimeRemaining *string `json:"deferredDeleteTimeRemaining,omitempty"` - // IsDeferredDeleteScheduleUpcoming - Flag to identify whether the deferred deleted DS is to be purged soon - IsDeferredDeleteScheduleUpcoming *bool `json:"isDeferredDeleteScheduleUpcoming,omitempty"` - // IsRehydrate - Flag to identify that deferred deleted DS is to be moved into Pause state - IsRehydrate *bool `json:"isRehydrate,omitempty"` - // ProtectedItemType - Possible values include: 'ProtectedItemTypeProtectedItem', 'ProtectedItemTypeAzureFileShareProtectedItem', 'ProtectedItemTypeMicrosoftClassicComputevirtualMachines', 'ProtectedItemTypeMicrosoftComputevirtualMachines', 'ProtectedItemTypeAzureIaaSVMProtectedItem', 'ProtectedItemTypeMicrosoftSqlserversdatabases', 'ProtectedItemTypeAzureVMWorkloadProtectedItem', 'ProtectedItemTypeAzureVMWorkloadSAPAseDatabase', 'ProtectedItemTypeAzureVMWorkloadSAPHanaDatabase', 'ProtectedItemTypeAzureVMWorkloadSQLDatabase', 'ProtectedItemTypeDPMProtectedItem', 'ProtectedItemTypeGenericProtectedItem', 'ProtectedItemTypeMabFileFolderProtectedItem' - ProtectedItemType ProtectedItemType `json:"protectedItemType,omitempty"` -} - -// MarshalJSON is the custom marshaler for AzureSQLProtectedItem. -func (aspi AzureSQLProtectedItem) MarshalJSON() ([]byte, error) { - aspi.ProtectedItemType = ProtectedItemTypeMicrosoftSqlserversdatabases +// MarshalJSON is the custom marshaler for AzureVMWorkloadSAPAseSystemProtectableItem. +func (avwsaspi AzureVMWorkloadSAPAseSystemProtectableItem) MarshalJSON() ([]byte, error) { + avwsaspi.ProtectableItemType = ProtectableItemTypeSAPAseSystem objectMap := make(map[string]interface{}) - if aspi.ProtectedItemDataID != nil { - objectMap["protectedItemDataId"] = aspi.ProtectedItemDataID - } - if aspi.ProtectionState != "" { - objectMap["protectionState"] = aspi.ProtectionState - } - if aspi.ExtendedInfo != nil { - objectMap["extendedInfo"] = aspi.ExtendedInfo - } - if aspi.BackupManagementType != "" { - objectMap["backupManagementType"] = aspi.BackupManagementType - } - if aspi.WorkloadType != "" { - objectMap["workloadType"] = aspi.WorkloadType + if avwsaspi.ParentName != nil { + objectMap["parentName"] = avwsaspi.ParentName } - if aspi.ContainerName != nil { - objectMap["containerName"] = aspi.ContainerName + if avwsaspi.ParentUniqueName != nil { + objectMap["parentUniqueName"] = avwsaspi.ParentUniqueName } - if aspi.SourceResourceID != nil { - objectMap["sourceResourceId"] = aspi.SourceResourceID + if avwsaspi.ServerName != nil { + objectMap["serverName"] = avwsaspi.ServerName } - if aspi.PolicyID != nil { - objectMap["policyId"] = aspi.PolicyID + if avwsaspi.IsAutoProtectable != nil { + objectMap["isAutoProtectable"] = avwsaspi.IsAutoProtectable } - if aspi.LastRecoveryPoint != nil { - objectMap["lastRecoveryPoint"] = aspi.LastRecoveryPoint + if avwsaspi.IsAutoProtected != nil { + objectMap["isAutoProtected"] = avwsaspi.IsAutoProtected } - if aspi.BackupSetName != nil { - objectMap["backupSetName"] = aspi.BackupSetName + if avwsaspi.Subinquireditemcount != nil { + objectMap["subinquireditemcount"] = avwsaspi.Subinquireditemcount } - if aspi.CreateMode != "" { - objectMap["createMode"] = aspi.CreateMode + if avwsaspi.Subprotectableitemcount != nil { + objectMap["subprotectableitemcount"] = avwsaspi.Subprotectableitemcount } - if aspi.DeferredDeleteTimeInUTC != nil { - objectMap["deferredDeleteTimeInUTC"] = aspi.DeferredDeleteTimeInUTC + if avwsaspi.Prebackupvalidation != nil { + objectMap["prebackupvalidation"] = avwsaspi.Prebackupvalidation } - if aspi.IsScheduledForDeferredDelete != nil { - objectMap["isScheduledForDeferredDelete"] = aspi.IsScheduledForDeferredDelete + if avwsaspi.BackupManagementType != nil { + objectMap["backupManagementType"] = avwsaspi.BackupManagementType } - if aspi.DeferredDeleteTimeRemaining != nil { - objectMap["deferredDeleteTimeRemaining"] = aspi.DeferredDeleteTimeRemaining + if avwsaspi.WorkloadType != nil { + objectMap["workloadType"] = avwsaspi.WorkloadType } - if aspi.IsDeferredDeleteScheduleUpcoming != nil { - objectMap["isDeferredDeleteScheduleUpcoming"] = aspi.IsDeferredDeleteScheduleUpcoming + if avwsaspi.FriendlyName != nil { + objectMap["friendlyName"] = avwsaspi.FriendlyName } - if aspi.IsRehydrate != nil { - objectMap["isRehydrate"] = aspi.IsRehydrate + if avwsaspi.ProtectionState != "" { + objectMap["protectionState"] = avwsaspi.ProtectionState } - if aspi.ProtectedItemType != "" { - objectMap["protectedItemType"] = aspi.ProtectedItemType + if avwsaspi.ProtectableItemType != "" { + objectMap["protectableItemType"] = avwsaspi.ProtectableItemType } return json.Marshal(objectMap) } -// AsAzureFileshareProtectedItem is the BasicProtectedItem implementation for AzureSQLProtectedItem. -func (aspi AzureSQLProtectedItem) AsAzureFileshareProtectedItem() (*AzureFileshareProtectedItem, bool) { - return nil, false -} - -// AsAzureIaaSClassicComputeVMProtectedItem is the BasicProtectedItem implementation for AzureSQLProtectedItem. -func (aspi AzureSQLProtectedItem) AsAzureIaaSClassicComputeVMProtectedItem() (*AzureIaaSClassicComputeVMProtectedItem, bool) { +// AsAzureFileShareProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPAseSystemProtectableItem. +func (avwsaspi AzureVMWorkloadSAPAseSystemProtectableItem) AsAzureFileShareProtectableItem() (*AzureFileShareProtectableItem, bool) { return nil, false } -// AsAzureIaaSComputeVMProtectedItem is the BasicProtectedItem implementation for AzureSQLProtectedItem. -func (aspi AzureSQLProtectedItem) AsAzureIaaSComputeVMProtectedItem() (*AzureIaaSComputeVMProtectedItem, bool) { +// AsAzureIaaSClassicComputeVMProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPAseSystemProtectableItem. +func (avwsaspi AzureVMWorkloadSAPAseSystemProtectableItem) AsAzureIaaSClassicComputeVMProtectableItem() (*AzureIaaSClassicComputeVMProtectableItem, bool) { return nil, false } -// AsAzureIaaSVMProtectedItem is the BasicProtectedItem implementation for AzureSQLProtectedItem. -func (aspi AzureSQLProtectedItem) AsAzureIaaSVMProtectedItem() (*AzureIaaSVMProtectedItem, bool) { +// AsAzureIaaSComputeVMProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPAseSystemProtectableItem. +func (avwsaspi AzureVMWorkloadSAPAseSystemProtectableItem) AsAzureIaaSComputeVMProtectableItem() (*AzureIaaSComputeVMProtectableItem, bool) { return nil, false } -// AsBasicAzureIaaSVMProtectedItem is the BasicProtectedItem implementation for AzureSQLProtectedItem. -func (aspi AzureSQLProtectedItem) AsBasicAzureIaaSVMProtectedItem() (BasicAzureIaaSVMProtectedItem, bool) { +// AsAzureVMWorkloadProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPAseSystemProtectableItem. +func (avwsaspi AzureVMWorkloadSAPAseSystemProtectableItem) AsAzureVMWorkloadProtectableItem() (*AzureVMWorkloadProtectableItem, bool) { return nil, false } -// AsAzureSQLProtectedItem is the BasicProtectedItem implementation for AzureSQLProtectedItem. -func (aspi AzureSQLProtectedItem) AsAzureSQLProtectedItem() (*AzureSQLProtectedItem, bool) { - return &aspi, true +// AsBasicAzureVMWorkloadProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPAseSystemProtectableItem. +func (avwsaspi AzureVMWorkloadSAPAseSystemProtectableItem) AsBasicAzureVMWorkloadProtectableItem() (BasicAzureVMWorkloadProtectableItem, bool) { + return &avwsaspi, true } -// AsAzureVMWorkloadProtectedItem is the BasicProtectedItem implementation for AzureSQLProtectedItem. -func (aspi AzureSQLProtectedItem) AsAzureVMWorkloadProtectedItem() (*AzureVMWorkloadProtectedItem, bool) { - return nil, false +// AsAzureVMWorkloadSAPAseSystemProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPAseSystemProtectableItem. +func (avwsaspi AzureVMWorkloadSAPAseSystemProtectableItem) AsAzureVMWorkloadSAPAseSystemProtectableItem() (*AzureVMWorkloadSAPAseSystemProtectableItem, bool) { + return &avwsaspi, true } -// AsBasicAzureVMWorkloadProtectedItem is the BasicProtectedItem implementation for AzureSQLProtectedItem. -func (aspi AzureSQLProtectedItem) AsBasicAzureVMWorkloadProtectedItem() (BasicAzureVMWorkloadProtectedItem, bool) { +// AsAzureVMWorkloadSAPHanaDatabaseProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPAseSystemProtectableItem. +func (avwsaspi AzureVMWorkloadSAPAseSystemProtectableItem) AsAzureVMWorkloadSAPHanaDatabaseProtectableItem() (*AzureVMWorkloadSAPHanaDatabaseProtectableItem, bool) { return nil, false } -// AsAzureVMWorkloadSAPAseDatabaseProtectedItem is the BasicProtectedItem implementation for AzureSQLProtectedItem. -func (aspi AzureSQLProtectedItem) AsAzureVMWorkloadSAPAseDatabaseProtectedItem() (*AzureVMWorkloadSAPAseDatabaseProtectedItem, bool) { +// AsAzureVMWorkloadSAPHanaSystemProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPAseSystemProtectableItem. +func (avwsaspi AzureVMWorkloadSAPAseSystemProtectableItem) AsAzureVMWorkloadSAPHanaSystemProtectableItem() (*AzureVMWorkloadSAPHanaSystemProtectableItem, bool) { return nil, false } -// AsAzureVMWorkloadSAPHanaDatabaseProtectedItem is the BasicProtectedItem implementation for AzureSQLProtectedItem. -func (aspi AzureSQLProtectedItem) AsAzureVMWorkloadSAPHanaDatabaseProtectedItem() (*AzureVMWorkloadSAPHanaDatabaseProtectedItem, bool) { +// AsAzureVMWorkloadSQLAvailabilityGroupProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPAseSystemProtectableItem. +func (avwsaspi AzureVMWorkloadSAPAseSystemProtectableItem) AsAzureVMWorkloadSQLAvailabilityGroupProtectableItem() (*AzureVMWorkloadSQLAvailabilityGroupProtectableItem, bool) { return nil, false } -// AsAzureVMWorkloadSQLDatabaseProtectedItem is the BasicProtectedItem implementation for AzureSQLProtectedItem. -func (aspi AzureSQLProtectedItem) AsAzureVMWorkloadSQLDatabaseProtectedItem() (*AzureVMWorkloadSQLDatabaseProtectedItem, bool) { +// AsAzureVMWorkloadSQLDatabaseProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPAseSystemProtectableItem. +func (avwsaspi AzureVMWorkloadSAPAseSystemProtectableItem) AsAzureVMWorkloadSQLDatabaseProtectableItem() (*AzureVMWorkloadSQLDatabaseProtectableItem, bool) { return nil, false } -// AsDPMProtectedItem is the BasicProtectedItem implementation for AzureSQLProtectedItem. -func (aspi AzureSQLProtectedItem) AsDPMProtectedItem() (*DPMProtectedItem, bool) { +// AsAzureVMWorkloadSQLInstanceProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPAseSystemProtectableItem. +func (avwsaspi AzureVMWorkloadSAPAseSystemProtectableItem) AsAzureVMWorkloadSQLInstanceProtectableItem() (*AzureVMWorkloadSQLInstanceProtectableItem, bool) { return nil, false } -// AsGenericProtectedItem is the BasicProtectedItem implementation for AzureSQLProtectedItem. -func (aspi AzureSQLProtectedItem) AsGenericProtectedItem() (*GenericProtectedItem, bool) { +// AsIaaSVMProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPAseSystemProtectableItem. +func (avwsaspi AzureVMWorkloadSAPAseSystemProtectableItem) AsIaaSVMProtectableItem() (*IaaSVMProtectableItem, bool) { return nil, false } -// AsMabFileFolderProtectedItem is the BasicProtectedItem implementation for AzureSQLProtectedItem. -func (aspi AzureSQLProtectedItem) AsMabFileFolderProtectedItem() (*MabFileFolderProtectedItem, bool) { +// AsBasicIaaSVMProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPAseSystemProtectableItem. +func (avwsaspi AzureVMWorkloadSAPAseSystemProtectableItem) AsBasicIaaSVMProtectableItem() (BasicIaaSVMProtectableItem, bool) { return nil, false } -// AsProtectedItem is the BasicProtectedItem implementation for AzureSQLProtectedItem. -func (aspi AzureSQLProtectedItem) AsProtectedItem() (*ProtectedItem, bool) { +// AsWorkloadProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPAseSystemProtectableItem. +func (avwsaspi AzureVMWorkloadSAPAseSystemProtectableItem) AsWorkloadProtectableItem() (*WorkloadProtectableItem, bool) { return nil, false } -// AsBasicProtectedItem is the BasicProtectedItem implementation for AzureSQLProtectedItem. -func (aspi AzureSQLProtectedItem) AsBasicProtectedItem() (BasicProtectedItem, bool) { - return &aspi, true -} - -// AzureSQLProtectedItemExtendedInfo additional information on Azure Sql specific protected item. -type AzureSQLProtectedItemExtendedInfo struct { - // OldestRecoveryPoint - The oldest backup copy available for this item in the service. - OldestRecoveryPoint *date.Time `json:"oldestRecoveryPoint,omitempty"` - // RecoveryPointCount - Number of available backup copies associated with this backup item. - RecoveryPointCount *int32 `json:"recoveryPointCount,omitempty"` - // PolicyState - State of the backup policy associated with this backup item. - PolicyState *string `json:"policyState,omitempty"` -} - -// AzureSQLProtectionPolicy azure SQL workload-specific backup policy. -type AzureSQLProtectionPolicy struct { - // RetentionPolicy - Retention policy details. - RetentionPolicy BasicRetentionPolicy `json:"retentionPolicy,omitempty"` - // ProtectedItemsCount - Number of items associated with this policy. - ProtectedItemsCount *int32 `json:"protectedItemsCount,omitempty"` - // BackupManagementType - Possible values include: 'BackupManagementTypeProtectionPolicy', 'BackupManagementTypeAzureStorage', 'BackupManagementTypeAzureIaasVM', 'BackupManagementTypeAzureSQL', 'BackupManagementTypeAzureWorkload', 'BackupManagementTypeGenericProtectionPolicy', 'BackupManagementTypeMAB' - BackupManagementType ManagementTypeBasicProtectionPolicy `json:"backupManagementType,omitempty"` -} - -// MarshalJSON is the custom marshaler for AzureSQLProtectionPolicy. -func (aspp AzureSQLProtectionPolicy) MarshalJSON() ([]byte, error) { - aspp.BackupManagementType = BackupManagementTypeAzureSQL - objectMap := make(map[string]interface{}) - objectMap["retentionPolicy"] = aspp.RetentionPolicy - if aspp.ProtectedItemsCount != nil { - objectMap["protectedItemsCount"] = aspp.ProtectedItemsCount - } - if aspp.BackupManagementType != "" { - objectMap["backupManagementType"] = aspp.BackupManagementType - } - return json.Marshal(objectMap) +// AsBasicWorkloadProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPAseSystemProtectableItem. +func (avwsaspi AzureVMWorkloadSAPAseSystemProtectableItem) AsBasicWorkloadProtectableItem() (BasicWorkloadProtectableItem, bool) { + return &avwsaspi, true } -// AsAzureFileShareProtectionPolicy is the BasicProtectionPolicy implementation for AzureSQLProtectionPolicy. -func (aspp AzureSQLProtectionPolicy) AsAzureFileShareProtectionPolicy() (*AzureFileShareProtectionPolicy, bool) { - return nil, false +// AzureVMWorkloadSAPAseSystemWorkloadItem azure VM workload-specific workload item representing SAP ASE +// System. +type AzureVMWorkloadSAPAseSystemWorkloadItem struct { + // ParentName - Name for instance or AG + ParentName *string `json:"parentName,omitempty"` + // ServerName - Host/Cluster Name for instance or AG + ServerName *string `json:"serverName,omitempty"` + // IsAutoProtectable - Indicates if workload item is auto-protectable + IsAutoProtectable *bool `json:"isAutoProtectable,omitempty"` + // Subinquireditemcount - For instance or AG, indicates number of DB's present + Subinquireditemcount *int32 `json:"subinquireditemcount,omitempty"` + // SubWorkloadItemCount - For instance or AG, indicates number of DB's to be protected + SubWorkloadItemCount *int32 `json:"subWorkloadItemCount,omitempty"` + // BackupManagementType - Type of backup management to backup an item. + BackupManagementType *string `json:"backupManagementType,omitempty"` + // WorkloadType - Type of workload for the backup management + WorkloadType *string `json:"workloadType,omitempty"` + // FriendlyName - Friendly name of the backup item. + FriendlyName *string `json:"friendlyName,omitempty"` + // ProtectionState - State of the back up item. Possible values include: 'ProtectionStatusInvalid', 'ProtectionStatusNotProtected', 'ProtectionStatusProtecting', 'ProtectionStatusProtected', 'ProtectionStatusProtectionFailed' + ProtectionState ProtectionStatus `json:"protectionState,omitempty"` + // WorkloadItemType - Possible values include: 'WorkloadItemTypeWorkloadItem', 'WorkloadItemTypeAzureVMWorkloadItem', 'WorkloadItemTypeSAPAseDatabase1', 'WorkloadItemTypeSAPAseSystem1', 'WorkloadItemTypeSAPHanaDatabase1', 'WorkloadItemTypeSAPHanaSystem1', 'WorkloadItemTypeSQLDataBase1', 'WorkloadItemTypeSQLInstance1' + WorkloadItemType WorkloadItemTypeBasicWorkloadItem `json:"workloadItemType,omitempty"` +} + +// MarshalJSON is the custom marshaler for AzureVMWorkloadSAPAseSystemWorkloadItem. +func (avwsaswi AzureVMWorkloadSAPAseSystemWorkloadItem) MarshalJSON() ([]byte, error) { + avwsaswi.WorkloadItemType = WorkloadItemTypeSAPAseSystem1 + objectMap := make(map[string]interface{}) + if avwsaswi.ParentName != nil { + objectMap["parentName"] = avwsaswi.ParentName + } + if avwsaswi.ServerName != nil { + objectMap["serverName"] = avwsaswi.ServerName + } + if avwsaswi.IsAutoProtectable != nil { + objectMap["isAutoProtectable"] = avwsaswi.IsAutoProtectable + } + if avwsaswi.Subinquireditemcount != nil { + objectMap["subinquireditemcount"] = avwsaswi.Subinquireditemcount + } + if avwsaswi.SubWorkloadItemCount != nil { + objectMap["subWorkloadItemCount"] = avwsaswi.SubWorkloadItemCount + } + if avwsaswi.BackupManagementType != nil { + objectMap["backupManagementType"] = avwsaswi.BackupManagementType + } + if avwsaswi.WorkloadType != nil { + objectMap["workloadType"] = avwsaswi.WorkloadType + } + if avwsaswi.FriendlyName != nil { + objectMap["friendlyName"] = avwsaswi.FriendlyName + } + if avwsaswi.ProtectionState != "" { + objectMap["protectionState"] = avwsaswi.ProtectionState + } + if avwsaswi.WorkloadItemType != "" { + objectMap["workloadItemType"] = avwsaswi.WorkloadItemType + } + return json.Marshal(objectMap) } -// AsAzureIaaSVMProtectionPolicy is the BasicProtectionPolicy implementation for AzureSQLProtectionPolicy. -func (aspp AzureSQLProtectionPolicy) AsAzureIaaSVMProtectionPolicy() (*AzureIaaSVMProtectionPolicy, bool) { +// AsAzureVMWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSAPAseSystemWorkloadItem. +func (avwsaswi AzureVMWorkloadSAPAseSystemWorkloadItem) AsAzureVMWorkloadItem() (*AzureVMWorkloadItem, bool) { return nil, false } -// AsAzureSQLProtectionPolicy is the BasicProtectionPolicy implementation for AzureSQLProtectionPolicy. -func (aspp AzureSQLProtectionPolicy) AsAzureSQLProtectionPolicy() (*AzureSQLProtectionPolicy, bool) { - return &aspp, true +// AsBasicAzureVMWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSAPAseSystemWorkloadItem. +func (avwsaswi AzureVMWorkloadSAPAseSystemWorkloadItem) AsBasicAzureVMWorkloadItem() (BasicAzureVMWorkloadItem, bool) { + return &avwsaswi, true } -// AsAzureVMWorkloadProtectionPolicy is the BasicProtectionPolicy implementation for AzureSQLProtectionPolicy. -func (aspp AzureSQLProtectionPolicy) AsAzureVMWorkloadProtectionPolicy() (*AzureVMWorkloadProtectionPolicy, bool) { +// AsAzureVMWorkloadSAPAseDatabaseWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSAPAseSystemWorkloadItem. +func (avwsaswi AzureVMWorkloadSAPAseSystemWorkloadItem) AsAzureVMWorkloadSAPAseDatabaseWorkloadItem() (*AzureVMWorkloadSAPAseDatabaseWorkloadItem, bool) { return nil, false } -// AsGenericProtectionPolicy is the BasicProtectionPolicy implementation for AzureSQLProtectionPolicy. -func (aspp AzureSQLProtectionPolicy) AsGenericProtectionPolicy() (*GenericProtectionPolicy, bool) { +// AsAzureVMWorkloadSAPAseSystemWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSAPAseSystemWorkloadItem. +func (avwsaswi AzureVMWorkloadSAPAseSystemWorkloadItem) AsAzureVMWorkloadSAPAseSystemWorkloadItem() (*AzureVMWorkloadSAPAseSystemWorkloadItem, bool) { + return &avwsaswi, true +} + +// AsAzureVMWorkloadSAPHanaDatabaseWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSAPAseSystemWorkloadItem. +func (avwsaswi AzureVMWorkloadSAPAseSystemWorkloadItem) AsAzureVMWorkloadSAPHanaDatabaseWorkloadItem() (*AzureVMWorkloadSAPHanaDatabaseWorkloadItem, bool) { return nil, false } -// AsMabProtectionPolicy is the BasicProtectionPolicy implementation for AzureSQLProtectionPolicy. -func (aspp AzureSQLProtectionPolicy) AsMabProtectionPolicy() (*MabProtectionPolicy, bool) { +// AsAzureVMWorkloadSAPHanaSystemWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSAPAseSystemWorkloadItem. +func (avwsaswi AzureVMWorkloadSAPAseSystemWorkloadItem) AsAzureVMWorkloadSAPHanaSystemWorkloadItem() (*AzureVMWorkloadSAPHanaSystemWorkloadItem, bool) { return nil, false } -// AsProtectionPolicy is the BasicProtectionPolicy implementation for AzureSQLProtectionPolicy. -func (aspp AzureSQLProtectionPolicy) AsProtectionPolicy() (*ProtectionPolicy, bool) { +// AsAzureVMWorkloadSQLDatabaseWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSAPAseSystemWorkloadItem. +func (avwsaswi AzureVMWorkloadSAPAseSystemWorkloadItem) AsAzureVMWorkloadSQLDatabaseWorkloadItem() (*AzureVMWorkloadSQLDatabaseWorkloadItem, bool) { return nil, false } -// AsBasicProtectionPolicy is the BasicProtectionPolicy implementation for AzureSQLProtectionPolicy. -func (aspp AzureSQLProtectionPolicy) AsBasicProtectionPolicy() (BasicProtectionPolicy, bool) { - return &aspp, true +// AsAzureVMWorkloadSQLInstanceWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSAPAseSystemWorkloadItem. +func (avwsaswi AzureVMWorkloadSAPAseSystemWorkloadItem) AsAzureVMWorkloadSQLInstanceWorkloadItem() (*AzureVMWorkloadSQLInstanceWorkloadItem, bool) { + return nil, false } -// UnmarshalJSON is the custom unmarshaler for AzureSQLProtectionPolicy struct. -func (aspp *AzureSQLProtectionPolicy) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - case "retentionPolicy": - if v != nil { - retentionPolicy, err := unmarshalBasicRetentionPolicy(*v) - if err != nil { - return err - } - aspp.RetentionPolicy = retentionPolicy - } - case "protectedItemsCount": - if v != nil { - var protectedItemsCount int32 - err = json.Unmarshal(*v, &protectedItemsCount) - if err != nil { - return err - } - aspp.ProtectedItemsCount = &protectedItemsCount - } - case "backupManagementType": - if v != nil { - var backupManagementType ManagementTypeBasicProtectionPolicy - err = json.Unmarshal(*v, &backupManagementType) - if err != nil { - return err - } - aspp.BackupManagementType = backupManagementType - } - } - } +// AsWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSAPAseSystemWorkloadItem. +func (avwsaswi AzureVMWorkloadSAPAseSystemWorkloadItem) AsWorkloadItem() (*WorkloadItem, bool) { + return nil, false +} - return nil +// AsBasicWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSAPAseSystemWorkloadItem. +func (avwsaswi AzureVMWorkloadSAPAseSystemWorkloadItem) AsBasicWorkloadItem() (BasicWorkloadItem, bool) { + return &avwsaswi, true } -// AzureStorageContainer azure Storage Account workload-specific container. -type AzureStorageContainer struct { - // SourceResourceID - Fully qualified ARM url. - SourceResourceID *string `json:"sourceResourceId,omitempty"` - // StorageAccountVersion - Storage account version. - StorageAccountVersion *string `json:"storageAccountVersion,omitempty"` - // ResourceGroup - Resource group name of Recovery Services Vault. - ResourceGroup *string `json:"resourceGroup,omitempty"` - // ProtectedItemCount - Number of items backed up in this container. - ProtectedItemCount *int64 `json:"protectedItemCount,omitempty"` - // FriendlyName - Friendly name of the container. +// AzureVMWorkloadSAPHanaDatabaseProtectableItem azure VM workload-specific protectable item representing +// SAP HANA Database. +type AzureVMWorkloadSAPHanaDatabaseProtectableItem struct { + // ParentName - Name for instance or AG + ParentName *string `json:"parentName,omitempty"` + // ParentUniqueName - Parent Unique Name is added to provide the service formatted URI Name of the Parent + // Only Applicable for data bases where the parent would be either Instance or a SQL AG. + ParentUniqueName *string `json:"parentUniqueName,omitempty"` + // ServerName - Host/Cluster Name for instance or AG + ServerName *string `json:"serverName,omitempty"` + // IsAutoProtectable - Indicates if protectable item is auto-protectable + IsAutoProtectable *bool `json:"isAutoProtectable,omitempty"` + // IsAutoProtected - Indicates if protectable item is auto-protected + IsAutoProtected *bool `json:"isAutoProtected,omitempty"` + // Subinquireditemcount - For instance or AG, indicates number of DB's present + Subinquireditemcount *int32 `json:"subinquireditemcount,omitempty"` + // Subprotectableitemcount - For instance or AG, indicates number of DB's to be protected + Subprotectableitemcount *int32 `json:"subprotectableitemcount,omitempty"` + // Prebackupvalidation - Pre-backup validation for protectable objects + Prebackupvalidation *PreBackupValidation `json:"prebackupvalidation,omitempty"` + // BackupManagementType - Type of backup management to backup an item. + BackupManagementType *string `json:"backupManagementType,omitempty"` + // WorkloadType - Type of workload for the backup management + WorkloadType *string `json:"workloadType,omitempty"` + // FriendlyName - Friendly name of the backup item. FriendlyName *string `json:"friendlyName,omitempty"` - // BackupManagementType - Type of backup management for the container. Possible values include: 'ManagementTypeInvalid', 'ManagementTypeAzureIaasVM', 'ManagementTypeMAB', 'ManagementTypeDPM', 'ManagementTypeAzureBackupServer', 'ManagementTypeAzureSQL', 'ManagementTypeAzureStorage', 'ManagementTypeAzureWorkload', 'ManagementTypeDefaultBackup' - BackupManagementType ManagementType `json:"backupManagementType,omitempty"` - // RegistrationStatus - Status of registration of the container with the Recovery Services Vault. - RegistrationStatus *string `json:"registrationStatus,omitempty"` - // HealthStatus - Status of health of the container. - HealthStatus *string `json:"healthStatus,omitempty"` - // ContainerType - Possible values include: 'ContainerTypeProtectionContainer', 'ContainerTypeAzureBackupServerContainer1', 'ContainerTypeMicrosoftClassicComputevirtualMachines', 'ContainerTypeMicrosoftComputevirtualMachines', 'ContainerTypeSQLAGWorkLoadContainer1', 'ContainerTypeAzureSQLContainer1', 'ContainerTypeStorageContainer1', 'ContainerTypeVMAppContainer1', 'ContainerTypeAzureWorkloadContainer', 'ContainerTypeDPMContainer1', 'ContainerTypeGenericContainer1', 'ContainerTypeIaaSVMContainer', 'ContainerTypeWindows1' - ContainerType ContainerTypeBasicProtectionContainer `json:"containerType,omitempty"` + // ProtectionState - State of the back up item. Possible values include: 'ProtectionStatusInvalid', 'ProtectionStatusNotProtected', 'ProtectionStatusProtecting', 'ProtectionStatusProtected', 'ProtectionStatusProtectionFailed' + ProtectionState ProtectionStatus `json:"protectionState,omitempty"` + // ProtectableItemType - Possible values include: 'ProtectableItemTypeWorkloadProtectableItem', 'ProtectableItemTypeAzureFileShare', 'ProtectableItemTypeMicrosoftClassicComputevirtualMachines', 'ProtectableItemTypeMicrosoftComputevirtualMachines', 'ProtectableItemTypeAzureVMWorkloadProtectableItem', 'ProtectableItemTypeSAPAseSystem', 'ProtectableItemTypeSAPHanaDatabase', 'ProtectableItemTypeSAPHanaSystem', 'ProtectableItemTypeSQLAvailabilityGroupContainer', 'ProtectableItemTypeSQLDataBase', 'ProtectableItemTypeSQLInstance', 'ProtectableItemTypeIaaSVMProtectableItem' + ProtectableItemType ProtectableItemType `json:"protectableItemType,omitempty"` } -// MarshalJSON is the custom marshaler for AzureStorageContainer. -func (asc AzureStorageContainer) MarshalJSON() ([]byte, error) { - asc.ContainerType = ContainerTypeStorageContainer1 +// MarshalJSON is the custom marshaler for AzureVMWorkloadSAPHanaDatabaseProtectableItem. +func (avwshdpi AzureVMWorkloadSAPHanaDatabaseProtectableItem) MarshalJSON() ([]byte, error) { + avwshdpi.ProtectableItemType = ProtectableItemTypeSAPHanaDatabase objectMap := make(map[string]interface{}) - if asc.SourceResourceID != nil { - objectMap["sourceResourceId"] = asc.SourceResourceID + if avwshdpi.ParentName != nil { + objectMap["parentName"] = avwshdpi.ParentName } - if asc.StorageAccountVersion != nil { - objectMap["storageAccountVersion"] = asc.StorageAccountVersion + if avwshdpi.ParentUniqueName != nil { + objectMap["parentUniqueName"] = avwshdpi.ParentUniqueName } - if asc.ResourceGroup != nil { - objectMap["resourceGroup"] = asc.ResourceGroup + if avwshdpi.ServerName != nil { + objectMap["serverName"] = avwshdpi.ServerName } - if asc.ProtectedItemCount != nil { - objectMap["protectedItemCount"] = asc.ProtectedItemCount + if avwshdpi.IsAutoProtectable != nil { + objectMap["isAutoProtectable"] = avwshdpi.IsAutoProtectable } - if asc.FriendlyName != nil { - objectMap["friendlyName"] = asc.FriendlyName + if avwshdpi.IsAutoProtected != nil { + objectMap["isAutoProtected"] = avwshdpi.IsAutoProtected } - if asc.BackupManagementType != "" { - objectMap["backupManagementType"] = asc.BackupManagementType + if avwshdpi.Subinquireditemcount != nil { + objectMap["subinquireditemcount"] = avwshdpi.Subinquireditemcount } - if asc.RegistrationStatus != nil { - objectMap["registrationStatus"] = asc.RegistrationStatus + if avwshdpi.Subprotectableitemcount != nil { + objectMap["subprotectableitemcount"] = avwshdpi.Subprotectableitemcount } - if asc.HealthStatus != nil { - objectMap["healthStatus"] = asc.HealthStatus + if avwshdpi.Prebackupvalidation != nil { + objectMap["prebackupvalidation"] = avwshdpi.Prebackupvalidation } - if asc.ContainerType != "" { - objectMap["containerType"] = asc.ContainerType + if avwshdpi.BackupManagementType != nil { + objectMap["backupManagementType"] = avwshdpi.BackupManagementType + } + if avwshdpi.WorkloadType != nil { + objectMap["workloadType"] = avwshdpi.WorkloadType + } + if avwshdpi.FriendlyName != nil { + objectMap["friendlyName"] = avwshdpi.FriendlyName + } + if avwshdpi.ProtectionState != "" { + objectMap["protectionState"] = avwshdpi.ProtectionState + } + if avwshdpi.ProtectableItemType != "" { + objectMap["protectableItemType"] = avwshdpi.ProtectableItemType } return json.Marshal(objectMap) } -// AsAzureBackupServerContainer is the BasicProtectionContainer implementation for AzureStorageContainer. -func (asc AzureStorageContainer) AsAzureBackupServerContainer() (*AzureBackupServerContainer, bool) { +// AsAzureFileShareProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPHanaDatabaseProtectableItem. +func (avwshdpi AzureVMWorkloadSAPHanaDatabaseProtectableItem) AsAzureFileShareProtectableItem() (*AzureFileShareProtectableItem, bool) { return nil, false } -// AsAzureIaaSClassicComputeVMContainer is the BasicProtectionContainer implementation for AzureStorageContainer. -func (asc AzureStorageContainer) AsAzureIaaSClassicComputeVMContainer() (*AzureIaaSClassicComputeVMContainer, bool) { +// AsAzureIaaSClassicComputeVMProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPHanaDatabaseProtectableItem. +func (avwshdpi AzureVMWorkloadSAPHanaDatabaseProtectableItem) AsAzureIaaSClassicComputeVMProtectableItem() (*AzureIaaSClassicComputeVMProtectableItem, bool) { return nil, false } -// AsAzureIaaSComputeVMContainer is the BasicProtectionContainer implementation for AzureStorageContainer. -func (asc AzureStorageContainer) AsAzureIaaSComputeVMContainer() (*AzureIaaSComputeVMContainer, bool) { +// AsAzureIaaSComputeVMProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPHanaDatabaseProtectableItem. +func (avwshdpi AzureVMWorkloadSAPHanaDatabaseProtectableItem) AsAzureIaaSComputeVMProtectableItem() (*AzureIaaSComputeVMProtectableItem, bool) { return nil, false } -// AsAzureSQLAGWorkloadContainerProtectionContainer is the BasicProtectionContainer implementation for AzureStorageContainer. -func (asc AzureStorageContainer) AsAzureSQLAGWorkloadContainerProtectionContainer() (*AzureSQLAGWorkloadContainerProtectionContainer, bool) { +// AsAzureVMWorkloadProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPHanaDatabaseProtectableItem. +func (avwshdpi AzureVMWorkloadSAPHanaDatabaseProtectableItem) AsAzureVMWorkloadProtectableItem() (*AzureVMWorkloadProtectableItem, bool) { return nil, false } -// AsAzureSQLContainer is the BasicProtectionContainer implementation for AzureStorageContainer. -func (asc AzureStorageContainer) AsAzureSQLContainer() (*AzureSQLContainer, bool) { - return nil, false +// AsBasicAzureVMWorkloadProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPHanaDatabaseProtectableItem. +func (avwshdpi AzureVMWorkloadSAPHanaDatabaseProtectableItem) AsBasicAzureVMWorkloadProtectableItem() (BasicAzureVMWorkloadProtectableItem, bool) { + return &avwshdpi, true } -// AsAzureStorageContainer is the BasicProtectionContainer implementation for AzureStorageContainer. -func (asc AzureStorageContainer) AsAzureStorageContainer() (*AzureStorageContainer, bool) { - return &asc, true +// AsAzureVMWorkloadSAPAseSystemProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPHanaDatabaseProtectableItem. +func (avwshdpi AzureVMWorkloadSAPHanaDatabaseProtectableItem) AsAzureVMWorkloadSAPAseSystemProtectableItem() (*AzureVMWorkloadSAPAseSystemProtectableItem, bool) { + return nil, false } -// AsAzureVMAppContainerProtectionContainer is the BasicProtectionContainer implementation for AzureStorageContainer. -func (asc AzureStorageContainer) AsAzureVMAppContainerProtectionContainer() (*AzureVMAppContainerProtectionContainer, bool) { - return nil, false +// AsAzureVMWorkloadSAPHanaDatabaseProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPHanaDatabaseProtectableItem. +func (avwshdpi AzureVMWorkloadSAPHanaDatabaseProtectableItem) AsAzureVMWorkloadSAPHanaDatabaseProtectableItem() (*AzureVMWorkloadSAPHanaDatabaseProtectableItem, bool) { + return &avwshdpi, true } -// AsAzureWorkloadContainer is the BasicProtectionContainer implementation for AzureStorageContainer. -func (asc AzureStorageContainer) AsAzureWorkloadContainer() (*AzureWorkloadContainer, bool) { +// AsAzureVMWorkloadSAPHanaSystemProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPHanaDatabaseProtectableItem. +func (avwshdpi AzureVMWorkloadSAPHanaDatabaseProtectableItem) AsAzureVMWorkloadSAPHanaSystemProtectableItem() (*AzureVMWorkloadSAPHanaSystemProtectableItem, bool) { return nil, false } -// AsBasicAzureWorkloadContainer is the BasicProtectionContainer implementation for AzureStorageContainer. -func (asc AzureStorageContainer) AsBasicAzureWorkloadContainer() (BasicAzureWorkloadContainer, bool) { +// AsAzureVMWorkloadSQLAvailabilityGroupProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPHanaDatabaseProtectableItem. +func (avwshdpi AzureVMWorkloadSAPHanaDatabaseProtectableItem) AsAzureVMWorkloadSQLAvailabilityGroupProtectableItem() (*AzureVMWorkloadSQLAvailabilityGroupProtectableItem, bool) { return nil, false } -// AsDpmContainer is the BasicProtectionContainer implementation for AzureStorageContainer. -func (asc AzureStorageContainer) AsDpmContainer() (*DpmContainer, bool) { +// AsAzureVMWorkloadSQLDatabaseProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPHanaDatabaseProtectableItem. +func (avwshdpi AzureVMWorkloadSAPHanaDatabaseProtectableItem) AsAzureVMWorkloadSQLDatabaseProtectableItem() (*AzureVMWorkloadSQLDatabaseProtectableItem, bool) { return nil, false } -// AsBasicDpmContainer is the BasicProtectionContainer implementation for AzureStorageContainer. -func (asc AzureStorageContainer) AsBasicDpmContainer() (BasicDpmContainer, bool) { - return nil, false -} - -// AsGenericContainer is the BasicProtectionContainer implementation for AzureStorageContainer. -func (asc AzureStorageContainer) AsGenericContainer() (*GenericContainer, bool) { - return nil, false -} - -// AsIaaSVMContainer is the BasicProtectionContainer implementation for AzureStorageContainer. -func (asc AzureStorageContainer) AsIaaSVMContainer() (*IaaSVMContainer, bool) { +// AsAzureVMWorkloadSQLInstanceProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPHanaDatabaseProtectableItem. +func (avwshdpi AzureVMWorkloadSAPHanaDatabaseProtectableItem) AsAzureVMWorkloadSQLInstanceProtectableItem() (*AzureVMWorkloadSQLInstanceProtectableItem, bool) { return nil, false } -// AsBasicIaaSVMContainer is the BasicProtectionContainer implementation for AzureStorageContainer. -func (asc AzureStorageContainer) AsBasicIaaSVMContainer() (BasicIaaSVMContainer, bool) { +// AsIaaSVMProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPHanaDatabaseProtectableItem. +func (avwshdpi AzureVMWorkloadSAPHanaDatabaseProtectableItem) AsIaaSVMProtectableItem() (*IaaSVMProtectableItem, bool) { return nil, false } -// AsMabContainer is the BasicProtectionContainer implementation for AzureStorageContainer. -func (asc AzureStorageContainer) AsMabContainer() (*MabContainer, bool) { +// AsBasicIaaSVMProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPHanaDatabaseProtectableItem. +func (avwshdpi AzureVMWorkloadSAPHanaDatabaseProtectableItem) AsBasicIaaSVMProtectableItem() (BasicIaaSVMProtectableItem, bool) { return nil, false } -// AsProtectionContainer is the BasicProtectionContainer implementation for AzureStorageContainer. -func (asc AzureStorageContainer) AsProtectionContainer() (*ProtectionContainer, bool) { +// AsWorkloadProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPHanaDatabaseProtectableItem. +func (avwshdpi AzureVMWorkloadSAPHanaDatabaseProtectableItem) AsWorkloadProtectableItem() (*WorkloadProtectableItem, bool) { return nil, false } -// AsBasicProtectionContainer is the BasicProtectionContainer implementation for AzureStorageContainer. -func (asc AzureStorageContainer) AsBasicProtectionContainer() (BasicProtectionContainer, bool) { - return &asc, true +// AsBasicWorkloadProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPHanaDatabaseProtectableItem. +func (avwshdpi AzureVMWorkloadSAPHanaDatabaseProtectableItem) AsBasicWorkloadProtectableItem() (BasicWorkloadProtectableItem, bool) { + return &avwshdpi, true } -// AzureStorageProtectableContainer azure Storage-specific protectable containers -type AzureStorageProtectableContainer struct { - // FriendlyName - Friendly name of the container. +// AzureVMWorkloadSAPHanaDatabaseWorkloadItem azure VM workload-specific workload item representing SAP +// HANA Database. +type AzureVMWorkloadSAPHanaDatabaseWorkloadItem struct { + // ParentName - Name for instance or AG + ParentName *string `json:"parentName,omitempty"` + // ServerName - Host/Cluster Name for instance or AG + ServerName *string `json:"serverName,omitempty"` + // IsAutoProtectable - Indicates if workload item is auto-protectable + IsAutoProtectable *bool `json:"isAutoProtectable,omitempty"` + // Subinquireditemcount - For instance or AG, indicates number of DB's present + Subinquireditemcount *int32 `json:"subinquireditemcount,omitempty"` + // SubWorkloadItemCount - For instance or AG, indicates number of DB's to be protected + SubWorkloadItemCount *int32 `json:"subWorkloadItemCount,omitempty"` + // BackupManagementType - Type of backup management to backup an item. + BackupManagementType *string `json:"backupManagementType,omitempty"` + // WorkloadType - Type of workload for the backup management + WorkloadType *string `json:"workloadType,omitempty"` + // FriendlyName - Friendly name of the backup item. FriendlyName *string `json:"friendlyName,omitempty"` - // BackupManagementType - Type of backup management for the container. Possible values include: 'ManagementTypeInvalid', 'ManagementTypeAzureIaasVM', 'ManagementTypeMAB', 'ManagementTypeDPM', 'ManagementTypeAzureBackupServer', 'ManagementTypeAzureSQL', 'ManagementTypeAzureStorage', 'ManagementTypeAzureWorkload', 'ManagementTypeDefaultBackup' - BackupManagementType ManagementType `json:"backupManagementType,omitempty"` - // HealthStatus - Status of health of the container. - HealthStatus *string `json:"healthStatus,omitempty"` - // ContainerID - Fabric Id of the container such as ARM Id. - ContainerID *string `json:"containerId,omitempty"` - // ProtectableContainerType - Possible values include: 'ProtectableContainerTypeProtectableContainer', 'ProtectableContainerTypeStorageContainer', 'ProtectableContainerTypeVMAppContainer' - ProtectableContainerType ProtectableContainerType `json:"protectableContainerType,omitempty"` + // ProtectionState - State of the back up item. Possible values include: 'ProtectionStatusInvalid', 'ProtectionStatusNotProtected', 'ProtectionStatusProtecting', 'ProtectionStatusProtected', 'ProtectionStatusProtectionFailed' + ProtectionState ProtectionStatus `json:"protectionState,omitempty"` + // WorkloadItemType - Possible values include: 'WorkloadItemTypeWorkloadItem', 'WorkloadItemTypeAzureVMWorkloadItem', 'WorkloadItemTypeSAPAseDatabase1', 'WorkloadItemTypeSAPAseSystem1', 'WorkloadItemTypeSAPHanaDatabase1', 'WorkloadItemTypeSAPHanaSystem1', 'WorkloadItemTypeSQLDataBase1', 'WorkloadItemTypeSQLInstance1' + WorkloadItemType WorkloadItemTypeBasicWorkloadItem `json:"workloadItemType,omitempty"` } -// MarshalJSON is the custom marshaler for AzureStorageProtectableContainer. -func (aspc AzureStorageProtectableContainer) MarshalJSON() ([]byte, error) { - aspc.ProtectableContainerType = ProtectableContainerTypeStorageContainer +// MarshalJSON is the custom marshaler for AzureVMWorkloadSAPHanaDatabaseWorkloadItem. +func (avwshdwi AzureVMWorkloadSAPHanaDatabaseWorkloadItem) MarshalJSON() ([]byte, error) { + avwshdwi.WorkloadItemType = WorkloadItemTypeSAPHanaDatabase1 objectMap := make(map[string]interface{}) - if aspc.FriendlyName != nil { - objectMap["friendlyName"] = aspc.FriendlyName + if avwshdwi.ParentName != nil { + objectMap["parentName"] = avwshdwi.ParentName } - if aspc.BackupManagementType != "" { - objectMap["backupManagementType"] = aspc.BackupManagementType + if avwshdwi.ServerName != nil { + objectMap["serverName"] = avwshdwi.ServerName } - if aspc.HealthStatus != nil { - objectMap["healthStatus"] = aspc.HealthStatus + if avwshdwi.IsAutoProtectable != nil { + objectMap["isAutoProtectable"] = avwshdwi.IsAutoProtectable } - if aspc.ContainerID != nil { - objectMap["containerId"] = aspc.ContainerID + if avwshdwi.Subinquireditemcount != nil { + objectMap["subinquireditemcount"] = avwshdwi.Subinquireditemcount } - if aspc.ProtectableContainerType != "" { - objectMap["protectableContainerType"] = aspc.ProtectableContainerType + if avwshdwi.SubWorkloadItemCount != nil { + objectMap["subWorkloadItemCount"] = avwshdwi.SubWorkloadItemCount } - return json.Marshal(objectMap) -} - -// AsAzureStorageProtectableContainer is the BasicProtectableContainer implementation for AzureStorageProtectableContainer. -func (aspc AzureStorageProtectableContainer) AsAzureStorageProtectableContainer() (*AzureStorageProtectableContainer, bool) { - return &aspc, true -} - -// AsAzureVMAppContainerProtectableContainer is the BasicProtectableContainer implementation for AzureStorageProtectableContainer. -func (aspc AzureStorageProtectableContainer) AsAzureVMAppContainerProtectableContainer() (*AzureVMAppContainerProtectableContainer, bool) { - return nil, false -} - -// AsProtectableContainer is the BasicProtectableContainer implementation for AzureStorageProtectableContainer. -func (aspc AzureStorageProtectableContainer) AsProtectableContainer() (*ProtectableContainer, bool) { - return nil, false -} - -// AsBasicProtectableContainer is the BasicProtectableContainer implementation for AzureStorageProtectableContainer. -func (aspc AzureStorageProtectableContainer) AsBasicProtectableContainer() (BasicProtectableContainer, bool) { - return &aspc, true -} - -// AzureVMAppContainerProtectableContainer azure workload-specific container -type AzureVMAppContainerProtectableContainer struct { - // FriendlyName - Friendly name of the container. - FriendlyName *string `json:"friendlyName,omitempty"` - // BackupManagementType - Type of backup management for the container. Possible values include: 'ManagementTypeInvalid', 'ManagementTypeAzureIaasVM', 'ManagementTypeMAB', 'ManagementTypeDPM', 'ManagementTypeAzureBackupServer', 'ManagementTypeAzureSQL', 'ManagementTypeAzureStorage', 'ManagementTypeAzureWorkload', 'ManagementTypeDefaultBackup' - BackupManagementType ManagementType `json:"backupManagementType,omitempty"` - // HealthStatus - Status of health of the container. - HealthStatus *string `json:"healthStatus,omitempty"` - // ContainerID - Fabric Id of the container such as ARM Id. - ContainerID *string `json:"containerId,omitempty"` - // ProtectableContainerType - Possible values include: 'ProtectableContainerTypeProtectableContainer', 'ProtectableContainerTypeStorageContainer', 'ProtectableContainerTypeVMAppContainer' - ProtectableContainerType ProtectableContainerType `json:"protectableContainerType,omitempty"` -} - -// MarshalJSON is the custom marshaler for AzureVMAppContainerProtectableContainer. -func (avacpc AzureVMAppContainerProtectableContainer) MarshalJSON() ([]byte, error) { - avacpc.ProtectableContainerType = ProtectableContainerTypeVMAppContainer - objectMap := make(map[string]interface{}) - if avacpc.FriendlyName != nil { - objectMap["friendlyName"] = avacpc.FriendlyName + if avwshdwi.BackupManagementType != nil { + objectMap["backupManagementType"] = avwshdwi.BackupManagementType } - if avacpc.BackupManagementType != "" { - objectMap["backupManagementType"] = avacpc.BackupManagementType + if avwshdwi.WorkloadType != nil { + objectMap["workloadType"] = avwshdwi.WorkloadType } - if avacpc.HealthStatus != nil { - objectMap["healthStatus"] = avacpc.HealthStatus + if avwshdwi.FriendlyName != nil { + objectMap["friendlyName"] = avwshdwi.FriendlyName } - if avacpc.ContainerID != nil { - objectMap["containerId"] = avacpc.ContainerID + if avwshdwi.ProtectionState != "" { + objectMap["protectionState"] = avwshdwi.ProtectionState } - if avacpc.ProtectableContainerType != "" { - objectMap["protectableContainerType"] = avacpc.ProtectableContainerType + if avwshdwi.WorkloadItemType != "" { + objectMap["workloadItemType"] = avwshdwi.WorkloadItemType } return json.Marshal(objectMap) } -// AsAzureStorageProtectableContainer is the BasicProtectableContainer implementation for AzureVMAppContainerProtectableContainer. -func (avacpc AzureVMAppContainerProtectableContainer) AsAzureStorageProtectableContainer() (*AzureStorageProtectableContainer, bool) { +// AsAzureVMWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSAPHanaDatabaseWorkloadItem. +func (avwshdwi AzureVMWorkloadSAPHanaDatabaseWorkloadItem) AsAzureVMWorkloadItem() (*AzureVMWorkloadItem, bool) { return nil, false } -// AsAzureVMAppContainerProtectableContainer is the BasicProtectableContainer implementation for AzureVMAppContainerProtectableContainer. -func (avacpc AzureVMAppContainerProtectableContainer) AsAzureVMAppContainerProtectableContainer() (*AzureVMAppContainerProtectableContainer, bool) { - return &avacpc, true +// AsBasicAzureVMWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSAPHanaDatabaseWorkloadItem. +func (avwshdwi AzureVMWorkloadSAPHanaDatabaseWorkloadItem) AsBasicAzureVMWorkloadItem() (BasicAzureVMWorkloadItem, bool) { + return &avwshdwi, true } -// AsProtectableContainer is the BasicProtectableContainer implementation for AzureVMAppContainerProtectableContainer. -func (avacpc AzureVMAppContainerProtectableContainer) AsProtectableContainer() (*ProtectableContainer, bool) { +// AsAzureVMWorkloadSAPAseDatabaseWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSAPHanaDatabaseWorkloadItem. +func (avwshdwi AzureVMWorkloadSAPHanaDatabaseWorkloadItem) AsAzureVMWorkloadSAPAseDatabaseWorkloadItem() (*AzureVMWorkloadSAPAseDatabaseWorkloadItem, bool) { return nil, false } -// AsBasicProtectableContainer is the BasicProtectableContainer implementation for AzureVMAppContainerProtectableContainer. -func (avacpc AzureVMAppContainerProtectableContainer) AsBasicProtectableContainer() (BasicProtectableContainer, bool) { - return &avacpc, true -} - -// AzureVMAppContainerProtectionContainer container for SQL workloads under Azure Virtual Machines. -type AzureVMAppContainerProtectionContainer struct { - // SourceResourceID - ARM ID of the virtual machine represented by this Azure Workload Container - SourceResourceID *string `json:"sourceResourceId,omitempty"` - // LastUpdatedTime - Time stamp when this container was updated. - LastUpdatedTime *date.Time `json:"lastUpdatedTime,omitempty"` - // ExtendedInfo - Additional details of a workload container. - ExtendedInfo *AzureWorkloadContainerExtendedInfo `json:"extendedInfo,omitempty"` - // WorkloadType - Workload type for which registration was sent. Possible values include: 'WorkloadTypeInvalid', 'WorkloadTypeVM', 'WorkloadTypeFileFolder', 'WorkloadTypeAzureSQLDb', 'WorkloadTypeSQLDB', 'WorkloadTypeExchange', 'WorkloadTypeSharepoint', 'WorkloadTypeVMwareVM', 'WorkloadTypeSystemState', 'WorkloadTypeClient', 'WorkloadTypeGenericDataSource', 'WorkloadTypeSQLDataBase', 'WorkloadTypeAzureFileShare', 'WorkloadTypeSAPHanaDatabase', 'WorkloadTypeSAPAseDatabase' - WorkloadType WorkloadType `json:"workloadType,omitempty"` - // OperationType - Re-Do Operation. Possible values include: 'OperationTypeInvalid', 'OperationTypeRegister', 'OperationTypeReregister' - OperationType OperationType `json:"operationType,omitempty"` - // FriendlyName - Friendly name of the container. - FriendlyName *string `json:"friendlyName,omitempty"` - // BackupManagementType - Type of backup management for the container. Possible values include: 'ManagementTypeInvalid', 'ManagementTypeAzureIaasVM', 'ManagementTypeMAB', 'ManagementTypeDPM', 'ManagementTypeAzureBackupServer', 'ManagementTypeAzureSQL', 'ManagementTypeAzureStorage', 'ManagementTypeAzureWorkload', 'ManagementTypeDefaultBackup' - BackupManagementType ManagementType `json:"backupManagementType,omitempty"` - // RegistrationStatus - Status of registration of the container with the Recovery Services Vault. - RegistrationStatus *string `json:"registrationStatus,omitempty"` - // HealthStatus - Status of health of the container. - HealthStatus *string `json:"healthStatus,omitempty"` - // ContainerType - Possible values include: 'ContainerTypeProtectionContainer', 'ContainerTypeAzureBackupServerContainer1', 'ContainerTypeMicrosoftClassicComputevirtualMachines', 'ContainerTypeMicrosoftComputevirtualMachines', 'ContainerTypeSQLAGWorkLoadContainer1', 'ContainerTypeAzureSQLContainer1', 'ContainerTypeStorageContainer1', 'ContainerTypeVMAppContainer1', 'ContainerTypeAzureWorkloadContainer', 'ContainerTypeDPMContainer1', 'ContainerTypeGenericContainer1', 'ContainerTypeIaaSVMContainer', 'ContainerTypeWindows1' - ContainerType ContainerTypeBasicProtectionContainer `json:"containerType,omitempty"` +// AsAzureVMWorkloadSAPAseSystemWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSAPHanaDatabaseWorkloadItem. +func (avwshdwi AzureVMWorkloadSAPHanaDatabaseWorkloadItem) AsAzureVMWorkloadSAPAseSystemWorkloadItem() (*AzureVMWorkloadSAPAseSystemWorkloadItem, bool) { + return nil, false } -// MarshalJSON is the custom marshaler for AzureVMAppContainerProtectionContainer. -func (avacpc AzureVMAppContainerProtectionContainer) MarshalJSON() ([]byte, error) { - avacpc.ContainerType = ContainerTypeVMAppContainer1 - objectMap := make(map[string]interface{}) - if avacpc.SourceResourceID != nil { - objectMap["sourceResourceId"] = avacpc.SourceResourceID - } - if avacpc.LastUpdatedTime != nil { - objectMap["lastUpdatedTime"] = avacpc.LastUpdatedTime - } - if avacpc.ExtendedInfo != nil { - objectMap["extendedInfo"] = avacpc.ExtendedInfo - } - if avacpc.WorkloadType != "" { - objectMap["workloadType"] = avacpc.WorkloadType - } - if avacpc.OperationType != "" { - objectMap["operationType"] = avacpc.OperationType - } - if avacpc.FriendlyName != nil { - objectMap["friendlyName"] = avacpc.FriendlyName - } - if avacpc.BackupManagementType != "" { - objectMap["backupManagementType"] = avacpc.BackupManagementType - } - if avacpc.RegistrationStatus != nil { - objectMap["registrationStatus"] = avacpc.RegistrationStatus - } - if avacpc.HealthStatus != nil { - objectMap["healthStatus"] = avacpc.HealthStatus - } - if avacpc.ContainerType != "" { - objectMap["containerType"] = avacpc.ContainerType - } - return json.Marshal(objectMap) +// AsAzureVMWorkloadSAPHanaDatabaseWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSAPHanaDatabaseWorkloadItem. +func (avwshdwi AzureVMWorkloadSAPHanaDatabaseWorkloadItem) AsAzureVMWorkloadSAPHanaDatabaseWorkloadItem() (*AzureVMWorkloadSAPHanaDatabaseWorkloadItem, bool) { + return &avwshdwi, true } -// AsAzureBackupServerContainer is the BasicProtectionContainer implementation for AzureVMAppContainerProtectionContainer. -func (avacpc AzureVMAppContainerProtectionContainer) AsAzureBackupServerContainer() (*AzureBackupServerContainer, bool) { +// AsAzureVMWorkloadSAPHanaSystemWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSAPHanaDatabaseWorkloadItem. +func (avwshdwi AzureVMWorkloadSAPHanaDatabaseWorkloadItem) AsAzureVMWorkloadSAPHanaSystemWorkloadItem() (*AzureVMWorkloadSAPHanaSystemWorkloadItem, bool) { return nil, false } -// AsAzureIaaSClassicComputeVMContainer is the BasicProtectionContainer implementation for AzureVMAppContainerProtectionContainer. -func (avacpc AzureVMAppContainerProtectionContainer) AsAzureIaaSClassicComputeVMContainer() (*AzureIaaSClassicComputeVMContainer, bool) { +// AsAzureVMWorkloadSQLDatabaseWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSAPHanaDatabaseWorkloadItem. +func (avwshdwi AzureVMWorkloadSAPHanaDatabaseWorkloadItem) AsAzureVMWorkloadSQLDatabaseWorkloadItem() (*AzureVMWorkloadSQLDatabaseWorkloadItem, bool) { return nil, false } -// AsAzureIaaSComputeVMContainer is the BasicProtectionContainer implementation for AzureVMAppContainerProtectionContainer. -func (avacpc AzureVMAppContainerProtectionContainer) AsAzureIaaSComputeVMContainer() (*AzureIaaSComputeVMContainer, bool) { +// AsAzureVMWorkloadSQLInstanceWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSAPHanaDatabaseWorkloadItem. +func (avwshdwi AzureVMWorkloadSAPHanaDatabaseWorkloadItem) AsAzureVMWorkloadSQLInstanceWorkloadItem() (*AzureVMWorkloadSQLInstanceWorkloadItem, bool) { return nil, false } -// AsAzureSQLAGWorkloadContainerProtectionContainer is the BasicProtectionContainer implementation for AzureVMAppContainerProtectionContainer. -func (avacpc AzureVMAppContainerProtectionContainer) AsAzureSQLAGWorkloadContainerProtectionContainer() (*AzureSQLAGWorkloadContainerProtectionContainer, bool) { +// AsWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSAPHanaDatabaseWorkloadItem. +func (avwshdwi AzureVMWorkloadSAPHanaDatabaseWorkloadItem) AsWorkloadItem() (*WorkloadItem, bool) { return nil, false } -// AsAzureSQLContainer is the BasicProtectionContainer implementation for AzureVMAppContainerProtectionContainer. -func (avacpc AzureVMAppContainerProtectionContainer) AsAzureSQLContainer() (*AzureSQLContainer, bool) { - return nil, false +// AsBasicWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSAPHanaDatabaseWorkloadItem. +func (avwshdwi AzureVMWorkloadSAPHanaDatabaseWorkloadItem) AsBasicWorkloadItem() (BasicWorkloadItem, bool) { + return &avwshdwi, true } -// AsAzureStorageContainer is the BasicProtectionContainer implementation for AzureVMAppContainerProtectionContainer. -func (avacpc AzureVMAppContainerProtectionContainer) AsAzureStorageContainer() (*AzureStorageContainer, bool) { +// AzureVMWorkloadSAPHanaSystemProtectableItem azure VM workload-specific protectable item representing SAP +// HANA System. +type AzureVMWorkloadSAPHanaSystemProtectableItem struct { + // ParentName - Name for instance or AG + ParentName *string `json:"parentName,omitempty"` + // ParentUniqueName - Parent Unique Name is added to provide the service formatted URI Name of the Parent + // Only Applicable for data bases where the parent would be either Instance or a SQL AG. + ParentUniqueName *string `json:"parentUniqueName,omitempty"` + // ServerName - Host/Cluster Name for instance or AG + ServerName *string `json:"serverName,omitempty"` + // IsAutoProtectable - Indicates if protectable item is auto-protectable + IsAutoProtectable *bool `json:"isAutoProtectable,omitempty"` + // IsAutoProtected - Indicates if protectable item is auto-protected + IsAutoProtected *bool `json:"isAutoProtected,omitempty"` + // Subinquireditemcount - For instance or AG, indicates number of DB's present + Subinquireditemcount *int32 `json:"subinquireditemcount,omitempty"` + // Subprotectableitemcount - For instance or AG, indicates number of DB's to be protected + Subprotectableitemcount *int32 `json:"subprotectableitemcount,omitempty"` + // Prebackupvalidation - Pre-backup validation for protectable objects + Prebackupvalidation *PreBackupValidation `json:"prebackupvalidation,omitempty"` + // BackupManagementType - Type of backup management to backup an item. + BackupManagementType *string `json:"backupManagementType,omitempty"` + // WorkloadType - Type of workload for the backup management + WorkloadType *string `json:"workloadType,omitempty"` + // FriendlyName - Friendly name of the backup item. + FriendlyName *string `json:"friendlyName,omitempty"` + // ProtectionState - State of the back up item. Possible values include: 'ProtectionStatusInvalid', 'ProtectionStatusNotProtected', 'ProtectionStatusProtecting', 'ProtectionStatusProtected', 'ProtectionStatusProtectionFailed' + ProtectionState ProtectionStatus `json:"protectionState,omitempty"` + // ProtectableItemType - Possible values include: 'ProtectableItemTypeWorkloadProtectableItem', 'ProtectableItemTypeAzureFileShare', 'ProtectableItemTypeMicrosoftClassicComputevirtualMachines', 'ProtectableItemTypeMicrosoftComputevirtualMachines', 'ProtectableItemTypeAzureVMWorkloadProtectableItem', 'ProtectableItemTypeSAPAseSystem', 'ProtectableItemTypeSAPHanaDatabase', 'ProtectableItemTypeSAPHanaSystem', 'ProtectableItemTypeSQLAvailabilityGroupContainer', 'ProtectableItemTypeSQLDataBase', 'ProtectableItemTypeSQLInstance', 'ProtectableItemTypeIaaSVMProtectableItem' + ProtectableItemType ProtectableItemType `json:"protectableItemType,omitempty"` +} + +// MarshalJSON is the custom marshaler for AzureVMWorkloadSAPHanaSystemProtectableItem. +func (avwshspi AzureVMWorkloadSAPHanaSystemProtectableItem) MarshalJSON() ([]byte, error) { + avwshspi.ProtectableItemType = ProtectableItemTypeSAPHanaSystem + objectMap := make(map[string]interface{}) + if avwshspi.ParentName != nil { + objectMap["parentName"] = avwshspi.ParentName + } + if avwshspi.ParentUniqueName != nil { + objectMap["parentUniqueName"] = avwshspi.ParentUniqueName + } + if avwshspi.ServerName != nil { + objectMap["serverName"] = avwshspi.ServerName + } + if avwshspi.IsAutoProtectable != nil { + objectMap["isAutoProtectable"] = avwshspi.IsAutoProtectable + } + if avwshspi.IsAutoProtected != nil { + objectMap["isAutoProtected"] = avwshspi.IsAutoProtected + } + if avwshspi.Subinquireditemcount != nil { + objectMap["subinquireditemcount"] = avwshspi.Subinquireditemcount + } + if avwshspi.Subprotectableitemcount != nil { + objectMap["subprotectableitemcount"] = avwshspi.Subprotectableitemcount + } + if avwshspi.Prebackupvalidation != nil { + objectMap["prebackupvalidation"] = avwshspi.Prebackupvalidation + } + if avwshspi.BackupManagementType != nil { + objectMap["backupManagementType"] = avwshspi.BackupManagementType + } + if avwshspi.WorkloadType != nil { + objectMap["workloadType"] = avwshspi.WorkloadType + } + if avwshspi.FriendlyName != nil { + objectMap["friendlyName"] = avwshspi.FriendlyName + } + if avwshspi.ProtectionState != "" { + objectMap["protectionState"] = avwshspi.ProtectionState + } + if avwshspi.ProtectableItemType != "" { + objectMap["protectableItemType"] = avwshspi.ProtectableItemType + } + return json.Marshal(objectMap) +} + +// AsAzureFileShareProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPHanaSystemProtectableItem. +func (avwshspi AzureVMWorkloadSAPHanaSystemProtectableItem) AsAzureFileShareProtectableItem() (*AzureFileShareProtectableItem, bool) { return nil, false } -// AsAzureVMAppContainerProtectionContainer is the BasicProtectionContainer implementation for AzureVMAppContainerProtectionContainer. -func (avacpc AzureVMAppContainerProtectionContainer) AsAzureVMAppContainerProtectionContainer() (*AzureVMAppContainerProtectionContainer, bool) { - return &avacpc, true +// AsAzureIaaSClassicComputeVMProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPHanaSystemProtectableItem. +func (avwshspi AzureVMWorkloadSAPHanaSystemProtectableItem) AsAzureIaaSClassicComputeVMProtectableItem() (*AzureIaaSClassicComputeVMProtectableItem, bool) { + return nil, false } -// AsAzureWorkloadContainer is the BasicProtectionContainer implementation for AzureVMAppContainerProtectionContainer. -func (avacpc AzureVMAppContainerProtectionContainer) AsAzureWorkloadContainer() (*AzureWorkloadContainer, bool) { +// AsAzureIaaSComputeVMProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPHanaSystemProtectableItem. +func (avwshspi AzureVMWorkloadSAPHanaSystemProtectableItem) AsAzureIaaSComputeVMProtectableItem() (*AzureIaaSComputeVMProtectableItem, bool) { return nil, false } -// AsBasicAzureWorkloadContainer is the BasicProtectionContainer implementation for AzureVMAppContainerProtectionContainer. -func (avacpc AzureVMAppContainerProtectionContainer) AsBasicAzureWorkloadContainer() (BasicAzureWorkloadContainer, bool) { - return &avacpc, true +// AsAzureVMWorkloadProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPHanaSystemProtectableItem. +func (avwshspi AzureVMWorkloadSAPHanaSystemProtectableItem) AsAzureVMWorkloadProtectableItem() (*AzureVMWorkloadProtectableItem, bool) { + return nil, false } -// AsDpmContainer is the BasicProtectionContainer implementation for AzureVMAppContainerProtectionContainer. -func (avacpc AzureVMAppContainerProtectionContainer) AsDpmContainer() (*DpmContainer, bool) { +// AsBasicAzureVMWorkloadProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPHanaSystemProtectableItem. +func (avwshspi AzureVMWorkloadSAPHanaSystemProtectableItem) AsBasicAzureVMWorkloadProtectableItem() (BasicAzureVMWorkloadProtectableItem, bool) { + return &avwshspi, true +} + +// AsAzureVMWorkloadSAPAseSystemProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPHanaSystemProtectableItem. +func (avwshspi AzureVMWorkloadSAPHanaSystemProtectableItem) AsAzureVMWorkloadSAPAseSystemProtectableItem() (*AzureVMWorkloadSAPAseSystemProtectableItem, bool) { return nil, false } -// AsBasicDpmContainer is the BasicProtectionContainer implementation for AzureVMAppContainerProtectionContainer. -func (avacpc AzureVMAppContainerProtectionContainer) AsBasicDpmContainer() (BasicDpmContainer, bool) { +// AsAzureVMWorkloadSAPHanaDatabaseProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPHanaSystemProtectableItem. +func (avwshspi AzureVMWorkloadSAPHanaSystemProtectableItem) AsAzureVMWorkloadSAPHanaDatabaseProtectableItem() (*AzureVMWorkloadSAPHanaDatabaseProtectableItem, bool) { return nil, false } -// AsGenericContainer is the BasicProtectionContainer implementation for AzureVMAppContainerProtectionContainer. -func (avacpc AzureVMAppContainerProtectionContainer) AsGenericContainer() (*GenericContainer, bool) { +// AsAzureVMWorkloadSAPHanaSystemProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPHanaSystemProtectableItem. +func (avwshspi AzureVMWorkloadSAPHanaSystemProtectableItem) AsAzureVMWorkloadSAPHanaSystemProtectableItem() (*AzureVMWorkloadSAPHanaSystemProtectableItem, bool) { + return &avwshspi, true +} + +// AsAzureVMWorkloadSQLAvailabilityGroupProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPHanaSystemProtectableItem. +func (avwshspi AzureVMWorkloadSAPHanaSystemProtectableItem) AsAzureVMWorkloadSQLAvailabilityGroupProtectableItem() (*AzureVMWorkloadSQLAvailabilityGroupProtectableItem, bool) { return nil, false } -// AsIaaSVMContainer is the BasicProtectionContainer implementation for AzureVMAppContainerProtectionContainer. -func (avacpc AzureVMAppContainerProtectionContainer) AsIaaSVMContainer() (*IaaSVMContainer, bool) { +// AsAzureVMWorkloadSQLDatabaseProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPHanaSystemProtectableItem. +func (avwshspi AzureVMWorkloadSAPHanaSystemProtectableItem) AsAzureVMWorkloadSQLDatabaseProtectableItem() (*AzureVMWorkloadSQLDatabaseProtectableItem, bool) { return nil, false } -// AsBasicIaaSVMContainer is the BasicProtectionContainer implementation for AzureVMAppContainerProtectionContainer. -func (avacpc AzureVMAppContainerProtectionContainer) AsBasicIaaSVMContainer() (BasicIaaSVMContainer, bool) { +// AsAzureVMWorkloadSQLInstanceProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPHanaSystemProtectableItem. +func (avwshspi AzureVMWorkloadSAPHanaSystemProtectableItem) AsAzureVMWorkloadSQLInstanceProtectableItem() (*AzureVMWorkloadSQLInstanceProtectableItem, bool) { return nil, false } -// AsMabContainer is the BasicProtectionContainer implementation for AzureVMAppContainerProtectionContainer. -func (avacpc AzureVMAppContainerProtectionContainer) AsMabContainer() (*MabContainer, bool) { +// AsIaaSVMProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPHanaSystemProtectableItem. +func (avwshspi AzureVMWorkloadSAPHanaSystemProtectableItem) AsIaaSVMProtectableItem() (*IaaSVMProtectableItem, bool) { return nil, false } -// AsProtectionContainer is the BasicProtectionContainer implementation for AzureVMAppContainerProtectionContainer. -func (avacpc AzureVMAppContainerProtectionContainer) AsProtectionContainer() (*ProtectionContainer, bool) { +// AsBasicIaaSVMProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPHanaSystemProtectableItem. +func (avwshspi AzureVMWorkloadSAPHanaSystemProtectableItem) AsBasicIaaSVMProtectableItem() (BasicIaaSVMProtectableItem, bool) { return nil, false } -// AsBasicProtectionContainer is the BasicProtectionContainer implementation for AzureVMAppContainerProtectionContainer. -func (avacpc AzureVMAppContainerProtectionContainer) AsBasicProtectionContainer() (BasicProtectionContainer, bool) { - return &avacpc, true +// AsWorkloadProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPHanaSystemProtectableItem. +func (avwshspi AzureVMWorkloadSAPHanaSystemProtectableItem) AsWorkloadProtectableItem() (*WorkloadProtectableItem, bool) { + return nil, false } -// BasicAzureVMWorkloadItem azure VM workload-specific workload item. -type BasicAzureVMWorkloadItem interface { - AsAzureVMWorkloadSAPAseDatabaseWorkloadItem() (*AzureVMWorkloadSAPAseDatabaseWorkloadItem, bool) - AsAzureVMWorkloadSAPAseSystemWorkloadItem() (*AzureVMWorkloadSAPAseSystemWorkloadItem, bool) - AsAzureVMWorkloadSAPHanaDatabaseWorkloadItem() (*AzureVMWorkloadSAPHanaDatabaseWorkloadItem, bool) - AsAzureVMWorkloadSAPHanaSystemWorkloadItem() (*AzureVMWorkloadSAPHanaSystemWorkloadItem, bool) - AsAzureVMWorkloadSQLDatabaseWorkloadItem() (*AzureVMWorkloadSQLDatabaseWorkloadItem, bool) - AsAzureVMWorkloadSQLInstanceWorkloadItem() (*AzureVMWorkloadSQLInstanceWorkloadItem, bool) - AsAzureVMWorkloadItem() (*AzureVMWorkloadItem, bool) +// AsBasicWorkloadProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPHanaSystemProtectableItem. +func (avwshspi AzureVMWorkloadSAPHanaSystemProtectableItem) AsBasicWorkloadProtectableItem() (BasicWorkloadProtectableItem, bool) { + return &avwshspi, true } -// AzureVMWorkloadItem azure VM workload-specific workload item. -type AzureVMWorkloadItem struct { +// AzureVMWorkloadSAPHanaSystemWorkloadItem azure VM workload-specific workload item representing SAP HANA +// System. +type AzureVMWorkloadSAPHanaSystemWorkloadItem struct { // ParentName - Name for instance or AG ParentName *string `json:"parentName,omitempty"` // ServerName - Host/Cluster Name for instance or AG ServerName *string `json:"serverName,omitempty"` // IsAutoProtectable - Indicates if workload item is auto-protectable IsAutoProtectable *bool `json:"isAutoProtectable,omitempty"` - // Subinquireditemcount - For instance or AG, indicates number of DBs present + // Subinquireditemcount - For instance or AG, indicates number of DB's present Subinquireditemcount *int32 `json:"subinquireditemcount,omitempty"` - // SubWorkloadItemCount - For instance or AG, indicates number of DBs to be protected + // SubWorkloadItemCount - For instance or AG, indicates number of DB's to be protected SubWorkloadItemCount *int32 `json:"subWorkloadItemCount,omitempty"` // BackupManagementType - Type of backup management to backup an item. BackupManagementType *string `json:"backupManagementType,omitempty"` @@ -4567,164 +3443,96 @@ type AzureVMWorkloadItem struct { WorkloadItemType WorkloadItemTypeBasicWorkloadItem `json:"workloadItemType,omitempty"` } -func unmarshalBasicAzureVMWorkloadItem(body []byte) (BasicAzureVMWorkloadItem, error) { - var m map[string]interface{} - err := json.Unmarshal(body, &m) - if err != nil { - return nil, err - } - - switch m["workloadItemType"] { - case string(WorkloadItemTypeSAPAseDatabase1): - var avwsadwi AzureVMWorkloadSAPAseDatabaseWorkloadItem - err := json.Unmarshal(body, &avwsadwi) - return avwsadwi, err - case string(WorkloadItemTypeSAPAseSystem1): - var avwsaswi AzureVMWorkloadSAPAseSystemWorkloadItem - err := json.Unmarshal(body, &avwsaswi) - return avwsaswi, err - case string(WorkloadItemTypeSAPHanaDatabase1): - var avwshdwi AzureVMWorkloadSAPHanaDatabaseWorkloadItem - err := json.Unmarshal(body, &avwshdwi) - return avwshdwi, err - case string(WorkloadItemTypeSAPHanaSystem1): - var avwshswi AzureVMWorkloadSAPHanaSystemWorkloadItem - err := json.Unmarshal(body, &avwshswi) - return avwshswi, err - case string(WorkloadItemTypeSQLDataBase1): - var avwsdwi AzureVMWorkloadSQLDatabaseWorkloadItem - err := json.Unmarshal(body, &avwsdwi) - return avwsdwi, err - case string(WorkloadItemTypeSQLInstance1): - var avwsiwi AzureVMWorkloadSQLInstanceWorkloadItem - err := json.Unmarshal(body, &avwsiwi) - return avwsiwi, err - default: - var avwi AzureVMWorkloadItem - err := json.Unmarshal(body, &avwi) - return avwi, err - } -} -func unmarshalBasicAzureVMWorkloadItemArray(body []byte) ([]BasicAzureVMWorkloadItem, error) { - var rawMessages []*json.RawMessage - err := json.Unmarshal(body, &rawMessages) - if err != nil { - return nil, err - } - - avwiArray := make([]BasicAzureVMWorkloadItem, len(rawMessages)) - - for index, rawMessage := range rawMessages { - avwi, err := unmarshalBasicAzureVMWorkloadItem(*rawMessage) - if err != nil { - return nil, err - } - avwiArray[index] = avwi - } - return avwiArray, nil -} - -// MarshalJSON is the custom marshaler for AzureVMWorkloadItem. -func (avwi AzureVMWorkloadItem) MarshalJSON() ([]byte, error) { - avwi.WorkloadItemType = WorkloadItemTypeAzureVMWorkloadItem +// MarshalJSON is the custom marshaler for AzureVMWorkloadSAPHanaSystemWorkloadItem. +func (avwshswi AzureVMWorkloadSAPHanaSystemWorkloadItem) MarshalJSON() ([]byte, error) { + avwshswi.WorkloadItemType = WorkloadItemTypeSAPHanaSystem1 objectMap := make(map[string]interface{}) - if avwi.ParentName != nil { - objectMap["parentName"] = avwi.ParentName - } - if avwi.ServerName != nil { - objectMap["serverName"] = avwi.ServerName + if avwshswi.ParentName != nil { + objectMap["parentName"] = avwshswi.ParentName } - if avwi.IsAutoProtectable != nil { - objectMap["isAutoProtectable"] = avwi.IsAutoProtectable + if avwshswi.ServerName != nil { + objectMap["serverName"] = avwshswi.ServerName } - if avwi.Subinquireditemcount != nil { - objectMap["subinquireditemcount"] = avwi.Subinquireditemcount + if avwshswi.IsAutoProtectable != nil { + objectMap["isAutoProtectable"] = avwshswi.IsAutoProtectable } - if avwi.SubWorkloadItemCount != nil { - objectMap["subWorkloadItemCount"] = avwi.SubWorkloadItemCount + if avwshswi.Subinquireditemcount != nil { + objectMap["subinquireditemcount"] = avwshswi.Subinquireditemcount } - if avwi.BackupManagementType != nil { - objectMap["backupManagementType"] = avwi.BackupManagementType + if avwshswi.SubWorkloadItemCount != nil { + objectMap["subWorkloadItemCount"] = avwshswi.SubWorkloadItemCount } - if avwi.WorkloadType != nil { - objectMap["workloadType"] = avwi.WorkloadType + if avwshswi.BackupManagementType != nil { + objectMap["backupManagementType"] = avwshswi.BackupManagementType } - if avwi.FriendlyName != nil { - objectMap["friendlyName"] = avwi.FriendlyName + if avwshswi.WorkloadType != nil { + objectMap["workloadType"] = avwshswi.WorkloadType } - if avwi.ProtectionState != "" { - objectMap["protectionState"] = avwi.ProtectionState + if avwshswi.FriendlyName != nil { + objectMap["friendlyName"] = avwshswi.FriendlyName } - if avwi.WorkloadItemType != "" { - objectMap["workloadItemType"] = avwi.WorkloadItemType + if avwshswi.ProtectionState != "" { + objectMap["protectionState"] = avwshswi.ProtectionState + } + if avwshswi.WorkloadItemType != "" { + objectMap["workloadItemType"] = avwshswi.WorkloadItemType } return json.Marshal(objectMap) } -// AsAzureVMWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadItem. -func (avwi AzureVMWorkloadItem) AsAzureVMWorkloadItem() (*AzureVMWorkloadItem, bool) { - return &avwi, true +// AsAzureVMWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSAPHanaSystemWorkloadItem. +func (avwshswi AzureVMWorkloadSAPHanaSystemWorkloadItem) AsAzureVMWorkloadItem() (*AzureVMWorkloadItem, bool) { + return nil, false } -// AsBasicAzureVMWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadItem. -func (avwi AzureVMWorkloadItem) AsBasicAzureVMWorkloadItem() (BasicAzureVMWorkloadItem, bool) { - return &avwi, true +// AsBasicAzureVMWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSAPHanaSystemWorkloadItem. +func (avwshswi AzureVMWorkloadSAPHanaSystemWorkloadItem) AsBasicAzureVMWorkloadItem() (BasicAzureVMWorkloadItem, bool) { + return &avwshswi, true } -// AsAzureVMWorkloadSAPAseDatabaseWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadItem. -func (avwi AzureVMWorkloadItem) AsAzureVMWorkloadSAPAseDatabaseWorkloadItem() (*AzureVMWorkloadSAPAseDatabaseWorkloadItem, bool) { +// AsAzureVMWorkloadSAPAseDatabaseWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSAPHanaSystemWorkloadItem. +func (avwshswi AzureVMWorkloadSAPHanaSystemWorkloadItem) AsAzureVMWorkloadSAPAseDatabaseWorkloadItem() (*AzureVMWorkloadSAPAseDatabaseWorkloadItem, bool) { return nil, false } -// AsAzureVMWorkloadSAPAseSystemWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadItem. -func (avwi AzureVMWorkloadItem) AsAzureVMWorkloadSAPAseSystemWorkloadItem() (*AzureVMWorkloadSAPAseSystemWorkloadItem, bool) { +// AsAzureVMWorkloadSAPAseSystemWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSAPHanaSystemWorkloadItem. +func (avwshswi AzureVMWorkloadSAPHanaSystemWorkloadItem) AsAzureVMWorkloadSAPAseSystemWorkloadItem() (*AzureVMWorkloadSAPAseSystemWorkloadItem, bool) { return nil, false } -// AsAzureVMWorkloadSAPHanaDatabaseWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadItem. -func (avwi AzureVMWorkloadItem) AsAzureVMWorkloadSAPHanaDatabaseWorkloadItem() (*AzureVMWorkloadSAPHanaDatabaseWorkloadItem, bool) { +// AsAzureVMWorkloadSAPHanaDatabaseWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSAPHanaSystemWorkloadItem. +func (avwshswi AzureVMWorkloadSAPHanaSystemWorkloadItem) AsAzureVMWorkloadSAPHanaDatabaseWorkloadItem() (*AzureVMWorkloadSAPHanaDatabaseWorkloadItem, bool) { return nil, false } -// AsAzureVMWorkloadSAPHanaSystemWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadItem. -func (avwi AzureVMWorkloadItem) AsAzureVMWorkloadSAPHanaSystemWorkloadItem() (*AzureVMWorkloadSAPHanaSystemWorkloadItem, bool) { - return nil, false +// AsAzureVMWorkloadSAPHanaSystemWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSAPHanaSystemWorkloadItem. +func (avwshswi AzureVMWorkloadSAPHanaSystemWorkloadItem) AsAzureVMWorkloadSAPHanaSystemWorkloadItem() (*AzureVMWorkloadSAPHanaSystemWorkloadItem, bool) { + return &avwshswi, true } -// AsAzureVMWorkloadSQLDatabaseWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadItem. -func (avwi AzureVMWorkloadItem) AsAzureVMWorkloadSQLDatabaseWorkloadItem() (*AzureVMWorkloadSQLDatabaseWorkloadItem, bool) { +// AsAzureVMWorkloadSQLDatabaseWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSAPHanaSystemWorkloadItem. +func (avwshswi AzureVMWorkloadSAPHanaSystemWorkloadItem) AsAzureVMWorkloadSQLDatabaseWorkloadItem() (*AzureVMWorkloadSQLDatabaseWorkloadItem, bool) { return nil, false } -// AsAzureVMWorkloadSQLInstanceWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadItem. -func (avwi AzureVMWorkloadItem) AsAzureVMWorkloadSQLInstanceWorkloadItem() (*AzureVMWorkloadSQLInstanceWorkloadItem, bool) { +// AsAzureVMWorkloadSQLInstanceWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSAPHanaSystemWorkloadItem. +func (avwshswi AzureVMWorkloadSAPHanaSystemWorkloadItem) AsAzureVMWorkloadSQLInstanceWorkloadItem() (*AzureVMWorkloadSQLInstanceWorkloadItem, bool) { return nil, false } -// AsWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadItem. -func (avwi AzureVMWorkloadItem) AsWorkloadItem() (*WorkloadItem, bool) { +// AsWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSAPHanaSystemWorkloadItem. +func (avwshswi AzureVMWorkloadSAPHanaSystemWorkloadItem) AsWorkloadItem() (*WorkloadItem, bool) { return nil, false } -// AsBasicWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadItem. -func (avwi AzureVMWorkloadItem) AsBasicWorkloadItem() (BasicWorkloadItem, bool) { - return &avwi, true -} - -// BasicAzureVMWorkloadProtectableItem azure VM workload-specific protectable item. -type BasicAzureVMWorkloadProtectableItem interface { - AsAzureVMWorkloadSAPAseDatabaseProtectableItem() (*AzureVMWorkloadSAPAseDatabaseProtectableItem, bool) - AsAzureVMWorkloadSAPAseSystemProtectableItem() (*AzureVMWorkloadSAPAseSystemProtectableItem, bool) - AsAzureVMWorkloadSAPHanaDatabaseProtectableItem() (*AzureVMWorkloadSAPHanaDatabaseProtectableItem, bool) - AsAzureVMWorkloadSAPHanaSystemProtectableItem() (*AzureVMWorkloadSAPHanaSystemProtectableItem, bool) - AsAzureVMWorkloadSQLAvailabilityGroupProtectableItem() (*AzureVMWorkloadSQLAvailabilityGroupProtectableItem, bool) - AsAzureVMWorkloadSQLDatabaseProtectableItem() (*AzureVMWorkloadSQLDatabaseProtectableItem, bool) - AsAzureVMWorkloadSQLInstanceProtectableItem() (*AzureVMWorkloadSQLInstanceProtectableItem, bool) - AsAzureVMWorkloadProtectableItem() (*AzureVMWorkloadProtectableItem, bool) +// AsBasicWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSAPHanaSystemWorkloadItem. +func (avwshswi AzureVMWorkloadSAPHanaSystemWorkloadItem) AsBasicWorkloadItem() (BasicWorkloadItem, bool) { + return &avwshswi, true } -// AzureVMWorkloadProtectableItem azure VM workload-specific protectable item. -type AzureVMWorkloadProtectableItem struct { +// AzureVMWorkloadSQLAvailabilityGroupProtectableItem azure VM workload-specific protectable item +// representing SQL Availability Group. +type AzureVMWorkloadSQLAvailabilityGroupProtectableItem struct { // ParentName - Name for instance or AG ParentName *string `json:"parentName,omitempty"` // ParentUniqueName - Parent Unique Name is added to provide the service formatted URI Name of the Parent @@ -4736,9 +3544,9 @@ type AzureVMWorkloadProtectableItem struct { IsAutoProtectable *bool `json:"isAutoProtectable,omitempty"` // IsAutoProtected - Indicates if protectable item is auto-protected IsAutoProtected *bool `json:"isAutoProtected,omitempty"` - // Subinquireditemcount - For instance or AG, indicates number of DBs present + // Subinquireditemcount - For instance or AG, indicates number of DB's present Subinquireditemcount *int32 `json:"subinquireditemcount,omitempty"` - // Subprotectableitemcount - For instance or AG, indicates number of DBs to be protected + // Subprotectableitemcount - For instance or AG, indicates number of DB's to be protected Subprotectableitemcount *int32 `json:"subprotectableitemcount,omitempty"` // Prebackupvalidation - Pre-backup validation for protectable objects Prebackupvalidation *PreBackupValidation `json:"prebackupvalidation,omitempty"` @@ -4750,561 +3558,399 @@ type AzureVMWorkloadProtectableItem struct { FriendlyName *string `json:"friendlyName,omitempty"` // ProtectionState - State of the back up item. Possible values include: 'ProtectionStatusInvalid', 'ProtectionStatusNotProtected', 'ProtectionStatusProtecting', 'ProtectionStatusProtected', 'ProtectionStatusProtectionFailed' ProtectionState ProtectionStatus `json:"protectionState,omitempty"` - // ProtectableItemType - Possible values include: 'ProtectableItemTypeWorkloadProtectableItem', 'ProtectableItemTypeAzureFileShare', 'ProtectableItemTypeMicrosoftClassicComputevirtualMachines', 'ProtectableItemTypeMicrosoftComputevirtualMachines', 'ProtectableItemTypeAzureVMWorkloadProtectableItem', 'ProtectableItemTypeSAPAseDatabase', 'ProtectableItemTypeSAPAseSystem', 'ProtectableItemTypeSAPHanaDatabase', 'ProtectableItemTypeSAPHanaSystem', 'ProtectableItemTypeSQLAvailabilityGroupContainer', 'ProtectableItemTypeSQLDataBase', 'ProtectableItemTypeSQLInstance', 'ProtectableItemTypeIaaSVMProtectableItem' + // ProtectableItemType - Possible values include: 'ProtectableItemTypeWorkloadProtectableItem', 'ProtectableItemTypeAzureFileShare', 'ProtectableItemTypeMicrosoftClassicComputevirtualMachines', 'ProtectableItemTypeMicrosoftComputevirtualMachines', 'ProtectableItemTypeAzureVMWorkloadProtectableItem', 'ProtectableItemTypeSAPAseSystem', 'ProtectableItemTypeSAPHanaDatabase', 'ProtectableItemTypeSAPHanaSystem', 'ProtectableItemTypeSQLAvailabilityGroupContainer', 'ProtectableItemTypeSQLDataBase', 'ProtectableItemTypeSQLInstance', 'ProtectableItemTypeIaaSVMProtectableItem' ProtectableItemType ProtectableItemType `json:"protectableItemType,omitempty"` } -func unmarshalBasicAzureVMWorkloadProtectableItem(body []byte) (BasicAzureVMWorkloadProtectableItem, error) { - var m map[string]interface{} - err := json.Unmarshal(body, &m) - if err != nil { - return nil, err - } - - switch m["protectableItemType"] { - case string(ProtectableItemTypeSAPAseDatabase): - var avwsadpi AzureVMWorkloadSAPAseDatabaseProtectableItem - err := json.Unmarshal(body, &avwsadpi) - return avwsadpi, err - case string(ProtectableItemTypeSAPAseSystem): - var avwsaspi AzureVMWorkloadSAPAseSystemProtectableItem - err := json.Unmarshal(body, &avwsaspi) - return avwsaspi, err - case string(ProtectableItemTypeSAPHanaDatabase): - var avwshdpi AzureVMWorkloadSAPHanaDatabaseProtectableItem - err := json.Unmarshal(body, &avwshdpi) - return avwshdpi, err - case string(ProtectableItemTypeSAPHanaSystem): - var avwshspi AzureVMWorkloadSAPHanaSystemProtectableItem - err := json.Unmarshal(body, &avwshspi) - return avwshspi, err - case string(ProtectableItemTypeSQLAvailabilityGroupContainer): - var avwsagpi AzureVMWorkloadSQLAvailabilityGroupProtectableItem - err := json.Unmarshal(body, &avwsagpi) - return avwsagpi, err - case string(ProtectableItemTypeSQLDataBase): - var avwsdpi AzureVMWorkloadSQLDatabaseProtectableItem - err := json.Unmarshal(body, &avwsdpi) - return avwsdpi, err - case string(ProtectableItemTypeSQLInstance): - var avwsipi AzureVMWorkloadSQLInstanceProtectableItem - err := json.Unmarshal(body, &avwsipi) - return avwsipi, err - default: - var avwpi AzureVMWorkloadProtectableItem - err := json.Unmarshal(body, &avwpi) - return avwpi, err - } -} -func unmarshalBasicAzureVMWorkloadProtectableItemArray(body []byte) ([]BasicAzureVMWorkloadProtectableItem, error) { - var rawMessages []*json.RawMessage - err := json.Unmarshal(body, &rawMessages) - if err != nil { - return nil, err - } - - avwpiArray := make([]BasicAzureVMWorkloadProtectableItem, len(rawMessages)) - - for index, rawMessage := range rawMessages { - avwpi, err := unmarshalBasicAzureVMWorkloadProtectableItem(*rawMessage) - if err != nil { - return nil, err - } - avwpiArray[index] = avwpi - } - return avwpiArray, nil -} - -// MarshalJSON is the custom marshaler for AzureVMWorkloadProtectableItem. -func (avwpi AzureVMWorkloadProtectableItem) MarshalJSON() ([]byte, error) { - avwpi.ProtectableItemType = ProtectableItemTypeAzureVMWorkloadProtectableItem +// MarshalJSON is the custom marshaler for AzureVMWorkloadSQLAvailabilityGroupProtectableItem. +func (avwsagpi AzureVMWorkloadSQLAvailabilityGroupProtectableItem) MarshalJSON() ([]byte, error) { + avwsagpi.ProtectableItemType = ProtectableItemTypeSQLAvailabilityGroupContainer objectMap := make(map[string]interface{}) - if avwpi.ParentName != nil { - objectMap["parentName"] = avwpi.ParentName + if avwsagpi.ParentName != nil { + objectMap["parentName"] = avwsagpi.ParentName } - if avwpi.ParentUniqueName != nil { - objectMap["parentUniqueName"] = avwpi.ParentUniqueName + if avwsagpi.ParentUniqueName != nil { + objectMap["parentUniqueName"] = avwsagpi.ParentUniqueName } - if avwpi.ServerName != nil { - objectMap["serverName"] = avwpi.ServerName + if avwsagpi.ServerName != nil { + objectMap["serverName"] = avwsagpi.ServerName } - if avwpi.IsAutoProtectable != nil { - objectMap["isAutoProtectable"] = avwpi.IsAutoProtectable + if avwsagpi.IsAutoProtectable != nil { + objectMap["isAutoProtectable"] = avwsagpi.IsAutoProtectable } - if avwpi.IsAutoProtected != nil { - objectMap["isAutoProtected"] = avwpi.IsAutoProtected + if avwsagpi.IsAutoProtected != nil { + objectMap["isAutoProtected"] = avwsagpi.IsAutoProtected } - if avwpi.Subinquireditemcount != nil { - objectMap["subinquireditemcount"] = avwpi.Subinquireditemcount + if avwsagpi.Subinquireditemcount != nil { + objectMap["subinquireditemcount"] = avwsagpi.Subinquireditemcount } - if avwpi.Subprotectableitemcount != nil { - objectMap["subprotectableitemcount"] = avwpi.Subprotectableitemcount + if avwsagpi.Subprotectableitemcount != nil { + objectMap["subprotectableitemcount"] = avwsagpi.Subprotectableitemcount } - if avwpi.Prebackupvalidation != nil { - objectMap["prebackupvalidation"] = avwpi.Prebackupvalidation + if avwsagpi.Prebackupvalidation != nil { + objectMap["prebackupvalidation"] = avwsagpi.Prebackupvalidation } - if avwpi.BackupManagementType != nil { - objectMap["backupManagementType"] = avwpi.BackupManagementType + if avwsagpi.BackupManagementType != nil { + objectMap["backupManagementType"] = avwsagpi.BackupManagementType } - if avwpi.WorkloadType != nil { - objectMap["workloadType"] = avwpi.WorkloadType + if avwsagpi.WorkloadType != nil { + objectMap["workloadType"] = avwsagpi.WorkloadType } - if avwpi.FriendlyName != nil { - objectMap["friendlyName"] = avwpi.FriendlyName + if avwsagpi.FriendlyName != nil { + objectMap["friendlyName"] = avwsagpi.FriendlyName } - if avwpi.ProtectionState != "" { - objectMap["protectionState"] = avwpi.ProtectionState + if avwsagpi.ProtectionState != "" { + objectMap["protectionState"] = avwsagpi.ProtectionState } - if avwpi.ProtectableItemType != "" { - objectMap["protectableItemType"] = avwpi.ProtectableItemType + if avwsagpi.ProtectableItemType != "" { + objectMap["protectableItemType"] = avwsagpi.ProtectableItemType } return json.Marshal(objectMap) } -// AsAzureFileShareProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadProtectableItem. -func (avwpi AzureVMWorkloadProtectableItem) AsAzureFileShareProtectableItem() (*AzureFileShareProtectableItem, bool) { +// AsAzureFileShareProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSQLAvailabilityGroupProtectableItem. +func (avwsagpi AzureVMWorkloadSQLAvailabilityGroupProtectableItem) AsAzureFileShareProtectableItem() (*AzureFileShareProtectableItem, bool) { return nil, false } -// AsAzureIaaSClassicComputeVMProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadProtectableItem. -func (avwpi AzureVMWorkloadProtectableItem) AsAzureIaaSClassicComputeVMProtectableItem() (*AzureIaaSClassicComputeVMProtectableItem, bool) { +// AsAzureIaaSClassicComputeVMProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSQLAvailabilityGroupProtectableItem. +func (avwsagpi AzureVMWorkloadSQLAvailabilityGroupProtectableItem) AsAzureIaaSClassicComputeVMProtectableItem() (*AzureIaaSClassicComputeVMProtectableItem, bool) { return nil, false } -// AsAzureIaaSComputeVMProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadProtectableItem. -func (avwpi AzureVMWorkloadProtectableItem) AsAzureIaaSComputeVMProtectableItem() (*AzureIaaSComputeVMProtectableItem, bool) { +// AsAzureIaaSComputeVMProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSQLAvailabilityGroupProtectableItem. +func (avwsagpi AzureVMWorkloadSQLAvailabilityGroupProtectableItem) AsAzureIaaSComputeVMProtectableItem() (*AzureIaaSComputeVMProtectableItem, bool) { return nil, false } -// AsAzureVMWorkloadProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadProtectableItem. -func (avwpi AzureVMWorkloadProtectableItem) AsAzureVMWorkloadProtectableItem() (*AzureVMWorkloadProtectableItem, bool) { - return &avwpi, true -} - -// AsBasicAzureVMWorkloadProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadProtectableItem. -func (avwpi AzureVMWorkloadProtectableItem) AsBasicAzureVMWorkloadProtectableItem() (BasicAzureVMWorkloadProtectableItem, bool) { - return &avwpi, true -} - -// AsAzureVMWorkloadSAPAseDatabaseProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadProtectableItem. -func (avwpi AzureVMWorkloadProtectableItem) AsAzureVMWorkloadSAPAseDatabaseProtectableItem() (*AzureVMWorkloadSAPAseDatabaseProtectableItem, bool) { +// AsAzureVMWorkloadProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSQLAvailabilityGroupProtectableItem. +func (avwsagpi AzureVMWorkloadSQLAvailabilityGroupProtectableItem) AsAzureVMWorkloadProtectableItem() (*AzureVMWorkloadProtectableItem, bool) { return nil, false } -// AsAzureVMWorkloadSAPAseSystemProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadProtectableItem. -func (avwpi AzureVMWorkloadProtectableItem) AsAzureVMWorkloadSAPAseSystemProtectableItem() (*AzureVMWorkloadSAPAseSystemProtectableItem, bool) { - return nil, false +// AsBasicAzureVMWorkloadProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSQLAvailabilityGroupProtectableItem. +func (avwsagpi AzureVMWorkloadSQLAvailabilityGroupProtectableItem) AsBasicAzureVMWorkloadProtectableItem() (BasicAzureVMWorkloadProtectableItem, bool) { + return &avwsagpi, true } -// AsAzureVMWorkloadSAPHanaDatabaseProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadProtectableItem. -func (avwpi AzureVMWorkloadProtectableItem) AsAzureVMWorkloadSAPHanaDatabaseProtectableItem() (*AzureVMWorkloadSAPHanaDatabaseProtectableItem, bool) { +// AsAzureVMWorkloadSAPAseSystemProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSQLAvailabilityGroupProtectableItem. +func (avwsagpi AzureVMWorkloadSQLAvailabilityGroupProtectableItem) AsAzureVMWorkloadSAPAseSystemProtectableItem() (*AzureVMWorkloadSAPAseSystemProtectableItem, bool) { return nil, false } -// AsAzureVMWorkloadSAPHanaSystemProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadProtectableItem. -func (avwpi AzureVMWorkloadProtectableItem) AsAzureVMWorkloadSAPHanaSystemProtectableItem() (*AzureVMWorkloadSAPHanaSystemProtectableItem, bool) { +// AsAzureVMWorkloadSAPHanaDatabaseProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSQLAvailabilityGroupProtectableItem. +func (avwsagpi AzureVMWorkloadSQLAvailabilityGroupProtectableItem) AsAzureVMWorkloadSAPHanaDatabaseProtectableItem() (*AzureVMWorkloadSAPHanaDatabaseProtectableItem, bool) { return nil, false } -// AsAzureVMWorkloadSQLAvailabilityGroupProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadProtectableItem. -func (avwpi AzureVMWorkloadProtectableItem) AsAzureVMWorkloadSQLAvailabilityGroupProtectableItem() (*AzureVMWorkloadSQLAvailabilityGroupProtectableItem, bool) { +// AsAzureVMWorkloadSAPHanaSystemProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSQLAvailabilityGroupProtectableItem. +func (avwsagpi AzureVMWorkloadSQLAvailabilityGroupProtectableItem) AsAzureVMWorkloadSAPHanaSystemProtectableItem() (*AzureVMWorkloadSAPHanaSystemProtectableItem, bool) { return nil, false } -// AsAzureVMWorkloadSQLDatabaseProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadProtectableItem. -func (avwpi AzureVMWorkloadProtectableItem) AsAzureVMWorkloadSQLDatabaseProtectableItem() (*AzureVMWorkloadSQLDatabaseProtectableItem, bool) { - return nil, false +// AsAzureVMWorkloadSQLAvailabilityGroupProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSQLAvailabilityGroupProtectableItem. +func (avwsagpi AzureVMWorkloadSQLAvailabilityGroupProtectableItem) AsAzureVMWorkloadSQLAvailabilityGroupProtectableItem() (*AzureVMWorkloadSQLAvailabilityGroupProtectableItem, bool) { + return &avwsagpi, true } -// AsAzureVMWorkloadSQLInstanceProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadProtectableItem. -func (avwpi AzureVMWorkloadProtectableItem) AsAzureVMWorkloadSQLInstanceProtectableItem() (*AzureVMWorkloadSQLInstanceProtectableItem, bool) { +// AsAzureVMWorkloadSQLDatabaseProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSQLAvailabilityGroupProtectableItem. +func (avwsagpi AzureVMWorkloadSQLAvailabilityGroupProtectableItem) AsAzureVMWorkloadSQLDatabaseProtectableItem() (*AzureVMWorkloadSQLDatabaseProtectableItem, bool) { return nil, false } -// AsIaaSVMProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadProtectableItem. -func (avwpi AzureVMWorkloadProtectableItem) AsIaaSVMProtectableItem() (*IaaSVMProtectableItem, bool) { +// AsAzureVMWorkloadSQLInstanceProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSQLAvailabilityGroupProtectableItem. +func (avwsagpi AzureVMWorkloadSQLAvailabilityGroupProtectableItem) AsAzureVMWorkloadSQLInstanceProtectableItem() (*AzureVMWorkloadSQLInstanceProtectableItem, bool) { return nil, false } -// AsBasicIaaSVMProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadProtectableItem. -func (avwpi AzureVMWorkloadProtectableItem) AsBasicIaaSVMProtectableItem() (BasicIaaSVMProtectableItem, bool) { +// AsIaaSVMProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSQLAvailabilityGroupProtectableItem. +func (avwsagpi AzureVMWorkloadSQLAvailabilityGroupProtectableItem) AsIaaSVMProtectableItem() (*IaaSVMProtectableItem, bool) { return nil, false } -// AsWorkloadProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadProtectableItem. -func (avwpi AzureVMWorkloadProtectableItem) AsWorkloadProtectableItem() (*WorkloadProtectableItem, bool) { +// AsBasicIaaSVMProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSQLAvailabilityGroupProtectableItem. +func (avwsagpi AzureVMWorkloadSQLAvailabilityGroupProtectableItem) AsBasicIaaSVMProtectableItem() (BasicIaaSVMProtectableItem, bool) { return nil, false } -// AsBasicWorkloadProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadProtectableItem. -func (avwpi AzureVMWorkloadProtectableItem) AsBasicWorkloadProtectableItem() (BasicWorkloadProtectableItem, bool) { - return &avwpi, true +// AsWorkloadProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSQLAvailabilityGroupProtectableItem. +func (avwsagpi AzureVMWorkloadSQLAvailabilityGroupProtectableItem) AsWorkloadProtectableItem() (*WorkloadProtectableItem, bool) { + return nil, false } -// BasicAzureVMWorkloadProtectedItem azure VM workload-specific protected item. -type BasicAzureVMWorkloadProtectedItem interface { - AsAzureVMWorkloadSAPAseDatabaseProtectedItem() (*AzureVMWorkloadSAPAseDatabaseProtectedItem, bool) - AsAzureVMWorkloadSAPHanaDatabaseProtectedItem() (*AzureVMWorkloadSAPHanaDatabaseProtectedItem, bool) - AsAzureVMWorkloadSQLDatabaseProtectedItem() (*AzureVMWorkloadSQLDatabaseProtectedItem, bool) - AsAzureVMWorkloadProtectedItem() (*AzureVMWorkloadProtectedItem, bool) +// AsBasicWorkloadProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSQLAvailabilityGroupProtectableItem. +func (avwsagpi AzureVMWorkloadSQLAvailabilityGroupProtectableItem) AsBasicWorkloadProtectableItem() (BasicWorkloadProtectableItem, bool) { + return &avwsagpi, true } -// AzureVMWorkloadProtectedItem azure VM workload-specific protected item. -type AzureVMWorkloadProtectedItem struct { - // FriendlyName - Friendly name of the DB represented by this backup item. - FriendlyName *string `json:"friendlyName,omitempty"` +// AzureVMWorkloadSQLDatabaseProtectableItem azure VM workload-specific protectable item representing SQL +// Database. +type AzureVMWorkloadSQLDatabaseProtectableItem struct { + // ParentName - Name for instance or AG + ParentName *string `json:"parentName,omitempty"` + // ParentUniqueName - Parent Unique Name is added to provide the service formatted URI Name of the Parent + // Only Applicable for data bases where the parent would be either Instance or a SQL AG. + ParentUniqueName *string `json:"parentUniqueName,omitempty"` // ServerName - Host/Cluster Name for instance or AG ServerName *string `json:"serverName,omitempty"` - // ParentName - Parent name of the DB such as Instance or Availability Group. - ParentName *string `json:"parentName,omitempty"` - // ParentType - Parent type of protected item, example: for a DB, standalone server or distributed - ParentType *string `json:"parentType,omitempty"` - // ProtectionStatus - Backup status of this backup item. - ProtectionStatus *string `json:"protectionStatus,omitempty"` - // ProtectionState - Backup state of this backup item. Possible values include: 'ProtectionStateInvalid', 'ProtectionStateIRPending', 'ProtectionStateProtected', 'ProtectionStateProtectionError', 'ProtectionStateProtectionStopped', 'ProtectionStateProtectionPaused' - ProtectionState ProtectionState `json:"protectionState,omitempty"` - // LastBackupStatus - Last backup operation status. Possible values: Healthy, Unhealthy. Possible values include: 'LastBackupStatusInvalid', 'LastBackupStatusHealthy', 'LastBackupStatusUnhealthy', 'LastBackupStatusIRPending' - LastBackupStatus LastBackupStatus `json:"lastBackupStatus,omitempty"` - // LastBackupTime - Timestamp of the last backup operation on this backup item. - LastBackupTime *date.Time `json:"lastBackupTime,omitempty"` - // LastBackupErrorDetail - Error details in last backup - LastBackupErrorDetail *ErrorDetail `json:"lastBackupErrorDetail,omitempty"` - // ProtectedItemDataSourceID - Data ID of the protected item. - ProtectedItemDataSourceID *string `json:"protectedItemDataSourceId,omitempty"` - // ProtectedItemHealthStatus - Health status of the backup item, evaluated based on last heartbeat received. Possible values include: 'ProtectedItemHealthStatusInvalid', 'ProtectedItemHealthStatusHealthy', 'ProtectedItemHealthStatusUnhealthy', 'ProtectedItemHealthStatusNotReachable', 'ProtectedItemHealthStatusIRPending' - ProtectedItemHealthStatus ProtectedItemHealthStatus `json:"protectedItemHealthStatus,omitempty"` - // ExtendedInfo - Additional information for this backup item. - ExtendedInfo *AzureVMWorkloadProtectedItemExtendedInfo `json:"extendedInfo,omitempty"` - // BackupManagementType - Type of backup management for the backed up item. Possible values include: 'ManagementTypeInvalid', 'ManagementTypeAzureIaasVM', 'ManagementTypeMAB', 'ManagementTypeDPM', 'ManagementTypeAzureBackupServer', 'ManagementTypeAzureSQL', 'ManagementTypeAzureStorage', 'ManagementTypeAzureWorkload', 'ManagementTypeDefaultBackup' - BackupManagementType ManagementType `json:"backupManagementType,omitempty"` - // WorkloadType - Type of workload this item represents. Possible values include: 'DataSourceTypeInvalid', 'DataSourceTypeVM', 'DataSourceTypeFileFolder', 'DataSourceTypeAzureSQLDb', 'DataSourceTypeSQLDB', 'DataSourceTypeExchange', 'DataSourceTypeSharepoint', 'DataSourceTypeVMwareVM', 'DataSourceTypeSystemState', 'DataSourceTypeClient', 'DataSourceTypeGenericDataSource', 'DataSourceTypeSQLDataBase', 'DataSourceTypeAzureFileShare', 'DataSourceTypeSAPHanaDatabase', 'DataSourceTypeSAPAseDatabase' - WorkloadType DataSourceType `json:"workloadType,omitempty"` - // ContainerName - Unique name of container - ContainerName *string `json:"containerName,omitempty"` - // SourceResourceID - ARM ID of the resource to be backed up. - SourceResourceID *string `json:"sourceResourceId,omitempty"` - // PolicyID - ID of the backup policy with which this item is backed up. - PolicyID *string `json:"policyId,omitempty"` - // LastRecoveryPoint - Timestamp when the last (latest) backup copy was created for this backup item. - LastRecoveryPoint *date.Time `json:"lastRecoveryPoint,omitempty"` - // BackupSetName - Name of the backup set the backup item belongs to - BackupSetName *string `json:"backupSetName,omitempty"` - // CreateMode - Create mode to indicate recovery of existing soft deleted data source or creation of new data source. Possible values include: 'CreateModeInvalid', 'CreateModeDefault', 'CreateModeRecover' - CreateMode CreateMode `json:"createMode,omitempty"` - // DeferredDeleteTimeInUTC - Time for deferred deletion in UTC - DeferredDeleteTimeInUTC *date.Time `json:"deferredDeleteTimeInUTC,omitempty"` - // IsScheduledForDeferredDelete - Flag to identify whether the DS is scheduled for deferred delete - IsScheduledForDeferredDelete *bool `json:"isScheduledForDeferredDelete,omitempty"` - // DeferredDeleteTimeRemaining - Time remaining before the DS marked for deferred delete is permanently deleted - DeferredDeleteTimeRemaining *string `json:"deferredDeleteTimeRemaining,omitempty"` - // IsDeferredDeleteScheduleUpcoming - Flag to identify whether the deferred deleted DS is to be purged soon - IsDeferredDeleteScheduleUpcoming *bool `json:"isDeferredDeleteScheduleUpcoming,omitempty"` - // IsRehydrate - Flag to identify that deferred deleted DS is to be moved into Pause state - IsRehydrate *bool `json:"isRehydrate,omitempty"` - // ProtectedItemType - Possible values include: 'ProtectedItemTypeProtectedItem', 'ProtectedItemTypeAzureFileShareProtectedItem', 'ProtectedItemTypeMicrosoftClassicComputevirtualMachines', 'ProtectedItemTypeMicrosoftComputevirtualMachines', 'ProtectedItemTypeAzureIaaSVMProtectedItem', 'ProtectedItemTypeMicrosoftSqlserversdatabases', 'ProtectedItemTypeAzureVMWorkloadProtectedItem', 'ProtectedItemTypeAzureVMWorkloadSAPAseDatabase', 'ProtectedItemTypeAzureVMWorkloadSAPHanaDatabase', 'ProtectedItemTypeAzureVMWorkloadSQLDatabase', 'ProtectedItemTypeDPMProtectedItem', 'ProtectedItemTypeGenericProtectedItem', 'ProtectedItemTypeMabFileFolderProtectedItem' - ProtectedItemType ProtectedItemType `json:"protectedItemType,omitempty"` -} - -func unmarshalBasicAzureVMWorkloadProtectedItem(body []byte) (BasicAzureVMWorkloadProtectedItem, error) { - var m map[string]interface{} - err := json.Unmarshal(body, &m) - if err != nil { - return nil, err - } - - switch m["protectedItemType"] { - case string(ProtectedItemTypeAzureVMWorkloadSAPAseDatabase): - var avwsadpi AzureVMWorkloadSAPAseDatabaseProtectedItem - err := json.Unmarshal(body, &avwsadpi) - return avwsadpi, err - case string(ProtectedItemTypeAzureVMWorkloadSAPHanaDatabase): - var avwshdpi AzureVMWorkloadSAPHanaDatabaseProtectedItem - err := json.Unmarshal(body, &avwshdpi) - return avwshdpi, err - case string(ProtectedItemTypeAzureVMWorkloadSQLDatabase): - var avwsdpi AzureVMWorkloadSQLDatabaseProtectedItem - err := json.Unmarshal(body, &avwsdpi) - return avwsdpi, err - default: - var avwpi AzureVMWorkloadProtectedItem - err := json.Unmarshal(body, &avwpi) - return avwpi, err - } -} -func unmarshalBasicAzureVMWorkloadProtectedItemArray(body []byte) ([]BasicAzureVMWorkloadProtectedItem, error) { - var rawMessages []*json.RawMessage - err := json.Unmarshal(body, &rawMessages) - if err != nil { - return nil, err - } - - avwpiArray := make([]BasicAzureVMWorkloadProtectedItem, len(rawMessages)) - - for index, rawMessage := range rawMessages { - avwpi, err := unmarshalBasicAzureVMWorkloadProtectedItem(*rawMessage) - if err != nil { - return nil, err - } - avwpiArray[index] = avwpi - } - return avwpiArray, nil + // IsAutoProtectable - Indicates if protectable item is auto-protectable + IsAutoProtectable *bool `json:"isAutoProtectable,omitempty"` + // IsAutoProtected - Indicates if protectable item is auto-protected + IsAutoProtected *bool `json:"isAutoProtected,omitempty"` + // Subinquireditemcount - For instance or AG, indicates number of DB's present + Subinquireditemcount *int32 `json:"subinquireditemcount,omitempty"` + // Subprotectableitemcount - For instance or AG, indicates number of DB's to be protected + Subprotectableitemcount *int32 `json:"subprotectableitemcount,omitempty"` + // Prebackupvalidation - Pre-backup validation for protectable objects + Prebackupvalidation *PreBackupValidation `json:"prebackupvalidation,omitempty"` + // BackupManagementType - Type of backup management to backup an item. + BackupManagementType *string `json:"backupManagementType,omitempty"` + // WorkloadType - Type of workload for the backup management + WorkloadType *string `json:"workloadType,omitempty"` + // FriendlyName - Friendly name of the backup item. + FriendlyName *string `json:"friendlyName,omitempty"` + // ProtectionState - State of the back up item. Possible values include: 'ProtectionStatusInvalid', 'ProtectionStatusNotProtected', 'ProtectionStatusProtecting', 'ProtectionStatusProtected', 'ProtectionStatusProtectionFailed' + ProtectionState ProtectionStatus `json:"protectionState,omitempty"` + // ProtectableItemType - Possible values include: 'ProtectableItemTypeWorkloadProtectableItem', 'ProtectableItemTypeAzureFileShare', 'ProtectableItemTypeMicrosoftClassicComputevirtualMachines', 'ProtectableItemTypeMicrosoftComputevirtualMachines', 'ProtectableItemTypeAzureVMWorkloadProtectableItem', 'ProtectableItemTypeSAPAseSystem', 'ProtectableItemTypeSAPHanaDatabase', 'ProtectableItemTypeSAPHanaSystem', 'ProtectableItemTypeSQLAvailabilityGroupContainer', 'ProtectableItemTypeSQLDataBase', 'ProtectableItemTypeSQLInstance', 'ProtectableItemTypeIaaSVMProtectableItem' + ProtectableItemType ProtectableItemType `json:"protectableItemType,omitempty"` } -// MarshalJSON is the custom marshaler for AzureVMWorkloadProtectedItem. -func (avwpi AzureVMWorkloadProtectedItem) MarshalJSON() ([]byte, error) { - avwpi.ProtectedItemType = ProtectedItemTypeAzureVMWorkloadProtectedItem +// MarshalJSON is the custom marshaler for AzureVMWorkloadSQLDatabaseProtectableItem. +func (avwsdpi AzureVMWorkloadSQLDatabaseProtectableItem) MarshalJSON() ([]byte, error) { + avwsdpi.ProtectableItemType = ProtectableItemTypeSQLDataBase objectMap := make(map[string]interface{}) - if avwpi.FriendlyName != nil { - objectMap["friendlyName"] = avwpi.FriendlyName - } - if avwpi.ServerName != nil { - objectMap["serverName"] = avwpi.ServerName - } - if avwpi.ParentName != nil { - objectMap["parentName"] = avwpi.ParentName - } - if avwpi.ParentType != nil { - objectMap["parentType"] = avwpi.ParentType - } - if avwpi.ProtectionStatus != nil { - objectMap["protectionStatus"] = avwpi.ProtectionStatus - } - if avwpi.ProtectionState != "" { - objectMap["protectionState"] = avwpi.ProtectionState - } - if avwpi.LastBackupStatus != "" { - objectMap["lastBackupStatus"] = avwpi.LastBackupStatus - } - if avwpi.LastBackupTime != nil { - objectMap["lastBackupTime"] = avwpi.LastBackupTime - } - if avwpi.LastBackupErrorDetail != nil { - objectMap["lastBackupErrorDetail"] = avwpi.LastBackupErrorDetail - } - if avwpi.ProtectedItemDataSourceID != nil { - objectMap["protectedItemDataSourceId"] = avwpi.ProtectedItemDataSourceID - } - if avwpi.ProtectedItemHealthStatus != "" { - objectMap["protectedItemHealthStatus"] = avwpi.ProtectedItemHealthStatus - } - if avwpi.ExtendedInfo != nil { - objectMap["extendedInfo"] = avwpi.ExtendedInfo - } - if avwpi.BackupManagementType != "" { - objectMap["backupManagementType"] = avwpi.BackupManagementType - } - if avwpi.WorkloadType != "" { - objectMap["workloadType"] = avwpi.WorkloadType + if avwsdpi.ParentName != nil { + objectMap["parentName"] = avwsdpi.ParentName } - if avwpi.ContainerName != nil { - objectMap["containerName"] = avwpi.ContainerName + if avwsdpi.ParentUniqueName != nil { + objectMap["parentUniqueName"] = avwsdpi.ParentUniqueName } - if avwpi.SourceResourceID != nil { - objectMap["sourceResourceId"] = avwpi.SourceResourceID + if avwsdpi.ServerName != nil { + objectMap["serverName"] = avwsdpi.ServerName } - if avwpi.PolicyID != nil { - objectMap["policyId"] = avwpi.PolicyID + if avwsdpi.IsAutoProtectable != nil { + objectMap["isAutoProtectable"] = avwsdpi.IsAutoProtectable } - if avwpi.LastRecoveryPoint != nil { - objectMap["lastRecoveryPoint"] = avwpi.LastRecoveryPoint + if avwsdpi.IsAutoProtected != nil { + objectMap["isAutoProtected"] = avwsdpi.IsAutoProtected } - if avwpi.BackupSetName != nil { - objectMap["backupSetName"] = avwpi.BackupSetName + if avwsdpi.Subinquireditemcount != nil { + objectMap["subinquireditemcount"] = avwsdpi.Subinquireditemcount } - if avwpi.CreateMode != "" { - objectMap["createMode"] = avwpi.CreateMode + if avwsdpi.Subprotectableitemcount != nil { + objectMap["subprotectableitemcount"] = avwsdpi.Subprotectableitemcount } - if avwpi.DeferredDeleteTimeInUTC != nil { - objectMap["deferredDeleteTimeInUTC"] = avwpi.DeferredDeleteTimeInUTC + if avwsdpi.Prebackupvalidation != nil { + objectMap["prebackupvalidation"] = avwsdpi.Prebackupvalidation } - if avwpi.IsScheduledForDeferredDelete != nil { - objectMap["isScheduledForDeferredDelete"] = avwpi.IsScheduledForDeferredDelete + if avwsdpi.BackupManagementType != nil { + objectMap["backupManagementType"] = avwsdpi.BackupManagementType } - if avwpi.DeferredDeleteTimeRemaining != nil { - objectMap["deferredDeleteTimeRemaining"] = avwpi.DeferredDeleteTimeRemaining + if avwsdpi.WorkloadType != nil { + objectMap["workloadType"] = avwsdpi.WorkloadType } - if avwpi.IsDeferredDeleteScheduleUpcoming != nil { - objectMap["isDeferredDeleteScheduleUpcoming"] = avwpi.IsDeferredDeleteScheduleUpcoming + if avwsdpi.FriendlyName != nil { + objectMap["friendlyName"] = avwsdpi.FriendlyName } - if avwpi.IsRehydrate != nil { - objectMap["isRehydrate"] = avwpi.IsRehydrate + if avwsdpi.ProtectionState != "" { + objectMap["protectionState"] = avwsdpi.ProtectionState } - if avwpi.ProtectedItemType != "" { - objectMap["protectedItemType"] = avwpi.ProtectedItemType + if avwsdpi.ProtectableItemType != "" { + objectMap["protectableItemType"] = avwsdpi.ProtectableItemType } return json.Marshal(objectMap) } -// AsAzureFileshareProtectedItem is the BasicProtectedItem implementation for AzureVMWorkloadProtectedItem. -func (avwpi AzureVMWorkloadProtectedItem) AsAzureFileshareProtectedItem() (*AzureFileshareProtectedItem, bool) { +// AsAzureFileShareProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSQLDatabaseProtectableItem. +func (avwsdpi AzureVMWorkloadSQLDatabaseProtectableItem) AsAzureFileShareProtectableItem() (*AzureFileShareProtectableItem, bool) { return nil, false } -// AsAzureIaaSClassicComputeVMProtectedItem is the BasicProtectedItem implementation for AzureVMWorkloadProtectedItem. -func (avwpi AzureVMWorkloadProtectedItem) AsAzureIaaSClassicComputeVMProtectedItem() (*AzureIaaSClassicComputeVMProtectedItem, bool) { +// AsAzureIaaSClassicComputeVMProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSQLDatabaseProtectableItem. +func (avwsdpi AzureVMWorkloadSQLDatabaseProtectableItem) AsAzureIaaSClassicComputeVMProtectableItem() (*AzureIaaSClassicComputeVMProtectableItem, bool) { return nil, false } -// AsAzureIaaSComputeVMProtectedItem is the BasicProtectedItem implementation for AzureVMWorkloadProtectedItem. -func (avwpi AzureVMWorkloadProtectedItem) AsAzureIaaSComputeVMProtectedItem() (*AzureIaaSComputeVMProtectedItem, bool) { +// AsAzureIaaSComputeVMProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSQLDatabaseProtectableItem. +func (avwsdpi AzureVMWorkloadSQLDatabaseProtectableItem) AsAzureIaaSComputeVMProtectableItem() (*AzureIaaSComputeVMProtectableItem, bool) { return nil, false } -// AsAzureIaaSVMProtectedItem is the BasicProtectedItem implementation for AzureVMWorkloadProtectedItem. -func (avwpi AzureVMWorkloadProtectedItem) AsAzureIaaSVMProtectedItem() (*AzureIaaSVMProtectedItem, bool) { +// AsAzureVMWorkloadProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSQLDatabaseProtectableItem. +func (avwsdpi AzureVMWorkloadSQLDatabaseProtectableItem) AsAzureVMWorkloadProtectableItem() (*AzureVMWorkloadProtectableItem, bool) { return nil, false } -// AsBasicAzureIaaSVMProtectedItem is the BasicProtectedItem implementation for AzureVMWorkloadProtectedItem. -func (avwpi AzureVMWorkloadProtectedItem) AsBasicAzureIaaSVMProtectedItem() (BasicAzureIaaSVMProtectedItem, bool) { - return nil, false +// AsBasicAzureVMWorkloadProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSQLDatabaseProtectableItem. +func (avwsdpi AzureVMWorkloadSQLDatabaseProtectableItem) AsBasicAzureVMWorkloadProtectableItem() (BasicAzureVMWorkloadProtectableItem, bool) { + return &avwsdpi, true } -// AsAzureSQLProtectedItem is the BasicProtectedItem implementation for AzureVMWorkloadProtectedItem. -func (avwpi AzureVMWorkloadProtectedItem) AsAzureSQLProtectedItem() (*AzureSQLProtectedItem, bool) { +// AsAzureVMWorkloadSAPAseSystemProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSQLDatabaseProtectableItem. +func (avwsdpi AzureVMWorkloadSQLDatabaseProtectableItem) AsAzureVMWorkloadSAPAseSystemProtectableItem() (*AzureVMWorkloadSAPAseSystemProtectableItem, bool) { return nil, false } -// AsAzureVMWorkloadProtectedItem is the BasicProtectedItem implementation for AzureVMWorkloadProtectedItem. -func (avwpi AzureVMWorkloadProtectedItem) AsAzureVMWorkloadProtectedItem() (*AzureVMWorkloadProtectedItem, bool) { - return &avwpi, true -} - -// AsBasicAzureVMWorkloadProtectedItem is the BasicProtectedItem implementation for AzureVMWorkloadProtectedItem. -func (avwpi AzureVMWorkloadProtectedItem) AsBasicAzureVMWorkloadProtectedItem() (BasicAzureVMWorkloadProtectedItem, bool) { - return &avwpi, true +// AsAzureVMWorkloadSAPHanaDatabaseProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSQLDatabaseProtectableItem. +func (avwsdpi AzureVMWorkloadSQLDatabaseProtectableItem) AsAzureVMWorkloadSAPHanaDatabaseProtectableItem() (*AzureVMWorkloadSAPHanaDatabaseProtectableItem, bool) { + return nil, false } -// AsAzureVMWorkloadSAPAseDatabaseProtectedItem is the BasicProtectedItem implementation for AzureVMWorkloadProtectedItem. -func (avwpi AzureVMWorkloadProtectedItem) AsAzureVMWorkloadSAPAseDatabaseProtectedItem() (*AzureVMWorkloadSAPAseDatabaseProtectedItem, bool) { +// AsAzureVMWorkloadSAPHanaSystemProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSQLDatabaseProtectableItem. +func (avwsdpi AzureVMWorkloadSQLDatabaseProtectableItem) AsAzureVMWorkloadSAPHanaSystemProtectableItem() (*AzureVMWorkloadSAPHanaSystemProtectableItem, bool) { return nil, false } -// AsAzureVMWorkloadSAPHanaDatabaseProtectedItem is the BasicProtectedItem implementation for AzureVMWorkloadProtectedItem. -func (avwpi AzureVMWorkloadProtectedItem) AsAzureVMWorkloadSAPHanaDatabaseProtectedItem() (*AzureVMWorkloadSAPHanaDatabaseProtectedItem, bool) { +// AsAzureVMWorkloadSQLAvailabilityGroupProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSQLDatabaseProtectableItem. +func (avwsdpi AzureVMWorkloadSQLDatabaseProtectableItem) AsAzureVMWorkloadSQLAvailabilityGroupProtectableItem() (*AzureVMWorkloadSQLAvailabilityGroupProtectableItem, bool) { return nil, false } -// AsAzureVMWorkloadSQLDatabaseProtectedItem is the BasicProtectedItem implementation for AzureVMWorkloadProtectedItem. -func (avwpi AzureVMWorkloadProtectedItem) AsAzureVMWorkloadSQLDatabaseProtectedItem() (*AzureVMWorkloadSQLDatabaseProtectedItem, bool) { - return nil, false +// AsAzureVMWorkloadSQLDatabaseProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSQLDatabaseProtectableItem. +func (avwsdpi AzureVMWorkloadSQLDatabaseProtectableItem) AsAzureVMWorkloadSQLDatabaseProtectableItem() (*AzureVMWorkloadSQLDatabaseProtectableItem, bool) { + return &avwsdpi, true } -// AsDPMProtectedItem is the BasicProtectedItem implementation for AzureVMWorkloadProtectedItem. -func (avwpi AzureVMWorkloadProtectedItem) AsDPMProtectedItem() (*DPMProtectedItem, bool) { +// AsAzureVMWorkloadSQLInstanceProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSQLDatabaseProtectableItem. +func (avwsdpi AzureVMWorkloadSQLDatabaseProtectableItem) AsAzureVMWorkloadSQLInstanceProtectableItem() (*AzureVMWorkloadSQLInstanceProtectableItem, bool) { return nil, false } -// AsGenericProtectedItem is the BasicProtectedItem implementation for AzureVMWorkloadProtectedItem. -func (avwpi AzureVMWorkloadProtectedItem) AsGenericProtectedItem() (*GenericProtectedItem, bool) { +// AsIaaSVMProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSQLDatabaseProtectableItem. +func (avwsdpi AzureVMWorkloadSQLDatabaseProtectableItem) AsIaaSVMProtectableItem() (*IaaSVMProtectableItem, bool) { return nil, false } -// AsMabFileFolderProtectedItem is the BasicProtectedItem implementation for AzureVMWorkloadProtectedItem. -func (avwpi AzureVMWorkloadProtectedItem) AsMabFileFolderProtectedItem() (*MabFileFolderProtectedItem, bool) { +// AsBasicIaaSVMProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSQLDatabaseProtectableItem. +func (avwsdpi AzureVMWorkloadSQLDatabaseProtectableItem) AsBasicIaaSVMProtectableItem() (BasicIaaSVMProtectableItem, bool) { return nil, false } -// AsProtectedItem is the BasicProtectedItem implementation for AzureVMWorkloadProtectedItem. -func (avwpi AzureVMWorkloadProtectedItem) AsProtectedItem() (*ProtectedItem, bool) { +// AsWorkloadProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSQLDatabaseProtectableItem. +func (avwsdpi AzureVMWorkloadSQLDatabaseProtectableItem) AsWorkloadProtectableItem() (*WorkloadProtectableItem, bool) { return nil, false } -// AsBasicProtectedItem is the BasicProtectedItem implementation for AzureVMWorkloadProtectedItem. -func (avwpi AzureVMWorkloadProtectedItem) AsBasicProtectedItem() (BasicProtectedItem, bool) { - return &avwpi, true +// AsBasicWorkloadProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSQLDatabaseProtectableItem. +func (avwsdpi AzureVMWorkloadSQLDatabaseProtectableItem) AsBasicWorkloadProtectableItem() (BasicWorkloadProtectableItem, bool) { + return &avwsdpi, true } -// AzureVMWorkloadProtectedItemExtendedInfo additional information on Azure Workload for SQL specific -// backup item. -type AzureVMWorkloadProtectedItemExtendedInfo struct { - // OldestRecoveryPoint - The oldest backup copy available for this backup item. - OldestRecoveryPoint *date.Time `json:"oldestRecoveryPoint,omitempty"` - // RecoveryPointCount - Number of backup copies available for this backup item. - RecoveryPointCount *int32 `json:"recoveryPointCount,omitempty"` - // PolicyState - Indicates consistency of policy object and policy applied to this backup item. - PolicyState *string `json:"policyState,omitempty"` -} - -// AzureVMWorkloadProtectionPolicy azure VM (Mercury) workload-specific backup policy. -type AzureVMWorkloadProtectionPolicy struct { - // WorkLoadType - Type of workload for the backup management. Possible values include: 'WorkloadTypeInvalid', 'WorkloadTypeVM', 'WorkloadTypeFileFolder', 'WorkloadTypeAzureSQLDb', 'WorkloadTypeSQLDB', 'WorkloadTypeExchange', 'WorkloadTypeSharepoint', 'WorkloadTypeVMwareVM', 'WorkloadTypeSystemState', 'WorkloadTypeClient', 'WorkloadTypeGenericDataSource', 'WorkloadTypeSQLDataBase', 'WorkloadTypeAzureFileShare', 'WorkloadTypeSAPHanaDatabase', 'WorkloadTypeSAPAseDatabase' - WorkLoadType WorkloadType `json:"workLoadType,omitempty"` - // Settings - Common settings for the backup management - Settings *Settings `json:"settings,omitempty"` - // SubProtectionPolicy - List of sub-protection policies which includes schedule and retention - SubProtectionPolicy *[]SubProtectionPolicy `json:"subProtectionPolicy,omitempty"` - // ProtectedItemsCount - Number of items associated with this policy. - ProtectedItemsCount *int32 `json:"protectedItemsCount,omitempty"` - // BackupManagementType - Possible values include: 'BackupManagementTypeProtectionPolicy', 'BackupManagementTypeAzureStorage', 'BackupManagementTypeAzureIaasVM', 'BackupManagementTypeAzureSQL', 'BackupManagementTypeAzureWorkload', 'BackupManagementTypeGenericProtectionPolicy', 'BackupManagementTypeMAB' - BackupManagementType ManagementTypeBasicProtectionPolicy `json:"backupManagementType,omitempty"` +// AzureVMWorkloadSQLDatabaseWorkloadItem azure VM workload-specific workload item representing SQL +// Database. +type AzureVMWorkloadSQLDatabaseWorkloadItem struct { + // ParentName - Name for instance or AG + ParentName *string `json:"parentName,omitempty"` + // ServerName - Host/Cluster Name for instance or AG + ServerName *string `json:"serverName,omitempty"` + // IsAutoProtectable - Indicates if workload item is auto-protectable + IsAutoProtectable *bool `json:"isAutoProtectable,omitempty"` + // Subinquireditemcount - For instance or AG, indicates number of DB's present + Subinquireditemcount *int32 `json:"subinquireditemcount,omitempty"` + // SubWorkloadItemCount - For instance or AG, indicates number of DB's to be protected + SubWorkloadItemCount *int32 `json:"subWorkloadItemCount,omitempty"` + // BackupManagementType - Type of backup management to backup an item. + BackupManagementType *string `json:"backupManagementType,omitempty"` + // WorkloadType - Type of workload for the backup management + WorkloadType *string `json:"workloadType,omitempty"` + // FriendlyName - Friendly name of the backup item. + FriendlyName *string `json:"friendlyName,omitempty"` + // ProtectionState - State of the back up item. Possible values include: 'ProtectionStatusInvalid', 'ProtectionStatusNotProtected', 'ProtectionStatusProtecting', 'ProtectionStatusProtected', 'ProtectionStatusProtectionFailed' + ProtectionState ProtectionStatus `json:"protectionState,omitempty"` + // WorkloadItemType - Possible values include: 'WorkloadItemTypeWorkloadItem', 'WorkloadItemTypeAzureVMWorkloadItem', 'WorkloadItemTypeSAPAseDatabase1', 'WorkloadItemTypeSAPAseSystem1', 'WorkloadItemTypeSAPHanaDatabase1', 'WorkloadItemTypeSAPHanaSystem1', 'WorkloadItemTypeSQLDataBase1', 'WorkloadItemTypeSQLInstance1' + WorkloadItemType WorkloadItemTypeBasicWorkloadItem `json:"workloadItemType,omitempty"` } -// MarshalJSON is the custom marshaler for AzureVMWorkloadProtectionPolicy. -func (avwpp AzureVMWorkloadProtectionPolicy) MarshalJSON() ([]byte, error) { - avwpp.BackupManagementType = BackupManagementTypeAzureWorkload +// MarshalJSON is the custom marshaler for AzureVMWorkloadSQLDatabaseWorkloadItem. +func (avwsdwi AzureVMWorkloadSQLDatabaseWorkloadItem) MarshalJSON() ([]byte, error) { + avwsdwi.WorkloadItemType = WorkloadItemTypeSQLDataBase1 objectMap := make(map[string]interface{}) - if avwpp.WorkLoadType != "" { - objectMap["workLoadType"] = avwpp.WorkLoadType + if avwsdwi.ParentName != nil { + objectMap["parentName"] = avwsdwi.ParentName + } + if avwsdwi.ServerName != nil { + objectMap["serverName"] = avwsdwi.ServerName + } + if avwsdwi.IsAutoProtectable != nil { + objectMap["isAutoProtectable"] = avwsdwi.IsAutoProtectable + } + if avwsdwi.Subinquireditemcount != nil { + objectMap["subinquireditemcount"] = avwsdwi.Subinquireditemcount + } + if avwsdwi.SubWorkloadItemCount != nil { + objectMap["subWorkloadItemCount"] = avwsdwi.SubWorkloadItemCount + } + if avwsdwi.BackupManagementType != nil { + objectMap["backupManagementType"] = avwsdwi.BackupManagementType } - if avwpp.Settings != nil { - objectMap["settings"] = avwpp.Settings + if avwsdwi.WorkloadType != nil { + objectMap["workloadType"] = avwsdwi.WorkloadType } - if avwpp.SubProtectionPolicy != nil { - objectMap["subProtectionPolicy"] = avwpp.SubProtectionPolicy + if avwsdwi.FriendlyName != nil { + objectMap["friendlyName"] = avwsdwi.FriendlyName } - if avwpp.ProtectedItemsCount != nil { - objectMap["protectedItemsCount"] = avwpp.ProtectedItemsCount + if avwsdwi.ProtectionState != "" { + objectMap["protectionState"] = avwsdwi.ProtectionState } - if avwpp.BackupManagementType != "" { - objectMap["backupManagementType"] = avwpp.BackupManagementType + if avwsdwi.WorkloadItemType != "" { + objectMap["workloadItemType"] = avwsdwi.WorkloadItemType } return json.Marshal(objectMap) } -// AsAzureFileShareProtectionPolicy is the BasicProtectionPolicy implementation for AzureVMWorkloadProtectionPolicy. -func (avwpp AzureVMWorkloadProtectionPolicy) AsAzureFileShareProtectionPolicy() (*AzureFileShareProtectionPolicy, bool) { +// AsAzureVMWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSQLDatabaseWorkloadItem. +func (avwsdwi AzureVMWorkloadSQLDatabaseWorkloadItem) AsAzureVMWorkloadItem() (*AzureVMWorkloadItem, bool) { return nil, false } -// AsAzureIaaSVMProtectionPolicy is the BasicProtectionPolicy implementation for AzureVMWorkloadProtectionPolicy. -func (avwpp AzureVMWorkloadProtectionPolicy) AsAzureIaaSVMProtectionPolicy() (*AzureIaaSVMProtectionPolicy, bool) { +// AsBasicAzureVMWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSQLDatabaseWorkloadItem. +func (avwsdwi AzureVMWorkloadSQLDatabaseWorkloadItem) AsBasicAzureVMWorkloadItem() (BasicAzureVMWorkloadItem, bool) { + return &avwsdwi, true +} + +// AsAzureVMWorkloadSAPAseDatabaseWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSQLDatabaseWorkloadItem. +func (avwsdwi AzureVMWorkloadSQLDatabaseWorkloadItem) AsAzureVMWorkloadSAPAseDatabaseWorkloadItem() (*AzureVMWorkloadSAPAseDatabaseWorkloadItem, bool) { return nil, false } -// AsAzureSQLProtectionPolicy is the BasicProtectionPolicy implementation for AzureVMWorkloadProtectionPolicy. -func (avwpp AzureVMWorkloadProtectionPolicy) AsAzureSQLProtectionPolicy() (*AzureSQLProtectionPolicy, bool) { +// AsAzureVMWorkloadSAPAseSystemWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSQLDatabaseWorkloadItem. +func (avwsdwi AzureVMWorkloadSQLDatabaseWorkloadItem) AsAzureVMWorkloadSAPAseSystemWorkloadItem() (*AzureVMWorkloadSAPAseSystemWorkloadItem, bool) { return nil, false } -// AsAzureVMWorkloadProtectionPolicy is the BasicProtectionPolicy implementation for AzureVMWorkloadProtectionPolicy. -func (avwpp AzureVMWorkloadProtectionPolicy) AsAzureVMWorkloadProtectionPolicy() (*AzureVMWorkloadProtectionPolicy, bool) { - return &avwpp, true +// AsAzureVMWorkloadSAPHanaDatabaseWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSQLDatabaseWorkloadItem. +func (avwsdwi AzureVMWorkloadSQLDatabaseWorkloadItem) AsAzureVMWorkloadSAPHanaDatabaseWorkloadItem() (*AzureVMWorkloadSAPHanaDatabaseWorkloadItem, bool) { + return nil, false } -// AsGenericProtectionPolicy is the BasicProtectionPolicy implementation for AzureVMWorkloadProtectionPolicy. -func (avwpp AzureVMWorkloadProtectionPolicy) AsGenericProtectionPolicy() (*GenericProtectionPolicy, bool) { +// AsAzureVMWorkloadSAPHanaSystemWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSQLDatabaseWorkloadItem. +func (avwsdwi AzureVMWorkloadSQLDatabaseWorkloadItem) AsAzureVMWorkloadSAPHanaSystemWorkloadItem() (*AzureVMWorkloadSAPHanaSystemWorkloadItem, bool) { return nil, false } -// AsMabProtectionPolicy is the BasicProtectionPolicy implementation for AzureVMWorkloadProtectionPolicy. -func (avwpp AzureVMWorkloadProtectionPolicy) AsMabProtectionPolicy() (*MabProtectionPolicy, bool) { +// AsAzureVMWorkloadSQLDatabaseWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSQLDatabaseWorkloadItem. +func (avwsdwi AzureVMWorkloadSQLDatabaseWorkloadItem) AsAzureVMWorkloadSQLDatabaseWorkloadItem() (*AzureVMWorkloadSQLDatabaseWorkloadItem, bool) { + return &avwsdwi, true +} + +// AsAzureVMWorkloadSQLInstanceWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSQLDatabaseWorkloadItem. +func (avwsdwi AzureVMWorkloadSQLDatabaseWorkloadItem) AsAzureVMWorkloadSQLInstanceWorkloadItem() (*AzureVMWorkloadSQLInstanceWorkloadItem, bool) { return nil, false } -// AsProtectionPolicy is the BasicProtectionPolicy implementation for AzureVMWorkloadProtectionPolicy. -func (avwpp AzureVMWorkloadProtectionPolicy) AsProtectionPolicy() (*ProtectionPolicy, bool) { +// AsWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSQLDatabaseWorkloadItem. +func (avwsdwi AzureVMWorkloadSQLDatabaseWorkloadItem) AsWorkloadItem() (*WorkloadItem, bool) { return nil, false } -// AsBasicProtectionPolicy is the BasicProtectionPolicy implementation for AzureVMWorkloadProtectionPolicy. -func (avwpp AzureVMWorkloadProtectionPolicy) AsBasicProtectionPolicy() (BasicProtectionPolicy, bool) { - return &avwpp, true +// AsBasicWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSQLDatabaseWorkloadItem. +func (avwsdwi AzureVMWorkloadSQLDatabaseWorkloadItem) AsBasicWorkloadItem() (BasicWorkloadItem, bool) { + return &avwsdwi, true } -// AzureVMWorkloadSAPAseDatabaseProtectableItem azure VM workload-specific protectable item representing -// SAP ASE Database. -type AzureVMWorkloadSAPAseDatabaseProtectableItem struct { +// AzureVMWorkloadSQLInstanceProtectableItem azure VM workload-specific protectable item representing SQL +// Instance. +type AzureVMWorkloadSQLInstanceProtectableItem struct { // ParentName - Name for instance or AG ParentName *string `json:"parentName,omitempty"` // ParentUniqueName - Parent Unique Name is added to provide the service formatted URI Name of the Parent @@ -5316,9 +3962,9 @@ type AzureVMWorkloadSAPAseDatabaseProtectableItem struct { IsAutoProtectable *bool `json:"isAutoProtectable,omitempty"` // IsAutoProtected - Indicates if protectable item is auto-protected IsAutoProtected *bool `json:"isAutoProtected,omitempty"` - // Subinquireditemcount - For instance or AG, indicates number of DBs present + // Subinquireditemcount - For instance or AG, indicates number of DB's present Subinquireditemcount *int32 `json:"subinquireditemcount,omitempty"` - // Subprotectableitemcount - For instance or AG, indicates number of DBs to be protected + // Subprotectableitemcount - For instance or AG, indicates number of DB's to be protected Subprotectableitemcount *int32 `json:"subprotectableitemcount,omitempty"` // Prebackupvalidation - Pre-backup validation for protectable objects Prebackupvalidation *PreBackupValidation `json:"prebackupvalidation,omitempty"` @@ -5330,7631 +3976,1106 @@ type AzureVMWorkloadSAPAseDatabaseProtectableItem struct { FriendlyName *string `json:"friendlyName,omitempty"` // ProtectionState - State of the back up item. Possible values include: 'ProtectionStatusInvalid', 'ProtectionStatusNotProtected', 'ProtectionStatusProtecting', 'ProtectionStatusProtected', 'ProtectionStatusProtectionFailed' ProtectionState ProtectionStatus `json:"protectionState,omitempty"` - // ProtectableItemType - Possible values include: 'ProtectableItemTypeWorkloadProtectableItem', 'ProtectableItemTypeAzureFileShare', 'ProtectableItemTypeMicrosoftClassicComputevirtualMachines', 'ProtectableItemTypeMicrosoftComputevirtualMachines', 'ProtectableItemTypeAzureVMWorkloadProtectableItem', 'ProtectableItemTypeSAPAseDatabase', 'ProtectableItemTypeSAPAseSystem', 'ProtectableItemTypeSAPHanaDatabase', 'ProtectableItemTypeSAPHanaSystem', 'ProtectableItemTypeSQLAvailabilityGroupContainer', 'ProtectableItemTypeSQLDataBase', 'ProtectableItemTypeSQLInstance', 'ProtectableItemTypeIaaSVMProtectableItem' + // ProtectableItemType - Possible values include: 'ProtectableItemTypeWorkloadProtectableItem', 'ProtectableItemTypeAzureFileShare', 'ProtectableItemTypeMicrosoftClassicComputevirtualMachines', 'ProtectableItemTypeMicrosoftComputevirtualMachines', 'ProtectableItemTypeAzureVMWorkloadProtectableItem', 'ProtectableItemTypeSAPAseSystem', 'ProtectableItemTypeSAPHanaDatabase', 'ProtectableItemTypeSAPHanaSystem', 'ProtectableItemTypeSQLAvailabilityGroupContainer', 'ProtectableItemTypeSQLDataBase', 'ProtectableItemTypeSQLInstance', 'ProtectableItemTypeIaaSVMProtectableItem' ProtectableItemType ProtectableItemType `json:"protectableItemType,omitempty"` } -// MarshalJSON is the custom marshaler for AzureVMWorkloadSAPAseDatabaseProtectableItem. -func (avwsadpi AzureVMWorkloadSAPAseDatabaseProtectableItem) MarshalJSON() ([]byte, error) { - avwsadpi.ProtectableItemType = ProtectableItemTypeSAPAseDatabase +// MarshalJSON is the custom marshaler for AzureVMWorkloadSQLInstanceProtectableItem. +func (avwsipi AzureVMWorkloadSQLInstanceProtectableItem) MarshalJSON() ([]byte, error) { + avwsipi.ProtectableItemType = ProtectableItemTypeSQLInstance objectMap := make(map[string]interface{}) - if avwsadpi.ParentName != nil { - objectMap["parentName"] = avwsadpi.ParentName + if avwsipi.ParentName != nil { + objectMap["parentName"] = avwsipi.ParentName } - if avwsadpi.ParentUniqueName != nil { - objectMap["parentUniqueName"] = avwsadpi.ParentUniqueName + if avwsipi.ParentUniqueName != nil { + objectMap["parentUniqueName"] = avwsipi.ParentUniqueName } - if avwsadpi.ServerName != nil { - objectMap["serverName"] = avwsadpi.ServerName + if avwsipi.ServerName != nil { + objectMap["serverName"] = avwsipi.ServerName } - if avwsadpi.IsAutoProtectable != nil { - objectMap["isAutoProtectable"] = avwsadpi.IsAutoProtectable + if avwsipi.IsAutoProtectable != nil { + objectMap["isAutoProtectable"] = avwsipi.IsAutoProtectable } - if avwsadpi.IsAutoProtected != nil { - objectMap["isAutoProtected"] = avwsadpi.IsAutoProtected + if avwsipi.IsAutoProtected != nil { + objectMap["isAutoProtected"] = avwsipi.IsAutoProtected } - if avwsadpi.Subinquireditemcount != nil { - objectMap["subinquireditemcount"] = avwsadpi.Subinquireditemcount + if avwsipi.Subinquireditemcount != nil { + objectMap["subinquireditemcount"] = avwsipi.Subinquireditemcount } - if avwsadpi.Subprotectableitemcount != nil { - objectMap["subprotectableitemcount"] = avwsadpi.Subprotectableitemcount + if avwsipi.Subprotectableitemcount != nil { + objectMap["subprotectableitemcount"] = avwsipi.Subprotectableitemcount } - if avwsadpi.Prebackupvalidation != nil { - objectMap["prebackupvalidation"] = avwsadpi.Prebackupvalidation + if avwsipi.Prebackupvalidation != nil { + objectMap["prebackupvalidation"] = avwsipi.Prebackupvalidation } - if avwsadpi.BackupManagementType != nil { - objectMap["backupManagementType"] = avwsadpi.BackupManagementType + if avwsipi.BackupManagementType != nil { + objectMap["backupManagementType"] = avwsipi.BackupManagementType } - if avwsadpi.WorkloadType != nil { - objectMap["workloadType"] = avwsadpi.WorkloadType + if avwsipi.WorkloadType != nil { + objectMap["workloadType"] = avwsipi.WorkloadType } - if avwsadpi.FriendlyName != nil { - objectMap["friendlyName"] = avwsadpi.FriendlyName + if avwsipi.FriendlyName != nil { + objectMap["friendlyName"] = avwsipi.FriendlyName } - if avwsadpi.ProtectionState != "" { - objectMap["protectionState"] = avwsadpi.ProtectionState + if avwsipi.ProtectionState != "" { + objectMap["protectionState"] = avwsipi.ProtectionState } - if avwsadpi.ProtectableItemType != "" { - objectMap["protectableItemType"] = avwsadpi.ProtectableItemType + if avwsipi.ProtectableItemType != "" { + objectMap["protectableItemType"] = avwsipi.ProtectableItemType } return json.Marshal(objectMap) } -// AsAzureFileShareProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPAseDatabaseProtectableItem. -func (avwsadpi AzureVMWorkloadSAPAseDatabaseProtectableItem) AsAzureFileShareProtectableItem() (*AzureFileShareProtectableItem, bool) { +// AsAzureFileShareProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSQLInstanceProtectableItem. +func (avwsipi AzureVMWorkloadSQLInstanceProtectableItem) AsAzureFileShareProtectableItem() (*AzureFileShareProtectableItem, bool) { return nil, false } -// AsAzureIaaSClassicComputeVMProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPAseDatabaseProtectableItem. -func (avwsadpi AzureVMWorkloadSAPAseDatabaseProtectableItem) AsAzureIaaSClassicComputeVMProtectableItem() (*AzureIaaSClassicComputeVMProtectableItem, bool) { +// AsAzureIaaSClassicComputeVMProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSQLInstanceProtectableItem. +func (avwsipi AzureVMWorkloadSQLInstanceProtectableItem) AsAzureIaaSClassicComputeVMProtectableItem() (*AzureIaaSClassicComputeVMProtectableItem, bool) { return nil, false } -// AsAzureIaaSComputeVMProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPAseDatabaseProtectableItem. -func (avwsadpi AzureVMWorkloadSAPAseDatabaseProtectableItem) AsAzureIaaSComputeVMProtectableItem() (*AzureIaaSComputeVMProtectableItem, bool) { +// AsAzureIaaSComputeVMProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSQLInstanceProtectableItem. +func (avwsipi AzureVMWorkloadSQLInstanceProtectableItem) AsAzureIaaSComputeVMProtectableItem() (*AzureIaaSComputeVMProtectableItem, bool) { return nil, false } -// AsAzureVMWorkloadProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPAseDatabaseProtectableItem. -func (avwsadpi AzureVMWorkloadSAPAseDatabaseProtectableItem) AsAzureVMWorkloadProtectableItem() (*AzureVMWorkloadProtectableItem, bool) { +// AsAzureVMWorkloadProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSQLInstanceProtectableItem. +func (avwsipi AzureVMWorkloadSQLInstanceProtectableItem) AsAzureVMWorkloadProtectableItem() (*AzureVMWorkloadProtectableItem, bool) { return nil, false } -// AsBasicAzureVMWorkloadProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPAseDatabaseProtectableItem. -func (avwsadpi AzureVMWorkloadSAPAseDatabaseProtectableItem) AsBasicAzureVMWorkloadProtectableItem() (BasicAzureVMWorkloadProtectableItem, bool) { - return &avwsadpi, true -} - -// AsAzureVMWorkloadSAPAseDatabaseProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPAseDatabaseProtectableItem. -func (avwsadpi AzureVMWorkloadSAPAseDatabaseProtectableItem) AsAzureVMWorkloadSAPAseDatabaseProtectableItem() (*AzureVMWorkloadSAPAseDatabaseProtectableItem, bool) { - return &avwsadpi, true +// AsBasicAzureVMWorkloadProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSQLInstanceProtectableItem. +func (avwsipi AzureVMWorkloadSQLInstanceProtectableItem) AsBasicAzureVMWorkloadProtectableItem() (BasicAzureVMWorkloadProtectableItem, bool) { + return &avwsipi, true } -// AsAzureVMWorkloadSAPAseSystemProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPAseDatabaseProtectableItem. -func (avwsadpi AzureVMWorkloadSAPAseDatabaseProtectableItem) AsAzureVMWorkloadSAPAseSystemProtectableItem() (*AzureVMWorkloadSAPAseSystemProtectableItem, bool) { +// AsAzureVMWorkloadSAPAseSystemProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSQLInstanceProtectableItem. +func (avwsipi AzureVMWorkloadSQLInstanceProtectableItem) AsAzureVMWorkloadSAPAseSystemProtectableItem() (*AzureVMWorkloadSAPAseSystemProtectableItem, bool) { return nil, false } -// AsAzureVMWorkloadSAPHanaDatabaseProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPAseDatabaseProtectableItem. -func (avwsadpi AzureVMWorkloadSAPAseDatabaseProtectableItem) AsAzureVMWorkloadSAPHanaDatabaseProtectableItem() (*AzureVMWorkloadSAPHanaDatabaseProtectableItem, bool) { +// AsAzureVMWorkloadSAPHanaDatabaseProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSQLInstanceProtectableItem. +func (avwsipi AzureVMWorkloadSQLInstanceProtectableItem) AsAzureVMWorkloadSAPHanaDatabaseProtectableItem() (*AzureVMWorkloadSAPHanaDatabaseProtectableItem, bool) { return nil, false } -// AsAzureVMWorkloadSAPHanaSystemProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPAseDatabaseProtectableItem. -func (avwsadpi AzureVMWorkloadSAPAseDatabaseProtectableItem) AsAzureVMWorkloadSAPHanaSystemProtectableItem() (*AzureVMWorkloadSAPHanaSystemProtectableItem, bool) { +// AsAzureVMWorkloadSAPHanaSystemProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSQLInstanceProtectableItem. +func (avwsipi AzureVMWorkloadSQLInstanceProtectableItem) AsAzureVMWorkloadSAPHanaSystemProtectableItem() (*AzureVMWorkloadSAPHanaSystemProtectableItem, bool) { return nil, false } -// AsAzureVMWorkloadSQLAvailabilityGroupProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPAseDatabaseProtectableItem. -func (avwsadpi AzureVMWorkloadSAPAseDatabaseProtectableItem) AsAzureVMWorkloadSQLAvailabilityGroupProtectableItem() (*AzureVMWorkloadSQLAvailabilityGroupProtectableItem, bool) { +// AsAzureVMWorkloadSQLAvailabilityGroupProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSQLInstanceProtectableItem. +func (avwsipi AzureVMWorkloadSQLInstanceProtectableItem) AsAzureVMWorkloadSQLAvailabilityGroupProtectableItem() (*AzureVMWorkloadSQLAvailabilityGroupProtectableItem, bool) { return nil, false } -// AsAzureVMWorkloadSQLDatabaseProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPAseDatabaseProtectableItem. -func (avwsadpi AzureVMWorkloadSAPAseDatabaseProtectableItem) AsAzureVMWorkloadSQLDatabaseProtectableItem() (*AzureVMWorkloadSQLDatabaseProtectableItem, bool) { +// AsAzureVMWorkloadSQLDatabaseProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSQLInstanceProtectableItem. +func (avwsipi AzureVMWorkloadSQLInstanceProtectableItem) AsAzureVMWorkloadSQLDatabaseProtectableItem() (*AzureVMWorkloadSQLDatabaseProtectableItem, bool) { return nil, false } -// AsAzureVMWorkloadSQLInstanceProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPAseDatabaseProtectableItem. -func (avwsadpi AzureVMWorkloadSAPAseDatabaseProtectableItem) AsAzureVMWorkloadSQLInstanceProtectableItem() (*AzureVMWorkloadSQLInstanceProtectableItem, bool) { - return nil, false +// AsAzureVMWorkloadSQLInstanceProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSQLInstanceProtectableItem. +func (avwsipi AzureVMWorkloadSQLInstanceProtectableItem) AsAzureVMWorkloadSQLInstanceProtectableItem() (*AzureVMWorkloadSQLInstanceProtectableItem, bool) { + return &avwsipi, true } -// AsIaaSVMProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPAseDatabaseProtectableItem. -func (avwsadpi AzureVMWorkloadSAPAseDatabaseProtectableItem) AsIaaSVMProtectableItem() (*IaaSVMProtectableItem, bool) { +// AsIaaSVMProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSQLInstanceProtectableItem. +func (avwsipi AzureVMWorkloadSQLInstanceProtectableItem) AsIaaSVMProtectableItem() (*IaaSVMProtectableItem, bool) { return nil, false } -// AsBasicIaaSVMProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPAseDatabaseProtectableItem. -func (avwsadpi AzureVMWorkloadSAPAseDatabaseProtectableItem) AsBasicIaaSVMProtectableItem() (BasicIaaSVMProtectableItem, bool) { +// AsBasicIaaSVMProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSQLInstanceProtectableItem. +func (avwsipi AzureVMWorkloadSQLInstanceProtectableItem) AsBasicIaaSVMProtectableItem() (BasicIaaSVMProtectableItem, bool) { return nil, false } -// AsWorkloadProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPAseDatabaseProtectableItem. -func (avwsadpi AzureVMWorkloadSAPAseDatabaseProtectableItem) AsWorkloadProtectableItem() (*WorkloadProtectableItem, bool) { +// AsWorkloadProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSQLInstanceProtectableItem. +func (avwsipi AzureVMWorkloadSQLInstanceProtectableItem) AsWorkloadProtectableItem() (*WorkloadProtectableItem, bool) { return nil, false } -// AsBasicWorkloadProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPAseDatabaseProtectableItem. -func (avwsadpi AzureVMWorkloadSAPAseDatabaseProtectableItem) AsBasicWorkloadProtectableItem() (BasicWorkloadProtectableItem, bool) { - return &avwsadpi, true +// AsBasicWorkloadProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSQLInstanceProtectableItem. +func (avwsipi AzureVMWorkloadSQLInstanceProtectableItem) AsBasicWorkloadProtectableItem() (BasicWorkloadProtectableItem, bool) { + return &avwsipi, true } -// AzureVMWorkloadSAPAseDatabaseProtectedItem azure VM workload-specific protected item representing SAP -// ASE Database. -type AzureVMWorkloadSAPAseDatabaseProtectedItem struct { - // FriendlyName - Friendly name of the DB represented by this backup item. - FriendlyName *string `json:"friendlyName,omitempty"` +// AzureVMWorkloadSQLInstanceWorkloadItem azure VM workload-specific workload item representing SQL +// Instance. +type AzureVMWorkloadSQLInstanceWorkloadItem struct { + // DataDirectoryPaths - Data Directory Paths for default directories + DataDirectoryPaths *[]SQLDataDirectory `json:"dataDirectoryPaths,omitempty"` + // ParentName - Name for instance or AG + ParentName *string `json:"parentName,omitempty"` // ServerName - Host/Cluster Name for instance or AG ServerName *string `json:"serverName,omitempty"` - // ParentName - Parent name of the DB such as Instance or Availability Group. - ParentName *string `json:"parentName,omitempty"` - // ParentType - Parent type of protected item, example: for a DB, standalone server or distributed - ParentType *string `json:"parentType,omitempty"` - // ProtectionStatus - Backup status of this backup item. - ProtectionStatus *string `json:"protectionStatus,omitempty"` - // ProtectionState - Backup state of this backup item. Possible values include: 'ProtectionStateInvalid', 'ProtectionStateIRPending', 'ProtectionStateProtected', 'ProtectionStateProtectionError', 'ProtectionStateProtectionStopped', 'ProtectionStateProtectionPaused' - ProtectionState ProtectionState `json:"protectionState,omitempty"` - // LastBackupStatus - Last backup operation status. Possible values: Healthy, Unhealthy. Possible values include: 'LastBackupStatusInvalid', 'LastBackupStatusHealthy', 'LastBackupStatusUnhealthy', 'LastBackupStatusIRPending' - LastBackupStatus LastBackupStatus `json:"lastBackupStatus,omitempty"` - // LastBackupTime - Timestamp of the last backup operation on this backup item. - LastBackupTime *date.Time `json:"lastBackupTime,omitempty"` - // LastBackupErrorDetail - Error details in last backup - LastBackupErrorDetail *ErrorDetail `json:"lastBackupErrorDetail,omitempty"` - // ProtectedItemDataSourceID - Data ID of the protected item. - ProtectedItemDataSourceID *string `json:"protectedItemDataSourceId,omitempty"` - // ProtectedItemHealthStatus - Health status of the backup item, evaluated based on last heartbeat received. Possible values include: 'ProtectedItemHealthStatusInvalid', 'ProtectedItemHealthStatusHealthy', 'ProtectedItemHealthStatusUnhealthy', 'ProtectedItemHealthStatusNotReachable', 'ProtectedItemHealthStatusIRPending' - ProtectedItemHealthStatus ProtectedItemHealthStatus `json:"protectedItemHealthStatus,omitempty"` - // ExtendedInfo - Additional information for this backup item. - ExtendedInfo *AzureVMWorkloadProtectedItemExtendedInfo `json:"extendedInfo,omitempty"` - // BackupManagementType - Type of backup management for the backed up item. Possible values include: 'ManagementTypeInvalid', 'ManagementTypeAzureIaasVM', 'ManagementTypeMAB', 'ManagementTypeDPM', 'ManagementTypeAzureBackupServer', 'ManagementTypeAzureSQL', 'ManagementTypeAzureStorage', 'ManagementTypeAzureWorkload', 'ManagementTypeDefaultBackup' - BackupManagementType ManagementType `json:"backupManagementType,omitempty"` - // WorkloadType - Type of workload this item represents. Possible values include: 'DataSourceTypeInvalid', 'DataSourceTypeVM', 'DataSourceTypeFileFolder', 'DataSourceTypeAzureSQLDb', 'DataSourceTypeSQLDB', 'DataSourceTypeExchange', 'DataSourceTypeSharepoint', 'DataSourceTypeVMwareVM', 'DataSourceTypeSystemState', 'DataSourceTypeClient', 'DataSourceTypeGenericDataSource', 'DataSourceTypeSQLDataBase', 'DataSourceTypeAzureFileShare', 'DataSourceTypeSAPHanaDatabase', 'DataSourceTypeSAPAseDatabase' - WorkloadType DataSourceType `json:"workloadType,omitempty"` - // ContainerName - Unique name of container - ContainerName *string `json:"containerName,omitempty"` - // SourceResourceID - ARM ID of the resource to be backed up. - SourceResourceID *string `json:"sourceResourceId,omitempty"` - // PolicyID - ID of the backup policy with which this item is backed up. - PolicyID *string `json:"policyId,omitempty"` - // LastRecoveryPoint - Timestamp when the last (latest) backup copy was created for this backup item. - LastRecoveryPoint *date.Time `json:"lastRecoveryPoint,omitempty"` - // BackupSetName - Name of the backup set the backup item belongs to - BackupSetName *string `json:"backupSetName,omitempty"` - // CreateMode - Create mode to indicate recovery of existing soft deleted data source or creation of new data source. Possible values include: 'CreateModeInvalid', 'CreateModeDefault', 'CreateModeRecover' - CreateMode CreateMode `json:"createMode,omitempty"` - // DeferredDeleteTimeInUTC - Time for deferred deletion in UTC - DeferredDeleteTimeInUTC *date.Time `json:"deferredDeleteTimeInUTC,omitempty"` - // IsScheduledForDeferredDelete - Flag to identify whether the DS is scheduled for deferred delete - IsScheduledForDeferredDelete *bool `json:"isScheduledForDeferredDelete,omitempty"` - // DeferredDeleteTimeRemaining - Time remaining before the DS marked for deferred delete is permanently deleted - DeferredDeleteTimeRemaining *string `json:"deferredDeleteTimeRemaining,omitempty"` - // IsDeferredDeleteScheduleUpcoming - Flag to identify whether the deferred deleted DS is to be purged soon - IsDeferredDeleteScheduleUpcoming *bool `json:"isDeferredDeleteScheduleUpcoming,omitempty"` - // IsRehydrate - Flag to identify that deferred deleted DS is to be moved into Pause state - IsRehydrate *bool `json:"isRehydrate,omitempty"` - // ProtectedItemType - Possible values include: 'ProtectedItemTypeProtectedItem', 'ProtectedItemTypeAzureFileShareProtectedItem', 'ProtectedItemTypeMicrosoftClassicComputevirtualMachines', 'ProtectedItemTypeMicrosoftComputevirtualMachines', 'ProtectedItemTypeAzureIaaSVMProtectedItem', 'ProtectedItemTypeMicrosoftSqlserversdatabases', 'ProtectedItemTypeAzureVMWorkloadProtectedItem', 'ProtectedItemTypeAzureVMWorkloadSAPAseDatabase', 'ProtectedItemTypeAzureVMWorkloadSAPHanaDatabase', 'ProtectedItemTypeAzureVMWorkloadSQLDatabase', 'ProtectedItemTypeDPMProtectedItem', 'ProtectedItemTypeGenericProtectedItem', 'ProtectedItemTypeMabFileFolderProtectedItem' - ProtectedItemType ProtectedItemType `json:"protectedItemType,omitempty"` -} - -// MarshalJSON is the custom marshaler for AzureVMWorkloadSAPAseDatabaseProtectedItem. -func (avwsadpi AzureVMWorkloadSAPAseDatabaseProtectedItem) MarshalJSON() ([]byte, error) { - avwsadpi.ProtectedItemType = ProtectedItemTypeAzureVMWorkloadSAPAseDatabase + // IsAutoProtectable - Indicates if workload item is auto-protectable + IsAutoProtectable *bool `json:"isAutoProtectable,omitempty"` + // Subinquireditemcount - For instance or AG, indicates number of DB's present + Subinquireditemcount *int32 `json:"subinquireditemcount,omitempty"` + // SubWorkloadItemCount - For instance or AG, indicates number of DB's to be protected + SubWorkloadItemCount *int32 `json:"subWorkloadItemCount,omitempty"` + // BackupManagementType - Type of backup management to backup an item. + BackupManagementType *string `json:"backupManagementType,omitempty"` + // WorkloadType - Type of workload for the backup management + WorkloadType *string `json:"workloadType,omitempty"` + // FriendlyName - Friendly name of the backup item. + FriendlyName *string `json:"friendlyName,omitempty"` + // ProtectionState - State of the back up item. Possible values include: 'ProtectionStatusInvalid', 'ProtectionStatusNotProtected', 'ProtectionStatusProtecting', 'ProtectionStatusProtected', 'ProtectionStatusProtectionFailed' + ProtectionState ProtectionStatus `json:"protectionState,omitempty"` + // WorkloadItemType - Possible values include: 'WorkloadItemTypeWorkloadItem', 'WorkloadItemTypeAzureVMWorkloadItem', 'WorkloadItemTypeSAPAseDatabase1', 'WorkloadItemTypeSAPAseSystem1', 'WorkloadItemTypeSAPHanaDatabase1', 'WorkloadItemTypeSAPHanaSystem1', 'WorkloadItemTypeSQLDataBase1', 'WorkloadItemTypeSQLInstance1' + WorkloadItemType WorkloadItemTypeBasicWorkloadItem `json:"workloadItemType,omitempty"` +} + +// MarshalJSON is the custom marshaler for AzureVMWorkloadSQLInstanceWorkloadItem. +func (avwsiwi AzureVMWorkloadSQLInstanceWorkloadItem) MarshalJSON() ([]byte, error) { + avwsiwi.WorkloadItemType = WorkloadItemTypeSQLInstance1 objectMap := make(map[string]interface{}) - if avwsadpi.FriendlyName != nil { - objectMap["friendlyName"] = avwsadpi.FriendlyName - } - if avwsadpi.ServerName != nil { - objectMap["serverName"] = avwsadpi.ServerName - } - if avwsadpi.ParentName != nil { - objectMap["parentName"] = avwsadpi.ParentName - } - if avwsadpi.ParentType != nil { - objectMap["parentType"] = avwsadpi.ParentType - } - if avwsadpi.ProtectionStatus != nil { - objectMap["protectionStatus"] = avwsadpi.ProtectionStatus - } - if avwsadpi.ProtectionState != "" { - objectMap["protectionState"] = avwsadpi.ProtectionState - } - if avwsadpi.LastBackupStatus != "" { - objectMap["lastBackupStatus"] = avwsadpi.LastBackupStatus - } - if avwsadpi.LastBackupTime != nil { - objectMap["lastBackupTime"] = avwsadpi.LastBackupTime - } - if avwsadpi.LastBackupErrorDetail != nil { - objectMap["lastBackupErrorDetail"] = avwsadpi.LastBackupErrorDetail - } - if avwsadpi.ProtectedItemDataSourceID != nil { - objectMap["protectedItemDataSourceId"] = avwsadpi.ProtectedItemDataSourceID - } - if avwsadpi.ProtectedItemHealthStatus != "" { - objectMap["protectedItemHealthStatus"] = avwsadpi.ProtectedItemHealthStatus - } - if avwsadpi.ExtendedInfo != nil { - objectMap["extendedInfo"] = avwsadpi.ExtendedInfo - } - if avwsadpi.BackupManagementType != "" { - objectMap["backupManagementType"] = avwsadpi.BackupManagementType - } - if avwsadpi.WorkloadType != "" { - objectMap["workloadType"] = avwsadpi.WorkloadType - } - if avwsadpi.ContainerName != nil { - objectMap["containerName"] = avwsadpi.ContainerName - } - if avwsadpi.SourceResourceID != nil { - objectMap["sourceResourceId"] = avwsadpi.SourceResourceID + if avwsiwi.DataDirectoryPaths != nil { + objectMap["dataDirectoryPaths"] = avwsiwi.DataDirectoryPaths } - if avwsadpi.PolicyID != nil { - objectMap["policyId"] = avwsadpi.PolicyID + if avwsiwi.ParentName != nil { + objectMap["parentName"] = avwsiwi.ParentName } - if avwsadpi.LastRecoveryPoint != nil { - objectMap["lastRecoveryPoint"] = avwsadpi.LastRecoveryPoint + if avwsiwi.ServerName != nil { + objectMap["serverName"] = avwsiwi.ServerName } - if avwsadpi.BackupSetName != nil { - objectMap["backupSetName"] = avwsadpi.BackupSetName + if avwsiwi.IsAutoProtectable != nil { + objectMap["isAutoProtectable"] = avwsiwi.IsAutoProtectable } - if avwsadpi.CreateMode != "" { - objectMap["createMode"] = avwsadpi.CreateMode + if avwsiwi.Subinquireditemcount != nil { + objectMap["subinquireditemcount"] = avwsiwi.Subinquireditemcount } - if avwsadpi.DeferredDeleteTimeInUTC != nil { - objectMap["deferredDeleteTimeInUTC"] = avwsadpi.DeferredDeleteTimeInUTC + if avwsiwi.SubWorkloadItemCount != nil { + objectMap["subWorkloadItemCount"] = avwsiwi.SubWorkloadItemCount } - if avwsadpi.IsScheduledForDeferredDelete != nil { - objectMap["isScheduledForDeferredDelete"] = avwsadpi.IsScheduledForDeferredDelete + if avwsiwi.BackupManagementType != nil { + objectMap["backupManagementType"] = avwsiwi.BackupManagementType } - if avwsadpi.DeferredDeleteTimeRemaining != nil { - objectMap["deferredDeleteTimeRemaining"] = avwsadpi.DeferredDeleteTimeRemaining + if avwsiwi.WorkloadType != nil { + objectMap["workloadType"] = avwsiwi.WorkloadType } - if avwsadpi.IsDeferredDeleteScheduleUpcoming != nil { - objectMap["isDeferredDeleteScheduleUpcoming"] = avwsadpi.IsDeferredDeleteScheduleUpcoming + if avwsiwi.FriendlyName != nil { + objectMap["friendlyName"] = avwsiwi.FriendlyName } - if avwsadpi.IsRehydrate != nil { - objectMap["isRehydrate"] = avwsadpi.IsRehydrate + if avwsiwi.ProtectionState != "" { + objectMap["protectionState"] = avwsiwi.ProtectionState } - if avwsadpi.ProtectedItemType != "" { - objectMap["protectedItemType"] = avwsadpi.ProtectedItemType + if avwsiwi.WorkloadItemType != "" { + objectMap["workloadItemType"] = avwsiwi.WorkloadItemType } return json.Marshal(objectMap) } -// AsAzureFileshareProtectedItem is the BasicProtectedItem implementation for AzureVMWorkloadSAPAseDatabaseProtectedItem. -func (avwsadpi AzureVMWorkloadSAPAseDatabaseProtectedItem) AsAzureFileshareProtectedItem() (*AzureFileshareProtectedItem, bool) { - return nil, false -} - -// AsAzureIaaSClassicComputeVMProtectedItem is the BasicProtectedItem implementation for AzureVMWorkloadSAPAseDatabaseProtectedItem. -func (avwsadpi AzureVMWorkloadSAPAseDatabaseProtectedItem) AsAzureIaaSClassicComputeVMProtectedItem() (*AzureIaaSClassicComputeVMProtectedItem, bool) { - return nil, false -} - -// AsAzureIaaSComputeVMProtectedItem is the BasicProtectedItem implementation for AzureVMWorkloadSAPAseDatabaseProtectedItem. -func (avwsadpi AzureVMWorkloadSAPAseDatabaseProtectedItem) AsAzureIaaSComputeVMProtectedItem() (*AzureIaaSComputeVMProtectedItem, bool) { - return nil, false -} - -// AsAzureIaaSVMProtectedItem is the BasicProtectedItem implementation for AzureVMWorkloadSAPAseDatabaseProtectedItem. -func (avwsadpi AzureVMWorkloadSAPAseDatabaseProtectedItem) AsAzureIaaSVMProtectedItem() (*AzureIaaSVMProtectedItem, bool) { - return nil, false -} - -// AsBasicAzureIaaSVMProtectedItem is the BasicProtectedItem implementation for AzureVMWorkloadSAPAseDatabaseProtectedItem. -func (avwsadpi AzureVMWorkloadSAPAseDatabaseProtectedItem) AsBasicAzureIaaSVMProtectedItem() (BasicAzureIaaSVMProtectedItem, bool) { +// AsAzureVMWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSQLInstanceWorkloadItem. +func (avwsiwi AzureVMWorkloadSQLInstanceWorkloadItem) AsAzureVMWorkloadItem() (*AzureVMWorkloadItem, bool) { return nil, false } -// AsAzureSQLProtectedItem is the BasicProtectedItem implementation for AzureVMWorkloadSAPAseDatabaseProtectedItem. -func (avwsadpi AzureVMWorkloadSAPAseDatabaseProtectedItem) AsAzureSQLProtectedItem() (*AzureSQLProtectedItem, bool) { - return nil, false +// AsBasicAzureVMWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSQLInstanceWorkloadItem. +func (avwsiwi AzureVMWorkloadSQLInstanceWorkloadItem) AsBasicAzureVMWorkloadItem() (BasicAzureVMWorkloadItem, bool) { + return &avwsiwi, true } -// AsAzureVMWorkloadProtectedItem is the BasicProtectedItem implementation for AzureVMWorkloadSAPAseDatabaseProtectedItem. -func (avwsadpi AzureVMWorkloadSAPAseDatabaseProtectedItem) AsAzureVMWorkloadProtectedItem() (*AzureVMWorkloadProtectedItem, bool) { +// AsAzureVMWorkloadSAPAseDatabaseWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSQLInstanceWorkloadItem. +func (avwsiwi AzureVMWorkloadSQLInstanceWorkloadItem) AsAzureVMWorkloadSAPAseDatabaseWorkloadItem() (*AzureVMWorkloadSAPAseDatabaseWorkloadItem, bool) { return nil, false } -// AsBasicAzureVMWorkloadProtectedItem is the BasicProtectedItem implementation for AzureVMWorkloadSAPAseDatabaseProtectedItem. -func (avwsadpi AzureVMWorkloadSAPAseDatabaseProtectedItem) AsBasicAzureVMWorkloadProtectedItem() (BasicAzureVMWorkloadProtectedItem, bool) { - return &avwsadpi, true -} - -// AsAzureVMWorkloadSAPAseDatabaseProtectedItem is the BasicProtectedItem implementation for AzureVMWorkloadSAPAseDatabaseProtectedItem. -func (avwsadpi AzureVMWorkloadSAPAseDatabaseProtectedItem) AsAzureVMWorkloadSAPAseDatabaseProtectedItem() (*AzureVMWorkloadSAPAseDatabaseProtectedItem, bool) { - return &avwsadpi, true -} - -// AsAzureVMWorkloadSAPHanaDatabaseProtectedItem is the BasicProtectedItem implementation for AzureVMWorkloadSAPAseDatabaseProtectedItem. -func (avwsadpi AzureVMWorkloadSAPAseDatabaseProtectedItem) AsAzureVMWorkloadSAPHanaDatabaseProtectedItem() (*AzureVMWorkloadSAPHanaDatabaseProtectedItem, bool) { +// AsAzureVMWorkloadSAPAseSystemWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSQLInstanceWorkloadItem. +func (avwsiwi AzureVMWorkloadSQLInstanceWorkloadItem) AsAzureVMWorkloadSAPAseSystemWorkloadItem() (*AzureVMWorkloadSAPAseSystemWorkloadItem, bool) { return nil, false } -// AsAzureVMWorkloadSQLDatabaseProtectedItem is the BasicProtectedItem implementation for AzureVMWorkloadSAPAseDatabaseProtectedItem. -func (avwsadpi AzureVMWorkloadSAPAseDatabaseProtectedItem) AsAzureVMWorkloadSQLDatabaseProtectedItem() (*AzureVMWorkloadSQLDatabaseProtectedItem, bool) { +// AsAzureVMWorkloadSAPHanaDatabaseWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSQLInstanceWorkloadItem. +func (avwsiwi AzureVMWorkloadSQLInstanceWorkloadItem) AsAzureVMWorkloadSAPHanaDatabaseWorkloadItem() (*AzureVMWorkloadSAPHanaDatabaseWorkloadItem, bool) { return nil, false } -// AsDPMProtectedItem is the BasicProtectedItem implementation for AzureVMWorkloadSAPAseDatabaseProtectedItem. -func (avwsadpi AzureVMWorkloadSAPAseDatabaseProtectedItem) AsDPMProtectedItem() (*DPMProtectedItem, bool) { +// AsAzureVMWorkloadSAPHanaSystemWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSQLInstanceWorkloadItem. +func (avwsiwi AzureVMWorkloadSQLInstanceWorkloadItem) AsAzureVMWorkloadSAPHanaSystemWorkloadItem() (*AzureVMWorkloadSAPHanaSystemWorkloadItem, bool) { return nil, false } -// AsGenericProtectedItem is the BasicProtectedItem implementation for AzureVMWorkloadSAPAseDatabaseProtectedItem. -func (avwsadpi AzureVMWorkloadSAPAseDatabaseProtectedItem) AsGenericProtectedItem() (*GenericProtectedItem, bool) { +// AsAzureVMWorkloadSQLDatabaseWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSQLInstanceWorkloadItem. +func (avwsiwi AzureVMWorkloadSQLInstanceWorkloadItem) AsAzureVMWorkloadSQLDatabaseWorkloadItem() (*AzureVMWorkloadSQLDatabaseWorkloadItem, bool) { return nil, false } -// AsMabFileFolderProtectedItem is the BasicProtectedItem implementation for AzureVMWorkloadSAPAseDatabaseProtectedItem. -func (avwsadpi AzureVMWorkloadSAPAseDatabaseProtectedItem) AsMabFileFolderProtectedItem() (*MabFileFolderProtectedItem, bool) { - return nil, false +// AsAzureVMWorkloadSQLInstanceWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSQLInstanceWorkloadItem. +func (avwsiwi AzureVMWorkloadSQLInstanceWorkloadItem) AsAzureVMWorkloadSQLInstanceWorkloadItem() (*AzureVMWorkloadSQLInstanceWorkloadItem, bool) { + return &avwsiwi, true } -// AsProtectedItem is the BasicProtectedItem implementation for AzureVMWorkloadSAPAseDatabaseProtectedItem. -func (avwsadpi AzureVMWorkloadSAPAseDatabaseProtectedItem) AsProtectedItem() (*ProtectedItem, bool) { +// AsWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSQLInstanceWorkloadItem. +func (avwsiwi AzureVMWorkloadSQLInstanceWorkloadItem) AsWorkloadItem() (*WorkloadItem, bool) { return nil, false } -// AsBasicProtectedItem is the BasicProtectedItem implementation for AzureVMWorkloadSAPAseDatabaseProtectedItem. -func (avwsadpi AzureVMWorkloadSAPAseDatabaseProtectedItem) AsBasicProtectedItem() (BasicProtectedItem, bool) { - return &avwsadpi, true +// AsBasicWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSQLInstanceWorkloadItem. +func (avwsiwi AzureVMWorkloadSQLInstanceWorkloadItem) AsBasicWorkloadItem() (BasicWorkloadItem, bool) { + return &avwsiwi, true } -// AzureVMWorkloadSAPAseDatabaseWorkloadItem azure VM workload-specific workload item representing SAP ASE -// Database. -type AzureVMWorkloadSAPAseDatabaseWorkloadItem struct { - // ParentName - Name for instance or AG - ParentName *string `json:"parentName,omitempty"` - // ServerName - Host/Cluster Name for instance or AG - ServerName *string `json:"serverName,omitempty"` - // IsAutoProtectable - Indicates if workload item is auto-protectable - IsAutoProtectable *bool `json:"isAutoProtectable,omitempty"` - // Subinquireditemcount - For instance or AG, indicates number of DBs present - Subinquireditemcount *int32 `json:"subinquireditemcount,omitempty"` - // SubWorkloadItemCount - For instance or AG, indicates number of DBs to be protected - SubWorkloadItemCount *int32 `json:"subWorkloadItemCount,omitempty"` - // BackupManagementType - Type of backup management to backup an item. - BackupManagementType *string `json:"backupManagementType,omitempty"` - // WorkloadType - Type of workload for the backup management - WorkloadType *string `json:"workloadType,omitempty"` - // FriendlyName - Friendly name of the backup item. - FriendlyName *string `json:"friendlyName,omitempty"` - // ProtectionState - State of the back up item. Possible values include: 'ProtectionStatusInvalid', 'ProtectionStatusNotProtected', 'ProtectionStatusProtecting', 'ProtectionStatusProtected', 'ProtectionStatusProtectionFailed' - ProtectionState ProtectionStatus `json:"protectionState,omitempty"` - // WorkloadItemType - Possible values include: 'WorkloadItemTypeWorkloadItem', 'WorkloadItemTypeAzureVMWorkloadItem', 'WorkloadItemTypeSAPAseDatabase1', 'WorkloadItemTypeSAPAseSystem1', 'WorkloadItemTypeSAPHanaDatabase1', 'WorkloadItemTypeSAPHanaSystem1', 'WorkloadItemTypeSQLDataBase1', 'WorkloadItemTypeSQLInstance1' - WorkloadItemType WorkloadItemTypeBasicWorkloadItem `json:"workloadItemType,omitempty"` +// AzureWorkloadBackupRequest azureWorkload workload-specific backup request. +type AzureWorkloadBackupRequest struct { + // BackupType - Type of backup, viz. Full, Differential, Log or CopyOnlyFull. Possible values include: 'TypeInvalid', 'TypeFull', 'TypeDifferential', 'TypeLog', 'TypeCopyOnlyFull' + BackupType Type `json:"backupType,omitempty"` + // EnableCompression - Bool for Compression setting + EnableCompression *bool `json:"enableCompression,omitempty"` + // RecoveryPointExpiryTimeInUTC - Backup copy will expire after the time specified (UTC). + RecoveryPointExpiryTimeInUTC *date.Time `json:"recoveryPointExpiryTimeInUTC,omitempty"` + // ObjectType - Possible values include: 'ObjectTypeBackupRequest', 'ObjectTypeAzureFileShareBackupRequest', 'ObjectTypeAzureWorkloadBackupRequest', 'ObjectTypeIaasVMBackupRequest' + ObjectType ObjectType `json:"objectType,omitempty"` } -// MarshalJSON is the custom marshaler for AzureVMWorkloadSAPAseDatabaseWorkloadItem. -func (avwsadwi AzureVMWorkloadSAPAseDatabaseWorkloadItem) MarshalJSON() ([]byte, error) { - avwsadwi.WorkloadItemType = WorkloadItemTypeSAPAseDatabase1 +// MarshalJSON is the custom marshaler for AzureWorkloadBackupRequest. +func (awbr AzureWorkloadBackupRequest) MarshalJSON() ([]byte, error) { + awbr.ObjectType = ObjectTypeAzureWorkloadBackupRequest objectMap := make(map[string]interface{}) - if avwsadwi.ParentName != nil { - objectMap["parentName"] = avwsadwi.ParentName - } - if avwsadwi.ServerName != nil { - objectMap["serverName"] = avwsadwi.ServerName - } - if avwsadwi.IsAutoProtectable != nil { - objectMap["isAutoProtectable"] = avwsadwi.IsAutoProtectable - } - if avwsadwi.Subinquireditemcount != nil { - objectMap["subinquireditemcount"] = avwsadwi.Subinquireditemcount - } - if avwsadwi.SubWorkloadItemCount != nil { - objectMap["subWorkloadItemCount"] = avwsadwi.SubWorkloadItemCount - } - if avwsadwi.BackupManagementType != nil { - objectMap["backupManagementType"] = avwsadwi.BackupManagementType - } - if avwsadwi.WorkloadType != nil { - objectMap["workloadType"] = avwsadwi.WorkloadType + if awbr.BackupType != "" { + objectMap["backupType"] = awbr.BackupType } - if avwsadwi.FriendlyName != nil { - objectMap["friendlyName"] = avwsadwi.FriendlyName + if awbr.EnableCompression != nil { + objectMap["enableCompression"] = awbr.EnableCompression } - if avwsadwi.ProtectionState != "" { - objectMap["protectionState"] = avwsadwi.ProtectionState + if awbr.RecoveryPointExpiryTimeInUTC != nil { + objectMap["recoveryPointExpiryTimeInUTC"] = awbr.RecoveryPointExpiryTimeInUTC } - if avwsadwi.WorkloadItemType != "" { - objectMap["workloadItemType"] = avwsadwi.WorkloadItemType + if awbr.ObjectType != "" { + objectMap["objectType"] = awbr.ObjectType } return json.Marshal(objectMap) } -// AsAzureVMWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSAPAseDatabaseWorkloadItem. -func (avwsadwi AzureVMWorkloadSAPAseDatabaseWorkloadItem) AsAzureVMWorkloadItem() (*AzureVMWorkloadItem, bool) { +// AsAzureFileShareBackupRequest is the BasicRequest implementation for AzureWorkloadBackupRequest. +func (awbr AzureWorkloadBackupRequest) AsAzureFileShareBackupRequest() (*AzureFileShareBackupRequest, bool) { return nil, false } -// AsBasicAzureVMWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSAPAseDatabaseWorkloadItem. -func (avwsadwi AzureVMWorkloadSAPAseDatabaseWorkloadItem) AsBasicAzureVMWorkloadItem() (BasicAzureVMWorkloadItem, bool) { - return &avwsadwi, true -} - -// AsAzureVMWorkloadSAPAseDatabaseWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSAPAseDatabaseWorkloadItem. -func (avwsadwi AzureVMWorkloadSAPAseDatabaseWorkloadItem) AsAzureVMWorkloadSAPAseDatabaseWorkloadItem() (*AzureVMWorkloadSAPAseDatabaseWorkloadItem, bool) { - return &avwsadwi, true +// AsAzureWorkloadBackupRequest is the BasicRequest implementation for AzureWorkloadBackupRequest. +func (awbr AzureWorkloadBackupRequest) AsAzureWorkloadBackupRequest() (*AzureWorkloadBackupRequest, bool) { + return &awbr, true } -// AsAzureVMWorkloadSAPAseSystemWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSAPAseDatabaseWorkloadItem. -func (avwsadwi AzureVMWorkloadSAPAseDatabaseWorkloadItem) AsAzureVMWorkloadSAPAseSystemWorkloadItem() (*AzureVMWorkloadSAPAseSystemWorkloadItem, bool) { +// AsIaasVMBackupRequest is the BasicRequest implementation for AzureWorkloadBackupRequest. +func (awbr AzureWorkloadBackupRequest) AsIaasVMBackupRequest() (*IaasVMBackupRequest, bool) { return nil, false } -// AsAzureVMWorkloadSAPHanaDatabaseWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSAPAseDatabaseWorkloadItem. -func (avwsadwi AzureVMWorkloadSAPAseDatabaseWorkloadItem) AsAzureVMWorkloadSAPHanaDatabaseWorkloadItem() (*AzureVMWorkloadSAPHanaDatabaseWorkloadItem, bool) { +// AsRequest is the BasicRequest implementation for AzureWorkloadBackupRequest. +func (awbr AzureWorkloadBackupRequest) AsRequest() (*Request, bool) { return nil, false } -// AsAzureVMWorkloadSAPHanaSystemWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSAPAseDatabaseWorkloadItem. -func (avwsadwi AzureVMWorkloadSAPAseDatabaseWorkloadItem) AsAzureVMWorkloadSAPHanaSystemWorkloadItem() (*AzureVMWorkloadSAPHanaSystemWorkloadItem, bool) { - return nil, false +// AsBasicRequest is the BasicRequest implementation for AzureWorkloadBackupRequest. +func (awbr AzureWorkloadBackupRequest) AsBasicRequest() (BasicRequest, bool) { + return &awbr, true } -// AsAzureVMWorkloadSQLDatabaseWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSAPAseDatabaseWorkloadItem. -func (avwsadwi AzureVMWorkloadSAPAseDatabaseWorkloadItem) AsAzureVMWorkloadSQLDatabaseWorkloadItem() (*AzureVMWorkloadSQLDatabaseWorkloadItem, bool) { - return nil, false -} - -// AsAzureVMWorkloadSQLInstanceWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSAPAseDatabaseWorkloadItem. -func (avwsadwi AzureVMWorkloadSAPAseDatabaseWorkloadItem) AsAzureVMWorkloadSQLInstanceWorkloadItem() (*AzureVMWorkloadSQLInstanceWorkloadItem, bool) { - return nil, false +// BasicAzureWorkloadContainer container for the workloads running inside Azure Compute or Classic Compute. +type BasicAzureWorkloadContainer interface { + AsAzureSQLAGWorkloadContainerProtectionContainer() (*AzureSQLAGWorkloadContainerProtectionContainer, bool) + AsAzureVMAppContainerProtectionContainer() (*AzureVMAppContainerProtectionContainer, bool) + AsAzureWorkloadContainer() (*AzureWorkloadContainer, bool) } -// AsWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSAPAseDatabaseWorkloadItem. -func (avwsadwi AzureVMWorkloadSAPAseDatabaseWorkloadItem) AsWorkloadItem() (*WorkloadItem, bool) { - return nil, false +// AzureWorkloadContainer container for the workloads running inside Azure Compute or Classic Compute. +type AzureWorkloadContainer struct { + // SourceResourceID - ARM ID of the virtual machine represented by this Azure Workload Container + SourceResourceID *string `json:"sourceResourceId,omitempty"` + // LastUpdatedTime - Time stamp when this container was updated. + LastUpdatedTime *date.Time `json:"lastUpdatedTime,omitempty"` + // ExtendedInfo - Additional details of a workload container. + ExtendedInfo *AzureWorkloadContainerExtendedInfo `json:"extendedInfo,omitempty"` + // WorkloadType - Workload type for which registration was sent. Possible values include: 'WorkloadTypeInvalid', 'WorkloadTypeVM', 'WorkloadTypeFileFolder', 'WorkloadTypeAzureSQLDb', 'WorkloadTypeSQLDB', 'WorkloadTypeExchange', 'WorkloadTypeSharepoint', 'WorkloadTypeVMwareVM', 'WorkloadTypeSystemState', 'WorkloadTypeClient', 'WorkloadTypeGenericDataSource', 'WorkloadTypeSQLDataBase', 'WorkloadTypeAzureFileShare', 'WorkloadTypeSAPHanaDatabase', 'WorkloadTypeSAPAseDatabase' + WorkloadType WorkloadType `json:"workloadType,omitempty"` + // OperationType - Re-Do Operation. Possible values include: 'OperationTypeInvalid', 'OperationTypeRegister', 'OperationTypeReregister' + OperationType OperationType `json:"operationType,omitempty"` + // FriendlyName - Friendly name of the container. + FriendlyName *string `json:"friendlyName,omitempty"` + // BackupManagementType - Type of backup management for the container. Possible values include: 'ManagementTypeInvalid', 'ManagementTypeAzureIaasVM', 'ManagementTypeMAB', 'ManagementTypeDPM', 'ManagementTypeAzureBackupServer', 'ManagementTypeAzureSQL', 'ManagementTypeAzureStorage', 'ManagementTypeAzureWorkload', 'ManagementTypeDefaultBackup' + BackupManagementType ManagementType `json:"backupManagementType,omitempty"` + // RegistrationStatus - Status of registration of the container with the Recovery Services Vault. + RegistrationStatus *string `json:"registrationStatus,omitempty"` + // HealthStatus - Status of health of the container. + HealthStatus *string `json:"healthStatus,omitempty"` + // ContainerType - Possible values include: 'ContainerTypeProtectionContainer', 'ContainerTypeAzureBackupServerContainer1', 'ContainerTypeMicrosoftClassicComputevirtualMachines', 'ContainerTypeMicrosoftComputevirtualMachines', 'ContainerTypeSQLAGWorkLoadContainer1', 'ContainerTypeAzureSQLContainer1', 'ContainerTypeStorageContainer1', 'ContainerTypeVMAppContainer1', 'ContainerTypeAzureWorkloadContainer', 'ContainerTypeDPMContainer1', 'ContainerTypeGenericContainer1', 'ContainerTypeIaaSVMContainer', 'ContainerTypeWindows1' + ContainerType ContainerTypeBasicProtectionContainer `json:"containerType,omitempty"` } -// AsBasicWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSAPAseDatabaseWorkloadItem. -func (avwsadwi AzureVMWorkloadSAPAseDatabaseWorkloadItem) AsBasicWorkloadItem() (BasicWorkloadItem, bool) { - return &avwsadwi, true +func unmarshalBasicAzureWorkloadContainer(body []byte) (BasicAzureWorkloadContainer, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["containerType"] { + case string(ContainerTypeSQLAGWorkLoadContainer1): + var aswcpc AzureSQLAGWorkloadContainerProtectionContainer + err := json.Unmarshal(body, &aswcpc) + return aswcpc, err + case string(ContainerTypeVMAppContainer1): + var avacpc AzureVMAppContainerProtectionContainer + err := json.Unmarshal(body, &avacpc) + return avacpc, err + default: + var awc AzureWorkloadContainer + err := json.Unmarshal(body, &awc) + return awc, err + } } +func unmarshalBasicAzureWorkloadContainerArray(body []byte) ([]BasicAzureWorkloadContainer, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } -// AzureVMWorkloadSAPAseSystemProtectableItem azure VM workload-specific protectable item representing SAP -// ASE System. -type AzureVMWorkloadSAPAseSystemProtectableItem struct { - // ParentName - Name for instance or AG - ParentName *string `json:"parentName,omitempty"` - // ParentUniqueName - Parent Unique Name is added to provide the service formatted URI Name of the Parent - // Only Applicable for data bases where the parent would be either Instance or a SQL AG. - ParentUniqueName *string `json:"parentUniqueName,omitempty"` - // ServerName - Host/Cluster Name for instance or AG - ServerName *string `json:"serverName,omitempty"` - // IsAutoProtectable - Indicates if protectable item is auto-protectable - IsAutoProtectable *bool `json:"isAutoProtectable,omitempty"` - // IsAutoProtected - Indicates if protectable item is auto-protected - IsAutoProtected *bool `json:"isAutoProtected,omitempty"` - // Subinquireditemcount - For instance or AG, indicates number of DBs present - Subinquireditemcount *int32 `json:"subinquireditemcount,omitempty"` - // Subprotectableitemcount - For instance or AG, indicates number of DBs to be protected - Subprotectableitemcount *int32 `json:"subprotectableitemcount,omitempty"` - // Prebackupvalidation - Pre-backup validation for protectable objects - Prebackupvalidation *PreBackupValidation `json:"prebackupvalidation,omitempty"` - // BackupManagementType - Type of backup management to backup an item. - BackupManagementType *string `json:"backupManagementType,omitempty"` - // WorkloadType - Type of workload for the backup management - WorkloadType *string `json:"workloadType,omitempty"` - // FriendlyName - Friendly name of the backup item. - FriendlyName *string `json:"friendlyName,omitempty"` - // ProtectionState - State of the back up item. Possible values include: 'ProtectionStatusInvalid', 'ProtectionStatusNotProtected', 'ProtectionStatusProtecting', 'ProtectionStatusProtected', 'ProtectionStatusProtectionFailed' - ProtectionState ProtectionStatus `json:"protectionState,omitempty"` - // ProtectableItemType - Possible values include: 'ProtectableItemTypeWorkloadProtectableItem', 'ProtectableItemTypeAzureFileShare', 'ProtectableItemTypeMicrosoftClassicComputevirtualMachines', 'ProtectableItemTypeMicrosoftComputevirtualMachines', 'ProtectableItemTypeAzureVMWorkloadProtectableItem', 'ProtectableItemTypeSAPAseDatabase', 'ProtectableItemTypeSAPAseSystem', 'ProtectableItemTypeSAPHanaDatabase', 'ProtectableItemTypeSAPHanaSystem', 'ProtectableItemTypeSQLAvailabilityGroupContainer', 'ProtectableItemTypeSQLDataBase', 'ProtectableItemTypeSQLInstance', 'ProtectableItemTypeIaaSVMProtectableItem' - ProtectableItemType ProtectableItemType `json:"protectableItemType,omitempty"` + awcArray := make([]BasicAzureWorkloadContainer, len(rawMessages)) + + for index, rawMessage := range rawMessages { + awc, err := unmarshalBasicAzureWorkloadContainer(*rawMessage) + if err != nil { + return nil, err + } + awcArray[index] = awc + } + return awcArray, nil } -// MarshalJSON is the custom marshaler for AzureVMWorkloadSAPAseSystemProtectableItem. -func (avwsaspi AzureVMWorkloadSAPAseSystemProtectableItem) MarshalJSON() ([]byte, error) { - avwsaspi.ProtectableItemType = ProtectableItemTypeSAPAseSystem +// MarshalJSON is the custom marshaler for AzureWorkloadContainer. +func (awc AzureWorkloadContainer) MarshalJSON() ([]byte, error) { + awc.ContainerType = ContainerTypeAzureWorkloadContainer objectMap := make(map[string]interface{}) - if avwsaspi.ParentName != nil { - objectMap["parentName"] = avwsaspi.ParentName - } - if avwsaspi.ParentUniqueName != nil { - objectMap["parentUniqueName"] = avwsaspi.ParentUniqueName - } - if avwsaspi.ServerName != nil { - objectMap["serverName"] = avwsaspi.ServerName - } - if avwsaspi.IsAutoProtectable != nil { - objectMap["isAutoProtectable"] = avwsaspi.IsAutoProtectable + if awc.SourceResourceID != nil { + objectMap["sourceResourceId"] = awc.SourceResourceID } - if avwsaspi.IsAutoProtected != nil { - objectMap["isAutoProtected"] = avwsaspi.IsAutoProtected + if awc.LastUpdatedTime != nil { + objectMap["lastUpdatedTime"] = awc.LastUpdatedTime } - if avwsaspi.Subinquireditemcount != nil { - objectMap["subinquireditemcount"] = avwsaspi.Subinquireditemcount + if awc.ExtendedInfo != nil { + objectMap["extendedInfo"] = awc.ExtendedInfo } - if avwsaspi.Subprotectableitemcount != nil { - objectMap["subprotectableitemcount"] = avwsaspi.Subprotectableitemcount + if awc.WorkloadType != "" { + objectMap["workloadType"] = awc.WorkloadType } - if avwsaspi.Prebackupvalidation != nil { - objectMap["prebackupvalidation"] = avwsaspi.Prebackupvalidation + if awc.OperationType != "" { + objectMap["operationType"] = awc.OperationType } - if avwsaspi.BackupManagementType != nil { - objectMap["backupManagementType"] = avwsaspi.BackupManagementType + if awc.FriendlyName != nil { + objectMap["friendlyName"] = awc.FriendlyName } - if avwsaspi.WorkloadType != nil { - objectMap["workloadType"] = avwsaspi.WorkloadType + if awc.BackupManagementType != "" { + objectMap["backupManagementType"] = awc.BackupManagementType } - if avwsaspi.FriendlyName != nil { - objectMap["friendlyName"] = avwsaspi.FriendlyName + if awc.RegistrationStatus != nil { + objectMap["registrationStatus"] = awc.RegistrationStatus } - if avwsaspi.ProtectionState != "" { - objectMap["protectionState"] = avwsaspi.ProtectionState + if awc.HealthStatus != nil { + objectMap["healthStatus"] = awc.HealthStatus } - if avwsaspi.ProtectableItemType != "" { - objectMap["protectableItemType"] = avwsaspi.ProtectableItemType + if awc.ContainerType != "" { + objectMap["containerType"] = awc.ContainerType } return json.Marshal(objectMap) } -// AsAzureFileShareProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPAseSystemProtectableItem. -func (avwsaspi AzureVMWorkloadSAPAseSystemProtectableItem) AsAzureFileShareProtectableItem() (*AzureFileShareProtectableItem, bool) { +// AsAzureBackupServerContainer is the BasicProtectionContainer implementation for AzureWorkloadContainer. +func (awc AzureWorkloadContainer) AsAzureBackupServerContainer() (*AzureBackupServerContainer, bool) { return nil, false } -// AsAzureIaaSClassicComputeVMProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPAseSystemProtectableItem. -func (avwsaspi AzureVMWorkloadSAPAseSystemProtectableItem) AsAzureIaaSClassicComputeVMProtectableItem() (*AzureIaaSClassicComputeVMProtectableItem, bool) { +// AsAzureIaaSClassicComputeVMContainer is the BasicProtectionContainer implementation for AzureWorkloadContainer. +func (awc AzureWorkloadContainer) AsAzureIaaSClassicComputeVMContainer() (*AzureIaaSClassicComputeVMContainer, bool) { return nil, false } -// AsAzureIaaSComputeVMProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPAseSystemProtectableItem. -func (avwsaspi AzureVMWorkloadSAPAseSystemProtectableItem) AsAzureIaaSComputeVMProtectableItem() (*AzureIaaSComputeVMProtectableItem, bool) { +// AsAzureIaaSComputeVMContainer is the BasicProtectionContainer implementation for AzureWorkloadContainer. +func (awc AzureWorkloadContainer) AsAzureIaaSComputeVMContainer() (*AzureIaaSComputeVMContainer, bool) { return nil, false } -// AsAzureVMWorkloadProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPAseSystemProtectableItem. -func (avwsaspi AzureVMWorkloadSAPAseSystemProtectableItem) AsAzureVMWorkloadProtectableItem() (*AzureVMWorkloadProtectableItem, bool) { +// AsAzureSQLAGWorkloadContainerProtectionContainer is the BasicProtectionContainer implementation for AzureWorkloadContainer. +func (awc AzureWorkloadContainer) AsAzureSQLAGWorkloadContainerProtectionContainer() (*AzureSQLAGWorkloadContainerProtectionContainer, bool) { return nil, false } -// AsBasicAzureVMWorkloadProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPAseSystemProtectableItem. -func (avwsaspi AzureVMWorkloadSAPAseSystemProtectableItem) AsBasicAzureVMWorkloadProtectableItem() (BasicAzureVMWorkloadProtectableItem, bool) { - return &avwsaspi, true +// AsAzureSQLContainer is the BasicProtectionContainer implementation for AzureWorkloadContainer. +func (awc AzureWorkloadContainer) AsAzureSQLContainer() (*AzureSQLContainer, bool) { + return nil, false } -// AsAzureVMWorkloadSAPAseDatabaseProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPAseSystemProtectableItem. -func (avwsaspi AzureVMWorkloadSAPAseSystemProtectableItem) AsAzureVMWorkloadSAPAseDatabaseProtectableItem() (*AzureVMWorkloadSAPAseDatabaseProtectableItem, bool) { +// AsAzureStorageContainer is the BasicProtectionContainer implementation for AzureWorkloadContainer. +func (awc AzureWorkloadContainer) AsAzureStorageContainer() (*AzureStorageContainer, bool) { return nil, false } -// AsAzureVMWorkloadSAPAseSystemProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPAseSystemProtectableItem. -func (avwsaspi AzureVMWorkloadSAPAseSystemProtectableItem) AsAzureVMWorkloadSAPAseSystemProtectableItem() (*AzureVMWorkloadSAPAseSystemProtectableItem, bool) { - return &avwsaspi, true +// AsAzureVMAppContainerProtectionContainer is the BasicProtectionContainer implementation for AzureWorkloadContainer. +func (awc AzureWorkloadContainer) AsAzureVMAppContainerProtectionContainer() (*AzureVMAppContainerProtectionContainer, bool) { + return nil, false } -// AsAzureVMWorkloadSAPHanaDatabaseProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPAseSystemProtectableItem. -func (avwsaspi AzureVMWorkloadSAPAseSystemProtectableItem) AsAzureVMWorkloadSAPHanaDatabaseProtectableItem() (*AzureVMWorkloadSAPHanaDatabaseProtectableItem, bool) { - return nil, false +// AsAzureWorkloadContainer is the BasicProtectionContainer implementation for AzureWorkloadContainer. +func (awc AzureWorkloadContainer) AsAzureWorkloadContainer() (*AzureWorkloadContainer, bool) { + return &awc, true } -// AsAzureVMWorkloadSAPHanaSystemProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPAseSystemProtectableItem. -func (avwsaspi AzureVMWorkloadSAPAseSystemProtectableItem) AsAzureVMWorkloadSAPHanaSystemProtectableItem() (*AzureVMWorkloadSAPHanaSystemProtectableItem, bool) { - return nil, false +// AsBasicAzureWorkloadContainer is the BasicProtectionContainer implementation for AzureWorkloadContainer. +func (awc AzureWorkloadContainer) AsBasicAzureWorkloadContainer() (BasicAzureWorkloadContainer, bool) { + return &awc, true } -// AsAzureVMWorkloadSQLAvailabilityGroupProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPAseSystemProtectableItem. -func (avwsaspi AzureVMWorkloadSAPAseSystemProtectableItem) AsAzureVMWorkloadSQLAvailabilityGroupProtectableItem() (*AzureVMWorkloadSQLAvailabilityGroupProtectableItem, bool) { +// AsDpmContainer is the BasicProtectionContainer implementation for AzureWorkloadContainer. +func (awc AzureWorkloadContainer) AsDpmContainer() (*DpmContainer, bool) { return nil, false } -// AsAzureVMWorkloadSQLDatabaseProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPAseSystemProtectableItem. -func (avwsaspi AzureVMWorkloadSAPAseSystemProtectableItem) AsAzureVMWorkloadSQLDatabaseProtectableItem() (*AzureVMWorkloadSQLDatabaseProtectableItem, bool) { +// AsBasicDpmContainer is the BasicProtectionContainer implementation for AzureWorkloadContainer. +func (awc AzureWorkloadContainer) AsBasicDpmContainer() (BasicDpmContainer, bool) { return nil, false } -// AsAzureVMWorkloadSQLInstanceProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPAseSystemProtectableItem. -func (avwsaspi AzureVMWorkloadSAPAseSystemProtectableItem) AsAzureVMWorkloadSQLInstanceProtectableItem() (*AzureVMWorkloadSQLInstanceProtectableItem, bool) { +// AsGenericContainer is the BasicProtectionContainer implementation for AzureWorkloadContainer. +func (awc AzureWorkloadContainer) AsGenericContainer() (*GenericContainer, bool) { return nil, false } -// AsIaaSVMProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPAseSystemProtectableItem. -func (avwsaspi AzureVMWorkloadSAPAseSystemProtectableItem) AsIaaSVMProtectableItem() (*IaaSVMProtectableItem, bool) { +// AsIaaSVMContainer is the BasicProtectionContainer implementation for AzureWorkloadContainer. +func (awc AzureWorkloadContainer) AsIaaSVMContainer() (*IaaSVMContainer, bool) { return nil, false } -// AsBasicIaaSVMProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPAseSystemProtectableItem. -func (avwsaspi AzureVMWorkloadSAPAseSystemProtectableItem) AsBasicIaaSVMProtectableItem() (BasicIaaSVMProtectableItem, bool) { +// AsBasicIaaSVMContainer is the BasicProtectionContainer implementation for AzureWorkloadContainer. +func (awc AzureWorkloadContainer) AsBasicIaaSVMContainer() (BasicIaaSVMContainer, bool) { return nil, false } -// AsWorkloadProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPAseSystemProtectableItem. -func (avwsaspi AzureVMWorkloadSAPAseSystemProtectableItem) AsWorkloadProtectableItem() (*WorkloadProtectableItem, bool) { +// AsMabContainer is the BasicProtectionContainer implementation for AzureWorkloadContainer. +func (awc AzureWorkloadContainer) AsMabContainer() (*MabContainer, bool) { return nil, false } -// AsBasicWorkloadProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPAseSystemProtectableItem. -func (avwsaspi AzureVMWorkloadSAPAseSystemProtectableItem) AsBasicWorkloadProtectableItem() (BasicWorkloadProtectableItem, bool) { - return &avwsaspi, true +// AsProtectionContainer is the BasicProtectionContainer implementation for AzureWorkloadContainer. +func (awc AzureWorkloadContainer) AsProtectionContainer() (*ProtectionContainer, bool) { + return nil, false } -// AzureVMWorkloadSAPAseSystemWorkloadItem azure VM workload-specific workload item representing SAP ASE -// System. -type AzureVMWorkloadSAPAseSystemWorkloadItem struct { - // ParentName - Name for instance or AG - ParentName *string `json:"parentName,omitempty"` - // ServerName - Host/Cluster Name for instance or AG - ServerName *string `json:"serverName,omitempty"` - // IsAutoProtectable - Indicates if workload item is auto-protectable - IsAutoProtectable *bool `json:"isAutoProtectable,omitempty"` - // Subinquireditemcount - For instance or AG, indicates number of DBs present - Subinquireditemcount *int32 `json:"subinquireditemcount,omitempty"` - // SubWorkloadItemCount - For instance or AG, indicates number of DBs to be protected - SubWorkloadItemCount *int32 `json:"subWorkloadItemCount,omitempty"` - // BackupManagementType - Type of backup management to backup an item. - BackupManagementType *string `json:"backupManagementType,omitempty"` - // WorkloadType - Type of workload for the backup management - WorkloadType *string `json:"workloadType,omitempty"` - // FriendlyName - Friendly name of the backup item. - FriendlyName *string `json:"friendlyName,omitempty"` - // ProtectionState - State of the back up item. Possible values include: 'ProtectionStatusInvalid', 'ProtectionStatusNotProtected', 'ProtectionStatusProtecting', 'ProtectionStatusProtected', 'ProtectionStatusProtectionFailed' - ProtectionState ProtectionStatus `json:"protectionState,omitempty"` - // WorkloadItemType - Possible values include: 'WorkloadItemTypeWorkloadItem', 'WorkloadItemTypeAzureVMWorkloadItem', 'WorkloadItemTypeSAPAseDatabase1', 'WorkloadItemTypeSAPAseSystem1', 'WorkloadItemTypeSAPHanaDatabase1', 'WorkloadItemTypeSAPHanaSystem1', 'WorkloadItemTypeSQLDataBase1', 'WorkloadItemTypeSQLInstance1' - WorkloadItemType WorkloadItemTypeBasicWorkloadItem `json:"workloadItemType,omitempty"` +// AsBasicProtectionContainer is the BasicProtectionContainer implementation for AzureWorkloadContainer. +func (awc AzureWorkloadContainer) AsBasicProtectionContainer() (BasicProtectionContainer, bool) { + return &awc, true } -// MarshalJSON is the custom marshaler for AzureVMWorkloadSAPAseSystemWorkloadItem. -func (avwsaswi AzureVMWorkloadSAPAseSystemWorkloadItem) MarshalJSON() ([]byte, error) { - avwsaswi.WorkloadItemType = WorkloadItemTypeSAPAseSystem1 - objectMap := make(map[string]interface{}) - if avwsaswi.ParentName != nil { - objectMap["parentName"] = avwsaswi.ParentName - } - if avwsaswi.ServerName != nil { - objectMap["serverName"] = avwsaswi.ServerName - } - if avwsaswi.IsAutoProtectable != nil { - objectMap["isAutoProtectable"] = avwsaswi.IsAutoProtectable - } - if avwsaswi.Subinquireditemcount != nil { - objectMap["subinquireditemcount"] = avwsaswi.Subinquireditemcount - } - if avwsaswi.SubWorkloadItemCount != nil { - objectMap["subWorkloadItemCount"] = avwsaswi.SubWorkloadItemCount - } - if avwsaswi.BackupManagementType != nil { - objectMap["backupManagementType"] = avwsaswi.BackupManagementType - } - if avwsaswi.WorkloadType != nil { - objectMap["workloadType"] = avwsaswi.WorkloadType - } - if avwsaswi.FriendlyName != nil { - objectMap["friendlyName"] = avwsaswi.FriendlyName - } - if avwsaswi.ProtectionState != "" { - objectMap["protectionState"] = avwsaswi.ProtectionState - } - if avwsaswi.WorkloadItemType != "" { - objectMap["workloadItemType"] = avwsaswi.WorkloadItemType - } - return json.Marshal(objectMap) -} - -// AsAzureVMWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSAPAseSystemWorkloadItem. -func (avwsaswi AzureVMWorkloadSAPAseSystemWorkloadItem) AsAzureVMWorkloadItem() (*AzureVMWorkloadItem, bool) { - return nil, false -} - -// AsBasicAzureVMWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSAPAseSystemWorkloadItem. -func (avwsaswi AzureVMWorkloadSAPAseSystemWorkloadItem) AsBasicAzureVMWorkloadItem() (BasicAzureVMWorkloadItem, bool) { - return &avwsaswi, true -} - -// AsAzureVMWorkloadSAPAseDatabaseWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSAPAseSystemWorkloadItem. -func (avwsaswi AzureVMWorkloadSAPAseSystemWorkloadItem) AsAzureVMWorkloadSAPAseDatabaseWorkloadItem() (*AzureVMWorkloadSAPAseDatabaseWorkloadItem, bool) { - return nil, false -} - -// AsAzureVMWorkloadSAPAseSystemWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSAPAseSystemWorkloadItem. -func (avwsaswi AzureVMWorkloadSAPAseSystemWorkloadItem) AsAzureVMWorkloadSAPAseSystemWorkloadItem() (*AzureVMWorkloadSAPAseSystemWorkloadItem, bool) { - return &avwsaswi, true -} - -// AsAzureVMWorkloadSAPHanaDatabaseWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSAPAseSystemWorkloadItem. -func (avwsaswi AzureVMWorkloadSAPAseSystemWorkloadItem) AsAzureVMWorkloadSAPHanaDatabaseWorkloadItem() (*AzureVMWorkloadSAPHanaDatabaseWorkloadItem, bool) { - return nil, false -} - -// AsAzureVMWorkloadSAPHanaSystemWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSAPAseSystemWorkloadItem. -func (avwsaswi AzureVMWorkloadSAPAseSystemWorkloadItem) AsAzureVMWorkloadSAPHanaSystemWorkloadItem() (*AzureVMWorkloadSAPHanaSystemWorkloadItem, bool) { - return nil, false -} - -// AsAzureVMWorkloadSQLDatabaseWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSAPAseSystemWorkloadItem. -func (avwsaswi AzureVMWorkloadSAPAseSystemWorkloadItem) AsAzureVMWorkloadSQLDatabaseWorkloadItem() (*AzureVMWorkloadSQLDatabaseWorkloadItem, bool) { - return nil, false -} - -// AsAzureVMWorkloadSQLInstanceWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSAPAseSystemWorkloadItem. -func (avwsaswi AzureVMWorkloadSAPAseSystemWorkloadItem) AsAzureVMWorkloadSQLInstanceWorkloadItem() (*AzureVMWorkloadSQLInstanceWorkloadItem, bool) { - return nil, false -} - -// AsWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSAPAseSystemWorkloadItem. -func (avwsaswi AzureVMWorkloadSAPAseSystemWorkloadItem) AsWorkloadItem() (*WorkloadItem, bool) { - return nil, false -} - -// AsBasicWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSAPAseSystemWorkloadItem. -func (avwsaswi AzureVMWorkloadSAPAseSystemWorkloadItem) AsBasicWorkloadItem() (BasicWorkloadItem, bool) { - return &avwsaswi, true -} - -// AzureVMWorkloadSAPHanaDatabaseProtectableItem azure VM workload-specific protectable item representing -// SAP HANA Database. -type AzureVMWorkloadSAPHanaDatabaseProtectableItem struct { - // ParentName - Name for instance or AG - ParentName *string `json:"parentName,omitempty"` - // ParentUniqueName - Parent Unique Name is added to provide the service formatted URI Name of the Parent - // Only Applicable for data bases where the parent would be either Instance or a SQL AG. - ParentUniqueName *string `json:"parentUniqueName,omitempty"` - // ServerName - Host/Cluster Name for instance or AG - ServerName *string `json:"serverName,omitempty"` - // IsAutoProtectable - Indicates if protectable item is auto-protectable - IsAutoProtectable *bool `json:"isAutoProtectable,omitempty"` - // IsAutoProtected - Indicates if protectable item is auto-protected - IsAutoProtected *bool `json:"isAutoProtected,omitempty"` - // Subinquireditemcount - For instance or AG, indicates number of DBs present - Subinquireditemcount *int32 `json:"subinquireditemcount,omitempty"` - // Subprotectableitemcount - For instance or AG, indicates number of DBs to be protected - Subprotectableitemcount *int32 `json:"subprotectableitemcount,omitempty"` - // Prebackupvalidation - Pre-backup validation for protectable objects - Prebackupvalidation *PreBackupValidation `json:"prebackupvalidation,omitempty"` - // BackupManagementType - Type of backup management to backup an item. - BackupManagementType *string `json:"backupManagementType,omitempty"` - // WorkloadType - Type of workload for the backup management - WorkloadType *string `json:"workloadType,omitempty"` - // FriendlyName - Friendly name of the backup item. - FriendlyName *string `json:"friendlyName,omitempty"` - // ProtectionState - State of the back up item. Possible values include: 'ProtectionStatusInvalid', 'ProtectionStatusNotProtected', 'ProtectionStatusProtecting', 'ProtectionStatusProtected', 'ProtectionStatusProtectionFailed' - ProtectionState ProtectionStatus `json:"protectionState,omitempty"` - // ProtectableItemType - Possible values include: 'ProtectableItemTypeWorkloadProtectableItem', 'ProtectableItemTypeAzureFileShare', 'ProtectableItemTypeMicrosoftClassicComputevirtualMachines', 'ProtectableItemTypeMicrosoftComputevirtualMachines', 'ProtectableItemTypeAzureVMWorkloadProtectableItem', 'ProtectableItemTypeSAPAseDatabase', 'ProtectableItemTypeSAPAseSystem', 'ProtectableItemTypeSAPHanaDatabase', 'ProtectableItemTypeSAPHanaSystem', 'ProtectableItemTypeSQLAvailabilityGroupContainer', 'ProtectableItemTypeSQLDataBase', 'ProtectableItemTypeSQLInstance', 'ProtectableItemTypeIaaSVMProtectableItem' - ProtectableItemType ProtectableItemType `json:"protectableItemType,omitempty"` -} - -// MarshalJSON is the custom marshaler for AzureVMWorkloadSAPHanaDatabaseProtectableItem. -func (avwshdpi AzureVMWorkloadSAPHanaDatabaseProtectableItem) MarshalJSON() ([]byte, error) { - avwshdpi.ProtectableItemType = ProtectableItemTypeSAPHanaDatabase - objectMap := make(map[string]interface{}) - if avwshdpi.ParentName != nil { - objectMap["parentName"] = avwshdpi.ParentName - } - if avwshdpi.ParentUniqueName != nil { - objectMap["parentUniqueName"] = avwshdpi.ParentUniqueName - } - if avwshdpi.ServerName != nil { - objectMap["serverName"] = avwshdpi.ServerName - } - if avwshdpi.IsAutoProtectable != nil { - objectMap["isAutoProtectable"] = avwshdpi.IsAutoProtectable - } - if avwshdpi.IsAutoProtected != nil { - objectMap["isAutoProtected"] = avwshdpi.IsAutoProtected - } - if avwshdpi.Subinquireditemcount != nil { - objectMap["subinquireditemcount"] = avwshdpi.Subinquireditemcount - } - if avwshdpi.Subprotectableitemcount != nil { - objectMap["subprotectableitemcount"] = avwshdpi.Subprotectableitemcount - } - if avwshdpi.Prebackupvalidation != nil { - objectMap["prebackupvalidation"] = avwshdpi.Prebackupvalidation - } - if avwshdpi.BackupManagementType != nil { - objectMap["backupManagementType"] = avwshdpi.BackupManagementType - } - if avwshdpi.WorkloadType != nil { - objectMap["workloadType"] = avwshdpi.WorkloadType - } - if avwshdpi.FriendlyName != nil { - objectMap["friendlyName"] = avwshdpi.FriendlyName - } - if avwshdpi.ProtectionState != "" { - objectMap["protectionState"] = avwshdpi.ProtectionState - } - if avwshdpi.ProtectableItemType != "" { - objectMap["protectableItemType"] = avwshdpi.ProtectableItemType - } - return json.Marshal(objectMap) -} - -// AsAzureFileShareProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPHanaDatabaseProtectableItem. -func (avwshdpi AzureVMWorkloadSAPHanaDatabaseProtectableItem) AsAzureFileShareProtectableItem() (*AzureFileShareProtectableItem, bool) { - return nil, false -} - -// AsAzureIaaSClassicComputeVMProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPHanaDatabaseProtectableItem. -func (avwshdpi AzureVMWorkloadSAPHanaDatabaseProtectableItem) AsAzureIaaSClassicComputeVMProtectableItem() (*AzureIaaSClassicComputeVMProtectableItem, bool) { - return nil, false -} - -// AsAzureIaaSComputeVMProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPHanaDatabaseProtectableItem. -func (avwshdpi AzureVMWorkloadSAPHanaDatabaseProtectableItem) AsAzureIaaSComputeVMProtectableItem() (*AzureIaaSComputeVMProtectableItem, bool) { - return nil, false -} - -// AsAzureVMWorkloadProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPHanaDatabaseProtectableItem. -func (avwshdpi AzureVMWorkloadSAPHanaDatabaseProtectableItem) AsAzureVMWorkloadProtectableItem() (*AzureVMWorkloadProtectableItem, bool) { - return nil, false -} - -// AsBasicAzureVMWorkloadProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPHanaDatabaseProtectableItem. -func (avwshdpi AzureVMWorkloadSAPHanaDatabaseProtectableItem) AsBasicAzureVMWorkloadProtectableItem() (BasicAzureVMWorkloadProtectableItem, bool) { - return &avwshdpi, true -} - -// AsAzureVMWorkloadSAPAseDatabaseProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPHanaDatabaseProtectableItem. -func (avwshdpi AzureVMWorkloadSAPHanaDatabaseProtectableItem) AsAzureVMWorkloadSAPAseDatabaseProtectableItem() (*AzureVMWorkloadSAPAseDatabaseProtectableItem, bool) { - return nil, false -} - -// AsAzureVMWorkloadSAPAseSystemProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPHanaDatabaseProtectableItem. -func (avwshdpi AzureVMWorkloadSAPHanaDatabaseProtectableItem) AsAzureVMWorkloadSAPAseSystemProtectableItem() (*AzureVMWorkloadSAPAseSystemProtectableItem, bool) { - return nil, false -} - -// AsAzureVMWorkloadSAPHanaDatabaseProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPHanaDatabaseProtectableItem. -func (avwshdpi AzureVMWorkloadSAPHanaDatabaseProtectableItem) AsAzureVMWorkloadSAPHanaDatabaseProtectableItem() (*AzureVMWorkloadSAPHanaDatabaseProtectableItem, bool) { - return &avwshdpi, true -} - -// AsAzureVMWorkloadSAPHanaSystemProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPHanaDatabaseProtectableItem. -func (avwshdpi AzureVMWorkloadSAPHanaDatabaseProtectableItem) AsAzureVMWorkloadSAPHanaSystemProtectableItem() (*AzureVMWorkloadSAPHanaSystemProtectableItem, bool) { - return nil, false -} - -// AsAzureVMWorkloadSQLAvailabilityGroupProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPHanaDatabaseProtectableItem. -func (avwshdpi AzureVMWorkloadSAPHanaDatabaseProtectableItem) AsAzureVMWorkloadSQLAvailabilityGroupProtectableItem() (*AzureVMWorkloadSQLAvailabilityGroupProtectableItem, bool) { - return nil, false -} - -// AsAzureVMWorkloadSQLDatabaseProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPHanaDatabaseProtectableItem. -func (avwshdpi AzureVMWorkloadSAPHanaDatabaseProtectableItem) AsAzureVMWorkloadSQLDatabaseProtectableItem() (*AzureVMWorkloadSQLDatabaseProtectableItem, bool) { - return nil, false -} - -// AsAzureVMWorkloadSQLInstanceProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPHanaDatabaseProtectableItem. -func (avwshdpi AzureVMWorkloadSAPHanaDatabaseProtectableItem) AsAzureVMWorkloadSQLInstanceProtectableItem() (*AzureVMWorkloadSQLInstanceProtectableItem, bool) { - return nil, false -} - -// AsIaaSVMProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPHanaDatabaseProtectableItem. -func (avwshdpi AzureVMWorkloadSAPHanaDatabaseProtectableItem) AsIaaSVMProtectableItem() (*IaaSVMProtectableItem, bool) { - return nil, false -} - -// AsBasicIaaSVMProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPHanaDatabaseProtectableItem. -func (avwshdpi AzureVMWorkloadSAPHanaDatabaseProtectableItem) AsBasicIaaSVMProtectableItem() (BasicIaaSVMProtectableItem, bool) { - return nil, false -} - -// AsWorkloadProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPHanaDatabaseProtectableItem. -func (avwshdpi AzureVMWorkloadSAPHanaDatabaseProtectableItem) AsWorkloadProtectableItem() (*WorkloadProtectableItem, bool) { - return nil, false -} - -// AsBasicWorkloadProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPHanaDatabaseProtectableItem. -func (avwshdpi AzureVMWorkloadSAPHanaDatabaseProtectableItem) AsBasicWorkloadProtectableItem() (BasicWorkloadProtectableItem, bool) { - return &avwshdpi, true -} - -// AzureVMWorkloadSAPHanaDatabaseProtectedItem azure VM workload-specific protected item representing SAP -// HANA Database. -type AzureVMWorkloadSAPHanaDatabaseProtectedItem struct { - // FriendlyName - Friendly name of the DB represented by this backup item. - FriendlyName *string `json:"friendlyName,omitempty"` - // ServerName - Host/Cluster Name for instance or AG - ServerName *string `json:"serverName,omitempty"` - // ParentName - Parent name of the DB such as Instance or Availability Group. - ParentName *string `json:"parentName,omitempty"` - // ParentType - Parent type of protected item, example: for a DB, standalone server or distributed - ParentType *string `json:"parentType,omitempty"` - // ProtectionStatus - Backup status of this backup item. - ProtectionStatus *string `json:"protectionStatus,omitempty"` - // ProtectionState - Backup state of this backup item. Possible values include: 'ProtectionStateInvalid', 'ProtectionStateIRPending', 'ProtectionStateProtected', 'ProtectionStateProtectionError', 'ProtectionStateProtectionStopped', 'ProtectionStateProtectionPaused' - ProtectionState ProtectionState `json:"protectionState,omitempty"` - // LastBackupStatus - Last backup operation status. Possible values: Healthy, Unhealthy. Possible values include: 'LastBackupStatusInvalid', 'LastBackupStatusHealthy', 'LastBackupStatusUnhealthy', 'LastBackupStatusIRPending' - LastBackupStatus LastBackupStatus `json:"lastBackupStatus,omitempty"` - // LastBackupTime - Timestamp of the last backup operation on this backup item. - LastBackupTime *date.Time `json:"lastBackupTime,omitempty"` - // LastBackupErrorDetail - Error details in last backup - LastBackupErrorDetail *ErrorDetail `json:"lastBackupErrorDetail,omitempty"` - // ProtectedItemDataSourceID - Data ID of the protected item. - ProtectedItemDataSourceID *string `json:"protectedItemDataSourceId,omitempty"` - // ProtectedItemHealthStatus - Health status of the backup item, evaluated based on last heartbeat received. Possible values include: 'ProtectedItemHealthStatusInvalid', 'ProtectedItemHealthStatusHealthy', 'ProtectedItemHealthStatusUnhealthy', 'ProtectedItemHealthStatusNotReachable', 'ProtectedItemHealthStatusIRPending' - ProtectedItemHealthStatus ProtectedItemHealthStatus `json:"protectedItemHealthStatus,omitempty"` - // ExtendedInfo - Additional information for this backup item. - ExtendedInfo *AzureVMWorkloadProtectedItemExtendedInfo `json:"extendedInfo,omitempty"` - // BackupManagementType - Type of backup management for the backed up item. Possible values include: 'ManagementTypeInvalid', 'ManagementTypeAzureIaasVM', 'ManagementTypeMAB', 'ManagementTypeDPM', 'ManagementTypeAzureBackupServer', 'ManagementTypeAzureSQL', 'ManagementTypeAzureStorage', 'ManagementTypeAzureWorkload', 'ManagementTypeDefaultBackup' - BackupManagementType ManagementType `json:"backupManagementType,omitempty"` - // WorkloadType - Type of workload this item represents. Possible values include: 'DataSourceTypeInvalid', 'DataSourceTypeVM', 'DataSourceTypeFileFolder', 'DataSourceTypeAzureSQLDb', 'DataSourceTypeSQLDB', 'DataSourceTypeExchange', 'DataSourceTypeSharepoint', 'DataSourceTypeVMwareVM', 'DataSourceTypeSystemState', 'DataSourceTypeClient', 'DataSourceTypeGenericDataSource', 'DataSourceTypeSQLDataBase', 'DataSourceTypeAzureFileShare', 'DataSourceTypeSAPHanaDatabase', 'DataSourceTypeSAPAseDatabase' - WorkloadType DataSourceType `json:"workloadType,omitempty"` - // ContainerName - Unique name of container - ContainerName *string `json:"containerName,omitempty"` - // SourceResourceID - ARM ID of the resource to be backed up. - SourceResourceID *string `json:"sourceResourceId,omitempty"` - // PolicyID - ID of the backup policy with which this item is backed up. - PolicyID *string `json:"policyId,omitempty"` - // LastRecoveryPoint - Timestamp when the last (latest) backup copy was created for this backup item. - LastRecoveryPoint *date.Time `json:"lastRecoveryPoint,omitempty"` - // BackupSetName - Name of the backup set the backup item belongs to - BackupSetName *string `json:"backupSetName,omitempty"` - // CreateMode - Create mode to indicate recovery of existing soft deleted data source or creation of new data source. Possible values include: 'CreateModeInvalid', 'CreateModeDefault', 'CreateModeRecover' - CreateMode CreateMode `json:"createMode,omitempty"` - // DeferredDeleteTimeInUTC - Time for deferred deletion in UTC - DeferredDeleteTimeInUTC *date.Time `json:"deferredDeleteTimeInUTC,omitempty"` - // IsScheduledForDeferredDelete - Flag to identify whether the DS is scheduled for deferred delete - IsScheduledForDeferredDelete *bool `json:"isScheduledForDeferredDelete,omitempty"` - // DeferredDeleteTimeRemaining - Time remaining before the DS marked for deferred delete is permanently deleted - DeferredDeleteTimeRemaining *string `json:"deferredDeleteTimeRemaining,omitempty"` - // IsDeferredDeleteScheduleUpcoming - Flag to identify whether the deferred deleted DS is to be purged soon - IsDeferredDeleteScheduleUpcoming *bool `json:"isDeferredDeleteScheduleUpcoming,omitempty"` - // IsRehydrate - Flag to identify that deferred deleted DS is to be moved into Pause state - IsRehydrate *bool `json:"isRehydrate,omitempty"` - // ProtectedItemType - Possible values include: 'ProtectedItemTypeProtectedItem', 'ProtectedItemTypeAzureFileShareProtectedItem', 'ProtectedItemTypeMicrosoftClassicComputevirtualMachines', 'ProtectedItemTypeMicrosoftComputevirtualMachines', 'ProtectedItemTypeAzureIaaSVMProtectedItem', 'ProtectedItemTypeMicrosoftSqlserversdatabases', 'ProtectedItemTypeAzureVMWorkloadProtectedItem', 'ProtectedItemTypeAzureVMWorkloadSAPAseDatabase', 'ProtectedItemTypeAzureVMWorkloadSAPHanaDatabase', 'ProtectedItemTypeAzureVMWorkloadSQLDatabase', 'ProtectedItemTypeDPMProtectedItem', 'ProtectedItemTypeGenericProtectedItem', 'ProtectedItemTypeMabFileFolderProtectedItem' - ProtectedItemType ProtectedItemType `json:"protectedItemType,omitempty"` -} - -// MarshalJSON is the custom marshaler for AzureVMWorkloadSAPHanaDatabaseProtectedItem. -func (avwshdpi AzureVMWorkloadSAPHanaDatabaseProtectedItem) MarshalJSON() ([]byte, error) { - avwshdpi.ProtectedItemType = ProtectedItemTypeAzureVMWorkloadSAPHanaDatabase - objectMap := make(map[string]interface{}) - if avwshdpi.FriendlyName != nil { - objectMap["friendlyName"] = avwshdpi.FriendlyName - } - if avwshdpi.ServerName != nil { - objectMap["serverName"] = avwshdpi.ServerName - } - if avwshdpi.ParentName != nil { - objectMap["parentName"] = avwshdpi.ParentName - } - if avwshdpi.ParentType != nil { - objectMap["parentType"] = avwshdpi.ParentType - } - if avwshdpi.ProtectionStatus != nil { - objectMap["protectionStatus"] = avwshdpi.ProtectionStatus - } - if avwshdpi.ProtectionState != "" { - objectMap["protectionState"] = avwshdpi.ProtectionState - } - if avwshdpi.LastBackupStatus != "" { - objectMap["lastBackupStatus"] = avwshdpi.LastBackupStatus - } - if avwshdpi.LastBackupTime != nil { - objectMap["lastBackupTime"] = avwshdpi.LastBackupTime - } - if avwshdpi.LastBackupErrorDetail != nil { - objectMap["lastBackupErrorDetail"] = avwshdpi.LastBackupErrorDetail - } - if avwshdpi.ProtectedItemDataSourceID != nil { - objectMap["protectedItemDataSourceId"] = avwshdpi.ProtectedItemDataSourceID - } - if avwshdpi.ProtectedItemHealthStatus != "" { - objectMap["protectedItemHealthStatus"] = avwshdpi.ProtectedItemHealthStatus - } - if avwshdpi.ExtendedInfo != nil { - objectMap["extendedInfo"] = avwshdpi.ExtendedInfo - } - if avwshdpi.BackupManagementType != "" { - objectMap["backupManagementType"] = avwshdpi.BackupManagementType - } - if avwshdpi.WorkloadType != "" { - objectMap["workloadType"] = avwshdpi.WorkloadType - } - if avwshdpi.ContainerName != nil { - objectMap["containerName"] = avwshdpi.ContainerName - } - if avwshdpi.SourceResourceID != nil { - objectMap["sourceResourceId"] = avwshdpi.SourceResourceID - } - if avwshdpi.PolicyID != nil { - objectMap["policyId"] = avwshdpi.PolicyID - } - if avwshdpi.LastRecoveryPoint != nil { - objectMap["lastRecoveryPoint"] = avwshdpi.LastRecoveryPoint - } - if avwshdpi.BackupSetName != nil { - objectMap["backupSetName"] = avwshdpi.BackupSetName - } - if avwshdpi.CreateMode != "" { - objectMap["createMode"] = avwshdpi.CreateMode - } - if avwshdpi.DeferredDeleteTimeInUTC != nil { - objectMap["deferredDeleteTimeInUTC"] = avwshdpi.DeferredDeleteTimeInUTC - } - if avwshdpi.IsScheduledForDeferredDelete != nil { - objectMap["isScheduledForDeferredDelete"] = avwshdpi.IsScheduledForDeferredDelete - } - if avwshdpi.DeferredDeleteTimeRemaining != nil { - objectMap["deferredDeleteTimeRemaining"] = avwshdpi.DeferredDeleteTimeRemaining - } - if avwshdpi.IsDeferredDeleteScheduleUpcoming != nil { - objectMap["isDeferredDeleteScheduleUpcoming"] = avwshdpi.IsDeferredDeleteScheduleUpcoming - } - if avwshdpi.IsRehydrate != nil { - objectMap["isRehydrate"] = avwshdpi.IsRehydrate - } - if avwshdpi.ProtectedItemType != "" { - objectMap["protectedItemType"] = avwshdpi.ProtectedItemType - } - return json.Marshal(objectMap) -} - -// AsAzureFileshareProtectedItem is the BasicProtectedItem implementation for AzureVMWorkloadSAPHanaDatabaseProtectedItem. -func (avwshdpi AzureVMWorkloadSAPHanaDatabaseProtectedItem) AsAzureFileshareProtectedItem() (*AzureFileshareProtectedItem, bool) { - return nil, false -} - -// AsAzureIaaSClassicComputeVMProtectedItem is the BasicProtectedItem implementation for AzureVMWorkloadSAPHanaDatabaseProtectedItem. -func (avwshdpi AzureVMWorkloadSAPHanaDatabaseProtectedItem) AsAzureIaaSClassicComputeVMProtectedItem() (*AzureIaaSClassicComputeVMProtectedItem, bool) { - return nil, false -} - -// AsAzureIaaSComputeVMProtectedItem is the BasicProtectedItem implementation for AzureVMWorkloadSAPHanaDatabaseProtectedItem. -func (avwshdpi AzureVMWorkloadSAPHanaDatabaseProtectedItem) AsAzureIaaSComputeVMProtectedItem() (*AzureIaaSComputeVMProtectedItem, bool) { - return nil, false -} - -// AsAzureIaaSVMProtectedItem is the BasicProtectedItem implementation for AzureVMWorkloadSAPHanaDatabaseProtectedItem. -func (avwshdpi AzureVMWorkloadSAPHanaDatabaseProtectedItem) AsAzureIaaSVMProtectedItem() (*AzureIaaSVMProtectedItem, bool) { - return nil, false -} - -// AsBasicAzureIaaSVMProtectedItem is the BasicProtectedItem implementation for AzureVMWorkloadSAPHanaDatabaseProtectedItem. -func (avwshdpi AzureVMWorkloadSAPHanaDatabaseProtectedItem) AsBasicAzureIaaSVMProtectedItem() (BasicAzureIaaSVMProtectedItem, bool) { - return nil, false -} - -// AsAzureSQLProtectedItem is the BasicProtectedItem implementation for AzureVMWorkloadSAPHanaDatabaseProtectedItem. -func (avwshdpi AzureVMWorkloadSAPHanaDatabaseProtectedItem) AsAzureSQLProtectedItem() (*AzureSQLProtectedItem, bool) { - return nil, false -} - -// AsAzureVMWorkloadProtectedItem is the BasicProtectedItem implementation for AzureVMWorkloadSAPHanaDatabaseProtectedItem. -func (avwshdpi AzureVMWorkloadSAPHanaDatabaseProtectedItem) AsAzureVMWorkloadProtectedItem() (*AzureVMWorkloadProtectedItem, bool) { - return nil, false -} - -// AsBasicAzureVMWorkloadProtectedItem is the BasicProtectedItem implementation for AzureVMWorkloadSAPHanaDatabaseProtectedItem. -func (avwshdpi AzureVMWorkloadSAPHanaDatabaseProtectedItem) AsBasicAzureVMWorkloadProtectedItem() (BasicAzureVMWorkloadProtectedItem, bool) { - return &avwshdpi, true -} - -// AsAzureVMWorkloadSAPAseDatabaseProtectedItem is the BasicProtectedItem implementation for AzureVMWorkloadSAPHanaDatabaseProtectedItem. -func (avwshdpi AzureVMWorkloadSAPHanaDatabaseProtectedItem) AsAzureVMWorkloadSAPAseDatabaseProtectedItem() (*AzureVMWorkloadSAPAseDatabaseProtectedItem, bool) { - return nil, false -} - -// AsAzureVMWorkloadSAPHanaDatabaseProtectedItem is the BasicProtectedItem implementation for AzureVMWorkloadSAPHanaDatabaseProtectedItem. -func (avwshdpi AzureVMWorkloadSAPHanaDatabaseProtectedItem) AsAzureVMWorkloadSAPHanaDatabaseProtectedItem() (*AzureVMWorkloadSAPHanaDatabaseProtectedItem, bool) { - return &avwshdpi, true -} - -// AsAzureVMWorkloadSQLDatabaseProtectedItem is the BasicProtectedItem implementation for AzureVMWorkloadSAPHanaDatabaseProtectedItem. -func (avwshdpi AzureVMWorkloadSAPHanaDatabaseProtectedItem) AsAzureVMWorkloadSQLDatabaseProtectedItem() (*AzureVMWorkloadSQLDatabaseProtectedItem, bool) { - return nil, false -} - -// AsDPMProtectedItem is the BasicProtectedItem implementation for AzureVMWorkloadSAPHanaDatabaseProtectedItem. -func (avwshdpi AzureVMWorkloadSAPHanaDatabaseProtectedItem) AsDPMProtectedItem() (*DPMProtectedItem, bool) { - return nil, false -} - -// AsGenericProtectedItem is the BasicProtectedItem implementation for AzureVMWorkloadSAPHanaDatabaseProtectedItem. -func (avwshdpi AzureVMWorkloadSAPHanaDatabaseProtectedItem) AsGenericProtectedItem() (*GenericProtectedItem, bool) { - return nil, false -} - -// AsMabFileFolderProtectedItem is the BasicProtectedItem implementation for AzureVMWorkloadSAPHanaDatabaseProtectedItem. -func (avwshdpi AzureVMWorkloadSAPHanaDatabaseProtectedItem) AsMabFileFolderProtectedItem() (*MabFileFolderProtectedItem, bool) { - return nil, false -} - -// AsProtectedItem is the BasicProtectedItem implementation for AzureVMWorkloadSAPHanaDatabaseProtectedItem. -func (avwshdpi AzureVMWorkloadSAPHanaDatabaseProtectedItem) AsProtectedItem() (*ProtectedItem, bool) { - return nil, false -} - -// AsBasicProtectedItem is the BasicProtectedItem implementation for AzureVMWorkloadSAPHanaDatabaseProtectedItem. -func (avwshdpi AzureVMWorkloadSAPHanaDatabaseProtectedItem) AsBasicProtectedItem() (BasicProtectedItem, bool) { - return &avwshdpi, true -} - -// AzureVMWorkloadSAPHanaDatabaseWorkloadItem azure VM workload-specific workload item representing SAP -// HANA Database. -type AzureVMWorkloadSAPHanaDatabaseWorkloadItem struct { - // ParentName - Name for instance or AG - ParentName *string `json:"parentName,omitempty"` - // ServerName - Host/Cluster Name for instance or AG - ServerName *string `json:"serverName,omitempty"` - // IsAutoProtectable - Indicates if workload item is auto-protectable - IsAutoProtectable *bool `json:"isAutoProtectable,omitempty"` - // Subinquireditemcount - For instance or AG, indicates number of DBs present - Subinquireditemcount *int32 `json:"subinquireditemcount,omitempty"` - // SubWorkloadItemCount - For instance or AG, indicates number of DBs to be protected - SubWorkloadItemCount *int32 `json:"subWorkloadItemCount,omitempty"` - // BackupManagementType - Type of backup management to backup an item. - BackupManagementType *string `json:"backupManagementType,omitempty"` - // WorkloadType - Type of workload for the backup management - WorkloadType *string `json:"workloadType,omitempty"` - // FriendlyName - Friendly name of the backup item. - FriendlyName *string `json:"friendlyName,omitempty"` - // ProtectionState - State of the back up item. Possible values include: 'ProtectionStatusInvalid', 'ProtectionStatusNotProtected', 'ProtectionStatusProtecting', 'ProtectionStatusProtected', 'ProtectionStatusProtectionFailed' - ProtectionState ProtectionStatus `json:"protectionState,omitempty"` - // WorkloadItemType - Possible values include: 'WorkloadItemTypeWorkloadItem', 'WorkloadItemTypeAzureVMWorkloadItem', 'WorkloadItemTypeSAPAseDatabase1', 'WorkloadItemTypeSAPAseSystem1', 'WorkloadItemTypeSAPHanaDatabase1', 'WorkloadItemTypeSAPHanaSystem1', 'WorkloadItemTypeSQLDataBase1', 'WorkloadItemTypeSQLInstance1' - WorkloadItemType WorkloadItemTypeBasicWorkloadItem `json:"workloadItemType,omitempty"` -} - -// MarshalJSON is the custom marshaler for AzureVMWorkloadSAPHanaDatabaseWorkloadItem. -func (avwshdwi AzureVMWorkloadSAPHanaDatabaseWorkloadItem) MarshalJSON() ([]byte, error) { - avwshdwi.WorkloadItemType = WorkloadItemTypeSAPHanaDatabase1 - objectMap := make(map[string]interface{}) - if avwshdwi.ParentName != nil { - objectMap["parentName"] = avwshdwi.ParentName - } - if avwshdwi.ServerName != nil { - objectMap["serverName"] = avwshdwi.ServerName - } - if avwshdwi.IsAutoProtectable != nil { - objectMap["isAutoProtectable"] = avwshdwi.IsAutoProtectable - } - if avwshdwi.Subinquireditemcount != nil { - objectMap["subinquireditemcount"] = avwshdwi.Subinquireditemcount - } - if avwshdwi.SubWorkloadItemCount != nil { - objectMap["subWorkloadItemCount"] = avwshdwi.SubWorkloadItemCount - } - if avwshdwi.BackupManagementType != nil { - objectMap["backupManagementType"] = avwshdwi.BackupManagementType - } - if avwshdwi.WorkloadType != nil { - objectMap["workloadType"] = avwshdwi.WorkloadType - } - if avwshdwi.FriendlyName != nil { - objectMap["friendlyName"] = avwshdwi.FriendlyName - } - if avwshdwi.ProtectionState != "" { - objectMap["protectionState"] = avwshdwi.ProtectionState - } - if avwshdwi.WorkloadItemType != "" { - objectMap["workloadItemType"] = avwshdwi.WorkloadItemType - } - return json.Marshal(objectMap) -} - -// AsAzureVMWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSAPHanaDatabaseWorkloadItem. -func (avwshdwi AzureVMWorkloadSAPHanaDatabaseWorkloadItem) AsAzureVMWorkloadItem() (*AzureVMWorkloadItem, bool) { - return nil, false -} - -// AsBasicAzureVMWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSAPHanaDatabaseWorkloadItem. -func (avwshdwi AzureVMWorkloadSAPHanaDatabaseWorkloadItem) AsBasicAzureVMWorkloadItem() (BasicAzureVMWorkloadItem, bool) { - return &avwshdwi, true -} - -// AsAzureVMWorkloadSAPAseDatabaseWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSAPHanaDatabaseWorkloadItem. -func (avwshdwi AzureVMWorkloadSAPHanaDatabaseWorkloadItem) AsAzureVMWorkloadSAPAseDatabaseWorkloadItem() (*AzureVMWorkloadSAPAseDatabaseWorkloadItem, bool) { - return nil, false -} - -// AsAzureVMWorkloadSAPAseSystemWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSAPHanaDatabaseWorkloadItem. -func (avwshdwi AzureVMWorkloadSAPHanaDatabaseWorkloadItem) AsAzureVMWorkloadSAPAseSystemWorkloadItem() (*AzureVMWorkloadSAPAseSystemWorkloadItem, bool) { - return nil, false -} - -// AsAzureVMWorkloadSAPHanaDatabaseWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSAPHanaDatabaseWorkloadItem. -func (avwshdwi AzureVMWorkloadSAPHanaDatabaseWorkloadItem) AsAzureVMWorkloadSAPHanaDatabaseWorkloadItem() (*AzureVMWorkloadSAPHanaDatabaseWorkloadItem, bool) { - return &avwshdwi, true -} - -// AsAzureVMWorkloadSAPHanaSystemWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSAPHanaDatabaseWorkloadItem. -func (avwshdwi AzureVMWorkloadSAPHanaDatabaseWorkloadItem) AsAzureVMWorkloadSAPHanaSystemWorkloadItem() (*AzureVMWorkloadSAPHanaSystemWorkloadItem, bool) { - return nil, false -} - -// AsAzureVMWorkloadSQLDatabaseWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSAPHanaDatabaseWorkloadItem. -func (avwshdwi AzureVMWorkloadSAPHanaDatabaseWorkloadItem) AsAzureVMWorkloadSQLDatabaseWorkloadItem() (*AzureVMWorkloadSQLDatabaseWorkloadItem, bool) { - return nil, false -} - -// AsAzureVMWorkloadSQLInstanceWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSAPHanaDatabaseWorkloadItem. -func (avwshdwi AzureVMWorkloadSAPHanaDatabaseWorkloadItem) AsAzureVMWorkloadSQLInstanceWorkloadItem() (*AzureVMWorkloadSQLInstanceWorkloadItem, bool) { - return nil, false -} - -// AsWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSAPHanaDatabaseWorkloadItem. -func (avwshdwi AzureVMWorkloadSAPHanaDatabaseWorkloadItem) AsWorkloadItem() (*WorkloadItem, bool) { - return nil, false -} - -// AsBasicWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSAPHanaDatabaseWorkloadItem. -func (avwshdwi AzureVMWorkloadSAPHanaDatabaseWorkloadItem) AsBasicWorkloadItem() (BasicWorkloadItem, bool) { - return &avwshdwi, true -} - -// AzureVMWorkloadSAPHanaSystemProtectableItem azure VM workload-specific protectable item representing SAP -// HANA System. -type AzureVMWorkloadSAPHanaSystemProtectableItem struct { - // ParentName - Name for instance or AG - ParentName *string `json:"parentName,omitempty"` - // ParentUniqueName - Parent Unique Name is added to provide the service formatted URI Name of the Parent - // Only Applicable for data bases where the parent would be either Instance or a SQL AG. - ParentUniqueName *string `json:"parentUniqueName,omitempty"` - // ServerName - Host/Cluster Name for instance or AG - ServerName *string `json:"serverName,omitempty"` - // IsAutoProtectable - Indicates if protectable item is auto-protectable - IsAutoProtectable *bool `json:"isAutoProtectable,omitempty"` - // IsAutoProtected - Indicates if protectable item is auto-protected - IsAutoProtected *bool `json:"isAutoProtected,omitempty"` - // Subinquireditemcount - For instance or AG, indicates number of DBs present - Subinquireditemcount *int32 `json:"subinquireditemcount,omitempty"` - // Subprotectableitemcount - For instance or AG, indicates number of DBs to be protected - Subprotectableitemcount *int32 `json:"subprotectableitemcount,omitempty"` - // Prebackupvalidation - Pre-backup validation for protectable objects - Prebackupvalidation *PreBackupValidation `json:"prebackupvalidation,omitempty"` - // BackupManagementType - Type of backup management to backup an item. - BackupManagementType *string `json:"backupManagementType,omitempty"` - // WorkloadType - Type of workload for the backup management - WorkloadType *string `json:"workloadType,omitempty"` - // FriendlyName - Friendly name of the backup item. - FriendlyName *string `json:"friendlyName,omitempty"` - // ProtectionState - State of the back up item. Possible values include: 'ProtectionStatusInvalid', 'ProtectionStatusNotProtected', 'ProtectionStatusProtecting', 'ProtectionStatusProtected', 'ProtectionStatusProtectionFailed' - ProtectionState ProtectionStatus `json:"protectionState,omitempty"` - // ProtectableItemType - Possible values include: 'ProtectableItemTypeWorkloadProtectableItem', 'ProtectableItemTypeAzureFileShare', 'ProtectableItemTypeMicrosoftClassicComputevirtualMachines', 'ProtectableItemTypeMicrosoftComputevirtualMachines', 'ProtectableItemTypeAzureVMWorkloadProtectableItem', 'ProtectableItemTypeSAPAseDatabase', 'ProtectableItemTypeSAPAseSystem', 'ProtectableItemTypeSAPHanaDatabase', 'ProtectableItemTypeSAPHanaSystem', 'ProtectableItemTypeSQLAvailabilityGroupContainer', 'ProtectableItemTypeSQLDataBase', 'ProtectableItemTypeSQLInstance', 'ProtectableItemTypeIaaSVMProtectableItem' - ProtectableItemType ProtectableItemType `json:"protectableItemType,omitempty"` -} - -// MarshalJSON is the custom marshaler for AzureVMWorkloadSAPHanaSystemProtectableItem. -func (avwshspi AzureVMWorkloadSAPHanaSystemProtectableItem) MarshalJSON() ([]byte, error) { - avwshspi.ProtectableItemType = ProtectableItemTypeSAPHanaSystem - objectMap := make(map[string]interface{}) - if avwshspi.ParentName != nil { - objectMap["parentName"] = avwshspi.ParentName - } - if avwshspi.ParentUniqueName != nil { - objectMap["parentUniqueName"] = avwshspi.ParentUniqueName - } - if avwshspi.ServerName != nil { - objectMap["serverName"] = avwshspi.ServerName - } - if avwshspi.IsAutoProtectable != nil { - objectMap["isAutoProtectable"] = avwshspi.IsAutoProtectable - } - if avwshspi.IsAutoProtected != nil { - objectMap["isAutoProtected"] = avwshspi.IsAutoProtected - } - if avwshspi.Subinquireditemcount != nil { - objectMap["subinquireditemcount"] = avwshspi.Subinquireditemcount - } - if avwshspi.Subprotectableitemcount != nil { - objectMap["subprotectableitemcount"] = avwshspi.Subprotectableitemcount - } - if avwshspi.Prebackupvalidation != nil { - objectMap["prebackupvalidation"] = avwshspi.Prebackupvalidation - } - if avwshspi.BackupManagementType != nil { - objectMap["backupManagementType"] = avwshspi.BackupManagementType - } - if avwshspi.WorkloadType != nil { - objectMap["workloadType"] = avwshspi.WorkloadType - } - if avwshspi.FriendlyName != nil { - objectMap["friendlyName"] = avwshspi.FriendlyName - } - if avwshspi.ProtectionState != "" { - objectMap["protectionState"] = avwshspi.ProtectionState - } - if avwshspi.ProtectableItemType != "" { - objectMap["protectableItemType"] = avwshspi.ProtectableItemType - } - return json.Marshal(objectMap) -} - -// AsAzureFileShareProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPHanaSystemProtectableItem. -func (avwshspi AzureVMWorkloadSAPHanaSystemProtectableItem) AsAzureFileShareProtectableItem() (*AzureFileShareProtectableItem, bool) { - return nil, false -} - -// AsAzureIaaSClassicComputeVMProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPHanaSystemProtectableItem. -func (avwshspi AzureVMWorkloadSAPHanaSystemProtectableItem) AsAzureIaaSClassicComputeVMProtectableItem() (*AzureIaaSClassicComputeVMProtectableItem, bool) { - return nil, false -} - -// AsAzureIaaSComputeVMProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPHanaSystemProtectableItem. -func (avwshspi AzureVMWorkloadSAPHanaSystemProtectableItem) AsAzureIaaSComputeVMProtectableItem() (*AzureIaaSComputeVMProtectableItem, bool) { - return nil, false -} - -// AsAzureVMWorkloadProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPHanaSystemProtectableItem. -func (avwshspi AzureVMWorkloadSAPHanaSystemProtectableItem) AsAzureVMWorkloadProtectableItem() (*AzureVMWorkloadProtectableItem, bool) { - return nil, false -} - -// AsBasicAzureVMWorkloadProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPHanaSystemProtectableItem. -func (avwshspi AzureVMWorkloadSAPHanaSystemProtectableItem) AsBasicAzureVMWorkloadProtectableItem() (BasicAzureVMWorkloadProtectableItem, bool) { - return &avwshspi, true -} - -// AsAzureVMWorkloadSAPAseDatabaseProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPHanaSystemProtectableItem. -func (avwshspi AzureVMWorkloadSAPHanaSystemProtectableItem) AsAzureVMWorkloadSAPAseDatabaseProtectableItem() (*AzureVMWorkloadSAPAseDatabaseProtectableItem, bool) { - return nil, false -} - -// AsAzureVMWorkloadSAPAseSystemProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPHanaSystemProtectableItem. -func (avwshspi AzureVMWorkloadSAPHanaSystemProtectableItem) AsAzureVMWorkloadSAPAseSystemProtectableItem() (*AzureVMWorkloadSAPAseSystemProtectableItem, bool) { - return nil, false -} - -// AsAzureVMWorkloadSAPHanaDatabaseProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPHanaSystemProtectableItem. -func (avwshspi AzureVMWorkloadSAPHanaSystemProtectableItem) AsAzureVMWorkloadSAPHanaDatabaseProtectableItem() (*AzureVMWorkloadSAPHanaDatabaseProtectableItem, bool) { - return nil, false -} - -// AsAzureVMWorkloadSAPHanaSystemProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPHanaSystemProtectableItem. -func (avwshspi AzureVMWorkloadSAPHanaSystemProtectableItem) AsAzureVMWorkloadSAPHanaSystemProtectableItem() (*AzureVMWorkloadSAPHanaSystemProtectableItem, bool) { - return &avwshspi, true -} - -// AsAzureVMWorkloadSQLAvailabilityGroupProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPHanaSystemProtectableItem. -func (avwshspi AzureVMWorkloadSAPHanaSystemProtectableItem) AsAzureVMWorkloadSQLAvailabilityGroupProtectableItem() (*AzureVMWorkloadSQLAvailabilityGroupProtectableItem, bool) { - return nil, false -} - -// AsAzureVMWorkloadSQLDatabaseProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPHanaSystemProtectableItem. -func (avwshspi AzureVMWorkloadSAPHanaSystemProtectableItem) AsAzureVMWorkloadSQLDatabaseProtectableItem() (*AzureVMWorkloadSQLDatabaseProtectableItem, bool) { - return nil, false -} - -// AsAzureVMWorkloadSQLInstanceProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPHanaSystemProtectableItem. -func (avwshspi AzureVMWorkloadSAPHanaSystemProtectableItem) AsAzureVMWorkloadSQLInstanceProtectableItem() (*AzureVMWorkloadSQLInstanceProtectableItem, bool) { - return nil, false -} - -// AsIaaSVMProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPHanaSystemProtectableItem. -func (avwshspi AzureVMWorkloadSAPHanaSystemProtectableItem) AsIaaSVMProtectableItem() (*IaaSVMProtectableItem, bool) { - return nil, false -} - -// AsBasicIaaSVMProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPHanaSystemProtectableItem. -func (avwshspi AzureVMWorkloadSAPHanaSystemProtectableItem) AsBasicIaaSVMProtectableItem() (BasicIaaSVMProtectableItem, bool) { - return nil, false -} - -// AsWorkloadProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPHanaSystemProtectableItem. -func (avwshspi AzureVMWorkloadSAPHanaSystemProtectableItem) AsWorkloadProtectableItem() (*WorkloadProtectableItem, bool) { - return nil, false -} - -// AsBasicWorkloadProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPHanaSystemProtectableItem. -func (avwshspi AzureVMWorkloadSAPHanaSystemProtectableItem) AsBasicWorkloadProtectableItem() (BasicWorkloadProtectableItem, bool) { - return &avwshspi, true -} - -// AzureVMWorkloadSAPHanaSystemWorkloadItem azure VM workload-specific workload item representing SAP HANA -// System. -type AzureVMWorkloadSAPHanaSystemWorkloadItem struct { - // ParentName - Name for instance or AG - ParentName *string `json:"parentName,omitempty"` - // ServerName - Host/Cluster Name for instance or AG - ServerName *string `json:"serverName,omitempty"` - // IsAutoProtectable - Indicates if workload item is auto-protectable - IsAutoProtectable *bool `json:"isAutoProtectable,omitempty"` - // Subinquireditemcount - For instance or AG, indicates number of DBs present - Subinquireditemcount *int32 `json:"subinquireditemcount,omitempty"` - // SubWorkloadItemCount - For instance or AG, indicates number of DBs to be protected - SubWorkloadItemCount *int32 `json:"subWorkloadItemCount,omitempty"` - // BackupManagementType - Type of backup management to backup an item. - BackupManagementType *string `json:"backupManagementType,omitempty"` - // WorkloadType - Type of workload for the backup management - WorkloadType *string `json:"workloadType,omitempty"` - // FriendlyName - Friendly name of the backup item. - FriendlyName *string `json:"friendlyName,omitempty"` - // ProtectionState - State of the back up item. Possible values include: 'ProtectionStatusInvalid', 'ProtectionStatusNotProtected', 'ProtectionStatusProtecting', 'ProtectionStatusProtected', 'ProtectionStatusProtectionFailed' - ProtectionState ProtectionStatus `json:"protectionState,omitempty"` - // WorkloadItemType - Possible values include: 'WorkloadItemTypeWorkloadItem', 'WorkloadItemTypeAzureVMWorkloadItem', 'WorkloadItemTypeSAPAseDatabase1', 'WorkloadItemTypeSAPAseSystem1', 'WorkloadItemTypeSAPHanaDatabase1', 'WorkloadItemTypeSAPHanaSystem1', 'WorkloadItemTypeSQLDataBase1', 'WorkloadItemTypeSQLInstance1' - WorkloadItemType WorkloadItemTypeBasicWorkloadItem `json:"workloadItemType,omitempty"` -} - -// MarshalJSON is the custom marshaler for AzureVMWorkloadSAPHanaSystemWorkloadItem. -func (avwshswi AzureVMWorkloadSAPHanaSystemWorkloadItem) MarshalJSON() ([]byte, error) { - avwshswi.WorkloadItemType = WorkloadItemTypeSAPHanaSystem1 - objectMap := make(map[string]interface{}) - if avwshswi.ParentName != nil { - objectMap["parentName"] = avwshswi.ParentName - } - if avwshswi.ServerName != nil { - objectMap["serverName"] = avwshswi.ServerName - } - if avwshswi.IsAutoProtectable != nil { - objectMap["isAutoProtectable"] = avwshswi.IsAutoProtectable - } - if avwshswi.Subinquireditemcount != nil { - objectMap["subinquireditemcount"] = avwshswi.Subinquireditemcount - } - if avwshswi.SubWorkloadItemCount != nil { - objectMap["subWorkloadItemCount"] = avwshswi.SubWorkloadItemCount - } - if avwshswi.BackupManagementType != nil { - objectMap["backupManagementType"] = avwshswi.BackupManagementType - } - if avwshswi.WorkloadType != nil { - objectMap["workloadType"] = avwshswi.WorkloadType - } - if avwshswi.FriendlyName != nil { - objectMap["friendlyName"] = avwshswi.FriendlyName - } - if avwshswi.ProtectionState != "" { - objectMap["protectionState"] = avwshswi.ProtectionState - } - if avwshswi.WorkloadItemType != "" { - objectMap["workloadItemType"] = avwshswi.WorkloadItemType - } - return json.Marshal(objectMap) -} - -// AsAzureVMWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSAPHanaSystemWorkloadItem. -func (avwshswi AzureVMWorkloadSAPHanaSystemWorkloadItem) AsAzureVMWorkloadItem() (*AzureVMWorkloadItem, bool) { - return nil, false -} - -// AsBasicAzureVMWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSAPHanaSystemWorkloadItem. -func (avwshswi AzureVMWorkloadSAPHanaSystemWorkloadItem) AsBasicAzureVMWorkloadItem() (BasicAzureVMWorkloadItem, bool) { - return &avwshswi, true -} - -// AsAzureVMWorkloadSAPAseDatabaseWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSAPHanaSystemWorkloadItem. -func (avwshswi AzureVMWorkloadSAPHanaSystemWorkloadItem) AsAzureVMWorkloadSAPAseDatabaseWorkloadItem() (*AzureVMWorkloadSAPAseDatabaseWorkloadItem, bool) { - return nil, false -} - -// AsAzureVMWorkloadSAPAseSystemWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSAPHanaSystemWorkloadItem. -func (avwshswi AzureVMWorkloadSAPHanaSystemWorkloadItem) AsAzureVMWorkloadSAPAseSystemWorkloadItem() (*AzureVMWorkloadSAPAseSystemWorkloadItem, bool) { - return nil, false -} - -// AsAzureVMWorkloadSAPHanaDatabaseWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSAPHanaSystemWorkloadItem. -func (avwshswi AzureVMWorkloadSAPHanaSystemWorkloadItem) AsAzureVMWorkloadSAPHanaDatabaseWorkloadItem() (*AzureVMWorkloadSAPHanaDatabaseWorkloadItem, bool) { - return nil, false -} - -// AsAzureVMWorkloadSAPHanaSystemWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSAPHanaSystemWorkloadItem. -func (avwshswi AzureVMWorkloadSAPHanaSystemWorkloadItem) AsAzureVMWorkloadSAPHanaSystemWorkloadItem() (*AzureVMWorkloadSAPHanaSystemWorkloadItem, bool) { - return &avwshswi, true -} - -// AsAzureVMWorkloadSQLDatabaseWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSAPHanaSystemWorkloadItem. -func (avwshswi AzureVMWorkloadSAPHanaSystemWorkloadItem) AsAzureVMWorkloadSQLDatabaseWorkloadItem() (*AzureVMWorkloadSQLDatabaseWorkloadItem, bool) { - return nil, false -} - -// AsAzureVMWorkloadSQLInstanceWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSAPHanaSystemWorkloadItem. -func (avwshswi AzureVMWorkloadSAPHanaSystemWorkloadItem) AsAzureVMWorkloadSQLInstanceWorkloadItem() (*AzureVMWorkloadSQLInstanceWorkloadItem, bool) { - return nil, false -} - -// AsWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSAPHanaSystemWorkloadItem. -func (avwshswi AzureVMWorkloadSAPHanaSystemWorkloadItem) AsWorkloadItem() (*WorkloadItem, bool) { - return nil, false -} - -// AsBasicWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSAPHanaSystemWorkloadItem. -func (avwshswi AzureVMWorkloadSAPHanaSystemWorkloadItem) AsBasicWorkloadItem() (BasicWorkloadItem, bool) { - return &avwshswi, true -} - -// AzureVMWorkloadSQLAvailabilityGroupProtectableItem azure VM workload-specific protectable item -// representing SQL Availability Group. -type AzureVMWorkloadSQLAvailabilityGroupProtectableItem struct { - // ParentName - Name for instance or AG - ParentName *string `json:"parentName,omitempty"` - // ParentUniqueName - Parent Unique Name is added to provide the service formatted URI Name of the Parent - // Only Applicable for data bases where the parent would be either Instance or a SQL AG. - ParentUniqueName *string `json:"parentUniqueName,omitempty"` - // ServerName - Host/Cluster Name for instance or AG - ServerName *string `json:"serverName,omitempty"` - // IsAutoProtectable - Indicates if protectable item is auto-protectable - IsAutoProtectable *bool `json:"isAutoProtectable,omitempty"` - // IsAutoProtected - Indicates if protectable item is auto-protected - IsAutoProtected *bool `json:"isAutoProtected,omitempty"` - // Subinquireditemcount - For instance or AG, indicates number of DBs present - Subinquireditemcount *int32 `json:"subinquireditemcount,omitempty"` - // Subprotectableitemcount - For instance or AG, indicates number of DBs to be protected - Subprotectableitemcount *int32 `json:"subprotectableitemcount,omitempty"` - // Prebackupvalidation - Pre-backup validation for protectable objects - Prebackupvalidation *PreBackupValidation `json:"prebackupvalidation,omitempty"` - // BackupManagementType - Type of backup management to backup an item. - BackupManagementType *string `json:"backupManagementType,omitempty"` - // WorkloadType - Type of workload for the backup management - WorkloadType *string `json:"workloadType,omitempty"` - // FriendlyName - Friendly name of the backup item. - FriendlyName *string `json:"friendlyName,omitempty"` - // ProtectionState - State of the back up item. Possible values include: 'ProtectionStatusInvalid', 'ProtectionStatusNotProtected', 'ProtectionStatusProtecting', 'ProtectionStatusProtected', 'ProtectionStatusProtectionFailed' - ProtectionState ProtectionStatus `json:"protectionState,omitempty"` - // ProtectableItemType - Possible values include: 'ProtectableItemTypeWorkloadProtectableItem', 'ProtectableItemTypeAzureFileShare', 'ProtectableItemTypeMicrosoftClassicComputevirtualMachines', 'ProtectableItemTypeMicrosoftComputevirtualMachines', 'ProtectableItemTypeAzureVMWorkloadProtectableItem', 'ProtectableItemTypeSAPAseDatabase', 'ProtectableItemTypeSAPAseSystem', 'ProtectableItemTypeSAPHanaDatabase', 'ProtectableItemTypeSAPHanaSystem', 'ProtectableItemTypeSQLAvailabilityGroupContainer', 'ProtectableItemTypeSQLDataBase', 'ProtectableItemTypeSQLInstance', 'ProtectableItemTypeIaaSVMProtectableItem' - ProtectableItemType ProtectableItemType `json:"protectableItemType,omitempty"` -} - -// MarshalJSON is the custom marshaler for AzureVMWorkloadSQLAvailabilityGroupProtectableItem. -func (avwsagpi AzureVMWorkloadSQLAvailabilityGroupProtectableItem) MarshalJSON() ([]byte, error) { - avwsagpi.ProtectableItemType = ProtectableItemTypeSQLAvailabilityGroupContainer - objectMap := make(map[string]interface{}) - if avwsagpi.ParentName != nil { - objectMap["parentName"] = avwsagpi.ParentName - } - if avwsagpi.ParentUniqueName != nil { - objectMap["parentUniqueName"] = avwsagpi.ParentUniqueName - } - if avwsagpi.ServerName != nil { - objectMap["serverName"] = avwsagpi.ServerName - } - if avwsagpi.IsAutoProtectable != nil { - objectMap["isAutoProtectable"] = avwsagpi.IsAutoProtectable - } - if avwsagpi.IsAutoProtected != nil { - objectMap["isAutoProtected"] = avwsagpi.IsAutoProtected - } - if avwsagpi.Subinquireditemcount != nil { - objectMap["subinquireditemcount"] = avwsagpi.Subinquireditemcount - } - if avwsagpi.Subprotectableitemcount != nil { - objectMap["subprotectableitemcount"] = avwsagpi.Subprotectableitemcount - } - if avwsagpi.Prebackupvalidation != nil { - objectMap["prebackupvalidation"] = avwsagpi.Prebackupvalidation - } - if avwsagpi.BackupManagementType != nil { - objectMap["backupManagementType"] = avwsagpi.BackupManagementType - } - if avwsagpi.WorkloadType != nil { - objectMap["workloadType"] = avwsagpi.WorkloadType - } - if avwsagpi.FriendlyName != nil { - objectMap["friendlyName"] = avwsagpi.FriendlyName - } - if avwsagpi.ProtectionState != "" { - objectMap["protectionState"] = avwsagpi.ProtectionState - } - if avwsagpi.ProtectableItemType != "" { - objectMap["protectableItemType"] = avwsagpi.ProtectableItemType - } - return json.Marshal(objectMap) -} - -// AsAzureFileShareProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSQLAvailabilityGroupProtectableItem. -func (avwsagpi AzureVMWorkloadSQLAvailabilityGroupProtectableItem) AsAzureFileShareProtectableItem() (*AzureFileShareProtectableItem, bool) { - return nil, false -} - -// AsAzureIaaSClassicComputeVMProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSQLAvailabilityGroupProtectableItem. -func (avwsagpi AzureVMWorkloadSQLAvailabilityGroupProtectableItem) AsAzureIaaSClassicComputeVMProtectableItem() (*AzureIaaSClassicComputeVMProtectableItem, bool) { - return nil, false -} - -// AsAzureIaaSComputeVMProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSQLAvailabilityGroupProtectableItem. -func (avwsagpi AzureVMWorkloadSQLAvailabilityGroupProtectableItem) AsAzureIaaSComputeVMProtectableItem() (*AzureIaaSComputeVMProtectableItem, bool) { - return nil, false -} - -// AsAzureVMWorkloadProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSQLAvailabilityGroupProtectableItem. -func (avwsagpi AzureVMWorkloadSQLAvailabilityGroupProtectableItem) AsAzureVMWorkloadProtectableItem() (*AzureVMWorkloadProtectableItem, bool) { - return nil, false -} - -// AsBasicAzureVMWorkloadProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSQLAvailabilityGroupProtectableItem. -func (avwsagpi AzureVMWorkloadSQLAvailabilityGroupProtectableItem) AsBasicAzureVMWorkloadProtectableItem() (BasicAzureVMWorkloadProtectableItem, bool) { - return &avwsagpi, true -} - -// AsAzureVMWorkloadSAPAseDatabaseProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSQLAvailabilityGroupProtectableItem. -func (avwsagpi AzureVMWorkloadSQLAvailabilityGroupProtectableItem) AsAzureVMWorkloadSAPAseDatabaseProtectableItem() (*AzureVMWorkloadSAPAseDatabaseProtectableItem, bool) { - return nil, false -} - -// AsAzureVMWorkloadSAPAseSystemProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSQLAvailabilityGroupProtectableItem. -func (avwsagpi AzureVMWorkloadSQLAvailabilityGroupProtectableItem) AsAzureVMWorkloadSAPAseSystemProtectableItem() (*AzureVMWorkloadSAPAseSystemProtectableItem, bool) { - return nil, false -} - -// AsAzureVMWorkloadSAPHanaDatabaseProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSQLAvailabilityGroupProtectableItem. -func (avwsagpi AzureVMWorkloadSQLAvailabilityGroupProtectableItem) AsAzureVMWorkloadSAPHanaDatabaseProtectableItem() (*AzureVMWorkloadSAPHanaDatabaseProtectableItem, bool) { - return nil, false -} - -// AsAzureVMWorkloadSAPHanaSystemProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSQLAvailabilityGroupProtectableItem. -func (avwsagpi AzureVMWorkloadSQLAvailabilityGroupProtectableItem) AsAzureVMWorkloadSAPHanaSystemProtectableItem() (*AzureVMWorkloadSAPHanaSystemProtectableItem, bool) { - return nil, false -} - -// AsAzureVMWorkloadSQLAvailabilityGroupProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSQLAvailabilityGroupProtectableItem. -func (avwsagpi AzureVMWorkloadSQLAvailabilityGroupProtectableItem) AsAzureVMWorkloadSQLAvailabilityGroupProtectableItem() (*AzureVMWorkloadSQLAvailabilityGroupProtectableItem, bool) { - return &avwsagpi, true -} - -// AsAzureVMWorkloadSQLDatabaseProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSQLAvailabilityGroupProtectableItem. -func (avwsagpi AzureVMWorkloadSQLAvailabilityGroupProtectableItem) AsAzureVMWorkloadSQLDatabaseProtectableItem() (*AzureVMWorkloadSQLDatabaseProtectableItem, bool) { - return nil, false -} - -// AsAzureVMWorkloadSQLInstanceProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSQLAvailabilityGroupProtectableItem. -func (avwsagpi AzureVMWorkloadSQLAvailabilityGroupProtectableItem) AsAzureVMWorkloadSQLInstanceProtectableItem() (*AzureVMWorkloadSQLInstanceProtectableItem, bool) { - return nil, false -} - -// AsIaaSVMProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSQLAvailabilityGroupProtectableItem. -func (avwsagpi AzureVMWorkloadSQLAvailabilityGroupProtectableItem) AsIaaSVMProtectableItem() (*IaaSVMProtectableItem, bool) { - return nil, false -} - -// AsBasicIaaSVMProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSQLAvailabilityGroupProtectableItem. -func (avwsagpi AzureVMWorkloadSQLAvailabilityGroupProtectableItem) AsBasicIaaSVMProtectableItem() (BasicIaaSVMProtectableItem, bool) { - return nil, false -} - -// AsWorkloadProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSQLAvailabilityGroupProtectableItem. -func (avwsagpi AzureVMWorkloadSQLAvailabilityGroupProtectableItem) AsWorkloadProtectableItem() (*WorkloadProtectableItem, bool) { - return nil, false -} - -// AsBasicWorkloadProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSQLAvailabilityGroupProtectableItem. -func (avwsagpi AzureVMWorkloadSQLAvailabilityGroupProtectableItem) AsBasicWorkloadProtectableItem() (BasicWorkloadProtectableItem, bool) { - return &avwsagpi, true -} - -// AzureVMWorkloadSQLDatabaseProtectableItem azure VM workload-specific protectable item representing SQL -// Database. -type AzureVMWorkloadSQLDatabaseProtectableItem struct { - // ParentName - Name for instance or AG - ParentName *string `json:"parentName,omitempty"` - // ParentUniqueName - Parent Unique Name is added to provide the service formatted URI Name of the Parent - // Only Applicable for data bases where the parent would be either Instance or a SQL AG. - ParentUniqueName *string `json:"parentUniqueName,omitempty"` - // ServerName - Host/Cluster Name for instance or AG - ServerName *string `json:"serverName,omitempty"` - // IsAutoProtectable - Indicates if protectable item is auto-protectable - IsAutoProtectable *bool `json:"isAutoProtectable,omitempty"` - // IsAutoProtected - Indicates if protectable item is auto-protected - IsAutoProtected *bool `json:"isAutoProtected,omitempty"` - // Subinquireditemcount - For instance or AG, indicates number of DBs present - Subinquireditemcount *int32 `json:"subinquireditemcount,omitempty"` - // Subprotectableitemcount - For instance or AG, indicates number of DBs to be protected - Subprotectableitemcount *int32 `json:"subprotectableitemcount,omitempty"` - // Prebackupvalidation - Pre-backup validation for protectable objects - Prebackupvalidation *PreBackupValidation `json:"prebackupvalidation,omitempty"` - // BackupManagementType - Type of backup management to backup an item. - BackupManagementType *string `json:"backupManagementType,omitempty"` - // WorkloadType - Type of workload for the backup management - WorkloadType *string `json:"workloadType,omitempty"` - // FriendlyName - Friendly name of the backup item. - FriendlyName *string `json:"friendlyName,omitempty"` - // ProtectionState - State of the back up item. Possible values include: 'ProtectionStatusInvalid', 'ProtectionStatusNotProtected', 'ProtectionStatusProtecting', 'ProtectionStatusProtected', 'ProtectionStatusProtectionFailed' - ProtectionState ProtectionStatus `json:"protectionState,omitempty"` - // ProtectableItemType - Possible values include: 'ProtectableItemTypeWorkloadProtectableItem', 'ProtectableItemTypeAzureFileShare', 'ProtectableItemTypeMicrosoftClassicComputevirtualMachines', 'ProtectableItemTypeMicrosoftComputevirtualMachines', 'ProtectableItemTypeAzureVMWorkloadProtectableItem', 'ProtectableItemTypeSAPAseDatabase', 'ProtectableItemTypeSAPAseSystem', 'ProtectableItemTypeSAPHanaDatabase', 'ProtectableItemTypeSAPHanaSystem', 'ProtectableItemTypeSQLAvailabilityGroupContainer', 'ProtectableItemTypeSQLDataBase', 'ProtectableItemTypeSQLInstance', 'ProtectableItemTypeIaaSVMProtectableItem' - ProtectableItemType ProtectableItemType `json:"protectableItemType,omitempty"` -} - -// MarshalJSON is the custom marshaler for AzureVMWorkloadSQLDatabaseProtectableItem. -func (avwsdpi AzureVMWorkloadSQLDatabaseProtectableItem) MarshalJSON() ([]byte, error) { - avwsdpi.ProtectableItemType = ProtectableItemTypeSQLDataBase - objectMap := make(map[string]interface{}) - if avwsdpi.ParentName != nil { - objectMap["parentName"] = avwsdpi.ParentName - } - if avwsdpi.ParentUniqueName != nil { - objectMap["parentUniqueName"] = avwsdpi.ParentUniqueName - } - if avwsdpi.ServerName != nil { - objectMap["serverName"] = avwsdpi.ServerName - } - if avwsdpi.IsAutoProtectable != nil { - objectMap["isAutoProtectable"] = avwsdpi.IsAutoProtectable - } - if avwsdpi.IsAutoProtected != nil { - objectMap["isAutoProtected"] = avwsdpi.IsAutoProtected - } - if avwsdpi.Subinquireditemcount != nil { - objectMap["subinquireditemcount"] = avwsdpi.Subinquireditemcount - } - if avwsdpi.Subprotectableitemcount != nil { - objectMap["subprotectableitemcount"] = avwsdpi.Subprotectableitemcount - } - if avwsdpi.Prebackupvalidation != nil { - objectMap["prebackupvalidation"] = avwsdpi.Prebackupvalidation - } - if avwsdpi.BackupManagementType != nil { - objectMap["backupManagementType"] = avwsdpi.BackupManagementType - } - if avwsdpi.WorkloadType != nil { - objectMap["workloadType"] = avwsdpi.WorkloadType - } - if avwsdpi.FriendlyName != nil { - objectMap["friendlyName"] = avwsdpi.FriendlyName - } - if avwsdpi.ProtectionState != "" { - objectMap["protectionState"] = avwsdpi.ProtectionState - } - if avwsdpi.ProtectableItemType != "" { - objectMap["protectableItemType"] = avwsdpi.ProtectableItemType - } - return json.Marshal(objectMap) -} - -// AsAzureFileShareProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSQLDatabaseProtectableItem. -func (avwsdpi AzureVMWorkloadSQLDatabaseProtectableItem) AsAzureFileShareProtectableItem() (*AzureFileShareProtectableItem, bool) { - return nil, false -} - -// AsAzureIaaSClassicComputeVMProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSQLDatabaseProtectableItem. -func (avwsdpi AzureVMWorkloadSQLDatabaseProtectableItem) AsAzureIaaSClassicComputeVMProtectableItem() (*AzureIaaSClassicComputeVMProtectableItem, bool) { - return nil, false -} - -// AsAzureIaaSComputeVMProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSQLDatabaseProtectableItem. -func (avwsdpi AzureVMWorkloadSQLDatabaseProtectableItem) AsAzureIaaSComputeVMProtectableItem() (*AzureIaaSComputeVMProtectableItem, bool) { - return nil, false -} - -// AsAzureVMWorkloadProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSQLDatabaseProtectableItem. -func (avwsdpi AzureVMWorkloadSQLDatabaseProtectableItem) AsAzureVMWorkloadProtectableItem() (*AzureVMWorkloadProtectableItem, bool) { - return nil, false -} - -// AsBasicAzureVMWorkloadProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSQLDatabaseProtectableItem. -func (avwsdpi AzureVMWorkloadSQLDatabaseProtectableItem) AsBasicAzureVMWorkloadProtectableItem() (BasicAzureVMWorkloadProtectableItem, bool) { - return &avwsdpi, true -} - -// AsAzureVMWorkloadSAPAseDatabaseProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSQLDatabaseProtectableItem. -func (avwsdpi AzureVMWorkloadSQLDatabaseProtectableItem) AsAzureVMWorkloadSAPAseDatabaseProtectableItem() (*AzureVMWorkloadSAPAseDatabaseProtectableItem, bool) { - return nil, false -} - -// AsAzureVMWorkloadSAPAseSystemProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSQLDatabaseProtectableItem. -func (avwsdpi AzureVMWorkloadSQLDatabaseProtectableItem) AsAzureVMWorkloadSAPAseSystemProtectableItem() (*AzureVMWorkloadSAPAseSystemProtectableItem, bool) { - return nil, false -} - -// AsAzureVMWorkloadSAPHanaDatabaseProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSQLDatabaseProtectableItem. -func (avwsdpi AzureVMWorkloadSQLDatabaseProtectableItem) AsAzureVMWorkloadSAPHanaDatabaseProtectableItem() (*AzureVMWorkloadSAPHanaDatabaseProtectableItem, bool) { - return nil, false -} - -// AsAzureVMWorkloadSAPHanaSystemProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSQLDatabaseProtectableItem. -func (avwsdpi AzureVMWorkloadSQLDatabaseProtectableItem) AsAzureVMWorkloadSAPHanaSystemProtectableItem() (*AzureVMWorkloadSAPHanaSystemProtectableItem, bool) { - return nil, false -} - -// AsAzureVMWorkloadSQLAvailabilityGroupProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSQLDatabaseProtectableItem. -func (avwsdpi AzureVMWorkloadSQLDatabaseProtectableItem) AsAzureVMWorkloadSQLAvailabilityGroupProtectableItem() (*AzureVMWorkloadSQLAvailabilityGroupProtectableItem, bool) { - return nil, false -} - -// AsAzureVMWorkloadSQLDatabaseProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSQLDatabaseProtectableItem. -func (avwsdpi AzureVMWorkloadSQLDatabaseProtectableItem) AsAzureVMWorkloadSQLDatabaseProtectableItem() (*AzureVMWorkloadSQLDatabaseProtectableItem, bool) { - return &avwsdpi, true -} - -// AsAzureVMWorkloadSQLInstanceProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSQLDatabaseProtectableItem. -func (avwsdpi AzureVMWorkloadSQLDatabaseProtectableItem) AsAzureVMWorkloadSQLInstanceProtectableItem() (*AzureVMWorkloadSQLInstanceProtectableItem, bool) { - return nil, false -} - -// AsIaaSVMProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSQLDatabaseProtectableItem. -func (avwsdpi AzureVMWorkloadSQLDatabaseProtectableItem) AsIaaSVMProtectableItem() (*IaaSVMProtectableItem, bool) { - return nil, false -} - -// AsBasicIaaSVMProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSQLDatabaseProtectableItem. -func (avwsdpi AzureVMWorkloadSQLDatabaseProtectableItem) AsBasicIaaSVMProtectableItem() (BasicIaaSVMProtectableItem, bool) { - return nil, false -} - -// AsWorkloadProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSQLDatabaseProtectableItem. -func (avwsdpi AzureVMWorkloadSQLDatabaseProtectableItem) AsWorkloadProtectableItem() (*WorkloadProtectableItem, bool) { - return nil, false -} - -// AsBasicWorkloadProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSQLDatabaseProtectableItem. -func (avwsdpi AzureVMWorkloadSQLDatabaseProtectableItem) AsBasicWorkloadProtectableItem() (BasicWorkloadProtectableItem, bool) { - return &avwsdpi, true -} - -// AzureVMWorkloadSQLDatabaseProtectedItem azure VM workload-specific protected item representing SQL -// Database. -type AzureVMWorkloadSQLDatabaseProtectedItem struct { - // FriendlyName - Friendly name of the DB represented by this backup item. - FriendlyName *string `json:"friendlyName,omitempty"` - // ServerName - Host/Cluster Name for instance or AG - ServerName *string `json:"serverName,omitempty"` - // ParentName - Parent name of the DB such as Instance or Availability Group. - ParentName *string `json:"parentName,omitempty"` - // ParentType - Parent type of protected item, example: for a DB, standalone server or distributed - ParentType *string `json:"parentType,omitempty"` - // ProtectionStatus - Backup status of this backup item. - ProtectionStatus *string `json:"protectionStatus,omitempty"` - // ProtectionState - Backup state of this backup item. Possible values include: 'ProtectionStateInvalid', 'ProtectionStateIRPending', 'ProtectionStateProtected', 'ProtectionStateProtectionError', 'ProtectionStateProtectionStopped', 'ProtectionStateProtectionPaused' - ProtectionState ProtectionState `json:"protectionState,omitempty"` - // LastBackupStatus - Last backup operation status. Possible values: Healthy, Unhealthy. Possible values include: 'LastBackupStatusInvalid', 'LastBackupStatusHealthy', 'LastBackupStatusUnhealthy', 'LastBackupStatusIRPending' - LastBackupStatus LastBackupStatus `json:"lastBackupStatus,omitempty"` - // LastBackupTime - Timestamp of the last backup operation on this backup item. - LastBackupTime *date.Time `json:"lastBackupTime,omitempty"` - // LastBackupErrorDetail - Error details in last backup - LastBackupErrorDetail *ErrorDetail `json:"lastBackupErrorDetail,omitempty"` - // ProtectedItemDataSourceID - Data ID of the protected item. - ProtectedItemDataSourceID *string `json:"protectedItemDataSourceId,omitempty"` - // ProtectedItemHealthStatus - Health status of the backup item, evaluated based on last heartbeat received. Possible values include: 'ProtectedItemHealthStatusInvalid', 'ProtectedItemHealthStatusHealthy', 'ProtectedItemHealthStatusUnhealthy', 'ProtectedItemHealthStatusNotReachable', 'ProtectedItemHealthStatusIRPending' - ProtectedItemHealthStatus ProtectedItemHealthStatus `json:"protectedItemHealthStatus,omitempty"` - // ExtendedInfo - Additional information for this backup item. - ExtendedInfo *AzureVMWorkloadProtectedItemExtendedInfo `json:"extendedInfo,omitempty"` - // BackupManagementType - Type of backup management for the backed up item. Possible values include: 'ManagementTypeInvalid', 'ManagementTypeAzureIaasVM', 'ManagementTypeMAB', 'ManagementTypeDPM', 'ManagementTypeAzureBackupServer', 'ManagementTypeAzureSQL', 'ManagementTypeAzureStorage', 'ManagementTypeAzureWorkload', 'ManagementTypeDefaultBackup' - BackupManagementType ManagementType `json:"backupManagementType,omitempty"` - // WorkloadType - Type of workload this item represents. Possible values include: 'DataSourceTypeInvalid', 'DataSourceTypeVM', 'DataSourceTypeFileFolder', 'DataSourceTypeAzureSQLDb', 'DataSourceTypeSQLDB', 'DataSourceTypeExchange', 'DataSourceTypeSharepoint', 'DataSourceTypeVMwareVM', 'DataSourceTypeSystemState', 'DataSourceTypeClient', 'DataSourceTypeGenericDataSource', 'DataSourceTypeSQLDataBase', 'DataSourceTypeAzureFileShare', 'DataSourceTypeSAPHanaDatabase', 'DataSourceTypeSAPAseDatabase' - WorkloadType DataSourceType `json:"workloadType,omitempty"` - // ContainerName - Unique name of container - ContainerName *string `json:"containerName,omitempty"` - // SourceResourceID - ARM ID of the resource to be backed up. - SourceResourceID *string `json:"sourceResourceId,omitempty"` - // PolicyID - ID of the backup policy with which this item is backed up. - PolicyID *string `json:"policyId,omitempty"` - // LastRecoveryPoint - Timestamp when the last (latest) backup copy was created for this backup item. - LastRecoveryPoint *date.Time `json:"lastRecoveryPoint,omitempty"` - // BackupSetName - Name of the backup set the backup item belongs to - BackupSetName *string `json:"backupSetName,omitempty"` - // CreateMode - Create mode to indicate recovery of existing soft deleted data source or creation of new data source. Possible values include: 'CreateModeInvalid', 'CreateModeDefault', 'CreateModeRecover' - CreateMode CreateMode `json:"createMode,omitempty"` - // DeferredDeleteTimeInUTC - Time for deferred deletion in UTC - DeferredDeleteTimeInUTC *date.Time `json:"deferredDeleteTimeInUTC,omitempty"` - // IsScheduledForDeferredDelete - Flag to identify whether the DS is scheduled for deferred delete - IsScheduledForDeferredDelete *bool `json:"isScheduledForDeferredDelete,omitempty"` - // DeferredDeleteTimeRemaining - Time remaining before the DS marked for deferred delete is permanently deleted - DeferredDeleteTimeRemaining *string `json:"deferredDeleteTimeRemaining,omitempty"` - // IsDeferredDeleteScheduleUpcoming - Flag to identify whether the deferred deleted DS is to be purged soon - IsDeferredDeleteScheduleUpcoming *bool `json:"isDeferredDeleteScheduleUpcoming,omitempty"` - // IsRehydrate - Flag to identify that deferred deleted DS is to be moved into Pause state - IsRehydrate *bool `json:"isRehydrate,omitempty"` - // ProtectedItemType - Possible values include: 'ProtectedItemTypeProtectedItem', 'ProtectedItemTypeAzureFileShareProtectedItem', 'ProtectedItemTypeMicrosoftClassicComputevirtualMachines', 'ProtectedItemTypeMicrosoftComputevirtualMachines', 'ProtectedItemTypeAzureIaaSVMProtectedItem', 'ProtectedItemTypeMicrosoftSqlserversdatabases', 'ProtectedItemTypeAzureVMWorkloadProtectedItem', 'ProtectedItemTypeAzureVMWorkloadSAPAseDatabase', 'ProtectedItemTypeAzureVMWorkloadSAPHanaDatabase', 'ProtectedItemTypeAzureVMWorkloadSQLDatabase', 'ProtectedItemTypeDPMProtectedItem', 'ProtectedItemTypeGenericProtectedItem', 'ProtectedItemTypeMabFileFolderProtectedItem' - ProtectedItemType ProtectedItemType `json:"protectedItemType,omitempty"` -} - -// MarshalJSON is the custom marshaler for AzureVMWorkloadSQLDatabaseProtectedItem. -func (avwsdpi AzureVMWorkloadSQLDatabaseProtectedItem) MarshalJSON() ([]byte, error) { - avwsdpi.ProtectedItemType = ProtectedItemTypeAzureVMWorkloadSQLDatabase - objectMap := make(map[string]interface{}) - if avwsdpi.FriendlyName != nil { - objectMap["friendlyName"] = avwsdpi.FriendlyName - } - if avwsdpi.ServerName != nil { - objectMap["serverName"] = avwsdpi.ServerName - } - if avwsdpi.ParentName != nil { - objectMap["parentName"] = avwsdpi.ParentName - } - if avwsdpi.ParentType != nil { - objectMap["parentType"] = avwsdpi.ParentType - } - if avwsdpi.ProtectionStatus != nil { - objectMap["protectionStatus"] = avwsdpi.ProtectionStatus - } - if avwsdpi.ProtectionState != "" { - objectMap["protectionState"] = avwsdpi.ProtectionState - } - if avwsdpi.LastBackupStatus != "" { - objectMap["lastBackupStatus"] = avwsdpi.LastBackupStatus - } - if avwsdpi.LastBackupTime != nil { - objectMap["lastBackupTime"] = avwsdpi.LastBackupTime - } - if avwsdpi.LastBackupErrorDetail != nil { - objectMap["lastBackupErrorDetail"] = avwsdpi.LastBackupErrorDetail - } - if avwsdpi.ProtectedItemDataSourceID != nil { - objectMap["protectedItemDataSourceId"] = avwsdpi.ProtectedItemDataSourceID - } - if avwsdpi.ProtectedItemHealthStatus != "" { - objectMap["protectedItemHealthStatus"] = avwsdpi.ProtectedItemHealthStatus - } - if avwsdpi.ExtendedInfo != nil { - objectMap["extendedInfo"] = avwsdpi.ExtendedInfo - } - if avwsdpi.BackupManagementType != "" { - objectMap["backupManagementType"] = avwsdpi.BackupManagementType - } - if avwsdpi.WorkloadType != "" { - objectMap["workloadType"] = avwsdpi.WorkloadType - } - if avwsdpi.ContainerName != nil { - objectMap["containerName"] = avwsdpi.ContainerName - } - if avwsdpi.SourceResourceID != nil { - objectMap["sourceResourceId"] = avwsdpi.SourceResourceID - } - if avwsdpi.PolicyID != nil { - objectMap["policyId"] = avwsdpi.PolicyID - } - if avwsdpi.LastRecoveryPoint != nil { - objectMap["lastRecoveryPoint"] = avwsdpi.LastRecoveryPoint - } - if avwsdpi.BackupSetName != nil { - objectMap["backupSetName"] = avwsdpi.BackupSetName - } - if avwsdpi.CreateMode != "" { - objectMap["createMode"] = avwsdpi.CreateMode - } - if avwsdpi.DeferredDeleteTimeInUTC != nil { - objectMap["deferredDeleteTimeInUTC"] = avwsdpi.DeferredDeleteTimeInUTC - } - if avwsdpi.IsScheduledForDeferredDelete != nil { - objectMap["isScheduledForDeferredDelete"] = avwsdpi.IsScheduledForDeferredDelete - } - if avwsdpi.DeferredDeleteTimeRemaining != nil { - objectMap["deferredDeleteTimeRemaining"] = avwsdpi.DeferredDeleteTimeRemaining - } - if avwsdpi.IsDeferredDeleteScheduleUpcoming != nil { - objectMap["isDeferredDeleteScheduleUpcoming"] = avwsdpi.IsDeferredDeleteScheduleUpcoming - } - if avwsdpi.IsRehydrate != nil { - objectMap["isRehydrate"] = avwsdpi.IsRehydrate - } - if avwsdpi.ProtectedItemType != "" { - objectMap["protectedItemType"] = avwsdpi.ProtectedItemType - } - return json.Marshal(objectMap) -} - -// AsAzureFileshareProtectedItem is the BasicProtectedItem implementation for AzureVMWorkloadSQLDatabaseProtectedItem. -func (avwsdpi AzureVMWorkloadSQLDatabaseProtectedItem) AsAzureFileshareProtectedItem() (*AzureFileshareProtectedItem, bool) { - return nil, false -} - -// AsAzureIaaSClassicComputeVMProtectedItem is the BasicProtectedItem implementation for AzureVMWorkloadSQLDatabaseProtectedItem. -func (avwsdpi AzureVMWorkloadSQLDatabaseProtectedItem) AsAzureIaaSClassicComputeVMProtectedItem() (*AzureIaaSClassicComputeVMProtectedItem, bool) { - return nil, false -} - -// AsAzureIaaSComputeVMProtectedItem is the BasicProtectedItem implementation for AzureVMWorkloadSQLDatabaseProtectedItem. -func (avwsdpi AzureVMWorkloadSQLDatabaseProtectedItem) AsAzureIaaSComputeVMProtectedItem() (*AzureIaaSComputeVMProtectedItem, bool) { - return nil, false -} - -// AsAzureIaaSVMProtectedItem is the BasicProtectedItem implementation for AzureVMWorkloadSQLDatabaseProtectedItem. -func (avwsdpi AzureVMWorkloadSQLDatabaseProtectedItem) AsAzureIaaSVMProtectedItem() (*AzureIaaSVMProtectedItem, bool) { - return nil, false -} - -// AsBasicAzureIaaSVMProtectedItem is the BasicProtectedItem implementation for AzureVMWorkloadSQLDatabaseProtectedItem. -func (avwsdpi AzureVMWorkloadSQLDatabaseProtectedItem) AsBasicAzureIaaSVMProtectedItem() (BasicAzureIaaSVMProtectedItem, bool) { - return nil, false -} - -// AsAzureSQLProtectedItem is the BasicProtectedItem implementation for AzureVMWorkloadSQLDatabaseProtectedItem. -func (avwsdpi AzureVMWorkloadSQLDatabaseProtectedItem) AsAzureSQLProtectedItem() (*AzureSQLProtectedItem, bool) { - return nil, false -} - -// AsAzureVMWorkloadProtectedItem is the BasicProtectedItem implementation for AzureVMWorkloadSQLDatabaseProtectedItem. -func (avwsdpi AzureVMWorkloadSQLDatabaseProtectedItem) AsAzureVMWorkloadProtectedItem() (*AzureVMWorkloadProtectedItem, bool) { - return nil, false -} - -// AsBasicAzureVMWorkloadProtectedItem is the BasicProtectedItem implementation for AzureVMWorkloadSQLDatabaseProtectedItem. -func (avwsdpi AzureVMWorkloadSQLDatabaseProtectedItem) AsBasicAzureVMWorkloadProtectedItem() (BasicAzureVMWorkloadProtectedItem, bool) { - return &avwsdpi, true -} - -// AsAzureVMWorkloadSAPAseDatabaseProtectedItem is the BasicProtectedItem implementation for AzureVMWorkloadSQLDatabaseProtectedItem. -func (avwsdpi AzureVMWorkloadSQLDatabaseProtectedItem) AsAzureVMWorkloadSAPAseDatabaseProtectedItem() (*AzureVMWorkloadSAPAseDatabaseProtectedItem, bool) { - return nil, false -} - -// AsAzureVMWorkloadSAPHanaDatabaseProtectedItem is the BasicProtectedItem implementation for AzureVMWorkloadSQLDatabaseProtectedItem. -func (avwsdpi AzureVMWorkloadSQLDatabaseProtectedItem) AsAzureVMWorkloadSAPHanaDatabaseProtectedItem() (*AzureVMWorkloadSAPHanaDatabaseProtectedItem, bool) { - return nil, false -} - -// AsAzureVMWorkloadSQLDatabaseProtectedItem is the BasicProtectedItem implementation for AzureVMWorkloadSQLDatabaseProtectedItem. -func (avwsdpi AzureVMWorkloadSQLDatabaseProtectedItem) AsAzureVMWorkloadSQLDatabaseProtectedItem() (*AzureVMWorkloadSQLDatabaseProtectedItem, bool) { - return &avwsdpi, true -} - -// AsDPMProtectedItem is the BasicProtectedItem implementation for AzureVMWorkloadSQLDatabaseProtectedItem. -func (avwsdpi AzureVMWorkloadSQLDatabaseProtectedItem) AsDPMProtectedItem() (*DPMProtectedItem, bool) { - return nil, false -} - -// AsGenericProtectedItem is the BasicProtectedItem implementation for AzureVMWorkloadSQLDatabaseProtectedItem. -func (avwsdpi AzureVMWorkloadSQLDatabaseProtectedItem) AsGenericProtectedItem() (*GenericProtectedItem, bool) { - return nil, false -} - -// AsMabFileFolderProtectedItem is the BasicProtectedItem implementation for AzureVMWorkloadSQLDatabaseProtectedItem. -func (avwsdpi AzureVMWorkloadSQLDatabaseProtectedItem) AsMabFileFolderProtectedItem() (*MabFileFolderProtectedItem, bool) { - return nil, false -} - -// AsProtectedItem is the BasicProtectedItem implementation for AzureVMWorkloadSQLDatabaseProtectedItem. -func (avwsdpi AzureVMWorkloadSQLDatabaseProtectedItem) AsProtectedItem() (*ProtectedItem, bool) { - return nil, false -} - -// AsBasicProtectedItem is the BasicProtectedItem implementation for AzureVMWorkloadSQLDatabaseProtectedItem. -func (avwsdpi AzureVMWorkloadSQLDatabaseProtectedItem) AsBasicProtectedItem() (BasicProtectedItem, bool) { - return &avwsdpi, true -} - -// AzureVMWorkloadSQLDatabaseWorkloadItem azure VM workload-specific workload item representing SQL -// Database. -type AzureVMWorkloadSQLDatabaseWorkloadItem struct { - // ParentName - Name for instance or AG - ParentName *string `json:"parentName,omitempty"` - // ServerName - Host/Cluster Name for instance or AG - ServerName *string `json:"serverName,omitempty"` - // IsAutoProtectable - Indicates if workload item is auto-protectable - IsAutoProtectable *bool `json:"isAutoProtectable,omitempty"` - // Subinquireditemcount - For instance or AG, indicates number of DBs present - Subinquireditemcount *int32 `json:"subinquireditemcount,omitempty"` - // SubWorkloadItemCount - For instance or AG, indicates number of DBs to be protected - SubWorkloadItemCount *int32 `json:"subWorkloadItemCount,omitempty"` - // BackupManagementType - Type of backup management to backup an item. - BackupManagementType *string `json:"backupManagementType,omitempty"` - // WorkloadType - Type of workload for the backup management - WorkloadType *string `json:"workloadType,omitempty"` - // FriendlyName - Friendly name of the backup item. - FriendlyName *string `json:"friendlyName,omitempty"` - // ProtectionState - State of the back up item. Possible values include: 'ProtectionStatusInvalid', 'ProtectionStatusNotProtected', 'ProtectionStatusProtecting', 'ProtectionStatusProtected', 'ProtectionStatusProtectionFailed' - ProtectionState ProtectionStatus `json:"protectionState,omitempty"` - // WorkloadItemType - Possible values include: 'WorkloadItemTypeWorkloadItem', 'WorkloadItemTypeAzureVMWorkloadItem', 'WorkloadItemTypeSAPAseDatabase1', 'WorkloadItemTypeSAPAseSystem1', 'WorkloadItemTypeSAPHanaDatabase1', 'WorkloadItemTypeSAPHanaSystem1', 'WorkloadItemTypeSQLDataBase1', 'WorkloadItemTypeSQLInstance1' - WorkloadItemType WorkloadItemTypeBasicWorkloadItem `json:"workloadItemType,omitempty"` -} - -// MarshalJSON is the custom marshaler for AzureVMWorkloadSQLDatabaseWorkloadItem. -func (avwsdwi AzureVMWorkloadSQLDatabaseWorkloadItem) MarshalJSON() ([]byte, error) { - avwsdwi.WorkloadItemType = WorkloadItemTypeSQLDataBase1 - objectMap := make(map[string]interface{}) - if avwsdwi.ParentName != nil { - objectMap["parentName"] = avwsdwi.ParentName - } - if avwsdwi.ServerName != nil { - objectMap["serverName"] = avwsdwi.ServerName - } - if avwsdwi.IsAutoProtectable != nil { - objectMap["isAutoProtectable"] = avwsdwi.IsAutoProtectable - } - if avwsdwi.Subinquireditemcount != nil { - objectMap["subinquireditemcount"] = avwsdwi.Subinquireditemcount - } - if avwsdwi.SubWorkloadItemCount != nil { - objectMap["subWorkloadItemCount"] = avwsdwi.SubWorkloadItemCount - } - if avwsdwi.BackupManagementType != nil { - objectMap["backupManagementType"] = avwsdwi.BackupManagementType - } - if avwsdwi.WorkloadType != nil { - objectMap["workloadType"] = avwsdwi.WorkloadType - } - if avwsdwi.FriendlyName != nil { - objectMap["friendlyName"] = avwsdwi.FriendlyName - } - if avwsdwi.ProtectionState != "" { - objectMap["protectionState"] = avwsdwi.ProtectionState - } - if avwsdwi.WorkloadItemType != "" { - objectMap["workloadItemType"] = avwsdwi.WorkloadItemType - } - return json.Marshal(objectMap) -} - -// AsAzureVMWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSQLDatabaseWorkloadItem. -func (avwsdwi AzureVMWorkloadSQLDatabaseWorkloadItem) AsAzureVMWorkloadItem() (*AzureVMWorkloadItem, bool) { - return nil, false -} - -// AsBasicAzureVMWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSQLDatabaseWorkloadItem. -func (avwsdwi AzureVMWorkloadSQLDatabaseWorkloadItem) AsBasicAzureVMWorkloadItem() (BasicAzureVMWorkloadItem, bool) { - return &avwsdwi, true -} - -// AsAzureVMWorkloadSAPAseDatabaseWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSQLDatabaseWorkloadItem. -func (avwsdwi AzureVMWorkloadSQLDatabaseWorkloadItem) AsAzureVMWorkloadSAPAseDatabaseWorkloadItem() (*AzureVMWorkloadSAPAseDatabaseWorkloadItem, bool) { - return nil, false -} - -// AsAzureVMWorkloadSAPAseSystemWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSQLDatabaseWorkloadItem. -func (avwsdwi AzureVMWorkloadSQLDatabaseWorkloadItem) AsAzureVMWorkloadSAPAseSystemWorkloadItem() (*AzureVMWorkloadSAPAseSystemWorkloadItem, bool) { - return nil, false -} - -// AsAzureVMWorkloadSAPHanaDatabaseWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSQLDatabaseWorkloadItem. -func (avwsdwi AzureVMWorkloadSQLDatabaseWorkloadItem) AsAzureVMWorkloadSAPHanaDatabaseWorkloadItem() (*AzureVMWorkloadSAPHanaDatabaseWorkloadItem, bool) { - return nil, false -} - -// AsAzureVMWorkloadSAPHanaSystemWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSQLDatabaseWorkloadItem. -func (avwsdwi AzureVMWorkloadSQLDatabaseWorkloadItem) AsAzureVMWorkloadSAPHanaSystemWorkloadItem() (*AzureVMWorkloadSAPHanaSystemWorkloadItem, bool) { - return nil, false -} - -// AsAzureVMWorkloadSQLDatabaseWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSQLDatabaseWorkloadItem. -func (avwsdwi AzureVMWorkloadSQLDatabaseWorkloadItem) AsAzureVMWorkloadSQLDatabaseWorkloadItem() (*AzureVMWorkloadSQLDatabaseWorkloadItem, bool) { - return &avwsdwi, true -} - -// AsAzureVMWorkloadSQLInstanceWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSQLDatabaseWorkloadItem. -func (avwsdwi AzureVMWorkloadSQLDatabaseWorkloadItem) AsAzureVMWorkloadSQLInstanceWorkloadItem() (*AzureVMWorkloadSQLInstanceWorkloadItem, bool) { - return nil, false -} - -// AsWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSQLDatabaseWorkloadItem. -func (avwsdwi AzureVMWorkloadSQLDatabaseWorkloadItem) AsWorkloadItem() (*WorkloadItem, bool) { - return nil, false -} - -// AsBasicWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSQLDatabaseWorkloadItem. -func (avwsdwi AzureVMWorkloadSQLDatabaseWorkloadItem) AsBasicWorkloadItem() (BasicWorkloadItem, bool) { - return &avwsdwi, true -} - -// AzureVMWorkloadSQLInstanceProtectableItem azure VM workload-specific protectable item representing SQL -// Instance. -type AzureVMWorkloadSQLInstanceProtectableItem struct { - // ParentName - Name for instance or AG - ParentName *string `json:"parentName,omitempty"` - // ParentUniqueName - Parent Unique Name is added to provide the service formatted URI Name of the Parent - // Only Applicable for data bases where the parent would be either Instance or a SQL AG. - ParentUniqueName *string `json:"parentUniqueName,omitempty"` - // ServerName - Host/Cluster Name for instance or AG - ServerName *string `json:"serverName,omitempty"` - // IsAutoProtectable - Indicates if protectable item is auto-protectable - IsAutoProtectable *bool `json:"isAutoProtectable,omitempty"` - // IsAutoProtected - Indicates if protectable item is auto-protected - IsAutoProtected *bool `json:"isAutoProtected,omitempty"` - // Subinquireditemcount - For instance or AG, indicates number of DBs present - Subinquireditemcount *int32 `json:"subinquireditemcount,omitempty"` - // Subprotectableitemcount - For instance or AG, indicates number of DBs to be protected - Subprotectableitemcount *int32 `json:"subprotectableitemcount,omitempty"` - // Prebackupvalidation - Pre-backup validation for protectable objects - Prebackupvalidation *PreBackupValidation `json:"prebackupvalidation,omitempty"` - // BackupManagementType - Type of backup management to backup an item. - BackupManagementType *string `json:"backupManagementType,omitempty"` - // WorkloadType - Type of workload for the backup management - WorkloadType *string `json:"workloadType,omitempty"` - // FriendlyName - Friendly name of the backup item. - FriendlyName *string `json:"friendlyName,omitempty"` - // ProtectionState - State of the back up item. Possible values include: 'ProtectionStatusInvalid', 'ProtectionStatusNotProtected', 'ProtectionStatusProtecting', 'ProtectionStatusProtected', 'ProtectionStatusProtectionFailed' - ProtectionState ProtectionStatus `json:"protectionState,omitempty"` - // ProtectableItemType - Possible values include: 'ProtectableItemTypeWorkloadProtectableItem', 'ProtectableItemTypeAzureFileShare', 'ProtectableItemTypeMicrosoftClassicComputevirtualMachines', 'ProtectableItemTypeMicrosoftComputevirtualMachines', 'ProtectableItemTypeAzureVMWorkloadProtectableItem', 'ProtectableItemTypeSAPAseDatabase', 'ProtectableItemTypeSAPAseSystem', 'ProtectableItemTypeSAPHanaDatabase', 'ProtectableItemTypeSAPHanaSystem', 'ProtectableItemTypeSQLAvailabilityGroupContainer', 'ProtectableItemTypeSQLDataBase', 'ProtectableItemTypeSQLInstance', 'ProtectableItemTypeIaaSVMProtectableItem' - ProtectableItemType ProtectableItemType `json:"protectableItemType,omitempty"` -} - -// MarshalJSON is the custom marshaler for AzureVMWorkloadSQLInstanceProtectableItem. -func (avwsipi AzureVMWorkloadSQLInstanceProtectableItem) MarshalJSON() ([]byte, error) { - avwsipi.ProtectableItemType = ProtectableItemTypeSQLInstance - objectMap := make(map[string]interface{}) - if avwsipi.ParentName != nil { - objectMap["parentName"] = avwsipi.ParentName - } - if avwsipi.ParentUniqueName != nil { - objectMap["parentUniqueName"] = avwsipi.ParentUniqueName - } - if avwsipi.ServerName != nil { - objectMap["serverName"] = avwsipi.ServerName - } - if avwsipi.IsAutoProtectable != nil { - objectMap["isAutoProtectable"] = avwsipi.IsAutoProtectable - } - if avwsipi.IsAutoProtected != nil { - objectMap["isAutoProtected"] = avwsipi.IsAutoProtected - } - if avwsipi.Subinquireditemcount != nil { - objectMap["subinquireditemcount"] = avwsipi.Subinquireditemcount - } - if avwsipi.Subprotectableitemcount != nil { - objectMap["subprotectableitemcount"] = avwsipi.Subprotectableitemcount - } - if avwsipi.Prebackupvalidation != nil { - objectMap["prebackupvalidation"] = avwsipi.Prebackupvalidation - } - if avwsipi.BackupManagementType != nil { - objectMap["backupManagementType"] = avwsipi.BackupManagementType - } - if avwsipi.WorkloadType != nil { - objectMap["workloadType"] = avwsipi.WorkloadType - } - if avwsipi.FriendlyName != nil { - objectMap["friendlyName"] = avwsipi.FriendlyName - } - if avwsipi.ProtectionState != "" { - objectMap["protectionState"] = avwsipi.ProtectionState - } - if avwsipi.ProtectableItemType != "" { - objectMap["protectableItemType"] = avwsipi.ProtectableItemType - } - return json.Marshal(objectMap) -} - -// AsAzureFileShareProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSQLInstanceProtectableItem. -func (avwsipi AzureVMWorkloadSQLInstanceProtectableItem) AsAzureFileShareProtectableItem() (*AzureFileShareProtectableItem, bool) { - return nil, false -} - -// AsAzureIaaSClassicComputeVMProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSQLInstanceProtectableItem. -func (avwsipi AzureVMWorkloadSQLInstanceProtectableItem) AsAzureIaaSClassicComputeVMProtectableItem() (*AzureIaaSClassicComputeVMProtectableItem, bool) { - return nil, false -} - -// AsAzureIaaSComputeVMProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSQLInstanceProtectableItem. -func (avwsipi AzureVMWorkloadSQLInstanceProtectableItem) AsAzureIaaSComputeVMProtectableItem() (*AzureIaaSComputeVMProtectableItem, bool) { - return nil, false -} - -// AsAzureVMWorkloadProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSQLInstanceProtectableItem. -func (avwsipi AzureVMWorkloadSQLInstanceProtectableItem) AsAzureVMWorkloadProtectableItem() (*AzureVMWorkloadProtectableItem, bool) { - return nil, false -} - -// AsBasicAzureVMWorkloadProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSQLInstanceProtectableItem. -func (avwsipi AzureVMWorkloadSQLInstanceProtectableItem) AsBasicAzureVMWorkloadProtectableItem() (BasicAzureVMWorkloadProtectableItem, bool) { - return &avwsipi, true -} - -// AsAzureVMWorkloadSAPAseDatabaseProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSQLInstanceProtectableItem. -func (avwsipi AzureVMWorkloadSQLInstanceProtectableItem) AsAzureVMWorkloadSAPAseDatabaseProtectableItem() (*AzureVMWorkloadSAPAseDatabaseProtectableItem, bool) { - return nil, false -} - -// AsAzureVMWorkloadSAPAseSystemProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSQLInstanceProtectableItem. -func (avwsipi AzureVMWorkloadSQLInstanceProtectableItem) AsAzureVMWorkloadSAPAseSystemProtectableItem() (*AzureVMWorkloadSAPAseSystemProtectableItem, bool) { - return nil, false -} - -// AsAzureVMWorkloadSAPHanaDatabaseProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSQLInstanceProtectableItem. -func (avwsipi AzureVMWorkloadSQLInstanceProtectableItem) AsAzureVMWorkloadSAPHanaDatabaseProtectableItem() (*AzureVMWorkloadSAPHanaDatabaseProtectableItem, bool) { - return nil, false -} - -// AsAzureVMWorkloadSAPHanaSystemProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSQLInstanceProtectableItem. -func (avwsipi AzureVMWorkloadSQLInstanceProtectableItem) AsAzureVMWorkloadSAPHanaSystemProtectableItem() (*AzureVMWorkloadSAPHanaSystemProtectableItem, bool) { - return nil, false -} - -// AsAzureVMWorkloadSQLAvailabilityGroupProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSQLInstanceProtectableItem. -func (avwsipi AzureVMWorkloadSQLInstanceProtectableItem) AsAzureVMWorkloadSQLAvailabilityGroupProtectableItem() (*AzureVMWorkloadSQLAvailabilityGroupProtectableItem, bool) { - return nil, false -} - -// AsAzureVMWorkloadSQLDatabaseProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSQLInstanceProtectableItem. -func (avwsipi AzureVMWorkloadSQLInstanceProtectableItem) AsAzureVMWorkloadSQLDatabaseProtectableItem() (*AzureVMWorkloadSQLDatabaseProtectableItem, bool) { - return nil, false -} - -// AsAzureVMWorkloadSQLInstanceProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSQLInstanceProtectableItem. -func (avwsipi AzureVMWorkloadSQLInstanceProtectableItem) AsAzureVMWorkloadSQLInstanceProtectableItem() (*AzureVMWorkloadSQLInstanceProtectableItem, bool) { - return &avwsipi, true -} - -// AsIaaSVMProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSQLInstanceProtectableItem. -func (avwsipi AzureVMWorkloadSQLInstanceProtectableItem) AsIaaSVMProtectableItem() (*IaaSVMProtectableItem, bool) { - return nil, false -} - -// AsBasicIaaSVMProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSQLInstanceProtectableItem. -func (avwsipi AzureVMWorkloadSQLInstanceProtectableItem) AsBasicIaaSVMProtectableItem() (BasicIaaSVMProtectableItem, bool) { - return nil, false -} - -// AsWorkloadProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSQLInstanceProtectableItem. -func (avwsipi AzureVMWorkloadSQLInstanceProtectableItem) AsWorkloadProtectableItem() (*WorkloadProtectableItem, bool) { - return nil, false -} - -// AsBasicWorkloadProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSQLInstanceProtectableItem. -func (avwsipi AzureVMWorkloadSQLInstanceProtectableItem) AsBasicWorkloadProtectableItem() (BasicWorkloadProtectableItem, bool) { - return &avwsipi, true -} - -// AzureVMWorkloadSQLInstanceWorkloadItem azure VM workload-specific workload item representing SQL -// Instance. -type AzureVMWorkloadSQLInstanceWorkloadItem struct { - // DataDirectoryPaths - Data Directory Paths for default directories - DataDirectoryPaths *[]SQLDataDirectory `json:"dataDirectoryPaths,omitempty"` - // ParentName - Name for instance or AG - ParentName *string `json:"parentName,omitempty"` - // ServerName - Host/Cluster Name for instance or AG - ServerName *string `json:"serverName,omitempty"` - // IsAutoProtectable - Indicates if workload item is auto-protectable - IsAutoProtectable *bool `json:"isAutoProtectable,omitempty"` - // Subinquireditemcount - For instance or AG, indicates number of DBs present - Subinquireditemcount *int32 `json:"subinquireditemcount,omitempty"` - // SubWorkloadItemCount - For instance or AG, indicates number of DBs to be protected - SubWorkloadItemCount *int32 `json:"subWorkloadItemCount,omitempty"` - // BackupManagementType - Type of backup management to backup an item. - BackupManagementType *string `json:"backupManagementType,omitempty"` - // WorkloadType - Type of workload for the backup management - WorkloadType *string `json:"workloadType,omitempty"` - // FriendlyName - Friendly name of the backup item. - FriendlyName *string `json:"friendlyName,omitempty"` - // ProtectionState - State of the back up item. Possible values include: 'ProtectionStatusInvalid', 'ProtectionStatusNotProtected', 'ProtectionStatusProtecting', 'ProtectionStatusProtected', 'ProtectionStatusProtectionFailed' - ProtectionState ProtectionStatus `json:"protectionState,omitempty"` - // WorkloadItemType - Possible values include: 'WorkloadItemTypeWorkloadItem', 'WorkloadItemTypeAzureVMWorkloadItem', 'WorkloadItemTypeSAPAseDatabase1', 'WorkloadItemTypeSAPAseSystem1', 'WorkloadItemTypeSAPHanaDatabase1', 'WorkloadItemTypeSAPHanaSystem1', 'WorkloadItemTypeSQLDataBase1', 'WorkloadItemTypeSQLInstance1' - WorkloadItemType WorkloadItemTypeBasicWorkloadItem `json:"workloadItemType,omitempty"` -} - -// MarshalJSON is the custom marshaler for AzureVMWorkloadSQLInstanceWorkloadItem. -func (avwsiwi AzureVMWorkloadSQLInstanceWorkloadItem) MarshalJSON() ([]byte, error) { - avwsiwi.WorkloadItemType = WorkloadItemTypeSQLInstance1 - objectMap := make(map[string]interface{}) - if avwsiwi.DataDirectoryPaths != nil { - objectMap["dataDirectoryPaths"] = avwsiwi.DataDirectoryPaths - } - if avwsiwi.ParentName != nil { - objectMap["parentName"] = avwsiwi.ParentName - } - if avwsiwi.ServerName != nil { - objectMap["serverName"] = avwsiwi.ServerName - } - if avwsiwi.IsAutoProtectable != nil { - objectMap["isAutoProtectable"] = avwsiwi.IsAutoProtectable - } - if avwsiwi.Subinquireditemcount != nil { - objectMap["subinquireditemcount"] = avwsiwi.Subinquireditemcount - } - if avwsiwi.SubWorkloadItemCount != nil { - objectMap["subWorkloadItemCount"] = avwsiwi.SubWorkloadItemCount - } - if avwsiwi.BackupManagementType != nil { - objectMap["backupManagementType"] = avwsiwi.BackupManagementType - } - if avwsiwi.WorkloadType != nil { - objectMap["workloadType"] = avwsiwi.WorkloadType - } - if avwsiwi.FriendlyName != nil { - objectMap["friendlyName"] = avwsiwi.FriendlyName - } - if avwsiwi.ProtectionState != "" { - objectMap["protectionState"] = avwsiwi.ProtectionState - } - if avwsiwi.WorkloadItemType != "" { - objectMap["workloadItemType"] = avwsiwi.WorkloadItemType - } - return json.Marshal(objectMap) -} - -// AsAzureVMWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSQLInstanceWorkloadItem. -func (avwsiwi AzureVMWorkloadSQLInstanceWorkloadItem) AsAzureVMWorkloadItem() (*AzureVMWorkloadItem, bool) { - return nil, false -} - -// AsBasicAzureVMWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSQLInstanceWorkloadItem. -func (avwsiwi AzureVMWorkloadSQLInstanceWorkloadItem) AsBasicAzureVMWorkloadItem() (BasicAzureVMWorkloadItem, bool) { - return &avwsiwi, true -} - -// AsAzureVMWorkloadSAPAseDatabaseWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSQLInstanceWorkloadItem. -func (avwsiwi AzureVMWorkloadSQLInstanceWorkloadItem) AsAzureVMWorkloadSAPAseDatabaseWorkloadItem() (*AzureVMWorkloadSAPAseDatabaseWorkloadItem, bool) { - return nil, false -} - -// AsAzureVMWorkloadSAPAseSystemWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSQLInstanceWorkloadItem. -func (avwsiwi AzureVMWorkloadSQLInstanceWorkloadItem) AsAzureVMWorkloadSAPAseSystemWorkloadItem() (*AzureVMWorkloadSAPAseSystemWorkloadItem, bool) { - return nil, false -} - -// AsAzureVMWorkloadSAPHanaDatabaseWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSQLInstanceWorkloadItem. -func (avwsiwi AzureVMWorkloadSQLInstanceWorkloadItem) AsAzureVMWorkloadSAPHanaDatabaseWorkloadItem() (*AzureVMWorkloadSAPHanaDatabaseWorkloadItem, bool) { - return nil, false -} - -// AsAzureVMWorkloadSAPHanaSystemWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSQLInstanceWorkloadItem. -func (avwsiwi AzureVMWorkloadSQLInstanceWorkloadItem) AsAzureVMWorkloadSAPHanaSystemWorkloadItem() (*AzureVMWorkloadSAPHanaSystemWorkloadItem, bool) { - return nil, false -} - -// AsAzureVMWorkloadSQLDatabaseWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSQLInstanceWorkloadItem. -func (avwsiwi AzureVMWorkloadSQLInstanceWorkloadItem) AsAzureVMWorkloadSQLDatabaseWorkloadItem() (*AzureVMWorkloadSQLDatabaseWorkloadItem, bool) { - return nil, false -} - -// AsAzureVMWorkloadSQLInstanceWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSQLInstanceWorkloadItem. -func (avwsiwi AzureVMWorkloadSQLInstanceWorkloadItem) AsAzureVMWorkloadSQLInstanceWorkloadItem() (*AzureVMWorkloadSQLInstanceWorkloadItem, bool) { - return &avwsiwi, true -} - -// AsWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSQLInstanceWorkloadItem. -func (avwsiwi AzureVMWorkloadSQLInstanceWorkloadItem) AsWorkloadItem() (*WorkloadItem, bool) { - return nil, false -} - -// AsBasicWorkloadItem is the BasicWorkloadItem implementation for AzureVMWorkloadSQLInstanceWorkloadItem. -func (avwsiwi AzureVMWorkloadSQLInstanceWorkloadItem) AsBasicWorkloadItem() (BasicWorkloadItem, bool) { - return &avwsiwi, true -} - -// AzureWorkloadBackupRequest azureWorkload workload-specific backup request. -type AzureWorkloadBackupRequest struct { - // BackupType - Type of backup, viz. Full, Differential, Log or CopyOnlyFull. Possible values include: 'TypeInvalid', 'TypeFull', 'TypeDifferential', 'TypeLog', 'TypeCopyOnlyFull' - BackupType Type `json:"backupType,omitempty"` - // EnableCompression - Bool for Compression setting - EnableCompression *bool `json:"enableCompression,omitempty"` - // RecoveryPointExpiryTimeInUTC - Backup copy will expire after the time specified (UTC). - RecoveryPointExpiryTimeInUTC *date.Time `json:"recoveryPointExpiryTimeInUTC,omitempty"` - // ObjectType - Possible values include: 'ObjectTypeBackupRequest', 'ObjectTypeAzureFileShareBackupRequest', 'ObjectTypeAzureWorkloadBackupRequest', 'ObjectTypeIaasVMBackupRequest' - ObjectType ObjectType `json:"objectType,omitempty"` -} - -// MarshalJSON is the custom marshaler for AzureWorkloadBackupRequest. -func (awbr AzureWorkloadBackupRequest) MarshalJSON() ([]byte, error) { - awbr.ObjectType = ObjectTypeAzureWorkloadBackupRequest - objectMap := make(map[string]interface{}) - if awbr.BackupType != "" { - objectMap["backupType"] = awbr.BackupType - } - if awbr.EnableCompression != nil { - objectMap["enableCompression"] = awbr.EnableCompression - } - if awbr.RecoveryPointExpiryTimeInUTC != nil { - objectMap["recoveryPointExpiryTimeInUTC"] = awbr.RecoveryPointExpiryTimeInUTC - } - if awbr.ObjectType != "" { - objectMap["objectType"] = awbr.ObjectType - } - return json.Marshal(objectMap) -} - -// AsAzureFileShareBackupRequest is the BasicRequest implementation for AzureWorkloadBackupRequest. -func (awbr AzureWorkloadBackupRequest) AsAzureFileShareBackupRequest() (*AzureFileShareBackupRequest, bool) { - return nil, false -} - -// AsAzureWorkloadBackupRequest is the BasicRequest implementation for AzureWorkloadBackupRequest. -func (awbr AzureWorkloadBackupRequest) AsAzureWorkloadBackupRequest() (*AzureWorkloadBackupRequest, bool) { - return &awbr, true -} - -// AsIaasVMBackupRequest is the BasicRequest implementation for AzureWorkloadBackupRequest. -func (awbr AzureWorkloadBackupRequest) AsIaasVMBackupRequest() (*IaasVMBackupRequest, bool) { - return nil, false -} - -// AsRequest is the BasicRequest implementation for AzureWorkloadBackupRequest. -func (awbr AzureWorkloadBackupRequest) AsRequest() (*Request, bool) { - return nil, false -} - -// AsBasicRequest is the BasicRequest implementation for AzureWorkloadBackupRequest. -func (awbr AzureWorkloadBackupRequest) AsBasicRequest() (BasicRequest, bool) { - return &awbr, true -} - -// BasicAzureWorkloadContainer container for the workloads running inside Azure Compute or Classic Compute. -type BasicAzureWorkloadContainer interface { - AsAzureSQLAGWorkloadContainerProtectionContainer() (*AzureSQLAGWorkloadContainerProtectionContainer, bool) - AsAzureVMAppContainerProtectionContainer() (*AzureVMAppContainerProtectionContainer, bool) - AsAzureWorkloadContainer() (*AzureWorkloadContainer, bool) -} - -// AzureWorkloadContainer container for the workloads running inside Azure Compute or Classic Compute. -type AzureWorkloadContainer struct { - // SourceResourceID - ARM ID of the virtual machine represented by this Azure Workload Container - SourceResourceID *string `json:"sourceResourceId,omitempty"` - // LastUpdatedTime - Time stamp when this container was updated. - LastUpdatedTime *date.Time `json:"lastUpdatedTime,omitempty"` - // ExtendedInfo - Additional details of a workload container. - ExtendedInfo *AzureWorkloadContainerExtendedInfo `json:"extendedInfo,omitempty"` - // WorkloadType - Workload type for which registration was sent. Possible values include: 'WorkloadTypeInvalid', 'WorkloadTypeVM', 'WorkloadTypeFileFolder', 'WorkloadTypeAzureSQLDb', 'WorkloadTypeSQLDB', 'WorkloadTypeExchange', 'WorkloadTypeSharepoint', 'WorkloadTypeVMwareVM', 'WorkloadTypeSystemState', 'WorkloadTypeClient', 'WorkloadTypeGenericDataSource', 'WorkloadTypeSQLDataBase', 'WorkloadTypeAzureFileShare', 'WorkloadTypeSAPHanaDatabase', 'WorkloadTypeSAPAseDatabase' - WorkloadType WorkloadType `json:"workloadType,omitempty"` - // OperationType - Re-Do Operation. Possible values include: 'OperationTypeInvalid', 'OperationTypeRegister', 'OperationTypeReregister' - OperationType OperationType `json:"operationType,omitempty"` - // FriendlyName - Friendly name of the container. - FriendlyName *string `json:"friendlyName,omitempty"` - // BackupManagementType - Type of backup management for the container. Possible values include: 'ManagementTypeInvalid', 'ManagementTypeAzureIaasVM', 'ManagementTypeMAB', 'ManagementTypeDPM', 'ManagementTypeAzureBackupServer', 'ManagementTypeAzureSQL', 'ManagementTypeAzureStorage', 'ManagementTypeAzureWorkload', 'ManagementTypeDefaultBackup' - BackupManagementType ManagementType `json:"backupManagementType,omitempty"` - // RegistrationStatus - Status of registration of the container with the Recovery Services Vault. - RegistrationStatus *string `json:"registrationStatus,omitempty"` - // HealthStatus - Status of health of the container. - HealthStatus *string `json:"healthStatus,omitempty"` - // ContainerType - Possible values include: 'ContainerTypeProtectionContainer', 'ContainerTypeAzureBackupServerContainer1', 'ContainerTypeMicrosoftClassicComputevirtualMachines', 'ContainerTypeMicrosoftComputevirtualMachines', 'ContainerTypeSQLAGWorkLoadContainer1', 'ContainerTypeAzureSQLContainer1', 'ContainerTypeStorageContainer1', 'ContainerTypeVMAppContainer1', 'ContainerTypeAzureWorkloadContainer', 'ContainerTypeDPMContainer1', 'ContainerTypeGenericContainer1', 'ContainerTypeIaaSVMContainer', 'ContainerTypeWindows1' - ContainerType ContainerTypeBasicProtectionContainer `json:"containerType,omitempty"` -} - -func unmarshalBasicAzureWorkloadContainer(body []byte) (BasicAzureWorkloadContainer, error) { - var m map[string]interface{} - err := json.Unmarshal(body, &m) - if err != nil { - return nil, err - } - - switch m["containerType"] { - case string(ContainerTypeSQLAGWorkLoadContainer1): - var aswcpc AzureSQLAGWorkloadContainerProtectionContainer - err := json.Unmarshal(body, &aswcpc) - return aswcpc, err - case string(ContainerTypeVMAppContainer1): - var avacpc AzureVMAppContainerProtectionContainer - err := json.Unmarshal(body, &avacpc) - return avacpc, err - default: - var awc AzureWorkloadContainer - err := json.Unmarshal(body, &awc) - return awc, err - } -} -func unmarshalBasicAzureWorkloadContainerArray(body []byte) ([]BasicAzureWorkloadContainer, error) { - var rawMessages []*json.RawMessage - err := json.Unmarshal(body, &rawMessages) - if err != nil { - return nil, err - } - - awcArray := make([]BasicAzureWorkloadContainer, len(rawMessages)) - - for index, rawMessage := range rawMessages { - awc, err := unmarshalBasicAzureWorkloadContainer(*rawMessage) - if err != nil { - return nil, err - } - awcArray[index] = awc - } - return awcArray, nil -} - -// MarshalJSON is the custom marshaler for AzureWorkloadContainer. -func (awc AzureWorkloadContainer) MarshalJSON() ([]byte, error) { - awc.ContainerType = ContainerTypeAzureWorkloadContainer - objectMap := make(map[string]interface{}) - if awc.SourceResourceID != nil { - objectMap["sourceResourceId"] = awc.SourceResourceID - } - if awc.LastUpdatedTime != nil { - objectMap["lastUpdatedTime"] = awc.LastUpdatedTime - } - if awc.ExtendedInfo != nil { - objectMap["extendedInfo"] = awc.ExtendedInfo - } - if awc.WorkloadType != "" { - objectMap["workloadType"] = awc.WorkloadType - } - if awc.OperationType != "" { - objectMap["operationType"] = awc.OperationType - } - if awc.FriendlyName != nil { - objectMap["friendlyName"] = awc.FriendlyName - } - if awc.BackupManagementType != "" { - objectMap["backupManagementType"] = awc.BackupManagementType - } - if awc.RegistrationStatus != nil { - objectMap["registrationStatus"] = awc.RegistrationStatus - } - if awc.HealthStatus != nil { - objectMap["healthStatus"] = awc.HealthStatus - } - if awc.ContainerType != "" { - objectMap["containerType"] = awc.ContainerType - } - return json.Marshal(objectMap) -} - -// AsAzureBackupServerContainer is the BasicProtectionContainer implementation for AzureWorkloadContainer. -func (awc AzureWorkloadContainer) AsAzureBackupServerContainer() (*AzureBackupServerContainer, bool) { - return nil, false -} - -// AsAzureIaaSClassicComputeVMContainer is the BasicProtectionContainer implementation for AzureWorkloadContainer. -func (awc AzureWorkloadContainer) AsAzureIaaSClassicComputeVMContainer() (*AzureIaaSClassicComputeVMContainer, bool) { - return nil, false -} - -// AsAzureIaaSComputeVMContainer is the BasicProtectionContainer implementation for AzureWorkloadContainer. -func (awc AzureWorkloadContainer) AsAzureIaaSComputeVMContainer() (*AzureIaaSComputeVMContainer, bool) { - return nil, false -} - -// AsAzureSQLAGWorkloadContainerProtectionContainer is the BasicProtectionContainer implementation for AzureWorkloadContainer. -func (awc AzureWorkloadContainer) AsAzureSQLAGWorkloadContainerProtectionContainer() (*AzureSQLAGWorkloadContainerProtectionContainer, bool) { - return nil, false -} - -// AsAzureSQLContainer is the BasicProtectionContainer implementation for AzureWorkloadContainer. -func (awc AzureWorkloadContainer) AsAzureSQLContainer() (*AzureSQLContainer, bool) { - return nil, false -} - -// AsAzureStorageContainer is the BasicProtectionContainer implementation for AzureWorkloadContainer. -func (awc AzureWorkloadContainer) AsAzureStorageContainer() (*AzureStorageContainer, bool) { - return nil, false -} - -// AsAzureVMAppContainerProtectionContainer is the BasicProtectionContainer implementation for AzureWorkloadContainer. -func (awc AzureWorkloadContainer) AsAzureVMAppContainerProtectionContainer() (*AzureVMAppContainerProtectionContainer, bool) { - return nil, false -} - -// AsAzureWorkloadContainer is the BasicProtectionContainer implementation for AzureWorkloadContainer. -func (awc AzureWorkloadContainer) AsAzureWorkloadContainer() (*AzureWorkloadContainer, bool) { - return &awc, true -} - -// AsBasicAzureWorkloadContainer is the BasicProtectionContainer implementation for AzureWorkloadContainer. -func (awc AzureWorkloadContainer) AsBasicAzureWorkloadContainer() (BasicAzureWorkloadContainer, bool) { - return &awc, true -} - -// AsDpmContainer is the BasicProtectionContainer implementation for AzureWorkloadContainer. -func (awc AzureWorkloadContainer) AsDpmContainer() (*DpmContainer, bool) { - return nil, false -} - -// AsBasicDpmContainer is the BasicProtectionContainer implementation for AzureWorkloadContainer. -func (awc AzureWorkloadContainer) AsBasicDpmContainer() (BasicDpmContainer, bool) { - return nil, false -} - -// AsGenericContainer is the BasicProtectionContainer implementation for AzureWorkloadContainer. -func (awc AzureWorkloadContainer) AsGenericContainer() (*GenericContainer, bool) { - return nil, false -} - -// AsIaaSVMContainer is the BasicProtectionContainer implementation for AzureWorkloadContainer. -func (awc AzureWorkloadContainer) AsIaaSVMContainer() (*IaaSVMContainer, bool) { - return nil, false -} - -// AsBasicIaaSVMContainer is the BasicProtectionContainer implementation for AzureWorkloadContainer. -func (awc AzureWorkloadContainer) AsBasicIaaSVMContainer() (BasicIaaSVMContainer, bool) { - return nil, false -} - -// AsMabContainer is the BasicProtectionContainer implementation for AzureWorkloadContainer. -func (awc AzureWorkloadContainer) AsMabContainer() (*MabContainer, bool) { - return nil, false -} - -// AsProtectionContainer is the BasicProtectionContainer implementation for AzureWorkloadContainer. -func (awc AzureWorkloadContainer) AsProtectionContainer() (*ProtectionContainer, bool) { - return nil, false -} - -// AsBasicProtectionContainer is the BasicProtectionContainer implementation for AzureWorkloadContainer. -func (awc AzureWorkloadContainer) AsBasicProtectionContainer() (BasicProtectionContainer, bool) { - return &awc, true -} - -// AzureWorkloadContainerExtendedInfo extended information of the container. -type AzureWorkloadContainerExtendedInfo struct { - // HostServerName - Host Os Name in case of Stand Alone and Cluster Name in case of distributed container. - HostServerName *string `json:"hostServerName,omitempty"` - // InquiryInfo - Inquiry Status for the container. - InquiryInfo *InquiryInfo `json:"inquiryInfo,omitempty"` - // NodesList - List of the nodes in case of distributed container. - NodesList *[]DistributedNodesInfo `json:"nodesList,omitempty"` -} - -// BasicAzureWorkloadPointInTimeRecoveryPoint recovery point specific to PointInTime -type BasicAzureWorkloadPointInTimeRecoveryPoint interface { - AsAzureWorkloadSAPHanaPointInTimeRecoveryPoint() (*AzureWorkloadSAPHanaPointInTimeRecoveryPoint, bool) - AsAzureWorkloadPointInTimeRecoveryPoint() (*AzureWorkloadPointInTimeRecoveryPoint, bool) -} - -// AzureWorkloadPointInTimeRecoveryPoint recovery point specific to PointInTime -type AzureWorkloadPointInTimeRecoveryPoint struct { - // TimeRanges - List of log ranges - TimeRanges *[]PointInTimeRange `json:"timeRanges,omitempty"` - // RecoveryPointTimeInUTC - UTC time at which recovery point was created - RecoveryPointTimeInUTC *date.Time `json:"recoveryPointTimeInUTC,omitempty"` - // Type - Type of restore point. Possible values include: 'RestorePointTypeInvalid', 'RestorePointTypeFull', 'RestorePointTypeLog', 'RestorePointTypeDifferential' - Type RestorePointType `json:"type,omitempty"` - // ObjectType - Possible values include: 'ObjectTypeRecoveryPoint', 'ObjectTypeAzureFileShareRecoveryPoint', 'ObjectTypeAzureWorkloadPointInTimeRecoveryPoint', 'ObjectTypeAzureWorkloadRecoveryPoint', 'ObjectTypeAzureWorkloadSAPHanaPointInTimeRecoveryPoint', 'ObjectTypeAzureWorkloadSAPHanaRecoveryPoint', 'ObjectTypeAzureWorkloadSQLPointInTimeRecoveryPoint', 'ObjectTypeAzureWorkloadSQLRecoveryPoint', 'ObjectTypeGenericRecoveryPoint', 'ObjectTypeIaasVMRecoveryPoint' - ObjectType ObjectTypeBasicRecoveryPoint `json:"objectType,omitempty"` -} - -func unmarshalBasicAzureWorkloadPointInTimeRecoveryPoint(body []byte) (BasicAzureWorkloadPointInTimeRecoveryPoint, error) { - var m map[string]interface{} - err := json.Unmarshal(body, &m) - if err != nil { - return nil, err - } - - switch m["objectType"] { - case string(ObjectTypeAzureWorkloadSAPHanaPointInTimeRecoveryPoint): - var awshpitrp AzureWorkloadSAPHanaPointInTimeRecoveryPoint - err := json.Unmarshal(body, &awshpitrp) - return awshpitrp, err - default: - var awpitrp AzureWorkloadPointInTimeRecoveryPoint - err := json.Unmarshal(body, &awpitrp) - return awpitrp, err - } -} -func unmarshalBasicAzureWorkloadPointInTimeRecoveryPointArray(body []byte) ([]BasicAzureWorkloadPointInTimeRecoveryPoint, error) { - var rawMessages []*json.RawMessage - err := json.Unmarshal(body, &rawMessages) - if err != nil { - return nil, err - } - - awpitrpArray := make([]BasicAzureWorkloadPointInTimeRecoveryPoint, len(rawMessages)) - - for index, rawMessage := range rawMessages { - awpitrp, err := unmarshalBasicAzureWorkloadPointInTimeRecoveryPoint(*rawMessage) - if err != nil { - return nil, err - } - awpitrpArray[index] = awpitrp - } - return awpitrpArray, nil -} - -// MarshalJSON is the custom marshaler for AzureWorkloadPointInTimeRecoveryPoint. -func (awpitrp AzureWorkloadPointInTimeRecoveryPoint) MarshalJSON() ([]byte, error) { - awpitrp.ObjectType = ObjectTypeAzureWorkloadPointInTimeRecoveryPoint - objectMap := make(map[string]interface{}) - if awpitrp.TimeRanges != nil { - objectMap["timeRanges"] = awpitrp.TimeRanges - } - if awpitrp.RecoveryPointTimeInUTC != nil { - objectMap["recoveryPointTimeInUTC"] = awpitrp.RecoveryPointTimeInUTC - } - if awpitrp.Type != "" { - objectMap["type"] = awpitrp.Type - } - if awpitrp.ObjectType != "" { - objectMap["objectType"] = awpitrp.ObjectType - } - return json.Marshal(objectMap) -} - -// AsAzureFileShareRecoveryPoint is the BasicRecoveryPoint implementation for AzureWorkloadPointInTimeRecoveryPoint. -func (awpitrp AzureWorkloadPointInTimeRecoveryPoint) AsAzureFileShareRecoveryPoint() (*AzureFileShareRecoveryPoint, bool) { - return nil, false -} - -// AsAzureWorkloadPointInTimeRecoveryPoint is the BasicRecoveryPoint implementation for AzureWorkloadPointInTimeRecoveryPoint. -func (awpitrp AzureWorkloadPointInTimeRecoveryPoint) AsAzureWorkloadPointInTimeRecoveryPoint() (*AzureWorkloadPointInTimeRecoveryPoint, bool) { - return &awpitrp, true -} - -// AsBasicAzureWorkloadPointInTimeRecoveryPoint is the BasicRecoveryPoint implementation for AzureWorkloadPointInTimeRecoveryPoint. -func (awpitrp AzureWorkloadPointInTimeRecoveryPoint) AsBasicAzureWorkloadPointInTimeRecoveryPoint() (BasicAzureWorkloadPointInTimeRecoveryPoint, bool) { - return &awpitrp, true -} - -// AsAzureWorkloadRecoveryPoint is the BasicRecoveryPoint implementation for AzureWorkloadPointInTimeRecoveryPoint. -func (awpitrp AzureWorkloadPointInTimeRecoveryPoint) AsAzureWorkloadRecoveryPoint() (*AzureWorkloadRecoveryPoint, bool) { - return nil, false -} - -// AsBasicAzureWorkloadRecoveryPoint is the BasicRecoveryPoint implementation for AzureWorkloadPointInTimeRecoveryPoint. -func (awpitrp AzureWorkloadPointInTimeRecoveryPoint) AsBasicAzureWorkloadRecoveryPoint() (BasicAzureWorkloadRecoveryPoint, bool) { - return &awpitrp, true -} - -// AsAzureWorkloadSAPHanaPointInTimeRecoveryPoint is the BasicRecoveryPoint implementation for AzureWorkloadPointInTimeRecoveryPoint. -func (awpitrp AzureWorkloadPointInTimeRecoveryPoint) AsAzureWorkloadSAPHanaPointInTimeRecoveryPoint() (*AzureWorkloadSAPHanaPointInTimeRecoveryPoint, bool) { - return nil, false -} - -// AsAzureWorkloadSAPHanaRecoveryPoint is the BasicRecoveryPoint implementation for AzureWorkloadPointInTimeRecoveryPoint. -func (awpitrp AzureWorkloadPointInTimeRecoveryPoint) AsAzureWorkloadSAPHanaRecoveryPoint() (*AzureWorkloadSAPHanaRecoveryPoint, bool) { - return nil, false -} - -// AsAzureWorkloadSQLPointInTimeRecoveryPoint is the BasicRecoveryPoint implementation for AzureWorkloadPointInTimeRecoveryPoint. -func (awpitrp AzureWorkloadPointInTimeRecoveryPoint) AsAzureWorkloadSQLPointInTimeRecoveryPoint() (*AzureWorkloadSQLPointInTimeRecoveryPoint, bool) { - return nil, false -} - -// AsAzureWorkloadSQLRecoveryPoint is the BasicRecoveryPoint implementation for AzureWorkloadPointInTimeRecoveryPoint. -func (awpitrp AzureWorkloadPointInTimeRecoveryPoint) AsAzureWorkloadSQLRecoveryPoint() (*AzureWorkloadSQLRecoveryPoint, bool) { - return nil, false -} - -// AsBasicAzureWorkloadSQLRecoveryPoint is the BasicRecoveryPoint implementation for AzureWorkloadPointInTimeRecoveryPoint. -func (awpitrp AzureWorkloadPointInTimeRecoveryPoint) AsBasicAzureWorkloadSQLRecoveryPoint() (BasicAzureWorkloadSQLRecoveryPoint, bool) { - return nil, false -} - -// AsGenericRecoveryPoint is the BasicRecoveryPoint implementation for AzureWorkloadPointInTimeRecoveryPoint. -func (awpitrp AzureWorkloadPointInTimeRecoveryPoint) AsGenericRecoveryPoint() (*GenericRecoveryPoint, bool) { - return nil, false -} - -// AsIaasVMRecoveryPoint is the BasicRecoveryPoint implementation for AzureWorkloadPointInTimeRecoveryPoint. -func (awpitrp AzureWorkloadPointInTimeRecoveryPoint) AsIaasVMRecoveryPoint() (*IaasVMRecoveryPoint, bool) { - return nil, false -} - -// AsRecoveryPoint is the BasicRecoveryPoint implementation for AzureWorkloadPointInTimeRecoveryPoint. -func (awpitrp AzureWorkloadPointInTimeRecoveryPoint) AsRecoveryPoint() (*RecoveryPoint, bool) { - return nil, false -} - -// AsBasicRecoveryPoint is the BasicRecoveryPoint implementation for AzureWorkloadPointInTimeRecoveryPoint. -func (awpitrp AzureWorkloadPointInTimeRecoveryPoint) AsBasicRecoveryPoint() (BasicRecoveryPoint, bool) { - return &awpitrp, true -} - -// AzureWorkloadPointInTimeRestoreRequest azureWorkload SAP Hana -specific restore. Specifically for -// PointInTime/Log restore -type AzureWorkloadPointInTimeRestoreRequest struct { - // PointInTime - PointInTime value - PointInTime *date.Time `json:"pointInTime,omitempty"` - // RecoveryType - OLR/ALR, RestoreDisks is invalid option. Possible values include: 'RecoveryTypeInvalid', 'RecoveryTypeOriginalLocation', 'RecoveryTypeAlternateLocation', 'RecoveryTypeRestoreDisks' - RecoveryType RecoveryType `json:"recoveryType,omitempty"` - // SourceResourceID - Fully qualified ARM ID of the VM on which workload that was running is being recovered. - SourceResourceID *string `json:"sourceResourceId,omitempty"` - // PropertyBag - Workload specific property bag. - PropertyBag map[string]*string `json:"propertyBag"` - // TargetInfo - Details of target database - TargetInfo *TargetRestoreInfo `json:"targetInfo,omitempty"` - // ObjectType - Possible values include: 'ObjectTypeRestoreRequest', 'ObjectTypeAzureFileShareRestoreRequest', 'ObjectTypeAzureWorkloadPointInTimeRestoreRequest', 'ObjectTypeAzureWorkloadRestoreRequest', 'ObjectTypeAzureWorkloadSAPHanaPointInTimeRestoreRequest', 'ObjectTypeAzureWorkloadSAPHanaRestoreRequest', 'ObjectTypeAzureWorkloadSQLPointInTimeRestoreRequest', 'ObjectTypeAzureWorkloadSQLRestoreRequest', 'ObjectTypeIaasVMRestoreRequest' - ObjectType ObjectTypeBasicRestoreRequest `json:"objectType,omitempty"` -} - -// MarshalJSON is the custom marshaler for AzureWorkloadPointInTimeRestoreRequest. -func (awpitrr AzureWorkloadPointInTimeRestoreRequest) MarshalJSON() ([]byte, error) { - awpitrr.ObjectType = ObjectTypeAzureWorkloadPointInTimeRestoreRequest - objectMap := make(map[string]interface{}) - if awpitrr.PointInTime != nil { - objectMap["pointInTime"] = awpitrr.PointInTime - } - if awpitrr.RecoveryType != "" { - objectMap["recoveryType"] = awpitrr.RecoveryType - } - if awpitrr.SourceResourceID != nil { - objectMap["sourceResourceId"] = awpitrr.SourceResourceID - } - if awpitrr.PropertyBag != nil { - objectMap["propertyBag"] = awpitrr.PropertyBag - } - if awpitrr.TargetInfo != nil { - objectMap["targetInfo"] = awpitrr.TargetInfo - } - if awpitrr.ObjectType != "" { - objectMap["objectType"] = awpitrr.ObjectType - } - return json.Marshal(objectMap) -} - -// AsAzureFileShareRestoreRequest is the BasicRestoreRequest implementation for AzureWorkloadPointInTimeRestoreRequest. -func (awpitrr AzureWorkloadPointInTimeRestoreRequest) AsAzureFileShareRestoreRequest() (*AzureFileShareRestoreRequest, bool) { - return nil, false -} - -// AsAzureWorkloadPointInTimeRestoreRequest is the BasicRestoreRequest implementation for AzureWorkloadPointInTimeRestoreRequest. -func (awpitrr AzureWorkloadPointInTimeRestoreRequest) AsAzureWorkloadPointInTimeRestoreRequest() (*AzureWorkloadPointInTimeRestoreRequest, bool) { - return &awpitrr, true -} - -// AsAzureWorkloadRestoreRequest is the BasicRestoreRequest implementation for AzureWorkloadPointInTimeRestoreRequest. -func (awpitrr AzureWorkloadPointInTimeRestoreRequest) AsAzureWorkloadRestoreRequest() (*AzureWorkloadRestoreRequest, bool) { - return nil, false -} - -// AsBasicAzureWorkloadRestoreRequest is the BasicRestoreRequest implementation for AzureWorkloadPointInTimeRestoreRequest. -func (awpitrr AzureWorkloadPointInTimeRestoreRequest) AsBasicAzureWorkloadRestoreRequest() (BasicAzureWorkloadRestoreRequest, bool) { - return &awpitrr, true -} - -// AsAzureWorkloadSAPHanaPointInTimeRestoreRequest is the BasicRestoreRequest implementation for AzureWorkloadPointInTimeRestoreRequest. -func (awpitrr AzureWorkloadPointInTimeRestoreRequest) AsAzureWorkloadSAPHanaPointInTimeRestoreRequest() (*AzureWorkloadSAPHanaPointInTimeRestoreRequest, bool) { - return nil, false -} - -// AsAzureWorkloadSAPHanaRestoreRequest is the BasicRestoreRequest implementation for AzureWorkloadPointInTimeRestoreRequest. -func (awpitrr AzureWorkloadPointInTimeRestoreRequest) AsAzureWorkloadSAPHanaRestoreRequest() (*AzureWorkloadSAPHanaRestoreRequest, bool) { - return nil, false -} - -// AsBasicAzureWorkloadSAPHanaRestoreRequest is the BasicRestoreRequest implementation for AzureWorkloadPointInTimeRestoreRequest. -func (awpitrr AzureWorkloadPointInTimeRestoreRequest) AsBasicAzureWorkloadSAPHanaRestoreRequest() (BasicAzureWorkloadSAPHanaRestoreRequest, bool) { - return nil, false -} - -// AsAzureWorkloadSQLPointInTimeRestoreRequest is the BasicRestoreRequest implementation for AzureWorkloadPointInTimeRestoreRequest. -func (awpitrr AzureWorkloadPointInTimeRestoreRequest) AsAzureWorkloadSQLPointInTimeRestoreRequest() (*AzureWorkloadSQLPointInTimeRestoreRequest, bool) { - return nil, false -} - -// AsAzureWorkloadSQLRestoreRequest is the BasicRestoreRequest implementation for AzureWorkloadPointInTimeRestoreRequest. -func (awpitrr AzureWorkloadPointInTimeRestoreRequest) AsAzureWorkloadSQLRestoreRequest() (*AzureWorkloadSQLRestoreRequest, bool) { - return nil, false -} - -// AsBasicAzureWorkloadSQLRestoreRequest is the BasicRestoreRequest implementation for AzureWorkloadPointInTimeRestoreRequest. -func (awpitrr AzureWorkloadPointInTimeRestoreRequest) AsBasicAzureWorkloadSQLRestoreRequest() (BasicAzureWorkloadSQLRestoreRequest, bool) { - return nil, false -} - -// AsIaasVMRestoreRequest is the BasicRestoreRequest implementation for AzureWorkloadPointInTimeRestoreRequest. -func (awpitrr AzureWorkloadPointInTimeRestoreRequest) AsIaasVMRestoreRequest() (*IaasVMRestoreRequest, bool) { - return nil, false -} - -// AsRestoreRequest is the BasicRestoreRequest implementation for AzureWorkloadPointInTimeRestoreRequest. -func (awpitrr AzureWorkloadPointInTimeRestoreRequest) AsRestoreRequest() (*RestoreRequest, bool) { - return nil, false -} - -// AsBasicRestoreRequest is the BasicRestoreRequest implementation for AzureWorkloadPointInTimeRestoreRequest. -func (awpitrr AzureWorkloadPointInTimeRestoreRequest) AsBasicRestoreRequest() (BasicRestoreRequest, bool) { - return &awpitrr, true -} - -// BasicAzureWorkloadRecoveryPoint workload specific recovery point, specifically encapsulates full/diff recovery point -type BasicAzureWorkloadRecoveryPoint interface { - AsAzureWorkloadPointInTimeRecoveryPoint() (*AzureWorkloadPointInTimeRecoveryPoint, bool) - AsBasicAzureWorkloadPointInTimeRecoveryPoint() (BasicAzureWorkloadPointInTimeRecoveryPoint, bool) - AsAzureWorkloadSAPHanaPointInTimeRecoveryPoint() (*AzureWorkloadSAPHanaPointInTimeRecoveryPoint, bool) - AsAzureWorkloadSAPHanaRecoveryPoint() (*AzureWorkloadSAPHanaRecoveryPoint, bool) - AsAzureWorkloadSQLPointInTimeRecoveryPoint() (*AzureWorkloadSQLPointInTimeRecoveryPoint, bool) - AsAzureWorkloadSQLRecoveryPoint() (*AzureWorkloadSQLRecoveryPoint, bool) - AsBasicAzureWorkloadSQLRecoveryPoint() (BasicAzureWorkloadSQLRecoveryPoint, bool) - AsAzureWorkloadRecoveryPoint() (*AzureWorkloadRecoveryPoint, bool) -} - -// AzureWorkloadRecoveryPoint workload specific recovery point, specifically encapsulates full/diff recovery -// point -type AzureWorkloadRecoveryPoint struct { - // RecoveryPointTimeInUTC - UTC time at which recovery point was created - RecoveryPointTimeInUTC *date.Time `json:"recoveryPointTimeInUTC,omitempty"` - // Type - Type of restore point. Possible values include: 'RestorePointTypeInvalid', 'RestorePointTypeFull', 'RestorePointTypeLog', 'RestorePointTypeDifferential' - Type RestorePointType `json:"type,omitempty"` - // ObjectType - Possible values include: 'ObjectTypeRecoveryPoint', 'ObjectTypeAzureFileShareRecoveryPoint', 'ObjectTypeAzureWorkloadPointInTimeRecoveryPoint', 'ObjectTypeAzureWorkloadRecoveryPoint', 'ObjectTypeAzureWorkloadSAPHanaPointInTimeRecoveryPoint', 'ObjectTypeAzureWorkloadSAPHanaRecoveryPoint', 'ObjectTypeAzureWorkloadSQLPointInTimeRecoveryPoint', 'ObjectTypeAzureWorkloadSQLRecoveryPoint', 'ObjectTypeGenericRecoveryPoint', 'ObjectTypeIaasVMRecoveryPoint' - ObjectType ObjectTypeBasicRecoveryPoint `json:"objectType,omitempty"` -} - -func unmarshalBasicAzureWorkloadRecoveryPoint(body []byte) (BasicAzureWorkloadRecoveryPoint, error) { - var m map[string]interface{} - err := json.Unmarshal(body, &m) - if err != nil { - return nil, err - } - - switch m["objectType"] { - case string(ObjectTypeAzureWorkloadPointInTimeRecoveryPoint): - var awpitrp AzureWorkloadPointInTimeRecoveryPoint - err := json.Unmarshal(body, &awpitrp) - return awpitrp, err - case string(ObjectTypeAzureWorkloadSAPHanaPointInTimeRecoveryPoint): - var awshpitrp AzureWorkloadSAPHanaPointInTimeRecoveryPoint - err := json.Unmarshal(body, &awshpitrp) - return awshpitrp, err - case string(ObjectTypeAzureWorkloadSAPHanaRecoveryPoint): - var awshrp AzureWorkloadSAPHanaRecoveryPoint - err := json.Unmarshal(body, &awshrp) - return awshrp, err - case string(ObjectTypeAzureWorkloadSQLPointInTimeRecoveryPoint): - var awspitrp AzureWorkloadSQLPointInTimeRecoveryPoint - err := json.Unmarshal(body, &awspitrp) - return awspitrp, err - case string(ObjectTypeAzureWorkloadSQLRecoveryPoint): - var awsrp AzureWorkloadSQLRecoveryPoint - err := json.Unmarshal(body, &awsrp) - return awsrp, err - default: - var awrp AzureWorkloadRecoveryPoint - err := json.Unmarshal(body, &awrp) - return awrp, err - } -} -func unmarshalBasicAzureWorkloadRecoveryPointArray(body []byte) ([]BasicAzureWorkloadRecoveryPoint, error) { - var rawMessages []*json.RawMessage - err := json.Unmarshal(body, &rawMessages) - if err != nil { - return nil, err - } - - awrpArray := make([]BasicAzureWorkloadRecoveryPoint, len(rawMessages)) - - for index, rawMessage := range rawMessages { - awrp, err := unmarshalBasicAzureWorkloadRecoveryPoint(*rawMessage) - if err != nil { - return nil, err - } - awrpArray[index] = awrp - } - return awrpArray, nil -} - -// MarshalJSON is the custom marshaler for AzureWorkloadRecoveryPoint. -func (awrp AzureWorkloadRecoveryPoint) MarshalJSON() ([]byte, error) { - awrp.ObjectType = ObjectTypeAzureWorkloadRecoveryPoint - objectMap := make(map[string]interface{}) - if awrp.RecoveryPointTimeInUTC != nil { - objectMap["recoveryPointTimeInUTC"] = awrp.RecoveryPointTimeInUTC - } - if awrp.Type != "" { - objectMap["type"] = awrp.Type - } - if awrp.ObjectType != "" { - objectMap["objectType"] = awrp.ObjectType - } - return json.Marshal(objectMap) -} - -// AsAzureFileShareRecoveryPoint is the BasicRecoveryPoint implementation for AzureWorkloadRecoveryPoint. -func (awrp AzureWorkloadRecoveryPoint) AsAzureFileShareRecoveryPoint() (*AzureFileShareRecoveryPoint, bool) { - return nil, false -} - -// AsAzureWorkloadPointInTimeRecoveryPoint is the BasicRecoveryPoint implementation for AzureWorkloadRecoveryPoint. -func (awrp AzureWorkloadRecoveryPoint) AsAzureWorkloadPointInTimeRecoveryPoint() (*AzureWorkloadPointInTimeRecoveryPoint, bool) { - return nil, false -} - -// AsBasicAzureWorkloadPointInTimeRecoveryPoint is the BasicRecoveryPoint implementation for AzureWorkloadRecoveryPoint. -func (awrp AzureWorkloadRecoveryPoint) AsBasicAzureWorkloadPointInTimeRecoveryPoint() (BasicAzureWorkloadPointInTimeRecoveryPoint, bool) { - return nil, false -} - -// AsAzureWorkloadRecoveryPoint is the BasicRecoveryPoint implementation for AzureWorkloadRecoveryPoint. -func (awrp AzureWorkloadRecoveryPoint) AsAzureWorkloadRecoveryPoint() (*AzureWorkloadRecoveryPoint, bool) { - return &awrp, true -} - -// AsBasicAzureWorkloadRecoveryPoint is the BasicRecoveryPoint implementation for AzureWorkloadRecoveryPoint. -func (awrp AzureWorkloadRecoveryPoint) AsBasicAzureWorkloadRecoveryPoint() (BasicAzureWorkloadRecoveryPoint, bool) { - return &awrp, true -} - -// AsAzureWorkloadSAPHanaPointInTimeRecoveryPoint is the BasicRecoveryPoint implementation for AzureWorkloadRecoveryPoint. -func (awrp AzureWorkloadRecoveryPoint) AsAzureWorkloadSAPHanaPointInTimeRecoveryPoint() (*AzureWorkloadSAPHanaPointInTimeRecoveryPoint, bool) { - return nil, false -} - -// AsAzureWorkloadSAPHanaRecoveryPoint is the BasicRecoveryPoint implementation for AzureWorkloadRecoveryPoint. -func (awrp AzureWorkloadRecoveryPoint) AsAzureWorkloadSAPHanaRecoveryPoint() (*AzureWorkloadSAPHanaRecoveryPoint, bool) { - return nil, false -} - -// AsAzureWorkloadSQLPointInTimeRecoveryPoint is the BasicRecoveryPoint implementation for AzureWorkloadRecoveryPoint. -func (awrp AzureWorkloadRecoveryPoint) AsAzureWorkloadSQLPointInTimeRecoveryPoint() (*AzureWorkloadSQLPointInTimeRecoveryPoint, bool) { - return nil, false -} - -// AsAzureWorkloadSQLRecoveryPoint is the BasicRecoveryPoint implementation for AzureWorkloadRecoveryPoint. -func (awrp AzureWorkloadRecoveryPoint) AsAzureWorkloadSQLRecoveryPoint() (*AzureWorkloadSQLRecoveryPoint, bool) { - return nil, false -} - -// AsBasicAzureWorkloadSQLRecoveryPoint is the BasicRecoveryPoint implementation for AzureWorkloadRecoveryPoint. -func (awrp AzureWorkloadRecoveryPoint) AsBasicAzureWorkloadSQLRecoveryPoint() (BasicAzureWorkloadSQLRecoveryPoint, bool) { - return nil, false -} - -// AsGenericRecoveryPoint is the BasicRecoveryPoint implementation for AzureWorkloadRecoveryPoint. -func (awrp AzureWorkloadRecoveryPoint) AsGenericRecoveryPoint() (*GenericRecoveryPoint, bool) { - return nil, false -} - -// AsIaasVMRecoveryPoint is the BasicRecoveryPoint implementation for AzureWorkloadRecoveryPoint. -func (awrp AzureWorkloadRecoveryPoint) AsIaasVMRecoveryPoint() (*IaasVMRecoveryPoint, bool) { - return nil, false -} - -// AsRecoveryPoint is the BasicRecoveryPoint implementation for AzureWorkloadRecoveryPoint. -func (awrp AzureWorkloadRecoveryPoint) AsRecoveryPoint() (*RecoveryPoint, bool) { - return nil, false -} - -// AsBasicRecoveryPoint is the BasicRecoveryPoint implementation for AzureWorkloadRecoveryPoint. -func (awrp AzureWorkloadRecoveryPoint) AsBasicRecoveryPoint() (BasicRecoveryPoint, bool) { - return &awrp, true -} - -// BasicAzureWorkloadRestoreRequest azureWorkload-specific restore. -type BasicAzureWorkloadRestoreRequest interface { - AsAzureWorkloadPointInTimeRestoreRequest() (*AzureWorkloadPointInTimeRestoreRequest, bool) - AsAzureWorkloadSAPHanaPointInTimeRestoreRequest() (*AzureWorkloadSAPHanaPointInTimeRestoreRequest, bool) - AsAzureWorkloadSAPHanaRestoreRequest() (*AzureWorkloadSAPHanaRestoreRequest, bool) - AsBasicAzureWorkloadSAPHanaRestoreRequest() (BasicAzureWorkloadSAPHanaRestoreRequest, bool) - AsAzureWorkloadSQLPointInTimeRestoreRequest() (*AzureWorkloadSQLPointInTimeRestoreRequest, bool) - AsAzureWorkloadSQLRestoreRequest() (*AzureWorkloadSQLRestoreRequest, bool) - AsBasicAzureWorkloadSQLRestoreRequest() (BasicAzureWorkloadSQLRestoreRequest, bool) - AsAzureWorkloadRestoreRequest() (*AzureWorkloadRestoreRequest, bool) -} - -// AzureWorkloadRestoreRequest azureWorkload-specific restore. -type AzureWorkloadRestoreRequest struct { - // RecoveryType - OLR/ALR, RestoreDisks is invalid option. Possible values include: 'RecoveryTypeInvalid', 'RecoveryTypeOriginalLocation', 'RecoveryTypeAlternateLocation', 'RecoveryTypeRestoreDisks' - RecoveryType RecoveryType `json:"recoveryType,omitempty"` - // SourceResourceID - Fully qualified ARM ID of the VM on which workload that was running is being recovered. - SourceResourceID *string `json:"sourceResourceId,omitempty"` - // PropertyBag - Workload specific property bag. - PropertyBag map[string]*string `json:"propertyBag"` - // TargetInfo - Details of target database - TargetInfo *TargetRestoreInfo `json:"targetInfo,omitempty"` - // ObjectType - Possible values include: 'ObjectTypeRestoreRequest', 'ObjectTypeAzureFileShareRestoreRequest', 'ObjectTypeAzureWorkloadPointInTimeRestoreRequest', 'ObjectTypeAzureWorkloadRestoreRequest', 'ObjectTypeAzureWorkloadSAPHanaPointInTimeRestoreRequest', 'ObjectTypeAzureWorkloadSAPHanaRestoreRequest', 'ObjectTypeAzureWorkloadSQLPointInTimeRestoreRequest', 'ObjectTypeAzureWorkloadSQLRestoreRequest', 'ObjectTypeIaasVMRestoreRequest' - ObjectType ObjectTypeBasicRestoreRequest `json:"objectType,omitempty"` -} - -func unmarshalBasicAzureWorkloadRestoreRequest(body []byte) (BasicAzureWorkloadRestoreRequest, error) { - var m map[string]interface{} - err := json.Unmarshal(body, &m) - if err != nil { - return nil, err - } - - switch m["objectType"] { - case string(ObjectTypeAzureWorkloadPointInTimeRestoreRequest): - var awpitrr AzureWorkloadPointInTimeRestoreRequest - err := json.Unmarshal(body, &awpitrr) - return awpitrr, err - case string(ObjectTypeAzureWorkloadSAPHanaPointInTimeRestoreRequest): - var awshpitrr AzureWorkloadSAPHanaPointInTimeRestoreRequest - err := json.Unmarshal(body, &awshpitrr) - return awshpitrr, err - case string(ObjectTypeAzureWorkloadSAPHanaRestoreRequest): - var awshrr AzureWorkloadSAPHanaRestoreRequest - err := json.Unmarshal(body, &awshrr) - return awshrr, err - case string(ObjectTypeAzureWorkloadSQLPointInTimeRestoreRequest): - var awspitrr AzureWorkloadSQLPointInTimeRestoreRequest - err := json.Unmarshal(body, &awspitrr) - return awspitrr, err - case string(ObjectTypeAzureWorkloadSQLRestoreRequest): - var awsrr AzureWorkloadSQLRestoreRequest - err := json.Unmarshal(body, &awsrr) - return awsrr, err - default: - var awrr AzureWorkloadRestoreRequest - err := json.Unmarshal(body, &awrr) - return awrr, err - } -} -func unmarshalBasicAzureWorkloadRestoreRequestArray(body []byte) ([]BasicAzureWorkloadRestoreRequest, error) { - var rawMessages []*json.RawMessage - err := json.Unmarshal(body, &rawMessages) - if err != nil { - return nil, err - } - - awrrArray := make([]BasicAzureWorkloadRestoreRequest, len(rawMessages)) - - for index, rawMessage := range rawMessages { - awrr, err := unmarshalBasicAzureWorkloadRestoreRequest(*rawMessage) - if err != nil { - return nil, err - } - awrrArray[index] = awrr - } - return awrrArray, nil -} - -// MarshalJSON is the custom marshaler for AzureWorkloadRestoreRequest. -func (awrr AzureWorkloadRestoreRequest) MarshalJSON() ([]byte, error) { - awrr.ObjectType = ObjectTypeAzureWorkloadRestoreRequest - objectMap := make(map[string]interface{}) - if awrr.RecoveryType != "" { - objectMap["recoveryType"] = awrr.RecoveryType - } - if awrr.SourceResourceID != nil { - objectMap["sourceResourceId"] = awrr.SourceResourceID - } - if awrr.PropertyBag != nil { - objectMap["propertyBag"] = awrr.PropertyBag - } - if awrr.TargetInfo != nil { - objectMap["targetInfo"] = awrr.TargetInfo - } - if awrr.ObjectType != "" { - objectMap["objectType"] = awrr.ObjectType - } - return json.Marshal(objectMap) -} - -// AsAzureFileShareRestoreRequest is the BasicRestoreRequest implementation for AzureWorkloadRestoreRequest. -func (awrr AzureWorkloadRestoreRequest) AsAzureFileShareRestoreRequest() (*AzureFileShareRestoreRequest, bool) { - return nil, false -} - -// AsAzureWorkloadPointInTimeRestoreRequest is the BasicRestoreRequest implementation for AzureWorkloadRestoreRequest. -func (awrr AzureWorkloadRestoreRequest) AsAzureWorkloadPointInTimeRestoreRequest() (*AzureWorkloadPointInTimeRestoreRequest, bool) { - return nil, false -} - -// AsAzureWorkloadRestoreRequest is the BasicRestoreRequest implementation for AzureWorkloadRestoreRequest. -func (awrr AzureWorkloadRestoreRequest) AsAzureWorkloadRestoreRequest() (*AzureWorkloadRestoreRequest, bool) { - return &awrr, true -} - -// AsBasicAzureWorkloadRestoreRequest is the BasicRestoreRequest implementation for AzureWorkloadRestoreRequest. -func (awrr AzureWorkloadRestoreRequest) AsBasicAzureWorkloadRestoreRequest() (BasicAzureWorkloadRestoreRequest, bool) { - return &awrr, true -} - -// AsAzureWorkloadSAPHanaPointInTimeRestoreRequest is the BasicRestoreRequest implementation for AzureWorkloadRestoreRequest. -func (awrr AzureWorkloadRestoreRequest) AsAzureWorkloadSAPHanaPointInTimeRestoreRequest() (*AzureWorkloadSAPHanaPointInTimeRestoreRequest, bool) { - return nil, false -} - -// AsAzureWorkloadSAPHanaRestoreRequest is the BasicRestoreRequest implementation for AzureWorkloadRestoreRequest. -func (awrr AzureWorkloadRestoreRequest) AsAzureWorkloadSAPHanaRestoreRequest() (*AzureWorkloadSAPHanaRestoreRequest, bool) { - return nil, false -} - -// AsBasicAzureWorkloadSAPHanaRestoreRequest is the BasicRestoreRequest implementation for AzureWorkloadRestoreRequest. -func (awrr AzureWorkloadRestoreRequest) AsBasicAzureWorkloadSAPHanaRestoreRequest() (BasicAzureWorkloadSAPHanaRestoreRequest, bool) { - return nil, false -} - -// AsAzureWorkloadSQLPointInTimeRestoreRequest is the BasicRestoreRequest implementation for AzureWorkloadRestoreRequest. -func (awrr AzureWorkloadRestoreRequest) AsAzureWorkloadSQLPointInTimeRestoreRequest() (*AzureWorkloadSQLPointInTimeRestoreRequest, bool) { - return nil, false -} - -// AsAzureWorkloadSQLRestoreRequest is the BasicRestoreRequest implementation for AzureWorkloadRestoreRequest. -func (awrr AzureWorkloadRestoreRequest) AsAzureWorkloadSQLRestoreRequest() (*AzureWorkloadSQLRestoreRequest, bool) { - return nil, false -} - -// AsBasicAzureWorkloadSQLRestoreRequest is the BasicRestoreRequest implementation for AzureWorkloadRestoreRequest. -func (awrr AzureWorkloadRestoreRequest) AsBasicAzureWorkloadSQLRestoreRequest() (BasicAzureWorkloadSQLRestoreRequest, bool) { - return nil, false -} - -// AsIaasVMRestoreRequest is the BasicRestoreRequest implementation for AzureWorkloadRestoreRequest. -func (awrr AzureWorkloadRestoreRequest) AsIaasVMRestoreRequest() (*IaasVMRestoreRequest, bool) { - return nil, false -} - -// AsRestoreRequest is the BasicRestoreRequest implementation for AzureWorkloadRestoreRequest. -func (awrr AzureWorkloadRestoreRequest) AsRestoreRequest() (*RestoreRequest, bool) { - return nil, false -} - -// AsBasicRestoreRequest is the BasicRestoreRequest implementation for AzureWorkloadRestoreRequest. -func (awrr AzureWorkloadRestoreRequest) AsBasicRestoreRequest() (BasicRestoreRequest, bool) { - return &awrr, true -} - -// AzureWorkloadSAPHanaPointInTimeRecoveryPoint recovery point specific to PointInTime in SAPHana -type AzureWorkloadSAPHanaPointInTimeRecoveryPoint struct { - // TimeRanges - List of log ranges - TimeRanges *[]PointInTimeRange `json:"timeRanges,omitempty"` - // RecoveryPointTimeInUTC - UTC time at which recovery point was created - RecoveryPointTimeInUTC *date.Time `json:"recoveryPointTimeInUTC,omitempty"` - // Type - Type of restore point. Possible values include: 'RestorePointTypeInvalid', 'RestorePointTypeFull', 'RestorePointTypeLog', 'RestorePointTypeDifferential' - Type RestorePointType `json:"type,omitempty"` - // ObjectType - Possible values include: 'ObjectTypeRecoveryPoint', 'ObjectTypeAzureFileShareRecoveryPoint', 'ObjectTypeAzureWorkloadPointInTimeRecoveryPoint', 'ObjectTypeAzureWorkloadRecoveryPoint', 'ObjectTypeAzureWorkloadSAPHanaPointInTimeRecoveryPoint', 'ObjectTypeAzureWorkloadSAPHanaRecoveryPoint', 'ObjectTypeAzureWorkloadSQLPointInTimeRecoveryPoint', 'ObjectTypeAzureWorkloadSQLRecoveryPoint', 'ObjectTypeGenericRecoveryPoint', 'ObjectTypeIaasVMRecoveryPoint' - ObjectType ObjectTypeBasicRecoveryPoint `json:"objectType,omitempty"` -} - -// MarshalJSON is the custom marshaler for AzureWorkloadSAPHanaPointInTimeRecoveryPoint. -func (awshpitrp AzureWorkloadSAPHanaPointInTimeRecoveryPoint) MarshalJSON() ([]byte, error) { - awshpitrp.ObjectType = ObjectTypeAzureWorkloadSAPHanaPointInTimeRecoveryPoint - objectMap := make(map[string]interface{}) - if awshpitrp.TimeRanges != nil { - objectMap["timeRanges"] = awshpitrp.TimeRanges - } - if awshpitrp.RecoveryPointTimeInUTC != nil { - objectMap["recoveryPointTimeInUTC"] = awshpitrp.RecoveryPointTimeInUTC - } - if awshpitrp.Type != "" { - objectMap["type"] = awshpitrp.Type - } - if awshpitrp.ObjectType != "" { - objectMap["objectType"] = awshpitrp.ObjectType - } - return json.Marshal(objectMap) -} - -// AsAzureFileShareRecoveryPoint is the BasicRecoveryPoint implementation for AzureWorkloadSAPHanaPointInTimeRecoveryPoint. -func (awshpitrp AzureWorkloadSAPHanaPointInTimeRecoveryPoint) AsAzureFileShareRecoveryPoint() (*AzureFileShareRecoveryPoint, bool) { - return nil, false -} - -// AsAzureWorkloadPointInTimeRecoveryPoint is the BasicRecoveryPoint implementation for AzureWorkloadSAPHanaPointInTimeRecoveryPoint. -func (awshpitrp AzureWorkloadSAPHanaPointInTimeRecoveryPoint) AsAzureWorkloadPointInTimeRecoveryPoint() (*AzureWorkloadPointInTimeRecoveryPoint, bool) { - return nil, false -} - -// AsBasicAzureWorkloadPointInTimeRecoveryPoint is the BasicRecoveryPoint implementation for AzureWorkloadSAPHanaPointInTimeRecoveryPoint. -func (awshpitrp AzureWorkloadSAPHanaPointInTimeRecoveryPoint) AsBasicAzureWorkloadPointInTimeRecoveryPoint() (BasicAzureWorkloadPointInTimeRecoveryPoint, bool) { - return &awshpitrp, true -} - -// AsAzureWorkloadRecoveryPoint is the BasicRecoveryPoint implementation for AzureWorkloadSAPHanaPointInTimeRecoveryPoint. -func (awshpitrp AzureWorkloadSAPHanaPointInTimeRecoveryPoint) AsAzureWorkloadRecoveryPoint() (*AzureWorkloadRecoveryPoint, bool) { - return nil, false -} - -// AsBasicAzureWorkloadRecoveryPoint is the BasicRecoveryPoint implementation for AzureWorkloadSAPHanaPointInTimeRecoveryPoint. -func (awshpitrp AzureWorkloadSAPHanaPointInTimeRecoveryPoint) AsBasicAzureWorkloadRecoveryPoint() (BasicAzureWorkloadRecoveryPoint, bool) { - return &awshpitrp, true -} - -// AsAzureWorkloadSAPHanaPointInTimeRecoveryPoint is the BasicRecoveryPoint implementation for AzureWorkloadSAPHanaPointInTimeRecoveryPoint. -func (awshpitrp AzureWorkloadSAPHanaPointInTimeRecoveryPoint) AsAzureWorkloadSAPHanaPointInTimeRecoveryPoint() (*AzureWorkloadSAPHanaPointInTimeRecoveryPoint, bool) { - return &awshpitrp, true -} - -// AsAzureWorkloadSAPHanaRecoveryPoint is the BasicRecoveryPoint implementation for AzureWorkloadSAPHanaPointInTimeRecoveryPoint. -func (awshpitrp AzureWorkloadSAPHanaPointInTimeRecoveryPoint) AsAzureWorkloadSAPHanaRecoveryPoint() (*AzureWorkloadSAPHanaRecoveryPoint, bool) { - return nil, false -} - -// AsAzureWorkloadSQLPointInTimeRecoveryPoint is the BasicRecoveryPoint implementation for AzureWorkloadSAPHanaPointInTimeRecoveryPoint. -func (awshpitrp AzureWorkloadSAPHanaPointInTimeRecoveryPoint) AsAzureWorkloadSQLPointInTimeRecoveryPoint() (*AzureWorkloadSQLPointInTimeRecoveryPoint, bool) { - return nil, false -} - -// AsAzureWorkloadSQLRecoveryPoint is the BasicRecoveryPoint implementation for AzureWorkloadSAPHanaPointInTimeRecoveryPoint. -func (awshpitrp AzureWorkloadSAPHanaPointInTimeRecoveryPoint) AsAzureWorkloadSQLRecoveryPoint() (*AzureWorkloadSQLRecoveryPoint, bool) { - return nil, false -} - -// AsBasicAzureWorkloadSQLRecoveryPoint is the BasicRecoveryPoint implementation for AzureWorkloadSAPHanaPointInTimeRecoveryPoint. -func (awshpitrp AzureWorkloadSAPHanaPointInTimeRecoveryPoint) AsBasicAzureWorkloadSQLRecoveryPoint() (BasicAzureWorkloadSQLRecoveryPoint, bool) { - return nil, false -} - -// AsGenericRecoveryPoint is the BasicRecoveryPoint implementation for AzureWorkloadSAPHanaPointInTimeRecoveryPoint. -func (awshpitrp AzureWorkloadSAPHanaPointInTimeRecoveryPoint) AsGenericRecoveryPoint() (*GenericRecoveryPoint, bool) { - return nil, false -} - -// AsIaasVMRecoveryPoint is the BasicRecoveryPoint implementation for AzureWorkloadSAPHanaPointInTimeRecoveryPoint. -func (awshpitrp AzureWorkloadSAPHanaPointInTimeRecoveryPoint) AsIaasVMRecoveryPoint() (*IaasVMRecoveryPoint, bool) { - return nil, false -} - -// AsRecoveryPoint is the BasicRecoveryPoint implementation for AzureWorkloadSAPHanaPointInTimeRecoveryPoint. -func (awshpitrp AzureWorkloadSAPHanaPointInTimeRecoveryPoint) AsRecoveryPoint() (*RecoveryPoint, bool) { - return nil, false -} - -// AsBasicRecoveryPoint is the BasicRecoveryPoint implementation for AzureWorkloadSAPHanaPointInTimeRecoveryPoint. -func (awshpitrp AzureWorkloadSAPHanaPointInTimeRecoveryPoint) AsBasicRecoveryPoint() (BasicRecoveryPoint, bool) { - return &awshpitrp, true -} - -// AzureWorkloadSAPHanaPointInTimeRestoreRequest azureWorkload SAP Hana -specific restore. Specifically for -// PointInTime/Log restore -type AzureWorkloadSAPHanaPointInTimeRestoreRequest struct { - // PointInTime - PointInTime value - PointInTime *date.Time `json:"pointInTime,omitempty"` - // RecoveryType - OLR/ALR, RestoreDisks is invalid option. Possible values include: 'RecoveryTypeInvalid', 'RecoveryTypeOriginalLocation', 'RecoveryTypeAlternateLocation', 'RecoveryTypeRestoreDisks' - RecoveryType RecoveryType `json:"recoveryType,omitempty"` - // SourceResourceID - Fully qualified ARM ID of the VM on which workload that was running is being recovered. - SourceResourceID *string `json:"sourceResourceId,omitempty"` - // PropertyBag - Workload specific property bag. - PropertyBag map[string]*string `json:"propertyBag"` - // TargetInfo - Details of target database - TargetInfo *TargetRestoreInfo `json:"targetInfo,omitempty"` - // ObjectType - Possible values include: 'ObjectTypeRestoreRequest', 'ObjectTypeAzureFileShareRestoreRequest', 'ObjectTypeAzureWorkloadPointInTimeRestoreRequest', 'ObjectTypeAzureWorkloadRestoreRequest', 'ObjectTypeAzureWorkloadSAPHanaPointInTimeRestoreRequest', 'ObjectTypeAzureWorkloadSAPHanaRestoreRequest', 'ObjectTypeAzureWorkloadSQLPointInTimeRestoreRequest', 'ObjectTypeAzureWorkloadSQLRestoreRequest', 'ObjectTypeIaasVMRestoreRequest' - ObjectType ObjectTypeBasicRestoreRequest `json:"objectType,omitempty"` -} - -// MarshalJSON is the custom marshaler for AzureWorkloadSAPHanaPointInTimeRestoreRequest. -func (awshpitrr AzureWorkloadSAPHanaPointInTimeRestoreRequest) MarshalJSON() ([]byte, error) { - awshpitrr.ObjectType = ObjectTypeAzureWorkloadSAPHanaPointInTimeRestoreRequest - objectMap := make(map[string]interface{}) - if awshpitrr.PointInTime != nil { - objectMap["pointInTime"] = awshpitrr.PointInTime - } - if awshpitrr.RecoveryType != "" { - objectMap["recoveryType"] = awshpitrr.RecoveryType - } - if awshpitrr.SourceResourceID != nil { - objectMap["sourceResourceId"] = awshpitrr.SourceResourceID - } - if awshpitrr.PropertyBag != nil { - objectMap["propertyBag"] = awshpitrr.PropertyBag - } - if awshpitrr.TargetInfo != nil { - objectMap["targetInfo"] = awshpitrr.TargetInfo - } - if awshpitrr.ObjectType != "" { - objectMap["objectType"] = awshpitrr.ObjectType - } - return json.Marshal(objectMap) -} - -// AsAzureFileShareRestoreRequest is the BasicRestoreRequest implementation for AzureWorkloadSAPHanaPointInTimeRestoreRequest. -func (awshpitrr AzureWorkloadSAPHanaPointInTimeRestoreRequest) AsAzureFileShareRestoreRequest() (*AzureFileShareRestoreRequest, bool) { - return nil, false -} - -// AsAzureWorkloadPointInTimeRestoreRequest is the BasicRestoreRequest implementation for AzureWorkloadSAPHanaPointInTimeRestoreRequest. -func (awshpitrr AzureWorkloadSAPHanaPointInTimeRestoreRequest) AsAzureWorkloadPointInTimeRestoreRequest() (*AzureWorkloadPointInTimeRestoreRequest, bool) { - return nil, false -} - -// AsAzureWorkloadRestoreRequest is the BasicRestoreRequest implementation for AzureWorkloadSAPHanaPointInTimeRestoreRequest. -func (awshpitrr AzureWorkloadSAPHanaPointInTimeRestoreRequest) AsAzureWorkloadRestoreRequest() (*AzureWorkloadRestoreRequest, bool) { - return nil, false -} - -// AsBasicAzureWorkloadRestoreRequest is the BasicRestoreRequest implementation for AzureWorkloadSAPHanaPointInTimeRestoreRequest. -func (awshpitrr AzureWorkloadSAPHanaPointInTimeRestoreRequest) AsBasicAzureWorkloadRestoreRequest() (BasicAzureWorkloadRestoreRequest, bool) { - return &awshpitrr, true -} - -// AsAzureWorkloadSAPHanaPointInTimeRestoreRequest is the BasicRestoreRequest implementation for AzureWorkloadSAPHanaPointInTimeRestoreRequest. -func (awshpitrr AzureWorkloadSAPHanaPointInTimeRestoreRequest) AsAzureWorkloadSAPHanaPointInTimeRestoreRequest() (*AzureWorkloadSAPHanaPointInTimeRestoreRequest, bool) { - return &awshpitrr, true -} - -// AsAzureWorkloadSAPHanaRestoreRequest is the BasicRestoreRequest implementation for AzureWorkloadSAPHanaPointInTimeRestoreRequest. -func (awshpitrr AzureWorkloadSAPHanaPointInTimeRestoreRequest) AsAzureWorkloadSAPHanaRestoreRequest() (*AzureWorkloadSAPHanaRestoreRequest, bool) { - return nil, false -} - -// AsBasicAzureWorkloadSAPHanaRestoreRequest is the BasicRestoreRequest implementation for AzureWorkloadSAPHanaPointInTimeRestoreRequest. -func (awshpitrr AzureWorkloadSAPHanaPointInTimeRestoreRequest) AsBasicAzureWorkloadSAPHanaRestoreRequest() (BasicAzureWorkloadSAPHanaRestoreRequest, bool) { - return &awshpitrr, true -} - -// AsAzureWorkloadSQLPointInTimeRestoreRequest is the BasicRestoreRequest implementation for AzureWorkloadSAPHanaPointInTimeRestoreRequest. -func (awshpitrr AzureWorkloadSAPHanaPointInTimeRestoreRequest) AsAzureWorkloadSQLPointInTimeRestoreRequest() (*AzureWorkloadSQLPointInTimeRestoreRequest, bool) { - return nil, false -} - -// AsAzureWorkloadSQLRestoreRequest is the BasicRestoreRequest implementation for AzureWorkloadSAPHanaPointInTimeRestoreRequest. -func (awshpitrr AzureWorkloadSAPHanaPointInTimeRestoreRequest) AsAzureWorkloadSQLRestoreRequest() (*AzureWorkloadSQLRestoreRequest, bool) { - return nil, false -} - -// AsBasicAzureWorkloadSQLRestoreRequest is the BasicRestoreRequest implementation for AzureWorkloadSAPHanaPointInTimeRestoreRequest. -func (awshpitrr AzureWorkloadSAPHanaPointInTimeRestoreRequest) AsBasicAzureWorkloadSQLRestoreRequest() (BasicAzureWorkloadSQLRestoreRequest, bool) { - return nil, false -} - -// AsIaasVMRestoreRequest is the BasicRestoreRequest implementation for AzureWorkloadSAPHanaPointInTimeRestoreRequest. -func (awshpitrr AzureWorkloadSAPHanaPointInTimeRestoreRequest) AsIaasVMRestoreRequest() (*IaasVMRestoreRequest, bool) { - return nil, false -} - -// AsRestoreRequest is the BasicRestoreRequest implementation for AzureWorkloadSAPHanaPointInTimeRestoreRequest. -func (awshpitrr AzureWorkloadSAPHanaPointInTimeRestoreRequest) AsRestoreRequest() (*RestoreRequest, bool) { - return nil, false -} - -// AsBasicRestoreRequest is the BasicRestoreRequest implementation for AzureWorkloadSAPHanaPointInTimeRestoreRequest. -func (awshpitrr AzureWorkloadSAPHanaPointInTimeRestoreRequest) AsBasicRestoreRequest() (BasicRestoreRequest, bool) { - return &awshpitrr, true -} - -// AzureWorkloadSAPHanaRecoveryPoint sAPHana specific recovery point, specifically encapsulates full/diff -// recovery points -type AzureWorkloadSAPHanaRecoveryPoint struct { - // RecoveryPointTimeInUTC - UTC time at which recovery point was created - RecoveryPointTimeInUTC *date.Time `json:"recoveryPointTimeInUTC,omitempty"` - // Type - Type of restore point. Possible values include: 'RestorePointTypeInvalid', 'RestorePointTypeFull', 'RestorePointTypeLog', 'RestorePointTypeDifferential' - Type RestorePointType `json:"type,omitempty"` - // ObjectType - Possible values include: 'ObjectTypeRecoveryPoint', 'ObjectTypeAzureFileShareRecoveryPoint', 'ObjectTypeAzureWorkloadPointInTimeRecoveryPoint', 'ObjectTypeAzureWorkloadRecoveryPoint', 'ObjectTypeAzureWorkloadSAPHanaPointInTimeRecoveryPoint', 'ObjectTypeAzureWorkloadSAPHanaRecoveryPoint', 'ObjectTypeAzureWorkloadSQLPointInTimeRecoveryPoint', 'ObjectTypeAzureWorkloadSQLRecoveryPoint', 'ObjectTypeGenericRecoveryPoint', 'ObjectTypeIaasVMRecoveryPoint' - ObjectType ObjectTypeBasicRecoveryPoint `json:"objectType,omitempty"` -} - -// MarshalJSON is the custom marshaler for AzureWorkloadSAPHanaRecoveryPoint. -func (awshrp AzureWorkloadSAPHanaRecoveryPoint) MarshalJSON() ([]byte, error) { - awshrp.ObjectType = ObjectTypeAzureWorkloadSAPHanaRecoveryPoint - objectMap := make(map[string]interface{}) - if awshrp.RecoveryPointTimeInUTC != nil { - objectMap["recoveryPointTimeInUTC"] = awshrp.RecoveryPointTimeInUTC - } - if awshrp.Type != "" { - objectMap["type"] = awshrp.Type - } - if awshrp.ObjectType != "" { - objectMap["objectType"] = awshrp.ObjectType - } - return json.Marshal(objectMap) -} - -// AsAzureFileShareRecoveryPoint is the BasicRecoveryPoint implementation for AzureWorkloadSAPHanaRecoveryPoint. -func (awshrp AzureWorkloadSAPHanaRecoveryPoint) AsAzureFileShareRecoveryPoint() (*AzureFileShareRecoveryPoint, bool) { - return nil, false -} - -// AsAzureWorkloadPointInTimeRecoveryPoint is the BasicRecoveryPoint implementation for AzureWorkloadSAPHanaRecoveryPoint. -func (awshrp AzureWorkloadSAPHanaRecoveryPoint) AsAzureWorkloadPointInTimeRecoveryPoint() (*AzureWorkloadPointInTimeRecoveryPoint, bool) { - return nil, false -} - -// AsBasicAzureWorkloadPointInTimeRecoveryPoint is the BasicRecoveryPoint implementation for AzureWorkloadSAPHanaRecoveryPoint. -func (awshrp AzureWorkloadSAPHanaRecoveryPoint) AsBasicAzureWorkloadPointInTimeRecoveryPoint() (BasicAzureWorkloadPointInTimeRecoveryPoint, bool) { - return nil, false -} - -// AsAzureWorkloadRecoveryPoint is the BasicRecoveryPoint implementation for AzureWorkloadSAPHanaRecoveryPoint. -func (awshrp AzureWorkloadSAPHanaRecoveryPoint) AsAzureWorkloadRecoveryPoint() (*AzureWorkloadRecoveryPoint, bool) { - return nil, false -} - -// AsBasicAzureWorkloadRecoveryPoint is the BasicRecoveryPoint implementation for AzureWorkloadSAPHanaRecoveryPoint. -func (awshrp AzureWorkloadSAPHanaRecoveryPoint) AsBasicAzureWorkloadRecoveryPoint() (BasicAzureWorkloadRecoveryPoint, bool) { - return &awshrp, true -} - -// AsAzureWorkloadSAPHanaPointInTimeRecoveryPoint is the BasicRecoveryPoint implementation for AzureWorkloadSAPHanaRecoveryPoint. -func (awshrp AzureWorkloadSAPHanaRecoveryPoint) AsAzureWorkloadSAPHanaPointInTimeRecoveryPoint() (*AzureWorkloadSAPHanaPointInTimeRecoveryPoint, bool) { - return nil, false -} - -// AsAzureWorkloadSAPHanaRecoveryPoint is the BasicRecoveryPoint implementation for AzureWorkloadSAPHanaRecoveryPoint. -func (awshrp AzureWorkloadSAPHanaRecoveryPoint) AsAzureWorkloadSAPHanaRecoveryPoint() (*AzureWorkloadSAPHanaRecoveryPoint, bool) { - return &awshrp, true -} - -// AsAzureWorkloadSQLPointInTimeRecoveryPoint is the BasicRecoveryPoint implementation for AzureWorkloadSAPHanaRecoveryPoint. -func (awshrp AzureWorkloadSAPHanaRecoveryPoint) AsAzureWorkloadSQLPointInTimeRecoveryPoint() (*AzureWorkloadSQLPointInTimeRecoveryPoint, bool) { - return nil, false -} - -// AsAzureWorkloadSQLRecoveryPoint is the BasicRecoveryPoint implementation for AzureWorkloadSAPHanaRecoveryPoint. -func (awshrp AzureWorkloadSAPHanaRecoveryPoint) AsAzureWorkloadSQLRecoveryPoint() (*AzureWorkloadSQLRecoveryPoint, bool) { - return nil, false -} - -// AsBasicAzureWorkloadSQLRecoveryPoint is the BasicRecoveryPoint implementation for AzureWorkloadSAPHanaRecoveryPoint. -func (awshrp AzureWorkloadSAPHanaRecoveryPoint) AsBasicAzureWorkloadSQLRecoveryPoint() (BasicAzureWorkloadSQLRecoveryPoint, bool) { - return nil, false -} - -// AsGenericRecoveryPoint is the BasicRecoveryPoint implementation for AzureWorkloadSAPHanaRecoveryPoint. -func (awshrp AzureWorkloadSAPHanaRecoveryPoint) AsGenericRecoveryPoint() (*GenericRecoveryPoint, bool) { - return nil, false -} - -// AsIaasVMRecoveryPoint is the BasicRecoveryPoint implementation for AzureWorkloadSAPHanaRecoveryPoint. -func (awshrp AzureWorkloadSAPHanaRecoveryPoint) AsIaasVMRecoveryPoint() (*IaasVMRecoveryPoint, bool) { - return nil, false -} - -// AsRecoveryPoint is the BasicRecoveryPoint implementation for AzureWorkloadSAPHanaRecoveryPoint. -func (awshrp AzureWorkloadSAPHanaRecoveryPoint) AsRecoveryPoint() (*RecoveryPoint, bool) { - return nil, false -} - -// AsBasicRecoveryPoint is the BasicRecoveryPoint implementation for AzureWorkloadSAPHanaRecoveryPoint. -func (awshrp AzureWorkloadSAPHanaRecoveryPoint) AsBasicRecoveryPoint() (BasicRecoveryPoint, bool) { - return &awshrp, true -} - -// BasicAzureWorkloadSAPHanaRestoreRequest azureWorkload SAP Hana-specific restore. -type BasicAzureWorkloadSAPHanaRestoreRequest interface { - AsAzureWorkloadSAPHanaPointInTimeRestoreRequest() (*AzureWorkloadSAPHanaPointInTimeRestoreRequest, bool) - AsAzureWorkloadSAPHanaRestoreRequest() (*AzureWorkloadSAPHanaRestoreRequest, bool) -} - -// AzureWorkloadSAPHanaRestoreRequest azureWorkload SAP Hana-specific restore. -type AzureWorkloadSAPHanaRestoreRequest struct { - // RecoveryType - OLR/ALR, RestoreDisks is invalid option. Possible values include: 'RecoveryTypeInvalid', 'RecoveryTypeOriginalLocation', 'RecoveryTypeAlternateLocation', 'RecoveryTypeRestoreDisks' - RecoveryType RecoveryType `json:"recoveryType,omitempty"` - // SourceResourceID - Fully qualified ARM ID of the VM on which workload that was running is being recovered. - SourceResourceID *string `json:"sourceResourceId,omitempty"` - // PropertyBag - Workload specific property bag. - PropertyBag map[string]*string `json:"propertyBag"` - // TargetInfo - Details of target database - TargetInfo *TargetRestoreInfo `json:"targetInfo,omitempty"` - // ObjectType - Possible values include: 'ObjectTypeRestoreRequest', 'ObjectTypeAzureFileShareRestoreRequest', 'ObjectTypeAzureWorkloadPointInTimeRestoreRequest', 'ObjectTypeAzureWorkloadRestoreRequest', 'ObjectTypeAzureWorkloadSAPHanaPointInTimeRestoreRequest', 'ObjectTypeAzureWorkloadSAPHanaRestoreRequest', 'ObjectTypeAzureWorkloadSQLPointInTimeRestoreRequest', 'ObjectTypeAzureWorkloadSQLRestoreRequest', 'ObjectTypeIaasVMRestoreRequest' - ObjectType ObjectTypeBasicRestoreRequest `json:"objectType,omitempty"` -} - -func unmarshalBasicAzureWorkloadSAPHanaRestoreRequest(body []byte) (BasicAzureWorkloadSAPHanaRestoreRequest, error) { - var m map[string]interface{} - err := json.Unmarshal(body, &m) - if err != nil { - return nil, err - } - - switch m["objectType"] { - case string(ObjectTypeAzureWorkloadSAPHanaPointInTimeRestoreRequest): - var awshpitrr AzureWorkloadSAPHanaPointInTimeRestoreRequest - err := json.Unmarshal(body, &awshpitrr) - return awshpitrr, err - default: - var awshrr AzureWorkloadSAPHanaRestoreRequest - err := json.Unmarshal(body, &awshrr) - return awshrr, err - } -} -func unmarshalBasicAzureWorkloadSAPHanaRestoreRequestArray(body []byte) ([]BasicAzureWorkloadSAPHanaRestoreRequest, error) { - var rawMessages []*json.RawMessage - err := json.Unmarshal(body, &rawMessages) - if err != nil { - return nil, err - } - - awshrrArray := make([]BasicAzureWorkloadSAPHanaRestoreRequest, len(rawMessages)) - - for index, rawMessage := range rawMessages { - awshrr, err := unmarshalBasicAzureWorkloadSAPHanaRestoreRequest(*rawMessage) - if err != nil { - return nil, err - } - awshrrArray[index] = awshrr - } - return awshrrArray, nil -} - -// MarshalJSON is the custom marshaler for AzureWorkloadSAPHanaRestoreRequest. -func (awshrr AzureWorkloadSAPHanaRestoreRequest) MarshalJSON() ([]byte, error) { - awshrr.ObjectType = ObjectTypeAzureWorkloadSAPHanaRestoreRequest - objectMap := make(map[string]interface{}) - if awshrr.RecoveryType != "" { - objectMap["recoveryType"] = awshrr.RecoveryType - } - if awshrr.SourceResourceID != nil { - objectMap["sourceResourceId"] = awshrr.SourceResourceID - } - if awshrr.PropertyBag != nil { - objectMap["propertyBag"] = awshrr.PropertyBag - } - if awshrr.TargetInfo != nil { - objectMap["targetInfo"] = awshrr.TargetInfo - } - if awshrr.ObjectType != "" { - objectMap["objectType"] = awshrr.ObjectType - } - return json.Marshal(objectMap) -} - -// AsAzureFileShareRestoreRequest is the BasicRestoreRequest implementation for AzureWorkloadSAPHanaRestoreRequest. -func (awshrr AzureWorkloadSAPHanaRestoreRequest) AsAzureFileShareRestoreRequest() (*AzureFileShareRestoreRequest, bool) { - return nil, false -} - -// AsAzureWorkloadPointInTimeRestoreRequest is the BasicRestoreRequest implementation for AzureWorkloadSAPHanaRestoreRequest. -func (awshrr AzureWorkloadSAPHanaRestoreRequest) AsAzureWorkloadPointInTimeRestoreRequest() (*AzureWorkloadPointInTimeRestoreRequest, bool) { - return nil, false -} - -// AsAzureWorkloadRestoreRequest is the BasicRestoreRequest implementation for AzureWorkloadSAPHanaRestoreRequest. -func (awshrr AzureWorkloadSAPHanaRestoreRequest) AsAzureWorkloadRestoreRequest() (*AzureWorkloadRestoreRequest, bool) { - return nil, false -} - -// AsBasicAzureWorkloadRestoreRequest is the BasicRestoreRequest implementation for AzureWorkloadSAPHanaRestoreRequest. -func (awshrr AzureWorkloadSAPHanaRestoreRequest) AsBasicAzureWorkloadRestoreRequest() (BasicAzureWorkloadRestoreRequest, bool) { - return &awshrr, true -} - -// AsAzureWorkloadSAPHanaPointInTimeRestoreRequest is the BasicRestoreRequest implementation for AzureWorkloadSAPHanaRestoreRequest. -func (awshrr AzureWorkloadSAPHanaRestoreRequest) AsAzureWorkloadSAPHanaPointInTimeRestoreRequest() (*AzureWorkloadSAPHanaPointInTimeRestoreRequest, bool) { - return nil, false -} - -// AsAzureWorkloadSAPHanaRestoreRequest is the BasicRestoreRequest implementation for AzureWorkloadSAPHanaRestoreRequest. -func (awshrr AzureWorkloadSAPHanaRestoreRequest) AsAzureWorkloadSAPHanaRestoreRequest() (*AzureWorkloadSAPHanaRestoreRequest, bool) { - return &awshrr, true -} - -// AsBasicAzureWorkloadSAPHanaRestoreRequest is the BasicRestoreRequest implementation for AzureWorkloadSAPHanaRestoreRequest. -func (awshrr AzureWorkloadSAPHanaRestoreRequest) AsBasicAzureWorkloadSAPHanaRestoreRequest() (BasicAzureWorkloadSAPHanaRestoreRequest, bool) { - return &awshrr, true -} - -// AsAzureWorkloadSQLPointInTimeRestoreRequest is the BasicRestoreRequest implementation for AzureWorkloadSAPHanaRestoreRequest. -func (awshrr AzureWorkloadSAPHanaRestoreRequest) AsAzureWorkloadSQLPointInTimeRestoreRequest() (*AzureWorkloadSQLPointInTimeRestoreRequest, bool) { - return nil, false -} - -// AsAzureWorkloadSQLRestoreRequest is the BasicRestoreRequest implementation for AzureWorkloadSAPHanaRestoreRequest. -func (awshrr AzureWorkloadSAPHanaRestoreRequest) AsAzureWorkloadSQLRestoreRequest() (*AzureWorkloadSQLRestoreRequest, bool) { - return nil, false -} - -// AsBasicAzureWorkloadSQLRestoreRequest is the BasicRestoreRequest implementation for AzureWorkloadSAPHanaRestoreRequest. -func (awshrr AzureWorkloadSAPHanaRestoreRequest) AsBasicAzureWorkloadSQLRestoreRequest() (BasicAzureWorkloadSQLRestoreRequest, bool) { - return nil, false -} - -// AsIaasVMRestoreRequest is the BasicRestoreRequest implementation for AzureWorkloadSAPHanaRestoreRequest. -func (awshrr AzureWorkloadSAPHanaRestoreRequest) AsIaasVMRestoreRequest() (*IaasVMRestoreRequest, bool) { - return nil, false -} - -// AsRestoreRequest is the BasicRestoreRequest implementation for AzureWorkloadSAPHanaRestoreRequest. -func (awshrr AzureWorkloadSAPHanaRestoreRequest) AsRestoreRequest() (*RestoreRequest, bool) { - return nil, false -} - -// AsBasicRestoreRequest is the BasicRestoreRequest implementation for AzureWorkloadSAPHanaRestoreRequest. -func (awshrr AzureWorkloadSAPHanaRestoreRequest) AsBasicRestoreRequest() (BasicRestoreRequest, bool) { - return &awshrr, true -} - -// AzureWorkloadSQLPointInTimeRecoveryPoint recovery point specific to PointInTime -type AzureWorkloadSQLPointInTimeRecoveryPoint struct { - // TimeRanges - List of log ranges - TimeRanges *[]PointInTimeRange `json:"timeRanges,omitempty"` - // ExtendedInfo - Extended Info that provides data directory details. Will be populated in two cases: - // When a specific recovery point is accessed using GetRecoveryPoint - // Or when ListRecoveryPoints is called for Log RP only with ExtendedInfo query filter - ExtendedInfo *AzureWorkloadSQLRecoveryPointExtendedInfo `json:"extendedInfo,omitempty"` - // RecoveryPointTimeInUTC - UTC time at which recovery point was created - RecoveryPointTimeInUTC *date.Time `json:"recoveryPointTimeInUTC,omitempty"` - // Type - Type of restore point. Possible values include: 'RestorePointTypeInvalid', 'RestorePointTypeFull', 'RestorePointTypeLog', 'RestorePointTypeDifferential' - Type RestorePointType `json:"type,omitempty"` - // ObjectType - Possible values include: 'ObjectTypeRecoveryPoint', 'ObjectTypeAzureFileShareRecoveryPoint', 'ObjectTypeAzureWorkloadPointInTimeRecoveryPoint', 'ObjectTypeAzureWorkloadRecoveryPoint', 'ObjectTypeAzureWorkloadSAPHanaPointInTimeRecoveryPoint', 'ObjectTypeAzureWorkloadSAPHanaRecoveryPoint', 'ObjectTypeAzureWorkloadSQLPointInTimeRecoveryPoint', 'ObjectTypeAzureWorkloadSQLRecoveryPoint', 'ObjectTypeGenericRecoveryPoint', 'ObjectTypeIaasVMRecoveryPoint' - ObjectType ObjectTypeBasicRecoveryPoint `json:"objectType,omitempty"` -} - -// MarshalJSON is the custom marshaler for AzureWorkloadSQLPointInTimeRecoveryPoint. -func (awspitrp AzureWorkloadSQLPointInTimeRecoveryPoint) MarshalJSON() ([]byte, error) { - awspitrp.ObjectType = ObjectTypeAzureWorkloadSQLPointInTimeRecoveryPoint - objectMap := make(map[string]interface{}) - if awspitrp.TimeRanges != nil { - objectMap["timeRanges"] = awspitrp.TimeRanges - } - if awspitrp.ExtendedInfo != nil { - objectMap["extendedInfo"] = awspitrp.ExtendedInfo - } - if awspitrp.RecoveryPointTimeInUTC != nil { - objectMap["recoveryPointTimeInUTC"] = awspitrp.RecoveryPointTimeInUTC - } - if awspitrp.Type != "" { - objectMap["type"] = awspitrp.Type - } - if awspitrp.ObjectType != "" { - objectMap["objectType"] = awspitrp.ObjectType - } - return json.Marshal(objectMap) -} - -// AsAzureFileShareRecoveryPoint is the BasicRecoveryPoint implementation for AzureWorkloadSQLPointInTimeRecoveryPoint. -func (awspitrp AzureWorkloadSQLPointInTimeRecoveryPoint) AsAzureFileShareRecoveryPoint() (*AzureFileShareRecoveryPoint, bool) { - return nil, false -} - -// AsAzureWorkloadPointInTimeRecoveryPoint is the BasicRecoveryPoint implementation for AzureWorkloadSQLPointInTimeRecoveryPoint. -func (awspitrp AzureWorkloadSQLPointInTimeRecoveryPoint) AsAzureWorkloadPointInTimeRecoveryPoint() (*AzureWorkloadPointInTimeRecoveryPoint, bool) { - return nil, false -} - -// AsBasicAzureWorkloadPointInTimeRecoveryPoint is the BasicRecoveryPoint implementation for AzureWorkloadSQLPointInTimeRecoveryPoint. -func (awspitrp AzureWorkloadSQLPointInTimeRecoveryPoint) AsBasicAzureWorkloadPointInTimeRecoveryPoint() (BasicAzureWorkloadPointInTimeRecoveryPoint, bool) { - return nil, false -} - -// AsAzureWorkloadRecoveryPoint is the BasicRecoveryPoint implementation for AzureWorkloadSQLPointInTimeRecoveryPoint. -func (awspitrp AzureWorkloadSQLPointInTimeRecoveryPoint) AsAzureWorkloadRecoveryPoint() (*AzureWorkloadRecoveryPoint, bool) { - return nil, false -} - -// AsBasicAzureWorkloadRecoveryPoint is the BasicRecoveryPoint implementation for AzureWorkloadSQLPointInTimeRecoveryPoint. -func (awspitrp AzureWorkloadSQLPointInTimeRecoveryPoint) AsBasicAzureWorkloadRecoveryPoint() (BasicAzureWorkloadRecoveryPoint, bool) { - return &awspitrp, true -} - -// AsAzureWorkloadSAPHanaPointInTimeRecoveryPoint is the BasicRecoveryPoint implementation for AzureWorkloadSQLPointInTimeRecoveryPoint. -func (awspitrp AzureWorkloadSQLPointInTimeRecoveryPoint) AsAzureWorkloadSAPHanaPointInTimeRecoveryPoint() (*AzureWorkloadSAPHanaPointInTimeRecoveryPoint, bool) { - return nil, false -} - -// AsAzureWorkloadSAPHanaRecoveryPoint is the BasicRecoveryPoint implementation for AzureWorkloadSQLPointInTimeRecoveryPoint. -func (awspitrp AzureWorkloadSQLPointInTimeRecoveryPoint) AsAzureWorkloadSAPHanaRecoveryPoint() (*AzureWorkloadSAPHanaRecoveryPoint, bool) { - return nil, false -} - -// AsAzureWorkloadSQLPointInTimeRecoveryPoint is the BasicRecoveryPoint implementation for AzureWorkloadSQLPointInTimeRecoveryPoint. -func (awspitrp AzureWorkloadSQLPointInTimeRecoveryPoint) AsAzureWorkloadSQLPointInTimeRecoveryPoint() (*AzureWorkloadSQLPointInTimeRecoveryPoint, bool) { - return &awspitrp, true -} - -// AsAzureWorkloadSQLRecoveryPoint is the BasicRecoveryPoint implementation for AzureWorkloadSQLPointInTimeRecoveryPoint. -func (awspitrp AzureWorkloadSQLPointInTimeRecoveryPoint) AsAzureWorkloadSQLRecoveryPoint() (*AzureWorkloadSQLRecoveryPoint, bool) { - return nil, false -} - -// AsBasicAzureWorkloadSQLRecoveryPoint is the BasicRecoveryPoint implementation for AzureWorkloadSQLPointInTimeRecoveryPoint. -func (awspitrp AzureWorkloadSQLPointInTimeRecoveryPoint) AsBasicAzureWorkloadSQLRecoveryPoint() (BasicAzureWorkloadSQLRecoveryPoint, bool) { - return &awspitrp, true -} - -// AsGenericRecoveryPoint is the BasicRecoveryPoint implementation for AzureWorkloadSQLPointInTimeRecoveryPoint. -func (awspitrp AzureWorkloadSQLPointInTimeRecoveryPoint) AsGenericRecoveryPoint() (*GenericRecoveryPoint, bool) { - return nil, false -} - -// AsIaasVMRecoveryPoint is the BasicRecoveryPoint implementation for AzureWorkloadSQLPointInTimeRecoveryPoint. -func (awspitrp AzureWorkloadSQLPointInTimeRecoveryPoint) AsIaasVMRecoveryPoint() (*IaasVMRecoveryPoint, bool) { - return nil, false -} - -// AsRecoveryPoint is the BasicRecoveryPoint implementation for AzureWorkloadSQLPointInTimeRecoveryPoint. -func (awspitrp AzureWorkloadSQLPointInTimeRecoveryPoint) AsRecoveryPoint() (*RecoveryPoint, bool) { - return nil, false -} - -// AsBasicRecoveryPoint is the BasicRecoveryPoint implementation for AzureWorkloadSQLPointInTimeRecoveryPoint. -func (awspitrp AzureWorkloadSQLPointInTimeRecoveryPoint) AsBasicRecoveryPoint() (BasicRecoveryPoint, bool) { - return &awspitrp, true -} - -// AzureWorkloadSQLPointInTimeRestoreRequest azureWorkload SQL -specific restore. Specifically for -// PointInTime/Log restore -type AzureWorkloadSQLPointInTimeRestoreRequest struct { - // PointInTime - PointInTime value - PointInTime *date.Time `json:"pointInTime,omitempty"` - // ShouldUseAlternateTargetLocation - Default option set to true. If this is set to false, alternate data directory must be provided - ShouldUseAlternateTargetLocation *bool `json:"shouldUseAlternateTargetLocation,omitempty"` - // IsNonRecoverable - SQL specific property where user can chose to set no-recovery when restore operation is tried - IsNonRecoverable *bool `json:"isNonRecoverable,omitempty"` - // AlternateDirectoryPaths - Data directory details - AlternateDirectoryPaths *[]SQLDataDirectoryMapping `json:"alternateDirectoryPaths,omitempty"` - // RecoveryType - OLR/ALR, RestoreDisks is invalid option. Possible values include: 'RecoveryTypeInvalid', 'RecoveryTypeOriginalLocation', 'RecoveryTypeAlternateLocation', 'RecoveryTypeRestoreDisks' - RecoveryType RecoveryType `json:"recoveryType,omitempty"` - // SourceResourceID - Fully qualified ARM ID of the VM on which workload that was running is being recovered. - SourceResourceID *string `json:"sourceResourceId,omitempty"` - // PropertyBag - Workload specific property bag. - PropertyBag map[string]*string `json:"propertyBag"` - // TargetInfo - Details of target database - TargetInfo *TargetRestoreInfo `json:"targetInfo,omitempty"` - // ObjectType - Possible values include: 'ObjectTypeRestoreRequest', 'ObjectTypeAzureFileShareRestoreRequest', 'ObjectTypeAzureWorkloadPointInTimeRestoreRequest', 'ObjectTypeAzureWorkloadRestoreRequest', 'ObjectTypeAzureWorkloadSAPHanaPointInTimeRestoreRequest', 'ObjectTypeAzureWorkloadSAPHanaRestoreRequest', 'ObjectTypeAzureWorkloadSQLPointInTimeRestoreRequest', 'ObjectTypeAzureWorkloadSQLRestoreRequest', 'ObjectTypeIaasVMRestoreRequest' - ObjectType ObjectTypeBasicRestoreRequest `json:"objectType,omitempty"` -} - -// MarshalJSON is the custom marshaler for AzureWorkloadSQLPointInTimeRestoreRequest. -func (awspitrr AzureWorkloadSQLPointInTimeRestoreRequest) MarshalJSON() ([]byte, error) { - awspitrr.ObjectType = ObjectTypeAzureWorkloadSQLPointInTimeRestoreRequest - objectMap := make(map[string]interface{}) - if awspitrr.PointInTime != nil { - objectMap["pointInTime"] = awspitrr.PointInTime - } - if awspitrr.ShouldUseAlternateTargetLocation != nil { - objectMap["shouldUseAlternateTargetLocation"] = awspitrr.ShouldUseAlternateTargetLocation - } - if awspitrr.IsNonRecoverable != nil { - objectMap["isNonRecoverable"] = awspitrr.IsNonRecoverable - } - if awspitrr.AlternateDirectoryPaths != nil { - objectMap["alternateDirectoryPaths"] = awspitrr.AlternateDirectoryPaths - } - if awspitrr.RecoveryType != "" { - objectMap["recoveryType"] = awspitrr.RecoveryType - } - if awspitrr.SourceResourceID != nil { - objectMap["sourceResourceId"] = awspitrr.SourceResourceID - } - if awspitrr.PropertyBag != nil { - objectMap["propertyBag"] = awspitrr.PropertyBag - } - if awspitrr.TargetInfo != nil { - objectMap["targetInfo"] = awspitrr.TargetInfo - } - if awspitrr.ObjectType != "" { - objectMap["objectType"] = awspitrr.ObjectType - } - return json.Marshal(objectMap) -} - -// AsAzureFileShareRestoreRequest is the BasicRestoreRequest implementation for AzureWorkloadSQLPointInTimeRestoreRequest. -func (awspitrr AzureWorkloadSQLPointInTimeRestoreRequest) AsAzureFileShareRestoreRequest() (*AzureFileShareRestoreRequest, bool) { - return nil, false -} - -// AsAzureWorkloadPointInTimeRestoreRequest is the BasicRestoreRequest implementation for AzureWorkloadSQLPointInTimeRestoreRequest. -func (awspitrr AzureWorkloadSQLPointInTimeRestoreRequest) AsAzureWorkloadPointInTimeRestoreRequest() (*AzureWorkloadPointInTimeRestoreRequest, bool) { - return nil, false -} - -// AsAzureWorkloadRestoreRequest is the BasicRestoreRequest implementation for AzureWorkloadSQLPointInTimeRestoreRequest. -func (awspitrr AzureWorkloadSQLPointInTimeRestoreRequest) AsAzureWorkloadRestoreRequest() (*AzureWorkloadRestoreRequest, bool) { - return nil, false -} - -// AsBasicAzureWorkloadRestoreRequest is the BasicRestoreRequest implementation for AzureWorkloadSQLPointInTimeRestoreRequest. -func (awspitrr AzureWorkloadSQLPointInTimeRestoreRequest) AsBasicAzureWorkloadRestoreRequest() (BasicAzureWorkloadRestoreRequest, bool) { - return &awspitrr, true -} - -// AsAzureWorkloadSAPHanaPointInTimeRestoreRequest is the BasicRestoreRequest implementation for AzureWorkloadSQLPointInTimeRestoreRequest. -func (awspitrr AzureWorkloadSQLPointInTimeRestoreRequest) AsAzureWorkloadSAPHanaPointInTimeRestoreRequest() (*AzureWorkloadSAPHanaPointInTimeRestoreRequest, bool) { - return nil, false -} - -// AsAzureWorkloadSAPHanaRestoreRequest is the BasicRestoreRequest implementation for AzureWorkloadSQLPointInTimeRestoreRequest. -func (awspitrr AzureWorkloadSQLPointInTimeRestoreRequest) AsAzureWorkloadSAPHanaRestoreRequest() (*AzureWorkloadSAPHanaRestoreRequest, bool) { - return nil, false -} - -// AsBasicAzureWorkloadSAPHanaRestoreRequest is the BasicRestoreRequest implementation for AzureWorkloadSQLPointInTimeRestoreRequest. -func (awspitrr AzureWorkloadSQLPointInTimeRestoreRequest) AsBasicAzureWorkloadSAPHanaRestoreRequest() (BasicAzureWorkloadSAPHanaRestoreRequest, bool) { - return nil, false -} - -// AsAzureWorkloadSQLPointInTimeRestoreRequest is the BasicRestoreRequest implementation for AzureWorkloadSQLPointInTimeRestoreRequest. -func (awspitrr AzureWorkloadSQLPointInTimeRestoreRequest) AsAzureWorkloadSQLPointInTimeRestoreRequest() (*AzureWorkloadSQLPointInTimeRestoreRequest, bool) { - return &awspitrr, true -} - -// AsAzureWorkloadSQLRestoreRequest is the BasicRestoreRequest implementation for AzureWorkloadSQLPointInTimeRestoreRequest. -func (awspitrr AzureWorkloadSQLPointInTimeRestoreRequest) AsAzureWorkloadSQLRestoreRequest() (*AzureWorkloadSQLRestoreRequest, bool) { - return nil, false -} - -// AsBasicAzureWorkloadSQLRestoreRequest is the BasicRestoreRequest implementation for AzureWorkloadSQLPointInTimeRestoreRequest. -func (awspitrr AzureWorkloadSQLPointInTimeRestoreRequest) AsBasicAzureWorkloadSQLRestoreRequest() (BasicAzureWorkloadSQLRestoreRequest, bool) { - return &awspitrr, true -} - -// AsIaasVMRestoreRequest is the BasicRestoreRequest implementation for AzureWorkloadSQLPointInTimeRestoreRequest. -func (awspitrr AzureWorkloadSQLPointInTimeRestoreRequest) AsIaasVMRestoreRequest() (*IaasVMRestoreRequest, bool) { - return nil, false -} - -// AsRestoreRequest is the BasicRestoreRequest implementation for AzureWorkloadSQLPointInTimeRestoreRequest. -func (awspitrr AzureWorkloadSQLPointInTimeRestoreRequest) AsRestoreRequest() (*RestoreRequest, bool) { - return nil, false -} - -// AsBasicRestoreRequest is the BasicRestoreRequest implementation for AzureWorkloadSQLPointInTimeRestoreRequest. -func (awspitrr AzureWorkloadSQLPointInTimeRestoreRequest) AsBasicRestoreRequest() (BasicRestoreRequest, bool) { - return &awspitrr, true -} - -// BasicAzureWorkloadSQLRecoveryPoint SQL specific recovery point, specifically encapsulates full/diff recovery point -// along with extended info -type BasicAzureWorkloadSQLRecoveryPoint interface { - AsAzureWorkloadSQLPointInTimeRecoveryPoint() (*AzureWorkloadSQLPointInTimeRecoveryPoint, bool) - AsAzureWorkloadSQLRecoveryPoint() (*AzureWorkloadSQLRecoveryPoint, bool) -} - -// AzureWorkloadSQLRecoveryPoint SQL specific recovery point, specifically encapsulates full/diff recovery -// point along with extended info -type AzureWorkloadSQLRecoveryPoint struct { - // ExtendedInfo - Extended Info that provides data directory details. Will be populated in two cases: - // When a specific recovery point is accessed using GetRecoveryPoint - // Or when ListRecoveryPoints is called for Log RP only with ExtendedInfo query filter - ExtendedInfo *AzureWorkloadSQLRecoveryPointExtendedInfo `json:"extendedInfo,omitempty"` - // RecoveryPointTimeInUTC - UTC time at which recovery point was created - RecoveryPointTimeInUTC *date.Time `json:"recoveryPointTimeInUTC,omitempty"` - // Type - Type of restore point. Possible values include: 'RestorePointTypeInvalid', 'RestorePointTypeFull', 'RestorePointTypeLog', 'RestorePointTypeDifferential' - Type RestorePointType `json:"type,omitempty"` - // ObjectType - Possible values include: 'ObjectTypeRecoveryPoint', 'ObjectTypeAzureFileShareRecoveryPoint', 'ObjectTypeAzureWorkloadPointInTimeRecoveryPoint', 'ObjectTypeAzureWorkloadRecoveryPoint', 'ObjectTypeAzureWorkloadSAPHanaPointInTimeRecoveryPoint', 'ObjectTypeAzureWorkloadSAPHanaRecoveryPoint', 'ObjectTypeAzureWorkloadSQLPointInTimeRecoveryPoint', 'ObjectTypeAzureWorkloadSQLRecoveryPoint', 'ObjectTypeGenericRecoveryPoint', 'ObjectTypeIaasVMRecoveryPoint' - ObjectType ObjectTypeBasicRecoveryPoint `json:"objectType,omitempty"` -} - -func unmarshalBasicAzureWorkloadSQLRecoveryPoint(body []byte) (BasicAzureWorkloadSQLRecoveryPoint, error) { - var m map[string]interface{} - err := json.Unmarshal(body, &m) - if err != nil { - return nil, err - } - - switch m["objectType"] { - case string(ObjectTypeAzureWorkloadSQLPointInTimeRecoveryPoint): - var awspitrp AzureWorkloadSQLPointInTimeRecoveryPoint - err := json.Unmarshal(body, &awspitrp) - return awspitrp, err - default: - var awsrp AzureWorkloadSQLRecoveryPoint - err := json.Unmarshal(body, &awsrp) - return awsrp, err - } -} -func unmarshalBasicAzureWorkloadSQLRecoveryPointArray(body []byte) ([]BasicAzureWorkloadSQLRecoveryPoint, error) { - var rawMessages []*json.RawMessage - err := json.Unmarshal(body, &rawMessages) - if err != nil { - return nil, err - } - - awsrpArray := make([]BasicAzureWorkloadSQLRecoveryPoint, len(rawMessages)) - - for index, rawMessage := range rawMessages { - awsrp, err := unmarshalBasicAzureWorkloadSQLRecoveryPoint(*rawMessage) - if err != nil { - return nil, err - } - awsrpArray[index] = awsrp - } - return awsrpArray, nil -} - -// MarshalJSON is the custom marshaler for AzureWorkloadSQLRecoveryPoint. -func (awsrp AzureWorkloadSQLRecoveryPoint) MarshalJSON() ([]byte, error) { - awsrp.ObjectType = ObjectTypeAzureWorkloadSQLRecoveryPoint - objectMap := make(map[string]interface{}) - if awsrp.ExtendedInfo != nil { - objectMap["extendedInfo"] = awsrp.ExtendedInfo - } - if awsrp.RecoveryPointTimeInUTC != nil { - objectMap["recoveryPointTimeInUTC"] = awsrp.RecoveryPointTimeInUTC - } - if awsrp.Type != "" { - objectMap["type"] = awsrp.Type - } - if awsrp.ObjectType != "" { - objectMap["objectType"] = awsrp.ObjectType - } - return json.Marshal(objectMap) -} - -// AsAzureFileShareRecoveryPoint is the BasicRecoveryPoint implementation for AzureWorkloadSQLRecoveryPoint. -func (awsrp AzureWorkloadSQLRecoveryPoint) AsAzureFileShareRecoveryPoint() (*AzureFileShareRecoveryPoint, bool) { - return nil, false -} - -// AsAzureWorkloadPointInTimeRecoveryPoint is the BasicRecoveryPoint implementation for AzureWorkloadSQLRecoveryPoint. -func (awsrp AzureWorkloadSQLRecoveryPoint) AsAzureWorkloadPointInTimeRecoveryPoint() (*AzureWorkloadPointInTimeRecoveryPoint, bool) { - return nil, false -} - -// AsBasicAzureWorkloadPointInTimeRecoveryPoint is the BasicRecoveryPoint implementation for AzureWorkloadSQLRecoveryPoint. -func (awsrp AzureWorkloadSQLRecoveryPoint) AsBasicAzureWorkloadPointInTimeRecoveryPoint() (BasicAzureWorkloadPointInTimeRecoveryPoint, bool) { - return nil, false -} - -// AsAzureWorkloadRecoveryPoint is the BasicRecoveryPoint implementation for AzureWorkloadSQLRecoveryPoint. -func (awsrp AzureWorkloadSQLRecoveryPoint) AsAzureWorkloadRecoveryPoint() (*AzureWorkloadRecoveryPoint, bool) { - return nil, false -} - -// AsBasicAzureWorkloadRecoveryPoint is the BasicRecoveryPoint implementation for AzureWorkloadSQLRecoveryPoint. -func (awsrp AzureWorkloadSQLRecoveryPoint) AsBasicAzureWorkloadRecoveryPoint() (BasicAzureWorkloadRecoveryPoint, bool) { - return &awsrp, true -} - -// AsAzureWorkloadSAPHanaPointInTimeRecoveryPoint is the BasicRecoveryPoint implementation for AzureWorkloadSQLRecoveryPoint. -func (awsrp AzureWorkloadSQLRecoveryPoint) AsAzureWorkloadSAPHanaPointInTimeRecoveryPoint() (*AzureWorkloadSAPHanaPointInTimeRecoveryPoint, bool) { - return nil, false -} - -// AsAzureWorkloadSAPHanaRecoveryPoint is the BasicRecoveryPoint implementation for AzureWorkloadSQLRecoveryPoint. -func (awsrp AzureWorkloadSQLRecoveryPoint) AsAzureWorkloadSAPHanaRecoveryPoint() (*AzureWorkloadSAPHanaRecoveryPoint, bool) { - return nil, false -} - -// AsAzureWorkloadSQLPointInTimeRecoveryPoint is the BasicRecoveryPoint implementation for AzureWorkloadSQLRecoveryPoint. -func (awsrp AzureWorkloadSQLRecoveryPoint) AsAzureWorkloadSQLPointInTimeRecoveryPoint() (*AzureWorkloadSQLPointInTimeRecoveryPoint, bool) { - return nil, false -} - -// AsAzureWorkloadSQLRecoveryPoint is the BasicRecoveryPoint implementation for AzureWorkloadSQLRecoveryPoint. -func (awsrp AzureWorkloadSQLRecoveryPoint) AsAzureWorkloadSQLRecoveryPoint() (*AzureWorkloadSQLRecoveryPoint, bool) { - return &awsrp, true -} - -// AsBasicAzureWorkloadSQLRecoveryPoint is the BasicRecoveryPoint implementation for AzureWorkloadSQLRecoveryPoint. -func (awsrp AzureWorkloadSQLRecoveryPoint) AsBasicAzureWorkloadSQLRecoveryPoint() (BasicAzureWorkloadSQLRecoveryPoint, bool) { - return &awsrp, true -} - -// AsGenericRecoveryPoint is the BasicRecoveryPoint implementation for AzureWorkloadSQLRecoveryPoint. -func (awsrp AzureWorkloadSQLRecoveryPoint) AsGenericRecoveryPoint() (*GenericRecoveryPoint, bool) { - return nil, false -} - -// AsIaasVMRecoveryPoint is the BasicRecoveryPoint implementation for AzureWorkloadSQLRecoveryPoint. -func (awsrp AzureWorkloadSQLRecoveryPoint) AsIaasVMRecoveryPoint() (*IaasVMRecoveryPoint, bool) { - return nil, false -} - -// AsRecoveryPoint is the BasicRecoveryPoint implementation for AzureWorkloadSQLRecoveryPoint. -func (awsrp AzureWorkloadSQLRecoveryPoint) AsRecoveryPoint() (*RecoveryPoint, bool) { - return nil, false -} - -// AsBasicRecoveryPoint is the BasicRecoveryPoint implementation for AzureWorkloadSQLRecoveryPoint. -func (awsrp AzureWorkloadSQLRecoveryPoint) AsBasicRecoveryPoint() (BasicRecoveryPoint, bool) { - return &awsrp, true -} - -// AzureWorkloadSQLRecoveryPointExtendedInfo extended info class details -type AzureWorkloadSQLRecoveryPointExtendedInfo struct { - // DataDirectoryTimeInUTC - UTC time at which data directory info was captured - DataDirectoryTimeInUTC *date.Time `json:"dataDirectoryTimeInUTC,omitempty"` - // DataDirectoryPaths - List of data directory paths during restore operation. - DataDirectoryPaths *[]SQLDataDirectory `json:"dataDirectoryPaths,omitempty"` -} - -// BasicAzureWorkloadSQLRestoreRequest azureWorkload SQL -specific restore. Specifically for full/diff restore -type BasicAzureWorkloadSQLRestoreRequest interface { - AsAzureWorkloadSQLPointInTimeRestoreRequest() (*AzureWorkloadSQLPointInTimeRestoreRequest, bool) - AsAzureWorkloadSQLRestoreRequest() (*AzureWorkloadSQLRestoreRequest, bool) -} - -// AzureWorkloadSQLRestoreRequest azureWorkload SQL -specific restore. Specifically for full/diff restore -type AzureWorkloadSQLRestoreRequest struct { - // ShouldUseAlternateTargetLocation - Default option set to true. If this is set to false, alternate data directory must be provided - ShouldUseAlternateTargetLocation *bool `json:"shouldUseAlternateTargetLocation,omitempty"` - // IsNonRecoverable - SQL specific property where user can chose to set no-recovery when restore operation is tried - IsNonRecoverable *bool `json:"isNonRecoverable,omitempty"` - // AlternateDirectoryPaths - Data directory details - AlternateDirectoryPaths *[]SQLDataDirectoryMapping `json:"alternateDirectoryPaths,omitempty"` - // RecoveryType - OLR/ALR, RestoreDisks is invalid option. Possible values include: 'RecoveryTypeInvalid', 'RecoveryTypeOriginalLocation', 'RecoveryTypeAlternateLocation', 'RecoveryTypeRestoreDisks' - RecoveryType RecoveryType `json:"recoveryType,omitempty"` - // SourceResourceID - Fully qualified ARM ID of the VM on which workload that was running is being recovered. - SourceResourceID *string `json:"sourceResourceId,omitempty"` - // PropertyBag - Workload specific property bag. - PropertyBag map[string]*string `json:"propertyBag"` - // TargetInfo - Details of target database - TargetInfo *TargetRestoreInfo `json:"targetInfo,omitempty"` - // ObjectType - Possible values include: 'ObjectTypeRestoreRequest', 'ObjectTypeAzureFileShareRestoreRequest', 'ObjectTypeAzureWorkloadPointInTimeRestoreRequest', 'ObjectTypeAzureWorkloadRestoreRequest', 'ObjectTypeAzureWorkloadSAPHanaPointInTimeRestoreRequest', 'ObjectTypeAzureWorkloadSAPHanaRestoreRequest', 'ObjectTypeAzureWorkloadSQLPointInTimeRestoreRequest', 'ObjectTypeAzureWorkloadSQLRestoreRequest', 'ObjectTypeIaasVMRestoreRequest' - ObjectType ObjectTypeBasicRestoreRequest `json:"objectType,omitempty"` -} - -func unmarshalBasicAzureWorkloadSQLRestoreRequest(body []byte) (BasicAzureWorkloadSQLRestoreRequest, error) { - var m map[string]interface{} - err := json.Unmarshal(body, &m) - if err != nil { - return nil, err - } - - switch m["objectType"] { - case string(ObjectTypeAzureWorkloadSQLPointInTimeRestoreRequest): - var awspitrr AzureWorkloadSQLPointInTimeRestoreRequest - err := json.Unmarshal(body, &awspitrr) - return awspitrr, err - default: - var awsrr AzureWorkloadSQLRestoreRequest - err := json.Unmarshal(body, &awsrr) - return awsrr, err - } -} -func unmarshalBasicAzureWorkloadSQLRestoreRequestArray(body []byte) ([]BasicAzureWorkloadSQLRestoreRequest, error) { - var rawMessages []*json.RawMessage - err := json.Unmarshal(body, &rawMessages) - if err != nil { - return nil, err - } - - awsrrArray := make([]BasicAzureWorkloadSQLRestoreRequest, len(rawMessages)) - - for index, rawMessage := range rawMessages { - awsrr, err := unmarshalBasicAzureWorkloadSQLRestoreRequest(*rawMessage) - if err != nil { - return nil, err - } - awsrrArray[index] = awsrr - } - return awsrrArray, nil -} - -// MarshalJSON is the custom marshaler for AzureWorkloadSQLRestoreRequest. -func (awsrr AzureWorkloadSQLRestoreRequest) MarshalJSON() ([]byte, error) { - awsrr.ObjectType = ObjectTypeAzureWorkloadSQLRestoreRequest - objectMap := make(map[string]interface{}) - if awsrr.ShouldUseAlternateTargetLocation != nil { - objectMap["shouldUseAlternateTargetLocation"] = awsrr.ShouldUseAlternateTargetLocation - } - if awsrr.IsNonRecoverable != nil { - objectMap["isNonRecoverable"] = awsrr.IsNonRecoverable - } - if awsrr.AlternateDirectoryPaths != nil { - objectMap["alternateDirectoryPaths"] = awsrr.AlternateDirectoryPaths - } - if awsrr.RecoveryType != "" { - objectMap["recoveryType"] = awsrr.RecoveryType - } - if awsrr.SourceResourceID != nil { - objectMap["sourceResourceId"] = awsrr.SourceResourceID - } - if awsrr.PropertyBag != nil { - objectMap["propertyBag"] = awsrr.PropertyBag - } - if awsrr.TargetInfo != nil { - objectMap["targetInfo"] = awsrr.TargetInfo - } - if awsrr.ObjectType != "" { - objectMap["objectType"] = awsrr.ObjectType - } - return json.Marshal(objectMap) -} - -// AsAzureFileShareRestoreRequest is the BasicRestoreRequest implementation for AzureWorkloadSQLRestoreRequest. -func (awsrr AzureWorkloadSQLRestoreRequest) AsAzureFileShareRestoreRequest() (*AzureFileShareRestoreRequest, bool) { - return nil, false -} - -// AsAzureWorkloadPointInTimeRestoreRequest is the BasicRestoreRequest implementation for AzureWorkloadSQLRestoreRequest. -func (awsrr AzureWorkloadSQLRestoreRequest) AsAzureWorkloadPointInTimeRestoreRequest() (*AzureWorkloadPointInTimeRestoreRequest, bool) { - return nil, false -} - -// AsAzureWorkloadRestoreRequest is the BasicRestoreRequest implementation for AzureWorkloadSQLRestoreRequest. -func (awsrr AzureWorkloadSQLRestoreRequest) AsAzureWorkloadRestoreRequest() (*AzureWorkloadRestoreRequest, bool) { - return nil, false -} - -// AsBasicAzureWorkloadRestoreRequest is the BasicRestoreRequest implementation for AzureWorkloadSQLRestoreRequest. -func (awsrr AzureWorkloadSQLRestoreRequest) AsBasicAzureWorkloadRestoreRequest() (BasicAzureWorkloadRestoreRequest, bool) { - return &awsrr, true -} - -// AsAzureWorkloadSAPHanaPointInTimeRestoreRequest is the BasicRestoreRequest implementation for AzureWorkloadSQLRestoreRequest. -func (awsrr AzureWorkloadSQLRestoreRequest) AsAzureWorkloadSAPHanaPointInTimeRestoreRequest() (*AzureWorkloadSAPHanaPointInTimeRestoreRequest, bool) { - return nil, false -} - -// AsAzureWorkloadSAPHanaRestoreRequest is the BasicRestoreRequest implementation for AzureWorkloadSQLRestoreRequest. -func (awsrr AzureWorkloadSQLRestoreRequest) AsAzureWorkloadSAPHanaRestoreRequest() (*AzureWorkloadSAPHanaRestoreRequest, bool) { - return nil, false -} - -// AsBasicAzureWorkloadSAPHanaRestoreRequest is the BasicRestoreRequest implementation for AzureWorkloadSQLRestoreRequest. -func (awsrr AzureWorkloadSQLRestoreRequest) AsBasicAzureWorkloadSAPHanaRestoreRequest() (BasicAzureWorkloadSAPHanaRestoreRequest, bool) { - return nil, false -} - -// AsAzureWorkloadSQLPointInTimeRestoreRequest is the BasicRestoreRequest implementation for AzureWorkloadSQLRestoreRequest. -func (awsrr AzureWorkloadSQLRestoreRequest) AsAzureWorkloadSQLPointInTimeRestoreRequest() (*AzureWorkloadSQLPointInTimeRestoreRequest, bool) { - return nil, false -} - -// AsAzureWorkloadSQLRestoreRequest is the BasicRestoreRequest implementation for AzureWorkloadSQLRestoreRequest. -func (awsrr AzureWorkloadSQLRestoreRequest) AsAzureWorkloadSQLRestoreRequest() (*AzureWorkloadSQLRestoreRequest, bool) { - return &awsrr, true -} - -// AsBasicAzureWorkloadSQLRestoreRequest is the BasicRestoreRequest implementation for AzureWorkloadSQLRestoreRequest. -func (awsrr AzureWorkloadSQLRestoreRequest) AsBasicAzureWorkloadSQLRestoreRequest() (BasicAzureWorkloadSQLRestoreRequest, bool) { - return &awsrr, true -} - -// AsIaasVMRestoreRequest is the BasicRestoreRequest implementation for AzureWorkloadSQLRestoreRequest. -func (awsrr AzureWorkloadSQLRestoreRequest) AsIaasVMRestoreRequest() (*IaasVMRestoreRequest, bool) { - return nil, false -} - -// AsRestoreRequest is the BasicRestoreRequest implementation for AzureWorkloadSQLRestoreRequest. -func (awsrr AzureWorkloadSQLRestoreRequest) AsRestoreRequest() (*RestoreRequest, bool) { - return nil, false -} - -// AsBasicRestoreRequest is the BasicRestoreRequest implementation for AzureWorkloadSQLRestoreRequest. -func (awsrr AzureWorkloadSQLRestoreRequest) AsBasicRestoreRequest() (BasicRestoreRequest, bool) { - return &awsrr, true -} - -// BEKDetails BEK is bitlocker encryption key. -type BEKDetails struct { - // SecretURL - Secret is BEK. - SecretURL *string `json:"secretUrl,omitempty"` - // SecretVaultID - ID of the Key Vault where this Secret is stored. - SecretVaultID *string `json:"secretVaultId,omitempty"` - // SecretData - BEK data. - SecretData *string `json:"secretData,omitempty"` -} - -// BMSBackupEngineQueryObject query parameters to fetch list of backup engines. -type BMSBackupEngineQueryObject struct { - // Expand - attribute to add extended info - Expand *string `json:"expand,omitempty"` -} - -// BMSBackupEnginesQueryObject query parameters to fetch list of backup engines. -type BMSBackupEnginesQueryObject struct { - // BackupManagementType - Backup management type for the backup engine. Possible values include: 'ManagementTypeInvalid', 'ManagementTypeAzureIaasVM', 'ManagementTypeMAB', 'ManagementTypeDPM', 'ManagementTypeAzureBackupServer', 'ManagementTypeAzureSQL', 'ManagementTypeAzureStorage', 'ManagementTypeAzureWorkload', 'ManagementTypeDefaultBackup' - BackupManagementType ManagementType `json:"backupManagementType,omitempty"` - // FriendlyName - Friendly name of the backup engine. - FriendlyName *string `json:"friendlyName,omitempty"` - // Expand - Attribute to add extended info. - Expand *string `json:"expand,omitempty"` -} - -// BMSContainerQueryObject the query filters that can be used with the list containers API. -type BMSContainerQueryObject struct { - // BackupManagementType - Backup management type for this container. Possible values include: 'ManagementTypeInvalid', 'ManagementTypeAzureIaasVM', 'ManagementTypeMAB', 'ManagementTypeDPM', 'ManagementTypeAzureBackupServer', 'ManagementTypeAzureSQL', 'ManagementTypeAzureStorage', 'ManagementTypeAzureWorkload', 'ManagementTypeDefaultBackup' - BackupManagementType ManagementType `json:"backupManagementType,omitempty"` - // ContainerType - Type of container for filter. Possible values include: 'ContainerTypeInvalid', 'ContainerTypeUnknown', 'ContainerTypeIaasVMContainer', 'ContainerTypeIaasVMServiceContainer', 'ContainerTypeDPMContainer', 'ContainerTypeAzureBackupServerContainer', 'ContainerTypeMABContainer', 'ContainerTypeCluster', 'ContainerTypeAzureSQLContainer', 'ContainerTypeWindows', 'ContainerTypeVCenter', 'ContainerTypeVMAppContainer', 'ContainerTypeSQLAGWorkLoadContainer', 'ContainerTypeStorageContainer', 'ContainerTypeGenericContainer' - ContainerType ContainerType `json:"containerType,omitempty"` - // BackupEngineName - Backup engine name - BackupEngineName *string `json:"backupEngineName,omitempty"` - // FabricName - Fabric name for filter - FabricName *string `json:"fabricName,omitempty"` - // Status - Status of registration of this container with the Recovery Services Vault. - Status *string `json:"status,omitempty"` - // FriendlyName - Friendly name of this container. - FriendlyName *string `json:"friendlyName,omitempty"` -} - -// BMSContainersInquiryQueryObject the query filters that can be used with the inquire container API. -type BMSContainersInquiryQueryObject struct { - // BackupManagementType - Backup management type for this container. Possible values include: 'ManagementTypeInvalid', 'ManagementTypeAzureIaasVM', 'ManagementTypeMAB', 'ManagementTypeDPM', 'ManagementTypeAzureBackupServer', 'ManagementTypeAzureSQL', 'ManagementTypeAzureStorage', 'ManagementTypeAzureWorkload', 'ManagementTypeDefaultBackup' - BackupManagementType ManagementType `json:"backupManagementType,omitempty"` - // WorkloadType - Workload type for this container. Possible values include: 'WorkloadTypeInvalid', 'WorkloadTypeVM', 'WorkloadTypeFileFolder', 'WorkloadTypeAzureSQLDb', 'WorkloadTypeSQLDB', 'WorkloadTypeExchange', 'WorkloadTypeSharepoint', 'WorkloadTypeVMwareVM', 'WorkloadTypeSystemState', 'WorkloadTypeClient', 'WorkloadTypeGenericDataSource', 'WorkloadTypeSQLDataBase', 'WorkloadTypeAzureFileShare', 'WorkloadTypeSAPHanaDatabase', 'WorkloadTypeSAPAseDatabase' - WorkloadType WorkloadType `json:"workloadType,omitempty"` -} - -// BMSPOQueryObject filters to list items that can be backed up. -type BMSPOQueryObject struct { - // BackupManagementType - Backup management type. Possible values include: 'ManagementTypeInvalid', 'ManagementTypeAzureIaasVM', 'ManagementTypeMAB', 'ManagementTypeDPM', 'ManagementTypeAzureBackupServer', 'ManagementTypeAzureSQL', 'ManagementTypeAzureStorage', 'ManagementTypeAzureWorkload', 'ManagementTypeDefaultBackup' - BackupManagementType ManagementType `json:"backupManagementType,omitempty"` - // WorkloadType - Workload type. Possible values include: 'WorkloadTypeInvalid', 'WorkloadTypeVM', 'WorkloadTypeFileFolder', 'WorkloadTypeAzureSQLDb', 'WorkloadTypeSQLDB', 'WorkloadTypeExchange', 'WorkloadTypeSharepoint', 'WorkloadTypeVMwareVM', 'WorkloadTypeSystemState', 'WorkloadTypeClient', 'WorkloadTypeGenericDataSource', 'WorkloadTypeSQLDataBase', 'WorkloadTypeAzureFileShare', 'WorkloadTypeSAPHanaDatabase', 'WorkloadTypeSAPAseDatabase' - WorkloadType WorkloadType `json:"workloadType,omitempty"` - // ContainerName - Full name of the container whose Protectable Objects should be returned. - ContainerName *string `json:"containerName,omitempty"` - // Status - Backup status query parameter. - Status *string `json:"status,omitempty"` - // FriendlyName - Friendly name. - FriendlyName *string `json:"friendlyName,omitempty"` -} - -// BMSRefreshContainersQueryObject the query filters that can be used with the refresh container API. -type BMSRefreshContainersQueryObject struct { - // BackupManagementType - Backup management type for this container. Possible values include: 'ManagementTypeInvalid', 'ManagementTypeAzureIaasVM', 'ManagementTypeMAB', 'ManagementTypeDPM', 'ManagementTypeAzureBackupServer', 'ManagementTypeAzureSQL', 'ManagementTypeAzureStorage', 'ManagementTypeAzureWorkload', 'ManagementTypeDefaultBackup' - BackupManagementType ManagementType `json:"backupManagementType,omitempty"` -} - -// BMSRPQueryObject filters to list backup copies. -type BMSRPQueryObject struct { - // StartDate - Backup copies created after this time. - StartDate *date.Time `json:"startDate,omitempty"` - // EndDate - Backup copies created before this time. - EndDate *date.Time `json:"endDate,omitempty"` - // RestorePointQueryType - RestorePoint type. Possible values include: 'RestorePointQueryTypeInvalid', 'RestorePointQueryTypeFull', 'RestorePointQueryTypeLog', 'RestorePointQueryTypeDifferential', 'RestorePointQueryTypeFullAndDifferential', 'RestorePointQueryTypeAll' - RestorePointQueryType RestorePointQueryType `json:"restorePointQueryType,omitempty"` - // ExtendedInfo - In Get Recovery Point, it tells whether extended information about recovery point is asked. - ExtendedInfo *bool `json:"extendedInfo,omitempty"` -} - -// BMSWorkloadItemQueryObject filters to list items that can be backed up. -type BMSWorkloadItemQueryObject struct { - // BackupManagementType - Backup management type. Possible values include: 'ManagementTypeInvalid', 'ManagementTypeAzureIaasVM', 'ManagementTypeMAB', 'ManagementTypeDPM', 'ManagementTypeAzureBackupServer', 'ManagementTypeAzureSQL', 'ManagementTypeAzureStorage', 'ManagementTypeAzureWorkload', 'ManagementTypeDefaultBackup' - BackupManagementType ManagementType `json:"backupManagementType,omitempty"` - // WorkloadItemType - Workload Item type. Possible values include: 'WorkloadItemTypeInvalid', 'WorkloadItemTypeSQLInstance', 'WorkloadItemTypeSQLDataBase', 'WorkloadItemTypeSAPHanaSystem', 'WorkloadItemTypeSAPHanaDatabase', 'WorkloadItemTypeSAPAseSystem', 'WorkloadItemTypeSAPAseDatabase' - WorkloadItemType WorkloadItemType `json:"workloadItemType,omitempty"` - // WorkloadType - Workload type. Possible values include: 'WorkloadTypeInvalid', 'WorkloadTypeVM', 'WorkloadTypeFileFolder', 'WorkloadTypeAzureSQLDb', 'WorkloadTypeSQLDB', 'WorkloadTypeExchange', 'WorkloadTypeSharepoint', 'WorkloadTypeVMwareVM', 'WorkloadTypeSystemState', 'WorkloadTypeClient', 'WorkloadTypeGenericDataSource', 'WorkloadTypeSQLDataBase', 'WorkloadTypeAzureFileShare', 'WorkloadTypeSAPHanaDatabase', 'WorkloadTypeSAPAseDatabase' - WorkloadType WorkloadType `json:"workloadType,omitempty"` - // ProtectionStatus - Backup status query parameter. Possible values include: 'ProtectionStatusInvalid', 'ProtectionStatusNotProtected', 'ProtectionStatusProtecting', 'ProtectionStatusProtected', 'ProtectionStatusProtectionFailed' - ProtectionStatus ProtectionStatus `json:"protectionStatus,omitempty"` -} - -// ClientScriptForConnect client script details for file / folder restore. -type ClientScriptForConnect struct { - // ScriptContent - File content of the client script for file / folder restore. - ScriptContent *string `json:"scriptContent,omitempty"` - // ScriptExtension - File extension of the client script for file / folder restore - .ps1 , .sh , etc. - ScriptExtension *string `json:"scriptExtension,omitempty"` - // OsType - OS type - Windows, Linux etc. for which this file / folder restore client script works. - OsType *string `json:"osType,omitempty"` - // URL - URL of Executable from where to source the content. If this is not null then ScriptContent should not be used - URL *string `json:"url,omitempty"` - // ScriptNameSuffix - Mandatory suffix that should be added to the name of script that is given for download to user. - // If its null or empty then , ignore it. - ScriptNameSuffix *string `json:"scriptNameSuffix,omitempty"` -} - -// ContainerIdentityInfo container identity information -type ContainerIdentityInfo struct { - // UniqueName - Unique name of the container - UniqueName *string `json:"uniqueName,omitempty"` - // AadTenantID - Protection container identity - AAD Tenant - AadTenantID *string `json:"aadTenantId,omitempty"` - // ServicePrincipalClientID - Protection container identity - AAD Service Principal - ServicePrincipalClientID *string `json:"servicePrincipalClientId,omitempty"` - // Audience - Protection container identity - Audience - Audience *string `json:"audience,omitempty"` -} - -// DailyRetentionFormat daily retention format. -type DailyRetentionFormat struct { - // DaysOfTheMonth - List of days of the month. - DaysOfTheMonth *[]Day `json:"daysOfTheMonth,omitempty"` -} - -// DailyRetentionSchedule daily retention schedule. -type DailyRetentionSchedule struct { - // RetentionTimes - Retention times of retention policy. - RetentionTimes *[]date.Time `json:"retentionTimes,omitempty"` - // RetentionDuration - Retention duration of retention Policy. - RetentionDuration *RetentionDuration `json:"retentionDuration,omitempty"` -} - -// Day day of the week. -type Day struct { - // Date - Date of the month - Date *int32 `json:"date,omitempty"` - // IsLast - Whether Date is last date of month - IsLast *bool `json:"isLast,omitempty"` -} - -// DistributedNodesInfo this is used to represent the various nodes of the distributed container. -type DistributedNodesInfo struct { - // NodeName - Name of the node under a distributed container. - NodeName *string `json:"nodeName,omitempty"` - // Status - Status of this Node. - // Failed | Succeeded - Status *string `json:"status,omitempty"` - // ErrorDetail - Error Details if the Status is non-success. - ErrorDetail *ErrorDetail `json:"errorDetail,omitempty"` -} - -// DpmBackupEngine data Protection Manager (DPM) specific backup engine. -type DpmBackupEngine struct { - // FriendlyName - Friendly name of the backup engine. - FriendlyName *string `json:"friendlyName,omitempty"` - // BackupManagementType - Type of backup management for the backup engine. Possible values include: 'ManagementTypeInvalid', 'ManagementTypeAzureIaasVM', 'ManagementTypeMAB', 'ManagementTypeDPM', 'ManagementTypeAzureBackupServer', 'ManagementTypeAzureSQL', 'ManagementTypeAzureStorage', 'ManagementTypeAzureWorkload', 'ManagementTypeDefaultBackup' - BackupManagementType ManagementType `json:"backupManagementType,omitempty"` - // RegistrationStatus - Registration status of the backup engine with the Recovery Services Vault. - RegistrationStatus *string `json:"registrationStatus,omitempty"` - // BackupEngineState - Status of the backup engine with the Recovery Services Vault. = {Active/Deleting/DeleteFailed} - BackupEngineState *string `json:"backupEngineState,omitempty"` - // HealthStatus - Backup status of the backup engine. - HealthStatus *string `json:"healthStatus,omitempty"` - // CanReRegister - Flag indicating if the backup engine be registered, once already registered. - CanReRegister *bool `json:"canReRegister,omitempty"` - // BackupEngineID - ID of the backup engine. - BackupEngineID *string `json:"backupEngineId,omitempty"` - // DpmVersion - Backup engine version - DpmVersion *string `json:"dpmVersion,omitempty"` - // AzureBackupAgentVersion - Backup agent version - AzureBackupAgentVersion *string `json:"azureBackupAgentVersion,omitempty"` - // IsAzureBackupAgentUpgradeAvailable - To check if backup agent upgrade available - IsAzureBackupAgentUpgradeAvailable *bool `json:"isAzureBackupAgentUpgradeAvailable,omitempty"` - // IsDpmUpgradeAvailable - To check if backup engine upgrade available - IsDpmUpgradeAvailable *bool `json:"isDpmUpgradeAvailable,omitempty"` - // ExtendedInfo - Extended info of the backup engine - ExtendedInfo *EngineExtendedInfo `json:"extendedInfo,omitempty"` - // BackupEngineType - Possible values include: 'BackupEngineTypeBackupEngineBase', 'BackupEngineTypeAzureBackupServerEngine', 'BackupEngineTypeDpmBackupEngine' - BackupEngineType EngineType `json:"backupEngineType,omitempty"` -} - -// MarshalJSON is the custom marshaler for DpmBackupEngine. -func (dbe DpmBackupEngine) MarshalJSON() ([]byte, error) { - dbe.BackupEngineType = BackupEngineTypeDpmBackupEngine - objectMap := make(map[string]interface{}) - if dbe.FriendlyName != nil { - objectMap["friendlyName"] = dbe.FriendlyName - } - if dbe.BackupManagementType != "" { - objectMap["backupManagementType"] = dbe.BackupManagementType - } - if dbe.RegistrationStatus != nil { - objectMap["registrationStatus"] = dbe.RegistrationStatus - } - if dbe.BackupEngineState != nil { - objectMap["backupEngineState"] = dbe.BackupEngineState - } - if dbe.HealthStatus != nil { - objectMap["healthStatus"] = dbe.HealthStatus - } - if dbe.CanReRegister != nil { - objectMap["canReRegister"] = dbe.CanReRegister - } - if dbe.BackupEngineID != nil { - objectMap["backupEngineId"] = dbe.BackupEngineID - } - if dbe.DpmVersion != nil { - objectMap["dpmVersion"] = dbe.DpmVersion - } - if dbe.AzureBackupAgentVersion != nil { - objectMap["azureBackupAgentVersion"] = dbe.AzureBackupAgentVersion - } - if dbe.IsAzureBackupAgentUpgradeAvailable != nil { - objectMap["isAzureBackupAgentUpgradeAvailable"] = dbe.IsAzureBackupAgentUpgradeAvailable - } - if dbe.IsDpmUpgradeAvailable != nil { - objectMap["isDpmUpgradeAvailable"] = dbe.IsDpmUpgradeAvailable - } - if dbe.ExtendedInfo != nil { - objectMap["extendedInfo"] = dbe.ExtendedInfo - } - if dbe.BackupEngineType != "" { - objectMap["backupEngineType"] = dbe.BackupEngineType - } - return json.Marshal(objectMap) -} - -// AsAzureBackupServerEngine is the BasicEngineBase implementation for DpmBackupEngine. -func (dbe DpmBackupEngine) AsAzureBackupServerEngine() (*AzureBackupServerEngine, bool) { - return nil, false -} - -// AsDpmBackupEngine is the BasicEngineBase implementation for DpmBackupEngine. -func (dbe DpmBackupEngine) AsDpmBackupEngine() (*DpmBackupEngine, bool) { - return &dbe, true -} - -// AsEngineBase is the BasicEngineBase implementation for DpmBackupEngine. -func (dbe DpmBackupEngine) AsEngineBase() (*EngineBase, bool) { - return nil, false -} - -// AsBasicEngineBase is the BasicEngineBase implementation for DpmBackupEngine. -func (dbe DpmBackupEngine) AsBasicEngineBase() (BasicEngineBase, bool) { - return &dbe, true -} - -// BasicDpmContainer DPM workload-specific protection container. -type BasicDpmContainer interface { - AsAzureBackupServerContainer() (*AzureBackupServerContainer, bool) - AsDpmContainer() (*DpmContainer, bool) -} - -// DpmContainer DPM workload-specific protection container. -type DpmContainer struct { - // CanReRegister - Specifies whether the container is re-registrable. - CanReRegister *bool `json:"canReRegister,omitempty"` - // ContainerID - ID of container. - ContainerID *string `json:"containerId,omitempty"` - // ProtectedItemCount - Number of protected items in the BackupEngine - ProtectedItemCount *int64 `json:"protectedItemCount,omitempty"` - // DpmAgentVersion - Backup engine Agent version - DpmAgentVersion *string `json:"dpmAgentVersion,omitempty"` - // DpmServers - List of BackupEngines protecting the container - DpmServers *[]string `json:"dpmServers,omitempty"` - // UpgradeAvailable - To check if upgrade available - UpgradeAvailable *bool `json:"upgradeAvailable,omitempty"` - // ProtectionStatus - Protection status of the container. - ProtectionStatus *string `json:"protectionStatus,omitempty"` - // ExtendedInfo - Extended Info of the container. - ExtendedInfo *DPMContainerExtendedInfo `json:"extendedInfo,omitempty"` - // FriendlyName - Friendly name of the container. - FriendlyName *string `json:"friendlyName,omitempty"` - // BackupManagementType - Type of backup management for the container. Possible values include: 'ManagementTypeInvalid', 'ManagementTypeAzureIaasVM', 'ManagementTypeMAB', 'ManagementTypeDPM', 'ManagementTypeAzureBackupServer', 'ManagementTypeAzureSQL', 'ManagementTypeAzureStorage', 'ManagementTypeAzureWorkload', 'ManagementTypeDefaultBackup' - BackupManagementType ManagementType `json:"backupManagementType,omitempty"` - // RegistrationStatus - Status of registration of the container with the Recovery Services Vault. - RegistrationStatus *string `json:"registrationStatus,omitempty"` - // HealthStatus - Status of health of the container. - HealthStatus *string `json:"healthStatus,omitempty"` - // ContainerType - Possible values include: 'ContainerTypeProtectionContainer', 'ContainerTypeAzureBackupServerContainer1', 'ContainerTypeMicrosoftClassicComputevirtualMachines', 'ContainerTypeMicrosoftComputevirtualMachines', 'ContainerTypeSQLAGWorkLoadContainer1', 'ContainerTypeAzureSQLContainer1', 'ContainerTypeStorageContainer1', 'ContainerTypeVMAppContainer1', 'ContainerTypeAzureWorkloadContainer', 'ContainerTypeDPMContainer1', 'ContainerTypeGenericContainer1', 'ContainerTypeIaaSVMContainer', 'ContainerTypeWindows1' - ContainerType ContainerTypeBasicProtectionContainer `json:"containerType,omitempty"` -} - -func unmarshalBasicDpmContainer(body []byte) (BasicDpmContainer, error) { - var m map[string]interface{} - err := json.Unmarshal(body, &m) - if err != nil { - return nil, err - } - - switch m["containerType"] { - case string(ContainerTypeAzureBackupServerContainer1): - var absc AzureBackupServerContainer - err := json.Unmarshal(body, &absc) - return absc, err - default: - var dc DpmContainer - err := json.Unmarshal(body, &dc) - return dc, err - } -} -func unmarshalBasicDpmContainerArray(body []byte) ([]BasicDpmContainer, error) { - var rawMessages []*json.RawMessage - err := json.Unmarshal(body, &rawMessages) - if err != nil { - return nil, err - } - - dcArray := make([]BasicDpmContainer, len(rawMessages)) - - for index, rawMessage := range rawMessages { - dc, err := unmarshalBasicDpmContainer(*rawMessage) - if err != nil { - return nil, err - } - dcArray[index] = dc - } - return dcArray, nil -} - -// MarshalJSON is the custom marshaler for DpmContainer. -func (dc DpmContainer) MarshalJSON() ([]byte, error) { - dc.ContainerType = ContainerTypeDPMContainer1 - objectMap := make(map[string]interface{}) - if dc.CanReRegister != nil { - objectMap["canReRegister"] = dc.CanReRegister - } - if dc.ContainerID != nil { - objectMap["containerId"] = dc.ContainerID - } - if dc.ProtectedItemCount != nil { - objectMap["protectedItemCount"] = dc.ProtectedItemCount - } - if dc.DpmAgentVersion != nil { - objectMap["dpmAgentVersion"] = dc.DpmAgentVersion - } - if dc.DpmServers != nil { - objectMap["dpmServers"] = dc.DpmServers - } - if dc.UpgradeAvailable != nil { - objectMap["upgradeAvailable"] = dc.UpgradeAvailable - } - if dc.ProtectionStatus != nil { - objectMap["protectionStatus"] = dc.ProtectionStatus - } - if dc.ExtendedInfo != nil { - objectMap["extendedInfo"] = dc.ExtendedInfo - } - if dc.FriendlyName != nil { - objectMap["friendlyName"] = dc.FriendlyName - } - if dc.BackupManagementType != "" { - objectMap["backupManagementType"] = dc.BackupManagementType - } - if dc.RegistrationStatus != nil { - objectMap["registrationStatus"] = dc.RegistrationStatus - } - if dc.HealthStatus != nil { - objectMap["healthStatus"] = dc.HealthStatus - } - if dc.ContainerType != "" { - objectMap["containerType"] = dc.ContainerType - } - return json.Marshal(objectMap) -} - -// AsAzureBackupServerContainer is the BasicProtectionContainer implementation for DpmContainer. -func (dc DpmContainer) AsAzureBackupServerContainer() (*AzureBackupServerContainer, bool) { - return nil, false -} - -// AsAzureIaaSClassicComputeVMContainer is the BasicProtectionContainer implementation for DpmContainer. -func (dc DpmContainer) AsAzureIaaSClassicComputeVMContainer() (*AzureIaaSClassicComputeVMContainer, bool) { - return nil, false -} - -// AsAzureIaaSComputeVMContainer is the BasicProtectionContainer implementation for DpmContainer. -func (dc DpmContainer) AsAzureIaaSComputeVMContainer() (*AzureIaaSComputeVMContainer, bool) { - return nil, false -} - -// AsAzureSQLAGWorkloadContainerProtectionContainer is the BasicProtectionContainer implementation for DpmContainer. -func (dc DpmContainer) AsAzureSQLAGWorkloadContainerProtectionContainer() (*AzureSQLAGWorkloadContainerProtectionContainer, bool) { - return nil, false -} - -// AsAzureSQLContainer is the BasicProtectionContainer implementation for DpmContainer. -func (dc DpmContainer) AsAzureSQLContainer() (*AzureSQLContainer, bool) { - return nil, false -} - -// AsAzureStorageContainer is the BasicProtectionContainer implementation for DpmContainer. -func (dc DpmContainer) AsAzureStorageContainer() (*AzureStorageContainer, bool) { - return nil, false -} - -// AsAzureVMAppContainerProtectionContainer is the BasicProtectionContainer implementation for DpmContainer. -func (dc DpmContainer) AsAzureVMAppContainerProtectionContainer() (*AzureVMAppContainerProtectionContainer, bool) { - return nil, false -} - -// AsAzureWorkloadContainer is the BasicProtectionContainer implementation for DpmContainer. -func (dc DpmContainer) AsAzureWorkloadContainer() (*AzureWorkloadContainer, bool) { - return nil, false -} - -// AsBasicAzureWorkloadContainer is the BasicProtectionContainer implementation for DpmContainer. -func (dc DpmContainer) AsBasicAzureWorkloadContainer() (BasicAzureWorkloadContainer, bool) { - return nil, false -} - -// AsDpmContainer is the BasicProtectionContainer implementation for DpmContainer. -func (dc DpmContainer) AsDpmContainer() (*DpmContainer, bool) { - return &dc, true -} - -// AsBasicDpmContainer is the BasicProtectionContainer implementation for DpmContainer. -func (dc DpmContainer) AsBasicDpmContainer() (BasicDpmContainer, bool) { - return &dc, true -} - -// AsGenericContainer is the BasicProtectionContainer implementation for DpmContainer. -func (dc DpmContainer) AsGenericContainer() (*GenericContainer, bool) { - return nil, false -} - -// AsIaaSVMContainer is the BasicProtectionContainer implementation for DpmContainer. -func (dc DpmContainer) AsIaaSVMContainer() (*IaaSVMContainer, bool) { - return nil, false -} - -// AsBasicIaaSVMContainer is the BasicProtectionContainer implementation for DpmContainer. -func (dc DpmContainer) AsBasicIaaSVMContainer() (BasicIaaSVMContainer, bool) { - return nil, false -} - -// AsMabContainer is the BasicProtectionContainer implementation for DpmContainer. -func (dc DpmContainer) AsMabContainer() (*MabContainer, bool) { - return nil, false -} - -// AsProtectionContainer is the BasicProtectionContainer implementation for DpmContainer. -func (dc DpmContainer) AsProtectionContainer() (*ProtectionContainer, bool) { - return nil, false -} - -// AsBasicProtectionContainer is the BasicProtectionContainer implementation for DpmContainer. -func (dc DpmContainer) AsBasicProtectionContainer() (BasicProtectionContainer, bool) { - return &dc, true -} - -// DPMContainerExtendedInfo additional information of the DPMContainer. -type DPMContainerExtendedInfo struct { - // LastRefreshedAt - Last refresh time of the DPMContainer. - LastRefreshedAt *date.Time `json:"lastRefreshedAt,omitempty"` -} - -// DPMProtectedItem additional information on Backup engine specific backup item. -type DPMProtectedItem struct { - // FriendlyName - Friendly name of the managed item - FriendlyName *string `json:"friendlyName,omitempty"` - // BackupEngineName - Backup Management server protecting this backup item - BackupEngineName *string `json:"backupEngineName,omitempty"` - // ProtectionState - Protection state of the backup engine. Possible values include: 'ProtectedItemStateInvalid', 'ProtectedItemStateIRPending', 'ProtectedItemStateProtected', 'ProtectedItemStateProtectionError', 'ProtectedItemStateProtectionStopped', 'ProtectedItemStateProtectionPaused' - ProtectionState ProtectedItemState `json:"protectionState,omitempty"` - // ExtendedInfo - Extended info of the backup item. - ExtendedInfo *DPMProtectedItemExtendedInfo `json:"extendedInfo,omitempty"` - // BackupManagementType - Type of backup management for the backed up item. Possible values include: 'ManagementTypeInvalid', 'ManagementTypeAzureIaasVM', 'ManagementTypeMAB', 'ManagementTypeDPM', 'ManagementTypeAzureBackupServer', 'ManagementTypeAzureSQL', 'ManagementTypeAzureStorage', 'ManagementTypeAzureWorkload', 'ManagementTypeDefaultBackup' - BackupManagementType ManagementType `json:"backupManagementType,omitempty"` - // WorkloadType - Type of workload this item represents. Possible values include: 'DataSourceTypeInvalid', 'DataSourceTypeVM', 'DataSourceTypeFileFolder', 'DataSourceTypeAzureSQLDb', 'DataSourceTypeSQLDB', 'DataSourceTypeExchange', 'DataSourceTypeSharepoint', 'DataSourceTypeVMwareVM', 'DataSourceTypeSystemState', 'DataSourceTypeClient', 'DataSourceTypeGenericDataSource', 'DataSourceTypeSQLDataBase', 'DataSourceTypeAzureFileShare', 'DataSourceTypeSAPHanaDatabase', 'DataSourceTypeSAPAseDatabase' - WorkloadType DataSourceType `json:"workloadType,omitempty"` - // ContainerName - Unique name of container - ContainerName *string `json:"containerName,omitempty"` - // SourceResourceID - ARM ID of the resource to be backed up. - SourceResourceID *string `json:"sourceResourceId,omitempty"` - // PolicyID - ID of the backup policy with which this item is backed up. - PolicyID *string `json:"policyId,omitempty"` - // LastRecoveryPoint - Timestamp when the last (latest) backup copy was created for this backup item. - LastRecoveryPoint *date.Time `json:"lastRecoveryPoint,omitempty"` - // BackupSetName - Name of the backup set the backup item belongs to - BackupSetName *string `json:"backupSetName,omitempty"` - // CreateMode - Create mode to indicate recovery of existing soft deleted data source or creation of new data source. Possible values include: 'CreateModeInvalid', 'CreateModeDefault', 'CreateModeRecover' - CreateMode CreateMode `json:"createMode,omitempty"` - // DeferredDeleteTimeInUTC - Time for deferred deletion in UTC - DeferredDeleteTimeInUTC *date.Time `json:"deferredDeleteTimeInUTC,omitempty"` - // IsScheduledForDeferredDelete - Flag to identify whether the DS is scheduled for deferred delete - IsScheduledForDeferredDelete *bool `json:"isScheduledForDeferredDelete,omitempty"` - // DeferredDeleteTimeRemaining - Time remaining before the DS marked for deferred delete is permanently deleted - DeferredDeleteTimeRemaining *string `json:"deferredDeleteTimeRemaining,omitempty"` - // IsDeferredDeleteScheduleUpcoming - Flag to identify whether the deferred deleted DS is to be purged soon - IsDeferredDeleteScheduleUpcoming *bool `json:"isDeferredDeleteScheduleUpcoming,omitempty"` - // IsRehydrate - Flag to identify that deferred deleted DS is to be moved into Pause state - IsRehydrate *bool `json:"isRehydrate,omitempty"` - // ProtectedItemType - Possible values include: 'ProtectedItemTypeProtectedItem', 'ProtectedItemTypeAzureFileShareProtectedItem', 'ProtectedItemTypeMicrosoftClassicComputevirtualMachines', 'ProtectedItemTypeMicrosoftComputevirtualMachines', 'ProtectedItemTypeAzureIaaSVMProtectedItem', 'ProtectedItemTypeMicrosoftSqlserversdatabases', 'ProtectedItemTypeAzureVMWorkloadProtectedItem', 'ProtectedItemTypeAzureVMWorkloadSAPAseDatabase', 'ProtectedItemTypeAzureVMWorkloadSAPHanaDatabase', 'ProtectedItemTypeAzureVMWorkloadSQLDatabase', 'ProtectedItemTypeDPMProtectedItem', 'ProtectedItemTypeGenericProtectedItem', 'ProtectedItemTypeMabFileFolderProtectedItem' - ProtectedItemType ProtectedItemType `json:"protectedItemType,omitempty"` -} - -// MarshalJSON is the custom marshaler for DPMProtectedItem. -func (dpi DPMProtectedItem) MarshalJSON() ([]byte, error) { - dpi.ProtectedItemType = ProtectedItemTypeDPMProtectedItem - objectMap := make(map[string]interface{}) - if dpi.FriendlyName != nil { - objectMap["friendlyName"] = dpi.FriendlyName - } - if dpi.BackupEngineName != nil { - objectMap["backupEngineName"] = dpi.BackupEngineName - } - if dpi.ProtectionState != "" { - objectMap["protectionState"] = dpi.ProtectionState - } - if dpi.ExtendedInfo != nil { - objectMap["extendedInfo"] = dpi.ExtendedInfo - } - if dpi.BackupManagementType != "" { - objectMap["backupManagementType"] = dpi.BackupManagementType - } - if dpi.WorkloadType != "" { - objectMap["workloadType"] = dpi.WorkloadType - } - if dpi.ContainerName != nil { - objectMap["containerName"] = dpi.ContainerName - } - if dpi.SourceResourceID != nil { - objectMap["sourceResourceId"] = dpi.SourceResourceID - } - if dpi.PolicyID != nil { - objectMap["policyId"] = dpi.PolicyID - } - if dpi.LastRecoveryPoint != nil { - objectMap["lastRecoveryPoint"] = dpi.LastRecoveryPoint - } - if dpi.BackupSetName != nil { - objectMap["backupSetName"] = dpi.BackupSetName - } - if dpi.CreateMode != "" { - objectMap["createMode"] = dpi.CreateMode - } - if dpi.DeferredDeleteTimeInUTC != nil { - objectMap["deferredDeleteTimeInUTC"] = dpi.DeferredDeleteTimeInUTC - } - if dpi.IsScheduledForDeferredDelete != nil { - objectMap["isScheduledForDeferredDelete"] = dpi.IsScheduledForDeferredDelete - } - if dpi.DeferredDeleteTimeRemaining != nil { - objectMap["deferredDeleteTimeRemaining"] = dpi.DeferredDeleteTimeRemaining - } - if dpi.IsDeferredDeleteScheduleUpcoming != nil { - objectMap["isDeferredDeleteScheduleUpcoming"] = dpi.IsDeferredDeleteScheduleUpcoming - } - if dpi.IsRehydrate != nil { - objectMap["isRehydrate"] = dpi.IsRehydrate - } - if dpi.ProtectedItemType != "" { - objectMap["protectedItemType"] = dpi.ProtectedItemType - } - return json.Marshal(objectMap) -} - -// AsAzureFileshareProtectedItem is the BasicProtectedItem implementation for DPMProtectedItem. -func (dpi DPMProtectedItem) AsAzureFileshareProtectedItem() (*AzureFileshareProtectedItem, bool) { - return nil, false -} - -// AsAzureIaaSClassicComputeVMProtectedItem is the BasicProtectedItem implementation for DPMProtectedItem. -func (dpi DPMProtectedItem) AsAzureIaaSClassicComputeVMProtectedItem() (*AzureIaaSClassicComputeVMProtectedItem, bool) { - return nil, false -} - -// AsAzureIaaSComputeVMProtectedItem is the BasicProtectedItem implementation for DPMProtectedItem. -func (dpi DPMProtectedItem) AsAzureIaaSComputeVMProtectedItem() (*AzureIaaSComputeVMProtectedItem, bool) { - return nil, false -} - -// AsAzureIaaSVMProtectedItem is the BasicProtectedItem implementation for DPMProtectedItem. -func (dpi DPMProtectedItem) AsAzureIaaSVMProtectedItem() (*AzureIaaSVMProtectedItem, bool) { - return nil, false -} - -// AsBasicAzureIaaSVMProtectedItem is the BasicProtectedItem implementation for DPMProtectedItem. -func (dpi DPMProtectedItem) AsBasicAzureIaaSVMProtectedItem() (BasicAzureIaaSVMProtectedItem, bool) { - return nil, false -} - -// AsAzureSQLProtectedItem is the BasicProtectedItem implementation for DPMProtectedItem. -func (dpi DPMProtectedItem) AsAzureSQLProtectedItem() (*AzureSQLProtectedItem, bool) { - return nil, false -} - -// AsAzureVMWorkloadProtectedItem is the BasicProtectedItem implementation for DPMProtectedItem. -func (dpi DPMProtectedItem) AsAzureVMWorkloadProtectedItem() (*AzureVMWorkloadProtectedItem, bool) { - return nil, false -} - -// AsBasicAzureVMWorkloadProtectedItem is the BasicProtectedItem implementation for DPMProtectedItem. -func (dpi DPMProtectedItem) AsBasicAzureVMWorkloadProtectedItem() (BasicAzureVMWorkloadProtectedItem, bool) { - return nil, false -} - -// AsAzureVMWorkloadSAPAseDatabaseProtectedItem is the BasicProtectedItem implementation for DPMProtectedItem. -func (dpi DPMProtectedItem) AsAzureVMWorkloadSAPAseDatabaseProtectedItem() (*AzureVMWorkloadSAPAseDatabaseProtectedItem, bool) { - return nil, false -} - -// AsAzureVMWorkloadSAPHanaDatabaseProtectedItem is the BasicProtectedItem implementation for DPMProtectedItem. -func (dpi DPMProtectedItem) AsAzureVMWorkloadSAPHanaDatabaseProtectedItem() (*AzureVMWorkloadSAPHanaDatabaseProtectedItem, bool) { - return nil, false -} - -// AsAzureVMWorkloadSQLDatabaseProtectedItem is the BasicProtectedItem implementation for DPMProtectedItem. -func (dpi DPMProtectedItem) AsAzureVMWorkloadSQLDatabaseProtectedItem() (*AzureVMWorkloadSQLDatabaseProtectedItem, bool) { - return nil, false -} - -// AsDPMProtectedItem is the BasicProtectedItem implementation for DPMProtectedItem. -func (dpi DPMProtectedItem) AsDPMProtectedItem() (*DPMProtectedItem, bool) { - return &dpi, true -} - -// AsGenericProtectedItem is the BasicProtectedItem implementation for DPMProtectedItem. -func (dpi DPMProtectedItem) AsGenericProtectedItem() (*GenericProtectedItem, bool) { - return nil, false -} - -// AsMabFileFolderProtectedItem is the BasicProtectedItem implementation for DPMProtectedItem. -func (dpi DPMProtectedItem) AsMabFileFolderProtectedItem() (*MabFileFolderProtectedItem, bool) { - return nil, false -} - -// AsProtectedItem is the BasicProtectedItem implementation for DPMProtectedItem. -func (dpi DPMProtectedItem) AsProtectedItem() (*ProtectedItem, bool) { - return nil, false -} - -// AsBasicProtectedItem is the BasicProtectedItem implementation for DPMProtectedItem. -func (dpi DPMProtectedItem) AsBasicProtectedItem() (BasicProtectedItem, bool) { - return &dpi, true -} - -// DPMProtectedItemExtendedInfo additional information of DPM Protected item. -type DPMProtectedItemExtendedInfo struct { - // ProtectableObjectLoadPath - Attribute to provide information on various DBs. - ProtectableObjectLoadPath map[string]*string `json:"protectableObjectLoadPath"` - // Protected - To check if backup item is disk protected. - Protected *bool `json:"protected,omitempty"` - // IsPresentOnCloud - To check if backup item is cloud protected. - IsPresentOnCloud *bool `json:"isPresentOnCloud,omitempty"` - // LastBackupStatus - Last backup status information on backup item. - LastBackupStatus *string `json:"lastBackupStatus,omitempty"` - // LastRefreshedAt - Last refresh time on backup item. - LastRefreshedAt *date.Time `json:"lastRefreshedAt,omitempty"` - // OldestRecoveryPoint - Oldest cloud recovery point time. - OldestRecoveryPoint *date.Time `json:"oldestRecoveryPoint,omitempty"` - // RecoveryPointCount - cloud recovery point count. - RecoveryPointCount *int32 `json:"recoveryPointCount,omitempty"` - // OnPremiseOldestRecoveryPoint - Oldest disk recovery point time. - OnPremiseOldestRecoveryPoint *date.Time `json:"onPremiseOldestRecoveryPoint,omitempty"` - // OnPremiseLatestRecoveryPoint - latest disk recovery point time. - OnPremiseLatestRecoveryPoint *date.Time `json:"onPremiseLatestRecoveryPoint,omitempty"` - // OnPremiseRecoveryPointCount - disk recovery point count. - OnPremiseRecoveryPointCount *int32 `json:"onPremiseRecoveryPointCount,omitempty"` - // IsCollocated - To check if backup item is collocated. - IsCollocated *bool `json:"isCollocated,omitempty"` - // ProtectionGroupName - Protection group name of the backup item. - ProtectionGroupName *string `json:"protectionGroupName,omitempty"` - // DiskStorageUsedInBytes - Used Disk storage in bytes. - DiskStorageUsedInBytes *string `json:"diskStorageUsedInBytes,omitempty"` - // TotalDiskStorageSizeInBytes - total Disk storage in bytes. - TotalDiskStorageSizeInBytes *string `json:"totalDiskStorageSizeInBytes,omitempty"` -} - -// MarshalJSON is the custom marshaler for DPMProtectedItemExtendedInfo. -func (dpiei DPMProtectedItemExtendedInfo) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - if dpiei.ProtectableObjectLoadPath != nil { - objectMap["protectableObjectLoadPath"] = dpiei.ProtectableObjectLoadPath - } - if dpiei.Protected != nil { - objectMap["protected"] = dpiei.Protected - } - if dpiei.IsPresentOnCloud != nil { - objectMap["isPresentOnCloud"] = dpiei.IsPresentOnCloud - } - if dpiei.LastBackupStatus != nil { - objectMap["lastBackupStatus"] = dpiei.LastBackupStatus - } - if dpiei.LastRefreshedAt != nil { - objectMap["lastRefreshedAt"] = dpiei.LastRefreshedAt - } - if dpiei.OldestRecoveryPoint != nil { - objectMap["oldestRecoveryPoint"] = dpiei.OldestRecoveryPoint - } - if dpiei.RecoveryPointCount != nil { - objectMap["recoveryPointCount"] = dpiei.RecoveryPointCount - } - if dpiei.OnPremiseOldestRecoveryPoint != nil { - objectMap["onPremiseOldestRecoveryPoint"] = dpiei.OnPremiseOldestRecoveryPoint - } - if dpiei.OnPremiseLatestRecoveryPoint != nil { - objectMap["onPremiseLatestRecoveryPoint"] = dpiei.OnPremiseLatestRecoveryPoint - } - if dpiei.OnPremiseRecoveryPointCount != nil { - objectMap["onPremiseRecoveryPointCount"] = dpiei.OnPremiseRecoveryPointCount - } - if dpiei.IsCollocated != nil { - objectMap["isCollocated"] = dpiei.IsCollocated - } - if dpiei.ProtectionGroupName != nil { - objectMap["protectionGroupName"] = dpiei.ProtectionGroupName - } - if dpiei.DiskStorageUsedInBytes != nil { - objectMap["diskStorageUsedInBytes"] = dpiei.DiskStorageUsedInBytes - } - if dpiei.TotalDiskStorageSizeInBytes != nil { - objectMap["totalDiskStorageSizeInBytes"] = dpiei.TotalDiskStorageSizeInBytes - } - return json.Marshal(objectMap) -} - -// EncryptionDetails details needed if the VM was encrypted at the time of backup. -type EncryptionDetails struct { - // EncryptionEnabled - Identifies whether this backup copy represents an encrypted VM at the time of backup. - EncryptionEnabled *bool `json:"encryptionEnabled,omitempty"` - // KekURL - Key Url. - KekURL *string `json:"kekUrl,omitempty"` - // SecretKeyURL - Secret Url. - SecretKeyURL *string `json:"secretKeyUrl,omitempty"` - // KekVaultID - ID of Key Vault where KEK is stored. - KekVaultID *string `json:"kekVaultId,omitempty"` - // SecretKeyVaultID - ID of Key Vault where Secret is stored. - SecretKeyVaultID *string `json:"secretKeyVaultId,omitempty"` -} - -// BasicEngineBase the base backup engine class. All workload specific backup engines derive from this class. -type BasicEngineBase interface { - AsAzureBackupServerEngine() (*AzureBackupServerEngine, bool) - AsDpmBackupEngine() (*DpmBackupEngine, bool) - AsEngineBase() (*EngineBase, bool) -} - -// EngineBase the base backup engine class. All workload specific backup engines derive from this class. -type EngineBase struct { - // FriendlyName - Friendly name of the backup engine. - FriendlyName *string `json:"friendlyName,omitempty"` - // BackupManagementType - Type of backup management for the backup engine. Possible values include: 'ManagementTypeInvalid', 'ManagementTypeAzureIaasVM', 'ManagementTypeMAB', 'ManagementTypeDPM', 'ManagementTypeAzureBackupServer', 'ManagementTypeAzureSQL', 'ManagementTypeAzureStorage', 'ManagementTypeAzureWorkload', 'ManagementTypeDefaultBackup' - BackupManagementType ManagementType `json:"backupManagementType,omitempty"` - // RegistrationStatus - Registration status of the backup engine with the Recovery Services Vault. - RegistrationStatus *string `json:"registrationStatus,omitempty"` - // BackupEngineState - Status of the backup engine with the Recovery Services Vault. = {Active/Deleting/DeleteFailed} - BackupEngineState *string `json:"backupEngineState,omitempty"` - // HealthStatus - Backup status of the backup engine. - HealthStatus *string `json:"healthStatus,omitempty"` - // CanReRegister - Flag indicating if the backup engine be registered, once already registered. - CanReRegister *bool `json:"canReRegister,omitempty"` - // BackupEngineID - ID of the backup engine. - BackupEngineID *string `json:"backupEngineId,omitempty"` - // DpmVersion - Backup engine version - DpmVersion *string `json:"dpmVersion,omitempty"` - // AzureBackupAgentVersion - Backup agent version - AzureBackupAgentVersion *string `json:"azureBackupAgentVersion,omitempty"` - // IsAzureBackupAgentUpgradeAvailable - To check if backup agent upgrade available - IsAzureBackupAgentUpgradeAvailable *bool `json:"isAzureBackupAgentUpgradeAvailable,omitempty"` - // IsDpmUpgradeAvailable - To check if backup engine upgrade available - IsDpmUpgradeAvailable *bool `json:"isDpmUpgradeAvailable,omitempty"` - // ExtendedInfo - Extended info of the backup engine - ExtendedInfo *EngineExtendedInfo `json:"extendedInfo,omitempty"` - // BackupEngineType - Possible values include: 'BackupEngineTypeBackupEngineBase', 'BackupEngineTypeAzureBackupServerEngine', 'BackupEngineTypeDpmBackupEngine' - BackupEngineType EngineType `json:"backupEngineType,omitempty"` -} - -func unmarshalBasicEngineBase(body []byte) (BasicEngineBase, error) { - var m map[string]interface{} - err := json.Unmarshal(body, &m) - if err != nil { - return nil, err - } - - switch m["backupEngineType"] { - case string(BackupEngineTypeAzureBackupServerEngine): - var abse AzureBackupServerEngine - err := json.Unmarshal(body, &abse) - return abse, err - case string(BackupEngineTypeDpmBackupEngine): - var dbe DpmBackupEngine - err := json.Unmarshal(body, &dbe) - return dbe, err - default: - var eb EngineBase - err := json.Unmarshal(body, &eb) - return eb, err - } -} -func unmarshalBasicEngineBaseArray(body []byte) ([]BasicEngineBase, error) { - var rawMessages []*json.RawMessage - err := json.Unmarshal(body, &rawMessages) - if err != nil { - return nil, err - } - - ebArray := make([]BasicEngineBase, len(rawMessages)) - - for index, rawMessage := range rawMessages { - eb, err := unmarshalBasicEngineBase(*rawMessage) - if err != nil { - return nil, err - } - ebArray[index] = eb - } - return ebArray, nil -} - -// MarshalJSON is the custom marshaler for EngineBase. -func (eb EngineBase) MarshalJSON() ([]byte, error) { - eb.BackupEngineType = BackupEngineTypeBackupEngineBase - objectMap := make(map[string]interface{}) - if eb.FriendlyName != nil { - objectMap["friendlyName"] = eb.FriendlyName - } - if eb.BackupManagementType != "" { - objectMap["backupManagementType"] = eb.BackupManagementType - } - if eb.RegistrationStatus != nil { - objectMap["registrationStatus"] = eb.RegistrationStatus - } - if eb.BackupEngineState != nil { - objectMap["backupEngineState"] = eb.BackupEngineState - } - if eb.HealthStatus != nil { - objectMap["healthStatus"] = eb.HealthStatus - } - if eb.CanReRegister != nil { - objectMap["canReRegister"] = eb.CanReRegister - } - if eb.BackupEngineID != nil { - objectMap["backupEngineId"] = eb.BackupEngineID - } - if eb.DpmVersion != nil { - objectMap["dpmVersion"] = eb.DpmVersion - } - if eb.AzureBackupAgentVersion != nil { - objectMap["azureBackupAgentVersion"] = eb.AzureBackupAgentVersion - } - if eb.IsAzureBackupAgentUpgradeAvailable != nil { - objectMap["isAzureBackupAgentUpgradeAvailable"] = eb.IsAzureBackupAgentUpgradeAvailable - } - if eb.IsDpmUpgradeAvailable != nil { - objectMap["isDpmUpgradeAvailable"] = eb.IsDpmUpgradeAvailable - } - if eb.ExtendedInfo != nil { - objectMap["extendedInfo"] = eb.ExtendedInfo - } - if eb.BackupEngineType != "" { - objectMap["backupEngineType"] = eb.BackupEngineType - } - return json.Marshal(objectMap) -} - -// AsAzureBackupServerEngine is the BasicEngineBase implementation for EngineBase. -func (eb EngineBase) AsAzureBackupServerEngine() (*AzureBackupServerEngine, bool) { - return nil, false -} - -// AsDpmBackupEngine is the BasicEngineBase implementation for EngineBase. -func (eb EngineBase) AsDpmBackupEngine() (*DpmBackupEngine, bool) { - return nil, false -} - -// AsEngineBase is the BasicEngineBase implementation for EngineBase. -func (eb EngineBase) AsEngineBase() (*EngineBase, bool) { - return &eb, true -} - -// AsBasicEngineBase is the BasicEngineBase implementation for EngineBase. -func (eb EngineBase) AsBasicEngineBase() (BasicEngineBase, bool) { - return &eb, true -} - -// EngineBaseResource the base backup engine class. All workload specific backup engines derive from this -// class. -type EngineBaseResource struct { - autorest.Response `json:"-"` - // Properties - BackupEngineBaseResource properties - Properties BasicEngineBase `json:"properties,omitempty"` - // ID - READ-ONLY; Resource Id represents the complete path to the resource. - ID *string `json:"id,omitempty"` - // Name - READ-ONLY; Resource name associated with the resource. - Name *string `json:"name,omitempty"` - // Type - READ-ONLY; Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/... - Type *string `json:"type,omitempty"` - // Location - Resource location. - Location *string `json:"location,omitempty"` - // Tags - Resource tags. - Tags map[string]*string `json:"tags"` - // ETag - Optional ETag. - ETag *string `json:"eTag,omitempty"` -} - -// MarshalJSON is the custom marshaler for EngineBaseResource. -func (ebr EngineBaseResource) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - objectMap["properties"] = ebr.Properties - if ebr.Location != nil { - objectMap["location"] = ebr.Location - } - if ebr.Tags != nil { - objectMap["tags"] = ebr.Tags - } - if ebr.ETag != nil { - objectMap["eTag"] = ebr.ETag - } - return json.Marshal(objectMap) -} - -// UnmarshalJSON is the custom unmarshaler for EngineBaseResource struct. -func (ebr *EngineBaseResource) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - case "properties": - if v != nil { - properties, err := unmarshalBasicEngineBase(*v) - if err != nil { - return err - } - ebr.Properties = properties - } - case "id": - if v != nil { - var ID string - err = json.Unmarshal(*v, &ID) - if err != nil { - return err - } - ebr.ID = &ID - } - case "name": - if v != nil { - var name string - err = json.Unmarshal(*v, &name) - if err != nil { - return err - } - ebr.Name = &name - } - case "type": - if v != nil { - var typeVar string - err = json.Unmarshal(*v, &typeVar) - if err != nil { - return err - } - ebr.Type = &typeVar - } - case "location": - if v != nil { - var location string - err = json.Unmarshal(*v, &location) - if err != nil { - return err - } - ebr.Location = &location - } - case "tags": - if v != nil { - var tags map[string]*string - err = json.Unmarshal(*v, &tags) - if err != nil { - return err - } - ebr.Tags = tags - } - case "eTag": - if v != nil { - var eTag string - err = json.Unmarshal(*v, &eTag) - if err != nil { - return err - } - ebr.ETag = &eTag - } - } - } - - return nil -} - -// EngineBaseResourceList list of BackupEngineBase resources -type EngineBaseResourceList struct { - autorest.Response `json:"-"` - // Value - List of resources. - Value *[]EngineBaseResource `json:"value,omitempty"` - // NextLink - The uri to fetch the next page of resources. Call ListNext() fetches next page of resources. - NextLink *string `json:"nextLink,omitempty"` -} - -// EngineBaseResourceListIterator provides access to a complete listing of EngineBaseResource values. -type EngineBaseResourceListIterator struct { - i int - page EngineBaseResourceListPage -} - -// NextWithContext advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -func (iter *EngineBaseResourceListIterator) NextWithContext(ctx context.Context) (err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/EngineBaseResourceListIterator.NextWithContext") - defer func() { - sc := -1 - if iter.Response().Response.Response != nil { - sc = iter.Response().Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - iter.i++ - if iter.i < len(iter.page.Values()) { - return nil - } - err = iter.page.NextWithContext(ctx) - if err != nil { - iter.i-- - return err - } - iter.i = 0 - return nil -} - -// Next advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -// Deprecated: Use NextWithContext() instead. -func (iter *EngineBaseResourceListIterator) Next() error { - return iter.NextWithContext(context.Background()) -} - -// NotDone returns true if the enumeration should be started or is not yet complete. -func (iter EngineBaseResourceListIterator) NotDone() bool { - return iter.page.NotDone() && iter.i < len(iter.page.Values()) -} - -// Response returns the raw server response from the last page request. -func (iter EngineBaseResourceListIterator) Response() EngineBaseResourceList { - return iter.page.Response() -} - -// Value returns the current value or a zero-initialized value if the -// iterator has advanced beyond the end of the collection. -func (iter EngineBaseResourceListIterator) Value() EngineBaseResource { - if !iter.page.NotDone() { - return EngineBaseResource{} - } - return iter.page.Values()[iter.i] -} - -// Creates a new instance of the EngineBaseResourceListIterator type. -func NewEngineBaseResourceListIterator(page EngineBaseResourceListPage) EngineBaseResourceListIterator { - return EngineBaseResourceListIterator{page: page} -} - -// IsEmpty returns true if the ListResult contains no values. -func (ebrl EngineBaseResourceList) IsEmpty() bool { - return ebrl.Value == nil || len(*ebrl.Value) == 0 -} - -// engineBaseResourceListPreparer prepares a request to retrieve the next set of results. -// It returns nil if no more results exist. -func (ebrl EngineBaseResourceList) engineBaseResourceListPreparer(ctx context.Context) (*http.Request, error) { - if ebrl.NextLink == nil || len(to.String(ebrl.NextLink)) < 1 { - return nil, nil - } - return autorest.Prepare((&http.Request{}).WithContext(ctx), - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(ebrl.NextLink))) -} - -// EngineBaseResourceListPage contains a page of EngineBaseResource values. -type EngineBaseResourceListPage struct { - fn func(context.Context, EngineBaseResourceList) (EngineBaseResourceList, error) - ebrl EngineBaseResourceList -} - -// NextWithContext advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -func (page *EngineBaseResourceListPage) NextWithContext(ctx context.Context) (err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/EngineBaseResourceListPage.NextWithContext") - defer func() { - sc := -1 - if page.Response().Response.Response != nil { - sc = page.Response().Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - next, err := page.fn(ctx, page.ebrl) - if err != nil { - return err - } - page.ebrl = next - return nil -} - -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -// Deprecated: Use NextWithContext() instead. -func (page *EngineBaseResourceListPage) Next() error { - return page.NextWithContext(context.Background()) -} - -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page EngineBaseResourceListPage) NotDone() bool { - return !page.ebrl.IsEmpty() -} - -// Response returns the raw server response from the last page request. -func (page EngineBaseResourceListPage) Response() EngineBaseResourceList { - return page.ebrl -} - -// Values returns the slice of values for the current page or nil if there are no values. -func (page EngineBaseResourceListPage) Values() []EngineBaseResource { - if page.ebrl.IsEmpty() { - return nil - } - return *page.ebrl.Value -} - -// Creates a new instance of the EngineBaseResourceListPage type. -func NewEngineBaseResourceListPage(getNextPage func(context.Context, EngineBaseResourceList) (EngineBaseResourceList, error)) EngineBaseResourceListPage { - return EngineBaseResourceListPage{fn: getNextPage} -} - -// EngineExtendedInfo additional information on backup engine. -type EngineExtendedInfo struct { - // DatabaseName - Database name of backup engine. - DatabaseName *string `json:"databaseName,omitempty"` - // ProtectedItemsCount - Number of protected items in the backup engine. - ProtectedItemsCount *int32 `json:"protectedItemsCount,omitempty"` - // ProtectedServersCount - Number of protected servers in the backup engine. - ProtectedServersCount *int32 `json:"protectedServersCount,omitempty"` - // DiskCount - Number of disks in the backup engine. - DiskCount *int32 `json:"diskCount,omitempty"` - // UsedDiskSpace - Disk space used in the backup engine. - UsedDiskSpace *float64 `json:"usedDiskSpace,omitempty"` - // AvailableDiskSpace - Disk space currently available in the backup engine. - AvailableDiskSpace *float64 `json:"availableDiskSpace,omitempty"` - // RefreshedAt - Last refresh time in the backup engine. - RefreshedAt *date.Time `json:"refreshedAt,omitempty"` - // AzureProtectedInstances - Protected instances in the backup engine. - AzureProtectedInstances *int32 `json:"azureProtectedInstances,omitempty"` -} - -// ErrorDetail error Detail class which encapsulates Code, Message and Recommendations. -type ErrorDetail struct { - // Code - Error code. - Code *string `json:"code,omitempty"` - // Message - Error Message related to the Code. - Message *string `json:"message,omitempty"` - // Recommendations - List of recommendation strings. - Recommendations *[]string `json:"recommendations,omitempty"` -} - -// GenericContainer base class for generic container of backup items -type GenericContainer struct { - // FabricName - Name of the container's fabric - FabricName *string `json:"fabricName,omitempty"` - // ExtendedInformation - Extended information (not returned in List container API calls) - ExtendedInformation *GenericContainerExtendedInfo `json:"extendedInformation,omitempty"` - // FriendlyName - Friendly name of the container. - FriendlyName *string `json:"friendlyName,omitempty"` - // BackupManagementType - Type of backup management for the container. Possible values include: 'ManagementTypeInvalid', 'ManagementTypeAzureIaasVM', 'ManagementTypeMAB', 'ManagementTypeDPM', 'ManagementTypeAzureBackupServer', 'ManagementTypeAzureSQL', 'ManagementTypeAzureStorage', 'ManagementTypeAzureWorkload', 'ManagementTypeDefaultBackup' - BackupManagementType ManagementType `json:"backupManagementType,omitempty"` - // RegistrationStatus - Status of registration of the container with the Recovery Services Vault. - RegistrationStatus *string `json:"registrationStatus,omitempty"` - // HealthStatus - Status of health of the container. - HealthStatus *string `json:"healthStatus,omitempty"` - // ContainerType - Possible values include: 'ContainerTypeProtectionContainer', 'ContainerTypeAzureBackupServerContainer1', 'ContainerTypeMicrosoftClassicComputevirtualMachines', 'ContainerTypeMicrosoftComputevirtualMachines', 'ContainerTypeSQLAGWorkLoadContainer1', 'ContainerTypeAzureSQLContainer1', 'ContainerTypeStorageContainer1', 'ContainerTypeVMAppContainer1', 'ContainerTypeAzureWorkloadContainer', 'ContainerTypeDPMContainer1', 'ContainerTypeGenericContainer1', 'ContainerTypeIaaSVMContainer', 'ContainerTypeWindows1' - ContainerType ContainerTypeBasicProtectionContainer `json:"containerType,omitempty"` -} - -// MarshalJSON is the custom marshaler for GenericContainer. -func (gc GenericContainer) MarshalJSON() ([]byte, error) { - gc.ContainerType = ContainerTypeGenericContainer1 - objectMap := make(map[string]interface{}) - if gc.FabricName != nil { - objectMap["fabricName"] = gc.FabricName - } - if gc.ExtendedInformation != nil { - objectMap["extendedInformation"] = gc.ExtendedInformation - } - if gc.FriendlyName != nil { - objectMap["friendlyName"] = gc.FriendlyName - } - if gc.BackupManagementType != "" { - objectMap["backupManagementType"] = gc.BackupManagementType - } - if gc.RegistrationStatus != nil { - objectMap["registrationStatus"] = gc.RegistrationStatus - } - if gc.HealthStatus != nil { - objectMap["healthStatus"] = gc.HealthStatus - } - if gc.ContainerType != "" { - objectMap["containerType"] = gc.ContainerType - } - return json.Marshal(objectMap) -} - -// AsAzureBackupServerContainer is the BasicProtectionContainer implementation for GenericContainer. -func (gc GenericContainer) AsAzureBackupServerContainer() (*AzureBackupServerContainer, bool) { - return nil, false -} - -// AsAzureIaaSClassicComputeVMContainer is the BasicProtectionContainer implementation for GenericContainer. -func (gc GenericContainer) AsAzureIaaSClassicComputeVMContainer() (*AzureIaaSClassicComputeVMContainer, bool) { - return nil, false -} - -// AsAzureIaaSComputeVMContainer is the BasicProtectionContainer implementation for GenericContainer. -func (gc GenericContainer) AsAzureIaaSComputeVMContainer() (*AzureIaaSComputeVMContainer, bool) { - return nil, false -} - -// AsAzureSQLAGWorkloadContainerProtectionContainer is the BasicProtectionContainer implementation for GenericContainer. -func (gc GenericContainer) AsAzureSQLAGWorkloadContainerProtectionContainer() (*AzureSQLAGWorkloadContainerProtectionContainer, bool) { - return nil, false -} - -// AsAzureSQLContainer is the BasicProtectionContainer implementation for GenericContainer. -func (gc GenericContainer) AsAzureSQLContainer() (*AzureSQLContainer, bool) { - return nil, false -} - -// AsAzureStorageContainer is the BasicProtectionContainer implementation for GenericContainer. -func (gc GenericContainer) AsAzureStorageContainer() (*AzureStorageContainer, bool) { - return nil, false -} - -// AsAzureVMAppContainerProtectionContainer is the BasicProtectionContainer implementation for GenericContainer. -func (gc GenericContainer) AsAzureVMAppContainerProtectionContainer() (*AzureVMAppContainerProtectionContainer, bool) { - return nil, false -} - -// AsAzureWorkloadContainer is the BasicProtectionContainer implementation for GenericContainer. -func (gc GenericContainer) AsAzureWorkloadContainer() (*AzureWorkloadContainer, bool) { - return nil, false -} - -// AsBasicAzureWorkloadContainer is the BasicProtectionContainer implementation for GenericContainer. -func (gc GenericContainer) AsBasicAzureWorkloadContainer() (BasicAzureWorkloadContainer, bool) { - return nil, false -} - -// AsDpmContainer is the BasicProtectionContainer implementation for GenericContainer. -func (gc GenericContainer) AsDpmContainer() (*DpmContainer, bool) { - return nil, false -} - -// AsBasicDpmContainer is the BasicProtectionContainer implementation for GenericContainer. -func (gc GenericContainer) AsBasicDpmContainer() (BasicDpmContainer, bool) { - return nil, false -} - -// AsGenericContainer is the BasicProtectionContainer implementation for GenericContainer. -func (gc GenericContainer) AsGenericContainer() (*GenericContainer, bool) { - return &gc, true -} - -// AsIaaSVMContainer is the BasicProtectionContainer implementation for GenericContainer. -func (gc GenericContainer) AsIaaSVMContainer() (*IaaSVMContainer, bool) { - return nil, false -} - -// AsBasicIaaSVMContainer is the BasicProtectionContainer implementation for GenericContainer. -func (gc GenericContainer) AsBasicIaaSVMContainer() (BasicIaaSVMContainer, bool) { - return nil, false -} - -// AsMabContainer is the BasicProtectionContainer implementation for GenericContainer. -func (gc GenericContainer) AsMabContainer() (*MabContainer, bool) { - return nil, false -} - -// AsProtectionContainer is the BasicProtectionContainer implementation for GenericContainer. -func (gc GenericContainer) AsProtectionContainer() (*ProtectionContainer, bool) { - return nil, false -} - -// AsBasicProtectionContainer is the BasicProtectionContainer implementation for GenericContainer. -func (gc GenericContainer) AsBasicProtectionContainer() (BasicProtectionContainer, bool) { - return &gc, true -} - -// GenericContainerExtendedInfo container extended information -type GenericContainerExtendedInfo struct { - // RawCertData - Public key of container cert - RawCertData *string `json:"rawCertData,omitempty"` - // ContainerIdentityInfo - Container identity information - ContainerIdentityInfo *ContainerIdentityInfo `json:"containerIdentityInfo,omitempty"` - // ServiceEndpoints - Azure Backup Service Endpoints for the container - ServiceEndpoints map[string]*string `json:"serviceEndpoints"` -} - -// MarshalJSON is the custom marshaler for GenericContainerExtendedInfo. -func (gcei GenericContainerExtendedInfo) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - if gcei.RawCertData != nil { - objectMap["rawCertData"] = gcei.RawCertData - } - if gcei.ContainerIdentityInfo != nil { - objectMap["containerIdentityInfo"] = gcei.ContainerIdentityInfo - } - if gcei.ServiceEndpoints != nil { - objectMap["serviceEndpoints"] = gcei.ServiceEndpoints - } - return json.Marshal(objectMap) -} - -// GenericProtectedItem base class for backup items. -type GenericProtectedItem struct { - // FriendlyName - Friendly name of the container. - FriendlyName *string `json:"friendlyName,omitempty"` - // PolicyState - Indicates consistency of policy object and policy applied to this backup item. - PolicyState *string `json:"policyState,omitempty"` - // ProtectionState - Backup state of this backup item. Possible values include: 'ProtectionStateInvalid', 'ProtectionStateIRPending', 'ProtectionStateProtected', 'ProtectionStateProtectionError', 'ProtectionStateProtectionStopped', 'ProtectionStateProtectionPaused' - ProtectionState ProtectionState `json:"protectionState,omitempty"` - // ProtectedItemID - Data Plane Service ID of the protected item. - ProtectedItemID *int64 `json:"protectedItemId,omitempty"` - // SourceAssociations - Loosely coupled (type, value) associations (example - parent of a protected item) - SourceAssociations map[string]*string `json:"sourceAssociations"` - // FabricName - Name of this backup item's fabric. - FabricName *string `json:"fabricName,omitempty"` - // BackupManagementType - Type of backup management for the backed up item. Possible values include: 'ManagementTypeInvalid', 'ManagementTypeAzureIaasVM', 'ManagementTypeMAB', 'ManagementTypeDPM', 'ManagementTypeAzureBackupServer', 'ManagementTypeAzureSQL', 'ManagementTypeAzureStorage', 'ManagementTypeAzureWorkload', 'ManagementTypeDefaultBackup' - BackupManagementType ManagementType `json:"backupManagementType,omitempty"` - // WorkloadType - Type of workload this item represents. Possible values include: 'DataSourceTypeInvalid', 'DataSourceTypeVM', 'DataSourceTypeFileFolder', 'DataSourceTypeAzureSQLDb', 'DataSourceTypeSQLDB', 'DataSourceTypeExchange', 'DataSourceTypeSharepoint', 'DataSourceTypeVMwareVM', 'DataSourceTypeSystemState', 'DataSourceTypeClient', 'DataSourceTypeGenericDataSource', 'DataSourceTypeSQLDataBase', 'DataSourceTypeAzureFileShare', 'DataSourceTypeSAPHanaDatabase', 'DataSourceTypeSAPAseDatabase' - WorkloadType DataSourceType `json:"workloadType,omitempty"` - // ContainerName - Unique name of container - ContainerName *string `json:"containerName,omitempty"` - // SourceResourceID - ARM ID of the resource to be backed up. - SourceResourceID *string `json:"sourceResourceId,omitempty"` - // PolicyID - ID of the backup policy with which this item is backed up. - PolicyID *string `json:"policyId,omitempty"` - // LastRecoveryPoint - Timestamp when the last (latest) backup copy was created for this backup item. - LastRecoveryPoint *date.Time `json:"lastRecoveryPoint,omitempty"` - // BackupSetName - Name of the backup set the backup item belongs to - BackupSetName *string `json:"backupSetName,omitempty"` - // CreateMode - Create mode to indicate recovery of existing soft deleted data source or creation of new data source. Possible values include: 'CreateModeInvalid', 'CreateModeDefault', 'CreateModeRecover' - CreateMode CreateMode `json:"createMode,omitempty"` - // DeferredDeleteTimeInUTC - Time for deferred deletion in UTC - DeferredDeleteTimeInUTC *date.Time `json:"deferredDeleteTimeInUTC,omitempty"` - // IsScheduledForDeferredDelete - Flag to identify whether the DS is scheduled for deferred delete - IsScheduledForDeferredDelete *bool `json:"isScheduledForDeferredDelete,omitempty"` - // DeferredDeleteTimeRemaining - Time remaining before the DS marked for deferred delete is permanently deleted - DeferredDeleteTimeRemaining *string `json:"deferredDeleteTimeRemaining,omitempty"` - // IsDeferredDeleteScheduleUpcoming - Flag to identify whether the deferred deleted DS is to be purged soon - IsDeferredDeleteScheduleUpcoming *bool `json:"isDeferredDeleteScheduleUpcoming,omitempty"` - // IsRehydrate - Flag to identify that deferred deleted DS is to be moved into Pause state - IsRehydrate *bool `json:"isRehydrate,omitempty"` - // ProtectedItemType - Possible values include: 'ProtectedItemTypeProtectedItem', 'ProtectedItemTypeAzureFileShareProtectedItem', 'ProtectedItemTypeMicrosoftClassicComputevirtualMachines', 'ProtectedItemTypeMicrosoftComputevirtualMachines', 'ProtectedItemTypeAzureIaaSVMProtectedItem', 'ProtectedItemTypeMicrosoftSqlserversdatabases', 'ProtectedItemTypeAzureVMWorkloadProtectedItem', 'ProtectedItemTypeAzureVMWorkloadSAPAseDatabase', 'ProtectedItemTypeAzureVMWorkloadSAPHanaDatabase', 'ProtectedItemTypeAzureVMWorkloadSQLDatabase', 'ProtectedItemTypeDPMProtectedItem', 'ProtectedItemTypeGenericProtectedItem', 'ProtectedItemTypeMabFileFolderProtectedItem' - ProtectedItemType ProtectedItemType `json:"protectedItemType,omitempty"` -} - -// MarshalJSON is the custom marshaler for GenericProtectedItem. -func (gpi GenericProtectedItem) MarshalJSON() ([]byte, error) { - gpi.ProtectedItemType = ProtectedItemTypeGenericProtectedItem - objectMap := make(map[string]interface{}) - if gpi.FriendlyName != nil { - objectMap["friendlyName"] = gpi.FriendlyName - } - if gpi.PolicyState != nil { - objectMap["policyState"] = gpi.PolicyState - } - if gpi.ProtectionState != "" { - objectMap["protectionState"] = gpi.ProtectionState - } - if gpi.ProtectedItemID != nil { - objectMap["protectedItemId"] = gpi.ProtectedItemID - } - if gpi.SourceAssociations != nil { - objectMap["sourceAssociations"] = gpi.SourceAssociations - } - if gpi.FabricName != nil { - objectMap["fabricName"] = gpi.FabricName - } - if gpi.BackupManagementType != "" { - objectMap["backupManagementType"] = gpi.BackupManagementType - } - if gpi.WorkloadType != "" { - objectMap["workloadType"] = gpi.WorkloadType - } - if gpi.ContainerName != nil { - objectMap["containerName"] = gpi.ContainerName - } - if gpi.SourceResourceID != nil { - objectMap["sourceResourceId"] = gpi.SourceResourceID - } - if gpi.PolicyID != nil { - objectMap["policyId"] = gpi.PolicyID - } - if gpi.LastRecoveryPoint != nil { - objectMap["lastRecoveryPoint"] = gpi.LastRecoveryPoint - } - if gpi.BackupSetName != nil { - objectMap["backupSetName"] = gpi.BackupSetName - } - if gpi.CreateMode != "" { - objectMap["createMode"] = gpi.CreateMode - } - if gpi.DeferredDeleteTimeInUTC != nil { - objectMap["deferredDeleteTimeInUTC"] = gpi.DeferredDeleteTimeInUTC - } - if gpi.IsScheduledForDeferredDelete != nil { - objectMap["isScheduledForDeferredDelete"] = gpi.IsScheduledForDeferredDelete - } - if gpi.DeferredDeleteTimeRemaining != nil { - objectMap["deferredDeleteTimeRemaining"] = gpi.DeferredDeleteTimeRemaining - } - if gpi.IsDeferredDeleteScheduleUpcoming != nil { - objectMap["isDeferredDeleteScheduleUpcoming"] = gpi.IsDeferredDeleteScheduleUpcoming - } - if gpi.IsRehydrate != nil { - objectMap["isRehydrate"] = gpi.IsRehydrate - } - if gpi.ProtectedItemType != "" { - objectMap["protectedItemType"] = gpi.ProtectedItemType - } - return json.Marshal(objectMap) -} - -// AsAzureFileshareProtectedItem is the BasicProtectedItem implementation for GenericProtectedItem. -func (gpi GenericProtectedItem) AsAzureFileshareProtectedItem() (*AzureFileshareProtectedItem, bool) { - return nil, false -} - -// AsAzureIaaSClassicComputeVMProtectedItem is the BasicProtectedItem implementation for GenericProtectedItem. -func (gpi GenericProtectedItem) AsAzureIaaSClassicComputeVMProtectedItem() (*AzureIaaSClassicComputeVMProtectedItem, bool) { - return nil, false -} - -// AsAzureIaaSComputeVMProtectedItem is the BasicProtectedItem implementation for GenericProtectedItem. -func (gpi GenericProtectedItem) AsAzureIaaSComputeVMProtectedItem() (*AzureIaaSComputeVMProtectedItem, bool) { - return nil, false -} - -// AsAzureIaaSVMProtectedItem is the BasicProtectedItem implementation for GenericProtectedItem. -func (gpi GenericProtectedItem) AsAzureIaaSVMProtectedItem() (*AzureIaaSVMProtectedItem, bool) { - return nil, false -} - -// AsBasicAzureIaaSVMProtectedItem is the BasicProtectedItem implementation for GenericProtectedItem. -func (gpi GenericProtectedItem) AsBasicAzureIaaSVMProtectedItem() (BasicAzureIaaSVMProtectedItem, bool) { - return nil, false -} - -// AsAzureSQLProtectedItem is the BasicProtectedItem implementation for GenericProtectedItem. -func (gpi GenericProtectedItem) AsAzureSQLProtectedItem() (*AzureSQLProtectedItem, bool) { - return nil, false -} - -// AsAzureVMWorkloadProtectedItem is the BasicProtectedItem implementation for GenericProtectedItem. -func (gpi GenericProtectedItem) AsAzureVMWorkloadProtectedItem() (*AzureVMWorkloadProtectedItem, bool) { - return nil, false -} - -// AsBasicAzureVMWorkloadProtectedItem is the BasicProtectedItem implementation for GenericProtectedItem. -func (gpi GenericProtectedItem) AsBasicAzureVMWorkloadProtectedItem() (BasicAzureVMWorkloadProtectedItem, bool) { - return nil, false -} - -// AsAzureVMWorkloadSAPAseDatabaseProtectedItem is the BasicProtectedItem implementation for GenericProtectedItem. -func (gpi GenericProtectedItem) AsAzureVMWorkloadSAPAseDatabaseProtectedItem() (*AzureVMWorkloadSAPAseDatabaseProtectedItem, bool) { - return nil, false -} - -// AsAzureVMWorkloadSAPHanaDatabaseProtectedItem is the BasicProtectedItem implementation for GenericProtectedItem. -func (gpi GenericProtectedItem) AsAzureVMWorkloadSAPHanaDatabaseProtectedItem() (*AzureVMWorkloadSAPHanaDatabaseProtectedItem, bool) { - return nil, false -} - -// AsAzureVMWorkloadSQLDatabaseProtectedItem is the BasicProtectedItem implementation for GenericProtectedItem. -func (gpi GenericProtectedItem) AsAzureVMWorkloadSQLDatabaseProtectedItem() (*AzureVMWorkloadSQLDatabaseProtectedItem, bool) { - return nil, false -} - -// AsDPMProtectedItem is the BasicProtectedItem implementation for GenericProtectedItem. -func (gpi GenericProtectedItem) AsDPMProtectedItem() (*DPMProtectedItem, bool) { - return nil, false -} - -// AsGenericProtectedItem is the BasicProtectedItem implementation for GenericProtectedItem. -func (gpi GenericProtectedItem) AsGenericProtectedItem() (*GenericProtectedItem, bool) { - return &gpi, true -} - -// AsMabFileFolderProtectedItem is the BasicProtectedItem implementation for GenericProtectedItem. -func (gpi GenericProtectedItem) AsMabFileFolderProtectedItem() (*MabFileFolderProtectedItem, bool) { - return nil, false -} - -// AsProtectedItem is the BasicProtectedItem implementation for GenericProtectedItem. -func (gpi GenericProtectedItem) AsProtectedItem() (*ProtectedItem, bool) { - return nil, false -} - -// AsBasicProtectedItem is the BasicProtectedItem implementation for GenericProtectedItem. -func (gpi GenericProtectedItem) AsBasicProtectedItem() (BasicProtectedItem, bool) { - return &gpi, true -} - -// GenericProtectionPolicy azure VM (Mercury) workload-specific backup policy. -type GenericProtectionPolicy struct { - // SubProtectionPolicy - List of sub-protection policies which includes schedule and retention - SubProtectionPolicy *[]SubProtectionPolicy `json:"subProtectionPolicy,omitempty"` - // TimeZone - TimeZone optional input as string. For example: TimeZone = "Pacific Standard Time". - TimeZone *string `json:"timeZone,omitempty"` - // FabricName - Name of this policy's fabric. - FabricName *string `json:"fabricName,omitempty"` - // ProtectedItemsCount - Number of items associated with this policy. - ProtectedItemsCount *int32 `json:"protectedItemsCount,omitempty"` - // BackupManagementType - Possible values include: 'BackupManagementTypeProtectionPolicy', 'BackupManagementTypeAzureStorage', 'BackupManagementTypeAzureIaasVM', 'BackupManagementTypeAzureSQL', 'BackupManagementTypeAzureWorkload', 'BackupManagementTypeGenericProtectionPolicy', 'BackupManagementTypeMAB' - BackupManagementType ManagementTypeBasicProtectionPolicy `json:"backupManagementType,omitempty"` -} - -// MarshalJSON is the custom marshaler for GenericProtectionPolicy. -func (gpp GenericProtectionPolicy) MarshalJSON() ([]byte, error) { - gpp.BackupManagementType = BackupManagementTypeGenericProtectionPolicy - objectMap := make(map[string]interface{}) - if gpp.SubProtectionPolicy != nil { - objectMap["subProtectionPolicy"] = gpp.SubProtectionPolicy - } - if gpp.TimeZone != nil { - objectMap["timeZone"] = gpp.TimeZone - } - if gpp.FabricName != nil { - objectMap["fabricName"] = gpp.FabricName - } - if gpp.ProtectedItemsCount != nil { - objectMap["protectedItemsCount"] = gpp.ProtectedItemsCount - } - if gpp.BackupManagementType != "" { - objectMap["backupManagementType"] = gpp.BackupManagementType - } - return json.Marshal(objectMap) -} - -// AsAzureFileShareProtectionPolicy is the BasicProtectionPolicy implementation for GenericProtectionPolicy. -func (gpp GenericProtectionPolicy) AsAzureFileShareProtectionPolicy() (*AzureFileShareProtectionPolicy, bool) { - return nil, false -} - -// AsAzureIaaSVMProtectionPolicy is the BasicProtectionPolicy implementation for GenericProtectionPolicy. -func (gpp GenericProtectionPolicy) AsAzureIaaSVMProtectionPolicy() (*AzureIaaSVMProtectionPolicy, bool) { - return nil, false -} - -// AsAzureSQLProtectionPolicy is the BasicProtectionPolicy implementation for GenericProtectionPolicy. -func (gpp GenericProtectionPolicy) AsAzureSQLProtectionPolicy() (*AzureSQLProtectionPolicy, bool) { - return nil, false -} - -// AsAzureVMWorkloadProtectionPolicy is the BasicProtectionPolicy implementation for GenericProtectionPolicy. -func (gpp GenericProtectionPolicy) AsAzureVMWorkloadProtectionPolicy() (*AzureVMWorkloadProtectionPolicy, bool) { - return nil, false -} - -// AsGenericProtectionPolicy is the BasicProtectionPolicy implementation for GenericProtectionPolicy. -func (gpp GenericProtectionPolicy) AsGenericProtectionPolicy() (*GenericProtectionPolicy, bool) { - return &gpp, true -} - -// AsMabProtectionPolicy is the BasicProtectionPolicy implementation for GenericProtectionPolicy. -func (gpp GenericProtectionPolicy) AsMabProtectionPolicy() (*MabProtectionPolicy, bool) { - return nil, false -} - -// AsProtectionPolicy is the BasicProtectionPolicy implementation for GenericProtectionPolicy. -func (gpp GenericProtectionPolicy) AsProtectionPolicy() (*ProtectionPolicy, bool) { - return nil, false -} - -// AsBasicProtectionPolicy is the BasicProtectionPolicy implementation for GenericProtectionPolicy. -func (gpp GenericProtectionPolicy) AsBasicProtectionPolicy() (BasicProtectionPolicy, bool) { - return &gpp, true -} - -// GenericRecoveryPoint generic backup copy. -type GenericRecoveryPoint struct { - // FriendlyName - Friendly name of the backup copy. - FriendlyName *string `json:"friendlyName,omitempty"` - // RecoveryPointType - Type of the backup copy. - RecoveryPointType *string `json:"recoveryPointType,omitempty"` - // RecoveryPointTime - Time at which this backup copy was created. - RecoveryPointTime *date.Time `json:"recoveryPointTime,omitempty"` - // RecoveryPointAdditionalInfo - Additional information associated with this backup copy. - RecoveryPointAdditionalInfo *string `json:"recoveryPointAdditionalInfo,omitempty"` - // ObjectType - Possible values include: 'ObjectTypeRecoveryPoint', 'ObjectTypeAzureFileShareRecoveryPoint', 'ObjectTypeAzureWorkloadPointInTimeRecoveryPoint', 'ObjectTypeAzureWorkloadRecoveryPoint', 'ObjectTypeAzureWorkloadSAPHanaPointInTimeRecoveryPoint', 'ObjectTypeAzureWorkloadSAPHanaRecoveryPoint', 'ObjectTypeAzureWorkloadSQLPointInTimeRecoveryPoint', 'ObjectTypeAzureWorkloadSQLRecoveryPoint', 'ObjectTypeGenericRecoveryPoint', 'ObjectTypeIaasVMRecoveryPoint' - ObjectType ObjectTypeBasicRecoveryPoint `json:"objectType,omitempty"` -} - -// MarshalJSON is the custom marshaler for GenericRecoveryPoint. -func (grp GenericRecoveryPoint) MarshalJSON() ([]byte, error) { - grp.ObjectType = ObjectTypeGenericRecoveryPoint - objectMap := make(map[string]interface{}) - if grp.FriendlyName != nil { - objectMap["friendlyName"] = grp.FriendlyName - } - if grp.RecoveryPointType != nil { - objectMap["recoveryPointType"] = grp.RecoveryPointType - } - if grp.RecoveryPointTime != nil { - objectMap["recoveryPointTime"] = grp.RecoveryPointTime - } - if grp.RecoveryPointAdditionalInfo != nil { - objectMap["recoveryPointAdditionalInfo"] = grp.RecoveryPointAdditionalInfo - } - if grp.ObjectType != "" { - objectMap["objectType"] = grp.ObjectType - } - return json.Marshal(objectMap) -} - -// AsAzureFileShareRecoveryPoint is the BasicRecoveryPoint implementation for GenericRecoveryPoint. -func (grp GenericRecoveryPoint) AsAzureFileShareRecoveryPoint() (*AzureFileShareRecoveryPoint, bool) { - return nil, false -} - -// AsAzureWorkloadPointInTimeRecoveryPoint is the BasicRecoveryPoint implementation for GenericRecoveryPoint. -func (grp GenericRecoveryPoint) AsAzureWorkloadPointInTimeRecoveryPoint() (*AzureWorkloadPointInTimeRecoveryPoint, bool) { - return nil, false -} - -// AsBasicAzureWorkloadPointInTimeRecoveryPoint is the BasicRecoveryPoint implementation for GenericRecoveryPoint. -func (grp GenericRecoveryPoint) AsBasicAzureWorkloadPointInTimeRecoveryPoint() (BasicAzureWorkloadPointInTimeRecoveryPoint, bool) { - return nil, false -} - -// AsAzureWorkloadRecoveryPoint is the BasicRecoveryPoint implementation for GenericRecoveryPoint. -func (grp GenericRecoveryPoint) AsAzureWorkloadRecoveryPoint() (*AzureWorkloadRecoveryPoint, bool) { - return nil, false -} - -// AsBasicAzureWorkloadRecoveryPoint is the BasicRecoveryPoint implementation for GenericRecoveryPoint. -func (grp GenericRecoveryPoint) AsBasicAzureWorkloadRecoveryPoint() (BasicAzureWorkloadRecoveryPoint, bool) { - return nil, false -} - -// AsAzureWorkloadSAPHanaPointInTimeRecoveryPoint is the BasicRecoveryPoint implementation for GenericRecoveryPoint. -func (grp GenericRecoveryPoint) AsAzureWorkloadSAPHanaPointInTimeRecoveryPoint() (*AzureWorkloadSAPHanaPointInTimeRecoveryPoint, bool) { - return nil, false -} - -// AsAzureWorkloadSAPHanaRecoveryPoint is the BasicRecoveryPoint implementation for GenericRecoveryPoint. -func (grp GenericRecoveryPoint) AsAzureWorkloadSAPHanaRecoveryPoint() (*AzureWorkloadSAPHanaRecoveryPoint, bool) { - return nil, false -} - -// AsAzureWorkloadSQLPointInTimeRecoveryPoint is the BasicRecoveryPoint implementation for GenericRecoveryPoint. -func (grp GenericRecoveryPoint) AsAzureWorkloadSQLPointInTimeRecoveryPoint() (*AzureWorkloadSQLPointInTimeRecoveryPoint, bool) { - return nil, false -} - -// AsAzureWorkloadSQLRecoveryPoint is the BasicRecoveryPoint implementation for GenericRecoveryPoint. -func (grp GenericRecoveryPoint) AsAzureWorkloadSQLRecoveryPoint() (*AzureWorkloadSQLRecoveryPoint, bool) { - return nil, false -} - -// AsBasicAzureWorkloadSQLRecoveryPoint is the BasicRecoveryPoint implementation for GenericRecoveryPoint. -func (grp GenericRecoveryPoint) AsBasicAzureWorkloadSQLRecoveryPoint() (BasicAzureWorkloadSQLRecoveryPoint, bool) { - return nil, false -} - -// AsGenericRecoveryPoint is the BasicRecoveryPoint implementation for GenericRecoveryPoint. -func (grp GenericRecoveryPoint) AsGenericRecoveryPoint() (*GenericRecoveryPoint, bool) { - return &grp, true -} - -// AsIaasVMRecoveryPoint is the BasicRecoveryPoint implementation for GenericRecoveryPoint. -func (grp GenericRecoveryPoint) AsIaasVMRecoveryPoint() (*IaasVMRecoveryPoint, bool) { - return nil, false -} - -// AsRecoveryPoint is the BasicRecoveryPoint implementation for GenericRecoveryPoint. -func (grp GenericRecoveryPoint) AsRecoveryPoint() (*RecoveryPoint, bool) { - return nil, false -} - -// AsBasicRecoveryPoint is the BasicRecoveryPoint implementation for GenericRecoveryPoint. -func (grp GenericRecoveryPoint) AsBasicRecoveryPoint() (BasicRecoveryPoint, bool) { - return &grp, true -} - -// GetProtectedItemQueryObject filters to list backup items. -type GetProtectedItemQueryObject struct { - // Expand - Specifies if the additional information should be provided for this item. - Expand *string `json:"expand,omitempty"` -} - -// IaasVMBackupRequest iaaS VM workload-specific backup request. -type IaasVMBackupRequest struct { - // RecoveryPointExpiryTimeInUTC - Backup copy will expire after the time specified (UTC). - RecoveryPointExpiryTimeInUTC *date.Time `json:"recoveryPointExpiryTimeInUTC,omitempty"` - // ObjectType - Possible values include: 'ObjectTypeBackupRequest', 'ObjectTypeAzureFileShareBackupRequest', 'ObjectTypeAzureWorkloadBackupRequest', 'ObjectTypeIaasVMBackupRequest' - ObjectType ObjectType `json:"objectType,omitempty"` -} - -// MarshalJSON is the custom marshaler for IaasVMBackupRequest. -func (ivbr IaasVMBackupRequest) MarshalJSON() ([]byte, error) { - ivbr.ObjectType = ObjectTypeIaasVMBackupRequest - objectMap := make(map[string]interface{}) - if ivbr.RecoveryPointExpiryTimeInUTC != nil { - objectMap["recoveryPointExpiryTimeInUTC"] = ivbr.RecoveryPointExpiryTimeInUTC - } - if ivbr.ObjectType != "" { - objectMap["objectType"] = ivbr.ObjectType - } - return json.Marshal(objectMap) -} - -// AsAzureFileShareBackupRequest is the BasicRequest implementation for IaasVMBackupRequest. -func (ivbr IaasVMBackupRequest) AsAzureFileShareBackupRequest() (*AzureFileShareBackupRequest, bool) { - return nil, false -} - -// AsAzureWorkloadBackupRequest is the BasicRequest implementation for IaasVMBackupRequest. -func (ivbr IaasVMBackupRequest) AsAzureWorkloadBackupRequest() (*AzureWorkloadBackupRequest, bool) { - return nil, false -} - -// AsIaasVMBackupRequest is the BasicRequest implementation for IaasVMBackupRequest. -func (ivbr IaasVMBackupRequest) AsIaasVMBackupRequest() (*IaasVMBackupRequest, bool) { - return &ivbr, true -} - -// AsRequest is the BasicRequest implementation for IaasVMBackupRequest. -func (ivbr IaasVMBackupRequest) AsRequest() (*Request, bool) { - return nil, false -} - -// AsBasicRequest is the BasicRequest implementation for IaasVMBackupRequest. -func (ivbr IaasVMBackupRequest) AsBasicRequest() (BasicRequest, bool) { - return &ivbr, true -} - -// BasicIaaSVMContainer iaaS VM workload-specific container. -type BasicIaaSVMContainer interface { - AsAzureIaaSClassicComputeVMContainer() (*AzureIaaSClassicComputeVMContainer, bool) - AsAzureIaaSComputeVMContainer() (*AzureIaaSComputeVMContainer, bool) - AsIaaSVMContainer() (*IaaSVMContainer, bool) -} - -// IaaSVMContainer iaaS VM workload-specific container. -type IaaSVMContainer struct { - // VirtualMachineID - Fully qualified ARM url of the virtual machine represented by this Azure IaaS VM container. - VirtualMachineID *string `json:"virtualMachineId,omitempty"` - // VirtualMachineVersion - Specifies whether the container represents a Classic or an Azure Resource Manager VM. - VirtualMachineVersion *string `json:"virtualMachineVersion,omitempty"` - // ResourceGroup - Resource group name of Recovery Services Vault. - ResourceGroup *string `json:"resourceGroup,omitempty"` - // FriendlyName - Friendly name of the container. - FriendlyName *string `json:"friendlyName,omitempty"` - // BackupManagementType - Type of backup management for the container. Possible values include: 'ManagementTypeInvalid', 'ManagementTypeAzureIaasVM', 'ManagementTypeMAB', 'ManagementTypeDPM', 'ManagementTypeAzureBackupServer', 'ManagementTypeAzureSQL', 'ManagementTypeAzureStorage', 'ManagementTypeAzureWorkload', 'ManagementTypeDefaultBackup' - BackupManagementType ManagementType `json:"backupManagementType,omitempty"` - // RegistrationStatus - Status of registration of the container with the Recovery Services Vault. - RegistrationStatus *string `json:"registrationStatus,omitempty"` - // HealthStatus - Status of health of the container. - HealthStatus *string `json:"healthStatus,omitempty"` - // ContainerType - Possible values include: 'ContainerTypeProtectionContainer', 'ContainerTypeAzureBackupServerContainer1', 'ContainerTypeMicrosoftClassicComputevirtualMachines', 'ContainerTypeMicrosoftComputevirtualMachines', 'ContainerTypeSQLAGWorkLoadContainer1', 'ContainerTypeAzureSQLContainer1', 'ContainerTypeStorageContainer1', 'ContainerTypeVMAppContainer1', 'ContainerTypeAzureWorkloadContainer', 'ContainerTypeDPMContainer1', 'ContainerTypeGenericContainer1', 'ContainerTypeIaaSVMContainer', 'ContainerTypeWindows1' - ContainerType ContainerTypeBasicProtectionContainer `json:"containerType,omitempty"` -} - -func unmarshalBasicIaaSVMContainer(body []byte) (BasicIaaSVMContainer, error) { - var m map[string]interface{} - err := json.Unmarshal(body, &m) - if err != nil { - return nil, err - } - - switch m["containerType"] { - case string(ContainerTypeMicrosoftClassicComputevirtualMachines): - var aisccvc AzureIaaSClassicComputeVMContainer - err := json.Unmarshal(body, &aisccvc) - return aisccvc, err - case string(ContainerTypeMicrosoftComputevirtualMachines): - var aiscvc AzureIaaSComputeVMContainer - err := json.Unmarshal(body, &aiscvc) - return aiscvc, err - default: - var isc IaaSVMContainer - err := json.Unmarshal(body, &isc) - return isc, err - } -} -func unmarshalBasicIaaSVMContainerArray(body []byte) ([]BasicIaaSVMContainer, error) { - var rawMessages []*json.RawMessage - err := json.Unmarshal(body, &rawMessages) - if err != nil { - return nil, err - } - - iscArray := make([]BasicIaaSVMContainer, len(rawMessages)) - - for index, rawMessage := range rawMessages { - isc, err := unmarshalBasicIaaSVMContainer(*rawMessage) - if err != nil { - return nil, err - } - iscArray[index] = isc - } - return iscArray, nil -} - -// MarshalJSON is the custom marshaler for IaaSVMContainer. -func (isc IaaSVMContainer) MarshalJSON() ([]byte, error) { - isc.ContainerType = ContainerTypeIaaSVMContainer - objectMap := make(map[string]interface{}) - if isc.VirtualMachineID != nil { - objectMap["virtualMachineId"] = isc.VirtualMachineID - } - if isc.VirtualMachineVersion != nil { - objectMap["virtualMachineVersion"] = isc.VirtualMachineVersion - } - if isc.ResourceGroup != nil { - objectMap["resourceGroup"] = isc.ResourceGroup - } - if isc.FriendlyName != nil { - objectMap["friendlyName"] = isc.FriendlyName - } - if isc.BackupManagementType != "" { - objectMap["backupManagementType"] = isc.BackupManagementType - } - if isc.RegistrationStatus != nil { - objectMap["registrationStatus"] = isc.RegistrationStatus - } - if isc.HealthStatus != nil { - objectMap["healthStatus"] = isc.HealthStatus - } - if isc.ContainerType != "" { - objectMap["containerType"] = isc.ContainerType - } - return json.Marshal(objectMap) -} - -// AsAzureBackupServerContainer is the BasicProtectionContainer implementation for IaaSVMContainer. -func (isc IaaSVMContainer) AsAzureBackupServerContainer() (*AzureBackupServerContainer, bool) { - return nil, false -} - -// AsAzureIaaSClassicComputeVMContainer is the BasicProtectionContainer implementation for IaaSVMContainer. -func (isc IaaSVMContainer) AsAzureIaaSClassicComputeVMContainer() (*AzureIaaSClassicComputeVMContainer, bool) { - return nil, false -} - -// AsAzureIaaSComputeVMContainer is the BasicProtectionContainer implementation for IaaSVMContainer. -func (isc IaaSVMContainer) AsAzureIaaSComputeVMContainer() (*AzureIaaSComputeVMContainer, bool) { - return nil, false -} - -// AsAzureSQLAGWorkloadContainerProtectionContainer is the BasicProtectionContainer implementation for IaaSVMContainer. -func (isc IaaSVMContainer) AsAzureSQLAGWorkloadContainerProtectionContainer() (*AzureSQLAGWorkloadContainerProtectionContainer, bool) { - return nil, false -} - -// AsAzureSQLContainer is the BasicProtectionContainer implementation for IaaSVMContainer. -func (isc IaaSVMContainer) AsAzureSQLContainer() (*AzureSQLContainer, bool) { - return nil, false -} - -// AsAzureStorageContainer is the BasicProtectionContainer implementation for IaaSVMContainer. -func (isc IaaSVMContainer) AsAzureStorageContainer() (*AzureStorageContainer, bool) { - return nil, false -} - -// AsAzureVMAppContainerProtectionContainer is the BasicProtectionContainer implementation for IaaSVMContainer. -func (isc IaaSVMContainer) AsAzureVMAppContainerProtectionContainer() (*AzureVMAppContainerProtectionContainer, bool) { - return nil, false -} - -// AsAzureWorkloadContainer is the BasicProtectionContainer implementation for IaaSVMContainer. -func (isc IaaSVMContainer) AsAzureWorkloadContainer() (*AzureWorkloadContainer, bool) { - return nil, false -} - -// AsBasicAzureWorkloadContainer is the BasicProtectionContainer implementation for IaaSVMContainer. -func (isc IaaSVMContainer) AsBasicAzureWorkloadContainer() (BasicAzureWorkloadContainer, bool) { - return nil, false -} - -// AsDpmContainer is the BasicProtectionContainer implementation for IaaSVMContainer. -func (isc IaaSVMContainer) AsDpmContainer() (*DpmContainer, bool) { - return nil, false -} - -// AsBasicDpmContainer is the BasicProtectionContainer implementation for IaaSVMContainer. -func (isc IaaSVMContainer) AsBasicDpmContainer() (BasicDpmContainer, bool) { - return nil, false -} - -// AsGenericContainer is the BasicProtectionContainer implementation for IaaSVMContainer. -func (isc IaaSVMContainer) AsGenericContainer() (*GenericContainer, bool) { - return nil, false -} - -// AsIaaSVMContainer is the BasicProtectionContainer implementation for IaaSVMContainer. -func (isc IaaSVMContainer) AsIaaSVMContainer() (*IaaSVMContainer, bool) { - return &isc, true -} - -// AsBasicIaaSVMContainer is the BasicProtectionContainer implementation for IaaSVMContainer. -func (isc IaaSVMContainer) AsBasicIaaSVMContainer() (BasicIaaSVMContainer, bool) { - return &isc, true -} - -// AsMabContainer is the BasicProtectionContainer implementation for IaaSVMContainer. -func (isc IaaSVMContainer) AsMabContainer() (*MabContainer, bool) { - return nil, false -} - -// AsProtectionContainer is the BasicProtectionContainer implementation for IaaSVMContainer. -func (isc IaaSVMContainer) AsProtectionContainer() (*ProtectionContainer, bool) { - return nil, false -} - -// AsBasicProtectionContainer is the BasicProtectionContainer implementation for IaaSVMContainer. -func (isc IaaSVMContainer) AsBasicProtectionContainer() (BasicProtectionContainer, bool) { - return &isc, true -} - -// IaasVMILRRegistrationRequest restore files/folders from a backup copy of IaaS VM. -type IaasVMILRRegistrationRequest struct { - // RecoveryPointID - ID of the IaaS VM backup copy from where the files/folders have to be restored. - RecoveryPointID *string `json:"recoveryPointId,omitempty"` - // VirtualMachineID - Fully qualified ARM ID of the virtual machine whose the files / folders have to be restored. - VirtualMachineID *string `json:"virtualMachineId,omitempty"` - // InitiatorName - iSCSI initiator name. - InitiatorName *string `json:"initiatorName,omitempty"` - // RenewExistingRegistration - Whether to renew existing registration with the iSCSI server. - RenewExistingRegistration *bool `json:"renewExistingRegistration,omitempty"` - // ObjectType - Possible values include: 'ObjectTypeILRRequest', 'ObjectTypeIaasVMILRRegistrationRequest' - ObjectType ObjectTypeBasicILRRequest `json:"objectType,omitempty"` -} - -// MarshalJSON is the custom marshaler for IaasVMILRRegistrationRequest. -func (ivrr IaasVMILRRegistrationRequest) MarshalJSON() ([]byte, error) { - ivrr.ObjectType = ObjectTypeIaasVMILRRegistrationRequest - objectMap := make(map[string]interface{}) - if ivrr.RecoveryPointID != nil { - objectMap["recoveryPointId"] = ivrr.RecoveryPointID - } - if ivrr.VirtualMachineID != nil { - objectMap["virtualMachineId"] = ivrr.VirtualMachineID - } - if ivrr.InitiatorName != nil { - objectMap["initiatorName"] = ivrr.InitiatorName - } - if ivrr.RenewExistingRegistration != nil { - objectMap["renewExistingRegistration"] = ivrr.RenewExistingRegistration - } - if ivrr.ObjectType != "" { - objectMap["objectType"] = ivrr.ObjectType - } - return json.Marshal(objectMap) -} - -// AsIaasVMILRRegistrationRequest is the BasicILRRequest implementation for IaasVMILRRegistrationRequest. -func (ivrr IaasVMILRRegistrationRequest) AsIaasVMILRRegistrationRequest() (*IaasVMILRRegistrationRequest, bool) { - return &ivrr, true -} - -// AsILRRequest is the BasicILRRequest implementation for IaasVMILRRegistrationRequest. -func (ivrr IaasVMILRRegistrationRequest) AsILRRequest() (*ILRRequest, bool) { - return nil, false -} - -// AsBasicILRRequest is the BasicILRRequest implementation for IaasVMILRRegistrationRequest. -func (ivrr IaasVMILRRegistrationRequest) AsBasicILRRequest() (BasicILRRequest, bool) { - return &ivrr, true -} - -// BasicIaaSVMProtectableItem iaaS VM workload-specific backup item. -type BasicIaaSVMProtectableItem interface { - AsAzureIaaSClassicComputeVMProtectableItem() (*AzureIaaSClassicComputeVMProtectableItem, bool) - AsAzureIaaSComputeVMProtectableItem() (*AzureIaaSComputeVMProtectableItem, bool) - AsIaaSVMProtectableItem() (*IaaSVMProtectableItem, bool) -} - -// IaaSVMProtectableItem iaaS VM workload-specific backup item. -type IaaSVMProtectableItem struct { - // VirtualMachineID - Fully qualified ARM ID of the virtual machine. - VirtualMachineID *string `json:"virtualMachineId,omitempty"` - // BackupManagementType - Type of backup management to backup an item. - BackupManagementType *string `json:"backupManagementType,omitempty"` - // WorkloadType - Type of workload for the backup management - WorkloadType *string `json:"workloadType,omitempty"` - // FriendlyName - Friendly name of the backup item. - FriendlyName *string `json:"friendlyName,omitempty"` - // ProtectionState - State of the back up item. Possible values include: 'ProtectionStatusInvalid', 'ProtectionStatusNotProtected', 'ProtectionStatusProtecting', 'ProtectionStatusProtected', 'ProtectionStatusProtectionFailed' - ProtectionState ProtectionStatus `json:"protectionState,omitempty"` - // ProtectableItemType - Possible values include: 'ProtectableItemTypeWorkloadProtectableItem', 'ProtectableItemTypeAzureFileShare', 'ProtectableItemTypeMicrosoftClassicComputevirtualMachines', 'ProtectableItemTypeMicrosoftComputevirtualMachines', 'ProtectableItemTypeAzureVMWorkloadProtectableItem', 'ProtectableItemTypeSAPAseDatabase', 'ProtectableItemTypeSAPAseSystem', 'ProtectableItemTypeSAPHanaDatabase', 'ProtectableItemTypeSAPHanaSystem', 'ProtectableItemTypeSQLAvailabilityGroupContainer', 'ProtectableItemTypeSQLDataBase', 'ProtectableItemTypeSQLInstance', 'ProtectableItemTypeIaaSVMProtectableItem' - ProtectableItemType ProtectableItemType `json:"protectableItemType,omitempty"` -} - -func unmarshalBasicIaaSVMProtectableItem(body []byte) (BasicIaaSVMProtectableItem, error) { - var m map[string]interface{} - err := json.Unmarshal(body, &m) - if err != nil { - return nil, err - } - - switch m["protectableItemType"] { - case string(ProtectableItemTypeMicrosoftClassicComputevirtualMachines): - var aisccvpi AzureIaaSClassicComputeVMProtectableItem - err := json.Unmarshal(body, &aisccvpi) - return aisccvpi, err - case string(ProtectableItemTypeMicrosoftComputevirtualMachines): - var aiscvpi AzureIaaSComputeVMProtectableItem - err := json.Unmarshal(body, &aiscvpi) - return aiscvpi, err - default: - var ispi IaaSVMProtectableItem - err := json.Unmarshal(body, &ispi) - return ispi, err - } -} -func unmarshalBasicIaaSVMProtectableItemArray(body []byte) ([]BasicIaaSVMProtectableItem, error) { - var rawMessages []*json.RawMessage - err := json.Unmarshal(body, &rawMessages) - if err != nil { - return nil, err - } - - ispiArray := make([]BasicIaaSVMProtectableItem, len(rawMessages)) - - for index, rawMessage := range rawMessages { - ispi, err := unmarshalBasicIaaSVMProtectableItem(*rawMessage) - if err != nil { - return nil, err - } - ispiArray[index] = ispi - } - return ispiArray, nil -} - -// MarshalJSON is the custom marshaler for IaaSVMProtectableItem. -func (ispi IaaSVMProtectableItem) MarshalJSON() ([]byte, error) { - ispi.ProtectableItemType = ProtectableItemTypeIaaSVMProtectableItem - objectMap := make(map[string]interface{}) - if ispi.VirtualMachineID != nil { - objectMap["virtualMachineId"] = ispi.VirtualMachineID - } - if ispi.BackupManagementType != nil { - objectMap["backupManagementType"] = ispi.BackupManagementType - } - if ispi.WorkloadType != nil { - objectMap["workloadType"] = ispi.WorkloadType - } - if ispi.FriendlyName != nil { - objectMap["friendlyName"] = ispi.FriendlyName - } - if ispi.ProtectionState != "" { - objectMap["protectionState"] = ispi.ProtectionState - } - if ispi.ProtectableItemType != "" { - objectMap["protectableItemType"] = ispi.ProtectableItemType - } - return json.Marshal(objectMap) -} - -// AsAzureFileShareProtectableItem is the BasicWorkloadProtectableItem implementation for IaaSVMProtectableItem. -func (ispi IaaSVMProtectableItem) AsAzureFileShareProtectableItem() (*AzureFileShareProtectableItem, bool) { - return nil, false -} - -// AsAzureIaaSClassicComputeVMProtectableItem is the BasicWorkloadProtectableItem implementation for IaaSVMProtectableItem. -func (ispi IaaSVMProtectableItem) AsAzureIaaSClassicComputeVMProtectableItem() (*AzureIaaSClassicComputeVMProtectableItem, bool) { - return nil, false -} - -// AsAzureIaaSComputeVMProtectableItem is the BasicWorkloadProtectableItem implementation for IaaSVMProtectableItem. -func (ispi IaaSVMProtectableItem) AsAzureIaaSComputeVMProtectableItem() (*AzureIaaSComputeVMProtectableItem, bool) { - return nil, false -} - -// AsAzureVMWorkloadProtectableItem is the BasicWorkloadProtectableItem implementation for IaaSVMProtectableItem. -func (ispi IaaSVMProtectableItem) AsAzureVMWorkloadProtectableItem() (*AzureVMWorkloadProtectableItem, bool) { - return nil, false -} - -// AsBasicAzureVMWorkloadProtectableItem is the BasicWorkloadProtectableItem implementation for IaaSVMProtectableItem. -func (ispi IaaSVMProtectableItem) AsBasicAzureVMWorkloadProtectableItem() (BasicAzureVMWorkloadProtectableItem, bool) { - return nil, false -} - -// AsAzureVMWorkloadSAPAseDatabaseProtectableItem is the BasicWorkloadProtectableItem implementation for IaaSVMProtectableItem. -func (ispi IaaSVMProtectableItem) AsAzureVMWorkloadSAPAseDatabaseProtectableItem() (*AzureVMWorkloadSAPAseDatabaseProtectableItem, bool) { - return nil, false -} - -// AsAzureVMWorkloadSAPAseSystemProtectableItem is the BasicWorkloadProtectableItem implementation for IaaSVMProtectableItem. -func (ispi IaaSVMProtectableItem) AsAzureVMWorkloadSAPAseSystemProtectableItem() (*AzureVMWorkloadSAPAseSystemProtectableItem, bool) { - return nil, false -} - -// AsAzureVMWorkloadSAPHanaDatabaseProtectableItem is the BasicWorkloadProtectableItem implementation for IaaSVMProtectableItem. -func (ispi IaaSVMProtectableItem) AsAzureVMWorkloadSAPHanaDatabaseProtectableItem() (*AzureVMWorkloadSAPHanaDatabaseProtectableItem, bool) { - return nil, false -} - -// AsAzureVMWorkloadSAPHanaSystemProtectableItem is the BasicWorkloadProtectableItem implementation for IaaSVMProtectableItem. -func (ispi IaaSVMProtectableItem) AsAzureVMWorkloadSAPHanaSystemProtectableItem() (*AzureVMWorkloadSAPHanaSystemProtectableItem, bool) { - return nil, false -} - -// AsAzureVMWorkloadSQLAvailabilityGroupProtectableItem is the BasicWorkloadProtectableItem implementation for IaaSVMProtectableItem. -func (ispi IaaSVMProtectableItem) AsAzureVMWorkloadSQLAvailabilityGroupProtectableItem() (*AzureVMWorkloadSQLAvailabilityGroupProtectableItem, bool) { - return nil, false -} - -// AsAzureVMWorkloadSQLDatabaseProtectableItem is the BasicWorkloadProtectableItem implementation for IaaSVMProtectableItem. -func (ispi IaaSVMProtectableItem) AsAzureVMWorkloadSQLDatabaseProtectableItem() (*AzureVMWorkloadSQLDatabaseProtectableItem, bool) { - return nil, false -} - -// AsAzureVMWorkloadSQLInstanceProtectableItem is the BasicWorkloadProtectableItem implementation for IaaSVMProtectableItem. -func (ispi IaaSVMProtectableItem) AsAzureVMWorkloadSQLInstanceProtectableItem() (*AzureVMWorkloadSQLInstanceProtectableItem, bool) { - return nil, false -} - -// AsIaaSVMProtectableItem is the BasicWorkloadProtectableItem implementation for IaaSVMProtectableItem. -func (ispi IaaSVMProtectableItem) AsIaaSVMProtectableItem() (*IaaSVMProtectableItem, bool) { - return &ispi, true -} - -// AsBasicIaaSVMProtectableItem is the BasicWorkloadProtectableItem implementation for IaaSVMProtectableItem. -func (ispi IaaSVMProtectableItem) AsBasicIaaSVMProtectableItem() (BasicIaaSVMProtectableItem, bool) { - return &ispi, true -} - -// AsWorkloadProtectableItem is the BasicWorkloadProtectableItem implementation for IaaSVMProtectableItem. -func (ispi IaaSVMProtectableItem) AsWorkloadProtectableItem() (*WorkloadProtectableItem, bool) { - return nil, false -} - -// AsBasicWorkloadProtectableItem is the BasicWorkloadProtectableItem implementation for IaaSVMProtectableItem. -func (ispi IaaSVMProtectableItem) AsBasicWorkloadProtectableItem() (BasicWorkloadProtectableItem, bool) { - return &ispi, true -} - -// IaasVMRecoveryPoint iaaS VM workload specific backup copy. -type IaasVMRecoveryPoint struct { - // RecoveryPointType - Type of the backup copy. - RecoveryPointType *string `json:"recoveryPointType,omitempty"` - // RecoveryPointTime - Time at which this backup copy was created. - RecoveryPointTime *date.Time `json:"recoveryPointTime,omitempty"` - // RecoveryPointAdditionalInfo - Additional information associated with this backup copy. - RecoveryPointAdditionalInfo *string `json:"recoveryPointAdditionalInfo,omitempty"` - // SourceVMStorageType - Storage type of the VM whose backup copy is created. - SourceVMStorageType *string `json:"sourceVMStorageType,omitempty"` - // IsSourceVMEncrypted - Identifies whether the VM was encrypted when the backup copy is created. - IsSourceVMEncrypted *bool `json:"isSourceVMEncrypted,omitempty"` - // KeyAndSecret - Required details for recovering an encrypted VM. Applicable only when IsSourceVMEncrypted is true. - KeyAndSecret *KeyAndSecretDetails `json:"keyAndSecret,omitempty"` - // IsInstantIlrSessionActive - Is the session to recover items from this backup copy still active. - IsInstantIlrSessionActive *bool `json:"isInstantIlrSessionActive,omitempty"` - // RecoveryPointTierDetails - Recovery point tier information. - RecoveryPointTierDetails *[]RecoveryPointTierInformation `json:"recoveryPointTierDetails,omitempty"` - // IsManagedVirtualMachine - Whether VM is with Managed Disks - IsManagedVirtualMachine *bool `json:"isManagedVirtualMachine,omitempty"` - // VirtualMachineSize - Virtual Machine Size - VirtualMachineSize *string `json:"virtualMachineSize,omitempty"` - // OriginalStorageAccountOption - Original Storage Account Option - OriginalStorageAccountOption *bool `json:"originalStorageAccountOption,omitempty"` - // OsType - OS type - OsType *string `json:"osType,omitempty"` - // ObjectType - Possible values include: 'ObjectTypeRecoveryPoint', 'ObjectTypeAzureFileShareRecoveryPoint', 'ObjectTypeAzureWorkloadPointInTimeRecoveryPoint', 'ObjectTypeAzureWorkloadRecoveryPoint', 'ObjectTypeAzureWorkloadSAPHanaPointInTimeRecoveryPoint', 'ObjectTypeAzureWorkloadSAPHanaRecoveryPoint', 'ObjectTypeAzureWorkloadSQLPointInTimeRecoveryPoint', 'ObjectTypeAzureWorkloadSQLRecoveryPoint', 'ObjectTypeGenericRecoveryPoint', 'ObjectTypeIaasVMRecoveryPoint' - ObjectType ObjectTypeBasicRecoveryPoint `json:"objectType,omitempty"` -} - -// MarshalJSON is the custom marshaler for IaasVMRecoveryPoint. -func (ivrp IaasVMRecoveryPoint) MarshalJSON() ([]byte, error) { - ivrp.ObjectType = ObjectTypeIaasVMRecoveryPoint - objectMap := make(map[string]interface{}) - if ivrp.RecoveryPointType != nil { - objectMap["recoveryPointType"] = ivrp.RecoveryPointType - } - if ivrp.RecoveryPointTime != nil { - objectMap["recoveryPointTime"] = ivrp.RecoveryPointTime - } - if ivrp.RecoveryPointAdditionalInfo != nil { - objectMap["recoveryPointAdditionalInfo"] = ivrp.RecoveryPointAdditionalInfo - } - if ivrp.SourceVMStorageType != nil { - objectMap["sourceVMStorageType"] = ivrp.SourceVMStorageType - } - if ivrp.IsSourceVMEncrypted != nil { - objectMap["isSourceVMEncrypted"] = ivrp.IsSourceVMEncrypted - } - if ivrp.KeyAndSecret != nil { - objectMap["keyAndSecret"] = ivrp.KeyAndSecret - } - if ivrp.IsInstantIlrSessionActive != nil { - objectMap["isInstantIlrSessionActive"] = ivrp.IsInstantIlrSessionActive - } - if ivrp.RecoveryPointTierDetails != nil { - objectMap["recoveryPointTierDetails"] = ivrp.RecoveryPointTierDetails - } - if ivrp.IsManagedVirtualMachine != nil { - objectMap["isManagedVirtualMachine"] = ivrp.IsManagedVirtualMachine - } - if ivrp.VirtualMachineSize != nil { - objectMap["virtualMachineSize"] = ivrp.VirtualMachineSize - } - if ivrp.OriginalStorageAccountOption != nil { - objectMap["originalStorageAccountOption"] = ivrp.OriginalStorageAccountOption - } - if ivrp.OsType != nil { - objectMap["osType"] = ivrp.OsType - } - if ivrp.ObjectType != "" { - objectMap["objectType"] = ivrp.ObjectType - } - return json.Marshal(objectMap) -} - -// AsAzureFileShareRecoveryPoint is the BasicRecoveryPoint implementation for IaasVMRecoveryPoint. -func (ivrp IaasVMRecoveryPoint) AsAzureFileShareRecoveryPoint() (*AzureFileShareRecoveryPoint, bool) { - return nil, false -} - -// AsAzureWorkloadPointInTimeRecoveryPoint is the BasicRecoveryPoint implementation for IaasVMRecoveryPoint. -func (ivrp IaasVMRecoveryPoint) AsAzureWorkloadPointInTimeRecoveryPoint() (*AzureWorkloadPointInTimeRecoveryPoint, bool) { - return nil, false -} - -// AsBasicAzureWorkloadPointInTimeRecoveryPoint is the BasicRecoveryPoint implementation for IaasVMRecoveryPoint. -func (ivrp IaasVMRecoveryPoint) AsBasicAzureWorkloadPointInTimeRecoveryPoint() (BasicAzureWorkloadPointInTimeRecoveryPoint, bool) { - return nil, false -} - -// AsAzureWorkloadRecoveryPoint is the BasicRecoveryPoint implementation for IaasVMRecoveryPoint. -func (ivrp IaasVMRecoveryPoint) AsAzureWorkloadRecoveryPoint() (*AzureWorkloadRecoveryPoint, bool) { - return nil, false -} - -// AsBasicAzureWorkloadRecoveryPoint is the BasicRecoveryPoint implementation for IaasVMRecoveryPoint. -func (ivrp IaasVMRecoveryPoint) AsBasicAzureWorkloadRecoveryPoint() (BasicAzureWorkloadRecoveryPoint, bool) { - return nil, false -} - -// AsAzureWorkloadSAPHanaPointInTimeRecoveryPoint is the BasicRecoveryPoint implementation for IaasVMRecoveryPoint. -func (ivrp IaasVMRecoveryPoint) AsAzureWorkloadSAPHanaPointInTimeRecoveryPoint() (*AzureWorkloadSAPHanaPointInTimeRecoveryPoint, bool) { - return nil, false -} - -// AsAzureWorkloadSAPHanaRecoveryPoint is the BasicRecoveryPoint implementation for IaasVMRecoveryPoint. -func (ivrp IaasVMRecoveryPoint) AsAzureWorkloadSAPHanaRecoveryPoint() (*AzureWorkloadSAPHanaRecoveryPoint, bool) { - return nil, false -} - -// AsAzureWorkloadSQLPointInTimeRecoveryPoint is the BasicRecoveryPoint implementation for IaasVMRecoveryPoint. -func (ivrp IaasVMRecoveryPoint) AsAzureWorkloadSQLPointInTimeRecoveryPoint() (*AzureWorkloadSQLPointInTimeRecoveryPoint, bool) { - return nil, false -} - -// AsAzureWorkloadSQLRecoveryPoint is the BasicRecoveryPoint implementation for IaasVMRecoveryPoint. -func (ivrp IaasVMRecoveryPoint) AsAzureWorkloadSQLRecoveryPoint() (*AzureWorkloadSQLRecoveryPoint, bool) { - return nil, false -} - -// AsBasicAzureWorkloadSQLRecoveryPoint is the BasicRecoveryPoint implementation for IaasVMRecoveryPoint. -func (ivrp IaasVMRecoveryPoint) AsBasicAzureWorkloadSQLRecoveryPoint() (BasicAzureWorkloadSQLRecoveryPoint, bool) { - return nil, false -} - -// AsGenericRecoveryPoint is the BasicRecoveryPoint implementation for IaasVMRecoveryPoint. -func (ivrp IaasVMRecoveryPoint) AsGenericRecoveryPoint() (*GenericRecoveryPoint, bool) { - return nil, false -} - -// AsIaasVMRecoveryPoint is the BasicRecoveryPoint implementation for IaasVMRecoveryPoint. -func (ivrp IaasVMRecoveryPoint) AsIaasVMRecoveryPoint() (*IaasVMRecoveryPoint, bool) { - return &ivrp, true -} - -// AsRecoveryPoint is the BasicRecoveryPoint implementation for IaasVMRecoveryPoint. -func (ivrp IaasVMRecoveryPoint) AsRecoveryPoint() (*RecoveryPoint, bool) { - return nil, false -} - -// AsBasicRecoveryPoint is the BasicRecoveryPoint implementation for IaasVMRecoveryPoint. -func (ivrp IaasVMRecoveryPoint) AsBasicRecoveryPoint() (BasicRecoveryPoint, bool) { - return &ivrp, true -} - -// IaasVMRestoreRequest iaaS VM workload-specific restore. -type IaasVMRestoreRequest struct { - // RecoveryPointID - ID of the backup copy to be recovered. - RecoveryPointID *string `json:"recoveryPointId,omitempty"` - // RecoveryType - Type of this recovery. Possible values include: 'RecoveryTypeInvalid', 'RecoveryTypeOriginalLocation', 'RecoveryTypeAlternateLocation', 'RecoveryTypeRestoreDisks' - RecoveryType RecoveryType `json:"recoveryType,omitempty"` - // SourceResourceID - Fully qualified ARM ID of the VM which is being recovered. - SourceResourceID *string `json:"sourceResourceId,omitempty"` - // TargetVirtualMachineID - This is the complete ARM Id of the VM that will be created. - // For e.g. /subscriptions/{subId}/resourcegroups/{rg}/provider/Microsoft.Compute/virtualmachines/{vm} - TargetVirtualMachineID *string `json:"targetVirtualMachineId,omitempty"` - // TargetResourceGroupID - This is the ARM Id of the resource group that you want to create for this Virtual machine and other artifacts. - // For e.g. /subscriptions/{subId}/resourcegroups/{rg} - TargetResourceGroupID *string `json:"targetResourceGroupId,omitempty"` - // StorageAccountID - Fully qualified ARM ID of the storage account to which the VM has to be restored. - StorageAccountID *string `json:"storageAccountId,omitempty"` - // VirtualNetworkID - This is the virtual network Id of the vnet that will be attached to the virtual machine. - // User will be validated for join action permissions in the linked access. - VirtualNetworkID *string `json:"virtualNetworkId,omitempty"` - // SubnetID - Subnet ID, is the subnet ID associated with the to be restored VM. For Classic VMs it would be - // {VnetID}/Subnet/{SubnetName} and, for the Azure Resource Manager VMs it would be ARM resource ID used to represent - // the subnet. - SubnetID *string `json:"subnetId,omitempty"` - // TargetDomainNameID - Fully qualified ARM ID of the domain name to be associated to the VM being restored. This applies only to Classic - // Virtual Machines. - TargetDomainNameID *string `json:"targetDomainNameId,omitempty"` - // Region - Region in which the virtual machine is restored. - Region *string `json:"region,omitempty"` - // AffinityGroup - Affinity group associated to VM to be restored. Used only for Classic Compute Virtual Machines. - AffinityGroup *string `json:"affinityGroup,omitempty"` - // CreateNewCloudService - Should a new cloud service be created while restoring the VM. If this is false, VM will be restored to the same - // cloud service as it was at the time of backup. - CreateNewCloudService *bool `json:"createNewCloudService,omitempty"` - // OriginalStorageAccountOption - Original Storage Account Option - OriginalStorageAccountOption *bool `json:"originalStorageAccountOption,omitempty"` - // EncryptionDetails - Details needed if the VM was encrypted at the time of backup. - EncryptionDetails *EncryptionDetails `json:"encryptionDetails,omitempty"` - // ObjectType - Possible values include: 'ObjectTypeRestoreRequest', 'ObjectTypeAzureFileShareRestoreRequest', 'ObjectTypeAzureWorkloadPointInTimeRestoreRequest', 'ObjectTypeAzureWorkloadRestoreRequest', 'ObjectTypeAzureWorkloadSAPHanaPointInTimeRestoreRequest', 'ObjectTypeAzureWorkloadSAPHanaRestoreRequest', 'ObjectTypeAzureWorkloadSQLPointInTimeRestoreRequest', 'ObjectTypeAzureWorkloadSQLRestoreRequest', 'ObjectTypeIaasVMRestoreRequest' - ObjectType ObjectTypeBasicRestoreRequest `json:"objectType,omitempty"` -} - -// MarshalJSON is the custom marshaler for IaasVMRestoreRequest. -func (ivrr IaasVMRestoreRequest) MarshalJSON() ([]byte, error) { - ivrr.ObjectType = ObjectTypeIaasVMRestoreRequest - objectMap := make(map[string]interface{}) - if ivrr.RecoveryPointID != nil { - objectMap["recoveryPointId"] = ivrr.RecoveryPointID - } - if ivrr.RecoveryType != "" { - objectMap["recoveryType"] = ivrr.RecoveryType - } - if ivrr.SourceResourceID != nil { - objectMap["sourceResourceId"] = ivrr.SourceResourceID - } - if ivrr.TargetVirtualMachineID != nil { - objectMap["targetVirtualMachineId"] = ivrr.TargetVirtualMachineID - } - if ivrr.TargetResourceGroupID != nil { - objectMap["targetResourceGroupId"] = ivrr.TargetResourceGroupID - } - if ivrr.StorageAccountID != nil { - objectMap["storageAccountId"] = ivrr.StorageAccountID - } - if ivrr.VirtualNetworkID != nil { - objectMap["virtualNetworkId"] = ivrr.VirtualNetworkID - } - if ivrr.SubnetID != nil { - objectMap["subnetId"] = ivrr.SubnetID - } - if ivrr.TargetDomainNameID != nil { - objectMap["targetDomainNameId"] = ivrr.TargetDomainNameID - } - if ivrr.Region != nil { - objectMap["region"] = ivrr.Region - } - if ivrr.AffinityGroup != nil { - objectMap["affinityGroup"] = ivrr.AffinityGroup - } - if ivrr.CreateNewCloudService != nil { - objectMap["createNewCloudService"] = ivrr.CreateNewCloudService - } - if ivrr.OriginalStorageAccountOption != nil { - objectMap["originalStorageAccountOption"] = ivrr.OriginalStorageAccountOption - } - if ivrr.EncryptionDetails != nil { - objectMap["encryptionDetails"] = ivrr.EncryptionDetails - } - if ivrr.ObjectType != "" { - objectMap["objectType"] = ivrr.ObjectType - } - return json.Marshal(objectMap) -} - -// AsAzureFileShareRestoreRequest is the BasicRestoreRequest implementation for IaasVMRestoreRequest. -func (ivrr IaasVMRestoreRequest) AsAzureFileShareRestoreRequest() (*AzureFileShareRestoreRequest, bool) { - return nil, false -} - -// AsAzureWorkloadPointInTimeRestoreRequest is the BasicRestoreRequest implementation for IaasVMRestoreRequest. -func (ivrr IaasVMRestoreRequest) AsAzureWorkloadPointInTimeRestoreRequest() (*AzureWorkloadPointInTimeRestoreRequest, bool) { - return nil, false -} - -// AsAzureWorkloadRestoreRequest is the BasicRestoreRequest implementation for IaasVMRestoreRequest. -func (ivrr IaasVMRestoreRequest) AsAzureWorkloadRestoreRequest() (*AzureWorkloadRestoreRequest, bool) { - return nil, false -} - -// AsBasicAzureWorkloadRestoreRequest is the BasicRestoreRequest implementation for IaasVMRestoreRequest. -func (ivrr IaasVMRestoreRequest) AsBasicAzureWorkloadRestoreRequest() (BasicAzureWorkloadRestoreRequest, bool) { - return nil, false -} - -// AsAzureWorkloadSAPHanaPointInTimeRestoreRequest is the BasicRestoreRequest implementation for IaasVMRestoreRequest. -func (ivrr IaasVMRestoreRequest) AsAzureWorkloadSAPHanaPointInTimeRestoreRequest() (*AzureWorkloadSAPHanaPointInTimeRestoreRequest, bool) { - return nil, false -} - -// AsAzureWorkloadSAPHanaRestoreRequest is the BasicRestoreRequest implementation for IaasVMRestoreRequest. -func (ivrr IaasVMRestoreRequest) AsAzureWorkloadSAPHanaRestoreRequest() (*AzureWorkloadSAPHanaRestoreRequest, bool) { - return nil, false -} - -// AsBasicAzureWorkloadSAPHanaRestoreRequest is the BasicRestoreRequest implementation for IaasVMRestoreRequest. -func (ivrr IaasVMRestoreRequest) AsBasicAzureWorkloadSAPHanaRestoreRequest() (BasicAzureWorkloadSAPHanaRestoreRequest, bool) { - return nil, false -} - -// AsAzureWorkloadSQLPointInTimeRestoreRequest is the BasicRestoreRequest implementation for IaasVMRestoreRequest. -func (ivrr IaasVMRestoreRequest) AsAzureWorkloadSQLPointInTimeRestoreRequest() (*AzureWorkloadSQLPointInTimeRestoreRequest, bool) { - return nil, false -} - -// AsAzureWorkloadSQLRestoreRequest is the BasicRestoreRequest implementation for IaasVMRestoreRequest. -func (ivrr IaasVMRestoreRequest) AsAzureWorkloadSQLRestoreRequest() (*AzureWorkloadSQLRestoreRequest, bool) { - return nil, false -} - -// AsBasicAzureWorkloadSQLRestoreRequest is the BasicRestoreRequest implementation for IaasVMRestoreRequest. -func (ivrr IaasVMRestoreRequest) AsBasicAzureWorkloadSQLRestoreRequest() (BasicAzureWorkloadSQLRestoreRequest, bool) { - return nil, false -} - -// AsIaasVMRestoreRequest is the BasicRestoreRequest implementation for IaasVMRestoreRequest. -func (ivrr IaasVMRestoreRequest) AsIaasVMRestoreRequest() (*IaasVMRestoreRequest, bool) { - return &ivrr, true -} - -// AsRestoreRequest is the BasicRestoreRequest implementation for IaasVMRestoreRequest. -func (ivrr IaasVMRestoreRequest) AsRestoreRequest() (*RestoreRequest, bool) { - return nil, false -} - -// AsBasicRestoreRequest is the BasicRestoreRequest implementation for IaasVMRestoreRequest. -func (ivrr IaasVMRestoreRequest) AsBasicRestoreRequest() (BasicRestoreRequest, bool) { - return &ivrr, true -} - -// BasicILRRequest parameters to restore file/folders API. -type BasicILRRequest interface { - AsIaasVMILRRegistrationRequest() (*IaasVMILRRegistrationRequest, bool) - AsILRRequest() (*ILRRequest, bool) -} - -// ILRRequest parameters to restore file/folders API. -type ILRRequest struct { - // ObjectType - Possible values include: 'ObjectTypeILRRequest', 'ObjectTypeIaasVMILRRegistrationRequest' - ObjectType ObjectTypeBasicILRRequest `json:"objectType,omitempty"` -} - -func unmarshalBasicILRRequest(body []byte) (BasicILRRequest, error) { - var m map[string]interface{} - err := json.Unmarshal(body, &m) - if err != nil { - return nil, err - } - - switch m["objectType"] { - case string(ObjectTypeIaasVMILRRegistrationRequest): - var ivrr IaasVMILRRegistrationRequest - err := json.Unmarshal(body, &ivrr) - return ivrr, err - default: - var ir ILRRequest - err := json.Unmarshal(body, &ir) - return ir, err - } -} -func unmarshalBasicILRRequestArray(body []byte) ([]BasicILRRequest, error) { - var rawMessages []*json.RawMessage - err := json.Unmarshal(body, &rawMessages) - if err != nil { - return nil, err - } - - irArray := make([]BasicILRRequest, len(rawMessages)) - - for index, rawMessage := range rawMessages { - ir, err := unmarshalBasicILRRequest(*rawMessage) - if err != nil { - return nil, err - } - irArray[index] = ir - } - return irArray, nil -} - -// MarshalJSON is the custom marshaler for ILRRequest. -func (ir ILRRequest) MarshalJSON() ([]byte, error) { - ir.ObjectType = ObjectTypeILRRequest - objectMap := make(map[string]interface{}) - if ir.ObjectType != "" { - objectMap["objectType"] = ir.ObjectType - } - return json.Marshal(objectMap) -} - -// AsIaasVMILRRegistrationRequest is the BasicILRRequest implementation for ILRRequest. -func (ir ILRRequest) AsIaasVMILRRegistrationRequest() (*IaasVMILRRegistrationRequest, bool) { - return nil, false -} - -// AsILRRequest is the BasicILRRequest implementation for ILRRequest. -func (ir ILRRequest) AsILRRequest() (*ILRRequest, bool) { - return &ir, true -} - -// AsBasicILRRequest is the BasicILRRequest implementation for ILRRequest. -func (ir ILRRequest) AsBasicILRRequest() (BasicILRRequest, bool) { - return &ir, true -} - -// ILRRequestResource parameters to restore file/folders API. -type ILRRequestResource struct { - // Properties - ILRRequestResource properties - Properties BasicILRRequest `json:"properties,omitempty"` - // ID - READ-ONLY; Resource Id represents the complete path to the resource. - ID *string `json:"id,omitempty"` - // Name - READ-ONLY; Resource name associated with the resource. - Name *string `json:"name,omitempty"` - // Type - READ-ONLY; Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/... - Type *string `json:"type,omitempty"` - // Location - Resource location. - Location *string `json:"location,omitempty"` - // Tags - Resource tags. - Tags map[string]*string `json:"tags"` - // ETag - Optional ETag. - ETag *string `json:"eTag,omitempty"` -} - -// MarshalJSON is the custom marshaler for ILRRequestResource. -func (irr ILRRequestResource) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - objectMap["properties"] = irr.Properties - if irr.Location != nil { - objectMap["location"] = irr.Location - } - if irr.Tags != nil { - objectMap["tags"] = irr.Tags - } - if irr.ETag != nil { - objectMap["eTag"] = irr.ETag - } - return json.Marshal(objectMap) -} - -// UnmarshalJSON is the custom unmarshaler for ILRRequestResource struct. -func (irr *ILRRequestResource) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - case "properties": - if v != nil { - properties, err := unmarshalBasicILRRequest(*v) - if err != nil { - return err - } - irr.Properties = properties - } - case "id": - if v != nil { - var ID string - err = json.Unmarshal(*v, &ID) - if err != nil { - return err - } - irr.ID = &ID - } - case "name": - if v != nil { - var name string - err = json.Unmarshal(*v, &name) - if err != nil { - return err - } - irr.Name = &name - } - case "type": - if v != nil { - var typeVar string - err = json.Unmarshal(*v, &typeVar) - if err != nil { - return err - } - irr.Type = &typeVar - } - case "location": - if v != nil { - var location string - err = json.Unmarshal(*v, &location) - if err != nil { - return err - } - irr.Location = &location - } - case "tags": - if v != nil { - var tags map[string]*string - err = json.Unmarshal(*v, &tags) - if err != nil { - return err - } - irr.Tags = tags - } - case "eTag": - if v != nil { - var eTag string - err = json.Unmarshal(*v, &eTag) - if err != nil { - return err - } - irr.ETag = &eTag - } - } - } - - return nil -} - -// InquiryInfo details about inquired protectable items under a given container. -type InquiryInfo struct { - // Status - Inquiry Status for this container such as - // InProgress | Failed | Succeeded - Status *string `json:"status,omitempty"` - // ErrorDetail - Error Details if the Status is non-success. - ErrorDetail *ErrorDetail `json:"errorDetail,omitempty"` - // InquiryDetails - Inquiry Details which will have workload specific details. - // For e.g. - For SQL and oracle this will contain different details. - InquiryDetails *[]WorkloadInquiryDetails `json:"inquiryDetails,omitempty"` -} - -// InquiryValidation validation for inquired protectable items under a given container. -type InquiryValidation struct { - // Status - Status for the Inquiry Validation. - Status *string `json:"status,omitempty"` - // ErrorDetail - Error Detail in case the status is non-success. - ErrorDetail *ErrorDetail `json:"errorDetail,omitempty"` -} - -// InstantItemRecoveryTarget target details for file / folder restore. -type InstantItemRecoveryTarget struct { - // ClientScripts - List of client scripts. - ClientScripts *[]ClientScriptForConnect `json:"clientScripts,omitempty"` -} - -// KEKDetails KEK is encryption key for BEK. -type KEKDetails struct { - // KeyURL - Key is KEK. - KeyURL *string `json:"keyUrl,omitempty"` - // KeyVaultID - Key Vault ID where this Key is stored. - KeyVaultID *string `json:"keyVaultId,omitempty"` - // KeyBackupData - KEK data. - KeyBackupData *string `json:"keyBackupData,omitempty"` -} - -// KeyAndSecretDetails BEK is bitlocker key. -// KEK is encryption key for BEK -// If the VM was encrypted then we will store following details : -// 1. Secret(BEK) - Url + Backup Data + vaultId. -// 2. Key(KEK) - Url + Backup Data + vaultId. -// 3. EncryptionMechanism -// BEK and KEK can potentially have different vault ids. -type KeyAndSecretDetails struct { - // KekDetails - KEK is encryption key for BEK. - KekDetails *KEKDetails `json:"kekDetails,omitempty"` - // BekDetails - BEK is bitlocker encryption key. - BekDetails *BEKDetails `json:"bekDetails,omitempty"` - // EncryptionMechanism - Encryption mechanism: None/ SinglePass/ DoublePass - EncryptionMechanism *string `json:"encryptionMechanism,omitempty"` -} - -// LogSchedulePolicy log policy schedule. -type LogSchedulePolicy struct { - // ScheduleFrequencyInMins - Frequency of the log schedule operation of this policy in minutes. - ScheduleFrequencyInMins *int32 `json:"scheduleFrequencyInMins,omitempty"` - // SchedulePolicyType - Possible values include: 'SchedulePolicyTypeSchedulePolicy', 'SchedulePolicyTypeLogSchedulePolicy', 'SchedulePolicyTypeLongTermSchedulePolicy', 'SchedulePolicyTypeSimpleSchedulePolicy' - SchedulePolicyType SchedulePolicyType `json:"schedulePolicyType,omitempty"` -} - -// MarshalJSON is the custom marshaler for LogSchedulePolicy. -func (lsp LogSchedulePolicy) MarshalJSON() ([]byte, error) { - lsp.SchedulePolicyType = SchedulePolicyTypeLogSchedulePolicy - objectMap := make(map[string]interface{}) - if lsp.ScheduleFrequencyInMins != nil { - objectMap["scheduleFrequencyInMins"] = lsp.ScheduleFrequencyInMins - } - if lsp.SchedulePolicyType != "" { - objectMap["schedulePolicyType"] = lsp.SchedulePolicyType - } - return json.Marshal(objectMap) -} - -// AsLogSchedulePolicy is the BasicSchedulePolicy implementation for LogSchedulePolicy. -func (lsp LogSchedulePolicy) AsLogSchedulePolicy() (*LogSchedulePolicy, bool) { - return &lsp, true -} - -// AsLongTermSchedulePolicy is the BasicSchedulePolicy implementation for LogSchedulePolicy. -func (lsp LogSchedulePolicy) AsLongTermSchedulePolicy() (*LongTermSchedulePolicy, bool) { - return nil, false -} - -// AsSimpleSchedulePolicy is the BasicSchedulePolicy implementation for LogSchedulePolicy. -func (lsp LogSchedulePolicy) AsSimpleSchedulePolicy() (*SimpleSchedulePolicy, bool) { - return nil, false -} - -// AsSchedulePolicy is the BasicSchedulePolicy implementation for LogSchedulePolicy. -func (lsp LogSchedulePolicy) AsSchedulePolicy() (*SchedulePolicy, bool) { - return nil, false -} - -// AsBasicSchedulePolicy is the BasicSchedulePolicy implementation for LogSchedulePolicy. -func (lsp LogSchedulePolicy) AsBasicSchedulePolicy() (BasicSchedulePolicy, bool) { - return &lsp, true -} - -// LongTermRetentionPolicy long term retention policy. -type LongTermRetentionPolicy struct { - // DailySchedule - Daily retention schedule of the protection policy. - DailySchedule *DailyRetentionSchedule `json:"dailySchedule,omitempty"` - // WeeklySchedule - Weekly retention schedule of the protection policy. - WeeklySchedule *WeeklyRetentionSchedule `json:"weeklySchedule,omitempty"` - // MonthlySchedule - Monthly retention schedule of the protection policy. - MonthlySchedule *MonthlyRetentionSchedule `json:"monthlySchedule,omitempty"` - // YearlySchedule - Yearly retention schedule of the protection policy. - YearlySchedule *YearlyRetentionSchedule `json:"yearlySchedule,omitempty"` - // RetentionPolicyType - Possible values include: 'RetentionPolicyTypeRetentionPolicy', 'RetentionPolicyTypeLongTermRetentionPolicy', 'RetentionPolicyTypeSimpleRetentionPolicy' - RetentionPolicyType RetentionPolicyType `json:"retentionPolicyType,omitempty"` -} - -// MarshalJSON is the custom marshaler for LongTermRetentionPolicy. -func (ltrp LongTermRetentionPolicy) MarshalJSON() ([]byte, error) { - ltrp.RetentionPolicyType = RetentionPolicyTypeLongTermRetentionPolicy - objectMap := make(map[string]interface{}) - if ltrp.DailySchedule != nil { - objectMap["dailySchedule"] = ltrp.DailySchedule - } - if ltrp.WeeklySchedule != nil { - objectMap["weeklySchedule"] = ltrp.WeeklySchedule - } - if ltrp.MonthlySchedule != nil { - objectMap["monthlySchedule"] = ltrp.MonthlySchedule - } - if ltrp.YearlySchedule != nil { - objectMap["yearlySchedule"] = ltrp.YearlySchedule - } - if ltrp.RetentionPolicyType != "" { - objectMap["retentionPolicyType"] = ltrp.RetentionPolicyType - } - return json.Marshal(objectMap) -} - -// AsLongTermRetentionPolicy is the BasicRetentionPolicy implementation for LongTermRetentionPolicy. -func (ltrp LongTermRetentionPolicy) AsLongTermRetentionPolicy() (*LongTermRetentionPolicy, bool) { - return <rp, true +// AzureWorkloadContainerExtendedInfo extended information of the container. +type AzureWorkloadContainerExtendedInfo struct { + // HostServerName - Host Os Name in case of Stand Alone and Cluster Name in case of distributed container. + HostServerName *string `json:"hostServerName,omitempty"` + // InquiryInfo - Inquiry Status for the container. + InquiryInfo *InquiryInfo `json:"inquiryInfo,omitempty"` + // NodesList - List of the nodes in case of distributed container. + NodesList *[]DistributedNodesInfo `json:"nodesList,omitempty"` } -// AsSimpleRetentionPolicy is the BasicRetentionPolicy implementation for LongTermRetentionPolicy. -func (ltrp LongTermRetentionPolicy) AsSimpleRetentionPolicy() (*SimpleRetentionPolicy, bool) { - return nil, false +// BMSBackupEngineQueryObject query parameters to fetch list of backup engines. +type BMSBackupEngineQueryObject struct { + // Expand - attribute to add extended info + Expand *string `json:"expand,omitempty"` } -// AsRetentionPolicy is the BasicRetentionPolicy implementation for LongTermRetentionPolicy. -func (ltrp LongTermRetentionPolicy) AsRetentionPolicy() (*RetentionPolicy, bool) { - return nil, false +// BMSBackupEnginesQueryObject query parameters to fetch list of backup engines. +type BMSBackupEnginesQueryObject struct { + // BackupManagementType - Backup management type for the backup engine. Possible values include: 'ManagementTypeInvalid', 'ManagementTypeAzureIaasVM', 'ManagementTypeMAB', 'ManagementTypeDPM', 'ManagementTypeAzureBackupServer', 'ManagementTypeAzureSQL', 'ManagementTypeAzureStorage', 'ManagementTypeAzureWorkload', 'ManagementTypeDefaultBackup' + BackupManagementType ManagementType `json:"backupManagementType,omitempty"` + // FriendlyName - Friendly name of the backup engine. + FriendlyName *string `json:"friendlyName,omitempty"` + // Expand - Attribute to add extended info. + Expand *string `json:"expand,omitempty"` } -// AsBasicRetentionPolicy is the BasicRetentionPolicy implementation for LongTermRetentionPolicy. -func (ltrp LongTermRetentionPolicy) AsBasicRetentionPolicy() (BasicRetentionPolicy, bool) { - return <rp, true +// BMSContainerQueryObject the query filters that can be used with the list containers API. +type BMSContainerQueryObject struct { + // BackupManagementType - Backup management type for this container. Possible values include: 'ManagementTypeInvalid', 'ManagementTypeAzureIaasVM', 'ManagementTypeMAB', 'ManagementTypeDPM', 'ManagementTypeAzureBackupServer', 'ManagementTypeAzureSQL', 'ManagementTypeAzureStorage', 'ManagementTypeAzureWorkload', 'ManagementTypeDefaultBackup' + BackupManagementType ManagementType `json:"backupManagementType,omitempty"` + // ContainerType - Type of container for filter. Possible values include: 'ContainerTypeInvalid', 'ContainerTypeUnknown', 'ContainerTypeIaasVMContainer', 'ContainerTypeIaasVMServiceContainer', 'ContainerTypeDPMContainer', 'ContainerTypeAzureBackupServerContainer', 'ContainerTypeMABContainer', 'ContainerTypeCluster', 'ContainerTypeAzureSQLContainer', 'ContainerTypeWindows', 'ContainerTypeVCenter', 'ContainerTypeVMAppContainer', 'ContainerTypeSQLAGWorkLoadContainer', 'ContainerTypeStorageContainer', 'ContainerTypeGenericContainer' + ContainerType ContainerType `json:"containerType,omitempty"` + // BackupEngineName - Backup engine name + BackupEngineName *string `json:"backupEngineName,omitempty"` + // FabricName - Fabric name for filter + FabricName *string `json:"fabricName,omitempty"` + // Status - Status of registration of this container with the Recovery Services Vault. + Status *string `json:"status,omitempty"` + // FriendlyName - Friendly name of this container. + FriendlyName *string `json:"friendlyName,omitempty"` } -// LongTermSchedulePolicy long term policy schedule. -type LongTermSchedulePolicy struct { - // SchedulePolicyType - Possible values include: 'SchedulePolicyTypeSchedulePolicy', 'SchedulePolicyTypeLogSchedulePolicy', 'SchedulePolicyTypeLongTermSchedulePolicy', 'SchedulePolicyTypeSimpleSchedulePolicy' - SchedulePolicyType SchedulePolicyType `json:"schedulePolicyType,omitempty"` +// BMSContainersInquiryQueryObject the query filters that can be used with the inquire container API. +type BMSContainersInquiryQueryObject struct { + // BackupManagementType - Backup management type for this container. Possible values include: 'ManagementTypeInvalid', 'ManagementTypeAzureIaasVM', 'ManagementTypeMAB', 'ManagementTypeDPM', 'ManagementTypeAzureBackupServer', 'ManagementTypeAzureSQL', 'ManagementTypeAzureStorage', 'ManagementTypeAzureWorkload', 'ManagementTypeDefaultBackup' + BackupManagementType ManagementType `json:"backupManagementType,omitempty"` + // WorkloadType - Workload type for this container. Possible values include: 'WorkloadTypeInvalid', 'WorkloadTypeVM', 'WorkloadTypeFileFolder', 'WorkloadTypeAzureSQLDb', 'WorkloadTypeSQLDB', 'WorkloadTypeExchange', 'WorkloadTypeSharepoint', 'WorkloadTypeVMwareVM', 'WorkloadTypeSystemState', 'WorkloadTypeClient', 'WorkloadTypeGenericDataSource', 'WorkloadTypeSQLDataBase', 'WorkloadTypeAzureFileShare', 'WorkloadTypeSAPHanaDatabase', 'WorkloadTypeSAPAseDatabase' + WorkloadType WorkloadType `json:"workloadType,omitempty"` } -// MarshalJSON is the custom marshaler for LongTermSchedulePolicy. -func (ltsp LongTermSchedulePolicy) MarshalJSON() ([]byte, error) { - ltsp.SchedulePolicyType = SchedulePolicyTypeLongTermSchedulePolicy - objectMap := make(map[string]interface{}) - if ltsp.SchedulePolicyType != "" { - objectMap["schedulePolicyType"] = ltsp.SchedulePolicyType - } - return json.Marshal(objectMap) +// BMSPOQueryObject filters to list items that can be backed up. +type BMSPOQueryObject struct { + // BackupManagementType - Backup management type. Possible values include: 'ManagementTypeInvalid', 'ManagementTypeAzureIaasVM', 'ManagementTypeMAB', 'ManagementTypeDPM', 'ManagementTypeAzureBackupServer', 'ManagementTypeAzureSQL', 'ManagementTypeAzureStorage', 'ManagementTypeAzureWorkload', 'ManagementTypeDefaultBackup' + BackupManagementType ManagementType `json:"backupManagementType,omitempty"` + // WorkloadType - Workload type. Possible values include: 'WorkloadTypeInvalid', 'WorkloadTypeVM', 'WorkloadTypeFileFolder', 'WorkloadTypeAzureSQLDb', 'WorkloadTypeSQLDB', 'WorkloadTypeExchange', 'WorkloadTypeSharepoint', 'WorkloadTypeVMwareVM', 'WorkloadTypeSystemState', 'WorkloadTypeClient', 'WorkloadTypeGenericDataSource', 'WorkloadTypeSQLDataBase', 'WorkloadTypeAzureFileShare', 'WorkloadTypeSAPHanaDatabase', 'WorkloadTypeSAPAseDatabase' + WorkloadType WorkloadType `json:"workloadType,omitempty"` + // ContainerName - Full name of the container whose Protectable Objects should be returned. + ContainerName *string `json:"containerName,omitempty"` + // Status - Backup status query parameter. + Status *string `json:"status,omitempty"` + // FriendlyName - Friendly name. + FriendlyName *string `json:"friendlyName,omitempty"` } -// AsLogSchedulePolicy is the BasicSchedulePolicy implementation for LongTermSchedulePolicy. -func (ltsp LongTermSchedulePolicy) AsLogSchedulePolicy() (*LogSchedulePolicy, bool) { - return nil, false +// BMSRefreshContainersQueryObject the query filters that can be used with the refresh container API. +type BMSRefreshContainersQueryObject struct { + // BackupManagementType - Backup management type for this container. Possible values include: 'ManagementTypeInvalid', 'ManagementTypeAzureIaasVM', 'ManagementTypeMAB', 'ManagementTypeDPM', 'ManagementTypeAzureBackupServer', 'ManagementTypeAzureSQL', 'ManagementTypeAzureStorage', 'ManagementTypeAzureWorkload', 'ManagementTypeDefaultBackup' + BackupManagementType ManagementType `json:"backupManagementType,omitempty"` } -// AsLongTermSchedulePolicy is the BasicSchedulePolicy implementation for LongTermSchedulePolicy. -func (ltsp LongTermSchedulePolicy) AsLongTermSchedulePolicy() (*LongTermSchedulePolicy, bool) { - return <sp, true +// BMSWorkloadItemQueryObject filters to list items that can be backed up. +type BMSWorkloadItemQueryObject struct { + // BackupManagementType - Backup management type. Possible values include: 'ManagementTypeInvalid', 'ManagementTypeAzureIaasVM', 'ManagementTypeMAB', 'ManagementTypeDPM', 'ManagementTypeAzureBackupServer', 'ManagementTypeAzureSQL', 'ManagementTypeAzureStorage', 'ManagementTypeAzureWorkload', 'ManagementTypeDefaultBackup' + BackupManagementType ManagementType `json:"backupManagementType,omitempty"` + // WorkloadItemType - Workload Item type. Possible values include: 'WorkloadItemTypeInvalid', 'WorkloadItemTypeSQLInstance', 'WorkloadItemTypeSQLDataBase', 'WorkloadItemTypeSAPHanaSystem', 'WorkloadItemTypeSAPHanaDatabase', 'WorkloadItemTypeSAPAseSystem', 'WorkloadItemTypeSAPAseDatabase' + WorkloadItemType WorkloadItemType `json:"workloadItemType,omitempty"` + // WorkloadType - Workload type. Possible values include: 'WorkloadTypeInvalid', 'WorkloadTypeVM', 'WorkloadTypeFileFolder', 'WorkloadTypeAzureSQLDb', 'WorkloadTypeSQLDB', 'WorkloadTypeExchange', 'WorkloadTypeSharepoint', 'WorkloadTypeVMwareVM', 'WorkloadTypeSystemState', 'WorkloadTypeClient', 'WorkloadTypeGenericDataSource', 'WorkloadTypeSQLDataBase', 'WorkloadTypeAzureFileShare', 'WorkloadTypeSAPHanaDatabase', 'WorkloadTypeSAPAseDatabase' + WorkloadType WorkloadType `json:"workloadType,omitempty"` + // ProtectionStatus - Backup status query parameter. Possible values include: 'ProtectionStatusInvalid', 'ProtectionStatusNotProtected', 'ProtectionStatusProtecting', 'ProtectionStatusProtected', 'ProtectionStatusProtectionFailed' + ProtectionStatus ProtectionStatus `json:"protectionStatus,omitempty"` } -// AsSimpleSchedulePolicy is the BasicSchedulePolicy implementation for LongTermSchedulePolicy. -func (ltsp LongTermSchedulePolicy) AsSimpleSchedulePolicy() (*SimpleSchedulePolicy, bool) { - return nil, false +// ClientScriptForConnect client script details for file / folder restore. +type ClientScriptForConnect struct { + // ScriptContent - File content of the client script for file / folder restore. + ScriptContent *string `json:"scriptContent,omitempty"` + // ScriptExtension - File extension of the client script for file / folder restore - .ps1 , .sh , etc. + ScriptExtension *string `json:"scriptExtension,omitempty"` + // OsType - OS type - Windows, Linux etc. for which this file / folder restore client script works. + OsType *string `json:"osType,omitempty"` + // URL - URL of Executable from where to source the content. If this is not null then ScriptContent should not be used + URL *string `json:"url,omitempty"` + // ScriptNameSuffix - Mandatory suffix that should be added to the name of script that is given for download to user. + // If its null or empty then , ignore it. + ScriptNameSuffix *string `json:"scriptNameSuffix,omitempty"` } -// AsSchedulePolicy is the BasicSchedulePolicy implementation for LongTermSchedulePolicy. -func (ltsp LongTermSchedulePolicy) AsSchedulePolicy() (*SchedulePolicy, bool) { - return nil, false +// ContainerIdentityInfo container identity information +type ContainerIdentityInfo struct { + // UniqueName - Unique name of the container + UniqueName *string `json:"uniqueName,omitempty"` + // AadTenantID - Protection container identity - AAD Tenant + AadTenantID *string `json:"aadTenantId,omitempty"` + // ServicePrincipalClientID - Protection container identity - AAD Service Principal + ServicePrincipalClientID *string `json:"servicePrincipalClientId,omitempty"` + // Audience - Protection container identity - Audience + Audience *string `json:"audience,omitempty"` } -// AsBasicSchedulePolicy is the BasicSchedulePolicy implementation for LongTermSchedulePolicy. -func (ltsp LongTermSchedulePolicy) AsBasicSchedulePolicy() (BasicSchedulePolicy, bool) { - return <sp, true +// DistributedNodesInfo this is used to represent the various nodes of the distributed container. +type DistributedNodesInfo struct { + // NodeName - Name of the node under a distributed container. + NodeName *string `json:"nodeName,omitempty"` + // Status - Status of this Node. + // Failed | Succeeded + Status *string `json:"status,omitempty"` + // ErrorDetail - Error Details if the Status is non-success. + ErrorDetail *ErrorDetail `json:"errorDetail,omitempty"` } -// MabContainer container with items backed up using MAB backup engine. -type MabContainer struct { - // CanReRegister - Can the container be registered one more time. - CanReRegister *bool `json:"canReRegister,omitempty"` - // ContainerID - ContainerID represents the container. - ContainerID *int64 `json:"containerId,omitempty"` - // ProtectedItemCount - Number of items backed up in this container. - ProtectedItemCount *int64 `json:"protectedItemCount,omitempty"` - // AgentVersion - Agent version of this container. - AgentVersion *string `json:"agentVersion,omitempty"` - // ExtendedInfo - Additional information for this container - ExtendedInfo *MabContainerExtendedInfo `json:"extendedInfo,omitempty"` - // MabContainerHealthDetails - Health details on this mab container. - MabContainerHealthDetails *[]MABContainerHealthDetails `json:"mabContainerHealthDetails,omitempty"` - // ContainerHealthState - Health state of mab container. - ContainerHealthState *string `json:"containerHealthState,omitempty"` - // FriendlyName - Friendly name of the container. +// DpmBackupEngine data Protection Manager (DPM) specific backup engine. +type DpmBackupEngine struct { + // FriendlyName - Friendly name of the backup engine. FriendlyName *string `json:"friendlyName,omitempty"` - // BackupManagementType - Type of backup management for the container. Possible values include: 'ManagementTypeInvalid', 'ManagementTypeAzureIaasVM', 'ManagementTypeMAB', 'ManagementTypeDPM', 'ManagementTypeAzureBackupServer', 'ManagementTypeAzureSQL', 'ManagementTypeAzureStorage', 'ManagementTypeAzureWorkload', 'ManagementTypeDefaultBackup' + // BackupManagementType - Type of backup management for the backup engine. Possible values include: 'ManagementTypeInvalid', 'ManagementTypeAzureIaasVM', 'ManagementTypeMAB', 'ManagementTypeDPM', 'ManagementTypeAzureBackupServer', 'ManagementTypeAzureSQL', 'ManagementTypeAzureStorage', 'ManagementTypeAzureWorkload', 'ManagementTypeDefaultBackup' BackupManagementType ManagementType `json:"backupManagementType,omitempty"` - // RegistrationStatus - Status of registration of the container with the Recovery Services Vault. + // RegistrationStatus - Registration status of the backup engine with the Recovery Services Vault. RegistrationStatus *string `json:"registrationStatus,omitempty"` - // HealthStatus - Status of health of the container. + // BackupEngineState - Status of the backup engine with the Recovery Services Vault. = {Active/Deleting/DeleteFailed} + BackupEngineState *string `json:"backupEngineState,omitempty"` + // HealthStatus - Backup status of the backup engine. HealthStatus *string `json:"healthStatus,omitempty"` - // ContainerType - Possible values include: 'ContainerTypeProtectionContainer', 'ContainerTypeAzureBackupServerContainer1', 'ContainerTypeMicrosoftClassicComputevirtualMachines', 'ContainerTypeMicrosoftComputevirtualMachines', 'ContainerTypeSQLAGWorkLoadContainer1', 'ContainerTypeAzureSQLContainer1', 'ContainerTypeStorageContainer1', 'ContainerTypeVMAppContainer1', 'ContainerTypeAzureWorkloadContainer', 'ContainerTypeDPMContainer1', 'ContainerTypeGenericContainer1', 'ContainerTypeIaaSVMContainer', 'ContainerTypeWindows1' - ContainerType ContainerTypeBasicProtectionContainer `json:"containerType,omitempty"` + // CanReRegister - Flag indicating if the backup engine be registered, once already registered. + CanReRegister *bool `json:"canReRegister,omitempty"` + // BackupEngineID - ID of the backup engine. + BackupEngineID *string `json:"backupEngineId,omitempty"` + // DpmVersion - Backup engine version + DpmVersion *string `json:"dpmVersion,omitempty"` + // AzureBackupAgentVersion - Backup agent version + AzureBackupAgentVersion *string `json:"azureBackupAgentVersion,omitempty"` + // IsAzureBackupAgentUpgradeAvailable - To check if backup agent upgrade available + IsAzureBackupAgentUpgradeAvailable *bool `json:"isAzureBackupAgentUpgradeAvailable,omitempty"` + // IsDpmUpgradeAvailable - To check if backup engine upgrade available + IsDpmUpgradeAvailable *bool `json:"isDpmUpgradeAvailable,omitempty"` + // ExtendedInfo - Extended info of the backupengine + ExtendedInfo *EngineExtendedInfo `json:"extendedInfo,omitempty"` + // BackupEngineType - Possible values include: 'BackupEngineTypeBackupEngineBase', 'BackupEngineTypeAzureBackupServerEngine', 'BackupEngineTypeDpmBackupEngine' + BackupEngineType EngineType `json:"backupEngineType,omitempty"` } -// MarshalJSON is the custom marshaler for MabContainer. -func (mc MabContainer) MarshalJSON() ([]byte, error) { - mc.ContainerType = ContainerTypeWindows1 +// MarshalJSON is the custom marshaler for DpmBackupEngine. +func (dbe DpmBackupEngine) MarshalJSON() ([]byte, error) { + dbe.BackupEngineType = BackupEngineTypeDpmBackupEngine objectMap := make(map[string]interface{}) - if mc.CanReRegister != nil { - objectMap["canReRegister"] = mc.CanReRegister + if dbe.FriendlyName != nil { + objectMap["friendlyName"] = dbe.FriendlyName } - if mc.ContainerID != nil { - objectMap["containerId"] = mc.ContainerID + if dbe.BackupManagementType != "" { + objectMap["backupManagementType"] = dbe.BackupManagementType } - if mc.ProtectedItemCount != nil { - objectMap["protectedItemCount"] = mc.ProtectedItemCount + if dbe.RegistrationStatus != nil { + objectMap["registrationStatus"] = dbe.RegistrationStatus } - if mc.AgentVersion != nil { - objectMap["agentVersion"] = mc.AgentVersion + if dbe.BackupEngineState != nil { + objectMap["backupEngineState"] = dbe.BackupEngineState } - if mc.ExtendedInfo != nil { - objectMap["extendedInfo"] = mc.ExtendedInfo + if dbe.HealthStatus != nil { + objectMap["healthStatus"] = dbe.HealthStatus } - if mc.MabContainerHealthDetails != nil { - objectMap["mabContainerHealthDetails"] = mc.MabContainerHealthDetails + if dbe.CanReRegister != nil { + objectMap["canReRegister"] = dbe.CanReRegister } - if mc.ContainerHealthState != nil { - objectMap["containerHealthState"] = mc.ContainerHealthState + if dbe.BackupEngineID != nil { + objectMap["backupEngineId"] = dbe.BackupEngineID } - if mc.FriendlyName != nil { - objectMap["friendlyName"] = mc.FriendlyName + if dbe.DpmVersion != nil { + objectMap["dpmVersion"] = dbe.DpmVersion } - if mc.BackupManagementType != "" { - objectMap["backupManagementType"] = mc.BackupManagementType + if dbe.AzureBackupAgentVersion != nil { + objectMap["azureBackupAgentVersion"] = dbe.AzureBackupAgentVersion } - if mc.RegistrationStatus != nil { - objectMap["registrationStatus"] = mc.RegistrationStatus + if dbe.IsAzureBackupAgentUpgradeAvailable != nil { + objectMap["isAzureBackupAgentUpgradeAvailable"] = dbe.IsAzureBackupAgentUpgradeAvailable } - if mc.HealthStatus != nil { - objectMap["healthStatus"] = mc.HealthStatus + if dbe.IsDpmUpgradeAvailable != nil { + objectMap["isDpmUpgradeAvailable"] = dbe.IsDpmUpgradeAvailable } - if mc.ContainerType != "" { - objectMap["containerType"] = mc.ContainerType + if dbe.ExtendedInfo != nil { + objectMap["extendedInfo"] = dbe.ExtendedInfo + } + if dbe.BackupEngineType != "" { + objectMap["backupEngineType"] = dbe.BackupEngineType } return json.Marshal(objectMap) } -// AsAzureBackupServerContainer is the BasicProtectionContainer implementation for MabContainer. -func (mc MabContainer) AsAzureBackupServerContainer() (*AzureBackupServerContainer, bool) { - return nil, false -} - -// AsAzureIaaSClassicComputeVMContainer is the BasicProtectionContainer implementation for MabContainer. -func (mc MabContainer) AsAzureIaaSClassicComputeVMContainer() (*AzureIaaSClassicComputeVMContainer, bool) { - return nil, false -} - -// AsAzureIaaSComputeVMContainer is the BasicProtectionContainer implementation for MabContainer. -func (mc MabContainer) AsAzureIaaSComputeVMContainer() (*AzureIaaSComputeVMContainer, bool) { - return nil, false -} - -// AsAzureSQLAGWorkloadContainerProtectionContainer is the BasicProtectionContainer implementation for MabContainer. -func (mc MabContainer) AsAzureSQLAGWorkloadContainerProtectionContainer() (*AzureSQLAGWorkloadContainerProtectionContainer, bool) { - return nil, false -} - -// AsAzureSQLContainer is the BasicProtectionContainer implementation for MabContainer. -func (mc MabContainer) AsAzureSQLContainer() (*AzureSQLContainer, bool) { - return nil, false -} - -// AsAzureStorageContainer is the BasicProtectionContainer implementation for MabContainer. -func (mc MabContainer) AsAzureStorageContainer() (*AzureStorageContainer, bool) { - return nil, false -} - -// AsAzureVMAppContainerProtectionContainer is the BasicProtectionContainer implementation for MabContainer. -func (mc MabContainer) AsAzureVMAppContainerProtectionContainer() (*AzureVMAppContainerProtectionContainer, bool) { - return nil, false -} - -// AsAzureWorkloadContainer is the BasicProtectionContainer implementation for MabContainer. -func (mc MabContainer) AsAzureWorkloadContainer() (*AzureWorkloadContainer, bool) { - return nil, false -} - -// AsBasicAzureWorkloadContainer is the BasicProtectionContainer implementation for MabContainer. -func (mc MabContainer) AsBasicAzureWorkloadContainer() (BasicAzureWorkloadContainer, bool) { - return nil, false -} - -// AsDpmContainer is the BasicProtectionContainer implementation for MabContainer. -func (mc MabContainer) AsDpmContainer() (*DpmContainer, bool) { +// AsAzureBackupServerEngine is the BasicEngineBase implementation for DpmBackupEngine. +func (dbe DpmBackupEngine) AsAzureBackupServerEngine() (*AzureBackupServerEngine, bool) { return nil, false } -// AsBasicDpmContainer is the BasicProtectionContainer implementation for MabContainer. -func (mc MabContainer) AsBasicDpmContainer() (BasicDpmContainer, bool) { - return nil, false +// AsDpmBackupEngine is the BasicEngineBase implementation for DpmBackupEngine. +func (dbe DpmBackupEngine) AsDpmBackupEngine() (*DpmBackupEngine, bool) { + return &dbe, true } -// AsGenericContainer is the BasicProtectionContainer implementation for MabContainer. -func (mc MabContainer) AsGenericContainer() (*GenericContainer, bool) { +// AsEngineBase is the BasicEngineBase implementation for DpmBackupEngine. +func (dbe DpmBackupEngine) AsEngineBase() (*EngineBase, bool) { return nil, false } -// AsIaaSVMContainer is the BasicProtectionContainer implementation for MabContainer. -func (mc MabContainer) AsIaaSVMContainer() (*IaaSVMContainer, bool) { - return nil, false +// AsBasicEngineBase is the BasicEngineBase implementation for DpmBackupEngine. +func (dbe DpmBackupEngine) AsBasicEngineBase() (BasicEngineBase, bool) { + return &dbe, true } -// AsBasicIaaSVMContainer is the BasicProtectionContainer implementation for MabContainer. -func (mc MabContainer) AsBasicIaaSVMContainer() (BasicIaaSVMContainer, bool) { - return nil, false +// BasicDpmContainer DPM workload-specific protection container. +type BasicDpmContainer interface { + AsAzureBackupServerContainer() (*AzureBackupServerContainer, bool) + AsDpmContainer() (*DpmContainer, bool) } -// AsMabContainer is the BasicProtectionContainer implementation for MabContainer. -func (mc MabContainer) AsMabContainer() (*MabContainer, bool) { - return &mc, true +// DpmContainer DPM workload-specific protection container. +type DpmContainer struct { + // CanReRegister - Specifies whether the container is re-registrable. + CanReRegister *bool `json:"canReRegister,omitempty"` + // ContainerID - ID of container. + ContainerID *string `json:"containerId,omitempty"` + // ProtectedItemCount - Number of protected items in the BackupEngine + ProtectedItemCount *int64 `json:"protectedItemCount,omitempty"` + // DpmAgentVersion - Backup engine Agent version + DpmAgentVersion *string `json:"dpmAgentVersion,omitempty"` + // DpmServers - List of BackupEngines protecting the container + DpmServers *[]string `json:"dpmServers,omitempty"` + // UpgradeAvailable - To check if upgrade available + UpgradeAvailable *bool `json:"upgradeAvailable,omitempty"` + // ProtectionStatus - Protection status of the container. + ProtectionStatus *string `json:"protectionStatus,omitempty"` + // ExtendedInfo - Extended Info of the container. + ExtendedInfo *DPMContainerExtendedInfo `json:"extendedInfo,omitempty"` + // FriendlyName - Friendly name of the container. + FriendlyName *string `json:"friendlyName,omitempty"` + // BackupManagementType - Type of backup management for the container. Possible values include: 'ManagementTypeInvalid', 'ManagementTypeAzureIaasVM', 'ManagementTypeMAB', 'ManagementTypeDPM', 'ManagementTypeAzureBackupServer', 'ManagementTypeAzureSQL', 'ManagementTypeAzureStorage', 'ManagementTypeAzureWorkload', 'ManagementTypeDefaultBackup' + BackupManagementType ManagementType `json:"backupManagementType,omitempty"` + // RegistrationStatus - Status of registration of the container with the Recovery Services Vault. + RegistrationStatus *string `json:"registrationStatus,omitempty"` + // HealthStatus - Status of health of the container. + HealthStatus *string `json:"healthStatus,omitempty"` + // ContainerType - Possible values include: 'ContainerTypeProtectionContainer', 'ContainerTypeAzureBackupServerContainer1', 'ContainerTypeMicrosoftClassicComputevirtualMachines', 'ContainerTypeMicrosoftComputevirtualMachines', 'ContainerTypeSQLAGWorkLoadContainer1', 'ContainerTypeAzureSQLContainer1', 'ContainerTypeStorageContainer1', 'ContainerTypeVMAppContainer1', 'ContainerTypeAzureWorkloadContainer', 'ContainerTypeDPMContainer1', 'ContainerTypeGenericContainer1', 'ContainerTypeIaaSVMContainer', 'ContainerTypeWindows1' + ContainerType ContainerTypeBasicProtectionContainer `json:"containerType,omitempty"` } -// AsProtectionContainer is the BasicProtectionContainer implementation for MabContainer. -func (mc MabContainer) AsProtectionContainer() (*ProtectionContainer, bool) { - return nil, false -} +func unmarshalBasicDpmContainer(body []byte) (BasicDpmContainer, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } -// AsBasicProtectionContainer is the BasicProtectionContainer implementation for MabContainer. -func (mc MabContainer) AsBasicProtectionContainer() (BasicProtectionContainer, bool) { - return &mc, true + switch m["containerType"] { + case string(ContainerTypeAzureBackupServerContainer1): + var absc AzureBackupServerContainer + err := json.Unmarshal(body, &absc) + return absc, err + default: + var dc DpmContainer + err := json.Unmarshal(body, &dc) + return dc, err + } } +func unmarshalBasicDpmContainerArray(body []byte) ([]BasicDpmContainer, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } -// MabContainerExtendedInfo additional information of the container. -type MabContainerExtendedInfo struct { - // LastRefreshedAt - Time stamp when this container was refreshed. - LastRefreshedAt *date.Time `json:"lastRefreshedAt,omitempty"` - // BackupItemType - Type of backup items associated with this container. Possible values include: 'ItemTypeInvalid', 'ItemTypeVM', 'ItemTypeFileFolder', 'ItemTypeAzureSQLDb', 'ItemTypeSQLDB', 'ItemTypeExchange', 'ItemTypeSharepoint', 'ItemTypeVMwareVM', 'ItemTypeSystemState', 'ItemTypeClient', 'ItemTypeGenericDataSource', 'ItemTypeSQLDataBase', 'ItemTypeAzureFileShare', 'ItemTypeSAPHanaDatabase', 'ItemTypeSAPAseDatabase' - BackupItemType ItemType `json:"backupItemType,omitempty"` - // BackupItems - List of backup items associated with this container. - BackupItems *[]string `json:"backupItems,omitempty"` - // PolicyName - Backup policy associated with this container. - PolicyName *string `json:"policyName,omitempty"` - // LastBackupStatus - Latest backup status of this container. - LastBackupStatus *string `json:"lastBackupStatus,omitempty"` -} + dcArray := make([]BasicDpmContainer, len(rawMessages)) -// MABContainerHealthDetails MAB workload-specific Health Details. -type MABContainerHealthDetails struct { - // Code - Health Code - Code *int32 `json:"code,omitempty"` - // Title - Health Title - Title *string `json:"title,omitempty"` - // Message - Health Message - Message *string `json:"message,omitempty"` - // Recommendations - Health Recommended Actions - Recommendations *[]string `json:"recommendations,omitempty"` + for index, rawMessage := range rawMessages { + dc, err := unmarshalBasicDpmContainer(*rawMessage) + if err != nil { + return nil, err + } + dcArray[index] = dc + } + return dcArray, nil } -// MabFileFolderProtectedItem MAB workload-specific backup item. -type MabFileFolderProtectedItem struct { - // FriendlyName - Friendly name of this backup item. - FriendlyName *string `json:"friendlyName,omitempty"` - // ComputerName - Name of the computer associated with this backup item. - ComputerName *string `json:"computerName,omitempty"` - // LastBackupStatus - Status of last backup operation. - LastBackupStatus *string `json:"lastBackupStatus,omitempty"` - // ProtectionState - Protected, ProtectionStopped, IRPending or ProtectionError - ProtectionState *string `json:"protectionState,omitempty"` - // DeferredDeleteSyncTimeInUTC - Sync time for deferred deletion. - DeferredDeleteSyncTimeInUTC *int64 `json:"deferredDeleteSyncTimeInUTC,omitempty"` - // ExtendedInfo - Additional information with this backup item. - ExtendedInfo *MabFileFolderProtectedItemExtendedInfo `json:"extendedInfo,omitempty"` - // BackupManagementType - Type of backup management for the backed up item. Possible values include: 'ManagementTypeInvalid', 'ManagementTypeAzureIaasVM', 'ManagementTypeMAB', 'ManagementTypeDPM', 'ManagementTypeAzureBackupServer', 'ManagementTypeAzureSQL', 'ManagementTypeAzureStorage', 'ManagementTypeAzureWorkload', 'ManagementTypeDefaultBackup' - BackupManagementType ManagementType `json:"backupManagementType,omitempty"` - // WorkloadType - Type of workload this item represents. Possible values include: 'DataSourceTypeInvalid', 'DataSourceTypeVM', 'DataSourceTypeFileFolder', 'DataSourceTypeAzureSQLDb', 'DataSourceTypeSQLDB', 'DataSourceTypeExchange', 'DataSourceTypeSharepoint', 'DataSourceTypeVMwareVM', 'DataSourceTypeSystemState', 'DataSourceTypeClient', 'DataSourceTypeGenericDataSource', 'DataSourceTypeSQLDataBase', 'DataSourceTypeAzureFileShare', 'DataSourceTypeSAPHanaDatabase', 'DataSourceTypeSAPAseDatabase' - WorkloadType DataSourceType `json:"workloadType,omitempty"` - // ContainerName - Unique name of container - ContainerName *string `json:"containerName,omitempty"` - // SourceResourceID - ARM ID of the resource to be backed up. - SourceResourceID *string `json:"sourceResourceId,omitempty"` - // PolicyID - ID of the backup policy with which this item is backed up. - PolicyID *string `json:"policyId,omitempty"` - // LastRecoveryPoint - Timestamp when the last (latest) backup copy was created for this backup item. - LastRecoveryPoint *date.Time `json:"lastRecoveryPoint,omitempty"` - // BackupSetName - Name of the backup set the backup item belongs to - BackupSetName *string `json:"backupSetName,omitempty"` - // CreateMode - Create mode to indicate recovery of existing soft deleted data source or creation of new data source. Possible values include: 'CreateModeInvalid', 'CreateModeDefault', 'CreateModeRecover' - CreateMode CreateMode `json:"createMode,omitempty"` - // DeferredDeleteTimeInUTC - Time for deferred deletion in UTC - DeferredDeleteTimeInUTC *date.Time `json:"deferredDeleteTimeInUTC,omitempty"` - // IsScheduledForDeferredDelete - Flag to identify whether the DS is scheduled for deferred delete - IsScheduledForDeferredDelete *bool `json:"isScheduledForDeferredDelete,omitempty"` - // DeferredDeleteTimeRemaining - Time remaining before the DS marked for deferred delete is permanently deleted - DeferredDeleteTimeRemaining *string `json:"deferredDeleteTimeRemaining,omitempty"` - // IsDeferredDeleteScheduleUpcoming - Flag to identify whether the deferred deleted DS is to be purged soon - IsDeferredDeleteScheduleUpcoming *bool `json:"isDeferredDeleteScheduleUpcoming,omitempty"` - // IsRehydrate - Flag to identify that deferred deleted DS is to be moved into Pause state - IsRehydrate *bool `json:"isRehydrate,omitempty"` - // ProtectedItemType - Possible values include: 'ProtectedItemTypeProtectedItem', 'ProtectedItemTypeAzureFileShareProtectedItem', 'ProtectedItemTypeMicrosoftClassicComputevirtualMachines', 'ProtectedItemTypeMicrosoftComputevirtualMachines', 'ProtectedItemTypeAzureIaaSVMProtectedItem', 'ProtectedItemTypeMicrosoftSqlserversdatabases', 'ProtectedItemTypeAzureVMWorkloadProtectedItem', 'ProtectedItemTypeAzureVMWorkloadSAPAseDatabase', 'ProtectedItemTypeAzureVMWorkloadSAPHanaDatabase', 'ProtectedItemTypeAzureVMWorkloadSQLDatabase', 'ProtectedItemTypeDPMProtectedItem', 'ProtectedItemTypeGenericProtectedItem', 'ProtectedItemTypeMabFileFolderProtectedItem' - ProtectedItemType ProtectedItemType `json:"protectedItemType,omitempty"` -} - -// MarshalJSON is the custom marshaler for MabFileFolderProtectedItem. -func (mffpi MabFileFolderProtectedItem) MarshalJSON() ([]byte, error) { - mffpi.ProtectedItemType = ProtectedItemTypeMabFileFolderProtectedItem +// MarshalJSON is the custom marshaler for DpmContainer. +func (dc DpmContainer) MarshalJSON() ([]byte, error) { + dc.ContainerType = ContainerTypeDPMContainer1 objectMap := make(map[string]interface{}) - if mffpi.FriendlyName != nil { - objectMap["friendlyName"] = mffpi.FriendlyName - } - if mffpi.ComputerName != nil { - objectMap["computerName"] = mffpi.ComputerName - } - if mffpi.LastBackupStatus != nil { - objectMap["lastBackupStatus"] = mffpi.LastBackupStatus - } - if mffpi.ProtectionState != nil { - objectMap["protectionState"] = mffpi.ProtectionState - } - if mffpi.DeferredDeleteSyncTimeInUTC != nil { - objectMap["deferredDeleteSyncTimeInUTC"] = mffpi.DeferredDeleteSyncTimeInUTC - } - if mffpi.ExtendedInfo != nil { - objectMap["extendedInfo"] = mffpi.ExtendedInfo - } - if mffpi.BackupManagementType != "" { - objectMap["backupManagementType"] = mffpi.BackupManagementType - } - if mffpi.WorkloadType != "" { - objectMap["workloadType"] = mffpi.WorkloadType + if dc.CanReRegister != nil { + objectMap["canReRegister"] = dc.CanReRegister } - if mffpi.ContainerName != nil { - objectMap["containerName"] = mffpi.ContainerName + if dc.ContainerID != nil { + objectMap["containerId"] = dc.ContainerID } - if mffpi.SourceResourceID != nil { - objectMap["sourceResourceId"] = mffpi.SourceResourceID + if dc.ProtectedItemCount != nil { + objectMap["protectedItemCount"] = dc.ProtectedItemCount } - if mffpi.PolicyID != nil { - objectMap["policyId"] = mffpi.PolicyID + if dc.DpmAgentVersion != nil { + objectMap["dpmAgentVersion"] = dc.DpmAgentVersion } - if mffpi.LastRecoveryPoint != nil { - objectMap["lastRecoveryPoint"] = mffpi.LastRecoveryPoint + if dc.DpmServers != nil { + objectMap["dpmServers"] = dc.DpmServers } - if mffpi.BackupSetName != nil { - objectMap["backupSetName"] = mffpi.BackupSetName + if dc.UpgradeAvailable != nil { + objectMap["upgradeAvailable"] = dc.UpgradeAvailable } - if mffpi.CreateMode != "" { - objectMap["createMode"] = mffpi.CreateMode + if dc.ProtectionStatus != nil { + objectMap["protectionStatus"] = dc.ProtectionStatus } - if mffpi.DeferredDeleteTimeInUTC != nil { - objectMap["deferredDeleteTimeInUTC"] = mffpi.DeferredDeleteTimeInUTC + if dc.ExtendedInfo != nil { + objectMap["extendedInfo"] = dc.ExtendedInfo } - if mffpi.IsScheduledForDeferredDelete != nil { - objectMap["isScheduledForDeferredDelete"] = mffpi.IsScheduledForDeferredDelete + if dc.FriendlyName != nil { + objectMap["friendlyName"] = dc.FriendlyName } - if mffpi.DeferredDeleteTimeRemaining != nil { - objectMap["deferredDeleteTimeRemaining"] = mffpi.DeferredDeleteTimeRemaining + if dc.BackupManagementType != "" { + objectMap["backupManagementType"] = dc.BackupManagementType } - if mffpi.IsDeferredDeleteScheduleUpcoming != nil { - objectMap["isDeferredDeleteScheduleUpcoming"] = mffpi.IsDeferredDeleteScheduleUpcoming + if dc.RegistrationStatus != nil { + objectMap["registrationStatus"] = dc.RegistrationStatus } - if mffpi.IsRehydrate != nil { - objectMap["isRehydrate"] = mffpi.IsRehydrate + if dc.HealthStatus != nil { + objectMap["healthStatus"] = dc.HealthStatus } - if mffpi.ProtectedItemType != "" { - objectMap["protectedItemType"] = mffpi.ProtectedItemType + if dc.ContainerType != "" { + objectMap["containerType"] = dc.ContainerType } return json.Marshal(objectMap) } -// AsAzureFileshareProtectedItem is the BasicProtectedItem implementation for MabFileFolderProtectedItem. -func (mffpi MabFileFolderProtectedItem) AsAzureFileshareProtectedItem() (*AzureFileshareProtectedItem, bool) { +// AsAzureBackupServerContainer is the BasicProtectionContainer implementation for DpmContainer. +func (dc DpmContainer) AsAzureBackupServerContainer() (*AzureBackupServerContainer, bool) { return nil, false } -// AsAzureIaaSClassicComputeVMProtectedItem is the BasicProtectedItem implementation for MabFileFolderProtectedItem. -func (mffpi MabFileFolderProtectedItem) AsAzureIaaSClassicComputeVMProtectedItem() (*AzureIaaSClassicComputeVMProtectedItem, bool) { +// AsAzureIaaSClassicComputeVMContainer is the BasicProtectionContainer implementation for DpmContainer. +func (dc DpmContainer) AsAzureIaaSClassicComputeVMContainer() (*AzureIaaSClassicComputeVMContainer, bool) { return nil, false } -// AsAzureIaaSComputeVMProtectedItem is the BasicProtectedItem implementation for MabFileFolderProtectedItem. -func (mffpi MabFileFolderProtectedItem) AsAzureIaaSComputeVMProtectedItem() (*AzureIaaSComputeVMProtectedItem, bool) { +// AsAzureIaaSComputeVMContainer is the BasicProtectionContainer implementation for DpmContainer. +func (dc DpmContainer) AsAzureIaaSComputeVMContainer() (*AzureIaaSComputeVMContainer, bool) { return nil, false } -// AsAzureIaaSVMProtectedItem is the BasicProtectedItem implementation for MabFileFolderProtectedItem. -func (mffpi MabFileFolderProtectedItem) AsAzureIaaSVMProtectedItem() (*AzureIaaSVMProtectedItem, bool) { +// AsAzureSQLAGWorkloadContainerProtectionContainer is the BasicProtectionContainer implementation for DpmContainer. +func (dc DpmContainer) AsAzureSQLAGWorkloadContainerProtectionContainer() (*AzureSQLAGWorkloadContainerProtectionContainer, bool) { return nil, false } -// AsBasicAzureIaaSVMProtectedItem is the BasicProtectedItem implementation for MabFileFolderProtectedItem. -func (mffpi MabFileFolderProtectedItem) AsBasicAzureIaaSVMProtectedItem() (BasicAzureIaaSVMProtectedItem, bool) { +// AsAzureSQLContainer is the BasicProtectionContainer implementation for DpmContainer. +func (dc DpmContainer) AsAzureSQLContainer() (*AzureSQLContainer, bool) { return nil, false } -// AsAzureSQLProtectedItem is the BasicProtectedItem implementation for MabFileFolderProtectedItem. -func (mffpi MabFileFolderProtectedItem) AsAzureSQLProtectedItem() (*AzureSQLProtectedItem, bool) { +// AsAzureStorageContainer is the BasicProtectionContainer implementation for DpmContainer. +func (dc DpmContainer) AsAzureStorageContainer() (*AzureStorageContainer, bool) { return nil, false } -// AsAzureVMWorkloadProtectedItem is the BasicProtectedItem implementation for MabFileFolderProtectedItem. -func (mffpi MabFileFolderProtectedItem) AsAzureVMWorkloadProtectedItem() (*AzureVMWorkloadProtectedItem, bool) { +// AsAzureVMAppContainerProtectionContainer is the BasicProtectionContainer implementation for DpmContainer. +func (dc DpmContainer) AsAzureVMAppContainerProtectionContainer() (*AzureVMAppContainerProtectionContainer, bool) { return nil, false } -// AsBasicAzureVMWorkloadProtectedItem is the BasicProtectedItem implementation for MabFileFolderProtectedItem. -func (mffpi MabFileFolderProtectedItem) AsBasicAzureVMWorkloadProtectedItem() (BasicAzureVMWorkloadProtectedItem, bool) { +// AsAzureWorkloadContainer is the BasicProtectionContainer implementation for DpmContainer. +func (dc DpmContainer) AsAzureWorkloadContainer() (*AzureWorkloadContainer, bool) { return nil, false } -// AsAzureVMWorkloadSAPAseDatabaseProtectedItem is the BasicProtectedItem implementation for MabFileFolderProtectedItem. -func (mffpi MabFileFolderProtectedItem) AsAzureVMWorkloadSAPAseDatabaseProtectedItem() (*AzureVMWorkloadSAPAseDatabaseProtectedItem, bool) { +// AsBasicAzureWorkloadContainer is the BasicProtectionContainer implementation for DpmContainer. +func (dc DpmContainer) AsBasicAzureWorkloadContainer() (BasicAzureWorkloadContainer, bool) { return nil, false } -// AsAzureVMWorkloadSAPHanaDatabaseProtectedItem is the BasicProtectedItem implementation for MabFileFolderProtectedItem. -func (mffpi MabFileFolderProtectedItem) AsAzureVMWorkloadSAPHanaDatabaseProtectedItem() (*AzureVMWorkloadSAPHanaDatabaseProtectedItem, bool) { - return nil, false +// AsDpmContainer is the BasicProtectionContainer implementation for DpmContainer. +func (dc DpmContainer) AsDpmContainer() (*DpmContainer, bool) { + return &dc, true +} + +// AsBasicDpmContainer is the BasicProtectionContainer implementation for DpmContainer. +func (dc DpmContainer) AsBasicDpmContainer() (BasicDpmContainer, bool) { + return &dc, true } -// AsAzureVMWorkloadSQLDatabaseProtectedItem is the BasicProtectedItem implementation for MabFileFolderProtectedItem. -func (mffpi MabFileFolderProtectedItem) AsAzureVMWorkloadSQLDatabaseProtectedItem() (*AzureVMWorkloadSQLDatabaseProtectedItem, bool) { +// AsGenericContainer is the BasicProtectionContainer implementation for DpmContainer. +func (dc DpmContainer) AsGenericContainer() (*GenericContainer, bool) { return nil, false } -// AsDPMProtectedItem is the BasicProtectedItem implementation for MabFileFolderProtectedItem. -func (mffpi MabFileFolderProtectedItem) AsDPMProtectedItem() (*DPMProtectedItem, bool) { +// AsIaaSVMContainer is the BasicProtectionContainer implementation for DpmContainer. +func (dc DpmContainer) AsIaaSVMContainer() (*IaaSVMContainer, bool) { return nil, false } -// AsGenericProtectedItem is the BasicProtectedItem implementation for MabFileFolderProtectedItem. -func (mffpi MabFileFolderProtectedItem) AsGenericProtectedItem() (*GenericProtectedItem, bool) { +// AsBasicIaaSVMContainer is the BasicProtectionContainer implementation for DpmContainer. +func (dc DpmContainer) AsBasicIaaSVMContainer() (BasicIaaSVMContainer, bool) { return nil, false } -// AsMabFileFolderProtectedItem is the BasicProtectedItem implementation for MabFileFolderProtectedItem. -func (mffpi MabFileFolderProtectedItem) AsMabFileFolderProtectedItem() (*MabFileFolderProtectedItem, bool) { - return &mffpi, true +// AsMabContainer is the BasicProtectionContainer implementation for DpmContainer. +func (dc DpmContainer) AsMabContainer() (*MabContainer, bool) { + return nil, false } -// AsProtectedItem is the BasicProtectedItem implementation for MabFileFolderProtectedItem. -func (mffpi MabFileFolderProtectedItem) AsProtectedItem() (*ProtectedItem, bool) { +// AsProtectionContainer is the BasicProtectionContainer implementation for DpmContainer. +func (dc DpmContainer) AsProtectionContainer() (*ProtectionContainer, bool) { return nil, false } -// AsBasicProtectedItem is the BasicProtectedItem implementation for MabFileFolderProtectedItem. -func (mffpi MabFileFolderProtectedItem) AsBasicProtectedItem() (BasicProtectedItem, bool) { - return &mffpi, true +// AsBasicProtectionContainer is the BasicProtectionContainer implementation for DpmContainer. +func (dc DpmContainer) AsBasicProtectionContainer() (BasicProtectionContainer, bool) { + return &dc, true } -// MabFileFolderProtectedItemExtendedInfo additional information on the backed up item. -type MabFileFolderProtectedItemExtendedInfo struct { - // LastRefreshedAt - Last time when the agent data synced to service. +// DPMContainerExtendedInfo additional information of the DPMContainer. +type DPMContainerExtendedInfo struct { + // LastRefreshedAt - Last refresh time of the DPMContainer. LastRefreshedAt *date.Time `json:"lastRefreshedAt,omitempty"` - // OldestRecoveryPoint - The oldest backup copy available. - OldestRecoveryPoint *date.Time `json:"oldestRecoveryPoint,omitempty"` - // RecoveryPointCount - Number of backup copies associated with the backup item. - RecoveryPointCount *int32 `json:"recoveryPointCount,omitempty"` -} - -// MabProtectionPolicy mab container-specific backup policy. -type MabProtectionPolicy struct { - // SchedulePolicy - Backup schedule of backup policy. - SchedulePolicy BasicSchedulePolicy `json:"schedulePolicy,omitempty"` - // RetentionPolicy - Retention policy details. - RetentionPolicy BasicRetentionPolicy `json:"retentionPolicy,omitempty"` - // ProtectedItemsCount - Number of items associated with this policy. - ProtectedItemsCount *int32 `json:"protectedItemsCount,omitempty"` - // BackupManagementType - Possible values include: 'BackupManagementTypeProtectionPolicy', 'BackupManagementTypeAzureStorage', 'BackupManagementTypeAzureIaasVM', 'BackupManagementTypeAzureSQL', 'BackupManagementTypeAzureWorkload', 'BackupManagementTypeGenericProtectionPolicy', 'BackupManagementTypeMAB' - BackupManagementType ManagementTypeBasicProtectionPolicy `json:"backupManagementType,omitempty"` } -// MarshalJSON is the custom marshaler for MabProtectionPolicy. -func (mpp MabProtectionPolicy) MarshalJSON() ([]byte, error) { - mpp.BackupManagementType = BackupManagementTypeMAB - objectMap := make(map[string]interface{}) - objectMap["schedulePolicy"] = mpp.SchedulePolicy - objectMap["retentionPolicy"] = mpp.RetentionPolicy - if mpp.ProtectedItemsCount != nil { - objectMap["protectedItemsCount"] = mpp.ProtectedItemsCount - } - if mpp.BackupManagementType != "" { - objectMap["backupManagementType"] = mpp.BackupManagementType - } - return json.Marshal(objectMap) +// BasicEngineBase the base backup engine class. All workload specific backup engines derive from this class. +type BasicEngineBase interface { + AsAzureBackupServerEngine() (*AzureBackupServerEngine, bool) + AsDpmBackupEngine() (*DpmBackupEngine, bool) + AsEngineBase() (*EngineBase, bool) } -// AsAzureFileShareProtectionPolicy is the BasicProtectionPolicy implementation for MabProtectionPolicy. -func (mpp MabProtectionPolicy) AsAzureFileShareProtectionPolicy() (*AzureFileShareProtectionPolicy, bool) { - return nil, false +// EngineBase the base backup engine class. All workload specific backup engines derive from this class. +type EngineBase struct { + // FriendlyName - Friendly name of the backup engine. + FriendlyName *string `json:"friendlyName,omitempty"` + // BackupManagementType - Type of backup management for the backup engine. Possible values include: 'ManagementTypeInvalid', 'ManagementTypeAzureIaasVM', 'ManagementTypeMAB', 'ManagementTypeDPM', 'ManagementTypeAzureBackupServer', 'ManagementTypeAzureSQL', 'ManagementTypeAzureStorage', 'ManagementTypeAzureWorkload', 'ManagementTypeDefaultBackup' + BackupManagementType ManagementType `json:"backupManagementType,omitempty"` + // RegistrationStatus - Registration status of the backup engine with the Recovery Services Vault. + RegistrationStatus *string `json:"registrationStatus,omitempty"` + // BackupEngineState - Status of the backup engine with the Recovery Services Vault. = {Active/Deleting/DeleteFailed} + BackupEngineState *string `json:"backupEngineState,omitempty"` + // HealthStatus - Backup status of the backup engine. + HealthStatus *string `json:"healthStatus,omitempty"` + // CanReRegister - Flag indicating if the backup engine be registered, once already registered. + CanReRegister *bool `json:"canReRegister,omitempty"` + // BackupEngineID - ID of the backup engine. + BackupEngineID *string `json:"backupEngineId,omitempty"` + // DpmVersion - Backup engine version + DpmVersion *string `json:"dpmVersion,omitempty"` + // AzureBackupAgentVersion - Backup agent version + AzureBackupAgentVersion *string `json:"azureBackupAgentVersion,omitempty"` + // IsAzureBackupAgentUpgradeAvailable - To check if backup agent upgrade available + IsAzureBackupAgentUpgradeAvailable *bool `json:"isAzureBackupAgentUpgradeAvailable,omitempty"` + // IsDpmUpgradeAvailable - To check if backup engine upgrade available + IsDpmUpgradeAvailable *bool `json:"isDpmUpgradeAvailable,omitempty"` + // ExtendedInfo - Extended info of the backupengine + ExtendedInfo *EngineExtendedInfo `json:"extendedInfo,omitempty"` + // BackupEngineType - Possible values include: 'BackupEngineTypeBackupEngineBase', 'BackupEngineTypeAzureBackupServerEngine', 'BackupEngineTypeDpmBackupEngine' + BackupEngineType EngineType `json:"backupEngineType,omitempty"` } -// AsAzureIaaSVMProtectionPolicy is the BasicProtectionPolicy implementation for MabProtectionPolicy. -func (mpp MabProtectionPolicy) AsAzureIaaSVMProtectionPolicy() (*AzureIaaSVMProtectionPolicy, bool) { - return nil, false -} +func unmarshalBasicEngineBase(body []byte) (BasicEngineBase, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } -// AsAzureSQLProtectionPolicy is the BasicProtectionPolicy implementation for MabProtectionPolicy. -func (mpp MabProtectionPolicy) AsAzureSQLProtectionPolicy() (*AzureSQLProtectionPolicy, bool) { - return nil, false + switch m["backupEngineType"] { + case string(BackupEngineTypeAzureBackupServerEngine): + var abse AzureBackupServerEngine + err := json.Unmarshal(body, &abse) + return abse, err + case string(BackupEngineTypeDpmBackupEngine): + var dbe DpmBackupEngine + err := json.Unmarshal(body, &dbe) + return dbe, err + default: + var eb EngineBase + err := json.Unmarshal(body, &eb) + return eb, err + } } +func unmarshalBasicEngineBaseArray(body []byte) ([]BasicEngineBase, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } -// AsAzureVMWorkloadProtectionPolicy is the BasicProtectionPolicy implementation for MabProtectionPolicy. -func (mpp MabProtectionPolicy) AsAzureVMWorkloadProtectionPolicy() (*AzureVMWorkloadProtectionPolicy, bool) { - return nil, false -} + ebArray := make([]BasicEngineBase, len(rawMessages)) -// AsGenericProtectionPolicy is the BasicProtectionPolicy implementation for MabProtectionPolicy. -func (mpp MabProtectionPolicy) AsGenericProtectionPolicy() (*GenericProtectionPolicy, bool) { - return nil, false + for index, rawMessage := range rawMessages { + eb, err := unmarshalBasicEngineBase(*rawMessage) + if err != nil { + return nil, err + } + ebArray[index] = eb + } + return ebArray, nil } -// AsMabProtectionPolicy is the BasicProtectionPolicy implementation for MabProtectionPolicy. -func (mpp MabProtectionPolicy) AsMabProtectionPolicy() (*MabProtectionPolicy, bool) { - return &mpp, true +// MarshalJSON is the custom marshaler for EngineBase. +func (eb EngineBase) MarshalJSON() ([]byte, error) { + eb.BackupEngineType = BackupEngineTypeBackupEngineBase + objectMap := make(map[string]interface{}) + if eb.FriendlyName != nil { + objectMap["friendlyName"] = eb.FriendlyName + } + if eb.BackupManagementType != "" { + objectMap["backupManagementType"] = eb.BackupManagementType + } + if eb.RegistrationStatus != nil { + objectMap["registrationStatus"] = eb.RegistrationStatus + } + if eb.BackupEngineState != nil { + objectMap["backupEngineState"] = eb.BackupEngineState + } + if eb.HealthStatus != nil { + objectMap["healthStatus"] = eb.HealthStatus + } + if eb.CanReRegister != nil { + objectMap["canReRegister"] = eb.CanReRegister + } + if eb.BackupEngineID != nil { + objectMap["backupEngineId"] = eb.BackupEngineID + } + if eb.DpmVersion != nil { + objectMap["dpmVersion"] = eb.DpmVersion + } + if eb.AzureBackupAgentVersion != nil { + objectMap["azureBackupAgentVersion"] = eb.AzureBackupAgentVersion + } + if eb.IsAzureBackupAgentUpgradeAvailable != nil { + objectMap["isAzureBackupAgentUpgradeAvailable"] = eb.IsAzureBackupAgentUpgradeAvailable + } + if eb.IsDpmUpgradeAvailable != nil { + objectMap["isDpmUpgradeAvailable"] = eb.IsDpmUpgradeAvailable + } + if eb.ExtendedInfo != nil { + objectMap["extendedInfo"] = eb.ExtendedInfo + } + if eb.BackupEngineType != "" { + objectMap["backupEngineType"] = eb.BackupEngineType + } + return json.Marshal(objectMap) } -// AsProtectionPolicy is the BasicProtectionPolicy implementation for MabProtectionPolicy. -func (mpp MabProtectionPolicy) AsProtectionPolicy() (*ProtectionPolicy, bool) { +// AsAzureBackupServerEngine is the BasicEngineBase implementation for EngineBase. +func (eb EngineBase) AsAzureBackupServerEngine() (*AzureBackupServerEngine, bool) { return nil, false } -// AsBasicProtectionPolicy is the BasicProtectionPolicy implementation for MabProtectionPolicy. -func (mpp MabProtectionPolicy) AsBasicProtectionPolicy() (BasicProtectionPolicy, bool) { - return &mpp, true +// AsDpmBackupEngine is the BasicEngineBase implementation for EngineBase. +func (eb EngineBase) AsDpmBackupEngine() (*DpmBackupEngine, bool) { + return nil, false } -// UnmarshalJSON is the custom unmarshaler for MabProtectionPolicy struct. -func (mpp *MabProtectionPolicy) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - case "schedulePolicy": - if v != nil { - schedulePolicy, err := unmarshalBasicSchedulePolicy(*v) - if err != nil { - return err - } - mpp.SchedulePolicy = schedulePolicy - } - case "retentionPolicy": - if v != nil { - retentionPolicy, err := unmarshalBasicRetentionPolicy(*v) - if err != nil { - return err - } - mpp.RetentionPolicy = retentionPolicy - } - case "protectedItemsCount": - if v != nil { - var protectedItemsCount int32 - err = json.Unmarshal(*v, &protectedItemsCount) - if err != nil { - return err - } - mpp.ProtectedItemsCount = &protectedItemsCount - } - case "backupManagementType": - if v != nil { - var backupManagementType ManagementTypeBasicProtectionPolicy - err = json.Unmarshal(*v, &backupManagementType) - if err != nil { - return err - } - mpp.BackupManagementType = backupManagementType - } - } - } - - return nil +// AsEngineBase is the BasicEngineBase implementation for EngineBase. +func (eb EngineBase) AsEngineBase() (*EngineBase, bool) { + return &eb, true } -// MonthlyRetentionSchedule monthly retention schedule. -type MonthlyRetentionSchedule struct { - // RetentionScheduleFormatType - Retention schedule format type for monthly retention policy. Possible values include: 'RetentionScheduleFormatInvalid', 'RetentionScheduleFormatDaily', 'RetentionScheduleFormatWeekly' - RetentionScheduleFormatType RetentionScheduleFormat `json:"retentionScheduleFormatType,omitempty"` - // RetentionScheduleDaily - Daily retention format for monthly retention policy. - RetentionScheduleDaily *DailyRetentionFormat `json:"retentionScheduleDaily,omitempty"` - // RetentionScheduleWeekly - Weekly retention format for monthly retention policy. - RetentionScheduleWeekly *WeeklyRetentionFormat `json:"retentionScheduleWeekly,omitempty"` - // RetentionTimes - Retention times of retention policy. - RetentionTimes *[]date.Time `json:"retentionTimes,omitempty"` - // RetentionDuration - Retention duration of retention Policy. - RetentionDuration *RetentionDuration `json:"retentionDuration,omitempty"` +// AsBasicEngineBase is the BasicEngineBase implementation for EngineBase. +func (eb EngineBase) AsBasicEngineBase() (BasicEngineBase, bool) { + return &eb, true } -// OperationStatus operation status. -type OperationStatus struct { +// EngineBaseResource the base backup engine class. All workload specific backup engines derive from this +// class. +type EngineBaseResource struct { autorest.Response `json:"-"` - // ID - ID of the operation. + // Properties - BackupEngineBaseResource properties + Properties BasicEngineBase `json:"properties,omitempty"` + // ID - READ-ONLY; Resource Id represents the complete path to the resource. ID *string `json:"id,omitempty"` - // Name - Name of the operation. + // Name - READ-ONLY; Resource name associated with the resource. Name *string `json:"name,omitempty"` - // Status - Operation status. Possible values include: 'OperationStatusValuesInvalid', 'OperationStatusValuesInProgress', 'OperationStatusValuesSucceeded', 'OperationStatusValuesFailed', 'OperationStatusValuesCanceled' - Status OperationStatusValues `json:"status,omitempty"` - // StartTime - Operation start time. Format: ISO-8601. - StartTime *date.Time `json:"startTime,omitempty"` - // EndTime - Operation end time. Format: ISO-8601. - EndTime *date.Time `json:"endTime,omitempty"` - // Error - Error information related to this operation. - Error *OperationStatusError `json:"error,omitempty"` - // Properties - Additional information associated with this operation. - Properties BasicOperationStatusExtendedInfo `json:"properties,omitempty"` + // Type - READ-ONLY; Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/... + Type *string `json:"type,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` + // ETag - Optional ETag. + ETag *string `json:"eTag,omitempty"` } -// UnmarshalJSON is the custom unmarshaler for OperationStatus struct. -func (osVar *OperationStatus) UnmarshalJSON(body []byte) error { +// MarshalJSON is the custom marshaler for EngineBaseResource. +func (ebr EngineBaseResource) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + objectMap["properties"] = ebr.Properties + if ebr.Location != nil { + objectMap["location"] = ebr.Location + } + if ebr.Tags != nil { + objectMap["tags"] = ebr.Tags + } + if ebr.ETag != nil { + objectMap["eTag"] = ebr.ETag + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for EngineBaseResource struct. +func (ebr *EngineBaseResource) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -12962,6 +5083,14 @@ func (osVar *OperationStatus) UnmarshalJSON(body []byte) error { } for k, v := range m { switch k { + case "properties": + if v != nil { + properties, err := unmarshalBasicEngineBase(*v) + if err != nil { + return err + } + ebr.Properties = properties + } case "id": if v != nil { var ID string @@ -12969,7 +5098,7 @@ func (osVar *OperationStatus) UnmarshalJSON(body []byte) error { if err != nil { return err } - osVar.ID = &ID + ebr.ID = &ID } case "name": if v != nil { @@ -12978,51 +5107,43 @@ func (osVar *OperationStatus) UnmarshalJSON(body []byte) error { if err != nil { return err } - osVar.Name = &name - } - case "status": - if v != nil { - var status OperationStatusValues - err = json.Unmarshal(*v, &status) - if err != nil { - return err - } - osVar.Status = status + ebr.Name = &name } - case "startTime": + case "type": if v != nil { - var startTime date.Time - err = json.Unmarshal(*v, &startTime) + var typeVar string + err = json.Unmarshal(*v, &typeVar) if err != nil { return err } - osVar.StartTime = &startTime + ebr.Type = &typeVar } - case "endTime": + case "location": if v != nil { - var endTime date.Time - err = json.Unmarshal(*v, &endTime) + var location string + err = json.Unmarshal(*v, &location) if err != nil { return err } - osVar.EndTime = &endTime + ebr.Location = &location } - case "error": + case "tags": if v != nil { - var errorVar OperationStatusError - err = json.Unmarshal(*v, &errorVar) + var tags map[string]*string + err = json.Unmarshal(*v, &tags) if err != nil { return err } - osVar.Error = &errorVar + ebr.Tags = tags } - case "properties": + case "eTag": if v != nil { - properties, err := unmarshalBasicOperationStatusExtendedInfo(*v) + var eTag string + err = json.Unmarshal(*v, &eTag) if err != nil { return err } - osVar.Properties = properties + ebr.ETag = &eTag } } } @@ -13030,897 +5151,876 @@ func (osVar *OperationStatus) UnmarshalJSON(body []byte) error { return nil } -// OperationStatusError error information associated with operation status call. -type OperationStatusError struct { - // Code - Error code of the operation failure. - Code *string `json:"code,omitempty"` - // Message - Error message displayed if the operation failure. - Message *string `json:"message,omitempty"` +// EngineBaseResourceList list of BackupEngineBase resources +type EngineBaseResourceList struct { + autorest.Response `json:"-"` + // Value - List of resources. + Value *[]EngineBaseResource `json:"value,omitempty"` + // NextLink - The uri to fetch the next page of resources. Call ListNext() fetches next page of resources. + NextLink *string `json:"nextLink,omitempty"` } -// BasicOperationStatusExtendedInfo base class for additional information of operation status. -type BasicOperationStatusExtendedInfo interface { - AsOperationStatusJobExtendedInfo() (*OperationStatusJobExtendedInfo, bool) - AsOperationStatusJobsExtendedInfo() (*OperationStatusJobsExtendedInfo, bool) - AsOperationStatusProvisionILRExtendedInfo() (*OperationStatusProvisionILRExtendedInfo, bool) - AsOperationStatusExtendedInfo() (*OperationStatusExtendedInfo, bool) +// EngineBaseResourceListIterator provides access to a complete listing of EngineBaseResource values. +type EngineBaseResourceListIterator struct { + i int + page EngineBaseResourceListPage } -// OperationStatusExtendedInfo base class for additional information of operation status. -type OperationStatusExtendedInfo struct { - // ObjectType - Possible values include: 'ObjectTypeOperationStatusExtendedInfo', 'ObjectTypeOperationStatusJobExtendedInfo', 'ObjectTypeOperationStatusJobsExtendedInfo', 'ObjectTypeOperationStatusProvisionILRExtendedInfo' - ObjectType ObjectTypeBasicOperationStatusExtendedInfo `json:"objectType,omitempty"` +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *EngineBaseResourceListIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/EngineBaseResourceListIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil } -func unmarshalBasicOperationStatusExtendedInfo(body []byte) (BasicOperationStatusExtendedInfo, error) { - var m map[string]interface{} - err := json.Unmarshal(body, &m) +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *EngineBaseResourceListIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter EngineBaseResourceListIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter EngineBaseResourceListIterator) Response() EngineBaseResourceList { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter EngineBaseResourceListIterator) Value() EngineBaseResource { + if !iter.page.NotDone() { + return EngineBaseResource{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the EngineBaseResourceListIterator type. +func NewEngineBaseResourceListIterator(page EngineBaseResourceListPage) EngineBaseResourceListIterator { + return EngineBaseResourceListIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (ebrl EngineBaseResourceList) IsEmpty() bool { + return ebrl.Value == nil || len(*ebrl.Value) == 0 +} + +// engineBaseResourceListPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (ebrl EngineBaseResourceList) engineBaseResourceListPreparer(ctx context.Context) (*http.Request, error) { + if ebrl.NextLink == nil || len(to.String(ebrl.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(ebrl.NextLink))) +} + +// EngineBaseResourceListPage contains a page of EngineBaseResource values. +type EngineBaseResourceListPage struct { + fn func(context.Context, EngineBaseResourceList) (EngineBaseResourceList, error) + ebrl EngineBaseResourceList +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *EngineBaseResourceListPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/EngineBaseResourceListPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.ebrl) if err != nil { - return nil, err + return err } + page.ebrl = next + return nil +} - switch m["objectType"] { - case string(ObjectTypeOperationStatusJobExtendedInfo): - var osjei OperationStatusJobExtendedInfo - err := json.Unmarshal(body, &osjei) - return osjei, err - case string(ObjectTypeOperationStatusJobsExtendedInfo): - var osjei OperationStatusJobsExtendedInfo - err := json.Unmarshal(body, &osjei) - return osjei, err - case string(ObjectTypeOperationStatusProvisionILRExtendedInfo): - var ospiei OperationStatusProvisionILRExtendedInfo - err := json.Unmarshal(body, &ospiei) - return ospiei, err - default: - var osei OperationStatusExtendedInfo - err := json.Unmarshal(body, &osei) - return osei, err +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *EngineBaseResourceListPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page EngineBaseResourceListPage) NotDone() bool { + return !page.ebrl.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page EngineBaseResourceListPage) Response() EngineBaseResourceList { + return page.ebrl +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page EngineBaseResourceListPage) Values() []EngineBaseResource { + if page.ebrl.IsEmpty() { + return nil } + return *page.ebrl.Value +} + +// Creates a new instance of the EngineBaseResourceListPage type. +func NewEngineBaseResourceListPage(getNextPage func(context.Context, EngineBaseResourceList) (EngineBaseResourceList, error)) EngineBaseResourceListPage { + return EngineBaseResourceListPage{fn: getNextPage} +} + +// EngineExtendedInfo additional information on backup engine. +type EngineExtendedInfo struct { + // DatabaseName - Database name of backup engine. + DatabaseName *string `json:"databaseName,omitempty"` + // ProtectedItemsCount - Number of protected items in the backup engine. + ProtectedItemsCount *int32 `json:"protectedItemsCount,omitempty"` + // ProtectedServersCount - Number of protected servers in the backup engine. + ProtectedServersCount *int32 `json:"protectedServersCount,omitempty"` + // DiskCount - Number of disks in the backup engine. + DiskCount *int32 `json:"diskCount,omitempty"` + // UsedDiskSpace - Disk space used in the backup engine. + UsedDiskSpace *float64 `json:"usedDiskSpace,omitempty"` + // AvailableDiskSpace - Disk space currently available in the backup engine. + AvailableDiskSpace *float64 `json:"availableDiskSpace,omitempty"` + // RefreshedAt - Last refresh time in the backup engine. + RefreshedAt *date.Time `json:"refreshedAt,omitempty"` + // AzureProtectedInstances - Protected instances in the backup engine. + AzureProtectedInstances *int32 `json:"azureProtectedInstances,omitempty"` } -func unmarshalBasicOperationStatusExtendedInfoArray(body []byte) ([]BasicOperationStatusExtendedInfo, error) { - var rawMessages []*json.RawMessage - err := json.Unmarshal(body, &rawMessages) - if err != nil { - return nil, err - } - oseiArray := make([]BasicOperationStatusExtendedInfo, len(rawMessages)) +// ErrorDetail error Detail class which encapsulates Code, Message and Recommendations. +type ErrorDetail struct { + // Code - READ-ONLY; Error code. + Code *string `json:"code,omitempty"` + // Message - READ-ONLY; Error Message related to the Code. + Message *string `json:"message,omitempty"` + // Recommendations - READ-ONLY; List of recommendation strings. + Recommendations *[]string `json:"recommendations,omitempty"` +} - for index, rawMessage := range rawMessages { - osei, err := unmarshalBasicOperationStatusExtendedInfo(*rawMessage) - if err != nil { - return nil, err - } - oseiArray[index] = osei - } - return oseiArray, nil +// GenericContainer base class for generic container of backup items +type GenericContainer struct { + // FabricName - Name of the container's fabric + FabricName *string `json:"fabricName,omitempty"` + // ExtendedInformation - Extended information (not returned in List container API calls) + ExtendedInformation *GenericContainerExtendedInfo `json:"extendedInformation,omitempty"` + // FriendlyName - Friendly name of the container. + FriendlyName *string `json:"friendlyName,omitempty"` + // BackupManagementType - Type of backup management for the container. Possible values include: 'ManagementTypeInvalid', 'ManagementTypeAzureIaasVM', 'ManagementTypeMAB', 'ManagementTypeDPM', 'ManagementTypeAzureBackupServer', 'ManagementTypeAzureSQL', 'ManagementTypeAzureStorage', 'ManagementTypeAzureWorkload', 'ManagementTypeDefaultBackup' + BackupManagementType ManagementType `json:"backupManagementType,omitempty"` + // RegistrationStatus - Status of registration of the container with the Recovery Services Vault. + RegistrationStatus *string `json:"registrationStatus,omitempty"` + // HealthStatus - Status of health of the container. + HealthStatus *string `json:"healthStatus,omitempty"` + // ContainerType - Possible values include: 'ContainerTypeProtectionContainer', 'ContainerTypeAzureBackupServerContainer1', 'ContainerTypeMicrosoftClassicComputevirtualMachines', 'ContainerTypeMicrosoftComputevirtualMachines', 'ContainerTypeSQLAGWorkLoadContainer1', 'ContainerTypeAzureSQLContainer1', 'ContainerTypeStorageContainer1', 'ContainerTypeVMAppContainer1', 'ContainerTypeAzureWorkloadContainer', 'ContainerTypeDPMContainer1', 'ContainerTypeGenericContainer1', 'ContainerTypeIaaSVMContainer', 'ContainerTypeWindows1' + ContainerType ContainerTypeBasicProtectionContainer `json:"containerType,omitempty"` } -// MarshalJSON is the custom marshaler for OperationStatusExtendedInfo. -func (osei OperationStatusExtendedInfo) MarshalJSON() ([]byte, error) { - osei.ObjectType = ObjectTypeOperationStatusExtendedInfo +// MarshalJSON is the custom marshaler for GenericContainer. +func (gc GenericContainer) MarshalJSON() ([]byte, error) { + gc.ContainerType = ContainerTypeGenericContainer1 objectMap := make(map[string]interface{}) - if osei.ObjectType != "" { - objectMap["objectType"] = osei.ObjectType + if gc.FabricName != nil { + objectMap["fabricName"] = gc.FabricName + } + if gc.ExtendedInformation != nil { + objectMap["extendedInformation"] = gc.ExtendedInformation + } + if gc.FriendlyName != nil { + objectMap["friendlyName"] = gc.FriendlyName + } + if gc.BackupManagementType != "" { + objectMap["backupManagementType"] = gc.BackupManagementType + } + if gc.RegistrationStatus != nil { + objectMap["registrationStatus"] = gc.RegistrationStatus + } + if gc.HealthStatus != nil { + objectMap["healthStatus"] = gc.HealthStatus + } + if gc.ContainerType != "" { + objectMap["containerType"] = gc.ContainerType } return json.Marshal(objectMap) } -// AsOperationStatusJobExtendedInfo is the BasicOperationStatusExtendedInfo implementation for OperationStatusExtendedInfo. -func (osei OperationStatusExtendedInfo) AsOperationStatusJobExtendedInfo() (*OperationStatusJobExtendedInfo, bool) { +// AsAzureBackupServerContainer is the BasicProtectionContainer implementation for GenericContainer. +func (gc GenericContainer) AsAzureBackupServerContainer() (*AzureBackupServerContainer, bool) { return nil, false } -// AsOperationStatusJobsExtendedInfo is the BasicOperationStatusExtendedInfo implementation for OperationStatusExtendedInfo. -func (osei OperationStatusExtendedInfo) AsOperationStatusJobsExtendedInfo() (*OperationStatusJobsExtendedInfo, bool) { +// AsAzureIaaSClassicComputeVMContainer is the BasicProtectionContainer implementation for GenericContainer. +func (gc GenericContainer) AsAzureIaaSClassicComputeVMContainer() (*AzureIaaSClassicComputeVMContainer, bool) { return nil, false } -// AsOperationStatusProvisionILRExtendedInfo is the BasicOperationStatusExtendedInfo implementation for OperationStatusExtendedInfo. -func (osei OperationStatusExtendedInfo) AsOperationStatusProvisionILRExtendedInfo() (*OperationStatusProvisionILRExtendedInfo, bool) { +// AsAzureIaaSComputeVMContainer is the BasicProtectionContainer implementation for GenericContainer. +func (gc GenericContainer) AsAzureIaaSComputeVMContainer() (*AzureIaaSComputeVMContainer, bool) { return nil, false } -// AsOperationStatusExtendedInfo is the BasicOperationStatusExtendedInfo implementation for OperationStatusExtendedInfo. -func (osei OperationStatusExtendedInfo) AsOperationStatusExtendedInfo() (*OperationStatusExtendedInfo, bool) { - return &osei, true -} - -// AsBasicOperationStatusExtendedInfo is the BasicOperationStatusExtendedInfo implementation for OperationStatusExtendedInfo. -func (osei OperationStatusExtendedInfo) AsBasicOperationStatusExtendedInfo() (BasicOperationStatusExtendedInfo, bool) { - return &osei, true -} - -// OperationStatusJobExtendedInfo operation status job extended info. -type OperationStatusJobExtendedInfo struct { - // JobID - ID of the job created for this protected item. - JobID *string `json:"jobId,omitempty"` - // ObjectType - Possible values include: 'ObjectTypeOperationStatusExtendedInfo', 'ObjectTypeOperationStatusJobExtendedInfo', 'ObjectTypeOperationStatusJobsExtendedInfo', 'ObjectTypeOperationStatusProvisionILRExtendedInfo' - ObjectType ObjectTypeBasicOperationStatusExtendedInfo `json:"objectType,omitempty"` +// AsAzureSQLAGWorkloadContainerProtectionContainer is the BasicProtectionContainer implementation for GenericContainer. +func (gc GenericContainer) AsAzureSQLAGWorkloadContainerProtectionContainer() (*AzureSQLAGWorkloadContainerProtectionContainer, bool) { + return nil, false } -// MarshalJSON is the custom marshaler for OperationStatusJobExtendedInfo. -func (osjei OperationStatusJobExtendedInfo) MarshalJSON() ([]byte, error) { - osjei.ObjectType = ObjectTypeOperationStatusJobExtendedInfo - objectMap := make(map[string]interface{}) - if osjei.JobID != nil { - objectMap["jobId"] = osjei.JobID - } - if osjei.ObjectType != "" { - objectMap["objectType"] = osjei.ObjectType - } - return json.Marshal(objectMap) +// AsAzureSQLContainer is the BasicProtectionContainer implementation for GenericContainer. +func (gc GenericContainer) AsAzureSQLContainer() (*AzureSQLContainer, bool) { + return nil, false } -// AsOperationStatusJobExtendedInfo is the BasicOperationStatusExtendedInfo implementation for OperationStatusJobExtendedInfo. -func (osjei OperationStatusJobExtendedInfo) AsOperationStatusJobExtendedInfo() (*OperationStatusJobExtendedInfo, bool) { - return &osjei, true +// AsAzureStorageContainer is the BasicProtectionContainer implementation for GenericContainer. +func (gc GenericContainer) AsAzureStorageContainer() (*AzureStorageContainer, bool) { + return nil, false } -// AsOperationStatusJobsExtendedInfo is the BasicOperationStatusExtendedInfo implementation for OperationStatusJobExtendedInfo. -func (osjei OperationStatusJobExtendedInfo) AsOperationStatusJobsExtendedInfo() (*OperationStatusJobsExtendedInfo, bool) { +// AsAzureVMAppContainerProtectionContainer is the BasicProtectionContainer implementation for GenericContainer. +func (gc GenericContainer) AsAzureVMAppContainerProtectionContainer() (*AzureVMAppContainerProtectionContainer, bool) { return nil, false } -// AsOperationStatusProvisionILRExtendedInfo is the BasicOperationStatusExtendedInfo implementation for OperationStatusJobExtendedInfo. -func (osjei OperationStatusJobExtendedInfo) AsOperationStatusProvisionILRExtendedInfo() (*OperationStatusProvisionILRExtendedInfo, bool) { +// AsAzureWorkloadContainer is the BasicProtectionContainer implementation for GenericContainer. +func (gc GenericContainer) AsAzureWorkloadContainer() (*AzureWorkloadContainer, bool) { return nil, false } -// AsOperationStatusExtendedInfo is the BasicOperationStatusExtendedInfo implementation for OperationStatusJobExtendedInfo. -func (osjei OperationStatusJobExtendedInfo) AsOperationStatusExtendedInfo() (*OperationStatusExtendedInfo, bool) { +// AsBasicAzureWorkloadContainer is the BasicProtectionContainer implementation for GenericContainer. +func (gc GenericContainer) AsBasicAzureWorkloadContainer() (BasicAzureWorkloadContainer, bool) { return nil, false } -// AsBasicOperationStatusExtendedInfo is the BasicOperationStatusExtendedInfo implementation for OperationStatusJobExtendedInfo. -func (osjei OperationStatusJobExtendedInfo) AsBasicOperationStatusExtendedInfo() (BasicOperationStatusExtendedInfo, bool) { - return &osjei, true +// AsDpmContainer is the BasicProtectionContainer implementation for GenericContainer. +func (gc GenericContainer) AsDpmContainer() (*DpmContainer, bool) { + return nil, false } -// OperationStatusJobsExtendedInfo operation status extended info for list of jobs. -type OperationStatusJobsExtendedInfo struct { - // JobIds - IDs of the jobs created for the protected item. - JobIds *[]string `json:"jobIds,omitempty"` - // FailedJobsError - Stores all the failed jobs along with the corresponding error codes. - FailedJobsError map[string]*string `json:"failedJobsError"` - // ObjectType - Possible values include: 'ObjectTypeOperationStatusExtendedInfo', 'ObjectTypeOperationStatusJobExtendedInfo', 'ObjectTypeOperationStatusJobsExtendedInfo', 'ObjectTypeOperationStatusProvisionILRExtendedInfo' - ObjectType ObjectTypeBasicOperationStatusExtendedInfo `json:"objectType,omitempty"` +// AsBasicDpmContainer is the BasicProtectionContainer implementation for GenericContainer. +func (gc GenericContainer) AsBasicDpmContainer() (BasicDpmContainer, bool) { + return nil, false } -// MarshalJSON is the custom marshaler for OperationStatusJobsExtendedInfo. -func (osjei OperationStatusJobsExtendedInfo) MarshalJSON() ([]byte, error) { - osjei.ObjectType = ObjectTypeOperationStatusJobsExtendedInfo - objectMap := make(map[string]interface{}) - if osjei.JobIds != nil { - objectMap["jobIds"] = osjei.JobIds - } - if osjei.FailedJobsError != nil { - objectMap["failedJobsError"] = osjei.FailedJobsError - } - if osjei.ObjectType != "" { - objectMap["objectType"] = osjei.ObjectType - } - return json.Marshal(objectMap) +// AsGenericContainer is the BasicProtectionContainer implementation for GenericContainer. +func (gc GenericContainer) AsGenericContainer() (*GenericContainer, bool) { + return &gc, true } -// AsOperationStatusJobExtendedInfo is the BasicOperationStatusExtendedInfo implementation for OperationStatusJobsExtendedInfo. -func (osjei OperationStatusJobsExtendedInfo) AsOperationStatusJobExtendedInfo() (*OperationStatusJobExtendedInfo, bool) { +// AsIaaSVMContainer is the BasicProtectionContainer implementation for GenericContainer. +func (gc GenericContainer) AsIaaSVMContainer() (*IaaSVMContainer, bool) { return nil, false } -// AsOperationStatusJobsExtendedInfo is the BasicOperationStatusExtendedInfo implementation for OperationStatusJobsExtendedInfo. -func (osjei OperationStatusJobsExtendedInfo) AsOperationStatusJobsExtendedInfo() (*OperationStatusJobsExtendedInfo, bool) { - return &osjei, true +// AsBasicIaaSVMContainer is the BasicProtectionContainer implementation for GenericContainer. +func (gc GenericContainer) AsBasicIaaSVMContainer() (BasicIaaSVMContainer, bool) { + return nil, false } -// AsOperationStatusProvisionILRExtendedInfo is the BasicOperationStatusExtendedInfo implementation for OperationStatusJobsExtendedInfo. -func (osjei OperationStatusJobsExtendedInfo) AsOperationStatusProvisionILRExtendedInfo() (*OperationStatusProvisionILRExtendedInfo, bool) { +// AsMabContainer is the BasicProtectionContainer implementation for GenericContainer. +func (gc GenericContainer) AsMabContainer() (*MabContainer, bool) { return nil, false } -// AsOperationStatusExtendedInfo is the BasicOperationStatusExtendedInfo implementation for OperationStatusJobsExtendedInfo. -func (osjei OperationStatusJobsExtendedInfo) AsOperationStatusExtendedInfo() (*OperationStatusExtendedInfo, bool) { +// AsProtectionContainer is the BasicProtectionContainer implementation for GenericContainer. +func (gc GenericContainer) AsProtectionContainer() (*ProtectionContainer, bool) { return nil, false } -// AsBasicOperationStatusExtendedInfo is the BasicOperationStatusExtendedInfo implementation for OperationStatusJobsExtendedInfo. -func (osjei OperationStatusJobsExtendedInfo) AsBasicOperationStatusExtendedInfo() (BasicOperationStatusExtendedInfo, bool) { - return &osjei, true +// AsBasicProtectionContainer is the BasicProtectionContainer implementation for GenericContainer. +func (gc GenericContainer) AsBasicProtectionContainer() (BasicProtectionContainer, bool) { + return &gc, true } -// OperationStatusProvisionILRExtendedInfo operation status extended info for ILR provision action. -type OperationStatusProvisionILRExtendedInfo struct { - // RecoveryTarget - Target details for file / folder restore. - RecoveryTarget *InstantItemRecoveryTarget `json:"recoveryTarget,omitempty"` - // ObjectType - Possible values include: 'ObjectTypeOperationStatusExtendedInfo', 'ObjectTypeOperationStatusJobExtendedInfo', 'ObjectTypeOperationStatusJobsExtendedInfo', 'ObjectTypeOperationStatusProvisionILRExtendedInfo' - ObjectType ObjectTypeBasicOperationStatusExtendedInfo `json:"objectType,omitempty"` +// GenericContainerExtendedInfo container extended information +type GenericContainerExtendedInfo struct { + // RawCertData - Public key of container cert + RawCertData *string `json:"rawCertData,omitempty"` + // ContainerIdentityInfo - Container identity information + ContainerIdentityInfo *ContainerIdentityInfo `json:"containerIdentityInfo,omitempty"` + // ServiceEndpoints - Azure Backup Service Endpoints for the container + ServiceEndpoints map[string]*string `json:"serviceEndpoints"` } -// MarshalJSON is the custom marshaler for OperationStatusProvisionILRExtendedInfo. -func (ospiei OperationStatusProvisionILRExtendedInfo) MarshalJSON() ([]byte, error) { - ospiei.ObjectType = ObjectTypeOperationStatusProvisionILRExtendedInfo +// MarshalJSON is the custom marshaler for GenericContainerExtendedInfo. +func (gcei GenericContainerExtendedInfo) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) - if ospiei.RecoveryTarget != nil { - objectMap["recoveryTarget"] = ospiei.RecoveryTarget + if gcei.RawCertData != nil { + objectMap["rawCertData"] = gcei.RawCertData } - if ospiei.ObjectType != "" { - objectMap["objectType"] = ospiei.ObjectType + if gcei.ContainerIdentityInfo != nil { + objectMap["containerIdentityInfo"] = gcei.ContainerIdentityInfo + } + if gcei.ServiceEndpoints != nil { + objectMap["serviceEndpoints"] = gcei.ServiceEndpoints } return json.Marshal(objectMap) } -// AsOperationStatusJobExtendedInfo is the BasicOperationStatusExtendedInfo implementation for OperationStatusProvisionILRExtendedInfo. -func (ospiei OperationStatusProvisionILRExtendedInfo) AsOperationStatusJobExtendedInfo() (*OperationStatusJobExtendedInfo, bool) { - return nil, false +// IaasVMBackupRequest iaaS VM workload-specific backup request. +type IaasVMBackupRequest struct { + // RecoveryPointExpiryTimeInUTC - Backup copy will expire after the time specified (UTC). + RecoveryPointExpiryTimeInUTC *date.Time `json:"recoveryPointExpiryTimeInUTC,omitempty"` + // ObjectType - Possible values include: 'ObjectTypeBackupRequest', 'ObjectTypeAzureFileShareBackupRequest', 'ObjectTypeAzureWorkloadBackupRequest', 'ObjectTypeIaasVMBackupRequest' + ObjectType ObjectType `json:"objectType,omitempty"` } -// AsOperationStatusJobsExtendedInfo is the BasicOperationStatusExtendedInfo implementation for OperationStatusProvisionILRExtendedInfo. -func (ospiei OperationStatusProvisionILRExtendedInfo) AsOperationStatusJobsExtendedInfo() (*OperationStatusJobsExtendedInfo, bool) { - return nil, false +// MarshalJSON is the custom marshaler for IaasVMBackupRequest. +func (ivbr IaasVMBackupRequest) MarshalJSON() ([]byte, error) { + ivbr.ObjectType = ObjectTypeIaasVMBackupRequest + objectMap := make(map[string]interface{}) + if ivbr.RecoveryPointExpiryTimeInUTC != nil { + objectMap["recoveryPointExpiryTimeInUTC"] = ivbr.RecoveryPointExpiryTimeInUTC + } + if ivbr.ObjectType != "" { + objectMap["objectType"] = ivbr.ObjectType + } + return json.Marshal(objectMap) } -// AsOperationStatusProvisionILRExtendedInfo is the BasicOperationStatusExtendedInfo implementation for OperationStatusProvisionILRExtendedInfo. -func (ospiei OperationStatusProvisionILRExtendedInfo) AsOperationStatusProvisionILRExtendedInfo() (*OperationStatusProvisionILRExtendedInfo, bool) { - return &ospiei, true +// AsAzureFileShareBackupRequest is the BasicRequest implementation for IaasVMBackupRequest. +func (ivbr IaasVMBackupRequest) AsAzureFileShareBackupRequest() (*AzureFileShareBackupRequest, bool) { + return nil, false } -// AsOperationStatusExtendedInfo is the BasicOperationStatusExtendedInfo implementation for OperationStatusProvisionILRExtendedInfo. -func (ospiei OperationStatusProvisionILRExtendedInfo) AsOperationStatusExtendedInfo() (*OperationStatusExtendedInfo, bool) { +// AsAzureWorkloadBackupRequest is the BasicRequest implementation for IaasVMBackupRequest. +func (ivbr IaasVMBackupRequest) AsAzureWorkloadBackupRequest() (*AzureWorkloadBackupRequest, bool) { return nil, false } -// AsBasicOperationStatusExtendedInfo is the BasicOperationStatusExtendedInfo implementation for OperationStatusProvisionILRExtendedInfo. -func (ospiei OperationStatusProvisionILRExtendedInfo) AsBasicOperationStatusExtendedInfo() (BasicOperationStatusExtendedInfo, bool) { - return &ospiei, true +// AsIaasVMBackupRequest is the BasicRequest implementation for IaasVMBackupRequest. +func (ivbr IaasVMBackupRequest) AsIaasVMBackupRequest() (*IaasVMBackupRequest, bool) { + return &ivbr, true } -// PointInTimeRange provides details for log ranges -type PointInTimeRange struct { - // StartTime - Start time of the time range for log recovery. - StartTime *date.Time `json:"startTime,omitempty"` - // EndTime - End time of the time range for log recovery. - EndTime *date.Time `json:"endTime,omitempty"` +// AsRequest is the BasicRequest implementation for IaasVMBackupRequest. +func (ivbr IaasVMBackupRequest) AsRequest() (*Request, bool) { + return nil, false } -// PreBackupValidation pre-backup validation for Azure VM Workload provider. -type PreBackupValidation struct { - // Status - Status of protectable item, i.e. InProgress,Succeeded,Failed. Possible values include: 'InquiryStatusInvalid', 'InquiryStatusSuccess', 'InquiryStatusFailed' - Status InquiryStatus `json:"status,omitempty"` - // Code - Error code of protectable item - Code *string `json:"code,omitempty"` - // Message - Message corresponding to the error code for the protectable item - Message *string `json:"message,omitempty"` +// AsBasicRequest is the BasicRequest implementation for IaasVMBackupRequest. +func (ivbr IaasVMBackupRequest) AsBasicRequest() (BasicRequest, bool) { + return &ivbr, true } -// BasicProtectableContainer protectable Container Class. -type BasicProtectableContainer interface { - AsAzureStorageProtectableContainer() (*AzureStorageProtectableContainer, bool) - AsAzureVMAppContainerProtectableContainer() (*AzureVMAppContainerProtectableContainer, bool) - AsProtectableContainer() (*ProtectableContainer, bool) +// BasicIaaSVMContainer iaaS VM workload-specific container. +type BasicIaaSVMContainer interface { + AsAzureIaaSClassicComputeVMContainer() (*AzureIaaSClassicComputeVMContainer, bool) + AsAzureIaaSComputeVMContainer() (*AzureIaaSComputeVMContainer, bool) + AsIaaSVMContainer() (*IaaSVMContainer, bool) } -// ProtectableContainer protectable Container Class. -type ProtectableContainer struct { +// IaaSVMContainer iaaS VM workload-specific container. +type IaaSVMContainer struct { + // VirtualMachineID - Fully qualified ARM url of the virtual machine represented by this Azure IaaS VM container. + VirtualMachineID *string `json:"virtualMachineId,omitempty"` + // VirtualMachineVersion - Specifies whether the container represents a Classic or an Azure Resource Manager VM. + VirtualMachineVersion *string `json:"virtualMachineVersion,omitempty"` + // ResourceGroup - Resource group name of Recovery Services Vault. + ResourceGroup *string `json:"resourceGroup,omitempty"` // FriendlyName - Friendly name of the container. FriendlyName *string `json:"friendlyName,omitempty"` // BackupManagementType - Type of backup management for the container. Possible values include: 'ManagementTypeInvalid', 'ManagementTypeAzureIaasVM', 'ManagementTypeMAB', 'ManagementTypeDPM', 'ManagementTypeAzureBackupServer', 'ManagementTypeAzureSQL', 'ManagementTypeAzureStorage', 'ManagementTypeAzureWorkload', 'ManagementTypeDefaultBackup' BackupManagementType ManagementType `json:"backupManagementType,omitempty"` + // RegistrationStatus - Status of registration of the container with the Recovery Services Vault. + RegistrationStatus *string `json:"registrationStatus,omitempty"` // HealthStatus - Status of health of the container. HealthStatus *string `json:"healthStatus,omitempty"` - // ContainerID - Fabric Id of the container such as ARM Id. - ContainerID *string `json:"containerId,omitempty"` - // ProtectableContainerType - Possible values include: 'ProtectableContainerTypeProtectableContainer', 'ProtectableContainerTypeStorageContainer', 'ProtectableContainerTypeVMAppContainer' - ProtectableContainerType ProtectableContainerType `json:"protectableContainerType,omitempty"` + // ContainerType - Possible values include: 'ContainerTypeProtectionContainer', 'ContainerTypeAzureBackupServerContainer1', 'ContainerTypeMicrosoftClassicComputevirtualMachines', 'ContainerTypeMicrosoftComputevirtualMachines', 'ContainerTypeSQLAGWorkLoadContainer1', 'ContainerTypeAzureSQLContainer1', 'ContainerTypeStorageContainer1', 'ContainerTypeVMAppContainer1', 'ContainerTypeAzureWorkloadContainer', 'ContainerTypeDPMContainer1', 'ContainerTypeGenericContainer1', 'ContainerTypeIaaSVMContainer', 'ContainerTypeWindows1' + ContainerType ContainerTypeBasicProtectionContainer `json:"containerType,omitempty"` } -func unmarshalBasicProtectableContainer(body []byte) (BasicProtectableContainer, error) { +func unmarshalBasicIaaSVMContainer(body []byte) (BasicIaaSVMContainer, error) { var m map[string]interface{} err := json.Unmarshal(body, &m) if err != nil { return nil, err } - switch m["protectableContainerType"] { - case string(ProtectableContainerTypeStorageContainer): - var aspc AzureStorageProtectableContainer - err := json.Unmarshal(body, &aspc) - return aspc, err - case string(ProtectableContainerTypeVMAppContainer): - var avacpc AzureVMAppContainerProtectableContainer - err := json.Unmarshal(body, &avacpc) - return avacpc, err + switch m["containerType"] { + case string(ContainerTypeMicrosoftClassicComputevirtualMachines): + var aisccvc AzureIaaSClassicComputeVMContainer + err := json.Unmarshal(body, &aisccvc) + return aisccvc, err + case string(ContainerTypeMicrosoftComputevirtualMachines): + var aiscvc AzureIaaSComputeVMContainer + err := json.Unmarshal(body, &aiscvc) + return aiscvc, err default: - var pc ProtectableContainer - err := json.Unmarshal(body, &pc) - return pc, err + var isc IaaSVMContainer + err := json.Unmarshal(body, &isc) + return isc, err } } -func unmarshalBasicProtectableContainerArray(body []byte) ([]BasicProtectableContainer, error) { +func unmarshalBasicIaaSVMContainerArray(body []byte) ([]BasicIaaSVMContainer, error) { var rawMessages []*json.RawMessage err := json.Unmarshal(body, &rawMessages) if err != nil { return nil, err } - pcArray := make([]BasicProtectableContainer, len(rawMessages)) + iscArray := make([]BasicIaaSVMContainer, len(rawMessages)) for index, rawMessage := range rawMessages { - pc, err := unmarshalBasicProtectableContainer(*rawMessage) + isc, err := unmarshalBasicIaaSVMContainer(*rawMessage) if err != nil { return nil, err } - pcArray[index] = pc + iscArray[index] = isc } - return pcArray, nil + return iscArray, nil } -// MarshalJSON is the custom marshaler for ProtectableContainer. -func (pc ProtectableContainer) MarshalJSON() ([]byte, error) { - pc.ProtectableContainerType = ProtectableContainerTypeProtectableContainer +// MarshalJSON is the custom marshaler for IaaSVMContainer. +func (isc IaaSVMContainer) MarshalJSON() ([]byte, error) { + isc.ContainerType = ContainerTypeIaaSVMContainer objectMap := make(map[string]interface{}) - if pc.FriendlyName != nil { - objectMap["friendlyName"] = pc.FriendlyName + if isc.VirtualMachineID != nil { + objectMap["virtualMachineId"] = isc.VirtualMachineID } - if pc.BackupManagementType != "" { - objectMap["backupManagementType"] = pc.BackupManagementType + if isc.VirtualMachineVersion != nil { + objectMap["virtualMachineVersion"] = isc.VirtualMachineVersion } - if pc.HealthStatus != nil { - objectMap["healthStatus"] = pc.HealthStatus + if isc.ResourceGroup != nil { + objectMap["resourceGroup"] = isc.ResourceGroup } - if pc.ContainerID != nil { - objectMap["containerId"] = pc.ContainerID + if isc.FriendlyName != nil { + objectMap["friendlyName"] = isc.FriendlyName } - if pc.ProtectableContainerType != "" { - objectMap["protectableContainerType"] = pc.ProtectableContainerType + if isc.BackupManagementType != "" { + objectMap["backupManagementType"] = isc.BackupManagementType + } + if isc.RegistrationStatus != nil { + objectMap["registrationStatus"] = isc.RegistrationStatus + } + if isc.HealthStatus != nil { + objectMap["healthStatus"] = isc.HealthStatus + } + if isc.ContainerType != "" { + objectMap["containerType"] = isc.ContainerType } return json.Marshal(objectMap) } -// AsAzureStorageProtectableContainer is the BasicProtectableContainer implementation for ProtectableContainer. -func (pc ProtectableContainer) AsAzureStorageProtectableContainer() (*AzureStorageProtectableContainer, bool) { +// AsAzureBackupServerContainer is the BasicProtectionContainer implementation for IaaSVMContainer. +func (isc IaaSVMContainer) AsAzureBackupServerContainer() (*AzureBackupServerContainer, bool) { return nil, false } -// AsAzureVMAppContainerProtectableContainer is the BasicProtectableContainer implementation for ProtectableContainer. -func (pc ProtectableContainer) AsAzureVMAppContainerProtectableContainer() (*AzureVMAppContainerProtectableContainer, bool) { +// AsAzureIaaSClassicComputeVMContainer is the BasicProtectionContainer implementation for IaaSVMContainer. +func (isc IaaSVMContainer) AsAzureIaaSClassicComputeVMContainer() (*AzureIaaSClassicComputeVMContainer, bool) { return nil, false } -// AsProtectableContainer is the BasicProtectableContainer implementation for ProtectableContainer. -func (pc ProtectableContainer) AsProtectableContainer() (*ProtectableContainer, bool) { - return &pc, true -} - -// AsBasicProtectableContainer is the BasicProtectableContainer implementation for ProtectableContainer. -func (pc ProtectableContainer) AsBasicProtectableContainer() (BasicProtectableContainer, bool) { - return &pc, true -} - -// ProtectableContainerResource protectable Container Class. -type ProtectableContainerResource struct { - // Properties - ProtectableContainerResource properties - Properties BasicProtectableContainer `json:"properties,omitempty"` - // ID - READ-ONLY; Resource Id represents the complete path to the resource. - ID *string `json:"id,omitempty"` - // Name - READ-ONLY; Resource name associated with the resource. - Name *string `json:"name,omitempty"` - // Type - READ-ONLY; Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/... - Type *string `json:"type,omitempty"` - // Location - Resource location. - Location *string `json:"location,omitempty"` - // Tags - Resource tags. - Tags map[string]*string `json:"tags"` - // ETag - Optional ETag. - ETag *string `json:"eTag,omitempty"` +// AsAzureIaaSComputeVMContainer is the BasicProtectionContainer implementation for IaaSVMContainer. +func (isc IaaSVMContainer) AsAzureIaaSComputeVMContainer() (*AzureIaaSComputeVMContainer, bool) { + return nil, false } -// MarshalJSON is the custom marshaler for ProtectableContainerResource. -func (pcr ProtectableContainerResource) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - objectMap["properties"] = pcr.Properties - if pcr.Location != nil { - objectMap["location"] = pcr.Location - } - if pcr.Tags != nil { - objectMap["tags"] = pcr.Tags - } - if pcr.ETag != nil { - objectMap["eTag"] = pcr.ETag - } - return json.Marshal(objectMap) +// AsAzureSQLAGWorkloadContainerProtectionContainer is the BasicProtectionContainer implementation for IaaSVMContainer. +func (isc IaaSVMContainer) AsAzureSQLAGWorkloadContainerProtectionContainer() (*AzureSQLAGWorkloadContainerProtectionContainer, bool) { + return nil, false } -// UnmarshalJSON is the custom unmarshaler for ProtectableContainerResource struct. -func (pcr *ProtectableContainerResource) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - case "properties": - if v != nil { - properties, err := unmarshalBasicProtectableContainer(*v) - if err != nil { - return err - } - pcr.Properties = properties - } - case "id": - if v != nil { - var ID string - err = json.Unmarshal(*v, &ID) - if err != nil { - return err - } - pcr.ID = &ID - } - case "name": - if v != nil { - var name string - err = json.Unmarshal(*v, &name) - if err != nil { - return err - } - pcr.Name = &name - } - case "type": - if v != nil { - var typeVar string - err = json.Unmarshal(*v, &typeVar) - if err != nil { - return err - } - pcr.Type = &typeVar - } - case "location": - if v != nil { - var location string - err = json.Unmarshal(*v, &location) - if err != nil { - return err - } - pcr.Location = &location - } - case "tags": - if v != nil { - var tags map[string]*string - err = json.Unmarshal(*v, &tags) - if err != nil { - return err - } - pcr.Tags = tags - } - case "eTag": - if v != nil { - var eTag string - err = json.Unmarshal(*v, &eTag) - if err != nil { - return err - } - pcr.ETag = &eTag - } - } - } +// AsAzureSQLContainer is the BasicProtectionContainer implementation for IaaSVMContainer. +func (isc IaaSVMContainer) AsAzureSQLContainer() (*AzureSQLContainer, bool) { + return nil, false +} - return nil +// AsAzureStorageContainer is the BasicProtectionContainer implementation for IaaSVMContainer. +func (isc IaaSVMContainer) AsAzureStorageContainer() (*AzureStorageContainer, bool) { + return nil, false } -// ProtectableContainerResourceList list of ProtectableContainer resources -type ProtectableContainerResourceList struct { - autorest.Response `json:"-"` - // Value - List of resources. - Value *[]ProtectableContainerResource `json:"value,omitempty"` - // NextLink - The uri to fetch the next page of resources. Call ListNext() fetches next page of resources. - NextLink *string `json:"nextLink,omitempty"` +// AsAzureVMAppContainerProtectionContainer is the BasicProtectionContainer implementation for IaaSVMContainer. +func (isc IaaSVMContainer) AsAzureVMAppContainerProtectionContainer() (*AzureVMAppContainerProtectionContainer, bool) { + return nil, false } -// ProtectableContainerResourceListIterator provides access to a complete listing of -// ProtectableContainerResource values. -type ProtectableContainerResourceListIterator struct { - i int - page ProtectableContainerResourceListPage +// AsAzureWorkloadContainer is the BasicProtectionContainer implementation for IaaSVMContainer. +func (isc IaaSVMContainer) AsAzureWorkloadContainer() (*AzureWorkloadContainer, bool) { + return nil, false } -// NextWithContext advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -func (iter *ProtectableContainerResourceListIterator) NextWithContext(ctx context.Context) (err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/ProtectableContainerResourceListIterator.NextWithContext") - defer func() { - sc := -1 - if iter.Response().Response.Response != nil { - sc = iter.Response().Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - iter.i++ - if iter.i < len(iter.page.Values()) { - return nil - } - err = iter.page.NextWithContext(ctx) - if err != nil { - iter.i-- - return err - } - iter.i = 0 - return nil +// AsBasicAzureWorkloadContainer is the BasicProtectionContainer implementation for IaaSVMContainer. +func (isc IaaSVMContainer) AsBasicAzureWorkloadContainer() (BasicAzureWorkloadContainer, bool) { + return nil, false } -// Next advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -// Deprecated: Use NextWithContext() instead. -func (iter *ProtectableContainerResourceListIterator) Next() error { - return iter.NextWithContext(context.Background()) +// AsDpmContainer is the BasicProtectionContainer implementation for IaaSVMContainer. +func (isc IaaSVMContainer) AsDpmContainer() (*DpmContainer, bool) { + return nil, false } -// NotDone returns true if the enumeration should be started or is not yet complete. -func (iter ProtectableContainerResourceListIterator) NotDone() bool { - return iter.page.NotDone() && iter.i < len(iter.page.Values()) +// AsBasicDpmContainer is the BasicProtectionContainer implementation for IaaSVMContainer. +func (isc IaaSVMContainer) AsBasicDpmContainer() (BasicDpmContainer, bool) { + return nil, false } -// Response returns the raw server response from the last page request. -func (iter ProtectableContainerResourceListIterator) Response() ProtectableContainerResourceList { - return iter.page.Response() +// AsGenericContainer is the BasicProtectionContainer implementation for IaaSVMContainer. +func (isc IaaSVMContainer) AsGenericContainer() (*GenericContainer, bool) { + return nil, false } -// Value returns the current value or a zero-initialized value if the -// iterator has advanced beyond the end of the collection. -func (iter ProtectableContainerResourceListIterator) Value() ProtectableContainerResource { - if !iter.page.NotDone() { - return ProtectableContainerResource{} - } - return iter.page.Values()[iter.i] +// AsIaaSVMContainer is the BasicProtectionContainer implementation for IaaSVMContainer. +func (isc IaaSVMContainer) AsIaaSVMContainer() (*IaaSVMContainer, bool) { + return &isc, true } -// Creates a new instance of the ProtectableContainerResourceListIterator type. -func NewProtectableContainerResourceListIterator(page ProtectableContainerResourceListPage) ProtectableContainerResourceListIterator { - return ProtectableContainerResourceListIterator{page: page} +// AsBasicIaaSVMContainer is the BasicProtectionContainer implementation for IaaSVMContainer. +func (isc IaaSVMContainer) AsBasicIaaSVMContainer() (BasicIaaSVMContainer, bool) { + return &isc, true } -// IsEmpty returns true if the ListResult contains no values. -func (pcrl ProtectableContainerResourceList) IsEmpty() bool { - return pcrl.Value == nil || len(*pcrl.Value) == 0 +// AsMabContainer is the BasicProtectionContainer implementation for IaaSVMContainer. +func (isc IaaSVMContainer) AsMabContainer() (*MabContainer, bool) { + return nil, false } -// protectableContainerResourceListPreparer prepares a request to retrieve the next set of results. -// It returns nil if no more results exist. -func (pcrl ProtectableContainerResourceList) protectableContainerResourceListPreparer(ctx context.Context) (*http.Request, error) { - if pcrl.NextLink == nil || len(to.String(pcrl.NextLink)) < 1 { - return nil, nil - } - return autorest.Prepare((&http.Request{}).WithContext(ctx), - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(pcrl.NextLink))) +// AsProtectionContainer is the BasicProtectionContainer implementation for IaaSVMContainer. +func (isc IaaSVMContainer) AsProtectionContainer() (*ProtectionContainer, bool) { + return nil, false } -// ProtectableContainerResourceListPage contains a page of ProtectableContainerResource values. -type ProtectableContainerResourceListPage struct { - fn func(context.Context, ProtectableContainerResourceList) (ProtectableContainerResourceList, error) - pcrl ProtectableContainerResourceList +// AsBasicProtectionContainer is the BasicProtectionContainer implementation for IaaSVMContainer. +func (isc IaaSVMContainer) AsBasicProtectionContainer() (BasicProtectionContainer, bool) { + return &isc, true } -// NextWithContext advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -func (page *ProtectableContainerResourceListPage) NextWithContext(ctx context.Context) (err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/ProtectableContainerResourceListPage.NextWithContext") - defer func() { - sc := -1 - if page.Response().Response.Response != nil { - sc = page.Response().Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() +// IaasVMILRRegistrationRequest restore files/folders from a backup copy of IaaS VM. +type IaasVMILRRegistrationRequest struct { + // RecoveryPointID - ID of the IaaS VM backup copy from where the files/folders have to be restored. + RecoveryPointID *string `json:"recoveryPointId,omitempty"` + // VirtualMachineID - Fully qualified ARM ID of the virtual machine whose the files / folders have to be restored. + VirtualMachineID *string `json:"virtualMachineId,omitempty"` + // InitiatorName - iSCSI initiator name. + InitiatorName *string `json:"initiatorName,omitempty"` + // RenewExistingRegistration - Whether to renew existing registration with the iSCSI server. + RenewExistingRegistration *bool `json:"renewExistingRegistration,omitempty"` + // ObjectType - Possible values include: 'ObjectTypeILRRequest', 'ObjectTypeAzureFileShareProvisionILRRequest', 'ObjectTypeIaasVMILRRegistrationRequest' + ObjectType ObjectTypeBasicILRRequest `json:"objectType,omitempty"` +} + +// MarshalJSON is the custom marshaler for IaasVMILRRegistrationRequest. +func (ivrr IaasVMILRRegistrationRequest) MarshalJSON() ([]byte, error) { + ivrr.ObjectType = ObjectTypeIaasVMILRRegistrationRequest + objectMap := make(map[string]interface{}) + if ivrr.RecoveryPointID != nil { + objectMap["recoveryPointId"] = ivrr.RecoveryPointID } - next, err := page.fn(ctx, page.pcrl) - if err != nil { - return err + if ivrr.VirtualMachineID != nil { + objectMap["virtualMachineId"] = ivrr.VirtualMachineID } - page.pcrl = next - return nil + if ivrr.InitiatorName != nil { + objectMap["initiatorName"] = ivrr.InitiatorName + } + if ivrr.RenewExistingRegistration != nil { + objectMap["renewExistingRegistration"] = ivrr.RenewExistingRegistration + } + if ivrr.ObjectType != "" { + objectMap["objectType"] = ivrr.ObjectType + } + return json.Marshal(objectMap) } -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -// Deprecated: Use NextWithContext() instead. -func (page *ProtectableContainerResourceListPage) Next() error { - return page.NextWithContext(context.Background()) +// AsAzureFileShareProvisionILRRequest is the BasicILRRequest implementation for IaasVMILRRegistrationRequest. +func (ivrr IaasVMILRRegistrationRequest) AsAzureFileShareProvisionILRRequest() (*AzureFileShareProvisionILRRequest, bool) { + return nil, false } -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page ProtectableContainerResourceListPage) NotDone() bool { - return !page.pcrl.IsEmpty() +// AsIaasVMILRRegistrationRequest is the BasicILRRequest implementation for IaasVMILRRegistrationRequest. +func (ivrr IaasVMILRRegistrationRequest) AsIaasVMILRRegistrationRequest() (*IaasVMILRRegistrationRequest, bool) { + return &ivrr, true } -// Response returns the raw server response from the last page request. -func (page ProtectableContainerResourceListPage) Response() ProtectableContainerResourceList { - return page.pcrl +// AsILRRequest is the BasicILRRequest implementation for IaasVMILRRegistrationRequest. +func (ivrr IaasVMILRRegistrationRequest) AsILRRequest() (*ILRRequest, bool) { + return nil, false } -// Values returns the slice of values for the current page or nil if there are no values. -func (page ProtectableContainerResourceListPage) Values() []ProtectableContainerResource { - if page.pcrl.IsEmpty() { - return nil - } - return *page.pcrl.Value +// AsBasicILRRequest is the BasicILRRequest implementation for IaasVMILRRegistrationRequest. +func (ivrr IaasVMILRRegistrationRequest) AsBasicILRRequest() (BasicILRRequest, bool) { + return &ivrr, true } -// Creates a new instance of the ProtectableContainerResourceListPage type. -func NewProtectableContainerResourceListPage(getNextPage func(context.Context, ProtectableContainerResourceList) (ProtectableContainerResourceList, error)) ProtectableContainerResourceListPage { - return ProtectableContainerResourceListPage{fn: getNextPage} +// BasicIaaSVMProtectableItem iaaS VM workload-specific backup item. +type BasicIaaSVMProtectableItem interface { + AsAzureIaaSClassicComputeVMProtectableItem() (*AzureIaaSClassicComputeVMProtectableItem, bool) + AsAzureIaaSComputeVMProtectableItem() (*AzureIaaSComputeVMProtectableItem, bool) + AsIaaSVMProtectableItem() (*IaaSVMProtectableItem, bool) } -// BasicProtectedItem base class for backup items. -type BasicProtectedItem interface { - AsAzureFileshareProtectedItem() (*AzureFileshareProtectedItem, bool) - AsAzureIaaSClassicComputeVMProtectedItem() (*AzureIaaSClassicComputeVMProtectedItem, bool) - AsAzureIaaSComputeVMProtectedItem() (*AzureIaaSComputeVMProtectedItem, bool) - AsAzureIaaSVMProtectedItem() (*AzureIaaSVMProtectedItem, bool) - AsBasicAzureIaaSVMProtectedItem() (BasicAzureIaaSVMProtectedItem, bool) - AsAzureSQLProtectedItem() (*AzureSQLProtectedItem, bool) - AsAzureVMWorkloadProtectedItem() (*AzureVMWorkloadProtectedItem, bool) - AsBasicAzureVMWorkloadProtectedItem() (BasicAzureVMWorkloadProtectedItem, bool) - AsAzureVMWorkloadSAPAseDatabaseProtectedItem() (*AzureVMWorkloadSAPAseDatabaseProtectedItem, bool) - AsAzureVMWorkloadSAPHanaDatabaseProtectedItem() (*AzureVMWorkloadSAPHanaDatabaseProtectedItem, bool) - AsAzureVMWorkloadSQLDatabaseProtectedItem() (*AzureVMWorkloadSQLDatabaseProtectedItem, bool) - AsDPMProtectedItem() (*DPMProtectedItem, bool) - AsGenericProtectedItem() (*GenericProtectedItem, bool) - AsMabFileFolderProtectedItem() (*MabFileFolderProtectedItem, bool) - AsProtectedItem() (*ProtectedItem, bool) -} - -// ProtectedItem base class for backup items. -type ProtectedItem struct { - // BackupManagementType - Type of backup management for the backed up item. Possible values include: 'ManagementTypeInvalid', 'ManagementTypeAzureIaasVM', 'ManagementTypeMAB', 'ManagementTypeDPM', 'ManagementTypeAzureBackupServer', 'ManagementTypeAzureSQL', 'ManagementTypeAzureStorage', 'ManagementTypeAzureWorkload', 'ManagementTypeDefaultBackup' - BackupManagementType ManagementType `json:"backupManagementType,omitempty"` - // WorkloadType - Type of workload this item represents. Possible values include: 'DataSourceTypeInvalid', 'DataSourceTypeVM', 'DataSourceTypeFileFolder', 'DataSourceTypeAzureSQLDb', 'DataSourceTypeSQLDB', 'DataSourceTypeExchange', 'DataSourceTypeSharepoint', 'DataSourceTypeVMwareVM', 'DataSourceTypeSystemState', 'DataSourceTypeClient', 'DataSourceTypeGenericDataSource', 'DataSourceTypeSQLDataBase', 'DataSourceTypeAzureFileShare', 'DataSourceTypeSAPHanaDatabase', 'DataSourceTypeSAPAseDatabase' - WorkloadType DataSourceType `json:"workloadType,omitempty"` - // ContainerName - Unique name of container - ContainerName *string `json:"containerName,omitempty"` - // SourceResourceID - ARM ID of the resource to be backed up. - SourceResourceID *string `json:"sourceResourceId,omitempty"` - // PolicyID - ID of the backup policy with which this item is backed up. - PolicyID *string `json:"policyId,omitempty"` - // LastRecoveryPoint - Timestamp when the last (latest) backup copy was created for this backup item. - LastRecoveryPoint *date.Time `json:"lastRecoveryPoint,omitempty"` - // BackupSetName - Name of the backup set the backup item belongs to - BackupSetName *string `json:"backupSetName,omitempty"` - // CreateMode - Create mode to indicate recovery of existing soft deleted data source or creation of new data source. Possible values include: 'CreateModeInvalid', 'CreateModeDefault', 'CreateModeRecover' - CreateMode CreateMode `json:"createMode,omitempty"` - // DeferredDeleteTimeInUTC - Time for deferred deletion in UTC - DeferredDeleteTimeInUTC *date.Time `json:"deferredDeleteTimeInUTC,omitempty"` - // IsScheduledForDeferredDelete - Flag to identify whether the DS is scheduled for deferred delete - IsScheduledForDeferredDelete *bool `json:"isScheduledForDeferredDelete,omitempty"` - // DeferredDeleteTimeRemaining - Time remaining before the DS marked for deferred delete is permanently deleted - DeferredDeleteTimeRemaining *string `json:"deferredDeleteTimeRemaining,omitempty"` - // IsDeferredDeleteScheduleUpcoming - Flag to identify whether the deferred deleted DS is to be purged soon - IsDeferredDeleteScheduleUpcoming *bool `json:"isDeferredDeleteScheduleUpcoming,omitempty"` - // IsRehydrate - Flag to identify that deferred deleted DS is to be moved into Pause state - IsRehydrate *bool `json:"isRehydrate,omitempty"` - // ProtectedItemType - Possible values include: 'ProtectedItemTypeProtectedItem', 'ProtectedItemTypeAzureFileShareProtectedItem', 'ProtectedItemTypeMicrosoftClassicComputevirtualMachines', 'ProtectedItemTypeMicrosoftComputevirtualMachines', 'ProtectedItemTypeAzureIaaSVMProtectedItem', 'ProtectedItemTypeMicrosoftSqlserversdatabases', 'ProtectedItemTypeAzureVMWorkloadProtectedItem', 'ProtectedItemTypeAzureVMWorkloadSAPAseDatabase', 'ProtectedItemTypeAzureVMWorkloadSAPHanaDatabase', 'ProtectedItemTypeAzureVMWorkloadSQLDatabase', 'ProtectedItemTypeDPMProtectedItem', 'ProtectedItemTypeGenericProtectedItem', 'ProtectedItemTypeMabFileFolderProtectedItem' - ProtectedItemType ProtectedItemType `json:"protectedItemType,omitempty"` -} - -func unmarshalBasicProtectedItem(body []byte) (BasicProtectedItem, error) { +// IaaSVMProtectableItem iaaS VM workload-specific backup item. +type IaaSVMProtectableItem struct { + // VirtualMachineID - Fully qualified ARM ID of the virtual machine. + VirtualMachineID *string `json:"virtualMachineId,omitempty"` + // BackupManagementType - Type of backup management to backup an item. + BackupManagementType *string `json:"backupManagementType,omitempty"` + // WorkloadType - Type of workload for the backup management + WorkloadType *string `json:"workloadType,omitempty"` + // FriendlyName - Friendly name of the backup item. + FriendlyName *string `json:"friendlyName,omitempty"` + // ProtectionState - State of the back up item. Possible values include: 'ProtectionStatusInvalid', 'ProtectionStatusNotProtected', 'ProtectionStatusProtecting', 'ProtectionStatusProtected', 'ProtectionStatusProtectionFailed' + ProtectionState ProtectionStatus `json:"protectionState,omitempty"` + // ProtectableItemType - Possible values include: 'ProtectableItemTypeWorkloadProtectableItem', 'ProtectableItemTypeAzureFileShare', 'ProtectableItemTypeMicrosoftClassicComputevirtualMachines', 'ProtectableItemTypeMicrosoftComputevirtualMachines', 'ProtectableItemTypeAzureVMWorkloadProtectableItem', 'ProtectableItemTypeSAPAseSystem', 'ProtectableItemTypeSAPHanaDatabase', 'ProtectableItemTypeSAPHanaSystem', 'ProtectableItemTypeSQLAvailabilityGroupContainer', 'ProtectableItemTypeSQLDataBase', 'ProtectableItemTypeSQLInstance', 'ProtectableItemTypeIaaSVMProtectableItem' + ProtectableItemType ProtectableItemType `json:"protectableItemType,omitempty"` +} + +func unmarshalBasicIaaSVMProtectableItem(body []byte) (BasicIaaSVMProtectableItem, error) { var m map[string]interface{} err := json.Unmarshal(body, &m) if err != nil { return nil, err } - switch m["protectedItemType"] { - case string(ProtectedItemTypeAzureFileShareProtectedItem): - var afpi AzureFileshareProtectedItem - err := json.Unmarshal(body, &afpi) - return afpi, err - case string(ProtectedItemTypeMicrosoftClassicComputevirtualMachines): - var aisccvpi AzureIaaSClassicComputeVMProtectedItem + switch m["protectableItemType"] { + case string(ProtectableItemTypeMicrosoftClassicComputevirtualMachines): + var aisccvpi AzureIaaSClassicComputeVMProtectableItem err := json.Unmarshal(body, &aisccvpi) return aisccvpi, err - case string(ProtectedItemTypeMicrosoftComputevirtualMachines): - var aiscvpi AzureIaaSComputeVMProtectedItem + case string(ProtectableItemTypeMicrosoftComputevirtualMachines): + var aiscvpi AzureIaaSComputeVMProtectableItem err := json.Unmarshal(body, &aiscvpi) return aiscvpi, err - case string(ProtectedItemTypeAzureIaaSVMProtectedItem): - var aispi AzureIaaSVMProtectedItem - err := json.Unmarshal(body, &aispi) - return aispi, err - case string(ProtectedItemTypeMicrosoftSqlserversdatabases): - var aspi AzureSQLProtectedItem - err := json.Unmarshal(body, &aspi) - return aspi, err - case string(ProtectedItemTypeAzureVMWorkloadProtectedItem): - var avwpi AzureVMWorkloadProtectedItem - err := json.Unmarshal(body, &avwpi) - return avwpi, err - case string(ProtectedItemTypeAzureVMWorkloadSAPAseDatabase): - var avwsadpi AzureVMWorkloadSAPAseDatabaseProtectedItem - err := json.Unmarshal(body, &avwsadpi) - return avwsadpi, err - case string(ProtectedItemTypeAzureVMWorkloadSAPHanaDatabase): - var avwshdpi AzureVMWorkloadSAPHanaDatabaseProtectedItem - err := json.Unmarshal(body, &avwshdpi) - return avwshdpi, err - case string(ProtectedItemTypeAzureVMWorkloadSQLDatabase): - var avwsdpi AzureVMWorkloadSQLDatabaseProtectedItem - err := json.Unmarshal(body, &avwsdpi) - return avwsdpi, err - case string(ProtectedItemTypeDPMProtectedItem): - var dpi DPMProtectedItem - err := json.Unmarshal(body, &dpi) - return dpi, err - case string(ProtectedItemTypeGenericProtectedItem): - var gpi GenericProtectedItem - err := json.Unmarshal(body, &gpi) - return gpi, err - case string(ProtectedItemTypeMabFileFolderProtectedItem): - var mffpi MabFileFolderProtectedItem - err := json.Unmarshal(body, &mffpi) - return mffpi, err default: - var pi ProtectedItem - err := json.Unmarshal(body, &pi) - return pi, err + var ispi IaaSVMProtectableItem + err := json.Unmarshal(body, &ispi) + return ispi, err } } -func unmarshalBasicProtectedItemArray(body []byte) ([]BasicProtectedItem, error) { +func unmarshalBasicIaaSVMProtectableItemArray(body []byte) ([]BasicIaaSVMProtectableItem, error) { var rawMessages []*json.RawMessage err := json.Unmarshal(body, &rawMessages) if err != nil { return nil, err } - piArray := make([]BasicProtectedItem, len(rawMessages)) + ispiArray := make([]BasicIaaSVMProtectableItem, len(rawMessages)) for index, rawMessage := range rawMessages { - pi, err := unmarshalBasicProtectedItem(*rawMessage) + ispi, err := unmarshalBasicIaaSVMProtectableItem(*rawMessage) if err != nil { return nil, err } - piArray[index] = pi + ispiArray[index] = ispi } - return piArray, nil + return ispiArray, nil } -// MarshalJSON is the custom marshaler for ProtectedItem. -func (pi ProtectedItem) MarshalJSON() ([]byte, error) { - pi.ProtectedItemType = ProtectedItemTypeProtectedItem +// MarshalJSON is the custom marshaler for IaaSVMProtectableItem. +func (ispi IaaSVMProtectableItem) MarshalJSON() ([]byte, error) { + ispi.ProtectableItemType = ProtectableItemTypeIaaSVMProtectableItem objectMap := make(map[string]interface{}) - if pi.BackupManagementType != "" { - objectMap["backupManagementType"] = pi.BackupManagementType - } - if pi.WorkloadType != "" { - objectMap["workloadType"] = pi.WorkloadType - } - if pi.ContainerName != nil { - objectMap["containerName"] = pi.ContainerName - } - if pi.SourceResourceID != nil { - objectMap["sourceResourceId"] = pi.SourceResourceID - } - if pi.PolicyID != nil { - objectMap["policyId"] = pi.PolicyID - } - if pi.LastRecoveryPoint != nil { - objectMap["lastRecoveryPoint"] = pi.LastRecoveryPoint - } - if pi.BackupSetName != nil { - objectMap["backupSetName"] = pi.BackupSetName - } - if pi.CreateMode != "" { - objectMap["createMode"] = pi.CreateMode - } - if pi.DeferredDeleteTimeInUTC != nil { - objectMap["deferredDeleteTimeInUTC"] = pi.DeferredDeleteTimeInUTC + if ispi.VirtualMachineID != nil { + objectMap["virtualMachineId"] = ispi.VirtualMachineID } - if pi.IsScheduledForDeferredDelete != nil { - objectMap["isScheduledForDeferredDelete"] = pi.IsScheduledForDeferredDelete + if ispi.BackupManagementType != nil { + objectMap["backupManagementType"] = ispi.BackupManagementType } - if pi.DeferredDeleteTimeRemaining != nil { - objectMap["deferredDeleteTimeRemaining"] = pi.DeferredDeleteTimeRemaining + if ispi.WorkloadType != nil { + objectMap["workloadType"] = ispi.WorkloadType } - if pi.IsDeferredDeleteScheduleUpcoming != nil { - objectMap["isDeferredDeleteScheduleUpcoming"] = pi.IsDeferredDeleteScheduleUpcoming + if ispi.FriendlyName != nil { + objectMap["friendlyName"] = ispi.FriendlyName } - if pi.IsRehydrate != nil { - objectMap["isRehydrate"] = pi.IsRehydrate + if ispi.ProtectionState != "" { + objectMap["protectionState"] = ispi.ProtectionState } - if pi.ProtectedItemType != "" { - objectMap["protectedItemType"] = pi.ProtectedItemType + if ispi.ProtectableItemType != "" { + objectMap["protectableItemType"] = ispi.ProtectableItemType } return json.Marshal(objectMap) } -// AsAzureFileshareProtectedItem is the BasicProtectedItem implementation for ProtectedItem. -func (pi ProtectedItem) AsAzureFileshareProtectedItem() (*AzureFileshareProtectedItem, bool) { +// AsAzureFileShareProtectableItem is the BasicWorkloadProtectableItem implementation for IaaSVMProtectableItem. +func (ispi IaaSVMProtectableItem) AsAzureFileShareProtectableItem() (*AzureFileShareProtectableItem, bool) { return nil, false } -// AsAzureIaaSClassicComputeVMProtectedItem is the BasicProtectedItem implementation for ProtectedItem. -func (pi ProtectedItem) AsAzureIaaSClassicComputeVMProtectedItem() (*AzureIaaSClassicComputeVMProtectedItem, bool) { +// AsAzureIaaSClassicComputeVMProtectableItem is the BasicWorkloadProtectableItem implementation for IaaSVMProtectableItem. +func (ispi IaaSVMProtectableItem) AsAzureIaaSClassicComputeVMProtectableItem() (*AzureIaaSClassicComputeVMProtectableItem, bool) { return nil, false } -// AsAzureIaaSComputeVMProtectedItem is the BasicProtectedItem implementation for ProtectedItem. -func (pi ProtectedItem) AsAzureIaaSComputeVMProtectedItem() (*AzureIaaSComputeVMProtectedItem, bool) { +// AsAzureIaaSComputeVMProtectableItem is the BasicWorkloadProtectableItem implementation for IaaSVMProtectableItem. +func (ispi IaaSVMProtectableItem) AsAzureIaaSComputeVMProtectableItem() (*AzureIaaSComputeVMProtectableItem, bool) { return nil, false } -// AsAzureIaaSVMProtectedItem is the BasicProtectedItem implementation for ProtectedItem. -func (pi ProtectedItem) AsAzureIaaSVMProtectedItem() (*AzureIaaSVMProtectedItem, bool) { +// AsAzureVMWorkloadProtectableItem is the BasicWorkloadProtectableItem implementation for IaaSVMProtectableItem. +func (ispi IaaSVMProtectableItem) AsAzureVMWorkloadProtectableItem() (*AzureVMWorkloadProtectableItem, bool) { return nil, false } -// AsBasicAzureIaaSVMProtectedItem is the BasicProtectedItem implementation for ProtectedItem. -func (pi ProtectedItem) AsBasicAzureIaaSVMProtectedItem() (BasicAzureIaaSVMProtectedItem, bool) { +// AsBasicAzureVMWorkloadProtectableItem is the BasicWorkloadProtectableItem implementation for IaaSVMProtectableItem. +func (ispi IaaSVMProtectableItem) AsBasicAzureVMWorkloadProtectableItem() (BasicAzureVMWorkloadProtectableItem, bool) { return nil, false } -// AsAzureSQLProtectedItem is the BasicProtectedItem implementation for ProtectedItem. -func (pi ProtectedItem) AsAzureSQLProtectedItem() (*AzureSQLProtectedItem, bool) { +// AsAzureVMWorkloadSAPAseSystemProtectableItem is the BasicWorkloadProtectableItem implementation for IaaSVMProtectableItem. +func (ispi IaaSVMProtectableItem) AsAzureVMWorkloadSAPAseSystemProtectableItem() (*AzureVMWorkloadSAPAseSystemProtectableItem, bool) { return nil, false } -// AsAzureVMWorkloadProtectedItem is the BasicProtectedItem implementation for ProtectedItem. -func (pi ProtectedItem) AsAzureVMWorkloadProtectedItem() (*AzureVMWorkloadProtectedItem, bool) { +// AsAzureVMWorkloadSAPHanaDatabaseProtectableItem is the BasicWorkloadProtectableItem implementation for IaaSVMProtectableItem. +func (ispi IaaSVMProtectableItem) AsAzureVMWorkloadSAPHanaDatabaseProtectableItem() (*AzureVMWorkloadSAPHanaDatabaseProtectableItem, bool) { return nil, false } -// AsBasicAzureVMWorkloadProtectedItem is the BasicProtectedItem implementation for ProtectedItem. -func (pi ProtectedItem) AsBasicAzureVMWorkloadProtectedItem() (BasicAzureVMWorkloadProtectedItem, bool) { +// AsAzureVMWorkloadSAPHanaSystemProtectableItem is the BasicWorkloadProtectableItem implementation for IaaSVMProtectableItem. +func (ispi IaaSVMProtectableItem) AsAzureVMWorkloadSAPHanaSystemProtectableItem() (*AzureVMWorkloadSAPHanaSystemProtectableItem, bool) { return nil, false } -// AsAzureVMWorkloadSAPAseDatabaseProtectedItem is the BasicProtectedItem implementation for ProtectedItem. -func (pi ProtectedItem) AsAzureVMWorkloadSAPAseDatabaseProtectedItem() (*AzureVMWorkloadSAPAseDatabaseProtectedItem, bool) { +// AsAzureVMWorkloadSQLAvailabilityGroupProtectableItem is the BasicWorkloadProtectableItem implementation for IaaSVMProtectableItem. +func (ispi IaaSVMProtectableItem) AsAzureVMWorkloadSQLAvailabilityGroupProtectableItem() (*AzureVMWorkloadSQLAvailabilityGroupProtectableItem, bool) { return nil, false } -// AsAzureVMWorkloadSAPHanaDatabaseProtectedItem is the BasicProtectedItem implementation for ProtectedItem. -func (pi ProtectedItem) AsAzureVMWorkloadSAPHanaDatabaseProtectedItem() (*AzureVMWorkloadSAPHanaDatabaseProtectedItem, bool) { +// AsAzureVMWorkloadSQLDatabaseProtectableItem is the BasicWorkloadProtectableItem implementation for IaaSVMProtectableItem. +func (ispi IaaSVMProtectableItem) AsAzureVMWorkloadSQLDatabaseProtectableItem() (*AzureVMWorkloadSQLDatabaseProtectableItem, bool) { return nil, false } -// AsAzureVMWorkloadSQLDatabaseProtectedItem is the BasicProtectedItem implementation for ProtectedItem. -func (pi ProtectedItem) AsAzureVMWorkloadSQLDatabaseProtectedItem() (*AzureVMWorkloadSQLDatabaseProtectedItem, bool) { +// AsAzureVMWorkloadSQLInstanceProtectableItem is the BasicWorkloadProtectableItem implementation for IaaSVMProtectableItem. +func (ispi IaaSVMProtectableItem) AsAzureVMWorkloadSQLInstanceProtectableItem() (*AzureVMWorkloadSQLInstanceProtectableItem, bool) { return nil, false } -// AsDPMProtectedItem is the BasicProtectedItem implementation for ProtectedItem. -func (pi ProtectedItem) AsDPMProtectedItem() (*DPMProtectedItem, bool) { +// AsIaaSVMProtectableItem is the BasicWorkloadProtectableItem implementation for IaaSVMProtectableItem. +func (ispi IaaSVMProtectableItem) AsIaaSVMProtectableItem() (*IaaSVMProtectableItem, bool) { + return &ispi, true +} + +// AsBasicIaaSVMProtectableItem is the BasicWorkloadProtectableItem implementation for IaaSVMProtectableItem. +func (ispi IaaSVMProtectableItem) AsBasicIaaSVMProtectableItem() (BasicIaaSVMProtectableItem, bool) { + return &ispi, true +} + +// AsWorkloadProtectableItem is the BasicWorkloadProtectableItem implementation for IaaSVMProtectableItem. +func (ispi IaaSVMProtectableItem) AsWorkloadProtectableItem() (*WorkloadProtectableItem, bool) { return nil, false } -// AsGenericProtectedItem is the BasicProtectedItem implementation for ProtectedItem. -func (pi ProtectedItem) AsGenericProtectedItem() (*GenericProtectedItem, bool) { +// AsBasicWorkloadProtectableItem is the BasicWorkloadProtectableItem implementation for IaaSVMProtectableItem. +func (ispi IaaSVMProtectableItem) AsBasicWorkloadProtectableItem() (BasicWorkloadProtectableItem, bool) { + return &ispi, true +} + +// BasicILRRequest parameters to Provision ILR API. +type BasicILRRequest interface { + AsAzureFileShareProvisionILRRequest() (*AzureFileShareProvisionILRRequest, bool) + AsIaasVMILRRegistrationRequest() (*IaasVMILRRegistrationRequest, bool) + AsILRRequest() (*ILRRequest, bool) +} + +// ILRRequest parameters to Provision ILR API. +type ILRRequest struct { + // ObjectType - Possible values include: 'ObjectTypeILRRequest', 'ObjectTypeAzureFileShareProvisionILRRequest', 'ObjectTypeIaasVMILRRegistrationRequest' + ObjectType ObjectTypeBasicILRRequest `json:"objectType,omitempty"` +} + +func unmarshalBasicILRRequest(body []byte) (BasicILRRequest, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["objectType"] { + case string(ObjectTypeAzureFileShareProvisionILRRequest): + var afspir AzureFileShareProvisionILRRequest + err := json.Unmarshal(body, &afspir) + return afspir, err + case string(ObjectTypeIaasVMILRRegistrationRequest): + var ivrr IaasVMILRRegistrationRequest + err := json.Unmarshal(body, &ivrr) + return ivrr, err + default: + var ir ILRRequest + err := json.Unmarshal(body, &ir) + return ir, err + } +} +func unmarshalBasicILRRequestArray(body []byte) ([]BasicILRRequest, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + irArray := make([]BasicILRRequest, len(rawMessages)) + + for index, rawMessage := range rawMessages { + ir, err := unmarshalBasicILRRequest(*rawMessage) + if err != nil { + return nil, err + } + irArray[index] = ir + } + return irArray, nil +} + +// MarshalJSON is the custom marshaler for ILRRequest. +func (ir ILRRequest) MarshalJSON() ([]byte, error) { + ir.ObjectType = ObjectTypeILRRequest + objectMap := make(map[string]interface{}) + if ir.ObjectType != "" { + objectMap["objectType"] = ir.ObjectType + } + return json.Marshal(objectMap) +} + +// AsAzureFileShareProvisionILRRequest is the BasicILRRequest implementation for ILRRequest. +func (ir ILRRequest) AsAzureFileShareProvisionILRRequest() (*AzureFileShareProvisionILRRequest, bool) { return nil, false } -// AsMabFileFolderProtectedItem is the BasicProtectedItem implementation for ProtectedItem. -func (pi ProtectedItem) AsMabFileFolderProtectedItem() (*MabFileFolderProtectedItem, bool) { +// AsIaasVMILRRegistrationRequest is the BasicILRRequest implementation for ILRRequest. +func (ir ILRRequest) AsIaasVMILRRegistrationRequest() (*IaasVMILRRegistrationRequest, bool) { return nil, false } -// AsProtectedItem is the BasicProtectedItem implementation for ProtectedItem. -func (pi ProtectedItem) AsProtectedItem() (*ProtectedItem, bool) { - return &pi, true +// AsILRRequest is the BasicILRRequest implementation for ILRRequest. +func (ir ILRRequest) AsILRRequest() (*ILRRequest, bool) { + return &ir, true } -// AsBasicProtectedItem is the BasicProtectedItem implementation for ProtectedItem. -func (pi ProtectedItem) AsBasicProtectedItem() (BasicProtectedItem, bool) { - return &pi, true +// AsBasicILRRequest is the BasicILRRequest implementation for ILRRequest. +func (ir ILRRequest) AsBasicILRRequest() (BasicILRRequest, bool) { + return &ir, true } -// ProtectedItemResource base class for backup items. -type ProtectedItemResource struct { - autorest.Response `json:"-"` - // Properties - ProtectedItemResource properties - Properties BasicProtectedItem `json:"properties,omitempty"` +// ILRRequestResource parameters to Provision ILR API. +type ILRRequestResource struct { + // Properties - ILRRequestResource properties + Properties BasicILRRequest `json:"properties,omitempty"` // ID - READ-ONLY; Resource Id represents the complete path to the resource. ID *string `json:"id,omitempty"` // Name - READ-ONLY; Resource name associated with the resource. @@ -13935,24 +6035,24 @@ type ProtectedItemResource struct { ETag *string `json:"eTag,omitempty"` } -// MarshalJSON is the custom marshaler for ProtectedItemResource. -func (pir ProtectedItemResource) MarshalJSON() ([]byte, error) { +// MarshalJSON is the custom marshaler for ILRRequestResource. +func (irr ILRRequestResource) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) - objectMap["properties"] = pir.Properties - if pir.Location != nil { - objectMap["location"] = pir.Location + objectMap["properties"] = irr.Properties + if irr.Location != nil { + objectMap["location"] = irr.Location } - if pir.Tags != nil { - objectMap["tags"] = pir.Tags + if irr.Tags != nil { + objectMap["tags"] = irr.Tags } - if pir.ETag != nil { - objectMap["eTag"] = pir.ETag + if irr.ETag != nil { + objectMap["eTag"] = irr.ETag } return json.Marshal(objectMap) } -// UnmarshalJSON is the custom unmarshaler for ProtectedItemResource struct. -func (pir *ProtectedItemResource) UnmarshalJSON(body []byte) error { +// UnmarshalJSON is the custom unmarshaler for ILRRequestResource struct. +func (irr *ILRRequestResource) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -13962,11 +6062,11 @@ func (pir *ProtectedItemResource) UnmarshalJSON(body []byte) error { switch k { case "properties": if v != nil { - properties, err := unmarshalBasicProtectedItem(*v) + properties, err := unmarshalBasicILRRequest(*v) if err != nil { return err } - pir.Properties = properties + irr.Properties = properties } case "id": if v != nil { @@ -13975,7 +6075,7 @@ func (pir *ProtectedItemResource) UnmarshalJSON(body []byte) error { if err != nil { return err } - pir.ID = &ID + irr.ID = &ID } case "name": if v != nil { @@ -13984,7 +6084,7 @@ func (pir *ProtectedItemResource) UnmarshalJSON(body []byte) error { if err != nil { return err } - pir.Name = &name + irr.Name = &name } case "type": if v != nil { @@ -13993,7 +6093,7 @@ func (pir *ProtectedItemResource) UnmarshalJSON(body []byte) error { if err != nil { return err } - pir.Type = &typeVar + irr.Type = &typeVar } case "location": if v != nil { @@ -14002,7 +6102,7 @@ func (pir *ProtectedItemResource) UnmarshalJSON(body []byte) error { if err != nil { return err } - pir.Location = &location + irr.Location = &location } case "tags": if v != nil { @@ -14011,7 +6111,7 @@ func (pir *ProtectedItemResource) UnmarshalJSON(body []byte) error { if err != nil { return err } - pir.Tags = tags + irr.Tags = tags } case "eTag": if v != nil { @@ -14020,7 +6120,7 @@ func (pir *ProtectedItemResource) UnmarshalJSON(body []byte) error { if err != nil { return err } - pir.ETag = &eTag + irr.ETag = &eTag } } } @@ -14028,268 +6128,237 @@ func (pir *ProtectedItemResource) UnmarshalJSON(body []byte) error { return nil } -// BasicProtectionContainer base class for container with backup items. Containers with specific workloads are derived -// from this class. -type BasicProtectionContainer interface { - AsAzureBackupServerContainer() (*AzureBackupServerContainer, bool) - AsAzureIaaSClassicComputeVMContainer() (*AzureIaaSClassicComputeVMContainer, bool) - AsAzureIaaSComputeVMContainer() (*AzureIaaSComputeVMContainer, bool) - AsAzureSQLAGWorkloadContainerProtectionContainer() (*AzureSQLAGWorkloadContainerProtectionContainer, bool) - AsAzureSQLContainer() (*AzureSQLContainer, bool) - AsAzureStorageContainer() (*AzureStorageContainer, bool) - AsAzureVMAppContainerProtectionContainer() (*AzureVMAppContainerProtectionContainer, bool) - AsAzureWorkloadContainer() (*AzureWorkloadContainer, bool) - AsBasicAzureWorkloadContainer() (BasicAzureWorkloadContainer, bool) - AsDpmContainer() (*DpmContainer, bool) - AsBasicDpmContainer() (BasicDpmContainer, bool) - AsGenericContainer() (*GenericContainer, bool) - AsIaaSVMContainer() (*IaaSVMContainer, bool) - AsBasicIaaSVMContainer() (BasicIaaSVMContainer, bool) - AsMabContainer() (*MabContainer, bool) - AsProtectionContainer() (*ProtectionContainer, bool) -} - -// ProtectionContainer base class for container with backup items. Containers with specific workloads are -// derived from this class. -type ProtectionContainer struct { - // FriendlyName - Friendly name of the container. - FriendlyName *string `json:"friendlyName,omitempty"` - // BackupManagementType - Type of backup management for the container. Possible values include: 'ManagementTypeInvalid', 'ManagementTypeAzureIaasVM', 'ManagementTypeMAB', 'ManagementTypeDPM', 'ManagementTypeAzureBackupServer', 'ManagementTypeAzureSQL', 'ManagementTypeAzureStorage', 'ManagementTypeAzureWorkload', 'ManagementTypeDefaultBackup' - BackupManagementType ManagementType `json:"backupManagementType,omitempty"` - // RegistrationStatus - Status of registration of the container with the Recovery Services Vault. - RegistrationStatus *string `json:"registrationStatus,omitempty"` - // HealthStatus - Status of health of the container. - HealthStatus *string `json:"healthStatus,omitempty"` - // ContainerType - Possible values include: 'ContainerTypeProtectionContainer', 'ContainerTypeAzureBackupServerContainer1', 'ContainerTypeMicrosoftClassicComputevirtualMachines', 'ContainerTypeMicrosoftComputevirtualMachines', 'ContainerTypeSQLAGWorkLoadContainer1', 'ContainerTypeAzureSQLContainer1', 'ContainerTypeStorageContainer1', 'ContainerTypeVMAppContainer1', 'ContainerTypeAzureWorkloadContainer', 'ContainerTypeDPMContainer1', 'ContainerTypeGenericContainer1', 'ContainerTypeIaaSVMContainer', 'ContainerTypeWindows1' - ContainerType ContainerTypeBasicProtectionContainer `json:"containerType,omitempty"` +// InquiryInfo details about inquired protectable items under a given container. +type InquiryInfo struct { + // Status - Inquiry Status for this container such as + // InProgress | Failed | Succeeded + Status *string `json:"status,omitempty"` + // ErrorDetail - Error Details if the Status is non-success. + ErrorDetail *ErrorDetail `json:"errorDetail,omitempty"` + // InquiryDetails - Inquiry Details which will have workload specific details. + // For e.g. - For SQL and oracle this will contain different details. + InquiryDetails *[]WorkloadInquiryDetails `json:"inquiryDetails,omitempty"` } -func unmarshalBasicProtectionContainer(body []byte) (BasicProtectionContainer, error) { - var m map[string]interface{} - err := json.Unmarshal(body, &m) - if err != nil { - return nil, err - } - - switch m["containerType"] { - case string(ContainerTypeAzureBackupServerContainer1): - var absc AzureBackupServerContainer - err := json.Unmarshal(body, &absc) - return absc, err - case string(ContainerTypeMicrosoftClassicComputevirtualMachines): - var aisccvc AzureIaaSClassicComputeVMContainer - err := json.Unmarshal(body, &aisccvc) - return aisccvc, err - case string(ContainerTypeMicrosoftComputevirtualMachines): - var aiscvc AzureIaaSComputeVMContainer - err := json.Unmarshal(body, &aiscvc) - return aiscvc, err - case string(ContainerTypeSQLAGWorkLoadContainer1): - var aswcpc AzureSQLAGWorkloadContainerProtectionContainer - err := json.Unmarshal(body, &aswcpc) - return aswcpc, err - case string(ContainerTypeAzureSQLContainer1): - var asc AzureSQLContainer - err := json.Unmarshal(body, &asc) - return asc, err - case string(ContainerTypeStorageContainer1): - var asc AzureStorageContainer - err := json.Unmarshal(body, &asc) - return asc, err - case string(ContainerTypeVMAppContainer1): - var avacpc AzureVMAppContainerProtectionContainer - err := json.Unmarshal(body, &avacpc) - return avacpc, err - case string(ContainerTypeAzureWorkloadContainer): - var awc AzureWorkloadContainer - err := json.Unmarshal(body, &awc) - return awc, err - case string(ContainerTypeDPMContainer1): - var dc DpmContainer - err := json.Unmarshal(body, &dc) - return dc, err - case string(ContainerTypeGenericContainer1): - var gc GenericContainer - err := json.Unmarshal(body, &gc) - return gc, err - case string(ContainerTypeIaaSVMContainer): - var isc IaaSVMContainer - err := json.Unmarshal(body, &isc) - return isc, err - case string(ContainerTypeWindows1): - var mc MabContainer - err := json.Unmarshal(body, &mc) - return mc, err - default: - var pc ProtectionContainer - err := json.Unmarshal(body, &pc) - return pc, err - } +// InquiryValidation validation for inquired protectable items under a given container. +type InquiryValidation struct { + // Status - Status for the Inquiry Validation. + Status *string `json:"status,omitempty"` + // ErrorDetail - Error Detail in case the status is non-success. + ErrorDetail *ErrorDetail `json:"errorDetail,omitempty"` + // AdditionalDetail - READ-ONLY; Error Additional Detail in case the status is non-success. + AdditionalDetail *string `json:"additionalDetail,omitempty"` } -func unmarshalBasicProtectionContainerArray(body []byte) ([]BasicProtectionContainer, error) { - var rawMessages []*json.RawMessage - err := json.Unmarshal(body, &rawMessages) - if err != nil { - return nil, err - } - pcArray := make([]BasicProtectionContainer, len(rawMessages)) - - for index, rawMessage := range rawMessages { - pc, err := unmarshalBasicProtectionContainer(*rawMessage) - if err != nil { - return nil, err - } - pcArray[index] = pc - } - return pcArray, nil +// InstantItemRecoveryTarget target details for file / folder restore. +type InstantItemRecoveryTarget struct { + // ClientScripts - List of client scripts. + ClientScripts *[]ClientScriptForConnect `json:"clientScripts,omitempty"` } -// MarshalJSON is the custom marshaler for ProtectionContainer. -func (pc ProtectionContainer) MarshalJSON() ([]byte, error) { - pc.ContainerType = ContainerTypeProtectionContainer +// MabContainer container with items backed up using MAB backup engine. +type MabContainer struct { + // CanReRegister - Can the container be registered one more time. + CanReRegister *bool `json:"canReRegister,omitempty"` + // ContainerID - ContainerID represents the container. + ContainerID *int64 `json:"containerId,omitempty"` + // ProtectedItemCount - Number of items backed up in this container. + ProtectedItemCount *int64 `json:"protectedItemCount,omitempty"` + // AgentVersion - Agent version of this container. + AgentVersion *string `json:"agentVersion,omitempty"` + // ExtendedInfo - Additional information for this container + ExtendedInfo *MabContainerExtendedInfo `json:"extendedInfo,omitempty"` + // MabContainerHealthDetails - Health details on this mab container. + MabContainerHealthDetails *[]MABContainerHealthDetails `json:"mabContainerHealthDetails,omitempty"` + // ContainerHealthState - Health state of mab container. + ContainerHealthState *string `json:"containerHealthState,omitempty"` + // FriendlyName - Friendly name of the container. + FriendlyName *string `json:"friendlyName,omitempty"` + // BackupManagementType - Type of backup management for the container. Possible values include: 'ManagementTypeInvalid', 'ManagementTypeAzureIaasVM', 'ManagementTypeMAB', 'ManagementTypeDPM', 'ManagementTypeAzureBackupServer', 'ManagementTypeAzureSQL', 'ManagementTypeAzureStorage', 'ManagementTypeAzureWorkload', 'ManagementTypeDefaultBackup' + BackupManagementType ManagementType `json:"backupManagementType,omitempty"` + // RegistrationStatus - Status of registration of the container with the Recovery Services Vault. + RegistrationStatus *string `json:"registrationStatus,omitempty"` + // HealthStatus - Status of health of the container. + HealthStatus *string `json:"healthStatus,omitempty"` + // ContainerType - Possible values include: 'ContainerTypeProtectionContainer', 'ContainerTypeAzureBackupServerContainer1', 'ContainerTypeMicrosoftClassicComputevirtualMachines', 'ContainerTypeMicrosoftComputevirtualMachines', 'ContainerTypeSQLAGWorkLoadContainer1', 'ContainerTypeAzureSQLContainer1', 'ContainerTypeStorageContainer1', 'ContainerTypeVMAppContainer1', 'ContainerTypeAzureWorkloadContainer', 'ContainerTypeDPMContainer1', 'ContainerTypeGenericContainer1', 'ContainerTypeIaaSVMContainer', 'ContainerTypeWindows1' + ContainerType ContainerTypeBasicProtectionContainer `json:"containerType,omitempty"` +} + +// MarshalJSON is the custom marshaler for MabContainer. +func (mc MabContainer) MarshalJSON() ([]byte, error) { + mc.ContainerType = ContainerTypeWindows1 objectMap := make(map[string]interface{}) - if pc.FriendlyName != nil { - objectMap["friendlyName"] = pc.FriendlyName + if mc.CanReRegister != nil { + objectMap["canReRegister"] = mc.CanReRegister } - if pc.BackupManagementType != "" { - objectMap["backupManagementType"] = pc.BackupManagementType + if mc.ContainerID != nil { + objectMap["containerId"] = mc.ContainerID } - if pc.RegistrationStatus != nil { - objectMap["registrationStatus"] = pc.RegistrationStatus + if mc.ProtectedItemCount != nil { + objectMap["protectedItemCount"] = mc.ProtectedItemCount } - if pc.HealthStatus != nil { - objectMap["healthStatus"] = pc.HealthStatus + if mc.AgentVersion != nil { + objectMap["agentVersion"] = mc.AgentVersion } - if pc.ContainerType != "" { - objectMap["containerType"] = pc.ContainerType + if mc.ExtendedInfo != nil { + objectMap["extendedInfo"] = mc.ExtendedInfo + } + if mc.MabContainerHealthDetails != nil { + objectMap["mabContainerHealthDetails"] = mc.MabContainerHealthDetails + } + if mc.ContainerHealthState != nil { + objectMap["containerHealthState"] = mc.ContainerHealthState + } + if mc.FriendlyName != nil { + objectMap["friendlyName"] = mc.FriendlyName + } + if mc.BackupManagementType != "" { + objectMap["backupManagementType"] = mc.BackupManagementType + } + if mc.RegistrationStatus != nil { + objectMap["registrationStatus"] = mc.RegistrationStatus + } + if mc.HealthStatus != nil { + objectMap["healthStatus"] = mc.HealthStatus + } + if mc.ContainerType != "" { + objectMap["containerType"] = mc.ContainerType } return json.Marshal(objectMap) } -// AsAzureBackupServerContainer is the BasicProtectionContainer implementation for ProtectionContainer. -func (pc ProtectionContainer) AsAzureBackupServerContainer() (*AzureBackupServerContainer, bool) { +// AsAzureBackupServerContainer is the BasicProtectionContainer implementation for MabContainer. +func (mc MabContainer) AsAzureBackupServerContainer() (*AzureBackupServerContainer, bool) { return nil, false } -// AsAzureIaaSClassicComputeVMContainer is the BasicProtectionContainer implementation for ProtectionContainer. -func (pc ProtectionContainer) AsAzureIaaSClassicComputeVMContainer() (*AzureIaaSClassicComputeVMContainer, bool) { +// AsAzureIaaSClassicComputeVMContainer is the BasicProtectionContainer implementation for MabContainer. +func (mc MabContainer) AsAzureIaaSClassicComputeVMContainer() (*AzureIaaSClassicComputeVMContainer, bool) { return nil, false } -// AsAzureIaaSComputeVMContainer is the BasicProtectionContainer implementation for ProtectionContainer. -func (pc ProtectionContainer) AsAzureIaaSComputeVMContainer() (*AzureIaaSComputeVMContainer, bool) { +// AsAzureIaaSComputeVMContainer is the BasicProtectionContainer implementation for MabContainer. +func (mc MabContainer) AsAzureIaaSComputeVMContainer() (*AzureIaaSComputeVMContainer, bool) { return nil, false } -// AsAzureSQLAGWorkloadContainerProtectionContainer is the BasicProtectionContainer implementation for ProtectionContainer. -func (pc ProtectionContainer) AsAzureSQLAGWorkloadContainerProtectionContainer() (*AzureSQLAGWorkloadContainerProtectionContainer, bool) { +// AsAzureSQLAGWorkloadContainerProtectionContainer is the BasicProtectionContainer implementation for MabContainer. +func (mc MabContainer) AsAzureSQLAGWorkloadContainerProtectionContainer() (*AzureSQLAGWorkloadContainerProtectionContainer, bool) { return nil, false } -// AsAzureSQLContainer is the BasicProtectionContainer implementation for ProtectionContainer. -func (pc ProtectionContainer) AsAzureSQLContainer() (*AzureSQLContainer, bool) { +// AsAzureSQLContainer is the BasicProtectionContainer implementation for MabContainer. +func (mc MabContainer) AsAzureSQLContainer() (*AzureSQLContainer, bool) { return nil, false } -// AsAzureStorageContainer is the BasicProtectionContainer implementation for ProtectionContainer. -func (pc ProtectionContainer) AsAzureStorageContainer() (*AzureStorageContainer, bool) { +// AsAzureStorageContainer is the BasicProtectionContainer implementation for MabContainer. +func (mc MabContainer) AsAzureStorageContainer() (*AzureStorageContainer, bool) { return nil, false } -// AsAzureVMAppContainerProtectionContainer is the BasicProtectionContainer implementation for ProtectionContainer. -func (pc ProtectionContainer) AsAzureVMAppContainerProtectionContainer() (*AzureVMAppContainerProtectionContainer, bool) { +// AsAzureVMAppContainerProtectionContainer is the BasicProtectionContainer implementation for MabContainer. +func (mc MabContainer) AsAzureVMAppContainerProtectionContainer() (*AzureVMAppContainerProtectionContainer, bool) { return nil, false } -// AsAzureWorkloadContainer is the BasicProtectionContainer implementation for ProtectionContainer. -func (pc ProtectionContainer) AsAzureWorkloadContainer() (*AzureWorkloadContainer, bool) { +// AsAzureWorkloadContainer is the BasicProtectionContainer implementation for MabContainer. +func (mc MabContainer) AsAzureWorkloadContainer() (*AzureWorkloadContainer, bool) { return nil, false } -// AsBasicAzureWorkloadContainer is the BasicProtectionContainer implementation for ProtectionContainer. -func (pc ProtectionContainer) AsBasicAzureWorkloadContainer() (BasicAzureWorkloadContainer, bool) { +// AsBasicAzureWorkloadContainer is the BasicProtectionContainer implementation for MabContainer. +func (mc MabContainer) AsBasicAzureWorkloadContainer() (BasicAzureWorkloadContainer, bool) { return nil, false } -// AsDpmContainer is the BasicProtectionContainer implementation for ProtectionContainer. -func (pc ProtectionContainer) AsDpmContainer() (*DpmContainer, bool) { +// AsDpmContainer is the BasicProtectionContainer implementation for MabContainer. +func (mc MabContainer) AsDpmContainer() (*DpmContainer, bool) { return nil, false } -// AsBasicDpmContainer is the BasicProtectionContainer implementation for ProtectionContainer. -func (pc ProtectionContainer) AsBasicDpmContainer() (BasicDpmContainer, bool) { +// AsBasicDpmContainer is the BasicProtectionContainer implementation for MabContainer. +func (mc MabContainer) AsBasicDpmContainer() (BasicDpmContainer, bool) { return nil, false } -// AsGenericContainer is the BasicProtectionContainer implementation for ProtectionContainer. -func (pc ProtectionContainer) AsGenericContainer() (*GenericContainer, bool) { +// AsGenericContainer is the BasicProtectionContainer implementation for MabContainer. +func (mc MabContainer) AsGenericContainer() (*GenericContainer, bool) { return nil, false } -// AsIaaSVMContainer is the BasicProtectionContainer implementation for ProtectionContainer. -func (pc ProtectionContainer) AsIaaSVMContainer() (*IaaSVMContainer, bool) { +// AsIaaSVMContainer is the BasicProtectionContainer implementation for MabContainer. +func (mc MabContainer) AsIaaSVMContainer() (*IaaSVMContainer, bool) { return nil, false } -// AsBasicIaaSVMContainer is the BasicProtectionContainer implementation for ProtectionContainer. -func (pc ProtectionContainer) AsBasicIaaSVMContainer() (BasicIaaSVMContainer, bool) { +// AsBasicIaaSVMContainer is the BasicProtectionContainer implementation for MabContainer. +func (mc MabContainer) AsBasicIaaSVMContainer() (BasicIaaSVMContainer, bool) { return nil, false } -// AsMabContainer is the BasicProtectionContainer implementation for ProtectionContainer. -func (pc ProtectionContainer) AsMabContainer() (*MabContainer, bool) { +// AsMabContainer is the BasicProtectionContainer implementation for MabContainer. +func (mc MabContainer) AsMabContainer() (*MabContainer, bool) { + return &mc, true +} + +// AsProtectionContainer is the BasicProtectionContainer implementation for MabContainer. +func (mc MabContainer) AsProtectionContainer() (*ProtectionContainer, bool) { return nil, false } -// AsProtectionContainer is the BasicProtectionContainer implementation for ProtectionContainer. -func (pc ProtectionContainer) AsProtectionContainer() (*ProtectionContainer, bool) { - return &pc, true +// AsBasicProtectionContainer is the BasicProtectionContainer implementation for MabContainer. +func (mc MabContainer) AsBasicProtectionContainer() (BasicProtectionContainer, bool) { + return &mc, true } -// AsBasicProtectionContainer is the BasicProtectionContainer implementation for ProtectionContainer. -func (pc ProtectionContainer) AsBasicProtectionContainer() (BasicProtectionContainer, bool) { - return &pc, true +// MabContainerExtendedInfo additional information of the container. +type MabContainerExtendedInfo struct { + // LastRefreshedAt - Time stamp when this container was refreshed. + LastRefreshedAt *date.Time `json:"lastRefreshedAt,omitempty"` + // BackupItemType - Type of backup items associated with this container. Possible values include: 'ItemTypeInvalid', 'ItemTypeVM', 'ItemTypeFileFolder', 'ItemTypeAzureSQLDb', 'ItemTypeSQLDB', 'ItemTypeExchange', 'ItemTypeSharepoint', 'ItemTypeVMwareVM', 'ItemTypeSystemState', 'ItemTypeClient', 'ItemTypeGenericDataSource', 'ItemTypeSQLDataBase', 'ItemTypeAzureFileShare', 'ItemTypeSAPHanaDatabase', 'ItemTypeSAPAseDatabase' + BackupItemType ItemType `json:"backupItemType,omitempty"` + // BackupItems - List of backup items associated with this container. + BackupItems *[]string `json:"backupItems,omitempty"` + // PolicyName - Backup policy associated with this container. + PolicyName *string `json:"policyName,omitempty"` + // LastBackupStatus - Latest backup status of this container. + LastBackupStatus *string `json:"lastBackupStatus,omitempty"` } -// ProtectionContainerResource base class for container with backup items. Containers with specific -// workloads are derived from this class. -type ProtectionContainerResource struct { +// MABContainerHealthDetails MAB workload-specific Health Details. +type MABContainerHealthDetails struct { + // Code - Health Code + Code *int32 `json:"code,omitempty"` + // Title - Health Title + Title *string `json:"title,omitempty"` + // Message - Health Message + Message *string `json:"message,omitempty"` + // Recommendations - Health Recommended Actions + Recommendations *[]string `json:"recommendations,omitempty"` +} + +// OperationStatus operation status. +type OperationStatus struct { autorest.Response `json:"-"` - // Properties - ProtectionContainerResource properties - Properties BasicProtectionContainer `json:"properties,omitempty"` - // ID - READ-ONLY; Resource Id represents the complete path to the resource. + // ID - ID of the operation. ID *string `json:"id,omitempty"` - // Name - READ-ONLY; Resource name associated with the resource. + // Name - Name of the operation. Name *string `json:"name,omitempty"` - // Type - READ-ONLY; Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/... - Type *string `json:"type,omitempty"` - // Location - Resource location. - Location *string `json:"location,omitempty"` - // Tags - Resource tags. - Tags map[string]*string `json:"tags"` - // ETag - Optional ETag. - ETag *string `json:"eTag,omitempty"` -} - -// MarshalJSON is the custom marshaler for ProtectionContainerResource. -func (pcr ProtectionContainerResource) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - objectMap["properties"] = pcr.Properties - if pcr.Location != nil { - objectMap["location"] = pcr.Location - } - if pcr.Tags != nil { - objectMap["tags"] = pcr.Tags - } - if pcr.ETag != nil { - objectMap["eTag"] = pcr.ETag - } - return json.Marshal(objectMap) + // Status - Operation status. Possible values include: 'OperationStatusValuesInvalid', 'OperationStatusValuesInProgress', 'OperationStatusValuesSucceeded', 'OperationStatusValuesFailed', 'OperationStatusValuesCanceled' + Status OperationStatusValues `json:"status,omitempty"` + // StartTime - Operation start time. Format: ISO-8601. + StartTime *date.Time `json:"startTime,omitempty"` + // EndTime - Operation end time. Format: ISO-8601. + EndTime *date.Time `json:"endTime,omitempty"` + // Error - Error information related to this operation. + Error *OperationStatusError `json:"error,omitempty"` + // Properties - Additional information associated with this operation. + Properties BasicOperationStatusExtendedInfo `json:"properties,omitempty"` } -// UnmarshalJSON is the custom unmarshaler for ProtectionContainerResource struct. -func (pcr *ProtectionContainerResource) UnmarshalJSON(body []byte) error { +// UnmarshalJSON is the custom unmarshaler for OperationStatus struct. +func (osVar *OperationStatus) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -14297,14 +6366,6 @@ func (pcr *ProtectionContainerResource) UnmarshalJSON(body []byte) error { } for k, v := range m { switch k { - case "properties": - if v != nil { - properties, err := unmarshalBasicProtectionContainer(*v) - if err != nil { - return err - } - pcr.Properties = properties - } case "id": if v != nil { var ID string @@ -14312,7 +6373,7 @@ func (pcr *ProtectionContainerResource) UnmarshalJSON(body []byte) error { if err != nil { return err } - pcr.ID = &ID + osVar.ID = &ID } case "name": if v != nil { @@ -14321,43 +6382,51 @@ func (pcr *ProtectionContainerResource) UnmarshalJSON(body []byte) error { if err != nil { return err } - pcr.Name = &name + osVar.Name = &name } - case "type": + case "status": if v != nil { - var typeVar string - err = json.Unmarshal(*v, &typeVar) + var status OperationStatusValues + err = json.Unmarshal(*v, &status) if err != nil { return err } - pcr.Type = &typeVar + osVar.Status = status } - case "location": + case "startTime": if v != nil { - var location string - err = json.Unmarshal(*v, &location) + var startTime date.Time + err = json.Unmarshal(*v, &startTime) + if err != nil { + return err + } + osVar.StartTime = &startTime + } + case "endTime": + if v != nil { + var endTime date.Time + err = json.Unmarshal(*v, &endTime) if err != nil { return err } - pcr.Location = &location + osVar.EndTime = &endTime } - case "tags": + case "error": if v != nil { - var tags map[string]*string - err = json.Unmarshal(*v, &tags) + var errorVar OperationStatusError + err = json.Unmarshal(*v, &errorVar) if err != nil { return err } - pcr.Tags = tags + osVar.Error = &errorVar } - case "eTag": + case "properties": if v != nil { - var eTag string - err = json.Unmarshal(*v, &eTag) + properties, err := unmarshalBasicOperationStatusExtendedInfo(*v) if err != nil { return err } - pcr.ETag = &eTag + osVar.Properties = properties } } } @@ -14365,574 +6434,369 @@ func (pcr *ProtectionContainerResource) UnmarshalJSON(body []byte) error { return nil } -// ProtectionContainerResourceList list of ProtectionContainer resources -type ProtectionContainerResourceList struct { - autorest.Response `json:"-"` - // Value - List of resources. - Value *[]ProtectionContainerResource `json:"value,omitempty"` - // NextLink - The uri to fetch the next page of resources. Call ListNext() fetches next page of resources. - NextLink *string `json:"nextLink,omitempty"` +// OperationStatusError error information associated with operation status call. +type OperationStatusError struct { + // Code - Error code of the operation failure. + Code *string `json:"code,omitempty"` + // Message - Error message displayed if the operation failure. + Message *string `json:"message,omitempty"` } -// ProtectionContainerResourceListIterator provides access to a complete listing of -// ProtectionContainerResource values. -type ProtectionContainerResourceListIterator struct { - i int - page ProtectionContainerResourceListPage +// BasicOperationStatusExtendedInfo base class for additional information of operation status. +type BasicOperationStatusExtendedInfo interface { + AsOperationStatusJobExtendedInfo() (*OperationStatusJobExtendedInfo, bool) + AsOperationStatusJobsExtendedInfo() (*OperationStatusJobsExtendedInfo, bool) + AsOperationStatusProvisionILRExtendedInfo() (*OperationStatusProvisionILRExtendedInfo, bool) + AsOperationStatusExtendedInfo() (*OperationStatusExtendedInfo, bool) } -// NextWithContext advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -func (iter *ProtectionContainerResourceListIterator) NextWithContext(ctx context.Context) (err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/ProtectionContainerResourceListIterator.NextWithContext") - defer func() { - sc := -1 - if iter.Response().Response.Response != nil { - sc = iter.Response().Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - iter.i++ - if iter.i < len(iter.page.Values()) { - return nil - } - err = iter.page.NextWithContext(ctx) - if err != nil { - iter.i-- - return err - } - iter.i = 0 - return nil +// OperationStatusExtendedInfo base class for additional information of operation status. +type OperationStatusExtendedInfo struct { + // ObjectType - Possible values include: 'ObjectTypeOperationStatusExtendedInfo', 'ObjectTypeOperationStatusJobExtendedInfo', 'ObjectTypeOperationStatusJobsExtendedInfo', 'ObjectTypeOperationStatusProvisionILRExtendedInfo' + ObjectType ObjectTypeBasicOperationStatusExtendedInfo `json:"objectType,omitempty"` } -// Next advances to the next value. If there was an error making -// the request the iterator does not advance and the error is returned. -// Deprecated: Use NextWithContext() instead. -func (iter *ProtectionContainerResourceListIterator) Next() error { - return iter.NextWithContext(context.Background()) -} +func unmarshalBasicOperationStatusExtendedInfo(body []byte) (BasicOperationStatusExtendedInfo, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } -// NotDone returns true if the enumeration should be started or is not yet complete. -func (iter ProtectionContainerResourceListIterator) NotDone() bool { - return iter.page.NotDone() && iter.i < len(iter.page.Values()) + switch m["objectType"] { + case string(ObjectTypeOperationStatusJobExtendedInfo): + var osjei OperationStatusJobExtendedInfo + err := json.Unmarshal(body, &osjei) + return osjei, err + case string(ObjectTypeOperationStatusJobsExtendedInfo): + var osjei OperationStatusJobsExtendedInfo + err := json.Unmarshal(body, &osjei) + return osjei, err + case string(ObjectTypeOperationStatusProvisionILRExtendedInfo): + var ospiei OperationStatusProvisionILRExtendedInfo + err := json.Unmarshal(body, &ospiei) + return ospiei, err + default: + var osei OperationStatusExtendedInfo + err := json.Unmarshal(body, &osei) + return osei, err + } } +func unmarshalBasicOperationStatusExtendedInfoArray(body []byte) ([]BasicOperationStatusExtendedInfo, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } -// Response returns the raw server response from the last page request. -func (iter ProtectionContainerResourceListIterator) Response() ProtectionContainerResourceList { - return iter.page.Response() -} + oseiArray := make([]BasicOperationStatusExtendedInfo, len(rawMessages)) -// Value returns the current value or a zero-initialized value if the -// iterator has advanced beyond the end of the collection. -func (iter ProtectionContainerResourceListIterator) Value() ProtectionContainerResource { - if !iter.page.NotDone() { - return ProtectionContainerResource{} + for index, rawMessage := range rawMessages { + osei, err := unmarshalBasicOperationStatusExtendedInfo(*rawMessage) + if err != nil { + return nil, err + } + oseiArray[index] = osei } - return iter.page.Values()[iter.i] -} - -// Creates a new instance of the ProtectionContainerResourceListIterator type. -func NewProtectionContainerResourceListIterator(page ProtectionContainerResourceListPage) ProtectionContainerResourceListIterator { - return ProtectionContainerResourceListIterator{page: page} + return oseiArray, nil } -// IsEmpty returns true if the ListResult contains no values. -func (pcrl ProtectionContainerResourceList) IsEmpty() bool { - return pcrl.Value == nil || len(*pcrl.Value) == 0 +// MarshalJSON is the custom marshaler for OperationStatusExtendedInfo. +func (osei OperationStatusExtendedInfo) MarshalJSON() ([]byte, error) { + osei.ObjectType = ObjectTypeOperationStatusExtendedInfo + objectMap := make(map[string]interface{}) + if osei.ObjectType != "" { + objectMap["objectType"] = osei.ObjectType + } + return json.Marshal(objectMap) } -// protectionContainerResourceListPreparer prepares a request to retrieve the next set of results. -// It returns nil if no more results exist. -func (pcrl ProtectionContainerResourceList) protectionContainerResourceListPreparer(ctx context.Context) (*http.Request, error) { - if pcrl.NextLink == nil || len(to.String(pcrl.NextLink)) < 1 { - return nil, nil - } - return autorest.Prepare((&http.Request{}).WithContext(ctx), - autorest.AsJSON(), - autorest.AsGet(), - autorest.WithBaseURL(to.String(pcrl.NextLink))) +// AsOperationStatusJobExtendedInfo is the BasicOperationStatusExtendedInfo implementation for OperationStatusExtendedInfo. +func (osei OperationStatusExtendedInfo) AsOperationStatusJobExtendedInfo() (*OperationStatusJobExtendedInfo, bool) { + return nil, false } -// ProtectionContainerResourceListPage contains a page of ProtectionContainerResource values. -type ProtectionContainerResourceListPage struct { - fn func(context.Context, ProtectionContainerResourceList) (ProtectionContainerResourceList, error) - pcrl ProtectionContainerResourceList +// AsOperationStatusJobsExtendedInfo is the BasicOperationStatusExtendedInfo implementation for OperationStatusExtendedInfo. +func (osei OperationStatusExtendedInfo) AsOperationStatusJobsExtendedInfo() (*OperationStatusJobsExtendedInfo, bool) { + return nil, false } -// NextWithContext advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -func (page *ProtectionContainerResourceListPage) NextWithContext(ctx context.Context) (err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/ProtectionContainerResourceListPage.NextWithContext") - defer func() { - sc := -1 - if page.Response().Response.Response != nil { - sc = page.Response().Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - next, err := page.fn(ctx, page.pcrl) - if err != nil { - return err - } - page.pcrl = next - return nil +// AsOperationStatusProvisionILRExtendedInfo is the BasicOperationStatusExtendedInfo implementation for OperationStatusExtendedInfo. +func (osei OperationStatusExtendedInfo) AsOperationStatusProvisionILRExtendedInfo() (*OperationStatusProvisionILRExtendedInfo, bool) { + return nil, false } -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -// Deprecated: Use NextWithContext() instead. -func (page *ProtectionContainerResourceListPage) Next() error { - return page.NextWithContext(context.Background()) +// AsOperationStatusExtendedInfo is the BasicOperationStatusExtendedInfo implementation for OperationStatusExtendedInfo. +func (osei OperationStatusExtendedInfo) AsOperationStatusExtendedInfo() (*OperationStatusExtendedInfo, bool) { + return &osei, true } -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page ProtectionContainerResourceListPage) NotDone() bool { - return !page.pcrl.IsEmpty() +// AsBasicOperationStatusExtendedInfo is the BasicOperationStatusExtendedInfo implementation for OperationStatusExtendedInfo. +func (osei OperationStatusExtendedInfo) AsBasicOperationStatusExtendedInfo() (BasicOperationStatusExtendedInfo, bool) { + return &osei, true } -// Response returns the raw server response from the last page request. -func (page ProtectionContainerResourceListPage) Response() ProtectionContainerResourceList { - return page.pcrl +// OperationStatusJobExtendedInfo operation status job extended info. +type OperationStatusJobExtendedInfo struct { + // JobID - ID of the job created for this protected item. + JobID *string `json:"jobId,omitempty"` + // ObjectType - Possible values include: 'ObjectTypeOperationStatusExtendedInfo', 'ObjectTypeOperationStatusJobExtendedInfo', 'ObjectTypeOperationStatusJobsExtendedInfo', 'ObjectTypeOperationStatusProvisionILRExtendedInfo' + ObjectType ObjectTypeBasicOperationStatusExtendedInfo `json:"objectType,omitempty"` } -// Values returns the slice of values for the current page or nil if there are no values. -func (page ProtectionContainerResourceListPage) Values() []ProtectionContainerResource { - if page.pcrl.IsEmpty() { - return nil +// MarshalJSON is the custom marshaler for OperationStatusJobExtendedInfo. +func (osjei OperationStatusJobExtendedInfo) MarshalJSON() ([]byte, error) { + osjei.ObjectType = ObjectTypeOperationStatusJobExtendedInfo + objectMap := make(map[string]interface{}) + if osjei.JobID != nil { + objectMap["jobId"] = osjei.JobID } - return *page.pcrl.Value + if osjei.ObjectType != "" { + objectMap["objectType"] = osjei.ObjectType + } + return json.Marshal(objectMap) } -// Creates a new instance of the ProtectionContainerResourceListPage type. -func NewProtectionContainerResourceListPage(getNextPage func(context.Context, ProtectionContainerResourceList) (ProtectionContainerResourceList, error)) ProtectionContainerResourceListPage { - return ProtectionContainerResourceListPage{fn: getNextPage} +// AsOperationStatusJobExtendedInfo is the BasicOperationStatusExtendedInfo implementation for OperationStatusJobExtendedInfo. +func (osjei OperationStatusJobExtendedInfo) AsOperationStatusJobExtendedInfo() (*OperationStatusJobExtendedInfo, bool) { + return &osjei, true } -// BasicProtectionPolicy base class for backup policy. Workload-specific backup policies are derived from this class. -type BasicProtectionPolicy interface { - AsAzureFileShareProtectionPolicy() (*AzureFileShareProtectionPolicy, bool) - AsAzureIaaSVMProtectionPolicy() (*AzureIaaSVMProtectionPolicy, bool) - AsAzureSQLProtectionPolicy() (*AzureSQLProtectionPolicy, bool) - AsAzureVMWorkloadProtectionPolicy() (*AzureVMWorkloadProtectionPolicy, bool) - AsGenericProtectionPolicy() (*GenericProtectionPolicy, bool) - AsMabProtectionPolicy() (*MabProtectionPolicy, bool) - AsProtectionPolicy() (*ProtectionPolicy, bool) +// AsOperationStatusJobsExtendedInfo is the BasicOperationStatusExtendedInfo implementation for OperationStatusJobExtendedInfo. +func (osjei OperationStatusJobExtendedInfo) AsOperationStatusJobsExtendedInfo() (*OperationStatusJobsExtendedInfo, bool) { + return nil, false } -// ProtectionPolicy base class for backup policy. Workload-specific backup policies are derived from this -// class. -type ProtectionPolicy struct { - // ProtectedItemsCount - Number of items associated with this policy. - ProtectedItemsCount *int32 `json:"protectedItemsCount,omitempty"` - // BackupManagementType - Possible values include: 'BackupManagementTypeProtectionPolicy', 'BackupManagementTypeAzureStorage', 'BackupManagementTypeAzureIaasVM', 'BackupManagementTypeAzureSQL', 'BackupManagementTypeAzureWorkload', 'BackupManagementTypeGenericProtectionPolicy', 'BackupManagementTypeMAB' - BackupManagementType ManagementTypeBasicProtectionPolicy `json:"backupManagementType,omitempty"` +// AsOperationStatusProvisionILRExtendedInfo is the BasicOperationStatusExtendedInfo implementation for OperationStatusJobExtendedInfo. +func (osjei OperationStatusJobExtendedInfo) AsOperationStatusProvisionILRExtendedInfo() (*OperationStatusProvisionILRExtendedInfo, bool) { + return nil, false } -func unmarshalBasicProtectionPolicy(body []byte) (BasicProtectionPolicy, error) { - var m map[string]interface{} - err := json.Unmarshal(body, &m) - if err != nil { - return nil, err - } - - switch m["backupManagementType"] { - case string(BackupManagementTypeAzureStorage): - var afspp AzureFileShareProtectionPolicy - err := json.Unmarshal(body, &afspp) - return afspp, err - case string(BackupManagementTypeAzureIaasVM): - var aispp AzureIaaSVMProtectionPolicy - err := json.Unmarshal(body, &aispp) - return aispp, err - case string(BackupManagementTypeAzureSQL): - var aspp AzureSQLProtectionPolicy - err := json.Unmarshal(body, &aspp) - return aspp, err - case string(BackupManagementTypeAzureWorkload): - var avwpp AzureVMWorkloadProtectionPolicy - err := json.Unmarshal(body, &avwpp) - return avwpp, err - case string(BackupManagementTypeGenericProtectionPolicy): - var gpp GenericProtectionPolicy - err := json.Unmarshal(body, &gpp) - return gpp, err - case string(BackupManagementTypeMAB): - var mpp MabProtectionPolicy - err := json.Unmarshal(body, &mpp) - return mpp, err - default: - var pp ProtectionPolicy - err := json.Unmarshal(body, &pp) - return pp, err - } -} -func unmarshalBasicProtectionPolicyArray(body []byte) ([]BasicProtectionPolicy, error) { - var rawMessages []*json.RawMessage - err := json.Unmarshal(body, &rawMessages) - if err != nil { - return nil, err - } +// AsOperationStatusExtendedInfo is the BasicOperationStatusExtendedInfo implementation for OperationStatusJobExtendedInfo. +func (osjei OperationStatusJobExtendedInfo) AsOperationStatusExtendedInfo() (*OperationStatusExtendedInfo, bool) { + return nil, false +} - ppArray := make([]BasicProtectionPolicy, len(rawMessages)) +// AsBasicOperationStatusExtendedInfo is the BasicOperationStatusExtendedInfo implementation for OperationStatusJobExtendedInfo. +func (osjei OperationStatusJobExtendedInfo) AsBasicOperationStatusExtendedInfo() (BasicOperationStatusExtendedInfo, bool) { + return &osjei, true +} - for index, rawMessage := range rawMessages { - pp, err := unmarshalBasicProtectionPolicy(*rawMessage) - if err != nil { - return nil, err - } - ppArray[index] = pp - } - return ppArray, nil +// OperationStatusJobsExtendedInfo operation status extended info for list of jobs. +type OperationStatusJobsExtendedInfo struct { + // JobIds - IDs of the jobs created for the protected item. + JobIds *[]string `json:"jobIds,omitempty"` + // FailedJobsError - Stores all the failed jobs along with the corresponding error codes. + FailedJobsError map[string]*string `json:"failedJobsError"` + // ObjectType - Possible values include: 'ObjectTypeOperationStatusExtendedInfo', 'ObjectTypeOperationStatusJobExtendedInfo', 'ObjectTypeOperationStatusJobsExtendedInfo', 'ObjectTypeOperationStatusProvisionILRExtendedInfo' + ObjectType ObjectTypeBasicOperationStatusExtendedInfo `json:"objectType,omitempty"` } -// MarshalJSON is the custom marshaler for ProtectionPolicy. -func (pp ProtectionPolicy) MarshalJSON() ([]byte, error) { - pp.BackupManagementType = BackupManagementTypeProtectionPolicy +// MarshalJSON is the custom marshaler for OperationStatusJobsExtendedInfo. +func (osjei OperationStatusJobsExtendedInfo) MarshalJSON() ([]byte, error) { + osjei.ObjectType = ObjectTypeOperationStatusJobsExtendedInfo objectMap := make(map[string]interface{}) - if pp.ProtectedItemsCount != nil { - objectMap["protectedItemsCount"] = pp.ProtectedItemsCount + if osjei.JobIds != nil { + objectMap["jobIds"] = osjei.JobIds + } + if osjei.FailedJobsError != nil { + objectMap["failedJobsError"] = osjei.FailedJobsError } - if pp.BackupManagementType != "" { - objectMap["backupManagementType"] = pp.BackupManagementType + if osjei.ObjectType != "" { + objectMap["objectType"] = osjei.ObjectType } return json.Marshal(objectMap) } -// AsAzureFileShareProtectionPolicy is the BasicProtectionPolicy implementation for ProtectionPolicy. -func (pp ProtectionPolicy) AsAzureFileShareProtectionPolicy() (*AzureFileShareProtectionPolicy, bool) { +// AsOperationStatusJobExtendedInfo is the BasicOperationStatusExtendedInfo implementation for OperationStatusJobsExtendedInfo. +func (osjei OperationStatusJobsExtendedInfo) AsOperationStatusJobExtendedInfo() (*OperationStatusJobExtendedInfo, bool) { return nil, false } -// AsAzureIaaSVMProtectionPolicy is the BasicProtectionPolicy implementation for ProtectionPolicy. -func (pp ProtectionPolicy) AsAzureIaaSVMProtectionPolicy() (*AzureIaaSVMProtectionPolicy, bool) { - return nil, false +// AsOperationStatusJobsExtendedInfo is the BasicOperationStatusExtendedInfo implementation for OperationStatusJobsExtendedInfo. +func (osjei OperationStatusJobsExtendedInfo) AsOperationStatusJobsExtendedInfo() (*OperationStatusJobsExtendedInfo, bool) { + return &osjei, true } -// AsAzureSQLProtectionPolicy is the BasicProtectionPolicy implementation for ProtectionPolicy. -func (pp ProtectionPolicy) AsAzureSQLProtectionPolicy() (*AzureSQLProtectionPolicy, bool) { +// AsOperationStatusProvisionILRExtendedInfo is the BasicOperationStatusExtendedInfo implementation for OperationStatusJobsExtendedInfo. +func (osjei OperationStatusJobsExtendedInfo) AsOperationStatusProvisionILRExtendedInfo() (*OperationStatusProvisionILRExtendedInfo, bool) { return nil, false } -// AsAzureVMWorkloadProtectionPolicy is the BasicProtectionPolicy implementation for ProtectionPolicy. -func (pp ProtectionPolicy) AsAzureVMWorkloadProtectionPolicy() (*AzureVMWorkloadProtectionPolicy, bool) { +// AsOperationStatusExtendedInfo is the BasicOperationStatusExtendedInfo implementation for OperationStatusJobsExtendedInfo. +func (osjei OperationStatusJobsExtendedInfo) AsOperationStatusExtendedInfo() (*OperationStatusExtendedInfo, bool) { return nil, false } -// AsGenericProtectionPolicy is the BasicProtectionPolicy implementation for ProtectionPolicy. -func (pp ProtectionPolicy) AsGenericProtectionPolicy() (*GenericProtectionPolicy, bool) { - return nil, false +// AsBasicOperationStatusExtendedInfo is the BasicOperationStatusExtendedInfo implementation for OperationStatusJobsExtendedInfo. +func (osjei OperationStatusJobsExtendedInfo) AsBasicOperationStatusExtendedInfo() (BasicOperationStatusExtendedInfo, bool) { + return &osjei, true } -// AsMabProtectionPolicy is the BasicProtectionPolicy implementation for ProtectionPolicy. -func (pp ProtectionPolicy) AsMabProtectionPolicy() (*MabProtectionPolicy, bool) { - return nil, false +// OperationStatusProvisionILRExtendedInfo operation status extended info for ILR provision action. +type OperationStatusProvisionILRExtendedInfo struct { + // RecoveryTarget - Target details for file / folder restore. + RecoveryTarget *InstantItemRecoveryTarget `json:"recoveryTarget,omitempty"` + // ObjectType - Possible values include: 'ObjectTypeOperationStatusExtendedInfo', 'ObjectTypeOperationStatusJobExtendedInfo', 'ObjectTypeOperationStatusJobsExtendedInfo', 'ObjectTypeOperationStatusProvisionILRExtendedInfo' + ObjectType ObjectTypeBasicOperationStatusExtendedInfo `json:"objectType,omitempty"` } -// AsProtectionPolicy is the BasicProtectionPolicy implementation for ProtectionPolicy. -func (pp ProtectionPolicy) AsProtectionPolicy() (*ProtectionPolicy, bool) { - return &pp, true +// MarshalJSON is the custom marshaler for OperationStatusProvisionILRExtendedInfo. +func (ospiei OperationStatusProvisionILRExtendedInfo) MarshalJSON() ([]byte, error) { + ospiei.ObjectType = ObjectTypeOperationStatusProvisionILRExtendedInfo + objectMap := make(map[string]interface{}) + if ospiei.RecoveryTarget != nil { + objectMap["recoveryTarget"] = ospiei.RecoveryTarget + } + if ospiei.ObjectType != "" { + objectMap["objectType"] = ospiei.ObjectType + } + return json.Marshal(objectMap) } -// AsBasicProtectionPolicy is the BasicProtectionPolicy implementation for ProtectionPolicy. -func (pp ProtectionPolicy) AsBasicProtectionPolicy() (BasicProtectionPolicy, bool) { - return &pp, true +// AsOperationStatusJobExtendedInfo is the BasicOperationStatusExtendedInfo implementation for OperationStatusProvisionILRExtendedInfo. +func (ospiei OperationStatusProvisionILRExtendedInfo) AsOperationStatusJobExtendedInfo() (*OperationStatusJobExtendedInfo, bool) { + return nil, false } -// ProtectionPolicyResource base class for backup policy. Workload-specific backup policies are derived -// from this class. -type ProtectionPolicyResource struct { - autorest.Response `json:"-"` - // Properties - ProtectionPolicyResource properties - Properties BasicProtectionPolicy `json:"properties,omitempty"` - // ID - READ-ONLY; Resource Id represents the complete path to the resource. - ID *string `json:"id,omitempty"` - // Name - READ-ONLY; Resource name associated with the resource. - Name *string `json:"name,omitempty"` - // Type - READ-ONLY; Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/... - Type *string `json:"type,omitempty"` - // Location - Resource location. - Location *string `json:"location,omitempty"` - // Tags - Resource tags. - Tags map[string]*string `json:"tags"` - // ETag - Optional ETag. - ETag *string `json:"eTag,omitempty"` +// AsOperationStatusJobsExtendedInfo is the BasicOperationStatusExtendedInfo implementation for OperationStatusProvisionILRExtendedInfo. +func (ospiei OperationStatusProvisionILRExtendedInfo) AsOperationStatusJobsExtendedInfo() (*OperationStatusJobsExtendedInfo, bool) { + return nil, false } -// MarshalJSON is the custom marshaler for ProtectionPolicyResource. -func (ppr ProtectionPolicyResource) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - objectMap["properties"] = ppr.Properties - if ppr.Location != nil { - objectMap["location"] = ppr.Location - } - if ppr.Tags != nil { - objectMap["tags"] = ppr.Tags - } - if ppr.ETag != nil { - objectMap["eTag"] = ppr.ETag - } - return json.Marshal(objectMap) +// AsOperationStatusProvisionILRExtendedInfo is the BasicOperationStatusExtendedInfo implementation for OperationStatusProvisionILRExtendedInfo. +func (ospiei OperationStatusProvisionILRExtendedInfo) AsOperationStatusProvisionILRExtendedInfo() (*OperationStatusProvisionILRExtendedInfo, bool) { + return &ospiei, true } -// UnmarshalJSON is the custom unmarshaler for ProtectionPolicyResource struct. -func (ppr *ProtectionPolicyResource) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - case "properties": - if v != nil { - properties, err := unmarshalBasicProtectionPolicy(*v) - if err != nil { - return err - } - ppr.Properties = properties - } - case "id": - if v != nil { - var ID string - err = json.Unmarshal(*v, &ID) - if err != nil { - return err - } - ppr.ID = &ID - } - case "name": - if v != nil { - var name string - err = json.Unmarshal(*v, &name) - if err != nil { - return err - } - ppr.Name = &name - } - case "type": - if v != nil { - var typeVar string - err = json.Unmarshal(*v, &typeVar) - if err != nil { - return err - } - ppr.Type = &typeVar - } - case "location": - if v != nil { - var location string - err = json.Unmarshal(*v, &location) - if err != nil { - return err - } - ppr.Location = &location - } - case "tags": - if v != nil { - var tags map[string]*string - err = json.Unmarshal(*v, &tags) - if err != nil { - return err - } - ppr.Tags = tags - } - case "eTag": - if v != nil { - var eTag string - err = json.Unmarshal(*v, &eTag) - if err != nil { - return err - } - ppr.ETag = &eTag - } - } - } +// AsOperationStatusExtendedInfo is the BasicOperationStatusExtendedInfo implementation for OperationStatusProvisionILRExtendedInfo. +func (ospiei OperationStatusProvisionILRExtendedInfo) AsOperationStatusExtendedInfo() (*OperationStatusExtendedInfo, bool) { + return nil, false +} - return nil +// AsBasicOperationStatusExtendedInfo is the BasicOperationStatusExtendedInfo implementation for OperationStatusProvisionILRExtendedInfo. +func (ospiei OperationStatusProvisionILRExtendedInfo) AsBasicOperationStatusExtendedInfo() (BasicOperationStatusExtendedInfo, bool) { + return &ospiei, true } -// BasicRecoveryPoint base class for backup copies. Workload-specific backup copies are derived from this class. -type BasicRecoveryPoint interface { - AsAzureFileShareRecoveryPoint() (*AzureFileShareRecoveryPoint, bool) - AsAzureWorkloadPointInTimeRecoveryPoint() (*AzureWorkloadPointInTimeRecoveryPoint, bool) - AsBasicAzureWorkloadPointInTimeRecoveryPoint() (BasicAzureWorkloadPointInTimeRecoveryPoint, bool) - AsAzureWorkloadRecoveryPoint() (*AzureWorkloadRecoveryPoint, bool) - AsBasicAzureWorkloadRecoveryPoint() (BasicAzureWorkloadRecoveryPoint, bool) - AsAzureWorkloadSAPHanaPointInTimeRecoveryPoint() (*AzureWorkloadSAPHanaPointInTimeRecoveryPoint, bool) - AsAzureWorkloadSAPHanaRecoveryPoint() (*AzureWorkloadSAPHanaRecoveryPoint, bool) - AsAzureWorkloadSQLPointInTimeRecoveryPoint() (*AzureWorkloadSQLPointInTimeRecoveryPoint, bool) - AsAzureWorkloadSQLRecoveryPoint() (*AzureWorkloadSQLRecoveryPoint, bool) - AsBasicAzureWorkloadSQLRecoveryPoint() (BasicAzureWorkloadSQLRecoveryPoint, bool) - AsGenericRecoveryPoint() (*GenericRecoveryPoint, bool) - AsIaasVMRecoveryPoint() (*IaasVMRecoveryPoint, bool) - AsRecoveryPoint() (*RecoveryPoint, bool) +// PreBackupValidation pre-backup validation for Azure VM Workload provider. +type PreBackupValidation struct { + // Status - Status of protectable item, i.e. InProgress,Succeeded,Failed. Possible values include: 'InquiryStatusInvalid', 'InquiryStatusSuccess', 'InquiryStatusFailed' + Status InquiryStatus `json:"status,omitempty"` + // Code - Error code of protectable item + Code *string `json:"code,omitempty"` + // Message - Message corresponding to the error code for the protectable item + Message *string `json:"message,omitempty"` } -// RecoveryPoint base class for backup copies. Workload-specific backup copies are derived from this class. -type RecoveryPoint struct { - // ObjectType - Possible values include: 'ObjectTypeRecoveryPoint', 'ObjectTypeAzureFileShareRecoveryPoint', 'ObjectTypeAzureWorkloadPointInTimeRecoveryPoint', 'ObjectTypeAzureWorkloadRecoveryPoint', 'ObjectTypeAzureWorkloadSAPHanaPointInTimeRecoveryPoint', 'ObjectTypeAzureWorkloadSAPHanaRecoveryPoint', 'ObjectTypeAzureWorkloadSQLPointInTimeRecoveryPoint', 'ObjectTypeAzureWorkloadSQLRecoveryPoint', 'ObjectTypeGenericRecoveryPoint', 'ObjectTypeIaasVMRecoveryPoint' - ObjectType ObjectTypeBasicRecoveryPoint `json:"objectType,omitempty"` +// BasicProtectableContainer protectable Container Class. +type BasicProtectableContainer interface { + AsAzureStorageProtectableContainer() (*AzureStorageProtectableContainer, bool) + AsAzureVMAppContainerProtectableContainer() (*AzureVMAppContainerProtectableContainer, bool) + AsProtectableContainer() (*ProtectableContainer, bool) } -func unmarshalBasicRecoveryPoint(body []byte) (BasicRecoveryPoint, error) { +// ProtectableContainer protectable Container Class. +type ProtectableContainer struct { + // FriendlyName - Friendly name of the container. + FriendlyName *string `json:"friendlyName,omitempty"` + // BackupManagementType - Type of backup management for the container. Possible values include: 'ManagementTypeInvalid', 'ManagementTypeAzureIaasVM', 'ManagementTypeMAB', 'ManagementTypeDPM', 'ManagementTypeAzureBackupServer', 'ManagementTypeAzureSQL', 'ManagementTypeAzureStorage', 'ManagementTypeAzureWorkload', 'ManagementTypeDefaultBackup' + BackupManagementType ManagementType `json:"backupManagementType,omitempty"` + // HealthStatus - Status of health of the container. + HealthStatus *string `json:"healthStatus,omitempty"` + // ContainerID - Fabric Id of the container such as ARM Id. + ContainerID *string `json:"containerId,omitempty"` + // ProtectableContainerType - Possible values include: 'ProtectableContainerTypeProtectableContainer', 'ProtectableContainerTypeStorageContainer', 'ProtectableContainerTypeVMAppContainer' + ProtectableContainerType ProtectableContainerType `json:"protectableContainerType,omitempty"` +} + +func unmarshalBasicProtectableContainer(body []byte) (BasicProtectableContainer, error) { var m map[string]interface{} err := json.Unmarshal(body, &m) if err != nil { return nil, err } - switch m["objectType"] { - case string(ObjectTypeAzureFileShareRecoveryPoint): - var afsrp AzureFileShareRecoveryPoint - err := json.Unmarshal(body, &afsrp) - return afsrp, err - case string(ObjectTypeAzureWorkloadPointInTimeRecoveryPoint): - var awpitrp AzureWorkloadPointInTimeRecoveryPoint - err := json.Unmarshal(body, &awpitrp) - return awpitrp, err - case string(ObjectTypeAzureWorkloadRecoveryPoint): - var awrp AzureWorkloadRecoveryPoint - err := json.Unmarshal(body, &awrp) - return awrp, err - case string(ObjectTypeAzureWorkloadSAPHanaPointInTimeRecoveryPoint): - var awshpitrp AzureWorkloadSAPHanaPointInTimeRecoveryPoint - err := json.Unmarshal(body, &awshpitrp) - return awshpitrp, err - case string(ObjectTypeAzureWorkloadSAPHanaRecoveryPoint): - var awshrp AzureWorkloadSAPHanaRecoveryPoint - err := json.Unmarshal(body, &awshrp) - return awshrp, err - case string(ObjectTypeAzureWorkloadSQLPointInTimeRecoveryPoint): - var awspitrp AzureWorkloadSQLPointInTimeRecoveryPoint - err := json.Unmarshal(body, &awspitrp) - return awspitrp, err - case string(ObjectTypeAzureWorkloadSQLRecoveryPoint): - var awsrp AzureWorkloadSQLRecoveryPoint - err := json.Unmarshal(body, &awsrp) - return awsrp, err - case string(ObjectTypeGenericRecoveryPoint): - var grp GenericRecoveryPoint - err := json.Unmarshal(body, &grp) - return grp, err - case string(ObjectTypeIaasVMRecoveryPoint): - var ivrp IaasVMRecoveryPoint - err := json.Unmarshal(body, &ivrp) - return ivrp, err + switch m["protectableContainerType"] { + case string(ProtectableContainerTypeStorageContainer): + var aspc AzureStorageProtectableContainer + err := json.Unmarshal(body, &aspc) + return aspc, err + case string(ProtectableContainerTypeVMAppContainer): + var avacpc AzureVMAppContainerProtectableContainer + err := json.Unmarshal(body, &avacpc) + return avacpc, err default: - var rp RecoveryPoint - err := json.Unmarshal(body, &rp) - return rp, err + var pc ProtectableContainer + err := json.Unmarshal(body, &pc) + return pc, err } } -func unmarshalBasicRecoveryPointArray(body []byte) ([]BasicRecoveryPoint, error) { +func unmarshalBasicProtectableContainerArray(body []byte) ([]BasicProtectableContainer, error) { var rawMessages []*json.RawMessage err := json.Unmarshal(body, &rawMessages) if err != nil { return nil, err } - rpArray := make([]BasicRecoveryPoint, len(rawMessages)) + pcArray := make([]BasicProtectableContainer, len(rawMessages)) for index, rawMessage := range rawMessages { - rp, err := unmarshalBasicRecoveryPoint(*rawMessage) + pc, err := unmarshalBasicProtectableContainer(*rawMessage) if err != nil { return nil, err } - rpArray[index] = rp - } - return rpArray, nil -} - -// MarshalJSON is the custom marshaler for RecoveryPoint. -func (rp RecoveryPoint) MarshalJSON() ([]byte, error) { - rp.ObjectType = ObjectTypeRecoveryPoint - objectMap := make(map[string]interface{}) - if rp.ObjectType != "" { - objectMap["objectType"] = rp.ObjectType - } - return json.Marshal(objectMap) -} - -// AsAzureFileShareRecoveryPoint is the BasicRecoveryPoint implementation for RecoveryPoint. -func (rp RecoveryPoint) AsAzureFileShareRecoveryPoint() (*AzureFileShareRecoveryPoint, bool) { - return nil, false -} - -// AsAzureWorkloadPointInTimeRecoveryPoint is the BasicRecoveryPoint implementation for RecoveryPoint. -func (rp RecoveryPoint) AsAzureWorkloadPointInTimeRecoveryPoint() (*AzureWorkloadPointInTimeRecoveryPoint, bool) { - return nil, false -} - -// AsBasicAzureWorkloadPointInTimeRecoveryPoint is the BasicRecoveryPoint implementation for RecoveryPoint. -func (rp RecoveryPoint) AsBasicAzureWorkloadPointInTimeRecoveryPoint() (BasicAzureWorkloadPointInTimeRecoveryPoint, bool) { - return nil, false -} - -// AsAzureWorkloadRecoveryPoint is the BasicRecoveryPoint implementation for RecoveryPoint. -func (rp RecoveryPoint) AsAzureWorkloadRecoveryPoint() (*AzureWorkloadRecoveryPoint, bool) { - return nil, false -} - -// AsBasicAzureWorkloadRecoveryPoint is the BasicRecoveryPoint implementation for RecoveryPoint. -func (rp RecoveryPoint) AsBasicAzureWorkloadRecoveryPoint() (BasicAzureWorkloadRecoveryPoint, bool) { - return nil, false -} - -// AsAzureWorkloadSAPHanaPointInTimeRecoveryPoint is the BasicRecoveryPoint implementation for RecoveryPoint. -func (rp RecoveryPoint) AsAzureWorkloadSAPHanaPointInTimeRecoveryPoint() (*AzureWorkloadSAPHanaPointInTimeRecoveryPoint, bool) { - return nil, false -} - -// AsAzureWorkloadSAPHanaRecoveryPoint is the BasicRecoveryPoint implementation for RecoveryPoint. -func (rp RecoveryPoint) AsAzureWorkloadSAPHanaRecoveryPoint() (*AzureWorkloadSAPHanaRecoveryPoint, bool) { - return nil, false -} - -// AsAzureWorkloadSQLPointInTimeRecoveryPoint is the BasicRecoveryPoint implementation for RecoveryPoint. -func (rp RecoveryPoint) AsAzureWorkloadSQLPointInTimeRecoveryPoint() (*AzureWorkloadSQLPointInTimeRecoveryPoint, bool) { - return nil, false -} - -// AsAzureWorkloadSQLRecoveryPoint is the BasicRecoveryPoint implementation for RecoveryPoint. -func (rp RecoveryPoint) AsAzureWorkloadSQLRecoveryPoint() (*AzureWorkloadSQLRecoveryPoint, bool) { - return nil, false + pcArray[index] = pc + } + return pcArray, nil } -// AsBasicAzureWorkloadSQLRecoveryPoint is the BasicRecoveryPoint implementation for RecoveryPoint. -func (rp RecoveryPoint) AsBasicAzureWorkloadSQLRecoveryPoint() (BasicAzureWorkloadSQLRecoveryPoint, bool) { - return nil, false +// MarshalJSON is the custom marshaler for ProtectableContainer. +func (pc ProtectableContainer) MarshalJSON() ([]byte, error) { + pc.ProtectableContainerType = ProtectableContainerTypeProtectableContainer + objectMap := make(map[string]interface{}) + if pc.FriendlyName != nil { + objectMap["friendlyName"] = pc.FriendlyName + } + if pc.BackupManagementType != "" { + objectMap["backupManagementType"] = pc.BackupManagementType + } + if pc.HealthStatus != nil { + objectMap["healthStatus"] = pc.HealthStatus + } + if pc.ContainerID != nil { + objectMap["containerId"] = pc.ContainerID + } + if pc.ProtectableContainerType != "" { + objectMap["protectableContainerType"] = pc.ProtectableContainerType + } + return json.Marshal(objectMap) } -// AsGenericRecoveryPoint is the BasicRecoveryPoint implementation for RecoveryPoint. -func (rp RecoveryPoint) AsGenericRecoveryPoint() (*GenericRecoveryPoint, bool) { +// AsAzureStorageProtectableContainer is the BasicProtectableContainer implementation for ProtectableContainer. +func (pc ProtectableContainer) AsAzureStorageProtectableContainer() (*AzureStorageProtectableContainer, bool) { return nil, false } -// AsIaasVMRecoveryPoint is the BasicRecoveryPoint implementation for RecoveryPoint. -func (rp RecoveryPoint) AsIaasVMRecoveryPoint() (*IaasVMRecoveryPoint, bool) { +// AsAzureVMAppContainerProtectableContainer is the BasicProtectableContainer implementation for ProtectableContainer. +func (pc ProtectableContainer) AsAzureVMAppContainerProtectableContainer() (*AzureVMAppContainerProtectableContainer, bool) { return nil, false } -// AsRecoveryPoint is the BasicRecoveryPoint implementation for RecoveryPoint. -func (rp RecoveryPoint) AsRecoveryPoint() (*RecoveryPoint, bool) { - return &rp, true +// AsProtectableContainer is the BasicProtectableContainer implementation for ProtectableContainer. +func (pc ProtectableContainer) AsProtectableContainer() (*ProtectableContainer, bool) { + return &pc, true } -// AsBasicRecoveryPoint is the BasicRecoveryPoint implementation for RecoveryPoint. -func (rp RecoveryPoint) AsBasicRecoveryPoint() (BasicRecoveryPoint, bool) { - return &rp, true +// AsBasicProtectableContainer is the BasicProtectableContainer implementation for ProtectableContainer. +func (pc ProtectableContainer) AsBasicProtectableContainer() (BasicProtectableContainer, bool) { + return &pc, true } -// RecoveryPointResource base class for backup copies. Workload-specific backup copies are derived from -// this class. -type RecoveryPointResource struct { - autorest.Response `json:"-"` - // Properties - RecoveryPointResource properties - Properties BasicRecoveryPoint `json:"properties,omitempty"` +// ProtectableContainerResource protectable Container Class. +type ProtectableContainerResource struct { + // Properties - ProtectableContainerResource properties + Properties BasicProtectableContainer `json:"properties,omitempty"` // ID - READ-ONLY; Resource Id represents the complete path to the resource. ID *string `json:"id,omitempty"` // Name - READ-ONLY; Resource name associated with the resource. @@ -14947,24 +6811,24 @@ type RecoveryPointResource struct { ETag *string `json:"eTag,omitempty"` } -// MarshalJSON is the custom marshaler for RecoveryPointResource. -func (rpr RecoveryPointResource) MarshalJSON() ([]byte, error) { +// MarshalJSON is the custom marshaler for ProtectableContainerResource. +func (pcr ProtectableContainerResource) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) - objectMap["properties"] = rpr.Properties - if rpr.Location != nil { - objectMap["location"] = rpr.Location + objectMap["properties"] = pcr.Properties + if pcr.Location != nil { + objectMap["location"] = pcr.Location } - if rpr.Tags != nil { - objectMap["tags"] = rpr.Tags + if pcr.Tags != nil { + objectMap["tags"] = pcr.Tags } - if rpr.ETag != nil { - objectMap["eTag"] = rpr.ETag + if pcr.ETag != nil { + objectMap["eTag"] = pcr.ETag } return json.Marshal(objectMap) } -// UnmarshalJSON is the custom unmarshaler for RecoveryPointResource struct. -func (rpr *RecoveryPointResource) UnmarshalJSON(body []byte) error { +// UnmarshalJSON is the custom unmarshaler for ProtectableContainerResource struct. +func (pcr *ProtectableContainerResource) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -14974,11 +6838,11 @@ func (rpr *RecoveryPointResource) UnmarshalJSON(body []byte) error { switch k { case "properties": if v != nil { - properties, err := unmarshalBasicRecoveryPoint(*v) + properties, err := unmarshalBasicProtectableContainer(*v) if err != nil { return err } - rpr.Properties = properties + pcr.Properties = properties } case "id": if v != nil { @@ -14987,7 +6851,7 @@ func (rpr *RecoveryPointResource) UnmarshalJSON(body []byte) error { if err != nil { return err } - rpr.ID = &ID + pcr.ID = &ID } case "name": if v != nil { @@ -14996,7 +6860,7 @@ func (rpr *RecoveryPointResource) UnmarshalJSON(body []byte) error { if err != nil { return err } - rpr.Name = &name + pcr.Name = &name } case "type": if v != nil { @@ -15005,7 +6869,7 @@ func (rpr *RecoveryPointResource) UnmarshalJSON(body []byte) error { if err != nil { return err } - rpr.Type = &typeVar + pcr.Type = &typeVar } case "location": if v != nil { @@ -15014,7 +6878,7 @@ func (rpr *RecoveryPointResource) UnmarshalJSON(body []byte) error { if err != nil { return err } - rpr.Location = &location + pcr.Location = &location } case "tags": if v != nil { @@ -15023,7 +6887,7 @@ func (rpr *RecoveryPointResource) UnmarshalJSON(body []byte) error { if err != nil { return err } - rpr.Tags = tags + pcr.Tags = tags } case "eTag": if v != nil { @@ -15032,7 +6896,7 @@ func (rpr *RecoveryPointResource) UnmarshalJSON(body []byte) error { if err != nil { return err } - rpr.ETag = &eTag + pcr.ETag = &eTag } } } @@ -15040,26 +6904,27 @@ func (rpr *RecoveryPointResource) UnmarshalJSON(body []byte) error { return nil } -// RecoveryPointResourceList list of RecoveryPoint resources -type RecoveryPointResourceList struct { +// ProtectableContainerResourceList list of ProtectableContainer resources +type ProtectableContainerResourceList struct { autorest.Response `json:"-"` // Value - List of resources. - Value *[]RecoveryPointResource `json:"value,omitempty"` + Value *[]ProtectableContainerResource `json:"value,omitempty"` // NextLink - The uri to fetch the next page of resources. Call ListNext() fetches next page of resources. NextLink *string `json:"nextLink,omitempty"` } -// RecoveryPointResourceListIterator provides access to a complete listing of RecoveryPointResource values. -type RecoveryPointResourceListIterator struct { +// ProtectableContainerResourceListIterator provides access to a complete listing of +// ProtectableContainerResource values. +type ProtectableContainerResourceListIterator struct { i int - page RecoveryPointResourceListPage + page ProtectableContainerResourceListPage } // NextWithContext advances to the next value. If there was an error making // the request the iterator does not advance and the error is returned. -func (iter *RecoveryPointResourceListIterator) NextWithContext(ctx context.Context) (err error) { +func (iter *ProtectableContainerResourceListIterator) NextWithContext(ctx context.Context) (err error) { if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/RecoveryPointResourceListIterator.NextWithContext") + ctx = tracing.StartSpan(ctx, fqdn+"/ProtectableContainerResourceListIterator.NextWithContext") defer func() { sc := -1 if iter.Response().Response.Response != nil { @@ -15084,62 +6949,62 @@ func (iter *RecoveryPointResourceListIterator) NextWithContext(ctx context.Conte // Next advances to the next value. If there was an error making // the request the iterator does not advance and the error is returned. // Deprecated: Use NextWithContext() instead. -func (iter *RecoveryPointResourceListIterator) Next() error { +func (iter *ProtectableContainerResourceListIterator) Next() error { return iter.NextWithContext(context.Background()) } // NotDone returns true if the enumeration should be started or is not yet complete. -func (iter RecoveryPointResourceListIterator) NotDone() bool { +func (iter ProtectableContainerResourceListIterator) NotDone() bool { return iter.page.NotDone() && iter.i < len(iter.page.Values()) } // Response returns the raw server response from the last page request. -func (iter RecoveryPointResourceListIterator) Response() RecoveryPointResourceList { +func (iter ProtectableContainerResourceListIterator) Response() ProtectableContainerResourceList { return iter.page.Response() } // Value returns the current value or a zero-initialized value if the // iterator has advanced beyond the end of the collection. -func (iter RecoveryPointResourceListIterator) Value() RecoveryPointResource { +func (iter ProtectableContainerResourceListIterator) Value() ProtectableContainerResource { if !iter.page.NotDone() { - return RecoveryPointResource{} + return ProtectableContainerResource{} } return iter.page.Values()[iter.i] } -// Creates a new instance of the RecoveryPointResourceListIterator type. -func NewRecoveryPointResourceListIterator(page RecoveryPointResourceListPage) RecoveryPointResourceListIterator { - return RecoveryPointResourceListIterator{page: page} +// Creates a new instance of the ProtectableContainerResourceListIterator type. +func NewProtectableContainerResourceListIterator(page ProtectableContainerResourceListPage) ProtectableContainerResourceListIterator { + return ProtectableContainerResourceListIterator{page: page} } // IsEmpty returns true if the ListResult contains no values. -func (rprl RecoveryPointResourceList) IsEmpty() bool { - return rprl.Value == nil || len(*rprl.Value) == 0 +func (pcrl ProtectableContainerResourceList) IsEmpty() bool { + return pcrl.Value == nil || len(*pcrl.Value) == 0 } -// recoveryPointResourceListPreparer prepares a request to retrieve the next set of results. +// protectableContainerResourceListPreparer prepares a request to retrieve the next set of results. // It returns nil if no more results exist. -func (rprl RecoveryPointResourceList) recoveryPointResourceListPreparer(ctx context.Context) (*http.Request, error) { - if rprl.NextLink == nil || len(to.String(rprl.NextLink)) < 1 { +func (pcrl ProtectableContainerResourceList) protectableContainerResourceListPreparer(ctx context.Context) (*http.Request, error) { + if pcrl.NextLink == nil || len(to.String(pcrl.NextLink)) < 1 { return nil, nil } return autorest.Prepare((&http.Request{}).WithContext(ctx), autorest.AsJSON(), autorest.AsGet(), - autorest.WithBaseURL(to.String(rprl.NextLink))) + autorest.WithBaseURL(to.String(pcrl.NextLink))) } -// RecoveryPointResourceListPage contains a page of RecoveryPointResource values. -type RecoveryPointResourceListPage struct { - fn func(context.Context, RecoveryPointResourceList) (RecoveryPointResourceList, error) - rprl RecoveryPointResourceList +// ProtectableContainerResourceListPage contains a page of ProtectableContainerResource values. +type ProtectableContainerResourceListPage struct { + fn func(context.Context, ProtectableContainerResourceList) (ProtectableContainerResourceList, error) + pcrl ProtectableContainerResourceList } // NextWithContext advances to the next page of values. If there was an error making // the request the page does not advance and the error is returned. -func (page *RecoveryPointResourceListPage) NextWithContext(ctx context.Context) (err error) { +func (page *ProtectableContainerResourceListPage) NextWithContext(ctx context.Context) (err error) { if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/RecoveryPointResourceListPage.NextWithContext") + ctx = tracing.StartSpan(ctx, fqdn+"/ProtectableContainerResourceListPage.NextWithContext") defer func() { sc := -1 if page.Response().Response.Response != nil { @@ -15148,151 +7013,274 @@ func (page *RecoveryPointResourceListPage) NextWithContext(ctx context.Context) tracing.EndSpan(ctx, sc, err) }() } - next, err := page.fn(ctx, page.rprl) - if err != nil { - return err + next, err := page.fn(ctx, page.pcrl) + if err != nil { + return err + } + page.pcrl = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *ProtectableContainerResourceListPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page ProtectableContainerResourceListPage) NotDone() bool { + return !page.pcrl.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page ProtectableContainerResourceListPage) Response() ProtectableContainerResourceList { + return page.pcrl +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page ProtectableContainerResourceListPage) Values() []ProtectableContainerResource { + if page.pcrl.IsEmpty() { + return nil + } + return *page.pcrl.Value +} + +// Creates a new instance of the ProtectableContainerResourceListPage type. +func NewProtectableContainerResourceListPage(getNextPage func(context.Context, ProtectableContainerResourceList) (ProtectableContainerResourceList, error)) ProtectableContainerResourceListPage { + return ProtectableContainerResourceListPage{fn: getNextPage} +} + +// BasicProtectionContainer base class for container with backup items. Containers with specific workloads are derived +// from this class. +type BasicProtectionContainer interface { + AsAzureBackupServerContainer() (*AzureBackupServerContainer, bool) + AsAzureIaaSClassicComputeVMContainer() (*AzureIaaSClassicComputeVMContainer, bool) + AsAzureIaaSComputeVMContainer() (*AzureIaaSComputeVMContainer, bool) + AsAzureSQLAGWorkloadContainerProtectionContainer() (*AzureSQLAGWorkloadContainerProtectionContainer, bool) + AsAzureSQLContainer() (*AzureSQLContainer, bool) + AsAzureStorageContainer() (*AzureStorageContainer, bool) + AsAzureVMAppContainerProtectionContainer() (*AzureVMAppContainerProtectionContainer, bool) + AsAzureWorkloadContainer() (*AzureWorkloadContainer, bool) + AsBasicAzureWorkloadContainer() (BasicAzureWorkloadContainer, bool) + AsDpmContainer() (*DpmContainer, bool) + AsBasicDpmContainer() (BasicDpmContainer, bool) + AsGenericContainer() (*GenericContainer, bool) + AsIaaSVMContainer() (*IaaSVMContainer, bool) + AsBasicIaaSVMContainer() (BasicIaaSVMContainer, bool) + AsMabContainer() (*MabContainer, bool) + AsProtectionContainer() (*ProtectionContainer, bool) +} + +// ProtectionContainer base class for container with backup items. Containers with specific workloads are +// derived from this class. +type ProtectionContainer struct { + // FriendlyName - Friendly name of the container. + FriendlyName *string `json:"friendlyName,omitempty"` + // BackupManagementType - Type of backup management for the container. Possible values include: 'ManagementTypeInvalid', 'ManagementTypeAzureIaasVM', 'ManagementTypeMAB', 'ManagementTypeDPM', 'ManagementTypeAzureBackupServer', 'ManagementTypeAzureSQL', 'ManagementTypeAzureStorage', 'ManagementTypeAzureWorkload', 'ManagementTypeDefaultBackup' + BackupManagementType ManagementType `json:"backupManagementType,omitempty"` + // RegistrationStatus - Status of registration of the container with the Recovery Services Vault. + RegistrationStatus *string `json:"registrationStatus,omitempty"` + // HealthStatus - Status of health of the container. + HealthStatus *string `json:"healthStatus,omitempty"` + // ContainerType - Possible values include: 'ContainerTypeProtectionContainer', 'ContainerTypeAzureBackupServerContainer1', 'ContainerTypeMicrosoftClassicComputevirtualMachines', 'ContainerTypeMicrosoftComputevirtualMachines', 'ContainerTypeSQLAGWorkLoadContainer1', 'ContainerTypeAzureSQLContainer1', 'ContainerTypeStorageContainer1', 'ContainerTypeVMAppContainer1', 'ContainerTypeAzureWorkloadContainer', 'ContainerTypeDPMContainer1', 'ContainerTypeGenericContainer1', 'ContainerTypeIaaSVMContainer', 'ContainerTypeWindows1' + ContainerType ContainerTypeBasicProtectionContainer `json:"containerType,omitempty"` +} + +func unmarshalBasicProtectionContainer(body []byte) (BasicProtectionContainer, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } + + switch m["containerType"] { + case string(ContainerTypeAzureBackupServerContainer1): + var absc AzureBackupServerContainer + err := json.Unmarshal(body, &absc) + return absc, err + case string(ContainerTypeMicrosoftClassicComputevirtualMachines): + var aisccvc AzureIaaSClassicComputeVMContainer + err := json.Unmarshal(body, &aisccvc) + return aisccvc, err + case string(ContainerTypeMicrosoftComputevirtualMachines): + var aiscvc AzureIaaSComputeVMContainer + err := json.Unmarshal(body, &aiscvc) + return aiscvc, err + case string(ContainerTypeSQLAGWorkLoadContainer1): + var aswcpc AzureSQLAGWorkloadContainerProtectionContainer + err := json.Unmarshal(body, &aswcpc) + return aswcpc, err + case string(ContainerTypeAzureSQLContainer1): + var asc AzureSQLContainer + err := json.Unmarshal(body, &asc) + return asc, err + case string(ContainerTypeStorageContainer1): + var asc AzureStorageContainer + err := json.Unmarshal(body, &asc) + return asc, err + case string(ContainerTypeVMAppContainer1): + var avacpc AzureVMAppContainerProtectionContainer + err := json.Unmarshal(body, &avacpc) + return avacpc, err + case string(ContainerTypeAzureWorkloadContainer): + var awc AzureWorkloadContainer + err := json.Unmarshal(body, &awc) + return awc, err + case string(ContainerTypeDPMContainer1): + var dc DpmContainer + err := json.Unmarshal(body, &dc) + return dc, err + case string(ContainerTypeGenericContainer1): + var gc GenericContainer + err := json.Unmarshal(body, &gc) + return gc, err + case string(ContainerTypeIaaSVMContainer): + var isc IaaSVMContainer + err := json.Unmarshal(body, &isc) + return isc, err + case string(ContainerTypeWindows1): + var mc MabContainer + err := json.Unmarshal(body, &mc) + return mc, err + default: + var pc ProtectionContainer + err := json.Unmarshal(body, &pc) + return pc, err + } +} +func unmarshalBasicProtectionContainerArray(body []byte) ([]BasicProtectionContainer, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } + + pcArray := make([]BasicProtectionContainer, len(rawMessages)) + + for index, rawMessage := range rawMessages { + pc, err := unmarshalBasicProtectionContainer(*rawMessage) + if err != nil { + return nil, err + } + pcArray[index] = pc + } + return pcArray, nil +} + +// MarshalJSON is the custom marshaler for ProtectionContainer. +func (pc ProtectionContainer) MarshalJSON() ([]byte, error) { + pc.ContainerType = ContainerTypeProtectionContainer + objectMap := make(map[string]interface{}) + if pc.FriendlyName != nil { + objectMap["friendlyName"] = pc.FriendlyName + } + if pc.BackupManagementType != "" { + objectMap["backupManagementType"] = pc.BackupManagementType + } + if pc.RegistrationStatus != nil { + objectMap["registrationStatus"] = pc.RegistrationStatus } - page.rprl = next - return nil + if pc.HealthStatus != nil { + objectMap["healthStatus"] = pc.HealthStatus + } + if pc.ContainerType != "" { + objectMap["containerType"] = pc.ContainerType + } + return json.Marshal(objectMap) } -// Next advances to the next page of values. If there was an error making -// the request the page does not advance and the error is returned. -// Deprecated: Use NextWithContext() instead. -func (page *RecoveryPointResourceListPage) Next() error { - return page.NextWithContext(context.Background()) +// AsAzureBackupServerContainer is the BasicProtectionContainer implementation for ProtectionContainer. +func (pc ProtectionContainer) AsAzureBackupServerContainer() (*AzureBackupServerContainer, bool) { + return nil, false } -// NotDone returns true if the page enumeration should be started or is not yet complete. -func (page RecoveryPointResourceListPage) NotDone() bool { - return !page.rprl.IsEmpty() +// AsAzureIaaSClassicComputeVMContainer is the BasicProtectionContainer implementation for ProtectionContainer. +func (pc ProtectionContainer) AsAzureIaaSClassicComputeVMContainer() (*AzureIaaSClassicComputeVMContainer, bool) { + return nil, false } -// Response returns the raw server response from the last page request. -func (page RecoveryPointResourceListPage) Response() RecoveryPointResourceList { - return page.rprl +// AsAzureIaaSComputeVMContainer is the BasicProtectionContainer implementation for ProtectionContainer. +func (pc ProtectionContainer) AsAzureIaaSComputeVMContainer() (*AzureIaaSComputeVMContainer, bool) { + return nil, false } -// Values returns the slice of values for the current page or nil if there are no values. -func (page RecoveryPointResourceListPage) Values() []RecoveryPointResource { - if page.rprl.IsEmpty() { - return nil - } - return *page.rprl.Value +// AsAzureSQLAGWorkloadContainerProtectionContainer is the BasicProtectionContainer implementation for ProtectionContainer. +func (pc ProtectionContainer) AsAzureSQLAGWorkloadContainerProtectionContainer() (*AzureSQLAGWorkloadContainerProtectionContainer, bool) { + return nil, false } -// Creates a new instance of the RecoveryPointResourceListPage type. -func NewRecoveryPointResourceListPage(getNextPage func(context.Context, RecoveryPointResourceList) (RecoveryPointResourceList, error)) RecoveryPointResourceListPage { - return RecoveryPointResourceListPage{fn: getNextPage} +// AsAzureSQLContainer is the BasicProtectionContainer implementation for ProtectionContainer. +func (pc ProtectionContainer) AsAzureSQLContainer() (*AzureSQLContainer, bool) { + return nil, false } -// RecoveryPointTierInformation recovery point tier information. -type RecoveryPointTierInformation struct { - // Type - Recovery point tier type. Possible values include: 'RecoveryPointTierTypeInvalid', 'RecoveryPointTierTypeInstantRP', 'RecoveryPointTierTypeHardenedRP' - Type RecoveryPointTierType `json:"type,omitempty"` - // Status - Recovery point tier status. Possible values include: 'RecoveryPointTierStatusInvalid', 'RecoveryPointTierStatusValid', 'RecoveryPointTierStatusDisabled', 'RecoveryPointTierStatusDeleted' - Status RecoveryPointTierStatus `json:"status,omitempty"` +// AsAzureStorageContainer is the BasicProtectionContainer implementation for ProtectionContainer. +func (pc ProtectionContainer) AsAzureStorageContainer() (*AzureStorageContainer, bool) { + return nil, false } -// BasicRequest base class for backup request. Workload-specific backup requests are derived from this class. -type BasicRequest interface { - AsAzureFileShareBackupRequest() (*AzureFileShareBackupRequest, bool) - AsAzureWorkloadBackupRequest() (*AzureWorkloadBackupRequest, bool) - AsIaasVMBackupRequest() (*IaasVMBackupRequest, bool) - AsRequest() (*Request, bool) +// AsAzureVMAppContainerProtectionContainer is the BasicProtectionContainer implementation for ProtectionContainer. +func (pc ProtectionContainer) AsAzureVMAppContainerProtectionContainer() (*AzureVMAppContainerProtectionContainer, bool) { + return nil, false } -// Request base class for backup request. Workload-specific backup requests are derived from this class. -type Request struct { - // ObjectType - Possible values include: 'ObjectTypeBackupRequest', 'ObjectTypeAzureFileShareBackupRequest', 'ObjectTypeAzureWorkloadBackupRequest', 'ObjectTypeIaasVMBackupRequest' - ObjectType ObjectType `json:"objectType,omitempty"` +// AsAzureWorkloadContainer is the BasicProtectionContainer implementation for ProtectionContainer. +func (pc ProtectionContainer) AsAzureWorkloadContainer() (*AzureWorkloadContainer, bool) { + return nil, false } -func unmarshalBasicRequest(body []byte) (BasicRequest, error) { - var m map[string]interface{} - err := json.Unmarshal(body, &m) - if err != nil { - return nil, err - } - - switch m["objectType"] { - case string(ObjectTypeAzureFileShareBackupRequest): - var afsbr AzureFileShareBackupRequest - err := json.Unmarshal(body, &afsbr) - return afsbr, err - case string(ObjectTypeAzureWorkloadBackupRequest): - var awbr AzureWorkloadBackupRequest - err := json.Unmarshal(body, &awbr) - return awbr, err - case string(ObjectTypeIaasVMBackupRequest): - var ivbr IaasVMBackupRequest - err := json.Unmarshal(body, &ivbr) - return ivbr, err - default: - var r Request - err := json.Unmarshal(body, &r) - return r, err - } +// AsBasicAzureWorkloadContainer is the BasicProtectionContainer implementation for ProtectionContainer. +func (pc ProtectionContainer) AsBasicAzureWorkloadContainer() (BasicAzureWorkloadContainer, bool) { + return nil, false } -func unmarshalBasicRequestArray(body []byte) ([]BasicRequest, error) { - var rawMessages []*json.RawMessage - err := json.Unmarshal(body, &rawMessages) - if err != nil { - return nil, err - } - rArray := make([]BasicRequest, len(rawMessages)) +// AsDpmContainer is the BasicProtectionContainer implementation for ProtectionContainer. +func (pc ProtectionContainer) AsDpmContainer() (*DpmContainer, bool) { + return nil, false +} - for index, rawMessage := range rawMessages { - r, err := unmarshalBasicRequest(*rawMessage) - if err != nil { - return nil, err - } - rArray[index] = r - } - return rArray, nil +// AsBasicDpmContainer is the BasicProtectionContainer implementation for ProtectionContainer. +func (pc ProtectionContainer) AsBasicDpmContainer() (BasicDpmContainer, bool) { + return nil, false } -// MarshalJSON is the custom marshaler for Request. -func (r Request) MarshalJSON() ([]byte, error) { - r.ObjectType = ObjectTypeBackupRequest - objectMap := make(map[string]interface{}) - if r.ObjectType != "" { - objectMap["objectType"] = r.ObjectType - } - return json.Marshal(objectMap) +// AsGenericContainer is the BasicProtectionContainer implementation for ProtectionContainer. +func (pc ProtectionContainer) AsGenericContainer() (*GenericContainer, bool) { + return nil, false } -// AsAzureFileShareBackupRequest is the BasicRequest implementation for Request. -func (r Request) AsAzureFileShareBackupRequest() (*AzureFileShareBackupRequest, bool) { +// AsIaaSVMContainer is the BasicProtectionContainer implementation for ProtectionContainer. +func (pc ProtectionContainer) AsIaaSVMContainer() (*IaaSVMContainer, bool) { return nil, false } -// AsAzureWorkloadBackupRequest is the BasicRequest implementation for Request. -func (r Request) AsAzureWorkloadBackupRequest() (*AzureWorkloadBackupRequest, bool) { +// AsBasicIaaSVMContainer is the BasicProtectionContainer implementation for ProtectionContainer. +func (pc ProtectionContainer) AsBasicIaaSVMContainer() (BasicIaaSVMContainer, bool) { return nil, false } -// AsIaasVMBackupRequest is the BasicRequest implementation for Request. -func (r Request) AsIaasVMBackupRequest() (*IaasVMBackupRequest, bool) { +// AsMabContainer is the BasicProtectionContainer implementation for ProtectionContainer. +func (pc ProtectionContainer) AsMabContainer() (*MabContainer, bool) { return nil, false } -// AsRequest is the BasicRequest implementation for Request. -func (r Request) AsRequest() (*Request, bool) { - return &r, true +// AsProtectionContainer is the BasicProtectionContainer implementation for ProtectionContainer. +func (pc ProtectionContainer) AsProtectionContainer() (*ProtectionContainer, bool) { + return &pc, true } -// AsBasicRequest is the BasicRequest implementation for Request. -func (r Request) AsBasicRequest() (BasicRequest, bool) { - return &r, true +// AsBasicProtectionContainer is the BasicProtectionContainer implementation for ProtectionContainer. +func (pc ProtectionContainer) AsBasicProtectionContainer() (BasicProtectionContainer, bool) { + return &pc, true } -// RequestResource base class for backup request. Workload-specific backup requests are derived from this -// class. -type RequestResource struct { - // Properties - BackupRequestResource properties - Properties BasicRequest `json:"properties,omitempty"` +// ProtectionContainerResource base class for container with backup items. Containers with specific +// workloads are derived from this class. +type ProtectionContainerResource struct { + autorest.Response `json:"-"` + // Properties - ProtectionContainerResource properties + Properties BasicProtectionContainer `json:"properties,omitempty"` // ID - READ-ONLY; Resource Id represents the complete path to the resource. ID *string `json:"id,omitempty"` // Name - READ-ONLY; Resource name associated with the resource. @@ -15307,24 +7295,24 @@ type RequestResource struct { ETag *string `json:"eTag,omitempty"` } -// MarshalJSON is the custom marshaler for RequestResource. -func (rr RequestResource) MarshalJSON() ([]byte, error) { +// MarshalJSON is the custom marshaler for ProtectionContainerResource. +func (pcr ProtectionContainerResource) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) - objectMap["properties"] = rr.Properties - if rr.Location != nil { - objectMap["location"] = rr.Location + objectMap["properties"] = pcr.Properties + if pcr.Location != nil { + objectMap["location"] = pcr.Location } - if rr.Tags != nil { - objectMap["tags"] = rr.Tags + if pcr.Tags != nil { + objectMap["tags"] = pcr.Tags } - if rr.ETag != nil { - objectMap["eTag"] = rr.ETag + if pcr.ETag != nil { + objectMap["eTag"] = pcr.ETag } return json.Marshal(objectMap) } -// UnmarshalJSON is the custom unmarshaler for RequestResource struct. -func (rr *RequestResource) UnmarshalJSON(body []byte) error { +// UnmarshalJSON is the custom unmarshaler for ProtectionContainerResource struct. +func (pcr *ProtectionContainerResource) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -15334,11 +7322,11 @@ func (rr *RequestResource) UnmarshalJSON(body []byte) error { switch k { case "properties": if v != nil { - properties, err := unmarshalBasicRequest(*v) + properties, err := unmarshalBasicProtectionContainer(*v) if err != nil { return err } - rr.Properties = properties + pcr.Properties = properties } case "id": if v != nil { @@ -15347,7 +7335,7 @@ func (rr *RequestResource) UnmarshalJSON(body []byte) error { if err != nil { return err } - rr.ID = &ID + pcr.ID = &ID } case "name": if v != nil { @@ -15356,7 +7344,7 @@ func (rr *RequestResource) UnmarshalJSON(body []byte) error { if err != nil { return err } - rr.Name = &name + pcr.Name = &name } case "type": if v != nil { @@ -15365,7 +7353,7 @@ func (rr *RequestResource) UnmarshalJSON(body []byte) error { if err != nil { return err } - rr.Type = &typeVar + pcr.Type = &typeVar } case "location": if v != nil { @@ -15374,7 +7362,7 @@ func (rr *RequestResource) UnmarshalJSON(body []byte) error { if err != nil { return err } - rr.Location = &location + pcr.Location = &location } case "tags": if v != nil { @@ -15383,7 +7371,7 @@ func (rr *RequestResource) UnmarshalJSON(body []byte) error { if err != nil { return err } - rr.Tags = tags + pcr.Tags = tags } case "eTag": if v != nil { @@ -15392,7 +7380,7 @@ func (rr *RequestResource) UnmarshalJSON(body []byte) error { if err != nil { return err } - rr.ETag = &eTag + pcr.ETag = &eTag } } } @@ -15400,173 +7388,165 @@ func (rr *RequestResource) UnmarshalJSON(body []byte) error { return nil } -// Resource ARM Resource. -type Resource struct { - // ID - READ-ONLY; Resource Id represents the complete path to the resource. - ID *string `json:"id,omitempty"` - // Name - READ-ONLY; Resource name associated with the resource. - Name *string `json:"name,omitempty"` - // Type - READ-ONLY; Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/... - Type *string `json:"type,omitempty"` - // Location - Resource location. - Location *string `json:"location,omitempty"` - // Tags - Resource tags. - Tags map[string]*string `json:"tags"` - // ETag - Optional ETag. - ETag *string `json:"eTag,omitempty"` +// ProtectionContainerResourceList list of ProtectionContainer resources +type ProtectionContainerResourceList struct { + autorest.Response `json:"-"` + // Value - List of resources. + Value *[]ProtectionContainerResource `json:"value,omitempty"` + // NextLink - The uri to fetch the next page of resources. Call ListNext() fetches next page of resources. + NextLink *string `json:"nextLink,omitempty"` +} + +// ProtectionContainerResourceListIterator provides access to a complete listing of +// ProtectionContainerResource values. +type ProtectionContainerResourceListIterator struct { + i int + page ProtectionContainerResourceListPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *ProtectionContainerResourceListIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ProtectionContainerResourceListIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *ProtectionContainerResourceListIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter ProtectionContainerResourceListIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) } -// MarshalJSON is the custom marshaler for Resource. -func (r Resource) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - if r.Location != nil { - objectMap["location"] = r.Location - } - if r.Tags != nil { - objectMap["tags"] = r.Tags - } - if r.ETag != nil { - objectMap["eTag"] = r.ETag +// Response returns the raw server response from the last page request. +func (iter ProtectionContainerResourceListIterator) Response() ProtectionContainerResourceList { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter ProtectionContainerResourceListIterator) Value() ProtectionContainerResource { + if !iter.page.NotDone() { + return ProtectionContainerResource{} } - return json.Marshal(objectMap) + return iter.page.Values()[iter.i] } -// ResourceConfig the resource storage details. -type ResourceConfig struct { - // StorageModelType - Storage type. Possible values include: 'StorageTypeInvalid', 'StorageTypeGeoRedundant', 'StorageTypeLocallyRedundant' - StorageModelType StorageType `json:"storageModelType,omitempty"` - // StorageType - Storage type. Possible values include: 'StorageTypeInvalid', 'StorageTypeGeoRedundant', 'StorageTypeLocallyRedundant' - StorageType StorageType `json:"storageType,omitempty"` - // StorageTypeState - Locked or Unlocked. Once a machine is registered against a resource, the storageTypeState is always Locked. Possible values include: 'StorageTypeStateInvalid', 'StorageTypeStateLocked', 'StorageTypeStateUnlocked' - StorageTypeState StorageTypeState `json:"storageTypeState,omitempty"` +// Creates a new instance of the ProtectionContainerResourceListIterator type. +func NewProtectionContainerResourceListIterator(page ProtectionContainerResourceListPage) ProtectionContainerResourceListIterator { + return ProtectionContainerResourceListIterator{page: page} } -// ResourceConfigResource the resource storage details. -type ResourceConfigResource struct { - autorest.Response `json:"-"` - // Properties - BackupResourceConfigResource properties - Properties *ResourceConfig `json:"properties,omitempty"` - // ID - READ-ONLY; Resource Id represents the complete path to the resource. - ID *string `json:"id,omitempty"` - // Name - READ-ONLY; Resource name associated with the resource. - Name *string `json:"name,omitempty"` - // Type - READ-ONLY; Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/... - Type *string `json:"type,omitempty"` - // Location - Resource location. - Location *string `json:"location,omitempty"` - // Tags - Resource tags. - Tags map[string]*string `json:"tags"` - // ETag - Optional ETag. - ETag *string `json:"eTag,omitempty"` +// IsEmpty returns true if the ListResult contains no values. +func (pcrl ProtectionContainerResourceList) IsEmpty() bool { + return pcrl.Value == nil || len(*pcrl.Value) == 0 } -// MarshalJSON is the custom marshaler for ResourceConfigResource. -func (rcr ResourceConfigResource) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - if rcr.Properties != nil { - objectMap["properties"] = rcr.Properties - } - if rcr.Location != nil { - objectMap["location"] = rcr.Location +// protectionContainerResourceListPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (pcrl ProtectionContainerResourceList) protectionContainerResourceListPreparer(ctx context.Context) (*http.Request, error) { + if pcrl.NextLink == nil || len(to.String(pcrl.NextLink)) < 1 { + return nil, nil } - if rcr.Tags != nil { - objectMap["tags"] = rcr.Tags + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(pcrl.NextLink))) +} + +// ProtectionContainerResourceListPage contains a page of ProtectionContainerResource values. +type ProtectionContainerResourceListPage struct { + fn func(context.Context, ProtectionContainerResourceList) (ProtectionContainerResourceList, error) + pcrl ProtectionContainerResourceList +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *ProtectionContainerResourceListPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ProtectionContainerResourceListPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() } - if rcr.ETag != nil { - objectMap["eTag"] = rcr.ETag + next, err := page.fn(ctx, page.pcrl) + if err != nil { + return err } - return json.Marshal(objectMap) + page.pcrl = next + return nil } -// ResourceList base for all lists of resources. -type ResourceList struct { - // NextLink - The uri to fetch the next page of resources. Call ListNext() fetches next page of resources. - NextLink *string `json:"nextLink,omitempty"` +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *ProtectionContainerResourceListPage) Next() error { + return page.NextWithContext(context.Background()) } -// ResourceVaultConfig backup resource vault config details. -type ResourceVaultConfig struct { - // StorageModelType - Storage type. Possible values include: 'StorageTypeInvalid', 'StorageTypeGeoRedundant', 'StorageTypeLocallyRedundant' - StorageModelType StorageType `json:"storageModelType,omitempty"` - // StorageType - Storage type. Possible values include: 'StorageTypeInvalid', 'StorageTypeGeoRedundant', 'StorageTypeLocallyRedundant' - StorageType StorageType `json:"storageType,omitempty"` - // StorageTypeState - Locked or Unlocked. Once a machine is registered against a resource, the storageTypeState is always Locked. Possible values include: 'StorageTypeStateInvalid', 'StorageTypeStateLocked', 'StorageTypeStateUnlocked' - StorageTypeState StorageTypeState `json:"storageTypeState,omitempty"` - // EnhancedSecurityState - Enabled or Disabled. Possible values include: 'EnhancedSecurityStateInvalid', 'EnhancedSecurityStateEnabled', 'EnhancedSecurityStateDisabled' - EnhancedSecurityState EnhancedSecurityState `json:"enhancedSecurityState,omitempty"` +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page ProtectionContainerResourceListPage) NotDone() bool { + return !page.pcrl.IsEmpty() } -// ResourceVaultConfigResource backup resource vault config details. -type ResourceVaultConfigResource struct { - autorest.Response `json:"-"` - // Properties - BackupResourceVaultConfigResource properties - Properties *ResourceVaultConfig `json:"properties,omitempty"` - // ID - READ-ONLY; Resource Id represents the complete path to the resource. - ID *string `json:"id,omitempty"` - // Name - READ-ONLY; Resource name associated with the resource. - Name *string `json:"name,omitempty"` - // Type - READ-ONLY; Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/... - Type *string `json:"type,omitempty"` - // Location - Resource location. - Location *string `json:"location,omitempty"` - // Tags - Resource tags. - Tags map[string]*string `json:"tags"` - // ETag - Optional ETag. - ETag *string `json:"eTag,omitempty"` +// Response returns the raw server response from the last page request. +func (page ProtectionContainerResourceListPage) Response() ProtectionContainerResourceList { + return page.pcrl } -// MarshalJSON is the custom marshaler for ResourceVaultConfigResource. -func (rvcr ResourceVaultConfigResource) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - if rvcr.Properties != nil { - objectMap["properties"] = rvcr.Properties - } - if rvcr.Location != nil { - objectMap["location"] = rvcr.Location - } - if rvcr.Tags != nil { - objectMap["tags"] = rvcr.Tags - } - if rvcr.ETag != nil { - objectMap["eTag"] = rvcr.ETag +// Values returns the slice of values for the current page or nil if there are no values. +func (page ProtectionContainerResourceListPage) Values() []ProtectionContainerResource { + if page.pcrl.IsEmpty() { + return nil } - return json.Marshal(objectMap) + return *page.pcrl.Value } -// RestoreFileSpecs restore file specs like file path, type and target folder path info. -type RestoreFileSpecs struct { - // Path - Source File/Folder path - Path *string `json:"path,omitempty"` - // FileSpecType - Indicates what the Path variable stands for - FileSpecType *string `json:"fileSpecType,omitempty"` - // TargetFolderPath - Destination folder path in target FileShare - TargetFolderPath *string `json:"targetFolderPath,omitempty"` -} - -// BasicRestoreRequest base class for restore request. Workload-specific restore requests are derived from this class. -type BasicRestoreRequest interface { - AsAzureFileShareRestoreRequest() (*AzureFileShareRestoreRequest, bool) - AsAzureWorkloadPointInTimeRestoreRequest() (*AzureWorkloadPointInTimeRestoreRequest, bool) - AsAzureWorkloadRestoreRequest() (*AzureWorkloadRestoreRequest, bool) - AsBasicAzureWorkloadRestoreRequest() (BasicAzureWorkloadRestoreRequest, bool) - AsAzureWorkloadSAPHanaPointInTimeRestoreRequest() (*AzureWorkloadSAPHanaPointInTimeRestoreRequest, bool) - AsAzureWorkloadSAPHanaRestoreRequest() (*AzureWorkloadSAPHanaRestoreRequest, bool) - AsBasicAzureWorkloadSAPHanaRestoreRequest() (BasicAzureWorkloadSAPHanaRestoreRequest, bool) - AsAzureWorkloadSQLPointInTimeRestoreRequest() (*AzureWorkloadSQLPointInTimeRestoreRequest, bool) - AsAzureWorkloadSQLRestoreRequest() (*AzureWorkloadSQLRestoreRequest, bool) - AsBasicAzureWorkloadSQLRestoreRequest() (BasicAzureWorkloadSQLRestoreRequest, bool) - AsIaasVMRestoreRequest() (*IaasVMRestoreRequest, bool) - AsRestoreRequest() (*RestoreRequest, bool) -} - -// RestoreRequest base class for restore request. Workload-specific restore requests are derived from this -// class. -type RestoreRequest struct { - // ObjectType - Possible values include: 'ObjectTypeRestoreRequest', 'ObjectTypeAzureFileShareRestoreRequest', 'ObjectTypeAzureWorkloadPointInTimeRestoreRequest', 'ObjectTypeAzureWorkloadRestoreRequest', 'ObjectTypeAzureWorkloadSAPHanaPointInTimeRestoreRequest', 'ObjectTypeAzureWorkloadSAPHanaRestoreRequest', 'ObjectTypeAzureWorkloadSQLPointInTimeRestoreRequest', 'ObjectTypeAzureWorkloadSQLRestoreRequest', 'ObjectTypeIaasVMRestoreRequest' - ObjectType ObjectTypeBasicRestoreRequest `json:"objectType,omitempty"` +// Creates a new instance of the ProtectionContainerResourceListPage type. +func NewProtectionContainerResourceListPage(getNextPage func(context.Context, ProtectionContainerResourceList) (ProtectionContainerResourceList, error)) ProtectionContainerResourceListPage { + return ProtectionContainerResourceListPage{fn: getNextPage} +} + +// BasicRecoveryPoint base class for backup copies. Workload-specific backup copies are derived from this class. +type BasicRecoveryPoint interface { + AsRecoveryPoint() (*RecoveryPoint, bool) +} + +// RecoveryPoint base class for backup copies. Workload-specific backup copies are derived from this class. +type RecoveryPoint struct { + // ObjectType - Possible values include: 'ObjectTypeRecoveryPoint' + ObjectType ObjectTypeBasicRecoveryPoint `json:"objectType,omitempty"` } -func unmarshalBasicRestoreRequest(body []byte) (BasicRestoreRequest, error) { +func unmarshalBasicRecoveryPoint(body []byte) (BasicRecoveryPoint, error) { var m map[string]interface{} err := json.Unmarshal(body, &m) if err != nil { @@ -15574,143 +7554,150 @@ func unmarshalBasicRestoreRequest(body []byte) (BasicRestoreRequest, error) { } switch m["objectType"] { - case string(ObjectTypeAzureFileShareRestoreRequest): - var afsrr AzureFileShareRestoreRequest - err := json.Unmarshal(body, &afsrr) - return afsrr, err - case string(ObjectTypeAzureWorkloadPointInTimeRestoreRequest): - var awpitrr AzureWorkloadPointInTimeRestoreRequest - err := json.Unmarshal(body, &awpitrr) - return awpitrr, err - case string(ObjectTypeAzureWorkloadRestoreRequest): - var awrr AzureWorkloadRestoreRequest - err := json.Unmarshal(body, &awrr) - return awrr, err - case string(ObjectTypeAzureWorkloadSAPHanaPointInTimeRestoreRequest): - var awshpitrr AzureWorkloadSAPHanaPointInTimeRestoreRequest - err := json.Unmarshal(body, &awshpitrr) - return awshpitrr, err - case string(ObjectTypeAzureWorkloadSAPHanaRestoreRequest): - var awshrr AzureWorkloadSAPHanaRestoreRequest - err := json.Unmarshal(body, &awshrr) - return awshrr, err - case string(ObjectTypeAzureWorkloadSQLPointInTimeRestoreRequest): - var awspitrr AzureWorkloadSQLPointInTimeRestoreRequest - err := json.Unmarshal(body, &awspitrr) - return awspitrr, err - case string(ObjectTypeAzureWorkloadSQLRestoreRequest): - var awsrr AzureWorkloadSQLRestoreRequest - err := json.Unmarshal(body, &awsrr) - return awsrr, err - case string(ObjectTypeIaasVMRestoreRequest): - var ivrr IaasVMRestoreRequest - err := json.Unmarshal(body, &ivrr) - return ivrr, err default: - var rr RestoreRequest - err := json.Unmarshal(body, &rr) - return rr, err + var rp RecoveryPoint + err := json.Unmarshal(body, &rp) + return rp, err } } -func unmarshalBasicRestoreRequestArray(body []byte) ([]BasicRestoreRequest, error) { +func unmarshalBasicRecoveryPointArray(body []byte) ([]BasicRecoveryPoint, error) { var rawMessages []*json.RawMessage err := json.Unmarshal(body, &rawMessages) if err != nil { return nil, err } - rrArray := make([]BasicRestoreRequest, len(rawMessages)) + rpArray := make([]BasicRecoveryPoint, len(rawMessages)) for index, rawMessage := range rawMessages { - rr, err := unmarshalBasicRestoreRequest(*rawMessage) + rp, err := unmarshalBasicRecoveryPoint(*rawMessage) if err != nil { return nil, err } - rrArray[index] = rr + rpArray[index] = rp } - return rrArray, nil + return rpArray, nil } -// MarshalJSON is the custom marshaler for RestoreRequest. -func (rr RestoreRequest) MarshalJSON() ([]byte, error) { - rr.ObjectType = ObjectTypeRestoreRequest +// MarshalJSON is the custom marshaler for RecoveryPoint. +func (rp RecoveryPoint) MarshalJSON() ([]byte, error) { + rp.ObjectType = ObjectTypeRecoveryPoint objectMap := make(map[string]interface{}) - if rr.ObjectType != "" { - objectMap["objectType"] = rr.ObjectType + if rp.ObjectType != "" { + objectMap["objectType"] = rp.ObjectType } return json.Marshal(objectMap) } -// AsAzureFileShareRestoreRequest is the BasicRestoreRequest implementation for RestoreRequest. -func (rr RestoreRequest) AsAzureFileShareRestoreRequest() (*AzureFileShareRestoreRequest, bool) { - return nil, false +// AsRecoveryPoint is the BasicRecoveryPoint implementation for RecoveryPoint. +func (rp RecoveryPoint) AsRecoveryPoint() (*RecoveryPoint, bool) { + return &rp, true } -// AsAzureWorkloadPointInTimeRestoreRequest is the BasicRestoreRequest implementation for RestoreRequest. -func (rr RestoreRequest) AsAzureWorkloadPointInTimeRestoreRequest() (*AzureWorkloadPointInTimeRestoreRequest, bool) { - return nil, false +// AsBasicRecoveryPoint is the BasicRecoveryPoint implementation for RecoveryPoint. +func (rp RecoveryPoint) AsBasicRecoveryPoint() (BasicRecoveryPoint, bool) { + return &rp, true } -// AsAzureWorkloadRestoreRequest is the BasicRestoreRequest implementation for RestoreRequest. -func (rr RestoreRequest) AsAzureWorkloadRestoreRequest() (*AzureWorkloadRestoreRequest, bool) { - return nil, false +// BasicRequest base class for backup request. Workload-specific backup requests are derived from this class. +type BasicRequest interface { + AsAzureFileShareBackupRequest() (*AzureFileShareBackupRequest, bool) + AsAzureWorkloadBackupRequest() (*AzureWorkloadBackupRequest, bool) + AsIaasVMBackupRequest() (*IaasVMBackupRequest, bool) + AsRequest() (*Request, bool) } -// AsBasicAzureWorkloadRestoreRequest is the BasicRestoreRequest implementation for RestoreRequest. -func (rr RestoreRequest) AsBasicAzureWorkloadRestoreRequest() (BasicAzureWorkloadRestoreRequest, bool) { - return nil, false +// Request base class for backup request. Workload-specific backup requests are derived from this class. +type Request struct { + // ObjectType - Possible values include: 'ObjectTypeBackupRequest', 'ObjectTypeAzureFileShareBackupRequest', 'ObjectTypeAzureWorkloadBackupRequest', 'ObjectTypeIaasVMBackupRequest' + ObjectType ObjectType `json:"objectType,omitempty"` } -// AsAzureWorkloadSAPHanaPointInTimeRestoreRequest is the BasicRestoreRequest implementation for RestoreRequest. -func (rr RestoreRequest) AsAzureWorkloadSAPHanaPointInTimeRestoreRequest() (*AzureWorkloadSAPHanaPointInTimeRestoreRequest, bool) { - return nil, false -} +func unmarshalBasicRequest(body []byte) (BasicRequest, error) { + var m map[string]interface{} + err := json.Unmarshal(body, &m) + if err != nil { + return nil, err + } -// AsAzureWorkloadSAPHanaRestoreRequest is the BasicRestoreRequest implementation for RestoreRequest. -func (rr RestoreRequest) AsAzureWorkloadSAPHanaRestoreRequest() (*AzureWorkloadSAPHanaRestoreRequest, bool) { - return nil, false + switch m["objectType"] { + case string(ObjectTypeAzureFileShareBackupRequest): + var afsbr AzureFileShareBackupRequest + err := json.Unmarshal(body, &afsbr) + return afsbr, err + case string(ObjectTypeAzureWorkloadBackupRequest): + var awbr AzureWorkloadBackupRequest + err := json.Unmarshal(body, &awbr) + return awbr, err + case string(ObjectTypeIaasVMBackupRequest): + var ivbr IaasVMBackupRequest + err := json.Unmarshal(body, &ivbr) + return ivbr, err + default: + var r Request + err := json.Unmarshal(body, &r) + return r, err + } } +func unmarshalBasicRequestArray(body []byte) ([]BasicRequest, error) { + var rawMessages []*json.RawMessage + err := json.Unmarshal(body, &rawMessages) + if err != nil { + return nil, err + } -// AsBasicAzureWorkloadSAPHanaRestoreRequest is the BasicRestoreRequest implementation for RestoreRequest. -func (rr RestoreRequest) AsBasicAzureWorkloadSAPHanaRestoreRequest() (BasicAzureWorkloadSAPHanaRestoreRequest, bool) { - return nil, false + rArray := make([]BasicRequest, len(rawMessages)) + + for index, rawMessage := range rawMessages { + r, err := unmarshalBasicRequest(*rawMessage) + if err != nil { + return nil, err + } + rArray[index] = r + } + return rArray, nil } -// AsAzureWorkloadSQLPointInTimeRestoreRequest is the BasicRestoreRequest implementation for RestoreRequest. -func (rr RestoreRequest) AsAzureWorkloadSQLPointInTimeRestoreRequest() (*AzureWorkloadSQLPointInTimeRestoreRequest, bool) { - return nil, false +// MarshalJSON is the custom marshaler for Request. +func (r Request) MarshalJSON() ([]byte, error) { + r.ObjectType = ObjectTypeBackupRequest + objectMap := make(map[string]interface{}) + if r.ObjectType != "" { + objectMap["objectType"] = r.ObjectType + } + return json.Marshal(objectMap) } -// AsAzureWorkloadSQLRestoreRequest is the BasicRestoreRequest implementation for RestoreRequest. -func (rr RestoreRequest) AsAzureWorkloadSQLRestoreRequest() (*AzureWorkloadSQLRestoreRequest, bool) { +// AsAzureFileShareBackupRequest is the BasicRequest implementation for Request. +func (r Request) AsAzureFileShareBackupRequest() (*AzureFileShareBackupRequest, bool) { return nil, false } -// AsBasicAzureWorkloadSQLRestoreRequest is the BasicRestoreRequest implementation for RestoreRequest. -func (rr RestoreRequest) AsBasicAzureWorkloadSQLRestoreRequest() (BasicAzureWorkloadSQLRestoreRequest, bool) { +// AsAzureWorkloadBackupRequest is the BasicRequest implementation for Request. +func (r Request) AsAzureWorkloadBackupRequest() (*AzureWorkloadBackupRequest, bool) { return nil, false } -// AsIaasVMRestoreRequest is the BasicRestoreRequest implementation for RestoreRequest. -func (rr RestoreRequest) AsIaasVMRestoreRequest() (*IaasVMRestoreRequest, bool) { +// AsIaasVMBackupRequest is the BasicRequest implementation for Request. +func (r Request) AsIaasVMBackupRequest() (*IaasVMBackupRequest, bool) { return nil, false } -// AsRestoreRequest is the BasicRestoreRequest implementation for RestoreRequest. -func (rr RestoreRequest) AsRestoreRequest() (*RestoreRequest, bool) { - return &rr, true +// AsRequest is the BasicRequest implementation for Request. +func (r Request) AsRequest() (*Request, bool) { + return &r, true } -// AsBasicRestoreRequest is the BasicRestoreRequest implementation for RestoreRequest. -func (rr RestoreRequest) AsBasicRestoreRequest() (BasicRestoreRequest, bool) { - return &rr, true +// AsBasicRequest is the BasicRequest implementation for Request. +func (r Request) AsBasicRequest() (BasicRequest, bool) { + return &r, true } -// RestoreRequestResource base class for restore request. Workload-specific restore requests are derived -// from this class. -type RestoreRequestResource struct { - // Properties - RestoreRequestResource properties - Properties BasicRestoreRequest `json:"properties,omitempty"` +// RequestResource base class for backup request. Workload-specific backup requests are derived from this +// class. +type RequestResource struct { + // Properties - BackupRequestResource properties + Properties BasicRequest `json:"properties,omitempty"` // ID - READ-ONLY; Resource Id represents the complete path to the resource. ID *string `json:"id,omitempty"` // Name - READ-ONLY; Resource name associated with the resource. @@ -15725,24 +7712,24 @@ type RestoreRequestResource struct { ETag *string `json:"eTag,omitempty"` } -// MarshalJSON is the custom marshaler for RestoreRequestResource. -func (rrr RestoreRequestResource) MarshalJSON() ([]byte, error) { +// MarshalJSON is the custom marshaler for RequestResource. +func (rr RequestResource) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) - objectMap["properties"] = rrr.Properties - if rrr.Location != nil { - objectMap["location"] = rrr.Location + objectMap["properties"] = rr.Properties + if rr.Location != nil { + objectMap["location"] = rr.Location } - if rrr.Tags != nil { - objectMap["tags"] = rrr.Tags + if rr.Tags != nil { + objectMap["tags"] = rr.Tags } - if rrr.ETag != nil { - objectMap["eTag"] = rrr.ETag + if rr.ETag != nil { + objectMap["eTag"] = rr.ETag } return json.Marshal(objectMap) } -// UnmarshalJSON is the custom unmarshaler for RestoreRequestResource struct. -func (rrr *RestoreRequestResource) UnmarshalJSON(body []byte) error { +// UnmarshalJSON is the custom unmarshaler for RequestResource struct. +func (rr *RequestResource) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -15752,11 +7739,11 @@ func (rrr *RestoreRequestResource) UnmarshalJSON(body []byte) error { switch k { case "properties": if v != nil { - properties, err := unmarshalBasicRestoreRequest(*v) + properties, err := unmarshalBasicRequest(*v) if err != nil { return err } - rrr.Properties = properties + rr.Properties = properties } case "id": if v != nil { @@ -15765,7 +7752,7 @@ func (rrr *RestoreRequestResource) UnmarshalJSON(body []byte) error { if err != nil { return err } - rrr.ID = &ID + rr.ID = &ID } case "name": if v != nil { @@ -15774,7 +7761,7 @@ func (rrr *RestoreRequestResource) UnmarshalJSON(body []byte) error { if err != nil { return err } - rrr.Name = &name + rr.Name = &name } case "type": if v != nil { @@ -15783,7 +7770,7 @@ func (rrr *RestoreRequestResource) UnmarshalJSON(body []byte) error { if err != nil { return err } - rrr.Type = &typeVar + rr.Type = &typeVar } case "location": if v != nil { @@ -15792,7 +7779,7 @@ func (rrr *RestoreRequestResource) UnmarshalJSON(body []byte) error { if err != nil { return err } - rrr.Location = &location + rr.Location = &location } case "tags": if v != nil { @@ -15801,7 +7788,7 @@ func (rrr *RestoreRequestResource) UnmarshalJSON(body []byte) error { if err != nil { return err } - rrr.Tags = tags + rr.Tags = tags } case "eTag": if v != nil { @@ -15810,7 +7797,7 @@ func (rrr *RestoreRequestResource) UnmarshalJSON(body []byte) error { if err != nil { return err } - rrr.ETag = &eTag + rr.ETag = &eTag } } } @@ -15818,304 +7805,88 @@ func (rrr *RestoreRequestResource) UnmarshalJSON(body []byte) error { return nil } -// RetentionDuration retention duration. -type RetentionDuration struct { - // Count - Count of duration types. Retention duration is obtained by the counting the duration type Count times. - // For example, when Count = 3 and DurationType = Weeks, retention duration will be three weeks. - Count *int32 `json:"count,omitempty"` - // DurationType - Retention duration type of retention policy. Possible values include: 'RetentionDurationTypeInvalid', 'RetentionDurationTypeDays', 'RetentionDurationTypeWeeks', 'RetentionDurationTypeMonths', 'RetentionDurationTypeYears' - DurationType RetentionDurationType `json:"durationType,omitempty"` -} - -// BasicRetentionPolicy base class for retention policy. -type BasicRetentionPolicy interface { - AsLongTermRetentionPolicy() (*LongTermRetentionPolicy, bool) - AsSimpleRetentionPolicy() (*SimpleRetentionPolicy, bool) - AsRetentionPolicy() (*RetentionPolicy, bool) -} - -// RetentionPolicy base class for retention policy. -type RetentionPolicy struct { - // RetentionPolicyType - Possible values include: 'RetentionPolicyTypeRetentionPolicy', 'RetentionPolicyTypeLongTermRetentionPolicy', 'RetentionPolicyTypeSimpleRetentionPolicy' - RetentionPolicyType RetentionPolicyType `json:"retentionPolicyType,omitempty"` -} - -func unmarshalBasicRetentionPolicy(body []byte) (BasicRetentionPolicy, error) { - var m map[string]interface{} - err := json.Unmarshal(body, &m) - if err != nil { - return nil, err - } - - switch m["retentionPolicyType"] { - case string(RetentionPolicyTypeLongTermRetentionPolicy): - var ltrp LongTermRetentionPolicy - err := json.Unmarshal(body, <rp) - return ltrp, err - case string(RetentionPolicyTypeSimpleRetentionPolicy): - var srp SimpleRetentionPolicy - err := json.Unmarshal(body, &srp) - return srp, err - default: - var rp RetentionPolicy - err := json.Unmarshal(body, &rp) - return rp, err - } -} -func unmarshalBasicRetentionPolicyArray(body []byte) ([]BasicRetentionPolicy, error) { - var rawMessages []*json.RawMessage - err := json.Unmarshal(body, &rawMessages) - if err != nil { - return nil, err - } - - rpArray := make([]BasicRetentionPolicy, len(rawMessages)) - - for index, rawMessage := range rawMessages { - rp, err := unmarshalBasicRetentionPolicy(*rawMessage) - if err != nil { - return nil, err - } - rpArray[index] = rp - } - return rpArray, nil -} - -// MarshalJSON is the custom marshaler for RetentionPolicy. -func (rp RetentionPolicy) MarshalJSON() ([]byte, error) { - rp.RetentionPolicyType = RetentionPolicyTypeRetentionPolicy - objectMap := make(map[string]interface{}) - if rp.RetentionPolicyType != "" { - objectMap["retentionPolicyType"] = rp.RetentionPolicyType - } - return json.Marshal(objectMap) -} - -// AsLongTermRetentionPolicy is the BasicRetentionPolicy implementation for RetentionPolicy. -func (rp RetentionPolicy) AsLongTermRetentionPolicy() (*LongTermRetentionPolicy, bool) { - return nil, false -} - -// AsSimpleRetentionPolicy is the BasicRetentionPolicy implementation for RetentionPolicy. -func (rp RetentionPolicy) AsSimpleRetentionPolicy() (*SimpleRetentionPolicy, bool) { - return nil, false -} - -// AsRetentionPolicy is the BasicRetentionPolicy implementation for RetentionPolicy. -func (rp RetentionPolicy) AsRetentionPolicy() (*RetentionPolicy, bool) { - return &rp, true -} - -// AsBasicRetentionPolicy is the BasicRetentionPolicy implementation for RetentionPolicy. -func (rp RetentionPolicy) AsBasicRetentionPolicy() (BasicRetentionPolicy, bool) { - return &rp, true -} - -// BasicSchedulePolicy base class for backup schedule. -type BasicSchedulePolicy interface { - AsLogSchedulePolicy() (*LogSchedulePolicy, bool) - AsLongTermSchedulePolicy() (*LongTermSchedulePolicy, bool) - AsSimpleSchedulePolicy() (*SimpleSchedulePolicy, bool) - AsSchedulePolicy() (*SchedulePolicy, bool) -} - -// SchedulePolicy base class for backup schedule. -type SchedulePolicy struct { - // SchedulePolicyType - Possible values include: 'SchedulePolicyTypeSchedulePolicy', 'SchedulePolicyTypeLogSchedulePolicy', 'SchedulePolicyTypeLongTermSchedulePolicy', 'SchedulePolicyTypeSimpleSchedulePolicy' - SchedulePolicyType SchedulePolicyType `json:"schedulePolicyType,omitempty"` -} - -func unmarshalBasicSchedulePolicy(body []byte) (BasicSchedulePolicy, error) { - var m map[string]interface{} - err := json.Unmarshal(body, &m) - if err != nil { - return nil, err - } - - switch m["schedulePolicyType"] { - case string(SchedulePolicyTypeLogSchedulePolicy): - var lsp LogSchedulePolicy - err := json.Unmarshal(body, &lsp) - return lsp, err - case string(SchedulePolicyTypeLongTermSchedulePolicy): - var ltsp LongTermSchedulePolicy - err := json.Unmarshal(body, <sp) - return ltsp, err - case string(SchedulePolicyTypeSimpleSchedulePolicy): - var ssp SimpleSchedulePolicy - err := json.Unmarshal(body, &ssp) - return ssp, err - default: - var sp SchedulePolicy - err := json.Unmarshal(body, &sp) - return sp, err - } -} -func unmarshalBasicSchedulePolicyArray(body []byte) ([]BasicSchedulePolicy, error) { - var rawMessages []*json.RawMessage - err := json.Unmarshal(body, &rawMessages) - if err != nil { - return nil, err - } - - spArray := make([]BasicSchedulePolicy, len(rawMessages)) - - for index, rawMessage := range rawMessages { - sp, err := unmarshalBasicSchedulePolicy(*rawMessage) - if err != nil { - return nil, err - } - spArray[index] = sp - } - return spArray, nil +// Resource ARM Resource. +type Resource struct { + // ID - READ-ONLY; Resource Id represents the complete path to the resource. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name associated with the resource. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/... + Type *string `json:"type,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` + // ETag - Optional ETag. + ETag *string `json:"eTag,omitempty"` } -// MarshalJSON is the custom marshaler for SchedulePolicy. -func (sp SchedulePolicy) MarshalJSON() ([]byte, error) { - sp.SchedulePolicyType = SchedulePolicyTypeSchedulePolicy +// MarshalJSON is the custom marshaler for Resource. +func (r Resource) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) - if sp.SchedulePolicyType != "" { - objectMap["schedulePolicyType"] = sp.SchedulePolicyType + if r.Location != nil { + objectMap["location"] = r.Location } - return json.Marshal(objectMap) -} - -// AsLogSchedulePolicy is the BasicSchedulePolicy implementation for SchedulePolicy. -func (sp SchedulePolicy) AsLogSchedulePolicy() (*LogSchedulePolicy, bool) { - return nil, false -} - -// AsLongTermSchedulePolicy is the BasicSchedulePolicy implementation for SchedulePolicy. -func (sp SchedulePolicy) AsLongTermSchedulePolicy() (*LongTermSchedulePolicy, bool) { - return nil, false -} - -// AsSimpleSchedulePolicy is the BasicSchedulePolicy implementation for SchedulePolicy. -func (sp SchedulePolicy) AsSimpleSchedulePolicy() (*SimpleSchedulePolicy, bool) { - return nil, false -} - -// AsSchedulePolicy is the BasicSchedulePolicy implementation for SchedulePolicy. -func (sp SchedulePolicy) AsSchedulePolicy() (*SchedulePolicy, bool) { - return &sp, true -} - -// AsBasicSchedulePolicy is the BasicSchedulePolicy implementation for SchedulePolicy. -func (sp SchedulePolicy) AsBasicSchedulePolicy() (BasicSchedulePolicy, bool) { - return &sp, true -} - -// Settings common settings field for backup management -type Settings struct { - // TimeZone - TimeZone optional input as string. For example: TimeZone = "Pacific Standard Time". - TimeZone *string `json:"timeZone,omitempty"` - // Issqlcompression - SQL compression flag - Issqlcompression *bool `json:"issqlcompression,omitempty"` - // IsCompression - Workload compression flag. This has been added so that 'isSqlCompression' - // will be deprecated once clients upgrade to consider this flag. - IsCompression *bool `json:"isCompression,omitempty"` -} - -// SimpleRetentionPolicy simple policy retention. -type SimpleRetentionPolicy struct { - // RetentionDuration - Retention duration of the protection policy. - RetentionDuration *RetentionDuration `json:"retentionDuration,omitempty"` - // RetentionPolicyType - Possible values include: 'RetentionPolicyTypeRetentionPolicy', 'RetentionPolicyTypeLongTermRetentionPolicy', 'RetentionPolicyTypeSimpleRetentionPolicy' - RetentionPolicyType RetentionPolicyType `json:"retentionPolicyType,omitempty"` -} - -// MarshalJSON is the custom marshaler for SimpleRetentionPolicy. -func (srp SimpleRetentionPolicy) MarshalJSON() ([]byte, error) { - srp.RetentionPolicyType = RetentionPolicyTypeSimpleRetentionPolicy - objectMap := make(map[string]interface{}) - if srp.RetentionDuration != nil { - objectMap["retentionDuration"] = srp.RetentionDuration + if r.Tags != nil { + objectMap["tags"] = r.Tags } - if srp.RetentionPolicyType != "" { - objectMap["retentionPolicyType"] = srp.RetentionPolicyType + if r.ETag != nil { + objectMap["eTag"] = r.ETag } return json.Marshal(objectMap) } -// AsLongTermRetentionPolicy is the BasicRetentionPolicy implementation for SimpleRetentionPolicy. -func (srp SimpleRetentionPolicy) AsLongTermRetentionPolicy() (*LongTermRetentionPolicy, bool) { - return nil, false -} - -// AsSimpleRetentionPolicy is the BasicRetentionPolicy implementation for SimpleRetentionPolicy. -func (srp SimpleRetentionPolicy) AsSimpleRetentionPolicy() (*SimpleRetentionPolicy, bool) { - return &srp, true -} - -// AsRetentionPolicy is the BasicRetentionPolicy implementation for SimpleRetentionPolicy. -func (srp SimpleRetentionPolicy) AsRetentionPolicy() (*RetentionPolicy, bool) { - return nil, false -} - -// AsBasicRetentionPolicy is the BasicRetentionPolicy implementation for SimpleRetentionPolicy. -func (srp SimpleRetentionPolicy) AsBasicRetentionPolicy() (BasicRetentionPolicy, bool) { - return &srp, true +// ResourceConfig the resource storage details. +type ResourceConfig struct { + // StorageModelType - Storage type. Possible values include: 'StorageTypeInvalid', 'StorageTypeGeoRedundant', 'StorageTypeLocallyRedundant' + StorageModelType StorageType `json:"storageModelType,omitempty"` + // StorageType - Storage type. Possible values include: 'StorageTypeInvalid', 'StorageTypeGeoRedundant', 'StorageTypeLocallyRedundant' + StorageType StorageType `json:"storageType,omitempty"` + // StorageTypeState - Locked or Unlocked. Once a machine is registered against a resource, the storageTypeState is always Locked. Possible values include: 'StorageTypeStateInvalid', 'StorageTypeStateLocked', 'StorageTypeStateUnlocked' + StorageTypeState StorageTypeState `json:"storageTypeState,omitempty"` } -// SimpleSchedulePolicy simple policy schedule. -type SimpleSchedulePolicy struct { - // ScheduleRunFrequency - Frequency of the schedule operation of this policy. Possible values include: 'ScheduleRunTypeInvalid', 'ScheduleRunTypeDaily', 'ScheduleRunTypeWeekly' - ScheduleRunFrequency ScheduleRunType `json:"scheduleRunFrequency,omitempty"` - // ScheduleRunDays - List of days of week this schedule has to be run. - ScheduleRunDays *[]DayOfWeek `json:"scheduleRunDays,omitempty"` - // ScheduleRunTimes - List of times of day this schedule has to be run. - ScheduleRunTimes *[]date.Time `json:"scheduleRunTimes,omitempty"` - // ScheduleWeeklyFrequency - At every number weeks this schedule has to be run. - ScheduleWeeklyFrequency *int32 `json:"scheduleWeeklyFrequency,omitempty"` - // SchedulePolicyType - Possible values include: 'SchedulePolicyTypeSchedulePolicy', 'SchedulePolicyTypeLogSchedulePolicy', 'SchedulePolicyTypeLongTermSchedulePolicy', 'SchedulePolicyTypeSimpleSchedulePolicy' - SchedulePolicyType SchedulePolicyType `json:"schedulePolicyType,omitempty"` +// ResourceConfigResource the resource storage details. +type ResourceConfigResource struct { + autorest.Response `json:"-"` + // Properties - BackupResourceConfigResource properties + Properties *ResourceConfig `json:"properties,omitempty"` + // ID - READ-ONLY; Resource Id represents the complete path to the resource. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name associated with the resource. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/... + Type *string `json:"type,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` + // ETag - Optional ETag. + ETag *string `json:"eTag,omitempty"` } -// MarshalJSON is the custom marshaler for SimpleSchedulePolicy. -func (ssp SimpleSchedulePolicy) MarshalJSON() ([]byte, error) { - ssp.SchedulePolicyType = SchedulePolicyTypeSimpleSchedulePolicy +// MarshalJSON is the custom marshaler for ResourceConfigResource. +func (rcr ResourceConfigResource) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) - if ssp.ScheduleRunFrequency != "" { - objectMap["scheduleRunFrequency"] = ssp.ScheduleRunFrequency - } - if ssp.ScheduleRunDays != nil { - objectMap["scheduleRunDays"] = ssp.ScheduleRunDays + if rcr.Properties != nil { + objectMap["properties"] = rcr.Properties } - if ssp.ScheduleRunTimes != nil { - objectMap["scheduleRunTimes"] = ssp.ScheduleRunTimes + if rcr.Location != nil { + objectMap["location"] = rcr.Location } - if ssp.ScheduleWeeklyFrequency != nil { - objectMap["scheduleWeeklyFrequency"] = ssp.ScheduleWeeklyFrequency + if rcr.Tags != nil { + objectMap["tags"] = rcr.Tags } - if ssp.SchedulePolicyType != "" { - objectMap["schedulePolicyType"] = ssp.SchedulePolicyType + if rcr.ETag != nil { + objectMap["eTag"] = rcr.ETag } return json.Marshal(objectMap) } -// AsLogSchedulePolicy is the BasicSchedulePolicy implementation for SimpleSchedulePolicy. -func (ssp SimpleSchedulePolicy) AsLogSchedulePolicy() (*LogSchedulePolicy, bool) { - return nil, false -} - -// AsLongTermSchedulePolicy is the BasicSchedulePolicy implementation for SimpleSchedulePolicy. -func (ssp SimpleSchedulePolicy) AsLongTermSchedulePolicy() (*LongTermSchedulePolicy, bool) { - return nil, false -} - -// AsSimpleSchedulePolicy is the BasicSchedulePolicy implementation for SimpleSchedulePolicy. -func (ssp SimpleSchedulePolicy) AsSimpleSchedulePolicy() (*SimpleSchedulePolicy, bool) { - return &ssp, true -} - -// AsSchedulePolicy is the BasicSchedulePolicy implementation for SimpleSchedulePolicy. -func (ssp SimpleSchedulePolicy) AsSchedulePolicy() (*SchedulePolicy, bool) { - return nil, false -} - -// AsBasicSchedulePolicy is the BasicSchedulePolicy implementation for SimpleSchedulePolicy. -func (ssp SimpleSchedulePolicy) AsBasicSchedulePolicy() (BasicSchedulePolicy, bool) { - return &ssp, true +// ResourceList base for all lists of resources. +type ResourceList struct { + // NextLink - The uri to fetch the next page of resources. Call ListNext() fetches next page of resources. + NextLink *string `json:"nextLink,omitempty"` } // SQLDataDirectory sQLDataDirectory info @@ -16128,86 +7899,6 @@ type SQLDataDirectory struct { LogicalName *string `json:"logicalName,omitempty"` } -// SQLDataDirectoryMapping encapsulates information regarding data directory -type SQLDataDirectoryMapping struct { - // MappingType - Type of data directory mapping. Possible values include: 'SQLDataDirectoryTypeInvalid', 'SQLDataDirectoryTypeData', 'SQLDataDirectoryTypeLog' - MappingType SQLDataDirectoryType `json:"mappingType,omitempty"` - // SourceLogicalName - Restore source logical name path - SourceLogicalName *string `json:"sourceLogicalName,omitempty"` - // SourcePath - Restore source path - SourcePath *string `json:"sourcePath,omitempty"` - // TargetPath - Target path - TargetPath *string `json:"targetPath,omitempty"` -} - -// SubProtectionPolicy sub-protection policy which includes schedule and retention -type SubProtectionPolicy struct { - // PolicyType - Type of backup policy type. Possible values include: 'PolicyTypeInvalid', 'PolicyTypeFull', 'PolicyTypeDifferential', 'PolicyTypeLog', 'PolicyTypeCopyOnlyFull' - PolicyType PolicyType `json:"policyType,omitempty"` - // SchedulePolicy - Backup schedule specified as part of backup policy. - SchedulePolicy BasicSchedulePolicy `json:"schedulePolicy,omitempty"` - // RetentionPolicy - Retention policy with the details on backup copy retention ranges. - RetentionPolicy BasicRetentionPolicy `json:"retentionPolicy,omitempty"` -} - -// UnmarshalJSON is the custom unmarshaler for SubProtectionPolicy struct. -func (spp *SubProtectionPolicy) UnmarshalJSON(body []byte) error { - var m map[string]*json.RawMessage - err := json.Unmarshal(body, &m) - if err != nil { - return err - } - for k, v := range m { - switch k { - case "policyType": - if v != nil { - var policyType PolicyType - err = json.Unmarshal(*v, &policyType) - if err != nil { - return err - } - spp.PolicyType = policyType - } - case "schedulePolicy": - if v != nil { - schedulePolicy, err := unmarshalBasicSchedulePolicy(*v) - if err != nil { - return err - } - spp.SchedulePolicy = schedulePolicy - } - case "retentionPolicy": - if v != nil { - retentionPolicy, err := unmarshalBasicRetentionPolicy(*v) - if err != nil { - return err - } - spp.RetentionPolicy = retentionPolicy - } - } - } - - return nil -} - -// TargetAFSRestoreInfo target Azure File Share Info. -type TargetAFSRestoreInfo struct { - // Name - File share name - Name *string `json:"name,omitempty"` - // TargetResourceID - Target file share resource ARM ID - TargetResourceID *string `json:"targetResourceId,omitempty"` -} - -// TargetRestoreInfo details about target workload during restore operation. -type TargetRestoreInfo struct { - // OverwriteOption - Can Overwrite if Target DataBase already exists. Possible values include: 'OverwriteOptionsInvalid', 'OverwriteOptionsFailOnConflict', 'OverwriteOptionsOverwrite' - OverwriteOption OverwriteOptions `json:"overwriteOption,omitempty"` - // ContainerID - Resource Id name of the container in which Target DataBase resides - ContainerID *string `json:"containerId,omitempty"` - // DatabaseName - Database name InstanceName/DataBaseName for SQL or System/DbName for SAP Hana - DatabaseName *string `json:"databaseName,omitempty"` -} - // TokenInformation the token information details. type TokenInformation struct { autorest.Response `json:"-"` @@ -16219,24 +7910,6 @@ type TokenInformation struct { SecurityPIN *string `json:"securityPIN,omitempty"` } -// WeeklyRetentionFormat weekly retention format. -type WeeklyRetentionFormat struct { - // DaysOfTheWeek - List of days of the week. - DaysOfTheWeek *[]DayOfWeek `json:"daysOfTheWeek,omitempty"` - // WeeksOfTheMonth - List of weeks of month. - WeeksOfTheMonth *[]WeekOfMonth `json:"weeksOfTheMonth,omitempty"` -} - -// WeeklyRetentionSchedule weekly retention schedule. -type WeeklyRetentionSchedule struct { - // DaysOfTheWeek - List of days of week for weekly retention policy. - DaysOfTheWeek *[]DayOfWeek `json:"daysOfTheWeek,omitempty"` - // RetentionTimes - Retention times of retention policy. - RetentionTimes *[]date.Time `json:"retentionTimes,omitempty"` - // RetentionDuration - Retention duration of retention Policy. - RetentionDuration *RetentionDuration `json:"retentionDuration,omitempty"` -} - // WorkloadInquiryDetails details of an inquired protectable item. type WorkloadInquiryDetails struct { // Type - Type of the Workload such as SQL, Oracle etc. @@ -16672,7 +8345,6 @@ type BasicWorkloadProtectableItem interface { AsAzureIaaSComputeVMProtectableItem() (*AzureIaaSComputeVMProtectableItem, bool) AsAzureVMWorkloadProtectableItem() (*AzureVMWorkloadProtectableItem, bool) AsBasicAzureVMWorkloadProtectableItem() (BasicAzureVMWorkloadProtectableItem, bool) - AsAzureVMWorkloadSAPAseDatabaseProtectableItem() (*AzureVMWorkloadSAPAseDatabaseProtectableItem, bool) AsAzureVMWorkloadSAPAseSystemProtectableItem() (*AzureVMWorkloadSAPAseSystemProtectableItem, bool) AsAzureVMWorkloadSAPHanaDatabaseProtectableItem() (*AzureVMWorkloadSAPHanaDatabaseProtectableItem, bool) AsAzureVMWorkloadSAPHanaSystemProtectableItem() (*AzureVMWorkloadSAPHanaSystemProtectableItem, bool) @@ -16695,7 +8367,7 @@ type WorkloadProtectableItem struct { FriendlyName *string `json:"friendlyName,omitempty"` // ProtectionState - State of the back up item. Possible values include: 'ProtectionStatusInvalid', 'ProtectionStatusNotProtected', 'ProtectionStatusProtecting', 'ProtectionStatusProtected', 'ProtectionStatusProtectionFailed' ProtectionState ProtectionStatus `json:"protectionState,omitempty"` - // ProtectableItemType - Possible values include: 'ProtectableItemTypeWorkloadProtectableItem', 'ProtectableItemTypeAzureFileShare', 'ProtectableItemTypeMicrosoftClassicComputevirtualMachines', 'ProtectableItemTypeMicrosoftComputevirtualMachines', 'ProtectableItemTypeAzureVMWorkloadProtectableItem', 'ProtectableItemTypeSAPAseDatabase', 'ProtectableItemTypeSAPAseSystem', 'ProtectableItemTypeSAPHanaDatabase', 'ProtectableItemTypeSAPHanaSystem', 'ProtectableItemTypeSQLAvailabilityGroupContainer', 'ProtectableItemTypeSQLDataBase', 'ProtectableItemTypeSQLInstance', 'ProtectableItemTypeIaaSVMProtectableItem' + // ProtectableItemType - Possible values include: 'ProtectableItemTypeWorkloadProtectableItem', 'ProtectableItemTypeAzureFileShare', 'ProtectableItemTypeMicrosoftClassicComputevirtualMachines', 'ProtectableItemTypeMicrosoftComputevirtualMachines', 'ProtectableItemTypeAzureVMWorkloadProtectableItem', 'ProtectableItemTypeSAPAseSystem', 'ProtectableItemTypeSAPHanaDatabase', 'ProtectableItemTypeSAPHanaSystem', 'ProtectableItemTypeSQLAvailabilityGroupContainer', 'ProtectableItemTypeSQLDataBase', 'ProtectableItemTypeSQLInstance', 'ProtectableItemTypeIaaSVMProtectableItem' ProtectableItemType ProtectableItemType `json:"protectableItemType,omitempty"` } @@ -16723,10 +8395,6 @@ func unmarshalBasicWorkloadProtectableItem(body []byte) (BasicWorkloadProtectabl var avwpi AzureVMWorkloadProtectableItem err := json.Unmarshal(body, &avwpi) return avwpi, err - case string(ProtectableItemTypeSAPAseDatabase): - var avwsadpi AzureVMWorkloadSAPAseDatabaseProtectableItem - err := json.Unmarshal(body, &avwsadpi) - return avwsadpi, err case string(ProtectableItemTypeSAPAseSystem): var avwsaspi AzureVMWorkloadSAPAseSystemProtectableItem err := json.Unmarshal(body, &avwsaspi) @@ -16827,11 +8495,6 @@ func (wpi WorkloadProtectableItem) AsBasicAzureVMWorkloadProtectableItem() (Basi return nil, false } -// AsAzureVMWorkloadSAPAseDatabaseProtectableItem is the BasicWorkloadProtectableItem implementation for WorkloadProtectableItem. -func (wpi WorkloadProtectableItem) AsAzureVMWorkloadSAPAseDatabaseProtectableItem() (*AzureVMWorkloadSAPAseDatabaseProtectableItem, bool) { - return nil, false -} - // AsAzureVMWorkloadSAPAseSystemProtectableItem is the BasicWorkloadProtectableItem implementation for WorkloadProtectableItem. func (wpi WorkloadProtectableItem) AsAzureVMWorkloadSAPAseSystemProtectableItem() (*AzureVMWorkloadSAPAseSystemProtectableItem, bool) { return nil, false @@ -17140,19 +8803,3 @@ func (page WorkloadProtectableItemResourceListPage) Values() []WorkloadProtectab func NewWorkloadProtectableItemResourceListPage(getNextPage func(context.Context, WorkloadProtectableItemResourceList) (WorkloadProtectableItemResourceList, error)) WorkloadProtectableItemResourceListPage { return WorkloadProtectableItemResourceListPage{fn: getNextPage} } - -// YearlyRetentionSchedule yearly retention schedule. -type YearlyRetentionSchedule struct { - // RetentionScheduleFormatType - Retention schedule format for yearly retention policy. Possible values include: 'RetentionScheduleFormatInvalid', 'RetentionScheduleFormatDaily', 'RetentionScheduleFormatWeekly' - RetentionScheduleFormatType RetentionScheduleFormat `json:"retentionScheduleFormatType,omitempty"` - // MonthsOfYear - List of months of year of yearly retention policy. - MonthsOfYear *[]MonthOfYear `json:"monthsOfYear,omitempty"` - // RetentionScheduleDaily - Daily retention format for yearly retention policy. - RetentionScheduleDaily *DailyRetentionFormat `json:"retentionScheduleDaily,omitempty"` - // RetentionScheduleWeekly - Weekly retention format for yearly retention policy. - RetentionScheduleWeekly *WeeklyRetentionFormat `json:"retentionScheduleWeekly,omitempty"` - // RetentionTimes - Retention times of retention policy. - RetentionTimes *[]date.Time `json:"retentionTimes,omitempty"` - // RetentionDuration - Retention duration of retention Policy. - RetentionDuration *RetentionDuration `json:"retentionDuration,omitempty"` -} diff --git a/services/recoveryservices/mgmt/2016-12-01/backup/protecteditemoperationresults.go b/services/recoveryservices/mgmt/2016-12-01/backup/protecteditemoperationresults.go deleted file mode 100644 index 36e8a5f7a368..000000000000 --- a/services/recoveryservices/mgmt/2016-12-01/backup/protecteditemoperationresults.go +++ /dev/null @@ -1,127 +0,0 @@ -package backup - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/tracing" - "net/http" -) - -// ProtectedItemOperationResultsClient is the open API 2.0 Specs for Azure RecoveryServices Backup service -type ProtectedItemOperationResultsClient struct { - BaseClient -} - -// NewProtectedItemOperationResultsClient creates an instance of the ProtectedItemOperationResultsClient client. -func NewProtectedItemOperationResultsClient(subscriptionID string) ProtectedItemOperationResultsClient { - return NewProtectedItemOperationResultsClientWithBaseURI(DefaultBaseURI, subscriptionID) -} - -// NewProtectedItemOperationResultsClientWithBaseURI creates an instance of the ProtectedItemOperationResultsClient -// client. -func NewProtectedItemOperationResultsClientWithBaseURI(baseURI string, subscriptionID string) ProtectedItemOperationResultsClient { - return ProtectedItemOperationResultsClient{NewWithBaseURI(baseURI, subscriptionID)} -} - -// Get fetches the result of any operation on the backup item. -// Parameters: -// vaultName - the name of the recovery services vault. -// resourceGroupName - the name of the resource group where the recovery services vault is present. -// fabricName - fabric name associated with the backup item. -// containerName - container name associated with the backup item. -// protectedItemName - backup item name whose details are to be fetched. -// operationID - operationID which represents the operation whose result needs to be fetched. -func (client ProtectedItemOperationResultsClient) Get(ctx context.Context, vaultName string, resourceGroupName string, fabricName string, containerName string, protectedItemName string, operationID string) (result ProtectedItemResource, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/ProtectedItemOperationResultsClient.Get") - defer func() { - sc := -1 - if result.Response.Response != nil { - sc = result.Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - req, err := client.GetPreparer(ctx, vaultName, resourceGroupName, fabricName, containerName, protectedItemName, operationID) - if err != nil { - err = autorest.NewErrorWithError(err, "backup.ProtectedItemOperationResultsClient", "Get", nil, "Failure preparing request") - return - } - - resp, err := client.GetSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "backup.ProtectedItemOperationResultsClient", "Get", resp, "Failure sending request") - return - } - - result, err = client.GetResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "backup.ProtectedItemOperationResultsClient", "Get", resp, "Failure responding to request") - } - - return -} - -// GetPreparer prepares the Get request. -func (client ProtectedItemOperationResultsClient) GetPreparer(ctx context.Context, vaultName string, resourceGroupName string, fabricName string, containerName string, protectedItemName string, operationID string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "containerName": autorest.Encode("path", containerName), - "fabricName": autorest.Encode("path", fabricName), - "operationId": autorest.Encode("path", operationID), - "protectedItemName": autorest.Encode("path", protectedItemName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - "vaultName": autorest.Encode("path", vaultName), - } - - const APIVersion = "2016-12-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/operationResults/{operationId}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetSender sends the Get request. The method will close the -// http.Response Body if it receives an error. -func (client ProtectedItemOperationResultsClient) GetSender(req *http.Request) (*http.Response, error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - return autorest.SendWithSender(client, req, sd...) -} - -// GetResponder handles the response to the Get request. The method always -// closes the http.Response Body. -func (client ProtectedItemOperationResultsClient) GetResponder(resp *http.Response) (result ProtectedItemResource, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} diff --git a/services/recoveryservices/mgmt/2016-12-01/backup/protecteditems.go b/services/recoveryservices/mgmt/2016-12-01/backup/protecteditems.go deleted file mode 100644 index 46f14c9d210a..000000000000 --- a/services/recoveryservices/mgmt/2016-12-01/backup/protecteditems.go +++ /dev/null @@ -1,302 +0,0 @@ -package backup - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/tracing" - "net/http" -) - -// ProtectedItemsClient is the open API 2.0 Specs for Azure RecoveryServices Backup service -type ProtectedItemsClient struct { - BaseClient -} - -// NewProtectedItemsClient creates an instance of the ProtectedItemsClient client. -func NewProtectedItemsClient(subscriptionID string) ProtectedItemsClient { - return NewProtectedItemsClientWithBaseURI(DefaultBaseURI, subscriptionID) -} - -// NewProtectedItemsClientWithBaseURI creates an instance of the ProtectedItemsClient client. -func NewProtectedItemsClientWithBaseURI(baseURI string, subscriptionID string) ProtectedItemsClient { - return ProtectedItemsClient{NewWithBaseURI(baseURI, subscriptionID)} -} - -// CreateOrUpdate enables backup of an item or to modifies the backup policy information of an already backed up item. -// This is an -// asynchronous operation. To know the status of the operation, call the GetItemOperationResult API. -// Parameters: -// vaultName - the name of the recovery services vault. -// resourceGroupName - the name of the resource group where the recovery services vault is present. -// fabricName - fabric name associated with the backup item. -// containerName - container name associated with the backup item. -// protectedItemName - item name to be backed up. -// parameters - resource backed up item -func (client ProtectedItemsClient) CreateOrUpdate(ctx context.Context, vaultName string, resourceGroupName string, fabricName string, containerName string, protectedItemName string, parameters ProtectedItemResource) (result ProtectedItemResource, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/ProtectedItemsClient.CreateOrUpdate") - defer func() { - sc := -1 - if result.Response.Response != nil { - sc = result.Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - req, err := client.CreateOrUpdatePreparer(ctx, vaultName, resourceGroupName, fabricName, containerName, protectedItemName, parameters) - if err != nil { - err = autorest.NewErrorWithError(err, "backup.ProtectedItemsClient", "CreateOrUpdate", nil, "Failure preparing request") - return - } - - resp, err := client.CreateOrUpdateSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "backup.ProtectedItemsClient", "CreateOrUpdate", resp, "Failure sending request") - return - } - - result, err = client.CreateOrUpdateResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "backup.ProtectedItemsClient", "CreateOrUpdate", resp, "Failure responding to request") - } - - return -} - -// CreateOrUpdatePreparer prepares the CreateOrUpdate request. -func (client ProtectedItemsClient) CreateOrUpdatePreparer(ctx context.Context, vaultName string, resourceGroupName string, fabricName string, containerName string, protectedItemName string, parameters ProtectedItemResource) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "containerName": autorest.Encode("path", containerName), - "fabricName": autorest.Encode("path", fabricName), - "protectedItemName": autorest.Encode("path", protectedItemName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - "vaultName": autorest.Encode("path", vaultName), - } - - const APIVersion = "2016-12-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; charset=utf-8"), - autorest.AsPut(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}", pathParameters), - autorest.WithJSON(parameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the -// http.Response Body if it receives an error. -func (client ProtectedItemsClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - return autorest.SendWithSender(client, req, sd...) -} - -// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always -// closes the http.Response Body. -func (client ProtectedItemsClient) CreateOrUpdateResponder(resp *http.Response) (result ProtectedItemResource, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// Delete used to disable backup of an item within a container. This is an asynchronous operation. To know the status -// of the -// request, call the GetItemOperationResult API. -// Parameters: -// vaultName - the name of the recovery services vault. -// resourceGroupName - the name of the resource group where the recovery services vault is present. -// fabricName - fabric name associated with the backed up item. -// containerName - container name associated with the backed up item. -// protectedItemName - backed up item to be deleted. -func (client ProtectedItemsClient) Delete(ctx context.Context, vaultName string, resourceGroupName string, fabricName string, containerName string, protectedItemName string) (result autorest.Response, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/ProtectedItemsClient.Delete") - defer func() { - sc := -1 - if result.Response != nil { - sc = result.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - req, err := client.DeletePreparer(ctx, vaultName, resourceGroupName, fabricName, containerName, protectedItemName) - if err != nil { - err = autorest.NewErrorWithError(err, "backup.ProtectedItemsClient", "Delete", nil, "Failure preparing request") - return - } - - resp, err := client.DeleteSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "backup.ProtectedItemsClient", "Delete", resp, "Failure sending request") - return - } - - result, err = client.DeleteResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "backup.ProtectedItemsClient", "Delete", resp, "Failure responding to request") - } - - return -} - -// DeletePreparer prepares the Delete request. -func (client ProtectedItemsClient) DeletePreparer(ctx context.Context, vaultName string, resourceGroupName string, fabricName string, containerName string, protectedItemName string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "containerName": autorest.Encode("path", containerName), - "fabricName": autorest.Encode("path", fabricName), - "protectedItemName": autorest.Encode("path", protectedItemName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - "vaultName": autorest.Encode("path", vaultName), - } - - const APIVersion = "2016-12-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsDelete(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DeleteSender sends the Delete request. The method will close the -// http.Response Body if it receives an error. -func (client ProtectedItemsClient) DeleteSender(req *http.Request) (*http.Response, error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - return autorest.SendWithSender(client, req, sd...) -} - -// DeleteResponder handles the response to the Delete request. The method always -// closes the http.Response Body. -func (client ProtectedItemsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), - autorest.ByClosing()) - result.Response = resp - return -} - -// Get provides the details of the backed up item. This is an asynchronous operation. To know the status of the -// operation, -// call the GetItemOperationResult API. -// Parameters: -// vaultName - the name of the recovery services vault. -// resourceGroupName - the name of the resource group where the recovery services vault is present. -// fabricName - fabric name associated with the backed up item. -// containerName - container name associated with the backed up item. -// protectedItemName - backed up item name whose details are to be fetched. -// filter - oData filter options. -func (client ProtectedItemsClient) Get(ctx context.Context, vaultName string, resourceGroupName string, fabricName string, containerName string, protectedItemName string, filter string) (result ProtectedItemResource, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/ProtectedItemsClient.Get") - defer func() { - sc := -1 - if result.Response.Response != nil { - sc = result.Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - req, err := client.GetPreparer(ctx, vaultName, resourceGroupName, fabricName, containerName, protectedItemName, filter) - if err != nil { - err = autorest.NewErrorWithError(err, "backup.ProtectedItemsClient", "Get", nil, "Failure preparing request") - return - } - - resp, err := client.GetSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "backup.ProtectedItemsClient", "Get", resp, "Failure sending request") - return - } - - result, err = client.GetResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "backup.ProtectedItemsClient", "Get", resp, "Failure responding to request") - } - - return -} - -// GetPreparer prepares the Get request. -func (client ProtectedItemsClient) GetPreparer(ctx context.Context, vaultName string, resourceGroupName string, fabricName string, containerName string, protectedItemName string, filter string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "containerName": autorest.Encode("path", containerName), - "fabricName": autorest.Encode("path", fabricName), - "protectedItemName": autorest.Encode("path", protectedItemName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - "vaultName": autorest.Encode("path", vaultName), - } - - const APIVersion = "2016-12-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(filter) > 0 { - queryParameters["$filter"] = autorest.Encode("query", filter) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetSender sends the Get request. The method will close the -// http.Response Body if it receives an error. -func (client ProtectedItemsClient) GetSender(req *http.Request) (*http.Response, error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - return autorest.SendWithSender(client, req, sd...) -} - -// GetResponder handles the response to the Get request. The method always -// closes the http.Response Body. -func (client ProtectedItemsClient) GetResponder(resp *http.Response) (result ProtectedItemResource, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} diff --git a/services/recoveryservices/mgmt/2016-12-01/backup/protectionpolicies.go b/services/recoveryservices/mgmt/2016-12-01/backup/protectionpolicies.go index 7b3f596249a3..91701ff371aa 100644 --- a/services/recoveryservices/mgmt/2016-12-01/backup/protectionpolicies.go +++ b/services/recoveryservices/mgmt/2016-12-01/backup/protectionpolicies.go @@ -40,90 +40,6 @@ func NewProtectionPoliciesClientWithBaseURI(baseURI string, subscriptionID strin return ProtectionPoliciesClient{NewWithBaseURI(baseURI, subscriptionID)} } -// CreateOrUpdate creates or modifies a backup policy. This is an asynchronous operation. Status of the operation can -// be fetched -// using GetPolicyOperationResult API. -// Parameters: -// vaultName - the name of the recovery services vault. -// resourceGroupName - the name of the resource group where the recovery services vault is present. -// policyName - backup policy to be created. -// parameters - resource backup policy -func (client ProtectionPoliciesClient) CreateOrUpdate(ctx context.Context, vaultName string, resourceGroupName string, policyName string, parameters ProtectionPolicyResource) (result ProtectionPolicyResource, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/ProtectionPoliciesClient.CreateOrUpdate") - defer func() { - sc := -1 - if result.Response.Response != nil { - sc = result.Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - req, err := client.CreateOrUpdatePreparer(ctx, vaultName, resourceGroupName, policyName, parameters) - if err != nil { - err = autorest.NewErrorWithError(err, "backup.ProtectionPoliciesClient", "CreateOrUpdate", nil, "Failure preparing request") - return - } - - resp, err := client.CreateOrUpdateSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "backup.ProtectionPoliciesClient", "CreateOrUpdate", resp, "Failure sending request") - return - } - - result, err = client.CreateOrUpdateResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "backup.ProtectionPoliciesClient", "CreateOrUpdate", resp, "Failure responding to request") - } - - return -} - -// CreateOrUpdatePreparer prepares the CreateOrUpdate request. -func (client ProtectionPoliciesClient) CreateOrUpdatePreparer(ctx context.Context, vaultName string, resourceGroupName string, policyName string, parameters ProtectionPolicyResource) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "policyName": autorest.Encode("path", policyName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - "vaultName": autorest.Encode("path", vaultName), - } - - const APIVersion = "2016-12-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; charset=utf-8"), - autorest.AsPut(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}", pathParameters), - autorest.WithJSON(parameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the -// http.Response Body if it receives an error. -func (client ProtectionPoliciesClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - return autorest.SendWithSender(client, req, sd...) -} - -// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always -// closes the http.Response Body. -func (client ProtectionPoliciesClient) CreateOrUpdateResponder(resp *http.Response) (result ProtectionPolicyResource, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - // Delete deletes specified backup policy from your Recovery Services Vault. This is an asynchronous operation. Status // of the // operation can be fetched using GetPolicyOperationResult API. @@ -203,83 +119,3 @@ func (client ProtectionPoliciesClient) DeleteResponder(resp *http.Response) (res result.Response = resp return } - -// Get provides the details of the backup policies associated to Recovery Services Vault. This is an asynchronous -// operation. Status of the operation can be fetched using GetPolicyOperationResult API. -// Parameters: -// vaultName - the name of the recovery services vault. -// resourceGroupName - the name of the resource group where the recovery services vault is present. -// policyName - backup policy information to be fetched. -func (client ProtectionPoliciesClient) Get(ctx context.Context, vaultName string, resourceGroupName string, policyName string) (result ProtectionPolicyResource, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/ProtectionPoliciesClient.Get") - defer func() { - sc := -1 - if result.Response.Response != nil { - sc = result.Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - req, err := client.GetPreparer(ctx, vaultName, resourceGroupName, policyName) - if err != nil { - err = autorest.NewErrorWithError(err, "backup.ProtectionPoliciesClient", "Get", nil, "Failure preparing request") - return - } - - resp, err := client.GetSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "backup.ProtectionPoliciesClient", "Get", resp, "Failure sending request") - return - } - - result, err = client.GetResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "backup.ProtectionPoliciesClient", "Get", resp, "Failure responding to request") - } - - return -} - -// GetPreparer prepares the Get request. -func (client ProtectionPoliciesClient) GetPreparer(ctx context.Context, vaultName string, resourceGroupName string, policyName string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "policyName": autorest.Encode("path", policyName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - "vaultName": autorest.Encode("path", vaultName), - } - - const APIVersion = "2016-12-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetSender sends the Get request. The method will close the -// http.Response Body if it receives an error. -func (client ProtectionPoliciesClient) GetSender(req *http.Request) (*http.Response, error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - return autorest.SendWithSender(client, req, sd...) -} - -// GetResponder handles the response to the Get request. The method always -// closes the http.Response Body. -func (client ProtectionPoliciesClient) GetResponder(resp *http.Response) (result ProtectionPolicyResource, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} diff --git a/services/recoveryservices/mgmt/2016-12-01/backup/protectionpolicyoperationresults.go b/services/recoveryservices/mgmt/2016-12-01/backup/protectionpolicyoperationresults.go deleted file mode 100644 index 2f5240a8235d..000000000000 --- a/services/recoveryservices/mgmt/2016-12-01/backup/protectionpolicyoperationresults.go +++ /dev/null @@ -1,123 +0,0 @@ -package backup - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/tracing" - "net/http" -) - -// ProtectionPolicyOperationResultsClient is the open API 2.0 Specs for Azure RecoveryServices Backup service -type ProtectionPolicyOperationResultsClient struct { - BaseClient -} - -// NewProtectionPolicyOperationResultsClient creates an instance of the ProtectionPolicyOperationResultsClient client. -func NewProtectionPolicyOperationResultsClient(subscriptionID string) ProtectionPolicyOperationResultsClient { - return NewProtectionPolicyOperationResultsClientWithBaseURI(DefaultBaseURI, subscriptionID) -} - -// NewProtectionPolicyOperationResultsClientWithBaseURI creates an instance of the -// ProtectionPolicyOperationResultsClient client. -func NewProtectionPolicyOperationResultsClientWithBaseURI(baseURI string, subscriptionID string) ProtectionPolicyOperationResultsClient { - return ProtectionPolicyOperationResultsClient{NewWithBaseURI(baseURI, subscriptionID)} -} - -// Get provides the result of an operation. -// Parameters: -// vaultName - the name of the recovery services vault. -// resourceGroupName - the name of the resource group where the recovery services vault is present. -// policyName - backup policy name whose operation's result needs to be fetched. -// operationID - operation ID which represents the operation whose result needs to be fetched. -func (client ProtectionPolicyOperationResultsClient) Get(ctx context.Context, vaultName string, resourceGroupName string, policyName string, operationID string) (result ProtectionPolicyResource, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/ProtectionPolicyOperationResultsClient.Get") - defer func() { - sc := -1 - if result.Response.Response != nil { - sc = result.Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - req, err := client.GetPreparer(ctx, vaultName, resourceGroupName, policyName, operationID) - if err != nil { - err = autorest.NewErrorWithError(err, "backup.ProtectionPolicyOperationResultsClient", "Get", nil, "Failure preparing request") - return - } - - resp, err := client.GetSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "backup.ProtectionPolicyOperationResultsClient", "Get", resp, "Failure sending request") - return - } - - result, err = client.GetResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "backup.ProtectionPolicyOperationResultsClient", "Get", resp, "Failure responding to request") - } - - return -} - -// GetPreparer prepares the Get request. -func (client ProtectionPolicyOperationResultsClient) GetPreparer(ctx context.Context, vaultName string, resourceGroupName string, policyName string, operationID string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "operationId": autorest.Encode("path", operationID), - "policyName": autorest.Encode("path", policyName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - "vaultName": autorest.Encode("path", vaultName), - } - - const APIVersion = "2016-12-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupPolicies/{policyName}/operationResults/{operationId}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetSender sends the Get request. The method will close the -// http.Response Body if it receives an error. -func (client ProtectionPolicyOperationResultsClient) GetSender(req *http.Request) (*http.Response, error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - return autorest.SendWithSender(client, req, sd...) -} - -// GetResponder handles the response to the Get request. The method always -// closes the http.Response Body. -func (client ProtectionPolicyOperationResultsClient) GetResponder(resp *http.Response) (result ProtectionPolicyResource, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} diff --git a/services/recoveryservices/mgmt/2016-12-01/backup/recoverypoints.go b/services/recoveryservices/mgmt/2016-12-01/backup/recoverypoints.go deleted file mode 100644 index d0ad1506b4e5..000000000000 --- a/services/recoveryservices/mgmt/2016-12-01/backup/recoverypoints.go +++ /dev/null @@ -1,253 +0,0 @@ -package backup - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/tracing" - "net/http" -) - -// RecoveryPointsClient is the open API 2.0 Specs for Azure RecoveryServices Backup service -type RecoveryPointsClient struct { - BaseClient -} - -// NewRecoveryPointsClient creates an instance of the RecoveryPointsClient client. -func NewRecoveryPointsClient(subscriptionID string) RecoveryPointsClient { - return NewRecoveryPointsClientWithBaseURI(DefaultBaseURI, subscriptionID) -} - -// NewRecoveryPointsClientWithBaseURI creates an instance of the RecoveryPointsClient client. -func NewRecoveryPointsClientWithBaseURI(baseURI string, subscriptionID string) RecoveryPointsClient { - return RecoveryPointsClient{NewWithBaseURI(baseURI, subscriptionID)} -} - -// Get provides the information of the backed up data identified using RecoveryPointID. This is an asynchronous -// operation. -// To know the status of the operation, call the GetProtectedItemOperationResult API. -// Parameters: -// vaultName - the name of the recovery services vault. -// resourceGroupName - the name of the resource group where the recovery services vault is present. -// fabricName - fabric name associated with backed up item. -// containerName - container name associated with backed up item. -// protectedItemName - backed up item name whose backup data needs to be fetched. -// recoveryPointID - recoveryPointID represents the backed up data to be fetched. -func (client RecoveryPointsClient) Get(ctx context.Context, vaultName string, resourceGroupName string, fabricName string, containerName string, protectedItemName string, recoveryPointID string) (result RecoveryPointResource, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/RecoveryPointsClient.Get") - defer func() { - sc := -1 - if result.Response.Response != nil { - sc = result.Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - req, err := client.GetPreparer(ctx, vaultName, resourceGroupName, fabricName, containerName, protectedItemName, recoveryPointID) - if err != nil { - err = autorest.NewErrorWithError(err, "backup.RecoveryPointsClient", "Get", nil, "Failure preparing request") - return - } - - resp, err := client.GetSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "backup.RecoveryPointsClient", "Get", resp, "Failure sending request") - return - } - - result, err = client.GetResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "backup.RecoveryPointsClient", "Get", resp, "Failure responding to request") - } - - return -} - -// GetPreparer prepares the Get request. -func (client RecoveryPointsClient) GetPreparer(ctx context.Context, vaultName string, resourceGroupName string, fabricName string, containerName string, protectedItemName string, recoveryPointID string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "containerName": autorest.Encode("path", containerName), - "fabricName": autorest.Encode("path", fabricName), - "protectedItemName": autorest.Encode("path", protectedItemName), - "recoveryPointId": autorest.Encode("path", recoveryPointID), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - "vaultName": autorest.Encode("path", vaultName), - } - - const APIVersion = "2016-12-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetSender sends the Get request. The method will close the -// http.Response Body if it receives an error. -func (client RecoveryPointsClient) GetSender(req *http.Request) (*http.Response, error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - return autorest.SendWithSender(client, req, sd...) -} - -// GetResponder handles the response to the Get request. The method always -// closes the http.Response Body. -func (client RecoveryPointsClient) GetResponder(resp *http.Response) (result RecoveryPointResource, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// List lists the backup copies for the backed up item. -// Parameters: -// vaultName - the name of the recovery services vault. -// resourceGroupName - the name of the resource group where the recovery services vault is present. -// fabricName - fabric name associated with the backed up item. -// containerName - container name associated with the backed up item. -// protectedItemName - backed up item whose backup copies are to be fetched. -// filter - oData filter options. -func (client RecoveryPointsClient) List(ctx context.Context, vaultName string, resourceGroupName string, fabricName string, containerName string, protectedItemName string, filter string) (result RecoveryPointResourceListPage, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/RecoveryPointsClient.List") - defer func() { - sc := -1 - if result.rprl.Response.Response != nil { - sc = result.rprl.Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - result.fn = client.listNextResults - req, err := client.ListPreparer(ctx, vaultName, resourceGroupName, fabricName, containerName, protectedItemName, filter) - if err != nil { - err = autorest.NewErrorWithError(err, "backup.RecoveryPointsClient", "List", nil, "Failure preparing request") - return - } - - resp, err := client.ListSender(req) - if err != nil { - result.rprl.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "backup.RecoveryPointsClient", "List", resp, "Failure sending request") - return - } - - result.rprl, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "backup.RecoveryPointsClient", "List", resp, "Failure responding to request") - } - - return -} - -// ListPreparer prepares the List request. -func (client RecoveryPointsClient) ListPreparer(ctx context.Context, vaultName string, resourceGroupName string, fabricName string, containerName string, protectedItemName string, filter string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "containerName": autorest.Encode("path", containerName), - "fabricName": autorest.Encode("path", fabricName), - "protectedItemName": autorest.Encode("path", protectedItemName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - "vaultName": autorest.Encode("path", vaultName), - } - - const APIVersion = "2016-12-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(filter) > 0 { - queryParameters["$filter"] = autorest.Encode("query", filter) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// ListSender sends the List request. The method will close the -// http.Response Body if it receives an error. -func (client RecoveryPointsClient) ListSender(req *http.Request) (*http.Response, error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - return autorest.SendWithSender(client, req, sd...) -} - -// ListResponder handles the response to the List request. The method always -// closes the http.Response Body. -func (client RecoveryPointsClient) ListResponder(resp *http.Response) (result RecoveryPointResourceList, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// listNextResults retrieves the next set of results, if any. -func (client RecoveryPointsClient) listNextResults(ctx context.Context, lastResults RecoveryPointResourceList) (result RecoveryPointResourceList, err error) { - req, err := lastResults.recoveryPointResourceListPreparer(ctx) - if err != nil { - return result, autorest.NewErrorWithError(err, "backup.RecoveryPointsClient", "listNextResults", nil, "Failure preparing next results request") - } - if req == nil { - return - } - resp, err := client.ListSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "backup.RecoveryPointsClient", "listNextResults", resp, "Failure sending next results request") - } - result, err = client.ListResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "backup.RecoveryPointsClient", "listNextResults", resp, "Failure responding to next results request") - } - return -} - -// ListComplete enumerates all values, automatically crossing page boundaries as required. -func (client RecoveryPointsClient) ListComplete(ctx context.Context, vaultName string, resourceGroupName string, fabricName string, containerName string, protectedItemName string, filter string) (result RecoveryPointResourceListIterator, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/RecoveryPointsClient.List") - defer func() { - sc := -1 - if result.Response().Response.Response != nil { - sc = result.page.Response().Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - result.page, err = client.List(ctx, vaultName, resourceGroupName, fabricName, containerName, protectedItemName, filter) - return -} diff --git a/services/recoveryservices/mgmt/2016-12-01/backup/resourcevaultconfigs.go b/services/recoveryservices/mgmt/2016-12-01/backup/resourcevaultconfigs.go deleted file mode 100644 index 3cb36b898367..000000000000 --- a/services/recoveryservices/mgmt/2016-12-01/backup/resourcevaultconfigs.go +++ /dev/null @@ -1,198 +0,0 @@ -package backup - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/tracing" - "net/http" -) - -// ResourceVaultConfigsClient is the open API 2.0 Specs for Azure RecoveryServices Backup service -type ResourceVaultConfigsClient struct { - BaseClient -} - -// NewResourceVaultConfigsClient creates an instance of the ResourceVaultConfigsClient client. -func NewResourceVaultConfigsClient(subscriptionID string) ResourceVaultConfigsClient { - return NewResourceVaultConfigsClientWithBaseURI(DefaultBaseURI, subscriptionID) -} - -// NewResourceVaultConfigsClientWithBaseURI creates an instance of the ResourceVaultConfigsClient client. -func NewResourceVaultConfigsClientWithBaseURI(baseURI string, subscriptionID string) ResourceVaultConfigsClient { - return ResourceVaultConfigsClient{NewWithBaseURI(baseURI, subscriptionID)} -} - -// Get fetches resource vault config. -// Parameters: -// vaultName - the name of the recovery services vault. -// resourceGroupName - the name of the resource group where the recovery services vault is present. -func (client ResourceVaultConfigsClient) Get(ctx context.Context, vaultName string, resourceGroupName string) (result ResourceVaultConfigResource, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/ResourceVaultConfigsClient.Get") - defer func() { - sc := -1 - if result.Response.Response != nil { - sc = result.Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - req, err := client.GetPreparer(ctx, vaultName, resourceGroupName) - if err != nil { - err = autorest.NewErrorWithError(err, "backup.ResourceVaultConfigsClient", "Get", nil, "Failure preparing request") - return - } - - resp, err := client.GetSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "backup.ResourceVaultConfigsClient", "Get", resp, "Failure sending request") - return - } - - result, err = client.GetResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "backup.ResourceVaultConfigsClient", "Get", resp, "Failure responding to request") - } - - return -} - -// GetPreparer prepares the Get request. -func (client ResourceVaultConfigsClient) GetPreparer(ctx context.Context, vaultName string, resourceGroupName string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - "vaultName": autorest.Encode("path", vaultName), - } - - const APIVersion = "2016-12-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupconfig/vaultconfig", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetSender sends the Get request. The method will close the -// http.Response Body if it receives an error. -func (client ResourceVaultConfigsClient) GetSender(req *http.Request) (*http.Response, error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - return autorest.SendWithSender(client, req, sd...) -} - -// GetResponder handles the response to the Get request. The method always -// closes the http.Response Body. -func (client ResourceVaultConfigsClient) GetResponder(resp *http.Response) (result ResourceVaultConfigResource, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} - -// Update updates vault security config. -// Parameters: -// vaultName - the name of the recovery services vault. -// resourceGroupName - the name of the resource group where the recovery services vault is present. -// parameters - resource config request -func (client ResourceVaultConfigsClient) Update(ctx context.Context, vaultName string, resourceGroupName string, parameters ResourceVaultConfigResource) (result ResourceVaultConfigResource, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/ResourceVaultConfigsClient.Update") - defer func() { - sc := -1 - if result.Response.Response != nil { - sc = result.Response.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - req, err := client.UpdatePreparer(ctx, vaultName, resourceGroupName, parameters) - if err != nil { - err = autorest.NewErrorWithError(err, "backup.ResourceVaultConfigsClient", "Update", nil, "Failure preparing request") - return - } - - resp, err := client.UpdateSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "backup.ResourceVaultConfigsClient", "Update", resp, "Failure sending request") - return - } - - result, err = client.UpdateResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "backup.ResourceVaultConfigsClient", "Update", resp, "Failure responding to request") - } - - return -} - -// UpdatePreparer prepares the Update request. -func (client ResourceVaultConfigsClient) UpdatePreparer(ctx context.Context, vaultName string, resourceGroupName string, parameters ResourceVaultConfigResource) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - "vaultName": autorest.Encode("path", vaultName), - } - - const APIVersion = "2016-12-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; charset=utf-8"), - autorest.AsPatch(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupconfig/vaultconfig", pathParameters), - autorest.WithJSON(parameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// UpdateSender sends the Update request. The method will close the -// http.Response Body if it receives an error. -func (client ResourceVaultConfigsClient) UpdateSender(req *http.Request) (*http.Response, error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - return autorest.SendWithSender(client, req, sd...) -} - -// UpdateResponder handles the response to the Update request. The method always -// closes the http.Response Body. -func (client ResourceVaultConfigsClient) UpdateResponder(resp *http.Response) (result ResourceVaultConfigResource, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} - return -} diff --git a/services/recoveryservices/mgmt/2016-12-01/backup/restores.go b/services/recoveryservices/mgmt/2016-12-01/backup/restores.go deleted file mode 100644 index 211714201e84..000000000000 --- a/services/recoveryservices/mgmt/2016-12-01/backup/restores.go +++ /dev/null @@ -1,130 +0,0 @@ -package backup - -// Copyright (c) Microsoft and contributors. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the License for the specific language governing permissions and -// limitations under the License. -// -// Code generated by Microsoft (R) AutoRest Code Generator. -// Changes may cause incorrect behavior and will be lost if the code is regenerated. - -import ( - "context" - "github.com/Azure/go-autorest/autorest" - "github.com/Azure/go-autorest/autorest/azure" - "github.com/Azure/go-autorest/tracing" - "net/http" -) - -// RestoresClient is the open API 2.0 Specs for Azure RecoveryServices Backup service -type RestoresClient struct { - BaseClient -} - -// NewRestoresClient creates an instance of the RestoresClient client. -func NewRestoresClient(subscriptionID string) RestoresClient { - return NewRestoresClientWithBaseURI(DefaultBaseURI, subscriptionID) -} - -// NewRestoresClientWithBaseURI creates an instance of the RestoresClient client. -func NewRestoresClientWithBaseURI(baseURI string, subscriptionID string) RestoresClient { - return RestoresClient{NewWithBaseURI(baseURI, subscriptionID)} -} - -// Trigger restores the specified backed up data. This is an asynchronous operation. To know the status of this API -// call, use -// GetProtectedItemOperationResult API. -// Parameters: -// vaultName - the name of the recovery services vault. -// resourceGroupName - the name of the resource group where the recovery services vault is present. -// fabricName - fabric name associated with the backed up items. -// containerName - container name associated with the backed up items. -// protectedItemName - backed up item to be restored. -// recoveryPointID - recovery point ID which represents the backed up data to be restored. -// parameters - resource restore request -func (client RestoresClient) Trigger(ctx context.Context, vaultName string, resourceGroupName string, fabricName string, containerName string, protectedItemName string, recoveryPointID string, parameters RestoreRequestResource) (result autorest.Response, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/RestoresClient.Trigger") - defer func() { - sc := -1 - if result.Response != nil { - sc = result.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - req, err := client.TriggerPreparer(ctx, vaultName, resourceGroupName, fabricName, containerName, protectedItemName, recoveryPointID, parameters) - if err != nil { - err = autorest.NewErrorWithError(err, "backup.RestoresClient", "Trigger", nil, "Failure preparing request") - return - } - - resp, err := client.TriggerSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "backup.RestoresClient", "Trigger", resp, "Failure sending request") - return - } - - result, err = client.TriggerResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "backup.RestoresClient", "Trigger", resp, "Failure responding to request") - } - - return -} - -// TriggerPreparer prepares the Trigger request. -func (client RestoresClient) TriggerPreparer(ctx context.Context, vaultName string, resourceGroupName string, fabricName string, containerName string, protectedItemName string, recoveryPointID string, parameters RestoreRequestResource) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "containerName": autorest.Encode("path", containerName), - "fabricName": autorest.Encode("path", fabricName), - "protectedItemName": autorest.Encode("path", protectedItemName), - "recoveryPointId": autorest.Encode("path", recoveryPointID), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - "vaultName": autorest.Encode("path", vaultName), - } - - const APIVersion = "2016-12-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - - preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; charset=utf-8"), - autorest.AsPost(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/restore", pathParameters), - autorest.WithJSON(parameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// TriggerSender sends the Trigger request. The method will close the -// http.Response Body if it receives an error. -func (client RestoresClient) TriggerSender(req *http.Request) (*http.Response, error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - return autorest.SendWithSender(client, req, sd...) -} - -// TriggerResponder handles the response to the Trigger request. The method always -// closes the http.Response Body. -func (client RestoresClient) TriggerResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), - autorest.ByClosing()) - result.Response = resp - return -} diff --git a/services/recoveryservices/mgmt/2017-07-01/backup/backupapi/interfaces.go b/services/recoveryservices/mgmt/2017-07-01/backup/backupapi/interfaces.go index ce0f9b5f6e0e..8a0c7af940db 100644 --- a/services/recoveryservices/mgmt/2017-07-01/backup/backupapi/interfaces.go +++ b/services/recoveryservices/mgmt/2017-07-01/backup/backupapi/interfaces.go @@ -23,29 +23,67 @@ import ( "github.com/Azure/go-autorest/autorest" ) -// ProtectionIntentClientAPI contains the set of methods on the ProtectionIntentClient type. -type ProtectionIntentClientAPI interface { - CreateOrUpdate(ctx context.Context, vaultName string, resourceGroupName string, fabricName string, intentObjectName string, parameters backup.ProtectionIntentResource) (result backup.ProtectionIntentResource, err error) - Delete(ctx context.Context, vaultName string, resourceGroupName string, fabricName string, intentObjectName string) (result autorest.Response, err error) - Get(ctx context.Context, vaultName string, resourceGroupName string, fabricName string, intentObjectName string) (result backup.ProtectionIntentResource, err error) - Validate(ctx context.Context, azureRegion string, parameters backup.PreValidateEnableBackupRequest) (result backup.PreValidateEnableBackupResponse, err error) +// ResourceVaultConfigsClientAPI contains the set of methods on the ResourceVaultConfigsClient type. +type ResourceVaultConfigsClientAPI interface { + Get(ctx context.Context, vaultName string, resourceGroupName string) (result backup.ResourceVaultConfigResource, err error) + Update(ctx context.Context, vaultName string, resourceGroupName string, parameters backup.ResourceVaultConfigResource) (result backup.ResourceVaultConfigResource, err error) } -var _ ProtectionIntentClientAPI = (*backup.ProtectionIntentClient)(nil) +var _ ResourceVaultConfigsClientAPI = (*backup.ResourceVaultConfigsClient)(nil) -// StatusClientAPI contains the set of methods on the StatusClient type. -type StatusClientAPI interface { - Get(ctx context.Context, azureRegion string, parameters backup.StatusRequest) (result backup.StatusResponse, err error) +// ProtectedItemsClientAPI contains the set of methods on the ProtectedItemsClient type. +type ProtectedItemsClientAPI interface { + CreateOrUpdate(ctx context.Context, vaultName string, resourceGroupName string, fabricName string, containerName string, protectedItemName string, parameters backup.ProtectedItemResource) (result backup.ProtectedItemResource, err error) + Delete(ctx context.Context, vaultName string, resourceGroupName string, fabricName string, containerName string, protectedItemName string) (result autorest.Response, err error) + Get(ctx context.Context, vaultName string, resourceGroupName string, fabricName string, containerName string, protectedItemName string, filter string) (result backup.ProtectedItemResource, err error) } -var _ StatusClientAPI = (*backup.StatusClient)(nil) +var _ ProtectedItemsClientAPI = (*backup.ProtectedItemsClient)(nil) -// FeatureSupportClientAPI contains the set of methods on the FeatureSupportClient type. -type FeatureSupportClientAPI interface { - Validate(ctx context.Context, azureRegion string, parameters backup.BasicFeatureSupportRequest) (result backup.AzureVMResourceFeatureSupportResponse, err error) +// ProtectedItemOperationResultsClientAPI contains the set of methods on the ProtectedItemOperationResultsClient type. +type ProtectedItemOperationResultsClientAPI interface { + Get(ctx context.Context, vaultName string, resourceGroupName string, fabricName string, containerName string, protectedItemName string, operationID string) (result backup.ProtectedItemResource, err error) } -var _ FeatureSupportClientAPI = (*backup.FeatureSupportClient)(nil) +var _ ProtectedItemOperationResultsClientAPI = (*backup.ProtectedItemOperationResultsClient)(nil) + +// RecoveryPointsClientAPI contains the set of methods on the RecoveryPointsClient type. +type RecoveryPointsClientAPI interface { + Get(ctx context.Context, vaultName string, resourceGroupName string, fabricName string, containerName string, protectedItemName string, recoveryPointID string) (result backup.RecoveryPointResource, err error) + List(ctx context.Context, vaultName string, resourceGroupName string, fabricName string, containerName string, protectedItemName string, filter string) (result backup.RecoveryPointResourceListPage, err error) +} + +var _ RecoveryPointsClientAPI = (*backup.RecoveryPointsClient)(nil) + +// RestoresClientAPI contains the set of methods on the RestoresClient type. +type RestoresClientAPI interface { + Trigger(ctx context.Context, vaultName string, resourceGroupName string, fabricName string, containerName string, protectedItemName string, recoveryPointID string, parameters backup.RestoreRequestResource) (result autorest.Response, err error) +} + +var _ RestoresClientAPI = (*backup.RestoresClient)(nil) + +// PoliciesClientAPI contains the set of methods on the PoliciesClient type. +type PoliciesClientAPI interface { + List(ctx context.Context, vaultName string, resourceGroupName string, filter string) (result backup.ProtectionPolicyResourceListPage, err error) +} + +var _ PoliciesClientAPI = (*backup.PoliciesClient)(nil) + +// ProtectionPoliciesClientAPI contains the set of methods on the ProtectionPoliciesClient type. +type ProtectionPoliciesClientAPI interface { + CreateOrUpdate(ctx context.Context, vaultName string, resourceGroupName string, policyName string, parameters backup.ProtectionPolicyResource) (result backup.ProtectionPolicyResource, err error) + Delete(ctx context.Context, vaultName string, resourceGroupName string, policyName string) (result autorest.Response, err error) + Get(ctx context.Context, vaultName string, resourceGroupName string, policyName string) (result backup.ProtectionPolicyResource, err error) +} + +var _ ProtectionPoliciesClientAPI = (*backup.ProtectionPoliciesClient)(nil) + +// ProtectionPolicyOperationResultsClientAPI contains the set of methods on the ProtectionPolicyOperationResultsClient type. +type ProtectionPolicyOperationResultsClientAPI interface { + Get(ctx context.Context, vaultName string, resourceGroupName string, policyName string, operationID string) (result backup.ProtectionPolicyResource, err error) +} + +var _ ProtectionPolicyOperationResultsClientAPI = (*backup.ProtectionPolicyOperationResultsClient)(nil) // JobsClientAPI contains the set of methods on the JobsClient type. type JobsClientAPI interface { @@ -61,6 +99,20 @@ type JobDetailsClientAPI interface { var _ JobDetailsClientAPI = (*backup.JobDetailsClient)(nil) +// JobCancellationsClientAPI contains the set of methods on the JobCancellationsClient type. +type JobCancellationsClientAPI interface { + Trigger(ctx context.Context, vaultName string, resourceGroupName string, jobName string) (result autorest.Response, err error) +} + +var _ JobCancellationsClientAPI = (*backup.JobCancellationsClient)(nil) + +// JobOperationResultsClientAPI contains the set of methods on the JobOperationResultsClient type. +type JobOperationResultsClientAPI interface { + Get(ctx context.Context, vaultName string, resourceGroupName string, jobName string, operationID string) (result autorest.Response, err error) +} + +var _ JobOperationResultsClientAPI = (*backup.JobOperationResultsClient)(nil) + // ExportJobsOperationResultsClientAPI contains the set of methods on the ExportJobsOperationResultsClient type. type ExportJobsOperationResultsClientAPI interface { Get(ctx context.Context, vaultName string, resourceGroupName string, operationID string) (result backup.OperationResultInfoBaseResource, err error) @@ -75,19 +127,43 @@ type JobsGroupClientAPI interface { var _ JobsGroupClientAPI = (*backup.JobsGroupClient)(nil) -// PoliciesClientAPI contains the set of methods on the PoliciesClient type. -type PoliciesClientAPI interface { - List(ctx context.Context, vaultName string, resourceGroupName string, filter string) (result backup.ProtectionPolicyResourceListPage, err error) +// ProtectedItemsGroupClientAPI contains the set of methods on the ProtectedItemsGroupClient type. +type ProtectedItemsGroupClientAPI interface { + List(ctx context.Context, vaultName string, resourceGroupName string, filter string, skipToken string) (result backup.ProtectedItemResourceListPage, err error) } -var _ PoliciesClientAPI = (*backup.PoliciesClient)(nil) +var _ ProtectedItemsGroupClientAPI = (*backup.ProtectedItemsGroupClient)(nil) -// ProtectedItemsClientAPI contains the set of methods on the ProtectedItemsClient type. -type ProtectedItemsClientAPI interface { - List(ctx context.Context, vaultName string, resourceGroupName string, filter string, skipToken string) (result backup.ProtectedItemResourceListPage, err error) +// OperationClientAPI contains the set of methods on the OperationClient type. +type OperationClientAPI interface { + Validate(ctx context.Context, vaultName string, resourceGroupName string, parameters backup.BasicValidateOperationRequest) (result backup.ValidateOperationsResponse, err error) } -var _ ProtectedItemsClientAPI = (*backup.ProtectedItemsClient)(nil) +var _ OperationClientAPI = (*backup.OperationClient)(nil) + +// ProtectionIntentClientAPI contains the set of methods on the ProtectionIntentClient type. +type ProtectionIntentClientAPI interface { + CreateOrUpdate(ctx context.Context, vaultName string, resourceGroupName string, fabricName string, intentObjectName string, parameters backup.ProtectionIntentResource) (result backup.ProtectionIntentResource, err error) + Delete(ctx context.Context, vaultName string, resourceGroupName string, fabricName string, intentObjectName string) (result autorest.Response, err error) + Get(ctx context.Context, vaultName string, resourceGroupName string, fabricName string, intentObjectName string) (result backup.ProtectionIntentResource, err error) + Validate(ctx context.Context, azureRegion string, parameters backup.PreValidateEnableBackupRequest) (result backup.PreValidateEnableBackupResponse, err error) +} + +var _ ProtectionIntentClientAPI = (*backup.ProtectionIntentClient)(nil) + +// StatusClientAPI contains the set of methods on the StatusClient type. +type StatusClientAPI interface { + Get(ctx context.Context, azureRegion string, parameters backup.StatusRequest) (result backup.StatusResponse, err error) +} + +var _ StatusClientAPI = (*backup.StatusClient)(nil) + +// FeatureSupportClientAPI contains the set of methods on the FeatureSupportClient type. +type FeatureSupportClientAPI interface { + Validate(ctx context.Context, azureRegion string, parameters backup.BasicFeatureSupportRequest) (result backup.AzureVMResourceFeatureSupportResponse, err error) +} + +var _ FeatureSupportClientAPI = (*backup.FeatureSupportClient)(nil) // ProtectionIntentGroupClientAPI contains the set of methods on the ProtectionIntentGroupClient type. type ProtectionIntentGroupClientAPI interface { @@ -103,21 +179,6 @@ type UsageSummariesClientAPI interface { var _ UsageSummariesClientAPI = (*backup.UsageSummariesClient)(nil) -// OperationClientAPI contains the set of methods on the OperationClient type. -type OperationClientAPI interface { - Validate(ctx context.Context, vaultName string, resourceGroupName string, parameters backup.BasicValidateOperationRequest) (result backup.ValidateOperationsResponse, err error) -} - -var _ OperationClientAPI = (*backup.OperationClient)(nil) - -// ResourceVaultConfigsClientAPI contains the set of methods on the ResourceVaultConfigsClient type. -type ResourceVaultConfigsClientAPI interface { - Get(ctx context.Context, vaultName string, resourceGroupName string) (result backup.ResourceVaultConfigResource, err error) - Update(ctx context.Context, vaultName string, resourceGroupName string, parameters backup.ResourceVaultConfigResource) (result backup.ResourceVaultConfigResource, err error) -} - -var _ ResourceVaultConfigsClientAPI = (*backup.ResourceVaultConfigsClient)(nil) - // EnginesClientAPI contains the set of methods on the EnginesClient type. type EnginesClientAPI interface { Get(ctx context.Context, vaultName string, resourceGroupName string, backupEngineName string, filter string, skipToken string) (result backup.EngineBaseResource, err error) @@ -165,15 +226,6 @@ type ProtectionContainerOperationResultsClientAPI interface { var _ ProtectionContainerOperationResultsClientAPI = (*backup.ProtectionContainerOperationResultsClient)(nil) -// ProtectedItemsGroupClientAPI contains the set of methods on the ProtectedItemsGroupClient type. -type ProtectedItemsGroupClientAPI interface { - CreateOrUpdate(ctx context.Context, vaultName string, resourceGroupName string, fabricName string, containerName string, protectedItemName string, parameters backup.ProtectedItemResource) (result backup.ProtectedItemResource, err error) - Delete(ctx context.Context, vaultName string, resourceGroupName string, fabricName string, containerName string, protectedItemName string) (result autorest.Response, err error) - Get(ctx context.Context, vaultName string, resourceGroupName string, fabricName string, containerName string, protectedItemName string, filter string) (result backup.ProtectedItemResource, err error) -} - -var _ ProtectedItemsGroupClientAPI = (*backup.ProtectedItemsGroupClient)(nil) - // BackupsClientAPI contains the set of methods on the BackupsClient type. type BackupsClientAPI interface { Trigger(ctx context.Context, vaultName string, resourceGroupName string, fabricName string, containerName string, protectedItemName string, parameters backup.RequestResource) (result autorest.Response, err error) @@ -181,13 +233,6 @@ type BackupsClientAPI interface { var _ BackupsClientAPI = (*backup.BackupsClient)(nil) -// ProtectedItemOperationResultsClientAPI contains the set of methods on the ProtectedItemOperationResultsClient type. -type ProtectedItemOperationResultsClientAPI interface { - Get(ctx context.Context, vaultName string, resourceGroupName string, fabricName string, containerName string, protectedItemName string, operationID string) (result backup.ProtectedItemResource, err error) -} - -var _ ProtectedItemOperationResultsClientAPI = (*backup.ProtectedItemOperationResultsClient)(nil) - // ProtectedItemOperationStatusesClientAPI contains the set of methods on the ProtectedItemOperationStatusesClient type. type ProtectedItemOperationStatusesClientAPI interface { Get(ctx context.Context, vaultName string, resourceGroupName string, fabricName string, containerName string, protectedItemName string, operationID string) (result backup.OperationStatus, err error) @@ -195,14 +240,6 @@ type ProtectedItemOperationStatusesClientAPI interface { var _ ProtectedItemOperationStatusesClientAPI = (*backup.ProtectedItemOperationStatusesClient)(nil) -// RecoveryPointsClientAPI contains the set of methods on the RecoveryPointsClient type. -type RecoveryPointsClientAPI interface { - Get(ctx context.Context, vaultName string, resourceGroupName string, fabricName string, containerName string, protectedItemName string, recoveryPointID string) (result backup.RecoveryPointResource, err error) - List(ctx context.Context, vaultName string, resourceGroupName string, fabricName string, containerName string, protectedItemName string, filter string) (result backup.RecoveryPointResourceListPage, err error) -} - -var _ RecoveryPointsClientAPI = (*backup.RecoveryPointsClient)(nil) - // ItemLevelRecoveryConnectionsClientAPI contains the set of methods on the ItemLevelRecoveryConnectionsClient type. type ItemLevelRecoveryConnectionsClientAPI interface { Provision(ctx context.Context, vaultName string, resourceGroupName string, fabricName string, containerName string, protectedItemName string, recoveryPointID string, parameters backup.ILRRequestResource) (result autorest.Response, err error) @@ -211,27 +248,6 @@ type ItemLevelRecoveryConnectionsClientAPI interface { var _ ItemLevelRecoveryConnectionsClientAPI = (*backup.ItemLevelRecoveryConnectionsClient)(nil) -// RestoresClientAPI contains the set of methods on the RestoresClient type. -type RestoresClientAPI interface { - Trigger(ctx context.Context, vaultName string, resourceGroupName string, fabricName string, containerName string, protectedItemName string, recoveryPointID string, parameters backup.RestoreRequestResource) (result autorest.Response, err error) -} - -var _ RestoresClientAPI = (*backup.RestoresClient)(nil) - -// JobCancellationsClientAPI contains the set of methods on the JobCancellationsClient type. -type JobCancellationsClientAPI interface { - Trigger(ctx context.Context, vaultName string, resourceGroupName string, jobName string) (result autorest.Response, err error) -} - -var _ JobCancellationsClientAPI = (*backup.JobCancellationsClient)(nil) - -// JobOperationResultsClientAPI contains the set of methods on the JobOperationResultsClient type. -type JobOperationResultsClientAPI interface { - Get(ctx context.Context, vaultName string, resourceGroupName string, jobName string, operationID string) (result autorest.Response, err error) -} - -var _ JobOperationResultsClientAPI = (*backup.JobOperationResultsClient)(nil) - // OperationResultsClientAPI contains the set of methods on the OperationResultsClient type. type OperationResultsClientAPI interface { Get(ctx context.Context, vaultName string, resourceGroupName string, operationID string) (result autorest.Response, err error) @@ -246,22 +262,6 @@ type OperationStatusesClientAPI interface { var _ OperationStatusesClientAPI = (*backup.OperationStatusesClient)(nil) -// ProtectionPoliciesClientAPI contains the set of methods on the ProtectionPoliciesClient type. -type ProtectionPoliciesClientAPI interface { - CreateOrUpdate(ctx context.Context, vaultName string, resourceGroupName string, policyName string, parameters backup.ProtectionPolicyResource) (result backup.ProtectionPolicyResource, err error) - Delete(ctx context.Context, vaultName string, resourceGroupName string, policyName string) (result autorest.Response, err error) - Get(ctx context.Context, vaultName string, resourceGroupName string, policyName string) (result backup.ProtectionPolicyResource, err error) -} - -var _ ProtectionPoliciesClientAPI = (*backup.ProtectionPoliciesClient)(nil) - -// ProtectionPolicyOperationResultsClientAPI contains the set of methods on the ProtectionPolicyOperationResultsClient type. -type ProtectionPolicyOperationResultsClientAPI interface { - Get(ctx context.Context, vaultName string, resourceGroupName string, policyName string, operationID string) (result backup.ProtectionPolicyResource, err error) -} - -var _ ProtectionPolicyOperationResultsClientAPI = (*backup.ProtectionPolicyOperationResultsClient)(nil) - // ProtectionPolicyOperationStatusesClientAPI contains the set of methods on the ProtectionPolicyOperationStatusesClient type. type ProtectionPolicyOperationStatusesClientAPI interface { Get(ctx context.Context, vaultName string, resourceGroupName string, policyName string, operationID string) (result backup.OperationStatus, err error) diff --git a/services/recoveryservices/mgmt/2017-07-01/backup/exportjobsoperationresults.go b/services/recoveryservices/mgmt/2017-07-01/backup/exportjobsoperationresults.go index a972227cefbb..18c3bc00319a 100644 --- a/services/recoveryservices/mgmt/2017-07-01/backup/exportjobsoperationresults.go +++ b/services/recoveryservices/mgmt/2017-07-01/backup/exportjobsoperationresults.go @@ -88,7 +88,7 @@ func (client ExportJobsOperationResultsClient) GetPreparer(ctx context.Context, "vaultName": autorest.Encode("path", vaultName), } - const APIVersion = "2017-07-01" + const APIVersion = "2019-05-13" queryParameters := map[string]interface{}{ "api-version": APIVersion, } diff --git a/services/recoveryservices/mgmt/2017-07-01/backup/jobcancellations.go b/services/recoveryservices/mgmt/2017-07-01/backup/jobcancellations.go index 9e6511d770f8..406e01345970 100644 --- a/services/recoveryservices/mgmt/2017-07-01/backup/jobcancellations.go +++ b/services/recoveryservices/mgmt/2017-07-01/backup/jobcancellations.go @@ -87,7 +87,7 @@ func (client JobCancellationsClient) TriggerPreparer(ctx context.Context, vaultN "vaultName": autorest.Encode("path", vaultName), } - const APIVersion = "2016-12-01" + const APIVersion = "2019-05-13" queryParameters := map[string]interface{}{ "api-version": APIVersion, } diff --git a/services/recoveryservices/mgmt/2017-07-01/backup/jobdetails.go b/services/recoveryservices/mgmt/2017-07-01/backup/jobdetails.go index d6a47f8ae05d..3a1c4bb385f1 100644 --- a/services/recoveryservices/mgmt/2017-07-01/backup/jobdetails.go +++ b/services/recoveryservices/mgmt/2017-07-01/backup/jobdetails.go @@ -86,7 +86,7 @@ func (client JobDetailsClient) GetPreparer(ctx context.Context, vaultName string "vaultName": autorest.Encode("path", vaultName), } - const APIVersion = "2017-07-01" + const APIVersion = "2019-05-13" queryParameters := map[string]interface{}{ "api-version": APIVersion, } diff --git a/services/recoveryservices/mgmt/2017-07-01/backup/joboperationresults.go b/services/recoveryservices/mgmt/2017-07-01/backup/joboperationresults.go index 2140da9fcca5..89b5865ac595 100644 --- a/services/recoveryservices/mgmt/2017-07-01/backup/joboperationresults.go +++ b/services/recoveryservices/mgmt/2017-07-01/backup/joboperationresults.go @@ -41,7 +41,6 @@ func NewJobOperationResultsClientWithBaseURI(baseURI string, subscriptionID stri } // Get fetches the result of any operation. -// the operation. // Parameters: // vaultName - the name of the recovery services vault. // resourceGroupName - the name of the resource group where the recovery services vault is present. @@ -89,7 +88,7 @@ func (client JobOperationResultsClient) GetPreparer(ctx context.Context, vaultNa "vaultName": autorest.Encode("path", vaultName), } - const APIVersion = "2016-12-01" + const APIVersion = "2019-05-13" queryParameters := map[string]interface{}{ "api-version": APIVersion, } diff --git a/services/recoveryservices/mgmt/2017-07-01/backup/jobs.go b/services/recoveryservices/mgmt/2017-07-01/backup/jobs.go index e2abb35c0938..e371ecfb1e01 100644 --- a/services/recoveryservices/mgmt/2017-07-01/backup/jobs.go +++ b/services/recoveryservices/mgmt/2017-07-01/backup/jobs.go @@ -87,7 +87,7 @@ func (client JobsClient) ListPreparer(ctx context.Context, vaultName string, res "vaultName": autorest.Encode("path", vaultName), } - const APIVersion = "2017-07-01" + const APIVersion = "2019-05-13" queryParameters := map[string]interface{}{ "api-version": APIVersion, } diff --git a/services/recoveryservices/mgmt/2017-07-01/backup/jobsgroup.go b/services/recoveryservices/mgmt/2017-07-01/backup/jobsgroup.go index 36452519997b..338edb73f8e9 100644 --- a/services/recoveryservices/mgmt/2017-07-01/backup/jobsgroup.go +++ b/services/recoveryservices/mgmt/2017-07-01/backup/jobsgroup.go @@ -85,7 +85,7 @@ func (client JobsGroupClient) ExportPreparer(ctx context.Context, vaultName stri "vaultName": autorest.Encode("path", vaultName), } - const APIVersion = "2017-07-01" + const APIVersion = "2019-05-13" queryParameters := map[string]interface{}{ "api-version": APIVersion, } diff --git a/services/recoveryservices/mgmt/2017-07-01/backup/models.go b/services/recoveryservices/mgmt/2017-07-01/backup/models.go index 90427aeb46f5..5f12336f208d 100644 --- a/services/recoveryservices/mgmt/2017-07-01/backup/models.go +++ b/services/recoveryservices/mgmt/2017-07-01/backup/models.go @@ -521,6 +521,8 @@ const ( JobOperationTypeBackup JobOperationType = "Backup" // JobOperationTypeConfigureBackup ... JobOperationTypeConfigureBackup JobOperationType = "ConfigureBackup" + // JobOperationTypeCrossRegionRestore ... + JobOperationTypeCrossRegionRestore JobOperationType = "CrossRegionRestore" // JobOperationTypeDeleteBackupData ... JobOperationTypeDeleteBackupData JobOperationType = "DeleteBackupData" // JobOperationTypeDisableBackup ... @@ -531,13 +533,15 @@ const ( JobOperationTypeRegister JobOperationType = "Register" // JobOperationTypeRestore ... JobOperationTypeRestore JobOperationType = "Restore" + // JobOperationTypeUndelete ... + JobOperationTypeUndelete JobOperationType = "Undelete" // JobOperationTypeUnRegister ... JobOperationTypeUnRegister JobOperationType = "UnRegister" ) // PossibleJobOperationTypeValues returns an array of possible values for the JobOperationType const type. func PossibleJobOperationTypeValues() []JobOperationType { - return []JobOperationType{JobOperationTypeBackup, JobOperationTypeConfigureBackup, JobOperationTypeDeleteBackupData, JobOperationTypeDisableBackup, JobOperationTypeInvalid, JobOperationTypeRegister, JobOperationTypeRestore, JobOperationTypeUnRegister} + return []JobOperationType{JobOperationTypeBackup, JobOperationTypeConfigureBackup, JobOperationTypeCrossRegionRestore, JobOperationTypeDeleteBackupData, JobOperationTypeDisableBackup, JobOperationTypeInvalid, JobOperationTypeRegister, JobOperationTypeRestore, JobOperationTypeUndelete, JobOperationTypeUnRegister} } // JobStatus enumerates the values for job status. @@ -777,6 +781,8 @@ func PossibleObjectTypeValues() []ObjectType { type ObjectTypeBasicILRRequest string const ( + // ObjectTypeAzureFileShareProvisionILRRequest ... + ObjectTypeAzureFileShareProvisionILRRequest ObjectTypeBasicILRRequest = "AzureFileShareProvisionILRRequest" // ObjectTypeIaasVMILRRegistrationRequest ... ObjectTypeIaasVMILRRegistrationRequest ObjectTypeBasicILRRequest = "IaasVMILRRegistrationRequest" // ObjectTypeILRRequest ... @@ -785,7 +791,7 @@ const ( // PossibleObjectTypeBasicILRRequestValues returns an array of possible values for the ObjectTypeBasicILRRequest const type. func PossibleObjectTypeBasicILRRequestValues() []ObjectTypeBasicILRRequest { - return []ObjectTypeBasicILRRequest{ObjectTypeIaasVMILRRegistrationRequest, ObjectTypeILRRequest} + return []ObjectTypeBasicILRRequest{ObjectTypeAzureFileShareProvisionILRRequest, ObjectTypeIaasVMILRRegistrationRequest, ObjectTypeILRRequest} } // ObjectTypeBasicOperationStatusExtendedInfo enumerates the values for object type basic operation status @@ -1012,8 +1018,6 @@ const ( ProtectableItemTypeMicrosoftClassicComputevirtualMachines ProtectableItemType = "Microsoft.ClassicCompute/virtualMachines" // ProtectableItemTypeMicrosoftComputevirtualMachines ... ProtectableItemTypeMicrosoftComputevirtualMachines ProtectableItemType = "Microsoft.Compute/virtualMachines" - // ProtectableItemTypeSAPAseDatabase ... - ProtectableItemTypeSAPAseDatabase ProtectableItemType = "SAPAseDatabase" // ProtectableItemTypeSAPAseSystem ... ProtectableItemTypeSAPAseSystem ProtectableItemType = "SAPAseSystem" // ProtectableItemTypeSAPHanaDatabase ... @@ -1032,7 +1036,7 @@ const ( // PossibleProtectableItemTypeValues returns an array of possible values for the ProtectableItemType const type. func PossibleProtectableItemTypeValues() []ProtectableItemType { - return []ProtectableItemType{ProtectableItemTypeAzureFileShare, ProtectableItemTypeAzureVMWorkloadProtectableItem, ProtectableItemTypeIaaSVMProtectableItem, ProtectableItemTypeMicrosoftClassicComputevirtualMachines, ProtectableItemTypeMicrosoftComputevirtualMachines, ProtectableItemTypeSAPAseDatabase, ProtectableItemTypeSAPAseSystem, ProtectableItemTypeSAPHanaDatabase, ProtectableItemTypeSAPHanaSystem, ProtectableItemTypeSQLAvailabilityGroupContainer, ProtectableItemTypeSQLDataBase, ProtectableItemTypeSQLInstance, ProtectableItemTypeWorkloadProtectableItem} + return []ProtectableItemType{ProtectableItemTypeAzureFileShare, ProtectableItemTypeAzureVMWorkloadProtectableItem, ProtectableItemTypeIaaSVMProtectableItem, ProtectableItemTypeMicrosoftClassicComputevirtualMachines, ProtectableItemTypeMicrosoftComputevirtualMachines, ProtectableItemTypeSAPAseSystem, ProtectableItemTypeSAPHanaDatabase, ProtectableItemTypeSAPHanaSystem, ProtectableItemTypeSQLAvailabilityGroupContainer, ProtectableItemTypeSQLDataBase, ProtectableItemTypeSQLInstance, ProtectableItemTypeWorkloadProtectableItem} } // ProtectedItemHealthStatus enumerates the values for protected item health status. @@ -1181,6 +1185,23 @@ func PossibleProtectionStatusValues() []ProtectionStatus { return []ProtectionStatus{ProtectionStatusInvalid, ProtectionStatusNotProtected, ProtectionStatusProtected, ProtectionStatusProtecting, ProtectionStatusProtectionFailed} } +// RecoveryMode enumerates the values for recovery mode. +type RecoveryMode string + +const ( + // RecoveryModeFileRecovery ... + RecoveryModeFileRecovery RecoveryMode = "FileRecovery" + // RecoveryModeInvalid ... + RecoveryModeInvalid RecoveryMode = "Invalid" + // RecoveryModeWorkloadRecovery ... + RecoveryModeWorkloadRecovery RecoveryMode = "WorkloadRecovery" +) + +// PossibleRecoveryModeValues returns an array of possible values for the RecoveryMode const type. +func PossibleRecoveryModeValues() []RecoveryMode { + return []RecoveryMode{RecoveryModeFileRecovery, RecoveryModeInvalid, RecoveryModeWorkloadRecovery} +} + // RecoveryPointTierStatus enumerates the values for recovery point tier status. type RecoveryPointTierStatus string @@ -1225,6 +1246,8 @@ const ( RecoveryTypeAlternateLocation RecoveryType = "AlternateLocation" // RecoveryTypeInvalid ... RecoveryTypeInvalid RecoveryType = "Invalid" + // RecoveryTypeOffline ... + RecoveryTypeOffline RecoveryType = "Offline" // RecoveryTypeOriginalLocation ... RecoveryTypeOriginalLocation RecoveryType = "OriginalLocation" // RecoveryTypeRestoreDisks ... @@ -1233,7 +1256,7 @@ const ( // PossibleRecoveryTypeValues returns an array of possible values for the RecoveryType const type. func PossibleRecoveryTypeValues() []RecoveryType { - return []RecoveryType{RecoveryTypeAlternateLocation, RecoveryTypeInvalid, RecoveryTypeOriginalLocation, RecoveryTypeRestoreDisks} + return []RecoveryType{RecoveryTypeAlternateLocation, RecoveryTypeInvalid, RecoveryTypeOffline, RecoveryTypeOriginalLocation, RecoveryTypeRestoreDisks} } // RestorePointQueryType enumerates the values for restore point query type. @@ -1386,6 +1409,23 @@ func PossibleScheduleRunTypeValues() []ScheduleRunType { return []ScheduleRunType{ScheduleRunTypeDaily, ScheduleRunTypeInvalid, ScheduleRunTypeWeekly} } +// SoftDeleteFeatureState enumerates the values for soft delete feature state. +type SoftDeleteFeatureState string + +const ( + // SoftDeleteFeatureStateDisabled ... + SoftDeleteFeatureStateDisabled SoftDeleteFeatureState = "Disabled" + // SoftDeleteFeatureStateEnabled ... + SoftDeleteFeatureStateEnabled SoftDeleteFeatureState = "Enabled" + // SoftDeleteFeatureStateInvalid ... + SoftDeleteFeatureStateInvalid SoftDeleteFeatureState = "Invalid" +) + +// PossibleSoftDeleteFeatureStateValues returns an array of possible values for the SoftDeleteFeatureState const type. +func PossibleSoftDeleteFeatureStateValues() []SoftDeleteFeatureState { + return []SoftDeleteFeatureState{SoftDeleteFeatureStateDisabled, SoftDeleteFeatureStateEnabled, SoftDeleteFeatureStateInvalid} +} + // SQLDataDirectoryType enumerates the values for sql data directory type. type SQLDataDirectoryType string @@ -1873,7 +1913,7 @@ type AzureBackupServerEngine struct { IsAzureBackupAgentUpgradeAvailable *bool `json:"isAzureBackupAgentUpgradeAvailable,omitempty"` // IsDpmUpgradeAvailable - To check if backup engine upgrade available IsDpmUpgradeAvailable *bool `json:"isDpmUpgradeAvailable,omitempty"` - // ExtendedInfo - Extended info of the backup engine + // ExtendedInfo - Extended info of the backupengine ExtendedInfo *EngineExtendedInfo `json:"extendedInfo,omitempty"` // BackupEngineType - Possible values include: 'BackupEngineTypeBackupEngineBase', 'BackupEngineTypeAzureBackupServerEngine', 'BackupEngineTypeDpmBackupEngine' BackupEngineType EngineType `json:"backupEngineType,omitempty"` @@ -2007,7 +2047,7 @@ type AzureFileShareProtectableItem struct { FriendlyName *string `json:"friendlyName,omitempty"` // ProtectionState - State of the back up item. Possible values include: 'ProtectionStatusInvalid', 'ProtectionStatusNotProtected', 'ProtectionStatusProtecting', 'ProtectionStatusProtected', 'ProtectionStatusProtectionFailed' ProtectionState ProtectionStatus `json:"protectionState,omitempty"` - // ProtectableItemType - Possible values include: 'ProtectableItemTypeWorkloadProtectableItem', 'ProtectableItemTypeAzureFileShare', 'ProtectableItemTypeMicrosoftClassicComputevirtualMachines', 'ProtectableItemTypeMicrosoftComputevirtualMachines', 'ProtectableItemTypeAzureVMWorkloadProtectableItem', 'ProtectableItemTypeSAPAseDatabase', 'ProtectableItemTypeSAPAseSystem', 'ProtectableItemTypeSAPHanaDatabase', 'ProtectableItemTypeSAPHanaSystem', 'ProtectableItemTypeSQLAvailabilityGroupContainer', 'ProtectableItemTypeSQLDataBase', 'ProtectableItemTypeSQLInstance', 'ProtectableItemTypeIaaSVMProtectableItem' + // ProtectableItemType - Possible values include: 'ProtectableItemTypeWorkloadProtectableItem', 'ProtectableItemTypeAzureFileShare', 'ProtectableItemTypeMicrosoftClassicComputevirtualMachines', 'ProtectableItemTypeMicrosoftComputevirtualMachines', 'ProtectableItemTypeAzureVMWorkloadProtectableItem', 'ProtectableItemTypeSAPAseSystem', 'ProtectableItemTypeSAPHanaDatabase', 'ProtectableItemTypeSAPHanaSystem', 'ProtectableItemTypeSQLAvailabilityGroupContainer', 'ProtectableItemTypeSQLDataBase', 'ProtectableItemTypeSQLInstance', 'ProtectableItemTypeIaaSVMProtectableItem' ProtectableItemType ProtectableItemType `json:"protectableItemType,omitempty"` } @@ -2067,11 +2107,6 @@ func (afspi AzureFileShareProtectableItem) AsBasicAzureVMWorkloadProtectableItem return nil, false } -// AsAzureVMWorkloadSAPAseDatabaseProtectableItem is the BasicWorkloadProtectableItem implementation for AzureFileShareProtectableItem. -func (afspi AzureFileShareProtectableItem) AsAzureVMWorkloadSAPAseDatabaseProtectableItem() (*AzureVMWorkloadSAPAseDatabaseProtectableItem, bool) { - return nil, false -} - // AsAzureVMWorkloadSAPAseSystemProtectableItem is the BasicWorkloadProtectableItem implementation for AzureFileShareProtectableItem. func (afspi AzureFileShareProtectableItem) AsAzureVMWorkloadSAPAseSystemProtectableItem() (*AzureVMWorkloadSAPAseSystemProtectableItem, bool) { return nil, false @@ -2326,6 +2361,10 @@ type AzureFileshareProtectedItemExtendedInfo struct { RecoveryPointCount *int32 `json:"recoveryPointCount,omitempty"` // PolicyState - Indicates consistency of policy object and policy applied to this backup item. PolicyState *string `json:"policyState,omitempty"` + // ResourceState - READ-ONLY; Indicates the state of this resource. Possible values are from enum ResourceState {Invalid, Active, SoftDeleted, Deleted} + ResourceState *string `json:"resourceState,omitempty"` + // ResourceStateSyncTime - READ-ONLY; The resource state sync time for this backup item. + ResourceStateSyncTime *date.Time `json:"resourceStateSyncTime,omitempty"` } // AzureFileShareProtectionPolicy azureStorage backup policy. @@ -2340,7 +2379,7 @@ type AzureFileShareProtectionPolicy struct { TimeZone *string `json:"timeZone,omitempty"` // ProtectedItemsCount - Number of items associated with this policy. ProtectedItemsCount *int32 `json:"protectedItemsCount,omitempty"` - // BackupManagementType - Possible values include: 'BackupManagementTypeProtectionPolicy', 'BackupManagementTypeAzureStorage', 'BackupManagementTypeAzureIaasVM', 'BackupManagementTypeAzureSQL', 'BackupManagementTypeAzureWorkload', 'BackupManagementTypeGenericProtectionPolicy', 'BackupManagementTypeMAB' + // BackupManagementType - Possible values include: 'BackupManagementTypeProtectionPolicy', 'BackupManagementTypeAzureWorkload', 'BackupManagementTypeAzureStorage', 'BackupManagementTypeAzureIaasVM', 'BackupManagementTypeAzureSQL', 'BackupManagementTypeGenericProtectionPolicy', 'BackupManagementTypeMAB' BackupManagementType ManagementTypeBasicProtectionPolicy `json:"backupManagementType,omitempty"` } @@ -2365,6 +2404,11 @@ func (afspp AzureFileShareProtectionPolicy) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } +// AsAzureVMWorkloadProtectionPolicy is the BasicProtectionPolicy implementation for AzureFileShareProtectionPolicy. +func (afspp AzureFileShareProtectionPolicy) AsAzureVMWorkloadProtectionPolicy() (*AzureVMWorkloadProtectionPolicy, bool) { + return nil, false +} + // AsAzureFileShareProtectionPolicy is the BasicProtectionPolicy implementation for AzureFileShareProtectionPolicy. func (afspp AzureFileShareProtectionPolicy) AsAzureFileShareProtectionPolicy() (*AzureFileShareProtectionPolicy, bool) { return &afspp, true @@ -2380,11 +2424,6 @@ func (afspp AzureFileShareProtectionPolicy) AsAzureSQLProtectionPolicy() (*Azure return nil, false } -// AsAzureVMWorkloadProtectionPolicy is the BasicProtectionPolicy implementation for AzureFileShareProtectionPolicy. -func (afspp AzureFileShareProtectionPolicy) AsAzureVMWorkloadProtectionPolicy() (*AzureVMWorkloadProtectionPolicy, bool) { - return nil, false -} - // AsGenericProtectionPolicy is the BasicProtectionPolicy implementation for AzureFileShareProtectionPolicy. func (afspp AzureFileShareProtectionPolicy) AsGenericProtectionPolicy() (*GenericProtectionPolicy, bool) { return nil, false @@ -2472,14 +2511,63 @@ func (afspp *AzureFileShareProtectionPolicy) UnmarshalJSON(body []byte) error { return nil } +// AzureFileShareProvisionILRRequest update snapshot Uri with the correct friendly Name of the source Azure +// file share. +type AzureFileShareProvisionILRRequest struct { + // RecoveryPointID - Recovery point ID. + RecoveryPointID *string `json:"recoveryPointId,omitempty"` + // SourceResourceID - Source Storage account ARM Id + SourceResourceID *string `json:"sourceResourceId,omitempty"` + // ObjectType - Possible values include: 'ObjectTypeILRRequest', 'ObjectTypeAzureFileShareProvisionILRRequest', 'ObjectTypeIaasVMILRRegistrationRequest' + ObjectType ObjectTypeBasicILRRequest `json:"objectType,omitempty"` +} + +// MarshalJSON is the custom marshaler for AzureFileShareProvisionILRRequest. +func (afspir AzureFileShareProvisionILRRequest) MarshalJSON() ([]byte, error) { + afspir.ObjectType = ObjectTypeAzureFileShareProvisionILRRequest + objectMap := make(map[string]interface{}) + if afspir.RecoveryPointID != nil { + objectMap["recoveryPointId"] = afspir.RecoveryPointID + } + if afspir.SourceResourceID != nil { + objectMap["sourceResourceId"] = afspir.SourceResourceID + } + if afspir.ObjectType != "" { + objectMap["objectType"] = afspir.ObjectType + } + return json.Marshal(objectMap) +} + +// AsAzureFileShareProvisionILRRequest is the BasicILRRequest implementation for AzureFileShareProvisionILRRequest. +func (afspir AzureFileShareProvisionILRRequest) AsAzureFileShareProvisionILRRequest() (*AzureFileShareProvisionILRRequest, bool) { + return &afspir, true +} + +// AsIaasVMILRRegistrationRequest is the BasicILRRequest implementation for AzureFileShareProvisionILRRequest. +func (afspir AzureFileShareProvisionILRRequest) AsIaasVMILRRegistrationRequest() (*IaasVMILRRegistrationRequest, bool) { + return nil, false +} + +// AsILRRequest is the BasicILRRequest implementation for AzureFileShareProvisionILRRequest. +func (afspir AzureFileShareProvisionILRRequest) AsILRRequest() (*ILRRequest, bool) { + return nil, false +} + +// AsBasicILRRequest is the BasicILRRequest implementation for AzureFileShareProvisionILRRequest. +func (afspir AzureFileShareProvisionILRRequest) AsBasicILRRequest() (BasicILRRequest, bool) { + return &afspir, true +} + // AzureFileShareRecoveryPoint azure File Share workload specific backup copy. type AzureFileShareRecoveryPoint struct { - // RecoveryPointType - Type of the backup copy. Specifies whether it is a crash consistent backup or app consistent. + // RecoveryPointType - READ-ONLY; Type of the backup copy. Specifies whether it is a crash consistent backup or app consistent. RecoveryPointType *string `json:"recoveryPointType,omitempty"` - // RecoveryPointTime - Time at which this backup copy was created. + // RecoveryPointTime - READ-ONLY; Time at which this backup copy was created. RecoveryPointTime *date.Time `json:"recoveryPointTime,omitempty"` - // FileShareSnapshotURI - Contains Url to the snapshot of fileshare, if applicable + // FileShareSnapshotURI - READ-ONLY; Contains Url to the snapshot of fileshare, if applicable FileShareSnapshotURI *string `json:"fileShareSnapshotUri,omitempty"` + // RecoveryPointSizeInGB - READ-ONLY; Contains recovery point size + RecoveryPointSizeInGB *int32 `json:"recoveryPointSizeInGB,omitempty"` // ObjectType - Possible values include: 'ObjectTypeRecoveryPoint', 'ObjectTypeAzureFileShareRecoveryPoint', 'ObjectTypeAzureWorkloadPointInTimeRecoveryPoint', 'ObjectTypeAzureWorkloadRecoveryPoint', 'ObjectTypeAzureWorkloadSAPHanaPointInTimeRecoveryPoint', 'ObjectTypeAzureWorkloadSAPHanaRecoveryPoint', 'ObjectTypeAzureWorkloadSQLPointInTimeRecoveryPoint', 'ObjectTypeAzureWorkloadSQLRecoveryPoint', 'ObjectTypeGenericRecoveryPoint', 'ObjectTypeIaasVMRecoveryPoint' ObjectType ObjectTypeBasicRecoveryPoint `json:"objectType,omitempty"` } @@ -2488,15 +2576,6 @@ type AzureFileShareRecoveryPoint struct { func (afsrp AzureFileShareRecoveryPoint) MarshalJSON() ([]byte, error) { afsrp.ObjectType = ObjectTypeAzureFileShareRecoveryPoint objectMap := make(map[string]interface{}) - if afsrp.RecoveryPointType != nil { - objectMap["recoveryPointType"] = afsrp.RecoveryPointType - } - if afsrp.RecoveryPointTime != nil { - objectMap["recoveryPointTime"] = afsrp.RecoveryPointTime - } - if afsrp.FileShareSnapshotURI != nil { - objectMap["fileShareSnapshotUri"] = afsrp.FileShareSnapshotURI - } if afsrp.ObjectType != "" { objectMap["objectType"] = afsrp.ObjectType } @@ -2575,7 +2654,7 @@ func (afsrp AzureFileShareRecoveryPoint) AsBasicRecoveryPoint() (BasicRecoveryPo // AzureFileShareRestoreRequest azureFileShare Restore Request type AzureFileShareRestoreRequest struct { - // RecoveryType - Type of this recovery. Possible values include: 'RecoveryTypeInvalid', 'RecoveryTypeOriginalLocation', 'RecoveryTypeAlternateLocation', 'RecoveryTypeRestoreDisks' + // RecoveryType - Type of this recovery. Possible values include: 'RecoveryTypeInvalid', 'RecoveryTypeOriginalLocation', 'RecoveryTypeAlternateLocation', 'RecoveryTypeRestoreDisks', 'RecoveryTypeOffline' RecoveryType RecoveryType `json:"recoveryType,omitempty"` // SourceResourceID - Source storage account ARM Id SourceResourceID *string `json:"sourceResourceId,omitempty"` @@ -2834,7 +2913,7 @@ type AzureIaaSClassicComputeVMProtectableItem struct { FriendlyName *string `json:"friendlyName,omitempty"` // ProtectionState - State of the back up item. Possible values include: 'ProtectionStatusInvalid', 'ProtectionStatusNotProtected', 'ProtectionStatusProtecting', 'ProtectionStatusProtected', 'ProtectionStatusProtectionFailed' ProtectionState ProtectionStatus `json:"protectionState,omitempty"` - // ProtectableItemType - Possible values include: 'ProtectableItemTypeWorkloadProtectableItem', 'ProtectableItemTypeAzureFileShare', 'ProtectableItemTypeMicrosoftClassicComputevirtualMachines', 'ProtectableItemTypeMicrosoftComputevirtualMachines', 'ProtectableItemTypeAzureVMWorkloadProtectableItem', 'ProtectableItemTypeSAPAseDatabase', 'ProtectableItemTypeSAPAseSystem', 'ProtectableItemTypeSAPHanaDatabase', 'ProtectableItemTypeSAPHanaSystem', 'ProtectableItemTypeSQLAvailabilityGroupContainer', 'ProtectableItemTypeSQLDataBase', 'ProtectableItemTypeSQLInstance', 'ProtectableItemTypeIaaSVMProtectableItem' + // ProtectableItemType - Possible values include: 'ProtectableItemTypeWorkloadProtectableItem', 'ProtectableItemTypeAzureFileShare', 'ProtectableItemTypeMicrosoftClassicComputevirtualMachines', 'ProtectableItemTypeMicrosoftComputevirtualMachines', 'ProtectableItemTypeAzureVMWorkloadProtectableItem', 'ProtectableItemTypeSAPAseSystem', 'ProtectableItemTypeSAPHanaDatabase', 'ProtectableItemTypeSAPHanaSystem', 'ProtectableItemTypeSQLAvailabilityGroupContainer', 'ProtectableItemTypeSQLDataBase', 'ProtectableItemTypeSQLInstance', 'ProtectableItemTypeIaaSVMProtectableItem' ProtectableItemType ProtectableItemType `json:"protectableItemType,omitempty"` } @@ -2888,11 +2967,6 @@ func (aisccvpi AzureIaaSClassicComputeVMProtectableItem) AsBasicAzureVMWorkloadP return nil, false } -// AsAzureVMWorkloadSAPAseDatabaseProtectableItem is the BasicWorkloadProtectableItem implementation for AzureIaaSClassicComputeVMProtectableItem. -func (aisccvpi AzureIaaSClassicComputeVMProtectableItem) AsAzureVMWorkloadSAPAseDatabaseProtectableItem() (*AzureVMWorkloadSAPAseDatabaseProtectableItem, bool) { - return nil, false -} - // AsAzureVMWorkloadSAPAseSystemProtectableItem is the BasicWorkloadProtectableItem implementation for AzureIaaSClassicComputeVMProtectableItem. func (aisccvpi AzureIaaSClassicComputeVMProtectableItem) AsAzureVMWorkloadSAPAseSystemProtectableItem() (*AzureVMWorkloadSAPAseSystemProtectableItem, bool) { return nil, false @@ -2965,7 +3039,8 @@ type AzureIaaSClassicComputeVMProtectedItem struct { // ProtectedItemDataID - Data ID of the protected item. ProtectedItemDataID *string `json:"protectedItemDataId,omitempty"` // ExtendedInfo - Additional information for this backup item. - ExtendedInfo *AzureIaaSVMProtectedItemExtendedInfo `json:"extendedInfo,omitempty"` + ExtendedInfo *AzureIaaSVMProtectedItemExtendedInfo `json:"extendedInfo,omitempty"` + ExtendedProperties *ExtendedProperties `json:"extendedProperties,omitempty"` // BackupManagementType - Type of backup management for the backed up item. Possible values include: 'ManagementTypeInvalid', 'ManagementTypeAzureIaasVM', 'ManagementTypeMAB', 'ManagementTypeDPM', 'ManagementTypeAzureBackupServer', 'ManagementTypeAzureSQL', 'ManagementTypeAzureStorage', 'ManagementTypeAzureWorkload', 'ManagementTypeDefaultBackup' BackupManagementType ManagementType `json:"backupManagementType,omitempty"` // WorkloadType - Type of workload this item represents. Possible values include: 'DataSourceTypeInvalid', 'DataSourceTypeVM', 'DataSourceTypeFileFolder', 'DataSourceTypeAzureSQLDb', 'DataSourceTypeSQLDB', 'DataSourceTypeExchange', 'DataSourceTypeSharepoint', 'DataSourceTypeVMwareVM', 'DataSourceTypeSystemState', 'DataSourceTypeClient', 'DataSourceTypeGenericDataSource', 'DataSourceTypeSQLDataBase', 'DataSourceTypeAzureFileShare', 'DataSourceTypeSAPHanaDatabase', 'DataSourceTypeSAPAseDatabase' @@ -3030,6 +3105,9 @@ func (aisccvpi AzureIaaSClassicComputeVMProtectedItem) MarshalJSON() ([]byte, er if aisccvpi.ExtendedInfo != nil { objectMap["extendedInfo"] = aisccvpi.ExtendedInfo } + if aisccvpi.ExtendedProperties != nil { + objectMap["extendedProperties"] = aisccvpi.ExtendedProperties + } if aisccvpi.BackupManagementType != "" { objectMap["backupManagementType"] = aisccvpi.BackupManagementType } @@ -3305,7 +3383,7 @@ type AzureIaaSComputeVMProtectableItem struct { FriendlyName *string `json:"friendlyName,omitempty"` // ProtectionState - State of the back up item. Possible values include: 'ProtectionStatusInvalid', 'ProtectionStatusNotProtected', 'ProtectionStatusProtecting', 'ProtectionStatusProtected', 'ProtectionStatusProtectionFailed' ProtectionState ProtectionStatus `json:"protectionState,omitempty"` - // ProtectableItemType - Possible values include: 'ProtectableItemTypeWorkloadProtectableItem', 'ProtectableItemTypeAzureFileShare', 'ProtectableItemTypeMicrosoftClassicComputevirtualMachines', 'ProtectableItemTypeMicrosoftComputevirtualMachines', 'ProtectableItemTypeAzureVMWorkloadProtectableItem', 'ProtectableItemTypeSAPAseDatabase', 'ProtectableItemTypeSAPAseSystem', 'ProtectableItemTypeSAPHanaDatabase', 'ProtectableItemTypeSAPHanaSystem', 'ProtectableItemTypeSQLAvailabilityGroupContainer', 'ProtectableItemTypeSQLDataBase', 'ProtectableItemTypeSQLInstance', 'ProtectableItemTypeIaaSVMProtectableItem' + // ProtectableItemType - Possible values include: 'ProtectableItemTypeWorkloadProtectableItem', 'ProtectableItemTypeAzureFileShare', 'ProtectableItemTypeMicrosoftClassicComputevirtualMachines', 'ProtectableItemTypeMicrosoftComputevirtualMachines', 'ProtectableItemTypeAzureVMWorkloadProtectableItem', 'ProtectableItemTypeSAPAseSystem', 'ProtectableItemTypeSAPHanaDatabase', 'ProtectableItemTypeSAPHanaSystem', 'ProtectableItemTypeSQLAvailabilityGroupContainer', 'ProtectableItemTypeSQLDataBase', 'ProtectableItemTypeSQLInstance', 'ProtectableItemTypeIaaSVMProtectableItem' ProtectableItemType ProtectableItemType `json:"protectableItemType,omitempty"` } @@ -3359,11 +3437,6 @@ func (aiscvpi AzureIaaSComputeVMProtectableItem) AsBasicAzureVMWorkloadProtectab return nil, false } -// AsAzureVMWorkloadSAPAseDatabaseProtectableItem is the BasicWorkloadProtectableItem implementation for AzureIaaSComputeVMProtectableItem. -func (aiscvpi AzureIaaSComputeVMProtectableItem) AsAzureVMWorkloadSAPAseDatabaseProtectableItem() (*AzureVMWorkloadSAPAseDatabaseProtectableItem, bool) { - return nil, false -} - // AsAzureVMWorkloadSAPAseSystemProtectableItem is the BasicWorkloadProtectableItem implementation for AzureIaaSComputeVMProtectableItem. func (aiscvpi AzureIaaSComputeVMProtectableItem) AsAzureVMWorkloadSAPAseSystemProtectableItem() (*AzureVMWorkloadSAPAseSystemProtectableItem, bool) { return nil, false @@ -3436,7 +3509,8 @@ type AzureIaaSComputeVMProtectedItem struct { // ProtectedItemDataID - Data ID of the protected item. ProtectedItemDataID *string `json:"protectedItemDataId,omitempty"` // ExtendedInfo - Additional information for this backup item. - ExtendedInfo *AzureIaaSVMProtectedItemExtendedInfo `json:"extendedInfo,omitempty"` + ExtendedInfo *AzureIaaSVMProtectedItemExtendedInfo `json:"extendedInfo,omitempty"` + ExtendedProperties *ExtendedProperties `json:"extendedProperties,omitempty"` // BackupManagementType - Type of backup management for the backed up item. Possible values include: 'ManagementTypeInvalid', 'ManagementTypeAzureIaasVM', 'ManagementTypeMAB', 'ManagementTypeDPM', 'ManagementTypeAzureBackupServer', 'ManagementTypeAzureSQL', 'ManagementTypeAzureStorage', 'ManagementTypeAzureWorkload', 'ManagementTypeDefaultBackup' BackupManagementType ManagementType `json:"backupManagementType,omitempty"` // WorkloadType - Type of workload this item represents. Possible values include: 'DataSourceTypeInvalid', 'DataSourceTypeVM', 'DataSourceTypeFileFolder', 'DataSourceTypeAzureSQLDb', 'DataSourceTypeSQLDB', 'DataSourceTypeExchange', 'DataSourceTypeSharepoint', 'DataSourceTypeVMwareVM', 'DataSourceTypeSystemState', 'DataSourceTypeClient', 'DataSourceTypeGenericDataSource', 'DataSourceTypeSQLDataBase', 'DataSourceTypeAzureFileShare', 'DataSourceTypeSAPHanaDatabase', 'DataSourceTypeSAPAseDatabase' @@ -3501,6 +3575,9 @@ func (aiscvpi AzureIaaSComputeVMProtectedItem) MarshalJSON() ([]byte, error) { if aiscvpi.ExtendedInfo != nil { objectMap["extendedInfo"] = aiscvpi.ExtendedInfo } + if aiscvpi.ExtendedProperties != nil { + objectMap["extendedProperties"] = aiscvpi.ExtendedProperties + } if aiscvpi.BackupManagementType != "" { objectMap["backupManagementType"] = aiscvpi.BackupManagementType } @@ -3628,25 +3705,25 @@ func (aiscvpi AzureIaaSComputeVMProtectedItem) AsBasicProtectedItem() (BasicProt // AzureIaaSVMErrorInfo azure IaaS VM workload-specific error information. type AzureIaaSVMErrorInfo struct { - // ErrorCode - Error code. + // ErrorCode - READ-ONLY; Error code. ErrorCode *int32 `json:"errorCode,omitempty"` - // ErrorTitle - Title: Typically, the entity that the error pertains to. + // ErrorTitle - READ-ONLY; Title: Typically, the entity that the error pertains to. ErrorTitle *string `json:"errorTitle,omitempty"` - // ErrorString - Localized error string. + // ErrorString - READ-ONLY; Localized error string. ErrorString *string `json:"errorString,omitempty"` - // Recommendations - List of localized recommendations for above error code. + // Recommendations - READ-ONLY; List of localized recommendations for above error code. Recommendations *[]string `json:"recommendations,omitempty"` } // AzureIaaSVMHealthDetails azure IaaS VM workload-specific Health Details. type AzureIaaSVMHealthDetails struct { - // Code - Health Code + // Code - READ-ONLY; Health Code Code *int32 `json:"code,omitempty"` - // Title - Health Title + // Title - READ-ONLY; Health Title Title *string `json:"title,omitempty"` - // Message - Health Message + // Message - READ-ONLY; Health Message Message *string `json:"message,omitempty"` - // Recommendations - Health Recommended Actions + // Recommendations - READ-ONLY; Health Recommended Actions Recommendations *[]string `json:"recommendations,omitempty"` } @@ -3850,7 +3927,8 @@ type AzureIaaSVMProtectedItem struct { // ProtectedItemDataID - Data ID of the protected item. ProtectedItemDataID *string `json:"protectedItemDataId,omitempty"` // ExtendedInfo - Additional information for this backup item. - ExtendedInfo *AzureIaaSVMProtectedItemExtendedInfo `json:"extendedInfo,omitempty"` + ExtendedInfo *AzureIaaSVMProtectedItemExtendedInfo `json:"extendedInfo,omitempty"` + ExtendedProperties *ExtendedProperties `json:"extendedProperties,omitempty"` // BackupManagementType - Type of backup management for the backed up item. Possible values include: 'ManagementTypeInvalid', 'ManagementTypeAzureIaasVM', 'ManagementTypeMAB', 'ManagementTypeDPM', 'ManagementTypeAzureBackupServer', 'ManagementTypeAzureSQL', 'ManagementTypeAzureStorage', 'ManagementTypeAzureWorkload', 'ManagementTypeDefaultBackup' BackupManagementType ManagementType `json:"backupManagementType,omitempty"` // WorkloadType - Type of workload this item represents. Possible values include: 'DataSourceTypeInvalid', 'DataSourceTypeVM', 'DataSourceTypeFileFolder', 'DataSourceTypeAzureSQLDb', 'DataSourceTypeSQLDB', 'DataSourceTypeExchange', 'DataSourceTypeSharepoint', 'DataSourceTypeVMwareVM', 'DataSourceTypeSystemState', 'DataSourceTypeClient', 'DataSourceTypeGenericDataSource', 'DataSourceTypeSQLDataBase', 'DataSourceTypeAzureFileShare', 'DataSourceTypeSAPHanaDatabase', 'DataSourceTypeSAPAseDatabase' @@ -3956,6 +4034,9 @@ func (aispi AzureIaaSVMProtectedItem) MarshalJSON() ([]byte, error) { if aispi.ExtendedInfo != nil { objectMap["extendedInfo"] = aispi.ExtendedInfo } + if aispi.ExtendedProperties != nil { + objectMap["extendedProperties"] = aispi.ExtendedProperties + } if aispi.BackupManagementType != "" { objectMap["backupManagementType"] = aispi.BackupManagementType } @@ -4103,7 +4184,7 @@ type AzureIaaSVMProtectionPolicy struct { TimeZone *string `json:"timeZone,omitempty"` // ProtectedItemsCount - Number of items associated with this policy. ProtectedItemsCount *int32 `json:"protectedItemsCount,omitempty"` - // BackupManagementType - Possible values include: 'BackupManagementTypeProtectionPolicy', 'BackupManagementTypeAzureStorage', 'BackupManagementTypeAzureIaasVM', 'BackupManagementTypeAzureSQL', 'BackupManagementTypeAzureWorkload', 'BackupManagementTypeGenericProtectionPolicy', 'BackupManagementTypeMAB' + // BackupManagementType - Possible values include: 'BackupManagementTypeProtectionPolicy', 'BackupManagementTypeAzureWorkload', 'BackupManagementTypeAzureStorage', 'BackupManagementTypeAzureIaasVM', 'BackupManagementTypeAzureSQL', 'BackupManagementTypeGenericProtectionPolicy', 'BackupManagementTypeMAB' BackupManagementType ManagementTypeBasicProtectionPolicy `json:"backupManagementType,omitempty"` } @@ -4128,6 +4209,11 @@ func (aispp AzureIaaSVMProtectionPolicy) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } +// AsAzureVMWorkloadProtectionPolicy is the BasicProtectionPolicy implementation for AzureIaaSVMProtectionPolicy. +func (aispp AzureIaaSVMProtectionPolicy) AsAzureVMWorkloadProtectionPolicy() (*AzureVMWorkloadProtectionPolicy, bool) { + return nil, false +} + // AsAzureFileShareProtectionPolicy is the BasicProtectionPolicy implementation for AzureIaaSVMProtectionPolicy. func (aispp AzureIaaSVMProtectionPolicy) AsAzureFileShareProtectionPolicy() (*AzureFileShareProtectionPolicy, bool) { return nil, false @@ -4143,11 +4229,6 @@ func (aispp AzureIaaSVMProtectionPolicy) AsAzureSQLProtectionPolicy() (*AzureSQL return nil, false } -// AsAzureVMWorkloadProtectionPolicy is the BasicProtectionPolicy implementation for AzureIaaSVMProtectionPolicy. -func (aispp AzureIaaSVMProtectionPolicy) AsAzureVMWorkloadProtectionPolicy() (*AzureVMWorkloadProtectionPolicy, bool) { - return nil, false -} - // AsGenericProtectionPolicy is the BasicProtectionPolicy implementation for AzureIaaSVMProtectionPolicy. func (aispp AzureIaaSVMProtectionPolicy) AsGenericProtectionPolicy() (*GenericProtectionPolicy, bool) { return nil, false @@ -4910,7 +4991,7 @@ type AzureSQLProtectionPolicy struct { RetentionPolicy BasicRetentionPolicy `json:"retentionPolicy,omitempty"` // ProtectedItemsCount - Number of items associated with this policy. ProtectedItemsCount *int32 `json:"protectedItemsCount,omitempty"` - // BackupManagementType - Possible values include: 'BackupManagementTypeProtectionPolicy', 'BackupManagementTypeAzureStorage', 'BackupManagementTypeAzureIaasVM', 'BackupManagementTypeAzureSQL', 'BackupManagementTypeAzureWorkload', 'BackupManagementTypeGenericProtectionPolicy', 'BackupManagementTypeMAB' + // BackupManagementType - Possible values include: 'BackupManagementTypeProtectionPolicy', 'BackupManagementTypeAzureWorkload', 'BackupManagementTypeAzureStorage', 'BackupManagementTypeAzureIaasVM', 'BackupManagementTypeAzureSQL', 'BackupManagementTypeGenericProtectionPolicy', 'BackupManagementTypeMAB' BackupManagementType ManagementTypeBasicProtectionPolicy `json:"backupManagementType,omitempty"` } @@ -4928,6 +5009,11 @@ func (aspp AzureSQLProtectionPolicy) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } +// AsAzureVMWorkloadProtectionPolicy is the BasicProtectionPolicy implementation for AzureSQLProtectionPolicy. +func (aspp AzureSQLProtectionPolicy) AsAzureVMWorkloadProtectionPolicy() (*AzureVMWorkloadProtectionPolicy, bool) { + return nil, false +} + // AsAzureFileShareProtectionPolicy is the BasicProtectionPolicy implementation for AzureSQLProtectionPolicy. func (aspp AzureSQLProtectionPolicy) AsAzureFileShareProtectionPolicy() (*AzureFileShareProtectionPolicy, bool) { return nil, false @@ -4943,11 +5029,6 @@ func (aspp AzureSQLProtectionPolicy) AsAzureSQLProtectionPolicy() (*AzureSQLProt return &aspp, true } -// AsAzureVMWorkloadProtectionPolicy is the BasicProtectionPolicy implementation for AzureSQLProtectionPolicy. -func (aspp AzureSQLProtectionPolicy) AsAzureVMWorkloadProtectionPolicy() (*AzureVMWorkloadProtectionPolicy, bool) { - return nil, false -} - // AsGenericProtectionPolicy is the BasicProtectionPolicy implementation for AzureSQLProtectionPolicy. func (aspp AzureSQLProtectionPolicy) AsGenericProtectionPolicy() (*GenericProtectionPolicy, bool) { return nil, false @@ -5639,9 +5720,9 @@ type AzureVMWorkloadItem struct { ServerName *string `json:"serverName,omitempty"` // IsAutoProtectable - Indicates if workload item is auto-protectable IsAutoProtectable *bool `json:"isAutoProtectable,omitempty"` - // Subinquireditemcount - For instance or AG, indicates number of DBs present + // Subinquireditemcount - For instance or AG, indicates number of DB's present Subinquireditemcount *int32 `json:"subinquireditemcount,omitempty"` - // SubWorkloadItemCount - For instance or AG, indicates number of DBs to be protected + // SubWorkloadItemCount - For instance or AG, indicates number of DB's to be protected SubWorkloadItemCount *int32 `json:"subWorkloadItemCount,omitempty"` // BackupManagementType - Type of backup management to backup an item. BackupManagementType *string `json:"backupManagementType,omitempty"` @@ -5801,7 +5882,6 @@ func (avwi AzureVMWorkloadItem) AsBasicWorkloadItem() (BasicWorkloadItem, bool) // BasicAzureVMWorkloadProtectableItem azure VM workload-specific protectable item. type BasicAzureVMWorkloadProtectableItem interface { - AsAzureVMWorkloadSAPAseDatabaseProtectableItem() (*AzureVMWorkloadSAPAseDatabaseProtectableItem, bool) AsAzureVMWorkloadSAPAseSystemProtectableItem() (*AzureVMWorkloadSAPAseSystemProtectableItem, bool) AsAzureVMWorkloadSAPHanaDatabaseProtectableItem() (*AzureVMWorkloadSAPHanaDatabaseProtectableItem, bool) AsAzureVMWorkloadSAPHanaSystemProtectableItem() (*AzureVMWorkloadSAPHanaSystemProtectableItem, bool) @@ -5824,9 +5904,9 @@ type AzureVMWorkloadProtectableItem struct { IsAutoProtectable *bool `json:"isAutoProtectable,omitempty"` // IsAutoProtected - Indicates if protectable item is auto-protected IsAutoProtected *bool `json:"isAutoProtected,omitempty"` - // Subinquireditemcount - For instance or AG, indicates number of DBs present + // Subinquireditemcount - For instance or AG, indicates number of DB's present Subinquireditemcount *int32 `json:"subinquireditemcount,omitempty"` - // Subprotectableitemcount - For instance or AG, indicates number of DBs to be protected + // Subprotectableitemcount - For instance or AG, indicates number of DB's to be protected Subprotectableitemcount *int32 `json:"subprotectableitemcount,omitempty"` // Prebackupvalidation - Pre-backup validation for protectable objects Prebackupvalidation *PreBackupValidation `json:"prebackupvalidation,omitempty"` @@ -5838,7 +5918,7 @@ type AzureVMWorkloadProtectableItem struct { FriendlyName *string `json:"friendlyName,omitempty"` // ProtectionState - State of the back up item. Possible values include: 'ProtectionStatusInvalid', 'ProtectionStatusNotProtected', 'ProtectionStatusProtecting', 'ProtectionStatusProtected', 'ProtectionStatusProtectionFailed' ProtectionState ProtectionStatus `json:"protectionState,omitempty"` - // ProtectableItemType - Possible values include: 'ProtectableItemTypeWorkloadProtectableItem', 'ProtectableItemTypeAzureFileShare', 'ProtectableItemTypeMicrosoftClassicComputevirtualMachines', 'ProtectableItemTypeMicrosoftComputevirtualMachines', 'ProtectableItemTypeAzureVMWorkloadProtectableItem', 'ProtectableItemTypeSAPAseDatabase', 'ProtectableItemTypeSAPAseSystem', 'ProtectableItemTypeSAPHanaDatabase', 'ProtectableItemTypeSAPHanaSystem', 'ProtectableItemTypeSQLAvailabilityGroupContainer', 'ProtectableItemTypeSQLDataBase', 'ProtectableItemTypeSQLInstance', 'ProtectableItemTypeIaaSVMProtectableItem' + // ProtectableItemType - Possible values include: 'ProtectableItemTypeWorkloadProtectableItem', 'ProtectableItemTypeAzureFileShare', 'ProtectableItemTypeMicrosoftClassicComputevirtualMachines', 'ProtectableItemTypeMicrosoftComputevirtualMachines', 'ProtectableItemTypeAzureVMWorkloadProtectableItem', 'ProtectableItemTypeSAPAseSystem', 'ProtectableItemTypeSAPHanaDatabase', 'ProtectableItemTypeSAPHanaSystem', 'ProtectableItemTypeSQLAvailabilityGroupContainer', 'ProtectableItemTypeSQLDataBase', 'ProtectableItemTypeSQLInstance', 'ProtectableItemTypeIaaSVMProtectableItem' ProtectableItemType ProtectableItemType `json:"protectableItemType,omitempty"` } @@ -5850,10 +5930,6 @@ func unmarshalBasicAzureVMWorkloadProtectableItem(body []byte) (BasicAzureVMWork } switch m["protectableItemType"] { - case string(ProtectableItemTypeSAPAseDatabase): - var avwsadpi AzureVMWorkloadSAPAseDatabaseProtectableItem - err := json.Unmarshal(body, &avwsadpi) - return avwsadpi, err case string(ProtectableItemTypeSAPAseSystem): var avwsaspi AzureVMWorkloadSAPAseSystemProtectableItem err := json.Unmarshal(body, &avwsaspi) @@ -5974,11 +6050,6 @@ func (avwpi AzureVMWorkloadProtectableItem) AsBasicAzureVMWorkloadProtectableIte return &avwpi, true } -// AsAzureVMWorkloadSAPAseDatabaseProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadProtectableItem. -func (avwpi AzureVMWorkloadProtectableItem) AsAzureVMWorkloadSAPAseDatabaseProtectableItem() (*AzureVMWorkloadSAPAseDatabaseProtectableItem, bool) { - return nil, false -} - // AsAzureVMWorkloadSAPAseSystemProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadProtectableItem. func (avwpi AzureVMWorkloadProtectableItem) AsAzureVMWorkloadSAPAseSystemProtectableItem() (*AzureVMWorkloadSAPAseSystemProtectableItem, bool) { return nil, false @@ -6322,9 +6393,11 @@ type AzureVMWorkloadProtectionPolicy struct { Settings *Settings `json:"settings,omitempty"` // SubProtectionPolicy - List of sub-protection policies which includes schedule and retention SubProtectionPolicy *[]SubProtectionPolicy `json:"subProtectionPolicy,omitempty"` + // MakePolicyConsistent - Fix the policy inconsistency + MakePolicyConsistent *bool `json:"makePolicyConsistent,omitempty"` // ProtectedItemsCount - Number of items associated with this policy. ProtectedItemsCount *int32 `json:"protectedItemsCount,omitempty"` - // BackupManagementType - Possible values include: 'BackupManagementTypeProtectionPolicy', 'BackupManagementTypeAzureStorage', 'BackupManagementTypeAzureIaasVM', 'BackupManagementTypeAzureSQL', 'BackupManagementTypeAzureWorkload', 'BackupManagementTypeGenericProtectionPolicy', 'BackupManagementTypeMAB' + // BackupManagementType - Possible values include: 'BackupManagementTypeProtectionPolicy', 'BackupManagementTypeAzureWorkload', 'BackupManagementTypeAzureStorage', 'BackupManagementTypeAzureIaasVM', 'BackupManagementTypeAzureSQL', 'BackupManagementTypeGenericProtectionPolicy', 'BackupManagementTypeMAB' BackupManagementType ManagementTypeBasicProtectionPolicy `json:"backupManagementType,omitempty"` } @@ -6341,6 +6414,9 @@ func (avwpp AzureVMWorkloadProtectionPolicy) MarshalJSON() ([]byte, error) { if avwpp.SubProtectionPolicy != nil { objectMap["subProtectionPolicy"] = avwpp.SubProtectionPolicy } + if avwpp.MakePolicyConsistent != nil { + objectMap["makePolicyConsistent"] = avwpp.MakePolicyConsistent + } if avwpp.ProtectedItemsCount != nil { objectMap["protectedItemsCount"] = avwpp.ProtectedItemsCount } @@ -6350,6 +6426,11 @@ func (avwpp AzureVMWorkloadProtectionPolicy) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } +// AsAzureVMWorkloadProtectionPolicy is the BasicProtectionPolicy implementation for AzureVMWorkloadProtectionPolicy. +func (avwpp AzureVMWorkloadProtectionPolicy) AsAzureVMWorkloadProtectionPolicy() (*AzureVMWorkloadProtectionPolicy, bool) { + return &avwpp, true +} + // AsAzureFileShareProtectionPolicy is the BasicProtectionPolicy implementation for AzureVMWorkloadProtectionPolicy. func (avwpp AzureVMWorkloadProtectionPolicy) AsAzureFileShareProtectionPolicy() (*AzureFileShareProtectionPolicy, bool) { return nil, false @@ -6365,11 +6446,6 @@ func (avwpp AzureVMWorkloadProtectionPolicy) AsAzureSQLProtectionPolicy() (*Azur return nil, false } -// AsAzureVMWorkloadProtectionPolicy is the BasicProtectionPolicy implementation for AzureVMWorkloadProtectionPolicy. -func (avwpp AzureVMWorkloadProtectionPolicy) AsAzureVMWorkloadProtectionPolicy() (*AzureVMWorkloadProtectionPolicy, bool) { - return &avwpp, true -} - // AsGenericProtectionPolicy is the BasicProtectionPolicy implementation for AzureVMWorkloadProtectionPolicy. func (avwpp AzureVMWorkloadProtectionPolicy) AsGenericProtectionPolicy() (*GenericProtectionPolicy, bool) { return nil, false @@ -6390,164 +6466,6 @@ func (avwpp AzureVMWorkloadProtectionPolicy) AsBasicProtectionPolicy() (BasicPro return &avwpp, true } -// AzureVMWorkloadSAPAseDatabaseProtectableItem azure VM workload-specific protectable item representing -// SAP ASE Database. -type AzureVMWorkloadSAPAseDatabaseProtectableItem struct { - // ParentName - Name for instance or AG - ParentName *string `json:"parentName,omitempty"` - // ParentUniqueName - Parent Unique Name is added to provide the service formatted URI Name of the Parent - // Only Applicable for data bases where the parent would be either Instance or a SQL AG. - ParentUniqueName *string `json:"parentUniqueName,omitempty"` - // ServerName - Host/Cluster Name for instance or AG - ServerName *string `json:"serverName,omitempty"` - // IsAutoProtectable - Indicates if protectable item is auto-protectable - IsAutoProtectable *bool `json:"isAutoProtectable,omitempty"` - // IsAutoProtected - Indicates if protectable item is auto-protected - IsAutoProtected *bool `json:"isAutoProtected,omitempty"` - // Subinquireditemcount - For instance or AG, indicates number of DBs present - Subinquireditemcount *int32 `json:"subinquireditemcount,omitempty"` - // Subprotectableitemcount - For instance or AG, indicates number of DBs to be protected - Subprotectableitemcount *int32 `json:"subprotectableitemcount,omitempty"` - // Prebackupvalidation - Pre-backup validation for protectable objects - Prebackupvalidation *PreBackupValidation `json:"prebackupvalidation,omitempty"` - // BackupManagementType - Type of backup management to backup an item. - BackupManagementType *string `json:"backupManagementType,omitempty"` - // WorkloadType - Type of workload for the backup management - WorkloadType *string `json:"workloadType,omitempty"` - // FriendlyName - Friendly name of the backup item. - FriendlyName *string `json:"friendlyName,omitempty"` - // ProtectionState - State of the back up item. Possible values include: 'ProtectionStatusInvalid', 'ProtectionStatusNotProtected', 'ProtectionStatusProtecting', 'ProtectionStatusProtected', 'ProtectionStatusProtectionFailed' - ProtectionState ProtectionStatus `json:"protectionState,omitempty"` - // ProtectableItemType - Possible values include: 'ProtectableItemTypeWorkloadProtectableItem', 'ProtectableItemTypeAzureFileShare', 'ProtectableItemTypeMicrosoftClassicComputevirtualMachines', 'ProtectableItemTypeMicrosoftComputevirtualMachines', 'ProtectableItemTypeAzureVMWorkloadProtectableItem', 'ProtectableItemTypeSAPAseDatabase', 'ProtectableItemTypeSAPAseSystem', 'ProtectableItemTypeSAPHanaDatabase', 'ProtectableItemTypeSAPHanaSystem', 'ProtectableItemTypeSQLAvailabilityGroupContainer', 'ProtectableItemTypeSQLDataBase', 'ProtectableItemTypeSQLInstance', 'ProtectableItemTypeIaaSVMProtectableItem' - ProtectableItemType ProtectableItemType `json:"protectableItemType,omitempty"` -} - -// MarshalJSON is the custom marshaler for AzureVMWorkloadSAPAseDatabaseProtectableItem. -func (avwsadpi AzureVMWorkloadSAPAseDatabaseProtectableItem) MarshalJSON() ([]byte, error) { - avwsadpi.ProtectableItemType = ProtectableItemTypeSAPAseDatabase - objectMap := make(map[string]interface{}) - if avwsadpi.ParentName != nil { - objectMap["parentName"] = avwsadpi.ParentName - } - if avwsadpi.ParentUniqueName != nil { - objectMap["parentUniqueName"] = avwsadpi.ParentUniqueName - } - if avwsadpi.ServerName != nil { - objectMap["serverName"] = avwsadpi.ServerName - } - if avwsadpi.IsAutoProtectable != nil { - objectMap["isAutoProtectable"] = avwsadpi.IsAutoProtectable - } - if avwsadpi.IsAutoProtected != nil { - objectMap["isAutoProtected"] = avwsadpi.IsAutoProtected - } - if avwsadpi.Subinquireditemcount != nil { - objectMap["subinquireditemcount"] = avwsadpi.Subinquireditemcount - } - if avwsadpi.Subprotectableitemcount != nil { - objectMap["subprotectableitemcount"] = avwsadpi.Subprotectableitemcount - } - if avwsadpi.Prebackupvalidation != nil { - objectMap["prebackupvalidation"] = avwsadpi.Prebackupvalidation - } - if avwsadpi.BackupManagementType != nil { - objectMap["backupManagementType"] = avwsadpi.BackupManagementType - } - if avwsadpi.WorkloadType != nil { - objectMap["workloadType"] = avwsadpi.WorkloadType - } - if avwsadpi.FriendlyName != nil { - objectMap["friendlyName"] = avwsadpi.FriendlyName - } - if avwsadpi.ProtectionState != "" { - objectMap["protectionState"] = avwsadpi.ProtectionState - } - if avwsadpi.ProtectableItemType != "" { - objectMap["protectableItemType"] = avwsadpi.ProtectableItemType - } - return json.Marshal(objectMap) -} - -// AsAzureFileShareProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPAseDatabaseProtectableItem. -func (avwsadpi AzureVMWorkloadSAPAseDatabaseProtectableItem) AsAzureFileShareProtectableItem() (*AzureFileShareProtectableItem, bool) { - return nil, false -} - -// AsAzureIaaSClassicComputeVMProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPAseDatabaseProtectableItem. -func (avwsadpi AzureVMWorkloadSAPAseDatabaseProtectableItem) AsAzureIaaSClassicComputeVMProtectableItem() (*AzureIaaSClassicComputeVMProtectableItem, bool) { - return nil, false -} - -// AsAzureIaaSComputeVMProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPAseDatabaseProtectableItem. -func (avwsadpi AzureVMWorkloadSAPAseDatabaseProtectableItem) AsAzureIaaSComputeVMProtectableItem() (*AzureIaaSComputeVMProtectableItem, bool) { - return nil, false -} - -// AsAzureVMWorkloadProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPAseDatabaseProtectableItem. -func (avwsadpi AzureVMWorkloadSAPAseDatabaseProtectableItem) AsAzureVMWorkloadProtectableItem() (*AzureVMWorkloadProtectableItem, bool) { - return nil, false -} - -// AsBasicAzureVMWorkloadProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPAseDatabaseProtectableItem. -func (avwsadpi AzureVMWorkloadSAPAseDatabaseProtectableItem) AsBasicAzureVMWorkloadProtectableItem() (BasicAzureVMWorkloadProtectableItem, bool) { - return &avwsadpi, true -} - -// AsAzureVMWorkloadSAPAseDatabaseProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPAseDatabaseProtectableItem. -func (avwsadpi AzureVMWorkloadSAPAseDatabaseProtectableItem) AsAzureVMWorkloadSAPAseDatabaseProtectableItem() (*AzureVMWorkloadSAPAseDatabaseProtectableItem, bool) { - return &avwsadpi, true -} - -// AsAzureVMWorkloadSAPAseSystemProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPAseDatabaseProtectableItem. -func (avwsadpi AzureVMWorkloadSAPAseDatabaseProtectableItem) AsAzureVMWorkloadSAPAseSystemProtectableItem() (*AzureVMWorkloadSAPAseSystemProtectableItem, bool) { - return nil, false -} - -// AsAzureVMWorkloadSAPHanaDatabaseProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPAseDatabaseProtectableItem. -func (avwsadpi AzureVMWorkloadSAPAseDatabaseProtectableItem) AsAzureVMWorkloadSAPHanaDatabaseProtectableItem() (*AzureVMWorkloadSAPHanaDatabaseProtectableItem, bool) { - return nil, false -} - -// AsAzureVMWorkloadSAPHanaSystemProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPAseDatabaseProtectableItem. -func (avwsadpi AzureVMWorkloadSAPAseDatabaseProtectableItem) AsAzureVMWorkloadSAPHanaSystemProtectableItem() (*AzureVMWorkloadSAPHanaSystemProtectableItem, bool) { - return nil, false -} - -// AsAzureVMWorkloadSQLAvailabilityGroupProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPAseDatabaseProtectableItem. -func (avwsadpi AzureVMWorkloadSAPAseDatabaseProtectableItem) AsAzureVMWorkloadSQLAvailabilityGroupProtectableItem() (*AzureVMWorkloadSQLAvailabilityGroupProtectableItem, bool) { - return nil, false -} - -// AsAzureVMWorkloadSQLDatabaseProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPAseDatabaseProtectableItem. -func (avwsadpi AzureVMWorkloadSAPAseDatabaseProtectableItem) AsAzureVMWorkloadSQLDatabaseProtectableItem() (*AzureVMWorkloadSQLDatabaseProtectableItem, bool) { - return nil, false -} - -// AsAzureVMWorkloadSQLInstanceProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPAseDatabaseProtectableItem. -func (avwsadpi AzureVMWorkloadSAPAseDatabaseProtectableItem) AsAzureVMWorkloadSQLInstanceProtectableItem() (*AzureVMWorkloadSQLInstanceProtectableItem, bool) { - return nil, false -} - -// AsIaaSVMProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPAseDatabaseProtectableItem. -func (avwsadpi AzureVMWorkloadSAPAseDatabaseProtectableItem) AsIaaSVMProtectableItem() (*IaaSVMProtectableItem, bool) { - return nil, false -} - -// AsBasicIaaSVMProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPAseDatabaseProtectableItem. -func (avwsadpi AzureVMWorkloadSAPAseDatabaseProtectableItem) AsBasicIaaSVMProtectableItem() (BasicIaaSVMProtectableItem, bool) { - return nil, false -} - -// AsWorkloadProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPAseDatabaseProtectableItem. -func (avwsadpi AzureVMWorkloadSAPAseDatabaseProtectableItem) AsWorkloadProtectableItem() (*WorkloadProtectableItem, bool) { - return nil, false -} - -// AsBasicWorkloadProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPAseDatabaseProtectableItem. -func (avwsadpi AzureVMWorkloadSAPAseDatabaseProtectableItem) AsBasicWorkloadProtectableItem() (BasicWorkloadProtectableItem, bool) { - return &avwsadpi, true -} - // AzureVMWorkloadSAPAseDatabaseProtectedItem azure VM workload-specific protected item representing SAP // ASE Database. type AzureVMWorkloadSAPAseDatabaseProtectedItem struct { @@ -6779,9 +6697,9 @@ type AzureVMWorkloadSAPAseDatabaseWorkloadItem struct { ServerName *string `json:"serverName,omitempty"` // IsAutoProtectable - Indicates if workload item is auto-protectable IsAutoProtectable *bool `json:"isAutoProtectable,omitempty"` - // Subinquireditemcount - For instance or AG, indicates number of DBs present + // Subinquireditemcount - For instance or AG, indicates number of DB's present Subinquireditemcount *int32 `json:"subinquireditemcount,omitempty"` - // SubWorkloadItemCount - For instance or AG, indicates number of DBs to be protected + // SubWorkloadItemCount - For instance or AG, indicates number of DB's to be protected SubWorkloadItemCount *int32 `json:"subWorkloadItemCount,omitempty"` // BackupManagementType - Type of backup management to backup an item. BackupManagementType *string `json:"backupManagementType,omitempty"` @@ -6896,9 +6814,9 @@ type AzureVMWorkloadSAPAseSystemProtectableItem struct { IsAutoProtectable *bool `json:"isAutoProtectable,omitempty"` // IsAutoProtected - Indicates if protectable item is auto-protected IsAutoProtected *bool `json:"isAutoProtected,omitempty"` - // Subinquireditemcount - For instance or AG, indicates number of DBs present + // Subinquireditemcount - For instance or AG, indicates number of DB's present Subinquireditemcount *int32 `json:"subinquireditemcount,omitempty"` - // Subprotectableitemcount - For instance or AG, indicates number of DBs to be protected + // Subprotectableitemcount - For instance or AG, indicates number of DB's to be protected Subprotectableitemcount *int32 `json:"subprotectableitemcount,omitempty"` // Prebackupvalidation - Pre-backup validation for protectable objects Prebackupvalidation *PreBackupValidation `json:"prebackupvalidation,omitempty"` @@ -6910,7 +6828,7 @@ type AzureVMWorkloadSAPAseSystemProtectableItem struct { FriendlyName *string `json:"friendlyName,omitempty"` // ProtectionState - State of the back up item. Possible values include: 'ProtectionStatusInvalid', 'ProtectionStatusNotProtected', 'ProtectionStatusProtecting', 'ProtectionStatusProtected', 'ProtectionStatusProtectionFailed' ProtectionState ProtectionStatus `json:"protectionState,omitempty"` - // ProtectableItemType - Possible values include: 'ProtectableItemTypeWorkloadProtectableItem', 'ProtectableItemTypeAzureFileShare', 'ProtectableItemTypeMicrosoftClassicComputevirtualMachines', 'ProtectableItemTypeMicrosoftComputevirtualMachines', 'ProtectableItemTypeAzureVMWorkloadProtectableItem', 'ProtectableItemTypeSAPAseDatabase', 'ProtectableItemTypeSAPAseSystem', 'ProtectableItemTypeSAPHanaDatabase', 'ProtectableItemTypeSAPHanaSystem', 'ProtectableItemTypeSQLAvailabilityGroupContainer', 'ProtectableItemTypeSQLDataBase', 'ProtectableItemTypeSQLInstance', 'ProtectableItemTypeIaaSVMProtectableItem' + // ProtectableItemType - Possible values include: 'ProtectableItemTypeWorkloadProtectableItem', 'ProtectableItemTypeAzureFileShare', 'ProtectableItemTypeMicrosoftClassicComputevirtualMachines', 'ProtectableItemTypeMicrosoftComputevirtualMachines', 'ProtectableItemTypeAzureVMWorkloadProtectableItem', 'ProtectableItemTypeSAPAseSystem', 'ProtectableItemTypeSAPHanaDatabase', 'ProtectableItemTypeSAPHanaSystem', 'ProtectableItemTypeSQLAvailabilityGroupContainer', 'ProtectableItemTypeSQLDataBase', 'ProtectableItemTypeSQLInstance', 'ProtectableItemTypeIaaSVMProtectableItem' ProtectableItemType ProtectableItemType `json:"protectableItemType,omitempty"` } @@ -6985,11 +6903,6 @@ func (avwsaspi AzureVMWorkloadSAPAseSystemProtectableItem) AsBasicAzureVMWorkloa return &avwsaspi, true } -// AsAzureVMWorkloadSAPAseDatabaseProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPAseSystemProtectableItem. -func (avwsaspi AzureVMWorkloadSAPAseSystemProtectableItem) AsAzureVMWorkloadSAPAseDatabaseProtectableItem() (*AzureVMWorkloadSAPAseDatabaseProtectableItem, bool) { - return nil, false -} - // AsAzureVMWorkloadSAPAseSystemProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPAseSystemProtectableItem. func (avwsaspi AzureVMWorkloadSAPAseSystemProtectableItem) AsAzureVMWorkloadSAPAseSystemProtectableItem() (*AzureVMWorkloadSAPAseSystemProtectableItem, bool) { return &avwsaspi, true @@ -7049,9 +6962,9 @@ type AzureVMWorkloadSAPAseSystemWorkloadItem struct { ServerName *string `json:"serverName,omitempty"` // IsAutoProtectable - Indicates if workload item is auto-protectable IsAutoProtectable *bool `json:"isAutoProtectable,omitempty"` - // Subinquireditemcount - For instance or AG, indicates number of DBs present + // Subinquireditemcount - For instance or AG, indicates number of DB's present Subinquireditemcount *int32 `json:"subinquireditemcount,omitempty"` - // SubWorkloadItemCount - For instance or AG, indicates number of DBs to be protected + // SubWorkloadItemCount - For instance or AG, indicates number of DB's to be protected SubWorkloadItemCount *int32 `json:"subWorkloadItemCount,omitempty"` // BackupManagementType - Type of backup management to backup an item. BackupManagementType *string `json:"backupManagementType,omitempty"` @@ -7166,9 +7079,9 @@ type AzureVMWorkloadSAPHanaDatabaseProtectableItem struct { IsAutoProtectable *bool `json:"isAutoProtectable,omitempty"` // IsAutoProtected - Indicates if protectable item is auto-protected IsAutoProtected *bool `json:"isAutoProtected,omitempty"` - // Subinquireditemcount - For instance or AG, indicates number of DBs present + // Subinquireditemcount - For instance or AG, indicates number of DB's present Subinquireditemcount *int32 `json:"subinquireditemcount,omitempty"` - // Subprotectableitemcount - For instance or AG, indicates number of DBs to be protected + // Subprotectableitemcount - For instance or AG, indicates number of DB's to be protected Subprotectableitemcount *int32 `json:"subprotectableitemcount,omitempty"` // Prebackupvalidation - Pre-backup validation for protectable objects Prebackupvalidation *PreBackupValidation `json:"prebackupvalidation,omitempty"` @@ -7180,7 +7093,7 @@ type AzureVMWorkloadSAPHanaDatabaseProtectableItem struct { FriendlyName *string `json:"friendlyName,omitempty"` // ProtectionState - State of the back up item. Possible values include: 'ProtectionStatusInvalid', 'ProtectionStatusNotProtected', 'ProtectionStatusProtecting', 'ProtectionStatusProtected', 'ProtectionStatusProtectionFailed' ProtectionState ProtectionStatus `json:"protectionState,omitempty"` - // ProtectableItemType - Possible values include: 'ProtectableItemTypeWorkloadProtectableItem', 'ProtectableItemTypeAzureFileShare', 'ProtectableItemTypeMicrosoftClassicComputevirtualMachines', 'ProtectableItemTypeMicrosoftComputevirtualMachines', 'ProtectableItemTypeAzureVMWorkloadProtectableItem', 'ProtectableItemTypeSAPAseDatabase', 'ProtectableItemTypeSAPAseSystem', 'ProtectableItemTypeSAPHanaDatabase', 'ProtectableItemTypeSAPHanaSystem', 'ProtectableItemTypeSQLAvailabilityGroupContainer', 'ProtectableItemTypeSQLDataBase', 'ProtectableItemTypeSQLInstance', 'ProtectableItemTypeIaaSVMProtectableItem' + // ProtectableItemType - Possible values include: 'ProtectableItemTypeWorkloadProtectableItem', 'ProtectableItemTypeAzureFileShare', 'ProtectableItemTypeMicrosoftClassicComputevirtualMachines', 'ProtectableItemTypeMicrosoftComputevirtualMachines', 'ProtectableItemTypeAzureVMWorkloadProtectableItem', 'ProtectableItemTypeSAPAseSystem', 'ProtectableItemTypeSAPHanaDatabase', 'ProtectableItemTypeSAPHanaSystem', 'ProtectableItemTypeSQLAvailabilityGroupContainer', 'ProtectableItemTypeSQLDataBase', 'ProtectableItemTypeSQLInstance', 'ProtectableItemTypeIaaSVMProtectableItem' ProtectableItemType ProtectableItemType `json:"protectableItemType,omitempty"` } @@ -7255,11 +7168,6 @@ func (avwshdpi AzureVMWorkloadSAPHanaDatabaseProtectableItem) AsBasicAzureVMWork return &avwshdpi, true } -// AsAzureVMWorkloadSAPAseDatabaseProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPHanaDatabaseProtectableItem. -func (avwshdpi AzureVMWorkloadSAPHanaDatabaseProtectableItem) AsAzureVMWorkloadSAPAseDatabaseProtectableItem() (*AzureVMWorkloadSAPAseDatabaseProtectableItem, bool) { - return nil, false -} - // AsAzureVMWorkloadSAPAseSystemProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPHanaDatabaseProtectableItem. func (avwshdpi AzureVMWorkloadSAPHanaDatabaseProtectableItem) AsAzureVMWorkloadSAPAseSystemProtectableItem() (*AzureVMWorkloadSAPAseSystemProtectableItem, bool) { return nil, false @@ -7541,9 +7449,9 @@ type AzureVMWorkloadSAPHanaDatabaseWorkloadItem struct { ServerName *string `json:"serverName,omitempty"` // IsAutoProtectable - Indicates if workload item is auto-protectable IsAutoProtectable *bool `json:"isAutoProtectable,omitempty"` - // Subinquireditemcount - For instance or AG, indicates number of DBs present + // Subinquireditemcount - For instance or AG, indicates number of DB's present Subinquireditemcount *int32 `json:"subinquireditemcount,omitempty"` - // SubWorkloadItemCount - For instance or AG, indicates number of DBs to be protected + // SubWorkloadItemCount - For instance or AG, indicates number of DB's to be protected SubWorkloadItemCount *int32 `json:"subWorkloadItemCount,omitempty"` // BackupManagementType - Type of backup management to backup an item. BackupManagementType *string `json:"backupManagementType,omitempty"` @@ -7658,9 +7566,9 @@ type AzureVMWorkloadSAPHanaSystemProtectableItem struct { IsAutoProtectable *bool `json:"isAutoProtectable,omitempty"` // IsAutoProtected - Indicates if protectable item is auto-protected IsAutoProtected *bool `json:"isAutoProtected,omitempty"` - // Subinquireditemcount - For instance or AG, indicates number of DBs present + // Subinquireditemcount - For instance or AG, indicates number of DB's present Subinquireditemcount *int32 `json:"subinquireditemcount,omitempty"` - // Subprotectableitemcount - For instance or AG, indicates number of DBs to be protected + // Subprotectableitemcount - For instance or AG, indicates number of DB's to be protected Subprotectableitemcount *int32 `json:"subprotectableitemcount,omitempty"` // Prebackupvalidation - Pre-backup validation for protectable objects Prebackupvalidation *PreBackupValidation `json:"prebackupvalidation,omitempty"` @@ -7672,7 +7580,7 @@ type AzureVMWorkloadSAPHanaSystemProtectableItem struct { FriendlyName *string `json:"friendlyName,omitempty"` // ProtectionState - State of the back up item. Possible values include: 'ProtectionStatusInvalid', 'ProtectionStatusNotProtected', 'ProtectionStatusProtecting', 'ProtectionStatusProtected', 'ProtectionStatusProtectionFailed' ProtectionState ProtectionStatus `json:"protectionState,omitempty"` - // ProtectableItemType - Possible values include: 'ProtectableItemTypeWorkloadProtectableItem', 'ProtectableItemTypeAzureFileShare', 'ProtectableItemTypeMicrosoftClassicComputevirtualMachines', 'ProtectableItemTypeMicrosoftComputevirtualMachines', 'ProtectableItemTypeAzureVMWorkloadProtectableItem', 'ProtectableItemTypeSAPAseDatabase', 'ProtectableItemTypeSAPAseSystem', 'ProtectableItemTypeSAPHanaDatabase', 'ProtectableItemTypeSAPHanaSystem', 'ProtectableItemTypeSQLAvailabilityGroupContainer', 'ProtectableItemTypeSQLDataBase', 'ProtectableItemTypeSQLInstance', 'ProtectableItemTypeIaaSVMProtectableItem' + // ProtectableItemType - Possible values include: 'ProtectableItemTypeWorkloadProtectableItem', 'ProtectableItemTypeAzureFileShare', 'ProtectableItemTypeMicrosoftClassicComputevirtualMachines', 'ProtectableItemTypeMicrosoftComputevirtualMachines', 'ProtectableItemTypeAzureVMWorkloadProtectableItem', 'ProtectableItemTypeSAPAseSystem', 'ProtectableItemTypeSAPHanaDatabase', 'ProtectableItemTypeSAPHanaSystem', 'ProtectableItemTypeSQLAvailabilityGroupContainer', 'ProtectableItemTypeSQLDataBase', 'ProtectableItemTypeSQLInstance', 'ProtectableItemTypeIaaSVMProtectableItem' ProtectableItemType ProtectableItemType `json:"protectableItemType,omitempty"` } @@ -7747,11 +7655,6 @@ func (avwshspi AzureVMWorkloadSAPHanaSystemProtectableItem) AsBasicAzureVMWorklo return &avwshspi, true } -// AsAzureVMWorkloadSAPAseDatabaseProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPHanaSystemProtectableItem. -func (avwshspi AzureVMWorkloadSAPHanaSystemProtectableItem) AsAzureVMWorkloadSAPAseDatabaseProtectableItem() (*AzureVMWorkloadSAPAseDatabaseProtectableItem, bool) { - return nil, false -} - // AsAzureVMWorkloadSAPAseSystemProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSAPHanaSystemProtectableItem. func (avwshspi AzureVMWorkloadSAPHanaSystemProtectableItem) AsAzureVMWorkloadSAPAseSystemProtectableItem() (*AzureVMWorkloadSAPAseSystemProtectableItem, bool) { return nil, false @@ -7811,9 +7714,9 @@ type AzureVMWorkloadSAPHanaSystemWorkloadItem struct { ServerName *string `json:"serverName,omitempty"` // IsAutoProtectable - Indicates if workload item is auto-protectable IsAutoProtectable *bool `json:"isAutoProtectable,omitempty"` - // Subinquireditemcount - For instance or AG, indicates number of DBs present + // Subinquireditemcount - For instance or AG, indicates number of DB's present Subinquireditemcount *int32 `json:"subinquireditemcount,omitempty"` - // SubWorkloadItemCount - For instance or AG, indicates number of DBs to be protected + // SubWorkloadItemCount - For instance or AG, indicates number of DB's to be protected SubWorkloadItemCount *int32 `json:"subWorkloadItemCount,omitempty"` // BackupManagementType - Type of backup management to backup an item. BackupManagementType *string `json:"backupManagementType,omitempty"` @@ -7928,9 +7831,9 @@ type AzureVMWorkloadSQLAvailabilityGroupProtectableItem struct { IsAutoProtectable *bool `json:"isAutoProtectable,omitempty"` // IsAutoProtected - Indicates if protectable item is auto-protected IsAutoProtected *bool `json:"isAutoProtected,omitempty"` - // Subinquireditemcount - For instance or AG, indicates number of DBs present + // Subinquireditemcount - For instance or AG, indicates number of DB's present Subinquireditemcount *int32 `json:"subinquireditemcount,omitempty"` - // Subprotectableitemcount - For instance or AG, indicates number of DBs to be protected + // Subprotectableitemcount - For instance or AG, indicates number of DB's to be protected Subprotectableitemcount *int32 `json:"subprotectableitemcount,omitempty"` // Prebackupvalidation - Pre-backup validation for protectable objects Prebackupvalidation *PreBackupValidation `json:"prebackupvalidation,omitempty"` @@ -7942,7 +7845,7 @@ type AzureVMWorkloadSQLAvailabilityGroupProtectableItem struct { FriendlyName *string `json:"friendlyName,omitempty"` // ProtectionState - State of the back up item. Possible values include: 'ProtectionStatusInvalid', 'ProtectionStatusNotProtected', 'ProtectionStatusProtecting', 'ProtectionStatusProtected', 'ProtectionStatusProtectionFailed' ProtectionState ProtectionStatus `json:"protectionState,omitempty"` - // ProtectableItemType - Possible values include: 'ProtectableItemTypeWorkloadProtectableItem', 'ProtectableItemTypeAzureFileShare', 'ProtectableItemTypeMicrosoftClassicComputevirtualMachines', 'ProtectableItemTypeMicrosoftComputevirtualMachines', 'ProtectableItemTypeAzureVMWorkloadProtectableItem', 'ProtectableItemTypeSAPAseDatabase', 'ProtectableItemTypeSAPAseSystem', 'ProtectableItemTypeSAPHanaDatabase', 'ProtectableItemTypeSAPHanaSystem', 'ProtectableItemTypeSQLAvailabilityGroupContainer', 'ProtectableItemTypeSQLDataBase', 'ProtectableItemTypeSQLInstance', 'ProtectableItemTypeIaaSVMProtectableItem' + // ProtectableItemType - Possible values include: 'ProtectableItemTypeWorkloadProtectableItem', 'ProtectableItemTypeAzureFileShare', 'ProtectableItemTypeMicrosoftClassicComputevirtualMachines', 'ProtectableItemTypeMicrosoftComputevirtualMachines', 'ProtectableItemTypeAzureVMWorkloadProtectableItem', 'ProtectableItemTypeSAPAseSystem', 'ProtectableItemTypeSAPHanaDatabase', 'ProtectableItemTypeSAPHanaSystem', 'ProtectableItemTypeSQLAvailabilityGroupContainer', 'ProtectableItemTypeSQLDataBase', 'ProtectableItemTypeSQLInstance', 'ProtectableItemTypeIaaSVMProtectableItem' ProtectableItemType ProtectableItemType `json:"protectableItemType,omitempty"` } @@ -8017,11 +7920,6 @@ func (avwsagpi AzureVMWorkloadSQLAvailabilityGroupProtectableItem) AsBasicAzureV return &avwsagpi, true } -// AsAzureVMWorkloadSAPAseDatabaseProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSQLAvailabilityGroupProtectableItem. -func (avwsagpi AzureVMWorkloadSQLAvailabilityGroupProtectableItem) AsAzureVMWorkloadSAPAseDatabaseProtectableItem() (*AzureVMWorkloadSAPAseDatabaseProtectableItem, bool) { - return nil, false -} - // AsAzureVMWorkloadSAPAseSystemProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSQLAvailabilityGroupProtectableItem. func (avwsagpi AzureVMWorkloadSQLAvailabilityGroupProtectableItem) AsAzureVMWorkloadSAPAseSystemProtectableItem() (*AzureVMWorkloadSAPAseSystemProtectableItem, bool) { return nil, false @@ -8086,9 +7984,9 @@ type AzureVMWorkloadSQLDatabaseProtectableItem struct { IsAutoProtectable *bool `json:"isAutoProtectable,omitempty"` // IsAutoProtected - Indicates if protectable item is auto-protected IsAutoProtected *bool `json:"isAutoProtected,omitempty"` - // Subinquireditemcount - For instance or AG, indicates number of DBs present + // Subinquireditemcount - For instance or AG, indicates number of DB's present Subinquireditemcount *int32 `json:"subinquireditemcount,omitempty"` - // Subprotectableitemcount - For instance or AG, indicates number of DBs to be protected + // Subprotectableitemcount - For instance or AG, indicates number of DB's to be protected Subprotectableitemcount *int32 `json:"subprotectableitemcount,omitempty"` // Prebackupvalidation - Pre-backup validation for protectable objects Prebackupvalidation *PreBackupValidation `json:"prebackupvalidation,omitempty"` @@ -8100,7 +7998,7 @@ type AzureVMWorkloadSQLDatabaseProtectableItem struct { FriendlyName *string `json:"friendlyName,omitempty"` // ProtectionState - State of the back up item. Possible values include: 'ProtectionStatusInvalid', 'ProtectionStatusNotProtected', 'ProtectionStatusProtecting', 'ProtectionStatusProtected', 'ProtectionStatusProtectionFailed' ProtectionState ProtectionStatus `json:"protectionState,omitempty"` - // ProtectableItemType - Possible values include: 'ProtectableItemTypeWorkloadProtectableItem', 'ProtectableItemTypeAzureFileShare', 'ProtectableItemTypeMicrosoftClassicComputevirtualMachines', 'ProtectableItemTypeMicrosoftComputevirtualMachines', 'ProtectableItemTypeAzureVMWorkloadProtectableItem', 'ProtectableItemTypeSAPAseDatabase', 'ProtectableItemTypeSAPAseSystem', 'ProtectableItemTypeSAPHanaDatabase', 'ProtectableItemTypeSAPHanaSystem', 'ProtectableItemTypeSQLAvailabilityGroupContainer', 'ProtectableItemTypeSQLDataBase', 'ProtectableItemTypeSQLInstance', 'ProtectableItemTypeIaaSVMProtectableItem' + // ProtectableItemType - Possible values include: 'ProtectableItemTypeWorkloadProtectableItem', 'ProtectableItemTypeAzureFileShare', 'ProtectableItemTypeMicrosoftClassicComputevirtualMachines', 'ProtectableItemTypeMicrosoftComputevirtualMachines', 'ProtectableItemTypeAzureVMWorkloadProtectableItem', 'ProtectableItemTypeSAPAseSystem', 'ProtectableItemTypeSAPHanaDatabase', 'ProtectableItemTypeSAPHanaSystem', 'ProtectableItemTypeSQLAvailabilityGroupContainer', 'ProtectableItemTypeSQLDataBase', 'ProtectableItemTypeSQLInstance', 'ProtectableItemTypeIaaSVMProtectableItem' ProtectableItemType ProtectableItemType `json:"protectableItemType,omitempty"` } @@ -8175,11 +8073,6 @@ func (avwsdpi AzureVMWorkloadSQLDatabaseProtectableItem) AsBasicAzureVMWorkloadP return &avwsdpi, true } -// AsAzureVMWorkloadSAPAseDatabaseProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSQLDatabaseProtectableItem. -func (avwsdpi AzureVMWorkloadSQLDatabaseProtectableItem) AsAzureVMWorkloadSAPAseDatabaseProtectableItem() (*AzureVMWorkloadSAPAseDatabaseProtectableItem, bool) { - return nil, false -} - // AsAzureVMWorkloadSAPAseSystemProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSQLDatabaseProtectableItem. func (avwsdpi AzureVMWorkloadSQLDatabaseProtectableItem) AsAzureVMWorkloadSAPAseSystemProtectableItem() (*AzureVMWorkloadSAPAseSystemProtectableItem, bool) { return nil, false @@ -8461,9 +8354,9 @@ type AzureVMWorkloadSQLDatabaseWorkloadItem struct { ServerName *string `json:"serverName,omitempty"` // IsAutoProtectable - Indicates if workload item is auto-protectable IsAutoProtectable *bool `json:"isAutoProtectable,omitempty"` - // Subinquireditemcount - For instance or AG, indicates number of DBs present + // Subinquireditemcount - For instance or AG, indicates number of DB's present Subinquireditemcount *int32 `json:"subinquireditemcount,omitempty"` - // SubWorkloadItemCount - For instance or AG, indicates number of DBs to be protected + // SubWorkloadItemCount - For instance or AG, indicates number of DB's to be protected SubWorkloadItemCount *int32 `json:"subWorkloadItemCount,omitempty"` // BackupManagementType - Type of backup management to backup an item. BackupManagementType *string `json:"backupManagementType,omitempty"` @@ -8578,9 +8471,9 @@ type AzureVMWorkloadSQLInstanceProtectableItem struct { IsAutoProtectable *bool `json:"isAutoProtectable,omitempty"` // IsAutoProtected - Indicates if protectable item is auto-protected IsAutoProtected *bool `json:"isAutoProtected,omitempty"` - // Subinquireditemcount - For instance or AG, indicates number of DBs present + // Subinquireditemcount - For instance or AG, indicates number of DB's present Subinquireditemcount *int32 `json:"subinquireditemcount,omitempty"` - // Subprotectableitemcount - For instance or AG, indicates number of DBs to be protected + // Subprotectableitemcount - For instance or AG, indicates number of DB's to be protected Subprotectableitemcount *int32 `json:"subprotectableitemcount,omitempty"` // Prebackupvalidation - Pre-backup validation for protectable objects Prebackupvalidation *PreBackupValidation `json:"prebackupvalidation,omitempty"` @@ -8592,7 +8485,7 @@ type AzureVMWorkloadSQLInstanceProtectableItem struct { FriendlyName *string `json:"friendlyName,omitempty"` // ProtectionState - State of the back up item. Possible values include: 'ProtectionStatusInvalid', 'ProtectionStatusNotProtected', 'ProtectionStatusProtecting', 'ProtectionStatusProtected', 'ProtectionStatusProtectionFailed' ProtectionState ProtectionStatus `json:"protectionState,omitempty"` - // ProtectableItemType - Possible values include: 'ProtectableItemTypeWorkloadProtectableItem', 'ProtectableItemTypeAzureFileShare', 'ProtectableItemTypeMicrosoftClassicComputevirtualMachines', 'ProtectableItemTypeMicrosoftComputevirtualMachines', 'ProtectableItemTypeAzureVMWorkloadProtectableItem', 'ProtectableItemTypeSAPAseDatabase', 'ProtectableItemTypeSAPAseSystem', 'ProtectableItemTypeSAPHanaDatabase', 'ProtectableItemTypeSAPHanaSystem', 'ProtectableItemTypeSQLAvailabilityGroupContainer', 'ProtectableItemTypeSQLDataBase', 'ProtectableItemTypeSQLInstance', 'ProtectableItemTypeIaaSVMProtectableItem' + // ProtectableItemType - Possible values include: 'ProtectableItemTypeWorkloadProtectableItem', 'ProtectableItemTypeAzureFileShare', 'ProtectableItemTypeMicrosoftClassicComputevirtualMachines', 'ProtectableItemTypeMicrosoftComputevirtualMachines', 'ProtectableItemTypeAzureVMWorkloadProtectableItem', 'ProtectableItemTypeSAPAseSystem', 'ProtectableItemTypeSAPHanaDatabase', 'ProtectableItemTypeSAPHanaSystem', 'ProtectableItemTypeSQLAvailabilityGroupContainer', 'ProtectableItemTypeSQLDataBase', 'ProtectableItemTypeSQLInstance', 'ProtectableItemTypeIaaSVMProtectableItem' ProtectableItemType ProtectableItemType `json:"protectableItemType,omitempty"` } @@ -8667,11 +8560,6 @@ func (avwsipi AzureVMWorkloadSQLInstanceProtectableItem) AsBasicAzureVMWorkloadP return &avwsipi, true } -// AsAzureVMWorkloadSAPAseDatabaseProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSQLInstanceProtectableItem. -func (avwsipi AzureVMWorkloadSQLInstanceProtectableItem) AsAzureVMWorkloadSAPAseDatabaseProtectableItem() (*AzureVMWorkloadSAPAseDatabaseProtectableItem, bool) { - return nil, false -} - // AsAzureVMWorkloadSAPAseSystemProtectableItem is the BasicWorkloadProtectableItem implementation for AzureVMWorkloadSQLInstanceProtectableItem. func (avwsipi AzureVMWorkloadSQLInstanceProtectableItem) AsAzureVMWorkloadSAPAseSystemProtectableItem() (*AzureVMWorkloadSAPAseSystemProtectableItem, bool) { return nil, false @@ -8733,9 +8621,9 @@ type AzureVMWorkloadSQLInstanceWorkloadItem struct { ServerName *string `json:"serverName,omitempty"` // IsAutoProtectable - Indicates if workload item is auto-protectable IsAutoProtectable *bool `json:"isAutoProtectable,omitempty"` - // Subinquireditemcount - For instance or AG, indicates number of DBs present + // Subinquireditemcount - For instance or AG, indicates number of DB's present Subinquireditemcount *int32 `json:"subinquireditemcount,omitempty"` - // SubWorkloadItemCount - For instance or AG, indicates number of DBs to be protected + // SubWorkloadItemCount - For instance or AG, indicates number of DB's to be protected SubWorkloadItemCount *int32 `json:"subWorkloadItemCount,omitempty"` // BackupManagementType - Type of backup management to backup an item. BackupManagementType *string `json:"backupManagementType,omitempty"` @@ -9391,9 +9279,9 @@ type BasicAzureWorkloadPointInTimeRecoveryPoint interface { type AzureWorkloadPointInTimeRecoveryPoint struct { // TimeRanges - List of log ranges TimeRanges *[]PointInTimeRange `json:"timeRanges,omitempty"` - // RecoveryPointTimeInUTC - UTC time at which recovery point was created + // RecoveryPointTimeInUTC - READ-ONLY; UTC time at which recovery point was created RecoveryPointTimeInUTC *date.Time `json:"recoveryPointTimeInUTC,omitempty"` - // Type - Type of restore point. Possible values include: 'RestorePointTypeInvalid', 'RestorePointTypeFull', 'RestorePointTypeLog', 'RestorePointTypeDifferential' + // Type - READ-ONLY; Type of restore point. Possible values include: 'RestorePointTypeInvalid', 'RestorePointTypeFull', 'RestorePointTypeLog', 'RestorePointTypeDifferential' Type RestorePointType `json:"type,omitempty"` // ObjectType - Possible values include: 'ObjectTypeRecoveryPoint', 'ObjectTypeAzureFileShareRecoveryPoint', 'ObjectTypeAzureWorkloadPointInTimeRecoveryPoint', 'ObjectTypeAzureWorkloadRecoveryPoint', 'ObjectTypeAzureWorkloadSAPHanaPointInTimeRecoveryPoint', 'ObjectTypeAzureWorkloadSAPHanaRecoveryPoint', 'ObjectTypeAzureWorkloadSQLPointInTimeRecoveryPoint', 'ObjectTypeAzureWorkloadSQLRecoveryPoint', 'ObjectTypeGenericRecoveryPoint', 'ObjectTypeIaasVMRecoveryPoint' ObjectType ObjectTypeBasicRecoveryPoint `json:"objectType,omitempty"` @@ -9443,12 +9331,6 @@ func (awpitrp AzureWorkloadPointInTimeRecoveryPoint) MarshalJSON() ([]byte, erro if awpitrp.TimeRanges != nil { objectMap["timeRanges"] = awpitrp.TimeRanges } - if awpitrp.RecoveryPointTimeInUTC != nil { - objectMap["recoveryPointTimeInUTC"] = awpitrp.RecoveryPointTimeInUTC - } - if awpitrp.Type != "" { - objectMap["type"] = awpitrp.Type - } if awpitrp.ObjectType != "" { objectMap["objectType"] = awpitrp.ObjectType } @@ -9530,7 +9412,7 @@ func (awpitrp AzureWorkloadPointInTimeRecoveryPoint) AsBasicRecoveryPoint() (Bas type AzureWorkloadPointInTimeRestoreRequest struct { // PointInTime - PointInTime value PointInTime *date.Time `json:"pointInTime,omitempty"` - // RecoveryType - OLR/ALR, RestoreDisks is invalid option. Possible values include: 'RecoveryTypeInvalid', 'RecoveryTypeOriginalLocation', 'RecoveryTypeAlternateLocation', 'RecoveryTypeRestoreDisks' + // RecoveryType - Type of this recovery. Possible values include: 'RecoveryTypeInvalid', 'RecoveryTypeOriginalLocation', 'RecoveryTypeAlternateLocation', 'RecoveryTypeRestoreDisks', 'RecoveryTypeOffline' RecoveryType RecoveryType `json:"recoveryType,omitempty"` // SourceResourceID - Fully qualified ARM ID of the VM on which workload that was running is being recovered. SourceResourceID *string `json:"sourceResourceId,omitempty"` @@ -9538,6 +9420,8 @@ type AzureWorkloadPointInTimeRestoreRequest struct { PropertyBag map[string]*string `json:"propertyBag"` // TargetInfo - Details of target database TargetInfo *TargetRestoreInfo `json:"targetInfo,omitempty"` + // RecoveryMode - Defines whether the current recovery mode is file restore or database restore. Possible values include: 'RecoveryModeInvalid', 'RecoveryModeFileRecovery', 'RecoveryModeWorkloadRecovery' + RecoveryMode RecoveryMode `json:"recoveryMode,omitempty"` // ObjectType - Possible values include: 'ObjectTypeRestoreRequest', 'ObjectTypeAzureFileShareRestoreRequest', 'ObjectTypeAzureWorkloadPointInTimeRestoreRequest', 'ObjectTypeAzureWorkloadRestoreRequest', 'ObjectTypeAzureWorkloadSAPHanaPointInTimeRestoreRequest', 'ObjectTypeAzureWorkloadSAPHanaRestoreRequest', 'ObjectTypeAzureWorkloadSQLPointInTimeRestoreRequest', 'ObjectTypeAzureWorkloadSQLRestoreRequest', 'ObjectTypeIaasVMRestoreRequest' ObjectType ObjectTypeBasicRestoreRequest `json:"objectType,omitempty"` } @@ -9561,6 +9445,9 @@ func (awpitrr AzureWorkloadPointInTimeRestoreRequest) MarshalJSON() ([]byte, err if awpitrr.TargetInfo != nil { objectMap["targetInfo"] = awpitrr.TargetInfo } + if awpitrr.RecoveryMode != "" { + objectMap["recoveryMode"] = awpitrr.RecoveryMode + } if awpitrr.ObjectType != "" { objectMap["objectType"] = awpitrr.ObjectType } @@ -9647,9 +9534,9 @@ type BasicAzureWorkloadRecoveryPoint interface { // AzureWorkloadRecoveryPoint workload specific recovery point, specifically encapsulates full/diff recovery // point type AzureWorkloadRecoveryPoint struct { - // RecoveryPointTimeInUTC - UTC time at which recovery point was created + // RecoveryPointTimeInUTC - READ-ONLY; UTC time at which recovery point was created RecoveryPointTimeInUTC *date.Time `json:"recoveryPointTimeInUTC,omitempty"` - // Type - Type of restore point. Possible values include: 'RestorePointTypeInvalid', 'RestorePointTypeFull', 'RestorePointTypeLog', 'RestorePointTypeDifferential' + // Type - READ-ONLY; Type of restore point. Possible values include: 'RestorePointTypeInvalid', 'RestorePointTypeFull', 'RestorePointTypeLog', 'RestorePointTypeDifferential' Type RestorePointType `json:"type,omitempty"` // ObjectType - Possible values include: 'ObjectTypeRecoveryPoint', 'ObjectTypeAzureFileShareRecoveryPoint', 'ObjectTypeAzureWorkloadPointInTimeRecoveryPoint', 'ObjectTypeAzureWorkloadRecoveryPoint', 'ObjectTypeAzureWorkloadSAPHanaPointInTimeRecoveryPoint', 'ObjectTypeAzureWorkloadSAPHanaRecoveryPoint', 'ObjectTypeAzureWorkloadSQLPointInTimeRecoveryPoint', 'ObjectTypeAzureWorkloadSQLRecoveryPoint', 'ObjectTypeGenericRecoveryPoint', 'ObjectTypeIaasVMRecoveryPoint' ObjectType ObjectTypeBasicRecoveryPoint `json:"objectType,omitempty"` @@ -9712,12 +9599,6 @@ func unmarshalBasicAzureWorkloadRecoveryPointArray(body []byte) ([]BasicAzureWor func (awrp AzureWorkloadRecoveryPoint) MarshalJSON() ([]byte, error) { awrp.ObjectType = ObjectTypeAzureWorkloadRecoveryPoint objectMap := make(map[string]interface{}) - if awrp.RecoveryPointTimeInUTC != nil { - objectMap["recoveryPointTimeInUTC"] = awrp.RecoveryPointTimeInUTC - } - if awrp.Type != "" { - objectMap["type"] = awrp.Type - } if awrp.ObjectType != "" { objectMap["objectType"] = awrp.ObjectType } @@ -9808,7 +9689,7 @@ type BasicAzureWorkloadRestoreRequest interface { // AzureWorkloadRestoreRequest azureWorkload-specific restore. type AzureWorkloadRestoreRequest struct { - // RecoveryType - OLR/ALR, RestoreDisks is invalid option. Possible values include: 'RecoveryTypeInvalid', 'RecoveryTypeOriginalLocation', 'RecoveryTypeAlternateLocation', 'RecoveryTypeRestoreDisks' + // RecoveryType - Type of this recovery. Possible values include: 'RecoveryTypeInvalid', 'RecoveryTypeOriginalLocation', 'RecoveryTypeAlternateLocation', 'RecoveryTypeRestoreDisks', 'RecoveryTypeOffline' RecoveryType RecoveryType `json:"recoveryType,omitempty"` // SourceResourceID - Fully qualified ARM ID of the VM on which workload that was running is being recovered. SourceResourceID *string `json:"sourceResourceId,omitempty"` @@ -9816,6 +9697,8 @@ type AzureWorkloadRestoreRequest struct { PropertyBag map[string]*string `json:"propertyBag"` // TargetInfo - Details of target database TargetInfo *TargetRestoreInfo `json:"targetInfo,omitempty"` + // RecoveryMode - Defines whether the current recovery mode is file restore or database restore. Possible values include: 'RecoveryModeInvalid', 'RecoveryModeFileRecovery', 'RecoveryModeWorkloadRecovery' + RecoveryMode RecoveryMode `json:"recoveryMode,omitempty"` // ObjectType - Possible values include: 'ObjectTypeRestoreRequest', 'ObjectTypeAzureFileShareRestoreRequest', 'ObjectTypeAzureWorkloadPointInTimeRestoreRequest', 'ObjectTypeAzureWorkloadRestoreRequest', 'ObjectTypeAzureWorkloadSAPHanaPointInTimeRestoreRequest', 'ObjectTypeAzureWorkloadSAPHanaRestoreRequest', 'ObjectTypeAzureWorkloadSQLPointInTimeRestoreRequest', 'ObjectTypeAzureWorkloadSQLRestoreRequest', 'ObjectTypeIaasVMRestoreRequest' ObjectType ObjectTypeBasicRestoreRequest `json:"objectType,omitempty"` } @@ -9889,6 +9772,9 @@ func (awrr AzureWorkloadRestoreRequest) MarshalJSON() ([]byte, error) { if awrr.TargetInfo != nil { objectMap["targetInfo"] = awrr.TargetInfo } + if awrr.RecoveryMode != "" { + objectMap["recoveryMode"] = awrr.RecoveryMode + } if awrr.ObjectType != "" { objectMap["objectType"] = awrr.ObjectType } @@ -9964,9 +9850,9 @@ func (awrr AzureWorkloadRestoreRequest) AsBasicRestoreRequest() (BasicRestoreReq type AzureWorkloadSAPHanaPointInTimeRecoveryPoint struct { // TimeRanges - List of log ranges TimeRanges *[]PointInTimeRange `json:"timeRanges,omitempty"` - // RecoveryPointTimeInUTC - UTC time at which recovery point was created + // RecoveryPointTimeInUTC - READ-ONLY; UTC time at which recovery point was created RecoveryPointTimeInUTC *date.Time `json:"recoveryPointTimeInUTC,omitempty"` - // Type - Type of restore point. Possible values include: 'RestorePointTypeInvalid', 'RestorePointTypeFull', 'RestorePointTypeLog', 'RestorePointTypeDifferential' + // Type - READ-ONLY; Type of restore point. Possible values include: 'RestorePointTypeInvalid', 'RestorePointTypeFull', 'RestorePointTypeLog', 'RestorePointTypeDifferential' Type RestorePointType `json:"type,omitempty"` // ObjectType - Possible values include: 'ObjectTypeRecoveryPoint', 'ObjectTypeAzureFileShareRecoveryPoint', 'ObjectTypeAzureWorkloadPointInTimeRecoveryPoint', 'ObjectTypeAzureWorkloadRecoveryPoint', 'ObjectTypeAzureWorkloadSAPHanaPointInTimeRecoveryPoint', 'ObjectTypeAzureWorkloadSAPHanaRecoveryPoint', 'ObjectTypeAzureWorkloadSQLPointInTimeRecoveryPoint', 'ObjectTypeAzureWorkloadSQLRecoveryPoint', 'ObjectTypeGenericRecoveryPoint', 'ObjectTypeIaasVMRecoveryPoint' ObjectType ObjectTypeBasicRecoveryPoint `json:"objectType,omitempty"` @@ -9979,12 +9865,6 @@ func (awshpitrp AzureWorkloadSAPHanaPointInTimeRecoveryPoint) MarshalJSON() ([]b if awshpitrp.TimeRanges != nil { objectMap["timeRanges"] = awshpitrp.TimeRanges } - if awshpitrp.RecoveryPointTimeInUTC != nil { - objectMap["recoveryPointTimeInUTC"] = awshpitrp.RecoveryPointTimeInUTC - } - if awshpitrp.Type != "" { - objectMap["type"] = awshpitrp.Type - } if awshpitrp.ObjectType != "" { objectMap["objectType"] = awshpitrp.ObjectType } @@ -10066,7 +9946,7 @@ func (awshpitrp AzureWorkloadSAPHanaPointInTimeRecoveryPoint) AsBasicRecoveryPoi type AzureWorkloadSAPHanaPointInTimeRestoreRequest struct { // PointInTime - PointInTime value PointInTime *date.Time `json:"pointInTime,omitempty"` - // RecoveryType - OLR/ALR, RestoreDisks is invalid option. Possible values include: 'RecoveryTypeInvalid', 'RecoveryTypeOriginalLocation', 'RecoveryTypeAlternateLocation', 'RecoveryTypeRestoreDisks' + // RecoveryType - Type of this recovery. Possible values include: 'RecoveryTypeInvalid', 'RecoveryTypeOriginalLocation', 'RecoveryTypeAlternateLocation', 'RecoveryTypeRestoreDisks', 'RecoveryTypeOffline' RecoveryType RecoveryType `json:"recoveryType,omitempty"` // SourceResourceID - Fully qualified ARM ID of the VM on which workload that was running is being recovered. SourceResourceID *string `json:"sourceResourceId,omitempty"` @@ -10074,6 +9954,8 @@ type AzureWorkloadSAPHanaPointInTimeRestoreRequest struct { PropertyBag map[string]*string `json:"propertyBag"` // TargetInfo - Details of target database TargetInfo *TargetRestoreInfo `json:"targetInfo,omitempty"` + // RecoveryMode - Defines whether the current recovery mode is file restore or database restore. Possible values include: 'RecoveryModeInvalid', 'RecoveryModeFileRecovery', 'RecoveryModeWorkloadRecovery' + RecoveryMode RecoveryMode `json:"recoveryMode,omitempty"` // ObjectType - Possible values include: 'ObjectTypeRestoreRequest', 'ObjectTypeAzureFileShareRestoreRequest', 'ObjectTypeAzureWorkloadPointInTimeRestoreRequest', 'ObjectTypeAzureWorkloadRestoreRequest', 'ObjectTypeAzureWorkloadSAPHanaPointInTimeRestoreRequest', 'ObjectTypeAzureWorkloadSAPHanaRestoreRequest', 'ObjectTypeAzureWorkloadSQLPointInTimeRestoreRequest', 'ObjectTypeAzureWorkloadSQLRestoreRequest', 'ObjectTypeIaasVMRestoreRequest' ObjectType ObjectTypeBasicRestoreRequest `json:"objectType,omitempty"` } @@ -10097,6 +9979,9 @@ func (awshpitrr AzureWorkloadSAPHanaPointInTimeRestoreRequest) MarshalJSON() ([] if awshpitrr.TargetInfo != nil { objectMap["targetInfo"] = awshpitrr.TargetInfo } + if awshpitrr.RecoveryMode != "" { + objectMap["recoveryMode"] = awshpitrr.RecoveryMode + } if awshpitrr.ObjectType != "" { objectMap["objectType"] = awshpitrr.ObjectType } @@ -10168,12 +10053,12 @@ func (awshpitrr AzureWorkloadSAPHanaPointInTimeRestoreRequest) AsBasicRestoreReq return &awshpitrr, true } -// AzureWorkloadSAPHanaRecoveryPoint sAPHana specific recovery point, specifically encapsulates full/diff -// recovery points +// AzureWorkloadSAPHanaRecoveryPoint sAPHana specific recoverypoint, specifically encapsulates full/diff +// recoverypoints type AzureWorkloadSAPHanaRecoveryPoint struct { - // RecoveryPointTimeInUTC - UTC time at which recovery point was created + // RecoveryPointTimeInUTC - READ-ONLY; UTC time at which recovery point was created RecoveryPointTimeInUTC *date.Time `json:"recoveryPointTimeInUTC,omitempty"` - // Type - Type of restore point. Possible values include: 'RestorePointTypeInvalid', 'RestorePointTypeFull', 'RestorePointTypeLog', 'RestorePointTypeDifferential' + // Type - READ-ONLY; Type of restore point. Possible values include: 'RestorePointTypeInvalid', 'RestorePointTypeFull', 'RestorePointTypeLog', 'RestorePointTypeDifferential' Type RestorePointType `json:"type,omitempty"` // ObjectType - Possible values include: 'ObjectTypeRecoveryPoint', 'ObjectTypeAzureFileShareRecoveryPoint', 'ObjectTypeAzureWorkloadPointInTimeRecoveryPoint', 'ObjectTypeAzureWorkloadRecoveryPoint', 'ObjectTypeAzureWorkloadSAPHanaPointInTimeRecoveryPoint', 'ObjectTypeAzureWorkloadSAPHanaRecoveryPoint', 'ObjectTypeAzureWorkloadSQLPointInTimeRecoveryPoint', 'ObjectTypeAzureWorkloadSQLRecoveryPoint', 'ObjectTypeGenericRecoveryPoint', 'ObjectTypeIaasVMRecoveryPoint' ObjectType ObjectTypeBasicRecoveryPoint `json:"objectType,omitempty"` @@ -10183,12 +10068,6 @@ type AzureWorkloadSAPHanaRecoveryPoint struct { func (awshrp AzureWorkloadSAPHanaRecoveryPoint) MarshalJSON() ([]byte, error) { awshrp.ObjectType = ObjectTypeAzureWorkloadSAPHanaRecoveryPoint objectMap := make(map[string]interface{}) - if awshrp.RecoveryPointTimeInUTC != nil { - objectMap["recoveryPointTimeInUTC"] = awshrp.RecoveryPointTimeInUTC - } - if awshrp.Type != "" { - objectMap["type"] = awshrp.Type - } if awshrp.ObjectType != "" { objectMap["objectType"] = awshrp.ObjectType } @@ -10273,7 +10152,7 @@ type BasicAzureWorkloadSAPHanaRestoreRequest interface { // AzureWorkloadSAPHanaRestoreRequest azureWorkload SAP Hana-specific restore. type AzureWorkloadSAPHanaRestoreRequest struct { - // RecoveryType - OLR/ALR, RestoreDisks is invalid option. Possible values include: 'RecoveryTypeInvalid', 'RecoveryTypeOriginalLocation', 'RecoveryTypeAlternateLocation', 'RecoveryTypeRestoreDisks' + // RecoveryType - Type of this recovery. Possible values include: 'RecoveryTypeInvalid', 'RecoveryTypeOriginalLocation', 'RecoveryTypeAlternateLocation', 'RecoveryTypeRestoreDisks', 'RecoveryTypeOffline' RecoveryType RecoveryType `json:"recoveryType,omitempty"` // SourceResourceID - Fully qualified ARM ID of the VM on which workload that was running is being recovered. SourceResourceID *string `json:"sourceResourceId,omitempty"` @@ -10281,6 +10160,8 @@ type AzureWorkloadSAPHanaRestoreRequest struct { PropertyBag map[string]*string `json:"propertyBag"` // TargetInfo - Details of target database TargetInfo *TargetRestoreInfo `json:"targetInfo,omitempty"` + // RecoveryMode - Defines whether the current recovery mode is file restore or database restore. Possible values include: 'RecoveryModeInvalid', 'RecoveryModeFileRecovery', 'RecoveryModeWorkloadRecovery' + RecoveryMode RecoveryMode `json:"recoveryMode,omitempty"` // ObjectType - Possible values include: 'ObjectTypeRestoreRequest', 'ObjectTypeAzureFileShareRestoreRequest', 'ObjectTypeAzureWorkloadPointInTimeRestoreRequest', 'ObjectTypeAzureWorkloadRestoreRequest', 'ObjectTypeAzureWorkloadSAPHanaPointInTimeRestoreRequest', 'ObjectTypeAzureWorkloadSAPHanaRestoreRequest', 'ObjectTypeAzureWorkloadSQLPointInTimeRestoreRequest', 'ObjectTypeAzureWorkloadSQLRestoreRequest', 'ObjectTypeIaasVMRestoreRequest' ObjectType ObjectTypeBasicRestoreRequest `json:"objectType,omitempty"` } @@ -10338,6 +10219,9 @@ func (awshrr AzureWorkloadSAPHanaRestoreRequest) MarshalJSON() ([]byte, error) { if awshrr.TargetInfo != nil { objectMap["targetInfo"] = awshrr.TargetInfo } + if awshrr.RecoveryMode != "" { + objectMap["recoveryMode"] = awshrr.RecoveryMode + } if awshrr.ObjectType != "" { objectMap["objectType"] = awshrr.ObjectType } @@ -10503,9 +10387,9 @@ type AzureWorkloadSQLPointInTimeRecoveryPoint struct { // When a specific recovery point is accessed using GetRecoveryPoint // Or when ListRecoveryPoints is called for Log RP only with ExtendedInfo query filter ExtendedInfo *AzureWorkloadSQLRecoveryPointExtendedInfo `json:"extendedInfo,omitempty"` - // RecoveryPointTimeInUTC - UTC time at which recovery point was created + // RecoveryPointTimeInUTC - READ-ONLY; UTC time at which recovery point was created RecoveryPointTimeInUTC *date.Time `json:"recoveryPointTimeInUTC,omitempty"` - // Type - Type of restore point. Possible values include: 'RestorePointTypeInvalid', 'RestorePointTypeFull', 'RestorePointTypeLog', 'RestorePointTypeDifferential' + // Type - READ-ONLY; Type of restore point. Possible values include: 'RestorePointTypeInvalid', 'RestorePointTypeFull', 'RestorePointTypeLog', 'RestorePointTypeDifferential' Type RestorePointType `json:"type,omitempty"` // ObjectType - Possible values include: 'ObjectTypeRecoveryPoint', 'ObjectTypeAzureFileShareRecoveryPoint', 'ObjectTypeAzureWorkloadPointInTimeRecoveryPoint', 'ObjectTypeAzureWorkloadRecoveryPoint', 'ObjectTypeAzureWorkloadSAPHanaPointInTimeRecoveryPoint', 'ObjectTypeAzureWorkloadSAPHanaRecoveryPoint', 'ObjectTypeAzureWorkloadSQLPointInTimeRecoveryPoint', 'ObjectTypeAzureWorkloadSQLRecoveryPoint', 'ObjectTypeGenericRecoveryPoint', 'ObjectTypeIaasVMRecoveryPoint' ObjectType ObjectTypeBasicRecoveryPoint `json:"objectType,omitempty"` @@ -10521,12 +10405,6 @@ func (awspitrp AzureWorkloadSQLPointInTimeRecoveryPoint) MarshalJSON() ([]byte, if awspitrp.ExtendedInfo != nil { objectMap["extendedInfo"] = awspitrp.ExtendedInfo } - if awspitrp.RecoveryPointTimeInUTC != nil { - objectMap["recoveryPointTimeInUTC"] = awspitrp.RecoveryPointTimeInUTC - } - if awspitrp.Type != "" { - objectMap["type"] = awspitrp.Type - } if awspitrp.ObjectType != "" { objectMap["objectType"] = awspitrp.ObjectType } @@ -10614,7 +10492,7 @@ type AzureWorkloadSQLPointInTimeRestoreRequest struct { IsNonRecoverable *bool `json:"isNonRecoverable,omitempty"` // AlternateDirectoryPaths - Data directory details AlternateDirectoryPaths *[]SQLDataDirectoryMapping `json:"alternateDirectoryPaths,omitempty"` - // RecoveryType - OLR/ALR, RestoreDisks is invalid option. Possible values include: 'RecoveryTypeInvalid', 'RecoveryTypeOriginalLocation', 'RecoveryTypeAlternateLocation', 'RecoveryTypeRestoreDisks' + // RecoveryType - Type of this recovery. Possible values include: 'RecoveryTypeInvalid', 'RecoveryTypeOriginalLocation', 'RecoveryTypeAlternateLocation', 'RecoveryTypeRestoreDisks', 'RecoveryTypeOffline' RecoveryType RecoveryType `json:"recoveryType,omitempty"` // SourceResourceID - Fully qualified ARM ID of the VM on which workload that was running is being recovered. SourceResourceID *string `json:"sourceResourceId,omitempty"` @@ -10622,6 +10500,8 @@ type AzureWorkloadSQLPointInTimeRestoreRequest struct { PropertyBag map[string]*string `json:"propertyBag"` // TargetInfo - Details of target database TargetInfo *TargetRestoreInfo `json:"targetInfo,omitempty"` + // RecoveryMode - Defines whether the current recovery mode is file restore or database restore. Possible values include: 'RecoveryModeInvalid', 'RecoveryModeFileRecovery', 'RecoveryModeWorkloadRecovery' + RecoveryMode RecoveryMode `json:"recoveryMode,omitempty"` // ObjectType - Possible values include: 'ObjectTypeRestoreRequest', 'ObjectTypeAzureFileShareRestoreRequest', 'ObjectTypeAzureWorkloadPointInTimeRestoreRequest', 'ObjectTypeAzureWorkloadRestoreRequest', 'ObjectTypeAzureWorkloadSAPHanaPointInTimeRestoreRequest', 'ObjectTypeAzureWorkloadSAPHanaRestoreRequest', 'ObjectTypeAzureWorkloadSQLPointInTimeRestoreRequest', 'ObjectTypeAzureWorkloadSQLRestoreRequest', 'ObjectTypeIaasVMRestoreRequest' ObjectType ObjectTypeBasicRestoreRequest `json:"objectType,omitempty"` } @@ -10654,6 +10534,9 @@ func (awspitrr AzureWorkloadSQLPointInTimeRestoreRequest) MarshalJSON() ([]byte, if awspitrr.TargetInfo != nil { objectMap["targetInfo"] = awspitrr.TargetInfo } + if awspitrr.RecoveryMode != "" { + objectMap["recoveryMode"] = awspitrr.RecoveryMode + } if awspitrr.ObjectType != "" { objectMap["objectType"] = awspitrr.ObjectType } @@ -10725,23 +10608,23 @@ func (awspitrr AzureWorkloadSQLPointInTimeRestoreRequest) AsBasicRestoreRequest( return &awspitrr, true } -// BasicAzureWorkloadSQLRecoveryPoint SQL specific recovery point, specifically encapsulates full/diff recovery point +// BasicAzureWorkloadSQLRecoveryPoint SQL specific recoverypoint, specifically encapsulates full/diff recoverypoint // along with extended info type BasicAzureWorkloadSQLRecoveryPoint interface { AsAzureWorkloadSQLPointInTimeRecoveryPoint() (*AzureWorkloadSQLPointInTimeRecoveryPoint, bool) AsAzureWorkloadSQLRecoveryPoint() (*AzureWorkloadSQLRecoveryPoint, bool) } -// AzureWorkloadSQLRecoveryPoint SQL specific recovery point, specifically encapsulates full/diff recovery -// point along with extended info +// AzureWorkloadSQLRecoveryPoint SQL specific recoverypoint, specifically encapsulates full/diff recoverypoint +// along with extended info type AzureWorkloadSQLRecoveryPoint struct { // ExtendedInfo - Extended Info that provides data directory details. Will be populated in two cases: // When a specific recovery point is accessed using GetRecoveryPoint // Or when ListRecoveryPoints is called for Log RP only with ExtendedInfo query filter ExtendedInfo *AzureWorkloadSQLRecoveryPointExtendedInfo `json:"extendedInfo,omitempty"` - // RecoveryPointTimeInUTC - UTC time at which recovery point was created + // RecoveryPointTimeInUTC - READ-ONLY; UTC time at which recovery point was created RecoveryPointTimeInUTC *date.Time `json:"recoveryPointTimeInUTC,omitempty"` - // Type - Type of restore point. Possible values include: 'RestorePointTypeInvalid', 'RestorePointTypeFull', 'RestorePointTypeLog', 'RestorePointTypeDifferential' + // Type - READ-ONLY; Type of restore point. Possible values include: 'RestorePointTypeInvalid', 'RestorePointTypeFull', 'RestorePointTypeLog', 'RestorePointTypeDifferential' Type RestorePointType `json:"type,omitempty"` // ObjectType - Possible values include: 'ObjectTypeRecoveryPoint', 'ObjectTypeAzureFileShareRecoveryPoint', 'ObjectTypeAzureWorkloadPointInTimeRecoveryPoint', 'ObjectTypeAzureWorkloadRecoveryPoint', 'ObjectTypeAzureWorkloadSAPHanaPointInTimeRecoveryPoint', 'ObjectTypeAzureWorkloadSAPHanaRecoveryPoint', 'ObjectTypeAzureWorkloadSQLPointInTimeRecoveryPoint', 'ObjectTypeAzureWorkloadSQLRecoveryPoint', 'ObjectTypeGenericRecoveryPoint', 'ObjectTypeIaasVMRecoveryPoint' ObjectType ObjectTypeBasicRecoveryPoint `json:"objectType,omitempty"` @@ -10791,12 +10674,6 @@ func (awsrp AzureWorkloadSQLRecoveryPoint) MarshalJSON() ([]byte, error) { if awsrp.ExtendedInfo != nil { objectMap["extendedInfo"] = awsrp.ExtendedInfo } - if awsrp.RecoveryPointTimeInUTC != nil { - objectMap["recoveryPointTimeInUTC"] = awsrp.RecoveryPointTimeInUTC - } - if awsrp.Type != "" { - objectMap["type"] = awsrp.Type - } if awsrp.ObjectType != "" { objectMap["objectType"] = awsrp.ObjectType } @@ -10875,9 +10752,9 @@ func (awsrp AzureWorkloadSQLRecoveryPoint) AsBasicRecoveryPoint() (BasicRecovery // AzureWorkloadSQLRecoveryPointExtendedInfo extended info class details type AzureWorkloadSQLRecoveryPointExtendedInfo struct { - // DataDirectoryTimeInUTC - UTC time at which data directory info was captured + // DataDirectoryTimeInUTC - READ-ONLY; UTC time at which data directory info was captured DataDirectoryTimeInUTC *date.Time `json:"dataDirectoryTimeInUTC,omitempty"` - // DataDirectoryPaths - List of data directory paths during restore operation. + // DataDirectoryPaths - READ-ONLY; List of data directory paths during restore operation. DataDirectoryPaths *[]SQLDataDirectory `json:"dataDirectoryPaths,omitempty"` } @@ -10895,7 +10772,7 @@ type AzureWorkloadSQLRestoreRequest struct { IsNonRecoverable *bool `json:"isNonRecoverable,omitempty"` // AlternateDirectoryPaths - Data directory details AlternateDirectoryPaths *[]SQLDataDirectoryMapping `json:"alternateDirectoryPaths,omitempty"` - // RecoveryType - OLR/ALR, RestoreDisks is invalid option. Possible values include: 'RecoveryTypeInvalid', 'RecoveryTypeOriginalLocation', 'RecoveryTypeAlternateLocation', 'RecoveryTypeRestoreDisks' + // RecoveryType - Type of this recovery. Possible values include: 'RecoveryTypeInvalid', 'RecoveryTypeOriginalLocation', 'RecoveryTypeAlternateLocation', 'RecoveryTypeRestoreDisks', 'RecoveryTypeOffline' RecoveryType RecoveryType `json:"recoveryType,omitempty"` // SourceResourceID - Fully qualified ARM ID of the VM on which workload that was running is being recovered. SourceResourceID *string `json:"sourceResourceId,omitempty"` @@ -10903,6 +10780,8 @@ type AzureWorkloadSQLRestoreRequest struct { PropertyBag map[string]*string `json:"propertyBag"` // TargetInfo - Details of target database TargetInfo *TargetRestoreInfo `json:"targetInfo,omitempty"` + // RecoveryMode - Defines whether the current recovery mode is file restore or database restore. Possible values include: 'RecoveryModeInvalid', 'RecoveryModeFileRecovery', 'RecoveryModeWorkloadRecovery' + RecoveryMode RecoveryMode `json:"recoveryMode,omitempty"` // ObjectType - Possible values include: 'ObjectTypeRestoreRequest', 'ObjectTypeAzureFileShareRestoreRequest', 'ObjectTypeAzureWorkloadPointInTimeRestoreRequest', 'ObjectTypeAzureWorkloadRestoreRequest', 'ObjectTypeAzureWorkloadSAPHanaPointInTimeRestoreRequest', 'ObjectTypeAzureWorkloadSAPHanaRestoreRequest', 'ObjectTypeAzureWorkloadSQLPointInTimeRestoreRequest', 'ObjectTypeAzureWorkloadSQLRestoreRequest', 'ObjectTypeIaasVMRestoreRequest' ObjectType ObjectTypeBasicRestoreRequest `json:"objectType,omitempty"` } @@ -10969,6 +10848,9 @@ func (awsrr AzureWorkloadSQLRestoreRequest) MarshalJSON() ([]byte, error) { if awsrr.TargetInfo != nil { objectMap["targetInfo"] = awsrr.TargetInfo } + if awsrr.RecoveryMode != "" { + objectMap["recoveryMode"] = awsrr.RecoveryMode + } if awsrr.ObjectType != "" { objectMap["objectType"] = awsrr.ObjectType } @@ -11384,6 +11266,20 @@ type Day struct { IsLast *bool `json:"isLast,omitempty"` } +// DiskExclusionProperties ... +type DiskExclusionProperties struct { + // DiskLunList - List of Disks' Logical Unit Numbers (LUN) to be used for VM Protection. + DiskLunList *[]int32 `json:"diskLunList,omitempty"` + // IsInclusionList - Flag to indicate whether DiskLunList is to be included/ excluded from backup. + IsInclusionList *bool `json:"isInclusionList,omitempty"` +} + +// DiskInformation disk information +type DiskInformation struct { + Lun *int32 `json:"lun,omitempty"` + Name *string `json:"name,omitempty"` +} + // DistributedNodesInfo this is used to represent the various nodes of the distributed container. type DistributedNodesInfo struct { // NodeName - Name of the node under a distributed container. @@ -11419,7 +11315,7 @@ type DpmBackupEngine struct { IsAzureBackupAgentUpgradeAvailable *bool `json:"isAzureBackupAgentUpgradeAvailable,omitempty"` // IsDpmUpgradeAvailable - To check if backup engine upgrade available IsDpmUpgradeAvailable *bool `json:"isDpmUpgradeAvailable,omitempty"` - // ExtendedInfo - Extended info of the backup engine + // ExtendedInfo - Extended info of the backupengine ExtendedInfo *EngineExtendedInfo `json:"extendedInfo,omitempty"` // BackupEngineType - Possible values include: 'BackupEngineTypeBackupEngineBase', 'BackupEngineTypeAzureBackupServerEngine', 'BackupEngineTypeDpmBackupEngine' BackupEngineType EngineType `json:"backupEngineType,omitempty"` @@ -12180,7 +12076,7 @@ type EngineBase struct { IsAzureBackupAgentUpgradeAvailable *bool `json:"isAzureBackupAgentUpgradeAvailable,omitempty"` // IsDpmUpgradeAvailable - To check if backup engine upgrade available IsDpmUpgradeAvailable *bool `json:"isDpmUpgradeAvailable,omitempty"` - // ExtendedInfo - Extended info of the backup engine + // ExtendedInfo - Extended info of the backupengine ExtendedInfo *EngineExtendedInfo `json:"extendedInfo,omitempty"` // BackupEngineType - Possible values include: 'BackupEngineTypeBackupEngineBase', 'BackupEngineTypeAzureBackupServerEngine', 'BackupEngineTypeDpmBackupEngine' BackupEngineType EngineType `json:"backupEngineType,omitempty"` @@ -12574,11 +12470,11 @@ type EngineExtendedInfo struct { // ErrorDetail error Detail class which encapsulates Code, Message and Recommendations. type ErrorDetail struct { - // Code - Error code. + // Code - READ-ONLY; Error code. Code *string `json:"code,omitempty"` - // Message - Error Message related to the Code. + // Message - READ-ONLY; Error Message related to the Code. Message *string `json:"message,omitempty"` - // Recommendations - List of recommendation strings. + // Recommendations - READ-ONLY; List of recommendation strings. Recommendations *[]string `json:"recommendations,omitempty"` } @@ -12588,6 +12484,10 @@ type ExportJobsOperationResultInfo struct { BlobURL *string `json:"blobUrl,omitempty"` // BlobSasKey - SAS key to access the blob. It expires in 15 mins. BlobSasKey *string `json:"blobSasKey,omitempty"` + // ExcelFileBlobURL - URL of the blob into which the ExcelFile is uploaded. + ExcelFileBlobURL *string `json:"excelFileBlobUrl,omitempty"` + // ExcelFileBlobSasKey - SAS key to access the blob. It expires in 15 mins. + ExcelFileBlobSasKey *string `json:"excelFileBlobSasKey,omitempty"` // ObjectType - Possible values include: 'ObjectTypeOperationResultInfoBase', 'ObjectTypeExportJobsOperationResultInfo', 'ObjectTypeOperationResultInfo' ObjectType ObjectType `json:"objectType,omitempty"` } @@ -12602,6 +12502,12 @@ func (ejori ExportJobsOperationResultInfo) MarshalJSON() ([]byte, error) { if ejori.BlobSasKey != nil { objectMap["blobSasKey"] = ejori.BlobSasKey } + if ejori.ExcelFileBlobURL != nil { + objectMap["excelFileBlobUrl"] = ejori.ExcelFileBlobURL + } + if ejori.ExcelFileBlobSasKey != nil { + objectMap["excelFileBlobSasKey"] = ejori.ExcelFileBlobSasKey + } if ejori.ObjectType != "" { objectMap["objectType"] = ejori.ObjectType } @@ -12628,6 +12534,12 @@ func (ejori ExportJobsOperationResultInfo) AsBasicOperationResultInfoBase() (Bas return &ejori, true } +// ExtendedProperties extended Properties for Azure IaasVM Backup. +type ExtendedProperties struct { + // DiskExclusionProperties - Extended Properties for Disk Exclusion. + DiskExclusionProperties *DiskExclusionProperties `json:"diskExclusionProperties,omitempty"` +} + // BasicFeatureSupportRequest base class for feature request type BasicFeatureSupportRequest interface { AsAzureBackupGoalFeatureSupportRequest() (*AzureBackupGoalFeatureSupportRequest, bool) @@ -13069,7 +12981,7 @@ type GenericProtectionPolicy struct { FabricName *string `json:"fabricName,omitempty"` // ProtectedItemsCount - Number of items associated with this policy. ProtectedItemsCount *int32 `json:"protectedItemsCount,omitempty"` - // BackupManagementType - Possible values include: 'BackupManagementTypeProtectionPolicy', 'BackupManagementTypeAzureStorage', 'BackupManagementTypeAzureIaasVM', 'BackupManagementTypeAzureSQL', 'BackupManagementTypeAzureWorkload', 'BackupManagementTypeGenericProtectionPolicy', 'BackupManagementTypeMAB' + // BackupManagementType - Possible values include: 'BackupManagementTypeProtectionPolicy', 'BackupManagementTypeAzureWorkload', 'BackupManagementTypeAzureStorage', 'BackupManagementTypeAzureIaasVM', 'BackupManagementTypeAzureSQL', 'BackupManagementTypeGenericProtectionPolicy', 'BackupManagementTypeMAB' BackupManagementType ManagementTypeBasicProtectionPolicy `json:"backupManagementType,omitempty"` } @@ -13095,6 +13007,11 @@ func (gpp GenericProtectionPolicy) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } +// AsAzureVMWorkloadProtectionPolicy is the BasicProtectionPolicy implementation for GenericProtectionPolicy. +func (gpp GenericProtectionPolicy) AsAzureVMWorkloadProtectionPolicy() (*AzureVMWorkloadProtectionPolicy, bool) { + return nil, false +} + // AsAzureFileShareProtectionPolicy is the BasicProtectionPolicy implementation for GenericProtectionPolicy. func (gpp GenericProtectionPolicy) AsAzureFileShareProtectionPolicy() (*AzureFileShareProtectionPolicy, bool) { return nil, false @@ -13110,11 +13027,6 @@ func (gpp GenericProtectionPolicy) AsAzureSQLProtectionPolicy() (*AzureSQLProtec return nil, false } -// AsAzureVMWorkloadProtectionPolicy is the BasicProtectionPolicy implementation for GenericProtectionPolicy. -func (gpp GenericProtectionPolicy) AsAzureVMWorkloadProtectionPolicy() (*AzureVMWorkloadProtectionPolicy, bool) { - return nil, false -} - // AsGenericProtectionPolicy is the BasicProtectionPolicy implementation for GenericProtectionPolicy. func (gpp GenericProtectionPolicy) AsGenericProtectionPolicy() (*GenericProtectionPolicy, bool) { return &gpp, true @@ -13487,7 +13399,7 @@ type IaasVMILRRegistrationRequest struct { InitiatorName *string `json:"initiatorName,omitempty"` // RenewExistingRegistration - Whether to renew existing registration with the iSCSI server. RenewExistingRegistration *bool `json:"renewExistingRegistration,omitempty"` - // ObjectType - Possible values include: 'ObjectTypeILRRequest', 'ObjectTypeIaasVMILRRegistrationRequest' + // ObjectType - Possible values include: 'ObjectTypeILRRequest', 'ObjectTypeAzureFileShareProvisionILRRequest', 'ObjectTypeIaasVMILRRegistrationRequest' ObjectType ObjectTypeBasicILRRequest `json:"objectType,omitempty"` } @@ -13513,6 +13425,11 @@ func (ivrr IaasVMILRRegistrationRequest) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } +// AsAzureFileShareProvisionILRRequest is the BasicILRRequest implementation for IaasVMILRRegistrationRequest. +func (ivrr IaasVMILRRegistrationRequest) AsAzureFileShareProvisionILRRequest() (*AzureFileShareProvisionILRRequest, bool) { + return nil, false +} + // AsIaasVMILRRegistrationRequest is the BasicILRRequest implementation for IaasVMILRRegistrationRequest. func (ivrr IaasVMILRRegistrationRequest) AsIaasVMILRRegistrationRequest() (*IaasVMILRRegistrationRequest, bool) { return &ivrr, true @@ -13547,7 +13464,7 @@ type IaaSVMProtectableItem struct { FriendlyName *string `json:"friendlyName,omitempty"` // ProtectionState - State of the back up item. Possible values include: 'ProtectionStatusInvalid', 'ProtectionStatusNotProtected', 'ProtectionStatusProtecting', 'ProtectionStatusProtected', 'ProtectionStatusProtectionFailed' ProtectionState ProtectionStatus `json:"protectionState,omitempty"` - // ProtectableItemType - Possible values include: 'ProtectableItemTypeWorkloadProtectableItem', 'ProtectableItemTypeAzureFileShare', 'ProtectableItemTypeMicrosoftClassicComputevirtualMachines', 'ProtectableItemTypeMicrosoftComputevirtualMachines', 'ProtectableItemTypeAzureVMWorkloadProtectableItem', 'ProtectableItemTypeSAPAseDatabase', 'ProtectableItemTypeSAPAseSystem', 'ProtectableItemTypeSAPHanaDatabase', 'ProtectableItemTypeSAPHanaSystem', 'ProtectableItemTypeSQLAvailabilityGroupContainer', 'ProtectableItemTypeSQLDataBase', 'ProtectableItemTypeSQLInstance', 'ProtectableItemTypeIaaSVMProtectableItem' + // ProtectableItemType - Possible values include: 'ProtectableItemTypeWorkloadProtectableItem', 'ProtectableItemTypeAzureFileShare', 'ProtectableItemTypeMicrosoftClassicComputevirtualMachines', 'ProtectableItemTypeMicrosoftComputevirtualMachines', 'ProtectableItemTypeAzureVMWorkloadProtectableItem', 'ProtectableItemTypeSAPAseSystem', 'ProtectableItemTypeSAPHanaDatabase', 'ProtectableItemTypeSAPHanaSystem', 'ProtectableItemTypeSQLAvailabilityGroupContainer', 'ProtectableItemTypeSQLDataBase', 'ProtectableItemTypeSQLInstance', 'ProtectableItemTypeIaaSVMProtectableItem' ProtectableItemType ProtectableItemType `json:"protectableItemType,omitempty"` } @@ -13642,11 +13559,6 @@ func (ispi IaaSVMProtectableItem) AsBasicAzureVMWorkloadProtectableItem() (Basic return nil, false } -// AsAzureVMWorkloadSAPAseDatabaseProtectableItem is the BasicWorkloadProtectableItem implementation for IaaSVMProtectableItem. -func (ispi IaaSVMProtectableItem) AsAzureVMWorkloadSAPAseDatabaseProtectableItem() (*AzureVMWorkloadSAPAseDatabaseProtectableItem, bool) { - return nil, false -} - // AsAzureVMWorkloadSAPAseSystemProtectableItem is the BasicWorkloadProtectableItem implementation for IaaSVMProtectableItem. func (ispi IaaSVMProtectableItem) AsAzureVMWorkloadSAPAseSystemProtectableItem() (*AzureVMWorkloadSAPAseSystemProtectableItem, bool) { return nil, false @@ -13699,15 +13611,15 @@ func (ispi IaaSVMProtectableItem) AsBasicWorkloadProtectableItem() (BasicWorkloa // IaasVMRecoveryPoint iaaS VM workload specific backup copy. type IaasVMRecoveryPoint struct { - // RecoveryPointType - Type of the backup copy. + // RecoveryPointType - READ-ONLY; Type of the backup copy. RecoveryPointType *string `json:"recoveryPointType,omitempty"` - // RecoveryPointTime - Time at which this backup copy was created. + // RecoveryPointTime - READ-ONLY; Time at which this backup copy was created. RecoveryPointTime *date.Time `json:"recoveryPointTime,omitempty"` - // RecoveryPointAdditionalInfo - Additional information associated with this backup copy. + // RecoveryPointAdditionalInfo - READ-ONLY; Additional information associated with this backup copy. RecoveryPointAdditionalInfo *string `json:"recoveryPointAdditionalInfo,omitempty"` - // SourceVMStorageType - Storage type of the VM whose backup copy is created. + // SourceVMStorageType - READ-ONLY; Storage type of the VM whose backup copy is created. SourceVMStorageType *string `json:"sourceVMStorageType,omitempty"` - // IsSourceVMEncrypted - Identifies whether the VM was encrypted when the backup copy is created. + // IsSourceVMEncrypted - READ-ONLY; Identifies whether the VM was encrypted when the backup copy is created. IsSourceVMEncrypted *bool `json:"isSourceVMEncrypted,omitempty"` // KeyAndSecret - Required details for recovering an encrypted VM. Applicable only when IsSourceVMEncrypted is true. KeyAndSecret *KeyAndSecretDetails `json:"keyAndSecret,omitempty"` @@ -13723,6 +13635,8 @@ type IaasVMRecoveryPoint struct { OriginalStorageAccountOption *bool `json:"originalStorageAccountOption,omitempty"` // OsType - OS type OsType *string `json:"osType,omitempty"` + // RecoveryPointDiskConfiguration - Disk configuration + RecoveryPointDiskConfiguration *RecoveryPointDiskConfiguration `json:"recoveryPointDiskConfiguration,omitempty"` // ObjectType - Possible values include: 'ObjectTypeRecoveryPoint', 'ObjectTypeAzureFileShareRecoveryPoint', 'ObjectTypeAzureWorkloadPointInTimeRecoveryPoint', 'ObjectTypeAzureWorkloadRecoveryPoint', 'ObjectTypeAzureWorkloadSAPHanaPointInTimeRecoveryPoint', 'ObjectTypeAzureWorkloadSAPHanaRecoveryPoint', 'ObjectTypeAzureWorkloadSQLPointInTimeRecoveryPoint', 'ObjectTypeAzureWorkloadSQLRecoveryPoint', 'ObjectTypeGenericRecoveryPoint', 'ObjectTypeIaasVMRecoveryPoint' ObjectType ObjectTypeBasicRecoveryPoint `json:"objectType,omitempty"` } @@ -13731,21 +13645,6 @@ type IaasVMRecoveryPoint struct { func (ivrp IaasVMRecoveryPoint) MarshalJSON() ([]byte, error) { ivrp.ObjectType = ObjectTypeIaasVMRecoveryPoint objectMap := make(map[string]interface{}) - if ivrp.RecoveryPointType != nil { - objectMap["recoveryPointType"] = ivrp.RecoveryPointType - } - if ivrp.RecoveryPointTime != nil { - objectMap["recoveryPointTime"] = ivrp.RecoveryPointTime - } - if ivrp.RecoveryPointAdditionalInfo != nil { - objectMap["recoveryPointAdditionalInfo"] = ivrp.RecoveryPointAdditionalInfo - } - if ivrp.SourceVMStorageType != nil { - objectMap["sourceVMStorageType"] = ivrp.SourceVMStorageType - } - if ivrp.IsSourceVMEncrypted != nil { - objectMap["isSourceVMEncrypted"] = ivrp.IsSourceVMEncrypted - } if ivrp.KeyAndSecret != nil { objectMap["keyAndSecret"] = ivrp.KeyAndSecret } @@ -13767,6 +13666,9 @@ func (ivrp IaasVMRecoveryPoint) MarshalJSON() ([]byte, error) { if ivrp.OsType != nil { objectMap["osType"] = ivrp.OsType } + if ivrp.RecoveryPointDiskConfiguration != nil { + objectMap["recoveryPointDiskConfiguration"] = ivrp.RecoveryPointDiskConfiguration + } if ivrp.ObjectType != "" { objectMap["objectType"] = ivrp.ObjectType } @@ -13847,7 +13749,7 @@ func (ivrp IaasVMRecoveryPoint) AsBasicRecoveryPoint() (BasicRecoveryPoint, bool type IaasVMRestoreRequest struct { // RecoveryPointID - ID of the backup copy to be recovered. RecoveryPointID *string `json:"recoveryPointId,omitempty"` - // RecoveryType - Type of this recovery. Possible values include: 'RecoveryTypeInvalid', 'RecoveryTypeOriginalLocation', 'RecoveryTypeAlternateLocation', 'RecoveryTypeRestoreDisks' + // RecoveryType - Type of this recovery. Possible values include: 'RecoveryTypeInvalid', 'RecoveryTypeOriginalLocation', 'RecoveryTypeAlternateLocation', 'RecoveryTypeRestoreDisks', 'RecoveryTypeOffline' RecoveryType RecoveryType `json:"recoveryType,omitempty"` // SourceResourceID - Fully qualified ARM ID of the VM which is being recovered. SourceResourceID *string `json:"sourceResourceId,omitempty"` @@ -13880,6 +13782,8 @@ type IaasVMRestoreRequest struct { OriginalStorageAccountOption *bool `json:"originalStorageAccountOption,omitempty"` // EncryptionDetails - Details needed if the VM was encrypted at the time of backup. EncryptionDetails *EncryptionDetails `json:"encryptionDetails,omitempty"` + // RestoreDiskLunList - List of Disk LUNs for partial restore + RestoreDiskLunList *[]int32 `json:"restoreDiskLunList,omitempty"` // ObjectType - Possible values include: 'ObjectTypeRestoreRequest', 'ObjectTypeAzureFileShareRestoreRequest', 'ObjectTypeAzureWorkloadPointInTimeRestoreRequest', 'ObjectTypeAzureWorkloadRestoreRequest', 'ObjectTypeAzureWorkloadSAPHanaPointInTimeRestoreRequest', 'ObjectTypeAzureWorkloadSAPHanaRestoreRequest', 'ObjectTypeAzureWorkloadSQLPointInTimeRestoreRequest', 'ObjectTypeAzureWorkloadSQLRestoreRequest', 'ObjectTypeIaasVMRestoreRequest' ObjectType ObjectTypeBasicRestoreRequest `json:"objectType,omitempty"` } @@ -13930,6 +13834,9 @@ func (ivrr IaasVMRestoreRequest) MarshalJSON() ([]byte, error) { if ivrr.EncryptionDetails != nil { objectMap["encryptionDetails"] = ivrr.EncryptionDetails } + if ivrr.RestoreDiskLunList != nil { + objectMap["restoreDiskLunList"] = ivrr.RestoreDiskLunList + } if ivrr.ObjectType != "" { objectMap["objectType"] = ivrr.ObjectType } @@ -14001,15 +13908,16 @@ func (ivrr IaasVMRestoreRequest) AsBasicRestoreRequest() (BasicRestoreRequest, b return &ivrr, true } -// BasicILRRequest parameters to restore file/folders API. +// BasicILRRequest parameters to Provision ILR API. type BasicILRRequest interface { + AsAzureFileShareProvisionILRRequest() (*AzureFileShareProvisionILRRequest, bool) AsIaasVMILRRegistrationRequest() (*IaasVMILRRegistrationRequest, bool) AsILRRequest() (*ILRRequest, bool) } -// ILRRequest parameters to restore file/folders API. +// ILRRequest parameters to Provision ILR API. type ILRRequest struct { - // ObjectType - Possible values include: 'ObjectTypeILRRequest', 'ObjectTypeIaasVMILRRegistrationRequest' + // ObjectType - Possible values include: 'ObjectTypeILRRequest', 'ObjectTypeAzureFileShareProvisionILRRequest', 'ObjectTypeIaasVMILRRegistrationRequest' ObjectType ObjectTypeBasicILRRequest `json:"objectType,omitempty"` } @@ -14021,6 +13929,10 @@ func unmarshalBasicILRRequest(body []byte) (BasicILRRequest, error) { } switch m["objectType"] { + case string(ObjectTypeAzureFileShareProvisionILRRequest): + var afspir AzureFileShareProvisionILRRequest + err := json.Unmarshal(body, &afspir) + return afspir, err case string(ObjectTypeIaasVMILRRegistrationRequest): var ivrr IaasVMILRRegistrationRequest err := json.Unmarshal(body, &ivrr) @@ -14060,6 +13972,11 @@ func (ir ILRRequest) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } +// AsAzureFileShareProvisionILRRequest is the BasicILRRequest implementation for ILRRequest. +func (ir ILRRequest) AsAzureFileShareProvisionILRRequest() (*AzureFileShareProvisionILRRequest, bool) { + return nil, false +} + // AsIaasVMILRRegistrationRequest is the BasicILRRequest implementation for ILRRequest. func (ir ILRRequest) AsIaasVMILRRegistrationRequest() (*IaasVMILRRegistrationRequest, bool) { return nil, false @@ -14075,7 +13992,7 @@ func (ir ILRRequest) AsBasicILRRequest() (BasicILRRequest, bool) { return &ir, true } -// ILRRequestResource parameters to restore file/folders API. +// ILRRequestResource parameters to Provision ILR API. type ILRRequestResource struct { // Properties - ILRRequestResource properties Properties BasicILRRequest `json:"properties,omitempty"` @@ -14204,6 +14121,8 @@ type InquiryValidation struct { Status *string `json:"status,omitempty"` // ErrorDetail - Error Detail in case the status is non-success. ErrorDetail *ErrorDetail `json:"errorDetail,omitempty"` + // AdditionalDetail - READ-ONLY; Error Additional Detail in case the status is non-success. + AdditionalDetail *string `json:"additionalDetail,omitempty"` } // InstantItemRecoveryTarget target details for file / folder restore. @@ -14212,6 +14131,12 @@ type InstantItemRecoveryTarget struct { ClientScripts *[]ClientScriptForConnect `json:"clientScripts,omitempty"` } +// InstantRPAdditionalDetails ... +type InstantRPAdditionalDetails struct { + AzureBackupRGNamePrefix *string `json:"azureBackupRGNamePrefix,omitempty"` + AzureBackupRGNameSuffix *string `json:"azureBackupRGNameSuffix,omitempty"` +} + // BasicJob defines workload agnostic properties for a job. type BasicJob interface { AsAzureIaaSVMJob() (*AzureIaaSVMJob, bool) @@ -14367,7 +14292,7 @@ type JobQueryObject struct { Status JobStatus `json:"status,omitempty"` // BackupManagementType - Type of backup management for the job. Possible values include: 'ManagementTypeInvalid', 'ManagementTypeAzureIaasVM', 'ManagementTypeMAB', 'ManagementTypeDPM', 'ManagementTypeAzureBackupServer', 'ManagementTypeAzureSQL', 'ManagementTypeAzureStorage', 'ManagementTypeAzureWorkload', 'ManagementTypeDefaultBackup' BackupManagementType ManagementType `json:"backupManagementType,omitempty"` - // Operation - Type of operation. Possible values include: 'JobOperationTypeInvalid', 'JobOperationTypeRegister', 'JobOperationTypeUnRegister', 'JobOperationTypeConfigureBackup', 'JobOperationTypeBackup', 'JobOperationTypeRestore', 'JobOperationTypeDisableBackup', 'JobOperationTypeDeleteBackupData' + // Operation - Type of operation. Possible values include: 'JobOperationTypeInvalid', 'JobOperationTypeRegister', 'JobOperationTypeUnRegister', 'JobOperationTypeConfigureBackup', 'JobOperationTypeBackup', 'JobOperationTypeRestore', 'JobOperationTypeDisableBackup', 'JobOperationTypeDeleteBackupData', 'JobOperationTypeCrossRegionRestore', 'JobOperationTypeUndelete' Operation JobOperationType `json:"operation,omitempty"` // JobID - JobID represents the job uniquely. JobID *string `json:"jobId,omitempty"` @@ -14988,9 +14913,9 @@ type MABContainerHealthDetails struct { // MabErrorInfo MAB workload-specific error information. type MabErrorInfo struct { - // ErrorString - Localized error string. + // ErrorString - READ-ONLY; Localized error string. ErrorString *string `json:"errorString,omitempty"` - // Recommendations - List of localized recommendations. + // Recommendations - READ-ONLY; List of localized recommendations. Recommendations *[]string `json:"recommendations,omitempty"` } @@ -15002,9 +14927,11 @@ type MabFileFolderProtectedItem struct { ComputerName *string `json:"computerName,omitempty"` // LastBackupStatus - Status of last backup operation. LastBackupStatus *string `json:"lastBackupStatus,omitempty"` + // LastBackupTime - Timestamp of the last backup operation on this backup item. + LastBackupTime *date.Time `json:"lastBackupTime,omitempty"` // ProtectionState - Protected, ProtectionStopped, IRPending or ProtectionError ProtectionState *string `json:"protectionState,omitempty"` - // DeferredDeleteSyncTimeInUTC - Sync time for deferred deletion. + // DeferredDeleteSyncTimeInUTC - Sync time for deferred deletion in UTC DeferredDeleteSyncTimeInUTC *int64 `json:"deferredDeleteSyncTimeInUTC,omitempty"` // ExtendedInfo - Additional information with this backup item. ExtendedInfo *MabFileFolderProtectedItemExtendedInfo `json:"extendedInfo,omitempty"` @@ -15051,6 +14978,9 @@ func (mffpi MabFileFolderProtectedItem) MarshalJSON() ([]byte, error) { if mffpi.LastBackupStatus != nil { objectMap["lastBackupStatus"] = mffpi.LastBackupStatus } + if mffpi.LastBackupTime != nil { + objectMap["lastBackupTime"] = mffpi.LastBackupTime + } if mffpi.ProtectionState != nil { objectMap["protectionState"] = mffpi.ProtectionState } @@ -15363,7 +15293,7 @@ type MabProtectionPolicy struct { RetentionPolicy BasicRetentionPolicy `json:"retentionPolicy,omitempty"` // ProtectedItemsCount - Number of items associated with this policy. ProtectedItemsCount *int32 `json:"protectedItemsCount,omitempty"` - // BackupManagementType - Possible values include: 'BackupManagementTypeProtectionPolicy', 'BackupManagementTypeAzureStorage', 'BackupManagementTypeAzureIaasVM', 'BackupManagementTypeAzureSQL', 'BackupManagementTypeAzureWorkload', 'BackupManagementTypeGenericProtectionPolicy', 'BackupManagementTypeMAB' + // BackupManagementType - Possible values include: 'BackupManagementTypeProtectionPolicy', 'BackupManagementTypeAzureWorkload', 'BackupManagementTypeAzureStorage', 'BackupManagementTypeAzureIaasVM', 'BackupManagementTypeAzureSQL', 'BackupManagementTypeGenericProtectionPolicy', 'BackupManagementTypeMAB' BackupManagementType ManagementTypeBasicProtectionPolicy `json:"backupManagementType,omitempty"` } @@ -15382,6 +15312,11 @@ func (mpp MabProtectionPolicy) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } +// AsAzureVMWorkloadProtectionPolicy is the BasicProtectionPolicy implementation for MabProtectionPolicy. +func (mpp MabProtectionPolicy) AsAzureVMWorkloadProtectionPolicy() (*AzureVMWorkloadProtectionPolicy, bool) { + return nil, false +} + // AsAzureFileShareProtectionPolicy is the BasicProtectionPolicy implementation for MabProtectionPolicy. func (mpp MabProtectionPolicy) AsAzureFileShareProtectionPolicy() (*AzureFileShareProtectionPolicy, bool) { return nil, false @@ -15397,11 +15332,6 @@ func (mpp MabProtectionPolicy) AsAzureSQLProtectionPolicy() (*AzureSQLProtection return nil, false } -// AsAzureVMWorkloadProtectionPolicy is the BasicProtectionPolicy implementation for MabProtectionPolicy. -func (mpp MabProtectionPolicy) AsAzureVMWorkloadProtectionPolicy() (*AzureVMWorkloadProtectionPolicy, bool) { - return nil, false -} - // AsGenericProtectionPolicy is the BasicProtectionPolicy implementation for MabProtectionPolicy. func (mpp MabProtectionPolicy) AsGenericProtectionPolicy() (*GenericProtectionPolicy, bool) { return nil, false @@ -16096,7 +16026,7 @@ type PreValidateEnableBackupRequest struct { ResourceType DataSourceType `json:"resourceType,omitempty"` // ResourceID - ARM Virtual Machine Id ResourceID *string `json:"resourceId,omitempty"` - // VaultID - Specifies the arm resource id of the vault + // VaultID - ARM id of the Recovery Services Vault VaultID *string `json:"vaultId,omitempty"` // Properties - Configuration of VM if any needs to be validated like OS type etc Properties *string `json:"properties,omitempty"` @@ -17921,10 +17851,10 @@ func NewProtectionIntentResourceListPage(getNextPage func(context.Context, Prote // BasicProtectionPolicy base class for backup policy. Workload-specific backup policies are derived from this class. type BasicProtectionPolicy interface { + AsAzureVMWorkloadProtectionPolicy() (*AzureVMWorkloadProtectionPolicy, bool) AsAzureFileShareProtectionPolicy() (*AzureFileShareProtectionPolicy, bool) AsAzureIaaSVMProtectionPolicy() (*AzureIaaSVMProtectionPolicy, bool) AsAzureSQLProtectionPolicy() (*AzureSQLProtectionPolicy, bool) - AsAzureVMWorkloadProtectionPolicy() (*AzureVMWorkloadProtectionPolicy, bool) AsGenericProtectionPolicy() (*GenericProtectionPolicy, bool) AsMabProtectionPolicy() (*MabProtectionPolicy, bool) AsProtectionPolicy() (*ProtectionPolicy, bool) @@ -17935,7 +17865,7 @@ type BasicProtectionPolicy interface { type ProtectionPolicy struct { // ProtectedItemsCount - Number of items associated with this policy. ProtectedItemsCount *int32 `json:"protectedItemsCount,omitempty"` - // BackupManagementType - Possible values include: 'BackupManagementTypeProtectionPolicy', 'BackupManagementTypeAzureStorage', 'BackupManagementTypeAzureIaasVM', 'BackupManagementTypeAzureSQL', 'BackupManagementTypeAzureWorkload', 'BackupManagementTypeGenericProtectionPolicy', 'BackupManagementTypeMAB' + // BackupManagementType - Possible values include: 'BackupManagementTypeProtectionPolicy', 'BackupManagementTypeAzureWorkload', 'BackupManagementTypeAzureStorage', 'BackupManagementTypeAzureIaasVM', 'BackupManagementTypeAzureSQL', 'BackupManagementTypeGenericProtectionPolicy', 'BackupManagementTypeMAB' BackupManagementType ManagementTypeBasicProtectionPolicy `json:"backupManagementType,omitempty"` } @@ -17947,6 +17877,10 @@ func unmarshalBasicProtectionPolicy(body []byte) (BasicProtectionPolicy, error) } switch m["backupManagementType"] { + case string(BackupManagementTypeAzureWorkload): + var avwpp AzureVMWorkloadProtectionPolicy + err := json.Unmarshal(body, &avwpp) + return avwpp, err case string(BackupManagementTypeAzureStorage): var afspp AzureFileShareProtectionPolicy err := json.Unmarshal(body, &afspp) @@ -17959,10 +17893,6 @@ func unmarshalBasicProtectionPolicy(body []byte) (BasicProtectionPolicy, error) var aspp AzureSQLProtectionPolicy err := json.Unmarshal(body, &aspp) return aspp, err - case string(BackupManagementTypeAzureWorkload): - var avwpp AzureVMWorkloadProtectionPolicy - err := json.Unmarshal(body, &avwpp) - return avwpp, err case string(BackupManagementTypeGenericProtectionPolicy): var gpp GenericProtectionPolicy err := json.Unmarshal(body, &gpp) @@ -18009,6 +17939,11 @@ func (pp ProtectionPolicy) MarshalJSON() ([]byte, error) { return json.Marshal(objectMap) } +// AsAzureVMWorkloadProtectionPolicy is the BasicProtectionPolicy implementation for ProtectionPolicy. +func (pp ProtectionPolicy) AsAzureVMWorkloadProtectionPolicy() (*AzureVMWorkloadProtectionPolicy, bool) { + return nil, false +} + // AsAzureFileShareProtectionPolicy is the BasicProtectionPolicy implementation for ProtectionPolicy. func (pp ProtectionPolicy) AsAzureFileShareProtectionPolicy() (*AzureFileShareProtectionPolicy, bool) { return nil, false @@ -18024,11 +17959,6 @@ func (pp ProtectionPolicy) AsAzureSQLProtectionPolicy() (*AzureSQLProtectionPoli return nil, false } -// AsAzureVMWorkloadProtectionPolicy is the BasicProtectionPolicy implementation for ProtectionPolicy. -func (pp ProtectionPolicy) AsAzureVMWorkloadProtectionPolicy() (*AzureVMWorkloadProtectionPolicy, bool) { - return nil, false -} - // AsGenericProtectionPolicy is the BasicProtectionPolicy implementation for ProtectionPolicy. func (pp ProtectionPolicy) AsGenericProtectionPolicy() (*GenericProtectionPolicy, bool) { return nil, false @@ -18491,6 +18421,18 @@ func (rp RecoveryPoint) AsBasicRecoveryPoint() (BasicRecoveryPoint, bool) { return &rp, true } +// RecoveryPointDiskConfiguration disk configuration +type RecoveryPointDiskConfiguration struct { + // NumberOfDisksIncludedInBackup - Number of disks included in backup + NumberOfDisksIncludedInBackup *int32 `json:"numberOfDisksIncludedInBackup,omitempty"` + // NumberOfDisksAttachedToVM - Number of disks attached to the VM + NumberOfDisksAttachedToVM *int32 `json:"numberOfDisksAttachedToVm,omitempty"` + // IncludedDiskList - Information of disks included in backup + IncludedDiskList *[]DiskInformation `json:"includedDiskList,omitempty"` + // ExcludedDiskList - Information of disks excluded from backup + ExcludedDiskList *[]DiskInformation `json:"excludedDiskList,omitempty"` +} + // RecoveryPointResource base class for backup copies. Workload-specific backup copies are derived from // this class. type RecoveryPointResource struct { @@ -19058,6 +19000,8 @@ type ResourceVaultConfig struct { StorageTypeState StorageTypeState `json:"storageTypeState,omitempty"` // EnhancedSecurityState - Enabled or Disabled. Possible values include: 'EnhancedSecurityStateInvalid', 'EnhancedSecurityStateEnabled', 'EnhancedSecurityStateDisabled' EnhancedSecurityState EnhancedSecurityState `json:"enhancedSecurityState,omitempty"` + // SoftDeleteFeatureState - Soft Delete feature state. Possible values include: 'SoftDeleteFeatureStateInvalid', 'SoftDeleteFeatureStateEnabled', 'SoftDeleteFeatureStateDisabled' + SoftDeleteFeatureState SoftDeleteFeatureState `json:"softDeleteFeatureState,omitempty"` } // ResourceVaultConfigResource backup resource vault config details. @@ -20566,7 +20510,6 @@ type BasicWorkloadProtectableItem interface { AsAzureIaaSComputeVMProtectableItem() (*AzureIaaSComputeVMProtectableItem, bool) AsAzureVMWorkloadProtectableItem() (*AzureVMWorkloadProtectableItem, bool) AsBasicAzureVMWorkloadProtectableItem() (BasicAzureVMWorkloadProtectableItem, bool) - AsAzureVMWorkloadSAPAseDatabaseProtectableItem() (*AzureVMWorkloadSAPAseDatabaseProtectableItem, bool) AsAzureVMWorkloadSAPAseSystemProtectableItem() (*AzureVMWorkloadSAPAseSystemProtectableItem, bool) AsAzureVMWorkloadSAPHanaDatabaseProtectableItem() (*AzureVMWorkloadSAPHanaDatabaseProtectableItem, bool) AsAzureVMWorkloadSAPHanaSystemProtectableItem() (*AzureVMWorkloadSAPHanaSystemProtectableItem, bool) @@ -20589,7 +20532,7 @@ type WorkloadProtectableItem struct { FriendlyName *string `json:"friendlyName,omitempty"` // ProtectionState - State of the back up item. Possible values include: 'ProtectionStatusInvalid', 'ProtectionStatusNotProtected', 'ProtectionStatusProtecting', 'ProtectionStatusProtected', 'ProtectionStatusProtectionFailed' ProtectionState ProtectionStatus `json:"protectionState,omitempty"` - // ProtectableItemType - Possible values include: 'ProtectableItemTypeWorkloadProtectableItem', 'ProtectableItemTypeAzureFileShare', 'ProtectableItemTypeMicrosoftClassicComputevirtualMachines', 'ProtectableItemTypeMicrosoftComputevirtualMachines', 'ProtectableItemTypeAzureVMWorkloadProtectableItem', 'ProtectableItemTypeSAPAseDatabase', 'ProtectableItemTypeSAPAseSystem', 'ProtectableItemTypeSAPHanaDatabase', 'ProtectableItemTypeSAPHanaSystem', 'ProtectableItemTypeSQLAvailabilityGroupContainer', 'ProtectableItemTypeSQLDataBase', 'ProtectableItemTypeSQLInstance', 'ProtectableItemTypeIaaSVMProtectableItem' + // ProtectableItemType - Possible values include: 'ProtectableItemTypeWorkloadProtectableItem', 'ProtectableItemTypeAzureFileShare', 'ProtectableItemTypeMicrosoftClassicComputevirtualMachines', 'ProtectableItemTypeMicrosoftComputevirtualMachines', 'ProtectableItemTypeAzureVMWorkloadProtectableItem', 'ProtectableItemTypeSAPAseSystem', 'ProtectableItemTypeSAPHanaDatabase', 'ProtectableItemTypeSAPHanaSystem', 'ProtectableItemTypeSQLAvailabilityGroupContainer', 'ProtectableItemTypeSQLDataBase', 'ProtectableItemTypeSQLInstance', 'ProtectableItemTypeIaaSVMProtectableItem' ProtectableItemType ProtectableItemType `json:"protectableItemType,omitempty"` } @@ -20617,10 +20560,6 @@ func unmarshalBasicWorkloadProtectableItem(body []byte) (BasicWorkloadProtectabl var avwpi AzureVMWorkloadProtectableItem err := json.Unmarshal(body, &avwpi) return avwpi, err - case string(ProtectableItemTypeSAPAseDatabase): - var avwsadpi AzureVMWorkloadSAPAseDatabaseProtectableItem - err := json.Unmarshal(body, &avwsadpi) - return avwsadpi, err case string(ProtectableItemTypeSAPAseSystem): var avwsaspi AzureVMWorkloadSAPAseSystemProtectableItem err := json.Unmarshal(body, &avwsaspi) @@ -20721,11 +20660,6 @@ func (wpi WorkloadProtectableItem) AsBasicAzureVMWorkloadProtectableItem() (Basi return nil, false } -// AsAzureVMWorkloadSAPAseDatabaseProtectableItem is the BasicWorkloadProtectableItem implementation for WorkloadProtectableItem. -func (wpi WorkloadProtectableItem) AsAzureVMWorkloadSAPAseDatabaseProtectableItem() (*AzureVMWorkloadSAPAseDatabaseProtectableItem, bool) { - return nil, false -} - // AsAzureVMWorkloadSAPAseSystemProtectableItem is the BasicWorkloadProtectableItem implementation for WorkloadProtectableItem. func (wpi WorkloadProtectableItem) AsAzureVMWorkloadSAPAseSystemProtectableItem() (*AzureVMWorkloadSAPAseSystemProtectableItem, bool) { return nil, false diff --git a/services/recoveryservices/mgmt/2017-07-01/backup/operation.go b/services/recoveryservices/mgmt/2017-07-01/backup/operation.go index e1de4e1c8923..dc66321c1f6c 100644 --- a/services/recoveryservices/mgmt/2017-07-01/backup/operation.go +++ b/services/recoveryservices/mgmt/2017-07-01/backup/operation.go @@ -85,7 +85,7 @@ func (client OperationClient) ValidatePreparer(ctx context.Context, vaultName st "vaultName": autorest.Encode("path", vaultName), } - const APIVersion = "2017-07-01" + const APIVersion = "2019-05-13" queryParameters := map[string]interface{}{ "api-version": APIVersion, } diff --git a/services/recoveryservices/mgmt/2017-07-01/backup/policies.go b/services/recoveryservices/mgmt/2017-07-01/backup/policies.go index 126c37efcf12..ac93925c96c9 100644 --- a/services/recoveryservices/mgmt/2017-07-01/backup/policies.go +++ b/services/recoveryservices/mgmt/2017-07-01/backup/policies.go @@ -87,7 +87,7 @@ func (client PoliciesClient) ListPreparer(ctx context.Context, vaultName string, "vaultName": autorest.Encode("path", vaultName), } - const APIVersion = "2017-07-01" + const APIVersion = "2019-05-13" queryParameters := map[string]interface{}{ "api-version": APIVersion, } diff --git a/services/recoveryservices/mgmt/2017-07-01/backup/protecteditemoperationresults.go b/services/recoveryservices/mgmt/2017-07-01/backup/protecteditemoperationresults.go index 36e8a5f7a368..956a7ccb55e4 100644 --- a/services/recoveryservices/mgmt/2017-07-01/backup/protecteditemoperationresults.go +++ b/services/recoveryservices/mgmt/2017-07-01/backup/protecteditemoperationresults.go @@ -93,7 +93,7 @@ func (client ProtectedItemOperationResultsClient) GetPreparer(ctx context.Contex "vaultName": autorest.Encode("path", vaultName), } - const APIVersion = "2016-12-01" + const APIVersion = "2019-05-13" queryParameters := map[string]interface{}{ "api-version": APIVersion, } diff --git a/services/recoveryservices/mgmt/2017-07-01/backup/protecteditems.go b/services/recoveryservices/mgmt/2017-07-01/backup/protecteditems.go index 7cb9eb51598c..9c50fa811d38 100644 --- a/services/recoveryservices/mgmt/2017-07-01/backup/protecteditems.go +++ b/services/recoveryservices/mgmt/2017-07-01/backup/protecteditems.go @@ -40,125 +40,263 @@ func NewProtectedItemsClientWithBaseURI(baseURI string, subscriptionID string) P return ProtectedItemsClient{NewWithBaseURI(baseURI, subscriptionID)} } -// List provides a pageable list of all items that are backed up within a vault. +// CreateOrUpdate enables backup of an item or to modifies the backup policy information of an already backed up item. +// This is an +// asynchronous operation. To know the status of the operation, call the GetItemOperationResult API. // Parameters: // vaultName - the name of the recovery services vault. // resourceGroupName - the name of the resource group where the recovery services vault is present. -// filter - oData filter options. -// skipToken - skipToken Filter. -func (client ProtectedItemsClient) List(ctx context.Context, vaultName string, resourceGroupName string, filter string, skipToken string) (result ProtectedItemResourceListPage, err error) { +// fabricName - fabric name associated with the backup item. +// containerName - container name associated with the backup item. +// protectedItemName - item name to be backed up. +// parameters - resource backed up item +func (client ProtectedItemsClient) CreateOrUpdate(ctx context.Context, vaultName string, resourceGroupName string, fabricName string, containerName string, protectedItemName string, parameters ProtectedItemResource) (result ProtectedItemResource, err error) { if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/ProtectedItemsClient.List") + ctx = tracing.StartSpan(ctx, fqdn+"/ProtectedItemsClient.CreateOrUpdate") defer func() { sc := -1 - if result.pirl.Response.Response != nil { - sc = result.pirl.Response.Response.StatusCode + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode } tracing.EndSpan(ctx, sc, err) }() } - result.fn = client.listNextResults - req, err := client.ListPreparer(ctx, vaultName, resourceGroupName, filter, skipToken) + req, err := client.CreateOrUpdatePreparer(ctx, vaultName, resourceGroupName, fabricName, containerName, protectedItemName, parameters) if err != nil { - err = autorest.NewErrorWithError(err, "backup.ProtectedItemsClient", "List", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "backup.ProtectedItemsClient", "CreateOrUpdate", nil, "Failure preparing request") return } - resp, err := client.ListSender(req) + resp, err := client.CreateOrUpdateSender(req) if err != nil { - result.pirl.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "backup.ProtectedItemsClient", "List", resp, "Failure sending request") + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "backup.ProtectedItemsClient", "CreateOrUpdate", resp, "Failure sending request") return } - result.pirl, err = client.ListResponder(resp) + result, err = client.CreateOrUpdateResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "backup.ProtectedItemsClient", "List", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "backup.ProtectedItemsClient", "CreateOrUpdate", resp, "Failure responding to request") } return } -// ListPreparer prepares the List request. -func (client ProtectedItemsClient) ListPreparer(ctx context.Context, vaultName string, resourceGroupName string, filter string, skipToken string) (*http.Request, error) { +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client ProtectedItemsClient) CreateOrUpdatePreparer(ctx context.Context, vaultName string, resourceGroupName string, fabricName string, containerName string, protectedItemName string, parameters ProtectedItemResource) (*http.Request, error) { pathParameters := map[string]interface{}{ + "containerName": autorest.Encode("path", containerName), + "fabricName": autorest.Encode("path", fabricName), + "protectedItemName": autorest.Encode("path", protectedItemName), "resourceGroupName": autorest.Encode("path", resourceGroupName), "subscriptionId": autorest.Encode("path", client.SubscriptionID), "vaultName": autorest.Encode("path", vaultName), } - const APIVersion = "2017-07-01" + const APIVersion = "2019-05-13" queryParameters := map[string]interface{}{ "api-version": APIVersion, } - if len(filter) > 0 { - queryParameters["$filter"] = autorest.Encode("query", filter) - } - if len(skipToken) > 0 { - queryParameters["$skipToken"] = autorest.Encode("query", skipToken) - } preparer := autorest.CreatePreparer( - autorest.AsGet(), + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectedItems", pathParameters), + autorest.WithPathParameters("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}", pathParameters), + autorest.WithJSON(parameters), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) } -// ListSender sends the List request. The method will close the +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the // http.Response Body if it receives an error. -func (client ProtectedItemsClient) ListSender(req *http.Request) (*http.Response, error) { +func (client ProtectedItemsClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) return autorest.SendWithSender(client, req, sd...) } -// ListResponder handles the response to the List request. The method always +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always // closes the http.Response Body. -func (client ProtectedItemsClient) ListResponder(resp *http.Response) (result ProtectedItemResourceList, err error) { +func (client ProtectedItemsClient) CreateOrUpdateResponder(resp *http.Response) (result ProtectedItemResource, err error) { err = autorest.Respond( resp, client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), autorest.ByUnmarshallingJSON(&result), autorest.ByClosing()) result.Response = autorest.Response{Response: resp} return } -// listNextResults retrieves the next set of results, if any. -func (client ProtectedItemsClient) listNextResults(ctx context.Context, lastResults ProtectedItemResourceList) (result ProtectedItemResourceList, err error) { - req, err := lastResults.protectedItemResourceListPreparer(ctx) - if err != nil { - return result, autorest.NewErrorWithError(err, "backup.ProtectedItemsClient", "listNextResults", nil, "Failure preparing next results request") +// Delete used to disable backup of an item within a container. This is an asynchronous operation. To know the status +// of the +// request, call the GetItemOperationResult API. +// Parameters: +// vaultName - the name of the recovery services vault. +// resourceGroupName - the name of the resource group where the recovery services vault is present. +// fabricName - fabric name associated with the backed up item. +// containerName - container name associated with the backed up item. +// protectedItemName - backed up item to be deleted. +func (client ProtectedItemsClient) Delete(ctx context.Context, vaultName string, resourceGroupName string, fabricName string, containerName string, protectedItemName string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ProtectedItemsClient.Delete") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() } - if req == nil { + req, err := client.DeletePreparer(ctx, vaultName, resourceGroupName, fabricName, containerName, protectedItemName) + if err != nil { + err = autorest.NewErrorWithError(err, "backup.ProtectedItemsClient", "Delete", nil, "Failure preparing request") return } - resp, err := client.ListSender(req) + + resp, err := client.DeleteSender(req) if err != nil { - result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "backup.ProtectedItemsClient", "listNextResults", resp, "Failure sending next results request") + result.Response = resp + err = autorest.NewErrorWithError(err, "backup.ProtectedItemsClient", "Delete", resp, "Failure sending request") + return } - result, err = client.ListResponder(resp) + + result, err = client.DeleteResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "backup.ProtectedItemsClient", "listNextResults", resp, "Failure responding to next results request") + err = autorest.NewErrorWithError(err, "backup.ProtectedItemsClient", "Delete", resp, "Failure responding to request") } + + return +} + +// DeletePreparer prepares the Delete request. +func (client ProtectedItemsClient) DeletePreparer(ctx context.Context, vaultName string, resourceGroupName string, fabricName string, containerName string, protectedItemName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "containerName": autorest.Encode("path", containerName), + "fabricName": autorest.Encode("path", fabricName), + "protectedItemName": autorest.Encode("path", protectedItemName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "vaultName": autorest.Encode("path", vaultName), + } + + const APIVersion = "2019-05-13" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client ProtectedItemsClient) DeleteSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client ProtectedItemsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp return } -// ListComplete enumerates all values, automatically crossing page boundaries as required. -func (client ProtectedItemsClient) ListComplete(ctx context.Context, vaultName string, resourceGroupName string, filter string, skipToken string) (result ProtectedItemResourceListIterator, err error) { +// Get provides the details of the backed up item. This is an asynchronous operation. To know the status of the +// operation, +// call the GetItemOperationResult API. +// Parameters: +// vaultName - the name of the recovery services vault. +// resourceGroupName - the name of the resource group where the recovery services vault is present. +// fabricName - fabric name associated with the backed up item. +// containerName - container name associated with the backed up item. +// protectedItemName - backed up item name whose details are to be fetched. +// filter - oData filter options. +func (client ProtectedItemsClient) Get(ctx context.Context, vaultName string, resourceGroupName string, fabricName string, containerName string, protectedItemName string, filter string) (result ProtectedItemResource, err error) { if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/ProtectedItemsClient.List") + ctx = tracing.StartSpan(ctx, fqdn+"/ProtectedItemsClient.Get") defer func() { sc := -1 - if result.Response().Response.Response != nil { - sc = result.page.Response().Response.Response.StatusCode + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode } tracing.EndSpan(ctx, sc, err) }() } - result.page, err = client.List(ctx, vaultName, resourceGroupName, filter, skipToken) + req, err := client.GetPreparer(ctx, vaultName, resourceGroupName, fabricName, containerName, protectedItemName, filter) + if err != nil { + err = autorest.NewErrorWithError(err, "backup.ProtectedItemsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "backup.ProtectedItemsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "backup.ProtectedItemsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client ProtectedItemsClient) GetPreparer(ctx context.Context, vaultName string, resourceGroupName string, fabricName string, containerName string, protectedItemName string, filter string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "containerName": autorest.Encode("path", containerName), + "fabricName": autorest.Encode("path", fabricName), + "protectedItemName": autorest.Encode("path", protectedItemName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "vaultName": autorest.Encode("path", vaultName), + } + + const APIVersion = "2019-05-13" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(filter) > 0 { + queryParameters["$filter"] = autorest.Encode("query", filter) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client ProtectedItemsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client ProtectedItemsClient) GetResponder(resp *http.Response) (result ProtectedItemResource, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} return } diff --git a/services/recoveryservices/mgmt/2017-07-01/backup/protecteditemsgroup.go b/services/recoveryservices/mgmt/2017-07-01/backup/protecteditemsgroup.go index 155c709de2ba..0003d05eb5ed 100644 --- a/services/recoveryservices/mgmt/2017-07-01/backup/protecteditemsgroup.go +++ b/services/recoveryservices/mgmt/2017-07-01/backup/protecteditemsgroup.go @@ -40,263 +40,125 @@ func NewProtectedItemsGroupClientWithBaseURI(baseURI string, subscriptionID stri return ProtectedItemsGroupClient{NewWithBaseURI(baseURI, subscriptionID)} } -// CreateOrUpdate enables backup of an item or to modifies the backup policy information of an already backed up item. -// This is an -// asynchronous operation. To know the status of the operation, call the GetItemOperationResult API. +// List provides a pageable list of all items that are backed up within a vault. // Parameters: // vaultName - the name of the recovery services vault. // resourceGroupName - the name of the resource group where the recovery services vault is present. -// fabricName - fabric name associated with the backup item. -// containerName - container name associated with the backup item. -// protectedItemName - item name to be backed up. -// parameters - resource backed up item -func (client ProtectedItemsGroupClient) CreateOrUpdate(ctx context.Context, vaultName string, resourceGroupName string, fabricName string, containerName string, protectedItemName string, parameters ProtectedItemResource) (result ProtectedItemResource, err error) { +// filter - oData filter options. +// skipToken - skipToken Filter. +func (client ProtectedItemsGroupClient) List(ctx context.Context, vaultName string, resourceGroupName string, filter string, skipToken string) (result ProtectedItemResourceListPage, err error) { if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/ProtectedItemsGroupClient.CreateOrUpdate") + ctx = tracing.StartSpan(ctx, fqdn+"/ProtectedItemsGroupClient.List") defer func() { sc := -1 - if result.Response.Response != nil { - sc = result.Response.Response.StatusCode + if result.pirl.Response.Response != nil { + sc = result.pirl.Response.Response.StatusCode } tracing.EndSpan(ctx, sc, err) }() } - req, err := client.CreateOrUpdatePreparer(ctx, vaultName, resourceGroupName, fabricName, containerName, protectedItemName, parameters) + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, vaultName, resourceGroupName, filter, skipToken) if err != nil { - err = autorest.NewErrorWithError(err, "backup.ProtectedItemsGroupClient", "CreateOrUpdate", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "backup.ProtectedItemsGroupClient", "List", nil, "Failure preparing request") return } - resp, err := client.CreateOrUpdateSender(req) + resp, err := client.ListSender(req) if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "backup.ProtectedItemsGroupClient", "CreateOrUpdate", resp, "Failure sending request") + result.pirl.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "backup.ProtectedItemsGroupClient", "List", resp, "Failure sending request") return } - result, err = client.CreateOrUpdateResponder(resp) + result.pirl, err = client.ListResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "backup.ProtectedItemsGroupClient", "CreateOrUpdate", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "backup.ProtectedItemsGroupClient", "List", resp, "Failure responding to request") } return } -// CreateOrUpdatePreparer prepares the CreateOrUpdate request. -func (client ProtectedItemsGroupClient) CreateOrUpdatePreparer(ctx context.Context, vaultName string, resourceGroupName string, fabricName string, containerName string, protectedItemName string, parameters ProtectedItemResource) (*http.Request, error) { +// ListPreparer prepares the List request. +func (client ProtectedItemsGroupClient) ListPreparer(ctx context.Context, vaultName string, resourceGroupName string, filter string, skipToken string) (*http.Request, error) { pathParameters := map[string]interface{}{ - "containerName": autorest.Encode("path", containerName), - "fabricName": autorest.Encode("path", fabricName), - "protectedItemName": autorest.Encode("path", protectedItemName), "resourceGroupName": autorest.Encode("path", resourceGroupName), "subscriptionId": autorest.Encode("path", client.SubscriptionID), "vaultName": autorest.Encode("path", vaultName), } - const APIVersion = "2016-12-01" + const APIVersion = "2019-05-13" queryParameters := map[string]interface{}{ "api-version": APIVersion, } + if len(filter) > 0 { + queryParameters["$filter"] = autorest.Encode("query", filter) + } + if len(skipToken) > 0 { + queryParameters["$skipToken"] = autorest.Encode("query", skipToken) + } preparer := autorest.CreatePreparer( - autorest.AsContentType("application/json; charset=utf-8"), - autorest.AsPut(), + autorest.AsGet(), autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}", pathParameters), - autorest.WithJSON(parameters), + autorest.WithPathParameters("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectedItems", pathParameters), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) } -// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// ListSender sends the List request. The method will close the // http.Response Body if it receives an error. -func (client ProtectedItemsGroupClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { +func (client ProtectedItemsGroupClient) ListSender(req *http.Request) (*http.Response, error) { sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) return autorest.SendWithSender(client, req, sd...) } -// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// ListResponder handles the response to the List request. The method always // closes the http.Response Body. -func (client ProtectedItemsGroupClient) CreateOrUpdateResponder(resp *http.Response) (result ProtectedItemResource, err error) { +func (client ProtectedItemsGroupClient) ListResponder(resp *http.Response) (result ProtectedItemResourceList, err error) { err = autorest.Respond( resp, client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + azure.WithErrorUnlessStatusCode(http.StatusOK), autorest.ByUnmarshallingJSON(&result), autorest.ByClosing()) result.Response = autorest.Response{Response: resp} return } -// Delete used to disable backup of an item within a container. This is an asynchronous operation. To know the status -// of the -// request, call the GetItemOperationResult API. -// Parameters: -// vaultName - the name of the recovery services vault. -// resourceGroupName - the name of the resource group where the recovery services vault is present. -// fabricName - fabric name associated with the backed up item. -// containerName - container name associated with the backed up item. -// protectedItemName - backed up item to be deleted. -func (client ProtectedItemsGroupClient) Delete(ctx context.Context, vaultName string, resourceGroupName string, fabricName string, containerName string, protectedItemName string) (result autorest.Response, err error) { - if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/ProtectedItemsGroupClient.Delete") - defer func() { - sc := -1 - if result.Response != nil { - sc = result.Response.StatusCode - } - tracing.EndSpan(ctx, sc, err) - }() - } - req, err := client.DeletePreparer(ctx, vaultName, resourceGroupName, fabricName, containerName, protectedItemName) +// listNextResults retrieves the next set of results, if any. +func (client ProtectedItemsGroupClient) listNextResults(ctx context.Context, lastResults ProtectedItemResourceList) (result ProtectedItemResourceList, err error) { + req, err := lastResults.protectedItemResourceListPreparer(ctx) if err != nil { - err = autorest.NewErrorWithError(err, "backup.ProtectedItemsGroupClient", "Delete", nil, "Failure preparing request") - return + return result, autorest.NewErrorWithError(err, "backup.ProtectedItemsGroupClient", "listNextResults", nil, "Failure preparing next results request") } - - resp, err := client.DeleteSender(req) - if err != nil { - result.Response = resp - err = autorest.NewErrorWithError(err, "backup.ProtectedItemsGroupClient", "Delete", resp, "Failure sending request") + if req == nil { return } - - result, err = client.DeleteResponder(resp) + resp, err := client.ListSender(req) if err != nil { - err = autorest.NewErrorWithError(err, "backup.ProtectedItemsGroupClient", "Delete", resp, "Failure responding to request") - } - - return -} - -// DeletePreparer prepares the Delete request. -func (client ProtectedItemsGroupClient) DeletePreparer(ctx context.Context, vaultName string, resourceGroupName string, fabricName string, containerName string, protectedItemName string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "containerName": autorest.Encode("path", containerName), - "fabricName": autorest.Encode("path", fabricName), - "protectedItemName": autorest.Encode("path", protectedItemName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - "vaultName": autorest.Encode("path", vaultName), + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "backup.ProtectedItemsGroupClient", "listNextResults", resp, "Failure sending next results request") } - - const APIVersion = "2016-12-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "backup.ProtectedItemsGroupClient", "listNextResults", resp, "Failure responding to next results request") } - - preparer := autorest.CreatePreparer( - autorest.AsDelete(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// DeleteSender sends the Delete request. The method will close the -// http.Response Body if it receives an error. -func (client ProtectedItemsGroupClient) DeleteSender(req *http.Request) (*http.Response, error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - return autorest.SendWithSender(client, req, sd...) -} - -// DeleteResponder handles the response to the Delete request. The method always -// closes the http.Response Body. -func (client ProtectedItemsGroupClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), - autorest.ByClosing()) - result.Response = resp return } -// Get provides the details of the backed up item. This is an asynchronous operation. To know the status of the -// operation, -// call the GetItemOperationResult API. -// Parameters: -// vaultName - the name of the recovery services vault. -// resourceGroupName - the name of the resource group where the recovery services vault is present. -// fabricName - fabric name associated with the backed up item. -// containerName - container name associated with the backed up item. -// protectedItemName - backed up item name whose details are to be fetched. -// filter - oData filter options. -func (client ProtectedItemsGroupClient) Get(ctx context.Context, vaultName string, resourceGroupName string, fabricName string, containerName string, protectedItemName string, filter string) (result ProtectedItemResource, err error) { +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client ProtectedItemsGroupClient) ListComplete(ctx context.Context, vaultName string, resourceGroupName string, filter string, skipToken string) (result ProtectedItemResourceListIterator, err error) { if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/ProtectedItemsGroupClient.Get") + ctx = tracing.StartSpan(ctx, fqdn+"/ProtectedItemsGroupClient.List") defer func() { sc := -1 - if result.Response.Response != nil { - sc = result.Response.Response.StatusCode + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode } tracing.EndSpan(ctx, sc, err) }() } - req, err := client.GetPreparer(ctx, vaultName, resourceGroupName, fabricName, containerName, protectedItemName, filter) - if err != nil { - err = autorest.NewErrorWithError(err, "backup.ProtectedItemsGroupClient", "Get", nil, "Failure preparing request") - return - } - - resp, err := client.GetSender(req) - if err != nil { - result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "backup.ProtectedItemsGroupClient", "Get", resp, "Failure sending request") - return - } - - result, err = client.GetResponder(resp) - if err != nil { - err = autorest.NewErrorWithError(err, "backup.ProtectedItemsGroupClient", "Get", resp, "Failure responding to request") - } - - return -} - -// GetPreparer prepares the Get request. -func (client ProtectedItemsGroupClient) GetPreparer(ctx context.Context, vaultName string, resourceGroupName string, fabricName string, containerName string, protectedItemName string, filter string) (*http.Request, error) { - pathParameters := map[string]interface{}{ - "containerName": autorest.Encode("path", containerName), - "fabricName": autorest.Encode("path", fabricName), - "protectedItemName": autorest.Encode("path", protectedItemName), - "resourceGroupName": autorest.Encode("path", resourceGroupName), - "subscriptionId": autorest.Encode("path", client.SubscriptionID), - "vaultName": autorest.Encode("path", vaultName), - } - - const APIVersion = "2016-12-01" - queryParameters := map[string]interface{}{ - "api-version": APIVersion, - } - if len(filter) > 0 { - queryParameters["$filter"] = autorest.Encode("query", filter) - } - - preparer := autorest.CreatePreparer( - autorest.AsGet(), - autorest.WithBaseURL(client.BaseURI), - autorest.WithPathParameters("/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}", pathParameters), - autorest.WithQueryParameters(queryParameters)) - return preparer.Prepare((&http.Request{}).WithContext(ctx)) -} - -// GetSender sends the Get request. The method will close the -// http.Response Body if it receives an error. -func (client ProtectedItemsGroupClient) GetSender(req *http.Request) (*http.Response, error) { - sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) - return autorest.SendWithSender(client, req, sd...) -} - -// GetResponder handles the response to the Get request. The method always -// closes the http.Response Body. -func (client ProtectedItemsGroupClient) GetResponder(resp *http.Response) (result ProtectedItemResource, err error) { - err = autorest.Respond( - resp, - client.ByInspecting(), - azure.WithErrorUnlessStatusCode(http.StatusOK), - autorest.ByUnmarshallingJSON(&result), - autorest.ByClosing()) - result.Response = autorest.Response{Response: resp} + result.page, err = client.List(ctx, vaultName, resourceGroupName, filter, skipToken) return } diff --git a/services/recoveryservices/mgmt/2017-07-01/backup/protectionpolicies.go b/services/recoveryservices/mgmt/2017-07-01/backup/protectionpolicies.go index 7b3f596249a3..83f2afa24f43 100644 --- a/services/recoveryservices/mgmt/2017-07-01/backup/protectionpolicies.go +++ b/services/recoveryservices/mgmt/2017-07-01/backup/protectionpolicies.go @@ -89,7 +89,7 @@ func (client ProtectionPoliciesClient) CreateOrUpdatePreparer(ctx context.Contex "vaultName": autorest.Encode("path", vaultName), } - const APIVersion = "2016-12-01" + const APIVersion = "2019-05-13" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -251,7 +251,7 @@ func (client ProtectionPoliciesClient) GetPreparer(ctx context.Context, vaultNam "vaultName": autorest.Encode("path", vaultName), } - const APIVersion = "2016-12-01" + const APIVersion = "2019-05-13" queryParameters := map[string]interface{}{ "api-version": APIVersion, } diff --git a/services/recoveryservices/mgmt/2017-07-01/backup/protectionpolicyoperationresults.go b/services/recoveryservices/mgmt/2017-07-01/backup/protectionpolicyoperationresults.go index 2f5240a8235d..4f004b44d86f 100644 --- a/services/recoveryservices/mgmt/2017-07-01/backup/protectionpolicyoperationresults.go +++ b/services/recoveryservices/mgmt/2017-07-01/backup/protectionpolicyoperationresults.go @@ -89,7 +89,7 @@ func (client ProtectionPolicyOperationResultsClient) GetPreparer(ctx context.Con "vaultName": autorest.Encode("path", vaultName), } - const APIVersion = "2016-12-01" + const APIVersion = "2019-05-13" queryParameters := map[string]interface{}{ "api-version": APIVersion, } diff --git a/services/recoveryservices/mgmt/2017-07-01/backup/recoverypoints.go b/services/recoveryservices/mgmt/2017-07-01/backup/recoverypoints.go index d0ad1506b4e5..52e2f8698015 100644 --- a/services/recoveryservices/mgmt/2017-07-01/backup/recoverypoints.go +++ b/services/recoveryservices/mgmt/2017-07-01/backup/recoverypoints.go @@ -94,7 +94,7 @@ func (client RecoveryPointsClient) GetPreparer(ctx context.Context, vaultName st "vaultName": autorest.Encode("path", vaultName), } - const APIVersion = "2016-12-01" + const APIVersion = "2019-05-13" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -179,7 +179,7 @@ func (client RecoveryPointsClient) ListPreparer(ctx context.Context, vaultName s "vaultName": autorest.Encode("path", vaultName), } - const APIVersion = "2016-12-01" + const APIVersion = "2019-05-13" queryParameters := map[string]interface{}{ "api-version": APIVersion, } diff --git a/services/recoveryservices/mgmt/2017-07-01/backup/resourcevaultconfigs.go b/services/recoveryservices/mgmt/2017-07-01/backup/resourcevaultconfigs.go index 3cb36b898367..be1d140227b9 100644 --- a/services/recoveryservices/mgmt/2017-07-01/backup/resourcevaultconfigs.go +++ b/services/recoveryservices/mgmt/2017-07-01/backup/resourcevaultconfigs.go @@ -84,7 +84,7 @@ func (client ResourceVaultConfigsClient) GetPreparer(ctx context.Context, vaultN "vaultName": autorest.Encode("path", vaultName), } - const APIVersion = "2016-12-01" + const APIVersion = "2019-05-13" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -162,7 +162,7 @@ func (client ResourceVaultConfigsClient) UpdatePreparer(ctx context.Context, vau "vaultName": autorest.Encode("path", vaultName), } - const APIVersion = "2016-12-01" + const APIVersion = "2019-05-13" queryParameters := map[string]interface{}{ "api-version": APIVersion, } diff --git a/services/recoveryservices/mgmt/2017-07-01/backup/restores.go b/services/recoveryservices/mgmt/2017-07-01/backup/restores.go index 211714201e84..ae81caf616b1 100644 --- a/services/recoveryservices/mgmt/2017-07-01/backup/restores.go +++ b/services/recoveryservices/mgmt/2017-07-01/backup/restores.go @@ -95,7 +95,7 @@ func (client RestoresClient) TriggerPreparer(ctx context.Context, vaultName stri "vaultName": autorest.Encode("path", vaultName), } - const APIVersion = "2016-12-01" + const APIVersion = "2019-05-13" queryParameters := map[string]interface{}{ "api-version": APIVersion, } diff --git a/services/resources/deployment.go b/services/resources/deployment.go deleted file mode 100644 index 4e5f882e6809..000000000000 --- a/services/resources/deployment.go +++ /dev/null @@ -1,63 +0,0 @@ -package deployment - -// Copyright 2017 Microsoft Corporation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -import ( - "encoding/json" - "io/ioutil" - - "github.com/Azure/azure-sdk-for-go/services/resources/mgmt/2017-05-10/resources" -) - -// Build is a helper that creates a resources.Deployment, which can -// be used as a parameter for a CreateOrUpdate deployment operation. -// templateFile is a local Azure template. -// See https://github.com/Azure-Samples/resource-manager-go-template-deployment -func Build(mode resources.DeploymentMode, templateFile string, parameters map[string]interface{}) (deployment resources.Deployment, err error) { - template, err := parseJSONFromFile(templateFile) - if err != nil { - return - } - - finalParameters := map[string]interface{}{} - for k, v := range parameters { - addElementToMap(&finalParameters, k, v) - } - - deployment.Properties = &resources.DeploymentProperties{ - Mode: mode, - Template: template, - Parameters: &finalParameters, - } - return -} - -func parseJSONFromFile(filePath string) (*map[string]interface{}, error) { - text, err := ioutil.ReadFile(filePath) - if err != nil { - return nil, err - } - fileMap := map[string]interface{}{} - if err = json.Unmarshal(text, &fileMap); err != nil { - return nil, err - } - return &fileMap, err -} - -func addElementToMap(parameter *map[string]interface{}, key string, value interface{}) { - (*parameter)[key] = map[string]interface{}{ - "value": value, - } -} diff --git a/services/resources/mgmt/2015-11-01/resources/deployments.go b/services/resources/mgmt/2015-11-01/resources/deployments.go index cfc38a9affed..d9aff3390343 100644 --- a/services/resources/mgmt/2015-11-01/resources/deployments.go +++ b/services/resources/mgmt/2015-11-01/resources/deployments.go @@ -41,6 +41,78 @@ func NewDeploymentsClientWithBaseURI(baseURI string, subscriptionID string) Depl return DeploymentsClient{NewWithBaseURI(baseURI, subscriptionID)} } +// CalculateTemplateHash calculate the hash of the given template. +// Parameters: +// templateParameter - the template provided to calculate hash. +func (client DeploymentsClient) CalculateTemplateHash(ctx context.Context, templateParameter interface{}) (result TemplateHashResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeploymentsClient.CalculateTemplateHash") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CalculateTemplateHashPreparer(ctx, templateParameter) + if err != nil { + err = autorest.NewErrorWithError(err, "resources.DeploymentsClient", "CalculateTemplateHash", nil, "Failure preparing request") + return + } + + resp, err := client.CalculateTemplateHashSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "resources.DeploymentsClient", "CalculateTemplateHash", resp, "Failure sending request") + return + } + + result, err = client.CalculateTemplateHashResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "resources.DeploymentsClient", "CalculateTemplateHash", resp, "Failure responding to request") + } + + return +} + +// CalculateTemplateHashPreparer prepares the CalculateTemplateHash request. +func (client DeploymentsClient) CalculateTemplateHashPreparer(ctx context.Context, templateParameter interface{}) (*http.Request, error) { + const APIVersion = "2015-11-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPath("/providers/Microsoft.Resources/calculateTemplateHash"), + autorest.WithJSON(templateParameter), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CalculateTemplateHashSender sends the CalculateTemplateHash request. The method will close the +// http.Response Body if it receives an error. +func (client DeploymentsClient) CalculateTemplateHashSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// CalculateTemplateHashResponder handles the response to the CalculateTemplateHash request. The method always +// closes the http.Response Body. +func (client DeploymentsClient) CalculateTemplateHashResponder(resp *http.Response) (result TemplateHashResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + // Cancel cancel a currently running template deployment. // Parameters: // resourceGroupName - the name of the resource group. The name is case insensitive. diff --git a/services/resources/mgmt/2015-11-01/resources/models.go b/services/resources/mgmt/2015-11-01/resources/models.go index 2c8fc58d3926..981de1fe6401 100644 --- a/services/resources/mgmt/2015-11-01/resources/models.go +++ b/services/resources/mgmt/2015-11-01/resources/models.go @@ -56,6 +56,11 @@ type BasicDependency struct { ResourceName *string `json:"resourceName,omitempty"` } +// CloudError an error response for a resource management request. +type CloudError struct { + Error *ErrorResponse `json:"error,omitempty"` +} + // Dependency deployment dependency information. type Dependency struct { // DependsOn - Gets the list of dependencies. @@ -510,6 +515,28 @@ type DeploymentValidateResult struct { Properties *DeploymentPropertiesExtended `json:"properties,omitempty"` } +// ErrorAdditionalInfo the resource management error additional info. +type ErrorAdditionalInfo struct { + // Type - READ-ONLY; The additional info type. + Type *string `json:"type,omitempty"` + // Info - READ-ONLY; The additional info. + Info interface{} `json:"info,omitempty"` +} + +// ErrorResponse the resource management error response. +type ErrorResponse struct { + // Code - READ-ONLY; The error code. + Code *string `json:"code,omitempty"` + // Message - READ-ONLY; The error message. + Message *string `json:"message,omitempty"` + // Target - READ-ONLY; The error target. + Target *string `json:"target,omitempty"` + // Details - READ-ONLY; The error details. + Details *[]ErrorResponse `json:"details,omitempty"` + // AdditionalInfo - READ-ONLY; The error additional info. + AdditionalInfo *[]ErrorAdditionalInfo `json:"additionalInfo,omitempty"` +} + // GenericResource resource information. type GenericResource struct { autorest.Response `json:"-"` @@ -1752,6 +1779,16 @@ type TargetResource struct { ResourceType *string `json:"resourceType,omitempty"` } +// TemplateHashResult result of the request to calculate template hash. It contains a string of minified +// template and its hash. +type TemplateHashResult struct { + autorest.Response `json:"-"` + // MinifiedTemplate - The minified template string. + MinifiedTemplate *string `json:"minifiedTemplate,omitempty"` + // TemplateHash - The template hash. + TemplateHash *string `json:"templateHash,omitempty"` +} + // TemplateLink entity representing the reference to the template. type TemplateLink struct { // URI - URI referencing the template. diff --git a/services/resources/mgmt/2015-11-01/resources/resourcesapi/interfaces.go b/services/resources/mgmt/2015-11-01/resources/resourcesapi/interfaces.go index ba76d8c1b9cb..b322e9dcb533 100644 --- a/services/resources/mgmt/2015-11-01/resources/resourcesapi/interfaces.go +++ b/services/resources/mgmt/2015-11-01/resources/resourcesapi/interfaces.go @@ -25,6 +25,7 @@ import ( // DeploymentsClientAPI contains the set of methods on the DeploymentsClient type. type DeploymentsClientAPI interface { + CalculateTemplateHash(ctx context.Context, templateParameter interface{}) (result resources.TemplateHashResult, err error) Cancel(ctx context.Context, resourceGroupName string, deploymentName string) (result autorest.Response, err error) CheckExistence(ctx context.Context, resourceGroupName string, deploymentName string) (result autorest.Response, err error) CreateOrUpdate(ctx context.Context, resourceGroupName string, deploymentName string, parameters resources.Deployment) (result resources.DeploymentsCreateOrUpdateFuture, err error) diff --git a/services/resources/mgmt/2016-02-01/resources/deployments.go b/services/resources/mgmt/2016-02-01/resources/deployments.go index 13f3f58a3bf6..184c1fecc82c 100644 --- a/services/resources/mgmt/2016-02-01/resources/deployments.go +++ b/services/resources/mgmt/2016-02-01/resources/deployments.go @@ -41,6 +41,78 @@ func NewDeploymentsClientWithBaseURI(baseURI string, subscriptionID string) Depl return DeploymentsClient{NewWithBaseURI(baseURI, subscriptionID)} } +// CalculateTemplateHash calculate the hash of the given template. +// Parameters: +// templateParameter - the template provided to calculate hash. +func (client DeploymentsClient) CalculateTemplateHash(ctx context.Context, templateParameter interface{}) (result TemplateHashResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeploymentsClient.CalculateTemplateHash") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CalculateTemplateHashPreparer(ctx, templateParameter) + if err != nil { + err = autorest.NewErrorWithError(err, "resources.DeploymentsClient", "CalculateTemplateHash", nil, "Failure preparing request") + return + } + + resp, err := client.CalculateTemplateHashSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "resources.DeploymentsClient", "CalculateTemplateHash", resp, "Failure sending request") + return + } + + result, err = client.CalculateTemplateHashResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "resources.DeploymentsClient", "CalculateTemplateHash", resp, "Failure responding to request") + } + + return +} + +// CalculateTemplateHashPreparer prepares the CalculateTemplateHash request. +func (client DeploymentsClient) CalculateTemplateHashPreparer(ctx context.Context, templateParameter interface{}) (*http.Request, error) { + const APIVersion = "2016-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPath("/providers/Microsoft.Resources/calculateTemplateHash"), + autorest.WithJSON(templateParameter), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CalculateTemplateHashSender sends the CalculateTemplateHash request. The method will close the +// http.Response Body if it receives an error. +func (client DeploymentsClient) CalculateTemplateHashSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// CalculateTemplateHashResponder handles the response to the CalculateTemplateHash request. The method always +// closes the http.Response Body. +func (client DeploymentsClient) CalculateTemplateHashResponder(resp *http.Response) (result TemplateHashResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + // Cancel cancel a currently running template deployment. // Parameters: // resourceGroupName - the name of the resource group. The name is case insensitive. diff --git a/services/resources/mgmt/2016-02-01/resources/models.go b/services/resources/mgmt/2016-02-01/resources/models.go index 8a30b7225307..bfd5e4acb57e 100644 --- a/services/resources/mgmt/2016-02-01/resources/models.go +++ b/services/resources/mgmt/2016-02-01/resources/models.go @@ -85,6 +85,11 @@ type BasicDependency struct { ResourceName *string `json:"resourceName,omitempty"` } +// CloudError an error response for a resource management request. +type CloudError struct { + Error *ErrorResponse `json:"error,omitempty"` +} + // DebugSetting ... type DebugSetting struct { // DetailLevel - The debug detail level. @@ -562,6 +567,28 @@ type DeploymentValidateResult struct { Properties *DeploymentPropertiesExtended `json:"properties,omitempty"` } +// ErrorAdditionalInfo the resource management error additional info. +type ErrorAdditionalInfo struct { + // Type - READ-ONLY; The additional info type. + Type *string `json:"type,omitempty"` + // Info - READ-ONLY; The additional info. + Info interface{} `json:"info,omitempty"` +} + +// ErrorResponse the resource management error response. +type ErrorResponse struct { + // Code - READ-ONLY; The error code. + Code *string `json:"code,omitempty"` + // Message - READ-ONLY; The error message. + Message *string `json:"message,omitempty"` + // Target - READ-ONLY; The error target. + Target *string `json:"target,omitempty"` + // Details - READ-ONLY; The error details. + Details *[]ErrorResponse `json:"details,omitempty"` + // AdditionalInfo - READ-ONLY; The error additional info. + AdditionalInfo *[]ErrorAdditionalInfo `json:"additionalInfo,omitempty"` +} + // ExportTemplateRequest export resource group template request parameters. type ExportTemplateRequest struct { // ResourcesProperty - The IDs of the resources to filter the export by. To export all resources, supply an array with single entry '*'. @@ -1529,6 +1556,16 @@ type TargetResource struct { ResourceType *string `json:"resourceType,omitempty"` } +// TemplateHashResult result of the request to calculate template hash. It contains a string of minified +// template and its hash. +type TemplateHashResult struct { + autorest.Response `json:"-"` + // MinifiedTemplate - The minified template string. + MinifiedTemplate *string `json:"minifiedTemplate,omitempty"` + // TemplateHash - The template hash. + TemplateHash *string `json:"templateHash,omitempty"` +} + // TemplateLink entity representing the reference to the template. type TemplateLink struct { // URI - URI referencing the template. diff --git a/services/resources/mgmt/2016-02-01/resources/resourcesapi/interfaces.go b/services/resources/mgmt/2016-02-01/resources/resourcesapi/interfaces.go index 8f885224ae26..c22dda2f7a85 100644 --- a/services/resources/mgmt/2016-02-01/resources/resourcesapi/interfaces.go +++ b/services/resources/mgmt/2016-02-01/resources/resourcesapi/interfaces.go @@ -25,6 +25,7 @@ import ( // DeploymentsClientAPI contains the set of methods on the DeploymentsClient type. type DeploymentsClientAPI interface { + CalculateTemplateHash(ctx context.Context, templateParameter interface{}) (result resources.TemplateHashResult, err error) Cancel(ctx context.Context, resourceGroupName string, deploymentName string) (result autorest.Response, err error) CheckExistence(ctx context.Context, resourceGroupName string, deploymentName string) (result autorest.Response, err error) CreateOrUpdate(ctx context.Context, resourceGroupName string, deploymentName string, parameters resources.Deployment) (result resources.DeploymentsCreateOrUpdateFuture, err error) diff --git a/services/resources/mgmt/2016-07-01/resources/deployments.go b/services/resources/mgmt/2016-07-01/resources/deployments.go index eedec5aa9d18..19e2307dff36 100644 --- a/services/resources/mgmt/2016-07-01/resources/deployments.go +++ b/services/resources/mgmt/2016-07-01/resources/deployments.go @@ -41,6 +41,78 @@ func NewDeploymentsClientWithBaseURI(baseURI string, subscriptionID string) Depl return DeploymentsClient{NewWithBaseURI(baseURI, subscriptionID)} } +// CalculateTemplateHash calculate the hash of the given template. +// Parameters: +// templateParameter - the template provided to calculate hash. +func (client DeploymentsClient) CalculateTemplateHash(ctx context.Context, templateParameter interface{}) (result TemplateHashResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeploymentsClient.CalculateTemplateHash") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CalculateTemplateHashPreparer(ctx, templateParameter) + if err != nil { + err = autorest.NewErrorWithError(err, "resources.DeploymentsClient", "CalculateTemplateHash", nil, "Failure preparing request") + return + } + + resp, err := client.CalculateTemplateHashSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "resources.DeploymentsClient", "CalculateTemplateHash", resp, "Failure sending request") + return + } + + result, err = client.CalculateTemplateHashResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "resources.DeploymentsClient", "CalculateTemplateHash", resp, "Failure responding to request") + } + + return +} + +// CalculateTemplateHashPreparer prepares the CalculateTemplateHash request. +func (client DeploymentsClient) CalculateTemplateHashPreparer(ctx context.Context, templateParameter interface{}) (*http.Request, error) { + const APIVersion = "2016-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPath("/providers/Microsoft.Resources/calculateTemplateHash"), + autorest.WithJSON(templateParameter), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CalculateTemplateHashSender sends the CalculateTemplateHash request. The method will close the +// http.Response Body if it receives an error. +func (client DeploymentsClient) CalculateTemplateHashSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// CalculateTemplateHashResponder handles the response to the CalculateTemplateHash request. The method always +// closes the http.Response Body. +func (client DeploymentsClient) CalculateTemplateHashResponder(resp *http.Response) (result TemplateHashResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + // Cancel cancel a currently running template deployment. // Parameters: // resourceGroupName - the name of the resource group. The name is case insensitive. diff --git a/services/resources/mgmt/2016-07-01/resources/models.go b/services/resources/mgmt/2016-07-01/resources/models.go index d7ea2a97abc7..1f38702c53c5 100644 --- a/services/resources/mgmt/2016-07-01/resources/models.go +++ b/services/resources/mgmt/2016-07-01/resources/models.go @@ -85,6 +85,11 @@ type BasicDependency struct { ResourceName *string `json:"resourceName,omitempty"` } +// CloudError an error response for a resource management request. +type CloudError struct { + Error *ErrorResponse `json:"error,omitempty"` +} + // DebugSetting ... type DebugSetting struct { // DetailLevel - The debug detail level. @@ -562,6 +567,28 @@ type DeploymentValidateResult struct { Properties *DeploymentPropertiesExtended `json:"properties,omitempty"` } +// ErrorAdditionalInfo the resource management error additional info. +type ErrorAdditionalInfo struct { + // Type - READ-ONLY; The additional info type. + Type *string `json:"type,omitempty"` + // Info - READ-ONLY; The additional info. + Info interface{} `json:"info,omitempty"` +} + +// ErrorResponse the resource management error response. +type ErrorResponse struct { + // Code - READ-ONLY; The error code. + Code *string `json:"code,omitempty"` + // Message - READ-ONLY; The error message. + Message *string `json:"message,omitempty"` + // Target - READ-ONLY; The error target. + Target *string `json:"target,omitempty"` + // Details - READ-ONLY; The error details. + Details *[]ErrorResponse `json:"details,omitempty"` + // AdditionalInfo - READ-ONLY; The error additional info. + AdditionalInfo *[]ErrorAdditionalInfo `json:"additionalInfo,omitempty"` +} + // ExportTemplateRequest export resource group template request parameters. type ExportTemplateRequest struct { // ResourcesProperty - The IDs of the resources to filter the export by. To export all resources, supply an array with single entry '*'. @@ -1529,6 +1556,16 @@ type TargetResource struct { ResourceType *string `json:"resourceType,omitempty"` } +// TemplateHashResult result of the request to calculate template hash. It contains a string of minified +// template and its hash. +type TemplateHashResult struct { + autorest.Response `json:"-"` + // MinifiedTemplate - The minified template string. + MinifiedTemplate *string `json:"minifiedTemplate,omitempty"` + // TemplateHash - The template hash. + TemplateHash *string `json:"templateHash,omitempty"` +} + // TemplateLink entity representing the reference to the template. type TemplateLink struct { // URI - URI referencing the template. diff --git a/services/resources/mgmt/2016-07-01/resources/resourcesapi/interfaces.go b/services/resources/mgmt/2016-07-01/resources/resourcesapi/interfaces.go index 142046fdec6b..6bceb2cfa733 100644 --- a/services/resources/mgmt/2016-07-01/resources/resourcesapi/interfaces.go +++ b/services/resources/mgmt/2016-07-01/resources/resourcesapi/interfaces.go @@ -25,6 +25,7 @@ import ( // DeploymentsClientAPI contains the set of methods on the DeploymentsClient type. type DeploymentsClientAPI interface { + CalculateTemplateHash(ctx context.Context, templateParameter interface{}) (result resources.TemplateHashResult, err error) Cancel(ctx context.Context, resourceGroupName string, deploymentName string) (result autorest.Response, err error) CheckExistence(ctx context.Context, resourceGroupName string, deploymentName string) (result autorest.Response, err error) CreateOrUpdate(ctx context.Context, resourceGroupName string, deploymentName string, parameters resources.Deployment) (result resources.DeploymentsCreateOrUpdateFuture, err error) diff --git a/services/resources/mgmt/2016-09-01/resources/deployments.go b/services/resources/mgmt/2016-09-01/resources/deployments.go index f41ef6b3cd3b..420f4e1c80a2 100644 --- a/services/resources/mgmt/2016-09-01/resources/deployments.go +++ b/services/resources/mgmt/2016-09-01/resources/deployments.go @@ -41,6 +41,78 @@ func NewDeploymentsClientWithBaseURI(baseURI string, subscriptionID string) Depl return DeploymentsClient{NewWithBaseURI(baseURI, subscriptionID)} } +// CalculateTemplateHash calculate the hash of the given template. +// Parameters: +// templateParameter - the template provided to calculate hash. +func (client DeploymentsClient) CalculateTemplateHash(ctx context.Context, templateParameter interface{}) (result TemplateHashResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeploymentsClient.CalculateTemplateHash") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CalculateTemplateHashPreparer(ctx, templateParameter) + if err != nil { + err = autorest.NewErrorWithError(err, "resources.DeploymentsClient", "CalculateTemplateHash", nil, "Failure preparing request") + return + } + + resp, err := client.CalculateTemplateHashSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "resources.DeploymentsClient", "CalculateTemplateHash", resp, "Failure sending request") + return + } + + result, err = client.CalculateTemplateHashResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "resources.DeploymentsClient", "CalculateTemplateHash", resp, "Failure responding to request") + } + + return +} + +// CalculateTemplateHashPreparer prepares the CalculateTemplateHash request. +func (client DeploymentsClient) CalculateTemplateHashPreparer(ctx context.Context, templateParameter interface{}) (*http.Request, error) { + const APIVersion = "2016-09-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPath("/providers/Microsoft.Resources/calculateTemplateHash"), + autorest.WithJSON(templateParameter), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CalculateTemplateHashSender sends the CalculateTemplateHash request. The method will close the +// http.Response Body if it receives an error. +func (client DeploymentsClient) CalculateTemplateHashSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// CalculateTemplateHashResponder handles the response to the CalculateTemplateHash request. The method always +// closes the http.Response Body. +func (client DeploymentsClient) CalculateTemplateHashResponder(resp *http.Response) (result TemplateHashResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + // Cancel you can cancel a deployment only if the provisioningState is Accepted or Running. After the deployment is // canceled, the provisioningState is set to Canceled. Canceling a template deployment stops the currently running // template deployment and leaves the resource group partially deployed. diff --git a/services/resources/mgmt/2016-09-01/resources/models.go b/services/resources/mgmt/2016-09-01/resources/models.go index f6ccee9835ec..9cb5676da067 100644 --- a/services/resources/mgmt/2016-09-01/resources/models.go +++ b/services/resources/mgmt/2016-09-01/resources/models.go @@ -85,6 +85,11 @@ type BasicDependency struct { ResourceName *string `json:"resourceName,omitempty"` } +// CloudError an error response for a resource management request. +type CloudError struct { + Error *ErrorResponse `json:"error,omitempty"` +} + // CreateOrUpdateByIDFuture an abstraction for monitoring and retrieving the results of a long-running // operation. type CreateOrUpdateByIDFuture struct { @@ -664,6 +669,28 @@ type DeploymentValidateResult struct { Properties *DeploymentPropertiesExtended `json:"properties,omitempty"` } +// ErrorAdditionalInfo the resource management error additional info. +type ErrorAdditionalInfo struct { + // Type - READ-ONLY; The additional info type. + Type *string `json:"type,omitempty"` + // Info - READ-ONLY; The additional info. + Info interface{} `json:"info,omitempty"` +} + +// ErrorResponse the resource management error response. +type ErrorResponse struct { + // Code - READ-ONLY; The error code. + Code *string `json:"code,omitempty"` + // Message - READ-ONLY; The error message. + Message *string `json:"message,omitempty"` + // Target - READ-ONLY; The error target. + Target *string `json:"target,omitempty"` + // Details - READ-ONLY; The error details. + Details *[]ErrorResponse `json:"details,omitempty"` + // AdditionalInfo - READ-ONLY; The error additional info. + AdditionalInfo *[]ErrorAdditionalInfo `json:"additionalInfo,omitempty"` +} + // ExportTemplateRequest export resource group template request parameters. type ExportTemplateRequest struct { // ResourcesProperty - The IDs of the resources to filter the export by. To export all resources, supply an array with single entry '*'. @@ -1636,6 +1663,16 @@ type TargetResource struct { ResourceType *string `json:"resourceType,omitempty"` } +// TemplateHashResult result of the request to calculate template hash. It contains a string of minified +// template and its hash. +type TemplateHashResult struct { + autorest.Response `json:"-"` + // MinifiedTemplate - The minified template string. + MinifiedTemplate *string `json:"minifiedTemplate,omitempty"` + // TemplateHash - The template hash. + TemplateHash *string `json:"templateHash,omitempty"` +} + // TemplateLink entity representing the reference to the template. type TemplateLink struct { // URI - The URI of the template to deploy. diff --git a/services/resources/mgmt/2016-09-01/resources/resourcesapi/interfaces.go b/services/resources/mgmt/2016-09-01/resources/resourcesapi/interfaces.go index dbc3fec4f916..51a9fb4ea5ff 100644 --- a/services/resources/mgmt/2016-09-01/resources/resourcesapi/interfaces.go +++ b/services/resources/mgmt/2016-09-01/resources/resourcesapi/interfaces.go @@ -25,6 +25,7 @@ import ( // DeploymentsClientAPI contains the set of methods on the DeploymentsClient type. type DeploymentsClientAPI interface { + CalculateTemplateHash(ctx context.Context, templateParameter interface{}) (result resources.TemplateHashResult, err error) Cancel(ctx context.Context, resourceGroupName string, deploymentName string) (result autorest.Response, err error) CheckExistence(ctx context.Context, resourceGroupName string, deploymentName string) (result autorest.Response, err error) CreateOrUpdate(ctx context.Context, resourceGroupName string, deploymentName string, parameters resources.Deployment) (result resources.DeploymentsCreateOrUpdateFuture, err error) diff --git a/services/resources/mgmt/2017-05-10/resources/deployments.go b/services/resources/mgmt/2017-05-10/resources/deployments.go index fd39477999e1..d37d3a30a93e 100644 --- a/services/resources/mgmt/2017-05-10/resources/deployments.go +++ b/services/resources/mgmt/2017-05-10/resources/deployments.go @@ -41,6 +41,78 @@ func NewDeploymentsClientWithBaseURI(baseURI string, subscriptionID string) Depl return DeploymentsClient{NewWithBaseURI(baseURI, subscriptionID)} } +// CalculateTemplateHash calculate the hash of the given template. +// Parameters: +// templateParameter - the template provided to calculate hash. +func (client DeploymentsClient) CalculateTemplateHash(ctx context.Context, templateParameter interface{}) (result TemplateHashResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeploymentsClient.CalculateTemplateHash") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CalculateTemplateHashPreparer(ctx, templateParameter) + if err != nil { + err = autorest.NewErrorWithError(err, "resources.DeploymentsClient", "CalculateTemplateHash", nil, "Failure preparing request") + return + } + + resp, err := client.CalculateTemplateHashSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "resources.DeploymentsClient", "CalculateTemplateHash", resp, "Failure sending request") + return + } + + result, err = client.CalculateTemplateHashResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "resources.DeploymentsClient", "CalculateTemplateHash", resp, "Failure responding to request") + } + + return +} + +// CalculateTemplateHashPreparer prepares the CalculateTemplateHash request. +func (client DeploymentsClient) CalculateTemplateHashPreparer(ctx context.Context, templateParameter interface{}) (*http.Request, error) { + const APIVersion = "2017-05-10" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPath("/providers/Microsoft.Resources/calculateTemplateHash"), + autorest.WithJSON(templateParameter), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CalculateTemplateHashSender sends the CalculateTemplateHash request. The method will close the +// http.Response Body if it receives an error. +func (client DeploymentsClient) CalculateTemplateHashSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// CalculateTemplateHashResponder handles the response to the CalculateTemplateHash request. The method always +// closes the http.Response Body. +func (client DeploymentsClient) CalculateTemplateHashResponder(resp *http.Response) (result TemplateHashResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + // Cancel you can cancel a deployment only if the provisioningState is Accepted or Running. After the deployment is // canceled, the provisioningState is set to Canceled. Canceling a template deployment stops the currently running // template deployment and leaves the resource group partially deployed. diff --git a/services/resources/mgmt/2017-05-10/resources/models.go b/services/resources/mgmt/2017-05-10/resources/models.go index 3ad29548688d..ca3a353a91fd 100644 --- a/services/resources/mgmt/2017-05-10/resources/models.go +++ b/services/resources/mgmt/2017-05-10/resources/models.go @@ -85,6 +85,11 @@ type BasicDependency struct { ResourceName *string `json:"resourceName,omitempty"` } +// CloudError an error response for a resource management request. +type CloudError struct { + Error *ErrorResponse `json:"error,omitempty"` +} + // CreateOrUpdateByIDFuture an abstraction for monitoring and retrieving the results of a long-running // operation. type CreateOrUpdateByIDFuture struct { @@ -664,6 +669,28 @@ type DeploymentValidateResult struct { Properties *DeploymentPropertiesExtended `json:"properties,omitempty"` } +// ErrorAdditionalInfo the resource management error additional info. +type ErrorAdditionalInfo struct { + // Type - READ-ONLY; The additional info type. + Type *string `json:"type,omitempty"` + // Info - READ-ONLY; The additional info. + Info interface{} `json:"info,omitempty"` +} + +// ErrorResponse the resource management error response. +type ErrorResponse struct { + // Code - READ-ONLY; The error code. + Code *string `json:"code,omitempty"` + // Message - READ-ONLY; The error message. + Message *string `json:"message,omitempty"` + // Target - READ-ONLY; The error target. + Target *string `json:"target,omitempty"` + // Details - READ-ONLY; The error details. + Details *[]ErrorResponse `json:"details,omitempty"` + // AdditionalInfo - READ-ONLY; The error additional info. + AdditionalInfo *[]ErrorAdditionalInfo `json:"additionalInfo,omitempty"` +} + // ExportTemplateRequest export resource group template request parameters. type ExportTemplateRequest struct { // ResourcesProperty - The IDs of the resources to filter the export by. To export all resources, supply an array with single entry '*'. @@ -1667,6 +1694,16 @@ type TargetResource struct { ResourceType *string `json:"resourceType,omitempty"` } +// TemplateHashResult result of the request to calculate template hash. It contains a string of minified +// template and its hash. +type TemplateHashResult struct { + autorest.Response `json:"-"` + // MinifiedTemplate - The minified template string. + MinifiedTemplate *string `json:"minifiedTemplate,omitempty"` + // TemplateHash - The template hash. + TemplateHash *string `json:"templateHash,omitempty"` +} + // TemplateLink entity representing the reference to the template. type TemplateLink struct { // URI - The URI of the template to deploy. diff --git a/services/resources/mgmt/2017-05-10/resources/resourcesapi/interfaces.go b/services/resources/mgmt/2017-05-10/resources/resourcesapi/interfaces.go index 4b937751dbf3..b96760bd4ab7 100644 --- a/services/resources/mgmt/2017-05-10/resources/resourcesapi/interfaces.go +++ b/services/resources/mgmt/2017-05-10/resources/resourcesapi/interfaces.go @@ -25,6 +25,7 @@ import ( // DeploymentsClientAPI contains the set of methods on the DeploymentsClient type. type DeploymentsClientAPI interface { + CalculateTemplateHash(ctx context.Context, templateParameter interface{}) (result resources.TemplateHashResult, err error) Cancel(ctx context.Context, resourceGroupName string, deploymentName string) (result autorest.Response, err error) CheckExistence(ctx context.Context, resourceGroupName string, deploymentName string) (result autorest.Response, err error) CreateOrUpdate(ctx context.Context, resourceGroupName string, deploymentName string, parameters resources.Deployment) (result resources.DeploymentsCreateOrUpdateFuture, err error) diff --git a/services/resources/mgmt/2018-02-01/resources/deployments.go b/services/resources/mgmt/2018-02-01/resources/deployments.go index 30d60648806c..bd475c488953 100644 --- a/services/resources/mgmt/2018-02-01/resources/deployments.go +++ b/services/resources/mgmt/2018-02-01/resources/deployments.go @@ -41,6 +41,78 @@ func NewDeploymentsClientWithBaseURI(baseURI string, subscriptionID string) Depl return DeploymentsClient{NewWithBaseURI(baseURI, subscriptionID)} } +// CalculateTemplateHash calculate the hash of the given template. +// Parameters: +// templateParameter - the template provided to calculate hash. +func (client DeploymentsClient) CalculateTemplateHash(ctx context.Context, templateParameter interface{}) (result TemplateHashResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeploymentsClient.CalculateTemplateHash") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CalculateTemplateHashPreparer(ctx, templateParameter) + if err != nil { + err = autorest.NewErrorWithError(err, "resources.DeploymentsClient", "CalculateTemplateHash", nil, "Failure preparing request") + return + } + + resp, err := client.CalculateTemplateHashSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "resources.DeploymentsClient", "CalculateTemplateHash", resp, "Failure sending request") + return + } + + result, err = client.CalculateTemplateHashResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "resources.DeploymentsClient", "CalculateTemplateHash", resp, "Failure responding to request") + } + + return +} + +// CalculateTemplateHashPreparer prepares the CalculateTemplateHash request. +func (client DeploymentsClient) CalculateTemplateHashPreparer(ctx context.Context, templateParameter interface{}) (*http.Request, error) { + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPath("/providers/Microsoft.Resources/calculateTemplateHash"), + autorest.WithJSON(templateParameter), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CalculateTemplateHashSender sends the CalculateTemplateHash request. The method will close the +// http.Response Body if it receives an error. +func (client DeploymentsClient) CalculateTemplateHashSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// CalculateTemplateHashResponder handles the response to the CalculateTemplateHash request. The method always +// closes the http.Response Body. +func (client DeploymentsClient) CalculateTemplateHashResponder(resp *http.Response) (result TemplateHashResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + // Cancel you can cancel a deployment only if the provisioningState is Accepted or Running. After the deployment is // canceled, the provisioningState is set to Canceled. Canceling a template deployment stops the currently running // template deployment and leaves the resource group partially deployed. diff --git a/services/resources/mgmt/2018-02-01/resources/models.go b/services/resources/mgmt/2018-02-01/resources/models.go index c5add3c7e999..45e502f42333 100644 --- a/services/resources/mgmt/2018-02-01/resources/models.go +++ b/services/resources/mgmt/2018-02-01/resources/models.go @@ -106,6 +106,11 @@ type BasicDependency struct { ResourceName *string `json:"resourceName,omitempty"` } +// CloudError an error response for a resource management request. +type CloudError struct { + Error *ErrorResponse `json:"error,omitempty"` +} + // CreateOrUpdateByIDFuture an abstraction for monitoring and retrieving the results of a long-running // operation. type CreateOrUpdateByIDFuture struct { @@ -689,6 +694,28 @@ type DeploymentValidateResult struct { Properties *DeploymentPropertiesExtended `json:"properties,omitempty"` } +// ErrorAdditionalInfo the resource management error additional info. +type ErrorAdditionalInfo struct { + // Type - READ-ONLY; The additional info type. + Type *string `json:"type,omitempty"` + // Info - READ-ONLY; The additional info. + Info interface{} `json:"info,omitempty"` +} + +// ErrorResponse the resource management error response. +type ErrorResponse struct { + // Code - READ-ONLY; The error code. + Code *string `json:"code,omitempty"` + // Message - READ-ONLY; The error message. + Message *string `json:"message,omitempty"` + // Target - READ-ONLY; The error target. + Target *string `json:"target,omitempty"` + // Details - READ-ONLY; The error details. + Details *[]ErrorResponse `json:"details,omitempty"` + // AdditionalInfo - READ-ONLY; The error additional info. + AdditionalInfo *[]ErrorAdditionalInfo `json:"additionalInfo,omitempty"` +} + // ExportTemplateRequest export resource group template request parameters. type ExportTemplateRequest struct { // ResourcesProperty - The IDs of the resources to filter the export by. To export all resources, supply an array with single entry '*'. @@ -1710,6 +1737,16 @@ type TargetResource struct { ResourceType *string `json:"resourceType,omitempty"` } +// TemplateHashResult result of the request to calculate template hash. It contains a string of minified +// template and its hash. +type TemplateHashResult struct { + autorest.Response `json:"-"` + // MinifiedTemplate - The minified template string. + MinifiedTemplate *string `json:"minifiedTemplate,omitempty"` + // TemplateHash - The template hash. + TemplateHash *string `json:"templateHash,omitempty"` +} + // TemplateLink entity representing the reference to the template. type TemplateLink struct { // URI - The URI of the template to deploy. diff --git a/services/resources/mgmt/2018-02-01/resources/resourcesapi/interfaces.go b/services/resources/mgmt/2018-02-01/resources/resourcesapi/interfaces.go index aea77d85b4c6..86a9d02aac53 100644 --- a/services/resources/mgmt/2018-02-01/resources/resourcesapi/interfaces.go +++ b/services/resources/mgmt/2018-02-01/resources/resourcesapi/interfaces.go @@ -25,6 +25,7 @@ import ( // DeploymentsClientAPI contains the set of methods on the DeploymentsClient type. type DeploymentsClientAPI interface { + CalculateTemplateHash(ctx context.Context, templateParameter interface{}) (result resources.TemplateHashResult, err error) Cancel(ctx context.Context, resourceGroupName string, deploymentName string) (result autorest.Response, err error) CheckExistence(ctx context.Context, resourceGroupName string, deploymentName string) (result autorest.Response, err error) CreateOrUpdate(ctx context.Context, resourceGroupName string, deploymentName string, parameters resources.Deployment) (result resources.DeploymentsCreateOrUpdateFuture, err error) diff --git a/services/resources/mgmt/2018-05-01/resources/deployments.go b/services/resources/mgmt/2018-05-01/resources/deployments.go index 3b29109294eb..24aca4044097 100644 --- a/services/resources/mgmt/2018-05-01/resources/deployments.go +++ b/services/resources/mgmt/2018-05-01/resources/deployments.go @@ -41,6 +41,78 @@ func NewDeploymentsClientWithBaseURI(baseURI string, subscriptionID string) Depl return DeploymentsClient{NewWithBaseURI(baseURI, subscriptionID)} } +// CalculateTemplateHash calculate the hash of the given template. +// Parameters: +// templateParameter - the template provided to calculate hash. +func (client DeploymentsClient) CalculateTemplateHash(ctx context.Context, templateParameter interface{}) (result TemplateHashResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeploymentsClient.CalculateTemplateHash") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CalculateTemplateHashPreparer(ctx, templateParameter) + if err != nil { + err = autorest.NewErrorWithError(err, "resources.DeploymentsClient", "CalculateTemplateHash", nil, "Failure preparing request") + return + } + + resp, err := client.CalculateTemplateHashSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "resources.DeploymentsClient", "CalculateTemplateHash", resp, "Failure sending request") + return + } + + result, err = client.CalculateTemplateHashResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "resources.DeploymentsClient", "CalculateTemplateHash", resp, "Failure responding to request") + } + + return +} + +// CalculateTemplateHashPreparer prepares the CalculateTemplateHash request. +func (client DeploymentsClient) CalculateTemplateHashPreparer(ctx context.Context, templateParameter interface{}) (*http.Request, error) { + const APIVersion = "2018-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPath("/providers/Microsoft.Resources/calculateTemplateHash"), + autorest.WithJSON(templateParameter), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CalculateTemplateHashSender sends the CalculateTemplateHash request. The method will close the +// http.Response Body if it receives an error. +func (client DeploymentsClient) CalculateTemplateHashSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// CalculateTemplateHashResponder handles the response to the CalculateTemplateHash request. The method always +// closes the http.Response Body. +func (client DeploymentsClient) CalculateTemplateHashResponder(resp *http.Response) (result TemplateHashResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + // Cancel you can cancel a deployment only if the provisioningState is Accepted or Running. After the deployment is // canceled, the provisioningState is set to Canceled. Canceling a template deployment stops the currently running // template deployment and leaves the resource group partially deployed. diff --git a/services/resources/mgmt/2018-05-01/resources/models.go b/services/resources/mgmt/2018-05-01/resources/models.go index 6e1d4d758c40..bbe2e398e39d 100644 --- a/services/resources/mgmt/2018-05-01/resources/models.go +++ b/services/resources/mgmt/2018-05-01/resources/models.go @@ -106,6 +106,11 @@ type BasicDependency struct { ResourceName *string `json:"resourceName,omitempty"` } +// CloudError an error response for a resource management request. +type CloudError struct { + Error *ErrorResponse `json:"error,omitempty"` +} + // CreateOrUpdateByIDFuture an abstraction for monitoring and retrieving the results of a long-running // operation. type CreateOrUpdateByIDFuture struct { @@ -747,6 +752,28 @@ type DeploymentValidateResult struct { Properties *DeploymentPropertiesExtended `json:"properties,omitempty"` } +// ErrorAdditionalInfo the resource management error additional info. +type ErrorAdditionalInfo struct { + // Type - READ-ONLY; The additional info type. + Type *string `json:"type,omitempty"` + // Info - READ-ONLY; The additional info. + Info interface{} `json:"info,omitempty"` +} + +// ErrorResponse the resource management error response. +type ErrorResponse struct { + // Code - READ-ONLY; The error code. + Code *string `json:"code,omitempty"` + // Message - READ-ONLY; The error message. + Message *string `json:"message,omitempty"` + // Target - READ-ONLY; The error target. + Target *string `json:"target,omitempty"` + // Details - READ-ONLY; The error details. + Details *[]ErrorResponse `json:"details,omitempty"` + // AdditionalInfo - READ-ONLY; The error additional info. + AdditionalInfo *[]ErrorAdditionalInfo `json:"additionalInfo,omitempty"` +} + // ExportTemplateRequest export resource group template request parameters. type ExportTemplateRequest struct { // ResourcesProperty - The IDs of the resources to filter the export by. To export all resources, supply an array with single entry '*'. @@ -1956,6 +1983,16 @@ type TargetResource struct { ResourceType *string `json:"resourceType,omitempty"` } +// TemplateHashResult result of the request to calculate template hash. It contains a string of minified +// template and its hash. +type TemplateHashResult struct { + autorest.Response `json:"-"` + // MinifiedTemplate - The minified template string. + MinifiedTemplate *string `json:"minifiedTemplate,omitempty"` + // TemplateHash - The template hash. + TemplateHash *string `json:"templateHash,omitempty"` +} + // TemplateLink entity representing the reference to the template. type TemplateLink struct { // URI - The URI of the template to deploy. diff --git a/services/resources/mgmt/2018-05-01/resources/resourcesapi/interfaces.go b/services/resources/mgmt/2018-05-01/resources/resourcesapi/interfaces.go index 1b5dd50dd571..d8b1ac7b04fc 100644 --- a/services/resources/mgmt/2018-05-01/resources/resourcesapi/interfaces.go +++ b/services/resources/mgmt/2018-05-01/resources/resourcesapi/interfaces.go @@ -32,6 +32,7 @@ var _ OperationsClientAPI = (*resources.OperationsClient)(nil) // DeploymentsClientAPI contains the set of methods on the DeploymentsClient type. type DeploymentsClientAPI interface { + CalculateTemplateHash(ctx context.Context, templateParameter interface{}) (result resources.TemplateHashResult, err error) Cancel(ctx context.Context, resourceGroupName string, deploymentName string) (result autorest.Response, err error) CancelAtSubscriptionScope(ctx context.Context, deploymentName string) (result autorest.Response, err error) CheckExistence(ctx context.Context, resourceGroupName string, deploymentName string) (result autorest.Response, err error) diff --git a/services/resources/mgmt/2019-03-01/resources/deployments.go b/services/resources/mgmt/2019-03-01/resources/deployments.go index 47edc33ed436..b65dff16bbd3 100644 --- a/services/resources/mgmt/2019-03-01/resources/deployments.go +++ b/services/resources/mgmt/2019-03-01/resources/deployments.go @@ -41,6 +41,78 @@ func NewDeploymentsClientWithBaseURI(baseURI string, subscriptionID string) Depl return DeploymentsClient{NewWithBaseURI(baseURI, subscriptionID)} } +// CalculateTemplateHash calculate the hash of the given template. +// Parameters: +// templateParameter - the template provided to calculate hash. +func (client DeploymentsClient) CalculateTemplateHash(ctx context.Context, templateParameter interface{}) (result TemplateHashResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeploymentsClient.CalculateTemplateHash") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CalculateTemplateHashPreparer(ctx, templateParameter) + if err != nil { + err = autorest.NewErrorWithError(err, "resources.DeploymentsClient", "CalculateTemplateHash", nil, "Failure preparing request") + return + } + + resp, err := client.CalculateTemplateHashSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "resources.DeploymentsClient", "CalculateTemplateHash", resp, "Failure sending request") + return + } + + result, err = client.CalculateTemplateHashResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "resources.DeploymentsClient", "CalculateTemplateHash", resp, "Failure responding to request") + } + + return +} + +// CalculateTemplateHashPreparer prepares the CalculateTemplateHash request. +func (client DeploymentsClient) CalculateTemplateHashPreparer(ctx context.Context, templateParameter interface{}) (*http.Request, error) { + const APIVersion = "2019-03-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPath("/providers/Microsoft.Resources/calculateTemplateHash"), + autorest.WithJSON(templateParameter), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CalculateTemplateHashSender sends the CalculateTemplateHash request. The method will close the +// http.Response Body if it receives an error. +func (client DeploymentsClient) CalculateTemplateHashSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// CalculateTemplateHashResponder handles the response to the CalculateTemplateHash request. The method always +// closes the http.Response Body. +func (client DeploymentsClient) CalculateTemplateHashResponder(resp *http.Response) (result TemplateHashResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + // Cancel you can cancel a deployment only if the provisioningState is Accepted or Running. After the deployment is // canceled, the provisioningState is set to Canceled. Canceling a template deployment stops the currently running // template deployment and leaves the resource group partially deployed. diff --git a/services/resources/mgmt/2019-03-01/resources/models.go b/services/resources/mgmt/2019-03-01/resources/models.go index 194aabca5a8a..5a354d589684 100644 --- a/services/resources/mgmt/2019-03-01/resources/models.go +++ b/services/resources/mgmt/2019-03-01/resources/models.go @@ -106,6 +106,11 @@ type BasicDependency struct { ResourceName *string `json:"resourceName,omitempty"` } +// CloudError an error response for a resource management request. +type CloudError struct { + Error *ErrorResponse `json:"error,omitempty"` +} + // CreateOrUpdateByIDFuture an abstraction for monitoring and retrieving the results of a long-running // operation. type CreateOrUpdateByIDFuture struct { @@ -747,6 +752,28 @@ type DeploymentValidateResult struct { Properties *DeploymentPropertiesExtended `json:"properties,omitempty"` } +// ErrorAdditionalInfo the resource management error additional info. +type ErrorAdditionalInfo struct { + // Type - READ-ONLY; The additional info type. + Type *string `json:"type,omitempty"` + // Info - READ-ONLY; The additional info. + Info interface{} `json:"info,omitempty"` +} + +// ErrorResponse the resource management error response. +type ErrorResponse struct { + // Code - READ-ONLY; The error code. + Code *string `json:"code,omitempty"` + // Message - READ-ONLY; The error message. + Message *string `json:"message,omitempty"` + // Target - READ-ONLY; The error target. + Target *string `json:"target,omitempty"` + // Details - READ-ONLY; The error details. + Details *[]ErrorResponse `json:"details,omitempty"` + // AdditionalInfo - READ-ONLY; The error additional info. + AdditionalInfo *[]ErrorAdditionalInfo `json:"additionalInfo,omitempty"` +} + // ExportTemplateRequest export resource group template request parameters. type ExportTemplateRequest struct { // ResourcesProperty - The IDs of the resources to filter the export by. To export all resources, supply an array with single entry '*'. @@ -1963,6 +1990,16 @@ type TargetResource struct { ResourceType *string `json:"resourceType,omitempty"` } +// TemplateHashResult result of the request to calculate template hash. It contains a string of minified +// template and its hash. +type TemplateHashResult struct { + autorest.Response `json:"-"` + // MinifiedTemplate - The minified template string. + MinifiedTemplate *string `json:"minifiedTemplate,omitempty"` + // TemplateHash - The template hash. + TemplateHash *string `json:"templateHash,omitempty"` +} + // TemplateLink entity representing the reference to the template. type TemplateLink struct { // URI - The URI of the template to deploy. diff --git a/services/resources/mgmt/2019-03-01/resources/resourcesapi/interfaces.go b/services/resources/mgmt/2019-03-01/resources/resourcesapi/interfaces.go index 34d5c9072064..646618e0916d 100644 --- a/services/resources/mgmt/2019-03-01/resources/resourcesapi/interfaces.go +++ b/services/resources/mgmt/2019-03-01/resources/resourcesapi/interfaces.go @@ -32,6 +32,7 @@ var _ OperationsClientAPI = (*resources.OperationsClient)(nil) // DeploymentsClientAPI contains the set of methods on the DeploymentsClient type. type DeploymentsClientAPI interface { + CalculateTemplateHash(ctx context.Context, templateParameter interface{}) (result resources.TemplateHashResult, err error) Cancel(ctx context.Context, resourceGroupName string, deploymentName string) (result autorest.Response, err error) CancelAtSubscriptionScope(ctx context.Context, deploymentName string) (result autorest.Response, err error) CheckExistence(ctx context.Context, resourceGroupName string, deploymentName string) (result autorest.Response, err error) diff --git a/services/resources/mgmt/2019-05-01/resources/deployments.go b/services/resources/mgmt/2019-05-01/resources/deployments.go index 02698bcdd9e0..5046f3d6d829 100644 --- a/services/resources/mgmt/2019-05-01/resources/deployments.go +++ b/services/resources/mgmt/2019-05-01/resources/deployments.go @@ -41,6 +41,78 @@ func NewDeploymentsClientWithBaseURI(baseURI string, subscriptionID string) Depl return DeploymentsClient{NewWithBaseURI(baseURI, subscriptionID)} } +// CalculateTemplateHash calculate the hash of the given template. +// Parameters: +// templateParameter - the template provided to calculate hash. +func (client DeploymentsClient) CalculateTemplateHash(ctx context.Context, templateParameter interface{}) (result TemplateHashResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeploymentsClient.CalculateTemplateHash") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CalculateTemplateHashPreparer(ctx, templateParameter) + if err != nil { + err = autorest.NewErrorWithError(err, "resources.DeploymentsClient", "CalculateTemplateHash", nil, "Failure preparing request") + return + } + + resp, err := client.CalculateTemplateHashSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "resources.DeploymentsClient", "CalculateTemplateHash", resp, "Failure sending request") + return + } + + result, err = client.CalculateTemplateHashResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "resources.DeploymentsClient", "CalculateTemplateHash", resp, "Failure responding to request") + } + + return +} + +// CalculateTemplateHashPreparer prepares the CalculateTemplateHash request. +func (client DeploymentsClient) CalculateTemplateHashPreparer(ctx context.Context, templateParameter interface{}) (*http.Request, error) { + const APIVersion = "2019-05-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPath("/providers/Microsoft.Resources/calculateTemplateHash"), + autorest.WithJSON(templateParameter), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CalculateTemplateHashSender sends the CalculateTemplateHash request. The method will close the +// http.Response Body if it receives an error. +func (client DeploymentsClient) CalculateTemplateHashSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// CalculateTemplateHashResponder handles the response to the CalculateTemplateHash request. The method always +// closes the http.Response Body. +func (client DeploymentsClient) CalculateTemplateHashResponder(resp *http.Response) (result TemplateHashResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + // Cancel you can cancel a deployment only if the provisioningState is Accepted or Running. After the deployment is // canceled, the provisioningState is set to Canceled. Canceling a template deployment stops the currently running // template deployment and leaves the resource group partially deployed. diff --git a/services/resources/mgmt/2019-05-01/resources/models.go b/services/resources/mgmt/2019-05-01/resources/models.go index b7b48feace97..89c032785eab 100644 --- a/services/resources/mgmt/2019-05-01/resources/models.go +++ b/services/resources/mgmt/2019-05-01/resources/models.go @@ -106,6 +106,11 @@ type BasicDependency struct { ResourceName *string `json:"resourceName,omitempty"` } +// CloudError an error response for a resource management request. +type CloudError struct { + Error *ErrorResponse `json:"error,omitempty"` +} + // CreateOrUpdateByIDFuture an abstraction for monitoring and retrieving the results of a long-running // operation. type CreateOrUpdateByIDFuture struct { @@ -803,6 +808,28 @@ type DeploymentValidateResult struct { Properties *DeploymentPropertiesExtended `json:"properties,omitempty"` } +// ErrorAdditionalInfo the resource management error additional info. +type ErrorAdditionalInfo struct { + // Type - READ-ONLY; The additional info type. + Type *string `json:"type,omitempty"` + // Info - READ-ONLY; The additional info. + Info interface{} `json:"info,omitempty"` +} + +// ErrorResponse the resource management error response. +type ErrorResponse struct { + // Code - READ-ONLY; The error code. + Code *string `json:"code,omitempty"` + // Message - READ-ONLY; The error message. + Message *string `json:"message,omitempty"` + // Target - READ-ONLY; The error target. + Target *string `json:"target,omitempty"` + // Details - READ-ONLY; The error details. + Details *[]ErrorResponse `json:"details,omitempty"` + // AdditionalInfo - READ-ONLY; The error additional info. + AdditionalInfo *[]ErrorAdditionalInfo `json:"additionalInfo,omitempty"` +} + // ExportTemplateRequest export resource group template request parameters. type ExportTemplateRequest struct { // ResourcesProperty - The IDs of the resources to filter the export by. To export all resources, supply an array with single entry '*'. @@ -2021,6 +2048,16 @@ type TargetResource struct { ResourceType *string `json:"resourceType,omitempty"` } +// TemplateHashResult result of the request to calculate template hash. It contains a string of minified +// template and its hash. +type TemplateHashResult struct { + autorest.Response `json:"-"` + // MinifiedTemplate - The minified template string. + MinifiedTemplate *string `json:"minifiedTemplate,omitempty"` + // TemplateHash - The template hash. + TemplateHash *string `json:"templateHash,omitempty"` +} + // TemplateLink entity representing the reference to the template. type TemplateLink struct { // URI - The URI of the template to deploy. diff --git a/services/resources/mgmt/2019-05-01/resources/resourcesapi/interfaces.go b/services/resources/mgmt/2019-05-01/resources/resourcesapi/interfaces.go index 76208f6f3c83..86bfcb54ac54 100644 --- a/services/resources/mgmt/2019-05-01/resources/resourcesapi/interfaces.go +++ b/services/resources/mgmt/2019-05-01/resources/resourcesapi/interfaces.go @@ -32,6 +32,7 @@ var _ OperationsClientAPI = (*resources.OperationsClient)(nil) // DeploymentsClientAPI contains the set of methods on the DeploymentsClient type. type DeploymentsClientAPI interface { + CalculateTemplateHash(ctx context.Context, templateParameter interface{}) (result resources.TemplateHashResult, err error) Cancel(ctx context.Context, resourceGroupName string, deploymentName string) (result autorest.Response, err error) CancelAtManagementGroupScope(ctx context.Context, groupID string, deploymentName string) (result autorest.Response, err error) CancelAtSubscriptionScope(ctx context.Context, deploymentName string) (result autorest.Response, err error) diff --git a/services/batch/2015-12-01.2.2/batch/client.go b/services/resources/mgmt/2019-06-01/subscriptions/client.go similarity index 69% rename from services/batch/2015-12-01.2.2/batch/client.go rename to services/resources/mgmt/2019-06-01/subscriptions/client.go index 463de1712229..7e071c044763 100644 --- a/services/batch/2015-12-01.2.2/batch/client.go +++ b/services/resources/mgmt/2019-06-01/subscriptions/client.go @@ -1,7 +1,9 @@ -// Package batch implements the Azure ARM Batch service API version 2015-12-01.2.2. +// Package subscriptions implements the Azure ARM Subscriptions service API version 2019-06-01. // -// A client for issuing REST requests to the Azure Batch service. -package batch +// All resource groups and resources exist within subscriptions. These operation enable you get information about your +// subscriptions and tenants. A tenant is a dedicated instance of Azure Active Directory (Azure AD) for your +// organization. +package subscriptions // Copyright (c) Microsoft and contributors. All rights reserved. // @@ -25,11 +27,11 @@ import ( ) const ( - // DefaultBaseURI is the default URI used for the service Batch - DefaultBaseURI = "https://batch.core.windows.net" + // DefaultBaseURI is the default URI used for the service Subscriptions + DefaultBaseURI = "https://management.azure.com" ) -// BaseClient is the base client for Batch. +// BaseClient is the base client for Subscriptions. type BaseClient struct { autorest.Client BaseURI string diff --git a/services/resources/mgmt/2019-06-01/subscriptions/models.go b/services/resources/mgmt/2019-06-01/subscriptions/models.go new file mode 100644 index 000000000000..fe0706d261a0 --- /dev/null +++ b/services/resources/mgmt/2019-06-01/subscriptions/models.go @@ -0,0 +1,594 @@ +package subscriptions + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/to" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// The package's fully qualified name. +const fqdn = "github.com/Azure/azure-sdk-for-go/services/resources/mgmt/2019-06-01/subscriptions" + +// SpendingLimit enumerates the values for spending limit. +type SpendingLimit string + +const ( + // CurrentPeriodOff ... + CurrentPeriodOff SpendingLimit = "CurrentPeriodOff" + // Off ... + Off SpendingLimit = "Off" + // On ... + On SpendingLimit = "On" +) + +// PossibleSpendingLimitValues returns an array of possible values for the SpendingLimit const type. +func PossibleSpendingLimitValues() []SpendingLimit { + return []SpendingLimit{CurrentPeriodOff, Off, On} +} + +// State enumerates the values for state. +type State string + +const ( + // Deleted ... + Deleted State = "Deleted" + // Disabled ... + Disabled State = "Disabled" + // Enabled ... + Enabled State = "Enabled" + // PastDue ... + PastDue State = "PastDue" + // Warned ... + Warned State = "Warned" +) + +// PossibleStateValues returns an array of possible values for the State const type. +func PossibleStateValues() []State { + return []State{Deleted, Disabled, Enabled, PastDue, Warned} +} + +// ListResult subscription list operation response. +type ListResult struct { + autorest.Response `json:"-"` + // Value - An array of subscriptions. + Value *[]Subscription `json:"value,omitempty"` + // NextLink - The URL to get the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// ListResultIterator provides access to a complete listing of Subscription values. +type ListResultIterator struct { + i int + page ListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *ListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *ListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter ListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter ListResultIterator) Response() ListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter ListResultIterator) Value() Subscription { + if !iter.page.NotDone() { + return Subscription{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the ListResultIterator type. +func NewListResultIterator(page ListResultPage) ListResultIterator { + return ListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (lr ListResult) IsEmpty() bool { + return lr.Value == nil || len(*lr.Value) == 0 +} + +// listResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (lr ListResult) listResultPreparer(ctx context.Context) (*http.Request, error) { + if lr.NextLink == nil || len(to.String(lr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(lr.NextLink))) +} + +// ListResultPage contains a page of Subscription values. +type ListResultPage struct { + fn func(context.Context, ListResult) (ListResult, error) + lr ListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *ListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.lr) + if err != nil { + return err + } + page.lr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *ListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page ListResultPage) NotDone() bool { + return !page.lr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page ListResultPage) Response() ListResult { + return page.lr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page ListResultPage) Values() []Subscription { + if page.lr.IsEmpty() { + return nil + } + return *page.lr.Value +} + +// Creates a new instance of the ListResultPage type. +func NewListResultPage(getNextPage func(context.Context, ListResult) (ListResult, error)) ListResultPage { + return ListResultPage{fn: getNextPage} +} + +// Location location information. +type Location struct { + // ID - READ-ONLY; The fully qualified ID of the location. For example, /subscriptions/00000000-0000-0000-0000-000000000000/locations/westus. + ID *string `json:"id,omitempty"` + // SubscriptionID - READ-ONLY; The subscription ID. + SubscriptionID *string `json:"subscriptionId,omitempty"` + // Name - READ-ONLY; The location name. + Name *string `json:"name,omitempty"` + // DisplayName - READ-ONLY; The display name of the location. + DisplayName *string `json:"displayName,omitempty"` + // Latitude - READ-ONLY; The latitude of the location. + Latitude *string `json:"latitude,omitempty"` + // Longitude - READ-ONLY; The longitude of the location. + Longitude *string `json:"longitude,omitempty"` +} + +// LocationListResult location list operation response. +type LocationListResult struct { + autorest.Response `json:"-"` + // Value - An array of locations. + Value *[]Location `json:"value,omitempty"` +} + +// ManagedByTenant information about a tenant managing the subscription. +type ManagedByTenant struct { + // TenantID - READ-ONLY; The tenant ID of the managing tenant. This is a GUID. + TenantID *string `json:"tenantId,omitempty"` +} + +// Operation microsoft.Resources operation +type Operation struct { + // Name - Operation name: {provider}/{resource}/{operation} + Name *string `json:"name,omitempty"` + // Display - The object that represents the operation. + Display *OperationDisplay `json:"display,omitempty"` +} + +// OperationDisplay the object that represents the operation. +type OperationDisplay struct { + // Provider - Service provider: Microsoft.Resources + Provider *string `json:"provider,omitempty"` + // Resource - Resource on which the operation is performed: Profile, endpoint, etc. + Resource *string `json:"resource,omitempty"` + // Operation - Operation type: Read, write, delete, etc. + Operation *string `json:"operation,omitempty"` + // Description - Description of the operation. + Description *string `json:"description,omitempty"` +} + +// OperationListResult result of the request to list Microsoft.Resources operations. It contains a list of +// operations and a URL link to get the next set of results. +type OperationListResult struct { + autorest.Response `json:"-"` + // Value - List of Microsoft.Resources operations. + Value *[]Operation `json:"value,omitempty"` + // NextLink - URL to get the next set of operation list results if there are any. + NextLink *string `json:"nextLink,omitempty"` +} + +// OperationListResultIterator provides access to a complete listing of Operation values. +type OperationListResultIterator struct { + i int + page OperationListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *OperationListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/OperationListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *OperationListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter OperationListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter OperationListResultIterator) Response() OperationListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter OperationListResultIterator) Value() Operation { + if !iter.page.NotDone() { + return Operation{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the OperationListResultIterator type. +func NewOperationListResultIterator(page OperationListResultPage) OperationListResultIterator { + return OperationListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (olr OperationListResult) IsEmpty() bool { + return olr.Value == nil || len(*olr.Value) == 0 +} + +// operationListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (olr OperationListResult) operationListResultPreparer(ctx context.Context) (*http.Request, error) { + if olr.NextLink == nil || len(to.String(olr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(olr.NextLink))) +} + +// OperationListResultPage contains a page of Operation values. +type OperationListResultPage struct { + fn func(context.Context, OperationListResult) (OperationListResult, error) + olr OperationListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *OperationListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/OperationListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.olr) + if err != nil { + return err + } + page.olr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *OperationListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page OperationListResultPage) NotDone() bool { + return !page.olr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page OperationListResultPage) Response() OperationListResult { + return page.olr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page OperationListResultPage) Values() []Operation { + if page.olr.IsEmpty() { + return nil + } + return *page.olr.Value +} + +// Creates a new instance of the OperationListResultPage type. +func NewOperationListResultPage(getNextPage func(context.Context, OperationListResult) (OperationListResult, error)) OperationListResultPage { + return OperationListResultPage{fn: getNextPage} +} + +// Policies subscription policies. +type Policies struct { + // LocationPlacementID - READ-ONLY; The subscription location placement ID. The ID indicates which regions are visible for a subscription. For example, a subscription with a location placement Id of Public_2014-09-01 has access to Azure public regions. + LocationPlacementID *string `json:"locationPlacementId,omitempty"` + // QuotaID - READ-ONLY; The subscription quota ID. + QuotaID *string `json:"quotaId,omitempty"` + // SpendingLimit - READ-ONLY; The subscription spending limit. Possible values include: 'On', 'Off', 'CurrentPeriodOff' + SpendingLimit SpendingLimit `json:"spendingLimit,omitempty"` +} + +// Subscription subscription information. +type Subscription struct { + autorest.Response `json:"-"` + // ID - READ-ONLY; The fully qualified ID for the subscription. For example, /subscriptions/00000000-0000-0000-0000-000000000000. + ID *string `json:"id,omitempty"` + // SubscriptionID - READ-ONLY; The subscription ID. + SubscriptionID *string `json:"subscriptionId,omitempty"` + // DisplayName - READ-ONLY; The subscription display name. + DisplayName *string `json:"displayName,omitempty"` + // TenantID - READ-ONLY; The subscription tenant ID. + TenantID *string `json:"tenantId,omitempty"` + // State - READ-ONLY; The subscription state. Possible values are Enabled, Warned, PastDue, Disabled, and Deleted. Possible values include: 'Enabled', 'Warned', 'PastDue', 'Disabled', 'Deleted' + State State `json:"state,omitempty"` + // SubscriptionPolicies - The subscription policies. + SubscriptionPolicies *Policies `json:"subscriptionPolicies,omitempty"` + // AuthorizationSource - The authorization source of the request. Valid values are one or more combinations of Legacy, RoleBased, Bypassed, Direct and Management. For example, 'Legacy, RoleBased'. + AuthorizationSource *string `json:"authorizationSource,omitempty"` + // ManagedByTenants - An array containing the tenants managing the subscription. + ManagedByTenants *[]ManagedByTenant `json:"managedByTenants,omitempty"` +} + +// TenantIDDescription tenant Id information. +type TenantIDDescription struct { + // ID - READ-ONLY; The fully qualified ID of the tenant. For example, /tenants/00000000-0000-0000-0000-000000000000. + ID *string `json:"id,omitempty"` + // TenantID - READ-ONLY; The tenant ID. For example, 00000000-0000-0000-0000-000000000000. + TenantID *string `json:"tenantId,omitempty"` +} + +// TenantListResult tenant Ids information. +type TenantListResult struct { + autorest.Response `json:"-"` + // Value - An array of tenants. + Value *[]TenantIDDescription `json:"value,omitempty"` + // NextLink - The URL to use for getting the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// TenantListResultIterator provides access to a complete listing of TenantIDDescription values. +type TenantListResultIterator struct { + i int + page TenantListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *TenantListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/TenantListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *TenantListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter TenantListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter TenantListResultIterator) Response() TenantListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter TenantListResultIterator) Value() TenantIDDescription { + if !iter.page.NotDone() { + return TenantIDDescription{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the TenantListResultIterator type. +func NewTenantListResultIterator(page TenantListResultPage) TenantListResultIterator { + return TenantListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (tlr TenantListResult) IsEmpty() bool { + return tlr.Value == nil || len(*tlr.Value) == 0 +} + +// tenantListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (tlr TenantListResult) tenantListResultPreparer(ctx context.Context) (*http.Request, error) { + if tlr.NextLink == nil || len(to.String(tlr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(tlr.NextLink))) +} + +// TenantListResultPage contains a page of TenantIDDescription values. +type TenantListResultPage struct { + fn func(context.Context, TenantListResult) (TenantListResult, error) + tlr TenantListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *TenantListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/TenantListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.tlr) + if err != nil { + return err + } + page.tlr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *TenantListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page TenantListResultPage) NotDone() bool { + return !page.tlr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page TenantListResultPage) Response() TenantListResult { + return page.tlr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page TenantListResultPage) Values() []TenantIDDescription { + if page.tlr.IsEmpty() { + return nil + } + return *page.tlr.Value +} + +// Creates a new instance of the TenantListResultPage type. +func NewTenantListResultPage(getNextPage func(context.Context, TenantListResult) (TenantListResult, error)) TenantListResultPage { + return TenantListResultPage{fn: getNextPage} +} diff --git a/services/resources/mgmt/2019-06-01/subscriptions/operations.go b/services/resources/mgmt/2019-06-01/subscriptions/operations.go new file mode 100644 index 000000000000..fe16bb7ecac7 --- /dev/null +++ b/services/resources/mgmt/2019-06-01/subscriptions/operations.go @@ -0,0 +1,149 @@ +package subscriptions + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// OperationsClient is the all resource groups and resources exist within subscriptions. These operation enable you get +// information about your subscriptions and tenants. A tenant is a dedicated instance of Azure Active Directory (Azure +// AD) for your organization. +type OperationsClient struct { + BaseClient +} + +// NewOperationsClient creates an instance of the OperationsClient client. +func NewOperationsClient() OperationsClient { + return NewOperationsClientWithBaseURI(DefaultBaseURI) +} + +// NewOperationsClientWithBaseURI creates an instance of the OperationsClient client. +func NewOperationsClientWithBaseURI(baseURI string) OperationsClient { + return OperationsClient{NewWithBaseURI(baseURI)} +} + +// List lists all of the available Microsoft.Resources REST API operations. +func (client OperationsClient) List(ctx context.Context) (result OperationListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/OperationsClient.List") + defer func() { + sc := -1 + if result.olr.Response.Response != nil { + sc = result.olr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "subscriptions.OperationsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.olr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "subscriptions.OperationsClient", "List", resp, "Failure sending request") + return + } + + result.olr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "subscriptions.OperationsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client OperationsClient) ListPreparer(ctx context.Context) (*http.Request, error) { + const APIVersion = "2019-06-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPath("/providers/Microsoft.Resources/operations"), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client OperationsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client OperationsClient) ListResponder(resp *http.Response) (result OperationListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client OperationsClient) listNextResults(ctx context.Context, lastResults OperationListResult) (result OperationListResult, err error) { + req, err := lastResults.operationListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "subscriptions.OperationsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "subscriptions.OperationsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "subscriptions.OperationsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client OperationsClient) ListComplete(ctx context.Context) (result OperationListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/OperationsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx) + return +} diff --git a/services/resources/mgmt/2019-06-01/subscriptions/subscriptions.go b/services/resources/mgmt/2019-06-01/subscriptions/subscriptions.go new file mode 100644 index 000000000000..d73b6ad4e3b7 --- /dev/null +++ b/services/resources/mgmt/2019-06-01/subscriptions/subscriptions.go @@ -0,0 +1,298 @@ +package subscriptions + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// Client is the all resource groups and resources exist within subscriptions. These operation enable you get +// information about your subscriptions and tenants. A tenant is a dedicated instance of Azure Active Directory (Azure +// AD) for your organization. +type Client struct { + BaseClient +} + +// NewClient creates an instance of the Client client. +func NewClient() Client { + return NewClientWithBaseURI(DefaultBaseURI) +} + +// NewClientWithBaseURI creates an instance of the Client client. +func NewClientWithBaseURI(baseURI string) Client { + return Client{NewWithBaseURI(baseURI)} +} + +// Get gets details about a specified subscription. +// Parameters: +// subscriptionID - the ID of the target subscription. +func (client Client) Get(ctx context.Context, subscriptionID string) (result Subscription, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/Client.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, subscriptionID) + if err != nil { + err = autorest.NewErrorWithError(err, "subscriptions.Client", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "subscriptions.Client", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "subscriptions.Client", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client Client) GetPreparer(ctx context.Context, subscriptionID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", subscriptionID), + } + + const APIVersion = "2019-06-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client Client) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client Client) GetResponder(resp *http.Response) (result Subscription, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets all subscriptions for a tenant. +func (client Client) List(ctx context.Context) (result ListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/Client.List") + defer func() { + sc := -1 + if result.lr.Response.Response != nil { + sc = result.lr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "subscriptions.Client", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.lr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "subscriptions.Client", "List", resp, "Failure sending request") + return + } + + result.lr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "subscriptions.Client", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client Client) ListPreparer(ctx context.Context) (*http.Request, error) { + const APIVersion = "2019-06-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPath("/subscriptions"), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client Client) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client Client) ListResponder(resp *http.Response) (result ListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client Client) listNextResults(ctx context.Context, lastResults ListResult) (result ListResult, err error) { + req, err := lastResults.listResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "subscriptions.Client", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "subscriptions.Client", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "subscriptions.Client", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client Client) ListComplete(ctx context.Context) (result ListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/Client.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx) + return +} + +// ListLocations this operation provides all the locations that are available for resource providers; however, each +// resource provider may support a subset of this list. +// Parameters: +// subscriptionID - the ID of the target subscription. +func (client Client) ListLocations(ctx context.Context, subscriptionID string) (result LocationListResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/Client.ListLocations") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListLocationsPreparer(ctx, subscriptionID) + if err != nil { + err = autorest.NewErrorWithError(err, "subscriptions.Client", "ListLocations", nil, "Failure preparing request") + return + } + + resp, err := client.ListLocationsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "subscriptions.Client", "ListLocations", resp, "Failure sending request") + return + } + + result, err = client.ListLocationsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "subscriptions.Client", "ListLocations", resp, "Failure responding to request") + } + + return +} + +// ListLocationsPreparer prepares the ListLocations request. +func (client Client) ListLocationsPreparer(ctx context.Context, subscriptionID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", subscriptionID), + } + + const APIVersion = "2019-06-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/locations", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListLocationsSender sends the ListLocations request. The method will close the +// http.Response Body if it receives an error. +func (client Client) ListLocationsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListLocationsResponder handles the response to the ListLocations request. The method always +// closes the http.Response Body. +func (client Client) ListLocationsResponder(resp *http.Response) (result LocationListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/resources/mgmt/2019-06-01/subscriptions/subscriptionsapi/interfaces.go b/services/resources/mgmt/2019-06-01/subscriptions/subscriptionsapi/interfaces.go new file mode 100644 index 000000000000..159b1a7d19ca --- /dev/null +++ b/services/resources/mgmt/2019-06-01/subscriptions/subscriptionsapi/interfaces.go @@ -0,0 +1,46 @@ +package subscriptionsapi + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/azure-sdk-for-go/services/resources/mgmt/2019-06-01/subscriptions" +) + +// OperationsClientAPI contains the set of methods on the OperationsClient type. +type OperationsClientAPI interface { + List(ctx context.Context) (result subscriptions.OperationListResultPage, err error) +} + +var _ OperationsClientAPI = (*subscriptions.OperationsClient)(nil) + +// ClientAPI contains the set of methods on the Client type. +type ClientAPI interface { + Get(ctx context.Context, subscriptionID string) (result subscriptions.Subscription, err error) + List(ctx context.Context) (result subscriptions.ListResultPage, err error) + ListLocations(ctx context.Context, subscriptionID string) (result subscriptions.LocationListResult, err error) +} + +var _ ClientAPI = (*subscriptions.Client)(nil) + +// TenantsClientAPI contains the set of methods on the TenantsClient type. +type TenantsClientAPI interface { + List(ctx context.Context) (result subscriptions.TenantListResultPage, err error) +} + +var _ TenantsClientAPI = (*subscriptions.TenantsClient)(nil) diff --git a/services/resources/mgmt/2019-06-01/subscriptions/tenants.go b/services/resources/mgmt/2019-06-01/subscriptions/tenants.go new file mode 100644 index 000000000000..16d24866e273 --- /dev/null +++ b/services/resources/mgmt/2019-06-01/subscriptions/tenants.go @@ -0,0 +1,149 @@ +package subscriptions + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// TenantsClient is the all resource groups and resources exist within subscriptions. These operation enable you get +// information about your subscriptions and tenants. A tenant is a dedicated instance of Azure Active Directory (Azure +// AD) for your organization. +type TenantsClient struct { + BaseClient +} + +// NewTenantsClient creates an instance of the TenantsClient client. +func NewTenantsClient() TenantsClient { + return NewTenantsClientWithBaseURI(DefaultBaseURI) +} + +// NewTenantsClientWithBaseURI creates an instance of the TenantsClient client. +func NewTenantsClientWithBaseURI(baseURI string) TenantsClient { + return TenantsClient{NewWithBaseURI(baseURI)} +} + +// List gets the tenants for your account. +func (client TenantsClient) List(ctx context.Context) (result TenantListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/TenantsClient.List") + defer func() { + sc := -1 + if result.tlr.Response.Response != nil { + sc = result.tlr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "subscriptions.TenantsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.tlr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "subscriptions.TenantsClient", "List", resp, "Failure sending request") + return + } + + result.tlr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "subscriptions.TenantsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client TenantsClient) ListPreparer(ctx context.Context) (*http.Request, error) { + const APIVersion = "2019-06-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPath("/tenants"), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client TenantsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client TenantsClient) ListResponder(resp *http.Response) (result TenantListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client TenantsClient) listNextResults(ctx context.Context, lastResults TenantListResult) (result TenantListResult, err error) { + req, err := lastResults.tenantListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "subscriptions.TenantsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "subscriptions.TenantsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "subscriptions.TenantsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client TenantsClient) ListComplete(ctx context.Context) (result TenantListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/TenantsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx) + return +} diff --git a/services/resources/mgmt/2019-06-01/subscriptions/version.go b/services/resources/mgmt/2019-06-01/subscriptions/version.go new file mode 100644 index 000000000000..ab40d8825933 --- /dev/null +++ b/services/resources/mgmt/2019-06-01/subscriptions/version.go @@ -0,0 +1,30 @@ +package subscriptions + +import "github.com/Azure/azure-sdk-for-go/version" + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +// UserAgent returns the UserAgent string to use when sending http.Requests. +func UserAgent() string { + return "Azure-SDK-For-Go/" + version.Number + " subscriptions/2019-06-01" +} + +// Version returns the semantic version (see http://semver.org) of the client. +func Version() string { + return version.Number +} diff --git a/services/resources/mgmt/2019-07-01/features/client.go b/services/resources/mgmt/2019-07-01/features/client.go new file mode 100644 index 000000000000..de34ebe9dd7c --- /dev/null +++ b/services/resources/mgmt/2019-07-01/features/client.go @@ -0,0 +1,51 @@ +// Package features implements the Azure ARM Features service API version 2019-07-01. +// +// Provides operations for working with resources and resource groups. +package features + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" +) + +const ( + // DefaultBaseURI is the default URI used for the service Features + DefaultBaseURI = "https://management.azure.com" +) + +// BaseClient is the base client for Features. +type BaseClient struct { + autorest.Client + BaseURI string + SubscriptionID string +} + +// New creates an instance of the BaseClient client. +func New(subscriptionID string) BaseClient { + return NewWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewWithBaseURI creates an instance of the BaseClient client. +func NewWithBaseURI(baseURI string, subscriptionID string) BaseClient { + return BaseClient{ + Client: autorest.NewClientWithUserAgent(UserAgent()), + BaseURI: baseURI, + SubscriptionID: subscriptionID, + } +} diff --git a/services/resources/mgmt/2019-07-01/features/deploymentoperations.go b/services/resources/mgmt/2019-07-01/features/deploymentoperations.go new file mode 100644 index 000000000000..17eea6682420 --- /dev/null +++ b/services/resources/mgmt/2019-07-01/features/deploymentoperations.go @@ -0,0 +1,1112 @@ +package features + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// DeploymentOperationsClient is the provides operations for working with resources and resource groups. +type DeploymentOperationsClient struct { + BaseClient +} + +// NewDeploymentOperationsClient creates an instance of the DeploymentOperationsClient client. +func NewDeploymentOperationsClient(subscriptionID string) DeploymentOperationsClient { + return NewDeploymentOperationsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewDeploymentOperationsClientWithBaseURI creates an instance of the DeploymentOperationsClient client. +func NewDeploymentOperationsClientWithBaseURI(baseURI string, subscriptionID string) DeploymentOperationsClient { + return DeploymentOperationsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// Get gets a deployments operation. +// Parameters: +// resourceGroupName - the name of the resource group. The name is case insensitive. +// deploymentName - the name of the deployment. +// operationID - the ID of the operation to get. +func (client DeploymentOperationsClient) Get(ctx context.Context, resourceGroupName string, deploymentName string, operationID string) (result DeploymentOperation, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeploymentOperationsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\p{L}\._\(\)\w]+$`, Chain: nil}}}, + {TargetValue: deploymentName, + Constraints: []validation.Constraint{{Target: "deploymentName", Name: validation.MaxLength, Rule: 64, Chain: nil}, + {Target: "deploymentName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "deploymentName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("features.DeploymentOperationsClient", "Get", err.Error()) + } + + req, err := client.GetPreparer(ctx, resourceGroupName, deploymentName, operationID) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentOperationsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "features.DeploymentOperationsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentOperationsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client DeploymentOperationsClient) GetPreparer(ctx context.Context, resourceGroupName string, deploymentName string, operationID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "deploymentName": autorest.Encode("path", deploymentName), + "operationId": autorest.Encode("path", operationID), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/deployments/{deploymentName}/operations/{operationId}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client DeploymentOperationsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client DeploymentOperationsClient) GetResponder(resp *http.Response) (result DeploymentOperation, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetAtManagementGroupScope gets a deployments operation. +// Parameters: +// groupID - the management group ID. +// deploymentName - the name of the deployment. +// operationID - the ID of the operation to get. +func (client DeploymentOperationsClient) GetAtManagementGroupScope(ctx context.Context, groupID string, deploymentName string, operationID string) (result DeploymentOperation, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeploymentOperationsClient.GetAtManagementGroupScope") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: groupID, + Constraints: []validation.Constraint{{Target: "groupID", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "groupID", Name: validation.MinLength, Rule: 1, Chain: nil}}}, + {TargetValue: deploymentName, + Constraints: []validation.Constraint{{Target: "deploymentName", Name: validation.MaxLength, Rule: 64, Chain: nil}, + {Target: "deploymentName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "deploymentName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("features.DeploymentOperationsClient", "GetAtManagementGroupScope", err.Error()) + } + + req, err := client.GetAtManagementGroupScopePreparer(ctx, groupID, deploymentName, operationID) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentOperationsClient", "GetAtManagementGroupScope", nil, "Failure preparing request") + return + } + + resp, err := client.GetAtManagementGroupScopeSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "features.DeploymentOperationsClient", "GetAtManagementGroupScope", resp, "Failure sending request") + return + } + + result, err = client.GetAtManagementGroupScopeResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentOperationsClient", "GetAtManagementGroupScope", resp, "Failure responding to request") + } + + return +} + +// GetAtManagementGroupScopePreparer prepares the GetAtManagementGroupScope request. +func (client DeploymentOperationsClient) GetAtManagementGroupScopePreparer(ctx context.Context, groupID string, deploymentName string, operationID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "deploymentName": autorest.Encode("path", deploymentName), + "groupId": autorest.Encode("path", groupID), + "operationId": autorest.Encode("path", operationID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/providers/Microsoft.Management/managementGroups/{groupId}/providers/Microsoft.Resources/deployments/{deploymentName}/operations/{operationId}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetAtManagementGroupScopeSender sends the GetAtManagementGroupScope request. The method will close the +// http.Response Body if it receives an error. +func (client DeploymentOperationsClient) GetAtManagementGroupScopeSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetAtManagementGroupScopeResponder handles the response to the GetAtManagementGroupScope request. The method always +// closes the http.Response Body. +func (client DeploymentOperationsClient) GetAtManagementGroupScopeResponder(resp *http.Response) (result DeploymentOperation, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetAtScope gets a deployments operation. +// Parameters: +// scope - the scope of a deployment. +// deploymentName - the name of the deployment. +// operationID - the ID of the operation to get. +func (client DeploymentOperationsClient) GetAtScope(ctx context.Context, scope string, deploymentName string, operationID string) (result DeploymentOperation, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeploymentOperationsClient.GetAtScope") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: deploymentName, + Constraints: []validation.Constraint{{Target: "deploymentName", Name: validation.MaxLength, Rule: 64, Chain: nil}, + {Target: "deploymentName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "deploymentName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("features.DeploymentOperationsClient", "GetAtScope", err.Error()) + } + + req, err := client.GetAtScopePreparer(ctx, scope, deploymentName, operationID) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentOperationsClient", "GetAtScope", nil, "Failure preparing request") + return + } + + resp, err := client.GetAtScopeSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "features.DeploymentOperationsClient", "GetAtScope", resp, "Failure sending request") + return + } + + result, err = client.GetAtScopeResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentOperationsClient", "GetAtScope", resp, "Failure responding to request") + } + + return +} + +// GetAtScopePreparer prepares the GetAtScope request. +func (client DeploymentOperationsClient) GetAtScopePreparer(ctx context.Context, scope string, deploymentName string, operationID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "deploymentName": autorest.Encode("path", deploymentName), + "operationId": autorest.Encode("path", operationID), + "scope": autorest.Encode("path", scope), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/{scope}/providers/Microsoft.Resources/deployments/{deploymentName}/operations/{operationId}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetAtScopeSender sends the GetAtScope request. The method will close the +// http.Response Body if it receives an error. +func (client DeploymentOperationsClient) GetAtScopeSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetAtScopeResponder handles the response to the GetAtScope request. The method always +// closes the http.Response Body. +func (client DeploymentOperationsClient) GetAtScopeResponder(resp *http.Response) (result DeploymentOperation, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetAtSubscriptionScope gets a deployments operation. +// Parameters: +// deploymentName - the name of the deployment. +// operationID - the ID of the operation to get. +func (client DeploymentOperationsClient) GetAtSubscriptionScope(ctx context.Context, deploymentName string, operationID string) (result DeploymentOperation, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeploymentOperationsClient.GetAtSubscriptionScope") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: deploymentName, + Constraints: []validation.Constraint{{Target: "deploymentName", Name: validation.MaxLength, Rule: 64, Chain: nil}, + {Target: "deploymentName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "deploymentName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("features.DeploymentOperationsClient", "GetAtSubscriptionScope", err.Error()) + } + + req, err := client.GetAtSubscriptionScopePreparer(ctx, deploymentName, operationID) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentOperationsClient", "GetAtSubscriptionScope", nil, "Failure preparing request") + return + } + + resp, err := client.GetAtSubscriptionScopeSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "features.DeploymentOperationsClient", "GetAtSubscriptionScope", resp, "Failure sending request") + return + } + + result, err = client.GetAtSubscriptionScopeResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentOperationsClient", "GetAtSubscriptionScope", resp, "Failure responding to request") + } + + return +} + +// GetAtSubscriptionScopePreparer prepares the GetAtSubscriptionScope request. +func (client DeploymentOperationsClient) GetAtSubscriptionScopePreparer(ctx context.Context, deploymentName string, operationID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "deploymentName": autorest.Encode("path", deploymentName), + "operationId": autorest.Encode("path", operationID), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Resources/deployments/{deploymentName}/operations/{operationId}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetAtSubscriptionScopeSender sends the GetAtSubscriptionScope request. The method will close the +// http.Response Body if it receives an error. +func (client DeploymentOperationsClient) GetAtSubscriptionScopeSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetAtSubscriptionScopeResponder handles the response to the GetAtSubscriptionScope request. The method always +// closes the http.Response Body. +func (client DeploymentOperationsClient) GetAtSubscriptionScopeResponder(resp *http.Response) (result DeploymentOperation, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetAtTenantScope gets a deployments operation. +// Parameters: +// deploymentName - the name of the deployment. +// operationID - the ID of the operation to get. +func (client DeploymentOperationsClient) GetAtTenantScope(ctx context.Context, deploymentName string, operationID string) (result DeploymentOperation, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeploymentOperationsClient.GetAtTenantScope") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: deploymentName, + Constraints: []validation.Constraint{{Target: "deploymentName", Name: validation.MaxLength, Rule: 64, Chain: nil}, + {Target: "deploymentName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "deploymentName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("features.DeploymentOperationsClient", "GetAtTenantScope", err.Error()) + } + + req, err := client.GetAtTenantScopePreparer(ctx, deploymentName, operationID) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentOperationsClient", "GetAtTenantScope", nil, "Failure preparing request") + return + } + + resp, err := client.GetAtTenantScopeSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "features.DeploymentOperationsClient", "GetAtTenantScope", resp, "Failure sending request") + return + } + + result, err = client.GetAtTenantScopeResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentOperationsClient", "GetAtTenantScope", resp, "Failure responding to request") + } + + return +} + +// GetAtTenantScopePreparer prepares the GetAtTenantScope request. +func (client DeploymentOperationsClient) GetAtTenantScopePreparer(ctx context.Context, deploymentName string, operationID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "deploymentName": autorest.Encode("path", deploymentName), + "operationId": autorest.Encode("path", operationID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/providers/Microsoft.Resources/deployments/{deploymentName}/operations/{operationId}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetAtTenantScopeSender sends the GetAtTenantScope request. The method will close the +// http.Response Body if it receives an error. +func (client DeploymentOperationsClient) GetAtTenantScopeSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetAtTenantScopeResponder handles the response to the GetAtTenantScope request. The method always +// closes the http.Response Body. +func (client DeploymentOperationsClient) GetAtTenantScopeResponder(resp *http.Response) (result DeploymentOperation, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets all deployments operations for a deployment. +// Parameters: +// resourceGroupName - the name of the resource group. The name is case insensitive. +// deploymentName - the name of the deployment. +// top - the number of results to return. +func (client DeploymentOperationsClient) List(ctx context.Context, resourceGroupName string, deploymentName string, top *int32) (result DeploymentOperationsListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeploymentOperationsClient.List") + defer func() { + sc := -1 + if result.dolr.Response.Response != nil { + sc = result.dolr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\p{L}\._\(\)\w]+$`, Chain: nil}}}, + {TargetValue: deploymentName, + Constraints: []validation.Constraint{{Target: "deploymentName", Name: validation.MaxLength, Rule: 64, Chain: nil}, + {Target: "deploymentName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "deploymentName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("features.DeploymentOperationsClient", "List", err.Error()) + } + + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, resourceGroupName, deploymentName, top) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentOperationsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.dolr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "features.DeploymentOperationsClient", "List", resp, "Failure sending request") + return + } + + result.dolr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentOperationsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client DeploymentOperationsClient) ListPreparer(ctx context.Context, resourceGroupName string, deploymentName string, top *int32) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "deploymentName": autorest.Encode("path", deploymentName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if top != nil { + queryParameters["$top"] = autorest.Encode("query", *top) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/deployments/{deploymentName}/operations", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client DeploymentOperationsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client DeploymentOperationsClient) ListResponder(resp *http.Response) (result DeploymentOperationsListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client DeploymentOperationsClient) listNextResults(ctx context.Context, lastResults DeploymentOperationsListResult) (result DeploymentOperationsListResult, err error) { + req, err := lastResults.deploymentOperationsListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "features.DeploymentOperationsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "features.DeploymentOperationsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentOperationsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client DeploymentOperationsClient) ListComplete(ctx context.Context, resourceGroupName string, deploymentName string, top *int32) (result DeploymentOperationsListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeploymentOperationsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName, deploymentName, top) + return +} + +// ListAtManagementGroupScope gets all deployments operations for a deployment. +// Parameters: +// groupID - the management group ID. +// deploymentName - the name of the deployment. +// top - the number of results to return. +func (client DeploymentOperationsClient) ListAtManagementGroupScope(ctx context.Context, groupID string, deploymentName string, top *int32) (result DeploymentOperationsListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeploymentOperationsClient.ListAtManagementGroupScope") + defer func() { + sc := -1 + if result.dolr.Response.Response != nil { + sc = result.dolr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: groupID, + Constraints: []validation.Constraint{{Target: "groupID", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "groupID", Name: validation.MinLength, Rule: 1, Chain: nil}}}, + {TargetValue: deploymentName, + Constraints: []validation.Constraint{{Target: "deploymentName", Name: validation.MaxLength, Rule: 64, Chain: nil}, + {Target: "deploymentName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "deploymentName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("features.DeploymentOperationsClient", "ListAtManagementGroupScope", err.Error()) + } + + result.fn = client.listAtManagementGroupScopeNextResults + req, err := client.ListAtManagementGroupScopePreparer(ctx, groupID, deploymentName, top) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentOperationsClient", "ListAtManagementGroupScope", nil, "Failure preparing request") + return + } + + resp, err := client.ListAtManagementGroupScopeSender(req) + if err != nil { + result.dolr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "features.DeploymentOperationsClient", "ListAtManagementGroupScope", resp, "Failure sending request") + return + } + + result.dolr, err = client.ListAtManagementGroupScopeResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentOperationsClient", "ListAtManagementGroupScope", resp, "Failure responding to request") + } + + return +} + +// ListAtManagementGroupScopePreparer prepares the ListAtManagementGroupScope request. +func (client DeploymentOperationsClient) ListAtManagementGroupScopePreparer(ctx context.Context, groupID string, deploymentName string, top *int32) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "deploymentName": autorest.Encode("path", deploymentName), + "groupId": autorest.Encode("path", groupID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if top != nil { + queryParameters["$top"] = autorest.Encode("query", *top) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/providers/Microsoft.Management/managementGroups/{groupId}/providers/Microsoft.Resources/deployments/{deploymentName}/operations", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListAtManagementGroupScopeSender sends the ListAtManagementGroupScope request. The method will close the +// http.Response Body if it receives an error. +func (client DeploymentOperationsClient) ListAtManagementGroupScopeSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListAtManagementGroupScopeResponder handles the response to the ListAtManagementGroupScope request. The method always +// closes the http.Response Body. +func (client DeploymentOperationsClient) ListAtManagementGroupScopeResponder(resp *http.Response) (result DeploymentOperationsListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listAtManagementGroupScopeNextResults retrieves the next set of results, if any. +func (client DeploymentOperationsClient) listAtManagementGroupScopeNextResults(ctx context.Context, lastResults DeploymentOperationsListResult) (result DeploymentOperationsListResult, err error) { + req, err := lastResults.deploymentOperationsListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "features.DeploymentOperationsClient", "listAtManagementGroupScopeNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListAtManagementGroupScopeSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "features.DeploymentOperationsClient", "listAtManagementGroupScopeNextResults", resp, "Failure sending next results request") + } + result, err = client.ListAtManagementGroupScopeResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentOperationsClient", "listAtManagementGroupScopeNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListAtManagementGroupScopeComplete enumerates all values, automatically crossing page boundaries as required. +func (client DeploymentOperationsClient) ListAtManagementGroupScopeComplete(ctx context.Context, groupID string, deploymentName string, top *int32) (result DeploymentOperationsListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeploymentOperationsClient.ListAtManagementGroupScope") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListAtManagementGroupScope(ctx, groupID, deploymentName, top) + return +} + +// ListAtScope gets all deployments operations for a deployment. +// Parameters: +// scope - the scope of a deployment. +// deploymentName - the name of the deployment. +// top - the number of results to return. +func (client DeploymentOperationsClient) ListAtScope(ctx context.Context, scope string, deploymentName string, top *int32) (result DeploymentOperationsListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeploymentOperationsClient.ListAtScope") + defer func() { + sc := -1 + if result.dolr.Response.Response != nil { + sc = result.dolr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: deploymentName, + Constraints: []validation.Constraint{{Target: "deploymentName", Name: validation.MaxLength, Rule: 64, Chain: nil}, + {Target: "deploymentName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "deploymentName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("features.DeploymentOperationsClient", "ListAtScope", err.Error()) + } + + result.fn = client.listAtScopeNextResults + req, err := client.ListAtScopePreparer(ctx, scope, deploymentName, top) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentOperationsClient", "ListAtScope", nil, "Failure preparing request") + return + } + + resp, err := client.ListAtScopeSender(req) + if err != nil { + result.dolr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "features.DeploymentOperationsClient", "ListAtScope", resp, "Failure sending request") + return + } + + result.dolr, err = client.ListAtScopeResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentOperationsClient", "ListAtScope", resp, "Failure responding to request") + } + + return +} + +// ListAtScopePreparer prepares the ListAtScope request. +func (client DeploymentOperationsClient) ListAtScopePreparer(ctx context.Context, scope string, deploymentName string, top *int32) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "deploymentName": autorest.Encode("path", deploymentName), + "scope": autorest.Encode("path", scope), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if top != nil { + queryParameters["$top"] = autorest.Encode("query", *top) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/{scope}/providers/Microsoft.Resources/deployments/{deploymentName}/operations", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListAtScopeSender sends the ListAtScope request. The method will close the +// http.Response Body if it receives an error. +func (client DeploymentOperationsClient) ListAtScopeSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListAtScopeResponder handles the response to the ListAtScope request. The method always +// closes the http.Response Body. +func (client DeploymentOperationsClient) ListAtScopeResponder(resp *http.Response) (result DeploymentOperationsListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listAtScopeNextResults retrieves the next set of results, if any. +func (client DeploymentOperationsClient) listAtScopeNextResults(ctx context.Context, lastResults DeploymentOperationsListResult) (result DeploymentOperationsListResult, err error) { + req, err := lastResults.deploymentOperationsListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "features.DeploymentOperationsClient", "listAtScopeNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListAtScopeSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "features.DeploymentOperationsClient", "listAtScopeNextResults", resp, "Failure sending next results request") + } + result, err = client.ListAtScopeResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentOperationsClient", "listAtScopeNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListAtScopeComplete enumerates all values, automatically crossing page boundaries as required. +func (client DeploymentOperationsClient) ListAtScopeComplete(ctx context.Context, scope string, deploymentName string, top *int32) (result DeploymentOperationsListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeploymentOperationsClient.ListAtScope") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListAtScope(ctx, scope, deploymentName, top) + return +} + +// ListAtSubscriptionScope gets all deployments operations for a deployment. +// Parameters: +// deploymentName - the name of the deployment. +// top - the number of results to return. +func (client DeploymentOperationsClient) ListAtSubscriptionScope(ctx context.Context, deploymentName string, top *int32) (result DeploymentOperationsListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeploymentOperationsClient.ListAtSubscriptionScope") + defer func() { + sc := -1 + if result.dolr.Response.Response != nil { + sc = result.dolr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: deploymentName, + Constraints: []validation.Constraint{{Target: "deploymentName", Name: validation.MaxLength, Rule: 64, Chain: nil}, + {Target: "deploymentName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "deploymentName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("features.DeploymentOperationsClient", "ListAtSubscriptionScope", err.Error()) + } + + result.fn = client.listAtSubscriptionScopeNextResults + req, err := client.ListAtSubscriptionScopePreparer(ctx, deploymentName, top) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentOperationsClient", "ListAtSubscriptionScope", nil, "Failure preparing request") + return + } + + resp, err := client.ListAtSubscriptionScopeSender(req) + if err != nil { + result.dolr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "features.DeploymentOperationsClient", "ListAtSubscriptionScope", resp, "Failure sending request") + return + } + + result.dolr, err = client.ListAtSubscriptionScopeResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentOperationsClient", "ListAtSubscriptionScope", resp, "Failure responding to request") + } + + return +} + +// ListAtSubscriptionScopePreparer prepares the ListAtSubscriptionScope request. +func (client DeploymentOperationsClient) ListAtSubscriptionScopePreparer(ctx context.Context, deploymentName string, top *int32) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "deploymentName": autorest.Encode("path", deploymentName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if top != nil { + queryParameters["$top"] = autorest.Encode("query", *top) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Resources/deployments/{deploymentName}/operations", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListAtSubscriptionScopeSender sends the ListAtSubscriptionScope request. The method will close the +// http.Response Body if it receives an error. +func (client DeploymentOperationsClient) ListAtSubscriptionScopeSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListAtSubscriptionScopeResponder handles the response to the ListAtSubscriptionScope request. The method always +// closes the http.Response Body. +func (client DeploymentOperationsClient) ListAtSubscriptionScopeResponder(resp *http.Response) (result DeploymentOperationsListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listAtSubscriptionScopeNextResults retrieves the next set of results, if any. +func (client DeploymentOperationsClient) listAtSubscriptionScopeNextResults(ctx context.Context, lastResults DeploymentOperationsListResult) (result DeploymentOperationsListResult, err error) { + req, err := lastResults.deploymentOperationsListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "features.DeploymentOperationsClient", "listAtSubscriptionScopeNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListAtSubscriptionScopeSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "features.DeploymentOperationsClient", "listAtSubscriptionScopeNextResults", resp, "Failure sending next results request") + } + result, err = client.ListAtSubscriptionScopeResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentOperationsClient", "listAtSubscriptionScopeNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListAtSubscriptionScopeComplete enumerates all values, automatically crossing page boundaries as required. +func (client DeploymentOperationsClient) ListAtSubscriptionScopeComplete(ctx context.Context, deploymentName string, top *int32) (result DeploymentOperationsListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeploymentOperationsClient.ListAtSubscriptionScope") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListAtSubscriptionScope(ctx, deploymentName, top) + return +} + +// ListAtTenantScope gets all deployments operations for a deployment. +// Parameters: +// deploymentName - the name of the deployment. +// top - the number of results to return. +func (client DeploymentOperationsClient) ListAtTenantScope(ctx context.Context, deploymentName string, top *int32) (result DeploymentOperationsListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeploymentOperationsClient.ListAtTenantScope") + defer func() { + sc := -1 + if result.dolr.Response.Response != nil { + sc = result.dolr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: deploymentName, + Constraints: []validation.Constraint{{Target: "deploymentName", Name: validation.MaxLength, Rule: 64, Chain: nil}, + {Target: "deploymentName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "deploymentName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("features.DeploymentOperationsClient", "ListAtTenantScope", err.Error()) + } + + result.fn = client.listAtTenantScopeNextResults + req, err := client.ListAtTenantScopePreparer(ctx, deploymentName, top) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentOperationsClient", "ListAtTenantScope", nil, "Failure preparing request") + return + } + + resp, err := client.ListAtTenantScopeSender(req) + if err != nil { + result.dolr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "features.DeploymentOperationsClient", "ListAtTenantScope", resp, "Failure sending request") + return + } + + result.dolr, err = client.ListAtTenantScopeResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentOperationsClient", "ListAtTenantScope", resp, "Failure responding to request") + } + + return +} + +// ListAtTenantScopePreparer prepares the ListAtTenantScope request. +func (client DeploymentOperationsClient) ListAtTenantScopePreparer(ctx context.Context, deploymentName string, top *int32) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "deploymentName": autorest.Encode("path", deploymentName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if top != nil { + queryParameters["$top"] = autorest.Encode("query", *top) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/providers/Microsoft.Resources/deployments/{deploymentName}/operations", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListAtTenantScopeSender sends the ListAtTenantScope request. The method will close the +// http.Response Body if it receives an error. +func (client DeploymentOperationsClient) ListAtTenantScopeSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListAtTenantScopeResponder handles the response to the ListAtTenantScope request. The method always +// closes the http.Response Body. +func (client DeploymentOperationsClient) ListAtTenantScopeResponder(resp *http.Response) (result DeploymentOperationsListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listAtTenantScopeNextResults retrieves the next set of results, if any. +func (client DeploymentOperationsClient) listAtTenantScopeNextResults(ctx context.Context, lastResults DeploymentOperationsListResult) (result DeploymentOperationsListResult, err error) { + req, err := lastResults.deploymentOperationsListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "features.DeploymentOperationsClient", "listAtTenantScopeNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListAtTenantScopeSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "features.DeploymentOperationsClient", "listAtTenantScopeNextResults", resp, "Failure sending next results request") + } + result, err = client.ListAtTenantScopeResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentOperationsClient", "listAtTenantScopeNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListAtTenantScopeComplete enumerates all values, automatically crossing page boundaries as required. +func (client DeploymentOperationsClient) ListAtTenantScopeComplete(ctx context.Context, deploymentName string, top *int32) (result DeploymentOperationsListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeploymentOperationsClient.ListAtTenantScope") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListAtTenantScope(ctx, deploymentName, top) + return +} diff --git a/services/resources/mgmt/2019-07-01/features/deployments.go b/services/resources/mgmt/2019-07-01/features/deployments.go new file mode 100644 index 000000000000..59d94fd5b938 --- /dev/null +++ b/services/resources/mgmt/2019-07-01/features/deployments.go @@ -0,0 +1,4022 @@ +package features + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// DeploymentsClient is the provides operations for working with resources and resource groups. +type DeploymentsClient struct { + BaseClient +} + +// NewDeploymentsClient creates an instance of the DeploymentsClient client. +func NewDeploymentsClient(subscriptionID string) DeploymentsClient { + return NewDeploymentsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewDeploymentsClientWithBaseURI creates an instance of the DeploymentsClient client. +func NewDeploymentsClientWithBaseURI(baseURI string, subscriptionID string) DeploymentsClient { + return DeploymentsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CalculateTemplateHash calculate the hash of the given template. +// Parameters: +// templateParameter - the template provided to calculate hash. +func (client DeploymentsClient) CalculateTemplateHash(ctx context.Context, templateParameter interface{}) (result TemplateHashResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeploymentsClient.CalculateTemplateHash") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CalculateTemplateHashPreparer(ctx, templateParameter) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "CalculateTemplateHash", nil, "Failure preparing request") + return + } + + resp, err := client.CalculateTemplateHashSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "CalculateTemplateHash", resp, "Failure sending request") + return + } + + result, err = client.CalculateTemplateHashResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "CalculateTemplateHash", resp, "Failure responding to request") + } + + return +} + +// CalculateTemplateHashPreparer prepares the CalculateTemplateHash request. +func (client DeploymentsClient) CalculateTemplateHashPreparer(ctx context.Context, templateParameter interface{}) (*http.Request, error) { + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPath("/providers/Microsoft.Resources/calculateTemplateHash"), + autorest.WithJSON(templateParameter), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CalculateTemplateHashSender sends the CalculateTemplateHash request. The method will close the +// http.Response Body if it receives an error. +func (client DeploymentsClient) CalculateTemplateHashSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// CalculateTemplateHashResponder handles the response to the CalculateTemplateHash request. The method always +// closes the http.Response Body. +func (client DeploymentsClient) CalculateTemplateHashResponder(resp *http.Response) (result TemplateHashResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Cancel you can cancel a deployment only if the provisioningState is Accepted or Running. After the deployment is +// canceled, the provisioningState is set to Canceled. Canceling a template deployment stops the currently running +// template deployment and leaves the resource group partially deployed. +// Parameters: +// resourceGroupName - the name of the resource group. The name is case insensitive. +// deploymentName - the name of the deployment. +func (client DeploymentsClient) Cancel(ctx context.Context, resourceGroupName string, deploymentName string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeploymentsClient.Cancel") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\p{L}\._\(\)\w]+$`, Chain: nil}}}, + {TargetValue: deploymentName, + Constraints: []validation.Constraint{{Target: "deploymentName", Name: validation.MaxLength, Rule: 64, Chain: nil}, + {Target: "deploymentName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "deploymentName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("features.DeploymentsClient", "Cancel", err.Error()) + } + + req, err := client.CancelPreparer(ctx, resourceGroupName, deploymentName) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "Cancel", nil, "Failure preparing request") + return + } + + resp, err := client.CancelSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "Cancel", resp, "Failure sending request") + return + } + + result, err = client.CancelResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "Cancel", resp, "Failure responding to request") + } + + return +} + +// CancelPreparer prepares the Cancel request. +func (client DeploymentsClient) CancelPreparer(ctx context.Context, resourceGroupName string, deploymentName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "deploymentName": autorest.Encode("path", deploymentName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}/cancel", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CancelSender sends the Cancel request. The method will close the +// http.Response Body if it receives an error. +func (client DeploymentsClient) CancelSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CancelResponder handles the response to the Cancel request. The method always +// closes the http.Response Body. +func (client DeploymentsClient) CancelResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// CancelAtManagementGroupScope you can cancel a deployment only if the provisioningState is Accepted or Running. After +// the deployment is canceled, the provisioningState is set to Canceled. Canceling a template deployment stops the +// currently running template deployment and leaves the resources partially deployed. +// Parameters: +// groupID - the management group ID. +// deploymentName - the name of the deployment. +func (client DeploymentsClient) CancelAtManagementGroupScope(ctx context.Context, groupID string, deploymentName string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeploymentsClient.CancelAtManagementGroupScope") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: groupID, + Constraints: []validation.Constraint{{Target: "groupID", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "groupID", Name: validation.MinLength, Rule: 1, Chain: nil}}}, + {TargetValue: deploymentName, + Constraints: []validation.Constraint{{Target: "deploymentName", Name: validation.MaxLength, Rule: 64, Chain: nil}, + {Target: "deploymentName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "deploymentName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("features.DeploymentsClient", "CancelAtManagementGroupScope", err.Error()) + } + + req, err := client.CancelAtManagementGroupScopePreparer(ctx, groupID, deploymentName) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "CancelAtManagementGroupScope", nil, "Failure preparing request") + return + } + + resp, err := client.CancelAtManagementGroupScopeSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "CancelAtManagementGroupScope", resp, "Failure sending request") + return + } + + result, err = client.CancelAtManagementGroupScopeResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "CancelAtManagementGroupScope", resp, "Failure responding to request") + } + + return +} + +// CancelAtManagementGroupScopePreparer prepares the CancelAtManagementGroupScope request. +func (client DeploymentsClient) CancelAtManagementGroupScopePreparer(ctx context.Context, groupID string, deploymentName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "deploymentName": autorest.Encode("path", deploymentName), + "groupId": autorest.Encode("path", groupID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/providers/Microsoft.Management/managementGroups/{groupId}/providers/Microsoft.Resources/deployments/{deploymentName}/cancel", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CancelAtManagementGroupScopeSender sends the CancelAtManagementGroupScope request. The method will close the +// http.Response Body if it receives an error. +func (client DeploymentsClient) CancelAtManagementGroupScopeSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// CancelAtManagementGroupScopeResponder handles the response to the CancelAtManagementGroupScope request. The method always +// closes the http.Response Body. +func (client DeploymentsClient) CancelAtManagementGroupScopeResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// CancelAtScope you can cancel a deployment only if the provisioningState is Accepted or Running. After the deployment +// is canceled, the provisioningState is set to Canceled. Canceling a template deployment stops the currently running +// template deployment and leaves the resources partially deployed. +// Parameters: +// scope - the scope of a deployment. +// deploymentName - the name of the deployment. +func (client DeploymentsClient) CancelAtScope(ctx context.Context, scope string, deploymentName string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeploymentsClient.CancelAtScope") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: deploymentName, + Constraints: []validation.Constraint{{Target: "deploymentName", Name: validation.MaxLength, Rule: 64, Chain: nil}, + {Target: "deploymentName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "deploymentName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("features.DeploymentsClient", "CancelAtScope", err.Error()) + } + + req, err := client.CancelAtScopePreparer(ctx, scope, deploymentName) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "CancelAtScope", nil, "Failure preparing request") + return + } + + resp, err := client.CancelAtScopeSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "CancelAtScope", resp, "Failure sending request") + return + } + + result, err = client.CancelAtScopeResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "CancelAtScope", resp, "Failure responding to request") + } + + return +} + +// CancelAtScopePreparer prepares the CancelAtScope request. +func (client DeploymentsClient) CancelAtScopePreparer(ctx context.Context, scope string, deploymentName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "deploymentName": autorest.Encode("path", deploymentName), + "scope": autorest.Encode("path", scope), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/{scope}/providers/Microsoft.Resources/deployments/{deploymentName}/cancel", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CancelAtScopeSender sends the CancelAtScope request. The method will close the +// http.Response Body if it receives an error. +func (client DeploymentsClient) CancelAtScopeSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// CancelAtScopeResponder handles the response to the CancelAtScope request. The method always +// closes the http.Response Body. +func (client DeploymentsClient) CancelAtScopeResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// CancelAtSubscriptionScope you can cancel a deployment only if the provisioningState is Accepted or Running. After +// the deployment is canceled, the provisioningState is set to Canceled. Canceling a template deployment stops the +// currently running template deployment and leaves the resources partially deployed. +// Parameters: +// deploymentName - the name of the deployment. +func (client DeploymentsClient) CancelAtSubscriptionScope(ctx context.Context, deploymentName string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeploymentsClient.CancelAtSubscriptionScope") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: deploymentName, + Constraints: []validation.Constraint{{Target: "deploymentName", Name: validation.MaxLength, Rule: 64, Chain: nil}, + {Target: "deploymentName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "deploymentName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("features.DeploymentsClient", "CancelAtSubscriptionScope", err.Error()) + } + + req, err := client.CancelAtSubscriptionScopePreparer(ctx, deploymentName) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "CancelAtSubscriptionScope", nil, "Failure preparing request") + return + } + + resp, err := client.CancelAtSubscriptionScopeSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "CancelAtSubscriptionScope", resp, "Failure sending request") + return + } + + result, err = client.CancelAtSubscriptionScopeResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "CancelAtSubscriptionScope", resp, "Failure responding to request") + } + + return +} + +// CancelAtSubscriptionScopePreparer prepares the CancelAtSubscriptionScope request. +func (client DeploymentsClient) CancelAtSubscriptionScopePreparer(ctx context.Context, deploymentName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "deploymentName": autorest.Encode("path", deploymentName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Resources/deployments/{deploymentName}/cancel", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CancelAtSubscriptionScopeSender sends the CancelAtSubscriptionScope request. The method will close the +// http.Response Body if it receives an error. +func (client DeploymentsClient) CancelAtSubscriptionScopeSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CancelAtSubscriptionScopeResponder handles the response to the CancelAtSubscriptionScope request. The method always +// closes the http.Response Body. +func (client DeploymentsClient) CancelAtSubscriptionScopeResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// CancelAtTenantScope you can cancel a deployment only if the provisioningState is Accepted or Running. After the +// deployment is canceled, the provisioningState is set to Canceled. Canceling a template deployment stops the +// currently running template deployment and leaves the resources partially deployed. +// Parameters: +// deploymentName - the name of the deployment. +func (client DeploymentsClient) CancelAtTenantScope(ctx context.Context, deploymentName string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeploymentsClient.CancelAtTenantScope") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: deploymentName, + Constraints: []validation.Constraint{{Target: "deploymentName", Name: validation.MaxLength, Rule: 64, Chain: nil}, + {Target: "deploymentName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "deploymentName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("features.DeploymentsClient", "CancelAtTenantScope", err.Error()) + } + + req, err := client.CancelAtTenantScopePreparer(ctx, deploymentName) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "CancelAtTenantScope", nil, "Failure preparing request") + return + } + + resp, err := client.CancelAtTenantScopeSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "CancelAtTenantScope", resp, "Failure sending request") + return + } + + result, err = client.CancelAtTenantScopeResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "CancelAtTenantScope", resp, "Failure responding to request") + } + + return +} + +// CancelAtTenantScopePreparer prepares the CancelAtTenantScope request. +func (client DeploymentsClient) CancelAtTenantScopePreparer(ctx context.Context, deploymentName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "deploymentName": autorest.Encode("path", deploymentName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/providers/Microsoft.Resources/deployments/{deploymentName}/cancel", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CancelAtTenantScopeSender sends the CancelAtTenantScope request. The method will close the +// http.Response Body if it receives an error. +func (client DeploymentsClient) CancelAtTenantScopeSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// CancelAtTenantScopeResponder handles the response to the CancelAtTenantScope request. The method always +// closes the http.Response Body. +func (client DeploymentsClient) CancelAtTenantScopeResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// CheckExistence checks whether the deployment exists. +// Parameters: +// resourceGroupName - the name of the resource group with the deployment to check. The name is case +// insensitive. +// deploymentName - the name of the deployment. +func (client DeploymentsClient) CheckExistence(ctx context.Context, resourceGroupName string, deploymentName string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeploymentsClient.CheckExistence") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\p{L}\._\(\)\w]+$`, Chain: nil}}}, + {TargetValue: deploymentName, + Constraints: []validation.Constraint{{Target: "deploymentName", Name: validation.MaxLength, Rule: 64, Chain: nil}, + {Target: "deploymentName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "deploymentName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("features.DeploymentsClient", "CheckExistence", err.Error()) + } + + req, err := client.CheckExistencePreparer(ctx, resourceGroupName, deploymentName) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "CheckExistence", nil, "Failure preparing request") + return + } + + resp, err := client.CheckExistenceSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "CheckExistence", resp, "Failure sending request") + return + } + + result, err = client.CheckExistenceResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "CheckExistence", resp, "Failure responding to request") + } + + return +} + +// CheckExistencePreparer prepares the CheckExistence request. +func (client DeploymentsClient) CheckExistencePreparer(ctx context.Context, resourceGroupName string, deploymentName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "deploymentName": autorest.Encode("path", deploymentName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsHead(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CheckExistenceSender sends the CheckExistence request. The method will close the +// http.Response Body if it receives an error. +func (client DeploymentsClient) CheckExistenceSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CheckExistenceResponder handles the response to the CheckExistence request. The method always +// closes the http.Response Body. +func (client DeploymentsClient) CheckExistenceResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent, http.StatusNotFound), + autorest.ByClosing()) + result.Response = resp + return +} + +// CheckExistenceAtManagementGroupScope checks whether the deployment exists. +// Parameters: +// groupID - the management group ID. +// deploymentName - the name of the deployment. +func (client DeploymentsClient) CheckExistenceAtManagementGroupScope(ctx context.Context, groupID string, deploymentName string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeploymentsClient.CheckExistenceAtManagementGroupScope") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: groupID, + Constraints: []validation.Constraint{{Target: "groupID", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "groupID", Name: validation.MinLength, Rule: 1, Chain: nil}}}, + {TargetValue: deploymentName, + Constraints: []validation.Constraint{{Target: "deploymentName", Name: validation.MaxLength, Rule: 64, Chain: nil}, + {Target: "deploymentName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "deploymentName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("features.DeploymentsClient", "CheckExistenceAtManagementGroupScope", err.Error()) + } + + req, err := client.CheckExistenceAtManagementGroupScopePreparer(ctx, groupID, deploymentName) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "CheckExistenceAtManagementGroupScope", nil, "Failure preparing request") + return + } + + resp, err := client.CheckExistenceAtManagementGroupScopeSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "CheckExistenceAtManagementGroupScope", resp, "Failure sending request") + return + } + + result, err = client.CheckExistenceAtManagementGroupScopeResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "CheckExistenceAtManagementGroupScope", resp, "Failure responding to request") + } + + return +} + +// CheckExistenceAtManagementGroupScopePreparer prepares the CheckExistenceAtManagementGroupScope request. +func (client DeploymentsClient) CheckExistenceAtManagementGroupScopePreparer(ctx context.Context, groupID string, deploymentName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "deploymentName": autorest.Encode("path", deploymentName), + "groupId": autorest.Encode("path", groupID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsHead(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/providers/Microsoft.Management/managementGroups/{groupId}/providers/Microsoft.Resources/deployments/{deploymentName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CheckExistenceAtManagementGroupScopeSender sends the CheckExistenceAtManagementGroupScope request. The method will close the +// http.Response Body if it receives an error. +func (client DeploymentsClient) CheckExistenceAtManagementGroupScopeSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// CheckExistenceAtManagementGroupScopeResponder handles the response to the CheckExistenceAtManagementGroupScope request. The method always +// closes the http.Response Body. +func (client DeploymentsClient) CheckExistenceAtManagementGroupScopeResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent, http.StatusNotFound), + autorest.ByClosing()) + result.Response = resp + return +} + +// CheckExistenceAtScope checks whether the deployment exists. +// Parameters: +// scope - the scope of a deployment. +// deploymentName - the name of the deployment. +func (client DeploymentsClient) CheckExistenceAtScope(ctx context.Context, scope string, deploymentName string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeploymentsClient.CheckExistenceAtScope") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: deploymentName, + Constraints: []validation.Constraint{{Target: "deploymentName", Name: validation.MaxLength, Rule: 64, Chain: nil}, + {Target: "deploymentName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "deploymentName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("features.DeploymentsClient", "CheckExistenceAtScope", err.Error()) + } + + req, err := client.CheckExistenceAtScopePreparer(ctx, scope, deploymentName) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "CheckExistenceAtScope", nil, "Failure preparing request") + return + } + + resp, err := client.CheckExistenceAtScopeSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "CheckExistenceAtScope", resp, "Failure sending request") + return + } + + result, err = client.CheckExistenceAtScopeResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "CheckExistenceAtScope", resp, "Failure responding to request") + } + + return +} + +// CheckExistenceAtScopePreparer prepares the CheckExistenceAtScope request. +func (client DeploymentsClient) CheckExistenceAtScopePreparer(ctx context.Context, scope string, deploymentName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "deploymentName": autorest.Encode("path", deploymentName), + "scope": autorest.Encode("path", scope), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsHead(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/{scope}/providers/Microsoft.Resources/deployments/{deploymentName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CheckExistenceAtScopeSender sends the CheckExistenceAtScope request. The method will close the +// http.Response Body if it receives an error. +func (client DeploymentsClient) CheckExistenceAtScopeSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// CheckExistenceAtScopeResponder handles the response to the CheckExistenceAtScope request. The method always +// closes the http.Response Body. +func (client DeploymentsClient) CheckExistenceAtScopeResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent, http.StatusNotFound), + autorest.ByClosing()) + result.Response = resp + return +} + +// CheckExistenceAtSubscriptionScope checks whether the deployment exists. +// Parameters: +// deploymentName - the name of the deployment. +func (client DeploymentsClient) CheckExistenceAtSubscriptionScope(ctx context.Context, deploymentName string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeploymentsClient.CheckExistenceAtSubscriptionScope") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: deploymentName, + Constraints: []validation.Constraint{{Target: "deploymentName", Name: validation.MaxLength, Rule: 64, Chain: nil}, + {Target: "deploymentName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "deploymentName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("features.DeploymentsClient", "CheckExistenceAtSubscriptionScope", err.Error()) + } + + req, err := client.CheckExistenceAtSubscriptionScopePreparer(ctx, deploymentName) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "CheckExistenceAtSubscriptionScope", nil, "Failure preparing request") + return + } + + resp, err := client.CheckExistenceAtSubscriptionScopeSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "CheckExistenceAtSubscriptionScope", resp, "Failure sending request") + return + } + + result, err = client.CheckExistenceAtSubscriptionScopeResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "CheckExistenceAtSubscriptionScope", resp, "Failure responding to request") + } + + return +} + +// CheckExistenceAtSubscriptionScopePreparer prepares the CheckExistenceAtSubscriptionScope request. +func (client DeploymentsClient) CheckExistenceAtSubscriptionScopePreparer(ctx context.Context, deploymentName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "deploymentName": autorest.Encode("path", deploymentName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsHead(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Resources/deployments/{deploymentName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CheckExistenceAtSubscriptionScopeSender sends the CheckExistenceAtSubscriptionScope request. The method will close the +// http.Response Body if it receives an error. +func (client DeploymentsClient) CheckExistenceAtSubscriptionScopeSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CheckExistenceAtSubscriptionScopeResponder handles the response to the CheckExistenceAtSubscriptionScope request. The method always +// closes the http.Response Body. +func (client DeploymentsClient) CheckExistenceAtSubscriptionScopeResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent, http.StatusNotFound), + autorest.ByClosing()) + result.Response = resp + return +} + +// CheckExistenceAtTenantScope checks whether the deployment exists. +// Parameters: +// deploymentName - the name of the deployment. +func (client DeploymentsClient) CheckExistenceAtTenantScope(ctx context.Context, deploymentName string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeploymentsClient.CheckExistenceAtTenantScope") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: deploymentName, + Constraints: []validation.Constraint{{Target: "deploymentName", Name: validation.MaxLength, Rule: 64, Chain: nil}, + {Target: "deploymentName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "deploymentName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("features.DeploymentsClient", "CheckExistenceAtTenantScope", err.Error()) + } + + req, err := client.CheckExistenceAtTenantScopePreparer(ctx, deploymentName) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "CheckExistenceAtTenantScope", nil, "Failure preparing request") + return + } + + resp, err := client.CheckExistenceAtTenantScopeSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "CheckExistenceAtTenantScope", resp, "Failure sending request") + return + } + + result, err = client.CheckExistenceAtTenantScopeResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "CheckExistenceAtTenantScope", resp, "Failure responding to request") + } + + return +} + +// CheckExistenceAtTenantScopePreparer prepares the CheckExistenceAtTenantScope request. +func (client DeploymentsClient) CheckExistenceAtTenantScopePreparer(ctx context.Context, deploymentName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "deploymentName": autorest.Encode("path", deploymentName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsHead(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/providers/Microsoft.Resources/deployments/{deploymentName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CheckExistenceAtTenantScopeSender sends the CheckExistenceAtTenantScope request. The method will close the +// http.Response Body if it receives an error. +func (client DeploymentsClient) CheckExistenceAtTenantScopeSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// CheckExistenceAtTenantScopeResponder handles the response to the CheckExistenceAtTenantScope request. The method always +// closes the http.Response Body. +func (client DeploymentsClient) CheckExistenceAtTenantScopeResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent, http.StatusNotFound), + autorest.ByClosing()) + result.Response = resp + return +} + +// CreateOrUpdate you can provide the template and parameters directly in the request or link to JSON files. +// Parameters: +// resourceGroupName - the name of the resource group to deploy the resources to. The name is case insensitive. +// The resource group must already exist. +// deploymentName - the name of the deployment. +// parameters - additional parameters supplied to the operation. +func (client DeploymentsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, deploymentName string, parameters Deployment) (result DeploymentsCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeploymentsClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\p{L}\._\(\)\w]+$`, Chain: nil}}}, + {TargetValue: deploymentName, + Constraints: []validation.Constraint{{Target: "deploymentName", Name: validation.MaxLength, Rule: 64, Chain: nil}, + {Target: "deploymentName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "deploymentName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}, + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.Properties", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "parameters.Properties.TemplateLink", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.Properties.TemplateLink.URI", Name: validation.Null, Rule: true, Chain: nil}}}, + {Target: "parameters.Properties.ParametersLink", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.Properties.ParametersLink.URI", Name: validation.Null, Rule: true, Chain: nil}}}, + }}}}}); err != nil { + return result, validation.NewError("features.DeploymentsClient", "CreateOrUpdate", err.Error()) + } + + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, deploymentName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client DeploymentsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, deploymentName string, parameters Deployment) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "deploymentName": autorest.Encode("path", deploymentName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client DeploymentsClient) CreateOrUpdateSender(req *http.Request) (future DeploymentsCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client DeploymentsClient) CreateOrUpdateResponder(resp *http.Response) (result DeploymentExtended, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// CreateOrUpdateAtManagementGroupScope you can provide the template and parameters directly in the request or link to +// JSON files. +// Parameters: +// groupID - the management group ID. +// deploymentName - the name of the deployment. +// parameters - additional parameters supplied to the operation. +func (client DeploymentsClient) CreateOrUpdateAtManagementGroupScope(ctx context.Context, groupID string, deploymentName string, parameters Deployment) (result DeploymentsCreateOrUpdateAtManagementGroupScopeFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeploymentsClient.CreateOrUpdateAtManagementGroupScope") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: groupID, + Constraints: []validation.Constraint{{Target: "groupID", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "groupID", Name: validation.MinLength, Rule: 1, Chain: nil}}}, + {TargetValue: deploymentName, + Constraints: []validation.Constraint{{Target: "deploymentName", Name: validation.MaxLength, Rule: 64, Chain: nil}, + {Target: "deploymentName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "deploymentName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}, + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.Properties", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "parameters.Properties.TemplateLink", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.Properties.TemplateLink.URI", Name: validation.Null, Rule: true, Chain: nil}}}, + {Target: "parameters.Properties.ParametersLink", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.Properties.ParametersLink.URI", Name: validation.Null, Rule: true, Chain: nil}}}, + }}}}}); err != nil { + return result, validation.NewError("features.DeploymentsClient", "CreateOrUpdateAtManagementGroupScope", err.Error()) + } + + req, err := client.CreateOrUpdateAtManagementGroupScopePreparer(ctx, groupID, deploymentName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "CreateOrUpdateAtManagementGroupScope", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateAtManagementGroupScopeSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "CreateOrUpdateAtManagementGroupScope", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdateAtManagementGroupScopePreparer prepares the CreateOrUpdateAtManagementGroupScope request. +func (client DeploymentsClient) CreateOrUpdateAtManagementGroupScopePreparer(ctx context.Context, groupID string, deploymentName string, parameters Deployment) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "deploymentName": autorest.Encode("path", deploymentName), + "groupId": autorest.Encode("path", groupID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/providers/Microsoft.Management/managementGroups/{groupId}/providers/Microsoft.Resources/deployments/{deploymentName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateAtManagementGroupScopeSender sends the CreateOrUpdateAtManagementGroupScope request. The method will close the +// http.Response Body if it receives an error. +func (client DeploymentsClient) CreateOrUpdateAtManagementGroupScopeSender(req *http.Request) (future DeploymentsCreateOrUpdateAtManagementGroupScopeFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateAtManagementGroupScopeResponder handles the response to the CreateOrUpdateAtManagementGroupScope request. The method always +// closes the http.Response Body. +func (client DeploymentsClient) CreateOrUpdateAtManagementGroupScopeResponder(resp *http.Response) (result DeploymentExtended, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// CreateOrUpdateAtScope you can provide the template and parameters directly in the request or link to JSON files. +// Parameters: +// scope - the scope of a deployment. +// deploymentName - the name of the deployment. +// parameters - additional parameters supplied to the operation. +func (client DeploymentsClient) CreateOrUpdateAtScope(ctx context.Context, scope string, deploymentName string, parameters Deployment) (result DeploymentsCreateOrUpdateAtScopeFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeploymentsClient.CreateOrUpdateAtScope") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: deploymentName, + Constraints: []validation.Constraint{{Target: "deploymentName", Name: validation.MaxLength, Rule: 64, Chain: nil}, + {Target: "deploymentName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "deploymentName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}, + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.Properties", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "parameters.Properties.TemplateLink", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.Properties.TemplateLink.URI", Name: validation.Null, Rule: true, Chain: nil}}}, + {Target: "parameters.Properties.ParametersLink", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.Properties.ParametersLink.URI", Name: validation.Null, Rule: true, Chain: nil}}}, + }}}}}); err != nil { + return result, validation.NewError("features.DeploymentsClient", "CreateOrUpdateAtScope", err.Error()) + } + + req, err := client.CreateOrUpdateAtScopePreparer(ctx, scope, deploymentName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "CreateOrUpdateAtScope", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateAtScopeSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "CreateOrUpdateAtScope", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdateAtScopePreparer prepares the CreateOrUpdateAtScope request. +func (client DeploymentsClient) CreateOrUpdateAtScopePreparer(ctx context.Context, scope string, deploymentName string, parameters Deployment) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "deploymentName": autorest.Encode("path", deploymentName), + "scope": autorest.Encode("path", scope), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/{scope}/providers/Microsoft.Resources/deployments/{deploymentName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateAtScopeSender sends the CreateOrUpdateAtScope request. The method will close the +// http.Response Body if it receives an error. +func (client DeploymentsClient) CreateOrUpdateAtScopeSender(req *http.Request) (future DeploymentsCreateOrUpdateAtScopeFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateAtScopeResponder handles the response to the CreateOrUpdateAtScope request. The method always +// closes the http.Response Body. +func (client DeploymentsClient) CreateOrUpdateAtScopeResponder(resp *http.Response) (result DeploymentExtended, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// CreateOrUpdateAtSubscriptionScope you can provide the template and parameters directly in the request or link to +// JSON files. +// Parameters: +// deploymentName - the name of the deployment. +// parameters - additional parameters supplied to the operation. +func (client DeploymentsClient) CreateOrUpdateAtSubscriptionScope(ctx context.Context, deploymentName string, parameters Deployment) (result DeploymentsCreateOrUpdateAtSubscriptionScopeFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeploymentsClient.CreateOrUpdateAtSubscriptionScope") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: deploymentName, + Constraints: []validation.Constraint{{Target: "deploymentName", Name: validation.MaxLength, Rule: 64, Chain: nil}, + {Target: "deploymentName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "deploymentName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}, + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.Properties", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "parameters.Properties.TemplateLink", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.Properties.TemplateLink.URI", Name: validation.Null, Rule: true, Chain: nil}}}, + {Target: "parameters.Properties.ParametersLink", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.Properties.ParametersLink.URI", Name: validation.Null, Rule: true, Chain: nil}}}, + }}}}}); err != nil { + return result, validation.NewError("features.DeploymentsClient", "CreateOrUpdateAtSubscriptionScope", err.Error()) + } + + req, err := client.CreateOrUpdateAtSubscriptionScopePreparer(ctx, deploymentName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "CreateOrUpdateAtSubscriptionScope", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateAtSubscriptionScopeSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "CreateOrUpdateAtSubscriptionScope", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdateAtSubscriptionScopePreparer prepares the CreateOrUpdateAtSubscriptionScope request. +func (client DeploymentsClient) CreateOrUpdateAtSubscriptionScopePreparer(ctx context.Context, deploymentName string, parameters Deployment) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "deploymentName": autorest.Encode("path", deploymentName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Resources/deployments/{deploymentName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateAtSubscriptionScopeSender sends the CreateOrUpdateAtSubscriptionScope request. The method will close the +// http.Response Body if it receives an error. +func (client DeploymentsClient) CreateOrUpdateAtSubscriptionScopeSender(req *http.Request) (future DeploymentsCreateOrUpdateAtSubscriptionScopeFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateAtSubscriptionScopeResponder handles the response to the CreateOrUpdateAtSubscriptionScope request. The method always +// closes the http.Response Body. +func (client DeploymentsClient) CreateOrUpdateAtSubscriptionScopeResponder(resp *http.Response) (result DeploymentExtended, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// CreateOrUpdateAtTenantScope you can provide the template and parameters directly in the request or link to JSON +// files. +// Parameters: +// deploymentName - the name of the deployment. +// parameters - additional parameters supplied to the operation. +func (client DeploymentsClient) CreateOrUpdateAtTenantScope(ctx context.Context, deploymentName string, parameters Deployment) (result DeploymentsCreateOrUpdateAtTenantScopeFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeploymentsClient.CreateOrUpdateAtTenantScope") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: deploymentName, + Constraints: []validation.Constraint{{Target: "deploymentName", Name: validation.MaxLength, Rule: 64, Chain: nil}, + {Target: "deploymentName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "deploymentName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}, + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.Properties", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "parameters.Properties.TemplateLink", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.Properties.TemplateLink.URI", Name: validation.Null, Rule: true, Chain: nil}}}, + {Target: "parameters.Properties.ParametersLink", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.Properties.ParametersLink.URI", Name: validation.Null, Rule: true, Chain: nil}}}, + }}}}}); err != nil { + return result, validation.NewError("features.DeploymentsClient", "CreateOrUpdateAtTenantScope", err.Error()) + } + + req, err := client.CreateOrUpdateAtTenantScopePreparer(ctx, deploymentName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "CreateOrUpdateAtTenantScope", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateAtTenantScopeSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "CreateOrUpdateAtTenantScope", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdateAtTenantScopePreparer prepares the CreateOrUpdateAtTenantScope request. +func (client DeploymentsClient) CreateOrUpdateAtTenantScopePreparer(ctx context.Context, deploymentName string, parameters Deployment) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "deploymentName": autorest.Encode("path", deploymentName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/providers/Microsoft.Resources/deployments/{deploymentName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateAtTenantScopeSender sends the CreateOrUpdateAtTenantScope request. The method will close the +// http.Response Body if it receives an error. +func (client DeploymentsClient) CreateOrUpdateAtTenantScopeSender(req *http.Request) (future DeploymentsCreateOrUpdateAtTenantScopeFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateAtTenantScopeResponder handles the response to the CreateOrUpdateAtTenantScope request. The method always +// closes the http.Response Body. +func (client DeploymentsClient) CreateOrUpdateAtTenantScopeResponder(resp *http.Response) (result DeploymentExtended, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete a template deployment that is currently running cannot be deleted. Deleting a template deployment removes the +// associated deployment operations. Deleting a template deployment does not affect the state of the resource group. +// This is an asynchronous operation that returns a status of 202 until the template deployment is successfully +// deleted. The Location response header contains the URI that is used to obtain the status of the process. While the +// process is running, a call to the URI in the Location header returns a status of 202. When the process finishes, the +// URI in the Location header returns a status of 204 on success. If the asynchronous request failed, the URI in the +// Location header returns an error-level status code. +// Parameters: +// resourceGroupName - the name of the resource group with the deployment to delete. The name is case +// insensitive. +// deploymentName - the name of the deployment. +func (client DeploymentsClient) Delete(ctx context.Context, resourceGroupName string, deploymentName string) (result DeploymentsDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeploymentsClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\p{L}\._\(\)\w]+$`, Chain: nil}}}, + {TargetValue: deploymentName, + Constraints: []validation.Constraint{{Target: "deploymentName", Name: validation.MaxLength, Rule: 64, Chain: nil}, + {Target: "deploymentName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "deploymentName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("features.DeploymentsClient", "Delete", err.Error()) + } + + req, err := client.DeletePreparer(ctx, resourceGroupName, deploymentName) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client DeploymentsClient) DeletePreparer(ctx context.Context, resourceGroupName string, deploymentName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "deploymentName": autorest.Encode("path", deploymentName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client DeploymentsClient) DeleteSender(req *http.Request) (future DeploymentsDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client DeploymentsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// DeleteAtManagementGroupScope a template deployment that is currently running cannot be deleted. Deleting a template +// deployment removes the associated deployment operations. This is an asynchronous operation that returns a status of +// 202 until the template deployment is successfully deleted. The Location response header contains the URI that is +// used to obtain the status of the process. While the process is running, a call to the URI in the Location header +// returns a status of 202. When the process finishes, the URI in the Location header returns a status of 204 on +// success. If the asynchronous request failed, the URI in the Location header returns an error-level status code. +// Parameters: +// groupID - the management group ID. +// deploymentName - the name of the deployment. +func (client DeploymentsClient) DeleteAtManagementGroupScope(ctx context.Context, groupID string, deploymentName string) (result DeploymentsDeleteAtManagementGroupScopeFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeploymentsClient.DeleteAtManagementGroupScope") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: groupID, + Constraints: []validation.Constraint{{Target: "groupID", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "groupID", Name: validation.MinLength, Rule: 1, Chain: nil}}}, + {TargetValue: deploymentName, + Constraints: []validation.Constraint{{Target: "deploymentName", Name: validation.MaxLength, Rule: 64, Chain: nil}, + {Target: "deploymentName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "deploymentName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("features.DeploymentsClient", "DeleteAtManagementGroupScope", err.Error()) + } + + req, err := client.DeleteAtManagementGroupScopePreparer(ctx, groupID, deploymentName) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "DeleteAtManagementGroupScope", nil, "Failure preparing request") + return + } + + result, err = client.DeleteAtManagementGroupScopeSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "DeleteAtManagementGroupScope", result.Response(), "Failure sending request") + return + } + + return +} + +// DeleteAtManagementGroupScopePreparer prepares the DeleteAtManagementGroupScope request. +func (client DeploymentsClient) DeleteAtManagementGroupScopePreparer(ctx context.Context, groupID string, deploymentName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "deploymentName": autorest.Encode("path", deploymentName), + "groupId": autorest.Encode("path", groupID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/providers/Microsoft.Management/managementGroups/{groupId}/providers/Microsoft.Resources/deployments/{deploymentName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteAtManagementGroupScopeSender sends the DeleteAtManagementGroupScope request. The method will close the +// http.Response Body if it receives an error. +func (client DeploymentsClient) DeleteAtManagementGroupScopeSender(req *http.Request) (future DeploymentsDeleteAtManagementGroupScopeFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteAtManagementGroupScopeResponder handles the response to the DeleteAtManagementGroupScope request. The method always +// closes the http.Response Body. +func (client DeploymentsClient) DeleteAtManagementGroupScopeResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// DeleteAtScope a template deployment that is currently running cannot be deleted. Deleting a template deployment +// removes the associated deployment operations. This is an asynchronous operation that returns a status of 202 until +// the template deployment is successfully deleted. The Location response header contains the URI that is used to +// obtain the status of the process. While the process is running, a call to the URI in the Location header returns a +// status of 202. When the process finishes, the URI in the Location header returns a status of 204 on success. If the +// asynchronous request failed, the URI in the Location header returns an error-level status code. +// Parameters: +// scope - the scope of a deployment. +// deploymentName - the name of the deployment. +func (client DeploymentsClient) DeleteAtScope(ctx context.Context, scope string, deploymentName string) (result DeploymentsDeleteAtScopeFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeploymentsClient.DeleteAtScope") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: deploymentName, + Constraints: []validation.Constraint{{Target: "deploymentName", Name: validation.MaxLength, Rule: 64, Chain: nil}, + {Target: "deploymentName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "deploymentName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("features.DeploymentsClient", "DeleteAtScope", err.Error()) + } + + req, err := client.DeleteAtScopePreparer(ctx, scope, deploymentName) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "DeleteAtScope", nil, "Failure preparing request") + return + } + + result, err = client.DeleteAtScopeSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "DeleteAtScope", result.Response(), "Failure sending request") + return + } + + return +} + +// DeleteAtScopePreparer prepares the DeleteAtScope request. +func (client DeploymentsClient) DeleteAtScopePreparer(ctx context.Context, scope string, deploymentName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "deploymentName": autorest.Encode("path", deploymentName), + "scope": autorest.Encode("path", scope), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/{scope}/providers/Microsoft.Resources/deployments/{deploymentName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteAtScopeSender sends the DeleteAtScope request. The method will close the +// http.Response Body if it receives an error. +func (client DeploymentsClient) DeleteAtScopeSender(req *http.Request) (future DeploymentsDeleteAtScopeFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteAtScopeResponder handles the response to the DeleteAtScope request. The method always +// closes the http.Response Body. +func (client DeploymentsClient) DeleteAtScopeResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// DeleteAtSubscriptionScope a template deployment that is currently running cannot be deleted. Deleting a template +// deployment removes the associated deployment operations. This is an asynchronous operation that returns a status of +// 202 until the template deployment is successfully deleted. The Location response header contains the URI that is +// used to obtain the status of the process. While the process is running, a call to the URI in the Location header +// returns a status of 202. When the process finishes, the URI in the Location header returns a status of 204 on +// success. If the asynchronous request failed, the URI in the Location header returns an error-level status code. +// Parameters: +// deploymentName - the name of the deployment. +func (client DeploymentsClient) DeleteAtSubscriptionScope(ctx context.Context, deploymentName string) (result DeploymentsDeleteAtSubscriptionScopeFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeploymentsClient.DeleteAtSubscriptionScope") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: deploymentName, + Constraints: []validation.Constraint{{Target: "deploymentName", Name: validation.MaxLength, Rule: 64, Chain: nil}, + {Target: "deploymentName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "deploymentName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("features.DeploymentsClient", "DeleteAtSubscriptionScope", err.Error()) + } + + req, err := client.DeleteAtSubscriptionScopePreparer(ctx, deploymentName) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "DeleteAtSubscriptionScope", nil, "Failure preparing request") + return + } + + result, err = client.DeleteAtSubscriptionScopeSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "DeleteAtSubscriptionScope", result.Response(), "Failure sending request") + return + } + + return +} + +// DeleteAtSubscriptionScopePreparer prepares the DeleteAtSubscriptionScope request. +func (client DeploymentsClient) DeleteAtSubscriptionScopePreparer(ctx context.Context, deploymentName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "deploymentName": autorest.Encode("path", deploymentName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Resources/deployments/{deploymentName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteAtSubscriptionScopeSender sends the DeleteAtSubscriptionScope request. The method will close the +// http.Response Body if it receives an error. +func (client DeploymentsClient) DeleteAtSubscriptionScopeSender(req *http.Request) (future DeploymentsDeleteAtSubscriptionScopeFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteAtSubscriptionScopeResponder handles the response to the DeleteAtSubscriptionScope request. The method always +// closes the http.Response Body. +func (client DeploymentsClient) DeleteAtSubscriptionScopeResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// DeleteAtTenantScope a template deployment that is currently running cannot be deleted. Deleting a template +// deployment removes the associated deployment operations. This is an asynchronous operation that returns a status of +// 202 until the template deployment is successfully deleted. The Location response header contains the URI that is +// used to obtain the status of the process. While the process is running, a call to the URI in the Location header +// returns a status of 202. When the process finishes, the URI in the Location header returns a status of 204 on +// success. If the asynchronous request failed, the URI in the Location header returns an error-level status code. +// Parameters: +// deploymentName - the name of the deployment. +func (client DeploymentsClient) DeleteAtTenantScope(ctx context.Context, deploymentName string) (result DeploymentsDeleteAtTenantScopeFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeploymentsClient.DeleteAtTenantScope") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: deploymentName, + Constraints: []validation.Constraint{{Target: "deploymentName", Name: validation.MaxLength, Rule: 64, Chain: nil}, + {Target: "deploymentName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "deploymentName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("features.DeploymentsClient", "DeleteAtTenantScope", err.Error()) + } + + req, err := client.DeleteAtTenantScopePreparer(ctx, deploymentName) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "DeleteAtTenantScope", nil, "Failure preparing request") + return + } + + result, err = client.DeleteAtTenantScopeSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "DeleteAtTenantScope", result.Response(), "Failure sending request") + return + } + + return +} + +// DeleteAtTenantScopePreparer prepares the DeleteAtTenantScope request. +func (client DeploymentsClient) DeleteAtTenantScopePreparer(ctx context.Context, deploymentName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "deploymentName": autorest.Encode("path", deploymentName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/providers/Microsoft.Resources/deployments/{deploymentName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteAtTenantScopeSender sends the DeleteAtTenantScope request. The method will close the +// http.Response Body if it receives an error. +func (client DeploymentsClient) DeleteAtTenantScopeSender(req *http.Request) (future DeploymentsDeleteAtTenantScopeFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteAtTenantScopeResponder handles the response to the DeleteAtTenantScope request. The method always +// closes the http.Response Body. +func (client DeploymentsClient) DeleteAtTenantScopeResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// ExportTemplate exports the template used for specified deployment. +// Parameters: +// resourceGroupName - the name of the resource group. The name is case insensitive. +// deploymentName - the name of the deployment. +func (client DeploymentsClient) ExportTemplate(ctx context.Context, resourceGroupName string, deploymentName string) (result DeploymentExportResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeploymentsClient.ExportTemplate") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\p{L}\._\(\)\w]+$`, Chain: nil}}}, + {TargetValue: deploymentName, + Constraints: []validation.Constraint{{Target: "deploymentName", Name: validation.MaxLength, Rule: 64, Chain: nil}, + {Target: "deploymentName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "deploymentName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("features.DeploymentsClient", "ExportTemplate", err.Error()) + } + + req, err := client.ExportTemplatePreparer(ctx, resourceGroupName, deploymentName) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "ExportTemplate", nil, "Failure preparing request") + return + } + + resp, err := client.ExportTemplateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "ExportTemplate", resp, "Failure sending request") + return + } + + result, err = client.ExportTemplateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "ExportTemplate", resp, "Failure responding to request") + } + + return +} + +// ExportTemplatePreparer prepares the ExportTemplate request. +func (client DeploymentsClient) ExportTemplatePreparer(ctx context.Context, resourceGroupName string, deploymentName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "deploymentName": autorest.Encode("path", deploymentName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}/exportTemplate", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ExportTemplateSender sends the ExportTemplate request. The method will close the +// http.Response Body if it receives an error. +func (client DeploymentsClient) ExportTemplateSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ExportTemplateResponder handles the response to the ExportTemplate request. The method always +// closes the http.Response Body. +func (client DeploymentsClient) ExportTemplateResponder(resp *http.Response) (result DeploymentExportResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ExportTemplateAtManagementGroupScope exports the template used for specified deployment. +// Parameters: +// groupID - the management group ID. +// deploymentName - the name of the deployment. +func (client DeploymentsClient) ExportTemplateAtManagementGroupScope(ctx context.Context, groupID string, deploymentName string) (result DeploymentExportResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeploymentsClient.ExportTemplateAtManagementGroupScope") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: groupID, + Constraints: []validation.Constraint{{Target: "groupID", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "groupID", Name: validation.MinLength, Rule: 1, Chain: nil}}}, + {TargetValue: deploymentName, + Constraints: []validation.Constraint{{Target: "deploymentName", Name: validation.MaxLength, Rule: 64, Chain: nil}, + {Target: "deploymentName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "deploymentName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("features.DeploymentsClient", "ExportTemplateAtManagementGroupScope", err.Error()) + } + + req, err := client.ExportTemplateAtManagementGroupScopePreparer(ctx, groupID, deploymentName) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "ExportTemplateAtManagementGroupScope", nil, "Failure preparing request") + return + } + + resp, err := client.ExportTemplateAtManagementGroupScopeSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "ExportTemplateAtManagementGroupScope", resp, "Failure sending request") + return + } + + result, err = client.ExportTemplateAtManagementGroupScopeResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "ExportTemplateAtManagementGroupScope", resp, "Failure responding to request") + } + + return +} + +// ExportTemplateAtManagementGroupScopePreparer prepares the ExportTemplateAtManagementGroupScope request. +func (client DeploymentsClient) ExportTemplateAtManagementGroupScopePreparer(ctx context.Context, groupID string, deploymentName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "deploymentName": autorest.Encode("path", deploymentName), + "groupId": autorest.Encode("path", groupID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/providers/Microsoft.Management/managementGroups/{groupId}/providers/Microsoft.Resources/deployments/{deploymentName}/exportTemplate", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ExportTemplateAtManagementGroupScopeSender sends the ExportTemplateAtManagementGroupScope request. The method will close the +// http.Response Body if it receives an error. +func (client DeploymentsClient) ExportTemplateAtManagementGroupScopeSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// ExportTemplateAtManagementGroupScopeResponder handles the response to the ExportTemplateAtManagementGroupScope request. The method always +// closes the http.Response Body. +func (client DeploymentsClient) ExportTemplateAtManagementGroupScopeResponder(resp *http.Response) (result DeploymentExportResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ExportTemplateAtScope exports the template used for specified deployment. +// Parameters: +// scope - the scope of a deployment. +// deploymentName - the name of the deployment. +func (client DeploymentsClient) ExportTemplateAtScope(ctx context.Context, scope string, deploymentName string) (result DeploymentExportResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeploymentsClient.ExportTemplateAtScope") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: deploymentName, + Constraints: []validation.Constraint{{Target: "deploymentName", Name: validation.MaxLength, Rule: 64, Chain: nil}, + {Target: "deploymentName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "deploymentName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("features.DeploymentsClient", "ExportTemplateAtScope", err.Error()) + } + + req, err := client.ExportTemplateAtScopePreparer(ctx, scope, deploymentName) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "ExportTemplateAtScope", nil, "Failure preparing request") + return + } + + resp, err := client.ExportTemplateAtScopeSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "ExportTemplateAtScope", resp, "Failure sending request") + return + } + + result, err = client.ExportTemplateAtScopeResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "ExportTemplateAtScope", resp, "Failure responding to request") + } + + return +} + +// ExportTemplateAtScopePreparer prepares the ExportTemplateAtScope request. +func (client DeploymentsClient) ExportTemplateAtScopePreparer(ctx context.Context, scope string, deploymentName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "deploymentName": autorest.Encode("path", deploymentName), + "scope": autorest.Encode("path", scope), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/{scope}/providers/Microsoft.Resources/deployments/{deploymentName}/exportTemplate", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ExportTemplateAtScopeSender sends the ExportTemplateAtScope request. The method will close the +// http.Response Body if it receives an error. +func (client DeploymentsClient) ExportTemplateAtScopeSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// ExportTemplateAtScopeResponder handles the response to the ExportTemplateAtScope request. The method always +// closes the http.Response Body. +func (client DeploymentsClient) ExportTemplateAtScopeResponder(resp *http.Response) (result DeploymentExportResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ExportTemplateAtSubscriptionScope exports the template used for specified deployment. +// Parameters: +// deploymentName - the name of the deployment. +func (client DeploymentsClient) ExportTemplateAtSubscriptionScope(ctx context.Context, deploymentName string) (result DeploymentExportResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeploymentsClient.ExportTemplateAtSubscriptionScope") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: deploymentName, + Constraints: []validation.Constraint{{Target: "deploymentName", Name: validation.MaxLength, Rule: 64, Chain: nil}, + {Target: "deploymentName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "deploymentName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("features.DeploymentsClient", "ExportTemplateAtSubscriptionScope", err.Error()) + } + + req, err := client.ExportTemplateAtSubscriptionScopePreparer(ctx, deploymentName) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "ExportTemplateAtSubscriptionScope", nil, "Failure preparing request") + return + } + + resp, err := client.ExportTemplateAtSubscriptionScopeSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "ExportTemplateAtSubscriptionScope", resp, "Failure sending request") + return + } + + result, err = client.ExportTemplateAtSubscriptionScopeResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "ExportTemplateAtSubscriptionScope", resp, "Failure responding to request") + } + + return +} + +// ExportTemplateAtSubscriptionScopePreparer prepares the ExportTemplateAtSubscriptionScope request. +func (client DeploymentsClient) ExportTemplateAtSubscriptionScopePreparer(ctx context.Context, deploymentName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "deploymentName": autorest.Encode("path", deploymentName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Resources/deployments/{deploymentName}/exportTemplate", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ExportTemplateAtSubscriptionScopeSender sends the ExportTemplateAtSubscriptionScope request. The method will close the +// http.Response Body if it receives an error. +func (client DeploymentsClient) ExportTemplateAtSubscriptionScopeSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ExportTemplateAtSubscriptionScopeResponder handles the response to the ExportTemplateAtSubscriptionScope request. The method always +// closes the http.Response Body. +func (client DeploymentsClient) ExportTemplateAtSubscriptionScopeResponder(resp *http.Response) (result DeploymentExportResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ExportTemplateAtTenantScope exports the template used for specified deployment. +// Parameters: +// deploymentName - the name of the deployment. +func (client DeploymentsClient) ExportTemplateAtTenantScope(ctx context.Context, deploymentName string) (result DeploymentExportResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeploymentsClient.ExportTemplateAtTenantScope") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: deploymentName, + Constraints: []validation.Constraint{{Target: "deploymentName", Name: validation.MaxLength, Rule: 64, Chain: nil}, + {Target: "deploymentName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "deploymentName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("features.DeploymentsClient", "ExportTemplateAtTenantScope", err.Error()) + } + + req, err := client.ExportTemplateAtTenantScopePreparer(ctx, deploymentName) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "ExportTemplateAtTenantScope", nil, "Failure preparing request") + return + } + + resp, err := client.ExportTemplateAtTenantScopeSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "ExportTemplateAtTenantScope", resp, "Failure sending request") + return + } + + result, err = client.ExportTemplateAtTenantScopeResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "ExportTemplateAtTenantScope", resp, "Failure responding to request") + } + + return +} + +// ExportTemplateAtTenantScopePreparer prepares the ExportTemplateAtTenantScope request. +func (client DeploymentsClient) ExportTemplateAtTenantScopePreparer(ctx context.Context, deploymentName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "deploymentName": autorest.Encode("path", deploymentName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/providers/Microsoft.Resources/deployments/{deploymentName}/exportTemplate", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ExportTemplateAtTenantScopeSender sends the ExportTemplateAtTenantScope request. The method will close the +// http.Response Body if it receives an error. +func (client DeploymentsClient) ExportTemplateAtTenantScopeSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// ExportTemplateAtTenantScopeResponder handles the response to the ExportTemplateAtTenantScope request. The method always +// closes the http.Response Body. +func (client DeploymentsClient) ExportTemplateAtTenantScopeResponder(resp *http.Response) (result DeploymentExportResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Get gets a deployment. +// Parameters: +// resourceGroupName - the name of the resource group. The name is case insensitive. +// deploymentName - the name of the deployment. +func (client DeploymentsClient) Get(ctx context.Context, resourceGroupName string, deploymentName string) (result DeploymentExtended, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeploymentsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\p{L}\._\(\)\w]+$`, Chain: nil}}}, + {TargetValue: deploymentName, + Constraints: []validation.Constraint{{Target: "deploymentName", Name: validation.MaxLength, Rule: 64, Chain: nil}, + {Target: "deploymentName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "deploymentName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("features.DeploymentsClient", "Get", err.Error()) + } + + req, err := client.GetPreparer(ctx, resourceGroupName, deploymentName) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client DeploymentsClient) GetPreparer(ctx context.Context, resourceGroupName string, deploymentName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "deploymentName": autorest.Encode("path", deploymentName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client DeploymentsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client DeploymentsClient) GetResponder(resp *http.Response) (result DeploymentExtended, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetAtManagementGroupScope gets a deployment. +// Parameters: +// groupID - the management group ID. +// deploymentName - the name of the deployment. +func (client DeploymentsClient) GetAtManagementGroupScope(ctx context.Context, groupID string, deploymentName string) (result DeploymentExtended, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeploymentsClient.GetAtManagementGroupScope") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: groupID, + Constraints: []validation.Constraint{{Target: "groupID", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "groupID", Name: validation.MinLength, Rule: 1, Chain: nil}}}, + {TargetValue: deploymentName, + Constraints: []validation.Constraint{{Target: "deploymentName", Name: validation.MaxLength, Rule: 64, Chain: nil}, + {Target: "deploymentName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "deploymentName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("features.DeploymentsClient", "GetAtManagementGroupScope", err.Error()) + } + + req, err := client.GetAtManagementGroupScopePreparer(ctx, groupID, deploymentName) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "GetAtManagementGroupScope", nil, "Failure preparing request") + return + } + + resp, err := client.GetAtManagementGroupScopeSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "GetAtManagementGroupScope", resp, "Failure sending request") + return + } + + result, err = client.GetAtManagementGroupScopeResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "GetAtManagementGroupScope", resp, "Failure responding to request") + } + + return +} + +// GetAtManagementGroupScopePreparer prepares the GetAtManagementGroupScope request. +func (client DeploymentsClient) GetAtManagementGroupScopePreparer(ctx context.Context, groupID string, deploymentName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "deploymentName": autorest.Encode("path", deploymentName), + "groupId": autorest.Encode("path", groupID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/providers/Microsoft.Management/managementGroups/{groupId}/providers/Microsoft.Resources/deployments/{deploymentName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetAtManagementGroupScopeSender sends the GetAtManagementGroupScope request. The method will close the +// http.Response Body if it receives an error. +func (client DeploymentsClient) GetAtManagementGroupScopeSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetAtManagementGroupScopeResponder handles the response to the GetAtManagementGroupScope request. The method always +// closes the http.Response Body. +func (client DeploymentsClient) GetAtManagementGroupScopeResponder(resp *http.Response) (result DeploymentExtended, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetAtScope gets a deployment. +// Parameters: +// scope - the scope of a deployment. +// deploymentName - the name of the deployment. +func (client DeploymentsClient) GetAtScope(ctx context.Context, scope string, deploymentName string) (result DeploymentExtended, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeploymentsClient.GetAtScope") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: deploymentName, + Constraints: []validation.Constraint{{Target: "deploymentName", Name: validation.MaxLength, Rule: 64, Chain: nil}, + {Target: "deploymentName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "deploymentName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("features.DeploymentsClient", "GetAtScope", err.Error()) + } + + req, err := client.GetAtScopePreparer(ctx, scope, deploymentName) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "GetAtScope", nil, "Failure preparing request") + return + } + + resp, err := client.GetAtScopeSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "GetAtScope", resp, "Failure sending request") + return + } + + result, err = client.GetAtScopeResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "GetAtScope", resp, "Failure responding to request") + } + + return +} + +// GetAtScopePreparer prepares the GetAtScope request. +func (client DeploymentsClient) GetAtScopePreparer(ctx context.Context, scope string, deploymentName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "deploymentName": autorest.Encode("path", deploymentName), + "scope": autorest.Encode("path", scope), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/{scope}/providers/Microsoft.Resources/deployments/{deploymentName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetAtScopeSender sends the GetAtScope request. The method will close the +// http.Response Body if it receives an error. +func (client DeploymentsClient) GetAtScopeSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetAtScopeResponder handles the response to the GetAtScope request. The method always +// closes the http.Response Body. +func (client DeploymentsClient) GetAtScopeResponder(resp *http.Response) (result DeploymentExtended, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetAtSubscriptionScope gets a deployment. +// Parameters: +// deploymentName - the name of the deployment. +func (client DeploymentsClient) GetAtSubscriptionScope(ctx context.Context, deploymentName string) (result DeploymentExtended, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeploymentsClient.GetAtSubscriptionScope") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: deploymentName, + Constraints: []validation.Constraint{{Target: "deploymentName", Name: validation.MaxLength, Rule: 64, Chain: nil}, + {Target: "deploymentName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "deploymentName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("features.DeploymentsClient", "GetAtSubscriptionScope", err.Error()) + } + + req, err := client.GetAtSubscriptionScopePreparer(ctx, deploymentName) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "GetAtSubscriptionScope", nil, "Failure preparing request") + return + } + + resp, err := client.GetAtSubscriptionScopeSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "GetAtSubscriptionScope", resp, "Failure sending request") + return + } + + result, err = client.GetAtSubscriptionScopeResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "GetAtSubscriptionScope", resp, "Failure responding to request") + } + + return +} + +// GetAtSubscriptionScopePreparer prepares the GetAtSubscriptionScope request. +func (client DeploymentsClient) GetAtSubscriptionScopePreparer(ctx context.Context, deploymentName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "deploymentName": autorest.Encode("path", deploymentName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Resources/deployments/{deploymentName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetAtSubscriptionScopeSender sends the GetAtSubscriptionScope request. The method will close the +// http.Response Body if it receives an error. +func (client DeploymentsClient) GetAtSubscriptionScopeSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetAtSubscriptionScopeResponder handles the response to the GetAtSubscriptionScope request. The method always +// closes the http.Response Body. +func (client DeploymentsClient) GetAtSubscriptionScopeResponder(resp *http.Response) (result DeploymentExtended, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetAtTenantScope gets a deployment. +// Parameters: +// deploymentName - the name of the deployment. +func (client DeploymentsClient) GetAtTenantScope(ctx context.Context, deploymentName string) (result DeploymentExtended, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeploymentsClient.GetAtTenantScope") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: deploymentName, + Constraints: []validation.Constraint{{Target: "deploymentName", Name: validation.MaxLength, Rule: 64, Chain: nil}, + {Target: "deploymentName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "deploymentName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("features.DeploymentsClient", "GetAtTenantScope", err.Error()) + } + + req, err := client.GetAtTenantScopePreparer(ctx, deploymentName) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "GetAtTenantScope", nil, "Failure preparing request") + return + } + + resp, err := client.GetAtTenantScopeSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "GetAtTenantScope", resp, "Failure sending request") + return + } + + result, err = client.GetAtTenantScopeResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "GetAtTenantScope", resp, "Failure responding to request") + } + + return +} + +// GetAtTenantScopePreparer prepares the GetAtTenantScope request. +func (client DeploymentsClient) GetAtTenantScopePreparer(ctx context.Context, deploymentName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "deploymentName": autorest.Encode("path", deploymentName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/providers/Microsoft.Resources/deployments/{deploymentName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetAtTenantScopeSender sends the GetAtTenantScope request. The method will close the +// http.Response Body if it receives an error. +func (client DeploymentsClient) GetAtTenantScopeSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetAtTenantScopeResponder handles the response to the GetAtTenantScope request. The method always +// closes the http.Response Body. +func (client DeploymentsClient) GetAtTenantScopeResponder(resp *http.Response) (result DeploymentExtended, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListAtManagementGroupScope get all the deployments for a management group. +// Parameters: +// groupID - the management group ID. +// filter - the filter to apply on the operation. For example, you can use $filter=provisioningState eq +// '{state}'. +// top - the number of results to get. If null is passed, returns all deployments. +func (client DeploymentsClient) ListAtManagementGroupScope(ctx context.Context, groupID string, filter string, top *int32) (result DeploymentListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeploymentsClient.ListAtManagementGroupScope") + defer func() { + sc := -1 + if result.dlr.Response.Response != nil { + sc = result.dlr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: groupID, + Constraints: []validation.Constraint{{Target: "groupID", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "groupID", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { + return result, validation.NewError("features.DeploymentsClient", "ListAtManagementGroupScope", err.Error()) + } + + result.fn = client.listAtManagementGroupScopeNextResults + req, err := client.ListAtManagementGroupScopePreparer(ctx, groupID, filter, top) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "ListAtManagementGroupScope", nil, "Failure preparing request") + return + } + + resp, err := client.ListAtManagementGroupScopeSender(req) + if err != nil { + result.dlr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "ListAtManagementGroupScope", resp, "Failure sending request") + return + } + + result.dlr, err = client.ListAtManagementGroupScopeResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "ListAtManagementGroupScope", resp, "Failure responding to request") + } + + return +} + +// ListAtManagementGroupScopePreparer prepares the ListAtManagementGroupScope request. +func (client DeploymentsClient) ListAtManagementGroupScopePreparer(ctx context.Context, groupID string, filter string, top *int32) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "groupId": autorest.Encode("path", groupID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(filter) > 0 { + queryParameters["$filter"] = autorest.Encode("query", filter) + } + if top != nil { + queryParameters["$top"] = autorest.Encode("query", *top) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/providers/Microsoft.Management/managementGroups/{groupId}/providers/Microsoft.Resources/deployments/", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListAtManagementGroupScopeSender sends the ListAtManagementGroupScope request. The method will close the +// http.Response Body if it receives an error. +func (client DeploymentsClient) ListAtManagementGroupScopeSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListAtManagementGroupScopeResponder handles the response to the ListAtManagementGroupScope request. The method always +// closes the http.Response Body. +func (client DeploymentsClient) ListAtManagementGroupScopeResponder(resp *http.Response) (result DeploymentListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listAtManagementGroupScopeNextResults retrieves the next set of results, if any. +func (client DeploymentsClient) listAtManagementGroupScopeNextResults(ctx context.Context, lastResults DeploymentListResult) (result DeploymentListResult, err error) { + req, err := lastResults.deploymentListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "features.DeploymentsClient", "listAtManagementGroupScopeNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListAtManagementGroupScopeSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "features.DeploymentsClient", "listAtManagementGroupScopeNextResults", resp, "Failure sending next results request") + } + result, err = client.ListAtManagementGroupScopeResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "listAtManagementGroupScopeNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListAtManagementGroupScopeComplete enumerates all values, automatically crossing page boundaries as required. +func (client DeploymentsClient) ListAtManagementGroupScopeComplete(ctx context.Context, groupID string, filter string, top *int32) (result DeploymentListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeploymentsClient.ListAtManagementGroupScope") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListAtManagementGroupScope(ctx, groupID, filter, top) + return +} + +// ListAtScope get all the deployments at the given scope. +// Parameters: +// scope - the scope of a deployment. +// filter - the filter to apply on the operation. For example, you can use $filter=provisioningState eq +// '{state}'. +// top - the number of results to get. If null is passed, returns all deployments. +func (client DeploymentsClient) ListAtScope(ctx context.Context, scope string, filter string, top *int32) (result DeploymentListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeploymentsClient.ListAtScope") + defer func() { + sc := -1 + if result.dlr.Response.Response != nil { + sc = result.dlr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listAtScopeNextResults + req, err := client.ListAtScopePreparer(ctx, scope, filter, top) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "ListAtScope", nil, "Failure preparing request") + return + } + + resp, err := client.ListAtScopeSender(req) + if err != nil { + result.dlr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "ListAtScope", resp, "Failure sending request") + return + } + + result.dlr, err = client.ListAtScopeResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "ListAtScope", resp, "Failure responding to request") + } + + return +} + +// ListAtScopePreparer prepares the ListAtScope request. +func (client DeploymentsClient) ListAtScopePreparer(ctx context.Context, scope string, filter string, top *int32) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "scope": autorest.Encode("path", scope), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(filter) > 0 { + queryParameters["$filter"] = autorest.Encode("query", filter) + } + if top != nil { + queryParameters["$top"] = autorest.Encode("query", *top) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/{scope}/providers/Microsoft.Resources/deployments/", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListAtScopeSender sends the ListAtScope request. The method will close the +// http.Response Body if it receives an error. +func (client DeploymentsClient) ListAtScopeSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListAtScopeResponder handles the response to the ListAtScope request. The method always +// closes the http.Response Body. +func (client DeploymentsClient) ListAtScopeResponder(resp *http.Response) (result DeploymentListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listAtScopeNextResults retrieves the next set of results, if any. +func (client DeploymentsClient) listAtScopeNextResults(ctx context.Context, lastResults DeploymentListResult) (result DeploymentListResult, err error) { + req, err := lastResults.deploymentListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "features.DeploymentsClient", "listAtScopeNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListAtScopeSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "features.DeploymentsClient", "listAtScopeNextResults", resp, "Failure sending next results request") + } + result, err = client.ListAtScopeResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "listAtScopeNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListAtScopeComplete enumerates all values, automatically crossing page boundaries as required. +func (client DeploymentsClient) ListAtScopeComplete(ctx context.Context, scope string, filter string, top *int32) (result DeploymentListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeploymentsClient.ListAtScope") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListAtScope(ctx, scope, filter, top) + return +} + +// ListAtSubscriptionScope get all the deployments for a subscription. +// Parameters: +// filter - the filter to apply on the operation. For example, you can use $filter=provisioningState eq +// '{state}'. +// top - the number of results to get. If null is passed, returns all deployments. +func (client DeploymentsClient) ListAtSubscriptionScope(ctx context.Context, filter string, top *int32) (result DeploymentListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeploymentsClient.ListAtSubscriptionScope") + defer func() { + sc := -1 + if result.dlr.Response.Response != nil { + sc = result.dlr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listAtSubscriptionScopeNextResults + req, err := client.ListAtSubscriptionScopePreparer(ctx, filter, top) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "ListAtSubscriptionScope", nil, "Failure preparing request") + return + } + + resp, err := client.ListAtSubscriptionScopeSender(req) + if err != nil { + result.dlr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "ListAtSubscriptionScope", resp, "Failure sending request") + return + } + + result.dlr, err = client.ListAtSubscriptionScopeResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "ListAtSubscriptionScope", resp, "Failure responding to request") + } + + return +} + +// ListAtSubscriptionScopePreparer prepares the ListAtSubscriptionScope request. +func (client DeploymentsClient) ListAtSubscriptionScopePreparer(ctx context.Context, filter string, top *int32) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(filter) > 0 { + queryParameters["$filter"] = autorest.Encode("query", filter) + } + if top != nil { + queryParameters["$top"] = autorest.Encode("query", *top) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Resources/deployments/", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListAtSubscriptionScopeSender sends the ListAtSubscriptionScope request. The method will close the +// http.Response Body if it receives an error. +func (client DeploymentsClient) ListAtSubscriptionScopeSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListAtSubscriptionScopeResponder handles the response to the ListAtSubscriptionScope request. The method always +// closes the http.Response Body. +func (client DeploymentsClient) ListAtSubscriptionScopeResponder(resp *http.Response) (result DeploymentListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listAtSubscriptionScopeNextResults retrieves the next set of results, if any. +func (client DeploymentsClient) listAtSubscriptionScopeNextResults(ctx context.Context, lastResults DeploymentListResult) (result DeploymentListResult, err error) { + req, err := lastResults.deploymentListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "features.DeploymentsClient", "listAtSubscriptionScopeNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListAtSubscriptionScopeSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "features.DeploymentsClient", "listAtSubscriptionScopeNextResults", resp, "Failure sending next results request") + } + result, err = client.ListAtSubscriptionScopeResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "listAtSubscriptionScopeNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListAtSubscriptionScopeComplete enumerates all values, automatically crossing page boundaries as required. +func (client DeploymentsClient) ListAtSubscriptionScopeComplete(ctx context.Context, filter string, top *int32) (result DeploymentListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeploymentsClient.ListAtSubscriptionScope") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListAtSubscriptionScope(ctx, filter, top) + return +} + +// ListAtTenantScope get all the deployments at the tenant scope. +// Parameters: +// filter - the filter to apply on the operation. For example, you can use $filter=provisioningState eq +// '{state}'. +// top - the number of results to get. If null is passed, returns all deployments. +func (client DeploymentsClient) ListAtTenantScope(ctx context.Context, filter string, top *int32) (result DeploymentListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeploymentsClient.ListAtTenantScope") + defer func() { + sc := -1 + if result.dlr.Response.Response != nil { + sc = result.dlr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listAtTenantScopeNextResults + req, err := client.ListAtTenantScopePreparer(ctx, filter, top) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "ListAtTenantScope", nil, "Failure preparing request") + return + } + + resp, err := client.ListAtTenantScopeSender(req) + if err != nil { + result.dlr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "ListAtTenantScope", resp, "Failure sending request") + return + } + + result.dlr, err = client.ListAtTenantScopeResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "ListAtTenantScope", resp, "Failure responding to request") + } + + return +} + +// ListAtTenantScopePreparer prepares the ListAtTenantScope request. +func (client DeploymentsClient) ListAtTenantScopePreparer(ctx context.Context, filter string, top *int32) (*http.Request, error) { + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(filter) > 0 { + queryParameters["$filter"] = autorest.Encode("query", filter) + } + if top != nil { + queryParameters["$top"] = autorest.Encode("query", *top) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPath("/providers/Microsoft.Resources/deployments/"), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListAtTenantScopeSender sends the ListAtTenantScope request. The method will close the +// http.Response Body if it receives an error. +func (client DeploymentsClient) ListAtTenantScopeSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListAtTenantScopeResponder handles the response to the ListAtTenantScope request. The method always +// closes the http.Response Body. +func (client DeploymentsClient) ListAtTenantScopeResponder(resp *http.Response) (result DeploymentListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listAtTenantScopeNextResults retrieves the next set of results, if any. +func (client DeploymentsClient) listAtTenantScopeNextResults(ctx context.Context, lastResults DeploymentListResult) (result DeploymentListResult, err error) { + req, err := lastResults.deploymentListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "features.DeploymentsClient", "listAtTenantScopeNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListAtTenantScopeSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "features.DeploymentsClient", "listAtTenantScopeNextResults", resp, "Failure sending next results request") + } + result, err = client.ListAtTenantScopeResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "listAtTenantScopeNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListAtTenantScopeComplete enumerates all values, automatically crossing page boundaries as required. +func (client DeploymentsClient) ListAtTenantScopeComplete(ctx context.Context, filter string, top *int32) (result DeploymentListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeploymentsClient.ListAtTenantScope") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListAtTenantScope(ctx, filter, top) + return +} + +// ListByResourceGroup get all the deployments for a resource group. +// Parameters: +// resourceGroupName - the name of the resource group with the deployments to get. The name is case +// insensitive. +// filter - the filter to apply on the operation. For example, you can use $filter=provisioningState eq +// '{state}'. +// top - the number of results to get. If null is passed, returns all deployments. +func (client DeploymentsClient) ListByResourceGroup(ctx context.Context, resourceGroupName string, filter string, top *int32) (result DeploymentListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeploymentsClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.dlr.Response.Response != nil { + sc = result.dlr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\p{L}\._\(\)\w]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("features.DeploymentsClient", "ListByResourceGroup", err.Error()) + } + + result.fn = client.listByResourceGroupNextResults + req, err := client.ListByResourceGroupPreparer(ctx, resourceGroupName, filter, top) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "ListByResourceGroup", nil, "Failure preparing request") + return + } + + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.dlr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "ListByResourceGroup", resp, "Failure sending request") + return + } + + result.dlr, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "ListByResourceGroup", resp, "Failure responding to request") + } + + return +} + +// ListByResourceGroupPreparer prepares the ListByResourceGroup request. +func (client DeploymentsClient) ListByResourceGroupPreparer(ctx context.Context, resourceGroupName string, filter string, top *int32) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(filter) > 0 { + queryParameters["$filter"] = autorest.Encode("query", filter) + } + if top != nil { + queryParameters["$top"] = autorest.Encode("query", *top) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByResourceGroupSender sends the ListByResourceGroup request. The method will close the +// http.Response Body if it receives an error. +func (client DeploymentsClient) ListByResourceGroupSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByResourceGroupResponder handles the response to the ListByResourceGroup request. The method always +// closes the http.Response Body. +func (client DeploymentsClient) ListByResourceGroupResponder(resp *http.Response) (result DeploymentListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listByResourceGroupNextResults retrieves the next set of results, if any. +func (client DeploymentsClient) listByResourceGroupNextResults(ctx context.Context, lastResults DeploymentListResult) (result DeploymentListResult, err error) { + req, err := lastResults.deploymentListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "features.DeploymentsClient", "listByResourceGroupNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "features.DeploymentsClient", "listByResourceGroupNextResults", resp, "Failure sending next results request") + } + result, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "listByResourceGroupNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListByResourceGroupComplete enumerates all values, automatically crossing page boundaries as required. +func (client DeploymentsClient) ListByResourceGroupComplete(ctx context.Context, resourceGroupName string, filter string, top *int32) (result DeploymentListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeploymentsClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListByResourceGroup(ctx, resourceGroupName, filter, top) + return +} + +// Validate validates whether the specified template is syntactically correct and will be accepted by Azure Resource +// Manager.. +// Parameters: +// resourceGroupName - the name of the resource group the template will be deployed to. The name is case +// insensitive. +// deploymentName - the name of the deployment. +// parameters - parameters to validate. +func (client DeploymentsClient) Validate(ctx context.Context, resourceGroupName string, deploymentName string, parameters Deployment) (result DeploymentValidateResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeploymentsClient.Validate") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\p{L}\._\(\)\w]+$`, Chain: nil}}}, + {TargetValue: deploymentName, + Constraints: []validation.Constraint{{Target: "deploymentName", Name: validation.MaxLength, Rule: 64, Chain: nil}, + {Target: "deploymentName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "deploymentName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}, + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.Properties", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "parameters.Properties.TemplateLink", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.Properties.TemplateLink.URI", Name: validation.Null, Rule: true, Chain: nil}}}, + {Target: "parameters.Properties.ParametersLink", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.Properties.ParametersLink.URI", Name: validation.Null, Rule: true, Chain: nil}}}, + }}}}}); err != nil { + return result, validation.NewError("features.DeploymentsClient", "Validate", err.Error()) + } + + req, err := client.ValidatePreparer(ctx, resourceGroupName, deploymentName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "Validate", nil, "Failure preparing request") + return + } + + resp, err := client.ValidateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "Validate", resp, "Failure sending request") + return + } + + result, err = client.ValidateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "Validate", resp, "Failure responding to request") + } + + return +} + +// ValidatePreparer prepares the Validate request. +func (client DeploymentsClient) ValidatePreparer(ctx context.Context, resourceGroupName string, deploymentName string, parameters Deployment) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "deploymentName": autorest.Encode("path", deploymentName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}/validate", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ValidateSender sends the Validate request. The method will close the +// http.Response Body if it receives an error. +func (client DeploymentsClient) ValidateSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ValidateResponder handles the response to the Validate request. The method always +// closes the http.Response Body. +func (client DeploymentsClient) ValidateResponder(resp *http.Response) (result DeploymentValidateResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusBadRequest), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ValidateAtManagementGroupScope validates whether the specified template is syntactically correct and will be +// accepted by Azure Resource Manager.. +// Parameters: +// groupID - the management group ID. +// deploymentName - the name of the deployment. +// parameters - parameters to validate. +func (client DeploymentsClient) ValidateAtManagementGroupScope(ctx context.Context, groupID string, deploymentName string, parameters Deployment) (result DeploymentValidateResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeploymentsClient.ValidateAtManagementGroupScope") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: groupID, + Constraints: []validation.Constraint{{Target: "groupID", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "groupID", Name: validation.MinLength, Rule: 1, Chain: nil}}}, + {TargetValue: deploymentName, + Constraints: []validation.Constraint{{Target: "deploymentName", Name: validation.MaxLength, Rule: 64, Chain: nil}, + {Target: "deploymentName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "deploymentName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}, + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.Properties", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "parameters.Properties.TemplateLink", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.Properties.TemplateLink.URI", Name: validation.Null, Rule: true, Chain: nil}}}, + {Target: "parameters.Properties.ParametersLink", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.Properties.ParametersLink.URI", Name: validation.Null, Rule: true, Chain: nil}}}, + }}}}}); err != nil { + return result, validation.NewError("features.DeploymentsClient", "ValidateAtManagementGroupScope", err.Error()) + } + + req, err := client.ValidateAtManagementGroupScopePreparer(ctx, groupID, deploymentName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "ValidateAtManagementGroupScope", nil, "Failure preparing request") + return + } + + resp, err := client.ValidateAtManagementGroupScopeSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "ValidateAtManagementGroupScope", resp, "Failure sending request") + return + } + + result, err = client.ValidateAtManagementGroupScopeResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "ValidateAtManagementGroupScope", resp, "Failure responding to request") + } + + return +} + +// ValidateAtManagementGroupScopePreparer prepares the ValidateAtManagementGroupScope request. +func (client DeploymentsClient) ValidateAtManagementGroupScopePreparer(ctx context.Context, groupID string, deploymentName string, parameters Deployment) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "deploymentName": autorest.Encode("path", deploymentName), + "groupId": autorest.Encode("path", groupID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/providers/Microsoft.Management/managementGroups/{groupId}/providers/Microsoft.Resources/deployments/{deploymentName}/validate", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ValidateAtManagementGroupScopeSender sends the ValidateAtManagementGroupScope request. The method will close the +// http.Response Body if it receives an error. +func (client DeploymentsClient) ValidateAtManagementGroupScopeSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// ValidateAtManagementGroupScopeResponder handles the response to the ValidateAtManagementGroupScope request. The method always +// closes the http.Response Body. +func (client DeploymentsClient) ValidateAtManagementGroupScopeResponder(resp *http.Response) (result DeploymentValidateResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusBadRequest), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ValidateAtScope validates whether the specified template is syntactically correct and will be accepted by Azure +// Resource Manager.. +// Parameters: +// scope - the scope of a deployment. +// deploymentName - the name of the deployment. +// parameters - parameters to validate. +func (client DeploymentsClient) ValidateAtScope(ctx context.Context, scope string, deploymentName string, parameters Deployment) (result DeploymentValidateResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeploymentsClient.ValidateAtScope") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: deploymentName, + Constraints: []validation.Constraint{{Target: "deploymentName", Name: validation.MaxLength, Rule: 64, Chain: nil}, + {Target: "deploymentName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "deploymentName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}, + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.Properties", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "parameters.Properties.TemplateLink", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.Properties.TemplateLink.URI", Name: validation.Null, Rule: true, Chain: nil}}}, + {Target: "parameters.Properties.ParametersLink", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.Properties.ParametersLink.URI", Name: validation.Null, Rule: true, Chain: nil}}}, + }}}}}); err != nil { + return result, validation.NewError("features.DeploymentsClient", "ValidateAtScope", err.Error()) + } + + req, err := client.ValidateAtScopePreparer(ctx, scope, deploymentName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "ValidateAtScope", nil, "Failure preparing request") + return + } + + resp, err := client.ValidateAtScopeSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "ValidateAtScope", resp, "Failure sending request") + return + } + + result, err = client.ValidateAtScopeResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "ValidateAtScope", resp, "Failure responding to request") + } + + return +} + +// ValidateAtScopePreparer prepares the ValidateAtScope request. +func (client DeploymentsClient) ValidateAtScopePreparer(ctx context.Context, scope string, deploymentName string, parameters Deployment) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "deploymentName": autorest.Encode("path", deploymentName), + "scope": autorest.Encode("path", scope), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/{scope}/providers/Microsoft.Resources/deployments/{deploymentName}/validate", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ValidateAtScopeSender sends the ValidateAtScope request. The method will close the +// http.Response Body if it receives an error. +func (client DeploymentsClient) ValidateAtScopeSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// ValidateAtScopeResponder handles the response to the ValidateAtScope request. The method always +// closes the http.Response Body. +func (client DeploymentsClient) ValidateAtScopeResponder(resp *http.Response) (result DeploymentValidateResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusBadRequest), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ValidateAtSubscriptionScope validates whether the specified template is syntactically correct and will be accepted +// by Azure Resource Manager.. +// Parameters: +// deploymentName - the name of the deployment. +// parameters - parameters to validate. +func (client DeploymentsClient) ValidateAtSubscriptionScope(ctx context.Context, deploymentName string, parameters Deployment) (result DeploymentValidateResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeploymentsClient.ValidateAtSubscriptionScope") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: deploymentName, + Constraints: []validation.Constraint{{Target: "deploymentName", Name: validation.MaxLength, Rule: 64, Chain: nil}, + {Target: "deploymentName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "deploymentName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}, + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.Properties", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "parameters.Properties.TemplateLink", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.Properties.TemplateLink.URI", Name: validation.Null, Rule: true, Chain: nil}}}, + {Target: "parameters.Properties.ParametersLink", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.Properties.ParametersLink.URI", Name: validation.Null, Rule: true, Chain: nil}}}, + }}}}}); err != nil { + return result, validation.NewError("features.DeploymentsClient", "ValidateAtSubscriptionScope", err.Error()) + } + + req, err := client.ValidateAtSubscriptionScopePreparer(ctx, deploymentName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "ValidateAtSubscriptionScope", nil, "Failure preparing request") + return + } + + resp, err := client.ValidateAtSubscriptionScopeSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "ValidateAtSubscriptionScope", resp, "Failure sending request") + return + } + + result, err = client.ValidateAtSubscriptionScopeResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "ValidateAtSubscriptionScope", resp, "Failure responding to request") + } + + return +} + +// ValidateAtSubscriptionScopePreparer prepares the ValidateAtSubscriptionScope request. +func (client DeploymentsClient) ValidateAtSubscriptionScopePreparer(ctx context.Context, deploymentName string, parameters Deployment) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "deploymentName": autorest.Encode("path", deploymentName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Resources/deployments/{deploymentName}/validate", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ValidateAtSubscriptionScopeSender sends the ValidateAtSubscriptionScope request. The method will close the +// http.Response Body if it receives an error. +func (client DeploymentsClient) ValidateAtSubscriptionScopeSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ValidateAtSubscriptionScopeResponder handles the response to the ValidateAtSubscriptionScope request. The method always +// closes the http.Response Body. +func (client DeploymentsClient) ValidateAtSubscriptionScopeResponder(resp *http.Response) (result DeploymentValidateResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusBadRequest), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ValidateAtTenantScope validates whether the specified template is syntactically correct and will be accepted by +// Azure Resource Manager.. +// Parameters: +// deploymentName - the name of the deployment. +// parameters - parameters to validate. +func (client DeploymentsClient) ValidateAtTenantScope(ctx context.Context, deploymentName string, parameters Deployment) (result DeploymentValidateResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeploymentsClient.ValidateAtTenantScope") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: deploymentName, + Constraints: []validation.Constraint{{Target: "deploymentName", Name: validation.MaxLength, Rule: 64, Chain: nil}, + {Target: "deploymentName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "deploymentName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}, + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.Properties", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "parameters.Properties.TemplateLink", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.Properties.TemplateLink.URI", Name: validation.Null, Rule: true, Chain: nil}}}, + {Target: "parameters.Properties.ParametersLink", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.Properties.ParametersLink.URI", Name: validation.Null, Rule: true, Chain: nil}}}, + }}}}}); err != nil { + return result, validation.NewError("features.DeploymentsClient", "ValidateAtTenantScope", err.Error()) + } + + req, err := client.ValidateAtTenantScopePreparer(ctx, deploymentName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "ValidateAtTenantScope", nil, "Failure preparing request") + return + } + + resp, err := client.ValidateAtTenantScopeSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "ValidateAtTenantScope", resp, "Failure sending request") + return + } + + result, err = client.ValidateAtTenantScopeResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "ValidateAtTenantScope", resp, "Failure responding to request") + } + + return +} + +// ValidateAtTenantScopePreparer prepares the ValidateAtTenantScope request. +func (client DeploymentsClient) ValidateAtTenantScopePreparer(ctx context.Context, deploymentName string, parameters Deployment) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "deploymentName": autorest.Encode("path", deploymentName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/providers/Microsoft.Resources/deployments/{deploymentName}/validate", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ValidateAtTenantScopeSender sends the ValidateAtTenantScope request. The method will close the +// http.Response Body if it receives an error. +func (client DeploymentsClient) ValidateAtTenantScopeSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// ValidateAtTenantScopeResponder handles the response to the ValidateAtTenantScope request. The method always +// closes the http.Response Body. +func (client DeploymentsClient) ValidateAtTenantScopeResponder(resp *http.Response) (result DeploymentValidateResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusBadRequest), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// WhatIf returns changes that will be made by the deployment if executed at the scope of the resource group. +// Parameters: +// resourceGroupName - the name of the resource group the template will be deployed to. The name is case +// insensitive. +// deploymentName - the name of the deployment. +// parameters - parameters to validate. +func (client DeploymentsClient) WhatIf(ctx context.Context, resourceGroupName string, deploymentName string, parameters DeploymentWhatIf) (result DeploymentsWhatIfFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeploymentsClient.WhatIf") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\p{L}\._\(\)\w]+$`, Chain: nil}}}, + {TargetValue: deploymentName, + Constraints: []validation.Constraint{{Target: "deploymentName", Name: validation.MaxLength, Rule: 64, Chain: nil}, + {Target: "deploymentName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "deploymentName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}, + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.Properties", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + return result, validation.NewError("features.DeploymentsClient", "WhatIf", err.Error()) + } + + req, err := client.WhatIfPreparer(ctx, resourceGroupName, deploymentName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "WhatIf", nil, "Failure preparing request") + return + } + + result, err = client.WhatIfSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "WhatIf", result.Response(), "Failure sending request") + return + } + + return +} + +// WhatIfPreparer prepares the WhatIf request. +func (client DeploymentsClient) WhatIfPreparer(ctx context.Context, resourceGroupName string, deploymentName string, parameters DeploymentWhatIf) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "deploymentName": autorest.Encode("path", deploymentName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}/whatIf", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// WhatIfSender sends the WhatIf request. The method will close the +// http.Response Body if it receives an error. +func (client DeploymentsClient) WhatIfSender(req *http.Request) (future DeploymentsWhatIfFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// WhatIfResponder handles the response to the WhatIf request. The method always +// closes the http.Response Body. +func (client DeploymentsClient) WhatIfResponder(resp *http.Response) (result WhatIfOperationResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// WhatIfAtSubscriptionScope returns changes that will be made by the deployment if executed at the scope of the +// subscription. +// Parameters: +// deploymentName - the name of the deployment. +// parameters - parameters to What If. +func (client DeploymentsClient) WhatIfAtSubscriptionScope(ctx context.Context, deploymentName string, parameters DeploymentWhatIf) (result DeploymentsWhatIfAtSubscriptionScopeFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeploymentsClient.WhatIfAtSubscriptionScope") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: deploymentName, + Constraints: []validation.Constraint{{Target: "deploymentName", Name: validation.MaxLength, Rule: 64, Chain: nil}, + {Target: "deploymentName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "deploymentName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+$`, Chain: nil}}}, + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.Properties", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + return result, validation.NewError("features.DeploymentsClient", "WhatIfAtSubscriptionScope", err.Error()) + } + + req, err := client.WhatIfAtSubscriptionScopePreparer(ctx, deploymentName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "WhatIfAtSubscriptionScope", nil, "Failure preparing request") + return + } + + result, err = client.WhatIfAtSubscriptionScopeSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsClient", "WhatIfAtSubscriptionScope", result.Response(), "Failure sending request") + return + } + + return +} + +// WhatIfAtSubscriptionScopePreparer prepares the WhatIfAtSubscriptionScope request. +func (client DeploymentsClient) WhatIfAtSubscriptionScopePreparer(ctx context.Context, deploymentName string, parameters DeploymentWhatIf) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "deploymentName": autorest.Encode("path", deploymentName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Resources/deployments/{deploymentName}/whatIf", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// WhatIfAtSubscriptionScopeSender sends the WhatIfAtSubscriptionScope request. The method will close the +// http.Response Body if it receives an error. +func (client DeploymentsClient) WhatIfAtSubscriptionScopeSender(req *http.Request) (future DeploymentsWhatIfAtSubscriptionScopeFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// WhatIfAtSubscriptionScopeResponder handles the response to the WhatIfAtSubscriptionScope request. The method always +// closes the http.Response Body. +func (client DeploymentsClient) WhatIfAtSubscriptionScopeResponder(resp *http.Response) (result WhatIfOperationResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/resources/mgmt/2019-07-01/features/featuresapi/interfaces.go b/services/resources/mgmt/2019-07-01/features/featuresapi/interfaces.go new file mode 100644 index 000000000000..b1bd3bd25dd2 --- /dev/null +++ b/services/resources/mgmt/2019-07-01/features/featuresapi/interfaces.go @@ -0,0 +1,152 @@ +package featuresapi + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/azure-sdk-for-go/services/resources/mgmt/2019-07-01/features" + "github.com/Azure/go-autorest/autorest" +) + +// OperationsClientAPI contains the set of methods on the OperationsClient type. +type OperationsClientAPI interface { + List(ctx context.Context) (result features.OperationListResultPage, err error) +} + +var _ OperationsClientAPI = (*features.OperationsClient)(nil) + +// DeploymentsClientAPI contains the set of methods on the DeploymentsClient type. +type DeploymentsClientAPI interface { + CalculateTemplateHash(ctx context.Context, templateParameter interface{}) (result features.TemplateHashResult, err error) + Cancel(ctx context.Context, resourceGroupName string, deploymentName string) (result autorest.Response, err error) + CancelAtManagementGroupScope(ctx context.Context, groupID string, deploymentName string) (result autorest.Response, err error) + CancelAtScope(ctx context.Context, scope string, deploymentName string) (result autorest.Response, err error) + CancelAtSubscriptionScope(ctx context.Context, deploymentName string) (result autorest.Response, err error) + CancelAtTenantScope(ctx context.Context, deploymentName string) (result autorest.Response, err error) + CheckExistence(ctx context.Context, resourceGroupName string, deploymentName string) (result autorest.Response, err error) + CheckExistenceAtManagementGroupScope(ctx context.Context, groupID string, deploymentName string) (result autorest.Response, err error) + CheckExistenceAtScope(ctx context.Context, scope string, deploymentName string) (result autorest.Response, err error) + CheckExistenceAtSubscriptionScope(ctx context.Context, deploymentName string) (result autorest.Response, err error) + CheckExistenceAtTenantScope(ctx context.Context, deploymentName string) (result autorest.Response, err error) + CreateOrUpdate(ctx context.Context, resourceGroupName string, deploymentName string, parameters features.Deployment) (result features.DeploymentsCreateOrUpdateFuture, err error) + CreateOrUpdateAtManagementGroupScope(ctx context.Context, groupID string, deploymentName string, parameters features.Deployment) (result features.DeploymentsCreateOrUpdateAtManagementGroupScopeFuture, err error) + CreateOrUpdateAtScope(ctx context.Context, scope string, deploymentName string, parameters features.Deployment) (result features.DeploymentsCreateOrUpdateAtScopeFuture, err error) + CreateOrUpdateAtSubscriptionScope(ctx context.Context, deploymentName string, parameters features.Deployment) (result features.DeploymentsCreateOrUpdateAtSubscriptionScopeFuture, err error) + CreateOrUpdateAtTenantScope(ctx context.Context, deploymentName string, parameters features.Deployment) (result features.DeploymentsCreateOrUpdateAtTenantScopeFuture, err error) + Delete(ctx context.Context, resourceGroupName string, deploymentName string) (result features.DeploymentsDeleteFuture, err error) + DeleteAtManagementGroupScope(ctx context.Context, groupID string, deploymentName string) (result features.DeploymentsDeleteAtManagementGroupScopeFuture, err error) + DeleteAtScope(ctx context.Context, scope string, deploymentName string) (result features.DeploymentsDeleteAtScopeFuture, err error) + DeleteAtSubscriptionScope(ctx context.Context, deploymentName string) (result features.DeploymentsDeleteAtSubscriptionScopeFuture, err error) + DeleteAtTenantScope(ctx context.Context, deploymentName string) (result features.DeploymentsDeleteAtTenantScopeFuture, err error) + ExportTemplate(ctx context.Context, resourceGroupName string, deploymentName string) (result features.DeploymentExportResult, err error) + ExportTemplateAtManagementGroupScope(ctx context.Context, groupID string, deploymentName string) (result features.DeploymentExportResult, err error) + ExportTemplateAtScope(ctx context.Context, scope string, deploymentName string) (result features.DeploymentExportResult, err error) + ExportTemplateAtSubscriptionScope(ctx context.Context, deploymentName string) (result features.DeploymentExportResult, err error) + ExportTemplateAtTenantScope(ctx context.Context, deploymentName string) (result features.DeploymentExportResult, err error) + Get(ctx context.Context, resourceGroupName string, deploymentName string) (result features.DeploymentExtended, err error) + GetAtManagementGroupScope(ctx context.Context, groupID string, deploymentName string) (result features.DeploymentExtended, err error) + GetAtScope(ctx context.Context, scope string, deploymentName string) (result features.DeploymentExtended, err error) + GetAtSubscriptionScope(ctx context.Context, deploymentName string) (result features.DeploymentExtended, err error) + GetAtTenantScope(ctx context.Context, deploymentName string) (result features.DeploymentExtended, err error) + ListAtManagementGroupScope(ctx context.Context, groupID string, filter string, top *int32) (result features.DeploymentListResultPage, err error) + ListAtScope(ctx context.Context, scope string, filter string, top *int32) (result features.DeploymentListResultPage, err error) + ListAtSubscriptionScope(ctx context.Context, filter string, top *int32) (result features.DeploymentListResultPage, err error) + ListAtTenantScope(ctx context.Context, filter string, top *int32) (result features.DeploymentListResultPage, err error) + ListByResourceGroup(ctx context.Context, resourceGroupName string, filter string, top *int32) (result features.DeploymentListResultPage, err error) + Validate(ctx context.Context, resourceGroupName string, deploymentName string, parameters features.Deployment) (result features.DeploymentValidateResult, err error) + ValidateAtManagementGroupScope(ctx context.Context, groupID string, deploymentName string, parameters features.Deployment) (result features.DeploymentValidateResult, err error) + ValidateAtScope(ctx context.Context, scope string, deploymentName string, parameters features.Deployment) (result features.DeploymentValidateResult, err error) + ValidateAtSubscriptionScope(ctx context.Context, deploymentName string, parameters features.Deployment) (result features.DeploymentValidateResult, err error) + ValidateAtTenantScope(ctx context.Context, deploymentName string, parameters features.Deployment) (result features.DeploymentValidateResult, err error) + WhatIf(ctx context.Context, resourceGroupName string, deploymentName string, parameters features.DeploymentWhatIf) (result features.DeploymentsWhatIfFuture, err error) + WhatIfAtSubscriptionScope(ctx context.Context, deploymentName string, parameters features.DeploymentWhatIf) (result features.DeploymentsWhatIfAtSubscriptionScopeFuture, err error) +} + +var _ DeploymentsClientAPI = (*features.DeploymentsClient)(nil) + +// ProvidersClientAPI contains the set of methods on the ProvidersClient type. +type ProvidersClientAPI interface { + Get(ctx context.Context, resourceProviderNamespace string, expand string) (result features.Provider, err error) + GetAtTenantScope(ctx context.Context, resourceProviderNamespace string, expand string) (result features.Provider, err error) + List(ctx context.Context, top *int32, expand string) (result features.ProviderListResultPage, err error) + ListAtTenantScope(ctx context.Context, top *int32, expand string) (result features.ProviderListResultPage, err error) + Register(ctx context.Context, resourceProviderNamespace string) (result features.Provider, err error) + Unregister(ctx context.Context, resourceProviderNamespace string) (result features.Provider, err error) +} + +var _ ProvidersClientAPI = (*features.ProvidersClient)(nil) + +// ResourcesClientAPI contains the set of methods on the ResourcesClient type. +type ResourcesClientAPI interface { + CheckExistence(ctx context.Context, resourceGroupName string, resourceProviderNamespace string, parentResourcePath string, resourceType string, resourceName string) (result autorest.Response, err error) + CheckExistenceByID(ctx context.Context, resourceID string) (result autorest.Response, err error) + CreateOrUpdate(ctx context.Context, resourceGroupName string, resourceProviderNamespace string, parentResourcePath string, resourceType string, resourceName string, parameters features.GenericResource) (result features.ResourcesCreateOrUpdateFuture, err error) + CreateOrUpdateByID(ctx context.Context, resourceID string, parameters features.GenericResource) (result features.ResourcesCreateOrUpdateByIDFuture, err error) + Delete(ctx context.Context, resourceGroupName string, resourceProviderNamespace string, parentResourcePath string, resourceType string, resourceName string) (result features.ResourcesDeleteFuture, err error) + DeleteByID(ctx context.Context, resourceID string) (result features.ResourcesDeleteByIDFuture, err error) + Get(ctx context.Context, resourceGroupName string, resourceProviderNamespace string, parentResourcePath string, resourceType string, resourceName string) (result features.GenericResource, err error) + GetByID(ctx context.Context, resourceID string) (result features.GenericResource, err error) + List(ctx context.Context, filter string, expand string, top *int32) (result features.ResourceListResultPage, err error) + ListByResourceGroup(ctx context.Context, resourceGroupName string, filter string, expand string, top *int32) (result features.ResourceListResultPage, err error) + MoveResources(ctx context.Context, sourceResourceGroupName string, parameters features.ResourcesMoveInfo) (result features.ResourcesMoveResourcesFuture, err error) + Update(ctx context.Context, resourceGroupName string, resourceProviderNamespace string, parentResourcePath string, resourceType string, resourceName string, parameters features.GenericResource) (result features.ResourcesUpdateFuture, err error) + UpdateByID(ctx context.Context, resourceID string, parameters features.GenericResource) (result features.ResourcesUpdateByIDFuture, err error) + ValidateMoveResources(ctx context.Context, sourceResourceGroupName string, parameters features.ResourcesMoveInfo) (result features.ResourcesValidateMoveResourcesFuture, err error) +} + +var _ ResourcesClientAPI = (*features.ResourcesClient)(nil) + +// ResourceGroupsClientAPI contains the set of methods on the ResourceGroupsClient type. +type ResourceGroupsClientAPI interface { + CheckExistence(ctx context.Context, resourceGroupName string) (result autorest.Response, err error) + CreateOrUpdate(ctx context.Context, resourceGroupName string, parameters features.ResourceGroup) (result features.ResourceGroup, err error) + Delete(ctx context.Context, resourceGroupName string) (result features.ResourceGroupsDeleteFuture, err error) + ExportTemplate(ctx context.Context, resourceGroupName string, parameters features.ExportTemplateRequest) (result features.ResourceGroupExportResult, err error) + Get(ctx context.Context, resourceGroupName string) (result features.ResourceGroup, err error) + List(ctx context.Context, filter string, top *int32) (result features.ResourceGroupListResultPage, err error) + Update(ctx context.Context, resourceGroupName string, parameters features.ResourceGroupPatchable) (result features.ResourceGroup, err error) +} + +var _ ResourceGroupsClientAPI = (*features.ResourceGroupsClient)(nil) + +// TagsClientAPI contains the set of methods on the TagsClient type. +type TagsClientAPI interface { + CreateOrUpdate(ctx context.Context, tagName string) (result features.TagDetails, err error) + CreateOrUpdateValue(ctx context.Context, tagName string, tagValue string) (result features.TagValue, err error) + Delete(ctx context.Context, tagName string) (result autorest.Response, err error) + DeleteValue(ctx context.Context, tagName string, tagValue string) (result autorest.Response, err error) + List(ctx context.Context) (result features.TagsListResultPage, err error) +} + +var _ TagsClientAPI = (*features.TagsClient)(nil) + +// DeploymentOperationsClientAPI contains the set of methods on the DeploymentOperationsClient type. +type DeploymentOperationsClientAPI interface { + Get(ctx context.Context, resourceGroupName string, deploymentName string, operationID string) (result features.DeploymentOperation, err error) + GetAtManagementGroupScope(ctx context.Context, groupID string, deploymentName string, operationID string) (result features.DeploymentOperation, err error) + GetAtScope(ctx context.Context, scope string, deploymentName string, operationID string) (result features.DeploymentOperation, err error) + GetAtSubscriptionScope(ctx context.Context, deploymentName string, operationID string) (result features.DeploymentOperation, err error) + GetAtTenantScope(ctx context.Context, deploymentName string, operationID string) (result features.DeploymentOperation, err error) + List(ctx context.Context, resourceGroupName string, deploymentName string, top *int32) (result features.DeploymentOperationsListResultPage, err error) + ListAtManagementGroupScope(ctx context.Context, groupID string, deploymentName string, top *int32) (result features.DeploymentOperationsListResultPage, err error) + ListAtScope(ctx context.Context, scope string, deploymentName string, top *int32) (result features.DeploymentOperationsListResultPage, err error) + ListAtSubscriptionScope(ctx context.Context, deploymentName string, top *int32) (result features.DeploymentOperationsListResultPage, err error) + ListAtTenantScope(ctx context.Context, deploymentName string, top *int32) (result features.DeploymentOperationsListResultPage, err error) +} + +var _ DeploymentOperationsClientAPI = (*features.DeploymentOperationsClient)(nil) diff --git a/services/resources/mgmt/2019-07-01/features/models.go b/services/resources/mgmt/2019-07-01/features/models.go new file mode 100644 index 000000000000..21648bbabc98 --- /dev/null +++ b/services/resources/mgmt/2019-07-01/features/models.go @@ -0,0 +1,2504 @@ +package features + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "encoding/json" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/date" + "github.com/Azure/go-autorest/autorest/to" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// The package's fully qualified name. +const fqdn = "github.com/Azure/azure-sdk-for-go/services/resources/mgmt/2019-07-01/features" + +// ChangeType enumerates the values for change type. +type ChangeType string + +const ( + // Create The resource does not exist in the current state but is present in the desired state. The + // resource will be created when the deployment is executed. + Create ChangeType = "Create" + // Delete The resource exists in the current state and is missing from the desired state. The resource will + // be deleted when the deployment is executed. + Delete ChangeType = "Delete" + // Deploy The resource exists in the current state and the desired state and will be redeployed when the + // deployment is executed. The properties of the resource may or may not change. + Deploy ChangeType = "Deploy" + // Ignore The resource exists in the current state and is missing from the desired state. The resource will + // not be deployed or modified when the deployment is executed. + Ignore ChangeType = "Ignore" + // Modify The resource exists in the current state and the desired state and will be redeployed when the + // deployment is executed. The properties of the resource will change. + Modify ChangeType = "Modify" + // NoChange The resource exists in the current state and the desired state and will be redeployed when the + // deployment is executed. The properties of the resource will not change. + NoChange ChangeType = "NoChange" +) + +// PossibleChangeTypeValues returns an array of possible values for the ChangeType const type. +func PossibleChangeTypeValues() []ChangeType { + return []ChangeType{Create, Delete, Deploy, Ignore, Modify, NoChange} +} + +// DeploymentMode enumerates the values for deployment mode. +type DeploymentMode string + +const ( + // Complete ... + Complete DeploymentMode = "Complete" + // Incremental ... + Incremental DeploymentMode = "Incremental" +) + +// PossibleDeploymentModeValues returns an array of possible values for the DeploymentMode const type. +func PossibleDeploymentModeValues() []DeploymentMode { + return []DeploymentMode{Complete, Incremental} +} + +// OnErrorDeploymentType enumerates the values for on error deployment type. +type OnErrorDeploymentType string + +const ( + // LastSuccessful ... + LastSuccessful OnErrorDeploymentType = "LastSuccessful" + // SpecificDeployment ... + SpecificDeployment OnErrorDeploymentType = "SpecificDeployment" +) + +// PossibleOnErrorDeploymentTypeValues returns an array of possible values for the OnErrorDeploymentType const type. +func PossibleOnErrorDeploymentTypeValues() []OnErrorDeploymentType { + return []OnErrorDeploymentType{LastSuccessful, SpecificDeployment} +} + +// PropertyChangeType enumerates the values for property change type. +type PropertyChangeType string + +const ( + // PropertyChangeTypeArray The property is an array and contains nested changes. + PropertyChangeTypeArray PropertyChangeType = "Array" + // PropertyChangeTypeCreate The property does not exist in the current state but is present in the desired + // state. The property will be created when the deployment is executed. + PropertyChangeTypeCreate PropertyChangeType = "Create" + // PropertyChangeTypeDelete The property exists in the current state and is missing from the desired state. + // It will be deleted when the deployment is executed. + PropertyChangeTypeDelete PropertyChangeType = "Delete" + // PropertyChangeTypeModify The property exists in both current and desired state and is different. The + // value of the property will change when the deployment is executed. + PropertyChangeTypeModify PropertyChangeType = "Modify" +) + +// PossiblePropertyChangeTypeValues returns an array of possible values for the PropertyChangeType const type. +func PossiblePropertyChangeTypeValues() []PropertyChangeType { + return []PropertyChangeType{PropertyChangeTypeArray, PropertyChangeTypeCreate, PropertyChangeTypeDelete, PropertyChangeTypeModify} +} + +// ResourceIdentityType enumerates the values for resource identity type. +type ResourceIdentityType string + +const ( + // None ... + None ResourceIdentityType = "None" + // SystemAssigned ... + SystemAssigned ResourceIdentityType = "SystemAssigned" + // SystemAssignedUserAssigned ... + SystemAssignedUserAssigned ResourceIdentityType = "SystemAssigned, UserAssigned" + // UserAssigned ... + UserAssigned ResourceIdentityType = "UserAssigned" +) + +// PossibleResourceIdentityTypeValues returns an array of possible values for the ResourceIdentityType const type. +func PossibleResourceIdentityTypeValues() []ResourceIdentityType { + return []ResourceIdentityType{None, SystemAssigned, SystemAssignedUserAssigned, UserAssigned} +} + +// WhatIfResultFormat enumerates the values for what if result format. +type WhatIfResultFormat string + +const ( + // FullResourcePayloads ... + FullResourcePayloads WhatIfResultFormat = "FullResourcePayloads" + // ResourceIDOnly ... + ResourceIDOnly WhatIfResultFormat = "ResourceIdOnly" +) + +// PossibleWhatIfResultFormatValues returns an array of possible values for the WhatIfResultFormat const type. +func PossibleWhatIfResultFormatValues() []WhatIfResultFormat { + return []WhatIfResultFormat{FullResourcePayloads, ResourceIDOnly} +} + +// AliasPathType the type of the paths for alias. +type AliasPathType struct { + // Path - The path of an alias. + Path *string `json:"path,omitempty"` + // APIVersions - The API versions. + APIVersions *[]string `json:"apiVersions,omitempty"` +} + +// AliasType the alias type. +type AliasType struct { + // Name - The alias name. + Name *string `json:"name,omitempty"` + // Paths - The paths for an alias. + Paths *[]AliasPathType `json:"paths,omitempty"` +} + +// BasicDependency deployment dependency information. +type BasicDependency struct { + // ID - The ID of the dependency. + ID *string `json:"id,omitempty"` + // ResourceType - The dependency resource type. + ResourceType *string `json:"resourceType,omitempty"` + // ResourceName - The dependency resource name. + ResourceName *string `json:"resourceName,omitempty"` +} + +// CloudError an error response for a resource management request. +type CloudError struct { + Error *ErrorResponse `json:"error,omitempty"` +} + +// DebugSetting the debug setting. +type DebugSetting struct { + // DetailLevel - Specifies the type of information to log for debugging. The permitted values are none, requestContent, responseContent, or both requestContent and responseContent separated by a comma. The default is none. When setting this value, carefully consider the type of information you are passing in during deployment. By logging information about the request or response, you could potentially expose sensitive data that is retrieved through the deployment operations. + DetailLevel *string `json:"detailLevel,omitempty"` +} + +// Dependency deployment dependency information. +type Dependency struct { + // DependsOn - The list of dependencies. + DependsOn *[]BasicDependency `json:"dependsOn,omitempty"` + // ID - The ID of the dependency. + ID *string `json:"id,omitempty"` + // ResourceType - The dependency resource type. + ResourceType *string `json:"resourceType,omitempty"` + // ResourceName - The dependency resource name. + ResourceName *string `json:"resourceName,omitempty"` +} + +// Deployment deployment operation parameters. +type Deployment struct { + // Location - The location to store the deployment data. + Location *string `json:"location,omitempty"` + // Properties - The deployment properties. + Properties *DeploymentProperties `json:"properties,omitempty"` +} + +// DeploymentExportResult the deployment export result. +type DeploymentExportResult struct { + autorest.Response `json:"-"` + // Template - The template content. + Template interface{} `json:"template,omitempty"` +} + +// DeploymentExtended deployment information. +type DeploymentExtended struct { + autorest.Response `json:"-"` + // ID - READ-ONLY; The ID of the deployment. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; The name of the deployment. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; The type of the deployment. + Type *string `json:"type,omitempty"` + // Location - the location of the deployment. + Location *string `json:"location,omitempty"` + // Properties - Deployment properties. + Properties *DeploymentPropertiesExtended `json:"properties,omitempty"` +} + +// DeploymentExtendedFilter deployment filter. +type DeploymentExtendedFilter struct { + // ProvisioningState - The provisioning state. + ProvisioningState *string `json:"provisioningState,omitempty"` +} + +// DeploymentListResult list of deployments. +type DeploymentListResult struct { + autorest.Response `json:"-"` + // Value - An array of deployments. + Value *[]DeploymentExtended `json:"value,omitempty"` + // NextLink - READ-ONLY; The URL to use for getting the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// DeploymentListResultIterator provides access to a complete listing of DeploymentExtended values. +type DeploymentListResultIterator struct { + i int + page DeploymentListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *DeploymentListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeploymentListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *DeploymentListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter DeploymentListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter DeploymentListResultIterator) Response() DeploymentListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter DeploymentListResultIterator) Value() DeploymentExtended { + if !iter.page.NotDone() { + return DeploymentExtended{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the DeploymentListResultIterator type. +func NewDeploymentListResultIterator(page DeploymentListResultPage) DeploymentListResultIterator { + return DeploymentListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (dlr DeploymentListResult) IsEmpty() bool { + return dlr.Value == nil || len(*dlr.Value) == 0 +} + +// deploymentListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (dlr DeploymentListResult) deploymentListResultPreparer(ctx context.Context) (*http.Request, error) { + if dlr.NextLink == nil || len(to.String(dlr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(dlr.NextLink))) +} + +// DeploymentListResultPage contains a page of DeploymentExtended values. +type DeploymentListResultPage struct { + fn func(context.Context, DeploymentListResult) (DeploymentListResult, error) + dlr DeploymentListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *DeploymentListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeploymentListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.dlr) + if err != nil { + return err + } + page.dlr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *DeploymentListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page DeploymentListResultPage) NotDone() bool { + return !page.dlr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page DeploymentListResultPage) Response() DeploymentListResult { + return page.dlr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page DeploymentListResultPage) Values() []DeploymentExtended { + if page.dlr.IsEmpty() { + return nil + } + return *page.dlr.Value +} + +// Creates a new instance of the DeploymentListResultPage type. +func NewDeploymentListResultPage(getNextPage func(context.Context, DeploymentListResult) (DeploymentListResult, error)) DeploymentListResultPage { + return DeploymentListResultPage{fn: getNextPage} +} + +// DeploymentOperation deployment operation information. +type DeploymentOperation struct { + autorest.Response `json:"-"` + // ID - READ-ONLY; Full deployment operation ID. + ID *string `json:"id,omitempty"` + // OperationID - READ-ONLY; Deployment operation ID. + OperationID *string `json:"operationId,omitempty"` + // Properties - Deployment properties. + Properties *DeploymentOperationProperties `json:"properties,omitempty"` +} + +// DeploymentOperationProperties deployment operation properties. +type DeploymentOperationProperties struct { + // ProvisioningState - READ-ONLY; The state of the provisioning. + ProvisioningState *string `json:"provisioningState,omitempty"` + // Timestamp - READ-ONLY; The date and time of the operation. + Timestamp *date.Time `json:"timestamp,omitempty"` + // Duration - READ-ONLY; The duration of the operation. + Duration *string `json:"duration,omitempty"` + // ServiceRequestID - READ-ONLY; Deployment operation service request id. + ServiceRequestID *string `json:"serviceRequestId,omitempty"` + // StatusCode - READ-ONLY; Operation status code. + StatusCode *string `json:"statusCode,omitempty"` + // StatusMessage - READ-ONLY; Operation status message. + StatusMessage interface{} `json:"statusMessage,omitempty"` + // TargetResource - READ-ONLY; The target resource. + TargetResource *TargetResource `json:"targetResource,omitempty"` + // Request - READ-ONLY; The HTTP request message. + Request *HTTPMessage `json:"request,omitempty"` + // Response - READ-ONLY; The HTTP response message. + Response *HTTPMessage `json:"response,omitempty"` +} + +// DeploymentOperationsListResult list of deployment operations. +type DeploymentOperationsListResult struct { + autorest.Response `json:"-"` + // Value - An array of deployment operations. + Value *[]DeploymentOperation `json:"value,omitempty"` + // NextLink - READ-ONLY; The URL to use for getting the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// DeploymentOperationsListResultIterator provides access to a complete listing of DeploymentOperation +// values. +type DeploymentOperationsListResultIterator struct { + i int + page DeploymentOperationsListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *DeploymentOperationsListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeploymentOperationsListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *DeploymentOperationsListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter DeploymentOperationsListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter DeploymentOperationsListResultIterator) Response() DeploymentOperationsListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter DeploymentOperationsListResultIterator) Value() DeploymentOperation { + if !iter.page.NotDone() { + return DeploymentOperation{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the DeploymentOperationsListResultIterator type. +func NewDeploymentOperationsListResultIterator(page DeploymentOperationsListResultPage) DeploymentOperationsListResultIterator { + return DeploymentOperationsListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (dolr DeploymentOperationsListResult) IsEmpty() bool { + return dolr.Value == nil || len(*dolr.Value) == 0 +} + +// deploymentOperationsListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (dolr DeploymentOperationsListResult) deploymentOperationsListResultPreparer(ctx context.Context) (*http.Request, error) { + if dolr.NextLink == nil || len(to.String(dolr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(dolr.NextLink))) +} + +// DeploymentOperationsListResultPage contains a page of DeploymentOperation values. +type DeploymentOperationsListResultPage struct { + fn func(context.Context, DeploymentOperationsListResult) (DeploymentOperationsListResult, error) + dolr DeploymentOperationsListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *DeploymentOperationsListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeploymentOperationsListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.dolr) + if err != nil { + return err + } + page.dolr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *DeploymentOperationsListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page DeploymentOperationsListResultPage) NotDone() bool { + return !page.dolr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page DeploymentOperationsListResultPage) Response() DeploymentOperationsListResult { + return page.dolr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page DeploymentOperationsListResultPage) Values() []DeploymentOperation { + if page.dolr.IsEmpty() { + return nil + } + return *page.dolr.Value +} + +// Creates a new instance of the DeploymentOperationsListResultPage type. +func NewDeploymentOperationsListResultPage(getNextPage func(context.Context, DeploymentOperationsListResult) (DeploymentOperationsListResult, error)) DeploymentOperationsListResultPage { + return DeploymentOperationsListResultPage{fn: getNextPage} +} + +// DeploymentProperties deployment properties. +type DeploymentProperties struct { + // Template - The template content. You use this element when you want to pass the template syntax directly in the request rather than link to an existing template. It can be a JObject or well-formed JSON string. Use either the templateLink property or the template property, but not both. + Template interface{} `json:"template,omitempty"` + // TemplateLink - The URI of the template. Use either the templateLink property or the template property, but not both. + TemplateLink *TemplateLink `json:"templateLink,omitempty"` + // Parameters - Name and value pairs that define the deployment parameters for the template. You use this element when you want to provide the parameter values directly in the request rather than link to an existing parameter file. Use either the parametersLink property or the parameters property, but not both. It can be a JObject or a well formed JSON string. + Parameters interface{} `json:"parameters,omitempty"` + // ParametersLink - The URI of parameters file. You use this element to link to an existing parameters file. Use either the parametersLink property or the parameters property, but not both. + ParametersLink *ParametersLink `json:"parametersLink,omitempty"` + // Mode - The mode that is used to deploy resources. This value can be either Incremental or Complete. In Incremental mode, resources are deployed without deleting existing resources that are not included in the template. In Complete mode, resources are deployed and existing resources in the resource group that are not included in the template are deleted. Be careful when using Complete mode as you may unintentionally delete resources. Possible values include: 'Incremental', 'Complete' + Mode DeploymentMode `json:"mode,omitempty"` + // DebugSetting - The debug setting of the deployment. + DebugSetting *DebugSetting `json:"debugSetting,omitempty"` + // OnErrorDeployment - The deployment on error behavior. + OnErrorDeployment *OnErrorDeployment `json:"onErrorDeployment,omitempty"` +} + +// DeploymentPropertiesExtended deployment properties with additional details. +type DeploymentPropertiesExtended struct { + // ProvisioningState - READ-ONLY; The state of the provisioning. + ProvisioningState *string `json:"provisioningState,omitempty"` + // CorrelationID - READ-ONLY; The correlation ID of the deployment. + CorrelationID *string `json:"correlationId,omitempty"` + // Timestamp - READ-ONLY; The timestamp of the template deployment. + Timestamp *date.Time `json:"timestamp,omitempty"` + // Duration - READ-ONLY; The duration of the template deployment. + Duration *string `json:"duration,omitempty"` + // Outputs - Key/value pairs that represent deployment output. + Outputs interface{} `json:"outputs,omitempty"` + // Providers - The list of resource providers needed for the deployment. + Providers *[]Provider `json:"providers,omitempty"` + // Dependencies - The list of deployment dependencies. + Dependencies *[]Dependency `json:"dependencies,omitempty"` + // Template - The template content. Use only one of Template or TemplateLink. + Template interface{} `json:"template,omitempty"` + // TemplateLink - The URI referencing the template. Use only one of Template or TemplateLink. + TemplateLink *TemplateLink `json:"templateLink,omitempty"` + // Parameters - Deployment parameters. Use only one of Parameters or ParametersLink. + Parameters interface{} `json:"parameters,omitempty"` + // ParametersLink - The URI referencing the parameters. Use only one of Parameters or ParametersLink. + ParametersLink *ParametersLink `json:"parametersLink,omitempty"` + // Mode - The deployment mode. Possible values are Incremental and Complete. Possible values include: 'Incremental', 'Complete' + Mode DeploymentMode `json:"mode,omitempty"` + // DebugSetting - The debug setting of the deployment. + DebugSetting *DebugSetting `json:"debugSetting,omitempty"` + // OnErrorDeployment - The deployment on error behavior. + OnErrorDeployment *OnErrorDeploymentExtended `json:"onErrorDeployment,omitempty"` +} + +// DeploymentsCreateOrUpdateAtManagementGroupScopeFuture an abstraction for monitoring and retrieving the +// results of a long-running operation. +type DeploymentsCreateOrUpdateAtManagementGroupScopeFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *DeploymentsCreateOrUpdateAtManagementGroupScopeFuture) Result(client DeploymentsClient) (de DeploymentExtended, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsCreateOrUpdateAtManagementGroupScopeFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("features.DeploymentsCreateOrUpdateAtManagementGroupScopeFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if de.Response.Response, err = future.GetResult(sender); err == nil && de.Response.Response.StatusCode != http.StatusNoContent { + de, err = client.CreateOrUpdateAtManagementGroupScopeResponder(de.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsCreateOrUpdateAtManagementGroupScopeFuture", "Result", de.Response.Response, "Failure responding to request") + } + } + return +} + +// DeploymentsCreateOrUpdateAtScopeFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type DeploymentsCreateOrUpdateAtScopeFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *DeploymentsCreateOrUpdateAtScopeFuture) Result(client DeploymentsClient) (de DeploymentExtended, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsCreateOrUpdateAtScopeFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("features.DeploymentsCreateOrUpdateAtScopeFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if de.Response.Response, err = future.GetResult(sender); err == nil && de.Response.Response.StatusCode != http.StatusNoContent { + de, err = client.CreateOrUpdateAtScopeResponder(de.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsCreateOrUpdateAtScopeFuture", "Result", de.Response.Response, "Failure responding to request") + } + } + return +} + +// DeploymentsCreateOrUpdateAtSubscriptionScopeFuture an abstraction for monitoring and retrieving the +// results of a long-running operation. +type DeploymentsCreateOrUpdateAtSubscriptionScopeFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *DeploymentsCreateOrUpdateAtSubscriptionScopeFuture) Result(client DeploymentsClient) (de DeploymentExtended, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsCreateOrUpdateAtSubscriptionScopeFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("features.DeploymentsCreateOrUpdateAtSubscriptionScopeFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if de.Response.Response, err = future.GetResult(sender); err == nil && de.Response.Response.StatusCode != http.StatusNoContent { + de, err = client.CreateOrUpdateAtSubscriptionScopeResponder(de.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsCreateOrUpdateAtSubscriptionScopeFuture", "Result", de.Response.Response, "Failure responding to request") + } + } + return +} + +// DeploymentsCreateOrUpdateAtTenantScopeFuture an abstraction for monitoring and retrieving the results of +// a long-running operation. +type DeploymentsCreateOrUpdateAtTenantScopeFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *DeploymentsCreateOrUpdateAtTenantScopeFuture) Result(client DeploymentsClient) (de DeploymentExtended, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsCreateOrUpdateAtTenantScopeFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("features.DeploymentsCreateOrUpdateAtTenantScopeFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if de.Response.Response, err = future.GetResult(sender); err == nil && de.Response.Response.StatusCode != http.StatusNoContent { + de, err = client.CreateOrUpdateAtTenantScopeResponder(de.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsCreateOrUpdateAtTenantScopeFuture", "Result", de.Response.Response, "Failure responding to request") + } + } + return +} + +// DeploymentsCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type DeploymentsCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *DeploymentsCreateOrUpdateFuture) Result(client DeploymentsClient) (de DeploymentExtended, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("features.DeploymentsCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if de.Response.Response, err = future.GetResult(sender); err == nil && de.Response.Response.StatusCode != http.StatusNoContent { + de, err = client.CreateOrUpdateResponder(de.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsCreateOrUpdateFuture", "Result", de.Response.Response, "Failure responding to request") + } + } + return +} + +// DeploymentsDeleteAtManagementGroupScopeFuture an abstraction for monitoring and retrieving the results +// of a long-running operation. +type DeploymentsDeleteAtManagementGroupScopeFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *DeploymentsDeleteAtManagementGroupScopeFuture) Result(client DeploymentsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsDeleteAtManagementGroupScopeFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("features.DeploymentsDeleteAtManagementGroupScopeFuture") + return + } + ar.Response = future.Response() + return +} + +// DeploymentsDeleteAtScopeFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type DeploymentsDeleteAtScopeFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *DeploymentsDeleteAtScopeFuture) Result(client DeploymentsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsDeleteAtScopeFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("features.DeploymentsDeleteAtScopeFuture") + return + } + ar.Response = future.Response() + return +} + +// DeploymentsDeleteAtSubscriptionScopeFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type DeploymentsDeleteAtSubscriptionScopeFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *DeploymentsDeleteAtSubscriptionScopeFuture) Result(client DeploymentsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsDeleteAtSubscriptionScopeFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("features.DeploymentsDeleteAtSubscriptionScopeFuture") + return + } + ar.Response = future.Response() + return +} + +// DeploymentsDeleteAtTenantScopeFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type DeploymentsDeleteAtTenantScopeFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *DeploymentsDeleteAtTenantScopeFuture) Result(client DeploymentsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsDeleteAtTenantScopeFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("features.DeploymentsDeleteAtTenantScopeFuture") + return + } + ar.Response = future.Response() + return +} + +// DeploymentsDeleteFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type DeploymentsDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *DeploymentsDeleteFuture) Result(client DeploymentsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("features.DeploymentsDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// DeploymentsWhatIfAtSubscriptionScopeFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type DeploymentsWhatIfAtSubscriptionScopeFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *DeploymentsWhatIfAtSubscriptionScopeFuture) Result(client DeploymentsClient) (wior WhatIfOperationResult, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsWhatIfAtSubscriptionScopeFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("features.DeploymentsWhatIfAtSubscriptionScopeFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if wior.Response.Response, err = future.GetResult(sender); err == nil && wior.Response.Response.StatusCode != http.StatusNoContent { + wior, err = client.WhatIfAtSubscriptionScopeResponder(wior.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsWhatIfAtSubscriptionScopeFuture", "Result", wior.Response.Response, "Failure responding to request") + } + } + return +} + +// DeploymentsWhatIfFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type DeploymentsWhatIfFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *DeploymentsWhatIfFuture) Result(client DeploymentsClient) (wior WhatIfOperationResult, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsWhatIfFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("features.DeploymentsWhatIfFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if wior.Response.Response, err = future.GetResult(sender); err == nil && wior.Response.Response.StatusCode != http.StatusNoContent { + wior, err = client.WhatIfResponder(wior.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "features.DeploymentsWhatIfFuture", "Result", wior.Response.Response, "Failure responding to request") + } + } + return +} + +// DeploymentValidateResult information from validate template deployment response. +type DeploymentValidateResult struct { + autorest.Response `json:"-"` + // Error - The deployment validation error. + Error *ErrorResponse `json:"error,omitempty"` + // Properties - The template deployment properties. + Properties *DeploymentPropertiesExtended `json:"properties,omitempty"` +} + +// DeploymentWhatIf deployment What-if operation parameters. +type DeploymentWhatIf struct { + // Location - The location to store the deployment data. + Location *string `json:"location,omitempty"` + // Properties - The deployment properties. + Properties *DeploymentWhatIfProperties `json:"properties,omitempty"` +} + +// DeploymentWhatIfProperties deployment What-if properties. +type DeploymentWhatIfProperties struct { + // WhatIfSettings - Optional What-If operation settings. + WhatIfSettings *DeploymentWhatIfSettings `json:"whatIfSettings,omitempty"` + // Template - The template content. You use this element when you want to pass the template syntax directly in the request rather than link to an existing template. It can be a JObject or well-formed JSON string. Use either the templateLink property or the template property, but not both. + Template interface{} `json:"template,omitempty"` + // TemplateLink - The URI of the template. Use either the templateLink property or the template property, but not both. + TemplateLink *TemplateLink `json:"templateLink,omitempty"` + // Parameters - Name and value pairs that define the deployment parameters for the template. You use this element when you want to provide the parameter values directly in the request rather than link to an existing parameter file. Use either the parametersLink property or the parameters property, but not both. It can be a JObject or a well formed JSON string. + Parameters interface{} `json:"parameters,omitempty"` + // ParametersLink - The URI of parameters file. You use this element to link to an existing parameters file. Use either the parametersLink property or the parameters property, but not both. + ParametersLink *ParametersLink `json:"parametersLink,omitempty"` + // Mode - The mode that is used to deploy resources. This value can be either Incremental or Complete. In Incremental mode, resources are deployed without deleting existing resources that are not included in the template. In Complete mode, resources are deployed and existing resources in the resource group that are not included in the template are deleted. Be careful when using Complete mode as you may unintentionally delete resources. Possible values include: 'Incremental', 'Complete' + Mode DeploymentMode `json:"mode,omitempty"` + // DebugSetting - The debug setting of the deployment. + DebugSetting *DebugSetting `json:"debugSetting,omitempty"` + // OnErrorDeployment - The deployment on error behavior. + OnErrorDeployment *OnErrorDeployment `json:"onErrorDeployment,omitempty"` +} + +// DeploymentWhatIfSettings deployment What-If operation settings. +type DeploymentWhatIfSettings struct { + // ResultFormat - The format of the What-If results. Possible values include: 'ResourceIDOnly', 'FullResourcePayloads' + ResultFormat WhatIfResultFormat `json:"resultFormat,omitempty"` +} + +// ErrorAdditionalInfo the resource management error additional info. +type ErrorAdditionalInfo struct { + // Type - READ-ONLY; The additional info type. + Type *string `json:"type,omitempty"` + // Info - READ-ONLY; The additional info. + Info interface{} `json:"info,omitempty"` +} + +// ErrorResponse the resource management error response. +type ErrorResponse struct { + // Code - READ-ONLY; The error code. + Code *string `json:"code,omitempty"` + // Message - READ-ONLY; The error message. + Message *string `json:"message,omitempty"` + // Target - READ-ONLY; The error target. + Target *string `json:"target,omitempty"` + // Details - READ-ONLY; The error details. + Details *[]ErrorResponse `json:"details,omitempty"` + // AdditionalInfo - READ-ONLY; The error additional info. + AdditionalInfo *[]ErrorAdditionalInfo `json:"additionalInfo,omitempty"` +} + +// ExportTemplateRequest export resource group template request parameters. +type ExportTemplateRequest struct { + // Resources - The IDs of the resources to filter the export by. To export all resources, supply an array with single entry '*'. + Resources *[]string `json:"resources,omitempty"` + // Options - The export template options. A CSV-formatted list containing zero or more of the following: 'IncludeParameterDefaultValue', 'IncludeComments', 'SkipResourceNameParameterization', 'SkipAllParameterization' + Options *string `json:"options,omitempty"` +} + +// GenericResource resource information. +type GenericResource struct { + autorest.Response `json:"-"` + // Plan - The plan of the resource. + Plan *Plan `json:"plan,omitempty"` + // Properties - The resource properties. + Properties interface{} `json:"properties,omitempty"` + // Kind - The kind of the resource. + Kind *string `json:"kind,omitempty"` + // ManagedBy - ID of the resource that manages this resource. + ManagedBy *string `json:"managedBy,omitempty"` + // Sku - The SKU of the resource. + Sku *Sku `json:"sku,omitempty"` + // Identity - The identity of the resource. + Identity *Identity `json:"identity,omitempty"` + // ID - READ-ONLY; Resource ID + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type + Type *string `json:"type,omitempty"` + // Location - Resource location + Location *string `json:"location,omitempty"` + // Tags - Resource tags + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for GenericResource. +func (gr GenericResource) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if gr.Plan != nil { + objectMap["plan"] = gr.Plan + } + if gr.Properties != nil { + objectMap["properties"] = gr.Properties + } + if gr.Kind != nil { + objectMap["kind"] = gr.Kind + } + if gr.ManagedBy != nil { + objectMap["managedBy"] = gr.ManagedBy + } + if gr.Sku != nil { + objectMap["sku"] = gr.Sku + } + if gr.Identity != nil { + objectMap["identity"] = gr.Identity + } + if gr.Location != nil { + objectMap["location"] = gr.Location + } + if gr.Tags != nil { + objectMap["tags"] = gr.Tags + } + return json.Marshal(objectMap) +} + +// GenericResourceFilter resource filter. +type GenericResourceFilter struct { + // ResourceType - The resource type. + ResourceType *string `json:"resourceType,omitempty"` + // Tagname - The tag name. + Tagname *string `json:"tagname,omitempty"` + // Tagvalue - The tag value. + Tagvalue *string `json:"tagvalue,omitempty"` +} + +// HTTPMessage HTTP message. +type HTTPMessage struct { + // Content - HTTP message content. + Content interface{} `json:"content,omitempty"` +} + +// Identity identity for the resource. +type Identity struct { + // PrincipalID - READ-ONLY; The principal ID of resource identity. + PrincipalID *string `json:"principalId,omitempty"` + // TenantID - READ-ONLY; The tenant ID of resource. + TenantID *string `json:"tenantId,omitempty"` + // Type - The identity type. Possible values include: 'SystemAssigned', 'UserAssigned', 'SystemAssignedUserAssigned', 'None' + Type ResourceIdentityType `json:"type,omitempty"` + // UserAssignedIdentities - The list of user identities associated with the resource. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. + UserAssignedIdentities map[string]*IdentityUserAssignedIdentitiesValue `json:"userAssignedIdentities"` +} + +// MarshalJSON is the custom marshaler for Identity. +func (i Identity) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if i.Type != "" { + objectMap["type"] = i.Type + } + if i.UserAssignedIdentities != nil { + objectMap["userAssignedIdentities"] = i.UserAssignedIdentities + } + return json.Marshal(objectMap) +} + +// IdentityUserAssignedIdentitiesValue ... +type IdentityUserAssignedIdentitiesValue struct { + // PrincipalID - READ-ONLY; The principal id of user assigned identity. + PrincipalID *string `json:"principalId,omitempty"` + // ClientID - READ-ONLY; The client id of user assigned identity. + ClientID *string `json:"clientId,omitempty"` +} + +// OnErrorDeployment deployment on error behavior. +type OnErrorDeployment struct { + // Type - The deployment on error behavior type. Possible values are LastSuccessful and SpecificDeployment. Possible values include: 'LastSuccessful', 'SpecificDeployment' + Type OnErrorDeploymentType `json:"type,omitempty"` + // DeploymentName - The deployment to be used on error case. + DeploymentName *string `json:"deploymentName,omitempty"` +} + +// OnErrorDeploymentExtended deployment on error behavior with additional details. +type OnErrorDeploymentExtended struct { + // ProvisioningState - READ-ONLY; The state of the provisioning for the on error deployment. + ProvisioningState *string `json:"provisioningState,omitempty"` + // Type - The deployment on error behavior type. Possible values are LastSuccessful and SpecificDeployment. Possible values include: 'LastSuccessful', 'SpecificDeployment' + Type OnErrorDeploymentType `json:"type,omitempty"` + // DeploymentName - The deployment to be used on error case. + DeploymentName *string `json:"deploymentName,omitempty"` +} + +// Operation microsoft.Resources operation +type Operation struct { + // Name - Operation name: {provider}/{resource}/{operation} + Name *string `json:"name,omitempty"` + // Display - The object that represents the operation. + Display *OperationDisplay `json:"display,omitempty"` +} + +// OperationDisplay the object that represents the operation. +type OperationDisplay struct { + // Provider - Service provider: Microsoft.Resources + Provider *string `json:"provider,omitempty"` + // Resource - Resource on which the operation is performed: Profile, endpoint, etc. + Resource *string `json:"resource,omitempty"` + // Operation - Operation type: Read, write, delete, etc. + Operation *string `json:"operation,omitempty"` + // Description - Description of the operation. + Description *string `json:"description,omitempty"` +} + +// OperationListResult result of the request to list Microsoft.Resources operations. It contains a list of +// operations and a URL link to get the next set of results. +type OperationListResult struct { + autorest.Response `json:"-"` + // Value - List of Microsoft.Resources operations. + Value *[]Operation `json:"value,omitempty"` + // NextLink - URL to get the next set of operation list results if there are any. + NextLink *string `json:"nextLink,omitempty"` +} + +// OperationListResultIterator provides access to a complete listing of Operation values. +type OperationListResultIterator struct { + i int + page OperationListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *OperationListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/OperationListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *OperationListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter OperationListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter OperationListResultIterator) Response() OperationListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter OperationListResultIterator) Value() Operation { + if !iter.page.NotDone() { + return Operation{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the OperationListResultIterator type. +func NewOperationListResultIterator(page OperationListResultPage) OperationListResultIterator { + return OperationListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (olr OperationListResult) IsEmpty() bool { + return olr.Value == nil || len(*olr.Value) == 0 +} + +// operationListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (olr OperationListResult) operationListResultPreparer(ctx context.Context) (*http.Request, error) { + if olr.NextLink == nil || len(to.String(olr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(olr.NextLink))) +} + +// OperationListResultPage contains a page of Operation values. +type OperationListResultPage struct { + fn func(context.Context, OperationListResult) (OperationListResult, error) + olr OperationListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *OperationListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/OperationListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.olr) + if err != nil { + return err + } + page.olr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *OperationListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page OperationListResultPage) NotDone() bool { + return !page.olr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page OperationListResultPage) Response() OperationListResult { + return page.olr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page OperationListResultPage) Values() []Operation { + if page.olr.IsEmpty() { + return nil + } + return *page.olr.Value +} + +// Creates a new instance of the OperationListResultPage type. +func NewOperationListResultPage(getNextPage func(context.Context, OperationListResult) (OperationListResult, error)) OperationListResultPage { + return OperationListResultPage{fn: getNextPage} +} + +// ParametersLink entity representing the reference to the deployment parameters. +type ParametersLink struct { + // URI - The URI of the parameters file. + URI *string `json:"uri,omitempty"` + // ContentVersion - If included, must match the ContentVersion in the template. + ContentVersion *string `json:"contentVersion,omitempty"` +} + +// Plan plan for the resource. +type Plan struct { + // Name - The plan ID. + Name *string `json:"name,omitempty"` + // Publisher - The publisher ID. + Publisher *string `json:"publisher,omitempty"` + // Product - The offer ID. + Product *string `json:"product,omitempty"` + // PromotionCode - The promotion code. + PromotionCode *string `json:"promotionCode,omitempty"` + // Version - The plan's version. + Version *string `json:"version,omitempty"` +} + +// Provider resource provider information. +type Provider struct { + autorest.Response `json:"-"` + // ID - READ-ONLY; The provider ID. + ID *string `json:"id,omitempty"` + // Namespace - The namespace of the resource provider. + Namespace *string `json:"namespace,omitempty"` + // RegistrationState - READ-ONLY; The registration state of the resource provider. + RegistrationState *string `json:"registrationState,omitempty"` + // RegistrationPolicy - READ-ONLY; The registration policy of the resource provider. + RegistrationPolicy *string `json:"registrationPolicy,omitempty"` + // ResourceTypes - READ-ONLY; The collection of provider resource types. + ResourceTypes *[]ProviderResourceType `json:"resourceTypes,omitempty"` +} + +// ProviderListResult list of resource providers. +type ProviderListResult struct { + autorest.Response `json:"-"` + // Value - An array of resource providers. + Value *[]Provider `json:"value,omitempty"` + // NextLink - READ-ONLY; The URL to use for getting the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// ProviderListResultIterator provides access to a complete listing of Provider values. +type ProviderListResultIterator struct { + i int + page ProviderListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *ProviderListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ProviderListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *ProviderListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter ProviderListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter ProviderListResultIterator) Response() ProviderListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter ProviderListResultIterator) Value() Provider { + if !iter.page.NotDone() { + return Provider{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the ProviderListResultIterator type. +func NewProviderListResultIterator(page ProviderListResultPage) ProviderListResultIterator { + return ProviderListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (plr ProviderListResult) IsEmpty() bool { + return plr.Value == nil || len(*plr.Value) == 0 +} + +// providerListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (plr ProviderListResult) providerListResultPreparer(ctx context.Context) (*http.Request, error) { + if plr.NextLink == nil || len(to.String(plr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(plr.NextLink))) +} + +// ProviderListResultPage contains a page of Provider values. +type ProviderListResultPage struct { + fn func(context.Context, ProviderListResult) (ProviderListResult, error) + plr ProviderListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *ProviderListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ProviderListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.plr) + if err != nil { + return err + } + page.plr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *ProviderListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page ProviderListResultPage) NotDone() bool { + return !page.plr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page ProviderListResultPage) Response() ProviderListResult { + return page.plr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page ProviderListResultPage) Values() []Provider { + if page.plr.IsEmpty() { + return nil + } + return *page.plr.Value +} + +// Creates a new instance of the ProviderListResultPage type. +func NewProviderListResultPage(getNextPage func(context.Context, ProviderListResult) (ProviderListResult, error)) ProviderListResultPage { + return ProviderListResultPage{fn: getNextPage} +} + +// ProviderResourceType resource type managed by the resource provider. +type ProviderResourceType struct { + // ResourceType - The resource type. + ResourceType *string `json:"resourceType,omitempty"` + // Locations - The collection of locations where this resource type can be created. + Locations *[]string `json:"locations,omitempty"` + // Aliases - The aliases that are supported by this resource type. + Aliases *[]AliasType `json:"aliases,omitempty"` + // APIVersions - The API version. + APIVersions *[]string `json:"apiVersions,omitempty"` + // Capabilities - The additional capabilities offered by this resource type. + Capabilities *string `json:"capabilities,omitempty"` + // Properties - The properties. + Properties map[string]*string `json:"properties"` +} + +// MarshalJSON is the custom marshaler for ProviderResourceType. +func (prt ProviderResourceType) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if prt.ResourceType != nil { + objectMap["resourceType"] = prt.ResourceType + } + if prt.Locations != nil { + objectMap["locations"] = prt.Locations + } + if prt.Aliases != nil { + objectMap["aliases"] = prt.Aliases + } + if prt.APIVersions != nil { + objectMap["apiVersions"] = prt.APIVersions + } + if prt.Capabilities != nil { + objectMap["capabilities"] = prt.Capabilities + } + if prt.Properties != nil { + objectMap["properties"] = prt.Properties + } + return json.Marshal(objectMap) +} + +// Resource specified resource. +type Resource struct { + // ID - READ-ONLY; Resource ID + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type + Type *string `json:"type,omitempty"` + // Location - Resource location + Location *string `json:"location,omitempty"` + // Tags - Resource tags + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for Resource. +func (r Resource) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if r.Location != nil { + objectMap["location"] = r.Location + } + if r.Tags != nil { + objectMap["tags"] = r.Tags + } + return json.Marshal(objectMap) +} + +// ResourceGroup resource group information. +type ResourceGroup struct { + autorest.Response `json:"-"` + // ID - READ-ONLY; The ID of the resource group. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; The name of the resource group. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; The type of the resource group. + Type *string `json:"type,omitempty"` + // Properties - The resource group properties. + Properties *ResourceGroupProperties `json:"properties,omitempty"` + // Location - The location of the resource group. It cannot be changed after the resource group has been created. It must be one of the supported Azure locations. + Location *string `json:"location,omitempty"` + // ManagedBy - The ID of the resource that manages this resource group. + ManagedBy *string `json:"managedBy,omitempty"` + // Tags - The tags attached to the resource group. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for ResourceGroup. +func (rg ResourceGroup) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if rg.Properties != nil { + objectMap["properties"] = rg.Properties + } + if rg.Location != nil { + objectMap["location"] = rg.Location + } + if rg.ManagedBy != nil { + objectMap["managedBy"] = rg.ManagedBy + } + if rg.Tags != nil { + objectMap["tags"] = rg.Tags + } + return json.Marshal(objectMap) +} + +// ResourceGroupExportResult resource group export result. +type ResourceGroupExportResult struct { + autorest.Response `json:"-"` + // Template - The template content. + Template interface{} `json:"template,omitempty"` + // Error - The template export error. + Error *ErrorResponse `json:"error,omitempty"` +} + +// ResourceGroupFilter resource group filter. +type ResourceGroupFilter struct { + // TagName - The tag name. + TagName *string `json:"tagName,omitempty"` + // TagValue - The tag value. + TagValue *string `json:"tagValue,omitempty"` +} + +// ResourceGroupListResult list of resource groups. +type ResourceGroupListResult struct { + autorest.Response `json:"-"` + // Value - An array of resource groups. + Value *[]ResourceGroup `json:"value,omitempty"` + // NextLink - READ-ONLY; The URL to use for getting the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// ResourceGroupListResultIterator provides access to a complete listing of ResourceGroup values. +type ResourceGroupListResultIterator struct { + i int + page ResourceGroupListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *ResourceGroupListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ResourceGroupListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *ResourceGroupListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter ResourceGroupListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter ResourceGroupListResultIterator) Response() ResourceGroupListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter ResourceGroupListResultIterator) Value() ResourceGroup { + if !iter.page.NotDone() { + return ResourceGroup{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the ResourceGroupListResultIterator type. +func NewResourceGroupListResultIterator(page ResourceGroupListResultPage) ResourceGroupListResultIterator { + return ResourceGroupListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (rglr ResourceGroupListResult) IsEmpty() bool { + return rglr.Value == nil || len(*rglr.Value) == 0 +} + +// resourceGroupListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (rglr ResourceGroupListResult) resourceGroupListResultPreparer(ctx context.Context) (*http.Request, error) { + if rglr.NextLink == nil || len(to.String(rglr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(rglr.NextLink))) +} + +// ResourceGroupListResultPage contains a page of ResourceGroup values. +type ResourceGroupListResultPage struct { + fn func(context.Context, ResourceGroupListResult) (ResourceGroupListResult, error) + rglr ResourceGroupListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *ResourceGroupListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ResourceGroupListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.rglr) + if err != nil { + return err + } + page.rglr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *ResourceGroupListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page ResourceGroupListResultPage) NotDone() bool { + return !page.rglr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page ResourceGroupListResultPage) Response() ResourceGroupListResult { + return page.rglr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page ResourceGroupListResultPage) Values() []ResourceGroup { + if page.rglr.IsEmpty() { + return nil + } + return *page.rglr.Value +} + +// Creates a new instance of the ResourceGroupListResultPage type. +func NewResourceGroupListResultPage(getNextPage func(context.Context, ResourceGroupListResult) (ResourceGroupListResult, error)) ResourceGroupListResultPage { + return ResourceGroupListResultPage{fn: getNextPage} +} + +// ResourceGroupPatchable resource group information. +type ResourceGroupPatchable struct { + // Name - The name of the resource group. + Name *string `json:"name,omitempty"` + // Properties - The resource group properties. + Properties *ResourceGroupProperties `json:"properties,omitempty"` + // ManagedBy - The ID of the resource that manages this resource group. + ManagedBy *string `json:"managedBy,omitempty"` + // Tags - The tags attached to the resource group. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for ResourceGroupPatchable. +func (rgp ResourceGroupPatchable) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if rgp.Name != nil { + objectMap["name"] = rgp.Name + } + if rgp.Properties != nil { + objectMap["properties"] = rgp.Properties + } + if rgp.ManagedBy != nil { + objectMap["managedBy"] = rgp.ManagedBy + } + if rgp.Tags != nil { + objectMap["tags"] = rgp.Tags + } + return json.Marshal(objectMap) +} + +// ResourceGroupProperties the resource group properties. +type ResourceGroupProperties struct { + // ProvisioningState - READ-ONLY; The provisioning state. + ProvisioningState *string `json:"provisioningState,omitempty"` +} + +// ResourceGroupsDeleteFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type ResourceGroupsDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ResourceGroupsDeleteFuture) Result(client ResourceGroupsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "features.ResourceGroupsDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("features.ResourceGroupsDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// ResourceListResult list of resource groups. +type ResourceListResult struct { + autorest.Response `json:"-"` + // Value - An array of resources. + Value *[]GenericResource `json:"value,omitempty"` + // NextLink - READ-ONLY; The URL to use for getting the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// ResourceListResultIterator provides access to a complete listing of GenericResource values. +type ResourceListResultIterator struct { + i int + page ResourceListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *ResourceListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ResourceListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *ResourceListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter ResourceListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter ResourceListResultIterator) Response() ResourceListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter ResourceListResultIterator) Value() GenericResource { + if !iter.page.NotDone() { + return GenericResource{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the ResourceListResultIterator type. +func NewResourceListResultIterator(page ResourceListResultPage) ResourceListResultIterator { + return ResourceListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (rlr ResourceListResult) IsEmpty() bool { + return rlr.Value == nil || len(*rlr.Value) == 0 +} + +// resourceListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (rlr ResourceListResult) resourceListResultPreparer(ctx context.Context) (*http.Request, error) { + if rlr.NextLink == nil || len(to.String(rlr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(rlr.NextLink))) +} + +// ResourceListResultPage contains a page of GenericResource values. +type ResourceListResultPage struct { + fn func(context.Context, ResourceListResult) (ResourceListResult, error) + rlr ResourceListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *ResourceListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ResourceListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.rlr) + if err != nil { + return err + } + page.rlr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *ResourceListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page ResourceListResultPage) NotDone() bool { + return !page.rlr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page ResourceListResultPage) Response() ResourceListResult { + return page.rlr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page ResourceListResultPage) Values() []GenericResource { + if page.rlr.IsEmpty() { + return nil + } + return *page.rlr.Value +} + +// Creates a new instance of the ResourceListResultPage type. +func NewResourceListResultPage(getNextPage func(context.Context, ResourceListResult) (ResourceListResult, error)) ResourceListResultPage { + return ResourceListResultPage{fn: getNextPage} +} + +// ResourceProviderOperationDisplayProperties resource provider operation's display properties. +type ResourceProviderOperationDisplayProperties struct { + // Publisher - Operation description. + Publisher *string `json:"publisher,omitempty"` + // Provider - Operation provider. + Provider *string `json:"provider,omitempty"` + // Resource - Operation resource. + Resource *string `json:"resource,omitempty"` + // Operation - Resource provider operation. + Operation *string `json:"operation,omitempty"` + // Description - Operation description. + Description *string `json:"description,omitempty"` +} + +// ResourcesCreateOrUpdateByIDFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type ResourcesCreateOrUpdateByIDFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ResourcesCreateOrUpdateByIDFuture) Result(client ResourcesClient) (gr GenericResource, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "features.ResourcesCreateOrUpdateByIDFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("features.ResourcesCreateOrUpdateByIDFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if gr.Response.Response, err = future.GetResult(sender); err == nil && gr.Response.Response.StatusCode != http.StatusNoContent { + gr, err = client.CreateOrUpdateByIDResponder(gr.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "features.ResourcesCreateOrUpdateByIDFuture", "Result", gr.Response.Response, "Failure responding to request") + } + } + return +} + +// ResourcesCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type ResourcesCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ResourcesCreateOrUpdateFuture) Result(client ResourcesClient) (gr GenericResource, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "features.ResourcesCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("features.ResourcesCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if gr.Response.Response, err = future.GetResult(sender); err == nil && gr.Response.Response.StatusCode != http.StatusNoContent { + gr, err = client.CreateOrUpdateResponder(gr.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "features.ResourcesCreateOrUpdateFuture", "Result", gr.Response.Response, "Failure responding to request") + } + } + return +} + +// ResourcesDeleteByIDFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type ResourcesDeleteByIDFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ResourcesDeleteByIDFuture) Result(client ResourcesClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "features.ResourcesDeleteByIDFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("features.ResourcesDeleteByIDFuture") + return + } + ar.Response = future.Response() + return +} + +// ResourcesDeleteFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type ResourcesDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ResourcesDeleteFuture) Result(client ResourcesClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "features.ResourcesDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("features.ResourcesDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// ResourcesMoveInfo parameters of move resources. +type ResourcesMoveInfo struct { + // Resources - The IDs of the resources. + Resources *[]string `json:"resources,omitempty"` + // TargetResourceGroup - The target resource group. + TargetResourceGroup *string `json:"targetResourceGroup,omitempty"` +} + +// ResourcesMoveResourcesFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type ResourcesMoveResourcesFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ResourcesMoveResourcesFuture) Result(client ResourcesClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "features.ResourcesMoveResourcesFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("features.ResourcesMoveResourcesFuture") + return + } + ar.Response = future.Response() + return +} + +// ResourcesUpdateByIDFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type ResourcesUpdateByIDFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ResourcesUpdateByIDFuture) Result(client ResourcesClient) (gr GenericResource, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "features.ResourcesUpdateByIDFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("features.ResourcesUpdateByIDFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if gr.Response.Response, err = future.GetResult(sender); err == nil && gr.Response.Response.StatusCode != http.StatusNoContent { + gr, err = client.UpdateByIDResponder(gr.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "features.ResourcesUpdateByIDFuture", "Result", gr.Response.Response, "Failure responding to request") + } + } + return +} + +// ResourcesUpdateFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type ResourcesUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ResourcesUpdateFuture) Result(client ResourcesClient) (gr GenericResource, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "features.ResourcesUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("features.ResourcesUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if gr.Response.Response, err = future.GetResult(sender); err == nil && gr.Response.Response.StatusCode != http.StatusNoContent { + gr, err = client.UpdateResponder(gr.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "features.ResourcesUpdateFuture", "Result", gr.Response.Response, "Failure responding to request") + } + } + return +} + +// ResourcesValidateMoveResourcesFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type ResourcesValidateMoveResourcesFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ResourcesValidateMoveResourcesFuture) Result(client ResourcesClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "features.ResourcesValidateMoveResourcesFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("features.ResourcesValidateMoveResourcesFuture") + return + } + ar.Response = future.Response() + return +} + +// Sku SKU for the resource. +type Sku struct { + // Name - The SKU name. + Name *string `json:"name,omitempty"` + // Tier - The SKU tier. + Tier *string `json:"tier,omitempty"` + // Size - The SKU size. + Size *string `json:"size,omitempty"` + // Family - The SKU family. + Family *string `json:"family,omitempty"` + // Model - The SKU model. + Model *string `json:"model,omitempty"` + // Capacity - The SKU capacity. + Capacity *int32 `json:"capacity,omitempty"` +} + +// SubResource sub-resource. +type SubResource struct { + // ID - Resource ID + ID *string `json:"id,omitempty"` +} + +// TagCount tag count. +type TagCount struct { + // Type - Type of count. + Type *string `json:"type,omitempty"` + // Value - Value of count. + Value *int32 `json:"value,omitempty"` +} + +// TagDetails tag details. +type TagDetails struct { + autorest.Response `json:"-"` + // ID - READ-ONLY; The tag ID. + ID *string `json:"id,omitempty"` + // TagName - The tag name. + TagName *string `json:"tagName,omitempty"` + // Count - The total number of resources that use the resource tag. When a tag is initially created and has no associated resources, the value is 0. + Count *TagCount `json:"count,omitempty"` + // Values - The list of tag values. + Values *[]TagValue `json:"values,omitempty"` +} + +// TagsListResult list of subscription tags. +type TagsListResult struct { + autorest.Response `json:"-"` + // Value - An array of tags. + Value *[]TagDetails `json:"value,omitempty"` + // NextLink - READ-ONLY; The URL to use for getting the next set of results. + NextLink *string `json:"nextLink,omitempty"` +} + +// TagsListResultIterator provides access to a complete listing of TagDetails values. +type TagsListResultIterator struct { + i int + page TagsListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *TagsListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/TagsListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *TagsListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter TagsListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter TagsListResultIterator) Response() TagsListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter TagsListResultIterator) Value() TagDetails { + if !iter.page.NotDone() { + return TagDetails{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the TagsListResultIterator type. +func NewTagsListResultIterator(page TagsListResultPage) TagsListResultIterator { + return TagsListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (tlr TagsListResult) IsEmpty() bool { + return tlr.Value == nil || len(*tlr.Value) == 0 +} + +// tagsListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (tlr TagsListResult) tagsListResultPreparer(ctx context.Context) (*http.Request, error) { + if tlr.NextLink == nil || len(to.String(tlr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(tlr.NextLink))) +} + +// TagsListResultPage contains a page of TagDetails values. +type TagsListResultPage struct { + fn func(context.Context, TagsListResult) (TagsListResult, error) + tlr TagsListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *TagsListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/TagsListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.tlr) + if err != nil { + return err + } + page.tlr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *TagsListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page TagsListResultPage) NotDone() bool { + return !page.tlr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page TagsListResultPage) Response() TagsListResult { + return page.tlr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page TagsListResultPage) Values() []TagDetails { + if page.tlr.IsEmpty() { + return nil + } + return *page.tlr.Value +} + +// Creates a new instance of the TagsListResultPage type. +func NewTagsListResultPage(getNextPage func(context.Context, TagsListResult) (TagsListResult, error)) TagsListResultPage { + return TagsListResultPage{fn: getNextPage} +} + +// TagValue tag information. +type TagValue struct { + autorest.Response `json:"-"` + // ID - READ-ONLY; The tag ID. + ID *string `json:"id,omitempty"` + // TagValue - The tag value. + TagValue *string `json:"tagValue,omitempty"` + // Count - The tag value count. + Count *TagCount `json:"count,omitempty"` +} + +// TargetResource target resource. +type TargetResource struct { + // ID - The ID of the resource. + ID *string `json:"id,omitempty"` + // ResourceName - The name of the resource. + ResourceName *string `json:"resourceName,omitempty"` + // ResourceType - The type of the resource. + ResourceType *string `json:"resourceType,omitempty"` +} + +// TemplateHashResult result of the request to calculate template hash. It contains a string of minified +// template and its hash. +type TemplateHashResult struct { + autorest.Response `json:"-"` + // MinifiedTemplate - The minified template string. + MinifiedTemplate *string `json:"minifiedTemplate,omitempty"` + // TemplateHash - The template hash. + TemplateHash *string `json:"templateHash,omitempty"` +} + +// TemplateLink entity representing the reference to the template. +type TemplateLink struct { + // URI - The URI of the template to deploy. + URI *string `json:"uri,omitempty"` + // ContentVersion - If included, must match the ContentVersion in the template. + ContentVersion *string `json:"contentVersion,omitempty"` +} + +// WhatIfChange information about a single resource change predicted by What-If operation. +type WhatIfChange struct { + // ResourceID - Resource ID + ResourceID *string `json:"resourceId,omitempty"` + // ChangeType - Type of change that will be made to the resource when the deployment is executed. Possible values include: 'Create', 'Delete', 'Ignore', 'Deploy', 'NoChange', 'Modify' + ChangeType ChangeType `json:"changeType,omitempty"` + // Before - The snapshot of the resource before the deployment is executed. + Before interface{} `json:"before,omitempty"` + // After - The predicted snapshot of the resource after the deployment is executed. + After interface{} `json:"after,omitempty"` + // Delta - The predicted changes to resource properties. + Delta *[]WhatIfPropertyChange `json:"delta,omitempty"` +} + +// WhatIfOperationProperties deployment operation properties. +type WhatIfOperationProperties struct { + // Changes - List of resource changes predicted by What-If operation. + Changes *[]WhatIfChange `json:"changes,omitempty"` +} + +// WhatIfOperationResult result of the What-If operation. Contains a list of predicted changes and a URL +// link to get to the next set of results. +type WhatIfOperationResult struct { + autorest.Response `json:"-"` + // Status - Status of the What-If operation. + Status *string `json:"status,omitempty"` + // WhatIfOperationProperties - What-If operation properties. + *WhatIfOperationProperties `json:"properties,omitempty"` + // Error - Error when What-If operation fails. + Error *ErrorResponse `json:"error,omitempty"` +} + +// MarshalJSON is the custom marshaler for WhatIfOperationResult. +func (wior WhatIfOperationResult) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if wior.Status != nil { + objectMap["status"] = wior.Status + } + if wior.WhatIfOperationProperties != nil { + objectMap["properties"] = wior.WhatIfOperationProperties + } + if wior.Error != nil { + objectMap["error"] = wior.Error + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for WhatIfOperationResult struct. +func (wior *WhatIfOperationResult) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "status": + if v != nil { + var status string + err = json.Unmarshal(*v, &status) + if err != nil { + return err + } + wior.Status = &status + } + case "properties": + if v != nil { + var whatIfOperationProperties WhatIfOperationProperties + err = json.Unmarshal(*v, &whatIfOperationProperties) + if err != nil { + return err + } + wior.WhatIfOperationProperties = &whatIfOperationProperties + } + case "error": + if v != nil { + var errorVar ErrorResponse + err = json.Unmarshal(*v, &errorVar) + if err != nil { + return err + } + wior.Error = &errorVar + } + } + } + + return nil +} + +// WhatIfPropertyChange the predicted change to the resource property. +type WhatIfPropertyChange struct { + // Path - The path of the property. + Path *string `json:"path,omitempty"` + // PropertyChangeType - The type of property change. Possible values include: 'PropertyChangeTypeCreate', 'PropertyChangeTypeDelete', 'PropertyChangeTypeModify', 'PropertyChangeTypeArray' + PropertyChangeType PropertyChangeType `json:"propertyChangeType,omitempty"` + // Before - The value of the property before the deployment is executed. + Before interface{} `json:"before,omitempty"` + // After - The value of the property after the deployment is executed. + After interface{} `json:"after,omitempty"` + // Children - Nested property changes. + Children *[]WhatIfPropertyChange `json:"children,omitempty"` +} diff --git a/services/preview/devspaces/mgmt/2018-06-01-preview/devspaces/operations.go b/services/resources/mgmt/2019-07-01/features/operations.go similarity index 68% rename from services/preview/devspaces/mgmt/2018-06-01-preview/devspaces/operations.go rename to services/resources/mgmt/2019-07-01/features/operations.go index 1bc1a485fe14..33031c46d166 100644 --- a/services/preview/devspaces/mgmt/2018-06-01-preview/devspaces/operations.go +++ b/services/resources/mgmt/2019-07-01/features/operations.go @@ -1,4 +1,4 @@ -package devspaces +package features // Copyright (c) Microsoft and contributors. All rights reserved. // @@ -25,7 +25,7 @@ import ( "net/http" ) -// OperationsClient is the dev Spaces Client +// OperationsClient is the provides operations for working with resources and resource groups. type OperationsClient struct { BaseClient } @@ -40,14 +40,14 @@ func NewOperationsClientWithBaseURI(baseURI string, subscriptionID string) Opera return OperationsClient{NewWithBaseURI(baseURI, subscriptionID)} } -// List lists all the supported operations by the Microsoft.DevSpaces resource provider along with their description. -func (client OperationsClient) List(ctx context.Context) (result ResourceProviderOperationListPage, err error) { +// List lists all of the available Microsoft.Resources REST API operations. +func (client OperationsClient) List(ctx context.Context) (result OperationListResultPage, err error) { if tracing.IsEnabled() { ctx = tracing.StartSpan(ctx, fqdn+"/OperationsClient.List") defer func() { sc := -1 - if result.rpol.Response.Response != nil { - sc = result.rpol.Response.Response.StatusCode + if result.olr.Response.Response != nil { + sc = result.olr.Response.Response.StatusCode } tracing.EndSpan(ctx, sc, err) }() @@ -55,20 +55,20 @@ func (client OperationsClient) List(ctx context.Context) (result ResourceProvide result.fn = client.listNextResults req, err := client.ListPreparer(ctx) if err != nil { - err = autorest.NewErrorWithError(err, "devspaces.OperationsClient", "List", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "features.OperationsClient", "List", nil, "Failure preparing request") return } resp, err := client.ListSender(req) if err != nil { - result.rpol.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "devspaces.OperationsClient", "List", resp, "Failure sending request") + result.olr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "features.OperationsClient", "List", resp, "Failure sending request") return } - result.rpol, err = client.ListResponder(resp) + result.olr, err = client.ListResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "devspaces.OperationsClient", "List", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "features.OperationsClient", "List", resp, "Failure responding to request") } return @@ -76,7 +76,7 @@ func (client OperationsClient) List(ctx context.Context) (result ResourceProvide // ListPreparer prepares the List request. func (client OperationsClient) ListPreparer(ctx context.Context) (*http.Request, error) { - const APIVersion = "2018-06-01-preview" + const APIVersion = "2019-07-01" queryParameters := map[string]interface{}{ "api-version": APIVersion, } @@ -84,7 +84,7 @@ func (client OperationsClient) ListPreparer(ctx context.Context) (*http.Request, preparer := autorest.CreatePreparer( autorest.AsGet(), autorest.WithBaseURL(client.BaseURI), - autorest.WithPath("/providers/Microsoft.DevSpaces/operations"), + autorest.WithPath("/providers/Microsoft.Resources/operations"), autorest.WithQueryParameters(queryParameters)) return preparer.Prepare((&http.Request{}).WithContext(ctx)) } @@ -92,13 +92,13 @@ func (client OperationsClient) ListPreparer(ctx context.Context) (*http.Request, // ListSender sends the List request. The method will close the // http.Response Body if it receives an error. func (client OperationsClient) ListSender(req *http.Request) (*http.Response, error) { - return autorest.SendWithSender(client, req, - autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) } // ListResponder handles the response to the List request. The method always // closes the http.Response Body. -func (client OperationsClient) ListResponder(resp *http.Response) (result ResourceProviderOperationList, err error) { +func (client OperationsClient) ListResponder(resp *http.Response) (result OperationListResult, err error) { err = autorest.Respond( resp, client.ByInspecting(), @@ -110,10 +110,10 @@ func (client OperationsClient) ListResponder(resp *http.Response) (result Resour } // listNextResults retrieves the next set of results, if any. -func (client OperationsClient) listNextResults(ctx context.Context, lastResults ResourceProviderOperationList) (result ResourceProviderOperationList, err error) { - req, err := lastResults.resourceProviderOperationListPreparer(ctx) +func (client OperationsClient) listNextResults(ctx context.Context, lastResults OperationListResult) (result OperationListResult, err error) { + req, err := lastResults.operationListResultPreparer(ctx) if err != nil { - return result, autorest.NewErrorWithError(err, "devspaces.OperationsClient", "listNextResults", nil, "Failure preparing next results request") + return result, autorest.NewErrorWithError(err, "features.OperationsClient", "listNextResults", nil, "Failure preparing next results request") } if req == nil { return @@ -121,17 +121,17 @@ func (client OperationsClient) listNextResults(ctx context.Context, lastResults resp, err := client.ListSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - return result, autorest.NewErrorWithError(err, "devspaces.OperationsClient", "listNextResults", resp, "Failure sending next results request") + return result, autorest.NewErrorWithError(err, "features.OperationsClient", "listNextResults", resp, "Failure sending next results request") } result, err = client.ListResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "devspaces.OperationsClient", "listNextResults", resp, "Failure responding to next results request") + err = autorest.NewErrorWithError(err, "features.OperationsClient", "listNextResults", resp, "Failure responding to next results request") } return } // ListComplete enumerates all values, automatically crossing page boundaries as required. -func (client OperationsClient) ListComplete(ctx context.Context) (result ResourceProviderOperationListIterator, err error) { +func (client OperationsClient) ListComplete(ctx context.Context) (result OperationListResultIterator, err error) { if tracing.IsEnabled() { ctx = tracing.StartSpan(ctx, fqdn+"/OperationsClient.List") defer func() { diff --git a/services/resources/mgmt/2019-07-01/features/providers.go b/services/resources/mgmt/2019-07-01/features/providers.go new file mode 100644 index 000000000000..a160319a3ecf --- /dev/null +++ b/services/resources/mgmt/2019-07-01/features/providers.go @@ -0,0 +1,588 @@ +package features + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// ProvidersClient is the provides operations for working with resources and resource groups. +type ProvidersClient struct { + BaseClient +} + +// NewProvidersClient creates an instance of the ProvidersClient client. +func NewProvidersClient(subscriptionID string) ProvidersClient { + return NewProvidersClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewProvidersClientWithBaseURI creates an instance of the ProvidersClient client. +func NewProvidersClientWithBaseURI(baseURI string, subscriptionID string) ProvidersClient { + return ProvidersClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// Get gets the specified resource provider. +// Parameters: +// resourceProviderNamespace - the namespace of the resource provider. +// expand - the $expand query parameter. For example, to include property aliases in response, use +// $expand=resourceTypes/aliases. +func (client ProvidersClient) Get(ctx context.Context, resourceProviderNamespace string, expand string) (result Provider, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ProvidersClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceProviderNamespace, expand) + if err != nil { + err = autorest.NewErrorWithError(err, "features.ProvidersClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "features.ProvidersClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "features.ProvidersClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client ProvidersClient) GetPreparer(ctx context.Context, resourceProviderNamespace string, expand string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceProviderNamespace": autorest.Encode("path", resourceProviderNamespace), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(expand) > 0 { + queryParameters["$expand"] = autorest.Encode("query", expand) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/{resourceProviderNamespace}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client ProvidersClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client ProvidersClient) GetResponder(resp *http.Response) (result Provider, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetAtTenantScope gets the specified resource provider at the tenant level. +// Parameters: +// resourceProviderNamespace - the namespace of the resource provider. +// expand - the $expand query parameter. For example, to include property aliases in response, use +// $expand=resourceTypes/aliases. +func (client ProvidersClient) GetAtTenantScope(ctx context.Context, resourceProviderNamespace string, expand string) (result Provider, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ProvidersClient.GetAtTenantScope") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetAtTenantScopePreparer(ctx, resourceProviderNamespace, expand) + if err != nil { + err = autorest.NewErrorWithError(err, "features.ProvidersClient", "GetAtTenantScope", nil, "Failure preparing request") + return + } + + resp, err := client.GetAtTenantScopeSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "features.ProvidersClient", "GetAtTenantScope", resp, "Failure sending request") + return + } + + result, err = client.GetAtTenantScopeResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "features.ProvidersClient", "GetAtTenantScope", resp, "Failure responding to request") + } + + return +} + +// GetAtTenantScopePreparer prepares the GetAtTenantScope request. +func (client ProvidersClient) GetAtTenantScopePreparer(ctx context.Context, resourceProviderNamespace string, expand string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceProviderNamespace": autorest.Encode("path", resourceProviderNamespace), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(expand) > 0 { + queryParameters["$expand"] = autorest.Encode("query", expand) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/providers/{resourceProviderNamespace}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetAtTenantScopeSender sends the GetAtTenantScope request. The method will close the +// http.Response Body if it receives an error. +func (client ProvidersClient) GetAtTenantScopeSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetAtTenantScopeResponder handles the response to the GetAtTenantScope request. The method always +// closes the http.Response Body. +func (client ProvidersClient) GetAtTenantScopeResponder(resp *http.Response) (result Provider, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets all resource providers for a subscription. +// Parameters: +// top - the number of results to return. If null is passed returns all deployments. +// expand - the properties to include in the results. For example, use &$expand=metadata in the query string to +// retrieve resource provider metadata. To include property aliases in response, use +// $expand=resourceTypes/aliases. +func (client ProvidersClient) List(ctx context.Context, top *int32, expand string) (result ProviderListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ProvidersClient.List") + defer func() { + sc := -1 + if result.plr.Response.Response != nil { + sc = result.plr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, top, expand) + if err != nil { + err = autorest.NewErrorWithError(err, "features.ProvidersClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.plr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "features.ProvidersClient", "List", resp, "Failure sending request") + return + } + + result.plr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "features.ProvidersClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client ProvidersClient) ListPreparer(ctx context.Context, top *int32, expand string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if top != nil { + queryParameters["$top"] = autorest.Encode("query", *top) + } + if len(expand) > 0 { + queryParameters["$expand"] = autorest.Encode("query", expand) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client ProvidersClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client ProvidersClient) ListResponder(resp *http.Response) (result ProviderListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client ProvidersClient) listNextResults(ctx context.Context, lastResults ProviderListResult) (result ProviderListResult, err error) { + req, err := lastResults.providerListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "features.ProvidersClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "features.ProvidersClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "features.ProvidersClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client ProvidersClient) ListComplete(ctx context.Context, top *int32, expand string) (result ProviderListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ProvidersClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, top, expand) + return +} + +// ListAtTenantScope gets all resource providers for the tenant. +// Parameters: +// top - the number of results to return. If null is passed returns all providers. +// expand - the properties to include in the results. For example, use &$expand=metadata in the query string to +// retrieve resource provider metadata. To include property aliases in response, use +// $expand=resourceTypes/aliases. +func (client ProvidersClient) ListAtTenantScope(ctx context.Context, top *int32, expand string) (result ProviderListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ProvidersClient.ListAtTenantScope") + defer func() { + sc := -1 + if result.plr.Response.Response != nil { + sc = result.plr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listAtTenantScopeNextResults + req, err := client.ListAtTenantScopePreparer(ctx, top, expand) + if err != nil { + err = autorest.NewErrorWithError(err, "features.ProvidersClient", "ListAtTenantScope", nil, "Failure preparing request") + return + } + + resp, err := client.ListAtTenantScopeSender(req) + if err != nil { + result.plr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "features.ProvidersClient", "ListAtTenantScope", resp, "Failure sending request") + return + } + + result.plr, err = client.ListAtTenantScopeResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "features.ProvidersClient", "ListAtTenantScope", resp, "Failure responding to request") + } + + return +} + +// ListAtTenantScopePreparer prepares the ListAtTenantScope request. +func (client ProvidersClient) ListAtTenantScopePreparer(ctx context.Context, top *int32, expand string) (*http.Request, error) { + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if top != nil { + queryParameters["$top"] = autorest.Encode("query", *top) + } + if len(expand) > 0 { + queryParameters["$expand"] = autorest.Encode("query", expand) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPath("/providers"), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListAtTenantScopeSender sends the ListAtTenantScope request. The method will close the +// http.Response Body if it receives an error. +func (client ProvidersClient) ListAtTenantScopeSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListAtTenantScopeResponder handles the response to the ListAtTenantScope request. The method always +// closes the http.Response Body. +func (client ProvidersClient) ListAtTenantScopeResponder(resp *http.Response) (result ProviderListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listAtTenantScopeNextResults retrieves the next set of results, if any. +func (client ProvidersClient) listAtTenantScopeNextResults(ctx context.Context, lastResults ProviderListResult) (result ProviderListResult, err error) { + req, err := lastResults.providerListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "features.ProvidersClient", "listAtTenantScopeNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListAtTenantScopeSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "features.ProvidersClient", "listAtTenantScopeNextResults", resp, "Failure sending next results request") + } + result, err = client.ListAtTenantScopeResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "features.ProvidersClient", "listAtTenantScopeNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListAtTenantScopeComplete enumerates all values, automatically crossing page boundaries as required. +func (client ProvidersClient) ListAtTenantScopeComplete(ctx context.Context, top *int32, expand string) (result ProviderListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ProvidersClient.ListAtTenantScope") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListAtTenantScope(ctx, top, expand) + return +} + +// Register registers a subscription with a resource provider. +// Parameters: +// resourceProviderNamespace - the namespace of the resource provider to register. +func (client ProvidersClient) Register(ctx context.Context, resourceProviderNamespace string) (result Provider, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ProvidersClient.Register") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.RegisterPreparer(ctx, resourceProviderNamespace) + if err != nil { + err = autorest.NewErrorWithError(err, "features.ProvidersClient", "Register", nil, "Failure preparing request") + return + } + + resp, err := client.RegisterSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "features.ProvidersClient", "Register", resp, "Failure sending request") + return + } + + result, err = client.RegisterResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "features.ProvidersClient", "Register", resp, "Failure responding to request") + } + + return +} + +// RegisterPreparer prepares the Register request. +func (client ProvidersClient) RegisterPreparer(ctx context.Context, resourceProviderNamespace string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceProviderNamespace": autorest.Encode("path", resourceProviderNamespace), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/{resourceProviderNamespace}/register", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// RegisterSender sends the Register request. The method will close the +// http.Response Body if it receives an error. +func (client ProvidersClient) RegisterSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// RegisterResponder handles the response to the Register request. The method always +// closes the http.Response Body. +func (client ProvidersClient) RegisterResponder(resp *http.Response) (result Provider, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Unregister unregisters a subscription from a resource provider. +// Parameters: +// resourceProviderNamespace - the namespace of the resource provider to unregister. +func (client ProvidersClient) Unregister(ctx context.Context, resourceProviderNamespace string) (result Provider, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ProvidersClient.Unregister") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UnregisterPreparer(ctx, resourceProviderNamespace) + if err != nil { + err = autorest.NewErrorWithError(err, "features.ProvidersClient", "Unregister", nil, "Failure preparing request") + return + } + + resp, err := client.UnregisterSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "features.ProvidersClient", "Unregister", resp, "Failure sending request") + return + } + + result, err = client.UnregisterResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "features.ProvidersClient", "Unregister", resp, "Failure responding to request") + } + + return +} + +// UnregisterPreparer prepares the Unregister request. +func (client ProvidersClient) UnregisterPreparer(ctx context.Context, resourceProviderNamespace string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceProviderNamespace": autorest.Encode("path", resourceProviderNamespace), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/{resourceProviderNamespace}/unregister", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UnregisterSender sends the Unregister request. The method will close the +// http.Response Body if it receives an error. +func (client ProvidersClient) UnregisterSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// UnregisterResponder handles the response to the Unregister request. The method always +// closes the http.Response Body. +func (client ProvidersClient) UnregisterResponder(resp *http.Response) (result Provider, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/resources/mgmt/2019-07-01/features/resourcegroups.go b/services/resources/mgmt/2019-07-01/features/resourcegroups.go new file mode 100644 index 000000000000..4578bb265088 --- /dev/null +++ b/services/resources/mgmt/2019-07-01/features/resourcegroups.go @@ -0,0 +1,676 @@ +package features + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// ResourceGroupsClient is the provides operations for working with resources and resource groups. +type ResourceGroupsClient struct { + BaseClient +} + +// NewResourceGroupsClient creates an instance of the ResourceGroupsClient client. +func NewResourceGroupsClient(subscriptionID string) ResourceGroupsClient { + return NewResourceGroupsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewResourceGroupsClientWithBaseURI creates an instance of the ResourceGroupsClient client. +func NewResourceGroupsClientWithBaseURI(baseURI string, subscriptionID string) ResourceGroupsClient { + return ResourceGroupsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CheckExistence checks whether a resource group exists. +// Parameters: +// resourceGroupName - the name of the resource group to check. The name is case insensitive. +func (client ResourceGroupsClient) CheckExistence(ctx context.Context, resourceGroupName string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ResourceGroupsClient.CheckExistence") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\p{L}\._\(\)\w]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("features.ResourceGroupsClient", "CheckExistence", err.Error()) + } + + req, err := client.CheckExistencePreparer(ctx, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "features.ResourceGroupsClient", "CheckExistence", nil, "Failure preparing request") + return + } + + resp, err := client.CheckExistenceSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "features.ResourceGroupsClient", "CheckExistence", resp, "Failure sending request") + return + } + + result, err = client.CheckExistenceResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "features.ResourceGroupsClient", "CheckExistence", resp, "Failure responding to request") + } + + return +} + +// CheckExistencePreparer prepares the CheckExistence request. +func (client ResourceGroupsClient) CheckExistencePreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsHead(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CheckExistenceSender sends the CheckExistence request. The method will close the +// http.Response Body if it receives an error. +func (client ResourceGroupsClient) CheckExistenceSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CheckExistenceResponder handles the response to the CheckExistence request. The method always +// closes the http.Response Body. +func (client ResourceGroupsClient) CheckExistenceResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent, http.StatusNotFound), + autorest.ByClosing()) + result.Response = resp + return +} + +// CreateOrUpdate creates or updates a resource group. +// Parameters: +// resourceGroupName - the name of the resource group to create or update. Can include alphanumeric, +// underscore, parentheses, hyphen, period (except at end), and Unicode characters that match the allowed +// characters. +// parameters - parameters supplied to the create or update a resource group. +func (client ResourceGroupsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, parameters ResourceGroup) (result ResourceGroup, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ResourceGroupsClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\p{L}\._\(\)\w]+$`, Chain: nil}}}, + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.Location", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + return result, validation.NewError("features.ResourceGroupsClient", "CreateOrUpdate", err.Error()) + } + + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "features.ResourceGroupsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "features.ResourceGroupsClient", "CreateOrUpdate", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "features.ResourceGroupsClient", "CreateOrUpdate", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client ResourceGroupsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, parameters ResourceGroup) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + parameters.ID = nil + parameters.Name = nil + parameters.Type = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client ResourceGroupsClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client ResourceGroupsClient) CreateOrUpdateResponder(resp *http.Response) (result ResourceGroup, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete when you delete a resource group, all of its resources are also deleted. Deleting a resource group deletes +// all of its template deployments and currently stored operations. +// Parameters: +// resourceGroupName - the name of the resource group to delete. The name is case insensitive. +func (client ResourceGroupsClient) Delete(ctx context.Context, resourceGroupName string) (result ResourceGroupsDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ResourceGroupsClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\p{L}\._\(\)\w]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("features.ResourceGroupsClient", "Delete", err.Error()) + } + + req, err := client.DeletePreparer(ctx, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "features.ResourceGroupsClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "features.ResourceGroupsClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client ResourceGroupsClient) DeletePreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client ResourceGroupsClient) DeleteSender(req *http.Request) (future ResourceGroupsDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client ResourceGroupsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByClosing()) + result.Response = resp + return +} + +// ExportTemplate captures the specified resource group as a template. +// Parameters: +// resourceGroupName - the name of the resource group to export as a template. +// parameters - parameters for exporting the template. +func (client ResourceGroupsClient) ExportTemplate(ctx context.Context, resourceGroupName string, parameters ExportTemplateRequest) (result ResourceGroupExportResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ResourceGroupsClient.ExportTemplate") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\p{L}\._\(\)\w]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("features.ResourceGroupsClient", "ExportTemplate", err.Error()) + } + + req, err := client.ExportTemplatePreparer(ctx, resourceGroupName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "features.ResourceGroupsClient", "ExportTemplate", nil, "Failure preparing request") + return + } + + resp, err := client.ExportTemplateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "features.ResourceGroupsClient", "ExportTemplate", resp, "Failure sending request") + return + } + + result, err = client.ExportTemplateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "features.ResourceGroupsClient", "ExportTemplate", resp, "Failure responding to request") + } + + return +} + +// ExportTemplatePreparer prepares the ExportTemplate request. +func (client ResourceGroupsClient) ExportTemplatePreparer(ctx context.Context, resourceGroupName string, parameters ExportTemplateRequest) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/exportTemplate", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ExportTemplateSender sends the ExportTemplate request. The method will close the +// http.Response Body if it receives an error. +func (client ResourceGroupsClient) ExportTemplateSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ExportTemplateResponder handles the response to the ExportTemplate request. The method always +// closes the http.Response Body. +func (client ResourceGroupsClient) ExportTemplateResponder(resp *http.Response) (result ResourceGroupExportResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Get gets a resource group. +// Parameters: +// resourceGroupName - the name of the resource group to get. The name is case insensitive. +func (client ResourceGroupsClient) Get(ctx context.Context, resourceGroupName string) (result ResourceGroup, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ResourceGroupsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\p{L}\._\(\)\w]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("features.ResourceGroupsClient", "Get", err.Error()) + } + + req, err := client.GetPreparer(ctx, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "features.ResourceGroupsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "features.ResourceGroupsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "features.ResourceGroupsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client ResourceGroupsClient) GetPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client ResourceGroupsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client ResourceGroupsClient) GetResponder(resp *http.Response) (result ResourceGroup, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List gets all the resource groups for a subscription. +// Parameters: +// filter - the filter to apply on the operation.

You can filter by tag names and values. For example, +// to filter for a tag name and value, use $filter=tagName eq 'tag1' and tagValue eq 'Value1' +// top - the number of results to return. If null is passed, returns all resource groups. +func (client ResourceGroupsClient) List(ctx context.Context, filter string, top *int32) (result ResourceGroupListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ResourceGroupsClient.List") + defer func() { + sc := -1 + if result.rglr.Response.Response != nil { + sc = result.rglr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, filter, top) + if err != nil { + err = autorest.NewErrorWithError(err, "features.ResourceGroupsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.rglr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "features.ResourceGroupsClient", "List", resp, "Failure sending request") + return + } + + result.rglr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "features.ResourceGroupsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client ResourceGroupsClient) ListPreparer(ctx context.Context, filter string, top *int32) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(filter) > 0 { + queryParameters["$filter"] = autorest.Encode("query", filter) + } + if top != nil { + queryParameters["$top"] = autorest.Encode("query", *top) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourcegroups", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client ResourceGroupsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client ResourceGroupsClient) ListResponder(resp *http.Response) (result ResourceGroupListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client ResourceGroupsClient) listNextResults(ctx context.Context, lastResults ResourceGroupListResult) (result ResourceGroupListResult, err error) { + req, err := lastResults.resourceGroupListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "features.ResourceGroupsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "features.ResourceGroupsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "features.ResourceGroupsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client ResourceGroupsClient) ListComplete(ctx context.Context, filter string, top *int32) (result ResourceGroupListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ResourceGroupsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, filter, top) + return +} + +// Update resource groups can be updated through a simple PATCH operation to a group address. The format of the request +// is the same as that for creating a resource group. If a field is unspecified, the current value is retained. +// Parameters: +// resourceGroupName - the name of the resource group to update. The name is case insensitive. +// parameters - parameters supplied to update a resource group. +func (client ResourceGroupsClient) Update(ctx context.Context, resourceGroupName string, parameters ResourceGroupPatchable) (result ResourceGroup, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ResourceGroupsClient.Update") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\p{L}\._\(\)\w]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("features.ResourceGroupsClient", "Update", err.Error()) + } + + req, err := client.UpdatePreparer(ctx, resourceGroupName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "features.ResourceGroupsClient", "Update", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "features.ResourceGroupsClient", "Update", resp, "Failure sending request") + return + } + + result, err = client.UpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "features.ResourceGroupsClient", "Update", resp, "Failure responding to request") + } + + return +} + +// UpdatePreparer prepares the Update request. +func (client ResourceGroupsClient) UpdatePreparer(ctx context.Context, resourceGroupName string, parameters ResourceGroupPatchable) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateSender sends the Update request. The method will close the +// http.Response Body if it receives an error. +func (client ResourceGroupsClient) UpdateSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// UpdateResponder handles the response to the Update request. The method always +// closes the http.Response Body. +func (client ResourceGroupsClient) UpdateResponder(resp *http.Response) (result ResourceGroup, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/resources/mgmt/2019-07-01/features/resources.go b/services/resources/mgmt/2019-07-01/features/resources.go new file mode 100644 index 000000000000..80043ba8a4b2 --- /dev/null +++ b/services/resources/mgmt/2019-07-01/features/resources.go @@ -0,0 +1,1352 @@ +package features + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// ResourcesClient is the provides operations for working with resources and resource groups. +type ResourcesClient struct { + BaseClient +} + +// NewResourcesClient creates an instance of the ResourcesClient client. +func NewResourcesClient(subscriptionID string) ResourcesClient { + return NewResourcesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewResourcesClientWithBaseURI creates an instance of the ResourcesClient client. +func NewResourcesClientWithBaseURI(baseURI string, subscriptionID string) ResourcesClient { + return ResourcesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CheckExistence checks whether a resource exists. +// Parameters: +// resourceGroupName - the name of the resource group containing the resource to check. The name is case +// insensitive. +// resourceProviderNamespace - the resource provider of the resource to check. +// parentResourcePath - the parent resource identity. +// resourceType - the resource type. +// resourceName - the name of the resource to check whether it exists. +func (client ResourcesClient) CheckExistence(ctx context.Context, resourceGroupName string, resourceProviderNamespace string, parentResourcePath string, resourceType string, resourceName string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ResourcesClient.CheckExistence") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\p{L}\._\(\)\w]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("features.ResourcesClient", "CheckExistence", err.Error()) + } + + req, err := client.CheckExistencePreparer(ctx, resourceGroupName, resourceProviderNamespace, parentResourcePath, resourceType, resourceName) + if err != nil { + err = autorest.NewErrorWithError(err, "features.ResourcesClient", "CheckExistence", nil, "Failure preparing request") + return + } + + resp, err := client.CheckExistenceSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "features.ResourcesClient", "CheckExistence", resp, "Failure sending request") + return + } + + result, err = client.CheckExistenceResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "features.ResourcesClient", "CheckExistence", resp, "Failure responding to request") + } + + return +} + +// CheckExistencePreparer prepares the CheckExistence request. +func (client ResourcesClient) CheckExistencePreparer(ctx context.Context, resourceGroupName string, resourceProviderNamespace string, parentResourcePath string, resourceType string, resourceName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "parentResourcePath": parentResourcePath, + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "resourceName": autorest.Encode("path", resourceName), + "resourceProviderNamespace": autorest.Encode("path", resourceProviderNamespace), + "resourceType": resourceType, + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsHead(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CheckExistenceSender sends the CheckExistence request. The method will close the +// http.Response Body if it receives an error. +func (client ResourcesClient) CheckExistenceSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CheckExistenceResponder handles the response to the CheckExistence request. The method always +// closes the http.Response Body. +func (client ResourcesClient) CheckExistenceResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent, http.StatusNotFound), + autorest.ByClosing()) + result.Response = resp + return +} + +// CheckExistenceByID checks by ID whether a resource exists. +// Parameters: +// resourceID - the fully qualified ID of the resource, including the resource name and resource type. Use the +// format, +// /subscriptions/{guid}/resourceGroups/{resource-group-name}/{resource-provider-namespace}/{resource-type}/{resource-name} +func (client ResourcesClient) CheckExistenceByID(ctx context.Context, resourceID string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ResourcesClient.CheckExistenceByID") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CheckExistenceByIDPreparer(ctx, resourceID) + if err != nil { + err = autorest.NewErrorWithError(err, "features.ResourcesClient", "CheckExistenceByID", nil, "Failure preparing request") + return + } + + resp, err := client.CheckExistenceByIDSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "features.ResourcesClient", "CheckExistenceByID", resp, "Failure sending request") + return + } + + result, err = client.CheckExistenceByIDResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "features.ResourcesClient", "CheckExistenceByID", resp, "Failure responding to request") + } + + return +} + +// CheckExistenceByIDPreparer prepares the CheckExistenceByID request. +func (client ResourcesClient) CheckExistenceByIDPreparer(ctx context.Context, resourceID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceId": resourceID, + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsHead(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/{resourceId}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CheckExistenceByIDSender sends the CheckExistenceByID request. The method will close the +// http.Response Body if it receives an error. +func (client ResourcesClient) CheckExistenceByIDSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// CheckExistenceByIDResponder handles the response to the CheckExistenceByID request. The method always +// closes the http.Response Body. +func (client ResourcesClient) CheckExistenceByIDResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent, http.StatusNotFound), + autorest.ByClosing()) + result.Response = resp + return +} + +// CreateOrUpdate creates a resource. +// Parameters: +// resourceGroupName - the name of the resource group for the resource. The name is case insensitive. +// resourceProviderNamespace - the namespace of the resource provider. +// parentResourcePath - the parent resource identity. +// resourceType - the resource type of the resource to create. +// resourceName - the name of the resource to create. +// parameters - parameters for creating or updating the resource. +func (client ResourcesClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, resourceProviderNamespace string, parentResourcePath string, resourceType string, resourceName string, parameters GenericResource) (result ResourcesCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ResourcesClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\p{L}\._\(\)\w]+$`, Chain: nil}}}, + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.Kind", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.Kind", Name: validation.Pattern, Rule: `^[-\w\._,\(\)]+$`, Chain: nil}}}}}}); err != nil { + return result, validation.NewError("features.ResourcesClient", "CreateOrUpdate", err.Error()) + } + + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, resourceProviderNamespace, parentResourcePath, resourceType, resourceName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "features.ResourcesClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "features.ResourcesClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client ResourcesClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, resourceProviderNamespace string, parentResourcePath string, resourceType string, resourceName string, parameters GenericResource) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "parentResourcePath": parentResourcePath, + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "resourceName": autorest.Encode("path", resourceName), + "resourceProviderNamespace": autorest.Encode("path", resourceProviderNamespace), + "resourceType": resourceType, + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client ResourcesClient) CreateOrUpdateSender(req *http.Request) (future ResourcesCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client ResourcesClient) CreateOrUpdateResponder(resp *http.Response) (result GenericResource, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// CreateOrUpdateByID create a resource by ID. +// Parameters: +// resourceID - the fully qualified ID of the resource, including the resource name and resource type. Use the +// format, +// /subscriptions/{guid}/resourceGroups/{resource-group-name}/{resource-provider-namespace}/{resource-type}/{resource-name} +// parameters - create or update resource parameters. +func (client ResourcesClient) CreateOrUpdateByID(ctx context.Context, resourceID string, parameters GenericResource) (result ResourcesCreateOrUpdateByIDFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ResourcesClient.CreateOrUpdateByID") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.Kind", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.Kind", Name: validation.Pattern, Rule: `^[-\w\._,\(\)]+$`, Chain: nil}}}}}}); err != nil { + return result, validation.NewError("features.ResourcesClient", "CreateOrUpdateByID", err.Error()) + } + + req, err := client.CreateOrUpdateByIDPreparer(ctx, resourceID, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "features.ResourcesClient", "CreateOrUpdateByID", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateByIDSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "features.ResourcesClient", "CreateOrUpdateByID", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdateByIDPreparer prepares the CreateOrUpdateByID request. +func (client ResourcesClient) CreateOrUpdateByIDPreparer(ctx context.Context, resourceID string, parameters GenericResource) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceId": resourceID, + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/{resourceId}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateByIDSender sends the CreateOrUpdateByID request. The method will close the +// http.Response Body if it receives an error. +func (client ResourcesClient) CreateOrUpdateByIDSender(req *http.Request) (future ResourcesCreateOrUpdateByIDFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateByIDResponder handles the response to the CreateOrUpdateByID request. The method always +// closes the http.Response Body. +func (client ResourcesClient) CreateOrUpdateByIDResponder(resp *http.Response) (result GenericResource, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes a resource. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource to delete. The name is case +// insensitive. +// resourceProviderNamespace - the namespace of the resource provider. +// parentResourcePath - the parent resource identity. +// resourceType - the resource type. +// resourceName - the name of the resource to delete. +func (client ResourcesClient) Delete(ctx context.Context, resourceGroupName string, resourceProviderNamespace string, parentResourcePath string, resourceType string, resourceName string) (result ResourcesDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ResourcesClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\p{L}\._\(\)\w]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("features.ResourcesClient", "Delete", err.Error()) + } + + req, err := client.DeletePreparer(ctx, resourceGroupName, resourceProviderNamespace, parentResourcePath, resourceType, resourceName) + if err != nil { + err = autorest.NewErrorWithError(err, "features.ResourcesClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "features.ResourcesClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client ResourcesClient) DeletePreparer(ctx context.Context, resourceGroupName string, resourceProviderNamespace string, parentResourcePath string, resourceType string, resourceName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "parentResourcePath": parentResourcePath, + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "resourceName": autorest.Encode("path", resourceName), + "resourceProviderNamespace": autorest.Encode("path", resourceProviderNamespace), + "resourceType": resourceType, + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client ResourcesClient) DeleteSender(req *http.Request) (future ResourcesDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client ResourcesClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// DeleteByID deletes a resource by ID. +// Parameters: +// resourceID - the fully qualified ID of the resource, including the resource name and resource type. Use the +// format, +// /subscriptions/{guid}/resourceGroups/{resource-group-name}/{resource-provider-namespace}/{resource-type}/{resource-name} +func (client ResourcesClient) DeleteByID(ctx context.Context, resourceID string) (result ResourcesDeleteByIDFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ResourcesClient.DeleteByID") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeleteByIDPreparer(ctx, resourceID) + if err != nil { + err = autorest.NewErrorWithError(err, "features.ResourcesClient", "DeleteByID", nil, "Failure preparing request") + return + } + + result, err = client.DeleteByIDSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "features.ResourcesClient", "DeleteByID", result.Response(), "Failure sending request") + return + } + + return +} + +// DeleteByIDPreparer prepares the DeleteByID request. +func (client ResourcesClient) DeleteByIDPreparer(ctx context.Context, resourceID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceId": resourceID, + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/{resourceId}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteByIDSender sends the DeleteByID request. The method will close the +// http.Response Body if it receives an error. +func (client ResourcesClient) DeleteByIDSender(req *http.Request) (future ResourcesDeleteByIDFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteByIDResponder handles the response to the DeleteByID request. The method always +// closes the http.Response Body. +func (client ResourcesClient) DeleteByIDResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets a resource. +// Parameters: +// resourceGroupName - the name of the resource group containing the resource to get. The name is case +// insensitive. +// resourceProviderNamespace - the namespace of the resource provider. +// parentResourcePath - the parent resource identity. +// resourceType - the resource type of the resource. +// resourceName - the name of the resource to get. +func (client ResourcesClient) Get(ctx context.Context, resourceGroupName string, resourceProviderNamespace string, parentResourcePath string, resourceType string, resourceName string) (result GenericResource, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ResourcesClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\p{L}\._\(\)\w]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("features.ResourcesClient", "Get", err.Error()) + } + + req, err := client.GetPreparer(ctx, resourceGroupName, resourceProviderNamespace, parentResourcePath, resourceType, resourceName) + if err != nil { + err = autorest.NewErrorWithError(err, "features.ResourcesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "features.ResourcesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "features.ResourcesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client ResourcesClient) GetPreparer(ctx context.Context, resourceGroupName string, resourceProviderNamespace string, parentResourcePath string, resourceType string, resourceName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "parentResourcePath": parentResourcePath, + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "resourceName": autorest.Encode("path", resourceName), + "resourceProviderNamespace": autorest.Encode("path", resourceProviderNamespace), + "resourceType": resourceType, + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client ResourcesClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client ResourcesClient) GetResponder(resp *http.Response) (result GenericResource, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetByID gets a resource by ID. +// Parameters: +// resourceID - the fully qualified ID of the resource, including the resource name and resource type. Use the +// format, +// /subscriptions/{guid}/resourceGroups/{resource-group-name}/{resource-provider-namespace}/{resource-type}/{resource-name} +func (client ResourcesClient) GetByID(ctx context.Context, resourceID string) (result GenericResource, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ResourcesClient.GetByID") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetByIDPreparer(ctx, resourceID) + if err != nil { + err = autorest.NewErrorWithError(err, "features.ResourcesClient", "GetByID", nil, "Failure preparing request") + return + } + + resp, err := client.GetByIDSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "features.ResourcesClient", "GetByID", resp, "Failure sending request") + return + } + + result, err = client.GetByIDResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "features.ResourcesClient", "GetByID", resp, "Failure responding to request") + } + + return +} + +// GetByIDPreparer prepares the GetByID request. +func (client ResourcesClient) GetByIDPreparer(ctx context.Context, resourceID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceId": resourceID, + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/{resourceId}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetByIDSender sends the GetByID request. The method will close the +// http.Response Body if it receives an error. +func (client ResourcesClient) GetByIDSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetByIDResponder handles the response to the GetByID request. The method always +// closes the http.Response Body. +func (client ResourcesClient) GetByIDResponder(resp *http.Response) (result GenericResource, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List get all the resources in a subscription. +// Parameters: +// filter - the filter to apply on the operation.

The properties you can use for eq (equals) or ne (not +// equals) are: location, resourceType, name, resourceGroup, identity, identity/principalId, plan, +// plan/publisher, plan/product, plan/name, plan/version, and plan/promotionCode.

For example, to filter +// by a resource type, use: $filter=resourceType eq 'Microsoft.Network/virtualNetworks'

You can use +// substringof(value, property) in the filter. The properties you can use for substring are: name and +// resourceGroup.

For example, to get all resources with 'demo' anywhere in the name, use: +// $filter=substringof('demo', name)

You can link more than one substringof together by adding and/or +// operators.

You can filter by tag names and values. For example, to filter for a tag name and value, +// use $filter=tagName eq 'tag1' and tagValue eq 'Value1'

You can use some properties together when +// filtering. The combinations you can use are: substringof and/or resourceType, plan and plan/publisher and +// plan/name, identity and identity/principalId. +// expand - the $expand query parameter. You can expand createdTime and changedTime. For example, to expand +// both properties, use $expand=changedTime,createdTime +// top - the number of results to return. If null is passed, returns all resource groups. +func (client ResourcesClient) List(ctx context.Context, filter string, expand string, top *int32) (result ResourceListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ResourcesClient.List") + defer func() { + sc := -1 + if result.rlr.Response.Response != nil { + sc = result.rlr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, filter, expand, top) + if err != nil { + err = autorest.NewErrorWithError(err, "features.ResourcesClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.rlr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "features.ResourcesClient", "List", resp, "Failure sending request") + return + } + + result.rlr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "features.ResourcesClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client ResourcesClient) ListPreparer(ctx context.Context, filter string, expand string, top *int32) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(filter) > 0 { + queryParameters["$filter"] = autorest.Encode("query", filter) + } + if len(expand) > 0 { + queryParameters["$expand"] = autorest.Encode("query", expand) + } + if top != nil { + queryParameters["$top"] = autorest.Encode("query", *top) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resources", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client ResourcesClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client ResourcesClient) ListResponder(resp *http.Response) (result ResourceListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client ResourcesClient) listNextResults(ctx context.Context, lastResults ResourceListResult) (result ResourceListResult, err error) { + req, err := lastResults.resourceListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "features.ResourcesClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "features.ResourcesClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "features.ResourcesClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client ResourcesClient) ListComplete(ctx context.Context, filter string, expand string, top *int32) (result ResourceListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ResourcesClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, filter, expand, top) + return +} + +// ListByResourceGroup get all the resources for a resource group. +// Parameters: +// resourceGroupName - the resource group with the resources to get. +// filter - the filter to apply on the operation.

The properties you can use for eq (equals) or ne (not +// equals) are: location, resourceType, name, resourceGroup, identity, identity/principalId, plan, +// plan/publisher, plan/product, plan/name, plan/version, and plan/promotionCode.

For example, to filter +// by a resource type, use: $filter=resourceType eq 'Microsoft.Network/virtualNetworks'

You can use +// substringof(value, property) in the filter. The properties you can use for substring are: name and +// resourceGroup.

For example, to get all resources with 'demo' anywhere in the name, use: +// $filter=substringof('demo', name)

You can link more than one substringof together by adding and/or +// operators.

You can filter by tag names and values. For example, to filter for a tag name and value, +// use $filter=tagName eq 'tag1' and tagValue eq 'Value1'

You can use some properties together when +// filtering. The combinations you can use are: substringof and/or resourceType, plan and plan/publisher and +// plan/name, identity and identity/principalId. +// expand - the $expand query parameter. You can expand createdTime and changedTime. For example, to expand +// both properties, use $expand=changedTime,createdTime +// top - the number of results to return. If null is passed, returns all resources. +func (client ResourcesClient) ListByResourceGroup(ctx context.Context, resourceGroupName string, filter string, expand string, top *int32) (result ResourceListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ResourcesClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.rlr.Response.Response != nil { + sc = result.rlr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\p{L}\._\(\)\w]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("features.ResourcesClient", "ListByResourceGroup", err.Error()) + } + + result.fn = client.listByResourceGroupNextResults + req, err := client.ListByResourceGroupPreparer(ctx, resourceGroupName, filter, expand, top) + if err != nil { + err = autorest.NewErrorWithError(err, "features.ResourcesClient", "ListByResourceGroup", nil, "Failure preparing request") + return + } + + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.rlr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "features.ResourcesClient", "ListByResourceGroup", resp, "Failure sending request") + return + } + + result.rlr, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "features.ResourcesClient", "ListByResourceGroup", resp, "Failure responding to request") + } + + return +} + +// ListByResourceGroupPreparer prepares the ListByResourceGroup request. +func (client ResourcesClient) ListByResourceGroupPreparer(ctx context.Context, resourceGroupName string, filter string, expand string, top *int32) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(filter) > 0 { + queryParameters["$filter"] = autorest.Encode("query", filter) + } + if len(expand) > 0 { + queryParameters["$expand"] = autorest.Encode("query", expand) + } + if top != nil { + queryParameters["$top"] = autorest.Encode("query", *top) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/resources", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByResourceGroupSender sends the ListByResourceGroup request. The method will close the +// http.Response Body if it receives an error. +func (client ResourcesClient) ListByResourceGroupSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByResourceGroupResponder handles the response to the ListByResourceGroup request. The method always +// closes the http.Response Body. +func (client ResourcesClient) ListByResourceGroupResponder(resp *http.Response) (result ResourceListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listByResourceGroupNextResults retrieves the next set of results, if any. +func (client ResourcesClient) listByResourceGroupNextResults(ctx context.Context, lastResults ResourceListResult) (result ResourceListResult, err error) { + req, err := lastResults.resourceListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "features.ResourcesClient", "listByResourceGroupNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "features.ResourcesClient", "listByResourceGroupNextResults", resp, "Failure sending next results request") + } + result, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "features.ResourcesClient", "listByResourceGroupNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListByResourceGroupComplete enumerates all values, automatically crossing page boundaries as required. +func (client ResourcesClient) ListByResourceGroupComplete(ctx context.Context, resourceGroupName string, filter string, expand string, top *int32) (result ResourceListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ResourcesClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListByResourceGroup(ctx, resourceGroupName, filter, expand, top) + return +} + +// MoveResources the resources to move must be in the same source resource group. The target resource group may be in a +// different subscription. When moving resources, both the source group and the target group are locked for the +// duration of the operation. Write and delete operations are blocked on the groups until the move completes. +// Parameters: +// sourceResourceGroupName - the name of the resource group containing the resources to move. +// parameters - parameters for moving resources. +func (client ResourcesClient) MoveResources(ctx context.Context, sourceResourceGroupName string, parameters ResourcesMoveInfo) (result ResourcesMoveResourcesFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ResourcesClient.MoveResources") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: sourceResourceGroupName, + Constraints: []validation.Constraint{{Target: "sourceResourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "sourceResourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "sourceResourceGroupName", Name: validation.Pattern, Rule: `^[-\p{L}\._\(\)\w]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("features.ResourcesClient", "MoveResources", err.Error()) + } + + req, err := client.MoveResourcesPreparer(ctx, sourceResourceGroupName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "features.ResourcesClient", "MoveResources", nil, "Failure preparing request") + return + } + + result, err = client.MoveResourcesSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "features.ResourcesClient", "MoveResources", result.Response(), "Failure sending request") + return + } + + return +} + +// MoveResourcesPreparer prepares the MoveResources request. +func (client ResourcesClient) MoveResourcesPreparer(ctx context.Context, sourceResourceGroupName string, parameters ResourcesMoveInfo) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "sourceResourceGroupName": autorest.Encode("path", sourceResourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{sourceResourceGroupName}/moveResources", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// MoveResourcesSender sends the MoveResources request. The method will close the +// http.Response Body if it receives an error. +func (client ResourcesClient) MoveResourcesSender(req *http.Request) (future ResourcesMoveResourcesFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// MoveResourcesResponder handles the response to the MoveResources request. The method always +// closes the http.Response Body. +func (client ResourcesClient) MoveResourcesResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Update updates a resource. +// Parameters: +// resourceGroupName - the name of the resource group for the resource. The name is case insensitive. +// resourceProviderNamespace - the namespace of the resource provider. +// parentResourcePath - the parent resource identity. +// resourceType - the resource type of the resource to update. +// resourceName - the name of the resource to update. +// parameters - parameters for updating the resource. +func (client ResourcesClient) Update(ctx context.Context, resourceGroupName string, resourceProviderNamespace string, parentResourcePath string, resourceType string, resourceName string, parameters GenericResource) (result ResourcesUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ResourcesClient.Update") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\p{L}\._\(\)\w]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("features.ResourcesClient", "Update", err.Error()) + } + + req, err := client.UpdatePreparer(ctx, resourceGroupName, resourceProviderNamespace, parentResourcePath, resourceType, resourceName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "features.ResourcesClient", "Update", nil, "Failure preparing request") + return + } + + result, err = client.UpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "features.ResourcesClient", "Update", result.Response(), "Failure sending request") + return + } + + return +} + +// UpdatePreparer prepares the Update request. +func (client ResourcesClient) UpdatePreparer(ctx context.Context, resourceGroupName string, resourceProviderNamespace string, parentResourcePath string, resourceType string, resourceName string, parameters GenericResource) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "parentResourcePath": parentResourcePath, + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "resourceName": autorest.Encode("path", resourceName), + "resourceProviderNamespace": autorest.Encode("path", resourceProviderNamespace), + "resourceType": resourceType, + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateSender sends the Update request. The method will close the +// http.Response Body if it receives an error. +func (client ResourcesClient) UpdateSender(req *http.Request) (future ResourcesUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// UpdateResponder handles the response to the Update request. The method always +// closes the http.Response Body. +func (client ResourcesClient) UpdateResponder(resp *http.Response) (result GenericResource, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// UpdateByID updates a resource by ID. +// Parameters: +// resourceID - the fully qualified ID of the resource, including the resource name and resource type. Use the +// format, +// /subscriptions/{guid}/resourceGroups/{resource-group-name}/{resource-provider-namespace}/{resource-type}/{resource-name} +// parameters - update resource parameters. +func (client ResourcesClient) UpdateByID(ctx context.Context, resourceID string, parameters GenericResource) (result ResourcesUpdateByIDFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ResourcesClient.UpdateByID") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdateByIDPreparer(ctx, resourceID, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "features.ResourcesClient", "UpdateByID", nil, "Failure preparing request") + return + } + + result, err = client.UpdateByIDSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "features.ResourcesClient", "UpdateByID", result.Response(), "Failure sending request") + return + } + + return +} + +// UpdateByIDPreparer prepares the UpdateByID request. +func (client ResourcesClient) UpdateByIDPreparer(ctx context.Context, resourceID string, parameters GenericResource) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceId": resourceID, + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/{resourceId}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateByIDSender sends the UpdateByID request. The method will close the +// http.Response Body if it receives an error. +func (client ResourcesClient) UpdateByIDSender(req *http.Request) (future ResourcesUpdateByIDFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// UpdateByIDResponder handles the response to the UpdateByID request. The method always +// closes the http.Response Body. +func (client ResourcesClient) UpdateByIDResponder(resp *http.Response) (result GenericResource, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ValidateMoveResources this operation checks whether the specified resources can be moved to the target. The +// resources to move must be in the same source resource group. The target resource group may be in a different +// subscription. If validation succeeds, it returns HTTP response code 204 (no content). If validation fails, it +// returns HTTP response code 409 (Conflict) with an error message. Retrieve the URL in the Location header value to +// check the result of the long-running operation. +// Parameters: +// sourceResourceGroupName - the name of the resource group containing the resources to validate for move. +// parameters - parameters for moving resources. +func (client ResourcesClient) ValidateMoveResources(ctx context.Context, sourceResourceGroupName string, parameters ResourcesMoveInfo) (result ResourcesValidateMoveResourcesFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ResourcesClient.ValidateMoveResources") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: sourceResourceGroupName, + Constraints: []validation.Constraint{{Target: "sourceResourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "sourceResourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "sourceResourceGroupName", Name: validation.Pattern, Rule: `^[-\p{L}\._\(\)\w]+$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("features.ResourcesClient", "ValidateMoveResources", err.Error()) + } + + req, err := client.ValidateMoveResourcesPreparer(ctx, sourceResourceGroupName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "features.ResourcesClient", "ValidateMoveResources", nil, "Failure preparing request") + return + } + + result, err = client.ValidateMoveResourcesSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "features.ResourcesClient", "ValidateMoveResources", result.Response(), "Failure sending request") + return + } + + return +} + +// ValidateMoveResourcesPreparer prepares the ValidateMoveResources request. +func (client ResourcesClient) ValidateMoveResourcesPreparer(ctx context.Context, sourceResourceGroupName string, parameters ResourcesMoveInfo) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "sourceResourceGroupName": autorest.Encode("path", sourceResourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{sourceResourceGroupName}/validateMoveResources", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ValidateMoveResourcesSender sends the ValidateMoveResources request. The method will close the +// http.Response Body if it receives an error. +func (client ResourcesClient) ValidateMoveResourcesSender(req *http.Request) (future ResourcesValidateMoveResourcesFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// ValidateMoveResourcesResponder handles the response to the ValidateMoveResources request. The method always +// closes the http.Response Body. +func (client ResourcesClient) ValidateMoveResourcesResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} diff --git a/services/resources/mgmt/2019-07-01/features/tags.go b/services/resources/mgmt/2019-07-01/features/tags.go new file mode 100644 index 000000000000..ee3c20f229ad --- /dev/null +++ b/services/resources/mgmt/2019-07-01/features/tags.go @@ -0,0 +1,454 @@ +package features + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// TagsClient is the provides operations for working with resources and resource groups. +type TagsClient struct { + BaseClient +} + +// NewTagsClient creates an instance of the TagsClient client. +func NewTagsClient(subscriptionID string) TagsClient { + return NewTagsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewTagsClientWithBaseURI creates an instance of the TagsClient client. +func NewTagsClientWithBaseURI(baseURI string, subscriptionID string) TagsClient { + return TagsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate the tag name can have a maximum of 512 characters and is case insensitive. Tag names created by Azure +// have prefixes of microsoft, azure, or windows. You cannot create tags with one of these prefixes. +// Parameters: +// tagName - the name of the tag to create. +func (client TagsClient) CreateOrUpdate(ctx context.Context, tagName string) (result TagDetails, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/TagsClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, tagName) + if err != nil { + err = autorest.NewErrorWithError(err, "features.TagsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "features.TagsClient", "CreateOrUpdate", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "features.TagsClient", "CreateOrUpdate", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client TagsClient) CreateOrUpdatePreparer(ctx context.Context, tagName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "tagName": autorest.Encode("path", tagName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/tagNames/{tagName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client TagsClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client TagsClient) CreateOrUpdateResponder(resp *http.Response) (result TagDetails, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// CreateOrUpdateValue creates a tag value. The name of the tag must already exist. +// Parameters: +// tagName - the name of the tag. +// tagValue - the value of the tag to create. +func (client TagsClient) CreateOrUpdateValue(ctx context.Context, tagName string, tagValue string) (result TagValue, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/TagsClient.CreateOrUpdateValue") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdateValuePreparer(ctx, tagName, tagValue) + if err != nil { + err = autorest.NewErrorWithError(err, "features.TagsClient", "CreateOrUpdateValue", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateValueSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "features.TagsClient", "CreateOrUpdateValue", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateValueResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "features.TagsClient", "CreateOrUpdateValue", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdateValuePreparer prepares the CreateOrUpdateValue request. +func (client TagsClient) CreateOrUpdateValuePreparer(ctx context.Context, tagName string, tagValue string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "tagName": autorest.Encode("path", tagName), + "tagValue": autorest.Encode("path", tagValue), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/tagNames/{tagName}/tagValues/{tagValue}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateValueSender sends the CreateOrUpdateValue request. The method will close the +// http.Response Body if it receives an error. +func (client TagsClient) CreateOrUpdateValueSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CreateOrUpdateValueResponder handles the response to the CreateOrUpdateValue request. The method always +// closes the http.Response Body. +func (client TagsClient) CreateOrUpdateValueResponder(resp *http.Response) (result TagValue, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete you must remove all values from a resource tag before you can delete it. +// Parameters: +// tagName - the name of the tag. +func (client TagsClient) Delete(ctx context.Context, tagName string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/TagsClient.Delete") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, tagName) + if err != nil { + err = autorest.NewErrorWithError(err, "features.TagsClient", "Delete", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "features.TagsClient", "Delete", resp, "Failure sending request") + return + } + + result, err = client.DeleteResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "features.TagsClient", "Delete", resp, "Failure responding to request") + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client TagsClient) DeletePreparer(ctx context.Context, tagName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "tagName": autorest.Encode("path", tagName), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/tagNames/{tagName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client TagsClient) DeleteSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client TagsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// DeleteValue deletes a tag value. +// Parameters: +// tagName - the name of the tag. +// tagValue - the value of the tag to delete. +func (client TagsClient) DeleteValue(ctx context.Context, tagName string, tagValue string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/TagsClient.DeleteValue") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeleteValuePreparer(ctx, tagName, tagValue) + if err != nil { + err = autorest.NewErrorWithError(err, "features.TagsClient", "DeleteValue", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteValueSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "features.TagsClient", "DeleteValue", resp, "Failure sending request") + return + } + + result, err = client.DeleteValueResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "features.TagsClient", "DeleteValue", resp, "Failure responding to request") + } + + return +} + +// DeleteValuePreparer prepares the DeleteValue request. +func (client TagsClient) DeleteValuePreparer(ctx context.Context, tagName string, tagValue string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "tagName": autorest.Encode("path", tagName), + "tagValue": autorest.Encode("path", tagValue), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/tagNames/{tagName}/tagValues/{tagValue}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteValueSender sends the DeleteValue request. The method will close the +// http.Response Body if it receives an error. +func (client TagsClient) DeleteValueSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeleteValueResponder handles the response to the DeleteValue request. The method always +// closes the http.Response Body. +func (client TagsClient) DeleteValueResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// List gets the names and values of all resource tags that are defined in a subscription. +func (client TagsClient) List(ctx context.Context) (result TagsListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/TagsClient.List") + defer func() { + sc := -1 + if result.tlr.Response.Response != nil { + sc = result.tlr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "features.TagsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.tlr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "features.TagsClient", "List", resp, "Failure sending request") + return + } + + result.tlr, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "features.TagsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client TagsClient) ListPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2019-07-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/tagNames", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client TagsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client TagsClient) ListResponder(resp *http.Response) (result TagsListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client TagsClient) listNextResults(ctx context.Context, lastResults TagsListResult) (result TagsListResult, err error) { + req, err := lastResults.tagsListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "features.TagsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "features.TagsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "features.TagsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client TagsClient) ListComplete(ctx context.Context) (result TagsListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/TagsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx) + return +} diff --git a/services/resources/mgmt/2019-07-01/features/version.go b/services/resources/mgmt/2019-07-01/features/version.go new file mode 100644 index 000000000000..25d3b7e03caf --- /dev/null +++ b/services/resources/mgmt/2019-07-01/features/version.go @@ -0,0 +1,30 @@ +package features + +import "github.com/Azure/azure-sdk-for-go/version" + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +// UserAgent returns the UserAgent string to use when sending http.Requests. +func UserAgent() string { + return "Azure-SDK-For-Go/" + version.Number + " features/2019-07-01" +} + +// Version returns the semantic version (see http://semver.org) of the client. +func Version() string { + return version.Number +} diff --git a/services/servicebus/mgmt/2017-04-01/servicebus/models.go b/services/servicebus/mgmt/2017-04-01/servicebus/models.go index bf6b8001396c..f737cf2ea88a 100644 --- a/services/servicebus/mgmt/2017-04-01/servicebus/models.go +++ b/services/servicebus/mgmt/2017-04-01/servicebus/models.go @@ -1335,6 +1335,152 @@ func (nrs *NetworkRuleSet) UnmarshalJSON(body []byte) error { return nil } +// NetworkRuleSetListResult the response of the List NetworkRuleSet operation. +type NetworkRuleSetListResult struct { + autorest.Response `json:"-"` + // Value - Result of the List NetworkRuleSet operation. + Value *[]NetworkRuleSet `json:"value,omitempty"` + // NextLink - Link to the next set of results. Not empty if Value contains incomplete list of NetworkRuleSet. + NextLink *string `json:"nextLink,omitempty"` +} + +// NetworkRuleSetListResultIterator provides access to a complete listing of NetworkRuleSet values. +type NetworkRuleSetListResultIterator struct { + i int + page NetworkRuleSetListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *NetworkRuleSetListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/NetworkRuleSetListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *NetworkRuleSetListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter NetworkRuleSetListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter NetworkRuleSetListResultIterator) Response() NetworkRuleSetListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter NetworkRuleSetListResultIterator) Value() NetworkRuleSet { + if !iter.page.NotDone() { + return NetworkRuleSet{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the NetworkRuleSetListResultIterator type. +func NewNetworkRuleSetListResultIterator(page NetworkRuleSetListResultPage) NetworkRuleSetListResultIterator { + return NetworkRuleSetListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (nrslr NetworkRuleSetListResult) IsEmpty() bool { + return nrslr.Value == nil || len(*nrslr.Value) == 0 +} + +// networkRuleSetListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (nrslr NetworkRuleSetListResult) networkRuleSetListResultPreparer(ctx context.Context) (*http.Request, error) { + if nrslr.NextLink == nil || len(to.String(nrslr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(nrslr.NextLink))) +} + +// NetworkRuleSetListResultPage contains a page of NetworkRuleSet values. +type NetworkRuleSetListResultPage struct { + fn func(context.Context, NetworkRuleSetListResult) (NetworkRuleSetListResult, error) + nrslr NetworkRuleSetListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *NetworkRuleSetListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/NetworkRuleSetListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.nrslr) + if err != nil { + return err + } + page.nrslr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *NetworkRuleSetListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page NetworkRuleSetListResultPage) NotDone() bool { + return !page.nrslr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page NetworkRuleSetListResultPage) Response() NetworkRuleSetListResult { + return page.nrslr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page NetworkRuleSetListResultPage) Values() []NetworkRuleSet { + if page.nrslr.IsEmpty() { + return nil + } + return *page.nrslr.Value +} + +// Creates a new instance of the NetworkRuleSetListResultPage type. +func NewNetworkRuleSetListResultPage(getNextPage func(context.Context, NetworkRuleSetListResult) (NetworkRuleSetListResult, error)) NetworkRuleSetListResultPage { + return NetworkRuleSetListResultPage{fn: getNextPage} +} + // NetworkRuleSetProperties networkRuleSet properties type NetworkRuleSetProperties struct { // DefaultAction - Default Action for Network Rule Set. Possible values include: 'Allow', 'Deny' @@ -3400,7 +3546,7 @@ type SBTopicProperties struct { type SQLFilter struct { // SQLExpression - The SQL expression. e.g. MyProperty='ABC' SQLExpression *string `json:"sqlExpression,omitempty"` - // CompatibilityLevel - READ-ONLY; This property is reserved for future use. An integer value showing the compatibility level, currently hard-coded to 20. + // CompatibilityLevel - This property is reserved for future use. An integer value showing the compatibility level, currently hard-coded to 20. CompatibilityLevel *int32 `json:"compatibilityLevel,omitempty"` // RequiresPreprocessing - Value that indicates whether the rule action requires preprocessing. RequiresPreprocessing *bool `json:"requiresPreprocessing,omitempty"` diff --git a/services/servicebus/mgmt/2017-04-01/servicebus/namespaces.go b/services/servicebus/mgmt/2017-04-01/servicebus/namespaces.go index 8f63d12121e8..e9034b3b14cb 100644 --- a/services/servicebus/mgmt/2017-04-01/servicebus/namespaces.go +++ b/services/servicebus/mgmt/2017-04-01/servicebus/namespaces.go @@ -1289,6 +1289,131 @@ func (client NamespacesClient) ListKeysResponder(resp *http.Response) (result Ac return } +// ListNetworkRuleSets gets list of NetworkRuleSet for a Namespace. +// Parameters: +// resourceGroupName - name of the Resource group within the Azure subscription. +// namespaceName - the namespace name +func (client NamespacesClient) ListNetworkRuleSets(ctx context.Context, resourceGroupName string, namespaceName string) (result NetworkRuleSetListResultPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/NamespacesClient.ListNetworkRuleSets") + defer func() { + sc := -1 + if result.nrslr.Response.Response != nil { + sc = result.nrslr.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, + {TargetValue: namespaceName, + Constraints: []validation.Constraint{{Target: "namespaceName", Name: validation.MaxLength, Rule: 50, Chain: nil}, + {Target: "namespaceName", Name: validation.MinLength, Rule: 6, Chain: nil}}}}); err != nil { + return result, validation.NewError("servicebus.NamespacesClient", "ListNetworkRuleSets", err.Error()) + } + + result.fn = client.listNetworkRuleSetsNextResults + req, err := client.ListNetworkRuleSetsPreparer(ctx, resourceGroupName, namespaceName) + if err != nil { + err = autorest.NewErrorWithError(err, "servicebus.NamespacesClient", "ListNetworkRuleSets", nil, "Failure preparing request") + return + } + + resp, err := client.ListNetworkRuleSetsSender(req) + if err != nil { + result.nrslr.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "servicebus.NamespacesClient", "ListNetworkRuleSets", resp, "Failure sending request") + return + } + + result.nrslr, err = client.ListNetworkRuleSetsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "servicebus.NamespacesClient", "ListNetworkRuleSets", resp, "Failure responding to request") + } + + return +} + +// ListNetworkRuleSetsPreparer prepares the ListNetworkRuleSets request. +func (client NamespacesClient) ListNetworkRuleSetsPreparer(ctx context.Context, resourceGroupName string, namespaceName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "namespaceName": autorest.Encode("path", namespaceName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2017-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/networkRuleSets", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListNetworkRuleSetsSender sends the ListNetworkRuleSets request. The method will close the +// http.Response Body if it receives an error. +func (client NamespacesClient) ListNetworkRuleSetsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListNetworkRuleSetsResponder handles the response to the ListNetworkRuleSets request. The method always +// closes the http.Response Body. +func (client NamespacesClient) ListNetworkRuleSetsResponder(resp *http.Response) (result NetworkRuleSetListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNetworkRuleSetsNextResults retrieves the next set of results, if any. +func (client NamespacesClient) listNetworkRuleSetsNextResults(ctx context.Context, lastResults NetworkRuleSetListResult) (result NetworkRuleSetListResult, err error) { + req, err := lastResults.networkRuleSetListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "servicebus.NamespacesClient", "listNetworkRuleSetsNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListNetworkRuleSetsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "servicebus.NamespacesClient", "listNetworkRuleSetsNextResults", resp, "Failure sending next results request") + } + result, err = client.ListNetworkRuleSetsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "servicebus.NamespacesClient", "listNetworkRuleSetsNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListNetworkRuleSetsComplete enumerates all values, automatically crossing page boundaries as required. +func (client NamespacesClient) ListNetworkRuleSetsComplete(ctx context.Context, resourceGroupName string, namespaceName string) (result NetworkRuleSetListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/NamespacesClient.ListNetworkRuleSets") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListNetworkRuleSets(ctx, resourceGroupName, namespaceName) + return +} + // Migrate this operation Migrate the given namespace to provided name type // Parameters: // resourceGroupName - name of the Resource group within the Azure subscription. diff --git a/services/servicebus/mgmt/2017-04-01/servicebus/rules.go b/services/servicebus/mgmt/2017-04-01/servicebus/rules.go index 0d3357e5b6fc..4b12b65da8fe 100644 --- a/services/servicebus/mgmt/2017-04-01/servicebus/rules.go +++ b/services/servicebus/mgmt/2017-04-01/servicebus/rules.go @@ -74,7 +74,16 @@ func (client RulesClient) CreateOrUpdate(ctx context.Context, resourceGroupName {Target: "subscriptionName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, {TargetValue: ruleName, Constraints: []validation.Constraint{{Target: "ruleName", Name: validation.MaxLength, Rule: 50, Chain: nil}, - {Target: "ruleName", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { + {Target: "ruleName", Name: validation.MinLength, Rule: 1, Chain: nil}}}, + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.Ruleproperties", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.Ruleproperties.SQLFilter", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.Ruleproperties.SQLFilter.CompatibilityLevel", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.Ruleproperties.SQLFilter.CompatibilityLevel", Name: validation.InclusiveMaximum, Rule: int64(20), Chain: nil}, + {Target: "parameters.Ruleproperties.SQLFilter.CompatibilityLevel", Name: validation.InclusiveMinimum, Rule: 20, Chain: nil}, + }}, + }}, + }}}}}); err != nil { return result, validation.NewError("servicebus.RulesClient", "CreateOrUpdate", err.Error()) } diff --git a/services/servicebus/mgmt/2017-04-01/servicebus/servicebusapi/interfaces.go b/services/servicebus/mgmt/2017-04-01/servicebus/servicebusapi/interfaces.go index 0c6bbd6f5999..a5a9dcb0efe7 100644 --- a/services/servicebus/mgmt/2017-04-01/servicebus/servicebusapi/interfaces.go +++ b/services/servicebus/mgmt/2017-04-01/servicebus/servicebusapi/interfaces.go @@ -45,6 +45,7 @@ type NamespacesClientAPI interface { ListAuthorizationRules(ctx context.Context, resourceGroupName string, namespaceName string) (result servicebus.SBAuthorizationRuleListResultPage, err error) ListByResourceGroup(ctx context.Context, resourceGroupName string) (result servicebus.SBNamespaceListResultPage, err error) ListKeys(ctx context.Context, resourceGroupName string, namespaceName string, authorizationRuleName string) (result servicebus.AccessKeys, err error) + ListNetworkRuleSets(ctx context.Context, resourceGroupName string, namespaceName string) (result servicebus.NetworkRuleSetListResultPage, err error) Migrate(ctx context.Context, resourceGroupName string, namespaceName string, parameters servicebus.SBNamespaceMigrate) (result autorest.Response, err error) RegenerateKeys(ctx context.Context, resourceGroupName string, namespaceName string, authorizationRuleName string, parameters servicebus.RegenerateAccessKeyParameters) (result servicebus.AccessKeys, err error) Update(ctx context.Context, resourceGroupName string, namespaceName string, parameters servicebus.SBNamespaceUpdateParameters) (result servicebus.SBNamespace, err error) diff --git a/services/sql/mgmt/2014-04-01/sql/backuplongtermretentionpolicies.go b/services/sql/mgmt/2014-04-01/sql/backuplongtermretentionpolicies.go new file mode 100644 index 000000000000..d106b0595037 --- /dev/null +++ b/services/sql/mgmt/2014-04-01/sql/backuplongtermretentionpolicies.go @@ -0,0 +1,298 @@ +package sql + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// BackupLongTermRetentionPoliciesClient is the the Azure SQL Database management API provides a RESTful set of web +// services that interact with Azure SQL Database services to manage your databases. The API enables you to create, +// retrieve, update, and delete databases. +type BackupLongTermRetentionPoliciesClient struct { + BaseClient +} + +// NewBackupLongTermRetentionPoliciesClient creates an instance of the BackupLongTermRetentionPoliciesClient client. +func NewBackupLongTermRetentionPoliciesClient(subscriptionID string) BackupLongTermRetentionPoliciesClient { + return NewBackupLongTermRetentionPoliciesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewBackupLongTermRetentionPoliciesClientWithBaseURI creates an instance of the BackupLongTermRetentionPoliciesClient +// client. +func NewBackupLongTermRetentionPoliciesClientWithBaseURI(baseURI string, subscriptionID string) BackupLongTermRetentionPoliciesClient { + return BackupLongTermRetentionPoliciesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates a database backup long term retention policy +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serverName - the name of the server. +// databaseName - the name of the database +// parameters - the required parameters to update a backup long term retention policy +func (client BackupLongTermRetentionPoliciesClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, serverName string, databaseName string, parameters BackupLongTermRetentionPolicy) (result BackupLongTermRetentionPoliciesCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BackupLongTermRetentionPoliciesClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.BackupLongTermRetentionPolicyProperties", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.BackupLongTermRetentionPolicyProperties.RecoveryServicesBackupPolicyResourceID", Name: validation.Null, Rule: true, Chain: nil}}}}}}); err != nil { + return result, validation.NewError("sql.BackupLongTermRetentionPoliciesClient", "CreateOrUpdate", err.Error()) + } + + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, serverName, databaseName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.BackupLongTermRetentionPoliciesClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.BackupLongTermRetentionPoliciesClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client BackupLongTermRetentionPoliciesClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, serverName string, databaseName string, parameters BackupLongTermRetentionPolicy) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "backupLongTermRetentionPolicyName": autorest.Encode("path", "Default"), + "databaseName": autorest.Encode("path", databaseName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + parameters.Location = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/backupLongTermRetentionPolicies/{backupLongTermRetentionPolicyName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client BackupLongTermRetentionPoliciesClient) CreateOrUpdateSender(req *http.Request) (future BackupLongTermRetentionPoliciesCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client BackupLongTermRetentionPoliciesClient) CreateOrUpdateResponder(resp *http.Response) (result BackupLongTermRetentionPolicy, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Get returns a database backup long term retention policy +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serverName - the name of the server. +// databaseName - the name of the database. +func (client BackupLongTermRetentionPoliciesClient) Get(ctx context.Context, resourceGroupName string, serverName string, databaseName string) (result BackupLongTermRetentionPolicy, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BackupLongTermRetentionPoliciesClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, serverName, databaseName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.BackupLongTermRetentionPoliciesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.BackupLongTermRetentionPoliciesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.BackupLongTermRetentionPoliciesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client BackupLongTermRetentionPoliciesClient) GetPreparer(ctx context.Context, resourceGroupName string, serverName string, databaseName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "backupLongTermRetentionPolicyName": autorest.Encode("path", "Default"), + "databaseName": autorest.Encode("path", databaseName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/backupLongTermRetentionPolicies/{backupLongTermRetentionPolicyName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client BackupLongTermRetentionPoliciesClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client BackupLongTermRetentionPoliciesClient) GetResponder(resp *http.Response) (result BackupLongTermRetentionPolicy, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByDatabase returns a database backup long term retention policy +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serverName - the name of the server. +// databaseName - the name of the database. +func (client BackupLongTermRetentionPoliciesClient) ListByDatabase(ctx context.Context, resourceGroupName string, serverName string, databaseName string) (result BackupLongTermRetentionPolicyListResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BackupLongTermRetentionPoliciesClient.ListByDatabase") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListByDatabasePreparer(ctx, resourceGroupName, serverName, databaseName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.BackupLongTermRetentionPoliciesClient", "ListByDatabase", nil, "Failure preparing request") + return + } + + resp, err := client.ListByDatabaseSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.BackupLongTermRetentionPoliciesClient", "ListByDatabase", resp, "Failure sending request") + return + } + + result, err = client.ListByDatabaseResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.BackupLongTermRetentionPoliciesClient", "ListByDatabase", resp, "Failure responding to request") + } + + return +} + +// ListByDatabasePreparer prepares the ListByDatabase request. +func (client BackupLongTermRetentionPoliciesClient) ListByDatabasePreparer(ctx context.Context, resourceGroupName string, serverName string, databaseName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "databaseName": autorest.Encode("path", databaseName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/backupLongTermRetentionPolicies", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByDatabaseSender sends the ListByDatabase request. The method will close the +// http.Response Body if it receives an error. +func (client BackupLongTermRetentionPoliciesClient) ListByDatabaseSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByDatabaseResponder handles the response to the ListByDatabase request. The method always +// closes the http.Response Body. +func (client BackupLongTermRetentionPoliciesClient) ListByDatabaseResponder(resp *http.Response) (result BackupLongTermRetentionPolicyListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/sql/mgmt/2014-04-01/sql/backuplongtermretentionvaults.go b/services/sql/mgmt/2014-04-01/sql/backuplongtermretentionvaults.go new file mode 100644 index 000000000000..da3db554f53d --- /dev/null +++ b/services/sql/mgmt/2014-04-01/sql/backuplongtermretentionvaults.go @@ -0,0 +1,292 @@ +package sql + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// BackupLongTermRetentionVaultsClient is the the Azure SQL Database management API provides a RESTful set of web +// services that interact with Azure SQL Database services to manage your databases. The API enables you to create, +// retrieve, update, and delete databases. +type BackupLongTermRetentionVaultsClient struct { + BaseClient +} + +// NewBackupLongTermRetentionVaultsClient creates an instance of the BackupLongTermRetentionVaultsClient client. +func NewBackupLongTermRetentionVaultsClient(subscriptionID string) BackupLongTermRetentionVaultsClient { + return NewBackupLongTermRetentionVaultsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewBackupLongTermRetentionVaultsClientWithBaseURI creates an instance of the BackupLongTermRetentionVaultsClient +// client. +func NewBackupLongTermRetentionVaultsClientWithBaseURI(baseURI string, subscriptionID string) BackupLongTermRetentionVaultsClient { + return BackupLongTermRetentionVaultsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate updates a server backup long term retention vault +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serverName - the name of the server. +// parameters - the required parameters to update a backup long term retention vault +func (client BackupLongTermRetentionVaultsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, serverName string, parameters BackupLongTermRetentionVault) (result BackupLongTermRetentionVaultsCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BackupLongTermRetentionVaultsClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.BackupLongTermRetentionVaultProperties", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.BackupLongTermRetentionVaultProperties.RecoveryServicesVaultResourceID", Name: validation.Null, Rule: true, Chain: nil}}}}}}); err != nil { + return result, validation.NewError("sql.BackupLongTermRetentionVaultsClient", "CreateOrUpdate", err.Error()) + } + + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, serverName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.BackupLongTermRetentionVaultsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.BackupLongTermRetentionVaultsClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client BackupLongTermRetentionVaultsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, serverName string, parameters BackupLongTermRetentionVault) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "backupLongTermRetentionVaultName": autorest.Encode("path", "RegisteredVault"), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + parameters.Location = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/backupLongTermRetentionVaults/{backupLongTermRetentionVaultName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client BackupLongTermRetentionVaultsClient) CreateOrUpdateSender(req *http.Request) (future BackupLongTermRetentionVaultsCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client BackupLongTermRetentionVaultsClient) CreateOrUpdateResponder(resp *http.Response) (result BackupLongTermRetentionVault, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Get gets a server backup long term retention vault +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serverName - the name of the server. +func (client BackupLongTermRetentionVaultsClient) Get(ctx context.Context, resourceGroupName string, serverName string) (result BackupLongTermRetentionVault, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BackupLongTermRetentionVaultsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, serverName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.BackupLongTermRetentionVaultsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.BackupLongTermRetentionVaultsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.BackupLongTermRetentionVaultsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client BackupLongTermRetentionVaultsClient) GetPreparer(ctx context.Context, resourceGroupName string, serverName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "backupLongTermRetentionVaultName": autorest.Encode("path", "RegisteredVault"), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/backupLongTermRetentionVaults/{backupLongTermRetentionVaultName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client BackupLongTermRetentionVaultsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client BackupLongTermRetentionVaultsClient) GetResponder(resp *http.Response) (result BackupLongTermRetentionVault, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByServer gets server backup long term retention vaults in a server +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serverName - the name of the server. +func (client BackupLongTermRetentionVaultsClient) ListByServer(ctx context.Context, resourceGroupName string, serverName string) (result BackupLongTermRetentionVaultListResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BackupLongTermRetentionVaultsClient.ListByServer") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListByServerPreparer(ctx, resourceGroupName, serverName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.BackupLongTermRetentionVaultsClient", "ListByServer", nil, "Failure preparing request") + return + } + + resp, err := client.ListByServerSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.BackupLongTermRetentionVaultsClient", "ListByServer", resp, "Failure sending request") + return + } + + result, err = client.ListByServerResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.BackupLongTermRetentionVaultsClient", "ListByServer", resp, "Failure responding to request") + } + + return +} + +// ListByServerPreparer prepares the ListByServer request. +func (client BackupLongTermRetentionVaultsClient) ListByServerPreparer(ctx context.Context, resourceGroupName string, serverName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/backupLongTermRetentionVaults", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByServerSender sends the ListByServer request. The method will close the +// http.Response Body if it receives an error. +func (client BackupLongTermRetentionVaultsClient) ListByServerSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByServerResponder handles the response to the ListByServer request. The method always +// closes the http.Response Body. +func (client BackupLongTermRetentionVaultsClient) ListByServerResponder(resp *http.Response) (result BackupLongTermRetentionVaultListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/sql/mgmt/2014-04-01/sql/capabilities.go b/services/sql/mgmt/2014-04-01/sql/capabilities.go new file mode 100644 index 000000000000..c5718dd09fbe --- /dev/null +++ b/services/sql/mgmt/2014-04-01/sql/capabilities.go @@ -0,0 +1,118 @@ +package sql + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// CapabilitiesClient is the the Azure SQL Database management API provides a RESTful set of web services that interact +// with Azure SQL Database services to manage your databases. The API enables you to create, retrieve, update, and +// delete databases. +type CapabilitiesClient struct { + BaseClient +} + +// NewCapabilitiesClient creates an instance of the CapabilitiesClient client. +func NewCapabilitiesClient(subscriptionID string) CapabilitiesClient { + return NewCapabilitiesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewCapabilitiesClientWithBaseURI creates an instance of the CapabilitiesClient client. +func NewCapabilitiesClientWithBaseURI(baseURI string, subscriptionID string) CapabilitiesClient { + return CapabilitiesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// ListByLocation gets the capabilities available for the specified location. +// Parameters: +// locationID - the location id whose capabilities are retrieved. +func (client CapabilitiesClient) ListByLocation(ctx context.Context, locationID string) (result LocationCapabilities, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/CapabilitiesClient.ListByLocation") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListByLocationPreparer(ctx, locationID) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.CapabilitiesClient", "ListByLocation", nil, "Failure preparing request") + return + } + + resp, err := client.ListByLocationSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.CapabilitiesClient", "ListByLocation", resp, "Failure sending request") + return + } + + result, err = client.ListByLocationResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.CapabilitiesClient", "ListByLocation", resp, "Failure responding to request") + } + + return +} + +// ListByLocationPreparer prepares the ListByLocation request. +func (client CapabilitiesClient) ListByLocationPreparer(ctx context.Context, locationID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "locationId": autorest.Encode("path", locationID), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationId}/capabilities", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByLocationSender sends the ListByLocation request. The method will close the +// http.Response Body if it receives an error. +func (client CapabilitiesClient) ListByLocationSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByLocationResponder handles the response to the ListByLocation request. The method always +// closes the http.Response Body. +func (client CapabilitiesClient) ListByLocationResponder(resp *http.Response) (result LocationCapabilities, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/sql/mgmt/2014-04-01/sql/databaseadvisors.go b/services/sql/mgmt/2014-04-01/sql/databaseadvisors.go new file mode 100644 index 000000000000..be13e2ed22e1 --- /dev/null +++ b/services/sql/mgmt/2014-04-01/sql/databaseadvisors.go @@ -0,0 +1,292 @@ +package sql + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// DatabaseAdvisorsClient is the the Azure SQL Database management API provides a RESTful set of web services that +// interact with Azure SQL Database services to manage your databases. The API enables you to create, retrieve, update, +// and delete databases. +type DatabaseAdvisorsClient struct { + BaseClient +} + +// NewDatabaseAdvisorsClient creates an instance of the DatabaseAdvisorsClient client. +func NewDatabaseAdvisorsClient(subscriptionID string) DatabaseAdvisorsClient { + return NewDatabaseAdvisorsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewDatabaseAdvisorsClientWithBaseURI creates an instance of the DatabaseAdvisorsClient client. +func NewDatabaseAdvisorsClientWithBaseURI(baseURI string, subscriptionID string) DatabaseAdvisorsClient { + return DatabaseAdvisorsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates a database advisor. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serverName - the name of the server. +// databaseName - the name of the database. +// advisorName - the name of the Database Advisor. +// parameters - the requested advisor resource state. +func (client DatabaseAdvisorsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, serverName string, databaseName string, advisorName string, parameters Advisor) (result Advisor, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DatabaseAdvisorsClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, serverName, databaseName, advisorName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DatabaseAdvisorsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.DatabaseAdvisorsClient", "CreateOrUpdate", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DatabaseAdvisorsClient", "CreateOrUpdate", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client DatabaseAdvisorsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, serverName string, databaseName string, advisorName string, parameters Advisor) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "advisorName": autorest.Encode("path", advisorName), + "databaseName": autorest.Encode("path", databaseName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + parameters.Kind = nil + parameters.Location = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/advisors/{advisorName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client DatabaseAdvisorsClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client DatabaseAdvisorsClient) CreateOrUpdateResponder(resp *http.Response) (result Advisor, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Get returns details of a Database Advisor. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serverName - the name of the server. +// databaseName - the name of the database. +// advisorName - the name of the Database Advisor. +func (client DatabaseAdvisorsClient) Get(ctx context.Context, resourceGroupName string, serverName string, databaseName string, advisorName string) (result Advisor, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DatabaseAdvisorsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, serverName, databaseName, advisorName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DatabaseAdvisorsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.DatabaseAdvisorsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DatabaseAdvisorsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client DatabaseAdvisorsClient) GetPreparer(ctx context.Context, resourceGroupName string, serverName string, databaseName string, advisorName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "advisorName": autorest.Encode("path", advisorName), + "databaseName": autorest.Encode("path", databaseName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/advisors/{advisorName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client DatabaseAdvisorsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client DatabaseAdvisorsClient) GetResponder(resp *http.Response) (result Advisor, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByDatabase returns a list of database advisors. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serverName - the name of the server. +// databaseName - the name of the database. +func (client DatabaseAdvisorsClient) ListByDatabase(ctx context.Context, resourceGroupName string, serverName string, databaseName string) (result AdvisorListResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DatabaseAdvisorsClient.ListByDatabase") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListByDatabasePreparer(ctx, resourceGroupName, serverName, databaseName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DatabaseAdvisorsClient", "ListByDatabase", nil, "Failure preparing request") + return + } + + resp, err := client.ListByDatabaseSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.DatabaseAdvisorsClient", "ListByDatabase", resp, "Failure sending request") + return + } + + result, err = client.ListByDatabaseResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DatabaseAdvisorsClient", "ListByDatabase", resp, "Failure responding to request") + } + + return +} + +// ListByDatabasePreparer prepares the ListByDatabase request. +func (client DatabaseAdvisorsClient) ListByDatabasePreparer(ctx context.Context, resourceGroupName string, serverName string, databaseName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "databaseName": autorest.Encode("path", databaseName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/advisors", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByDatabaseSender sends the ListByDatabase request. The method will close the +// http.Response Body if it receives an error. +func (client DatabaseAdvisorsClient) ListByDatabaseSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByDatabaseResponder handles the response to the ListByDatabase request. The method always +// closes the http.Response Body. +func (client DatabaseAdvisorsClient) ListByDatabaseResponder(resp *http.Response) (result AdvisorListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/sql/mgmt/2014-04-01/sql/databaseconnectionpolicies.go b/services/sql/mgmt/2014-04-01/sql/databaseconnectionpolicies.go new file mode 100644 index 000000000000..7c70c940b266 --- /dev/null +++ b/services/sql/mgmt/2014-04-01/sql/databaseconnectionpolicies.go @@ -0,0 +1,212 @@ +package sql + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// DatabaseConnectionPoliciesClient is the the Azure SQL Database management API provides a RESTful set of web services +// that interact with Azure SQL Database services to manage your databases. The API enables you to create, retrieve, +// update, and delete databases. +type DatabaseConnectionPoliciesClient struct { + BaseClient +} + +// NewDatabaseConnectionPoliciesClient creates an instance of the DatabaseConnectionPoliciesClient client. +func NewDatabaseConnectionPoliciesClient(subscriptionID string) DatabaseConnectionPoliciesClient { + return NewDatabaseConnectionPoliciesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewDatabaseConnectionPoliciesClientWithBaseURI creates an instance of the DatabaseConnectionPoliciesClient client. +func NewDatabaseConnectionPoliciesClientWithBaseURI(baseURI string, subscriptionID string) DatabaseConnectionPoliciesClient { + return DatabaseConnectionPoliciesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates a database's connection policy, which is used with table auditing. Table auditing +// is deprecated, use blob auditing instead. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serverName - the name of the server. +// databaseName - the name of the database for which the connection policy will be defined. +// parameters - the database connection policy. +func (client DatabaseConnectionPoliciesClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, serverName string, databaseName string, parameters DatabaseConnectionPolicy) (result DatabaseConnectionPolicy, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DatabaseConnectionPoliciesClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, serverName, databaseName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DatabaseConnectionPoliciesClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.DatabaseConnectionPoliciesClient", "CreateOrUpdate", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DatabaseConnectionPoliciesClient", "CreateOrUpdate", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client DatabaseConnectionPoliciesClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, serverName string, databaseName string, parameters DatabaseConnectionPolicy) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "connectionPolicyName": autorest.Encode("path", "default"), + "databaseName": autorest.Encode("path", databaseName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + parameters.Kind = nil + parameters.Location = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/connectionPolicies/{connectionPolicyName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client DatabaseConnectionPoliciesClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client DatabaseConnectionPoliciesClient) CreateOrUpdateResponder(resp *http.Response) (result DatabaseConnectionPolicy, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Get gets a database's connection policy, which is used with table auditing. Table auditing is deprecated, use blob +// auditing instead. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serverName - the name of the server. +// databaseName - the name of the database for which the connection policy is defined. +func (client DatabaseConnectionPoliciesClient) Get(ctx context.Context, resourceGroupName string, serverName string, databaseName string) (result DatabaseConnectionPolicy, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DatabaseConnectionPoliciesClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, serverName, databaseName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DatabaseConnectionPoliciesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.DatabaseConnectionPoliciesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DatabaseConnectionPoliciesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client DatabaseConnectionPoliciesClient) GetPreparer(ctx context.Context, resourceGroupName string, serverName string, databaseName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "connectionPolicyName": autorest.Encode("path", "default"), + "databaseName": autorest.Encode("path", databaseName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/connectionPolicies/{connectionPolicyName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client DatabaseConnectionPoliciesClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client DatabaseConnectionPoliciesClient) GetResponder(resp *http.Response) (result DatabaseConnectionPolicy, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/sql/mgmt/2014-04-01/sql/databases.go b/services/sql/mgmt/2014-04-01/sql/databases.go index dcb44f215b7a..36b2bc57c791 100644 --- a/services/sql/mgmt/2014-04-01/sql/databases.go +++ b/services/sql/mgmt/2014-04-01/sql/databases.go @@ -974,6 +974,168 @@ func (client DatabasesClient) ListByServerResponder(resp *http.Response) (result return } +// ListMetricDefinitions returns database metric definitions. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serverName - the name of the server. +// databaseName - the name of the database. +func (client DatabasesClient) ListMetricDefinitions(ctx context.Context, resourceGroupName string, serverName string, databaseName string) (result MetricDefinitionListResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DatabasesClient.ListMetricDefinitions") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListMetricDefinitionsPreparer(ctx, resourceGroupName, serverName, databaseName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DatabasesClient", "ListMetricDefinitions", nil, "Failure preparing request") + return + } + + resp, err := client.ListMetricDefinitionsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.DatabasesClient", "ListMetricDefinitions", resp, "Failure sending request") + return + } + + result, err = client.ListMetricDefinitionsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DatabasesClient", "ListMetricDefinitions", resp, "Failure responding to request") + } + + return +} + +// ListMetricDefinitionsPreparer prepares the ListMetricDefinitions request. +func (client DatabasesClient) ListMetricDefinitionsPreparer(ctx context.Context, resourceGroupName string, serverName string, databaseName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "databaseName": autorest.Encode("path", databaseName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/metricDefinitions", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListMetricDefinitionsSender sends the ListMetricDefinitions request. The method will close the +// http.Response Body if it receives an error. +func (client DatabasesClient) ListMetricDefinitionsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListMetricDefinitionsResponder handles the response to the ListMetricDefinitions request. The method always +// closes the http.Response Body. +func (client DatabasesClient) ListMetricDefinitionsResponder(resp *http.Response) (result MetricDefinitionListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListMetrics returns database metrics. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serverName - the name of the server. +// databaseName - the name of the database. +// filter - an OData filter expression that describes a subset of metrics to return. +func (client DatabasesClient) ListMetrics(ctx context.Context, resourceGroupName string, serverName string, databaseName string, filter string) (result MetricListResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DatabasesClient.ListMetrics") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListMetricsPreparer(ctx, resourceGroupName, serverName, databaseName, filter) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DatabasesClient", "ListMetrics", nil, "Failure preparing request") + return + } + + resp, err := client.ListMetricsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.DatabasesClient", "ListMetrics", resp, "Failure sending request") + return + } + + result, err = client.ListMetricsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DatabasesClient", "ListMetrics", resp, "Failure responding to request") + } + + return +} + +// ListMetricsPreparer prepares the ListMetrics request. +func (client DatabasesClient) ListMetricsPreparer(ctx context.Context, resourceGroupName string, serverName string, databaseName string, filter string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "databaseName": autorest.Encode("path", databaseName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "$filter": autorest.Encode("query", filter), + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/metrics", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListMetricsSender sends the ListMetrics request. The method will close the +// http.Response Body if it receives an error. +func (client DatabasesClient) ListMetricsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListMetricsResponder handles the response to the ListMetrics request. The method always +// closes the http.Response Body. +func (client DatabasesClient) ListMetricsResponder(resp *http.Response) (result MetricListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + // Pause pauses a data warehouse. // Parameters: // resourceGroupName - the name of the resource group that contains the resource. You can obtain this value diff --git a/services/sql/mgmt/2014-04-01/sql/databasetableauditingpolicies.go b/services/sql/mgmt/2014-04-01/sql/databasetableauditingpolicies.go new file mode 100644 index 000000000000..731bef2eb94f --- /dev/null +++ b/services/sql/mgmt/2014-04-01/sql/databasetableauditingpolicies.go @@ -0,0 +1,292 @@ +package sql + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// DatabaseTableAuditingPoliciesClient is the the Azure SQL Database management API provides a RESTful set of web +// services that interact with Azure SQL Database services to manage your databases. The API enables you to create, +// retrieve, update, and delete databases. +type DatabaseTableAuditingPoliciesClient struct { + BaseClient +} + +// NewDatabaseTableAuditingPoliciesClient creates an instance of the DatabaseTableAuditingPoliciesClient client. +func NewDatabaseTableAuditingPoliciesClient(subscriptionID string) DatabaseTableAuditingPoliciesClient { + return NewDatabaseTableAuditingPoliciesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewDatabaseTableAuditingPoliciesClientWithBaseURI creates an instance of the DatabaseTableAuditingPoliciesClient +// client. +func NewDatabaseTableAuditingPoliciesClientWithBaseURI(baseURI string, subscriptionID string) DatabaseTableAuditingPoliciesClient { + return DatabaseTableAuditingPoliciesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates a database's table auditing policy. Table auditing is deprecated, use blob +// auditing instead. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serverName - the name of the server. +// databaseName - the name of the database for which the table auditing policy will be defined. +// parameters - the database table auditing policy. +func (client DatabaseTableAuditingPoliciesClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, serverName string, databaseName string, parameters DatabaseTableAuditingPolicy) (result DatabaseTableAuditingPolicy, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DatabaseTableAuditingPoliciesClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, serverName, databaseName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DatabaseTableAuditingPoliciesClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.DatabaseTableAuditingPoliciesClient", "CreateOrUpdate", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DatabaseTableAuditingPoliciesClient", "CreateOrUpdate", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client DatabaseTableAuditingPoliciesClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, serverName string, databaseName string, parameters DatabaseTableAuditingPolicy) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "databaseName": autorest.Encode("path", databaseName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "tableAuditingPolicyName": autorest.Encode("path", "default"), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + parameters.Kind = nil + parameters.Location = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/auditingPolicies/{tableAuditingPolicyName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client DatabaseTableAuditingPoliciesClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client DatabaseTableAuditingPoliciesClient) CreateOrUpdateResponder(resp *http.Response) (result DatabaseTableAuditingPolicy, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Get gets a database's table auditing policy. Table auditing is deprecated, use blob auditing instead. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serverName - the name of the server. +// databaseName - the name of the database for which the table audit policy is defined. +func (client DatabaseTableAuditingPoliciesClient) Get(ctx context.Context, resourceGroupName string, serverName string, databaseName string) (result DatabaseTableAuditingPolicy, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DatabaseTableAuditingPoliciesClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, serverName, databaseName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DatabaseTableAuditingPoliciesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.DatabaseTableAuditingPoliciesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DatabaseTableAuditingPoliciesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client DatabaseTableAuditingPoliciesClient) GetPreparer(ctx context.Context, resourceGroupName string, serverName string, databaseName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "databaseName": autorest.Encode("path", databaseName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "tableAuditingPolicyName": autorest.Encode("path", "default"), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/auditingPolicies/{tableAuditingPolicyName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client DatabaseTableAuditingPoliciesClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client DatabaseTableAuditingPoliciesClient) GetResponder(resp *http.Response) (result DatabaseTableAuditingPolicy, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByDatabase lists a database's table auditing policies. Table auditing is deprecated, use blob auditing instead. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serverName - the name of the server. +// databaseName - the name of the database for which the table audit policy is defined. +func (client DatabaseTableAuditingPoliciesClient) ListByDatabase(ctx context.Context, resourceGroupName string, serverName string, databaseName string) (result DatabaseTableAuditingPolicyListResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DatabaseTableAuditingPoliciesClient.ListByDatabase") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListByDatabasePreparer(ctx, resourceGroupName, serverName, databaseName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DatabaseTableAuditingPoliciesClient", "ListByDatabase", nil, "Failure preparing request") + return + } + + resp, err := client.ListByDatabaseSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.DatabaseTableAuditingPoliciesClient", "ListByDatabase", resp, "Failure sending request") + return + } + + result, err = client.ListByDatabaseResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DatabaseTableAuditingPoliciesClient", "ListByDatabase", resp, "Failure responding to request") + } + + return +} + +// ListByDatabasePreparer prepares the ListByDatabase request. +func (client DatabaseTableAuditingPoliciesClient) ListByDatabasePreparer(ctx context.Context, resourceGroupName string, serverName string, databaseName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "databaseName": autorest.Encode("path", databaseName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/auditingPolicies", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByDatabaseSender sends the ListByDatabase request. The method will close the +// http.Response Body if it receives an error. +func (client DatabaseTableAuditingPoliciesClient) ListByDatabaseSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByDatabaseResponder handles the response to the ListByDatabase request. The method always +// closes the http.Response Body. +func (client DatabaseTableAuditingPoliciesClient) ListByDatabaseResponder(resp *http.Response) (result DatabaseTableAuditingPolicyListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/sql/mgmt/2014-04-01/sql/databaseusages.go b/services/sql/mgmt/2014-04-01/sql/databaseusages.go new file mode 100644 index 000000000000..45f0a1e730a4 --- /dev/null +++ b/services/sql/mgmt/2014-04-01/sql/databaseusages.go @@ -0,0 +1,123 @@ +package sql + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// DatabaseUsagesClient is the the Azure SQL Database management API provides a RESTful set of web services that +// interact with Azure SQL Database services to manage your databases. The API enables you to create, retrieve, update, +// and delete databases. +type DatabaseUsagesClient struct { + BaseClient +} + +// NewDatabaseUsagesClient creates an instance of the DatabaseUsagesClient client. +func NewDatabaseUsagesClient(subscriptionID string) DatabaseUsagesClient { + return NewDatabaseUsagesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewDatabaseUsagesClientWithBaseURI creates an instance of the DatabaseUsagesClient client. +func NewDatabaseUsagesClientWithBaseURI(baseURI string, subscriptionID string) DatabaseUsagesClient { + return DatabaseUsagesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// ListByDatabase returns database usages. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serverName - the name of the server. +// databaseName - the name of the database. +func (client DatabaseUsagesClient) ListByDatabase(ctx context.Context, resourceGroupName string, serverName string, databaseName string) (result DatabaseUsageListResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DatabaseUsagesClient.ListByDatabase") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListByDatabasePreparer(ctx, resourceGroupName, serverName, databaseName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DatabaseUsagesClient", "ListByDatabase", nil, "Failure preparing request") + return + } + + resp, err := client.ListByDatabaseSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.DatabaseUsagesClient", "ListByDatabase", resp, "Failure sending request") + return + } + + result, err = client.ListByDatabaseResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DatabaseUsagesClient", "ListByDatabase", resp, "Failure responding to request") + } + + return +} + +// ListByDatabasePreparer prepares the ListByDatabase request. +func (client DatabaseUsagesClient) ListByDatabasePreparer(ctx context.Context, resourceGroupName string, serverName string, databaseName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "databaseName": autorest.Encode("path", databaseName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/usages", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByDatabaseSender sends the ListByDatabase request. The method will close the +// http.Response Body if it receives an error. +func (client DatabaseUsagesClient) ListByDatabaseSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByDatabaseResponder handles the response to the ListByDatabase request. The method always +// closes the http.Response Body. +func (client DatabaseUsagesClient) ListByDatabaseResponder(resp *http.Response) (result DatabaseUsageListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/sql/mgmt/2014-04-01/sql/datamaskingpolicies.go b/services/sql/mgmt/2014-04-01/sql/datamaskingpolicies.go new file mode 100644 index 000000000000..65303d3d345a --- /dev/null +++ b/services/sql/mgmt/2014-04-01/sql/datamaskingpolicies.go @@ -0,0 +1,210 @@ +package sql + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// DataMaskingPoliciesClient is the the Azure SQL Database management API provides a RESTful set of web services that +// interact with Azure SQL Database services to manage your databases. The API enables you to create, retrieve, update, +// and delete databases. +type DataMaskingPoliciesClient struct { + BaseClient +} + +// NewDataMaskingPoliciesClient creates an instance of the DataMaskingPoliciesClient client. +func NewDataMaskingPoliciesClient(subscriptionID string) DataMaskingPoliciesClient { + return NewDataMaskingPoliciesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewDataMaskingPoliciesClientWithBaseURI creates an instance of the DataMaskingPoliciesClient client. +func NewDataMaskingPoliciesClientWithBaseURI(baseURI string, subscriptionID string) DataMaskingPoliciesClient { + return DataMaskingPoliciesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates a database data masking policy +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serverName - the name of the server. +// databaseName - the name of the database. +// parameters - parameters for creating or updating a data masking policy. +func (client DataMaskingPoliciesClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, serverName string, databaseName string, parameters DataMaskingPolicy) (result DataMaskingPolicy, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DataMaskingPoliciesClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, serverName, databaseName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DataMaskingPoliciesClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.DataMaskingPoliciesClient", "CreateOrUpdate", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DataMaskingPoliciesClient", "CreateOrUpdate", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client DataMaskingPoliciesClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, serverName string, databaseName string, parameters DataMaskingPolicy) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "databaseName": autorest.Encode("path", databaseName), + "dataMaskingPolicyName": autorest.Encode("path", "Default"), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + parameters.Location = nil + parameters.Kind = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/dataMaskingPolicies/{dataMaskingPolicyName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client DataMaskingPoliciesClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client DataMaskingPoliciesClient) CreateOrUpdateResponder(resp *http.Response) (result DataMaskingPolicy, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Get gets a database data masking policy. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serverName - the name of the server. +// databaseName - the name of the database. +func (client DataMaskingPoliciesClient) Get(ctx context.Context, resourceGroupName string, serverName string, databaseName string) (result DataMaskingPolicy, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DataMaskingPoliciesClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, serverName, databaseName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DataMaskingPoliciesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.DataMaskingPoliciesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DataMaskingPoliciesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client DataMaskingPoliciesClient) GetPreparer(ctx context.Context, resourceGroupName string, serverName string, databaseName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "databaseName": autorest.Encode("path", databaseName), + "dataMaskingPolicyName": autorest.Encode("path", "Default"), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/dataMaskingPolicies/{dataMaskingPolicyName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client DataMaskingPoliciesClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client DataMaskingPoliciesClient) GetResponder(resp *http.Response) (result DataMaskingPolicy, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/sql/mgmt/2014-04-01/sql/datamaskingrules.go b/services/sql/mgmt/2014-04-01/sql/datamaskingrules.go new file mode 100644 index 000000000000..d7a6ff263792 --- /dev/null +++ b/services/sql/mgmt/2014-04-01/sql/datamaskingrules.go @@ -0,0 +1,223 @@ +package sql + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// DataMaskingRulesClient is the the Azure SQL Database management API provides a RESTful set of web services that +// interact with Azure SQL Database services to manage your databases. The API enables you to create, retrieve, update, +// and delete databases. +type DataMaskingRulesClient struct { + BaseClient +} + +// NewDataMaskingRulesClient creates an instance of the DataMaskingRulesClient client. +func NewDataMaskingRulesClient(subscriptionID string) DataMaskingRulesClient { + return NewDataMaskingRulesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewDataMaskingRulesClientWithBaseURI creates an instance of the DataMaskingRulesClient client. +func NewDataMaskingRulesClientWithBaseURI(baseURI string, subscriptionID string) DataMaskingRulesClient { + return DataMaskingRulesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates a database data masking rule. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serverName - the name of the server. +// databaseName - the name of the database. +// dataMaskingRuleName - the name of the data masking rule. +// parameters - the required parameters for creating or updating a data masking rule. +func (client DataMaskingRulesClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, serverName string, databaseName string, dataMaskingRuleName string, parameters DataMaskingRule) (result DataMaskingRule, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DataMaskingRulesClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.DataMaskingRuleProperties", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.DataMaskingRuleProperties.SchemaName", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "parameters.DataMaskingRuleProperties.TableName", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "parameters.DataMaskingRuleProperties.ColumnName", Name: validation.Null, Rule: true, Chain: nil}, + }}}}}); err != nil { + return result, validation.NewError("sql.DataMaskingRulesClient", "CreateOrUpdate", err.Error()) + } + + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, serverName, databaseName, dataMaskingRuleName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DataMaskingRulesClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.DataMaskingRulesClient", "CreateOrUpdate", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DataMaskingRulesClient", "CreateOrUpdate", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client DataMaskingRulesClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, serverName string, databaseName string, dataMaskingRuleName string, parameters DataMaskingRule) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "databaseName": autorest.Encode("path", databaseName), + "dataMaskingPolicyName": autorest.Encode("path", "Default"), + "dataMaskingRuleName": autorest.Encode("path", dataMaskingRuleName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + parameters.Location = nil + parameters.Kind = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/dataMaskingPolicies/{dataMaskingPolicyName}/rules/{dataMaskingRuleName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client DataMaskingRulesClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client DataMaskingRulesClient) CreateOrUpdateResponder(resp *http.Response) (result DataMaskingRule, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByDatabase gets a list of database data masking rules. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serverName - the name of the server. +// databaseName - the name of the database. +func (client DataMaskingRulesClient) ListByDatabase(ctx context.Context, resourceGroupName string, serverName string, databaseName string) (result DataMaskingRuleListResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DataMaskingRulesClient.ListByDatabase") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListByDatabasePreparer(ctx, resourceGroupName, serverName, databaseName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DataMaskingRulesClient", "ListByDatabase", nil, "Failure preparing request") + return + } + + resp, err := client.ListByDatabaseSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.DataMaskingRulesClient", "ListByDatabase", resp, "Failure sending request") + return + } + + result, err = client.ListByDatabaseResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DataMaskingRulesClient", "ListByDatabase", resp, "Failure responding to request") + } + + return +} + +// ListByDatabasePreparer prepares the ListByDatabase request. +func (client DataMaskingRulesClient) ListByDatabasePreparer(ctx context.Context, resourceGroupName string, serverName string, databaseName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "databaseName": autorest.Encode("path", databaseName), + "dataMaskingPolicyName": autorest.Encode("path", "Default"), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/dataMaskingPolicies/{dataMaskingPolicyName}/rules", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByDatabaseSender sends the ListByDatabase request. The method will close the +// http.Response Body if it receives an error. +func (client DataMaskingRulesClient) ListByDatabaseSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByDatabaseResponder handles the response to the ListByDatabase request. The method always +// closes the http.Response Body. +func (client DataMaskingRulesClient) ListByDatabaseResponder(resp *http.Response) (result DataMaskingRuleListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/sql/mgmt/2014-04-01/sql/disasterrecoveryconfigurations.go b/services/sql/mgmt/2014-04-01/sql/disasterrecoveryconfigurations.go new file mode 100644 index 000000000000..4ff7c9f53201 --- /dev/null +++ b/services/sql/mgmt/2014-04-01/sql/disasterrecoveryconfigurations.go @@ -0,0 +1,520 @@ +package sql + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// DisasterRecoveryConfigurationsClient is the the Azure SQL Database management API provides a RESTful set of web +// services that interact with Azure SQL Database services to manage your databases. The API enables you to create, +// retrieve, update, and delete databases. +type DisasterRecoveryConfigurationsClient struct { + BaseClient +} + +// NewDisasterRecoveryConfigurationsClient creates an instance of the DisasterRecoveryConfigurationsClient client. +func NewDisasterRecoveryConfigurationsClient(subscriptionID string) DisasterRecoveryConfigurationsClient { + return NewDisasterRecoveryConfigurationsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewDisasterRecoveryConfigurationsClientWithBaseURI creates an instance of the DisasterRecoveryConfigurationsClient +// client. +func NewDisasterRecoveryConfigurationsClientWithBaseURI(baseURI string, subscriptionID string) DisasterRecoveryConfigurationsClient { + return DisasterRecoveryConfigurationsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates a disaster recovery configuration. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serverName - the name of the server. +// disasterRecoveryConfigurationName - the name of the disaster recovery configuration to be created/updated. +func (client DisasterRecoveryConfigurationsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, serverName string, disasterRecoveryConfigurationName string) (result DisasterRecoveryConfigurationsCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DisasterRecoveryConfigurationsClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, serverName, disasterRecoveryConfigurationName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DisasterRecoveryConfigurationsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DisasterRecoveryConfigurationsClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client DisasterRecoveryConfigurationsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, serverName string, disasterRecoveryConfigurationName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "disasterRecoveryConfigurationName": autorest.Encode("path", disasterRecoveryConfigurationName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/disasterRecoveryConfiguration/{disasterRecoveryConfigurationName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client DisasterRecoveryConfigurationsClient) CreateOrUpdateSender(req *http.Request) (future DisasterRecoveryConfigurationsCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client DisasterRecoveryConfigurationsClient) CreateOrUpdateResponder(resp *http.Response) (result DisasterRecoveryConfiguration, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes a disaster recovery configuration. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serverName - the name of the server. +// disasterRecoveryConfigurationName - the name of the disaster recovery configuration to be deleted. +func (client DisasterRecoveryConfigurationsClient) Delete(ctx context.Context, resourceGroupName string, serverName string, disasterRecoveryConfigurationName string) (result DisasterRecoveryConfigurationsDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DisasterRecoveryConfigurationsClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, serverName, disasterRecoveryConfigurationName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DisasterRecoveryConfigurationsClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DisasterRecoveryConfigurationsClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client DisasterRecoveryConfigurationsClient) DeletePreparer(ctx context.Context, resourceGroupName string, serverName string, disasterRecoveryConfigurationName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "disasterRecoveryConfigurationName": autorest.Encode("path", disasterRecoveryConfigurationName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/disasterRecoveryConfiguration/{disasterRecoveryConfigurationName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client DisasterRecoveryConfigurationsClient) DeleteSender(req *http.Request) (future DisasterRecoveryConfigurationsDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client DisasterRecoveryConfigurationsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Failover fails over from the current primary server to this server. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serverName - the name of the server. +// disasterRecoveryConfigurationName - the name of the disaster recovery configuration to failover. +func (client DisasterRecoveryConfigurationsClient) Failover(ctx context.Context, resourceGroupName string, serverName string, disasterRecoveryConfigurationName string) (result DisasterRecoveryConfigurationsFailoverFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DisasterRecoveryConfigurationsClient.Failover") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.FailoverPreparer(ctx, resourceGroupName, serverName, disasterRecoveryConfigurationName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DisasterRecoveryConfigurationsClient", "Failover", nil, "Failure preparing request") + return + } + + result, err = client.FailoverSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DisasterRecoveryConfigurationsClient", "Failover", result.Response(), "Failure sending request") + return + } + + return +} + +// FailoverPreparer prepares the Failover request. +func (client DisasterRecoveryConfigurationsClient) FailoverPreparer(ctx context.Context, resourceGroupName string, serverName string, disasterRecoveryConfigurationName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "disasterRecoveryConfigurationName": autorest.Encode("path", disasterRecoveryConfigurationName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/disasterRecoveryConfiguration/{disasterRecoveryConfigurationName}/failover", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// FailoverSender sends the Failover request. The method will close the +// http.Response Body if it receives an error. +func (client DisasterRecoveryConfigurationsClient) FailoverSender(req *http.Request) (future DisasterRecoveryConfigurationsFailoverFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// FailoverResponder handles the response to the Failover request. The method always +// closes the http.Response Body. +func (client DisasterRecoveryConfigurationsClient) FailoverResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// FailoverAllowDataLoss fails over from the current primary server to this server. This operation might result in data +// loss. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serverName - the name of the server. +// disasterRecoveryConfigurationName - the name of the disaster recovery configuration to failover forcefully. +func (client DisasterRecoveryConfigurationsClient) FailoverAllowDataLoss(ctx context.Context, resourceGroupName string, serverName string, disasterRecoveryConfigurationName string) (result DisasterRecoveryConfigurationsFailoverAllowDataLossFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DisasterRecoveryConfigurationsClient.FailoverAllowDataLoss") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.FailoverAllowDataLossPreparer(ctx, resourceGroupName, serverName, disasterRecoveryConfigurationName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DisasterRecoveryConfigurationsClient", "FailoverAllowDataLoss", nil, "Failure preparing request") + return + } + + result, err = client.FailoverAllowDataLossSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DisasterRecoveryConfigurationsClient", "FailoverAllowDataLoss", result.Response(), "Failure sending request") + return + } + + return +} + +// FailoverAllowDataLossPreparer prepares the FailoverAllowDataLoss request. +func (client DisasterRecoveryConfigurationsClient) FailoverAllowDataLossPreparer(ctx context.Context, resourceGroupName string, serverName string, disasterRecoveryConfigurationName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "disasterRecoveryConfigurationName": autorest.Encode("path", disasterRecoveryConfigurationName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/disasterRecoveryConfiguration/{disasterRecoveryConfigurationName}/forceFailoverAllowDataLoss", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// FailoverAllowDataLossSender sends the FailoverAllowDataLoss request. The method will close the +// http.Response Body if it receives an error. +func (client DisasterRecoveryConfigurationsClient) FailoverAllowDataLossSender(req *http.Request) (future DisasterRecoveryConfigurationsFailoverAllowDataLossFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// FailoverAllowDataLossResponder handles the response to the FailoverAllowDataLoss request. The method always +// closes the http.Response Body. +func (client DisasterRecoveryConfigurationsClient) FailoverAllowDataLossResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets a disaster recovery configuration. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serverName - the name of the server. +// disasterRecoveryConfigurationName - the name of the disaster recovery configuration. +func (client DisasterRecoveryConfigurationsClient) Get(ctx context.Context, resourceGroupName string, serverName string, disasterRecoveryConfigurationName string) (result DisasterRecoveryConfiguration, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DisasterRecoveryConfigurationsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, serverName, disasterRecoveryConfigurationName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DisasterRecoveryConfigurationsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.DisasterRecoveryConfigurationsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DisasterRecoveryConfigurationsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client DisasterRecoveryConfigurationsClient) GetPreparer(ctx context.Context, resourceGroupName string, serverName string, disasterRecoveryConfigurationName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "disasterRecoveryConfigurationName": autorest.Encode("path", disasterRecoveryConfigurationName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/disasterRecoveryConfiguration/{disasterRecoveryConfigurationName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client DisasterRecoveryConfigurationsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client DisasterRecoveryConfigurationsClient) GetResponder(resp *http.Response) (result DisasterRecoveryConfiguration, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List lists a server's disaster recovery configuration. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serverName - the name of the server. +func (client DisasterRecoveryConfigurationsClient) List(ctx context.Context, resourceGroupName string, serverName string) (result DisasterRecoveryConfigurationListResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DisasterRecoveryConfigurationsClient.List") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListPreparer(ctx, resourceGroupName, serverName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DisasterRecoveryConfigurationsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.DisasterRecoveryConfigurationsClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DisasterRecoveryConfigurationsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client DisasterRecoveryConfigurationsClient) ListPreparer(ctx context.Context, resourceGroupName string, serverName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/disasterRecoveryConfiguration", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client DisasterRecoveryConfigurationsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client DisasterRecoveryConfigurationsClient) ListResponder(resp *http.Response) (result DisasterRecoveryConfigurationListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/sql/mgmt/2014-04-01/sql/elasticpools.go b/services/sql/mgmt/2014-04-01/sql/elasticpools.go index ed5ee5d537eb..8b2ff84aad84 100644 --- a/services/sql/mgmt/2014-04-01/sql/elasticpools.go +++ b/services/sql/mgmt/2014-04-01/sql/elasticpools.go @@ -363,6 +363,168 @@ func (client ElasticPoolsClient) ListByServerResponder(resp *http.Response) (res return } +// ListMetricDefinitions returns elastic pool metric definitions. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serverName - the name of the server. +// elasticPoolName - the name of the elastic pool. +func (client ElasticPoolsClient) ListMetricDefinitions(ctx context.Context, resourceGroupName string, serverName string, elasticPoolName string) (result MetricDefinitionListResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ElasticPoolsClient.ListMetricDefinitions") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListMetricDefinitionsPreparer(ctx, resourceGroupName, serverName, elasticPoolName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ElasticPoolsClient", "ListMetricDefinitions", nil, "Failure preparing request") + return + } + + resp, err := client.ListMetricDefinitionsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.ElasticPoolsClient", "ListMetricDefinitions", resp, "Failure sending request") + return + } + + result, err = client.ListMetricDefinitionsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ElasticPoolsClient", "ListMetricDefinitions", resp, "Failure responding to request") + } + + return +} + +// ListMetricDefinitionsPreparer prepares the ListMetricDefinitions request. +func (client ElasticPoolsClient) ListMetricDefinitionsPreparer(ctx context.Context, resourceGroupName string, serverName string, elasticPoolName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "elasticPoolName": autorest.Encode("path", elasticPoolName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}/metricDefinitions", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListMetricDefinitionsSender sends the ListMetricDefinitions request. The method will close the +// http.Response Body if it receives an error. +func (client ElasticPoolsClient) ListMetricDefinitionsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListMetricDefinitionsResponder handles the response to the ListMetricDefinitions request. The method always +// closes the http.Response Body. +func (client ElasticPoolsClient) ListMetricDefinitionsResponder(resp *http.Response) (result MetricDefinitionListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListMetrics returns elastic pool metrics. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serverName - the name of the server. +// elasticPoolName - the name of the elastic pool. +// filter - an OData filter expression that describes a subset of metrics to return. +func (client ElasticPoolsClient) ListMetrics(ctx context.Context, resourceGroupName string, serverName string, elasticPoolName string, filter string) (result MetricListResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ElasticPoolsClient.ListMetrics") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListMetricsPreparer(ctx, resourceGroupName, serverName, elasticPoolName, filter) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ElasticPoolsClient", "ListMetrics", nil, "Failure preparing request") + return + } + + resp, err := client.ListMetricsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.ElasticPoolsClient", "ListMetrics", resp, "Failure sending request") + return + } + + result, err = client.ListMetricsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ElasticPoolsClient", "ListMetrics", resp, "Failure responding to request") + } + + return +} + +// ListMetricsPreparer prepares the ListMetrics request. +func (client ElasticPoolsClient) ListMetricsPreparer(ctx context.Context, resourceGroupName string, serverName string, elasticPoolName string, filter string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "elasticPoolName": autorest.Encode("path", elasticPoolName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "$filter": autorest.Encode("query", filter), + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/elasticPools/{elasticPoolName}/metrics", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListMetricsSender sends the ListMetrics request. The method will close the +// http.Response Body if it receives an error. +func (client ElasticPoolsClient) ListMetricsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListMetricsResponder handles the response to the ListMetrics request. The method always +// closes the http.Response Body. +func (client ElasticPoolsClient) ListMetricsResponder(resp *http.Response) (result MetricListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + // Update updates an existing elastic pool. // Parameters: // resourceGroupName - the name of the resource group that contains the resource. You can obtain this value diff --git a/services/sql/mgmt/2014-04-01/sql/extensions.go b/services/sql/mgmt/2014-04-01/sql/extensions.go new file mode 100644 index 000000000000..e240a3ccadf4 --- /dev/null +++ b/services/sql/mgmt/2014-04-01/sql/extensions.go @@ -0,0 +1,203 @@ +package sql + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// ExtensionsClient is the the Azure SQL Database management API provides a RESTful set of web services that interact +// with Azure SQL Database services to manage your databases. The API enables you to create, retrieve, update, and +// delete databases. +type ExtensionsClient struct { + BaseClient +} + +// NewExtensionsClient creates an instance of the ExtensionsClient client. +func NewExtensionsClient(subscriptionID string) ExtensionsClient { + return NewExtensionsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewExtensionsClientWithBaseURI creates an instance of the ExtensionsClient client. +func NewExtensionsClientWithBaseURI(baseURI string, subscriptionID string) ExtensionsClient { + return ExtensionsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// Get gets a database extension. This API is deprecated and should not be used. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serverName - the name of the server. +// databaseName - the name of the database to import into +func (client ExtensionsClient) Get(ctx context.Context, resourceGroupName string, serverName string, databaseName string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExtensionsClient.Get") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, serverName, databaseName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ExtensionsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "sql.ExtensionsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ExtensionsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client ExtensionsClient) GetPreparer(ctx context.Context, resourceGroupName string, serverName string, databaseName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "databaseName": autorest.Encode("path", databaseName), + "extensionName": autorest.Encode("path", "import"), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/extensions/{extensionName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client ExtensionsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client ExtensionsClient) GetResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByClosing()) + result.Response = resp + return +} + +// ListByDatabase gets database extensions. This API is deprecated and should not be used. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serverName - the name of the server. +// databaseName - the name of the database to import into +func (client ExtensionsClient) ListByDatabase(ctx context.Context, resourceGroupName string, serverName string, databaseName string) (result ExtensionListResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ExtensionsClient.ListByDatabase") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListByDatabasePreparer(ctx, resourceGroupName, serverName, databaseName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ExtensionsClient", "ListByDatabase", nil, "Failure preparing request") + return + } + + resp, err := client.ListByDatabaseSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.ExtensionsClient", "ListByDatabase", resp, "Failure sending request") + return + } + + result, err = client.ListByDatabaseResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ExtensionsClient", "ListByDatabase", resp, "Failure responding to request") + } + + return +} + +// ListByDatabasePreparer prepares the ListByDatabase request. +func (client ExtensionsClient) ListByDatabasePreparer(ctx context.Context, resourceGroupName string, serverName string, databaseName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "databaseName": autorest.Encode("path", databaseName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/extensions", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByDatabaseSender sends the ListByDatabase request. The method will close the +// http.Response Body if it receives an error. +func (client ExtensionsClient) ListByDatabaseSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByDatabaseResponder handles the response to the ListByDatabase request. The method always +// closes the http.Response Body. +func (client ExtensionsClient) ListByDatabaseResponder(resp *http.Response) (result ExtensionListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/sql/mgmt/2014-04-01/sql/geobackuppolicies.go b/services/sql/mgmt/2014-04-01/sql/geobackuppolicies.go new file mode 100644 index 000000000000..28e35d715a1b --- /dev/null +++ b/services/sql/mgmt/2014-04-01/sql/geobackuppolicies.go @@ -0,0 +1,297 @@ +package sql + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// GeoBackupPoliciesClient is the the Azure SQL Database management API provides a RESTful set of web services that +// interact with Azure SQL Database services to manage your databases. The API enables you to create, retrieve, update, +// and delete databases. +type GeoBackupPoliciesClient struct { + BaseClient +} + +// NewGeoBackupPoliciesClient creates an instance of the GeoBackupPoliciesClient client. +func NewGeoBackupPoliciesClient(subscriptionID string) GeoBackupPoliciesClient { + return NewGeoBackupPoliciesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewGeoBackupPoliciesClientWithBaseURI creates an instance of the GeoBackupPoliciesClient client. +func NewGeoBackupPoliciesClientWithBaseURI(baseURI string, subscriptionID string) GeoBackupPoliciesClient { + return GeoBackupPoliciesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate updates a database geo backup policy. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serverName - the name of the server. +// databaseName - the name of the database. +// parameters - the required parameters for creating or updating the geo backup policy. +func (client GeoBackupPoliciesClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, serverName string, databaseName string, parameters GeoBackupPolicy) (result GeoBackupPolicy, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/GeoBackupPoliciesClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.GeoBackupPolicyProperties", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + return result, validation.NewError("sql.GeoBackupPoliciesClient", "CreateOrUpdate", err.Error()) + } + + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, serverName, databaseName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.GeoBackupPoliciesClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.GeoBackupPoliciesClient", "CreateOrUpdate", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.GeoBackupPoliciesClient", "CreateOrUpdate", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client GeoBackupPoliciesClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, serverName string, databaseName string, parameters GeoBackupPolicy) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "databaseName": autorest.Encode("path", databaseName), + "geoBackupPolicyName": autorest.Encode("path", "Default"), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + parameters.Kind = nil + parameters.Location = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/geoBackupPolicies/{geoBackupPolicyName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client GeoBackupPoliciesClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client GeoBackupPoliciesClient) CreateOrUpdateResponder(resp *http.Response) (result GeoBackupPolicy, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Get gets a geo backup policy. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serverName - the name of the server. +// databaseName - the name of the database. +func (client GeoBackupPoliciesClient) Get(ctx context.Context, resourceGroupName string, serverName string, databaseName string) (result GeoBackupPolicy, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/GeoBackupPoliciesClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, serverName, databaseName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.GeoBackupPoliciesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.GeoBackupPoliciesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.GeoBackupPoliciesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client GeoBackupPoliciesClient) GetPreparer(ctx context.Context, resourceGroupName string, serverName string, databaseName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "databaseName": autorest.Encode("path", databaseName), + "geoBackupPolicyName": autorest.Encode("path", "Default"), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/geoBackupPolicies/{geoBackupPolicyName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client GeoBackupPoliciesClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client GeoBackupPoliciesClient) GetResponder(resp *http.Response) (result GeoBackupPolicy, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByDatabase returns a list of geo backup policies. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serverName - the name of the server. +// databaseName - the name of the database. +func (client GeoBackupPoliciesClient) ListByDatabase(ctx context.Context, resourceGroupName string, serverName string, databaseName string) (result GeoBackupPolicyListResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/GeoBackupPoliciesClient.ListByDatabase") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListByDatabasePreparer(ctx, resourceGroupName, serverName, databaseName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.GeoBackupPoliciesClient", "ListByDatabase", nil, "Failure preparing request") + return + } + + resp, err := client.ListByDatabaseSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.GeoBackupPoliciesClient", "ListByDatabase", resp, "Failure sending request") + return + } + + result, err = client.ListByDatabaseResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.GeoBackupPoliciesClient", "ListByDatabase", resp, "Failure responding to request") + } + + return +} + +// ListByDatabasePreparer prepares the ListByDatabase request. +func (client GeoBackupPoliciesClient) ListByDatabasePreparer(ctx context.Context, resourceGroupName string, serverName string, databaseName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "databaseName": autorest.Encode("path", databaseName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/geoBackupPolicies", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByDatabaseSender sends the ListByDatabase request. The method will close the +// http.Response Body if it receives an error. +func (client GeoBackupPoliciesClient) ListByDatabaseSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByDatabaseResponder handles the response to the ListByDatabase request. The method always +// closes the http.Response Body. +func (client GeoBackupPoliciesClient) ListByDatabaseResponder(resp *http.Response) (result GeoBackupPolicyListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/sql/mgmt/2014-04-01/sql/models.go b/services/sql/mgmt/2014-04-01/sql/models.go index 7a19e59246e4..c98749074733 100644 --- a/services/sql/mgmt/2014-04-01/sql/models.go +++ b/services/sql/mgmt/2014-04-01/sql/models.go @@ -30,6 +30,25 @@ import ( // The package's fully qualified name. const fqdn = "github.com/Azure/azure-sdk-for-go/services/sql/mgmt/2014-04-01/sql" +// AdvisorStatus enumerates the values for advisor status. +type AdvisorStatus string + +const ( + // GA ... + GA AdvisorStatus = "GA" + // LimitedPublicPreview ... + LimitedPublicPreview AdvisorStatus = "LimitedPublicPreview" + // PrivatePreview ... + PrivatePreview AdvisorStatus = "PrivatePreview" + // PublicPreview ... + PublicPreview AdvisorStatus = "PublicPreview" +) + +// PossibleAdvisorStatusValues returns an array of possible values for the AdvisorStatus const type. +func PossibleAdvisorStatusValues() []AdvisorStatus { + return []AdvisorStatus{GA, LimitedPublicPreview, PrivatePreview, PublicPreview} +} + // AuthenticationType enumerates the values for authentication type. type AuthenticationType string @@ -45,6 +64,57 @@ func PossibleAuthenticationTypeValues() []AuthenticationType { return []AuthenticationType{ADPassword, SQL} } +// AutoExecuteStatus enumerates the values for auto execute status. +type AutoExecuteStatus string + +const ( + // Default ... + Default AutoExecuteStatus = "Default" + // Disabled ... + Disabled AutoExecuteStatus = "Disabled" + // Enabled ... + Enabled AutoExecuteStatus = "Enabled" +) + +// PossibleAutoExecuteStatusValues returns an array of possible values for the AutoExecuteStatus const type. +func PossibleAutoExecuteStatusValues() []AutoExecuteStatus { + return []AutoExecuteStatus{Default, Disabled, Enabled} +} + +// BackupLongTermRetentionPolicyState enumerates the values for backup long term retention policy state. +type BackupLongTermRetentionPolicyState string + +const ( + // BackupLongTermRetentionPolicyStateDisabled ... + BackupLongTermRetentionPolicyStateDisabled BackupLongTermRetentionPolicyState = "Disabled" + // BackupLongTermRetentionPolicyStateEnabled ... + BackupLongTermRetentionPolicyStateEnabled BackupLongTermRetentionPolicyState = "Enabled" +) + +// PossibleBackupLongTermRetentionPolicyStateValues returns an array of possible values for the BackupLongTermRetentionPolicyState const type. +func PossibleBackupLongTermRetentionPolicyStateValues() []BackupLongTermRetentionPolicyState { + return []BackupLongTermRetentionPolicyState{BackupLongTermRetentionPolicyStateDisabled, BackupLongTermRetentionPolicyStateEnabled} +} + +// CapabilityStatus enumerates the values for capability status. +type CapabilityStatus string + +const ( + // CapabilityStatusAvailable ... + CapabilityStatusAvailable CapabilityStatus = "Available" + // CapabilityStatusDefault ... + CapabilityStatusDefault CapabilityStatus = "Default" + // CapabilityStatusDisabled ... + CapabilityStatusDisabled CapabilityStatus = "Disabled" + // CapabilityStatusVisible ... + CapabilityStatusVisible CapabilityStatus = "Visible" +) + +// PossibleCapabilityStatusValues returns an array of possible values for the CapabilityStatus const type. +func PossibleCapabilityStatusValues() []CapabilityStatus { + return []CapabilityStatus{CapabilityStatusAvailable, CapabilityStatusDefault, CapabilityStatusDisabled, CapabilityStatusVisible} +} + // CheckNameAvailabilityReason enumerates the values for check name availability reason. type CheckNameAvailabilityReason string @@ -64,27 +134,27 @@ func PossibleCheckNameAvailabilityReasonValues() []CheckNameAvailabilityReason { type CreateMode string const ( - // Copy ... - Copy CreateMode = "Copy" - // Default ... - Default CreateMode = "Default" - // NonReadableSecondary ... - NonReadableSecondary CreateMode = "NonReadableSecondary" - // OnlineSecondary ... - OnlineSecondary CreateMode = "OnlineSecondary" - // PointInTimeRestore ... - PointInTimeRestore CreateMode = "PointInTimeRestore" - // Recovery ... - Recovery CreateMode = "Recovery" - // Restore ... - Restore CreateMode = "Restore" - // RestoreLongTermRetentionBackup ... - RestoreLongTermRetentionBackup CreateMode = "RestoreLongTermRetentionBackup" + // CreateModeCopy ... + CreateModeCopy CreateMode = "Copy" + // CreateModeDefault ... + CreateModeDefault CreateMode = "Default" + // CreateModeNonReadableSecondary ... + CreateModeNonReadableSecondary CreateMode = "NonReadableSecondary" + // CreateModeOnlineSecondary ... + CreateModeOnlineSecondary CreateMode = "OnlineSecondary" + // CreateModePointInTimeRestore ... + CreateModePointInTimeRestore CreateMode = "PointInTimeRestore" + // CreateModeRecovery ... + CreateModeRecovery CreateMode = "Recovery" + // CreateModeRestore ... + CreateModeRestore CreateMode = "Restore" + // CreateModeRestoreLongTermRetentionBackup ... + CreateModeRestoreLongTermRetentionBackup CreateMode = "RestoreLongTermRetentionBackup" ) // PossibleCreateModeValues returns an array of possible values for the CreateMode const type. func PossibleCreateModeValues() []CreateMode { - return []CreateMode{Copy, Default, NonReadableSecondary, OnlineSecondary, PointInTimeRestore, Recovery, Restore, RestoreLongTermRetentionBackup} + return []CreateMode{CreateModeCopy, CreateModeDefault, CreateModeNonReadableSecondary, CreateModeOnlineSecondary, CreateModePointInTimeRestore, CreateModeRecovery, CreateModeRestore, CreateModeRestoreLongTermRetentionBackup} } // DatabaseEdition enumerates the values for database edition. @@ -126,6 +196,127 @@ func PossibleDatabaseEditionValues() []DatabaseEdition { return []DatabaseEdition{Basic, Business, BusinessCritical, DataWarehouse, Free, GeneralPurpose, Hyperscale, Premium, PremiumRS, Standard, Stretch, System, System2, Web} } +// DataMaskingFunction enumerates the values for data masking function. +type DataMaskingFunction string + +const ( + // DataMaskingFunctionCCN ... + DataMaskingFunctionCCN DataMaskingFunction = "CCN" + // DataMaskingFunctionDefault ... + DataMaskingFunctionDefault DataMaskingFunction = "Default" + // DataMaskingFunctionEmail ... + DataMaskingFunctionEmail DataMaskingFunction = "Email" + // DataMaskingFunctionNumber ... + DataMaskingFunctionNumber DataMaskingFunction = "Number" + // DataMaskingFunctionSSN ... + DataMaskingFunctionSSN DataMaskingFunction = "SSN" + // DataMaskingFunctionText ... + DataMaskingFunctionText DataMaskingFunction = "Text" +) + +// PossibleDataMaskingFunctionValues returns an array of possible values for the DataMaskingFunction const type. +func PossibleDataMaskingFunctionValues() []DataMaskingFunction { + return []DataMaskingFunction{DataMaskingFunctionCCN, DataMaskingFunctionDefault, DataMaskingFunctionEmail, DataMaskingFunctionNumber, DataMaskingFunctionSSN, DataMaskingFunctionText} +} + +// DataMaskingRuleState enumerates the values for data masking rule state. +type DataMaskingRuleState string + +const ( + // DataMaskingRuleStateDisabled ... + DataMaskingRuleStateDisabled DataMaskingRuleState = "Disabled" + // DataMaskingRuleStateEnabled ... + DataMaskingRuleStateEnabled DataMaskingRuleState = "Enabled" +) + +// PossibleDataMaskingRuleStateValues returns an array of possible values for the DataMaskingRuleState const type. +func PossibleDataMaskingRuleStateValues() []DataMaskingRuleState { + return []DataMaskingRuleState{DataMaskingRuleStateDisabled, DataMaskingRuleStateEnabled} +} + +// DataMaskingState enumerates the values for data masking state. +type DataMaskingState string + +const ( + // DataMaskingStateDisabled ... + DataMaskingStateDisabled DataMaskingState = "Disabled" + // DataMaskingStateEnabled ... + DataMaskingStateEnabled DataMaskingState = "Enabled" +) + +// PossibleDataMaskingStateValues returns an array of possible values for the DataMaskingState const type. +func PossibleDataMaskingStateValues() []DataMaskingState { + return []DataMaskingState{DataMaskingStateDisabled, DataMaskingStateEnabled} +} + +// DisasterRecoveryConfigurationAutoFailover enumerates the values for disaster recovery configuration auto +// failover. +type DisasterRecoveryConfigurationAutoFailover string + +const ( + // Off ... + Off DisasterRecoveryConfigurationAutoFailover = "Off" + // On ... + On DisasterRecoveryConfigurationAutoFailover = "On" +) + +// PossibleDisasterRecoveryConfigurationAutoFailoverValues returns an array of possible values for the DisasterRecoveryConfigurationAutoFailover const type. +func PossibleDisasterRecoveryConfigurationAutoFailoverValues() []DisasterRecoveryConfigurationAutoFailover { + return []DisasterRecoveryConfigurationAutoFailover{Off, On} +} + +// DisasterRecoveryConfigurationFailoverPolicy enumerates the values for disaster recovery configuration +// failover policy. +type DisasterRecoveryConfigurationFailoverPolicy string + +const ( + // Automatic ... + Automatic DisasterRecoveryConfigurationFailoverPolicy = "Automatic" + // Manual ... + Manual DisasterRecoveryConfigurationFailoverPolicy = "Manual" +) + +// PossibleDisasterRecoveryConfigurationFailoverPolicyValues returns an array of possible values for the DisasterRecoveryConfigurationFailoverPolicy const type. +func PossibleDisasterRecoveryConfigurationFailoverPolicyValues() []DisasterRecoveryConfigurationFailoverPolicy { + return []DisasterRecoveryConfigurationFailoverPolicy{Automatic, Manual} +} + +// DisasterRecoveryConfigurationRole enumerates the values for disaster recovery configuration role. +type DisasterRecoveryConfigurationRole string + +const ( + // None ... + None DisasterRecoveryConfigurationRole = "None" + // Primary ... + Primary DisasterRecoveryConfigurationRole = "Primary" + // Secondary ... + Secondary DisasterRecoveryConfigurationRole = "Secondary" +) + +// PossibleDisasterRecoveryConfigurationRoleValues returns an array of possible values for the DisasterRecoveryConfigurationRole const type. +func PossibleDisasterRecoveryConfigurationRoleValues() []DisasterRecoveryConfigurationRole { + return []DisasterRecoveryConfigurationRole{None, Primary, Secondary} +} + +// DisasterRecoveryConfigurationStatus enumerates the values for disaster recovery configuration status. +type DisasterRecoveryConfigurationStatus string + +const ( + // Creating ... + Creating DisasterRecoveryConfigurationStatus = "Creating" + // Dropping ... + Dropping DisasterRecoveryConfigurationStatus = "Dropping" + // FailingOver ... + FailingOver DisasterRecoveryConfigurationStatus = "FailingOver" + // Ready ... + Ready DisasterRecoveryConfigurationStatus = "Ready" +) + +// PossibleDisasterRecoveryConfigurationStatusValues returns an array of possible values for the DisasterRecoveryConfigurationStatus const type. +func PossibleDisasterRecoveryConfigurationStatusValues() []DisasterRecoveryConfigurationStatus { + return []DisasterRecoveryConfigurationStatus{Creating, Dropping, FailingOver, Ready} +} + // ElasticPoolEdition enumerates the values for elastic pool edition. type ElasticPoolEdition string @@ -151,17 +342,165 @@ func PossibleElasticPoolEditionValues() []ElasticPoolEdition { type ElasticPoolState string const ( - // Creating ... - Creating ElasticPoolState = "Creating" - // Disabled ... - Disabled ElasticPoolState = "Disabled" - // Ready ... - Ready ElasticPoolState = "Ready" + // ElasticPoolStateCreating ... + ElasticPoolStateCreating ElasticPoolState = "Creating" + // ElasticPoolStateDisabled ... + ElasticPoolStateDisabled ElasticPoolState = "Disabled" + // ElasticPoolStateReady ... + ElasticPoolStateReady ElasticPoolState = "Ready" ) // PossibleElasticPoolStateValues returns an array of possible values for the ElasticPoolState const type. func PossibleElasticPoolStateValues() []ElasticPoolState { - return []ElasticPoolState{Creating, Disabled, Ready} + return []ElasticPoolState{ElasticPoolStateCreating, ElasticPoolStateDisabled, ElasticPoolStateReady} +} + +// GeoBackupPolicyState enumerates the values for geo backup policy state. +type GeoBackupPolicyState string + +const ( + // GeoBackupPolicyStateDisabled ... + GeoBackupPolicyStateDisabled GeoBackupPolicyState = "Disabled" + // GeoBackupPolicyStateEnabled ... + GeoBackupPolicyStateEnabled GeoBackupPolicyState = "Enabled" +) + +// PossibleGeoBackupPolicyStateValues returns an array of possible values for the GeoBackupPolicyState const type. +func PossibleGeoBackupPolicyStateValues() []GeoBackupPolicyState { + return []GeoBackupPolicyState{GeoBackupPolicyStateDisabled, GeoBackupPolicyStateEnabled} +} + +// MaxSizeUnits enumerates the values for max size units. +type MaxSizeUnits string + +const ( + // Gigabytes ... + Gigabytes MaxSizeUnits = "Gigabytes" + // Megabytes ... + Megabytes MaxSizeUnits = "Megabytes" + // Petabytes ... + Petabytes MaxSizeUnits = "Petabytes" + // Terabytes ... + Terabytes MaxSizeUnits = "Terabytes" +) + +// PossibleMaxSizeUnitsValues returns an array of possible values for the MaxSizeUnits const type. +func PossibleMaxSizeUnitsValues() []MaxSizeUnits { + return []MaxSizeUnits{Gigabytes, Megabytes, Petabytes, Terabytes} +} + +// PerformanceLevelUnit enumerates the values for performance level unit. +type PerformanceLevelUnit string + +const ( + // DTU ... + DTU PerformanceLevelUnit = "DTU" +) + +// PossiblePerformanceLevelUnitValues returns an array of possible values for the PerformanceLevelUnit const type. +func PossiblePerformanceLevelUnitValues() []PerformanceLevelUnit { + return []PerformanceLevelUnit{DTU} +} + +// PrimaryAggregationType enumerates the values for primary aggregation type. +type PrimaryAggregationType string + +const ( + // PrimaryAggregationTypeAverage ... + PrimaryAggregationTypeAverage PrimaryAggregationType = "Average" + // PrimaryAggregationTypeCount ... + PrimaryAggregationTypeCount PrimaryAggregationType = "Count" + // PrimaryAggregationTypeMaximum ... + PrimaryAggregationTypeMaximum PrimaryAggregationType = "Maximum" + // PrimaryAggregationTypeMinimum ... + PrimaryAggregationTypeMinimum PrimaryAggregationType = "Minimum" + // PrimaryAggregationTypeNone ... + PrimaryAggregationTypeNone PrimaryAggregationType = "None" + // PrimaryAggregationTypeTotal ... + PrimaryAggregationTypeTotal PrimaryAggregationType = "Total" +) + +// PossiblePrimaryAggregationTypeValues returns an array of possible values for the PrimaryAggregationType const type. +func PossiblePrimaryAggregationTypeValues() []PrimaryAggregationType { + return []PrimaryAggregationType{PrimaryAggregationTypeAverage, PrimaryAggregationTypeCount, PrimaryAggregationTypeMaximum, PrimaryAggregationTypeMinimum, PrimaryAggregationTypeNone, PrimaryAggregationTypeTotal} +} + +// QueryAggregationFunction enumerates the values for query aggregation function. +type QueryAggregationFunction string + +const ( + // Avg ... + Avg QueryAggregationFunction = "avg" + // Max ... + Max QueryAggregationFunction = "max" + // Min ... + Min QueryAggregationFunction = "min" + // Sum ... + Sum QueryAggregationFunction = "sum" +) + +// PossibleQueryAggregationFunctionValues returns an array of possible values for the QueryAggregationFunction const type. +func PossibleQueryAggregationFunctionValues() []QueryAggregationFunction { + return []QueryAggregationFunction{Avg, Max, Min, Sum} +} + +// QueryExecutionType enumerates the values for query execution type. +type QueryExecutionType string + +const ( + // Aborted ... + Aborted QueryExecutionType = "aborted" + // Any ... + Any QueryExecutionType = "any" + // Exception ... + Exception QueryExecutionType = "exception" + // Irregular ... + Irregular QueryExecutionType = "irregular" + // Regular ... + Regular QueryExecutionType = "regular" +) + +// PossibleQueryExecutionTypeValues returns an array of possible values for the QueryExecutionType const type. +func PossibleQueryExecutionTypeValues() []QueryExecutionType { + return []QueryExecutionType{Aborted, Any, Exception, Irregular, Regular} +} + +// QueryMetricUnit enumerates the values for query metric unit. +type QueryMetricUnit string + +const ( + // KB ... + KB QueryMetricUnit = "KB" + // Microseconds ... + Microseconds QueryMetricUnit = "microseconds" + // Percentage ... + Percentage QueryMetricUnit = "percentage" +) + +// PossibleQueryMetricUnitValues returns an array of possible values for the QueryMetricUnit const type. +func PossibleQueryMetricUnitValues() []QueryMetricUnit { + return []QueryMetricUnit{KB, Microseconds, Percentage} +} + +// QueryObservedMetricType enumerates the values for query observed metric type. +type QueryObservedMetricType string + +const ( + // CPU ... + CPU QueryObservedMetricType = "cpu" + // Duration ... + Duration QueryObservedMetricType = "duration" + // ExecutionCount ... + ExecutionCount QueryObservedMetricType = "executionCount" + // Io ... + Io QueryObservedMetricType = "io" + // Logio ... + Logio QueryObservedMetricType = "logio" +) + +// PossibleQueryObservedMetricTypeValues returns an array of possible values for the QueryObservedMetricType const type. +func PossibleQueryObservedMetricTypeValues() []QueryObservedMetricType { + return []QueryObservedMetricType{CPU, Duration, ExecutionCount, Io, Logio} } // ReadScale enumerates the values for read scale. @@ -288,6 +627,21 @@ func PossibleReplicationStateValues() []ReplicationState { return []ReplicationState{CATCHUP, PENDING, SEEDING, SUSPENDED} } +// RestorePointType enumerates the values for restore point type. +type RestorePointType string + +const ( + // CONTINUOUS ... + CONTINUOUS RestorePointType = "CONTINUOUS" + // DISCRETE ... + DISCRETE RestorePointType = "DISCRETE" +) + +// PossibleRestorePointTypeValues returns an array of possible values for the RestorePointType const type. +func PossibleRestorePointTypeValues() []RestorePointType { + return []RestorePointType{CONTINUOUS, DISCRETE} +} + // SampleName enumerates the values for sample name. type SampleName string @@ -348,6 +702,53 @@ func PossibleSecurityAlertPolicyUseServerDefaultValues() []SecurityAlertPolicyUs return []SecurityAlertPolicyUseServerDefault{SecurityAlertPolicyUseServerDefaultDisabled, SecurityAlertPolicyUseServerDefaultEnabled} } +// ServerConnectionType enumerates the values for server connection type. +type ServerConnectionType string + +const ( + // ServerConnectionTypeDefault ... + ServerConnectionTypeDefault ServerConnectionType = "Default" + // ServerConnectionTypeProxy ... + ServerConnectionTypeProxy ServerConnectionType = "Proxy" + // ServerConnectionTypeRedirect ... + ServerConnectionTypeRedirect ServerConnectionType = "Redirect" +) + +// PossibleServerConnectionTypeValues returns an array of possible values for the ServerConnectionType const type. +func PossibleServerConnectionTypeValues() []ServerConnectionType { + return []ServerConnectionType{ServerConnectionTypeDefault, ServerConnectionTypeProxy, ServerConnectionTypeRedirect} +} + +// ServerState enumerates the values for server state. +type ServerState string + +const ( + // ServerStateDisabled ... + ServerStateDisabled ServerState = "Disabled" + // ServerStateReady ... + ServerStateReady ServerState = "Ready" +) + +// PossibleServerStateValues returns an array of possible values for the ServerState const type. +func PossibleServerStateValues() []ServerState { + return []ServerState{ServerStateDisabled, ServerStateReady} +} + +// ServerVersion enumerates the values for server version. +type ServerVersion string + +const ( + // OneTwoFullStopZero ... + OneTwoFullStopZero ServerVersion = "12.0" + // TwoFullStopZero ... + TwoFullStopZero ServerVersion = "2.0" +) + +// PossibleServerVersionValues returns an array of possible values for the ServerVersion const type. +func PossibleServerVersionValues() []ServerVersion { + return []ServerVersion{OneTwoFullStopZero, TwoFullStopZero} +} + // ServiceObjectiveName enumerates the values for service objective name. type ServiceObjectiveName string @@ -535,39 +936,61 @@ func PossibleTransparentDataEncryptionStatusValues() []TransparentDataEncryption return []TransparentDataEncryptionStatus{TransparentDataEncryptionStatusDisabled, TransparentDataEncryptionStatusEnabled} } -// CheckNameAvailabilityRequest a request to check whether the specified name for a resource is available. -type CheckNameAvailabilityRequest struct { - // Name - The name whose availability is to be checked. - Name *string `json:"name,omitempty"` - // Type - The type of resource that is used as the scope of the availability check. - Type *string `json:"type,omitempty"` +// UnitDefinitionType enumerates the values for unit definition type. +type UnitDefinitionType string + +const ( + // Bytes ... + Bytes UnitDefinitionType = "Bytes" + // BytesPerSecond ... + BytesPerSecond UnitDefinitionType = "BytesPerSecond" + // Count ... + Count UnitDefinitionType = "Count" + // CountPerSecond ... + CountPerSecond UnitDefinitionType = "CountPerSecond" + // Percent ... + Percent UnitDefinitionType = "Percent" + // Seconds ... + Seconds UnitDefinitionType = "Seconds" +) + +// PossibleUnitDefinitionTypeValues returns an array of possible values for the UnitDefinitionType const type. +func PossibleUnitDefinitionTypeValues() []UnitDefinitionType { + return []UnitDefinitionType{Bytes, BytesPerSecond, Count, CountPerSecond, Percent, Seconds} } -// CheckNameAvailabilityResponse a response indicating whether the specified name for a resource is -// available. -type CheckNameAvailabilityResponse struct { - autorest.Response `json:"-"` - // Available - READ-ONLY; True if the name is available, otherwise false. - Available *bool `json:"available,omitempty"` - // Message - READ-ONLY; A message explaining why the name is unavailable. Will be null if the name is available. - Message *string `json:"message,omitempty"` - // Name - READ-ONLY; The name whose availability was checked. - Name *string `json:"name,omitempty"` - // Reason - READ-ONLY; The reason code explaining why the name is unavailable. Will be null if the name is available. Possible values include: 'Invalid', 'AlreadyExists' - Reason CheckNameAvailabilityReason `json:"reason,omitempty"` +// UnitType enumerates the values for unit type. +type UnitType string + +const ( + // UnitTypeBytes ... + UnitTypeBytes UnitType = "bytes" + // UnitTypeBytesPerSecond ... + UnitTypeBytesPerSecond UnitType = "bytesPerSecond" + // UnitTypeCount ... + UnitTypeCount UnitType = "count" + // UnitTypeCountPerSecond ... + UnitTypeCountPerSecond UnitType = "countPerSecond" + // UnitTypePercent ... + UnitTypePercent UnitType = "percent" + // UnitTypeSeconds ... + UnitTypeSeconds UnitType = "seconds" +) + +// PossibleUnitTypeValues returns an array of possible values for the UnitType const type. +func PossibleUnitTypeValues() []UnitType { + return []UnitType{UnitTypeBytes, UnitTypeBytesPerSecond, UnitTypeCount, UnitTypeCountPerSecond, UnitTypePercent, UnitTypeSeconds} } -// Database represents a database. -type Database struct { +// Advisor database Advisor. +type Advisor struct { autorest.Response `json:"-"` - // Kind - READ-ONLY; Kind of database. This is metadata used for the Azure portal experience. + // Kind - READ-ONLY; Resource kind. Kind *string `json:"kind,omitempty"` - // DatabaseProperties - The properties representing the resource. - *DatabaseProperties `json:"properties,omitempty"` - // Location - Resource location. + // Location - READ-ONLY; Resource location. Location *string `json:"location,omitempty"` - // Tags - Resource tags. - Tags map[string]*string `json:"tags"` + // AdvisorProperties - Resource properties. + *AdvisorProperties `json:"properties,omitempty"` // ID - READ-ONLY; Resource ID. ID *string `json:"id,omitempty"` // Name - READ-ONLY; Resource name. @@ -576,23 +999,17 @@ type Database struct { Type *string `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for Database. -func (d Database) MarshalJSON() ([]byte, error) { +// MarshalJSON is the custom marshaler for Advisor. +func (a Advisor) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) - if d.DatabaseProperties != nil { - objectMap["properties"] = d.DatabaseProperties - } - if d.Location != nil { - objectMap["location"] = d.Location - } - if d.Tags != nil { - objectMap["tags"] = d.Tags + if a.AdvisorProperties != nil { + objectMap["properties"] = a.AdvisorProperties } return json.Marshal(objectMap) } -// UnmarshalJSON is the custom unmarshaler for Database struct. -func (d *Database) UnmarshalJSON(body []byte) error { +// UnmarshalJSON is the custom unmarshaler for Advisor struct. +func (a *Advisor) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -607,16 +1024,7 @@ func (d *Database) UnmarshalJSON(body []byte) error { if err != nil { return err } - d.Kind = &kind - } - case "properties": - if v != nil { - var databaseProperties DatabaseProperties - err = json.Unmarshal(*v, &databaseProperties) - if err != nil { - return err - } - d.DatabaseProperties = &databaseProperties + a.Kind = &kind } case "location": if v != nil { @@ -625,16 +1033,16 @@ func (d *Database) UnmarshalJSON(body []byte) error { if err != nil { return err } - d.Location = &location + a.Location = &location } - case "tags": + case "properties": if v != nil { - var tags map[string]*string - err = json.Unmarshal(*v, &tags) + var advisorProperties AdvisorProperties + err = json.Unmarshal(*v, &advisorProperties) if err != nil { return err } - d.Tags = tags + a.AdvisorProperties = &advisorProperties } case "id": if v != nil { @@ -643,7 +1051,7 @@ func (d *Database) UnmarshalJSON(body []byte) error { if err != nil { return err } - d.ID = &ID + a.ID = &ID } case "name": if v != nil { @@ -652,7 +1060,7 @@ func (d *Database) UnmarshalJSON(body []byte) error { if err != nil { return err } - d.Name = &name + a.Name = &name } case "type": if v != nil { @@ -661,7 +1069,7 @@ func (d *Database) UnmarshalJSON(body []byte) error { if err != nil { return err } - d.Type = &typeVar + a.Type = &typeVar } } } @@ -669,168 +1077,161 @@ func (d *Database) UnmarshalJSON(body []byte) error { return nil } -// DatabaseListResult represents the response to a list database request. -type DatabaseListResult struct { +// AdvisorListResult represents the response to a list advisors request. +type AdvisorListResult struct { autorest.Response `json:"-"` - // Value - The list of databases housed in the server. - Value *[]Database `json:"value,omitempty"` + // Value - The list of advisors. + Value *[]Advisor `json:"value,omitempty"` } -// DatabaseProperties represents the properties of a database. -type DatabaseProperties struct { - // Collation - The collation of the database. If createMode is not Default, this value is ignored. - Collation *string `json:"collation,omitempty"` - // CreationDate - READ-ONLY; The creation date of the database (ISO8601 format). - CreationDate *date.Time `json:"creationDate,omitempty"` - // ContainmentState - READ-ONLY; The containment state of the database. - ContainmentState *int64 `json:"containmentState,omitempty"` - // CurrentServiceObjectiveID - READ-ONLY; The current service level objective ID of the database. This is the ID of the service level objective that is currently active. - CurrentServiceObjectiveID *uuid.UUID `json:"currentServiceObjectiveId,omitempty"` - // DatabaseID - READ-ONLY; The ID of the database. - DatabaseID *uuid.UUID `json:"databaseId,omitempty"` - // EarliestRestoreDate - READ-ONLY; This records the earliest start date and time that restore is available for this database (ISO8601 format). - EarliestRestoreDate *date.Time `json:"earliestRestoreDate,omitempty"` - // CreateMode - Specifies the mode of database creation. - // Default: regular database creation. - // Copy: creates a database as a copy of an existing database. sourceDatabaseId must be specified as the resource ID of the source database. - // OnlineSecondary/NonReadableSecondary: creates a database as a (readable or nonreadable) secondary replica of an existing database. sourceDatabaseId must be specified as the resource ID of the existing primary database. - // PointInTimeRestore: Creates a database by restoring a point in time backup of an existing database. sourceDatabaseId must be specified as the resource ID of the existing database, and restorePointInTime must be specified. - // Recovery: Creates a database by restoring a geo-replicated backup. sourceDatabaseId must be specified as the recoverable database resource ID to restore. - // Restore: Creates a database by restoring a backup of a deleted database. sourceDatabaseId must be specified. If sourceDatabaseId is the database's original resource ID, then sourceDatabaseDeletionDate must be specified. Otherwise sourceDatabaseId must be the restorable dropped database resource ID and sourceDatabaseDeletionDate is ignored. restorePointInTime may also be specified to restore from an earlier point in time. - // RestoreLongTermRetentionBackup: Creates a database by restoring from a long term retention vault. recoveryServicesRecoveryPointResourceId must be specified as the recovery point resource ID. - // Copy, NonReadableSecondary, OnlineSecondary and RestoreLongTermRetentionBackup are not supported for DataWarehouse edition. Possible values include: 'Copy', 'Default', 'NonReadableSecondary', 'OnlineSecondary', 'PointInTimeRestore', 'Recovery', 'Restore', 'RestoreLongTermRetentionBackup' - CreateMode CreateMode `json:"createMode,omitempty"` - // SourceDatabaseID - Conditional. If createMode is Copy, NonReadableSecondary, OnlineSecondary, PointInTimeRestore, Recovery, or Restore, then this value is required. Specifies the resource ID of the source database. If createMode is NonReadableSecondary or OnlineSecondary, the name of the source database must be the same as the new database being created. - SourceDatabaseID *string `json:"sourceDatabaseId,omitempty"` - // SourceDatabaseDeletionDate - Conditional. If createMode is Restore and sourceDatabaseId is the deleted database's original resource id when it existed (as opposed to its current restorable dropped database id), then this value is required. Specifies the time that the database was deleted. - SourceDatabaseDeletionDate *date.Time `json:"sourceDatabaseDeletionDate,omitempty"` - // RestorePointInTime - Conditional. If createMode is PointInTimeRestore, this value is required. If createMode is Restore, this value is optional. Specifies the point in time (ISO8601 format) of the source database that will be restored to create the new database. Must be greater than or equal to the source database's earliestRestoreDate value. - RestorePointInTime *date.Time `json:"restorePointInTime,omitempty"` - // RecoveryServicesRecoveryPointResourceID - Conditional. If createMode is RestoreLongTermRetentionBackup, then this value is required. Specifies the resource ID of the recovery point to restore from. - RecoveryServicesRecoveryPointResourceID *string `json:"recoveryServicesRecoveryPointResourceId,omitempty"` - // Edition - The edition of the database. The DatabaseEditions enumeration contains all the valid editions. If createMode is NonReadableSecondary or OnlineSecondary, this value is ignored. - // - // The list of SKUs may vary by region and support offer. To determine the SKUs (including the SKU name, tier/edition, family, and capacity) that are available to your subscription in an Azure region, use the `Capabilities_ListByLocation` REST API or one of the following commands: - // - // ```azurecli - // az sql db list-editions -l -o table - // ```` - // - // ```powershell - // Get-AzSqlServerServiceObjective -Location - // ```` - // . Possible values include: 'Web', 'Business', 'Basic', 'Standard', 'Premium', 'PremiumRS', 'Free', 'Stretch', 'DataWarehouse', 'System', 'System2', 'GeneralPurpose', 'BusinessCritical', 'Hyperscale' - Edition DatabaseEdition `json:"edition,omitempty"` - // MaxSizeBytes - The max size of the database expressed in bytes. If createMode is not Default, this value is ignored. To see possible values, query the capabilities API (/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationID}/capabilities) referred to by operationId: "Capabilities_ListByLocation." - MaxSizeBytes *string `json:"maxSizeBytes,omitempty"` - // RequestedServiceObjectiveID - The configured service level objective ID of the database. This is the service level objective that is in the process of being applied to the database. Once successfully updated, it will match the value of currentServiceObjectiveId property. If requestedServiceObjectiveId and requestedServiceObjectiveName are both updated, the value of requestedServiceObjectiveId overrides the value of requestedServiceObjectiveName. - // - // The list of SKUs may vary by region and support offer. To determine the service objective ids that are available to your subscription in an Azure region, use the `Capabilities_ListByLocation` REST API. - RequestedServiceObjectiveID *uuid.UUID `json:"requestedServiceObjectiveId,omitempty"` - // RequestedServiceObjectiveName - The name of the configured service level objective of the database. This is the service level objective that is in the process of being applied to the database. Once successfully updated, it will match the value of serviceLevelObjective property. - // - // The list of SKUs may vary by region and support offer. To determine the SKUs (including the SKU name, tier/edition, family, and capacity) that are available to your subscription in an Azure region, use the `Capabilities_ListByLocation` REST API or one of the following commands: - // - // ```azurecli - // az sql db list-editions -l -o table - // ```` - // - // ```powershell - // Get-AzSqlServerServiceObjective -Location - // ```` - // . Possible values include: 'ServiceObjectiveNameSystem', 'ServiceObjectiveNameSystem0', 'ServiceObjectiveNameSystem1', 'ServiceObjectiveNameSystem2', 'ServiceObjectiveNameSystem3', 'ServiceObjectiveNameSystem4', 'ServiceObjectiveNameSystem2L', 'ServiceObjectiveNameSystem3L', 'ServiceObjectiveNameSystem4L', 'ServiceObjectiveNameFree', 'ServiceObjectiveNameBasic', 'ServiceObjectiveNameS0', 'ServiceObjectiveNameS1', 'ServiceObjectiveNameS2', 'ServiceObjectiveNameS3', 'ServiceObjectiveNameS4', 'ServiceObjectiveNameS6', 'ServiceObjectiveNameS7', 'ServiceObjectiveNameS9', 'ServiceObjectiveNameS12', 'ServiceObjectiveNameP1', 'ServiceObjectiveNameP2', 'ServiceObjectiveNameP3', 'ServiceObjectiveNameP4', 'ServiceObjectiveNameP6', 'ServiceObjectiveNameP11', 'ServiceObjectiveNameP15', 'ServiceObjectiveNamePRS1', 'ServiceObjectiveNamePRS2', 'ServiceObjectiveNamePRS4', 'ServiceObjectiveNamePRS6', 'ServiceObjectiveNameDW100', 'ServiceObjectiveNameDW200', 'ServiceObjectiveNameDW300', 'ServiceObjectiveNameDW400', 'ServiceObjectiveNameDW500', 'ServiceObjectiveNameDW600', 'ServiceObjectiveNameDW1000', 'ServiceObjectiveNameDW1200', 'ServiceObjectiveNameDW1000c', 'ServiceObjectiveNameDW1500', 'ServiceObjectiveNameDW1500c', 'ServiceObjectiveNameDW2000', 'ServiceObjectiveNameDW2000c', 'ServiceObjectiveNameDW3000', 'ServiceObjectiveNameDW2500c', 'ServiceObjectiveNameDW3000c', 'ServiceObjectiveNameDW6000', 'ServiceObjectiveNameDW5000c', 'ServiceObjectiveNameDW6000c', 'ServiceObjectiveNameDW7500c', 'ServiceObjectiveNameDW10000c', 'ServiceObjectiveNameDW15000c', 'ServiceObjectiveNameDW30000c', 'ServiceObjectiveNameDS100', 'ServiceObjectiveNameDS200', 'ServiceObjectiveNameDS300', 'ServiceObjectiveNameDS400', 'ServiceObjectiveNameDS500', 'ServiceObjectiveNameDS600', 'ServiceObjectiveNameDS1000', 'ServiceObjectiveNameDS1200', 'ServiceObjectiveNameDS1500', 'ServiceObjectiveNameDS2000', 'ServiceObjectiveNameElasticPool' - RequestedServiceObjectiveName ServiceObjectiveName `json:"requestedServiceObjectiveName,omitempty"` - // ServiceLevelObjective - READ-ONLY; The current service level objective of the database. Possible values include: 'ServiceObjectiveNameSystem', 'ServiceObjectiveNameSystem0', 'ServiceObjectiveNameSystem1', 'ServiceObjectiveNameSystem2', 'ServiceObjectiveNameSystem3', 'ServiceObjectiveNameSystem4', 'ServiceObjectiveNameSystem2L', 'ServiceObjectiveNameSystem3L', 'ServiceObjectiveNameSystem4L', 'ServiceObjectiveNameFree', 'ServiceObjectiveNameBasic', 'ServiceObjectiveNameS0', 'ServiceObjectiveNameS1', 'ServiceObjectiveNameS2', 'ServiceObjectiveNameS3', 'ServiceObjectiveNameS4', 'ServiceObjectiveNameS6', 'ServiceObjectiveNameS7', 'ServiceObjectiveNameS9', 'ServiceObjectiveNameS12', 'ServiceObjectiveNameP1', 'ServiceObjectiveNameP2', 'ServiceObjectiveNameP3', 'ServiceObjectiveNameP4', 'ServiceObjectiveNameP6', 'ServiceObjectiveNameP11', 'ServiceObjectiveNameP15', 'ServiceObjectiveNamePRS1', 'ServiceObjectiveNamePRS2', 'ServiceObjectiveNamePRS4', 'ServiceObjectiveNamePRS6', 'ServiceObjectiveNameDW100', 'ServiceObjectiveNameDW200', 'ServiceObjectiveNameDW300', 'ServiceObjectiveNameDW400', 'ServiceObjectiveNameDW500', 'ServiceObjectiveNameDW600', 'ServiceObjectiveNameDW1000', 'ServiceObjectiveNameDW1200', 'ServiceObjectiveNameDW1000c', 'ServiceObjectiveNameDW1500', 'ServiceObjectiveNameDW1500c', 'ServiceObjectiveNameDW2000', 'ServiceObjectiveNameDW2000c', 'ServiceObjectiveNameDW3000', 'ServiceObjectiveNameDW2500c', 'ServiceObjectiveNameDW3000c', 'ServiceObjectiveNameDW6000', 'ServiceObjectiveNameDW5000c', 'ServiceObjectiveNameDW6000c', 'ServiceObjectiveNameDW7500c', 'ServiceObjectiveNameDW10000c', 'ServiceObjectiveNameDW15000c', 'ServiceObjectiveNameDW30000c', 'ServiceObjectiveNameDS100', 'ServiceObjectiveNameDS200', 'ServiceObjectiveNameDS300', 'ServiceObjectiveNameDS400', 'ServiceObjectiveNameDS500', 'ServiceObjectiveNameDS600', 'ServiceObjectiveNameDS1000', 'ServiceObjectiveNameDS1200', 'ServiceObjectiveNameDS1500', 'ServiceObjectiveNameDS2000', 'ServiceObjectiveNameElasticPool' - ServiceLevelObjective ServiceObjectiveName `json:"serviceLevelObjective,omitempty"` - // Status - READ-ONLY; The status of the database. - Status *string `json:"status,omitempty"` - // ElasticPoolName - The name of the elastic pool the database is in. If elasticPoolName and requestedServiceObjectiveName are both updated, the value of requestedServiceObjectiveName is ignored. Not supported for DataWarehouse edition. - ElasticPoolName *string `json:"elasticPoolName,omitempty"` - // DefaultSecondaryLocation - READ-ONLY; The default secondary region for this database. - DefaultSecondaryLocation *string `json:"defaultSecondaryLocation,omitempty"` - // ServiceTierAdvisors - READ-ONLY; The list of service tier advisors for this database. Expanded property - ServiceTierAdvisors *[]ServiceTierAdvisor `json:"serviceTierAdvisors,omitempty"` - // TransparentDataEncryption - READ-ONLY; The transparent data encryption info for this database. - TransparentDataEncryption *[]TransparentDataEncryption `json:"transparentDataEncryption,omitempty"` - // RecommendedIndex - READ-ONLY; The recommended indices for this database. - RecommendedIndex *[]RecommendedIndex `json:"recommendedIndex,omitempty"` - // FailoverGroupID - READ-ONLY; The resource identifier of the failover group containing this database. - FailoverGroupID *string `json:"failoverGroupId,omitempty"` - // ReadScale - Conditional. If the database is a geo-secondary, readScale indicates whether read-only connections are allowed to this database or not. Not supported for DataWarehouse edition. Possible values include: 'ReadScaleEnabled', 'ReadScaleDisabled' - ReadScale ReadScale `json:"readScale,omitempty"` - // SampleName - Indicates the name of the sample schema to apply when creating this database. If createMode is not Default, this value is ignored. Not supported for DataWarehouse edition. Possible values include: 'AdventureWorksLT' - SampleName SampleName `json:"sampleName,omitempty"` - // ZoneRedundant - Whether or not this database is zone redundant, which means the replicas of this database will be spread across multiple availability zones. - ZoneRedundant *bool `json:"zoneRedundant,omitempty"` +// AdvisorProperties properties for a Database, Server or Elastic Pool Advisor. +type AdvisorProperties struct { + // AdvisorStatus - READ-ONLY; Gets the status of availability of this advisor to customers. Possible values are 'GA', 'PublicPreview', 'LimitedPublicPreview' and 'PrivatePreview'. Possible values include: 'GA', 'PublicPreview', 'LimitedPublicPreview', 'PrivatePreview' + AdvisorStatus AdvisorStatus `json:"advisorStatus,omitempty"` + // AutoExecuteValue - Gets the auto-execute status (whether to let the system execute the recommendations) of this advisor. Possible values are 'Enabled' and 'Disabled'. Possible values include: 'Enabled', 'Disabled', 'Default' + AutoExecuteValue AutoExecuteStatus `json:"autoExecuteValue,omitempty"` + // RecommendationsStatus - READ-ONLY; Gets that status of recommendations for this advisor and reason for not having any recommendations. Possible values include, but are not limited to, 'Ok' (Recommendations available), LowActivity (not enough workload to analyze), 'DbSeemsTuned' (Database is doing well), etc. + RecommendationsStatus *string `json:"recommendationsStatus,omitempty"` + // LastChecked - READ-ONLY; Gets the time when the current resource was analyzed for recommendations by this advisor. + LastChecked *date.Time `json:"lastChecked,omitempty"` } -// DatabasesCreateImportOperationFuture an abstraction for monitoring and retrieving the results of a -// long-running operation. -type DatabasesCreateImportOperationFuture struct { +// BackupLongTermRetentionPoliciesCreateOrUpdateFuture an abstraction for monitoring and retrieving the +// results of a long-running operation. +type BackupLongTermRetentionPoliciesCreateOrUpdateFuture struct { azure.Future } // Result returns the result of the asynchronous operation. // If the operation has not completed it will return an error. -func (future *DatabasesCreateImportOperationFuture) Result(client DatabasesClient) (ier ImportExportResponse, err error) { +func (future *BackupLongTermRetentionPoliciesCreateOrUpdateFuture) Result(client BackupLongTermRetentionPoliciesClient) (bltrp BackupLongTermRetentionPolicy, err error) { var done bool done, err = future.DoneWithContext(context.Background(), client) if err != nil { - err = autorest.NewErrorWithError(err, "sql.DatabasesCreateImportOperationFuture", "Result", future.Response(), "Polling failure") + err = autorest.NewErrorWithError(err, "sql.BackupLongTermRetentionPoliciesCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") return } if !done { - err = azure.NewAsyncOpIncompleteError("sql.DatabasesCreateImportOperationFuture") + err = azure.NewAsyncOpIncompleteError("sql.BackupLongTermRetentionPoliciesCreateOrUpdateFuture") return } sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) - if ier.Response.Response, err = future.GetResult(sender); err == nil && ier.Response.Response.StatusCode != http.StatusNoContent { - ier, err = client.CreateImportOperationResponder(ier.Response.Response) + if bltrp.Response.Response, err = future.GetResult(sender); err == nil && bltrp.Response.Response.StatusCode != http.StatusNoContent { + bltrp, err = client.CreateOrUpdateResponder(bltrp.Response.Response) if err != nil { - err = autorest.NewErrorWithError(err, "sql.DatabasesCreateImportOperationFuture", "Result", ier.Response.Response, "Failure responding to request") + err = autorest.NewErrorWithError(err, "sql.BackupLongTermRetentionPoliciesCreateOrUpdateFuture", "Result", bltrp.Response.Response, "Failure responding to request") } } return } -// DatabasesCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a long-running -// operation. -type DatabasesCreateOrUpdateFuture struct { - azure.Future +// BackupLongTermRetentionPolicy a backup long term retention policy +type BackupLongTermRetentionPolicy struct { + autorest.Response `json:"-"` + // Location - READ-ONLY; The geo-location where the resource lives + Location *string `json:"location,omitempty"` + // BackupLongTermRetentionPolicyProperties - The properties of the backup long term retention policy + *BackupLongTermRetentionPolicyProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` } -// Result returns the result of the asynchronous operation. -// If the operation has not completed it will return an error. -func (future *DatabasesCreateOrUpdateFuture) Result(client DatabasesClient) (d Database, err error) { - var done bool - done, err = future.DoneWithContext(context.Background(), client) - if err != nil { - err = autorest.NewErrorWithError(err, "sql.DatabasesCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") - return +// MarshalJSON is the custom marshaler for BackupLongTermRetentionPolicy. +func (bltrp BackupLongTermRetentionPolicy) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if bltrp.BackupLongTermRetentionPolicyProperties != nil { + objectMap["properties"] = bltrp.BackupLongTermRetentionPolicyProperties } - if !done { - err = azure.NewAsyncOpIncompleteError("sql.DatabasesCreateOrUpdateFuture") - return + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for BackupLongTermRetentionPolicy struct. +func (bltrp *BackupLongTermRetentionPolicy) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err } - sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) - if d.Response.Response, err = future.GetResult(sender); err == nil && d.Response.Response.StatusCode != http.StatusNoContent { - d, err = client.CreateOrUpdateResponder(d.Response.Response) - if err != nil { - err = autorest.NewErrorWithError(err, "sql.DatabasesCreateOrUpdateFuture", "Result", d.Response.Response, "Failure responding to request") + for k, v := range m { + switch k { + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + bltrp.Location = &location + } + case "properties": + if v != nil { + var backupLongTermRetentionPolicyProperties BackupLongTermRetentionPolicyProperties + err = json.Unmarshal(*v, &backupLongTermRetentionPolicyProperties) + if err != nil { + return err + } + bltrp.BackupLongTermRetentionPolicyProperties = &backupLongTermRetentionPolicyProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + bltrp.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + bltrp.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + bltrp.Type = &typeVar + } } } - return + + return nil } -// DatabaseSecurityAlertPolicy contains information about a database Threat Detection policy. -type DatabaseSecurityAlertPolicy struct { +// BackupLongTermRetentionPolicyListResult represents the response to a list long-term retention policies +// request. +type BackupLongTermRetentionPolicyListResult struct { autorest.Response `json:"-"` - // Location - The geo-location where the resource lives + // Value - The list of long-term retention policies in the database. + Value *[]BackupLongTermRetentionPolicy `json:"value,omitempty"` +} + +// BackupLongTermRetentionPolicyProperties the properties of a backup long term retention policy +type BackupLongTermRetentionPolicyProperties struct { + // State - The status of the backup long term retention policy. Possible values include: 'BackupLongTermRetentionPolicyStateDisabled', 'BackupLongTermRetentionPolicyStateEnabled' + State BackupLongTermRetentionPolicyState `json:"state,omitempty"` + // RecoveryServicesBackupPolicyResourceID - The azure recovery services backup protection policy resource id + RecoveryServicesBackupPolicyResourceID *string `json:"recoveryServicesBackupPolicyResourceId,omitempty"` +} + +// BackupLongTermRetentionVault a backup long term retention vault +type BackupLongTermRetentionVault struct { + autorest.Response `json:"-"` + // Location - READ-ONLY; The geo-location where the resource lives Location *string `json:"location,omitempty"` - // Kind - READ-ONLY; Resource kind. - Kind *string `json:"kind,omitempty"` - // DatabaseSecurityAlertPolicyProperties - Properties of the security alert policy. - *DatabaseSecurityAlertPolicyProperties `json:"properties,omitempty"` + // BackupLongTermRetentionVaultProperties - The properties of the backup long term retention vault + *BackupLongTermRetentionVaultProperties `json:"properties,omitempty"` // ID - READ-ONLY; Resource ID. ID *string `json:"id,omitempty"` // Name - READ-ONLY; Resource name. @@ -839,20 +1240,17 @@ type DatabaseSecurityAlertPolicy struct { Type *string `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for DatabaseSecurityAlertPolicy. -func (dsap DatabaseSecurityAlertPolicy) MarshalJSON() ([]byte, error) { +// MarshalJSON is the custom marshaler for BackupLongTermRetentionVault. +func (bltrv BackupLongTermRetentionVault) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) - if dsap.Location != nil { - objectMap["location"] = dsap.Location - } - if dsap.DatabaseSecurityAlertPolicyProperties != nil { - objectMap["properties"] = dsap.DatabaseSecurityAlertPolicyProperties + if bltrv.BackupLongTermRetentionVaultProperties != nil { + objectMap["properties"] = bltrv.BackupLongTermRetentionVaultProperties } return json.Marshal(objectMap) } -// UnmarshalJSON is the custom unmarshaler for DatabaseSecurityAlertPolicy struct. -func (dsap *DatabaseSecurityAlertPolicy) UnmarshalJSON(body []byte) error { +// UnmarshalJSON is the custom unmarshaler for BackupLongTermRetentionVault struct. +func (bltrv *BackupLongTermRetentionVault) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -867,25 +1265,16 @@ func (dsap *DatabaseSecurityAlertPolicy) UnmarshalJSON(body []byte) error { if err != nil { return err } - dsap.Location = &location - } - case "kind": - if v != nil { - var kind string - err = json.Unmarshal(*v, &kind) - if err != nil { - return err - } - dsap.Kind = &kind + bltrv.Location = &location } case "properties": if v != nil { - var databaseSecurityAlertPolicyProperties DatabaseSecurityAlertPolicyProperties - err = json.Unmarshal(*v, &databaseSecurityAlertPolicyProperties) + var backupLongTermRetentionVaultProperties BackupLongTermRetentionVaultProperties + err = json.Unmarshal(*v, &backupLongTermRetentionVaultProperties) if err != nil { return err } - dsap.DatabaseSecurityAlertPolicyProperties = &databaseSecurityAlertPolicyProperties + bltrv.BackupLongTermRetentionVaultProperties = &backupLongTermRetentionVaultProperties } case "id": if v != nil { @@ -894,7 +1283,7 @@ func (dsap *DatabaseSecurityAlertPolicy) UnmarshalJSON(body []byte) error { if err != nil { return err } - dsap.ID = &ID + bltrv.ID = &ID } case "name": if v != nil { @@ -903,7 +1292,7 @@ func (dsap *DatabaseSecurityAlertPolicy) UnmarshalJSON(body []byte) error { if err != nil { return err } - dsap.Name = &name + bltrv.Name = &name } case "type": if v != nil { @@ -912,7 +1301,7 @@ func (dsap *DatabaseSecurityAlertPolicy) UnmarshalJSON(body []byte) error { if err != nil { return err } - dsap.Type = &typeVar + bltrv.Type = &typeVar } } } @@ -920,165 +1309,2981 @@ func (dsap *DatabaseSecurityAlertPolicy) UnmarshalJSON(body []byte) error { return nil } -// DatabaseSecurityAlertPolicyProperties properties for a database Threat Detection policy. -type DatabaseSecurityAlertPolicyProperties struct { - // State - Specifies the state of the policy. If state is Enabled, storageEndpoint and storageAccountAccessKey are required. Possible values include: 'SecurityAlertPolicyStateNew', 'SecurityAlertPolicyStateEnabled', 'SecurityAlertPolicyStateDisabled' - State SecurityAlertPolicyState `json:"state,omitempty"` - // DisabledAlerts - Specifies the semicolon-separated list of alerts that are disabled, or empty string to disable no alerts. Possible values: Sql_Injection; Sql_Injection_Vulnerability; Access_Anomaly; Data_Exfiltration; Unsafe_Action. - DisabledAlerts *string `json:"disabledAlerts,omitempty"` - // EmailAddresses - Specifies the semicolon-separated list of e-mail addresses to which the alert is sent. - EmailAddresses *string `json:"emailAddresses,omitempty"` - // EmailAccountAdmins - Specifies that the alert is sent to the account administrators. Possible values include: 'SecurityAlertPolicyEmailAccountAdminsEnabled', 'SecurityAlertPolicyEmailAccountAdminsDisabled' - EmailAccountAdmins SecurityAlertPolicyEmailAccountAdmins `json:"emailAccountAdmins,omitempty"` - // StorageEndpoint - Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). This blob storage will hold all Threat Detection audit logs. If state is Enabled, storageEndpoint is required. - StorageEndpoint *string `json:"storageEndpoint,omitempty"` - // StorageAccountAccessKey - Specifies the identifier key of the Threat Detection audit storage account. If state is Enabled, storageAccountAccessKey is required. - StorageAccountAccessKey *string `json:"storageAccountAccessKey,omitempty"` - // RetentionDays - Specifies the number of days to keep in the Threat Detection audit logs. - RetentionDays *int32 `json:"retentionDays,omitempty"` - // UseServerDefault - Specifies whether to use the default server policy. Possible values include: 'SecurityAlertPolicyUseServerDefaultEnabled', 'SecurityAlertPolicyUseServerDefaultDisabled' - UseServerDefault SecurityAlertPolicyUseServerDefault `json:"useServerDefault,omitempty"` -} - -// DatabasesExportFuture an abstraction for monitoring and retrieving the results of a long-running -// operation. -type DatabasesExportFuture struct { - azure.Future +// BackupLongTermRetentionVaultListResult represents the response to a list vaults request. +type BackupLongTermRetentionVaultListResult struct { + autorest.Response `json:"-"` + // Value - The list of vaults in the server. + Value *[]BackupLongTermRetentionVault `json:"value,omitempty"` } -// Result returns the result of the asynchronous operation. -// If the operation has not completed it will return an error. -func (future *DatabasesExportFuture) Result(client DatabasesClient) (ier ImportExportResponse, err error) { - var done bool - done, err = future.DoneWithContext(context.Background(), client) - if err != nil { - err = autorest.NewErrorWithError(err, "sql.DatabasesExportFuture", "Result", future.Response(), "Polling failure") - return - } - if !done { - err = azure.NewAsyncOpIncompleteError("sql.DatabasesExportFuture") - return - } - sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) - if ier.Response.Response, err = future.GetResult(sender); err == nil && ier.Response.Response.StatusCode != http.StatusNoContent { - ier, err = client.ExportResponder(ier.Response.Response) - if err != nil { - err = autorest.NewErrorWithError(err, "sql.DatabasesExportFuture", "Result", ier.Response.Response, "Failure responding to request") - } - } - return +// BackupLongTermRetentionVaultProperties the properties of a backup long term retention vault. +type BackupLongTermRetentionVaultProperties struct { + // RecoveryServicesVaultResourceID - The azure recovery services vault resource id + RecoveryServicesVaultResourceID *string `json:"recoveryServicesVaultResourceId,omitempty"` } -// DatabasesImportFuture an abstraction for monitoring and retrieving the results of a long-running -// operation. -type DatabasesImportFuture struct { +// BackupLongTermRetentionVaultsCreateOrUpdateFuture an abstraction for monitoring and retrieving the +// results of a long-running operation. +type BackupLongTermRetentionVaultsCreateOrUpdateFuture struct { azure.Future } // Result returns the result of the asynchronous operation. // If the operation has not completed it will return an error. -func (future *DatabasesImportFuture) Result(client DatabasesClient) (ier ImportExportResponse, err error) { +func (future *BackupLongTermRetentionVaultsCreateOrUpdateFuture) Result(client BackupLongTermRetentionVaultsClient) (bltrv BackupLongTermRetentionVault, err error) { var done bool done, err = future.DoneWithContext(context.Background(), client) if err != nil { - err = autorest.NewErrorWithError(err, "sql.DatabasesImportFuture", "Result", future.Response(), "Polling failure") + err = autorest.NewErrorWithError(err, "sql.BackupLongTermRetentionVaultsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") return } if !done { - err = azure.NewAsyncOpIncompleteError("sql.DatabasesImportFuture") + err = azure.NewAsyncOpIncompleteError("sql.BackupLongTermRetentionVaultsCreateOrUpdateFuture") return } sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) - if ier.Response.Response, err = future.GetResult(sender); err == nil && ier.Response.Response.StatusCode != http.StatusNoContent { - ier, err = client.ImportResponder(ier.Response.Response) + if bltrv.Response.Response, err = future.GetResult(sender); err == nil && bltrv.Response.Response.StatusCode != http.StatusNoContent { + bltrv, err = client.CreateOrUpdateResponder(bltrv.Response.Response) if err != nil { - err = autorest.NewErrorWithError(err, "sql.DatabasesImportFuture", "Result", ier.Response.Response, "Failure responding to request") + err = autorest.NewErrorWithError(err, "sql.BackupLongTermRetentionVaultsCreateOrUpdateFuture", "Result", bltrv.Response.Response, "Failure responding to request") } } return } -// DatabasesPauseFuture an abstraction for monitoring and retrieving the results of a long-running -// operation. -type DatabasesPauseFuture struct { - azure.Future -} - -// Result returns the result of the asynchronous operation. -// If the operation has not completed it will return an error. -func (future *DatabasesPauseFuture) Result(client DatabasesClient) (ar autorest.Response, err error) { - var done bool - done, err = future.DoneWithContext(context.Background(), client) - if err != nil { - err = autorest.NewErrorWithError(err, "sql.DatabasesPauseFuture", "Result", future.Response(), "Polling failure") - return - } - if !done { - err = azure.NewAsyncOpIncompleteError("sql.DatabasesPauseFuture") - return - } - ar.Response = future.Response() - return +// CheckNameAvailabilityRequest a request to check whether the specified name for a resource is available. +type CheckNameAvailabilityRequest struct { + // Name - The name whose availability is to be checked. + Name *string `json:"name,omitempty"` + // Type - The type of resource that is used as the scope of the availability check. + Type *string `json:"type,omitempty"` } -// DatabasesResumeFuture an abstraction for monitoring and retrieving the results of a long-running -// operation. +// CheckNameAvailabilityResponse a response indicating whether the specified name for a resource is +// available. +type CheckNameAvailabilityResponse struct { + autorest.Response `json:"-"` + // Available - READ-ONLY; True if the name is available, otherwise false. + Available *bool `json:"available,omitempty"` + // Message - READ-ONLY; A message explaining why the name is unavailable. Will be null if the name is available. + Message *string `json:"message,omitempty"` + // Name - READ-ONLY; The name whose availability was checked. + Name *string `json:"name,omitempty"` + // Reason - READ-ONLY; The reason code explaining why the name is unavailable. Will be null if the name is available. Possible values include: 'Invalid', 'AlreadyExists' + Reason CheckNameAvailabilityReason `json:"reason,omitempty"` +} + +// Database represents a database. +type Database struct { + autorest.Response `json:"-"` + // Kind - READ-ONLY; Kind of database. This is metadata used for the Azure portal experience. + Kind *string `json:"kind,omitempty"` + // DatabaseProperties - The properties representing the resource. + *DatabaseProperties `json:"properties,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` + // ID - READ-ONLY; Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for Database. +func (d Database) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if d.DatabaseProperties != nil { + objectMap["properties"] = d.DatabaseProperties + } + if d.Location != nil { + objectMap["location"] = d.Location + } + if d.Tags != nil { + objectMap["tags"] = d.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for Database struct. +func (d *Database) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + d.Kind = &kind + } + case "properties": + if v != nil { + var databaseProperties DatabaseProperties + err = json.Unmarshal(*v, &databaseProperties) + if err != nil { + return err + } + d.DatabaseProperties = &databaseProperties + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + d.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + d.Tags = tags + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + d.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + d.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + d.Type = &typeVar + } + } + } + + return nil +} + +// DatabaseConnectionPolicy a database connection policy. +type DatabaseConnectionPolicy struct { + autorest.Response `json:"-"` + // Kind - READ-ONLY; Resource kind. + Kind *string `json:"kind,omitempty"` + // Location - READ-ONLY; Resource location. + Location *string `json:"location,omitempty"` + // DatabaseConnectionPolicyProperties - Resource properties. + *DatabaseConnectionPolicyProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for DatabaseConnectionPolicy. +func (dcp DatabaseConnectionPolicy) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if dcp.DatabaseConnectionPolicyProperties != nil { + objectMap["properties"] = dcp.DatabaseConnectionPolicyProperties + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for DatabaseConnectionPolicy struct. +func (dcp *DatabaseConnectionPolicy) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + dcp.Kind = &kind + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + dcp.Location = &location + } + case "properties": + if v != nil { + var databaseConnectionPolicyProperties DatabaseConnectionPolicyProperties + err = json.Unmarshal(*v, &databaseConnectionPolicyProperties) + if err != nil { + return err + } + dcp.DatabaseConnectionPolicyProperties = &databaseConnectionPolicyProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + dcp.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + dcp.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + dcp.Type = &typeVar + } + } + } + + return nil +} + +// DatabaseConnectionPolicyProperties properties of a database connection policy. +type DatabaseConnectionPolicyProperties struct { + // SecurityEnabledAccess - The state of security access. + SecurityEnabledAccess *string `json:"securityEnabledAccess,omitempty"` + // ProxyDNSName - The fully qualified host name of the auditing proxy. + ProxyDNSName *string `json:"proxyDnsName,omitempty"` + // ProxyPort - The port number of the auditing proxy. + ProxyPort *string `json:"proxyPort,omitempty"` + // Visibility - The visibility of the auditing proxy. + Visibility *string `json:"visibility,omitempty"` + // UseServerDefault - Whether server default is enabled or disabled. + UseServerDefault *string `json:"useServerDefault,omitempty"` + // RedirectionState - The state of proxy redirection. + RedirectionState *string `json:"redirectionState,omitempty"` + // State - The connection policy state. + State *string `json:"state,omitempty"` +} + +// DatabaseListResult represents the response to a list database request. +type DatabaseListResult struct { + autorest.Response `json:"-"` + // Value - The list of databases housed in the server. + Value *[]Database `json:"value,omitempty"` +} + +// DatabaseProperties represents the properties of a database. +type DatabaseProperties struct { + // Collation - The collation of the database. If createMode is not Default, this value is ignored. + Collation *string `json:"collation,omitempty"` + // CreationDate - READ-ONLY; The creation date of the database (ISO8601 format). + CreationDate *date.Time `json:"creationDate,omitempty"` + // ContainmentState - READ-ONLY; The containment state of the database. + ContainmentState *int64 `json:"containmentState,omitempty"` + // CurrentServiceObjectiveID - READ-ONLY; The current service level objective ID of the database. This is the ID of the service level objective that is currently active. + CurrentServiceObjectiveID *uuid.UUID `json:"currentServiceObjectiveId,omitempty"` + // DatabaseID - READ-ONLY; The ID of the database. + DatabaseID *uuid.UUID `json:"databaseId,omitempty"` + // EarliestRestoreDate - READ-ONLY; This records the earliest start date and time that restore is available for this database (ISO8601 format). + EarliestRestoreDate *date.Time `json:"earliestRestoreDate,omitempty"` + // CreateMode - Specifies the mode of database creation. + // Default: regular database creation. + // Copy: creates a database as a copy of an existing database. sourceDatabaseId must be specified as the resource ID of the source database. + // OnlineSecondary/NonReadableSecondary: creates a database as a (readable or nonreadable) secondary replica of an existing database. sourceDatabaseId must be specified as the resource ID of the existing primary database. + // PointInTimeRestore: Creates a database by restoring a point in time backup of an existing database. sourceDatabaseId must be specified as the resource ID of the existing database, and restorePointInTime must be specified. + // Recovery: Creates a database by restoring a geo-replicated backup. sourceDatabaseId must be specified as the recoverable database resource ID to restore. + // Restore: Creates a database by restoring a backup of a deleted database. sourceDatabaseId must be specified. If sourceDatabaseId is the database's original resource ID, then sourceDatabaseDeletionDate must be specified. Otherwise sourceDatabaseId must be the restorable dropped database resource ID and sourceDatabaseDeletionDate is ignored. restorePointInTime may also be specified to restore from an earlier point in time. + // RestoreLongTermRetentionBackup: Creates a database by restoring from a long term retention vault. recoveryServicesRecoveryPointResourceId must be specified as the recovery point resource ID. + // Copy, NonReadableSecondary, OnlineSecondary and RestoreLongTermRetentionBackup are not supported for DataWarehouse edition. Possible values include: 'CreateModeCopy', 'CreateModeDefault', 'CreateModeNonReadableSecondary', 'CreateModeOnlineSecondary', 'CreateModePointInTimeRestore', 'CreateModeRecovery', 'CreateModeRestore', 'CreateModeRestoreLongTermRetentionBackup' + CreateMode CreateMode `json:"createMode,omitempty"` + // SourceDatabaseID - Conditional. If createMode is Copy, NonReadableSecondary, OnlineSecondary, PointInTimeRestore, Recovery, or Restore, then this value is required. Specifies the resource ID of the source database. If createMode is NonReadableSecondary or OnlineSecondary, the name of the source database must be the same as the new database being created. + SourceDatabaseID *string `json:"sourceDatabaseId,omitempty"` + // SourceDatabaseDeletionDate - Conditional. If createMode is Restore and sourceDatabaseId is the deleted database's original resource id when it existed (as opposed to its current restorable dropped database id), then this value is required. Specifies the time that the database was deleted. + SourceDatabaseDeletionDate *date.Time `json:"sourceDatabaseDeletionDate,omitempty"` + // RestorePointInTime - Conditional. If createMode is PointInTimeRestore, this value is required. If createMode is Restore, this value is optional. Specifies the point in time (ISO8601 format) of the source database that will be restored to create the new database. Must be greater than or equal to the source database's earliestRestoreDate value. + RestorePointInTime *date.Time `json:"restorePointInTime,omitempty"` + // RecoveryServicesRecoveryPointResourceID - Conditional. If createMode is RestoreLongTermRetentionBackup, then this value is required. Specifies the resource ID of the recovery point to restore from. + RecoveryServicesRecoveryPointResourceID *string `json:"recoveryServicesRecoveryPointResourceId,omitempty"` + // Edition - The edition of the database. The DatabaseEditions enumeration contains all the valid editions. If createMode is NonReadableSecondary or OnlineSecondary, this value is ignored. + // + // The list of SKUs may vary by region and support offer. To determine the SKUs (including the SKU name, tier/edition, family, and capacity) that are available to your subscription in an Azure region, use the `Capabilities_ListByLocation` REST API or one of the following commands: + // + // ```azurecli + // az sql db list-editions -l -o table + // ```` + // + // ```powershell + // Get-AzSqlServerServiceObjective -Location + // ```` + // . Possible values include: 'Web', 'Business', 'Basic', 'Standard', 'Premium', 'PremiumRS', 'Free', 'Stretch', 'DataWarehouse', 'System', 'System2', 'GeneralPurpose', 'BusinessCritical', 'Hyperscale' + Edition DatabaseEdition `json:"edition,omitempty"` + // MaxSizeBytes - The max size of the database expressed in bytes. If createMode is not Default, this value is ignored. To see possible values, query the capabilities API (/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationID}/capabilities) referred to by operationId: "Capabilities_ListByLocation." + MaxSizeBytes *string `json:"maxSizeBytes,omitempty"` + // RequestedServiceObjectiveID - The configured service level objective ID of the database. This is the service level objective that is in the process of being applied to the database. Once successfully updated, it will match the value of currentServiceObjectiveId property. If requestedServiceObjectiveId and requestedServiceObjectiveName are both updated, the value of requestedServiceObjectiveId overrides the value of requestedServiceObjectiveName. + // + // The list of SKUs may vary by region and support offer. To determine the service objective ids that are available to your subscription in an Azure region, use the `Capabilities_ListByLocation` REST API. + RequestedServiceObjectiveID *uuid.UUID `json:"requestedServiceObjectiveId,omitempty"` + // RequestedServiceObjectiveName - The name of the configured service level objective of the database. This is the service level objective that is in the process of being applied to the database. Once successfully updated, it will match the value of serviceLevelObjective property. + // + // The list of SKUs may vary by region and support offer. To determine the SKUs (including the SKU name, tier/edition, family, and capacity) that are available to your subscription in an Azure region, use the `Capabilities_ListByLocation` REST API or one of the following commands: + // + // ```azurecli + // az sql db list-editions -l -o table + // ```` + // + // ```powershell + // Get-AzSqlServerServiceObjective -Location + // ```` + // . Possible values include: 'ServiceObjectiveNameSystem', 'ServiceObjectiveNameSystem0', 'ServiceObjectiveNameSystem1', 'ServiceObjectiveNameSystem2', 'ServiceObjectiveNameSystem3', 'ServiceObjectiveNameSystem4', 'ServiceObjectiveNameSystem2L', 'ServiceObjectiveNameSystem3L', 'ServiceObjectiveNameSystem4L', 'ServiceObjectiveNameFree', 'ServiceObjectiveNameBasic', 'ServiceObjectiveNameS0', 'ServiceObjectiveNameS1', 'ServiceObjectiveNameS2', 'ServiceObjectiveNameS3', 'ServiceObjectiveNameS4', 'ServiceObjectiveNameS6', 'ServiceObjectiveNameS7', 'ServiceObjectiveNameS9', 'ServiceObjectiveNameS12', 'ServiceObjectiveNameP1', 'ServiceObjectiveNameP2', 'ServiceObjectiveNameP3', 'ServiceObjectiveNameP4', 'ServiceObjectiveNameP6', 'ServiceObjectiveNameP11', 'ServiceObjectiveNameP15', 'ServiceObjectiveNamePRS1', 'ServiceObjectiveNamePRS2', 'ServiceObjectiveNamePRS4', 'ServiceObjectiveNamePRS6', 'ServiceObjectiveNameDW100', 'ServiceObjectiveNameDW200', 'ServiceObjectiveNameDW300', 'ServiceObjectiveNameDW400', 'ServiceObjectiveNameDW500', 'ServiceObjectiveNameDW600', 'ServiceObjectiveNameDW1000', 'ServiceObjectiveNameDW1200', 'ServiceObjectiveNameDW1000c', 'ServiceObjectiveNameDW1500', 'ServiceObjectiveNameDW1500c', 'ServiceObjectiveNameDW2000', 'ServiceObjectiveNameDW2000c', 'ServiceObjectiveNameDW3000', 'ServiceObjectiveNameDW2500c', 'ServiceObjectiveNameDW3000c', 'ServiceObjectiveNameDW6000', 'ServiceObjectiveNameDW5000c', 'ServiceObjectiveNameDW6000c', 'ServiceObjectiveNameDW7500c', 'ServiceObjectiveNameDW10000c', 'ServiceObjectiveNameDW15000c', 'ServiceObjectiveNameDW30000c', 'ServiceObjectiveNameDS100', 'ServiceObjectiveNameDS200', 'ServiceObjectiveNameDS300', 'ServiceObjectiveNameDS400', 'ServiceObjectiveNameDS500', 'ServiceObjectiveNameDS600', 'ServiceObjectiveNameDS1000', 'ServiceObjectiveNameDS1200', 'ServiceObjectiveNameDS1500', 'ServiceObjectiveNameDS2000', 'ServiceObjectiveNameElasticPool' + RequestedServiceObjectiveName ServiceObjectiveName `json:"requestedServiceObjectiveName,omitempty"` + // ServiceLevelObjective - READ-ONLY; The current service level objective of the database. Possible values include: 'ServiceObjectiveNameSystem', 'ServiceObjectiveNameSystem0', 'ServiceObjectiveNameSystem1', 'ServiceObjectiveNameSystem2', 'ServiceObjectiveNameSystem3', 'ServiceObjectiveNameSystem4', 'ServiceObjectiveNameSystem2L', 'ServiceObjectiveNameSystem3L', 'ServiceObjectiveNameSystem4L', 'ServiceObjectiveNameFree', 'ServiceObjectiveNameBasic', 'ServiceObjectiveNameS0', 'ServiceObjectiveNameS1', 'ServiceObjectiveNameS2', 'ServiceObjectiveNameS3', 'ServiceObjectiveNameS4', 'ServiceObjectiveNameS6', 'ServiceObjectiveNameS7', 'ServiceObjectiveNameS9', 'ServiceObjectiveNameS12', 'ServiceObjectiveNameP1', 'ServiceObjectiveNameP2', 'ServiceObjectiveNameP3', 'ServiceObjectiveNameP4', 'ServiceObjectiveNameP6', 'ServiceObjectiveNameP11', 'ServiceObjectiveNameP15', 'ServiceObjectiveNamePRS1', 'ServiceObjectiveNamePRS2', 'ServiceObjectiveNamePRS4', 'ServiceObjectiveNamePRS6', 'ServiceObjectiveNameDW100', 'ServiceObjectiveNameDW200', 'ServiceObjectiveNameDW300', 'ServiceObjectiveNameDW400', 'ServiceObjectiveNameDW500', 'ServiceObjectiveNameDW600', 'ServiceObjectiveNameDW1000', 'ServiceObjectiveNameDW1200', 'ServiceObjectiveNameDW1000c', 'ServiceObjectiveNameDW1500', 'ServiceObjectiveNameDW1500c', 'ServiceObjectiveNameDW2000', 'ServiceObjectiveNameDW2000c', 'ServiceObjectiveNameDW3000', 'ServiceObjectiveNameDW2500c', 'ServiceObjectiveNameDW3000c', 'ServiceObjectiveNameDW6000', 'ServiceObjectiveNameDW5000c', 'ServiceObjectiveNameDW6000c', 'ServiceObjectiveNameDW7500c', 'ServiceObjectiveNameDW10000c', 'ServiceObjectiveNameDW15000c', 'ServiceObjectiveNameDW30000c', 'ServiceObjectiveNameDS100', 'ServiceObjectiveNameDS200', 'ServiceObjectiveNameDS300', 'ServiceObjectiveNameDS400', 'ServiceObjectiveNameDS500', 'ServiceObjectiveNameDS600', 'ServiceObjectiveNameDS1000', 'ServiceObjectiveNameDS1200', 'ServiceObjectiveNameDS1500', 'ServiceObjectiveNameDS2000', 'ServiceObjectiveNameElasticPool' + ServiceLevelObjective ServiceObjectiveName `json:"serviceLevelObjective,omitempty"` + // Status - READ-ONLY; The status of the database. + Status *string `json:"status,omitempty"` + // ElasticPoolName - The name of the elastic pool the database is in. If elasticPoolName and requestedServiceObjectiveName are both updated, the value of requestedServiceObjectiveName is ignored. Not supported for DataWarehouse edition. + ElasticPoolName *string `json:"elasticPoolName,omitempty"` + // DefaultSecondaryLocation - READ-ONLY; The default secondary region for this database. + DefaultSecondaryLocation *string `json:"defaultSecondaryLocation,omitempty"` + // ServiceTierAdvisors - READ-ONLY; The list of service tier advisors for this database. Expanded property + ServiceTierAdvisors *[]ServiceTierAdvisor `json:"serviceTierAdvisors,omitempty"` + // TransparentDataEncryption - READ-ONLY; The transparent data encryption info for this database. + TransparentDataEncryption *[]TransparentDataEncryption `json:"transparentDataEncryption,omitempty"` + // RecommendedIndex - READ-ONLY; The recommended indices for this database. + RecommendedIndex *[]RecommendedIndex `json:"recommendedIndex,omitempty"` + // FailoverGroupID - READ-ONLY; The resource identifier of the failover group containing this database. + FailoverGroupID *string `json:"failoverGroupId,omitempty"` + // ReadScale - Conditional. If the database is a geo-secondary, readScale indicates whether read-only connections are allowed to this database or not. Not supported for DataWarehouse edition. Possible values include: 'ReadScaleEnabled', 'ReadScaleDisabled' + ReadScale ReadScale `json:"readScale,omitempty"` + // SampleName - Indicates the name of the sample schema to apply when creating this database. If createMode is not Default, this value is ignored. Not supported for DataWarehouse edition. Possible values include: 'AdventureWorksLT' + SampleName SampleName `json:"sampleName,omitempty"` + // ZoneRedundant - Whether or not this database is zone redundant, which means the replicas of this database will be spread across multiple availability zones. + ZoneRedundant *bool `json:"zoneRedundant,omitempty"` +} + +// DatabasesCreateImportOperationFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type DatabasesCreateImportOperationFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *DatabasesCreateImportOperationFuture) Result(client DatabasesClient) (ier ImportExportResponse, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DatabasesCreateImportOperationFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("sql.DatabasesCreateImportOperationFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if ier.Response.Response, err = future.GetResult(sender); err == nil && ier.Response.Response.StatusCode != http.StatusNoContent { + ier, err = client.CreateImportOperationResponder(ier.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DatabasesCreateImportOperationFuture", "Result", ier.Response.Response, "Failure responding to request") + } + } + return +} + +// DatabasesCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type DatabasesCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *DatabasesCreateOrUpdateFuture) Result(client DatabasesClient) (d Database, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DatabasesCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("sql.DatabasesCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if d.Response.Response, err = future.GetResult(sender); err == nil && d.Response.Response.StatusCode != http.StatusNoContent { + d, err = client.CreateOrUpdateResponder(d.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DatabasesCreateOrUpdateFuture", "Result", d.Response.Response, "Failure responding to request") + } + } + return +} + +// DatabaseSecurityAlertPolicy contains information about a database Threat Detection policy. +type DatabaseSecurityAlertPolicy struct { + autorest.Response `json:"-"` + // Location - The geo-location where the resource lives + Location *string `json:"location,omitempty"` + // Kind - READ-ONLY; Resource kind. + Kind *string `json:"kind,omitempty"` + // DatabaseSecurityAlertPolicyProperties - Properties of the security alert policy. + *DatabaseSecurityAlertPolicyProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for DatabaseSecurityAlertPolicy. +func (dsap DatabaseSecurityAlertPolicy) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if dsap.Location != nil { + objectMap["location"] = dsap.Location + } + if dsap.DatabaseSecurityAlertPolicyProperties != nil { + objectMap["properties"] = dsap.DatabaseSecurityAlertPolicyProperties + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for DatabaseSecurityAlertPolicy struct. +func (dsap *DatabaseSecurityAlertPolicy) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + dsap.Location = &location + } + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + dsap.Kind = &kind + } + case "properties": + if v != nil { + var databaseSecurityAlertPolicyProperties DatabaseSecurityAlertPolicyProperties + err = json.Unmarshal(*v, &databaseSecurityAlertPolicyProperties) + if err != nil { + return err + } + dsap.DatabaseSecurityAlertPolicyProperties = &databaseSecurityAlertPolicyProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + dsap.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + dsap.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + dsap.Type = &typeVar + } + } + } + + return nil +} + +// DatabaseSecurityAlertPolicyProperties properties for a database Threat Detection policy. +type DatabaseSecurityAlertPolicyProperties struct { + // State - Specifies the state of the policy. If state is Enabled, storageEndpoint and storageAccountAccessKey are required. Possible values include: 'SecurityAlertPolicyStateNew', 'SecurityAlertPolicyStateEnabled', 'SecurityAlertPolicyStateDisabled' + State SecurityAlertPolicyState `json:"state,omitempty"` + // DisabledAlerts - Specifies the semicolon-separated list of alerts that are disabled, or empty string to disable no alerts. Possible values: Sql_Injection; Sql_Injection_Vulnerability; Access_Anomaly; Data_Exfiltration; Unsafe_Action. + DisabledAlerts *string `json:"disabledAlerts,omitempty"` + // EmailAddresses - Specifies the semicolon-separated list of e-mail addresses to which the alert is sent. + EmailAddresses *string `json:"emailAddresses,omitempty"` + // EmailAccountAdmins - Specifies that the alert is sent to the account administrators. Possible values include: 'SecurityAlertPolicyEmailAccountAdminsEnabled', 'SecurityAlertPolicyEmailAccountAdminsDisabled' + EmailAccountAdmins SecurityAlertPolicyEmailAccountAdmins `json:"emailAccountAdmins,omitempty"` + // StorageEndpoint - Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). This blob storage will hold all Threat Detection audit logs. If state is Enabled, storageEndpoint is required. + StorageEndpoint *string `json:"storageEndpoint,omitempty"` + // StorageAccountAccessKey - Specifies the identifier key of the Threat Detection audit storage account. If state is Enabled, storageAccountAccessKey is required. + StorageAccountAccessKey *string `json:"storageAccountAccessKey,omitempty"` + // RetentionDays - Specifies the number of days to keep in the Threat Detection audit logs. + RetentionDays *int32 `json:"retentionDays,omitempty"` + // UseServerDefault - Specifies whether to use the default server policy. Possible values include: 'SecurityAlertPolicyUseServerDefaultEnabled', 'SecurityAlertPolicyUseServerDefaultDisabled' + UseServerDefault SecurityAlertPolicyUseServerDefault `json:"useServerDefault,omitempty"` +} + +// DatabasesExportFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type DatabasesExportFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *DatabasesExportFuture) Result(client DatabasesClient) (ier ImportExportResponse, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DatabasesExportFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("sql.DatabasesExportFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if ier.Response.Response, err = future.GetResult(sender); err == nil && ier.Response.Response.StatusCode != http.StatusNoContent { + ier, err = client.ExportResponder(ier.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DatabasesExportFuture", "Result", ier.Response.Response, "Failure responding to request") + } + } + return +} + +// DatabasesImportFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type DatabasesImportFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *DatabasesImportFuture) Result(client DatabasesClient) (ier ImportExportResponse, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DatabasesImportFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("sql.DatabasesImportFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if ier.Response.Response, err = future.GetResult(sender); err == nil && ier.Response.Response.StatusCode != http.StatusNoContent { + ier, err = client.ImportResponder(ier.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DatabasesImportFuture", "Result", ier.Response.Response, "Failure responding to request") + } + } + return +} + +// DatabasesPauseFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type DatabasesPauseFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *DatabasesPauseFuture) Result(client DatabasesClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DatabasesPauseFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("sql.DatabasesPauseFuture") + return + } + ar.Response = future.Response() + return +} + +// DatabasesResumeFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. type DatabasesResumeFuture struct { azure.Future } -// Result returns the result of the asynchronous operation. -// If the operation has not completed it will return an error. -func (future *DatabasesResumeFuture) Result(client DatabasesClient) (ar autorest.Response, err error) { - var done bool - done, err = future.DoneWithContext(context.Background(), client) +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *DatabasesResumeFuture) Result(client DatabasesClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DatabasesResumeFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("sql.DatabasesResumeFuture") + return + } + ar.Response = future.Response() + return +} + +// DatabasesUpdateFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type DatabasesUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *DatabasesUpdateFuture) Result(client DatabasesClient) (d Database, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DatabasesUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("sql.DatabasesUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if d.Response.Response, err = future.GetResult(sender); err == nil && d.Response.Response.StatusCode != http.StatusNoContent { + d, err = client.UpdateResponder(d.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DatabasesUpdateFuture", "Result", d.Response.Response, "Failure responding to request") + } + } + return +} + +// DatabaseTableAuditingPolicy a database table auditing policy. +type DatabaseTableAuditingPolicy struct { + autorest.Response `json:"-"` + // Kind - READ-ONLY; Resource kind. + Kind *string `json:"kind,omitempty"` + // Location - READ-ONLY; Resource location. + Location *string `json:"location,omitempty"` + // DatabaseTableAuditingPolicyProperties - Resource properties. + *DatabaseTableAuditingPolicyProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for DatabaseTableAuditingPolicy. +func (dtap DatabaseTableAuditingPolicy) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if dtap.DatabaseTableAuditingPolicyProperties != nil { + objectMap["properties"] = dtap.DatabaseTableAuditingPolicyProperties + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for DatabaseTableAuditingPolicy struct. +func (dtap *DatabaseTableAuditingPolicy) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + dtap.Kind = &kind + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + dtap.Location = &location + } + case "properties": + if v != nil { + var databaseTableAuditingPolicyProperties DatabaseTableAuditingPolicyProperties + err = json.Unmarshal(*v, &databaseTableAuditingPolicyProperties) + if err != nil { + return err + } + dtap.DatabaseTableAuditingPolicyProperties = &databaseTableAuditingPolicyProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + dtap.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + dtap.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + dtap.Type = &typeVar + } + } + } + + return nil +} + +// DatabaseTableAuditingPolicyListResult represents the response to a list database table auditing policies +// request. +type DatabaseTableAuditingPolicyListResult struct { + autorest.Response `json:"-"` + // Value - The list of database table auditing policies. + Value *[]DatabaseTableAuditingPolicy `json:"value,omitempty"` +} + +// DatabaseTableAuditingPolicyProperties properties of a database table auditing policy. +type DatabaseTableAuditingPolicyProperties struct { + // UseServerDefault - Whether server default is enabled or disabled. + UseServerDefault *string `json:"useServerDefault,omitempty"` + // AuditingState - The state of the policy. + AuditingState *string `json:"auditingState,omitempty"` + // AuditLogsTableName - The audit logs table name. + AuditLogsTableName *string `json:"auditLogsTableName,omitempty"` + // EventTypesToAudit - Comma-separated list of event types to audit. + EventTypesToAudit *string `json:"eventTypesToAudit,omitempty"` + // FullAuditLogsTableName - The full audit logs table name. + FullAuditLogsTableName *string `json:"fullAuditLogsTableName,omitempty"` + // RetentionDays - The number of days to keep in the audit logs. + RetentionDays *string `json:"retentionDays,omitempty"` + // StorageAccountKey - The key of the auditing storage account. + StorageAccountKey *string `json:"storageAccountKey,omitempty"` + // StorageAccountName - The table storage account name + StorageAccountName *string `json:"storageAccountName,omitempty"` + // StorageAccountResourceGroupName - The table storage account resource group name + StorageAccountResourceGroupName *string `json:"storageAccountResourceGroupName,omitempty"` + // StorageAccountSecondaryKey - The secondary key of the auditing storage account. + StorageAccountSecondaryKey *string `json:"storageAccountSecondaryKey,omitempty"` + // StorageAccountSubscriptionID - The table storage subscription Id. + StorageAccountSubscriptionID *uuid.UUID `json:"storageAccountSubscriptionId,omitempty"` + // StorageTableEndpoint - The storage table endpoint. + StorageTableEndpoint *string `json:"storageTableEndpoint,omitempty"` +} + +// DatabaseUpdate represents a database update. +type DatabaseUpdate struct { + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` + // DatabaseProperties - The properties representing the resource. + *DatabaseProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for DatabaseUpdate. +func (du DatabaseUpdate) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if du.Tags != nil { + objectMap["tags"] = du.Tags + } + if du.DatabaseProperties != nil { + objectMap["properties"] = du.DatabaseProperties + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for DatabaseUpdate struct. +func (du *DatabaseUpdate) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + du.Tags = tags + } + case "properties": + if v != nil { + var databaseProperties DatabaseProperties + err = json.Unmarshal(*v, &databaseProperties) + if err != nil { + return err + } + du.DatabaseProperties = &databaseProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + du.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + du.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + du.Type = &typeVar + } + } + } + + return nil +} + +// DatabaseUsage the database usages. +type DatabaseUsage struct { + // Name - READ-ONLY; The name of the usage metric. + Name *string `json:"name,omitempty"` + // ResourceName - READ-ONLY; The name of the resource. + ResourceName *string `json:"resourceName,omitempty"` + // DisplayName - READ-ONLY; The usage metric display name. + DisplayName *string `json:"displayName,omitempty"` + // CurrentValue - READ-ONLY; The current value of the usage metric. + CurrentValue *float64 `json:"currentValue,omitempty"` + // Limit - READ-ONLY; The current limit of the usage metric. + Limit *float64 `json:"limit,omitempty"` + // Unit - READ-ONLY; The units of the usage metric. + Unit *string `json:"unit,omitempty"` + // NextResetTime - READ-ONLY; The next reset time for the usage metric (ISO8601 format). + NextResetTime *date.Time `json:"nextResetTime,omitempty"` +} + +// DatabaseUsageListResult the response to a list database metrics request. +type DatabaseUsageListResult struct { + autorest.Response `json:"-"` + // Value - The list of database usages for the database. + Value *[]DatabaseUsage `json:"value,omitempty"` +} + +// DataMaskingPolicy represents a database data masking policy. +type DataMaskingPolicy struct { + autorest.Response `json:"-"` + // DataMaskingPolicyProperties - The properties of the data masking policy. + *DataMaskingPolicyProperties `json:"properties,omitempty"` + // Location - READ-ONLY; The location of the data masking policy. + Location *string `json:"location,omitempty"` + // Kind - READ-ONLY; The kind of data masking policy. Metadata, used for Azure portal. + Kind *string `json:"kind,omitempty"` + // ID - READ-ONLY; Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for DataMaskingPolicy. +func (dmp DataMaskingPolicy) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if dmp.DataMaskingPolicyProperties != nil { + objectMap["properties"] = dmp.DataMaskingPolicyProperties + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for DataMaskingPolicy struct. +func (dmp *DataMaskingPolicy) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var dataMaskingPolicyProperties DataMaskingPolicyProperties + err = json.Unmarshal(*v, &dataMaskingPolicyProperties) + if err != nil { + return err + } + dmp.DataMaskingPolicyProperties = &dataMaskingPolicyProperties + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + dmp.Location = &location + } + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + dmp.Kind = &kind + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + dmp.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + dmp.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + dmp.Type = &typeVar + } + } + } + + return nil +} + +// DataMaskingPolicyProperties the properties of a database data masking policy. +type DataMaskingPolicyProperties struct { + // DataMaskingState - The state of the data masking policy. Possible values include: 'DataMaskingStateDisabled', 'DataMaskingStateEnabled' + DataMaskingState DataMaskingState `json:"dataMaskingState,omitempty"` + // ExemptPrincipals - The list of the exempt principals. Specifies the semicolon-separated list of database users for which the data masking policy does not apply. The specified users receive data results without masking for all of the database queries. + ExemptPrincipals *string `json:"exemptPrincipals,omitempty"` + // ApplicationPrincipals - READ-ONLY; The list of the application principals. This is a legacy parameter and is no longer used. + ApplicationPrincipals *string `json:"applicationPrincipals,omitempty"` + // MaskingLevel - READ-ONLY; The masking level. This is a legacy parameter and is no longer used. + MaskingLevel *string `json:"maskingLevel,omitempty"` +} + +// DataMaskingRule represents a database data masking rule. +type DataMaskingRule struct { + autorest.Response `json:"-"` + // DataMaskingRuleProperties - The properties of the resource. + *DataMaskingRuleProperties `json:"properties,omitempty"` + // Location - READ-ONLY; The location of the data masking rule. + Location *string `json:"location,omitempty"` + // Kind - READ-ONLY; The kind of Data Masking Rule. Metadata, used for Azure portal. + Kind *string `json:"kind,omitempty"` + // ID - READ-ONLY; Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for DataMaskingRule. +func (dmr DataMaskingRule) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if dmr.DataMaskingRuleProperties != nil { + objectMap["properties"] = dmr.DataMaskingRuleProperties + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for DataMaskingRule struct. +func (dmr *DataMaskingRule) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var dataMaskingRuleProperties DataMaskingRuleProperties + err = json.Unmarshal(*v, &dataMaskingRuleProperties) + if err != nil { + return err + } + dmr.DataMaskingRuleProperties = &dataMaskingRuleProperties + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + dmr.Location = &location + } + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + dmr.Kind = &kind + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + dmr.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + dmr.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + dmr.Type = &typeVar + } + } + } + + return nil +} + +// DataMaskingRuleListResult the response to a list data masking rules request. +type DataMaskingRuleListResult struct { + autorest.Response `json:"-"` + // Value - The list of database data masking rules. + Value *[]DataMaskingRule `json:"value,omitempty"` +} + +// DataMaskingRuleProperties the properties of a database data masking rule. +type DataMaskingRuleProperties struct { + // ID - READ-ONLY; The rule Id. + ID *string `json:"id,omitempty"` + // AliasName - The alias name. This is a legacy parameter and is no longer used. + AliasName *string `json:"aliasName,omitempty"` + // RuleState - The rule state. Used to delete a rule. To delete an existing rule, specify the schemaName, tableName, columnName, maskingFunction, and specify ruleState as disabled. However, if the rule doesn't already exist, the rule will be created with ruleState set to enabled, regardless of the provided value of ruleState. Possible values include: 'DataMaskingRuleStateDisabled', 'DataMaskingRuleStateEnabled' + RuleState DataMaskingRuleState `json:"ruleState,omitempty"` + // SchemaName - The schema name on which the data masking rule is applied. + SchemaName *string `json:"schemaName,omitempty"` + // TableName - The table name on which the data masking rule is applied. + TableName *string `json:"tableName,omitempty"` + // ColumnName - The column name on which the data masking rule is applied. + ColumnName *string `json:"columnName,omitempty"` + // MaskingFunction - The masking function that is used for the data masking rule. Possible values include: 'DataMaskingFunctionDefault', 'DataMaskingFunctionCCN', 'DataMaskingFunctionEmail', 'DataMaskingFunctionNumber', 'DataMaskingFunctionSSN', 'DataMaskingFunctionText' + MaskingFunction DataMaskingFunction `json:"maskingFunction,omitempty"` + // NumberFrom - The numberFrom property of the masking rule. Required if maskingFunction is set to Number, otherwise this parameter will be ignored. + NumberFrom *string `json:"numberFrom,omitempty"` + // NumberTo - The numberTo property of the data masking rule. Required if maskingFunction is set to Number, otherwise this parameter will be ignored. + NumberTo *string `json:"numberTo,omitempty"` + // PrefixSize - If maskingFunction is set to Text, the number of characters to show unmasked in the beginning of the string. Otherwise, this parameter will be ignored. + PrefixSize *string `json:"prefixSize,omitempty"` + // SuffixSize - If maskingFunction is set to Text, the number of characters to show unmasked at the end of the string. Otherwise, this parameter will be ignored. + SuffixSize *string `json:"suffixSize,omitempty"` + // ReplacementString - If maskingFunction is set to Text, the character to use for masking the unexposed part of the string. Otherwise, this parameter will be ignored. + ReplacementString *string `json:"replacementString,omitempty"` +} + +// DisasterRecoveryConfiguration represents a disaster recovery configuration. +type DisasterRecoveryConfiguration struct { + autorest.Response `json:"-"` + // DisasterRecoveryConfigurationProperties - The properties representing the resource. + *DisasterRecoveryConfigurationProperties `json:"properties,omitempty"` + // Location - READ-ONLY; Location of the server that contains this disaster recovery configuration. + Location *string `json:"location,omitempty"` + // ID - READ-ONLY; Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for DisasterRecoveryConfiguration. +func (drc DisasterRecoveryConfiguration) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if drc.DisasterRecoveryConfigurationProperties != nil { + objectMap["properties"] = drc.DisasterRecoveryConfigurationProperties + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for DisasterRecoveryConfiguration struct. +func (drc *DisasterRecoveryConfiguration) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var disasterRecoveryConfigurationProperties DisasterRecoveryConfigurationProperties + err = json.Unmarshal(*v, &disasterRecoveryConfigurationProperties) + if err != nil { + return err + } + drc.DisasterRecoveryConfigurationProperties = &disasterRecoveryConfigurationProperties + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + drc.Location = &location + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + drc.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + drc.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + drc.Type = &typeVar + } + } + } + + return nil +} + +// DisasterRecoveryConfigurationListResult represents the response to a List disaster recovery +// configuration request. +type DisasterRecoveryConfigurationListResult struct { + autorest.Response `json:"-"` + // Value - The list of disaster recovery configurations housed under the server. + Value *[]DisasterRecoveryConfiguration `json:"value,omitempty"` +} + +// DisasterRecoveryConfigurationProperties represents the properties of a disaster recovery configuration. +type DisasterRecoveryConfigurationProperties struct { + // Status - READ-ONLY; The status of the disaster recovery configuration. Possible values include: 'Creating', 'Ready', 'FailingOver', 'Dropping' + Status DisasterRecoveryConfigurationStatus `json:"status,omitempty"` + // AutoFailover - Whether or not failover can be done automatically. Possible values include: 'Off', 'On' + AutoFailover DisasterRecoveryConfigurationAutoFailover `json:"autoFailover,omitempty"` + // FailoverPolicy - How aggressive the automatic failover should be. Possible values include: 'Manual', 'Automatic' + FailoverPolicy DisasterRecoveryConfigurationFailoverPolicy `json:"failoverPolicy,omitempty"` + // PartnerServerID - Id of the partner server. + PartnerServerID *string `json:"partnerServerId,omitempty"` + // LogicalServerName - READ-ONLY; Logical name of the server. + LogicalServerName *string `json:"logicalServerName,omitempty"` + // PartnerLogicalServerName - READ-ONLY; Logical name of the partner server. + PartnerLogicalServerName *string `json:"partnerLogicalServerName,omitempty"` + // Role - READ-ONLY; The role of the current server in the disaster recovery configuration. Possible values include: 'None', 'Primary', 'Secondary' + Role DisasterRecoveryConfigurationRole `json:"role,omitempty"` +} + +// DisasterRecoveryConfigurationsCreateOrUpdateFuture an abstraction for monitoring and retrieving the +// results of a long-running operation. +type DisasterRecoveryConfigurationsCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *DisasterRecoveryConfigurationsCreateOrUpdateFuture) Result(client DisasterRecoveryConfigurationsClient) (drc DisasterRecoveryConfiguration, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DisasterRecoveryConfigurationsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("sql.DisasterRecoveryConfigurationsCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if drc.Response.Response, err = future.GetResult(sender); err == nil && drc.Response.Response.StatusCode != http.StatusNoContent { + drc, err = client.CreateOrUpdateResponder(drc.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DisasterRecoveryConfigurationsCreateOrUpdateFuture", "Result", drc.Response.Response, "Failure responding to request") + } + } + return +} + +// DisasterRecoveryConfigurationsDeleteFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type DisasterRecoveryConfigurationsDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *DisasterRecoveryConfigurationsDeleteFuture) Result(client DisasterRecoveryConfigurationsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DisasterRecoveryConfigurationsDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("sql.DisasterRecoveryConfigurationsDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// DisasterRecoveryConfigurationsFailoverAllowDataLossFuture an abstraction for monitoring and retrieving +// the results of a long-running operation. +type DisasterRecoveryConfigurationsFailoverAllowDataLossFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *DisasterRecoveryConfigurationsFailoverAllowDataLossFuture) Result(client DisasterRecoveryConfigurationsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DisasterRecoveryConfigurationsFailoverAllowDataLossFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("sql.DisasterRecoveryConfigurationsFailoverAllowDataLossFuture") + return + } + ar.Response = future.Response() + return +} + +// DisasterRecoveryConfigurationsFailoverFuture an abstraction for monitoring and retrieving the results of +// a long-running operation. +type DisasterRecoveryConfigurationsFailoverFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *DisasterRecoveryConfigurationsFailoverFuture) Result(client DisasterRecoveryConfigurationsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.DisasterRecoveryConfigurationsFailoverFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("sql.DisasterRecoveryConfigurationsFailoverFuture") + return + } + ar.Response = future.Response() + return +} + +// EditionCapability the database edition capabilities. +type EditionCapability struct { + // Name - READ-ONLY; The edition name. + Name *string `json:"name,omitempty"` + // Status - READ-ONLY; The status of the edition. Possible values include: 'CapabilityStatusVisible', 'CapabilityStatusAvailable', 'CapabilityStatusDefault', 'CapabilityStatusDisabled' + Status CapabilityStatus `json:"status,omitempty"` + // SupportedServiceLevelObjectives - READ-ONLY; The list of supported service objectives for the edition. + SupportedServiceLevelObjectives *[]ServiceObjectiveCapability `json:"supportedServiceLevelObjectives,omitempty"` + // ZoneRedundant - READ-ONLY; Whether or not zone redundancy is supported for the edition. + ZoneRedundant *bool `json:"zoneRedundant,omitempty"` +} + +// ElasticPool represents a database elastic pool. +type ElasticPool struct { + autorest.Response `json:"-"` + // ElasticPoolProperties - The properties representing the resource. + *ElasticPoolProperties `json:"properties,omitempty"` + // Kind - READ-ONLY; Kind of elastic pool. This is metadata used for the Azure portal experience. + Kind *string `json:"kind,omitempty"` + // Location - Resource location. + Location *string `json:"location,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` + // ID - READ-ONLY; Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for ElasticPool. +func (ep ElasticPool) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if ep.ElasticPoolProperties != nil { + objectMap["properties"] = ep.ElasticPoolProperties + } + if ep.Location != nil { + objectMap["location"] = ep.Location + } + if ep.Tags != nil { + objectMap["tags"] = ep.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ElasticPool struct. +func (ep *ElasticPool) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var elasticPoolProperties ElasticPoolProperties + err = json.Unmarshal(*v, &elasticPoolProperties) + if err != nil { + return err + } + ep.ElasticPoolProperties = &elasticPoolProperties + } + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + ep.Kind = &kind + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + ep.Location = &location + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + ep.Tags = tags + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + ep.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + ep.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ep.Type = &typeVar + } + } + } + + return nil +} + +// ElasticPoolActivity represents the activity on an elastic pool. +type ElasticPoolActivity struct { + // Location - The geo-location where the resource lives + Location *string `json:"location,omitempty"` + // ElasticPoolActivityProperties - The properties representing the resource. + *ElasticPoolActivityProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for ElasticPoolActivity. +func (epa ElasticPoolActivity) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if epa.Location != nil { + objectMap["location"] = epa.Location + } + if epa.ElasticPoolActivityProperties != nil { + objectMap["properties"] = epa.ElasticPoolActivityProperties + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ElasticPoolActivity struct. +func (epa *ElasticPoolActivity) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + epa.Location = &location + } + case "properties": + if v != nil { + var elasticPoolActivityProperties ElasticPoolActivityProperties + err = json.Unmarshal(*v, &elasticPoolActivityProperties) + if err != nil { + return err + } + epa.ElasticPoolActivityProperties = &elasticPoolActivityProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + epa.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + epa.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + epa.Type = &typeVar + } + } + } + + return nil +} + +// ElasticPoolActivityListResult represents the response to a list elastic pool activity request. +type ElasticPoolActivityListResult struct { + autorest.Response `json:"-"` + // Value - The list of elastic pool activities. + Value *[]ElasticPoolActivity `json:"value,omitempty"` +} + +// ElasticPoolActivityProperties represents the properties of an elastic pool. +type ElasticPoolActivityProperties struct { + // EndTime - READ-ONLY; The time the operation finished (ISO8601 format). + EndTime *date.Time `json:"endTime,omitempty"` + // ErrorCode - READ-ONLY; The error code if available. + ErrorCode *int32 `json:"errorCode,omitempty"` + // ErrorMessage - READ-ONLY; The error message if available. + ErrorMessage *string `json:"errorMessage,omitempty"` + // ErrorSeverity - READ-ONLY; The error severity if available. + ErrorSeverity *int32 `json:"errorSeverity,omitempty"` + // Operation - READ-ONLY; The operation name. + Operation *string `json:"operation,omitempty"` + // OperationID - READ-ONLY; The unique operation ID. + OperationID *uuid.UUID `json:"operationId,omitempty"` + // PercentComplete - READ-ONLY; The percentage complete if available. + PercentComplete *int32 `json:"percentComplete,omitempty"` + // RequestedDatabaseDtuMax - READ-ONLY; The requested max DTU per database if available. + RequestedDatabaseDtuMax *int32 `json:"requestedDatabaseDtuMax,omitempty"` + // RequestedDatabaseDtuMin - READ-ONLY; The requested min DTU per database if available. + RequestedDatabaseDtuMin *int32 `json:"requestedDatabaseDtuMin,omitempty"` + // RequestedDtu - READ-ONLY; The requested DTU for the pool if available. + RequestedDtu *int32 `json:"requestedDtu,omitempty"` + // RequestedElasticPoolName - READ-ONLY; The requested name for the elastic pool if available. + RequestedElasticPoolName *string `json:"requestedElasticPoolName,omitempty"` + // RequestedStorageLimitInGB - READ-ONLY; The requested storage limit for the pool in GB if available. + RequestedStorageLimitInGB *int64 `json:"requestedStorageLimitInGB,omitempty"` + // ElasticPoolName - READ-ONLY; The name of the elastic pool. + ElasticPoolName *string `json:"elasticPoolName,omitempty"` + // ServerName - READ-ONLY; The name of the server the elastic pool is in. + ServerName *string `json:"serverName,omitempty"` + // StartTime - READ-ONLY; The time the operation started (ISO8601 format). + StartTime *date.Time `json:"startTime,omitempty"` + // State - READ-ONLY; The current state of the operation. + State *string `json:"state,omitempty"` + // RequestedStorageLimitInMB - READ-ONLY; The requested storage limit in MB. + RequestedStorageLimitInMB *int32 `json:"requestedStorageLimitInMB,omitempty"` + // RequestedDatabaseDtuGuarantee - READ-ONLY; The requested per database DTU guarantee. + RequestedDatabaseDtuGuarantee *int32 `json:"requestedDatabaseDtuGuarantee,omitempty"` + // RequestedDatabaseDtuCap - READ-ONLY; The requested per database DTU cap. + RequestedDatabaseDtuCap *int32 `json:"requestedDatabaseDtuCap,omitempty"` + // RequestedDtuGuarantee - READ-ONLY; The requested DTU guarantee. + RequestedDtuGuarantee *int32 `json:"requestedDtuGuarantee,omitempty"` +} + +// ElasticPoolDatabaseActivity represents the activity on an elastic pool. +type ElasticPoolDatabaseActivity struct { + // Location - The geo-location where the resource lives + Location *string `json:"location,omitempty"` + // ElasticPoolDatabaseActivityProperties - The properties representing the resource. + *ElasticPoolDatabaseActivityProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for ElasticPoolDatabaseActivity. +func (epda ElasticPoolDatabaseActivity) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if epda.Location != nil { + objectMap["location"] = epda.Location + } + if epda.ElasticPoolDatabaseActivityProperties != nil { + objectMap["properties"] = epda.ElasticPoolDatabaseActivityProperties + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ElasticPoolDatabaseActivity struct. +func (epda *ElasticPoolDatabaseActivity) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + epda.Location = &location + } + case "properties": + if v != nil { + var elasticPoolDatabaseActivityProperties ElasticPoolDatabaseActivityProperties + err = json.Unmarshal(*v, &elasticPoolDatabaseActivityProperties) + if err != nil { + return err + } + epda.ElasticPoolDatabaseActivityProperties = &elasticPoolDatabaseActivityProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + epda.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + epda.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + epda.Type = &typeVar + } + } + } + + return nil +} + +// ElasticPoolDatabaseActivityListResult represents the response to a list elastic pool database activity +// request. +type ElasticPoolDatabaseActivityListResult struct { + autorest.Response `json:"-"` + // Value - The list of elastic pool database activities. + Value *[]ElasticPoolDatabaseActivity `json:"value,omitempty"` +} + +// ElasticPoolDatabaseActivityProperties represents the properties of an elastic pool database activity. +type ElasticPoolDatabaseActivityProperties struct { + // DatabaseName - READ-ONLY; The database name. + DatabaseName *string `json:"databaseName,omitempty"` + // EndTime - READ-ONLY; The time the operation finished (ISO8601 format). + EndTime *date.Time `json:"endTime,omitempty"` + // ErrorCode - READ-ONLY; The error code if available. + ErrorCode *int32 `json:"errorCode,omitempty"` + // ErrorMessage - READ-ONLY; The error message if available. + ErrorMessage *string `json:"errorMessage,omitempty"` + // ErrorSeverity - READ-ONLY; The error severity if available. + ErrorSeverity *int32 `json:"errorSeverity,omitempty"` + // Operation - READ-ONLY; The operation name. + Operation *string `json:"operation,omitempty"` + // OperationID - READ-ONLY; The unique operation ID. + OperationID *uuid.UUID `json:"operationId,omitempty"` + // PercentComplete - READ-ONLY; The percentage complete if available. + PercentComplete *int32 `json:"percentComplete,omitempty"` + // RequestedElasticPoolName - READ-ONLY; The name for the elastic pool the database is moving into if available. + RequestedElasticPoolName *string `json:"requestedElasticPoolName,omitempty"` + // CurrentElasticPoolName - READ-ONLY; The name of the current elastic pool the database is in if available. + CurrentElasticPoolName *string `json:"currentElasticPoolName,omitempty"` + // CurrentServiceObjective - READ-ONLY; The name of the current service objective if available. + CurrentServiceObjective *string `json:"currentServiceObjective,omitempty"` + // RequestedServiceObjective - READ-ONLY; The name of the requested service objective if available. + RequestedServiceObjective *string `json:"requestedServiceObjective,omitempty"` + // ServerName - READ-ONLY; The name of the server the elastic pool is in. + ServerName *string `json:"serverName,omitempty"` + // StartTime - READ-ONLY; The time the operation started (ISO8601 format). + StartTime *date.Time `json:"startTime,omitempty"` + // State - READ-ONLY; The current state of the operation. + State *string `json:"state,omitempty"` +} + +// ElasticPoolDtuCapability the Elastic Pool DTU capability. +type ElasticPoolDtuCapability struct { + // Limit - READ-ONLY; The maximum size of the database (see 'unit' for the units). + Limit *int64 `json:"limit,omitempty"` + // MaxDatabaseCount - READ-ONLY; The maximum number of databases supported. + MaxDatabaseCount *int64 `json:"maxDatabaseCount,omitempty"` + // Status - READ-ONLY; The status of the capability. Possible values include: 'CapabilityStatusVisible', 'CapabilityStatusAvailable', 'CapabilityStatusDefault', 'CapabilityStatusDisabled' + Status CapabilityStatus `json:"status,omitempty"` + // SupportedMaxSizes - READ-ONLY; The list of supported max sizes. + SupportedMaxSizes *[]MaxSizeCapability `json:"supportedMaxSizes,omitempty"` + // IncludedMaxSize - READ-ONLY; The included (free) max size for this service level objective. + IncludedMaxSize *MaxSizeCapability `json:"includedMaxSize,omitempty"` + // SupportedPerDatabaseMaxSizes - READ-ONLY; The list of supported max database sizes. + SupportedPerDatabaseMaxSizes *[]MaxSizeCapability `json:"supportedPerDatabaseMaxSizes,omitempty"` + // SupportedPerDatabaseMaxDtus - READ-ONLY; The list of supported max database DTUs. + SupportedPerDatabaseMaxDtus *[]ElasticPoolPerDatabaseMaxDtuCapability `json:"supportedPerDatabaseMaxDtus,omitempty"` +} + +// ElasticPoolEditionCapability the elastic pool edition capabilities. +type ElasticPoolEditionCapability struct { + // Name - READ-ONLY; The elastic pool edition name. + Name *string `json:"name,omitempty"` + // Status - READ-ONLY; The status of the elastic pool edition. Possible values include: 'CapabilityStatusVisible', 'CapabilityStatusAvailable', 'CapabilityStatusDefault', 'CapabilityStatusDisabled' + Status CapabilityStatus `json:"status,omitempty"` + // SupportedElasticPoolDtus - READ-ONLY; The list of supported elastic pool DTU levels for the edition. + SupportedElasticPoolDtus *[]ElasticPoolDtuCapability `json:"supportedElasticPoolDtus,omitempty"` + // ZoneRedundant - READ-ONLY; Whether or not zone redundancy is supported for the edition. + ZoneRedundant *bool `json:"zoneRedundant,omitempty"` +} + +// ElasticPoolListResult represents the response to a list elastic pool request. +type ElasticPoolListResult struct { + autorest.Response `json:"-"` + // Value - The list of elastic pools hosted in the server. + Value *[]ElasticPool `json:"value,omitempty"` +} + +// ElasticPoolPerDatabaseMaxDtuCapability the max per-database DTU capability. +type ElasticPoolPerDatabaseMaxDtuCapability struct { + // Limit - READ-ONLY; The maximum DTUs per database. + Limit *int64 `json:"limit,omitempty"` + // Status - READ-ONLY; The status of the capability. Possible values include: 'CapabilityStatusVisible', 'CapabilityStatusAvailable', 'CapabilityStatusDefault', 'CapabilityStatusDisabled' + Status CapabilityStatus `json:"status,omitempty"` + // SupportedPerDatabaseMinDtus - READ-ONLY; The list of supported min database DTUs. + SupportedPerDatabaseMinDtus *[]ElasticPoolPerDatabaseMinDtuCapability `json:"supportedPerDatabaseMinDtus,omitempty"` +} + +// ElasticPoolPerDatabaseMinDtuCapability the minimum per-database DTU capability. +type ElasticPoolPerDatabaseMinDtuCapability struct { + // Limit - READ-ONLY; The maximum DTUs per database. + Limit *int64 `json:"limit,omitempty"` + // Status - READ-ONLY; The status of the capability. Possible values include: 'CapabilityStatusVisible', 'CapabilityStatusAvailable', 'CapabilityStatusDefault', 'CapabilityStatusDisabled' + Status CapabilityStatus `json:"status,omitempty"` +} + +// ElasticPoolProperties represents the properties of an elastic pool. +type ElasticPoolProperties struct { + // CreationDate - READ-ONLY; The creation date of the elastic pool (ISO8601 format). + CreationDate *date.Time `json:"creationDate,omitempty"` + // State - READ-ONLY; The state of the elastic pool. Possible values include: 'ElasticPoolStateCreating', 'ElasticPoolStateReady', 'ElasticPoolStateDisabled' + State ElasticPoolState `json:"state,omitempty"` + // Edition - The edition of the elastic pool. Possible values include: 'ElasticPoolEditionBasic', 'ElasticPoolEditionStandard', 'ElasticPoolEditionPremium', 'ElasticPoolEditionGeneralPurpose', 'ElasticPoolEditionBusinessCritical' + Edition ElasticPoolEdition `json:"edition,omitempty"` + // Dtu - The total shared DTU for the database elastic pool. + Dtu *int32 `json:"dtu,omitempty"` + // DatabaseDtuMax - The maximum DTU any one database can consume. + DatabaseDtuMax *int32 `json:"databaseDtuMax,omitempty"` + // DatabaseDtuMin - The minimum DTU all databases are guaranteed. + DatabaseDtuMin *int32 `json:"databaseDtuMin,omitempty"` + // StorageMB - Gets storage limit for the database elastic pool in MB. + StorageMB *int32 `json:"storageMB,omitempty"` + // ZoneRedundant - Whether or not this database elastic pool is zone redundant, which means the replicas of this database will be spread across multiple availability zones. + ZoneRedundant *bool `json:"zoneRedundant,omitempty"` +} + +// ElasticPoolsCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type ElasticPoolsCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ElasticPoolsCreateOrUpdateFuture) Result(client ElasticPoolsClient) (ep ElasticPool, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ElasticPoolsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("sql.ElasticPoolsCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if ep.Response.Response, err = future.GetResult(sender); err == nil && ep.Response.Response.StatusCode != http.StatusNoContent { + ep, err = client.CreateOrUpdateResponder(ep.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ElasticPoolsCreateOrUpdateFuture", "Result", ep.Response.Response, "Failure responding to request") + } + } + return +} + +// ElasticPoolsUpdateFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type ElasticPoolsUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ElasticPoolsUpdateFuture) Result(client ElasticPoolsClient) (ep ElasticPool, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ElasticPoolsUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("sql.ElasticPoolsUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if ep.Response.Response, err = future.GetResult(sender); err == nil && ep.Response.Response.StatusCode != http.StatusNoContent { + ep, err = client.UpdateResponder(ep.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ElasticPoolsUpdateFuture", "Result", ep.Response.Response, "Failure responding to request") + } + } + return +} + +// ElasticPoolUpdate represents an elastic pool update. +type ElasticPoolUpdate struct { + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` + // ElasticPoolProperties - The properties representing the resource. + *ElasticPoolProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for ElasticPoolUpdate. +func (epu ElasticPoolUpdate) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if epu.Tags != nil { + objectMap["tags"] = epu.Tags + } + if epu.ElasticPoolProperties != nil { + objectMap["properties"] = epu.ElasticPoolProperties + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ElasticPoolUpdate struct. +func (epu *ElasticPoolUpdate) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + epu.Tags = tags + } + case "properties": + if v != nil { + var elasticPoolProperties ElasticPoolProperties + err = json.Unmarshal(*v, &elasticPoolProperties) + if err != nil { + return err + } + epu.ElasticPoolProperties = &elasticPoolProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + epu.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + epu.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + epu.Type = &typeVar + } + } + } + + return nil +} + +// ExportRequest export database parameters. +type ExportRequest struct { + // StorageKeyType - The type of the storage key to use. Possible values include: 'StorageAccessKey', 'SharedAccessKey' + StorageKeyType StorageKeyType `json:"storageKeyType,omitempty"` + // StorageKey - The storage key to use. If storage key type is SharedAccessKey, it must be preceded with a "?." + StorageKey *string `json:"storageKey,omitempty"` + // StorageURI - The storage uri to use. + StorageURI *string `json:"storageUri,omitempty"` + // AdministratorLogin - The name of the SQL administrator. + AdministratorLogin *string `json:"administratorLogin,omitempty"` + // AdministratorLoginPassword - The password of the SQL administrator. + AdministratorLoginPassword *string `json:"administratorLoginPassword,omitempty"` + // AuthenticationType - The authentication type. Possible values include: 'SQL', 'ADPassword' + AuthenticationType AuthenticationType `json:"authenticationType,omitempty"` +} + +// ExtensionListResult represents the response to a list extensions request. +type ExtensionListResult struct { + autorest.Response `json:"-"` + // Value - The list of extensions. + Value *[]interface{} `json:"value,omitempty"` +} + +// FirewallRule represents a server firewall rule. +type FirewallRule struct { + autorest.Response `json:"-"` + // Kind - READ-ONLY; Kind of server that contains this firewall rule. + Kind *string `json:"kind,omitempty"` + // Location - READ-ONLY; Location of the server that contains this firewall rule. + Location *string `json:"location,omitempty"` + // FirewallRuleProperties - The properties representing the resource. + *FirewallRuleProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for FirewallRule. +func (fr FirewallRule) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if fr.FirewallRuleProperties != nil { + objectMap["properties"] = fr.FirewallRuleProperties + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for FirewallRule struct. +func (fr *FirewallRule) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + fr.Kind = &kind + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + fr.Location = &location + } + case "properties": + if v != nil { + var firewallRuleProperties FirewallRuleProperties + err = json.Unmarshal(*v, &firewallRuleProperties) + if err != nil { + return err + } + fr.FirewallRuleProperties = &firewallRuleProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + fr.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + fr.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + fr.Type = &typeVar + } + } + } + + return nil +} + +// FirewallRuleListResult represents the response to a List Firewall Rules request. +type FirewallRuleListResult struct { + autorest.Response `json:"-"` + // Value - The list of server firewall rules. + Value *[]FirewallRule `json:"value,omitempty"` +} + +// FirewallRuleProperties represents the properties of a server firewall rule. +type FirewallRuleProperties struct { + // StartIPAddress - The start IP address of the firewall rule. Must be IPv4 format. Use value '0.0.0.0' to represent all Azure-internal IP addresses. + StartIPAddress *string `json:"startIpAddress,omitempty"` + // EndIPAddress - The end IP address of the firewall rule. Must be IPv4 format. Must be greater than or equal to startIpAddress. Use value '0.0.0.0' to represent all Azure-internal IP addresses. + EndIPAddress *string `json:"endIpAddress,omitempty"` +} + +// GeoBackupPolicy a database geo backup policy. +type GeoBackupPolicy struct { + autorest.Response `json:"-"` + // GeoBackupPolicyProperties - The properties of the geo backup policy. + *GeoBackupPolicyProperties `json:"properties,omitempty"` + // Kind - READ-ONLY; Kind of geo backup policy. This is metadata used for the Azure portal experience. + Kind *string `json:"kind,omitempty"` + // Location - READ-ONLY; Backup policy location. + Location *string `json:"location,omitempty"` + // ID - READ-ONLY; Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for GeoBackupPolicy. +func (gbp GeoBackupPolicy) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if gbp.GeoBackupPolicyProperties != nil { + objectMap["properties"] = gbp.GeoBackupPolicyProperties + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for GeoBackupPolicy struct. +func (gbp *GeoBackupPolicy) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var geoBackupPolicyProperties GeoBackupPolicyProperties + err = json.Unmarshal(*v, &geoBackupPolicyProperties) + if err != nil { + return err + } + gbp.GeoBackupPolicyProperties = &geoBackupPolicyProperties + } + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + gbp.Kind = &kind + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + gbp.Location = &location + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + gbp.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + gbp.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + gbp.Type = &typeVar + } + } + } + + return nil +} + +// GeoBackupPolicyListResult the response to a list geo backup policies request. +type GeoBackupPolicyListResult struct { + autorest.Response `json:"-"` + // Value - The list of geo backup policies. + Value *[]GeoBackupPolicy `json:"value,omitempty"` +} + +// GeoBackupPolicyProperties the properties of the geo backup policy. +type GeoBackupPolicyProperties struct { + // State - The state of the geo backup policy. Possible values include: 'GeoBackupPolicyStateDisabled', 'GeoBackupPolicyStateEnabled' + State GeoBackupPolicyState `json:"state,omitempty"` + // StorageType - READ-ONLY; The storage type of the geo backup policy. + StorageType *string `json:"storageType,omitempty"` +} + +// ImportExportResponse response for Import/Export Get operation. +type ImportExportResponse struct { + autorest.Response `json:"-"` + // ImportExportResponseProperties - The import/export operation properties. + *ImportExportResponseProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for ImportExportResponse. +func (ier ImportExportResponse) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if ier.ImportExportResponseProperties != nil { + objectMap["properties"] = ier.ImportExportResponseProperties + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ImportExportResponse struct. +func (ier *ImportExportResponse) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var importExportResponseProperties ImportExportResponseProperties + err = json.Unmarshal(*v, &importExportResponseProperties) + if err != nil { + return err + } + ier.ImportExportResponseProperties = &importExportResponseProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + ier.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + ier.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ier.Type = &typeVar + } + } + } + + return nil +} + +// ImportExportResponseProperties response for Import/Export Status operation. +type ImportExportResponseProperties struct { + // RequestType - READ-ONLY; The request type of the operation. + RequestType *string `json:"requestType,omitempty"` + // RequestID - READ-ONLY; The request type of the operation. + RequestID *uuid.UUID `json:"requestId,omitempty"` + // ServerName - READ-ONLY; The name of the server. + ServerName *string `json:"serverName,omitempty"` + // DatabaseName - READ-ONLY; The name of the database. + DatabaseName *string `json:"databaseName,omitempty"` + // Status - READ-ONLY; The status message returned from the server. + Status *string `json:"status,omitempty"` + // LastModifiedTime - READ-ONLY; The operation status last modified time. + LastModifiedTime *string `json:"lastModifiedTime,omitempty"` + // QueuedTime - READ-ONLY; The operation queued time. + QueuedTime *string `json:"queuedTime,omitempty"` + // BlobURI - READ-ONLY; The blob uri. + BlobURI *string `json:"blobUri,omitempty"` + // ErrorMessage - READ-ONLY; The error message returned from the server. + ErrorMessage *string `json:"errorMessage,omitempty"` +} + +// ImportExtensionProperties represents the properties for an import operation +type ImportExtensionProperties struct { + // OperationMode - The type of import operation being performed. This is always Import. + OperationMode *string `json:"operationMode,omitempty"` + // StorageKeyType - The type of the storage key to use. Possible values include: 'StorageAccessKey', 'SharedAccessKey' + StorageKeyType StorageKeyType `json:"storageKeyType,omitempty"` + // StorageKey - The storage key to use. If storage key type is SharedAccessKey, it must be preceded with a "?." + StorageKey *string `json:"storageKey,omitempty"` + // StorageURI - The storage uri to use. + StorageURI *string `json:"storageUri,omitempty"` + // AdministratorLogin - The name of the SQL administrator. + AdministratorLogin *string `json:"administratorLogin,omitempty"` + // AdministratorLoginPassword - The password of the SQL administrator. + AdministratorLoginPassword *string `json:"administratorLoginPassword,omitempty"` + // AuthenticationType - The authentication type. Possible values include: 'SQL', 'ADPassword' + AuthenticationType AuthenticationType `json:"authenticationType,omitempty"` +} + +// ImportExtensionRequest import database parameters. +type ImportExtensionRequest struct { + // Name - The name of the extension. + Name *string `json:"name,omitempty"` + // Type - The type of the extension. + Type *string `json:"type,omitempty"` + // ImportExtensionProperties - Represents the properties of the resource. + *ImportExtensionProperties `json:"properties,omitempty"` +} + +// MarshalJSON is the custom marshaler for ImportExtensionRequest. +func (ier ImportExtensionRequest) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if ier.Name != nil { + objectMap["name"] = ier.Name + } + if ier.Type != nil { + objectMap["type"] = ier.Type + } + if ier.ImportExtensionProperties != nil { + objectMap["properties"] = ier.ImportExtensionProperties + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ImportExtensionRequest struct. +func (ier *ImportExtensionRequest) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + ier.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ier.Type = &typeVar + } + case "properties": + if v != nil { + var importExtensionProperties ImportExtensionProperties + err = json.Unmarshal(*v, &importExtensionProperties) + if err != nil { + return err + } + ier.ImportExtensionProperties = &importExtensionProperties + } + } + } + + return nil +} + +// ImportRequest import database parameters. +type ImportRequest struct { + // DatabaseName - The name of the database to import. + DatabaseName *string `json:"databaseName,omitempty"` + // Edition - The edition for the database being created. + // + // The list of SKUs may vary by region and support offer. To determine the SKUs (including the SKU name, tier/edition, family, and capacity) that are available to your subscription in an Azure region, use the `Capabilities_ListByLocation` REST API or one of the following commands: + // + // ```azurecli + // az sql db list-editions -l -o table + // ```` + // + // ```powershell + // Get-AzSqlServerServiceObjective -Location + // ```` + // . Possible values include: 'Web', 'Business', 'Basic', 'Standard', 'Premium', 'PremiumRS', 'Free', 'Stretch', 'DataWarehouse', 'System', 'System2', 'GeneralPurpose', 'BusinessCritical', 'Hyperscale' + Edition DatabaseEdition `json:"edition,omitempty"` + // ServiceObjectiveName - The name of the service objective to assign to the database. Possible values include: 'ServiceObjectiveNameSystem', 'ServiceObjectiveNameSystem0', 'ServiceObjectiveNameSystem1', 'ServiceObjectiveNameSystem2', 'ServiceObjectiveNameSystem3', 'ServiceObjectiveNameSystem4', 'ServiceObjectiveNameSystem2L', 'ServiceObjectiveNameSystem3L', 'ServiceObjectiveNameSystem4L', 'ServiceObjectiveNameFree', 'ServiceObjectiveNameBasic', 'ServiceObjectiveNameS0', 'ServiceObjectiveNameS1', 'ServiceObjectiveNameS2', 'ServiceObjectiveNameS3', 'ServiceObjectiveNameS4', 'ServiceObjectiveNameS6', 'ServiceObjectiveNameS7', 'ServiceObjectiveNameS9', 'ServiceObjectiveNameS12', 'ServiceObjectiveNameP1', 'ServiceObjectiveNameP2', 'ServiceObjectiveNameP3', 'ServiceObjectiveNameP4', 'ServiceObjectiveNameP6', 'ServiceObjectiveNameP11', 'ServiceObjectiveNameP15', 'ServiceObjectiveNamePRS1', 'ServiceObjectiveNamePRS2', 'ServiceObjectiveNamePRS4', 'ServiceObjectiveNamePRS6', 'ServiceObjectiveNameDW100', 'ServiceObjectiveNameDW200', 'ServiceObjectiveNameDW300', 'ServiceObjectiveNameDW400', 'ServiceObjectiveNameDW500', 'ServiceObjectiveNameDW600', 'ServiceObjectiveNameDW1000', 'ServiceObjectiveNameDW1200', 'ServiceObjectiveNameDW1000c', 'ServiceObjectiveNameDW1500', 'ServiceObjectiveNameDW1500c', 'ServiceObjectiveNameDW2000', 'ServiceObjectiveNameDW2000c', 'ServiceObjectiveNameDW3000', 'ServiceObjectiveNameDW2500c', 'ServiceObjectiveNameDW3000c', 'ServiceObjectiveNameDW6000', 'ServiceObjectiveNameDW5000c', 'ServiceObjectiveNameDW6000c', 'ServiceObjectiveNameDW7500c', 'ServiceObjectiveNameDW10000c', 'ServiceObjectiveNameDW15000c', 'ServiceObjectiveNameDW30000c', 'ServiceObjectiveNameDS100', 'ServiceObjectiveNameDS200', 'ServiceObjectiveNameDS300', 'ServiceObjectiveNameDS400', 'ServiceObjectiveNameDS500', 'ServiceObjectiveNameDS600', 'ServiceObjectiveNameDS1000', 'ServiceObjectiveNameDS1200', 'ServiceObjectiveNameDS1500', 'ServiceObjectiveNameDS2000', 'ServiceObjectiveNameElasticPool' + ServiceObjectiveName ServiceObjectiveName `json:"serviceObjectiveName,omitempty"` + // MaxSizeBytes - The maximum size for the newly imported database. + MaxSizeBytes *string `json:"maxSizeBytes,omitempty"` + // StorageKeyType - The type of the storage key to use. Possible values include: 'StorageAccessKey', 'SharedAccessKey' + StorageKeyType StorageKeyType `json:"storageKeyType,omitempty"` + // StorageKey - The storage key to use. If storage key type is SharedAccessKey, it must be preceded with a "?." + StorageKey *string `json:"storageKey,omitempty"` + // StorageURI - The storage uri to use. + StorageURI *string `json:"storageUri,omitempty"` + // AdministratorLogin - The name of the SQL administrator. + AdministratorLogin *string `json:"administratorLogin,omitempty"` + // AdministratorLoginPassword - The password of the SQL administrator. + AdministratorLoginPassword *string `json:"administratorLoginPassword,omitempty"` + // AuthenticationType - The authentication type. Possible values include: 'SQL', 'ADPassword' + AuthenticationType AuthenticationType `json:"authenticationType,omitempty"` +} + +// LocationCapabilities the capabilities for a location. +type LocationCapabilities struct { + autorest.Response `json:"-"` + // Name - READ-ONLY; The location name. + Name *string `json:"name,omitempty"` + // Status - READ-ONLY; Azure SQL Database's status for the location. Possible values include: 'CapabilityStatusVisible', 'CapabilityStatusAvailable', 'CapabilityStatusDefault', 'CapabilityStatusDisabled' + Status CapabilityStatus `json:"status,omitempty"` + // SupportedServerVersions - READ-ONLY; The list of supported server versions. + SupportedServerVersions *[]ServerVersionCapability `json:"supportedServerVersions,omitempty"` +} + +// MaxSizeCapability the maximum size limits for a database. +type MaxSizeCapability struct { + // Limit - READ-ONLY; The maximum size of the database (see 'unit' for the units). + Limit *int64 `json:"limit,omitempty"` + // Unit - READ-ONLY; The units that the limit is expressed in. Possible values include: 'Megabytes', 'Gigabytes', 'Terabytes', 'Petabytes' + Unit MaxSizeUnits `json:"unit,omitempty"` + // Status - READ-ONLY; The status of the maximum size capability. Possible values include: 'CapabilityStatusVisible', 'CapabilityStatusAvailable', 'CapabilityStatusDefault', 'CapabilityStatusDisabled' + Status CapabilityStatus `json:"status,omitempty"` +} + +// Metric database metrics. +type Metric struct { + // StartTime - READ-ONLY; The start time for the metric (ISO-8601 format). + StartTime *date.Time `json:"startTime,omitempty"` + // EndTime - READ-ONLY; The end time for the metric (ISO-8601 format). + EndTime *date.Time `json:"endTime,omitempty"` + // TimeGrain - READ-ONLY; The time step to be used to summarize the metric values. + TimeGrain *string `json:"timeGrain,omitempty"` + // Unit - READ-ONLY; The unit of the metric. Possible values include: 'UnitTypeCount', 'UnitTypeBytes', 'UnitTypeSeconds', 'UnitTypePercent', 'UnitTypeCountPerSecond', 'UnitTypeBytesPerSecond' + Unit UnitType `json:"unit,omitempty"` + // Name - READ-ONLY; The name information for the metric. + Name *MetricName `json:"name,omitempty"` + // MetricValues - READ-ONLY; The metric values for the specified time window and timestep. + MetricValues *[]MetricValue `json:"metricValues,omitempty"` +} + +// MetricAvailability a metric availability value. +type MetricAvailability struct { + // Retention - READ-ONLY; The length of retention for the database metric. + Retention *string `json:"retention,omitempty"` + // TimeGrain - READ-ONLY; The granularity of the database metric. + TimeGrain *string `json:"timeGrain,omitempty"` +} + +// MetricDefinition a database metric definition. +type MetricDefinition struct { + // Name - READ-ONLY; The name information for the metric. + Name *MetricName `json:"name,omitempty"` + // PrimaryAggregationType - READ-ONLY; The primary aggregation type defining how metric values are displayed. Possible values include: 'PrimaryAggregationTypeNone', 'PrimaryAggregationTypeAverage', 'PrimaryAggregationTypeCount', 'PrimaryAggregationTypeMinimum', 'PrimaryAggregationTypeMaximum', 'PrimaryAggregationTypeTotal' + PrimaryAggregationType PrimaryAggregationType `json:"primaryAggregationType,omitempty"` + // ResourceURI - READ-ONLY; The resource uri of the database. + ResourceURI *string `json:"resourceUri,omitempty"` + // Unit - READ-ONLY; The unit of the metric. Possible values include: 'Count', 'Bytes', 'Seconds', 'Percent', 'CountPerSecond', 'BytesPerSecond' + Unit UnitDefinitionType `json:"unit,omitempty"` + // MetricAvailabilities - READ-ONLY; The list of database metric availabilities for the metric. + MetricAvailabilities *[]MetricAvailability `json:"metricAvailabilities,omitempty"` +} + +// MetricDefinitionListResult the response to a list database metric definitions request. +type MetricDefinitionListResult struct { + autorest.Response `json:"-"` + // Value - The list of metric definitions for the database. + Value *[]MetricDefinition `json:"value,omitempty"` +} + +// MetricListResult the response to a list database metrics request. +type MetricListResult struct { + autorest.Response `json:"-"` + // Value - The list of metrics for the database. + Value *[]Metric `json:"value,omitempty"` +} + +// MetricName a database metric name. +type MetricName struct { + // Value - READ-ONLY; The name of the database metric. + Value *string `json:"value,omitempty"` + // LocalizedValue - READ-ONLY; The friendly name of the database metric. + LocalizedValue *string `json:"localizedValue,omitempty"` +} + +// MetricValue represents database metrics. +type MetricValue struct { + // Count - READ-ONLY; The number of values for the metric. + Count *float64 `json:"count,omitempty"` + // Average - READ-ONLY; The average value of the metric. + Average *float64 `json:"average,omitempty"` + // Maximum - READ-ONLY; The max value of the metric. + Maximum *float64 `json:"maximum,omitempty"` + // Minimum - READ-ONLY; The min value of the metric. + Minimum *float64 `json:"minimum,omitempty"` + // Timestamp - READ-ONLY; The metric timestamp (ISO-8601 format). + Timestamp *date.Time `json:"timestamp,omitempty"` + // Total - READ-ONLY; The total value of the metric. + Total *float64 `json:"total,omitempty"` +} + +// Operation SQL REST API operation definition. +type Operation struct { + // Name - Operation name: {provider}/{resource}/{operation} + Name *string `json:"name,omitempty"` + // Display - Display metadata associated with the operation. + Display *OperationDisplay `json:"display,omitempty"` +} + +// OperationDisplay display metadata associated with the operation. +type OperationDisplay struct { + // Provider - Service provider: Microsoft SQL Database. + Provider *string `json:"provider,omitempty"` + // Resource - Resource on which the operation is performed: Server, Database, etc. + Resource *string `json:"resource,omitempty"` + // Operation - Type of operation: get, read, delete, etc. + Operation *string `json:"operation,omitempty"` +} + +// OperationImpact the impact of an operation, both in absolute and relative terms. +type OperationImpact struct { + // Name - READ-ONLY; The name of the impact dimension. + Name *string `json:"name,omitempty"` + // Unit - READ-ONLY; The unit in which estimated impact to dimension is measured. + Unit *string `json:"unit,omitempty"` + // ChangeValueAbsolute - READ-ONLY; The absolute impact to dimension. + ChangeValueAbsolute *float64 `json:"changeValueAbsolute,omitempty"` + // ChangeValueRelative - READ-ONLY; The relative impact to dimension (null if not applicable) + ChangeValueRelative *float64 `json:"changeValueRelative,omitempty"` +} + +// OperationListResult result of the request to list SQL operations. It contains a list of operations and a +// URL link to get the next set of results. +type OperationListResult struct { + autorest.Response `json:"-"` + // Value - List of SQL operations supported by the SQL resource provider. + Value *[]Operation `json:"value,omitempty"` + // NextLink - URL to get the next set of operation list results if there are any. + NextLink *string `json:"nextLink,omitempty"` +} + +// PerformanceLevel a possible performance level of a service objective capability. +type PerformanceLevel struct { + // Unit - READ-ONLY; Unit type used to measure service objective performance level. Possible values include: 'DTU' + Unit PerformanceLevelUnit `json:"unit,omitempty"` + // Value - READ-ONLY; Performance level value. + Value *int32 `json:"value,omitempty"` +} + +// ProxyResource ARM proxy resource. +type ProxyResource struct { + // ID - READ-ONLY; Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// QueryInterval a database query. +type QueryInterval struct { + // IntervalStartTime - READ-ONLY; The start time of the measurement interval (ISO8601 format). + IntervalStartTime *date.Time `json:"intervalStartTime,omitempty"` + // ExecutionCount - READ-ONLY; The number of times the query was executed during this interval. + ExecutionCount *float64 `json:"executionCount,omitempty"` + // Metrics - READ-ONLY; The list of query metrics during this interval. + Metrics *[]QueryMetric `json:"metrics,omitempty"` +} + +// QueryMetric a database query. +type QueryMetric struct { + // Name - READ-ONLY; The name of the metric + Name *string `json:"name,omitempty"` + // DisplayName - READ-ONLY; The name of the metric for display in user interface + DisplayName *string `json:"displayName,omitempty"` + // Unit - READ-ONLY; The unit of measurement. Possible values include: 'Percentage', 'KB', 'Microseconds' + Unit QueryMetricUnit `json:"unit,omitempty"` + // Value - READ-ONLY; The measured value + Value *float64 `json:"value,omitempty"` +} + +// QueryStatistic a database query. +type QueryStatistic struct { + // QueryID - READ-ONLY; The id of the query + QueryID *string `json:"queryId,omitempty"` + // Intervals - READ-ONLY; The list of query intervals. + Intervals *[]QueryInterval `json:"intervals,omitempty"` +} + +// QueryStatisticListResult represents the response to a get query request. +type QueryStatisticListResult struct { + autorest.Response `json:"-"` + // Value - The query. + Value *[]QueryStatistic `json:"value,omitempty"` +} + +// QueryText ... +type QueryText struct { + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // QueryText - READ-ONLY; Query text. + QueryText *string `json:"queryText,omitempty"` +} + +// QueryTextListResult represents the response to a get query text request. +type QueryTextListResult struct { + autorest.Response `json:"-"` + // Value - The query text. + Value *[]QueryText `json:"value,omitempty"` +} + +// RecommendedElasticPool represents a recommended elastic pool. +type RecommendedElasticPool struct { + autorest.Response `json:"-"` + // RecommendedElasticPoolProperties - The properties representing the resource. + *RecommendedElasticPoolProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for RecommendedElasticPool. +func (rep RecommendedElasticPool) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if rep.RecommendedElasticPoolProperties != nil { + objectMap["properties"] = rep.RecommendedElasticPoolProperties + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for RecommendedElasticPool struct. +func (rep *RecommendedElasticPool) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var recommendedElasticPoolProperties RecommendedElasticPoolProperties + err = json.Unmarshal(*v, &recommendedElasticPoolProperties) + if err != nil { + return err + } + rep.RecommendedElasticPoolProperties = &recommendedElasticPoolProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + rep.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + rep.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + rep.Type = &typeVar + } + } + } + + return nil +} + +// RecommendedElasticPoolListMetricsResult represents the response to a list recommended elastic pool +// metrics request. +type RecommendedElasticPoolListMetricsResult struct { + autorest.Response `json:"-"` + // Value - The list of recommended elastic pools metrics. + Value *[]RecommendedElasticPoolMetric `json:"value,omitempty"` +} + +// RecommendedElasticPoolListResult represents the response to a list recommended elastic pool request. +type RecommendedElasticPoolListResult struct { + autorest.Response `json:"-"` + // Value - The list of recommended elastic pools hosted in the server. + Value *[]RecommendedElasticPool `json:"value,omitempty"` +} + +// RecommendedElasticPoolMetric represents recommended elastic pool metric. +type RecommendedElasticPoolMetric struct { + // DateTime - The time of metric (ISO8601 format). + DateTime *date.Time `json:"dateTime,omitempty"` + // Dtu - Gets or sets the DTUs (Database Transaction Units). See https://azure.microsoft.com/documentation/articles/sql-database-what-is-a-dtu/ + Dtu *float64 `json:"dtu,omitempty"` + // SizeGB - Gets or sets size in gigabytes. + SizeGB *float64 `json:"sizeGB,omitempty"` +} + +// RecommendedElasticPoolProperties represents the properties of a recommended elastic pool. +type RecommendedElasticPoolProperties struct { + // DatabaseEdition - READ-ONLY; The edition of the recommended elastic pool. The ElasticPoolEdition enumeration contains all the valid editions. Possible values include: 'ElasticPoolEditionBasic', 'ElasticPoolEditionStandard', 'ElasticPoolEditionPremium', 'ElasticPoolEditionGeneralPurpose', 'ElasticPoolEditionBusinessCritical' + DatabaseEdition ElasticPoolEdition `json:"databaseEdition,omitempty"` + // Dtu - The DTU for the recommended elastic pool. + Dtu *float64 `json:"dtu,omitempty"` + // DatabaseDtuMin - The minimum DTU for the database. + DatabaseDtuMin *float64 `json:"databaseDtuMin,omitempty"` + // DatabaseDtuMax - The maximum DTU for the database. + DatabaseDtuMax *float64 `json:"databaseDtuMax,omitempty"` + // StorageMB - Gets storage size in megabytes. + StorageMB *float64 `json:"storageMB,omitempty"` + // ObservationPeriodStart - READ-ONLY; The observation period start (ISO8601 format). + ObservationPeriodStart *date.Time `json:"observationPeriodStart,omitempty"` + // ObservationPeriodEnd - READ-ONLY; The observation period start (ISO8601 format). + ObservationPeriodEnd *date.Time `json:"observationPeriodEnd,omitempty"` + // MaxObservedDtu - READ-ONLY; Gets maximum observed DTU. + MaxObservedDtu *float64 `json:"maxObservedDtu,omitempty"` + // MaxObservedStorageMB - READ-ONLY; Gets maximum observed storage in megabytes. + MaxObservedStorageMB *float64 `json:"maxObservedStorageMB,omitempty"` + // Databases - READ-ONLY; The list of databases in this pool. Expanded property + Databases *[]Database `json:"databases,omitempty"` + // Metrics - READ-ONLY; The list of databases housed in the server. Expanded property + Metrics *[]RecommendedElasticPoolMetric `json:"metrics,omitempty"` +} + +// RecommendedIndex represents a database recommended index. +type RecommendedIndex struct { + // RecommendedIndexProperties - READ-ONLY; The properties representing the resource. + *RecommendedIndexProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for RecommendedIndex. +func (ri RecommendedIndex) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for RecommendedIndex struct. +func (ri *RecommendedIndex) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) if err != nil { - err = autorest.NewErrorWithError(err, "sql.DatabasesResumeFuture", "Result", future.Response(), "Polling failure") - return + return err } - if !done { - err = azure.NewAsyncOpIncompleteError("sql.DatabasesResumeFuture") - return + for k, v := range m { + switch k { + case "properties": + if v != nil { + var recommendedIndexProperties RecommendedIndexProperties + err = json.Unmarshal(*v, &recommendedIndexProperties) + if err != nil { + return err + } + ri.RecommendedIndexProperties = &recommendedIndexProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + ri.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + ri.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ri.Type = &typeVar + } + } } - ar.Response = future.Response() - return + + return nil } -// DatabasesUpdateFuture an abstraction for monitoring and retrieving the results of a long-running -// operation. -type DatabasesUpdateFuture struct { - azure.Future +// RecommendedIndexProperties represents the properties of a database recommended index. +type RecommendedIndexProperties struct { + // Action - READ-ONLY; The proposed index action. You can create a missing index, drop an unused index, or rebuild an existing index to improve its performance. Possible values include: 'Create', 'Drop', 'Rebuild' + Action RecommendedIndexAction `json:"action,omitempty"` + // State - READ-ONLY; The current recommendation state. Possible values include: 'Active', 'Pending', 'Executing', 'Verifying', 'PendingRevert', 'Reverting', 'Reverted', 'Ignored', 'Expired', 'Blocked', 'Success' + State RecommendedIndexState `json:"state,omitempty"` + // Created - READ-ONLY; The UTC datetime showing when this resource was created (ISO8601 format). + Created *date.Time `json:"created,omitempty"` + // LastModified - READ-ONLY; The UTC datetime of when was this resource last changed (ISO8601 format). + LastModified *date.Time `json:"lastModified,omitempty"` + // IndexType - READ-ONLY; The type of index (CLUSTERED, NONCLUSTERED, COLUMNSTORE, CLUSTERED COLUMNSTORE). Possible values include: 'CLUSTERED', 'NONCLUSTERED', 'COLUMNSTORE', 'CLUSTEREDCOLUMNSTORE' + IndexType RecommendedIndexType `json:"indexType,omitempty"` + // Schema - READ-ONLY; The schema where table to build index over resides + Schema *string `json:"schema,omitempty"` + // Table - READ-ONLY; The table on which to build index. + Table *string `json:"table,omitempty"` + // Columns - READ-ONLY; Columns over which to build index + Columns *[]string `json:"columns,omitempty"` + // IncludedColumns - READ-ONLY; The list of column names to be included in the index + IncludedColumns *[]string `json:"includedColumns,omitempty"` + // IndexScript - READ-ONLY; The full build index script + IndexScript *string `json:"indexScript,omitempty"` + // EstimatedImpact - READ-ONLY; The estimated impact of doing recommended index action. + EstimatedImpact *[]OperationImpact `json:"estimatedImpact,omitempty"` + // ReportedImpact - READ-ONLY; The values reported after index action is complete. + ReportedImpact *[]OperationImpact `json:"reportedImpact,omitempty"` } -// Result returns the result of the asynchronous operation. -// If the operation has not completed it will return an error. -func (future *DatabasesUpdateFuture) Result(client DatabasesClient) (d Database, err error) { - var done bool - done, err = future.DoneWithContext(context.Background(), client) - if err != nil { - err = autorest.NewErrorWithError(err, "sql.DatabasesUpdateFuture", "Result", future.Response(), "Polling failure") - return +// RecoverableDatabase a recoverable database +type RecoverableDatabase struct { + autorest.Response `json:"-"` + // RecoverableDatabaseProperties - The properties of a recoverable database + *RecoverableDatabaseProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for RecoverableDatabase. +func (rd RecoverableDatabase) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if rd.RecoverableDatabaseProperties != nil { + objectMap["properties"] = rd.RecoverableDatabaseProperties } - if !done { - err = azure.NewAsyncOpIncompleteError("sql.DatabasesUpdateFuture") - return + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for RecoverableDatabase struct. +func (rd *RecoverableDatabase) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err } - sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) - if d.Response.Response, err = future.GetResult(sender); err == nil && d.Response.Response.StatusCode != http.StatusNoContent { - d, err = client.UpdateResponder(d.Response.Response) - if err != nil { - err = autorest.NewErrorWithError(err, "sql.DatabasesUpdateFuture", "Result", d.Response.Response, "Failure responding to request") + for k, v := range m { + switch k { + case "properties": + if v != nil { + var recoverableDatabaseProperties RecoverableDatabaseProperties + err = json.Unmarshal(*v, &recoverableDatabaseProperties) + if err != nil { + return err + } + rd.RecoverableDatabaseProperties = &recoverableDatabaseProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + rd.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + rd.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + rd.Type = &typeVar + } } } - return + + return nil } -// DatabaseUpdate represents a database update. -type DatabaseUpdate struct { - // Tags - Resource tags. - Tags map[string]*string `json:"tags"` - // DatabaseProperties - The properties representing the resource. - *DatabaseProperties `json:"properties,omitempty"` +// RecoverableDatabaseListResult the response to a list recoverable databases request +type RecoverableDatabaseListResult struct { + autorest.Response `json:"-"` + // Value - A list of recoverable databases + Value *[]RecoverableDatabase `json:"value,omitempty"` +} + +// RecoverableDatabaseProperties the properties of a recoverable database +type RecoverableDatabaseProperties struct { + // Edition - READ-ONLY; The edition of the database + Edition *string `json:"edition,omitempty"` + // ServiceLevelObjective - READ-ONLY; The service level objective name of the database + ServiceLevelObjective *string `json:"serviceLevelObjective,omitempty"` + // ElasticPoolName - READ-ONLY; The elastic pool name of the database + ElasticPoolName *string `json:"elasticPoolName,omitempty"` + // LastAvailableBackupDate - READ-ONLY; The last available backup date of the database (ISO8601 format) + LastAvailableBackupDate *date.Time `json:"lastAvailableBackupDate,omitempty"` +} + +// ReplicationLink represents a database replication link. +type ReplicationLink struct { + autorest.Response `json:"-"` + // Location - READ-ONLY; Location of the server that contains this firewall rule. + Location *string `json:"location,omitempty"` + // ReplicationLinkProperties - The properties representing the resource. + *ReplicationLinkProperties `json:"properties,omitempty"` // ID - READ-ONLY; Resource ID. ID *string `json:"id,omitempty"` // Name - READ-ONLY; Resource name. @@ -1087,20 +4292,17 @@ type DatabaseUpdate struct { Type *string `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for DatabaseUpdate. -func (du DatabaseUpdate) MarshalJSON() ([]byte, error) { - objectMap := make(map[string]interface{}) - if du.Tags != nil { - objectMap["tags"] = du.Tags - } - if du.DatabaseProperties != nil { - objectMap["properties"] = du.DatabaseProperties +// MarshalJSON is the custom marshaler for ReplicationLink. +func (rl ReplicationLink) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if rl.ReplicationLinkProperties != nil { + objectMap["properties"] = rl.ReplicationLinkProperties } return json.Marshal(objectMap) } -// UnmarshalJSON is the custom unmarshaler for DatabaseUpdate struct. -func (du *DatabaseUpdate) UnmarshalJSON(body []byte) error { +// UnmarshalJSON is the custom unmarshaler for ReplicationLink struct. +func (rl *ReplicationLink) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -1108,23 +4310,23 @@ func (du *DatabaseUpdate) UnmarshalJSON(body []byte) error { } for k, v := range m { switch k { - case "tags": + case "location": if v != nil { - var tags map[string]*string - err = json.Unmarshal(*v, &tags) + var location string + err = json.Unmarshal(*v, &location) if err != nil { return err } - du.Tags = tags + rl.Location = &location } case "properties": if v != nil { - var databaseProperties DatabaseProperties - err = json.Unmarshal(*v, &databaseProperties) + var replicationLinkProperties ReplicationLinkProperties + err = json.Unmarshal(*v, &replicationLinkProperties) if err != nil { return err } - du.DatabaseProperties = &databaseProperties + rl.ReplicationLinkProperties = &replicationLinkProperties } case "id": if v != nil { @@ -1133,7 +4335,7 @@ func (du *DatabaseUpdate) UnmarshalJSON(body []byte) error { if err != nil { return err } - du.ID = &ID + rl.ID = &ID } case "name": if v != nil { @@ -1142,7 +4344,7 @@ func (du *DatabaseUpdate) UnmarshalJSON(body []byte) error { if err != nil { return err } - du.Name = &name + rl.Name = &name } case "type": if v != nil { @@ -1151,7 +4353,7 @@ func (du *DatabaseUpdate) UnmarshalJSON(body []byte) error { if err != nil { return err } - du.Type = &typeVar + rl.Type = &typeVar } } } @@ -1159,17 +4361,100 @@ func (du *DatabaseUpdate) UnmarshalJSON(body []byte) error { return nil } -// ElasticPool represents a database elastic pool. -type ElasticPool struct { +// ReplicationLinkListResult represents the response to a List database replication link request. +type ReplicationLinkListResult struct { autorest.Response `json:"-"` - // ElasticPoolProperties - The properties representing the resource. - *ElasticPoolProperties `json:"properties,omitempty"` - // Kind - READ-ONLY; Kind of elastic pool. This is metadata used for the Azure portal experience. - Kind *string `json:"kind,omitempty"` - // Location - Resource location. + // Value - The list of database replication links housed in the database. + Value *[]ReplicationLink `json:"value,omitempty"` +} + +// ReplicationLinkProperties represents the properties of a database replication link. +type ReplicationLinkProperties struct { + // IsTerminationAllowed - READ-ONLY; Legacy value indicating whether termination is allowed. Currently always returns true. + IsTerminationAllowed *bool `json:"isTerminationAllowed,omitempty"` + // ReplicationMode - READ-ONLY; Replication mode of this replication link. + ReplicationMode *string `json:"replicationMode,omitempty"` + // PartnerServer - READ-ONLY; The name of the server hosting the partner database. + PartnerServer *string `json:"partnerServer,omitempty"` + // PartnerDatabase - READ-ONLY; The name of the partner database. + PartnerDatabase *string `json:"partnerDatabase,omitempty"` + // PartnerLocation - READ-ONLY; The Azure Region of the partner database. + PartnerLocation *string `json:"partnerLocation,omitempty"` + // Role - READ-ONLY; The role of the database in the replication link. Possible values include: 'ReplicationRolePrimary', 'ReplicationRoleSecondary', 'ReplicationRoleNonReadableSecondary', 'ReplicationRoleSource', 'ReplicationRoleCopy' + Role ReplicationRole `json:"role,omitempty"` + // PartnerRole - READ-ONLY; The role of the partner database in the replication link. Possible values include: 'ReplicationRolePrimary', 'ReplicationRoleSecondary', 'ReplicationRoleNonReadableSecondary', 'ReplicationRoleSource', 'ReplicationRoleCopy' + PartnerRole ReplicationRole `json:"partnerRole,omitempty"` + // StartTime - READ-ONLY; The start time for the replication link. + StartTime *date.Time `json:"startTime,omitempty"` + // PercentComplete - READ-ONLY; The percentage of seeding complete for the replication link. + PercentComplete *int32 `json:"percentComplete,omitempty"` + // ReplicationState - READ-ONLY; The replication state for the replication link. Possible values include: 'PENDING', 'SEEDING', 'CATCHUP', 'SUSPENDED' + ReplicationState ReplicationState `json:"replicationState,omitempty"` +} + +// ReplicationLinksFailoverAllowDataLossFuture an abstraction for monitoring and retrieving the results of +// a long-running operation. +type ReplicationLinksFailoverAllowDataLossFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ReplicationLinksFailoverAllowDataLossFuture) Result(client ReplicationLinksClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ReplicationLinksFailoverAllowDataLossFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("sql.ReplicationLinksFailoverAllowDataLossFuture") + return + } + ar.Response = future.Response() + return +} + +// ReplicationLinksFailoverFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type ReplicationLinksFailoverFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ReplicationLinksFailoverFuture) Result(client ReplicationLinksClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ReplicationLinksFailoverFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("sql.ReplicationLinksFailoverFuture") + return + } + ar.Response = future.Response() + return +} + +// Resource ARM resource. +type Resource struct { + // ID - READ-ONLY; Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// RestorableDroppedDatabase a restorable dropped database +type RestorableDroppedDatabase struct { + autorest.Response `json:"-"` + // Location - READ-ONLY; The geo-location where the resource lives Location *string `json:"location,omitempty"` - // Tags - Resource tags. - Tags map[string]*string `json:"tags"` + // RestorableDroppedDatabaseProperties - The properties of a restorable dropped database + *RestorableDroppedDatabaseProperties `json:"properties,omitempty"` // ID - READ-ONLY; Resource ID. ID *string `json:"id,omitempty"` // Name - READ-ONLY; Resource name. @@ -1178,23 +4463,17 @@ type ElasticPool struct { Type *string `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for ElasticPool. -func (ep ElasticPool) MarshalJSON() ([]byte, error) { +// MarshalJSON is the custom marshaler for RestorableDroppedDatabase. +func (rdd RestorableDroppedDatabase) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) - if ep.ElasticPoolProperties != nil { - objectMap["properties"] = ep.ElasticPoolProperties - } - if ep.Location != nil { - objectMap["location"] = ep.Location - } - if ep.Tags != nil { - objectMap["tags"] = ep.Tags + if rdd.RestorableDroppedDatabaseProperties != nil { + objectMap["properties"] = rdd.RestorableDroppedDatabaseProperties } return json.Marshal(objectMap) } -// UnmarshalJSON is the custom unmarshaler for ElasticPool struct. -func (ep *ElasticPool) UnmarshalJSON(body []byte) error { +// UnmarshalJSON is the custom unmarshaler for RestorableDroppedDatabase struct. +func (rdd *RestorableDroppedDatabase) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -1202,24 +4481,6 @@ func (ep *ElasticPool) UnmarshalJSON(body []byte) error { } for k, v := range m { switch k { - case "properties": - if v != nil { - var elasticPoolProperties ElasticPoolProperties - err = json.Unmarshal(*v, &elasticPoolProperties) - if err != nil { - return err - } - ep.ElasticPoolProperties = &elasticPoolProperties - } - case "kind": - if v != nil { - var kind string - err = json.Unmarshal(*v, &kind) - if err != nil { - return err - } - ep.Kind = &kind - } case "location": if v != nil { var location string @@ -1227,16 +4488,16 @@ func (ep *ElasticPool) UnmarshalJSON(body []byte) error { if err != nil { return err } - ep.Location = &location + rdd.Location = &location } - case "tags": + case "properties": if v != nil { - var tags map[string]*string - err = json.Unmarshal(*v, &tags) + var restorableDroppedDatabaseProperties RestorableDroppedDatabaseProperties + err = json.Unmarshal(*v, &restorableDroppedDatabaseProperties) if err != nil { return err } - ep.Tags = tags + rdd.RestorableDroppedDatabaseProperties = &restorableDroppedDatabaseProperties } case "id": if v != nil { @@ -1245,7 +4506,7 @@ func (ep *ElasticPool) UnmarshalJSON(body []byte) error { if err != nil { return err } - ep.ID = &ID + rdd.ID = &ID } case "name": if v != nil { @@ -1254,7 +4515,7 @@ func (ep *ElasticPool) UnmarshalJSON(body []byte) error { if err != nil { return err } - ep.Name = &name + rdd.Name = &name } case "type": if v != nil { @@ -1263,7 +4524,7 @@ func (ep *ElasticPool) UnmarshalJSON(body []byte) error { if err != nil { return err } - ep.Type = &typeVar + rdd.Type = &typeVar } } } @@ -1271,12 +4532,37 @@ func (ep *ElasticPool) UnmarshalJSON(body []byte) error { return nil } -// ElasticPoolActivity represents the activity on an elastic pool. -type ElasticPoolActivity struct { - // Location - The geo-location where the resource lives - Location *string `json:"location,omitempty"` - // ElasticPoolActivityProperties - The properties representing the resource. - *ElasticPoolActivityProperties `json:"properties,omitempty"` +// RestorableDroppedDatabaseListResult the response to a list restorable dropped databases request +type RestorableDroppedDatabaseListResult struct { + autorest.Response `json:"-"` + // Value - A list of restorable dropped databases + Value *[]RestorableDroppedDatabase `json:"value,omitempty"` +} + +// RestorableDroppedDatabaseProperties the properties of a restorable dropped database +type RestorableDroppedDatabaseProperties struct { + // DatabaseName - READ-ONLY; The name of the database + DatabaseName *string `json:"databaseName,omitempty"` + // Edition - READ-ONLY; The edition of the database + Edition *string `json:"edition,omitempty"` + // MaxSizeBytes - READ-ONLY; The max size in bytes of the database + MaxSizeBytes *string `json:"maxSizeBytes,omitempty"` + // ServiceLevelObjective - READ-ONLY; The service level objective name of the database + ServiceLevelObjective *string `json:"serviceLevelObjective,omitempty"` + // ElasticPoolName - READ-ONLY; The elastic pool name of the database + ElasticPoolName *string `json:"elasticPoolName,omitempty"` + // CreationDate - READ-ONLY; The creation date of the database (ISO8601 format) + CreationDate *date.Time `json:"creationDate,omitempty"` + // DeletionDate - READ-ONLY; The deletion date of the database (ISO8601 format) + DeletionDate *date.Time `json:"deletionDate,omitempty"` + // EarliestRestoreDate - READ-ONLY; The earliest restore date of the database (ISO8601 format) + EarliestRestoreDate *date.Time `json:"earliestRestoreDate,omitempty"` +} + +// RestorePoint a database restore point. +type RestorePoint struct { + // RestorePointProperties - The properties of the restore point. + *RestorePointProperties `json:"properties,omitempty"` // ID - READ-ONLY; Resource ID. ID *string `json:"id,omitempty"` // Name - READ-ONLY; Resource name. @@ -1285,20 +4571,17 @@ type ElasticPoolActivity struct { Type *string `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for ElasticPoolActivity. -func (epa ElasticPoolActivity) MarshalJSON() ([]byte, error) { +// MarshalJSON is the custom marshaler for RestorePoint. +func (rp RestorePoint) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) - if epa.Location != nil { - objectMap["location"] = epa.Location - } - if epa.ElasticPoolActivityProperties != nil { - objectMap["properties"] = epa.ElasticPoolActivityProperties + if rp.RestorePointProperties != nil { + objectMap["properties"] = rp.RestorePointProperties } return json.Marshal(objectMap) } -// UnmarshalJSON is the custom unmarshaler for ElasticPoolActivity struct. -func (epa *ElasticPoolActivity) UnmarshalJSON(body []byte) error { +// UnmarshalJSON is the custom unmarshaler for RestorePoint struct. +func (rp *RestorePoint) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -1306,23 +4589,14 @@ func (epa *ElasticPoolActivity) UnmarshalJSON(body []byte) error { } for k, v := range m { switch k { - case "location": - if v != nil { - var location string - err = json.Unmarshal(*v, &location) - if err != nil { - return err - } - epa.Location = &location - } case "properties": if v != nil { - var elasticPoolActivityProperties ElasticPoolActivityProperties - err = json.Unmarshal(*v, &elasticPoolActivityProperties) + var restorePointProperties RestorePointProperties + err = json.Unmarshal(*v, &restorePointProperties) if err != nil { return err } - epa.ElasticPoolActivityProperties = &elasticPoolActivityProperties + rp.RestorePointProperties = &restorePointProperties } case "id": if v != nil { @@ -1331,7 +4605,7 @@ func (epa *ElasticPoolActivity) UnmarshalJSON(body []byte) error { if err != nil { return err } - epa.ID = &ID + rp.ID = &ID } case "name": if v != nil { @@ -1340,7 +4614,7 @@ func (epa *ElasticPoolActivity) UnmarshalJSON(body []byte) error { if err != nil { return err } - epa.Name = &name + rp.Name = &name } case "type": if v != nil { @@ -1349,71 +4623,42 @@ func (epa *ElasticPoolActivity) UnmarshalJSON(body []byte) error { if err != nil { return err } - epa.Type = &typeVar + rp.Type = &typeVar } } } - return nil -} - -// ElasticPoolActivityListResult represents the response to a list elastic pool activity request. -type ElasticPoolActivityListResult struct { - autorest.Response `json:"-"` - // Value - The list of elastic pool activities. - Value *[]ElasticPoolActivity `json:"value,omitempty"` -} - -// ElasticPoolActivityProperties represents the properties of an elastic pool. -type ElasticPoolActivityProperties struct { - // EndTime - READ-ONLY; The time the operation finished (ISO8601 format). - EndTime *date.Time `json:"endTime,omitempty"` - // ErrorCode - READ-ONLY; The error code if available. - ErrorCode *int32 `json:"errorCode,omitempty"` - // ErrorMessage - READ-ONLY; The error message if available. - ErrorMessage *string `json:"errorMessage,omitempty"` - // ErrorSeverity - READ-ONLY; The error severity if available. - ErrorSeverity *int32 `json:"errorSeverity,omitempty"` - // Operation - READ-ONLY; The operation name. - Operation *string `json:"operation,omitempty"` - // OperationID - READ-ONLY; The unique operation ID. - OperationID *uuid.UUID `json:"operationId,omitempty"` - // PercentComplete - READ-ONLY; The percentage complete if available. - PercentComplete *int32 `json:"percentComplete,omitempty"` - // RequestedDatabaseDtuMax - READ-ONLY; The requested max DTU per database if available. - RequestedDatabaseDtuMax *int32 `json:"requestedDatabaseDtuMax,omitempty"` - // RequestedDatabaseDtuMin - READ-ONLY; The requested min DTU per database if available. - RequestedDatabaseDtuMin *int32 `json:"requestedDatabaseDtuMin,omitempty"` - // RequestedDtu - READ-ONLY; The requested DTU for the pool if available. - RequestedDtu *int32 `json:"requestedDtu,omitempty"` - // RequestedElasticPoolName - READ-ONLY; The requested name for the elastic pool if available. - RequestedElasticPoolName *string `json:"requestedElasticPoolName,omitempty"` - // RequestedStorageLimitInGB - READ-ONLY; The requested storage limit for the pool in GB if available. - RequestedStorageLimitInGB *int64 `json:"requestedStorageLimitInGB,omitempty"` - // ElasticPoolName - READ-ONLY; The name of the elastic pool. - ElasticPoolName *string `json:"elasticPoolName,omitempty"` - // ServerName - READ-ONLY; The name of the server the elastic pool is in. - ServerName *string `json:"serverName,omitempty"` - // StartTime - READ-ONLY; The time the operation started (ISO8601 format). - StartTime *date.Time `json:"startTime,omitempty"` - // State - READ-ONLY; The current state of the operation. - State *string `json:"state,omitempty"` - // RequestedStorageLimitInMB - READ-ONLY; The requested storage limit in MB. - RequestedStorageLimitInMB *int32 `json:"requestedStorageLimitInMB,omitempty"` - // RequestedDatabaseDtuGuarantee - READ-ONLY; The requested per database DTU guarantee. - RequestedDatabaseDtuGuarantee *int32 `json:"requestedDatabaseDtuGuarantee,omitempty"` - // RequestedDatabaseDtuCap - READ-ONLY; The requested per database DTU cap. - RequestedDatabaseDtuCap *int32 `json:"requestedDatabaseDtuCap,omitempty"` - // RequestedDtuGuarantee - READ-ONLY; The requested DTU guarantee. - RequestedDtuGuarantee *int32 `json:"requestedDtuGuarantee,omitempty"` + return nil } -// ElasticPoolDatabaseActivity represents the activity on an elastic pool. -type ElasticPoolDatabaseActivity struct { - // Location - The geo-location where the resource lives +// RestorePointListResult the response to a list database restore points request. +type RestorePointListResult struct { + autorest.Response `json:"-"` + // Value - The list of database restore points. + Value *[]RestorePoint `json:"value,omitempty"` +} + +// RestorePointProperties represents the properties of a database restore point. +type RestorePointProperties struct { + // RestorePointType - READ-ONLY; The restore point type of the database restore point. Possible values include: 'DISCRETE', 'CONTINUOUS' + RestorePointType RestorePointType `json:"restorePointType,omitempty"` + // RestorePointCreationDate - READ-ONLY; Restore point creation time (ISO8601 format). Populated when restorePointType = CONTINUOUS. Null otherwise. + RestorePointCreationDate *date.Time `json:"restorePointCreationDate,omitempty"` + // EarliestRestoreDate - READ-ONLY; Earliest restore time (ISO8601 format). Populated when restorePointType = DISCRETE. Null otherwise. + EarliestRestoreDate *date.Time `json:"earliestRestoreDate,omitempty"` +} + +// Server represents a server. +type Server struct { + autorest.Response `json:"-"` + // Kind - READ-ONLY; Kind of sql server. This is metadata used for the Azure portal experience. + Kind *string `json:"kind,omitempty"` + // ServerProperties - Represents the properties of the resource. + *ServerProperties `json:"properties,omitempty"` + // Location - Resource location. Location *string `json:"location,omitempty"` - // ElasticPoolDatabaseActivityProperties - The properties representing the resource. - *ElasticPoolDatabaseActivityProperties `json:"properties,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` // ID - READ-ONLY; Resource ID. ID *string `json:"id,omitempty"` // Name - READ-ONLY; Resource name. @@ -1422,20 +4667,23 @@ type ElasticPoolDatabaseActivity struct { Type *string `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for ElasticPoolDatabaseActivity. -func (epda ElasticPoolDatabaseActivity) MarshalJSON() ([]byte, error) { +// MarshalJSON is the custom marshaler for Server. +func (s Server) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) - if epda.Location != nil { - objectMap["location"] = epda.Location + if s.ServerProperties != nil { + objectMap["properties"] = s.ServerProperties } - if epda.ElasticPoolDatabaseActivityProperties != nil { - objectMap["properties"] = epda.ElasticPoolDatabaseActivityProperties + if s.Location != nil { + objectMap["location"] = s.Location + } + if s.Tags != nil { + objectMap["tags"] = s.Tags } return json.Marshal(objectMap) } -// UnmarshalJSON is the custom unmarshaler for ElasticPoolDatabaseActivity struct. -func (epda *ElasticPoolDatabaseActivity) UnmarshalJSON(body []byte) error { +// UnmarshalJSON is the custom unmarshaler for Server struct. +func (s *Server) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -1443,6 +4691,24 @@ func (epda *ElasticPoolDatabaseActivity) UnmarshalJSON(body []byte) error { } for k, v := range m { switch k { + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + s.Kind = &kind + } + case "properties": + if v != nil { + var serverProperties ServerProperties + err = json.Unmarshal(*v, &serverProperties) + if err != nil { + return err + } + s.ServerProperties = &serverProperties + } case "location": if v != nil { var location string @@ -1450,16 +4716,16 @@ func (epda *ElasticPoolDatabaseActivity) UnmarshalJSON(body []byte) error { if err != nil { return err } - epda.Location = &location + s.Location = &location } - case "properties": + case "tags": if v != nil { - var elasticPoolDatabaseActivityProperties ElasticPoolDatabaseActivityProperties - err = json.Unmarshal(*v, &elasticPoolDatabaseActivityProperties) + var tags map[string]*string + err = json.Unmarshal(*v, &tags) if err != nil { return err } - epda.ElasticPoolDatabaseActivityProperties = &elasticPoolDatabaseActivityProperties + s.Tags = tags } case "id": if v != nil { @@ -1468,7 +4734,7 @@ func (epda *ElasticPoolDatabaseActivity) UnmarshalJSON(body []byte) error { if err != nil { return err } - epda.ID = &ID + s.ID = &ID } case "name": if v != nil { @@ -1477,7 +4743,7 @@ func (epda *ElasticPoolDatabaseActivity) UnmarshalJSON(body []byte) error { if err != nil { return err } - epda.Name = &name + s.Name = &name } case "type": if v != nil { @@ -1486,7 +4752,7 @@ func (epda *ElasticPoolDatabaseActivity) UnmarshalJSON(body []byte) error { if err != nil { return err } - epda.Type = &typeVar + s.Type = &typeVar } } } @@ -1494,139 +4760,30 @@ func (epda *ElasticPoolDatabaseActivity) UnmarshalJSON(body []byte) error { return nil } -// ElasticPoolDatabaseActivityListResult represents the response to a list elastic pool database activity -// request. -type ElasticPoolDatabaseActivityListResult struct { +// ServerAdministratorListResult the response to a list Active Directory Administrators request. +type ServerAdministratorListResult struct { autorest.Response `json:"-"` - // Value - The list of elastic pool database activities. - Value *[]ElasticPoolDatabaseActivity `json:"value,omitempty"` + // Value - The list of server Active Directory Administrators for the server. + Value *[]ServerAzureADAdministrator `json:"value,omitempty"` } -// ElasticPoolDatabaseActivityProperties represents the properties of an elastic pool database activity. -type ElasticPoolDatabaseActivityProperties struct { - // DatabaseName - READ-ONLY; The database name. - DatabaseName *string `json:"databaseName,omitempty"` - // EndTime - READ-ONLY; The time the operation finished (ISO8601 format). - EndTime *date.Time `json:"endTime,omitempty"` - // ErrorCode - READ-ONLY; The error code if available. - ErrorCode *int32 `json:"errorCode,omitempty"` - // ErrorMessage - READ-ONLY; The error message if available. - ErrorMessage *string `json:"errorMessage,omitempty"` - // ErrorSeverity - READ-ONLY; The error severity if available. - ErrorSeverity *int32 `json:"errorSeverity,omitempty"` - // Operation - READ-ONLY; The operation name. - Operation *string `json:"operation,omitempty"` - // OperationID - READ-ONLY; The unique operation ID. - OperationID *uuid.UUID `json:"operationId,omitempty"` - // PercentComplete - READ-ONLY; The percentage complete if available. - PercentComplete *int32 `json:"percentComplete,omitempty"` - // RequestedElasticPoolName - READ-ONLY; The name for the elastic pool the database is moving into if available. - RequestedElasticPoolName *string `json:"requestedElasticPoolName,omitempty"` - // CurrentElasticPoolName - READ-ONLY; The name of the current elastic pool the database is in if available. - CurrentElasticPoolName *string `json:"currentElasticPoolName,omitempty"` - // CurrentServiceObjective - READ-ONLY; The name of the current service objective if available. - CurrentServiceObjective *string `json:"currentServiceObjective,omitempty"` - // RequestedServiceObjective - READ-ONLY; The name of the requested service objective if available. - RequestedServiceObjective *string `json:"requestedServiceObjective,omitempty"` - // ServerName - READ-ONLY; The name of the server the elastic pool is in. - ServerName *string `json:"serverName,omitempty"` - // StartTime - READ-ONLY; The time the operation started (ISO8601 format). - StartTime *date.Time `json:"startTime,omitempty"` - // State - READ-ONLY; The current state of the operation. - State *string `json:"state,omitempty"` +// ServerAdministratorProperties the properties of an server Administrator. +type ServerAdministratorProperties struct { + // AdministratorType - The type of administrator. + AdministratorType *string `json:"administratorType,omitempty"` + // Login - The server administrator login value. + Login *string `json:"login,omitempty"` + // Sid - The server administrator Sid (Secure ID). + Sid *uuid.UUID `json:"sid,omitempty"` + // TenantID - The server Active Directory Administrator tenant id. + TenantID *uuid.UUID `json:"tenantId,omitempty"` } -// ElasticPoolListResult represents the response to a list elastic pool request. -type ElasticPoolListResult struct { +// ServerAzureADAdministrator an server Active Directory Administrator. +type ServerAzureADAdministrator struct { autorest.Response `json:"-"` - // Value - The list of elastic pools hosted in the server. - Value *[]ElasticPool `json:"value,omitempty"` -} - -// ElasticPoolProperties represents the properties of an elastic pool. -type ElasticPoolProperties struct { - // CreationDate - READ-ONLY; The creation date of the elastic pool (ISO8601 format). - CreationDate *date.Time `json:"creationDate,omitempty"` - // State - READ-ONLY; The state of the elastic pool. Possible values include: 'Creating', 'Ready', 'Disabled' - State ElasticPoolState `json:"state,omitempty"` - // Edition - The edition of the elastic pool. Possible values include: 'ElasticPoolEditionBasic', 'ElasticPoolEditionStandard', 'ElasticPoolEditionPremium', 'ElasticPoolEditionGeneralPurpose', 'ElasticPoolEditionBusinessCritical' - Edition ElasticPoolEdition `json:"edition,omitempty"` - // Dtu - The total shared DTU for the database elastic pool. - Dtu *int32 `json:"dtu,omitempty"` - // DatabaseDtuMax - The maximum DTU any one database can consume. - DatabaseDtuMax *int32 `json:"databaseDtuMax,omitempty"` - // DatabaseDtuMin - The minimum DTU all databases are guaranteed. - DatabaseDtuMin *int32 `json:"databaseDtuMin,omitempty"` - // StorageMB - Gets storage limit for the database elastic pool in MB. - StorageMB *int32 `json:"storageMB,omitempty"` - // ZoneRedundant - Whether or not this database elastic pool is zone redundant, which means the replicas of this database will be spread across multiple availability zones. - ZoneRedundant *bool `json:"zoneRedundant,omitempty"` -} - -// ElasticPoolsCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a -// long-running operation. -type ElasticPoolsCreateOrUpdateFuture struct { - azure.Future -} - -// Result returns the result of the asynchronous operation. -// If the operation has not completed it will return an error. -func (future *ElasticPoolsCreateOrUpdateFuture) Result(client ElasticPoolsClient) (ep ElasticPool, err error) { - var done bool - done, err = future.DoneWithContext(context.Background(), client) - if err != nil { - err = autorest.NewErrorWithError(err, "sql.ElasticPoolsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") - return - } - if !done { - err = azure.NewAsyncOpIncompleteError("sql.ElasticPoolsCreateOrUpdateFuture") - return - } - sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) - if ep.Response.Response, err = future.GetResult(sender); err == nil && ep.Response.Response.StatusCode != http.StatusNoContent { - ep, err = client.CreateOrUpdateResponder(ep.Response.Response) - if err != nil { - err = autorest.NewErrorWithError(err, "sql.ElasticPoolsCreateOrUpdateFuture", "Result", ep.Response.Response, "Failure responding to request") - } - } - return -} - -// ElasticPoolsUpdateFuture an abstraction for monitoring and retrieving the results of a long-running -// operation. -type ElasticPoolsUpdateFuture struct { - azure.Future -} - -// Result returns the result of the asynchronous operation. -// If the operation has not completed it will return an error. -func (future *ElasticPoolsUpdateFuture) Result(client ElasticPoolsClient) (ep ElasticPool, err error) { - var done bool - done, err = future.DoneWithContext(context.Background(), client) - if err != nil { - err = autorest.NewErrorWithError(err, "sql.ElasticPoolsUpdateFuture", "Result", future.Response(), "Polling failure") - return - } - if !done { - err = azure.NewAsyncOpIncompleteError("sql.ElasticPoolsUpdateFuture") - return - } - sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) - if ep.Response.Response, err = future.GetResult(sender); err == nil && ep.Response.Response.StatusCode != http.StatusNoContent { - ep, err = client.UpdateResponder(ep.Response.Response) - if err != nil { - err = autorest.NewErrorWithError(err, "sql.ElasticPoolsUpdateFuture", "Result", ep.Response.Response, "Failure responding to request") - } - } - return -} - -// ElasticPoolUpdate represents an elastic pool update. -type ElasticPoolUpdate struct { - // Tags - Resource tags. - Tags map[string]*string `json:"tags"` - // ElasticPoolProperties - The properties representing the resource. - *ElasticPoolProperties `json:"properties,omitempty"` + // ServerAdministratorProperties - The properties of the resource. + *ServerAdministratorProperties `json:"properties,omitempty"` // ID - READ-ONLY; Resource ID. ID *string `json:"id,omitempty"` // Name - READ-ONLY; Resource name. @@ -1635,20 +4792,17 @@ type ElasticPoolUpdate struct { Type *string `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for ElasticPoolUpdate. -func (epu ElasticPoolUpdate) MarshalJSON() ([]byte, error) { +// MarshalJSON is the custom marshaler for ServerAzureADAdministrator. +func (saaa ServerAzureADAdministrator) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) - if epu.Tags != nil { - objectMap["tags"] = epu.Tags - } - if epu.ElasticPoolProperties != nil { - objectMap["properties"] = epu.ElasticPoolProperties + if saaa.ServerAdministratorProperties != nil { + objectMap["properties"] = saaa.ServerAdministratorProperties } return json.Marshal(objectMap) } -// UnmarshalJSON is the custom unmarshaler for ElasticPoolUpdate struct. -func (epu *ElasticPoolUpdate) UnmarshalJSON(body []byte) error { +// UnmarshalJSON is the custom unmarshaler for ServerAzureADAdministrator struct. +func (saaa *ServerAzureADAdministrator) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -1656,23 +4810,14 @@ func (epu *ElasticPoolUpdate) UnmarshalJSON(body []byte) error { } for k, v := range m { switch k { - case "tags": - if v != nil { - var tags map[string]*string - err = json.Unmarshal(*v, &tags) - if err != nil { - return err - } - epu.Tags = tags - } case "properties": if v != nil { - var elasticPoolProperties ElasticPoolProperties - err = json.Unmarshal(*v, &elasticPoolProperties) + var serverAdministratorProperties ServerAdministratorProperties + err = json.Unmarshal(*v, &serverAdministratorProperties) if err != nil { return err } - epu.ElasticPoolProperties = &elasticPoolProperties + saaa.ServerAdministratorProperties = &serverAdministratorProperties } case "id": if v != nil { @@ -1681,7 +4826,7 @@ func (epu *ElasticPoolUpdate) UnmarshalJSON(body []byte) error { if err != nil { return err } - epu.ID = &ID + saaa.ID = &ID } case "name": if v != nil { @@ -1690,7 +4835,7 @@ func (epu *ElasticPoolUpdate) UnmarshalJSON(body []byte) error { if err != nil { return err } - epu.Name = &name + saaa.Name = &name } case "type": if v != nil { @@ -1699,7 +4844,7 @@ func (epu *ElasticPoolUpdate) UnmarshalJSON(body []byte) error { if err != nil { return err } - epu.Type = &typeVar + saaa.Type = &typeVar } } } @@ -1707,31 +4852,73 @@ func (epu *ElasticPoolUpdate) UnmarshalJSON(body []byte) error { return nil } -// ExportRequest export database parameters. -type ExportRequest struct { - // StorageKeyType - The type of the storage key to use. Possible values include: 'StorageAccessKey', 'SharedAccessKey' - StorageKeyType StorageKeyType `json:"storageKeyType,omitempty"` - // StorageKey - The storage key to use. If storage key type is SharedAccessKey, it must be preceded with a "?." - StorageKey *string `json:"storageKey,omitempty"` - // StorageURI - The storage uri to use. - StorageURI *string `json:"storageUri,omitempty"` - // AdministratorLogin - The name of the SQL administrator. - AdministratorLogin *string `json:"administratorLogin,omitempty"` - // AdministratorLoginPassword - The password of the SQL administrator. - AdministratorLoginPassword *string `json:"administratorLoginPassword,omitempty"` - // AuthenticationType - The authentication type. Possible values include: 'SQL', 'ADPassword' - AuthenticationType AuthenticationType `json:"authenticationType,omitempty"` +// ServerAzureADAdministratorsCreateOrUpdateFuture an abstraction for monitoring and retrieving the results +// of a long-running operation. +type ServerAzureADAdministratorsCreateOrUpdateFuture struct { + azure.Future } -// FirewallRule represents a server firewall rule. -type FirewallRule struct { +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ServerAzureADAdministratorsCreateOrUpdateFuture) Result(client ServerAzureADAdministratorsClient) (saaa ServerAzureADAdministrator, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServerAzureADAdministratorsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("sql.ServerAzureADAdministratorsCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if saaa.Response.Response, err = future.GetResult(sender); err == nil && saaa.Response.Response.StatusCode != http.StatusNoContent { + saaa, err = client.CreateOrUpdateResponder(saaa.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServerAzureADAdministratorsCreateOrUpdateFuture", "Result", saaa.Response.Response, "Failure responding to request") + } + } + return +} + +// ServerAzureADAdministratorsDeleteFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type ServerAzureADAdministratorsDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ServerAzureADAdministratorsDeleteFuture) Result(client ServerAzureADAdministratorsClient) (saaa ServerAzureADAdministrator, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServerAzureADAdministratorsDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("sql.ServerAzureADAdministratorsDeleteFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if saaa.Response.Response, err = future.GetResult(sender); err == nil && saaa.Response.Response.StatusCode != http.StatusNoContent { + saaa, err = client.DeleteResponder(saaa.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServerAzureADAdministratorsDeleteFuture", "Result", saaa.Response.Response, "Failure responding to request") + } + } + return +} + +// ServerCommunicationLink server communication link. +type ServerCommunicationLink struct { autorest.Response `json:"-"` - // Kind - READ-ONLY; Kind of server that contains this firewall rule. - Kind *string `json:"kind,omitempty"` - // Location - READ-ONLY; Location of the server that contains this firewall rule. + // ServerCommunicationLinkProperties - The properties of resource. + *ServerCommunicationLinkProperties `json:"properties,omitempty"` + // Location - READ-ONLY; Communication link location. Location *string `json:"location,omitempty"` - // FirewallRuleProperties - The properties representing the resource. - *FirewallRuleProperties `json:"properties,omitempty"` + // Kind - READ-ONLY; Communication link kind. This property is used for Azure Portal metadata. + Kind *string `json:"kind,omitempty"` // ID - READ-ONLY; Resource ID. ID *string `json:"id,omitempty"` // Name - READ-ONLY; Resource name. @@ -1740,17 +4927,17 @@ type FirewallRule struct { Type *string `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for FirewallRule. -func (fr FirewallRule) MarshalJSON() ([]byte, error) { +// MarshalJSON is the custom marshaler for ServerCommunicationLink. +func (scl ServerCommunicationLink) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) - if fr.FirewallRuleProperties != nil { - objectMap["properties"] = fr.FirewallRuleProperties + if scl.ServerCommunicationLinkProperties != nil { + objectMap["properties"] = scl.ServerCommunicationLinkProperties } return json.Marshal(objectMap) } -// UnmarshalJSON is the custom unmarshaler for FirewallRule struct. -func (fr *FirewallRule) UnmarshalJSON(body []byte) error { +// UnmarshalJSON is the custom unmarshaler for ServerCommunicationLink struct. +func (scl *ServerCommunicationLink) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -1758,14 +4945,14 @@ func (fr *FirewallRule) UnmarshalJSON(body []byte) error { } for k, v := range m { switch k { - case "kind": + case "properties": if v != nil { - var kind string - err = json.Unmarshal(*v, &kind) + var serverCommunicationLinkProperties ServerCommunicationLinkProperties + err = json.Unmarshal(*v, &serverCommunicationLinkProperties) if err != nil { return err } - fr.Kind = &kind + scl.ServerCommunicationLinkProperties = &serverCommunicationLinkProperties } case "location": if v != nil { @@ -1774,16 +4961,16 @@ func (fr *FirewallRule) UnmarshalJSON(body []byte) error { if err != nil { return err } - fr.Location = &location + scl.Location = &location } - case "properties": + case "kind": if v != nil { - var firewallRuleProperties FirewallRuleProperties - err = json.Unmarshal(*v, &firewallRuleProperties) + var kind string + err = json.Unmarshal(*v, &kind) if err != nil { return err } - fr.FirewallRuleProperties = &firewallRuleProperties + scl.Kind = &kind } case "id": if v != nil { @@ -1792,7 +4979,7 @@ func (fr *FirewallRule) UnmarshalJSON(body []byte) error { if err != nil { return err } - fr.ID = &ID + scl.ID = &ID } case "name": if v != nil { @@ -1801,7 +4988,7 @@ func (fr *FirewallRule) UnmarshalJSON(body []byte) error { if err != nil { return err } - fr.Name = &name + scl.Name = &name } case "type": if v != nil { @@ -1810,7 +4997,7 @@ func (fr *FirewallRule) UnmarshalJSON(body []byte) error { if err != nil { return err } - fr.Type = &typeVar + scl.Type = &typeVar } } } @@ -1818,26 +5005,59 @@ func (fr *FirewallRule) UnmarshalJSON(body []byte) error { return nil } -// FirewallRuleListResult represents the response to a List Firewall Rules request. -type FirewallRuleListResult struct { +// ServerCommunicationLinkListResult a list of server communication links. +type ServerCommunicationLinkListResult struct { autorest.Response `json:"-"` - // Value - The list of server firewall rules. - Value *[]FirewallRule `json:"value,omitempty"` + // Value - The list of server communication links. + Value *[]ServerCommunicationLink `json:"value,omitempty"` } -// FirewallRuleProperties represents the properties of a server firewall rule. -type FirewallRuleProperties struct { - // StartIPAddress - The start IP address of the firewall rule. Must be IPv4 format. Use value '0.0.0.0' to represent all Azure-internal IP addresses. - StartIPAddress *string `json:"startIpAddress,omitempty"` - // EndIPAddress - The end IP address of the firewall rule. Must be IPv4 format. Must be greater than or equal to startIpAddress. Use value '0.0.0.0' to represent all Azure-internal IP addresses. - EndIPAddress *string `json:"endIpAddress,omitempty"` +// ServerCommunicationLinkProperties the properties of a server communication link. +type ServerCommunicationLinkProperties struct { + // State - READ-ONLY; The state. + State *string `json:"state,omitempty"` + // PartnerServer - The name of the partner server. + PartnerServer *string `json:"partnerServer,omitempty"` } -// ImportExportResponse response for Import/Export Get operation. -type ImportExportResponse struct { +// ServerCommunicationLinksCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of +// a long-running operation. +type ServerCommunicationLinksCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *ServerCommunicationLinksCreateOrUpdateFuture) Result(client ServerCommunicationLinksClient) (scl ServerCommunicationLink, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServerCommunicationLinksCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("sql.ServerCommunicationLinksCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if scl.Response.Response, err = future.GetResult(sender); err == nil && scl.Response.Response.StatusCode != http.StatusNoContent { + scl, err = client.CreateOrUpdateResponder(scl.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServerCommunicationLinksCreateOrUpdateFuture", "Result", scl.Response.Response, "Failure responding to request") + } + } + return +} + +// ServerConnectionPolicy a server secure connection policy. +type ServerConnectionPolicy struct { autorest.Response `json:"-"` - // ImportExportResponseProperties - The import/export operation properties. - *ImportExportResponseProperties `json:"properties,omitempty"` + // Kind - READ-ONLY; Metadata used for the Azure portal experience. + Kind *string `json:"kind,omitempty"` + // Location - READ-ONLY; Resource location. + Location *string `json:"location,omitempty"` + // ServerConnectionPolicyProperties - The properties of the server secure connection policy. + *ServerConnectionPolicyProperties `json:"properties,omitempty"` // ID - READ-ONLY; Resource ID. ID *string `json:"id,omitempty"` // Name - READ-ONLY; Resource name. @@ -1846,17 +5066,17 @@ type ImportExportResponse struct { Type *string `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for ImportExportResponse. -func (ier ImportExportResponse) MarshalJSON() ([]byte, error) { +// MarshalJSON is the custom marshaler for ServerConnectionPolicy. +func (scp ServerConnectionPolicy) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) - if ier.ImportExportResponseProperties != nil { - objectMap["properties"] = ier.ImportExportResponseProperties + if scp.ServerConnectionPolicyProperties != nil { + objectMap["properties"] = scp.ServerConnectionPolicyProperties } return json.Marshal(objectMap) } -// UnmarshalJSON is the custom unmarshaler for ImportExportResponse struct. -func (ier *ImportExportResponse) UnmarshalJSON(body []byte) error { +// UnmarshalJSON is the custom unmarshaler for ServerConnectionPolicy struct. +func (scp *ServerConnectionPolicy) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -1864,14 +5084,32 @@ func (ier *ImportExportResponse) UnmarshalJSON(body []byte) error { } for k, v := range m { switch k { + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + scp.Kind = &kind + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + scp.Location = &location + } case "properties": if v != nil { - var importExportResponseProperties ImportExportResponseProperties - err = json.Unmarshal(*v, &importExportResponseProperties) + var serverConnectionPolicyProperties ServerConnectionPolicyProperties + err = json.Unmarshal(*v, &serverConnectionPolicyProperties) if err != nil { return err } - ier.ImportExportResponseProperties = &importExportResponseProperties + scp.ServerConnectionPolicyProperties = &serverConnectionPolicyProperties } case "id": if v != nil { @@ -1880,7 +5118,7 @@ func (ier *ImportExportResponse) UnmarshalJSON(body []byte) error { if err != nil { return err } - ier.ID = &ID + scp.ID = &ID } case "name": if v != nil { @@ -1889,7 +5127,7 @@ func (ier *ImportExportResponse) UnmarshalJSON(body []byte) error { if err != nil { return err } - ier.Name = &name + scp.Name = &name } case "type": if v != nil { @@ -1898,7 +5136,7 @@ func (ier *ImportExportResponse) UnmarshalJSON(body []byte) error { if err != nil { return err } - ier.Type = &typeVar + scp.Type = &typeVar } } } @@ -1906,73 +5144,65 @@ func (ier *ImportExportResponse) UnmarshalJSON(body []byte) error { return nil } -// ImportExportResponseProperties response for Import/Export Status operation. -type ImportExportResponseProperties struct { - // RequestType - READ-ONLY; The request type of the operation. - RequestType *string `json:"requestType,omitempty"` - // RequestID - READ-ONLY; The request type of the operation. - RequestID *uuid.UUID `json:"requestId,omitempty"` - // ServerName - READ-ONLY; The name of the server. - ServerName *string `json:"serverName,omitempty"` - // DatabaseName - READ-ONLY; The name of the database. - DatabaseName *string `json:"databaseName,omitempty"` - // Status - READ-ONLY; The status message returned from the server. - Status *string `json:"status,omitempty"` - // LastModifiedTime - READ-ONLY; The operation status last modified time. - LastModifiedTime *string `json:"lastModifiedTime,omitempty"` - // QueuedTime - READ-ONLY; The operation queued time. - QueuedTime *string `json:"queuedTime,omitempty"` - // BlobURI - READ-ONLY; The blob uri. - BlobURI *string `json:"blobUri,omitempty"` - // ErrorMessage - READ-ONLY; The error message returned from the server. - ErrorMessage *string `json:"errorMessage,omitempty"` +// ServerConnectionPolicyProperties the properties of a server secure connection policy. +type ServerConnectionPolicyProperties struct { + // ConnectionType - The server connection type. Possible values include: 'ServerConnectionTypeDefault', 'ServerConnectionTypeProxy', 'ServerConnectionTypeRedirect' + ConnectionType ServerConnectionType `json:"connectionType,omitempty"` } -// ImportExtensionProperties represents the properties for an import operation -type ImportExtensionProperties struct { - // OperationMode - The type of import operation being performed. This is always Import. - OperationMode *string `json:"operationMode,omitempty"` - // StorageKeyType - The type of the storage key to use. Possible values include: 'StorageAccessKey', 'SharedAccessKey' - StorageKeyType StorageKeyType `json:"storageKeyType,omitempty"` - // StorageKey - The storage key to use. If storage key type is SharedAccessKey, it must be preceded with a "?." - StorageKey *string `json:"storageKey,omitempty"` - // StorageURI - The storage uri to use. - StorageURI *string `json:"storageUri,omitempty"` - // AdministratorLogin - The name of the SQL administrator. +// ServerListResult represents the response to a get server request. +type ServerListResult struct { + autorest.Response `json:"-"` + // Value - The list of servers. + Value *[]Server `json:"value,omitempty"` +} + +// ServerProperties represents the properties of a server. +type ServerProperties struct { + // FullyQualifiedDomainName - READ-ONLY; The fully qualified domain name of the server. + FullyQualifiedDomainName *string `json:"fullyQualifiedDomainName,omitempty"` + // Version - The version of the server. Possible values include: 'TwoFullStopZero', 'OneTwoFullStopZero' + Version ServerVersion `json:"version,omitempty"` + // AdministratorLogin - Administrator username for the server. Can only be specified when the server is being created (and is required for creation). AdministratorLogin *string `json:"administratorLogin,omitempty"` - // AdministratorLoginPassword - The password of the SQL administrator. + // AdministratorLoginPassword - The administrator login password (required for server creation). AdministratorLoginPassword *string `json:"administratorLoginPassword,omitempty"` - // AuthenticationType - The authentication type. Possible values include: 'SQL', 'ADPassword' - AuthenticationType AuthenticationType `json:"authenticationType,omitempty"` + // ExternalAdministratorSid - READ-ONLY; The ID of the Active Azure Directory object with admin permissions on this server. Legacy parameter, always null. To check for Active Directory admin, query .../servers/{serverName}/administrators. + ExternalAdministratorSid *uuid.UUID `json:"externalAdministratorSid,omitempty"` + // ExternalAdministratorLogin - READ-ONLY; The display name of the Azure Active Directory object with admin permissions on this server. Legacy parameter, always null. To check for Active Directory admin, query .../servers/{serverName}/administrators + ExternalAdministratorLogin *string `json:"externalAdministratorLogin,omitempty"` + // State - READ-ONLY; The state of the server. Possible values include: 'ServerStateReady', 'ServerStateDisabled' + State ServerState `json:"state,omitempty"` } -// ImportExtensionRequest import database parameters. -type ImportExtensionRequest struct { - // Name - The name of the extension. +// ServerTableAuditingPolicy a server table auditing policy. +type ServerTableAuditingPolicy struct { + autorest.Response `json:"-"` + // Kind - READ-ONLY; Resource kind. + Kind *string `json:"kind,omitempty"` + // Location - READ-ONLY; Resource location. + Location *string `json:"location,omitempty"` + // ServerTableAuditingPolicyProperties - Resource properties. + *ServerTableAuditingPolicyProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource ID. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource name. Name *string `json:"name,omitempty"` - // Type - The type of the extension. + // Type - READ-ONLY; Resource type. Type *string `json:"type,omitempty"` - // ImportExtensionProperties - Represents the properties of the resource. - *ImportExtensionProperties `json:"properties,omitempty"` } -// MarshalJSON is the custom marshaler for ImportExtensionRequest. -func (ier ImportExtensionRequest) MarshalJSON() ([]byte, error) { +// MarshalJSON is the custom marshaler for ServerTableAuditingPolicy. +func (stap ServerTableAuditingPolicy) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) - if ier.Name != nil { - objectMap["name"] = ier.Name - } - if ier.Type != nil { - objectMap["type"] = ier.Type - } - if ier.ImportExtensionProperties != nil { - objectMap["properties"] = ier.ImportExtensionProperties + if stap.ServerTableAuditingPolicyProperties != nil { + objectMap["properties"] = stap.ServerTableAuditingPolicyProperties } return json.Marshal(objectMap) } -// UnmarshalJSON is the custom unmarshaler for ImportExtensionRequest struct. -func (ier *ImportExtensionRequest) UnmarshalJSON(body []byte) error { +// UnmarshalJSON is the custom unmarshaler for ServerTableAuditingPolicy struct. +func (stap *ServerTableAuditingPolicy) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -1980,32 +5210,59 @@ func (ier *ImportExtensionRequest) UnmarshalJSON(body []byte) error { } for k, v := range m { switch k { - case "name": + case "kind": if v != nil { - var name string - err = json.Unmarshal(*v, &name) + var kind string + err = json.Unmarshal(*v, &kind) if err != nil { return err } - ier.Name = &name + stap.Kind = &kind } - case "type": + case "location": if v != nil { - var typeVar string - err = json.Unmarshal(*v, &typeVar) + var location string + err = json.Unmarshal(*v, &location) if err != nil { return err } - ier.Type = &typeVar + stap.Location = &location } case "properties": if v != nil { - var importExtensionProperties ImportExtensionProperties - err = json.Unmarshal(*v, &importExtensionProperties) + var serverTableAuditingPolicyProperties ServerTableAuditingPolicyProperties + err = json.Unmarshal(*v, &serverTableAuditingPolicyProperties) if err != nil { return err } - ier.ImportExtensionProperties = &importExtensionProperties + stap.ServerTableAuditingPolicyProperties = &serverTableAuditingPolicyProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + stap.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + stap.Name = &name + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + stap.Type = &typeVar } } } @@ -2013,68 +5270,46 @@ func (ier *ImportExtensionRequest) UnmarshalJSON(body []byte) error { return nil } -// ImportRequest import database parameters. -type ImportRequest struct { - // DatabaseName - The name of the database to import. - DatabaseName *string `json:"databaseName,omitempty"` - // Edition - The edition for the database being created. - // - // The list of SKUs may vary by region and support offer. To determine the SKUs (including the SKU name, tier/edition, family, and capacity) that are available to your subscription in an Azure region, use the `Capabilities_ListByLocation` REST API or one of the following commands: - // - // ```azurecli - // az sql db list-editions -l -o table - // ```` - // - // ```powershell - // Get-AzSqlServerServiceObjective -Location - // ```` - // . Possible values include: 'Web', 'Business', 'Basic', 'Standard', 'Premium', 'PremiumRS', 'Free', 'Stretch', 'DataWarehouse', 'System', 'System2', 'GeneralPurpose', 'BusinessCritical', 'Hyperscale' - Edition DatabaseEdition `json:"edition,omitempty"` - // ServiceObjectiveName - The name of the service objective to assign to the database. Possible values include: 'ServiceObjectiveNameSystem', 'ServiceObjectiveNameSystem0', 'ServiceObjectiveNameSystem1', 'ServiceObjectiveNameSystem2', 'ServiceObjectiveNameSystem3', 'ServiceObjectiveNameSystem4', 'ServiceObjectiveNameSystem2L', 'ServiceObjectiveNameSystem3L', 'ServiceObjectiveNameSystem4L', 'ServiceObjectiveNameFree', 'ServiceObjectiveNameBasic', 'ServiceObjectiveNameS0', 'ServiceObjectiveNameS1', 'ServiceObjectiveNameS2', 'ServiceObjectiveNameS3', 'ServiceObjectiveNameS4', 'ServiceObjectiveNameS6', 'ServiceObjectiveNameS7', 'ServiceObjectiveNameS9', 'ServiceObjectiveNameS12', 'ServiceObjectiveNameP1', 'ServiceObjectiveNameP2', 'ServiceObjectiveNameP3', 'ServiceObjectiveNameP4', 'ServiceObjectiveNameP6', 'ServiceObjectiveNameP11', 'ServiceObjectiveNameP15', 'ServiceObjectiveNamePRS1', 'ServiceObjectiveNamePRS2', 'ServiceObjectiveNamePRS4', 'ServiceObjectiveNamePRS6', 'ServiceObjectiveNameDW100', 'ServiceObjectiveNameDW200', 'ServiceObjectiveNameDW300', 'ServiceObjectiveNameDW400', 'ServiceObjectiveNameDW500', 'ServiceObjectiveNameDW600', 'ServiceObjectiveNameDW1000', 'ServiceObjectiveNameDW1200', 'ServiceObjectiveNameDW1000c', 'ServiceObjectiveNameDW1500', 'ServiceObjectiveNameDW1500c', 'ServiceObjectiveNameDW2000', 'ServiceObjectiveNameDW2000c', 'ServiceObjectiveNameDW3000', 'ServiceObjectiveNameDW2500c', 'ServiceObjectiveNameDW3000c', 'ServiceObjectiveNameDW6000', 'ServiceObjectiveNameDW5000c', 'ServiceObjectiveNameDW6000c', 'ServiceObjectiveNameDW7500c', 'ServiceObjectiveNameDW10000c', 'ServiceObjectiveNameDW15000c', 'ServiceObjectiveNameDW30000c', 'ServiceObjectiveNameDS100', 'ServiceObjectiveNameDS200', 'ServiceObjectiveNameDS300', 'ServiceObjectiveNameDS400', 'ServiceObjectiveNameDS500', 'ServiceObjectiveNameDS600', 'ServiceObjectiveNameDS1000', 'ServiceObjectiveNameDS1200', 'ServiceObjectiveNameDS1500', 'ServiceObjectiveNameDS2000', 'ServiceObjectiveNameElasticPool' - ServiceObjectiveName ServiceObjectiveName `json:"serviceObjectiveName,omitempty"` - // MaxSizeBytes - The maximum size for the newly imported database. - MaxSizeBytes *string `json:"maxSizeBytes,omitempty"` - // StorageKeyType - The type of the storage key to use. Possible values include: 'StorageAccessKey', 'SharedAccessKey' - StorageKeyType StorageKeyType `json:"storageKeyType,omitempty"` - // StorageKey - The storage key to use. If storage key type is SharedAccessKey, it must be preceded with a "?." - StorageKey *string `json:"storageKey,omitempty"` - // StorageURI - The storage uri to use. - StorageURI *string `json:"storageUri,omitempty"` - // AdministratorLogin - The name of the SQL administrator. - AdministratorLogin *string `json:"administratorLogin,omitempty"` - // AdministratorLoginPassword - The password of the SQL administrator. - AdministratorLoginPassword *string `json:"administratorLoginPassword,omitempty"` - // AuthenticationType - The authentication type. Possible values include: 'SQL', 'ADPassword' - AuthenticationType AuthenticationType `json:"authenticationType,omitempty"` -} - -// OperationImpact the impact of an operation, both in absolute and relative terms. -type OperationImpact struct { - // Name - READ-ONLY; The name of the impact dimension. - Name *string `json:"name,omitempty"` - // Unit - READ-ONLY; The unit in which estimated impact to dimension is measured. - Unit *string `json:"unit,omitempty"` - // ChangeValueAbsolute - READ-ONLY; The absolute impact to dimension. - ChangeValueAbsolute *float64 `json:"changeValueAbsolute,omitempty"` - // ChangeValueRelative - READ-ONLY; The relative impact to dimension (null if not applicable) - ChangeValueRelative *float64 `json:"changeValueRelative,omitempty"` +// ServerTableAuditingPolicyListResult represents the response to a list server table auditing policies +// request. +type ServerTableAuditingPolicyListResult struct { + autorest.Response `json:"-"` + // Value - The list of server table auditing policies. + Value *[]ServerTableAuditingPolicy `json:"value,omitempty"` } -// ProxyResource ARM proxy resource. -type ProxyResource struct { - // ID - READ-ONLY; Resource ID. - ID *string `json:"id,omitempty"` - // Name - READ-ONLY; Resource name. - Name *string `json:"name,omitempty"` - // Type - READ-ONLY; Resource type. - Type *string `json:"type,omitempty"` +// ServerTableAuditingPolicyProperties properties of a server table auditing policy. +type ServerTableAuditingPolicyProperties struct { + // AuditingState - The state of the policy. + AuditingState *string `json:"auditingState,omitempty"` + // AuditLogsTableName - The audit logs table name. + AuditLogsTableName *string `json:"auditLogsTableName,omitempty"` + // EventTypesToAudit - Comma-separated list of event types to audit. + EventTypesToAudit *string `json:"eventTypesToAudit,omitempty"` + // FullAuditLogsTableName - The full audit logs table name. + FullAuditLogsTableName *string `json:"fullAuditLogsTableName,omitempty"` + // RetentionDays - The number of days to keep in the audit logs. + RetentionDays *string `json:"retentionDays,omitempty"` + // StorageAccountKey - The key of the auditing storage account. + StorageAccountKey *string `json:"storageAccountKey,omitempty"` + // StorageAccountName - The table storage account name + StorageAccountName *string `json:"storageAccountName,omitempty"` + // StorageAccountResourceGroupName - The table storage account resource group name + StorageAccountResourceGroupName *string `json:"storageAccountResourceGroupName,omitempty"` + // StorageAccountSecondaryKey - The secondary key of the auditing storage account. + StorageAccountSecondaryKey *string `json:"storageAccountSecondaryKey,omitempty"` + // StorageAccountSubscriptionID - The table storage subscription Id. + StorageAccountSubscriptionID *uuid.UUID `json:"storageAccountSubscriptionId,omitempty"` + // StorageTableEndpoint - The storage table endpoint. + StorageTableEndpoint *string `json:"storageTableEndpoint,omitempty"` } -// RecommendedElasticPool represents a recommended elastic pool. -type RecommendedElasticPool struct { - autorest.Response `json:"-"` - // RecommendedElasticPoolProperties - The properties representing the resource. - *RecommendedElasticPoolProperties `json:"properties,omitempty"` +// ServerUpdate represents an update to a server. +type ServerUpdate struct { + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` + // ServerProperties - Represents the properties of the resource. + *ServerProperties `json:"properties,omitempty"` // ID - READ-ONLY; Resource ID. ID *string `json:"id,omitempty"` // Name - READ-ONLY; Resource name. @@ -2083,17 +5318,20 @@ type RecommendedElasticPool struct { Type *string `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for RecommendedElasticPool. -func (rep RecommendedElasticPool) MarshalJSON() ([]byte, error) { +// MarshalJSON is the custom marshaler for ServerUpdate. +func (su ServerUpdate) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) - if rep.RecommendedElasticPoolProperties != nil { - objectMap["properties"] = rep.RecommendedElasticPoolProperties + if su.Tags != nil { + objectMap["tags"] = su.Tags + } + if su.ServerProperties != nil { + objectMap["properties"] = su.ServerProperties } return json.Marshal(objectMap) } -// UnmarshalJSON is the custom unmarshaler for RecommendedElasticPool struct. -func (rep *RecommendedElasticPool) UnmarshalJSON(body []byte) error { +// UnmarshalJSON is the custom unmarshaler for ServerUpdate struct. +func (su *ServerUpdate) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -2101,14 +5339,23 @@ func (rep *RecommendedElasticPool) UnmarshalJSON(body []byte) error { } for k, v := range m { switch k { + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + su.Tags = tags + } case "properties": if v != nil { - var recommendedElasticPoolProperties RecommendedElasticPoolProperties - err = json.Unmarshal(*v, &recommendedElasticPoolProperties) + var serverProperties ServerProperties + err = json.Unmarshal(*v, &serverProperties) if err != nil { return err } - rep.RecommendedElasticPoolProperties = &recommendedElasticPoolProperties + su.ServerProperties = &serverProperties } case "id": if v != nil { @@ -2117,7 +5364,7 @@ func (rep *RecommendedElasticPool) UnmarshalJSON(body []byte) error { if err != nil { return err } - rep.ID = &ID + su.ID = &ID } case "name": if v != nil { @@ -2126,7 +5373,7 @@ func (rep *RecommendedElasticPool) UnmarshalJSON(body []byte) error { if err != nil { return err } - rep.Name = &name + su.Name = &name } case "type": if v != nil { @@ -2135,7 +5382,7 @@ func (rep *RecommendedElasticPool) UnmarshalJSON(body []byte) error { if err != nil { return err } - rep.Type = &typeVar + su.Type = &typeVar } } } @@ -2143,61 +5390,48 @@ func (rep *RecommendedElasticPool) UnmarshalJSON(body []byte) error { return nil } -// RecommendedElasticPoolListMetricsResult represents the response to a list recommended elastic pool -// metrics request. -type RecommendedElasticPoolListMetricsResult struct { - autorest.Response `json:"-"` - // Value - The list of recommended elastic pools metrics. - Value *[]RecommendedElasticPoolMetric `json:"value,omitempty"` +// ServerUsage represents server metrics. +type ServerUsage struct { + // Name - READ-ONLY; Name of the server usage metric. + Name *string `json:"name,omitempty"` + // ResourceName - READ-ONLY; The name of the resource. + ResourceName *string `json:"resourceName,omitempty"` + // DisplayName - READ-ONLY; The metric display name. + DisplayName *string `json:"displayName,omitempty"` + // CurrentValue - READ-ONLY; The current value of the metric. + CurrentValue *float64 `json:"currentValue,omitempty"` + // Limit - READ-ONLY; The current limit of the metric. + Limit *float64 `json:"limit,omitempty"` + // Unit - READ-ONLY; The units of the metric. + Unit *string `json:"unit,omitempty"` + // NextResetTime - READ-ONLY; The next reset time for the metric (ISO8601 format). + NextResetTime *date.Time `json:"nextResetTime,omitempty"` } -// RecommendedElasticPoolListResult represents the response to a list recommended elastic pool request. -type RecommendedElasticPoolListResult struct { +// ServerUsageListResult represents the response to a list server metrics request. +type ServerUsageListResult struct { autorest.Response `json:"-"` - // Value - The list of recommended elastic pools hosted in the server. - Value *[]RecommendedElasticPool `json:"value,omitempty"` -} - -// RecommendedElasticPoolMetric represents recommended elastic pool metric. -type RecommendedElasticPoolMetric struct { - // DateTime - The time of metric (ISO8601 format). - DateTime *date.Time `json:"dateTime,omitempty"` - // Dtu - Gets or sets the DTUs (Database Transaction Units). See https://azure.microsoft.com/documentation/articles/sql-database-what-is-a-dtu/ - Dtu *float64 `json:"dtu,omitempty"` - // SizeGB - Gets or sets size in gigabytes. - SizeGB *float64 `json:"sizeGB,omitempty"` + // Value - The list of server metrics for the server. + Value *[]ServerUsage `json:"value,omitempty"` } -// RecommendedElasticPoolProperties represents the properties of a recommended elastic pool. -type RecommendedElasticPoolProperties struct { - // DatabaseEdition - READ-ONLY; The edition of the recommended elastic pool. The ElasticPoolEdition enumeration contains all the valid editions. Possible values include: 'ElasticPoolEditionBasic', 'ElasticPoolEditionStandard', 'ElasticPoolEditionPremium', 'ElasticPoolEditionGeneralPurpose', 'ElasticPoolEditionBusinessCritical' - DatabaseEdition ElasticPoolEdition `json:"databaseEdition,omitempty"` - // Dtu - The DTU for the recommended elastic pool. - Dtu *float64 `json:"dtu,omitempty"` - // DatabaseDtuMin - The minimum DTU for the database. - DatabaseDtuMin *float64 `json:"databaseDtuMin,omitempty"` - // DatabaseDtuMax - The maximum DTU for the database. - DatabaseDtuMax *float64 `json:"databaseDtuMax,omitempty"` - // StorageMB - Gets storage size in megabytes. - StorageMB *float64 `json:"storageMB,omitempty"` - // ObservationPeriodStart - READ-ONLY; The observation period start (ISO8601 format). - ObservationPeriodStart *date.Time `json:"observationPeriodStart,omitempty"` - // ObservationPeriodEnd - READ-ONLY; The observation period start (ISO8601 format). - ObservationPeriodEnd *date.Time `json:"observationPeriodEnd,omitempty"` - // MaxObservedDtu - READ-ONLY; Gets maximum observed DTU. - MaxObservedDtu *float64 `json:"maxObservedDtu,omitempty"` - // MaxObservedStorageMB - READ-ONLY; Gets maximum observed storage in megabytes. - MaxObservedStorageMB *float64 `json:"maxObservedStorageMB,omitempty"` - // Databases - READ-ONLY; The list of databases in this pool. Expanded property - Databases *[]Database `json:"databases,omitempty"` - // Metrics - READ-ONLY; The list of databases housed in the server. Expanded property - Metrics *[]RecommendedElasticPoolMetric `json:"metrics,omitempty"` +// ServerVersionCapability the server capabilities. +type ServerVersionCapability struct { + // Name - READ-ONLY; The server version name. + Name *string `json:"name,omitempty"` + // Status - READ-ONLY; The status of the server version. Possible values include: 'CapabilityStatusVisible', 'CapabilityStatusAvailable', 'CapabilityStatusDefault', 'CapabilityStatusDisabled' + Status CapabilityStatus `json:"status,omitempty"` + // SupportedEditions - READ-ONLY; The list of supported database editions. + SupportedEditions *[]EditionCapability `json:"supportedEditions,omitempty"` + // SupportedElasticPoolEditions - READ-ONLY; The list of supported elastic pool editions. + SupportedElasticPoolEditions *[]ElasticPoolEditionCapability `json:"supportedElasticPoolEditions,omitempty"` } -// RecommendedIndex represents a database recommended index. -type RecommendedIndex struct { - // RecommendedIndexProperties - READ-ONLY; The properties representing the resource. - *RecommendedIndexProperties `json:"properties,omitempty"` +// ServiceObjective represents a database service objective. +type ServiceObjective struct { + autorest.Response `json:"-"` + // ServiceObjectiveProperties - Represents the properties of the resource. + *ServiceObjectiveProperties `json:"properties,omitempty"` // ID - READ-ONLY; Resource ID. ID *string `json:"id,omitempty"` // Name - READ-ONLY; Resource name. @@ -2206,14 +5440,17 @@ type RecommendedIndex struct { Type *string `json:"type,omitempty"` } -// MarshalJSON is the custom marshaler for RecommendedIndex. -func (ri RecommendedIndex) MarshalJSON() ([]byte, error) { +// MarshalJSON is the custom marshaler for ServiceObjective. +func (so ServiceObjective) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) + if so.ServiceObjectiveProperties != nil { + objectMap["properties"] = so.ServiceObjectiveProperties + } return json.Marshal(objectMap) } -// UnmarshalJSON is the custom unmarshaler for RecommendedIndex struct. -func (ri *RecommendedIndex) UnmarshalJSON(body []byte) error { +// UnmarshalJSON is the custom unmarshaler for ServiceObjective struct. +func (so *ServiceObjective) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -2223,12 +5460,12 @@ func (ri *RecommendedIndex) UnmarshalJSON(body []byte) error { switch k { case "properties": if v != nil { - var recommendedIndexProperties RecommendedIndexProperties - err = json.Unmarshal(*v, &recommendedIndexProperties) + var serviceObjectiveProperties ServiceObjectiveProperties + err = json.Unmarshal(*v, &serviceObjectiveProperties) if err != nil { return err } - ri.RecommendedIndexProperties = &recommendedIndexProperties + so.ServiceObjectiveProperties = &serviceObjectiveProperties } case "id": if v != nil { @@ -2237,7 +5474,7 @@ func (ri *RecommendedIndex) UnmarshalJSON(body []byte) error { if err != nil { return err } - ri.ID = &ID + so.ID = &ID } case "name": if v != nil { @@ -2246,7 +5483,7 @@ func (ri *RecommendedIndex) UnmarshalJSON(body []byte) error { if err != nil { return err } - ri.Name = &name + so.Name = &name } case "type": if v != nil { @@ -2255,7 +5492,7 @@ func (ri *RecommendedIndex) UnmarshalJSON(body []byte) error { if err != nil { return err } - ri.Type = &typeVar + so.Type = &typeVar } } } @@ -2263,60 +5500,30 @@ func (ri *RecommendedIndex) UnmarshalJSON(body []byte) error { return nil } -// RecommendedIndexProperties represents the properties of a database recommended index. -type RecommendedIndexProperties struct { - // Action - READ-ONLY; The proposed index action. You can create a missing index, drop an unused index, or rebuild an existing index to improve its performance. Possible values include: 'Create', 'Drop', 'Rebuild' - Action RecommendedIndexAction `json:"action,omitempty"` - // State - READ-ONLY; The current recommendation state. Possible values include: 'Active', 'Pending', 'Executing', 'Verifying', 'PendingRevert', 'Reverting', 'Reverted', 'Ignored', 'Expired', 'Blocked', 'Success' - State RecommendedIndexState `json:"state,omitempty"` - // Created - READ-ONLY; The UTC datetime showing when this resource was created (ISO8601 format). - Created *date.Time `json:"created,omitempty"` - // LastModified - READ-ONLY; The UTC datetime of when was this resource last changed (ISO8601 format). - LastModified *date.Time `json:"lastModified,omitempty"` - // IndexType - READ-ONLY; The type of index (CLUSTERED, NONCLUSTERED, COLUMNSTORE, CLUSTERED COLUMNSTORE). Possible values include: 'CLUSTERED', 'NONCLUSTERED', 'COLUMNSTORE', 'CLUSTEREDCOLUMNSTORE' - IndexType RecommendedIndexType `json:"indexType,omitempty"` - // Schema - READ-ONLY; The schema where table to build index over resides - Schema *string `json:"schema,omitempty"` - // Table - READ-ONLY; The table on which to build index. - Table *string `json:"table,omitempty"` - // Columns - READ-ONLY; Columns over which to build index - Columns *[]string `json:"columns,omitempty"` - // IncludedColumns - READ-ONLY; The list of column names to be included in the index - IncludedColumns *[]string `json:"includedColumns,omitempty"` - // IndexScript - READ-ONLY; The full build index script - IndexScript *string `json:"indexScript,omitempty"` - // EstimatedImpact - READ-ONLY; The estimated impact of doing recommended index action. - EstimatedImpact *[]OperationImpact `json:"estimatedImpact,omitempty"` - // ReportedImpact - READ-ONLY; The values reported after index action is complete. - ReportedImpact *[]OperationImpact `json:"reportedImpact,omitempty"` -} - -// ReplicationLink represents a database replication link. -type ReplicationLink struct { - autorest.Response `json:"-"` - // Location - READ-ONLY; Location of the server that contains this firewall rule. - Location *string `json:"location,omitempty"` - // ReplicationLinkProperties - The properties representing the resource. - *ReplicationLinkProperties `json:"properties,omitempty"` - // ID - READ-ONLY; Resource ID. - ID *string `json:"id,omitempty"` - // Name - READ-ONLY; Resource name. +// ServiceObjectiveCapability the service objectives capability. +type ServiceObjectiveCapability struct { + // Name - READ-ONLY; The service objective name. Name *string `json:"name,omitempty"` - // Type - READ-ONLY; Resource type. - Type *string `json:"type,omitempty"` + // Status - READ-ONLY; The status of the service objective. Possible values include: 'CapabilityStatusVisible', 'CapabilityStatusAvailable', 'CapabilityStatusDefault', 'CapabilityStatusDisabled' + Status CapabilityStatus `json:"status,omitempty"` + // PerformanceLevel - READ-ONLY; The performance level of the service objective capability. + *PerformanceLevel `json:"performanceLevel,omitempty"` + // ID - READ-ONLY; The unique ID of the service objective. + ID *uuid.UUID `json:"id,omitempty"` + // SupportedMaxSizes - READ-ONLY; The list of supported maximum database sizes for this service objective. + SupportedMaxSizes *[]MaxSizeCapability `json:"supportedMaxSizes,omitempty"` + // IncludedMaxSize - READ-ONLY; The included (free) max size for this service level objective. + IncludedMaxSize *MaxSizeCapability `json:"includedMaxSize,omitempty"` } -// MarshalJSON is the custom marshaler for ReplicationLink. -func (rl ReplicationLink) MarshalJSON() ([]byte, error) { +// MarshalJSON is the custom marshaler for ServiceObjectiveCapability. +func (soc ServiceObjectiveCapability) MarshalJSON() ([]byte, error) { objectMap := make(map[string]interface{}) - if rl.ReplicationLinkProperties != nil { - objectMap["properties"] = rl.ReplicationLinkProperties - } return json.Marshal(objectMap) } -// UnmarshalJSON is the custom unmarshaler for ReplicationLink struct. -func (rl *ReplicationLink) UnmarshalJSON(body []byte) error { +// UnmarshalJSON is the custom unmarshaler for ServiceObjectiveCapability struct. +func (soc *ServiceObjectiveCapability) UnmarshalJSON(body []byte) error { var m map[string]*json.RawMessage err := json.Unmarshal(body, &m) if err != nil { @@ -2324,50 +5531,59 @@ func (rl *ReplicationLink) UnmarshalJSON(body []byte) error { } for k, v := range m { switch k { - case "location": + case "name": if v != nil { - var location string - err = json.Unmarshal(*v, &location) + var name string + err = json.Unmarshal(*v, &name) if err != nil { return err } - rl.Location = &location + soc.Name = &name } - case "properties": + case "status": if v != nil { - var replicationLinkProperties ReplicationLinkProperties - err = json.Unmarshal(*v, &replicationLinkProperties) + var status CapabilityStatus + err = json.Unmarshal(*v, &status) if err != nil { return err } - rl.ReplicationLinkProperties = &replicationLinkProperties + soc.Status = status + } + case "performanceLevel": + if v != nil { + var performanceLevel PerformanceLevel + err = json.Unmarshal(*v, &performanceLevel) + if err != nil { + return err + } + soc.PerformanceLevel = &performanceLevel } case "id": if v != nil { - var ID string + var ID uuid.UUID err = json.Unmarshal(*v, &ID) if err != nil { return err } - rl.ID = &ID + soc.ID = &ID } - case "name": + case "supportedMaxSizes": if v != nil { - var name string - err = json.Unmarshal(*v, &name) + var supportedMaxSizes []MaxSizeCapability + err = json.Unmarshal(*v, &supportedMaxSizes) if err != nil { return err } - rl.Name = &name + soc.SupportedMaxSizes = &supportedMaxSizes } - case "type": + case "includedMaxSize": if v != nil { - var typeVar string - err = json.Unmarshal(*v, &typeVar) + var includedMaxSize MaxSizeCapability + err = json.Unmarshal(*v, &includedMaxSize) if err != nil { return err } - rl.Type = &typeVar + soc.IncludedMaxSize = &includedMaxSize } } } @@ -2375,91 +5591,25 @@ func (rl *ReplicationLink) UnmarshalJSON(body []byte) error { return nil } -// ReplicationLinkListResult represents the response to a List database replication link request. -type ReplicationLinkListResult struct { +// ServiceObjectiveListResult represents the response to a get database service objectives request. +type ServiceObjectiveListResult struct { autorest.Response `json:"-"` - // Value - The list of database replication links housed in the database. - Value *[]ReplicationLink `json:"value,omitempty"` -} - -// ReplicationLinkProperties represents the properties of a database replication link. -type ReplicationLinkProperties struct { - // IsTerminationAllowed - READ-ONLY; Legacy value indicating whether termination is allowed. Currently always returns true. - IsTerminationAllowed *bool `json:"isTerminationAllowed,omitempty"` - // ReplicationMode - READ-ONLY; Replication mode of this replication link. - ReplicationMode *string `json:"replicationMode,omitempty"` - // PartnerServer - READ-ONLY; The name of the server hosting the partner database. - PartnerServer *string `json:"partnerServer,omitempty"` - // PartnerDatabase - READ-ONLY; The name of the partner database. - PartnerDatabase *string `json:"partnerDatabase,omitempty"` - // PartnerLocation - READ-ONLY; The Azure Region of the partner database. - PartnerLocation *string `json:"partnerLocation,omitempty"` - // Role - READ-ONLY; The role of the database in the replication link. Possible values include: 'ReplicationRolePrimary', 'ReplicationRoleSecondary', 'ReplicationRoleNonReadableSecondary', 'ReplicationRoleSource', 'ReplicationRoleCopy' - Role ReplicationRole `json:"role,omitempty"` - // PartnerRole - READ-ONLY; The role of the partner database in the replication link. Possible values include: 'ReplicationRolePrimary', 'ReplicationRoleSecondary', 'ReplicationRoleNonReadableSecondary', 'ReplicationRoleSource', 'ReplicationRoleCopy' - PartnerRole ReplicationRole `json:"partnerRole,omitempty"` - // StartTime - READ-ONLY; The start time for the replication link. - StartTime *date.Time `json:"startTime,omitempty"` - // PercentComplete - READ-ONLY; The percentage of seeding complete for the replication link. - PercentComplete *int32 `json:"percentComplete,omitempty"` - // ReplicationState - READ-ONLY; The replication state for the replication link. Possible values include: 'PENDING', 'SEEDING', 'CATCHUP', 'SUSPENDED' - ReplicationState ReplicationState `json:"replicationState,omitempty"` + // Value - The list of database service objectives. + Value *[]ServiceObjective `json:"value,omitempty"` } -// ReplicationLinksFailoverAllowDataLossFuture an abstraction for monitoring and retrieving the results of -// a long-running operation. -type ReplicationLinksFailoverAllowDataLossFuture struct { - azure.Future -} - -// Result returns the result of the asynchronous operation. -// If the operation has not completed it will return an error. -func (future *ReplicationLinksFailoverAllowDataLossFuture) Result(client ReplicationLinksClient) (ar autorest.Response, err error) { - var done bool - done, err = future.DoneWithContext(context.Background(), client) - if err != nil { - err = autorest.NewErrorWithError(err, "sql.ReplicationLinksFailoverAllowDataLossFuture", "Result", future.Response(), "Polling failure") - return - } - if !done { - err = azure.NewAsyncOpIncompleteError("sql.ReplicationLinksFailoverAllowDataLossFuture") - return - } - ar.Response = future.Response() - return -} - -// ReplicationLinksFailoverFuture an abstraction for monitoring and retrieving the results of a -// long-running operation. -type ReplicationLinksFailoverFuture struct { - azure.Future -} - -// Result returns the result of the asynchronous operation. -// If the operation has not completed it will return an error. -func (future *ReplicationLinksFailoverFuture) Result(client ReplicationLinksClient) (ar autorest.Response, err error) { - var done bool - done, err = future.DoneWithContext(context.Background(), client) - if err != nil { - err = autorest.NewErrorWithError(err, "sql.ReplicationLinksFailoverFuture", "Result", future.Response(), "Polling failure") - return - } - if !done { - err = azure.NewAsyncOpIncompleteError("sql.ReplicationLinksFailoverFuture") - return - } - ar.Response = future.Response() - return -} - -// Resource ARM resource. -type Resource struct { - // ID - READ-ONLY; Resource ID. - ID *string `json:"id,omitempty"` - // Name - READ-ONLY; Resource name. - Name *string `json:"name,omitempty"` - // Type - READ-ONLY; Resource type. - Type *string `json:"type,omitempty"` +// ServiceObjectiveProperties represents the properties of a database service objective. +type ServiceObjectiveProperties struct { + // ServiceObjectiveName - READ-ONLY; The name for the service objective. + ServiceObjectiveName *string `json:"serviceObjectiveName,omitempty"` + // IsDefault - READ-ONLY; Gets whether the service level objective is the default service objective. + IsDefault *bool `json:"isDefault,omitempty"` + // IsSystem - READ-ONLY; Gets whether the service level objective is a system service objective. + IsSystem *bool `json:"isSystem,omitempty"` + // Description - READ-ONLY; The description for the service level objective. + Description *string `json:"description,omitempty"` + // Enabled - READ-ONLY; Gets whether the service level objective is enabled. + Enabled *bool `json:"enabled,omitempty"` } // ServiceTierAdvisor represents a Service Tier Advisor. @@ -2591,6 +5741,59 @@ type SloUsageMetric struct { InRangeTimeRatio *float64 `json:"inRangeTimeRatio,omitempty"` } +// TableAuditingPolicyProperties properties of a table auditing policy. +type TableAuditingPolicyProperties struct { + // AuditingState - The state of the policy. + AuditingState *string `json:"auditingState,omitempty"` + // AuditLogsTableName - The audit logs table name. + AuditLogsTableName *string `json:"auditLogsTableName,omitempty"` + // EventTypesToAudit - Comma-separated list of event types to audit. + EventTypesToAudit *string `json:"eventTypesToAudit,omitempty"` + // FullAuditLogsTableName - The full audit logs table name. + FullAuditLogsTableName *string `json:"fullAuditLogsTableName,omitempty"` + // RetentionDays - The number of days to keep in the audit logs. + RetentionDays *string `json:"retentionDays,omitempty"` + // StorageAccountKey - The key of the auditing storage account. + StorageAccountKey *string `json:"storageAccountKey,omitempty"` + // StorageAccountName - The table storage account name + StorageAccountName *string `json:"storageAccountName,omitempty"` + // StorageAccountResourceGroupName - The table storage account resource group name + StorageAccountResourceGroupName *string `json:"storageAccountResourceGroupName,omitempty"` + // StorageAccountSecondaryKey - The secondary key of the auditing storage account. + StorageAccountSecondaryKey *string `json:"storageAccountSecondaryKey,omitempty"` + // StorageAccountSubscriptionID - The table storage subscription Id. + StorageAccountSubscriptionID *uuid.UUID `json:"storageAccountSubscriptionId,omitempty"` + // StorageTableEndpoint - The storage table endpoint. + StorageTableEndpoint *string `json:"storageTableEndpoint,omitempty"` +} + +// TopQueries a database query. +type TopQueries struct { + // AggregationFunction - READ-ONLY; The function that is used to aggregate each query's metrics. Possible values include: 'Min', 'Max', 'Avg', 'Sum' + AggregationFunction QueryAggregationFunction `json:"aggregationFunction,omitempty"` + // ExecutionType - READ-ONLY; The execution type that is used to filter the query instances that are returned. Possible values include: 'Any', 'Regular', 'Irregular', 'Aborted', 'Exception' + ExecutionType QueryExecutionType `json:"executionType,omitempty"` + // IntervalType - READ-ONLY; The duration of the interval (ISO8601 duration format). + IntervalType *string `json:"intervalType,omitempty"` + // NumberOfTopQueries - READ-ONLY; The number of requested queries. + NumberOfTopQueries *float64 `json:"numberOfTopQueries,omitempty"` + // ObservationStartTime - READ-ONLY; The start time for queries that are returned (ISO8601 format) + ObservationStartTime *date.Time `json:"observationStartTime,omitempty"` + // ObservationEndTime - READ-ONLY; The end time for queries that are returned (ISO8601 format) + ObservationEndTime *date.Time `json:"observationEndTime,omitempty"` + // ObservedMetric - READ-ONLY; The type of metric to use for ordering the top metrics. Possible values include: 'CPU', 'Io', 'Logio', 'Duration', 'ExecutionCount' + ObservedMetric QueryObservedMetricType `json:"observedMetric,omitempty"` + // Queries - READ-ONLY; The list of queries. + Queries *[]QueryStatistic `json:"queries,omitempty"` +} + +// TopQueriesListResult represents the response to a get top queries request. +type TopQueriesListResult struct { + autorest.Response `json:"-"` + // Value - The list of top queries. + Value *[]TopQueries `json:"value,omitempty"` +} + // TrackedResource ARM tracked top level resource. type TrackedResource struct { // Location - Resource location. @@ -2801,6 +6004,14 @@ type TransparentDataEncryptionActivityProperties struct { PercentComplete *float64 `json:"percentComplete,omitempty"` } +// TransparentDataEncryptionListResult represents the response to a list transparent data encryption +// configurations request. +type TransparentDataEncryptionListResult struct { + autorest.Response `json:"-"` + // Value - The list of transparent data encryption configurations. + Value *[]TransparentDataEncryption `json:"value,omitempty"` +} + // TransparentDataEncryptionProperties represents the properties of a database transparent data encryption. type TransparentDataEncryptionProperties struct { // Status - The status of the database transparent data encryption. Possible values include: 'TransparentDataEncryptionStatusEnabled', 'TransparentDataEncryptionStatusDisabled' diff --git a/services/sql/mgmt/2014-04-01/sql/operations.go b/services/sql/mgmt/2014-04-01/sql/operations.go new file mode 100644 index 000000000000..18a4cb800c85 --- /dev/null +++ b/services/sql/mgmt/2014-04-01/sql/operations.go @@ -0,0 +1,111 @@ +package sql + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// OperationsClient is the the Azure SQL Database management API provides a RESTful set of web services that interact +// with Azure SQL Database services to manage your databases. The API enables you to create, retrieve, update, and +// delete databases. +type OperationsClient struct { + BaseClient +} + +// NewOperationsClient creates an instance of the OperationsClient client. +func NewOperationsClient(subscriptionID string) OperationsClient { + return NewOperationsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewOperationsClientWithBaseURI creates an instance of the OperationsClient client. +func NewOperationsClientWithBaseURI(baseURI string, subscriptionID string) OperationsClient { + return OperationsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// List lists all of the available SQL Rest API operations. +func (client OperationsClient) List(ctx context.Context) (result OperationListResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/OperationsClient.List") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.OperationsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.OperationsClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.OperationsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client OperationsClient) ListPreparer(ctx context.Context) (*http.Request, error) { + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPath("/providers/Microsoft.Sql/operations"), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client OperationsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client OperationsClient) ListResponder(resp *http.Response) (result OperationListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/sql/mgmt/2014-04-01/sql/queries.go b/services/sql/mgmt/2014-04-01/sql/queries.go new file mode 100644 index 000000000000..c783532b4683 --- /dev/null +++ b/services/sql/mgmt/2014-04-01/sql/queries.go @@ -0,0 +1,123 @@ +package sql + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// QueriesClient is the the Azure SQL Database management API provides a RESTful set of web services that interact with +// Azure SQL Database services to manage your databases. The API enables you to create, retrieve, update, and delete +// databases. +type QueriesClient struct { + BaseClient +} + +// NewQueriesClient creates an instance of the QueriesClient client. +func NewQueriesClient(subscriptionID string) QueriesClient { + return NewQueriesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewQueriesClientWithBaseURI creates an instance of the QueriesClient client. +func NewQueriesClientWithBaseURI(baseURI string, subscriptionID string) QueriesClient { + return QueriesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// ListByDatabase gets a list of top queries by database. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serverName - the name of the server. +// databaseName - the name of the database. +func (client QueriesClient) ListByDatabase(ctx context.Context, resourceGroupName string, serverName string, databaseName string) (result TopQueriesListResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/QueriesClient.ListByDatabase") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListByDatabasePreparer(ctx, resourceGroupName, serverName, databaseName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.QueriesClient", "ListByDatabase", nil, "Failure preparing request") + return + } + + resp, err := client.ListByDatabaseSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.QueriesClient", "ListByDatabase", resp, "Failure sending request") + return + } + + result, err = client.ListByDatabaseResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.QueriesClient", "ListByDatabase", resp, "Failure responding to request") + } + + return +} + +// ListByDatabasePreparer prepares the ListByDatabase request. +func (client QueriesClient) ListByDatabasePreparer(ctx context.Context, resourceGroupName string, serverName string, databaseName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "databaseName": autorest.Encode("path", databaseName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/topQueries", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByDatabaseSender sends the ListByDatabase request. The method will close the +// http.Response Body if it receives an error. +func (client QueriesClient) ListByDatabaseSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByDatabaseResponder handles the response to the ListByDatabase request. The method always +// closes the http.Response Body. +func (client QueriesClient) ListByDatabaseResponder(resp *http.Response) (result TopQueriesListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/sql/mgmt/2014-04-01/sql/querystatistics.go b/services/sql/mgmt/2014-04-01/sql/querystatistics.go new file mode 100644 index 000000000000..4b948db0a3a2 --- /dev/null +++ b/services/sql/mgmt/2014-04-01/sql/querystatistics.go @@ -0,0 +1,125 @@ +package sql + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// QueryStatisticsClient is the the Azure SQL Database management API provides a RESTful set of web services that +// interact with Azure SQL Database services to manage your databases. The API enables you to create, retrieve, update, +// and delete databases. +type QueryStatisticsClient struct { + BaseClient +} + +// NewQueryStatisticsClient creates an instance of the QueryStatisticsClient client. +func NewQueryStatisticsClient(subscriptionID string) QueryStatisticsClient { + return NewQueryStatisticsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewQueryStatisticsClientWithBaseURI creates an instance of the QueryStatisticsClient client. +func NewQueryStatisticsClientWithBaseURI(baseURI string, subscriptionID string) QueryStatisticsClient { + return QueryStatisticsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// ListByQuery lists a query's statistics. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serverName - the name of the server. +// databaseName - the name of the database. +// queryID - the id of the query +func (client QueryStatisticsClient) ListByQuery(ctx context.Context, resourceGroupName string, serverName string, databaseName string, queryID string) (result QueryStatisticListResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/QueryStatisticsClient.ListByQuery") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListByQueryPreparer(ctx, resourceGroupName, serverName, databaseName, queryID) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.QueryStatisticsClient", "ListByQuery", nil, "Failure preparing request") + return + } + + resp, err := client.ListByQuerySender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.QueryStatisticsClient", "ListByQuery", resp, "Failure sending request") + return + } + + result, err = client.ListByQueryResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.QueryStatisticsClient", "ListByQuery", resp, "Failure responding to request") + } + + return +} + +// ListByQueryPreparer prepares the ListByQuery request. +func (client QueryStatisticsClient) ListByQueryPreparer(ctx context.Context, resourceGroupName string, serverName string, databaseName string, queryID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "databaseName": autorest.Encode("path", databaseName), + "queryId": autorest.Encode("path", queryID), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/topQueries/{queryId}/statistics", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByQuerySender sends the ListByQuery request. The method will close the +// http.Response Body if it receives an error. +func (client QueryStatisticsClient) ListByQuerySender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByQueryResponder handles the response to the ListByQuery request. The method always +// closes the http.Response Body. +func (client QueryStatisticsClient) ListByQueryResponder(resp *http.Response) (result QueryStatisticListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/sql/mgmt/2014-04-01/sql/querytexts.go b/services/sql/mgmt/2014-04-01/sql/querytexts.go new file mode 100644 index 000000000000..133a7a07db30 --- /dev/null +++ b/services/sql/mgmt/2014-04-01/sql/querytexts.go @@ -0,0 +1,125 @@ +package sql + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// QueryTextsClient is the the Azure SQL Database management API provides a RESTful set of web services that interact +// with Azure SQL Database services to manage your databases. The API enables you to create, retrieve, update, and +// delete databases. +type QueryTextsClient struct { + BaseClient +} + +// NewQueryTextsClient creates an instance of the QueryTextsClient client. +func NewQueryTextsClient(subscriptionID string) QueryTextsClient { + return NewQueryTextsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewQueryTextsClientWithBaseURI creates an instance of the QueryTextsClient client. +func NewQueryTextsClientWithBaseURI(baseURI string, subscriptionID string) QueryTextsClient { + return QueryTextsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// ListByQuery gets a query's text. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serverName - the name of the server. +// databaseName - the name of the database. +// queryID - the id of the query +func (client QueryTextsClient) ListByQuery(ctx context.Context, resourceGroupName string, serverName string, databaseName string, queryID string) (result QueryTextListResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/QueryTextsClient.ListByQuery") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListByQueryPreparer(ctx, resourceGroupName, serverName, databaseName, queryID) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.QueryTextsClient", "ListByQuery", nil, "Failure preparing request") + return + } + + resp, err := client.ListByQuerySender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.QueryTextsClient", "ListByQuery", resp, "Failure sending request") + return + } + + result, err = client.ListByQueryResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.QueryTextsClient", "ListByQuery", resp, "Failure responding to request") + } + + return +} + +// ListByQueryPreparer prepares the ListByQuery request. +func (client QueryTextsClient) ListByQueryPreparer(ctx context.Context, resourceGroupName string, serverName string, databaseName string, queryID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "databaseName": autorest.Encode("path", databaseName), + "queryId": autorest.Encode("path", queryID), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/topQueries/{queryId}/queryText", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByQuerySender sends the ListByQuery request. The method will close the +// http.Response Body if it receives an error. +func (client QueryTextsClient) ListByQuerySender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByQueryResponder handles the response to the ListByQuery request. The method always +// closes the http.Response Body. +func (client QueryTextsClient) ListByQueryResponder(resp *http.Response) (result QueryTextListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/sql/mgmt/2014-04-01/sql/recoverabledatabases.go b/services/sql/mgmt/2014-04-01/sql/recoverabledatabases.go new file mode 100644 index 000000000000..bfa9b2425b97 --- /dev/null +++ b/services/sql/mgmt/2014-04-01/sql/recoverabledatabases.go @@ -0,0 +1,201 @@ +package sql + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// RecoverableDatabasesClient is the the Azure SQL Database management API provides a RESTful set of web services that +// interact with Azure SQL Database services to manage your databases. The API enables you to create, retrieve, update, +// and delete databases. +type RecoverableDatabasesClient struct { + BaseClient +} + +// NewRecoverableDatabasesClient creates an instance of the RecoverableDatabasesClient client. +func NewRecoverableDatabasesClient(subscriptionID string) RecoverableDatabasesClient { + return NewRecoverableDatabasesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewRecoverableDatabasesClientWithBaseURI creates an instance of the RecoverableDatabasesClient client. +func NewRecoverableDatabasesClientWithBaseURI(baseURI string, subscriptionID string) RecoverableDatabasesClient { + return RecoverableDatabasesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// Get gets a recoverable database, which is a resource representing a database's geo backup +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serverName - the name of the server. +// databaseName - the name of the database +func (client RecoverableDatabasesClient) Get(ctx context.Context, resourceGroupName string, serverName string, databaseName string) (result RecoverableDatabase, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RecoverableDatabasesClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, serverName, databaseName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.RecoverableDatabasesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.RecoverableDatabasesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.RecoverableDatabasesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client RecoverableDatabasesClient) GetPreparer(ctx context.Context, resourceGroupName string, serverName string, databaseName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "databaseName": autorest.Encode("path", databaseName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/recoverableDatabases/{databaseName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client RecoverableDatabasesClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client RecoverableDatabasesClient) GetResponder(resp *http.Response) (result RecoverableDatabase, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByServer gets a list of recoverable databases +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serverName - the name of the server. +func (client RecoverableDatabasesClient) ListByServer(ctx context.Context, resourceGroupName string, serverName string) (result RecoverableDatabaseListResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RecoverableDatabasesClient.ListByServer") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListByServerPreparer(ctx, resourceGroupName, serverName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.RecoverableDatabasesClient", "ListByServer", nil, "Failure preparing request") + return + } + + resp, err := client.ListByServerSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.RecoverableDatabasesClient", "ListByServer", resp, "Failure sending request") + return + } + + result, err = client.ListByServerResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.RecoverableDatabasesClient", "ListByServer", resp, "Failure responding to request") + } + + return +} + +// ListByServerPreparer prepares the ListByServer request. +func (client RecoverableDatabasesClient) ListByServerPreparer(ctx context.Context, resourceGroupName string, serverName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/recoverableDatabases", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByServerSender sends the ListByServer request. The method will close the +// http.Response Body if it receives an error. +func (client RecoverableDatabasesClient) ListByServerSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByServerResponder handles the response to the ListByServer request. The method always +// closes the http.Response Body. +func (client RecoverableDatabasesClient) ListByServerResponder(resp *http.Response) (result RecoverableDatabaseListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/sql/mgmt/2014-04-01/sql/restorabledroppeddatabases.go b/services/sql/mgmt/2014-04-01/sql/restorabledroppeddatabases.go new file mode 100644 index 000000000000..ee9433fcd23a --- /dev/null +++ b/services/sql/mgmt/2014-04-01/sql/restorabledroppeddatabases.go @@ -0,0 +1,202 @@ +package sql + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// RestorableDroppedDatabasesClient is the the Azure SQL Database management API provides a RESTful set of web services +// that interact with Azure SQL Database services to manage your databases. The API enables you to create, retrieve, +// update, and delete databases. +type RestorableDroppedDatabasesClient struct { + BaseClient +} + +// NewRestorableDroppedDatabasesClient creates an instance of the RestorableDroppedDatabasesClient client. +func NewRestorableDroppedDatabasesClient(subscriptionID string) RestorableDroppedDatabasesClient { + return NewRestorableDroppedDatabasesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewRestorableDroppedDatabasesClientWithBaseURI creates an instance of the RestorableDroppedDatabasesClient client. +func NewRestorableDroppedDatabasesClientWithBaseURI(baseURI string, subscriptionID string) RestorableDroppedDatabasesClient { + return RestorableDroppedDatabasesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// Get gets a deleted database that can be restored +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serverName - the name of the server. +// restorableDroppededDatabaseID - the id of the deleted database in the form of +// databaseName,deletionTimeInFileTimeFormat +func (client RestorableDroppedDatabasesClient) Get(ctx context.Context, resourceGroupName string, serverName string, restorableDroppededDatabaseID string) (result RestorableDroppedDatabase, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RestorableDroppedDatabasesClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, serverName, restorableDroppededDatabaseID) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.RestorableDroppedDatabasesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.RestorableDroppedDatabasesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.RestorableDroppedDatabasesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client RestorableDroppedDatabasesClient) GetPreparer(ctx context.Context, resourceGroupName string, serverName string, restorableDroppededDatabaseID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "restorableDroppededDatabaseId": autorest.Encode("path", restorableDroppededDatabaseID), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/restorableDroppedDatabases/{restorableDroppededDatabaseId}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client RestorableDroppedDatabasesClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client RestorableDroppedDatabasesClient) GetResponder(resp *http.Response) (result RestorableDroppedDatabase, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByServer gets a list of deleted databases that can be restored +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serverName - the name of the server. +func (client RestorableDroppedDatabasesClient) ListByServer(ctx context.Context, resourceGroupName string, serverName string) (result RestorableDroppedDatabaseListResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RestorableDroppedDatabasesClient.ListByServer") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListByServerPreparer(ctx, resourceGroupName, serverName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.RestorableDroppedDatabasesClient", "ListByServer", nil, "Failure preparing request") + return + } + + resp, err := client.ListByServerSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.RestorableDroppedDatabasesClient", "ListByServer", resp, "Failure sending request") + return + } + + result, err = client.ListByServerResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.RestorableDroppedDatabasesClient", "ListByServer", resp, "Failure responding to request") + } + + return +} + +// ListByServerPreparer prepares the ListByServer request. +func (client RestorableDroppedDatabasesClient) ListByServerPreparer(ctx context.Context, resourceGroupName string, serverName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/restorableDroppedDatabases", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByServerSender sends the ListByServer request. The method will close the +// http.Response Body if it receives an error. +func (client RestorableDroppedDatabasesClient) ListByServerSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByServerResponder handles the response to the ListByServer request. The method always +// closes the http.Response Body. +func (client RestorableDroppedDatabasesClient) ListByServerResponder(resp *http.Response) (result RestorableDroppedDatabaseListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/sql/mgmt/2014-04-01/sql/restorepoints.go b/services/sql/mgmt/2014-04-01/sql/restorepoints.go new file mode 100644 index 000000000000..a261a52b7584 --- /dev/null +++ b/services/sql/mgmt/2014-04-01/sql/restorepoints.go @@ -0,0 +1,123 @@ +package sql + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// RestorePointsClient is the the Azure SQL Database management API provides a RESTful set of web services that +// interact with Azure SQL Database services to manage your databases. The API enables you to create, retrieve, update, +// and delete databases. +type RestorePointsClient struct { + BaseClient +} + +// NewRestorePointsClient creates an instance of the RestorePointsClient client. +func NewRestorePointsClient(subscriptionID string) RestorePointsClient { + return NewRestorePointsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewRestorePointsClientWithBaseURI creates an instance of the RestorePointsClient client. +func NewRestorePointsClientWithBaseURI(baseURI string, subscriptionID string) RestorePointsClient { + return RestorePointsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// ListByDatabase gets a list of database restore points. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serverName - the name of the server. +// databaseName - the name of the database to get available restore points. +func (client RestorePointsClient) ListByDatabase(ctx context.Context, resourceGroupName string, serverName string, databaseName string) (result RestorePointListResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RestorePointsClient.ListByDatabase") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListByDatabasePreparer(ctx, resourceGroupName, serverName, databaseName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.RestorePointsClient", "ListByDatabase", nil, "Failure preparing request") + return + } + + resp, err := client.ListByDatabaseSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.RestorePointsClient", "ListByDatabase", resp, "Failure sending request") + return + } + + result, err = client.ListByDatabaseResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.RestorePointsClient", "ListByDatabase", resp, "Failure responding to request") + } + + return +} + +// ListByDatabasePreparer prepares the ListByDatabase request. +func (client RestorePointsClient) ListByDatabasePreparer(ctx context.Context, resourceGroupName string, serverName string, databaseName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "databaseName": autorest.Encode("path", databaseName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/restorePoints", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByDatabaseSender sends the ListByDatabase request. The method will close the +// http.Response Body if it receives an error. +func (client RestorePointsClient) ListByDatabaseSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByDatabaseResponder handles the response to the ListByDatabase request. The method always +// closes the http.Response Body. +func (client RestorePointsClient) ListByDatabaseResponder(resp *http.Response) (result RestorePointListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/sql/mgmt/2014-04-01/sql/serveradvisors.go b/services/sql/mgmt/2014-04-01/sql/serveradvisors.go new file mode 100644 index 000000000000..9893c9d4ac6c --- /dev/null +++ b/services/sql/mgmt/2014-04-01/sql/serveradvisors.go @@ -0,0 +1,371 @@ +package sql + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// ServerAdvisorsClient is the the Azure SQL Database management API provides a RESTful set of web services that +// interact with Azure SQL Database services to manage your databases. The API enables you to create, retrieve, update, +// and delete databases. +type ServerAdvisorsClient struct { + BaseClient +} + +// NewServerAdvisorsClient creates an instance of the ServerAdvisorsClient client. +func NewServerAdvisorsClient(subscriptionID string) ServerAdvisorsClient { + return NewServerAdvisorsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewServerAdvisorsClientWithBaseURI creates an instance of the ServerAdvisorsClient client. +func NewServerAdvisorsClientWithBaseURI(baseURI string, subscriptionID string) ServerAdvisorsClient { + return ServerAdvisorsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates a server advisor. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serverName - the name of the server. +// advisorName - the name of the Server Advisor. +// parameters - the requested advisor resource state. +func (client ServerAdvisorsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, serverName string, advisorName string, parameters Advisor) (result Advisor, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServerAdvisorsClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, serverName, advisorName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServerAdvisorsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.ServerAdvisorsClient", "CreateOrUpdate", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServerAdvisorsClient", "CreateOrUpdate", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client ServerAdvisorsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, serverName string, advisorName string, parameters Advisor) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "advisorName": autorest.Encode("path", advisorName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + parameters.Kind = nil + parameters.Location = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/advisors/{advisorName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client ServerAdvisorsClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client ServerAdvisorsClient) CreateOrUpdateResponder(resp *http.Response) (result Advisor, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Get gets a server advisor. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serverName - the name of the server. +// advisorName - the name of the Server Advisor. +func (client ServerAdvisorsClient) Get(ctx context.Context, resourceGroupName string, serverName string, advisorName string) (result Advisor, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServerAdvisorsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, serverName, advisorName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServerAdvisorsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.ServerAdvisorsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServerAdvisorsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client ServerAdvisorsClient) GetPreparer(ctx context.Context, resourceGroupName string, serverName string, advisorName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "advisorName": autorest.Encode("path", advisorName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/advisors/{advisorName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client ServerAdvisorsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client ServerAdvisorsClient) GetResponder(resp *http.Response) (result Advisor, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByServer gets a list of server advisors. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serverName - the name of the server. +func (client ServerAdvisorsClient) ListByServer(ctx context.Context, resourceGroupName string, serverName string) (result AdvisorListResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServerAdvisorsClient.ListByServer") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListByServerPreparer(ctx, resourceGroupName, serverName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServerAdvisorsClient", "ListByServer", nil, "Failure preparing request") + return + } + + resp, err := client.ListByServerSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.ServerAdvisorsClient", "ListByServer", resp, "Failure sending request") + return + } + + result, err = client.ListByServerResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServerAdvisorsClient", "ListByServer", resp, "Failure responding to request") + } + + return +} + +// ListByServerPreparer prepares the ListByServer request. +func (client ServerAdvisorsClient) ListByServerPreparer(ctx context.Context, resourceGroupName string, serverName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/advisors", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByServerSender sends the ListByServer request. The method will close the +// http.Response Body if it receives an error. +func (client ServerAdvisorsClient) ListByServerSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByServerResponder handles the response to the ListByServer request. The method always +// closes the http.Response Body. +func (client ServerAdvisorsClient) ListByServerResponder(resp *http.Response) (result AdvisorListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Update updates a server advisor. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serverName - the name of the server. +// advisorName - the name of the Server Advisor. +// parameters - the requested advisor resource state. +func (client ServerAdvisorsClient) Update(ctx context.Context, resourceGroupName string, serverName string, advisorName string, parameters Advisor) (result Advisor, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServerAdvisorsClient.Update") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdatePreparer(ctx, resourceGroupName, serverName, advisorName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServerAdvisorsClient", "Update", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.ServerAdvisorsClient", "Update", resp, "Failure sending request") + return + } + + result, err = client.UpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServerAdvisorsClient", "Update", resp, "Failure responding to request") + } + + return +} + +// UpdatePreparer prepares the Update request. +func (client ServerAdvisorsClient) UpdatePreparer(ctx context.Context, resourceGroupName string, serverName string, advisorName string, parameters Advisor) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "advisorName": autorest.Encode("path", advisorName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + parameters.Kind = nil + parameters.Location = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/advisors/{advisorName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateSender sends the Update request. The method will close the +// http.Response Body if it receives an error. +func (client ServerAdvisorsClient) UpdateSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// UpdateResponder handles the response to the Update request. The method always +// closes the http.Response Body. +func (client ServerAdvisorsClient) UpdateResponder(resp *http.Response) (result Advisor, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/sql/mgmt/2014-04-01/sql/serverazureadadministrators.go b/services/sql/mgmt/2014-04-01/sql/serverazureadadministrators.go new file mode 100644 index 000000000000..8f68bc664109 --- /dev/null +++ b/services/sql/mgmt/2014-04-01/sql/serverazureadadministrators.go @@ -0,0 +1,374 @@ +package sql + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// ServerAzureADAdministratorsClient is the the Azure SQL Database management API provides a RESTful set of web +// services that interact with Azure SQL Database services to manage your databases. The API enables you to create, +// retrieve, update, and delete databases. +type ServerAzureADAdministratorsClient struct { + BaseClient +} + +// NewServerAzureADAdministratorsClient creates an instance of the ServerAzureADAdministratorsClient client. +func NewServerAzureADAdministratorsClient(subscriptionID string) ServerAzureADAdministratorsClient { + return NewServerAzureADAdministratorsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewServerAzureADAdministratorsClientWithBaseURI creates an instance of the ServerAzureADAdministratorsClient client. +func NewServerAzureADAdministratorsClientWithBaseURI(baseURI string, subscriptionID string) ServerAzureADAdministratorsClient { + return ServerAzureADAdministratorsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates a new Server Active Directory Administrator or updates an existing server Active Directory +// Administrator. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serverName - the name of the server. +// properties - the required parameters for creating or updating an Active Directory Administrator. +func (client ServerAzureADAdministratorsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, serverName string, properties ServerAzureADAdministrator) (result ServerAzureADAdministratorsCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServerAzureADAdministratorsClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: properties, + Constraints: []validation.Constraint{{Target: "properties.ServerAdministratorProperties", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "properties.ServerAdministratorProperties.AdministratorType", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "properties.ServerAdministratorProperties.Login", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "properties.ServerAdministratorProperties.Sid", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "properties.ServerAdministratorProperties.TenantID", Name: validation.Null, Rule: true, Chain: nil}, + }}}}}); err != nil { + return result, validation.NewError("sql.ServerAzureADAdministratorsClient", "CreateOrUpdate", err.Error()) + } + + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, serverName, properties) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServerAzureADAdministratorsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServerAzureADAdministratorsClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client ServerAzureADAdministratorsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, serverName string, properties ServerAzureADAdministrator) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "administratorName": autorest.Encode("path", "activeDirectory"), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/administrators/{administratorName}", pathParameters), + autorest.WithJSON(properties), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client ServerAzureADAdministratorsClient) CreateOrUpdateSender(req *http.Request) (future ServerAzureADAdministratorsCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client ServerAzureADAdministratorsClient) CreateOrUpdateResponder(resp *http.Response) (result ServerAzureADAdministrator, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes an existing server Active Directory Administrator. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serverName - the name of the server. +func (client ServerAzureADAdministratorsClient) Delete(ctx context.Context, resourceGroupName string, serverName string) (result ServerAzureADAdministratorsDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServerAzureADAdministratorsClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, serverName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServerAzureADAdministratorsClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServerAzureADAdministratorsClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client ServerAzureADAdministratorsClient) DeletePreparer(ctx context.Context, resourceGroupName string, serverName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "administratorName": autorest.Encode("path", "activeDirectory"), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/administrators/{administratorName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client ServerAzureADAdministratorsClient) DeleteSender(req *http.Request) (future ServerAzureADAdministratorsDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client ServerAzureADAdministratorsClient) DeleteResponder(resp *http.Response) (result ServerAzureADAdministrator, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Get returns an server Administrator. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serverName - the name of the server. +func (client ServerAzureADAdministratorsClient) Get(ctx context.Context, resourceGroupName string, serverName string) (result ServerAzureADAdministrator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServerAzureADAdministratorsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, serverName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServerAzureADAdministratorsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.ServerAzureADAdministratorsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServerAzureADAdministratorsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client ServerAzureADAdministratorsClient) GetPreparer(ctx context.Context, resourceGroupName string, serverName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "administratorName": autorest.Encode("path", "activeDirectory"), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/administrators/{administratorName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client ServerAzureADAdministratorsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client ServerAzureADAdministratorsClient) GetResponder(resp *http.Response) (result ServerAzureADAdministrator, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByServer returns a list of server Administrators. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serverName - the name of the server. +func (client ServerAzureADAdministratorsClient) ListByServer(ctx context.Context, resourceGroupName string, serverName string) (result ServerAdministratorListResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServerAzureADAdministratorsClient.ListByServer") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListByServerPreparer(ctx, resourceGroupName, serverName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServerAzureADAdministratorsClient", "ListByServer", nil, "Failure preparing request") + return + } + + resp, err := client.ListByServerSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.ServerAzureADAdministratorsClient", "ListByServer", resp, "Failure sending request") + return + } + + result, err = client.ListByServerResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServerAzureADAdministratorsClient", "ListByServer", resp, "Failure responding to request") + } + + return +} + +// ListByServerPreparer prepares the ListByServer request. +func (client ServerAzureADAdministratorsClient) ListByServerPreparer(ctx context.Context, resourceGroupName string, serverName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/administrators", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByServerSender sends the ListByServer request. The method will close the +// http.Response Body if it receives an error. +func (client ServerAzureADAdministratorsClient) ListByServerSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByServerResponder handles the response to the ListByServer request. The method always +// closes the http.Response Body. +func (client ServerAzureADAdministratorsClient) ListByServerResponder(resp *http.Response) (result ServerAdministratorListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/sql/mgmt/2014-04-01/sql/servercommunicationlinks.go b/services/sql/mgmt/2014-04-01/sql/servercommunicationlinks.go new file mode 100644 index 000000000000..8c89241fa93f --- /dev/null +++ b/services/sql/mgmt/2014-04-01/sql/servercommunicationlinks.go @@ -0,0 +1,373 @@ +package sql + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// ServerCommunicationLinksClient is the the Azure SQL Database management API provides a RESTful set of web services +// that interact with Azure SQL Database services to manage your databases. The API enables you to create, retrieve, +// update, and delete databases. +type ServerCommunicationLinksClient struct { + BaseClient +} + +// NewServerCommunicationLinksClient creates an instance of the ServerCommunicationLinksClient client. +func NewServerCommunicationLinksClient(subscriptionID string) ServerCommunicationLinksClient { + return NewServerCommunicationLinksClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewServerCommunicationLinksClientWithBaseURI creates an instance of the ServerCommunicationLinksClient client. +func NewServerCommunicationLinksClientWithBaseURI(baseURI string, subscriptionID string) ServerCommunicationLinksClient { + return ServerCommunicationLinksClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates a server communication link. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serverName - the name of the server. +// communicationLinkName - the name of the server communication link. +// parameters - the required parameters for creating a server communication link. +func (client ServerCommunicationLinksClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, serverName string, communicationLinkName string, parameters ServerCommunicationLink) (result ServerCommunicationLinksCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServerCommunicationLinksClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: parameters, + Constraints: []validation.Constraint{{Target: "parameters.ServerCommunicationLinkProperties", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.ServerCommunicationLinkProperties.PartnerServer", Name: validation.Null, Rule: true, Chain: nil}}}}}}); err != nil { + return result, validation.NewError("sql.ServerCommunicationLinksClient", "CreateOrUpdate", err.Error()) + } + + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, serverName, communicationLinkName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServerCommunicationLinksClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServerCommunicationLinksClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client ServerCommunicationLinksClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, serverName string, communicationLinkName string, parameters ServerCommunicationLink) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "communicationLinkName": autorest.Encode("path", communicationLinkName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + parameters.Location = nil + parameters.Kind = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/communicationLinks/{communicationLinkName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client ServerCommunicationLinksClient) CreateOrUpdateSender(req *http.Request) (future ServerCommunicationLinksCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client ServerCommunicationLinksClient) CreateOrUpdateResponder(resp *http.Response) (result ServerCommunicationLink, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes a server communication link. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serverName - the name of the server. +// communicationLinkName - the name of the server communication link. +func (client ServerCommunicationLinksClient) Delete(ctx context.Context, resourceGroupName string, serverName string, communicationLinkName string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServerCommunicationLinksClient.Delete") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, serverName, communicationLinkName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServerCommunicationLinksClient", "Delete", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "sql.ServerCommunicationLinksClient", "Delete", resp, "Failure sending request") + return + } + + result, err = client.DeleteResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServerCommunicationLinksClient", "Delete", resp, "Failure responding to request") + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client ServerCommunicationLinksClient) DeletePreparer(ctx context.Context, resourceGroupName string, serverName string, communicationLinkName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "communicationLinkName": autorest.Encode("path", communicationLinkName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/communicationLinks/{communicationLinkName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client ServerCommunicationLinksClient) DeleteSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client ServerCommunicationLinksClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get returns a server communication link. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serverName - the name of the server. +// communicationLinkName - the name of the server communication link. +func (client ServerCommunicationLinksClient) Get(ctx context.Context, resourceGroupName string, serverName string, communicationLinkName string) (result ServerCommunicationLink, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServerCommunicationLinksClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, serverName, communicationLinkName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServerCommunicationLinksClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.ServerCommunicationLinksClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServerCommunicationLinksClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client ServerCommunicationLinksClient) GetPreparer(ctx context.Context, resourceGroupName string, serverName string, communicationLinkName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "communicationLinkName": autorest.Encode("path", communicationLinkName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/communicationLinks/{communicationLinkName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client ServerCommunicationLinksClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client ServerCommunicationLinksClient) GetResponder(resp *http.Response) (result ServerCommunicationLink, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByServer gets a list of server communication links. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serverName - the name of the server. +func (client ServerCommunicationLinksClient) ListByServer(ctx context.Context, resourceGroupName string, serverName string) (result ServerCommunicationLinkListResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServerCommunicationLinksClient.ListByServer") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListByServerPreparer(ctx, resourceGroupName, serverName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServerCommunicationLinksClient", "ListByServer", nil, "Failure preparing request") + return + } + + resp, err := client.ListByServerSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.ServerCommunicationLinksClient", "ListByServer", resp, "Failure sending request") + return + } + + result, err = client.ListByServerResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServerCommunicationLinksClient", "ListByServer", resp, "Failure responding to request") + } + + return +} + +// ListByServerPreparer prepares the ListByServer request. +func (client ServerCommunicationLinksClient) ListByServerPreparer(ctx context.Context, resourceGroupName string, serverName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/communicationLinks", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByServerSender sends the ListByServer request. The method will close the +// http.Response Body if it receives an error. +func (client ServerCommunicationLinksClient) ListByServerSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByServerResponder handles the response to the ListByServer request. The method always +// closes the http.Response Body. +func (client ServerCommunicationLinksClient) ListByServerResponder(resp *http.Response) (result ServerCommunicationLinkListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/sql/mgmt/2014-04-01/sql/serverconnectionpolicies.go b/services/sql/mgmt/2014-04-01/sql/serverconnectionpolicies.go new file mode 100644 index 000000000000..281669c15993 --- /dev/null +++ b/services/sql/mgmt/2014-04-01/sql/serverconnectionpolicies.go @@ -0,0 +1,206 @@ +package sql + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// ServerConnectionPoliciesClient is the the Azure SQL Database management API provides a RESTful set of web services +// that interact with Azure SQL Database services to manage your databases. The API enables you to create, retrieve, +// update, and delete databases. +type ServerConnectionPoliciesClient struct { + BaseClient +} + +// NewServerConnectionPoliciesClient creates an instance of the ServerConnectionPoliciesClient client. +func NewServerConnectionPoliciesClient(subscriptionID string) ServerConnectionPoliciesClient { + return NewServerConnectionPoliciesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewServerConnectionPoliciesClientWithBaseURI creates an instance of the ServerConnectionPoliciesClient client. +func NewServerConnectionPoliciesClientWithBaseURI(baseURI string, subscriptionID string) ServerConnectionPoliciesClient { + return ServerConnectionPoliciesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates the server's connection policy. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serverName - the name of the server. +// parameters - the required parameters for updating a secure connection policy. +func (client ServerConnectionPoliciesClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, serverName string, parameters ServerConnectionPolicy) (result ServerConnectionPolicy, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServerConnectionPoliciesClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, serverName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServerConnectionPoliciesClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.ServerConnectionPoliciesClient", "CreateOrUpdate", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServerConnectionPoliciesClient", "CreateOrUpdate", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client ServerConnectionPoliciesClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, serverName string, parameters ServerConnectionPolicy) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "connectionPolicyName": autorest.Encode("path", "default"), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + parameters.Kind = nil + parameters.Location = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/connectionPolicies/{connectionPolicyName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client ServerConnectionPoliciesClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client ServerConnectionPoliciesClient) CreateOrUpdateResponder(resp *http.Response) (result ServerConnectionPolicy, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Get gets the server's secure connection policy. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serverName - the name of the server. +func (client ServerConnectionPoliciesClient) Get(ctx context.Context, resourceGroupName string, serverName string) (result ServerConnectionPolicy, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServerConnectionPoliciesClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, serverName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServerConnectionPoliciesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.ServerConnectionPoliciesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServerConnectionPoliciesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client ServerConnectionPoliciesClient) GetPreparer(ctx context.Context, resourceGroupName string, serverName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "connectionPolicyName": autorest.Encode("path", "default"), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/connectionPolicies/{connectionPolicyName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client ServerConnectionPoliciesClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client ServerConnectionPoliciesClient) GetResponder(resp *http.Response) (result ServerConnectionPolicy, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/sql/mgmt/2014-04-01/sql/servers.go b/services/sql/mgmt/2014-04-01/sql/servers.go index b3f03509242d..46ff8f9126cb 100644 --- a/services/sql/mgmt/2014-04-01/sql/servers.go +++ b/services/sql/mgmt/2014-04-01/sql/servers.go @@ -125,3 +125,469 @@ func (client ServersClient) CheckNameAvailabilityResponder(resp *http.Response) result.Response = autorest.Response{Response: resp} return } + +// CreateOrUpdate creates or updates a new server. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serverName - the name of the server. +// parameters - the required parameters for creating or updating a server. +func (client ServersClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, serverName string, parameters Server) (result Server, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServersClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, serverName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServersClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.ServersClient", "CreateOrUpdate", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServersClient", "CreateOrUpdate", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client ServersClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, serverName string, parameters Server) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + parameters.Kind = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client ServersClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client ServersClient) CreateOrUpdateResponder(resp *http.Response) (result Server, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes a SQL server. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serverName - the name of the server. +func (client ServersClient) Delete(ctx context.Context, resourceGroupName string, serverName string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServersClient.Delete") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DeletePreparer(ctx, resourceGroupName, serverName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServersClient", "Delete", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "sql.ServersClient", "Delete", resp, "Failure sending request") + return + } + + result, err = client.DeleteResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServersClient", "Delete", resp, "Failure responding to request") + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client ServersClient) DeletePreparer(ctx context.Context, resourceGroupName string, serverName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client ServersClient) DeleteSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client ServersClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets a server. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serverName - the name of the server. +func (client ServersClient) Get(ctx context.Context, resourceGroupName string, serverName string) (result Server, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServersClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, serverName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServersClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.ServersClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServersClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client ServersClient) GetPreparer(ctx context.Context, resourceGroupName string, serverName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client ServersClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client ServersClient) GetResponder(resp *http.Response) (result Server, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List returns a list of servers. +func (client ServersClient) List(ctx context.Context) (result ServerListResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServersClient.List") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServersClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.ServersClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServersClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client ServersClient) ListPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Sql/servers", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client ServersClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client ServersClient) ListResponder(resp *http.Response) (result ServerListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByResourceGroup returns a list of servers in a resource group. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +func (client ServersClient) ListByResourceGroup(ctx context.Context, resourceGroupName string) (result ServerListResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServersClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListByResourceGroupPreparer(ctx, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServersClient", "ListByResourceGroup", nil, "Failure preparing request") + return + } + + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.ServersClient", "ListByResourceGroup", resp, "Failure sending request") + return + } + + result, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServersClient", "ListByResourceGroup", resp, "Failure responding to request") + } + + return +} + +// ListByResourceGroupPreparer prepares the ListByResourceGroup request. +func (client ServersClient) ListByResourceGroupPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByResourceGroupSender sends the ListByResourceGroup request. The method will close the +// http.Response Body if it receives an error. +func (client ServersClient) ListByResourceGroupSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByResourceGroupResponder handles the response to the ListByResourceGroup request. The method always +// closes the http.Response Body. +func (client ServersClient) ListByResourceGroupResponder(resp *http.Response) (result ServerListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Update updates an existing server. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serverName - the name of the server. +// parameters - the required parameters for updating a server. +func (client ServersClient) Update(ctx context.Context, resourceGroupName string, serverName string, parameters ServerUpdate) (result Server, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServersClient.Update") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdatePreparer(ctx, resourceGroupName, serverName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServersClient", "Update", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.ServersClient", "Update", resp, "Failure sending request") + return + } + + result, err = client.UpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServersClient", "Update", resp, "Failure responding to request") + } + + return +} + +// UpdatePreparer prepares the Update request. +func (client ServersClient) UpdatePreparer(ctx context.Context, resourceGroupName string, serverName string, parameters ServerUpdate) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateSender sends the Update request. The method will close the +// http.Response Body if it receives an error. +func (client ServersClient) UpdateSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// UpdateResponder handles the response to the Update request. The method always +// closes the http.Response Body. +func (client ServersClient) UpdateResponder(resp *http.Response) (result Server, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/sql/mgmt/2014-04-01/sql/servertableauditingpolicies.go b/services/sql/mgmt/2014-04-01/sql/servertableauditingpolicies.go new file mode 100644 index 000000000000..230ddf261780 --- /dev/null +++ b/services/sql/mgmt/2014-04-01/sql/servertableauditingpolicies.go @@ -0,0 +1,285 @@ +package sql + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// ServerTableAuditingPoliciesClient is the the Azure SQL Database management API provides a RESTful set of web +// services that interact with Azure SQL Database services to manage your databases. The API enables you to create, +// retrieve, update, and delete databases. +type ServerTableAuditingPoliciesClient struct { + BaseClient +} + +// NewServerTableAuditingPoliciesClient creates an instance of the ServerTableAuditingPoliciesClient client. +func NewServerTableAuditingPoliciesClient(subscriptionID string) ServerTableAuditingPoliciesClient { + return NewServerTableAuditingPoliciesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewServerTableAuditingPoliciesClientWithBaseURI creates an instance of the ServerTableAuditingPoliciesClient client. +func NewServerTableAuditingPoliciesClientWithBaseURI(baseURI string, subscriptionID string) ServerTableAuditingPoliciesClient { + return ServerTableAuditingPoliciesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates a server's table auditing policy. Table auditing is deprecated, use blob auditing +// instead. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serverName - the name of the server. +// parameters - the server table auditing policy. +func (client ServerTableAuditingPoliciesClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, serverName string, parameters ServerTableAuditingPolicy) (result ServerTableAuditingPolicy, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServerTableAuditingPoliciesClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, serverName, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServerTableAuditingPoliciesClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.ServerTableAuditingPoliciesClient", "CreateOrUpdate", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServerTableAuditingPoliciesClient", "CreateOrUpdate", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client ServerTableAuditingPoliciesClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, serverName string, parameters ServerTableAuditingPolicy) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "tableAuditingPolicyName": autorest.Encode("path", "default"), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + parameters.Kind = nil + parameters.Location = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/auditingPolicies/{tableAuditingPolicyName}", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client ServerTableAuditingPoliciesClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client ServerTableAuditingPoliciesClient) CreateOrUpdateResponder(resp *http.Response) (result ServerTableAuditingPolicy, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Get gets a server's table auditing policy. Table auditing is deprecated, use blob auditing instead. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serverName - the name of the server. +func (client ServerTableAuditingPoliciesClient) Get(ctx context.Context, resourceGroupName string, serverName string) (result ServerTableAuditingPolicy, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServerTableAuditingPoliciesClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, serverName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServerTableAuditingPoliciesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.ServerTableAuditingPoliciesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServerTableAuditingPoliciesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client ServerTableAuditingPoliciesClient) GetPreparer(ctx context.Context, resourceGroupName string, serverName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "tableAuditingPolicyName": autorest.Encode("path", "default"), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/auditingPolicies/{tableAuditingPolicyName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client ServerTableAuditingPoliciesClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client ServerTableAuditingPoliciesClient) GetResponder(resp *http.Response) (result ServerTableAuditingPolicy, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByServer lists a server's table auditing policies. Table auditing is deprecated, use blob auditing instead. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serverName - the name of the server. +func (client ServerTableAuditingPoliciesClient) ListByServer(ctx context.Context, resourceGroupName string, serverName string) (result ServerTableAuditingPolicyListResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServerTableAuditingPoliciesClient.ListByServer") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListByServerPreparer(ctx, resourceGroupName, serverName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServerTableAuditingPoliciesClient", "ListByServer", nil, "Failure preparing request") + return + } + + resp, err := client.ListByServerSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.ServerTableAuditingPoliciesClient", "ListByServer", resp, "Failure sending request") + return + } + + result, err = client.ListByServerResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServerTableAuditingPoliciesClient", "ListByServer", resp, "Failure responding to request") + } + + return +} + +// ListByServerPreparer prepares the ListByServer request. +func (client ServerTableAuditingPoliciesClient) ListByServerPreparer(ctx context.Context, resourceGroupName string, serverName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/auditingPolicies", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByServerSender sends the ListByServer request. The method will close the +// http.Response Body if it receives an error. +func (client ServerTableAuditingPoliciesClient) ListByServerSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByServerResponder handles the response to the ListByServer request. The method always +// closes the http.Response Body. +func (client ServerTableAuditingPoliciesClient) ListByServerResponder(resp *http.Response) (result ServerTableAuditingPolicyListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/sql/mgmt/2014-04-01/sql/serverusages.go b/services/sql/mgmt/2014-04-01/sql/serverusages.go new file mode 100644 index 000000000000..65f3fd8d5b43 --- /dev/null +++ b/services/sql/mgmt/2014-04-01/sql/serverusages.go @@ -0,0 +1,121 @@ +package sql + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// ServerUsagesClient is the the Azure SQL Database management API provides a RESTful set of web services that interact +// with Azure SQL Database services to manage your databases. The API enables you to create, retrieve, update, and +// delete databases. +type ServerUsagesClient struct { + BaseClient +} + +// NewServerUsagesClient creates an instance of the ServerUsagesClient client. +func NewServerUsagesClient(subscriptionID string) ServerUsagesClient { + return NewServerUsagesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewServerUsagesClientWithBaseURI creates an instance of the ServerUsagesClient client. +func NewServerUsagesClientWithBaseURI(baseURI string, subscriptionID string) ServerUsagesClient { + return ServerUsagesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// ListByServer returns server usages. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serverName - the name of the server. +func (client ServerUsagesClient) ListByServer(ctx context.Context, resourceGroupName string, serverName string) (result ServerUsageListResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServerUsagesClient.ListByServer") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListByServerPreparer(ctx, resourceGroupName, serverName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServerUsagesClient", "ListByServer", nil, "Failure preparing request") + return + } + + resp, err := client.ListByServerSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.ServerUsagesClient", "ListByServer", resp, "Failure sending request") + return + } + + result, err = client.ListByServerResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServerUsagesClient", "ListByServer", resp, "Failure responding to request") + } + + return +} + +// ListByServerPreparer prepares the ListByServer request. +func (client ServerUsagesClient) ListByServerPreparer(ctx context.Context, resourceGroupName string, serverName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/usages", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByServerSender sends the ListByServer request. The method will close the +// http.Response Body if it receives an error. +func (client ServerUsagesClient) ListByServerSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByServerResponder handles the response to the ListByServer request. The method always +// closes the http.Response Body. +func (client ServerUsagesClient) ListByServerResponder(resp *http.Response) (result ServerUsageListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/sql/mgmt/2014-04-01/sql/serviceobjectives.go b/services/sql/mgmt/2014-04-01/sql/serviceobjectives.go new file mode 100644 index 000000000000..971180b812c7 --- /dev/null +++ b/services/sql/mgmt/2014-04-01/sql/serviceobjectives.go @@ -0,0 +1,201 @@ +package sql + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// ServiceObjectivesClient is the the Azure SQL Database management API provides a RESTful set of web services that +// interact with Azure SQL Database services to manage your databases. The API enables you to create, retrieve, update, +// and delete databases. +type ServiceObjectivesClient struct { + BaseClient +} + +// NewServiceObjectivesClient creates an instance of the ServiceObjectivesClient client. +func NewServiceObjectivesClient(subscriptionID string) ServiceObjectivesClient { + return NewServiceObjectivesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewServiceObjectivesClientWithBaseURI creates an instance of the ServiceObjectivesClient client. +func NewServiceObjectivesClientWithBaseURI(baseURI string, subscriptionID string) ServiceObjectivesClient { + return ServiceObjectivesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// Get gets a database service objective. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serverName - the name of the server. +// serviceObjectiveName - the name of the service objective to retrieve. +func (client ServiceObjectivesClient) Get(ctx context.Context, resourceGroupName string, serverName string, serviceObjectiveName string) (result ServiceObjective, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServiceObjectivesClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, resourceGroupName, serverName, serviceObjectiveName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServiceObjectivesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.ServiceObjectivesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServiceObjectivesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client ServiceObjectivesClient) GetPreparer(ctx context.Context, resourceGroupName string, serverName string, serviceObjectiveName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "serviceObjectiveName": autorest.Encode("path", serviceObjectiveName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/serviceObjectives/{serviceObjectiveName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client ServiceObjectivesClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client ServiceObjectivesClient) GetResponder(resp *http.Response) (result ServiceObjective, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByServer returns database service objectives. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serverName - the name of the server. +func (client ServiceObjectivesClient) ListByServer(ctx context.Context, resourceGroupName string, serverName string) (result ServiceObjectiveListResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ServiceObjectivesClient.ListByServer") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListByServerPreparer(ctx, resourceGroupName, serverName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServiceObjectivesClient", "ListByServer", nil, "Failure preparing request") + return + } + + resp, err := client.ListByServerSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.ServiceObjectivesClient", "ListByServer", resp, "Failure sending request") + return + } + + result, err = client.ListByServerResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.ServiceObjectivesClient", "ListByServer", resp, "Failure responding to request") + } + + return +} + +// ListByServerPreparer prepares the ListByServer request. +func (client ServiceObjectivesClient) ListByServerPreparer(ctx context.Context, resourceGroupName string, serverName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/serviceObjectives", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByServerSender sends the ListByServer request. The method will close the +// http.Response Body if it receives an error. +func (client ServiceObjectivesClient) ListByServerSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByServerResponder handles the response to the ListByServer request. The method always +// closes the http.Response Body. +func (client ServiceObjectivesClient) ListByServerResponder(resp *http.Response) (result ServiceObjectiveListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/sql/mgmt/2014-04-01/sql/sqlapi/interfaces.go b/services/sql/mgmt/2014-04-01/sql/sqlapi/interfaces.go index 29c023154f3e..0e49e81fd8b6 100644 --- a/services/sql/mgmt/2014-04-01/sql/sqlapi/interfaces.go +++ b/services/sql/mgmt/2014-04-01/sql/sqlapi/interfaces.go @@ -23,13 +23,87 @@ import ( "github.com/Azure/go-autorest/autorest" ) +// ServerAdvisorsClientAPI contains the set of methods on the ServerAdvisorsClient type. +type ServerAdvisorsClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, serverName string, advisorName string, parameters sql.Advisor) (result sql.Advisor, err error) + Get(ctx context.Context, resourceGroupName string, serverName string, advisorName string) (result sql.Advisor, err error) + ListByServer(ctx context.Context, resourceGroupName string, serverName string) (result sql.AdvisorListResult, err error) + Update(ctx context.Context, resourceGroupName string, serverName string, advisorName string, parameters sql.Advisor) (result sql.Advisor, err error) +} + +var _ ServerAdvisorsClientAPI = (*sql.ServerAdvisorsClient)(nil) + +// DatabaseAdvisorsClientAPI contains the set of methods on the DatabaseAdvisorsClient type. +type DatabaseAdvisorsClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, serverName string, databaseName string, advisorName string, parameters sql.Advisor) (result sql.Advisor, err error) + Get(ctx context.Context, resourceGroupName string, serverName string, databaseName string, advisorName string) (result sql.Advisor, err error) + ListByDatabase(ctx context.Context, resourceGroupName string, serverName string, databaseName string) (result sql.AdvisorListResult, err error) +} + +var _ DatabaseAdvisorsClientAPI = (*sql.DatabaseAdvisorsClient)(nil) + +// BackupLongTermRetentionPoliciesClientAPI contains the set of methods on the BackupLongTermRetentionPoliciesClient type. +type BackupLongTermRetentionPoliciesClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, serverName string, databaseName string, parameters sql.BackupLongTermRetentionPolicy) (result sql.BackupLongTermRetentionPoliciesCreateOrUpdateFuture, err error) + Get(ctx context.Context, resourceGroupName string, serverName string, databaseName string) (result sql.BackupLongTermRetentionPolicy, err error) + ListByDatabase(ctx context.Context, resourceGroupName string, serverName string, databaseName string) (result sql.BackupLongTermRetentionPolicyListResult, err error) +} + +var _ BackupLongTermRetentionPoliciesClientAPI = (*sql.BackupLongTermRetentionPoliciesClient)(nil) + +// BackupLongTermRetentionVaultsClientAPI contains the set of methods on the BackupLongTermRetentionVaultsClient type. +type BackupLongTermRetentionVaultsClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, serverName string, parameters sql.BackupLongTermRetentionVault) (result sql.BackupLongTermRetentionVaultsCreateOrUpdateFuture, err error) + Get(ctx context.Context, resourceGroupName string, serverName string) (result sql.BackupLongTermRetentionVault, err error) + ListByServer(ctx context.Context, resourceGroupName string, serverName string) (result sql.BackupLongTermRetentionVaultListResult, err error) +} + +var _ BackupLongTermRetentionVaultsClientAPI = (*sql.BackupLongTermRetentionVaultsClient)(nil) + +// RecoverableDatabasesClientAPI contains the set of methods on the RecoverableDatabasesClient type. +type RecoverableDatabasesClientAPI interface { + Get(ctx context.Context, resourceGroupName string, serverName string, databaseName string) (result sql.RecoverableDatabase, err error) + ListByServer(ctx context.Context, resourceGroupName string, serverName string) (result sql.RecoverableDatabaseListResult, err error) +} + +var _ RecoverableDatabasesClientAPI = (*sql.RecoverableDatabasesClient)(nil) + +// RestorableDroppedDatabasesClientAPI contains the set of methods on the RestorableDroppedDatabasesClient type. +type RestorableDroppedDatabasesClientAPI interface { + Get(ctx context.Context, resourceGroupName string, serverName string, restorableDroppededDatabaseID string) (result sql.RestorableDroppedDatabase, err error) + ListByServer(ctx context.Context, resourceGroupName string, serverName string) (result sql.RestorableDroppedDatabaseListResult, err error) +} + +var _ RestorableDroppedDatabasesClientAPI = (*sql.RestorableDroppedDatabasesClient)(nil) + +// CapabilitiesClientAPI contains the set of methods on the CapabilitiesClient type. +type CapabilitiesClientAPI interface { + ListByLocation(ctx context.Context, locationID string) (result sql.LocationCapabilities, err error) +} + +var _ CapabilitiesClientAPI = (*sql.CapabilitiesClient)(nil) + // ServersClientAPI contains the set of methods on the ServersClient type. type ServersClientAPI interface { CheckNameAvailability(ctx context.Context, parameters sql.CheckNameAvailabilityRequest) (result sql.CheckNameAvailabilityResponse, err error) + CreateOrUpdate(ctx context.Context, resourceGroupName string, serverName string, parameters sql.Server) (result sql.Server, err error) + Delete(ctx context.Context, resourceGroupName string, serverName string) (result autorest.Response, err error) + Get(ctx context.Context, resourceGroupName string, serverName string) (result sql.Server, err error) + List(ctx context.Context) (result sql.ServerListResult, err error) + ListByResourceGroup(ctx context.Context, resourceGroupName string) (result sql.ServerListResult, err error) + Update(ctx context.Context, resourceGroupName string, serverName string, parameters sql.ServerUpdate) (result sql.Server, err error) } var _ ServersClientAPI = (*sql.ServersClient)(nil) +// ServerConnectionPoliciesClientAPI contains the set of methods on the ServerConnectionPoliciesClient type. +type ServerConnectionPoliciesClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, serverName string, parameters sql.ServerConnectionPolicy) (result sql.ServerConnectionPolicy, err error) + Get(ctx context.Context, resourceGroupName string, serverName string) (result sql.ServerConnectionPolicy, err error) +} + +var _ ServerConnectionPoliciesClientAPI = (*sql.ServerConnectionPoliciesClient)(nil) + // DatabasesClientAPI contains the set of methods on the DatabasesClient type. type DatabasesClientAPI interface { CreateImportOperation(ctx context.Context, resourceGroupName string, serverName string, databaseName string, parameters sql.ImportExtensionRequest) (result sql.DatabasesCreateImportOperationFuture, err error) @@ -43,6 +117,8 @@ type DatabasesClientAPI interface { ListByElasticPool(ctx context.Context, resourceGroupName string, serverName string, elasticPoolName string) (result sql.DatabaseListResult, err error) ListByRecommendedElasticPool(ctx context.Context, resourceGroupName string, serverName string, recommendedElasticPoolName string) (result sql.DatabaseListResult, err error) ListByServer(ctx context.Context, resourceGroupName string, serverName string, expand string, filter string) (result sql.DatabaseListResult, err error) + ListMetricDefinitions(ctx context.Context, resourceGroupName string, serverName string, databaseName string) (result sql.MetricDefinitionListResult, err error) + ListMetrics(ctx context.Context, resourceGroupName string, serverName string, databaseName string, filter string) (result sql.MetricListResult, err error) Pause(ctx context.Context, resourceGroupName string, serverName string, databaseName string) (result sql.DatabasesPauseFuture, err error) Resume(ctx context.Context, resourceGroupName string, serverName string, databaseName string) (result sql.DatabasesResumeFuture, err error) Update(ctx context.Context, resourceGroupName string, serverName string, databaseName string, parameters sql.DatabaseUpdate) (result sql.DatabasesUpdateFuture, err error) @@ -50,12 +126,65 @@ type DatabasesClientAPI interface { var _ DatabasesClientAPI = (*sql.DatabasesClient)(nil) +// DatabaseThreatDetectionPoliciesClientAPI contains the set of methods on the DatabaseThreatDetectionPoliciesClient type. +type DatabaseThreatDetectionPoliciesClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, serverName string, databaseName string, parameters sql.DatabaseSecurityAlertPolicy) (result sql.DatabaseSecurityAlertPolicy, err error) + Get(ctx context.Context, resourceGroupName string, serverName string, databaseName string) (result sql.DatabaseSecurityAlertPolicy, err error) +} + +var _ DatabaseThreatDetectionPoliciesClientAPI = (*sql.DatabaseThreatDetectionPoliciesClient)(nil) + +// DataMaskingPoliciesClientAPI contains the set of methods on the DataMaskingPoliciesClient type. +type DataMaskingPoliciesClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, serverName string, databaseName string, parameters sql.DataMaskingPolicy) (result sql.DataMaskingPolicy, err error) + Get(ctx context.Context, resourceGroupName string, serverName string, databaseName string) (result sql.DataMaskingPolicy, err error) +} + +var _ DataMaskingPoliciesClientAPI = (*sql.DataMaskingPoliciesClient)(nil) + +// DataMaskingRulesClientAPI contains the set of methods on the DataMaskingRulesClient type. +type DataMaskingRulesClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, serverName string, databaseName string, dataMaskingRuleName string, parameters sql.DataMaskingRule) (result sql.DataMaskingRule, err error) + ListByDatabase(ctx context.Context, resourceGroupName string, serverName string, databaseName string) (result sql.DataMaskingRuleListResult, err error) +} + +var _ DataMaskingRulesClientAPI = (*sql.DataMaskingRulesClient)(nil) + +// TransparentDataEncryptionConfigurationsClientAPI contains the set of methods on the TransparentDataEncryptionConfigurationsClient type. +type TransparentDataEncryptionConfigurationsClientAPI interface { + ListByDatabase(ctx context.Context, resourceGroupName string, serverName string, databaseName string) (result sql.TransparentDataEncryptionListResult, err error) +} + +var _ TransparentDataEncryptionConfigurationsClientAPI = (*sql.TransparentDataEncryptionConfigurationsClient)(nil) + +// ExtensionsClientAPI contains the set of methods on the ExtensionsClient type. +type ExtensionsClientAPI interface { + Get(ctx context.Context, resourceGroupName string, serverName string, databaseName string) (result autorest.Response, err error) + ListByDatabase(ctx context.Context, resourceGroupName string, serverName string, databaseName string) (result sql.ExtensionListResult, err error) +} + +var _ ExtensionsClientAPI = (*sql.ExtensionsClient)(nil) + +// DisasterRecoveryConfigurationsClientAPI contains the set of methods on the DisasterRecoveryConfigurationsClient type. +type DisasterRecoveryConfigurationsClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, serverName string, disasterRecoveryConfigurationName string) (result sql.DisasterRecoveryConfigurationsCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, serverName string, disasterRecoveryConfigurationName string) (result sql.DisasterRecoveryConfigurationsDeleteFuture, err error) + Failover(ctx context.Context, resourceGroupName string, serverName string, disasterRecoveryConfigurationName string) (result sql.DisasterRecoveryConfigurationsFailoverFuture, err error) + FailoverAllowDataLoss(ctx context.Context, resourceGroupName string, serverName string, disasterRecoveryConfigurationName string) (result sql.DisasterRecoveryConfigurationsFailoverAllowDataLossFuture, err error) + Get(ctx context.Context, resourceGroupName string, serverName string, disasterRecoveryConfigurationName string) (result sql.DisasterRecoveryConfiguration, err error) + List(ctx context.Context, resourceGroupName string, serverName string) (result sql.DisasterRecoveryConfigurationListResult, err error) +} + +var _ DisasterRecoveryConfigurationsClientAPI = (*sql.DisasterRecoveryConfigurationsClient)(nil) + // ElasticPoolsClientAPI contains the set of methods on the ElasticPoolsClient type. type ElasticPoolsClientAPI interface { CreateOrUpdate(ctx context.Context, resourceGroupName string, serverName string, elasticPoolName string, parameters sql.ElasticPool) (result sql.ElasticPoolsCreateOrUpdateFuture, err error) Delete(ctx context.Context, resourceGroupName string, serverName string, elasticPoolName string) (result autorest.Response, err error) Get(ctx context.Context, resourceGroupName string, serverName string, elasticPoolName string) (result sql.ElasticPool, err error) ListByServer(ctx context.Context, resourceGroupName string, serverName string) (result sql.ElasticPoolListResult, err error) + ListMetricDefinitions(ctx context.Context, resourceGroupName string, serverName string, elasticPoolName string) (result sql.MetricDefinitionListResult, err error) + ListMetrics(ctx context.Context, resourceGroupName string, serverName string, elasticPoolName string, filter string) (result sql.MetricListResult, err error) Update(ctx context.Context, resourceGroupName string, serverName string, elasticPoolName string, parameters sql.ElasticPoolUpdate) (result sql.ElasticPoolsUpdateFuture, err error) } @@ -71,6 +200,43 @@ type FirewallRulesClientAPI interface { var _ FirewallRulesClientAPI = (*sql.FirewallRulesClient)(nil) +// GeoBackupPoliciesClientAPI contains the set of methods on the GeoBackupPoliciesClient type. +type GeoBackupPoliciesClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, serverName string, databaseName string, parameters sql.GeoBackupPolicy) (result sql.GeoBackupPolicy, err error) + Get(ctx context.Context, resourceGroupName string, serverName string, databaseName string) (result sql.GeoBackupPolicy, err error) + ListByDatabase(ctx context.Context, resourceGroupName string, serverName string, databaseName string) (result sql.GeoBackupPolicyListResult, err error) +} + +var _ GeoBackupPoliciesClientAPI = (*sql.GeoBackupPoliciesClient)(nil) + +// OperationsClientAPI contains the set of methods on the OperationsClient type. +type OperationsClientAPI interface { + List(ctx context.Context) (result sql.OperationListResult, err error) +} + +var _ OperationsClientAPI = (*sql.OperationsClient)(nil) + +// QueriesClientAPI contains the set of methods on the QueriesClient type. +type QueriesClientAPI interface { + ListByDatabase(ctx context.Context, resourceGroupName string, serverName string, databaseName string) (result sql.TopQueriesListResult, err error) +} + +var _ QueriesClientAPI = (*sql.QueriesClient)(nil) + +// QueryStatisticsClientAPI contains the set of methods on the QueryStatisticsClient type. +type QueryStatisticsClientAPI interface { + ListByQuery(ctx context.Context, resourceGroupName string, serverName string, databaseName string, queryID string) (result sql.QueryStatisticListResult, err error) +} + +var _ QueryStatisticsClientAPI = (*sql.QueryStatisticsClient)(nil) + +// QueryTextsClientAPI contains the set of methods on the QueryTextsClient type. +type QueryTextsClientAPI interface { + ListByQuery(ctx context.Context, resourceGroupName string, serverName string, databaseName string, queryID string) (result sql.QueryTextListResult, err error) +} + +var _ QueryTextsClientAPI = (*sql.QueryTextsClient)(nil) + // RecommendedElasticPoolsClientAPI contains the set of methods on the RecommendedElasticPoolsClient type. type RecommendedElasticPoolsClientAPI interface { Get(ctx context.Context, resourceGroupName string, serverName string, recommendedElasticPoolName string) (result sql.RecommendedElasticPool, err error) @@ -91,6 +257,41 @@ type ReplicationLinksClientAPI interface { var _ ReplicationLinksClientAPI = (*sql.ReplicationLinksClient)(nil) +// RestorePointsClientAPI contains the set of methods on the RestorePointsClient type. +type RestorePointsClientAPI interface { + ListByDatabase(ctx context.Context, resourceGroupName string, serverName string, databaseName string) (result sql.RestorePointListResult, err error) +} + +var _ RestorePointsClientAPI = (*sql.RestorePointsClient)(nil) + +// ServerAzureADAdministratorsClientAPI contains the set of methods on the ServerAzureADAdministratorsClient type. +type ServerAzureADAdministratorsClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, serverName string, properties sql.ServerAzureADAdministrator) (result sql.ServerAzureADAdministratorsCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, serverName string) (result sql.ServerAzureADAdministratorsDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, serverName string) (result sql.ServerAzureADAdministrator, err error) + ListByServer(ctx context.Context, resourceGroupName string, serverName string) (result sql.ServerAdministratorListResult, err error) +} + +var _ ServerAzureADAdministratorsClientAPI = (*sql.ServerAzureADAdministratorsClient)(nil) + +// ServerCommunicationLinksClientAPI contains the set of methods on the ServerCommunicationLinksClient type. +type ServerCommunicationLinksClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, serverName string, communicationLinkName string, parameters sql.ServerCommunicationLink) (result sql.ServerCommunicationLinksCreateOrUpdateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, serverName string, communicationLinkName string) (result autorest.Response, err error) + Get(ctx context.Context, resourceGroupName string, serverName string, communicationLinkName string) (result sql.ServerCommunicationLink, err error) + ListByServer(ctx context.Context, resourceGroupName string, serverName string) (result sql.ServerCommunicationLinkListResult, err error) +} + +var _ ServerCommunicationLinksClientAPI = (*sql.ServerCommunicationLinksClient)(nil) + +// ServiceObjectivesClientAPI contains the set of methods on the ServiceObjectivesClient type. +type ServiceObjectivesClientAPI interface { + Get(ctx context.Context, resourceGroupName string, serverName string, serviceObjectiveName string) (result sql.ServiceObjective, err error) + ListByServer(ctx context.Context, resourceGroupName string, serverName string) (result sql.ServiceObjectiveListResult, err error) +} + +var _ ServiceObjectivesClientAPI = (*sql.ServiceObjectivesClient)(nil) + // ElasticPoolActivitiesClientAPI contains the set of methods on the ElasticPoolActivitiesClient type. type ElasticPoolActivitiesClientAPI interface { ListByElasticPool(ctx context.Context, resourceGroupName string, serverName string, elasticPoolName string) (result sql.ElasticPoolActivityListResult, err error) @@ -128,10 +329,42 @@ type TransparentDataEncryptionActivitiesClientAPI interface { var _ TransparentDataEncryptionActivitiesClientAPI = (*sql.TransparentDataEncryptionActivitiesClient)(nil) -// DatabaseThreatDetectionPoliciesClientAPI contains the set of methods on the DatabaseThreatDetectionPoliciesClient type. -type DatabaseThreatDetectionPoliciesClientAPI interface { - CreateOrUpdate(ctx context.Context, resourceGroupName string, serverName string, databaseName string, parameters sql.DatabaseSecurityAlertPolicy) (result sql.DatabaseSecurityAlertPolicy, err error) - Get(ctx context.Context, resourceGroupName string, serverName string, databaseName string) (result sql.DatabaseSecurityAlertPolicy, err error) +// ServerTableAuditingPoliciesClientAPI contains the set of methods on the ServerTableAuditingPoliciesClient type. +type ServerTableAuditingPoliciesClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, serverName string, parameters sql.ServerTableAuditingPolicy) (result sql.ServerTableAuditingPolicy, err error) + Get(ctx context.Context, resourceGroupName string, serverName string) (result sql.ServerTableAuditingPolicy, err error) + ListByServer(ctx context.Context, resourceGroupName string, serverName string) (result sql.ServerTableAuditingPolicyListResult, err error) } -var _ DatabaseThreatDetectionPoliciesClientAPI = (*sql.DatabaseThreatDetectionPoliciesClient)(nil) +var _ ServerTableAuditingPoliciesClientAPI = (*sql.ServerTableAuditingPoliciesClient)(nil) + +// DatabaseTableAuditingPoliciesClientAPI contains the set of methods on the DatabaseTableAuditingPoliciesClient type. +type DatabaseTableAuditingPoliciesClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, serverName string, databaseName string, parameters sql.DatabaseTableAuditingPolicy) (result sql.DatabaseTableAuditingPolicy, err error) + Get(ctx context.Context, resourceGroupName string, serverName string, databaseName string) (result sql.DatabaseTableAuditingPolicy, err error) + ListByDatabase(ctx context.Context, resourceGroupName string, serverName string, databaseName string) (result sql.DatabaseTableAuditingPolicyListResult, err error) +} + +var _ DatabaseTableAuditingPoliciesClientAPI = (*sql.DatabaseTableAuditingPoliciesClient)(nil) + +// DatabaseConnectionPoliciesClientAPI contains the set of methods on the DatabaseConnectionPoliciesClient type. +type DatabaseConnectionPoliciesClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, serverName string, databaseName string, parameters sql.DatabaseConnectionPolicy) (result sql.DatabaseConnectionPolicy, err error) + Get(ctx context.Context, resourceGroupName string, serverName string, databaseName string) (result sql.DatabaseConnectionPolicy, err error) +} + +var _ DatabaseConnectionPoliciesClientAPI = (*sql.DatabaseConnectionPoliciesClient)(nil) + +// ServerUsagesClientAPI contains the set of methods on the ServerUsagesClient type. +type ServerUsagesClientAPI interface { + ListByServer(ctx context.Context, resourceGroupName string, serverName string) (result sql.ServerUsageListResult, err error) +} + +var _ ServerUsagesClientAPI = (*sql.ServerUsagesClient)(nil) + +// DatabaseUsagesClientAPI contains the set of methods on the DatabaseUsagesClient type. +type DatabaseUsagesClientAPI interface { + ListByDatabase(ctx context.Context, resourceGroupName string, serverName string, databaseName string) (result sql.DatabaseUsageListResult, err error) +} + +var _ DatabaseUsagesClientAPI = (*sql.DatabaseUsagesClient)(nil) diff --git a/services/sql/mgmt/2014-04-01/sql/transparentdataencryptionconfigurations.go b/services/sql/mgmt/2014-04-01/sql/transparentdataencryptionconfigurations.go new file mode 100644 index 000000000000..8bd126bc0d97 --- /dev/null +++ b/services/sql/mgmt/2014-04-01/sql/transparentdataencryptionconfigurations.go @@ -0,0 +1,126 @@ +package sql + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// TransparentDataEncryptionConfigurationsClient is the the Azure SQL Database management API provides a RESTful set of +// web services that interact with Azure SQL Database services to manage your databases. The API enables you to create, +// retrieve, update, and delete databases. +type TransparentDataEncryptionConfigurationsClient struct { + BaseClient +} + +// NewTransparentDataEncryptionConfigurationsClient creates an instance of the +// TransparentDataEncryptionConfigurationsClient client. +func NewTransparentDataEncryptionConfigurationsClient(subscriptionID string) TransparentDataEncryptionConfigurationsClient { + return NewTransparentDataEncryptionConfigurationsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewTransparentDataEncryptionConfigurationsClientWithBaseURI creates an instance of the +// TransparentDataEncryptionConfigurationsClient client. +func NewTransparentDataEncryptionConfigurationsClientWithBaseURI(baseURI string, subscriptionID string) TransparentDataEncryptionConfigurationsClient { + return TransparentDataEncryptionConfigurationsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// ListByDatabase gets a list of a database's transparent data encryption configurations. There is only ever one +// element, named 'current', so GetTransparentDataEncryptionConfiguration should be used instead. +// Parameters: +// resourceGroupName - the name of the resource group that contains the resource. You can obtain this value +// from the Azure Resource Manager API or the portal. +// serverName - the name of the server. +// databaseName - the name of the database for which the transparent data encryption applies. +func (client TransparentDataEncryptionConfigurationsClient) ListByDatabase(ctx context.Context, resourceGroupName string, serverName string, databaseName string) (result TransparentDataEncryptionListResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/TransparentDataEncryptionConfigurationsClient.ListByDatabase") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListByDatabasePreparer(ctx, resourceGroupName, serverName, databaseName) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.TransparentDataEncryptionConfigurationsClient", "ListByDatabase", nil, "Failure preparing request") + return + } + + resp, err := client.ListByDatabaseSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "sql.TransparentDataEncryptionConfigurationsClient", "ListByDatabase", resp, "Failure sending request") + return + } + + result, err = client.ListByDatabaseResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "sql.TransparentDataEncryptionConfigurationsClient", "ListByDatabase", resp, "Failure responding to request") + } + + return +} + +// ListByDatabasePreparer prepares the ListByDatabase request. +func (client TransparentDataEncryptionConfigurationsClient) ListByDatabasePreparer(ctx context.Context, resourceGroupName string, serverName string, databaseName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "databaseName": autorest.Encode("path", databaseName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "serverName": autorest.Encode("path", serverName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2014-04-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/transparentDataEncryption", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByDatabaseSender sends the ListByDatabase request. The method will close the +// http.Response Body if it receives an error. +func (client TransparentDataEncryptionConfigurationsClient) ListByDatabaseSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByDatabaseResponder handles the response to the ListByDatabase request. The method always +// closes the http.Response Body. +func (client TransparentDataEncryptionConfigurationsClient) ListByDatabaseResponder(resp *http.Response) (result TransparentDataEncryptionListResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/batch/2016-02-01.3.0/batch/client.go b/services/storage/datalake/2019-10-31/storagedatalake/client.go similarity index 52% rename from services/batch/2016-02-01.3.0/batch/client.go rename to services/storage/datalake/2019-10-31/storagedatalake/client.go index 3a4e46951ac4..896ee3ceab29 100644 --- a/services/batch/2016-02-01.3.0/batch/client.go +++ b/services/storage/datalake/2019-10-31/storagedatalake/client.go @@ -1,7 +1,7 @@ -// Package batch implements the Azure ARM Batch service API version 2016-02-01.3.0. +// Package storagedatalake implements the Azure ARM Storagedatalake service API version 2019-10-31. // -// A client for issuing REST requests to the Azure Batch service. -package batch +// Azure Data Lake Storage provides storage for Hadoop and other big data workloads. +package storagedatalake // Copyright (c) Microsoft and contributors. All rights reserved. // @@ -25,25 +25,29 @@ import ( ) const ( - // DefaultBaseURI is the default URI used for the service Batch - DefaultBaseURI = "https://batch.core.windows.net" + // DefaultDNSSuffix is the default value for dns suffix + DefaultDNSSuffix = "dfs.core.windows.net" ) -// BaseClient is the base client for Batch. +// BaseClient is the base client for Storagedatalake. type BaseClient struct { autorest.Client - BaseURI string + XMsVersion string + AccountName string + DNSSuffix string } // New creates an instance of the BaseClient client. -func New() BaseClient { - return NewWithBaseURI(DefaultBaseURI) +func New(xMsVersion string, accountName string) BaseClient { + return NewWithoutDefaults(xMsVersion, accountName, DefaultDNSSuffix) } -// NewWithBaseURI creates an instance of the BaseClient client. -func NewWithBaseURI(baseURI string) BaseClient { +// NewWithoutDefaults creates an instance of the BaseClient client. +func NewWithoutDefaults(xMsVersion string, accountName string, dNSSuffix string) BaseClient { return BaseClient{ - Client: autorest.NewClientWithUserAgent(UserAgent()), - BaseURI: baseURI, + Client: autorest.NewClientWithUserAgent(UserAgent()), + XMsVersion: xMsVersion, + AccountName: accountName, + DNSSuffix: dNSSuffix, } } diff --git a/services/storage/datalake/2019-10-31/storagedatalake/filesystem.go b/services/storage/datalake/2019-10-31/storagedatalake/filesystem.go new file mode 100644 index 000000000000..ccd1cc128156 --- /dev/null +++ b/services/storage/datalake/2019-10-31/storagedatalake/filesystem.go @@ -0,0 +1,658 @@ +package storagedatalake + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// FilesystemClient is the azure Data Lake Storage provides storage for Hadoop and other big data workloads. +type FilesystemClient struct { + BaseClient +} + +// NewFilesystemClient creates an instance of the FilesystemClient client. +func NewFilesystemClient(xMsVersion string, accountName string) FilesystemClient { + return FilesystemClient{New(xMsVersion, accountName)} +} + +// Create create a filesystem rooted at the specified location. If the filesystem already exists, the operation fails. +// This operation does not support conditional HTTP requests. +// Parameters: +// filesystem - the filesystem identifier. The value must start and end with a letter or number and must +// contain only letters, numbers, and the dash (-) character. Consecutive dashes are not permitted. All +// letters must be lowercase. The value must have between 3 and 63 characters. +// xMsProperties - user-defined properties to be stored with the filesystem, in the format of a comma-separated +// list of name and value pairs "n1=v1, n2=v2, ...", where each value is a base64 encoded string. Note that the +// string may only contain ASCII characters in the ISO-8859-1 character set. +// xMsClientRequestID - a UUID recorded in the analytics logs for troubleshooting and correlation. +// timeout - an optional operation timeout value in seconds. The period begins when the request is received by +// the service. If the timeout value elapses before the operation completes, the operation fails. +// xMsDate - specifies the Coordinated Universal Time (UTC) for the request. This is required when using +// shared key authorization. +func (client FilesystemClient) Create(ctx context.Context, filesystem string, xMsProperties string, xMsClientRequestID string, timeout *int32, xMsDate string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/FilesystemClient.Create") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: filesystem, + Constraints: []validation.Constraint{{Target: "filesystem", Name: validation.MaxLength, Rule: 63, Chain: nil}, + {Target: "filesystem", Name: validation.MinLength, Rule: 3, Chain: nil}}}, + {TargetValue: xMsClientRequestID, + Constraints: []validation.Constraint{{Target: "xMsClientRequestID", Name: validation.Empty, Rule: false, + Chain: []validation.Constraint{{Target: "xMsClientRequestID", Name: validation.Pattern, Rule: `^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$`, Chain: nil}}}}}, + {TargetValue: timeout, + Constraints: []validation.Constraint{{Target: "timeout", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "timeout", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}}}}}}); err != nil { + return result, validation.NewError("storagedatalake.FilesystemClient", "Create", err.Error()) + } + + req, err := client.CreatePreparer(ctx, filesystem, xMsProperties, xMsClientRequestID, timeout, xMsDate) + if err != nil { + err = autorest.NewErrorWithError(err, "storagedatalake.FilesystemClient", "Create", nil, "Failure preparing request") + return + } + + resp, err := client.CreateSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "storagedatalake.FilesystemClient", "Create", resp, "Failure sending request") + return + } + + result, err = client.CreateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "storagedatalake.FilesystemClient", "Create", resp, "Failure responding to request") + } + + return +} + +// CreatePreparer prepares the Create request. +func (client FilesystemClient) CreatePreparer(ctx context.Context, filesystem string, xMsProperties string, xMsClientRequestID string, timeout *int32, xMsDate string) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "accountName": client.AccountName, + "dnsSuffix": client.DNSSuffix, + } + + pathParameters := map[string]interface{}{ + "filesystem": autorest.Encode("path", filesystem), + } + + queryParameters := map[string]interface{}{ + "resource": autorest.Encode("query", "filesystem"), + } + if timeout != nil { + queryParameters["timeout"] = autorest.Encode("query", *timeout) + } + + preparer := autorest.CreatePreparer( + autorest.AsPut(), + autorest.WithCustomBaseURL("https://{accountName}.{dnsSuffix}", urlParameters), + autorest.WithPathParameters("/{filesystem}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + if len(xMsProperties) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("x-ms-properties", autorest.String(xMsProperties))) + } + if len(xMsClientRequestID) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("x-ms-client-request-id", autorest.String(xMsClientRequestID))) + } + if len(xMsDate) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("x-ms-date", autorest.String(xMsDate))) + } + if len(client.XMsVersion) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("x-ms-version", autorest.String(client.XMsVersion))) + } + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateSender sends the Create request. The method will close the +// http.Response Body if it receives an error. +func (client FilesystemClient) CreateSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// CreateResponder handles the response to the Create request. The method always +// closes the http.Response Body. +func (client FilesystemClient) CreateResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByClosing()) + result.Response = resp + return +} + +// Delete marks the filesystem for deletion. When a filesystem is deleted, a filesystem with the same identifier +// cannot be created for at least 30 seconds. While the filesystem is being deleted, attempts to create a filesystem +// with the same identifier will fail with status code 409 (Conflict), with the service returning additional error +// information indicating that the filesystem is being deleted. All other operations, including operations on any files +// or directories within the filesystem, will fail with status code 404 (Not Found) while the filesystem is being +// deleted. This operation supports conditional HTTP requests. For more information, see [Specifying Conditional +// Headers for Blob Service +// Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations). +// Parameters: +// filesystem - the filesystem identifier. The value must start and end with a letter or number and must +// contain only letters, numbers, and the dash (-) character. Consecutive dashes are not permitted. All +// letters must be lowercase. The value must have between 3 and 63 characters. +// ifModifiedSince - optional. A date and time value. Specify this header to perform the operation only if the +// resource has been modified since the specified date and time. +// ifUnmodifiedSince - optional. A date and time value. Specify this header to perform the operation only if +// the resource has not been modified since the specified date and time. +// xMsClientRequestID - a UUID recorded in the analytics logs for troubleshooting and correlation. +// timeout - an optional operation timeout value in seconds. The period begins when the request is received by +// the service. If the timeout value elapses before the operation completes, the operation fails. +// xMsDate - specifies the Coordinated Universal Time (UTC) for the request. This is required when using +// shared key authorization. +func (client FilesystemClient) Delete(ctx context.Context, filesystem string, ifModifiedSince string, ifUnmodifiedSince string, xMsClientRequestID string, timeout *int32, xMsDate string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/FilesystemClient.Delete") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: filesystem, + Constraints: []validation.Constraint{{Target: "filesystem", Name: validation.MaxLength, Rule: 63, Chain: nil}, + {Target: "filesystem", Name: validation.MinLength, Rule: 3, Chain: nil}}}, + {TargetValue: xMsClientRequestID, + Constraints: []validation.Constraint{{Target: "xMsClientRequestID", Name: validation.Empty, Rule: false, + Chain: []validation.Constraint{{Target: "xMsClientRequestID", Name: validation.Pattern, Rule: `^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$`, Chain: nil}}}}}, + {TargetValue: timeout, + Constraints: []validation.Constraint{{Target: "timeout", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "timeout", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}}}}}}); err != nil { + return result, validation.NewError("storagedatalake.FilesystemClient", "Delete", err.Error()) + } + + req, err := client.DeletePreparer(ctx, filesystem, ifModifiedSince, ifUnmodifiedSince, xMsClientRequestID, timeout, xMsDate) + if err != nil { + err = autorest.NewErrorWithError(err, "storagedatalake.FilesystemClient", "Delete", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "storagedatalake.FilesystemClient", "Delete", resp, "Failure sending request") + return + } + + result, err = client.DeleteResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "storagedatalake.FilesystemClient", "Delete", resp, "Failure responding to request") + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client FilesystemClient) DeletePreparer(ctx context.Context, filesystem string, ifModifiedSince string, ifUnmodifiedSince string, xMsClientRequestID string, timeout *int32, xMsDate string) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "accountName": client.AccountName, + "dnsSuffix": client.DNSSuffix, + } + + pathParameters := map[string]interface{}{ + "filesystem": autorest.Encode("path", filesystem), + } + + queryParameters := map[string]interface{}{ + "resource": autorest.Encode("query", "filesystem"), + } + if timeout != nil { + queryParameters["timeout"] = autorest.Encode("query", *timeout) + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithCustomBaseURL("https://{accountName}.{dnsSuffix}", urlParameters), + autorest.WithPathParameters("/{filesystem}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + if len(ifModifiedSince) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) + } + if len(ifUnmodifiedSince) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) + } + if len(xMsClientRequestID) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("x-ms-client-request-id", autorest.String(xMsClientRequestID))) + } + if len(xMsDate) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("x-ms-date", autorest.String(xMsDate))) + } + if len(client.XMsVersion) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("x-ms-version", autorest.String(client.XMsVersion))) + } + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client FilesystemClient) DeleteSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client FilesystemClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByClosing()) + result.Response = resp + return +} + +// GetProperties all system and user-defined filesystem properties are specified in the response headers. +// Parameters: +// filesystem - the filesystem identifier. The value must start and end with a letter or number and must +// contain only letters, numbers, and the dash (-) character. Consecutive dashes are not permitted. All +// letters must be lowercase. The value must have between 3 and 63 characters. +// xMsClientRequestID - a UUID recorded in the analytics logs for troubleshooting and correlation. +// timeout - an optional operation timeout value in seconds. The period begins when the request is received by +// the service. If the timeout value elapses before the operation completes, the operation fails. +// xMsDate - specifies the Coordinated Universal Time (UTC) for the request. This is required when using +// shared key authorization. +func (client FilesystemClient) GetProperties(ctx context.Context, filesystem string, xMsClientRequestID string, timeout *int32, xMsDate string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/FilesystemClient.GetProperties") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: filesystem, + Constraints: []validation.Constraint{{Target: "filesystem", Name: validation.MaxLength, Rule: 63, Chain: nil}, + {Target: "filesystem", Name: validation.MinLength, Rule: 3, Chain: nil}}}, + {TargetValue: xMsClientRequestID, + Constraints: []validation.Constraint{{Target: "xMsClientRequestID", Name: validation.Empty, Rule: false, + Chain: []validation.Constraint{{Target: "xMsClientRequestID", Name: validation.Pattern, Rule: `^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$`, Chain: nil}}}}}, + {TargetValue: timeout, + Constraints: []validation.Constraint{{Target: "timeout", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "timeout", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}}}}}}); err != nil { + return result, validation.NewError("storagedatalake.FilesystemClient", "GetProperties", err.Error()) + } + + req, err := client.GetPropertiesPreparer(ctx, filesystem, xMsClientRequestID, timeout, xMsDate) + if err != nil { + err = autorest.NewErrorWithError(err, "storagedatalake.FilesystemClient", "GetProperties", nil, "Failure preparing request") + return + } + + resp, err := client.GetPropertiesSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "storagedatalake.FilesystemClient", "GetProperties", resp, "Failure sending request") + return + } + + result, err = client.GetPropertiesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "storagedatalake.FilesystemClient", "GetProperties", resp, "Failure responding to request") + } + + return +} + +// GetPropertiesPreparer prepares the GetProperties request. +func (client FilesystemClient) GetPropertiesPreparer(ctx context.Context, filesystem string, xMsClientRequestID string, timeout *int32, xMsDate string) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "accountName": client.AccountName, + "dnsSuffix": client.DNSSuffix, + } + + pathParameters := map[string]interface{}{ + "filesystem": autorest.Encode("path", filesystem), + } + + queryParameters := map[string]interface{}{ + "resource": autorest.Encode("query", "filesystem"), + } + if timeout != nil { + queryParameters["timeout"] = autorest.Encode("query", *timeout) + } + + preparer := autorest.CreatePreparer( + autorest.AsHead(), + autorest.WithCustomBaseURL("https://{accountName}.{dnsSuffix}", urlParameters), + autorest.WithPathParameters("/{filesystem}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + if len(xMsClientRequestID) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("x-ms-client-request-id", autorest.String(xMsClientRequestID))) + } + if len(xMsDate) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("x-ms-date", autorest.String(xMsDate))) + } + if len(client.XMsVersion) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("x-ms-version", autorest.String(client.XMsVersion))) + } + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetPropertiesSender sends the GetProperties request. The method will close the +// http.Response Body if it receives an error. +func (client FilesystemClient) GetPropertiesSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetPropertiesResponder handles the response to the GetProperties request. The method always +// closes the http.Response Body. +func (client FilesystemClient) GetPropertiesResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByClosing()) + result.Response = resp + return +} + +// List list filesystems and their properties in given account. +// Parameters: +// prefix - filters results to filesystems within the specified prefix. +// continuation - the number of filesystems returned with each invocation is limited. If the number of +// filesystems to be returned exceeds this limit, a continuation token is returned in the response header +// x-ms-continuation. When a continuation token is returned in the response, it must be specified in a +// subsequent invocation of the list operation to continue listing the filesystems. +// maxResults - an optional value that specifies the maximum number of items to return. If omitted or greater +// than 5,000, the response will include up to 5,000 items. +// xMsClientRequestID - a UUID recorded in the analytics logs for troubleshooting and correlation. +// timeout - an optional operation timeout value in seconds. The period begins when the request is received by +// the service. If the timeout value elapses before the operation completes, the operation fails. +// xMsDate - specifies the Coordinated Universal Time (UTC) for the request. This is required when using +// shared key authorization. +func (client FilesystemClient) List(ctx context.Context, prefix string, continuation string, maxResults *int32, xMsClientRequestID string, timeout *int32, xMsDate string) (result FilesystemList, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/FilesystemClient.List") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: maxResults, + Constraints: []validation.Constraint{{Target: "maxResults", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "maxResults", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}}}}}, + {TargetValue: xMsClientRequestID, + Constraints: []validation.Constraint{{Target: "xMsClientRequestID", Name: validation.Empty, Rule: false, + Chain: []validation.Constraint{{Target: "xMsClientRequestID", Name: validation.Pattern, Rule: `^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$`, Chain: nil}}}}}, + {TargetValue: timeout, + Constraints: []validation.Constraint{{Target: "timeout", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "timeout", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}}}}}}); err != nil { + return result, validation.NewError("storagedatalake.FilesystemClient", "List", err.Error()) + } + + req, err := client.ListPreparer(ctx, prefix, continuation, maxResults, xMsClientRequestID, timeout, xMsDate) + if err != nil { + err = autorest.NewErrorWithError(err, "storagedatalake.FilesystemClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "storagedatalake.FilesystemClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "storagedatalake.FilesystemClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client FilesystemClient) ListPreparer(ctx context.Context, prefix string, continuation string, maxResults *int32, xMsClientRequestID string, timeout *int32, xMsDate string) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "accountName": client.AccountName, + "dnsSuffix": client.DNSSuffix, + } + + queryParameters := map[string]interface{}{ + "resource": autorest.Encode("query", "account"), + } + if len(prefix) > 0 { + queryParameters["prefix"] = autorest.Encode("query", prefix) + } + if len(continuation) > 0 { + queryParameters["continuation"] = autorest.Encode("query", continuation) + } + if maxResults != nil { + queryParameters["maxResults"] = autorest.Encode("query", *maxResults) + } + if timeout != nil { + queryParameters["timeout"] = autorest.Encode("query", *timeout) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithCustomBaseURL("https://{accountName}.{dnsSuffix}", urlParameters), + autorest.WithPath("/"), + autorest.WithQueryParameters(queryParameters)) + if len(xMsClientRequestID) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("x-ms-client-request-id", autorest.String(xMsClientRequestID))) + } + if len(xMsDate) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("x-ms-date", autorest.String(xMsDate))) + } + if len(client.XMsVersion) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("x-ms-version", autorest.String(client.XMsVersion))) + } + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client FilesystemClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client FilesystemClient) ListResponder(resp *http.Response) (result FilesystemList, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// SetProperties set properties for the filesystem. This operation supports conditional HTTP requests. For more +// information, see [Specifying Conditional Headers for Blob Service +// Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations). +// Parameters: +// filesystem - the filesystem identifier. The value must start and end with a letter or number and must +// contain only letters, numbers, and the dash (-) character. Consecutive dashes are not permitted. All +// letters must be lowercase. The value must have between 3 and 63 characters. +// xMsProperties - optional. User-defined properties to be stored with the filesystem, in the format of a +// comma-separated list of name and value pairs "n1=v1, n2=v2, ...", where each value is a base64 encoded +// string. Note that the string may only contain ASCII characters in the ISO-8859-1 character set. If the +// filesystem exists, any properties not included in the list will be removed. All properties are removed if +// the header is omitted. To merge new and existing properties, first get all existing properties and the +// current E-Tag, then make a conditional request with the E-Tag and include values for all properties. +// ifModifiedSince - optional. A date and time value. Specify this header to perform the operation only if the +// resource has been modified since the specified date and time. +// ifUnmodifiedSince - optional. A date and time value. Specify this header to perform the operation only if +// the resource has not been modified since the specified date and time. +// xMsClientRequestID - a UUID recorded in the analytics logs for troubleshooting and correlation. +// timeout - an optional operation timeout value in seconds. The period begins when the request is received by +// the service. If the timeout value elapses before the operation completes, the operation fails. +// xMsDate - specifies the Coordinated Universal Time (UTC) for the request. This is required when using +// shared key authorization. +func (client FilesystemClient) SetProperties(ctx context.Context, filesystem string, xMsProperties string, ifModifiedSince string, ifUnmodifiedSince string, xMsClientRequestID string, timeout *int32, xMsDate string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/FilesystemClient.SetProperties") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: filesystem, + Constraints: []validation.Constraint{{Target: "filesystem", Name: validation.MaxLength, Rule: 63, Chain: nil}, + {Target: "filesystem", Name: validation.MinLength, Rule: 3, Chain: nil}}}, + {TargetValue: xMsClientRequestID, + Constraints: []validation.Constraint{{Target: "xMsClientRequestID", Name: validation.Empty, Rule: false, + Chain: []validation.Constraint{{Target: "xMsClientRequestID", Name: validation.Pattern, Rule: `^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$`, Chain: nil}}}}}, + {TargetValue: timeout, + Constraints: []validation.Constraint{{Target: "timeout", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "timeout", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}}}}}}); err != nil { + return result, validation.NewError("storagedatalake.FilesystemClient", "SetProperties", err.Error()) + } + + req, err := client.SetPropertiesPreparer(ctx, filesystem, xMsProperties, ifModifiedSince, ifUnmodifiedSince, xMsClientRequestID, timeout, xMsDate) + if err != nil { + err = autorest.NewErrorWithError(err, "storagedatalake.FilesystemClient", "SetProperties", nil, "Failure preparing request") + return + } + + resp, err := client.SetPropertiesSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "storagedatalake.FilesystemClient", "SetProperties", resp, "Failure sending request") + return + } + + result, err = client.SetPropertiesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "storagedatalake.FilesystemClient", "SetProperties", resp, "Failure responding to request") + } + + return +} + +// SetPropertiesPreparer prepares the SetProperties request. +func (client FilesystemClient) SetPropertiesPreparer(ctx context.Context, filesystem string, xMsProperties string, ifModifiedSince string, ifUnmodifiedSince string, xMsClientRequestID string, timeout *int32, xMsDate string) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "accountName": client.AccountName, + "dnsSuffix": client.DNSSuffix, + } + + pathParameters := map[string]interface{}{ + "filesystem": autorest.Encode("path", filesystem), + } + + queryParameters := map[string]interface{}{ + "resource": autorest.Encode("query", "filesystem"), + } + if timeout != nil { + queryParameters["timeout"] = autorest.Encode("query", *timeout) + } + + preparer := autorest.CreatePreparer( + autorest.AsPatch(), + autorest.WithCustomBaseURL("https://{accountName}.{dnsSuffix}", urlParameters), + autorest.WithPathParameters("/{filesystem}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + if len(xMsProperties) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("x-ms-properties", autorest.String(xMsProperties))) + } + if len(ifModifiedSince) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) + } + if len(ifUnmodifiedSince) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) + } + if len(xMsClientRequestID) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("x-ms-client-request-id", autorest.String(xMsClientRequestID))) + } + if len(xMsDate) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("x-ms-date", autorest.String(xMsDate))) + } + if len(client.XMsVersion) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("x-ms-version", autorest.String(client.XMsVersion))) + } + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// SetPropertiesSender sends the SetProperties request. The method will close the +// http.Response Body if it receives an error. +func (client FilesystemClient) SetPropertiesSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// SetPropertiesResponder handles the response to the SetProperties request. The method always +// closes the http.Response Body. +func (client FilesystemClient) SetPropertiesResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByClosing()) + result.Response = resp + return +} diff --git a/services/storage/datalake/2019-10-31/storagedatalake/models.go b/services/storage/datalake/2019-10-31/storagedatalake/models.go new file mode 100644 index 000000000000..80a8c68744bb --- /dev/null +++ b/services/storage/datalake/2019-10-31/storagedatalake/models.go @@ -0,0 +1,164 @@ +package storagedatalake + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "github.com/Azure/go-autorest/autorest" + "io" +) + +// The package's fully qualified name. +const fqdn = "github.com/Azure/azure-sdk-for-go/services/storage/datalake/2019-10-31/storagedatalake" + +// PathGetPropertiesAction enumerates the values for path get properties action. +type PathGetPropertiesAction string + +const ( + // CheckAccess ... + CheckAccess PathGetPropertiesAction = "checkAccess" + // GetAccessControl ... + GetAccessControl PathGetPropertiesAction = "getAccessControl" + // GetStatus ... + GetStatus PathGetPropertiesAction = "getStatus" +) + +// PossiblePathGetPropertiesActionValues returns an array of possible values for the PathGetPropertiesAction const type. +func PossiblePathGetPropertiesActionValues() []PathGetPropertiesAction { + return []PathGetPropertiesAction{CheckAccess, GetAccessControl, GetStatus} +} + +// PathLeaseAction enumerates the values for path lease action. +type PathLeaseAction string + +const ( + // Acquire ... + Acquire PathLeaseAction = "acquire" + // Break ... + Break PathLeaseAction = "break" + // Change ... + Change PathLeaseAction = "change" + // Release ... + Release PathLeaseAction = "release" + // Renew ... + Renew PathLeaseAction = "renew" +) + +// PossiblePathLeaseActionValues returns an array of possible values for the PathLeaseAction const type. +func PossiblePathLeaseActionValues() []PathLeaseAction { + return []PathLeaseAction{Acquire, Break, Change, Release, Renew} +} + +// PathRenameMode enumerates the values for path rename mode. +type PathRenameMode string + +const ( + // Legacy ... + Legacy PathRenameMode = "legacy" + // Posix ... + Posix PathRenameMode = "posix" +) + +// PossiblePathRenameModeValues returns an array of possible values for the PathRenameMode const type. +func PossiblePathRenameModeValues() []PathRenameMode { + return []PathRenameMode{Legacy, Posix} +} + +// PathResourceType enumerates the values for path resource type. +type PathResourceType string + +const ( + // Directory ... + Directory PathResourceType = "directory" + // File ... + File PathResourceType = "file" +) + +// PossiblePathResourceTypeValues returns an array of possible values for the PathResourceType const type. +func PossiblePathResourceTypeValues() []PathResourceType { + return []PathResourceType{Directory, File} +} + +// PathUpdateAction enumerates the values for path update action. +type PathUpdateAction string + +const ( + // Append ... + Append PathUpdateAction = "append" + // Flush ... + Flush PathUpdateAction = "flush" + // SetAccessControl ... + SetAccessControl PathUpdateAction = "setAccessControl" + // SetProperties ... + SetProperties PathUpdateAction = "setProperties" +) + +// PossiblePathUpdateActionValues returns an array of possible values for the PathUpdateAction const type. +func PossiblePathUpdateActionValues() []PathUpdateAction { + return []PathUpdateAction{Append, Flush, SetAccessControl, SetProperties} +} + +// DataLakeStorageError ... +type DataLakeStorageError struct { + // Error - The service error response object. + Error *DataLakeStorageErrorError `json:"error,omitempty"` +} + +// DataLakeStorageErrorError the service error response object. +type DataLakeStorageErrorError struct { + // Code - The service error code. + Code *string `json:"code,omitempty"` + // Message - The service error message. + Message *string `json:"message,omitempty"` +} + +// Filesystem ... +type Filesystem struct { + Name *string `json:"name,omitempty"` + LastModified *string `json:"lastModified,omitempty"` + ETag *string `json:"eTag,omitempty"` +} + +// FilesystemList ... +type FilesystemList struct { + autorest.Response `json:"-"` + Filesystems *[]Filesystem `json:"filesystems,omitempty"` +} + +// Path ... +type Path struct { + Name *string `json:"name,omitempty"` + IsDirectory *bool `json:"isDirectory,omitempty"` + LastModified *string `json:"lastModified,omitempty"` + ETag *string `json:"eTag,omitempty"` + ContentLength *int64 `json:"contentLength,omitempty"` + Owner *string `json:"owner,omitempty"` + Group *string `json:"group,omitempty"` + Permissions *string `json:"permissions,omitempty"` +} + +// PathList ... +type PathList struct { + autorest.Response `json:"-"` + Paths *[]Path `json:"paths,omitempty"` +} + +// ReadCloser ... +type ReadCloser struct { + autorest.Response `json:"-"` + Value *io.ReadCloser `json:"value,omitempty"` +} diff --git a/services/storage/datalake/2019-10-31/storagedatalake/path.go b/services/storage/datalake/2019-10-31/storagedatalake/path.go new file mode 100644 index 000000000000..bdda54bf03eb --- /dev/null +++ b/services/storage/datalake/2019-10-31/storagedatalake/path.go @@ -0,0 +1,1431 @@ +package storagedatalake + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "io" + "net/http" +) + +// PathClient is the azure Data Lake Storage provides storage for Hadoop and other big data workloads. +type PathClient struct { + BaseClient +} + +// NewPathClient creates an instance of the PathClient client. +func NewPathClient(xMsVersion string, accountName string) PathClient { + return PathClient{New(xMsVersion, accountName)} +} + +// Create create or rename a file or directory. By default, the destination is overwritten and if the destination +// already exists and has a lease the lease is broken. This operation supports conditional HTTP requests. For more +// information, see [Specifying Conditional Headers for Blob Service +// Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations). +// To fail if the destination already exists, use a conditional request with If-None-Match: "*". +// Parameters: +// filesystem - the filesystem identifier. +// pathParameter - the file or directory path. +// resource - required only for Create File and Create Directory. The value must be "file" or "directory". +// continuation - optional. When renaming a directory, the number of paths that are renamed with each +// invocation is limited. If the number of paths to be renamed exceeds this limit, a continuation token is +// returned in this response header. When a continuation token is returned in the response, it must be +// specified in a subsequent invocation of the rename operation to continue renaming the directory. +// mode - optional. Valid only when namespace is enabled. This parameter determines the behavior of the rename +// operation. The value must be "legacy" or "posix", and the default value will be "posix". +// cacheControl - optional. The service stores this value and includes it in the "Cache-Control" response +// header for "Read File" operations for "Read File" operations. +// contentEncoding - optional. Specifies which content encodings have been applied to the file. This value is +// returned to the client when the "Read File" operation is performed. +// contentLanguage - optional. Specifies the natural language used by the intended audience for the file. +// contentDisposition - optional. The service stores this value and includes it in the "Content-Disposition" +// response header for "Read File" operations. +// xMsCacheControl - optional. The service stores this value and includes it in the "Cache-Control" response +// header for "Read File" operations. +// xMsContentType - optional. The service stores this value and includes it in the "Content-Type" response +// header for "Read File" operations. +// xMsContentEncoding - optional. The service stores this value and includes it in the "Content-Encoding" +// response header for "Read File" operations. +// xMsContentLanguage - optional. The service stores this value and includes it in the "Content-Language" +// response header for "Read File" operations. +// xMsContentDisposition - optional. The service stores this value and includes it in the +// "Content-Disposition" response header for "Read File" operations. +// xMsRenameSource - an optional file or directory to be renamed. The value must have the following format: +// "/{filesystem}/{path}". If "x-ms-properties" is specified, the properties will overwrite the existing +// properties; otherwise, the existing properties will be preserved. This value must be a URL percent-encoded +// string. Note that the string may only contain ASCII characters in the ISO-8859-1 character set. +// xMsLeaseID - optional. A lease ID for the path specified in the URI. The path to be overwritten must have +// an active lease and the lease ID must match. +// xMsSourceLeaseID - optional for rename operations. A lease ID for the source path. The source path must +// have an active lease and the lease ID must match. +// xMsProperties - optional. User-defined properties to be stored with the file or directory, in the format of +// a comma-separated list of name and value pairs "n1=v1, n2=v2, ...", where each value is a base64 encoded +// string. Note that the string may only contain ASCII characters in the ISO-8859-1 character set. +// xMsPermissions - optional and only valid if Hierarchical Namespace is enabled for the account. Sets POSIX +// access permissions for the file owner, the file owning group, and others. Each class may be granted read, +// write, or execute permission. The sticky bit is also supported. Both symbolic (rwxrw-rw-) and 4-digit +// octal notation (e.g. 0766) are supported. +// xMsUmask - optional and only valid if Hierarchical Namespace is enabled for the account. When creating a +// file or directory and the parent folder does not have a default ACL, the umask restricts the permissions of +// the file or directory to be created. The resulting permission is given by p & ^u, where p is the permission +// and u is the umask. For example, if p is 0777 and u is 0057, then the resulting permission is 0720. The +// default permission is 0777 for a directory and 0666 for a file. The default umask is 0027. The umask must +// be specified in 4-digit octal notation (e.g. 0766). +// ifMatch - optional. An ETag value. Specify this header to perform the operation only if the resource's ETag +// matches the value specified. The ETag must be specified in quotes. +// ifNoneMatch - optional. An ETag value or the special wildcard ("*") value. Specify this header to perform +// the operation only if the resource's ETag does not match the value specified. The ETag must be specified in +// quotes. +// ifModifiedSince - optional. A date and time value. Specify this header to perform the operation only if the +// resource has been modified since the specified date and time. +// ifUnmodifiedSince - optional. A date and time value. Specify this header to perform the operation only if +// the resource has not been modified since the specified date and time. +// xMsSourceIfMatch - optional. An ETag value. Specify this header to perform the rename operation only if the +// source's ETag matches the value specified. The ETag must be specified in quotes. +// xMsSourceIfNoneMatch - optional. An ETag value or the special wildcard ("*") value. Specify this header to +// perform the rename operation only if the source's ETag does not match the value specified. The ETag must be +// specified in quotes. +// xMsSourceIfModifiedSince - optional. A date and time value. Specify this header to perform the rename +// operation only if the source has been modified since the specified date and time. +// xMsSourceIfUnmodifiedSince - optional. A date and time value. Specify this header to perform the rename +// operation only if the source has not been modified since the specified date and time. +// xMsClientRequestID - a UUID recorded in the analytics logs for troubleshooting and correlation. +// timeout - an optional operation timeout value in seconds. The period begins when the request is received by +// the service. If the timeout value elapses before the operation completes, the operation fails. +// xMsDate - specifies the Coordinated Universal Time (UTC) for the request. This is required when using +// shared key authorization. +func (client PathClient) Create(ctx context.Context, filesystem string, pathParameter string, resource PathResourceType, continuation string, mode PathRenameMode, cacheControl string, contentEncoding string, contentLanguage string, contentDisposition string, xMsCacheControl string, xMsContentType string, xMsContentEncoding string, xMsContentLanguage string, xMsContentDisposition string, xMsRenameSource string, xMsLeaseID string, xMsSourceLeaseID string, xMsProperties string, xMsPermissions string, xMsUmask string, ifMatch string, ifNoneMatch string, ifModifiedSince string, ifUnmodifiedSince string, xMsSourceIfMatch string, xMsSourceIfNoneMatch string, xMsSourceIfModifiedSince string, xMsSourceIfUnmodifiedSince string, xMsClientRequestID string, timeout *int32, xMsDate string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PathClient.Create") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: xMsLeaseID, + Constraints: []validation.Constraint{{Target: "xMsLeaseID", Name: validation.Empty, Rule: false, + Chain: []validation.Constraint{{Target: "xMsLeaseID", Name: validation.Pattern, Rule: `^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$`, Chain: nil}}}}}, + {TargetValue: xMsSourceLeaseID, + Constraints: []validation.Constraint{{Target: "xMsSourceLeaseID", Name: validation.Empty, Rule: false, + Chain: []validation.Constraint{{Target: "xMsSourceLeaseID", Name: validation.Pattern, Rule: `^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$`, Chain: nil}}}}}, + {TargetValue: filesystem, + Constraints: []validation.Constraint{{Target: "filesystem", Name: validation.MaxLength, Rule: 63, Chain: nil}, + {Target: "filesystem", Name: validation.MinLength, Rule: 3, Chain: nil}}}, + {TargetValue: xMsClientRequestID, + Constraints: []validation.Constraint{{Target: "xMsClientRequestID", Name: validation.Empty, Rule: false, + Chain: []validation.Constraint{{Target: "xMsClientRequestID", Name: validation.Pattern, Rule: `^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$`, Chain: nil}}}}}, + {TargetValue: timeout, + Constraints: []validation.Constraint{{Target: "timeout", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "timeout", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}}}}}}); err != nil { + return result, validation.NewError("storagedatalake.PathClient", "Create", err.Error()) + } + + req, err := client.CreatePreparer(ctx, filesystem, pathParameter, resource, continuation, mode, cacheControl, contentEncoding, contentLanguage, contentDisposition, xMsCacheControl, xMsContentType, xMsContentEncoding, xMsContentLanguage, xMsContentDisposition, xMsRenameSource, xMsLeaseID, xMsSourceLeaseID, xMsProperties, xMsPermissions, xMsUmask, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince, xMsSourceIfMatch, xMsSourceIfNoneMatch, xMsSourceIfModifiedSince, xMsSourceIfUnmodifiedSince, xMsClientRequestID, timeout, xMsDate) + if err != nil { + err = autorest.NewErrorWithError(err, "storagedatalake.PathClient", "Create", nil, "Failure preparing request") + return + } + + resp, err := client.CreateSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "storagedatalake.PathClient", "Create", resp, "Failure sending request") + return + } + + result, err = client.CreateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "storagedatalake.PathClient", "Create", resp, "Failure responding to request") + } + + return +} + +// CreatePreparer prepares the Create request. +func (client PathClient) CreatePreparer(ctx context.Context, filesystem string, pathParameter string, resource PathResourceType, continuation string, mode PathRenameMode, cacheControl string, contentEncoding string, contentLanguage string, contentDisposition string, xMsCacheControl string, xMsContentType string, xMsContentEncoding string, xMsContentLanguage string, xMsContentDisposition string, xMsRenameSource string, xMsLeaseID string, xMsSourceLeaseID string, xMsProperties string, xMsPermissions string, xMsUmask string, ifMatch string, ifNoneMatch string, ifModifiedSince string, ifUnmodifiedSince string, xMsSourceIfMatch string, xMsSourceIfNoneMatch string, xMsSourceIfModifiedSince string, xMsSourceIfUnmodifiedSince string, xMsClientRequestID string, timeout *int32, xMsDate string) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "accountName": client.AccountName, + "dnsSuffix": client.DNSSuffix, + } + + pathParameters := map[string]interface{}{ + "filesystem": autorest.Encode("path", filesystem), + "path": autorest.Encode("path", pathParameter), + } + + queryParameters := map[string]interface{}{} + if len(string(resource)) > 0 { + queryParameters["resource"] = autorest.Encode("query", resource) + } + if len(continuation) > 0 { + queryParameters["continuation"] = autorest.Encode("query", continuation) + } + if len(string(mode)) > 0 { + queryParameters["mode"] = autorest.Encode("query", mode) + } + if timeout != nil { + queryParameters["timeout"] = autorest.Encode("query", *timeout) + } + + preparer := autorest.CreatePreparer( + autorest.AsPut(), + autorest.WithCustomBaseURL("https://{accountName}.{dnsSuffix}", urlParameters), + autorest.WithPathParameters("/{filesystem}/{path}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + if len(cacheControl) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("Cache-Control", autorest.String(cacheControl))) + } + if len(contentEncoding) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("Content-Encoding", autorest.String(contentEncoding))) + } + if len(contentLanguage) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("Content-Language", autorest.String(contentLanguage))) + } + if len(contentDisposition) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("Content-Disposition", autorest.String(contentDisposition))) + } + if len(xMsCacheControl) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("x-ms-cache-control", autorest.String(xMsCacheControl))) + } + if len(xMsContentType) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("x-ms-content-type", autorest.String(xMsContentType))) + } + if len(xMsContentEncoding) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("x-ms-content-encoding", autorest.String(xMsContentEncoding))) + } + if len(xMsContentLanguage) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("x-ms-content-language", autorest.String(xMsContentLanguage))) + } + if len(xMsContentDisposition) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("x-ms-content-disposition", autorest.String(xMsContentDisposition))) + } + if len(xMsRenameSource) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("x-ms-rename-source", autorest.String(xMsRenameSource))) + } + if len(xMsLeaseID) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("x-ms-lease-id", autorest.String(xMsLeaseID))) + } + if len(xMsSourceLeaseID) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("x-ms-source-lease-id", autorest.String(xMsSourceLeaseID))) + } + if len(xMsProperties) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("x-ms-properties", autorest.String(xMsProperties))) + } + if len(xMsPermissions) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("x-ms-permissions", autorest.String(xMsPermissions))) + } + if len(xMsUmask) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("x-ms-umask", autorest.String(xMsUmask))) + } + if len(ifMatch) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("If-Match", autorest.String(ifMatch))) + } + if len(ifNoneMatch) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) + } + if len(ifModifiedSince) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) + } + if len(ifUnmodifiedSince) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) + } + if len(xMsSourceIfMatch) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("x-ms-source-if-match", autorest.String(xMsSourceIfMatch))) + } + if len(xMsSourceIfNoneMatch) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("x-ms-source-if-none-match", autorest.String(xMsSourceIfNoneMatch))) + } + if len(xMsSourceIfModifiedSince) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("x-ms-source-if-modified-since", autorest.String(xMsSourceIfModifiedSince))) + } + if len(xMsSourceIfUnmodifiedSince) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("x-ms-source-if-unmodified-since", autorest.String(xMsSourceIfUnmodifiedSince))) + } + if len(xMsClientRequestID) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("x-ms-client-request-id", autorest.String(xMsClientRequestID))) + } + if len(xMsDate) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("x-ms-date", autorest.String(xMsDate))) + } + if len(client.XMsVersion) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("x-ms-version", autorest.String(client.XMsVersion))) + } + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateSender sends the Create request. The method will close the +// http.Response Body if it receives an error. +func (client PathClient) CreateSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// CreateResponder handles the response to the Create request. The method always +// closes the http.Response Body. +func (client PathClient) CreateResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByClosing()) + result.Response = resp + return +} + +// Delete delete the file or directory. This operation supports conditional HTTP requests. For more information, see +// [Specifying Conditional Headers for Blob Service +// Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations). +// Parameters: +// filesystem - the filesystem identifier. +// pathParameter - the file or directory path. +// recursive - required and valid only when the resource is a directory. If "true", all paths beneath the +// directory will be deleted. If "false" and the directory is non-empty, an error occurs. +// continuation - optional. When deleting a directory, the number of paths that are deleted with each +// invocation is limited. If the number of paths to be deleted exceeds this limit, a continuation token is +// returned in this response header. When a continuation token is returned in the response, it must be +// specified in a subsequent invocation of the delete operation to continue deleting the directory. +// xMsLeaseID - the lease ID must be specified if there is an active lease. +// ifMatch - optional. An ETag value. Specify this header to perform the operation only if the resource's ETag +// matches the value specified. The ETag must be specified in quotes. +// ifNoneMatch - optional. An ETag value or the special wildcard ("*") value. Specify this header to perform +// the operation only if the resource's ETag does not match the value specified. The ETag must be specified in +// quotes. +// ifModifiedSince - optional. A date and time value. Specify this header to perform the operation only if the +// resource has been modified since the specified date and time. +// ifUnmodifiedSince - optional. A date and time value. Specify this header to perform the operation only if +// the resource has not been modified since the specified date and time. +// xMsClientRequestID - a UUID recorded in the analytics logs for troubleshooting and correlation. +// timeout - an optional operation timeout value in seconds. The period begins when the request is received by +// the service. If the timeout value elapses before the operation completes, the operation fails. +// xMsDate - specifies the Coordinated Universal Time (UTC) for the request. This is required when using +// shared key authorization. +func (client PathClient) Delete(ctx context.Context, filesystem string, pathParameter string, recursive *bool, continuation string, xMsLeaseID string, ifMatch string, ifNoneMatch string, ifModifiedSince string, ifUnmodifiedSince string, xMsClientRequestID string, timeout *int32, xMsDate string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PathClient.Delete") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: xMsLeaseID, + Constraints: []validation.Constraint{{Target: "xMsLeaseID", Name: validation.Empty, Rule: false, + Chain: []validation.Constraint{{Target: "xMsLeaseID", Name: validation.Pattern, Rule: `^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$`, Chain: nil}}}}}, + {TargetValue: filesystem, + Constraints: []validation.Constraint{{Target: "filesystem", Name: validation.MaxLength, Rule: 63, Chain: nil}, + {Target: "filesystem", Name: validation.MinLength, Rule: 3, Chain: nil}}}, + {TargetValue: xMsClientRequestID, + Constraints: []validation.Constraint{{Target: "xMsClientRequestID", Name: validation.Empty, Rule: false, + Chain: []validation.Constraint{{Target: "xMsClientRequestID", Name: validation.Pattern, Rule: `^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$`, Chain: nil}}}}}, + {TargetValue: timeout, + Constraints: []validation.Constraint{{Target: "timeout", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "timeout", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}}}}}}); err != nil { + return result, validation.NewError("storagedatalake.PathClient", "Delete", err.Error()) + } + + req, err := client.DeletePreparer(ctx, filesystem, pathParameter, recursive, continuation, xMsLeaseID, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince, xMsClientRequestID, timeout, xMsDate) + if err != nil { + err = autorest.NewErrorWithError(err, "storagedatalake.PathClient", "Delete", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "storagedatalake.PathClient", "Delete", resp, "Failure sending request") + return + } + + result, err = client.DeleteResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "storagedatalake.PathClient", "Delete", resp, "Failure responding to request") + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client PathClient) DeletePreparer(ctx context.Context, filesystem string, pathParameter string, recursive *bool, continuation string, xMsLeaseID string, ifMatch string, ifNoneMatch string, ifModifiedSince string, ifUnmodifiedSince string, xMsClientRequestID string, timeout *int32, xMsDate string) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "accountName": client.AccountName, + "dnsSuffix": client.DNSSuffix, + } + + pathParameters := map[string]interface{}{ + "filesystem": autorest.Encode("path", filesystem), + "path": autorest.Encode("path", pathParameter), + } + + queryParameters := map[string]interface{}{} + if recursive != nil { + queryParameters["recursive"] = autorest.Encode("query", *recursive) + } + if len(continuation) > 0 { + queryParameters["continuation"] = autorest.Encode("query", continuation) + } + if timeout != nil { + queryParameters["timeout"] = autorest.Encode("query", *timeout) + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithCustomBaseURL("https://{accountName}.{dnsSuffix}", urlParameters), + autorest.WithPathParameters("/{filesystem}/{path}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + if len(xMsLeaseID) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("x-ms-lease-id", autorest.String(xMsLeaseID))) + } + if len(ifMatch) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("If-Match", autorest.String(ifMatch))) + } + if len(ifNoneMatch) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) + } + if len(ifModifiedSince) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) + } + if len(ifUnmodifiedSince) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) + } + if len(xMsClientRequestID) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("x-ms-client-request-id", autorest.String(xMsClientRequestID))) + } + if len(xMsDate) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("x-ms-date", autorest.String(xMsDate))) + } + if len(client.XMsVersion) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("x-ms-version", autorest.String(client.XMsVersion))) + } + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client PathClient) DeleteSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client PathClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByClosing()) + result.Response = resp + return +} + +// GetProperties get Properties returns all system and user defined properties for a path. Get Status returns all +// system defined properties for a path. Get Access Control List returns the access control list for a path. This +// operation supports conditional HTTP requests. For more information, see [Specifying Conditional Headers for Blob +// Service +// Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations). +// Parameters: +// filesystem - the filesystem identifier. +// pathParameter - the file or directory path. +// action - optional. If the value is "getStatus" only the system defined properties for the path are returned. +// If the value is "getAccessControl" the access control list is returned in the response headers (Hierarchical +// Namespace must be enabled for the account), otherwise the properties are returned. +// upn - optional. Valid only when Hierarchical Namespace is enabled for the account. If "true", the user +// identity values returned in the x-ms-owner, x-ms-group, and x-ms-acl response headers will be transformed +// from Azure Active Directory Object IDs to User Principal Names. If "false", the values will be returned as +// Azure Active Directory Object IDs. The default value is false. Note that group and application Object IDs +// are not translated because they do not have unique friendly names. +// fsAction - required only for check access action. Valid only when Hierarchical Namespace is enabled for the +// account. File system operation read/write/execute in string form, matching regex pattern '[rwx-]{3}' +// xMsLeaseID - optional. If this header is specified, the operation will be performed only if both of the +// following conditions are met: i) the path's lease is currently active and ii) the lease ID specified in the +// request matches that of the path. +// ifMatch - optional. An ETag value. Specify this header to perform the operation only if the resource's ETag +// matches the value specified. The ETag must be specified in quotes. +// ifNoneMatch - optional. An ETag value or the special wildcard ("*") value. Specify this header to perform +// the operation only if the resource's ETag does not match the value specified. The ETag must be specified in +// quotes. +// ifModifiedSince - optional. A date and time value. Specify this header to perform the operation only if the +// resource has been modified since the specified date and time. +// ifUnmodifiedSince - optional. A date and time value. Specify this header to perform the operation only if +// the resource has not been modified since the specified date and time. +// xMsClientRequestID - a UUID recorded in the analytics logs for troubleshooting and correlation. +// timeout - an optional operation timeout value in seconds. The period begins when the request is received by +// the service. If the timeout value elapses before the operation completes, the operation fails. +// xMsDate - specifies the Coordinated Universal Time (UTC) for the request. This is required when using +// shared key authorization. +func (client PathClient) GetProperties(ctx context.Context, filesystem string, pathParameter string, action PathGetPropertiesAction, upn *bool, fsAction string, xMsLeaseID string, ifMatch string, ifNoneMatch string, ifModifiedSince string, ifUnmodifiedSince string, xMsClientRequestID string, timeout *int32, xMsDate string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PathClient.GetProperties") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: xMsLeaseID, + Constraints: []validation.Constraint{{Target: "xMsLeaseID", Name: validation.Empty, Rule: false, + Chain: []validation.Constraint{{Target: "xMsLeaseID", Name: validation.Pattern, Rule: `^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$`, Chain: nil}}}}}, + {TargetValue: filesystem, + Constraints: []validation.Constraint{{Target: "filesystem", Name: validation.MaxLength, Rule: 63, Chain: nil}, + {Target: "filesystem", Name: validation.MinLength, Rule: 3, Chain: nil}}}, + {TargetValue: xMsClientRequestID, + Constraints: []validation.Constraint{{Target: "xMsClientRequestID", Name: validation.Empty, Rule: false, + Chain: []validation.Constraint{{Target: "xMsClientRequestID", Name: validation.Pattern, Rule: `^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$`, Chain: nil}}}}}, + {TargetValue: timeout, + Constraints: []validation.Constraint{{Target: "timeout", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "timeout", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}}}}}}); err != nil { + return result, validation.NewError("storagedatalake.PathClient", "GetProperties", err.Error()) + } + + req, err := client.GetPropertiesPreparer(ctx, filesystem, pathParameter, action, upn, fsAction, xMsLeaseID, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince, xMsClientRequestID, timeout, xMsDate) + if err != nil { + err = autorest.NewErrorWithError(err, "storagedatalake.PathClient", "GetProperties", nil, "Failure preparing request") + return + } + + resp, err := client.GetPropertiesSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "storagedatalake.PathClient", "GetProperties", resp, "Failure sending request") + return + } + + result, err = client.GetPropertiesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "storagedatalake.PathClient", "GetProperties", resp, "Failure responding to request") + } + + return +} + +// GetPropertiesPreparer prepares the GetProperties request. +func (client PathClient) GetPropertiesPreparer(ctx context.Context, filesystem string, pathParameter string, action PathGetPropertiesAction, upn *bool, fsAction string, xMsLeaseID string, ifMatch string, ifNoneMatch string, ifModifiedSince string, ifUnmodifiedSince string, xMsClientRequestID string, timeout *int32, xMsDate string) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "accountName": client.AccountName, + "dnsSuffix": client.DNSSuffix, + } + + pathParameters := map[string]interface{}{ + "filesystem": autorest.Encode("path", filesystem), + "path": autorest.Encode("path", pathParameter), + } + + queryParameters := map[string]interface{}{} + if len(string(action)) > 0 { + queryParameters["action"] = autorest.Encode("query", action) + } + if upn != nil { + queryParameters["upn"] = autorest.Encode("query", *upn) + } + if len(fsAction) > 0 { + queryParameters["fsAction"] = autorest.Encode("query", fsAction) + } + if timeout != nil { + queryParameters["timeout"] = autorest.Encode("query", *timeout) + } + + preparer := autorest.CreatePreparer( + autorest.AsHead(), + autorest.WithCustomBaseURL("https://{accountName}.{dnsSuffix}", urlParameters), + autorest.WithPathParameters("/{filesystem}/{path}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + if len(xMsLeaseID) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("x-ms-lease-id", autorest.String(xMsLeaseID))) + } + if len(ifMatch) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("If-Match", autorest.String(ifMatch))) + } + if len(ifNoneMatch) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) + } + if len(ifModifiedSince) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) + } + if len(ifUnmodifiedSince) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) + } + if len(xMsClientRequestID) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("x-ms-client-request-id", autorest.String(xMsClientRequestID))) + } + if len(xMsDate) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("x-ms-date", autorest.String(xMsDate))) + } + if len(client.XMsVersion) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("x-ms-version", autorest.String(client.XMsVersion))) + } + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetPropertiesSender sends the GetProperties request. The method will close the +// http.Response Body if it receives an error. +func (client PathClient) GetPropertiesSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetPropertiesResponder handles the response to the GetProperties request. The method always +// closes the http.Response Body. +func (client PathClient) GetPropertiesResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByClosing()) + result.Response = resp + return +} + +// Lease create and manage a lease to restrict write and delete access to the path. This operation supports conditional +// HTTP requests. For more information, see [Specifying Conditional Headers for Blob Service +// Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations). +// Parameters: +// xMsLeaseAction - there are five lease actions: "acquire", "break", "change", "renew", and "release". Use +// "acquire" and specify the "x-ms-proposed-lease-id" and "x-ms-lease-duration" to acquire a new lease. Use +// "break" to break an existing lease. When a lease is broken, the lease break period is allowed to elapse, +// during which time no lease operation except break and release can be performed on the file. When a lease is +// successfully broken, the response indicates the interval in seconds until a new lease can be acquired. Use +// "change" and specify the current lease ID in "x-ms-lease-id" and the new lease ID in +// "x-ms-proposed-lease-id" to change the lease ID of an active lease. Use "renew" and specify the +// "x-ms-lease-id" to renew an existing lease. Use "release" and specify the "x-ms-lease-id" to release a +// lease. +// filesystem - the filesystem identifier. +// pathParameter - the file or directory path. +// xMsLeaseDuration - the lease duration is required to acquire a lease, and specifies the duration of the +// lease in seconds. The lease duration must be between 15 and 60 seconds or -1 for infinite lease. +// xMsLeaseBreakPeriod - the lease break period duration is optional to break a lease, and specifies the break +// period of the lease in seconds. The lease break duration must be between 0 and 60 seconds. +// xMsLeaseID - required when "x-ms-lease-action" is "renew", "change" or "release". For the renew and release +// actions, this must match the current lease ID. +// xMsProposedLeaseID - required when "x-ms-lease-action" is "acquire" or "change". A lease will be acquired +// with this lease ID if the operation is successful. +// ifMatch - optional. An ETag value. Specify this header to perform the operation only if the resource's ETag +// matches the value specified. The ETag must be specified in quotes. +// ifNoneMatch - optional. An ETag value or the special wildcard ("*") value. Specify this header to perform +// the operation only if the resource's ETag does not match the value specified. The ETag must be specified in +// quotes. +// ifModifiedSince - optional. A date and time value. Specify this header to perform the operation only if the +// resource has been modified since the specified date and time. +// ifUnmodifiedSince - optional. A date and time value. Specify this header to perform the operation only if +// the resource has not been modified since the specified date and time. +// xMsClientRequestID - a UUID recorded in the analytics logs for troubleshooting and correlation. +// timeout - an optional operation timeout value in seconds. The period begins when the request is received by +// the service. If the timeout value elapses before the operation completes, the operation fails. +// xMsDate - specifies the Coordinated Universal Time (UTC) for the request. This is required when using +// shared key authorization. +func (client PathClient) Lease(ctx context.Context, xMsLeaseAction PathLeaseAction, filesystem string, pathParameter string, xMsLeaseDuration *int32, xMsLeaseBreakPeriod *int32, xMsLeaseID string, xMsProposedLeaseID string, ifMatch string, ifNoneMatch string, ifModifiedSince string, ifUnmodifiedSince string, xMsClientRequestID string, timeout *int32, xMsDate string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PathClient.Lease") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: xMsLeaseID, + Constraints: []validation.Constraint{{Target: "xMsLeaseID", Name: validation.Empty, Rule: false, + Chain: []validation.Constraint{{Target: "xMsLeaseID", Name: validation.Pattern, Rule: `^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$`, Chain: nil}}}}}, + {TargetValue: xMsProposedLeaseID, + Constraints: []validation.Constraint{{Target: "xMsProposedLeaseID", Name: validation.Empty, Rule: false, + Chain: []validation.Constraint{{Target: "xMsProposedLeaseID", Name: validation.Pattern, Rule: `^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$`, Chain: nil}}}}}, + {TargetValue: filesystem, + Constraints: []validation.Constraint{{Target: "filesystem", Name: validation.MaxLength, Rule: 63, Chain: nil}, + {Target: "filesystem", Name: validation.MinLength, Rule: 3, Chain: nil}}}, + {TargetValue: xMsClientRequestID, + Constraints: []validation.Constraint{{Target: "xMsClientRequestID", Name: validation.Empty, Rule: false, + Chain: []validation.Constraint{{Target: "xMsClientRequestID", Name: validation.Pattern, Rule: `^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$`, Chain: nil}}}}}, + {TargetValue: timeout, + Constraints: []validation.Constraint{{Target: "timeout", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "timeout", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}}}}}}); err != nil { + return result, validation.NewError("storagedatalake.PathClient", "Lease", err.Error()) + } + + req, err := client.LeasePreparer(ctx, xMsLeaseAction, filesystem, pathParameter, xMsLeaseDuration, xMsLeaseBreakPeriod, xMsLeaseID, xMsProposedLeaseID, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince, xMsClientRequestID, timeout, xMsDate) + if err != nil { + err = autorest.NewErrorWithError(err, "storagedatalake.PathClient", "Lease", nil, "Failure preparing request") + return + } + + resp, err := client.LeaseSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "storagedatalake.PathClient", "Lease", resp, "Failure sending request") + return + } + + result, err = client.LeaseResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "storagedatalake.PathClient", "Lease", resp, "Failure responding to request") + } + + return +} + +// LeasePreparer prepares the Lease request. +func (client PathClient) LeasePreparer(ctx context.Context, xMsLeaseAction PathLeaseAction, filesystem string, pathParameter string, xMsLeaseDuration *int32, xMsLeaseBreakPeriod *int32, xMsLeaseID string, xMsProposedLeaseID string, ifMatch string, ifNoneMatch string, ifModifiedSince string, ifUnmodifiedSince string, xMsClientRequestID string, timeout *int32, xMsDate string) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "accountName": client.AccountName, + "dnsSuffix": client.DNSSuffix, + } + + pathParameters := map[string]interface{}{ + "filesystem": autorest.Encode("path", filesystem), + "path": autorest.Encode("path", pathParameter), + } + + queryParameters := map[string]interface{}{} + if timeout != nil { + queryParameters["timeout"] = autorest.Encode("query", *timeout) + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithCustomBaseURL("https://{accountName}.{dnsSuffix}", urlParameters), + autorest.WithPathParameters("/{filesystem}/{path}", pathParameters), + autorest.WithQueryParameters(queryParameters), + autorest.WithHeader("x-ms-lease-action", autorest.String(xMsLeaseAction))) + if xMsLeaseDuration != nil { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("x-ms-lease-duration", autorest.String(*xMsLeaseDuration))) + } + if xMsLeaseBreakPeriod != nil { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("x-ms-lease-break-period", autorest.String(*xMsLeaseBreakPeriod))) + } + if len(xMsLeaseID) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("x-ms-lease-id", autorest.String(xMsLeaseID))) + } + if len(xMsProposedLeaseID) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("x-ms-proposed-lease-id", autorest.String(xMsProposedLeaseID))) + } + if len(ifMatch) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("If-Match", autorest.String(ifMatch))) + } + if len(ifNoneMatch) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) + } + if len(ifModifiedSince) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) + } + if len(ifUnmodifiedSince) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) + } + if len(xMsClientRequestID) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("x-ms-client-request-id", autorest.String(xMsClientRequestID))) + } + if len(xMsDate) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("x-ms-date", autorest.String(xMsDate))) + } + if len(client.XMsVersion) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("x-ms-version", autorest.String(client.XMsVersion))) + } + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// LeaseSender sends the Lease request. The method will close the +// http.Response Body if it receives an error. +func (client PathClient) LeaseSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// LeaseResponder handles the response to the Lease request. The method always +// closes the http.Response Body. +func (client PathClient) LeaseResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated, http.StatusAccepted), + autorest.ByClosing()) + result.Response = resp + return +} + +// List list filesystem paths and their properties. +// Parameters: +// recursive - if "true", all paths are listed; otherwise, only paths at the root of the filesystem are listed. +// If "directory" is specified, the list will only include paths that share the same root. +// filesystem - the filesystem identifier. The value must start and end with a letter or number and must +// contain only letters, numbers, and the dash (-) character. Consecutive dashes are not permitted. All +// letters must be lowercase. The value must have between 3 and 63 characters. +// directory - filters results to paths within the specified directory. An error occurs if the directory does +// not exist. +// continuation - the number of paths returned with each invocation is limited. If the number of paths to be +// returned exceeds this limit, a continuation token is returned in the response header x-ms-continuation. When +// a continuation token is returned in the response, it must be specified in a subsequent invocation of the +// list operation to continue listing the paths. +// maxResults - an optional value that specifies the maximum number of items to return. If omitted or greater +// than 5,000, the response will include up to 5,000 items. +// upn - optional. Valid only when Hierarchical Namespace is enabled for the account. If "true", the user +// identity values returned in the owner and group fields of each list entry will be transformed from Azure +// Active Directory Object IDs to User Principal Names. If "false", the values will be returned as Azure +// Active Directory Object IDs. The default value is false. Note that group and application Object IDs are not +// translated because they do not have unique friendly names. +// xMsClientRequestID - a UUID recorded in the analytics logs for troubleshooting and correlation. +// timeout - an optional operation timeout value in seconds. The period begins when the request is received by +// the service. If the timeout value elapses before the operation completes, the operation fails. +// xMsDate - specifies the Coordinated Universal Time (UTC) for the request. This is required when using +// shared key authorization. +func (client PathClient) List(ctx context.Context, recursive bool, filesystem string, directory string, continuation string, maxResults *int32, upn *bool, xMsClientRequestID string, timeout *int32, xMsDate string) (result PathList, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PathClient.List") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: maxResults, + Constraints: []validation.Constraint{{Target: "maxResults", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "maxResults", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}}}}}, + {TargetValue: filesystem, + Constraints: []validation.Constraint{{Target: "filesystem", Name: validation.MaxLength, Rule: 63, Chain: nil}, + {Target: "filesystem", Name: validation.MinLength, Rule: 3, Chain: nil}}}, + {TargetValue: xMsClientRequestID, + Constraints: []validation.Constraint{{Target: "xMsClientRequestID", Name: validation.Empty, Rule: false, + Chain: []validation.Constraint{{Target: "xMsClientRequestID", Name: validation.Pattern, Rule: `^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$`, Chain: nil}}}}}, + {TargetValue: timeout, + Constraints: []validation.Constraint{{Target: "timeout", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "timeout", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}}}}}}); err != nil { + return result, validation.NewError("storagedatalake.PathClient", "List", err.Error()) + } + + req, err := client.ListPreparer(ctx, recursive, filesystem, directory, continuation, maxResults, upn, xMsClientRequestID, timeout, xMsDate) + if err != nil { + err = autorest.NewErrorWithError(err, "storagedatalake.PathClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "storagedatalake.PathClient", "List", resp, "Failure sending request") + return + } + + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "storagedatalake.PathClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client PathClient) ListPreparer(ctx context.Context, recursive bool, filesystem string, directory string, continuation string, maxResults *int32, upn *bool, xMsClientRequestID string, timeout *int32, xMsDate string) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "accountName": client.AccountName, + "dnsSuffix": client.DNSSuffix, + } + + pathParameters := map[string]interface{}{ + "filesystem": autorest.Encode("path", filesystem), + } + + queryParameters := map[string]interface{}{ + "recursive": autorest.Encode("query", recursive), + "resource": autorest.Encode("query", "filesystem"), + } + if len(directory) > 0 { + queryParameters["directory"] = autorest.Encode("query", directory) + } + if len(continuation) > 0 { + queryParameters["continuation"] = autorest.Encode("query", continuation) + } + if maxResults != nil { + queryParameters["maxResults"] = autorest.Encode("query", *maxResults) + } + if upn != nil { + queryParameters["upn"] = autorest.Encode("query", *upn) + } + if timeout != nil { + queryParameters["timeout"] = autorest.Encode("query", *timeout) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithCustomBaseURL("https://{accountName}.{dnsSuffix}", urlParameters), + autorest.WithPathParameters("/{filesystem}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + if len(xMsClientRequestID) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("x-ms-client-request-id", autorest.String(xMsClientRequestID))) + } + if len(xMsDate) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("x-ms-date", autorest.String(xMsDate))) + } + if len(client.XMsVersion) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("x-ms-version", autorest.String(client.XMsVersion))) + } + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client PathClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client PathClient) ListResponder(resp *http.Response) (result PathList, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Read read the contents of a file. For read operations, range requests are supported. This operation supports +// conditional HTTP requests. For more information, see [Specifying Conditional Headers for Blob Service +// Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations). +// Parameters: +// filesystem - the filesystem identifier. +// pathParameter - the file or directory path. +// rangeParameter - the HTTP Range request header specifies one or more byte ranges of the resource to be +// retrieved. +// xMsLeaseID - optional. If this header is specified, the operation will be performed only if both of the +// following conditions are met: i) the path's lease is currently active and ii) the lease ID specified in the +// request matches that of the path. +// xMsRangeGetContentMd5 - optional. When this header is set to "true" and specified together with the Range +// header, the service returns the MD5 hash for the range, as long as the range is less than or equal to 4MB in +// size. If this header is specified without the Range header, the service returns status code 400 (Bad +// Request). If this header is set to true when the range exceeds 4 MB in size, the service returns status code +// 400 (Bad Request). +// ifMatch - optional. An ETag value. Specify this header to perform the operation only if the resource's ETag +// matches the value specified. The ETag must be specified in quotes. +// ifNoneMatch - optional. An ETag value or the special wildcard ("*") value. Specify this header to perform +// the operation only if the resource's ETag does not match the value specified. The ETag must be specified in +// quotes. +// ifModifiedSince - optional. A date and time value. Specify this header to perform the operation only if the +// resource has been modified since the specified date and time. +// ifUnmodifiedSince - optional. A date and time value. Specify this header to perform the operation only if +// the resource has not been modified since the specified date and time. +// xMsClientRequestID - a UUID recorded in the analytics logs for troubleshooting and correlation. +// timeout - an optional operation timeout value in seconds. The period begins when the request is received by +// the service. If the timeout value elapses before the operation completes, the operation fails. +// xMsDate - specifies the Coordinated Universal Time (UTC) for the request. This is required when using +// shared key authorization. +func (client PathClient) Read(ctx context.Context, filesystem string, pathParameter string, rangeParameter string, xMsLeaseID string, xMsRangeGetContentMd5 *bool, ifMatch string, ifNoneMatch string, ifModifiedSince string, ifUnmodifiedSince string, xMsClientRequestID string, timeout *int32, xMsDate string) (result ReadCloser, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PathClient.Read") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: xMsLeaseID, + Constraints: []validation.Constraint{{Target: "xMsLeaseID", Name: validation.Empty, Rule: false, + Chain: []validation.Constraint{{Target: "xMsLeaseID", Name: validation.Pattern, Rule: `^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$`, Chain: nil}}}}}, + {TargetValue: filesystem, + Constraints: []validation.Constraint{{Target: "filesystem", Name: validation.MaxLength, Rule: 63, Chain: nil}, + {Target: "filesystem", Name: validation.MinLength, Rule: 3, Chain: nil}}}, + {TargetValue: xMsClientRequestID, + Constraints: []validation.Constraint{{Target: "xMsClientRequestID", Name: validation.Empty, Rule: false, + Chain: []validation.Constraint{{Target: "xMsClientRequestID", Name: validation.Pattern, Rule: `^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$`, Chain: nil}}}}}, + {TargetValue: timeout, + Constraints: []validation.Constraint{{Target: "timeout", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "timeout", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}}}}}}); err != nil { + return result, validation.NewError("storagedatalake.PathClient", "Read", err.Error()) + } + + req, err := client.ReadPreparer(ctx, filesystem, pathParameter, rangeParameter, xMsLeaseID, xMsRangeGetContentMd5, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince, xMsClientRequestID, timeout, xMsDate) + if err != nil { + err = autorest.NewErrorWithError(err, "storagedatalake.PathClient", "Read", nil, "Failure preparing request") + return + } + + resp, err := client.ReadSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "storagedatalake.PathClient", "Read", resp, "Failure sending request") + return + } + + result, err = client.ReadResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "storagedatalake.PathClient", "Read", resp, "Failure responding to request") + } + + return +} + +// ReadPreparer prepares the Read request. +func (client PathClient) ReadPreparer(ctx context.Context, filesystem string, pathParameter string, rangeParameter string, xMsLeaseID string, xMsRangeGetContentMd5 *bool, ifMatch string, ifNoneMatch string, ifModifiedSince string, ifUnmodifiedSince string, xMsClientRequestID string, timeout *int32, xMsDate string) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "accountName": client.AccountName, + "dnsSuffix": client.DNSSuffix, + } + + pathParameters := map[string]interface{}{ + "filesystem": autorest.Encode("path", filesystem), + "path": autorest.Encode("path", pathParameter), + } + + queryParameters := map[string]interface{}{} + if timeout != nil { + queryParameters["timeout"] = autorest.Encode("query", *timeout) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithCustomBaseURL("https://{accountName}.{dnsSuffix}", urlParameters), + autorest.WithPathParameters("/{filesystem}/{path}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + if len(rangeParameter) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("Range", autorest.String(rangeParameter))) + } + if len(xMsLeaseID) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("x-ms-lease-id", autorest.String(xMsLeaseID))) + } + if xMsRangeGetContentMd5 != nil { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("x-ms-range-get-content-md5", autorest.String(xMsRangeGetContentMd5))) + } + if len(ifMatch) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("If-Match", autorest.String(ifMatch))) + } + if len(ifNoneMatch) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) + } + if len(ifModifiedSince) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) + } + if len(ifUnmodifiedSince) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) + } + if len(xMsClientRequestID) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("x-ms-client-request-id", autorest.String(xMsClientRequestID))) + } + if len(xMsDate) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("x-ms-date", autorest.String(xMsDate))) + } + if len(client.XMsVersion) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("x-ms-version", autorest.String(client.XMsVersion))) + } + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ReadSender sends the Read request. The method will close the +// http.Response Body if it receives an error. +func (client PathClient) ReadSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// ReadResponder handles the response to the Read request. The method always +// closes the http.Response Body. +func (client PathClient) ReadResponder(resp *http.Response) (result ReadCloser, err error) { + result.Value = &resp.Body + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusPartialContent)) + result.Response = autorest.Response{Response: resp} + return +} + +// Update uploads data to be appended to a file, flushes (writes) previously uploaded data to a file, sets properties +// for a file or directory, or sets access control for a file or directory. Data can only be appended to a file. This +// operation supports conditional HTTP requests. For more information, see [Specifying Conditional Headers for Blob +// Service +// Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations). +// Parameters: +// action - the action must be "append" to upload data to be appended to a file, "flush" to flush previously +// uploaded data to a file, "setProperties" to set the properties of a file or directory, or "setAccessControl" +// to set the owner, group, permissions, or access control list for a file or directory. Note that +// Hierarchical Namespace must be enabled for the account in order to use access control. Also note that the +// Access Control List (ACL) includes permissions for the owner, owning group, and others, so the +// x-ms-permissions and x-ms-acl request headers are mutually exclusive. +// filesystem - the filesystem identifier. +// pathParameter - the file or directory path. +// position - this parameter allows the caller to upload data in parallel and control the order in which it is +// appended to the file. It is required when uploading data to be appended to the file and when flushing +// previously uploaded data to the file. The value must be the position where the data is to be appended. +// Uploaded data is not immediately flushed, or written, to the file. To flush, the previously uploaded data +// must be contiguous, the position parameter must be specified and equal to the length of the file after all +// data has been written, and there must not be a request entity body included with the request. +// retainUncommittedData - valid only for flush operations. If "true", uncommitted data is retained after the +// flush operation completes; otherwise, the uncommitted data is deleted after the flush operation. The +// default is false. Data at offsets less than the specified position are written to the file when flush +// succeeds, but this optional parameter allows data after the flush position to be retained for a future flush +// operation. +// closeParameter - azure Storage Events allow applications to receive notifications when files change. When +// Azure Storage Events are enabled, a file changed event is raised. This event has a property indicating +// whether this is the final change to distinguish the difference between an intermediate flush to a file +// stream and the final close of a file stream. The close query parameter is valid only when the action is +// "flush" and change notifications are enabled. If the value of close is "true" and the flush operation +// completes successfully, the service raises a file change notification with a property indicating that this +// is the final update (the file stream has been closed). If "false" a change notification is raised indicating +// the file has changed. The default is false. This query parameter is set to true by the Hadoop ABFS driver to +// indicate that the file stream has been closed." +// contentLength - required for "Append Data" and "Flush Data". Must be 0 for "Flush Data". Must be the +// length of the request content in bytes for "Append Data". +// contentMD5 - optional. An MD5 hash of the request content. This header is valid on "Append" and "Flush" +// operations. This hash is used to verify the integrity of the request content during transport. When this +// header is specified, the storage service compares the hash of the content that has arrived with this header +// value. If the two hashes do not match, the operation will fail with error code 400 (Bad Request). Note that +// this MD5 hash is not stored with the file. This header is associated with the request content, and not with +// the stored content of the file itself. +// xMsLeaseID - the lease ID must be specified if there is an active lease. +// xMsCacheControl - optional and only valid for flush and set properties operations. The service stores this +// value and includes it in the "Cache-Control" response header for "Read File" operations. +// xMsContentType - optional and only valid for flush and set properties operations. The service stores this +// value and includes it in the "Content-Type" response header for "Read File" operations. +// xMsContentDisposition - optional and only valid for flush and set properties operations. The service stores +// this value and includes it in the "Content-Disposition" response header for "Read File" operations. +// xMsContentEncoding - optional and only valid for flush and set properties operations. The service stores +// this value and includes it in the "Content-Encoding" response header for "Read File" operations. +// xMsContentLanguage - optional and only valid for flush and set properties operations. The service stores +// this value and includes it in the "Content-Language" response header for "Read File" operations. +// xMsContentMd5 - optional and only valid for "Flush & Set Properties" operations. The service stores this +// value and includes it in the "Content-Md5" response header for "Read & Get Properties" operations. If this +// property is not specified on the request, then the property will be cleared for the file. Subsequent calls +// to "Read & Get Properties" will not return this property unless it is explicitly set on that file again. +// xMsProperties - optional. User-defined properties to be stored with the file or directory, in the format of +// a comma-separated list of name and value pairs "n1=v1, n2=v2, ...", where each value is a base64 encoded +// string. Note that the string may only contain ASCII characters in the ISO-8859-1 character set. Valid only +// for the setProperties operation. If the file or directory exists, any properties not included in the list +// will be removed. All properties are removed if the header is omitted. To merge new and existing +// properties, first get all existing properties and the current E-Tag, then make a conditional request with +// the E-Tag and include values for all properties. +// xMsOwner - optional and valid only for the setAccessControl operation. Sets the owner of the file or +// directory. +// xMsGroup - optional and valid only for the setAccessControl operation. Sets the owning group of the file or +// directory. +// xMsPermissions - optional and only valid if Hierarchical Namespace is enabled for the account. Sets POSIX +// access permissions for the file owner, the file owning group, and others. Each class may be granted read, +// write, or execute permission. The sticky bit is also supported. Both symbolic (rwxrw-rw-) and 4-digit +// octal notation (e.g. 0766) are supported. Invalid in conjunction with x-ms-acl. +// xMsACL - optional and valid only for the setAccessControl operation. Sets POSIX access control rights on +// files and directories. The value is a comma-separated list of access control entries that fully replaces the +// existing access control list (ACL). Each access control entry (ACE) consists of a scope, a type, a user or +// group identifier, and permissions in the format "[scope:][type]:[id]:[permissions]". The scope must be +// "default" to indicate the ACE belongs to the default ACL for a directory; otherwise scope is implicit and +// the ACE belongs to the access ACL. There are four ACE types: "user" grants rights to the owner or a named +// user, "group" grants rights to the owning group or a named group, "mask" restricts rights granted to named +// users and the members of groups, and "other" grants rights to all users not found in any of the other +// entries. The user or group identifier is omitted for entries of type "mask" and "other". The user or group +// identifier is also omitted for the owner and owning group. The permission field is a 3-character sequence +// where the first character is 'r' to grant read access, the second character is 'w' to grant write access, +// and the third character is 'x' to grant execute permission. If access is not granted, the '-' character is +// used to denote that the permission is denied. For example, the following ACL grants read, write, and execute +// rights to the file owner and john.doe@contoso, the read right to the owning group, and nothing to everyone +// else: "user::rwx,user:john.doe@contoso:rwx,group::r--,other::---,mask=rwx". Invalid in conjunction with +// x-ms-permissions. +// ifMatch - optional for Flush Data and Set Properties, but invalid for Append Data. An ETag value. Specify +// this header to perform the operation only if the resource's ETag matches the value specified. The ETag must +// be specified in quotes. +// ifNoneMatch - optional for Flush Data and Set Properties, but invalid for Append Data. An ETag value or the +// special wildcard ("*") value. Specify this header to perform the operation only if the resource's ETag does +// not match the value specified. The ETag must be specified in quotes. +// ifModifiedSince - optional for Flush Data and Set Properties, but invalid for Append Data. A date and time +// value. Specify this header to perform the operation only if the resource has been modified since the +// specified date and time. +// ifUnmodifiedSince - optional for Flush Data and Set Properties, but invalid for Append Data. A date and time +// value. Specify this header to perform the operation only if the resource has not been modified since the +// specified date and time. +// requestBody - valid only for append operations. The data to be uploaded and appended to the file. +// xMsClientRequestID - a UUID recorded in the analytics logs for troubleshooting and correlation. +// timeout - an optional operation timeout value in seconds. The period begins when the request is received by +// the service. If the timeout value elapses before the operation completes, the operation fails. +// xMsDate - specifies the Coordinated Universal Time (UTC) for the request. This is required when using +// shared key authorization. +func (client PathClient) Update(ctx context.Context, action PathUpdateAction, filesystem string, pathParameter string, position *int64, retainUncommittedData *bool, closeParameter *bool, contentLength *int64, contentMD5 string, xMsLeaseID string, xMsCacheControl string, xMsContentType string, xMsContentDisposition string, xMsContentEncoding string, xMsContentLanguage string, xMsContentMd5 string, xMsProperties string, xMsOwner string, xMsGroup string, xMsPermissions string, xMsACL string, ifMatch string, ifNoneMatch string, ifModifiedSince string, ifUnmodifiedSince string, requestBody io.ReadCloser, xMsClientRequestID string, timeout *int32, xMsDate string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PathClient.Update") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: contentLength, + Constraints: []validation.Constraint{{Target: "contentLength", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "contentLength", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}}}}}, + {TargetValue: xMsLeaseID, + Constraints: []validation.Constraint{{Target: "xMsLeaseID", Name: validation.Empty, Rule: false, + Chain: []validation.Constraint{{Target: "xMsLeaseID", Name: validation.Pattern, Rule: `^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$`, Chain: nil}}}}}, + {TargetValue: filesystem, + Constraints: []validation.Constraint{{Target: "filesystem", Name: validation.MaxLength, Rule: 63, Chain: nil}, + {Target: "filesystem", Name: validation.MinLength, Rule: 3, Chain: nil}}}, + {TargetValue: xMsClientRequestID, + Constraints: []validation.Constraint{{Target: "xMsClientRequestID", Name: validation.Empty, Rule: false, + Chain: []validation.Constraint{{Target: "xMsClientRequestID", Name: validation.Pattern, Rule: `^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$`, Chain: nil}}}}}, + {TargetValue: timeout, + Constraints: []validation.Constraint{{Target: "timeout", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "timeout", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}}}}}}); err != nil { + return result, validation.NewError("storagedatalake.PathClient", "Update", err.Error()) + } + + req, err := client.UpdatePreparer(ctx, action, filesystem, pathParameter, position, retainUncommittedData, closeParameter, contentLength, contentMD5, xMsLeaseID, xMsCacheControl, xMsContentType, xMsContentDisposition, xMsContentEncoding, xMsContentLanguage, xMsContentMd5, xMsProperties, xMsOwner, xMsGroup, xMsPermissions, xMsACL, ifMatch, ifNoneMatch, ifModifiedSince, ifUnmodifiedSince, requestBody, xMsClientRequestID, timeout, xMsDate) + if err != nil { + err = autorest.NewErrorWithError(err, "storagedatalake.PathClient", "Update", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "storagedatalake.PathClient", "Update", resp, "Failure sending request") + return + } + + result, err = client.UpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "storagedatalake.PathClient", "Update", resp, "Failure responding to request") + } + + return +} + +// UpdatePreparer prepares the Update request. +func (client PathClient) UpdatePreparer(ctx context.Context, action PathUpdateAction, filesystem string, pathParameter string, position *int64, retainUncommittedData *bool, closeParameter *bool, contentLength *int64, contentMD5 string, xMsLeaseID string, xMsCacheControl string, xMsContentType string, xMsContentDisposition string, xMsContentEncoding string, xMsContentLanguage string, xMsContentMd5 string, xMsProperties string, xMsOwner string, xMsGroup string, xMsPermissions string, xMsACL string, ifMatch string, ifNoneMatch string, ifModifiedSince string, ifUnmodifiedSince string, requestBody io.ReadCloser, xMsClientRequestID string, timeout *int32, xMsDate string) (*http.Request, error) { + urlParameters := map[string]interface{}{ + "accountName": client.AccountName, + "dnsSuffix": client.DNSSuffix, + } + + pathParameters := map[string]interface{}{ + "filesystem": autorest.Encode("path", filesystem), + "path": autorest.Encode("path", pathParameter), + } + + queryParameters := map[string]interface{}{ + "action": autorest.Encode("query", action), + } + if position != nil { + queryParameters["position"] = autorest.Encode("query", *position) + } + if retainUncommittedData != nil { + queryParameters["retainUncommittedData"] = autorest.Encode("query", *retainUncommittedData) + } + if closeParameter != nil { + queryParameters["close"] = autorest.Encode("query", *closeParameter) + } + if timeout != nil { + queryParameters["timeout"] = autorest.Encode("query", *timeout) + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/octet-stream"), + autorest.AsPatch(), + autorest.WithCustomBaseURL("https://{accountName}.{dnsSuffix}", urlParameters), + autorest.WithPathParameters("/{filesystem}/{path}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + if requestBody != nil { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithFile(requestBody)) + } + if contentLength != nil { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("Content-Length", autorest.String(*contentLength))) + } + if len(contentMD5) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("Content-MD5", autorest.String(contentMD5))) + } + if len(xMsLeaseID) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("x-ms-lease-id", autorest.String(xMsLeaseID))) + } + if len(xMsCacheControl) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("x-ms-cache-control", autorest.String(xMsCacheControl))) + } + if len(xMsContentType) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("x-ms-content-type", autorest.String(xMsContentType))) + } + if len(xMsContentDisposition) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("x-ms-content-disposition", autorest.String(xMsContentDisposition))) + } + if len(xMsContentEncoding) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("x-ms-content-encoding", autorest.String(xMsContentEncoding))) + } + if len(xMsContentLanguage) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("x-ms-content-language", autorest.String(xMsContentLanguage))) + } + if len(xMsContentMd5) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("x-ms-content-md5", autorest.String(xMsContentMd5))) + } + if len(xMsProperties) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("x-ms-properties", autorest.String(xMsProperties))) + } + if len(xMsOwner) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("x-ms-owner", autorest.String(xMsOwner))) + } + if len(xMsGroup) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("x-ms-group", autorest.String(xMsGroup))) + } + if len(xMsPermissions) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("x-ms-permissions", autorest.String(xMsPermissions))) + } + if len(xMsACL) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("x-ms-acl", autorest.String(xMsACL))) + } + if len(ifMatch) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("If-Match", autorest.String(ifMatch))) + } + if len(ifNoneMatch) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("If-None-Match", autorest.String(ifNoneMatch))) + } + if len(ifModifiedSince) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("If-Modified-Since", autorest.String(ifModifiedSince))) + } + if len(ifUnmodifiedSince) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("If-Unmodified-Since", autorest.String(ifUnmodifiedSince))) + } + if len(xMsClientRequestID) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("x-ms-client-request-id", autorest.String(xMsClientRequestID))) + } + if len(xMsDate) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("x-ms-date", autorest.String(xMsDate))) + } + if len(client.XMsVersion) > 0 { + preparer = autorest.DecoratePreparer(preparer, + autorest.WithHeader("x-ms-version", autorest.String(client.XMsVersion))) + } + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateSender sends the Update request. The method will close the +// http.Response Body if it receives an error. +func (client PathClient) UpdateSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// UpdateResponder handles the response to the Update request. The method always +// closes the http.Response Body. +func (client PathClient) UpdateResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByClosing()) + result.Response = resp + return +} diff --git a/services/storage/datalake/2019-10-31/storagedatalake/storagedatalakeapi/interfaces.go b/services/storage/datalake/2019-10-31/storagedatalake/storagedatalakeapi/interfaces.go new file mode 100644 index 000000000000..6bd8834e7051 --- /dev/null +++ b/services/storage/datalake/2019-10-31/storagedatalake/storagedatalakeapi/interfaces.go @@ -0,0 +1,49 @@ +package storagedatalakeapi + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/azure-sdk-for-go/services/storage/datalake/2019-10-31/storagedatalake" + "github.com/Azure/go-autorest/autorest" + "io" +) + +// FilesystemClientAPI contains the set of methods on the FilesystemClient type. +type FilesystemClientAPI interface { + Create(ctx context.Context, filesystem string, xMsProperties string, xMsClientRequestID string, timeout *int32, xMsDate string) (result autorest.Response, err error) + Delete(ctx context.Context, filesystem string, ifModifiedSince string, ifUnmodifiedSince string, xMsClientRequestID string, timeout *int32, xMsDate string) (result autorest.Response, err error) + GetProperties(ctx context.Context, filesystem string, xMsClientRequestID string, timeout *int32, xMsDate string) (result autorest.Response, err error) + List(ctx context.Context, prefix string, continuation string, maxResults *int32, xMsClientRequestID string, timeout *int32, xMsDate string) (result storagedatalake.FilesystemList, err error) + SetProperties(ctx context.Context, filesystem string, xMsProperties string, ifModifiedSince string, ifUnmodifiedSince string, xMsClientRequestID string, timeout *int32, xMsDate string) (result autorest.Response, err error) +} + +var _ FilesystemClientAPI = (*storagedatalake.FilesystemClient)(nil) + +// PathClientAPI contains the set of methods on the PathClient type. +type PathClientAPI interface { + Create(ctx context.Context, filesystem string, pathParameter string, resource storagedatalake.PathResourceType, continuation string, mode storagedatalake.PathRenameMode, cacheControl string, contentEncoding string, contentLanguage string, contentDisposition string, xMsCacheControl string, xMsContentType string, xMsContentEncoding string, xMsContentLanguage string, xMsContentDisposition string, xMsRenameSource string, xMsLeaseID string, xMsSourceLeaseID string, xMsProperties string, xMsPermissions string, xMsUmask string, ifMatch string, ifNoneMatch string, ifModifiedSince string, ifUnmodifiedSince string, xMsSourceIfMatch string, xMsSourceIfNoneMatch string, xMsSourceIfModifiedSince string, xMsSourceIfUnmodifiedSince string, xMsClientRequestID string, timeout *int32, xMsDate string) (result autorest.Response, err error) + Delete(ctx context.Context, filesystem string, pathParameter string, recursive *bool, continuation string, xMsLeaseID string, ifMatch string, ifNoneMatch string, ifModifiedSince string, ifUnmodifiedSince string, xMsClientRequestID string, timeout *int32, xMsDate string) (result autorest.Response, err error) + GetProperties(ctx context.Context, filesystem string, pathParameter string, action storagedatalake.PathGetPropertiesAction, upn *bool, fsAction string, xMsLeaseID string, ifMatch string, ifNoneMatch string, ifModifiedSince string, ifUnmodifiedSince string, xMsClientRequestID string, timeout *int32, xMsDate string) (result autorest.Response, err error) + Lease(ctx context.Context, xMsLeaseAction storagedatalake.PathLeaseAction, filesystem string, pathParameter string, xMsLeaseDuration *int32, xMsLeaseBreakPeriod *int32, xMsLeaseID string, xMsProposedLeaseID string, ifMatch string, ifNoneMatch string, ifModifiedSince string, ifUnmodifiedSince string, xMsClientRequestID string, timeout *int32, xMsDate string) (result autorest.Response, err error) + List(ctx context.Context, recursive bool, filesystem string, directory string, continuation string, maxResults *int32, upn *bool, xMsClientRequestID string, timeout *int32, xMsDate string) (result storagedatalake.PathList, err error) + Read(ctx context.Context, filesystem string, pathParameter string, rangeParameter string, xMsLeaseID string, xMsRangeGetContentMd5 *bool, ifMatch string, ifNoneMatch string, ifModifiedSince string, ifUnmodifiedSince string, xMsClientRequestID string, timeout *int32, xMsDate string) (result storagedatalake.ReadCloser, err error) + Update(ctx context.Context, action storagedatalake.PathUpdateAction, filesystem string, pathParameter string, position *int64, retainUncommittedData *bool, closeParameter *bool, contentLength *int64, contentMD5 string, xMsLeaseID string, xMsCacheControl string, xMsContentType string, xMsContentDisposition string, xMsContentEncoding string, xMsContentLanguage string, xMsContentMd5 string, xMsProperties string, xMsOwner string, xMsGroup string, xMsPermissions string, xMsACL string, ifMatch string, ifNoneMatch string, ifModifiedSince string, ifUnmodifiedSince string, requestBody io.ReadCloser, xMsClientRequestID string, timeout *int32, xMsDate string) (result autorest.Response, err error) +} + +var _ PathClientAPI = (*storagedatalake.PathClient)(nil) diff --git a/services/storage/datalake/2019-10-31/storagedatalake/version.go b/services/storage/datalake/2019-10-31/storagedatalake/version.go new file mode 100644 index 000000000000..78541e4015c5 --- /dev/null +++ b/services/storage/datalake/2019-10-31/storagedatalake/version.go @@ -0,0 +1,30 @@ +package storagedatalake + +import "github.com/Azure/azure-sdk-for-go/version" + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +// UserAgent returns the UserAgent string to use when sending http.Requests. +func UserAgent() string { + return "Azure-SDK-For-Go/" + version.Number + " storagedatalake/2019-10-31" +} + +// Version returns the semantic version (see http://semver.org) of the client. +func Version() string { + return version.Number +} diff --git a/services/storage/mgmt/2019-04-01/storage/accounts.go b/services/storage/mgmt/2019-04-01/storage/accounts.go index 86bb049aaec9..9b5daba19e50 100644 --- a/services/storage/mgmt/2019-04-01/storage/accounts.go +++ b/services/storage/mgmt/2019-04-01/storage/accounts.go @@ -164,6 +164,16 @@ func (client AccountsClient) Create(ctx context.Context, resourceGroupName strin {Target: "parameters.AccountPropertiesCreateParameters", Name: validation.Null, Rule: false, Chain: []validation.Constraint{{Target: "parameters.AccountPropertiesCreateParameters.CustomDomain", Name: validation.Null, Rule: false, Chain: []validation.Constraint{{Target: "parameters.AccountPropertiesCreateParameters.CustomDomain.Name", Name: validation.Null, Rule: true, Chain: nil}}}, + {Target: "parameters.AccountPropertiesCreateParameters.AzureFilesIdentityBasedAuthentication", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.AccountPropertiesCreateParameters.AzureFilesIdentityBasedAuthentication.ActiveDirectoryProperties", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "parameters.AccountPropertiesCreateParameters.AzureFilesIdentityBasedAuthentication.ActiveDirectoryProperties.DomainName", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "parameters.AccountPropertiesCreateParameters.AzureFilesIdentityBasedAuthentication.ActiveDirectoryProperties.NetBiosDomainName", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "parameters.AccountPropertiesCreateParameters.AzureFilesIdentityBasedAuthentication.ActiveDirectoryProperties.ForestName", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "parameters.AccountPropertiesCreateParameters.AzureFilesIdentityBasedAuthentication.ActiveDirectoryProperties.DomainGUID", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "parameters.AccountPropertiesCreateParameters.AzureFilesIdentityBasedAuthentication.ActiveDirectoryProperties.DomainSid", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "parameters.AccountPropertiesCreateParameters.AzureFilesIdentityBasedAuthentication.ActiveDirectoryProperties.AzureStorageSid", Name: validation.Null, Rule: true, Chain: nil}, + }}, + }}, }}}}, {TargetValue: client.SubscriptionID, Constraints: []validation.Constraint{{Target: "client.SubscriptionID", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { @@ -518,13 +528,13 @@ func (client AccountsClient) GetPropertiesResponder(resp *http.Response) (result // List lists all the storage accounts available under the subscription. Note that storage keys are not returned; use // the ListKeys operation for this. -func (client AccountsClient) List(ctx context.Context) (result AccountListResult, err error) { +func (client AccountsClient) List(ctx context.Context) (result AccountListResultPage, err error) { if tracing.IsEnabled() { ctx = tracing.StartSpan(ctx, fqdn+"/AccountsClient.List") defer func() { sc := -1 - if result.Response.Response != nil { - sc = result.Response.Response.StatusCode + if result.alr.Response.Response != nil { + sc = result.alr.Response.Response.StatusCode } tracing.EndSpan(ctx, sc, err) }() @@ -535,6 +545,7 @@ func (client AccountsClient) List(ctx context.Context) (result AccountListResult return result, validation.NewError("storage.AccountsClient", "List", err.Error()) } + result.fn = client.listNextResults req, err := client.ListPreparer(ctx) if err != nil { err = autorest.NewErrorWithError(err, "storage.AccountsClient", "List", nil, "Failure preparing request") @@ -543,12 +554,12 @@ func (client AccountsClient) List(ctx context.Context) (result AccountListResult resp, err := client.ListSender(req) if err != nil { - result.Response = autorest.Response{Response: resp} + result.alr.Response = autorest.Response{Response: resp} err = autorest.NewErrorWithError(err, "storage.AccountsClient", "List", resp, "Failure sending request") return } - result, err = client.ListResponder(resp) + result.alr, err = client.ListResponder(resp) if err != nil { err = autorest.NewErrorWithError(err, "storage.AccountsClient", "List", resp, "Failure responding to request") } @@ -595,6 +606,43 @@ func (client AccountsClient) ListResponder(resp *http.Response) (result AccountL return } +// listNextResults retrieves the next set of results, if any. +func (client AccountsClient) listNextResults(ctx context.Context, lastResults AccountListResult) (result AccountListResult, err error) { + req, err := lastResults.accountListResultPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "storage.AccountsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "storage.AccountsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "storage.AccountsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client AccountsClient) ListComplete(ctx context.Context) (result AccountListResultIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AccountsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx) + return +} + // ListAccountSAS list SAS credentials of a storage account. // Parameters: // resourceGroupName - the name of the resource group within the user's subscription. The name is case @@ -779,13 +827,14 @@ func (client AccountsClient) ListByResourceGroupResponder(resp *http.Response) ( return } -// ListKeys lists the access keys for the specified storage account. +// ListKeys lists the access keys or Kerberos keys (if active directory enabled) for the specified storage account. // Parameters: // resourceGroupName - the name of the resource group within the user's subscription. The name is case // insensitive. // accountName - the name of the storage account within the specified resource group. Storage account names // must be between 3 and 24 characters in length and use numbers and lower-case letters only. -func (client AccountsClient) ListKeys(ctx context.Context, resourceGroupName string, accountName string) (result AccountListKeysResult, err error) { +// expand - specifies type of the key to be listed. Possible value is kerb. +func (client AccountsClient) ListKeys(ctx context.Context, resourceGroupName string, accountName string, expand ListKeyExpand) (result AccountListKeysResult, err error) { if tracing.IsEnabled() { ctx = tracing.StartSpan(ctx, fqdn+"/AccountsClient.ListKeys") defer func() { @@ -809,7 +858,7 @@ func (client AccountsClient) ListKeys(ctx context.Context, resourceGroupName str return result, validation.NewError("storage.AccountsClient", "ListKeys", err.Error()) } - req, err := client.ListKeysPreparer(ctx, resourceGroupName, accountName) + req, err := client.ListKeysPreparer(ctx, resourceGroupName, accountName, expand) if err != nil { err = autorest.NewErrorWithError(err, "storage.AccountsClient", "ListKeys", nil, "Failure preparing request") return @@ -831,7 +880,7 @@ func (client AccountsClient) ListKeys(ctx context.Context, resourceGroupName str } // ListKeysPreparer prepares the ListKeys request. -func (client AccountsClient) ListKeysPreparer(ctx context.Context, resourceGroupName string, accountName string) (*http.Request, error) { +func (client AccountsClient) ListKeysPreparer(ctx context.Context, resourceGroupName string, accountName string, expand ListKeyExpand) (*http.Request, error) { pathParameters := map[string]interface{}{ "accountName": autorest.Encode("path", accountName), "resourceGroupName": autorest.Encode("path", resourceGroupName), @@ -842,6 +891,9 @@ func (client AccountsClient) ListKeysPreparer(ctx context.Context, resourceGroup queryParameters := map[string]interface{}{ "api-version": APIVersion, } + if len(string(expand)) > 0 { + queryParameters["$expand"] = autorest.Encode("query", expand) + } preparer := autorest.CreatePreparer( autorest.AsPost(), @@ -970,13 +1022,13 @@ func (client AccountsClient) ListServiceSASResponder(resp *http.Response) (resul return } -// RegenerateKey regenerates one of the access keys for the specified storage account. +// RegenerateKey regenerates one of the access keys or Kerberos keys for the specified storage account. // Parameters: // resourceGroupName - the name of the resource group within the user's subscription. The name is case // insensitive. // accountName - the name of the storage account within the specified resource group. Storage account names // must be between 3 and 24 characters in length and use numbers and lower-case letters only. -// regenerateKey - specifies name of the key which should be regenerated -- key1 or key2. +// regenerateKey - specifies name of the key which should be regenerated -- key1, key2, kerb1, kerb2. func (client AccountsClient) RegenerateKey(ctx context.Context, resourceGroupName string, accountName string, regenerateKey AccountRegenerateKeyParameters) (result AccountListKeysResult, err error) { if tracing.IsEnabled() { ctx = tracing.StartSpan(ctx, fqdn+"/AccountsClient.RegenerateKey") diff --git a/services/storage/mgmt/2019-04-01/storage/fileservices.go b/services/storage/mgmt/2019-04-01/storage/fileservices.go index 8ad8f8183d90..8de550d6af1b 100644 --- a/services/storage/mgmt/2019-04-01/storage/fileservices.go +++ b/services/storage/mgmt/2019-04-01/storage/fileservices.go @@ -227,7 +227,7 @@ func (client FileServicesClient) ListResponder(resp *http.Response) (result File return } -// PutServiceProperties sets the properties of file services in storage accounts, including CORS (Cross-Origin Resource +// SetServiceProperties sets the properties of file services in storage accounts, including CORS (Cross-Origin Resource // Sharing) rules. // Parameters: // resourceGroupName - the name of the resource group within the user's subscription. The name is case @@ -236,9 +236,9 @@ func (client FileServicesClient) ListResponder(resp *http.Response) (result File // must be between 3 and 24 characters in length and use numbers and lower-case letters only. // parameters - the properties of file services in storage accounts, including CORS (Cross-Origin Resource // Sharing) rules. -func (client FileServicesClient) PutServiceProperties(ctx context.Context, resourceGroupName string, accountName string, parameters FileServiceProperties) (result FileServiceProperties, err error) { +func (client FileServicesClient) SetServiceProperties(ctx context.Context, resourceGroupName string, accountName string, parameters FileServiceProperties) (result FileServiceProperties, err error) { if tracing.IsEnabled() { - ctx = tracing.StartSpan(ctx, fqdn+"/FileServicesClient.PutServiceProperties") + ctx = tracing.StartSpan(ctx, fqdn+"/FileServicesClient.SetServiceProperties") defer func() { sc := -1 if result.Response.Response != nil { @@ -257,32 +257,32 @@ func (client FileServicesClient) PutServiceProperties(ctx context.Context, resou {Target: "accountName", Name: validation.MinLength, Rule: 3, Chain: nil}}}, {TargetValue: client.SubscriptionID, Constraints: []validation.Constraint{{Target: "client.SubscriptionID", Name: validation.MinLength, Rule: 1, Chain: nil}}}}); err != nil { - return result, validation.NewError("storage.FileServicesClient", "PutServiceProperties", err.Error()) + return result, validation.NewError("storage.FileServicesClient", "SetServiceProperties", err.Error()) } - req, err := client.PutServicePropertiesPreparer(ctx, resourceGroupName, accountName, parameters) + req, err := client.SetServicePropertiesPreparer(ctx, resourceGroupName, accountName, parameters) if err != nil { - err = autorest.NewErrorWithError(err, "storage.FileServicesClient", "PutServiceProperties", nil, "Failure preparing request") + err = autorest.NewErrorWithError(err, "storage.FileServicesClient", "SetServiceProperties", nil, "Failure preparing request") return } - resp, err := client.PutServicePropertiesSender(req) + resp, err := client.SetServicePropertiesSender(req) if err != nil { result.Response = autorest.Response{Response: resp} - err = autorest.NewErrorWithError(err, "storage.FileServicesClient", "PutServiceProperties", resp, "Failure sending request") + err = autorest.NewErrorWithError(err, "storage.FileServicesClient", "SetServiceProperties", resp, "Failure sending request") return } - result, err = client.PutServicePropertiesResponder(resp) + result, err = client.SetServicePropertiesResponder(resp) if err != nil { - err = autorest.NewErrorWithError(err, "storage.FileServicesClient", "PutServiceProperties", resp, "Failure responding to request") + err = autorest.NewErrorWithError(err, "storage.FileServicesClient", "SetServiceProperties", resp, "Failure responding to request") } return } -// PutServicePropertiesPreparer prepares the PutServiceProperties request. -func (client FileServicesClient) PutServicePropertiesPreparer(ctx context.Context, resourceGroupName string, accountName string, parameters FileServiceProperties) (*http.Request, error) { +// SetServicePropertiesPreparer prepares the SetServiceProperties request. +func (client FileServicesClient) SetServicePropertiesPreparer(ctx context.Context, resourceGroupName string, accountName string, parameters FileServiceProperties) (*http.Request, error) { pathParameters := map[string]interface{}{ "accountName": autorest.Encode("path", accountName), "FileServicesName": autorest.Encode("path", "default"), @@ -305,16 +305,16 @@ func (client FileServicesClient) PutServicePropertiesPreparer(ctx context.Contex return preparer.Prepare((&http.Request{}).WithContext(ctx)) } -// PutServicePropertiesSender sends the PutServiceProperties request. The method will close the +// SetServicePropertiesSender sends the SetServiceProperties request. The method will close the // http.Response Body if it receives an error. -func (client FileServicesClient) PutServicePropertiesSender(req *http.Request) (*http.Response, error) { +func (client FileServicesClient) SetServicePropertiesSender(req *http.Request) (*http.Response, error) { sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) return autorest.SendWithSender(client, req, sd...) } -// PutServicePropertiesResponder handles the response to the PutServiceProperties request. The method always +// SetServicePropertiesResponder handles the response to the SetServiceProperties request. The method always // closes the http.Response Body. -func (client FileServicesClient) PutServicePropertiesResponder(resp *http.Response) (result FileServiceProperties, err error) { +func (client FileServicesClient) SetServicePropertiesResponder(resp *http.Response) (result FileServiceProperties, err error) { err = autorest.Respond( resp, client.ByInspecting(), diff --git a/services/storage/mgmt/2019-04-01/storage/fileshares.go b/services/storage/mgmt/2019-04-01/storage/fileshares.go index 5aa6888723e2..560e3a1033af 100644 --- a/services/storage/mgmt/2019-04-01/storage/fileshares.go +++ b/services/storage/mgmt/2019-04-01/storage/fileshares.go @@ -357,13 +357,13 @@ func (client FileSharesClient) GetResponder(resp *http.Response) (result FileSha // skipToken - optional. Continuation token for the list operation. // maxpagesize - optional. Specified maximum number of shares that can be included in the list. // filter - optional. When specified, only share names starting with the filter will be listed. -func (client FileSharesClient) List(ctx context.Context, resourceGroupName string, accountName string, skipToken string, maxpagesize string, filter string) (result FileShareItems, err error) { +func (client FileSharesClient) List(ctx context.Context, resourceGroupName string, accountName string, skipToken string, maxpagesize string, filter string) (result FileShareItemsPage, err error) { if tracing.IsEnabled() { ctx = tracing.StartSpan(ctx, fqdn+"/FileSharesClient.List") defer func() { sc := -1 - if result.Response.Response != nil { - sc = result.Response.Response.StatusCode + if result.fsi.Response.Response != nil { + sc = result.fsi.Response.Response.StatusCode } tracing.EndSpan(ctx, sc, err) }() @@ -381,6 +381,7 @@ func (client FileSharesClient) List(ctx context.Context, resourceGroupName strin return result, validation.NewError("storage.FileSharesClient", "List", err.Error()) } + result.fn = client.listNextResults req, err := client.ListPreparer(ctx, resourceGroupName, accountName, skipToken, maxpagesize, filter) if err != nil { err = autorest.NewErrorWithError(err, "storage.FileSharesClient", "List", nil, "Failure preparing request") @@ -389,12 +390,12 @@ func (client FileSharesClient) List(ctx context.Context, resourceGroupName strin resp, err := client.ListSender(req) if err != nil { - result.Response = autorest.Response{Response: resp} + result.fsi.Response = autorest.Response{Response: resp} err = autorest.NewErrorWithError(err, "storage.FileSharesClient", "List", resp, "Failure sending request") return } - result, err = client.ListResponder(resp) + result.fsi, err = client.ListResponder(resp) if err != nil { err = autorest.NewErrorWithError(err, "storage.FileSharesClient", "List", resp, "Failure responding to request") } @@ -452,6 +453,43 @@ func (client FileSharesClient) ListResponder(resp *http.Response) (result FileSh return } +// listNextResults retrieves the next set of results, if any. +func (client FileSharesClient) listNextResults(ctx context.Context, lastResults FileShareItems) (result FileShareItems, err error) { + req, err := lastResults.fileShareItemsPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "storage.FileSharesClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "storage.FileSharesClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "storage.FileSharesClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client FileSharesClient) ListComplete(ctx context.Context, resourceGroupName string, accountName string, skipToken string, maxpagesize string, filter string) (result FileShareItemsIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/FileSharesClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, resourceGroupName, accountName, skipToken, maxpagesize, filter) + return +} + // Update updates share properties as specified in request body. Properties not mentioned in the request will not be // changed. Update fails if the specified share does not already exist. // Parameters: diff --git a/services/storage/mgmt/2019-04-01/storage/models.go b/services/storage/mgmt/2019-04-01/storage/models.go index 5ca22462cf39..b6326d0faba7 100644 --- a/services/storage/mgmt/2019-04-01/storage/models.go +++ b/services/storage/mgmt/2019-04-01/storage/models.go @@ -148,13 +148,15 @@ type DirectoryServiceOptions string const ( // DirectoryServiceOptionsAADDS ... DirectoryServiceOptionsAADDS DirectoryServiceOptions = "AADDS" + // DirectoryServiceOptionsAD ... + DirectoryServiceOptionsAD DirectoryServiceOptions = "AD" // DirectoryServiceOptionsNone ... DirectoryServiceOptionsNone DirectoryServiceOptions = "None" ) // PossibleDirectoryServiceOptionsValues returns an array of possible values for the DirectoryServiceOptions const type. func PossibleDirectoryServiceOptionsValues() []DirectoryServiceOptions { - return []DirectoryServiceOptions{DirectoryServiceOptionsAADDS, DirectoryServiceOptionsNone} + return []DirectoryServiceOptions{DirectoryServiceOptionsAADDS, DirectoryServiceOptionsAD, DirectoryServiceOptionsNone} } // GeoReplicationStatus enumerates the values for geo replication status. @@ -272,6 +274,21 @@ func PossibleKindValues() []Kind { return []Kind{BlobStorage, BlockBlobStorage, FileStorage, Storage, StorageV2} } +// LargeFileSharesState enumerates the values for large file shares state. +type LargeFileSharesState string + +const ( + // Disabled ... + Disabled LargeFileSharesState = "Disabled" + // Enabled ... + Enabled LargeFileSharesState = "Enabled" +) + +// PossibleLargeFileSharesStateValues returns an array of possible values for the LargeFileSharesState const type. +func PossibleLargeFileSharesStateValues() []LargeFileSharesState { + return []LargeFileSharesState{Disabled, Enabled} +} + // LeaseDuration enumerates the values for lease duration. type LeaseDuration string @@ -323,6 +340,19 @@ func PossibleLeaseStatusValues() []LeaseStatus { return []LeaseStatus{LeaseStatusLocked, LeaseStatusUnlocked} } +// ListKeyExpand enumerates the values for list key expand. +type ListKeyExpand string + +const ( + // Kerb ... + Kerb ListKeyExpand = "kerb" +) + +// PossibleListKeyExpandValues returns an array of possible values for the ListKeyExpand const type. +func PossibleListKeyExpandValues() []ListKeyExpand { + return []ListKeyExpand{Kerb} +} + // Permissions enumerates the values for permissions. type Permissions string @@ -832,6 +862,145 @@ type AccountListResult struct { autorest.Response `json:"-"` // Value - READ-ONLY; Gets the list of storage accounts and their properties. Value *[]Account `json:"value,omitempty"` + // NextLink - READ-ONLY; Request URL that can be used to query next page of storage accounts. Returned when total number of requested storage accounts exceed maximum page size. + NextLink *string `json:"nextLink,omitempty"` +} + +// AccountListResultIterator provides access to a complete listing of Account values. +type AccountListResultIterator struct { + i int + page AccountListResultPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *AccountListResultIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AccountListResultIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *AccountListResultIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter AccountListResultIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter AccountListResultIterator) Response() AccountListResult { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter AccountListResultIterator) Value() Account { + if !iter.page.NotDone() { + return Account{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the AccountListResultIterator type. +func NewAccountListResultIterator(page AccountListResultPage) AccountListResultIterator { + return AccountListResultIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (alr AccountListResult) IsEmpty() bool { + return alr.Value == nil || len(*alr.Value) == 0 +} + +// accountListResultPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (alr AccountListResult) accountListResultPreparer(ctx context.Context) (*http.Request, error) { + if alr.NextLink == nil || len(to.String(alr.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(alr.NextLink))) +} + +// AccountListResultPage contains a page of Account values. +type AccountListResultPage struct { + fn func(context.Context, AccountListResult) (AccountListResult, error) + alr AccountListResult +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *AccountListResultPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AccountListResultPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.alr) + if err != nil { + return err + } + page.alr = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *AccountListResultPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page AccountListResultPage) NotDone() bool { + return !page.alr.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page AccountListResultPage) Response() AccountListResult { + return page.alr +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page AccountListResultPage) Values() []Account { + if page.alr.IsEmpty() { + return nil + } + return *page.alr.Value +} + +// Creates a new instance of the AccountListResultPage type. +func NewAccountListResultPage(getNextPage func(context.Context, AccountListResult) (AccountListResult, error)) AccountListResultPage { + return AccountListResultPage{fn: getNextPage} } // AccountProperties properties of the storage account. @@ -872,6 +1041,8 @@ type AccountProperties struct { GeoReplicationStats *GeoReplicationStats `json:"geoReplicationStats,omitempty"` // FailoverInProgress - READ-ONLY; If the failover is in progress, the value will be true, otherwise, it will be null. FailoverInProgress *bool `json:"failoverInProgress,omitempty"` + // LargeFileSharesState - Allow large file shares if sets to Enabled. It cannot be disabled once it is enabled. Possible values include: 'Disabled', 'Enabled' + LargeFileSharesState LargeFileSharesState `json:"largeFileSharesState,omitempty"` } // AccountPropertiesCreateParameters the parameters used to create the storage account. @@ -890,6 +1061,8 @@ type AccountPropertiesCreateParameters struct { EnableHTTPSTrafficOnly *bool `json:"supportsHttpsTrafficOnly,omitempty"` // IsHnsEnabled - Account HierarchicalNamespace enabled if sets to true. IsHnsEnabled *bool `json:"isHnsEnabled,omitempty"` + // LargeFileSharesState - Allow large file shares if sets to Enabled. It cannot be disabled once it is enabled. Possible values include: 'Disabled', 'Enabled' + LargeFileSharesState LargeFileSharesState `json:"largeFileSharesState,omitempty"` } // AccountPropertiesUpdateParameters the parameters used when updating a storage account. @@ -906,11 +1079,13 @@ type AccountPropertiesUpdateParameters struct { EnableHTTPSTrafficOnly *bool `json:"supportsHttpsTrafficOnly,omitempty"` // NetworkRuleSet - Network rule set NetworkRuleSet *NetworkRuleSet `json:"networkAcls,omitempty"` + // LargeFileSharesState - Allow large file shares if sets to Enabled. It cannot be disabled once it is enabled. Possible values include: 'Disabled', 'Enabled' + LargeFileSharesState LargeFileSharesState `json:"largeFileSharesState,omitempty"` } // AccountRegenerateKeyParameters the parameters used to regenerate the storage account key. type AccountRegenerateKeyParameters struct { - // KeyName - The name of storage keys that want to be regenerated, possible values are key1, key2. + // KeyName - The name of storage keys that want to be regenerated, possible values are key1, key2, kerb1, kerb2. KeyName *string `json:"keyName,omitempty"` } @@ -1082,6 +1257,22 @@ func (aup *AccountUpdateParameters) UnmarshalJSON(body []byte) error { return nil } +// ActiveDirectoryProperties settings properties for Active Directory (AD). +type ActiveDirectoryProperties struct { + // DomainName - Specifies the primary domain that the AD DNS server is authoritative for. + DomainName *string `json:"domainName,omitempty"` + // NetBiosDomainName - Specifies the NetBIOS domain name. + NetBiosDomainName *string `json:"netBiosDomainName,omitempty"` + // ForestName - Specifies the Active Directory forest to get. + ForestName *string `json:"forestName,omitempty"` + // DomainGUID - Specifies the domain GUID. + DomainGUID *string `json:"domainGuid,omitempty"` + // DomainSid - Specifies the security identifier (SID). + DomainSid *string `json:"domainSid,omitempty"` + // AzureStorageSid - Specifies the security identifier (SID) for Azure Storage. + AzureStorageSid *string `json:"azureStorageSid,omitempty"` +} + // AzureEntityResource the resource model definition for a Azure Resource Manager resource with an etag. type AzureEntityResource struct { // Etag - READ-ONLY; Resource Etag. @@ -1096,8 +1287,10 @@ type AzureEntityResource struct { // AzureFilesIdentityBasedAuthentication settings for Azure Files identity based authentication. type AzureFilesIdentityBasedAuthentication struct { - // DirectoryServiceOptions - Indicates the directory service used. Possible values include: 'DirectoryServiceOptionsNone', 'DirectoryServiceOptionsAADDS' + // DirectoryServiceOptions - Indicates the directory service used. Possible values include: 'DirectoryServiceOptionsNone', 'DirectoryServiceOptionsAADDS', 'DirectoryServiceOptionsAD' DirectoryServiceOptions DirectoryServiceOptions `json:"directoryServiceOptions,omitempty"` + // ActiveDirectoryProperties - Required if choose AD. + ActiveDirectoryProperties *ActiveDirectoryProperties `json:"activeDirectoryProperties,omitempty"` } // BlobContainer properties of the blob container, including Id, resource name, resource type, Etag. @@ -1274,6 +1467,14 @@ type BlobServicePropertiesProperties struct { DeleteRetentionPolicy *DeleteRetentionPolicy `json:"deleteRetentionPolicy,omitempty"` // AutomaticSnapshotPolicyEnabled - Automatic Snapshot is enabled if set to true. AutomaticSnapshotPolicyEnabled *bool `json:"automaticSnapshotPolicyEnabled,omitempty"` + // ChangeFeed - The blob service properties for change feed events. + ChangeFeed *ChangeFeed `json:"changeFeed,omitempty"` +} + +// ChangeFeed the blob service properties for change feed events. +type ChangeFeed struct { + // Enabled - Indicates whether change feed event logging is enabled for the Blob service. + Enabled *bool `json:"enabled,omitempty"` } // CheckNameAvailabilityResult the CheckNameAvailability operation response. @@ -1287,6 +1488,23 @@ type CheckNameAvailabilityResult struct { Message *string `json:"message,omitempty"` } +// CloudError an error response from the Storage service. +type CloudError struct { + Error *CloudErrorBody `json:"error,omitempty"` +} + +// CloudErrorBody an error response from the Storage service. +type CloudErrorBody struct { + // Code - An identifier for the error. Codes are invariant and are intended to be consumed programmatically. + Code *string `json:"code,omitempty"` + // Message - A message describing the error, intended to be suitable for display in a user interface. + Message *string `json:"message,omitempty"` + // Target - The target of the particular error. For example, the name of the property in error. + Target *string `json:"target,omitempty"` + // Details - A list of additional details about the error. + Details *[]CloudErrorBody `json:"details,omitempty"` +} + // ContainerProperties the properties of a container. type ContainerProperties struct { // PublicAccess - Specifies whether data in the container may be accessed publicly and the level of access. Possible values include: 'PublicAccessContainer', 'PublicAccessBlob', 'PublicAccessNone' @@ -1426,23 +1644,6 @@ type Endpoints struct { Dfs *string `json:"dfs,omitempty"` } -// ErrorResponse an error response from the Storage service. -type ErrorResponse struct { - Error *ErrorResponseBody `json:"error,omitempty"` -} - -// ErrorResponseBody an error response from the Storage service. -type ErrorResponseBody struct { - // Code - An identifier for the error. Codes are invariant and are intended to be consumed programmatically. - Code *string `json:"code,omitempty"` - // Message - A message describing the error, intended to be suitable for display in a user interface. - Message *string `json:"message,omitempty"` - // Target - The target of the particular error. For example, the name of the property in error. - Target *string `json:"target,omitempty"` - // Details - A list of additional details about the error. - Details *[]ErrorResponseBody `json:"details,omitempty"` -} - // FileServiceItems ... type FileServiceItems struct { autorest.Response `json:"-"` @@ -1706,6 +1907,143 @@ type FileShareItems struct { NextLink *string `json:"nextLink,omitempty"` } +// FileShareItemsIterator provides access to a complete listing of FileShareItem values. +type FileShareItemsIterator struct { + i int + page FileShareItemsPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *FileShareItemsIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/FileShareItemsIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *FileShareItemsIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter FileShareItemsIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter FileShareItemsIterator) Response() FileShareItems { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter FileShareItemsIterator) Value() FileShareItem { + if !iter.page.NotDone() { + return FileShareItem{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the FileShareItemsIterator type. +func NewFileShareItemsIterator(page FileShareItemsPage) FileShareItemsIterator { + return FileShareItemsIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (fsi FileShareItems) IsEmpty() bool { + return fsi.Value == nil || len(*fsi.Value) == 0 +} + +// fileShareItemsPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (fsi FileShareItems) fileShareItemsPreparer(ctx context.Context) (*http.Request, error) { + if fsi.NextLink == nil || len(to.String(fsi.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(fsi.NextLink))) +} + +// FileShareItemsPage contains a page of FileShareItem values. +type FileShareItemsPage struct { + fn func(context.Context, FileShareItems) (FileShareItems, error) + fsi FileShareItems +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *FileShareItemsPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/FileShareItemsPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.fsi) + if err != nil { + return err + } + page.fsi = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *FileShareItemsPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page FileShareItemsPage) NotDone() bool { + return !page.fsi.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page FileShareItemsPage) Response() FileShareItems { + return page.fsi +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page FileShareItemsPage) Values() []FileShareItem { + if page.fsi.IsEmpty() { + return nil + } + return *page.fsi.Value +} + +// Creates a new instance of the FileShareItemsPage type. +func NewFileShareItemsPage(getNextPage func(context.Context, FileShareItems) (FileShareItems, error)) FileShareItemsPage { + return FileShareItemsPage{fn: getNextPage} +} + // FileShareProperties the properties of the file share. type FileShareProperties struct { // LastModifiedTime - READ-ONLY; Returns the date and time the share was last modified. diff --git a/services/storage/mgmt/2019-04-01/storage/storageapi/interfaces.go b/services/storage/mgmt/2019-04-01/storage/storageapi/interfaces.go index cda4ea943119..1e83ebd6eb83 100644 --- a/services/storage/mgmt/2019-04-01/storage/storageapi/interfaces.go +++ b/services/storage/mgmt/2019-04-01/storage/storageapi/interfaces.go @@ -44,10 +44,10 @@ type AccountsClientAPI interface { Delete(ctx context.Context, resourceGroupName string, accountName string) (result autorest.Response, err error) Failover(ctx context.Context, resourceGroupName string, accountName string) (result storage.AccountsFailoverFuture, err error) GetProperties(ctx context.Context, resourceGroupName string, accountName string, expand storage.AccountExpand) (result storage.Account, err error) - List(ctx context.Context) (result storage.AccountListResult, err error) + List(ctx context.Context) (result storage.AccountListResultPage, err error) ListAccountSAS(ctx context.Context, resourceGroupName string, accountName string, parameters storage.AccountSasParameters) (result storage.ListAccountSasResponse, err error) ListByResourceGroup(ctx context.Context, resourceGroupName string) (result storage.AccountListResult, err error) - ListKeys(ctx context.Context, resourceGroupName string, accountName string) (result storage.AccountListKeysResult, err error) + ListKeys(ctx context.Context, resourceGroupName string, accountName string, expand storage.ListKeyExpand) (result storage.AccountListKeysResult, err error) ListServiceSAS(ctx context.Context, resourceGroupName string, accountName string, parameters storage.ServiceSasParameters) (result storage.ListServiceSasResponse, err error) RegenerateKey(ctx context.Context, resourceGroupName string, accountName string, regenerateKey storage.AccountRegenerateKeyParameters) (result storage.AccountListKeysResult, err error) RevokeUserDelegationKeys(ctx context.Context, resourceGroupName string, accountName string) (result autorest.Response, err error) @@ -104,7 +104,7 @@ var _ BlobContainersClientAPI = (*storage.BlobContainersClient)(nil) type FileServicesClientAPI interface { GetServiceProperties(ctx context.Context, resourceGroupName string, accountName string) (result storage.FileServiceProperties, err error) List(ctx context.Context, resourceGroupName string, accountName string) (result storage.FileServiceItems, err error) - PutServiceProperties(ctx context.Context, resourceGroupName string, accountName string, parameters storage.FileServiceProperties) (result storage.FileServiceProperties, err error) + SetServiceProperties(ctx context.Context, resourceGroupName string, accountName string, parameters storage.FileServiceProperties) (result storage.FileServiceProperties, err error) } var _ FileServicesClientAPI = (*storage.FileServicesClient)(nil) @@ -114,7 +114,7 @@ type FileSharesClientAPI interface { Create(ctx context.Context, resourceGroupName string, accountName string, shareName string, fileShare storage.FileShare) (result storage.FileShare, err error) Delete(ctx context.Context, resourceGroupName string, accountName string, shareName string) (result autorest.Response, err error) Get(ctx context.Context, resourceGroupName string, accountName string, shareName string) (result storage.FileShare, err error) - List(ctx context.Context, resourceGroupName string, accountName string, skipToken string, maxpagesize string, filter string) (result storage.FileShareItems, err error) + List(ctx context.Context, resourceGroupName string, accountName string, skipToken string, maxpagesize string, filter string) (result storage.FileShareItemsPage, err error) Update(ctx context.Context, resourceGroupName string, accountName string, shareName string, fileShare storage.FileShare) (result storage.FileShare, err error) } diff --git a/services/web/mgmt/2016-09-01/web/diagnostics.go b/services/web/mgmt/2016-09-01/web/diagnostics.go index 891768c64c57..7ed6bf327b17 100644 --- a/services/web/mgmt/2016-09-01/web/diagnostics.go +++ b/services/web/mgmt/2016-09-01/web/diagnostics.go @@ -68,7 +68,8 @@ func (client DiagnosticsClient) ExecuteSiteAnalysis(ctx context.Context, resourc {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}, {TargetValue: timeGrain, - Constraints: []validation.Constraint{{Target: "timeGrain", Name: validation.Pattern, Rule: `PT[1-9][0-9]+[SMH]`, Chain: nil}}}}); err != nil { + Constraints: []validation.Constraint{{Target: "timeGrain", Name: validation.Empty, Rule: false, + Chain: []validation.Constraint{{Target: "timeGrain", Name: validation.Pattern, Rule: `PT[1-9][0-9]+[SMH]`, Chain: nil}}}}}}); err != nil { return result, validation.NewError("web.DiagnosticsClient", "ExecuteSiteAnalysis", err.Error()) } @@ -172,7 +173,8 @@ func (client DiagnosticsClient) ExecuteSiteAnalysisSlot(ctx context.Context, res {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}, {TargetValue: timeGrain, - Constraints: []validation.Constraint{{Target: "timeGrain", Name: validation.Pattern, Rule: `PT[1-9][0-9]+[SMH]`, Chain: nil}}}}); err != nil { + Constraints: []validation.Constraint{{Target: "timeGrain", Name: validation.Empty, Rule: false, + Chain: []validation.Constraint{{Target: "timeGrain", Name: validation.Pattern, Rule: `PT[1-9][0-9]+[SMH]`, Chain: nil}}}}}}); err != nil { return result, validation.NewError("web.DiagnosticsClient", "ExecuteSiteAnalysisSlot", err.Error()) } @@ -276,7 +278,8 @@ func (client DiagnosticsClient) ExecuteSiteDetector(ctx context.Context, resourc {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}, {TargetValue: timeGrain, - Constraints: []validation.Constraint{{Target: "timeGrain", Name: validation.Pattern, Rule: `PT[1-9][0-9]+[SMH]`, Chain: nil}}}}); err != nil { + Constraints: []validation.Constraint{{Target: "timeGrain", Name: validation.Empty, Rule: false, + Chain: []validation.Constraint{{Target: "timeGrain", Name: validation.Pattern, Rule: `PT[1-9][0-9]+[SMH]`, Chain: nil}}}}}}); err != nil { return result, validation.NewError("web.DiagnosticsClient", "ExecuteSiteDetector", err.Error()) } @@ -380,7 +383,8 @@ func (client DiagnosticsClient) ExecuteSiteDetectorSlot(ctx context.Context, res {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}, {TargetValue: timeGrain, - Constraints: []validation.Constraint{{Target: "timeGrain", Name: validation.Pattern, Rule: `PT[1-9][0-9]+[SMH]`, Chain: nil}}}}); err != nil { + Constraints: []validation.Constraint{{Target: "timeGrain", Name: validation.Empty, Rule: false, + Chain: []validation.Constraint{{Target: "timeGrain", Name: validation.Pattern, Rule: `PT[1-9][0-9]+[SMH]`, Chain: nil}}}}}}); err != nil { return result, validation.NewError("web.DiagnosticsClient", "ExecuteSiteDetectorSlot", err.Error()) } @@ -483,7 +487,8 @@ func (client DiagnosticsClient) GetHostingEnvironmentDetectorResponse(ctx contex {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}, {TargetValue: timeGrain, - Constraints: []validation.Constraint{{Target: "timeGrain", Name: validation.Pattern, Rule: `PT[1-9][0-9]+[SMH]`, Chain: nil}}}}); err != nil { + Constraints: []validation.Constraint{{Target: "timeGrain", Name: validation.Empty, Rule: false, + Chain: []validation.Constraint{{Target: "timeGrain", Name: validation.Pattern, Rule: `PT[1-9][0-9]+[SMH]`, Chain: nil}}}}}}); err != nil { return result, validation.NewError("web.DiagnosticsClient", "GetHostingEnvironmentDetectorResponse", err.Error()) } @@ -891,7 +896,8 @@ func (client DiagnosticsClient) GetSiteDetectorResponse(ctx context.Context, res {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}, {TargetValue: timeGrain, - Constraints: []validation.Constraint{{Target: "timeGrain", Name: validation.Pattern, Rule: `PT[1-9][0-9]+[SMH]`, Chain: nil}}}}); err != nil { + Constraints: []validation.Constraint{{Target: "timeGrain", Name: validation.Empty, Rule: false, + Chain: []validation.Constraint{{Target: "timeGrain", Name: validation.Pattern, Rule: `PT[1-9][0-9]+[SMH]`, Chain: nil}}}}}}); err != nil { return result, validation.NewError("web.DiagnosticsClient", "GetSiteDetectorResponse", err.Error()) } @@ -993,7 +999,8 @@ func (client DiagnosticsClient) GetSiteDetectorResponseSlot(ctx context.Context, {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}, {TargetValue: timeGrain, - Constraints: []validation.Constraint{{Target: "timeGrain", Name: validation.Pattern, Rule: `PT[1-9][0-9]+[SMH]`, Chain: nil}}}}); err != nil { + Constraints: []validation.Constraint{{Target: "timeGrain", Name: validation.Empty, Rule: false, + Chain: []validation.Constraint{{Target: "timeGrain", Name: validation.Pattern, Rule: `PT[1-9][0-9]+[SMH]`, Chain: nil}}}}}}); err != nil { return result, validation.NewError("web.DiagnosticsClient", "GetSiteDetectorResponseSlot", err.Error()) } diff --git a/services/web/mgmt/2018-02-01/web/diagnostics.go b/services/web/mgmt/2018-02-01/web/diagnostics.go index 9a0ca4f2f181..b6c4d90884b1 100644 --- a/services/web/mgmt/2018-02-01/web/diagnostics.go +++ b/services/web/mgmt/2018-02-01/web/diagnostics.go @@ -68,7 +68,8 @@ func (client DiagnosticsClient) ExecuteSiteAnalysis(ctx context.Context, resourc {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}, {TargetValue: timeGrain, - Constraints: []validation.Constraint{{Target: "timeGrain", Name: validation.Pattern, Rule: `PT[1-9][0-9]+[SMH]`, Chain: nil}}}}); err != nil { + Constraints: []validation.Constraint{{Target: "timeGrain", Name: validation.Empty, Rule: false, + Chain: []validation.Constraint{{Target: "timeGrain", Name: validation.Pattern, Rule: `PT[1-9][0-9]+[SMH]`, Chain: nil}}}}}}); err != nil { return result, validation.NewError("web.DiagnosticsClient", "ExecuteSiteAnalysis", err.Error()) } @@ -172,7 +173,8 @@ func (client DiagnosticsClient) ExecuteSiteAnalysisSlot(ctx context.Context, res {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}, {TargetValue: timeGrain, - Constraints: []validation.Constraint{{Target: "timeGrain", Name: validation.Pattern, Rule: `PT[1-9][0-9]+[SMH]`, Chain: nil}}}}); err != nil { + Constraints: []validation.Constraint{{Target: "timeGrain", Name: validation.Empty, Rule: false, + Chain: []validation.Constraint{{Target: "timeGrain", Name: validation.Pattern, Rule: `PT[1-9][0-9]+[SMH]`, Chain: nil}}}}}}); err != nil { return result, validation.NewError("web.DiagnosticsClient", "ExecuteSiteAnalysisSlot", err.Error()) } @@ -276,7 +278,8 @@ func (client DiagnosticsClient) ExecuteSiteDetector(ctx context.Context, resourc {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}, {TargetValue: timeGrain, - Constraints: []validation.Constraint{{Target: "timeGrain", Name: validation.Pattern, Rule: `PT[1-9][0-9]+[SMH]`, Chain: nil}}}}); err != nil { + Constraints: []validation.Constraint{{Target: "timeGrain", Name: validation.Empty, Rule: false, + Chain: []validation.Constraint{{Target: "timeGrain", Name: validation.Pattern, Rule: `PT[1-9][0-9]+[SMH]`, Chain: nil}}}}}}); err != nil { return result, validation.NewError("web.DiagnosticsClient", "ExecuteSiteDetector", err.Error()) } @@ -380,7 +383,8 @@ func (client DiagnosticsClient) ExecuteSiteDetectorSlot(ctx context.Context, res {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}, {TargetValue: timeGrain, - Constraints: []validation.Constraint{{Target: "timeGrain", Name: validation.Pattern, Rule: `PT[1-9][0-9]+[SMH]`, Chain: nil}}}}); err != nil { + Constraints: []validation.Constraint{{Target: "timeGrain", Name: validation.Empty, Rule: false, + Chain: []validation.Constraint{{Target: "timeGrain", Name: validation.Pattern, Rule: `PT[1-9][0-9]+[SMH]`, Chain: nil}}}}}}); err != nil { return result, validation.NewError("web.DiagnosticsClient", "ExecuteSiteDetectorSlot", err.Error()) } @@ -483,7 +487,8 @@ func (client DiagnosticsClient) GetHostingEnvironmentDetectorResponse(ctx contex {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}, {TargetValue: timeGrain, - Constraints: []validation.Constraint{{Target: "timeGrain", Name: validation.Pattern, Rule: `PT[1-9][0-9]+[SMH]`, Chain: nil}}}}); err != nil { + Constraints: []validation.Constraint{{Target: "timeGrain", Name: validation.Empty, Rule: false, + Chain: []validation.Constraint{{Target: "timeGrain", Name: validation.Pattern, Rule: `PT[1-9][0-9]+[SMH]`, Chain: nil}}}}}}); err != nil { return result, validation.NewError("web.DiagnosticsClient", "GetHostingEnvironmentDetectorResponse", err.Error()) } @@ -891,7 +896,8 @@ func (client DiagnosticsClient) GetSiteDetectorResponse(ctx context.Context, res {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}, {TargetValue: timeGrain, - Constraints: []validation.Constraint{{Target: "timeGrain", Name: validation.Pattern, Rule: `PT[1-9][0-9]+[SMH]`, Chain: nil}}}}); err != nil { + Constraints: []validation.Constraint{{Target: "timeGrain", Name: validation.Empty, Rule: false, + Chain: []validation.Constraint{{Target: "timeGrain", Name: validation.Pattern, Rule: `PT[1-9][0-9]+[SMH]`, Chain: nil}}}}}}); err != nil { return result, validation.NewError("web.DiagnosticsClient", "GetSiteDetectorResponse", err.Error()) } @@ -993,7 +999,8 @@ func (client DiagnosticsClient) GetSiteDetectorResponseSlot(ctx context.Context, {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}, {TargetValue: timeGrain, - Constraints: []validation.Constraint{{Target: "timeGrain", Name: validation.Pattern, Rule: `PT[1-9][0-9]+[SMH]`, Chain: nil}}}}); err != nil { + Constraints: []validation.Constraint{{Target: "timeGrain", Name: validation.Empty, Rule: false, + Chain: []validation.Constraint{{Target: "timeGrain", Name: validation.Pattern, Rule: `PT[1-9][0-9]+[SMH]`, Chain: nil}}}}}}); err != nil { return result, validation.NewError("web.DiagnosticsClient", "GetSiteDetectorResponseSlot", err.Error()) } diff --git a/services/web/mgmt/2019-08-01/web/apps.go b/services/web/mgmt/2019-08-01/web/apps.go new file mode 100644 index 000000000000..6a7668705ff9 --- /dev/null +++ b/services/web/mgmt/2019-08-01/web/apps.go @@ -0,0 +1,33398 @@ +package web + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// AppsClient is the webSite Management Client +type AppsClient struct { + BaseClient +} + +// NewAppsClient creates an instance of the AppsClient client. +func NewAppsClient(subscriptionID string) AppsClient { + return NewAppsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewAppsClientWithBaseURI creates an instance of the AppsClient client. +func NewAppsClientWithBaseURI(baseURI string, subscriptionID string) AppsClient { + return AppsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// AddPremierAddOn updates a named add-on of an app. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// premierAddOnName - add-on name. +// premierAddOn - a JSON representation of the edited premier add-on. +func (client AppsClient) AddPremierAddOn(ctx context.Context, resourceGroupName string, name string, premierAddOnName string, premierAddOn PremierAddOn) (result PremierAddOn, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.AddPremierAddOn") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "AddPremierAddOn", err.Error()) + } + + req, err := client.AddPremierAddOnPreparer(ctx, resourceGroupName, name, premierAddOnName, premierAddOn) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "AddPremierAddOn", nil, "Failure preparing request") + return + } + + resp, err := client.AddPremierAddOnSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "AddPremierAddOn", resp, "Failure sending request") + return + } + + result, err = client.AddPremierAddOnResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "AddPremierAddOn", resp, "Failure responding to request") + } + + return +} + +// AddPremierAddOnPreparer prepares the AddPremierAddOn request. +func (client AppsClient) AddPremierAddOnPreparer(ctx context.Context, resourceGroupName string, name string, premierAddOnName string, premierAddOn PremierAddOn) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "premierAddOnName": autorest.Encode("path", premierAddOnName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/premieraddons/{premierAddOnName}", pathParameters), + autorest.WithJSON(premierAddOn), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// AddPremierAddOnSender sends the AddPremierAddOn request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) AddPremierAddOnSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// AddPremierAddOnResponder handles the response to the AddPremierAddOn request. The method always +// closes the http.Response Body. +func (client AppsClient) AddPremierAddOnResponder(resp *http.Response) (result PremierAddOn, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// AddPremierAddOnSlot updates a named add-on of an app. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// premierAddOnName - add-on name. +// premierAddOn - a JSON representation of the edited premier add-on. +// slot - name of the deployment slot. If a slot is not specified, the API will update the named add-on for the +// production slot. +func (client AppsClient) AddPremierAddOnSlot(ctx context.Context, resourceGroupName string, name string, premierAddOnName string, premierAddOn PremierAddOn, slot string) (result PremierAddOn, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.AddPremierAddOnSlot") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "AddPremierAddOnSlot", err.Error()) + } + + req, err := client.AddPremierAddOnSlotPreparer(ctx, resourceGroupName, name, premierAddOnName, premierAddOn, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "AddPremierAddOnSlot", nil, "Failure preparing request") + return + } + + resp, err := client.AddPremierAddOnSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "AddPremierAddOnSlot", resp, "Failure sending request") + return + } + + result, err = client.AddPremierAddOnSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "AddPremierAddOnSlot", resp, "Failure responding to request") + } + + return +} + +// AddPremierAddOnSlotPreparer prepares the AddPremierAddOnSlot request. +func (client AppsClient) AddPremierAddOnSlotPreparer(ctx context.Context, resourceGroupName string, name string, premierAddOnName string, premierAddOn PremierAddOn, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "premierAddOnName": autorest.Encode("path", premierAddOnName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/premieraddons/{premierAddOnName}", pathParameters), + autorest.WithJSON(premierAddOn), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// AddPremierAddOnSlotSender sends the AddPremierAddOnSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) AddPremierAddOnSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// AddPremierAddOnSlotResponder handles the response to the AddPremierAddOnSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) AddPremierAddOnSlotResponder(resp *http.Response) (result PremierAddOn, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// AnalyzeCustomHostname analyze a custom hostname. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of web app. +// hostName - custom hostname. +func (client AppsClient) AnalyzeCustomHostname(ctx context.Context, resourceGroupName string, name string, hostName string) (result CustomHostnameAnalysisResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.AnalyzeCustomHostname") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "AnalyzeCustomHostname", err.Error()) + } + + req, err := client.AnalyzeCustomHostnamePreparer(ctx, resourceGroupName, name, hostName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "AnalyzeCustomHostname", nil, "Failure preparing request") + return + } + + resp, err := client.AnalyzeCustomHostnameSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "AnalyzeCustomHostname", resp, "Failure sending request") + return + } + + result, err = client.AnalyzeCustomHostnameResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "AnalyzeCustomHostname", resp, "Failure responding to request") + } + + return +} + +// AnalyzeCustomHostnamePreparer prepares the AnalyzeCustomHostname request. +func (client AppsClient) AnalyzeCustomHostnamePreparer(ctx context.Context, resourceGroupName string, name string, hostName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(hostName) > 0 { + queryParameters["hostName"] = autorest.Encode("query", hostName) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/analyzeCustomHostname", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// AnalyzeCustomHostnameSender sends the AnalyzeCustomHostname request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) AnalyzeCustomHostnameSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// AnalyzeCustomHostnameResponder handles the response to the AnalyzeCustomHostname request. The method always +// closes the http.Response Body. +func (client AppsClient) AnalyzeCustomHostnameResponder(resp *http.Response) (result CustomHostnameAnalysisResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// AnalyzeCustomHostnameSlot analyze a custom hostname. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of web app. +// slot - name of web app slot. If not specified then will default to production slot. +// hostName - custom hostname. +func (client AppsClient) AnalyzeCustomHostnameSlot(ctx context.Context, resourceGroupName string, name string, slot string, hostName string) (result CustomHostnameAnalysisResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.AnalyzeCustomHostnameSlot") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "AnalyzeCustomHostnameSlot", err.Error()) + } + + req, err := client.AnalyzeCustomHostnameSlotPreparer(ctx, resourceGroupName, name, slot, hostName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "AnalyzeCustomHostnameSlot", nil, "Failure preparing request") + return + } + + resp, err := client.AnalyzeCustomHostnameSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "AnalyzeCustomHostnameSlot", resp, "Failure sending request") + return + } + + result, err = client.AnalyzeCustomHostnameSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "AnalyzeCustomHostnameSlot", resp, "Failure responding to request") + } + + return +} + +// AnalyzeCustomHostnameSlotPreparer prepares the AnalyzeCustomHostnameSlot request. +func (client AppsClient) AnalyzeCustomHostnameSlotPreparer(ctx context.Context, resourceGroupName string, name string, slot string, hostName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(hostName) > 0 { + queryParameters["hostName"] = autorest.Encode("query", hostName) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/analyzeCustomHostname", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// AnalyzeCustomHostnameSlotSender sends the AnalyzeCustomHostnameSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) AnalyzeCustomHostnameSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// AnalyzeCustomHostnameSlotResponder handles the response to the AnalyzeCustomHostnameSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) AnalyzeCustomHostnameSlotResponder(resp *http.Response) (result CustomHostnameAnalysisResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ApplySlotConfigToProduction applies the configuration settings from the target slot onto the current slot. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// slotSwapEntity - JSON object that contains the target slot name. See example. +func (client AppsClient) ApplySlotConfigToProduction(ctx context.Context, resourceGroupName string, name string, slotSwapEntity CsmSlotEntity) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ApplySlotConfigToProduction") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}, + {TargetValue: slotSwapEntity, + Constraints: []validation.Constraint{{Target: "slotSwapEntity.TargetSlot", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "slotSwapEntity.PreserveVnet", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "ApplySlotConfigToProduction", err.Error()) + } + + req, err := client.ApplySlotConfigToProductionPreparer(ctx, resourceGroupName, name, slotSwapEntity) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ApplySlotConfigToProduction", nil, "Failure preparing request") + return + } + + resp, err := client.ApplySlotConfigToProductionSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.AppsClient", "ApplySlotConfigToProduction", resp, "Failure sending request") + return + } + + result, err = client.ApplySlotConfigToProductionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ApplySlotConfigToProduction", resp, "Failure responding to request") + } + + return +} + +// ApplySlotConfigToProductionPreparer prepares the ApplySlotConfigToProduction request. +func (client AppsClient) ApplySlotConfigToProductionPreparer(ctx context.Context, resourceGroupName string, name string, slotSwapEntity CsmSlotEntity) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/applySlotConfig", pathParameters), + autorest.WithJSON(slotSwapEntity), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ApplySlotConfigToProductionSender sends the ApplySlotConfigToProduction request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ApplySlotConfigToProductionSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ApplySlotConfigToProductionResponder handles the response to the ApplySlotConfigToProduction request. The method always +// closes the http.Response Body. +func (client AppsClient) ApplySlotConfigToProductionResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByClosing()) + result.Response = resp + return +} + +// ApplySlotConfigurationSlot applies the configuration settings from the target slot onto the current slot. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// slotSwapEntity - JSON object that contains the target slot name. See example. +// slot - name of the source slot. If a slot is not specified, the production slot is used as the source slot. +func (client AppsClient) ApplySlotConfigurationSlot(ctx context.Context, resourceGroupName string, name string, slotSwapEntity CsmSlotEntity, slot string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ApplySlotConfigurationSlot") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}, + {TargetValue: slotSwapEntity, + Constraints: []validation.Constraint{{Target: "slotSwapEntity.TargetSlot", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "slotSwapEntity.PreserveVnet", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "ApplySlotConfigurationSlot", err.Error()) + } + + req, err := client.ApplySlotConfigurationSlotPreparer(ctx, resourceGroupName, name, slotSwapEntity, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ApplySlotConfigurationSlot", nil, "Failure preparing request") + return + } + + resp, err := client.ApplySlotConfigurationSlotSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.AppsClient", "ApplySlotConfigurationSlot", resp, "Failure sending request") + return + } + + result, err = client.ApplySlotConfigurationSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ApplySlotConfigurationSlot", resp, "Failure responding to request") + } + + return +} + +// ApplySlotConfigurationSlotPreparer prepares the ApplySlotConfigurationSlot request. +func (client AppsClient) ApplySlotConfigurationSlotPreparer(ctx context.Context, resourceGroupName string, name string, slotSwapEntity CsmSlotEntity, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/applySlotConfig", pathParameters), + autorest.WithJSON(slotSwapEntity), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ApplySlotConfigurationSlotSender sends the ApplySlotConfigurationSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ApplySlotConfigurationSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ApplySlotConfigurationSlotResponder handles the response to the ApplySlotConfigurationSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) ApplySlotConfigurationSlotResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByClosing()) + result.Response = resp + return +} + +// Backup creates a backup of an app. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// request - backup configuration. You can use the JSON response from the POST action as input here. +func (client AppsClient) Backup(ctx context.Context, resourceGroupName string, name string, request BackupRequest) (result BackupItem, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.Backup") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}, + {TargetValue: request, + Constraints: []validation.Constraint{{Target: "request.BackupRequestProperties", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "request.BackupRequestProperties.StorageAccountURL", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "request.BackupRequestProperties.BackupSchedule", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "request.BackupRequestProperties.BackupSchedule.FrequencyInterval", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "request.BackupRequestProperties.BackupSchedule.KeepAtLeastOneBackup", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "request.BackupRequestProperties.BackupSchedule.RetentionPeriodInDays", Name: validation.Null, Rule: true, Chain: nil}, + }}, + }}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "Backup", err.Error()) + } + + req, err := client.BackupPreparer(ctx, resourceGroupName, name, request) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "Backup", nil, "Failure preparing request") + return + } + + resp, err := client.BackupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "Backup", resp, "Failure sending request") + return + } + + result, err = client.BackupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "Backup", resp, "Failure responding to request") + } + + return +} + +// BackupPreparer prepares the Backup request. +func (client AppsClient) BackupPreparer(ctx context.Context, resourceGroupName string, name string, request BackupRequest) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/backup", pathParameters), + autorest.WithJSON(request), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// BackupSender sends the Backup request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) BackupSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// BackupResponder handles the response to the Backup request. The method always +// closes the http.Response Body. +func (client AppsClient) BackupResponder(resp *http.Response) (result BackupItem, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// BackupSlot creates a backup of an app. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// request - backup configuration. You can use the JSON response from the POST action as input here. +// slot - name of the deployment slot. If a slot is not specified, the API will create a backup for the +// production slot. +func (client AppsClient) BackupSlot(ctx context.Context, resourceGroupName string, name string, request BackupRequest, slot string) (result BackupItem, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.BackupSlot") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}, + {TargetValue: request, + Constraints: []validation.Constraint{{Target: "request.BackupRequestProperties", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "request.BackupRequestProperties.StorageAccountURL", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "request.BackupRequestProperties.BackupSchedule", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "request.BackupRequestProperties.BackupSchedule.FrequencyInterval", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "request.BackupRequestProperties.BackupSchedule.KeepAtLeastOneBackup", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "request.BackupRequestProperties.BackupSchedule.RetentionPeriodInDays", Name: validation.Null, Rule: true, Chain: nil}, + }}, + }}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "BackupSlot", err.Error()) + } + + req, err := client.BackupSlotPreparer(ctx, resourceGroupName, name, request, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "BackupSlot", nil, "Failure preparing request") + return + } + + resp, err := client.BackupSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "BackupSlot", resp, "Failure sending request") + return + } + + result, err = client.BackupSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "BackupSlot", resp, "Failure responding to request") + } + + return +} + +// BackupSlotPreparer prepares the BackupSlot request. +func (client AppsClient) BackupSlotPreparer(ctx context.Context, resourceGroupName string, name string, request BackupRequest, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/backup", pathParameters), + autorest.WithJSON(request), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// BackupSlotSender sends the BackupSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) BackupSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// BackupSlotResponder handles the response to the BackupSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) BackupSlotResponder(resp *http.Response) (result BackupItem, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// CreateDeployment create a deployment for an app, or a deployment slot. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// ID - ID of an existing deployment. +// deployment - deployment details. +func (client AppsClient) CreateDeployment(ctx context.Context, resourceGroupName string, name string, ID string, deployment Deployment) (result Deployment, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.CreateDeployment") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "CreateDeployment", err.Error()) + } + + req, err := client.CreateDeploymentPreparer(ctx, resourceGroupName, name, ID, deployment) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateDeployment", nil, "Failure preparing request") + return + } + + resp, err := client.CreateDeploymentSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateDeployment", resp, "Failure sending request") + return + } + + result, err = client.CreateDeploymentResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateDeployment", resp, "Failure responding to request") + } + + return +} + +// CreateDeploymentPreparer prepares the CreateDeployment request. +func (client AppsClient) CreateDeploymentPreparer(ctx context.Context, resourceGroupName string, name string, ID string, deployment Deployment) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "id": autorest.Encode("path", ID), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/deployments/{id}", pathParameters), + autorest.WithJSON(deployment), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateDeploymentSender sends the CreateDeployment request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) CreateDeploymentSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CreateDeploymentResponder handles the response to the CreateDeployment request. The method always +// closes the http.Response Body. +func (client AppsClient) CreateDeploymentResponder(resp *http.Response) (result Deployment, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// CreateDeploymentSlot create a deployment for an app, or a deployment slot. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// ID - ID of an existing deployment. +// slot - name of the deployment slot. If a slot is not specified, the API creates a deployment for the +// production slot. +// deployment - deployment details. +func (client AppsClient) CreateDeploymentSlot(ctx context.Context, resourceGroupName string, name string, ID string, slot string, deployment Deployment) (result Deployment, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.CreateDeploymentSlot") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "CreateDeploymentSlot", err.Error()) + } + + req, err := client.CreateDeploymentSlotPreparer(ctx, resourceGroupName, name, ID, slot, deployment) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateDeploymentSlot", nil, "Failure preparing request") + return + } + + resp, err := client.CreateDeploymentSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateDeploymentSlot", resp, "Failure sending request") + return + } + + result, err = client.CreateDeploymentSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateDeploymentSlot", resp, "Failure responding to request") + } + + return +} + +// CreateDeploymentSlotPreparer prepares the CreateDeploymentSlot request. +func (client AppsClient) CreateDeploymentSlotPreparer(ctx context.Context, resourceGroupName string, name string, ID string, slot string, deployment Deployment) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "id": autorest.Encode("path", ID), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/deployments/{id}", pathParameters), + autorest.WithJSON(deployment), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateDeploymentSlotSender sends the CreateDeploymentSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) CreateDeploymentSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CreateDeploymentSlotResponder handles the response to the CreateDeploymentSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) CreateDeploymentSlotResponder(resp *http.Response) (result Deployment, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// CreateFunction create function for web site, or a deployment slot. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - site name. +// functionName - function name. +// functionEnvelope - function details. +func (client AppsClient) CreateFunction(ctx context.Context, resourceGroupName string, name string, functionName string, functionEnvelope FunctionEnvelope) (result AppsCreateFunctionFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.CreateFunction") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "CreateFunction", err.Error()) + } + + req, err := client.CreateFunctionPreparer(ctx, resourceGroupName, name, functionName, functionEnvelope) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateFunction", nil, "Failure preparing request") + return + } + + result, err = client.CreateFunctionSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateFunction", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateFunctionPreparer prepares the CreateFunction request. +func (client AppsClient) CreateFunctionPreparer(ctx context.Context, resourceGroupName string, name string, functionName string, functionEnvelope FunctionEnvelope) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "functionName": autorest.Encode("path", functionName), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/functions/{functionName}", pathParameters), + autorest.WithJSON(functionEnvelope), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateFunctionSender sends the CreateFunction request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) CreateFunctionSender(req *http.Request) (future AppsCreateFunctionFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateFunctionResponder handles the response to the CreateFunction request. The method always +// closes the http.Response Body. +func (client AppsClient) CreateFunctionResponder(resp *http.Response) (result FunctionEnvelope, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// CreateInstanceFunctionSlot create function for web site, or a deployment slot. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - site name. +// functionName - function name. +// slot - name of the deployment slot. If a slot is not specified, the API deletes a deployment for the +// production slot. +// functionEnvelope - function details. +func (client AppsClient) CreateInstanceFunctionSlot(ctx context.Context, resourceGroupName string, name string, functionName string, slot string, functionEnvelope FunctionEnvelope) (result AppsCreateInstanceFunctionSlotFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.CreateInstanceFunctionSlot") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "CreateInstanceFunctionSlot", err.Error()) + } + + req, err := client.CreateInstanceFunctionSlotPreparer(ctx, resourceGroupName, name, functionName, slot, functionEnvelope) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateInstanceFunctionSlot", nil, "Failure preparing request") + return + } + + result, err = client.CreateInstanceFunctionSlotSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateInstanceFunctionSlot", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateInstanceFunctionSlotPreparer prepares the CreateInstanceFunctionSlot request. +func (client AppsClient) CreateInstanceFunctionSlotPreparer(ctx context.Context, resourceGroupName string, name string, functionName string, slot string, functionEnvelope FunctionEnvelope) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "functionName": autorest.Encode("path", functionName), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/functions/{functionName}", pathParameters), + autorest.WithJSON(functionEnvelope), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateInstanceFunctionSlotSender sends the CreateInstanceFunctionSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) CreateInstanceFunctionSlotSender(req *http.Request) (future AppsCreateInstanceFunctionSlotFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateInstanceFunctionSlotResponder handles the response to the CreateInstanceFunctionSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) CreateInstanceFunctionSlotResponder(resp *http.Response) (result FunctionEnvelope, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// CreateInstanceMSDeployOperation invoke the MSDeploy web app extension. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of web app. +// instanceID - ID of web app instance. +// mSDeploy - details of MSDeploy operation +func (client AppsClient) CreateInstanceMSDeployOperation(ctx context.Context, resourceGroupName string, name string, instanceID string, mSDeploy MSDeploy) (result AppsCreateInstanceMSDeployOperationFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.CreateInstanceMSDeployOperation") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "CreateInstanceMSDeployOperation", err.Error()) + } + + req, err := client.CreateInstanceMSDeployOperationPreparer(ctx, resourceGroupName, name, instanceID, mSDeploy) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateInstanceMSDeployOperation", nil, "Failure preparing request") + return + } + + result, err = client.CreateInstanceMSDeployOperationSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateInstanceMSDeployOperation", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateInstanceMSDeployOperationPreparer prepares the CreateInstanceMSDeployOperation request. +func (client AppsClient) CreateInstanceMSDeployOperationPreparer(ctx context.Context, resourceGroupName string, name string, instanceID string, mSDeploy MSDeploy) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "instanceId": autorest.Encode("path", instanceID), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/extensions/MSDeploy", pathParameters), + autorest.WithJSON(mSDeploy), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateInstanceMSDeployOperationSender sends the CreateInstanceMSDeployOperation request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) CreateInstanceMSDeployOperationSender(req *http.Request) (future AppsCreateInstanceMSDeployOperationFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateInstanceMSDeployOperationResponder handles the response to the CreateInstanceMSDeployOperation request. The method always +// closes the http.Response Body. +func (client AppsClient) CreateInstanceMSDeployOperationResponder(resp *http.Response) (result MSDeployStatus, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated, http.StatusConflict), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// CreateInstanceMSDeployOperationSlot invoke the MSDeploy web app extension. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of web app. +// slot - name of web app slot. If not specified then will default to production slot. +// instanceID - ID of web app instance. +// mSDeploy - details of MSDeploy operation +func (client AppsClient) CreateInstanceMSDeployOperationSlot(ctx context.Context, resourceGroupName string, name string, slot string, instanceID string, mSDeploy MSDeploy) (result AppsCreateInstanceMSDeployOperationSlotFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.CreateInstanceMSDeployOperationSlot") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "CreateInstanceMSDeployOperationSlot", err.Error()) + } + + req, err := client.CreateInstanceMSDeployOperationSlotPreparer(ctx, resourceGroupName, name, slot, instanceID, mSDeploy) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateInstanceMSDeployOperationSlot", nil, "Failure preparing request") + return + } + + result, err = client.CreateInstanceMSDeployOperationSlotSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateInstanceMSDeployOperationSlot", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateInstanceMSDeployOperationSlotPreparer prepares the CreateInstanceMSDeployOperationSlot request. +func (client AppsClient) CreateInstanceMSDeployOperationSlotPreparer(ctx context.Context, resourceGroupName string, name string, slot string, instanceID string, mSDeploy MSDeploy) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "instanceId": autorest.Encode("path", instanceID), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/extensions/MSDeploy", pathParameters), + autorest.WithJSON(mSDeploy), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateInstanceMSDeployOperationSlotSender sends the CreateInstanceMSDeployOperationSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) CreateInstanceMSDeployOperationSlotSender(req *http.Request) (future AppsCreateInstanceMSDeployOperationSlotFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateInstanceMSDeployOperationSlotResponder handles the response to the CreateInstanceMSDeployOperationSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) CreateInstanceMSDeployOperationSlotResponder(resp *http.Response) (result MSDeployStatus, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated, http.StatusConflict), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// CreateMSDeployOperation invoke the MSDeploy web app extension. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of web app. +// mSDeploy - details of MSDeploy operation +func (client AppsClient) CreateMSDeployOperation(ctx context.Context, resourceGroupName string, name string, mSDeploy MSDeploy) (result AppsCreateMSDeployOperationFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.CreateMSDeployOperation") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "CreateMSDeployOperation", err.Error()) + } + + req, err := client.CreateMSDeployOperationPreparer(ctx, resourceGroupName, name, mSDeploy) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateMSDeployOperation", nil, "Failure preparing request") + return + } + + result, err = client.CreateMSDeployOperationSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateMSDeployOperation", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateMSDeployOperationPreparer prepares the CreateMSDeployOperation request. +func (client AppsClient) CreateMSDeployOperationPreparer(ctx context.Context, resourceGroupName string, name string, mSDeploy MSDeploy) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/extensions/MSDeploy", pathParameters), + autorest.WithJSON(mSDeploy), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateMSDeployOperationSender sends the CreateMSDeployOperation request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) CreateMSDeployOperationSender(req *http.Request) (future AppsCreateMSDeployOperationFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateMSDeployOperationResponder handles the response to the CreateMSDeployOperation request. The method always +// closes the http.Response Body. +func (client AppsClient) CreateMSDeployOperationResponder(resp *http.Response) (result MSDeployStatus, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated, http.StatusConflict), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// CreateMSDeployOperationSlot invoke the MSDeploy web app extension. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of web app. +// slot - name of web app slot. If not specified then will default to production slot. +// mSDeploy - details of MSDeploy operation +func (client AppsClient) CreateMSDeployOperationSlot(ctx context.Context, resourceGroupName string, name string, slot string, mSDeploy MSDeploy) (result AppsCreateMSDeployOperationSlotFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.CreateMSDeployOperationSlot") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "CreateMSDeployOperationSlot", err.Error()) + } + + req, err := client.CreateMSDeployOperationSlotPreparer(ctx, resourceGroupName, name, slot, mSDeploy) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateMSDeployOperationSlot", nil, "Failure preparing request") + return + } + + result, err = client.CreateMSDeployOperationSlotSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateMSDeployOperationSlot", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateMSDeployOperationSlotPreparer prepares the CreateMSDeployOperationSlot request. +func (client AppsClient) CreateMSDeployOperationSlotPreparer(ctx context.Context, resourceGroupName string, name string, slot string, mSDeploy MSDeploy) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/extensions/MSDeploy", pathParameters), + autorest.WithJSON(mSDeploy), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateMSDeployOperationSlotSender sends the CreateMSDeployOperationSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) CreateMSDeployOperationSlotSender(req *http.Request) (future AppsCreateMSDeployOperationSlotFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateMSDeployOperationSlotResponder handles the response to the CreateMSDeployOperationSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) CreateMSDeployOperationSlotResponder(resp *http.Response) (result MSDeployStatus, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated, http.StatusConflict), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// CreateOrUpdate creates a new web, mobile, or API app in an existing resource group, or updates an existing app. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - unique name of the app to create or update. To create or update a deployment slot, use the {slot} +// parameter. +// siteEnvelope - a JSON representation of the app properties. See example. +func (client AppsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, name string, siteEnvelope Site) (result AppsCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}, + {TargetValue: siteEnvelope, + Constraints: []validation.Constraint{{Target: "siteEnvelope.SiteProperties", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "siteEnvelope.SiteProperties.SiteConfig", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "siteEnvelope.SiteProperties.SiteConfig.Push", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "siteEnvelope.SiteProperties.SiteConfig.Push.PushSettingsProperties", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "siteEnvelope.SiteProperties.SiteConfig.Push.PushSettingsProperties.IsPushEnabled", Name: validation.Null, Rule: true, Chain: nil}}}, + }}, + {Target: "siteEnvelope.SiteProperties.SiteConfig.ReservedInstanceCount", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "siteEnvelope.SiteProperties.SiteConfig.ReservedInstanceCount", Name: validation.InclusiveMaximum, Rule: int64(10), Chain: nil}, + {Target: "siteEnvelope.SiteProperties.SiteConfig.ReservedInstanceCount", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}, + }}, + }}, + {Target: "siteEnvelope.SiteProperties.CloningInfo", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "siteEnvelope.SiteProperties.CloningInfo.SourceWebAppID", Name: validation.Null, Rule: true, Chain: nil}}}, + }}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "CreateOrUpdate", err.Error()) + } + + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, name, siteEnvelope) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client AppsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, name string, siteEnvelope Site) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}", pathParameters), + autorest.WithJSON(siteEnvelope), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) CreateOrUpdateSender(req *http.Request) (future AppsCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client AppsClient) CreateOrUpdateResponder(resp *http.Response) (result Site, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// CreateOrUpdateConfiguration updates the configuration of an app. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// siteConfig - JSON representation of a SiteConfig object. See example. +func (client AppsClient) CreateOrUpdateConfiguration(ctx context.Context, resourceGroupName string, name string, siteConfig SiteConfigResource) (result SiteConfigResource, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.CreateOrUpdateConfiguration") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}, + {TargetValue: siteConfig, + Constraints: []validation.Constraint{{Target: "siteConfig.SiteConfig", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "siteConfig.SiteConfig.Push", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "siteConfig.SiteConfig.Push.PushSettingsProperties", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "siteConfig.SiteConfig.Push.PushSettingsProperties.IsPushEnabled", Name: validation.Null, Rule: true, Chain: nil}}}, + }}, + {Target: "siteConfig.SiteConfig.ReservedInstanceCount", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "siteConfig.SiteConfig.ReservedInstanceCount", Name: validation.InclusiveMaximum, Rule: int64(10), Chain: nil}, + {Target: "siteConfig.SiteConfig.ReservedInstanceCount", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}, + }}, + }}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "CreateOrUpdateConfiguration", err.Error()) + } + + req, err := client.CreateOrUpdateConfigurationPreparer(ctx, resourceGroupName, name, siteConfig) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateOrUpdateConfiguration", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateConfigurationSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateOrUpdateConfiguration", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateConfigurationResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateOrUpdateConfiguration", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdateConfigurationPreparer prepares the CreateOrUpdateConfiguration request. +func (client AppsClient) CreateOrUpdateConfigurationPreparer(ctx context.Context, resourceGroupName string, name string, siteConfig SiteConfigResource) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/web", pathParameters), + autorest.WithJSON(siteConfig), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateConfigurationSender sends the CreateOrUpdateConfiguration request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) CreateOrUpdateConfigurationSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CreateOrUpdateConfigurationResponder handles the response to the CreateOrUpdateConfiguration request. The method always +// closes the http.Response Body. +func (client AppsClient) CreateOrUpdateConfigurationResponder(resp *http.Response) (result SiteConfigResource, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// CreateOrUpdateConfigurationSlot updates the configuration of an app. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// siteConfig - JSON representation of a SiteConfig object. See example. +// slot - name of the deployment slot. If a slot is not specified, the API will update configuration for the +// production slot. +func (client AppsClient) CreateOrUpdateConfigurationSlot(ctx context.Context, resourceGroupName string, name string, siteConfig SiteConfigResource, slot string) (result SiteConfigResource, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.CreateOrUpdateConfigurationSlot") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}, + {TargetValue: siteConfig, + Constraints: []validation.Constraint{{Target: "siteConfig.SiteConfig", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "siteConfig.SiteConfig.Push", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "siteConfig.SiteConfig.Push.PushSettingsProperties", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "siteConfig.SiteConfig.Push.PushSettingsProperties.IsPushEnabled", Name: validation.Null, Rule: true, Chain: nil}}}, + }}, + {Target: "siteConfig.SiteConfig.ReservedInstanceCount", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "siteConfig.SiteConfig.ReservedInstanceCount", Name: validation.InclusiveMaximum, Rule: int64(10), Chain: nil}, + {Target: "siteConfig.SiteConfig.ReservedInstanceCount", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}, + }}, + }}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "CreateOrUpdateConfigurationSlot", err.Error()) + } + + req, err := client.CreateOrUpdateConfigurationSlotPreparer(ctx, resourceGroupName, name, siteConfig, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateOrUpdateConfigurationSlot", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateConfigurationSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateOrUpdateConfigurationSlot", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateConfigurationSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateOrUpdateConfigurationSlot", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdateConfigurationSlotPreparer prepares the CreateOrUpdateConfigurationSlot request. +func (client AppsClient) CreateOrUpdateConfigurationSlotPreparer(ctx context.Context, resourceGroupName string, name string, siteConfig SiteConfigResource, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/web", pathParameters), + autorest.WithJSON(siteConfig), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateConfigurationSlotSender sends the CreateOrUpdateConfigurationSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) CreateOrUpdateConfigurationSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CreateOrUpdateConfigurationSlotResponder handles the response to the CreateOrUpdateConfigurationSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) CreateOrUpdateConfigurationSlotResponder(resp *http.Response) (result SiteConfigResource, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// CreateOrUpdateDomainOwnershipIdentifier creates a domain ownership identifier for web app, or updates an existing +// ownership identifier. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// domainOwnershipIdentifierName - name of domain ownership identifier. +// domainOwnershipIdentifier - a JSON representation of the domain ownership properties. +func (client AppsClient) CreateOrUpdateDomainOwnershipIdentifier(ctx context.Context, resourceGroupName string, name string, domainOwnershipIdentifierName string, domainOwnershipIdentifier Identifier) (result Identifier, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.CreateOrUpdateDomainOwnershipIdentifier") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "CreateOrUpdateDomainOwnershipIdentifier", err.Error()) + } + + req, err := client.CreateOrUpdateDomainOwnershipIdentifierPreparer(ctx, resourceGroupName, name, domainOwnershipIdentifierName, domainOwnershipIdentifier) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateOrUpdateDomainOwnershipIdentifier", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateDomainOwnershipIdentifierSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateOrUpdateDomainOwnershipIdentifier", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateDomainOwnershipIdentifierResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateOrUpdateDomainOwnershipIdentifier", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdateDomainOwnershipIdentifierPreparer prepares the CreateOrUpdateDomainOwnershipIdentifier request. +func (client AppsClient) CreateOrUpdateDomainOwnershipIdentifierPreparer(ctx context.Context, resourceGroupName string, name string, domainOwnershipIdentifierName string, domainOwnershipIdentifier Identifier) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "domainOwnershipIdentifierName": autorest.Encode("path", domainOwnershipIdentifierName), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/domainOwnershipIdentifiers/{domainOwnershipIdentifierName}", pathParameters), + autorest.WithJSON(domainOwnershipIdentifier), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateDomainOwnershipIdentifierSender sends the CreateOrUpdateDomainOwnershipIdentifier request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) CreateOrUpdateDomainOwnershipIdentifierSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CreateOrUpdateDomainOwnershipIdentifierResponder handles the response to the CreateOrUpdateDomainOwnershipIdentifier request. The method always +// closes the http.Response Body. +func (client AppsClient) CreateOrUpdateDomainOwnershipIdentifierResponder(resp *http.Response) (result Identifier, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// CreateOrUpdateDomainOwnershipIdentifierSlot creates a domain ownership identifier for web app, or updates an +// existing ownership identifier. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// domainOwnershipIdentifierName - name of domain ownership identifier. +// domainOwnershipIdentifier - a JSON representation of the domain ownership properties. +// slot - name of the deployment slot. If a slot is not specified, the API will delete the binding for the +// production slot. +func (client AppsClient) CreateOrUpdateDomainOwnershipIdentifierSlot(ctx context.Context, resourceGroupName string, name string, domainOwnershipIdentifierName string, domainOwnershipIdentifier Identifier, slot string) (result Identifier, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.CreateOrUpdateDomainOwnershipIdentifierSlot") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "CreateOrUpdateDomainOwnershipIdentifierSlot", err.Error()) + } + + req, err := client.CreateOrUpdateDomainOwnershipIdentifierSlotPreparer(ctx, resourceGroupName, name, domainOwnershipIdentifierName, domainOwnershipIdentifier, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateOrUpdateDomainOwnershipIdentifierSlot", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateDomainOwnershipIdentifierSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateOrUpdateDomainOwnershipIdentifierSlot", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateDomainOwnershipIdentifierSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateOrUpdateDomainOwnershipIdentifierSlot", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdateDomainOwnershipIdentifierSlotPreparer prepares the CreateOrUpdateDomainOwnershipIdentifierSlot request. +func (client AppsClient) CreateOrUpdateDomainOwnershipIdentifierSlotPreparer(ctx context.Context, resourceGroupName string, name string, domainOwnershipIdentifierName string, domainOwnershipIdentifier Identifier, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "domainOwnershipIdentifierName": autorest.Encode("path", domainOwnershipIdentifierName), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/domainOwnershipIdentifiers/{domainOwnershipIdentifierName}", pathParameters), + autorest.WithJSON(domainOwnershipIdentifier), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateDomainOwnershipIdentifierSlotSender sends the CreateOrUpdateDomainOwnershipIdentifierSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) CreateOrUpdateDomainOwnershipIdentifierSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CreateOrUpdateDomainOwnershipIdentifierSlotResponder handles the response to the CreateOrUpdateDomainOwnershipIdentifierSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) CreateOrUpdateDomainOwnershipIdentifierSlotResponder(resp *http.Response) (result Identifier, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// CreateOrUpdateHostNameBinding creates a hostname binding for an app. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// hostName - hostname in the hostname binding. +// hostNameBinding - binding details. This is the JSON representation of a HostNameBinding object. +func (client AppsClient) CreateOrUpdateHostNameBinding(ctx context.Context, resourceGroupName string, name string, hostName string, hostNameBinding HostNameBinding) (result HostNameBinding, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.CreateOrUpdateHostNameBinding") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "CreateOrUpdateHostNameBinding", err.Error()) + } + + req, err := client.CreateOrUpdateHostNameBindingPreparer(ctx, resourceGroupName, name, hostName, hostNameBinding) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateOrUpdateHostNameBinding", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateHostNameBindingSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateOrUpdateHostNameBinding", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateHostNameBindingResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateOrUpdateHostNameBinding", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdateHostNameBindingPreparer prepares the CreateOrUpdateHostNameBinding request. +func (client AppsClient) CreateOrUpdateHostNameBindingPreparer(ctx context.Context, resourceGroupName string, name string, hostName string, hostNameBinding HostNameBinding) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "hostName": autorest.Encode("path", hostName), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hostNameBindings/{hostName}", pathParameters), + autorest.WithJSON(hostNameBinding), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateHostNameBindingSender sends the CreateOrUpdateHostNameBinding request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) CreateOrUpdateHostNameBindingSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CreateOrUpdateHostNameBindingResponder handles the response to the CreateOrUpdateHostNameBinding request. The method always +// closes the http.Response Body. +func (client AppsClient) CreateOrUpdateHostNameBindingResponder(resp *http.Response) (result HostNameBinding, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// CreateOrUpdateHostNameBindingSlot creates a hostname binding for an app. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// hostName - hostname in the hostname binding. +// hostNameBinding - binding details. This is the JSON representation of a HostNameBinding object. +// slot - name of the deployment slot. If a slot is not specified, the API will create a binding for the +// production slot. +func (client AppsClient) CreateOrUpdateHostNameBindingSlot(ctx context.Context, resourceGroupName string, name string, hostName string, hostNameBinding HostNameBinding, slot string) (result HostNameBinding, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.CreateOrUpdateHostNameBindingSlot") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "CreateOrUpdateHostNameBindingSlot", err.Error()) + } + + req, err := client.CreateOrUpdateHostNameBindingSlotPreparer(ctx, resourceGroupName, name, hostName, hostNameBinding, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateOrUpdateHostNameBindingSlot", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateHostNameBindingSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateOrUpdateHostNameBindingSlot", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateHostNameBindingSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateOrUpdateHostNameBindingSlot", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdateHostNameBindingSlotPreparer prepares the CreateOrUpdateHostNameBindingSlot request. +func (client AppsClient) CreateOrUpdateHostNameBindingSlotPreparer(ctx context.Context, resourceGroupName string, name string, hostName string, hostNameBinding HostNameBinding, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "hostName": autorest.Encode("path", hostName), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hostNameBindings/{hostName}", pathParameters), + autorest.WithJSON(hostNameBinding), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateHostNameBindingSlotSender sends the CreateOrUpdateHostNameBindingSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) CreateOrUpdateHostNameBindingSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CreateOrUpdateHostNameBindingSlotResponder handles the response to the CreateOrUpdateHostNameBindingSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) CreateOrUpdateHostNameBindingSlotResponder(resp *http.Response) (result HostNameBinding, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// CreateOrUpdateHybridConnection creates a new Hybrid Connection using a Service Bus relay. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - the name of the web app. +// namespaceName - the namespace for this hybrid connection. +// relayName - the relay name for this hybrid connection. +// connectionEnvelope - the details of the hybrid connection. +func (client AppsClient) CreateOrUpdateHybridConnection(ctx context.Context, resourceGroupName string, name string, namespaceName string, relayName string, connectionEnvelope HybridConnection) (result HybridConnection, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.CreateOrUpdateHybridConnection") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "CreateOrUpdateHybridConnection", err.Error()) + } + + req, err := client.CreateOrUpdateHybridConnectionPreparer(ctx, resourceGroupName, name, namespaceName, relayName, connectionEnvelope) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateOrUpdateHybridConnection", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateHybridConnectionSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateOrUpdateHybridConnection", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateHybridConnectionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateOrUpdateHybridConnection", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdateHybridConnectionPreparer prepares the CreateOrUpdateHybridConnection request. +func (client AppsClient) CreateOrUpdateHybridConnectionPreparer(ctx context.Context, resourceGroupName string, name string, namespaceName string, relayName string, connectionEnvelope HybridConnection) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "namespaceName": autorest.Encode("path", namespaceName), + "relayName": autorest.Encode("path", relayName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}", pathParameters), + autorest.WithJSON(connectionEnvelope), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateHybridConnectionSender sends the CreateOrUpdateHybridConnection request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) CreateOrUpdateHybridConnectionSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CreateOrUpdateHybridConnectionResponder handles the response to the CreateOrUpdateHybridConnection request. The method always +// closes the http.Response Body. +func (client AppsClient) CreateOrUpdateHybridConnectionResponder(resp *http.Response) (result HybridConnection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// CreateOrUpdateHybridConnectionSlot creates a new Hybrid Connection using a Service Bus relay. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - the name of the web app. +// namespaceName - the namespace for this hybrid connection. +// relayName - the relay name for this hybrid connection. +// connectionEnvelope - the details of the hybrid connection. +// slot - the name of the slot for the web app. +func (client AppsClient) CreateOrUpdateHybridConnectionSlot(ctx context.Context, resourceGroupName string, name string, namespaceName string, relayName string, connectionEnvelope HybridConnection, slot string) (result HybridConnection, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.CreateOrUpdateHybridConnectionSlot") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "CreateOrUpdateHybridConnectionSlot", err.Error()) + } + + req, err := client.CreateOrUpdateHybridConnectionSlotPreparer(ctx, resourceGroupName, name, namespaceName, relayName, connectionEnvelope, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateOrUpdateHybridConnectionSlot", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateHybridConnectionSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateOrUpdateHybridConnectionSlot", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateHybridConnectionSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateOrUpdateHybridConnectionSlot", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdateHybridConnectionSlotPreparer prepares the CreateOrUpdateHybridConnectionSlot request. +func (client AppsClient) CreateOrUpdateHybridConnectionSlotPreparer(ctx context.Context, resourceGroupName string, name string, namespaceName string, relayName string, connectionEnvelope HybridConnection, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "namespaceName": autorest.Encode("path", namespaceName), + "relayName": autorest.Encode("path", relayName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}", pathParameters), + autorest.WithJSON(connectionEnvelope), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateHybridConnectionSlotSender sends the CreateOrUpdateHybridConnectionSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) CreateOrUpdateHybridConnectionSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CreateOrUpdateHybridConnectionSlotResponder handles the response to the CreateOrUpdateHybridConnectionSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) CreateOrUpdateHybridConnectionSlotResponder(resp *http.Response) (result HybridConnection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// CreateOrUpdatePublicCertificate creates a hostname binding for an app. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// publicCertificateName - public certificate name. +// publicCertificate - public certificate details. This is the JSON representation of a PublicCertificate +// object. +func (client AppsClient) CreateOrUpdatePublicCertificate(ctx context.Context, resourceGroupName string, name string, publicCertificateName string, publicCertificate PublicCertificate) (result PublicCertificate, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.CreateOrUpdatePublicCertificate") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "CreateOrUpdatePublicCertificate", err.Error()) + } + + req, err := client.CreateOrUpdatePublicCertificatePreparer(ctx, resourceGroupName, name, publicCertificateName, publicCertificate) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateOrUpdatePublicCertificate", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdatePublicCertificateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateOrUpdatePublicCertificate", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdatePublicCertificateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateOrUpdatePublicCertificate", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdatePublicCertificatePreparer prepares the CreateOrUpdatePublicCertificate request. +func (client AppsClient) CreateOrUpdatePublicCertificatePreparer(ctx context.Context, resourceGroupName string, name string, publicCertificateName string, publicCertificate PublicCertificate) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "publicCertificateName": autorest.Encode("path", publicCertificateName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/publicCertificates/{publicCertificateName}", pathParameters), + autorest.WithJSON(publicCertificate), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdatePublicCertificateSender sends the CreateOrUpdatePublicCertificate request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) CreateOrUpdatePublicCertificateSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CreateOrUpdatePublicCertificateResponder handles the response to the CreateOrUpdatePublicCertificate request. The method always +// closes the http.Response Body. +func (client AppsClient) CreateOrUpdatePublicCertificateResponder(resp *http.Response) (result PublicCertificate, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// CreateOrUpdatePublicCertificateSlot creates a hostname binding for an app. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// publicCertificateName - public certificate name. +// publicCertificate - public certificate details. This is the JSON representation of a PublicCertificate +// object. +// slot - name of the deployment slot. If a slot is not specified, the API will create a binding for the +// production slot. +func (client AppsClient) CreateOrUpdatePublicCertificateSlot(ctx context.Context, resourceGroupName string, name string, publicCertificateName string, publicCertificate PublicCertificate, slot string) (result PublicCertificate, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.CreateOrUpdatePublicCertificateSlot") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "CreateOrUpdatePublicCertificateSlot", err.Error()) + } + + req, err := client.CreateOrUpdatePublicCertificateSlotPreparer(ctx, resourceGroupName, name, publicCertificateName, publicCertificate, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateOrUpdatePublicCertificateSlot", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdatePublicCertificateSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateOrUpdatePublicCertificateSlot", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdatePublicCertificateSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateOrUpdatePublicCertificateSlot", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdatePublicCertificateSlotPreparer prepares the CreateOrUpdatePublicCertificateSlot request. +func (client AppsClient) CreateOrUpdatePublicCertificateSlotPreparer(ctx context.Context, resourceGroupName string, name string, publicCertificateName string, publicCertificate PublicCertificate, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "publicCertificateName": autorest.Encode("path", publicCertificateName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/publicCertificates/{publicCertificateName}", pathParameters), + autorest.WithJSON(publicCertificate), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdatePublicCertificateSlotSender sends the CreateOrUpdatePublicCertificateSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) CreateOrUpdatePublicCertificateSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CreateOrUpdatePublicCertificateSlotResponder handles the response to the CreateOrUpdatePublicCertificateSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) CreateOrUpdatePublicCertificateSlotResponder(resp *http.Response) (result PublicCertificate, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// CreateOrUpdateRelayServiceConnection creates a new hybrid connection configuration (PUT), or updates an existing one +// (PATCH). +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// entityName - name of the hybrid connection configuration. +// connectionEnvelope - details of the hybrid connection configuration. +func (client AppsClient) CreateOrUpdateRelayServiceConnection(ctx context.Context, resourceGroupName string, name string, entityName string, connectionEnvelope RelayServiceConnectionEntity) (result RelayServiceConnectionEntity, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.CreateOrUpdateRelayServiceConnection") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "CreateOrUpdateRelayServiceConnection", err.Error()) + } + + req, err := client.CreateOrUpdateRelayServiceConnectionPreparer(ctx, resourceGroupName, name, entityName, connectionEnvelope) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateOrUpdateRelayServiceConnection", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateRelayServiceConnectionSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateOrUpdateRelayServiceConnection", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateRelayServiceConnectionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateOrUpdateRelayServiceConnection", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdateRelayServiceConnectionPreparer prepares the CreateOrUpdateRelayServiceConnection request. +func (client AppsClient) CreateOrUpdateRelayServiceConnectionPreparer(ctx context.Context, resourceGroupName string, name string, entityName string, connectionEnvelope RelayServiceConnectionEntity) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "entityName": autorest.Encode("path", entityName), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridconnection/{entityName}", pathParameters), + autorest.WithJSON(connectionEnvelope), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateRelayServiceConnectionSender sends the CreateOrUpdateRelayServiceConnection request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) CreateOrUpdateRelayServiceConnectionSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CreateOrUpdateRelayServiceConnectionResponder handles the response to the CreateOrUpdateRelayServiceConnection request. The method always +// closes the http.Response Body. +func (client AppsClient) CreateOrUpdateRelayServiceConnectionResponder(resp *http.Response) (result RelayServiceConnectionEntity, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// CreateOrUpdateRelayServiceConnectionSlot creates a new hybrid connection configuration (PUT), or updates an existing +// one (PATCH). +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// entityName - name of the hybrid connection configuration. +// connectionEnvelope - details of the hybrid connection configuration. +// slot - name of the deployment slot. If a slot is not specified, the API will create or update a hybrid +// connection for the production slot. +func (client AppsClient) CreateOrUpdateRelayServiceConnectionSlot(ctx context.Context, resourceGroupName string, name string, entityName string, connectionEnvelope RelayServiceConnectionEntity, slot string) (result RelayServiceConnectionEntity, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.CreateOrUpdateRelayServiceConnectionSlot") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "CreateOrUpdateRelayServiceConnectionSlot", err.Error()) + } + + req, err := client.CreateOrUpdateRelayServiceConnectionSlotPreparer(ctx, resourceGroupName, name, entityName, connectionEnvelope, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateOrUpdateRelayServiceConnectionSlot", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateRelayServiceConnectionSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateOrUpdateRelayServiceConnectionSlot", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateRelayServiceConnectionSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateOrUpdateRelayServiceConnectionSlot", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdateRelayServiceConnectionSlotPreparer prepares the CreateOrUpdateRelayServiceConnectionSlot request. +func (client AppsClient) CreateOrUpdateRelayServiceConnectionSlotPreparer(ctx context.Context, resourceGroupName string, name string, entityName string, connectionEnvelope RelayServiceConnectionEntity, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "entityName": autorest.Encode("path", entityName), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridconnection/{entityName}", pathParameters), + autorest.WithJSON(connectionEnvelope), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateRelayServiceConnectionSlotSender sends the CreateOrUpdateRelayServiceConnectionSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) CreateOrUpdateRelayServiceConnectionSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CreateOrUpdateRelayServiceConnectionSlotResponder handles the response to the CreateOrUpdateRelayServiceConnectionSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) CreateOrUpdateRelayServiceConnectionSlotResponder(resp *http.Response) (result RelayServiceConnectionEntity, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// CreateOrUpdateSlot creates a new web, mobile, or API app in an existing resource group, or updates an existing app. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - unique name of the app to create or update. To create or update a deployment slot, use the {slot} +// parameter. +// siteEnvelope - a JSON representation of the app properties. See example. +// slot - name of the deployment slot to create or update. By default, this API attempts to create or modify +// the production slot. +func (client AppsClient) CreateOrUpdateSlot(ctx context.Context, resourceGroupName string, name string, siteEnvelope Site, slot string) (result AppsCreateOrUpdateSlotFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.CreateOrUpdateSlot") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}, + {TargetValue: siteEnvelope, + Constraints: []validation.Constraint{{Target: "siteEnvelope.SiteProperties", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "siteEnvelope.SiteProperties.SiteConfig", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "siteEnvelope.SiteProperties.SiteConfig.Push", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "siteEnvelope.SiteProperties.SiteConfig.Push.PushSettingsProperties", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "siteEnvelope.SiteProperties.SiteConfig.Push.PushSettingsProperties.IsPushEnabled", Name: validation.Null, Rule: true, Chain: nil}}}, + }}, + {Target: "siteEnvelope.SiteProperties.SiteConfig.ReservedInstanceCount", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "siteEnvelope.SiteProperties.SiteConfig.ReservedInstanceCount", Name: validation.InclusiveMaximum, Rule: int64(10), Chain: nil}, + {Target: "siteEnvelope.SiteProperties.SiteConfig.ReservedInstanceCount", Name: validation.InclusiveMinimum, Rule: 0, Chain: nil}, + }}, + }}, + {Target: "siteEnvelope.SiteProperties.CloningInfo", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "siteEnvelope.SiteProperties.CloningInfo.SourceWebAppID", Name: validation.Null, Rule: true, Chain: nil}}}, + }}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "CreateOrUpdateSlot", err.Error()) + } + + req, err := client.CreateOrUpdateSlotPreparer(ctx, resourceGroupName, name, siteEnvelope, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateOrUpdateSlot", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSlotSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateOrUpdateSlot", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdateSlotPreparer prepares the CreateOrUpdateSlot request. +func (client AppsClient) CreateOrUpdateSlotPreparer(ctx context.Context, resourceGroupName string, name string, siteEnvelope Site, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}", pathParameters), + autorest.WithJSON(siteEnvelope), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSlotSender sends the CreateOrUpdateSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) CreateOrUpdateSlotSender(req *http.Request) (future AppsCreateOrUpdateSlotFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateSlotResponder handles the response to the CreateOrUpdateSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) CreateOrUpdateSlotResponder(resp *http.Response) (result Site, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// CreateOrUpdateSourceControl updates the source control configuration of an app. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// siteSourceControl - JSON representation of a SiteSourceControl object. See example. +func (client AppsClient) CreateOrUpdateSourceControl(ctx context.Context, resourceGroupName string, name string, siteSourceControl SiteSourceControl) (result AppsCreateOrUpdateSourceControlFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.CreateOrUpdateSourceControl") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "CreateOrUpdateSourceControl", err.Error()) + } + + req, err := client.CreateOrUpdateSourceControlPreparer(ctx, resourceGroupName, name, siteSourceControl) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateOrUpdateSourceControl", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSourceControlSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateOrUpdateSourceControl", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdateSourceControlPreparer prepares the CreateOrUpdateSourceControl request. +func (client AppsClient) CreateOrUpdateSourceControlPreparer(ctx context.Context, resourceGroupName string, name string, siteSourceControl SiteSourceControl) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/sourcecontrols/web", pathParameters), + autorest.WithJSON(siteSourceControl), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSourceControlSender sends the CreateOrUpdateSourceControl request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) CreateOrUpdateSourceControlSender(req *http.Request) (future AppsCreateOrUpdateSourceControlFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateSourceControlResponder handles the response to the CreateOrUpdateSourceControl request. The method always +// closes the http.Response Body. +func (client AppsClient) CreateOrUpdateSourceControlResponder(resp *http.Response) (result SiteSourceControl, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// CreateOrUpdateSourceControlSlot updates the source control configuration of an app. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// siteSourceControl - JSON representation of a SiteSourceControl object. See example. +// slot - name of the deployment slot. If a slot is not specified, the API will update the source control +// configuration for the production slot. +func (client AppsClient) CreateOrUpdateSourceControlSlot(ctx context.Context, resourceGroupName string, name string, siteSourceControl SiteSourceControl, slot string) (result AppsCreateOrUpdateSourceControlSlotFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.CreateOrUpdateSourceControlSlot") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "CreateOrUpdateSourceControlSlot", err.Error()) + } + + req, err := client.CreateOrUpdateSourceControlSlotPreparer(ctx, resourceGroupName, name, siteSourceControl, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateOrUpdateSourceControlSlot", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSourceControlSlotSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateOrUpdateSourceControlSlot", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdateSourceControlSlotPreparer prepares the CreateOrUpdateSourceControlSlot request. +func (client AppsClient) CreateOrUpdateSourceControlSlotPreparer(ctx context.Context, resourceGroupName string, name string, siteSourceControl SiteSourceControl, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/sourcecontrols/web", pathParameters), + autorest.WithJSON(siteSourceControl), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSourceControlSlotSender sends the CreateOrUpdateSourceControlSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) CreateOrUpdateSourceControlSlotSender(req *http.Request) (future AppsCreateOrUpdateSourceControlSlotFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateSourceControlSlotResponder handles the response to the CreateOrUpdateSourceControlSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) CreateOrUpdateSourceControlSlotResponder(resp *http.Response) (result SiteSourceControl, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// CreateOrUpdateSwiftVirtualNetworkConnection integrates this Web App with a Virtual Network. This requires that 1) +// "swiftSupported" is true when doing a GET against this resource, and 2) that the target Subnet has already been +// delegated, and is not +// in use by another App Service Plan other than the one this App is in. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// connectionEnvelope - properties of the Virtual Network connection. See example. +func (client AppsClient) CreateOrUpdateSwiftVirtualNetworkConnection(ctx context.Context, resourceGroupName string, name string, connectionEnvelope SwiftVirtualNetwork) (result SwiftVirtualNetwork, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.CreateOrUpdateSwiftVirtualNetworkConnection") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "CreateOrUpdateSwiftVirtualNetworkConnection", err.Error()) + } + + req, err := client.CreateOrUpdateSwiftVirtualNetworkConnectionPreparer(ctx, resourceGroupName, name, connectionEnvelope) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateOrUpdateSwiftVirtualNetworkConnection", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateSwiftVirtualNetworkConnectionSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateOrUpdateSwiftVirtualNetworkConnection", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateSwiftVirtualNetworkConnectionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateOrUpdateSwiftVirtualNetworkConnection", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdateSwiftVirtualNetworkConnectionPreparer prepares the CreateOrUpdateSwiftVirtualNetworkConnection request. +func (client AppsClient) CreateOrUpdateSwiftVirtualNetworkConnectionPreparer(ctx context.Context, resourceGroupName string, name string, connectionEnvelope SwiftVirtualNetwork) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/networkConfig/virtualNetwork", pathParameters), + autorest.WithJSON(connectionEnvelope), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSwiftVirtualNetworkConnectionSender sends the CreateOrUpdateSwiftVirtualNetworkConnection request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) CreateOrUpdateSwiftVirtualNetworkConnectionSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CreateOrUpdateSwiftVirtualNetworkConnectionResponder handles the response to the CreateOrUpdateSwiftVirtualNetworkConnection request. The method always +// closes the http.Response Body. +func (client AppsClient) CreateOrUpdateSwiftVirtualNetworkConnectionResponder(resp *http.Response) (result SwiftVirtualNetwork, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// CreateOrUpdateSwiftVirtualNetworkConnectionSlot integrates this Web App with a Virtual Network. This requires that +// 1) "swiftSupported" is true when doing a GET against this resource, and 2) that the target Subnet has already been +// delegated, and is not +// in use by another App Service Plan other than the one this App is in. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// connectionEnvelope - properties of the Virtual Network connection. See example. +// slot - name of the deployment slot. If a slot is not specified, the API will add or update connections for +// the production slot. +func (client AppsClient) CreateOrUpdateSwiftVirtualNetworkConnectionSlot(ctx context.Context, resourceGroupName string, name string, connectionEnvelope SwiftVirtualNetwork, slot string) (result SwiftVirtualNetwork, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.CreateOrUpdateSwiftVirtualNetworkConnectionSlot") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "CreateOrUpdateSwiftVirtualNetworkConnectionSlot", err.Error()) + } + + req, err := client.CreateOrUpdateSwiftVirtualNetworkConnectionSlotPreparer(ctx, resourceGroupName, name, connectionEnvelope, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateOrUpdateSwiftVirtualNetworkConnectionSlot", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateSwiftVirtualNetworkConnectionSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateOrUpdateSwiftVirtualNetworkConnectionSlot", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateSwiftVirtualNetworkConnectionSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateOrUpdateSwiftVirtualNetworkConnectionSlot", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdateSwiftVirtualNetworkConnectionSlotPreparer prepares the CreateOrUpdateSwiftVirtualNetworkConnectionSlot request. +func (client AppsClient) CreateOrUpdateSwiftVirtualNetworkConnectionSlotPreparer(ctx context.Context, resourceGroupName string, name string, connectionEnvelope SwiftVirtualNetwork, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/networkConfig/virtualNetwork", pathParameters), + autorest.WithJSON(connectionEnvelope), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSwiftVirtualNetworkConnectionSlotSender sends the CreateOrUpdateSwiftVirtualNetworkConnectionSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) CreateOrUpdateSwiftVirtualNetworkConnectionSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CreateOrUpdateSwiftVirtualNetworkConnectionSlotResponder handles the response to the CreateOrUpdateSwiftVirtualNetworkConnectionSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) CreateOrUpdateSwiftVirtualNetworkConnectionSlotResponder(resp *http.Response) (result SwiftVirtualNetwork, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// CreateOrUpdateVnetConnection adds a Virtual Network connection to an app or slot (PUT) or updates the connection +// properties (PATCH). +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// vnetName - name of an existing Virtual Network. +// connectionEnvelope - properties of the Virtual Network connection. See example. +func (client AppsClient) CreateOrUpdateVnetConnection(ctx context.Context, resourceGroupName string, name string, vnetName string, connectionEnvelope VnetInfo) (result VnetInfo, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.CreateOrUpdateVnetConnection") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "CreateOrUpdateVnetConnection", err.Error()) + } + + req, err := client.CreateOrUpdateVnetConnectionPreparer(ctx, resourceGroupName, name, vnetName, connectionEnvelope) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateOrUpdateVnetConnection", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateVnetConnectionSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateOrUpdateVnetConnection", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateVnetConnectionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateOrUpdateVnetConnection", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdateVnetConnectionPreparer prepares the CreateOrUpdateVnetConnection request. +func (client AppsClient) CreateOrUpdateVnetConnectionPreparer(ctx context.Context, resourceGroupName string, name string, vnetName string, connectionEnvelope VnetInfo) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "vnetName": autorest.Encode("path", vnetName), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/virtualNetworkConnections/{vnetName}", pathParameters), + autorest.WithJSON(connectionEnvelope), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateVnetConnectionSender sends the CreateOrUpdateVnetConnection request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) CreateOrUpdateVnetConnectionSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CreateOrUpdateVnetConnectionResponder handles the response to the CreateOrUpdateVnetConnection request. The method always +// closes the http.Response Body. +func (client AppsClient) CreateOrUpdateVnetConnectionResponder(resp *http.Response) (result VnetInfo, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// CreateOrUpdateVnetConnectionGateway adds a gateway to a connected Virtual Network (PUT) or updates it (PATCH). +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// vnetName - name of the Virtual Network. +// gatewayName - name of the gateway. Currently, the only supported string is "primary". +// connectionEnvelope - the properties to update this gateway with. +func (client AppsClient) CreateOrUpdateVnetConnectionGateway(ctx context.Context, resourceGroupName string, name string, vnetName string, gatewayName string, connectionEnvelope VnetGateway) (result VnetGateway, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.CreateOrUpdateVnetConnectionGateway") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}, + {TargetValue: connectionEnvelope, + Constraints: []validation.Constraint{{Target: "connectionEnvelope.VnetGatewayProperties", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "connectionEnvelope.VnetGatewayProperties.VpnPackageURI", Name: validation.Null, Rule: true, Chain: nil}}}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "CreateOrUpdateVnetConnectionGateway", err.Error()) + } + + req, err := client.CreateOrUpdateVnetConnectionGatewayPreparer(ctx, resourceGroupName, name, vnetName, gatewayName, connectionEnvelope) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateOrUpdateVnetConnectionGateway", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateVnetConnectionGatewaySender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateOrUpdateVnetConnectionGateway", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateVnetConnectionGatewayResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateOrUpdateVnetConnectionGateway", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdateVnetConnectionGatewayPreparer prepares the CreateOrUpdateVnetConnectionGateway request. +func (client AppsClient) CreateOrUpdateVnetConnectionGatewayPreparer(ctx context.Context, resourceGroupName string, name string, vnetName string, gatewayName string, connectionEnvelope VnetGateway) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "gatewayName": autorest.Encode("path", gatewayName), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "vnetName": autorest.Encode("path", vnetName), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/virtualNetworkConnections/{vnetName}/gateways/{gatewayName}", pathParameters), + autorest.WithJSON(connectionEnvelope), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateVnetConnectionGatewaySender sends the CreateOrUpdateVnetConnectionGateway request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) CreateOrUpdateVnetConnectionGatewaySender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CreateOrUpdateVnetConnectionGatewayResponder handles the response to the CreateOrUpdateVnetConnectionGateway request. The method always +// closes the http.Response Body. +func (client AppsClient) CreateOrUpdateVnetConnectionGatewayResponder(resp *http.Response) (result VnetGateway, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// CreateOrUpdateVnetConnectionGatewaySlot adds a gateway to a connected Virtual Network (PUT) or updates it (PATCH). +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// vnetName - name of the Virtual Network. +// gatewayName - name of the gateway. Currently, the only supported string is "primary". +// connectionEnvelope - the properties to update this gateway with. +// slot - name of the deployment slot. If a slot is not specified, the API will add or update a gateway for the +// production slot's Virtual Network. +func (client AppsClient) CreateOrUpdateVnetConnectionGatewaySlot(ctx context.Context, resourceGroupName string, name string, vnetName string, gatewayName string, connectionEnvelope VnetGateway, slot string) (result VnetGateway, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.CreateOrUpdateVnetConnectionGatewaySlot") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}, + {TargetValue: connectionEnvelope, + Constraints: []validation.Constraint{{Target: "connectionEnvelope.VnetGatewayProperties", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "connectionEnvelope.VnetGatewayProperties.VpnPackageURI", Name: validation.Null, Rule: true, Chain: nil}}}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "CreateOrUpdateVnetConnectionGatewaySlot", err.Error()) + } + + req, err := client.CreateOrUpdateVnetConnectionGatewaySlotPreparer(ctx, resourceGroupName, name, vnetName, gatewayName, connectionEnvelope, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateOrUpdateVnetConnectionGatewaySlot", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateVnetConnectionGatewaySlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateOrUpdateVnetConnectionGatewaySlot", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateVnetConnectionGatewaySlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateOrUpdateVnetConnectionGatewaySlot", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdateVnetConnectionGatewaySlotPreparer prepares the CreateOrUpdateVnetConnectionGatewaySlot request. +func (client AppsClient) CreateOrUpdateVnetConnectionGatewaySlotPreparer(ctx context.Context, resourceGroupName string, name string, vnetName string, gatewayName string, connectionEnvelope VnetGateway, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "gatewayName": autorest.Encode("path", gatewayName), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "vnetName": autorest.Encode("path", vnetName), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/virtualNetworkConnections/{vnetName}/gateways/{gatewayName}", pathParameters), + autorest.WithJSON(connectionEnvelope), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateVnetConnectionGatewaySlotSender sends the CreateOrUpdateVnetConnectionGatewaySlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) CreateOrUpdateVnetConnectionGatewaySlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CreateOrUpdateVnetConnectionGatewaySlotResponder handles the response to the CreateOrUpdateVnetConnectionGatewaySlot request. The method always +// closes the http.Response Body. +func (client AppsClient) CreateOrUpdateVnetConnectionGatewaySlotResponder(resp *http.Response) (result VnetGateway, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// CreateOrUpdateVnetConnectionSlot adds a Virtual Network connection to an app or slot (PUT) or updates the connection +// properties (PATCH). +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// vnetName - name of an existing Virtual Network. +// connectionEnvelope - properties of the Virtual Network connection. See example. +// slot - name of the deployment slot. If a slot is not specified, the API will add or update connections for +// the production slot. +func (client AppsClient) CreateOrUpdateVnetConnectionSlot(ctx context.Context, resourceGroupName string, name string, vnetName string, connectionEnvelope VnetInfo, slot string) (result VnetInfo, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.CreateOrUpdateVnetConnectionSlot") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "CreateOrUpdateVnetConnectionSlot", err.Error()) + } + + req, err := client.CreateOrUpdateVnetConnectionSlotPreparer(ctx, resourceGroupName, name, vnetName, connectionEnvelope, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateOrUpdateVnetConnectionSlot", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateVnetConnectionSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateOrUpdateVnetConnectionSlot", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateVnetConnectionSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "CreateOrUpdateVnetConnectionSlot", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdateVnetConnectionSlotPreparer prepares the CreateOrUpdateVnetConnectionSlot request. +func (client AppsClient) CreateOrUpdateVnetConnectionSlotPreparer(ctx context.Context, resourceGroupName string, name string, vnetName string, connectionEnvelope VnetInfo, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "vnetName": autorest.Encode("path", vnetName), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/virtualNetworkConnections/{vnetName}", pathParameters), + autorest.WithJSON(connectionEnvelope), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateVnetConnectionSlotSender sends the CreateOrUpdateVnetConnectionSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) CreateOrUpdateVnetConnectionSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CreateOrUpdateVnetConnectionSlotResponder handles the response to the CreateOrUpdateVnetConnectionSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) CreateOrUpdateVnetConnectionSlotResponder(resp *http.Response) (result VnetInfo, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete deletes a web, mobile, or API app, or one of the deployment slots. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app to delete. +// deleteMetrics - if true, web app metrics are also deleted. +// deleteEmptyServerFarm - specify true if the App Service plan will be empty after app deletion and you want +// to delete the empty App Service plan. By default, the empty App Service plan is not deleted. +func (client AppsClient) Delete(ctx context.Context, resourceGroupName string, name string, deleteMetrics *bool, deleteEmptyServerFarm *bool) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.Delete") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "Delete", err.Error()) + } + + req, err := client.DeletePreparer(ctx, resourceGroupName, name, deleteMetrics, deleteEmptyServerFarm) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "Delete", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.AppsClient", "Delete", resp, "Failure sending request") + return + } + + result, err = client.DeleteResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "Delete", resp, "Failure responding to request") + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client AppsClient) DeletePreparer(ctx context.Context, resourceGroupName string, name string, deleteMetrics *bool, deleteEmptyServerFarm *bool) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if deleteMetrics != nil { + queryParameters["deleteMetrics"] = autorest.Encode("query", *deleteMetrics) + } + if deleteEmptyServerFarm != nil { + queryParameters["deleteEmptyServerFarm"] = autorest.Encode("query", *deleteEmptyServerFarm) + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) DeleteSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client AppsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent, http.StatusNotFound), + autorest.ByClosing()) + result.Response = resp + return +} + +// DeleteBackup deletes a backup of an app by its ID. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// backupID - ID of the backup. +func (client AppsClient) DeleteBackup(ctx context.Context, resourceGroupName string, name string, backupID string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.DeleteBackup") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "DeleteBackup", err.Error()) + } + + req, err := client.DeleteBackupPreparer(ctx, resourceGroupName, name, backupID) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteBackup", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteBackupSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteBackup", resp, "Failure sending request") + return + } + + result, err = client.DeleteBackupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteBackup", resp, "Failure responding to request") + } + + return +} + +// DeleteBackupPreparer prepares the DeleteBackup request. +func (client AppsClient) DeleteBackupPreparer(ctx context.Context, resourceGroupName string, name string, backupID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "backupId": autorest.Encode("path", backupID), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/backups/{backupId}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteBackupSender sends the DeleteBackup request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) DeleteBackupSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeleteBackupResponder handles the response to the DeleteBackup request. The method always +// closes the http.Response Body. +func (client AppsClient) DeleteBackupResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByClosing()) + result.Response = resp + return +} + +// DeleteBackupConfiguration deletes the backup configuration of an app. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +func (client AppsClient) DeleteBackupConfiguration(ctx context.Context, resourceGroupName string, name string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.DeleteBackupConfiguration") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "DeleteBackupConfiguration", err.Error()) + } + + req, err := client.DeleteBackupConfigurationPreparer(ctx, resourceGroupName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteBackupConfiguration", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteBackupConfigurationSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteBackupConfiguration", resp, "Failure sending request") + return + } + + result, err = client.DeleteBackupConfigurationResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteBackupConfiguration", resp, "Failure responding to request") + } + + return +} + +// DeleteBackupConfigurationPreparer prepares the DeleteBackupConfiguration request. +func (client AppsClient) DeleteBackupConfigurationPreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/backup", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteBackupConfigurationSender sends the DeleteBackupConfiguration request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) DeleteBackupConfigurationSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeleteBackupConfigurationResponder handles the response to the DeleteBackupConfiguration request. The method always +// closes the http.Response Body. +func (client AppsClient) DeleteBackupConfigurationResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByClosing()) + result.Response = resp + return +} + +// DeleteBackupConfigurationSlot deletes the backup configuration of an app. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// slot - name of the deployment slot. If a slot is not specified, the API will delete the backup configuration +// for the production slot. +func (client AppsClient) DeleteBackupConfigurationSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.DeleteBackupConfigurationSlot") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "DeleteBackupConfigurationSlot", err.Error()) + } + + req, err := client.DeleteBackupConfigurationSlotPreparer(ctx, resourceGroupName, name, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteBackupConfigurationSlot", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteBackupConfigurationSlotSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteBackupConfigurationSlot", resp, "Failure sending request") + return + } + + result, err = client.DeleteBackupConfigurationSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteBackupConfigurationSlot", resp, "Failure responding to request") + } + + return +} + +// DeleteBackupConfigurationSlotPreparer prepares the DeleteBackupConfigurationSlot request. +func (client AppsClient) DeleteBackupConfigurationSlotPreparer(ctx context.Context, resourceGroupName string, name string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/backup", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteBackupConfigurationSlotSender sends the DeleteBackupConfigurationSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) DeleteBackupConfigurationSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeleteBackupConfigurationSlotResponder handles the response to the DeleteBackupConfigurationSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) DeleteBackupConfigurationSlotResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByClosing()) + result.Response = resp + return +} + +// DeleteBackupSlot deletes a backup of an app by its ID. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// backupID - ID of the backup. +// slot - name of the deployment slot. If a slot is not specified, the API will delete a backup of the +// production slot. +func (client AppsClient) DeleteBackupSlot(ctx context.Context, resourceGroupName string, name string, backupID string, slot string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.DeleteBackupSlot") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "DeleteBackupSlot", err.Error()) + } + + req, err := client.DeleteBackupSlotPreparer(ctx, resourceGroupName, name, backupID, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteBackupSlot", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteBackupSlotSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteBackupSlot", resp, "Failure sending request") + return + } + + result, err = client.DeleteBackupSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteBackupSlot", resp, "Failure responding to request") + } + + return +} + +// DeleteBackupSlotPreparer prepares the DeleteBackupSlot request. +func (client AppsClient) DeleteBackupSlotPreparer(ctx context.Context, resourceGroupName string, name string, backupID string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "backupId": autorest.Encode("path", backupID), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/backups/{backupId}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteBackupSlotSender sends the DeleteBackupSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) DeleteBackupSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeleteBackupSlotResponder handles the response to the DeleteBackupSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) DeleteBackupSlotResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByClosing()) + result.Response = resp + return +} + +// DeleteContinuousWebJob delete a continuous web job by its ID for an app, or a deployment slot. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - site name. +// webJobName - name of Web Job. +func (client AppsClient) DeleteContinuousWebJob(ctx context.Context, resourceGroupName string, name string, webJobName string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.DeleteContinuousWebJob") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "DeleteContinuousWebJob", err.Error()) + } + + req, err := client.DeleteContinuousWebJobPreparer(ctx, resourceGroupName, name, webJobName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteContinuousWebJob", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteContinuousWebJobSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteContinuousWebJob", resp, "Failure sending request") + return + } + + result, err = client.DeleteContinuousWebJobResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteContinuousWebJob", resp, "Failure responding to request") + } + + return +} + +// DeleteContinuousWebJobPreparer prepares the DeleteContinuousWebJob request. +func (client AppsClient) DeleteContinuousWebJobPreparer(ctx context.Context, resourceGroupName string, name string, webJobName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "webJobName": autorest.Encode("path", webJobName), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/continuouswebjobs/{webJobName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteContinuousWebJobSender sends the DeleteContinuousWebJob request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) DeleteContinuousWebJobSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeleteContinuousWebJobResponder handles the response to the DeleteContinuousWebJob request. The method always +// closes the http.Response Body. +func (client AppsClient) DeleteContinuousWebJobResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// DeleteContinuousWebJobSlot delete a continuous web job by its ID for an app, or a deployment slot. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - site name. +// webJobName - name of Web Job. +// slot - name of the deployment slot. If a slot is not specified, the API deletes a deployment for the +// production slot. +func (client AppsClient) DeleteContinuousWebJobSlot(ctx context.Context, resourceGroupName string, name string, webJobName string, slot string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.DeleteContinuousWebJobSlot") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "DeleteContinuousWebJobSlot", err.Error()) + } + + req, err := client.DeleteContinuousWebJobSlotPreparer(ctx, resourceGroupName, name, webJobName, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteContinuousWebJobSlot", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteContinuousWebJobSlotSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteContinuousWebJobSlot", resp, "Failure sending request") + return + } + + result, err = client.DeleteContinuousWebJobSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteContinuousWebJobSlot", resp, "Failure responding to request") + } + + return +} + +// DeleteContinuousWebJobSlotPreparer prepares the DeleteContinuousWebJobSlot request. +func (client AppsClient) DeleteContinuousWebJobSlotPreparer(ctx context.Context, resourceGroupName string, name string, webJobName string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "webJobName": autorest.Encode("path", webJobName), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/continuouswebjobs/{webJobName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteContinuousWebJobSlotSender sends the DeleteContinuousWebJobSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) DeleteContinuousWebJobSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeleteContinuousWebJobSlotResponder handles the response to the DeleteContinuousWebJobSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) DeleteContinuousWebJobSlotResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// DeleteDeployment delete a deployment by its ID for an app, or a deployment slot. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// ID - deployment ID. +func (client AppsClient) DeleteDeployment(ctx context.Context, resourceGroupName string, name string, ID string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.DeleteDeployment") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "DeleteDeployment", err.Error()) + } + + req, err := client.DeleteDeploymentPreparer(ctx, resourceGroupName, name, ID) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteDeployment", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteDeploymentSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteDeployment", resp, "Failure sending request") + return + } + + result, err = client.DeleteDeploymentResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteDeployment", resp, "Failure responding to request") + } + + return +} + +// DeleteDeploymentPreparer prepares the DeleteDeployment request. +func (client AppsClient) DeleteDeploymentPreparer(ctx context.Context, resourceGroupName string, name string, ID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "id": autorest.Encode("path", ID), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/deployments/{id}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteDeploymentSender sends the DeleteDeployment request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) DeleteDeploymentSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeleteDeploymentResponder handles the response to the DeleteDeployment request. The method always +// closes the http.Response Body. +func (client AppsClient) DeleteDeploymentResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// DeleteDeploymentSlot delete a deployment by its ID for an app, or a deployment slot. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// ID - deployment ID. +// slot - name of the deployment slot. If a slot is not specified, the API deletes a deployment for the +// production slot. +func (client AppsClient) DeleteDeploymentSlot(ctx context.Context, resourceGroupName string, name string, ID string, slot string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.DeleteDeploymentSlot") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "DeleteDeploymentSlot", err.Error()) + } + + req, err := client.DeleteDeploymentSlotPreparer(ctx, resourceGroupName, name, ID, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteDeploymentSlot", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteDeploymentSlotSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteDeploymentSlot", resp, "Failure sending request") + return + } + + result, err = client.DeleteDeploymentSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteDeploymentSlot", resp, "Failure responding to request") + } + + return +} + +// DeleteDeploymentSlotPreparer prepares the DeleteDeploymentSlot request. +func (client AppsClient) DeleteDeploymentSlotPreparer(ctx context.Context, resourceGroupName string, name string, ID string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "id": autorest.Encode("path", ID), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/deployments/{id}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteDeploymentSlotSender sends the DeleteDeploymentSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) DeleteDeploymentSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeleteDeploymentSlotResponder handles the response to the DeleteDeploymentSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) DeleteDeploymentSlotResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// DeleteDomainOwnershipIdentifier deletes a domain ownership identifier for a web app. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// domainOwnershipIdentifierName - name of domain ownership identifier. +func (client AppsClient) DeleteDomainOwnershipIdentifier(ctx context.Context, resourceGroupName string, name string, domainOwnershipIdentifierName string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.DeleteDomainOwnershipIdentifier") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "DeleteDomainOwnershipIdentifier", err.Error()) + } + + req, err := client.DeleteDomainOwnershipIdentifierPreparer(ctx, resourceGroupName, name, domainOwnershipIdentifierName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteDomainOwnershipIdentifier", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteDomainOwnershipIdentifierSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteDomainOwnershipIdentifier", resp, "Failure sending request") + return + } + + result, err = client.DeleteDomainOwnershipIdentifierResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteDomainOwnershipIdentifier", resp, "Failure responding to request") + } + + return +} + +// DeleteDomainOwnershipIdentifierPreparer prepares the DeleteDomainOwnershipIdentifier request. +func (client AppsClient) DeleteDomainOwnershipIdentifierPreparer(ctx context.Context, resourceGroupName string, name string, domainOwnershipIdentifierName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "domainOwnershipIdentifierName": autorest.Encode("path", domainOwnershipIdentifierName), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/domainOwnershipIdentifiers/{domainOwnershipIdentifierName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteDomainOwnershipIdentifierSender sends the DeleteDomainOwnershipIdentifier request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) DeleteDomainOwnershipIdentifierSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeleteDomainOwnershipIdentifierResponder handles the response to the DeleteDomainOwnershipIdentifier request. The method always +// closes the http.Response Body. +func (client AppsClient) DeleteDomainOwnershipIdentifierResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// DeleteDomainOwnershipIdentifierSlot deletes a domain ownership identifier for a web app. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// domainOwnershipIdentifierName - name of domain ownership identifier. +// slot - name of the deployment slot. If a slot is not specified, the API will delete the binding for the +// production slot. +func (client AppsClient) DeleteDomainOwnershipIdentifierSlot(ctx context.Context, resourceGroupName string, name string, domainOwnershipIdentifierName string, slot string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.DeleteDomainOwnershipIdentifierSlot") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "DeleteDomainOwnershipIdentifierSlot", err.Error()) + } + + req, err := client.DeleteDomainOwnershipIdentifierSlotPreparer(ctx, resourceGroupName, name, domainOwnershipIdentifierName, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteDomainOwnershipIdentifierSlot", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteDomainOwnershipIdentifierSlotSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteDomainOwnershipIdentifierSlot", resp, "Failure sending request") + return + } + + result, err = client.DeleteDomainOwnershipIdentifierSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteDomainOwnershipIdentifierSlot", resp, "Failure responding to request") + } + + return +} + +// DeleteDomainOwnershipIdentifierSlotPreparer prepares the DeleteDomainOwnershipIdentifierSlot request. +func (client AppsClient) DeleteDomainOwnershipIdentifierSlotPreparer(ctx context.Context, resourceGroupName string, name string, domainOwnershipIdentifierName string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "domainOwnershipIdentifierName": autorest.Encode("path", domainOwnershipIdentifierName), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/domainOwnershipIdentifiers/{domainOwnershipIdentifierName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteDomainOwnershipIdentifierSlotSender sends the DeleteDomainOwnershipIdentifierSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) DeleteDomainOwnershipIdentifierSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeleteDomainOwnershipIdentifierSlotResponder handles the response to the DeleteDomainOwnershipIdentifierSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) DeleteDomainOwnershipIdentifierSlotResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// DeleteFunction delete a function for web site, or a deployment slot. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - site name. +// functionName - function name. +func (client AppsClient) DeleteFunction(ctx context.Context, resourceGroupName string, name string, functionName string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.DeleteFunction") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "DeleteFunction", err.Error()) + } + + req, err := client.DeleteFunctionPreparer(ctx, resourceGroupName, name, functionName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteFunction", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteFunctionSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteFunction", resp, "Failure sending request") + return + } + + result, err = client.DeleteFunctionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteFunction", resp, "Failure responding to request") + } + + return +} + +// DeleteFunctionPreparer prepares the DeleteFunction request. +func (client AppsClient) DeleteFunctionPreparer(ctx context.Context, resourceGroupName string, name string, functionName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "functionName": autorest.Encode("path", functionName), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/functions/{functionName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteFunctionSender sends the DeleteFunction request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) DeleteFunctionSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeleteFunctionResponder handles the response to the DeleteFunction request. The method always +// closes the http.Response Body. +func (client AppsClient) DeleteFunctionResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent, http.StatusNotFound), + autorest.ByClosing()) + result.Response = resp + return +} + +// DeleteHostNameBinding deletes a hostname binding for an app. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// hostName - hostname in the hostname binding. +func (client AppsClient) DeleteHostNameBinding(ctx context.Context, resourceGroupName string, name string, hostName string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.DeleteHostNameBinding") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "DeleteHostNameBinding", err.Error()) + } + + req, err := client.DeleteHostNameBindingPreparer(ctx, resourceGroupName, name, hostName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteHostNameBinding", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteHostNameBindingSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteHostNameBinding", resp, "Failure sending request") + return + } + + result, err = client.DeleteHostNameBindingResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteHostNameBinding", resp, "Failure responding to request") + } + + return +} + +// DeleteHostNameBindingPreparer prepares the DeleteHostNameBinding request. +func (client AppsClient) DeleteHostNameBindingPreparer(ctx context.Context, resourceGroupName string, name string, hostName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "hostName": autorest.Encode("path", hostName), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hostNameBindings/{hostName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteHostNameBindingSender sends the DeleteHostNameBinding request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) DeleteHostNameBindingSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeleteHostNameBindingResponder handles the response to the DeleteHostNameBinding request. The method always +// closes the http.Response Body. +func (client AppsClient) DeleteHostNameBindingResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// DeleteHostNameBindingSlot deletes a hostname binding for an app. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// slot - name of the deployment slot. If a slot is not specified, the API will delete the binding for the +// production slot. +// hostName - hostname in the hostname binding. +func (client AppsClient) DeleteHostNameBindingSlot(ctx context.Context, resourceGroupName string, name string, slot string, hostName string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.DeleteHostNameBindingSlot") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "DeleteHostNameBindingSlot", err.Error()) + } + + req, err := client.DeleteHostNameBindingSlotPreparer(ctx, resourceGroupName, name, slot, hostName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteHostNameBindingSlot", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteHostNameBindingSlotSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteHostNameBindingSlot", resp, "Failure sending request") + return + } + + result, err = client.DeleteHostNameBindingSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteHostNameBindingSlot", resp, "Failure responding to request") + } + + return +} + +// DeleteHostNameBindingSlotPreparer prepares the DeleteHostNameBindingSlot request. +func (client AppsClient) DeleteHostNameBindingSlotPreparer(ctx context.Context, resourceGroupName string, name string, slot string, hostName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "hostName": autorest.Encode("path", hostName), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hostNameBindings/{hostName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteHostNameBindingSlotSender sends the DeleteHostNameBindingSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) DeleteHostNameBindingSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeleteHostNameBindingSlotResponder handles the response to the DeleteHostNameBindingSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) DeleteHostNameBindingSlotResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// DeleteHybridConnection removes a Hybrid Connection from this site. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - the name of the web app. +// namespaceName - the namespace for this hybrid connection. +// relayName - the relay name for this hybrid connection. +func (client AppsClient) DeleteHybridConnection(ctx context.Context, resourceGroupName string, name string, namespaceName string, relayName string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.DeleteHybridConnection") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "DeleteHybridConnection", err.Error()) + } + + req, err := client.DeleteHybridConnectionPreparer(ctx, resourceGroupName, name, namespaceName, relayName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteHybridConnection", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteHybridConnectionSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteHybridConnection", resp, "Failure sending request") + return + } + + result, err = client.DeleteHybridConnectionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteHybridConnection", resp, "Failure responding to request") + } + + return +} + +// DeleteHybridConnectionPreparer prepares the DeleteHybridConnection request. +func (client AppsClient) DeleteHybridConnectionPreparer(ctx context.Context, resourceGroupName string, name string, namespaceName string, relayName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "namespaceName": autorest.Encode("path", namespaceName), + "relayName": autorest.Encode("path", relayName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteHybridConnectionSender sends the DeleteHybridConnection request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) DeleteHybridConnectionSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeleteHybridConnectionResponder handles the response to the DeleteHybridConnection request. The method always +// closes the http.Response Body. +func (client AppsClient) DeleteHybridConnectionResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByClosing()) + result.Response = resp + return +} + +// DeleteHybridConnectionSlot removes a Hybrid Connection from this site. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - the name of the web app. +// namespaceName - the namespace for this hybrid connection. +// relayName - the relay name for this hybrid connection. +// slot - the name of the slot for the web app. +func (client AppsClient) DeleteHybridConnectionSlot(ctx context.Context, resourceGroupName string, name string, namespaceName string, relayName string, slot string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.DeleteHybridConnectionSlot") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "DeleteHybridConnectionSlot", err.Error()) + } + + req, err := client.DeleteHybridConnectionSlotPreparer(ctx, resourceGroupName, name, namespaceName, relayName, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteHybridConnectionSlot", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteHybridConnectionSlotSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteHybridConnectionSlot", resp, "Failure sending request") + return + } + + result, err = client.DeleteHybridConnectionSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteHybridConnectionSlot", resp, "Failure responding to request") + } + + return +} + +// DeleteHybridConnectionSlotPreparer prepares the DeleteHybridConnectionSlot request. +func (client AppsClient) DeleteHybridConnectionSlotPreparer(ctx context.Context, resourceGroupName string, name string, namespaceName string, relayName string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "namespaceName": autorest.Encode("path", namespaceName), + "relayName": autorest.Encode("path", relayName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteHybridConnectionSlotSender sends the DeleteHybridConnectionSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) DeleteHybridConnectionSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeleteHybridConnectionSlotResponder handles the response to the DeleteHybridConnectionSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) DeleteHybridConnectionSlotResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByClosing()) + result.Response = resp + return +} + +// DeleteInstanceFunctionSlot delete a function for web site, or a deployment slot. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - site name. +// functionName - function name. +// slot - name of the deployment slot. If a slot is not specified, the API deletes a deployment for the +// production slot. +func (client AppsClient) DeleteInstanceFunctionSlot(ctx context.Context, resourceGroupName string, name string, functionName string, slot string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.DeleteInstanceFunctionSlot") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "DeleteInstanceFunctionSlot", err.Error()) + } + + req, err := client.DeleteInstanceFunctionSlotPreparer(ctx, resourceGroupName, name, functionName, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteInstanceFunctionSlot", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteInstanceFunctionSlotSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteInstanceFunctionSlot", resp, "Failure sending request") + return + } + + result, err = client.DeleteInstanceFunctionSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteInstanceFunctionSlot", resp, "Failure responding to request") + } + + return +} + +// DeleteInstanceFunctionSlotPreparer prepares the DeleteInstanceFunctionSlot request. +func (client AppsClient) DeleteInstanceFunctionSlotPreparer(ctx context.Context, resourceGroupName string, name string, functionName string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "functionName": autorest.Encode("path", functionName), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/functions/{functionName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteInstanceFunctionSlotSender sends the DeleteInstanceFunctionSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) DeleteInstanceFunctionSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeleteInstanceFunctionSlotResponder handles the response to the DeleteInstanceFunctionSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) DeleteInstanceFunctionSlotResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent, http.StatusNotFound), + autorest.ByClosing()) + result.Response = resp + return +} + +// DeleteInstanceProcess terminate a process by its ID for a web site, or a deployment slot, or specific scaled-out +// instance in a web site. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - site name. +// processID - pID. +// instanceID - ID of a specific scaled-out instance. This is the value of the name property in the JSON +// response from "GET api/sites/{siteName}/instances". +func (client AppsClient) DeleteInstanceProcess(ctx context.Context, resourceGroupName string, name string, processID string, instanceID string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.DeleteInstanceProcess") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "DeleteInstanceProcess", err.Error()) + } + + req, err := client.DeleteInstanceProcessPreparer(ctx, resourceGroupName, name, processID, instanceID) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteInstanceProcess", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteInstanceProcessSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteInstanceProcess", resp, "Failure sending request") + return + } + + result, err = client.DeleteInstanceProcessResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteInstanceProcess", resp, "Failure responding to request") + } + + return +} + +// DeleteInstanceProcessPreparer prepares the DeleteInstanceProcess request. +func (client AppsClient) DeleteInstanceProcessPreparer(ctx context.Context, resourceGroupName string, name string, processID string, instanceID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "instanceId": autorest.Encode("path", instanceID), + "name": autorest.Encode("path", name), + "processId": autorest.Encode("path", processID), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/processes/{processId}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteInstanceProcessSender sends the DeleteInstanceProcess request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) DeleteInstanceProcessSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeleteInstanceProcessResponder handles the response to the DeleteInstanceProcess request. The method always +// closes the http.Response Body. +func (client AppsClient) DeleteInstanceProcessResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent, http.StatusNotFound), + autorest.ByClosing()) + result.Response = resp + return +} + +// DeleteInstanceProcessSlot terminate a process by its ID for a web site, or a deployment slot, or specific scaled-out +// instance in a web site. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - site name. +// processID - pID. +// slot - name of the deployment slot. If a slot is not specified, the API returns deployments for the +// production slot. +// instanceID - ID of a specific scaled-out instance. This is the value of the name property in the JSON +// response from "GET api/sites/{siteName}/instances". +func (client AppsClient) DeleteInstanceProcessSlot(ctx context.Context, resourceGroupName string, name string, processID string, slot string, instanceID string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.DeleteInstanceProcessSlot") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "DeleteInstanceProcessSlot", err.Error()) + } + + req, err := client.DeleteInstanceProcessSlotPreparer(ctx, resourceGroupName, name, processID, slot, instanceID) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteInstanceProcessSlot", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteInstanceProcessSlotSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteInstanceProcessSlot", resp, "Failure sending request") + return + } + + result, err = client.DeleteInstanceProcessSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteInstanceProcessSlot", resp, "Failure responding to request") + } + + return +} + +// DeleteInstanceProcessSlotPreparer prepares the DeleteInstanceProcessSlot request. +func (client AppsClient) DeleteInstanceProcessSlotPreparer(ctx context.Context, resourceGroupName string, name string, processID string, slot string, instanceID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "instanceId": autorest.Encode("path", instanceID), + "name": autorest.Encode("path", name), + "processId": autorest.Encode("path", processID), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/processes/{processId}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteInstanceProcessSlotSender sends the DeleteInstanceProcessSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) DeleteInstanceProcessSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeleteInstanceProcessSlotResponder handles the response to the DeleteInstanceProcessSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) DeleteInstanceProcessSlotResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent, http.StatusNotFound), + autorest.ByClosing()) + result.Response = resp + return +} + +// DeletePremierAddOn delete a premier add-on from an app. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// premierAddOnName - add-on name. +func (client AppsClient) DeletePremierAddOn(ctx context.Context, resourceGroupName string, name string, premierAddOnName string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.DeletePremierAddOn") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "DeletePremierAddOn", err.Error()) + } + + req, err := client.DeletePremierAddOnPreparer(ctx, resourceGroupName, name, premierAddOnName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeletePremierAddOn", nil, "Failure preparing request") + return + } + + resp, err := client.DeletePremierAddOnSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeletePremierAddOn", resp, "Failure sending request") + return + } + + result, err = client.DeletePremierAddOnResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeletePremierAddOn", resp, "Failure responding to request") + } + + return +} + +// DeletePremierAddOnPreparer prepares the DeletePremierAddOn request. +func (client AppsClient) DeletePremierAddOnPreparer(ctx context.Context, resourceGroupName string, name string, premierAddOnName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "premierAddOnName": autorest.Encode("path", premierAddOnName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/premieraddons/{premierAddOnName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeletePremierAddOnSender sends the DeletePremierAddOn request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) DeletePremierAddOnSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeletePremierAddOnResponder handles the response to the DeletePremierAddOn request. The method always +// closes the http.Response Body. +func (client AppsClient) DeletePremierAddOnResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByClosing()) + result.Response = resp + return +} + +// DeletePremierAddOnSlot delete a premier add-on from an app. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// premierAddOnName - add-on name. +// slot - name of the deployment slot. If a slot is not specified, the API will delete the named add-on for the +// production slot. +func (client AppsClient) DeletePremierAddOnSlot(ctx context.Context, resourceGroupName string, name string, premierAddOnName string, slot string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.DeletePremierAddOnSlot") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "DeletePremierAddOnSlot", err.Error()) + } + + req, err := client.DeletePremierAddOnSlotPreparer(ctx, resourceGroupName, name, premierAddOnName, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeletePremierAddOnSlot", nil, "Failure preparing request") + return + } + + resp, err := client.DeletePremierAddOnSlotSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeletePremierAddOnSlot", resp, "Failure sending request") + return + } + + result, err = client.DeletePremierAddOnSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeletePremierAddOnSlot", resp, "Failure responding to request") + } + + return +} + +// DeletePremierAddOnSlotPreparer prepares the DeletePremierAddOnSlot request. +func (client AppsClient) DeletePremierAddOnSlotPreparer(ctx context.Context, resourceGroupName string, name string, premierAddOnName string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "premierAddOnName": autorest.Encode("path", premierAddOnName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/premieraddons/{premierAddOnName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeletePremierAddOnSlotSender sends the DeletePremierAddOnSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) DeletePremierAddOnSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeletePremierAddOnSlotResponder handles the response to the DeletePremierAddOnSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) DeletePremierAddOnSlotResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByClosing()) + result.Response = resp + return +} + +// DeleteProcess terminate a process by its ID for a web site, or a deployment slot, or specific scaled-out instance in +// a web site. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - site name. +// processID - pID. +func (client AppsClient) DeleteProcess(ctx context.Context, resourceGroupName string, name string, processID string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.DeleteProcess") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "DeleteProcess", err.Error()) + } + + req, err := client.DeleteProcessPreparer(ctx, resourceGroupName, name, processID) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteProcess", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteProcessSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteProcess", resp, "Failure sending request") + return + } + + result, err = client.DeleteProcessResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteProcess", resp, "Failure responding to request") + } + + return +} + +// DeleteProcessPreparer prepares the DeleteProcess request. +func (client AppsClient) DeleteProcessPreparer(ctx context.Context, resourceGroupName string, name string, processID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "processId": autorest.Encode("path", processID), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/processes/{processId}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteProcessSender sends the DeleteProcess request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) DeleteProcessSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeleteProcessResponder handles the response to the DeleteProcess request. The method always +// closes the http.Response Body. +func (client AppsClient) DeleteProcessResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent, http.StatusNotFound), + autorest.ByClosing()) + result.Response = resp + return +} + +// DeleteProcessSlot terminate a process by its ID for a web site, or a deployment slot, or specific scaled-out +// instance in a web site. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - site name. +// processID - pID. +// slot - name of the deployment slot. If a slot is not specified, the API returns deployments for the +// production slot. +func (client AppsClient) DeleteProcessSlot(ctx context.Context, resourceGroupName string, name string, processID string, slot string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.DeleteProcessSlot") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "DeleteProcessSlot", err.Error()) + } + + req, err := client.DeleteProcessSlotPreparer(ctx, resourceGroupName, name, processID, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteProcessSlot", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteProcessSlotSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteProcessSlot", resp, "Failure sending request") + return + } + + result, err = client.DeleteProcessSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteProcessSlot", resp, "Failure responding to request") + } + + return +} + +// DeleteProcessSlotPreparer prepares the DeleteProcessSlot request. +func (client AppsClient) DeleteProcessSlotPreparer(ctx context.Context, resourceGroupName string, name string, processID string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "processId": autorest.Encode("path", processID), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/processes/{processId}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteProcessSlotSender sends the DeleteProcessSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) DeleteProcessSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeleteProcessSlotResponder handles the response to the DeleteProcessSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) DeleteProcessSlotResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent, http.StatusNotFound), + autorest.ByClosing()) + result.Response = resp + return +} + +// DeletePublicCertificate deletes a hostname binding for an app. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// publicCertificateName - public certificate name. +func (client AppsClient) DeletePublicCertificate(ctx context.Context, resourceGroupName string, name string, publicCertificateName string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.DeletePublicCertificate") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "DeletePublicCertificate", err.Error()) + } + + req, err := client.DeletePublicCertificatePreparer(ctx, resourceGroupName, name, publicCertificateName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeletePublicCertificate", nil, "Failure preparing request") + return + } + + resp, err := client.DeletePublicCertificateSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeletePublicCertificate", resp, "Failure sending request") + return + } + + result, err = client.DeletePublicCertificateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeletePublicCertificate", resp, "Failure responding to request") + } + + return +} + +// DeletePublicCertificatePreparer prepares the DeletePublicCertificate request. +func (client AppsClient) DeletePublicCertificatePreparer(ctx context.Context, resourceGroupName string, name string, publicCertificateName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "publicCertificateName": autorest.Encode("path", publicCertificateName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/publicCertificates/{publicCertificateName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeletePublicCertificateSender sends the DeletePublicCertificate request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) DeletePublicCertificateSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeletePublicCertificateResponder handles the response to the DeletePublicCertificate request. The method always +// closes the http.Response Body. +func (client AppsClient) DeletePublicCertificateResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// DeletePublicCertificateSlot deletes a hostname binding for an app. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// slot - name of the deployment slot. If a slot is not specified, the API will delete the binding for the +// production slot. +// publicCertificateName - public certificate name. +func (client AppsClient) DeletePublicCertificateSlot(ctx context.Context, resourceGroupName string, name string, slot string, publicCertificateName string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.DeletePublicCertificateSlot") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "DeletePublicCertificateSlot", err.Error()) + } + + req, err := client.DeletePublicCertificateSlotPreparer(ctx, resourceGroupName, name, slot, publicCertificateName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeletePublicCertificateSlot", nil, "Failure preparing request") + return + } + + resp, err := client.DeletePublicCertificateSlotSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeletePublicCertificateSlot", resp, "Failure sending request") + return + } + + result, err = client.DeletePublicCertificateSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeletePublicCertificateSlot", resp, "Failure responding to request") + } + + return +} + +// DeletePublicCertificateSlotPreparer prepares the DeletePublicCertificateSlot request. +func (client AppsClient) DeletePublicCertificateSlotPreparer(ctx context.Context, resourceGroupName string, name string, slot string, publicCertificateName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "publicCertificateName": autorest.Encode("path", publicCertificateName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/publicCertificates/{publicCertificateName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeletePublicCertificateSlotSender sends the DeletePublicCertificateSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) DeletePublicCertificateSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeletePublicCertificateSlotResponder handles the response to the DeletePublicCertificateSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) DeletePublicCertificateSlotResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// DeleteRelayServiceConnection deletes a relay service connection by its name. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// entityName - name of the hybrid connection configuration. +func (client AppsClient) DeleteRelayServiceConnection(ctx context.Context, resourceGroupName string, name string, entityName string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.DeleteRelayServiceConnection") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "DeleteRelayServiceConnection", err.Error()) + } + + req, err := client.DeleteRelayServiceConnectionPreparer(ctx, resourceGroupName, name, entityName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteRelayServiceConnection", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteRelayServiceConnectionSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteRelayServiceConnection", resp, "Failure sending request") + return + } + + result, err = client.DeleteRelayServiceConnectionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteRelayServiceConnection", resp, "Failure responding to request") + } + + return +} + +// DeleteRelayServiceConnectionPreparer prepares the DeleteRelayServiceConnection request. +func (client AppsClient) DeleteRelayServiceConnectionPreparer(ctx context.Context, resourceGroupName string, name string, entityName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "entityName": autorest.Encode("path", entityName), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridconnection/{entityName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteRelayServiceConnectionSender sends the DeleteRelayServiceConnection request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) DeleteRelayServiceConnectionSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeleteRelayServiceConnectionResponder handles the response to the DeleteRelayServiceConnection request. The method always +// closes the http.Response Body. +func (client AppsClient) DeleteRelayServiceConnectionResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByClosing()) + result.Response = resp + return +} + +// DeleteRelayServiceConnectionSlot deletes a relay service connection by its name. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// entityName - name of the hybrid connection configuration. +// slot - name of the deployment slot. If a slot is not specified, the API will delete a hybrid connection for +// the production slot. +func (client AppsClient) DeleteRelayServiceConnectionSlot(ctx context.Context, resourceGroupName string, name string, entityName string, slot string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.DeleteRelayServiceConnectionSlot") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "DeleteRelayServiceConnectionSlot", err.Error()) + } + + req, err := client.DeleteRelayServiceConnectionSlotPreparer(ctx, resourceGroupName, name, entityName, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteRelayServiceConnectionSlot", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteRelayServiceConnectionSlotSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteRelayServiceConnectionSlot", resp, "Failure sending request") + return + } + + result, err = client.DeleteRelayServiceConnectionSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteRelayServiceConnectionSlot", resp, "Failure responding to request") + } + + return +} + +// DeleteRelayServiceConnectionSlotPreparer prepares the DeleteRelayServiceConnectionSlot request. +func (client AppsClient) DeleteRelayServiceConnectionSlotPreparer(ctx context.Context, resourceGroupName string, name string, entityName string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "entityName": autorest.Encode("path", entityName), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridconnection/{entityName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteRelayServiceConnectionSlotSender sends the DeleteRelayServiceConnectionSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) DeleteRelayServiceConnectionSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeleteRelayServiceConnectionSlotResponder handles the response to the DeleteRelayServiceConnectionSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) DeleteRelayServiceConnectionSlotResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByClosing()) + result.Response = resp + return +} + +// DeleteSiteExtension remove a site extension from a web site, or a deployment slot. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - site name. +// siteExtensionID - site extension name. +func (client AppsClient) DeleteSiteExtension(ctx context.Context, resourceGroupName string, name string, siteExtensionID string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.DeleteSiteExtension") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "DeleteSiteExtension", err.Error()) + } + + req, err := client.DeleteSiteExtensionPreparer(ctx, resourceGroupName, name, siteExtensionID) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteSiteExtension", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteSiteExtensionSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteSiteExtension", resp, "Failure sending request") + return + } + + result, err = client.DeleteSiteExtensionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteSiteExtension", resp, "Failure responding to request") + } + + return +} + +// DeleteSiteExtensionPreparer prepares the DeleteSiteExtension request. +func (client AppsClient) DeleteSiteExtensionPreparer(ctx context.Context, resourceGroupName string, name string, siteExtensionID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "siteExtensionId": autorest.Encode("path", siteExtensionID), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/siteextensions/{siteExtensionId}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSiteExtensionSender sends the DeleteSiteExtension request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) DeleteSiteExtensionSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeleteSiteExtensionResponder handles the response to the DeleteSiteExtension request. The method always +// closes the http.Response Body. +func (client AppsClient) DeleteSiteExtensionResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent, http.StatusNotFound), + autorest.ByClosing()) + result.Response = resp + return +} + +// DeleteSiteExtensionSlot remove a site extension from a web site, or a deployment slot. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - site name. +// siteExtensionID - site extension name. +// slot - name of the deployment slot. If a slot is not specified, the API deletes a deployment for the +// production slot. +func (client AppsClient) DeleteSiteExtensionSlot(ctx context.Context, resourceGroupName string, name string, siteExtensionID string, slot string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.DeleteSiteExtensionSlot") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "DeleteSiteExtensionSlot", err.Error()) + } + + req, err := client.DeleteSiteExtensionSlotPreparer(ctx, resourceGroupName, name, siteExtensionID, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteSiteExtensionSlot", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteSiteExtensionSlotSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteSiteExtensionSlot", resp, "Failure sending request") + return + } + + result, err = client.DeleteSiteExtensionSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteSiteExtensionSlot", resp, "Failure responding to request") + } + + return +} + +// DeleteSiteExtensionSlotPreparer prepares the DeleteSiteExtensionSlot request. +func (client AppsClient) DeleteSiteExtensionSlotPreparer(ctx context.Context, resourceGroupName string, name string, siteExtensionID string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "siteExtensionId": autorest.Encode("path", siteExtensionID), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/siteextensions/{siteExtensionId}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSiteExtensionSlotSender sends the DeleteSiteExtensionSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) DeleteSiteExtensionSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeleteSiteExtensionSlotResponder handles the response to the DeleteSiteExtensionSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) DeleteSiteExtensionSlotResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent, http.StatusNotFound), + autorest.ByClosing()) + result.Response = resp + return +} + +// DeleteSlot deletes a web, mobile, or API app, or one of the deployment slots. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app to delete. +// slot - name of the deployment slot to delete. By default, the API deletes the production slot. +// deleteMetrics - if true, web app metrics are also deleted. +// deleteEmptyServerFarm - specify true if the App Service plan will be empty after app deletion and you want +// to delete the empty App Service plan. By default, the empty App Service plan is not deleted. +func (client AppsClient) DeleteSlot(ctx context.Context, resourceGroupName string, name string, slot string, deleteMetrics *bool, deleteEmptyServerFarm *bool) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.DeleteSlot") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "DeleteSlot", err.Error()) + } + + req, err := client.DeleteSlotPreparer(ctx, resourceGroupName, name, slot, deleteMetrics, deleteEmptyServerFarm) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteSlot", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteSlotSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteSlot", resp, "Failure sending request") + return + } + + result, err = client.DeleteSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteSlot", resp, "Failure responding to request") + } + + return +} + +// DeleteSlotPreparer prepares the DeleteSlot request. +func (client AppsClient) DeleteSlotPreparer(ctx context.Context, resourceGroupName string, name string, slot string, deleteMetrics *bool, deleteEmptyServerFarm *bool) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if deleteMetrics != nil { + queryParameters["deleteMetrics"] = autorest.Encode("query", *deleteMetrics) + } + if deleteEmptyServerFarm != nil { + queryParameters["deleteEmptyServerFarm"] = autorest.Encode("query", *deleteEmptyServerFarm) + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSlotSender sends the DeleteSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) DeleteSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeleteSlotResponder handles the response to the DeleteSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) DeleteSlotResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent, http.StatusNotFound), + autorest.ByClosing()) + result.Response = resp + return +} + +// DeleteSourceControl deletes the source control configuration of an app. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +func (client AppsClient) DeleteSourceControl(ctx context.Context, resourceGroupName string, name string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.DeleteSourceControl") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "DeleteSourceControl", err.Error()) + } + + req, err := client.DeleteSourceControlPreparer(ctx, resourceGroupName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteSourceControl", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteSourceControlSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteSourceControl", resp, "Failure sending request") + return + } + + result, err = client.DeleteSourceControlResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteSourceControl", resp, "Failure responding to request") + } + + return +} + +// DeleteSourceControlPreparer prepares the DeleteSourceControl request. +func (client AppsClient) DeleteSourceControlPreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/sourcecontrols/web", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSourceControlSender sends the DeleteSourceControl request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) DeleteSourceControlSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeleteSourceControlResponder handles the response to the DeleteSourceControl request. The method always +// closes the http.Response Body. +func (client AppsClient) DeleteSourceControlResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNotFound), + autorest.ByClosing()) + result.Response = resp + return +} + +// DeleteSourceControlSlot deletes the source control configuration of an app. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// slot - name of the deployment slot. If a slot is not specified, the API will delete the source control +// configuration for the production slot. +func (client AppsClient) DeleteSourceControlSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.DeleteSourceControlSlot") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "DeleteSourceControlSlot", err.Error()) + } + + req, err := client.DeleteSourceControlSlotPreparer(ctx, resourceGroupName, name, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteSourceControlSlot", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteSourceControlSlotSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteSourceControlSlot", resp, "Failure sending request") + return + } + + result, err = client.DeleteSourceControlSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteSourceControlSlot", resp, "Failure responding to request") + } + + return +} + +// DeleteSourceControlSlotPreparer prepares the DeleteSourceControlSlot request. +func (client AppsClient) DeleteSourceControlSlotPreparer(ctx context.Context, resourceGroupName string, name string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/sourcecontrols/web", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSourceControlSlotSender sends the DeleteSourceControlSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) DeleteSourceControlSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeleteSourceControlSlotResponder handles the response to the DeleteSourceControlSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) DeleteSourceControlSlotResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNotFound), + autorest.ByClosing()) + result.Response = resp + return +} + +// DeleteSwiftVirtualNetwork deletes a Swift Virtual Network connection from an app (or deployment slot). +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +func (client AppsClient) DeleteSwiftVirtualNetwork(ctx context.Context, resourceGroupName string, name string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.DeleteSwiftVirtualNetwork") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "DeleteSwiftVirtualNetwork", err.Error()) + } + + req, err := client.DeleteSwiftVirtualNetworkPreparer(ctx, resourceGroupName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteSwiftVirtualNetwork", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteSwiftVirtualNetworkSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteSwiftVirtualNetwork", resp, "Failure sending request") + return + } + + result, err = client.DeleteSwiftVirtualNetworkResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteSwiftVirtualNetwork", resp, "Failure responding to request") + } + + return +} + +// DeleteSwiftVirtualNetworkPreparer prepares the DeleteSwiftVirtualNetwork request. +func (client AppsClient) DeleteSwiftVirtualNetworkPreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/networkConfig/virtualNetwork", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSwiftVirtualNetworkSender sends the DeleteSwiftVirtualNetwork request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) DeleteSwiftVirtualNetworkSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeleteSwiftVirtualNetworkResponder handles the response to the DeleteSwiftVirtualNetwork request. The method always +// closes the http.Response Body. +func (client AppsClient) DeleteSwiftVirtualNetworkResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByClosing()) + result.Response = resp + return +} + +// DeleteSwiftVirtualNetworkSlot deletes a Swift Virtual Network connection from an app (or deployment slot). +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// slot - name of the deployment slot. If a slot is not specified, the API will delete the connection for the +// production slot. +func (client AppsClient) DeleteSwiftVirtualNetworkSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.DeleteSwiftVirtualNetworkSlot") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "DeleteSwiftVirtualNetworkSlot", err.Error()) + } + + req, err := client.DeleteSwiftVirtualNetworkSlotPreparer(ctx, resourceGroupName, name, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteSwiftVirtualNetworkSlot", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteSwiftVirtualNetworkSlotSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteSwiftVirtualNetworkSlot", resp, "Failure sending request") + return + } + + result, err = client.DeleteSwiftVirtualNetworkSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteSwiftVirtualNetworkSlot", resp, "Failure responding to request") + } + + return +} + +// DeleteSwiftVirtualNetworkSlotPreparer prepares the DeleteSwiftVirtualNetworkSlot request. +func (client AppsClient) DeleteSwiftVirtualNetworkSlotPreparer(ctx context.Context, resourceGroupName string, name string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/networkConfig/virtualNetwork", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSwiftVirtualNetworkSlotSender sends the DeleteSwiftVirtualNetworkSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) DeleteSwiftVirtualNetworkSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeleteSwiftVirtualNetworkSlotResponder handles the response to the DeleteSwiftVirtualNetworkSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) DeleteSwiftVirtualNetworkSlotResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByClosing()) + result.Response = resp + return +} + +// DeleteTriggeredWebJob delete a triggered web job by its ID for an app, or a deployment slot. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - site name. +// webJobName - name of Web Job. +func (client AppsClient) DeleteTriggeredWebJob(ctx context.Context, resourceGroupName string, name string, webJobName string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.DeleteTriggeredWebJob") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "DeleteTriggeredWebJob", err.Error()) + } + + req, err := client.DeleteTriggeredWebJobPreparer(ctx, resourceGroupName, name, webJobName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteTriggeredWebJob", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteTriggeredWebJobSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteTriggeredWebJob", resp, "Failure sending request") + return + } + + result, err = client.DeleteTriggeredWebJobResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteTriggeredWebJob", resp, "Failure responding to request") + } + + return +} + +// DeleteTriggeredWebJobPreparer prepares the DeleteTriggeredWebJob request. +func (client AppsClient) DeleteTriggeredWebJobPreparer(ctx context.Context, resourceGroupName string, name string, webJobName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "webJobName": autorest.Encode("path", webJobName), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/triggeredwebjobs/{webJobName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteTriggeredWebJobSender sends the DeleteTriggeredWebJob request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) DeleteTriggeredWebJobSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeleteTriggeredWebJobResponder handles the response to the DeleteTriggeredWebJob request. The method always +// closes the http.Response Body. +func (client AppsClient) DeleteTriggeredWebJobResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// DeleteTriggeredWebJobSlot delete a triggered web job by its ID for an app, or a deployment slot. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - site name. +// webJobName - name of Web Job. +// slot - name of the deployment slot. If a slot is not specified, the API deletes a deployment for the +// production slot. +func (client AppsClient) DeleteTriggeredWebJobSlot(ctx context.Context, resourceGroupName string, name string, webJobName string, slot string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.DeleteTriggeredWebJobSlot") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "DeleteTriggeredWebJobSlot", err.Error()) + } + + req, err := client.DeleteTriggeredWebJobSlotPreparer(ctx, resourceGroupName, name, webJobName, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteTriggeredWebJobSlot", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteTriggeredWebJobSlotSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteTriggeredWebJobSlot", resp, "Failure sending request") + return + } + + result, err = client.DeleteTriggeredWebJobSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteTriggeredWebJobSlot", resp, "Failure responding to request") + } + + return +} + +// DeleteTriggeredWebJobSlotPreparer prepares the DeleteTriggeredWebJobSlot request. +func (client AppsClient) DeleteTriggeredWebJobSlotPreparer(ctx context.Context, resourceGroupName string, name string, webJobName string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "webJobName": autorest.Encode("path", webJobName), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/triggeredwebjobs/{webJobName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteTriggeredWebJobSlotSender sends the DeleteTriggeredWebJobSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) DeleteTriggeredWebJobSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeleteTriggeredWebJobSlotResponder handles the response to the DeleteTriggeredWebJobSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) DeleteTriggeredWebJobSlotResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// DeleteVnetConnection deletes a connection from an app (or deployment slot to a named virtual network. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// vnetName - name of the virtual network. +func (client AppsClient) DeleteVnetConnection(ctx context.Context, resourceGroupName string, name string, vnetName string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.DeleteVnetConnection") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "DeleteVnetConnection", err.Error()) + } + + req, err := client.DeleteVnetConnectionPreparer(ctx, resourceGroupName, name, vnetName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteVnetConnection", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteVnetConnectionSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteVnetConnection", resp, "Failure sending request") + return + } + + result, err = client.DeleteVnetConnectionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteVnetConnection", resp, "Failure responding to request") + } + + return +} + +// DeleteVnetConnectionPreparer prepares the DeleteVnetConnection request. +func (client AppsClient) DeleteVnetConnectionPreparer(ctx context.Context, resourceGroupName string, name string, vnetName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "vnetName": autorest.Encode("path", vnetName), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/virtualNetworkConnections/{vnetName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteVnetConnectionSender sends the DeleteVnetConnection request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) DeleteVnetConnectionSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeleteVnetConnectionResponder handles the response to the DeleteVnetConnection request. The method always +// closes the http.Response Body. +func (client AppsClient) DeleteVnetConnectionResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByClosing()) + result.Response = resp + return +} + +// DeleteVnetConnectionSlot deletes a connection from an app (or deployment slot to a named virtual network. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// vnetName - name of the virtual network. +// slot - name of the deployment slot. If a slot is not specified, the API will delete the connection for the +// production slot. +func (client AppsClient) DeleteVnetConnectionSlot(ctx context.Context, resourceGroupName string, name string, vnetName string, slot string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.DeleteVnetConnectionSlot") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "DeleteVnetConnectionSlot", err.Error()) + } + + req, err := client.DeleteVnetConnectionSlotPreparer(ctx, resourceGroupName, name, vnetName, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteVnetConnectionSlot", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteVnetConnectionSlotSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteVnetConnectionSlot", resp, "Failure sending request") + return + } + + result, err = client.DeleteVnetConnectionSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DeleteVnetConnectionSlot", resp, "Failure responding to request") + } + + return +} + +// DeleteVnetConnectionSlotPreparer prepares the DeleteVnetConnectionSlot request. +func (client AppsClient) DeleteVnetConnectionSlotPreparer(ctx context.Context, resourceGroupName string, name string, vnetName string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "vnetName": autorest.Encode("path", vnetName), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/virtualNetworkConnections/{vnetName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteVnetConnectionSlotSender sends the DeleteVnetConnectionSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) DeleteVnetConnectionSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeleteVnetConnectionSlotResponder handles the response to the DeleteVnetConnectionSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) DeleteVnetConnectionSlotResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByClosing()) + result.Response = resp + return +} + +// DiscoverBackup discovers an existing app backup that can be restored from a blob in Azure storage. Use this to get +// information about the databases stored in a backup. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// request - a RestoreRequest object that includes Azure storage URL and blog name for discovery of backup. +func (client AppsClient) DiscoverBackup(ctx context.Context, resourceGroupName string, name string, request RestoreRequest) (result RestoreRequest, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.DiscoverBackup") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}, + {TargetValue: request, + Constraints: []validation.Constraint{{Target: "request.RestoreRequestProperties", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "request.RestoreRequestProperties.StorageAccountURL", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "request.RestoreRequestProperties.Overwrite", Name: validation.Null, Rule: true, Chain: nil}, + }}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "DiscoverBackup", err.Error()) + } + + req, err := client.DiscoverBackupPreparer(ctx, resourceGroupName, name, request) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DiscoverBackup", nil, "Failure preparing request") + return + } + + resp, err := client.DiscoverBackupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "DiscoverBackup", resp, "Failure sending request") + return + } + + result, err = client.DiscoverBackupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DiscoverBackup", resp, "Failure responding to request") + } + + return +} + +// DiscoverBackupPreparer prepares the DiscoverBackup request. +func (client AppsClient) DiscoverBackupPreparer(ctx context.Context, resourceGroupName string, name string, request RestoreRequest) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/discoverbackup", pathParameters), + autorest.WithJSON(request), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DiscoverBackupSender sends the DiscoverBackup request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) DiscoverBackupSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// DiscoverBackupResponder handles the response to the DiscoverBackup request. The method always +// closes the http.Response Body. +func (client AppsClient) DiscoverBackupResponder(resp *http.Response) (result RestoreRequest, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// DiscoverBackupSlot discovers an existing app backup that can be restored from a blob in Azure storage. Use this to +// get information about the databases stored in a backup. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// request - a RestoreRequest object that includes Azure storage URL and blog name for discovery of backup. +// slot - name of the deployment slot. If a slot is not specified, the API will perform discovery for the +// production slot. +func (client AppsClient) DiscoverBackupSlot(ctx context.Context, resourceGroupName string, name string, request RestoreRequest, slot string) (result RestoreRequest, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.DiscoverBackupSlot") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}, + {TargetValue: request, + Constraints: []validation.Constraint{{Target: "request.RestoreRequestProperties", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "request.RestoreRequestProperties.StorageAccountURL", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "request.RestoreRequestProperties.Overwrite", Name: validation.Null, Rule: true, Chain: nil}, + }}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "DiscoverBackupSlot", err.Error()) + } + + req, err := client.DiscoverBackupSlotPreparer(ctx, resourceGroupName, name, request, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DiscoverBackupSlot", nil, "Failure preparing request") + return + } + + resp, err := client.DiscoverBackupSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "DiscoverBackupSlot", resp, "Failure sending request") + return + } + + result, err = client.DiscoverBackupSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "DiscoverBackupSlot", resp, "Failure responding to request") + } + + return +} + +// DiscoverBackupSlotPreparer prepares the DiscoverBackupSlot request. +func (client AppsClient) DiscoverBackupSlotPreparer(ctx context.Context, resourceGroupName string, name string, request RestoreRequest, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/discoverbackup", pathParameters), + autorest.WithJSON(request), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DiscoverBackupSlotSender sends the DiscoverBackupSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) DiscoverBackupSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// DiscoverBackupSlotResponder handles the response to the DiscoverBackupSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) DiscoverBackupSlotResponder(resp *http.Response) (result RestoreRequest, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GenerateNewSitePublishingPassword generates a new publishing password for an app (or deployment slot, if specified). +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +func (client AppsClient) GenerateNewSitePublishingPassword(ctx context.Context, resourceGroupName string, name string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.GenerateNewSitePublishingPassword") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "GenerateNewSitePublishingPassword", err.Error()) + } + + req, err := client.GenerateNewSitePublishingPasswordPreparer(ctx, resourceGroupName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GenerateNewSitePublishingPassword", nil, "Failure preparing request") + return + } + + resp, err := client.GenerateNewSitePublishingPasswordSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.AppsClient", "GenerateNewSitePublishingPassword", resp, "Failure sending request") + return + } + + result, err = client.GenerateNewSitePublishingPasswordResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GenerateNewSitePublishingPassword", resp, "Failure responding to request") + } + + return +} + +// GenerateNewSitePublishingPasswordPreparer prepares the GenerateNewSitePublishingPassword request. +func (client AppsClient) GenerateNewSitePublishingPasswordPreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/newpassword", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GenerateNewSitePublishingPasswordSender sends the GenerateNewSitePublishingPassword request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GenerateNewSitePublishingPasswordSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GenerateNewSitePublishingPasswordResponder handles the response to the GenerateNewSitePublishingPassword request. The method always +// closes the http.Response Body. +func (client AppsClient) GenerateNewSitePublishingPasswordResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// GenerateNewSitePublishingPasswordSlot generates a new publishing password for an app (or deployment slot, if +// specified). +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// slot - name of the deployment slot. If a slot is not specified, the API generate a new publishing password +// for the production slot. +func (client AppsClient) GenerateNewSitePublishingPasswordSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.GenerateNewSitePublishingPasswordSlot") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "GenerateNewSitePublishingPasswordSlot", err.Error()) + } + + req, err := client.GenerateNewSitePublishingPasswordSlotPreparer(ctx, resourceGroupName, name, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GenerateNewSitePublishingPasswordSlot", nil, "Failure preparing request") + return + } + + resp, err := client.GenerateNewSitePublishingPasswordSlotSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.AppsClient", "GenerateNewSitePublishingPasswordSlot", resp, "Failure sending request") + return + } + + result, err = client.GenerateNewSitePublishingPasswordSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GenerateNewSitePublishingPasswordSlot", resp, "Failure responding to request") + } + + return +} + +// GenerateNewSitePublishingPasswordSlotPreparer prepares the GenerateNewSitePublishingPasswordSlot request. +func (client AppsClient) GenerateNewSitePublishingPasswordSlotPreparer(ctx context.Context, resourceGroupName string, name string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/newpassword", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GenerateNewSitePublishingPasswordSlotSender sends the GenerateNewSitePublishingPasswordSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GenerateNewSitePublishingPasswordSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GenerateNewSitePublishingPasswordSlotResponder handles the response to the GenerateNewSitePublishingPasswordSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) GenerateNewSitePublishingPasswordSlotResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get gets the details of a web, mobile, or API app. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +func (client AppsClient) Get(ctx context.Context, resourceGroupName string, name string) (result Site, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "Get", err.Error()) + } + + req, err := client.GetPreparer(ctx, resourceGroupName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client AppsClient) GetPreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client AppsClient) GetResponder(resp *http.Response) (result Site, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetAuthSettings gets the Authentication/Authorization settings of an app. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +func (client AppsClient) GetAuthSettings(ctx context.Context, resourceGroupName string, name string) (result SiteAuthSettings, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.GetAuthSettings") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "GetAuthSettings", err.Error()) + } + + req, err := client.GetAuthSettingsPreparer(ctx, resourceGroupName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetAuthSettings", nil, "Failure preparing request") + return + } + + resp, err := client.GetAuthSettingsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetAuthSettings", resp, "Failure sending request") + return + } + + result, err = client.GetAuthSettingsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetAuthSettings", resp, "Failure responding to request") + } + + return +} + +// GetAuthSettingsPreparer prepares the GetAuthSettings request. +func (client AppsClient) GetAuthSettingsPreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/authsettings/list", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetAuthSettingsSender sends the GetAuthSettings request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetAuthSettingsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetAuthSettingsResponder handles the response to the GetAuthSettings request. The method always +// closes the http.Response Body. +func (client AppsClient) GetAuthSettingsResponder(resp *http.Response) (result SiteAuthSettings, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetAuthSettingsSlot gets the Authentication/Authorization settings of an app. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// slot - name of the deployment slot. If a slot is not specified, the API will get the settings for the +// production slot. +func (client AppsClient) GetAuthSettingsSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result SiteAuthSettings, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.GetAuthSettingsSlot") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "GetAuthSettingsSlot", err.Error()) + } + + req, err := client.GetAuthSettingsSlotPreparer(ctx, resourceGroupName, name, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetAuthSettingsSlot", nil, "Failure preparing request") + return + } + + resp, err := client.GetAuthSettingsSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetAuthSettingsSlot", resp, "Failure sending request") + return + } + + result, err = client.GetAuthSettingsSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetAuthSettingsSlot", resp, "Failure responding to request") + } + + return +} + +// GetAuthSettingsSlotPreparer prepares the GetAuthSettingsSlot request. +func (client AppsClient) GetAuthSettingsSlotPreparer(ctx context.Context, resourceGroupName string, name string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/authsettings/list", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetAuthSettingsSlotSender sends the GetAuthSettingsSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetAuthSettingsSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetAuthSettingsSlotResponder handles the response to the GetAuthSettingsSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) GetAuthSettingsSlotResponder(resp *http.Response) (result SiteAuthSettings, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetBackupConfiguration gets the backup configuration of an app. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +func (client AppsClient) GetBackupConfiguration(ctx context.Context, resourceGroupName string, name string) (result BackupRequest, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.GetBackupConfiguration") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "GetBackupConfiguration", err.Error()) + } + + req, err := client.GetBackupConfigurationPreparer(ctx, resourceGroupName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetBackupConfiguration", nil, "Failure preparing request") + return + } + + resp, err := client.GetBackupConfigurationSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetBackupConfiguration", resp, "Failure sending request") + return + } + + result, err = client.GetBackupConfigurationResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetBackupConfiguration", resp, "Failure responding to request") + } + + return +} + +// GetBackupConfigurationPreparer prepares the GetBackupConfiguration request. +func (client AppsClient) GetBackupConfigurationPreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/backup/list", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetBackupConfigurationSender sends the GetBackupConfiguration request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetBackupConfigurationSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetBackupConfigurationResponder handles the response to the GetBackupConfiguration request. The method always +// closes the http.Response Body. +func (client AppsClient) GetBackupConfigurationResponder(resp *http.Response) (result BackupRequest, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetBackupConfigurationSlot gets the backup configuration of an app. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// slot - name of the deployment slot. If a slot is not specified, the API will get the backup configuration +// for the production slot. +func (client AppsClient) GetBackupConfigurationSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result BackupRequest, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.GetBackupConfigurationSlot") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "GetBackupConfigurationSlot", err.Error()) + } + + req, err := client.GetBackupConfigurationSlotPreparer(ctx, resourceGroupName, name, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetBackupConfigurationSlot", nil, "Failure preparing request") + return + } + + resp, err := client.GetBackupConfigurationSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetBackupConfigurationSlot", resp, "Failure sending request") + return + } + + result, err = client.GetBackupConfigurationSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetBackupConfigurationSlot", resp, "Failure responding to request") + } + + return +} + +// GetBackupConfigurationSlotPreparer prepares the GetBackupConfigurationSlot request. +func (client AppsClient) GetBackupConfigurationSlotPreparer(ctx context.Context, resourceGroupName string, name string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/backup/list", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetBackupConfigurationSlotSender sends the GetBackupConfigurationSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetBackupConfigurationSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetBackupConfigurationSlotResponder handles the response to the GetBackupConfigurationSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) GetBackupConfigurationSlotResponder(resp *http.Response) (result BackupRequest, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetBackupStatus gets a backup of an app by its ID. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// backupID - ID of the backup. +func (client AppsClient) GetBackupStatus(ctx context.Context, resourceGroupName string, name string, backupID string) (result BackupItem, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.GetBackupStatus") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "GetBackupStatus", err.Error()) + } + + req, err := client.GetBackupStatusPreparer(ctx, resourceGroupName, name, backupID) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetBackupStatus", nil, "Failure preparing request") + return + } + + resp, err := client.GetBackupStatusSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetBackupStatus", resp, "Failure sending request") + return + } + + result, err = client.GetBackupStatusResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetBackupStatus", resp, "Failure responding to request") + } + + return +} + +// GetBackupStatusPreparer prepares the GetBackupStatus request. +func (client AppsClient) GetBackupStatusPreparer(ctx context.Context, resourceGroupName string, name string, backupID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "backupId": autorest.Encode("path", backupID), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/backups/{backupId}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetBackupStatusSender sends the GetBackupStatus request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetBackupStatusSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetBackupStatusResponder handles the response to the GetBackupStatus request. The method always +// closes the http.Response Body. +func (client AppsClient) GetBackupStatusResponder(resp *http.Response) (result BackupItem, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetBackupStatusSlot gets a backup of an app by its ID. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// backupID - ID of the backup. +// slot - name of the deployment slot. If a slot is not specified, the API will get a backup of the production +// slot. +func (client AppsClient) GetBackupStatusSlot(ctx context.Context, resourceGroupName string, name string, backupID string, slot string) (result BackupItem, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.GetBackupStatusSlot") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "GetBackupStatusSlot", err.Error()) + } + + req, err := client.GetBackupStatusSlotPreparer(ctx, resourceGroupName, name, backupID, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetBackupStatusSlot", nil, "Failure preparing request") + return + } + + resp, err := client.GetBackupStatusSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetBackupStatusSlot", resp, "Failure sending request") + return + } + + result, err = client.GetBackupStatusSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetBackupStatusSlot", resp, "Failure responding to request") + } + + return +} + +// GetBackupStatusSlotPreparer prepares the GetBackupStatusSlot request. +func (client AppsClient) GetBackupStatusSlotPreparer(ctx context.Context, resourceGroupName string, name string, backupID string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "backupId": autorest.Encode("path", backupID), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/backups/{backupId}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetBackupStatusSlotSender sends the GetBackupStatusSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetBackupStatusSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetBackupStatusSlotResponder handles the response to the GetBackupStatusSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) GetBackupStatusSlotResponder(resp *http.Response) (result BackupItem, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetConfiguration gets the configuration of an app, such as platform version and bitness, default documents, virtual +// applications, Always On, etc. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +func (client AppsClient) GetConfiguration(ctx context.Context, resourceGroupName string, name string) (result SiteConfigResource, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.GetConfiguration") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "GetConfiguration", err.Error()) + } + + req, err := client.GetConfigurationPreparer(ctx, resourceGroupName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetConfiguration", nil, "Failure preparing request") + return + } + + resp, err := client.GetConfigurationSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetConfiguration", resp, "Failure sending request") + return + } + + result, err = client.GetConfigurationResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetConfiguration", resp, "Failure responding to request") + } + + return +} + +// GetConfigurationPreparer prepares the GetConfiguration request. +func (client AppsClient) GetConfigurationPreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/web", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetConfigurationSender sends the GetConfiguration request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetConfigurationSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetConfigurationResponder handles the response to the GetConfiguration request. The method always +// closes the http.Response Body. +func (client AppsClient) GetConfigurationResponder(resp *http.Response) (result SiteConfigResource, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetConfigurationSlot gets the configuration of an app, such as platform version and bitness, default documents, +// virtual applications, Always On, etc. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// slot - name of the deployment slot. If a slot is not specified, the API will return configuration for the +// production slot. +func (client AppsClient) GetConfigurationSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result SiteConfigResource, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.GetConfigurationSlot") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "GetConfigurationSlot", err.Error()) + } + + req, err := client.GetConfigurationSlotPreparer(ctx, resourceGroupName, name, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetConfigurationSlot", nil, "Failure preparing request") + return + } + + resp, err := client.GetConfigurationSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetConfigurationSlot", resp, "Failure sending request") + return + } + + result, err = client.GetConfigurationSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetConfigurationSlot", resp, "Failure responding to request") + } + + return +} + +// GetConfigurationSlotPreparer prepares the GetConfigurationSlot request. +func (client AppsClient) GetConfigurationSlotPreparer(ctx context.Context, resourceGroupName string, name string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/web", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetConfigurationSlotSender sends the GetConfigurationSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetConfigurationSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetConfigurationSlotResponder handles the response to the GetConfigurationSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) GetConfigurationSlotResponder(resp *http.Response) (result SiteConfigResource, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetConfigurationSnapshot gets a snapshot of the configuration of an app at a previous point in time. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// snapshotID - the ID of the snapshot to read. +func (client AppsClient) GetConfigurationSnapshot(ctx context.Context, resourceGroupName string, name string, snapshotID string) (result SiteConfigResource, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.GetConfigurationSnapshot") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "GetConfigurationSnapshot", err.Error()) + } + + req, err := client.GetConfigurationSnapshotPreparer(ctx, resourceGroupName, name, snapshotID) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetConfigurationSnapshot", nil, "Failure preparing request") + return + } + + resp, err := client.GetConfigurationSnapshotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetConfigurationSnapshot", resp, "Failure sending request") + return + } + + result, err = client.GetConfigurationSnapshotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetConfigurationSnapshot", resp, "Failure responding to request") + } + + return +} + +// GetConfigurationSnapshotPreparer prepares the GetConfigurationSnapshot request. +func (client AppsClient) GetConfigurationSnapshotPreparer(ctx context.Context, resourceGroupName string, name string, snapshotID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "snapshotId": autorest.Encode("path", snapshotID), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/web/snapshots/{snapshotId}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetConfigurationSnapshotSender sends the GetConfigurationSnapshot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetConfigurationSnapshotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetConfigurationSnapshotResponder handles the response to the GetConfigurationSnapshot request. The method always +// closes the http.Response Body. +func (client AppsClient) GetConfigurationSnapshotResponder(resp *http.Response) (result SiteConfigResource, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetConfigurationSnapshotSlot gets a snapshot of the configuration of an app at a previous point in time. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// snapshotID - the ID of the snapshot to read. +// slot - name of the deployment slot. If a slot is not specified, the API will return configuration for the +// production slot. +func (client AppsClient) GetConfigurationSnapshotSlot(ctx context.Context, resourceGroupName string, name string, snapshotID string, slot string) (result SiteConfigResource, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.GetConfigurationSnapshotSlot") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "GetConfigurationSnapshotSlot", err.Error()) + } + + req, err := client.GetConfigurationSnapshotSlotPreparer(ctx, resourceGroupName, name, snapshotID, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetConfigurationSnapshotSlot", nil, "Failure preparing request") + return + } + + resp, err := client.GetConfigurationSnapshotSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetConfigurationSnapshotSlot", resp, "Failure sending request") + return + } + + result, err = client.GetConfigurationSnapshotSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetConfigurationSnapshotSlot", resp, "Failure responding to request") + } + + return +} + +// GetConfigurationSnapshotSlotPreparer prepares the GetConfigurationSnapshotSlot request. +func (client AppsClient) GetConfigurationSnapshotSlotPreparer(ctx context.Context, resourceGroupName string, name string, snapshotID string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "snapshotId": autorest.Encode("path", snapshotID), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/web/snapshots/{snapshotId}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetConfigurationSnapshotSlotSender sends the GetConfigurationSnapshotSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetConfigurationSnapshotSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetConfigurationSnapshotSlotResponder handles the response to the GetConfigurationSnapshotSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) GetConfigurationSnapshotSlotResponder(resp *http.Response) (result SiteConfigResource, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetContainerLogsZip gets the ZIP archived docker log files for the given site +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of web app. +func (client AppsClient) GetContainerLogsZip(ctx context.Context, resourceGroupName string, name string) (result ReadCloser, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.GetContainerLogsZip") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "GetContainerLogsZip", err.Error()) + } + + req, err := client.GetContainerLogsZipPreparer(ctx, resourceGroupName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetContainerLogsZip", nil, "Failure preparing request") + return + } + + resp, err := client.GetContainerLogsZipSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetContainerLogsZip", resp, "Failure sending request") + return + } + + result, err = client.GetContainerLogsZipResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetContainerLogsZip", resp, "Failure responding to request") + } + + return +} + +// GetContainerLogsZipPreparer prepares the GetContainerLogsZip request. +func (client AppsClient) GetContainerLogsZipPreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/containerlogs/zip/download", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetContainerLogsZipSender sends the GetContainerLogsZip request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetContainerLogsZipSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetContainerLogsZipResponder handles the response to the GetContainerLogsZip request. The method always +// closes the http.Response Body. +func (client AppsClient) GetContainerLogsZipResponder(resp *http.Response) (result ReadCloser, err error) { + result.Value = &resp.Body + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent)) + result.Response = autorest.Response{Response: resp} + return +} + +// GetContainerLogsZipSlot gets the ZIP archived docker log files for the given site +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of web app. +// slot - name of web app slot. If not specified then will default to production slot. +func (client AppsClient) GetContainerLogsZipSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result ReadCloser, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.GetContainerLogsZipSlot") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "GetContainerLogsZipSlot", err.Error()) + } + + req, err := client.GetContainerLogsZipSlotPreparer(ctx, resourceGroupName, name, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetContainerLogsZipSlot", nil, "Failure preparing request") + return + } + + resp, err := client.GetContainerLogsZipSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetContainerLogsZipSlot", resp, "Failure sending request") + return + } + + result, err = client.GetContainerLogsZipSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetContainerLogsZipSlot", resp, "Failure responding to request") + } + + return +} + +// GetContainerLogsZipSlotPreparer prepares the GetContainerLogsZipSlot request. +func (client AppsClient) GetContainerLogsZipSlotPreparer(ctx context.Context, resourceGroupName string, name string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/containerlogs/zip/download", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetContainerLogsZipSlotSender sends the GetContainerLogsZipSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetContainerLogsZipSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetContainerLogsZipSlotResponder handles the response to the GetContainerLogsZipSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) GetContainerLogsZipSlotResponder(resp *http.Response) (result ReadCloser, err error) { + result.Value = &resp.Body + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent)) + result.Response = autorest.Response{Response: resp} + return +} + +// GetContinuousWebJob gets a continuous web job by its ID for an app, or a deployment slot. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - site name. +// webJobName - name of Web Job. +func (client AppsClient) GetContinuousWebJob(ctx context.Context, resourceGroupName string, name string, webJobName string) (result ContinuousWebJob, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.GetContinuousWebJob") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "GetContinuousWebJob", err.Error()) + } + + req, err := client.GetContinuousWebJobPreparer(ctx, resourceGroupName, name, webJobName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetContinuousWebJob", nil, "Failure preparing request") + return + } + + resp, err := client.GetContinuousWebJobSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetContinuousWebJob", resp, "Failure sending request") + return + } + + result, err = client.GetContinuousWebJobResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetContinuousWebJob", resp, "Failure responding to request") + } + + return +} + +// GetContinuousWebJobPreparer prepares the GetContinuousWebJob request. +func (client AppsClient) GetContinuousWebJobPreparer(ctx context.Context, resourceGroupName string, name string, webJobName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "webJobName": autorest.Encode("path", webJobName), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/continuouswebjobs/{webJobName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetContinuousWebJobSender sends the GetContinuousWebJob request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetContinuousWebJobSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetContinuousWebJobResponder handles the response to the GetContinuousWebJob request. The method always +// closes the http.Response Body. +func (client AppsClient) GetContinuousWebJobResponder(resp *http.Response) (result ContinuousWebJob, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetContinuousWebJobSlot gets a continuous web job by its ID for an app, or a deployment slot. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - site name. +// webJobName - name of Web Job. +// slot - name of the deployment slot. If a slot is not specified, the API deletes a deployment for the +// production slot. +func (client AppsClient) GetContinuousWebJobSlot(ctx context.Context, resourceGroupName string, name string, webJobName string, slot string) (result ContinuousWebJob, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.GetContinuousWebJobSlot") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "GetContinuousWebJobSlot", err.Error()) + } + + req, err := client.GetContinuousWebJobSlotPreparer(ctx, resourceGroupName, name, webJobName, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetContinuousWebJobSlot", nil, "Failure preparing request") + return + } + + resp, err := client.GetContinuousWebJobSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetContinuousWebJobSlot", resp, "Failure sending request") + return + } + + result, err = client.GetContinuousWebJobSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetContinuousWebJobSlot", resp, "Failure responding to request") + } + + return +} + +// GetContinuousWebJobSlotPreparer prepares the GetContinuousWebJobSlot request. +func (client AppsClient) GetContinuousWebJobSlotPreparer(ctx context.Context, resourceGroupName string, name string, webJobName string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "webJobName": autorest.Encode("path", webJobName), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/continuouswebjobs/{webJobName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetContinuousWebJobSlotSender sends the GetContinuousWebJobSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetContinuousWebJobSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetContinuousWebJobSlotResponder handles the response to the GetContinuousWebJobSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) GetContinuousWebJobSlotResponder(resp *http.Response) (result ContinuousWebJob, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetDeployment get a deployment by its ID for an app, or a deployment slot. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// ID - deployment ID. +func (client AppsClient) GetDeployment(ctx context.Context, resourceGroupName string, name string, ID string) (result Deployment, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.GetDeployment") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "GetDeployment", err.Error()) + } + + req, err := client.GetDeploymentPreparer(ctx, resourceGroupName, name, ID) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetDeployment", nil, "Failure preparing request") + return + } + + resp, err := client.GetDeploymentSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetDeployment", resp, "Failure sending request") + return + } + + result, err = client.GetDeploymentResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetDeployment", resp, "Failure responding to request") + } + + return +} + +// GetDeploymentPreparer prepares the GetDeployment request. +func (client AppsClient) GetDeploymentPreparer(ctx context.Context, resourceGroupName string, name string, ID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "id": autorest.Encode("path", ID), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/deployments/{id}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetDeploymentSender sends the GetDeployment request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetDeploymentSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetDeploymentResponder handles the response to the GetDeployment request. The method always +// closes the http.Response Body. +func (client AppsClient) GetDeploymentResponder(resp *http.Response) (result Deployment, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetDeploymentSlot get a deployment by its ID for an app, or a deployment slot. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// ID - deployment ID. +// slot - name of the deployment slot. If a slot is not specified, the API gets a deployment for the production +// slot. +func (client AppsClient) GetDeploymentSlot(ctx context.Context, resourceGroupName string, name string, ID string, slot string) (result Deployment, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.GetDeploymentSlot") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "GetDeploymentSlot", err.Error()) + } + + req, err := client.GetDeploymentSlotPreparer(ctx, resourceGroupName, name, ID, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetDeploymentSlot", nil, "Failure preparing request") + return + } + + resp, err := client.GetDeploymentSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetDeploymentSlot", resp, "Failure sending request") + return + } + + result, err = client.GetDeploymentSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetDeploymentSlot", resp, "Failure responding to request") + } + + return +} + +// GetDeploymentSlotPreparer prepares the GetDeploymentSlot request. +func (client AppsClient) GetDeploymentSlotPreparer(ctx context.Context, resourceGroupName string, name string, ID string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "id": autorest.Encode("path", ID), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/deployments/{id}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetDeploymentSlotSender sends the GetDeploymentSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetDeploymentSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetDeploymentSlotResponder handles the response to the GetDeploymentSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) GetDeploymentSlotResponder(resp *http.Response) (result Deployment, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetDiagnosticLogsConfiguration gets the logging configuration of an app. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +func (client AppsClient) GetDiagnosticLogsConfiguration(ctx context.Context, resourceGroupName string, name string) (result SiteLogsConfig, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.GetDiagnosticLogsConfiguration") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "GetDiagnosticLogsConfiguration", err.Error()) + } + + req, err := client.GetDiagnosticLogsConfigurationPreparer(ctx, resourceGroupName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetDiagnosticLogsConfiguration", nil, "Failure preparing request") + return + } + + resp, err := client.GetDiagnosticLogsConfigurationSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetDiagnosticLogsConfiguration", resp, "Failure sending request") + return + } + + result, err = client.GetDiagnosticLogsConfigurationResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetDiagnosticLogsConfiguration", resp, "Failure responding to request") + } + + return +} + +// GetDiagnosticLogsConfigurationPreparer prepares the GetDiagnosticLogsConfiguration request. +func (client AppsClient) GetDiagnosticLogsConfigurationPreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/logs", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetDiagnosticLogsConfigurationSender sends the GetDiagnosticLogsConfiguration request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetDiagnosticLogsConfigurationSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetDiagnosticLogsConfigurationResponder handles the response to the GetDiagnosticLogsConfiguration request. The method always +// closes the http.Response Body. +func (client AppsClient) GetDiagnosticLogsConfigurationResponder(resp *http.Response) (result SiteLogsConfig, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetDiagnosticLogsConfigurationSlot gets the logging configuration of an app. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// slot - name of the deployment slot. If a slot is not specified, the API will get the logging configuration +// for the production slot. +func (client AppsClient) GetDiagnosticLogsConfigurationSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result SiteLogsConfig, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.GetDiagnosticLogsConfigurationSlot") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "GetDiagnosticLogsConfigurationSlot", err.Error()) + } + + req, err := client.GetDiagnosticLogsConfigurationSlotPreparer(ctx, resourceGroupName, name, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetDiagnosticLogsConfigurationSlot", nil, "Failure preparing request") + return + } + + resp, err := client.GetDiagnosticLogsConfigurationSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetDiagnosticLogsConfigurationSlot", resp, "Failure sending request") + return + } + + result, err = client.GetDiagnosticLogsConfigurationSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetDiagnosticLogsConfigurationSlot", resp, "Failure responding to request") + } + + return +} + +// GetDiagnosticLogsConfigurationSlotPreparer prepares the GetDiagnosticLogsConfigurationSlot request. +func (client AppsClient) GetDiagnosticLogsConfigurationSlotPreparer(ctx context.Context, resourceGroupName string, name string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/logs", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetDiagnosticLogsConfigurationSlotSender sends the GetDiagnosticLogsConfigurationSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetDiagnosticLogsConfigurationSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetDiagnosticLogsConfigurationSlotResponder handles the response to the GetDiagnosticLogsConfigurationSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) GetDiagnosticLogsConfigurationSlotResponder(resp *http.Response) (result SiteLogsConfig, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetDomainOwnershipIdentifier get domain ownership identifier for web app. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// domainOwnershipIdentifierName - name of domain ownership identifier. +func (client AppsClient) GetDomainOwnershipIdentifier(ctx context.Context, resourceGroupName string, name string, domainOwnershipIdentifierName string) (result Identifier, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.GetDomainOwnershipIdentifier") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "GetDomainOwnershipIdentifier", err.Error()) + } + + req, err := client.GetDomainOwnershipIdentifierPreparer(ctx, resourceGroupName, name, domainOwnershipIdentifierName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetDomainOwnershipIdentifier", nil, "Failure preparing request") + return + } + + resp, err := client.GetDomainOwnershipIdentifierSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetDomainOwnershipIdentifier", resp, "Failure sending request") + return + } + + result, err = client.GetDomainOwnershipIdentifierResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetDomainOwnershipIdentifier", resp, "Failure responding to request") + } + + return +} + +// GetDomainOwnershipIdentifierPreparer prepares the GetDomainOwnershipIdentifier request. +func (client AppsClient) GetDomainOwnershipIdentifierPreparer(ctx context.Context, resourceGroupName string, name string, domainOwnershipIdentifierName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "domainOwnershipIdentifierName": autorest.Encode("path", domainOwnershipIdentifierName), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/domainOwnershipIdentifiers/{domainOwnershipIdentifierName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetDomainOwnershipIdentifierSender sends the GetDomainOwnershipIdentifier request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetDomainOwnershipIdentifierSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetDomainOwnershipIdentifierResponder handles the response to the GetDomainOwnershipIdentifier request. The method always +// closes the http.Response Body. +func (client AppsClient) GetDomainOwnershipIdentifierResponder(resp *http.Response) (result Identifier, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetDomainOwnershipIdentifierSlot get domain ownership identifier for web app. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// domainOwnershipIdentifierName - name of domain ownership identifier. +// slot - name of the deployment slot. If a slot is not specified, the API will delete the binding for the +// production slot. +func (client AppsClient) GetDomainOwnershipIdentifierSlot(ctx context.Context, resourceGroupName string, name string, domainOwnershipIdentifierName string, slot string) (result Identifier, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.GetDomainOwnershipIdentifierSlot") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "GetDomainOwnershipIdentifierSlot", err.Error()) + } + + req, err := client.GetDomainOwnershipIdentifierSlotPreparer(ctx, resourceGroupName, name, domainOwnershipIdentifierName, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetDomainOwnershipIdentifierSlot", nil, "Failure preparing request") + return + } + + resp, err := client.GetDomainOwnershipIdentifierSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetDomainOwnershipIdentifierSlot", resp, "Failure sending request") + return + } + + result, err = client.GetDomainOwnershipIdentifierSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetDomainOwnershipIdentifierSlot", resp, "Failure responding to request") + } + + return +} + +// GetDomainOwnershipIdentifierSlotPreparer prepares the GetDomainOwnershipIdentifierSlot request. +func (client AppsClient) GetDomainOwnershipIdentifierSlotPreparer(ctx context.Context, resourceGroupName string, name string, domainOwnershipIdentifierName string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "domainOwnershipIdentifierName": autorest.Encode("path", domainOwnershipIdentifierName), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/domainOwnershipIdentifiers/{domainOwnershipIdentifierName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetDomainOwnershipIdentifierSlotSender sends the GetDomainOwnershipIdentifierSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetDomainOwnershipIdentifierSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetDomainOwnershipIdentifierSlotResponder handles the response to the GetDomainOwnershipIdentifierSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) GetDomainOwnershipIdentifierSlotResponder(resp *http.Response) (result Identifier, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetFunction get function information by its ID for web site, or a deployment slot. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - site name. +// functionName - function name. +func (client AppsClient) GetFunction(ctx context.Context, resourceGroupName string, name string, functionName string) (result FunctionEnvelope, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.GetFunction") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "GetFunction", err.Error()) + } + + req, err := client.GetFunctionPreparer(ctx, resourceGroupName, name, functionName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetFunction", nil, "Failure preparing request") + return + } + + resp, err := client.GetFunctionSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetFunction", resp, "Failure sending request") + return + } + + result, err = client.GetFunctionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetFunction", resp, "Failure responding to request") + } + + return +} + +// GetFunctionPreparer prepares the GetFunction request. +func (client AppsClient) GetFunctionPreparer(ctx context.Context, resourceGroupName string, name string, functionName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "functionName": autorest.Encode("path", functionName), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/functions/{functionName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetFunctionSender sends the GetFunction request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetFunctionSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetFunctionResponder handles the response to the GetFunction request. The method always +// closes the http.Response Body. +func (client AppsClient) GetFunctionResponder(resp *http.Response) (result FunctionEnvelope, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetFunctionsAdminToken fetch a short lived token that can be exchanged for a master key. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of web app. +func (client AppsClient) GetFunctionsAdminToken(ctx context.Context, resourceGroupName string, name string) (result String, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.GetFunctionsAdminToken") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "GetFunctionsAdminToken", err.Error()) + } + + req, err := client.GetFunctionsAdminTokenPreparer(ctx, resourceGroupName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetFunctionsAdminToken", nil, "Failure preparing request") + return + } + + resp, err := client.GetFunctionsAdminTokenSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetFunctionsAdminToken", resp, "Failure sending request") + return + } + + result, err = client.GetFunctionsAdminTokenResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetFunctionsAdminToken", resp, "Failure responding to request") + } + + return +} + +// GetFunctionsAdminTokenPreparer prepares the GetFunctionsAdminToken request. +func (client AppsClient) GetFunctionsAdminTokenPreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/functions/admin/token", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetFunctionsAdminTokenSender sends the GetFunctionsAdminToken request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetFunctionsAdminTokenSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetFunctionsAdminTokenResponder handles the response to the GetFunctionsAdminToken request. The method always +// closes the http.Response Body. +func (client AppsClient) GetFunctionsAdminTokenResponder(resp *http.Response) (result String, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result.Value), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetFunctionsAdminTokenSlot fetch a short lived token that can be exchanged for a master key. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of web app. +// slot - name of web app slot. If not specified then will default to production slot. +func (client AppsClient) GetFunctionsAdminTokenSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result String, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.GetFunctionsAdminTokenSlot") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "GetFunctionsAdminTokenSlot", err.Error()) + } + + req, err := client.GetFunctionsAdminTokenSlotPreparer(ctx, resourceGroupName, name, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetFunctionsAdminTokenSlot", nil, "Failure preparing request") + return + } + + resp, err := client.GetFunctionsAdminTokenSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetFunctionsAdminTokenSlot", resp, "Failure sending request") + return + } + + result, err = client.GetFunctionsAdminTokenSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetFunctionsAdminTokenSlot", resp, "Failure responding to request") + } + + return +} + +// GetFunctionsAdminTokenSlotPreparer prepares the GetFunctionsAdminTokenSlot request. +func (client AppsClient) GetFunctionsAdminTokenSlotPreparer(ctx context.Context, resourceGroupName string, name string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/functions/admin/token", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetFunctionsAdminTokenSlotSender sends the GetFunctionsAdminTokenSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetFunctionsAdminTokenSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetFunctionsAdminTokenSlotResponder handles the response to the GetFunctionsAdminTokenSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) GetFunctionsAdminTokenSlotResponder(resp *http.Response) (result String, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result.Value), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetHostNameBinding get the named hostname binding for an app (or deployment slot, if specified). +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// hostName - hostname in the hostname binding. +func (client AppsClient) GetHostNameBinding(ctx context.Context, resourceGroupName string, name string, hostName string) (result HostNameBinding, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.GetHostNameBinding") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "GetHostNameBinding", err.Error()) + } + + req, err := client.GetHostNameBindingPreparer(ctx, resourceGroupName, name, hostName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetHostNameBinding", nil, "Failure preparing request") + return + } + + resp, err := client.GetHostNameBindingSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetHostNameBinding", resp, "Failure sending request") + return + } + + result, err = client.GetHostNameBindingResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetHostNameBinding", resp, "Failure responding to request") + } + + return +} + +// GetHostNameBindingPreparer prepares the GetHostNameBinding request. +func (client AppsClient) GetHostNameBindingPreparer(ctx context.Context, resourceGroupName string, name string, hostName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "hostName": autorest.Encode("path", hostName), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hostNameBindings/{hostName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetHostNameBindingSender sends the GetHostNameBinding request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetHostNameBindingSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetHostNameBindingResponder handles the response to the GetHostNameBinding request. The method always +// closes the http.Response Body. +func (client AppsClient) GetHostNameBindingResponder(resp *http.Response) (result HostNameBinding, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetHostNameBindingSlot get the named hostname binding for an app (or deployment slot, if specified). +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// slot - name of the deployment slot. If a slot is not specified, the API the named binding for the production +// slot. +// hostName - hostname in the hostname binding. +func (client AppsClient) GetHostNameBindingSlot(ctx context.Context, resourceGroupName string, name string, slot string, hostName string) (result HostNameBinding, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.GetHostNameBindingSlot") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "GetHostNameBindingSlot", err.Error()) + } + + req, err := client.GetHostNameBindingSlotPreparer(ctx, resourceGroupName, name, slot, hostName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetHostNameBindingSlot", nil, "Failure preparing request") + return + } + + resp, err := client.GetHostNameBindingSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetHostNameBindingSlot", resp, "Failure sending request") + return + } + + result, err = client.GetHostNameBindingSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetHostNameBindingSlot", resp, "Failure responding to request") + } + + return +} + +// GetHostNameBindingSlotPreparer prepares the GetHostNameBindingSlot request. +func (client AppsClient) GetHostNameBindingSlotPreparer(ctx context.Context, resourceGroupName string, name string, slot string, hostName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "hostName": autorest.Encode("path", hostName), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hostNameBindings/{hostName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetHostNameBindingSlotSender sends the GetHostNameBindingSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetHostNameBindingSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetHostNameBindingSlotResponder handles the response to the GetHostNameBindingSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) GetHostNameBindingSlotResponder(resp *http.Response) (result HostNameBinding, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetHybridConnection retrieves a specific Service Bus Hybrid Connection used by this Web App. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - the name of the web app. +// namespaceName - the namespace for this hybrid connection. +// relayName - the relay name for this hybrid connection. +func (client AppsClient) GetHybridConnection(ctx context.Context, resourceGroupName string, name string, namespaceName string, relayName string) (result HybridConnection, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.GetHybridConnection") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "GetHybridConnection", err.Error()) + } + + req, err := client.GetHybridConnectionPreparer(ctx, resourceGroupName, name, namespaceName, relayName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetHybridConnection", nil, "Failure preparing request") + return + } + + resp, err := client.GetHybridConnectionSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetHybridConnection", resp, "Failure sending request") + return + } + + result, err = client.GetHybridConnectionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetHybridConnection", resp, "Failure responding to request") + } + + return +} + +// GetHybridConnectionPreparer prepares the GetHybridConnection request. +func (client AppsClient) GetHybridConnectionPreparer(ctx context.Context, resourceGroupName string, name string, namespaceName string, relayName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "namespaceName": autorest.Encode("path", namespaceName), + "relayName": autorest.Encode("path", relayName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetHybridConnectionSender sends the GetHybridConnection request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetHybridConnectionSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetHybridConnectionResponder handles the response to the GetHybridConnection request. The method always +// closes the http.Response Body. +func (client AppsClient) GetHybridConnectionResponder(resp *http.Response) (result HybridConnection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetHybridConnectionSlot retrieves a specific Service Bus Hybrid Connection used by this Web App. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - the name of the web app. +// namespaceName - the namespace for this hybrid connection. +// relayName - the relay name for this hybrid connection. +// slot - the name of the slot for the web app. +func (client AppsClient) GetHybridConnectionSlot(ctx context.Context, resourceGroupName string, name string, namespaceName string, relayName string, slot string) (result HybridConnection, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.GetHybridConnectionSlot") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "GetHybridConnectionSlot", err.Error()) + } + + req, err := client.GetHybridConnectionSlotPreparer(ctx, resourceGroupName, name, namespaceName, relayName, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetHybridConnectionSlot", nil, "Failure preparing request") + return + } + + resp, err := client.GetHybridConnectionSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetHybridConnectionSlot", resp, "Failure sending request") + return + } + + result, err = client.GetHybridConnectionSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetHybridConnectionSlot", resp, "Failure responding to request") + } + + return +} + +// GetHybridConnectionSlotPreparer prepares the GetHybridConnectionSlot request. +func (client AppsClient) GetHybridConnectionSlotPreparer(ctx context.Context, resourceGroupName string, name string, namespaceName string, relayName string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "namespaceName": autorest.Encode("path", namespaceName), + "relayName": autorest.Encode("path", relayName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetHybridConnectionSlotSender sends the GetHybridConnectionSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetHybridConnectionSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetHybridConnectionSlotResponder handles the response to the GetHybridConnectionSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) GetHybridConnectionSlotResponder(resp *http.Response) (result HybridConnection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetInstanceFunctionSlot get function information by its ID for web site, or a deployment slot. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - site name. +// functionName - function name. +// slot - name of the deployment slot. If a slot is not specified, the API deletes a deployment for the +// production slot. +func (client AppsClient) GetInstanceFunctionSlot(ctx context.Context, resourceGroupName string, name string, functionName string, slot string) (result FunctionEnvelope, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.GetInstanceFunctionSlot") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "GetInstanceFunctionSlot", err.Error()) + } + + req, err := client.GetInstanceFunctionSlotPreparer(ctx, resourceGroupName, name, functionName, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetInstanceFunctionSlot", nil, "Failure preparing request") + return + } + + resp, err := client.GetInstanceFunctionSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetInstanceFunctionSlot", resp, "Failure sending request") + return + } + + result, err = client.GetInstanceFunctionSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetInstanceFunctionSlot", resp, "Failure responding to request") + } + + return +} + +// GetInstanceFunctionSlotPreparer prepares the GetInstanceFunctionSlot request. +func (client AppsClient) GetInstanceFunctionSlotPreparer(ctx context.Context, resourceGroupName string, name string, functionName string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "functionName": autorest.Encode("path", functionName), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/functions/{functionName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetInstanceFunctionSlotSender sends the GetInstanceFunctionSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetInstanceFunctionSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetInstanceFunctionSlotResponder handles the response to the GetInstanceFunctionSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) GetInstanceFunctionSlotResponder(resp *http.Response) (result FunctionEnvelope, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetInstanceMSDeployLog get the MSDeploy Log for the last MSDeploy operation. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of web app. +// instanceID - ID of web app instance. +func (client AppsClient) GetInstanceMSDeployLog(ctx context.Context, resourceGroupName string, name string, instanceID string) (result MSDeployLog, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.GetInstanceMSDeployLog") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "GetInstanceMSDeployLog", err.Error()) + } + + req, err := client.GetInstanceMSDeployLogPreparer(ctx, resourceGroupName, name, instanceID) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetInstanceMSDeployLog", nil, "Failure preparing request") + return + } + + resp, err := client.GetInstanceMSDeployLogSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetInstanceMSDeployLog", resp, "Failure sending request") + return + } + + result, err = client.GetInstanceMSDeployLogResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetInstanceMSDeployLog", resp, "Failure responding to request") + } + + return +} + +// GetInstanceMSDeployLogPreparer prepares the GetInstanceMSDeployLog request. +func (client AppsClient) GetInstanceMSDeployLogPreparer(ctx context.Context, resourceGroupName string, name string, instanceID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "instanceId": autorest.Encode("path", instanceID), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/extensions/MSDeploy/log", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetInstanceMSDeployLogSender sends the GetInstanceMSDeployLog request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetInstanceMSDeployLogSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetInstanceMSDeployLogResponder handles the response to the GetInstanceMSDeployLog request. The method always +// closes the http.Response Body. +func (client AppsClient) GetInstanceMSDeployLogResponder(resp *http.Response) (result MSDeployLog, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetInstanceMSDeployLogSlot get the MSDeploy Log for the last MSDeploy operation. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of web app. +// slot - name of web app slot. If not specified then will default to production slot. +// instanceID - ID of web app instance. +func (client AppsClient) GetInstanceMSDeployLogSlot(ctx context.Context, resourceGroupName string, name string, slot string, instanceID string) (result MSDeployLog, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.GetInstanceMSDeployLogSlot") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "GetInstanceMSDeployLogSlot", err.Error()) + } + + req, err := client.GetInstanceMSDeployLogSlotPreparer(ctx, resourceGroupName, name, slot, instanceID) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetInstanceMSDeployLogSlot", nil, "Failure preparing request") + return + } + + resp, err := client.GetInstanceMSDeployLogSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetInstanceMSDeployLogSlot", resp, "Failure sending request") + return + } + + result, err = client.GetInstanceMSDeployLogSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetInstanceMSDeployLogSlot", resp, "Failure responding to request") + } + + return +} + +// GetInstanceMSDeployLogSlotPreparer prepares the GetInstanceMSDeployLogSlot request. +func (client AppsClient) GetInstanceMSDeployLogSlotPreparer(ctx context.Context, resourceGroupName string, name string, slot string, instanceID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "instanceId": autorest.Encode("path", instanceID), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/extensions/MSDeploy/log", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetInstanceMSDeployLogSlotSender sends the GetInstanceMSDeployLogSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetInstanceMSDeployLogSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetInstanceMSDeployLogSlotResponder handles the response to the GetInstanceMSDeployLogSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) GetInstanceMSDeployLogSlotResponder(resp *http.Response) (result MSDeployLog, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetInstanceMsDeployStatus get the status of the last MSDeploy operation. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of web app. +// instanceID - ID of web app instance. +func (client AppsClient) GetInstanceMsDeployStatus(ctx context.Context, resourceGroupName string, name string, instanceID string) (result MSDeployStatus, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.GetInstanceMsDeployStatus") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "GetInstanceMsDeployStatus", err.Error()) + } + + req, err := client.GetInstanceMsDeployStatusPreparer(ctx, resourceGroupName, name, instanceID) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetInstanceMsDeployStatus", nil, "Failure preparing request") + return + } + + resp, err := client.GetInstanceMsDeployStatusSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetInstanceMsDeployStatus", resp, "Failure sending request") + return + } + + result, err = client.GetInstanceMsDeployStatusResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetInstanceMsDeployStatus", resp, "Failure responding to request") + } + + return +} + +// GetInstanceMsDeployStatusPreparer prepares the GetInstanceMsDeployStatus request. +func (client AppsClient) GetInstanceMsDeployStatusPreparer(ctx context.Context, resourceGroupName string, name string, instanceID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "instanceId": autorest.Encode("path", instanceID), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/extensions/MSDeploy", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetInstanceMsDeployStatusSender sends the GetInstanceMsDeployStatus request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetInstanceMsDeployStatusSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetInstanceMsDeployStatusResponder handles the response to the GetInstanceMsDeployStatus request. The method always +// closes the http.Response Body. +func (client AppsClient) GetInstanceMsDeployStatusResponder(resp *http.Response) (result MSDeployStatus, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetInstanceMsDeployStatusSlot get the status of the last MSDeploy operation. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of web app. +// slot - name of web app slot. If not specified then will default to production slot. +// instanceID - ID of web app instance. +func (client AppsClient) GetInstanceMsDeployStatusSlot(ctx context.Context, resourceGroupName string, name string, slot string, instanceID string) (result MSDeployStatus, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.GetInstanceMsDeployStatusSlot") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "GetInstanceMsDeployStatusSlot", err.Error()) + } + + req, err := client.GetInstanceMsDeployStatusSlotPreparer(ctx, resourceGroupName, name, slot, instanceID) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetInstanceMsDeployStatusSlot", nil, "Failure preparing request") + return + } + + resp, err := client.GetInstanceMsDeployStatusSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetInstanceMsDeployStatusSlot", resp, "Failure sending request") + return + } + + result, err = client.GetInstanceMsDeployStatusSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetInstanceMsDeployStatusSlot", resp, "Failure responding to request") + } + + return +} + +// GetInstanceMsDeployStatusSlotPreparer prepares the GetInstanceMsDeployStatusSlot request. +func (client AppsClient) GetInstanceMsDeployStatusSlotPreparer(ctx context.Context, resourceGroupName string, name string, slot string, instanceID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "instanceId": autorest.Encode("path", instanceID), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/extensions/MSDeploy", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetInstanceMsDeployStatusSlotSender sends the GetInstanceMsDeployStatusSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetInstanceMsDeployStatusSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetInstanceMsDeployStatusSlotResponder handles the response to the GetInstanceMsDeployStatusSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) GetInstanceMsDeployStatusSlotResponder(resp *http.Response) (result MSDeployStatus, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetInstanceProcess get process information by its ID for a specific scaled-out instance in a web site. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - site name. +// processID - pID. +// instanceID - ID of a specific scaled-out instance. This is the value of the name property in the JSON +// response from "GET api/sites/{siteName}/instances". +func (client AppsClient) GetInstanceProcess(ctx context.Context, resourceGroupName string, name string, processID string, instanceID string) (result ProcessInfo, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.GetInstanceProcess") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "GetInstanceProcess", err.Error()) + } + + req, err := client.GetInstanceProcessPreparer(ctx, resourceGroupName, name, processID, instanceID) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetInstanceProcess", nil, "Failure preparing request") + return + } + + resp, err := client.GetInstanceProcessSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetInstanceProcess", resp, "Failure sending request") + return + } + + result, err = client.GetInstanceProcessResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetInstanceProcess", resp, "Failure responding to request") + } + + return +} + +// GetInstanceProcessPreparer prepares the GetInstanceProcess request. +func (client AppsClient) GetInstanceProcessPreparer(ctx context.Context, resourceGroupName string, name string, processID string, instanceID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "instanceId": autorest.Encode("path", instanceID), + "name": autorest.Encode("path", name), + "processId": autorest.Encode("path", processID), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/processes/{processId}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetInstanceProcessSender sends the GetInstanceProcess request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetInstanceProcessSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetInstanceProcessResponder handles the response to the GetInstanceProcess request. The method always +// closes the http.Response Body. +func (client AppsClient) GetInstanceProcessResponder(resp *http.Response) (result ProcessInfo, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetInstanceProcessDump get a memory dump of a process by its ID for a specific scaled-out instance in a web site. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - site name. +// processID - pID. +// instanceID - ID of a specific scaled-out instance. This is the value of the name property in the JSON +// response from "GET api/sites/{siteName}/instances". +func (client AppsClient) GetInstanceProcessDump(ctx context.Context, resourceGroupName string, name string, processID string, instanceID string) (result ReadCloser, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.GetInstanceProcessDump") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "GetInstanceProcessDump", err.Error()) + } + + req, err := client.GetInstanceProcessDumpPreparer(ctx, resourceGroupName, name, processID, instanceID) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetInstanceProcessDump", nil, "Failure preparing request") + return + } + + resp, err := client.GetInstanceProcessDumpSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetInstanceProcessDump", resp, "Failure sending request") + return + } + + result, err = client.GetInstanceProcessDumpResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetInstanceProcessDump", resp, "Failure responding to request") + } + + return +} + +// GetInstanceProcessDumpPreparer prepares the GetInstanceProcessDump request. +func (client AppsClient) GetInstanceProcessDumpPreparer(ctx context.Context, resourceGroupName string, name string, processID string, instanceID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "instanceId": autorest.Encode("path", instanceID), + "name": autorest.Encode("path", name), + "processId": autorest.Encode("path", processID), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/processes/{processId}/dump", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetInstanceProcessDumpSender sends the GetInstanceProcessDump request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetInstanceProcessDumpSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetInstanceProcessDumpResponder handles the response to the GetInstanceProcessDump request. The method always +// closes the http.Response Body. +func (client AppsClient) GetInstanceProcessDumpResponder(resp *http.Response) (result ReadCloser, err error) { + result.Value = &resp.Body + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound)) + result.Response = autorest.Response{Response: resp} + return +} + +// GetInstanceProcessDumpSlot get a memory dump of a process by its ID for a specific scaled-out instance in a web +// site. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - site name. +// processID - pID. +// slot - name of the deployment slot. If a slot is not specified, the API returns deployments for the +// production slot. +// instanceID - ID of a specific scaled-out instance. This is the value of the name property in the JSON +// response from "GET api/sites/{siteName}/instances". +func (client AppsClient) GetInstanceProcessDumpSlot(ctx context.Context, resourceGroupName string, name string, processID string, slot string, instanceID string) (result ReadCloser, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.GetInstanceProcessDumpSlot") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "GetInstanceProcessDumpSlot", err.Error()) + } + + req, err := client.GetInstanceProcessDumpSlotPreparer(ctx, resourceGroupName, name, processID, slot, instanceID) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetInstanceProcessDumpSlot", nil, "Failure preparing request") + return + } + + resp, err := client.GetInstanceProcessDumpSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetInstanceProcessDumpSlot", resp, "Failure sending request") + return + } + + result, err = client.GetInstanceProcessDumpSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetInstanceProcessDumpSlot", resp, "Failure responding to request") + } + + return +} + +// GetInstanceProcessDumpSlotPreparer prepares the GetInstanceProcessDumpSlot request. +func (client AppsClient) GetInstanceProcessDumpSlotPreparer(ctx context.Context, resourceGroupName string, name string, processID string, slot string, instanceID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "instanceId": autorest.Encode("path", instanceID), + "name": autorest.Encode("path", name), + "processId": autorest.Encode("path", processID), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/processes/{processId}/dump", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetInstanceProcessDumpSlotSender sends the GetInstanceProcessDumpSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetInstanceProcessDumpSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetInstanceProcessDumpSlotResponder handles the response to the GetInstanceProcessDumpSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) GetInstanceProcessDumpSlotResponder(resp *http.Response) (result ReadCloser, err error) { + result.Value = &resp.Body + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound)) + result.Response = autorest.Response{Response: resp} + return +} + +// GetInstanceProcessModule get process information by its ID for a specific scaled-out instance in a web site. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - site name. +// processID - pID. +// baseAddress - module base address. +// instanceID - ID of a specific scaled-out instance. This is the value of the name property in the JSON +// response from "GET api/sites/{siteName}/instances". +func (client AppsClient) GetInstanceProcessModule(ctx context.Context, resourceGroupName string, name string, processID string, baseAddress string, instanceID string) (result ProcessModuleInfo, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.GetInstanceProcessModule") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "GetInstanceProcessModule", err.Error()) + } + + req, err := client.GetInstanceProcessModulePreparer(ctx, resourceGroupName, name, processID, baseAddress, instanceID) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetInstanceProcessModule", nil, "Failure preparing request") + return + } + + resp, err := client.GetInstanceProcessModuleSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetInstanceProcessModule", resp, "Failure sending request") + return + } + + result, err = client.GetInstanceProcessModuleResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetInstanceProcessModule", resp, "Failure responding to request") + } + + return +} + +// GetInstanceProcessModulePreparer prepares the GetInstanceProcessModule request. +func (client AppsClient) GetInstanceProcessModulePreparer(ctx context.Context, resourceGroupName string, name string, processID string, baseAddress string, instanceID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "baseAddress": autorest.Encode("path", baseAddress), + "instanceId": autorest.Encode("path", instanceID), + "name": autorest.Encode("path", name), + "processId": autorest.Encode("path", processID), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/processes/{processId}/modules/{baseAddress}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetInstanceProcessModuleSender sends the GetInstanceProcessModule request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetInstanceProcessModuleSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetInstanceProcessModuleResponder handles the response to the GetInstanceProcessModule request. The method always +// closes the http.Response Body. +func (client AppsClient) GetInstanceProcessModuleResponder(resp *http.Response) (result ProcessModuleInfo, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetInstanceProcessModuleSlot get process information by its ID for a specific scaled-out instance in a web site. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - site name. +// processID - pID. +// baseAddress - module base address. +// slot - name of the deployment slot. If a slot is not specified, the API returns deployments for the +// production slot. +// instanceID - ID of a specific scaled-out instance. This is the value of the name property in the JSON +// response from "GET api/sites/{siteName}/instances". +func (client AppsClient) GetInstanceProcessModuleSlot(ctx context.Context, resourceGroupName string, name string, processID string, baseAddress string, slot string, instanceID string) (result ProcessModuleInfo, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.GetInstanceProcessModuleSlot") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "GetInstanceProcessModuleSlot", err.Error()) + } + + req, err := client.GetInstanceProcessModuleSlotPreparer(ctx, resourceGroupName, name, processID, baseAddress, slot, instanceID) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetInstanceProcessModuleSlot", nil, "Failure preparing request") + return + } + + resp, err := client.GetInstanceProcessModuleSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetInstanceProcessModuleSlot", resp, "Failure sending request") + return + } + + result, err = client.GetInstanceProcessModuleSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetInstanceProcessModuleSlot", resp, "Failure responding to request") + } + + return +} + +// GetInstanceProcessModuleSlotPreparer prepares the GetInstanceProcessModuleSlot request. +func (client AppsClient) GetInstanceProcessModuleSlotPreparer(ctx context.Context, resourceGroupName string, name string, processID string, baseAddress string, slot string, instanceID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "baseAddress": autorest.Encode("path", baseAddress), + "instanceId": autorest.Encode("path", instanceID), + "name": autorest.Encode("path", name), + "processId": autorest.Encode("path", processID), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/processes/{processId}/modules/{baseAddress}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetInstanceProcessModuleSlotSender sends the GetInstanceProcessModuleSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetInstanceProcessModuleSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetInstanceProcessModuleSlotResponder handles the response to the GetInstanceProcessModuleSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) GetInstanceProcessModuleSlotResponder(resp *http.Response) (result ProcessModuleInfo, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetInstanceProcessSlot get process information by its ID for a specific scaled-out instance in a web site. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - site name. +// processID - pID. +// slot - name of the deployment slot. If a slot is not specified, the API returns deployments for the +// production slot. +// instanceID - ID of a specific scaled-out instance. This is the value of the name property in the JSON +// response from "GET api/sites/{siteName}/instances". +func (client AppsClient) GetInstanceProcessSlot(ctx context.Context, resourceGroupName string, name string, processID string, slot string, instanceID string) (result ProcessInfo, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.GetInstanceProcessSlot") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "GetInstanceProcessSlot", err.Error()) + } + + req, err := client.GetInstanceProcessSlotPreparer(ctx, resourceGroupName, name, processID, slot, instanceID) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetInstanceProcessSlot", nil, "Failure preparing request") + return + } + + resp, err := client.GetInstanceProcessSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetInstanceProcessSlot", resp, "Failure sending request") + return + } + + result, err = client.GetInstanceProcessSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetInstanceProcessSlot", resp, "Failure responding to request") + } + + return +} + +// GetInstanceProcessSlotPreparer prepares the GetInstanceProcessSlot request. +func (client AppsClient) GetInstanceProcessSlotPreparer(ctx context.Context, resourceGroupName string, name string, processID string, slot string, instanceID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "instanceId": autorest.Encode("path", instanceID), + "name": autorest.Encode("path", name), + "processId": autorest.Encode("path", processID), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/processes/{processId}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetInstanceProcessSlotSender sends the GetInstanceProcessSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetInstanceProcessSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetInstanceProcessSlotResponder handles the response to the GetInstanceProcessSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) GetInstanceProcessSlotResponder(resp *http.Response) (result ProcessInfo, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetInstanceProcessThread get thread information by Thread ID for a specific process, in a specific scaled-out +// instance in a web site. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - site name. +// processID - pID. +// threadID - tID. +// instanceID - ID of a specific scaled-out instance. This is the value of the name property in the JSON +// response from "GET api/sites/{siteName}/instances". +func (client AppsClient) GetInstanceProcessThread(ctx context.Context, resourceGroupName string, name string, processID string, threadID string, instanceID string) (result ProcessThreadInfo, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.GetInstanceProcessThread") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "GetInstanceProcessThread", err.Error()) + } + + req, err := client.GetInstanceProcessThreadPreparer(ctx, resourceGroupName, name, processID, threadID, instanceID) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetInstanceProcessThread", nil, "Failure preparing request") + return + } + + resp, err := client.GetInstanceProcessThreadSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetInstanceProcessThread", resp, "Failure sending request") + return + } + + result, err = client.GetInstanceProcessThreadResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetInstanceProcessThread", resp, "Failure responding to request") + } + + return +} + +// GetInstanceProcessThreadPreparer prepares the GetInstanceProcessThread request. +func (client AppsClient) GetInstanceProcessThreadPreparer(ctx context.Context, resourceGroupName string, name string, processID string, threadID string, instanceID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "instanceId": autorest.Encode("path", instanceID), + "name": autorest.Encode("path", name), + "processId": autorest.Encode("path", processID), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "threadId": autorest.Encode("path", threadID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/processes/{processId}/threads/{threadId}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetInstanceProcessThreadSender sends the GetInstanceProcessThread request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetInstanceProcessThreadSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetInstanceProcessThreadResponder handles the response to the GetInstanceProcessThread request. The method always +// closes the http.Response Body. +func (client AppsClient) GetInstanceProcessThreadResponder(resp *http.Response) (result ProcessThreadInfo, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetInstanceProcessThreadSlot get thread information by Thread ID for a specific process, in a specific scaled-out +// instance in a web site. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - site name. +// processID - pID. +// threadID - tID. +// slot - name of the deployment slot. If a slot is not specified, the API returns deployments for the +// production slot. +// instanceID - ID of a specific scaled-out instance. This is the value of the name property in the JSON +// response from "GET api/sites/{siteName}/instances". +func (client AppsClient) GetInstanceProcessThreadSlot(ctx context.Context, resourceGroupName string, name string, processID string, threadID string, slot string, instanceID string) (result ProcessThreadInfo, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.GetInstanceProcessThreadSlot") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "GetInstanceProcessThreadSlot", err.Error()) + } + + req, err := client.GetInstanceProcessThreadSlotPreparer(ctx, resourceGroupName, name, processID, threadID, slot, instanceID) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetInstanceProcessThreadSlot", nil, "Failure preparing request") + return + } + + resp, err := client.GetInstanceProcessThreadSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetInstanceProcessThreadSlot", resp, "Failure sending request") + return + } + + result, err = client.GetInstanceProcessThreadSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetInstanceProcessThreadSlot", resp, "Failure responding to request") + } + + return +} + +// GetInstanceProcessThreadSlotPreparer prepares the GetInstanceProcessThreadSlot request. +func (client AppsClient) GetInstanceProcessThreadSlotPreparer(ctx context.Context, resourceGroupName string, name string, processID string, threadID string, slot string, instanceID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "instanceId": autorest.Encode("path", instanceID), + "name": autorest.Encode("path", name), + "processId": autorest.Encode("path", processID), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "threadId": autorest.Encode("path", threadID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/processes/{processId}/threads/{threadId}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetInstanceProcessThreadSlotSender sends the GetInstanceProcessThreadSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetInstanceProcessThreadSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetInstanceProcessThreadSlotResponder handles the response to the GetInstanceProcessThreadSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) GetInstanceProcessThreadSlotResponder(resp *http.Response) (result ProcessThreadInfo, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetMigrateMySQLStatus returns the status of MySql in app migration, if one is active, and whether or not MySql in +// app is enabled +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of web app. +func (client AppsClient) GetMigrateMySQLStatus(ctx context.Context, resourceGroupName string, name string) (result MigrateMySQLStatus, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.GetMigrateMySQLStatus") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "GetMigrateMySQLStatus", err.Error()) + } + + req, err := client.GetMigrateMySQLStatusPreparer(ctx, resourceGroupName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetMigrateMySQLStatus", nil, "Failure preparing request") + return + } + + resp, err := client.GetMigrateMySQLStatusSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetMigrateMySQLStatus", resp, "Failure sending request") + return + } + + result, err = client.GetMigrateMySQLStatusResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetMigrateMySQLStatus", resp, "Failure responding to request") + } + + return +} + +// GetMigrateMySQLStatusPreparer prepares the GetMigrateMySQLStatus request. +func (client AppsClient) GetMigrateMySQLStatusPreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/migratemysql/status", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetMigrateMySQLStatusSender sends the GetMigrateMySQLStatus request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetMigrateMySQLStatusSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetMigrateMySQLStatusResponder handles the response to the GetMigrateMySQLStatus request. The method always +// closes the http.Response Body. +func (client AppsClient) GetMigrateMySQLStatusResponder(resp *http.Response) (result MigrateMySQLStatus, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetMigrateMySQLStatusSlot returns the status of MySql in app migration, if one is active, and whether or not MySql +// in app is enabled +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of web app. +// slot - name of the deployment slot. +func (client AppsClient) GetMigrateMySQLStatusSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result MigrateMySQLStatus, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.GetMigrateMySQLStatusSlot") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "GetMigrateMySQLStatusSlot", err.Error()) + } + + req, err := client.GetMigrateMySQLStatusSlotPreparer(ctx, resourceGroupName, name, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetMigrateMySQLStatusSlot", nil, "Failure preparing request") + return + } + + resp, err := client.GetMigrateMySQLStatusSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetMigrateMySQLStatusSlot", resp, "Failure sending request") + return + } + + result, err = client.GetMigrateMySQLStatusSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetMigrateMySQLStatusSlot", resp, "Failure responding to request") + } + + return +} + +// GetMigrateMySQLStatusSlotPreparer prepares the GetMigrateMySQLStatusSlot request. +func (client AppsClient) GetMigrateMySQLStatusSlotPreparer(ctx context.Context, resourceGroupName string, name string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/migratemysql/status", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetMigrateMySQLStatusSlotSender sends the GetMigrateMySQLStatusSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetMigrateMySQLStatusSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetMigrateMySQLStatusSlotResponder handles the response to the GetMigrateMySQLStatusSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) GetMigrateMySQLStatusSlotResponder(resp *http.Response) (result MigrateMySQLStatus, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetMSDeployLog get the MSDeploy Log for the last MSDeploy operation. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of web app. +func (client AppsClient) GetMSDeployLog(ctx context.Context, resourceGroupName string, name string) (result MSDeployLog, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.GetMSDeployLog") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "GetMSDeployLog", err.Error()) + } + + req, err := client.GetMSDeployLogPreparer(ctx, resourceGroupName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetMSDeployLog", nil, "Failure preparing request") + return + } + + resp, err := client.GetMSDeployLogSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetMSDeployLog", resp, "Failure sending request") + return + } + + result, err = client.GetMSDeployLogResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetMSDeployLog", resp, "Failure responding to request") + } + + return +} + +// GetMSDeployLogPreparer prepares the GetMSDeployLog request. +func (client AppsClient) GetMSDeployLogPreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/extensions/MSDeploy/log", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetMSDeployLogSender sends the GetMSDeployLog request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetMSDeployLogSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetMSDeployLogResponder handles the response to the GetMSDeployLog request. The method always +// closes the http.Response Body. +func (client AppsClient) GetMSDeployLogResponder(resp *http.Response) (result MSDeployLog, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetMSDeployLogSlot get the MSDeploy Log for the last MSDeploy operation. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of web app. +// slot - name of web app slot. If not specified then will default to production slot. +func (client AppsClient) GetMSDeployLogSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result MSDeployLog, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.GetMSDeployLogSlot") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "GetMSDeployLogSlot", err.Error()) + } + + req, err := client.GetMSDeployLogSlotPreparer(ctx, resourceGroupName, name, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetMSDeployLogSlot", nil, "Failure preparing request") + return + } + + resp, err := client.GetMSDeployLogSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetMSDeployLogSlot", resp, "Failure sending request") + return + } + + result, err = client.GetMSDeployLogSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetMSDeployLogSlot", resp, "Failure responding to request") + } + + return +} + +// GetMSDeployLogSlotPreparer prepares the GetMSDeployLogSlot request. +func (client AppsClient) GetMSDeployLogSlotPreparer(ctx context.Context, resourceGroupName string, name string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/extensions/MSDeploy/log", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetMSDeployLogSlotSender sends the GetMSDeployLogSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetMSDeployLogSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetMSDeployLogSlotResponder handles the response to the GetMSDeployLogSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) GetMSDeployLogSlotResponder(resp *http.Response) (result MSDeployLog, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetMSDeployStatus get the status of the last MSDeploy operation. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of web app. +func (client AppsClient) GetMSDeployStatus(ctx context.Context, resourceGroupName string, name string) (result MSDeployStatus, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.GetMSDeployStatus") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "GetMSDeployStatus", err.Error()) + } + + req, err := client.GetMSDeployStatusPreparer(ctx, resourceGroupName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetMSDeployStatus", nil, "Failure preparing request") + return + } + + resp, err := client.GetMSDeployStatusSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetMSDeployStatus", resp, "Failure sending request") + return + } + + result, err = client.GetMSDeployStatusResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetMSDeployStatus", resp, "Failure responding to request") + } + + return +} + +// GetMSDeployStatusPreparer prepares the GetMSDeployStatus request. +func (client AppsClient) GetMSDeployStatusPreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/extensions/MSDeploy", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetMSDeployStatusSender sends the GetMSDeployStatus request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetMSDeployStatusSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetMSDeployStatusResponder handles the response to the GetMSDeployStatus request. The method always +// closes the http.Response Body. +func (client AppsClient) GetMSDeployStatusResponder(resp *http.Response) (result MSDeployStatus, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetMSDeployStatusSlot get the status of the last MSDeploy operation. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of web app. +// slot - name of web app slot. If not specified then will default to production slot. +func (client AppsClient) GetMSDeployStatusSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result MSDeployStatus, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.GetMSDeployStatusSlot") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "GetMSDeployStatusSlot", err.Error()) + } + + req, err := client.GetMSDeployStatusSlotPreparer(ctx, resourceGroupName, name, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetMSDeployStatusSlot", nil, "Failure preparing request") + return + } + + resp, err := client.GetMSDeployStatusSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetMSDeployStatusSlot", resp, "Failure sending request") + return + } + + result, err = client.GetMSDeployStatusSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetMSDeployStatusSlot", resp, "Failure responding to request") + } + + return +} + +// GetMSDeployStatusSlotPreparer prepares the GetMSDeployStatusSlot request. +func (client AppsClient) GetMSDeployStatusSlotPreparer(ctx context.Context, resourceGroupName string, name string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/extensions/MSDeploy", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetMSDeployStatusSlotSender sends the GetMSDeployStatusSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetMSDeployStatusSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetMSDeployStatusSlotResponder handles the response to the GetMSDeployStatusSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) GetMSDeployStatusSlotResponder(resp *http.Response) (result MSDeployStatus, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetNetworkTraceOperation gets a named operation for a network trace capturing (or deployment slot, if specified). +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// operationID - GUID of the operation. +func (client AppsClient) GetNetworkTraceOperation(ctx context.Context, resourceGroupName string, name string, operationID string) (result ListNetworkTrace, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.GetNetworkTraceOperation") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "GetNetworkTraceOperation", err.Error()) + } + + req, err := client.GetNetworkTraceOperationPreparer(ctx, resourceGroupName, name, operationID) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetNetworkTraceOperation", nil, "Failure preparing request") + return + } + + resp, err := client.GetNetworkTraceOperationSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetNetworkTraceOperation", resp, "Failure sending request") + return + } + + result, err = client.GetNetworkTraceOperationResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetNetworkTraceOperation", resp, "Failure responding to request") + } + + return +} + +// GetNetworkTraceOperationPreparer prepares the GetNetworkTraceOperation request. +func (client AppsClient) GetNetworkTraceOperationPreparer(ctx context.Context, resourceGroupName string, name string, operationID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "operationId": autorest.Encode("path", operationID), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/networkTrace/operationresults/{operationId}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetNetworkTraceOperationSender sends the GetNetworkTraceOperation request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetNetworkTraceOperationSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetNetworkTraceOperationResponder handles the response to the GetNetworkTraceOperation request. The method always +// closes the http.Response Body. +func (client AppsClient) GetNetworkTraceOperationResponder(resp *http.Response) (result ListNetworkTrace, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result.Value), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetNetworkTraceOperationSlot gets a named operation for a network trace capturing (or deployment slot, if +// specified). +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// operationID - GUID of the operation. +// slot - name of the deployment slot. If a slot is not specified, the API will get an operation for the +// production slot. +func (client AppsClient) GetNetworkTraceOperationSlot(ctx context.Context, resourceGroupName string, name string, operationID string, slot string) (result ListNetworkTrace, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.GetNetworkTraceOperationSlot") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "GetNetworkTraceOperationSlot", err.Error()) + } + + req, err := client.GetNetworkTraceOperationSlotPreparer(ctx, resourceGroupName, name, operationID, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetNetworkTraceOperationSlot", nil, "Failure preparing request") + return + } + + resp, err := client.GetNetworkTraceOperationSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetNetworkTraceOperationSlot", resp, "Failure sending request") + return + } + + result, err = client.GetNetworkTraceOperationSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetNetworkTraceOperationSlot", resp, "Failure responding to request") + } + + return +} + +// GetNetworkTraceOperationSlotPreparer prepares the GetNetworkTraceOperationSlot request. +func (client AppsClient) GetNetworkTraceOperationSlotPreparer(ctx context.Context, resourceGroupName string, name string, operationID string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "operationId": autorest.Encode("path", operationID), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/networkTrace/operationresults/{operationId}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetNetworkTraceOperationSlotSender sends the GetNetworkTraceOperationSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetNetworkTraceOperationSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetNetworkTraceOperationSlotResponder handles the response to the GetNetworkTraceOperationSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) GetNetworkTraceOperationSlotResponder(resp *http.Response) (result ListNetworkTrace, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result.Value), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetNetworkTraceOperationSlotV2 gets a named operation for a network trace capturing (or deployment slot, if +// specified). +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// operationID - GUID of the operation. +// slot - name of the deployment slot. If a slot is not specified, the API will get an operation for the +// production slot. +func (client AppsClient) GetNetworkTraceOperationSlotV2(ctx context.Context, resourceGroupName string, name string, operationID string, slot string) (result ListNetworkTrace, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.GetNetworkTraceOperationSlotV2") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "GetNetworkTraceOperationSlotV2", err.Error()) + } + + req, err := client.GetNetworkTraceOperationSlotV2Preparer(ctx, resourceGroupName, name, operationID, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetNetworkTraceOperationSlotV2", nil, "Failure preparing request") + return + } + + resp, err := client.GetNetworkTraceOperationSlotV2Sender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetNetworkTraceOperationSlotV2", resp, "Failure sending request") + return + } + + result, err = client.GetNetworkTraceOperationSlotV2Responder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetNetworkTraceOperationSlotV2", resp, "Failure responding to request") + } + + return +} + +// GetNetworkTraceOperationSlotV2Preparer prepares the GetNetworkTraceOperationSlotV2 request. +func (client AppsClient) GetNetworkTraceOperationSlotV2Preparer(ctx context.Context, resourceGroupName string, name string, operationID string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "operationId": autorest.Encode("path", operationID), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/networkTraces/current/operationresults/{operationId}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetNetworkTraceOperationSlotV2Sender sends the GetNetworkTraceOperationSlotV2 request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetNetworkTraceOperationSlotV2Sender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetNetworkTraceOperationSlotV2Responder handles the response to the GetNetworkTraceOperationSlotV2 request. The method always +// closes the http.Response Body. +func (client AppsClient) GetNetworkTraceOperationSlotV2Responder(resp *http.Response) (result ListNetworkTrace, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result.Value), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetNetworkTraceOperationV2 gets a named operation for a network trace capturing (or deployment slot, if specified). +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// operationID - GUID of the operation. +func (client AppsClient) GetNetworkTraceOperationV2(ctx context.Context, resourceGroupName string, name string, operationID string) (result ListNetworkTrace, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.GetNetworkTraceOperationV2") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "GetNetworkTraceOperationV2", err.Error()) + } + + req, err := client.GetNetworkTraceOperationV2Preparer(ctx, resourceGroupName, name, operationID) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetNetworkTraceOperationV2", nil, "Failure preparing request") + return + } + + resp, err := client.GetNetworkTraceOperationV2Sender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetNetworkTraceOperationV2", resp, "Failure sending request") + return + } + + result, err = client.GetNetworkTraceOperationV2Responder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetNetworkTraceOperationV2", resp, "Failure responding to request") + } + + return +} + +// GetNetworkTraceOperationV2Preparer prepares the GetNetworkTraceOperationV2 request. +func (client AppsClient) GetNetworkTraceOperationV2Preparer(ctx context.Context, resourceGroupName string, name string, operationID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "operationId": autorest.Encode("path", operationID), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/networkTraces/current/operationresults/{operationId}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetNetworkTraceOperationV2Sender sends the GetNetworkTraceOperationV2 request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetNetworkTraceOperationV2Sender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetNetworkTraceOperationV2Responder handles the response to the GetNetworkTraceOperationV2 request. The method always +// closes the http.Response Body. +func (client AppsClient) GetNetworkTraceOperationV2Responder(resp *http.Response) (result ListNetworkTrace, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result.Value), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetNetworkTraces gets a named operation for a network trace capturing (or deployment slot, if specified). +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// operationID - GUID of the operation. +func (client AppsClient) GetNetworkTraces(ctx context.Context, resourceGroupName string, name string, operationID string) (result ListNetworkTrace, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.GetNetworkTraces") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "GetNetworkTraces", err.Error()) + } + + req, err := client.GetNetworkTracesPreparer(ctx, resourceGroupName, name, operationID) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetNetworkTraces", nil, "Failure preparing request") + return + } + + resp, err := client.GetNetworkTracesSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetNetworkTraces", resp, "Failure sending request") + return + } + + result, err = client.GetNetworkTracesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetNetworkTraces", resp, "Failure responding to request") + } + + return +} + +// GetNetworkTracesPreparer prepares the GetNetworkTraces request. +func (client AppsClient) GetNetworkTracesPreparer(ctx context.Context, resourceGroupName string, name string, operationID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "operationId": autorest.Encode("path", operationID), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/networkTrace/{operationId}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetNetworkTracesSender sends the GetNetworkTraces request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetNetworkTracesSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetNetworkTracesResponder handles the response to the GetNetworkTraces request. The method always +// closes the http.Response Body. +func (client AppsClient) GetNetworkTracesResponder(resp *http.Response) (result ListNetworkTrace, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result.Value), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetNetworkTracesSlot gets a named operation for a network trace capturing (or deployment slot, if specified). +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// operationID - GUID of the operation. +// slot - name of the deployment slot. If a slot is not specified, the API will get an operation for the +// production slot. +func (client AppsClient) GetNetworkTracesSlot(ctx context.Context, resourceGroupName string, name string, operationID string, slot string) (result ListNetworkTrace, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.GetNetworkTracesSlot") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "GetNetworkTracesSlot", err.Error()) + } + + req, err := client.GetNetworkTracesSlotPreparer(ctx, resourceGroupName, name, operationID, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetNetworkTracesSlot", nil, "Failure preparing request") + return + } + + resp, err := client.GetNetworkTracesSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetNetworkTracesSlot", resp, "Failure sending request") + return + } + + result, err = client.GetNetworkTracesSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetNetworkTracesSlot", resp, "Failure responding to request") + } + + return +} + +// GetNetworkTracesSlotPreparer prepares the GetNetworkTracesSlot request. +func (client AppsClient) GetNetworkTracesSlotPreparer(ctx context.Context, resourceGroupName string, name string, operationID string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "operationId": autorest.Encode("path", operationID), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/networkTrace/{operationId}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetNetworkTracesSlotSender sends the GetNetworkTracesSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetNetworkTracesSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetNetworkTracesSlotResponder handles the response to the GetNetworkTracesSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) GetNetworkTracesSlotResponder(resp *http.Response) (result ListNetworkTrace, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result.Value), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetNetworkTracesSlotV2 gets a named operation for a network trace capturing (or deployment slot, if specified). +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// operationID - GUID of the operation. +// slot - name of the deployment slot. If a slot is not specified, the API will get an operation for the +// production slot. +func (client AppsClient) GetNetworkTracesSlotV2(ctx context.Context, resourceGroupName string, name string, operationID string, slot string) (result ListNetworkTrace, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.GetNetworkTracesSlotV2") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "GetNetworkTracesSlotV2", err.Error()) + } + + req, err := client.GetNetworkTracesSlotV2Preparer(ctx, resourceGroupName, name, operationID, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetNetworkTracesSlotV2", nil, "Failure preparing request") + return + } + + resp, err := client.GetNetworkTracesSlotV2Sender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetNetworkTracesSlotV2", resp, "Failure sending request") + return + } + + result, err = client.GetNetworkTracesSlotV2Responder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetNetworkTracesSlotV2", resp, "Failure responding to request") + } + + return +} + +// GetNetworkTracesSlotV2Preparer prepares the GetNetworkTracesSlotV2 request. +func (client AppsClient) GetNetworkTracesSlotV2Preparer(ctx context.Context, resourceGroupName string, name string, operationID string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "operationId": autorest.Encode("path", operationID), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/networkTraces/{operationId}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetNetworkTracesSlotV2Sender sends the GetNetworkTracesSlotV2 request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetNetworkTracesSlotV2Sender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetNetworkTracesSlotV2Responder handles the response to the GetNetworkTracesSlotV2 request. The method always +// closes the http.Response Body. +func (client AppsClient) GetNetworkTracesSlotV2Responder(resp *http.Response) (result ListNetworkTrace, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result.Value), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetNetworkTracesV2 gets a named operation for a network trace capturing (or deployment slot, if specified). +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// operationID - GUID of the operation. +func (client AppsClient) GetNetworkTracesV2(ctx context.Context, resourceGroupName string, name string, operationID string) (result ListNetworkTrace, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.GetNetworkTracesV2") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "GetNetworkTracesV2", err.Error()) + } + + req, err := client.GetNetworkTracesV2Preparer(ctx, resourceGroupName, name, operationID) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetNetworkTracesV2", nil, "Failure preparing request") + return + } + + resp, err := client.GetNetworkTracesV2Sender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetNetworkTracesV2", resp, "Failure sending request") + return + } + + result, err = client.GetNetworkTracesV2Responder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetNetworkTracesV2", resp, "Failure responding to request") + } + + return +} + +// GetNetworkTracesV2Preparer prepares the GetNetworkTracesV2 request. +func (client AppsClient) GetNetworkTracesV2Preparer(ctx context.Context, resourceGroupName string, name string, operationID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "operationId": autorest.Encode("path", operationID), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/networkTraces/{operationId}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetNetworkTracesV2Sender sends the GetNetworkTracesV2 request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetNetworkTracesV2Sender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetNetworkTracesV2Responder handles the response to the GetNetworkTracesV2 request. The method always +// closes the http.Response Body. +func (client AppsClient) GetNetworkTracesV2Responder(resp *http.Response) (result ListNetworkTrace, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result.Value), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetPremierAddOn gets a named add-on of an app. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// premierAddOnName - add-on name. +func (client AppsClient) GetPremierAddOn(ctx context.Context, resourceGroupName string, name string, premierAddOnName string) (result PremierAddOn, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.GetPremierAddOn") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "GetPremierAddOn", err.Error()) + } + + req, err := client.GetPremierAddOnPreparer(ctx, resourceGroupName, name, premierAddOnName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetPremierAddOn", nil, "Failure preparing request") + return + } + + resp, err := client.GetPremierAddOnSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetPremierAddOn", resp, "Failure sending request") + return + } + + result, err = client.GetPremierAddOnResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetPremierAddOn", resp, "Failure responding to request") + } + + return +} + +// GetPremierAddOnPreparer prepares the GetPremierAddOn request. +func (client AppsClient) GetPremierAddOnPreparer(ctx context.Context, resourceGroupName string, name string, premierAddOnName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "premierAddOnName": autorest.Encode("path", premierAddOnName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/premieraddons/{premierAddOnName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetPremierAddOnSender sends the GetPremierAddOn request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetPremierAddOnSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetPremierAddOnResponder handles the response to the GetPremierAddOn request. The method always +// closes the http.Response Body. +func (client AppsClient) GetPremierAddOnResponder(resp *http.Response) (result PremierAddOn, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetPremierAddOnSlot gets a named add-on of an app. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// premierAddOnName - add-on name. +// slot - name of the deployment slot. If a slot is not specified, the API will get the named add-on for the +// production slot. +func (client AppsClient) GetPremierAddOnSlot(ctx context.Context, resourceGroupName string, name string, premierAddOnName string, slot string) (result PremierAddOn, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.GetPremierAddOnSlot") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "GetPremierAddOnSlot", err.Error()) + } + + req, err := client.GetPremierAddOnSlotPreparer(ctx, resourceGroupName, name, premierAddOnName, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetPremierAddOnSlot", nil, "Failure preparing request") + return + } + + resp, err := client.GetPremierAddOnSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetPremierAddOnSlot", resp, "Failure sending request") + return + } + + result, err = client.GetPremierAddOnSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetPremierAddOnSlot", resp, "Failure responding to request") + } + + return +} + +// GetPremierAddOnSlotPreparer prepares the GetPremierAddOnSlot request. +func (client AppsClient) GetPremierAddOnSlotPreparer(ctx context.Context, resourceGroupName string, name string, premierAddOnName string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "premierAddOnName": autorest.Encode("path", premierAddOnName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/premieraddons/{premierAddOnName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetPremierAddOnSlotSender sends the GetPremierAddOnSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetPremierAddOnSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetPremierAddOnSlotResponder handles the response to the GetPremierAddOnSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) GetPremierAddOnSlotResponder(resp *http.Response) (result PremierAddOn, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetPrivateAccess gets data around private site access enablement and authorized Virtual Networks that can access the +// site. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - the name of the web app. +func (client AppsClient) GetPrivateAccess(ctx context.Context, resourceGroupName string, name string) (result PrivateAccess, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.GetPrivateAccess") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "GetPrivateAccess", err.Error()) + } + + req, err := client.GetPrivateAccessPreparer(ctx, resourceGroupName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetPrivateAccess", nil, "Failure preparing request") + return + } + + resp, err := client.GetPrivateAccessSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetPrivateAccess", resp, "Failure sending request") + return + } + + result, err = client.GetPrivateAccessResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetPrivateAccess", resp, "Failure responding to request") + } + + return +} + +// GetPrivateAccessPreparer prepares the GetPrivateAccess request. +func (client AppsClient) GetPrivateAccessPreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/privateAccess/virtualNetworks", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetPrivateAccessSender sends the GetPrivateAccess request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetPrivateAccessSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetPrivateAccessResponder handles the response to the GetPrivateAccess request. The method always +// closes the http.Response Body. +func (client AppsClient) GetPrivateAccessResponder(resp *http.Response) (result PrivateAccess, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetPrivateAccessSlot gets data around private site access enablement and authorized Virtual Networks that can access +// the site. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - the name of the web app. +// slot - the name of the slot for the web app. +func (client AppsClient) GetPrivateAccessSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result PrivateAccess, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.GetPrivateAccessSlot") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "GetPrivateAccessSlot", err.Error()) + } + + req, err := client.GetPrivateAccessSlotPreparer(ctx, resourceGroupName, name, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetPrivateAccessSlot", nil, "Failure preparing request") + return + } + + resp, err := client.GetPrivateAccessSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetPrivateAccessSlot", resp, "Failure sending request") + return + } + + result, err = client.GetPrivateAccessSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetPrivateAccessSlot", resp, "Failure responding to request") + } + + return +} + +// GetPrivateAccessSlotPreparer prepares the GetPrivateAccessSlot request. +func (client AppsClient) GetPrivateAccessSlotPreparer(ctx context.Context, resourceGroupName string, name string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/privateAccess/virtualNetworks", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetPrivateAccessSlotSender sends the GetPrivateAccessSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetPrivateAccessSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetPrivateAccessSlotResponder handles the response to the GetPrivateAccessSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) GetPrivateAccessSlotResponder(resp *http.Response) (result PrivateAccess, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetProcess get process information by its ID for a specific scaled-out instance in a web site. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - site name. +// processID - pID. +func (client AppsClient) GetProcess(ctx context.Context, resourceGroupName string, name string, processID string) (result ProcessInfo, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.GetProcess") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "GetProcess", err.Error()) + } + + req, err := client.GetProcessPreparer(ctx, resourceGroupName, name, processID) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetProcess", nil, "Failure preparing request") + return + } + + resp, err := client.GetProcessSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetProcess", resp, "Failure sending request") + return + } + + result, err = client.GetProcessResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetProcess", resp, "Failure responding to request") + } + + return +} + +// GetProcessPreparer prepares the GetProcess request. +func (client AppsClient) GetProcessPreparer(ctx context.Context, resourceGroupName string, name string, processID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "processId": autorest.Encode("path", processID), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/processes/{processId}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetProcessSender sends the GetProcess request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetProcessSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetProcessResponder handles the response to the GetProcess request. The method always +// closes the http.Response Body. +func (client AppsClient) GetProcessResponder(resp *http.Response) (result ProcessInfo, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetProcessDump get a memory dump of a process by its ID for a specific scaled-out instance in a web site. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - site name. +// processID - pID. +func (client AppsClient) GetProcessDump(ctx context.Context, resourceGroupName string, name string, processID string) (result ReadCloser, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.GetProcessDump") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "GetProcessDump", err.Error()) + } + + req, err := client.GetProcessDumpPreparer(ctx, resourceGroupName, name, processID) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetProcessDump", nil, "Failure preparing request") + return + } + + resp, err := client.GetProcessDumpSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetProcessDump", resp, "Failure sending request") + return + } + + result, err = client.GetProcessDumpResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetProcessDump", resp, "Failure responding to request") + } + + return +} + +// GetProcessDumpPreparer prepares the GetProcessDump request. +func (client AppsClient) GetProcessDumpPreparer(ctx context.Context, resourceGroupName string, name string, processID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "processId": autorest.Encode("path", processID), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/processes/{processId}/dump", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetProcessDumpSender sends the GetProcessDump request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetProcessDumpSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetProcessDumpResponder handles the response to the GetProcessDump request. The method always +// closes the http.Response Body. +func (client AppsClient) GetProcessDumpResponder(resp *http.Response) (result ReadCloser, err error) { + result.Value = &resp.Body + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound)) + result.Response = autorest.Response{Response: resp} + return +} + +// GetProcessDumpSlot get a memory dump of a process by its ID for a specific scaled-out instance in a web site. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - site name. +// processID - pID. +// slot - name of the deployment slot. If a slot is not specified, the API returns deployments for the +// production slot. +func (client AppsClient) GetProcessDumpSlot(ctx context.Context, resourceGroupName string, name string, processID string, slot string) (result ReadCloser, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.GetProcessDumpSlot") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "GetProcessDumpSlot", err.Error()) + } + + req, err := client.GetProcessDumpSlotPreparer(ctx, resourceGroupName, name, processID, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetProcessDumpSlot", nil, "Failure preparing request") + return + } + + resp, err := client.GetProcessDumpSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetProcessDumpSlot", resp, "Failure sending request") + return + } + + result, err = client.GetProcessDumpSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetProcessDumpSlot", resp, "Failure responding to request") + } + + return +} + +// GetProcessDumpSlotPreparer prepares the GetProcessDumpSlot request. +func (client AppsClient) GetProcessDumpSlotPreparer(ctx context.Context, resourceGroupName string, name string, processID string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "processId": autorest.Encode("path", processID), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/processes/{processId}/dump", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetProcessDumpSlotSender sends the GetProcessDumpSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetProcessDumpSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetProcessDumpSlotResponder handles the response to the GetProcessDumpSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) GetProcessDumpSlotResponder(resp *http.Response) (result ReadCloser, err error) { + result.Value = &resp.Body + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound)) + result.Response = autorest.Response{Response: resp} + return +} + +// GetProcessModule get process information by its ID for a specific scaled-out instance in a web site. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - site name. +// processID - pID. +// baseAddress - module base address. +func (client AppsClient) GetProcessModule(ctx context.Context, resourceGroupName string, name string, processID string, baseAddress string) (result ProcessModuleInfo, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.GetProcessModule") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "GetProcessModule", err.Error()) + } + + req, err := client.GetProcessModulePreparer(ctx, resourceGroupName, name, processID, baseAddress) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetProcessModule", nil, "Failure preparing request") + return + } + + resp, err := client.GetProcessModuleSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetProcessModule", resp, "Failure sending request") + return + } + + result, err = client.GetProcessModuleResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetProcessModule", resp, "Failure responding to request") + } + + return +} + +// GetProcessModulePreparer prepares the GetProcessModule request. +func (client AppsClient) GetProcessModulePreparer(ctx context.Context, resourceGroupName string, name string, processID string, baseAddress string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "baseAddress": autorest.Encode("path", baseAddress), + "name": autorest.Encode("path", name), + "processId": autorest.Encode("path", processID), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/processes/{processId}/modules/{baseAddress}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetProcessModuleSender sends the GetProcessModule request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetProcessModuleSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetProcessModuleResponder handles the response to the GetProcessModule request. The method always +// closes the http.Response Body. +func (client AppsClient) GetProcessModuleResponder(resp *http.Response) (result ProcessModuleInfo, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetProcessModuleSlot get process information by its ID for a specific scaled-out instance in a web site. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - site name. +// processID - pID. +// baseAddress - module base address. +// slot - name of the deployment slot. If a slot is not specified, the API returns deployments for the +// production slot. +func (client AppsClient) GetProcessModuleSlot(ctx context.Context, resourceGroupName string, name string, processID string, baseAddress string, slot string) (result ProcessModuleInfo, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.GetProcessModuleSlot") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "GetProcessModuleSlot", err.Error()) + } + + req, err := client.GetProcessModuleSlotPreparer(ctx, resourceGroupName, name, processID, baseAddress, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetProcessModuleSlot", nil, "Failure preparing request") + return + } + + resp, err := client.GetProcessModuleSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetProcessModuleSlot", resp, "Failure sending request") + return + } + + result, err = client.GetProcessModuleSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetProcessModuleSlot", resp, "Failure responding to request") + } + + return +} + +// GetProcessModuleSlotPreparer prepares the GetProcessModuleSlot request. +func (client AppsClient) GetProcessModuleSlotPreparer(ctx context.Context, resourceGroupName string, name string, processID string, baseAddress string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "baseAddress": autorest.Encode("path", baseAddress), + "name": autorest.Encode("path", name), + "processId": autorest.Encode("path", processID), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/processes/{processId}/modules/{baseAddress}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetProcessModuleSlotSender sends the GetProcessModuleSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetProcessModuleSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetProcessModuleSlotResponder handles the response to the GetProcessModuleSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) GetProcessModuleSlotResponder(resp *http.Response) (result ProcessModuleInfo, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetProcessSlot get process information by its ID for a specific scaled-out instance in a web site. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - site name. +// processID - pID. +// slot - name of the deployment slot. If a slot is not specified, the API returns deployments for the +// production slot. +func (client AppsClient) GetProcessSlot(ctx context.Context, resourceGroupName string, name string, processID string, slot string) (result ProcessInfo, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.GetProcessSlot") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "GetProcessSlot", err.Error()) + } + + req, err := client.GetProcessSlotPreparer(ctx, resourceGroupName, name, processID, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetProcessSlot", nil, "Failure preparing request") + return + } + + resp, err := client.GetProcessSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetProcessSlot", resp, "Failure sending request") + return + } + + result, err = client.GetProcessSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetProcessSlot", resp, "Failure responding to request") + } + + return +} + +// GetProcessSlotPreparer prepares the GetProcessSlot request. +func (client AppsClient) GetProcessSlotPreparer(ctx context.Context, resourceGroupName string, name string, processID string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "processId": autorest.Encode("path", processID), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/processes/{processId}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetProcessSlotSender sends the GetProcessSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetProcessSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetProcessSlotResponder handles the response to the GetProcessSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) GetProcessSlotResponder(resp *http.Response) (result ProcessInfo, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetProcessThread get thread information by Thread ID for a specific process, in a specific scaled-out instance in a +// web site. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - site name. +// processID - pID. +// threadID - tID. +func (client AppsClient) GetProcessThread(ctx context.Context, resourceGroupName string, name string, processID string, threadID string) (result ProcessThreadInfo, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.GetProcessThread") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "GetProcessThread", err.Error()) + } + + req, err := client.GetProcessThreadPreparer(ctx, resourceGroupName, name, processID, threadID) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetProcessThread", nil, "Failure preparing request") + return + } + + resp, err := client.GetProcessThreadSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetProcessThread", resp, "Failure sending request") + return + } + + result, err = client.GetProcessThreadResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetProcessThread", resp, "Failure responding to request") + } + + return +} + +// GetProcessThreadPreparer prepares the GetProcessThread request. +func (client AppsClient) GetProcessThreadPreparer(ctx context.Context, resourceGroupName string, name string, processID string, threadID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "processId": autorest.Encode("path", processID), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "threadId": autorest.Encode("path", threadID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/processes/{processId}/threads/{threadId}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetProcessThreadSender sends the GetProcessThread request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetProcessThreadSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetProcessThreadResponder handles the response to the GetProcessThread request. The method always +// closes the http.Response Body. +func (client AppsClient) GetProcessThreadResponder(resp *http.Response) (result ProcessThreadInfo, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetProcessThreadSlot get thread information by Thread ID for a specific process, in a specific scaled-out instance +// in a web site. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - site name. +// processID - pID. +// threadID - tID. +// slot - name of the deployment slot. If a slot is not specified, the API returns deployments for the +// production slot. +func (client AppsClient) GetProcessThreadSlot(ctx context.Context, resourceGroupName string, name string, processID string, threadID string, slot string) (result ProcessThreadInfo, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.GetProcessThreadSlot") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "GetProcessThreadSlot", err.Error()) + } + + req, err := client.GetProcessThreadSlotPreparer(ctx, resourceGroupName, name, processID, threadID, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetProcessThreadSlot", nil, "Failure preparing request") + return + } + + resp, err := client.GetProcessThreadSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetProcessThreadSlot", resp, "Failure sending request") + return + } + + result, err = client.GetProcessThreadSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetProcessThreadSlot", resp, "Failure responding to request") + } + + return +} + +// GetProcessThreadSlotPreparer prepares the GetProcessThreadSlot request. +func (client AppsClient) GetProcessThreadSlotPreparer(ctx context.Context, resourceGroupName string, name string, processID string, threadID string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "processId": autorest.Encode("path", processID), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "threadId": autorest.Encode("path", threadID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/processes/{processId}/threads/{threadId}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetProcessThreadSlotSender sends the GetProcessThreadSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetProcessThreadSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetProcessThreadSlotResponder handles the response to the GetProcessThreadSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) GetProcessThreadSlotResponder(resp *http.Response) (result ProcessThreadInfo, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetPublicCertificate get the named public certificate for an app (or deployment slot, if specified). +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// publicCertificateName - public certificate name. +func (client AppsClient) GetPublicCertificate(ctx context.Context, resourceGroupName string, name string, publicCertificateName string) (result PublicCertificate, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.GetPublicCertificate") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "GetPublicCertificate", err.Error()) + } + + req, err := client.GetPublicCertificatePreparer(ctx, resourceGroupName, name, publicCertificateName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetPublicCertificate", nil, "Failure preparing request") + return + } + + resp, err := client.GetPublicCertificateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetPublicCertificate", resp, "Failure sending request") + return + } + + result, err = client.GetPublicCertificateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetPublicCertificate", resp, "Failure responding to request") + } + + return +} + +// GetPublicCertificatePreparer prepares the GetPublicCertificate request. +func (client AppsClient) GetPublicCertificatePreparer(ctx context.Context, resourceGroupName string, name string, publicCertificateName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "publicCertificateName": autorest.Encode("path", publicCertificateName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/publicCertificates/{publicCertificateName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetPublicCertificateSender sends the GetPublicCertificate request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetPublicCertificateSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetPublicCertificateResponder handles the response to the GetPublicCertificate request. The method always +// closes the http.Response Body. +func (client AppsClient) GetPublicCertificateResponder(resp *http.Response) (result PublicCertificate, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetPublicCertificateSlot get the named public certificate for an app (or deployment slot, if specified). +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// slot - name of the deployment slot. If a slot is not specified, the API the named binding for the production +// slot. +// publicCertificateName - public certificate name. +func (client AppsClient) GetPublicCertificateSlot(ctx context.Context, resourceGroupName string, name string, slot string, publicCertificateName string) (result PublicCertificate, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.GetPublicCertificateSlot") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "GetPublicCertificateSlot", err.Error()) + } + + req, err := client.GetPublicCertificateSlotPreparer(ctx, resourceGroupName, name, slot, publicCertificateName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetPublicCertificateSlot", nil, "Failure preparing request") + return + } + + resp, err := client.GetPublicCertificateSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetPublicCertificateSlot", resp, "Failure sending request") + return + } + + result, err = client.GetPublicCertificateSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetPublicCertificateSlot", resp, "Failure responding to request") + } + + return +} + +// GetPublicCertificateSlotPreparer prepares the GetPublicCertificateSlot request. +func (client AppsClient) GetPublicCertificateSlotPreparer(ctx context.Context, resourceGroupName string, name string, slot string, publicCertificateName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "publicCertificateName": autorest.Encode("path", publicCertificateName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/publicCertificates/{publicCertificateName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetPublicCertificateSlotSender sends the GetPublicCertificateSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetPublicCertificateSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetPublicCertificateSlotResponder handles the response to the GetPublicCertificateSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) GetPublicCertificateSlotResponder(resp *http.Response) (result PublicCertificate, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetRelayServiceConnection gets a hybrid connection configuration by its name. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// entityName - name of the hybrid connection. +func (client AppsClient) GetRelayServiceConnection(ctx context.Context, resourceGroupName string, name string, entityName string) (result RelayServiceConnectionEntity, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.GetRelayServiceConnection") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "GetRelayServiceConnection", err.Error()) + } + + req, err := client.GetRelayServiceConnectionPreparer(ctx, resourceGroupName, name, entityName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetRelayServiceConnection", nil, "Failure preparing request") + return + } + + resp, err := client.GetRelayServiceConnectionSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetRelayServiceConnection", resp, "Failure sending request") + return + } + + result, err = client.GetRelayServiceConnectionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetRelayServiceConnection", resp, "Failure responding to request") + } + + return +} + +// GetRelayServiceConnectionPreparer prepares the GetRelayServiceConnection request. +func (client AppsClient) GetRelayServiceConnectionPreparer(ctx context.Context, resourceGroupName string, name string, entityName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "entityName": autorest.Encode("path", entityName), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridconnection/{entityName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetRelayServiceConnectionSender sends the GetRelayServiceConnection request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetRelayServiceConnectionSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetRelayServiceConnectionResponder handles the response to the GetRelayServiceConnection request. The method always +// closes the http.Response Body. +func (client AppsClient) GetRelayServiceConnectionResponder(resp *http.Response) (result RelayServiceConnectionEntity, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetRelayServiceConnectionSlot gets a hybrid connection configuration by its name. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// entityName - name of the hybrid connection. +// slot - name of the deployment slot. If a slot is not specified, the API will get a hybrid connection for the +// production slot. +func (client AppsClient) GetRelayServiceConnectionSlot(ctx context.Context, resourceGroupName string, name string, entityName string, slot string) (result RelayServiceConnectionEntity, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.GetRelayServiceConnectionSlot") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "GetRelayServiceConnectionSlot", err.Error()) + } + + req, err := client.GetRelayServiceConnectionSlotPreparer(ctx, resourceGroupName, name, entityName, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetRelayServiceConnectionSlot", nil, "Failure preparing request") + return + } + + resp, err := client.GetRelayServiceConnectionSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetRelayServiceConnectionSlot", resp, "Failure sending request") + return + } + + result, err = client.GetRelayServiceConnectionSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetRelayServiceConnectionSlot", resp, "Failure responding to request") + } + + return +} + +// GetRelayServiceConnectionSlotPreparer prepares the GetRelayServiceConnectionSlot request. +func (client AppsClient) GetRelayServiceConnectionSlotPreparer(ctx context.Context, resourceGroupName string, name string, entityName string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "entityName": autorest.Encode("path", entityName), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridconnection/{entityName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetRelayServiceConnectionSlotSender sends the GetRelayServiceConnectionSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetRelayServiceConnectionSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetRelayServiceConnectionSlotResponder handles the response to the GetRelayServiceConnectionSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) GetRelayServiceConnectionSlotResponder(resp *http.Response) (result RelayServiceConnectionEntity, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetSiteExtension get site extension information by its ID for a web site, or a deployment slot. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - site name. +// siteExtensionID - site extension name. +func (client AppsClient) GetSiteExtension(ctx context.Context, resourceGroupName string, name string, siteExtensionID string) (result SiteExtensionInfo, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.GetSiteExtension") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "GetSiteExtension", err.Error()) + } + + req, err := client.GetSiteExtensionPreparer(ctx, resourceGroupName, name, siteExtensionID) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetSiteExtension", nil, "Failure preparing request") + return + } + + resp, err := client.GetSiteExtensionSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetSiteExtension", resp, "Failure sending request") + return + } + + result, err = client.GetSiteExtensionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetSiteExtension", resp, "Failure responding to request") + } + + return +} + +// GetSiteExtensionPreparer prepares the GetSiteExtension request. +func (client AppsClient) GetSiteExtensionPreparer(ctx context.Context, resourceGroupName string, name string, siteExtensionID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "siteExtensionId": autorest.Encode("path", siteExtensionID), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/siteextensions/{siteExtensionId}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSiteExtensionSender sends the GetSiteExtension request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetSiteExtensionSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetSiteExtensionResponder handles the response to the GetSiteExtension request. The method always +// closes the http.Response Body. +func (client AppsClient) GetSiteExtensionResponder(resp *http.Response) (result SiteExtensionInfo, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetSiteExtensionSlot get site extension information by its ID for a web site, or a deployment slot. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - site name. +// siteExtensionID - site extension name. +// slot - name of the deployment slot. If a slot is not specified, the API deletes a deployment for the +// production slot. +func (client AppsClient) GetSiteExtensionSlot(ctx context.Context, resourceGroupName string, name string, siteExtensionID string, slot string) (result SiteExtensionInfo, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.GetSiteExtensionSlot") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "GetSiteExtensionSlot", err.Error()) + } + + req, err := client.GetSiteExtensionSlotPreparer(ctx, resourceGroupName, name, siteExtensionID, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetSiteExtensionSlot", nil, "Failure preparing request") + return + } + + resp, err := client.GetSiteExtensionSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetSiteExtensionSlot", resp, "Failure sending request") + return + } + + result, err = client.GetSiteExtensionSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetSiteExtensionSlot", resp, "Failure responding to request") + } + + return +} + +// GetSiteExtensionSlotPreparer prepares the GetSiteExtensionSlot request. +func (client AppsClient) GetSiteExtensionSlotPreparer(ctx context.Context, resourceGroupName string, name string, siteExtensionID string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "siteExtensionId": autorest.Encode("path", siteExtensionID), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/siteextensions/{siteExtensionId}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSiteExtensionSlotSender sends the GetSiteExtensionSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetSiteExtensionSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetSiteExtensionSlotResponder handles the response to the GetSiteExtensionSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) GetSiteExtensionSlotResponder(resp *http.Response) (result SiteExtensionInfo, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetSitePhpErrorLogFlag gets web app's event logs. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of web app. +func (client AppsClient) GetSitePhpErrorLogFlag(ctx context.Context, resourceGroupName string, name string) (result SitePhpErrorLogFlag, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.GetSitePhpErrorLogFlag") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "GetSitePhpErrorLogFlag", err.Error()) + } + + req, err := client.GetSitePhpErrorLogFlagPreparer(ctx, resourceGroupName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetSitePhpErrorLogFlag", nil, "Failure preparing request") + return + } + + resp, err := client.GetSitePhpErrorLogFlagSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetSitePhpErrorLogFlag", resp, "Failure sending request") + return + } + + result, err = client.GetSitePhpErrorLogFlagResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetSitePhpErrorLogFlag", resp, "Failure responding to request") + } + + return +} + +// GetSitePhpErrorLogFlagPreparer prepares the GetSitePhpErrorLogFlag request. +func (client AppsClient) GetSitePhpErrorLogFlagPreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/phplogging", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSitePhpErrorLogFlagSender sends the GetSitePhpErrorLogFlag request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetSitePhpErrorLogFlagSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetSitePhpErrorLogFlagResponder handles the response to the GetSitePhpErrorLogFlag request. The method always +// closes the http.Response Body. +func (client AppsClient) GetSitePhpErrorLogFlagResponder(resp *http.Response) (result SitePhpErrorLogFlag, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetSitePhpErrorLogFlagSlot gets web app's event logs. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of web app. +// slot - name of web app slot. If not specified then will default to production slot. +func (client AppsClient) GetSitePhpErrorLogFlagSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result SitePhpErrorLogFlag, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.GetSitePhpErrorLogFlagSlot") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "GetSitePhpErrorLogFlagSlot", err.Error()) + } + + req, err := client.GetSitePhpErrorLogFlagSlotPreparer(ctx, resourceGroupName, name, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetSitePhpErrorLogFlagSlot", nil, "Failure preparing request") + return + } + + resp, err := client.GetSitePhpErrorLogFlagSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetSitePhpErrorLogFlagSlot", resp, "Failure sending request") + return + } + + result, err = client.GetSitePhpErrorLogFlagSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetSitePhpErrorLogFlagSlot", resp, "Failure responding to request") + } + + return +} + +// GetSitePhpErrorLogFlagSlotPreparer prepares the GetSitePhpErrorLogFlagSlot request. +func (client AppsClient) GetSitePhpErrorLogFlagSlotPreparer(ctx context.Context, resourceGroupName string, name string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/phplogging", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSitePhpErrorLogFlagSlotSender sends the GetSitePhpErrorLogFlagSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetSitePhpErrorLogFlagSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetSitePhpErrorLogFlagSlotResponder handles the response to the GetSitePhpErrorLogFlagSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) GetSitePhpErrorLogFlagSlotResponder(resp *http.Response) (result SitePhpErrorLogFlag, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetSlot gets the details of a web, mobile, or API app. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// slot - name of the deployment slot. By default, this API returns the production slot. +func (client AppsClient) GetSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result Site, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.GetSlot") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "GetSlot", err.Error()) + } + + req, err := client.GetSlotPreparer(ctx, resourceGroupName, name, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetSlot", nil, "Failure preparing request") + return + } + + resp, err := client.GetSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetSlot", resp, "Failure sending request") + return + } + + result, err = client.GetSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetSlot", resp, "Failure responding to request") + } + + return +} + +// GetSlotPreparer prepares the GetSlot request. +func (client AppsClient) GetSlotPreparer(ctx context.Context, resourceGroupName string, name string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSlotSender sends the GetSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetSlotResponder handles the response to the GetSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) GetSlotResponder(resp *http.Response) (result Site, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetSourceControl gets the source control configuration of an app. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +func (client AppsClient) GetSourceControl(ctx context.Context, resourceGroupName string, name string) (result SiteSourceControl, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.GetSourceControl") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "GetSourceControl", err.Error()) + } + + req, err := client.GetSourceControlPreparer(ctx, resourceGroupName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetSourceControl", nil, "Failure preparing request") + return + } + + resp, err := client.GetSourceControlSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetSourceControl", resp, "Failure sending request") + return + } + + result, err = client.GetSourceControlResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetSourceControl", resp, "Failure responding to request") + } + + return +} + +// GetSourceControlPreparer prepares the GetSourceControl request. +func (client AppsClient) GetSourceControlPreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/sourcecontrols/web", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSourceControlSender sends the GetSourceControl request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetSourceControlSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetSourceControlResponder handles the response to the GetSourceControl request. The method always +// closes the http.Response Body. +func (client AppsClient) GetSourceControlResponder(resp *http.Response) (result SiteSourceControl, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetSourceControlSlot gets the source control configuration of an app. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// slot - name of the deployment slot. If a slot is not specified, the API will get the source control +// configuration for the production slot. +func (client AppsClient) GetSourceControlSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result SiteSourceControl, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.GetSourceControlSlot") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "GetSourceControlSlot", err.Error()) + } + + req, err := client.GetSourceControlSlotPreparer(ctx, resourceGroupName, name, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetSourceControlSlot", nil, "Failure preparing request") + return + } + + resp, err := client.GetSourceControlSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetSourceControlSlot", resp, "Failure sending request") + return + } + + result, err = client.GetSourceControlSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetSourceControlSlot", resp, "Failure responding to request") + } + + return +} + +// GetSourceControlSlotPreparer prepares the GetSourceControlSlot request. +func (client AppsClient) GetSourceControlSlotPreparer(ctx context.Context, resourceGroupName string, name string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/sourcecontrols/web", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSourceControlSlotSender sends the GetSourceControlSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetSourceControlSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetSourceControlSlotResponder handles the response to the GetSourceControlSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) GetSourceControlSlotResponder(resp *http.Response) (result SiteSourceControl, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetSwiftVirtualNetworkConnection gets a Swift Virtual Network connection. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +func (client AppsClient) GetSwiftVirtualNetworkConnection(ctx context.Context, resourceGroupName string, name string) (result SwiftVirtualNetwork, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.GetSwiftVirtualNetworkConnection") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "GetSwiftVirtualNetworkConnection", err.Error()) + } + + req, err := client.GetSwiftVirtualNetworkConnectionPreparer(ctx, resourceGroupName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetSwiftVirtualNetworkConnection", nil, "Failure preparing request") + return + } + + resp, err := client.GetSwiftVirtualNetworkConnectionSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetSwiftVirtualNetworkConnection", resp, "Failure sending request") + return + } + + result, err = client.GetSwiftVirtualNetworkConnectionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetSwiftVirtualNetworkConnection", resp, "Failure responding to request") + } + + return +} + +// GetSwiftVirtualNetworkConnectionPreparer prepares the GetSwiftVirtualNetworkConnection request. +func (client AppsClient) GetSwiftVirtualNetworkConnectionPreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/networkConfig/virtualNetwork", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSwiftVirtualNetworkConnectionSender sends the GetSwiftVirtualNetworkConnection request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetSwiftVirtualNetworkConnectionSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetSwiftVirtualNetworkConnectionResponder handles the response to the GetSwiftVirtualNetworkConnection request. The method always +// closes the http.Response Body. +func (client AppsClient) GetSwiftVirtualNetworkConnectionResponder(resp *http.Response) (result SwiftVirtualNetwork, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetSwiftVirtualNetworkConnectionSlot gets a Swift Virtual Network connection. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// slot - name of the deployment slot. If a slot is not specified, the API will get a gateway for the +// production slot's Virtual Network. +func (client AppsClient) GetSwiftVirtualNetworkConnectionSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result SwiftVirtualNetwork, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.GetSwiftVirtualNetworkConnectionSlot") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "GetSwiftVirtualNetworkConnectionSlot", err.Error()) + } + + req, err := client.GetSwiftVirtualNetworkConnectionSlotPreparer(ctx, resourceGroupName, name, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetSwiftVirtualNetworkConnectionSlot", nil, "Failure preparing request") + return + } + + resp, err := client.GetSwiftVirtualNetworkConnectionSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetSwiftVirtualNetworkConnectionSlot", resp, "Failure sending request") + return + } + + result, err = client.GetSwiftVirtualNetworkConnectionSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetSwiftVirtualNetworkConnectionSlot", resp, "Failure responding to request") + } + + return +} + +// GetSwiftVirtualNetworkConnectionSlotPreparer prepares the GetSwiftVirtualNetworkConnectionSlot request. +func (client AppsClient) GetSwiftVirtualNetworkConnectionSlotPreparer(ctx context.Context, resourceGroupName string, name string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/networkConfig/virtualNetwork", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSwiftVirtualNetworkConnectionSlotSender sends the GetSwiftVirtualNetworkConnectionSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetSwiftVirtualNetworkConnectionSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetSwiftVirtualNetworkConnectionSlotResponder handles the response to the GetSwiftVirtualNetworkConnectionSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) GetSwiftVirtualNetworkConnectionSlotResponder(resp *http.Response) (result SwiftVirtualNetwork, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetTriggeredWebJob gets a triggered web job by its ID for an app, or a deployment slot. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - site name. +// webJobName - name of Web Job. +func (client AppsClient) GetTriggeredWebJob(ctx context.Context, resourceGroupName string, name string, webJobName string) (result TriggeredWebJob, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.GetTriggeredWebJob") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "GetTriggeredWebJob", err.Error()) + } + + req, err := client.GetTriggeredWebJobPreparer(ctx, resourceGroupName, name, webJobName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetTriggeredWebJob", nil, "Failure preparing request") + return + } + + resp, err := client.GetTriggeredWebJobSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetTriggeredWebJob", resp, "Failure sending request") + return + } + + result, err = client.GetTriggeredWebJobResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetTriggeredWebJob", resp, "Failure responding to request") + } + + return +} + +// GetTriggeredWebJobPreparer prepares the GetTriggeredWebJob request. +func (client AppsClient) GetTriggeredWebJobPreparer(ctx context.Context, resourceGroupName string, name string, webJobName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "webJobName": autorest.Encode("path", webJobName), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/triggeredwebjobs/{webJobName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetTriggeredWebJobSender sends the GetTriggeredWebJob request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetTriggeredWebJobSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetTriggeredWebJobResponder handles the response to the GetTriggeredWebJob request. The method always +// closes the http.Response Body. +func (client AppsClient) GetTriggeredWebJobResponder(resp *http.Response) (result TriggeredWebJob, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetTriggeredWebJobHistory gets a triggered web job's history by its ID for an app, , or a deployment slot. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - site name. +// webJobName - name of Web Job. +// ID - history ID. +func (client AppsClient) GetTriggeredWebJobHistory(ctx context.Context, resourceGroupName string, name string, webJobName string, ID string) (result TriggeredJobHistory, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.GetTriggeredWebJobHistory") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "GetTriggeredWebJobHistory", err.Error()) + } + + req, err := client.GetTriggeredWebJobHistoryPreparer(ctx, resourceGroupName, name, webJobName, ID) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetTriggeredWebJobHistory", nil, "Failure preparing request") + return + } + + resp, err := client.GetTriggeredWebJobHistorySender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetTriggeredWebJobHistory", resp, "Failure sending request") + return + } + + result, err = client.GetTriggeredWebJobHistoryResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetTriggeredWebJobHistory", resp, "Failure responding to request") + } + + return +} + +// GetTriggeredWebJobHistoryPreparer prepares the GetTriggeredWebJobHistory request. +func (client AppsClient) GetTriggeredWebJobHistoryPreparer(ctx context.Context, resourceGroupName string, name string, webJobName string, ID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "id": autorest.Encode("path", ID), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "webJobName": autorest.Encode("path", webJobName), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/triggeredwebjobs/{webJobName}/history/{id}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetTriggeredWebJobHistorySender sends the GetTriggeredWebJobHistory request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetTriggeredWebJobHistorySender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetTriggeredWebJobHistoryResponder handles the response to the GetTriggeredWebJobHistory request. The method always +// closes the http.Response Body. +func (client AppsClient) GetTriggeredWebJobHistoryResponder(resp *http.Response) (result TriggeredJobHistory, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetTriggeredWebJobHistorySlot gets a triggered web job's history by its ID for an app, , or a deployment slot. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - site name. +// webJobName - name of Web Job. +// ID - history ID. +// slot - name of the deployment slot. If a slot is not specified, the API deletes a deployment for the +// production slot. +func (client AppsClient) GetTriggeredWebJobHistorySlot(ctx context.Context, resourceGroupName string, name string, webJobName string, ID string, slot string) (result TriggeredJobHistory, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.GetTriggeredWebJobHistorySlot") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "GetTriggeredWebJobHistorySlot", err.Error()) + } + + req, err := client.GetTriggeredWebJobHistorySlotPreparer(ctx, resourceGroupName, name, webJobName, ID, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetTriggeredWebJobHistorySlot", nil, "Failure preparing request") + return + } + + resp, err := client.GetTriggeredWebJobHistorySlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetTriggeredWebJobHistorySlot", resp, "Failure sending request") + return + } + + result, err = client.GetTriggeredWebJobHistorySlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetTriggeredWebJobHistorySlot", resp, "Failure responding to request") + } + + return +} + +// GetTriggeredWebJobHistorySlotPreparer prepares the GetTriggeredWebJobHistorySlot request. +func (client AppsClient) GetTriggeredWebJobHistorySlotPreparer(ctx context.Context, resourceGroupName string, name string, webJobName string, ID string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "id": autorest.Encode("path", ID), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "webJobName": autorest.Encode("path", webJobName), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/triggeredwebjobs/{webJobName}/history/{id}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetTriggeredWebJobHistorySlotSender sends the GetTriggeredWebJobHistorySlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetTriggeredWebJobHistorySlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetTriggeredWebJobHistorySlotResponder handles the response to the GetTriggeredWebJobHistorySlot request. The method always +// closes the http.Response Body. +func (client AppsClient) GetTriggeredWebJobHistorySlotResponder(resp *http.Response) (result TriggeredJobHistory, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetTriggeredWebJobSlot gets a triggered web job by its ID for an app, or a deployment slot. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - site name. +// webJobName - name of Web Job. +// slot - name of the deployment slot. If a slot is not specified, the API deletes a deployment for the +// production slot. +func (client AppsClient) GetTriggeredWebJobSlot(ctx context.Context, resourceGroupName string, name string, webJobName string, slot string) (result TriggeredWebJob, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.GetTriggeredWebJobSlot") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "GetTriggeredWebJobSlot", err.Error()) + } + + req, err := client.GetTriggeredWebJobSlotPreparer(ctx, resourceGroupName, name, webJobName, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetTriggeredWebJobSlot", nil, "Failure preparing request") + return + } + + resp, err := client.GetTriggeredWebJobSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetTriggeredWebJobSlot", resp, "Failure sending request") + return + } + + result, err = client.GetTriggeredWebJobSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetTriggeredWebJobSlot", resp, "Failure responding to request") + } + + return +} + +// GetTriggeredWebJobSlotPreparer prepares the GetTriggeredWebJobSlot request. +func (client AppsClient) GetTriggeredWebJobSlotPreparer(ctx context.Context, resourceGroupName string, name string, webJobName string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "webJobName": autorest.Encode("path", webJobName), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/triggeredwebjobs/{webJobName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetTriggeredWebJobSlotSender sends the GetTriggeredWebJobSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetTriggeredWebJobSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetTriggeredWebJobSlotResponder handles the response to the GetTriggeredWebJobSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) GetTriggeredWebJobSlotResponder(resp *http.Response) (result TriggeredWebJob, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetVnetConnection gets a virtual network the app (or deployment slot) is connected to by name. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// vnetName - name of the virtual network. +func (client AppsClient) GetVnetConnection(ctx context.Context, resourceGroupName string, name string, vnetName string) (result VnetInfo, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.GetVnetConnection") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "GetVnetConnection", err.Error()) + } + + req, err := client.GetVnetConnectionPreparer(ctx, resourceGroupName, name, vnetName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetVnetConnection", nil, "Failure preparing request") + return + } + + resp, err := client.GetVnetConnectionSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetVnetConnection", resp, "Failure sending request") + return + } + + result, err = client.GetVnetConnectionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetVnetConnection", resp, "Failure responding to request") + } + + return +} + +// GetVnetConnectionPreparer prepares the GetVnetConnection request. +func (client AppsClient) GetVnetConnectionPreparer(ctx context.Context, resourceGroupName string, name string, vnetName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "vnetName": autorest.Encode("path", vnetName), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/virtualNetworkConnections/{vnetName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetVnetConnectionSender sends the GetVnetConnection request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetVnetConnectionSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetVnetConnectionResponder handles the response to the GetVnetConnection request. The method always +// closes the http.Response Body. +func (client AppsClient) GetVnetConnectionResponder(resp *http.Response) (result VnetInfo, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetVnetConnectionGateway gets an app's Virtual Network gateway. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// vnetName - name of the Virtual Network. +// gatewayName - name of the gateway. Currently, the only supported string is "primary". +func (client AppsClient) GetVnetConnectionGateway(ctx context.Context, resourceGroupName string, name string, vnetName string, gatewayName string) (result VnetGateway, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.GetVnetConnectionGateway") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "GetVnetConnectionGateway", err.Error()) + } + + req, err := client.GetVnetConnectionGatewayPreparer(ctx, resourceGroupName, name, vnetName, gatewayName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetVnetConnectionGateway", nil, "Failure preparing request") + return + } + + resp, err := client.GetVnetConnectionGatewaySender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetVnetConnectionGateway", resp, "Failure sending request") + return + } + + result, err = client.GetVnetConnectionGatewayResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetVnetConnectionGateway", resp, "Failure responding to request") + } + + return +} + +// GetVnetConnectionGatewayPreparer prepares the GetVnetConnectionGateway request. +func (client AppsClient) GetVnetConnectionGatewayPreparer(ctx context.Context, resourceGroupName string, name string, vnetName string, gatewayName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "gatewayName": autorest.Encode("path", gatewayName), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "vnetName": autorest.Encode("path", vnetName), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/virtualNetworkConnections/{vnetName}/gateways/{gatewayName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetVnetConnectionGatewaySender sends the GetVnetConnectionGateway request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetVnetConnectionGatewaySender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetVnetConnectionGatewayResponder handles the response to the GetVnetConnectionGateway request. The method always +// closes the http.Response Body. +func (client AppsClient) GetVnetConnectionGatewayResponder(resp *http.Response) (result VnetGateway, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetVnetConnectionGatewaySlot gets an app's Virtual Network gateway. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// vnetName - name of the Virtual Network. +// gatewayName - name of the gateway. Currently, the only supported string is "primary". +// slot - name of the deployment slot. If a slot is not specified, the API will get a gateway for the +// production slot's Virtual Network. +func (client AppsClient) GetVnetConnectionGatewaySlot(ctx context.Context, resourceGroupName string, name string, vnetName string, gatewayName string, slot string) (result VnetGateway, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.GetVnetConnectionGatewaySlot") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "GetVnetConnectionGatewaySlot", err.Error()) + } + + req, err := client.GetVnetConnectionGatewaySlotPreparer(ctx, resourceGroupName, name, vnetName, gatewayName, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetVnetConnectionGatewaySlot", nil, "Failure preparing request") + return + } + + resp, err := client.GetVnetConnectionGatewaySlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetVnetConnectionGatewaySlot", resp, "Failure sending request") + return + } + + result, err = client.GetVnetConnectionGatewaySlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetVnetConnectionGatewaySlot", resp, "Failure responding to request") + } + + return +} + +// GetVnetConnectionGatewaySlotPreparer prepares the GetVnetConnectionGatewaySlot request. +func (client AppsClient) GetVnetConnectionGatewaySlotPreparer(ctx context.Context, resourceGroupName string, name string, vnetName string, gatewayName string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "gatewayName": autorest.Encode("path", gatewayName), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "vnetName": autorest.Encode("path", vnetName), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/virtualNetworkConnections/{vnetName}/gateways/{gatewayName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetVnetConnectionGatewaySlotSender sends the GetVnetConnectionGatewaySlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetVnetConnectionGatewaySlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetVnetConnectionGatewaySlotResponder handles the response to the GetVnetConnectionGatewaySlot request. The method always +// closes the http.Response Body. +func (client AppsClient) GetVnetConnectionGatewaySlotResponder(resp *http.Response) (result VnetGateway, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetVnetConnectionSlot gets a virtual network the app (or deployment slot) is connected to by name. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// vnetName - name of the virtual network. +// slot - name of the deployment slot. If a slot is not specified, the API will get the named virtual network +// for the production slot. +func (client AppsClient) GetVnetConnectionSlot(ctx context.Context, resourceGroupName string, name string, vnetName string, slot string) (result VnetInfo, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.GetVnetConnectionSlot") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "GetVnetConnectionSlot", err.Error()) + } + + req, err := client.GetVnetConnectionSlotPreparer(ctx, resourceGroupName, name, vnetName, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetVnetConnectionSlot", nil, "Failure preparing request") + return + } + + resp, err := client.GetVnetConnectionSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetVnetConnectionSlot", resp, "Failure sending request") + return + } + + result, err = client.GetVnetConnectionSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetVnetConnectionSlot", resp, "Failure responding to request") + } + + return +} + +// GetVnetConnectionSlotPreparer prepares the GetVnetConnectionSlot request. +func (client AppsClient) GetVnetConnectionSlotPreparer(ctx context.Context, resourceGroupName string, name string, vnetName string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "vnetName": autorest.Encode("path", vnetName), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/virtualNetworkConnections/{vnetName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetVnetConnectionSlotSender sends the GetVnetConnectionSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetVnetConnectionSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetVnetConnectionSlotResponder handles the response to the GetVnetConnectionSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) GetVnetConnectionSlotResponder(resp *http.Response) (result VnetInfo, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetWebJob get webjob information for an app, or a deployment slot. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - site name. +// webJobName - name of the web job. +func (client AppsClient) GetWebJob(ctx context.Context, resourceGroupName string, name string, webJobName string) (result Job, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.GetWebJob") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "GetWebJob", err.Error()) + } + + req, err := client.GetWebJobPreparer(ctx, resourceGroupName, name, webJobName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetWebJob", nil, "Failure preparing request") + return + } + + resp, err := client.GetWebJobSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetWebJob", resp, "Failure sending request") + return + } + + result, err = client.GetWebJobResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetWebJob", resp, "Failure responding to request") + } + + return +} + +// GetWebJobPreparer prepares the GetWebJob request. +func (client AppsClient) GetWebJobPreparer(ctx context.Context, resourceGroupName string, name string, webJobName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "webJobName": autorest.Encode("path", webJobName), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/webjobs/{webJobName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetWebJobSender sends the GetWebJob request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetWebJobSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetWebJobResponder handles the response to the GetWebJob request. The method always +// closes the http.Response Body. +func (client AppsClient) GetWebJobResponder(resp *http.Response) (result Job, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetWebJobSlot get webjob information for an app, or a deployment slot. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - site name. +// webJobName - name of the web job. +// slot - name of the deployment slot. If a slot is not specified, the API returns deployments for the +// production slot. +func (client AppsClient) GetWebJobSlot(ctx context.Context, resourceGroupName string, name string, webJobName string, slot string) (result Job, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.GetWebJobSlot") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "GetWebJobSlot", err.Error()) + } + + req, err := client.GetWebJobSlotPreparer(ctx, resourceGroupName, name, webJobName, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetWebJobSlot", nil, "Failure preparing request") + return + } + + resp, err := client.GetWebJobSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetWebJobSlot", resp, "Failure sending request") + return + } + + result, err = client.GetWebJobSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetWebJobSlot", resp, "Failure responding to request") + } + + return +} + +// GetWebJobSlotPreparer prepares the GetWebJobSlot request. +func (client AppsClient) GetWebJobSlotPreparer(ctx context.Context, resourceGroupName string, name string, webJobName string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "webJobName": autorest.Encode("path", webJobName), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/webjobs/{webJobName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetWebJobSlotSender sends the GetWebJobSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetWebJobSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetWebJobSlotResponder handles the response to the GetWebJobSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) GetWebJobSlotResponder(resp *http.Response) (result Job, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetWebSiteContainerLogs gets the last lines of docker logs for the given site +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of web app. +func (client AppsClient) GetWebSiteContainerLogs(ctx context.Context, resourceGroupName string, name string) (result ReadCloser, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.GetWebSiteContainerLogs") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "GetWebSiteContainerLogs", err.Error()) + } + + req, err := client.GetWebSiteContainerLogsPreparer(ctx, resourceGroupName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetWebSiteContainerLogs", nil, "Failure preparing request") + return + } + + resp, err := client.GetWebSiteContainerLogsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetWebSiteContainerLogs", resp, "Failure sending request") + return + } + + result, err = client.GetWebSiteContainerLogsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetWebSiteContainerLogs", resp, "Failure responding to request") + } + + return +} + +// GetWebSiteContainerLogsPreparer prepares the GetWebSiteContainerLogs request. +func (client AppsClient) GetWebSiteContainerLogsPreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/containerlogs", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetWebSiteContainerLogsSender sends the GetWebSiteContainerLogs request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetWebSiteContainerLogsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetWebSiteContainerLogsResponder handles the response to the GetWebSiteContainerLogs request. The method always +// closes the http.Response Body. +func (client AppsClient) GetWebSiteContainerLogsResponder(resp *http.Response) (result ReadCloser, err error) { + result.Value = &resp.Body + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent)) + result.Response = autorest.Response{Response: resp} + return +} + +// GetWebSiteContainerLogsSlot gets the last lines of docker logs for the given site +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of web app. +// slot - name of web app slot. If not specified then will default to production slot. +func (client AppsClient) GetWebSiteContainerLogsSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result ReadCloser, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.GetWebSiteContainerLogsSlot") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "GetWebSiteContainerLogsSlot", err.Error()) + } + + req, err := client.GetWebSiteContainerLogsSlotPreparer(ctx, resourceGroupName, name, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetWebSiteContainerLogsSlot", nil, "Failure preparing request") + return + } + + resp, err := client.GetWebSiteContainerLogsSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetWebSiteContainerLogsSlot", resp, "Failure sending request") + return + } + + result, err = client.GetWebSiteContainerLogsSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "GetWebSiteContainerLogsSlot", resp, "Failure responding to request") + } + + return +} + +// GetWebSiteContainerLogsSlotPreparer prepares the GetWebSiteContainerLogsSlot request. +func (client AppsClient) GetWebSiteContainerLogsSlotPreparer(ctx context.Context, resourceGroupName string, name string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/containerlogs", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetWebSiteContainerLogsSlotSender sends the GetWebSiteContainerLogsSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) GetWebSiteContainerLogsSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetWebSiteContainerLogsSlotResponder handles the response to the GetWebSiteContainerLogsSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) GetWebSiteContainerLogsSlotResponder(resp *http.Response) (result ReadCloser, err error) { + result.Value = &resp.Body + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent)) + result.Response = autorest.Response{Response: resp} + return +} + +// InstallSiteExtension install site extension on a web site, or a deployment slot. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - site name. +// siteExtensionID - site extension name. +func (client AppsClient) InstallSiteExtension(ctx context.Context, resourceGroupName string, name string, siteExtensionID string) (result AppsInstallSiteExtensionFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.InstallSiteExtension") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "InstallSiteExtension", err.Error()) + } + + req, err := client.InstallSiteExtensionPreparer(ctx, resourceGroupName, name, siteExtensionID) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "InstallSiteExtension", nil, "Failure preparing request") + return + } + + result, err = client.InstallSiteExtensionSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "InstallSiteExtension", result.Response(), "Failure sending request") + return + } + + return +} + +// InstallSiteExtensionPreparer prepares the InstallSiteExtension request. +func (client AppsClient) InstallSiteExtensionPreparer(ctx context.Context, resourceGroupName string, name string, siteExtensionID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "siteExtensionId": autorest.Encode("path", siteExtensionID), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/siteextensions/{siteExtensionId}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// InstallSiteExtensionSender sends the InstallSiteExtension request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) InstallSiteExtensionSender(req *http.Request) (future AppsInstallSiteExtensionFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// InstallSiteExtensionResponder handles the response to the InstallSiteExtension request. The method always +// closes the http.Response Body. +func (client AppsClient) InstallSiteExtensionResponder(resp *http.Response) (result SiteExtensionInfo, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated, http.StatusTooManyRequests), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// InstallSiteExtensionSlot install site extension on a web site, or a deployment slot. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - site name. +// siteExtensionID - site extension name. +// slot - name of the deployment slot. If a slot is not specified, the API deletes a deployment for the +// production slot. +func (client AppsClient) InstallSiteExtensionSlot(ctx context.Context, resourceGroupName string, name string, siteExtensionID string, slot string) (result AppsInstallSiteExtensionSlotFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.InstallSiteExtensionSlot") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "InstallSiteExtensionSlot", err.Error()) + } + + req, err := client.InstallSiteExtensionSlotPreparer(ctx, resourceGroupName, name, siteExtensionID, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "InstallSiteExtensionSlot", nil, "Failure preparing request") + return + } + + result, err = client.InstallSiteExtensionSlotSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "InstallSiteExtensionSlot", result.Response(), "Failure sending request") + return + } + + return +} + +// InstallSiteExtensionSlotPreparer prepares the InstallSiteExtensionSlot request. +func (client AppsClient) InstallSiteExtensionSlotPreparer(ctx context.Context, resourceGroupName string, name string, siteExtensionID string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "siteExtensionId": autorest.Encode("path", siteExtensionID), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/siteextensions/{siteExtensionId}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// InstallSiteExtensionSlotSender sends the InstallSiteExtensionSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) InstallSiteExtensionSlotSender(req *http.Request) (future AppsInstallSiteExtensionSlotFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// InstallSiteExtensionSlotResponder handles the response to the InstallSiteExtensionSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) InstallSiteExtensionSlotResponder(resp *http.Response) (result SiteExtensionInfo, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated, http.StatusTooManyRequests), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// IsCloneable shows whether an app can be cloned to another resource group or subscription. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +func (client AppsClient) IsCloneable(ctx context.Context, resourceGroupName string, name string) (result SiteCloneability, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.IsCloneable") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "IsCloneable", err.Error()) + } + + req, err := client.IsCloneablePreparer(ctx, resourceGroupName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "IsCloneable", nil, "Failure preparing request") + return + } + + resp, err := client.IsCloneableSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "IsCloneable", resp, "Failure sending request") + return + } + + result, err = client.IsCloneableResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "IsCloneable", resp, "Failure responding to request") + } + + return +} + +// IsCloneablePreparer prepares the IsCloneable request. +func (client AppsClient) IsCloneablePreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/iscloneable", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// IsCloneableSender sends the IsCloneable request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) IsCloneableSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// IsCloneableResponder handles the response to the IsCloneable request. The method always +// closes the http.Response Body. +func (client AppsClient) IsCloneableResponder(resp *http.Response) (result SiteCloneability, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// IsCloneableSlot shows whether an app can be cloned to another resource group or subscription. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// slot - name of the deployment slot. By default, this API returns information on the production slot. +func (client AppsClient) IsCloneableSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result SiteCloneability, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.IsCloneableSlot") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "IsCloneableSlot", err.Error()) + } + + req, err := client.IsCloneableSlotPreparer(ctx, resourceGroupName, name, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "IsCloneableSlot", nil, "Failure preparing request") + return + } + + resp, err := client.IsCloneableSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "IsCloneableSlot", resp, "Failure sending request") + return + } + + result, err = client.IsCloneableSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "IsCloneableSlot", resp, "Failure responding to request") + } + + return +} + +// IsCloneableSlotPreparer prepares the IsCloneableSlot request. +func (client AppsClient) IsCloneableSlotPreparer(ctx context.Context, resourceGroupName string, name string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/iscloneable", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// IsCloneableSlotSender sends the IsCloneableSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) IsCloneableSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// IsCloneableSlotResponder handles the response to the IsCloneableSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) IsCloneableSlotResponder(resp *http.Response) (result SiteCloneability, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List get all apps for a subscription. +func (client AppsClient) List(ctx context.Context) (result AppCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.List") + defer func() { + sc := -1 + if result.ac.Response.Response != nil { + sc = result.ac.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.ac.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "List", resp, "Failure sending request") + return + } + + result.ac, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client AppsClient) ListPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Web/sites", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client AppsClient) ListResponder(resp *http.Response) (result AppCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client AppsClient) listNextResults(ctx context.Context, lastResults AppCollection) (result AppCollection, err error) { + req, err := lastResults.appCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client AppsClient) ListComplete(ctx context.Context) (result AppCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx) + return +} + +// ListApplicationSettings gets the application settings of an app. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +func (client AppsClient) ListApplicationSettings(ctx context.Context, resourceGroupName string, name string) (result StringDictionary, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListApplicationSettings") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "ListApplicationSettings", err.Error()) + } + + req, err := client.ListApplicationSettingsPreparer(ctx, resourceGroupName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListApplicationSettings", nil, "Failure preparing request") + return + } + + resp, err := client.ListApplicationSettingsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListApplicationSettings", resp, "Failure sending request") + return + } + + result, err = client.ListApplicationSettingsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListApplicationSettings", resp, "Failure responding to request") + } + + return +} + +// ListApplicationSettingsPreparer prepares the ListApplicationSettings request. +func (client AppsClient) ListApplicationSettingsPreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/appsettings/list", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListApplicationSettingsSender sends the ListApplicationSettings request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListApplicationSettingsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListApplicationSettingsResponder handles the response to the ListApplicationSettings request. The method always +// closes the http.Response Body. +func (client AppsClient) ListApplicationSettingsResponder(resp *http.Response) (result StringDictionary, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListApplicationSettingsSlot gets the application settings of an app. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// slot - name of the deployment slot. If a slot is not specified, the API will get the application settings +// for the production slot. +func (client AppsClient) ListApplicationSettingsSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result StringDictionary, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListApplicationSettingsSlot") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "ListApplicationSettingsSlot", err.Error()) + } + + req, err := client.ListApplicationSettingsSlotPreparer(ctx, resourceGroupName, name, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListApplicationSettingsSlot", nil, "Failure preparing request") + return + } + + resp, err := client.ListApplicationSettingsSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListApplicationSettingsSlot", resp, "Failure sending request") + return + } + + result, err = client.ListApplicationSettingsSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListApplicationSettingsSlot", resp, "Failure responding to request") + } + + return +} + +// ListApplicationSettingsSlotPreparer prepares the ListApplicationSettingsSlot request. +func (client AppsClient) ListApplicationSettingsSlotPreparer(ctx context.Context, resourceGroupName string, name string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/appsettings/list", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListApplicationSettingsSlotSender sends the ListApplicationSettingsSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListApplicationSettingsSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListApplicationSettingsSlotResponder handles the response to the ListApplicationSettingsSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) ListApplicationSettingsSlotResponder(resp *http.Response) (result StringDictionary, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListAzureStorageAccounts gets the Azure storage account configurations of an app. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +func (client AppsClient) ListAzureStorageAccounts(ctx context.Context, resourceGroupName string, name string) (result AzureStoragePropertyDictionaryResource, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListAzureStorageAccounts") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "ListAzureStorageAccounts", err.Error()) + } + + req, err := client.ListAzureStorageAccountsPreparer(ctx, resourceGroupName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListAzureStorageAccounts", nil, "Failure preparing request") + return + } + + resp, err := client.ListAzureStorageAccountsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListAzureStorageAccounts", resp, "Failure sending request") + return + } + + result, err = client.ListAzureStorageAccountsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListAzureStorageAccounts", resp, "Failure responding to request") + } + + return +} + +// ListAzureStorageAccountsPreparer prepares the ListAzureStorageAccounts request. +func (client AppsClient) ListAzureStorageAccountsPreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/azurestorageaccounts/list", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListAzureStorageAccountsSender sends the ListAzureStorageAccounts request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListAzureStorageAccountsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListAzureStorageAccountsResponder handles the response to the ListAzureStorageAccounts request. The method always +// closes the http.Response Body. +func (client AppsClient) ListAzureStorageAccountsResponder(resp *http.Response) (result AzureStoragePropertyDictionaryResource, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListAzureStorageAccountsSlot gets the Azure storage account configurations of an app. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// slot - name of the deployment slot. If a slot is not specified, the API will update the Azure storage +// account configurations for the production slot. +func (client AppsClient) ListAzureStorageAccountsSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result AzureStoragePropertyDictionaryResource, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListAzureStorageAccountsSlot") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "ListAzureStorageAccountsSlot", err.Error()) + } + + req, err := client.ListAzureStorageAccountsSlotPreparer(ctx, resourceGroupName, name, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListAzureStorageAccountsSlot", nil, "Failure preparing request") + return + } + + resp, err := client.ListAzureStorageAccountsSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListAzureStorageAccountsSlot", resp, "Failure sending request") + return + } + + result, err = client.ListAzureStorageAccountsSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListAzureStorageAccountsSlot", resp, "Failure responding to request") + } + + return +} + +// ListAzureStorageAccountsSlotPreparer prepares the ListAzureStorageAccountsSlot request. +func (client AppsClient) ListAzureStorageAccountsSlotPreparer(ctx context.Context, resourceGroupName string, name string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/azurestorageaccounts/list", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListAzureStorageAccountsSlotSender sends the ListAzureStorageAccountsSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListAzureStorageAccountsSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListAzureStorageAccountsSlotResponder handles the response to the ListAzureStorageAccountsSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) ListAzureStorageAccountsSlotResponder(resp *http.Response) (result AzureStoragePropertyDictionaryResource, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListBackups gets existing backups of an app. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +func (client AppsClient) ListBackups(ctx context.Context, resourceGroupName string, name string) (result BackupItemCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListBackups") + defer func() { + sc := -1 + if result.bic.Response.Response != nil { + sc = result.bic.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "ListBackups", err.Error()) + } + + result.fn = client.listBackupsNextResults + req, err := client.ListBackupsPreparer(ctx, resourceGroupName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListBackups", nil, "Failure preparing request") + return + } + + resp, err := client.ListBackupsSender(req) + if err != nil { + result.bic.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListBackups", resp, "Failure sending request") + return + } + + result.bic, err = client.ListBackupsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListBackups", resp, "Failure responding to request") + } + + return +} + +// ListBackupsPreparer prepares the ListBackups request. +func (client AppsClient) ListBackupsPreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/backups", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListBackupsSender sends the ListBackups request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListBackupsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListBackupsResponder handles the response to the ListBackups request. The method always +// closes the http.Response Body. +func (client AppsClient) ListBackupsResponder(resp *http.Response) (result BackupItemCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listBackupsNextResults retrieves the next set of results, if any. +func (client AppsClient) listBackupsNextResults(ctx context.Context, lastResults BackupItemCollection) (result BackupItemCollection, err error) { + req, err := lastResults.backupItemCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listBackupsNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListBackupsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listBackupsNextResults", resp, "Failure sending next results request") + } + result, err = client.ListBackupsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "listBackupsNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListBackupsComplete enumerates all values, automatically crossing page boundaries as required. +func (client AppsClient) ListBackupsComplete(ctx context.Context, resourceGroupName string, name string) (result BackupItemCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListBackups") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListBackups(ctx, resourceGroupName, name) + return +} + +// ListBackupsSlot gets existing backups of an app. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// slot - name of the deployment slot. If a slot is not specified, the API will get backups of the production +// slot. +func (client AppsClient) ListBackupsSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result BackupItemCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListBackupsSlot") + defer func() { + sc := -1 + if result.bic.Response.Response != nil { + sc = result.bic.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "ListBackupsSlot", err.Error()) + } + + result.fn = client.listBackupsSlotNextResults + req, err := client.ListBackupsSlotPreparer(ctx, resourceGroupName, name, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListBackupsSlot", nil, "Failure preparing request") + return + } + + resp, err := client.ListBackupsSlotSender(req) + if err != nil { + result.bic.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListBackupsSlot", resp, "Failure sending request") + return + } + + result.bic, err = client.ListBackupsSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListBackupsSlot", resp, "Failure responding to request") + } + + return +} + +// ListBackupsSlotPreparer prepares the ListBackupsSlot request. +func (client AppsClient) ListBackupsSlotPreparer(ctx context.Context, resourceGroupName string, name string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/backups", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListBackupsSlotSender sends the ListBackupsSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListBackupsSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListBackupsSlotResponder handles the response to the ListBackupsSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) ListBackupsSlotResponder(resp *http.Response) (result BackupItemCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listBackupsSlotNextResults retrieves the next set of results, if any. +func (client AppsClient) listBackupsSlotNextResults(ctx context.Context, lastResults BackupItemCollection) (result BackupItemCollection, err error) { + req, err := lastResults.backupItemCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listBackupsSlotNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListBackupsSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listBackupsSlotNextResults", resp, "Failure sending next results request") + } + result, err = client.ListBackupsSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "listBackupsSlotNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListBackupsSlotComplete enumerates all values, automatically crossing page boundaries as required. +func (client AppsClient) ListBackupsSlotComplete(ctx context.Context, resourceGroupName string, name string, slot string) (result BackupItemCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListBackupsSlot") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListBackupsSlot(ctx, resourceGroupName, name, slot) + return +} + +// ListBackupStatusSecrets gets status of a web app backup that may be in progress, including secrets associated with +// the backup, such as the Azure Storage SAS URL. Also can be used to update the SAS URL for the backup if a new URL is +// passed in the request body. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of web app. +// backupID - ID of backup. +// request - information on backup request. +func (client AppsClient) ListBackupStatusSecrets(ctx context.Context, resourceGroupName string, name string, backupID string, request BackupRequest) (result BackupItem, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListBackupStatusSecrets") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}, + {TargetValue: request, + Constraints: []validation.Constraint{{Target: "request.BackupRequestProperties", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "request.BackupRequestProperties.StorageAccountURL", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "request.BackupRequestProperties.BackupSchedule", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "request.BackupRequestProperties.BackupSchedule.FrequencyInterval", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "request.BackupRequestProperties.BackupSchedule.KeepAtLeastOneBackup", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "request.BackupRequestProperties.BackupSchedule.RetentionPeriodInDays", Name: validation.Null, Rule: true, Chain: nil}, + }}, + }}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "ListBackupStatusSecrets", err.Error()) + } + + req, err := client.ListBackupStatusSecretsPreparer(ctx, resourceGroupName, name, backupID, request) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListBackupStatusSecrets", nil, "Failure preparing request") + return + } + + resp, err := client.ListBackupStatusSecretsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListBackupStatusSecrets", resp, "Failure sending request") + return + } + + result, err = client.ListBackupStatusSecretsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListBackupStatusSecrets", resp, "Failure responding to request") + } + + return +} + +// ListBackupStatusSecretsPreparer prepares the ListBackupStatusSecrets request. +func (client AppsClient) ListBackupStatusSecretsPreparer(ctx context.Context, resourceGroupName string, name string, backupID string, request BackupRequest) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "backupId": autorest.Encode("path", backupID), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/backups/{backupId}/list", pathParameters), + autorest.WithJSON(request), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListBackupStatusSecretsSender sends the ListBackupStatusSecrets request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListBackupStatusSecretsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListBackupStatusSecretsResponder handles the response to the ListBackupStatusSecrets request. The method always +// closes the http.Response Body. +func (client AppsClient) ListBackupStatusSecretsResponder(resp *http.Response) (result BackupItem, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListBackupStatusSecretsSlot gets status of a web app backup that may be in progress, including secrets associated +// with the backup, such as the Azure Storage SAS URL. Also can be used to update the SAS URL for the backup if a new +// URL is passed in the request body. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of web app. +// backupID - ID of backup. +// request - information on backup request. +// slot - name of web app slot. If not specified then will default to production slot. +func (client AppsClient) ListBackupStatusSecretsSlot(ctx context.Context, resourceGroupName string, name string, backupID string, request BackupRequest, slot string) (result BackupItem, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListBackupStatusSecretsSlot") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}, + {TargetValue: request, + Constraints: []validation.Constraint{{Target: "request.BackupRequestProperties", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "request.BackupRequestProperties.StorageAccountURL", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "request.BackupRequestProperties.BackupSchedule", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "request.BackupRequestProperties.BackupSchedule.FrequencyInterval", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "request.BackupRequestProperties.BackupSchedule.KeepAtLeastOneBackup", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "request.BackupRequestProperties.BackupSchedule.RetentionPeriodInDays", Name: validation.Null, Rule: true, Chain: nil}, + }}, + }}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "ListBackupStatusSecretsSlot", err.Error()) + } + + req, err := client.ListBackupStatusSecretsSlotPreparer(ctx, resourceGroupName, name, backupID, request, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListBackupStatusSecretsSlot", nil, "Failure preparing request") + return + } + + resp, err := client.ListBackupStatusSecretsSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListBackupStatusSecretsSlot", resp, "Failure sending request") + return + } + + result, err = client.ListBackupStatusSecretsSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListBackupStatusSecretsSlot", resp, "Failure responding to request") + } + + return +} + +// ListBackupStatusSecretsSlotPreparer prepares the ListBackupStatusSecretsSlot request. +func (client AppsClient) ListBackupStatusSecretsSlotPreparer(ctx context.Context, resourceGroupName string, name string, backupID string, request BackupRequest, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "backupId": autorest.Encode("path", backupID), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/backups/{backupId}/list", pathParameters), + autorest.WithJSON(request), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListBackupStatusSecretsSlotSender sends the ListBackupStatusSecretsSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListBackupStatusSecretsSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListBackupStatusSecretsSlotResponder handles the response to the ListBackupStatusSecretsSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) ListBackupStatusSecretsSlotResponder(resp *http.Response) (result BackupItem, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListByResourceGroup gets all web, mobile, and API apps in the specified resource group. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// includeSlots - specify true to include deployment slots in results. The default is false, +// which only gives you the production slot of all apps. +func (client AppsClient) ListByResourceGroup(ctx context.Context, resourceGroupName string, includeSlots *bool) (result AppCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.ac.Response.Response != nil { + sc = result.ac.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "ListByResourceGroup", err.Error()) + } + + result.fn = client.listByResourceGroupNextResults + req, err := client.ListByResourceGroupPreparer(ctx, resourceGroupName, includeSlots) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListByResourceGroup", nil, "Failure preparing request") + return + } + + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.ac.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListByResourceGroup", resp, "Failure sending request") + return + } + + result.ac, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListByResourceGroup", resp, "Failure responding to request") + } + + return +} + +// ListByResourceGroupPreparer prepares the ListByResourceGroup request. +func (client AppsClient) ListByResourceGroupPreparer(ctx context.Context, resourceGroupName string, includeSlots *bool) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if includeSlots != nil { + queryParameters["includeSlots"] = autorest.Encode("query", *includeSlots) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByResourceGroupSender sends the ListByResourceGroup request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListByResourceGroupSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByResourceGroupResponder handles the response to the ListByResourceGroup request. The method always +// closes the http.Response Body. +func (client AppsClient) ListByResourceGroupResponder(resp *http.Response) (result AppCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listByResourceGroupNextResults retrieves the next set of results, if any. +func (client AppsClient) listByResourceGroupNextResults(ctx context.Context, lastResults AppCollection) (result AppCollection, err error) { + req, err := lastResults.appCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listByResourceGroupNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listByResourceGroupNextResults", resp, "Failure sending next results request") + } + result, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "listByResourceGroupNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListByResourceGroupComplete enumerates all values, automatically crossing page boundaries as required. +func (client AppsClient) ListByResourceGroupComplete(ctx context.Context, resourceGroupName string, includeSlots *bool) (result AppCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListByResourceGroup(ctx, resourceGroupName, includeSlots) + return +} + +// ListConfigurations list the configurations of an app +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +func (client AppsClient) ListConfigurations(ctx context.Context, resourceGroupName string, name string) (result SiteConfigResourceCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListConfigurations") + defer func() { + sc := -1 + if result.scrc.Response.Response != nil { + sc = result.scrc.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "ListConfigurations", err.Error()) + } + + result.fn = client.listConfigurationsNextResults + req, err := client.ListConfigurationsPreparer(ctx, resourceGroupName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListConfigurations", nil, "Failure preparing request") + return + } + + resp, err := client.ListConfigurationsSender(req) + if err != nil { + result.scrc.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListConfigurations", resp, "Failure sending request") + return + } + + result.scrc, err = client.ListConfigurationsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListConfigurations", resp, "Failure responding to request") + } + + return +} + +// ListConfigurationsPreparer prepares the ListConfigurations request. +func (client AppsClient) ListConfigurationsPreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListConfigurationsSender sends the ListConfigurations request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListConfigurationsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListConfigurationsResponder handles the response to the ListConfigurations request. The method always +// closes the http.Response Body. +func (client AppsClient) ListConfigurationsResponder(resp *http.Response) (result SiteConfigResourceCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listConfigurationsNextResults retrieves the next set of results, if any. +func (client AppsClient) listConfigurationsNextResults(ctx context.Context, lastResults SiteConfigResourceCollection) (result SiteConfigResourceCollection, err error) { + req, err := lastResults.siteConfigResourceCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listConfigurationsNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListConfigurationsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listConfigurationsNextResults", resp, "Failure sending next results request") + } + result, err = client.ListConfigurationsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "listConfigurationsNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListConfigurationsComplete enumerates all values, automatically crossing page boundaries as required. +func (client AppsClient) ListConfigurationsComplete(ctx context.Context, resourceGroupName string, name string) (result SiteConfigResourceCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListConfigurations") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListConfigurations(ctx, resourceGroupName, name) + return +} + +// ListConfigurationSnapshotInfo gets a list of web app configuration snapshots identifiers. Each element of the list +// contains a timestamp and the ID of the snapshot. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +func (client AppsClient) ListConfigurationSnapshotInfo(ctx context.Context, resourceGroupName string, name string) (result SiteConfigurationSnapshotInfoCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListConfigurationSnapshotInfo") + defer func() { + sc := -1 + if result.scsic.Response.Response != nil { + sc = result.scsic.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "ListConfigurationSnapshotInfo", err.Error()) + } + + result.fn = client.listConfigurationSnapshotInfoNextResults + req, err := client.ListConfigurationSnapshotInfoPreparer(ctx, resourceGroupName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListConfigurationSnapshotInfo", nil, "Failure preparing request") + return + } + + resp, err := client.ListConfigurationSnapshotInfoSender(req) + if err != nil { + result.scsic.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListConfigurationSnapshotInfo", resp, "Failure sending request") + return + } + + result.scsic, err = client.ListConfigurationSnapshotInfoResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListConfigurationSnapshotInfo", resp, "Failure responding to request") + } + + return +} + +// ListConfigurationSnapshotInfoPreparer prepares the ListConfigurationSnapshotInfo request. +func (client AppsClient) ListConfigurationSnapshotInfoPreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/web/snapshots", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListConfigurationSnapshotInfoSender sends the ListConfigurationSnapshotInfo request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListConfigurationSnapshotInfoSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListConfigurationSnapshotInfoResponder handles the response to the ListConfigurationSnapshotInfo request. The method always +// closes the http.Response Body. +func (client AppsClient) ListConfigurationSnapshotInfoResponder(resp *http.Response) (result SiteConfigurationSnapshotInfoCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listConfigurationSnapshotInfoNextResults retrieves the next set of results, if any. +func (client AppsClient) listConfigurationSnapshotInfoNextResults(ctx context.Context, lastResults SiteConfigurationSnapshotInfoCollection) (result SiteConfigurationSnapshotInfoCollection, err error) { + req, err := lastResults.siteConfigurationSnapshotInfoCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listConfigurationSnapshotInfoNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListConfigurationSnapshotInfoSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listConfigurationSnapshotInfoNextResults", resp, "Failure sending next results request") + } + result, err = client.ListConfigurationSnapshotInfoResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "listConfigurationSnapshotInfoNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListConfigurationSnapshotInfoComplete enumerates all values, automatically crossing page boundaries as required. +func (client AppsClient) ListConfigurationSnapshotInfoComplete(ctx context.Context, resourceGroupName string, name string) (result SiteConfigurationSnapshotInfoCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListConfigurationSnapshotInfo") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListConfigurationSnapshotInfo(ctx, resourceGroupName, name) + return +} + +// ListConfigurationSnapshotInfoSlot gets a list of web app configuration snapshots identifiers. Each element of the +// list contains a timestamp and the ID of the snapshot. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// slot - name of the deployment slot. If a slot is not specified, the API will return configuration for the +// production slot. +func (client AppsClient) ListConfigurationSnapshotInfoSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result SiteConfigurationSnapshotInfoCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListConfigurationSnapshotInfoSlot") + defer func() { + sc := -1 + if result.scsic.Response.Response != nil { + sc = result.scsic.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "ListConfigurationSnapshotInfoSlot", err.Error()) + } + + result.fn = client.listConfigurationSnapshotInfoSlotNextResults + req, err := client.ListConfigurationSnapshotInfoSlotPreparer(ctx, resourceGroupName, name, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListConfigurationSnapshotInfoSlot", nil, "Failure preparing request") + return + } + + resp, err := client.ListConfigurationSnapshotInfoSlotSender(req) + if err != nil { + result.scsic.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListConfigurationSnapshotInfoSlot", resp, "Failure sending request") + return + } + + result.scsic, err = client.ListConfigurationSnapshotInfoSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListConfigurationSnapshotInfoSlot", resp, "Failure responding to request") + } + + return +} + +// ListConfigurationSnapshotInfoSlotPreparer prepares the ListConfigurationSnapshotInfoSlot request. +func (client AppsClient) ListConfigurationSnapshotInfoSlotPreparer(ctx context.Context, resourceGroupName string, name string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/web/snapshots", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListConfigurationSnapshotInfoSlotSender sends the ListConfigurationSnapshotInfoSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListConfigurationSnapshotInfoSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListConfigurationSnapshotInfoSlotResponder handles the response to the ListConfigurationSnapshotInfoSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) ListConfigurationSnapshotInfoSlotResponder(resp *http.Response) (result SiteConfigurationSnapshotInfoCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listConfigurationSnapshotInfoSlotNextResults retrieves the next set of results, if any. +func (client AppsClient) listConfigurationSnapshotInfoSlotNextResults(ctx context.Context, lastResults SiteConfigurationSnapshotInfoCollection) (result SiteConfigurationSnapshotInfoCollection, err error) { + req, err := lastResults.siteConfigurationSnapshotInfoCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listConfigurationSnapshotInfoSlotNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListConfigurationSnapshotInfoSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listConfigurationSnapshotInfoSlotNextResults", resp, "Failure sending next results request") + } + result, err = client.ListConfigurationSnapshotInfoSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "listConfigurationSnapshotInfoSlotNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListConfigurationSnapshotInfoSlotComplete enumerates all values, automatically crossing page boundaries as required. +func (client AppsClient) ListConfigurationSnapshotInfoSlotComplete(ctx context.Context, resourceGroupName string, name string, slot string) (result SiteConfigurationSnapshotInfoCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListConfigurationSnapshotInfoSlot") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListConfigurationSnapshotInfoSlot(ctx, resourceGroupName, name, slot) + return +} + +// ListConfigurationsSlot list the configurations of an app +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// slot - name of the deployment slot. If a slot is not specified, the API will return configuration for the +// production slot. +func (client AppsClient) ListConfigurationsSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result SiteConfigResourceCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListConfigurationsSlot") + defer func() { + sc := -1 + if result.scrc.Response.Response != nil { + sc = result.scrc.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "ListConfigurationsSlot", err.Error()) + } + + result.fn = client.listConfigurationsSlotNextResults + req, err := client.ListConfigurationsSlotPreparer(ctx, resourceGroupName, name, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListConfigurationsSlot", nil, "Failure preparing request") + return + } + + resp, err := client.ListConfigurationsSlotSender(req) + if err != nil { + result.scrc.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListConfigurationsSlot", resp, "Failure sending request") + return + } + + result.scrc, err = client.ListConfigurationsSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListConfigurationsSlot", resp, "Failure responding to request") + } + + return +} + +// ListConfigurationsSlotPreparer prepares the ListConfigurationsSlot request. +func (client AppsClient) ListConfigurationsSlotPreparer(ctx context.Context, resourceGroupName string, name string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListConfigurationsSlotSender sends the ListConfigurationsSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListConfigurationsSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListConfigurationsSlotResponder handles the response to the ListConfigurationsSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) ListConfigurationsSlotResponder(resp *http.Response) (result SiteConfigResourceCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listConfigurationsSlotNextResults retrieves the next set of results, if any. +func (client AppsClient) listConfigurationsSlotNextResults(ctx context.Context, lastResults SiteConfigResourceCollection) (result SiteConfigResourceCollection, err error) { + req, err := lastResults.siteConfigResourceCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listConfigurationsSlotNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListConfigurationsSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listConfigurationsSlotNextResults", resp, "Failure sending next results request") + } + result, err = client.ListConfigurationsSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "listConfigurationsSlotNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListConfigurationsSlotComplete enumerates all values, automatically crossing page boundaries as required. +func (client AppsClient) ListConfigurationsSlotComplete(ctx context.Context, resourceGroupName string, name string, slot string) (result SiteConfigResourceCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListConfigurationsSlot") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListConfigurationsSlot(ctx, resourceGroupName, name, slot) + return +} + +// ListConnectionStrings gets the connection strings of an app. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +func (client AppsClient) ListConnectionStrings(ctx context.Context, resourceGroupName string, name string) (result ConnectionStringDictionary, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListConnectionStrings") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "ListConnectionStrings", err.Error()) + } + + req, err := client.ListConnectionStringsPreparer(ctx, resourceGroupName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListConnectionStrings", nil, "Failure preparing request") + return + } + + resp, err := client.ListConnectionStringsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListConnectionStrings", resp, "Failure sending request") + return + } + + result, err = client.ListConnectionStringsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListConnectionStrings", resp, "Failure responding to request") + } + + return +} + +// ListConnectionStringsPreparer prepares the ListConnectionStrings request. +func (client AppsClient) ListConnectionStringsPreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/connectionstrings/list", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListConnectionStringsSender sends the ListConnectionStrings request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListConnectionStringsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListConnectionStringsResponder handles the response to the ListConnectionStrings request. The method always +// closes the http.Response Body. +func (client AppsClient) ListConnectionStringsResponder(resp *http.Response) (result ConnectionStringDictionary, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListConnectionStringsSlot gets the connection strings of an app. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// slot - name of the deployment slot. If a slot is not specified, the API will get the connection settings for +// the production slot. +func (client AppsClient) ListConnectionStringsSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result ConnectionStringDictionary, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListConnectionStringsSlot") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "ListConnectionStringsSlot", err.Error()) + } + + req, err := client.ListConnectionStringsSlotPreparer(ctx, resourceGroupName, name, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListConnectionStringsSlot", nil, "Failure preparing request") + return + } + + resp, err := client.ListConnectionStringsSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListConnectionStringsSlot", resp, "Failure sending request") + return + } + + result, err = client.ListConnectionStringsSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListConnectionStringsSlot", resp, "Failure responding to request") + } + + return +} + +// ListConnectionStringsSlotPreparer prepares the ListConnectionStringsSlot request. +func (client AppsClient) ListConnectionStringsSlotPreparer(ctx context.Context, resourceGroupName string, name string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/connectionstrings/list", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListConnectionStringsSlotSender sends the ListConnectionStringsSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListConnectionStringsSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListConnectionStringsSlotResponder handles the response to the ListConnectionStringsSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) ListConnectionStringsSlotResponder(resp *http.Response) (result ConnectionStringDictionary, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListContinuousWebJobs list continuous web jobs for an app, or a deployment slot. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - site name. +func (client AppsClient) ListContinuousWebJobs(ctx context.Context, resourceGroupName string, name string) (result ContinuousWebJobCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListContinuousWebJobs") + defer func() { + sc := -1 + if result.cwjc.Response.Response != nil { + sc = result.cwjc.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "ListContinuousWebJobs", err.Error()) + } + + result.fn = client.listContinuousWebJobsNextResults + req, err := client.ListContinuousWebJobsPreparer(ctx, resourceGroupName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListContinuousWebJobs", nil, "Failure preparing request") + return + } + + resp, err := client.ListContinuousWebJobsSender(req) + if err != nil { + result.cwjc.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListContinuousWebJobs", resp, "Failure sending request") + return + } + + result.cwjc, err = client.ListContinuousWebJobsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListContinuousWebJobs", resp, "Failure responding to request") + } + + return +} + +// ListContinuousWebJobsPreparer prepares the ListContinuousWebJobs request. +func (client AppsClient) ListContinuousWebJobsPreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/continuouswebjobs", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListContinuousWebJobsSender sends the ListContinuousWebJobs request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListContinuousWebJobsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListContinuousWebJobsResponder handles the response to the ListContinuousWebJobs request. The method always +// closes the http.Response Body. +func (client AppsClient) ListContinuousWebJobsResponder(resp *http.Response) (result ContinuousWebJobCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listContinuousWebJobsNextResults retrieves the next set of results, if any. +func (client AppsClient) listContinuousWebJobsNextResults(ctx context.Context, lastResults ContinuousWebJobCollection) (result ContinuousWebJobCollection, err error) { + req, err := lastResults.continuousWebJobCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listContinuousWebJobsNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListContinuousWebJobsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listContinuousWebJobsNextResults", resp, "Failure sending next results request") + } + result, err = client.ListContinuousWebJobsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "listContinuousWebJobsNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListContinuousWebJobsComplete enumerates all values, automatically crossing page boundaries as required. +func (client AppsClient) ListContinuousWebJobsComplete(ctx context.Context, resourceGroupName string, name string) (result ContinuousWebJobCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListContinuousWebJobs") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListContinuousWebJobs(ctx, resourceGroupName, name) + return +} + +// ListContinuousWebJobsSlot list continuous web jobs for an app, or a deployment slot. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - site name. +// slot - name of the deployment slot. If a slot is not specified, the API deletes a deployment for the +// production slot. +func (client AppsClient) ListContinuousWebJobsSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result ContinuousWebJobCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListContinuousWebJobsSlot") + defer func() { + sc := -1 + if result.cwjc.Response.Response != nil { + sc = result.cwjc.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "ListContinuousWebJobsSlot", err.Error()) + } + + result.fn = client.listContinuousWebJobsSlotNextResults + req, err := client.ListContinuousWebJobsSlotPreparer(ctx, resourceGroupName, name, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListContinuousWebJobsSlot", nil, "Failure preparing request") + return + } + + resp, err := client.ListContinuousWebJobsSlotSender(req) + if err != nil { + result.cwjc.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListContinuousWebJobsSlot", resp, "Failure sending request") + return + } + + result.cwjc, err = client.ListContinuousWebJobsSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListContinuousWebJobsSlot", resp, "Failure responding to request") + } + + return +} + +// ListContinuousWebJobsSlotPreparer prepares the ListContinuousWebJobsSlot request. +func (client AppsClient) ListContinuousWebJobsSlotPreparer(ctx context.Context, resourceGroupName string, name string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/continuouswebjobs", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListContinuousWebJobsSlotSender sends the ListContinuousWebJobsSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListContinuousWebJobsSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListContinuousWebJobsSlotResponder handles the response to the ListContinuousWebJobsSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) ListContinuousWebJobsSlotResponder(resp *http.Response) (result ContinuousWebJobCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listContinuousWebJobsSlotNextResults retrieves the next set of results, if any. +func (client AppsClient) listContinuousWebJobsSlotNextResults(ctx context.Context, lastResults ContinuousWebJobCollection) (result ContinuousWebJobCollection, err error) { + req, err := lastResults.continuousWebJobCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listContinuousWebJobsSlotNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListContinuousWebJobsSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listContinuousWebJobsSlotNextResults", resp, "Failure sending next results request") + } + result, err = client.ListContinuousWebJobsSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "listContinuousWebJobsSlotNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListContinuousWebJobsSlotComplete enumerates all values, automatically crossing page boundaries as required. +func (client AppsClient) ListContinuousWebJobsSlotComplete(ctx context.Context, resourceGroupName string, name string, slot string) (result ContinuousWebJobCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListContinuousWebJobsSlot") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListContinuousWebJobsSlot(ctx, resourceGroupName, name, slot) + return +} + +// ListDeploymentLog list deployment log for specific deployment for an app, or a deployment slot. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// ID - the ID of a specific deployment. This is the value of the name property in the JSON response from "GET +// /api/sites/{siteName}/deployments". +func (client AppsClient) ListDeploymentLog(ctx context.Context, resourceGroupName string, name string, ID string) (result Deployment, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListDeploymentLog") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "ListDeploymentLog", err.Error()) + } + + req, err := client.ListDeploymentLogPreparer(ctx, resourceGroupName, name, ID) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListDeploymentLog", nil, "Failure preparing request") + return + } + + resp, err := client.ListDeploymentLogSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListDeploymentLog", resp, "Failure sending request") + return + } + + result, err = client.ListDeploymentLogResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListDeploymentLog", resp, "Failure responding to request") + } + + return +} + +// ListDeploymentLogPreparer prepares the ListDeploymentLog request. +func (client AppsClient) ListDeploymentLogPreparer(ctx context.Context, resourceGroupName string, name string, ID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "id": autorest.Encode("path", ID), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/deployments/{id}/log", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListDeploymentLogSender sends the ListDeploymentLog request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListDeploymentLogSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListDeploymentLogResponder handles the response to the ListDeploymentLog request. The method always +// closes the http.Response Body. +func (client AppsClient) ListDeploymentLogResponder(resp *http.Response) (result Deployment, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListDeploymentLogSlot list deployment log for specific deployment for an app, or a deployment slot. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// ID - the ID of a specific deployment. This is the value of the name property in the JSON response from "GET +// /api/sites/{siteName}/deployments". +// slot - name of the deployment slot. If a slot is not specified, the API returns deployments for the +// production slot. +func (client AppsClient) ListDeploymentLogSlot(ctx context.Context, resourceGroupName string, name string, ID string, slot string) (result Deployment, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListDeploymentLogSlot") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "ListDeploymentLogSlot", err.Error()) + } + + req, err := client.ListDeploymentLogSlotPreparer(ctx, resourceGroupName, name, ID, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListDeploymentLogSlot", nil, "Failure preparing request") + return + } + + resp, err := client.ListDeploymentLogSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListDeploymentLogSlot", resp, "Failure sending request") + return + } + + result, err = client.ListDeploymentLogSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListDeploymentLogSlot", resp, "Failure responding to request") + } + + return +} + +// ListDeploymentLogSlotPreparer prepares the ListDeploymentLogSlot request. +func (client AppsClient) ListDeploymentLogSlotPreparer(ctx context.Context, resourceGroupName string, name string, ID string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "id": autorest.Encode("path", ID), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/deployments/{id}/log", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListDeploymentLogSlotSender sends the ListDeploymentLogSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListDeploymentLogSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListDeploymentLogSlotResponder handles the response to the ListDeploymentLogSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) ListDeploymentLogSlotResponder(resp *http.Response) (result Deployment, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListDeployments list deployments for an app, or a deployment slot. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +func (client AppsClient) ListDeployments(ctx context.Context, resourceGroupName string, name string) (result DeploymentCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListDeployments") + defer func() { + sc := -1 + if result.dc.Response.Response != nil { + sc = result.dc.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "ListDeployments", err.Error()) + } + + result.fn = client.listDeploymentsNextResults + req, err := client.ListDeploymentsPreparer(ctx, resourceGroupName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListDeployments", nil, "Failure preparing request") + return + } + + resp, err := client.ListDeploymentsSender(req) + if err != nil { + result.dc.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListDeployments", resp, "Failure sending request") + return + } + + result.dc, err = client.ListDeploymentsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListDeployments", resp, "Failure responding to request") + } + + return +} + +// ListDeploymentsPreparer prepares the ListDeployments request. +func (client AppsClient) ListDeploymentsPreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/deployments", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListDeploymentsSender sends the ListDeployments request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListDeploymentsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListDeploymentsResponder handles the response to the ListDeployments request. The method always +// closes the http.Response Body. +func (client AppsClient) ListDeploymentsResponder(resp *http.Response) (result DeploymentCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listDeploymentsNextResults retrieves the next set of results, if any. +func (client AppsClient) listDeploymentsNextResults(ctx context.Context, lastResults DeploymentCollection) (result DeploymentCollection, err error) { + req, err := lastResults.deploymentCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listDeploymentsNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListDeploymentsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listDeploymentsNextResults", resp, "Failure sending next results request") + } + result, err = client.ListDeploymentsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "listDeploymentsNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListDeploymentsComplete enumerates all values, automatically crossing page boundaries as required. +func (client AppsClient) ListDeploymentsComplete(ctx context.Context, resourceGroupName string, name string) (result DeploymentCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListDeployments") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListDeployments(ctx, resourceGroupName, name) + return +} + +// ListDeploymentsSlot list deployments for an app, or a deployment slot. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// slot - name of the deployment slot. If a slot is not specified, the API returns deployments for the +// production slot. +func (client AppsClient) ListDeploymentsSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result DeploymentCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListDeploymentsSlot") + defer func() { + sc := -1 + if result.dc.Response.Response != nil { + sc = result.dc.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "ListDeploymentsSlot", err.Error()) + } + + result.fn = client.listDeploymentsSlotNextResults + req, err := client.ListDeploymentsSlotPreparer(ctx, resourceGroupName, name, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListDeploymentsSlot", nil, "Failure preparing request") + return + } + + resp, err := client.ListDeploymentsSlotSender(req) + if err != nil { + result.dc.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListDeploymentsSlot", resp, "Failure sending request") + return + } + + result.dc, err = client.ListDeploymentsSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListDeploymentsSlot", resp, "Failure responding to request") + } + + return +} + +// ListDeploymentsSlotPreparer prepares the ListDeploymentsSlot request. +func (client AppsClient) ListDeploymentsSlotPreparer(ctx context.Context, resourceGroupName string, name string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/deployments", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListDeploymentsSlotSender sends the ListDeploymentsSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListDeploymentsSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListDeploymentsSlotResponder handles the response to the ListDeploymentsSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) ListDeploymentsSlotResponder(resp *http.Response) (result DeploymentCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listDeploymentsSlotNextResults retrieves the next set of results, if any. +func (client AppsClient) listDeploymentsSlotNextResults(ctx context.Context, lastResults DeploymentCollection) (result DeploymentCollection, err error) { + req, err := lastResults.deploymentCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listDeploymentsSlotNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListDeploymentsSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listDeploymentsSlotNextResults", resp, "Failure sending next results request") + } + result, err = client.ListDeploymentsSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "listDeploymentsSlotNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListDeploymentsSlotComplete enumerates all values, automatically crossing page boundaries as required. +func (client AppsClient) ListDeploymentsSlotComplete(ctx context.Context, resourceGroupName string, name string, slot string) (result DeploymentCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListDeploymentsSlot") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListDeploymentsSlot(ctx, resourceGroupName, name, slot) + return +} + +// ListDomainOwnershipIdentifiers lists ownership identifiers for domain associated with web app. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +func (client AppsClient) ListDomainOwnershipIdentifiers(ctx context.Context, resourceGroupName string, name string) (result IdentifierCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListDomainOwnershipIdentifiers") + defer func() { + sc := -1 + if result.ic.Response.Response != nil { + sc = result.ic.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "ListDomainOwnershipIdentifiers", err.Error()) + } + + result.fn = client.listDomainOwnershipIdentifiersNextResults + req, err := client.ListDomainOwnershipIdentifiersPreparer(ctx, resourceGroupName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListDomainOwnershipIdentifiers", nil, "Failure preparing request") + return + } + + resp, err := client.ListDomainOwnershipIdentifiersSender(req) + if err != nil { + result.ic.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListDomainOwnershipIdentifiers", resp, "Failure sending request") + return + } + + result.ic, err = client.ListDomainOwnershipIdentifiersResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListDomainOwnershipIdentifiers", resp, "Failure responding to request") + } + + return +} + +// ListDomainOwnershipIdentifiersPreparer prepares the ListDomainOwnershipIdentifiers request. +func (client AppsClient) ListDomainOwnershipIdentifiersPreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/domainOwnershipIdentifiers", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListDomainOwnershipIdentifiersSender sends the ListDomainOwnershipIdentifiers request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListDomainOwnershipIdentifiersSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListDomainOwnershipIdentifiersResponder handles the response to the ListDomainOwnershipIdentifiers request. The method always +// closes the http.Response Body. +func (client AppsClient) ListDomainOwnershipIdentifiersResponder(resp *http.Response) (result IdentifierCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listDomainOwnershipIdentifiersNextResults retrieves the next set of results, if any. +func (client AppsClient) listDomainOwnershipIdentifiersNextResults(ctx context.Context, lastResults IdentifierCollection) (result IdentifierCollection, err error) { + req, err := lastResults.identifierCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listDomainOwnershipIdentifiersNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListDomainOwnershipIdentifiersSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listDomainOwnershipIdentifiersNextResults", resp, "Failure sending next results request") + } + result, err = client.ListDomainOwnershipIdentifiersResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "listDomainOwnershipIdentifiersNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListDomainOwnershipIdentifiersComplete enumerates all values, automatically crossing page boundaries as required. +func (client AppsClient) ListDomainOwnershipIdentifiersComplete(ctx context.Context, resourceGroupName string, name string) (result IdentifierCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListDomainOwnershipIdentifiers") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListDomainOwnershipIdentifiers(ctx, resourceGroupName, name) + return +} + +// ListDomainOwnershipIdentifiersSlot lists ownership identifiers for domain associated with web app. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// slot - name of the deployment slot. If a slot is not specified, the API will delete the binding for the +// production slot. +func (client AppsClient) ListDomainOwnershipIdentifiersSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result IdentifierCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListDomainOwnershipIdentifiersSlot") + defer func() { + sc := -1 + if result.ic.Response.Response != nil { + sc = result.ic.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "ListDomainOwnershipIdentifiersSlot", err.Error()) + } + + result.fn = client.listDomainOwnershipIdentifiersSlotNextResults + req, err := client.ListDomainOwnershipIdentifiersSlotPreparer(ctx, resourceGroupName, name, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListDomainOwnershipIdentifiersSlot", nil, "Failure preparing request") + return + } + + resp, err := client.ListDomainOwnershipIdentifiersSlotSender(req) + if err != nil { + result.ic.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListDomainOwnershipIdentifiersSlot", resp, "Failure sending request") + return + } + + result.ic, err = client.ListDomainOwnershipIdentifiersSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListDomainOwnershipIdentifiersSlot", resp, "Failure responding to request") + } + + return +} + +// ListDomainOwnershipIdentifiersSlotPreparer prepares the ListDomainOwnershipIdentifiersSlot request. +func (client AppsClient) ListDomainOwnershipIdentifiersSlotPreparer(ctx context.Context, resourceGroupName string, name string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/domainOwnershipIdentifiers", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListDomainOwnershipIdentifiersSlotSender sends the ListDomainOwnershipIdentifiersSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListDomainOwnershipIdentifiersSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListDomainOwnershipIdentifiersSlotResponder handles the response to the ListDomainOwnershipIdentifiersSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) ListDomainOwnershipIdentifiersSlotResponder(resp *http.Response) (result IdentifierCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listDomainOwnershipIdentifiersSlotNextResults retrieves the next set of results, if any. +func (client AppsClient) listDomainOwnershipIdentifiersSlotNextResults(ctx context.Context, lastResults IdentifierCollection) (result IdentifierCollection, err error) { + req, err := lastResults.identifierCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listDomainOwnershipIdentifiersSlotNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListDomainOwnershipIdentifiersSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listDomainOwnershipIdentifiersSlotNextResults", resp, "Failure sending next results request") + } + result, err = client.ListDomainOwnershipIdentifiersSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "listDomainOwnershipIdentifiersSlotNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListDomainOwnershipIdentifiersSlotComplete enumerates all values, automatically crossing page boundaries as required. +func (client AppsClient) ListDomainOwnershipIdentifiersSlotComplete(ctx context.Context, resourceGroupName string, name string, slot string) (result IdentifierCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListDomainOwnershipIdentifiersSlot") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListDomainOwnershipIdentifiersSlot(ctx, resourceGroupName, name, slot) + return +} + +// ListFunctions list the functions for a web site, or a deployment slot. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - site name. +func (client AppsClient) ListFunctions(ctx context.Context, resourceGroupName string, name string) (result FunctionEnvelopeCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListFunctions") + defer func() { + sc := -1 + if result.fec.Response.Response != nil { + sc = result.fec.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "ListFunctions", err.Error()) + } + + result.fn = client.listFunctionsNextResults + req, err := client.ListFunctionsPreparer(ctx, resourceGroupName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListFunctions", nil, "Failure preparing request") + return + } + + resp, err := client.ListFunctionsSender(req) + if err != nil { + result.fec.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListFunctions", resp, "Failure sending request") + return + } + + result.fec, err = client.ListFunctionsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListFunctions", resp, "Failure responding to request") + } + + return +} + +// ListFunctionsPreparer prepares the ListFunctions request. +func (client AppsClient) ListFunctionsPreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/functions", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListFunctionsSender sends the ListFunctions request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListFunctionsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListFunctionsResponder handles the response to the ListFunctions request. The method always +// closes the http.Response Body. +func (client AppsClient) ListFunctionsResponder(resp *http.Response) (result FunctionEnvelopeCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listFunctionsNextResults retrieves the next set of results, if any. +func (client AppsClient) listFunctionsNextResults(ctx context.Context, lastResults FunctionEnvelopeCollection) (result FunctionEnvelopeCollection, err error) { + req, err := lastResults.functionEnvelopeCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listFunctionsNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListFunctionsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listFunctionsNextResults", resp, "Failure sending next results request") + } + result, err = client.ListFunctionsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "listFunctionsNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListFunctionsComplete enumerates all values, automatically crossing page boundaries as required. +func (client AppsClient) ListFunctionsComplete(ctx context.Context, resourceGroupName string, name string) (result FunctionEnvelopeCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListFunctions") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListFunctions(ctx, resourceGroupName, name) + return +} + +// ListFunctionSecrets get function secrets for a function in a web site, or a deployment slot. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - site name. +// functionName - function name. +func (client AppsClient) ListFunctionSecrets(ctx context.Context, resourceGroupName string, name string, functionName string) (result FunctionSecrets, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListFunctionSecrets") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "ListFunctionSecrets", err.Error()) + } + + req, err := client.ListFunctionSecretsPreparer(ctx, resourceGroupName, name, functionName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListFunctionSecrets", nil, "Failure preparing request") + return + } + + resp, err := client.ListFunctionSecretsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListFunctionSecrets", resp, "Failure sending request") + return + } + + result, err = client.ListFunctionSecretsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListFunctionSecrets", resp, "Failure responding to request") + } + + return +} + +// ListFunctionSecretsPreparer prepares the ListFunctionSecrets request. +func (client AppsClient) ListFunctionSecretsPreparer(ctx context.Context, resourceGroupName string, name string, functionName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "functionName": autorest.Encode("path", functionName), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/functions/{functionName}/listsecrets", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListFunctionSecretsSender sends the ListFunctionSecrets request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListFunctionSecretsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListFunctionSecretsResponder handles the response to the ListFunctionSecrets request. The method always +// closes the http.Response Body. +func (client AppsClient) ListFunctionSecretsResponder(resp *http.Response) (result FunctionSecrets, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListFunctionSecretsSlot get function secrets for a function in a web site, or a deployment slot. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - site name. +// functionName - function name. +// slot - name of the deployment slot. If a slot is not specified, the API deletes a deployment for the +// production slot. +func (client AppsClient) ListFunctionSecretsSlot(ctx context.Context, resourceGroupName string, name string, functionName string, slot string) (result FunctionSecrets, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListFunctionSecretsSlot") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "ListFunctionSecretsSlot", err.Error()) + } + + req, err := client.ListFunctionSecretsSlotPreparer(ctx, resourceGroupName, name, functionName, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListFunctionSecretsSlot", nil, "Failure preparing request") + return + } + + resp, err := client.ListFunctionSecretsSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListFunctionSecretsSlot", resp, "Failure sending request") + return + } + + result, err = client.ListFunctionSecretsSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListFunctionSecretsSlot", resp, "Failure responding to request") + } + + return +} + +// ListFunctionSecretsSlotPreparer prepares the ListFunctionSecretsSlot request. +func (client AppsClient) ListFunctionSecretsSlotPreparer(ctx context.Context, resourceGroupName string, name string, functionName string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "functionName": autorest.Encode("path", functionName), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/functions/{functionName}/listsecrets", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListFunctionSecretsSlotSender sends the ListFunctionSecretsSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListFunctionSecretsSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListFunctionSecretsSlotResponder handles the response to the ListFunctionSecretsSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) ListFunctionSecretsSlotResponder(resp *http.Response) (result FunctionSecrets, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListHostNameBindings get hostname bindings for an app or a deployment slot. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +func (client AppsClient) ListHostNameBindings(ctx context.Context, resourceGroupName string, name string) (result HostNameBindingCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListHostNameBindings") + defer func() { + sc := -1 + if result.hnbc.Response.Response != nil { + sc = result.hnbc.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "ListHostNameBindings", err.Error()) + } + + result.fn = client.listHostNameBindingsNextResults + req, err := client.ListHostNameBindingsPreparer(ctx, resourceGroupName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListHostNameBindings", nil, "Failure preparing request") + return + } + + resp, err := client.ListHostNameBindingsSender(req) + if err != nil { + result.hnbc.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListHostNameBindings", resp, "Failure sending request") + return + } + + result.hnbc, err = client.ListHostNameBindingsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListHostNameBindings", resp, "Failure responding to request") + } + + return +} + +// ListHostNameBindingsPreparer prepares the ListHostNameBindings request. +func (client AppsClient) ListHostNameBindingsPreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hostNameBindings", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListHostNameBindingsSender sends the ListHostNameBindings request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListHostNameBindingsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListHostNameBindingsResponder handles the response to the ListHostNameBindings request. The method always +// closes the http.Response Body. +func (client AppsClient) ListHostNameBindingsResponder(resp *http.Response) (result HostNameBindingCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listHostNameBindingsNextResults retrieves the next set of results, if any. +func (client AppsClient) listHostNameBindingsNextResults(ctx context.Context, lastResults HostNameBindingCollection) (result HostNameBindingCollection, err error) { + req, err := lastResults.hostNameBindingCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listHostNameBindingsNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListHostNameBindingsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listHostNameBindingsNextResults", resp, "Failure sending next results request") + } + result, err = client.ListHostNameBindingsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "listHostNameBindingsNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListHostNameBindingsComplete enumerates all values, automatically crossing page boundaries as required. +func (client AppsClient) ListHostNameBindingsComplete(ctx context.Context, resourceGroupName string, name string) (result HostNameBindingCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListHostNameBindings") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListHostNameBindings(ctx, resourceGroupName, name) + return +} + +// ListHostNameBindingsSlot get hostname bindings for an app or a deployment slot. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// slot - name of the deployment slot. If a slot is not specified, the API gets hostname bindings for the +// production slot. +func (client AppsClient) ListHostNameBindingsSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result HostNameBindingCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListHostNameBindingsSlot") + defer func() { + sc := -1 + if result.hnbc.Response.Response != nil { + sc = result.hnbc.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "ListHostNameBindingsSlot", err.Error()) + } + + result.fn = client.listHostNameBindingsSlotNextResults + req, err := client.ListHostNameBindingsSlotPreparer(ctx, resourceGroupName, name, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListHostNameBindingsSlot", nil, "Failure preparing request") + return + } + + resp, err := client.ListHostNameBindingsSlotSender(req) + if err != nil { + result.hnbc.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListHostNameBindingsSlot", resp, "Failure sending request") + return + } + + result.hnbc, err = client.ListHostNameBindingsSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListHostNameBindingsSlot", resp, "Failure responding to request") + } + + return +} + +// ListHostNameBindingsSlotPreparer prepares the ListHostNameBindingsSlot request. +func (client AppsClient) ListHostNameBindingsSlotPreparer(ctx context.Context, resourceGroupName string, name string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hostNameBindings", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListHostNameBindingsSlotSender sends the ListHostNameBindingsSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListHostNameBindingsSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListHostNameBindingsSlotResponder handles the response to the ListHostNameBindingsSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) ListHostNameBindingsSlotResponder(resp *http.Response) (result HostNameBindingCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listHostNameBindingsSlotNextResults retrieves the next set of results, if any. +func (client AppsClient) listHostNameBindingsSlotNextResults(ctx context.Context, lastResults HostNameBindingCollection) (result HostNameBindingCollection, err error) { + req, err := lastResults.hostNameBindingCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listHostNameBindingsSlotNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListHostNameBindingsSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listHostNameBindingsSlotNextResults", resp, "Failure sending next results request") + } + result, err = client.ListHostNameBindingsSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "listHostNameBindingsSlotNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListHostNameBindingsSlotComplete enumerates all values, automatically crossing page boundaries as required. +func (client AppsClient) ListHostNameBindingsSlotComplete(ctx context.Context, resourceGroupName string, name string, slot string) (result HostNameBindingCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListHostNameBindingsSlot") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListHostNameBindingsSlot(ctx, resourceGroupName, name, slot) + return +} + +// ListHybridConnectionKeys gets the send key name and value for a Hybrid Connection. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - the name of the web app. +// namespaceName - the namespace for this hybrid connection. +// relayName - the relay name for this hybrid connection. +func (client AppsClient) ListHybridConnectionKeys(ctx context.Context, resourceGroupName string, name string, namespaceName string, relayName string) (result HybridConnectionKey, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListHybridConnectionKeys") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "ListHybridConnectionKeys", err.Error()) + } + + req, err := client.ListHybridConnectionKeysPreparer(ctx, resourceGroupName, name, namespaceName, relayName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListHybridConnectionKeys", nil, "Failure preparing request") + return + } + + resp, err := client.ListHybridConnectionKeysSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListHybridConnectionKeys", resp, "Failure sending request") + return + } + + result, err = client.ListHybridConnectionKeysResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListHybridConnectionKeys", resp, "Failure responding to request") + } + + return +} + +// ListHybridConnectionKeysPreparer prepares the ListHybridConnectionKeys request. +func (client AppsClient) ListHybridConnectionKeysPreparer(ctx context.Context, resourceGroupName string, name string, namespaceName string, relayName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "namespaceName": autorest.Encode("path", namespaceName), + "relayName": autorest.Encode("path", relayName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}/listKeys", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListHybridConnectionKeysSender sends the ListHybridConnectionKeys request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListHybridConnectionKeysSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListHybridConnectionKeysResponder handles the response to the ListHybridConnectionKeys request. The method always +// closes the http.Response Body. +func (client AppsClient) ListHybridConnectionKeysResponder(resp *http.Response) (result HybridConnectionKey, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListHybridConnectionKeysSlot gets the send key name and value for a Hybrid Connection. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - the name of the web app. +// namespaceName - the namespace for this hybrid connection. +// relayName - the relay name for this hybrid connection. +// slot - the name of the slot for the web app. +func (client AppsClient) ListHybridConnectionKeysSlot(ctx context.Context, resourceGroupName string, name string, namespaceName string, relayName string, slot string) (result HybridConnectionKey, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListHybridConnectionKeysSlot") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "ListHybridConnectionKeysSlot", err.Error()) + } + + req, err := client.ListHybridConnectionKeysSlotPreparer(ctx, resourceGroupName, name, namespaceName, relayName, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListHybridConnectionKeysSlot", nil, "Failure preparing request") + return + } + + resp, err := client.ListHybridConnectionKeysSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListHybridConnectionKeysSlot", resp, "Failure sending request") + return + } + + result, err = client.ListHybridConnectionKeysSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListHybridConnectionKeysSlot", resp, "Failure responding to request") + } + + return +} + +// ListHybridConnectionKeysSlotPreparer prepares the ListHybridConnectionKeysSlot request. +func (client AppsClient) ListHybridConnectionKeysSlotPreparer(ctx context.Context, resourceGroupName string, name string, namespaceName string, relayName string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "namespaceName": autorest.Encode("path", namespaceName), + "relayName": autorest.Encode("path", relayName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}/listKeys", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListHybridConnectionKeysSlotSender sends the ListHybridConnectionKeysSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListHybridConnectionKeysSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListHybridConnectionKeysSlotResponder handles the response to the ListHybridConnectionKeysSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) ListHybridConnectionKeysSlotResponder(resp *http.Response) (result HybridConnectionKey, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListHybridConnections retrieves all Service Bus Hybrid Connections used by this Web App. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - the name of the web app. +func (client AppsClient) ListHybridConnections(ctx context.Context, resourceGroupName string, name string) (result HybridConnection, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListHybridConnections") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "ListHybridConnections", err.Error()) + } + + req, err := client.ListHybridConnectionsPreparer(ctx, resourceGroupName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListHybridConnections", nil, "Failure preparing request") + return + } + + resp, err := client.ListHybridConnectionsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListHybridConnections", resp, "Failure sending request") + return + } + + result, err = client.ListHybridConnectionsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListHybridConnections", resp, "Failure responding to request") + } + + return +} + +// ListHybridConnectionsPreparer prepares the ListHybridConnections request. +func (client AppsClient) ListHybridConnectionsPreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridConnectionRelays", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListHybridConnectionsSender sends the ListHybridConnections request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListHybridConnectionsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListHybridConnectionsResponder handles the response to the ListHybridConnections request. The method always +// closes the http.Response Body. +func (client AppsClient) ListHybridConnectionsResponder(resp *http.Response) (result HybridConnection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListHybridConnectionsSlot retrieves all Service Bus Hybrid Connections used by this Web App. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - the name of the web app. +// slot - the name of the slot for the web app. +func (client AppsClient) ListHybridConnectionsSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result HybridConnection, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListHybridConnectionsSlot") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "ListHybridConnectionsSlot", err.Error()) + } + + req, err := client.ListHybridConnectionsSlotPreparer(ctx, resourceGroupName, name, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListHybridConnectionsSlot", nil, "Failure preparing request") + return + } + + resp, err := client.ListHybridConnectionsSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListHybridConnectionsSlot", resp, "Failure sending request") + return + } + + result, err = client.ListHybridConnectionsSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListHybridConnectionsSlot", resp, "Failure responding to request") + } + + return +} + +// ListHybridConnectionsSlotPreparer prepares the ListHybridConnectionsSlot request. +func (client AppsClient) ListHybridConnectionsSlotPreparer(ctx context.Context, resourceGroupName string, name string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridConnectionRelays", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListHybridConnectionsSlotSender sends the ListHybridConnectionsSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListHybridConnectionsSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListHybridConnectionsSlotResponder handles the response to the ListHybridConnectionsSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) ListHybridConnectionsSlotResponder(resp *http.Response) (result HybridConnection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListInstanceFunctionsSlot list the functions for a web site, or a deployment slot. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - site name. +// slot - name of the deployment slot. If a slot is not specified, the API deletes a deployment for the +// production slot. +func (client AppsClient) ListInstanceFunctionsSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result FunctionEnvelopeCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListInstanceFunctionsSlot") + defer func() { + sc := -1 + if result.fec.Response.Response != nil { + sc = result.fec.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "ListInstanceFunctionsSlot", err.Error()) + } + + result.fn = client.listInstanceFunctionsSlotNextResults + req, err := client.ListInstanceFunctionsSlotPreparer(ctx, resourceGroupName, name, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListInstanceFunctionsSlot", nil, "Failure preparing request") + return + } + + resp, err := client.ListInstanceFunctionsSlotSender(req) + if err != nil { + result.fec.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListInstanceFunctionsSlot", resp, "Failure sending request") + return + } + + result.fec, err = client.ListInstanceFunctionsSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListInstanceFunctionsSlot", resp, "Failure responding to request") + } + + return +} + +// ListInstanceFunctionsSlotPreparer prepares the ListInstanceFunctionsSlot request. +func (client AppsClient) ListInstanceFunctionsSlotPreparer(ctx context.Context, resourceGroupName string, name string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/functions", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListInstanceFunctionsSlotSender sends the ListInstanceFunctionsSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListInstanceFunctionsSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListInstanceFunctionsSlotResponder handles the response to the ListInstanceFunctionsSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) ListInstanceFunctionsSlotResponder(resp *http.Response) (result FunctionEnvelopeCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listInstanceFunctionsSlotNextResults retrieves the next set of results, if any. +func (client AppsClient) listInstanceFunctionsSlotNextResults(ctx context.Context, lastResults FunctionEnvelopeCollection) (result FunctionEnvelopeCollection, err error) { + req, err := lastResults.functionEnvelopeCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listInstanceFunctionsSlotNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListInstanceFunctionsSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listInstanceFunctionsSlotNextResults", resp, "Failure sending next results request") + } + result, err = client.ListInstanceFunctionsSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "listInstanceFunctionsSlotNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListInstanceFunctionsSlotComplete enumerates all values, automatically crossing page boundaries as required. +func (client AppsClient) ListInstanceFunctionsSlotComplete(ctx context.Context, resourceGroupName string, name string, slot string) (result FunctionEnvelopeCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListInstanceFunctionsSlot") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListInstanceFunctionsSlot(ctx, resourceGroupName, name, slot) + return +} + +// ListInstanceIdentifiers gets all scale-out instances of an app. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +func (client AppsClient) ListInstanceIdentifiers(ctx context.Context, resourceGroupName string, name string) (result AppInstanceCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListInstanceIdentifiers") + defer func() { + sc := -1 + if result.aic.Response.Response != nil { + sc = result.aic.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "ListInstanceIdentifiers", err.Error()) + } + + result.fn = client.listInstanceIdentifiersNextResults + req, err := client.ListInstanceIdentifiersPreparer(ctx, resourceGroupName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListInstanceIdentifiers", nil, "Failure preparing request") + return + } + + resp, err := client.ListInstanceIdentifiersSender(req) + if err != nil { + result.aic.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListInstanceIdentifiers", resp, "Failure sending request") + return + } + + result.aic, err = client.ListInstanceIdentifiersResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListInstanceIdentifiers", resp, "Failure responding to request") + } + + return +} + +// ListInstanceIdentifiersPreparer prepares the ListInstanceIdentifiers request. +func (client AppsClient) ListInstanceIdentifiersPreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListInstanceIdentifiersSender sends the ListInstanceIdentifiers request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListInstanceIdentifiersSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListInstanceIdentifiersResponder handles the response to the ListInstanceIdentifiers request. The method always +// closes the http.Response Body. +func (client AppsClient) ListInstanceIdentifiersResponder(resp *http.Response) (result AppInstanceCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listInstanceIdentifiersNextResults retrieves the next set of results, if any. +func (client AppsClient) listInstanceIdentifiersNextResults(ctx context.Context, lastResults AppInstanceCollection) (result AppInstanceCollection, err error) { + req, err := lastResults.appInstanceCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listInstanceIdentifiersNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListInstanceIdentifiersSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listInstanceIdentifiersNextResults", resp, "Failure sending next results request") + } + result, err = client.ListInstanceIdentifiersResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "listInstanceIdentifiersNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListInstanceIdentifiersComplete enumerates all values, automatically crossing page boundaries as required. +func (client AppsClient) ListInstanceIdentifiersComplete(ctx context.Context, resourceGroupName string, name string) (result AppInstanceCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListInstanceIdentifiers") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListInstanceIdentifiers(ctx, resourceGroupName, name) + return +} + +// ListInstanceIdentifiersSlot gets all scale-out instances of an app. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// slot - name of the deployment slot. If a slot is not specified, the API gets the production slot instances. +func (client AppsClient) ListInstanceIdentifiersSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result AppInstanceCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListInstanceIdentifiersSlot") + defer func() { + sc := -1 + if result.aic.Response.Response != nil { + sc = result.aic.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "ListInstanceIdentifiersSlot", err.Error()) + } + + result.fn = client.listInstanceIdentifiersSlotNextResults + req, err := client.ListInstanceIdentifiersSlotPreparer(ctx, resourceGroupName, name, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListInstanceIdentifiersSlot", nil, "Failure preparing request") + return + } + + resp, err := client.ListInstanceIdentifiersSlotSender(req) + if err != nil { + result.aic.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListInstanceIdentifiersSlot", resp, "Failure sending request") + return + } + + result.aic, err = client.ListInstanceIdentifiersSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListInstanceIdentifiersSlot", resp, "Failure responding to request") + } + + return +} + +// ListInstanceIdentifiersSlotPreparer prepares the ListInstanceIdentifiersSlot request. +func (client AppsClient) ListInstanceIdentifiersSlotPreparer(ctx context.Context, resourceGroupName string, name string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListInstanceIdentifiersSlotSender sends the ListInstanceIdentifiersSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListInstanceIdentifiersSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListInstanceIdentifiersSlotResponder handles the response to the ListInstanceIdentifiersSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) ListInstanceIdentifiersSlotResponder(resp *http.Response) (result AppInstanceCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listInstanceIdentifiersSlotNextResults retrieves the next set of results, if any. +func (client AppsClient) listInstanceIdentifiersSlotNextResults(ctx context.Context, lastResults AppInstanceCollection) (result AppInstanceCollection, err error) { + req, err := lastResults.appInstanceCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listInstanceIdentifiersSlotNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListInstanceIdentifiersSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listInstanceIdentifiersSlotNextResults", resp, "Failure sending next results request") + } + result, err = client.ListInstanceIdentifiersSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "listInstanceIdentifiersSlotNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListInstanceIdentifiersSlotComplete enumerates all values, automatically crossing page boundaries as required. +func (client AppsClient) ListInstanceIdentifiersSlotComplete(ctx context.Context, resourceGroupName string, name string, slot string) (result AppInstanceCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListInstanceIdentifiersSlot") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListInstanceIdentifiersSlot(ctx, resourceGroupName, name, slot) + return +} + +// ListInstanceProcesses get list of processes for a web site, or a deployment slot, or for a specific scaled-out +// instance in a web site. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - site name. +// instanceID - ID of a specific scaled-out instance. This is the value of the name property in the JSON +// response from "GET api/sites/{siteName}/instances". +func (client AppsClient) ListInstanceProcesses(ctx context.Context, resourceGroupName string, name string, instanceID string) (result ProcessInfoCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListInstanceProcesses") + defer func() { + sc := -1 + if result.pic.Response.Response != nil { + sc = result.pic.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "ListInstanceProcesses", err.Error()) + } + + result.fn = client.listInstanceProcessesNextResults + req, err := client.ListInstanceProcessesPreparer(ctx, resourceGroupName, name, instanceID) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListInstanceProcesses", nil, "Failure preparing request") + return + } + + resp, err := client.ListInstanceProcessesSender(req) + if err != nil { + result.pic.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListInstanceProcesses", resp, "Failure sending request") + return + } + + result.pic, err = client.ListInstanceProcessesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListInstanceProcesses", resp, "Failure responding to request") + } + + return +} + +// ListInstanceProcessesPreparer prepares the ListInstanceProcesses request. +func (client AppsClient) ListInstanceProcessesPreparer(ctx context.Context, resourceGroupName string, name string, instanceID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "instanceId": autorest.Encode("path", instanceID), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/processes", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListInstanceProcessesSender sends the ListInstanceProcesses request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListInstanceProcessesSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListInstanceProcessesResponder handles the response to the ListInstanceProcesses request. The method always +// closes the http.Response Body. +func (client AppsClient) ListInstanceProcessesResponder(resp *http.Response) (result ProcessInfoCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listInstanceProcessesNextResults retrieves the next set of results, if any. +func (client AppsClient) listInstanceProcessesNextResults(ctx context.Context, lastResults ProcessInfoCollection) (result ProcessInfoCollection, err error) { + req, err := lastResults.processInfoCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listInstanceProcessesNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListInstanceProcessesSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listInstanceProcessesNextResults", resp, "Failure sending next results request") + } + result, err = client.ListInstanceProcessesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "listInstanceProcessesNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListInstanceProcessesComplete enumerates all values, automatically crossing page boundaries as required. +func (client AppsClient) ListInstanceProcessesComplete(ctx context.Context, resourceGroupName string, name string, instanceID string) (result ProcessInfoCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListInstanceProcesses") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListInstanceProcesses(ctx, resourceGroupName, name, instanceID) + return +} + +// ListInstanceProcessesSlot get list of processes for a web site, or a deployment slot, or for a specific scaled-out +// instance in a web site. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - site name. +// slot - name of the deployment slot. If a slot is not specified, the API returns deployments for the +// production slot. +// instanceID - ID of a specific scaled-out instance. This is the value of the name property in the JSON +// response from "GET api/sites/{siteName}/instances". +func (client AppsClient) ListInstanceProcessesSlot(ctx context.Context, resourceGroupName string, name string, slot string, instanceID string) (result ProcessInfoCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListInstanceProcessesSlot") + defer func() { + sc := -1 + if result.pic.Response.Response != nil { + sc = result.pic.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "ListInstanceProcessesSlot", err.Error()) + } + + result.fn = client.listInstanceProcessesSlotNextResults + req, err := client.ListInstanceProcessesSlotPreparer(ctx, resourceGroupName, name, slot, instanceID) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListInstanceProcessesSlot", nil, "Failure preparing request") + return + } + + resp, err := client.ListInstanceProcessesSlotSender(req) + if err != nil { + result.pic.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListInstanceProcessesSlot", resp, "Failure sending request") + return + } + + result.pic, err = client.ListInstanceProcessesSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListInstanceProcessesSlot", resp, "Failure responding to request") + } + + return +} + +// ListInstanceProcessesSlotPreparer prepares the ListInstanceProcessesSlot request. +func (client AppsClient) ListInstanceProcessesSlotPreparer(ctx context.Context, resourceGroupName string, name string, slot string, instanceID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "instanceId": autorest.Encode("path", instanceID), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/processes", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListInstanceProcessesSlotSender sends the ListInstanceProcessesSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListInstanceProcessesSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListInstanceProcessesSlotResponder handles the response to the ListInstanceProcessesSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) ListInstanceProcessesSlotResponder(resp *http.Response) (result ProcessInfoCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listInstanceProcessesSlotNextResults retrieves the next set of results, if any. +func (client AppsClient) listInstanceProcessesSlotNextResults(ctx context.Context, lastResults ProcessInfoCollection) (result ProcessInfoCollection, err error) { + req, err := lastResults.processInfoCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listInstanceProcessesSlotNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListInstanceProcessesSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listInstanceProcessesSlotNextResults", resp, "Failure sending next results request") + } + result, err = client.ListInstanceProcessesSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "listInstanceProcessesSlotNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListInstanceProcessesSlotComplete enumerates all values, automatically crossing page boundaries as required. +func (client AppsClient) ListInstanceProcessesSlotComplete(ctx context.Context, resourceGroupName string, name string, slot string, instanceID string) (result ProcessInfoCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListInstanceProcessesSlot") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListInstanceProcessesSlot(ctx, resourceGroupName, name, slot, instanceID) + return +} + +// ListInstanceProcessModules list module information for a process by its ID for a specific scaled-out instance in a +// web site. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - site name. +// processID - pID. +// instanceID - ID of a specific scaled-out instance. This is the value of the name property in the JSON +// response from "GET api/sites/{siteName}/instances". +func (client AppsClient) ListInstanceProcessModules(ctx context.Context, resourceGroupName string, name string, processID string, instanceID string) (result ProcessModuleInfoCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListInstanceProcessModules") + defer func() { + sc := -1 + if result.pmic.Response.Response != nil { + sc = result.pmic.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "ListInstanceProcessModules", err.Error()) + } + + result.fn = client.listInstanceProcessModulesNextResults + req, err := client.ListInstanceProcessModulesPreparer(ctx, resourceGroupName, name, processID, instanceID) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListInstanceProcessModules", nil, "Failure preparing request") + return + } + + resp, err := client.ListInstanceProcessModulesSender(req) + if err != nil { + result.pmic.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListInstanceProcessModules", resp, "Failure sending request") + return + } + + result.pmic, err = client.ListInstanceProcessModulesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListInstanceProcessModules", resp, "Failure responding to request") + } + + return +} + +// ListInstanceProcessModulesPreparer prepares the ListInstanceProcessModules request. +func (client AppsClient) ListInstanceProcessModulesPreparer(ctx context.Context, resourceGroupName string, name string, processID string, instanceID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "instanceId": autorest.Encode("path", instanceID), + "name": autorest.Encode("path", name), + "processId": autorest.Encode("path", processID), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/processes/{processId}/modules", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListInstanceProcessModulesSender sends the ListInstanceProcessModules request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListInstanceProcessModulesSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListInstanceProcessModulesResponder handles the response to the ListInstanceProcessModules request. The method always +// closes the http.Response Body. +func (client AppsClient) ListInstanceProcessModulesResponder(resp *http.Response) (result ProcessModuleInfoCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listInstanceProcessModulesNextResults retrieves the next set of results, if any. +func (client AppsClient) listInstanceProcessModulesNextResults(ctx context.Context, lastResults ProcessModuleInfoCollection) (result ProcessModuleInfoCollection, err error) { + req, err := lastResults.processModuleInfoCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listInstanceProcessModulesNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListInstanceProcessModulesSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listInstanceProcessModulesNextResults", resp, "Failure sending next results request") + } + result, err = client.ListInstanceProcessModulesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "listInstanceProcessModulesNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListInstanceProcessModulesComplete enumerates all values, automatically crossing page boundaries as required. +func (client AppsClient) ListInstanceProcessModulesComplete(ctx context.Context, resourceGroupName string, name string, processID string, instanceID string) (result ProcessModuleInfoCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListInstanceProcessModules") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListInstanceProcessModules(ctx, resourceGroupName, name, processID, instanceID) + return +} + +// ListInstanceProcessModulesSlot list module information for a process by its ID for a specific scaled-out instance in +// a web site. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - site name. +// processID - pID. +// slot - name of the deployment slot. If a slot is not specified, the API returns deployments for the +// production slot. +// instanceID - ID of a specific scaled-out instance. This is the value of the name property in the JSON +// response from "GET api/sites/{siteName}/instances". +func (client AppsClient) ListInstanceProcessModulesSlot(ctx context.Context, resourceGroupName string, name string, processID string, slot string, instanceID string) (result ProcessModuleInfoCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListInstanceProcessModulesSlot") + defer func() { + sc := -1 + if result.pmic.Response.Response != nil { + sc = result.pmic.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "ListInstanceProcessModulesSlot", err.Error()) + } + + result.fn = client.listInstanceProcessModulesSlotNextResults + req, err := client.ListInstanceProcessModulesSlotPreparer(ctx, resourceGroupName, name, processID, slot, instanceID) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListInstanceProcessModulesSlot", nil, "Failure preparing request") + return + } + + resp, err := client.ListInstanceProcessModulesSlotSender(req) + if err != nil { + result.pmic.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListInstanceProcessModulesSlot", resp, "Failure sending request") + return + } + + result.pmic, err = client.ListInstanceProcessModulesSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListInstanceProcessModulesSlot", resp, "Failure responding to request") + } + + return +} + +// ListInstanceProcessModulesSlotPreparer prepares the ListInstanceProcessModulesSlot request. +func (client AppsClient) ListInstanceProcessModulesSlotPreparer(ctx context.Context, resourceGroupName string, name string, processID string, slot string, instanceID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "instanceId": autorest.Encode("path", instanceID), + "name": autorest.Encode("path", name), + "processId": autorest.Encode("path", processID), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/processes/{processId}/modules", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListInstanceProcessModulesSlotSender sends the ListInstanceProcessModulesSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListInstanceProcessModulesSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListInstanceProcessModulesSlotResponder handles the response to the ListInstanceProcessModulesSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) ListInstanceProcessModulesSlotResponder(resp *http.Response) (result ProcessModuleInfoCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listInstanceProcessModulesSlotNextResults retrieves the next set of results, if any. +func (client AppsClient) listInstanceProcessModulesSlotNextResults(ctx context.Context, lastResults ProcessModuleInfoCollection) (result ProcessModuleInfoCollection, err error) { + req, err := lastResults.processModuleInfoCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listInstanceProcessModulesSlotNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListInstanceProcessModulesSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listInstanceProcessModulesSlotNextResults", resp, "Failure sending next results request") + } + result, err = client.ListInstanceProcessModulesSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "listInstanceProcessModulesSlotNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListInstanceProcessModulesSlotComplete enumerates all values, automatically crossing page boundaries as required. +func (client AppsClient) ListInstanceProcessModulesSlotComplete(ctx context.Context, resourceGroupName string, name string, processID string, slot string, instanceID string) (result ProcessModuleInfoCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListInstanceProcessModulesSlot") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListInstanceProcessModulesSlot(ctx, resourceGroupName, name, processID, slot, instanceID) + return +} + +// ListInstanceProcessThreads list the threads in a process by its ID for a specific scaled-out instance in a web site. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - site name. +// processID - pID. +// instanceID - ID of a specific scaled-out instance. This is the value of the name property in the JSON +// response from "GET api/sites/{siteName}/instances". +func (client AppsClient) ListInstanceProcessThreads(ctx context.Context, resourceGroupName string, name string, processID string, instanceID string) (result ProcessThreadInfoCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListInstanceProcessThreads") + defer func() { + sc := -1 + if result.ptic.Response.Response != nil { + sc = result.ptic.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "ListInstanceProcessThreads", err.Error()) + } + + result.fn = client.listInstanceProcessThreadsNextResults + req, err := client.ListInstanceProcessThreadsPreparer(ctx, resourceGroupName, name, processID, instanceID) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListInstanceProcessThreads", nil, "Failure preparing request") + return + } + + resp, err := client.ListInstanceProcessThreadsSender(req) + if err != nil { + result.ptic.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListInstanceProcessThreads", resp, "Failure sending request") + return + } + + result.ptic, err = client.ListInstanceProcessThreadsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListInstanceProcessThreads", resp, "Failure responding to request") + } + + return +} + +// ListInstanceProcessThreadsPreparer prepares the ListInstanceProcessThreads request. +func (client AppsClient) ListInstanceProcessThreadsPreparer(ctx context.Context, resourceGroupName string, name string, processID string, instanceID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "instanceId": autorest.Encode("path", instanceID), + "name": autorest.Encode("path", name), + "processId": autorest.Encode("path", processID), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/processes/{processId}/threads", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListInstanceProcessThreadsSender sends the ListInstanceProcessThreads request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListInstanceProcessThreadsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListInstanceProcessThreadsResponder handles the response to the ListInstanceProcessThreads request. The method always +// closes the http.Response Body. +func (client AppsClient) ListInstanceProcessThreadsResponder(resp *http.Response) (result ProcessThreadInfoCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listInstanceProcessThreadsNextResults retrieves the next set of results, if any. +func (client AppsClient) listInstanceProcessThreadsNextResults(ctx context.Context, lastResults ProcessThreadInfoCollection) (result ProcessThreadInfoCollection, err error) { + req, err := lastResults.processThreadInfoCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listInstanceProcessThreadsNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListInstanceProcessThreadsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listInstanceProcessThreadsNextResults", resp, "Failure sending next results request") + } + result, err = client.ListInstanceProcessThreadsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "listInstanceProcessThreadsNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListInstanceProcessThreadsComplete enumerates all values, automatically crossing page boundaries as required. +func (client AppsClient) ListInstanceProcessThreadsComplete(ctx context.Context, resourceGroupName string, name string, processID string, instanceID string) (result ProcessThreadInfoCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListInstanceProcessThreads") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListInstanceProcessThreads(ctx, resourceGroupName, name, processID, instanceID) + return +} + +// ListInstanceProcessThreadsSlot list the threads in a process by its ID for a specific scaled-out instance in a web +// site. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - site name. +// processID - pID. +// slot - name of the deployment slot. If a slot is not specified, the API returns deployments for the +// production slot. +// instanceID - ID of a specific scaled-out instance. This is the value of the name property in the JSON +// response from "GET api/sites/{siteName}/instances". +func (client AppsClient) ListInstanceProcessThreadsSlot(ctx context.Context, resourceGroupName string, name string, processID string, slot string, instanceID string) (result ProcessThreadInfoCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListInstanceProcessThreadsSlot") + defer func() { + sc := -1 + if result.ptic.Response.Response != nil { + sc = result.ptic.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "ListInstanceProcessThreadsSlot", err.Error()) + } + + result.fn = client.listInstanceProcessThreadsSlotNextResults + req, err := client.ListInstanceProcessThreadsSlotPreparer(ctx, resourceGroupName, name, processID, slot, instanceID) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListInstanceProcessThreadsSlot", nil, "Failure preparing request") + return + } + + resp, err := client.ListInstanceProcessThreadsSlotSender(req) + if err != nil { + result.ptic.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListInstanceProcessThreadsSlot", resp, "Failure sending request") + return + } + + result.ptic, err = client.ListInstanceProcessThreadsSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListInstanceProcessThreadsSlot", resp, "Failure responding to request") + } + + return +} + +// ListInstanceProcessThreadsSlotPreparer prepares the ListInstanceProcessThreadsSlot request. +func (client AppsClient) ListInstanceProcessThreadsSlotPreparer(ctx context.Context, resourceGroupName string, name string, processID string, slot string, instanceID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "instanceId": autorest.Encode("path", instanceID), + "name": autorest.Encode("path", name), + "processId": autorest.Encode("path", processID), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/processes/{processId}/threads", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListInstanceProcessThreadsSlotSender sends the ListInstanceProcessThreadsSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListInstanceProcessThreadsSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListInstanceProcessThreadsSlotResponder handles the response to the ListInstanceProcessThreadsSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) ListInstanceProcessThreadsSlotResponder(resp *http.Response) (result ProcessThreadInfoCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listInstanceProcessThreadsSlotNextResults retrieves the next set of results, if any. +func (client AppsClient) listInstanceProcessThreadsSlotNextResults(ctx context.Context, lastResults ProcessThreadInfoCollection) (result ProcessThreadInfoCollection, err error) { + req, err := lastResults.processThreadInfoCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listInstanceProcessThreadsSlotNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListInstanceProcessThreadsSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listInstanceProcessThreadsSlotNextResults", resp, "Failure sending next results request") + } + result, err = client.ListInstanceProcessThreadsSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "listInstanceProcessThreadsSlotNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListInstanceProcessThreadsSlotComplete enumerates all values, automatically crossing page boundaries as required. +func (client AppsClient) ListInstanceProcessThreadsSlotComplete(ctx context.Context, resourceGroupName string, name string, processID string, slot string, instanceID string) (result ProcessThreadInfoCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListInstanceProcessThreadsSlot") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListInstanceProcessThreadsSlot(ctx, resourceGroupName, name, processID, slot, instanceID) + return +} + +// ListMetadata gets the metadata of an app. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +func (client AppsClient) ListMetadata(ctx context.Context, resourceGroupName string, name string) (result StringDictionary, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListMetadata") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "ListMetadata", err.Error()) + } + + req, err := client.ListMetadataPreparer(ctx, resourceGroupName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListMetadata", nil, "Failure preparing request") + return + } + + resp, err := client.ListMetadataSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListMetadata", resp, "Failure sending request") + return + } + + result, err = client.ListMetadataResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListMetadata", resp, "Failure responding to request") + } + + return +} + +// ListMetadataPreparer prepares the ListMetadata request. +func (client AppsClient) ListMetadataPreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/metadata/list", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListMetadataSender sends the ListMetadata request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListMetadataSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListMetadataResponder handles the response to the ListMetadata request. The method always +// closes the http.Response Body. +func (client AppsClient) ListMetadataResponder(resp *http.Response) (result StringDictionary, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListMetadataSlot gets the metadata of an app. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// slot - name of the deployment slot. If a slot is not specified, the API will get the metadata for the +// production slot. +func (client AppsClient) ListMetadataSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result StringDictionary, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListMetadataSlot") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "ListMetadataSlot", err.Error()) + } + + req, err := client.ListMetadataSlotPreparer(ctx, resourceGroupName, name, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListMetadataSlot", nil, "Failure preparing request") + return + } + + resp, err := client.ListMetadataSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListMetadataSlot", resp, "Failure sending request") + return + } + + result, err = client.ListMetadataSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListMetadataSlot", resp, "Failure responding to request") + } + + return +} + +// ListMetadataSlotPreparer prepares the ListMetadataSlot request. +func (client AppsClient) ListMetadataSlotPreparer(ctx context.Context, resourceGroupName string, name string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/metadata/list", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListMetadataSlotSender sends the ListMetadataSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListMetadataSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListMetadataSlotResponder handles the response to the ListMetadataSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) ListMetadataSlotResponder(resp *http.Response) (result StringDictionary, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListMetricDefinitions gets all metric definitions of an app (or deployment slot, if specified). +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +func (client AppsClient) ListMetricDefinitions(ctx context.Context, resourceGroupName string, name string) (result ResourceMetricDefinitionCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListMetricDefinitions") + defer func() { + sc := -1 + if result.rmdc.Response.Response != nil { + sc = result.rmdc.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "ListMetricDefinitions", err.Error()) + } + + result.fn = client.listMetricDefinitionsNextResults + req, err := client.ListMetricDefinitionsPreparer(ctx, resourceGroupName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListMetricDefinitions", nil, "Failure preparing request") + return + } + + resp, err := client.ListMetricDefinitionsSender(req) + if err != nil { + result.rmdc.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListMetricDefinitions", resp, "Failure sending request") + return + } + + result.rmdc, err = client.ListMetricDefinitionsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListMetricDefinitions", resp, "Failure responding to request") + } + + return +} + +// ListMetricDefinitionsPreparer prepares the ListMetricDefinitions request. +func (client AppsClient) ListMetricDefinitionsPreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/metricdefinitions", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListMetricDefinitionsSender sends the ListMetricDefinitions request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListMetricDefinitionsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListMetricDefinitionsResponder handles the response to the ListMetricDefinitions request. The method always +// closes the http.Response Body. +func (client AppsClient) ListMetricDefinitionsResponder(resp *http.Response) (result ResourceMetricDefinitionCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listMetricDefinitionsNextResults retrieves the next set of results, if any. +func (client AppsClient) listMetricDefinitionsNextResults(ctx context.Context, lastResults ResourceMetricDefinitionCollection) (result ResourceMetricDefinitionCollection, err error) { + req, err := lastResults.resourceMetricDefinitionCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listMetricDefinitionsNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListMetricDefinitionsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listMetricDefinitionsNextResults", resp, "Failure sending next results request") + } + result, err = client.ListMetricDefinitionsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "listMetricDefinitionsNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListMetricDefinitionsComplete enumerates all values, automatically crossing page boundaries as required. +func (client AppsClient) ListMetricDefinitionsComplete(ctx context.Context, resourceGroupName string, name string) (result ResourceMetricDefinitionCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListMetricDefinitions") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListMetricDefinitions(ctx, resourceGroupName, name) + return +} + +// ListMetricDefinitionsSlot gets all metric definitions of an app (or deployment slot, if specified). +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// slot - name of the deployment slot. If a slot is not specified, the API will get metric definitions of the +// production slot. +func (client AppsClient) ListMetricDefinitionsSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result ResourceMetricDefinitionCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListMetricDefinitionsSlot") + defer func() { + sc := -1 + if result.rmdc.Response.Response != nil { + sc = result.rmdc.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "ListMetricDefinitionsSlot", err.Error()) + } + + result.fn = client.listMetricDefinitionsSlotNextResults + req, err := client.ListMetricDefinitionsSlotPreparer(ctx, resourceGroupName, name, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListMetricDefinitionsSlot", nil, "Failure preparing request") + return + } + + resp, err := client.ListMetricDefinitionsSlotSender(req) + if err != nil { + result.rmdc.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListMetricDefinitionsSlot", resp, "Failure sending request") + return + } + + result.rmdc, err = client.ListMetricDefinitionsSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListMetricDefinitionsSlot", resp, "Failure responding to request") + } + + return +} + +// ListMetricDefinitionsSlotPreparer prepares the ListMetricDefinitionsSlot request. +func (client AppsClient) ListMetricDefinitionsSlotPreparer(ctx context.Context, resourceGroupName string, name string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/metricdefinitions", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListMetricDefinitionsSlotSender sends the ListMetricDefinitionsSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListMetricDefinitionsSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListMetricDefinitionsSlotResponder handles the response to the ListMetricDefinitionsSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) ListMetricDefinitionsSlotResponder(resp *http.Response) (result ResourceMetricDefinitionCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listMetricDefinitionsSlotNextResults retrieves the next set of results, if any. +func (client AppsClient) listMetricDefinitionsSlotNextResults(ctx context.Context, lastResults ResourceMetricDefinitionCollection) (result ResourceMetricDefinitionCollection, err error) { + req, err := lastResults.resourceMetricDefinitionCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listMetricDefinitionsSlotNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListMetricDefinitionsSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listMetricDefinitionsSlotNextResults", resp, "Failure sending next results request") + } + result, err = client.ListMetricDefinitionsSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "listMetricDefinitionsSlotNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListMetricDefinitionsSlotComplete enumerates all values, automatically crossing page boundaries as required. +func (client AppsClient) ListMetricDefinitionsSlotComplete(ctx context.Context, resourceGroupName string, name string, slot string) (result ResourceMetricDefinitionCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListMetricDefinitionsSlot") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListMetricDefinitionsSlot(ctx, resourceGroupName, name, slot) + return +} + +// ListMetrics gets performance metrics of an app (or deployment slot, if specified). +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// details - specify "true" to include metric details in the response. It is "false" by default. +// filter - return only metrics specified in the filter (using OData syntax). For example: $filter=(name.value +// eq 'Metric1' or name.value eq 'Metric2') and startTime eq 2014-01-01T00:00:00Z and endTime eq +// 2014-12-31T23:59:59Z and timeGrain eq duration'[Hour|Minute|Day]'. +func (client AppsClient) ListMetrics(ctx context.Context, resourceGroupName string, name string, details *bool, filter string) (result ResourceMetricCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListMetrics") + defer func() { + sc := -1 + if result.rmc.Response.Response != nil { + sc = result.rmc.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "ListMetrics", err.Error()) + } + + result.fn = client.listMetricsNextResults + req, err := client.ListMetricsPreparer(ctx, resourceGroupName, name, details, filter) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListMetrics", nil, "Failure preparing request") + return + } + + resp, err := client.ListMetricsSender(req) + if err != nil { + result.rmc.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListMetrics", resp, "Failure sending request") + return + } + + result.rmc, err = client.ListMetricsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListMetrics", resp, "Failure responding to request") + } + + return +} + +// ListMetricsPreparer prepares the ListMetrics request. +func (client AppsClient) ListMetricsPreparer(ctx context.Context, resourceGroupName string, name string, details *bool, filter string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if details != nil { + queryParameters["details"] = autorest.Encode("query", *details) + } + if len(filter) > 0 { + queryParameters["$filter"] = filter + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/metrics", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListMetricsSender sends the ListMetrics request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListMetricsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListMetricsResponder handles the response to the ListMetrics request. The method always +// closes the http.Response Body. +func (client AppsClient) ListMetricsResponder(resp *http.Response) (result ResourceMetricCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listMetricsNextResults retrieves the next set of results, if any. +func (client AppsClient) listMetricsNextResults(ctx context.Context, lastResults ResourceMetricCollection) (result ResourceMetricCollection, err error) { + req, err := lastResults.resourceMetricCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listMetricsNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListMetricsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listMetricsNextResults", resp, "Failure sending next results request") + } + result, err = client.ListMetricsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "listMetricsNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListMetricsComplete enumerates all values, automatically crossing page boundaries as required. +func (client AppsClient) ListMetricsComplete(ctx context.Context, resourceGroupName string, name string, details *bool, filter string) (result ResourceMetricCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListMetrics") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListMetrics(ctx, resourceGroupName, name, details, filter) + return +} + +// ListMetricsSlot gets performance metrics of an app (or deployment slot, if specified). +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// slot - name of the deployment slot. If a slot is not specified, the API will get metrics of the production +// slot. +// details - specify "true" to include metric details in the response. It is "false" by default. +// filter - return only metrics specified in the filter (using OData syntax). For example: $filter=(name.value +// eq 'Metric1' or name.value eq 'Metric2') and startTime eq 2014-01-01T00:00:00Z and endTime eq +// 2014-12-31T23:59:59Z and timeGrain eq duration'[Hour|Minute|Day]'. +func (client AppsClient) ListMetricsSlot(ctx context.Context, resourceGroupName string, name string, slot string, details *bool, filter string) (result ResourceMetricCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListMetricsSlot") + defer func() { + sc := -1 + if result.rmc.Response.Response != nil { + sc = result.rmc.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "ListMetricsSlot", err.Error()) + } + + result.fn = client.listMetricsSlotNextResults + req, err := client.ListMetricsSlotPreparer(ctx, resourceGroupName, name, slot, details, filter) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListMetricsSlot", nil, "Failure preparing request") + return + } + + resp, err := client.ListMetricsSlotSender(req) + if err != nil { + result.rmc.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListMetricsSlot", resp, "Failure sending request") + return + } + + result.rmc, err = client.ListMetricsSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListMetricsSlot", resp, "Failure responding to request") + } + + return +} + +// ListMetricsSlotPreparer prepares the ListMetricsSlot request. +func (client AppsClient) ListMetricsSlotPreparer(ctx context.Context, resourceGroupName string, name string, slot string, details *bool, filter string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if details != nil { + queryParameters["details"] = autorest.Encode("query", *details) + } + if len(filter) > 0 { + queryParameters["$filter"] = filter + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/metrics", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListMetricsSlotSender sends the ListMetricsSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListMetricsSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListMetricsSlotResponder handles the response to the ListMetricsSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) ListMetricsSlotResponder(resp *http.Response) (result ResourceMetricCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listMetricsSlotNextResults retrieves the next set of results, if any. +func (client AppsClient) listMetricsSlotNextResults(ctx context.Context, lastResults ResourceMetricCollection) (result ResourceMetricCollection, err error) { + req, err := lastResults.resourceMetricCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listMetricsSlotNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListMetricsSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listMetricsSlotNextResults", resp, "Failure sending next results request") + } + result, err = client.ListMetricsSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "listMetricsSlotNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListMetricsSlotComplete enumerates all values, automatically crossing page boundaries as required. +func (client AppsClient) ListMetricsSlotComplete(ctx context.Context, resourceGroupName string, name string, slot string, details *bool, filter string) (result ResourceMetricCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListMetricsSlot") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListMetricsSlot(ctx, resourceGroupName, name, slot, details, filter) + return +} + +// ListNetworkFeatures gets all network features used by the app (or deployment slot, if specified). +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// view - the type of view. This can either be "summary" or "detailed". +func (client AppsClient) ListNetworkFeatures(ctx context.Context, resourceGroupName string, name string, view string) (result NetworkFeatures, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListNetworkFeatures") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "ListNetworkFeatures", err.Error()) + } + + req, err := client.ListNetworkFeaturesPreparer(ctx, resourceGroupName, name, view) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListNetworkFeatures", nil, "Failure preparing request") + return + } + + resp, err := client.ListNetworkFeaturesSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListNetworkFeatures", resp, "Failure sending request") + return + } + + result, err = client.ListNetworkFeaturesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListNetworkFeatures", resp, "Failure responding to request") + } + + return +} + +// ListNetworkFeaturesPreparer prepares the ListNetworkFeatures request. +func (client AppsClient) ListNetworkFeaturesPreparer(ctx context.Context, resourceGroupName string, name string, view string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "view": autorest.Encode("path", view), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/networkFeatures/{view}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListNetworkFeaturesSender sends the ListNetworkFeatures request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListNetworkFeaturesSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListNetworkFeaturesResponder handles the response to the ListNetworkFeatures request. The method always +// closes the http.Response Body. +func (client AppsClient) ListNetworkFeaturesResponder(resp *http.Response) (result NetworkFeatures, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListNetworkFeaturesSlot gets all network features used by the app (or deployment slot, if specified). +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// view - the type of view. This can either be "summary" or "detailed". +// slot - name of the deployment slot. If a slot is not specified, the API will get network features for the +// production slot. +func (client AppsClient) ListNetworkFeaturesSlot(ctx context.Context, resourceGroupName string, name string, view string, slot string) (result NetworkFeatures, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListNetworkFeaturesSlot") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "ListNetworkFeaturesSlot", err.Error()) + } + + req, err := client.ListNetworkFeaturesSlotPreparer(ctx, resourceGroupName, name, view, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListNetworkFeaturesSlot", nil, "Failure preparing request") + return + } + + resp, err := client.ListNetworkFeaturesSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListNetworkFeaturesSlot", resp, "Failure sending request") + return + } + + result, err = client.ListNetworkFeaturesSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListNetworkFeaturesSlot", resp, "Failure responding to request") + } + + return +} + +// ListNetworkFeaturesSlotPreparer prepares the ListNetworkFeaturesSlot request. +func (client AppsClient) ListNetworkFeaturesSlotPreparer(ctx context.Context, resourceGroupName string, name string, view string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "view": autorest.Encode("path", view), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/networkFeatures/{view}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListNetworkFeaturesSlotSender sends the ListNetworkFeaturesSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListNetworkFeaturesSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListNetworkFeaturesSlotResponder handles the response to the ListNetworkFeaturesSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) ListNetworkFeaturesSlotResponder(resp *http.Response) (result NetworkFeatures, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListPerfMonCounters gets perfmon counters for web app. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of web app. +// filter - return only usages/metrics specified in the filter. Filter conforms to odata syntax. Example: +// $filter=(startTime eq 2014-01-01T00:00:00Z and endTime eq 2014-12-31T23:59:59Z and timeGrain eq +// duration'[Hour|Minute|Day]'. +func (client AppsClient) ListPerfMonCounters(ctx context.Context, resourceGroupName string, name string, filter string) (result PerfMonCounterCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListPerfMonCounters") + defer func() { + sc := -1 + if result.pmcc.Response.Response != nil { + sc = result.pmcc.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "ListPerfMonCounters", err.Error()) + } + + result.fn = client.listPerfMonCountersNextResults + req, err := client.ListPerfMonCountersPreparer(ctx, resourceGroupName, name, filter) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListPerfMonCounters", nil, "Failure preparing request") + return + } + + resp, err := client.ListPerfMonCountersSender(req) + if err != nil { + result.pmcc.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListPerfMonCounters", resp, "Failure sending request") + return + } + + result.pmcc, err = client.ListPerfMonCountersResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListPerfMonCounters", resp, "Failure responding to request") + } + + return +} + +// ListPerfMonCountersPreparer prepares the ListPerfMonCounters request. +func (client AppsClient) ListPerfMonCountersPreparer(ctx context.Context, resourceGroupName string, name string, filter string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(filter) > 0 { + queryParameters["$filter"] = filter + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/perfcounters", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListPerfMonCountersSender sends the ListPerfMonCounters request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListPerfMonCountersSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListPerfMonCountersResponder handles the response to the ListPerfMonCounters request. The method always +// closes the http.Response Body. +func (client AppsClient) ListPerfMonCountersResponder(resp *http.Response) (result PerfMonCounterCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listPerfMonCountersNextResults retrieves the next set of results, if any. +func (client AppsClient) listPerfMonCountersNextResults(ctx context.Context, lastResults PerfMonCounterCollection) (result PerfMonCounterCollection, err error) { + req, err := lastResults.perfMonCounterCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listPerfMonCountersNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListPerfMonCountersSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listPerfMonCountersNextResults", resp, "Failure sending next results request") + } + result, err = client.ListPerfMonCountersResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "listPerfMonCountersNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListPerfMonCountersComplete enumerates all values, automatically crossing page boundaries as required. +func (client AppsClient) ListPerfMonCountersComplete(ctx context.Context, resourceGroupName string, name string, filter string) (result PerfMonCounterCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListPerfMonCounters") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListPerfMonCounters(ctx, resourceGroupName, name, filter) + return +} + +// ListPerfMonCountersSlot gets perfmon counters for web app. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of web app. +// slot - name of web app slot. If not specified then will default to production slot. +// filter - return only usages/metrics specified in the filter. Filter conforms to odata syntax. Example: +// $filter=(startTime eq 2014-01-01T00:00:00Z and endTime eq 2014-12-31T23:59:59Z and timeGrain eq +// duration'[Hour|Minute|Day]'. +func (client AppsClient) ListPerfMonCountersSlot(ctx context.Context, resourceGroupName string, name string, slot string, filter string) (result PerfMonCounterCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListPerfMonCountersSlot") + defer func() { + sc := -1 + if result.pmcc.Response.Response != nil { + sc = result.pmcc.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "ListPerfMonCountersSlot", err.Error()) + } + + result.fn = client.listPerfMonCountersSlotNextResults + req, err := client.ListPerfMonCountersSlotPreparer(ctx, resourceGroupName, name, slot, filter) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListPerfMonCountersSlot", nil, "Failure preparing request") + return + } + + resp, err := client.ListPerfMonCountersSlotSender(req) + if err != nil { + result.pmcc.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListPerfMonCountersSlot", resp, "Failure sending request") + return + } + + result.pmcc, err = client.ListPerfMonCountersSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListPerfMonCountersSlot", resp, "Failure responding to request") + } + + return +} + +// ListPerfMonCountersSlotPreparer prepares the ListPerfMonCountersSlot request. +func (client AppsClient) ListPerfMonCountersSlotPreparer(ctx context.Context, resourceGroupName string, name string, slot string, filter string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(filter) > 0 { + queryParameters["$filter"] = filter + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/perfcounters", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListPerfMonCountersSlotSender sends the ListPerfMonCountersSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListPerfMonCountersSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListPerfMonCountersSlotResponder handles the response to the ListPerfMonCountersSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) ListPerfMonCountersSlotResponder(resp *http.Response) (result PerfMonCounterCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listPerfMonCountersSlotNextResults retrieves the next set of results, if any. +func (client AppsClient) listPerfMonCountersSlotNextResults(ctx context.Context, lastResults PerfMonCounterCollection) (result PerfMonCounterCollection, err error) { + req, err := lastResults.perfMonCounterCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listPerfMonCountersSlotNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListPerfMonCountersSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listPerfMonCountersSlotNextResults", resp, "Failure sending next results request") + } + result, err = client.ListPerfMonCountersSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "listPerfMonCountersSlotNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListPerfMonCountersSlotComplete enumerates all values, automatically crossing page boundaries as required. +func (client AppsClient) ListPerfMonCountersSlotComplete(ctx context.Context, resourceGroupName string, name string, slot string, filter string) (result PerfMonCounterCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListPerfMonCountersSlot") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListPerfMonCountersSlot(ctx, resourceGroupName, name, slot, filter) + return +} + +// ListPremierAddOns gets the premier add-ons of an app. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +func (client AppsClient) ListPremierAddOns(ctx context.Context, resourceGroupName string, name string) (result PremierAddOn, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListPremierAddOns") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "ListPremierAddOns", err.Error()) + } + + req, err := client.ListPremierAddOnsPreparer(ctx, resourceGroupName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListPremierAddOns", nil, "Failure preparing request") + return + } + + resp, err := client.ListPremierAddOnsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListPremierAddOns", resp, "Failure sending request") + return + } + + result, err = client.ListPremierAddOnsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListPremierAddOns", resp, "Failure responding to request") + } + + return +} + +// ListPremierAddOnsPreparer prepares the ListPremierAddOns request. +func (client AppsClient) ListPremierAddOnsPreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/premieraddons", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListPremierAddOnsSender sends the ListPremierAddOns request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListPremierAddOnsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListPremierAddOnsResponder handles the response to the ListPremierAddOns request. The method always +// closes the http.Response Body. +func (client AppsClient) ListPremierAddOnsResponder(resp *http.Response) (result PremierAddOn, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListPremierAddOnsSlot gets the premier add-ons of an app. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// slot - name of the deployment slot. If a slot is not specified, the API will get the premier add-ons for the +// production slot. +func (client AppsClient) ListPremierAddOnsSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result PremierAddOn, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListPremierAddOnsSlot") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "ListPremierAddOnsSlot", err.Error()) + } + + req, err := client.ListPremierAddOnsSlotPreparer(ctx, resourceGroupName, name, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListPremierAddOnsSlot", nil, "Failure preparing request") + return + } + + resp, err := client.ListPremierAddOnsSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListPremierAddOnsSlot", resp, "Failure sending request") + return + } + + result, err = client.ListPremierAddOnsSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListPremierAddOnsSlot", resp, "Failure responding to request") + } + + return +} + +// ListPremierAddOnsSlotPreparer prepares the ListPremierAddOnsSlot request. +func (client AppsClient) ListPremierAddOnsSlotPreparer(ctx context.Context, resourceGroupName string, name string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/premieraddons", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListPremierAddOnsSlotSender sends the ListPremierAddOnsSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListPremierAddOnsSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListPremierAddOnsSlotResponder handles the response to the ListPremierAddOnsSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) ListPremierAddOnsSlotResponder(resp *http.Response) (result PremierAddOn, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListProcesses get list of processes for a web site, or a deployment slot, or for a specific scaled-out instance in a +// web site. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - site name. +func (client AppsClient) ListProcesses(ctx context.Context, resourceGroupName string, name string) (result ProcessInfoCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListProcesses") + defer func() { + sc := -1 + if result.pic.Response.Response != nil { + sc = result.pic.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "ListProcesses", err.Error()) + } + + result.fn = client.listProcessesNextResults + req, err := client.ListProcessesPreparer(ctx, resourceGroupName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListProcesses", nil, "Failure preparing request") + return + } + + resp, err := client.ListProcessesSender(req) + if err != nil { + result.pic.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListProcesses", resp, "Failure sending request") + return + } + + result.pic, err = client.ListProcessesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListProcesses", resp, "Failure responding to request") + } + + return +} + +// ListProcessesPreparer prepares the ListProcesses request. +func (client AppsClient) ListProcessesPreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/processes", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListProcessesSender sends the ListProcesses request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListProcessesSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListProcessesResponder handles the response to the ListProcesses request. The method always +// closes the http.Response Body. +func (client AppsClient) ListProcessesResponder(resp *http.Response) (result ProcessInfoCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listProcessesNextResults retrieves the next set of results, if any. +func (client AppsClient) listProcessesNextResults(ctx context.Context, lastResults ProcessInfoCollection) (result ProcessInfoCollection, err error) { + req, err := lastResults.processInfoCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listProcessesNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListProcessesSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listProcessesNextResults", resp, "Failure sending next results request") + } + result, err = client.ListProcessesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "listProcessesNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListProcessesComplete enumerates all values, automatically crossing page boundaries as required. +func (client AppsClient) ListProcessesComplete(ctx context.Context, resourceGroupName string, name string) (result ProcessInfoCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListProcesses") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListProcesses(ctx, resourceGroupName, name) + return +} + +// ListProcessesSlot get list of processes for a web site, or a deployment slot, or for a specific scaled-out instance +// in a web site. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - site name. +// slot - name of the deployment slot. If a slot is not specified, the API returns deployments for the +// production slot. +func (client AppsClient) ListProcessesSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result ProcessInfoCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListProcessesSlot") + defer func() { + sc := -1 + if result.pic.Response.Response != nil { + sc = result.pic.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "ListProcessesSlot", err.Error()) + } + + result.fn = client.listProcessesSlotNextResults + req, err := client.ListProcessesSlotPreparer(ctx, resourceGroupName, name, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListProcessesSlot", nil, "Failure preparing request") + return + } + + resp, err := client.ListProcessesSlotSender(req) + if err != nil { + result.pic.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListProcessesSlot", resp, "Failure sending request") + return + } + + result.pic, err = client.ListProcessesSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListProcessesSlot", resp, "Failure responding to request") + } + + return +} + +// ListProcessesSlotPreparer prepares the ListProcessesSlot request. +func (client AppsClient) ListProcessesSlotPreparer(ctx context.Context, resourceGroupName string, name string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/processes", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListProcessesSlotSender sends the ListProcessesSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListProcessesSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListProcessesSlotResponder handles the response to the ListProcessesSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) ListProcessesSlotResponder(resp *http.Response) (result ProcessInfoCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listProcessesSlotNextResults retrieves the next set of results, if any. +func (client AppsClient) listProcessesSlotNextResults(ctx context.Context, lastResults ProcessInfoCollection) (result ProcessInfoCollection, err error) { + req, err := lastResults.processInfoCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listProcessesSlotNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListProcessesSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listProcessesSlotNextResults", resp, "Failure sending next results request") + } + result, err = client.ListProcessesSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "listProcessesSlotNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListProcessesSlotComplete enumerates all values, automatically crossing page boundaries as required. +func (client AppsClient) ListProcessesSlotComplete(ctx context.Context, resourceGroupName string, name string, slot string) (result ProcessInfoCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListProcessesSlot") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListProcessesSlot(ctx, resourceGroupName, name, slot) + return +} + +// ListProcessModules list module information for a process by its ID for a specific scaled-out instance in a web site. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - site name. +// processID - pID. +func (client AppsClient) ListProcessModules(ctx context.Context, resourceGroupName string, name string, processID string) (result ProcessModuleInfoCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListProcessModules") + defer func() { + sc := -1 + if result.pmic.Response.Response != nil { + sc = result.pmic.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "ListProcessModules", err.Error()) + } + + result.fn = client.listProcessModulesNextResults + req, err := client.ListProcessModulesPreparer(ctx, resourceGroupName, name, processID) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListProcessModules", nil, "Failure preparing request") + return + } + + resp, err := client.ListProcessModulesSender(req) + if err != nil { + result.pmic.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListProcessModules", resp, "Failure sending request") + return + } + + result.pmic, err = client.ListProcessModulesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListProcessModules", resp, "Failure responding to request") + } + + return +} + +// ListProcessModulesPreparer prepares the ListProcessModules request. +func (client AppsClient) ListProcessModulesPreparer(ctx context.Context, resourceGroupName string, name string, processID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "processId": autorest.Encode("path", processID), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/processes/{processId}/modules", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListProcessModulesSender sends the ListProcessModules request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListProcessModulesSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListProcessModulesResponder handles the response to the ListProcessModules request. The method always +// closes the http.Response Body. +func (client AppsClient) ListProcessModulesResponder(resp *http.Response) (result ProcessModuleInfoCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listProcessModulesNextResults retrieves the next set of results, if any. +func (client AppsClient) listProcessModulesNextResults(ctx context.Context, lastResults ProcessModuleInfoCollection) (result ProcessModuleInfoCollection, err error) { + req, err := lastResults.processModuleInfoCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listProcessModulesNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListProcessModulesSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listProcessModulesNextResults", resp, "Failure sending next results request") + } + result, err = client.ListProcessModulesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "listProcessModulesNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListProcessModulesComplete enumerates all values, automatically crossing page boundaries as required. +func (client AppsClient) ListProcessModulesComplete(ctx context.Context, resourceGroupName string, name string, processID string) (result ProcessModuleInfoCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListProcessModules") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListProcessModules(ctx, resourceGroupName, name, processID) + return +} + +// ListProcessModulesSlot list module information for a process by its ID for a specific scaled-out instance in a web +// site. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - site name. +// processID - pID. +// slot - name of the deployment slot. If a slot is not specified, the API returns deployments for the +// production slot. +func (client AppsClient) ListProcessModulesSlot(ctx context.Context, resourceGroupName string, name string, processID string, slot string) (result ProcessModuleInfoCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListProcessModulesSlot") + defer func() { + sc := -1 + if result.pmic.Response.Response != nil { + sc = result.pmic.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "ListProcessModulesSlot", err.Error()) + } + + result.fn = client.listProcessModulesSlotNextResults + req, err := client.ListProcessModulesSlotPreparer(ctx, resourceGroupName, name, processID, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListProcessModulesSlot", nil, "Failure preparing request") + return + } + + resp, err := client.ListProcessModulesSlotSender(req) + if err != nil { + result.pmic.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListProcessModulesSlot", resp, "Failure sending request") + return + } + + result.pmic, err = client.ListProcessModulesSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListProcessModulesSlot", resp, "Failure responding to request") + } + + return +} + +// ListProcessModulesSlotPreparer prepares the ListProcessModulesSlot request. +func (client AppsClient) ListProcessModulesSlotPreparer(ctx context.Context, resourceGroupName string, name string, processID string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "processId": autorest.Encode("path", processID), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/processes/{processId}/modules", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListProcessModulesSlotSender sends the ListProcessModulesSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListProcessModulesSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListProcessModulesSlotResponder handles the response to the ListProcessModulesSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) ListProcessModulesSlotResponder(resp *http.Response) (result ProcessModuleInfoCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listProcessModulesSlotNextResults retrieves the next set of results, if any. +func (client AppsClient) listProcessModulesSlotNextResults(ctx context.Context, lastResults ProcessModuleInfoCollection) (result ProcessModuleInfoCollection, err error) { + req, err := lastResults.processModuleInfoCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listProcessModulesSlotNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListProcessModulesSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listProcessModulesSlotNextResults", resp, "Failure sending next results request") + } + result, err = client.ListProcessModulesSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "listProcessModulesSlotNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListProcessModulesSlotComplete enumerates all values, automatically crossing page boundaries as required. +func (client AppsClient) ListProcessModulesSlotComplete(ctx context.Context, resourceGroupName string, name string, processID string, slot string) (result ProcessModuleInfoCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListProcessModulesSlot") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListProcessModulesSlot(ctx, resourceGroupName, name, processID, slot) + return +} + +// ListProcessThreads list the threads in a process by its ID for a specific scaled-out instance in a web site. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - site name. +// processID - pID. +func (client AppsClient) ListProcessThreads(ctx context.Context, resourceGroupName string, name string, processID string) (result ProcessThreadInfoCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListProcessThreads") + defer func() { + sc := -1 + if result.ptic.Response.Response != nil { + sc = result.ptic.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "ListProcessThreads", err.Error()) + } + + result.fn = client.listProcessThreadsNextResults + req, err := client.ListProcessThreadsPreparer(ctx, resourceGroupName, name, processID) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListProcessThreads", nil, "Failure preparing request") + return + } + + resp, err := client.ListProcessThreadsSender(req) + if err != nil { + result.ptic.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListProcessThreads", resp, "Failure sending request") + return + } + + result.ptic, err = client.ListProcessThreadsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListProcessThreads", resp, "Failure responding to request") + } + + return +} + +// ListProcessThreadsPreparer prepares the ListProcessThreads request. +func (client AppsClient) ListProcessThreadsPreparer(ctx context.Context, resourceGroupName string, name string, processID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "processId": autorest.Encode("path", processID), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/processes/{processId}/threads", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListProcessThreadsSender sends the ListProcessThreads request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListProcessThreadsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListProcessThreadsResponder handles the response to the ListProcessThreads request. The method always +// closes the http.Response Body. +func (client AppsClient) ListProcessThreadsResponder(resp *http.Response) (result ProcessThreadInfoCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listProcessThreadsNextResults retrieves the next set of results, if any. +func (client AppsClient) listProcessThreadsNextResults(ctx context.Context, lastResults ProcessThreadInfoCollection) (result ProcessThreadInfoCollection, err error) { + req, err := lastResults.processThreadInfoCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listProcessThreadsNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListProcessThreadsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listProcessThreadsNextResults", resp, "Failure sending next results request") + } + result, err = client.ListProcessThreadsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "listProcessThreadsNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListProcessThreadsComplete enumerates all values, automatically crossing page boundaries as required. +func (client AppsClient) ListProcessThreadsComplete(ctx context.Context, resourceGroupName string, name string, processID string) (result ProcessThreadInfoCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListProcessThreads") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListProcessThreads(ctx, resourceGroupName, name, processID) + return +} + +// ListProcessThreadsSlot list the threads in a process by its ID for a specific scaled-out instance in a web site. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - site name. +// processID - pID. +// slot - name of the deployment slot. If a slot is not specified, the API returns deployments for the +// production slot. +func (client AppsClient) ListProcessThreadsSlot(ctx context.Context, resourceGroupName string, name string, processID string, slot string) (result ProcessThreadInfoCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListProcessThreadsSlot") + defer func() { + sc := -1 + if result.ptic.Response.Response != nil { + sc = result.ptic.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "ListProcessThreadsSlot", err.Error()) + } + + result.fn = client.listProcessThreadsSlotNextResults + req, err := client.ListProcessThreadsSlotPreparer(ctx, resourceGroupName, name, processID, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListProcessThreadsSlot", nil, "Failure preparing request") + return + } + + resp, err := client.ListProcessThreadsSlotSender(req) + if err != nil { + result.ptic.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListProcessThreadsSlot", resp, "Failure sending request") + return + } + + result.ptic, err = client.ListProcessThreadsSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListProcessThreadsSlot", resp, "Failure responding to request") + } + + return +} + +// ListProcessThreadsSlotPreparer prepares the ListProcessThreadsSlot request. +func (client AppsClient) ListProcessThreadsSlotPreparer(ctx context.Context, resourceGroupName string, name string, processID string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "processId": autorest.Encode("path", processID), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/processes/{processId}/threads", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListProcessThreadsSlotSender sends the ListProcessThreadsSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListProcessThreadsSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListProcessThreadsSlotResponder handles the response to the ListProcessThreadsSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) ListProcessThreadsSlotResponder(resp *http.Response) (result ProcessThreadInfoCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listProcessThreadsSlotNextResults retrieves the next set of results, if any. +func (client AppsClient) listProcessThreadsSlotNextResults(ctx context.Context, lastResults ProcessThreadInfoCollection) (result ProcessThreadInfoCollection, err error) { + req, err := lastResults.processThreadInfoCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listProcessThreadsSlotNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListProcessThreadsSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listProcessThreadsSlotNextResults", resp, "Failure sending next results request") + } + result, err = client.ListProcessThreadsSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "listProcessThreadsSlotNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListProcessThreadsSlotComplete enumerates all values, automatically crossing page boundaries as required. +func (client AppsClient) ListProcessThreadsSlotComplete(ctx context.Context, resourceGroupName string, name string, processID string, slot string) (result ProcessThreadInfoCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListProcessThreadsSlot") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListProcessThreadsSlot(ctx, resourceGroupName, name, processID, slot) + return +} + +// ListPublicCertificates get public certificates for an app or a deployment slot. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +func (client AppsClient) ListPublicCertificates(ctx context.Context, resourceGroupName string, name string) (result PublicCertificateCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListPublicCertificates") + defer func() { + sc := -1 + if result.pcc.Response.Response != nil { + sc = result.pcc.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "ListPublicCertificates", err.Error()) + } + + result.fn = client.listPublicCertificatesNextResults + req, err := client.ListPublicCertificatesPreparer(ctx, resourceGroupName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListPublicCertificates", nil, "Failure preparing request") + return + } + + resp, err := client.ListPublicCertificatesSender(req) + if err != nil { + result.pcc.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListPublicCertificates", resp, "Failure sending request") + return + } + + result.pcc, err = client.ListPublicCertificatesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListPublicCertificates", resp, "Failure responding to request") + } + + return +} + +// ListPublicCertificatesPreparer prepares the ListPublicCertificates request. +func (client AppsClient) ListPublicCertificatesPreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/publicCertificates", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListPublicCertificatesSender sends the ListPublicCertificates request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListPublicCertificatesSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListPublicCertificatesResponder handles the response to the ListPublicCertificates request. The method always +// closes the http.Response Body. +func (client AppsClient) ListPublicCertificatesResponder(resp *http.Response) (result PublicCertificateCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listPublicCertificatesNextResults retrieves the next set of results, if any. +func (client AppsClient) listPublicCertificatesNextResults(ctx context.Context, lastResults PublicCertificateCollection) (result PublicCertificateCollection, err error) { + req, err := lastResults.publicCertificateCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listPublicCertificatesNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListPublicCertificatesSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listPublicCertificatesNextResults", resp, "Failure sending next results request") + } + result, err = client.ListPublicCertificatesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "listPublicCertificatesNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListPublicCertificatesComplete enumerates all values, automatically crossing page boundaries as required. +func (client AppsClient) ListPublicCertificatesComplete(ctx context.Context, resourceGroupName string, name string) (result PublicCertificateCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListPublicCertificates") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListPublicCertificates(ctx, resourceGroupName, name) + return +} + +// ListPublicCertificatesSlot get public certificates for an app or a deployment slot. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// slot - name of the deployment slot. If a slot is not specified, the API gets hostname bindings for the +// production slot. +func (client AppsClient) ListPublicCertificatesSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result PublicCertificateCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListPublicCertificatesSlot") + defer func() { + sc := -1 + if result.pcc.Response.Response != nil { + sc = result.pcc.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "ListPublicCertificatesSlot", err.Error()) + } + + result.fn = client.listPublicCertificatesSlotNextResults + req, err := client.ListPublicCertificatesSlotPreparer(ctx, resourceGroupName, name, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListPublicCertificatesSlot", nil, "Failure preparing request") + return + } + + resp, err := client.ListPublicCertificatesSlotSender(req) + if err != nil { + result.pcc.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListPublicCertificatesSlot", resp, "Failure sending request") + return + } + + result.pcc, err = client.ListPublicCertificatesSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListPublicCertificatesSlot", resp, "Failure responding to request") + } + + return +} + +// ListPublicCertificatesSlotPreparer prepares the ListPublicCertificatesSlot request. +func (client AppsClient) ListPublicCertificatesSlotPreparer(ctx context.Context, resourceGroupName string, name string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/publicCertificates", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListPublicCertificatesSlotSender sends the ListPublicCertificatesSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListPublicCertificatesSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListPublicCertificatesSlotResponder handles the response to the ListPublicCertificatesSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) ListPublicCertificatesSlotResponder(resp *http.Response) (result PublicCertificateCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listPublicCertificatesSlotNextResults retrieves the next set of results, if any. +func (client AppsClient) listPublicCertificatesSlotNextResults(ctx context.Context, lastResults PublicCertificateCollection) (result PublicCertificateCollection, err error) { + req, err := lastResults.publicCertificateCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listPublicCertificatesSlotNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListPublicCertificatesSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listPublicCertificatesSlotNextResults", resp, "Failure sending next results request") + } + result, err = client.ListPublicCertificatesSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "listPublicCertificatesSlotNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListPublicCertificatesSlotComplete enumerates all values, automatically crossing page boundaries as required. +func (client AppsClient) ListPublicCertificatesSlotComplete(ctx context.Context, resourceGroupName string, name string, slot string) (result PublicCertificateCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListPublicCertificatesSlot") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListPublicCertificatesSlot(ctx, resourceGroupName, name, slot) + return +} + +// ListPublishingCredentials gets the Git/FTP publishing credentials of an app. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +func (client AppsClient) ListPublishingCredentials(ctx context.Context, resourceGroupName string, name string) (result AppsListPublishingCredentialsFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListPublishingCredentials") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "ListPublishingCredentials", err.Error()) + } + + req, err := client.ListPublishingCredentialsPreparer(ctx, resourceGroupName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListPublishingCredentials", nil, "Failure preparing request") + return + } + + result, err = client.ListPublishingCredentialsSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListPublishingCredentials", result.Response(), "Failure sending request") + return + } + + return +} + +// ListPublishingCredentialsPreparer prepares the ListPublishingCredentials request. +func (client AppsClient) ListPublishingCredentialsPreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/publishingcredentials/list", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListPublishingCredentialsSender sends the ListPublishingCredentials request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListPublishingCredentialsSender(req *http.Request) (future AppsListPublishingCredentialsFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// ListPublishingCredentialsResponder handles the response to the ListPublishingCredentials request. The method always +// closes the http.Response Body. +func (client AppsClient) ListPublishingCredentialsResponder(resp *http.Response) (result User, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListPublishingCredentialsSlot gets the Git/FTP publishing credentials of an app. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// slot - name of the deployment slot. If a slot is not specified, the API will get the publishing credentials +// for the production slot. +func (client AppsClient) ListPublishingCredentialsSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result AppsListPublishingCredentialsSlotFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListPublishingCredentialsSlot") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "ListPublishingCredentialsSlot", err.Error()) + } + + req, err := client.ListPublishingCredentialsSlotPreparer(ctx, resourceGroupName, name, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListPublishingCredentialsSlot", nil, "Failure preparing request") + return + } + + result, err = client.ListPublishingCredentialsSlotSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListPublishingCredentialsSlot", result.Response(), "Failure sending request") + return + } + + return +} + +// ListPublishingCredentialsSlotPreparer prepares the ListPublishingCredentialsSlot request. +func (client AppsClient) ListPublishingCredentialsSlotPreparer(ctx context.Context, resourceGroupName string, name string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/publishingcredentials/list", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListPublishingCredentialsSlotSender sends the ListPublishingCredentialsSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListPublishingCredentialsSlotSender(req *http.Request) (future AppsListPublishingCredentialsSlotFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// ListPublishingCredentialsSlotResponder handles the response to the ListPublishingCredentialsSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) ListPublishingCredentialsSlotResponder(resp *http.Response) (result User, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListPublishingProfileXMLWithSecrets gets the publishing profile for an app (or deployment slot, if specified). +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// publishingProfileOptions - specifies publishingProfileOptions for publishing profile. For example, use +// {"format": "FileZilla3"} to get a FileZilla publishing profile. +func (client AppsClient) ListPublishingProfileXMLWithSecrets(ctx context.Context, resourceGroupName string, name string, publishingProfileOptions CsmPublishingProfileOptions) (result ReadCloser, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListPublishingProfileXMLWithSecrets") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "ListPublishingProfileXMLWithSecrets", err.Error()) + } + + req, err := client.ListPublishingProfileXMLWithSecretsPreparer(ctx, resourceGroupName, name, publishingProfileOptions) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListPublishingProfileXMLWithSecrets", nil, "Failure preparing request") + return + } + + resp, err := client.ListPublishingProfileXMLWithSecretsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListPublishingProfileXMLWithSecrets", resp, "Failure sending request") + return + } + + result, err = client.ListPublishingProfileXMLWithSecretsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListPublishingProfileXMLWithSecrets", resp, "Failure responding to request") + } + + return +} + +// ListPublishingProfileXMLWithSecretsPreparer prepares the ListPublishingProfileXMLWithSecrets request. +func (client AppsClient) ListPublishingProfileXMLWithSecretsPreparer(ctx context.Context, resourceGroupName string, name string, publishingProfileOptions CsmPublishingProfileOptions) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/publishxml", pathParameters), + autorest.WithJSON(publishingProfileOptions), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListPublishingProfileXMLWithSecretsSender sends the ListPublishingProfileXMLWithSecrets request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListPublishingProfileXMLWithSecretsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListPublishingProfileXMLWithSecretsResponder handles the response to the ListPublishingProfileXMLWithSecrets request. The method always +// closes the http.Response Body. +func (client AppsClient) ListPublishingProfileXMLWithSecretsResponder(resp *http.Response) (result ReadCloser, err error) { + result.Value = &resp.Body + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK)) + result.Response = autorest.Response{Response: resp} + return +} + +// ListPublishingProfileXMLWithSecretsSlot gets the publishing profile for an app (or deployment slot, if specified). +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// publishingProfileOptions - specifies publishingProfileOptions for publishing profile. For example, use +// {"format": "FileZilla3"} to get a FileZilla publishing profile. +// slot - name of the deployment slot. If a slot is not specified, the API will get the publishing profile for +// the production slot. +func (client AppsClient) ListPublishingProfileXMLWithSecretsSlot(ctx context.Context, resourceGroupName string, name string, publishingProfileOptions CsmPublishingProfileOptions, slot string) (result ReadCloser, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListPublishingProfileXMLWithSecretsSlot") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "ListPublishingProfileXMLWithSecretsSlot", err.Error()) + } + + req, err := client.ListPublishingProfileXMLWithSecretsSlotPreparer(ctx, resourceGroupName, name, publishingProfileOptions, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListPublishingProfileXMLWithSecretsSlot", nil, "Failure preparing request") + return + } + + resp, err := client.ListPublishingProfileXMLWithSecretsSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListPublishingProfileXMLWithSecretsSlot", resp, "Failure sending request") + return + } + + result, err = client.ListPublishingProfileXMLWithSecretsSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListPublishingProfileXMLWithSecretsSlot", resp, "Failure responding to request") + } + + return +} + +// ListPublishingProfileXMLWithSecretsSlotPreparer prepares the ListPublishingProfileXMLWithSecretsSlot request. +func (client AppsClient) ListPublishingProfileXMLWithSecretsSlotPreparer(ctx context.Context, resourceGroupName string, name string, publishingProfileOptions CsmPublishingProfileOptions, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/publishxml", pathParameters), + autorest.WithJSON(publishingProfileOptions), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListPublishingProfileXMLWithSecretsSlotSender sends the ListPublishingProfileXMLWithSecretsSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListPublishingProfileXMLWithSecretsSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListPublishingProfileXMLWithSecretsSlotResponder handles the response to the ListPublishingProfileXMLWithSecretsSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) ListPublishingProfileXMLWithSecretsSlotResponder(resp *http.Response) (result ReadCloser, err error) { + result.Value = &resp.Body + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK)) + result.Response = autorest.Response{Response: resp} + return +} + +// ListRelayServiceConnections gets hybrid connections configured for an app (or deployment slot, if specified). +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +func (client AppsClient) ListRelayServiceConnections(ctx context.Context, resourceGroupName string, name string) (result RelayServiceConnectionEntity, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListRelayServiceConnections") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "ListRelayServiceConnections", err.Error()) + } + + req, err := client.ListRelayServiceConnectionsPreparer(ctx, resourceGroupName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListRelayServiceConnections", nil, "Failure preparing request") + return + } + + resp, err := client.ListRelayServiceConnectionsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListRelayServiceConnections", resp, "Failure sending request") + return + } + + result, err = client.ListRelayServiceConnectionsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListRelayServiceConnections", resp, "Failure responding to request") + } + + return +} + +// ListRelayServiceConnectionsPreparer prepares the ListRelayServiceConnections request. +func (client AppsClient) ListRelayServiceConnectionsPreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridconnection", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListRelayServiceConnectionsSender sends the ListRelayServiceConnections request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListRelayServiceConnectionsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListRelayServiceConnectionsResponder handles the response to the ListRelayServiceConnections request. The method always +// closes the http.Response Body. +func (client AppsClient) ListRelayServiceConnectionsResponder(resp *http.Response) (result RelayServiceConnectionEntity, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListRelayServiceConnectionsSlot gets hybrid connections configured for an app (or deployment slot, if specified). +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// slot - name of the deployment slot. If a slot is not specified, the API will get hybrid connections for the +// production slot. +func (client AppsClient) ListRelayServiceConnectionsSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result RelayServiceConnectionEntity, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListRelayServiceConnectionsSlot") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "ListRelayServiceConnectionsSlot", err.Error()) + } + + req, err := client.ListRelayServiceConnectionsSlotPreparer(ctx, resourceGroupName, name, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListRelayServiceConnectionsSlot", nil, "Failure preparing request") + return + } + + resp, err := client.ListRelayServiceConnectionsSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListRelayServiceConnectionsSlot", resp, "Failure sending request") + return + } + + result, err = client.ListRelayServiceConnectionsSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListRelayServiceConnectionsSlot", resp, "Failure responding to request") + } + + return +} + +// ListRelayServiceConnectionsSlotPreparer prepares the ListRelayServiceConnectionsSlot request. +func (client AppsClient) ListRelayServiceConnectionsSlotPreparer(ctx context.Context, resourceGroupName string, name string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridconnection", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListRelayServiceConnectionsSlotSender sends the ListRelayServiceConnectionsSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListRelayServiceConnectionsSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListRelayServiceConnectionsSlotResponder handles the response to the ListRelayServiceConnectionsSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) ListRelayServiceConnectionsSlotResponder(resp *http.Response) (result RelayServiceConnectionEntity, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListSiteExtensions get list of siteextensions for a web site, or a deployment slot. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - site name. +func (client AppsClient) ListSiteExtensions(ctx context.Context, resourceGroupName string, name string) (result SiteExtensionInfoCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListSiteExtensions") + defer func() { + sc := -1 + if result.seic.Response.Response != nil { + sc = result.seic.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "ListSiteExtensions", err.Error()) + } + + result.fn = client.listSiteExtensionsNextResults + req, err := client.ListSiteExtensionsPreparer(ctx, resourceGroupName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListSiteExtensions", nil, "Failure preparing request") + return + } + + resp, err := client.ListSiteExtensionsSender(req) + if err != nil { + result.seic.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListSiteExtensions", resp, "Failure sending request") + return + } + + result.seic, err = client.ListSiteExtensionsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListSiteExtensions", resp, "Failure responding to request") + } + + return +} + +// ListSiteExtensionsPreparer prepares the ListSiteExtensions request. +func (client AppsClient) ListSiteExtensionsPreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/siteextensions", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSiteExtensionsSender sends the ListSiteExtensions request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListSiteExtensionsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListSiteExtensionsResponder handles the response to the ListSiteExtensions request. The method always +// closes the http.Response Body. +func (client AppsClient) ListSiteExtensionsResponder(resp *http.Response) (result SiteExtensionInfoCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listSiteExtensionsNextResults retrieves the next set of results, if any. +func (client AppsClient) listSiteExtensionsNextResults(ctx context.Context, lastResults SiteExtensionInfoCollection) (result SiteExtensionInfoCollection, err error) { + req, err := lastResults.siteExtensionInfoCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listSiteExtensionsNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSiteExtensionsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listSiteExtensionsNextResults", resp, "Failure sending next results request") + } + result, err = client.ListSiteExtensionsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "listSiteExtensionsNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListSiteExtensionsComplete enumerates all values, automatically crossing page boundaries as required. +func (client AppsClient) ListSiteExtensionsComplete(ctx context.Context, resourceGroupName string, name string) (result SiteExtensionInfoCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListSiteExtensions") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListSiteExtensions(ctx, resourceGroupName, name) + return +} + +// ListSiteExtensionsSlot get list of siteextensions for a web site, or a deployment slot. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - site name. +// slot - name of the deployment slot. If a slot is not specified, the API deletes a deployment for the +// production slot. +func (client AppsClient) ListSiteExtensionsSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result SiteExtensionInfoCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListSiteExtensionsSlot") + defer func() { + sc := -1 + if result.seic.Response.Response != nil { + sc = result.seic.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "ListSiteExtensionsSlot", err.Error()) + } + + result.fn = client.listSiteExtensionsSlotNextResults + req, err := client.ListSiteExtensionsSlotPreparer(ctx, resourceGroupName, name, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListSiteExtensionsSlot", nil, "Failure preparing request") + return + } + + resp, err := client.ListSiteExtensionsSlotSender(req) + if err != nil { + result.seic.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListSiteExtensionsSlot", resp, "Failure sending request") + return + } + + result.seic, err = client.ListSiteExtensionsSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListSiteExtensionsSlot", resp, "Failure responding to request") + } + + return +} + +// ListSiteExtensionsSlotPreparer prepares the ListSiteExtensionsSlot request. +func (client AppsClient) ListSiteExtensionsSlotPreparer(ctx context.Context, resourceGroupName string, name string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/siteextensions", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSiteExtensionsSlotSender sends the ListSiteExtensionsSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListSiteExtensionsSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListSiteExtensionsSlotResponder handles the response to the ListSiteExtensionsSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) ListSiteExtensionsSlotResponder(resp *http.Response) (result SiteExtensionInfoCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listSiteExtensionsSlotNextResults retrieves the next set of results, if any. +func (client AppsClient) listSiteExtensionsSlotNextResults(ctx context.Context, lastResults SiteExtensionInfoCollection) (result SiteExtensionInfoCollection, err error) { + req, err := lastResults.siteExtensionInfoCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listSiteExtensionsSlotNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSiteExtensionsSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listSiteExtensionsSlotNextResults", resp, "Failure sending next results request") + } + result, err = client.ListSiteExtensionsSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "listSiteExtensionsSlotNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListSiteExtensionsSlotComplete enumerates all values, automatically crossing page boundaries as required. +func (client AppsClient) ListSiteExtensionsSlotComplete(ctx context.Context, resourceGroupName string, name string, slot string) (result SiteExtensionInfoCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListSiteExtensionsSlot") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListSiteExtensionsSlot(ctx, resourceGroupName, name, slot) + return +} + +// ListSitePushSettings gets the Push settings associated with web app. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of web app. +func (client AppsClient) ListSitePushSettings(ctx context.Context, resourceGroupName string, name string) (result PushSettings, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListSitePushSettings") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "ListSitePushSettings", err.Error()) + } + + req, err := client.ListSitePushSettingsPreparer(ctx, resourceGroupName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListSitePushSettings", nil, "Failure preparing request") + return + } + + resp, err := client.ListSitePushSettingsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListSitePushSettings", resp, "Failure sending request") + return + } + + result, err = client.ListSitePushSettingsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListSitePushSettings", resp, "Failure responding to request") + } + + return +} + +// ListSitePushSettingsPreparer prepares the ListSitePushSettings request. +func (client AppsClient) ListSitePushSettingsPreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/pushsettings/list", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSitePushSettingsSender sends the ListSitePushSettings request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListSitePushSettingsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListSitePushSettingsResponder handles the response to the ListSitePushSettings request. The method always +// closes the http.Response Body. +func (client AppsClient) ListSitePushSettingsResponder(resp *http.Response) (result PushSettings, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListSitePushSettingsSlot gets the Push settings associated with web app. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of web app. +// slot - name of web app slot. If not specified then will default to production slot. +func (client AppsClient) ListSitePushSettingsSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result PushSettings, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListSitePushSettingsSlot") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "ListSitePushSettingsSlot", err.Error()) + } + + req, err := client.ListSitePushSettingsSlotPreparer(ctx, resourceGroupName, name, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListSitePushSettingsSlot", nil, "Failure preparing request") + return + } + + resp, err := client.ListSitePushSettingsSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListSitePushSettingsSlot", resp, "Failure sending request") + return + } + + result, err = client.ListSitePushSettingsSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListSitePushSettingsSlot", resp, "Failure responding to request") + } + + return +} + +// ListSitePushSettingsSlotPreparer prepares the ListSitePushSettingsSlot request. +func (client AppsClient) ListSitePushSettingsSlotPreparer(ctx context.Context, resourceGroupName string, name string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/pushsettings/list", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSitePushSettingsSlotSender sends the ListSitePushSettingsSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListSitePushSettingsSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListSitePushSettingsSlotResponder handles the response to the ListSitePushSettingsSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) ListSitePushSettingsSlotResponder(resp *http.Response) (result PushSettings, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListSlotConfigurationNames gets the names of app settings and connection strings that stick to the slot (not +// swapped). +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +func (client AppsClient) ListSlotConfigurationNames(ctx context.Context, resourceGroupName string, name string) (result SlotConfigNamesResource, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListSlotConfigurationNames") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "ListSlotConfigurationNames", err.Error()) + } + + req, err := client.ListSlotConfigurationNamesPreparer(ctx, resourceGroupName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListSlotConfigurationNames", nil, "Failure preparing request") + return + } + + resp, err := client.ListSlotConfigurationNamesSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListSlotConfigurationNames", resp, "Failure sending request") + return + } + + result, err = client.ListSlotConfigurationNamesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListSlotConfigurationNames", resp, "Failure responding to request") + } + + return +} + +// ListSlotConfigurationNamesPreparer prepares the ListSlotConfigurationNames request. +func (client AppsClient) ListSlotConfigurationNamesPreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/slotConfigNames", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSlotConfigurationNamesSender sends the ListSlotConfigurationNames request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListSlotConfigurationNamesSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListSlotConfigurationNamesResponder handles the response to the ListSlotConfigurationNames request. The method always +// closes the http.Response Body. +func (client AppsClient) ListSlotConfigurationNamesResponder(resp *http.Response) (result SlotConfigNamesResource, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListSlotDifferencesFromProduction get the difference in configuration settings between two web app slots. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// slotSwapEntity - JSON object that contains the target slot name. See example. +func (client AppsClient) ListSlotDifferencesFromProduction(ctx context.Context, resourceGroupName string, name string, slotSwapEntity CsmSlotEntity) (result SlotDifferenceCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListSlotDifferencesFromProduction") + defer func() { + sc := -1 + if result.sdc.Response.Response != nil { + sc = result.sdc.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}, + {TargetValue: slotSwapEntity, + Constraints: []validation.Constraint{{Target: "slotSwapEntity.TargetSlot", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "slotSwapEntity.PreserveVnet", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "ListSlotDifferencesFromProduction", err.Error()) + } + + result.fn = client.listSlotDifferencesFromProductionNextResults + req, err := client.ListSlotDifferencesFromProductionPreparer(ctx, resourceGroupName, name, slotSwapEntity) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListSlotDifferencesFromProduction", nil, "Failure preparing request") + return + } + + resp, err := client.ListSlotDifferencesFromProductionSender(req) + if err != nil { + result.sdc.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListSlotDifferencesFromProduction", resp, "Failure sending request") + return + } + + result.sdc, err = client.ListSlotDifferencesFromProductionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListSlotDifferencesFromProduction", resp, "Failure responding to request") + } + + return +} + +// ListSlotDifferencesFromProductionPreparer prepares the ListSlotDifferencesFromProduction request. +func (client AppsClient) ListSlotDifferencesFromProductionPreparer(ctx context.Context, resourceGroupName string, name string, slotSwapEntity CsmSlotEntity) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slotsdiffs", pathParameters), + autorest.WithJSON(slotSwapEntity), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSlotDifferencesFromProductionSender sends the ListSlotDifferencesFromProduction request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListSlotDifferencesFromProductionSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListSlotDifferencesFromProductionResponder handles the response to the ListSlotDifferencesFromProduction request. The method always +// closes the http.Response Body. +func (client AppsClient) ListSlotDifferencesFromProductionResponder(resp *http.Response) (result SlotDifferenceCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listSlotDifferencesFromProductionNextResults retrieves the next set of results, if any. +func (client AppsClient) listSlotDifferencesFromProductionNextResults(ctx context.Context, lastResults SlotDifferenceCollection) (result SlotDifferenceCollection, err error) { + req, err := lastResults.slotDifferenceCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listSlotDifferencesFromProductionNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSlotDifferencesFromProductionSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listSlotDifferencesFromProductionNextResults", resp, "Failure sending next results request") + } + result, err = client.ListSlotDifferencesFromProductionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "listSlotDifferencesFromProductionNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListSlotDifferencesFromProductionComplete enumerates all values, automatically crossing page boundaries as required. +func (client AppsClient) ListSlotDifferencesFromProductionComplete(ctx context.Context, resourceGroupName string, name string, slotSwapEntity CsmSlotEntity) (result SlotDifferenceCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListSlotDifferencesFromProduction") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListSlotDifferencesFromProduction(ctx, resourceGroupName, name, slotSwapEntity) + return +} + +// ListSlotDifferencesSlot get the difference in configuration settings between two web app slots. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// slotSwapEntity - JSON object that contains the target slot name. See example. +// slot - name of the source slot. If a slot is not specified, the production slot is used as the source slot. +func (client AppsClient) ListSlotDifferencesSlot(ctx context.Context, resourceGroupName string, name string, slotSwapEntity CsmSlotEntity, slot string) (result SlotDifferenceCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListSlotDifferencesSlot") + defer func() { + sc := -1 + if result.sdc.Response.Response != nil { + sc = result.sdc.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}, + {TargetValue: slotSwapEntity, + Constraints: []validation.Constraint{{Target: "slotSwapEntity.TargetSlot", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "slotSwapEntity.PreserveVnet", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "ListSlotDifferencesSlot", err.Error()) + } + + result.fn = client.listSlotDifferencesSlotNextResults + req, err := client.ListSlotDifferencesSlotPreparer(ctx, resourceGroupName, name, slotSwapEntity, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListSlotDifferencesSlot", nil, "Failure preparing request") + return + } + + resp, err := client.ListSlotDifferencesSlotSender(req) + if err != nil { + result.sdc.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListSlotDifferencesSlot", resp, "Failure sending request") + return + } + + result.sdc, err = client.ListSlotDifferencesSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListSlotDifferencesSlot", resp, "Failure responding to request") + } + + return +} + +// ListSlotDifferencesSlotPreparer prepares the ListSlotDifferencesSlot request. +func (client AppsClient) ListSlotDifferencesSlotPreparer(ctx context.Context, resourceGroupName string, name string, slotSwapEntity CsmSlotEntity, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/slotsdiffs", pathParameters), + autorest.WithJSON(slotSwapEntity), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSlotDifferencesSlotSender sends the ListSlotDifferencesSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListSlotDifferencesSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListSlotDifferencesSlotResponder handles the response to the ListSlotDifferencesSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) ListSlotDifferencesSlotResponder(resp *http.Response) (result SlotDifferenceCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listSlotDifferencesSlotNextResults retrieves the next set of results, if any. +func (client AppsClient) listSlotDifferencesSlotNextResults(ctx context.Context, lastResults SlotDifferenceCollection) (result SlotDifferenceCollection, err error) { + req, err := lastResults.slotDifferenceCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listSlotDifferencesSlotNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSlotDifferencesSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listSlotDifferencesSlotNextResults", resp, "Failure sending next results request") + } + result, err = client.ListSlotDifferencesSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "listSlotDifferencesSlotNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListSlotDifferencesSlotComplete enumerates all values, automatically crossing page boundaries as required. +func (client AppsClient) ListSlotDifferencesSlotComplete(ctx context.Context, resourceGroupName string, name string, slotSwapEntity CsmSlotEntity, slot string) (result SlotDifferenceCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListSlotDifferencesSlot") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListSlotDifferencesSlot(ctx, resourceGroupName, name, slotSwapEntity, slot) + return +} + +// ListSlots gets an app's deployment slots. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +func (client AppsClient) ListSlots(ctx context.Context, resourceGroupName string, name string) (result AppCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListSlots") + defer func() { + sc := -1 + if result.ac.Response.Response != nil { + sc = result.ac.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "ListSlots", err.Error()) + } + + result.fn = client.listSlotsNextResults + req, err := client.ListSlotsPreparer(ctx, resourceGroupName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListSlots", nil, "Failure preparing request") + return + } + + resp, err := client.ListSlotsSender(req) + if err != nil { + result.ac.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListSlots", resp, "Failure sending request") + return + } + + result.ac, err = client.ListSlotsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListSlots", resp, "Failure responding to request") + } + + return +} + +// ListSlotsPreparer prepares the ListSlots request. +func (client AppsClient) ListSlotsPreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSlotsSender sends the ListSlots request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListSlotsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListSlotsResponder handles the response to the ListSlots request. The method always +// closes the http.Response Body. +func (client AppsClient) ListSlotsResponder(resp *http.Response) (result AppCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listSlotsNextResults retrieves the next set of results, if any. +func (client AppsClient) listSlotsNextResults(ctx context.Context, lastResults AppCollection) (result AppCollection, err error) { + req, err := lastResults.appCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listSlotsNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSlotsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listSlotsNextResults", resp, "Failure sending next results request") + } + result, err = client.ListSlotsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "listSlotsNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListSlotsComplete enumerates all values, automatically crossing page boundaries as required. +func (client AppsClient) ListSlotsComplete(ctx context.Context, resourceGroupName string, name string) (result AppCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListSlots") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListSlots(ctx, resourceGroupName, name) + return +} + +// ListSnapshots returns all Snapshots to the user. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - website Name. +func (client AppsClient) ListSnapshots(ctx context.Context, resourceGroupName string, name string) (result SnapshotCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListSnapshots") + defer func() { + sc := -1 + if result.sc.Response.Response != nil { + sc = result.sc.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "ListSnapshots", err.Error()) + } + + result.fn = client.listSnapshotsNextResults + req, err := client.ListSnapshotsPreparer(ctx, resourceGroupName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListSnapshots", nil, "Failure preparing request") + return + } + + resp, err := client.ListSnapshotsSender(req) + if err != nil { + result.sc.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListSnapshots", resp, "Failure sending request") + return + } + + result.sc, err = client.ListSnapshotsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListSnapshots", resp, "Failure responding to request") + } + + return +} + +// ListSnapshotsPreparer prepares the ListSnapshots request. +func (client AppsClient) ListSnapshotsPreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/snapshots", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSnapshotsSender sends the ListSnapshots request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListSnapshotsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListSnapshotsResponder handles the response to the ListSnapshots request. The method always +// closes the http.Response Body. +func (client AppsClient) ListSnapshotsResponder(resp *http.Response) (result SnapshotCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listSnapshotsNextResults retrieves the next set of results, if any. +func (client AppsClient) listSnapshotsNextResults(ctx context.Context, lastResults SnapshotCollection) (result SnapshotCollection, err error) { + req, err := lastResults.snapshotCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listSnapshotsNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSnapshotsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listSnapshotsNextResults", resp, "Failure sending next results request") + } + result, err = client.ListSnapshotsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "listSnapshotsNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListSnapshotsComplete enumerates all values, automatically crossing page boundaries as required. +func (client AppsClient) ListSnapshotsComplete(ctx context.Context, resourceGroupName string, name string) (result SnapshotCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListSnapshots") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListSnapshots(ctx, resourceGroupName, name) + return +} + +// ListSnapshotsFromDRSecondary returns all Snapshots to the user from DRSecondary endpoint. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - website Name. +func (client AppsClient) ListSnapshotsFromDRSecondary(ctx context.Context, resourceGroupName string, name string) (result SnapshotCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListSnapshotsFromDRSecondary") + defer func() { + sc := -1 + if result.sc.Response.Response != nil { + sc = result.sc.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "ListSnapshotsFromDRSecondary", err.Error()) + } + + result.fn = client.listSnapshotsFromDRSecondaryNextResults + req, err := client.ListSnapshotsFromDRSecondaryPreparer(ctx, resourceGroupName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListSnapshotsFromDRSecondary", nil, "Failure preparing request") + return + } + + resp, err := client.ListSnapshotsFromDRSecondarySender(req) + if err != nil { + result.sc.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListSnapshotsFromDRSecondary", resp, "Failure sending request") + return + } + + result.sc, err = client.ListSnapshotsFromDRSecondaryResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListSnapshotsFromDRSecondary", resp, "Failure responding to request") + } + + return +} + +// ListSnapshotsFromDRSecondaryPreparer prepares the ListSnapshotsFromDRSecondary request. +func (client AppsClient) ListSnapshotsFromDRSecondaryPreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/snapshotsdr", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSnapshotsFromDRSecondarySender sends the ListSnapshotsFromDRSecondary request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListSnapshotsFromDRSecondarySender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListSnapshotsFromDRSecondaryResponder handles the response to the ListSnapshotsFromDRSecondary request. The method always +// closes the http.Response Body. +func (client AppsClient) ListSnapshotsFromDRSecondaryResponder(resp *http.Response) (result SnapshotCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listSnapshotsFromDRSecondaryNextResults retrieves the next set of results, if any. +func (client AppsClient) listSnapshotsFromDRSecondaryNextResults(ctx context.Context, lastResults SnapshotCollection) (result SnapshotCollection, err error) { + req, err := lastResults.snapshotCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listSnapshotsFromDRSecondaryNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSnapshotsFromDRSecondarySender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listSnapshotsFromDRSecondaryNextResults", resp, "Failure sending next results request") + } + result, err = client.ListSnapshotsFromDRSecondaryResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "listSnapshotsFromDRSecondaryNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListSnapshotsFromDRSecondaryComplete enumerates all values, automatically crossing page boundaries as required. +func (client AppsClient) ListSnapshotsFromDRSecondaryComplete(ctx context.Context, resourceGroupName string, name string) (result SnapshotCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListSnapshotsFromDRSecondary") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListSnapshotsFromDRSecondary(ctx, resourceGroupName, name) + return +} + +// ListSnapshotsFromDRSecondarySlot returns all Snapshots to the user from DRSecondary endpoint. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - website Name. +// slot - website Slot. +func (client AppsClient) ListSnapshotsFromDRSecondarySlot(ctx context.Context, resourceGroupName string, name string, slot string) (result SnapshotCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListSnapshotsFromDRSecondarySlot") + defer func() { + sc := -1 + if result.sc.Response.Response != nil { + sc = result.sc.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "ListSnapshotsFromDRSecondarySlot", err.Error()) + } + + result.fn = client.listSnapshotsFromDRSecondarySlotNextResults + req, err := client.ListSnapshotsFromDRSecondarySlotPreparer(ctx, resourceGroupName, name, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListSnapshotsFromDRSecondarySlot", nil, "Failure preparing request") + return + } + + resp, err := client.ListSnapshotsFromDRSecondarySlotSender(req) + if err != nil { + result.sc.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListSnapshotsFromDRSecondarySlot", resp, "Failure sending request") + return + } + + result.sc, err = client.ListSnapshotsFromDRSecondarySlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListSnapshotsFromDRSecondarySlot", resp, "Failure responding to request") + } + + return +} + +// ListSnapshotsFromDRSecondarySlotPreparer prepares the ListSnapshotsFromDRSecondarySlot request. +func (client AppsClient) ListSnapshotsFromDRSecondarySlotPreparer(ctx context.Context, resourceGroupName string, name string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/snapshotsdr", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSnapshotsFromDRSecondarySlotSender sends the ListSnapshotsFromDRSecondarySlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListSnapshotsFromDRSecondarySlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListSnapshotsFromDRSecondarySlotResponder handles the response to the ListSnapshotsFromDRSecondarySlot request. The method always +// closes the http.Response Body. +func (client AppsClient) ListSnapshotsFromDRSecondarySlotResponder(resp *http.Response) (result SnapshotCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listSnapshotsFromDRSecondarySlotNextResults retrieves the next set of results, if any. +func (client AppsClient) listSnapshotsFromDRSecondarySlotNextResults(ctx context.Context, lastResults SnapshotCollection) (result SnapshotCollection, err error) { + req, err := lastResults.snapshotCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listSnapshotsFromDRSecondarySlotNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSnapshotsFromDRSecondarySlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listSnapshotsFromDRSecondarySlotNextResults", resp, "Failure sending next results request") + } + result, err = client.ListSnapshotsFromDRSecondarySlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "listSnapshotsFromDRSecondarySlotNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListSnapshotsFromDRSecondarySlotComplete enumerates all values, automatically crossing page boundaries as required. +func (client AppsClient) ListSnapshotsFromDRSecondarySlotComplete(ctx context.Context, resourceGroupName string, name string, slot string) (result SnapshotCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListSnapshotsFromDRSecondarySlot") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListSnapshotsFromDRSecondarySlot(ctx, resourceGroupName, name, slot) + return +} + +// ListSnapshotsSlot returns all Snapshots to the user. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - website Name. +// slot - website Slot. +func (client AppsClient) ListSnapshotsSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result SnapshotCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListSnapshotsSlot") + defer func() { + sc := -1 + if result.sc.Response.Response != nil { + sc = result.sc.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "ListSnapshotsSlot", err.Error()) + } + + result.fn = client.listSnapshotsSlotNextResults + req, err := client.ListSnapshotsSlotPreparer(ctx, resourceGroupName, name, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListSnapshotsSlot", nil, "Failure preparing request") + return + } + + resp, err := client.ListSnapshotsSlotSender(req) + if err != nil { + result.sc.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListSnapshotsSlot", resp, "Failure sending request") + return + } + + result.sc, err = client.ListSnapshotsSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListSnapshotsSlot", resp, "Failure responding to request") + } + + return +} + +// ListSnapshotsSlotPreparer prepares the ListSnapshotsSlot request. +func (client AppsClient) ListSnapshotsSlotPreparer(ctx context.Context, resourceGroupName string, name string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/snapshots", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSnapshotsSlotSender sends the ListSnapshotsSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListSnapshotsSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListSnapshotsSlotResponder handles the response to the ListSnapshotsSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) ListSnapshotsSlotResponder(resp *http.Response) (result SnapshotCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listSnapshotsSlotNextResults retrieves the next set of results, if any. +func (client AppsClient) listSnapshotsSlotNextResults(ctx context.Context, lastResults SnapshotCollection) (result SnapshotCollection, err error) { + req, err := lastResults.snapshotCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listSnapshotsSlotNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSnapshotsSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listSnapshotsSlotNextResults", resp, "Failure sending next results request") + } + result, err = client.ListSnapshotsSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "listSnapshotsSlotNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListSnapshotsSlotComplete enumerates all values, automatically crossing page boundaries as required. +func (client AppsClient) ListSnapshotsSlotComplete(ctx context.Context, resourceGroupName string, name string, slot string) (result SnapshotCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListSnapshotsSlot") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListSnapshotsSlot(ctx, resourceGroupName, name, slot) + return +} + +// ListSyncFunctionTriggers this is to allow calling via powershell and ARM template. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +func (client AppsClient) ListSyncFunctionTriggers(ctx context.Context, resourceGroupName string, name string) (result FunctionSecrets, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListSyncFunctionTriggers") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "ListSyncFunctionTriggers", err.Error()) + } + + req, err := client.ListSyncFunctionTriggersPreparer(ctx, resourceGroupName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListSyncFunctionTriggers", nil, "Failure preparing request") + return + } + + resp, err := client.ListSyncFunctionTriggersSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListSyncFunctionTriggers", resp, "Failure sending request") + return + } + + result, err = client.ListSyncFunctionTriggersResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListSyncFunctionTriggers", resp, "Failure responding to request") + } + + return +} + +// ListSyncFunctionTriggersPreparer prepares the ListSyncFunctionTriggers request. +func (client AppsClient) ListSyncFunctionTriggersPreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/listsyncfunctiontriggerstatus", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSyncFunctionTriggersSender sends the ListSyncFunctionTriggers request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListSyncFunctionTriggersSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListSyncFunctionTriggersResponder handles the response to the ListSyncFunctionTriggers request. The method always +// closes the http.Response Body. +func (client AppsClient) ListSyncFunctionTriggersResponder(resp *http.Response) (result FunctionSecrets, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListSyncFunctionTriggersSlot this is to allow calling via powershell and ARM template. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// slot - name of the deployment slot. If a slot is not specified, the API will restore a backup of the +// production slot. +func (client AppsClient) ListSyncFunctionTriggersSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result FunctionSecrets, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListSyncFunctionTriggersSlot") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "ListSyncFunctionTriggersSlot", err.Error()) + } + + req, err := client.ListSyncFunctionTriggersSlotPreparer(ctx, resourceGroupName, name, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListSyncFunctionTriggersSlot", nil, "Failure preparing request") + return + } + + resp, err := client.ListSyncFunctionTriggersSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListSyncFunctionTriggersSlot", resp, "Failure sending request") + return + } + + result, err = client.ListSyncFunctionTriggersSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListSyncFunctionTriggersSlot", resp, "Failure responding to request") + } + + return +} + +// ListSyncFunctionTriggersSlotPreparer prepares the ListSyncFunctionTriggersSlot request. +func (client AppsClient) ListSyncFunctionTriggersSlotPreparer(ctx context.Context, resourceGroupName string, name string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/listsyncfunctiontriggerstatus", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSyncFunctionTriggersSlotSender sends the ListSyncFunctionTriggersSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListSyncFunctionTriggersSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListSyncFunctionTriggersSlotResponder handles the response to the ListSyncFunctionTriggersSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) ListSyncFunctionTriggersSlotResponder(resp *http.Response) (result FunctionSecrets, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListTriggeredWebJobHistory list a triggered web job's history for an app, or a deployment slot. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - site name. +// webJobName - name of Web Job. +func (client AppsClient) ListTriggeredWebJobHistory(ctx context.Context, resourceGroupName string, name string, webJobName string) (result TriggeredJobHistoryCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListTriggeredWebJobHistory") + defer func() { + sc := -1 + if result.tjhc.Response.Response != nil { + sc = result.tjhc.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "ListTriggeredWebJobHistory", err.Error()) + } + + result.fn = client.listTriggeredWebJobHistoryNextResults + req, err := client.ListTriggeredWebJobHistoryPreparer(ctx, resourceGroupName, name, webJobName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListTriggeredWebJobHistory", nil, "Failure preparing request") + return + } + + resp, err := client.ListTriggeredWebJobHistorySender(req) + if err != nil { + result.tjhc.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListTriggeredWebJobHistory", resp, "Failure sending request") + return + } + + result.tjhc, err = client.ListTriggeredWebJobHistoryResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListTriggeredWebJobHistory", resp, "Failure responding to request") + } + + return +} + +// ListTriggeredWebJobHistoryPreparer prepares the ListTriggeredWebJobHistory request. +func (client AppsClient) ListTriggeredWebJobHistoryPreparer(ctx context.Context, resourceGroupName string, name string, webJobName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "webJobName": autorest.Encode("path", webJobName), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/triggeredwebjobs/{webJobName}/history", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListTriggeredWebJobHistorySender sends the ListTriggeredWebJobHistory request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListTriggeredWebJobHistorySender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListTriggeredWebJobHistoryResponder handles the response to the ListTriggeredWebJobHistory request. The method always +// closes the http.Response Body. +func (client AppsClient) ListTriggeredWebJobHistoryResponder(resp *http.Response) (result TriggeredJobHistoryCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listTriggeredWebJobHistoryNextResults retrieves the next set of results, if any. +func (client AppsClient) listTriggeredWebJobHistoryNextResults(ctx context.Context, lastResults TriggeredJobHistoryCollection) (result TriggeredJobHistoryCollection, err error) { + req, err := lastResults.triggeredJobHistoryCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listTriggeredWebJobHistoryNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListTriggeredWebJobHistorySender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listTriggeredWebJobHistoryNextResults", resp, "Failure sending next results request") + } + result, err = client.ListTriggeredWebJobHistoryResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "listTriggeredWebJobHistoryNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListTriggeredWebJobHistoryComplete enumerates all values, automatically crossing page boundaries as required. +func (client AppsClient) ListTriggeredWebJobHistoryComplete(ctx context.Context, resourceGroupName string, name string, webJobName string) (result TriggeredJobHistoryCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListTriggeredWebJobHistory") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListTriggeredWebJobHistory(ctx, resourceGroupName, name, webJobName) + return +} + +// ListTriggeredWebJobHistorySlot list a triggered web job's history for an app, or a deployment slot. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - site name. +// webJobName - name of Web Job. +// slot - name of the deployment slot. If a slot is not specified, the API deletes a deployment for the +// production slot. +func (client AppsClient) ListTriggeredWebJobHistorySlot(ctx context.Context, resourceGroupName string, name string, webJobName string, slot string) (result TriggeredJobHistoryCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListTriggeredWebJobHistorySlot") + defer func() { + sc := -1 + if result.tjhc.Response.Response != nil { + sc = result.tjhc.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "ListTriggeredWebJobHistorySlot", err.Error()) + } + + result.fn = client.listTriggeredWebJobHistorySlotNextResults + req, err := client.ListTriggeredWebJobHistorySlotPreparer(ctx, resourceGroupName, name, webJobName, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListTriggeredWebJobHistorySlot", nil, "Failure preparing request") + return + } + + resp, err := client.ListTriggeredWebJobHistorySlotSender(req) + if err != nil { + result.tjhc.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListTriggeredWebJobHistorySlot", resp, "Failure sending request") + return + } + + result.tjhc, err = client.ListTriggeredWebJobHistorySlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListTriggeredWebJobHistorySlot", resp, "Failure responding to request") + } + + return +} + +// ListTriggeredWebJobHistorySlotPreparer prepares the ListTriggeredWebJobHistorySlot request. +func (client AppsClient) ListTriggeredWebJobHistorySlotPreparer(ctx context.Context, resourceGroupName string, name string, webJobName string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "webJobName": autorest.Encode("path", webJobName), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/triggeredwebjobs/{webJobName}/history", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListTriggeredWebJobHistorySlotSender sends the ListTriggeredWebJobHistorySlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListTriggeredWebJobHistorySlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListTriggeredWebJobHistorySlotResponder handles the response to the ListTriggeredWebJobHistorySlot request. The method always +// closes the http.Response Body. +func (client AppsClient) ListTriggeredWebJobHistorySlotResponder(resp *http.Response) (result TriggeredJobHistoryCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listTriggeredWebJobHistorySlotNextResults retrieves the next set of results, if any. +func (client AppsClient) listTriggeredWebJobHistorySlotNextResults(ctx context.Context, lastResults TriggeredJobHistoryCollection) (result TriggeredJobHistoryCollection, err error) { + req, err := lastResults.triggeredJobHistoryCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listTriggeredWebJobHistorySlotNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListTriggeredWebJobHistorySlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listTriggeredWebJobHistorySlotNextResults", resp, "Failure sending next results request") + } + result, err = client.ListTriggeredWebJobHistorySlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "listTriggeredWebJobHistorySlotNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListTriggeredWebJobHistorySlotComplete enumerates all values, automatically crossing page boundaries as required. +func (client AppsClient) ListTriggeredWebJobHistorySlotComplete(ctx context.Context, resourceGroupName string, name string, webJobName string, slot string) (result TriggeredJobHistoryCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListTriggeredWebJobHistorySlot") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListTriggeredWebJobHistorySlot(ctx, resourceGroupName, name, webJobName, slot) + return +} + +// ListTriggeredWebJobs list triggered web jobs for an app, or a deployment slot. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - site name. +func (client AppsClient) ListTriggeredWebJobs(ctx context.Context, resourceGroupName string, name string) (result TriggeredWebJobCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListTriggeredWebJobs") + defer func() { + sc := -1 + if result.twjc.Response.Response != nil { + sc = result.twjc.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "ListTriggeredWebJobs", err.Error()) + } + + result.fn = client.listTriggeredWebJobsNextResults + req, err := client.ListTriggeredWebJobsPreparer(ctx, resourceGroupName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListTriggeredWebJobs", nil, "Failure preparing request") + return + } + + resp, err := client.ListTriggeredWebJobsSender(req) + if err != nil { + result.twjc.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListTriggeredWebJobs", resp, "Failure sending request") + return + } + + result.twjc, err = client.ListTriggeredWebJobsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListTriggeredWebJobs", resp, "Failure responding to request") + } + + return +} + +// ListTriggeredWebJobsPreparer prepares the ListTriggeredWebJobs request. +func (client AppsClient) ListTriggeredWebJobsPreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/triggeredwebjobs", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListTriggeredWebJobsSender sends the ListTriggeredWebJobs request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListTriggeredWebJobsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListTriggeredWebJobsResponder handles the response to the ListTriggeredWebJobs request. The method always +// closes the http.Response Body. +func (client AppsClient) ListTriggeredWebJobsResponder(resp *http.Response) (result TriggeredWebJobCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listTriggeredWebJobsNextResults retrieves the next set of results, if any. +func (client AppsClient) listTriggeredWebJobsNextResults(ctx context.Context, lastResults TriggeredWebJobCollection) (result TriggeredWebJobCollection, err error) { + req, err := lastResults.triggeredWebJobCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listTriggeredWebJobsNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListTriggeredWebJobsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listTriggeredWebJobsNextResults", resp, "Failure sending next results request") + } + result, err = client.ListTriggeredWebJobsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "listTriggeredWebJobsNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListTriggeredWebJobsComplete enumerates all values, automatically crossing page boundaries as required. +func (client AppsClient) ListTriggeredWebJobsComplete(ctx context.Context, resourceGroupName string, name string) (result TriggeredWebJobCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListTriggeredWebJobs") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListTriggeredWebJobs(ctx, resourceGroupName, name) + return +} + +// ListTriggeredWebJobsSlot list triggered web jobs for an app, or a deployment slot. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - site name. +// slot - name of the deployment slot. If a slot is not specified, the API deletes a deployment for the +// production slot. +func (client AppsClient) ListTriggeredWebJobsSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result TriggeredWebJobCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListTriggeredWebJobsSlot") + defer func() { + sc := -1 + if result.twjc.Response.Response != nil { + sc = result.twjc.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "ListTriggeredWebJobsSlot", err.Error()) + } + + result.fn = client.listTriggeredWebJobsSlotNextResults + req, err := client.ListTriggeredWebJobsSlotPreparer(ctx, resourceGroupName, name, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListTriggeredWebJobsSlot", nil, "Failure preparing request") + return + } + + resp, err := client.ListTriggeredWebJobsSlotSender(req) + if err != nil { + result.twjc.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListTriggeredWebJobsSlot", resp, "Failure sending request") + return + } + + result.twjc, err = client.ListTriggeredWebJobsSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListTriggeredWebJobsSlot", resp, "Failure responding to request") + } + + return +} + +// ListTriggeredWebJobsSlotPreparer prepares the ListTriggeredWebJobsSlot request. +func (client AppsClient) ListTriggeredWebJobsSlotPreparer(ctx context.Context, resourceGroupName string, name string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/triggeredwebjobs", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListTriggeredWebJobsSlotSender sends the ListTriggeredWebJobsSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListTriggeredWebJobsSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListTriggeredWebJobsSlotResponder handles the response to the ListTriggeredWebJobsSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) ListTriggeredWebJobsSlotResponder(resp *http.Response) (result TriggeredWebJobCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listTriggeredWebJobsSlotNextResults retrieves the next set of results, if any. +func (client AppsClient) listTriggeredWebJobsSlotNextResults(ctx context.Context, lastResults TriggeredWebJobCollection) (result TriggeredWebJobCollection, err error) { + req, err := lastResults.triggeredWebJobCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listTriggeredWebJobsSlotNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListTriggeredWebJobsSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listTriggeredWebJobsSlotNextResults", resp, "Failure sending next results request") + } + result, err = client.ListTriggeredWebJobsSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "listTriggeredWebJobsSlotNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListTriggeredWebJobsSlotComplete enumerates all values, automatically crossing page boundaries as required. +func (client AppsClient) ListTriggeredWebJobsSlotComplete(ctx context.Context, resourceGroupName string, name string, slot string) (result TriggeredWebJobCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListTriggeredWebJobsSlot") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListTriggeredWebJobsSlot(ctx, resourceGroupName, name, slot) + return +} + +// ListUsages gets the quota usage information of an app (or deployment slot, if specified). +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// filter - return only information specified in the filter (using OData syntax). For example: +// $filter=(name.value eq 'Metric1' or name.value eq 'Metric2') and startTime eq 2014-01-01T00:00:00Z and +// endTime eq 2014-12-31T23:59:59Z and timeGrain eq duration'[Hour|Minute|Day]'. +func (client AppsClient) ListUsages(ctx context.Context, resourceGroupName string, name string, filter string) (result CsmUsageQuotaCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListUsages") + defer func() { + sc := -1 + if result.cuqc.Response.Response != nil { + sc = result.cuqc.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "ListUsages", err.Error()) + } + + result.fn = client.listUsagesNextResults + req, err := client.ListUsagesPreparer(ctx, resourceGroupName, name, filter) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListUsages", nil, "Failure preparing request") + return + } + + resp, err := client.ListUsagesSender(req) + if err != nil { + result.cuqc.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListUsages", resp, "Failure sending request") + return + } + + result.cuqc, err = client.ListUsagesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListUsages", resp, "Failure responding to request") + } + + return +} + +// ListUsagesPreparer prepares the ListUsages request. +func (client AppsClient) ListUsagesPreparer(ctx context.Context, resourceGroupName string, name string, filter string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(filter) > 0 { + queryParameters["$filter"] = filter + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/usages", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListUsagesSender sends the ListUsages request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListUsagesSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListUsagesResponder handles the response to the ListUsages request. The method always +// closes the http.Response Body. +func (client AppsClient) ListUsagesResponder(resp *http.Response) (result CsmUsageQuotaCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listUsagesNextResults retrieves the next set of results, if any. +func (client AppsClient) listUsagesNextResults(ctx context.Context, lastResults CsmUsageQuotaCollection) (result CsmUsageQuotaCollection, err error) { + req, err := lastResults.csmUsageQuotaCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listUsagesNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListUsagesSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listUsagesNextResults", resp, "Failure sending next results request") + } + result, err = client.ListUsagesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "listUsagesNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListUsagesComplete enumerates all values, automatically crossing page boundaries as required. +func (client AppsClient) ListUsagesComplete(ctx context.Context, resourceGroupName string, name string, filter string) (result CsmUsageQuotaCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListUsages") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListUsages(ctx, resourceGroupName, name, filter) + return +} + +// ListUsagesSlot gets the quota usage information of an app (or deployment slot, if specified). +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// slot - name of the deployment slot. If a slot is not specified, the API will get quota information of the +// production slot. +// filter - return only information specified in the filter (using OData syntax). For example: +// $filter=(name.value eq 'Metric1' or name.value eq 'Metric2') and startTime eq 2014-01-01T00:00:00Z and +// endTime eq 2014-12-31T23:59:59Z and timeGrain eq duration'[Hour|Minute|Day]'. +func (client AppsClient) ListUsagesSlot(ctx context.Context, resourceGroupName string, name string, slot string, filter string) (result CsmUsageQuotaCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListUsagesSlot") + defer func() { + sc := -1 + if result.cuqc.Response.Response != nil { + sc = result.cuqc.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "ListUsagesSlot", err.Error()) + } + + result.fn = client.listUsagesSlotNextResults + req, err := client.ListUsagesSlotPreparer(ctx, resourceGroupName, name, slot, filter) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListUsagesSlot", nil, "Failure preparing request") + return + } + + resp, err := client.ListUsagesSlotSender(req) + if err != nil { + result.cuqc.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListUsagesSlot", resp, "Failure sending request") + return + } + + result.cuqc, err = client.ListUsagesSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListUsagesSlot", resp, "Failure responding to request") + } + + return +} + +// ListUsagesSlotPreparer prepares the ListUsagesSlot request. +func (client AppsClient) ListUsagesSlotPreparer(ctx context.Context, resourceGroupName string, name string, slot string, filter string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(filter) > 0 { + queryParameters["$filter"] = filter + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/usages", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListUsagesSlotSender sends the ListUsagesSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListUsagesSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListUsagesSlotResponder handles the response to the ListUsagesSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) ListUsagesSlotResponder(resp *http.Response) (result CsmUsageQuotaCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listUsagesSlotNextResults retrieves the next set of results, if any. +func (client AppsClient) listUsagesSlotNextResults(ctx context.Context, lastResults CsmUsageQuotaCollection) (result CsmUsageQuotaCollection, err error) { + req, err := lastResults.csmUsageQuotaCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listUsagesSlotNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListUsagesSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listUsagesSlotNextResults", resp, "Failure sending next results request") + } + result, err = client.ListUsagesSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "listUsagesSlotNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListUsagesSlotComplete enumerates all values, automatically crossing page boundaries as required. +func (client AppsClient) ListUsagesSlotComplete(ctx context.Context, resourceGroupName string, name string, slot string, filter string) (result CsmUsageQuotaCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListUsagesSlot") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListUsagesSlot(ctx, resourceGroupName, name, slot, filter) + return +} + +// ListVnetConnections gets the virtual networks the app (or deployment slot) is connected to. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +func (client AppsClient) ListVnetConnections(ctx context.Context, resourceGroupName string, name string) (result ListVnetInfo, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListVnetConnections") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "ListVnetConnections", err.Error()) + } + + req, err := client.ListVnetConnectionsPreparer(ctx, resourceGroupName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListVnetConnections", nil, "Failure preparing request") + return + } + + resp, err := client.ListVnetConnectionsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListVnetConnections", resp, "Failure sending request") + return + } + + result, err = client.ListVnetConnectionsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListVnetConnections", resp, "Failure responding to request") + } + + return +} + +// ListVnetConnectionsPreparer prepares the ListVnetConnections request. +func (client AppsClient) ListVnetConnectionsPreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/virtualNetworkConnections", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListVnetConnectionsSender sends the ListVnetConnections request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListVnetConnectionsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListVnetConnectionsResponder handles the response to the ListVnetConnections request. The method always +// closes the http.Response Body. +func (client AppsClient) ListVnetConnectionsResponder(resp *http.Response) (result ListVnetInfo, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result.Value), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListVnetConnectionsSlot gets the virtual networks the app (or deployment slot) is connected to. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// slot - name of the deployment slot. If a slot is not specified, the API will get virtual network connections +// for the production slot. +func (client AppsClient) ListVnetConnectionsSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result ListVnetInfo, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListVnetConnectionsSlot") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "ListVnetConnectionsSlot", err.Error()) + } + + req, err := client.ListVnetConnectionsSlotPreparer(ctx, resourceGroupName, name, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListVnetConnectionsSlot", nil, "Failure preparing request") + return + } + + resp, err := client.ListVnetConnectionsSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListVnetConnectionsSlot", resp, "Failure sending request") + return + } + + result, err = client.ListVnetConnectionsSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListVnetConnectionsSlot", resp, "Failure responding to request") + } + + return +} + +// ListVnetConnectionsSlotPreparer prepares the ListVnetConnectionsSlot request. +func (client AppsClient) ListVnetConnectionsSlotPreparer(ctx context.Context, resourceGroupName string, name string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/virtualNetworkConnections", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListVnetConnectionsSlotSender sends the ListVnetConnectionsSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListVnetConnectionsSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListVnetConnectionsSlotResponder handles the response to the ListVnetConnectionsSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) ListVnetConnectionsSlotResponder(resp *http.Response) (result ListVnetInfo, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result.Value), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListWebJobs list webjobs for an app, or a deployment slot. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - site name. +func (client AppsClient) ListWebJobs(ctx context.Context, resourceGroupName string, name string) (result JobCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListWebJobs") + defer func() { + sc := -1 + if result.jc.Response.Response != nil { + sc = result.jc.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "ListWebJobs", err.Error()) + } + + result.fn = client.listWebJobsNextResults + req, err := client.ListWebJobsPreparer(ctx, resourceGroupName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListWebJobs", nil, "Failure preparing request") + return + } + + resp, err := client.ListWebJobsSender(req) + if err != nil { + result.jc.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListWebJobs", resp, "Failure sending request") + return + } + + result.jc, err = client.ListWebJobsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListWebJobs", resp, "Failure responding to request") + } + + return +} + +// ListWebJobsPreparer prepares the ListWebJobs request. +func (client AppsClient) ListWebJobsPreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/webjobs", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListWebJobsSender sends the ListWebJobs request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListWebJobsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListWebJobsResponder handles the response to the ListWebJobs request. The method always +// closes the http.Response Body. +func (client AppsClient) ListWebJobsResponder(resp *http.Response) (result JobCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listWebJobsNextResults retrieves the next set of results, if any. +func (client AppsClient) listWebJobsNextResults(ctx context.Context, lastResults JobCollection) (result JobCollection, err error) { + req, err := lastResults.jobCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listWebJobsNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListWebJobsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listWebJobsNextResults", resp, "Failure sending next results request") + } + result, err = client.ListWebJobsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "listWebJobsNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListWebJobsComplete enumerates all values, automatically crossing page boundaries as required. +func (client AppsClient) ListWebJobsComplete(ctx context.Context, resourceGroupName string, name string) (result JobCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListWebJobs") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListWebJobs(ctx, resourceGroupName, name) + return +} + +// ListWebJobsSlot list webjobs for an app, or a deployment slot. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - site name. +// slot - name of the deployment slot. If a slot is not specified, the API returns deployments for the +// production slot. +func (client AppsClient) ListWebJobsSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result JobCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListWebJobsSlot") + defer func() { + sc := -1 + if result.jc.Response.Response != nil { + sc = result.jc.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "ListWebJobsSlot", err.Error()) + } + + result.fn = client.listWebJobsSlotNextResults + req, err := client.ListWebJobsSlotPreparer(ctx, resourceGroupName, name, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListWebJobsSlot", nil, "Failure preparing request") + return + } + + resp, err := client.ListWebJobsSlotSender(req) + if err != nil { + result.jc.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListWebJobsSlot", resp, "Failure sending request") + return + } + + result.jc, err = client.ListWebJobsSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ListWebJobsSlot", resp, "Failure responding to request") + } + + return +} + +// ListWebJobsSlotPreparer prepares the ListWebJobsSlot request. +func (client AppsClient) ListWebJobsSlotPreparer(ctx context.Context, resourceGroupName string, name string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/webjobs", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListWebJobsSlotSender sends the ListWebJobsSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ListWebJobsSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListWebJobsSlotResponder handles the response to the ListWebJobsSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) ListWebJobsSlotResponder(resp *http.Response) (result JobCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listWebJobsSlotNextResults retrieves the next set of results, if any. +func (client AppsClient) listWebJobsSlotNextResults(ctx context.Context, lastResults JobCollection) (result JobCollection, err error) { + req, err := lastResults.jobCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listWebJobsSlotNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListWebJobsSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppsClient", "listWebJobsSlotNextResults", resp, "Failure sending next results request") + } + result, err = client.ListWebJobsSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "listWebJobsSlotNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListWebJobsSlotComplete enumerates all values, automatically crossing page boundaries as required. +func (client AppsClient) ListWebJobsSlotComplete(ctx context.Context, resourceGroupName string, name string, slot string) (result JobCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ListWebJobsSlot") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListWebJobsSlot(ctx, resourceGroupName, name, slot) + return +} + +// MigrateMySQL migrates a local (in-app) MySql database to a remote MySql database. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of web app. +// migrationRequestEnvelope - mySql migration options. +func (client AppsClient) MigrateMySQL(ctx context.Context, resourceGroupName string, name string, migrationRequestEnvelope MigrateMySQLRequest) (result AppsMigrateMySQLFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.MigrateMySQL") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}, + {TargetValue: migrationRequestEnvelope, + Constraints: []validation.Constraint{{Target: "migrationRequestEnvelope.MigrateMySQLRequestProperties", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "migrationRequestEnvelope.MigrateMySQLRequestProperties.ConnectionString", Name: validation.Null, Rule: true, Chain: nil}}}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "MigrateMySQL", err.Error()) + } + + req, err := client.MigrateMySQLPreparer(ctx, resourceGroupName, name, migrationRequestEnvelope) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "MigrateMySQL", nil, "Failure preparing request") + return + } + + result, err = client.MigrateMySQLSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "MigrateMySQL", result.Response(), "Failure sending request") + return + } + + return +} + +// MigrateMySQLPreparer prepares the MigrateMySQL request. +func (client AppsClient) MigrateMySQLPreparer(ctx context.Context, resourceGroupName string, name string, migrationRequestEnvelope MigrateMySQLRequest) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/migratemysql", pathParameters), + autorest.WithJSON(migrationRequestEnvelope), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// MigrateMySQLSender sends the MigrateMySQL request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) MigrateMySQLSender(req *http.Request) (future AppsMigrateMySQLFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// MigrateMySQLResponder handles the response to the MigrateMySQL request. The method always +// closes the http.Response Body. +func (client AppsClient) MigrateMySQLResponder(resp *http.Response) (result Operation, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// MigrateStorage restores a web app. +// Parameters: +// subscriptionName - azure subscription. +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of web app. +// migrationOptions - migration migrationOptions. +func (client AppsClient) MigrateStorage(ctx context.Context, subscriptionName string, resourceGroupName string, name string, migrationOptions StorageMigrationOptions) (result AppsMigrateStorageFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.MigrateStorage") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}, + {TargetValue: migrationOptions, + Constraints: []validation.Constraint{{Target: "migrationOptions.StorageMigrationOptionsProperties", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "migrationOptions.StorageMigrationOptionsProperties.AzurefilesConnectionString", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "migrationOptions.StorageMigrationOptionsProperties.AzurefilesShare", Name: validation.Null, Rule: true, Chain: nil}, + }}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "MigrateStorage", err.Error()) + } + + req, err := client.MigrateStoragePreparer(ctx, subscriptionName, resourceGroupName, name, migrationOptions) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "MigrateStorage", nil, "Failure preparing request") + return + } + + result, err = client.MigrateStorageSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "MigrateStorage", result.Response(), "Failure sending request") + return + } + + return +} + +// MigrateStoragePreparer prepares the MigrateStorage request. +func (client AppsClient) MigrateStoragePreparer(ctx context.Context, subscriptionName string, resourceGroupName string, name string, migrationOptions StorageMigrationOptions) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + "subscriptionName": autorest.Encode("query", subscriptionName), + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/migrate", pathParameters), + autorest.WithJSON(migrationOptions), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// MigrateStorageSender sends the MigrateStorage request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) MigrateStorageSender(req *http.Request) (future AppsMigrateStorageFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// MigrateStorageResponder handles the response to the MigrateStorage request. The method always +// closes the http.Response Body. +func (client AppsClient) MigrateStorageResponder(resp *http.Response) (result StorageMigrationResponse, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// PutPrivateAccessVnet sets data around private site access enablement and authorized Virtual Networks that can access +// the site. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - the name of the web app. +// access - the information for the private access +func (client AppsClient) PutPrivateAccessVnet(ctx context.Context, resourceGroupName string, name string, access PrivateAccess) (result PrivateAccess, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.PutPrivateAccessVnet") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "PutPrivateAccessVnet", err.Error()) + } + + req, err := client.PutPrivateAccessVnetPreparer(ctx, resourceGroupName, name, access) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "PutPrivateAccessVnet", nil, "Failure preparing request") + return + } + + resp, err := client.PutPrivateAccessVnetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "PutPrivateAccessVnet", resp, "Failure sending request") + return + } + + result, err = client.PutPrivateAccessVnetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "PutPrivateAccessVnet", resp, "Failure responding to request") + } + + return +} + +// PutPrivateAccessVnetPreparer prepares the PutPrivateAccessVnet request. +func (client AppsClient) PutPrivateAccessVnetPreparer(ctx context.Context, resourceGroupName string, name string, access PrivateAccess) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/privateAccess/virtualNetworks", pathParameters), + autorest.WithJSON(access), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// PutPrivateAccessVnetSender sends the PutPrivateAccessVnet request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) PutPrivateAccessVnetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// PutPrivateAccessVnetResponder handles the response to the PutPrivateAccessVnet request. The method always +// closes the http.Response Body. +func (client AppsClient) PutPrivateAccessVnetResponder(resp *http.Response) (result PrivateAccess, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// PutPrivateAccessVnetSlot sets data around private site access enablement and authorized Virtual Networks that can +// access the site. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - the name of the web app. +// access - the information for the private access +// slot - the name of the slot for the web app. +func (client AppsClient) PutPrivateAccessVnetSlot(ctx context.Context, resourceGroupName string, name string, access PrivateAccess, slot string) (result PrivateAccess, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.PutPrivateAccessVnetSlot") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "PutPrivateAccessVnetSlot", err.Error()) + } + + req, err := client.PutPrivateAccessVnetSlotPreparer(ctx, resourceGroupName, name, access, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "PutPrivateAccessVnetSlot", nil, "Failure preparing request") + return + } + + resp, err := client.PutPrivateAccessVnetSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "PutPrivateAccessVnetSlot", resp, "Failure sending request") + return + } + + result, err = client.PutPrivateAccessVnetSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "PutPrivateAccessVnetSlot", resp, "Failure responding to request") + } + + return +} + +// PutPrivateAccessVnetSlotPreparer prepares the PutPrivateAccessVnetSlot request. +func (client AppsClient) PutPrivateAccessVnetSlotPreparer(ctx context.Context, resourceGroupName string, name string, access PrivateAccess, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/privateAccess/virtualNetworks", pathParameters), + autorest.WithJSON(access), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// PutPrivateAccessVnetSlotSender sends the PutPrivateAccessVnetSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) PutPrivateAccessVnetSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// PutPrivateAccessVnetSlotResponder handles the response to the PutPrivateAccessVnetSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) PutPrivateAccessVnetSlotResponder(resp *http.Response) (result PrivateAccess, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// RecoverSiteConfigurationSnapshot reverts the configuration of an app to a previous snapshot. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// snapshotID - the ID of the snapshot to read. +func (client AppsClient) RecoverSiteConfigurationSnapshot(ctx context.Context, resourceGroupName string, name string, snapshotID string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.RecoverSiteConfigurationSnapshot") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "RecoverSiteConfigurationSnapshot", err.Error()) + } + + req, err := client.RecoverSiteConfigurationSnapshotPreparer(ctx, resourceGroupName, name, snapshotID) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "RecoverSiteConfigurationSnapshot", nil, "Failure preparing request") + return + } + + resp, err := client.RecoverSiteConfigurationSnapshotSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.AppsClient", "RecoverSiteConfigurationSnapshot", resp, "Failure sending request") + return + } + + result, err = client.RecoverSiteConfigurationSnapshotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "RecoverSiteConfigurationSnapshot", resp, "Failure responding to request") + } + + return +} + +// RecoverSiteConfigurationSnapshotPreparer prepares the RecoverSiteConfigurationSnapshot request. +func (client AppsClient) RecoverSiteConfigurationSnapshotPreparer(ctx context.Context, resourceGroupName string, name string, snapshotID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "snapshotId": autorest.Encode("path", snapshotID), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/web/snapshots/{snapshotId}/recover", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// RecoverSiteConfigurationSnapshotSender sends the RecoverSiteConfigurationSnapshot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) RecoverSiteConfigurationSnapshotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// RecoverSiteConfigurationSnapshotResponder handles the response to the RecoverSiteConfigurationSnapshot request. The method always +// closes the http.Response Body. +func (client AppsClient) RecoverSiteConfigurationSnapshotResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// RecoverSiteConfigurationSnapshotSlot reverts the configuration of an app to a previous snapshot. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// snapshotID - the ID of the snapshot to read. +// slot - name of the deployment slot. If a slot is not specified, the API will return configuration for the +// production slot. +func (client AppsClient) RecoverSiteConfigurationSnapshotSlot(ctx context.Context, resourceGroupName string, name string, snapshotID string, slot string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.RecoverSiteConfigurationSnapshotSlot") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "RecoverSiteConfigurationSnapshotSlot", err.Error()) + } + + req, err := client.RecoverSiteConfigurationSnapshotSlotPreparer(ctx, resourceGroupName, name, snapshotID, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "RecoverSiteConfigurationSnapshotSlot", nil, "Failure preparing request") + return + } + + resp, err := client.RecoverSiteConfigurationSnapshotSlotSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.AppsClient", "RecoverSiteConfigurationSnapshotSlot", resp, "Failure sending request") + return + } + + result, err = client.RecoverSiteConfigurationSnapshotSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "RecoverSiteConfigurationSnapshotSlot", resp, "Failure responding to request") + } + + return +} + +// RecoverSiteConfigurationSnapshotSlotPreparer prepares the RecoverSiteConfigurationSnapshotSlot request. +func (client AppsClient) RecoverSiteConfigurationSnapshotSlotPreparer(ctx context.Context, resourceGroupName string, name string, snapshotID string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "snapshotId": autorest.Encode("path", snapshotID), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/web/snapshots/{snapshotId}/recover", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// RecoverSiteConfigurationSnapshotSlotSender sends the RecoverSiteConfigurationSnapshotSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) RecoverSiteConfigurationSnapshotSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// RecoverSiteConfigurationSnapshotSlotResponder handles the response to the RecoverSiteConfigurationSnapshotSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) RecoverSiteConfigurationSnapshotSlotResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// ResetProductionSlotConfig resets the configuration settings of the current slot if they were previously modified by +// calling the API with POST. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +func (client AppsClient) ResetProductionSlotConfig(ctx context.Context, resourceGroupName string, name string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ResetProductionSlotConfig") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "ResetProductionSlotConfig", err.Error()) + } + + req, err := client.ResetProductionSlotConfigPreparer(ctx, resourceGroupName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ResetProductionSlotConfig", nil, "Failure preparing request") + return + } + + resp, err := client.ResetProductionSlotConfigSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.AppsClient", "ResetProductionSlotConfig", resp, "Failure sending request") + return + } + + result, err = client.ResetProductionSlotConfigResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ResetProductionSlotConfig", resp, "Failure responding to request") + } + + return +} + +// ResetProductionSlotConfigPreparer prepares the ResetProductionSlotConfig request. +func (client AppsClient) ResetProductionSlotConfigPreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/resetSlotConfig", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ResetProductionSlotConfigSender sends the ResetProductionSlotConfig request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ResetProductionSlotConfigSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ResetProductionSlotConfigResponder handles the response to the ResetProductionSlotConfig request. The method always +// closes the http.Response Body. +func (client AppsClient) ResetProductionSlotConfigResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByClosing()) + result.Response = resp + return +} + +// ResetSlotConfigurationSlot resets the configuration settings of the current slot if they were previously modified by +// calling the API with POST. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// slot - name of the deployment slot. If a slot is not specified, the API resets configuration settings for +// the production slot. +func (client AppsClient) ResetSlotConfigurationSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.ResetSlotConfigurationSlot") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "ResetSlotConfigurationSlot", err.Error()) + } + + req, err := client.ResetSlotConfigurationSlotPreparer(ctx, resourceGroupName, name, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ResetSlotConfigurationSlot", nil, "Failure preparing request") + return + } + + resp, err := client.ResetSlotConfigurationSlotSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.AppsClient", "ResetSlotConfigurationSlot", resp, "Failure sending request") + return + } + + result, err = client.ResetSlotConfigurationSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "ResetSlotConfigurationSlot", resp, "Failure responding to request") + } + + return +} + +// ResetSlotConfigurationSlotPreparer prepares the ResetSlotConfigurationSlot request. +func (client AppsClient) ResetSlotConfigurationSlotPreparer(ctx context.Context, resourceGroupName string, name string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/resetSlotConfig", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ResetSlotConfigurationSlotSender sends the ResetSlotConfigurationSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) ResetSlotConfigurationSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ResetSlotConfigurationSlotResponder handles the response to the ResetSlotConfigurationSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) ResetSlotConfigurationSlotResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByClosing()) + result.Response = resp + return +} + +// Restart restarts an app (or deployment slot, if specified). +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// softRestart - specify true to apply the configuration settings and restarts the app only if necessary. By +// default, the API always restarts and reprovisions the app. +// synchronous - specify true to block until the app is restarted. By default, it is set to false, and the API +// responds immediately (asynchronous). +func (client AppsClient) Restart(ctx context.Context, resourceGroupName string, name string, softRestart *bool, synchronous *bool) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.Restart") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "Restart", err.Error()) + } + + req, err := client.RestartPreparer(ctx, resourceGroupName, name, softRestart, synchronous) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "Restart", nil, "Failure preparing request") + return + } + + resp, err := client.RestartSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.AppsClient", "Restart", resp, "Failure sending request") + return + } + + result, err = client.RestartResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "Restart", resp, "Failure responding to request") + } + + return +} + +// RestartPreparer prepares the Restart request. +func (client AppsClient) RestartPreparer(ctx context.Context, resourceGroupName string, name string, softRestart *bool, synchronous *bool) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if softRestart != nil { + queryParameters["softRestart"] = autorest.Encode("query", *softRestart) + } + if synchronous != nil { + queryParameters["synchronous"] = autorest.Encode("query", *synchronous) + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/restart", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// RestartSender sends the Restart request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) RestartSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// RestartResponder handles the response to the Restart request. The method always +// closes the http.Response Body. +func (client AppsClient) RestartResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByClosing()) + result.Response = resp + return +} + +// RestartSlot restarts an app (or deployment slot, if specified). +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// slot - name of the deployment slot. If a slot is not specified, the API will restart the production slot. +// softRestart - specify true to apply the configuration settings and restarts the app only if necessary. By +// default, the API always restarts and reprovisions the app. +// synchronous - specify true to block until the app is restarted. By default, it is set to false, and the API +// responds immediately (asynchronous). +func (client AppsClient) RestartSlot(ctx context.Context, resourceGroupName string, name string, slot string, softRestart *bool, synchronous *bool) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.RestartSlot") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "RestartSlot", err.Error()) + } + + req, err := client.RestartSlotPreparer(ctx, resourceGroupName, name, slot, softRestart, synchronous) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "RestartSlot", nil, "Failure preparing request") + return + } + + resp, err := client.RestartSlotSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.AppsClient", "RestartSlot", resp, "Failure sending request") + return + } + + result, err = client.RestartSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "RestartSlot", resp, "Failure responding to request") + } + + return +} + +// RestartSlotPreparer prepares the RestartSlot request. +func (client AppsClient) RestartSlotPreparer(ctx context.Context, resourceGroupName string, name string, slot string, softRestart *bool, synchronous *bool) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if softRestart != nil { + queryParameters["softRestart"] = autorest.Encode("query", *softRestart) + } + if synchronous != nil { + queryParameters["synchronous"] = autorest.Encode("query", *synchronous) + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/restart", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// RestartSlotSender sends the RestartSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) RestartSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// RestartSlotResponder handles the response to the RestartSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) RestartSlotResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByClosing()) + result.Response = resp + return +} + +// Restore restores a specific backup to another app (or deployment slot, if specified). +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// backupID - ID of the backup. +// request - information on restore request . +func (client AppsClient) Restore(ctx context.Context, resourceGroupName string, name string, backupID string, request RestoreRequest) (result AppsRestoreFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.Restore") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}, + {TargetValue: request, + Constraints: []validation.Constraint{{Target: "request.RestoreRequestProperties", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "request.RestoreRequestProperties.StorageAccountURL", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "request.RestoreRequestProperties.Overwrite", Name: validation.Null, Rule: true, Chain: nil}, + }}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "Restore", err.Error()) + } + + req, err := client.RestorePreparer(ctx, resourceGroupName, name, backupID, request) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "Restore", nil, "Failure preparing request") + return + } + + result, err = client.RestoreSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "Restore", result.Response(), "Failure sending request") + return + } + + return +} + +// RestorePreparer prepares the Restore request. +func (client AppsClient) RestorePreparer(ctx context.Context, resourceGroupName string, name string, backupID string, request RestoreRequest) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "backupId": autorest.Encode("path", backupID), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/backups/{backupId}/restore", pathParameters), + autorest.WithJSON(request), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// RestoreSender sends the Restore request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) RestoreSender(req *http.Request) (future AppsRestoreFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// RestoreResponder handles the response to the Restore request. The method always +// closes the http.Response Body. +func (client AppsClient) RestoreResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByClosing()) + result.Response = resp + return +} + +// RestoreFromBackupBlob restores an app from a backup blob in Azure Storage. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// request - information on restore request . +func (client AppsClient) RestoreFromBackupBlob(ctx context.Context, resourceGroupName string, name string, request RestoreRequest) (result AppsRestoreFromBackupBlobFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.RestoreFromBackupBlob") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}, + {TargetValue: request, + Constraints: []validation.Constraint{{Target: "request.RestoreRequestProperties", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "request.RestoreRequestProperties.StorageAccountURL", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "request.RestoreRequestProperties.Overwrite", Name: validation.Null, Rule: true, Chain: nil}, + }}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "RestoreFromBackupBlob", err.Error()) + } + + req, err := client.RestoreFromBackupBlobPreparer(ctx, resourceGroupName, name, request) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "RestoreFromBackupBlob", nil, "Failure preparing request") + return + } + + result, err = client.RestoreFromBackupBlobSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "RestoreFromBackupBlob", result.Response(), "Failure sending request") + return + } + + return +} + +// RestoreFromBackupBlobPreparer prepares the RestoreFromBackupBlob request. +func (client AppsClient) RestoreFromBackupBlobPreparer(ctx context.Context, resourceGroupName string, name string, request RestoreRequest) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/restoreFromBackupBlob", pathParameters), + autorest.WithJSON(request), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// RestoreFromBackupBlobSender sends the RestoreFromBackupBlob request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) RestoreFromBackupBlobSender(req *http.Request) (future AppsRestoreFromBackupBlobFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// RestoreFromBackupBlobResponder handles the response to the RestoreFromBackupBlob request. The method always +// closes the http.Response Body. +func (client AppsClient) RestoreFromBackupBlobResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByClosing()) + result.Response = resp + return +} + +// RestoreFromBackupBlobSlot restores an app from a backup blob in Azure Storage. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// request - information on restore request . +// slot - name of the deployment slot. If a slot is not specified, the API will restore a backup of the +// production slot. +func (client AppsClient) RestoreFromBackupBlobSlot(ctx context.Context, resourceGroupName string, name string, request RestoreRequest, slot string) (result AppsRestoreFromBackupBlobSlotFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.RestoreFromBackupBlobSlot") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}, + {TargetValue: request, + Constraints: []validation.Constraint{{Target: "request.RestoreRequestProperties", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "request.RestoreRequestProperties.StorageAccountURL", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "request.RestoreRequestProperties.Overwrite", Name: validation.Null, Rule: true, Chain: nil}, + }}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "RestoreFromBackupBlobSlot", err.Error()) + } + + req, err := client.RestoreFromBackupBlobSlotPreparer(ctx, resourceGroupName, name, request, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "RestoreFromBackupBlobSlot", nil, "Failure preparing request") + return + } + + result, err = client.RestoreFromBackupBlobSlotSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "RestoreFromBackupBlobSlot", result.Response(), "Failure sending request") + return + } + + return +} + +// RestoreFromBackupBlobSlotPreparer prepares the RestoreFromBackupBlobSlot request. +func (client AppsClient) RestoreFromBackupBlobSlotPreparer(ctx context.Context, resourceGroupName string, name string, request RestoreRequest, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/restoreFromBackupBlob", pathParameters), + autorest.WithJSON(request), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// RestoreFromBackupBlobSlotSender sends the RestoreFromBackupBlobSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) RestoreFromBackupBlobSlotSender(req *http.Request) (future AppsRestoreFromBackupBlobSlotFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// RestoreFromBackupBlobSlotResponder handles the response to the RestoreFromBackupBlobSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) RestoreFromBackupBlobSlotResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByClosing()) + result.Response = resp + return +} + +// RestoreFromDeletedApp restores a deleted web app to this web app. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of web app. +// restoreRequest - deleted web app restore information. +func (client AppsClient) RestoreFromDeletedApp(ctx context.Context, resourceGroupName string, name string, restoreRequest DeletedAppRestoreRequest) (result AppsRestoreFromDeletedAppFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.RestoreFromDeletedApp") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "RestoreFromDeletedApp", err.Error()) + } + + req, err := client.RestoreFromDeletedAppPreparer(ctx, resourceGroupName, name, restoreRequest) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "RestoreFromDeletedApp", nil, "Failure preparing request") + return + } + + result, err = client.RestoreFromDeletedAppSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "RestoreFromDeletedApp", result.Response(), "Failure sending request") + return + } + + return +} + +// RestoreFromDeletedAppPreparer prepares the RestoreFromDeletedApp request. +func (client AppsClient) RestoreFromDeletedAppPreparer(ctx context.Context, resourceGroupName string, name string, restoreRequest DeletedAppRestoreRequest) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/restoreFromDeletedApp", pathParameters), + autorest.WithJSON(restoreRequest), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// RestoreFromDeletedAppSender sends the RestoreFromDeletedApp request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) RestoreFromDeletedAppSender(req *http.Request) (future AppsRestoreFromDeletedAppFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// RestoreFromDeletedAppResponder handles the response to the RestoreFromDeletedApp request. The method always +// closes the http.Response Body. +func (client AppsClient) RestoreFromDeletedAppResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByClosing()) + result.Response = resp + return +} + +// RestoreFromDeletedAppSlot restores a deleted web app to this web app. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of web app. +// restoreRequest - deleted web app restore information. +// slot - name of web app slot. If not specified then will default to production slot. +func (client AppsClient) RestoreFromDeletedAppSlot(ctx context.Context, resourceGroupName string, name string, restoreRequest DeletedAppRestoreRequest, slot string) (result AppsRestoreFromDeletedAppSlotFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.RestoreFromDeletedAppSlot") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "RestoreFromDeletedAppSlot", err.Error()) + } + + req, err := client.RestoreFromDeletedAppSlotPreparer(ctx, resourceGroupName, name, restoreRequest, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "RestoreFromDeletedAppSlot", nil, "Failure preparing request") + return + } + + result, err = client.RestoreFromDeletedAppSlotSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "RestoreFromDeletedAppSlot", result.Response(), "Failure sending request") + return + } + + return +} + +// RestoreFromDeletedAppSlotPreparer prepares the RestoreFromDeletedAppSlot request. +func (client AppsClient) RestoreFromDeletedAppSlotPreparer(ctx context.Context, resourceGroupName string, name string, restoreRequest DeletedAppRestoreRequest, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/restoreFromDeletedApp", pathParameters), + autorest.WithJSON(restoreRequest), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// RestoreFromDeletedAppSlotSender sends the RestoreFromDeletedAppSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) RestoreFromDeletedAppSlotSender(req *http.Request) (future AppsRestoreFromDeletedAppSlotFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// RestoreFromDeletedAppSlotResponder handles the response to the RestoreFromDeletedAppSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) RestoreFromDeletedAppSlotResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByClosing()) + result.Response = resp + return +} + +// RestoreSlot restores a specific backup to another app (or deployment slot, if specified). +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// backupID - ID of the backup. +// request - information on restore request . +// slot - name of the deployment slot. If a slot is not specified, the API will restore a backup of the +// production slot. +func (client AppsClient) RestoreSlot(ctx context.Context, resourceGroupName string, name string, backupID string, request RestoreRequest, slot string) (result AppsRestoreSlotFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.RestoreSlot") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}, + {TargetValue: request, + Constraints: []validation.Constraint{{Target: "request.RestoreRequestProperties", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "request.RestoreRequestProperties.StorageAccountURL", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "request.RestoreRequestProperties.Overwrite", Name: validation.Null, Rule: true, Chain: nil}, + }}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "RestoreSlot", err.Error()) + } + + req, err := client.RestoreSlotPreparer(ctx, resourceGroupName, name, backupID, request, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "RestoreSlot", nil, "Failure preparing request") + return + } + + result, err = client.RestoreSlotSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "RestoreSlot", result.Response(), "Failure sending request") + return + } + + return +} + +// RestoreSlotPreparer prepares the RestoreSlot request. +func (client AppsClient) RestoreSlotPreparer(ctx context.Context, resourceGroupName string, name string, backupID string, request RestoreRequest, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "backupId": autorest.Encode("path", backupID), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/backups/{backupId}/restore", pathParameters), + autorest.WithJSON(request), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// RestoreSlotSender sends the RestoreSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) RestoreSlotSender(req *http.Request) (future AppsRestoreSlotFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// RestoreSlotResponder handles the response to the RestoreSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) RestoreSlotResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByClosing()) + result.Response = resp + return +} + +// RestoreSnapshot restores a web app from a snapshot. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of web app. +// restoreRequest - snapshot restore settings. Snapshot information can be obtained by calling GetDeletedSites +// or GetSiteSnapshots API. +func (client AppsClient) RestoreSnapshot(ctx context.Context, resourceGroupName string, name string, restoreRequest SnapshotRestoreRequest) (result AppsRestoreSnapshotFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.RestoreSnapshot") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}, + {TargetValue: restoreRequest, + Constraints: []validation.Constraint{{Target: "restoreRequest.SnapshotRestoreRequestProperties", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "restoreRequest.SnapshotRestoreRequestProperties.Overwrite", Name: validation.Null, Rule: true, Chain: nil}}}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "RestoreSnapshot", err.Error()) + } + + req, err := client.RestoreSnapshotPreparer(ctx, resourceGroupName, name, restoreRequest) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "RestoreSnapshot", nil, "Failure preparing request") + return + } + + result, err = client.RestoreSnapshotSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "RestoreSnapshot", result.Response(), "Failure sending request") + return + } + + return +} + +// RestoreSnapshotPreparer prepares the RestoreSnapshot request. +func (client AppsClient) RestoreSnapshotPreparer(ctx context.Context, resourceGroupName string, name string, restoreRequest SnapshotRestoreRequest) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/restoreSnapshot", pathParameters), + autorest.WithJSON(restoreRequest), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// RestoreSnapshotSender sends the RestoreSnapshot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) RestoreSnapshotSender(req *http.Request) (future AppsRestoreSnapshotFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// RestoreSnapshotResponder handles the response to the RestoreSnapshot request. The method always +// closes the http.Response Body. +func (client AppsClient) RestoreSnapshotResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByClosing()) + result.Response = resp + return +} + +// RestoreSnapshotSlot restores a web app from a snapshot. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of web app. +// restoreRequest - snapshot restore settings. Snapshot information can be obtained by calling GetDeletedSites +// or GetSiteSnapshots API. +// slot - name of web app slot. If not specified then will default to production slot. +func (client AppsClient) RestoreSnapshotSlot(ctx context.Context, resourceGroupName string, name string, restoreRequest SnapshotRestoreRequest, slot string) (result AppsRestoreSnapshotSlotFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.RestoreSnapshotSlot") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}, + {TargetValue: restoreRequest, + Constraints: []validation.Constraint{{Target: "restoreRequest.SnapshotRestoreRequestProperties", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "restoreRequest.SnapshotRestoreRequestProperties.Overwrite", Name: validation.Null, Rule: true, Chain: nil}}}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "RestoreSnapshotSlot", err.Error()) + } + + req, err := client.RestoreSnapshotSlotPreparer(ctx, resourceGroupName, name, restoreRequest, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "RestoreSnapshotSlot", nil, "Failure preparing request") + return + } + + result, err = client.RestoreSnapshotSlotSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "RestoreSnapshotSlot", result.Response(), "Failure sending request") + return + } + + return +} + +// RestoreSnapshotSlotPreparer prepares the RestoreSnapshotSlot request. +func (client AppsClient) RestoreSnapshotSlotPreparer(ctx context.Context, resourceGroupName string, name string, restoreRequest SnapshotRestoreRequest, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/restoreSnapshot", pathParameters), + autorest.WithJSON(restoreRequest), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// RestoreSnapshotSlotSender sends the RestoreSnapshotSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) RestoreSnapshotSlotSender(req *http.Request) (future AppsRestoreSnapshotSlotFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// RestoreSnapshotSlotResponder handles the response to the RestoreSnapshotSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) RestoreSnapshotSlotResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByClosing()) + result.Response = resp + return +} + +// RunTriggeredWebJob run a triggered web job for an app, or a deployment slot. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - site name. +// webJobName - name of Web Job. +func (client AppsClient) RunTriggeredWebJob(ctx context.Context, resourceGroupName string, name string, webJobName string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.RunTriggeredWebJob") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "RunTriggeredWebJob", err.Error()) + } + + req, err := client.RunTriggeredWebJobPreparer(ctx, resourceGroupName, name, webJobName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "RunTriggeredWebJob", nil, "Failure preparing request") + return + } + + resp, err := client.RunTriggeredWebJobSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.AppsClient", "RunTriggeredWebJob", resp, "Failure sending request") + return + } + + result, err = client.RunTriggeredWebJobResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "RunTriggeredWebJob", resp, "Failure responding to request") + } + + return +} + +// RunTriggeredWebJobPreparer prepares the RunTriggeredWebJob request. +func (client AppsClient) RunTriggeredWebJobPreparer(ctx context.Context, resourceGroupName string, name string, webJobName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "webJobName": autorest.Encode("path", webJobName), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/triggeredwebjobs/{webJobName}/run", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// RunTriggeredWebJobSender sends the RunTriggeredWebJob request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) RunTriggeredWebJobSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// RunTriggeredWebJobResponder handles the response to the RunTriggeredWebJob request. The method always +// closes the http.Response Body. +func (client AppsClient) RunTriggeredWebJobResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByClosing()) + result.Response = resp + return +} + +// RunTriggeredWebJobSlot run a triggered web job for an app, or a deployment slot. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - site name. +// webJobName - name of Web Job. +// slot - name of the deployment slot. If a slot is not specified, the API deletes a deployment for the +// production slot. +func (client AppsClient) RunTriggeredWebJobSlot(ctx context.Context, resourceGroupName string, name string, webJobName string, slot string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.RunTriggeredWebJobSlot") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "RunTriggeredWebJobSlot", err.Error()) + } + + req, err := client.RunTriggeredWebJobSlotPreparer(ctx, resourceGroupName, name, webJobName, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "RunTriggeredWebJobSlot", nil, "Failure preparing request") + return + } + + resp, err := client.RunTriggeredWebJobSlotSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.AppsClient", "RunTriggeredWebJobSlot", resp, "Failure sending request") + return + } + + result, err = client.RunTriggeredWebJobSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "RunTriggeredWebJobSlot", resp, "Failure responding to request") + } + + return +} + +// RunTriggeredWebJobSlotPreparer prepares the RunTriggeredWebJobSlot request. +func (client AppsClient) RunTriggeredWebJobSlotPreparer(ctx context.Context, resourceGroupName string, name string, webJobName string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "webJobName": autorest.Encode("path", webJobName), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/triggeredwebjobs/{webJobName}/run", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// RunTriggeredWebJobSlotSender sends the RunTriggeredWebJobSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) RunTriggeredWebJobSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// RunTriggeredWebJobSlotResponder handles the response to the RunTriggeredWebJobSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) RunTriggeredWebJobSlotResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByClosing()) + result.Response = resp + return +} + +// Start starts an app (or deployment slot, if specified). +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +func (client AppsClient) Start(ctx context.Context, resourceGroupName string, name string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.Start") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "Start", err.Error()) + } + + req, err := client.StartPreparer(ctx, resourceGroupName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "Start", nil, "Failure preparing request") + return + } + + resp, err := client.StartSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.AppsClient", "Start", resp, "Failure sending request") + return + } + + result, err = client.StartResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "Start", resp, "Failure responding to request") + } + + return +} + +// StartPreparer prepares the Start request. +func (client AppsClient) StartPreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/start", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// StartSender sends the Start request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) StartSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// StartResponder handles the response to the Start request. The method always +// closes the http.Response Body. +func (client AppsClient) StartResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByClosing()) + result.Response = resp + return +} + +// StartContinuousWebJob start a continuous web job for an app, or a deployment slot. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - site name. +// webJobName - name of Web Job. +func (client AppsClient) StartContinuousWebJob(ctx context.Context, resourceGroupName string, name string, webJobName string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.StartContinuousWebJob") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "StartContinuousWebJob", err.Error()) + } + + req, err := client.StartContinuousWebJobPreparer(ctx, resourceGroupName, name, webJobName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "StartContinuousWebJob", nil, "Failure preparing request") + return + } + + resp, err := client.StartContinuousWebJobSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.AppsClient", "StartContinuousWebJob", resp, "Failure sending request") + return + } + + result, err = client.StartContinuousWebJobResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "StartContinuousWebJob", resp, "Failure responding to request") + } + + return +} + +// StartContinuousWebJobPreparer prepares the StartContinuousWebJob request. +func (client AppsClient) StartContinuousWebJobPreparer(ctx context.Context, resourceGroupName string, name string, webJobName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "webJobName": autorest.Encode("path", webJobName), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/continuouswebjobs/{webJobName}/start", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// StartContinuousWebJobSender sends the StartContinuousWebJob request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) StartContinuousWebJobSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// StartContinuousWebJobResponder handles the response to the StartContinuousWebJob request. The method always +// closes the http.Response Body. +func (client AppsClient) StartContinuousWebJobResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByClosing()) + result.Response = resp + return +} + +// StartContinuousWebJobSlot start a continuous web job for an app, or a deployment slot. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - site name. +// webJobName - name of Web Job. +// slot - name of the deployment slot. If a slot is not specified, the API deletes a deployment for the +// production slot. +func (client AppsClient) StartContinuousWebJobSlot(ctx context.Context, resourceGroupName string, name string, webJobName string, slot string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.StartContinuousWebJobSlot") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "StartContinuousWebJobSlot", err.Error()) + } + + req, err := client.StartContinuousWebJobSlotPreparer(ctx, resourceGroupName, name, webJobName, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "StartContinuousWebJobSlot", nil, "Failure preparing request") + return + } + + resp, err := client.StartContinuousWebJobSlotSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.AppsClient", "StartContinuousWebJobSlot", resp, "Failure sending request") + return + } + + result, err = client.StartContinuousWebJobSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "StartContinuousWebJobSlot", resp, "Failure responding to request") + } + + return +} + +// StartContinuousWebJobSlotPreparer prepares the StartContinuousWebJobSlot request. +func (client AppsClient) StartContinuousWebJobSlotPreparer(ctx context.Context, resourceGroupName string, name string, webJobName string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "webJobName": autorest.Encode("path", webJobName), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/continuouswebjobs/{webJobName}/start", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// StartContinuousWebJobSlotSender sends the StartContinuousWebJobSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) StartContinuousWebJobSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// StartContinuousWebJobSlotResponder handles the response to the StartContinuousWebJobSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) StartContinuousWebJobSlotResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByClosing()) + result.Response = resp + return +} + +// StartNetworkTrace start capturing network packets for the site. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - the name of the web app. +// durationInSeconds - the duration to keep capturing in seconds. +// maxFrameLength - the maximum frame length in bytes (Optional). +// sasURL - the Blob URL to store capture file. +func (client AppsClient) StartNetworkTrace(ctx context.Context, resourceGroupName string, name string, durationInSeconds *int32, maxFrameLength *int32, sasURL string) (result AppsStartNetworkTraceFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.StartNetworkTrace") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "StartNetworkTrace", err.Error()) + } + + req, err := client.StartNetworkTracePreparer(ctx, resourceGroupName, name, durationInSeconds, maxFrameLength, sasURL) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "StartNetworkTrace", nil, "Failure preparing request") + return + } + + result, err = client.StartNetworkTraceSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "StartNetworkTrace", result.Response(), "Failure sending request") + return + } + + return +} + +// StartNetworkTracePreparer prepares the StartNetworkTrace request. +func (client AppsClient) StartNetworkTracePreparer(ctx context.Context, resourceGroupName string, name string, durationInSeconds *int32, maxFrameLength *int32, sasURL string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if durationInSeconds != nil { + queryParameters["durationInSeconds"] = autorest.Encode("query", *durationInSeconds) + } + if maxFrameLength != nil { + queryParameters["maxFrameLength"] = autorest.Encode("query", *maxFrameLength) + } + if len(sasURL) > 0 { + queryParameters["sasUrl"] = autorest.Encode("query", sasURL) + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/startNetworkTrace", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// StartNetworkTraceSender sends the StartNetworkTrace request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) StartNetworkTraceSender(req *http.Request) (future AppsStartNetworkTraceFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// StartNetworkTraceResponder handles the response to the StartNetworkTrace request. The method always +// closes the http.Response Body. +func (client AppsClient) StartNetworkTraceResponder(resp *http.Response) (result ListNetworkTrace, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// StartNetworkTraceSlot start capturing network packets for the site. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - the name of the web app. +// slot - the name of the slot for this web app. +// durationInSeconds - the duration to keep capturing in seconds. +// maxFrameLength - the maximum frame length in bytes (Optional). +// sasURL - the Blob URL to store capture file. +func (client AppsClient) StartNetworkTraceSlot(ctx context.Context, resourceGroupName string, name string, slot string, durationInSeconds *int32, maxFrameLength *int32, sasURL string) (result AppsStartNetworkTraceSlotFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.StartNetworkTraceSlot") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "StartNetworkTraceSlot", err.Error()) + } + + req, err := client.StartNetworkTraceSlotPreparer(ctx, resourceGroupName, name, slot, durationInSeconds, maxFrameLength, sasURL) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "StartNetworkTraceSlot", nil, "Failure preparing request") + return + } + + result, err = client.StartNetworkTraceSlotSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "StartNetworkTraceSlot", result.Response(), "Failure sending request") + return + } + + return +} + +// StartNetworkTraceSlotPreparer prepares the StartNetworkTraceSlot request. +func (client AppsClient) StartNetworkTraceSlotPreparer(ctx context.Context, resourceGroupName string, name string, slot string, durationInSeconds *int32, maxFrameLength *int32, sasURL string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if durationInSeconds != nil { + queryParameters["durationInSeconds"] = autorest.Encode("query", *durationInSeconds) + } + if maxFrameLength != nil { + queryParameters["maxFrameLength"] = autorest.Encode("query", *maxFrameLength) + } + if len(sasURL) > 0 { + queryParameters["sasUrl"] = autorest.Encode("query", sasURL) + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/startNetworkTrace", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// StartNetworkTraceSlotSender sends the StartNetworkTraceSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) StartNetworkTraceSlotSender(req *http.Request) (future AppsStartNetworkTraceSlotFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// StartNetworkTraceSlotResponder handles the response to the StartNetworkTraceSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) StartNetworkTraceSlotResponder(resp *http.Response) (result ListNetworkTrace, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// StartSlot starts an app (or deployment slot, if specified). +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// slot - name of the deployment slot. If a slot is not specified, the API will start the production slot. +func (client AppsClient) StartSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.StartSlot") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "StartSlot", err.Error()) + } + + req, err := client.StartSlotPreparer(ctx, resourceGroupName, name, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "StartSlot", nil, "Failure preparing request") + return + } + + resp, err := client.StartSlotSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.AppsClient", "StartSlot", resp, "Failure sending request") + return + } + + result, err = client.StartSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "StartSlot", resp, "Failure responding to request") + } + + return +} + +// StartSlotPreparer prepares the StartSlot request. +func (client AppsClient) StartSlotPreparer(ctx context.Context, resourceGroupName string, name string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/start", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// StartSlotSender sends the StartSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) StartSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// StartSlotResponder handles the response to the StartSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) StartSlotResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByClosing()) + result.Response = resp + return +} + +// StartWebSiteNetworkTrace start capturing network packets for the site (To be deprecated). +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - the name of the web app. +// durationInSeconds - the duration to keep capturing in seconds. +// maxFrameLength - the maximum frame length in bytes (Optional). +// sasURL - the Blob URL to store capture file. +func (client AppsClient) StartWebSiteNetworkTrace(ctx context.Context, resourceGroupName string, name string, durationInSeconds *int32, maxFrameLength *int32, sasURL string) (result String, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.StartWebSiteNetworkTrace") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "StartWebSiteNetworkTrace", err.Error()) + } + + req, err := client.StartWebSiteNetworkTracePreparer(ctx, resourceGroupName, name, durationInSeconds, maxFrameLength, sasURL) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "StartWebSiteNetworkTrace", nil, "Failure preparing request") + return + } + + resp, err := client.StartWebSiteNetworkTraceSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "StartWebSiteNetworkTrace", resp, "Failure sending request") + return + } + + result, err = client.StartWebSiteNetworkTraceResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "StartWebSiteNetworkTrace", resp, "Failure responding to request") + } + + return +} + +// StartWebSiteNetworkTracePreparer prepares the StartWebSiteNetworkTrace request. +func (client AppsClient) StartWebSiteNetworkTracePreparer(ctx context.Context, resourceGroupName string, name string, durationInSeconds *int32, maxFrameLength *int32, sasURL string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if durationInSeconds != nil { + queryParameters["durationInSeconds"] = autorest.Encode("query", *durationInSeconds) + } + if maxFrameLength != nil { + queryParameters["maxFrameLength"] = autorest.Encode("query", *maxFrameLength) + } + if len(sasURL) > 0 { + queryParameters["sasUrl"] = autorest.Encode("query", sasURL) + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/networkTrace/start", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// StartWebSiteNetworkTraceSender sends the StartWebSiteNetworkTrace request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) StartWebSiteNetworkTraceSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// StartWebSiteNetworkTraceResponder handles the response to the StartWebSiteNetworkTrace request. The method always +// closes the http.Response Body. +func (client AppsClient) StartWebSiteNetworkTraceResponder(resp *http.Response) (result String, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result.Value), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// StartWebSiteNetworkTraceOperation start capturing network packets for the site. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - the name of the web app. +// durationInSeconds - the duration to keep capturing in seconds. +// maxFrameLength - the maximum frame length in bytes (Optional). +// sasURL - the Blob URL to store capture file. +func (client AppsClient) StartWebSiteNetworkTraceOperation(ctx context.Context, resourceGroupName string, name string, durationInSeconds *int32, maxFrameLength *int32, sasURL string) (result AppsStartWebSiteNetworkTraceOperationFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.StartWebSiteNetworkTraceOperation") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "StartWebSiteNetworkTraceOperation", err.Error()) + } + + req, err := client.StartWebSiteNetworkTraceOperationPreparer(ctx, resourceGroupName, name, durationInSeconds, maxFrameLength, sasURL) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "StartWebSiteNetworkTraceOperation", nil, "Failure preparing request") + return + } + + result, err = client.StartWebSiteNetworkTraceOperationSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "StartWebSiteNetworkTraceOperation", result.Response(), "Failure sending request") + return + } + + return +} + +// StartWebSiteNetworkTraceOperationPreparer prepares the StartWebSiteNetworkTraceOperation request. +func (client AppsClient) StartWebSiteNetworkTraceOperationPreparer(ctx context.Context, resourceGroupName string, name string, durationInSeconds *int32, maxFrameLength *int32, sasURL string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if durationInSeconds != nil { + queryParameters["durationInSeconds"] = autorest.Encode("query", *durationInSeconds) + } + if maxFrameLength != nil { + queryParameters["maxFrameLength"] = autorest.Encode("query", *maxFrameLength) + } + if len(sasURL) > 0 { + queryParameters["sasUrl"] = autorest.Encode("query", sasURL) + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/networkTrace/startOperation", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// StartWebSiteNetworkTraceOperationSender sends the StartWebSiteNetworkTraceOperation request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) StartWebSiteNetworkTraceOperationSender(req *http.Request) (future AppsStartWebSiteNetworkTraceOperationFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// StartWebSiteNetworkTraceOperationResponder handles the response to the StartWebSiteNetworkTraceOperation request. The method always +// closes the http.Response Body. +func (client AppsClient) StartWebSiteNetworkTraceOperationResponder(resp *http.Response) (result ListNetworkTrace, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// StartWebSiteNetworkTraceOperationSlot start capturing network packets for the site. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - the name of the web app. +// slot - the name of the slot for this web app. +// durationInSeconds - the duration to keep capturing in seconds. +// maxFrameLength - the maximum frame length in bytes (Optional). +// sasURL - the Blob URL to store capture file. +func (client AppsClient) StartWebSiteNetworkTraceOperationSlot(ctx context.Context, resourceGroupName string, name string, slot string, durationInSeconds *int32, maxFrameLength *int32, sasURL string) (result AppsStartWebSiteNetworkTraceOperationSlotFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.StartWebSiteNetworkTraceOperationSlot") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "StartWebSiteNetworkTraceOperationSlot", err.Error()) + } + + req, err := client.StartWebSiteNetworkTraceOperationSlotPreparer(ctx, resourceGroupName, name, slot, durationInSeconds, maxFrameLength, sasURL) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "StartWebSiteNetworkTraceOperationSlot", nil, "Failure preparing request") + return + } + + result, err = client.StartWebSiteNetworkTraceOperationSlotSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "StartWebSiteNetworkTraceOperationSlot", result.Response(), "Failure sending request") + return + } + + return +} + +// StartWebSiteNetworkTraceOperationSlotPreparer prepares the StartWebSiteNetworkTraceOperationSlot request. +func (client AppsClient) StartWebSiteNetworkTraceOperationSlotPreparer(ctx context.Context, resourceGroupName string, name string, slot string, durationInSeconds *int32, maxFrameLength *int32, sasURL string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if durationInSeconds != nil { + queryParameters["durationInSeconds"] = autorest.Encode("query", *durationInSeconds) + } + if maxFrameLength != nil { + queryParameters["maxFrameLength"] = autorest.Encode("query", *maxFrameLength) + } + if len(sasURL) > 0 { + queryParameters["sasUrl"] = autorest.Encode("query", sasURL) + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/networkTrace/startOperation", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// StartWebSiteNetworkTraceOperationSlotSender sends the StartWebSiteNetworkTraceOperationSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) StartWebSiteNetworkTraceOperationSlotSender(req *http.Request) (future AppsStartWebSiteNetworkTraceOperationSlotFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// StartWebSiteNetworkTraceOperationSlotResponder handles the response to the StartWebSiteNetworkTraceOperationSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) StartWebSiteNetworkTraceOperationSlotResponder(resp *http.Response) (result ListNetworkTrace, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// StartWebSiteNetworkTraceSlot start capturing network packets for the site (To be deprecated). +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - the name of the web app. +// slot - the name of the slot for this web app. +// durationInSeconds - the duration to keep capturing in seconds. +// maxFrameLength - the maximum frame length in bytes (Optional). +// sasURL - the Blob URL to store capture file. +func (client AppsClient) StartWebSiteNetworkTraceSlot(ctx context.Context, resourceGroupName string, name string, slot string, durationInSeconds *int32, maxFrameLength *int32, sasURL string) (result String, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.StartWebSiteNetworkTraceSlot") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "StartWebSiteNetworkTraceSlot", err.Error()) + } + + req, err := client.StartWebSiteNetworkTraceSlotPreparer(ctx, resourceGroupName, name, slot, durationInSeconds, maxFrameLength, sasURL) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "StartWebSiteNetworkTraceSlot", nil, "Failure preparing request") + return + } + + resp, err := client.StartWebSiteNetworkTraceSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "StartWebSiteNetworkTraceSlot", resp, "Failure sending request") + return + } + + result, err = client.StartWebSiteNetworkTraceSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "StartWebSiteNetworkTraceSlot", resp, "Failure responding to request") + } + + return +} + +// StartWebSiteNetworkTraceSlotPreparer prepares the StartWebSiteNetworkTraceSlot request. +func (client AppsClient) StartWebSiteNetworkTraceSlotPreparer(ctx context.Context, resourceGroupName string, name string, slot string, durationInSeconds *int32, maxFrameLength *int32, sasURL string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if durationInSeconds != nil { + queryParameters["durationInSeconds"] = autorest.Encode("query", *durationInSeconds) + } + if maxFrameLength != nil { + queryParameters["maxFrameLength"] = autorest.Encode("query", *maxFrameLength) + } + if len(sasURL) > 0 { + queryParameters["sasUrl"] = autorest.Encode("query", sasURL) + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/networkTrace/start", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// StartWebSiteNetworkTraceSlotSender sends the StartWebSiteNetworkTraceSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) StartWebSiteNetworkTraceSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// StartWebSiteNetworkTraceSlotResponder handles the response to the StartWebSiteNetworkTraceSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) StartWebSiteNetworkTraceSlotResponder(resp *http.Response) (result String, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result.Value), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Stop stops an app (or deployment slot, if specified). +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +func (client AppsClient) Stop(ctx context.Context, resourceGroupName string, name string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.Stop") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "Stop", err.Error()) + } + + req, err := client.StopPreparer(ctx, resourceGroupName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "Stop", nil, "Failure preparing request") + return + } + + resp, err := client.StopSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.AppsClient", "Stop", resp, "Failure sending request") + return + } + + result, err = client.StopResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "Stop", resp, "Failure responding to request") + } + + return +} + +// StopPreparer prepares the Stop request. +func (client AppsClient) StopPreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/stop", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// StopSender sends the Stop request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) StopSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// StopResponder handles the response to the Stop request. The method always +// closes the http.Response Body. +func (client AppsClient) StopResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByClosing()) + result.Response = resp + return +} + +// StopContinuousWebJob stop a continuous web job for an app, or a deployment slot. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - site name. +// webJobName - name of Web Job. +func (client AppsClient) StopContinuousWebJob(ctx context.Context, resourceGroupName string, name string, webJobName string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.StopContinuousWebJob") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "StopContinuousWebJob", err.Error()) + } + + req, err := client.StopContinuousWebJobPreparer(ctx, resourceGroupName, name, webJobName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "StopContinuousWebJob", nil, "Failure preparing request") + return + } + + resp, err := client.StopContinuousWebJobSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.AppsClient", "StopContinuousWebJob", resp, "Failure sending request") + return + } + + result, err = client.StopContinuousWebJobResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "StopContinuousWebJob", resp, "Failure responding to request") + } + + return +} + +// StopContinuousWebJobPreparer prepares the StopContinuousWebJob request. +func (client AppsClient) StopContinuousWebJobPreparer(ctx context.Context, resourceGroupName string, name string, webJobName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "webJobName": autorest.Encode("path", webJobName), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/continuouswebjobs/{webJobName}/stop", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// StopContinuousWebJobSender sends the StopContinuousWebJob request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) StopContinuousWebJobSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// StopContinuousWebJobResponder handles the response to the StopContinuousWebJob request. The method always +// closes the http.Response Body. +func (client AppsClient) StopContinuousWebJobResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByClosing()) + result.Response = resp + return +} + +// StopContinuousWebJobSlot stop a continuous web job for an app, or a deployment slot. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - site name. +// webJobName - name of Web Job. +// slot - name of the deployment slot. If a slot is not specified, the API deletes a deployment for the +// production slot. +func (client AppsClient) StopContinuousWebJobSlot(ctx context.Context, resourceGroupName string, name string, webJobName string, slot string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.StopContinuousWebJobSlot") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "StopContinuousWebJobSlot", err.Error()) + } + + req, err := client.StopContinuousWebJobSlotPreparer(ctx, resourceGroupName, name, webJobName, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "StopContinuousWebJobSlot", nil, "Failure preparing request") + return + } + + resp, err := client.StopContinuousWebJobSlotSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.AppsClient", "StopContinuousWebJobSlot", resp, "Failure sending request") + return + } + + result, err = client.StopContinuousWebJobSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "StopContinuousWebJobSlot", resp, "Failure responding to request") + } + + return +} + +// StopContinuousWebJobSlotPreparer prepares the StopContinuousWebJobSlot request. +func (client AppsClient) StopContinuousWebJobSlotPreparer(ctx context.Context, resourceGroupName string, name string, webJobName string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "webJobName": autorest.Encode("path", webJobName), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/continuouswebjobs/{webJobName}/stop", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// StopContinuousWebJobSlotSender sends the StopContinuousWebJobSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) StopContinuousWebJobSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// StopContinuousWebJobSlotResponder handles the response to the StopContinuousWebJobSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) StopContinuousWebJobSlotResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByClosing()) + result.Response = resp + return +} + +// StopNetworkTrace stop ongoing capturing network packets for the site. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - the name of the web app. +func (client AppsClient) StopNetworkTrace(ctx context.Context, resourceGroupName string, name string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.StopNetworkTrace") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "StopNetworkTrace", err.Error()) + } + + req, err := client.StopNetworkTracePreparer(ctx, resourceGroupName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "StopNetworkTrace", nil, "Failure preparing request") + return + } + + resp, err := client.StopNetworkTraceSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.AppsClient", "StopNetworkTrace", resp, "Failure sending request") + return + } + + result, err = client.StopNetworkTraceResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "StopNetworkTrace", resp, "Failure responding to request") + } + + return +} + +// StopNetworkTracePreparer prepares the StopNetworkTrace request. +func (client AppsClient) StopNetworkTracePreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/stopNetworkTrace", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// StopNetworkTraceSender sends the StopNetworkTrace request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) StopNetworkTraceSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// StopNetworkTraceResponder handles the response to the StopNetworkTrace request. The method always +// closes the http.Response Body. +func (client AppsClient) StopNetworkTraceResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// StopNetworkTraceSlot stop ongoing capturing network packets for the site. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - the name of the web app. +// slot - the name of the slot for this web app. +func (client AppsClient) StopNetworkTraceSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.StopNetworkTraceSlot") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "StopNetworkTraceSlot", err.Error()) + } + + req, err := client.StopNetworkTraceSlotPreparer(ctx, resourceGroupName, name, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "StopNetworkTraceSlot", nil, "Failure preparing request") + return + } + + resp, err := client.StopNetworkTraceSlotSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.AppsClient", "StopNetworkTraceSlot", resp, "Failure sending request") + return + } + + result, err = client.StopNetworkTraceSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "StopNetworkTraceSlot", resp, "Failure responding to request") + } + + return +} + +// StopNetworkTraceSlotPreparer prepares the StopNetworkTraceSlot request. +func (client AppsClient) StopNetworkTraceSlotPreparer(ctx context.Context, resourceGroupName string, name string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/stopNetworkTrace", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// StopNetworkTraceSlotSender sends the StopNetworkTraceSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) StopNetworkTraceSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// StopNetworkTraceSlotResponder handles the response to the StopNetworkTraceSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) StopNetworkTraceSlotResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// StopSlot stops an app (or deployment slot, if specified). +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// slot - name of the deployment slot. If a slot is not specified, the API will stop the production slot. +func (client AppsClient) StopSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.StopSlot") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "StopSlot", err.Error()) + } + + req, err := client.StopSlotPreparer(ctx, resourceGroupName, name, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "StopSlot", nil, "Failure preparing request") + return + } + + resp, err := client.StopSlotSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.AppsClient", "StopSlot", resp, "Failure sending request") + return + } + + result, err = client.StopSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "StopSlot", resp, "Failure responding to request") + } + + return +} + +// StopSlotPreparer prepares the StopSlot request. +func (client AppsClient) StopSlotPreparer(ctx context.Context, resourceGroupName string, name string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/stop", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// StopSlotSender sends the StopSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) StopSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// StopSlotResponder handles the response to the StopSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) StopSlotResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByClosing()) + result.Response = resp + return +} + +// StopWebSiteNetworkTrace stop ongoing capturing network packets for the site. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - the name of the web app. +func (client AppsClient) StopWebSiteNetworkTrace(ctx context.Context, resourceGroupName string, name string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.StopWebSiteNetworkTrace") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "StopWebSiteNetworkTrace", err.Error()) + } + + req, err := client.StopWebSiteNetworkTracePreparer(ctx, resourceGroupName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "StopWebSiteNetworkTrace", nil, "Failure preparing request") + return + } + + resp, err := client.StopWebSiteNetworkTraceSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.AppsClient", "StopWebSiteNetworkTrace", resp, "Failure sending request") + return + } + + result, err = client.StopWebSiteNetworkTraceResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "StopWebSiteNetworkTrace", resp, "Failure responding to request") + } + + return +} + +// StopWebSiteNetworkTracePreparer prepares the StopWebSiteNetworkTrace request. +func (client AppsClient) StopWebSiteNetworkTracePreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/networkTrace/stop", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// StopWebSiteNetworkTraceSender sends the StopWebSiteNetworkTrace request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) StopWebSiteNetworkTraceSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// StopWebSiteNetworkTraceResponder handles the response to the StopWebSiteNetworkTrace request. The method always +// closes the http.Response Body. +func (client AppsClient) StopWebSiteNetworkTraceResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// StopWebSiteNetworkTraceSlot stop ongoing capturing network packets for the site. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - the name of the web app. +// slot - the name of the slot for this web app. +func (client AppsClient) StopWebSiteNetworkTraceSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.StopWebSiteNetworkTraceSlot") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "StopWebSiteNetworkTraceSlot", err.Error()) + } + + req, err := client.StopWebSiteNetworkTraceSlotPreparer(ctx, resourceGroupName, name, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "StopWebSiteNetworkTraceSlot", nil, "Failure preparing request") + return + } + + resp, err := client.StopWebSiteNetworkTraceSlotSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.AppsClient", "StopWebSiteNetworkTraceSlot", resp, "Failure sending request") + return + } + + result, err = client.StopWebSiteNetworkTraceSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "StopWebSiteNetworkTraceSlot", resp, "Failure responding to request") + } + + return +} + +// StopWebSiteNetworkTraceSlotPreparer prepares the StopWebSiteNetworkTraceSlot request. +func (client AppsClient) StopWebSiteNetworkTraceSlotPreparer(ctx context.Context, resourceGroupName string, name string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/networkTrace/stop", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// StopWebSiteNetworkTraceSlotSender sends the StopWebSiteNetworkTraceSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) StopWebSiteNetworkTraceSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// StopWebSiteNetworkTraceSlotResponder handles the response to the StopWebSiteNetworkTraceSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) StopWebSiteNetworkTraceSlotResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// SwapSlotSlot swaps two deployment slots of an app. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// slotSwapEntity - JSON object that contains the target slot name. See example. +// slot - name of the source slot. If a slot is not specified, the production slot is used as the source slot. +func (client AppsClient) SwapSlotSlot(ctx context.Context, resourceGroupName string, name string, slotSwapEntity CsmSlotEntity, slot string) (result AppsSwapSlotSlotFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.SwapSlotSlot") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}, + {TargetValue: slotSwapEntity, + Constraints: []validation.Constraint{{Target: "slotSwapEntity.TargetSlot", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "slotSwapEntity.PreserveVnet", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "SwapSlotSlot", err.Error()) + } + + req, err := client.SwapSlotSlotPreparer(ctx, resourceGroupName, name, slotSwapEntity, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "SwapSlotSlot", nil, "Failure preparing request") + return + } + + result, err = client.SwapSlotSlotSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "SwapSlotSlot", result.Response(), "Failure sending request") + return + } + + return +} + +// SwapSlotSlotPreparer prepares the SwapSlotSlot request. +func (client AppsClient) SwapSlotSlotPreparer(ctx context.Context, resourceGroupName string, name string, slotSwapEntity CsmSlotEntity, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/slotsswap", pathParameters), + autorest.WithJSON(slotSwapEntity), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// SwapSlotSlotSender sends the SwapSlotSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) SwapSlotSlotSender(req *http.Request) (future AppsSwapSlotSlotFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// SwapSlotSlotResponder handles the response to the SwapSlotSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) SwapSlotSlotResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByClosing()) + result.Response = resp + return +} + +// SwapSlotWithProduction swaps two deployment slots of an app. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// slotSwapEntity - JSON object that contains the target slot name. See example. +func (client AppsClient) SwapSlotWithProduction(ctx context.Context, resourceGroupName string, name string, slotSwapEntity CsmSlotEntity) (result AppsSwapSlotWithProductionFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.SwapSlotWithProduction") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}, + {TargetValue: slotSwapEntity, + Constraints: []validation.Constraint{{Target: "slotSwapEntity.TargetSlot", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "slotSwapEntity.PreserveVnet", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "SwapSlotWithProduction", err.Error()) + } + + req, err := client.SwapSlotWithProductionPreparer(ctx, resourceGroupName, name, slotSwapEntity) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "SwapSlotWithProduction", nil, "Failure preparing request") + return + } + + result, err = client.SwapSlotWithProductionSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "SwapSlotWithProduction", result.Response(), "Failure sending request") + return + } + + return +} + +// SwapSlotWithProductionPreparer prepares the SwapSlotWithProduction request. +func (client AppsClient) SwapSlotWithProductionPreparer(ctx context.Context, resourceGroupName string, name string, slotSwapEntity CsmSlotEntity) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slotsswap", pathParameters), + autorest.WithJSON(slotSwapEntity), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// SwapSlotWithProductionSender sends the SwapSlotWithProduction request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) SwapSlotWithProductionSender(req *http.Request) (future AppsSwapSlotWithProductionFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// SwapSlotWithProductionResponder handles the response to the SwapSlotWithProduction request. The method always +// closes the http.Response Body. +func (client AppsClient) SwapSlotWithProductionResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByClosing()) + result.Response = resp + return +} + +// SyncFunctionTriggers syncs function trigger metadata to the scale controller +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +func (client AppsClient) SyncFunctionTriggers(ctx context.Context, resourceGroupName string, name string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.SyncFunctionTriggers") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "SyncFunctionTriggers", err.Error()) + } + + req, err := client.SyncFunctionTriggersPreparer(ctx, resourceGroupName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "SyncFunctionTriggers", nil, "Failure preparing request") + return + } + + resp, err := client.SyncFunctionTriggersSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.AppsClient", "SyncFunctionTriggers", resp, "Failure sending request") + return + } + + result, err = client.SyncFunctionTriggersResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "SyncFunctionTriggers", resp, "Failure responding to request") + } + + return +} + +// SyncFunctionTriggersPreparer prepares the SyncFunctionTriggers request. +func (client AppsClient) SyncFunctionTriggersPreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/syncfunctiontriggers", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// SyncFunctionTriggersSender sends the SyncFunctionTriggers request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) SyncFunctionTriggersSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// SyncFunctionTriggersResponder handles the response to the SyncFunctionTriggers request. The method always +// closes the http.Response Body. +func (client AppsClient) SyncFunctionTriggersResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// SyncFunctionTriggersSlot syncs function trigger metadata to the scale controller +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// slot - name of the deployment slot. If a slot is not specified, the API will restore a backup of the +// production slot. +func (client AppsClient) SyncFunctionTriggersSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.SyncFunctionTriggersSlot") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "SyncFunctionTriggersSlot", err.Error()) + } + + req, err := client.SyncFunctionTriggersSlotPreparer(ctx, resourceGroupName, name, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "SyncFunctionTriggersSlot", nil, "Failure preparing request") + return + } + + resp, err := client.SyncFunctionTriggersSlotSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.AppsClient", "SyncFunctionTriggersSlot", resp, "Failure sending request") + return + } + + result, err = client.SyncFunctionTriggersSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "SyncFunctionTriggersSlot", resp, "Failure responding to request") + } + + return +} + +// SyncFunctionTriggersSlotPreparer prepares the SyncFunctionTriggersSlot request. +func (client AppsClient) SyncFunctionTriggersSlotPreparer(ctx context.Context, resourceGroupName string, name string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/syncfunctiontriggers", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// SyncFunctionTriggersSlotSender sends the SyncFunctionTriggersSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) SyncFunctionTriggersSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// SyncFunctionTriggersSlotResponder handles the response to the SyncFunctionTriggersSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) SyncFunctionTriggersSlotResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// SyncRepository sync web app repository. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of web app. +func (client AppsClient) SyncRepository(ctx context.Context, resourceGroupName string, name string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.SyncRepository") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "SyncRepository", err.Error()) + } + + req, err := client.SyncRepositoryPreparer(ctx, resourceGroupName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "SyncRepository", nil, "Failure preparing request") + return + } + + resp, err := client.SyncRepositorySender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.AppsClient", "SyncRepository", resp, "Failure sending request") + return + } + + result, err = client.SyncRepositoryResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "SyncRepository", resp, "Failure responding to request") + } + + return +} + +// SyncRepositoryPreparer prepares the SyncRepository request. +func (client AppsClient) SyncRepositoryPreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/sync", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// SyncRepositorySender sends the SyncRepository request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) SyncRepositorySender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// SyncRepositoryResponder handles the response to the SyncRepository request. The method always +// closes the http.Response Body. +func (client AppsClient) SyncRepositoryResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByClosing()) + result.Response = resp + return +} + +// SyncRepositorySlot sync web app repository. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of web app. +// slot - name of web app slot. If not specified then will default to production slot. +func (client AppsClient) SyncRepositorySlot(ctx context.Context, resourceGroupName string, name string, slot string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.SyncRepositorySlot") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "SyncRepositorySlot", err.Error()) + } + + req, err := client.SyncRepositorySlotPreparer(ctx, resourceGroupName, name, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "SyncRepositorySlot", nil, "Failure preparing request") + return + } + + resp, err := client.SyncRepositorySlotSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.AppsClient", "SyncRepositorySlot", resp, "Failure sending request") + return + } + + result, err = client.SyncRepositorySlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "SyncRepositorySlot", resp, "Failure responding to request") + } + + return +} + +// SyncRepositorySlotPreparer prepares the SyncRepositorySlot request. +func (client AppsClient) SyncRepositorySlotPreparer(ctx context.Context, resourceGroupName string, name string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/sync", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// SyncRepositorySlotSender sends the SyncRepositorySlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) SyncRepositorySlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// SyncRepositorySlotResponder handles the response to the SyncRepositorySlot request. The method always +// closes the http.Response Body. +func (client AppsClient) SyncRepositorySlotResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByClosing()) + result.Response = resp + return +} + +// Update creates a new web, mobile, or API app in an existing resource group, or updates an existing app. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - unique name of the app to create or update. To create or update a deployment slot, use the {slot} +// parameter. +// siteEnvelope - a JSON representation of the app properties. See example. +func (client AppsClient) Update(ctx context.Context, resourceGroupName string, name string, siteEnvelope SitePatchResource) (result Site, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.Update") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "Update", err.Error()) + } + + req, err := client.UpdatePreparer(ctx, resourceGroupName, name, siteEnvelope) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "Update", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "Update", resp, "Failure sending request") + return + } + + result, err = client.UpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "Update", resp, "Failure responding to request") + } + + return +} + +// UpdatePreparer prepares the Update request. +func (client AppsClient) UpdatePreparer(ctx context.Context, resourceGroupName string, name string, siteEnvelope SitePatchResource) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}", pathParameters), + autorest.WithJSON(siteEnvelope), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateSender sends the Update request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) UpdateSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// UpdateResponder handles the response to the Update request. The method always +// closes the http.Response Body. +func (client AppsClient) UpdateResponder(resp *http.Response) (result Site, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// UpdateApplicationSettings replaces the application settings of an app. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// appSettings - application settings of the app. +func (client AppsClient) UpdateApplicationSettings(ctx context.Context, resourceGroupName string, name string, appSettings StringDictionary) (result StringDictionary, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.UpdateApplicationSettings") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "UpdateApplicationSettings", err.Error()) + } + + req, err := client.UpdateApplicationSettingsPreparer(ctx, resourceGroupName, name, appSettings) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdateApplicationSettings", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateApplicationSettingsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdateApplicationSettings", resp, "Failure sending request") + return + } + + result, err = client.UpdateApplicationSettingsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdateApplicationSettings", resp, "Failure responding to request") + } + + return +} + +// UpdateApplicationSettingsPreparer prepares the UpdateApplicationSettings request. +func (client AppsClient) UpdateApplicationSettingsPreparer(ctx context.Context, resourceGroupName string, name string, appSettings StringDictionary) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/appsettings", pathParameters), + autorest.WithJSON(appSettings), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateApplicationSettingsSender sends the UpdateApplicationSettings request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) UpdateApplicationSettingsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// UpdateApplicationSettingsResponder handles the response to the UpdateApplicationSettings request. The method always +// closes the http.Response Body. +func (client AppsClient) UpdateApplicationSettingsResponder(resp *http.Response) (result StringDictionary, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// UpdateApplicationSettingsSlot replaces the application settings of an app. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// appSettings - application settings of the app. +// slot - name of the deployment slot. If a slot is not specified, the API will update the application settings +// for the production slot. +func (client AppsClient) UpdateApplicationSettingsSlot(ctx context.Context, resourceGroupName string, name string, appSettings StringDictionary, slot string) (result StringDictionary, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.UpdateApplicationSettingsSlot") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "UpdateApplicationSettingsSlot", err.Error()) + } + + req, err := client.UpdateApplicationSettingsSlotPreparer(ctx, resourceGroupName, name, appSettings, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdateApplicationSettingsSlot", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateApplicationSettingsSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdateApplicationSettingsSlot", resp, "Failure sending request") + return + } + + result, err = client.UpdateApplicationSettingsSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdateApplicationSettingsSlot", resp, "Failure responding to request") + } + + return +} + +// UpdateApplicationSettingsSlotPreparer prepares the UpdateApplicationSettingsSlot request. +func (client AppsClient) UpdateApplicationSettingsSlotPreparer(ctx context.Context, resourceGroupName string, name string, appSettings StringDictionary, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/appsettings", pathParameters), + autorest.WithJSON(appSettings), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateApplicationSettingsSlotSender sends the UpdateApplicationSettingsSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) UpdateApplicationSettingsSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// UpdateApplicationSettingsSlotResponder handles the response to the UpdateApplicationSettingsSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) UpdateApplicationSettingsSlotResponder(resp *http.Response) (result StringDictionary, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// UpdateAuthSettings updates the Authentication / Authorization settings associated with web app. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of web app. +// siteAuthSettings - auth settings associated with web app. +func (client AppsClient) UpdateAuthSettings(ctx context.Context, resourceGroupName string, name string, siteAuthSettings SiteAuthSettings) (result SiteAuthSettings, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.UpdateAuthSettings") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "UpdateAuthSettings", err.Error()) + } + + req, err := client.UpdateAuthSettingsPreparer(ctx, resourceGroupName, name, siteAuthSettings) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdateAuthSettings", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateAuthSettingsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdateAuthSettings", resp, "Failure sending request") + return + } + + result, err = client.UpdateAuthSettingsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdateAuthSettings", resp, "Failure responding to request") + } + + return +} + +// UpdateAuthSettingsPreparer prepares the UpdateAuthSettings request. +func (client AppsClient) UpdateAuthSettingsPreparer(ctx context.Context, resourceGroupName string, name string, siteAuthSettings SiteAuthSettings) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/authsettings", pathParameters), + autorest.WithJSON(siteAuthSettings), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateAuthSettingsSender sends the UpdateAuthSettings request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) UpdateAuthSettingsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// UpdateAuthSettingsResponder handles the response to the UpdateAuthSettings request. The method always +// closes the http.Response Body. +func (client AppsClient) UpdateAuthSettingsResponder(resp *http.Response) (result SiteAuthSettings, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// UpdateAuthSettingsSlot updates the Authentication / Authorization settings associated with web app. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of web app. +// siteAuthSettings - auth settings associated with web app. +// slot - name of web app slot. If not specified then will default to production slot. +func (client AppsClient) UpdateAuthSettingsSlot(ctx context.Context, resourceGroupName string, name string, siteAuthSettings SiteAuthSettings, slot string) (result SiteAuthSettings, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.UpdateAuthSettingsSlot") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "UpdateAuthSettingsSlot", err.Error()) + } + + req, err := client.UpdateAuthSettingsSlotPreparer(ctx, resourceGroupName, name, siteAuthSettings, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdateAuthSettingsSlot", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateAuthSettingsSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdateAuthSettingsSlot", resp, "Failure sending request") + return + } + + result, err = client.UpdateAuthSettingsSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdateAuthSettingsSlot", resp, "Failure responding to request") + } + + return +} + +// UpdateAuthSettingsSlotPreparer prepares the UpdateAuthSettingsSlot request. +func (client AppsClient) UpdateAuthSettingsSlotPreparer(ctx context.Context, resourceGroupName string, name string, siteAuthSettings SiteAuthSettings, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/authsettings", pathParameters), + autorest.WithJSON(siteAuthSettings), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateAuthSettingsSlotSender sends the UpdateAuthSettingsSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) UpdateAuthSettingsSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// UpdateAuthSettingsSlotResponder handles the response to the UpdateAuthSettingsSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) UpdateAuthSettingsSlotResponder(resp *http.Response) (result SiteAuthSettings, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// UpdateAzureStorageAccounts updates the Azure storage account configurations of an app. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// azureStorageAccounts - azure storage accounts of the app. +func (client AppsClient) UpdateAzureStorageAccounts(ctx context.Context, resourceGroupName string, name string, azureStorageAccounts AzureStoragePropertyDictionaryResource) (result AzureStoragePropertyDictionaryResource, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.UpdateAzureStorageAccounts") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "UpdateAzureStorageAccounts", err.Error()) + } + + req, err := client.UpdateAzureStorageAccountsPreparer(ctx, resourceGroupName, name, azureStorageAccounts) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdateAzureStorageAccounts", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateAzureStorageAccountsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdateAzureStorageAccounts", resp, "Failure sending request") + return + } + + result, err = client.UpdateAzureStorageAccountsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdateAzureStorageAccounts", resp, "Failure responding to request") + } + + return +} + +// UpdateAzureStorageAccountsPreparer prepares the UpdateAzureStorageAccounts request. +func (client AppsClient) UpdateAzureStorageAccountsPreparer(ctx context.Context, resourceGroupName string, name string, azureStorageAccounts AzureStoragePropertyDictionaryResource) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/azurestorageaccounts", pathParameters), + autorest.WithJSON(azureStorageAccounts), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateAzureStorageAccountsSender sends the UpdateAzureStorageAccounts request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) UpdateAzureStorageAccountsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// UpdateAzureStorageAccountsResponder handles the response to the UpdateAzureStorageAccounts request. The method always +// closes the http.Response Body. +func (client AppsClient) UpdateAzureStorageAccountsResponder(resp *http.Response) (result AzureStoragePropertyDictionaryResource, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// UpdateAzureStorageAccountsSlot updates the Azure storage account configurations of an app. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// azureStorageAccounts - azure storage accounts of the app. +// slot - name of the deployment slot. If a slot is not specified, the API will update the Azure storage +// account configurations for the production slot. +func (client AppsClient) UpdateAzureStorageAccountsSlot(ctx context.Context, resourceGroupName string, name string, azureStorageAccounts AzureStoragePropertyDictionaryResource, slot string) (result AzureStoragePropertyDictionaryResource, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.UpdateAzureStorageAccountsSlot") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "UpdateAzureStorageAccountsSlot", err.Error()) + } + + req, err := client.UpdateAzureStorageAccountsSlotPreparer(ctx, resourceGroupName, name, azureStorageAccounts, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdateAzureStorageAccountsSlot", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateAzureStorageAccountsSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdateAzureStorageAccountsSlot", resp, "Failure sending request") + return + } + + result, err = client.UpdateAzureStorageAccountsSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdateAzureStorageAccountsSlot", resp, "Failure responding to request") + } + + return +} + +// UpdateAzureStorageAccountsSlotPreparer prepares the UpdateAzureStorageAccountsSlot request. +func (client AppsClient) UpdateAzureStorageAccountsSlotPreparer(ctx context.Context, resourceGroupName string, name string, azureStorageAccounts AzureStoragePropertyDictionaryResource, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/azurestorageaccounts", pathParameters), + autorest.WithJSON(azureStorageAccounts), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateAzureStorageAccountsSlotSender sends the UpdateAzureStorageAccountsSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) UpdateAzureStorageAccountsSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// UpdateAzureStorageAccountsSlotResponder handles the response to the UpdateAzureStorageAccountsSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) UpdateAzureStorageAccountsSlotResponder(resp *http.Response) (result AzureStoragePropertyDictionaryResource, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// UpdateBackupConfiguration updates the backup configuration of an app. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// request - edited backup configuration. +func (client AppsClient) UpdateBackupConfiguration(ctx context.Context, resourceGroupName string, name string, request BackupRequest) (result BackupRequest, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.UpdateBackupConfiguration") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}, + {TargetValue: request, + Constraints: []validation.Constraint{{Target: "request.BackupRequestProperties", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "request.BackupRequestProperties.StorageAccountURL", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "request.BackupRequestProperties.BackupSchedule", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "request.BackupRequestProperties.BackupSchedule.FrequencyInterval", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "request.BackupRequestProperties.BackupSchedule.KeepAtLeastOneBackup", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "request.BackupRequestProperties.BackupSchedule.RetentionPeriodInDays", Name: validation.Null, Rule: true, Chain: nil}, + }}, + }}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "UpdateBackupConfiguration", err.Error()) + } + + req, err := client.UpdateBackupConfigurationPreparer(ctx, resourceGroupName, name, request) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdateBackupConfiguration", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateBackupConfigurationSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdateBackupConfiguration", resp, "Failure sending request") + return + } + + result, err = client.UpdateBackupConfigurationResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdateBackupConfiguration", resp, "Failure responding to request") + } + + return +} + +// UpdateBackupConfigurationPreparer prepares the UpdateBackupConfiguration request. +func (client AppsClient) UpdateBackupConfigurationPreparer(ctx context.Context, resourceGroupName string, name string, request BackupRequest) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/backup", pathParameters), + autorest.WithJSON(request), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateBackupConfigurationSender sends the UpdateBackupConfiguration request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) UpdateBackupConfigurationSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// UpdateBackupConfigurationResponder handles the response to the UpdateBackupConfiguration request. The method always +// closes the http.Response Body. +func (client AppsClient) UpdateBackupConfigurationResponder(resp *http.Response) (result BackupRequest, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// UpdateBackupConfigurationSlot updates the backup configuration of an app. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// request - edited backup configuration. +// slot - name of the deployment slot. If a slot is not specified, the API will update the backup configuration +// for the production slot. +func (client AppsClient) UpdateBackupConfigurationSlot(ctx context.Context, resourceGroupName string, name string, request BackupRequest, slot string) (result BackupRequest, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.UpdateBackupConfigurationSlot") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}, + {TargetValue: request, + Constraints: []validation.Constraint{{Target: "request.BackupRequestProperties", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "request.BackupRequestProperties.StorageAccountURL", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "request.BackupRequestProperties.BackupSchedule", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "request.BackupRequestProperties.BackupSchedule.FrequencyInterval", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "request.BackupRequestProperties.BackupSchedule.KeepAtLeastOneBackup", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "request.BackupRequestProperties.BackupSchedule.RetentionPeriodInDays", Name: validation.Null, Rule: true, Chain: nil}, + }}, + }}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "UpdateBackupConfigurationSlot", err.Error()) + } + + req, err := client.UpdateBackupConfigurationSlotPreparer(ctx, resourceGroupName, name, request, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdateBackupConfigurationSlot", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateBackupConfigurationSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdateBackupConfigurationSlot", resp, "Failure sending request") + return + } + + result, err = client.UpdateBackupConfigurationSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdateBackupConfigurationSlot", resp, "Failure responding to request") + } + + return +} + +// UpdateBackupConfigurationSlotPreparer prepares the UpdateBackupConfigurationSlot request. +func (client AppsClient) UpdateBackupConfigurationSlotPreparer(ctx context.Context, resourceGroupName string, name string, request BackupRequest, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/backup", pathParameters), + autorest.WithJSON(request), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateBackupConfigurationSlotSender sends the UpdateBackupConfigurationSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) UpdateBackupConfigurationSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// UpdateBackupConfigurationSlotResponder handles the response to the UpdateBackupConfigurationSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) UpdateBackupConfigurationSlotResponder(resp *http.Response) (result BackupRequest, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// UpdateConfiguration updates the configuration of an app. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// siteConfig - JSON representation of a SiteConfig object. See example. +func (client AppsClient) UpdateConfiguration(ctx context.Context, resourceGroupName string, name string, siteConfig SiteConfigResource) (result SiteConfigResource, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.UpdateConfiguration") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "UpdateConfiguration", err.Error()) + } + + req, err := client.UpdateConfigurationPreparer(ctx, resourceGroupName, name, siteConfig) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdateConfiguration", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateConfigurationSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdateConfiguration", resp, "Failure sending request") + return + } + + result, err = client.UpdateConfigurationResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdateConfiguration", resp, "Failure responding to request") + } + + return +} + +// UpdateConfigurationPreparer prepares the UpdateConfiguration request. +func (client AppsClient) UpdateConfigurationPreparer(ctx context.Context, resourceGroupName string, name string, siteConfig SiteConfigResource) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/web", pathParameters), + autorest.WithJSON(siteConfig), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateConfigurationSender sends the UpdateConfiguration request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) UpdateConfigurationSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// UpdateConfigurationResponder handles the response to the UpdateConfiguration request. The method always +// closes the http.Response Body. +func (client AppsClient) UpdateConfigurationResponder(resp *http.Response) (result SiteConfigResource, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// UpdateConfigurationSlot updates the configuration of an app. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// siteConfig - JSON representation of a SiteConfig object. See example. +// slot - name of the deployment slot. If a slot is not specified, the API will update configuration for the +// production slot. +func (client AppsClient) UpdateConfigurationSlot(ctx context.Context, resourceGroupName string, name string, siteConfig SiteConfigResource, slot string) (result SiteConfigResource, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.UpdateConfigurationSlot") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "UpdateConfigurationSlot", err.Error()) + } + + req, err := client.UpdateConfigurationSlotPreparer(ctx, resourceGroupName, name, siteConfig, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdateConfigurationSlot", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateConfigurationSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdateConfigurationSlot", resp, "Failure sending request") + return + } + + result, err = client.UpdateConfigurationSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdateConfigurationSlot", resp, "Failure responding to request") + } + + return +} + +// UpdateConfigurationSlotPreparer prepares the UpdateConfigurationSlot request. +func (client AppsClient) UpdateConfigurationSlotPreparer(ctx context.Context, resourceGroupName string, name string, siteConfig SiteConfigResource, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/web", pathParameters), + autorest.WithJSON(siteConfig), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateConfigurationSlotSender sends the UpdateConfigurationSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) UpdateConfigurationSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// UpdateConfigurationSlotResponder handles the response to the UpdateConfigurationSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) UpdateConfigurationSlotResponder(resp *http.Response) (result SiteConfigResource, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// UpdateConnectionStrings replaces the connection strings of an app. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// connectionStrings - connection strings of the app or deployment slot. See example. +func (client AppsClient) UpdateConnectionStrings(ctx context.Context, resourceGroupName string, name string, connectionStrings ConnectionStringDictionary) (result ConnectionStringDictionary, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.UpdateConnectionStrings") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "UpdateConnectionStrings", err.Error()) + } + + req, err := client.UpdateConnectionStringsPreparer(ctx, resourceGroupName, name, connectionStrings) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdateConnectionStrings", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateConnectionStringsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdateConnectionStrings", resp, "Failure sending request") + return + } + + result, err = client.UpdateConnectionStringsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdateConnectionStrings", resp, "Failure responding to request") + } + + return +} + +// UpdateConnectionStringsPreparer prepares the UpdateConnectionStrings request. +func (client AppsClient) UpdateConnectionStringsPreparer(ctx context.Context, resourceGroupName string, name string, connectionStrings ConnectionStringDictionary) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/connectionstrings", pathParameters), + autorest.WithJSON(connectionStrings), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateConnectionStringsSender sends the UpdateConnectionStrings request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) UpdateConnectionStringsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// UpdateConnectionStringsResponder handles the response to the UpdateConnectionStrings request. The method always +// closes the http.Response Body. +func (client AppsClient) UpdateConnectionStringsResponder(resp *http.Response) (result ConnectionStringDictionary, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// UpdateConnectionStringsSlot replaces the connection strings of an app. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// connectionStrings - connection strings of the app or deployment slot. See example. +// slot - name of the deployment slot. If a slot is not specified, the API will update the connection settings +// for the production slot. +func (client AppsClient) UpdateConnectionStringsSlot(ctx context.Context, resourceGroupName string, name string, connectionStrings ConnectionStringDictionary, slot string) (result ConnectionStringDictionary, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.UpdateConnectionStringsSlot") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "UpdateConnectionStringsSlot", err.Error()) + } + + req, err := client.UpdateConnectionStringsSlotPreparer(ctx, resourceGroupName, name, connectionStrings, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdateConnectionStringsSlot", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateConnectionStringsSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdateConnectionStringsSlot", resp, "Failure sending request") + return + } + + result, err = client.UpdateConnectionStringsSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdateConnectionStringsSlot", resp, "Failure responding to request") + } + + return +} + +// UpdateConnectionStringsSlotPreparer prepares the UpdateConnectionStringsSlot request. +func (client AppsClient) UpdateConnectionStringsSlotPreparer(ctx context.Context, resourceGroupName string, name string, connectionStrings ConnectionStringDictionary, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/connectionstrings", pathParameters), + autorest.WithJSON(connectionStrings), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateConnectionStringsSlotSender sends the UpdateConnectionStringsSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) UpdateConnectionStringsSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// UpdateConnectionStringsSlotResponder handles the response to the UpdateConnectionStringsSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) UpdateConnectionStringsSlotResponder(resp *http.Response) (result ConnectionStringDictionary, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// UpdateDiagnosticLogsConfig updates the logging configuration of an app. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// siteLogsConfig - a SiteLogsConfig JSON object that contains the logging configuration to change in the +// "properties" property. +func (client AppsClient) UpdateDiagnosticLogsConfig(ctx context.Context, resourceGroupName string, name string, siteLogsConfig SiteLogsConfig) (result SiteLogsConfig, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.UpdateDiagnosticLogsConfig") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}, + {TargetValue: siteLogsConfig, + Constraints: []validation.Constraint{{Target: "siteLogsConfig.SiteLogsConfigProperties", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "siteLogsConfig.SiteLogsConfigProperties.ApplicationLogs", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "siteLogsConfig.SiteLogsConfigProperties.ApplicationLogs.AzureTableStorage", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "siteLogsConfig.SiteLogsConfigProperties.ApplicationLogs.AzureTableStorage.SasURL", Name: validation.Null, Rule: true, Chain: nil}}}, + }}, + {Target: "siteLogsConfig.SiteLogsConfigProperties.HTTPLogs", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "siteLogsConfig.SiteLogsConfigProperties.HTTPLogs.FileSystem", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "siteLogsConfig.SiteLogsConfigProperties.HTTPLogs.FileSystem.RetentionInMb", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "siteLogsConfig.SiteLogsConfigProperties.HTTPLogs.FileSystem.RetentionInMb", Name: validation.InclusiveMaximum, Rule: int64(100), Chain: nil}, + {Target: "siteLogsConfig.SiteLogsConfigProperties.HTTPLogs.FileSystem.RetentionInMb", Name: validation.InclusiveMinimum, Rule: 25, Chain: nil}, + }}, + }}, + }}, + }}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "UpdateDiagnosticLogsConfig", err.Error()) + } + + req, err := client.UpdateDiagnosticLogsConfigPreparer(ctx, resourceGroupName, name, siteLogsConfig) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdateDiagnosticLogsConfig", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateDiagnosticLogsConfigSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdateDiagnosticLogsConfig", resp, "Failure sending request") + return + } + + result, err = client.UpdateDiagnosticLogsConfigResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdateDiagnosticLogsConfig", resp, "Failure responding to request") + } + + return +} + +// UpdateDiagnosticLogsConfigPreparer prepares the UpdateDiagnosticLogsConfig request. +func (client AppsClient) UpdateDiagnosticLogsConfigPreparer(ctx context.Context, resourceGroupName string, name string, siteLogsConfig SiteLogsConfig) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/logs", pathParameters), + autorest.WithJSON(siteLogsConfig), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateDiagnosticLogsConfigSender sends the UpdateDiagnosticLogsConfig request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) UpdateDiagnosticLogsConfigSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// UpdateDiagnosticLogsConfigResponder handles the response to the UpdateDiagnosticLogsConfig request. The method always +// closes the http.Response Body. +func (client AppsClient) UpdateDiagnosticLogsConfigResponder(resp *http.Response) (result SiteLogsConfig, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// UpdateDiagnosticLogsConfigSlot updates the logging configuration of an app. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// siteLogsConfig - a SiteLogsConfig JSON object that contains the logging configuration to change in the +// "properties" property. +// slot - name of the deployment slot. If a slot is not specified, the API will update the logging +// configuration for the production slot. +func (client AppsClient) UpdateDiagnosticLogsConfigSlot(ctx context.Context, resourceGroupName string, name string, siteLogsConfig SiteLogsConfig, slot string) (result SiteLogsConfig, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.UpdateDiagnosticLogsConfigSlot") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}, + {TargetValue: siteLogsConfig, + Constraints: []validation.Constraint{{Target: "siteLogsConfig.SiteLogsConfigProperties", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "siteLogsConfig.SiteLogsConfigProperties.ApplicationLogs", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "siteLogsConfig.SiteLogsConfigProperties.ApplicationLogs.AzureTableStorage", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "siteLogsConfig.SiteLogsConfigProperties.ApplicationLogs.AzureTableStorage.SasURL", Name: validation.Null, Rule: true, Chain: nil}}}, + }}, + {Target: "siteLogsConfig.SiteLogsConfigProperties.HTTPLogs", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "siteLogsConfig.SiteLogsConfigProperties.HTTPLogs.FileSystem", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "siteLogsConfig.SiteLogsConfigProperties.HTTPLogs.FileSystem.RetentionInMb", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "siteLogsConfig.SiteLogsConfigProperties.HTTPLogs.FileSystem.RetentionInMb", Name: validation.InclusiveMaximum, Rule: int64(100), Chain: nil}, + {Target: "siteLogsConfig.SiteLogsConfigProperties.HTTPLogs.FileSystem.RetentionInMb", Name: validation.InclusiveMinimum, Rule: 25, Chain: nil}, + }}, + }}, + }}, + }}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "UpdateDiagnosticLogsConfigSlot", err.Error()) + } + + req, err := client.UpdateDiagnosticLogsConfigSlotPreparer(ctx, resourceGroupName, name, siteLogsConfig, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdateDiagnosticLogsConfigSlot", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateDiagnosticLogsConfigSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdateDiagnosticLogsConfigSlot", resp, "Failure sending request") + return + } + + result, err = client.UpdateDiagnosticLogsConfigSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdateDiagnosticLogsConfigSlot", resp, "Failure responding to request") + } + + return +} + +// UpdateDiagnosticLogsConfigSlotPreparer prepares the UpdateDiagnosticLogsConfigSlot request. +func (client AppsClient) UpdateDiagnosticLogsConfigSlotPreparer(ctx context.Context, resourceGroupName string, name string, siteLogsConfig SiteLogsConfig, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/logs", pathParameters), + autorest.WithJSON(siteLogsConfig), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateDiagnosticLogsConfigSlotSender sends the UpdateDiagnosticLogsConfigSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) UpdateDiagnosticLogsConfigSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// UpdateDiagnosticLogsConfigSlotResponder handles the response to the UpdateDiagnosticLogsConfigSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) UpdateDiagnosticLogsConfigSlotResponder(resp *http.Response) (result SiteLogsConfig, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// UpdateDomainOwnershipIdentifier creates a domain ownership identifier for web app, or updates an existing ownership +// identifier. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// domainOwnershipIdentifierName - name of domain ownership identifier. +// domainOwnershipIdentifier - a JSON representation of the domain ownership properties. +func (client AppsClient) UpdateDomainOwnershipIdentifier(ctx context.Context, resourceGroupName string, name string, domainOwnershipIdentifierName string, domainOwnershipIdentifier Identifier) (result Identifier, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.UpdateDomainOwnershipIdentifier") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "UpdateDomainOwnershipIdentifier", err.Error()) + } + + req, err := client.UpdateDomainOwnershipIdentifierPreparer(ctx, resourceGroupName, name, domainOwnershipIdentifierName, domainOwnershipIdentifier) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdateDomainOwnershipIdentifier", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateDomainOwnershipIdentifierSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdateDomainOwnershipIdentifier", resp, "Failure sending request") + return + } + + result, err = client.UpdateDomainOwnershipIdentifierResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdateDomainOwnershipIdentifier", resp, "Failure responding to request") + } + + return +} + +// UpdateDomainOwnershipIdentifierPreparer prepares the UpdateDomainOwnershipIdentifier request. +func (client AppsClient) UpdateDomainOwnershipIdentifierPreparer(ctx context.Context, resourceGroupName string, name string, domainOwnershipIdentifierName string, domainOwnershipIdentifier Identifier) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "domainOwnershipIdentifierName": autorest.Encode("path", domainOwnershipIdentifierName), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/domainOwnershipIdentifiers/{domainOwnershipIdentifierName}", pathParameters), + autorest.WithJSON(domainOwnershipIdentifier), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateDomainOwnershipIdentifierSender sends the UpdateDomainOwnershipIdentifier request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) UpdateDomainOwnershipIdentifierSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// UpdateDomainOwnershipIdentifierResponder handles the response to the UpdateDomainOwnershipIdentifier request. The method always +// closes the http.Response Body. +func (client AppsClient) UpdateDomainOwnershipIdentifierResponder(resp *http.Response) (result Identifier, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// UpdateDomainOwnershipIdentifierSlot creates a domain ownership identifier for web app, or updates an existing +// ownership identifier. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// domainOwnershipIdentifierName - name of domain ownership identifier. +// domainOwnershipIdentifier - a JSON representation of the domain ownership properties. +// slot - name of the deployment slot. If a slot is not specified, the API will delete the binding for the +// production slot. +func (client AppsClient) UpdateDomainOwnershipIdentifierSlot(ctx context.Context, resourceGroupName string, name string, domainOwnershipIdentifierName string, domainOwnershipIdentifier Identifier, slot string) (result Identifier, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.UpdateDomainOwnershipIdentifierSlot") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "UpdateDomainOwnershipIdentifierSlot", err.Error()) + } + + req, err := client.UpdateDomainOwnershipIdentifierSlotPreparer(ctx, resourceGroupName, name, domainOwnershipIdentifierName, domainOwnershipIdentifier, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdateDomainOwnershipIdentifierSlot", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateDomainOwnershipIdentifierSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdateDomainOwnershipIdentifierSlot", resp, "Failure sending request") + return + } + + result, err = client.UpdateDomainOwnershipIdentifierSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdateDomainOwnershipIdentifierSlot", resp, "Failure responding to request") + } + + return +} + +// UpdateDomainOwnershipIdentifierSlotPreparer prepares the UpdateDomainOwnershipIdentifierSlot request. +func (client AppsClient) UpdateDomainOwnershipIdentifierSlotPreparer(ctx context.Context, resourceGroupName string, name string, domainOwnershipIdentifierName string, domainOwnershipIdentifier Identifier, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "domainOwnershipIdentifierName": autorest.Encode("path", domainOwnershipIdentifierName), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/domainOwnershipIdentifiers/{domainOwnershipIdentifierName}", pathParameters), + autorest.WithJSON(domainOwnershipIdentifier), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateDomainOwnershipIdentifierSlotSender sends the UpdateDomainOwnershipIdentifierSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) UpdateDomainOwnershipIdentifierSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// UpdateDomainOwnershipIdentifierSlotResponder handles the response to the UpdateDomainOwnershipIdentifierSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) UpdateDomainOwnershipIdentifierSlotResponder(resp *http.Response) (result Identifier, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// UpdateHybridConnection creates a new Hybrid Connection using a Service Bus relay. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - the name of the web app. +// namespaceName - the namespace for this hybrid connection. +// relayName - the relay name for this hybrid connection. +// connectionEnvelope - the details of the hybrid connection. +func (client AppsClient) UpdateHybridConnection(ctx context.Context, resourceGroupName string, name string, namespaceName string, relayName string, connectionEnvelope HybridConnection) (result HybridConnection, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.UpdateHybridConnection") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "UpdateHybridConnection", err.Error()) + } + + req, err := client.UpdateHybridConnectionPreparer(ctx, resourceGroupName, name, namespaceName, relayName, connectionEnvelope) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdateHybridConnection", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateHybridConnectionSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdateHybridConnection", resp, "Failure sending request") + return + } + + result, err = client.UpdateHybridConnectionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdateHybridConnection", resp, "Failure responding to request") + } + + return +} + +// UpdateHybridConnectionPreparer prepares the UpdateHybridConnection request. +func (client AppsClient) UpdateHybridConnectionPreparer(ctx context.Context, resourceGroupName string, name string, namespaceName string, relayName string, connectionEnvelope HybridConnection) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "namespaceName": autorest.Encode("path", namespaceName), + "relayName": autorest.Encode("path", relayName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}", pathParameters), + autorest.WithJSON(connectionEnvelope), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateHybridConnectionSender sends the UpdateHybridConnection request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) UpdateHybridConnectionSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// UpdateHybridConnectionResponder handles the response to the UpdateHybridConnection request. The method always +// closes the http.Response Body. +func (client AppsClient) UpdateHybridConnectionResponder(resp *http.Response) (result HybridConnection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// UpdateHybridConnectionSlot creates a new Hybrid Connection using a Service Bus relay. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - the name of the web app. +// namespaceName - the namespace for this hybrid connection. +// relayName - the relay name for this hybrid connection. +// connectionEnvelope - the details of the hybrid connection. +// slot - the name of the slot for the web app. +func (client AppsClient) UpdateHybridConnectionSlot(ctx context.Context, resourceGroupName string, name string, namespaceName string, relayName string, connectionEnvelope HybridConnection, slot string) (result HybridConnection, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.UpdateHybridConnectionSlot") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "UpdateHybridConnectionSlot", err.Error()) + } + + req, err := client.UpdateHybridConnectionSlotPreparer(ctx, resourceGroupName, name, namespaceName, relayName, connectionEnvelope, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdateHybridConnectionSlot", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateHybridConnectionSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdateHybridConnectionSlot", resp, "Failure sending request") + return + } + + result, err = client.UpdateHybridConnectionSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdateHybridConnectionSlot", resp, "Failure responding to request") + } + + return +} + +// UpdateHybridConnectionSlotPreparer prepares the UpdateHybridConnectionSlot request. +func (client AppsClient) UpdateHybridConnectionSlotPreparer(ctx context.Context, resourceGroupName string, name string, namespaceName string, relayName string, connectionEnvelope HybridConnection, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "namespaceName": autorest.Encode("path", namespaceName), + "relayName": autorest.Encode("path", relayName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}", pathParameters), + autorest.WithJSON(connectionEnvelope), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateHybridConnectionSlotSender sends the UpdateHybridConnectionSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) UpdateHybridConnectionSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// UpdateHybridConnectionSlotResponder handles the response to the UpdateHybridConnectionSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) UpdateHybridConnectionSlotResponder(resp *http.Response) (result HybridConnection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// UpdateMetadata replaces the metadata of an app. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// metadata - edited metadata of the app or deployment slot. See example. +func (client AppsClient) UpdateMetadata(ctx context.Context, resourceGroupName string, name string, metadata StringDictionary) (result StringDictionary, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.UpdateMetadata") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "UpdateMetadata", err.Error()) + } + + req, err := client.UpdateMetadataPreparer(ctx, resourceGroupName, name, metadata) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdateMetadata", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateMetadataSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdateMetadata", resp, "Failure sending request") + return + } + + result, err = client.UpdateMetadataResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdateMetadata", resp, "Failure responding to request") + } + + return +} + +// UpdateMetadataPreparer prepares the UpdateMetadata request. +func (client AppsClient) UpdateMetadataPreparer(ctx context.Context, resourceGroupName string, name string, metadata StringDictionary) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/metadata", pathParameters), + autorest.WithJSON(metadata), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateMetadataSender sends the UpdateMetadata request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) UpdateMetadataSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// UpdateMetadataResponder handles the response to the UpdateMetadata request. The method always +// closes the http.Response Body. +func (client AppsClient) UpdateMetadataResponder(resp *http.Response) (result StringDictionary, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// UpdateMetadataSlot replaces the metadata of an app. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// metadata - edited metadata of the app or deployment slot. See example. +// slot - name of the deployment slot. If a slot is not specified, the API will update the metadata for the +// production slot. +func (client AppsClient) UpdateMetadataSlot(ctx context.Context, resourceGroupName string, name string, metadata StringDictionary, slot string) (result StringDictionary, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.UpdateMetadataSlot") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "UpdateMetadataSlot", err.Error()) + } + + req, err := client.UpdateMetadataSlotPreparer(ctx, resourceGroupName, name, metadata, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdateMetadataSlot", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateMetadataSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdateMetadataSlot", resp, "Failure sending request") + return + } + + result, err = client.UpdateMetadataSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdateMetadataSlot", resp, "Failure responding to request") + } + + return +} + +// UpdateMetadataSlotPreparer prepares the UpdateMetadataSlot request. +func (client AppsClient) UpdateMetadataSlotPreparer(ctx context.Context, resourceGroupName string, name string, metadata StringDictionary, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/metadata", pathParameters), + autorest.WithJSON(metadata), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateMetadataSlotSender sends the UpdateMetadataSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) UpdateMetadataSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// UpdateMetadataSlotResponder handles the response to the UpdateMetadataSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) UpdateMetadataSlotResponder(resp *http.Response) (result StringDictionary, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// UpdatePremierAddOn updates a named add-on of an app. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// premierAddOnName - add-on name. +// premierAddOn - a JSON representation of the edited premier add-on. +func (client AppsClient) UpdatePremierAddOn(ctx context.Context, resourceGroupName string, name string, premierAddOnName string, premierAddOn PremierAddOnPatchResource) (result PremierAddOn, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.UpdatePremierAddOn") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "UpdatePremierAddOn", err.Error()) + } + + req, err := client.UpdatePremierAddOnPreparer(ctx, resourceGroupName, name, premierAddOnName, premierAddOn) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdatePremierAddOn", nil, "Failure preparing request") + return + } + + resp, err := client.UpdatePremierAddOnSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdatePremierAddOn", resp, "Failure sending request") + return + } + + result, err = client.UpdatePremierAddOnResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdatePremierAddOn", resp, "Failure responding to request") + } + + return +} + +// UpdatePremierAddOnPreparer prepares the UpdatePremierAddOn request. +func (client AppsClient) UpdatePremierAddOnPreparer(ctx context.Context, resourceGroupName string, name string, premierAddOnName string, premierAddOn PremierAddOnPatchResource) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "premierAddOnName": autorest.Encode("path", premierAddOnName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/premieraddons/{premierAddOnName}", pathParameters), + autorest.WithJSON(premierAddOn), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdatePremierAddOnSender sends the UpdatePremierAddOn request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) UpdatePremierAddOnSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// UpdatePremierAddOnResponder handles the response to the UpdatePremierAddOn request. The method always +// closes the http.Response Body. +func (client AppsClient) UpdatePremierAddOnResponder(resp *http.Response) (result PremierAddOn, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// UpdatePremierAddOnSlot updates a named add-on of an app. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// premierAddOnName - add-on name. +// premierAddOn - a JSON representation of the edited premier add-on. +// slot - name of the deployment slot. If a slot is not specified, the API will update the named add-on for the +// production slot. +func (client AppsClient) UpdatePremierAddOnSlot(ctx context.Context, resourceGroupName string, name string, premierAddOnName string, premierAddOn PremierAddOnPatchResource, slot string) (result PremierAddOn, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.UpdatePremierAddOnSlot") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "UpdatePremierAddOnSlot", err.Error()) + } + + req, err := client.UpdatePremierAddOnSlotPreparer(ctx, resourceGroupName, name, premierAddOnName, premierAddOn, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdatePremierAddOnSlot", nil, "Failure preparing request") + return + } + + resp, err := client.UpdatePremierAddOnSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdatePremierAddOnSlot", resp, "Failure sending request") + return + } + + result, err = client.UpdatePremierAddOnSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdatePremierAddOnSlot", resp, "Failure responding to request") + } + + return +} + +// UpdatePremierAddOnSlotPreparer prepares the UpdatePremierAddOnSlot request. +func (client AppsClient) UpdatePremierAddOnSlotPreparer(ctx context.Context, resourceGroupName string, name string, premierAddOnName string, premierAddOn PremierAddOnPatchResource, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "premierAddOnName": autorest.Encode("path", premierAddOnName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/premieraddons/{premierAddOnName}", pathParameters), + autorest.WithJSON(premierAddOn), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdatePremierAddOnSlotSender sends the UpdatePremierAddOnSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) UpdatePremierAddOnSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// UpdatePremierAddOnSlotResponder handles the response to the UpdatePremierAddOnSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) UpdatePremierAddOnSlotResponder(resp *http.Response) (result PremierAddOn, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// UpdateRelayServiceConnection creates a new hybrid connection configuration (PUT), or updates an existing one +// (PATCH). +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// entityName - name of the hybrid connection configuration. +// connectionEnvelope - details of the hybrid connection configuration. +func (client AppsClient) UpdateRelayServiceConnection(ctx context.Context, resourceGroupName string, name string, entityName string, connectionEnvelope RelayServiceConnectionEntity) (result RelayServiceConnectionEntity, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.UpdateRelayServiceConnection") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "UpdateRelayServiceConnection", err.Error()) + } + + req, err := client.UpdateRelayServiceConnectionPreparer(ctx, resourceGroupName, name, entityName, connectionEnvelope) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdateRelayServiceConnection", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateRelayServiceConnectionSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdateRelayServiceConnection", resp, "Failure sending request") + return + } + + result, err = client.UpdateRelayServiceConnectionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdateRelayServiceConnection", resp, "Failure responding to request") + } + + return +} + +// UpdateRelayServiceConnectionPreparer prepares the UpdateRelayServiceConnection request. +func (client AppsClient) UpdateRelayServiceConnectionPreparer(ctx context.Context, resourceGroupName string, name string, entityName string, connectionEnvelope RelayServiceConnectionEntity) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "entityName": autorest.Encode("path", entityName), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hybridconnection/{entityName}", pathParameters), + autorest.WithJSON(connectionEnvelope), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateRelayServiceConnectionSender sends the UpdateRelayServiceConnection request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) UpdateRelayServiceConnectionSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// UpdateRelayServiceConnectionResponder handles the response to the UpdateRelayServiceConnection request. The method always +// closes the http.Response Body. +func (client AppsClient) UpdateRelayServiceConnectionResponder(resp *http.Response) (result RelayServiceConnectionEntity, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// UpdateRelayServiceConnectionSlot creates a new hybrid connection configuration (PUT), or updates an existing one +// (PATCH). +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// entityName - name of the hybrid connection configuration. +// connectionEnvelope - details of the hybrid connection configuration. +// slot - name of the deployment slot. If a slot is not specified, the API will create or update a hybrid +// connection for the production slot. +func (client AppsClient) UpdateRelayServiceConnectionSlot(ctx context.Context, resourceGroupName string, name string, entityName string, connectionEnvelope RelayServiceConnectionEntity, slot string) (result RelayServiceConnectionEntity, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.UpdateRelayServiceConnectionSlot") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "UpdateRelayServiceConnectionSlot", err.Error()) + } + + req, err := client.UpdateRelayServiceConnectionSlotPreparer(ctx, resourceGroupName, name, entityName, connectionEnvelope, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdateRelayServiceConnectionSlot", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateRelayServiceConnectionSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdateRelayServiceConnectionSlot", resp, "Failure sending request") + return + } + + result, err = client.UpdateRelayServiceConnectionSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdateRelayServiceConnectionSlot", resp, "Failure responding to request") + } + + return +} + +// UpdateRelayServiceConnectionSlotPreparer prepares the UpdateRelayServiceConnectionSlot request. +func (client AppsClient) UpdateRelayServiceConnectionSlotPreparer(ctx context.Context, resourceGroupName string, name string, entityName string, connectionEnvelope RelayServiceConnectionEntity, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "entityName": autorest.Encode("path", entityName), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridconnection/{entityName}", pathParameters), + autorest.WithJSON(connectionEnvelope), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateRelayServiceConnectionSlotSender sends the UpdateRelayServiceConnectionSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) UpdateRelayServiceConnectionSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// UpdateRelayServiceConnectionSlotResponder handles the response to the UpdateRelayServiceConnectionSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) UpdateRelayServiceConnectionSlotResponder(resp *http.Response) (result RelayServiceConnectionEntity, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// UpdateSitePushSettings updates the Push settings associated with web app. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of web app. +// pushSettings - push settings associated with web app. +func (client AppsClient) UpdateSitePushSettings(ctx context.Context, resourceGroupName string, name string, pushSettings PushSettings) (result PushSettings, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.UpdateSitePushSettings") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}, + {TargetValue: pushSettings, + Constraints: []validation.Constraint{{Target: "pushSettings.PushSettingsProperties", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "pushSettings.PushSettingsProperties.IsPushEnabled", Name: validation.Null, Rule: true, Chain: nil}}}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "UpdateSitePushSettings", err.Error()) + } + + req, err := client.UpdateSitePushSettingsPreparer(ctx, resourceGroupName, name, pushSettings) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdateSitePushSettings", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateSitePushSettingsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdateSitePushSettings", resp, "Failure sending request") + return + } + + result, err = client.UpdateSitePushSettingsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdateSitePushSettings", resp, "Failure responding to request") + } + + return +} + +// UpdateSitePushSettingsPreparer prepares the UpdateSitePushSettings request. +func (client AppsClient) UpdateSitePushSettingsPreparer(ctx context.Context, resourceGroupName string, name string, pushSettings PushSettings) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/pushsettings", pathParameters), + autorest.WithJSON(pushSettings), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateSitePushSettingsSender sends the UpdateSitePushSettings request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) UpdateSitePushSettingsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// UpdateSitePushSettingsResponder handles the response to the UpdateSitePushSettings request. The method always +// closes the http.Response Body. +func (client AppsClient) UpdateSitePushSettingsResponder(resp *http.Response) (result PushSettings, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// UpdateSitePushSettingsSlot updates the Push settings associated with web app. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of web app. +// pushSettings - push settings associated with web app. +// slot - name of web app slot. If not specified then will default to production slot. +func (client AppsClient) UpdateSitePushSettingsSlot(ctx context.Context, resourceGroupName string, name string, pushSettings PushSettings, slot string) (result PushSettings, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.UpdateSitePushSettingsSlot") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}, + {TargetValue: pushSettings, + Constraints: []validation.Constraint{{Target: "pushSettings.PushSettingsProperties", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "pushSettings.PushSettingsProperties.IsPushEnabled", Name: validation.Null, Rule: true, Chain: nil}}}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "UpdateSitePushSettingsSlot", err.Error()) + } + + req, err := client.UpdateSitePushSettingsSlotPreparer(ctx, resourceGroupName, name, pushSettings, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdateSitePushSettingsSlot", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateSitePushSettingsSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdateSitePushSettingsSlot", resp, "Failure sending request") + return + } + + result, err = client.UpdateSitePushSettingsSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdateSitePushSettingsSlot", resp, "Failure responding to request") + } + + return +} + +// UpdateSitePushSettingsSlotPreparer prepares the UpdateSitePushSettingsSlot request. +func (client AppsClient) UpdateSitePushSettingsSlotPreparer(ctx context.Context, resourceGroupName string, name string, pushSettings PushSettings, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/pushsettings", pathParameters), + autorest.WithJSON(pushSettings), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateSitePushSettingsSlotSender sends the UpdateSitePushSettingsSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) UpdateSitePushSettingsSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// UpdateSitePushSettingsSlotResponder handles the response to the UpdateSitePushSettingsSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) UpdateSitePushSettingsSlotResponder(resp *http.Response) (result PushSettings, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// UpdateSlot creates a new web, mobile, or API app in an existing resource group, or updates an existing app. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - unique name of the app to create or update. To create or update a deployment slot, use the {slot} +// parameter. +// siteEnvelope - a JSON representation of the app properties. See example. +// slot - name of the deployment slot to create or update. By default, this API attempts to create or modify +// the production slot. +func (client AppsClient) UpdateSlot(ctx context.Context, resourceGroupName string, name string, siteEnvelope SitePatchResource, slot string) (result Site, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.UpdateSlot") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "UpdateSlot", err.Error()) + } + + req, err := client.UpdateSlotPreparer(ctx, resourceGroupName, name, siteEnvelope, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdateSlot", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdateSlot", resp, "Failure sending request") + return + } + + result, err = client.UpdateSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdateSlot", resp, "Failure responding to request") + } + + return +} + +// UpdateSlotPreparer prepares the UpdateSlot request. +func (client AppsClient) UpdateSlotPreparer(ctx context.Context, resourceGroupName string, name string, siteEnvelope SitePatchResource, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}", pathParameters), + autorest.WithJSON(siteEnvelope), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateSlotSender sends the UpdateSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) UpdateSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// UpdateSlotResponder handles the response to the UpdateSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) UpdateSlotResponder(resp *http.Response) (result Site, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// UpdateSlotConfigurationNames updates the names of application settings and connection string that remain with the +// slot during swap operation. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// slotConfigNames - names of application settings and connection strings. See example. +func (client AppsClient) UpdateSlotConfigurationNames(ctx context.Context, resourceGroupName string, name string, slotConfigNames SlotConfigNamesResource) (result SlotConfigNamesResource, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.UpdateSlotConfigurationNames") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "UpdateSlotConfigurationNames", err.Error()) + } + + req, err := client.UpdateSlotConfigurationNamesPreparer(ctx, resourceGroupName, name, slotConfigNames) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdateSlotConfigurationNames", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateSlotConfigurationNamesSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdateSlotConfigurationNames", resp, "Failure sending request") + return + } + + result, err = client.UpdateSlotConfigurationNamesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdateSlotConfigurationNames", resp, "Failure responding to request") + } + + return +} + +// UpdateSlotConfigurationNamesPreparer prepares the UpdateSlotConfigurationNames request. +func (client AppsClient) UpdateSlotConfigurationNamesPreparer(ctx context.Context, resourceGroupName string, name string, slotConfigNames SlotConfigNamesResource) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/slotConfigNames", pathParameters), + autorest.WithJSON(slotConfigNames), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateSlotConfigurationNamesSender sends the UpdateSlotConfigurationNames request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) UpdateSlotConfigurationNamesSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// UpdateSlotConfigurationNamesResponder handles the response to the UpdateSlotConfigurationNames request. The method always +// closes the http.Response Body. +func (client AppsClient) UpdateSlotConfigurationNamesResponder(resp *http.Response) (result SlotConfigNamesResource, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// UpdateSourceControl updates the source control configuration of an app. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// siteSourceControl - JSON representation of a SiteSourceControl object. See example. +func (client AppsClient) UpdateSourceControl(ctx context.Context, resourceGroupName string, name string, siteSourceControl SiteSourceControl) (result SiteSourceControl, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.UpdateSourceControl") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "UpdateSourceControl", err.Error()) + } + + req, err := client.UpdateSourceControlPreparer(ctx, resourceGroupName, name, siteSourceControl) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdateSourceControl", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateSourceControlSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdateSourceControl", resp, "Failure sending request") + return + } + + result, err = client.UpdateSourceControlResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdateSourceControl", resp, "Failure responding to request") + } + + return +} + +// UpdateSourceControlPreparer prepares the UpdateSourceControl request. +func (client AppsClient) UpdateSourceControlPreparer(ctx context.Context, resourceGroupName string, name string, siteSourceControl SiteSourceControl) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/sourcecontrols/web", pathParameters), + autorest.WithJSON(siteSourceControl), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateSourceControlSender sends the UpdateSourceControl request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) UpdateSourceControlSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// UpdateSourceControlResponder handles the response to the UpdateSourceControl request. The method always +// closes the http.Response Body. +func (client AppsClient) UpdateSourceControlResponder(resp *http.Response) (result SiteSourceControl, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// UpdateSourceControlSlot updates the source control configuration of an app. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// siteSourceControl - JSON representation of a SiteSourceControl object. See example. +// slot - name of the deployment slot. If a slot is not specified, the API will update the source control +// configuration for the production slot. +func (client AppsClient) UpdateSourceControlSlot(ctx context.Context, resourceGroupName string, name string, siteSourceControl SiteSourceControl, slot string) (result SiteSourceControl, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.UpdateSourceControlSlot") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "UpdateSourceControlSlot", err.Error()) + } + + req, err := client.UpdateSourceControlSlotPreparer(ctx, resourceGroupName, name, siteSourceControl, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdateSourceControlSlot", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateSourceControlSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdateSourceControlSlot", resp, "Failure sending request") + return + } + + result, err = client.UpdateSourceControlSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdateSourceControlSlot", resp, "Failure responding to request") + } + + return +} + +// UpdateSourceControlSlotPreparer prepares the UpdateSourceControlSlot request. +func (client AppsClient) UpdateSourceControlSlotPreparer(ctx context.Context, resourceGroupName string, name string, siteSourceControl SiteSourceControl, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/sourcecontrols/web", pathParameters), + autorest.WithJSON(siteSourceControl), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateSourceControlSlotSender sends the UpdateSourceControlSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) UpdateSourceControlSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// UpdateSourceControlSlotResponder handles the response to the UpdateSourceControlSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) UpdateSourceControlSlotResponder(resp *http.Response) (result SiteSourceControl, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// UpdateSwiftVirtualNetworkConnection integrates this Web App with a Virtual Network. This requires that 1) +// "swiftSupported" is true when doing a GET against this resource, and 2) that the target Subnet has already been +// delegated, and is not +// in use by another App Service Plan other than the one this App is in. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// connectionEnvelope - properties of the Virtual Network connection. See example. +func (client AppsClient) UpdateSwiftVirtualNetworkConnection(ctx context.Context, resourceGroupName string, name string, connectionEnvelope SwiftVirtualNetwork) (result SwiftVirtualNetwork, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.UpdateSwiftVirtualNetworkConnection") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "UpdateSwiftVirtualNetworkConnection", err.Error()) + } + + req, err := client.UpdateSwiftVirtualNetworkConnectionPreparer(ctx, resourceGroupName, name, connectionEnvelope) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdateSwiftVirtualNetworkConnection", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateSwiftVirtualNetworkConnectionSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdateSwiftVirtualNetworkConnection", resp, "Failure sending request") + return + } + + result, err = client.UpdateSwiftVirtualNetworkConnectionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdateSwiftVirtualNetworkConnection", resp, "Failure responding to request") + } + + return +} + +// UpdateSwiftVirtualNetworkConnectionPreparer prepares the UpdateSwiftVirtualNetworkConnection request. +func (client AppsClient) UpdateSwiftVirtualNetworkConnectionPreparer(ctx context.Context, resourceGroupName string, name string, connectionEnvelope SwiftVirtualNetwork) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/networkConfig/virtualNetwork", pathParameters), + autorest.WithJSON(connectionEnvelope), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateSwiftVirtualNetworkConnectionSender sends the UpdateSwiftVirtualNetworkConnection request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) UpdateSwiftVirtualNetworkConnectionSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// UpdateSwiftVirtualNetworkConnectionResponder handles the response to the UpdateSwiftVirtualNetworkConnection request. The method always +// closes the http.Response Body. +func (client AppsClient) UpdateSwiftVirtualNetworkConnectionResponder(resp *http.Response) (result SwiftVirtualNetwork, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// UpdateSwiftVirtualNetworkConnectionSlot integrates this Web App with a Virtual Network. This requires that 1) +// "swiftSupported" is true when doing a GET against this resource, and 2) that the target Subnet has already been +// delegated, and is not +// in use by another App Service Plan other than the one this App is in. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// connectionEnvelope - properties of the Virtual Network connection. See example. +// slot - name of the deployment slot. If a slot is not specified, the API will add or update connections for +// the production slot. +func (client AppsClient) UpdateSwiftVirtualNetworkConnectionSlot(ctx context.Context, resourceGroupName string, name string, connectionEnvelope SwiftVirtualNetwork, slot string) (result SwiftVirtualNetwork, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.UpdateSwiftVirtualNetworkConnectionSlot") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "UpdateSwiftVirtualNetworkConnectionSlot", err.Error()) + } + + req, err := client.UpdateSwiftVirtualNetworkConnectionSlotPreparer(ctx, resourceGroupName, name, connectionEnvelope, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdateSwiftVirtualNetworkConnectionSlot", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateSwiftVirtualNetworkConnectionSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdateSwiftVirtualNetworkConnectionSlot", resp, "Failure sending request") + return + } + + result, err = client.UpdateSwiftVirtualNetworkConnectionSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdateSwiftVirtualNetworkConnectionSlot", resp, "Failure responding to request") + } + + return +} + +// UpdateSwiftVirtualNetworkConnectionSlotPreparer prepares the UpdateSwiftVirtualNetworkConnectionSlot request. +func (client AppsClient) UpdateSwiftVirtualNetworkConnectionSlotPreparer(ctx context.Context, resourceGroupName string, name string, connectionEnvelope SwiftVirtualNetwork, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/networkConfig/virtualNetwork", pathParameters), + autorest.WithJSON(connectionEnvelope), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateSwiftVirtualNetworkConnectionSlotSender sends the UpdateSwiftVirtualNetworkConnectionSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) UpdateSwiftVirtualNetworkConnectionSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// UpdateSwiftVirtualNetworkConnectionSlotResponder handles the response to the UpdateSwiftVirtualNetworkConnectionSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) UpdateSwiftVirtualNetworkConnectionSlotResponder(resp *http.Response) (result SwiftVirtualNetwork, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// UpdateVnetConnection adds a Virtual Network connection to an app or slot (PUT) or updates the connection properties +// (PATCH). +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// vnetName - name of an existing Virtual Network. +// connectionEnvelope - properties of the Virtual Network connection. See example. +func (client AppsClient) UpdateVnetConnection(ctx context.Context, resourceGroupName string, name string, vnetName string, connectionEnvelope VnetInfo) (result VnetInfo, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.UpdateVnetConnection") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "UpdateVnetConnection", err.Error()) + } + + req, err := client.UpdateVnetConnectionPreparer(ctx, resourceGroupName, name, vnetName, connectionEnvelope) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdateVnetConnection", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateVnetConnectionSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdateVnetConnection", resp, "Failure sending request") + return + } + + result, err = client.UpdateVnetConnectionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdateVnetConnection", resp, "Failure responding to request") + } + + return +} + +// UpdateVnetConnectionPreparer prepares the UpdateVnetConnection request. +func (client AppsClient) UpdateVnetConnectionPreparer(ctx context.Context, resourceGroupName string, name string, vnetName string, connectionEnvelope VnetInfo) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "vnetName": autorest.Encode("path", vnetName), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/virtualNetworkConnections/{vnetName}", pathParameters), + autorest.WithJSON(connectionEnvelope), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateVnetConnectionSender sends the UpdateVnetConnection request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) UpdateVnetConnectionSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// UpdateVnetConnectionResponder handles the response to the UpdateVnetConnection request. The method always +// closes the http.Response Body. +func (client AppsClient) UpdateVnetConnectionResponder(resp *http.Response) (result VnetInfo, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// UpdateVnetConnectionGateway adds a gateway to a connected Virtual Network (PUT) or updates it (PATCH). +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// vnetName - name of the Virtual Network. +// gatewayName - name of the gateway. Currently, the only supported string is "primary". +// connectionEnvelope - the properties to update this gateway with. +func (client AppsClient) UpdateVnetConnectionGateway(ctx context.Context, resourceGroupName string, name string, vnetName string, gatewayName string, connectionEnvelope VnetGateway) (result VnetGateway, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.UpdateVnetConnectionGateway") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "UpdateVnetConnectionGateway", err.Error()) + } + + req, err := client.UpdateVnetConnectionGatewayPreparer(ctx, resourceGroupName, name, vnetName, gatewayName, connectionEnvelope) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdateVnetConnectionGateway", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateVnetConnectionGatewaySender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdateVnetConnectionGateway", resp, "Failure sending request") + return + } + + result, err = client.UpdateVnetConnectionGatewayResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdateVnetConnectionGateway", resp, "Failure responding to request") + } + + return +} + +// UpdateVnetConnectionGatewayPreparer prepares the UpdateVnetConnectionGateway request. +func (client AppsClient) UpdateVnetConnectionGatewayPreparer(ctx context.Context, resourceGroupName string, name string, vnetName string, gatewayName string, connectionEnvelope VnetGateway) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "gatewayName": autorest.Encode("path", gatewayName), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "vnetName": autorest.Encode("path", vnetName), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/virtualNetworkConnections/{vnetName}/gateways/{gatewayName}", pathParameters), + autorest.WithJSON(connectionEnvelope), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateVnetConnectionGatewaySender sends the UpdateVnetConnectionGateway request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) UpdateVnetConnectionGatewaySender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// UpdateVnetConnectionGatewayResponder handles the response to the UpdateVnetConnectionGateway request. The method always +// closes the http.Response Body. +func (client AppsClient) UpdateVnetConnectionGatewayResponder(resp *http.Response) (result VnetGateway, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// UpdateVnetConnectionGatewaySlot adds a gateway to a connected Virtual Network (PUT) or updates it (PATCH). +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// vnetName - name of the Virtual Network. +// gatewayName - name of the gateway. Currently, the only supported string is "primary". +// connectionEnvelope - the properties to update this gateway with. +// slot - name of the deployment slot. If a slot is not specified, the API will add or update a gateway for the +// production slot's Virtual Network. +func (client AppsClient) UpdateVnetConnectionGatewaySlot(ctx context.Context, resourceGroupName string, name string, vnetName string, gatewayName string, connectionEnvelope VnetGateway, slot string) (result VnetGateway, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.UpdateVnetConnectionGatewaySlot") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "UpdateVnetConnectionGatewaySlot", err.Error()) + } + + req, err := client.UpdateVnetConnectionGatewaySlotPreparer(ctx, resourceGroupName, name, vnetName, gatewayName, connectionEnvelope, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdateVnetConnectionGatewaySlot", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateVnetConnectionGatewaySlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdateVnetConnectionGatewaySlot", resp, "Failure sending request") + return + } + + result, err = client.UpdateVnetConnectionGatewaySlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdateVnetConnectionGatewaySlot", resp, "Failure responding to request") + } + + return +} + +// UpdateVnetConnectionGatewaySlotPreparer prepares the UpdateVnetConnectionGatewaySlot request. +func (client AppsClient) UpdateVnetConnectionGatewaySlotPreparer(ctx context.Context, resourceGroupName string, name string, vnetName string, gatewayName string, connectionEnvelope VnetGateway, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "gatewayName": autorest.Encode("path", gatewayName), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "vnetName": autorest.Encode("path", vnetName), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/virtualNetworkConnections/{vnetName}/gateways/{gatewayName}", pathParameters), + autorest.WithJSON(connectionEnvelope), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateVnetConnectionGatewaySlotSender sends the UpdateVnetConnectionGatewaySlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) UpdateVnetConnectionGatewaySlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// UpdateVnetConnectionGatewaySlotResponder handles the response to the UpdateVnetConnectionGatewaySlot request. The method always +// closes the http.Response Body. +func (client AppsClient) UpdateVnetConnectionGatewaySlotResponder(resp *http.Response) (result VnetGateway, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// UpdateVnetConnectionSlot adds a Virtual Network connection to an app or slot (PUT) or updates the connection +// properties (PATCH). +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the app. +// vnetName - name of an existing Virtual Network. +// connectionEnvelope - properties of the Virtual Network connection. See example. +// slot - name of the deployment slot. If a slot is not specified, the API will add or update connections for +// the production slot. +func (client AppsClient) UpdateVnetConnectionSlot(ctx context.Context, resourceGroupName string, name string, vnetName string, connectionEnvelope VnetInfo, slot string) (result VnetInfo, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppsClient.UpdateVnetConnectionSlot") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppsClient", "UpdateVnetConnectionSlot", err.Error()) + } + + req, err := client.UpdateVnetConnectionSlotPreparer(ctx, resourceGroupName, name, vnetName, connectionEnvelope, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdateVnetConnectionSlot", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateVnetConnectionSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdateVnetConnectionSlot", resp, "Failure sending request") + return + } + + result, err = client.UpdateVnetConnectionSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsClient", "UpdateVnetConnectionSlot", resp, "Failure responding to request") + } + + return +} + +// UpdateVnetConnectionSlotPreparer prepares the UpdateVnetConnectionSlot request. +func (client AppsClient) UpdateVnetConnectionSlotPreparer(ctx context.Context, resourceGroupName string, name string, vnetName string, connectionEnvelope VnetInfo, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "vnetName": autorest.Encode("path", vnetName), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/virtualNetworkConnections/{vnetName}", pathParameters), + autorest.WithJSON(connectionEnvelope), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateVnetConnectionSlotSender sends the UpdateVnetConnectionSlot request. The method will close the +// http.Response Body if it receives an error. +func (client AppsClient) UpdateVnetConnectionSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// UpdateVnetConnectionSlotResponder handles the response to the UpdateVnetConnectionSlot request. The method always +// closes the http.Response Body. +func (client AppsClient) UpdateVnetConnectionSlotResponder(resp *http.Response) (result VnetInfo, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/web/mgmt/2019-08-01/web/appservicecertificateorders.go b/services/web/mgmt/2019-08-01/web/appservicecertificateorders.go new file mode 100644 index 000000000000..59cb8291e90d --- /dev/null +++ b/services/web/mgmt/2019-08-01/web/appservicecertificateorders.go @@ -0,0 +1,1874 @@ +package web + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// AppServiceCertificateOrdersClient is the webSite Management Client +type AppServiceCertificateOrdersClient struct { + BaseClient +} + +// NewAppServiceCertificateOrdersClient creates an instance of the AppServiceCertificateOrdersClient client. +func NewAppServiceCertificateOrdersClient(subscriptionID string) AppServiceCertificateOrdersClient { + return NewAppServiceCertificateOrdersClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewAppServiceCertificateOrdersClientWithBaseURI creates an instance of the AppServiceCertificateOrdersClient client. +func NewAppServiceCertificateOrdersClientWithBaseURI(baseURI string, subscriptionID string) AppServiceCertificateOrdersClient { + return AppServiceCertificateOrdersClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate create or update a certificate purchase order. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// certificateOrderName - name of the certificate order. +// certificateDistinguishedName - distinguished name to use for the certificate order. +func (client AppServiceCertificateOrdersClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, certificateOrderName string, certificateDistinguishedName AppServiceCertificateOrder) (result AppServiceCertificateOrdersCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceCertificateOrdersClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}, + {TargetValue: certificateDistinguishedName, + Constraints: []validation.Constraint{{Target: "certificateDistinguishedName.AppServiceCertificateOrderProperties", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "certificateDistinguishedName.AppServiceCertificateOrderProperties.ValidityInYears", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "certificateDistinguishedName.AppServiceCertificateOrderProperties.ValidityInYears", Name: validation.InclusiveMaximum, Rule: int64(3), Chain: nil}, + {Target: "certificateDistinguishedName.AppServiceCertificateOrderProperties.ValidityInYears", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}, + }}, + }}}}}); err != nil { + return result, validation.NewError("web.AppServiceCertificateOrdersClient", "CreateOrUpdate", err.Error()) + } + + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, certificateOrderName, certificateDistinguishedName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client AppServiceCertificateOrdersClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, certificateOrderName string, certificateDistinguishedName AppServiceCertificateOrder) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "certificateOrderName": autorest.Encode("path", certificateOrderName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}", pathParameters), + autorest.WithJSON(certificateDistinguishedName), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client AppServiceCertificateOrdersClient) CreateOrUpdateSender(req *http.Request) (future AppServiceCertificateOrdersCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client AppServiceCertificateOrdersClient) CreateOrUpdateResponder(resp *http.Response) (result AppServiceCertificateOrder, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// CreateOrUpdateCertificate creates or updates a certificate and associates with key vault secret. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// certificateOrderName - name of the certificate order. +// name - name of the certificate. +// keyVaultCertificate - key vault certificate resource Id. +func (client AppServiceCertificateOrdersClient) CreateOrUpdateCertificate(ctx context.Context, resourceGroupName string, certificateOrderName string, name string, keyVaultCertificate AppServiceCertificateResource) (result AppServiceCertificateOrdersCreateOrUpdateCertificateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceCertificateOrdersClient.CreateOrUpdateCertificate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppServiceCertificateOrdersClient", "CreateOrUpdateCertificate", err.Error()) + } + + req, err := client.CreateOrUpdateCertificatePreparer(ctx, resourceGroupName, certificateOrderName, name, keyVaultCertificate) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "CreateOrUpdateCertificate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateCertificateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "CreateOrUpdateCertificate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdateCertificatePreparer prepares the CreateOrUpdateCertificate request. +func (client AppServiceCertificateOrdersClient) CreateOrUpdateCertificatePreparer(ctx context.Context, resourceGroupName string, certificateOrderName string, name string, keyVaultCertificate AppServiceCertificateResource) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "certificateOrderName": autorest.Encode("path", certificateOrderName), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/certificates/{name}", pathParameters), + autorest.WithJSON(keyVaultCertificate), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateCertificateSender sends the CreateOrUpdateCertificate request. The method will close the +// http.Response Body if it receives an error. +func (client AppServiceCertificateOrdersClient) CreateOrUpdateCertificateSender(req *http.Request) (future AppServiceCertificateOrdersCreateOrUpdateCertificateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateCertificateResponder handles the response to the CreateOrUpdateCertificate request. The method always +// closes the http.Response Body. +func (client AppServiceCertificateOrdersClient) CreateOrUpdateCertificateResponder(resp *http.Response) (result AppServiceCertificateResource, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete delete an existing certificate order. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// certificateOrderName - name of the certificate order. +func (client AppServiceCertificateOrdersClient) Delete(ctx context.Context, resourceGroupName string, certificateOrderName string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceCertificateOrdersClient.Delete") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppServiceCertificateOrdersClient", "Delete", err.Error()) + } + + req, err := client.DeletePreparer(ctx, resourceGroupName, certificateOrderName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "Delete", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "Delete", resp, "Failure sending request") + return + } + + result, err = client.DeleteResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "Delete", resp, "Failure responding to request") + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client AppServiceCertificateOrdersClient) DeletePreparer(ctx context.Context, resourceGroupName string, certificateOrderName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "certificateOrderName": autorest.Encode("path", certificateOrderName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client AppServiceCertificateOrdersClient) DeleteSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client AppServiceCertificateOrdersClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// DeleteCertificate delete the certificate associated with a certificate order. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// certificateOrderName - name of the certificate order. +// name - name of the certificate. +func (client AppServiceCertificateOrdersClient) DeleteCertificate(ctx context.Context, resourceGroupName string, certificateOrderName string, name string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceCertificateOrdersClient.DeleteCertificate") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppServiceCertificateOrdersClient", "DeleteCertificate", err.Error()) + } + + req, err := client.DeleteCertificatePreparer(ctx, resourceGroupName, certificateOrderName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "DeleteCertificate", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteCertificateSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "DeleteCertificate", resp, "Failure sending request") + return + } + + result, err = client.DeleteCertificateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "DeleteCertificate", resp, "Failure responding to request") + } + + return +} + +// DeleteCertificatePreparer prepares the DeleteCertificate request. +func (client AppServiceCertificateOrdersClient) DeleteCertificatePreparer(ctx context.Context, resourceGroupName string, certificateOrderName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "certificateOrderName": autorest.Encode("path", certificateOrderName), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/certificates/{name}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteCertificateSender sends the DeleteCertificate request. The method will close the +// http.Response Body if it receives an error. +func (client AppServiceCertificateOrdersClient) DeleteCertificateSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeleteCertificateResponder handles the response to the DeleteCertificate request. The method always +// closes the http.Response Body. +func (client AppServiceCertificateOrdersClient) DeleteCertificateResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get get a certificate order. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// certificateOrderName - name of the certificate order.. +func (client AppServiceCertificateOrdersClient) Get(ctx context.Context, resourceGroupName string, certificateOrderName string) (result AppServiceCertificateOrder, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceCertificateOrdersClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppServiceCertificateOrdersClient", "Get", err.Error()) + } + + req, err := client.GetPreparer(ctx, resourceGroupName, certificateOrderName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client AppServiceCertificateOrdersClient) GetPreparer(ctx context.Context, resourceGroupName string, certificateOrderName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "certificateOrderName": autorest.Encode("path", certificateOrderName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client AppServiceCertificateOrdersClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client AppServiceCertificateOrdersClient) GetResponder(resp *http.Response) (result AppServiceCertificateOrder, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetCertificate get the certificate associated with a certificate order. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// certificateOrderName - name of the certificate order. +// name - name of the certificate. +func (client AppServiceCertificateOrdersClient) GetCertificate(ctx context.Context, resourceGroupName string, certificateOrderName string, name string) (result AppServiceCertificateResource, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceCertificateOrdersClient.GetCertificate") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppServiceCertificateOrdersClient", "GetCertificate", err.Error()) + } + + req, err := client.GetCertificatePreparer(ctx, resourceGroupName, certificateOrderName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "GetCertificate", nil, "Failure preparing request") + return + } + + resp, err := client.GetCertificateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "GetCertificate", resp, "Failure sending request") + return + } + + result, err = client.GetCertificateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "GetCertificate", resp, "Failure responding to request") + } + + return +} + +// GetCertificatePreparer prepares the GetCertificate request. +func (client AppServiceCertificateOrdersClient) GetCertificatePreparer(ctx context.Context, resourceGroupName string, certificateOrderName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "certificateOrderName": autorest.Encode("path", certificateOrderName), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/certificates/{name}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetCertificateSender sends the GetCertificate request. The method will close the +// http.Response Body if it receives an error. +func (client AppServiceCertificateOrdersClient) GetCertificateSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetCertificateResponder handles the response to the GetCertificate request. The method always +// closes the http.Response Body. +func (client AppServiceCertificateOrdersClient) GetCertificateResponder(resp *http.Response) (result AppServiceCertificateResource, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List list all certificate orders in a subscription. +func (client AppServiceCertificateOrdersClient) List(ctx context.Context) (result AppServiceCertificateOrderCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceCertificateOrdersClient.List") + defer func() { + sc := -1 + if result.ascoc.Response.Response != nil { + sc = result.ascoc.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.ascoc.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "List", resp, "Failure sending request") + return + } + + result.ascoc, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client AppServiceCertificateOrdersClient) ListPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.CertificateRegistration/certificateOrders", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client AppServiceCertificateOrdersClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client AppServiceCertificateOrdersClient) ListResponder(resp *http.Response) (result AppServiceCertificateOrderCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client AppServiceCertificateOrdersClient) listNextResults(ctx context.Context, lastResults AppServiceCertificateOrderCollection) (result AppServiceCertificateOrderCollection, err error) { + req, err := lastResults.appServiceCertificateOrderCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client AppServiceCertificateOrdersClient) ListComplete(ctx context.Context) (result AppServiceCertificateOrderCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceCertificateOrdersClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx) + return +} + +// ListByResourceGroup get certificate orders in a resource group. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +func (client AppServiceCertificateOrdersClient) ListByResourceGroup(ctx context.Context, resourceGroupName string) (result AppServiceCertificateOrderCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceCertificateOrdersClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.ascoc.Response.Response != nil { + sc = result.ascoc.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppServiceCertificateOrdersClient", "ListByResourceGroup", err.Error()) + } + + result.fn = client.listByResourceGroupNextResults + req, err := client.ListByResourceGroupPreparer(ctx, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "ListByResourceGroup", nil, "Failure preparing request") + return + } + + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.ascoc.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "ListByResourceGroup", resp, "Failure sending request") + return + } + + result.ascoc, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "ListByResourceGroup", resp, "Failure responding to request") + } + + return +} + +// ListByResourceGroupPreparer prepares the ListByResourceGroup request. +func (client AppServiceCertificateOrdersClient) ListByResourceGroupPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByResourceGroupSender sends the ListByResourceGroup request. The method will close the +// http.Response Body if it receives an error. +func (client AppServiceCertificateOrdersClient) ListByResourceGroupSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByResourceGroupResponder handles the response to the ListByResourceGroup request. The method always +// closes the http.Response Body. +func (client AppServiceCertificateOrdersClient) ListByResourceGroupResponder(resp *http.Response) (result AppServiceCertificateOrderCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listByResourceGroupNextResults retrieves the next set of results, if any. +func (client AppServiceCertificateOrdersClient) listByResourceGroupNextResults(ctx context.Context, lastResults AppServiceCertificateOrderCollection) (result AppServiceCertificateOrderCollection, err error) { + req, err := lastResults.appServiceCertificateOrderCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "listByResourceGroupNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "listByResourceGroupNextResults", resp, "Failure sending next results request") + } + result, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "listByResourceGroupNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListByResourceGroupComplete enumerates all values, automatically crossing page boundaries as required. +func (client AppServiceCertificateOrdersClient) ListByResourceGroupComplete(ctx context.Context, resourceGroupName string) (result AppServiceCertificateOrderCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceCertificateOrdersClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListByResourceGroup(ctx, resourceGroupName) + return +} + +// ListCertificates list all certificates associated with a certificate order. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// certificateOrderName - name of the certificate order. +func (client AppServiceCertificateOrdersClient) ListCertificates(ctx context.Context, resourceGroupName string, certificateOrderName string) (result AppServiceCertificateCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceCertificateOrdersClient.ListCertificates") + defer func() { + sc := -1 + if result.ascc.Response.Response != nil { + sc = result.ascc.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppServiceCertificateOrdersClient", "ListCertificates", err.Error()) + } + + result.fn = client.listCertificatesNextResults + req, err := client.ListCertificatesPreparer(ctx, resourceGroupName, certificateOrderName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "ListCertificates", nil, "Failure preparing request") + return + } + + resp, err := client.ListCertificatesSender(req) + if err != nil { + result.ascc.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "ListCertificates", resp, "Failure sending request") + return + } + + result.ascc, err = client.ListCertificatesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "ListCertificates", resp, "Failure responding to request") + } + + return +} + +// ListCertificatesPreparer prepares the ListCertificates request. +func (client AppServiceCertificateOrdersClient) ListCertificatesPreparer(ctx context.Context, resourceGroupName string, certificateOrderName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "certificateOrderName": autorest.Encode("path", certificateOrderName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/certificates", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListCertificatesSender sends the ListCertificates request. The method will close the +// http.Response Body if it receives an error. +func (client AppServiceCertificateOrdersClient) ListCertificatesSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListCertificatesResponder handles the response to the ListCertificates request. The method always +// closes the http.Response Body. +func (client AppServiceCertificateOrdersClient) ListCertificatesResponder(resp *http.Response) (result AppServiceCertificateCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listCertificatesNextResults retrieves the next set of results, if any. +func (client AppServiceCertificateOrdersClient) listCertificatesNextResults(ctx context.Context, lastResults AppServiceCertificateCollection) (result AppServiceCertificateCollection, err error) { + req, err := lastResults.appServiceCertificateCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "listCertificatesNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListCertificatesSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "listCertificatesNextResults", resp, "Failure sending next results request") + } + result, err = client.ListCertificatesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "listCertificatesNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListCertificatesComplete enumerates all values, automatically crossing page boundaries as required. +func (client AppServiceCertificateOrdersClient) ListCertificatesComplete(ctx context.Context, resourceGroupName string, certificateOrderName string) (result AppServiceCertificateCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceCertificateOrdersClient.ListCertificates") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListCertificates(ctx, resourceGroupName, certificateOrderName) + return +} + +// Reissue reissue an existing certificate order. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// certificateOrderName - name of the certificate order. +// reissueCertificateOrderRequest - parameters for the reissue. +func (client AppServiceCertificateOrdersClient) Reissue(ctx context.Context, resourceGroupName string, certificateOrderName string, reissueCertificateOrderRequest ReissueCertificateOrderRequest) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceCertificateOrdersClient.Reissue") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppServiceCertificateOrdersClient", "Reissue", err.Error()) + } + + req, err := client.ReissuePreparer(ctx, resourceGroupName, certificateOrderName, reissueCertificateOrderRequest) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "Reissue", nil, "Failure preparing request") + return + } + + resp, err := client.ReissueSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "Reissue", resp, "Failure sending request") + return + } + + result, err = client.ReissueResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "Reissue", resp, "Failure responding to request") + } + + return +} + +// ReissuePreparer prepares the Reissue request. +func (client AppServiceCertificateOrdersClient) ReissuePreparer(ctx context.Context, resourceGroupName string, certificateOrderName string, reissueCertificateOrderRequest ReissueCertificateOrderRequest) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "certificateOrderName": autorest.Encode("path", certificateOrderName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/reissue", pathParameters), + autorest.WithJSON(reissueCertificateOrderRequest), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ReissueSender sends the Reissue request. The method will close the +// http.Response Body if it receives an error. +func (client AppServiceCertificateOrdersClient) ReissueSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ReissueResponder handles the response to the Reissue request. The method always +// closes the http.Response Body. +func (client AppServiceCertificateOrdersClient) ReissueResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Renew renew an existing certificate order. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// certificateOrderName - name of the certificate order. +// renewCertificateOrderRequest - renew parameters +func (client AppServiceCertificateOrdersClient) Renew(ctx context.Context, resourceGroupName string, certificateOrderName string, renewCertificateOrderRequest RenewCertificateOrderRequest) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceCertificateOrdersClient.Renew") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppServiceCertificateOrdersClient", "Renew", err.Error()) + } + + req, err := client.RenewPreparer(ctx, resourceGroupName, certificateOrderName, renewCertificateOrderRequest) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "Renew", nil, "Failure preparing request") + return + } + + resp, err := client.RenewSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "Renew", resp, "Failure sending request") + return + } + + result, err = client.RenewResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "Renew", resp, "Failure responding to request") + } + + return +} + +// RenewPreparer prepares the Renew request. +func (client AppServiceCertificateOrdersClient) RenewPreparer(ctx context.Context, resourceGroupName string, certificateOrderName string, renewCertificateOrderRequest RenewCertificateOrderRequest) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "certificateOrderName": autorest.Encode("path", certificateOrderName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/renew", pathParameters), + autorest.WithJSON(renewCertificateOrderRequest), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// RenewSender sends the Renew request. The method will close the +// http.Response Body if it receives an error. +func (client AppServiceCertificateOrdersClient) RenewSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// RenewResponder handles the response to the Renew request. The method always +// closes the http.Response Body. +func (client AppServiceCertificateOrdersClient) RenewResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// ResendEmail resend certificate email. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// certificateOrderName - name of the certificate order. +func (client AppServiceCertificateOrdersClient) ResendEmail(ctx context.Context, resourceGroupName string, certificateOrderName string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceCertificateOrdersClient.ResendEmail") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppServiceCertificateOrdersClient", "ResendEmail", err.Error()) + } + + req, err := client.ResendEmailPreparer(ctx, resourceGroupName, certificateOrderName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "ResendEmail", nil, "Failure preparing request") + return + } + + resp, err := client.ResendEmailSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "ResendEmail", resp, "Failure sending request") + return + } + + result, err = client.ResendEmailResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "ResendEmail", resp, "Failure responding to request") + } + + return +} + +// ResendEmailPreparer prepares the ResendEmail request. +func (client AppServiceCertificateOrdersClient) ResendEmailPreparer(ctx context.Context, resourceGroupName string, certificateOrderName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "certificateOrderName": autorest.Encode("path", certificateOrderName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/resendEmail", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ResendEmailSender sends the ResendEmail request. The method will close the +// http.Response Body if it receives an error. +func (client AppServiceCertificateOrdersClient) ResendEmailSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ResendEmailResponder handles the response to the ResendEmail request. The method always +// closes the http.Response Body. +func (client AppServiceCertificateOrdersClient) ResendEmailResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// ResendRequestEmails verify domain ownership for this certificate order. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// certificateOrderName - name of the certificate order. +// nameIdentifier - email address +func (client AppServiceCertificateOrdersClient) ResendRequestEmails(ctx context.Context, resourceGroupName string, certificateOrderName string, nameIdentifier NameIdentifier) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceCertificateOrdersClient.ResendRequestEmails") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppServiceCertificateOrdersClient", "ResendRequestEmails", err.Error()) + } + + req, err := client.ResendRequestEmailsPreparer(ctx, resourceGroupName, certificateOrderName, nameIdentifier) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "ResendRequestEmails", nil, "Failure preparing request") + return + } + + resp, err := client.ResendRequestEmailsSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "ResendRequestEmails", resp, "Failure sending request") + return + } + + result, err = client.ResendRequestEmailsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "ResendRequestEmails", resp, "Failure responding to request") + } + + return +} + +// ResendRequestEmailsPreparer prepares the ResendRequestEmails request. +func (client AppServiceCertificateOrdersClient) ResendRequestEmailsPreparer(ctx context.Context, resourceGroupName string, certificateOrderName string, nameIdentifier NameIdentifier) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "certificateOrderName": autorest.Encode("path", certificateOrderName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/resendRequestEmails", pathParameters), + autorest.WithJSON(nameIdentifier), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ResendRequestEmailsSender sends the ResendRequestEmails request. The method will close the +// http.Response Body if it receives an error. +func (client AppServiceCertificateOrdersClient) ResendRequestEmailsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ResendRequestEmailsResponder handles the response to the ResendRequestEmails request. The method always +// closes the http.Response Body. +func (client AppServiceCertificateOrdersClient) ResendRequestEmailsResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// RetrieveCertificateActions retrieve the list of certificate actions. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the certificate order. +func (client AppServiceCertificateOrdersClient) RetrieveCertificateActions(ctx context.Context, resourceGroupName string, name string) (result ListCertificateOrderAction, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceCertificateOrdersClient.RetrieveCertificateActions") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppServiceCertificateOrdersClient", "RetrieveCertificateActions", err.Error()) + } + + req, err := client.RetrieveCertificateActionsPreparer(ctx, resourceGroupName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "RetrieveCertificateActions", nil, "Failure preparing request") + return + } + + resp, err := client.RetrieveCertificateActionsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "RetrieveCertificateActions", resp, "Failure sending request") + return + } + + result, err = client.RetrieveCertificateActionsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "RetrieveCertificateActions", resp, "Failure responding to request") + } + + return +} + +// RetrieveCertificateActionsPreparer prepares the RetrieveCertificateActions request. +func (client AppServiceCertificateOrdersClient) RetrieveCertificateActionsPreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{name}/retrieveCertificateActions", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// RetrieveCertificateActionsSender sends the RetrieveCertificateActions request. The method will close the +// http.Response Body if it receives an error. +func (client AppServiceCertificateOrdersClient) RetrieveCertificateActionsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// RetrieveCertificateActionsResponder handles the response to the RetrieveCertificateActions request. The method always +// closes the http.Response Body. +func (client AppServiceCertificateOrdersClient) RetrieveCertificateActionsResponder(resp *http.Response) (result ListCertificateOrderAction, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result.Value), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// RetrieveCertificateEmailHistory retrieve email history. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the certificate order. +func (client AppServiceCertificateOrdersClient) RetrieveCertificateEmailHistory(ctx context.Context, resourceGroupName string, name string) (result ListCertificateEmail, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceCertificateOrdersClient.RetrieveCertificateEmailHistory") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppServiceCertificateOrdersClient", "RetrieveCertificateEmailHistory", err.Error()) + } + + req, err := client.RetrieveCertificateEmailHistoryPreparer(ctx, resourceGroupName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "RetrieveCertificateEmailHistory", nil, "Failure preparing request") + return + } + + resp, err := client.RetrieveCertificateEmailHistorySender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "RetrieveCertificateEmailHistory", resp, "Failure sending request") + return + } + + result, err = client.RetrieveCertificateEmailHistoryResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "RetrieveCertificateEmailHistory", resp, "Failure responding to request") + } + + return +} + +// RetrieveCertificateEmailHistoryPreparer prepares the RetrieveCertificateEmailHistory request. +func (client AppServiceCertificateOrdersClient) RetrieveCertificateEmailHistoryPreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{name}/retrieveEmailHistory", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// RetrieveCertificateEmailHistorySender sends the RetrieveCertificateEmailHistory request. The method will close the +// http.Response Body if it receives an error. +func (client AppServiceCertificateOrdersClient) RetrieveCertificateEmailHistorySender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// RetrieveCertificateEmailHistoryResponder handles the response to the RetrieveCertificateEmailHistory request. The method always +// closes the http.Response Body. +func (client AppServiceCertificateOrdersClient) RetrieveCertificateEmailHistoryResponder(resp *http.Response) (result ListCertificateEmail, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result.Value), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// RetrieveSiteSeal verify domain ownership for this certificate order. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// certificateOrderName - name of the certificate order. +// siteSealRequest - site seal request. +func (client AppServiceCertificateOrdersClient) RetrieveSiteSeal(ctx context.Context, resourceGroupName string, certificateOrderName string, siteSealRequest SiteSealRequest) (result SiteSeal, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceCertificateOrdersClient.RetrieveSiteSeal") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppServiceCertificateOrdersClient", "RetrieveSiteSeal", err.Error()) + } + + req, err := client.RetrieveSiteSealPreparer(ctx, resourceGroupName, certificateOrderName, siteSealRequest) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "RetrieveSiteSeal", nil, "Failure preparing request") + return + } + + resp, err := client.RetrieveSiteSealSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "RetrieveSiteSeal", resp, "Failure sending request") + return + } + + result, err = client.RetrieveSiteSealResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "RetrieveSiteSeal", resp, "Failure responding to request") + } + + return +} + +// RetrieveSiteSealPreparer prepares the RetrieveSiteSeal request. +func (client AppServiceCertificateOrdersClient) RetrieveSiteSealPreparer(ctx context.Context, resourceGroupName string, certificateOrderName string, siteSealRequest SiteSealRequest) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "certificateOrderName": autorest.Encode("path", certificateOrderName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/retrieveSiteSeal", pathParameters), + autorest.WithJSON(siteSealRequest), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// RetrieveSiteSealSender sends the RetrieveSiteSeal request. The method will close the +// http.Response Body if it receives an error. +func (client AppServiceCertificateOrdersClient) RetrieveSiteSealSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// RetrieveSiteSealResponder handles the response to the RetrieveSiteSeal request. The method always +// closes the http.Response Body. +func (client AppServiceCertificateOrdersClient) RetrieveSiteSealResponder(resp *http.Response) (result SiteSeal, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Update create or update a certificate purchase order. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// certificateOrderName - name of the certificate order. +// certificateDistinguishedName - distinguished name to use for the certificate order. +func (client AppServiceCertificateOrdersClient) Update(ctx context.Context, resourceGroupName string, certificateOrderName string, certificateDistinguishedName AppServiceCertificateOrderPatchResource) (result AppServiceCertificateOrder, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceCertificateOrdersClient.Update") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppServiceCertificateOrdersClient", "Update", err.Error()) + } + + req, err := client.UpdatePreparer(ctx, resourceGroupName, certificateOrderName, certificateDistinguishedName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "Update", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "Update", resp, "Failure sending request") + return + } + + result, err = client.UpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "Update", resp, "Failure responding to request") + } + + return +} + +// UpdatePreparer prepares the Update request. +func (client AppServiceCertificateOrdersClient) UpdatePreparer(ctx context.Context, resourceGroupName string, certificateOrderName string, certificateDistinguishedName AppServiceCertificateOrderPatchResource) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "certificateOrderName": autorest.Encode("path", certificateOrderName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}", pathParameters), + autorest.WithJSON(certificateDistinguishedName), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateSender sends the Update request. The method will close the +// http.Response Body if it receives an error. +func (client AppServiceCertificateOrdersClient) UpdateSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// UpdateResponder handles the response to the Update request. The method always +// closes the http.Response Body. +func (client AppServiceCertificateOrdersClient) UpdateResponder(resp *http.Response) (result AppServiceCertificateOrder, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// UpdateCertificate creates or updates a certificate and associates with key vault secret. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// certificateOrderName - name of the certificate order. +// name - name of the certificate. +// keyVaultCertificate - key vault certificate resource Id. +func (client AppServiceCertificateOrdersClient) UpdateCertificate(ctx context.Context, resourceGroupName string, certificateOrderName string, name string, keyVaultCertificate AppServiceCertificatePatchResource) (result AppServiceCertificateResource, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceCertificateOrdersClient.UpdateCertificate") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppServiceCertificateOrdersClient", "UpdateCertificate", err.Error()) + } + + req, err := client.UpdateCertificatePreparer(ctx, resourceGroupName, certificateOrderName, name, keyVaultCertificate) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "UpdateCertificate", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateCertificateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "UpdateCertificate", resp, "Failure sending request") + return + } + + result, err = client.UpdateCertificateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "UpdateCertificate", resp, "Failure responding to request") + } + + return +} + +// UpdateCertificatePreparer prepares the UpdateCertificate request. +func (client AppServiceCertificateOrdersClient) UpdateCertificatePreparer(ctx context.Context, resourceGroupName string, certificateOrderName string, name string, keyVaultCertificate AppServiceCertificatePatchResource) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "certificateOrderName": autorest.Encode("path", certificateOrderName), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/certificates/{name}", pathParameters), + autorest.WithJSON(keyVaultCertificate), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateCertificateSender sends the UpdateCertificate request. The method will close the +// http.Response Body if it receives an error. +func (client AppServiceCertificateOrdersClient) UpdateCertificateSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// UpdateCertificateResponder handles the response to the UpdateCertificate request. The method always +// closes the http.Response Body. +func (client AppServiceCertificateOrdersClient) UpdateCertificateResponder(resp *http.Response) (result AppServiceCertificateResource, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ValidatePurchaseInformation validate information for a certificate order. +// Parameters: +// appServiceCertificateOrder - information for a certificate order. +func (client AppServiceCertificateOrdersClient) ValidatePurchaseInformation(ctx context.Context, appServiceCertificateOrder AppServiceCertificateOrder) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceCertificateOrdersClient.ValidatePurchaseInformation") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: appServiceCertificateOrder, + Constraints: []validation.Constraint{{Target: "appServiceCertificateOrder.AppServiceCertificateOrderProperties", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "appServiceCertificateOrder.AppServiceCertificateOrderProperties.ValidityInYears", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "appServiceCertificateOrder.AppServiceCertificateOrderProperties.ValidityInYears", Name: validation.InclusiveMaximum, Rule: int64(3), Chain: nil}, + {Target: "appServiceCertificateOrder.AppServiceCertificateOrderProperties.ValidityInYears", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}, + }}, + }}}}}); err != nil { + return result, validation.NewError("web.AppServiceCertificateOrdersClient", "ValidatePurchaseInformation", err.Error()) + } + + req, err := client.ValidatePurchaseInformationPreparer(ctx, appServiceCertificateOrder) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "ValidatePurchaseInformation", nil, "Failure preparing request") + return + } + + resp, err := client.ValidatePurchaseInformationSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "ValidatePurchaseInformation", resp, "Failure sending request") + return + } + + result, err = client.ValidatePurchaseInformationResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "ValidatePurchaseInformation", resp, "Failure responding to request") + } + + return +} + +// ValidatePurchaseInformationPreparer prepares the ValidatePurchaseInformation request. +func (client AppServiceCertificateOrdersClient) ValidatePurchaseInformationPreparer(ctx context.Context, appServiceCertificateOrder AppServiceCertificateOrder) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.CertificateRegistration/validateCertificateRegistrationInformation", pathParameters), + autorest.WithJSON(appServiceCertificateOrder), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ValidatePurchaseInformationSender sends the ValidatePurchaseInformation request. The method will close the +// http.Response Body if it receives an error. +func (client AppServiceCertificateOrdersClient) ValidatePurchaseInformationSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ValidatePurchaseInformationResponder handles the response to the ValidatePurchaseInformation request. The method always +// closes the http.Response Body. +func (client AppServiceCertificateOrdersClient) ValidatePurchaseInformationResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// VerifyDomainOwnership verify domain ownership for this certificate order. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// certificateOrderName - name of the certificate order. +func (client AppServiceCertificateOrdersClient) VerifyDomainOwnership(ctx context.Context, resourceGroupName string, certificateOrderName string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceCertificateOrdersClient.VerifyDomainOwnership") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppServiceCertificateOrdersClient", "VerifyDomainOwnership", err.Error()) + } + + req, err := client.VerifyDomainOwnershipPreparer(ctx, resourceGroupName, certificateOrderName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "VerifyDomainOwnership", nil, "Failure preparing request") + return + } + + resp, err := client.VerifyDomainOwnershipSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "VerifyDomainOwnership", resp, "Failure sending request") + return + } + + result, err = client.VerifyDomainOwnershipResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersClient", "VerifyDomainOwnership", resp, "Failure responding to request") + } + + return +} + +// VerifyDomainOwnershipPreparer prepares the VerifyDomainOwnership request. +func (client AppServiceCertificateOrdersClient) VerifyDomainOwnershipPreparer(ctx context.Context, resourceGroupName string, certificateOrderName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "certificateOrderName": autorest.Encode("path", certificateOrderName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CertificateRegistration/certificateOrders/{certificateOrderName}/verifyDomainOwnership", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// VerifyDomainOwnershipSender sends the VerifyDomainOwnership request. The method will close the +// http.Response Body if it receives an error. +func (client AppServiceCertificateOrdersClient) VerifyDomainOwnershipSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// VerifyDomainOwnershipResponder handles the response to the VerifyDomainOwnership request. The method always +// closes the http.Response Body. +func (client AppServiceCertificateOrdersClient) VerifyDomainOwnershipResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} diff --git a/services/web/mgmt/2019-08-01/web/appserviceenvironments.go b/services/web/mgmt/2019-08-01/web/appserviceenvironments.go new file mode 100644 index 000000000000..e8f8bafdb05c --- /dev/null +++ b/services/web/mgmt/2019-08-01/web/appserviceenvironments.go @@ -0,0 +1,4729 @@ +package web + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// AppServiceEnvironmentsClient is the webSite Management Client +type AppServiceEnvironmentsClient struct { + BaseClient +} + +// NewAppServiceEnvironmentsClient creates an instance of the AppServiceEnvironmentsClient client. +func NewAppServiceEnvironmentsClient(subscriptionID string) AppServiceEnvironmentsClient { + return NewAppServiceEnvironmentsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewAppServiceEnvironmentsClientWithBaseURI creates an instance of the AppServiceEnvironmentsClient client. +func NewAppServiceEnvironmentsClientWithBaseURI(baseURI string, subscriptionID string) AppServiceEnvironmentsClient { + return AppServiceEnvironmentsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// ChangeVnet move an App Service Environment to a different VNET. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the App Service Environment. +// vnetInfo - details for the new virtual network. +func (client AppServiceEnvironmentsClient) ChangeVnet(ctx context.Context, resourceGroupName string, name string, vnetInfo VirtualNetworkProfile) (result AppServiceEnvironmentsChangeVnetFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceEnvironmentsClient.ChangeVnet") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppServiceEnvironmentsClient", "ChangeVnet", err.Error()) + } + + req, err := client.ChangeVnetPreparer(ctx, resourceGroupName, name, vnetInfo) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "ChangeVnet", nil, "Failure preparing request") + return + } + + result, err = client.ChangeVnetSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "ChangeVnet", result.Response(), "Failure sending request") + return + } + + return +} + +// ChangeVnetPreparer prepares the ChangeVnet request. +func (client AppServiceEnvironmentsClient) ChangeVnetPreparer(ctx context.Context, resourceGroupName string, name string, vnetInfo VirtualNetworkProfile) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + vnetInfo.Name = nil + vnetInfo.Type = nil + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/changeVirtualNetwork", pathParameters), + autorest.WithJSON(vnetInfo), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ChangeVnetSender sends the ChangeVnet request. The method will close the +// http.Response Body if it receives an error. +func (client AppServiceEnvironmentsClient) ChangeVnetSender(req *http.Request) (future AppServiceEnvironmentsChangeVnetFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// ChangeVnetResponder handles the response to the ChangeVnet request. The method always +// closes the http.Response Body. +func (client AppServiceEnvironmentsClient) ChangeVnetResponder(resp *http.Response) (result AppCollectionPage, err error) { + result.ac, err = client.changeVnetResponder(resp) + result.fn = client.changeVnetNextResults + return +} + +func (client AppServiceEnvironmentsClient) changeVnetResponder(resp *http.Response) (result AppCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// changeVnetNextResults retrieves the next set of results, if any. +func (client AppServiceEnvironmentsClient) changeVnetNextResults(ctx context.Context, lastResults AppCollection) (result AppCollection, err error) { + req, err := lastResults.appCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "changeVnetNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, + autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "changeVnetNextResults", resp, "Failure sending next results request") + } + return client.changeVnetResponder(resp) +} + +// ChangeVnetComplete enumerates all values, automatically crossing page boundaries as required. +func (client AppServiceEnvironmentsClient) ChangeVnetComplete(ctx context.Context, resourceGroupName string, name string, vnetInfo VirtualNetworkProfile) (result AppServiceEnvironmentsChangeVnetAllFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceEnvironmentsClient.ChangeVnet") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + var future AppServiceEnvironmentsChangeVnetFuture + future, err = client.ChangeVnet(ctx, resourceGroupName, name, vnetInfo) + result.Future = future.Future + return +} + +// CreateOrUpdate create or update an App Service Environment. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the App Service Environment. +// hostingEnvironmentEnvelope - configuration details of the App Service Environment. +func (client AppServiceEnvironmentsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, name string, hostingEnvironmentEnvelope AppServiceEnvironmentResource) (result AppServiceEnvironmentsCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceEnvironmentsClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}, + {TargetValue: hostingEnvironmentEnvelope, + Constraints: []validation.Constraint{{Target: "hostingEnvironmentEnvelope.AppServiceEnvironment", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "hostingEnvironmentEnvelope.AppServiceEnvironment.Name", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "hostingEnvironmentEnvelope.AppServiceEnvironment.Location", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "hostingEnvironmentEnvelope.AppServiceEnvironment.VirtualNetwork", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "hostingEnvironmentEnvelope.AppServiceEnvironment.WorkerPools", Name: validation.Null, Rule: true, Chain: nil}, + }}}}}); err != nil { + return result, validation.NewError("web.AppServiceEnvironmentsClient", "CreateOrUpdate", err.Error()) + } + + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, name, hostingEnvironmentEnvelope) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client AppServiceEnvironmentsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, name string, hostingEnvironmentEnvelope AppServiceEnvironmentResource) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}", pathParameters), + autorest.WithJSON(hostingEnvironmentEnvelope), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client AppServiceEnvironmentsClient) CreateOrUpdateSender(req *http.Request) (future AppServiceEnvironmentsCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client AppServiceEnvironmentsClient) CreateOrUpdateResponder(resp *http.Response) (result AppServiceEnvironmentResource, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusBadRequest, http.StatusNotFound, http.StatusConflict), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// CreateOrUpdateMultiRolePool create or update a multi-role pool. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the App Service Environment. +// multiRolePoolEnvelope - properties of the multi-role pool. +func (client AppServiceEnvironmentsClient) CreateOrUpdateMultiRolePool(ctx context.Context, resourceGroupName string, name string, multiRolePoolEnvelope WorkerPoolResource) (result AppServiceEnvironmentsCreateOrUpdateMultiRolePoolFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceEnvironmentsClient.CreateOrUpdateMultiRolePool") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppServiceEnvironmentsClient", "CreateOrUpdateMultiRolePool", err.Error()) + } + + req, err := client.CreateOrUpdateMultiRolePoolPreparer(ctx, resourceGroupName, name, multiRolePoolEnvelope) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "CreateOrUpdateMultiRolePool", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateMultiRolePoolSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "CreateOrUpdateMultiRolePool", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdateMultiRolePoolPreparer prepares the CreateOrUpdateMultiRolePool request. +func (client AppServiceEnvironmentsClient) CreateOrUpdateMultiRolePoolPreparer(ctx context.Context, resourceGroupName string, name string, multiRolePoolEnvelope WorkerPoolResource) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default", pathParameters), + autorest.WithJSON(multiRolePoolEnvelope), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateMultiRolePoolSender sends the CreateOrUpdateMultiRolePool request. The method will close the +// http.Response Body if it receives an error. +func (client AppServiceEnvironmentsClient) CreateOrUpdateMultiRolePoolSender(req *http.Request) (future AppServiceEnvironmentsCreateOrUpdateMultiRolePoolFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateMultiRolePoolResponder handles the response to the CreateOrUpdateMultiRolePool request. The method always +// closes the http.Response Body. +func (client AppServiceEnvironmentsClient) CreateOrUpdateMultiRolePoolResponder(resp *http.Response) (result WorkerPoolResource, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusBadRequest, http.StatusNotFound, http.StatusConflict), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// CreateOrUpdateWorkerPool create or update a worker pool. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the App Service Environment. +// workerPoolName - name of the worker pool. +// workerPoolEnvelope - properties of the worker pool. +func (client AppServiceEnvironmentsClient) CreateOrUpdateWorkerPool(ctx context.Context, resourceGroupName string, name string, workerPoolName string, workerPoolEnvelope WorkerPoolResource) (result AppServiceEnvironmentsCreateOrUpdateWorkerPoolFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceEnvironmentsClient.CreateOrUpdateWorkerPool") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppServiceEnvironmentsClient", "CreateOrUpdateWorkerPool", err.Error()) + } + + req, err := client.CreateOrUpdateWorkerPoolPreparer(ctx, resourceGroupName, name, workerPoolName, workerPoolEnvelope) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "CreateOrUpdateWorkerPool", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateWorkerPoolSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "CreateOrUpdateWorkerPool", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdateWorkerPoolPreparer prepares the CreateOrUpdateWorkerPool request. +func (client AppServiceEnvironmentsClient) CreateOrUpdateWorkerPoolPreparer(ctx context.Context, resourceGroupName string, name string, workerPoolName string, workerPoolEnvelope WorkerPoolResource) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "workerPoolName": autorest.Encode("path", workerPoolName), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}", pathParameters), + autorest.WithJSON(workerPoolEnvelope), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateWorkerPoolSender sends the CreateOrUpdateWorkerPool request. The method will close the +// http.Response Body if it receives an error. +func (client AppServiceEnvironmentsClient) CreateOrUpdateWorkerPoolSender(req *http.Request) (future AppServiceEnvironmentsCreateOrUpdateWorkerPoolFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateWorkerPoolResponder handles the response to the CreateOrUpdateWorkerPool request. The method always +// closes the http.Response Body. +func (client AppServiceEnvironmentsClient) CreateOrUpdateWorkerPoolResponder(resp *http.Response) (result WorkerPoolResource, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusBadRequest, http.StatusNotFound, http.StatusConflict), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete delete an App Service Environment. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the App Service Environment. +// forceDelete - specify true to force the deletion even if the App Service Environment contains +// resources. The default is false. +func (client AppServiceEnvironmentsClient) Delete(ctx context.Context, resourceGroupName string, name string, forceDelete *bool) (result AppServiceEnvironmentsDeleteFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceEnvironmentsClient.Delete") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppServiceEnvironmentsClient", "Delete", err.Error()) + } + + req, err := client.DeletePreparer(ctx, resourceGroupName, name, forceDelete) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "Delete", nil, "Failure preparing request") + return + } + + result, err = client.DeleteSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "Delete", result.Response(), "Failure sending request") + return + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client AppServiceEnvironmentsClient) DeletePreparer(ctx context.Context, resourceGroupName string, name string, forceDelete *bool) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if forceDelete != nil { + queryParameters["forceDelete"] = autorest.Encode("query", *forceDelete) + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client AppServiceEnvironmentsClient) DeleteSender(req *http.Request) (future AppServiceEnvironmentsDeleteFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client AppServiceEnvironmentsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent, http.StatusBadRequest, http.StatusNotFound, http.StatusConflict), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get get the properties of an App Service Environment. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the App Service Environment. +func (client AppServiceEnvironmentsClient) Get(ctx context.Context, resourceGroupName string, name string) (result AppServiceEnvironmentResource, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceEnvironmentsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppServiceEnvironmentsClient", "Get", err.Error()) + } + + req, err := client.GetPreparer(ctx, resourceGroupName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client AppServiceEnvironmentsClient) GetPreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client AppServiceEnvironmentsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client AppServiceEnvironmentsClient) GetResponder(resp *http.Response) (result AppServiceEnvironmentResource, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetDiagnosticsItem get a diagnostics item for an App Service Environment. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the App Service Environment. +// diagnosticsName - name of the diagnostics item. +func (client AppServiceEnvironmentsClient) GetDiagnosticsItem(ctx context.Context, resourceGroupName string, name string, diagnosticsName string) (result HostingEnvironmentDiagnostics, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceEnvironmentsClient.GetDiagnosticsItem") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppServiceEnvironmentsClient", "GetDiagnosticsItem", err.Error()) + } + + req, err := client.GetDiagnosticsItemPreparer(ctx, resourceGroupName, name, diagnosticsName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "GetDiagnosticsItem", nil, "Failure preparing request") + return + } + + resp, err := client.GetDiagnosticsItemSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "GetDiagnosticsItem", resp, "Failure sending request") + return + } + + result, err = client.GetDiagnosticsItemResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "GetDiagnosticsItem", resp, "Failure responding to request") + } + + return +} + +// GetDiagnosticsItemPreparer prepares the GetDiagnosticsItem request. +func (client AppServiceEnvironmentsClient) GetDiagnosticsItemPreparer(ctx context.Context, resourceGroupName string, name string, diagnosticsName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "diagnosticsName": autorest.Encode("path", diagnosticsName), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/diagnostics/{diagnosticsName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetDiagnosticsItemSender sends the GetDiagnosticsItem request. The method will close the +// http.Response Body if it receives an error. +func (client AppServiceEnvironmentsClient) GetDiagnosticsItemSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetDiagnosticsItemResponder handles the response to the GetDiagnosticsItem request. The method always +// closes the http.Response Body. +func (client AppServiceEnvironmentsClient) GetDiagnosticsItemResponder(resp *http.Response) (result HostingEnvironmentDiagnostics, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetInboundNetworkDependenciesEndpoints get the network endpoints of all inbound dependencies of an App Service +// Environment. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the App Service Environment. +func (client AppServiceEnvironmentsClient) GetInboundNetworkDependenciesEndpoints(ctx context.Context, resourceGroupName string, name string) (result InboundEnvironmentEndpointCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceEnvironmentsClient.GetInboundNetworkDependenciesEndpoints") + defer func() { + sc := -1 + if result.ieec.Response.Response != nil { + sc = result.ieec.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppServiceEnvironmentsClient", "GetInboundNetworkDependenciesEndpoints", err.Error()) + } + + result.fn = client.getInboundNetworkDependenciesEndpointsNextResults + req, err := client.GetInboundNetworkDependenciesEndpointsPreparer(ctx, resourceGroupName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "GetInboundNetworkDependenciesEndpoints", nil, "Failure preparing request") + return + } + + resp, err := client.GetInboundNetworkDependenciesEndpointsSender(req) + if err != nil { + result.ieec.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "GetInboundNetworkDependenciesEndpoints", resp, "Failure sending request") + return + } + + result.ieec, err = client.GetInboundNetworkDependenciesEndpointsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "GetInboundNetworkDependenciesEndpoints", resp, "Failure responding to request") + } + + return +} + +// GetInboundNetworkDependenciesEndpointsPreparer prepares the GetInboundNetworkDependenciesEndpoints request. +func (client AppServiceEnvironmentsClient) GetInboundNetworkDependenciesEndpointsPreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/inboundNetworkDependenciesEndpoints", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetInboundNetworkDependenciesEndpointsSender sends the GetInboundNetworkDependenciesEndpoints request. The method will close the +// http.Response Body if it receives an error. +func (client AppServiceEnvironmentsClient) GetInboundNetworkDependenciesEndpointsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetInboundNetworkDependenciesEndpointsResponder handles the response to the GetInboundNetworkDependenciesEndpoints request. The method always +// closes the http.Response Body. +func (client AppServiceEnvironmentsClient) GetInboundNetworkDependenciesEndpointsResponder(resp *http.Response) (result InboundEnvironmentEndpointCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// getInboundNetworkDependenciesEndpointsNextResults retrieves the next set of results, if any. +func (client AppServiceEnvironmentsClient) getInboundNetworkDependenciesEndpointsNextResults(ctx context.Context, lastResults InboundEnvironmentEndpointCollection) (result InboundEnvironmentEndpointCollection, err error) { + req, err := lastResults.inboundEnvironmentEndpointCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "getInboundNetworkDependenciesEndpointsNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.GetInboundNetworkDependenciesEndpointsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "getInboundNetworkDependenciesEndpointsNextResults", resp, "Failure sending next results request") + } + result, err = client.GetInboundNetworkDependenciesEndpointsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "getInboundNetworkDependenciesEndpointsNextResults", resp, "Failure responding to next results request") + } + return +} + +// GetInboundNetworkDependenciesEndpointsComplete enumerates all values, automatically crossing page boundaries as required. +func (client AppServiceEnvironmentsClient) GetInboundNetworkDependenciesEndpointsComplete(ctx context.Context, resourceGroupName string, name string) (result InboundEnvironmentEndpointCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceEnvironmentsClient.GetInboundNetworkDependenciesEndpoints") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.GetInboundNetworkDependenciesEndpoints(ctx, resourceGroupName, name) + return +} + +// GetMultiRolePool get properties of a multi-role pool. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the App Service Environment. +func (client AppServiceEnvironmentsClient) GetMultiRolePool(ctx context.Context, resourceGroupName string, name string) (result WorkerPoolResource, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceEnvironmentsClient.GetMultiRolePool") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppServiceEnvironmentsClient", "GetMultiRolePool", err.Error()) + } + + req, err := client.GetMultiRolePoolPreparer(ctx, resourceGroupName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "GetMultiRolePool", nil, "Failure preparing request") + return + } + + resp, err := client.GetMultiRolePoolSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "GetMultiRolePool", resp, "Failure sending request") + return + } + + result, err = client.GetMultiRolePoolResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "GetMultiRolePool", resp, "Failure responding to request") + } + + return +} + +// GetMultiRolePoolPreparer prepares the GetMultiRolePool request. +func (client AppServiceEnvironmentsClient) GetMultiRolePoolPreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetMultiRolePoolSender sends the GetMultiRolePool request. The method will close the +// http.Response Body if it receives an error. +func (client AppServiceEnvironmentsClient) GetMultiRolePoolSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetMultiRolePoolResponder handles the response to the GetMultiRolePool request. The method always +// closes the http.Response Body. +func (client AppServiceEnvironmentsClient) GetMultiRolePoolResponder(resp *http.Response) (result WorkerPoolResource, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetOutboundNetworkDependenciesEndpoints get the network endpoints of all outbound dependencies of an App Service +// Environment. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the App Service Environment. +func (client AppServiceEnvironmentsClient) GetOutboundNetworkDependenciesEndpoints(ctx context.Context, resourceGroupName string, name string) (result OutboundEnvironmentEndpointCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceEnvironmentsClient.GetOutboundNetworkDependenciesEndpoints") + defer func() { + sc := -1 + if result.oeec.Response.Response != nil { + sc = result.oeec.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppServiceEnvironmentsClient", "GetOutboundNetworkDependenciesEndpoints", err.Error()) + } + + result.fn = client.getOutboundNetworkDependenciesEndpointsNextResults + req, err := client.GetOutboundNetworkDependenciesEndpointsPreparer(ctx, resourceGroupName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "GetOutboundNetworkDependenciesEndpoints", nil, "Failure preparing request") + return + } + + resp, err := client.GetOutboundNetworkDependenciesEndpointsSender(req) + if err != nil { + result.oeec.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "GetOutboundNetworkDependenciesEndpoints", resp, "Failure sending request") + return + } + + result.oeec, err = client.GetOutboundNetworkDependenciesEndpointsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "GetOutboundNetworkDependenciesEndpoints", resp, "Failure responding to request") + } + + return +} + +// GetOutboundNetworkDependenciesEndpointsPreparer prepares the GetOutboundNetworkDependenciesEndpoints request. +func (client AppServiceEnvironmentsClient) GetOutboundNetworkDependenciesEndpointsPreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/outboundNetworkDependenciesEndpoints", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetOutboundNetworkDependenciesEndpointsSender sends the GetOutboundNetworkDependenciesEndpoints request. The method will close the +// http.Response Body if it receives an error. +func (client AppServiceEnvironmentsClient) GetOutboundNetworkDependenciesEndpointsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetOutboundNetworkDependenciesEndpointsResponder handles the response to the GetOutboundNetworkDependenciesEndpoints request. The method always +// closes the http.Response Body. +func (client AppServiceEnvironmentsClient) GetOutboundNetworkDependenciesEndpointsResponder(resp *http.Response) (result OutboundEnvironmentEndpointCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// getOutboundNetworkDependenciesEndpointsNextResults retrieves the next set of results, if any. +func (client AppServiceEnvironmentsClient) getOutboundNetworkDependenciesEndpointsNextResults(ctx context.Context, lastResults OutboundEnvironmentEndpointCollection) (result OutboundEnvironmentEndpointCollection, err error) { + req, err := lastResults.outboundEnvironmentEndpointCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "getOutboundNetworkDependenciesEndpointsNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.GetOutboundNetworkDependenciesEndpointsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "getOutboundNetworkDependenciesEndpointsNextResults", resp, "Failure sending next results request") + } + result, err = client.GetOutboundNetworkDependenciesEndpointsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "getOutboundNetworkDependenciesEndpointsNextResults", resp, "Failure responding to next results request") + } + return +} + +// GetOutboundNetworkDependenciesEndpointsComplete enumerates all values, automatically crossing page boundaries as required. +func (client AppServiceEnvironmentsClient) GetOutboundNetworkDependenciesEndpointsComplete(ctx context.Context, resourceGroupName string, name string) (result OutboundEnvironmentEndpointCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceEnvironmentsClient.GetOutboundNetworkDependenciesEndpoints") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.GetOutboundNetworkDependenciesEndpoints(ctx, resourceGroupName, name) + return +} + +// GetWorkerPool get properties of a worker pool. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the App Service Environment. +// workerPoolName - name of the worker pool. +func (client AppServiceEnvironmentsClient) GetWorkerPool(ctx context.Context, resourceGroupName string, name string, workerPoolName string) (result WorkerPoolResource, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceEnvironmentsClient.GetWorkerPool") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppServiceEnvironmentsClient", "GetWorkerPool", err.Error()) + } + + req, err := client.GetWorkerPoolPreparer(ctx, resourceGroupName, name, workerPoolName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "GetWorkerPool", nil, "Failure preparing request") + return + } + + resp, err := client.GetWorkerPoolSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "GetWorkerPool", resp, "Failure sending request") + return + } + + result, err = client.GetWorkerPoolResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "GetWorkerPool", resp, "Failure responding to request") + } + + return +} + +// GetWorkerPoolPreparer prepares the GetWorkerPool request. +func (client AppServiceEnvironmentsClient) GetWorkerPoolPreparer(ctx context.Context, resourceGroupName string, name string, workerPoolName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "workerPoolName": autorest.Encode("path", workerPoolName), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetWorkerPoolSender sends the GetWorkerPool request. The method will close the +// http.Response Body if it receives an error. +func (client AppServiceEnvironmentsClient) GetWorkerPoolSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetWorkerPoolResponder handles the response to the GetWorkerPool request. The method always +// closes the http.Response Body. +func (client AppServiceEnvironmentsClient) GetWorkerPoolResponder(resp *http.Response) (result WorkerPoolResource, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List get all App Service Environments for a subscription. +func (client AppServiceEnvironmentsClient) List(ctx context.Context) (result AppServiceEnvironmentCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceEnvironmentsClient.List") + defer func() { + sc := -1 + if result.asec.Response.Response != nil { + sc = result.asec.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.asec.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "List", resp, "Failure sending request") + return + } + + result.asec, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client AppServiceEnvironmentsClient) ListPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Web/hostingEnvironments", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client AppServiceEnvironmentsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client AppServiceEnvironmentsClient) ListResponder(resp *http.Response) (result AppServiceEnvironmentCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client AppServiceEnvironmentsClient) listNextResults(ctx context.Context, lastResults AppServiceEnvironmentCollection) (result AppServiceEnvironmentCollection, err error) { + req, err := lastResults.appServiceEnvironmentCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client AppServiceEnvironmentsClient) ListComplete(ctx context.Context) (result AppServiceEnvironmentCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceEnvironmentsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx) + return +} + +// ListAppServicePlans get all App Service plans in an App Service Environment. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the App Service Environment. +func (client AppServiceEnvironmentsClient) ListAppServicePlans(ctx context.Context, resourceGroupName string, name string) (result AppServicePlanCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceEnvironmentsClient.ListAppServicePlans") + defer func() { + sc := -1 + if result.aspc.Response.Response != nil { + sc = result.aspc.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppServiceEnvironmentsClient", "ListAppServicePlans", err.Error()) + } + + result.fn = client.listAppServicePlansNextResults + req, err := client.ListAppServicePlansPreparer(ctx, resourceGroupName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "ListAppServicePlans", nil, "Failure preparing request") + return + } + + resp, err := client.ListAppServicePlansSender(req) + if err != nil { + result.aspc.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "ListAppServicePlans", resp, "Failure sending request") + return + } + + result.aspc, err = client.ListAppServicePlansResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "ListAppServicePlans", resp, "Failure responding to request") + } + + return +} + +// ListAppServicePlansPreparer prepares the ListAppServicePlans request. +func (client AppServiceEnvironmentsClient) ListAppServicePlansPreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/serverfarms", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListAppServicePlansSender sends the ListAppServicePlans request. The method will close the +// http.Response Body if it receives an error. +func (client AppServiceEnvironmentsClient) ListAppServicePlansSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListAppServicePlansResponder handles the response to the ListAppServicePlans request. The method always +// closes the http.Response Body. +func (client AppServiceEnvironmentsClient) ListAppServicePlansResponder(resp *http.Response) (result AppServicePlanCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listAppServicePlansNextResults retrieves the next set of results, if any. +func (client AppServiceEnvironmentsClient) listAppServicePlansNextResults(ctx context.Context, lastResults AppServicePlanCollection) (result AppServicePlanCollection, err error) { + req, err := lastResults.appServicePlanCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "listAppServicePlansNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListAppServicePlansSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "listAppServicePlansNextResults", resp, "Failure sending next results request") + } + result, err = client.ListAppServicePlansResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "listAppServicePlansNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListAppServicePlansComplete enumerates all values, automatically crossing page boundaries as required. +func (client AppServiceEnvironmentsClient) ListAppServicePlansComplete(ctx context.Context, resourceGroupName string, name string) (result AppServicePlanCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceEnvironmentsClient.ListAppServicePlans") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListAppServicePlans(ctx, resourceGroupName, name) + return +} + +// ListByResourceGroup get all App Service Environments in a resource group. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +func (client AppServiceEnvironmentsClient) ListByResourceGroup(ctx context.Context, resourceGroupName string) (result AppServiceEnvironmentCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceEnvironmentsClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.asec.Response.Response != nil { + sc = result.asec.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppServiceEnvironmentsClient", "ListByResourceGroup", err.Error()) + } + + result.fn = client.listByResourceGroupNextResults + req, err := client.ListByResourceGroupPreparer(ctx, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "ListByResourceGroup", nil, "Failure preparing request") + return + } + + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.asec.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "ListByResourceGroup", resp, "Failure sending request") + return + } + + result.asec, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "ListByResourceGroup", resp, "Failure responding to request") + } + + return +} + +// ListByResourceGroupPreparer prepares the ListByResourceGroup request. +func (client AppServiceEnvironmentsClient) ListByResourceGroupPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByResourceGroupSender sends the ListByResourceGroup request. The method will close the +// http.Response Body if it receives an error. +func (client AppServiceEnvironmentsClient) ListByResourceGroupSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByResourceGroupResponder handles the response to the ListByResourceGroup request. The method always +// closes the http.Response Body. +func (client AppServiceEnvironmentsClient) ListByResourceGroupResponder(resp *http.Response) (result AppServiceEnvironmentCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listByResourceGroupNextResults retrieves the next set of results, if any. +func (client AppServiceEnvironmentsClient) listByResourceGroupNextResults(ctx context.Context, lastResults AppServiceEnvironmentCollection) (result AppServiceEnvironmentCollection, err error) { + req, err := lastResults.appServiceEnvironmentCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "listByResourceGroupNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "listByResourceGroupNextResults", resp, "Failure sending next results request") + } + result, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "listByResourceGroupNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListByResourceGroupComplete enumerates all values, automatically crossing page boundaries as required. +func (client AppServiceEnvironmentsClient) ListByResourceGroupComplete(ctx context.Context, resourceGroupName string) (result AppServiceEnvironmentCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceEnvironmentsClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListByResourceGroup(ctx, resourceGroupName) + return +} + +// ListCapacities get the used, available, and total worker capacity an App Service Environment. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the App Service Environment. +func (client AppServiceEnvironmentsClient) ListCapacities(ctx context.Context, resourceGroupName string, name string) (result StampCapacityCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceEnvironmentsClient.ListCapacities") + defer func() { + sc := -1 + if result.scc.Response.Response != nil { + sc = result.scc.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppServiceEnvironmentsClient", "ListCapacities", err.Error()) + } + + result.fn = client.listCapacitiesNextResults + req, err := client.ListCapacitiesPreparer(ctx, resourceGroupName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "ListCapacities", nil, "Failure preparing request") + return + } + + resp, err := client.ListCapacitiesSender(req) + if err != nil { + result.scc.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "ListCapacities", resp, "Failure sending request") + return + } + + result.scc, err = client.ListCapacitiesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "ListCapacities", resp, "Failure responding to request") + } + + return +} + +// ListCapacitiesPreparer prepares the ListCapacities request. +func (client AppServiceEnvironmentsClient) ListCapacitiesPreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/capacities/compute", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListCapacitiesSender sends the ListCapacities request. The method will close the +// http.Response Body if it receives an error. +func (client AppServiceEnvironmentsClient) ListCapacitiesSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListCapacitiesResponder handles the response to the ListCapacities request. The method always +// closes the http.Response Body. +func (client AppServiceEnvironmentsClient) ListCapacitiesResponder(resp *http.Response) (result StampCapacityCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listCapacitiesNextResults retrieves the next set of results, if any. +func (client AppServiceEnvironmentsClient) listCapacitiesNextResults(ctx context.Context, lastResults StampCapacityCollection) (result StampCapacityCollection, err error) { + req, err := lastResults.stampCapacityCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "listCapacitiesNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListCapacitiesSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "listCapacitiesNextResults", resp, "Failure sending next results request") + } + result, err = client.ListCapacitiesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "listCapacitiesNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListCapacitiesComplete enumerates all values, automatically crossing page boundaries as required. +func (client AppServiceEnvironmentsClient) ListCapacitiesComplete(ctx context.Context, resourceGroupName string, name string) (result StampCapacityCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceEnvironmentsClient.ListCapacities") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListCapacities(ctx, resourceGroupName, name) + return +} + +// ListDiagnostics get diagnostic information for an App Service Environment. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the App Service Environment. +func (client AppServiceEnvironmentsClient) ListDiagnostics(ctx context.Context, resourceGroupName string, name string) (result ListHostingEnvironmentDiagnostics, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceEnvironmentsClient.ListDiagnostics") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppServiceEnvironmentsClient", "ListDiagnostics", err.Error()) + } + + req, err := client.ListDiagnosticsPreparer(ctx, resourceGroupName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "ListDiagnostics", nil, "Failure preparing request") + return + } + + resp, err := client.ListDiagnosticsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "ListDiagnostics", resp, "Failure sending request") + return + } + + result, err = client.ListDiagnosticsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "ListDiagnostics", resp, "Failure responding to request") + } + + return +} + +// ListDiagnosticsPreparer prepares the ListDiagnostics request. +func (client AppServiceEnvironmentsClient) ListDiagnosticsPreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/diagnostics", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListDiagnosticsSender sends the ListDiagnostics request. The method will close the +// http.Response Body if it receives an error. +func (client AppServiceEnvironmentsClient) ListDiagnosticsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListDiagnosticsResponder handles the response to the ListDiagnostics request. The method always +// closes the http.Response Body. +func (client AppServiceEnvironmentsClient) ListDiagnosticsResponder(resp *http.Response) (result ListHostingEnvironmentDiagnostics, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result.Value), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListMetricDefinitions get global metric definitions of an App Service Environment. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the App Service Environment. +func (client AppServiceEnvironmentsClient) ListMetricDefinitions(ctx context.Context, resourceGroupName string, name string) (result MetricDefinition, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceEnvironmentsClient.ListMetricDefinitions") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppServiceEnvironmentsClient", "ListMetricDefinitions", err.Error()) + } + + req, err := client.ListMetricDefinitionsPreparer(ctx, resourceGroupName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "ListMetricDefinitions", nil, "Failure preparing request") + return + } + + resp, err := client.ListMetricDefinitionsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "ListMetricDefinitions", resp, "Failure sending request") + return + } + + result, err = client.ListMetricDefinitionsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "ListMetricDefinitions", resp, "Failure responding to request") + } + + return +} + +// ListMetricDefinitionsPreparer prepares the ListMetricDefinitions request. +func (client AppServiceEnvironmentsClient) ListMetricDefinitionsPreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/metricdefinitions", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListMetricDefinitionsSender sends the ListMetricDefinitions request. The method will close the +// http.Response Body if it receives an error. +func (client AppServiceEnvironmentsClient) ListMetricDefinitionsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListMetricDefinitionsResponder handles the response to the ListMetricDefinitions request. The method always +// closes the http.Response Body. +func (client AppServiceEnvironmentsClient) ListMetricDefinitionsResponder(resp *http.Response) (result MetricDefinition, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListMetrics get global metrics of an App Service Environment. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the App Service Environment. +// details - specify true to include instance details. The default is false. +// filter - return only usages/metrics specified in the filter. Filter conforms to odata syntax. Example: +// $filter=(name.value eq 'Metric1' or name.value eq 'Metric2') and startTime eq 2014-01-01T00:00:00Z and +// endTime eq 2014-12-31T23:59:59Z and timeGrain eq duration'[Hour|Minute|Day]'. +func (client AppServiceEnvironmentsClient) ListMetrics(ctx context.Context, resourceGroupName string, name string, details *bool, filter string) (result ResourceMetricCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceEnvironmentsClient.ListMetrics") + defer func() { + sc := -1 + if result.rmc.Response.Response != nil { + sc = result.rmc.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppServiceEnvironmentsClient", "ListMetrics", err.Error()) + } + + result.fn = client.listMetricsNextResults + req, err := client.ListMetricsPreparer(ctx, resourceGroupName, name, details, filter) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "ListMetrics", nil, "Failure preparing request") + return + } + + resp, err := client.ListMetricsSender(req) + if err != nil { + result.rmc.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "ListMetrics", resp, "Failure sending request") + return + } + + result.rmc, err = client.ListMetricsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "ListMetrics", resp, "Failure responding to request") + } + + return +} + +// ListMetricsPreparer prepares the ListMetrics request. +func (client AppServiceEnvironmentsClient) ListMetricsPreparer(ctx context.Context, resourceGroupName string, name string, details *bool, filter string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if details != nil { + queryParameters["details"] = autorest.Encode("query", *details) + } + if len(filter) > 0 { + queryParameters["$filter"] = filter + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/metrics", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListMetricsSender sends the ListMetrics request. The method will close the +// http.Response Body if it receives an error. +func (client AppServiceEnvironmentsClient) ListMetricsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListMetricsResponder handles the response to the ListMetrics request. The method always +// closes the http.Response Body. +func (client AppServiceEnvironmentsClient) ListMetricsResponder(resp *http.Response) (result ResourceMetricCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listMetricsNextResults retrieves the next set of results, if any. +func (client AppServiceEnvironmentsClient) listMetricsNextResults(ctx context.Context, lastResults ResourceMetricCollection) (result ResourceMetricCollection, err error) { + req, err := lastResults.resourceMetricCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "listMetricsNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListMetricsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "listMetricsNextResults", resp, "Failure sending next results request") + } + result, err = client.ListMetricsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "listMetricsNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListMetricsComplete enumerates all values, automatically crossing page boundaries as required. +func (client AppServiceEnvironmentsClient) ListMetricsComplete(ctx context.Context, resourceGroupName string, name string, details *bool, filter string) (result ResourceMetricCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceEnvironmentsClient.ListMetrics") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListMetrics(ctx, resourceGroupName, name, details, filter) + return +} + +// ListMultiRoleMetricDefinitions get metric definitions for a multi-role pool of an App Service Environment. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the App Service Environment. +func (client AppServiceEnvironmentsClient) ListMultiRoleMetricDefinitions(ctx context.Context, resourceGroupName string, name string) (result ResourceMetricDefinitionCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceEnvironmentsClient.ListMultiRoleMetricDefinitions") + defer func() { + sc := -1 + if result.rmdc.Response.Response != nil { + sc = result.rmdc.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppServiceEnvironmentsClient", "ListMultiRoleMetricDefinitions", err.Error()) + } + + result.fn = client.listMultiRoleMetricDefinitionsNextResults + req, err := client.ListMultiRoleMetricDefinitionsPreparer(ctx, resourceGroupName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "ListMultiRoleMetricDefinitions", nil, "Failure preparing request") + return + } + + resp, err := client.ListMultiRoleMetricDefinitionsSender(req) + if err != nil { + result.rmdc.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "ListMultiRoleMetricDefinitions", resp, "Failure sending request") + return + } + + result.rmdc, err = client.ListMultiRoleMetricDefinitionsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "ListMultiRoleMetricDefinitions", resp, "Failure responding to request") + } + + return +} + +// ListMultiRoleMetricDefinitionsPreparer prepares the ListMultiRoleMetricDefinitions request. +func (client AppServiceEnvironmentsClient) ListMultiRoleMetricDefinitionsPreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default/metricdefinitions", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListMultiRoleMetricDefinitionsSender sends the ListMultiRoleMetricDefinitions request. The method will close the +// http.Response Body if it receives an error. +func (client AppServiceEnvironmentsClient) ListMultiRoleMetricDefinitionsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListMultiRoleMetricDefinitionsResponder handles the response to the ListMultiRoleMetricDefinitions request. The method always +// closes the http.Response Body. +func (client AppServiceEnvironmentsClient) ListMultiRoleMetricDefinitionsResponder(resp *http.Response) (result ResourceMetricDefinitionCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listMultiRoleMetricDefinitionsNextResults retrieves the next set of results, if any. +func (client AppServiceEnvironmentsClient) listMultiRoleMetricDefinitionsNextResults(ctx context.Context, lastResults ResourceMetricDefinitionCollection) (result ResourceMetricDefinitionCollection, err error) { + req, err := lastResults.resourceMetricDefinitionCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "listMultiRoleMetricDefinitionsNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListMultiRoleMetricDefinitionsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "listMultiRoleMetricDefinitionsNextResults", resp, "Failure sending next results request") + } + result, err = client.ListMultiRoleMetricDefinitionsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "listMultiRoleMetricDefinitionsNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListMultiRoleMetricDefinitionsComplete enumerates all values, automatically crossing page boundaries as required. +func (client AppServiceEnvironmentsClient) ListMultiRoleMetricDefinitionsComplete(ctx context.Context, resourceGroupName string, name string) (result ResourceMetricDefinitionCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceEnvironmentsClient.ListMultiRoleMetricDefinitions") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListMultiRoleMetricDefinitions(ctx, resourceGroupName, name) + return +} + +// ListMultiRoleMetrics get metrics for a multi-role pool of an App Service Environment. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the App Service Environment. +// startTime - beginning time of the metrics query. +// endTime - end time of the metrics query. +// timeGrain - time granularity of the metrics query. +// details - specify true to include instance details. The default is false. +// filter - return only usages/metrics specified in the filter. Filter conforms to odata syntax. Example: +// $filter=(name.value eq 'Metric1' or name.value eq 'Metric2') and startTime eq 2014-01-01T00:00:00Z and +// endTime eq 2014-12-31T23:59:59Z and timeGrain eq duration'[Hour|Minute|Day]'. +func (client AppServiceEnvironmentsClient) ListMultiRoleMetrics(ctx context.Context, resourceGroupName string, name string, startTime string, endTime string, timeGrain string, details *bool, filter string) (result ResourceMetricCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceEnvironmentsClient.ListMultiRoleMetrics") + defer func() { + sc := -1 + if result.rmc.Response.Response != nil { + sc = result.rmc.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppServiceEnvironmentsClient", "ListMultiRoleMetrics", err.Error()) + } + + result.fn = client.listMultiRoleMetricsNextResults + req, err := client.ListMultiRoleMetricsPreparer(ctx, resourceGroupName, name, startTime, endTime, timeGrain, details, filter) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "ListMultiRoleMetrics", nil, "Failure preparing request") + return + } + + resp, err := client.ListMultiRoleMetricsSender(req) + if err != nil { + result.rmc.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "ListMultiRoleMetrics", resp, "Failure sending request") + return + } + + result.rmc, err = client.ListMultiRoleMetricsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "ListMultiRoleMetrics", resp, "Failure responding to request") + } + + return +} + +// ListMultiRoleMetricsPreparer prepares the ListMultiRoleMetrics request. +func (client AppServiceEnvironmentsClient) ListMultiRoleMetricsPreparer(ctx context.Context, resourceGroupName string, name string, startTime string, endTime string, timeGrain string, details *bool, filter string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(startTime) > 0 { + queryParameters["startTime"] = autorest.Encode("query", startTime) + } + if len(endTime) > 0 { + queryParameters["endTime"] = autorest.Encode("query", endTime) + } + if len(timeGrain) > 0 { + queryParameters["timeGrain"] = autorest.Encode("query", timeGrain) + } + if details != nil { + queryParameters["details"] = autorest.Encode("query", *details) + } + if len(filter) > 0 { + queryParameters["$filter"] = filter + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default/metrics", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListMultiRoleMetricsSender sends the ListMultiRoleMetrics request. The method will close the +// http.Response Body if it receives an error. +func (client AppServiceEnvironmentsClient) ListMultiRoleMetricsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListMultiRoleMetricsResponder handles the response to the ListMultiRoleMetrics request. The method always +// closes the http.Response Body. +func (client AppServiceEnvironmentsClient) ListMultiRoleMetricsResponder(resp *http.Response) (result ResourceMetricCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listMultiRoleMetricsNextResults retrieves the next set of results, if any. +func (client AppServiceEnvironmentsClient) listMultiRoleMetricsNextResults(ctx context.Context, lastResults ResourceMetricCollection) (result ResourceMetricCollection, err error) { + req, err := lastResults.resourceMetricCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "listMultiRoleMetricsNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListMultiRoleMetricsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "listMultiRoleMetricsNextResults", resp, "Failure sending next results request") + } + result, err = client.ListMultiRoleMetricsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "listMultiRoleMetricsNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListMultiRoleMetricsComplete enumerates all values, automatically crossing page boundaries as required. +func (client AppServiceEnvironmentsClient) ListMultiRoleMetricsComplete(ctx context.Context, resourceGroupName string, name string, startTime string, endTime string, timeGrain string, details *bool, filter string) (result ResourceMetricCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceEnvironmentsClient.ListMultiRoleMetrics") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListMultiRoleMetrics(ctx, resourceGroupName, name, startTime, endTime, timeGrain, details, filter) + return +} + +// ListMultiRolePoolInstanceMetricDefinitions get metric definitions for a specific instance of a multi-role pool of an +// App Service Environment. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the App Service Environment. +// instance - name of the instance in the multi-role pool. +func (client AppServiceEnvironmentsClient) ListMultiRolePoolInstanceMetricDefinitions(ctx context.Context, resourceGroupName string, name string, instance string) (result ResourceMetricDefinitionCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceEnvironmentsClient.ListMultiRolePoolInstanceMetricDefinitions") + defer func() { + sc := -1 + if result.rmdc.Response.Response != nil { + sc = result.rmdc.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppServiceEnvironmentsClient", "ListMultiRolePoolInstanceMetricDefinitions", err.Error()) + } + + result.fn = client.listMultiRolePoolInstanceMetricDefinitionsNextResults + req, err := client.ListMultiRolePoolInstanceMetricDefinitionsPreparer(ctx, resourceGroupName, name, instance) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "ListMultiRolePoolInstanceMetricDefinitions", nil, "Failure preparing request") + return + } + + resp, err := client.ListMultiRolePoolInstanceMetricDefinitionsSender(req) + if err != nil { + result.rmdc.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "ListMultiRolePoolInstanceMetricDefinitions", resp, "Failure sending request") + return + } + + result.rmdc, err = client.ListMultiRolePoolInstanceMetricDefinitionsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "ListMultiRolePoolInstanceMetricDefinitions", resp, "Failure responding to request") + } + + return +} + +// ListMultiRolePoolInstanceMetricDefinitionsPreparer prepares the ListMultiRolePoolInstanceMetricDefinitions request. +func (client AppServiceEnvironmentsClient) ListMultiRolePoolInstanceMetricDefinitionsPreparer(ctx context.Context, resourceGroupName string, name string, instance string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "instance": autorest.Encode("path", instance), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default/instances/{instance}/metricdefinitions", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListMultiRolePoolInstanceMetricDefinitionsSender sends the ListMultiRolePoolInstanceMetricDefinitions request. The method will close the +// http.Response Body if it receives an error. +func (client AppServiceEnvironmentsClient) ListMultiRolePoolInstanceMetricDefinitionsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListMultiRolePoolInstanceMetricDefinitionsResponder handles the response to the ListMultiRolePoolInstanceMetricDefinitions request. The method always +// closes the http.Response Body. +func (client AppServiceEnvironmentsClient) ListMultiRolePoolInstanceMetricDefinitionsResponder(resp *http.Response) (result ResourceMetricDefinitionCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listMultiRolePoolInstanceMetricDefinitionsNextResults retrieves the next set of results, if any. +func (client AppServiceEnvironmentsClient) listMultiRolePoolInstanceMetricDefinitionsNextResults(ctx context.Context, lastResults ResourceMetricDefinitionCollection) (result ResourceMetricDefinitionCollection, err error) { + req, err := lastResults.resourceMetricDefinitionCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "listMultiRolePoolInstanceMetricDefinitionsNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListMultiRolePoolInstanceMetricDefinitionsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "listMultiRolePoolInstanceMetricDefinitionsNextResults", resp, "Failure sending next results request") + } + result, err = client.ListMultiRolePoolInstanceMetricDefinitionsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "listMultiRolePoolInstanceMetricDefinitionsNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListMultiRolePoolInstanceMetricDefinitionsComplete enumerates all values, automatically crossing page boundaries as required. +func (client AppServiceEnvironmentsClient) ListMultiRolePoolInstanceMetricDefinitionsComplete(ctx context.Context, resourceGroupName string, name string, instance string) (result ResourceMetricDefinitionCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceEnvironmentsClient.ListMultiRolePoolInstanceMetricDefinitions") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListMultiRolePoolInstanceMetricDefinitions(ctx, resourceGroupName, name, instance) + return +} + +// ListMultiRolePoolInstanceMetrics get metrics for a specific instance of a multi-role pool of an App Service +// Environment. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the App Service Environment. +// instance - name of the instance in the multi-role pool. +// details - specify true to include instance details. The default is false. +func (client AppServiceEnvironmentsClient) ListMultiRolePoolInstanceMetrics(ctx context.Context, resourceGroupName string, name string, instance string, details *bool) (result ResourceMetricCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceEnvironmentsClient.ListMultiRolePoolInstanceMetrics") + defer func() { + sc := -1 + if result.rmc.Response.Response != nil { + sc = result.rmc.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppServiceEnvironmentsClient", "ListMultiRolePoolInstanceMetrics", err.Error()) + } + + result.fn = client.listMultiRolePoolInstanceMetricsNextResults + req, err := client.ListMultiRolePoolInstanceMetricsPreparer(ctx, resourceGroupName, name, instance, details) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "ListMultiRolePoolInstanceMetrics", nil, "Failure preparing request") + return + } + + resp, err := client.ListMultiRolePoolInstanceMetricsSender(req) + if err != nil { + result.rmc.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "ListMultiRolePoolInstanceMetrics", resp, "Failure sending request") + return + } + + result.rmc, err = client.ListMultiRolePoolInstanceMetricsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "ListMultiRolePoolInstanceMetrics", resp, "Failure responding to request") + } + + return +} + +// ListMultiRolePoolInstanceMetricsPreparer prepares the ListMultiRolePoolInstanceMetrics request. +func (client AppServiceEnvironmentsClient) ListMultiRolePoolInstanceMetricsPreparer(ctx context.Context, resourceGroupName string, name string, instance string, details *bool) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "instance": autorest.Encode("path", instance), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if details != nil { + queryParameters["details"] = autorest.Encode("query", *details) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default/instances/{instance}/metrics", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListMultiRolePoolInstanceMetricsSender sends the ListMultiRolePoolInstanceMetrics request. The method will close the +// http.Response Body if it receives an error. +func (client AppServiceEnvironmentsClient) ListMultiRolePoolInstanceMetricsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListMultiRolePoolInstanceMetricsResponder handles the response to the ListMultiRolePoolInstanceMetrics request. The method always +// closes the http.Response Body. +func (client AppServiceEnvironmentsClient) ListMultiRolePoolInstanceMetricsResponder(resp *http.Response) (result ResourceMetricCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listMultiRolePoolInstanceMetricsNextResults retrieves the next set of results, if any. +func (client AppServiceEnvironmentsClient) listMultiRolePoolInstanceMetricsNextResults(ctx context.Context, lastResults ResourceMetricCollection) (result ResourceMetricCollection, err error) { + req, err := lastResults.resourceMetricCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "listMultiRolePoolInstanceMetricsNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListMultiRolePoolInstanceMetricsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "listMultiRolePoolInstanceMetricsNextResults", resp, "Failure sending next results request") + } + result, err = client.ListMultiRolePoolInstanceMetricsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "listMultiRolePoolInstanceMetricsNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListMultiRolePoolInstanceMetricsComplete enumerates all values, automatically crossing page boundaries as required. +func (client AppServiceEnvironmentsClient) ListMultiRolePoolInstanceMetricsComplete(ctx context.Context, resourceGroupName string, name string, instance string, details *bool) (result ResourceMetricCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceEnvironmentsClient.ListMultiRolePoolInstanceMetrics") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListMultiRolePoolInstanceMetrics(ctx, resourceGroupName, name, instance, details) + return +} + +// ListMultiRolePools get all multi-role pools. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the App Service Environment. +func (client AppServiceEnvironmentsClient) ListMultiRolePools(ctx context.Context, resourceGroupName string, name string) (result WorkerPoolCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceEnvironmentsClient.ListMultiRolePools") + defer func() { + sc := -1 + if result.wpc.Response.Response != nil { + sc = result.wpc.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppServiceEnvironmentsClient", "ListMultiRolePools", err.Error()) + } + + result.fn = client.listMultiRolePoolsNextResults + req, err := client.ListMultiRolePoolsPreparer(ctx, resourceGroupName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "ListMultiRolePools", nil, "Failure preparing request") + return + } + + resp, err := client.ListMultiRolePoolsSender(req) + if err != nil { + result.wpc.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "ListMultiRolePools", resp, "Failure sending request") + return + } + + result.wpc, err = client.ListMultiRolePoolsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "ListMultiRolePools", resp, "Failure responding to request") + } + + return +} + +// ListMultiRolePoolsPreparer prepares the ListMultiRolePools request. +func (client AppServiceEnvironmentsClient) ListMultiRolePoolsPreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListMultiRolePoolsSender sends the ListMultiRolePools request. The method will close the +// http.Response Body if it receives an error. +func (client AppServiceEnvironmentsClient) ListMultiRolePoolsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListMultiRolePoolsResponder handles the response to the ListMultiRolePools request. The method always +// closes the http.Response Body. +func (client AppServiceEnvironmentsClient) ListMultiRolePoolsResponder(resp *http.Response) (result WorkerPoolCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listMultiRolePoolsNextResults retrieves the next set of results, if any. +func (client AppServiceEnvironmentsClient) listMultiRolePoolsNextResults(ctx context.Context, lastResults WorkerPoolCollection) (result WorkerPoolCollection, err error) { + req, err := lastResults.workerPoolCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "listMultiRolePoolsNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListMultiRolePoolsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "listMultiRolePoolsNextResults", resp, "Failure sending next results request") + } + result, err = client.ListMultiRolePoolsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "listMultiRolePoolsNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListMultiRolePoolsComplete enumerates all values, automatically crossing page boundaries as required. +func (client AppServiceEnvironmentsClient) ListMultiRolePoolsComplete(ctx context.Context, resourceGroupName string, name string) (result WorkerPoolCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceEnvironmentsClient.ListMultiRolePools") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListMultiRolePools(ctx, resourceGroupName, name) + return +} + +// ListMultiRolePoolSkus get available SKUs for scaling a multi-role pool. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the App Service Environment. +func (client AppServiceEnvironmentsClient) ListMultiRolePoolSkus(ctx context.Context, resourceGroupName string, name string) (result SkuInfoCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceEnvironmentsClient.ListMultiRolePoolSkus") + defer func() { + sc := -1 + if result.sic.Response.Response != nil { + sc = result.sic.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppServiceEnvironmentsClient", "ListMultiRolePoolSkus", err.Error()) + } + + result.fn = client.listMultiRolePoolSkusNextResults + req, err := client.ListMultiRolePoolSkusPreparer(ctx, resourceGroupName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "ListMultiRolePoolSkus", nil, "Failure preparing request") + return + } + + resp, err := client.ListMultiRolePoolSkusSender(req) + if err != nil { + result.sic.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "ListMultiRolePoolSkus", resp, "Failure sending request") + return + } + + result.sic, err = client.ListMultiRolePoolSkusResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "ListMultiRolePoolSkus", resp, "Failure responding to request") + } + + return +} + +// ListMultiRolePoolSkusPreparer prepares the ListMultiRolePoolSkus request. +func (client AppServiceEnvironmentsClient) ListMultiRolePoolSkusPreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default/skus", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListMultiRolePoolSkusSender sends the ListMultiRolePoolSkus request. The method will close the +// http.Response Body if it receives an error. +func (client AppServiceEnvironmentsClient) ListMultiRolePoolSkusSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListMultiRolePoolSkusResponder handles the response to the ListMultiRolePoolSkus request. The method always +// closes the http.Response Body. +func (client AppServiceEnvironmentsClient) ListMultiRolePoolSkusResponder(resp *http.Response) (result SkuInfoCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listMultiRolePoolSkusNextResults retrieves the next set of results, if any. +func (client AppServiceEnvironmentsClient) listMultiRolePoolSkusNextResults(ctx context.Context, lastResults SkuInfoCollection) (result SkuInfoCollection, err error) { + req, err := lastResults.skuInfoCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "listMultiRolePoolSkusNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListMultiRolePoolSkusSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "listMultiRolePoolSkusNextResults", resp, "Failure sending next results request") + } + result, err = client.ListMultiRolePoolSkusResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "listMultiRolePoolSkusNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListMultiRolePoolSkusComplete enumerates all values, automatically crossing page boundaries as required. +func (client AppServiceEnvironmentsClient) ListMultiRolePoolSkusComplete(ctx context.Context, resourceGroupName string, name string) (result SkuInfoCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceEnvironmentsClient.ListMultiRolePoolSkus") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListMultiRolePoolSkus(ctx, resourceGroupName, name) + return +} + +// ListMultiRoleUsages get usage metrics for a multi-role pool of an App Service Environment. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the App Service Environment. +func (client AppServiceEnvironmentsClient) ListMultiRoleUsages(ctx context.Context, resourceGroupName string, name string) (result UsageCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceEnvironmentsClient.ListMultiRoleUsages") + defer func() { + sc := -1 + if result.uc.Response.Response != nil { + sc = result.uc.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppServiceEnvironmentsClient", "ListMultiRoleUsages", err.Error()) + } + + result.fn = client.listMultiRoleUsagesNextResults + req, err := client.ListMultiRoleUsagesPreparer(ctx, resourceGroupName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "ListMultiRoleUsages", nil, "Failure preparing request") + return + } + + resp, err := client.ListMultiRoleUsagesSender(req) + if err != nil { + result.uc.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "ListMultiRoleUsages", resp, "Failure sending request") + return + } + + result.uc, err = client.ListMultiRoleUsagesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "ListMultiRoleUsages", resp, "Failure responding to request") + } + + return +} + +// ListMultiRoleUsagesPreparer prepares the ListMultiRoleUsages request. +func (client AppServiceEnvironmentsClient) ListMultiRoleUsagesPreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default/usages", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListMultiRoleUsagesSender sends the ListMultiRoleUsages request. The method will close the +// http.Response Body if it receives an error. +func (client AppServiceEnvironmentsClient) ListMultiRoleUsagesSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListMultiRoleUsagesResponder handles the response to the ListMultiRoleUsages request. The method always +// closes the http.Response Body. +func (client AppServiceEnvironmentsClient) ListMultiRoleUsagesResponder(resp *http.Response) (result UsageCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listMultiRoleUsagesNextResults retrieves the next set of results, if any. +func (client AppServiceEnvironmentsClient) listMultiRoleUsagesNextResults(ctx context.Context, lastResults UsageCollection) (result UsageCollection, err error) { + req, err := lastResults.usageCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "listMultiRoleUsagesNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListMultiRoleUsagesSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "listMultiRoleUsagesNextResults", resp, "Failure sending next results request") + } + result, err = client.ListMultiRoleUsagesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "listMultiRoleUsagesNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListMultiRoleUsagesComplete enumerates all values, automatically crossing page boundaries as required. +func (client AppServiceEnvironmentsClient) ListMultiRoleUsagesComplete(ctx context.Context, resourceGroupName string, name string) (result UsageCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceEnvironmentsClient.ListMultiRoleUsages") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListMultiRoleUsages(ctx, resourceGroupName, name) + return +} + +// ListOperations list all currently running operations on the App Service Environment. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the App Service Environment. +func (client AppServiceEnvironmentsClient) ListOperations(ctx context.Context, resourceGroupName string, name string) (result ListOperation, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceEnvironmentsClient.ListOperations") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppServiceEnvironmentsClient", "ListOperations", err.Error()) + } + + req, err := client.ListOperationsPreparer(ctx, resourceGroupName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "ListOperations", nil, "Failure preparing request") + return + } + + resp, err := client.ListOperationsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "ListOperations", resp, "Failure sending request") + return + } + + result, err = client.ListOperationsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "ListOperations", resp, "Failure responding to request") + } + + return +} + +// ListOperationsPreparer prepares the ListOperations request. +func (client AppServiceEnvironmentsClient) ListOperationsPreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/operations", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListOperationsSender sends the ListOperations request. The method will close the +// http.Response Body if it receives an error. +func (client AppServiceEnvironmentsClient) ListOperationsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListOperationsResponder handles the response to the ListOperations request. The method always +// closes the http.Response Body. +func (client AppServiceEnvironmentsClient) ListOperationsResponder(resp *http.Response) (result ListOperation, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result.Value), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListUsages get global usage metrics of an App Service Environment. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the App Service Environment. +// filter - return only usages/metrics specified in the filter. Filter conforms to odata syntax. Example: +// $filter=(name.value eq 'Metric1' or name.value eq 'Metric2') and startTime eq 2014-01-01T00:00:00Z and +// endTime eq 2014-12-31T23:59:59Z and timeGrain eq duration'[Hour|Minute|Day]'. +func (client AppServiceEnvironmentsClient) ListUsages(ctx context.Context, resourceGroupName string, name string, filter string) (result CsmUsageQuotaCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceEnvironmentsClient.ListUsages") + defer func() { + sc := -1 + if result.cuqc.Response.Response != nil { + sc = result.cuqc.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppServiceEnvironmentsClient", "ListUsages", err.Error()) + } + + result.fn = client.listUsagesNextResults + req, err := client.ListUsagesPreparer(ctx, resourceGroupName, name, filter) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "ListUsages", nil, "Failure preparing request") + return + } + + resp, err := client.ListUsagesSender(req) + if err != nil { + result.cuqc.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "ListUsages", resp, "Failure sending request") + return + } + + result.cuqc, err = client.ListUsagesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "ListUsages", resp, "Failure responding to request") + } + + return +} + +// ListUsagesPreparer prepares the ListUsages request. +func (client AppServiceEnvironmentsClient) ListUsagesPreparer(ctx context.Context, resourceGroupName string, name string, filter string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(filter) > 0 { + queryParameters["$filter"] = filter + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/usages", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListUsagesSender sends the ListUsages request. The method will close the +// http.Response Body if it receives an error. +func (client AppServiceEnvironmentsClient) ListUsagesSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListUsagesResponder handles the response to the ListUsages request. The method always +// closes the http.Response Body. +func (client AppServiceEnvironmentsClient) ListUsagesResponder(resp *http.Response) (result CsmUsageQuotaCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listUsagesNextResults retrieves the next set of results, if any. +func (client AppServiceEnvironmentsClient) listUsagesNextResults(ctx context.Context, lastResults CsmUsageQuotaCollection) (result CsmUsageQuotaCollection, err error) { + req, err := lastResults.csmUsageQuotaCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "listUsagesNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListUsagesSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "listUsagesNextResults", resp, "Failure sending next results request") + } + result, err = client.ListUsagesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "listUsagesNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListUsagesComplete enumerates all values, automatically crossing page boundaries as required. +func (client AppServiceEnvironmentsClient) ListUsagesComplete(ctx context.Context, resourceGroupName string, name string, filter string) (result CsmUsageQuotaCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceEnvironmentsClient.ListUsages") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListUsages(ctx, resourceGroupName, name, filter) + return +} + +// ListVips get IP addresses assigned to an App Service Environment. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the App Service Environment. +func (client AppServiceEnvironmentsClient) ListVips(ctx context.Context, resourceGroupName string, name string) (result AddressResponse, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceEnvironmentsClient.ListVips") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppServiceEnvironmentsClient", "ListVips", err.Error()) + } + + req, err := client.ListVipsPreparer(ctx, resourceGroupName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "ListVips", nil, "Failure preparing request") + return + } + + resp, err := client.ListVipsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "ListVips", resp, "Failure sending request") + return + } + + result, err = client.ListVipsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "ListVips", resp, "Failure responding to request") + } + + return +} + +// ListVipsPreparer prepares the ListVips request. +func (client AppServiceEnvironmentsClient) ListVipsPreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/capacities/virtualip", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListVipsSender sends the ListVips request. The method will close the +// http.Response Body if it receives an error. +func (client AppServiceEnvironmentsClient) ListVipsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListVipsResponder handles the response to the ListVips request. The method always +// closes the http.Response Body. +func (client AppServiceEnvironmentsClient) ListVipsResponder(resp *http.Response) (result AddressResponse, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListWebApps get all apps in an App Service Environment. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the App Service Environment. +// propertiesToInclude - comma separated list of app properties to include. +func (client AppServiceEnvironmentsClient) ListWebApps(ctx context.Context, resourceGroupName string, name string, propertiesToInclude string) (result AppCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceEnvironmentsClient.ListWebApps") + defer func() { + sc := -1 + if result.ac.Response.Response != nil { + sc = result.ac.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppServiceEnvironmentsClient", "ListWebApps", err.Error()) + } + + result.fn = client.listWebAppsNextResults + req, err := client.ListWebAppsPreparer(ctx, resourceGroupName, name, propertiesToInclude) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "ListWebApps", nil, "Failure preparing request") + return + } + + resp, err := client.ListWebAppsSender(req) + if err != nil { + result.ac.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "ListWebApps", resp, "Failure sending request") + return + } + + result.ac, err = client.ListWebAppsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "ListWebApps", resp, "Failure responding to request") + } + + return +} + +// ListWebAppsPreparer prepares the ListWebApps request. +func (client AppServiceEnvironmentsClient) ListWebAppsPreparer(ctx context.Context, resourceGroupName string, name string, propertiesToInclude string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(propertiesToInclude) > 0 { + queryParameters["propertiesToInclude"] = autorest.Encode("query", propertiesToInclude) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/sites", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListWebAppsSender sends the ListWebApps request. The method will close the +// http.Response Body if it receives an error. +func (client AppServiceEnvironmentsClient) ListWebAppsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListWebAppsResponder handles the response to the ListWebApps request. The method always +// closes the http.Response Body. +func (client AppServiceEnvironmentsClient) ListWebAppsResponder(resp *http.Response) (result AppCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listWebAppsNextResults retrieves the next set of results, if any. +func (client AppServiceEnvironmentsClient) listWebAppsNextResults(ctx context.Context, lastResults AppCollection) (result AppCollection, err error) { + req, err := lastResults.appCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "listWebAppsNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListWebAppsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "listWebAppsNextResults", resp, "Failure sending next results request") + } + result, err = client.ListWebAppsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "listWebAppsNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListWebAppsComplete enumerates all values, automatically crossing page boundaries as required. +func (client AppServiceEnvironmentsClient) ListWebAppsComplete(ctx context.Context, resourceGroupName string, name string, propertiesToInclude string) (result AppCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceEnvironmentsClient.ListWebApps") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListWebApps(ctx, resourceGroupName, name, propertiesToInclude) + return +} + +// ListWebWorkerMetricDefinitions get metric definitions for a worker pool of an App Service Environment. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the App Service Environment. +// workerPoolName - name of the worker pool. +func (client AppServiceEnvironmentsClient) ListWebWorkerMetricDefinitions(ctx context.Context, resourceGroupName string, name string, workerPoolName string) (result ResourceMetricDefinitionCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceEnvironmentsClient.ListWebWorkerMetricDefinitions") + defer func() { + sc := -1 + if result.rmdc.Response.Response != nil { + sc = result.rmdc.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppServiceEnvironmentsClient", "ListWebWorkerMetricDefinitions", err.Error()) + } + + result.fn = client.listWebWorkerMetricDefinitionsNextResults + req, err := client.ListWebWorkerMetricDefinitionsPreparer(ctx, resourceGroupName, name, workerPoolName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "ListWebWorkerMetricDefinitions", nil, "Failure preparing request") + return + } + + resp, err := client.ListWebWorkerMetricDefinitionsSender(req) + if err != nil { + result.rmdc.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "ListWebWorkerMetricDefinitions", resp, "Failure sending request") + return + } + + result.rmdc, err = client.ListWebWorkerMetricDefinitionsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "ListWebWorkerMetricDefinitions", resp, "Failure responding to request") + } + + return +} + +// ListWebWorkerMetricDefinitionsPreparer prepares the ListWebWorkerMetricDefinitions request. +func (client AppServiceEnvironmentsClient) ListWebWorkerMetricDefinitionsPreparer(ctx context.Context, resourceGroupName string, name string, workerPoolName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "workerPoolName": autorest.Encode("path", workerPoolName), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}/metricdefinitions", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListWebWorkerMetricDefinitionsSender sends the ListWebWorkerMetricDefinitions request. The method will close the +// http.Response Body if it receives an error. +func (client AppServiceEnvironmentsClient) ListWebWorkerMetricDefinitionsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListWebWorkerMetricDefinitionsResponder handles the response to the ListWebWorkerMetricDefinitions request. The method always +// closes the http.Response Body. +func (client AppServiceEnvironmentsClient) ListWebWorkerMetricDefinitionsResponder(resp *http.Response) (result ResourceMetricDefinitionCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listWebWorkerMetricDefinitionsNextResults retrieves the next set of results, if any. +func (client AppServiceEnvironmentsClient) listWebWorkerMetricDefinitionsNextResults(ctx context.Context, lastResults ResourceMetricDefinitionCollection) (result ResourceMetricDefinitionCollection, err error) { + req, err := lastResults.resourceMetricDefinitionCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "listWebWorkerMetricDefinitionsNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListWebWorkerMetricDefinitionsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "listWebWorkerMetricDefinitionsNextResults", resp, "Failure sending next results request") + } + result, err = client.ListWebWorkerMetricDefinitionsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "listWebWorkerMetricDefinitionsNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListWebWorkerMetricDefinitionsComplete enumerates all values, automatically crossing page boundaries as required. +func (client AppServiceEnvironmentsClient) ListWebWorkerMetricDefinitionsComplete(ctx context.Context, resourceGroupName string, name string, workerPoolName string) (result ResourceMetricDefinitionCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceEnvironmentsClient.ListWebWorkerMetricDefinitions") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListWebWorkerMetricDefinitions(ctx, resourceGroupName, name, workerPoolName) + return +} + +// ListWebWorkerMetrics get metrics for a worker pool of a AppServiceEnvironment (App Service Environment). +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the App Service Environment. +// workerPoolName - name of worker pool +// details - specify true to include instance details. The default is false. +// filter - return only usages/metrics specified in the filter. Filter conforms to odata syntax. Example: +// $filter=(name.value eq 'Metric1' or name.value eq 'Metric2') and startTime eq 2014-01-01T00:00:00Z and +// endTime eq 2014-12-31T23:59:59Z and timeGrain eq duration'[Hour|Minute|Day]'. +func (client AppServiceEnvironmentsClient) ListWebWorkerMetrics(ctx context.Context, resourceGroupName string, name string, workerPoolName string, details *bool, filter string) (result ResourceMetricCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceEnvironmentsClient.ListWebWorkerMetrics") + defer func() { + sc := -1 + if result.rmc.Response.Response != nil { + sc = result.rmc.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppServiceEnvironmentsClient", "ListWebWorkerMetrics", err.Error()) + } + + result.fn = client.listWebWorkerMetricsNextResults + req, err := client.ListWebWorkerMetricsPreparer(ctx, resourceGroupName, name, workerPoolName, details, filter) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "ListWebWorkerMetrics", nil, "Failure preparing request") + return + } + + resp, err := client.ListWebWorkerMetricsSender(req) + if err != nil { + result.rmc.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "ListWebWorkerMetrics", resp, "Failure sending request") + return + } + + result.rmc, err = client.ListWebWorkerMetricsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "ListWebWorkerMetrics", resp, "Failure responding to request") + } + + return +} + +// ListWebWorkerMetricsPreparer prepares the ListWebWorkerMetrics request. +func (client AppServiceEnvironmentsClient) ListWebWorkerMetricsPreparer(ctx context.Context, resourceGroupName string, name string, workerPoolName string, details *bool, filter string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "workerPoolName": autorest.Encode("path", workerPoolName), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if details != nil { + queryParameters["details"] = autorest.Encode("query", *details) + } + if len(filter) > 0 { + queryParameters["$filter"] = filter + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}/metrics", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListWebWorkerMetricsSender sends the ListWebWorkerMetrics request. The method will close the +// http.Response Body if it receives an error. +func (client AppServiceEnvironmentsClient) ListWebWorkerMetricsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListWebWorkerMetricsResponder handles the response to the ListWebWorkerMetrics request. The method always +// closes the http.Response Body. +func (client AppServiceEnvironmentsClient) ListWebWorkerMetricsResponder(resp *http.Response) (result ResourceMetricCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listWebWorkerMetricsNextResults retrieves the next set of results, if any. +func (client AppServiceEnvironmentsClient) listWebWorkerMetricsNextResults(ctx context.Context, lastResults ResourceMetricCollection) (result ResourceMetricCollection, err error) { + req, err := lastResults.resourceMetricCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "listWebWorkerMetricsNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListWebWorkerMetricsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "listWebWorkerMetricsNextResults", resp, "Failure sending next results request") + } + result, err = client.ListWebWorkerMetricsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "listWebWorkerMetricsNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListWebWorkerMetricsComplete enumerates all values, automatically crossing page boundaries as required. +func (client AppServiceEnvironmentsClient) ListWebWorkerMetricsComplete(ctx context.Context, resourceGroupName string, name string, workerPoolName string, details *bool, filter string) (result ResourceMetricCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceEnvironmentsClient.ListWebWorkerMetrics") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListWebWorkerMetrics(ctx, resourceGroupName, name, workerPoolName, details, filter) + return +} + +// ListWebWorkerUsages get usage metrics for a worker pool of an App Service Environment. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the App Service Environment. +// workerPoolName - name of the worker pool. +func (client AppServiceEnvironmentsClient) ListWebWorkerUsages(ctx context.Context, resourceGroupName string, name string, workerPoolName string) (result UsageCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceEnvironmentsClient.ListWebWorkerUsages") + defer func() { + sc := -1 + if result.uc.Response.Response != nil { + sc = result.uc.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppServiceEnvironmentsClient", "ListWebWorkerUsages", err.Error()) + } + + result.fn = client.listWebWorkerUsagesNextResults + req, err := client.ListWebWorkerUsagesPreparer(ctx, resourceGroupName, name, workerPoolName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "ListWebWorkerUsages", nil, "Failure preparing request") + return + } + + resp, err := client.ListWebWorkerUsagesSender(req) + if err != nil { + result.uc.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "ListWebWorkerUsages", resp, "Failure sending request") + return + } + + result.uc, err = client.ListWebWorkerUsagesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "ListWebWorkerUsages", resp, "Failure responding to request") + } + + return +} + +// ListWebWorkerUsagesPreparer prepares the ListWebWorkerUsages request. +func (client AppServiceEnvironmentsClient) ListWebWorkerUsagesPreparer(ctx context.Context, resourceGroupName string, name string, workerPoolName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "workerPoolName": autorest.Encode("path", workerPoolName), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}/usages", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListWebWorkerUsagesSender sends the ListWebWorkerUsages request. The method will close the +// http.Response Body if it receives an error. +func (client AppServiceEnvironmentsClient) ListWebWorkerUsagesSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListWebWorkerUsagesResponder handles the response to the ListWebWorkerUsages request. The method always +// closes the http.Response Body. +func (client AppServiceEnvironmentsClient) ListWebWorkerUsagesResponder(resp *http.Response) (result UsageCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listWebWorkerUsagesNextResults retrieves the next set of results, if any. +func (client AppServiceEnvironmentsClient) listWebWorkerUsagesNextResults(ctx context.Context, lastResults UsageCollection) (result UsageCollection, err error) { + req, err := lastResults.usageCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "listWebWorkerUsagesNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListWebWorkerUsagesSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "listWebWorkerUsagesNextResults", resp, "Failure sending next results request") + } + result, err = client.ListWebWorkerUsagesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "listWebWorkerUsagesNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListWebWorkerUsagesComplete enumerates all values, automatically crossing page boundaries as required. +func (client AppServiceEnvironmentsClient) ListWebWorkerUsagesComplete(ctx context.Context, resourceGroupName string, name string, workerPoolName string) (result UsageCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceEnvironmentsClient.ListWebWorkerUsages") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListWebWorkerUsages(ctx, resourceGroupName, name, workerPoolName) + return +} + +// ListWorkerPoolInstanceMetricDefinitions get metric definitions for a specific instance of a worker pool of an App +// Service Environment. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the App Service Environment. +// workerPoolName - name of the worker pool. +// instance - name of the instance in the worker pool. +func (client AppServiceEnvironmentsClient) ListWorkerPoolInstanceMetricDefinitions(ctx context.Context, resourceGroupName string, name string, workerPoolName string, instance string) (result ResourceMetricDefinitionCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceEnvironmentsClient.ListWorkerPoolInstanceMetricDefinitions") + defer func() { + sc := -1 + if result.rmdc.Response.Response != nil { + sc = result.rmdc.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppServiceEnvironmentsClient", "ListWorkerPoolInstanceMetricDefinitions", err.Error()) + } + + result.fn = client.listWorkerPoolInstanceMetricDefinitionsNextResults + req, err := client.ListWorkerPoolInstanceMetricDefinitionsPreparer(ctx, resourceGroupName, name, workerPoolName, instance) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "ListWorkerPoolInstanceMetricDefinitions", nil, "Failure preparing request") + return + } + + resp, err := client.ListWorkerPoolInstanceMetricDefinitionsSender(req) + if err != nil { + result.rmdc.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "ListWorkerPoolInstanceMetricDefinitions", resp, "Failure sending request") + return + } + + result.rmdc, err = client.ListWorkerPoolInstanceMetricDefinitionsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "ListWorkerPoolInstanceMetricDefinitions", resp, "Failure responding to request") + } + + return +} + +// ListWorkerPoolInstanceMetricDefinitionsPreparer prepares the ListWorkerPoolInstanceMetricDefinitions request. +func (client AppServiceEnvironmentsClient) ListWorkerPoolInstanceMetricDefinitionsPreparer(ctx context.Context, resourceGroupName string, name string, workerPoolName string, instance string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "instance": autorest.Encode("path", instance), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "workerPoolName": autorest.Encode("path", workerPoolName), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}/instances/{instance}/metricdefinitions", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListWorkerPoolInstanceMetricDefinitionsSender sends the ListWorkerPoolInstanceMetricDefinitions request. The method will close the +// http.Response Body if it receives an error. +func (client AppServiceEnvironmentsClient) ListWorkerPoolInstanceMetricDefinitionsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListWorkerPoolInstanceMetricDefinitionsResponder handles the response to the ListWorkerPoolInstanceMetricDefinitions request. The method always +// closes the http.Response Body. +func (client AppServiceEnvironmentsClient) ListWorkerPoolInstanceMetricDefinitionsResponder(resp *http.Response) (result ResourceMetricDefinitionCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listWorkerPoolInstanceMetricDefinitionsNextResults retrieves the next set of results, if any. +func (client AppServiceEnvironmentsClient) listWorkerPoolInstanceMetricDefinitionsNextResults(ctx context.Context, lastResults ResourceMetricDefinitionCollection) (result ResourceMetricDefinitionCollection, err error) { + req, err := lastResults.resourceMetricDefinitionCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "listWorkerPoolInstanceMetricDefinitionsNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListWorkerPoolInstanceMetricDefinitionsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "listWorkerPoolInstanceMetricDefinitionsNextResults", resp, "Failure sending next results request") + } + result, err = client.ListWorkerPoolInstanceMetricDefinitionsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "listWorkerPoolInstanceMetricDefinitionsNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListWorkerPoolInstanceMetricDefinitionsComplete enumerates all values, automatically crossing page boundaries as required. +func (client AppServiceEnvironmentsClient) ListWorkerPoolInstanceMetricDefinitionsComplete(ctx context.Context, resourceGroupName string, name string, workerPoolName string, instance string) (result ResourceMetricDefinitionCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceEnvironmentsClient.ListWorkerPoolInstanceMetricDefinitions") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListWorkerPoolInstanceMetricDefinitions(ctx, resourceGroupName, name, workerPoolName, instance) + return +} + +// ListWorkerPoolInstanceMetrics get metrics for a specific instance of a worker pool of an App Service Environment. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the App Service Environment. +// workerPoolName - name of the worker pool. +// instance - name of the instance in the worker pool. +// details - specify true to include instance details. The default is false. +// filter - return only usages/metrics specified in the filter. Filter conforms to odata syntax. Example: +// $filter=(name.value eq 'Metric1' or name.value eq 'Metric2') and startTime eq 2014-01-01T00:00:00Z and +// endTime eq 2014-12-31T23:59:59Z and timeGrain eq duration'[Hour|Minute|Day]'. +func (client AppServiceEnvironmentsClient) ListWorkerPoolInstanceMetrics(ctx context.Context, resourceGroupName string, name string, workerPoolName string, instance string, details *bool, filter string) (result ResourceMetricCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceEnvironmentsClient.ListWorkerPoolInstanceMetrics") + defer func() { + sc := -1 + if result.rmc.Response.Response != nil { + sc = result.rmc.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppServiceEnvironmentsClient", "ListWorkerPoolInstanceMetrics", err.Error()) + } + + result.fn = client.listWorkerPoolInstanceMetricsNextResults + req, err := client.ListWorkerPoolInstanceMetricsPreparer(ctx, resourceGroupName, name, workerPoolName, instance, details, filter) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "ListWorkerPoolInstanceMetrics", nil, "Failure preparing request") + return + } + + resp, err := client.ListWorkerPoolInstanceMetricsSender(req) + if err != nil { + result.rmc.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "ListWorkerPoolInstanceMetrics", resp, "Failure sending request") + return + } + + result.rmc, err = client.ListWorkerPoolInstanceMetricsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "ListWorkerPoolInstanceMetrics", resp, "Failure responding to request") + } + + return +} + +// ListWorkerPoolInstanceMetricsPreparer prepares the ListWorkerPoolInstanceMetrics request. +func (client AppServiceEnvironmentsClient) ListWorkerPoolInstanceMetricsPreparer(ctx context.Context, resourceGroupName string, name string, workerPoolName string, instance string, details *bool, filter string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "instance": autorest.Encode("path", instance), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "workerPoolName": autorest.Encode("path", workerPoolName), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if details != nil { + queryParameters["details"] = autorest.Encode("query", *details) + } + if len(filter) > 0 { + queryParameters["$filter"] = filter + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}/instances/{instance}/metrics", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListWorkerPoolInstanceMetricsSender sends the ListWorkerPoolInstanceMetrics request. The method will close the +// http.Response Body if it receives an error. +func (client AppServiceEnvironmentsClient) ListWorkerPoolInstanceMetricsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListWorkerPoolInstanceMetricsResponder handles the response to the ListWorkerPoolInstanceMetrics request. The method always +// closes the http.Response Body. +func (client AppServiceEnvironmentsClient) ListWorkerPoolInstanceMetricsResponder(resp *http.Response) (result ResourceMetricCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listWorkerPoolInstanceMetricsNextResults retrieves the next set of results, if any. +func (client AppServiceEnvironmentsClient) listWorkerPoolInstanceMetricsNextResults(ctx context.Context, lastResults ResourceMetricCollection) (result ResourceMetricCollection, err error) { + req, err := lastResults.resourceMetricCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "listWorkerPoolInstanceMetricsNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListWorkerPoolInstanceMetricsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "listWorkerPoolInstanceMetricsNextResults", resp, "Failure sending next results request") + } + result, err = client.ListWorkerPoolInstanceMetricsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "listWorkerPoolInstanceMetricsNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListWorkerPoolInstanceMetricsComplete enumerates all values, automatically crossing page boundaries as required. +func (client AppServiceEnvironmentsClient) ListWorkerPoolInstanceMetricsComplete(ctx context.Context, resourceGroupName string, name string, workerPoolName string, instance string, details *bool, filter string) (result ResourceMetricCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceEnvironmentsClient.ListWorkerPoolInstanceMetrics") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListWorkerPoolInstanceMetrics(ctx, resourceGroupName, name, workerPoolName, instance, details, filter) + return +} + +// ListWorkerPools get all worker pools of an App Service Environment. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the App Service Environment. +func (client AppServiceEnvironmentsClient) ListWorkerPools(ctx context.Context, resourceGroupName string, name string) (result WorkerPoolCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceEnvironmentsClient.ListWorkerPools") + defer func() { + sc := -1 + if result.wpc.Response.Response != nil { + sc = result.wpc.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppServiceEnvironmentsClient", "ListWorkerPools", err.Error()) + } + + result.fn = client.listWorkerPoolsNextResults + req, err := client.ListWorkerPoolsPreparer(ctx, resourceGroupName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "ListWorkerPools", nil, "Failure preparing request") + return + } + + resp, err := client.ListWorkerPoolsSender(req) + if err != nil { + result.wpc.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "ListWorkerPools", resp, "Failure sending request") + return + } + + result.wpc, err = client.ListWorkerPoolsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "ListWorkerPools", resp, "Failure responding to request") + } + + return +} + +// ListWorkerPoolsPreparer prepares the ListWorkerPools request. +func (client AppServiceEnvironmentsClient) ListWorkerPoolsPreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListWorkerPoolsSender sends the ListWorkerPools request. The method will close the +// http.Response Body if it receives an error. +func (client AppServiceEnvironmentsClient) ListWorkerPoolsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListWorkerPoolsResponder handles the response to the ListWorkerPools request. The method always +// closes the http.Response Body. +func (client AppServiceEnvironmentsClient) ListWorkerPoolsResponder(resp *http.Response) (result WorkerPoolCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listWorkerPoolsNextResults retrieves the next set of results, if any. +func (client AppServiceEnvironmentsClient) listWorkerPoolsNextResults(ctx context.Context, lastResults WorkerPoolCollection) (result WorkerPoolCollection, err error) { + req, err := lastResults.workerPoolCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "listWorkerPoolsNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListWorkerPoolsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "listWorkerPoolsNextResults", resp, "Failure sending next results request") + } + result, err = client.ListWorkerPoolsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "listWorkerPoolsNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListWorkerPoolsComplete enumerates all values, automatically crossing page boundaries as required. +func (client AppServiceEnvironmentsClient) ListWorkerPoolsComplete(ctx context.Context, resourceGroupName string, name string) (result WorkerPoolCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceEnvironmentsClient.ListWorkerPools") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListWorkerPools(ctx, resourceGroupName, name) + return +} + +// ListWorkerPoolSkus get available SKUs for scaling a worker pool. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the App Service Environment. +// workerPoolName - name of the worker pool. +func (client AppServiceEnvironmentsClient) ListWorkerPoolSkus(ctx context.Context, resourceGroupName string, name string, workerPoolName string) (result SkuInfoCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceEnvironmentsClient.ListWorkerPoolSkus") + defer func() { + sc := -1 + if result.sic.Response.Response != nil { + sc = result.sic.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppServiceEnvironmentsClient", "ListWorkerPoolSkus", err.Error()) + } + + result.fn = client.listWorkerPoolSkusNextResults + req, err := client.ListWorkerPoolSkusPreparer(ctx, resourceGroupName, name, workerPoolName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "ListWorkerPoolSkus", nil, "Failure preparing request") + return + } + + resp, err := client.ListWorkerPoolSkusSender(req) + if err != nil { + result.sic.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "ListWorkerPoolSkus", resp, "Failure sending request") + return + } + + result.sic, err = client.ListWorkerPoolSkusResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "ListWorkerPoolSkus", resp, "Failure responding to request") + } + + return +} + +// ListWorkerPoolSkusPreparer prepares the ListWorkerPoolSkus request. +func (client AppServiceEnvironmentsClient) ListWorkerPoolSkusPreparer(ctx context.Context, resourceGroupName string, name string, workerPoolName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "workerPoolName": autorest.Encode("path", workerPoolName), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}/skus", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListWorkerPoolSkusSender sends the ListWorkerPoolSkus request. The method will close the +// http.Response Body if it receives an error. +func (client AppServiceEnvironmentsClient) ListWorkerPoolSkusSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListWorkerPoolSkusResponder handles the response to the ListWorkerPoolSkus request. The method always +// closes the http.Response Body. +func (client AppServiceEnvironmentsClient) ListWorkerPoolSkusResponder(resp *http.Response) (result SkuInfoCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listWorkerPoolSkusNextResults retrieves the next set of results, if any. +func (client AppServiceEnvironmentsClient) listWorkerPoolSkusNextResults(ctx context.Context, lastResults SkuInfoCollection) (result SkuInfoCollection, err error) { + req, err := lastResults.skuInfoCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "listWorkerPoolSkusNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListWorkerPoolSkusSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "listWorkerPoolSkusNextResults", resp, "Failure sending next results request") + } + result, err = client.ListWorkerPoolSkusResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "listWorkerPoolSkusNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListWorkerPoolSkusComplete enumerates all values, automatically crossing page boundaries as required. +func (client AppServiceEnvironmentsClient) ListWorkerPoolSkusComplete(ctx context.Context, resourceGroupName string, name string, workerPoolName string) (result SkuInfoCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceEnvironmentsClient.ListWorkerPoolSkus") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListWorkerPoolSkus(ctx, resourceGroupName, name, workerPoolName) + return +} + +// Reboot reboot all machines in an App Service Environment. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the App Service Environment. +func (client AppServiceEnvironmentsClient) Reboot(ctx context.Context, resourceGroupName string, name string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceEnvironmentsClient.Reboot") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppServiceEnvironmentsClient", "Reboot", err.Error()) + } + + req, err := client.RebootPreparer(ctx, resourceGroupName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "Reboot", nil, "Failure preparing request") + return + } + + resp, err := client.RebootSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "Reboot", resp, "Failure sending request") + return + } + + result, err = client.RebootResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "Reboot", resp, "Failure responding to request") + } + + return +} + +// RebootPreparer prepares the Reboot request. +func (client AppServiceEnvironmentsClient) RebootPreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/reboot", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// RebootSender sends the Reboot request. The method will close the +// http.Response Body if it receives an error. +func (client AppServiceEnvironmentsClient) RebootSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// RebootResponder handles the response to the Reboot request. The method always +// closes the http.Response Body. +func (client AppServiceEnvironmentsClient) RebootResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusBadRequest, http.StatusNotFound, http.StatusConflict), + autorest.ByClosing()) + result.Response = resp + return +} + +// Resume resume an App Service Environment. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the App Service Environment. +func (client AppServiceEnvironmentsClient) Resume(ctx context.Context, resourceGroupName string, name string) (result AppServiceEnvironmentsResumeFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceEnvironmentsClient.Resume") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppServiceEnvironmentsClient", "Resume", err.Error()) + } + + req, err := client.ResumePreparer(ctx, resourceGroupName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "Resume", nil, "Failure preparing request") + return + } + + result, err = client.ResumeSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "Resume", result.Response(), "Failure sending request") + return + } + + return +} + +// ResumePreparer prepares the Resume request. +func (client AppServiceEnvironmentsClient) ResumePreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/resume", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ResumeSender sends the Resume request. The method will close the +// http.Response Body if it receives an error. +func (client AppServiceEnvironmentsClient) ResumeSender(req *http.Request) (future AppServiceEnvironmentsResumeFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// ResumeResponder handles the response to the Resume request. The method always +// closes the http.Response Body. +func (client AppServiceEnvironmentsClient) ResumeResponder(resp *http.Response) (result AppCollectionPage, err error) { + result.ac, err = client.resumeResponder(resp) + result.fn = client.resumeNextResults + return +} + +func (client AppServiceEnvironmentsClient) resumeResponder(resp *http.Response) (result AppCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// resumeNextResults retrieves the next set of results, if any. +func (client AppServiceEnvironmentsClient) resumeNextResults(ctx context.Context, lastResults AppCollection) (result AppCollection, err error) { + req, err := lastResults.appCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "resumeNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, + autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "resumeNextResults", resp, "Failure sending next results request") + } + return client.resumeResponder(resp) +} + +// ResumeComplete enumerates all values, automatically crossing page boundaries as required. +func (client AppServiceEnvironmentsClient) ResumeComplete(ctx context.Context, resourceGroupName string, name string) (result AppServiceEnvironmentsResumeAllFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceEnvironmentsClient.Resume") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + var future AppServiceEnvironmentsResumeFuture + future, err = client.Resume(ctx, resourceGroupName, name) + result.Future = future.Future + return +} + +// Suspend suspend an App Service Environment. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the App Service Environment. +func (client AppServiceEnvironmentsClient) Suspend(ctx context.Context, resourceGroupName string, name string) (result AppServiceEnvironmentsSuspendFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceEnvironmentsClient.Suspend") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppServiceEnvironmentsClient", "Suspend", err.Error()) + } + + req, err := client.SuspendPreparer(ctx, resourceGroupName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "Suspend", nil, "Failure preparing request") + return + } + + result, err = client.SuspendSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "Suspend", result.Response(), "Failure sending request") + return + } + + return +} + +// SuspendPreparer prepares the Suspend request. +func (client AppServiceEnvironmentsClient) SuspendPreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/suspend", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// SuspendSender sends the Suspend request. The method will close the +// http.Response Body if it receives an error. +func (client AppServiceEnvironmentsClient) SuspendSender(req *http.Request) (future AppServiceEnvironmentsSuspendFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// SuspendResponder handles the response to the Suspend request. The method always +// closes the http.Response Body. +func (client AppServiceEnvironmentsClient) SuspendResponder(resp *http.Response) (result AppCollectionPage, err error) { + result.ac, err = client.suspendResponder(resp) + result.fn = client.suspendNextResults + return +} + +func (client AppServiceEnvironmentsClient) suspendResponder(resp *http.Response) (result AppCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// suspendNextResults retrieves the next set of results, if any. +func (client AppServiceEnvironmentsClient) suspendNextResults(ctx context.Context, lastResults AppCollection) (result AppCollection, err error) { + req, err := lastResults.appCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "suspendNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, + autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "suspendNextResults", resp, "Failure sending next results request") + } + return client.suspendResponder(resp) +} + +// SuspendComplete enumerates all values, automatically crossing page boundaries as required. +func (client AppServiceEnvironmentsClient) SuspendComplete(ctx context.Context, resourceGroupName string, name string) (result AppServiceEnvironmentsSuspendAllFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceEnvironmentsClient.Suspend") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + var future AppServiceEnvironmentsSuspendFuture + future, err = client.Suspend(ctx, resourceGroupName, name) + result.Future = future.Future + return +} + +// Update create or update an App Service Environment. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the App Service Environment. +// hostingEnvironmentEnvelope - configuration details of the App Service Environment. +func (client AppServiceEnvironmentsClient) Update(ctx context.Context, resourceGroupName string, name string, hostingEnvironmentEnvelope AppServiceEnvironmentPatchResource) (result AppServiceEnvironmentResource, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceEnvironmentsClient.Update") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppServiceEnvironmentsClient", "Update", err.Error()) + } + + req, err := client.UpdatePreparer(ctx, resourceGroupName, name, hostingEnvironmentEnvelope) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "Update", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "Update", resp, "Failure sending request") + return + } + + result, err = client.UpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "Update", resp, "Failure responding to request") + } + + return +} + +// UpdatePreparer prepares the Update request. +func (client AppServiceEnvironmentsClient) UpdatePreparer(ctx context.Context, resourceGroupName string, name string, hostingEnvironmentEnvelope AppServiceEnvironmentPatchResource) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}", pathParameters), + autorest.WithJSON(hostingEnvironmentEnvelope), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateSender sends the Update request. The method will close the +// http.Response Body if it receives an error. +func (client AppServiceEnvironmentsClient) UpdateSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// UpdateResponder handles the response to the Update request. The method always +// closes the http.Response Body. +func (client AppServiceEnvironmentsClient) UpdateResponder(resp *http.Response) (result AppServiceEnvironmentResource, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusBadRequest, http.StatusNotFound, http.StatusConflict), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// UpdateMultiRolePool create or update a multi-role pool. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the App Service Environment. +// multiRolePoolEnvelope - properties of the multi-role pool. +func (client AppServiceEnvironmentsClient) UpdateMultiRolePool(ctx context.Context, resourceGroupName string, name string, multiRolePoolEnvelope WorkerPoolResource) (result WorkerPoolResource, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceEnvironmentsClient.UpdateMultiRolePool") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppServiceEnvironmentsClient", "UpdateMultiRolePool", err.Error()) + } + + req, err := client.UpdateMultiRolePoolPreparer(ctx, resourceGroupName, name, multiRolePoolEnvelope) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "UpdateMultiRolePool", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateMultiRolePoolSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "UpdateMultiRolePool", resp, "Failure sending request") + return + } + + result, err = client.UpdateMultiRolePoolResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "UpdateMultiRolePool", resp, "Failure responding to request") + } + + return +} + +// UpdateMultiRolePoolPreparer prepares the UpdateMultiRolePool request. +func (client AppServiceEnvironmentsClient) UpdateMultiRolePoolPreparer(ctx context.Context, resourceGroupName string, name string, multiRolePoolEnvelope WorkerPoolResource) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/multiRolePools/default", pathParameters), + autorest.WithJSON(multiRolePoolEnvelope), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateMultiRolePoolSender sends the UpdateMultiRolePool request. The method will close the +// http.Response Body if it receives an error. +func (client AppServiceEnvironmentsClient) UpdateMultiRolePoolSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// UpdateMultiRolePoolResponder handles the response to the UpdateMultiRolePool request. The method always +// closes the http.Response Body. +func (client AppServiceEnvironmentsClient) UpdateMultiRolePoolResponder(resp *http.Response) (result WorkerPoolResource, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusBadRequest, http.StatusNotFound, http.StatusConflict), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// UpdateWorkerPool create or update a worker pool. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the App Service Environment. +// workerPoolName - name of the worker pool. +// workerPoolEnvelope - properties of the worker pool. +func (client AppServiceEnvironmentsClient) UpdateWorkerPool(ctx context.Context, resourceGroupName string, name string, workerPoolName string, workerPoolEnvelope WorkerPoolResource) (result WorkerPoolResource, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceEnvironmentsClient.UpdateWorkerPool") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppServiceEnvironmentsClient", "UpdateWorkerPool", err.Error()) + } + + req, err := client.UpdateWorkerPoolPreparer(ctx, resourceGroupName, name, workerPoolName, workerPoolEnvelope) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "UpdateWorkerPool", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateWorkerPoolSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "UpdateWorkerPool", resp, "Failure sending request") + return + } + + result, err = client.UpdateWorkerPoolResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsClient", "UpdateWorkerPool", resp, "Failure responding to request") + } + + return +} + +// UpdateWorkerPoolPreparer prepares the UpdateWorkerPool request. +func (client AppServiceEnvironmentsClient) UpdateWorkerPoolPreparer(ctx context.Context, resourceGroupName string, name string, workerPoolName string, workerPoolEnvelope WorkerPoolResource) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "workerPoolName": autorest.Encode("path", workerPoolName), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/workerPools/{workerPoolName}", pathParameters), + autorest.WithJSON(workerPoolEnvelope), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateWorkerPoolSender sends the UpdateWorkerPool request. The method will close the +// http.Response Body if it receives an error. +func (client AppServiceEnvironmentsClient) UpdateWorkerPoolSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// UpdateWorkerPoolResponder handles the response to the UpdateWorkerPool request. The method always +// closes the http.Response Body. +func (client AppServiceEnvironmentsClient) UpdateWorkerPoolResponder(resp *http.Response) (result WorkerPoolResource, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusBadRequest, http.StatusNotFound, http.StatusConflict), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/web/mgmt/2019-08-01/web/appserviceplans.go b/services/web/mgmt/2019-08-01/web/appserviceplans.go new file mode 100644 index 000000000000..3324503f3dab --- /dev/null +++ b/services/web/mgmt/2019-08-01/web/appserviceplans.go @@ -0,0 +1,2897 @@ +package web + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// AppServicePlansClient is the webSite Management Client +type AppServicePlansClient struct { + BaseClient +} + +// NewAppServicePlansClient creates an instance of the AppServicePlansClient client. +func NewAppServicePlansClient(subscriptionID string) AppServicePlansClient { + return NewAppServicePlansClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewAppServicePlansClientWithBaseURI creates an instance of the AppServicePlansClient client. +func NewAppServicePlansClientWithBaseURI(baseURI string, subscriptionID string) AppServicePlansClient { + return AppServicePlansClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate creates or updates an App Service Plan. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the App Service plan. +// appServicePlan - details of the App Service plan. +func (client AppServicePlansClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, name string, appServicePlan AppServicePlan) (result AppServicePlansCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServicePlansClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppServicePlansClient", "CreateOrUpdate", err.Error()) + } + + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, name, appServicePlan) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServicePlansClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServicePlansClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client AppServicePlansClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, name string, appServicePlan AppServicePlan) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}", pathParameters), + autorest.WithJSON(appServicePlan), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client AppServicePlansClient) CreateOrUpdateSender(req *http.Request) (future AppServicePlansCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client AppServicePlansClient) CreateOrUpdateResponder(resp *http.Response) (result AppServicePlan, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusCreated, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// CreateOrUpdateVnetRoute create or update a Virtual Network route in an App Service plan. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the App Service plan. +// vnetName - name of the Virtual Network. +// routeName - name of the Virtual Network route. +// route - definition of the Virtual Network route. +func (client AppServicePlansClient) CreateOrUpdateVnetRoute(ctx context.Context, resourceGroupName string, name string, vnetName string, routeName string, route VnetRoute) (result VnetRoute, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServicePlansClient.CreateOrUpdateVnetRoute") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppServicePlansClient", "CreateOrUpdateVnetRoute", err.Error()) + } + + req, err := client.CreateOrUpdateVnetRoutePreparer(ctx, resourceGroupName, name, vnetName, routeName, route) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServicePlansClient", "CreateOrUpdateVnetRoute", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateVnetRouteSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppServicePlansClient", "CreateOrUpdateVnetRoute", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateVnetRouteResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServicePlansClient", "CreateOrUpdateVnetRoute", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdateVnetRoutePreparer prepares the CreateOrUpdateVnetRoute request. +func (client AppServicePlansClient) CreateOrUpdateVnetRoutePreparer(ctx context.Context, resourceGroupName string, name string, vnetName string, routeName string, route VnetRoute) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "routeName": autorest.Encode("path", routeName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "vnetName": autorest.Encode("path", vnetName), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections/{vnetName}/routes/{routeName}", pathParameters), + autorest.WithJSON(route), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateVnetRouteSender sends the CreateOrUpdateVnetRoute request. The method will close the +// http.Response Body if it receives an error. +func (client AppServicePlansClient) CreateOrUpdateVnetRouteSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CreateOrUpdateVnetRouteResponder handles the response to the CreateOrUpdateVnetRoute request. The method always +// closes the http.Response Body. +func (client AppServicePlansClient) CreateOrUpdateVnetRouteResponder(resp *http.Response) (result VnetRoute, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusBadRequest, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete delete an App Service plan. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the App Service plan. +func (client AppServicePlansClient) Delete(ctx context.Context, resourceGroupName string, name string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServicePlansClient.Delete") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppServicePlansClient", "Delete", err.Error()) + } + + req, err := client.DeletePreparer(ctx, resourceGroupName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServicePlansClient", "Delete", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.AppServicePlansClient", "Delete", resp, "Failure sending request") + return + } + + result, err = client.DeleteResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServicePlansClient", "Delete", resp, "Failure responding to request") + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client AppServicePlansClient) DeletePreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client AppServicePlansClient) DeleteSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client AppServicePlansClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// DeleteHybridConnection delete a Hybrid Connection in use in an App Service plan. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the App Service plan. +// namespaceName - name of the Service Bus namespace. +// relayName - name of the Service Bus relay. +func (client AppServicePlansClient) DeleteHybridConnection(ctx context.Context, resourceGroupName string, name string, namespaceName string, relayName string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServicePlansClient.DeleteHybridConnection") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppServicePlansClient", "DeleteHybridConnection", err.Error()) + } + + req, err := client.DeleteHybridConnectionPreparer(ctx, resourceGroupName, name, namespaceName, relayName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServicePlansClient", "DeleteHybridConnection", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteHybridConnectionSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.AppServicePlansClient", "DeleteHybridConnection", resp, "Failure sending request") + return + } + + result, err = client.DeleteHybridConnectionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServicePlansClient", "DeleteHybridConnection", resp, "Failure responding to request") + } + + return +} + +// DeleteHybridConnectionPreparer prepares the DeleteHybridConnection request. +func (client AppServicePlansClient) DeleteHybridConnectionPreparer(ctx context.Context, resourceGroupName string, name string, namespaceName string, relayName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "namespaceName": autorest.Encode("path", namespaceName), + "relayName": autorest.Encode("path", relayName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteHybridConnectionSender sends the DeleteHybridConnection request. The method will close the +// http.Response Body if it receives an error. +func (client AppServicePlansClient) DeleteHybridConnectionSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeleteHybridConnectionResponder handles the response to the DeleteHybridConnection request. The method always +// closes the http.Response Body. +func (client AppServicePlansClient) DeleteHybridConnectionResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// DeleteVnetRoute delete a Virtual Network route in an App Service plan. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the App Service plan. +// vnetName - name of the Virtual Network. +// routeName - name of the Virtual Network route. +func (client AppServicePlansClient) DeleteVnetRoute(ctx context.Context, resourceGroupName string, name string, vnetName string, routeName string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServicePlansClient.DeleteVnetRoute") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppServicePlansClient", "DeleteVnetRoute", err.Error()) + } + + req, err := client.DeleteVnetRoutePreparer(ctx, resourceGroupName, name, vnetName, routeName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServicePlansClient", "DeleteVnetRoute", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteVnetRouteSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.AppServicePlansClient", "DeleteVnetRoute", resp, "Failure sending request") + return + } + + result, err = client.DeleteVnetRouteResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServicePlansClient", "DeleteVnetRoute", resp, "Failure responding to request") + } + + return +} + +// DeleteVnetRoutePreparer prepares the DeleteVnetRoute request. +func (client AppServicePlansClient) DeleteVnetRoutePreparer(ctx context.Context, resourceGroupName string, name string, vnetName string, routeName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "routeName": autorest.Encode("path", routeName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "vnetName": autorest.Encode("path", vnetName), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections/{vnetName}/routes/{routeName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteVnetRouteSender sends the DeleteVnetRoute request. The method will close the +// http.Response Body if it receives an error. +func (client AppServicePlansClient) DeleteVnetRouteSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeleteVnetRouteResponder handles the response to the DeleteVnetRoute request. The method always +// closes the http.Response Body. +func (client AppServicePlansClient) DeleteVnetRouteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get get an App Service plan. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the App Service plan. +func (client AppServicePlansClient) Get(ctx context.Context, resourceGroupName string, name string) (result AppServicePlan, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServicePlansClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppServicePlansClient", "Get", err.Error()) + } + + req, err := client.GetPreparer(ctx, resourceGroupName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServicePlansClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppServicePlansClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServicePlansClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client AppServicePlansClient) GetPreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client AppServicePlansClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client AppServicePlansClient) GetResponder(resp *http.Response) (result AppServicePlan, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetHybridConnection retrieve a Hybrid Connection in use in an App Service plan. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the App Service plan. +// namespaceName - name of the Service Bus namespace. +// relayName - name of the Service Bus relay. +func (client AppServicePlansClient) GetHybridConnection(ctx context.Context, resourceGroupName string, name string, namespaceName string, relayName string) (result HybridConnection, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServicePlansClient.GetHybridConnection") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppServicePlansClient", "GetHybridConnection", err.Error()) + } + + req, err := client.GetHybridConnectionPreparer(ctx, resourceGroupName, name, namespaceName, relayName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServicePlansClient", "GetHybridConnection", nil, "Failure preparing request") + return + } + + resp, err := client.GetHybridConnectionSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppServicePlansClient", "GetHybridConnection", resp, "Failure sending request") + return + } + + result, err = client.GetHybridConnectionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServicePlansClient", "GetHybridConnection", resp, "Failure responding to request") + } + + return +} + +// GetHybridConnectionPreparer prepares the GetHybridConnection request. +func (client AppServicePlansClient) GetHybridConnectionPreparer(ctx context.Context, resourceGroupName string, name string, namespaceName string, relayName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "namespaceName": autorest.Encode("path", namespaceName), + "relayName": autorest.Encode("path", relayName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetHybridConnectionSender sends the GetHybridConnection request. The method will close the +// http.Response Body if it receives an error. +func (client AppServicePlansClient) GetHybridConnectionSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetHybridConnectionResponder handles the response to the GetHybridConnection request. The method always +// closes the http.Response Body. +func (client AppServicePlansClient) GetHybridConnectionResponder(resp *http.Response) (result HybridConnection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetHybridConnectionPlanLimit get the maximum number of Hybrid Connections allowed in an App Service plan. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the App Service plan. +func (client AppServicePlansClient) GetHybridConnectionPlanLimit(ctx context.Context, resourceGroupName string, name string) (result HybridConnectionLimits, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServicePlansClient.GetHybridConnectionPlanLimit") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppServicePlansClient", "GetHybridConnectionPlanLimit", err.Error()) + } + + req, err := client.GetHybridConnectionPlanLimitPreparer(ctx, resourceGroupName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServicePlansClient", "GetHybridConnectionPlanLimit", nil, "Failure preparing request") + return + } + + resp, err := client.GetHybridConnectionPlanLimitSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppServicePlansClient", "GetHybridConnectionPlanLimit", resp, "Failure sending request") + return + } + + result, err = client.GetHybridConnectionPlanLimitResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServicePlansClient", "GetHybridConnectionPlanLimit", resp, "Failure responding to request") + } + + return +} + +// GetHybridConnectionPlanLimitPreparer prepares the GetHybridConnectionPlanLimit request. +func (client AppServicePlansClient) GetHybridConnectionPlanLimitPreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/hybridConnectionPlanLimits/limit", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetHybridConnectionPlanLimitSender sends the GetHybridConnectionPlanLimit request. The method will close the +// http.Response Body if it receives an error. +func (client AppServicePlansClient) GetHybridConnectionPlanLimitSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetHybridConnectionPlanLimitResponder handles the response to the GetHybridConnectionPlanLimit request. The method always +// closes the http.Response Body. +func (client AppServicePlansClient) GetHybridConnectionPlanLimitResponder(resp *http.Response) (result HybridConnectionLimits, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetRouteForVnet get a Virtual Network route in an App Service plan. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the App Service plan. +// vnetName - name of the Virtual Network. +// routeName - name of the Virtual Network route. +func (client AppServicePlansClient) GetRouteForVnet(ctx context.Context, resourceGroupName string, name string, vnetName string, routeName string) (result ListVnetRoute, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServicePlansClient.GetRouteForVnet") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppServicePlansClient", "GetRouteForVnet", err.Error()) + } + + req, err := client.GetRouteForVnetPreparer(ctx, resourceGroupName, name, vnetName, routeName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServicePlansClient", "GetRouteForVnet", nil, "Failure preparing request") + return + } + + resp, err := client.GetRouteForVnetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppServicePlansClient", "GetRouteForVnet", resp, "Failure sending request") + return + } + + result, err = client.GetRouteForVnetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServicePlansClient", "GetRouteForVnet", resp, "Failure responding to request") + } + + return +} + +// GetRouteForVnetPreparer prepares the GetRouteForVnet request. +func (client AppServicePlansClient) GetRouteForVnetPreparer(ctx context.Context, resourceGroupName string, name string, vnetName string, routeName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "routeName": autorest.Encode("path", routeName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "vnetName": autorest.Encode("path", vnetName), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections/{vnetName}/routes/{routeName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetRouteForVnetSender sends the GetRouteForVnet request. The method will close the +// http.Response Body if it receives an error. +func (client AppServicePlansClient) GetRouteForVnetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetRouteForVnetResponder handles the response to the GetRouteForVnet request. The method always +// closes the http.Response Body. +func (client AppServicePlansClient) GetRouteForVnetResponder(resp *http.Response) (result ListVnetRoute, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result.Value), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetServerFarmSkus gets all selectable SKUs for a given App Service Plan +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of App Service Plan +func (client AppServicePlansClient) GetServerFarmSkus(ctx context.Context, resourceGroupName string, name string) (result SetObject, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServicePlansClient.GetServerFarmSkus") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppServicePlansClient", "GetServerFarmSkus", err.Error()) + } + + req, err := client.GetServerFarmSkusPreparer(ctx, resourceGroupName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServicePlansClient", "GetServerFarmSkus", nil, "Failure preparing request") + return + } + + resp, err := client.GetServerFarmSkusSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppServicePlansClient", "GetServerFarmSkus", resp, "Failure sending request") + return + } + + result, err = client.GetServerFarmSkusResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServicePlansClient", "GetServerFarmSkus", resp, "Failure responding to request") + } + + return +} + +// GetServerFarmSkusPreparer prepares the GetServerFarmSkus request. +func (client AppServicePlansClient) GetServerFarmSkusPreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/skus", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetServerFarmSkusSender sends the GetServerFarmSkus request. The method will close the +// http.Response Body if it receives an error. +func (client AppServicePlansClient) GetServerFarmSkusSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetServerFarmSkusResponder handles the response to the GetServerFarmSkus request. The method always +// closes the http.Response Body. +func (client AppServicePlansClient) GetServerFarmSkusResponder(resp *http.Response) (result SetObject, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result.Value), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetVnetFromServerFarm get a Virtual Network associated with an App Service plan. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the App Service plan. +// vnetName - name of the Virtual Network. +func (client AppServicePlansClient) GetVnetFromServerFarm(ctx context.Context, resourceGroupName string, name string, vnetName string) (result VnetInfo, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServicePlansClient.GetVnetFromServerFarm") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppServicePlansClient", "GetVnetFromServerFarm", err.Error()) + } + + req, err := client.GetVnetFromServerFarmPreparer(ctx, resourceGroupName, name, vnetName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServicePlansClient", "GetVnetFromServerFarm", nil, "Failure preparing request") + return + } + + resp, err := client.GetVnetFromServerFarmSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppServicePlansClient", "GetVnetFromServerFarm", resp, "Failure sending request") + return + } + + result, err = client.GetVnetFromServerFarmResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServicePlansClient", "GetVnetFromServerFarm", resp, "Failure responding to request") + } + + return +} + +// GetVnetFromServerFarmPreparer prepares the GetVnetFromServerFarm request. +func (client AppServicePlansClient) GetVnetFromServerFarmPreparer(ctx context.Context, resourceGroupName string, name string, vnetName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "vnetName": autorest.Encode("path", vnetName), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections/{vnetName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetVnetFromServerFarmSender sends the GetVnetFromServerFarm request. The method will close the +// http.Response Body if it receives an error. +func (client AppServicePlansClient) GetVnetFromServerFarmSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetVnetFromServerFarmResponder handles the response to the GetVnetFromServerFarm request. The method always +// closes the http.Response Body. +func (client AppServicePlansClient) GetVnetFromServerFarmResponder(resp *http.Response) (result VnetInfo, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetVnetGateway get a Virtual Network gateway. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the App Service plan. +// vnetName - name of the Virtual Network. +// gatewayName - name of the gateway. Only the 'primary' gateway is supported. +func (client AppServicePlansClient) GetVnetGateway(ctx context.Context, resourceGroupName string, name string, vnetName string, gatewayName string) (result VnetGateway, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServicePlansClient.GetVnetGateway") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppServicePlansClient", "GetVnetGateway", err.Error()) + } + + req, err := client.GetVnetGatewayPreparer(ctx, resourceGroupName, name, vnetName, gatewayName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServicePlansClient", "GetVnetGateway", nil, "Failure preparing request") + return + } + + resp, err := client.GetVnetGatewaySender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppServicePlansClient", "GetVnetGateway", resp, "Failure sending request") + return + } + + result, err = client.GetVnetGatewayResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServicePlansClient", "GetVnetGateway", resp, "Failure responding to request") + } + + return +} + +// GetVnetGatewayPreparer prepares the GetVnetGateway request. +func (client AppServicePlansClient) GetVnetGatewayPreparer(ctx context.Context, resourceGroupName string, name string, vnetName string, gatewayName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "gatewayName": autorest.Encode("path", gatewayName), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "vnetName": autorest.Encode("path", vnetName), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections/{vnetName}/gateways/{gatewayName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetVnetGatewaySender sends the GetVnetGateway request. The method will close the +// http.Response Body if it receives an error. +func (client AppServicePlansClient) GetVnetGatewaySender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetVnetGatewayResponder handles the response to the GetVnetGateway request. The method always +// closes the http.Response Body. +func (client AppServicePlansClient) GetVnetGatewayResponder(resp *http.Response) (result VnetGateway, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List get all App Service plans for a subscription. +// Parameters: +// detailed - specify true to return all App Service plan properties. The default is +// false, which returns a subset of the properties. +// Retrieval of all properties may increase the API latency. +func (client AppServicePlansClient) List(ctx context.Context, detailed *bool) (result AppServicePlanCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServicePlansClient.List") + defer func() { + sc := -1 + if result.aspc.Response.Response != nil { + sc = result.aspc.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, detailed) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServicePlansClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.aspc.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppServicePlansClient", "List", resp, "Failure sending request") + return + } + + result.aspc, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServicePlansClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client AppServicePlansClient) ListPreparer(ctx context.Context, detailed *bool) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if detailed != nil { + queryParameters["detailed"] = autorest.Encode("query", *detailed) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Web/serverfarms", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client AppServicePlansClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client AppServicePlansClient) ListResponder(resp *http.Response) (result AppServicePlanCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client AppServicePlansClient) listNextResults(ctx context.Context, lastResults AppServicePlanCollection) (result AppServicePlanCollection, err error) { + req, err := lastResults.appServicePlanCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppServicePlansClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppServicePlansClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServicePlansClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client AppServicePlansClient) ListComplete(ctx context.Context, detailed *bool) (result AppServicePlanCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServicePlansClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, detailed) + return +} + +// ListByResourceGroup get all App Service plans in a resource group. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +func (client AppServicePlansClient) ListByResourceGroup(ctx context.Context, resourceGroupName string) (result AppServicePlanCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServicePlansClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.aspc.Response.Response != nil { + sc = result.aspc.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppServicePlansClient", "ListByResourceGroup", err.Error()) + } + + result.fn = client.listByResourceGroupNextResults + req, err := client.ListByResourceGroupPreparer(ctx, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServicePlansClient", "ListByResourceGroup", nil, "Failure preparing request") + return + } + + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.aspc.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppServicePlansClient", "ListByResourceGroup", resp, "Failure sending request") + return + } + + result.aspc, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServicePlansClient", "ListByResourceGroup", resp, "Failure responding to request") + } + + return +} + +// ListByResourceGroupPreparer prepares the ListByResourceGroup request. +func (client AppServicePlansClient) ListByResourceGroupPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByResourceGroupSender sends the ListByResourceGroup request. The method will close the +// http.Response Body if it receives an error. +func (client AppServicePlansClient) ListByResourceGroupSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByResourceGroupResponder handles the response to the ListByResourceGroup request. The method always +// closes the http.Response Body. +func (client AppServicePlansClient) ListByResourceGroupResponder(resp *http.Response) (result AppServicePlanCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listByResourceGroupNextResults retrieves the next set of results, if any. +func (client AppServicePlansClient) listByResourceGroupNextResults(ctx context.Context, lastResults AppServicePlanCollection) (result AppServicePlanCollection, err error) { + req, err := lastResults.appServicePlanCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppServicePlansClient", "listByResourceGroupNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppServicePlansClient", "listByResourceGroupNextResults", resp, "Failure sending next results request") + } + result, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServicePlansClient", "listByResourceGroupNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListByResourceGroupComplete enumerates all values, automatically crossing page boundaries as required. +func (client AppServicePlansClient) ListByResourceGroupComplete(ctx context.Context, resourceGroupName string) (result AppServicePlanCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServicePlansClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListByResourceGroup(ctx, resourceGroupName) + return +} + +// ListCapabilities list all capabilities of an App Service plan. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the App Service plan. +func (client AppServicePlansClient) ListCapabilities(ctx context.Context, resourceGroupName string, name string) (result ListCapability, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServicePlansClient.ListCapabilities") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppServicePlansClient", "ListCapabilities", err.Error()) + } + + req, err := client.ListCapabilitiesPreparer(ctx, resourceGroupName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServicePlansClient", "ListCapabilities", nil, "Failure preparing request") + return + } + + resp, err := client.ListCapabilitiesSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppServicePlansClient", "ListCapabilities", resp, "Failure sending request") + return + } + + result, err = client.ListCapabilitiesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServicePlansClient", "ListCapabilities", resp, "Failure responding to request") + } + + return +} + +// ListCapabilitiesPreparer prepares the ListCapabilities request. +func (client AppServicePlansClient) ListCapabilitiesPreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/capabilities", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListCapabilitiesSender sends the ListCapabilities request. The method will close the +// http.Response Body if it receives an error. +func (client AppServicePlansClient) ListCapabilitiesSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListCapabilitiesResponder handles the response to the ListCapabilities request. The method always +// closes the http.Response Body. +func (client AppServicePlansClient) ListCapabilitiesResponder(resp *http.Response) (result ListCapability, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result.Value), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListHybridConnectionKeys get the send key name and value of a Hybrid Connection. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the App Service plan. +// namespaceName - the name of the Service Bus namespace. +// relayName - the name of the Service Bus relay. +func (client AppServicePlansClient) ListHybridConnectionKeys(ctx context.Context, resourceGroupName string, name string, namespaceName string, relayName string) (result HybridConnectionKey, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServicePlansClient.ListHybridConnectionKeys") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppServicePlansClient", "ListHybridConnectionKeys", err.Error()) + } + + req, err := client.ListHybridConnectionKeysPreparer(ctx, resourceGroupName, name, namespaceName, relayName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServicePlansClient", "ListHybridConnectionKeys", nil, "Failure preparing request") + return + } + + resp, err := client.ListHybridConnectionKeysSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppServicePlansClient", "ListHybridConnectionKeys", resp, "Failure sending request") + return + } + + result, err = client.ListHybridConnectionKeysResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServicePlansClient", "ListHybridConnectionKeys", resp, "Failure responding to request") + } + + return +} + +// ListHybridConnectionKeysPreparer prepares the ListHybridConnectionKeys request. +func (client AppServicePlansClient) ListHybridConnectionKeysPreparer(ctx context.Context, resourceGroupName string, name string, namespaceName string, relayName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "namespaceName": autorest.Encode("path", namespaceName), + "relayName": autorest.Encode("path", relayName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}/listKeys", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListHybridConnectionKeysSender sends the ListHybridConnectionKeys request. The method will close the +// http.Response Body if it receives an error. +func (client AppServicePlansClient) ListHybridConnectionKeysSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListHybridConnectionKeysResponder handles the response to the ListHybridConnectionKeys request. The method always +// closes the http.Response Body. +func (client AppServicePlansClient) ListHybridConnectionKeysResponder(resp *http.Response) (result HybridConnectionKey, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListHybridConnections retrieve all Hybrid Connections in use in an App Service plan. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the App Service plan. +func (client AppServicePlansClient) ListHybridConnections(ctx context.Context, resourceGroupName string, name string) (result HybridConnectionCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServicePlansClient.ListHybridConnections") + defer func() { + sc := -1 + if result.hcc.Response.Response != nil { + sc = result.hcc.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppServicePlansClient", "ListHybridConnections", err.Error()) + } + + result.fn = client.listHybridConnectionsNextResults + req, err := client.ListHybridConnectionsPreparer(ctx, resourceGroupName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServicePlansClient", "ListHybridConnections", nil, "Failure preparing request") + return + } + + resp, err := client.ListHybridConnectionsSender(req) + if err != nil { + result.hcc.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppServicePlansClient", "ListHybridConnections", resp, "Failure sending request") + return + } + + result.hcc, err = client.ListHybridConnectionsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServicePlansClient", "ListHybridConnections", resp, "Failure responding to request") + } + + return +} + +// ListHybridConnectionsPreparer prepares the ListHybridConnections request. +func (client AppServicePlansClient) ListHybridConnectionsPreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/hybridConnectionRelays", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListHybridConnectionsSender sends the ListHybridConnections request. The method will close the +// http.Response Body if it receives an error. +func (client AppServicePlansClient) ListHybridConnectionsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListHybridConnectionsResponder handles the response to the ListHybridConnections request. The method always +// closes the http.Response Body. +func (client AppServicePlansClient) ListHybridConnectionsResponder(resp *http.Response) (result HybridConnectionCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listHybridConnectionsNextResults retrieves the next set of results, if any. +func (client AppServicePlansClient) listHybridConnectionsNextResults(ctx context.Context, lastResults HybridConnectionCollection) (result HybridConnectionCollection, err error) { + req, err := lastResults.hybridConnectionCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppServicePlansClient", "listHybridConnectionsNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListHybridConnectionsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppServicePlansClient", "listHybridConnectionsNextResults", resp, "Failure sending next results request") + } + result, err = client.ListHybridConnectionsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServicePlansClient", "listHybridConnectionsNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListHybridConnectionsComplete enumerates all values, automatically crossing page boundaries as required. +func (client AppServicePlansClient) ListHybridConnectionsComplete(ctx context.Context, resourceGroupName string, name string) (result HybridConnectionCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServicePlansClient.ListHybridConnections") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListHybridConnections(ctx, resourceGroupName, name) + return +} + +// ListMetricDefintions get metrics that can be queried for an App Service plan, and their definitions. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the App Service plan. +func (client AppServicePlansClient) ListMetricDefintions(ctx context.Context, resourceGroupName string, name string) (result ResourceMetricDefinitionCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServicePlansClient.ListMetricDefintions") + defer func() { + sc := -1 + if result.rmdc.Response.Response != nil { + sc = result.rmdc.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppServicePlansClient", "ListMetricDefintions", err.Error()) + } + + result.fn = client.listMetricDefintionsNextResults + req, err := client.ListMetricDefintionsPreparer(ctx, resourceGroupName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServicePlansClient", "ListMetricDefintions", nil, "Failure preparing request") + return + } + + resp, err := client.ListMetricDefintionsSender(req) + if err != nil { + result.rmdc.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppServicePlansClient", "ListMetricDefintions", resp, "Failure sending request") + return + } + + result.rmdc, err = client.ListMetricDefintionsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServicePlansClient", "ListMetricDefintions", resp, "Failure responding to request") + } + + return +} + +// ListMetricDefintionsPreparer prepares the ListMetricDefintions request. +func (client AppServicePlansClient) ListMetricDefintionsPreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/metricdefinitions", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListMetricDefintionsSender sends the ListMetricDefintions request. The method will close the +// http.Response Body if it receives an error. +func (client AppServicePlansClient) ListMetricDefintionsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListMetricDefintionsResponder handles the response to the ListMetricDefintions request. The method always +// closes the http.Response Body. +func (client AppServicePlansClient) ListMetricDefintionsResponder(resp *http.Response) (result ResourceMetricDefinitionCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listMetricDefintionsNextResults retrieves the next set of results, if any. +func (client AppServicePlansClient) listMetricDefintionsNextResults(ctx context.Context, lastResults ResourceMetricDefinitionCollection) (result ResourceMetricDefinitionCollection, err error) { + req, err := lastResults.resourceMetricDefinitionCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppServicePlansClient", "listMetricDefintionsNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListMetricDefintionsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppServicePlansClient", "listMetricDefintionsNextResults", resp, "Failure sending next results request") + } + result, err = client.ListMetricDefintionsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServicePlansClient", "listMetricDefintionsNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListMetricDefintionsComplete enumerates all values, automatically crossing page boundaries as required. +func (client AppServicePlansClient) ListMetricDefintionsComplete(ctx context.Context, resourceGroupName string, name string) (result ResourceMetricDefinitionCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServicePlansClient.ListMetricDefintions") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListMetricDefintions(ctx, resourceGroupName, name) + return +} + +// ListMetrics get metrics for an App Service plan. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the App Service plan. +// details - specify true to include instance details. The default is false. +// filter - return only usages/metrics specified in the filter. Filter conforms to odata syntax. Example: +// $filter=(name.value eq 'Metric1' or name.value eq 'Metric2') and startTime eq 2014-01-01T00:00:00Z and +// endTime eq 2014-12-31T23:59:59Z and timeGrain eq duration'[Hour|Minute|Day]'. +func (client AppServicePlansClient) ListMetrics(ctx context.Context, resourceGroupName string, name string, details *bool, filter string) (result ResourceMetricCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServicePlansClient.ListMetrics") + defer func() { + sc := -1 + if result.rmc.Response.Response != nil { + sc = result.rmc.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppServicePlansClient", "ListMetrics", err.Error()) + } + + result.fn = client.listMetricsNextResults + req, err := client.ListMetricsPreparer(ctx, resourceGroupName, name, details, filter) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServicePlansClient", "ListMetrics", nil, "Failure preparing request") + return + } + + resp, err := client.ListMetricsSender(req) + if err != nil { + result.rmc.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppServicePlansClient", "ListMetrics", resp, "Failure sending request") + return + } + + result.rmc, err = client.ListMetricsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServicePlansClient", "ListMetrics", resp, "Failure responding to request") + } + + return +} + +// ListMetricsPreparer prepares the ListMetrics request. +func (client AppServicePlansClient) ListMetricsPreparer(ctx context.Context, resourceGroupName string, name string, details *bool, filter string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if details != nil { + queryParameters["details"] = autorest.Encode("query", *details) + } + if len(filter) > 0 { + queryParameters["$filter"] = filter + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/metrics", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListMetricsSender sends the ListMetrics request. The method will close the +// http.Response Body if it receives an error. +func (client AppServicePlansClient) ListMetricsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListMetricsResponder handles the response to the ListMetrics request. The method always +// closes the http.Response Body. +func (client AppServicePlansClient) ListMetricsResponder(resp *http.Response) (result ResourceMetricCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listMetricsNextResults retrieves the next set of results, if any. +func (client AppServicePlansClient) listMetricsNextResults(ctx context.Context, lastResults ResourceMetricCollection) (result ResourceMetricCollection, err error) { + req, err := lastResults.resourceMetricCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppServicePlansClient", "listMetricsNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListMetricsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppServicePlansClient", "listMetricsNextResults", resp, "Failure sending next results request") + } + result, err = client.ListMetricsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServicePlansClient", "listMetricsNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListMetricsComplete enumerates all values, automatically crossing page boundaries as required. +func (client AppServicePlansClient) ListMetricsComplete(ctx context.Context, resourceGroupName string, name string, details *bool, filter string) (result ResourceMetricCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServicePlansClient.ListMetrics") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListMetrics(ctx, resourceGroupName, name, details, filter) + return +} + +// ListRoutesForVnet get all routes that are associated with a Virtual Network in an App Service plan. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the App Service plan. +// vnetName - name of the Virtual Network. +func (client AppServicePlansClient) ListRoutesForVnet(ctx context.Context, resourceGroupName string, name string, vnetName string) (result ListVnetRoute, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServicePlansClient.ListRoutesForVnet") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppServicePlansClient", "ListRoutesForVnet", err.Error()) + } + + req, err := client.ListRoutesForVnetPreparer(ctx, resourceGroupName, name, vnetName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServicePlansClient", "ListRoutesForVnet", nil, "Failure preparing request") + return + } + + resp, err := client.ListRoutesForVnetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppServicePlansClient", "ListRoutesForVnet", resp, "Failure sending request") + return + } + + result, err = client.ListRoutesForVnetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServicePlansClient", "ListRoutesForVnet", resp, "Failure responding to request") + } + + return +} + +// ListRoutesForVnetPreparer prepares the ListRoutesForVnet request. +func (client AppServicePlansClient) ListRoutesForVnetPreparer(ctx context.Context, resourceGroupName string, name string, vnetName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "vnetName": autorest.Encode("path", vnetName), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections/{vnetName}/routes", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListRoutesForVnetSender sends the ListRoutesForVnet request. The method will close the +// http.Response Body if it receives an error. +func (client AppServicePlansClient) ListRoutesForVnetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListRoutesForVnetResponder handles the response to the ListRoutesForVnet request. The method always +// closes the http.Response Body. +func (client AppServicePlansClient) ListRoutesForVnetResponder(resp *http.Response) (result ListVnetRoute, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result.Value), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListUsages gets server farm usage information +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of App Service Plan +// filter - return only usages/metrics specified in the filter. Filter conforms to odata syntax. Example: +// $filter=(name.value eq 'Metric1' or name.value eq 'Metric2'). +func (client AppServicePlansClient) ListUsages(ctx context.Context, resourceGroupName string, name string, filter string) (result CsmUsageQuotaCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServicePlansClient.ListUsages") + defer func() { + sc := -1 + if result.cuqc.Response.Response != nil { + sc = result.cuqc.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppServicePlansClient", "ListUsages", err.Error()) + } + + result.fn = client.listUsagesNextResults + req, err := client.ListUsagesPreparer(ctx, resourceGroupName, name, filter) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServicePlansClient", "ListUsages", nil, "Failure preparing request") + return + } + + resp, err := client.ListUsagesSender(req) + if err != nil { + result.cuqc.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppServicePlansClient", "ListUsages", resp, "Failure sending request") + return + } + + result.cuqc, err = client.ListUsagesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServicePlansClient", "ListUsages", resp, "Failure responding to request") + } + + return +} + +// ListUsagesPreparer prepares the ListUsages request. +func (client AppServicePlansClient) ListUsagesPreparer(ctx context.Context, resourceGroupName string, name string, filter string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(filter) > 0 { + queryParameters["$filter"] = filter + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/usages", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListUsagesSender sends the ListUsages request. The method will close the +// http.Response Body if it receives an error. +func (client AppServicePlansClient) ListUsagesSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListUsagesResponder handles the response to the ListUsages request. The method always +// closes the http.Response Body. +func (client AppServicePlansClient) ListUsagesResponder(resp *http.Response) (result CsmUsageQuotaCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listUsagesNextResults retrieves the next set of results, if any. +func (client AppServicePlansClient) listUsagesNextResults(ctx context.Context, lastResults CsmUsageQuotaCollection) (result CsmUsageQuotaCollection, err error) { + req, err := lastResults.csmUsageQuotaCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppServicePlansClient", "listUsagesNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListUsagesSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppServicePlansClient", "listUsagesNextResults", resp, "Failure sending next results request") + } + result, err = client.ListUsagesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServicePlansClient", "listUsagesNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListUsagesComplete enumerates all values, automatically crossing page boundaries as required. +func (client AppServicePlansClient) ListUsagesComplete(ctx context.Context, resourceGroupName string, name string, filter string) (result CsmUsageQuotaCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServicePlansClient.ListUsages") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListUsages(ctx, resourceGroupName, name, filter) + return +} + +// ListVnets get all Virtual Networks associated with an App Service plan. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the App Service plan. +func (client AppServicePlansClient) ListVnets(ctx context.Context, resourceGroupName string, name string) (result ListVnetInfo, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServicePlansClient.ListVnets") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppServicePlansClient", "ListVnets", err.Error()) + } + + req, err := client.ListVnetsPreparer(ctx, resourceGroupName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServicePlansClient", "ListVnets", nil, "Failure preparing request") + return + } + + resp, err := client.ListVnetsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppServicePlansClient", "ListVnets", resp, "Failure sending request") + return + } + + result, err = client.ListVnetsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServicePlansClient", "ListVnets", resp, "Failure responding to request") + } + + return +} + +// ListVnetsPreparer prepares the ListVnets request. +func (client AppServicePlansClient) ListVnetsPreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListVnetsSender sends the ListVnets request. The method will close the +// http.Response Body if it receives an error. +func (client AppServicePlansClient) ListVnetsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListVnetsResponder handles the response to the ListVnets request. The method always +// closes the http.Response Body. +func (client AppServicePlansClient) ListVnetsResponder(resp *http.Response) (result ListVnetInfo, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result.Value), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListWebApps get all apps associated with an App Service plan. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the App Service plan. +// skipToken - skip to a web app in the list of webapps associated with app service plan. If specified, the +// resulting list will contain web apps starting from (including) the skipToken. Otherwise, the resulting list +// contains web apps from the start of the list +// filter - supported filter: $filter=state eq running. Returns only web apps that are currently running +// top - list page size. If specified, results are paged. +func (client AppServicePlansClient) ListWebApps(ctx context.Context, resourceGroupName string, name string, skipToken string, filter string, top string) (result AppCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServicePlansClient.ListWebApps") + defer func() { + sc := -1 + if result.ac.Response.Response != nil { + sc = result.ac.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppServicePlansClient", "ListWebApps", err.Error()) + } + + result.fn = client.listWebAppsNextResults + req, err := client.ListWebAppsPreparer(ctx, resourceGroupName, name, skipToken, filter, top) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServicePlansClient", "ListWebApps", nil, "Failure preparing request") + return + } + + resp, err := client.ListWebAppsSender(req) + if err != nil { + result.ac.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppServicePlansClient", "ListWebApps", resp, "Failure sending request") + return + } + + result.ac, err = client.ListWebAppsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServicePlansClient", "ListWebApps", resp, "Failure responding to request") + } + + return +} + +// ListWebAppsPreparer prepares the ListWebApps request. +func (client AppServicePlansClient) ListWebAppsPreparer(ctx context.Context, resourceGroupName string, name string, skipToken string, filter string, top string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(skipToken) > 0 { + queryParameters["$skipToken"] = autorest.Encode("query", skipToken) + } + if len(filter) > 0 { + queryParameters["$filter"] = filter + } + if len(top) > 0 { + queryParameters["$top"] = autorest.Encode("query", top) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/sites", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListWebAppsSender sends the ListWebApps request. The method will close the +// http.Response Body if it receives an error. +func (client AppServicePlansClient) ListWebAppsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListWebAppsResponder handles the response to the ListWebApps request. The method always +// closes the http.Response Body. +func (client AppServicePlansClient) ListWebAppsResponder(resp *http.Response) (result AppCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listWebAppsNextResults retrieves the next set of results, if any. +func (client AppServicePlansClient) listWebAppsNextResults(ctx context.Context, lastResults AppCollection) (result AppCollection, err error) { + req, err := lastResults.appCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppServicePlansClient", "listWebAppsNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListWebAppsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppServicePlansClient", "listWebAppsNextResults", resp, "Failure sending next results request") + } + result, err = client.ListWebAppsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServicePlansClient", "listWebAppsNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListWebAppsComplete enumerates all values, automatically crossing page boundaries as required. +func (client AppServicePlansClient) ListWebAppsComplete(ctx context.Context, resourceGroupName string, name string, skipToken string, filter string, top string) (result AppCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServicePlansClient.ListWebApps") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListWebApps(ctx, resourceGroupName, name, skipToken, filter, top) + return +} + +// ListWebAppsByHybridConnection get all apps that use a Hybrid Connection in an App Service Plan. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the App Service plan. +// namespaceName - name of the Hybrid Connection namespace. +// relayName - name of the Hybrid Connection relay. +func (client AppServicePlansClient) ListWebAppsByHybridConnection(ctx context.Context, resourceGroupName string, name string, namespaceName string, relayName string) (result ResourceCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServicePlansClient.ListWebAppsByHybridConnection") + defer func() { + sc := -1 + if result.rc.Response.Response != nil { + sc = result.rc.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppServicePlansClient", "ListWebAppsByHybridConnection", err.Error()) + } + + result.fn = client.listWebAppsByHybridConnectionNextResults + req, err := client.ListWebAppsByHybridConnectionPreparer(ctx, resourceGroupName, name, namespaceName, relayName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServicePlansClient", "ListWebAppsByHybridConnection", nil, "Failure preparing request") + return + } + + resp, err := client.ListWebAppsByHybridConnectionSender(req) + if err != nil { + result.rc.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppServicePlansClient", "ListWebAppsByHybridConnection", resp, "Failure sending request") + return + } + + result.rc, err = client.ListWebAppsByHybridConnectionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServicePlansClient", "ListWebAppsByHybridConnection", resp, "Failure responding to request") + } + + return +} + +// ListWebAppsByHybridConnectionPreparer prepares the ListWebAppsByHybridConnection request. +func (client AppServicePlansClient) ListWebAppsByHybridConnectionPreparer(ctx context.Context, resourceGroupName string, name string, namespaceName string, relayName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "namespaceName": autorest.Encode("path", namespaceName), + "relayName": autorest.Encode("path", relayName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}/sites", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListWebAppsByHybridConnectionSender sends the ListWebAppsByHybridConnection request. The method will close the +// http.Response Body if it receives an error. +func (client AppServicePlansClient) ListWebAppsByHybridConnectionSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListWebAppsByHybridConnectionResponder handles the response to the ListWebAppsByHybridConnection request. The method always +// closes the http.Response Body. +func (client AppServicePlansClient) ListWebAppsByHybridConnectionResponder(resp *http.Response) (result ResourceCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listWebAppsByHybridConnectionNextResults retrieves the next set of results, if any. +func (client AppServicePlansClient) listWebAppsByHybridConnectionNextResults(ctx context.Context, lastResults ResourceCollection) (result ResourceCollection, err error) { + req, err := lastResults.resourceCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.AppServicePlansClient", "listWebAppsByHybridConnectionNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListWebAppsByHybridConnectionSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.AppServicePlansClient", "listWebAppsByHybridConnectionNextResults", resp, "Failure sending next results request") + } + result, err = client.ListWebAppsByHybridConnectionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServicePlansClient", "listWebAppsByHybridConnectionNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListWebAppsByHybridConnectionComplete enumerates all values, automatically crossing page boundaries as required. +func (client AppServicePlansClient) ListWebAppsByHybridConnectionComplete(ctx context.Context, resourceGroupName string, name string, namespaceName string, relayName string) (result ResourceCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServicePlansClient.ListWebAppsByHybridConnection") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListWebAppsByHybridConnection(ctx, resourceGroupName, name, namespaceName, relayName) + return +} + +// RebootWorker reboot a worker machine in an App Service plan. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the App Service plan. +// workerName - name of worker machine, which typically starts with RD. +func (client AppServicePlansClient) RebootWorker(ctx context.Context, resourceGroupName string, name string, workerName string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServicePlansClient.RebootWorker") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppServicePlansClient", "RebootWorker", err.Error()) + } + + req, err := client.RebootWorkerPreparer(ctx, resourceGroupName, name, workerName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServicePlansClient", "RebootWorker", nil, "Failure preparing request") + return + } + + resp, err := client.RebootWorkerSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.AppServicePlansClient", "RebootWorker", resp, "Failure sending request") + return + } + + result, err = client.RebootWorkerResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServicePlansClient", "RebootWorker", resp, "Failure responding to request") + } + + return +} + +// RebootWorkerPreparer prepares the RebootWorker request. +func (client AppServicePlansClient) RebootWorkerPreparer(ctx context.Context, resourceGroupName string, name string, workerName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "workerName": autorest.Encode("path", workerName), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/workers/{workerName}/reboot", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// RebootWorkerSender sends the RebootWorker request. The method will close the +// http.Response Body if it receives an error. +func (client AppServicePlansClient) RebootWorkerSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// RebootWorkerResponder handles the response to the RebootWorker request. The method always +// closes the http.Response Body. +func (client AppServicePlansClient) RebootWorkerResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// RestartWebApps restart all apps in an App Service plan. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the App Service plan. +// softRestart - specify true to perform a soft restart, applies the configuration settings and +// restarts the apps if necessary. The default is false, which always restarts and reprovisions +// the apps +func (client AppServicePlansClient) RestartWebApps(ctx context.Context, resourceGroupName string, name string, softRestart *bool) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServicePlansClient.RestartWebApps") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppServicePlansClient", "RestartWebApps", err.Error()) + } + + req, err := client.RestartWebAppsPreparer(ctx, resourceGroupName, name, softRestart) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServicePlansClient", "RestartWebApps", nil, "Failure preparing request") + return + } + + resp, err := client.RestartWebAppsSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.AppServicePlansClient", "RestartWebApps", resp, "Failure sending request") + return + } + + result, err = client.RestartWebAppsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServicePlansClient", "RestartWebApps", resp, "Failure responding to request") + } + + return +} + +// RestartWebAppsPreparer prepares the RestartWebApps request. +func (client AppServicePlansClient) RestartWebAppsPreparer(ctx context.Context, resourceGroupName string, name string, softRestart *bool) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if softRestart != nil { + queryParameters["softRestart"] = autorest.Encode("query", *softRestart) + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/restartSites", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// RestartWebAppsSender sends the RestartWebApps request. The method will close the +// http.Response Body if it receives an error. +func (client AppServicePlansClient) RestartWebAppsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// RestartWebAppsResponder handles the response to the RestartWebApps request. The method always +// closes the http.Response Body. +func (client AppServicePlansClient) RestartWebAppsResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Update creates or updates an App Service Plan. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the App Service plan. +// appServicePlan - details of the App Service plan. +func (client AppServicePlansClient) Update(ctx context.Context, resourceGroupName string, name string, appServicePlan AppServicePlanPatchResource) (result AppServicePlan, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServicePlansClient.Update") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppServicePlansClient", "Update", err.Error()) + } + + req, err := client.UpdatePreparer(ctx, resourceGroupName, name, appServicePlan) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServicePlansClient", "Update", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppServicePlansClient", "Update", resp, "Failure sending request") + return + } + + result, err = client.UpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServicePlansClient", "Update", resp, "Failure responding to request") + } + + return +} + +// UpdatePreparer prepares the Update request. +func (client AppServicePlansClient) UpdatePreparer(ctx context.Context, resourceGroupName string, name string, appServicePlan AppServicePlanPatchResource) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}", pathParameters), + autorest.WithJSON(appServicePlan), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateSender sends the Update request. The method will close the +// http.Response Body if it receives an error. +func (client AppServicePlansClient) UpdateSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// UpdateResponder handles the response to the Update request. The method always +// closes the http.Response Body. +func (client AppServicePlansClient) UpdateResponder(resp *http.Response) (result AppServicePlan, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// UpdateVnetGateway update a Virtual Network gateway. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the App Service plan. +// vnetName - name of the Virtual Network. +// gatewayName - name of the gateway. Only the 'primary' gateway is supported. +// connectionEnvelope - definition of the gateway. +func (client AppServicePlansClient) UpdateVnetGateway(ctx context.Context, resourceGroupName string, name string, vnetName string, gatewayName string, connectionEnvelope VnetGateway) (result VnetGateway, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServicePlansClient.UpdateVnetGateway") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}, + {TargetValue: connectionEnvelope, + Constraints: []validation.Constraint{{Target: "connectionEnvelope.VnetGatewayProperties", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "connectionEnvelope.VnetGatewayProperties.VpnPackageURI", Name: validation.Null, Rule: true, Chain: nil}}}}}}); err != nil { + return result, validation.NewError("web.AppServicePlansClient", "UpdateVnetGateway", err.Error()) + } + + req, err := client.UpdateVnetGatewayPreparer(ctx, resourceGroupName, name, vnetName, gatewayName, connectionEnvelope) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServicePlansClient", "UpdateVnetGateway", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateVnetGatewaySender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppServicePlansClient", "UpdateVnetGateway", resp, "Failure sending request") + return + } + + result, err = client.UpdateVnetGatewayResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServicePlansClient", "UpdateVnetGateway", resp, "Failure responding to request") + } + + return +} + +// UpdateVnetGatewayPreparer prepares the UpdateVnetGateway request. +func (client AppServicePlansClient) UpdateVnetGatewayPreparer(ctx context.Context, resourceGroupName string, name string, vnetName string, gatewayName string, connectionEnvelope VnetGateway) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "gatewayName": autorest.Encode("path", gatewayName), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "vnetName": autorest.Encode("path", vnetName), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections/{vnetName}/gateways/{gatewayName}", pathParameters), + autorest.WithJSON(connectionEnvelope), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateVnetGatewaySender sends the UpdateVnetGateway request. The method will close the +// http.Response Body if it receives an error. +func (client AppServicePlansClient) UpdateVnetGatewaySender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// UpdateVnetGatewayResponder handles the response to the UpdateVnetGateway request. The method always +// closes the http.Response Body. +func (client AppServicePlansClient) UpdateVnetGatewayResponder(resp *http.Response) (result VnetGateway, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// UpdateVnetRoute create or update a Virtual Network route in an App Service plan. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the App Service plan. +// vnetName - name of the Virtual Network. +// routeName - name of the Virtual Network route. +// route - definition of the Virtual Network route. +func (client AppServicePlansClient) UpdateVnetRoute(ctx context.Context, resourceGroupName string, name string, vnetName string, routeName string, route VnetRoute) (result VnetRoute, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServicePlansClient.UpdateVnetRoute") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.AppServicePlansClient", "UpdateVnetRoute", err.Error()) + } + + req, err := client.UpdateVnetRoutePreparer(ctx, resourceGroupName, name, vnetName, routeName, route) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServicePlansClient", "UpdateVnetRoute", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateVnetRouteSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.AppServicePlansClient", "UpdateVnetRoute", resp, "Failure sending request") + return + } + + result, err = client.UpdateVnetRouteResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServicePlansClient", "UpdateVnetRoute", resp, "Failure responding to request") + } + + return +} + +// UpdateVnetRoutePreparer prepares the UpdateVnetRoute request. +func (client AppServicePlansClient) UpdateVnetRoutePreparer(ctx context.Context, resourceGroupName string, name string, vnetName string, routeName string, route VnetRoute) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "routeName": autorest.Encode("path", routeName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + "vnetName": autorest.Encode("path", vnetName), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{name}/virtualNetworkConnections/{vnetName}/routes/{routeName}", pathParameters), + autorest.WithJSON(route), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateVnetRouteSender sends the UpdateVnetRoute request. The method will close the +// http.Response Body if it receives an error. +func (client AppServicePlansClient) UpdateVnetRouteSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// UpdateVnetRouteResponder handles the response to the UpdateVnetRoute request. The method always +// closes the http.Response Body. +func (client AppServicePlansClient) UpdateVnetRouteResponder(resp *http.Response) (result VnetRoute, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusBadRequest, http.StatusNotFound), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/web/mgmt/2019-08-01/web/certificateregistrationprovider.go b/services/web/mgmt/2019-08-01/web/certificateregistrationprovider.go new file mode 100644 index 000000000000..20728a9f2286 --- /dev/null +++ b/services/web/mgmt/2019-08-01/web/certificateregistrationprovider.go @@ -0,0 +1,148 @@ +package web + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// CertificateRegistrationProviderClient is the webSite Management Client +type CertificateRegistrationProviderClient struct { + BaseClient +} + +// NewCertificateRegistrationProviderClient creates an instance of the CertificateRegistrationProviderClient client. +func NewCertificateRegistrationProviderClient(subscriptionID string) CertificateRegistrationProviderClient { + return NewCertificateRegistrationProviderClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewCertificateRegistrationProviderClientWithBaseURI creates an instance of the CertificateRegistrationProviderClient +// client. +func NewCertificateRegistrationProviderClientWithBaseURI(baseURI string, subscriptionID string) CertificateRegistrationProviderClient { + return CertificateRegistrationProviderClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// ListOperations implements Csm operations Api to exposes the list of available Csm Apis under the resource provider +func (client CertificateRegistrationProviderClient) ListOperations(ctx context.Context) (result CsmOperationCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/CertificateRegistrationProviderClient.ListOperations") + defer func() { + sc := -1 + if result.coc.Response.Response != nil { + sc = result.coc.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listOperationsNextResults + req, err := client.ListOperationsPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "web.CertificateRegistrationProviderClient", "ListOperations", nil, "Failure preparing request") + return + } + + resp, err := client.ListOperationsSender(req) + if err != nil { + result.coc.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.CertificateRegistrationProviderClient", "ListOperations", resp, "Failure sending request") + return + } + + result.coc, err = client.ListOperationsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.CertificateRegistrationProviderClient", "ListOperations", resp, "Failure responding to request") + } + + return +} + +// ListOperationsPreparer prepares the ListOperations request. +func (client CertificateRegistrationProviderClient) ListOperationsPreparer(ctx context.Context) (*http.Request, error) { + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPath("/providers/Microsoft.CertificateRegistration/operations"), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListOperationsSender sends the ListOperations request. The method will close the +// http.Response Body if it receives an error. +func (client CertificateRegistrationProviderClient) ListOperationsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListOperationsResponder handles the response to the ListOperations request. The method always +// closes the http.Response Body. +func (client CertificateRegistrationProviderClient) ListOperationsResponder(resp *http.Response) (result CsmOperationCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listOperationsNextResults retrieves the next set of results, if any. +func (client CertificateRegistrationProviderClient) listOperationsNextResults(ctx context.Context, lastResults CsmOperationCollection) (result CsmOperationCollection, err error) { + req, err := lastResults.csmOperationCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.CertificateRegistrationProviderClient", "listOperationsNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListOperationsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.CertificateRegistrationProviderClient", "listOperationsNextResults", resp, "Failure sending next results request") + } + result, err = client.ListOperationsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.CertificateRegistrationProviderClient", "listOperationsNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListOperationsComplete enumerates all values, automatically crossing page boundaries as required. +func (client CertificateRegistrationProviderClient) ListOperationsComplete(ctx context.Context) (result CsmOperationCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/CertificateRegistrationProviderClient.ListOperations") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListOperations(ctx) + return +} diff --git a/services/web/mgmt/2019-08-01/web/certificates.go b/services/web/mgmt/2019-08-01/web/certificates.go new file mode 100644 index 000000000000..b1640960c58c --- /dev/null +++ b/services/web/mgmt/2019-08-01/web/certificates.go @@ -0,0 +1,621 @@ +package web + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// CertificatesClient is the webSite Management Client +type CertificatesClient struct { + BaseClient +} + +// NewCertificatesClient creates an instance of the CertificatesClient client. +func NewCertificatesClient(subscriptionID string) CertificatesClient { + return NewCertificatesClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewCertificatesClientWithBaseURI creates an instance of the CertificatesClient client. +func NewCertificatesClientWithBaseURI(baseURI string, subscriptionID string) CertificatesClient { + return CertificatesClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CreateOrUpdate create or update a certificate. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the certificate. +// certificateEnvelope - details of certificate, if it exists already. +func (client CertificatesClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, name string, certificateEnvelope Certificate) (result Certificate, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/CertificatesClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}, + {TargetValue: certificateEnvelope, + Constraints: []validation.Constraint{{Target: "certificateEnvelope.CertificateProperties", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "certificateEnvelope.CertificateProperties.Password", Name: validation.Null, Rule: true, Chain: nil}}}}}}); err != nil { + return result, validation.NewError("web.CertificatesClient", "CreateOrUpdate", err.Error()) + } + + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, name, certificateEnvelope) + if err != nil { + err = autorest.NewErrorWithError(err, "web.CertificatesClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.CertificatesClient", "CreateOrUpdate", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.CertificatesClient", "CreateOrUpdate", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client CertificatesClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, name string, certificateEnvelope Certificate) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/certificates/{name}", pathParameters), + autorest.WithJSON(certificateEnvelope), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client CertificatesClient) CreateOrUpdateSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client CertificatesClient) CreateOrUpdateResponder(resp *http.Response) (result Certificate, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete delete a certificate. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the certificate. +func (client CertificatesClient) Delete(ctx context.Context, resourceGroupName string, name string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/CertificatesClient.Delete") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.CertificatesClient", "Delete", err.Error()) + } + + req, err := client.DeletePreparer(ctx, resourceGroupName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.CertificatesClient", "Delete", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.CertificatesClient", "Delete", resp, "Failure sending request") + return + } + + result, err = client.DeleteResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.CertificatesClient", "Delete", resp, "Failure responding to request") + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client CertificatesClient) DeletePreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/certificates/{name}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client CertificatesClient) DeleteSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client CertificatesClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get get a certificate. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the certificate. +func (client CertificatesClient) Get(ctx context.Context, resourceGroupName string, name string) (result Certificate, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/CertificatesClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.CertificatesClient", "Get", err.Error()) + } + + req, err := client.GetPreparer(ctx, resourceGroupName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.CertificatesClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.CertificatesClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.CertificatesClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client CertificatesClient) GetPreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/certificates/{name}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client CertificatesClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client CertificatesClient) GetResponder(resp *http.Response) (result Certificate, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List get all certificates for a subscription. +func (client CertificatesClient) List(ctx context.Context) (result CertificateCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/CertificatesClient.List") + defer func() { + sc := -1 + if result.cc.Response.Response != nil { + sc = result.cc.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "web.CertificatesClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.cc.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.CertificatesClient", "List", resp, "Failure sending request") + return + } + + result.cc, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.CertificatesClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client CertificatesClient) ListPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Web/certificates", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client CertificatesClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client CertificatesClient) ListResponder(resp *http.Response) (result CertificateCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client CertificatesClient) listNextResults(ctx context.Context, lastResults CertificateCollection) (result CertificateCollection, err error) { + req, err := lastResults.certificateCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.CertificatesClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.CertificatesClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.CertificatesClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client CertificatesClient) ListComplete(ctx context.Context) (result CertificateCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/CertificatesClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx) + return +} + +// ListByResourceGroup get all certificates in a resource group. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +func (client CertificatesClient) ListByResourceGroup(ctx context.Context, resourceGroupName string) (result CertificateCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/CertificatesClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.cc.Response.Response != nil { + sc = result.cc.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.CertificatesClient", "ListByResourceGroup", err.Error()) + } + + result.fn = client.listByResourceGroupNextResults + req, err := client.ListByResourceGroupPreparer(ctx, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.CertificatesClient", "ListByResourceGroup", nil, "Failure preparing request") + return + } + + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.cc.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.CertificatesClient", "ListByResourceGroup", resp, "Failure sending request") + return + } + + result.cc, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.CertificatesClient", "ListByResourceGroup", resp, "Failure responding to request") + } + + return +} + +// ListByResourceGroupPreparer prepares the ListByResourceGroup request. +func (client CertificatesClient) ListByResourceGroupPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/certificates", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByResourceGroupSender sends the ListByResourceGroup request. The method will close the +// http.Response Body if it receives an error. +func (client CertificatesClient) ListByResourceGroupSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByResourceGroupResponder handles the response to the ListByResourceGroup request. The method always +// closes the http.Response Body. +func (client CertificatesClient) ListByResourceGroupResponder(resp *http.Response) (result CertificateCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listByResourceGroupNextResults retrieves the next set of results, if any. +func (client CertificatesClient) listByResourceGroupNextResults(ctx context.Context, lastResults CertificateCollection) (result CertificateCollection, err error) { + req, err := lastResults.certificateCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.CertificatesClient", "listByResourceGroupNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.CertificatesClient", "listByResourceGroupNextResults", resp, "Failure sending next results request") + } + result, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.CertificatesClient", "listByResourceGroupNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListByResourceGroupComplete enumerates all values, automatically crossing page boundaries as required. +func (client CertificatesClient) ListByResourceGroupComplete(ctx context.Context, resourceGroupName string) (result CertificateCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/CertificatesClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListByResourceGroup(ctx, resourceGroupName) + return +} + +// Update create or update a certificate. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of the certificate. +// certificateEnvelope - details of certificate, if it exists already. +func (client CertificatesClient) Update(ctx context.Context, resourceGroupName string, name string, certificateEnvelope CertificatePatchResource) (result Certificate, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/CertificatesClient.Update") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.CertificatesClient", "Update", err.Error()) + } + + req, err := client.UpdatePreparer(ctx, resourceGroupName, name, certificateEnvelope) + if err != nil { + err = autorest.NewErrorWithError(err, "web.CertificatesClient", "Update", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.CertificatesClient", "Update", resp, "Failure sending request") + return + } + + result, err = client.UpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.CertificatesClient", "Update", resp, "Failure responding to request") + } + + return +} + +// UpdatePreparer prepares the Update request. +func (client CertificatesClient) UpdatePreparer(ctx context.Context, resourceGroupName string, name string, certificateEnvelope CertificatePatchResource) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/certificates/{name}", pathParameters), + autorest.WithJSON(certificateEnvelope), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateSender sends the Update request. The method will close the +// http.Response Body if it receives an error. +func (client CertificatesClient) UpdateSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// UpdateResponder handles the response to the Update request. The method always +// closes the http.Response Body. +func (client CertificatesClient) UpdateResponder(resp *http.Response) (result Certificate, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/web/mgmt/2019-08-01/web/client.go b/services/web/mgmt/2019-08-01/web/client.go new file mode 100644 index 000000000000..f78f9c228a0a --- /dev/null +++ b/services/web/mgmt/2019-08-01/web/client.go @@ -0,0 +1,1596 @@ +// Package web implements the Azure ARM Web service API version 2018-02-01. +// +// WebSite Management Client +package web + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +const ( + // DefaultBaseURI is the default URI used for the service Web + DefaultBaseURI = "https://management.azure.com" +) + +// BaseClient is the base client for Web. +type BaseClient struct { + autorest.Client + BaseURI string + SubscriptionID string +} + +// New creates an instance of the BaseClient client. +func New(subscriptionID string) BaseClient { + return NewWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewWithBaseURI creates an instance of the BaseClient client. +func NewWithBaseURI(baseURI string, subscriptionID string) BaseClient { + return BaseClient{ + Client: autorest.NewClientWithUserAgent(UserAgent()), + BaseURI: baseURI, + SubscriptionID: subscriptionID, + } +} + +// CheckNameAvailability check if a resource name is available. +// Parameters: +// request - name availability request. +func (client BaseClient) CheckNameAvailability(ctx context.Context, request ResourceNameAvailabilityRequest) (result ResourceNameAvailability, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.CheckNameAvailability") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: request, + Constraints: []validation.Constraint{{Target: "request.Name", Name: validation.Null, Rule: true, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.BaseClient", "CheckNameAvailability", err.Error()) + } + + req, err := client.CheckNameAvailabilityPreparer(ctx, request) + if err != nil { + err = autorest.NewErrorWithError(err, "web.BaseClient", "CheckNameAvailability", nil, "Failure preparing request") + return + } + + resp, err := client.CheckNameAvailabilitySender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.BaseClient", "CheckNameAvailability", resp, "Failure sending request") + return + } + + result, err = client.CheckNameAvailabilityResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.BaseClient", "CheckNameAvailability", resp, "Failure responding to request") + } + + return +} + +// CheckNameAvailabilityPreparer prepares the CheckNameAvailability request. +func (client BaseClient) CheckNameAvailabilityPreparer(ctx context.Context, request ResourceNameAvailabilityRequest) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Web/checknameavailability", pathParameters), + autorest.WithJSON(request), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CheckNameAvailabilitySender sends the CheckNameAvailability request. The method will close the +// http.Response Body if it receives an error. +func (client BaseClient) CheckNameAvailabilitySender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CheckNameAvailabilityResponder handles the response to the CheckNameAvailability request. The method always +// closes the http.Response Body. +func (client BaseClient) CheckNameAvailabilityResponder(resp *http.Response) (result ResourceNameAvailability, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetPublishingUser gets publishing user +func (client BaseClient) GetPublishingUser(ctx context.Context) (result User, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.GetPublishingUser") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPublishingUserPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "web.BaseClient", "GetPublishingUser", nil, "Failure preparing request") + return + } + + resp, err := client.GetPublishingUserSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.BaseClient", "GetPublishingUser", resp, "Failure sending request") + return + } + + result, err = client.GetPublishingUserResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.BaseClient", "GetPublishingUser", resp, "Failure responding to request") + } + + return +} + +// GetPublishingUserPreparer prepares the GetPublishingUser request. +func (client BaseClient) GetPublishingUserPreparer(ctx context.Context) (*http.Request, error) { + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPath("/providers/Microsoft.Web/publishingUsers/web"), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetPublishingUserSender sends the GetPublishingUser request. The method will close the +// http.Response Body if it receives an error. +func (client BaseClient) GetPublishingUserSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetPublishingUserResponder handles the response to the GetPublishingUser request. The method always +// closes the http.Response Body. +func (client BaseClient) GetPublishingUserResponder(resp *http.Response) (result User, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetSourceControl gets source control token +// Parameters: +// sourceControlType - type of source control +func (client BaseClient) GetSourceControl(ctx context.Context, sourceControlType string) (result SourceControl, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.GetSourceControl") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetSourceControlPreparer(ctx, sourceControlType) + if err != nil { + err = autorest.NewErrorWithError(err, "web.BaseClient", "GetSourceControl", nil, "Failure preparing request") + return + } + + resp, err := client.GetSourceControlSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.BaseClient", "GetSourceControl", resp, "Failure sending request") + return + } + + result, err = client.GetSourceControlResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.BaseClient", "GetSourceControl", resp, "Failure responding to request") + } + + return +} + +// GetSourceControlPreparer prepares the GetSourceControl request. +func (client BaseClient) GetSourceControlPreparer(ctx context.Context, sourceControlType string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "sourceControlType": autorest.Encode("path", sourceControlType), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/providers/Microsoft.Web/sourcecontrols/{sourceControlType}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSourceControlSender sends the GetSourceControl request. The method will close the +// http.Response Body if it receives an error. +func (client BaseClient) GetSourceControlSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetSourceControlResponder handles the response to the GetSourceControl request. The method always +// closes the http.Response Body. +func (client BaseClient) GetSourceControlResponder(resp *http.Response) (result SourceControl, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetSubscriptionDeploymentLocations gets list of available geo regions plus ministamps +func (client BaseClient) GetSubscriptionDeploymentLocations(ctx context.Context) (result DeploymentLocations, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.GetSubscriptionDeploymentLocations") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetSubscriptionDeploymentLocationsPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "web.BaseClient", "GetSubscriptionDeploymentLocations", nil, "Failure preparing request") + return + } + + resp, err := client.GetSubscriptionDeploymentLocationsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.BaseClient", "GetSubscriptionDeploymentLocations", resp, "Failure sending request") + return + } + + result, err = client.GetSubscriptionDeploymentLocationsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.BaseClient", "GetSubscriptionDeploymentLocations", resp, "Failure responding to request") + } + + return +} + +// GetSubscriptionDeploymentLocationsPreparer prepares the GetSubscriptionDeploymentLocations request. +func (client BaseClient) GetSubscriptionDeploymentLocationsPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Web/deploymentLocations", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSubscriptionDeploymentLocationsSender sends the GetSubscriptionDeploymentLocations request. The method will close the +// http.Response Body if it receives an error. +func (client BaseClient) GetSubscriptionDeploymentLocationsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetSubscriptionDeploymentLocationsResponder handles the response to the GetSubscriptionDeploymentLocations request. The method always +// closes the http.Response Body. +func (client BaseClient) GetSubscriptionDeploymentLocationsResponder(resp *http.Response) (result DeploymentLocations, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListBillingMeters gets a list of meters for a given location. +// Parameters: +// billingLocation - azure Location of billable resource +// osType - app Service OS type meters used for +func (client BaseClient) ListBillingMeters(ctx context.Context, billingLocation string, osType string) (result BillingMeterCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.ListBillingMeters") + defer func() { + sc := -1 + if result.bmc.Response.Response != nil { + sc = result.bmc.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listBillingMetersNextResults + req, err := client.ListBillingMetersPreparer(ctx, billingLocation, osType) + if err != nil { + err = autorest.NewErrorWithError(err, "web.BaseClient", "ListBillingMeters", nil, "Failure preparing request") + return + } + + resp, err := client.ListBillingMetersSender(req) + if err != nil { + result.bmc.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.BaseClient", "ListBillingMeters", resp, "Failure sending request") + return + } + + result.bmc, err = client.ListBillingMetersResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.BaseClient", "ListBillingMeters", resp, "Failure responding to request") + } + + return +} + +// ListBillingMetersPreparer prepares the ListBillingMeters request. +func (client BaseClient) ListBillingMetersPreparer(ctx context.Context, billingLocation string, osType string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(billingLocation) > 0 { + queryParameters["billingLocation"] = autorest.Encode("query", billingLocation) + } + if len(osType) > 0 { + queryParameters["osType"] = autorest.Encode("query", osType) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Web/billingMeters", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListBillingMetersSender sends the ListBillingMeters request. The method will close the +// http.Response Body if it receives an error. +func (client BaseClient) ListBillingMetersSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListBillingMetersResponder handles the response to the ListBillingMeters request. The method always +// closes the http.Response Body. +func (client BaseClient) ListBillingMetersResponder(resp *http.Response) (result BillingMeterCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listBillingMetersNextResults retrieves the next set of results, if any. +func (client BaseClient) listBillingMetersNextResults(ctx context.Context, lastResults BillingMeterCollection) (result BillingMeterCollection, err error) { + req, err := lastResults.billingMeterCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.BaseClient", "listBillingMetersNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListBillingMetersSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.BaseClient", "listBillingMetersNextResults", resp, "Failure sending next results request") + } + result, err = client.ListBillingMetersResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.BaseClient", "listBillingMetersNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListBillingMetersComplete enumerates all values, automatically crossing page boundaries as required. +func (client BaseClient) ListBillingMetersComplete(ctx context.Context, billingLocation string, osType string) (result BillingMeterCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.ListBillingMeters") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListBillingMeters(ctx, billingLocation, osType) + return +} + +// ListGeoRegions get a list of available geographical regions. +// Parameters: +// sku - name of SKU used to filter the regions. +// linuxWorkersEnabled - specify true if you want to filter to only regions that support Linux +// workers. +// xenonWorkersEnabled - specify true if you want to filter to only regions that support Xenon +// workers. +// linuxDynamicWorkersEnabled - specify true if you want to filter to only regions that support +// Linux Consumption Workers. +func (client BaseClient) ListGeoRegions(ctx context.Context, sku SkuName, linuxWorkersEnabled *bool, xenonWorkersEnabled *bool, linuxDynamicWorkersEnabled *bool) (result GeoRegionCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.ListGeoRegions") + defer func() { + sc := -1 + if result.grc.Response.Response != nil { + sc = result.grc.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listGeoRegionsNextResults + req, err := client.ListGeoRegionsPreparer(ctx, sku, linuxWorkersEnabled, xenonWorkersEnabled, linuxDynamicWorkersEnabled) + if err != nil { + err = autorest.NewErrorWithError(err, "web.BaseClient", "ListGeoRegions", nil, "Failure preparing request") + return + } + + resp, err := client.ListGeoRegionsSender(req) + if err != nil { + result.grc.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.BaseClient", "ListGeoRegions", resp, "Failure sending request") + return + } + + result.grc, err = client.ListGeoRegionsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.BaseClient", "ListGeoRegions", resp, "Failure responding to request") + } + + return +} + +// ListGeoRegionsPreparer prepares the ListGeoRegions request. +func (client BaseClient) ListGeoRegionsPreparer(ctx context.Context, sku SkuName, linuxWorkersEnabled *bool, xenonWorkersEnabled *bool, linuxDynamicWorkersEnabled *bool) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(string(sku)) > 0 { + queryParameters["sku"] = autorest.Encode("query", sku) + } + if linuxWorkersEnabled != nil { + queryParameters["linuxWorkersEnabled"] = autorest.Encode("query", *linuxWorkersEnabled) + } + if xenonWorkersEnabled != nil { + queryParameters["xenonWorkersEnabled"] = autorest.Encode("query", *xenonWorkersEnabled) + } + if linuxDynamicWorkersEnabled != nil { + queryParameters["linuxDynamicWorkersEnabled"] = autorest.Encode("query", *linuxDynamicWorkersEnabled) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Web/geoRegions", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListGeoRegionsSender sends the ListGeoRegions request. The method will close the +// http.Response Body if it receives an error. +func (client BaseClient) ListGeoRegionsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListGeoRegionsResponder handles the response to the ListGeoRegions request. The method always +// closes the http.Response Body. +func (client BaseClient) ListGeoRegionsResponder(resp *http.Response) (result GeoRegionCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listGeoRegionsNextResults retrieves the next set of results, if any. +func (client BaseClient) listGeoRegionsNextResults(ctx context.Context, lastResults GeoRegionCollection) (result GeoRegionCollection, err error) { + req, err := lastResults.geoRegionCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.BaseClient", "listGeoRegionsNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListGeoRegionsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.BaseClient", "listGeoRegionsNextResults", resp, "Failure sending next results request") + } + result, err = client.ListGeoRegionsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.BaseClient", "listGeoRegionsNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListGeoRegionsComplete enumerates all values, automatically crossing page boundaries as required. +func (client BaseClient) ListGeoRegionsComplete(ctx context.Context, sku SkuName, linuxWorkersEnabled *bool, xenonWorkersEnabled *bool, linuxDynamicWorkersEnabled *bool) (result GeoRegionCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.ListGeoRegions") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListGeoRegions(ctx, sku, linuxWorkersEnabled, xenonWorkersEnabled, linuxDynamicWorkersEnabled) + return +} + +// ListPremierAddOnOffers list all premier add-on offers. +func (client BaseClient) ListPremierAddOnOffers(ctx context.Context) (result PremierAddOnOfferCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.ListPremierAddOnOffers") + defer func() { + sc := -1 + if result.paooc.Response.Response != nil { + sc = result.paooc.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listPremierAddOnOffersNextResults + req, err := client.ListPremierAddOnOffersPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "web.BaseClient", "ListPremierAddOnOffers", nil, "Failure preparing request") + return + } + + resp, err := client.ListPremierAddOnOffersSender(req) + if err != nil { + result.paooc.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.BaseClient", "ListPremierAddOnOffers", resp, "Failure sending request") + return + } + + result.paooc, err = client.ListPremierAddOnOffersResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.BaseClient", "ListPremierAddOnOffers", resp, "Failure responding to request") + } + + return +} + +// ListPremierAddOnOffersPreparer prepares the ListPremierAddOnOffers request. +func (client BaseClient) ListPremierAddOnOffersPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Web/premieraddonoffers", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListPremierAddOnOffersSender sends the ListPremierAddOnOffers request. The method will close the +// http.Response Body if it receives an error. +func (client BaseClient) ListPremierAddOnOffersSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListPremierAddOnOffersResponder handles the response to the ListPremierAddOnOffers request. The method always +// closes the http.Response Body. +func (client BaseClient) ListPremierAddOnOffersResponder(resp *http.Response) (result PremierAddOnOfferCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listPremierAddOnOffersNextResults retrieves the next set of results, if any. +func (client BaseClient) listPremierAddOnOffersNextResults(ctx context.Context, lastResults PremierAddOnOfferCollection) (result PremierAddOnOfferCollection, err error) { + req, err := lastResults.premierAddOnOfferCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.BaseClient", "listPremierAddOnOffersNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListPremierAddOnOffersSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.BaseClient", "listPremierAddOnOffersNextResults", resp, "Failure sending next results request") + } + result, err = client.ListPremierAddOnOffersResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.BaseClient", "listPremierAddOnOffersNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListPremierAddOnOffersComplete enumerates all values, automatically crossing page boundaries as required. +func (client BaseClient) ListPremierAddOnOffersComplete(ctx context.Context) (result PremierAddOnOfferCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.ListPremierAddOnOffers") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListPremierAddOnOffers(ctx) + return +} + +// ListSiteIdentifiersAssignedToHostName list all apps that are assigned to a hostname. +// Parameters: +// nameIdentifier - hostname information. +func (client BaseClient) ListSiteIdentifiersAssignedToHostName(ctx context.Context, nameIdentifier NameIdentifier) (result IdentifierCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.ListSiteIdentifiersAssignedToHostName") + defer func() { + sc := -1 + if result.ic.Response.Response != nil { + sc = result.ic.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listSiteIdentifiersAssignedToHostNameNextResults + req, err := client.ListSiteIdentifiersAssignedToHostNamePreparer(ctx, nameIdentifier) + if err != nil { + err = autorest.NewErrorWithError(err, "web.BaseClient", "ListSiteIdentifiersAssignedToHostName", nil, "Failure preparing request") + return + } + + resp, err := client.ListSiteIdentifiersAssignedToHostNameSender(req) + if err != nil { + result.ic.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.BaseClient", "ListSiteIdentifiersAssignedToHostName", resp, "Failure sending request") + return + } + + result.ic, err = client.ListSiteIdentifiersAssignedToHostNameResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.BaseClient", "ListSiteIdentifiersAssignedToHostName", resp, "Failure responding to request") + } + + return +} + +// ListSiteIdentifiersAssignedToHostNamePreparer prepares the ListSiteIdentifiersAssignedToHostName request. +func (client BaseClient) ListSiteIdentifiersAssignedToHostNamePreparer(ctx context.Context, nameIdentifier NameIdentifier) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Web/listSitesAssignedToHostName", pathParameters), + autorest.WithJSON(nameIdentifier), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSiteIdentifiersAssignedToHostNameSender sends the ListSiteIdentifiersAssignedToHostName request. The method will close the +// http.Response Body if it receives an error. +func (client BaseClient) ListSiteIdentifiersAssignedToHostNameSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListSiteIdentifiersAssignedToHostNameResponder handles the response to the ListSiteIdentifiersAssignedToHostName request. The method always +// closes the http.Response Body. +func (client BaseClient) ListSiteIdentifiersAssignedToHostNameResponder(resp *http.Response) (result IdentifierCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listSiteIdentifiersAssignedToHostNameNextResults retrieves the next set of results, if any. +func (client BaseClient) listSiteIdentifiersAssignedToHostNameNextResults(ctx context.Context, lastResults IdentifierCollection) (result IdentifierCollection, err error) { + req, err := lastResults.identifierCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.BaseClient", "listSiteIdentifiersAssignedToHostNameNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSiteIdentifiersAssignedToHostNameSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.BaseClient", "listSiteIdentifiersAssignedToHostNameNextResults", resp, "Failure sending next results request") + } + result, err = client.ListSiteIdentifiersAssignedToHostNameResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.BaseClient", "listSiteIdentifiersAssignedToHostNameNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListSiteIdentifiersAssignedToHostNameComplete enumerates all values, automatically crossing page boundaries as required. +func (client BaseClient) ListSiteIdentifiersAssignedToHostNameComplete(ctx context.Context, nameIdentifier NameIdentifier) (result IdentifierCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.ListSiteIdentifiersAssignedToHostName") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListSiteIdentifiersAssignedToHostName(ctx, nameIdentifier) + return +} + +// ListSkus list all SKUs. +func (client BaseClient) ListSkus(ctx context.Context) (result SkuInfos, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.ListSkus") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ListSkusPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "web.BaseClient", "ListSkus", nil, "Failure preparing request") + return + } + + resp, err := client.ListSkusSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.BaseClient", "ListSkus", resp, "Failure sending request") + return + } + + result, err = client.ListSkusResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.BaseClient", "ListSkus", resp, "Failure responding to request") + } + + return +} + +// ListSkusPreparer prepares the ListSkus request. +func (client BaseClient) ListSkusPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Web/skus", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSkusSender sends the ListSkus request. The method will close the +// http.Response Body if it receives an error. +func (client BaseClient) ListSkusSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListSkusResponder handles the response to the ListSkus request. The method always +// closes the http.Response Body. +func (client BaseClient) ListSkusResponder(resp *http.Response) (result SkuInfos, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListSourceControls gets the source controls available for Azure websites. +func (client BaseClient) ListSourceControls(ctx context.Context) (result SourceControlCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.ListSourceControls") + defer func() { + sc := -1 + if result.scc.Response.Response != nil { + sc = result.scc.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listSourceControlsNextResults + req, err := client.ListSourceControlsPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "web.BaseClient", "ListSourceControls", nil, "Failure preparing request") + return + } + + resp, err := client.ListSourceControlsSender(req) + if err != nil { + result.scc.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.BaseClient", "ListSourceControls", resp, "Failure sending request") + return + } + + result.scc, err = client.ListSourceControlsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.BaseClient", "ListSourceControls", resp, "Failure responding to request") + } + + return +} + +// ListSourceControlsPreparer prepares the ListSourceControls request. +func (client BaseClient) ListSourceControlsPreparer(ctx context.Context) (*http.Request, error) { + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPath("/providers/Microsoft.Web/sourcecontrols"), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSourceControlsSender sends the ListSourceControls request. The method will close the +// http.Response Body if it receives an error. +func (client BaseClient) ListSourceControlsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListSourceControlsResponder handles the response to the ListSourceControls request. The method always +// closes the http.Response Body. +func (client BaseClient) ListSourceControlsResponder(resp *http.Response) (result SourceControlCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listSourceControlsNextResults retrieves the next set of results, if any. +func (client BaseClient) listSourceControlsNextResults(ctx context.Context, lastResults SourceControlCollection) (result SourceControlCollection, err error) { + req, err := lastResults.sourceControlCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.BaseClient", "listSourceControlsNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSourceControlsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.BaseClient", "listSourceControlsNextResults", resp, "Failure sending next results request") + } + result, err = client.ListSourceControlsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.BaseClient", "listSourceControlsNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListSourceControlsComplete enumerates all values, automatically crossing page boundaries as required. +func (client BaseClient) ListSourceControlsComplete(ctx context.Context) (result SourceControlCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.ListSourceControls") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListSourceControls(ctx) + return +} + +// Move move resources between resource groups. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// moveResourceEnvelope - object that represents the resource to move. +func (client BaseClient) Move(ctx context.Context, resourceGroupName string, moveResourceEnvelope CsmMoveResourceEnvelope) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.Move") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}, + {TargetValue: moveResourceEnvelope, + Constraints: []validation.Constraint{{Target: "moveResourceEnvelope.TargetResourceGroup", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "moveResourceEnvelope.TargetResourceGroup", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "moveResourceEnvelope.TargetResourceGroup", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "moveResourceEnvelope.TargetResourceGroup", Name: validation.Pattern, Rule: ` ^[-\w\._\(\)]+[^\.]$`, Chain: nil}, + }}}}}); err != nil { + return result, validation.NewError("web.BaseClient", "Move", err.Error()) + } + + req, err := client.MovePreparer(ctx, resourceGroupName, moveResourceEnvelope) + if err != nil { + err = autorest.NewErrorWithError(err, "web.BaseClient", "Move", nil, "Failure preparing request") + return + } + + resp, err := client.MoveSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.BaseClient", "Move", resp, "Failure sending request") + return + } + + result, err = client.MoveResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.BaseClient", "Move", resp, "Failure responding to request") + } + + return +} + +// MovePreparer prepares the Move request. +func (client BaseClient) MovePreparer(ctx context.Context, resourceGroupName string, moveResourceEnvelope CsmMoveResourceEnvelope) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/moveResources", pathParameters), + autorest.WithJSON(moveResourceEnvelope), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// MoveSender sends the Move request. The method will close the +// http.Response Body if it receives an error. +func (client BaseClient) MoveSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// MoveResponder handles the response to the Move request. The method always +// closes the http.Response Body. +func (client BaseClient) MoveResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// UpdatePublishingUser updates publishing user +// Parameters: +// userDetails - details of publishing user +func (client BaseClient) UpdatePublishingUser(ctx context.Context, userDetails User) (result User, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.UpdatePublishingUser") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: userDetails, + Constraints: []validation.Constraint{{Target: "userDetails.UserProperties", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "userDetails.UserProperties.PublishingUserName", Name: validation.Null, Rule: true, Chain: nil}}}}}}); err != nil { + return result, validation.NewError("web.BaseClient", "UpdatePublishingUser", err.Error()) + } + + req, err := client.UpdatePublishingUserPreparer(ctx, userDetails) + if err != nil { + err = autorest.NewErrorWithError(err, "web.BaseClient", "UpdatePublishingUser", nil, "Failure preparing request") + return + } + + resp, err := client.UpdatePublishingUserSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.BaseClient", "UpdatePublishingUser", resp, "Failure sending request") + return + } + + result, err = client.UpdatePublishingUserResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.BaseClient", "UpdatePublishingUser", resp, "Failure responding to request") + } + + return +} + +// UpdatePublishingUserPreparer prepares the UpdatePublishingUser request. +func (client BaseClient) UpdatePublishingUserPreparer(ctx context.Context, userDetails User) (*http.Request, error) { + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPath("/providers/Microsoft.Web/publishingUsers/web"), + autorest.WithJSON(userDetails), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdatePublishingUserSender sends the UpdatePublishingUser request. The method will close the +// http.Response Body if it receives an error. +func (client BaseClient) UpdatePublishingUserSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// UpdatePublishingUserResponder handles the response to the UpdatePublishingUser request. The method always +// closes the http.Response Body. +func (client BaseClient) UpdatePublishingUserResponder(resp *http.Response) (result User, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// UpdateSourceControl updates source control token +// Parameters: +// sourceControlType - type of source control +// requestMessage - source control token information +func (client BaseClient) UpdateSourceControl(ctx context.Context, sourceControlType string, requestMessage SourceControl) (result SourceControl, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.UpdateSourceControl") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.UpdateSourceControlPreparer(ctx, sourceControlType, requestMessage) + if err != nil { + err = autorest.NewErrorWithError(err, "web.BaseClient", "UpdateSourceControl", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateSourceControlSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.BaseClient", "UpdateSourceControl", resp, "Failure sending request") + return + } + + result, err = client.UpdateSourceControlResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.BaseClient", "UpdateSourceControl", resp, "Failure responding to request") + } + + return +} + +// UpdateSourceControlPreparer prepares the UpdateSourceControl request. +func (client BaseClient) UpdateSourceControlPreparer(ctx context.Context, sourceControlType string, requestMessage SourceControl) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "sourceControlType": autorest.Encode("path", sourceControlType), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/providers/Microsoft.Web/sourcecontrols/{sourceControlType}", pathParameters), + autorest.WithJSON(requestMessage), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateSourceControlSender sends the UpdateSourceControl request. The method will close the +// http.Response Body if it receives an error. +func (client BaseClient) UpdateSourceControlSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// UpdateSourceControlResponder handles the response to the UpdateSourceControl request. The method always +// closes the http.Response Body. +func (client BaseClient) UpdateSourceControlResponder(resp *http.Response) (result SourceControl, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Validate validate if a resource can be created. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// validateRequest - request with the resources to validate. +func (client BaseClient) Validate(ctx context.Context, resourceGroupName string, validateRequest ValidateRequest) (result ValidateResponse, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.Validate") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}, + {TargetValue: validateRequest, + Constraints: []validation.Constraint{{Target: "validateRequest.Name", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "validateRequest.Location", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "validateRequest.ValidateProperties", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "validateRequest.ValidateProperties.Capacity", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "validateRequest.ValidateProperties.Capacity", Name: validation.InclusiveMinimum, Rule: 1, Chain: nil}}}, + }}}}}); err != nil { + return result, validation.NewError("web.BaseClient", "Validate", err.Error()) + } + + req, err := client.ValidatePreparer(ctx, resourceGroupName, validateRequest) + if err != nil { + err = autorest.NewErrorWithError(err, "web.BaseClient", "Validate", nil, "Failure preparing request") + return + } + + resp, err := client.ValidateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.BaseClient", "Validate", resp, "Failure sending request") + return + } + + result, err = client.ValidateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.BaseClient", "Validate", resp, "Failure responding to request") + } + + return +} + +// ValidatePreparer prepares the Validate request. +func (client BaseClient) ValidatePreparer(ctx context.Context, resourceGroupName string, validateRequest ValidateRequest) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/validate", pathParameters), + autorest.WithJSON(validateRequest), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ValidateSender sends the Validate request. The method will close the +// http.Response Body if it receives an error. +func (client BaseClient) ValidateSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ValidateResponder handles the response to the Validate request. The method always +// closes the http.Response Body. +func (client BaseClient) ValidateResponder(resp *http.Response) (result ValidateResponse, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ValidateContainerSettings validate if the container settings are correct. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +func (client BaseClient) ValidateContainerSettings(ctx context.Context, validateContainerSettingsRequest ValidateContainerSettingsRequest, resourceGroupName string) (result SetObject, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.ValidateContainerSettings") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.BaseClient", "ValidateContainerSettings", err.Error()) + } + + req, err := client.ValidateContainerSettingsPreparer(ctx, validateContainerSettingsRequest, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.BaseClient", "ValidateContainerSettings", nil, "Failure preparing request") + return + } + + resp, err := client.ValidateContainerSettingsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.BaseClient", "ValidateContainerSettings", resp, "Failure sending request") + return + } + + result, err = client.ValidateContainerSettingsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.BaseClient", "ValidateContainerSettings", resp, "Failure responding to request") + } + + return +} + +// ValidateContainerSettingsPreparer prepares the ValidateContainerSettings request. +func (client BaseClient) ValidateContainerSettingsPreparer(ctx context.Context, validateContainerSettingsRequest ValidateContainerSettingsRequest, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/validateContainerSettings", pathParameters), + autorest.WithJSON(validateContainerSettingsRequest), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ValidateContainerSettingsSender sends the ValidateContainerSettings request. The method will close the +// http.Response Body if it receives an error. +func (client BaseClient) ValidateContainerSettingsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ValidateContainerSettingsResponder handles the response to the ValidateContainerSettings request. The method always +// closes the http.Response Body. +func (client BaseClient) ValidateContainerSettingsResponder(resp *http.Response) (result SetObject, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result.Value), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ValidateMove validate whether a resource can be moved. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// moveResourceEnvelope - object that represents the resource to move. +func (client BaseClient) ValidateMove(ctx context.Context, resourceGroupName string, moveResourceEnvelope CsmMoveResourceEnvelope) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.ValidateMove") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}, + {TargetValue: moveResourceEnvelope, + Constraints: []validation.Constraint{{Target: "moveResourceEnvelope.TargetResourceGroup", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "moveResourceEnvelope.TargetResourceGroup", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "moveResourceEnvelope.TargetResourceGroup", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "moveResourceEnvelope.TargetResourceGroup", Name: validation.Pattern, Rule: ` ^[-\w\._\(\)]+[^\.]$`, Chain: nil}, + }}}}}); err != nil { + return result, validation.NewError("web.BaseClient", "ValidateMove", err.Error()) + } + + req, err := client.ValidateMovePreparer(ctx, resourceGroupName, moveResourceEnvelope) + if err != nil { + err = autorest.NewErrorWithError(err, "web.BaseClient", "ValidateMove", nil, "Failure preparing request") + return + } + + resp, err := client.ValidateMoveSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.BaseClient", "ValidateMove", resp, "Failure sending request") + return + } + + result, err = client.ValidateMoveResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.BaseClient", "ValidateMove", resp, "Failure responding to request") + } + + return +} + +// ValidateMovePreparer prepares the ValidateMove request. +func (client BaseClient) ValidateMovePreparer(ctx context.Context, resourceGroupName string, moveResourceEnvelope CsmMoveResourceEnvelope) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/validateMoveResources", pathParameters), + autorest.WithJSON(moveResourceEnvelope), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ValidateMoveSender sends the ValidateMove request. The method will close the +// http.Response Body if it receives an error. +func (client BaseClient) ValidateMoveSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ValidateMoveResponder handles the response to the ValidateMove request. The method always +// closes the http.Response Body. +func (client BaseClient) ValidateMoveResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// VerifyHostingEnvironmentVnet verifies if this VNET is compatible with an App Service Environment by analyzing the +// Network Security Group rules. +// Parameters: +// parameters - VNET information +func (client BaseClient) VerifyHostingEnvironmentVnet(ctx context.Context, parameters VnetParameters) (result VnetValidationFailureDetails, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BaseClient.VerifyHostingEnvironmentVnet") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.VerifyHostingEnvironmentVnetPreparer(ctx, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "web.BaseClient", "VerifyHostingEnvironmentVnet", nil, "Failure preparing request") + return + } + + resp, err := client.VerifyHostingEnvironmentVnetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.BaseClient", "VerifyHostingEnvironmentVnet", resp, "Failure sending request") + return + } + + result, err = client.VerifyHostingEnvironmentVnetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.BaseClient", "VerifyHostingEnvironmentVnet", resp, "Failure responding to request") + } + + return +} + +// VerifyHostingEnvironmentVnetPreparer prepares the VerifyHostingEnvironmentVnet request. +func (client BaseClient) VerifyHostingEnvironmentVnetPreparer(ctx context.Context, parameters VnetParameters) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Web/verifyHostingEnvironmentVnet", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// VerifyHostingEnvironmentVnetSender sends the VerifyHostingEnvironmentVnet request. The method will close the +// http.Response Body if it receives an error. +func (client BaseClient) VerifyHostingEnvironmentVnetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// VerifyHostingEnvironmentVnetResponder handles the response to the VerifyHostingEnvironmentVnet request. The method always +// closes the http.Response Body. +func (client BaseClient) VerifyHostingEnvironmentVnetResponder(resp *http.Response) (result VnetValidationFailureDetails, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/web/mgmt/2019-08-01/web/deletedwebapps.go b/services/web/mgmt/2019-08-01/web/deletedwebapps.go new file mode 100644 index 000000000000..46a014df4b9e --- /dev/null +++ b/services/web/mgmt/2019-08-01/web/deletedwebapps.go @@ -0,0 +1,338 @@ +package web + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// DeletedWebAppsClient is the webSite Management Client +type DeletedWebAppsClient struct { + BaseClient +} + +// NewDeletedWebAppsClient creates an instance of the DeletedWebAppsClient client. +func NewDeletedWebAppsClient(subscriptionID string) DeletedWebAppsClient { + return NewDeletedWebAppsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewDeletedWebAppsClientWithBaseURI creates an instance of the DeletedWebAppsClient client. +func NewDeletedWebAppsClientWithBaseURI(baseURI string, subscriptionID string) DeletedWebAppsClient { + return DeletedWebAppsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// GetDeletedWebAppByLocation get deleted app for a subscription at location. +// Parameters: +// deletedSiteID - the numeric ID of the deleted app, e.g. 12345 +func (client DeletedWebAppsClient) GetDeletedWebAppByLocation(ctx context.Context, location string, deletedSiteID string) (result DeletedSite, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeletedWebAppsClient.GetDeletedWebAppByLocation") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetDeletedWebAppByLocationPreparer(ctx, location, deletedSiteID) + if err != nil { + err = autorest.NewErrorWithError(err, "web.DeletedWebAppsClient", "GetDeletedWebAppByLocation", nil, "Failure preparing request") + return + } + + resp, err := client.GetDeletedWebAppByLocationSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.DeletedWebAppsClient", "GetDeletedWebAppByLocation", resp, "Failure sending request") + return + } + + result, err = client.GetDeletedWebAppByLocationResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.DeletedWebAppsClient", "GetDeletedWebAppByLocation", resp, "Failure responding to request") + } + + return +} + +// GetDeletedWebAppByLocationPreparer prepares the GetDeletedWebAppByLocation request. +func (client DeletedWebAppsClient) GetDeletedWebAppByLocationPreparer(ctx context.Context, location string, deletedSiteID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "deletedSiteId": autorest.Encode("path", deletedSiteID), + "location": autorest.Encode("path", location), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Web/locations/{location}/deletedSites/{deletedSiteId}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetDeletedWebAppByLocationSender sends the GetDeletedWebAppByLocation request. The method will close the +// http.Response Body if it receives an error. +func (client DeletedWebAppsClient) GetDeletedWebAppByLocationSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetDeletedWebAppByLocationResponder handles the response to the GetDeletedWebAppByLocation request. The method always +// closes the http.Response Body. +func (client DeletedWebAppsClient) GetDeletedWebAppByLocationResponder(resp *http.Response) (result DeletedSite, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List get all deleted apps for a subscription. +func (client DeletedWebAppsClient) List(ctx context.Context) (result DeletedWebAppCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeletedWebAppsClient.List") + defer func() { + sc := -1 + if result.dwac.Response.Response != nil { + sc = result.dwac.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "web.DeletedWebAppsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.dwac.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.DeletedWebAppsClient", "List", resp, "Failure sending request") + return + } + + result.dwac, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.DeletedWebAppsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client DeletedWebAppsClient) ListPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Web/deletedSites", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client DeletedWebAppsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client DeletedWebAppsClient) ListResponder(resp *http.Response) (result DeletedWebAppCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client DeletedWebAppsClient) listNextResults(ctx context.Context, lastResults DeletedWebAppCollection) (result DeletedWebAppCollection, err error) { + req, err := lastResults.deletedWebAppCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.DeletedWebAppsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.DeletedWebAppsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.DeletedWebAppsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client DeletedWebAppsClient) ListComplete(ctx context.Context) (result DeletedWebAppCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeletedWebAppsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx) + return +} + +// ListByLocation get all deleted apps for a subscription at location +func (client DeletedWebAppsClient) ListByLocation(ctx context.Context, location string) (result DeletedWebAppCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeletedWebAppsClient.ListByLocation") + defer func() { + sc := -1 + if result.dwac.Response.Response != nil { + sc = result.dwac.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listByLocationNextResults + req, err := client.ListByLocationPreparer(ctx, location) + if err != nil { + err = autorest.NewErrorWithError(err, "web.DeletedWebAppsClient", "ListByLocation", nil, "Failure preparing request") + return + } + + resp, err := client.ListByLocationSender(req) + if err != nil { + result.dwac.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.DeletedWebAppsClient", "ListByLocation", resp, "Failure sending request") + return + } + + result.dwac, err = client.ListByLocationResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.DeletedWebAppsClient", "ListByLocation", resp, "Failure responding to request") + } + + return +} + +// ListByLocationPreparer prepares the ListByLocation request. +func (client DeletedWebAppsClient) ListByLocationPreparer(ctx context.Context, location string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "location": autorest.Encode("path", location), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Web/locations/{location}/deletedSites", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByLocationSender sends the ListByLocation request. The method will close the +// http.Response Body if it receives an error. +func (client DeletedWebAppsClient) ListByLocationSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByLocationResponder handles the response to the ListByLocation request. The method always +// closes the http.Response Body. +func (client DeletedWebAppsClient) ListByLocationResponder(resp *http.Response) (result DeletedWebAppCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listByLocationNextResults retrieves the next set of results, if any. +func (client DeletedWebAppsClient) listByLocationNextResults(ctx context.Context, lastResults DeletedWebAppCollection) (result DeletedWebAppCollection, err error) { + req, err := lastResults.deletedWebAppCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.DeletedWebAppsClient", "listByLocationNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListByLocationSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.DeletedWebAppsClient", "listByLocationNextResults", resp, "Failure sending next results request") + } + result, err = client.ListByLocationResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.DeletedWebAppsClient", "listByLocationNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListByLocationComplete enumerates all values, automatically crossing page boundaries as required. +func (client DeletedWebAppsClient) ListByLocationComplete(ctx context.Context, location string) (result DeletedWebAppCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeletedWebAppsClient.ListByLocation") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListByLocation(ctx, location) + return +} diff --git a/services/web/mgmt/2019-08-01/web/diagnostics.go b/services/web/mgmt/2019-08-01/web/diagnostics.go new file mode 100644 index 000000000000..b6c4d90884b1 --- /dev/null +++ b/services/web/mgmt/2019-08-01/web/diagnostics.go @@ -0,0 +1,2506 @@ +package web + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/date" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// DiagnosticsClient is the webSite Management Client +type DiagnosticsClient struct { + BaseClient +} + +// NewDiagnosticsClient creates an instance of the DiagnosticsClient client. +func NewDiagnosticsClient(subscriptionID string) DiagnosticsClient { + return NewDiagnosticsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewDiagnosticsClientWithBaseURI creates an instance of the DiagnosticsClient client. +func NewDiagnosticsClientWithBaseURI(baseURI string, subscriptionID string) DiagnosticsClient { + return DiagnosticsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// ExecuteSiteAnalysis execute Analysis +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// siteName - site Name +// diagnosticCategory - category Name +// analysisName - analysis Resource Name +// startTime - start Time +// endTime - end Time +// timeGrain - time Grain +func (client DiagnosticsClient) ExecuteSiteAnalysis(ctx context.Context, resourceGroupName string, siteName string, diagnosticCategory string, analysisName string, startTime *date.Time, endTime *date.Time, timeGrain string) (result DiagnosticAnalysis, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DiagnosticsClient.ExecuteSiteAnalysis") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}, + {TargetValue: timeGrain, + Constraints: []validation.Constraint{{Target: "timeGrain", Name: validation.Empty, Rule: false, + Chain: []validation.Constraint{{Target: "timeGrain", Name: validation.Pattern, Rule: `PT[1-9][0-9]+[SMH]`, Chain: nil}}}}}}); err != nil { + return result, validation.NewError("web.DiagnosticsClient", "ExecuteSiteAnalysis", err.Error()) + } + + req, err := client.ExecuteSiteAnalysisPreparer(ctx, resourceGroupName, siteName, diagnosticCategory, analysisName, startTime, endTime, timeGrain) + if err != nil { + err = autorest.NewErrorWithError(err, "web.DiagnosticsClient", "ExecuteSiteAnalysis", nil, "Failure preparing request") + return + } + + resp, err := client.ExecuteSiteAnalysisSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.DiagnosticsClient", "ExecuteSiteAnalysis", resp, "Failure sending request") + return + } + + result, err = client.ExecuteSiteAnalysisResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.DiagnosticsClient", "ExecuteSiteAnalysis", resp, "Failure responding to request") + } + + return +} + +// ExecuteSiteAnalysisPreparer prepares the ExecuteSiteAnalysis request. +func (client DiagnosticsClient) ExecuteSiteAnalysisPreparer(ctx context.Context, resourceGroupName string, siteName string, diagnosticCategory string, analysisName string, startTime *date.Time, endTime *date.Time, timeGrain string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "analysisName": autorest.Encode("path", analysisName), + "diagnosticCategory": autorest.Encode("path", diagnosticCategory), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "siteName": autorest.Encode("path", siteName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if startTime != nil { + queryParameters["startTime"] = autorest.Encode("query", *startTime) + } + if endTime != nil { + queryParameters["endTime"] = autorest.Encode("query", *endTime) + } + if len(timeGrain) > 0 { + queryParameters["timeGrain"] = autorest.Encode("query", timeGrain) + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/diagnostics/{diagnosticCategory}/analyses/{analysisName}/execute", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ExecuteSiteAnalysisSender sends the ExecuteSiteAnalysis request. The method will close the +// http.Response Body if it receives an error. +func (client DiagnosticsClient) ExecuteSiteAnalysisSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ExecuteSiteAnalysisResponder handles the response to the ExecuteSiteAnalysis request. The method always +// closes the http.Response Body. +func (client DiagnosticsClient) ExecuteSiteAnalysisResponder(resp *http.Response) (result DiagnosticAnalysis, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ExecuteSiteAnalysisSlot execute Analysis +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// siteName - site Name +// diagnosticCategory - category Name +// analysisName - analysis Resource Name +// slot - slot Name +// startTime - start Time +// endTime - end Time +// timeGrain - time Grain +func (client DiagnosticsClient) ExecuteSiteAnalysisSlot(ctx context.Context, resourceGroupName string, siteName string, diagnosticCategory string, analysisName string, slot string, startTime *date.Time, endTime *date.Time, timeGrain string) (result DiagnosticAnalysis, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DiagnosticsClient.ExecuteSiteAnalysisSlot") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}, + {TargetValue: timeGrain, + Constraints: []validation.Constraint{{Target: "timeGrain", Name: validation.Empty, Rule: false, + Chain: []validation.Constraint{{Target: "timeGrain", Name: validation.Pattern, Rule: `PT[1-9][0-9]+[SMH]`, Chain: nil}}}}}}); err != nil { + return result, validation.NewError("web.DiagnosticsClient", "ExecuteSiteAnalysisSlot", err.Error()) + } + + req, err := client.ExecuteSiteAnalysisSlotPreparer(ctx, resourceGroupName, siteName, diagnosticCategory, analysisName, slot, startTime, endTime, timeGrain) + if err != nil { + err = autorest.NewErrorWithError(err, "web.DiagnosticsClient", "ExecuteSiteAnalysisSlot", nil, "Failure preparing request") + return + } + + resp, err := client.ExecuteSiteAnalysisSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.DiagnosticsClient", "ExecuteSiteAnalysisSlot", resp, "Failure sending request") + return + } + + result, err = client.ExecuteSiteAnalysisSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.DiagnosticsClient", "ExecuteSiteAnalysisSlot", resp, "Failure responding to request") + } + + return +} + +// ExecuteSiteAnalysisSlotPreparer prepares the ExecuteSiteAnalysisSlot request. +func (client DiagnosticsClient) ExecuteSiteAnalysisSlotPreparer(ctx context.Context, resourceGroupName string, siteName string, diagnosticCategory string, analysisName string, slot string, startTime *date.Time, endTime *date.Time, timeGrain string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "analysisName": autorest.Encode("path", analysisName), + "diagnosticCategory": autorest.Encode("path", diagnosticCategory), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "siteName": autorest.Encode("path", siteName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if startTime != nil { + queryParameters["startTime"] = autorest.Encode("query", *startTime) + } + if endTime != nil { + queryParameters["endTime"] = autorest.Encode("query", *endTime) + } + if len(timeGrain) > 0 { + queryParameters["timeGrain"] = autorest.Encode("query", timeGrain) + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/diagnostics/{diagnosticCategory}/analyses/{analysisName}/execute", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ExecuteSiteAnalysisSlotSender sends the ExecuteSiteAnalysisSlot request. The method will close the +// http.Response Body if it receives an error. +func (client DiagnosticsClient) ExecuteSiteAnalysisSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ExecuteSiteAnalysisSlotResponder handles the response to the ExecuteSiteAnalysisSlot request. The method always +// closes the http.Response Body. +func (client DiagnosticsClient) ExecuteSiteAnalysisSlotResponder(resp *http.Response) (result DiagnosticAnalysis, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ExecuteSiteDetector execute Detector +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// siteName - site Name +// detectorName - detector Resource Name +// diagnosticCategory - category Name +// startTime - start Time +// endTime - end Time +// timeGrain - time Grain +func (client DiagnosticsClient) ExecuteSiteDetector(ctx context.Context, resourceGroupName string, siteName string, detectorName string, diagnosticCategory string, startTime *date.Time, endTime *date.Time, timeGrain string) (result DiagnosticDetectorResponse, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DiagnosticsClient.ExecuteSiteDetector") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}, + {TargetValue: timeGrain, + Constraints: []validation.Constraint{{Target: "timeGrain", Name: validation.Empty, Rule: false, + Chain: []validation.Constraint{{Target: "timeGrain", Name: validation.Pattern, Rule: `PT[1-9][0-9]+[SMH]`, Chain: nil}}}}}}); err != nil { + return result, validation.NewError("web.DiagnosticsClient", "ExecuteSiteDetector", err.Error()) + } + + req, err := client.ExecuteSiteDetectorPreparer(ctx, resourceGroupName, siteName, detectorName, diagnosticCategory, startTime, endTime, timeGrain) + if err != nil { + err = autorest.NewErrorWithError(err, "web.DiagnosticsClient", "ExecuteSiteDetector", nil, "Failure preparing request") + return + } + + resp, err := client.ExecuteSiteDetectorSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.DiagnosticsClient", "ExecuteSiteDetector", resp, "Failure sending request") + return + } + + result, err = client.ExecuteSiteDetectorResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.DiagnosticsClient", "ExecuteSiteDetector", resp, "Failure responding to request") + } + + return +} + +// ExecuteSiteDetectorPreparer prepares the ExecuteSiteDetector request. +func (client DiagnosticsClient) ExecuteSiteDetectorPreparer(ctx context.Context, resourceGroupName string, siteName string, detectorName string, diagnosticCategory string, startTime *date.Time, endTime *date.Time, timeGrain string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "detectorName": autorest.Encode("path", detectorName), + "diagnosticCategory": autorest.Encode("path", diagnosticCategory), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "siteName": autorest.Encode("path", siteName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if startTime != nil { + queryParameters["startTime"] = autorest.Encode("query", *startTime) + } + if endTime != nil { + queryParameters["endTime"] = autorest.Encode("query", *endTime) + } + if len(timeGrain) > 0 { + queryParameters["timeGrain"] = autorest.Encode("query", timeGrain) + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/diagnostics/{diagnosticCategory}/detectors/{detectorName}/execute", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ExecuteSiteDetectorSender sends the ExecuteSiteDetector request. The method will close the +// http.Response Body if it receives an error. +func (client DiagnosticsClient) ExecuteSiteDetectorSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ExecuteSiteDetectorResponder handles the response to the ExecuteSiteDetector request. The method always +// closes the http.Response Body. +func (client DiagnosticsClient) ExecuteSiteDetectorResponder(resp *http.Response) (result DiagnosticDetectorResponse, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ExecuteSiteDetectorSlot execute Detector +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// siteName - site Name +// detectorName - detector Resource Name +// diagnosticCategory - category Name +// slot - slot Name +// startTime - start Time +// endTime - end Time +// timeGrain - time Grain +func (client DiagnosticsClient) ExecuteSiteDetectorSlot(ctx context.Context, resourceGroupName string, siteName string, detectorName string, diagnosticCategory string, slot string, startTime *date.Time, endTime *date.Time, timeGrain string) (result DiagnosticDetectorResponse, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DiagnosticsClient.ExecuteSiteDetectorSlot") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}, + {TargetValue: timeGrain, + Constraints: []validation.Constraint{{Target: "timeGrain", Name: validation.Empty, Rule: false, + Chain: []validation.Constraint{{Target: "timeGrain", Name: validation.Pattern, Rule: `PT[1-9][0-9]+[SMH]`, Chain: nil}}}}}}); err != nil { + return result, validation.NewError("web.DiagnosticsClient", "ExecuteSiteDetectorSlot", err.Error()) + } + + req, err := client.ExecuteSiteDetectorSlotPreparer(ctx, resourceGroupName, siteName, detectorName, diagnosticCategory, slot, startTime, endTime, timeGrain) + if err != nil { + err = autorest.NewErrorWithError(err, "web.DiagnosticsClient", "ExecuteSiteDetectorSlot", nil, "Failure preparing request") + return + } + + resp, err := client.ExecuteSiteDetectorSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.DiagnosticsClient", "ExecuteSiteDetectorSlot", resp, "Failure sending request") + return + } + + result, err = client.ExecuteSiteDetectorSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.DiagnosticsClient", "ExecuteSiteDetectorSlot", resp, "Failure responding to request") + } + + return +} + +// ExecuteSiteDetectorSlotPreparer prepares the ExecuteSiteDetectorSlot request. +func (client DiagnosticsClient) ExecuteSiteDetectorSlotPreparer(ctx context.Context, resourceGroupName string, siteName string, detectorName string, diagnosticCategory string, slot string, startTime *date.Time, endTime *date.Time, timeGrain string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "detectorName": autorest.Encode("path", detectorName), + "diagnosticCategory": autorest.Encode("path", diagnosticCategory), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "siteName": autorest.Encode("path", siteName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if startTime != nil { + queryParameters["startTime"] = autorest.Encode("query", *startTime) + } + if endTime != nil { + queryParameters["endTime"] = autorest.Encode("query", *endTime) + } + if len(timeGrain) > 0 { + queryParameters["timeGrain"] = autorest.Encode("query", timeGrain) + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/diagnostics/{diagnosticCategory}/detectors/{detectorName}/execute", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ExecuteSiteDetectorSlotSender sends the ExecuteSiteDetectorSlot request. The method will close the +// http.Response Body if it receives an error. +func (client DiagnosticsClient) ExecuteSiteDetectorSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ExecuteSiteDetectorSlotResponder handles the response to the ExecuteSiteDetectorSlot request. The method always +// closes the http.Response Body. +func (client DiagnosticsClient) ExecuteSiteDetectorSlotResponder(resp *http.Response) (result DiagnosticDetectorResponse, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetHostingEnvironmentDetectorResponse get Hosting Environment Detector Response +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - app Service Environment Name +// detectorName - detector Resource Name +// startTime - start Time +// endTime - end Time +// timeGrain - time Grain +func (client DiagnosticsClient) GetHostingEnvironmentDetectorResponse(ctx context.Context, resourceGroupName string, name string, detectorName string, startTime *date.Time, endTime *date.Time, timeGrain string) (result DetectorResponse, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DiagnosticsClient.GetHostingEnvironmentDetectorResponse") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}, + {TargetValue: timeGrain, + Constraints: []validation.Constraint{{Target: "timeGrain", Name: validation.Empty, Rule: false, + Chain: []validation.Constraint{{Target: "timeGrain", Name: validation.Pattern, Rule: `PT[1-9][0-9]+[SMH]`, Chain: nil}}}}}}); err != nil { + return result, validation.NewError("web.DiagnosticsClient", "GetHostingEnvironmentDetectorResponse", err.Error()) + } + + req, err := client.GetHostingEnvironmentDetectorResponsePreparer(ctx, resourceGroupName, name, detectorName, startTime, endTime, timeGrain) + if err != nil { + err = autorest.NewErrorWithError(err, "web.DiagnosticsClient", "GetHostingEnvironmentDetectorResponse", nil, "Failure preparing request") + return + } + + resp, err := client.GetHostingEnvironmentDetectorResponseSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.DiagnosticsClient", "GetHostingEnvironmentDetectorResponse", resp, "Failure sending request") + return + } + + result, err = client.GetHostingEnvironmentDetectorResponseResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.DiagnosticsClient", "GetHostingEnvironmentDetectorResponse", resp, "Failure responding to request") + } + + return +} + +// GetHostingEnvironmentDetectorResponsePreparer prepares the GetHostingEnvironmentDetectorResponse request. +func (client DiagnosticsClient) GetHostingEnvironmentDetectorResponsePreparer(ctx context.Context, resourceGroupName string, name string, detectorName string, startTime *date.Time, endTime *date.Time, timeGrain string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "detectorName": autorest.Encode("path", detectorName), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if startTime != nil { + queryParameters["startTime"] = autorest.Encode("query", *startTime) + } + if endTime != nil { + queryParameters["endTime"] = autorest.Encode("query", *endTime) + } + if len(timeGrain) > 0 { + queryParameters["timeGrain"] = autorest.Encode("query", timeGrain) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/detectors/{detectorName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetHostingEnvironmentDetectorResponseSender sends the GetHostingEnvironmentDetectorResponse request. The method will close the +// http.Response Body if it receives an error. +func (client DiagnosticsClient) GetHostingEnvironmentDetectorResponseSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetHostingEnvironmentDetectorResponseResponder handles the response to the GetHostingEnvironmentDetectorResponse request. The method always +// closes the http.Response Body. +func (client DiagnosticsClient) GetHostingEnvironmentDetectorResponseResponder(resp *http.Response) (result DetectorResponse, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetSiteAnalysis get Site Analysis +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// siteName - site Name +// diagnosticCategory - diagnostic Category +// analysisName - analysis Name +func (client DiagnosticsClient) GetSiteAnalysis(ctx context.Context, resourceGroupName string, siteName string, diagnosticCategory string, analysisName string) (result DiagnosticAnalysis, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DiagnosticsClient.GetSiteAnalysis") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.DiagnosticsClient", "GetSiteAnalysis", err.Error()) + } + + req, err := client.GetSiteAnalysisPreparer(ctx, resourceGroupName, siteName, diagnosticCategory, analysisName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.DiagnosticsClient", "GetSiteAnalysis", nil, "Failure preparing request") + return + } + + resp, err := client.GetSiteAnalysisSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.DiagnosticsClient", "GetSiteAnalysis", resp, "Failure sending request") + return + } + + result, err = client.GetSiteAnalysisResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.DiagnosticsClient", "GetSiteAnalysis", resp, "Failure responding to request") + } + + return +} + +// GetSiteAnalysisPreparer prepares the GetSiteAnalysis request. +func (client DiagnosticsClient) GetSiteAnalysisPreparer(ctx context.Context, resourceGroupName string, siteName string, diagnosticCategory string, analysisName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "analysisName": autorest.Encode("path", analysisName), + "diagnosticCategory": autorest.Encode("path", diagnosticCategory), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "siteName": autorest.Encode("path", siteName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/diagnostics/{diagnosticCategory}/analyses/{analysisName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSiteAnalysisSender sends the GetSiteAnalysis request. The method will close the +// http.Response Body if it receives an error. +func (client DiagnosticsClient) GetSiteAnalysisSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetSiteAnalysisResponder handles the response to the GetSiteAnalysis request. The method always +// closes the http.Response Body. +func (client DiagnosticsClient) GetSiteAnalysisResponder(resp *http.Response) (result DiagnosticAnalysis, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetSiteAnalysisSlot get Site Analysis +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// siteName - site Name +// diagnosticCategory - diagnostic Category +// analysisName - analysis Name +// slot - slot - optional +func (client DiagnosticsClient) GetSiteAnalysisSlot(ctx context.Context, resourceGroupName string, siteName string, diagnosticCategory string, analysisName string, slot string) (result DiagnosticAnalysis, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DiagnosticsClient.GetSiteAnalysisSlot") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.DiagnosticsClient", "GetSiteAnalysisSlot", err.Error()) + } + + req, err := client.GetSiteAnalysisSlotPreparer(ctx, resourceGroupName, siteName, diagnosticCategory, analysisName, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.DiagnosticsClient", "GetSiteAnalysisSlot", nil, "Failure preparing request") + return + } + + resp, err := client.GetSiteAnalysisSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.DiagnosticsClient", "GetSiteAnalysisSlot", resp, "Failure sending request") + return + } + + result, err = client.GetSiteAnalysisSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.DiagnosticsClient", "GetSiteAnalysisSlot", resp, "Failure responding to request") + } + + return +} + +// GetSiteAnalysisSlotPreparer prepares the GetSiteAnalysisSlot request. +func (client DiagnosticsClient) GetSiteAnalysisSlotPreparer(ctx context.Context, resourceGroupName string, siteName string, diagnosticCategory string, analysisName string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "analysisName": autorest.Encode("path", analysisName), + "diagnosticCategory": autorest.Encode("path", diagnosticCategory), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "siteName": autorest.Encode("path", siteName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/diagnostics/{diagnosticCategory}/analyses/{analysisName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSiteAnalysisSlotSender sends the GetSiteAnalysisSlot request. The method will close the +// http.Response Body if it receives an error. +func (client DiagnosticsClient) GetSiteAnalysisSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetSiteAnalysisSlotResponder handles the response to the GetSiteAnalysisSlot request. The method always +// closes the http.Response Body. +func (client DiagnosticsClient) GetSiteAnalysisSlotResponder(resp *http.Response) (result DiagnosticAnalysis, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetSiteDetector get Detector +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// siteName - site Name +// diagnosticCategory - diagnostic Category +// detectorName - detector Name +func (client DiagnosticsClient) GetSiteDetector(ctx context.Context, resourceGroupName string, siteName string, diagnosticCategory string, detectorName string) (result DiagnosticDetectorCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DiagnosticsClient.GetSiteDetector") + defer func() { + sc := -1 + if result.ddc.Response.Response != nil { + sc = result.ddc.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.DiagnosticsClient", "GetSiteDetector", err.Error()) + } + + result.fn = client.getSiteDetectorNextResults + req, err := client.GetSiteDetectorPreparer(ctx, resourceGroupName, siteName, diagnosticCategory, detectorName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.DiagnosticsClient", "GetSiteDetector", nil, "Failure preparing request") + return + } + + resp, err := client.GetSiteDetectorSender(req) + if err != nil { + result.ddc.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.DiagnosticsClient", "GetSiteDetector", resp, "Failure sending request") + return + } + + result.ddc, err = client.GetSiteDetectorResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.DiagnosticsClient", "GetSiteDetector", resp, "Failure responding to request") + } + + return +} + +// GetSiteDetectorPreparer prepares the GetSiteDetector request. +func (client DiagnosticsClient) GetSiteDetectorPreparer(ctx context.Context, resourceGroupName string, siteName string, diagnosticCategory string, detectorName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "detectorName": autorest.Encode("path", detectorName), + "diagnosticCategory": autorest.Encode("path", diagnosticCategory), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "siteName": autorest.Encode("path", siteName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/diagnostics/{diagnosticCategory}/detectors/{detectorName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSiteDetectorSender sends the GetSiteDetector request. The method will close the +// http.Response Body if it receives an error. +func (client DiagnosticsClient) GetSiteDetectorSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetSiteDetectorResponder handles the response to the GetSiteDetector request. The method always +// closes the http.Response Body. +func (client DiagnosticsClient) GetSiteDetectorResponder(resp *http.Response) (result DiagnosticDetectorCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// getSiteDetectorNextResults retrieves the next set of results, if any. +func (client DiagnosticsClient) getSiteDetectorNextResults(ctx context.Context, lastResults DiagnosticDetectorCollection) (result DiagnosticDetectorCollection, err error) { + req, err := lastResults.diagnosticDetectorCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.DiagnosticsClient", "getSiteDetectorNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.GetSiteDetectorSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.DiagnosticsClient", "getSiteDetectorNextResults", resp, "Failure sending next results request") + } + result, err = client.GetSiteDetectorResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.DiagnosticsClient", "getSiteDetectorNextResults", resp, "Failure responding to next results request") + } + return +} + +// GetSiteDetectorComplete enumerates all values, automatically crossing page boundaries as required. +func (client DiagnosticsClient) GetSiteDetectorComplete(ctx context.Context, resourceGroupName string, siteName string, diagnosticCategory string, detectorName string) (result DiagnosticDetectorCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DiagnosticsClient.GetSiteDetector") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.GetSiteDetector(ctx, resourceGroupName, siteName, diagnosticCategory, detectorName) + return +} + +// GetSiteDetectorResponse get site detector response +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// siteName - site Name +// detectorName - detector Resource Name +// startTime - start Time +// endTime - end Time +// timeGrain - time Grain +func (client DiagnosticsClient) GetSiteDetectorResponse(ctx context.Context, resourceGroupName string, siteName string, detectorName string, startTime *date.Time, endTime *date.Time, timeGrain string) (result DetectorResponse, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DiagnosticsClient.GetSiteDetectorResponse") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}, + {TargetValue: timeGrain, + Constraints: []validation.Constraint{{Target: "timeGrain", Name: validation.Empty, Rule: false, + Chain: []validation.Constraint{{Target: "timeGrain", Name: validation.Pattern, Rule: `PT[1-9][0-9]+[SMH]`, Chain: nil}}}}}}); err != nil { + return result, validation.NewError("web.DiagnosticsClient", "GetSiteDetectorResponse", err.Error()) + } + + req, err := client.GetSiteDetectorResponsePreparer(ctx, resourceGroupName, siteName, detectorName, startTime, endTime, timeGrain) + if err != nil { + err = autorest.NewErrorWithError(err, "web.DiagnosticsClient", "GetSiteDetectorResponse", nil, "Failure preparing request") + return + } + + resp, err := client.GetSiteDetectorResponseSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.DiagnosticsClient", "GetSiteDetectorResponse", resp, "Failure sending request") + return + } + + result, err = client.GetSiteDetectorResponseResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.DiagnosticsClient", "GetSiteDetectorResponse", resp, "Failure responding to request") + } + + return +} + +// GetSiteDetectorResponsePreparer prepares the GetSiteDetectorResponse request. +func (client DiagnosticsClient) GetSiteDetectorResponsePreparer(ctx context.Context, resourceGroupName string, siteName string, detectorName string, startTime *date.Time, endTime *date.Time, timeGrain string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "detectorName": autorest.Encode("path", detectorName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "siteName": autorest.Encode("path", siteName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if startTime != nil { + queryParameters["startTime"] = autorest.Encode("query", *startTime) + } + if endTime != nil { + queryParameters["endTime"] = autorest.Encode("query", *endTime) + } + if len(timeGrain) > 0 { + queryParameters["timeGrain"] = autorest.Encode("query", timeGrain) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/detectors/{detectorName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSiteDetectorResponseSender sends the GetSiteDetectorResponse request. The method will close the +// http.Response Body if it receives an error. +func (client DiagnosticsClient) GetSiteDetectorResponseSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetSiteDetectorResponseResponder handles the response to the GetSiteDetectorResponse request. The method always +// closes the http.Response Body. +func (client DiagnosticsClient) GetSiteDetectorResponseResponder(resp *http.Response) (result DetectorResponse, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetSiteDetectorResponseSlot get site detector response +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// siteName - site Name +// detectorName - detector Resource Name +// slot - slot Name +// startTime - start Time +// endTime - end Time +// timeGrain - time Grain +func (client DiagnosticsClient) GetSiteDetectorResponseSlot(ctx context.Context, resourceGroupName string, siteName string, detectorName string, slot string, startTime *date.Time, endTime *date.Time, timeGrain string) (result DetectorResponse, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DiagnosticsClient.GetSiteDetectorResponseSlot") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}, + {TargetValue: timeGrain, + Constraints: []validation.Constraint{{Target: "timeGrain", Name: validation.Empty, Rule: false, + Chain: []validation.Constraint{{Target: "timeGrain", Name: validation.Pattern, Rule: `PT[1-9][0-9]+[SMH]`, Chain: nil}}}}}}); err != nil { + return result, validation.NewError("web.DiagnosticsClient", "GetSiteDetectorResponseSlot", err.Error()) + } + + req, err := client.GetSiteDetectorResponseSlotPreparer(ctx, resourceGroupName, siteName, detectorName, slot, startTime, endTime, timeGrain) + if err != nil { + err = autorest.NewErrorWithError(err, "web.DiagnosticsClient", "GetSiteDetectorResponseSlot", nil, "Failure preparing request") + return + } + + resp, err := client.GetSiteDetectorResponseSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.DiagnosticsClient", "GetSiteDetectorResponseSlot", resp, "Failure sending request") + return + } + + result, err = client.GetSiteDetectorResponseSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.DiagnosticsClient", "GetSiteDetectorResponseSlot", resp, "Failure responding to request") + } + + return +} + +// GetSiteDetectorResponseSlotPreparer prepares the GetSiteDetectorResponseSlot request. +func (client DiagnosticsClient) GetSiteDetectorResponseSlotPreparer(ctx context.Context, resourceGroupName string, siteName string, detectorName string, slot string, startTime *date.Time, endTime *date.Time, timeGrain string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "detectorName": autorest.Encode("path", detectorName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "siteName": autorest.Encode("path", siteName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if startTime != nil { + queryParameters["startTime"] = autorest.Encode("query", *startTime) + } + if endTime != nil { + queryParameters["endTime"] = autorest.Encode("query", *endTime) + } + if len(timeGrain) > 0 { + queryParameters["timeGrain"] = autorest.Encode("query", timeGrain) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/detectors/{detectorName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSiteDetectorResponseSlotSender sends the GetSiteDetectorResponseSlot request. The method will close the +// http.Response Body if it receives an error. +func (client DiagnosticsClient) GetSiteDetectorResponseSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetSiteDetectorResponseSlotResponder handles the response to the GetSiteDetectorResponseSlot request. The method always +// closes the http.Response Body. +func (client DiagnosticsClient) GetSiteDetectorResponseSlotResponder(resp *http.Response) (result DetectorResponse, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetSiteDetectorSlot get Detector +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// siteName - site Name +// diagnosticCategory - diagnostic Category +// detectorName - detector Name +// slot - slot Name +func (client DiagnosticsClient) GetSiteDetectorSlot(ctx context.Context, resourceGroupName string, siteName string, diagnosticCategory string, detectorName string, slot string) (result DiagnosticDetectorCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DiagnosticsClient.GetSiteDetectorSlot") + defer func() { + sc := -1 + if result.ddc.Response.Response != nil { + sc = result.ddc.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.DiagnosticsClient", "GetSiteDetectorSlot", err.Error()) + } + + result.fn = client.getSiteDetectorSlotNextResults + req, err := client.GetSiteDetectorSlotPreparer(ctx, resourceGroupName, siteName, diagnosticCategory, detectorName, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.DiagnosticsClient", "GetSiteDetectorSlot", nil, "Failure preparing request") + return + } + + resp, err := client.GetSiteDetectorSlotSender(req) + if err != nil { + result.ddc.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.DiagnosticsClient", "GetSiteDetectorSlot", resp, "Failure sending request") + return + } + + result.ddc, err = client.GetSiteDetectorSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.DiagnosticsClient", "GetSiteDetectorSlot", resp, "Failure responding to request") + } + + return +} + +// GetSiteDetectorSlotPreparer prepares the GetSiteDetectorSlot request. +func (client DiagnosticsClient) GetSiteDetectorSlotPreparer(ctx context.Context, resourceGroupName string, siteName string, diagnosticCategory string, detectorName string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "detectorName": autorest.Encode("path", detectorName), + "diagnosticCategory": autorest.Encode("path", diagnosticCategory), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "siteName": autorest.Encode("path", siteName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/diagnostics/{diagnosticCategory}/detectors/{detectorName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSiteDetectorSlotSender sends the GetSiteDetectorSlot request. The method will close the +// http.Response Body if it receives an error. +func (client DiagnosticsClient) GetSiteDetectorSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetSiteDetectorSlotResponder handles the response to the GetSiteDetectorSlot request. The method always +// closes the http.Response Body. +func (client DiagnosticsClient) GetSiteDetectorSlotResponder(resp *http.Response) (result DiagnosticDetectorCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// getSiteDetectorSlotNextResults retrieves the next set of results, if any. +func (client DiagnosticsClient) getSiteDetectorSlotNextResults(ctx context.Context, lastResults DiagnosticDetectorCollection) (result DiagnosticDetectorCollection, err error) { + req, err := lastResults.diagnosticDetectorCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.DiagnosticsClient", "getSiteDetectorSlotNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.GetSiteDetectorSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.DiagnosticsClient", "getSiteDetectorSlotNextResults", resp, "Failure sending next results request") + } + result, err = client.GetSiteDetectorSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.DiagnosticsClient", "getSiteDetectorSlotNextResults", resp, "Failure responding to next results request") + } + return +} + +// GetSiteDetectorSlotComplete enumerates all values, automatically crossing page boundaries as required. +func (client DiagnosticsClient) GetSiteDetectorSlotComplete(ctx context.Context, resourceGroupName string, siteName string, diagnosticCategory string, detectorName string, slot string) (result DiagnosticDetectorCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DiagnosticsClient.GetSiteDetectorSlot") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.GetSiteDetectorSlot(ctx, resourceGroupName, siteName, diagnosticCategory, detectorName, slot) + return +} + +// GetSiteDiagnosticCategory get Diagnostics Category +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// siteName - site Name +// diagnosticCategory - diagnostic Category +func (client DiagnosticsClient) GetSiteDiagnosticCategory(ctx context.Context, resourceGroupName string, siteName string, diagnosticCategory string) (result DiagnosticCategory, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DiagnosticsClient.GetSiteDiagnosticCategory") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.DiagnosticsClient", "GetSiteDiagnosticCategory", err.Error()) + } + + req, err := client.GetSiteDiagnosticCategoryPreparer(ctx, resourceGroupName, siteName, diagnosticCategory) + if err != nil { + err = autorest.NewErrorWithError(err, "web.DiagnosticsClient", "GetSiteDiagnosticCategory", nil, "Failure preparing request") + return + } + + resp, err := client.GetSiteDiagnosticCategorySender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.DiagnosticsClient", "GetSiteDiagnosticCategory", resp, "Failure sending request") + return + } + + result, err = client.GetSiteDiagnosticCategoryResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.DiagnosticsClient", "GetSiteDiagnosticCategory", resp, "Failure responding to request") + } + + return +} + +// GetSiteDiagnosticCategoryPreparer prepares the GetSiteDiagnosticCategory request. +func (client DiagnosticsClient) GetSiteDiagnosticCategoryPreparer(ctx context.Context, resourceGroupName string, siteName string, diagnosticCategory string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "diagnosticCategory": autorest.Encode("path", diagnosticCategory), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "siteName": autorest.Encode("path", siteName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/diagnostics/{diagnosticCategory}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSiteDiagnosticCategorySender sends the GetSiteDiagnosticCategory request. The method will close the +// http.Response Body if it receives an error. +func (client DiagnosticsClient) GetSiteDiagnosticCategorySender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetSiteDiagnosticCategoryResponder handles the response to the GetSiteDiagnosticCategory request. The method always +// closes the http.Response Body. +func (client DiagnosticsClient) GetSiteDiagnosticCategoryResponder(resp *http.Response) (result DiagnosticCategory, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetSiteDiagnosticCategorySlot get Diagnostics Category +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// siteName - site Name +// diagnosticCategory - diagnostic Category +// slot - slot Name +func (client DiagnosticsClient) GetSiteDiagnosticCategorySlot(ctx context.Context, resourceGroupName string, siteName string, diagnosticCategory string, slot string) (result DiagnosticCategory, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DiagnosticsClient.GetSiteDiagnosticCategorySlot") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.DiagnosticsClient", "GetSiteDiagnosticCategorySlot", err.Error()) + } + + req, err := client.GetSiteDiagnosticCategorySlotPreparer(ctx, resourceGroupName, siteName, diagnosticCategory, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.DiagnosticsClient", "GetSiteDiagnosticCategorySlot", nil, "Failure preparing request") + return + } + + resp, err := client.GetSiteDiagnosticCategorySlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.DiagnosticsClient", "GetSiteDiagnosticCategorySlot", resp, "Failure sending request") + return + } + + result, err = client.GetSiteDiagnosticCategorySlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.DiagnosticsClient", "GetSiteDiagnosticCategorySlot", resp, "Failure responding to request") + } + + return +} + +// GetSiteDiagnosticCategorySlotPreparer prepares the GetSiteDiagnosticCategorySlot request. +func (client DiagnosticsClient) GetSiteDiagnosticCategorySlotPreparer(ctx context.Context, resourceGroupName string, siteName string, diagnosticCategory string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "diagnosticCategory": autorest.Encode("path", diagnosticCategory), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "siteName": autorest.Encode("path", siteName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/diagnostics/{diagnosticCategory}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSiteDiagnosticCategorySlotSender sends the GetSiteDiagnosticCategorySlot request. The method will close the +// http.Response Body if it receives an error. +func (client DiagnosticsClient) GetSiteDiagnosticCategorySlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetSiteDiagnosticCategorySlotResponder handles the response to the GetSiteDiagnosticCategorySlot request. The method always +// closes the http.Response Body. +func (client DiagnosticsClient) GetSiteDiagnosticCategorySlotResponder(resp *http.Response) (result DiagnosticCategory, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// ListHostingEnvironmentDetectorResponses list Hosting Environment Detector Responses +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - site Name +func (client DiagnosticsClient) ListHostingEnvironmentDetectorResponses(ctx context.Context, resourceGroupName string, name string) (result DetectorResponseCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DiagnosticsClient.ListHostingEnvironmentDetectorResponses") + defer func() { + sc := -1 + if result.drc.Response.Response != nil { + sc = result.drc.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.DiagnosticsClient", "ListHostingEnvironmentDetectorResponses", err.Error()) + } + + result.fn = client.listHostingEnvironmentDetectorResponsesNextResults + req, err := client.ListHostingEnvironmentDetectorResponsesPreparer(ctx, resourceGroupName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.DiagnosticsClient", "ListHostingEnvironmentDetectorResponses", nil, "Failure preparing request") + return + } + + resp, err := client.ListHostingEnvironmentDetectorResponsesSender(req) + if err != nil { + result.drc.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.DiagnosticsClient", "ListHostingEnvironmentDetectorResponses", resp, "Failure sending request") + return + } + + result.drc, err = client.ListHostingEnvironmentDetectorResponsesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.DiagnosticsClient", "ListHostingEnvironmentDetectorResponses", resp, "Failure responding to request") + } + + return +} + +// ListHostingEnvironmentDetectorResponsesPreparer prepares the ListHostingEnvironmentDetectorResponses request. +func (client DiagnosticsClient) ListHostingEnvironmentDetectorResponsesPreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/detectors", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListHostingEnvironmentDetectorResponsesSender sends the ListHostingEnvironmentDetectorResponses request. The method will close the +// http.Response Body if it receives an error. +func (client DiagnosticsClient) ListHostingEnvironmentDetectorResponsesSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListHostingEnvironmentDetectorResponsesResponder handles the response to the ListHostingEnvironmentDetectorResponses request. The method always +// closes the http.Response Body. +func (client DiagnosticsClient) ListHostingEnvironmentDetectorResponsesResponder(resp *http.Response) (result DetectorResponseCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listHostingEnvironmentDetectorResponsesNextResults retrieves the next set of results, if any. +func (client DiagnosticsClient) listHostingEnvironmentDetectorResponsesNextResults(ctx context.Context, lastResults DetectorResponseCollection) (result DetectorResponseCollection, err error) { + req, err := lastResults.detectorResponseCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.DiagnosticsClient", "listHostingEnvironmentDetectorResponsesNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListHostingEnvironmentDetectorResponsesSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.DiagnosticsClient", "listHostingEnvironmentDetectorResponsesNextResults", resp, "Failure sending next results request") + } + result, err = client.ListHostingEnvironmentDetectorResponsesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.DiagnosticsClient", "listHostingEnvironmentDetectorResponsesNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListHostingEnvironmentDetectorResponsesComplete enumerates all values, automatically crossing page boundaries as required. +func (client DiagnosticsClient) ListHostingEnvironmentDetectorResponsesComplete(ctx context.Context, resourceGroupName string, name string) (result DetectorResponseCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DiagnosticsClient.ListHostingEnvironmentDetectorResponses") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListHostingEnvironmentDetectorResponses(ctx, resourceGroupName, name) + return +} + +// ListSiteAnalyses get Site Analyses +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// siteName - site Name +// diagnosticCategory - diagnostic Category +func (client DiagnosticsClient) ListSiteAnalyses(ctx context.Context, resourceGroupName string, siteName string, diagnosticCategory string) (result DiagnosticAnalysisCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DiagnosticsClient.ListSiteAnalyses") + defer func() { + sc := -1 + if result.dac.Response.Response != nil { + sc = result.dac.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.DiagnosticsClient", "ListSiteAnalyses", err.Error()) + } + + result.fn = client.listSiteAnalysesNextResults + req, err := client.ListSiteAnalysesPreparer(ctx, resourceGroupName, siteName, diagnosticCategory) + if err != nil { + err = autorest.NewErrorWithError(err, "web.DiagnosticsClient", "ListSiteAnalyses", nil, "Failure preparing request") + return + } + + resp, err := client.ListSiteAnalysesSender(req) + if err != nil { + result.dac.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.DiagnosticsClient", "ListSiteAnalyses", resp, "Failure sending request") + return + } + + result.dac, err = client.ListSiteAnalysesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.DiagnosticsClient", "ListSiteAnalyses", resp, "Failure responding to request") + } + + return +} + +// ListSiteAnalysesPreparer prepares the ListSiteAnalyses request. +func (client DiagnosticsClient) ListSiteAnalysesPreparer(ctx context.Context, resourceGroupName string, siteName string, diagnosticCategory string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "diagnosticCategory": autorest.Encode("path", diagnosticCategory), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "siteName": autorest.Encode("path", siteName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/diagnostics/{diagnosticCategory}/analyses", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSiteAnalysesSender sends the ListSiteAnalyses request. The method will close the +// http.Response Body if it receives an error. +func (client DiagnosticsClient) ListSiteAnalysesSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListSiteAnalysesResponder handles the response to the ListSiteAnalyses request. The method always +// closes the http.Response Body. +func (client DiagnosticsClient) ListSiteAnalysesResponder(resp *http.Response) (result DiagnosticAnalysisCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listSiteAnalysesNextResults retrieves the next set of results, if any. +func (client DiagnosticsClient) listSiteAnalysesNextResults(ctx context.Context, lastResults DiagnosticAnalysisCollection) (result DiagnosticAnalysisCollection, err error) { + req, err := lastResults.diagnosticAnalysisCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.DiagnosticsClient", "listSiteAnalysesNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSiteAnalysesSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.DiagnosticsClient", "listSiteAnalysesNextResults", resp, "Failure sending next results request") + } + result, err = client.ListSiteAnalysesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.DiagnosticsClient", "listSiteAnalysesNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListSiteAnalysesComplete enumerates all values, automatically crossing page boundaries as required. +func (client DiagnosticsClient) ListSiteAnalysesComplete(ctx context.Context, resourceGroupName string, siteName string, diagnosticCategory string) (result DiagnosticAnalysisCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DiagnosticsClient.ListSiteAnalyses") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListSiteAnalyses(ctx, resourceGroupName, siteName, diagnosticCategory) + return +} + +// ListSiteAnalysesSlot get Site Analyses +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// siteName - site Name +// diagnosticCategory - diagnostic Category +// slot - slot Name +func (client DiagnosticsClient) ListSiteAnalysesSlot(ctx context.Context, resourceGroupName string, siteName string, diagnosticCategory string, slot string) (result DiagnosticAnalysisCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DiagnosticsClient.ListSiteAnalysesSlot") + defer func() { + sc := -1 + if result.dac.Response.Response != nil { + sc = result.dac.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.DiagnosticsClient", "ListSiteAnalysesSlot", err.Error()) + } + + result.fn = client.listSiteAnalysesSlotNextResults + req, err := client.ListSiteAnalysesSlotPreparer(ctx, resourceGroupName, siteName, diagnosticCategory, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.DiagnosticsClient", "ListSiteAnalysesSlot", nil, "Failure preparing request") + return + } + + resp, err := client.ListSiteAnalysesSlotSender(req) + if err != nil { + result.dac.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.DiagnosticsClient", "ListSiteAnalysesSlot", resp, "Failure sending request") + return + } + + result.dac, err = client.ListSiteAnalysesSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.DiagnosticsClient", "ListSiteAnalysesSlot", resp, "Failure responding to request") + } + + return +} + +// ListSiteAnalysesSlotPreparer prepares the ListSiteAnalysesSlot request. +func (client DiagnosticsClient) ListSiteAnalysesSlotPreparer(ctx context.Context, resourceGroupName string, siteName string, diagnosticCategory string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "diagnosticCategory": autorest.Encode("path", diagnosticCategory), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "siteName": autorest.Encode("path", siteName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/diagnostics/{diagnosticCategory}/analyses", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSiteAnalysesSlotSender sends the ListSiteAnalysesSlot request. The method will close the +// http.Response Body if it receives an error. +func (client DiagnosticsClient) ListSiteAnalysesSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListSiteAnalysesSlotResponder handles the response to the ListSiteAnalysesSlot request. The method always +// closes the http.Response Body. +func (client DiagnosticsClient) ListSiteAnalysesSlotResponder(resp *http.Response) (result DiagnosticAnalysisCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listSiteAnalysesSlotNextResults retrieves the next set of results, if any. +func (client DiagnosticsClient) listSiteAnalysesSlotNextResults(ctx context.Context, lastResults DiagnosticAnalysisCollection) (result DiagnosticAnalysisCollection, err error) { + req, err := lastResults.diagnosticAnalysisCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.DiagnosticsClient", "listSiteAnalysesSlotNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSiteAnalysesSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.DiagnosticsClient", "listSiteAnalysesSlotNextResults", resp, "Failure sending next results request") + } + result, err = client.ListSiteAnalysesSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.DiagnosticsClient", "listSiteAnalysesSlotNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListSiteAnalysesSlotComplete enumerates all values, automatically crossing page boundaries as required. +func (client DiagnosticsClient) ListSiteAnalysesSlotComplete(ctx context.Context, resourceGroupName string, siteName string, diagnosticCategory string, slot string) (result DiagnosticAnalysisCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DiagnosticsClient.ListSiteAnalysesSlot") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListSiteAnalysesSlot(ctx, resourceGroupName, siteName, diagnosticCategory, slot) + return +} + +// ListSiteDetectorResponses list Site Detector Responses +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// siteName - site Name +func (client DiagnosticsClient) ListSiteDetectorResponses(ctx context.Context, resourceGroupName string, siteName string) (result DetectorResponseCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DiagnosticsClient.ListSiteDetectorResponses") + defer func() { + sc := -1 + if result.drc.Response.Response != nil { + sc = result.drc.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.DiagnosticsClient", "ListSiteDetectorResponses", err.Error()) + } + + result.fn = client.listSiteDetectorResponsesNextResults + req, err := client.ListSiteDetectorResponsesPreparer(ctx, resourceGroupName, siteName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.DiagnosticsClient", "ListSiteDetectorResponses", nil, "Failure preparing request") + return + } + + resp, err := client.ListSiteDetectorResponsesSender(req) + if err != nil { + result.drc.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.DiagnosticsClient", "ListSiteDetectorResponses", resp, "Failure sending request") + return + } + + result.drc, err = client.ListSiteDetectorResponsesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.DiagnosticsClient", "ListSiteDetectorResponses", resp, "Failure responding to request") + } + + return +} + +// ListSiteDetectorResponsesPreparer prepares the ListSiteDetectorResponses request. +func (client DiagnosticsClient) ListSiteDetectorResponsesPreparer(ctx context.Context, resourceGroupName string, siteName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "siteName": autorest.Encode("path", siteName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/detectors", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSiteDetectorResponsesSender sends the ListSiteDetectorResponses request. The method will close the +// http.Response Body if it receives an error. +func (client DiagnosticsClient) ListSiteDetectorResponsesSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListSiteDetectorResponsesResponder handles the response to the ListSiteDetectorResponses request. The method always +// closes the http.Response Body. +func (client DiagnosticsClient) ListSiteDetectorResponsesResponder(resp *http.Response) (result DetectorResponseCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listSiteDetectorResponsesNextResults retrieves the next set of results, if any. +func (client DiagnosticsClient) listSiteDetectorResponsesNextResults(ctx context.Context, lastResults DetectorResponseCollection) (result DetectorResponseCollection, err error) { + req, err := lastResults.detectorResponseCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.DiagnosticsClient", "listSiteDetectorResponsesNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSiteDetectorResponsesSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.DiagnosticsClient", "listSiteDetectorResponsesNextResults", resp, "Failure sending next results request") + } + result, err = client.ListSiteDetectorResponsesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.DiagnosticsClient", "listSiteDetectorResponsesNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListSiteDetectorResponsesComplete enumerates all values, automatically crossing page boundaries as required. +func (client DiagnosticsClient) ListSiteDetectorResponsesComplete(ctx context.Context, resourceGroupName string, siteName string) (result DetectorResponseCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DiagnosticsClient.ListSiteDetectorResponses") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListSiteDetectorResponses(ctx, resourceGroupName, siteName) + return +} + +// ListSiteDetectorResponsesSlot list Site Detector Responses +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// siteName - site Name +// slot - slot Name +func (client DiagnosticsClient) ListSiteDetectorResponsesSlot(ctx context.Context, resourceGroupName string, siteName string, slot string) (result DetectorResponseCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DiagnosticsClient.ListSiteDetectorResponsesSlot") + defer func() { + sc := -1 + if result.drc.Response.Response != nil { + sc = result.drc.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.DiagnosticsClient", "ListSiteDetectorResponsesSlot", err.Error()) + } + + result.fn = client.listSiteDetectorResponsesSlotNextResults + req, err := client.ListSiteDetectorResponsesSlotPreparer(ctx, resourceGroupName, siteName, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.DiagnosticsClient", "ListSiteDetectorResponsesSlot", nil, "Failure preparing request") + return + } + + resp, err := client.ListSiteDetectorResponsesSlotSender(req) + if err != nil { + result.drc.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.DiagnosticsClient", "ListSiteDetectorResponsesSlot", resp, "Failure sending request") + return + } + + result.drc, err = client.ListSiteDetectorResponsesSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.DiagnosticsClient", "ListSiteDetectorResponsesSlot", resp, "Failure responding to request") + } + + return +} + +// ListSiteDetectorResponsesSlotPreparer prepares the ListSiteDetectorResponsesSlot request. +func (client DiagnosticsClient) ListSiteDetectorResponsesSlotPreparer(ctx context.Context, resourceGroupName string, siteName string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "siteName": autorest.Encode("path", siteName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/detectors", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSiteDetectorResponsesSlotSender sends the ListSiteDetectorResponsesSlot request. The method will close the +// http.Response Body if it receives an error. +func (client DiagnosticsClient) ListSiteDetectorResponsesSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListSiteDetectorResponsesSlotResponder handles the response to the ListSiteDetectorResponsesSlot request. The method always +// closes the http.Response Body. +func (client DiagnosticsClient) ListSiteDetectorResponsesSlotResponder(resp *http.Response) (result DetectorResponseCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listSiteDetectorResponsesSlotNextResults retrieves the next set of results, if any. +func (client DiagnosticsClient) listSiteDetectorResponsesSlotNextResults(ctx context.Context, lastResults DetectorResponseCollection) (result DetectorResponseCollection, err error) { + req, err := lastResults.detectorResponseCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.DiagnosticsClient", "listSiteDetectorResponsesSlotNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSiteDetectorResponsesSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.DiagnosticsClient", "listSiteDetectorResponsesSlotNextResults", resp, "Failure sending next results request") + } + result, err = client.ListSiteDetectorResponsesSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.DiagnosticsClient", "listSiteDetectorResponsesSlotNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListSiteDetectorResponsesSlotComplete enumerates all values, automatically crossing page boundaries as required. +func (client DiagnosticsClient) ListSiteDetectorResponsesSlotComplete(ctx context.Context, resourceGroupName string, siteName string, slot string) (result DetectorResponseCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DiagnosticsClient.ListSiteDetectorResponsesSlot") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListSiteDetectorResponsesSlot(ctx, resourceGroupName, siteName, slot) + return +} + +// ListSiteDetectors get Detectors +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// siteName - site Name +// diagnosticCategory - diagnostic Category +func (client DiagnosticsClient) ListSiteDetectors(ctx context.Context, resourceGroupName string, siteName string, diagnosticCategory string) (result DiagnosticDetectorCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DiagnosticsClient.ListSiteDetectors") + defer func() { + sc := -1 + if result.ddc.Response.Response != nil { + sc = result.ddc.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.DiagnosticsClient", "ListSiteDetectors", err.Error()) + } + + result.fn = client.listSiteDetectorsNextResults + req, err := client.ListSiteDetectorsPreparer(ctx, resourceGroupName, siteName, diagnosticCategory) + if err != nil { + err = autorest.NewErrorWithError(err, "web.DiagnosticsClient", "ListSiteDetectors", nil, "Failure preparing request") + return + } + + resp, err := client.ListSiteDetectorsSender(req) + if err != nil { + result.ddc.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.DiagnosticsClient", "ListSiteDetectors", resp, "Failure sending request") + return + } + + result.ddc, err = client.ListSiteDetectorsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.DiagnosticsClient", "ListSiteDetectors", resp, "Failure responding to request") + } + + return +} + +// ListSiteDetectorsPreparer prepares the ListSiteDetectors request. +func (client DiagnosticsClient) ListSiteDetectorsPreparer(ctx context.Context, resourceGroupName string, siteName string, diagnosticCategory string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "diagnosticCategory": autorest.Encode("path", diagnosticCategory), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "siteName": autorest.Encode("path", siteName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/diagnostics/{diagnosticCategory}/detectors", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSiteDetectorsSender sends the ListSiteDetectors request. The method will close the +// http.Response Body if it receives an error. +func (client DiagnosticsClient) ListSiteDetectorsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListSiteDetectorsResponder handles the response to the ListSiteDetectors request. The method always +// closes the http.Response Body. +func (client DiagnosticsClient) ListSiteDetectorsResponder(resp *http.Response) (result DiagnosticDetectorCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listSiteDetectorsNextResults retrieves the next set of results, if any. +func (client DiagnosticsClient) listSiteDetectorsNextResults(ctx context.Context, lastResults DiagnosticDetectorCollection) (result DiagnosticDetectorCollection, err error) { + req, err := lastResults.diagnosticDetectorCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.DiagnosticsClient", "listSiteDetectorsNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSiteDetectorsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.DiagnosticsClient", "listSiteDetectorsNextResults", resp, "Failure sending next results request") + } + result, err = client.ListSiteDetectorsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.DiagnosticsClient", "listSiteDetectorsNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListSiteDetectorsComplete enumerates all values, automatically crossing page boundaries as required. +func (client DiagnosticsClient) ListSiteDetectorsComplete(ctx context.Context, resourceGroupName string, siteName string, diagnosticCategory string) (result DiagnosticDetectorCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DiagnosticsClient.ListSiteDetectors") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListSiteDetectors(ctx, resourceGroupName, siteName, diagnosticCategory) + return +} + +// ListSiteDetectorsSlot get Detectors +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// siteName - site Name +// diagnosticCategory - diagnostic Category +// slot - slot Name +func (client DiagnosticsClient) ListSiteDetectorsSlot(ctx context.Context, resourceGroupName string, siteName string, diagnosticCategory string, slot string) (result DiagnosticDetectorCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DiagnosticsClient.ListSiteDetectorsSlot") + defer func() { + sc := -1 + if result.ddc.Response.Response != nil { + sc = result.ddc.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.DiagnosticsClient", "ListSiteDetectorsSlot", err.Error()) + } + + result.fn = client.listSiteDetectorsSlotNextResults + req, err := client.ListSiteDetectorsSlotPreparer(ctx, resourceGroupName, siteName, diagnosticCategory, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.DiagnosticsClient", "ListSiteDetectorsSlot", nil, "Failure preparing request") + return + } + + resp, err := client.ListSiteDetectorsSlotSender(req) + if err != nil { + result.ddc.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.DiagnosticsClient", "ListSiteDetectorsSlot", resp, "Failure sending request") + return + } + + result.ddc, err = client.ListSiteDetectorsSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.DiagnosticsClient", "ListSiteDetectorsSlot", resp, "Failure responding to request") + } + + return +} + +// ListSiteDetectorsSlotPreparer prepares the ListSiteDetectorsSlot request. +func (client DiagnosticsClient) ListSiteDetectorsSlotPreparer(ctx context.Context, resourceGroupName string, siteName string, diagnosticCategory string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "diagnosticCategory": autorest.Encode("path", diagnosticCategory), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "siteName": autorest.Encode("path", siteName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/diagnostics/{diagnosticCategory}/detectors", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSiteDetectorsSlotSender sends the ListSiteDetectorsSlot request. The method will close the +// http.Response Body if it receives an error. +func (client DiagnosticsClient) ListSiteDetectorsSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListSiteDetectorsSlotResponder handles the response to the ListSiteDetectorsSlot request. The method always +// closes the http.Response Body. +func (client DiagnosticsClient) ListSiteDetectorsSlotResponder(resp *http.Response) (result DiagnosticDetectorCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listSiteDetectorsSlotNextResults retrieves the next set of results, if any. +func (client DiagnosticsClient) listSiteDetectorsSlotNextResults(ctx context.Context, lastResults DiagnosticDetectorCollection) (result DiagnosticDetectorCollection, err error) { + req, err := lastResults.diagnosticDetectorCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.DiagnosticsClient", "listSiteDetectorsSlotNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSiteDetectorsSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.DiagnosticsClient", "listSiteDetectorsSlotNextResults", resp, "Failure sending next results request") + } + result, err = client.ListSiteDetectorsSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.DiagnosticsClient", "listSiteDetectorsSlotNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListSiteDetectorsSlotComplete enumerates all values, automatically crossing page boundaries as required. +func (client DiagnosticsClient) ListSiteDetectorsSlotComplete(ctx context.Context, resourceGroupName string, siteName string, diagnosticCategory string, slot string) (result DiagnosticDetectorCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DiagnosticsClient.ListSiteDetectorsSlot") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListSiteDetectorsSlot(ctx, resourceGroupName, siteName, diagnosticCategory, slot) + return +} + +// ListSiteDiagnosticCategories get Diagnostics Categories +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// siteName - site Name +func (client DiagnosticsClient) ListSiteDiagnosticCategories(ctx context.Context, resourceGroupName string, siteName string) (result DiagnosticCategoryCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DiagnosticsClient.ListSiteDiagnosticCategories") + defer func() { + sc := -1 + if result.dcc.Response.Response != nil { + sc = result.dcc.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.DiagnosticsClient", "ListSiteDiagnosticCategories", err.Error()) + } + + result.fn = client.listSiteDiagnosticCategoriesNextResults + req, err := client.ListSiteDiagnosticCategoriesPreparer(ctx, resourceGroupName, siteName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.DiagnosticsClient", "ListSiteDiagnosticCategories", nil, "Failure preparing request") + return + } + + resp, err := client.ListSiteDiagnosticCategoriesSender(req) + if err != nil { + result.dcc.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.DiagnosticsClient", "ListSiteDiagnosticCategories", resp, "Failure sending request") + return + } + + result.dcc, err = client.ListSiteDiagnosticCategoriesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.DiagnosticsClient", "ListSiteDiagnosticCategories", resp, "Failure responding to request") + } + + return +} + +// ListSiteDiagnosticCategoriesPreparer prepares the ListSiteDiagnosticCategories request. +func (client DiagnosticsClient) ListSiteDiagnosticCategoriesPreparer(ctx context.Context, resourceGroupName string, siteName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "siteName": autorest.Encode("path", siteName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/diagnostics", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSiteDiagnosticCategoriesSender sends the ListSiteDiagnosticCategories request. The method will close the +// http.Response Body if it receives an error. +func (client DiagnosticsClient) ListSiteDiagnosticCategoriesSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListSiteDiagnosticCategoriesResponder handles the response to the ListSiteDiagnosticCategories request. The method always +// closes the http.Response Body. +func (client DiagnosticsClient) ListSiteDiagnosticCategoriesResponder(resp *http.Response) (result DiagnosticCategoryCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listSiteDiagnosticCategoriesNextResults retrieves the next set of results, if any. +func (client DiagnosticsClient) listSiteDiagnosticCategoriesNextResults(ctx context.Context, lastResults DiagnosticCategoryCollection) (result DiagnosticCategoryCollection, err error) { + req, err := lastResults.diagnosticCategoryCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.DiagnosticsClient", "listSiteDiagnosticCategoriesNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSiteDiagnosticCategoriesSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.DiagnosticsClient", "listSiteDiagnosticCategoriesNextResults", resp, "Failure sending next results request") + } + result, err = client.ListSiteDiagnosticCategoriesResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.DiagnosticsClient", "listSiteDiagnosticCategoriesNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListSiteDiagnosticCategoriesComplete enumerates all values, automatically crossing page boundaries as required. +func (client DiagnosticsClient) ListSiteDiagnosticCategoriesComplete(ctx context.Context, resourceGroupName string, siteName string) (result DiagnosticCategoryCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DiagnosticsClient.ListSiteDiagnosticCategories") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListSiteDiagnosticCategories(ctx, resourceGroupName, siteName) + return +} + +// ListSiteDiagnosticCategoriesSlot get Diagnostics Categories +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// siteName - site Name +// slot - slot Name +func (client DiagnosticsClient) ListSiteDiagnosticCategoriesSlot(ctx context.Context, resourceGroupName string, siteName string, slot string) (result DiagnosticCategoryCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DiagnosticsClient.ListSiteDiagnosticCategoriesSlot") + defer func() { + sc := -1 + if result.dcc.Response.Response != nil { + sc = result.dcc.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.DiagnosticsClient", "ListSiteDiagnosticCategoriesSlot", err.Error()) + } + + result.fn = client.listSiteDiagnosticCategoriesSlotNextResults + req, err := client.ListSiteDiagnosticCategoriesSlotPreparer(ctx, resourceGroupName, siteName, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.DiagnosticsClient", "ListSiteDiagnosticCategoriesSlot", nil, "Failure preparing request") + return + } + + resp, err := client.ListSiteDiagnosticCategoriesSlotSender(req) + if err != nil { + result.dcc.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.DiagnosticsClient", "ListSiteDiagnosticCategoriesSlot", resp, "Failure sending request") + return + } + + result.dcc, err = client.ListSiteDiagnosticCategoriesSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.DiagnosticsClient", "ListSiteDiagnosticCategoriesSlot", resp, "Failure responding to request") + } + + return +} + +// ListSiteDiagnosticCategoriesSlotPreparer prepares the ListSiteDiagnosticCategoriesSlot request. +func (client DiagnosticsClient) ListSiteDiagnosticCategoriesSlotPreparer(ctx context.Context, resourceGroupName string, siteName string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "siteName": autorest.Encode("path", siteName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slot}/diagnostics", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSiteDiagnosticCategoriesSlotSender sends the ListSiteDiagnosticCategoriesSlot request. The method will close the +// http.Response Body if it receives an error. +func (client DiagnosticsClient) ListSiteDiagnosticCategoriesSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListSiteDiagnosticCategoriesSlotResponder handles the response to the ListSiteDiagnosticCategoriesSlot request. The method always +// closes the http.Response Body. +func (client DiagnosticsClient) ListSiteDiagnosticCategoriesSlotResponder(resp *http.Response) (result DiagnosticCategoryCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listSiteDiagnosticCategoriesSlotNextResults retrieves the next set of results, if any. +func (client DiagnosticsClient) listSiteDiagnosticCategoriesSlotNextResults(ctx context.Context, lastResults DiagnosticCategoryCollection) (result DiagnosticCategoryCollection, err error) { + req, err := lastResults.diagnosticCategoryCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.DiagnosticsClient", "listSiteDiagnosticCategoriesSlotNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSiteDiagnosticCategoriesSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.DiagnosticsClient", "listSiteDiagnosticCategoriesSlotNextResults", resp, "Failure sending next results request") + } + result, err = client.ListSiteDiagnosticCategoriesSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.DiagnosticsClient", "listSiteDiagnosticCategoriesSlotNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListSiteDiagnosticCategoriesSlotComplete enumerates all values, automatically crossing page boundaries as required. +func (client DiagnosticsClient) ListSiteDiagnosticCategoriesSlotComplete(ctx context.Context, resourceGroupName string, siteName string, slot string) (result DiagnosticCategoryCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DiagnosticsClient.ListSiteDiagnosticCategoriesSlot") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListSiteDiagnosticCategoriesSlot(ctx, resourceGroupName, siteName, slot) + return +} diff --git a/services/web/mgmt/2019-08-01/web/domainregistrationprovider.go b/services/web/mgmt/2019-08-01/web/domainregistrationprovider.go new file mode 100644 index 000000000000..b289d1585171 --- /dev/null +++ b/services/web/mgmt/2019-08-01/web/domainregistrationprovider.go @@ -0,0 +1,147 @@ +package web + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// DomainRegistrationProviderClient is the webSite Management Client +type DomainRegistrationProviderClient struct { + BaseClient +} + +// NewDomainRegistrationProviderClient creates an instance of the DomainRegistrationProviderClient client. +func NewDomainRegistrationProviderClient(subscriptionID string) DomainRegistrationProviderClient { + return NewDomainRegistrationProviderClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewDomainRegistrationProviderClientWithBaseURI creates an instance of the DomainRegistrationProviderClient client. +func NewDomainRegistrationProviderClientWithBaseURI(baseURI string, subscriptionID string) DomainRegistrationProviderClient { + return DomainRegistrationProviderClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// ListOperations implements Csm operations Api to exposes the list of available Csm Apis under the resource provider +func (client DomainRegistrationProviderClient) ListOperations(ctx context.Context) (result CsmOperationCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DomainRegistrationProviderClient.ListOperations") + defer func() { + sc := -1 + if result.coc.Response.Response != nil { + sc = result.coc.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listOperationsNextResults + req, err := client.ListOperationsPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "web.DomainRegistrationProviderClient", "ListOperations", nil, "Failure preparing request") + return + } + + resp, err := client.ListOperationsSender(req) + if err != nil { + result.coc.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.DomainRegistrationProviderClient", "ListOperations", resp, "Failure sending request") + return + } + + result.coc, err = client.ListOperationsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.DomainRegistrationProviderClient", "ListOperations", resp, "Failure responding to request") + } + + return +} + +// ListOperationsPreparer prepares the ListOperations request. +func (client DomainRegistrationProviderClient) ListOperationsPreparer(ctx context.Context) (*http.Request, error) { + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPath("/providers/Microsoft.DomainRegistration/operations"), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListOperationsSender sends the ListOperations request. The method will close the +// http.Response Body if it receives an error. +func (client DomainRegistrationProviderClient) ListOperationsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListOperationsResponder handles the response to the ListOperations request. The method always +// closes the http.Response Body. +func (client DomainRegistrationProviderClient) ListOperationsResponder(resp *http.Response) (result CsmOperationCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listOperationsNextResults retrieves the next set of results, if any. +func (client DomainRegistrationProviderClient) listOperationsNextResults(ctx context.Context, lastResults CsmOperationCollection) (result CsmOperationCollection, err error) { + req, err := lastResults.csmOperationCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.DomainRegistrationProviderClient", "listOperationsNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListOperationsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.DomainRegistrationProviderClient", "listOperationsNextResults", resp, "Failure sending next results request") + } + result, err = client.ListOperationsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.DomainRegistrationProviderClient", "listOperationsNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListOperationsComplete enumerates all values, automatically crossing page boundaries as required. +func (client DomainRegistrationProviderClient) ListOperationsComplete(ctx context.Context) (result CsmOperationCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DomainRegistrationProviderClient.ListOperations") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListOperations(ctx) + return +} diff --git a/services/web/mgmt/2019-08-01/web/domains.go b/services/web/mgmt/2019-08-01/web/domains.go new file mode 100644 index 000000000000..1f6c3b749419 --- /dev/null +++ b/services/web/mgmt/2019-08-01/web/domains.go @@ -0,0 +1,1507 @@ +package web + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// DomainsClient is the webSite Management Client +type DomainsClient struct { + BaseClient +} + +// NewDomainsClient creates an instance of the DomainsClient client. +func NewDomainsClient(subscriptionID string) DomainsClient { + return NewDomainsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewDomainsClientWithBaseURI creates an instance of the DomainsClient client. +func NewDomainsClientWithBaseURI(baseURI string, subscriptionID string) DomainsClient { + return DomainsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// CheckAvailability check if a domain is available for registration. +// Parameters: +// identifier - name of the domain. +func (client DomainsClient) CheckAvailability(ctx context.Context, identifier NameIdentifier) (result DomainAvailablilityCheckResult, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DomainsClient.CheckAvailability") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.CheckAvailabilityPreparer(ctx, identifier) + if err != nil { + err = autorest.NewErrorWithError(err, "web.DomainsClient", "CheckAvailability", nil, "Failure preparing request") + return + } + + resp, err := client.CheckAvailabilitySender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.DomainsClient", "CheckAvailability", resp, "Failure sending request") + return + } + + result, err = client.CheckAvailabilityResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.DomainsClient", "CheckAvailability", resp, "Failure responding to request") + } + + return +} + +// CheckAvailabilityPreparer prepares the CheckAvailability request. +func (client DomainsClient) CheckAvailabilityPreparer(ctx context.Context, identifier NameIdentifier) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/checkDomainAvailability", pathParameters), + autorest.WithJSON(identifier), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CheckAvailabilitySender sends the CheckAvailability request. The method will close the +// http.Response Body if it receives an error. +func (client DomainsClient) CheckAvailabilitySender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CheckAvailabilityResponder handles the response to the CheckAvailability request. The method always +// closes the http.Response Body. +func (client DomainsClient) CheckAvailabilityResponder(resp *http.Response) (result DomainAvailablilityCheckResult, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// CreateOrUpdate creates or updates a domain. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// domainName - name of the domain. +// domain - domain registration information. +func (client DomainsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, domainName string, domain Domain) (result DomainsCreateOrUpdateFuture, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DomainsClient.CreateOrUpdate") + defer func() { + sc := -1 + if result.Response() != nil { + sc = result.Response().StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}, + {TargetValue: domainName, + Constraints: []validation.Constraint{{Target: "domainName", Name: validation.Pattern, Rule: `[a-zA-Z0-9][a-zA-Z0-9\.-]+`, Chain: nil}}}, + {TargetValue: domain, + Constraints: []validation.Constraint{{Target: "domain.DomainProperties", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "domain.DomainProperties.ContactAdmin", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "domain.DomainProperties.ContactAdmin.AddressMailing", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "domain.DomainProperties.ContactAdmin.AddressMailing.Address1", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "domain.DomainProperties.ContactAdmin.AddressMailing.City", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "domain.DomainProperties.ContactAdmin.AddressMailing.Country", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "domain.DomainProperties.ContactAdmin.AddressMailing.PostalCode", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "domain.DomainProperties.ContactAdmin.AddressMailing.State", Name: validation.Null, Rule: true, Chain: nil}, + }}, + {Target: "domain.DomainProperties.ContactAdmin.Email", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "domain.DomainProperties.ContactAdmin.NameFirst", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "domain.DomainProperties.ContactAdmin.NameLast", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "domain.DomainProperties.ContactAdmin.Phone", Name: validation.Null, Rule: true, Chain: nil}, + }}, + {Target: "domain.DomainProperties.ContactBilling", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "domain.DomainProperties.ContactBilling.AddressMailing", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "domain.DomainProperties.ContactBilling.AddressMailing.Address1", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "domain.DomainProperties.ContactBilling.AddressMailing.City", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "domain.DomainProperties.ContactBilling.AddressMailing.Country", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "domain.DomainProperties.ContactBilling.AddressMailing.PostalCode", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "domain.DomainProperties.ContactBilling.AddressMailing.State", Name: validation.Null, Rule: true, Chain: nil}, + }}, + {Target: "domain.DomainProperties.ContactBilling.Email", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "domain.DomainProperties.ContactBilling.NameFirst", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "domain.DomainProperties.ContactBilling.NameLast", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "domain.DomainProperties.ContactBilling.Phone", Name: validation.Null, Rule: true, Chain: nil}, + }}, + {Target: "domain.DomainProperties.ContactRegistrant", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "domain.DomainProperties.ContactRegistrant.AddressMailing", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "domain.DomainProperties.ContactRegistrant.AddressMailing.Address1", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "domain.DomainProperties.ContactRegistrant.AddressMailing.City", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "domain.DomainProperties.ContactRegistrant.AddressMailing.Country", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "domain.DomainProperties.ContactRegistrant.AddressMailing.PostalCode", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "domain.DomainProperties.ContactRegistrant.AddressMailing.State", Name: validation.Null, Rule: true, Chain: nil}, + }}, + {Target: "domain.DomainProperties.ContactRegistrant.Email", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "domain.DomainProperties.ContactRegistrant.NameFirst", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "domain.DomainProperties.ContactRegistrant.NameLast", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "domain.DomainProperties.ContactRegistrant.Phone", Name: validation.Null, Rule: true, Chain: nil}, + }}, + {Target: "domain.DomainProperties.ContactTech", Name: validation.Null, Rule: true, + Chain: []validation.Constraint{{Target: "domain.DomainProperties.ContactTech.AddressMailing", Name: validation.Null, Rule: false, + Chain: []validation.Constraint{{Target: "domain.DomainProperties.ContactTech.AddressMailing.Address1", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "domain.DomainProperties.ContactTech.AddressMailing.City", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "domain.DomainProperties.ContactTech.AddressMailing.Country", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "domain.DomainProperties.ContactTech.AddressMailing.PostalCode", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "domain.DomainProperties.ContactTech.AddressMailing.State", Name: validation.Null, Rule: true, Chain: nil}, + }}, + {Target: "domain.DomainProperties.ContactTech.Email", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "domain.DomainProperties.ContactTech.NameFirst", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "domain.DomainProperties.ContactTech.NameLast", Name: validation.Null, Rule: true, Chain: nil}, + {Target: "domain.DomainProperties.ContactTech.Phone", Name: validation.Null, Rule: true, Chain: nil}, + }}, + {Target: "domain.DomainProperties.Consent", Name: validation.Null, Rule: true, Chain: nil}, + }}}}}); err != nil { + return result, validation.NewError("web.DomainsClient", "CreateOrUpdate", err.Error()) + } + + req, err := client.CreateOrUpdatePreparer(ctx, resourceGroupName, domainName, domain) + if err != nil { + err = autorest.NewErrorWithError(err, "web.DomainsClient", "CreateOrUpdate", nil, "Failure preparing request") + return + } + + result, err = client.CreateOrUpdateSender(req) + if err != nil { + err = autorest.NewErrorWithError(err, "web.DomainsClient", "CreateOrUpdate", result.Response(), "Failure sending request") + return + } + + return +} + +// CreateOrUpdatePreparer prepares the CreateOrUpdate request. +func (client DomainsClient) CreateOrUpdatePreparer(ctx context.Context, resourceGroupName string, domainName string, domain Domain) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "domainName": autorest.Encode("path", domainName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}", pathParameters), + autorest.WithJSON(domain), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateSender sends the CreateOrUpdate request. The method will close the +// http.Response Body if it receives an error. +func (client DomainsClient) CreateOrUpdateSender(req *http.Request) (future DomainsCreateOrUpdateFuture, err error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + var resp *http.Response + resp, err = autorest.SendWithSender(client, req, sd...) + if err != nil { + return + } + future.Future, err = azure.NewFutureFromResponse(resp) + return +} + +// CreateOrUpdateResponder handles the response to the CreateOrUpdate request. The method always +// closes the http.Response Body. +func (client DomainsClient) CreateOrUpdateResponder(resp *http.Response) (result Domain, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// CreateOrUpdateOwnershipIdentifier creates an ownership identifier for a domain or updates identifier details for an +// existing identifer +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// domainName - name of domain. +// name - name of identifier. +// domainOwnershipIdentifier - a JSON representation of the domain ownership properties. +func (client DomainsClient) CreateOrUpdateOwnershipIdentifier(ctx context.Context, resourceGroupName string, domainName string, name string, domainOwnershipIdentifier DomainOwnershipIdentifier) (result DomainOwnershipIdentifier, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DomainsClient.CreateOrUpdateOwnershipIdentifier") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.DomainsClient", "CreateOrUpdateOwnershipIdentifier", err.Error()) + } + + req, err := client.CreateOrUpdateOwnershipIdentifierPreparer(ctx, resourceGroupName, domainName, name, domainOwnershipIdentifier) + if err != nil { + err = autorest.NewErrorWithError(err, "web.DomainsClient", "CreateOrUpdateOwnershipIdentifier", nil, "Failure preparing request") + return + } + + resp, err := client.CreateOrUpdateOwnershipIdentifierSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.DomainsClient", "CreateOrUpdateOwnershipIdentifier", resp, "Failure sending request") + return + } + + result, err = client.CreateOrUpdateOwnershipIdentifierResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.DomainsClient", "CreateOrUpdateOwnershipIdentifier", resp, "Failure responding to request") + } + + return +} + +// CreateOrUpdateOwnershipIdentifierPreparer prepares the CreateOrUpdateOwnershipIdentifier request. +func (client DomainsClient) CreateOrUpdateOwnershipIdentifierPreparer(ctx context.Context, resourceGroupName string, domainName string, name string, domainOwnershipIdentifier DomainOwnershipIdentifier) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "domainName": autorest.Encode("path", domainName), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPut(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}/domainOwnershipIdentifiers/{name}", pathParameters), + autorest.WithJSON(domainOwnershipIdentifier), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// CreateOrUpdateOwnershipIdentifierSender sends the CreateOrUpdateOwnershipIdentifier request. The method will close the +// http.Response Body if it receives an error. +func (client DomainsClient) CreateOrUpdateOwnershipIdentifierSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// CreateOrUpdateOwnershipIdentifierResponder handles the response to the CreateOrUpdateOwnershipIdentifier request. The method always +// closes the http.Response Body. +func (client DomainsClient) CreateOrUpdateOwnershipIdentifierResponder(resp *http.Response) (result DomainOwnershipIdentifier, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// Delete delete a domain. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// domainName - name of the domain. +// forceHardDeleteDomain - specify true to delete the domain immediately. The default is +// false which deletes the domain after 24 hours. +func (client DomainsClient) Delete(ctx context.Context, resourceGroupName string, domainName string, forceHardDeleteDomain *bool) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DomainsClient.Delete") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.DomainsClient", "Delete", err.Error()) + } + + req, err := client.DeletePreparer(ctx, resourceGroupName, domainName, forceHardDeleteDomain) + if err != nil { + err = autorest.NewErrorWithError(err, "web.DomainsClient", "Delete", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.DomainsClient", "Delete", resp, "Failure sending request") + return + } + + result, err = client.DeleteResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.DomainsClient", "Delete", resp, "Failure responding to request") + } + + return +} + +// DeletePreparer prepares the Delete request. +func (client DomainsClient) DeletePreparer(ctx context.Context, resourceGroupName string, domainName string, forceHardDeleteDomain *bool) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "domainName": autorest.Encode("path", domainName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if forceHardDeleteDomain != nil { + queryParameters["forceHardDeleteDomain"] = autorest.Encode("query", *forceHardDeleteDomain) + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteSender sends the Delete request. The method will close the +// http.Response Body if it receives an error. +func (client DomainsClient) DeleteSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeleteResponder handles the response to the Delete request. The method always +// closes the http.Response Body. +func (client DomainsClient) DeleteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// DeleteOwnershipIdentifier delete ownership identifier for domain +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// domainName - name of domain. +// name - name of identifier. +func (client DomainsClient) DeleteOwnershipIdentifier(ctx context.Context, resourceGroupName string, domainName string, name string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DomainsClient.DeleteOwnershipIdentifier") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.DomainsClient", "DeleteOwnershipIdentifier", err.Error()) + } + + req, err := client.DeleteOwnershipIdentifierPreparer(ctx, resourceGroupName, domainName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.DomainsClient", "DeleteOwnershipIdentifier", nil, "Failure preparing request") + return + } + + resp, err := client.DeleteOwnershipIdentifierSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.DomainsClient", "DeleteOwnershipIdentifier", resp, "Failure sending request") + return + } + + result, err = client.DeleteOwnershipIdentifierResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.DomainsClient", "DeleteOwnershipIdentifier", resp, "Failure responding to request") + } + + return +} + +// DeleteOwnershipIdentifierPreparer prepares the DeleteOwnershipIdentifier request. +func (client DomainsClient) DeleteOwnershipIdentifierPreparer(ctx context.Context, resourceGroupName string, domainName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "domainName": autorest.Encode("path", domainName), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsDelete(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}/domainOwnershipIdentifiers/{name}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DeleteOwnershipIdentifierSender sends the DeleteOwnershipIdentifier request. The method will close the +// http.Response Body if it receives an error. +func (client DomainsClient) DeleteOwnershipIdentifierSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// DeleteOwnershipIdentifierResponder handles the response to the DeleteOwnershipIdentifier request. The method always +// closes the http.Response Body. +func (client DomainsClient) DeleteOwnershipIdentifierResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// Get get a domain. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// domainName - name of the domain. +func (client DomainsClient) Get(ctx context.Context, resourceGroupName string, domainName string) (result Domain, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DomainsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.DomainsClient", "Get", err.Error()) + } + + req, err := client.GetPreparer(ctx, resourceGroupName, domainName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.DomainsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.DomainsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.DomainsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client DomainsClient) GetPreparer(ctx context.Context, resourceGroupName string, domainName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "domainName": autorest.Encode("path", domainName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client DomainsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client DomainsClient) GetResponder(resp *http.Response) (result Domain, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetControlCenterSsoRequest generate a single sign-on request for the domain management portal. +func (client DomainsClient) GetControlCenterSsoRequest(ctx context.Context) (result DomainControlCenterSsoRequest, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DomainsClient.GetControlCenterSsoRequest") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetControlCenterSsoRequestPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "web.DomainsClient", "GetControlCenterSsoRequest", nil, "Failure preparing request") + return + } + + resp, err := client.GetControlCenterSsoRequestSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.DomainsClient", "GetControlCenterSsoRequest", resp, "Failure sending request") + return + } + + result, err = client.GetControlCenterSsoRequestResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.DomainsClient", "GetControlCenterSsoRequest", resp, "Failure responding to request") + } + + return +} + +// GetControlCenterSsoRequestPreparer prepares the GetControlCenterSsoRequest request. +func (client DomainsClient) GetControlCenterSsoRequestPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/generateSsoRequest", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetControlCenterSsoRequestSender sends the GetControlCenterSsoRequest request. The method will close the +// http.Response Body if it receives an error. +func (client DomainsClient) GetControlCenterSsoRequestSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetControlCenterSsoRequestResponder handles the response to the GetControlCenterSsoRequest request. The method always +// closes the http.Response Body. +func (client DomainsClient) GetControlCenterSsoRequestResponder(resp *http.Response) (result DomainControlCenterSsoRequest, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetOwnershipIdentifier get ownership identifier for domain +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// domainName - name of domain. +// name - name of identifier. +func (client DomainsClient) GetOwnershipIdentifier(ctx context.Context, resourceGroupName string, domainName string, name string) (result DomainOwnershipIdentifier, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DomainsClient.GetOwnershipIdentifier") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.DomainsClient", "GetOwnershipIdentifier", err.Error()) + } + + req, err := client.GetOwnershipIdentifierPreparer(ctx, resourceGroupName, domainName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.DomainsClient", "GetOwnershipIdentifier", nil, "Failure preparing request") + return + } + + resp, err := client.GetOwnershipIdentifierSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.DomainsClient", "GetOwnershipIdentifier", resp, "Failure sending request") + return + } + + result, err = client.GetOwnershipIdentifierResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.DomainsClient", "GetOwnershipIdentifier", resp, "Failure responding to request") + } + + return +} + +// GetOwnershipIdentifierPreparer prepares the GetOwnershipIdentifier request. +func (client DomainsClient) GetOwnershipIdentifierPreparer(ctx context.Context, resourceGroupName string, domainName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "domainName": autorest.Encode("path", domainName), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}/domainOwnershipIdentifiers/{name}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetOwnershipIdentifierSender sends the GetOwnershipIdentifier request. The method will close the +// http.Response Body if it receives an error. +func (client DomainsClient) GetOwnershipIdentifierSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetOwnershipIdentifierResponder handles the response to the GetOwnershipIdentifier request. The method always +// closes the http.Response Body. +func (client DomainsClient) GetOwnershipIdentifierResponder(resp *http.Response) (result DomainOwnershipIdentifier, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List get all domains in a subscription. +func (client DomainsClient) List(ctx context.Context) (result DomainCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DomainsClient.List") + defer func() { + sc := -1 + if result.dc.Response.Response != nil { + sc = result.dc.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "web.DomainsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.dc.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.DomainsClient", "List", resp, "Failure sending request") + return + } + + result.dc, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.DomainsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client DomainsClient) ListPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/domains", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client DomainsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client DomainsClient) ListResponder(resp *http.Response) (result DomainCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client DomainsClient) listNextResults(ctx context.Context, lastResults DomainCollection) (result DomainCollection, err error) { + req, err := lastResults.domainCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.DomainsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.DomainsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.DomainsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client DomainsClient) ListComplete(ctx context.Context) (result DomainCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DomainsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx) + return +} + +// ListByResourceGroup get all domains in a resource group. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +func (client DomainsClient) ListByResourceGroup(ctx context.Context, resourceGroupName string) (result DomainCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DomainsClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.dc.Response.Response != nil { + sc = result.dc.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.DomainsClient", "ListByResourceGroup", err.Error()) + } + + result.fn = client.listByResourceGroupNextResults + req, err := client.ListByResourceGroupPreparer(ctx, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.DomainsClient", "ListByResourceGroup", nil, "Failure preparing request") + return + } + + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.dc.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.DomainsClient", "ListByResourceGroup", resp, "Failure sending request") + return + } + + result.dc, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.DomainsClient", "ListByResourceGroup", resp, "Failure responding to request") + } + + return +} + +// ListByResourceGroupPreparer prepares the ListByResourceGroup request. +func (client DomainsClient) ListByResourceGroupPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByResourceGroupSender sends the ListByResourceGroup request. The method will close the +// http.Response Body if it receives an error. +func (client DomainsClient) ListByResourceGroupSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByResourceGroupResponder handles the response to the ListByResourceGroup request. The method always +// closes the http.Response Body. +func (client DomainsClient) ListByResourceGroupResponder(resp *http.Response) (result DomainCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listByResourceGroupNextResults retrieves the next set of results, if any. +func (client DomainsClient) listByResourceGroupNextResults(ctx context.Context, lastResults DomainCollection) (result DomainCollection, err error) { + req, err := lastResults.domainCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.DomainsClient", "listByResourceGroupNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.DomainsClient", "listByResourceGroupNextResults", resp, "Failure sending next results request") + } + result, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.DomainsClient", "listByResourceGroupNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListByResourceGroupComplete enumerates all values, automatically crossing page boundaries as required. +func (client DomainsClient) ListByResourceGroupComplete(ctx context.Context, resourceGroupName string) (result DomainCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DomainsClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListByResourceGroup(ctx, resourceGroupName) + return +} + +// ListOwnershipIdentifiers lists domain ownership identifiers. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// domainName - name of domain. +func (client DomainsClient) ListOwnershipIdentifiers(ctx context.Context, resourceGroupName string, domainName string) (result DomainOwnershipIdentifierCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DomainsClient.ListOwnershipIdentifiers") + defer func() { + sc := -1 + if result.doic.Response.Response != nil { + sc = result.doic.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.DomainsClient", "ListOwnershipIdentifiers", err.Error()) + } + + result.fn = client.listOwnershipIdentifiersNextResults + req, err := client.ListOwnershipIdentifiersPreparer(ctx, resourceGroupName, domainName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.DomainsClient", "ListOwnershipIdentifiers", nil, "Failure preparing request") + return + } + + resp, err := client.ListOwnershipIdentifiersSender(req) + if err != nil { + result.doic.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.DomainsClient", "ListOwnershipIdentifiers", resp, "Failure sending request") + return + } + + result.doic, err = client.ListOwnershipIdentifiersResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.DomainsClient", "ListOwnershipIdentifiers", resp, "Failure responding to request") + } + + return +} + +// ListOwnershipIdentifiersPreparer prepares the ListOwnershipIdentifiers request. +func (client DomainsClient) ListOwnershipIdentifiersPreparer(ctx context.Context, resourceGroupName string, domainName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "domainName": autorest.Encode("path", domainName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}/domainOwnershipIdentifiers", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListOwnershipIdentifiersSender sends the ListOwnershipIdentifiers request. The method will close the +// http.Response Body if it receives an error. +func (client DomainsClient) ListOwnershipIdentifiersSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListOwnershipIdentifiersResponder handles the response to the ListOwnershipIdentifiers request. The method always +// closes the http.Response Body. +func (client DomainsClient) ListOwnershipIdentifiersResponder(resp *http.Response) (result DomainOwnershipIdentifierCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listOwnershipIdentifiersNextResults retrieves the next set of results, if any. +func (client DomainsClient) listOwnershipIdentifiersNextResults(ctx context.Context, lastResults DomainOwnershipIdentifierCollection) (result DomainOwnershipIdentifierCollection, err error) { + req, err := lastResults.domainOwnershipIdentifierCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.DomainsClient", "listOwnershipIdentifiersNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListOwnershipIdentifiersSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.DomainsClient", "listOwnershipIdentifiersNextResults", resp, "Failure sending next results request") + } + result, err = client.ListOwnershipIdentifiersResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.DomainsClient", "listOwnershipIdentifiersNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListOwnershipIdentifiersComplete enumerates all values, automatically crossing page boundaries as required. +func (client DomainsClient) ListOwnershipIdentifiersComplete(ctx context.Context, resourceGroupName string, domainName string) (result DomainOwnershipIdentifierCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DomainsClient.ListOwnershipIdentifiers") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListOwnershipIdentifiers(ctx, resourceGroupName, domainName) + return +} + +// ListRecommendations get domain name recommendations based on keywords. +// Parameters: +// parameters - search parameters for domain name recommendations. +func (client DomainsClient) ListRecommendations(ctx context.Context, parameters DomainRecommendationSearchParameters) (result NameIdentifierCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DomainsClient.ListRecommendations") + defer func() { + sc := -1 + if result.nic.Response.Response != nil { + sc = result.nic.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listRecommendationsNextResults + req, err := client.ListRecommendationsPreparer(ctx, parameters) + if err != nil { + err = autorest.NewErrorWithError(err, "web.DomainsClient", "ListRecommendations", nil, "Failure preparing request") + return + } + + resp, err := client.ListRecommendationsSender(req) + if err != nil { + result.nic.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.DomainsClient", "ListRecommendations", resp, "Failure sending request") + return + } + + result.nic, err = client.ListRecommendationsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.DomainsClient", "ListRecommendations", resp, "Failure responding to request") + } + + return +} + +// ListRecommendationsPreparer prepares the ListRecommendations request. +func (client DomainsClient) ListRecommendationsPreparer(ctx context.Context, parameters DomainRecommendationSearchParameters) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/listDomainRecommendations", pathParameters), + autorest.WithJSON(parameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListRecommendationsSender sends the ListRecommendations request. The method will close the +// http.Response Body if it receives an error. +func (client DomainsClient) ListRecommendationsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListRecommendationsResponder handles the response to the ListRecommendations request. The method always +// closes the http.Response Body. +func (client DomainsClient) ListRecommendationsResponder(resp *http.Response) (result NameIdentifierCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listRecommendationsNextResults retrieves the next set of results, if any. +func (client DomainsClient) listRecommendationsNextResults(ctx context.Context, lastResults NameIdentifierCollection) (result NameIdentifierCollection, err error) { + req, err := lastResults.nameIdentifierCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.DomainsClient", "listRecommendationsNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListRecommendationsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.DomainsClient", "listRecommendationsNextResults", resp, "Failure sending next results request") + } + result, err = client.ListRecommendationsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.DomainsClient", "listRecommendationsNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListRecommendationsComplete enumerates all values, automatically crossing page boundaries as required. +func (client DomainsClient) ListRecommendationsComplete(ctx context.Context, parameters DomainRecommendationSearchParameters) (result NameIdentifierCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DomainsClient.ListRecommendations") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListRecommendations(ctx, parameters) + return +} + +// Renew renew a domain. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// domainName - name of the domain. +func (client DomainsClient) Renew(ctx context.Context, resourceGroupName string, domainName string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DomainsClient.Renew") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.DomainsClient", "Renew", err.Error()) + } + + req, err := client.RenewPreparer(ctx, resourceGroupName, domainName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.DomainsClient", "Renew", nil, "Failure preparing request") + return + } + + resp, err := client.RenewSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.DomainsClient", "Renew", resp, "Failure sending request") + return + } + + result, err = client.RenewResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.DomainsClient", "Renew", resp, "Failure responding to request") + } + + return +} + +// RenewPreparer prepares the Renew request. +func (client DomainsClient) RenewPreparer(ctx context.Context, resourceGroupName string, domainName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "domainName": autorest.Encode("path", domainName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}/renew", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// RenewSender sends the Renew request. The method will close the +// http.Response Body if it receives an error. +func (client DomainsClient) RenewSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// RenewResponder handles the response to the Renew request. The method always +// closes the http.Response Body. +func (client DomainsClient) RenewResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted, http.StatusNoContent, http.StatusBadRequest, http.StatusInternalServerError), + autorest.ByClosing()) + result.Response = resp + return +} + +// Update creates or updates a domain. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// domainName - name of the domain. +// domain - domain registration information. +func (client DomainsClient) Update(ctx context.Context, resourceGroupName string, domainName string, domain DomainPatchResource) (result Domain, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DomainsClient.Update") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}, + {TargetValue: domainName, + Constraints: []validation.Constraint{{Target: "domainName", Name: validation.Pattern, Rule: `[a-zA-Z0-9][a-zA-Z0-9\.-]+`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.DomainsClient", "Update", err.Error()) + } + + req, err := client.UpdatePreparer(ctx, resourceGroupName, domainName, domain) + if err != nil { + err = autorest.NewErrorWithError(err, "web.DomainsClient", "Update", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.DomainsClient", "Update", resp, "Failure sending request") + return + } + + result, err = client.UpdateResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.DomainsClient", "Update", resp, "Failure responding to request") + } + + return +} + +// UpdatePreparer prepares the Update request. +func (client DomainsClient) UpdatePreparer(ctx context.Context, resourceGroupName string, domainName string, domain DomainPatchResource) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "domainName": autorest.Encode("path", domainName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}", pathParameters), + autorest.WithJSON(domain), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateSender sends the Update request. The method will close the +// http.Response Body if it receives an error. +func (client DomainsClient) UpdateSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// UpdateResponder handles the response to the Update request. The method always +// closes the http.Response Body. +func (client DomainsClient) UpdateResponder(resp *http.Response) (result Domain, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusAccepted), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// UpdateOwnershipIdentifier creates an ownership identifier for a domain or updates identifier details for an existing +// identifer +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// domainName - name of domain. +// name - name of identifier. +// domainOwnershipIdentifier - a JSON representation of the domain ownership properties. +func (client DomainsClient) UpdateOwnershipIdentifier(ctx context.Context, resourceGroupName string, domainName string, name string, domainOwnershipIdentifier DomainOwnershipIdentifier) (result DomainOwnershipIdentifier, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DomainsClient.UpdateOwnershipIdentifier") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.DomainsClient", "UpdateOwnershipIdentifier", err.Error()) + } + + req, err := client.UpdateOwnershipIdentifierPreparer(ctx, resourceGroupName, domainName, name, domainOwnershipIdentifier) + if err != nil { + err = autorest.NewErrorWithError(err, "web.DomainsClient", "UpdateOwnershipIdentifier", nil, "Failure preparing request") + return + } + + resp, err := client.UpdateOwnershipIdentifierSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.DomainsClient", "UpdateOwnershipIdentifier", resp, "Failure sending request") + return + } + + result, err = client.UpdateOwnershipIdentifierResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.DomainsClient", "UpdateOwnershipIdentifier", resp, "Failure responding to request") + } + + return +} + +// UpdateOwnershipIdentifierPreparer prepares the UpdateOwnershipIdentifier request. +func (client DomainsClient) UpdateOwnershipIdentifierPreparer(ctx context.Context, resourceGroupName string, domainName string, name string, domainOwnershipIdentifier DomainOwnershipIdentifier) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "domainName": autorest.Encode("path", domainName), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPatch(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DomainRegistration/domains/{domainName}/domainOwnershipIdentifiers/{name}", pathParameters), + autorest.WithJSON(domainOwnershipIdentifier), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// UpdateOwnershipIdentifierSender sends the UpdateOwnershipIdentifier request. The method will close the +// http.Response Body if it receives an error. +func (client DomainsClient) UpdateOwnershipIdentifierSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// UpdateOwnershipIdentifierResponder handles the response to the UpdateOwnershipIdentifier request. The method always +// closes the http.Response Body. +func (client DomainsClient) UpdateOwnershipIdentifierResponder(resp *http.Response) (result DomainOwnershipIdentifier, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} diff --git a/services/web/mgmt/2019-08-01/web/models.go b/services/web/mgmt/2019-08-01/web/models.go new file mode 100644 index 000000000000..f58d71d95a8e --- /dev/null +++ b/services/web/mgmt/2019-08-01/web/models.go @@ -0,0 +1,23210 @@ +package web + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "encoding/json" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/date" + "github.com/Azure/go-autorest/autorest/to" + "github.com/Azure/go-autorest/tracing" + "github.com/satori/go.uuid" + "io" + "net/http" +) + +// The package's fully qualified name. +const fqdn = "github.com/Azure/azure-sdk-for-go/services/web/mgmt/2019-08-01/web" + +// AccessControlEntryAction enumerates the values for access control entry action. +type AccessControlEntryAction string + +const ( + // Deny ... + Deny AccessControlEntryAction = "Deny" + // Permit ... + Permit AccessControlEntryAction = "Permit" +) + +// PossibleAccessControlEntryActionValues returns an array of possible values for the AccessControlEntryAction const type. +func PossibleAccessControlEntryActionValues() []AccessControlEntryAction { + return []AccessControlEntryAction{Deny, Permit} +} + +// AppServicePlanRestrictions enumerates the values for app service plan restrictions. +type AppServicePlanRestrictions string + +const ( + // Basic ... + Basic AppServicePlanRestrictions = "Basic" + // Free ... + Free AppServicePlanRestrictions = "Free" + // None ... + None AppServicePlanRestrictions = "None" + // Premium ... + Premium AppServicePlanRestrictions = "Premium" + // Shared ... + Shared AppServicePlanRestrictions = "Shared" + // Standard ... + Standard AppServicePlanRestrictions = "Standard" +) + +// PossibleAppServicePlanRestrictionsValues returns an array of possible values for the AppServicePlanRestrictions const type. +func PossibleAppServicePlanRestrictionsValues() []AppServicePlanRestrictions { + return []AppServicePlanRestrictions{Basic, Free, None, Premium, Shared, Standard} +} + +// AutoHealActionType enumerates the values for auto heal action type. +type AutoHealActionType string + +const ( + // CustomAction ... + CustomAction AutoHealActionType = "CustomAction" + // LogEvent ... + LogEvent AutoHealActionType = "LogEvent" + // Recycle ... + Recycle AutoHealActionType = "Recycle" +) + +// PossibleAutoHealActionTypeValues returns an array of possible values for the AutoHealActionType const type. +func PossibleAutoHealActionTypeValues() []AutoHealActionType { + return []AutoHealActionType{CustomAction, LogEvent, Recycle} +} + +// AzureResourceType enumerates the values for azure resource type. +type AzureResourceType string + +const ( + // TrafficManager ... + TrafficManager AzureResourceType = "TrafficManager" + // Website ... + Website AzureResourceType = "Website" +) + +// PossibleAzureResourceTypeValues returns an array of possible values for the AzureResourceType const type. +func PossibleAzureResourceTypeValues() []AzureResourceType { + return []AzureResourceType{TrafficManager, Website} +} + +// AzureStorageState enumerates the values for azure storage state. +type AzureStorageState string + +const ( + // InvalidCredentials ... + InvalidCredentials AzureStorageState = "InvalidCredentials" + // InvalidShare ... + InvalidShare AzureStorageState = "InvalidShare" + // Ok ... + Ok AzureStorageState = "Ok" +) + +// PossibleAzureStorageStateValues returns an array of possible values for the AzureStorageState const type. +func PossibleAzureStorageStateValues() []AzureStorageState { + return []AzureStorageState{InvalidCredentials, InvalidShare, Ok} +} + +// AzureStorageType enumerates the values for azure storage type. +type AzureStorageType string + +const ( + // AzureBlob ... + AzureBlob AzureStorageType = "AzureBlob" + // AzureFiles ... + AzureFiles AzureStorageType = "AzureFiles" +) + +// PossibleAzureStorageTypeValues returns an array of possible values for the AzureStorageType const type. +func PossibleAzureStorageTypeValues() []AzureStorageType { + return []AzureStorageType{AzureBlob, AzureFiles} +} + +// BackupItemStatus enumerates the values for backup item status. +type BackupItemStatus string + +const ( + // Created ... + Created BackupItemStatus = "Created" + // Deleted ... + Deleted BackupItemStatus = "Deleted" + // DeleteFailed ... + DeleteFailed BackupItemStatus = "DeleteFailed" + // DeleteInProgress ... + DeleteInProgress BackupItemStatus = "DeleteInProgress" + // Failed ... + Failed BackupItemStatus = "Failed" + // InProgress ... + InProgress BackupItemStatus = "InProgress" + // PartiallySucceeded ... + PartiallySucceeded BackupItemStatus = "PartiallySucceeded" + // Skipped ... + Skipped BackupItemStatus = "Skipped" + // Succeeded ... + Succeeded BackupItemStatus = "Succeeded" + // TimedOut ... + TimedOut BackupItemStatus = "TimedOut" +) + +// PossibleBackupItemStatusValues returns an array of possible values for the BackupItemStatus const type. +func PossibleBackupItemStatusValues() []BackupItemStatus { + return []BackupItemStatus{Created, Deleted, DeleteFailed, DeleteInProgress, Failed, InProgress, PartiallySucceeded, Skipped, Succeeded, TimedOut} +} + +// BackupRestoreOperationType enumerates the values for backup restore operation type. +type BackupRestoreOperationType string + +const ( + // BackupRestoreOperationTypeClone ... + BackupRestoreOperationTypeClone BackupRestoreOperationType = "Clone" + // BackupRestoreOperationTypeCloudFS ... + BackupRestoreOperationTypeCloudFS BackupRestoreOperationType = "CloudFS" + // BackupRestoreOperationTypeDefault ... + BackupRestoreOperationTypeDefault BackupRestoreOperationType = "Default" + // BackupRestoreOperationTypeRelocation ... + BackupRestoreOperationTypeRelocation BackupRestoreOperationType = "Relocation" + // BackupRestoreOperationTypeSnapshot ... + BackupRestoreOperationTypeSnapshot BackupRestoreOperationType = "Snapshot" +) + +// PossibleBackupRestoreOperationTypeValues returns an array of possible values for the BackupRestoreOperationType const type. +func PossibleBackupRestoreOperationTypeValues() []BackupRestoreOperationType { + return []BackupRestoreOperationType{BackupRestoreOperationTypeClone, BackupRestoreOperationTypeCloudFS, BackupRestoreOperationTypeDefault, BackupRestoreOperationTypeRelocation, BackupRestoreOperationTypeSnapshot} +} + +// BuiltInAuthenticationProvider enumerates the values for built in authentication provider. +type BuiltInAuthenticationProvider string + +const ( + // AzureActiveDirectory ... + AzureActiveDirectory BuiltInAuthenticationProvider = "AzureActiveDirectory" + // Facebook ... + Facebook BuiltInAuthenticationProvider = "Facebook" + // Google ... + Google BuiltInAuthenticationProvider = "Google" + // MicrosoftAccount ... + MicrosoftAccount BuiltInAuthenticationProvider = "MicrosoftAccount" + // Twitter ... + Twitter BuiltInAuthenticationProvider = "Twitter" +) + +// PossibleBuiltInAuthenticationProviderValues returns an array of possible values for the BuiltInAuthenticationProvider const type. +func PossibleBuiltInAuthenticationProviderValues() []BuiltInAuthenticationProvider { + return []BuiltInAuthenticationProvider{AzureActiveDirectory, Facebook, Google, MicrosoftAccount, Twitter} +} + +// CertificateOrderActionType enumerates the values for certificate order action type. +type CertificateOrderActionType string + +const ( + // CertificateExpirationWarning ... + CertificateExpirationWarning CertificateOrderActionType = "CertificateExpirationWarning" + // CertificateExpired ... + CertificateExpired CertificateOrderActionType = "CertificateExpired" + // CertificateIssued ... + CertificateIssued CertificateOrderActionType = "CertificateIssued" + // CertificateOrderCanceled ... + CertificateOrderCanceled CertificateOrderActionType = "CertificateOrderCanceled" + // CertificateOrderCreated ... + CertificateOrderCreated CertificateOrderActionType = "CertificateOrderCreated" + // CertificateRevoked ... + CertificateRevoked CertificateOrderActionType = "CertificateRevoked" + // DomainValidationComplete ... + DomainValidationComplete CertificateOrderActionType = "DomainValidationComplete" + // FraudCleared ... + FraudCleared CertificateOrderActionType = "FraudCleared" + // FraudDetected ... + FraudDetected CertificateOrderActionType = "FraudDetected" + // FraudDocumentationRequired ... + FraudDocumentationRequired CertificateOrderActionType = "FraudDocumentationRequired" + // OrgNameChange ... + OrgNameChange CertificateOrderActionType = "OrgNameChange" + // OrgValidationComplete ... + OrgValidationComplete CertificateOrderActionType = "OrgValidationComplete" + // SanDrop ... + SanDrop CertificateOrderActionType = "SanDrop" + // Unknown ... + Unknown CertificateOrderActionType = "Unknown" +) + +// PossibleCertificateOrderActionTypeValues returns an array of possible values for the CertificateOrderActionType const type. +func PossibleCertificateOrderActionTypeValues() []CertificateOrderActionType { + return []CertificateOrderActionType{CertificateExpirationWarning, CertificateExpired, CertificateIssued, CertificateOrderCanceled, CertificateOrderCreated, CertificateRevoked, DomainValidationComplete, FraudCleared, FraudDetected, FraudDocumentationRequired, OrgNameChange, OrgValidationComplete, SanDrop, Unknown} +} + +// CertificateOrderStatus enumerates the values for certificate order status. +type CertificateOrderStatus string + +const ( + // Canceled ... + Canceled CertificateOrderStatus = "Canceled" + // Denied ... + Denied CertificateOrderStatus = "Denied" + // Expired ... + Expired CertificateOrderStatus = "Expired" + // Issued ... + Issued CertificateOrderStatus = "Issued" + // NotSubmitted ... + NotSubmitted CertificateOrderStatus = "NotSubmitted" + // Pendingissuance ... + Pendingissuance CertificateOrderStatus = "Pendingissuance" + // PendingRekey ... + PendingRekey CertificateOrderStatus = "PendingRekey" + // Pendingrevocation ... + Pendingrevocation CertificateOrderStatus = "Pendingrevocation" + // Revoked ... + Revoked CertificateOrderStatus = "Revoked" + // Unused ... + Unused CertificateOrderStatus = "Unused" +) + +// PossibleCertificateOrderStatusValues returns an array of possible values for the CertificateOrderStatus const type. +func PossibleCertificateOrderStatusValues() []CertificateOrderStatus { + return []CertificateOrderStatus{Canceled, Denied, Expired, Issued, NotSubmitted, Pendingissuance, PendingRekey, Pendingrevocation, Revoked, Unused} +} + +// CertificateProductType enumerates the values for certificate product type. +type CertificateProductType string + +const ( + // StandardDomainValidatedSsl ... + StandardDomainValidatedSsl CertificateProductType = "StandardDomainValidatedSsl" + // StandardDomainValidatedWildCardSsl ... + StandardDomainValidatedWildCardSsl CertificateProductType = "StandardDomainValidatedWildCardSsl" +) + +// PossibleCertificateProductTypeValues returns an array of possible values for the CertificateProductType const type. +func PossibleCertificateProductTypeValues() []CertificateProductType { + return []CertificateProductType{StandardDomainValidatedSsl, StandardDomainValidatedWildCardSsl} +} + +// Channels enumerates the values for channels. +type Channels string + +const ( + // All ... + All Channels = "All" + // API ... + API Channels = "Api" + // Email ... + Email Channels = "Email" + // Notification ... + Notification Channels = "Notification" + // Webhook ... + Webhook Channels = "Webhook" +) + +// PossibleChannelsValues returns an array of possible values for the Channels const type. +func PossibleChannelsValues() []Channels { + return []Channels{All, API, Email, Notification, Webhook} +} + +// CheckNameResourceTypes enumerates the values for check name resource types. +type CheckNameResourceTypes string + +const ( + // CheckNameResourceTypesHostingEnvironment ... + CheckNameResourceTypesHostingEnvironment CheckNameResourceTypes = "HostingEnvironment" + // CheckNameResourceTypesMicrosoftWebhostingEnvironments ... + CheckNameResourceTypesMicrosoftWebhostingEnvironments CheckNameResourceTypes = "Microsoft.Web/hostingEnvironments" + // CheckNameResourceTypesMicrosoftWebpublishingUsers ... + CheckNameResourceTypesMicrosoftWebpublishingUsers CheckNameResourceTypes = "Microsoft.Web/publishingUsers" + // CheckNameResourceTypesMicrosoftWebsites ... + CheckNameResourceTypesMicrosoftWebsites CheckNameResourceTypes = "Microsoft.Web/sites" + // CheckNameResourceTypesMicrosoftWebsitesslots ... + CheckNameResourceTypesMicrosoftWebsitesslots CheckNameResourceTypes = "Microsoft.Web/sites/slots" + // CheckNameResourceTypesPublishingUser ... + CheckNameResourceTypesPublishingUser CheckNameResourceTypes = "PublishingUser" + // CheckNameResourceTypesSite ... + CheckNameResourceTypesSite CheckNameResourceTypes = "Site" + // CheckNameResourceTypesSlot ... + CheckNameResourceTypesSlot CheckNameResourceTypes = "Slot" +) + +// PossibleCheckNameResourceTypesValues returns an array of possible values for the CheckNameResourceTypes const type. +func PossibleCheckNameResourceTypesValues() []CheckNameResourceTypes { + return []CheckNameResourceTypes{CheckNameResourceTypesHostingEnvironment, CheckNameResourceTypesMicrosoftWebhostingEnvironments, CheckNameResourceTypesMicrosoftWebpublishingUsers, CheckNameResourceTypesMicrosoftWebsites, CheckNameResourceTypesMicrosoftWebsitesslots, CheckNameResourceTypesPublishingUser, CheckNameResourceTypesSite, CheckNameResourceTypesSlot} +} + +// CloneAbilityResult enumerates the values for clone ability result. +type CloneAbilityResult string + +const ( + // Cloneable ... + Cloneable CloneAbilityResult = "Cloneable" + // NotCloneable ... + NotCloneable CloneAbilityResult = "NotCloneable" + // PartiallyCloneable ... + PartiallyCloneable CloneAbilityResult = "PartiallyCloneable" +) + +// PossibleCloneAbilityResultValues returns an array of possible values for the CloneAbilityResult const type. +func PossibleCloneAbilityResultValues() []CloneAbilityResult { + return []CloneAbilityResult{Cloneable, NotCloneable, PartiallyCloneable} +} + +// ComputeModeOptions enumerates the values for compute mode options. +type ComputeModeOptions string + +const ( + // ComputeModeOptionsDedicated ... + ComputeModeOptionsDedicated ComputeModeOptions = "Dedicated" + // ComputeModeOptionsDynamic ... + ComputeModeOptionsDynamic ComputeModeOptions = "Dynamic" + // ComputeModeOptionsShared ... + ComputeModeOptionsShared ComputeModeOptions = "Shared" +) + +// PossibleComputeModeOptionsValues returns an array of possible values for the ComputeModeOptions const type. +func PossibleComputeModeOptionsValues() []ComputeModeOptions { + return []ComputeModeOptions{ComputeModeOptionsDedicated, ComputeModeOptionsDynamic, ComputeModeOptionsShared} +} + +// ConnectionStringType enumerates the values for connection string type. +type ConnectionStringType string + +const ( + // APIHub ... + APIHub ConnectionStringType = "ApiHub" + // Custom ... + Custom ConnectionStringType = "Custom" + // DocDb ... + DocDb ConnectionStringType = "DocDb" + // EventHub ... + EventHub ConnectionStringType = "EventHub" + // MySQL ... + MySQL ConnectionStringType = "MySql" + // NotificationHub ... + NotificationHub ConnectionStringType = "NotificationHub" + // PostgreSQL ... + PostgreSQL ConnectionStringType = "PostgreSQL" + // RedisCache ... + RedisCache ConnectionStringType = "RedisCache" + // ServiceBus ... + ServiceBus ConnectionStringType = "ServiceBus" + // SQLAzure ... + SQLAzure ConnectionStringType = "SQLAzure" + // SQLServer ... + SQLServer ConnectionStringType = "SQLServer" +) + +// PossibleConnectionStringTypeValues returns an array of possible values for the ConnectionStringType const type. +func PossibleConnectionStringTypeValues() []ConnectionStringType { + return []ConnectionStringType{APIHub, Custom, DocDb, EventHub, MySQL, NotificationHub, PostgreSQL, RedisCache, ServiceBus, SQLAzure, SQLServer} +} + +// ContinuousWebJobStatus enumerates the values for continuous web job status. +type ContinuousWebJobStatus string + +const ( + // Initializing ... + Initializing ContinuousWebJobStatus = "Initializing" + // PendingRestart ... + PendingRestart ContinuousWebJobStatus = "PendingRestart" + // Running ... + Running ContinuousWebJobStatus = "Running" + // Starting ... + Starting ContinuousWebJobStatus = "Starting" + // Stopped ... + Stopped ContinuousWebJobStatus = "Stopped" +) + +// PossibleContinuousWebJobStatusValues returns an array of possible values for the ContinuousWebJobStatus const type. +func PossibleContinuousWebJobStatusValues() []ContinuousWebJobStatus { + return []ContinuousWebJobStatus{Initializing, PendingRestart, Running, Starting, Stopped} +} + +// CustomHostNameDNSRecordType enumerates the values for custom host name dns record type. +type CustomHostNameDNSRecordType string + +const ( + // A ... + A CustomHostNameDNSRecordType = "A" + // CName ... + CName CustomHostNameDNSRecordType = "CName" +) + +// PossibleCustomHostNameDNSRecordTypeValues returns an array of possible values for the CustomHostNameDNSRecordType const type. +func PossibleCustomHostNameDNSRecordTypeValues() []CustomHostNameDNSRecordType { + return []CustomHostNameDNSRecordType{A, CName} +} + +// DatabaseType enumerates the values for database type. +type DatabaseType string + +const ( + // DatabaseTypeLocalMySQL ... + DatabaseTypeLocalMySQL DatabaseType = "LocalMySql" + // DatabaseTypeMySQL ... + DatabaseTypeMySQL DatabaseType = "MySql" + // DatabaseTypePostgreSQL ... + DatabaseTypePostgreSQL DatabaseType = "PostgreSql" + // DatabaseTypeSQLAzure ... + DatabaseTypeSQLAzure DatabaseType = "SqlAzure" +) + +// PossibleDatabaseTypeValues returns an array of possible values for the DatabaseType const type. +func PossibleDatabaseTypeValues() []DatabaseType { + return []DatabaseType{DatabaseTypeLocalMySQL, DatabaseTypeMySQL, DatabaseTypePostgreSQL, DatabaseTypeSQLAzure} +} + +// DNSType enumerates the values for dns type. +type DNSType string + +const ( + // AzureDNS ... + AzureDNS DNSType = "AzureDns" + // DefaultDomainRegistrarDNS ... + DefaultDomainRegistrarDNS DNSType = "DefaultDomainRegistrarDns" +) + +// PossibleDNSTypeValues returns an array of possible values for the DNSType const type. +func PossibleDNSTypeValues() []DNSType { + return []DNSType{AzureDNS, DefaultDomainRegistrarDNS} +} + +// DNSVerificationTestResult enumerates the values for dns verification test result. +type DNSVerificationTestResult string + +const ( + // DNSVerificationTestResultFailed ... + DNSVerificationTestResultFailed DNSVerificationTestResult = "Failed" + // DNSVerificationTestResultPassed ... + DNSVerificationTestResultPassed DNSVerificationTestResult = "Passed" + // DNSVerificationTestResultSkipped ... + DNSVerificationTestResultSkipped DNSVerificationTestResult = "Skipped" +) + +// PossibleDNSVerificationTestResultValues returns an array of possible values for the DNSVerificationTestResult const type. +func PossibleDNSVerificationTestResultValues() []DNSVerificationTestResult { + return []DNSVerificationTestResult{DNSVerificationTestResultFailed, DNSVerificationTestResultPassed, DNSVerificationTestResultSkipped} +} + +// DomainStatus enumerates the values for domain status. +type DomainStatus string + +const ( + // DomainStatusActive ... + DomainStatusActive DomainStatus = "Active" + // DomainStatusAwaiting ... + DomainStatusAwaiting DomainStatus = "Awaiting" + // DomainStatusCancelled ... + DomainStatusCancelled DomainStatus = "Cancelled" + // DomainStatusConfiscated ... + DomainStatusConfiscated DomainStatus = "Confiscated" + // DomainStatusDisabled ... + DomainStatusDisabled DomainStatus = "Disabled" + // DomainStatusExcluded ... + DomainStatusExcluded DomainStatus = "Excluded" + // DomainStatusExpired ... + DomainStatusExpired DomainStatus = "Expired" + // DomainStatusFailed ... + DomainStatusFailed DomainStatus = "Failed" + // DomainStatusHeld ... + DomainStatusHeld DomainStatus = "Held" + // DomainStatusJSONConverterFailed ... + DomainStatusJSONConverterFailed DomainStatus = "JsonConverterFailed" + // DomainStatusLocked ... + DomainStatusLocked DomainStatus = "Locked" + // DomainStatusParked ... + DomainStatusParked DomainStatus = "Parked" + // DomainStatusPending ... + DomainStatusPending DomainStatus = "Pending" + // DomainStatusReserved ... + DomainStatusReserved DomainStatus = "Reserved" + // DomainStatusReverted ... + DomainStatusReverted DomainStatus = "Reverted" + // DomainStatusSuspended ... + DomainStatusSuspended DomainStatus = "Suspended" + // DomainStatusTransferred ... + DomainStatusTransferred DomainStatus = "Transferred" + // DomainStatusUnknown ... + DomainStatusUnknown DomainStatus = "Unknown" + // DomainStatusUnlocked ... + DomainStatusUnlocked DomainStatus = "Unlocked" + // DomainStatusUnparked ... + DomainStatusUnparked DomainStatus = "Unparked" + // DomainStatusUpdated ... + DomainStatusUpdated DomainStatus = "Updated" +) + +// PossibleDomainStatusValues returns an array of possible values for the DomainStatus const type. +func PossibleDomainStatusValues() []DomainStatus { + return []DomainStatus{DomainStatusActive, DomainStatusAwaiting, DomainStatusCancelled, DomainStatusConfiscated, DomainStatusDisabled, DomainStatusExcluded, DomainStatusExpired, DomainStatusFailed, DomainStatusHeld, DomainStatusJSONConverterFailed, DomainStatusLocked, DomainStatusParked, DomainStatusPending, DomainStatusReserved, DomainStatusReverted, DomainStatusSuspended, DomainStatusTransferred, DomainStatusUnknown, DomainStatusUnlocked, DomainStatusUnparked, DomainStatusUpdated} +} + +// DomainType enumerates the values for domain type. +type DomainType string + +const ( + // Regular ... + Regular DomainType = "Regular" + // SoftDeleted ... + SoftDeleted DomainType = "SoftDeleted" +) + +// PossibleDomainTypeValues returns an array of possible values for the DomainType const type. +func PossibleDomainTypeValues() []DomainType { + return []DomainType{Regular, SoftDeleted} +} + +// FrequencyUnit enumerates the values for frequency unit. +type FrequencyUnit string + +const ( + // Day ... + Day FrequencyUnit = "Day" + // Hour ... + Hour FrequencyUnit = "Hour" +) + +// PossibleFrequencyUnitValues returns an array of possible values for the FrequencyUnit const type. +func PossibleFrequencyUnitValues() []FrequencyUnit { + return []FrequencyUnit{Day, Hour} +} + +// FtpsState enumerates the values for ftps state. +type FtpsState string + +const ( + // AllAllowed ... + AllAllowed FtpsState = "AllAllowed" + // Disabled ... + Disabled FtpsState = "Disabled" + // FtpsOnly ... + FtpsOnly FtpsState = "FtpsOnly" +) + +// PossibleFtpsStateValues returns an array of possible values for the FtpsState const type. +func PossibleFtpsStateValues() []FtpsState { + return []FtpsState{AllAllowed, Disabled, FtpsOnly} +} + +// HostingEnvironmentStatus enumerates the values for hosting environment status. +type HostingEnvironmentStatus string + +const ( + // Deleting ... + Deleting HostingEnvironmentStatus = "Deleting" + // Preparing ... + Preparing HostingEnvironmentStatus = "Preparing" + // Ready ... + Ready HostingEnvironmentStatus = "Ready" + // Scaling ... + Scaling HostingEnvironmentStatus = "Scaling" +) + +// PossibleHostingEnvironmentStatusValues returns an array of possible values for the HostingEnvironmentStatus const type. +func PossibleHostingEnvironmentStatusValues() []HostingEnvironmentStatus { + return []HostingEnvironmentStatus{Deleting, Preparing, Ready, Scaling} +} + +// HostNameType enumerates the values for host name type. +type HostNameType string + +const ( + // Managed ... + Managed HostNameType = "Managed" + // Verified ... + Verified HostNameType = "Verified" +) + +// PossibleHostNameTypeValues returns an array of possible values for the HostNameType const type. +func PossibleHostNameTypeValues() []HostNameType { + return []HostNameType{Managed, Verified} +} + +// HostType enumerates the values for host type. +type HostType string + +const ( + // HostTypeRepository ... + HostTypeRepository HostType = "Repository" + // HostTypeStandard ... + HostTypeStandard HostType = "Standard" +) + +// PossibleHostTypeValues returns an array of possible values for the HostType const type. +func PossibleHostTypeValues() []HostType { + return []HostType{HostTypeRepository, HostTypeStandard} +} + +// InAvailabilityReasonType enumerates the values for in availability reason type. +type InAvailabilityReasonType string + +const ( + // AlreadyExists ... + AlreadyExists InAvailabilityReasonType = "AlreadyExists" + // Invalid ... + Invalid InAvailabilityReasonType = "Invalid" +) + +// PossibleInAvailabilityReasonTypeValues returns an array of possible values for the InAvailabilityReasonType const type. +func PossibleInAvailabilityReasonTypeValues() []InAvailabilityReasonType { + return []InAvailabilityReasonType{AlreadyExists, Invalid} +} + +// InternalLoadBalancingMode enumerates the values for internal load balancing mode. +type InternalLoadBalancingMode string + +const ( + // InternalLoadBalancingModeNone ... + InternalLoadBalancingModeNone InternalLoadBalancingMode = "None" + // InternalLoadBalancingModePublishing ... + InternalLoadBalancingModePublishing InternalLoadBalancingMode = "Publishing" + // InternalLoadBalancingModeWeb ... + InternalLoadBalancingModeWeb InternalLoadBalancingMode = "Web" +) + +// PossibleInternalLoadBalancingModeValues returns an array of possible values for the InternalLoadBalancingMode const type. +func PossibleInternalLoadBalancingModeValues() []InternalLoadBalancingMode { + return []InternalLoadBalancingMode{InternalLoadBalancingModeNone, InternalLoadBalancingModePublishing, InternalLoadBalancingModeWeb} +} + +// IPFilterTag enumerates the values for ip filter tag. +type IPFilterTag string + +const ( + // Default ... + Default IPFilterTag = "Default" + // XffProxy ... + XffProxy IPFilterTag = "XffProxy" +) + +// PossibleIPFilterTagValues returns an array of possible values for the IPFilterTag const type. +func PossibleIPFilterTagValues() []IPFilterTag { + return []IPFilterTag{Default, XffProxy} +} + +// IssueType enumerates the values for issue type. +type IssueType string + +const ( + // AppCrash ... + AppCrash IssueType = "AppCrash" + // AppDeployment ... + AppDeployment IssueType = "AppDeployment" + // AseDeployment ... + AseDeployment IssueType = "AseDeployment" + // Other ... + Other IssueType = "Other" + // PlatformIssue ... + PlatformIssue IssueType = "PlatformIssue" + // RuntimeIssueDetected ... + RuntimeIssueDetected IssueType = "RuntimeIssueDetected" + // ServiceIncident ... + ServiceIncident IssueType = "ServiceIncident" + // UserIssue ... + UserIssue IssueType = "UserIssue" +) + +// PossibleIssueTypeValues returns an array of possible values for the IssueType const type. +func PossibleIssueTypeValues() []IssueType { + return []IssueType{AppCrash, AppDeployment, AseDeployment, Other, PlatformIssue, RuntimeIssueDetected, ServiceIncident, UserIssue} +} + +// JobType enumerates the values for job type. +type JobType string + +const ( + // Continuous ... + Continuous JobType = "Continuous" + // Triggered ... + Triggered JobType = "Triggered" +) + +// PossibleJobTypeValues returns an array of possible values for the JobType const type. +func PossibleJobTypeValues() []JobType { + return []JobType{Continuous, Triggered} +} + +// KeyVaultSecretStatus enumerates the values for key vault secret status. +type KeyVaultSecretStatus string + +const ( + // KeyVaultSecretStatusAzureServiceUnauthorizedToAccessKeyVault ... + KeyVaultSecretStatusAzureServiceUnauthorizedToAccessKeyVault KeyVaultSecretStatus = "AzureServiceUnauthorizedToAccessKeyVault" + // KeyVaultSecretStatusCertificateOrderFailed ... + KeyVaultSecretStatusCertificateOrderFailed KeyVaultSecretStatus = "CertificateOrderFailed" + // KeyVaultSecretStatusExternalPrivateKey ... + KeyVaultSecretStatusExternalPrivateKey KeyVaultSecretStatus = "ExternalPrivateKey" + // KeyVaultSecretStatusInitialized ... + KeyVaultSecretStatusInitialized KeyVaultSecretStatus = "Initialized" + // KeyVaultSecretStatusKeyVaultDoesNotExist ... + KeyVaultSecretStatusKeyVaultDoesNotExist KeyVaultSecretStatus = "KeyVaultDoesNotExist" + // KeyVaultSecretStatusKeyVaultSecretDoesNotExist ... + KeyVaultSecretStatusKeyVaultSecretDoesNotExist KeyVaultSecretStatus = "KeyVaultSecretDoesNotExist" + // KeyVaultSecretStatusOperationNotPermittedOnKeyVault ... + KeyVaultSecretStatusOperationNotPermittedOnKeyVault KeyVaultSecretStatus = "OperationNotPermittedOnKeyVault" + // KeyVaultSecretStatusSucceeded ... + KeyVaultSecretStatusSucceeded KeyVaultSecretStatus = "Succeeded" + // KeyVaultSecretStatusUnknown ... + KeyVaultSecretStatusUnknown KeyVaultSecretStatus = "Unknown" + // KeyVaultSecretStatusUnknownError ... + KeyVaultSecretStatusUnknownError KeyVaultSecretStatus = "UnknownError" + // KeyVaultSecretStatusWaitingOnCertificateOrder ... + KeyVaultSecretStatusWaitingOnCertificateOrder KeyVaultSecretStatus = "WaitingOnCertificateOrder" +) + +// PossibleKeyVaultSecretStatusValues returns an array of possible values for the KeyVaultSecretStatus const type. +func PossibleKeyVaultSecretStatusValues() []KeyVaultSecretStatus { + return []KeyVaultSecretStatus{KeyVaultSecretStatusAzureServiceUnauthorizedToAccessKeyVault, KeyVaultSecretStatusCertificateOrderFailed, KeyVaultSecretStatusExternalPrivateKey, KeyVaultSecretStatusInitialized, KeyVaultSecretStatusKeyVaultDoesNotExist, KeyVaultSecretStatusKeyVaultSecretDoesNotExist, KeyVaultSecretStatusOperationNotPermittedOnKeyVault, KeyVaultSecretStatusSucceeded, KeyVaultSecretStatusUnknown, KeyVaultSecretStatusUnknownError, KeyVaultSecretStatusWaitingOnCertificateOrder} +} + +// LogLevel enumerates the values for log level. +type LogLevel string + +const ( + // Error ... + Error LogLevel = "Error" + // Information ... + Information LogLevel = "Information" + // Off ... + Off LogLevel = "Off" + // Verbose ... + Verbose LogLevel = "Verbose" + // Warning ... + Warning LogLevel = "Warning" +) + +// PossibleLogLevelValues returns an array of possible values for the LogLevel const type. +func PossibleLogLevelValues() []LogLevel { + return []LogLevel{Error, Information, Off, Verbose, Warning} +} + +// ManagedPipelineMode enumerates the values for managed pipeline mode. +type ManagedPipelineMode string + +const ( + // Classic ... + Classic ManagedPipelineMode = "Classic" + // Integrated ... + Integrated ManagedPipelineMode = "Integrated" +) + +// PossibleManagedPipelineModeValues returns an array of possible values for the ManagedPipelineMode const type. +func PossibleManagedPipelineModeValues() []ManagedPipelineMode { + return []ManagedPipelineMode{Classic, Integrated} +} + +// ManagedServiceIdentityType enumerates the values for managed service identity type. +type ManagedServiceIdentityType string + +const ( + // ManagedServiceIdentityTypeNone ... + ManagedServiceIdentityTypeNone ManagedServiceIdentityType = "None" + // ManagedServiceIdentityTypeSystemAssigned ... + ManagedServiceIdentityTypeSystemAssigned ManagedServiceIdentityType = "SystemAssigned" + // ManagedServiceIdentityTypeSystemAssignedUserAssigned ... + ManagedServiceIdentityTypeSystemAssignedUserAssigned ManagedServiceIdentityType = "SystemAssigned, UserAssigned" + // ManagedServiceIdentityTypeUserAssigned ... + ManagedServiceIdentityTypeUserAssigned ManagedServiceIdentityType = "UserAssigned" +) + +// PossibleManagedServiceIdentityTypeValues returns an array of possible values for the ManagedServiceIdentityType const type. +func PossibleManagedServiceIdentityTypeValues() []ManagedServiceIdentityType { + return []ManagedServiceIdentityType{ManagedServiceIdentityTypeNone, ManagedServiceIdentityTypeSystemAssigned, ManagedServiceIdentityTypeSystemAssignedUserAssigned, ManagedServiceIdentityTypeUserAssigned} +} + +// MSDeployLogEntryType enumerates the values for ms deploy log entry type. +type MSDeployLogEntryType string + +const ( + // MSDeployLogEntryTypeError ... + MSDeployLogEntryTypeError MSDeployLogEntryType = "Error" + // MSDeployLogEntryTypeMessage ... + MSDeployLogEntryTypeMessage MSDeployLogEntryType = "Message" + // MSDeployLogEntryTypeWarning ... + MSDeployLogEntryTypeWarning MSDeployLogEntryType = "Warning" +) + +// PossibleMSDeployLogEntryTypeValues returns an array of possible values for the MSDeployLogEntryType const type. +func PossibleMSDeployLogEntryTypeValues() []MSDeployLogEntryType { + return []MSDeployLogEntryType{MSDeployLogEntryTypeError, MSDeployLogEntryTypeMessage, MSDeployLogEntryTypeWarning} +} + +// MSDeployProvisioningState enumerates the values for ms deploy provisioning state. +type MSDeployProvisioningState string + +const ( + // MSDeployProvisioningStateAccepted ... + MSDeployProvisioningStateAccepted MSDeployProvisioningState = "accepted" + // MSDeployProvisioningStateCanceled ... + MSDeployProvisioningStateCanceled MSDeployProvisioningState = "canceled" + // MSDeployProvisioningStateFailed ... + MSDeployProvisioningStateFailed MSDeployProvisioningState = "failed" + // MSDeployProvisioningStateRunning ... + MSDeployProvisioningStateRunning MSDeployProvisioningState = "running" + // MSDeployProvisioningStateSucceeded ... + MSDeployProvisioningStateSucceeded MSDeployProvisioningState = "succeeded" +) + +// PossibleMSDeployProvisioningStateValues returns an array of possible values for the MSDeployProvisioningState const type. +func PossibleMSDeployProvisioningStateValues() []MSDeployProvisioningState { + return []MSDeployProvisioningState{MSDeployProvisioningStateAccepted, MSDeployProvisioningStateCanceled, MSDeployProvisioningStateFailed, MSDeployProvisioningStateRunning, MSDeployProvisioningStateSucceeded} +} + +// MySQLMigrationType enumerates the values for my sql migration type. +type MySQLMigrationType string + +const ( + // LocalToRemote ... + LocalToRemote MySQLMigrationType = "LocalToRemote" + // RemoteToLocal ... + RemoteToLocal MySQLMigrationType = "RemoteToLocal" +) + +// PossibleMySQLMigrationTypeValues returns an array of possible values for the MySQLMigrationType const type. +func PossibleMySQLMigrationTypeValues() []MySQLMigrationType { + return []MySQLMigrationType{LocalToRemote, RemoteToLocal} +} + +// NotificationLevel enumerates the values for notification level. +type NotificationLevel string + +const ( + // NotificationLevelCritical ... + NotificationLevelCritical NotificationLevel = "Critical" + // NotificationLevelInformation ... + NotificationLevelInformation NotificationLevel = "Information" + // NotificationLevelNonUrgentSuggestion ... + NotificationLevelNonUrgentSuggestion NotificationLevel = "NonUrgentSuggestion" + // NotificationLevelWarning ... + NotificationLevelWarning NotificationLevel = "Warning" +) + +// PossibleNotificationLevelValues returns an array of possible values for the NotificationLevel const type. +func PossibleNotificationLevelValues() []NotificationLevel { + return []NotificationLevel{NotificationLevelCritical, NotificationLevelInformation, NotificationLevelNonUrgentSuggestion, NotificationLevelWarning} +} + +// OperationStatus enumerates the values for operation status. +type OperationStatus string + +const ( + // OperationStatusCreated ... + OperationStatusCreated OperationStatus = "Created" + // OperationStatusFailed ... + OperationStatusFailed OperationStatus = "Failed" + // OperationStatusInProgress ... + OperationStatusInProgress OperationStatus = "InProgress" + // OperationStatusSucceeded ... + OperationStatusSucceeded OperationStatus = "Succeeded" + // OperationStatusTimedOut ... + OperationStatusTimedOut OperationStatus = "TimedOut" +) + +// PossibleOperationStatusValues returns an array of possible values for the OperationStatus const type. +func PossibleOperationStatusValues() []OperationStatus { + return []OperationStatus{OperationStatusCreated, OperationStatusFailed, OperationStatusInProgress, OperationStatusSucceeded, OperationStatusTimedOut} +} + +// ProvisioningState enumerates the values for provisioning state. +type ProvisioningState string + +const ( + // ProvisioningStateCanceled ... + ProvisioningStateCanceled ProvisioningState = "Canceled" + // ProvisioningStateDeleting ... + ProvisioningStateDeleting ProvisioningState = "Deleting" + // ProvisioningStateFailed ... + ProvisioningStateFailed ProvisioningState = "Failed" + // ProvisioningStateInProgress ... + ProvisioningStateInProgress ProvisioningState = "InProgress" + // ProvisioningStateSucceeded ... + ProvisioningStateSucceeded ProvisioningState = "Succeeded" +) + +// PossibleProvisioningStateValues returns an array of possible values for the ProvisioningState const type. +func PossibleProvisioningStateValues() []ProvisioningState { + return []ProvisioningState{ProvisioningStateCanceled, ProvisioningStateDeleting, ProvisioningStateFailed, ProvisioningStateInProgress, ProvisioningStateSucceeded} +} + +// PublicCertificateLocation enumerates the values for public certificate location. +type PublicCertificateLocation string + +const ( + // PublicCertificateLocationCurrentUserMy ... + PublicCertificateLocationCurrentUserMy PublicCertificateLocation = "CurrentUserMy" + // PublicCertificateLocationLocalMachineMy ... + PublicCertificateLocationLocalMachineMy PublicCertificateLocation = "LocalMachineMy" + // PublicCertificateLocationUnknown ... + PublicCertificateLocationUnknown PublicCertificateLocation = "Unknown" +) + +// PossiblePublicCertificateLocationValues returns an array of possible values for the PublicCertificateLocation const type. +func PossiblePublicCertificateLocationValues() []PublicCertificateLocation { + return []PublicCertificateLocation{PublicCertificateLocationCurrentUserMy, PublicCertificateLocationLocalMachineMy, PublicCertificateLocationUnknown} +} + +// PublishingProfileFormat enumerates the values for publishing profile format. +type PublishingProfileFormat string + +const ( + // FileZilla3 ... + FileZilla3 PublishingProfileFormat = "FileZilla3" + // Ftp ... + Ftp PublishingProfileFormat = "Ftp" + // WebDeploy ... + WebDeploy PublishingProfileFormat = "WebDeploy" +) + +// PossiblePublishingProfileFormatValues returns an array of possible values for the PublishingProfileFormat const type. +func PossiblePublishingProfileFormatValues() []PublishingProfileFormat { + return []PublishingProfileFormat{FileZilla3, Ftp, WebDeploy} +} + +// RedundancyMode enumerates the values for redundancy mode. +type RedundancyMode string + +const ( + // RedundancyModeActiveActive ... + RedundancyModeActiveActive RedundancyMode = "ActiveActive" + // RedundancyModeFailover ... + RedundancyModeFailover RedundancyMode = "Failover" + // RedundancyModeGeoRedundant ... + RedundancyModeGeoRedundant RedundancyMode = "GeoRedundant" + // RedundancyModeManual ... + RedundancyModeManual RedundancyMode = "Manual" + // RedundancyModeNone ... + RedundancyModeNone RedundancyMode = "None" +) + +// PossibleRedundancyModeValues returns an array of possible values for the RedundancyMode const type. +func PossibleRedundancyModeValues() []RedundancyMode { + return []RedundancyMode{RedundancyModeActiveActive, RedundancyModeFailover, RedundancyModeGeoRedundant, RedundancyModeManual, RedundancyModeNone} +} + +// RenderingType enumerates the values for rendering type. +type RenderingType string + +const ( + // NoGraph ... + NoGraph RenderingType = "NoGraph" + // Table ... + Table RenderingType = "Table" + // TimeSeries ... + TimeSeries RenderingType = "TimeSeries" + // TimeSeriesPerInstance ... + TimeSeriesPerInstance RenderingType = "TimeSeriesPerInstance" +) + +// PossibleRenderingTypeValues returns an array of possible values for the RenderingType const type. +func PossibleRenderingTypeValues() []RenderingType { + return []RenderingType{NoGraph, Table, TimeSeries, TimeSeriesPerInstance} +} + +// ResourceScopeType enumerates the values for resource scope type. +type ResourceScopeType string + +const ( + // ServerFarm ... + ServerFarm ResourceScopeType = "ServerFarm" + // Subscription ... + Subscription ResourceScopeType = "Subscription" + // WebSite ... + WebSite ResourceScopeType = "WebSite" +) + +// PossibleResourceScopeTypeValues returns an array of possible values for the ResourceScopeType const type. +func PossibleResourceScopeTypeValues() []ResourceScopeType { + return []ResourceScopeType{ServerFarm, Subscription, WebSite} +} + +// RouteType enumerates the values for route type. +type RouteType string + +const ( + // DEFAULT ... + DEFAULT RouteType = "DEFAULT" + // INHERITED ... + INHERITED RouteType = "INHERITED" + // STATIC ... + STATIC RouteType = "STATIC" +) + +// PossibleRouteTypeValues returns an array of possible values for the RouteType const type. +func PossibleRouteTypeValues() []RouteType { + return []RouteType{DEFAULT, INHERITED, STATIC} +} + +// ScmType enumerates the values for scm type. +type ScmType string + +const ( + // ScmTypeBitbucketGit ... + ScmTypeBitbucketGit ScmType = "BitbucketGit" + // ScmTypeBitbucketHg ... + ScmTypeBitbucketHg ScmType = "BitbucketHg" + // ScmTypeCodePlexGit ... + ScmTypeCodePlexGit ScmType = "CodePlexGit" + // ScmTypeCodePlexHg ... + ScmTypeCodePlexHg ScmType = "CodePlexHg" + // ScmTypeDropbox ... + ScmTypeDropbox ScmType = "Dropbox" + // ScmTypeExternalGit ... + ScmTypeExternalGit ScmType = "ExternalGit" + // ScmTypeExternalHg ... + ScmTypeExternalHg ScmType = "ExternalHg" + // ScmTypeGitHub ... + ScmTypeGitHub ScmType = "GitHub" + // ScmTypeLocalGit ... + ScmTypeLocalGit ScmType = "LocalGit" + // ScmTypeNone ... + ScmTypeNone ScmType = "None" + // ScmTypeOneDrive ... + ScmTypeOneDrive ScmType = "OneDrive" + // ScmTypeTfs ... + ScmTypeTfs ScmType = "Tfs" + // ScmTypeVSO ... + ScmTypeVSO ScmType = "VSO" +) + +// PossibleScmTypeValues returns an array of possible values for the ScmType const type. +func PossibleScmTypeValues() []ScmType { + return []ScmType{ScmTypeBitbucketGit, ScmTypeBitbucketHg, ScmTypeCodePlexGit, ScmTypeCodePlexHg, ScmTypeDropbox, ScmTypeExternalGit, ScmTypeExternalHg, ScmTypeGitHub, ScmTypeLocalGit, ScmTypeNone, ScmTypeOneDrive, ScmTypeTfs, ScmTypeVSO} +} + +// SiteAvailabilityState enumerates the values for site availability state. +type SiteAvailabilityState string + +const ( + // DisasterRecoveryMode ... + DisasterRecoveryMode SiteAvailabilityState = "DisasterRecoveryMode" + // Limited ... + Limited SiteAvailabilityState = "Limited" + // Normal ... + Normal SiteAvailabilityState = "Normal" +) + +// PossibleSiteAvailabilityStateValues returns an array of possible values for the SiteAvailabilityState const type. +func PossibleSiteAvailabilityStateValues() []SiteAvailabilityState { + return []SiteAvailabilityState{DisasterRecoveryMode, Limited, Normal} +} + +// SiteExtensionType enumerates the values for site extension type. +type SiteExtensionType string + +const ( + // Gallery ... + Gallery SiteExtensionType = "Gallery" + // WebRoot ... + WebRoot SiteExtensionType = "WebRoot" +) + +// PossibleSiteExtensionTypeValues returns an array of possible values for the SiteExtensionType const type. +func PossibleSiteExtensionTypeValues() []SiteExtensionType { + return []SiteExtensionType{Gallery, WebRoot} +} + +// SiteLoadBalancing enumerates the values for site load balancing. +type SiteLoadBalancing string + +const ( + // LeastRequests ... + LeastRequests SiteLoadBalancing = "LeastRequests" + // LeastResponseTime ... + LeastResponseTime SiteLoadBalancing = "LeastResponseTime" + // RequestHash ... + RequestHash SiteLoadBalancing = "RequestHash" + // WeightedRoundRobin ... + WeightedRoundRobin SiteLoadBalancing = "WeightedRoundRobin" + // WeightedTotalTraffic ... + WeightedTotalTraffic SiteLoadBalancing = "WeightedTotalTraffic" +) + +// PossibleSiteLoadBalancingValues returns an array of possible values for the SiteLoadBalancing const type. +func PossibleSiteLoadBalancingValues() []SiteLoadBalancing { + return []SiteLoadBalancing{LeastRequests, LeastResponseTime, RequestHash, WeightedRoundRobin, WeightedTotalTraffic} +} + +// SkuName enumerates the values for sku name. +type SkuName string + +const ( + // SkuNameBasic ... + SkuNameBasic SkuName = "Basic" + // SkuNameDynamic ... + SkuNameDynamic SkuName = "Dynamic" + // SkuNameElasticIsolated ... + SkuNameElasticIsolated SkuName = "ElasticIsolated" + // SkuNameElasticPremium ... + SkuNameElasticPremium SkuName = "ElasticPremium" + // SkuNameFree ... + SkuNameFree SkuName = "Free" + // SkuNameIsolated ... + SkuNameIsolated SkuName = "Isolated" + // SkuNamePremium ... + SkuNamePremium SkuName = "Premium" + // SkuNamePremiumV2 ... + SkuNamePremiumV2 SkuName = "PremiumV2" + // SkuNameShared ... + SkuNameShared SkuName = "Shared" + // SkuNameStandard ... + SkuNameStandard SkuName = "Standard" +) + +// PossibleSkuNameValues returns an array of possible values for the SkuName const type. +func PossibleSkuNameValues() []SkuName { + return []SkuName{SkuNameBasic, SkuNameDynamic, SkuNameElasticIsolated, SkuNameElasticPremium, SkuNameFree, SkuNameIsolated, SkuNamePremium, SkuNamePremiumV2, SkuNameShared, SkuNameStandard} +} + +// SolutionType enumerates the values for solution type. +type SolutionType string + +const ( + // BestPractices ... + BestPractices SolutionType = "BestPractices" + // DeepInvestigation ... + DeepInvestigation SolutionType = "DeepInvestigation" + // QuickSolution ... + QuickSolution SolutionType = "QuickSolution" +) + +// PossibleSolutionTypeValues returns an array of possible values for the SolutionType const type. +func PossibleSolutionTypeValues() []SolutionType { + return []SolutionType{BestPractices, DeepInvestigation, QuickSolution} +} + +// SslState enumerates the values for ssl state. +type SslState string + +const ( + // SslStateDisabled ... + SslStateDisabled SslState = "Disabled" + // SslStateIPBasedEnabled ... + SslStateIPBasedEnabled SslState = "IpBasedEnabled" + // SslStateSniEnabled ... + SslStateSniEnabled SslState = "SniEnabled" +) + +// PossibleSslStateValues returns an array of possible values for the SslState const type. +func PossibleSslStateValues() []SslState { + return []SslState{SslStateDisabled, SslStateIPBasedEnabled, SslStateSniEnabled} +} + +// StatusOptions enumerates the values for status options. +type StatusOptions string + +const ( + // StatusOptionsCreating ... + StatusOptionsCreating StatusOptions = "Creating" + // StatusOptionsPending ... + StatusOptionsPending StatusOptions = "Pending" + // StatusOptionsReady ... + StatusOptionsReady StatusOptions = "Ready" +) + +// PossibleStatusOptionsValues returns an array of possible values for the StatusOptions const type. +func PossibleStatusOptionsValues() []StatusOptions { + return []StatusOptions{StatusOptionsCreating, StatusOptionsPending, StatusOptionsReady} +} + +// SupportedTLSVersions enumerates the values for supported tls versions. +type SupportedTLSVersions string + +const ( + // OneFullStopOne ... + OneFullStopOne SupportedTLSVersions = "1.1" + // OneFullStopTwo ... + OneFullStopTwo SupportedTLSVersions = "1.2" + // OneFullStopZero ... + OneFullStopZero SupportedTLSVersions = "1.0" +) + +// PossibleSupportedTLSVersionsValues returns an array of possible values for the SupportedTLSVersions const type. +func PossibleSupportedTLSVersionsValues() []SupportedTLSVersions { + return []SupportedTLSVersions{OneFullStopOne, OneFullStopTwo, OneFullStopZero} +} + +// TriggeredWebJobStatus enumerates the values for triggered web job status. +type TriggeredWebJobStatus string + +const ( + // TriggeredWebJobStatusError ... + TriggeredWebJobStatusError TriggeredWebJobStatus = "Error" + // TriggeredWebJobStatusFailed ... + TriggeredWebJobStatusFailed TriggeredWebJobStatus = "Failed" + // TriggeredWebJobStatusSuccess ... + TriggeredWebJobStatusSuccess TriggeredWebJobStatus = "Success" +) + +// PossibleTriggeredWebJobStatusValues returns an array of possible values for the TriggeredWebJobStatus const type. +func PossibleTriggeredWebJobStatusValues() []TriggeredWebJobStatus { + return []TriggeredWebJobStatus{TriggeredWebJobStatusError, TriggeredWebJobStatusFailed, TriggeredWebJobStatusSuccess} +} + +// UnauthenticatedClientAction enumerates the values for unauthenticated client action. +type UnauthenticatedClientAction string + +const ( + // AllowAnonymous ... + AllowAnonymous UnauthenticatedClientAction = "AllowAnonymous" + // RedirectToLoginPage ... + RedirectToLoginPage UnauthenticatedClientAction = "RedirectToLoginPage" +) + +// PossibleUnauthenticatedClientActionValues returns an array of possible values for the UnauthenticatedClientAction const type. +func PossibleUnauthenticatedClientActionValues() []UnauthenticatedClientAction { + return []UnauthenticatedClientAction{AllowAnonymous, RedirectToLoginPage} +} + +// UsageState enumerates the values for usage state. +type UsageState string + +const ( + // UsageStateExceeded ... + UsageStateExceeded UsageState = "Exceeded" + // UsageStateNormal ... + UsageStateNormal UsageState = "Normal" +) + +// PossibleUsageStateValues returns an array of possible values for the UsageState const type. +func PossibleUsageStateValues() []UsageState { + return []UsageState{UsageStateExceeded, UsageStateNormal} +} + +// ValidateResourceTypes enumerates the values for validate resource types. +type ValidateResourceTypes string + +const ( + // ValidateResourceTypesServerFarm ... + ValidateResourceTypesServerFarm ValidateResourceTypes = "ServerFarm" + // ValidateResourceTypesSite ... + ValidateResourceTypesSite ValidateResourceTypes = "Site" +) + +// PossibleValidateResourceTypesValues returns an array of possible values for the ValidateResourceTypes const type. +func PossibleValidateResourceTypesValues() []ValidateResourceTypes { + return []ValidateResourceTypes{ValidateResourceTypesServerFarm, ValidateResourceTypesSite} +} + +// WorkerSizeOptions enumerates the values for worker size options. +type WorkerSizeOptions string + +const ( + // WorkerSizeOptionsD1 ... + WorkerSizeOptionsD1 WorkerSizeOptions = "D1" + // WorkerSizeOptionsD2 ... + WorkerSizeOptionsD2 WorkerSizeOptions = "D2" + // WorkerSizeOptionsD3 ... + WorkerSizeOptionsD3 WorkerSizeOptions = "D3" + // WorkerSizeOptionsDefault ... + WorkerSizeOptionsDefault WorkerSizeOptions = "Default" + // WorkerSizeOptionsLarge ... + WorkerSizeOptionsLarge WorkerSizeOptions = "Large" + // WorkerSizeOptionsMedium ... + WorkerSizeOptionsMedium WorkerSizeOptions = "Medium" + // WorkerSizeOptionsSmall ... + WorkerSizeOptionsSmall WorkerSizeOptions = "Small" +) + +// PossibleWorkerSizeOptionsValues returns an array of possible values for the WorkerSizeOptions const type. +func PossibleWorkerSizeOptionsValues() []WorkerSizeOptions { + return []WorkerSizeOptions{WorkerSizeOptionsD1, WorkerSizeOptionsD2, WorkerSizeOptionsD3, WorkerSizeOptionsDefault, WorkerSizeOptionsLarge, WorkerSizeOptionsMedium, WorkerSizeOptionsSmall} +} + +// AbnormalTimePeriod class representing Abnormal Time Period identified in diagnosis +type AbnormalTimePeriod struct { + // StartTime - Start time of the downtime + StartTime *date.Time `json:"startTime,omitempty"` + // EndTime - End time of the downtime + EndTime *date.Time `json:"endTime,omitempty"` + // Events - List of Possible Cause of downtime + Events *[]DetectorAbnormalTimePeriod `json:"events,omitempty"` + // Solutions - List of proposed solutions + Solutions *[]Solution `json:"solutions,omitempty"` +} + +// Address address information for domain registration. +type Address struct { + // Address1 - First line of an Address. + Address1 *string `json:"address1,omitempty"` + // Address2 - The second line of the Address. Optional. + Address2 *string `json:"address2,omitempty"` + // City - The city for the address. + City *string `json:"city,omitempty"` + // Country - The country for the address. + Country *string `json:"country,omitempty"` + // PostalCode - The postal code for the address. + PostalCode *string `json:"postalCode,omitempty"` + // State - The state or province for the address. + State *string `json:"state,omitempty"` +} + +// AddressResponse describes main public IP address and any extra virtual IPs. +type AddressResponse struct { + autorest.Response `json:"-"` + // ServiceIPAddress - Main public virtual IP. + ServiceIPAddress *string `json:"serviceIpAddress,omitempty"` + // InternalIPAddress - Virtual Network internal IP address of the App Service Environment if it is in internal load-balancing mode. + InternalIPAddress *string `json:"internalIpAddress,omitempty"` + // OutboundIPAddresses - IP addresses appearing on outbound connections. + OutboundIPAddresses *[]string `json:"outboundIpAddresses,omitempty"` + // VipMappings - Additional virtual IPs. + VipMappings *[]VirtualIPMapping `json:"vipMappings,omitempty"` +} + +// AnalysisData class Representing Detector Evidence used for analysis +type AnalysisData struct { + // Source - Name of the Detector + Source *string `json:"source,omitempty"` + // DetectorDefinition - Detector Definition + DetectorDefinition *DetectorDefinition `json:"detectorDefinition,omitempty"` + // Metrics - Source Metrics + Metrics *[]DiagnosticMetricSet `json:"metrics,omitempty"` + // Data - Additional Source Data + Data *[][]NameValuePair `json:"data,omitempty"` + // DetectorMetaData - Detector Meta Data + DetectorMetaData *ResponseMetaData `json:"detectorMetaData,omitempty"` +} + +// AnalysisDefinition definition of Analysis +type AnalysisDefinition struct { + // AnalysisDefinitionProperties - AnalysisDefinition resource specific properties + *AnalysisDefinitionProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource Id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource Name. + Name *string `json:"name,omitempty"` + // Kind - Kind of resource. + Kind *string `json:"kind,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for AnalysisDefinition. +func (ad AnalysisDefinition) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if ad.AnalysisDefinitionProperties != nil { + objectMap["properties"] = ad.AnalysisDefinitionProperties + } + if ad.Kind != nil { + objectMap["kind"] = ad.Kind + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for AnalysisDefinition struct. +func (ad *AnalysisDefinition) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var analysisDefinitionProperties AnalysisDefinitionProperties + err = json.Unmarshal(*v, &analysisDefinitionProperties) + if err != nil { + return err + } + ad.AnalysisDefinitionProperties = &analysisDefinitionProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + ad.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + ad.Name = &name + } + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + ad.Kind = &kind + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ad.Type = &typeVar + } + } + } + + return nil +} + +// AnalysisDefinitionProperties analysisDefinition resource specific properties +type AnalysisDefinitionProperties struct { + // Description - READ-ONLY; Description of the Analysis + Description *string `json:"description,omitempty"` +} + +// APIDefinitionInfo information about the formal API definition for the app. +type APIDefinitionInfo struct { + // URL - The URL of the API definition. + URL *string `json:"url,omitempty"` +} + +// AppCollection collection of App Service apps. +type AppCollection struct { + autorest.Response `json:"-"` + // Value - Collection of resources. + Value *[]Site `json:"value,omitempty"` + // NextLink - READ-ONLY; Link to next page of resources. + NextLink *string `json:"nextLink,omitempty"` +} + +// AppCollectionIterator provides access to a complete listing of Site values. +type AppCollectionIterator struct { + i int + page AppCollectionPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *AppCollectionIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppCollectionIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *AppCollectionIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter AppCollectionIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter AppCollectionIterator) Response() AppCollection { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter AppCollectionIterator) Value() Site { + if !iter.page.NotDone() { + return Site{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the AppCollectionIterator type. +func NewAppCollectionIterator(page AppCollectionPage) AppCollectionIterator { + return AppCollectionIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (ac AppCollection) IsEmpty() bool { + return ac.Value == nil || len(*ac.Value) == 0 +} + +// appCollectionPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (ac AppCollection) appCollectionPreparer(ctx context.Context) (*http.Request, error) { + if ac.NextLink == nil || len(to.String(ac.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(ac.NextLink))) +} + +// AppCollectionPage contains a page of Site values. +type AppCollectionPage struct { + fn func(context.Context, AppCollection) (AppCollection, error) + ac AppCollection +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *AppCollectionPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppCollectionPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.ac) + if err != nil { + return err + } + page.ac = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *AppCollectionPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page AppCollectionPage) NotDone() bool { + return !page.ac.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page AppCollectionPage) Response() AppCollection { + return page.ac +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page AppCollectionPage) Values() []Site { + if page.ac.IsEmpty() { + return nil + } + return *page.ac.Value +} + +// Creates a new instance of the AppCollectionPage type. +func NewAppCollectionPage(getNextPage func(context.Context, AppCollection) (AppCollection, error)) AppCollectionPage { + return AppCollectionPage{fn: getNextPage} +} + +// AppInstanceCollection collection of app instances. +type AppInstanceCollection struct { + autorest.Response `json:"-"` + // Value - Collection of resources. + Value *[]SiteInstance `json:"value,omitempty"` + // NextLink - READ-ONLY; Link to next page of resources. + NextLink *string `json:"nextLink,omitempty"` +} + +// AppInstanceCollectionIterator provides access to a complete listing of SiteInstance values. +type AppInstanceCollectionIterator struct { + i int + page AppInstanceCollectionPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *AppInstanceCollectionIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppInstanceCollectionIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *AppInstanceCollectionIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter AppInstanceCollectionIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter AppInstanceCollectionIterator) Response() AppInstanceCollection { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter AppInstanceCollectionIterator) Value() SiteInstance { + if !iter.page.NotDone() { + return SiteInstance{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the AppInstanceCollectionIterator type. +func NewAppInstanceCollectionIterator(page AppInstanceCollectionPage) AppInstanceCollectionIterator { + return AppInstanceCollectionIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (aic AppInstanceCollection) IsEmpty() bool { + return aic.Value == nil || len(*aic.Value) == 0 +} + +// appInstanceCollectionPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (aic AppInstanceCollection) appInstanceCollectionPreparer(ctx context.Context) (*http.Request, error) { + if aic.NextLink == nil || len(to.String(aic.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(aic.NextLink))) +} + +// AppInstanceCollectionPage contains a page of SiteInstance values. +type AppInstanceCollectionPage struct { + fn func(context.Context, AppInstanceCollection) (AppInstanceCollection, error) + aic AppInstanceCollection +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *AppInstanceCollectionPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppInstanceCollectionPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.aic) + if err != nil { + return err + } + page.aic = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *AppInstanceCollectionPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page AppInstanceCollectionPage) NotDone() bool { + return !page.aic.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page AppInstanceCollectionPage) Response() AppInstanceCollection { + return page.aic +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page AppInstanceCollectionPage) Values() []SiteInstance { + if page.aic.IsEmpty() { + return nil + } + return *page.aic.Value +} + +// Creates a new instance of the AppInstanceCollectionPage type. +func NewAppInstanceCollectionPage(getNextPage func(context.Context, AppInstanceCollection) (AppInstanceCollection, error)) AppInstanceCollectionPage { + return AppInstanceCollectionPage{fn: getNextPage} +} + +// ApplicationLogsConfig application logs configuration. +type ApplicationLogsConfig struct { + // FileSystem - Application logs to file system configuration. + FileSystem *FileSystemApplicationLogsConfig `json:"fileSystem,omitempty"` + // AzureTableStorage - Application logs to azure table storage configuration. + AzureTableStorage *AzureTableStorageApplicationLogsConfig `json:"azureTableStorage,omitempty"` + // AzureBlobStorage - Application logs to blob storage configuration. + AzureBlobStorage *AzureBlobStorageApplicationLogsConfig `json:"azureBlobStorage,omitempty"` +} + +// ApplicationStack application stack. +type ApplicationStack struct { + // Name - Application stack name. + Name *string `json:"name,omitempty"` + // Display - Application stack display name. + Display *string `json:"display,omitempty"` + // Dependency - Application stack dependency. + Dependency *string `json:"dependency,omitempty"` + // MajorVersions - List of major versions available. + MajorVersions *[]StackMajorVersion `json:"majorVersions,omitempty"` + // Frameworks - List of frameworks associated with application stack. + Frameworks *[]ApplicationStack `json:"frameworks,omitempty"` +} + +// ApplicationStackCollection collection of Application Stacks +type ApplicationStackCollection struct { + autorest.Response `json:"-"` + // Value - Collection of resources. + Value *[]ApplicationStack `json:"value,omitempty"` + // NextLink - READ-ONLY; Link to next page of resources. + NextLink *string `json:"nextLink,omitempty"` +} + +// ApplicationStackCollectionIterator provides access to a complete listing of ApplicationStack values. +type ApplicationStackCollectionIterator struct { + i int + page ApplicationStackCollectionPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *ApplicationStackCollectionIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationStackCollectionIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *ApplicationStackCollectionIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter ApplicationStackCollectionIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter ApplicationStackCollectionIterator) Response() ApplicationStackCollection { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter ApplicationStackCollectionIterator) Value() ApplicationStack { + if !iter.page.NotDone() { + return ApplicationStack{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the ApplicationStackCollectionIterator type. +func NewApplicationStackCollectionIterator(page ApplicationStackCollectionPage) ApplicationStackCollectionIterator { + return ApplicationStackCollectionIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (asc ApplicationStackCollection) IsEmpty() bool { + return asc.Value == nil || len(*asc.Value) == 0 +} + +// applicationStackCollectionPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (asc ApplicationStackCollection) applicationStackCollectionPreparer(ctx context.Context) (*http.Request, error) { + if asc.NextLink == nil || len(to.String(asc.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(asc.NextLink))) +} + +// ApplicationStackCollectionPage contains a page of ApplicationStack values. +type ApplicationStackCollectionPage struct { + fn func(context.Context, ApplicationStackCollection) (ApplicationStackCollection, error) + asc ApplicationStackCollection +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *ApplicationStackCollectionPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ApplicationStackCollectionPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.asc) + if err != nil { + return err + } + page.asc = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *ApplicationStackCollectionPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page ApplicationStackCollectionPage) NotDone() bool { + return !page.asc.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page ApplicationStackCollectionPage) Response() ApplicationStackCollection { + return page.asc +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page ApplicationStackCollectionPage) Values() []ApplicationStack { + if page.asc.IsEmpty() { + return nil + } + return *page.asc.Value +} + +// Creates a new instance of the ApplicationStackCollectionPage type. +func NewApplicationStackCollectionPage(getNextPage func(context.Context, ApplicationStackCollection) (ApplicationStackCollection, error)) ApplicationStackCollectionPage { + return ApplicationStackCollectionPage{fn: getNextPage} +} + +// AppsCreateFunctionFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type AppsCreateFunctionFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *AppsCreateFunctionFuture) Result(client AppsClient) (fe FunctionEnvelope, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsCreateFunctionFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("web.AppsCreateFunctionFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if fe.Response.Response, err = future.GetResult(sender); err == nil && fe.Response.Response.StatusCode != http.StatusNoContent { + fe, err = client.CreateFunctionResponder(fe.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsCreateFunctionFuture", "Result", fe.Response.Response, "Failure responding to request") + } + } + return +} + +// AppsCreateInstanceFunctionSlotFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type AppsCreateInstanceFunctionSlotFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *AppsCreateInstanceFunctionSlotFuture) Result(client AppsClient) (fe FunctionEnvelope, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsCreateInstanceFunctionSlotFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("web.AppsCreateInstanceFunctionSlotFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if fe.Response.Response, err = future.GetResult(sender); err == nil && fe.Response.Response.StatusCode != http.StatusNoContent { + fe, err = client.CreateInstanceFunctionSlotResponder(fe.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsCreateInstanceFunctionSlotFuture", "Result", fe.Response.Response, "Failure responding to request") + } + } + return +} + +// AppsCreateInstanceMSDeployOperationFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type AppsCreateInstanceMSDeployOperationFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *AppsCreateInstanceMSDeployOperationFuture) Result(client AppsClient) (mds MSDeployStatus, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsCreateInstanceMSDeployOperationFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("web.AppsCreateInstanceMSDeployOperationFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if mds.Response.Response, err = future.GetResult(sender); err == nil && mds.Response.Response.StatusCode != http.StatusNoContent { + mds, err = client.CreateInstanceMSDeployOperationResponder(mds.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsCreateInstanceMSDeployOperationFuture", "Result", mds.Response.Response, "Failure responding to request") + } + } + return +} + +// AppsCreateInstanceMSDeployOperationSlotFuture an abstraction for monitoring and retrieving the results +// of a long-running operation. +type AppsCreateInstanceMSDeployOperationSlotFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *AppsCreateInstanceMSDeployOperationSlotFuture) Result(client AppsClient) (mds MSDeployStatus, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsCreateInstanceMSDeployOperationSlotFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("web.AppsCreateInstanceMSDeployOperationSlotFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if mds.Response.Response, err = future.GetResult(sender); err == nil && mds.Response.Response.StatusCode != http.StatusNoContent { + mds, err = client.CreateInstanceMSDeployOperationSlotResponder(mds.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsCreateInstanceMSDeployOperationSlotFuture", "Result", mds.Response.Response, "Failure responding to request") + } + } + return +} + +// AppsCreateMSDeployOperationFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type AppsCreateMSDeployOperationFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *AppsCreateMSDeployOperationFuture) Result(client AppsClient) (mds MSDeployStatus, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsCreateMSDeployOperationFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("web.AppsCreateMSDeployOperationFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if mds.Response.Response, err = future.GetResult(sender); err == nil && mds.Response.Response.StatusCode != http.StatusNoContent { + mds, err = client.CreateMSDeployOperationResponder(mds.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsCreateMSDeployOperationFuture", "Result", mds.Response.Response, "Failure responding to request") + } + } + return +} + +// AppsCreateMSDeployOperationSlotFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type AppsCreateMSDeployOperationSlotFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *AppsCreateMSDeployOperationSlotFuture) Result(client AppsClient) (mds MSDeployStatus, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsCreateMSDeployOperationSlotFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("web.AppsCreateMSDeployOperationSlotFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if mds.Response.Response, err = future.GetResult(sender); err == nil && mds.Response.Response.StatusCode != http.StatusNoContent { + mds, err = client.CreateMSDeployOperationSlotResponder(mds.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsCreateMSDeployOperationSlotFuture", "Result", mds.Response.Response, "Failure responding to request") + } + } + return +} + +// AppsCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type AppsCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *AppsCreateOrUpdateFuture) Result(client AppsClient) (s Site, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("web.AppsCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if s.Response.Response, err = future.GetResult(sender); err == nil && s.Response.Response.StatusCode != http.StatusNoContent { + s, err = client.CreateOrUpdateResponder(s.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsCreateOrUpdateFuture", "Result", s.Response.Response, "Failure responding to request") + } + } + return +} + +// AppsCreateOrUpdateSlotFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type AppsCreateOrUpdateSlotFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *AppsCreateOrUpdateSlotFuture) Result(client AppsClient) (s Site, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsCreateOrUpdateSlotFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("web.AppsCreateOrUpdateSlotFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if s.Response.Response, err = future.GetResult(sender); err == nil && s.Response.Response.StatusCode != http.StatusNoContent { + s, err = client.CreateOrUpdateSlotResponder(s.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsCreateOrUpdateSlotFuture", "Result", s.Response.Response, "Failure responding to request") + } + } + return +} + +// AppsCreateOrUpdateSourceControlFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type AppsCreateOrUpdateSourceControlFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *AppsCreateOrUpdateSourceControlFuture) Result(client AppsClient) (ssc SiteSourceControl, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsCreateOrUpdateSourceControlFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("web.AppsCreateOrUpdateSourceControlFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if ssc.Response.Response, err = future.GetResult(sender); err == nil && ssc.Response.Response.StatusCode != http.StatusNoContent { + ssc, err = client.CreateOrUpdateSourceControlResponder(ssc.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsCreateOrUpdateSourceControlFuture", "Result", ssc.Response.Response, "Failure responding to request") + } + } + return +} + +// AppsCreateOrUpdateSourceControlSlotFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type AppsCreateOrUpdateSourceControlSlotFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *AppsCreateOrUpdateSourceControlSlotFuture) Result(client AppsClient) (ssc SiteSourceControl, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsCreateOrUpdateSourceControlSlotFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("web.AppsCreateOrUpdateSourceControlSlotFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if ssc.Response.Response, err = future.GetResult(sender); err == nil && ssc.Response.Response.StatusCode != http.StatusNoContent { + ssc, err = client.CreateOrUpdateSourceControlSlotResponder(ssc.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsCreateOrUpdateSourceControlSlotFuture", "Result", ssc.Response.Response, "Failure responding to request") + } + } + return +} + +// AppServiceCertificate key Vault container for a certificate that is purchased through Azure. +type AppServiceCertificate struct { + // KeyVaultID - Key Vault resource Id. + KeyVaultID *string `json:"keyVaultId,omitempty"` + // KeyVaultSecretName - Key Vault secret name. + KeyVaultSecretName *string `json:"keyVaultSecretName,omitempty"` + // ProvisioningState - READ-ONLY; Status of the Key Vault secret. Possible values include: 'KeyVaultSecretStatusInitialized', 'KeyVaultSecretStatusWaitingOnCertificateOrder', 'KeyVaultSecretStatusSucceeded', 'KeyVaultSecretStatusCertificateOrderFailed', 'KeyVaultSecretStatusOperationNotPermittedOnKeyVault', 'KeyVaultSecretStatusAzureServiceUnauthorizedToAccessKeyVault', 'KeyVaultSecretStatusKeyVaultDoesNotExist', 'KeyVaultSecretStatusKeyVaultSecretDoesNotExist', 'KeyVaultSecretStatusUnknownError', 'KeyVaultSecretStatusExternalPrivateKey', 'KeyVaultSecretStatusUnknown' + ProvisioningState KeyVaultSecretStatus `json:"provisioningState,omitempty"` +} + +// AppServiceCertificateCollection collection of certificate order certificates. +type AppServiceCertificateCollection struct { + autorest.Response `json:"-"` + // Value - Collection of resources. + Value *[]AppServiceCertificateResource `json:"value,omitempty"` + // NextLink - READ-ONLY; Link to next page of resources. + NextLink *string `json:"nextLink,omitempty"` +} + +// AppServiceCertificateCollectionIterator provides access to a complete listing of +// AppServiceCertificateResource values. +type AppServiceCertificateCollectionIterator struct { + i int + page AppServiceCertificateCollectionPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *AppServiceCertificateCollectionIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceCertificateCollectionIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *AppServiceCertificateCollectionIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter AppServiceCertificateCollectionIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter AppServiceCertificateCollectionIterator) Response() AppServiceCertificateCollection { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter AppServiceCertificateCollectionIterator) Value() AppServiceCertificateResource { + if !iter.page.NotDone() { + return AppServiceCertificateResource{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the AppServiceCertificateCollectionIterator type. +func NewAppServiceCertificateCollectionIterator(page AppServiceCertificateCollectionPage) AppServiceCertificateCollectionIterator { + return AppServiceCertificateCollectionIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (ascc AppServiceCertificateCollection) IsEmpty() bool { + return ascc.Value == nil || len(*ascc.Value) == 0 +} + +// appServiceCertificateCollectionPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (ascc AppServiceCertificateCollection) appServiceCertificateCollectionPreparer(ctx context.Context) (*http.Request, error) { + if ascc.NextLink == nil || len(to.String(ascc.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(ascc.NextLink))) +} + +// AppServiceCertificateCollectionPage contains a page of AppServiceCertificateResource values. +type AppServiceCertificateCollectionPage struct { + fn func(context.Context, AppServiceCertificateCollection) (AppServiceCertificateCollection, error) + ascc AppServiceCertificateCollection +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *AppServiceCertificateCollectionPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceCertificateCollectionPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.ascc) + if err != nil { + return err + } + page.ascc = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *AppServiceCertificateCollectionPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page AppServiceCertificateCollectionPage) NotDone() bool { + return !page.ascc.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page AppServiceCertificateCollectionPage) Response() AppServiceCertificateCollection { + return page.ascc +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page AppServiceCertificateCollectionPage) Values() []AppServiceCertificateResource { + if page.ascc.IsEmpty() { + return nil + } + return *page.ascc.Value +} + +// Creates a new instance of the AppServiceCertificateCollectionPage type. +func NewAppServiceCertificateCollectionPage(getNextPage func(context.Context, AppServiceCertificateCollection) (AppServiceCertificateCollection, error)) AppServiceCertificateCollectionPage { + return AppServiceCertificateCollectionPage{fn: getNextPage} +} + +// AppServiceCertificateOrder SSL certificate purchase order. +type AppServiceCertificateOrder struct { + autorest.Response `json:"-"` + // AppServiceCertificateOrderProperties - AppServiceCertificateOrder resource specific properties + *AppServiceCertificateOrderProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource Id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource Name. + Name *string `json:"name,omitempty"` + // Kind - Kind of resource. + Kind *string `json:"kind,omitempty"` + // Location - Resource Location. + Location *string `json:"location,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for AppServiceCertificateOrder. +func (asco AppServiceCertificateOrder) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if asco.AppServiceCertificateOrderProperties != nil { + objectMap["properties"] = asco.AppServiceCertificateOrderProperties + } + if asco.Kind != nil { + objectMap["kind"] = asco.Kind + } + if asco.Location != nil { + objectMap["location"] = asco.Location + } + if asco.Tags != nil { + objectMap["tags"] = asco.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for AppServiceCertificateOrder struct. +func (asco *AppServiceCertificateOrder) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var appServiceCertificateOrderProperties AppServiceCertificateOrderProperties + err = json.Unmarshal(*v, &appServiceCertificateOrderProperties) + if err != nil { + return err + } + asco.AppServiceCertificateOrderProperties = &appServiceCertificateOrderProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + asco.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + asco.Name = &name + } + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + asco.Kind = &kind + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + asco.Location = &location + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + asco.Type = &typeVar + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + asco.Tags = tags + } + } + } + + return nil +} + +// AppServiceCertificateOrderCollection collection of certificate orders. +type AppServiceCertificateOrderCollection struct { + autorest.Response `json:"-"` + // Value - Collection of resources. + Value *[]AppServiceCertificateOrder `json:"value,omitempty"` + // NextLink - READ-ONLY; Link to next page of resources. + NextLink *string `json:"nextLink,omitempty"` +} + +// AppServiceCertificateOrderCollectionIterator provides access to a complete listing of +// AppServiceCertificateOrder values. +type AppServiceCertificateOrderCollectionIterator struct { + i int + page AppServiceCertificateOrderCollectionPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *AppServiceCertificateOrderCollectionIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceCertificateOrderCollectionIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *AppServiceCertificateOrderCollectionIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter AppServiceCertificateOrderCollectionIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter AppServiceCertificateOrderCollectionIterator) Response() AppServiceCertificateOrderCollection { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter AppServiceCertificateOrderCollectionIterator) Value() AppServiceCertificateOrder { + if !iter.page.NotDone() { + return AppServiceCertificateOrder{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the AppServiceCertificateOrderCollectionIterator type. +func NewAppServiceCertificateOrderCollectionIterator(page AppServiceCertificateOrderCollectionPage) AppServiceCertificateOrderCollectionIterator { + return AppServiceCertificateOrderCollectionIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (ascoc AppServiceCertificateOrderCollection) IsEmpty() bool { + return ascoc.Value == nil || len(*ascoc.Value) == 0 +} + +// appServiceCertificateOrderCollectionPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (ascoc AppServiceCertificateOrderCollection) appServiceCertificateOrderCollectionPreparer(ctx context.Context) (*http.Request, error) { + if ascoc.NextLink == nil || len(to.String(ascoc.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(ascoc.NextLink))) +} + +// AppServiceCertificateOrderCollectionPage contains a page of AppServiceCertificateOrder values. +type AppServiceCertificateOrderCollectionPage struct { + fn func(context.Context, AppServiceCertificateOrderCollection) (AppServiceCertificateOrderCollection, error) + ascoc AppServiceCertificateOrderCollection +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *AppServiceCertificateOrderCollectionPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceCertificateOrderCollectionPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.ascoc) + if err != nil { + return err + } + page.ascoc = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *AppServiceCertificateOrderCollectionPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page AppServiceCertificateOrderCollectionPage) NotDone() bool { + return !page.ascoc.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page AppServiceCertificateOrderCollectionPage) Response() AppServiceCertificateOrderCollection { + return page.ascoc +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page AppServiceCertificateOrderCollectionPage) Values() []AppServiceCertificateOrder { + if page.ascoc.IsEmpty() { + return nil + } + return *page.ascoc.Value +} + +// Creates a new instance of the AppServiceCertificateOrderCollectionPage type. +func NewAppServiceCertificateOrderCollectionPage(getNextPage func(context.Context, AppServiceCertificateOrderCollection) (AppServiceCertificateOrderCollection, error)) AppServiceCertificateOrderCollectionPage { + return AppServiceCertificateOrderCollectionPage{fn: getNextPage} +} + +// AppServiceCertificateOrderPatchResource ARM resource for a certificate order that is purchased through +// Azure. +type AppServiceCertificateOrderPatchResource struct { + // AppServiceCertificateOrderPatchResourceProperties - AppServiceCertificateOrderPatchResource resource specific properties + *AppServiceCertificateOrderPatchResourceProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource Id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource Name. + Name *string `json:"name,omitempty"` + // Kind - Kind of resource. + Kind *string `json:"kind,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for AppServiceCertificateOrderPatchResource. +func (ascopr AppServiceCertificateOrderPatchResource) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if ascopr.AppServiceCertificateOrderPatchResourceProperties != nil { + objectMap["properties"] = ascopr.AppServiceCertificateOrderPatchResourceProperties + } + if ascopr.Kind != nil { + objectMap["kind"] = ascopr.Kind + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for AppServiceCertificateOrderPatchResource struct. +func (ascopr *AppServiceCertificateOrderPatchResource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var appServiceCertificateOrderPatchResourceProperties AppServiceCertificateOrderPatchResourceProperties + err = json.Unmarshal(*v, &appServiceCertificateOrderPatchResourceProperties) + if err != nil { + return err + } + ascopr.AppServiceCertificateOrderPatchResourceProperties = &appServiceCertificateOrderPatchResourceProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + ascopr.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + ascopr.Name = &name + } + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + ascopr.Kind = &kind + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ascopr.Type = &typeVar + } + } + } + + return nil +} + +// AppServiceCertificateOrderPatchResourceProperties appServiceCertificateOrderPatchResource resource +// specific properties +type AppServiceCertificateOrderPatchResourceProperties struct { + // Certificates - State of the Key Vault secret. + Certificates map[string]*AppServiceCertificate `json:"certificates"` + // DistinguishedName - Certificate distinguished name. + DistinguishedName *string `json:"distinguishedName,omitempty"` + // DomainVerificationToken - READ-ONLY; Domain verification token. + DomainVerificationToken *string `json:"domainVerificationToken,omitempty"` + // ValidityInYears - Duration in years (must be between 1 and 3). + ValidityInYears *int32 `json:"validityInYears,omitempty"` + // KeySize - Certificate key size. + KeySize *int32 `json:"keySize,omitempty"` + // ProductType - Certificate product type. Possible values include: 'StandardDomainValidatedSsl', 'StandardDomainValidatedWildCardSsl' + ProductType CertificateProductType `json:"productType,omitempty"` + // AutoRenew - true if the certificate should be automatically renewed when it expires; otherwise, false. + AutoRenew *bool `json:"autoRenew,omitempty"` + // ProvisioningState - READ-ONLY; Status of certificate order. Possible values include: 'ProvisioningStateSucceeded', 'ProvisioningStateFailed', 'ProvisioningStateCanceled', 'ProvisioningStateInProgress', 'ProvisioningStateDeleting' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + // Status - READ-ONLY; Current order status. Possible values include: 'Pendingissuance', 'Issued', 'Revoked', 'Canceled', 'Denied', 'Pendingrevocation', 'PendingRekey', 'Unused', 'Expired', 'NotSubmitted' + Status CertificateOrderStatus `json:"status,omitempty"` + // SignedCertificate - READ-ONLY; Signed certificate. + SignedCertificate *CertificateDetails `json:"signedCertificate,omitempty"` + // Csr - Last CSR that was created for this order. + Csr *string `json:"csr,omitempty"` + // Intermediate - READ-ONLY; Intermediate certificate. + Intermediate *CertificateDetails `json:"intermediate,omitempty"` + // Root - READ-ONLY; Root certificate. + Root *CertificateDetails `json:"root,omitempty"` + // SerialNumber - READ-ONLY; Current serial number of the certificate. + SerialNumber *string `json:"serialNumber,omitempty"` + // LastCertificateIssuanceTime - READ-ONLY; Certificate last issuance time. + LastCertificateIssuanceTime *date.Time `json:"lastCertificateIssuanceTime,omitempty"` + // ExpirationTime - READ-ONLY; Certificate expiration time. + ExpirationTime *date.Time `json:"expirationTime,omitempty"` + // IsPrivateKeyExternal - READ-ONLY; true if private key is external; otherwise, false. + IsPrivateKeyExternal *bool `json:"isPrivateKeyExternal,omitempty"` + // AppServiceCertificateNotRenewableReasons - READ-ONLY; Reasons why App Service Certificate is not renewable at the current moment. + AppServiceCertificateNotRenewableReasons *[]string `json:"appServiceCertificateNotRenewableReasons,omitempty"` + // NextAutoRenewalTimeStamp - READ-ONLY; Time stamp when the certificate would be auto renewed next + NextAutoRenewalTimeStamp *date.Time `json:"nextAutoRenewalTimeStamp,omitempty"` +} + +// MarshalJSON is the custom marshaler for AppServiceCertificateOrderPatchResourceProperties. +func (ascopr AppServiceCertificateOrderPatchResourceProperties) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if ascopr.Certificates != nil { + objectMap["certificates"] = ascopr.Certificates + } + if ascopr.DistinguishedName != nil { + objectMap["distinguishedName"] = ascopr.DistinguishedName + } + if ascopr.ValidityInYears != nil { + objectMap["validityInYears"] = ascopr.ValidityInYears + } + if ascopr.KeySize != nil { + objectMap["keySize"] = ascopr.KeySize + } + if ascopr.ProductType != "" { + objectMap["productType"] = ascopr.ProductType + } + if ascopr.AutoRenew != nil { + objectMap["autoRenew"] = ascopr.AutoRenew + } + if ascopr.Csr != nil { + objectMap["csr"] = ascopr.Csr + } + return json.Marshal(objectMap) +} + +// AppServiceCertificateOrderProperties appServiceCertificateOrder resource specific properties +type AppServiceCertificateOrderProperties struct { + // Certificates - State of the Key Vault secret. + Certificates map[string]*AppServiceCertificate `json:"certificates"` + // DistinguishedName - Certificate distinguished name. + DistinguishedName *string `json:"distinguishedName,omitempty"` + // DomainVerificationToken - READ-ONLY; Domain verification token. + DomainVerificationToken *string `json:"domainVerificationToken,omitempty"` + // ValidityInYears - Duration in years (must be between 1 and 3). + ValidityInYears *int32 `json:"validityInYears,omitempty"` + // KeySize - Certificate key size. + KeySize *int32 `json:"keySize,omitempty"` + // ProductType - Certificate product type. Possible values include: 'StandardDomainValidatedSsl', 'StandardDomainValidatedWildCardSsl' + ProductType CertificateProductType `json:"productType,omitempty"` + // AutoRenew - true if the certificate should be automatically renewed when it expires; otherwise, false. + AutoRenew *bool `json:"autoRenew,omitempty"` + // ProvisioningState - READ-ONLY; Status of certificate order. Possible values include: 'ProvisioningStateSucceeded', 'ProvisioningStateFailed', 'ProvisioningStateCanceled', 'ProvisioningStateInProgress', 'ProvisioningStateDeleting' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + // Status - READ-ONLY; Current order status. Possible values include: 'Pendingissuance', 'Issued', 'Revoked', 'Canceled', 'Denied', 'Pendingrevocation', 'PendingRekey', 'Unused', 'Expired', 'NotSubmitted' + Status CertificateOrderStatus `json:"status,omitempty"` + // SignedCertificate - READ-ONLY; Signed certificate. + SignedCertificate *CertificateDetails `json:"signedCertificate,omitempty"` + // Csr - Last CSR that was created for this order. + Csr *string `json:"csr,omitempty"` + // Intermediate - READ-ONLY; Intermediate certificate. + Intermediate *CertificateDetails `json:"intermediate,omitempty"` + // Root - READ-ONLY; Root certificate. + Root *CertificateDetails `json:"root,omitempty"` + // SerialNumber - READ-ONLY; Current serial number of the certificate. + SerialNumber *string `json:"serialNumber,omitempty"` + // LastCertificateIssuanceTime - READ-ONLY; Certificate last issuance time. + LastCertificateIssuanceTime *date.Time `json:"lastCertificateIssuanceTime,omitempty"` + // ExpirationTime - READ-ONLY; Certificate expiration time. + ExpirationTime *date.Time `json:"expirationTime,omitempty"` + // IsPrivateKeyExternal - READ-ONLY; true if private key is external; otherwise, false. + IsPrivateKeyExternal *bool `json:"isPrivateKeyExternal,omitempty"` + // AppServiceCertificateNotRenewableReasons - READ-ONLY; Reasons why App Service Certificate is not renewable at the current moment. + AppServiceCertificateNotRenewableReasons *[]string `json:"appServiceCertificateNotRenewableReasons,omitempty"` + // NextAutoRenewalTimeStamp - READ-ONLY; Time stamp when the certificate would be auto renewed next + NextAutoRenewalTimeStamp *date.Time `json:"nextAutoRenewalTimeStamp,omitempty"` +} + +// MarshalJSON is the custom marshaler for AppServiceCertificateOrderProperties. +func (asco AppServiceCertificateOrderProperties) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if asco.Certificates != nil { + objectMap["certificates"] = asco.Certificates + } + if asco.DistinguishedName != nil { + objectMap["distinguishedName"] = asco.DistinguishedName + } + if asco.ValidityInYears != nil { + objectMap["validityInYears"] = asco.ValidityInYears + } + if asco.KeySize != nil { + objectMap["keySize"] = asco.KeySize + } + if asco.ProductType != "" { + objectMap["productType"] = asco.ProductType + } + if asco.AutoRenew != nil { + objectMap["autoRenew"] = asco.AutoRenew + } + if asco.Csr != nil { + objectMap["csr"] = asco.Csr + } + return json.Marshal(objectMap) +} + +// AppServiceCertificateOrdersCreateOrUpdateCertificateFuture an abstraction for monitoring and retrieving +// the results of a long-running operation. +type AppServiceCertificateOrdersCreateOrUpdateCertificateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *AppServiceCertificateOrdersCreateOrUpdateCertificateFuture) Result(client AppServiceCertificateOrdersClient) (ascr AppServiceCertificateResource, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersCreateOrUpdateCertificateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("web.AppServiceCertificateOrdersCreateOrUpdateCertificateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if ascr.Response.Response, err = future.GetResult(sender); err == nil && ascr.Response.Response.StatusCode != http.StatusNoContent { + ascr, err = client.CreateOrUpdateCertificateResponder(ascr.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersCreateOrUpdateCertificateFuture", "Result", ascr.Response.Response, "Failure responding to request") + } + } + return +} + +// AppServiceCertificateOrdersCreateOrUpdateFuture an abstraction for monitoring and retrieving the results +// of a long-running operation. +type AppServiceCertificateOrdersCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *AppServiceCertificateOrdersCreateOrUpdateFuture) Result(client AppServiceCertificateOrdersClient) (asco AppServiceCertificateOrder, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("web.AppServiceCertificateOrdersCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if asco.Response.Response, err = future.GetResult(sender); err == nil && asco.Response.Response.StatusCode != http.StatusNoContent { + asco, err = client.CreateOrUpdateResponder(asco.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceCertificateOrdersCreateOrUpdateFuture", "Result", asco.Response.Response, "Failure responding to request") + } + } + return +} + +// AppServiceCertificatePatchResource key Vault container ARM resource for a certificate that is purchased +// through Azure. +type AppServiceCertificatePatchResource struct { + // AppServiceCertificate - Core resource properties + *AppServiceCertificate `json:"properties,omitempty"` + // ID - READ-ONLY; Resource Id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource Name. + Name *string `json:"name,omitempty"` + // Kind - Kind of resource. + Kind *string `json:"kind,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for AppServiceCertificatePatchResource. +func (ascpr AppServiceCertificatePatchResource) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if ascpr.AppServiceCertificate != nil { + objectMap["properties"] = ascpr.AppServiceCertificate + } + if ascpr.Kind != nil { + objectMap["kind"] = ascpr.Kind + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for AppServiceCertificatePatchResource struct. +func (ascpr *AppServiceCertificatePatchResource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var appServiceCertificate AppServiceCertificate + err = json.Unmarshal(*v, &appServiceCertificate) + if err != nil { + return err + } + ascpr.AppServiceCertificate = &appServiceCertificate + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + ascpr.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + ascpr.Name = &name + } + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + ascpr.Kind = &kind + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ascpr.Type = &typeVar + } + } + } + + return nil +} + +// AppServiceCertificateResource key Vault container ARM resource for a certificate that is purchased +// through Azure. +type AppServiceCertificateResource struct { + autorest.Response `json:"-"` + // AppServiceCertificate - Core resource properties + *AppServiceCertificate `json:"properties,omitempty"` + // ID - READ-ONLY; Resource Id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource Name. + Name *string `json:"name,omitempty"` + // Kind - Kind of resource. + Kind *string `json:"kind,omitempty"` + // Location - Resource Location. + Location *string `json:"location,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for AppServiceCertificateResource. +func (ascr AppServiceCertificateResource) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if ascr.AppServiceCertificate != nil { + objectMap["properties"] = ascr.AppServiceCertificate + } + if ascr.Kind != nil { + objectMap["kind"] = ascr.Kind + } + if ascr.Location != nil { + objectMap["location"] = ascr.Location + } + if ascr.Tags != nil { + objectMap["tags"] = ascr.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for AppServiceCertificateResource struct. +func (ascr *AppServiceCertificateResource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var appServiceCertificate AppServiceCertificate + err = json.Unmarshal(*v, &appServiceCertificate) + if err != nil { + return err + } + ascr.AppServiceCertificate = &appServiceCertificate + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + ascr.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + ascr.Name = &name + } + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + ascr.Kind = &kind + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + ascr.Location = &location + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ascr.Type = &typeVar + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + ascr.Tags = tags + } + } + } + + return nil +} + +// AppServiceEnvironment description of an App Service Environment. +type AppServiceEnvironment struct { + // Name - Name of the App Service Environment. + Name *string `json:"name,omitempty"` + // Location - Location of the App Service Environment, e.g. "West US". + Location *string `json:"location,omitempty"` + // ProvisioningState - READ-ONLY; Provisioning state of the App Service Environment. Possible values include: 'ProvisioningStateSucceeded', 'ProvisioningStateFailed', 'ProvisioningStateCanceled', 'ProvisioningStateInProgress', 'ProvisioningStateDeleting' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + // Status - READ-ONLY; Current status of the App Service Environment. Possible values include: 'Preparing', 'Ready', 'Scaling', 'Deleting' + Status HostingEnvironmentStatus `json:"status,omitempty"` + // VnetName - Name of the Virtual Network for the App Service Environment. + VnetName *string `json:"vnetName,omitempty"` + // VnetResourceGroupName - Resource group of the Virtual Network. + VnetResourceGroupName *string `json:"vnetResourceGroupName,omitempty"` + // VnetSubnetName - Subnet of the Virtual Network. + VnetSubnetName *string `json:"vnetSubnetName,omitempty"` + // VirtualNetwork - Description of the Virtual Network. + VirtualNetwork *VirtualNetworkProfile `json:"virtualNetwork,omitempty"` + // InternalLoadBalancingMode - Specifies which endpoints to serve internally in the Virtual Network for the App Service Environment. Possible values include: 'InternalLoadBalancingModeNone', 'InternalLoadBalancingModeWeb', 'InternalLoadBalancingModePublishing' + InternalLoadBalancingMode InternalLoadBalancingMode `json:"internalLoadBalancingMode,omitempty"` + // MultiSize - Front-end VM size, e.g. "Medium", "Large". + MultiSize *string `json:"multiSize,omitempty"` + // MultiRoleCount - Number of front-end instances. + MultiRoleCount *int32 `json:"multiRoleCount,omitempty"` + // WorkerPools - Description of worker pools with worker size IDs, VM sizes, and number of workers in each pool. + WorkerPools *[]WorkerPool `json:"workerPools,omitempty"` + // IpsslAddressCount - Number of IP SSL addresses reserved for the App Service Environment. + IpsslAddressCount *int32 `json:"ipsslAddressCount,omitempty"` + // DatabaseEdition - READ-ONLY; Edition of the metadata database for the App Service Environment, e.g. "Standard". + DatabaseEdition *string `json:"databaseEdition,omitempty"` + // DatabaseServiceObjective - READ-ONLY; Service objective of the metadata database for the App Service Environment, e.g. "S0". + DatabaseServiceObjective *string `json:"databaseServiceObjective,omitempty"` + // UpgradeDomains - READ-ONLY; Number of upgrade domains of the App Service Environment. + UpgradeDomains *int32 `json:"upgradeDomains,omitempty"` + // SubscriptionID - READ-ONLY; Subscription of the App Service Environment. + SubscriptionID *string `json:"subscriptionId,omitempty"` + // DNSSuffix - DNS suffix of the App Service Environment. + DNSSuffix *string `json:"dnsSuffix,omitempty"` + // LastAction - READ-ONLY; Last deployment action on the App Service Environment. + LastAction *string `json:"lastAction,omitempty"` + // LastActionResult - READ-ONLY; Result of the last deployment action on the App Service Environment. + LastActionResult *string `json:"lastActionResult,omitempty"` + // AllowedMultiSizes - READ-ONLY; List of comma separated strings describing which VM sizes are allowed for front-ends. + AllowedMultiSizes *string `json:"allowedMultiSizes,omitempty"` + // AllowedWorkerSizes - READ-ONLY; List of comma separated strings describing which VM sizes are allowed for workers. + AllowedWorkerSizes *string `json:"allowedWorkerSizes,omitempty"` + // MaximumNumberOfMachines - READ-ONLY; Maximum number of VMs in the App Service Environment. + MaximumNumberOfMachines *int32 `json:"maximumNumberOfMachines,omitempty"` + // VipMappings - READ-ONLY; Description of IP SSL mapping for the App Service Environment. + VipMappings *[]VirtualIPMapping `json:"vipMappings,omitempty"` + // EnvironmentCapacities - READ-ONLY; Current total, used, and available worker capacities. + EnvironmentCapacities *[]StampCapacity `json:"environmentCapacities,omitempty"` + // NetworkAccessControlList - Access control list for controlling traffic to the App Service Environment. + NetworkAccessControlList *[]NetworkAccessControlEntry `json:"networkAccessControlList,omitempty"` + // EnvironmentIsHealthy - READ-ONLY; True/false indicating whether the App Service Environment is healthy. + EnvironmentIsHealthy *bool `json:"environmentIsHealthy,omitempty"` + // EnvironmentStatus - READ-ONLY; Detailed message about with results of the last check of the App Service Environment. + EnvironmentStatus *string `json:"environmentStatus,omitempty"` + // ResourceGroup - READ-ONLY; Resource group of the App Service Environment. + ResourceGroup *string `json:"resourceGroup,omitempty"` + // FrontEndScaleFactor - Scale factor for front-ends. + FrontEndScaleFactor *int32 `json:"frontEndScaleFactor,omitempty"` + // DefaultFrontEndScaleFactor - READ-ONLY; Default Scale Factor for FrontEnds. + DefaultFrontEndScaleFactor *int32 `json:"defaultFrontEndScaleFactor,omitempty"` + // APIManagementAccountID - API Management Account associated with the App Service Environment. + APIManagementAccountID *string `json:"apiManagementAccountId,omitempty"` + // Suspended - true if the App Service Environment is suspended; otherwise, false. The environment can be suspended, e.g. when the management endpoint is no longer available + // (most likely because NSG blocked the incoming traffic). + Suspended *bool `json:"suspended,omitempty"` + // DynamicCacheEnabled - True/false indicating whether the App Service Environment is suspended. The environment can be suspended e.g. when the management endpoint is no longer available + // (most likely because NSG blocked the incoming traffic). + DynamicCacheEnabled *bool `json:"dynamicCacheEnabled,omitempty"` + // ClusterSettings - Custom settings for changing the behavior of the App Service Environment. + ClusterSettings *[]NameValuePair `json:"clusterSettings,omitempty"` + // UserWhitelistedIPRanges - User added ip ranges to whitelist on ASE db + UserWhitelistedIPRanges *[]string `json:"userWhitelistedIpRanges,omitempty"` + // HasLinuxWorkers - Flag that displays whether an ASE has linux workers or not + HasLinuxWorkers *bool `json:"hasLinuxWorkers,omitempty"` + // SslCertKeyVaultID - Key Vault ID for ILB App Service Environment default SSL certificate + SslCertKeyVaultID *string `json:"sslCertKeyVaultId,omitempty"` + // SslCertKeyVaultSecretName - Key Vault Secret Name for ILB App Service Environment default SSL certificate + SslCertKeyVaultSecretName *string `json:"sslCertKeyVaultSecretName,omitempty"` +} + +// AppServiceEnvironmentCollection collection of App Service Environments. +type AppServiceEnvironmentCollection struct { + autorest.Response `json:"-"` + // Value - Collection of resources. + Value *[]AppServiceEnvironmentResource `json:"value,omitempty"` + // NextLink - READ-ONLY; Link to next page of resources. + NextLink *string `json:"nextLink,omitempty"` +} + +// AppServiceEnvironmentCollectionIterator provides access to a complete listing of +// AppServiceEnvironmentResource values. +type AppServiceEnvironmentCollectionIterator struct { + i int + page AppServiceEnvironmentCollectionPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *AppServiceEnvironmentCollectionIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceEnvironmentCollectionIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *AppServiceEnvironmentCollectionIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter AppServiceEnvironmentCollectionIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter AppServiceEnvironmentCollectionIterator) Response() AppServiceEnvironmentCollection { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter AppServiceEnvironmentCollectionIterator) Value() AppServiceEnvironmentResource { + if !iter.page.NotDone() { + return AppServiceEnvironmentResource{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the AppServiceEnvironmentCollectionIterator type. +func NewAppServiceEnvironmentCollectionIterator(page AppServiceEnvironmentCollectionPage) AppServiceEnvironmentCollectionIterator { + return AppServiceEnvironmentCollectionIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (asec AppServiceEnvironmentCollection) IsEmpty() bool { + return asec.Value == nil || len(*asec.Value) == 0 +} + +// appServiceEnvironmentCollectionPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (asec AppServiceEnvironmentCollection) appServiceEnvironmentCollectionPreparer(ctx context.Context) (*http.Request, error) { + if asec.NextLink == nil || len(to.String(asec.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(asec.NextLink))) +} + +// AppServiceEnvironmentCollectionPage contains a page of AppServiceEnvironmentResource values. +type AppServiceEnvironmentCollectionPage struct { + fn func(context.Context, AppServiceEnvironmentCollection) (AppServiceEnvironmentCollection, error) + asec AppServiceEnvironmentCollection +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *AppServiceEnvironmentCollectionPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServiceEnvironmentCollectionPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.asec) + if err != nil { + return err + } + page.asec = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *AppServiceEnvironmentCollectionPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page AppServiceEnvironmentCollectionPage) NotDone() bool { + return !page.asec.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page AppServiceEnvironmentCollectionPage) Response() AppServiceEnvironmentCollection { + return page.asec +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page AppServiceEnvironmentCollectionPage) Values() []AppServiceEnvironmentResource { + if page.asec.IsEmpty() { + return nil + } + return *page.asec.Value +} + +// Creates a new instance of the AppServiceEnvironmentCollectionPage type. +func NewAppServiceEnvironmentCollectionPage(getNextPage func(context.Context, AppServiceEnvironmentCollection) (AppServiceEnvironmentCollection, error)) AppServiceEnvironmentCollectionPage { + return AppServiceEnvironmentCollectionPage{fn: getNextPage} +} + +// AppServiceEnvironmentPatchResource ARM resource for a app service environment. +type AppServiceEnvironmentPatchResource struct { + // AppServiceEnvironment - Core resource properties + *AppServiceEnvironment `json:"properties,omitempty"` + // ID - READ-ONLY; Resource Id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource Name. + Name *string `json:"name,omitempty"` + // Kind - Kind of resource. + Kind *string `json:"kind,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for AppServiceEnvironmentPatchResource. +func (asepr AppServiceEnvironmentPatchResource) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if asepr.AppServiceEnvironment != nil { + objectMap["properties"] = asepr.AppServiceEnvironment + } + if asepr.Kind != nil { + objectMap["kind"] = asepr.Kind + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for AppServiceEnvironmentPatchResource struct. +func (asepr *AppServiceEnvironmentPatchResource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var appServiceEnvironment AppServiceEnvironment + err = json.Unmarshal(*v, &appServiceEnvironment) + if err != nil { + return err + } + asepr.AppServiceEnvironment = &appServiceEnvironment + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + asepr.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + asepr.Name = &name + } + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + asepr.Kind = &kind + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + asepr.Type = &typeVar + } + } + } + + return nil +} + +// AppServiceEnvironmentResource app Service Environment ARM resource. +type AppServiceEnvironmentResource struct { + autorest.Response `json:"-"` + // AppServiceEnvironment - Core resource properties + *AppServiceEnvironment `json:"properties,omitempty"` + // ID - READ-ONLY; Resource Id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource Name. + Name *string `json:"name,omitempty"` + // Kind - Kind of resource. + Kind *string `json:"kind,omitempty"` + // Location - Resource Location. + Location *string `json:"location,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for AppServiceEnvironmentResource. +func (aser AppServiceEnvironmentResource) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if aser.AppServiceEnvironment != nil { + objectMap["properties"] = aser.AppServiceEnvironment + } + if aser.Kind != nil { + objectMap["kind"] = aser.Kind + } + if aser.Location != nil { + objectMap["location"] = aser.Location + } + if aser.Tags != nil { + objectMap["tags"] = aser.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for AppServiceEnvironmentResource struct. +func (aser *AppServiceEnvironmentResource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var appServiceEnvironment AppServiceEnvironment + err = json.Unmarshal(*v, &appServiceEnvironment) + if err != nil { + return err + } + aser.AppServiceEnvironment = &appServiceEnvironment + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + aser.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + aser.Name = &name + } + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + aser.Kind = &kind + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + aser.Location = &location + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + aser.Type = &typeVar + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + aser.Tags = tags + } + } + } + + return nil +} + +// AppServiceEnvironmentsChangeVnetAllFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type AppServiceEnvironmentsChangeVnetAllFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *AppServiceEnvironmentsChangeVnetAllFuture) Result(client AppServiceEnvironmentsClient) (acp AppCollectionPage, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsChangeVnetAllFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("web.AppServiceEnvironmentsChangeVnetAllFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if acp.ac.Response.Response, err = future.GetResult(sender); err == nil && acp.ac.Response.Response.StatusCode != http.StatusNoContent { + acp, err = client.ChangeVnetResponder(acp.ac.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsChangeVnetAllFuture", "Result", acp.ac.Response.Response, "Failure responding to request") + } + } + return +} + +// AppServiceEnvironmentsChangeVnetFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type AppServiceEnvironmentsChangeVnetFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *AppServiceEnvironmentsChangeVnetFuture) Result(client AppServiceEnvironmentsClient) (acp AppCollectionPage, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsChangeVnetFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("web.AppServiceEnvironmentsChangeVnetFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if acp.ac.Response.Response, err = future.GetResult(sender); err == nil && acp.ac.Response.Response.StatusCode != http.StatusNoContent { + acp, err = client.ChangeVnetResponder(acp.ac.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsChangeVnetFuture", "Result", acp.ac.Response.Response, "Failure responding to request") + } + } + return +} + +// AppServiceEnvironmentsCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type AppServiceEnvironmentsCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *AppServiceEnvironmentsCreateOrUpdateFuture) Result(client AppServiceEnvironmentsClient) (aser AppServiceEnvironmentResource, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("web.AppServiceEnvironmentsCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if aser.Response.Response, err = future.GetResult(sender); err == nil && aser.Response.Response.StatusCode != http.StatusNoContent { + aser, err = client.CreateOrUpdateResponder(aser.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsCreateOrUpdateFuture", "Result", aser.Response.Response, "Failure responding to request") + } + } + return +} + +// AppServiceEnvironmentsCreateOrUpdateMultiRolePoolFuture an abstraction for monitoring and retrieving the +// results of a long-running operation. +type AppServiceEnvironmentsCreateOrUpdateMultiRolePoolFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *AppServiceEnvironmentsCreateOrUpdateMultiRolePoolFuture) Result(client AppServiceEnvironmentsClient) (wpr WorkerPoolResource, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsCreateOrUpdateMultiRolePoolFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("web.AppServiceEnvironmentsCreateOrUpdateMultiRolePoolFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if wpr.Response.Response, err = future.GetResult(sender); err == nil && wpr.Response.Response.StatusCode != http.StatusNoContent { + wpr, err = client.CreateOrUpdateMultiRolePoolResponder(wpr.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsCreateOrUpdateMultiRolePoolFuture", "Result", wpr.Response.Response, "Failure responding to request") + } + } + return +} + +// AppServiceEnvironmentsCreateOrUpdateWorkerPoolFuture an abstraction for monitoring and retrieving the +// results of a long-running operation. +type AppServiceEnvironmentsCreateOrUpdateWorkerPoolFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *AppServiceEnvironmentsCreateOrUpdateWorkerPoolFuture) Result(client AppServiceEnvironmentsClient) (wpr WorkerPoolResource, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsCreateOrUpdateWorkerPoolFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("web.AppServiceEnvironmentsCreateOrUpdateWorkerPoolFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if wpr.Response.Response, err = future.GetResult(sender); err == nil && wpr.Response.Response.StatusCode != http.StatusNoContent { + wpr, err = client.CreateOrUpdateWorkerPoolResponder(wpr.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsCreateOrUpdateWorkerPoolFuture", "Result", wpr.Response.Response, "Failure responding to request") + } + } + return +} + +// AppServiceEnvironmentsDeleteFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type AppServiceEnvironmentsDeleteFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *AppServiceEnvironmentsDeleteFuture) Result(client AppServiceEnvironmentsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsDeleteFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("web.AppServiceEnvironmentsDeleteFuture") + return + } + ar.Response = future.Response() + return +} + +// AppServiceEnvironmentsResumeAllFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type AppServiceEnvironmentsResumeAllFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *AppServiceEnvironmentsResumeAllFuture) Result(client AppServiceEnvironmentsClient) (acp AppCollectionPage, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsResumeAllFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("web.AppServiceEnvironmentsResumeAllFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if acp.ac.Response.Response, err = future.GetResult(sender); err == nil && acp.ac.Response.Response.StatusCode != http.StatusNoContent { + acp, err = client.ResumeResponder(acp.ac.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsResumeAllFuture", "Result", acp.ac.Response.Response, "Failure responding to request") + } + } + return +} + +// AppServiceEnvironmentsResumeFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type AppServiceEnvironmentsResumeFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *AppServiceEnvironmentsResumeFuture) Result(client AppServiceEnvironmentsClient) (acp AppCollectionPage, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsResumeFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("web.AppServiceEnvironmentsResumeFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if acp.ac.Response.Response, err = future.GetResult(sender); err == nil && acp.ac.Response.Response.StatusCode != http.StatusNoContent { + acp, err = client.ResumeResponder(acp.ac.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsResumeFuture", "Result", acp.ac.Response.Response, "Failure responding to request") + } + } + return +} + +// AppServiceEnvironmentsSuspendAllFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type AppServiceEnvironmentsSuspendAllFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *AppServiceEnvironmentsSuspendAllFuture) Result(client AppServiceEnvironmentsClient) (acp AppCollectionPage, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsSuspendAllFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("web.AppServiceEnvironmentsSuspendAllFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if acp.ac.Response.Response, err = future.GetResult(sender); err == nil && acp.ac.Response.Response.StatusCode != http.StatusNoContent { + acp, err = client.SuspendResponder(acp.ac.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsSuspendAllFuture", "Result", acp.ac.Response.Response, "Failure responding to request") + } + } + return +} + +// AppServiceEnvironmentsSuspendFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type AppServiceEnvironmentsSuspendFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *AppServiceEnvironmentsSuspendFuture) Result(client AppServiceEnvironmentsClient) (acp AppCollectionPage, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsSuspendFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("web.AppServiceEnvironmentsSuspendFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if acp.ac.Response.Response, err = future.GetResult(sender); err == nil && acp.ac.Response.Response.StatusCode != http.StatusNoContent { + acp, err = client.SuspendResponder(acp.ac.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServiceEnvironmentsSuspendFuture", "Result", acp.ac.Response.Response, "Failure responding to request") + } + } + return +} + +// AppServicePlan app Service plan. +type AppServicePlan struct { + autorest.Response `json:"-"` + // AppServicePlanProperties - AppServicePlan resource specific properties + *AppServicePlanProperties `json:"properties,omitempty"` + Sku *SkuDescription `json:"sku,omitempty"` + // ID - READ-ONLY; Resource Id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource Name. + Name *string `json:"name,omitempty"` + // Kind - Kind of resource. + Kind *string `json:"kind,omitempty"` + // Location - Resource Location. + Location *string `json:"location,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for AppServicePlan. +func (asp AppServicePlan) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if asp.AppServicePlanProperties != nil { + objectMap["properties"] = asp.AppServicePlanProperties + } + if asp.Sku != nil { + objectMap["sku"] = asp.Sku + } + if asp.Kind != nil { + objectMap["kind"] = asp.Kind + } + if asp.Location != nil { + objectMap["location"] = asp.Location + } + if asp.Tags != nil { + objectMap["tags"] = asp.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for AppServicePlan struct. +func (asp *AppServicePlan) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var appServicePlanProperties AppServicePlanProperties + err = json.Unmarshal(*v, &appServicePlanProperties) + if err != nil { + return err + } + asp.AppServicePlanProperties = &appServicePlanProperties + } + case "sku": + if v != nil { + var sku SkuDescription + err = json.Unmarshal(*v, &sku) + if err != nil { + return err + } + asp.Sku = &sku + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + asp.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + asp.Name = &name + } + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + asp.Kind = &kind + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + asp.Location = &location + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + asp.Type = &typeVar + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + asp.Tags = tags + } + } + } + + return nil +} + +// AppServicePlanCollection collection of App Service plans. +type AppServicePlanCollection struct { + autorest.Response `json:"-"` + // Value - Collection of resources. + Value *[]AppServicePlan `json:"value,omitempty"` + // NextLink - READ-ONLY; Link to next page of resources. + NextLink *string `json:"nextLink,omitempty"` +} + +// AppServicePlanCollectionIterator provides access to a complete listing of AppServicePlan values. +type AppServicePlanCollectionIterator struct { + i int + page AppServicePlanCollectionPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *AppServicePlanCollectionIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServicePlanCollectionIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *AppServicePlanCollectionIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter AppServicePlanCollectionIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter AppServicePlanCollectionIterator) Response() AppServicePlanCollection { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter AppServicePlanCollectionIterator) Value() AppServicePlan { + if !iter.page.NotDone() { + return AppServicePlan{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the AppServicePlanCollectionIterator type. +func NewAppServicePlanCollectionIterator(page AppServicePlanCollectionPage) AppServicePlanCollectionIterator { + return AppServicePlanCollectionIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (aspc AppServicePlanCollection) IsEmpty() bool { + return aspc.Value == nil || len(*aspc.Value) == 0 +} + +// appServicePlanCollectionPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (aspc AppServicePlanCollection) appServicePlanCollectionPreparer(ctx context.Context) (*http.Request, error) { + if aspc.NextLink == nil || len(to.String(aspc.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(aspc.NextLink))) +} + +// AppServicePlanCollectionPage contains a page of AppServicePlan values. +type AppServicePlanCollectionPage struct { + fn func(context.Context, AppServicePlanCollection) (AppServicePlanCollection, error) + aspc AppServicePlanCollection +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *AppServicePlanCollectionPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/AppServicePlanCollectionPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.aspc) + if err != nil { + return err + } + page.aspc = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *AppServicePlanCollectionPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page AppServicePlanCollectionPage) NotDone() bool { + return !page.aspc.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page AppServicePlanCollectionPage) Response() AppServicePlanCollection { + return page.aspc +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page AppServicePlanCollectionPage) Values() []AppServicePlan { + if page.aspc.IsEmpty() { + return nil + } + return *page.aspc.Value +} + +// Creates a new instance of the AppServicePlanCollectionPage type. +func NewAppServicePlanCollectionPage(getNextPage func(context.Context, AppServicePlanCollection) (AppServicePlanCollection, error)) AppServicePlanCollectionPage { + return AppServicePlanCollectionPage{fn: getNextPage} +} + +// AppServicePlanPatchResource ARM resource for a app service plan. +type AppServicePlanPatchResource struct { + // AppServicePlanPatchResourceProperties - AppServicePlanPatchResource resource specific properties + *AppServicePlanPatchResourceProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource Id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource Name. + Name *string `json:"name,omitempty"` + // Kind - Kind of resource. + Kind *string `json:"kind,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for AppServicePlanPatchResource. +func (asppr AppServicePlanPatchResource) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if asppr.AppServicePlanPatchResourceProperties != nil { + objectMap["properties"] = asppr.AppServicePlanPatchResourceProperties + } + if asppr.Kind != nil { + objectMap["kind"] = asppr.Kind + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for AppServicePlanPatchResource struct. +func (asppr *AppServicePlanPatchResource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var appServicePlanPatchResourceProperties AppServicePlanPatchResourceProperties + err = json.Unmarshal(*v, &appServicePlanPatchResourceProperties) + if err != nil { + return err + } + asppr.AppServicePlanPatchResourceProperties = &appServicePlanPatchResourceProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + asppr.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + asppr.Name = &name + } + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + asppr.Kind = &kind + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + asppr.Type = &typeVar + } + } + } + + return nil +} + +// AppServicePlanPatchResourceProperties appServicePlanPatchResource resource specific properties +type AppServicePlanPatchResourceProperties struct { + // WorkerTierName - Target worker tier assigned to the App Service plan. + WorkerTierName *string `json:"workerTierName,omitempty"` + // Status - READ-ONLY; App Service plan status. Possible values include: 'StatusOptionsReady', 'StatusOptionsPending', 'StatusOptionsCreating' + Status StatusOptions `json:"status,omitempty"` + // Subscription - READ-ONLY; App Service plan subscription. + Subscription *string `json:"subscription,omitempty"` + // HostingEnvironmentProfile - Specification for the App Service Environment to use for the App Service plan. + HostingEnvironmentProfile *HostingEnvironmentProfile `json:"hostingEnvironmentProfile,omitempty"` + // MaximumNumberOfWorkers - READ-ONLY; Maximum number of instances that can be assigned to this App Service plan. + MaximumNumberOfWorkers *int32 `json:"maximumNumberOfWorkers,omitempty"` + // GeoRegion - READ-ONLY; Geographical location for the App Service plan. + GeoRegion *string `json:"geoRegion,omitempty"` + // PerSiteScaling - If true, apps assigned to this App Service plan can be scaled independently. + // If false, apps assigned to this App Service plan will scale to all instances of the plan. + PerSiteScaling *bool `json:"perSiteScaling,omitempty"` + // MaximumElasticWorkerCount - Maximum number of total workers allowed for this ElasticScaleEnabled App Service Plan + MaximumElasticWorkerCount *int32 `json:"maximumElasticWorkerCount,omitempty"` + // NumberOfSites - READ-ONLY; Number of apps assigned to this App Service plan. + NumberOfSites *int32 `json:"numberOfSites,omitempty"` + // IsSpot - If true, this App Service Plan owns spot instances. + IsSpot *bool `json:"isSpot,omitempty"` + // SpotExpirationTime - The time when the server farm expires. Valid only if it is a spot server farm. + SpotExpirationTime *date.Time `json:"spotExpirationTime,omitempty"` + // FreeOfferExpirationTime - The time when the server farm free offer expires. + FreeOfferExpirationTime *date.Time `json:"freeOfferExpirationTime,omitempty"` + // ResourceGroup - READ-ONLY; Resource group of the App Service plan. + ResourceGroup *string `json:"resourceGroup,omitempty"` + // Reserved - If Linux app service plan true, false otherwise. + Reserved *bool `json:"reserved,omitempty"` + // IsXenon - Obsolete: If Hyper-V container app service plan true, false otherwise. + IsXenon *bool `json:"isXenon,omitempty"` + // HyperV - If Hyper-V container app service plan true, false otherwise. + HyperV *bool `json:"hyperV,omitempty"` + // TargetWorkerCount - Scaling worker count. + TargetWorkerCount *int32 `json:"targetWorkerCount,omitempty"` + // TargetWorkerSizeID - Scaling worker size ID. + TargetWorkerSizeID *int32 `json:"targetWorkerSizeId,omitempty"` + // ProvisioningState - READ-ONLY; Provisioning state of the App Service Environment. Possible values include: 'ProvisioningStateSucceeded', 'ProvisioningStateFailed', 'ProvisioningStateCanceled', 'ProvisioningStateInProgress', 'ProvisioningStateDeleting' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// AppServicePlanProperties appServicePlan resource specific properties +type AppServicePlanProperties struct { + // WorkerTierName - Target worker tier assigned to the App Service plan. + WorkerTierName *string `json:"workerTierName,omitempty"` + // Status - READ-ONLY; App Service plan status. Possible values include: 'StatusOptionsReady', 'StatusOptionsPending', 'StatusOptionsCreating' + Status StatusOptions `json:"status,omitempty"` + // Subscription - READ-ONLY; App Service plan subscription. + Subscription *string `json:"subscription,omitempty"` + // HostingEnvironmentProfile - Specification for the App Service Environment to use for the App Service plan. + HostingEnvironmentProfile *HostingEnvironmentProfile `json:"hostingEnvironmentProfile,omitempty"` + // MaximumNumberOfWorkers - READ-ONLY; Maximum number of instances that can be assigned to this App Service plan. + MaximumNumberOfWorkers *int32 `json:"maximumNumberOfWorkers,omitempty"` + // GeoRegion - READ-ONLY; Geographical location for the App Service plan. + GeoRegion *string `json:"geoRegion,omitempty"` + // PerSiteScaling - If true, apps assigned to this App Service plan can be scaled independently. + // If false, apps assigned to this App Service plan will scale to all instances of the plan. + PerSiteScaling *bool `json:"perSiteScaling,omitempty"` + // MaximumElasticWorkerCount - Maximum number of total workers allowed for this ElasticScaleEnabled App Service Plan + MaximumElasticWorkerCount *int32 `json:"maximumElasticWorkerCount,omitempty"` + // NumberOfSites - READ-ONLY; Number of apps assigned to this App Service plan. + NumberOfSites *int32 `json:"numberOfSites,omitempty"` + // IsSpot - If true, this App Service Plan owns spot instances. + IsSpot *bool `json:"isSpot,omitempty"` + // SpotExpirationTime - The time when the server farm expires. Valid only if it is a spot server farm. + SpotExpirationTime *date.Time `json:"spotExpirationTime,omitempty"` + // FreeOfferExpirationTime - The time when the server farm free offer expires. + FreeOfferExpirationTime *date.Time `json:"freeOfferExpirationTime,omitempty"` + // ResourceGroup - READ-ONLY; Resource group of the App Service plan. + ResourceGroup *string `json:"resourceGroup,omitempty"` + // Reserved - If Linux app service plan true, false otherwise. + Reserved *bool `json:"reserved,omitempty"` + // IsXenon - Obsolete: If Hyper-V container app service plan true, false otherwise. + IsXenon *bool `json:"isXenon,omitempty"` + // HyperV - If Hyper-V container app service plan true, false otherwise. + HyperV *bool `json:"hyperV,omitempty"` + // TargetWorkerCount - Scaling worker count. + TargetWorkerCount *int32 `json:"targetWorkerCount,omitempty"` + // TargetWorkerSizeID - Scaling worker size ID. + TargetWorkerSizeID *int32 `json:"targetWorkerSizeId,omitempty"` + // ProvisioningState - READ-ONLY; Provisioning state of the App Service Environment. Possible values include: 'ProvisioningStateSucceeded', 'ProvisioningStateFailed', 'ProvisioningStateCanceled', 'ProvisioningStateInProgress', 'ProvisioningStateDeleting' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` +} + +// AppServicePlansCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type AppServicePlansCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *AppServicePlansCreateOrUpdateFuture) Result(client AppServicePlansClient) (asp AppServicePlan, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServicePlansCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("web.AppServicePlansCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if asp.Response.Response, err = future.GetResult(sender); err == nil && asp.Response.Response.StatusCode != http.StatusNoContent { + asp, err = client.CreateOrUpdateResponder(asp.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppServicePlansCreateOrUpdateFuture", "Result", asp.Response.Response, "Failure responding to request") + } + } + return +} + +// AppsInstallSiteExtensionFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type AppsInstallSiteExtensionFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *AppsInstallSiteExtensionFuture) Result(client AppsClient) (sei SiteExtensionInfo, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsInstallSiteExtensionFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("web.AppsInstallSiteExtensionFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if sei.Response.Response, err = future.GetResult(sender); err == nil && sei.Response.Response.StatusCode != http.StatusNoContent { + sei, err = client.InstallSiteExtensionResponder(sei.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsInstallSiteExtensionFuture", "Result", sei.Response.Response, "Failure responding to request") + } + } + return +} + +// AppsInstallSiteExtensionSlotFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type AppsInstallSiteExtensionSlotFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *AppsInstallSiteExtensionSlotFuture) Result(client AppsClient) (sei SiteExtensionInfo, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsInstallSiteExtensionSlotFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("web.AppsInstallSiteExtensionSlotFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if sei.Response.Response, err = future.GetResult(sender); err == nil && sei.Response.Response.StatusCode != http.StatusNoContent { + sei, err = client.InstallSiteExtensionSlotResponder(sei.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsInstallSiteExtensionSlotFuture", "Result", sei.Response.Response, "Failure responding to request") + } + } + return +} + +// AppsListPublishingCredentialsFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type AppsListPublishingCredentialsFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *AppsListPublishingCredentialsFuture) Result(client AppsClient) (u User, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsListPublishingCredentialsFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("web.AppsListPublishingCredentialsFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if u.Response.Response, err = future.GetResult(sender); err == nil && u.Response.Response.StatusCode != http.StatusNoContent { + u, err = client.ListPublishingCredentialsResponder(u.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsListPublishingCredentialsFuture", "Result", u.Response.Response, "Failure responding to request") + } + } + return +} + +// AppsListPublishingCredentialsSlotFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type AppsListPublishingCredentialsSlotFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *AppsListPublishingCredentialsSlotFuture) Result(client AppsClient) (u User, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsListPublishingCredentialsSlotFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("web.AppsListPublishingCredentialsSlotFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if u.Response.Response, err = future.GetResult(sender); err == nil && u.Response.Response.StatusCode != http.StatusNoContent { + u, err = client.ListPublishingCredentialsSlotResponder(u.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsListPublishingCredentialsSlotFuture", "Result", u.Response.Response, "Failure responding to request") + } + } + return +} + +// AppsMigrateMySQLFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type AppsMigrateMySQLFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *AppsMigrateMySQLFuture) Result(client AppsClient) (o Operation, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsMigrateMySQLFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("web.AppsMigrateMySQLFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if o.Response.Response, err = future.GetResult(sender); err == nil && o.Response.Response.StatusCode != http.StatusNoContent { + o, err = client.MigrateMySQLResponder(o.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsMigrateMySQLFuture", "Result", o.Response.Response, "Failure responding to request") + } + } + return +} + +// AppsMigrateStorageFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type AppsMigrateStorageFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *AppsMigrateStorageFuture) Result(client AppsClient) (smr StorageMigrationResponse, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsMigrateStorageFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("web.AppsMigrateStorageFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if smr.Response.Response, err = future.GetResult(sender); err == nil && smr.Response.Response.StatusCode != http.StatusNoContent { + smr, err = client.MigrateStorageResponder(smr.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsMigrateStorageFuture", "Result", smr.Response.Response, "Failure responding to request") + } + } + return +} + +// AppsRestoreFromBackupBlobFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type AppsRestoreFromBackupBlobFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *AppsRestoreFromBackupBlobFuture) Result(client AppsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsRestoreFromBackupBlobFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("web.AppsRestoreFromBackupBlobFuture") + return + } + ar.Response = future.Response() + return +} + +// AppsRestoreFromBackupBlobSlotFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type AppsRestoreFromBackupBlobSlotFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *AppsRestoreFromBackupBlobSlotFuture) Result(client AppsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsRestoreFromBackupBlobSlotFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("web.AppsRestoreFromBackupBlobSlotFuture") + return + } + ar.Response = future.Response() + return +} + +// AppsRestoreFromDeletedAppFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type AppsRestoreFromDeletedAppFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *AppsRestoreFromDeletedAppFuture) Result(client AppsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsRestoreFromDeletedAppFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("web.AppsRestoreFromDeletedAppFuture") + return + } + ar.Response = future.Response() + return +} + +// AppsRestoreFromDeletedAppSlotFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type AppsRestoreFromDeletedAppSlotFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *AppsRestoreFromDeletedAppSlotFuture) Result(client AppsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsRestoreFromDeletedAppSlotFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("web.AppsRestoreFromDeletedAppSlotFuture") + return + } + ar.Response = future.Response() + return +} + +// AppsRestoreFuture an abstraction for monitoring and retrieving the results of a long-running operation. +type AppsRestoreFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *AppsRestoreFuture) Result(client AppsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsRestoreFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("web.AppsRestoreFuture") + return + } + ar.Response = future.Response() + return +} + +// AppsRestoreSlotFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type AppsRestoreSlotFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *AppsRestoreSlotFuture) Result(client AppsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsRestoreSlotFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("web.AppsRestoreSlotFuture") + return + } + ar.Response = future.Response() + return +} + +// AppsRestoreSnapshotFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type AppsRestoreSnapshotFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *AppsRestoreSnapshotFuture) Result(client AppsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsRestoreSnapshotFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("web.AppsRestoreSnapshotFuture") + return + } + ar.Response = future.Response() + return +} + +// AppsRestoreSnapshotSlotFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type AppsRestoreSnapshotSlotFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *AppsRestoreSnapshotSlotFuture) Result(client AppsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsRestoreSnapshotSlotFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("web.AppsRestoreSnapshotSlotFuture") + return + } + ar.Response = future.Response() + return +} + +// AppsStartNetworkTraceFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type AppsStartNetworkTraceFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *AppsStartNetworkTraceFuture) Result(client AppsClient) (lnt ListNetworkTrace, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsStartNetworkTraceFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("web.AppsStartNetworkTraceFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if lnt.Response.Response, err = future.GetResult(sender); err == nil && lnt.Response.Response.StatusCode != http.StatusNoContent { + lnt, err = client.StartNetworkTraceResponder(lnt.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsStartNetworkTraceFuture", "Result", lnt.Response.Response, "Failure responding to request") + } + } + return +} + +// AppsStartNetworkTraceSlotFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type AppsStartNetworkTraceSlotFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *AppsStartNetworkTraceSlotFuture) Result(client AppsClient) (lnt ListNetworkTrace, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsStartNetworkTraceSlotFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("web.AppsStartNetworkTraceSlotFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if lnt.Response.Response, err = future.GetResult(sender); err == nil && lnt.Response.Response.StatusCode != http.StatusNoContent { + lnt, err = client.StartNetworkTraceSlotResponder(lnt.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsStartNetworkTraceSlotFuture", "Result", lnt.Response.Response, "Failure responding to request") + } + } + return +} + +// AppsStartWebSiteNetworkTraceOperationFuture an abstraction for monitoring and retrieving the results of +// a long-running operation. +type AppsStartWebSiteNetworkTraceOperationFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *AppsStartWebSiteNetworkTraceOperationFuture) Result(client AppsClient) (lnt ListNetworkTrace, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsStartWebSiteNetworkTraceOperationFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("web.AppsStartWebSiteNetworkTraceOperationFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if lnt.Response.Response, err = future.GetResult(sender); err == nil && lnt.Response.Response.StatusCode != http.StatusNoContent { + lnt, err = client.StartWebSiteNetworkTraceOperationResponder(lnt.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsStartWebSiteNetworkTraceOperationFuture", "Result", lnt.Response.Response, "Failure responding to request") + } + } + return +} + +// AppsStartWebSiteNetworkTraceOperationSlotFuture an abstraction for monitoring and retrieving the results +// of a long-running operation. +type AppsStartWebSiteNetworkTraceOperationSlotFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *AppsStartWebSiteNetworkTraceOperationSlotFuture) Result(client AppsClient) (lnt ListNetworkTrace, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsStartWebSiteNetworkTraceOperationSlotFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("web.AppsStartWebSiteNetworkTraceOperationSlotFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if lnt.Response.Response, err = future.GetResult(sender); err == nil && lnt.Response.Response.StatusCode != http.StatusNoContent { + lnt, err = client.StartWebSiteNetworkTraceOperationSlotResponder(lnt.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsStartWebSiteNetworkTraceOperationSlotFuture", "Result", lnt.Response.Response, "Failure responding to request") + } + } + return +} + +// AppsSwapSlotSlotFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type AppsSwapSlotSlotFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *AppsSwapSlotSlotFuture) Result(client AppsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsSwapSlotSlotFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("web.AppsSwapSlotSlotFuture") + return + } + ar.Response = future.Response() + return +} + +// AppsSwapSlotWithProductionFuture an abstraction for monitoring and retrieving the results of a +// long-running operation. +type AppsSwapSlotWithProductionFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *AppsSwapSlotWithProductionFuture) Result(client AppsClient) (ar autorest.Response, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "web.AppsSwapSlotWithProductionFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("web.AppsSwapSlotWithProductionFuture") + return + } + ar.Response = future.Response() + return +} + +// AutoHealActions actions which to take by the auto-heal module when a rule is triggered. +type AutoHealActions struct { + // ActionType - Predefined action to be taken. Possible values include: 'Recycle', 'LogEvent', 'CustomAction' + ActionType AutoHealActionType `json:"actionType,omitempty"` + // CustomAction - Custom action to be taken. + CustomAction *AutoHealCustomAction `json:"customAction,omitempty"` + // MinProcessExecutionTime - Minimum time the process must execute + // before taking the action + MinProcessExecutionTime *string `json:"minProcessExecutionTime,omitempty"` +} + +// AutoHealCustomAction custom action to be executed +// when an auto heal rule is triggered. +type AutoHealCustomAction struct { + // Exe - Executable to be run. + Exe *string `json:"exe,omitempty"` + // Parameters - Parameters for the executable. + Parameters *string `json:"parameters,omitempty"` +} + +// AutoHealRules rules that can be defined for auto-heal. +type AutoHealRules struct { + // Triggers - Conditions that describe when to execute the auto-heal actions. + Triggers *AutoHealTriggers `json:"triggers,omitempty"` + // Actions - Actions to be executed when a rule is triggered. + Actions *AutoHealActions `json:"actions,omitempty"` +} + +// AutoHealTriggers triggers for auto-heal. +type AutoHealTriggers struct { + // Requests - A rule based on total requests. + Requests *RequestsBasedTrigger `json:"requests,omitempty"` + // PrivateBytesInKB - A rule based on private bytes. + PrivateBytesInKB *int32 `json:"privateBytesInKB,omitempty"` + // StatusCodes - A rule based on status codes. + StatusCodes *[]StatusCodesBasedTrigger `json:"statusCodes,omitempty"` + // SlowRequests - A rule based on request execution time. + SlowRequests *SlowRequestsBasedTrigger `json:"slowRequests,omitempty"` +} + +// AzureBlobStorageApplicationLogsConfig application logs azure blob storage configuration. +type AzureBlobStorageApplicationLogsConfig struct { + // Level - Log level. Possible values include: 'Off', 'Verbose', 'Information', 'Warning', 'Error' + Level LogLevel `json:"level,omitempty"` + // SasURL - SAS url to a azure blob container with read/write/list/delete permissions. + SasURL *string `json:"sasUrl,omitempty"` + // RetentionInDays - Retention in days. + // Remove blobs older than X days. + // 0 or lower means no retention. + RetentionInDays *int32 `json:"retentionInDays,omitempty"` +} + +// AzureBlobStorageHTTPLogsConfig http logs to azure blob storage configuration. +type AzureBlobStorageHTTPLogsConfig struct { + // SasURL - SAS url to a azure blob container with read/write/list/delete permissions. + SasURL *string `json:"sasUrl,omitempty"` + // RetentionInDays - Retention in days. + // Remove blobs older than X days. + // 0 or lower means no retention. + RetentionInDays *int32 `json:"retentionInDays,omitempty"` + // Enabled - True if configuration is enabled, false if it is disabled and null if configuration is not set. + Enabled *bool `json:"enabled,omitempty"` +} + +// AzureStorageInfoValue azure Files or Blob Storage access information value for dictionary storage. +type AzureStorageInfoValue struct { + // Type - Type of storage. Possible values include: 'AzureFiles', 'AzureBlob' + Type AzureStorageType `json:"type,omitempty"` + // AccountName - Name of the storage account. + AccountName *string `json:"accountName,omitempty"` + // ShareName - Name of the file share (container name, for Blob storage). + ShareName *string `json:"shareName,omitempty"` + // AccessKey - Access key for the storage account. + AccessKey *string `json:"accessKey,omitempty"` + // MountPath - Path to mount the storage within the site's runtime environment. + MountPath *string `json:"mountPath,omitempty"` + // State - READ-ONLY; State of the storage account. Possible values include: 'Ok', 'InvalidCredentials', 'InvalidShare' + State AzureStorageState `json:"state,omitempty"` +} + +// AzureStoragePropertyDictionaryResource azureStorageInfo dictionary resource. +type AzureStoragePropertyDictionaryResource struct { + autorest.Response `json:"-"` + // Properties - Azure storage accounts. + Properties map[string]*AzureStorageInfoValue `json:"properties"` + // ID - READ-ONLY; Resource Id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource Name. + Name *string `json:"name,omitempty"` + // Kind - Kind of resource. + Kind *string `json:"kind,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for AzureStoragePropertyDictionaryResource. +func (aspdr AzureStoragePropertyDictionaryResource) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if aspdr.Properties != nil { + objectMap["properties"] = aspdr.Properties + } + if aspdr.Kind != nil { + objectMap["kind"] = aspdr.Kind + } + return json.Marshal(objectMap) +} + +// AzureTableStorageApplicationLogsConfig application logs to Azure table storage configuration. +type AzureTableStorageApplicationLogsConfig struct { + // Level - Log level. Possible values include: 'Off', 'Verbose', 'Information', 'Warning', 'Error' + Level LogLevel `json:"level,omitempty"` + // SasURL - SAS URL to an Azure table with add/query/delete permissions. + SasURL *string `json:"sasUrl,omitempty"` +} + +// BackupItem backup description. +type BackupItem struct { + autorest.Response `json:"-"` + // BackupItemProperties - BackupItem resource specific properties + *BackupItemProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource Id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource Name. + Name *string `json:"name,omitempty"` + // Kind - Kind of resource. + Kind *string `json:"kind,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for BackupItem. +func (bi BackupItem) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if bi.BackupItemProperties != nil { + objectMap["properties"] = bi.BackupItemProperties + } + if bi.Kind != nil { + objectMap["kind"] = bi.Kind + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for BackupItem struct. +func (bi *BackupItem) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var backupItemProperties BackupItemProperties + err = json.Unmarshal(*v, &backupItemProperties) + if err != nil { + return err + } + bi.BackupItemProperties = &backupItemProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + bi.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + bi.Name = &name + } + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + bi.Kind = &kind + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + bi.Type = &typeVar + } + } + } + + return nil +} + +// BackupItemCollection collection of backup items. +type BackupItemCollection struct { + autorest.Response `json:"-"` + // Value - Collection of resources. + Value *[]BackupItem `json:"value,omitempty"` + // NextLink - READ-ONLY; Link to next page of resources. + NextLink *string `json:"nextLink,omitempty"` +} + +// BackupItemCollectionIterator provides access to a complete listing of BackupItem values. +type BackupItemCollectionIterator struct { + i int + page BackupItemCollectionPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *BackupItemCollectionIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BackupItemCollectionIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *BackupItemCollectionIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter BackupItemCollectionIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter BackupItemCollectionIterator) Response() BackupItemCollection { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter BackupItemCollectionIterator) Value() BackupItem { + if !iter.page.NotDone() { + return BackupItem{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the BackupItemCollectionIterator type. +func NewBackupItemCollectionIterator(page BackupItemCollectionPage) BackupItemCollectionIterator { + return BackupItemCollectionIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (bic BackupItemCollection) IsEmpty() bool { + return bic.Value == nil || len(*bic.Value) == 0 +} + +// backupItemCollectionPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (bic BackupItemCollection) backupItemCollectionPreparer(ctx context.Context) (*http.Request, error) { + if bic.NextLink == nil || len(to.String(bic.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(bic.NextLink))) +} + +// BackupItemCollectionPage contains a page of BackupItem values. +type BackupItemCollectionPage struct { + fn func(context.Context, BackupItemCollection) (BackupItemCollection, error) + bic BackupItemCollection +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *BackupItemCollectionPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BackupItemCollectionPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.bic) + if err != nil { + return err + } + page.bic = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *BackupItemCollectionPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page BackupItemCollectionPage) NotDone() bool { + return !page.bic.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page BackupItemCollectionPage) Response() BackupItemCollection { + return page.bic +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page BackupItemCollectionPage) Values() []BackupItem { + if page.bic.IsEmpty() { + return nil + } + return *page.bic.Value +} + +// Creates a new instance of the BackupItemCollectionPage type. +func NewBackupItemCollectionPage(getNextPage func(context.Context, BackupItemCollection) (BackupItemCollection, error)) BackupItemCollectionPage { + return BackupItemCollectionPage{fn: getNextPage} +} + +// BackupItemProperties backupItem resource specific properties +type BackupItemProperties struct { + // BackupID - READ-ONLY; Id of the backup. + BackupID *int32 `json:"id,omitempty"` + // StorageAccountURL - READ-ONLY; SAS URL for the storage account container which contains this backup. + StorageAccountURL *string `json:"storageAccountUrl,omitempty"` + // BlobName - READ-ONLY; Name of the blob which contains data for this backup. + BlobName *string `json:"blobName,omitempty"` + // Name - READ-ONLY; Name of this backup. + Name *string `json:"name,omitempty"` + // Status - READ-ONLY; Backup status. Possible values include: 'InProgress', 'Failed', 'Succeeded', 'TimedOut', 'Created', 'Skipped', 'PartiallySucceeded', 'DeleteInProgress', 'DeleteFailed', 'Deleted' + Status BackupItemStatus `json:"status,omitempty"` + // SizeInBytes - READ-ONLY; Size of the backup in bytes. + SizeInBytes *int64 `json:"sizeInBytes,omitempty"` + // Created - READ-ONLY; Timestamp of the backup creation. + Created *date.Time `json:"created,omitempty"` + // Log - READ-ONLY; Details regarding this backup. Might contain an error message. + Log *string `json:"log,omitempty"` + // Databases - READ-ONLY; List of databases included in the backup. + Databases *[]DatabaseBackupSetting `json:"databases,omitempty"` + // Scheduled - READ-ONLY; True if this backup has been created due to a schedule being triggered. + Scheduled *bool `json:"scheduled,omitempty"` + // LastRestoreTimeStamp - READ-ONLY; Timestamp of a last restore operation which used this backup. + LastRestoreTimeStamp *date.Time `json:"lastRestoreTimeStamp,omitempty"` + // FinishedTimeStamp - READ-ONLY; Timestamp when this backup finished. + FinishedTimeStamp *date.Time `json:"finishedTimeStamp,omitempty"` + // CorrelationID - READ-ONLY; Unique correlation identifier. Please use this along with the timestamp while communicating with Azure support. + CorrelationID *string `json:"correlationId,omitempty"` + // WebsiteSizeInBytes - READ-ONLY; Size of the original web app which has been backed up. + WebsiteSizeInBytes *int64 `json:"websiteSizeInBytes,omitempty"` +} + +// BackupRequest description of a backup which will be performed. +type BackupRequest struct { + autorest.Response `json:"-"` + // BackupRequestProperties - BackupRequest resource specific properties + *BackupRequestProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource Id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource Name. + Name *string `json:"name,omitempty"` + // Kind - Kind of resource. + Kind *string `json:"kind,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for BackupRequest. +func (br BackupRequest) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if br.BackupRequestProperties != nil { + objectMap["properties"] = br.BackupRequestProperties + } + if br.Kind != nil { + objectMap["kind"] = br.Kind + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for BackupRequest struct. +func (br *BackupRequest) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var backupRequestProperties BackupRequestProperties + err = json.Unmarshal(*v, &backupRequestProperties) + if err != nil { + return err + } + br.BackupRequestProperties = &backupRequestProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + br.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + br.Name = &name + } + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + br.Kind = &kind + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + br.Type = &typeVar + } + } + } + + return nil +} + +// BackupRequestProperties backupRequest resource specific properties +type BackupRequestProperties struct { + // BackupName - Name of the backup. + BackupName *string `json:"backupName,omitempty"` + // Enabled - True if the backup schedule is enabled (must be included in that case), false if the backup schedule should be disabled. + Enabled *bool `json:"enabled,omitempty"` + // StorageAccountURL - SAS URL to the container. + StorageAccountURL *string `json:"storageAccountUrl,omitempty"` + // BackupSchedule - Schedule for the backup if it is executed periodically. + BackupSchedule *BackupSchedule `json:"backupSchedule,omitempty"` + // Databases - Databases included in the backup. + Databases *[]DatabaseBackupSetting `json:"databases,omitempty"` +} + +// BackupSchedule description of a backup schedule. Describes how often should be the backup performed and +// what should be the retention policy. +type BackupSchedule struct { + // FrequencyInterval - How often the backup should be executed (e.g. for weekly backup, this should be set to 7 and FrequencyUnit should be set to Day) + FrequencyInterval *int32 `json:"frequencyInterval,omitempty"` + // FrequencyUnit - The unit of time for how often the backup should be executed (e.g. for weekly backup, this should be set to Day and FrequencyInterval should be set to 7). Possible values include: 'Day', 'Hour' + FrequencyUnit FrequencyUnit `json:"frequencyUnit,omitempty"` + // KeepAtLeastOneBackup - True if the retention policy should always keep at least one backup in the storage account, regardless how old it is; false otherwise. + KeepAtLeastOneBackup *bool `json:"keepAtLeastOneBackup,omitempty"` + // RetentionPeriodInDays - After how many days backups should be deleted. + RetentionPeriodInDays *int32 `json:"retentionPeriodInDays,omitempty"` + // StartTime - When the schedule should start working. + StartTime *date.Time `json:"startTime,omitempty"` + // LastExecutionTime - READ-ONLY; Last time when this schedule was triggered. + LastExecutionTime *date.Time `json:"lastExecutionTime,omitempty"` +} + +// BillingMeter app Service billing entity that contains information about meter which the Azure billing +// system utilizes to charge users for services. +type BillingMeter struct { + // BillingMeterProperties - BillingMeter resource specific properties + *BillingMeterProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource Id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource Name. + Name *string `json:"name,omitempty"` + // Kind - Kind of resource. + Kind *string `json:"kind,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for BillingMeter. +func (bm BillingMeter) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if bm.BillingMeterProperties != nil { + objectMap["properties"] = bm.BillingMeterProperties + } + if bm.Kind != nil { + objectMap["kind"] = bm.Kind + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for BillingMeter struct. +func (bm *BillingMeter) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var billingMeterProperties BillingMeterProperties + err = json.Unmarshal(*v, &billingMeterProperties) + if err != nil { + return err + } + bm.BillingMeterProperties = &billingMeterProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + bm.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + bm.Name = &name + } + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + bm.Kind = &kind + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + bm.Type = &typeVar + } + } + } + + return nil +} + +// BillingMeterCollection collection of Billing Meters +type BillingMeterCollection struct { + autorest.Response `json:"-"` + // Value - Collection of resources. + Value *[]BillingMeter `json:"value,omitempty"` + // NextLink - READ-ONLY; Link to next page of resources. + NextLink *string `json:"nextLink,omitempty"` +} + +// BillingMeterCollectionIterator provides access to a complete listing of BillingMeter values. +type BillingMeterCollectionIterator struct { + i int + page BillingMeterCollectionPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *BillingMeterCollectionIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BillingMeterCollectionIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *BillingMeterCollectionIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter BillingMeterCollectionIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter BillingMeterCollectionIterator) Response() BillingMeterCollection { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter BillingMeterCollectionIterator) Value() BillingMeter { + if !iter.page.NotDone() { + return BillingMeter{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the BillingMeterCollectionIterator type. +func NewBillingMeterCollectionIterator(page BillingMeterCollectionPage) BillingMeterCollectionIterator { + return BillingMeterCollectionIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (bmc BillingMeterCollection) IsEmpty() bool { + return bmc.Value == nil || len(*bmc.Value) == 0 +} + +// billingMeterCollectionPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (bmc BillingMeterCollection) billingMeterCollectionPreparer(ctx context.Context) (*http.Request, error) { + if bmc.NextLink == nil || len(to.String(bmc.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(bmc.NextLink))) +} + +// BillingMeterCollectionPage contains a page of BillingMeter values. +type BillingMeterCollectionPage struct { + fn func(context.Context, BillingMeterCollection) (BillingMeterCollection, error) + bmc BillingMeterCollection +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *BillingMeterCollectionPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/BillingMeterCollectionPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.bmc) + if err != nil { + return err + } + page.bmc = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *BillingMeterCollectionPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page BillingMeterCollectionPage) NotDone() bool { + return !page.bmc.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page BillingMeterCollectionPage) Response() BillingMeterCollection { + return page.bmc +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page BillingMeterCollectionPage) Values() []BillingMeter { + if page.bmc.IsEmpty() { + return nil + } + return *page.bmc.Value +} + +// Creates a new instance of the BillingMeterCollectionPage type. +func NewBillingMeterCollectionPage(getNextPage func(context.Context, BillingMeterCollection) (BillingMeterCollection, error)) BillingMeterCollectionPage { + return BillingMeterCollectionPage{fn: getNextPage} +} + +// BillingMeterProperties billingMeter resource specific properties +type BillingMeterProperties struct { + // MeterID - Meter GUID onboarded in Commerce + MeterID *string `json:"meterId,omitempty"` + // BillingLocation - Azure Location of billable resource + BillingLocation *string `json:"billingLocation,omitempty"` + // ShortName - Short Name from App Service Azure pricing Page + ShortName *string `json:"shortName,omitempty"` + // FriendlyName - Friendly name of the meter + FriendlyName *string `json:"friendlyName,omitempty"` + // ResourceType - App Service ResourceType meter used for + ResourceType *string `json:"resourceType,omitempty"` + // OsType - App Service OS type meter used for + OsType *string `json:"osType,omitempty"` +} + +// Capability describes the capabilities/features allowed for a specific SKU. +type Capability struct { + // Name - Name of the SKU capability. + Name *string `json:"name,omitempty"` + // Value - Value of the SKU capability. + Value *string `json:"value,omitempty"` + // Reason - Reason of the SKU capability. + Reason *string `json:"reason,omitempty"` +} + +// Certificate SSL certificate for an app. +type Certificate struct { + autorest.Response `json:"-"` + // CertificateProperties - Certificate resource specific properties + *CertificateProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource Id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource Name. + Name *string `json:"name,omitempty"` + // Kind - Kind of resource. + Kind *string `json:"kind,omitempty"` + // Location - Resource Location. + Location *string `json:"location,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for Certificate. +func (c Certificate) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if c.CertificateProperties != nil { + objectMap["properties"] = c.CertificateProperties + } + if c.Kind != nil { + objectMap["kind"] = c.Kind + } + if c.Location != nil { + objectMap["location"] = c.Location + } + if c.Tags != nil { + objectMap["tags"] = c.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for Certificate struct. +func (c *Certificate) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var certificateProperties CertificateProperties + err = json.Unmarshal(*v, &certificateProperties) + if err != nil { + return err + } + c.CertificateProperties = &certificateProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + c.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + c.Name = &name + } + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + c.Kind = &kind + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + c.Location = &location + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + c.Type = &typeVar + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + c.Tags = tags + } + } + } + + return nil +} + +// CertificateCollection collection of certificates. +type CertificateCollection struct { + autorest.Response `json:"-"` + // Value - Collection of resources. + Value *[]Certificate `json:"value,omitempty"` + // NextLink - READ-ONLY; Link to next page of resources. + NextLink *string `json:"nextLink,omitempty"` +} + +// CertificateCollectionIterator provides access to a complete listing of Certificate values. +type CertificateCollectionIterator struct { + i int + page CertificateCollectionPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *CertificateCollectionIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/CertificateCollectionIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *CertificateCollectionIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter CertificateCollectionIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter CertificateCollectionIterator) Response() CertificateCollection { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter CertificateCollectionIterator) Value() Certificate { + if !iter.page.NotDone() { + return Certificate{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the CertificateCollectionIterator type. +func NewCertificateCollectionIterator(page CertificateCollectionPage) CertificateCollectionIterator { + return CertificateCollectionIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (cc CertificateCollection) IsEmpty() bool { + return cc.Value == nil || len(*cc.Value) == 0 +} + +// certificateCollectionPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (cc CertificateCollection) certificateCollectionPreparer(ctx context.Context) (*http.Request, error) { + if cc.NextLink == nil || len(to.String(cc.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(cc.NextLink))) +} + +// CertificateCollectionPage contains a page of Certificate values. +type CertificateCollectionPage struct { + fn func(context.Context, CertificateCollection) (CertificateCollection, error) + cc CertificateCollection +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *CertificateCollectionPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/CertificateCollectionPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.cc) + if err != nil { + return err + } + page.cc = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *CertificateCollectionPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page CertificateCollectionPage) NotDone() bool { + return !page.cc.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page CertificateCollectionPage) Response() CertificateCollection { + return page.cc +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page CertificateCollectionPage) Values() []Certificate { + if page.cc.IsEmpty() { + return nil + } + return *page.cc.Value +} + +// Creates a new instance of the CertificateCollectionPage type. +func NewCertificateCollectionPage(getNextPage func(context.Context, CertificateCollection) (CertificateCollection, error)) CertificateCollectionPage { + return CertificateCollectionPage{fn: getNextPage} +} + +// CertificateDetails SSL certificate details. +type CertificateDetails struct { + // Version - READ-ONLY; Certificate Version. + Version *int32 `json:"version,omitempty"` + // SerialNumber - READ-ONLY; Certificate Serial Number. + SerialNumber *string `json:"serialNumber,omitempty"` + // Thumbprint - READ-ONLY; Certificate Thumbprint. + Thumbprint *string `json:"thumbprint,omitempty"` + // Subject - READ-ONLY; Certificate Subject. + Subject *string `json:"subject,omitempty"` + // NotBefore - READ-ONLY; Date Certificate is valid from. + NotBefore *date.Time `json:"notBefore,omitempty"` + // NotAfter - READ-ONLY; Date Certificate is valid to. + NotAfter *date.Time `json:"notAfter,omitempty"` + // SignatureAlgorithm - READ-ONLY; Certificate Signature algorithm. + SignatureAlgorithm *string `json:"signatureAlgorithm,omitempty"` + // Issuer - READ-ONLY; Certificate Issuer. + Issuer *string `json:"issuer,omitempty"` + // RawData - READ-ONLY; Raw certificate data. + RawData *string `json:"rawData,omitempty"` +} + +// CertificateEmail SSL certificate email. +type CertificateEmail struct { + // CertificateEmailProperties - CertificateEmail resource specific properties + *CertificateEmailProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource Id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource Name. + Name *string `json:"name,omitempty"` + // Kind - Kind of resource. + Kind *string `json:"kind,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for CertificateEmail. +func (ce CertificateEmail) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if ce.CertificateEmailProperties != nil { + objectMap["properties"] = ce.CertificateEmailProperties + } + if ce.Kind != nil { + objectMap["kind"] = ce.Kind + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for CertificateEmail struct. +func (ce *CertificateEmail) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var certificateEmailProperties CertificateEmailProperties + err = json.Unmarshal(*v, &certificateEmailProperties) + if err != nil { + return err + } + ce.CertificateEmailProperties = &certificateEmailProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + ce.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + ce.Name = &name + } + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + ce.Kind = &kind + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ce.Type = &typeVar + } + } + } + + return nil +} + +// CertificateEmailProperties certificateEmail resource specific properties +type CertificateEmailProperties struct { + // EmailID - Email id. + EmailID *string `json:"emailId,omitempty"` + // TimeStamp - Time stamp. + TimeStamp *date.Time `json:"timeStamp,omitempty"` +} + +// CertificateOrderAction certificate order action. +type CertificateOrderAction struct { + // CertificateOrderActionProperties - CertificateOrderAction resource specific properties + *CertificateOrderActionProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource Id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource Name. + Name *string `json:"name,omitempty"` + // Kind - Kind of resource. + Kind *string `json:"kind,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for CertificateOrderAction. +func (coa CertificateOrderAction) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if coa.CertificateOrderActionProperties != nil { + objectMap["properties"] = coa.CertificateOrderActionProperties + } + if coa.Kind != nil { + objectMap["kind"] = coa.Kind + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for CertificateOrderAction struct. +func (coa *CertificateOrderAction) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var certificateOrderActionProperties CertificateOrderActionProperties + err = json.Unmarshal(*v, &certificateOrderActionProperties) + if err != nil { + return err + } + coa.CertificateOrderActionProperties = &certificateOrderActionProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + coa.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + coa.Name = &name + } + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + coa.Kind = &kind + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + coa.Type = &typeVar + } + } + } + + return nil +} + +// CertificateOrderActionProperties certificateOrderAction resource specific properties +type CertificateOrderActionProperties struct { + // ActionType - READ-ONLY; Action type. Possible values include: 'CertificateIssued', 'CertificateOrderCanceled', 'CertificateOrderCreated', 'CertificateRevoked', 'DomainValidationComplete', 'FraudDetected', 'OrgNameChange', 'OrgValidationComplete', 'SanDrop', 'FraudCleared', 'CertificateExpired', 'CertificateExpirationWarning', 'FraudDocumentationRequired', 'Unknown' + ActionType CertificateOrderActionType `json:"actionType,omitempty"` + // CreatedAt - READ-ONLY; Time at which the certificate action was performed. + CreatedAt *date.Time `json:"createdAt,omitempty"` +} + +// CertificatePatchResource ARM resource for a certificate. +type CertificatePatchResource struct { + // CertificatePatchResourceProperties - CertificatePatchResource resource specific properties + *CertificatePatchResourceProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource Id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource Name. + Name *string `json:"name,omitempty"` + // Kind - Kind of resource. + Kind *string `json:"kind,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for CertificatePatchResource. +func (cpr CertificatePatchResource) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if cpr.CertificatePatchResourceProperties != nil { + objectMap["properties"] = cpr.CertificatePatchResourceProperties + } + if cpr.Kind != nil { + objectMap["kind"] = cpr.Kind + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for CertificatePatchResource struct. +func (cpr *CertificatePatchResource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var certificatePatchResourceProperties CertificatePatchResourceProperties + err = json.Unmarshal(*v, &certificatePatchResourceProperties) + if err != nil { + return err + } + cpr.CertificatePatchResourceProperties = &certificatePatchResourceProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + cpr.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + cpr.Name = &name + } + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + cpr.Kind = &kind + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + cpr.Type = &typeVar + } + } + } + + return nil +} + +// CertificatePatchResourceProperties certificatePatchResource resource specific properties +type CertificatePatchResourceProperties struct { + // FriendlyName - READ-ONLY; Friendly name of the certificate. + FriendlyName *string `json:"friendlyName,omitempty"` + // SubjectName - READ-ONLY; Subject name of the certificate. + SubjectName *string `json:"subjectName,omitempty"` + // HostNames - Host names the certificate applies to. + HostNames *[]string `json:"hostNames,omitempty"` + // PfxBlob - Pfx blob. + PfxBlob *[]byte `json:"pfxBlob,omitempty"` + // SiteName - READ-ONLY; App name. + SiteName *string `json:"siteName,omitempty"` + // SelfLink - READ-ONLY; Self link. + SelfLink *string `json:"selfLink,omitempty"` + // Issuer - READ-ONLY; Certificate issuer. + Issuer *string `json:"issuer,omitempty"` + // IssueDate - READ-ONLY; Certificate issue Date. + IssueDate *date.Time `json:"issueDate,omitempty"` + // ExpirationDate - READ-ONLY; Certificate expiration date. + ExpirationDate *date.Time `json:"expirationDate,omitempty"` + // Password - Certificate password. + Password *string `json:"password,omitempty"` + // Thumbprint - READ-ONLY; Certificate thumbprint. + Thumbprint *string `json:"thumbprint,omitempty"` + // Valid - READ-ONLY; Is the certificate valid?. + Valid *bool `json:"valid,omitempty"` + // CerBlob - READ-ONLY; Raw bytes of .cer file + CerBlob *[]byte `json:"cerBlob,omitempty"` + // PublicKeyHash - READ-ONLY; Public key hash. + PublicKeyHash *string `json:"publicKeyHash,omitempty"` + // HostingEnvironmentProfile - READ-ONLY; Specification for the App Service Environment to use for the certificate. + HostingEnvironmentProfile *HostingEnvironmentProfile `json:"hostingEnvironmentProfile,omitempty"` + // KeyVaultID - Key Vault Csm resource Id. + KeyVaultID *string `json:"keyVaultId,omitempty"` + // KeyVaultSecretName - Key Vault secret name. + KeyVaultSecretName *string `json:"keyVaultSecretName,omitempty"` + // KeyVaultSecretStatus - READ-ONLY; Status of the Key Vault secret. Possible values include: 'KeyVaultSecretStatusInitialized', 'KeyVaultSecretStatusWaitingOnCertificateOrder', 'KeyVaultSecretStatusSucceeded', 'KeyVaultSecretStatusCertificateOrderFailed', 'KeyVaultSecretStatusOperationNotPermittedOnKeyVault', 'KeyVaultSecretStatusAzureServiceUnauthorizedToAccessKeyVault', 'KeyVaultSecretStatusKeyVaultDoesNotExist', 'KeyVaultSecretStatusKeyVaultSecretDoesNotExist', 'KeyVaultSecretStatusUnknownError', 'KeyVaultSecretStatusExternalPrivateKey', 'KeyVaultSecretStatusUnknown' + KeyVaultSecretStatus KeyVaultSecretStatus `json:"keyVaultSecretStatus,omitempty"` + // ServerFarmID - Resource ID of the associated App Service plan, formatted as: "/subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}". + ServerFarmID *string `json:"serverFarmId,omitempty"` +} + +// CertificateProperties certificate resource specific properties +type CertificateProperties struct { + // FriendlyName - READ-ONLY; Friendly name of the certificate. + FriendlyName *string `json:"friendlyName,omitempty"` + // SubjectName - READ-ONLY; Subject name of the certificate. + SubjectName *string `json:"subjectName,omitempty"` + // HostNames - Host names the certificate applies to. + HostNames *[]string `json:"hostNames,omitempty"` + // PfxBlob - Pfx blob. + PfxBlob *[]byte `json:"pfxBlob,omitempty"` + // SiteName - READ-ONLY; App name. + SiteName *string `json:"siteName,omitempty"` + // SelfLink - READ-ONLY; Self link. + SelfLink *string `json:"selfLink,omitempty"` + // Issuer - READ-ONLY; Certificate issuer. + Issuer *string `json:"issuer,omitempty"` + // IssueDate - READ-ONLY; Certificate issue Date. + IssueDate *date.Time `json:"issueDate,omitempty"` + // ExpirationDate - READ-ONLY; Certificate expiration date. + ExpirationDate *date.Time `json:"expirationDate,omitempty"` + // Password - Certificate password. + Password *string `json:"password,omitempty"` + // Thumbprint - READ-ONLY; Certificate thumbprint. + Thumbprint *string `json:"thumbprint,omitempty"` + // Valid - READ-ONLY; Is the certificate valid?. + Valid *bool `json:"valid,omitempty"` + // CerBlob - READ-ONLY; Raw bytes of .cer file + CerBlob *[]byte `json:"cerBlob,omitempty"` + // PublicKeyHash - READ-ONLY; Public key hash. + PublicKeyHash *string `json:"publicKeyHash,omitempty"` + // HostingEnvironmentProfile - READ-ONLY; Specification for the App Service Environment to use for the certificate. + HostingEnvironmentProfile *HostingEnvironmentProfile `json:"hostingEnvironmentProfile,omitempty"` + // KeyVaultID - Key Vault Csm resource Id. + KeyVaultID *string `json:"keyVaultId,omitempty"` + // KeyVaultSecretName - Key Vault secret name. + KeyVaultSecretName *string `json:"keyVaultSecretName,omitempty"` + // KeyVaultSecretStatus - READ-ONLY; Status of the Key Vault secret. Possible values include: 'KeyVaultSecretStatusInitialized', 'KeyVaultSecretStatusWaitingOnCertificateOrder', 'KeyVaultSecretStatusSucceeded', 'KeyVaultSecretStatusCertificateOrderFailed', 'KeyVaultSecretStatusOperationNotPermittedOnKeyVault', 'KeyVaultSecretStatusAzureServiceUnauthorizedToAccessKeyVault', 'KeyVaultSecretStatusKeyVaultDoesNotExist', 'KeyVaultSecretStatusKeyVaultSecretDoesNotExist', 'KeyVaultSecretStatusUnknownError', 'KeyVaultSecretStatusExternalPrivateKey', 'KeyVaultSecretStatusUnknown' + KeyVaultSecretStatus KeyVaultSecretStatus `json:"keyVaultSecretStatus,omitempty"` + // ServerFarmID - Resource ID of the associated App Service plan, formatted as: "/subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}". + ServerFarmID *string `json:"serverFarmId,omitempty"` +} + +// CloningInfo information needed for cloning operation. +type CloningInfo struct { + // CorrelationID - Correlation ID of cloning operation. This ID ties multiple cloning operations + // together to use the same snapshot. + CorrelationID *uuid.UUID `json:"correlationId,omitempty"` + // Overwrite - true to overwrite destination app; otherwise, false. + Overwrite *bool `json:"overwrite,omitempty"` + // CloneCustomHostNames - true to clone custom hostnames from source app; otherwise, false. + CloneCustomHostNames *bool `json:"cloneCustomHostNames,omitempty"` + // CloneSourceControl - true to clone source control from source app; otherwise, false. + CloneSourceControl *bool `json:"cloneSourceControl,omitempty"` + // SourceWebAppID - ARM resource ID of the source app. App resource ID is of the form + // /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName} for production slots and + // /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slotName} for other slots. + SourceWebAppID *string `json:"sourceWebAppId,omitempty"` + // SourceWebAppLocation - Location of source app ex: West US or North Europe + SourceWebAppLocation *string `json:"sourceWebAppLocation,omitempty"` + // HostingEnvironment - App Service Environment. + HostingEnvironment *string `json:"hostingEnvironment,omitempty"` + // AppSettingsOverrides - Application setting overrides for cloned app. If specified, these settings override the settings cloned + // from source app. Otherwise, application settings from source app are retained. + AppSettingsOverrides map[string]*string `json:"appSettingsOverrides"` + // ConfigureLoadBalancing - true to configure load balancing for source and destination app. + ConfigureLoadBalancing *bool `json:"configureLoadBalancing,omitempty"` + // TrafficManagerProfileID - ARM resource ID of the Traffic Manager profile to use, if it exists. Traffic Manager resource ID is of the form + // /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficManagerProfiles/{profileName}. + TrafficManagerProfileID *string `json:"trafficManagerProfileId,omitempty"` + // TrafficManagerProfileName - Name of Traffic Manager profile to create. This is only needed if Traffic Manager profile does not already exist. + TrafficManagerProfileName *string `json:"trafficManagerProfileName,omitempty"` +} + +// MarshalJSON is the custom marshaler for CloningInfo. +func (ci CloningInfo) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if ci.CorrelationID != nil { + objectMap["correlationId"] = ci.CorrelationID + } + if ci.Overwrite != nil { + objectMap["overwrite"] = ci.Overwrite + } + if ci.CloneCustomHostNames != nil { + objectMap["cloneCustomHostNames"] = ci.CloneCustomHostNames + } + if ci.CloneSourceControl != nil { + objectMap["cloneSourceControl"] = ci.CloneSourceControl + } + if ci.SourceWebAppID != nil { + objectMap["sourceWebAppId"] = ci.SourceWebAppID + } + if ci.SourceWebAppLocation != nil { + objectMap["sourceWebAppLocation"] = ci.SourceWebAppLocation + } + if ci.HostingEnvironment != nil { + objectMap["hostingEnvironment"] = ci.HostingEnvironment + } + if ci.AppSettingsOverrides != nil { + objectMap["appSettingsOverrides"] = ci.AppSettingsOverrides + } + if ci.ConfigureLoadBalancing != nil { + objectMap["configureLoadBalancing"] = ci.ConfigureLoadBalancing + } + if ci.TrafficManagerProfileID != nil { + objectMap["trafficManagerProfileId"] = ci.TrafficManagerProfileID + } + if ci.TrafficManagerProfileName != nil { + objectMap["trafficManagerProfileName"] = ci.TrafficManagerProfileName + } + return json.Marshal(objectMap) +} + +// ConnectionStringDictionary string dictionary resource. +type ConnectionStringDictionary struct { + autorest.Response `json:"-"` + // Properties - Connection strings. + Properties map[string]*ConnStringValueTypePair `json:"properties"` + // ID - READ-ONLY; Resource Id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource Name. + Name *string `json:"name,omitempty"` + // Kind - Kind of resource. + Kind *string `json:"kind,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for ConnectionStringDictionary. +func (csd ConnectionStringDictionary) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if csd.Properties != nil { + objectMap["properties"] = csd.Properties + } + if csd.Kind != nil { + objectMap["kind"] = csd.Kind + } + return json.Marshal(objectMap) +} + +// ConnStringInfo database connection string information. +type ConnStringInfo struct { + // Name - Name of connection string. + Name *string `json:"name,omitempty"` + // ConnectionString - Connection string value. + ConnectionString *string `json:"connectionString,omitempty"` + // Type - Type of database. Possible values include: 'MySQL', 'SQLServer', 'SQLAzure', 'Custom', 'NotificationHub', 'ServiceBus', 'EventHub', 'APIHub', 'DocDb', 'RedisCache', 'PostgreSQL' + Type ConnectionStringType `json:"type,omitempty"` +} + +// ConnStringValueTypePair database connection string value to type pair. +type ConnStringValueTypePair struct { + // Value - Value of pair. + Value *string `json:"value,omitempty"` + // Type - Type of database. Possible values include: 'MySQL', 'SQLServer', 'SQLAzure', 'Custom', 'NotificationHub', 'ServiceBus', 'EventHub', 'APIHub', 'DocDb', 'RedisCache', 'PostgreSQL' + Type ConnectionStringType `json:"type,omitempty"` +} + +// Contact contact information for domain registration. If 'Domain Privacy' option is not selected then the +// contact information is made publicly available through the Whois +// directories as per ICANN requirements. +type Contact struct { + // AddressMailing - Mailing address. + AddressMailing *Address `json:"addressMailing,omitempty"` + // Email - Email address. + Email *string `json:"email,omitempty"` + // Fax - Fax number. + Fax *string `json:"fax,omitempty"` + // JobTitle - Job title. + JobTitle *string `json:"jobTitle,omitempty"` + // NameFirst - First name. + NameFirst *string `json:"nameFirst,omitempty"` + // NameLast - Last name. + NameLast *string `json:"nameLast,omitempty"` + // NameMiddle - Middle name. + NameMiddle *string `json:"nameMiddle,omitempty"` + // Organization - Organization contact belongs to. + Organization *string `json:"organization,omitempty"` + // Phone - Phone number. + Phone *string `json:"phone,omitempty"` +} + +// ContinuousWebJob continuous Web Job Information. +type ContinuousWebJob struct { + autorest.Response `json:"-"` + // ContinuousWebJobProperties - ContinuousWebJob resource specific properties + *ContinuousWebJobProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource Id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource Name. + Name *string `json:"name,omitempty"` + // Kind - Kind of resource. + Kind *string `json:"kind,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for ContinuousWebJob. +func (cwj ContinuousWebJob) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if cwj.ContinuousWebJobProperties != nil { + objectMap["properties"] = cwj.ContinuousWebJobProperties + } + if cwj.Kind != nil { + objectMap["kind"] = cwj.Kind + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ContinuousWebJob struct. +func (cwj *ContinuousWebJob) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var continuousWebJobProperties ContinuousWebJobProperties + err = json.Unmarshal(*v, &continuousWebJobProperties) + if err != nil { + return err + } + cwj.ContinuousWebJobProperties = &continuousWebJobProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + cwj.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + cwj.Name = &name + } + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + cwj.Kind = &kind + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + cwj.Type = &typeVar + } + } + } + + return nil +} + +// ContinuousWebJobCollection collection of Kudu continuous web job information elements. +type ContinuousWebJobCollection struct { + autorest.Response `json:"-"` + // Value - Collection of resources. + Value *[]ContinuousWebJob `json:"value,omitempty"` + // NextLink - READ-ONLY; Link to next page of resources. + NextLink *string `json:"nextLink,omitempty"` +} + +// ContinuousWebJobCollectionIterator provides access to a complete listing of ContinuousWebJob values. +type ContinuousWebJobCollectionIterator struct { + i int + page ContinuousWebJobCollectionPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *ContinuousWebJobCollectionIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ContinuousWebJobCollectionIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *ContinuousWebJobCollectionIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter ContinuousWebJobCollectionIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter ContinuousWebJobCollectionIterator) Response() ContinuousWebJobCollection { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter ContinuousWebJobCollectionIterator) Value() ContinuousWebJob { + if !iter.page.NotDone() { + return ContinuousWebJob{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the ContinuousWebJobCollectionIterator type. +func NewContinuousWebJobCollectionIterator(page ContinuousWebJobCollectionPage) ContinuousWebJobCollectionIterator { + return ContinuousWebJobCollectionIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (cwjc ContinuousWebJobCollection) IsEmpty() bool { + return cwjc.Value == nil || len(*cwjc.Value) == 0 +} + +// continuousWebJobCollectionPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (cwjc ContinuousWebJobCollection) continuousWebJobCollectionPreparer(ctx context.Context) (*http.Request, error) { + if cwjc.NextLink == nil || len(to.String(cwjc.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(cwjc.NextLink))) +} + +// ContinuousWebJobCollectionPage contains a page of ContinuousWebJob values. +type ContinuousWebJobCollectionPage struct { + fn func(context.Context, ContinuousWebJobCollection) (ContinuousWebJobCollection, error) + cwjc ContinuousWebJobCollection +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *ContinuousWebJobCollectionPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ContinuousWebJobCollectionPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.cwjc) + if err != nil { + return err + } + page.cwjc = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *ContinuousWebJobCollectionPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page ContinuousWebJobCollectionPage) NotDone() bool { + return !page.cwjc.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page ContinuousWebJobCollectionPage) Response() ContinuousWebJobCollection { + return page.cwjc +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page ContinuousWebJobCollectionPage) Values() []ContinuousWebJob { + if page.cwjc.IsEmpty() { + return nil + } + return *page.cwjc.Value +} + +// Creates a new instance of the ContinuousWebJobCollectionPage type. +func NewContinuousWebJobCollectionPage(getNextPage func(context.Context, ContinuousWebJobCollection) (ContinuousWebJobCollection, error)) ContinuousWebJobCollectionPage { + return ContinuousWebJobCollectionPage{fn: getNextPage} +} + +// ContinuousWebJobProperties continuousWebJob resource specific properties +type ContinuousWebJobProperties struct { + // Status - Job status. Possible values include: 'Initializing', 'Starting', 'Running', 'PendingRestart', 'Stopped' + Status ContinuousWebJobStatus `json:"status,omitempty"` + // DetailedStatus - Detailed status. + DetailedStatus *string `json:"detailed_status,omitempty"` + // LogURL - Log URL. + LogURL *string `json:"log_url,omitempty"` + // RunCommand - Run command. + RunCommand *string `json:"run_command,omitempty"` + // URL - Job URL. + URL *string `json:"url,omitempty"` + // ExtraInfoURL - Extra Info URL. + ExtraInfoURL *string `json:"extra_info_url,omitempty"` + // WebJobType - Job type. Possible values include: 'Continuous', 'Triggered' + WebJobType JobType `json:"web_job_type,omitempty"` + // Error - Error information. + Error *string `json:"error,omitempty"` + // UsingSdk - Using SDK? + UsingSdk *bool `json:"using_sdk,omitempty"` + // Settings - Job settings. + Settings map[string]interface{} `json:"settings"` +} + +// MarshalJSON is the custom marshaler for ContinuousWebJobProperties. +func (cwj ContinuousWebJobProperties) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if cwj.Status != "" { + objectMap["status"] = cwj.Status + } + if cwj.DetailedStatus != nil { + objectMap["detailed_status"] = cwj.DetailedStatus + } + if cwj.LogURL != nil { + objectMap["log_url"] = cwj.LogURL + } + if cwj.RunCommand != nil { + objectMap["run_command"] = cwj.RunCommand + } + if cwj.URL != nil { + objectMap["url"] = cwj.URL + } + if cwj.ExtraInfoURL != nil { + objectMap["extra_info_url"] = cwj.ExtraInfoURL + } + if cwj.WebJobType != "" { + objectMap["web_job_type"] = cwj.WebJobType + } + if cwj.Error != nil { + objectMap["error"] = cwj.Error + } + if cwj.UsingSdk != nil { + objectMap["using_sdk"] = cwj.UsingSdk + } + if cwj.Settings != nil { + objectMap["settings"] = cwj.Settings + } + return json.Marshal(objectMap) +} + +// CorsSettings cross-Origin Resource Sharing (CORS) settings for the app. +type CorsSettings struct { + // AllowedOrigins - Gets or sets the list of origins that should be allowed to make cross-origin + // calls (for example: http://example.com:12345). Use "*" to allow all. + AllowedOrigins *[]string `json:"allowedOrigins,omitempty"` + // SupportCredentials - Gets or sets whether CORS requests with credentials are allowed. See + // https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS#Requests_with_credentials + // for more details. + SupportCredentials *bool `json:"supportCredentials,omitempty"` +} + +// CsmMoveResourceEnvelope object with a list of the resources that need to be moved and the resource group +// they should be moved to. +type CsmMoveResourceEnvelope struct { + TargetResourceGroup *string `json:"targetResourceGroup,omitempty"` + Resources *[]string `json:"resources,omitempty"` +} + +// CsmOperationCollection collection of Azure resource manager operation metadata. +type CsmOperationCollection struct { + autorest.Response `json:"-"` + // Value - Collection of resources. + Value *[]CsmOperationDescription `json:"value,omitempty"` + // NextLink - READ-ONLY; Link to next page of resources. + NextLink *string `json:"nextLink,omitempty"` +} + +// CsmOperationCollectionIterator provides access to a complete listing of CsmOperationDescription values. +type CsmOperationCollectionIterator struct { + i int + page CsmOperationCollectionPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *CsmOperationCollectionIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/CsmOperationCollectionIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *CsmOperationCollectionIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter CsmOperationCollectionIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter CsmOperationCollectionIterator) Response() CsmOperationCollection { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter CsmOperationCollectionIterator) Value() CsmOperationDescription { + if !iter.page.NotDone() { + return CsmOperationDescription{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the CsmOperationCollectionIterator type. +func NewCsmOperationCollectionIterator(page CsmOperationCollectionPage) CsmOperationCollectionIterator { + return CsmOperationCollectionIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (coc CsmOperationCollection) IsEmpty() bool { + return coc.Value == nil || len(*coc.Value) == 0 +} + +// csmOperationCollectionPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (coc CsmOperationCollection) csmOperationCollectionPreparer(ctx context.Context) (*http.Request, error) { + if coc.NextLink == nil || len(to.String(coc.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(coc.NextLink))) +} + +// CsmOperationCollectionPage contains a page of CsmOperationDescription values. +type CsmOperationCollectionPage struct { + fn func(context.Context, CsmOperationCollection) (CsmOperationCollection, error) + coc CsmOperationCollection +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *CsmOperationCollectionPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/CsmOperationCollectionPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.coc) + if err != nil { + return err + } + page.coc = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *CsmOperationCollectionPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page CsmOperationCollectionPage) NotDone() bool { + return !page.coc.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page CsmOperationCollectionPage) Response() CsmOperationCollection { + return page.coc +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page CsmOperationCollectionPage) Values() []CsmOperationDescription { + if page.coc.IsEmpty() { + return nil + } + return *page.coc.Value +} + +// Creates a new instance of the CsmOperationCollectionPage type. +func NewCsmOperationCollectionPage(getNextPage func(context.Context, CsmOperationCollection) (CsmOperationCollection, error)) CsmOperationCollectionPage { + return CsmOperationCollectionPage{fn: getNextPage} +} + +// CsmOperationDescription description of an operation available for Microsoft.Web resource provider. +type CsmOperationDescription struct { + Name *string `json:"name,omitempty"` + Display *CsmOperationDisplay `json:"display,omitempty"` + Origin *string `json:"origin,omitempty"` + Properties *CsmOperationDescriptionProperties `json:"properties,omitempty"` +} + +// CsmOperationDescriptionProperties properties available for a Microsoft.Web resource provider operation. +type CsmOperationDescriptionProperties struct { + ServiceSpecification *ServiceSpecification `json:"serviceSpecification,omitempty"` +} + +// CsmOperationDisplay meta data about operation used for display in portal. +type CsmOperationDisplay struct { + Provider *string `json:"provider,omitempty"` + Resource *string `json:"resource,omitempty"` + Operation *string `json:"operation,omitempty"` + Description *string `json:"description,omitempty"` +} + +// CsmPublishingProfileOptions publishing options for requested profile. +type CsmPublishingProfileOptions struct { + // Format - Name of the format. Valid values are: + // FileZilla3 + // WebDeploy -- default + // Ftp. Possible values include: 'FileZilla3', 'WebDeploy', 'Ftp' + Format PublishingProfileFormat `json:"format,omitempty"` + // IncludeDisasterRecoveryEndpoints - Include the DisasterRecover endpoint if true + IncludeDisasterRecoveryEndpoints *bool `json:"includeDisasterRecoveryEndpoints,omitempty"` +} + +// CsmSlotEntity deployment slot parameters. +type CsmSlotEntity struct { + // TargetSlot - Destination deployment slot during swap operation. + TargetSlot *string `json:"targetSlot,omitempty"` + // PreserveVnet - true to preserve Virtual Network to the slot during swap; otherwise, false. + PreserveVnet *bool `json:"preserveVnet,omitempty"` +} + +// CsmUsageQuota usage of the quota resource. +type CsmUsageQuota struct { + // Unit - Units of measurement for the quota resource. + Unit *string `json:"unit,omitempty"` + // NextResetTime - Next reset time for the resource counter. + NextResetTime *date.Time `json:"nextResetTime,omitempty"` + // CurrentValue - The current value of the resource counter. + CurrentValue *int64 `json:"currentValue,omitempty"` + // Limit - The resource limit. + Limit *int64 `json:"limit,omitempty"` + // Name - Quota name. + Name *LocalizableString `json:"name,omitempty"` +} + +// CsmUsageQuotaCollection collection of CSM usage quotas. +type CsmUsageQuotaCollection struct { + autorest.Response `json:"-"` + // Value - Collection of resources. + Value *[]CsmUsageQuota `json:"value,omitempty"` + // NextLink - READ-ONLY; Link to next page of resources. + NextLink *string `json:"nextLink,omitempty"` +} + +// CsmUsageQuotaCollectionIterator provides access to a complete listing of CsmUsageQuota values. +type CsmUsageQuotaCollectionIterator struct { + i int + page CsmUsageQuotaCollectionPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *CsmUsageQuotaCollectionIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/CsmUsageQuotaCollectionIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *CsmUsageQuotaCollectionIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter CsmUsageQuotaCollectionIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter CsmUsageQuotaCollectionIterator) Response() CsmUsageQuotaCollection { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter CsmUsageQuotaCollectionIterator) Value() CsmUsageQuota { + if !iter.page.NotDone() { + return CsmUsageQuota{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the CsmUsageQuotaCollectionIterator type. +func NewCsmUsageQuotaCollectionIterator(page CsmUsageQuotaCollectionPage) CsmUsageQuotaCollectionIterator { + return CsmUsageQuotaCollectionIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (cuqc CsmUsageQuotaCollection) IsEmpty() bool { + return cuqc.Value == nil || len(*cuqc.Value) == 0 +} + +// csmUsageQuotaCollectionPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (cuqc CsmUsageQuotaCollection) csmUsageQuotaCollectionPreparer(ctx context.Context) (*http.Request, error) { + if cuqc.NextLink == nil || len(to.String(cuqc.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(cuqc.NextLink))) +} + +// CsmUsageQuotaCollectionPage contains a page of CsmUsageQuota values. +type CsmUsageQuotaCollectionPage struct { + fn func(context.Context, CsmUsageQuotaCollection) (CsmUsageQuotaCollection, error) + cuqc CsmUsageQuotaCollection +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *CsmUsageQuotaCollectionPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/CsmUsageQuotaCollectionPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.cuqc) + if err != nil { + return err + } + page.cuqc = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *CsmUsageQuotaCollectionPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page CsmUsageQuotaCollectionPage) NotDone() bool { + return !page.cuqc.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page CsmUsageQuotaCollectionPage) Response() CsmUsageQuotaCollection { + return page.cuqc +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page CsmUsageQuotaCollectionPage) Values() []CsmUsageQuota { + if page.cuqc.IsEmpty() { + return nil + } + return *page.cuqc.Value +} + +// Creates a new instance of the CsmUsageQuotaCollectionPage type. +func NewCsmUsageQuotaCollectionPage(getNextPage func(context.Context, CsmUsageQuotaCollection) (CsmUsageQuotaCollection, error)) CsmUsageQuotaCollectionPage { + return CsmUsageQuotaCollectionPage{fn: getNextPage} +} + +// CustomHostnameAnalysisResult custom domain analysis. +type CustomHostnameAnalysisResult struct { + autorest.Response `json:"-"` + // CustomHostnameAnalysisResultProperties - CustomHostnameAnalysisResult resource specific properties + *CustomHostnameAnalysisResultProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource Id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource Name. + Name *string `json:"name,omitempty"` + // Kind - Kind of resource. + Kind *string `json:"kind,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for CustomHostnameAnalysisResult. +func (char CustomHostnameAnalysisResult) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if char.CustomHostnameAnalysisResultProperties != nil { + objectMap["properties"] = char.CustomHostnameAnalysisResultProperties + } + if char.Kind != nil { + objectMap["kind"] = char.Kind + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for CustomHostnameAnalysisResult struct. +func (char *CustomHostnameAnalysisResult) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var customHostnameAnalysisResultProperties CustomHostnameAnalysisResultProperties + err = json.Unmarshal(*v, &customHostnameAnalysisResultProperties) + if err != nil { + return err + } + char.CustomHostnameAnalysisResultProperties = &customHostnameAnalysisResultProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + char.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + char.Name = &name + } + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + char.Kind = &kind + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + char.Type = &typeVar + } + } + } + + return nil +} + +// CustomHostnameAnalysisResultProperties customHostnameAnalysisResult resource specific properties +type CustomHostnameAnalysisResultProperties struct { + // IsHostnameAlreadyVerified - READ-ONLY; true if hostname is already verified; otherwise, false. + IsHostnameAlreadyVerified *bool `json:"isHostnameAlreadyVerified,omitempty"` + // CustomDomainVerificationTest - READ-ONLY; DNS verification test result. Possible values include: 'DNSVerificationTestResultPassed', 'DNSVerificationTestResultFailed', 'DNSVerificationTestResultSkipped' + CustomDomainVerificationTest DNSVerificationTestResult `json:"customDomainVerificationTest,omitempty"` + // CustomDomainVerificationFailureInfo - READ-ONLY; Raw failure information if DNS verification fails. + CustomDomainVerificationFailureInfo *ErrorEntity `json:"customDomainVerificationFailureInfo,omitempty"` + // HasConflictOnScaleUnit - READ-ONLY; true if there is a conflict on a scale unit; otherwise, false. + HasConflictOnScaleUnit *bool `json:"hasConflictOnScaleUnit,omitempty"` + // HasConflictAcrossSubscription - READ-ONLY; true if there is a conflict across subscriptions; otherwise, false. + HasConflictAcrossSubscription *bool `json:"hasConflictAcrossSubscription,omitempty"` + // ConflictingAppResourceID - READ-ONLY; Name of the conflicting app on scale unit if it's within the same subscription. + ConflictingAppResourceID *string `json:"conflictingAppResourceId,omitempty"` + // CNameRecords - CName records controller can see for this hostname. + CNameRecords *[]string `json:"cNameRecords,omitempty"` + // TxtRecords - TXT records controller can see for this hostname. + TxtRecords *[]string `json:"txtRecords,omitempty"` + // ARecords - A records controller can see for this hostname. + ARecords *[]string `json:"aRecords,omitempty"` + // AlternateCNameRecords - Alternate CName records controller can see for this hostname. + AlternateCNameRecords *[]string `json:"alternateCNameRecords,omitempty"` + // AlternateTxtRecords - Alternate TXT records controller can see for this hostname. + AlternateTxtRecords *[]string `json:"alternateTxtRecords,omitempty"` +} + +// DatabaseBackupSetting database backup settings. +type DatabaseBackupSetting struct { + // DatabaseType - Database type (e.g. SqlAzure / MySql). Possible values include: 'DatabaseTypeSQLAzure', 'DatabaseTypeMySQL', 'DatabaseTypeLocalMySQL', 'DatabaseTypePostgreSQL' + DatabaseType DatabaseType `json:"databaseType,omitempty"` + Name *string `json:"name,omitempty"` + // ConnectionStringName - Contains a connection string name that is linked to the SiteConfig.ConnectionStrings. + // This is used during restore with overwrite connection strings options. + ConnectionStringName *string `json:"connectionStringName,omitempty"` + // ConnectionString - Contains a connection string to a database which is being backed up or restored. If the restore should happen to a new database, the database name inside is the new one. + ConnectionString *string `json:"connectionString,omitempty"` +} + +// DataSource class representing data source used by the detectors +type DataSource struct { + // Instructions - Instructions if any for the data source + Instructions *[]string `json:"instructions,omitempty"` + // DataSourceURI - Datasource Uri Links + DataSourceURI *[]NameValuePair `json:"dataSourceUri,omitempty"` +} + +// DataTableResponseColumn column definition +type DataTableResponseColumn struct { + // ColumnName - Name of the column + ColumnName *string `json:"columnName,omitempty"` + // DataType - Data type which looks like 'String' or 'Int32'. + DataType *string `json:"dataType,omitempty"` + // ColumnType - Column Type + ColumnType *string `json:"columnType,omitempty"` +} + +// DataTableResponseObject data Table which defines columns and raw row values +type DataTableResponseObject struct { + // TableName - Name of the table + TableName *string `json:"tableName,omitempty"` + // Columns - List of columns with data types + Columns *[]DataTableResponseColumn `json:"columns,omitempty"` + // Rows - Raw row values + Rows *[][]string `json:"rows,omitempty"` +} + +// DefaultErrorResponse app Service error response. +type DefaultErrorResponse struct { + // Error - READ-ONLY; Error model. + Error *DefaultErrorResponseError `json:"error,omitempty"` +} + +// DefaultErrorResponseError error model. +type DefaultErrorResponseError struct { + // Code - READ-ONLY; Standardized string to programmatically identify the error. + Code *string `json:"code,omitempty"` + // Message - READ-ONLY; Detailed error description and debugging information. + Message *string `json:"message,omitempty"` + // Target - READ-ONLY; Detailed error description and debugging information. + Target *string `json:"target,omitempty"` + Details *[]DefaultErrorResponseErrorDetailsItem `json:"details,omitempty"` + // Innererror - READ-ONLY; More information to debug error. + Innererror *string `json:"innererror,omitempty"` +} + +// DefaultErrorResponseErrorDetailsItem detailed errors. +type DefaultErrorResponseErrorDetailsItem struct { + // Code - READ-ONLY; Standardized string to programmatically identify the error. + Code *string `json:"code,omitempty"` + // Message - READ-ONLY; Detailed error description and debugging information. + Message *string `json:"message,omitempty"` + // Target - READ-ONLY; Detailed error description and debugging information. + Target *string `json:"target,omitempty"` +} + +// DeletedAppRestoreRequest details about restoring a deleted app. +type DeletedAppRestoreRequest struct { + // DeletedAppRestoreRequestProperties - DeletedAppRestoreRequest resource specific properties + *DeletedAppRestoreRequestProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource Id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource Name. + Name *string `json:"name,omitempty"` + // Kind - Kind of resource. + Kind *string `json:"kind,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for DeletedAppRestoreRequest. +func (darr DeletedAppRestoreRequest) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if darr.DeletedAppRestoreRequestProperties != nil { + objectMap["properties"] = darr.DeletedAppRestoreRequestProperties + } + if darr.Kind != nil { + objectMap["kind"] = darr.Kind + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for DeletedAppRestoreRequest struct. +func (darr *DeletedAppRestoreRequest) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var deletedAppRestoreRequestProperties DeletedAppRestoreRequestProperties + err = json.Unmarshal(*v, &deletedAppRestoreRequestProperties) + if err != nil { + return err + } + darr.DeletedAppRestoreRequestProperties = &deletedAppRestoreRequestProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + darr.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + darr.Name = &name + } + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + darr.Kind = &kind + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + darr.Type = &typeVar + } + } + } + + return nil +} + +// DeletedAppRestoreRequestProperties deletedAppRestoreRequest resource specific properties +type DeletedAppRestoreRequestProperties struct { + // DeletedSiteID - ARM resource ID of the deleted app. Example: + // /subscriptions/{subId}/providers/Microsoft.Web/deletedSites/{deletedSiteId} + DeletedSiteID *string `json:"deletedSiteId,omitempty"` + // RecoverConfiguration - If true, deleted site configuration, in addition to content, will be restored. + RecoverConfiguration *bool `json:"recoverConfiguration,omitempty"` + // SnapshotTime - Point in time to restore the deleted app from, formatted as a DateTime string. + // If unspecified, default value is the time that the app was deleted. + SnapshotTime *string `json:"snapshotTime,omitempty"` + // UseDRSecondary - If true, the snapshot is retrieved from DRSecondary endpoint. + UseDRSecondary *bool `json:"useDRSecondary,omitempty"` +} + +// DeletedSite a deleted app. +type DeletedSite struct { + autorest.Response `json:"-"` + // DeletedSiteProperties - DeletedSite resource specific properties + *DeletedSiteProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource Id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource Name. + Name *string `json:"name,omitempty"` + // Kind - Kind of resource. + Kind *string `json:"kind,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for DeletedSite. +func (ds DeletedSite) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if ds.DeletedSiteProperties != nil { + objectMap["properties"] = ds.DeletedSiteProperties + } + if ds.Kind != nil { + objectMap["kind"] = ds.Kind + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for DeletedSite struct. +func (ds *DeletedSite) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var deletedSiteProperties DeletedSiteProperties + err = json.Unmarshal(*v, &deletedSiteProperties) + if err != nil { + return err + } + ds.DeletedSiteProperties = &deletedSiteProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + ds.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + ds.Name = &name + } + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + ds.Kind = &kind + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ds.Type = &typeVar + } + } + } + + return nil +} + +// DeletedSiteProperties deletedSite resource specific properties +type DeletedSiteProperties struct { + // DeletedSiteID - READ-ONLY; Numeric id for the deleted site + DeletedSiteID *int32 `json:"deletedSiteId,omitempty"` + // DeletedTimestamp - READ-ONLY; Time in UTC when the app was deleted. + DeletedTimestamp *string `json:"deletedTimestamp,omitempty"` + // Subscription - READ-ONLY; Subscription containing the deleted site + Subscription *string `json:"subscription,omitempty"` + // ResourceGroup - READ-ONLY; ResourceGroup that contained the deleted site + ResourceGroup *string `json:"resourceGroup,omitempty"` + // DeletedSiteName - READ-ONLY; Name of the deleted site + DeletedSiteName *string `json:"deletedSiteName,omitempty"` + // Slot - READ-ONLY; Slot of the deleted site + Slot *string `json:"slot,omitempty"` + // Kind - READ-ONLY; Kind of site that was deleted + Kind *string `json:"kind,omitempty"` + // GeoRegionName - READ-ONLY; Geo Region of the deleted site + GeoRegionName *string `json:"geoRegionName,omitempty"` +} + +// DeletedWebAppCollection collection of deleted apps. +type DeletedWebAppCollection struct { + autorest.Response `json:"-"` + // Value - Collection of resources. + Value *[]DeletedSite `json:"value,omitempty"` + // NextLink - READ-ONLY; Link to next page of resources. + NextLink *string `json:"nextLink,omitempty"` +} + +// DeletedWebAppCollectionIterator provides access to a complete listing of DeletedSite values. +type DeletedWebAppCollectionIterator struct { + i int + page DeletedWebAppCollectionPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *DeletedWebAppCollectionIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeletedWebAppCollectionIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *DeletedWebAppCollectionIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter DeletedWebAppCollectionIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter DeletedWebAppCollectionIterator) Response() DeletedWebAppCollection { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter DeletedWebAppCollectionIterator) Value() DeletedSite { + if !iter.page.NotDone() { + return DeletedSite{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the DeletedWebAppCollectionIterator type. +func NewDeletedWebAppCollectionIterator(page DeletedWebAppCollectionPage) DeletedWebAppCollectionIterator { + return DeletedWebAppCollectionIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (dwac DeletedWebAppCollection) IsEmpty() bool { + return dwac.Value == nil || len(*dwac.Value) == 0 +} + +// deletedWebAppCollectionPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (dwac DeletedWebAppCollection) deletedWebAppCollectionPreparer(ctx context.Context) (*http.Request, error) { + if dwac.NextLink == nil || len(to.String(dwac.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(dwac.NextLink))) +} + +// DeletedWebAppCollectionPage contains a page of DeletedSite values. +type DeletedWebAppCollectionPage struct { + fn func(context.Context, DeletedWebAppCollection) (DeletedWebAppCollection, error) + dwac DeletedWebAppCollection +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *DeletedWebAppCollectionPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeletedWebAppCollectionPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.dwac) + if err != nil { + return err + } + page.dwac = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *DeletedWebAppCollectionPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page DeletedWebAppCollectionPage) NotDone() bool { + return !page.dwac.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page DeletedWebAppCollectionPage) Response() DeletedWebAppCollection { + return page.dwac +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page DeletedWebAppCollectionPage) Values() []DeletedSite { + if page.dwac.IsEmpty() { + return nil + } + return *page.dwac.Value +} + +// Creates a new instance of the DeletedWebAppCollectionPage type. +func NewDeletedWebAppCollectionPage(getNextPage func(context.Context, DeletedWebAppCollection) (DeletedWebAppCollection, error)) DeletedWebAppCollectionPage { + return DeletedWebAppCollectionPage{fn: getNextPage} +} + +// Deployment user credentials used for publishing activity. +type Deployment struct { + autorest.Response `json:"-"` + // DeploymentProperties - Deployment resource specific properties + *DeploymentProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource Id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource Name. + Name *string `json:"name,omitempty"` + // Kind - Kind of resource. + Kind *string `json:"kind,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for Deployment. +func (d Deployment) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if d.DeploymentProperties != nil { + objectMap["properties"] = d.DeploymentProperties + } + if d.Kind != nil { + objectMap["kind"] = d.Kind + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for Deployment struct. +func (d *Deployment) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var deploymentProperties DeploymentProperties + err = json.Unmarshal(*v, &deploymentProperties) + if err != nil { + return err + } + d.DeploymentProperties = &deploymentProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + d.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + d.Name = &name + } + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + d.Kind = &kind + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + d.Type = &typeVar + } + } + } + + return nil +} + +// DeploymentCollection collection of app deployments. +type DeploymentCollection struct { + autorest.Response `json:"-"` + // Value - Collection of resources. + Value *[]Deployment `json:"value,omitempty"` + // NextLink - READ-ONLY; Link to next page of resources. + NextLink *string `json:"nextLink,omitempty"` +} + +// DeploymentCollectionIterator provides access to a complete listing of Deployment values. +type DeploymentCollectionIterator struct { + i int + page DeploymentCollectionPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *DeploymentCollectionIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeploymentCollectionIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *DeploymentCollectionIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter DeploymentCollectionIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter DeploymentCollectionIterator) Response() DeploymentCollection { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter DeploymentCollectionIterator) Value() Deployment { + if !iter.page.NotDone() { + return Deployment{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the DeploymentCollectionIterator type. +func NewDeploymentCollectionIterator(page DeploymentCollectionPage) DeploymentCollectionIterator { + return DeploymentCollectionIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (dc DeploymentCollection) IsEmpty() bool { + return dc.Value == nil || len(*dc.Value) == 0 +} + +// deploymentCollectionPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (dc DeploymentCollection) deploymentCollectionPreparer(ctx context.Context) (*http.Request, error) { + if dc.NextLink == nil || len(to.String(dc.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(dc.NextLink))) +} + +// DeploymentCollectionPage contains a page of Deployment values. +type DeploymentCollectionPage struct { + fn func(context.Context, DeploymentCollection) (DeploymentCollection, error) + dc DeploymentCollection +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *DeploymentCollectionPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DeploymentCollectionPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.dc) + if err != nil { + return err + } + page.dc = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *DeploymentCollectionPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page DeploymentCollectionPage) NotDone() bool { + return !page.dc.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page DeploymentCollectionPage) Response() DeploymentCollection { + return page.dc +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page DeploymentCollectionPage) Values() []Deployment { + if page.dc.IsEmpty() { + return nil + } + return *page.dc.Value +} + +// Creates a new instance of the DeploymentCollectionPage type. +func NewDeploymentCollectionPage(getNextPage func(context.Context, DeploymentCollection) (DeploymentCollection, error)) DeploymentCollectionPage { + return DeploymentCollectionPage{fn: getNextPage} +} + +// DeploymentLocations list of available locations (regions or App Service Environments) for +// deployment of App Service resources. +type DeploymentLocations struct { + autorest.Response `json:"-"` + // Locations - Available regions. + Locations *[]GeoRegion `json:"locations,omitempty"` + // HostingEnvironments - Available App Service Environments with full descriptions of the environments. + HostingEnvironments *[]AppServiceEnvironment `json:"hostingEnvironments,omitempty"` + // HostingEnvironmentDeploymentInfos - Available App Service Environments with basic information. + HostingEnvironmentDeploymentInfos *[]HostingEnvironmentDeploymentInfo `json:"hostingEnvironmentDeploymentInfos,omitempty"` +} + +// DeploymentProperties deployment resource specific properties +type DeploymentProperties struct { + // Status - Deployment status. + Status *int32 `json:"status,omitempty"` + // Message - Details about deployment status. + Message *string `json:"message,omitempty"` + // Author - Who authored the deployment. + Author *string `json:"author,omitempty"` + // Deployer - Who performed the deployment. + Deployer *string `json:"deployer,omitempty"` + // AuthorEmail - Author email. + AuthorEmail *string `json:"author_email,omitempty"` + // StartTime - Start time. + StartTime *date.Time `json:"start_time,omitempty"` + // EndTime - End time. + EndTime *date.Time `json:"end_time,omitempty"` + // Active - True if deployment is currently active, false if completed and null if not started. + Active *bool `json:"active,omitempty"` + // Details - Details on deployment. + Details *string `json:"details,omitempty"` +} + +// DetectorAbnormalTimePeriod class representing Abnormal Time Period detected. +type DetectorAbnormalTimePeriod struct { + // StartTime - Start time of the correlated event + StartTime *date.Time `json:"startTime,omitempty"` + // EndTime - End time of the correlated event + EndTime *date.Time `json:"endTime,omitempty"` + // Message - Message describing the event + Message *string `json:"message,omitempty"` + // Source - Represents the name of the Detector + Source *string `json:"source,omitempty"` + // Priority - Represents the rank of the Detector + Priority *float64 `json:"priority,omitempty"` + // MetaData - Downtime metadata + MetaData *[][]NameValuePair `json:"metaData,omitempty"` + // Type - Represents the type of the Detector. Possible values include: 'ServiceIncident', 'AppDeployment', 'AppCrash', 'RuntimeIssueDetected', 'AseDeployment', 'UserIssue', 'PlatformIssue', 'Other' + Type IssueType `json:"type,omitempty"` + // Solutions - List of proposed solutions + Solutions *[]Solution `json:"solutions,omitempty"` +} + +// DetectorDefinition class representing detector definition +type DetectorDefinition struct { + // DetectorDefinitionProperties - DetectorDefinition resource specific properties + *DetectorDefinitionProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource Id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource Name. + Name *string `json:"name,omitempty"` + // Kind - Kind of resource. + Kind *string `json:"kind,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for DetectorDefinition. +func (dd DetectorDefinition) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if dd.DetectorDefinitionProperties != nil { + objectMap["properties"] = dd.DetectorDefinitionProperties + } + if dd.Kind != nil { + objectMap["kind"] = dd.Kind + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for DetectorDefinition struct. +func (dd *DetectorDefinition) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var detectorDefinitionProperties DetectorDefinitionProperties + err = json.Unmarshal(*v, &detectorDefinitionProperties) + if err != nil { + return err + } + dd.DetectorDefinitionProperties = &detectorDefinitionProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + dd.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + dd.Name = &name + } + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + dd.Kind = &kind + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + dd.Type = &typeVar + } + } + } + + return nil +} + +// DetectorDefinitionProperties detectorDefinition resource specific properties +type DetectorDefinitionProperties struct { + // DisplayName - READ-ONLY; Display name of the detector + DisplayName *string `json:"displayName,omitempty"` + // Description - READ-ONLY; Description of the detector + Description *string `json:"description,omitempty"` + // Rank - READ-ONLY; Detector Rank + Rank *float64 `json:"rank,omitempty"` + // IsEnabled - READ-ONLY; Flag representing whether detector is enabled or not. + IsEnabled *bool `json:"isEnabled,omitempty"` +} + +// DetectorInfo definition of Detector +type DetectorInfo struct { + // Description - READ-ONLY; Short description of the detector and its purpose + Description *string `json:"description,omitempty"` + // Category - READ-ONLY; Support Category + Category *string `json:"category,omitempty"` + // SubCategory - READ-ONLY; Support Sub Category + SubCategory *string `json:"subCategory,omitempty"` + // SupportTopicID - READ-ONLY; Support Topic Id + SupportTopicID *string `json:"supportTopicId,omitempty"` +} + +// DetectorResponse class representing Response from Detector +type DetectorResponse struct { + autorest.Response `json:"-"` + // DetectorResponseProperties - DetectorResponse resource specific properties + *DetectorResponseProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource Id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource Name. + Name *string `json:"name,omitempty"` + // Kind - Kind of resource. + Kind *string `json:"kind,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for DetectorResponse. +func (dr DetectorResponse) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if dr.DetectorResponseProperties != nil { + objectMap["properties"] = dr.DetectorResponseProperties + } + if dr.Kind != nil { + objectMap["kind"] = dr.Kind + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for DetectorResponse struct. +func (dr *DetectorResponse) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var detectorResponseProperties DetectorResponseProperties + err = json.Unmarshal(*v, &detectorResponseProperties) + if err != nil { + return err + } + dr.DetectorResponseProperties = &detectorResponseProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + dr.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + dr.Name = &name + } + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + dr.Kind = &kind + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + dr.Type = &typeVar + } + } + } + + return nil +} + +// DetectorResponseCollection collection of detector responses +type DetectorResponseCollection struct { + autorest.Response `json:"-"` + // Value - Collection of resources. + Value *[]DetectorResponse `json:"value,omitempty"` + // NextLink - READ-ONLY; Link to next page of resources. + NextLink *string `json:"nextLink,omitempty"` +} + +// DetectorResponseCollectionIterator provides access to a complete listing of DetectorResponse values. +type DetectorResponseCollectionIterator struct { + i int + page DetectorResponseCollectionPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *DetectorResponseCollectionIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DetectorResponseCollectionIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *DetectorResponseCollectionIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter DetectorResponseCollectionIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter DetectorResponseCollectionIterator) Response() DetectorResponseCollection { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter DetectorResponseCollectionIterator) Value() DetectorResponse { + if !iter.page.NotDone() { + return DetectorResponse{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the DetectorResponseCollectionIterator type. +func NewDetectorResponseCollectionIterator(page DetectorResponseCollectionPage) DetectorResponseCollectionIterator { + return DetectorResponseCollectionIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (drc DetectorResponseCollection) IsEmpty() bool { + return drc.Value == nil || len(*drc.Value) == 0 +} + +// detectorResponseCollectionPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (drc DetectorResponseCollection) detectorResponseCollectionPreparer(ctx context.Context) (*http.Request, error) { + if drc.NextLink == nil || len(to.String(drc.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(drc.NextLink))) +} + +// DetectorResponseCollectionPage contains a page of DetectorResponse values. +type DetectorResponseCollectionPage struct { + fn func(context.Context, DetectorResponseCollection) (DetectorResponseCollection, error) + drc DetectorResponseCollection +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *DetectorResponseCollectionPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DetectorResponseCollectionPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.drc) + if err != nil { + return err + } + page.drc = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *DetectorResponseCollectionPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page DetectorResponseCollectionPage) NotDone() bool { + return !page.drc.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page DetectorResponseCollectionPage) Response() DetectorResponseCollection { + return page.drc +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page DetectorResponseCollectionPage) Values() []DetectorResponse { + if page.drc.IsEmpty() { + return nil + } + return *page.drc.Value +} + +// Creates a new instance of the DetectorResponseCollectionPage type. +func NewDetectorResponseCollectionPage(getNextPage func(context.Context, DetectorResponseCollection) (DetectorResponseCollection, error)) DetectorResponseCollectionPage { + return DetectorResponseCollectionPage{fn: getNextPage} +} + +// DetectorResponseProperties detectorResponse resource specific properties +type DetectorResponseProperties struct { + // Metadata - metadata for the detector + Metadata *DetectorInfo `json:"metadata,omitempty"` + // Dataset - Data Set + Dataset *[]DiagnosticData `json:"dataset,omitempty"` +} + +// DiagnosticAnalysis class representing a diagnostic analysis done on an application +type DiagnosticAnalysis struct { + autorest.Response `json:"-"` + // DiagnosticAnalysisProperties - DiagnosticAnalysis resource specific properties + *DiagnosticAnalysisProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource Id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource Name. + Name *string `json:"name,omitempty"` + // Kind - Kind of resource. + Kind *string `json:"kind,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for DiagnosticAnalysis. +func (da DiagnosticAnalysis) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if da.DiagnosticAnalysisProperties != nil { + objectMap["properties"] = da.DiagnosticAnalysisProperties + } + if da.Kind != nil { + objectMap["kind"] = da.Kind + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for DiagnosticAnalysis struct. +func (da *DiagnosticAnalysis) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var diagnosticAnalysisProperties DiagnosticAnalysisProperties + err = json.Unmarshal(*v, &diagnosticAnalysisProperties) + if err != nil { + return err + } + da.DiagnosticAnalysisProperties = &diagnosticAnalysisProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + da.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + da.Name = &name + } + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + da.Kind = &kind + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + da.Type = &typeVar + } + } + } + + return nil +} + +// DiagnosticAnalysisCollection collection of Diagnostic Analyses +type DiagnosticAnalysisCollection struct { + autorest.Response `json:"-"` + // Value - Collection of resources. + Value *[]AnalysisDefinition `json:"value,omitempty"` + // NextLink - READ-ONLY; Link to next page of resources. + NextLink *string `json:"nextLink,omitempty"` +} + +// DiagnosticAnalysisCollectionIterator provides access to a complete listing of AnalysisDefinition values. +type DiagnosticAnalysisCollectionIterator struct { + i int + page DiagnosticAnalysisCollectionPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *DiagnosticAnalysisCollectionIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DiagnosticAnalysisCollectionIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *DiagnosticAnalysisCollectionIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter DiagnosticAnalysisCollectionIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter DiagnosticAnalysisCollectionIterator) Response() DiagnosticAnalysisCollection { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter DiagnosticAnalysisCollectionIterator) Value() AnalysisDefinition { + if !iter.page.NotDone() { + return AnalysisDefinition{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the DiagnosticAnalysisCollectionIterator type. +func NewDiagnosticAnalysisCollectionIterator(page DiagnosticAnalysisCollectionPage) DiagnosticAnalysisCollectionIterator { + return DiagnosticAnalysisCollectionIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (dac DiagnosticAnalysisCollection) IsEmpty() bool { + return dac.Value == nil || len(*dac.Value) == 0 +} + +// diagnosticAnalysisCollectionPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (dac DiagnosticAnalysisCollection) diagnosticAnalysisCollectionPreparer(ctx context.Context) (*http.Request, error) { + if dac.NextLink == nil || len(to.String(dac.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(dac.NextLink))) +} + +// DiagnosticAnalysisCollectionPage contains a page of AnalysisDefinition values. +type DiagnosticAnalysisCollectionPage struct { + fn func(context.Context, DiagnosticAnalysisCollection) (DiagnosticAnalysisCollection, error) + dac DiagnosticAnalysisCollection +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *DiagnosticAnalysisCollectionPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DiagnosticAnalysisCollectionPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.dac) + if err != nil { + return err + } + page.dac = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *DiagnosticAnalysisCollectionPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page DiagnosticAnalysisCollectionPage) NotDone() bool { + return !page.dac.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page DiagnosticAnalysisCollectionPage) Response() DiagnosticAnalysisCollection { + return page.dac +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page DiagnosticAnalysisCollectionPage) Values() []AnalysisDefinition { + if page.dac.IsEmpty() { + return nil + } + return *page.dac.Value +} + +// Creates a new instance of the DiagnosticAnalysisCollectionPage type. +func NewDiagnosticAnalysisCollectionPage(getNextPage func(context.Context, DiagnosticAnalysisCollection) (DiagnosticAnalysisCollection, error)) DiagnosticAnalysisCollectionPage { + return DiagnosticAnalysisCollectionPage{fn: getNextPage} +} + +// DiagnosticAnalysisProperties diagnosticAnalysis resource specific properties +type DiagnosticAnalysisProperties struct { + // StartTime - Start time of the period + StartTime *date.Time `json:"startTime,omitempty"` + // EndTime - End time of the period + EndTime *date.Time `json:"endTime,omitempty"` + // AbnormalTimePeriods - List of time periods. + AbnormalTimePeriods *[]AbnormalTimePeriod `json:"abnormalTimePeriods,omitempty"` + // Payload - Data by each detector + Payload *[]AnalysisData `json:"payload,omitempty"` + // NonCorrelatedDetectors - Data by each detector for detectors that did not corelate + NonCorrelatedDetectors *[]DetectorDefinition `json:"nonCorrelatedDetectors,omitempty"` +} + +// DiagnosticCategory class representing detector definition +type DiagnosticCategory struct { + autorest.Response `json:"-"` + // DiagnosticCategoryProperties - DiagnosticCategory resource specific properties + *DiagnosticCategoryProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource Id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource Name. + Name *string `json:"name,omitempty"` + // Kind - Kind of resource. + Kind *string `json:"kind,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for DiagnosticCategory. +func (dc DiagnosticCategory) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if dc.DiagnosticCategoryProperties != nil { + objectMap["properties"] = dc.DiagnosticCategoryProperties + } + if dc.Kind != nil { + objectMap["kind"] = dc.Kind + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for DiagnosticCategory struct. +func (dc *DiagnosticCategory) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var diagnosticCategoryProperties DiagnosticCategoryProperties + err = json.Unmarshal(*v, &diagnosticCategoryProperties) + if err != nil { + return err + } + dc.DiagnosticCategoryProperties = &diagnosticCategoryProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + dc.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + dc.Name = &name + } + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + dc.Kind = &kind + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + dc.Type = &typeVar + } + } + } + + return nil +} + +// DiagnosticCategoryCollection collection of Diagnostic Categories +type DiagnosticCategoryCollection struct { + autorest.Response `json:"-"` + // Value - Collection of resources. + Value *[]DiagnosticCategory `json:"value,omitempty"` + // NextLink - READ-ONLY; Link to next page of resources. + NextLink *string `json:"nextLink,omitempty"` +} + +// DiagnosticCategoryCollectionIterator provides access to a complete listing of DiagnosticCategory values. +type DiagnosticCategoryCollectionIterator struct { + i int + page DiagnosticCategoryCollectionPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *DiagnosticCategoryCollectionIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DiagnosticCategoryCollectionIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *DiagnosticCategoryCollectionIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter DiagnosticCategoryCollectionIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter DiagnosticCategoryCollectionIterator) Response() DiagnosticCategoryCollection { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter DiagnosticCategoryCollectionIterator) Value() DiagnosticCategory { + if !iter.page.NotDone() { + return DiagnosticCategory{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the DiagnosticCategoryCollectionIterator type. +func NewDiagnosticCategoryCollectionIterator(page DiagnosticCategoryCollectionPage) DiagnosticCategoryCollectionIterator { + return DiagnosticCategoryCollectionIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (dcc DiagnosticCategoryCollection) IsEmpty() bool { + return dcc.Value == nil || len(*dcc.Value) == 0 +} + +// diagnosticCategoryCollectionPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (dcc DiagnosticCategoryCollection) diagnosticCategoryCollectionPreparer(ctx context.Context) (*http.Request, error) { + if dcc.NextLink == nil || len(to.String(dcc.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(dcc.NextLink))) +} + +// DiagnosticCategoryCollectionPage contains a page of DiagnosticCategory values. +type DiagnosticCategoryCollectionPage struct { + fn func(context.Context, DiagnosticCategoryCollection) (DiagnosticCategoryCollection, error) + dcc DiagnosticCategoryCollection +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *DiagnosticCategoryCollectionPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DiagnosticCategoryCollectionPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.dcc) + if err != nil { + return err + } + page.dcc = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *DiagnosticCategoryCollectionPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page DiagnosticCategoryCollectionPage) NotDone() bool { + return !page.dcc.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page DiagnosticCategoryCollectionPage) Response() DiagnosticCategoryCollection { + return page.dcc +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page DiagnosticCategoryCollectionPage) Values() []DiagnosticCategory { + if page.dcc.IsEmpty() { + return nil + } + return *page.dcc.Value +} + +// Creates a new instance of the DiagnosticCategoryCollectionPage type. +func NewDiagnosticCategoryCollectionPage(getNextPage func(context.Context, DiagnosticCategoryCollection) (DiagnosticCategoryCollection, error)) DiagnosticCategoryCollectionPage { + return DiagnosticCategoryCollectionPage{fn: getNextPage} +} + +// DiagnosticCategoryProperties diagnosticCategory resource specific properties +type DiagnosticCategoryProperties struct { + // Description - READ-ONLY; Description of the diagnostic category + Description *string `json:"description,omitempty"` +} + +// DiagnosticData set of data with rendering instructions +type DiagnosticData struct { + // Table - Data in table form + Table *DataTableResponseObject `json:"table,omitempty"` + // RenderingProperties - Properties that describe how the table should be rendered + RenderingProperties *Rendering `json:"renderingProperties,omitempty"` +} + +// DiagnosticDetectorCollection collection of Diagnostic Detectors +type DiagnosticDetectorCollection struct { + autorest.Response `json:"-"` + // Value - Collection of resources. + Value *[]DetectorDefinition `json:"value,omitempty"` + // NextLink - READ-ONLY; Link to next page of resources. + NextLink *string `json:"nextLink,omitempty"` +} + +// DiagnosticDetectorCollectionIterator provides access to a complete listing of DetectorDefinition values. +type DiagnosticDetectorCollectionIterator struct { + i int + page DiagnosticDetectorCollectionPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *DiagnosticDetectorCollectionIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DiagnosticDetectorCollectionIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *DiagnosticDetectorCollectionIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter DiagnosticDetectorCollectionIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter DiagnosticDetectorCollectionIterator) Response() DiagnosticDetectorCollection { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter DiagnosticDetectorCollectionIterator) Value() DetectorDefinition { + if !iter.page.NotDone() { + return DetectorDefinition{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the DiagnosticDetectorCollectionIterator type. +func NewDiagnosticDetectorCollectionIterator(page DiagnosticDetectorCollectionPage) DiagnosticDetectorCollectionIterator { + return DiagnosticDetectorCollectionIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (ddc DiagnosticDetectorCollection) IsEmpty() bool { + return ddc.Value == nil || len(*ddc.Value) == 0 +} + +// diagnosticDetectorCollectionPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (ddc DiagnosticDetectorCollection) diagnosticDetectorCollectionPreparer(ctx context.Context) (*http.Request, error) { + if ddc.NextLink == nil || len(to.String(ddc.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(ddc.NextLink))) +} + +// DiagnosticDetectorCollectionPage contains a page of DetectorDefinition values. +type DiagnosticDetectorCollectionPage struct { + fn func(context.Context, DiagnosticDetectorCollection) (DiagnosticDetectorCollection, error) + ddc DiagnosticDetectorCollection +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *DiagnosticDetectorCollectionPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DiagnosticDetectorCollectionPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.ddc) + if err != nil { + return err + } + page.ddc = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *DiagnosticDetectorCollectionPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page DiagnosticDetectorCollectionPage) NotDone() bool { + return !page.ddc.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page DiagnosticDetectorCollectionPage) Response() DiagnosticDetectorCollection { + return page.ddc +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page DiagnosticDetectorCollectionPage) Values() []DetectorDefinition { + if page.ddc.IsEmpty() { + return nil + } + return *page.ddc.Value +} + +// Creates a new instance of the DiagnosticDetectorCollectionPage type. +func NewDiagnosticDetectorCollectionPage(getNextPage func(context.Context, DiagnosticDetectorCollection) (DiagnosticDetectorCollection, error)) DiagnosticDetectorCollectionPage { + return DiagnosticDetectorCollectionPage{fn: getNextPage} +} + +// DiagnosticDetectorResponse class representing Response from Diagnostic Detectors +type DiagnosticDetectorResponse struct { + autorest.Response `json:"-"` + // DiagnosticDetectorResponseProperties - DiagnosticDetectorResponse resource specific properties + *DiagnosticDetectorResponseProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource Id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource Name. + Name *string `json:"name,omitempty"` + // Kind - Kind of resource. + Kind *string `json:"kind,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for DiagnosticDetectorResponse. +func (ddr DiagnosticDetectorResponse) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if ddr.DiagnosticDetectorResponseProperties != nil { + objectMap["properties"] = ddr.DiagnosticDetectorResponseProperties + } + if ddr.Kind != nil { + objectMap["kind"] = ddr.Kind + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for DiagnosticDetectorResponse struct. +func (ddr *DiagnosticDetectorResponse) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var diagnosticDetectorResponseProperties DiagnosticDetectorResponseProperties + err = json.Unmarshal(*v, &diagnosticDetectorResponseProperties) + if err != nil { + return err + } + ddr.DiagnosticDetectorResponseProperties = &diagnosticDetectorResponseProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + ddr.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + ddr.Name = &name + } + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + ddr.Kind = &kind + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ddr.Type = &typeVar + } + } + } + + return nil +} + +// DiagnosticDetectorResponseProperties diagnosticDetectorResponse resource specific properties +type DiagnosticDetectorResponseProperties struct { + // StartTime - Start time of the period + StartTime *date.Time `json:"startTime,omitempty"` + // EndTime - End time of the period + EndTime *date.Time `json:"endTime,omitempty"` + // IssueDetected - Flag representing Issue was detected. + IssueDetected *bool `json:"issueDetected,omitempty"` + // DetectorDefinition - Detector's definition + DetectorDefinition *DetectorDefinition `json:"detectorDefinition,omitempty"` + // Metrics - Metrics provided by the detector + Metrics *[]DiagnosticMetricSet `json:"metrics,omitempty"` + // AbnormalTimePeriods - List of Correlated events found by the detector + AbnormalTimePeriods *[]DetectorAbnormalTimePeriod `json:"abnormalTimePeriods,omitempty"` + // Data - Additional Data that detector wants to send. + Data *[][]NameValuePair `json:"data,omitempty"` + // ResponseMetaData - Meta Data + ResponseMetaData *ResponseMetaData `json:"responseMetaData,omitempty"` +} + +// DiagnosticMetricSample class representing Diagnostic Metric +type DiagnosticMetricSample struct { + // Timestamp - Time at which metric is measured + Timestamp *date.Time `json:"timestamp,omitempty"` + // RoleInstance - Role Instance. Null if this counter is not per instance + // This is returned and should be whichever instance name we desire to be returned + // i.e. CPU and Memory return RDWORKERNAME (LargeDed..._IN_0) + // where RDWORKERNAME is Machine name below and RoleInstance name in parenthesis + RoleInstance *string `json:"roleInstance,omitempty"` + // Total - Total value of the metric. If multiple measurements are made this will have sum of all. + Total *float64 `json:"total,omitempty"` + // Maximum - Maximum of the metric sampled during the time period + Maximum *float64 `json:"maximum,omitempty"` + // Minimum - Minimum of the metric sampled during the time period + Minimum *float64 `json:"minimum,omitempty"` + // IsAggregated - Whether the values are aggregates across all workers or not + IsAggregated *bool `json:"isAggregated,omitempty"` +} + +// DiagnosticMetricSet class representing Diagnostic Metric information +type DiagnosticMetricSet struct { + // Name - Name of the metric + Name *string `json:"name,omitempty"` + // Unit - Metric's unit + Unit *string `json:"unit,omitempty"` + // StartTime - Start time of the period + StartTime *date.Time `json:"startTime,omitempty"` + // EndTime - End time of the period + EndTime *date.Time `json:"endTime,omitempty"` + // TimeGrain - Presented time grain. Supported grains at the moment are PT1M, PT1H, P1D + TimeGrain *string `json:"timeGrain,omitempty"` + // Values - Collection of metric values for the selected period based on the {Microsoft.Web.Hosting.Administration.DiagnosticMetricSet.TimeGrain} + Values *[]DiagnosticMetricSample `json:"values,omitempty"` +} + +// Dimension dimension of a resource metric. For e.g. instance specific HTTP requests for a web app, +// where instance name is dimension of the metric HTTP request +type Dimension struct { + Name *string `json:"name,omitempty"` + DisplayName *string `json:"displayName,omitempty"` + InternalName *string `json:"internalName,omitempty"` + ToBeExportedForShoebox *bool `json:"toBeExportedForShoebox,omitempty"` +} + +// Domain information about a domain. +type Domain struct { + autorest.Response `json:"-"` + // DomainProperties - Domain resource specific properties + *DomainProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource Id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource Name. + Name *string `json:"name,omitempty"` + // Kind - Kind of resource. + Kind *string `json:"kind,omitempty"` + // Location - Resource Location. + Location *string `json:"location,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for Domain. +func (d Domain) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if d.DomainProperties != nil { + objectMap["properties"] = d.DomainProperties + } + if d.Kind != nil { + objectMap["kind"] = d.Kind + } + if d.Location != nil { + objectMap["location"] = d.Location + } + if d.Tags != nil { + objectMap["tags"] = d.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for Domain struct. +func (d *Domain) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var domainProperties DomainProperties + err = json.Unmarshal(*v, &domainProperties) + if err != nil { + return err + } + d.DomainProperties = &domainProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + d.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + d.Name = &name + } + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + d.Kind = &kind + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + d.Location = &location + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + d.Type = &typeVar + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + d.Tags = tags + } + } + } + + return nil +} + +// DomainAvailablilityCheckResult domain availability check result. +type DomainAvailablilityCheckResult struct { + autorest.Response `json:"-"` + // Name - Name of the domain. + Name *string `json:"name,omitempty"` + // Available - true if domain can be purchased using CreateDomain API; otherwise, false. + Available *bool `json:"available,omitempty"` + // DomainType - Valid values are Regular domain: Azure will charge the full price of domain registration, SoftDeleted: Purchasing this domain will simply restore it and this operation will not cost anything. Possible values include: 'Regular', 'SoftDeleted' + DomainType DomainType `json:"domainType,omitempty"` +} + +// DomainCollection collection of domains. +type DomainCollection struct { + autorest.Response `json:"-"` + // Value - Collection of resources. + Value *[]Domain `json:"value,omitempty"` + // NextLink - READ-ONLY; Link to next page of resources. + NextLink *string `json:"nextLink,omitempty"` +} + +// DomainCollectionIterator provides access to a complete listing of Domain values. +type DomainCollectionIterator struct { + i int + page DomainCollectionPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *DomainCollectionIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DomainCollectionIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *DomainCollectionIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter DomainCollectionIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter DomainCollectionIterator) Response() DomainCollection { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter DomainCollectionIterator) Value() Domain { + if !iter.page.NotDone() { + return Domain{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the DomainCollectionIterator type. +func NewDomainCollectionIterator(page DomainCollectionPage) DomainCollectionIterator { + return DomainCollectionIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (dc DomainCollection) IsEmpty() bool { + return dc.Value == nil || len(*dc.Value) == 0 +} + +// domainCollectionPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (dc DomainCollection) domainCollectionPreparer(ctx context.Context) (*http.Request, error) { + if dc.NextLink == nil || len(to.String(dc.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(dc.NextLink))) +} + +// DomainCollectionPage contains a page of Domain values. +type DomainCollectionPage struct { + fn func(context.Context, DomainCollection) (DomainCollection, error) + dc DomainCollection +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *DomainCollectionPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DomainCollectionPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.dc) + if err != nil { + return err + } + page.dc = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *DomainCollectionPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page DomainCollectionPage) NotDone() bool { + return !page.dc.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page DomainCollectionPage) Response() DomainCollection { + return page.dc +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page DomainCollectionPage) Values() []Domain { + if page.dc.IsEmpty() { + return nil + } + return *page.dc.Value +} + +// Creates a new instance of the DomainCollectionPage type. +func NewDomainCollectionPage(getNextPage func(context.Context, DomainCollection) (DomainCollection, error)) DomainCollectionPage { + return DomainCollectionPage{fn: getNextPage} +} + +// DomainControlCenterSsoRequest single sign-on request information for domain management. +type DomainControlCenterSsoRequest struct { + autorest.Response `json:"-"` + // URL - READ-ONLY; URL where the single sign-on request is to be made. + URL *string `json:"url,omitempty"` + // PostParameterKey - READ-ONLY; Post parameter key. + PostParameterKey *string `json:"postParameterKey,omitempty"` + // PostParameterValue - READ-ONLY; Post parameter value. Client should use 'application/x-www-form-urlencoded' encoding for this value. + PostParameterValue *string `json:"postParameterValue,omitempty"` +} + +// DomainOwnershipIdentifier domain ownership Identifier. +type DomainOwnershipIdentifier struct { + autorest.Response `json:"-"` + // DomainOwnershipIdentifierProperties - DomainOwnershipIdentifier resource specific properties + *DomainOwnershipIdentifierProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource Id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource Name. + Name *string `json:"name,omitempty"` + // Kind - Kind of resource. + Kind *string `json:"kind,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for DomainOwnershipIdentifier. +func (doi DomainOwnershipIdentifier) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if doi.DomainOwnershipIdentifierProperties != nil { + objectMap["properties"] = doi.DomainOwnershipIdentifierProperties + } + if doi.Kind != nil { + objectMap["kind"] = doi.Kind + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for DomainOwnershipIdentifier struct. +func (doi *DomainOwnershipIdentifier) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var domainOwnershipIdentifierProperties DomainOwnershipIdentifierProperties + err = json.Unmarshal(*v, &domainOwnershipIdentifierProperties) + if err != nil { + return err + } + doi.DomainOwnershipIdentifierProperties = &domainOwnershipIdentifierProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + doi.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + doi.Name = &name + } + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + doi.Kind = &kind + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + doi.Type = &typeVar + } + } + } + + return nil +} + +// DomainOwnershipIdentifierCollection collection of domain ownership identifiers. +type DomainOwnershipIdentifierCollection struct { + autorest.Response `json:"-"` + // Value - Collection of resources. + Value *[]DomainOwnershipIdentifier `json:"value,omitempty"` + // NextLink - READ-ONLY; Link to next page of resources. + NextLink *string `json:"nextLink,omitempty"` +} + +// DomainOwnershipIdentifierCollectionIterator provides access to a complete listing of +// DomainOwnershipIdentifier values. +type DomainOwnershipIdentifierCollectionIterator struct { + i int + page DomainOwnershipIdentifierCollectionPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *DomainOwnershipIdentifierCollectionIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DomainOwnershipIdentifierCollectionIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *DomainOwnershipIdentifierCollectionIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter DomainOwnershipIdentifierCollectionIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter DomainOwnershipIdentifierCollectionIterator) Response() DomainOwnershipIdentifierCollection { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter DomainOwnershipIdentifierCollectionIterator) Value() DomainOwnershipIdentifier { + if !iter.page.NotDone() { + return DomainOwnershipIdentifier{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the DomainOwnershipIdentifierCollectionIterator type. +func NewDomainOwnershipIdentifierCollectionIterator(page DomainOwnershipIdentifierCollectionPage) DomainOwnershipIdentifierCollectionIterator { + return DomainOwnershipIdentifierCollectionIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (doic DomainOwnershipIdentifierCollection) IsEmpty() bool { + return doic.Value == nil || len(*doic.Value) == 0 +} + +// domainOwnershipIdentifierCollectionPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (doic DomainOwnershipIdentifierCollection) domainOwnershipIdentifierCollectionPreparer(ctx context.Context) (*http.Request, error) { + if doic.NextLink == nil || len(to.String(doic.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(doic.NextLink))) +} + +// DomainOwnershipIdentifierCollectionPage contains a page of DomainOwnershipIdentifier values. +type DomainOwnershipIdentifierCollectionPage struct { + fn func(context.Context, DomainOwnershipIdentifierCollection) (DomainOwnershipIdentifierCollection, error) + doic DomainOwnershipIdentifierCollection +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *DomainOwnershipIdentifierCollectionPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/DomainOwnershipIdentifierCollectionPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.doic) + if err != nil { + return err + } + page.doic = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *DomainOwnershipIdentifierCollectionPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page DomainOwnershipIdentifierCollectionPage) NotDone() bool { + return !page.doic.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page DomainOwnershipIdentifierCollectionPage) Response() DomainOwnershipIdentifierCollection { + return page.doic +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page DomainOwnershipIdentifierCollectionPage) Values() []DomainOwnershipIdentifier { + if page.doic.IsEmpty() { + return nil + } + return *page.doic.Value +} + +// Creates a new instance of the DomainOwnershipIdentifierCollectionPage type. +func NewDomainOwnershipIdentifierCollectionPage(getNextPage func(context.Context, DomainOwnershipIdentifierCollection) (DomainOwnershipIdentifierCollection, error)) DomainOwnershipIdentifierCollectionPage { + return DomainOwnershipIdentifierCollectionPage{fn: getNextPage} +} + +// DomainOwnershipIdentifierProperties domainOwnershipIdentifier resource specific properties +type DomainOwnershipIdentifierProperties struct { + // OwnershipID - Ownership Id. + OwnershipID *string `json:"ownershipId,omitempty"` +} + +// DomainPatchResource ARM resource for a domain. +type DomainPatchResource struct { + // DomainPatchResourceProperties - DomainPatchResource resource specific properties + *DomainPatchResourceProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource Id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource Name. + Name *string `json:"name,omitempty"` + // Kind - Kind of resource. + Kind *string `json:"kind,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for DomainPatchResource. +func (dpr DomainPatchResource) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if dpr.DomainPatchResourceProperties != nil { + objectMap["properties"] = dpr.DomainPatchResourceProperties + } + if dpr.Kind != nil { + objectMap["kind"] = dpr.Kind + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for DomainPatchResource struct. +func (dpr *DomainPatchResource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var domainPatchResourceProperties DomainPatchResourceProperties + err = json.Unmarshal(*v, &domainPatchResourceProperties) + if err != nil { + return err + } + dpr.DomainPatchResourceProperties = &domainPatchResourceProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + dpr.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + dpr.Name = &name + } + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + dpr.Kind = &kind + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + dpr.Type = &typeVar + } + } + } + + return nil +} + +// DomainPatchResourceProperties domainPatchResource resource specific properties +type DomainPatchResourceProperties struct { + // ContactAdmin - Administrative contact. + ContactAdmin *Contact `json:"contactAdmin,omitempty"` + // ContactBilling - Billing contact. + ContactBilling *Contact `json:"contactBilling,omitempty"` + // ContactRegistrant - Registrant contact. + ContactRegistrant *Contact `json:"contactRegistrant,omitempty"` + // ContactTech - Technical contact. + ContactTech *Contact `json:"contactTech,omitempty"` + // RegistrationStatus - READ-ONLY; Domain registration status. Possible values include: 'DomainStatusActive', 'DomainStatusAwaiting', 'DomainStatusCancelled', 'DomainStatusConfiscated', 'DomainStatusDisabled', 'DomainStatusExcluded', 'DomainStatusExpired', 'DomainStatusFailed', 'DomainStatusHeld', 'DomainStatusLocked', 'DomainStatusParked', 'DomainStatusPending', 'DomainStatusReserved', 'DomainStatusReverted', 'DomainStatusSuspended', 'DomainStatusTransferred', 'DomainStatusUnknown', 'DomainStatusUnlocked', 'DomainStatusUnparked', 'DomainStatusUpdated', 'DomainStatusJSONConverterFailed' + RegistrationStatus DomainStatus `json:"registrationStatus,omitempty"` + // ProvisioningState - READ-ONLY; Domain provisioning state. Possible values include: 'ProvisioningStateSucceeded', 'ProvisioningStateFailed', 'ProvisioningStateCanceled', 'ProvisioningStateInProgress', 'ProvisioningStateDeleting' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + // NameServers - READ-ONLY; Name servers. + NameServers *[]string `json:"nameServers,omitempty"` + // Privacy - true if domain privacy is enabled for this domain; otherwise, false. + Privacy *bool `json:"privacy,omitempty"` + // CreatedTime - READ-ONLY; Domain creation timestamp. + CreatedTime *date.Time `json:"createdTime,omitempty"` + // ExpirationTime - READ-ONLY; Domain expiration timestamp. + ExpirationTime *date.Time `json:"expirationTime,omitempty"` + // LastRenewedTime - READ-ONLY; Timestamp when the domain was renewed last time. + LastRenewedTime *date.Time `json:"lastRenewedTime,omitempty"` + // AutoRenew - true if the domain should be automatically renewed; otherwise, false. + AutoRenew *bool `json:"autoRenew,omitempty"` + // ReadyForDNSRecordManagement - READ-ONLY; true if Azure can assign this domain to App Service apps; otherwise, false. This value will be true if domain registration status is active and + // it is hosted on name servers Azure has programmatic access to. + ReadyForDNSRecordManagement *bool `json:"readyForDnsRecordManagement,omitempty"` + // ManagedHostNames - READ-ONLY; All hostnames derived from the domain and assigned to Azure resources. + ManagedHostNames *[]HostName `json:"managedHostNames,omitempty"` + // Consent - Legal agreement consent. + Consent *DomainPurchaseConsent `json:"consent,omitempty"` + // DomainNotRenewableReasons - READ-ONLY; Reasons why domain is not renewable. + DomainNotRenewableReasons *[]string `json:"domainNotRenewableReasons,omitempty"` + // DNSType - Current DNS type. Possible values include: 'AzureDNS', 'DefaultDomainRegistrarDNS' + DNSType DNSType `json:"dnsType,omitempty"` + // DNSZoneID - Azure DNS Zone to use + DNSZoneID *string `json:"dnsZoneId,omitempty"` + // TargetDNSType - Target DNS type (would be used for migration). Possible values include: 'AzureDNS', 'DefaultDomainRegistrarDNS' + TargetDNSType DNSType `json:"targetDnsType,omitempty"` + AuthCode *string `json:"authCode,omitempty"` +} + +// DomainProperties domain resource specific properties +type DomainProperties struct { + // ContactAdmin - Administrative contact. + ContactAdmin *Contact `json:"contactAdmin,omitempty"` + // ContactBilling - Billing contact. + ContactBilling *Contact `json:"contactBilling,omitempty"` + // ContactRegistrant - Registrant contact. + ContactRegistrant *Contact `json:"contactRegistrant,omitempty"` + // ContactTech - Technical contact. + ContactTech *Contact `json:"contactTech,omitempty"` + // RegistrationStatus - READ-ONLY; Domain registration status. Possible values include: 'DomainStatusActive', 'DomainStatusAwaiting', 'DomainStatusCancelled', 'DomainStatusConfiscated', 'DomainStatusDisabled', 'DomainStatusExcluded', 'DomainStatusExpired', 'DomainStatusFailed', 'DomainStatusHeld', 'DomainStatusLocked', 'DomainStatusParked', 'DomainStatusPending', 'DomainStatusReserved', 'DomainStatusReverted', 'DomainStatusSuspended', 'DomainStatusTransferred', 'DomainStatusUnknown', 'DomainStatusUnlocked', 'DomainStatusUnparked', 'DomainStatusUpdated', 'DomainStatusJSONConverterFailed' + RegistrationStatus DomainStatus `json:"registrationStatus,omitempty"` + // ProvisioningState - READ-ONLY; Domain provisioning state. Possible values include: 'ProvisioningStateSucceeded', 'ProvisioningStateFailed', 'ProvisioningStateCanceled', 'ProvisioningStateInProgress', 'ProvisioningStateDeleting' + ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` + // NameServers - READ-ONLY; Name servers. + NameServers *[]string `json:"nameServers,omitempty"` + // Privacy - true if domain privacy is enabled for this domain; otherwise, false. + Privacy *bool `json:"privacy,omitempty"` + // CreatedTime - READ-ONLY; Domain creation timestamp. + CreatedTime *date.Time `json:"createdTime,omitempty"` + // ExpirationTime - READ-ONLY; Domain expiration timestamp. + ExpirationTime *date.Time `json:"expirationTime,omitempty"` + // LastRenewedTime - READ-ONLY; Timestamp when the domain was renewed last time. + LastRenewedTime *date.Time `json:"lastRenewedTime,omitempty"` + // AutoRenew - true if the domain should be automatically renewed; otherwise, false. + AutoRenew *bool `json:"autoRenew,omitempty"` + // ReadyForDNSRecordManagement - READ-ONLY; true if Azure can assign this domain to App Service apps; otherwise, false. This value will be true if domain registration status is active and + // it is hosted on name servers Azure has programmatic access to. + ReadyForDNSRecordManagement *bool `json:"readyForDnsRecordManagement,omitempty"` + // ManagedHostNames - READ-ONLY; All hostnames derived from the domain and assigned to Azure resources. + ManagedHostNames *[]HostName `json:"managedHostNames,omitempty"` + // Consent - Legal agreement consent. + Consent *DomainPurchaseConsent `json:"consent,omitempty"` + // DomainNotRenewableReasons - READ-ONLY; Reasons why domain is not renewable. + DomainNotRenewableReasons *[]string `json:"domainNotRenewableReasons,omitempty"` + // DNSType - Current DNS type. Possible values include: 'AzureDNS', 'DefaultDomainRegistrarDNS' + DNSType DNSType `json:"dnsType,omitempty"` + // DNSZoneID - Azure DNS Zone to use + DNSZoneID *string `json:"dnsZoneId,omitempty"` + // TargetDNSType - Target DNS type (would be used for migration). Possible values include: 'AzureDNS', 'DefaultDomainRegistrarDNS' + TargetDNSType DNSType `json:"targetDnsType,omitempty"` + AuthCode *string `json:"authCode,omitempty"` +} + +// DomainPurchaseConsent domain purchase consent object, representing acceptance of applicable legal +// agreements. +type DomainPurchaseConsent struct { + // AgreementKeys - List of applicable legal agreement keys. This list can be retrieved using ListLegalAgreements API under TopLevelDomain resource. + AgreementKeys *[]string `json:"agreementKeys,omitempty"` + // AgreedBy - Client IP address. + AgreedBy *string `json:"agreedBy,omitempty"` + // AgreedAt - Timestamp when the agreements were accepted. + AgreedAt *date.Time `json:"agreedAt,omitempty"` +} + +// DomainRecommendationSearchParameters domain recommendation search parameters. +type DomainRecommendationSearchParameters struct { + // Keywords - Keywords to be used for generating domain recommendations. + Keywords *string `json:"keywords,omitempty"` + // MaxDomainRecommendations - Maximum number of recommendations. + MaxDomainRecommendations *int32 `json:"maxDomainRecommendations,omitempty"` +} + +// DomainsCreateOrUpdateFuture an abstraction for monitoring and retrieving the results of a long-running +// operation. +type DomainsCreateOrUpdateFuture struct { + azure.Future +} + +// Result returns the result of the asynchronous operation. +// If the operation has not completed it will return an error. +func (future *DomainsCreateOrUpdateFuture) Result(client DomainsClient) (d Domain, err error) { + var done bool + done, err = future.DoneWithContext(context.Background(), client) + if err != nil { + err = autorest.NewErrorWithError(err, "web.DomainsCreateOrUpdateFuture", "Result", future.Response(), "Polling failure") + return + } + if !done { + err = azure.NewAsyncOpIncompleteError("web.DomainsCreateOrUpdateFuture") + return + } + sender := autorest.DecorateSender(client, autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + if d.Response.Response, err = future.GetResult(sender); err == nil && d.Response.Response.StatusCode != http.StatusNoContent { + d, err = client.CreateOrUpdateResponder(d.Response.Response) + if err != nil { + err = autorest.NewErrorWithError(err, "web.DomainsCreateOrUpdateFuture", "Result", d.Response.Response, "Failure responding to request") + } + } + return +} + +// EnabledConfig enabled configuration. +type EnabledConfig struct { + // Enabled - True if configuration is enabled, false if it is disabled and null if configuration is not set. + Enabled *bool `json:"enabled,omitempty"` +} + +// EndpointDependency a domain name that a service is reached at, including details of the current +// connection status. +type EndpointDependency struct { + // DomainName - The domain name of the dependency. + DomainName *string `json:"domainName,omitempty"` + // EndpointDetails - The IP Addresses and Ports used when connecting to DomainName. + EndpointDetails *[]EndpointDetail `json:"endpointDetails,omitempty"` +} + +// EndpointDetail current TCP connectivity information from the App Service Environment to a single +// endpoint. +type EndpointDetail struct { + // IPAddress - An IP Address that Domain Name currently resolves to. + IPAddress *string `json:"ipAddress,omitempty"` + // Port - The port an endpoint is connected to. + Port *int32 `json:"port,omitempty"` + // Latency - The time in milliseconds it takes for a TCP connection to be created from the App Service Environment to this IpAddress at this Port. + Latency *float64 `json:"latency,omitempty"` + // IsAccessable - Whether it is possible to create a TCP connection from the App Service Environment to this IpAddress at this Port. + IsAccessable *bool `json:"isAccessable,omitempty"` +} + +// ErrorEntity body of the error response returned from the API. +type ErrorEntity struct { + // ExtendedCode - Type of error. + ExtendedCode *string `json:"extendedCode,omitempty"` + // MessageTemplate - Message template. + MessageTemplate *string `json:"messageTemplate,omitempty"` + // Parameters - Parameters for the template. + Parameters *[]string `json:"parameters,omitempty"` + // InnerErrors - Inner errors. + InnerErrors *[]ErrorEntity `json:"innerErrors,omitempty"` + // Code - Basic error code. + Code *string `json:"code,omitempty"` + // Message - Any details of the error. + Message *string `json:"message,omitempty"` +} + +// Experiments routing rules in production experiments. +type Experiments struct { + // RampUpRules - List of ramp-up rules. + RampUpRules *[]RampUpRule `json:"rampUpRules,omitempty"` +} + +// FileSystemApplicationLogsConfig application logs to file system configuration. +type FileSystemApplicationLogsConfig struct { + // Level - Log level. Possible values include: 'Off', 'Verbose', 'Information', 'Warning', 'Error' + Level LogLevel `json:"level,omitempty"` +} + +// FileSystemHTTPLogsConfig http logs to file system configuration. +type FileSystemHTTPLogsConfig struct { + // RetentionInMb - Maximum size in megabytes that http log files can use. + // When reached old log files will be removed to make space for new ones. + // Value can range between 25 and 100. + RetentionInMb *int32 `json:"retentionInMb,omitempty"` + // RetentionInDays - Retention in days. + // Remove files older than X days. + // 0 or lower means no retention. + RetentionInDays *int32 `json:"retentionInDays,omitempty"` + // Enabled - True if configuration is enabled, false if it is disabled and null if configuration is not set. + Enabled *bool `json:"enabled,omitempty"` +} + +// FunctionEnvelope web Job Information. +type FunctionEnvelope struct { + autorest.Response `json:"-"` + // FunctionEnvelopeProperties - FunctionEnvelope resource specific properties + *FunctionEnvelopeProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource Id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource Name. + Name *string `json:"name,omitempty"` + // Kind - Kind of resource. + Kind *string `json:"kind,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for FunctionEnvelope. +func (fe FunctionEnvelope) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if fe.FunctionEnvelopeProperties != nil { + objectMap["properties"] = fe.FunctionEnvelopeProperties + } + if fe.Kind != nil { + objectMap["kind"] = fe.Kind + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for FunctionEnvelope struct. +func (fe *FunctionEnvelope) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var functionEnvelopeProperties FunctionEnvelopeProperties + err = json.Unmarshal(*v, &functionEnvelopeProperties) + if err != nil { + return err + } + fe.FunctionEnvelopeProperties = &functionEnvelopeProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + fe.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + fe.Name = &name + } + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + fe.Kind = &kind + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + fe.Type = &typeVar + } + } + } + + return nil +} + +// FunctionEnvelopeCollection collection of Kudu function information elements. +type FunctionEnvelopeCollection struct { + autorest.Response `json:"-"` + // Value - Collection of resources. + Value *[]FunctionEnvelope `json:"value,omitempty"` + // NextLink - READ-ONLY; Link to next page of resources. + NextLink *string `json:"nextLink,omitempty"` +} + +// FunctionEnvelopeCollectionIterator provides access to a complete listing of FunctionEnvelope values. +type FunctionEnvelopeCollectionIterator struct { + i int + page FunctionEnvelopeCollectionPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *FunctionEnvelopeCollectionIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/FunctionEnvelopeCollectionIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *FunctionEnvelopeCollectionIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter FunctionEnvelopeCollectionIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter FunctionEnvelopeCollectionIterator) Response() FunctionEnvelopeCollection { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter FunctionEnvelopeCollectionIterator) Value() FunctionEnvelope { + if !iter.page.NotDone() { + return FunctionEnvelope{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the FunctionEnvelopeCollectionIterator type. +func NewFunctionEnvelopeCollectionIterator(page FunctionEnvelopeCollectionPage) FunctionEnvelopeCollectionIterator { + return FunctionEnvelopeCollectionIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (fec FunctionEnvelopeCollection) IsEmpty() bool { + return fec.Value == nil || len(*fec.Value) == 0 +} + +// functionEnvelopeCollectionPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (fec FunctionEnvelopeCollection) functionEnvelopeCollectionPreparer(ctx context.Context) (*http.Request, error) { + if fec.NextLink == nil || len(to.String(fec.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(fec.NextLink))) +} + +// FunctionEnvelopeCollectionPage contains a page of FunctionEnvelope values. +type FunctionEnvelopeCollectionPage struct { + fn func(context.Context, FunctionEnvelopeCollection) (FunctionEnvelopeCollection, error) + fec FunctionEnvelopeCollection +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *FunctionEnvelopeCollectionPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/FunctionEnvelopeCollectionPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.fec) + if err != nil { + return err + } + page.fec = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *FunctionEnvelopeCollectionPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page FunctionEnvelopeCollectionPage) NotDone() bool { + return !page.fec.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page FunctionEnvelopeCollectionPage) Response() FunctionEnvelopeCollection { + return page.fec +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page FunctionEnvelopeCollectionPage) Values() []FunctionEnvelope { + if page.fec.IsEmpty() { + return nil + } + return *page.fec.Value +} + +// Creates a new instance of the FunctionEnvelopeCollectionPage type. +func NewFunctionEnvelopeCollectionPage(getNextPage func(context.Context, FunctionEnvelopeCollection) (FunctionEnvelopeCollection, error)) FunctionEnvelopeCollectionPage { + return FunctionEnvelopeCollectionPage{fn: getNextPage} +} + +// FunctionEnvelopeProperties functionEnvelope resource specific properties +type FunctionEnvelopeProperties struct { + // FunctionAppID - Function App ID. + FunctionAppID *string `json:"function_app_id,omitempty"` + // ScriptRootPathHref - Script root path URI. + ScriptRootPathHref *string `json:"script_root_path_href,omitempty"` + // ScriptHref - Script URI. + ScriptHref *string `json:"script_href,omitempty"` + // ConfigHref - Config URI. + ConfigHref *string `json:"config_href,omitempty"` + // SecretsFileHref - Secrets file URI. + SecretsFileHref *string `json:"secrets_file_href,omitempty"` + // Href - Function URI. + Href *string `json:"href,omitempty"` + // Config - Config information. + Config interface{} `json:"config,omitempty"` + // Files - File list. + Files map[string]*string `json:"files"` + // TestData - Test data used when testing via the Azure Portal. + TestData *string `json:"test_data,omitempty"` +} + +// MarshalJSON is the custom marshaler for FunctionEnvelopeProperties. +func (fe FunctionEnvelopeProperties) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if fe.FunctionAppID != nil { + objectMap["function_app_id"] = fe.FunctionAppID + } + if fe.ScriptRootPathHref != nil { + objectMap["script_root_path_href"] = fe.ScriptRootPathHref + } + if fe.ScriptHref != nil { + objectMap["script_href"] = fe.ScriptHref + } + if fe.ConfigHref != nil { + objectMap["config_href"] = fe.ConfigHref + } + if fe.SecretsFileHref != nil { + objectMap["secrets_file_href"] = fe.SecretsFileHref + } + if fe.Href != nil { + objectMap["href"] = fe.Href + } + if fe.Config != nil { + objectMap["config"] = fe.Config + } + if fe.Files != nil { + objectMap["files"] = fe.Files + } + if fe.TestData != nil { + objectMap["test_data"] = fe.TestData + } + return json.Marshal(objectMap) +} + +// FunctionSecrets function secrets. +type FunctionSecrets struct { + autorest.Response `json:"-"` + // FunctionSecretsProperties - FunctionSecrets resource specific properties + *FunctionSecretsProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource Id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource Name. + Name *string `json:"name,omitempty"` + // Kind - Kind of resource. + Kind *string `json:"kind,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for FunctionSecrets. +func (fs FunctionSecrets) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if fs.FunctionSecretsProperties != nil { + objectMap["properties"] = fs.FunctionSecretsProperties + } + if fs.Kind != nil { + objectMap["kind"] = fs.Kind + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for FunctionSecrets struct. +func (fs *FunctionSecrets) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var functionSecretsProperties FunctionSecretsProperties + err = json.Unmarshal(*v, &functionSecretsProperties) + if err != nil { + return err + } + fs.FunctionSecretsProperties = &functionSecretsProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + fs.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + fs.Name = &name + } + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + fs.Kind = &kind + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + fs.Type = &typeVar + } + } + } + + return nil +} + +// FunctionSecretsProperties functionSecrets resource specific properties +type FunctionSecretsProperties struct { + // Key - Secret key. + Key *string `json:"key,omitempty"` + // TriggerURL - Trigger URL. + TriggerURL *string `json:"trigger_url,omitempty"` +} + +// GeoDistribution a global distribution definition. +type GeoDistribution struct { + // Location - Location. + Location *string `json:"location,omitempty"` + // NumberOfWorkers - NumberOfWorkers. + NumberOfWorkers *int32 `json:"numberOfWorkers,omitempty"` +} + +// GeoRegion geographical region. +type GeoRegion struct { + // GeoRegionProperties - GeoRegion resource specific properties + *GeoRegionProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource Id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource Name. + Name *string `json:"name,omitempty"` + // Kind - Kind of resource. + Kind *string `json:"kind,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for GeoRegion. +func (gr GeoRegion) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if gr.GeoRegionProperties != nil { + objectMap["properties"] = gr.GeoRegionProperties + } + if gr.Kind != nil { + objectMap["kind"] = gr.Kind + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for GeoRegion struct. +func (gr *GeoRegion) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var geoRegionProperties GeoRegionProperties + err = json.Unmarshal(*v, &geoRegionProperties) + if err != nil { + return err + } + gr.GeoRegionProperties = &geoRegionProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + gr.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + gr.Name = &name + } + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + gr.Kind = &kind + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + gr.Type = &typeVar + } + } + } + + return nil +} + +// GeoRegionCollection collection of geographical regions. +type GeoRegionCollection struct { + autorest.Response `json:"-"` + // Value - Collection of resources. + Value *[]GeoRegion `json:"value,omitempty"` + // NextLink - READ-ONLY; Link to next page of resources. + NextLink *string `json:"nextLink,omitempty"` +} + +// GeoRegionCollectionIterator provides access to a complete listing of GeoRegion values. +type GeoRegionCollectionIterator struct { + i int + page GeoRegionCollectionPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *GeoRegionCollectionIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/GeoRegionCollectionIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *GeoRegionCollectionIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter GeoRegionCollectionIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter GeoRegionCollectionIterator) Response() GeoRegionCollection { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter GeoRegionCollectionIterator) Value() GeoRegion { + if !iter.page.NotDone() { + return GeoRegion{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the GeoRegionCollectionIterator type. +func NewGeoRegionCollectionIterator(page GeoRegionCollectionPage) GeoRegionCollectionIterator { + return GeoRegionCollectionIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (grc GeoRegionCollection) IsEmpty() bool { + return grc.Value == nil || len(*grc.Value) == 0 +} + +// geoRegionCollectionPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (grc GeoRegionCollection) geoRegionCollectionPreparer(ctx context.Context) (*http.Request, error) { + if grc.NextLink == nil || len(to.String(grc.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(grc.NextLink))) +} + +// GeoRegionCollectionPage contains a page of GeoRegion values. +type GeoRegionCollectionPage struct { + fn func(context.Context, GeoRegionCollection) (GeoRegionCollection, error) + grc GeoRegionCollection +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *GeoRegionCollectionPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/GeoRegionCollectionPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.grc) + if err != nil { + return err + } + page.grc = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *GeoRegionCollectionPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page GeoRegionCollectionPage) NotDone() bool { + return !page.grc.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page GeoRegionCollectionPage) Response() GeoRegionCollection { + return page.grc +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page GeoRegionCollectionPage) Values() []GeoRegion { + if page.grc.IsEmpty() { + return nil + } + return *page.grc.Value +} + +// Creates a new instance of the GeoRegionCollectionPage type. +func NewGeoRegionCollectionPage(getNextPage func(context.Context, GeoRegionCollection) (GeoRegionCollection, error)) GeoRegionCollectionPage { + return GeoRegionCollectionPage{fn: getNextPage} +} + +// GeoRegionProperties geoRegion resource specific properties +type GeoRegionProperties struct { + // Description - READ-ONLY; Region description. + Description *string `json:"description,omitempty"` + // DisplayName - READ-ONLY; Display name for region. + DisplayName *string `json:"displayName,omitempty"` +} + +// GlobalCsmSkuDescription a Global SKU Description. +type GlobalCsmSkuDescription struct { + // Name - Name of the resource SKU. + Name *string `json:"name,omitempty"` + // Tier - Service Tier of the resource SKU. + Tier *string `json:"tier,omitempty"` + // Size - Size specifier of the resource SKU. + Size *string `json:"size,omitempty"` + // Family - Family code of the resource SKU. + Family *string `json:"family,omitempty"` + // Capacity - Min, max, and default scale values of the SKU. + Capacity *SkuCapacity `json:"capacity,omitempty"` + // Locations - Locations of the SKU. + Locations *[]string `json:"locations,omitempty"` + // Capabilities - Capabilities of the SKU, e.g., is traffic manager enabled? + Capabilities *[]Capability `json:"capabilities,omitempty"` +} + +// HandlerMapping the IIS handler mappings used to define which handler processes HTTP requests with +// certain extension. +// For example, it is used to configure php-cgi.exe process to handle all HTTP requests with *.php +// extension. +type HandlerMapping struct { + // Extension - Requests with this extension will be handled using the specified FastCGI application. + Extension *string `json:"extension,omitempty"` + // ScriptProcessor - The absolute path to the FastCGI application. + ScriptProcessor *string `json:"scriptProcessor,omitempty"` + // Arguments - Command-line arguments to be passed to the script processor. + Arguments *string `json:"arguments,omitempty"` +} + +// HostingEnvironmentDeploymentInfo information needed to create resources on an App Service Environment. +type HostingEnvironmentDeploymentInfo struct { + // Name - Name of the App Service Environment. + Name *string `json:"name,omitempty"` + // Location - Location of the App Service Environment. + Location *string `json:"location,omitempty"` +} + +// HostingEnvironmentDiagnostics diagnostics for an App Service Environment. +type HostingEnvironmentDiagnostics struct { + autorest.Response `json:"-"` + // Name - Name/identifier of the diagnostics. + Name *string `json:"name,omitempty"` + // DiagnosicsOutput - Diagnostics output. + DiagnosicsOutput *string `json:"diagnosicsOutput,omitempty"` +} + +// HostingEnvironmentProfile specification for an App Service Environment to use for this resource. +type HostingEnvironmentProfile struct { + // ID - Resource ID of the App Service Environment. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Name of the App Service Environment. + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type of the App Service Environment. + Type *string `json:"type,omitempty"` +} + +// HostName details of a hostname derived from a domain. +type HostName struct { + // Name - Name of the hostname. + Name *string `json:"name,omitempty"` + // SiteNames - List of apps the hostname is assigned to. This list will have more than one app only if the hostname is pointing to a Traffic Manager. + SiteNames *[]string `json:"siteNames,omitempty"` + // AzureResourceName - Name of the Azure resource the hostname is assigned to. If it is assigned to a Traffic Manager then it will be the Traffic Manager name otherwise it will be the app name. + AzureResourceName *string `json:"azureResourceName,omitempty"` + // AzureResourceType - Type of the Azure resource the hostname is assigned to. Possible values include: 'Website', 'TrafficManager' + AzureResourceType AzureResourceType `json:"azureResourceType,omitempty"` + // CustomHostNameDNSRecordType - Type of the DNS record. Possible values include: 'CName', 'A' + CustomHostNameDNSRecordType CustomHostNameDNSRecordType `json:"customHostNameDnsRecordType,omitempty"` + // HostNameType - Type of the hostname. Possible values include: 'Verified', 'Managed' + HostNameType HostNameType `json:"hostNameType,omitempty"` +} + +// HostNameBinding a hostname binding object. +type HostNameBinding struct { + autorest.Response `json:"-"` + // HostNameBindingProperties - HostNameBinding resource specific properties + *HostNameBindingProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource Id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource Name. + Name *string `json:"name,omitempty"` + // Kind - Kind of resource. + Kind *string `json:"kind,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for HostNameBinding. +func (hnb HostNameBinding) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if hnb.HostNameBindingProperties != nil { + objectMap["properties"] = hnb.HostNameBindingProperties + } + if hnb.Kind != nil { + objectMap["kind"] = hnb.Kind + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for HostNameBinding struct. +func (hnb *HostNameBinding) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var hostNameBindingProperties HostNameBindingProperties + err = json.Unmarshal(*v, &hostNameBindingProperties) + if err != nil { + return err + } + hnb.HostNameBindingProperties = &hostNameBindingProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + hnb.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + hnb.Name = &name + } + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + hnb.Kind = &kind + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + hnb.Type = &typeVar + } + } + } + + return nil +} + +// HostNameBindingCollection collection of hostname bindings. +type HostNameBindingCollection struct { + autorest.Response `json:"-"` + // Value - Collection of resources. + Value *[]HostNameBinding `json:"value,omitempty"` + // NextLink - READ-ONLY; Link to next page of resources. + NextLink *string `json:"nextLink,omitempty"` +} + +// HostNameBindingCollectionIterator provides access to a complete listing of HostNameBinding values. +type HostNameBindingCollectionIterator struct { + i int + page HostNameBindingCollectionPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *HostNameBindingCollectionIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/HostNameBindingCollectionIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *HostNameBindingCollectionIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter HostNameBindingCollectionIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter HostNameBindingCollectionIterator) Response() HostNameBindingCollection { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter HostNameBindingCollectionIterator) Value() HostNameBinding { + if !iter.page.NotDone() { + return HostNameBinding{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the HostNameBindingCollectionIterator type. +func NewHostNameBindingCollectionIterator(page HostNameBindingCollectionPage) HostNameBindingCollectionIterator { + return HostNameBindingCollectionIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (hnbc HostNameBindingCollection) IsEmpty() bool { + return hnbc.Value == nil || len(*hnbc.Value) == 0 +} + +// hostNameBindingCollectionPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (hnbc HostNameBindingCollection) hostNameBindingCollectionPreparer(ctx context.Context) (*http.Request, error) { + if hnbc.NextLink == nil || len(to.String(hnbc.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(hnbc.NextLink))) +} + +// HostNameBindingCollectionPage contains a page of HostNameBinding values. +type HostNameBindingCollectionPage struct { + fn func(context.Context, HostNameBindingCollection) (HostNameBindingCollection, error) + hnbc HostNameBindingCollection +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *HostNameBindingCollectionPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/HostNameBindingCollectionPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.hnbc) + if err != nil { + return err + } + page.hnbc = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *HostNameBindingCollectionPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page HostNameBindingCollectionPage) NotDone() bool { + return !page.hnbc.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page HostNameBindingCollectionPage) Response() HostNameBindingCollection { + return page.hnbc +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page HostNameBindingCollectionPage) Values() []HostNameBinding { + if page.hnbc.IsEmpty() { + return nil + } + return *page.hnbc.Value +} + +// Creates a new instance of the HostNameBindingCollectionPage type. +func NewHostNameBindingCollectionPage(getNextPage func(context.Context, HostNameBindingCollection) (HostNameBindingCollection, error)) HostNameBindingCollectionPage { + return HostNameBindingCollectionPage{fn: getNextPage} +} + +// HostNameBindingProperties hostNameBinding resource specific properties +type HostNameBindingProperties struct { + // SiteName - App Service app name. + SiteName *string `json:"siteName,omitempty"` + // DomainID - Fully qualified ARM domain resource URI. + DomainID *string `json:"domainId,omitempty"` + // AzureResourceName - Azure resource name. + AzureResourceName *string `json:"azureResourceName,omitempty"` + // AzureResourceType - Azure resource type. Possible values include: 'Website', 'TrafficManager' + AzureResourceType AzureResourceType `json:"azureResourceType,omitempty"` + // CustomHostNameDNSRecordType - Custom DNS record type. Possible values include: 'CName', 'A' + CustomHostNameDNSRecordType CustomHostNameDNSRecordType `json:"customHostNameDnsRecordType,omitempty"` + // HostNameType - Hostname type. Possible values include: 'Verified', 'Managed' + HostNameType HostNameType `json:"hostNameType,omitempty"` + // SslState - SSL type. Possible values include: 'SslStateDisabled', 'SslStateSniEnabled', 'SslStateIPBasedEnabled' + SslState SslState `json:"sslState,omitempty"` + // Thumbprint - SSL certificate thumbprint + Thumbprint *string `json:"thumbprint,omitempty"` + // VirtualIP - READ-ONLY; Virtual IP address assigned to the hostname if IP based SSL is enabled. + VirtualIP *string `json:"virtualIP,omitempty"` +} + +// HostNameSslState SSL-enabled hostname. +type HostNameSslState struct { + // Name - Hostname. + Name *string `json:"name,omitempty"` + // SslState - SSL type. Possible values include: 'SslStateDisabled', 'SslStateSniEnabled', 'SslStateIPBasedEnabled' + SslState SslState `json:"sslState,omitempty"` + // VirtualIP - Virtual IP address assigned to the hostname if IP based SSL is enabled. + VirtualIP *string `json:"virtualIP,omitempty"` + // Thumbprint - SSL certificate thumbprint. + Thumbprint *string `json:"thumbprint,omitempty"` + // ToUpdate - Set to true to update existing hostname. + ToUpdate *bool `json:"toUpdate,omitempty"` + // HostType - Indicates whether the hostname is a standard or repository hostname. Possible values include: 'HostTypeStandard', 'HostTypeRepository' + HostType HostType `json:"hostType,omitempty"` +} + +// HTTPLogsConfig http logs configuration. +type HTTPLogsConfig struct { + // FileSystem - Http logs to file system configuration. + FileSystem *FileSystemHTTPLogsConfig `json:"fileSystem,omitempty"` + // AzureBlobStorage - Http logs to azure blob storage configuration. + AzureBlobStorage *AzureBlobStorageHTTPLogsConfig `json:"azureBlobStorage,omitempty"` +} + +// HybridConnection hybrid Connection contract. This is used to configure a Hybrid Connection. +type HybridConnection struct { + autorest.Response `json:"-"` + // HybridConnectionProperties - HybridConnection resource specific properties + *HybridConnectionProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource Id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource Name. + Name *string `json:"name,omitempty"` + // Kind - Kind of resource. + Kind *string `json:"kind,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for HybridConnection. +func (hc HybridConnection) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if hc.HybridConnectionProperties != nil { + objectMap["properties"] = hc.HybridConnectionProperties + } + if hc.Kind != nil { + objectMap["kind"] = hc.Kind + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for HybridConnection struct. +func (hc *HybridConnection) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var hybridConnectionProperties HybridConnectionProperties + err = json.Unmarshal(*v, &hybridConnectionProperties) + if err != nil { + return err + } + hc.HybridConnectionProperties = &hybridConnectionProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + hc.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + hc.Name = &name + } + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + hc.Kind = &kind + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + hc.Type = &typeVar + } + } + } + + return nil +} + +// HybridConnectionCollection collection of hostname bindings. +type HybridConnectionCollection struct { + autorest.Response `json:"-"` + // Value - Collection of resources. + Value *[]HybridConnection `json:"value,omitempty"` + // NextLink - READ-ONLY; Link to next page of resources. + NextLink *string `json:"nextLink,omitempty"` +} + +// HybridConnectionCollectionIterator provides access to a complete listing of HybridConnection values. +type HybridConnectionCollectionIterator struct { + i int + page HybridConnectionCollectionPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *HybridConnectionCollectionIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/HybridConnectionCollectionIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *HybridConnectionCollectionIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter HybridConnectionCollectionIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter HybridConnectionCollectionIterator) Response() HybridConnectionCollection { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter HybridConnectionCollectionIterator) Value() HybridConnection { + if !iter.page.NotDone() { + return HybridConnection{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the HybridConnectionCollectionIterator type. +func NewHybridConnectionCollectionIterator(page HybridConnectionCollectionPage) HybridConnectionCollectionIterator { + return HybridConnectionCollectionIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (hcc HybridConnectionCollection) IsEmpty() bool { + return hcc.Value == nil || len(*hcc.Value) == 0 +} + +// hybridConnectionCollectionPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (hcc HybridConnectionCollection) hybridConnectionCollectionPreparer(ctx context.Context) (*http.Request, error) { + if hcc.NextLink == nil || len(to.String(hcc.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(hcc.NextLink))) +} + +// HybridConnectionCollectionPage contains a page of HybridConnection values. +type HybridConnectionCollectionPage struct { + fn func(context.Context, HybridConnectionCollection) (HybridConnectionCollection, error) + hcc HybridConnectionCollection +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *HybridConnectionCollectionPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/HybridConnectionCollectionPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.hcc) + if err != nil { + return err + } + page.hcc = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *HybridConnectionCollectionPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page HybridConnectionCollectionPage) NotDone() bool { + return !page.hcc.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page HybridConnectionCollectionPage) Response() HybridConnectionCollection { + return page.hcc +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page HybridConnectionCollectionPage) Values() []HybridConnection { + if page.hcc.IsEmpty() { + return nil + } + return *page.hcc.Value +} + +// Creates a new instance of the HybridConnectionCollectionPage type. +func NewHybridConnectionCollectionPage(getNextPage func(context.Context, HybridConnectionCollection) (HybridConnectionCollection, error)) HybridConnectionCollectionPage { + return HybridConnectionCollectionPage{fn: getNextPage} +} + +// HybridConnectionKey hybrid Connection key contract. This has the send key name and value for a Hybrid +// Connection. +type HybridConnectionKey struct { + autorest.Response `json:"-"` + // HybridConnectionKeyProperties - HybridConnectionKey resource specific properties + *HybridConnectionKeyProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource Id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource Name. + Name *string `json:"name,omitempty"` + // Kind - Kind of resource. + Kind *string `json:"kind,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for HybridConnectionKey. +func (hck HybridConnectionKey) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if hck.HybridConnectionKeyProperties != nil { + objectMap["properties"] = hck.HybridConnectionKeyProperties + } + if hck.Kind != nil { + objectMap["kind"] = hck.Kind + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for HybridConnectionKey struct. +func (hck *HybridConnectionKey) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var hybridConnectionKeyProperties HybridConnectionKeyProperties + err = json.Unmarshal(*v, &hybridConnectionKeyProperties) + if err != nil { + return err + } + hck.HybridConnectionKeyProperties = &hybridConnectionKeyProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + hck.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + hck.Name = &name + } + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + hck.Kind = &kind + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + hck.Type = &typeVar + } + } + } + + return nil +} + +// HybridConnectionKeyProperties hybridConnectionKey resource specific properties +type HybridConnectionKeyProperties struct { + // SendKeyName - READ-ONLY; The name of the send key. + SendKeyName *string `json:"sendKeyName,omitempty"` + // SendKeyValue - READ-ONLY; The value of the send key. + SendKeyValue *string `json:"sendKeyValue,omitempty"` +} + +// HybridConnectionLimits hybrid Connection limits contract. This is used to return the plan limits of +// Hybrid Connections. +type HybridConnectionLimits struct { + autorest.Response `json:"-"` + // HybridConnectionLimitsProperties - HybridConnectionLimits resource specific properties + *HybridConnectionLimitsProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource Id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource Name. + Name *string `json:"name,omitempty"` + // Kind - Kind of resource. + Kind *string `json:"kind,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for HybridConnectionLimits. +func (hcl HybridConnectionLimits) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if hcl.HybridConnectionLimitsProperties != nil { + objectMap["properties"] = hcl.HybridConnectionLimitsProperties + } + if hcl.Kind != nil { + objectMap["kind"] = hcl.Kind + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for HybridConnectionLimits struct. +func (hcl *HybridConnectionLimits) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var hybridConnectionLimitsProperties HybridConnectionLimitsProperties + err = json.Unmarshal(*v, &hybridConnectionLimitsProperties) + if err != nil { + return err + } + hcl.HybridConnectionLimitsProperties = &hybridConnectionLimitsProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + hcl.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + hcl.Name = &name + } + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + hcl.Kind = &kind + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + hcl.Type = &typeVar + } + } + } + + return nil +} + +// HybridConnectionLimitsProperties hybridConnectionLimits resource specific properties +type HybridConnectionLimitsProperties struct { + // Current - READ-ONLY; The current number of Hybrid Connections. + Current *int32 `json:"current,omitempty"` + // Maximum - READ-ONLY; The maximum number of Hybrid Connections allowed. + Maximum *int32 `json:"maximum,omitempty"` +} + +// HybridConnectionProperties hybridConnection resource specific properties +type HybridConnectionProperties struct { + // ServiceBusNamespace - The name of the Service Bus namespace. + ServiceBusNamespace *string `json:"serviceBusNamespace,omitempty"` + // RelayName - The name of the Service Bus relay. + RelayName *string `json:"relayName,omitempty"` + // RelayArmURI - The ARM URI to the Service Bus relay. + RelayArmURI *string `json:"relayArmUri,omitempty"` + // Hostname - The hostname of the endpoint. + Hostname *string `json:"hostname,omitempty"` + // Port - The port of the endpoint. + Port *int32 `json:"port,omitempty"` + // SendKeyName - The name of the Service Bus key which has Send permissions. This is used to authenticate to Service Bus. + SendKeyName *string `json:"sendKeyName,omitempty"` + // SendKeyValue - The value of the Service Bus key. This is used to authenticate to Service Bus. In ARM this key will not be returned + // normally, use the POST /listKeys API instead. + SendKeyValue *string `json:"sendKeyValue,omitempty"` + // ServiceBusSuffix - The suffix for the service bus endpoint. By default this is .servicebus.windows.net + ServiceBusSuffix *string `json:"serviceBusSuffix,omitempty"` +} + +// Identifier a domain specific resource identifier. +type Identifier struct { + autorest.Response `json:"-"` + // IdentifierProperties - Identifier resource specific properties + *IdentifierProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource Id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource Name. + Name *string `json:"name,omitempty"` + // Kind - Kind of resource. + Kind *string `json:"kind,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for Identifier. +func (i Identifier) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if i.IdentifierProperties != nil { + objectMap["properties"] = i.IdentifierProperties + } + if i.Kind != nil { + objectMap["kind"] = i.Kind + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for Identifier struct. +func (i *Identifier) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var identifierProperties IdentifierProperties + err = json.Unmarshal(*v, &identifierProperties) + if err != nil { + return err + } + i.IdentifierProperties = &identifierProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + i.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + i.Name = &name + } + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + i.Kind = &kind + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + i.Type = &typeVar + } + } + } + + return nil +} + +// IdentifierCollection collection of identifiers. +type IdentifierCollection struct { + autorest.Response `json:"-"` + // Value - Collection of resources. + Value *[]Identifier `json:"value,omitempty"` + // NextLink - READ-ONLY; Link to next page of resources. + NextLink *string `json:"nextLink,omitempty"` +} + +// IdentifierCollectionIterator provides access to a complete listing of Identifier values. +type IdentifierCollectionIterator struct { + i int + page IdentifierCollectionPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *IdentifierCollectionIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IdentifierCollectionIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *IdentifierCollectionIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter IdentifierCollectionIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter IdentifierCollectionIterator) Response() IdentifierCollection { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter IdentifierCollectionIterator) Value() Identifier { + if !iter.page.NotDone() { + return Identifier{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the IdentifierCollectionIterator type. +func NewIdentifierCollectionIterator(page IdentifierCollectionPage) IdentifierCollectionIterator { + return IdentifierCollectionIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (ic IdentifierCollection) IsEmpty() bool { + return ic.Value == nil || len(*ic.Value) == 0 +} + +// identifierCollectionPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (ic IdentifierCollection) identifierCollectionPreparer(ctx context.Context) (*http.Request, error) { + if ic.NextLink == nil || len(to.String(ic.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(ic.NextLink))) +} + +// IdentifierCollectionPage contains a page of Identifier values. +type IdentifierCollectionPage struct { + fn func(context.Context, IdentifierCollection) (IdentifierCollection, error) + ic IdentifierCollection +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *IdentifierCollectionPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/IdentifierCollectionPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.ic) + if err != nil { + return err + } + page.ic = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *IdentifierCollectionPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page IdentifierCollectionPage) NotDone() bool { + return !page.ic.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page IdentifierCollectionPage) Response() IdentifierCollection { + return page.ic +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page IdentifierCollectionPage) Values() []Identifier { + if page.ic.IsEmpty() { + return nil + } + return *page.ic.Value +} + +// Creates a new instance of the IdentifierCollectionPage type. +func NewIdentifierCollectionPage(getNextPage func(context.Context, IdentifierCollection) (IdentifierCollection, error)) IdentifierCollectionPage { + return IdentifierCollectionPage{fn: getNextPage} +} + +// IdentifierProperties identifier resource specific properties +type IdentifierProperties struct { + // ID - String representation of the identity. + ID *string `json:"id,omitempty"` +} + +// InboundEnvironmentEndpoint the IP Addresses and Ports that require inbound network access to and within +// the subnet of the App Service Environment. +type InboundEnvironmentEndpoint struct { + // Description - Short text describing the purpose of the network traffic. + Description *string `json:"description,omitempty"` + // Endpoints - The IP addresses that network traffic will originate from in cidr notation. + Endpoints *[]string `json:"endpoints,omitempty"` + // Ports - The ports that network traffic will arrive to the App Service Environment at. + Ports *[]string `json:"ports,omitempty"` +} + +// InboundEnvironmentEndpointCollection collection of Inbound Environment Endpoints +type InboundEnvironmentEndpointCollection struct { + autorest.Response `json:"-"` + // Value - Collection of resources. + Value *[]InboundEnvironmentEndpoint `json:"value,omitempty"` + // NextLink - READ-ONLY; Link to next page of resources. + NextLink *string `json:"nextLink,omitempty"` +} + +// InboundEnvironmentEndpointCollectionIterator provides access to a complete listing of +// InboundEnvironmentEndpoint values. +type InboundEnvironmentEndpointCollectionIterator struct { + i int + page InboundEnvironmentEndpointCollectionPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *InboundEnvironmentEndpointCollectionIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/InboundEnvironmentEndpointCollectionIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *InboundEnvironmentEndpointCollectionIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter InboundEnvironmentEndpointCollectionIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter InboundEnvironmentEndpointCollectionIterator) Response() InboundEnvironmentEndpointCollection { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter InboundEnvironmentEndpointCollectionIterator) Value() InboundEnvironmentEndpoint { + if !iter.page.NotDone() { + return InboundEnvironmentEndpoint{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the InboundEnvironmentEndpointCollectionIterator type. +func NewInboundEnvironmentEndpointCollectionIterator(page InboundEnvironmentEndpointCollectionPage) InboundEnvironmentEndpointCollectionIterator { + return InboundEnvironmentEndpointCollectionIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (ieec InboundEnvironmentEndpointCollection) IsEmpty() bool { + return ieec.Value == nil || len(*ieec.Value) == 0 +} + +// inboundEnvironmentEndpointCollectionPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (ieec InboundEnvironmentEndpointCollection) inboundEnvironmentEndpointCollectionPreparer(ctx context.Context) (*http.Request, error) { + if ieec.NextLink == nil || len(to.String(ieec.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(ieec.NextLink))) +} + +// InboundEnvironmentEndpointCollectionPage contains a page of InboundEnvironmentEndpoint values. +type InboundEnvironmentEndpointCollectionPage struct { + fn func(context.Context, InboundEnvironmentEndpointCollection) (InboundEnvironmentEndpointCollection, error) + ieec InboundEnvironmentEndpointCollection +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *InboundEnvironmentEndpointCollectionPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/InboundEnvironmentEndpointCollectionPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.ieec) + if err != nil { + return err + } + page.ieec = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *InboundEnvironmentEndpointCollectionPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page InboundEnvironmentEndpointCollectionPage) NotDone() bool { + return !page.ieec.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page InboundEnvironmentEndpointCollectionPage) Response() InboundEnvironmentEndpointCollection { + return page.ieec +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page InboundEnvironmentEndpointCollectionPage) Values() []InboundEnvironmentEndpoint { + if page.ieec.IsEmpty() { + return nil + } + return *page.ieec.Value +} + +// Creates a new instance of the InboundEnvironmentEndpointCollectionPage type. +func NewInboundEnvironmentEndpointCollectionPage(getNextPage func(context.Context, InboundEnvironmentEndpointCollection) (InboundEnvironmentEndpointCollection, error)) InboundEnvironmentEndpointCollectionPage { + return InboundEnvironmentEndpointCollectionPage{fn: getNextPage} +} + +// IPSecurityRestriction IP security restriction on an app. +type IPSecurityRestriction struct { + // IPAddress - IP address the security restriction is valid for. + // It can be in form of pure ipv4 address (required SubnetMask property) or + // CIDR notation such as ipv4/mask (leading bit match). For CIDR, + // SubnetMask property must not be specified. + IPAddress *string `json:"ipAddress,omitempty"` + // SubnetMask - Subnet mask for the range of IP addresses the restriction is valid for. + SubnetMask *string `json:"subnetMask,omitempty"` + // VnetSubnetResourceID - Virtual network resource id + VnetSubnetResourceID *string `json:"vnetSubnetResourceId,omitempty"` + // VnetTrafficTag - (internal) Vnet traffic tag + VnetTrafficTag *int32 `json:"vnetTrafficTag,omitempty"` + // SubnetTrafficTag - (internal) Subnet traffic tag + SubnetTrafficTag *int32 `json:"subnetTrafficTag,omitempty"` + // Action - Allow or Deny access for this IP range. + Action *string `json:"action,omitempty"` + // Tag - Defines what this IP filter will be used for. This is to support IP filtering on proxies. Possible values include: 'Default', 'XffProxy' + Tag IPFilterTag `json:"tag,omitempty"` + // Priority - Priority of IP restriction rule. + Priority *int32 `json:"priority,omitempty"` + // Name - IP restriction rule name. + Name *string `json:"name,omitempty"` + // Description - IP restriction rule description. + Description *string `json:"description,omitempty"` +} + +// Job web Job Information. +type Job struct { + autorest.Response `json:"-"` + // JobProperties - WebJob resource specific properties + *JobProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource Id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource Name. + Name *string `json:"name,omitempty"` + // Kind - Kind of resource. + Kind *string `json:"kind,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for Job. +func (j Job) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if j.JobProperties != nil { + objectMap["properties"] = j.JobProperties + } + if j.Kind != nil { + objectMap["kind"] = j.Kind + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for Job struct. +func (j *Job) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var jobProperties JobProperties + err = json.Unmarshal(*v, &jobProperties) + if err != nil { + return err + } + j.JobProperties = &jobProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + j.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + j.Name = &name + } + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + j.Kind = &kind + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + j.Type = &typeVar + } + } + } + + return nil +} + +// JobCollection collection of Kudu web job information elements. +type JobCollection struct { + autorest.Response `json:"-"` + // Value - Collection of resources. + Value *[]Job `json:"value,omitempty"` + // NextLink - READ-ONLY; Link to next page of resources. + NextLink *string `json:"nextLink,omitempty"` +} + +// JobCollectionIterator provides access to a complete listing of Job values. +type JobCollectionIterator struct { + i int + page JobCollectionPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *JobCollectionIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/JobCollectionIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *JobCollectionIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter JobCollectionIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter JobCollectionIterator) Response() JobCollection { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter JobCollectionIterator) Value() Job { + if !iter.page.NotDone() { + return Job{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the JobCollectionIterator type. +func NewJobCollectionIterator(page JobCollectionPage) JobCollectionIterator { + return JobCollectionIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (jc JobCollection) IsEmpty() bool { + return jc.Value == nil || len(*jc.Value) == 0 +} + +// jobCollectionPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (jc JobCollection) jobCollectionPreparer(ctx context.Context) (*http.Request, error) { + if jc.NextLink == nil || len(to.String(jc.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(jc.NextLink))) +} + +// JobCollectionPage contains a page of Job values. +type JobCollectionPage struct { + fn func(context.Context, JobCollection) (JobCollection, error) + jc JobCollection +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *JobCollectionPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/JobCollectionPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.jc) + if err != nil { + return err + } + page.jc = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *JobCollectionPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page JobCollectionPage) NotDone() bool { + return !page.jc.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page JobCollectionPage) Response() JobCollection { + return page.jc +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page JobCollectionPage) Values() []Job { + if page.jc.IsEmpty() { + return nil + } + return *page.jc.Value +} + +// Creates a new instance of the JobCollectionPage type. +func NewJobCollectionPage(getNextPage func(context.Context, JobCollection) (JobCollection, error)) JobCollectionPage { + return JobCollectionPage{fn: getNextPage} +} + +// JobProperties webJob resource specific properties +type JobProperties struct { + // RunCommand - Run command. + RunCommand *string `json:"run_command,omitempty"` + // URL - Job URL. + URL *string `json:"url,omitempty"` + // ExtraInfoURL - Extra Info URL. + ExtraInfoURL *string `json:"extra_info_url,omitempty"` + // WebJobType - Job type. Possible values include: 'Continuous', 'Triggered' + WebJobType JobType `json:"web_job_type,omitempty"` + // Error - Error information. + Error *string `json:"error,omitempty"` + // UsingSdk - Using SDK? + UsingSdk *bool `json:"using_sdk,omitempty"` + // Settings - Job settings. + Settings map[string]interface{} `json:"settings"` +} + +// MarshalJSON is the custom marshaler for JobProperties. +func (j JobProperties) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if j.RunCommand != nil { + objectMap["run_command"] = j.RunCommand + } + if j.URL != nil { + objectMap["url"] = j.URL + } + if j.ExtraInfoURL != nil { + objectMap["extra_info_url"] = j.ExtraInfoURL + } + if j.WebJobType != "" { + objectMap["web_job_type"] = j.WebJobType + } + if j.Error != nil { + objectMap["error"] = j.Error + } + if j.UsingSdk != nil { + objectMap["using_sdk"] = j.UsingSdk + } + if j.Settings != nil { + objectMap["settings"] = j.Settings + } + return json.Marshal(objectMap) +} + +// ListCapability ... +type ListCapability struct { + autorest.Response `json:"-"` + Value *[]Capability `json:"value,omitempty"` +} + +// ListCertificateEmail ... +type ListCertificateEmail struct { + autorest.Response `json:"-"` + Value *[]CertificateEmail `json:"value,omitempty"` +} + +// ListCertificateOrderAction ... +type ListCertificateOrderAction struct { + autorest.Response `json:"-"` + Value *[]CertificateOrderAction `json:"value,omitempty"` +} + +// ListHostingEnvironmentDiagnostics ... +type ListHostingEnvironmentDiagnostics struct { + autorest.Response `json:"-"` + Value *[]HostingEnvironmentDiagnostics `json:"value,omitempty"` +} + +// ListNetworkTrace ... +type ListNetworkTrace struct { + autorest.Response `json:"-"` + Value *[]NetworkTrace `json:"value,omitempty"` +} + +// ListOperation ... +type ListOperation struct { + autorest.Response `json:"-"` + Value *[]Operation `json:"value,omitempty"` +} + +// ListVnetInfo ... +type ListVnetInfo struct { + autorest.Response `json:"-"` + Value *[]VnetInfo `json:"value,omitempty"` +} + +// ListVnetRoute ... +type ListVnetRoute struct { + autorest.Response `json:"-"` + Value *[]VnetRoute `json:"value,omitempty"` +} + +// LocalizableString localizable string object containing the name and a localized value. +type LocalizableString struct { + // Value - Non-localized name. + Value *string `json:"value,omitempty"` + // LocalizedValue - Localized name. + LocalizedValue *string `json:"localizedValue,omitempty"` +} + +// LogSpecification log Definition of a single resource metric. +type LogSpecification struct { + Name *string `json:"name,omitempty"` + DisplayName *string `json:"displayName,omitempty"` + BlobDuration *string `json:"blobDuration,omitempty"` +} + +// ManagedServiceIdentity managed service identity. +type ManagedServiceIdentity struct { + // Type - Type of managed service identity. Possible values include: 'ManagedServiceIdentityTypeSystemAssigned', 'ManagedServiceIdentityTypeUserAssigned', 'ManagedServiceIdentityTypeSystemAssignedUserAssigned', 'ManagedServiceIdentityTypeNone' + Type ManagedServiceIdentityType `json:"type,omitempty"` + // TenantID - READ-ONLY; Tenant of managed service identity. + TenantID *string `json:"tenantId,omitempty"` + // PrincipalID - READ-ONLY; Principal Id of managed service identity. + PrincipalID *string `json:"principalId,omitempty"` + // UserAssignedIdentities - The list of user assigned identities associated with the resource. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName} + UserAssignedIdentities map[string]*ManagedServiceIdentityUserAssignedIdentitiesValue `json:"userAssignedIdentities"` +} + +// MarshalJSON is the custom marshaler for ManagedServiceIdentity. +func (msi ManagedServiceIdentity) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if msi.Type != "" { + objectMap["type"] = msi.Type + } + if msi.UserAssignedIdentities != nil { + objectMap["userAssignedIdentities"] = msi.UserAssignedIdentities + } + return json.Marshal(objectMap) +} + +// ManagedServiceIdentityUserAssignedIdentitiesValue ... +type ManagedServiceIdentityUserAssignedIdentitiesValue struct { + // PrincipalID - READ-ONLY; Principal Id of user assigned identity + PrincipalID *string `json:"principalId,omitempty"` + // ClientID - READ-ONLY; Client Id of user assigned identity + ClientID *string `json:"clientId,omitempty"` +} + +// MetricAvailabilily metric availability and retention. +type MetricAvailabilily struct { + // TimeGrain - Time grain. + TimeGrain *string `json:"timeGrain,omitempty"` + // Retention - Retention period for the current time grain. + Retention *string `json:"retention,omitempty"` +} + +// MetricAvailability retention policy of a resource metric. +type MetricAvailability struct { + TimeGrain *string `json:"timeGrain,omitempty"` + BlobDuration *string `json:"blobDuration,omitempty"` +} + +// MetricDefinition metadata for a metric. +type MetricDefinition struct { + autorest.Response `json:"-"` + // MetricDefinitionProperties - MetricDefinition resource specific properties + *MetricDefinitionProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource Id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource Name. + Name *string `json:"name,omitempty"` + // Kind - Kind of resource. + Kind *string `json:"kind,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for MetricDefinition. +func (md MetricDefinition) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if md.MetricDefinitionProperties != nil { + objectMap["properties"] = md.MetricDefinitionProperties + } + if md.Kind != nil { + objectMap["kind"] = md.Kind + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for MetricDefinition struct. +func (md *MetricDefinition) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var metricDefinitionProperties MetricDefinitionProperties + err = json.Unmarshal(*v, &metricDefinitionProperties) + if err != nil { + return err + } + md.MetricDefinitionProperties = &metricDefinitionProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + md.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + md.Name = &name + } + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + md.Kind = &kind + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + md.Type = &typeVar + } + } + } + + return nil +} + +// MetricDefinitionProperties metricDefinition resource specific properties +type MetricDefinitionProperties struct { + // Unit - READ-ONLY; Unit of the metric. + Unit *string `json:"unit,omitempty"` + // PrimaryAggregationType - READ-ONLY; Primary aggregation type. + PrimaryAggregationType *string `json:"primaryAggregationType,omitempty"` + // MetricAvailabilities - READ-ONLY; List of time grains supported for the metric together with retention period. + MetricAvailabilities *[]MetricAvailabilily `json:"metricAvailabilities,omitempty"` + // DisplayName - READ-ONLY; Friendly name shown in the UI. + DisplayName *string `json:"displayName,omitempty"` +} + +// MetricSpecification definition of a single resource metric. +type MetricSpecification struct { + Name *string `json:"name,omitempty"` + DisplayName *string `json:"displayName,omitempty"` + DisplayDescription *string `json:"displayDescription,omitempty"` + Unit *string `json:"unit,omitempty"` + AggregationType *string `json:"aggregationType,omitempty"` + SupportsInstanceLevelAggregation *bool `json:"supportsInstanceLevelAggregation,omitempty"` + EnableRegionalMdmAccount *bool `json:"enableRegionalMdmAccount,omitempty"` + SourceMdmAccount *string `json:"sourceMdmAccount,omitempty"` + SourceMdmNamespace *string `json:"sourceMdmNamespace,omitempty"` + MetricFilterPattern *string `json:"metricFilterPattern,omitempty"` + FillGapWithZero *bool `json:"fillGapWithZero,omitempty"` + IsInternal *bool `json:"isInternal,omitempty"` + Dimensions *[]Dimension `json:"dimensions,omitempty"` + Category *string `json:"category,omitempty"` + Availabilities *[]MetricAvailability `json:"availabilities,omitempty"` +} + +// MigrateMySQLRequest mySQL migration request. +type MigrateMySQLRequest struct { + // MigrateMySQLRequestProperties - MigrateMySqlRequest resource specific properties + *MigrateMySQLRequestProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource Id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource Name. + Name *string `json:"name,omitempty"` + // Kind - Kind of resource. + Kind *string `json:"kind,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for MigrateMySQLRequest. +func (mmsr MigrateMySQLRequest) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if mmsr.MigrateMySQLRequestProperties != nil { + objectMap["properties"] = mmsr.MigrateMySQLRequestProperties + } + if mmsr.Kind != nil { + objectMap["kind"] = mmsr.Kind + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for MigrateMySQLRequest struct. +func (mmsr *MigrateMySQLRequest) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var migrateMySQLRequestProperties MigrateMySQLRequestProperties + err = json.Unmarshal(*v, &migrateMySQLRequestProperties) + if err != nil { + return err + } + mmsr.MigrateMySQLRequestProperties = &migrateMySQLRequestProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + mmsr.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + mmsr.Name = &name + } + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + mmsr.Kind = &kind + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + mmsr.Type = &typeVar + } + } + } + + return nil +} + +// MigrateMySQLRequestProperties migrateMySqlRequest resource specific properties +type MigrateMySQLRequestProperties struct { + // ConnectionString - Connection string to the remote MySQL database. + ConnectionString *string `json:"connectionString,omitempty"` + // MigrationType - The type of migration operation to be done. Possible values include: 'LocalToRemote', 'RemoteToLocal' + MigrationType MySQLMigrationType `json:"migrationType,omitempty"` +} + +// MigrateMySQLStatus mySQL migration status. +type MigrateMySQLStatus struct { + autorest.Response `json:"-"` + // MigrateMySQLStatusProperties - MigrateMySqlStatus resource specific properties + *MigrateMySQLStatusProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource Id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource Name. + Name *string `json:"name,omitempty"` + // Kind - Kind of resource. + Kind *string `json:"kind,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for MigrateMySQLStatus. +func (mmss MigrateMySQLStatus) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if mmss.MigrateMySQLStatusProperties != nil { + objectMap["properties"] = mmss.MigrateMySQLStatusProperties + } + if mmss.Kind != nil { + objectMap["kind"] = mmss.Kind + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for MigrateMySQLStatus struct. +func (mmss *MigrateMySQLStatus) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var migrateMySQLStatusProperties MigrateMySQLStatusProperties + err = json.Unmarshal(*v, &migrateMySQLStatusProperties) + if err != nil { + return err + } + mmss.MigrateMySQLStatusProperties = &migrateMySQLStatusProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + mmss.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + mmss.Name = &name + } + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + mmss.Kind = &kind + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + mmss.Type = &typeVar + } + } + } + + return nil +} + +// MigrateMySQLStatusProperties migrateMySqlStatus resource specific properties +type MigrateMySQLStatusProperties struct { + // MigrationOperationStatus - READ-ONLY; Status of the migration task. Possible values include: 'OperationStatusInProgress', 'OperationStatusFailed', 'OperationStatusSucceeded', 'OperationStatusTimedOut', 'OperationStatusCreated' + MigrationOperationStatus OperationStatus `json:"migrationOperationStatus,omitempty"` + // OperationID - READ-ONLY; Operation ID for the migration task. + OperationID *string `json:"operationId,omitempty"` + // LocalMySQLEnabled - READ-ONLY; True if the web app has in app MySql enabled + LocalMySQLEnabled *bool `json:"localMySqlEnabled,omitempty"` +} + +// MSDeploy mSDeploy ARM PUT information +type MSDeploy struct { + // MSDeployCore - Core resource properties + *MSDeployCore `json:"properties,omitempty"` + // ID - READ-ONLY; Resource Id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource Name. + Name *string `json:"name,omitempty"` + // Kind - Kind of resource. + Kind *string `json:"kind,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for MSDeploy. +func (md MSDeploy) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if md.MSDeployCore != nil { + objectMap["properties"] = md.MSDeployCore + } + if md.Kind != nil { + objectMap["kind"] = md.Kind + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for MSDeploy struct. +func (md *MSDeploy) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var mSDeployCore MSDeployCore + err = json.Unmarshal(*v, &mSDeployCore) + if err != nil { + return err + } + md.MSDeployCore = &mSDeployCore + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + md.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + md.Name = &name + } + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + md.Kind = &kind + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + md.Type = &typeVar + } + } + } + + return nil +} + +// MSDeployCore mSDeploy ARM PUT core information +type MSDeployCore struct { + // PackageURI - Package URI + PackageURI *string `json:"packageUri,omitempty"` + // ConnectionString - SQL Connection String + ConnectionString *string `json:"connectionString,omitempty"` + // DbType - Database Type + DbType *string `json:"dbType,omitempty"` + // SetParametersXMLFileURI - URI of MSDeploy Parameters file. Must not be set if SetParameters is used. + SetParametersXMLFileURI *string `json:"setParametersXmlFileUri,omitempty"` + // SetParameters - MSDeploy Parameters. Must not be set if SetParametersXmlFileUri is used. + SetParameters map[string]*string `json:"setParameters"` + // SkipAppData - Controls whether the MSDeploy operation skips the App_Data directory. + // If set to true, the existing App_Data directory on the destination + // will not be deleted, and any App_Data directory in the source will be ignored. + // Setting is false by default. + SkipAppData *bool `json:"skipAppData,omitempty"` + // AppOffline - Sets the AppOffline rule while the MSDeploy operation executes. + // Setting is false by default. + AppOffline *bool `json:"appOffline,omitempty"` +} + +// MarshalJSON is the custom marshaler for MSDeployCore. +func (mdc MSDeployCore) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if mdc.PackageURI != nil { + objectMap["packageUri"] = mdc.PackageURI + } + if mdc.ConnectionString != nil { + objectMap["connectionString"] = mdc.ConnectionString + } + if mdc.DbType != nil { + objectMap["dbType"] = mdc.DbType + } + if mdc.SetParametersXMLFileURI != nil { + objectMap["setParametersXmlFileUri"] = mdc.SetParametersXMLFileURI + } + if mdc.SetParameters != nil { + objectMap["setParameters"] = mdc.SetParameters + } + if mdc.SkipAppData != nil { + objectMap["skipAppData"] = mdc.SkipAppData + } + if mdc.AppOffline != nil { + objectMap["appOffline"] = mdc.AppOffline + } + return json.Marshal(objectMap) +} + +// MSDeployLog mSDeploy log +type MSDeployLog struct { + autorest.Response `json:"-"` + // MSDeployLogProperties - MSDeployLog resource specific properties + *MSDeployLogProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource Id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource Name. + Name *string `json:"name,omitempty"` + // Kind - Kind of resource. + Kind *string `json:"kind,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for MSDeployLog. +func (mdl MSDeployLog) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if mdl.MSDeployLogProperties != nil { + objectMap["properties"] = mdl.MSDeployLogProperties + } + if mdl.Kind != nil { + objectMap["kind"] = mdl.Kind + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for MSDeployLog struct. +func (mdl *MSDeployLog) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var mSDeployLogProperties MSDeployLogProperties + err = json.Unmarshal(*v, &mSDeployLogProperties) + if err != nil { + return err + } + mdl.MSDeployLogProperties = &mSDeployLogProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + mdl.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + mdl.Name = &name + } + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + mdl.Kind = &kind + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + mdl.Type = &typeVar + } + } + } + + return nil +} + +// MSDeployLogEntry mSDeploy log entry +type MSDeployLogEntry struct { + // Time - READ-ONLY; Timestamp of log entry + Time *date.Time `json:"time,omitempty"` + // Type - READ-ONLY; Log entry type. Possible values include: 'MSDeployLogEntryTypeMessage', 'MSDeployLogEntryTypeWarning', 'MSDeployLogEntryTypeError' + Type MSDeployLogEntryType `json:"type,omitempty"` + // Message - READ-ONLY; Log entry message + Message *string `json:"message,omitempty"` +} + +// MSDeployLogProperties mSDeployLog resource specific properties +type MSDeployLogProperties struct { + // Entries - READ-ONLY; List of log entry messages + Entries *[]MSDeployLogEntry `json:"entries,omitempty"` +} + +// MSDeployStatus mSDeploy ARM response +type MSDeployStatus struct { + autorest.Response `json:"-"` + // MSDeployStatusProperties - MSDeployStatus resource specific properties + *MSDeployStatusProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource Id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource Name. + Name *string `json:"name,omitempty"` + // Kind - Kind of resource. + Kind *string `json:"kind,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for MSDeployStatus. +func (mds MSDeployStatus) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if mds.MSDeployStatusProperties != nil { + objectMap["properties"] = mds.MSDeployStatusProperties + } + if mds.Kind != nil { + objectMap["kind"] = mds.Kind + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for MSDeployStatus struct. +func (mds *MSDeployStatus) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var mSDeployStatusProperties MSDeployStatusProperties + err = json.Unmarshal(*v, &mSDeployStatusProperties) + if err != nil { + return err + } + mds.MSDeployStatusProperties = &mSDeployStatusProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + mds.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + mds.Name = &name + } + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + mds.Kind = &kind + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + mds.Type = &typeVar + } + } + } + + return nil +} + +// MSDeployStatusProperties mSDeployStatus resource specific properties +type MSDeployStatusProperties struct { + // Deployer - READ-ONLY; Username of deployer + Deployer *string `json:"deployer,omitempty"` + // ProvisioningState - READ-ONLY; Provisioning state. Possible values include: 'MSDeployProvisioningStateAccepted', 'MSDeployProvisioningStateRunning', 'MSDeployProvisioningStateSucceeded', 'MSDeployProvisioningStateFailed', 'MSDeployProvisioningStateCanceled' + ProvisioningState MSDeployProvisioningState `json:"provisioningState,omitempty"` + // StartTime - READ-ONLY; Start time of deploy operation + StartTime *date.Time `json:"startTime,omitempty"` + // EndTime - READ-ONLY; End time of deploy operation + EndTime *date.Time `json:"endTime,omitempty"` + // Complete - READ-ONLY; Whether the deployment operation has completed + Complete *bool `json:"complete,omitempty"` +} + +// NameIdentifier identifies an object. +type NameIdentifier struct { + // Name - Name of the object. + Name *string `json:"name,omitempty"` +} + +// NameIdentifierCollection collection of domain name identifiers. +type NameIdentifierCollection struct { + autorest.Response `json:"-"` + // Value - Collection of resources. + Value *[]NameIdentifier `json:"value,omitempty"` + // NextLink - READ-ONLY; Link to next page of resources. + NextLink *string `json:"nextLink,omitempty"` +} + +// NameIdentifierCollectionIterator provides access to a complete listing of NameIdentifier values. +type NameIdentifierCollectionIterator struct { + i int + page NameIdentifierCollectionPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *NameIdentifierCollectionIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/NameIdentifierCollectionIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *NameIdentifierCollectionIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter NameIdentifierCollectionIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter NameIdentifierCollectionIterator) Response() NameIdentifierCollection { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter NameIdentifierCollectionIterator) Value() NameIdentifier { + if !iter.page.NotDone() { + return NameIdentifier{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the NameIdentifierCollectionIterator type. +func NewNameIdentifierCollectionIterator(page NameIdentifierCollectionPage) NameIdentifierCollectionIterator { + return NameIdentifierCollectionIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (nic NameIdentifierCollection) IsEmpty() bool { + return nic.Value == nil || len(*nic.Value) == 0 +} + +// nameIdentifierCollectionPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (nic NameIdentifierCollection) nameIdentifierCollectionPreparer(ctx context.Context) (*http.Request, error) { + if nic.NextLink == nil || len(to.String(nic.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(nic.NextLink))) +} + +// NameIdentifierCollectionPage contains a page of NameIdentifier values. +type NameIdentifierCollectionPage struct { + fn func(context.Context, NameIdentifierCollection) (NameIdentifierCollection, error) + nic NameIdentifierCollection +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *NameIdentifierCollectionPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/NameIdentifierCollectionPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.nic) + if err != nil { + return err + } + page.nic = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *NameIdentifierCollectionPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page NameIdentifierCollectionPage) NotDone() bool { + return !page.nic.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page NameIdentifierCollectionPage) Response() NameIdentifierCollection { + return page.nic +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page NameIdentifierCollectionPage) Values() []NameIdentifier { + if page.nic.IsEmpty() { + return nil + } + return *page.nic.Value +} + +// Creates a new instance of the NameIdentifierCollectionPage type. +func NewNameIdentifierCollectionPage(getNextPage func(context.Context, NameIdentifierCollection) (NameIdentifierCollection, error)) NameIdentifierCollectionPage { + return NameIdentifierCollectionPage{fn: getNextPage} +} + +// NameValuePair name value pair. +type NameValuePair struct { + // Name - Pair name. + Name *string `json:"name,omitempty"` + // Value - Pair value. + Value *string `json:"value,omitempty"` +} + +// NetworkAccessControlEntry network access control entry. +type NetworkAccessControlEntry struct { + // Action - Action object. Possible values include: 'Permit', 'Deny' + Action AccessControlEntryAction `json:"action,omitempty"` + // Description - Description of network access control entry. + Description *string `json:"description,omitempty"` + // Order - Order of precedence. + Order *int32 `json:"order,omitempty"` + // RemoteSubnet - Remote subnet. + RemoteSubnet *string `json:"remoteSubnet,omitempty"` +} + +// NetworkFeatures full view of network features for an app (presently VNET integration and Hybrid +// Connections). +type NetworkFeatures struct { + autorest.Response `json:"-"` + // NetworkFeaturesProperties - NetworkFeatures resource specific properties + *NetworkFeaturesProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource Id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource Name. + Name *string `json:"name,omitempty"` + // Kind - Kind of resource. + Kind *string `json:"kind,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for NetworkFeatures. +func (nf NetworkFeatures) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if nf.NetworkFeaturesProperties != nil { + objectMap["properties"] = nf.NetworkFeaturesProperties + } + if nf.Kind != nil { + objectMap["kind"] = nf.Kind + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for NetworkFeatures struct. +func (nf *NetworkFeatures) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var networkFeaturesProperties NetworkFeaturesProperties + err = json.Unmarshal(*v, &networkFeaturesProperties) + if err != nil { + return err + } + nf.NetworkFeaturesProperties = &networkFeaturesProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + nf.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + nf.Name = &name + } + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + nf.Kind = &kind + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + nf.Type = &typeVar + } + } + } + + return nil +} + +// NetworkFeaturesProperties networkFeatures resource specific properties +type NetworkFeaturesProperties struct { + // VirtualNetworkName - READ-ONLY; The Virtual Network name. + VirtualNetworkName *string `json:"virtualNetworkName,omitempty"` + // VirtualNetworkConnection - READ-ONLY; The Virtual Network summary view. + VirtualNetworkConnection *VnetInfo `json:"virtualNetworkConnection,omitempty"` + // HybridConnections - READ-ONLY; The Hybrid Connections summary view. + HybridConnections *[]RelayServiceConnectionEntity `json:"hybridConnections,omitempty"` + // HybridConnectionsV2 - READ-ONLY; The Hybrid Connection V2 (Service Bus) view. + HybridConnectionsV2 *[]HybridConnection `json:"hybridConnectionsV2,omitempty"` +} + +// NetworkTrace network trace +type NetworkTrace struct { + // Path - Local file path for the captured network trace file. + Path *string `json:"path,omitempty"` + // Status - Current status of the network trace operation, same as Operation.Status (InProgress/Succeeded/Failed). + Status *string `json:"status,omitempty"` + // Message - Detailed message of a network trace operation, e.g. error message in case of failure. + Message *string `json:"message,omitempty"` +} + +// Operation an operation on a resource. +type Operation struct { + autorest.Response `json:"-"` + // ID - Operation ID. + ID *string `json:"id,omitempty"` + // Name - Operation name. + Name *string `json:"name,omitempty"` + // Status - The current status of the operation. Possible values include: 'OperationStatusInProgress', 'OperationStatusFailed', 'OperationStatusSucceeded', 'OperationStatusTimedOut', 'OperationStatusCreated' + Status OperationStatus `json:"status,omitempty"` + // Errors - Any errors associate with the operation. + Errors *[]ErrorEntity `json:"errors,omitempty"` + // CreatedTime - Time when operation has started. + CreatedTime *date.Time `json:"createdTime,omitempty"` + // ModifiedTime - Time when operation has been updated. + ModifiedTime *date.Time `json:"modifiedTime,omitempty"` + // ExpirationTime - Time when operation will expire. + ExpirationTime *date.Time `json:"expirationTime,omitempty"` + // GeoMasterOperationID - Applicable only for stamp operation ids. + GeoMasterOperationID *uuid.UUID `json:"geoMasterOperationId,omitempty"` +} + +// OutboundEnvironmentEndpoint endpoints accessed for a common purpose that the App Service Environment +// requires outbound network access to. +type OutboundEnvironmentEndpoint struct { + // Category - The type of service accessed by the App Service Environment, e.g., Azure Storage, Azure SQL Database, and Azure Active Directory. + Category *string `json:"category,omitempty"` + // Endpoints - The endpoints that the App Service Environment reaches the service at. + Endpoints *[]EndpointDependency `json:"endpoints,omitempty"` +} + +// OutboundEnvironmentEndpointCollection collection of Outbound Environment Endpoints +type OutboundEnvironmentEndpointCollection struct { + autorest.Response `json:"-"` + // Value - Collection of resources. + Value *[]OutboundEnvironmentEndpoint `json:"value,omitempty"` + // NextLink - READ-ONLY; Link to next page of resources. + NextLink *string `json:"nextLink,omitempty"` +} + +// OutboundEnvironmentEndpointCollectionIterator provides access to a complete listing of +// OutboundEnvironmentEndpoint values. +type OutboundEnvironmentEndpointCollectionIterator struct { + i int + page OutboundEnvironmentEndpointCollectionPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *OutboundEnvironmentEndpointCollectionIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/OutboundEnvironmentEndpointCollectionIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *OutboundEnvironmentEndpointCollectionIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter OutboundEnvironmentEndpointCollectionIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter OutboundEnvironmentEndpointCollectionIterator) Response() OutboundEnvironmentEndpointCollection { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter OutboundEnvironmentEndpointCollectionIterator) Value() OutboundEnvironmentEndpoint { + if !iter.page.NotDone() { + return OutboundEnvironmentEndpoint{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the OutboundEnvironmentEndpointCollectionIterator type. +func NewOutboundEnvironmentEndpointCollectionIterator(page OutboundEnvironmentEndpointCollectionPage) OutboundEnvironmentEndpointCollectionIterator { + return OutboundEnvironmentEndpointCollectionIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (oeec OutboundEnvironmentEndpointCollection) IsEmpty() bool { + return oeec.Value == nil || len(*oeec.Value) == 0 +} + +// outboundEnvironmentEndpointCollectionPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (oeec OutboundEnvironmentEndpointCollection) outboundEnvironmentEndpointCollectionPreparer(ctx context.Context) (*http.Request, error) { + if oeec.NextLink == nil || len(to.String(oeec.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(oeec.NextLink))) +} + +// OutboundEnvironmentEndpointCollectionPage contains a page of OutboundEnvironmentEndpoint values. +type OutboundEnvironmentEndpointCollectionPage struct { + fn func(context.Context, OutboundEnvironmentEndpointCollection) (OutboundEnvironmentEndpointCollection, error) + oeec OutboundEnvironmentEndpointCollection +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *OutboundEnvironmentEndpointCollectionPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/OutboundEnvironmentEndpointCollectionPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.oeec) + if err != nil { + return err + } + page.oeec = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *OutboundEnvironmentEndpointCollectionPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page OutboundEnvironmentEndpointCollectionPage) NotDone() bool { + return !page.oeec.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page OutboundEnvironmentEndpointCollectionPage) Response() OutboundEnvironmentEndpointCollection { + return page.oeec +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page OutboundEnvironmentEndpointCollectionPage) Values() []OutboundEnvironmentEndpoint { + if page.oeec.IsEmpty() { + return nil + } + return *page.oeec.Value +} + +// Creates a new instance of the OutboundEnvironmentEndpointCollectionPage type. +func NewOutboundEnvironmentEndpointCollectionPage(getNextPage func(context.Context, OutboundEnvironmentEndpointCollection) (OutboundEnvironmentEndpointCollection, error)) OutboundEnvironmentEndpointCollectionPage { + return OutboundEnvironmentEndpointCollectionPage{fn: getNextPage} +} + +// PerfMonCounterCollection collection of performance monitor counters. +type PerfMonCounterCollection struct { + autorest.Response `json:"-"` + // Value - Collection of resources. + Value *[]PerfMonResponse `json:"value,omitempty"` + // NextLink - READ-ONLY; Link to next page of resources. + NextLink *string `json:"nextLink,omitempty"` +} + +// PerfMonCounterCollectionIterator provides access to a complete listing of PerfMonResponse values. +type PerfMonCounterCollectionIterator struct { + i int + page PerfMonCounterCollectionPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *PerfMonCounterCollectionIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PerfMonCounterCollectionIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *PerfMonCounterCollectionIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter PerfMonCounterCollectionIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter PerfMonCounterCollectionIterator) Response() PerfMonCounterCollection { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter PerfMonCounterCollectionIterator) Value() PerfMonResponse { + if !iter.page.NotDone() { + return PerfMonResponse{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the PerfMonCounterCollectionIterator type. +func NewPerfMonCounterCollectionIterator(page PerfMonCounterCollectionPage) PerfMonCounterCollectionIterator { + return PerfMonCounterCollectionIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (pmcc PerfMonCounterCollection) IsEmpty() bool { + return pmcc.Value == nil || len(*pmcc.Value) == 0 +} + +// perfMonCounterCollectionPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (pmcc PerfMonCounterCollection) perfMonCounterCollectionPreparer(ctx context.Context) (*http.Request, error) { + if pmcc.NextLink == nil || len(to.String(pmcc.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(pmcc.NextLink))) +} + +// PerfMonCounterCollectionPage contains a page of PerfMonResponse values. +type PerfMonCounterCollectionPage struct { + fn func(context.Context, PerfMonCounterCollection) (PerfMonCounterCollection, error) + pmcc PerfMonCounterCollection +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *PerfMonCounterCollectionPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PerfMonCounterCollectionPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.pmcc) + if err != nil { + return err + } + page.pmcc = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *PerfMonCounterCollectionPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page PerfMonCounterCollectionPage) NotDone() bool { + return !page.pmcc.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page PerfMonCounterCollectionPage) Response() PerfMonCounterCollection { + return page.pmcc +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page PerfMonCounterCollectionPage) Values() []PerfMonResponse { + if page.pmcc.IsEmpty() { + return nil + } + return *page.pmcc.Value +} + +// Creates a new instance of the PerfMonCounterCollectionPage type. +func NewPerfMonCounterCollectionPage(getNextPage func(context.Context, PerfMonCounterCollection) (PerfMonCounterCollection, error)) PerfMonCounterCollectionPage { + return PerfMonCounterCollectionPage{fn: getNextPage} +} + +// PerfMonResponse performance monitor API response. +type PerfMonResponse struct { + // Code - The response code. + Code *string `json:"code,omitempty"` + // Message - The message. + Message *string `json:"message,omitempty"` + // Data - The performance monitor counters. + Data *PerfMonSet `json:"data,omitempty"` +} + +// PerfMonSample performance monitor sample in a set. +type PerfMonSample struct { + // Time - Point in time for which counter was measured. + Time *date.Time `json:"time,omitempty"` + // InstanceName - Name of the server on which the measurement is made. + InstanceName *string `json:"instanceName,omitempty"` + // Value - Value of counter at a certain time. + Value *float64 `json:"value,omitempty"` +} + +// PerfMonSet metric information. +type PerfMonSet struct { + // Name - Unique key name of the counter. + Name *string `json:"name,omitempty"` + // StartTime - Start time of the period. + StartTime *date.Time `json:"startTime,omitempty"` + // EndTime - End time of the period. + EndTime *date.Time `json:"endTime,omitempty"` + // TimeGrain - Presented time grain. + TimeGrain *string `json:"timeGrain,omitempty"` + // Values - Collection of workers that are active during this time. + Values *[]PerfMonSample `json:"values,omitempty"` +} + +// PremierAddOn premier add-on. +type PremierAddOn struct { + autorest.Response `json:"-"` + // PremierAddOnProperties - PremierAddOn resource specific properties + *PremierAddOnProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource Id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource Name. + Name *string `json:"name,omitempty"` + // Kind - Kind of resource. + Kind *string `json:"kind,omitempty"` + // Location - Resource Location. + Location *string `json:"location,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for PremierAddOn. +func (pao PremierAddOn) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if pao.PremierAddOnProperties != nil { + objectMap["properties"] = pao.PremierAddOnProperties + } + if pao.Kind != nil { + objectMap["kind"] = pao.Kind + } + if pao.Location != nil { + objectMap["location"] = pao.Location + } + if pao.Tags != nil { + objectMap["tags"] = pao.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for PremierAddOn struct. +func (pao *PremierAddOn) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var premierAddOnProperties PremierAddOnProperties + err = json.Unmarshal(*v, &premierAddOnProperties) + if err != nil { + return err + } + pao.PremierAddOnProperties = &premierAddOnProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + pao.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + pao.Name = &name + } + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + pao.Kind = &kind + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + pao.Location = &location + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + pao.Type = &typeVar + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + pao.Tags = tags + } + } + } + + return nil +} + +// PremierAddOnOffer premier add-on offer. +type PremierAddOnOffer struct { + // PremierAddOnOfferProperties - PremierAddOnOffer resource specific properties + *PremierAddOnOfferProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource Id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource Name. + Name *string `json:"name,omitempty"` + // Kind - Kind of resource. + Kind *string `json:"kind,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for PremierAddOnOffer. +func (paoo PremierAddOnOffer) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if paoo.PremierAddOnOfferProperties != nil { + objectMap["properties"] = paoo.PremierAddOnOfferProperties + } + if paoo.Kind != nil { + objectMap["kind"] = paoo.Kind + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for PremierAddOnOffer struct. +func (paoo *PremierAddOnOffer) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var premierAddOnOfferProperties PremierAddOnOfferProperties + err = json.Unmarshal(*v, &premierAddOnOfferProperties) + if err != nil { + return err + } + paoo.PremierAddOnOfferProperties = &premierAddOnOfferProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + paoo.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + paoo.Name = &name + } + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + paoo.Kind = &kind + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + paoo.Type = &typeVar + } + } + } + + return nil +} + +// PremierAddOnOfferCollection collection of premier add-on offers. +type PremierAddOnOfferCollection struct { + autorest.Response `json:"-"` + // Value - Collection of resources. + Value *[]PremierAddOnOffer `json:"value,omitempty"` + // NextLink - READ-ONLY; Link to next page of resources. + NextLink *string `json:"nextLink,omitempty"` +} + +// PremierAddOnOfferCollectionIterator provides access to a complete listing of PremierAddOnOffer values. +type PremierAddOnOfferCollectionIterator struct { + i int + page PremierAddOnOfferCollectionPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *PremierAddOnOfferCollectionIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PremierAddOnOfferCollectionIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *PremierAddOnOfferCollectionIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter PremierAddOnOfferCollectionIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter PremierAddOnOfferCollectionIterator) Response() PremierAddOnOfferCollection { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter PremierAddOnOfferCollectionIterator) Value() PremierAddOnOffer { + if !iter.page.NotDone() { + return PremierAddOnOffer{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the PremierAddOnOfferCollectionIterator type. +func NewPremierAddOnOfferCollectionIterator(page PremierAddOnOfferCollectionPage) PremierAddOnOfferCollectionIterator { + return PremierAddOnOfferCollectionIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (paooc PremierAddOnOfferCollection) IsEmpty() bool { + return paooc.Value == nil || len(*paooc.Value) == 0 +} + +// premierAddOnOfferCollectionPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (paooc PremierAddOnOfferCollection) premierAddOnOfferCollectionPreparer(ctx context.Context) (*http.Request, error) { + if paooc.NextLink == nil || len(to.String(paooc.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(paooc.NextLink))) +} + +// PremierAddOnOfferCollectionPage contains a page of PremierAddOnOffer values. +type PremierAddOnOfferCollectionPage struct { + fn func(context.Context, PremierAddOnOfferCollection) (PremierAddOnOfferCollection, error) + paooc PremierAddOnOfferCollection +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *PremierAddOnOfferCollectionPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PremierAddOnOfferCollectionPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.paooc) + if err != nil { + return err + } + page.paooc = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *PremierAddOnOfferCollectionPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page PremierAddOnOfferCollectionPage) NotDone() bool { + return !page.paooc.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page PremierAddOnOfferCollectionPage) Response() PremierAddOnOfferCollection { + return page.paooc +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page PremierAddOnOfferCollectionPage) Values() []PremierAddOnOffer { + if page.paooc.IsEmpty() { + return nil + } + return *page.paooc.Value +} + +// Creates a new instance of the PremierAddOnOfferCollectionPage type. +func NewPremierAddOnOfferCollectionPage(getNextPage func(context.Context, PremierAddOnOfferCollection) (PremierAddOnOfferCollection, error)) PremierAddOnOfferCollectionPage { + return PremierAddOnOfferCollectionPage{fn: getNextPage} +} + +// PremierAddOnOfferProperties premierAddOnOffer resource specific properties +type PremierAddOnOfferProperties struct { + // Sku - Premier add on SKU. + Sku *string `json:"sku,omitempty"` + // Product - Premier add on offer Product. + Product *string `json:"product,omitempty"` + // Vendor - Premier add on offer Vendor. + Vendor *string `json:"vendor,omitempty"` + // PromoCodeRequired - true if promotion code is required; otherwise, false. + PromoCodeRequired *bool `json:"promoCodeRequired,omitempty"` + // Quota - Premier add on offer Quota. + Quota *int32 `json:"quota,omitempty"` + // WebHostingPlanRestrictions - App Service plans this offer is restricted to. Possible values include: 'None', 'Free', 'Shared', 'Basic', 'Standard', 'Premium' + WebHostingPlanRestrictions AppServicePlanRestrictions `json:"webHostingPlanRestrictions,omitempty"` + // PrivacyPolicyURL - Privacy policy URL. + PrivacyPolicyURL *string `json:"privacyPolicyUrl,omitempty"` + // LegalTermsURL - Legal terms URL. + LegalTermsURL *string `json:"legalTermsUrl,omitempty"` + // MarketplacePublisher - Marketplace publisher. + MarketplacePublisher *string `json:"marketplacePublisher,omitempty"` + // MarketplaceOffer - Marketplace offer. + MarketplaceOffer *string `json:"marketplaceOffer,omitempty"` +} + +// PremierAddOnPatchResource ARM resource for a PremierAddOn. +type PremierAddOnPatchResource struct { + // PremierAddOnPatchResourceProperties - PremierAddOnPatchResource resource specific properties + *PremierAddOnPatchResourceProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource Id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource Name. + Name *string `json:"name,omitempty"` + // Kind - Kind of resource. + Kind *string `json:"kind,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for PremierAddOnPatchResource. +func (paopr PremierAddOnPatchResource) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if paopr.PremierAddOnPatchResourceProperties != nil { + objectMap["properties"] = paopr.PremierAddOnPatchResourceProperties + } + if paopr.Kind != nil { + objectMap["kind"] = paopr.Kind + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for PremierAddOnPatchResource struct. +func (paopr *PremierAddOnPatchResource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var premierAddOnPatchResourceProperties PremierAddOnPatchResourceProperties + err = json.Unmarshal(*v, &premierAddOnPatchResourceProperties) + if err != nil { + return err + } + paopr.PremierAddOnPatchResourceProperties = &premierAddOnPatchResourceProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + paopr.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + paopr.Name = &name + } + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + paopr.Kind = &kind + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + paopr.Type = &typeVar + } + } + } + + return nil +} + +// PremierAddOnPatchResourceProperties premierAddOnPatchResource resource specific properties +type PremierAddOnPatchResourceProperties struct { + // Sku - Premier add on SKU. + Sku *string `json:"sku,omitempty"` + // Product - Premier add on Product. + Product *string `json:"product,omitempty"` + // Vendor - Premier add on Vendor. + Vendor *string `json:"vendor,omitempty"` + // MarketplacePublisher - Premier add on Marketplace publisher. + MarketplacePublisher *string `json:"marketplacePublisher,omitempty"` + // MarketplaceOffer - Premier add on Marketplace offer. + MarketplaceOffer *string `json:"marketplaceOffer,omitempty"` +} + +// PremierAddOnProperties premierAddOn resource specific properties +type PremierAddOnProperties struct { + // Sku - Premier add on SKU. + Sku *string `json:"sku,omitempty"` + // Product - Premier add on Product. + Product *string `json:"product,omitempty"` + // Vendor - Premier add on Vendor. + Vendor *string `json:"vendor,omitempty"` + // MarketplacePublisher - Premier add on Marketplace publisher. + MarketplacePublisher *string `json:"marketplacePublisher,omitempty"` + // MarketplaceOffer - Premier add on Marketplace offer. + MarketplaceOffer *string `json:"marketplaceOffer,omitempty"` +} + +// PrivateAccess description of the parameters of Private Access for a Web Site. +type PrivateAccess struct { + autorest.Response `json:"-"` + // PrivateAccessProperties - PrivateAccess resource specific properties + *PrivateAccessProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource Id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource Name. + Name *string `json:"name,omitempty"` + // Kind - Kind of resource. + Kind *string `json:"kind,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for PrivateAccess. +func (pa PrivateAccess) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if pa.PrivateAccessProperties != nil { + objectMap["properties"] = pa.PrivateAccessProperties + } + if pa.Kind != nil { + objectMap["kind"] = pa.Kind + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for PrivateAccess struct. +func (pa *PrivateAccess) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var privateAccessProperties PrivateAccessProperties + err = json.Unmarshal(*v, &privateAccessProperties) + if err != nil { + return err + } + pa.PrivateAccessProperties = &privateAccessProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + pa.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + pa.Name = &name + } + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + pa.Kind = &kind + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + pa.Type = &typeVar + } + } + } + + return nil +} + +// PrivateAccessProperties privateAccess resource specific properties +type PrivateAccessProperties struct { + // Enabled - Whether private access is enabled or not. + Enabled *bool `json:"enabled,omitempty"` + // VirtualNetworks - The Virtual Networks (and subnets) allowed to access the site privately. + VirtualNetworks *[]PrivateAccessVirtualNetwork `json:"virtualNetworks,omitempty"` +} + +// PrivateAccessSubnet description of a Virtual Network subnet that is useable for private site access. +type PrivateAccessSubnet struct { + // Name - The name of the subnet. + Name *string `json:"name,omitempty"` + // Key - The key (ID) of the subnet. + Key *int32 `json:"key,omitempty"` +} + +// PrivateAccessVirtualNetwork description of a Virtual Network that is useable for private site access. +type PrivateAccessVirtualNetwork struct { + // Name - The name of the Virtual Network. + Name *string `json:"name,omitempty"` + // Key - The key (ID) of the Virtual Network. + Key *int32 `json:"key,omitempty"` + // ResourceID - The ARM uri of the Virtual Network + ResourceID *string `json:"resourceId,omitempty"` + // Subnets - A List of subnets that access is allowed to on this Virtual Network. An empty array (but not null) is interpreted to mean that all subnets are allowed within this Virtual Network. + Subnets *[]PrivateAccessSubnet `json:"subnets,omitempty"` +} + +// ProcessInfo process Information. +type ProcessInfo struct { + autorest.Response `json:"-"` + // ProcessInfoProperties - ProcessInfo resource specific properties + *ProcessInfoProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource Id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource Name. + Name *string `json:"name,omitempty"` + // Kind - Kind of resource. + Kind *string `json:"kind,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for ProcessInfo. +func (pi ProcessInfo) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if pi.ProcessInfoProperties != nil { + objectMap["properties"] = pi.ProcessInfoProperties + } + if pi.Kind != nil { + objectMap["kind"] = pi.Kind + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ProcessInfo struct. +func (pi *ProcessInfo) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var processInfoProperties ProcessInfoProperties + err = json.Unmarshal(*v, &processInfoProperties) + if err != nil { + return err + } + pi.ProcessInfoProperties = &processInfoProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + pi.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + pi.Name = &name + } + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + pi.Kind = &kind + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + pi.Type = &typeVar + } + } + } + + return nil +} + +// ProcessInfoCollection collection of Kudu process information elements. +type ProcessInfoCollection struct { + autorest.Response `json:"-"` + // Value - Collection of resources. + Value *[]ProcessInfo `json:"value,omitempty"` + // NextLink - READ-ONLY; Link to next page of resources. + NextLink *string `json:"nextLink,omitempty"` +} + +// ProcessInfoCollectionIterator provides access to a complete listing of ProcessInfo values. +type ProcessInfoCollectionIterator struct { + i int + page ProcessInfoCollectionPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *ProcessInfoCollectionIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ProcessInfoCollectionIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *ProcessInfoCollectionIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter ProcessInfoCollectionIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter ProcessInfoCollectionIterator) Response() ProcessInfoCollection { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter ProcessInfoCollectionIterator) Value() ProcessInfo { + if !iter.page.NotDone() { + return ProcessInfo{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the ProcessInfoCollectionIterator type. +func NewProcessInfoCollectionIterator(page ProcessInfoCollectionPage) ProcessInfoCollectionIterator { + return ProcessInfoCollectionIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (pic ProcessInfoCollection) IsEmpty() bool { + return pic.Value == nil || len(*pic.Value) == 0 +} + +// processInfoCollectionPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (pic ProcessInfoCollection) processInfoCollectionPreparer(ctx context.Context) (*http.Request, error) { + if pic.NextLink == nil || len(to.String(pic.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(pic.NextLink))) +} + +// ProcessInfoCollectionPage contains a page of ProcessInfo values. +type ProcessInfoCollectionPage struct { + fn func(context.Context, ProcessInfoCollection) (ProcessInfoCollection, error) + pic ProcessInfoCollection +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *ProcessInfoCollectionPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ProcessInfoCollectionPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.pic) + if err != nil { + return err + } + page.pic = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *ProcessInfoCollectionPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page ProcessInfoCollectionPage) NotDone() bool { + return !page.pic.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page ProcessInfoCollectionPage) Response() ProcessInfoCollection { + return page.pic +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page ProcessInfoCollectionPage) Values() []ProcessInfo { + if page.pic.IsEmpty() { + return nil + } + return *page.pic.Value +} + +// Creates a new instance of the ProcessInfoCollectionPage type. +func NewProcessInfoCollectionPage(getNextPage func(context.Context, ProcessInfoCollection) (ProcessInfoCollection, error)) ProcessInfoCollectionPage { + return ProcessInfoCollectionPage{fn: getNextPage} +} + +// ProcessInfoProperties processInfo resource specific properties +type ProcessInfoProperties struct { + // Identifier - READ-ONLY; ARM Identifier for deployment. + Identifier *int32 `json:"identifier,omitempty"` + // DeploymentName - Deployment name. + DeploymentName *string `json:"deployment_name,omitempty"` + // Href - HRef URI. + Href *string `json:"href,omitempty"` + // Minidump - Minidump URI. + Minidump *string `json:"minidump,omitempty"` + // IsProfileRunning - Is profile running? + IsProfileRunning *bool `json:"is_profile_running,omitempty"` + // IsIisProfileRunning - Is the IIS Profile running? + IsIisProfileRunning *bool `json:"is_iis_profile_running,omitempty"` + // IisProfileTimeoutInSeconds - IIS Profile timeout (seconds). + IisProfileTimeoutInSeconds *float64 `json:"iis_profile_timeout_in_seconds,omitempty"` + // Parent - Parent process. + Parent *string `json:"parent,omitempty"` + // Children - Child process list. + Children *[]string `json:"children,omitempty"` + // Threads - Thread list. + Threads *[]ProcessThreadInfo `json:"threads,omitempty"` + // OpenFileHandles - List of open files. + OpenFileHandles *[]string `json:"open_file_handles,omitempty"` + // Modules - List of modules. + Modules *[]ProcessModuleInfo `json:"modules,omitempty"` + // FileName - File name of this process. + FileName *string `json:"file_name,omitempty"` + // CommandLine - Command line. + CommandLine *string `json:"command_line,omitempty"` + // UserName - User name. + UserName *string `json:"user_name,omitempty"` + // HandleCount - Handle count. + HandleCount *int32 `json:"handle_count,omitempty"` + // ModuleCount - Module count. + ModuleCount *int32 `json:"module_count,omitempty"` + // ThreadCount - Thread count. + ThreadCount *int32 `json:"thread_count,omitempty"` + // StartTime - Start time. + StartTime *date.Time `json:"start_time,omitempty"` + // TotalCPUTime - Total CPU time. + TotalCPUTime *string `json:"total_cpu_time,omitempty"` + // UserCPUTime - User CPU time. + UserCPUTime *string `json:"user_cpu_time,omitempty"` + // PrivilegedCPUTime - Privileged CPU time. + PrivilegedCPUTime *string `json:"privileged_cpu_time,omitempty"` + // WorkingSet - Working set. + WorkingSet *int64 `json:"working_set,omitempty"` + // PeakWorkingSet - Peak working set. + PeakWorkingSet *int64 `json:"peak_working_set,omitempty"` + // PrivateMemory - Private memory size. + PrivateMemory *int64 `json:"private_memory,omitempty"` + // VirtualMemory - Virtual memory size. + VirtualMemory *int64 `json:"virtual_memory,omitempty"` + // PeakVirtualMemory - Peak virtual memory usage. + PeakVirtualMemory *int64 `json:"peak_virtual_memory,omitempty"` + // PagedSystemMemory - Paged system memory. + PagedSystemMemory *int64 `json:"paged_system_memory,omitempty"` + // NonPagedSystemMemory - Non-paged system memory. + NonPagedSystemMemory *int64 `json:"non_paged_system_memory,omitempty"` + // PagedMemory - Paged memory. + PagedMemory *int64 `json:"paged_memory,omitempty"` + // PeakPagedMemory - Peak paged memory. + PeakPagedMemory *int64 `json:"peak_paged_memory,omitempty"` + // TimeStamp - Time stamp. + TimeStamp *date.Time `json:"time_stamp,omitempty"` + // EnvironmentVariables - List of environment variables. + EnvironmentVariables map[string]*string `json:"environment_variables"` + // IsScmSite - Is this the SCM site? + IsScmSite *bool `json:"is_scm_site,omitempty"` + // IsWebjob - Is this a Web Job? + IsWebjob *bool `json:"is_webjob,omitempty"` + // Description - Description of process. + Description *string `json:"description,omitempty"` +} + +// MarshalJSON is the custom marshaler for ProcessInfoProperties. +func (pi ProcessInfoProperties) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if pi.DeploymentName != nil { + objectMap["deployment_name"] = pi.DeploymentName + } + if pi.Href != nil { + objectMap["href"] = pi.Href + } + if pi.Minidump != nil { + objectMap["minidump"] = pi.Minidump + } + if pi.IsProfileRunning != nil { + objectMap["is_profile_running"] = pi.IsProfileRunning + } + if pi.IsIisProfileRunning != nil { + objectMap["is_iis_profile_running"] = pi.IsIisProfileRunning + } + if pi.IisProfileTimeoutInSeconds != nil { + objectMap["iis_profile_timeout_in_seconds"] = pi.IisProfileTimeoutInSeconds + } + if pi.Parent != nil { + objectMap["parent"] = pi.Parent + } + if pi.Children != nil { + objectMap["children"] = pi.Children + } + if pi.Threads != nil { + objectMap["threads"] = pi.Threads + } + if pi.OpenFileHandles != nil { + objectMap["open_file_handles"] = pi.OpenFileHandles + } + if pi.Modules != nil { + objectMap["modules"] = pi.Modules + } + if pi.FileName != nil { + objectMap["file_name"] = pi.FileName + } + if pi.CommandLine != nil { + objectMap["command_line"] = pi.CommandLine + } + if pi.UserName != nil { + objectMap["user_name"] = pi.UserName + } + if pi.HandleCount != nil { + objectMap["handle_count"] = pi.HandleCount + } + if pi.ModuleCount != nil { + objectMap["module_count"] = pi.ModuleCount + } + if pi.ThreadCount != nil { + objectMap["thread_count"] = pi.ThreadCount + } + if pi.StartTime != nil { + objectMap["start_time"] = pi.StartTime + } + if pi.TotalCPUTime != nil { + objectMap["total_cpu_time"] = pi.TotalCPUTime + } + if pi.UserCPUTime != nil { + objectMap["user_cpu_time"] = pi.UserCPUTime + } + if pi.PrivilegedCPUTime != nil { + objectMap["privileged_cpu_time"] = pi.PrivilegedCPUTime + } + if pi.WorkingSet != nil { + objectMap["working_set"] = pi.WorkingSet + } + if pi.PeakWorkingSet != nil { + objectMap["peak_working_set"] = pi.PeakWorkingSet + } + if pi.PrivateMemory != nil { + objectMap["private_memory"] = pi.PrivateMemory + } + if pi.VirtualMemory != nil { + objectMap["virtual_memory"] = pi.VirtualMemory + } + if pi.PeakVirtualMemory != nil { + objectMap["peak_virtual_memory"] = pi.PeakVirtualMemory + } + if pi.PagedSystemMemory != nil { + objectMap["paged_system_memory"] = pi.PagedSystemMemory + } + if pi.NonPagedSystemMemory != nil { + objectMap["non_paged_system_memory"] = pi.NonPagedSystemMemory + } + if pi.PagedMemory != nil { + objectMap["paged_memory"] = pi.PagedMemory + } + if pi.PeakPagedMemory != nil { + objectMap["peak_paged_memory"] = pi.PeakPagedMemory + } + if pi.TimeStamp != nil { + objectMap["time_stamp"] = pi.TimeStamp + } + if pi.EnvironmentVariables != nil { + objectMap["environment_variables"] = pi.EnvironmentVariables + } + if pi.IsScmSite != nil { + objectMap["is_scm_site"] = pi.IsScmSite + } + if pi.IsWebjob != nil { + objectMap["is_webjob"] = pi.IsWebjob + } + if pi.Description != nil { + objectMap["description"] = pi.Description + } + return json.Marshal(objectMap) +} + +// ProcessModuleInfo process Module Information. +type ProcessModuleInfo struct { + autorest.Response `json:"-"` + // ProcessModuleInfoProperties - ProcessModuleInfo resource specific properties + *ProcessModuleInfoProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource Id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource Name. + Name *string `json:"name,omitempty"` + // Kind - Kind of resource. + Kind *string `json:"kind,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for ProcessModuleInfo. +func (pmi ProcessModuleInfo) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if pmi.ProcessModuleInfoProperties != nil { + objectMap["properties"] = pmi.ProcessModuleInfoProperties + } + if pmi.Kind != nil { + objectMap["kind"] = pmi.Kind + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ProcessModuleInfo struct. +func (pmi *ProcessModuleInfo) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var processModuleInfoProperties ProcessModuleInfoProperties + err = json.Unmarshal(*v, &processModuleInfoProperties) + if err != nil { + return err + } + pmi.ProcessModuleInfoProperties = &processModuleInfoProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + pmi.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + pmi.Name = &name + } + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + pmi.Kind = &kind + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + pmi.Type = &typeVar + } + } + } + + return nil +} + +// ProcessModuleInfoCollection collection of Kudu thread information elements. +type ProcessModuleInfoCollection struct { + autorest.Response `json:"-"` + // Value - Collection of resources. + Value *[]ProcessModuleInfo `json:"value,omitempty"` + // NextLink - READ-ONLY; Link to next page of resources. + NextLink *string `json:"nextLink,omitempty"` +} + +// ProcessModuleInfoCollectionIterator provides access to a complete listing of ProcessModuleInfo values. +type ProcessModuleInfoCollectionIterator struct { + i int + page ProcessModuleInfoCollectionPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *ProcessModuleInfoCollectionIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ProcessModuleInfoCollectionIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *ProcessModuleInfoCollectionIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter ProcessModuleInfoCollectionIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter ProcessModuleInfoCollectionIterator) Response() ProcessModuleInfoCollection { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter ProcessModuleInfoCollectionIterator) Value() ProcessModuleInfo { + if !iter.page.NotDone() { + return ProcessModuleInfo{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the ProcessModuleInfoCollectionIterator type. +func NewProcessModuleInfoCollectionIterator(page ProcessModuleInfoCollectionPage) ProcessModuleInfoCollectionIterator { + return ProcessModuleInfoCollectionIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (pmic ProcessModuleInfoCollection) IsEmpty() bool { + return pmic.Value == nil || len(*pmic.Value) == 0 +} + +// processModuleInfoCollectionPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (pmic ProcessModuleInfoCollection) processModuleInfoCollectionPreparer(ctx context.Context) (*http.Request, error) { + if pmic.NextLink == nil || len(to.String(pmic.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(pmic.NextLink))) +} + +// ProcessModuleInfoCollectionPage contains a page of ProcessModuleInfo values. +type ProcessModuleInfoCollectionPage struct { + fn func(context.Context, ProcessModuleInfoCollection) (ProcessModuleInfoCollection, error) + pmic ProcessModuleInfoCollection +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *ProcessModuleInfoCollectionPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ProcessModuleInfoCollectionPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.pmic) + if err != nil { + return err + } + page.pmic = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *ProcessModuleInfoCollectionPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page ProcessModuleInfoCollectionPage) NotDone() bool { + return !page.pmic.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page ProcessModuleInfoCollectionPage) Response() ProcessModuleInfoCollection { + return page.pmic +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page ProcessModuleInfoCollectionPage) Values() []ProcessModuleInfo { + if page.pmic.IsEmpty() { + return nil + } + return *page.pmic.Value +} + +// Creates a new instance of the ProcessModuleInfoCollectionPage type. +func NewProcessModuleInfoCollectionPage(getNextPage func(context.Context, ProcessModuleInfoCollection) (ProcessModuleInfoCollection, error)) ProcessModuleInfoCollectionPage { + return ProcessModuleInfoCollectionPage{fn: getNextPage} +} + +// ProcessModuleInfoProperties processModuleInfo resource specific properties +type ProcessModuleInfoProperties struct { + // BaseAddress - Base address. Used as module identifier in ARM resource URI. + BaseAddress *string `json:"base_address,omitempty"` + // FileName - File name. + FileName *string `json:"file_name,omitempty"` + // Href - HRef URI. + Href *string `json:"href,omitempty"` + // FilePath - File path. + FilePath *string `json:"file_path,omitempty"` + // ModuleMemorySize - Module memory size. + ModuleMemorySize *int32 `json:"module_memory_size,omitempty"` + // FileVersion - File version. + FileVersion *string `json:"file_version,omitempty"` + // FileDescription - File description. + FileDescription *string `json:"file_description,omitempty"` + // Product - Product name. + Product *string `json:"product,omitempty"` + // ProductVersion - Product version. + ProductVersion *string `json:"product_version,omitempty"` + // IsDebug - Is debug? + IsDebug *bool `json:"is_debug,omitempty"` + // Language - Module language (locale). + Language *string `json:"language,omitempty"` +} + +// ProcessThreadInfo process Thread Information. +type ProcessThreadInfo struct { + autorest.Response `json:"-"` + // ProcessThreadInfoProperties - ProcessThreadInfo resource specific properties + *ProcessThreadInfoProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource Id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource Name. + Name *string `json:"name,omitempty"` + // Kind - Kind of resource. + Kind *string `json:"kind,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for ProcessThreadInfo. +func (pti ProcessThreadInfo) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if pti.ProcessThreadInfoProperties != nil { + objectMap["properties"] = pti.ProcessThreadInfoProperties + } + if pti.Kind != nil { + objectMap["kind"] = pti.Kind + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ProcessThreadInfo struct. +func (pti *ProcessThreadInfo) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var processThreadInfoProperties ProcessThreadInfoProperties + err = json.Unmarshal(*v, &processThreadInfoProperties) + if err != nil { + return err + } + pti.ProcessThreadInfoProperties = &processThreadInfoProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + pti.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + pti.Name = &name + } + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + pti.Kind = &kind + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + pti.Type = &typeVar + } + } + } + + return nil +} + +// ProcessThreadInfoCollection collection of Kudu thread information elements. +type ProcessThreadInfoCollection struct { + autorest.Response `json:"-"` + // Value - Collection of resources. + Value *[]ProcessThreadInfo `json:"value,omitempty"` + // NextLink - READ-ONLY; Link to next page of resources. + NextLink *string `json:"nextLink,omitempty"` +} + +// ProcessThreadInfoCollectionIterator provides access to a complete listing of ProcessThreadInfo values. +type ProcessThreadInfoCollectionIterator struct { + i int + page ProcessThreadInfoCollectionPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *ProcessThreadInfoCollectionIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ProcessThreadInfoCollectionIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *ProcessThreadInfoCollectionIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter ProcessThreadInfoCollectionIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter ProcessThreadInfoCollectionIterator) Response() ProcessThreadInfoCollection { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter ProcessThreadInfoCollectionIterator) Value() ProcessThreadInfo { + if !iter.page.NotDone() { + return ProcessThreadInfo{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the ProcessThreadInfoCollectionIterator type. +func NewProcessThreadInfoCollectionIterator(page ProcessThreadInfoCollectionPage) ProcessThreadInfoCollectionIterator { + return ProcessThreadInfoCollectionIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (ptic ProcessThreadInfoCollection) IsEmpty() bool { + return ptic.Value == nil || len(*ptic.Value) == 0 +} + +// processThreadInfoCollectionPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (ptic ProcessThreadInfoCollection) processThreadInfoCollectionPreparer(ctx context.Context) (*http.Request, error) { + if ptic.NextLink == nil || len(to.String(ptic.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(ptic.NextLink))) +} + +// ProcessThreadInfoCollectionPage contains a page of ProcessThreadInfo values. +type ProcessThreadInfoCollectionPage struct { + fn func(context.Context, ProcessThreadInfoCollection) (ProcessThreadInfoCollection, error) + ptic ProcessThreadInfoCollection +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *ProcessThreadInfoCollectionPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ProcessThreadInfoCollectionPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.ptic) + if err != nil { + return err + } + page.ptic = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *ProcessThreadInfoCollectionPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page ProcessThreadInfoCollectionPage) NotDone() bool { + return !page.ptic.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page ProcessThreadInfoCollectionPage) Response() ProcessThreadInfoCollection { + return page.ptic +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page ProcessThreadInfoCollectionPage) Values() []ProcessThreadInfo { + if page.ptic.IsEmpty() { + return nil + } + return *page.ptic.Value +} + +// Creates a new instance of the ProcessThreadInfoCollectionPage type. +func NewProcessThreadInfoCollectionPage(getNextPage func(context.Context, ProcessThreadInfoCollection) (ProcessThreadInfoCollection, error)) ProcessThreadInfoCollectionPage { + return ProcessThreadInfoCollectionPage{fn: getNextPage} +} + +// ProcessThreadInfoProperties processThreadInfo resource specific properties +type ProcessThreadInfoProperties struct { + // Identifier - READ-ONLY; Site extension ID. + Identifier *int32 `json:"identifier,omitempty"` + // Href - HRef URI. + Href *string `json:"href,omitempty"` + // Process - Process URI. + Process *string `json:"process,omitempty"` + // StartAddress - Start address. + StartAddress *string `json:"start_address,omitempty"` + // CurrentPriority - Current thread priority. + CurrentPriority *int32 `json:"current_priority,omitempty"` + // PriorityLevel - Thread priority level. + PriorityLevel *string `json:"priority_level,omitempty"` + // BasePriority - Base priority. + BasePriority *int32 `json:"base_priority,omitempty"` + // StartTime - Start time. + StartTime *date.Time `json:"start_time,omitempty"` + // TotalProcessorTime - Total processor time. + TotalProcessorTime *string `json:"total_processor_time,omitempty"` + // UserProcessorTime - User processor time. + UserProcessorTime *string `json:"user_processor_time,omitempty"` + // PriviledgedProcessorTime - Privileged processor time. + PriviledgedProcessorTime *string `json:"priviledged_processor_time,omitempty"` + // State - Thread state. + State *string `json:"state,omitempty"` + // WaitReason - Wait reason. + WaitReason *string `json:"wait_reason,omitempty"` +} + +// ProxyOnlyResource azure proxy only resource. This resource is not tracked by Azure Resource Manager. +type ProxyOnlyResource struct { + // ID - READ-ONLY; Resource Id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource Name. + Name *string `json:"name,omitempty"` + // Kind - Kind of resource. + Kind *string `json:"kind,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// PublicCertificate public certificate object +type PublicCertificate struct { + autorest.Response `json:"-"` + // PublicCertificateProperties - PublicCertificate resource specific properties + *PublicCertificateProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource Id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource Name. + Name *string `json:"name,omitempty"` + // Kind - Kind of resource. + Kind *string `json:"kind,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for PublicCertificate. +func (pc PublicCertificate) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if pc.PublicCertificateProperties != nil { + objectMap["properties"] = pc.PublicCertificateProperties + } + if pc.Kind != nil { + objectMap["kind"] = pc.Kind + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for PublicCertificate struct. +func (pc *PublicCertificate) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var publicCertificateProperties PublicCertificateProperties + err = json.Unmarshal(*v, &publicCertificateProperties) + if err != nil { + return err + } + pc.PublicCertificateProperties = &publicCertificateProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + pc.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + pc.Name = &name + } + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + pc.Kind = &kind + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + pc.Type = &typeVar + } + } + } + + return nil +} + +// PublicCertificateCollection collection of public certificates +type PublicCertificateCollection struct { + autorest.Response `json:"-"` + // Value - Collection of resources. + Value *[]PublicCertificate `json:"value,omitempty"` + // NextLink - READ-ONLY; Link to next page of resources. + NextLink *string `json:"nextLink,omitempty"` +} + +// PublicCertificateCollectionIterator provides access to a complete listing of PublicCertificate values. +type PublicCertificateCollectionIterator struct { + i int + page PublicCertificateCollectionPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *PublicCertificateCollectionIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PublicCertificateCollectionIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *PublicCertificateCollectionIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter PublicCertificateCollectionIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter PublicCertificateCollectionIterator) Response() PublicCertificateCollection { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter PublicCertificateCollectionIterator) Value() PublicCertificate { + if !iter.page.NotDone() { + return PublicCertificate{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the PublicCertificateCollectionIterator type. +func NewPublicCertificateCollectionIterator(page PublicCertificateCollectionPage) PublicCertificateCollectionIterator { + return PublicCertificateCollectionIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (pcc PublicCertificateCollection) IsEmpty() bool { + return pcc.Value == nil || len(*pcc.Value) == 0 +} + +// publicCertificateCollectionPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (pcc PublicCertificateCollection) publicCertificateCollectionPreparer(ctx context.Context) (*http.Request, error) { + if pcc.NextLink == nil || len(to.String(pcc.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(pcc.NextLink))) +} + +// PublicCertificateCollectionPage contains a page of PublicCertificate values. +type PublicCertificateCollectionPage struct { + fn func(context.Context, PublicCertificateCollection) (PublicCertificateCollection, error) + pcc PublicCertificateCollection +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *PublicCertificateCollectionPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/PublicCertificateCollectionPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.pcc) + if err != nil { + return err + } + page.pcc = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *PublicCertificateCollectionPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page PublicCertificateCollectionPage) NotDone() bool { + return !page.pcc.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page PublicCertificateCollectionPage) Response() PublicCertificateCollection { + return page.pcc +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page PublicCertificateCollectionPage) Values() []PublicCertificate { + if page.pcc.IsEmpty() { + return nil + } + return *page.pcc.Value +} + +// Creates a new instance of the PublicCertificateCollectionPage type. +func NewPublicCertificateCollectionPage(getNextPage func(context.Context, PublicCertificateCollection) (PublicCertificateCollection, error)) PublicCertificateCollectionPage { + return PublicCertificateCollectionPage{fn: getNextPage} +} + +// PublicCertificateProperties publicCertificate resource specific properties +type PublicCertificateProperties struct { + // Blob - Public Certificate byte array + Blob *[]byte `json:"blob,omitempty"` + // PublicCertificateLocation - Public Certificate Location. Possible values include: 'PublicCertificateLocationCurrentUserMy', 'PublicCertificateLocationLocalMachineMy', 'PublicCertificateLocationUnknown' + PublicCertificateLocation PublicCertificateLocation `json:"publicCertificateLocation,omitempty"` + // Thumbprint - READ-ONLY; Certificate Thumbprint + Thumbprint *string `json:"thumbprint,omitempty"` +} + +// PushSettings push settings for the App. +type PushSettings struct { + autorest.Response `json:"-"` + // PushSettingsProperties - PushSettings resource specific properties + *PushSettingsProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource Id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource Name. + Name *string `json:"name,omitempty"` + // Kind - Kind of resource. + Kind *string `json:"kind,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for PushSettings. +func (ps PushSettings) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if ps.PushSettingsProperties != nil { + objectMap["properties"] = ps.PushSettingsProperties + } + if ps.Kind != nil { + objectMap["kind"] = ps.Kind + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for PushSettings struct. +func (ps *PushSettings) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var pushSettingsProperties PushSettingsProperties + err = json.Unmarshal(*v, &pushSettingsProperties) + if err != nil { + return err + } + ps.PushSettingsProperties = &pushSettingsProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + ps.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + ps.Name = &name + } + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + ps.Kind = &kind + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ps.Type = &typeVar + } + } + } + + return nil +} + +// PushSettingsProperties pushSettings resource specific properties +type PushSettingsProperties struct { + // IsPushEnabled - Gets or sets a flag indicating whether the Push endpoint is enabled. + IsPushEnabled *bool `json:"isPushEnabled,omitempty"` + // TagWhitelistJSON - Gets or sets a JSON string containing a list of tags that are whitelisted for use by the push registration endpoint. + TagWhitelistJSON *string `json:"tagWhitelistJson,omitempty"` + // TagsRequiringAuth - Gets or sets a JSON string containing a list of tags that require user authentication to be used in the push registration endpoint. + // Tags can consist of alphanumeric characters and the following: + // '_', '@', '#', '.', ':', '-'. + // Validation should be performed at the PushRequestHandler. + TagsRequiringAuth *string `json:"tagsRequiringAuth,omitempty"` + // DynamicTagsJSON - Gets or sets a JSON string containing a list of dynamic tags that will be evaluated from user claims in the push registration endpoint. + DynamicTagsJSON *string `json:"dynamicTagsJson,omitempty"` +} + +// RampUpRule routing rules for ramp up testing. This rule allows to redirect static traffic % to a slot or +// to gradually change routing % based on performance. +type RampUpRule struct { + // ActionHostName - Hostname of a slot to which the traffic will be redirected if decided to. E.g. myapp-stage.azurewebsites.net. + ActionHostName *string `json:"actionHostName,omitempty"` + // ReroutePercentage - Percentage of the traffic which will be redirected to ActionHostName. + ReroutePercentage *float64 `json:"reroutePercentage,omitempty"` + // ChangeStep - In auto ramp up scenario this is the step to add/remove from ReroutePercentage until it reaches + // MinReroutePercentage or MaxReroutePercentage. Site metrics are checked every N minutes specified in ChangeIntervalInMinutes. + // Custom decision algorithm can be provided in TiPCallback site extension which URL can be specified in ChangeDecisionCallbackUrl. + ChangeStep *float64 `json:"changeStep,omitempty"` + // ChangeIntervalInMinutes - Specifies interval in minutes to reevaluate ReroutePercentage. + ChangeIntervalInMinutes *int32 `json:"changeIntervalInMinutes,omitempty"` + // MinReroutePercentage - Specifies lower boundary above which ReroutePercentage will stay. + MinReroutePercentage *float64 `json:"minReroutePercentage,omitempty"` + // MaxReroutePercentage - Specifies upper boundary below which ReroutePercentage will stay. + MaxReroutePercentage *float64 `json:"maxReroutePercentage,omitempty"` + // ChangeDecisionCallbackURL - Custom decision algorithm can be provided in TiPCallback site extension which URL can be specified. See TiPCallback site extension for the scaffold and contracts. + // https://www.siteextensions.net/packages/TiPCallback/ + ChangeDecisionCallbackURL *string `json:"changeDecisionCallbackUrl,omitempty"` + // Name - Name of the routing rule. The recommended name would be to point to the slot which will receive the traffic in the experiment. + Name *string `json:"name,omitempty"` +} + +// ReadCloser ... +type ReadCloser struct { + autorest.Response `json:"-"` + Value *io.ReadCloser `json:"value,omitempty"` +} + +// Recommendation represents a recommendation result generated by the recommendation engine. +type Recommendation struct { + // RecommendationProperties - Recommendation resource specific properties + *RecommendationProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource Id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource Name. + Name *string `json:"name,omitempty"` + // Kind - Kind of resource. + Kind *string `json:"kind,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for Recommendation. +func (r Recommendation) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if r.RecommendationProperties != nil { + objectMap["properties"] = r.RecommendationProperties + } + if r.Kind != nil { + objectMap["kind"] = r.Kind + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for Recommendation struct. +func (r *Recommendation) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var recommendationProperties RecommendationProperties + err = json.Unmarshal(*v, &recommendationProperties) + if err != nil { + return err + } + r.RecommendationProperties = &recommendationProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + r.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + r.Name = &name + } + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + r.Kind = &kind + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + r.Type = &typeVar + } + } + } + + return nil +} + +// RecommendationCollection collection of recommendations. +type RecommendationCollection struct { + autorest.Response `json:"-"` + // Value - Collection of resources. + Value *[]Recommendation `json:"value,omitempty"` + // NextLink - READ-ONLY; Link to next page of resources. + NextLink *string `json:"nextLink,omitempty"` +} + +// RecommendationCollectionIterator provides access to a complete listing of Recommendation values. +type RecommendationCollectionIterator struct { + i int + page RecommendationCollectionPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *RecommendationCollectionIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RecommendationCollectionIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *RecommendationCollectionIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter RecommendationCollectionIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter RecommendationCollectionIterator) Response() RecommendationCollection { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter RecommendationCollectionIterator) Value() Recommendation { + if !iter.page.NotDone() { + return Recommendation{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the RecommendationCollectionIterator type. +func NewRecommendationCollectionIterator(page RecommendationCollectionPage) RecommendationCollectionIterator { + return RecommendationCollectionIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (rc RecommendationCollection) IsEmpty() bool { + return rc.Value == nil || len(*rc.Value) == 0 +} + +// recommendationCollectionPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (rc RecommendationCollection) recommendationCollectionPreparer(ctx context.Context) (*http.Request, error) { + if rc.NextLink == nil || len(to.String(rc.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(rc.NextLink))) +} + +// RecommendationCollectionPage contains a page of Recommendation values. +type RecommendationCollectionPage struct { + fn func(context.Context, RecommendationCollection) (RecommendationCollection, error) + rc RecommendationCollection +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *RecommendationCollectionPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RecommendationCollectionPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.rc) + if err != nil { + return err + } + page.rc = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *RecommendationCollectionPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page RecommendationCollectionPage) NotDone() bool { + return !page.rc.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page RecommendationCollectionPage) Response() RecommendationCollection { + return page.rc +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page RecommendationCollectionPage) Values() []Recommendation { + if page.rc.IsEmpty() { + return nil + } + return *page.rc.Value +} + +// Creates a new instance of the RecommendationCollectionPage type. +func NewRecommendationCollectionPage(getNextPage func(context.Context, RecommendationCollection) (RecommendationCollection, error)) RecommendationCollectionPage { + return RecommendationCollectionPage{fn: getNextPage} +} + +// RecommendationProperties recommendation resource specific properties +type RecommendationProperties struct { + // CreationTime - Timestamp when this instance was created. + CreationTime *date.Time `json:"creationTime,omitempty"` + // RecommendationID - A GUID value that each recommendation object is associated with. + RecommendationID *uuid.UUID `json:"recommendationId,omitempty"` + // ResourceID - Full ARM resource ID string that this recommendation object is associated with. + ResourceID *string `json:"resourceId,omitempty"` + // ResourceScope - Name of a resource type this recommendation applies, e.g. Subscription, ServerFarm, Site. Possible values include: 'ServerFarm', 'Subscription', 'WebSite' + ResourceScope ResourceScopeType `json:"resourceScope,omitempty"` + // RuleName - Unique name of the rule. + RuleName *string `json:"ruleName,omitempty"` + // DisplayName - UI friendly name of the rule (may not be unique). + DisplayName *string `json:"displayName,omitempty"` + // Message - Recommendation text. + Message *string `json:"message,omitempty"` + // Level - Level indicating how critical this recommendation can impact. Possible values include: 'NotificationLevelCritical', 'NotificationLevelWarning', 'NotificationLevelInformation', 'NotificationLevelNonUrgentSuggestion' + Level NotificationLevel `json:"level,omitempty"` + // Channels - List of channels that this recommendation can apply. Possible values include: 'Notification', 'API', 'Email', 'Webhook', 'All' + Channels Channels `json:"channels,omitempty"` + // CategoryTags - READ-ONLY; The list of category tags that this recommendation belongs to. + CategoryTags *[]string `json:"categoryTags,omitempty"` + // ActionName - Name of action recommended by this object. + ActionName *string `json:"actionName,omitempty"` + // Enabled - True if this recommendation is still valid (i.e. "actionable"). False if it is invalid. + Enabled *int32 `json:"enabled,omitempty"` + // States - The list of states of this recommendation. If it's null then it should be considered "Active". + States *[]string `json:"states,omitempty"` + // StartTime - The beginning time in UTC of a range that the recommendation refers to. + StartTime *date.Time `json:"startTime,omitempty"` + // EndTime - The end time in UTC of a range that the recommendation refers to. + EndTime *date.Time `json:"endTime,omitempty"` + // NextNotificationTime - When to notify this recommendation next in UTC. Null means that this will never be notified anymore. + NextNotificationTime *date.Time `json:"nextNotificationTime,omitempty"` + // NotificationExpirationTime - Date and time in UTC when this notification expires. + NotificationExpirationTime *date.Time `json:"notificationExpirationTime,omitempty"` + // NotifiedTime - Last timestamp in UTC this instance was actually notified. Null means that this recommendation hasn't been notified yet. + NotifiedTime *date.Time `json:"notifiedTime,omitempty"` + // Score - A metric value measured by the rule. + Score *float64 `json:"score,omitempty"` + // IsDynamic - True if this is associated with a dynamically added rule + IsDynamic *bool `json:"isDynamic,omitempty"` + // ExtensionName - Extension name of the portal if exists. + ExtensionName *string `json:"extensionName,omitempty"` + // BladeName - Deep link to a blade on the portal. + BladeName *string `json:"bladeName,omitempty"` + // ForwardLink - Forward link to an external document associated with the rule. + ForwardLink *string `json:"forwardLink,omitempty"` +} + +// RecommendationRule represents a recommendation rule that the recommendation engine can perform. +type RecommendationRule struct { + autorest.Response `json:"-"` + // RecommendationRuleProperties - RecommendationRule resource specific properties + *RecommendationRuleProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource Id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource Name. + Name *string `json:"name,omitempty"` + // Kind - Kind of resource. + Kind *string `json:"kind,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for RecommendationRule. +func (rr RecommendationRule) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if rr.RecommendationRuleProperties != nil { + objectMap["properties"] = rr.RecommendationRuleProperties + } + if rr.Kind != nil { + objectMap["kind"] = rr.Kind + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for RecommendationRule struct. +func (rr *RecommendationRule) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var recommendationRuleProperties RecommendationRuleProperties + err = json.Unmarshal(*v, &recommendationRuleProperties) + if err != nil { + return err + } + rr.RecommendationRuleProperties = &recommendationRuleProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + rr.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + rr.Name = &name + } + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + rr.Kind = &kind + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + rr.Type = &typeVar + } + } + } + + return nil +} + +// RecommendationRuleProperties recommendationRule resource specific properties +type RecommendationRuleProperties struct { + // RecommendationName - Unique name of the rule. + RecommendationName *string `json:"recommendationName,omitempty"` + // DisplayName - UI friendly name of the rule. + DisplayName *string `json:"displayName,omitempty"` + // Message - Localized name of the rule (Good for UI). + Message *string `json:"message,omitempty"` + // RecommendationID - Recommendation ID of an associated recommendation object tied to the rule, if exists. + // If such an object doesn't exist, it is set to null. + RecommendationID *uuid.UUID `json:"recommendationId,omitempty"` + // Description - Localized detailed description of the rule. + Description *string `json:"description,omitempty"` + // ActionName - Name of action that is recommended by this rule in string. + ActionName *string `json:"actionName,omitempty"` + // Level - Level of impact indicating how critical this rule is. Possible values include: 'NotificationLevelCritical', 'NotificationLevelWarning', 'NotificationLevelInformation', 'NotificationLevelNonUrgentSuggestion' + Level NotificationLevel `json:"level,omitempty"` + // Channels - List of available channels that this rule applies. Possible values include: 'Notification', 'API', 'Email', 'Webhook', 'All' + Channels Channels `json:"channels,omitempty"` + // CategoryTags - READ-ONLY; The list of category tags that this recommendation rule belongs to. + CategoryTags *[]string `json:"categoryTags,omitempty"` + // IsDynamic - True if this is associated with a dynamically added rule + IsDynamic *bool `json:"isDynamic,omitempty"` + // ExtensionName - Extension name of the portal if exists. Applicable to dynamic rule only. + ExtensionName *string `json:"extensionName,omitempty"` + // BladeName - Deep link to a blade on the portal. Applicable to dynamic rule only. + BladeName *string `json:"bladeName,omitempty"` + // ForwardLink - Forward link to an external document associated with the rule. Applicable to dynamic rule only. + ForwardLink *string `json:"forwardLink,omitempty"` +} + +// ReissueCertificateOrderRequest class representing certificate reissue request. +type ReissueCertificateOrderRequest struct { + // ReissueCertificateOrderRequestProperties - ReissueCertificateOrderRequest resource specific properties + *ReissueCertificateOrderRequestProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource Id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource Name. + Name *string `json:"name,omitempty"` + // Kind - Kind of resource. + Kind *string `json:"kind,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for ReissueCertificateOrderRequest. +func (rcor ReissueCertificateOrderRequest) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if rcor.ReissueCertificateOrderRequestProperties != nil { + objectMap["properties"] = rcor.ReissueCertificateOrderRequestProperties + } + if rcor.Kind != nil { + objectMap["kind"] = rcor.Kind + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ReissueCertificateOrderRequest struct. +func (rcor *ReissueCertificateOrderRequest) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var reissueCertificateOrderRequestProperties ReissueCertificateOrderRequestProperties + err = json.Unmarshal(*v, &reissueCertificateOrderRequestProperties) + if err != nil { + return err + } + rcor.ReissueCertificateOrderRequestProperties = &reissueCertificateOrderRequestProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + rcor.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + rcor.Name = &name + } + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + rcor.Kind = &kind + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + rcor.Type = &typeVar + } + } + } + + return nil +} + +// ReissueCertificateOrderRequestProperties reissueCertificateOrderRequest resource specific properties +type ReissueCertificateOrderRequestProperties struct { + // KeySize - Certificate Key Size. + KeySize *int32 `json:"keySize,omitempty"` + // DelayExistingRevokeInHours - Delay in hours to revoke existing certificate after the new certificate is issued. + DelayExistingRevokeInHours *int32 `json:"delayExistingRevokeInHours,omitempty"` + // Csr - Csr to be used for re-key operation. + Csr *string `json:"csr,omitempty"` + // IsPrivateKeyExternal - Should we change the ASC type (from managed private key to external private key and vice versa). + IsPrivateKeyExternal *bool `json:"isPrivateKeyExternal,omitempty"` +} + +// RelayServiceConnectionEntity hybrid Connection for an App Service app. +type RelayServiceConnectionEntity struct { + autorest.Response `json:"-"` + // RelayServiceConnectionEntityProperties - RelayServiceConnectionEntity resource specific properties + *RelayServiceConnectionEntityProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource Id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource Name. + Name *string `json:"name,omitempty"` + // Kind - Kind of resource. + Kind *string `json:"kind,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for RelayServiceConnectionEntity. +func (rsce RelayServiceConnectionEntity) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if rsce.RelayServiceConnectionEntityProperties != nil { + objectMap["properties"] = rsce.RelayServiceConnectionEntityProperties + } + if rsce.Kind != nil { + objectMap["kind"] = rsce.Kind + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for RelayServiceConnectionEntity struct. +func (rsce *RelayServiceConnectionEntity) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var relayServiceConnectionEntityProperties RelayServiceConnectionEntityProperties + err = json.Unmarshal(*v, &relayServiceConnectionEntityProperties) + if err != nil { + return err + } + rsce.RelayServiceConnectionEntityProperties = &relayServiceConnectionEntityProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + rsce.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + rsce.Name = &name + } + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + rsce.Kind = &kind + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + rsce.Type = &typeVar + } + } + } + + return nil +} + +// RelayServiceConnectionEntityProperties relayServiceConnectionEntity resource specific properties +type RelayServiceConnectionEntityProperties struct { + EntityName *string `json:"entityName,omitempty"` + EntityConnectionString *string `json:"entityConnectionString,omitempty"` + ResourceType *string `json:"resourceType,omitempty"` + ResourceConnectionString *string `json:"resourceConnectionString,omitempty"` + Hostname *string `json:"hostname,omitempty"` + Port *int32 `json:"port,omitempty"` + BiztalkURI *string `json:"biztalkUri,omitempty"` +} + +// Rendering instructions for rendering the data +type Rendering struct { + // Type - Rendering Type. Possible values include: 'NoGraph', 'Table', 'TimeSeries', 'TimeSeriesPerInstance' + Type RenderingType `json:"type,omitempty"` + // Title - Title of data + Title *string `json:"title,omitempty"` + // Description - Description of the data that will help it be interpreted + Description *string `json:"description,omitempty"` +} + +// RenewCertificateOrderRequest class representing certificate renew request. +type RenewCertificateOrderRequest struct { + // RenewCertificateOrderRequestProperties - RenewCertificateOrderRequest resource specific properties + *RenewCertificateOrderRequestProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource Id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource Name. + Name *string `json:"name,omitempty"` + // Kind - Kind of resource. + Kind *string `json:"kind,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for RenewCertificateOrderRequest. +func (rcor RenewCertificateOrderRequest) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if rcor.RenewCertificateOrderRequestProperties != nil { + objectMap["properties"] = rcor.RenewCertificateOrderRequestProperties + } + if rcor.Kind != nil { + objectMap["kind"] = rcor.Kind + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for RenewCertificateOrderRequest struct. +func (rcor *RenewCertificateOrderRequest) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var renewCertificateOrderRequestProperties RenewCertificateOrderRequestProperties + err = json.Unmarshal(*v, &renewCertificateOrderRequestProperties) + if err != nil { + return err + } + rcor.RenewCertificateOrderRequestProperties = &renewCertificateOrderRequestProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + rcor.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + rcor.Name = &name + } + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + rcor.Kind = &kind + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + rcor.Type = &typeVar + } + } + } + + return nil +} + +// RenewCertificateOrderRequestProperties renewCertificateOrderRequest resource specific properties +type RenewCertificateOrderRequestProperties struct { + // KeySize - Certificate Key Size. + KeySize *int32 `json:"keySize,omitempty"` + // Csr - Csr to be used for re-key operation. + Csr *string `json:"csr,omitempty"` + // IsPrivateKeyExternal - Should we change the ASC type (from managed private key to external private key and vice versa). + IsPrivateKeyExternal *bool `json:"isPrivateKeyExternal,omitempty"` +} + +// RequestsBasedTrigger trigger based on total requests. +type RequestsBasedTrigger struct { + // Count - Request Count. + Count *int32 `json:"count,omitempty"` + // TimeInterval - Time interval. + TimeInterval *string `json:"timeInterval,omitempty"` +} + +// Resource azure resource. This resource is tracked in Azure Resource Manager +type Resource struct { + // ID - READ-ONLY; Resource Id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource Name. + Name *string `json:"name,omitempty"` + // Kind - Kind of resource. + Kind *string `json:"kind,omitempty"` + // Location - Resource Location. + Location *string `json:"location,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for Resource. +func (r Resource) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if r.Kind != nil { + objectMap["kind"] = r.Kind + } + if r.Location != nil { + objectMap["location"] = r.Location + } + if r.Tags != nil { + objectMap["tags"] = r.Tags + } + return json.Marshal(objectMap) +} + +// ResourceCollection collection of resources. +type ResourceCollection struct { + autorest.Response `json:"-"` + // Value - Collection of resources. + Value *[]string `json:"value,omitempty"` + // NextLink - READ-ONLY; Link to next page of resources. + NextLink *string `json:"nextLink,omitempty"` +} + +// ResourceCollectionIterator provides access to a complete listing of string values. +type ResourceCollectionIterator struct { + i int + page ResourceCollectionPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *ResourceCollectionIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ResourceCollectionIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *ResourceCollectionIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter ResourceCollectionIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter ResourceCollectionIterator) Response() ResourceCollection { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter ResourceCollectionIterator) Value() string { + if !iter.page.NotDone() { + return "" + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the ResourceCollectionIterator type. +func NewResourceCollectionIterator(page ResourceCollectionPage) ResourceCollectionIterator { + return ResourceCollectionIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (rc ResourceCollection) IsEmpty() bool { + return rc.Value == nil || len(*rc.Value) == 0 +} + +// resourceCollectionPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (rc ResourceCollection) resourceCollectionPreparer(ctx context.Context) (*http.Request, error) { + if rc.NextLink == nil || len(to.String(rc.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(rc.NextLink))) +} + +// ResourceCollectionPage contains a page of string values. +type ResourceCollectionPage struct { + fn func(context.Context, ResourceCollection) (ResourceCollection, error) + rc ResourceCollection +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *ResourceCollectionPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ResourceCollectionPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.rc) + if err != nil { + return err + } + page.rc = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *ResourceCollectionPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page ResourceCollectionPage) NotDone() bool { + return !page.rc.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page ResourceCollectionPage) Response() ResourceCollection { + return page.rc +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page ResourceCollectionPage) Values() []string { + if page.rc.IsEmpty() { + return nil + } + return *page.rc.Value +} + +// Creates a new instance of the ResourceCollectionPage type. +func NewResourceCollectionPage(getNextPage func(context.Context, ResourceCollection) (ResourceCollection, error)) ResourceCollectionPage { + return ResourceCollectionPage{fn: getNextPage} +} + +// ResourceHealthMetadata used for getting ResourceHealthCheck settings. +type ResourceHealthMetadata struct { + autorest.Response `json:"-"` + // ResourceHealthMetadataProperties - ResourceHealthMetadata resource specific properties + *ResourceHealthMetadataProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource Id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource Name. + Name *string `json:"name,omitempty"` + // Kind - Kind of resource. + Kind *string `json:"kind,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for ResourceHealthMetadata. +func (rhm ResourceHealthMetadata) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if rhm.ResourceHealthMetadataProperties != nil { + objectMap["properties"] = rhm.ResourceHealthMetadataProperties + } + if rhm.Kind != nil { + objectMap["kind"] = rhm.Kind + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ResourceHealthMetadata struct. +func (rhm *ResourceHealthMetadata) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var resourceHealthMetadataProperties ResourceHealthMetadataProperties + err = json.Unmarshal(*v, &resourceHealthMetadataProperties) + if err != nil { + return err + } + rhm.ResourceHealthMetadataProperties = &resourceHealthMetadataProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + rhm.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + rhm.Name = &name + } + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + rhm.Kind = &kind + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + rhm.Type = &typeVar + } + } + } + + return nil +} + +// ResourceHealthMetadataCollection collection of resource health metadata. +type ResourceHealthMetadataCollection struct { + autorest.Response `json:"-"` + // Value - Collection of resources. + Value *[]ResourceHealthMetadata `json:"value,omitempty"` + // NextLink - READ-ONLY; Link to next page of resources. + NextLink *string `json:"nextLink,omitempty"` +} + +// ResourceHealthMetadataCollectionIterator provides access to a complete listing of ResourceHealthMetadata +// values. +type ResourceHealthMetadataCollectionIterator struct { + i int + page ResourceHealthMetadataCollectionPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *ResourceHealthMetadataCollectionIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ResourceHealthMetadataCollectionIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *ResourceHealthMetadataCollectionIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter ResourceHealthMetadataCollectionIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter ResourceHealthMetadataCollectionIterator) Response() ResourceHealthMetadataCollection { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter ResourceHealthMetadataCollectionIterator) Value() ResourceHealthMetadata { + if !iter.page.NotDone() { + return ResourceHealthMetadata{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the ResourceHealthMetadataCollectionIterator type. +func NewResourceHealthMetadataCollectionIterator(page ResourceHealthMetadataCollectionPage) ResourceHealthMetadataCollectionIterator { + return ResourceHealthMetadataCollectionIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (rhmc ResourceHealthMetadataCollection) IsEmpty() bool { + return rhmc.Value == nil || len(*rhmc.Value) == 0 +} + +// resourceHealthMetadataCollectionPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (rhmc ResourceHealthMetadataCollection) resourceHealthMetadataCollectionPreparer(ctx context.Context) (*http.Request, error) { + if rhmc.NextLink == nil || len(to.String(rhmc.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(rhmc.NextLink))) +} + +// ResourceHealthMetadataCollectionPage contains a page of ResourceHealthMetadata values. +type ResourceHealthMetadataCollectionPage struct { + fn func(context.Context, ResourceHealthMetadataCollection) (ResourceHealthMetadataCollection, error) + rhmc ResourceHealthMetadataCollection +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *ResourceHealthMetadataCollectionPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ResourceHealthMetadataCollectionPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.rhmc) + if err != nil { + return err + } + page.rhmc = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *ResourceHealthMetadataCollectionPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page ResourceHealthMetadataCollectionPage) NotDone() bool { + return !page.rhmc.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page ResourceHealthMetadataCollectionPage) Response() ResourceHealthMetadataCollection { + return page.rhmc +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page ResourceHealthMetadataCollectionPage) Values() []ResourceHealthMetadata { + if page.rhmc.IsEmpty() { + return nil + } + return *page.rhmc.Value +} + +// Creates a new instance of the ResourceHealthMetadataCollectionPage type. +func NewResourceHealthMetadataCollectionPage(getNextPage func(context.Context, ResourceHealthMetadataCollection) (ResourceHealthMetadataCollection, error)) ResourceHealthMetadataCollectionPage { + return ResourceHealthMetadataCollectionPage{fn: getNextPage} +} + +// ResourceHealthMetadataProperties resourceHealthMetadata resource specific properties +type ResourceHealthMetadataProperties struct { + // Category - The category that the resource matches in the RHC Policy File + Category *string `json:"category,omitempty"` + // SignalAvailability - Is there a health signal for the resource + SignalAvailability *bool `json:"signalAvailability,omitempty"` +} + +// ResourceMetric object representing a metric for any resource . +type ResourceMetric struct { + // Name - READ-ONLY; Name of metric. + Name *ResourceMetricName `json:"name,omitempty"` + // Unit - READ-ONLY; Metric unit. + Unit *string `json:"unit,omitempty"` + // TimeGrain - READ-ONLY; Metric granularity. E.g PT1H, PT5M, P1D + TimeGrain *string `json:"timeGrain,omitempty"` + // StartTime - READ-ONLY; Metric start time. + StartTime *date.Time `json:"startTime,omitempty"` + // EndTime - READ-ONLY; Metric end time. + EndTime *date.Time `json:"endTime,omitempty"` + // ResourceID - READ-ONLY; Metric resource Id. + ResourceID *string `json:"resourceId,omitempty"` + // ID - READ-ONLY; Resource Id. + ID *string `json:"id,omitempty"` + // MetricValues - READ-ONLY; Metric values. + MetricValues *[]ResourceMetricValue `json:"metricValues,omitempty"` + // Properties - READ-ONLY; Resource metric properties collection. + Properties *[]ResourceMetricProperty `json:"properties,omitempty"` +} + +// ResourceMetricAvailability metrics availability and retention. +type ResourceMetricAvailability struct { + // TimeGrain - READ-ONLY; Time grain . + TimeGrain *string `json:"timeGrain,omitempty"` + // Retention - READ-ONLY; Retention period for the current time grain. + Retention *string `json:"retention,omitempty"` +} + +// ResourceMetricCollection collection of metric responses. +type ResourceMetricCollection struct { + autorest.Response `json:"-"` + // Value - Collection of resources. + Value *[]ResourceMetric `json:"value,omitempty"` + // NextLink - READ-ONLY; Link to next page of resources. + NextLink *string `json:"nextLink,omitempty"` +} + +// ResourceMetricCollectionIterator provides access to a complete listing of ResourceMetric values. +type ResourceMetricCollectionIterator struct { + i int + page ResourceMetricCollectionPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *ResourceMetricCollectionIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ResourceMetricCollectionIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *ResourceMetricCollectionIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter ResourceMetricCollectionIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter ResourceMetricCollectionIterator) Response() ResourceMetricCollection { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter ResourceMetricCollectionIterator) Value() ResourceMetric { + if !iter.page.NotDone() { + return ResourceMetric{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the ResourceMetricCollectionIterator type. +func NewResourceMetricCollectionIterator(page ResourceMetricCollectionPage) ResourceMetricCollectionIterator { + return ResourceMetricCollectionIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (rmc ResourceMetricCollection) IsEmpty() bool { + return rmc.Value == nil || len(*rmc.Value) == 0 +} + +// resourceMetricCollectionPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (rmc ResourceMetricCollection) resourceMetricCollectionPreparer(ctx context.Context) (*http.Request, error) { + if rmc.NextLink == nil || len(to.String(rmc.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(rmc.NextLink))) +} + +// ResourceMetricCollectionPage contains a page of ResourceMetric values. +type ResourceMetricCollectionPage struct { + fn func(context.Context, ResourceMetricCollection) (ResourceMetricCollection, error) + rmc ResourceMetricCollection +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *ResourceMetricCollectionPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ResourceMetricCollectionPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.rmc) + if err != nil { + return err + } + page.rmc = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *ResourceMetricCollectionPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page ResourceMetricCollectionPage) NotDone() bool { + return !page.rmc.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page ResourceMetricCollectionPage) Response() ResourceMetricCollection { + return page.rmc +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page ResourceMetricCollectionPage) Values() []ResourceMetric { + if page.rmc.IsEmpty() { + return nil + } + return *page.rmc.Value +} + +// Creates a new instance of the ResourceMetricCollectionPage type. +func NewResourceMetricCollectionPage(getNextPage func(context.Context, ResourceMetricCollection) (ResourceMetricCollection, error)) ResourceMetricCollectionPage { + return ResourceMetricCollectionPage{fn: getNextPage} +} + +// ResourceMetricDefinition metadata for the metrics. +type ResourceMetricDefinition struct { + // ResourceMetricDefinitionProperties - ResourceMetricDefinition resource specific properties + *ResourceMetricDefinitionProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource Id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource Name. + Name *string `json:"name,omitempty"` + // Kind - Kind of resource. + Kind *string `json:"kind,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for ResourceMetricDefinition. +func (rmd ResourceMetricDefinition) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if rmd.ResourceMetricDefinitionProperties != nil { + objectMap["properties"] = rmd.ResourceMetricDefinitionProperties + } + if rmd.Kind != nil { + objectMap["kind"] = rmd.Kind + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ResourceMetricDefinition struct. +func (rmd *ResourceMetricDefinition) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var resourceMetricDefinitionProperties ResourceMetricDefinitionProperties + err = json.Unmarshal(*v, &resourceMetricDefinitionProperties) + if err != nil { + return err + } + rmd.ResourceMetricDefinitionProperties = &resourceMetricDefinitionProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + rmd.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + rmd.Name = &name + } + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + rmd.Kind = &kind + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + rmd.Type = &typeVar + } + } + } + + return nil +} + +// ResourceMetricDefinitionCollection collection of metric definitions. +type ResourceMetricDefinitionCollection struct { + autorest.Response `json:"-"` + // Value - Collection of resources. + Value *[]ResourceMetricDefinition `json:"value,omitempty"` + // NextLink - READ-ONLY; Link to next page of resources. + NextLink *string `json:"nextLink,omitempty"` +} + +// ResourceMetricDefinitionCollectionIterator provides access to a complete listing of +// ResourceMetricDefinition values. +type ResourceMetricDefinitionCollectionIterator struct { + i int + page ResourceMetricDefinitionCollectionPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *ResourceMetricDefinitionCollectionIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ResourceMetricDefinitionCollectionIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *ResourceMetricDefinitionCollectionIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter ResourceMetricDefinitionCollectionIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter ResourceMetricDefinitionCollectionIterator) Response() ResourceMetricDefinitionCollection { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter ResourceMetricDefinitionCollectionIterator) Value() ResourceMetricDefinition { + if !iter.page.NotDone() { + return ResourceMetricDefinition{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the ResourceMetricDefinitionCollectionIterator type. +func NewResourceMetricDefinitionCollectionIterator(page ResourceMetricDefinitionCollectionPage) ResourceMetricDefinitionCollectionIterator { + return ResourceMetricDefinitionCollectionIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (rmdc ResourceMetricDefinitionCollection) IsEmpty() bool { + return rmdc.Value == nil || len(*rmdc.Value) == 0 +} + +// resourceMetricDefinitionCollectionPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (rmdc ResourceMetricDefinitionCollection) resourceMetricDefinitionCollectionPreparer(ctx context.Context) (*http.Request, error) { + if rmdc.NextLink == nil || len(to.String(rmdc.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(rmdc.NextLink))) +} + +// ResourceMetricDefinitionCollectionPage contains a page of ResourceMetricDefinition values. +type ResourceMetricDefinitionCollectionPage struct { + fn func(context.Context, ResourceMetricDefinitionCollection) (ResourceMetricDefinitionCollection, error) + rmdc ResourceMetricDefinitionCollection +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *ResourceMetricDefinitionCollectionPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ResourceMetricDefinitionCollectionPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.rmdc) + if err != nil { + return err + } + page.rmdc = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *ResourceMetricDefinitionCollectionPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page ResourceMetricDefinitionCollectionPage) NotDone() bool { + return !page.rmdc.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page ResourceMetricDefinitionCollectionPage) Response() ResourceMetricDefinitionCollection { + return page.rmdc +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page ResourceMetricDefinitionCollectionPage) Values() []ResourceMetricDefinition { + if page.rmdc.IsEmpty() { + return nil + } + return *page.rmdc.Value +} + +// Creates a new instance of the ResourceMetricDefinitionCollectionPage type. +func NewResourceMetricDefinitionCollectionPage(getNextPage func(context.Context, ResourceMetricDefinitionCollection) (ResourceMetricDefinitionCollection, error)) ResourceMetricDefinitionCollectionPage { + return ResourceMetricDefinitionCollectionPage{fn: getNextPage} +} + +// ResourceMetricDefinitionProperties resourceMetricDefinition resource specific properties +type ResourceMetricDefinitionProperties struct { + // Unit - READ-ONLY; Unit of the metric. + Unit *string `json:"unit,omitempty"` + // PrimaryAggregationType - READ-ONLY; Primary aggregation type. + PrimaryAggregationType *string `json:"primaryAggregationType,omitempty"` + // MetricAvailabilities - READ-ONLY; List of time grains supported for the metric together with retention period. + MetricAvailabilities *[]ResourceMetricAvailability `json:"metricAvailabilities,omitempty"` + // ResourceURI - READ-ONLY; Resource URI. + ResourceURI *string `json:"resourceUri,omitempty"` + // Properties - READ-ONLY; Resource metric definition properties. + Properties map[string]*string `json:"properties"` +} + +// MarshalJSON is the custom marshaler for ResourceMetricDefinitionProperties. +func (rmd ResourceMetricDefinitionProperties) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + return json.Marshal(objectMap) +} + +// ResourceMetricName name of a metric for any resource . +type ResourceMetricName struct { + // Value - READ-ONLY; metric name value. + Value *string `json:"value,omitempty"` + // LocalizedValue - READ-ONLY; Localized metric name value. + LocalizedValue *string `json:"localizedValue,omitempty"` +} + +// ResourceMetricProperty resource metric property. +type ResourceMetricProperty struct { + // Key - Key for resource metric property. + Key *string `json:"key,omitempty"` + // Value - Value of pair. + Value *string `json:"value,omitempty"` +} + +// ResourceMetricValue value of resource metric. +type ResourceMetricValue struct { + // Timestamp - READ-ONLY; Value timestamp. + Timestamp *string `json:"timestamp,omitempty"` + // Average - READ-ONLY; Value average. + Average *float64 `json:"average,omitempty"` + // Minimum - READ-ONLY; Value minimum. + Minimum *float64 `json:"minimum,omitempty"` + // Maximum - READ-ONLY; Value maximum. + Maximum *float64 `json:"maximum,omitempty"` + // Total - READ-ONLY; Value total. + Total *float64 `json:"total,omitempty"` + // Count - READ-ONLY; Value count. + Count *float64 `json:"count,omitempty"` + // Properties - READ-ONLY; Resource metric properties collection. + Properties *[]ResourceMetricProperty `json:"properties,omitempty"` +} + +// ResourceNameAvailability information regarding availability of a resource name. +type ResourceNameAvailability struct { + autorest.Response `json:"-"` + // NameAvailable - true indicates name is valid and available. false indicates the name is invalid, unavailable, or both. + NameAvailable *bool `json:"nameAvailable,omitempty"` + // Reason - Invalid indicates the name provided does not match Azure App Service naming requirements. AlreadyExists indicates that the name is already in use and is therefore unavailable. Possible values include: 'Invalid', 'AlreadyExists' + Reason InAvailabilityReasonType `json:"reason,omitempty"` + // Message - If reason == invalid, provide the user with the reason why the given name is invalid, and provide the resource naming requirements so that the user can select a valid name. If reason == AlreadyExists, explain that resource name is already in use, and direct them to select a different name. + Message *string `json:"message,omitempty"` +} + +// ResourceNameAvailabilityRequest resource name availability request content. +type ResourceNameAvailabilityRequest struct { + // Name - Resource name to verify. + Name *string `json:"name,omitempty"` + // Type - Resource type used for verification. Possible values include: 'CheckNameResourceTypesSite', 'CheckNameResourceTypesSlot', 'CheckNameResourceTypesHostingEnvironment', 'CheckNameResourceTypesPublishingUser', 'CheckNameResourceTypesMicrosoftWebsites', 'CheckNameResourceTypesMicrosoftWebsitesslots', 'CheckNameResourceTypesMicrosoftWebhostingEnvironments', 'CheckNameResourceTypesMicrosoftWebpublishingUsers' + Type CheckNameResourceTypes `json:"type,omitempty"` + // IsFqdn - Is fully qualified domain name. + IsFqdn *bool `json:"isFqdn,omitempty"` +} + +// ResponseMetaData ... +type ResponseMetaData struct { + // DataSource - Source of the Data + DataSource *DataSource `json:"dataSource,omitempty"` +} + +// RestoreRequest description of a restore request. +type RestoreRequest struct { + autorest.Response `json:"-"` + // RestoreRequestProperties - RestoreRequest resource specific properties + *RestoreRequestProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource Id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource Name. + Name *string `json:"name,omitempty"` + // Kind - Kind of resource. + Kind *string `json:"kind,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for RestoreRequest. +func (rr RestoreRequest) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if rr.RestoreRequestProperties != nil { + objectMap["properties"] = rr.RestoreRequestProperties + } + if rr.Kind != nil { + objectMap["kind"] = rr.Kind + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for RestoreRequest struct. +func (rr *RestoreRequest) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var restoreRequestProperties RestoreRequestProperties + err = json.Unmarshal(*v, &restoreRequestProperties) + if err != nil { + return err + } + rr.RestoreRequestProperties = &restoreRequestProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + rr.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + rr.Name = &name + } + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + rr.Kind = &kind + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + rr.Type = &typeVar + } + } + } + + return nil +} + +// RestoreRequestProperties restoreRequest resource specific properties +type RestoreRequestProperties struct { + // StorageAccountURL - SAS URL to the container. + StorageAccountURL *string `json:"storageAccountUrl,omitempty"` + // BlobName - Name of a blob which contains the backup. + BlobName *string `json:"blobName,omitempty"` + // Overwrite - true if the restore operation can overwrite target app; otherwise, false. true is needed if trying to restore over an existing app. + Overwrite *bool `json:"overwrite,omitempty"` + // SiteName - Name of an app. + SiteName *string `json:"siteName,omitempty"` + // Databases - Collection of databases which should be restored. This list has to match the list of databases included in the backup. + Databases *[]DatabaseBackupSetting `json:"databases,omitempty"` + // IgnoreConflictingHostNames - Changes a logic when restoring an app with custom domains. true to remove custom domains automatically. If false, custom domains are added to + // the app's object when it is being restored, but that might fail due to conflicts during the operation. + IgnoreConflictingHostNames *bool `json:"ignoreConflictingHostNames,omitempty"` + // IgnoreDatabases - Ignore the databases and only restore the site content + IgnoreDatabases *bool `json:"ignoreDatabases,omitempty"` + // AppServicePlan - Specify app service plan that will own restored site. + AppServicePlan *string `json:"appServicePlan,omitempty"` + // OperationType - Operation type. Possible values include: 'BackupRestoreOperationTypeDefault', 'BackupRestoreOperationTypeClone', 'BackupRestoreOperationTypeRelocation', 'BackupRestoreOperationTypeSnapshot', 'BackupRestoreOperationTypeCloudFS' + OperationType BackupRestoreOperationType `json:"operationType,omitempty"` + // AdjustConnectionStrings - true if SiteConfig.ConnectionStrings should be set in new app; otherwise, false. + AdjustConnectionStrings *bool `json:"adjustConnectionStrings,omitempty"` + // HostingEnvironment - App Service Environment name, if needed (only when restoring an app to an App Service Environment). + HostingEnvironment *string `json:"hostingEnvironment,omitempty"` +} + +// ServiceSpecification resource metrics service provided by Microsoft.Insights resource provider. +type ServiceSpecification struct { + MetricSpecifications *[]MetricSpecification `json:"metricSpecifications,omitempty"` + LogSpecifications *[]LogSpecification `json:"logSpecifications,omitempty"` +} + +// SetObject ... +type SetObject struct { + autorest.Response `json:"-"` + Value interface{} `json:"value,omitempty"` +} + +// Site a web app, a mobile app backend, or an API app. +type Site struct { + autorest.Response `json:"-"` + // SiteProperties - Site resource specific properties + *SiteProperties `json:"properties,omitempty"` + Identity *ManagedServiceIdentity `json:"identity,omitempty"` + // ID - READ-ONLY; Resource Id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource Name. + Name *string `json:"name,omitempty"` + // Kind - Kind of resource. + Kind *string `json:"kind,omitempty"` + // Location - Resource Location. + Location *string `json:"location,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` + // Tags - Resource tags. + Tags map[string]*string `json:"tags"` +} + +// MarshalJSON is the custom marshaler for Site. +func (s Site) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if s.SiteProperties != nil { + objectMap["properties"] = s.SiteProperties + } + if s.Identity != nil { + objectMap["identity"] = s.Identity + } + if s.Kind != nil { + objectMap["kind"] = s.Kind + } + if s.Location != nil { + objectMap["location"] = s.Location + } + if s.Tags != nil { + objectMap["tags"] = s.Tags + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for Site struct. +func (s *Site) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var siteProperties SiteProperties + err = json.Unmarshal(*v, &siteProperties) + if err != nil { + return err + } + s.SiteProperties = &siteProperties + } + case "identity": + if v != nil { + var identity ManagedServiceIdentity + err = json.Unmarshal(*v, &identity) + if err != nil { + return err + } + s.Identity = &identity + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + s.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + s.Name = &name + } + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + s.Kind = &kind + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + s.Location = &location + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + s.Type = &typeVar + } + case "tags": + if v != nil { + var tags map[string]*string + err = json.Unmarshal(*v, &tags) + if err != nil { + return err + } + s.Tags = tags + } + } + } + + return nil +} + +// SiteAuthSettings configuration settings for the Azure App Service Authentication / Authorization +// feature. +type SiteAuthSettings struct { + autorest.Response `json:"-"` + // SiteAuthSettingsProperties - SiteAuthSettings resource specific properties + *SiteAuthSettingsProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource Id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource Name. + Name *string `json:"name,omitempty"` + // Kind - Kind of resource. + Kind *string `json:"kind,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for SiteAuthSettings. +func (sas SiteAuthSettings) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if sas.SiteAuthSettingsProperties != nil { + objectMap["properties"] = sas.SiteAuthSettingsProperties + } + if sas.Kind != nil { + objectMap["kind"] = sas.Kind + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for SiteAuthSettings struct. +func (sas *SiteAuthSettings) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var siteAuthSettingsProperties SiteAuthSettingsProperties + err = json.Unmarshal(*v, &siteAuthSettingsProperties) + if err != nil { + return err + } + sas.SiteAuthSettingsProperties = &siteAuthSettingsProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + sas.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + sas.Name = &name + } + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + sas.Kind = &kind + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + sas.Type = &typeVar + } + } + } + + return nil +} + +// SiteAuthSettingsProperties siteAuthSettings resource specific properties +type SiteAuthSettingsProperties struct { + // Enabled - true if the Authentication / Authorization feature is enabled for the current app; otherwise, false. + Enabled *bool `json:"enabled,omitempty"` + // RuntimeVersion - The RuntimeVersion of the Authentication / Authorization feature in use for the current app. + // The setting in this value can control the behavior of certain features in the Authentication / Authorization module. + RuntimeVersion *string `json:"runtimeVersion,omitempty"` + // UnauthenticatedClientAction - The action to take when an unauthenticated client attempts to access the app. Possible values include: 'RedirectToLoginPage', 'AllowAnonymous' + UnauthenticatedClientAction UnauthenticatedClientAction `json:"unauthenticatedClientAction,omitempty"` + // TokenStoreEnabled - true to durably store platform-specific security tokens that are obtained during login flows; otherwise, false. + // The default is false. + TokenStoreEnabled *bool `json:"tokenStoreEnabled,omitempty"` + // AllowedExternalRedirectUrls - External URLs that can be redirected to as part of logging in or logging out of the app. Note that the query string part of the URL is ignored. + // This is an advanced setting typically only needed by Windows Store application backends. + // Note that URLs within the current domain are always implicitly allowed. + AllowedExternalRedirectUrls *[]string `json:"allowedExternalRedirectUrls,omitempty"` + // DefaultProvider - The default authentication provider to use when multiple providers are configured. + // This setting is only needed if multiple providers are configured and the unauthenticated client + // action is set to "RedirectToLoginPage". Possible values include: 'AzureActiveDirectory', 'Facebook', 'Google', 'MicrosoftAccount', 'Twitter' + DefaultProvider BuiltInAuthenticationProvider `json:"defaultProvider,omitempty"` + // TokenRefreshExtensionHours - The number of hours after session token expiration that a session token can be used to + // call the token refresh API. The default is 72 hours. + TokenRefreshExtensionHours *float64 `json:"tokenRefreshExtensionHours,omitempty"` + // ClientID - The Client ID of this relying party application, known as the client_id. + // This setting is required for enabling OpenID Connection authentication with Azure Active Directory or + // other 3rd party OpenID Connect providers. + // More information on OpenID Connect: http://openid.net/specs/openid-connect-core-1_0.html + ClientID *string `json:"clientId,omitempty"` + // ClientSecret - The Client Secret of this relying party application (in Azure Active Directory, this is also referred to as the Key). + // This setting is optional. If no client secret is configured, the OpenID Connect implicit auth flow is used to authenticate end users. + // Otherwise, the OpenID Connect Authorization Code Flow is used to authenticate end users. + // More information on OpenID Connect: http://openid.net/specs/openid-connect-core-1_0.html + ClientSecret *string `json:"clientSecret,omitempty"` + // ClientSecretCertificateThumbprint - An alternative to the client secret, that is the thumbprint of a certificate used for signing purposes. This property acts as + // a replacement for the Client Secret. It is also optional. + ClientSecretCertificateThumbprint *string `json:"clientSecretCertificateThumbprint,omitempty"` + // Issuer - The OpenID Connect Issuer URI that represents the entity which issues access tokens for this application. + // When using Azure Active Directory, this value is the URI of the directory tenant, e.g. https://sts.windows.net/{tenant-guid}/. + // This URI is a case-sensitive identifier for the token issuer. + // More information on OpenID Connect Discovery: http://openid.net/specs/openid-connect-discovery-1_0.html + Issuer *string `json:"issuer,omitempty"` + // ValidateIssuer - Gets a value indicating whether the issuer should be a valid HTTPS url and be validated as such. + ValidateIssuer *bool `json:"validateIssuer,omitempty"` + // AllowedAudiences - Allowed audience values to consider when validating JWTs issued by + // Azure Active Directory. Note that the ClientID value is always considered an + // allowed audience, regardless of this setting. + AllowedAudiences *[]string `json:"allowedAudiences,omitempty"` + // AdditionalLoginParams - Login parameters to send to the OpenID Connect authorization endpoint when + // a user logs in. Each parameter must be in the form "key=value". + AdditionalLoginParams *[]string `json:"additionalLoginParams,omitempty"` + // GoogleClientID - The OpenID Connect Client ID for the Google web application. + // This setting is required for enabling Google Sign-In. + // Google Sign-In documentation: https://developers.google.com/identity/sign-in/web/ + GoogleClientID *string `json:"googleClientId,omitempty"` + // GoogleClientSecret - The client secret associated with the Google web application. + // This setting is required for enabling Google Sign-In. + // Google Sign-In documentation: https://developers.google.com/identity/sign-in/web/ + GoogleClientSecret *string `json:"googleClientSecret,omitempty"` + // GoogleOAuthScopes - The OAuth 2.0 scopes that will be requested as part of Google Sign-In authentication. + // This setting is optional. If not specified, "openid", "profile", and "email" are used as default scopes. + // Google Sign-In documentation: https://developers.google.com/identity/sign-in/web/ + GoogleOAuthScopes *[]string `json:"googleOAuthScopes,omitempty"` + // FacebookAppID - The App ID of the Facebook app used for login. + // This setting is required for enabling Facebook Login. + // Facebook Login documentation: https://developers.facebook.com/docs/facebook-login + FacebookAppID *string `json:"facebookAppId,omitempty"` + // FacebookAppSecret - The App Secret of the Facebook app used for Facebook Login. + // This setting is required for enabling Facebook Login. + // Facebook Login documentation: https://developers.facebook.com/docs/facebook-login + FacebookAppSecret *string `json:"facebookAppSecret,omitempty"` + // FacebookOAuthScopes - The OAuth 2.0 scopes that will be requested as part of Facebook Login authentication. + // This setting is optional. + // Facebook Login documentation: https://developers.facebook.com/docs/facebook-login + FacebookOAuthScopes *[]string `json:"facebookOAuthScopes,omitempty"` + // TwitterConsumerKey - The OAuth 1.0a consumer key of the Twitter application used for sign-in. + // This setting is required for enabling Twitter Sign-In. + // Twitter Sign-In documentation: https://dev.twitter.com/web/sign-in + TwitterConsumerKey *string `json:"twitterConsumerKey,omitempty"` + // TwitterConsumerSecret - The OAuth 1.0a consumer secret of the Twitter application used for sign-in. + // This setting is required for enabling Twitter Sign-In. + // Twitter Sign-In documentation: https://dev.twitter.com/web/sign-in + TwitterConsumerSecret *string `json:"twitterConsumerSecret,omitempty"` + // MicrosoftAccountClientID - The OAuth 2.0 client ID that was created for the app used for authentication. + // This setting is required for enabling Microsoft Account authentication. + // Microsoft Account OAuth documentation: https://dev.onedrive.com/auth/msa_oauth.htm + MicrosoftAccountClientID *string `json:"microsoftAccountClientId,omitempty"` + // MicrosoftAccountClientSecret - The OAuth 2.0 client secret that was created for the app used for authentication. + // This setting is required for enabling Microsoft Account authentication. + // Microsoft Account OAuth documentation: https://dev.onedrive.com/auth/msa_oauth.htm + MicrosoftAccountClientSecret *string `json:"microsoftAccountClientSecret,omitempty"` + // MicrosoftAccountOAuthScopes - The OAuth 2.0 scopes that will be requested as part of Microsoft Account authentication. + // This setting is optional. If not specified, "wl.basic" is used as the default scope. + // Microsoft Account Scopes and permissions documentation: https://msdn.microsoft.com/en-us/library/dn631845.aspx + MicrosoftAccountOAuthScopes *[]string `json:"microsoftAccountOAuthScopes,omitempty"` +} + +// SiteCloneability represents whether or not an app is cloneable. +type SiteCloneability struct { + autorest.Response `json:"-"` + // Result - Name of app. Possible values include: 'Cloneable', 'PartiallyCloneable', 'NotCloneable' + Result CloneAbilityResult `json:"result,omitempty"` + // BlockingFeatures - List of features enabled on app that prevent cloning. + BlockingFeatures *[]SiteCloneabilityCriterion `json:"blockingFeatures,omitempty"` + // UnsupportedFeatures - List of features enabled on app that are non-blocking but cannot be cloned. The app can still be cloned + // but the features in this list will not be set up on cloned app. + UnsupportedFeatures *[]SiteCloneabilityCriterion `json:"unsupportedFeatures,omitempty"` + // BlockingCharacteristics - List of blocking application characteristics. + BlockingCharacteristics *[]SiteCloneabilityCriterion `json:"blockingCharacteristics,omitempty"` +} + +// SiteCloneabilityCriterion an app cloneability criterion. +type SiteCloneabilityCriterion struct { + // Name - Name of criterion. + Name *string `json:"name,omitempty"` + // Description - Description of criterion. + Description *string `json:"description,omitempty"` +} + +// SiteConfig configuration of an App Service app. +type SiteConfig struct { + // NumberOfWorkers - Number of workers. + NumberOfWorkers *int32 `json:"numberOfWorkers,omitempty"` + // DefaultDocuments - Default documents. + DefaultDocuments *[]string `json:"defaultDocuments,omitempty"` + // NetFrameworkVersion - .NET Framework version. + NetFrameworkVersion *string `json:"netFrameworkVersion,omitempty"` + // PhpVersion - Version of PHP. + PhpVersion *string `json:"phpVersion,omitempty"` + // PythonVersion - Version of Python. + PythonVersion *string `json:"pythonVersion,omitempty"` + // NodeVersion - Version of Node.js. + NodeVersion *string `json:"nodeVersion,omitempty"` + // LinuxFxVersion - Linux App Framework and version + LinuxFxVersion *string `json:"linuxFxVersion,omitempty"` + // WindowsFxVersion - Xenon App Framework and version + WindowsFxVersion *string `json:"windowsFxVersion,omitempty"` + // RequestTracingEnabled - true if request tracing is enabled; otherwise, false. + RequestTracingEnabled *bool `json:"requestTracingEnabled,omitempty"` + // RequestTracingExpirationTime - Request tracing expiration time. + RequestTracingExpirationTime *date.Time `json:"requestTracingExpirationTime,omitempty"` + // RemoteDebuggingEnabled - true if remote debugging is enabled; otherwise, false. + RemoteDebuggingEnabled *bool `json:"remoteDebuggingEnabled,omitempty"` + // RemoteDebuggingVersion - Remote debugging version. + RemoteDebuggingVersion *string `json:"remoteDebuggingVersion,omitempty"` + // HTTPLoggingEnabled - true if HTTP logging is enabled; otherwise, false. + HTTPLoggingEnabled *bool `json:"httpLoggingEnabled,omitempty"` + // LogsDirectorySizeLimit - HTTP logs directory size limit. + LogsDirectorySizeLimit *int32 `json:"logsDirectorySizeLimit,omitempty"` + // DetailedErrorLoggingEnabled - true if detailed error logging is enabled; otherwise, false. + DetailedErrorLoggingEnabled *bool `json:"detailedErrorLoggingEnabled,omitempty"` + // PublishingUsername - Publishing user name. + PublishingUsername *string `json:"publishingUsername,omitempty"` + // AppSettings - Application settings. + AppSettings *[]NameValuePair `json:"appSettings,omitempty"` + // AzureStorageAccounts - User-provided Azure storage accounts. + AzureStorageAccounts map[string]*AzureStorageInfoValue `json:"azureStorageAccounts"` + // ConnectionStrings - Connection strings. + ConnectionStrings *[]ConnStringInfo `json:"connectionStrings,omitempty"` + // MachineKey - READ-ONLY; Site MachineKey. + MachineKey *SiteMachineKey `json:"machineKey,omitempty"` + // HandlerMappings - Handler mappings. + HandlerMappings *[]HandlerMapping `json:"handlerMappings,omitempty"` + // DocumentRoot - Document root. + DocumentRoot *string `json:"documentRoot,omitempty"` + // ScmType - SCM type. Possible values include: 'ScmTypeNone', 'ScmTypeDropbox', 'ScmTypeTfs', 'ScmTypeLocalGit', 'ScmTypeGitHub', 'ScmTypeCodePlexGit', 'ScmTypeCodePlexHg', 'ScmTypeBitbucketGit', 'ScmTypeBitbucketHg', 'ScmTypeExternalGit', 'ScmTypeExternalHg', 'ScmTypeOneDrive', 'ScmTypeVSO' + ScmType ScmType `json:"scmType,omitempty"` + // Use32BitWorkerProcess - true to use 32-bit worker process; otherwise, false. + Use32BitWorkerProcess *bool `json:"use32BitWorkerProcess,omitempty"` + // WebSocketsEnabled - true if WebSocket is enabled; otherwise, false. + WebSocketsEnabled *bool `json:"webSocketsEnabled,omitempty"` + // AlwaysOn - true if Always On is enabled; otherwise, false. + AlwaysOn *bool `json:"alwaysOn,omitempty"` + // JavaVersion - Java version. + JavaVersion *string `json:"javaVersion,omitempty"` + // JavaContainer - Java container. + JavaContainer *string `json:"javaContainer,omitempty"` + // JavaContainerVersion - Java container version. + JavaContainerVersion *string `json:"javaContainerVersion,omitempty"` + // AppCommandLine - App command line to launch. + AppCommandLine *string `json:"appCommandLine,omitempty"` + // ManagedPipelineMode - Managed pipeline mode. Possible values include: 'Integrated', 'Classic' + ManagedPipelineMode ManagedPipelineMode `json:"managedPipelineMode,omitempty"` + // VirtualApplications - Virtual applications. + VirtualApplications *[]VirtualApplication `json:"virtualApplications,omitempty"` + // LoadBalancing - Site load balancing. Possible values include: 'WeightedRoundRobin', 'LeastRequests', 'LeastResponseTime', 'WeightedTotalTraffic', 'RequestHash' + LoadBalancing SiteLoadBalancing `json:"loadBalancing,omitempty"` + // Experiments - This is work around for polymorphic types. + Experiments *Experiments `json:"experiments,omitempty"` + // Limits - Site limits. + Limits *SiteLimits `json:"limits,omitempty"` + // AutoHealEnabled - true if Auto Heal is enabled; otherwise, false. + AutoHealEnabled *bool `json:"autoHealEnabled,omitempty"` + // AutoHealRules - Auto Heal rules. + AutoHealRules *AutoHealRules `json:"autoHealRules,omitempty"` + // TracingOptions - Tracing options. + TracingOptions *string `json:"tracingOptions,omitempty"` + // VnetName - Virtual Network name. + VnetName *string `json:"vnetName,omitempty"` + // Cors - Cross-Origin Resource Sharing (CORS) settings. + Cors *CorsSettings `json:"cors,omitempty"` + // Push - Push endpoint settings. + Push *PushSettings `json:"push,omitempty"` + // APIDefinition - Information about the formal API definition for the app. + APIDefinition *APIDefinitionInfo `json:"apiDefinition,omitempty"` + // AutoSwapSlotName - Auto-swap slot name. + AutoSwapSlotName *string `json:"autoSwapSlotName,omitempty"` + // LocalMySQLEnabled - true to enable local MySQL; otherwise, false. + LocalMySQLEnabled *bool `json:"localMySqlEnabled,omitempty"` + // ManagedServiceIdentityID - Managed Service Identity Id + ManagedServiceIdentityID *int32 `json:"managedServiceIdentityId,omitempty"` + // XManagedServiceIdentityID - Explicit Managed Service Identity Id + XManagedServiceIdentityID *int32 `json:"xManagedServiceIdentityId,omitempty"` + // IPSecurityRestrictions - IP security restrictions for main. + IPSecurityRestrictions *[]IPSecurityRestriction `json:"ipSecurityRestrictions,omitempty"` + // ScmIPSecurityRestrictions - IP security restrictions for scm. + ScmIPSecurityRestrictions *[]IPSecurityRestriction `json:"scmIpSecurityRestrictions,omitempty"` + // ScmIPSecurityRestrictionsUseMain - IP security restrictions for scm to use main. + ScmIPSecurityRestrictionsUseMain *bool `json:"scmIpSecurityRestrictionsUseMain,omitempty"` + // HTTP20Enabled - Http20Enabled: configures a web site to allow clients to connect over http2.0 + HTTP20Enabled *bool `json:"http20Enabled,omitempty"` + // MinTLSVersion - MinTlsVersion: configures the minimum version of TLS required for SSL requests. Possible values include: 'OneFullStopZero', 'OneFullStopOne', 'OneFullStopTwo' + MinTLSVersion SupportedTLSVersions `json:"minTlsVersion,omitempty"` + // FtpsState - State of FTP / FTPS service. Possible values include: 'AllAllowed', 'FtpsOnly', 'Disabled' + FtpsState FtpsState `json:"ftpsState,omitempty"` + // ReservedInstanceCount - Number of reserved instances. + // This setting only applies to the Consumption Plan + ReservedInstanceCount *int32 `json:"reservedInstanceCount,omitempty"` +} + +// MarshalJSON is the custom marshaler for SiteConfig. +func (sc SiteConfig) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if sc.NumberOfWorkers != nil { + objectMap["numberOfWorkers"] = sc.NumberOfWorkers + } + if sc.DefaultDocuments != nil { + objectMap["defaultDocuments"] = sc.DefaultDocuments + } + if sc.NetFrameworkVersion != nil { + objectMap["netFrameworkVersion"] = sc.NetFrameworkVersion + } + if sc.PhpVersion != nil { + objectMap["phpVersion"] = sc.PhpVersion + } + if sc.PythonVersion != nil { + objectMap["pythonVersion"] = sc.PythonVersion + } + if sc.NodeVersion != nil { + objectMap["nodeVersion"] = sc.NodeVersion + } + if sc.LinuxFxVersion != nil { + objectMap["linuxFxVersion"] = sc.LinuxFxVersion + } + if sc.WindowsFxVersion != nil { + objectMap["windowsFxVersion"] = sc.WindowsFxVersion + } + if sc.RequestTracingEnabled != nil { + objectMap["requestTracingEnabled"] = sc.RequestTracingEnabled + } + if sc.RequestTracingExpirationTime != nil { + objectMap["requestTracingExpirationTime"] = sc.RequestTracingExpirationTime + } + if sc.RemoteDebuggingEnabled != nil { + objectMap["remoteDebuggingEnabled"] = sc.RemoteDebuggingEnabled + } + if sc.RemoteDebuggingVersion != nil { + objectMap["remoteDebuggingVersion"] = sc.RemoteDebuggingVersion + } + if sc.HTTPLoggingEnabled != nil { + objectMap["httpLoggingEnabled"] = sc.HTTPLoggingEnabled + } + if sc.LogsDirectorySizeLimit != nil { + objectMap["logsDirectorySizeLimit"] = sc.LogsDirectorySizeLimit + } + if sc.DetailedErrorLoggingEnabled != nil { + objectMap["detailedErrorLoggingEnabled"] = sc.DetailedErrorLoggingEnabled + } + if sc.PublishingUsername != nil { + objectMap["publishingUsername"] = sc.PublishingUsername + } + if sc.AppSettings != nil { + objectMap["appSettings"] = sc.AppSettings + } + if sc.AzureStorageAccounts != nil { + objectMap["azureStorageAccounts"] = sc.AzureStorageAccounts + } + if sc.ConnectionStrings != nil { + objectMap["connectionStrings"] = sc.ConnectionStrings + } + if sc.HandlerMappings != nil { + objectMap["handlerMappings"] = sc.HandlerMappings + } + if sc.DocumentRoot != nil { + objectMap["documentRoot"] = sc.DocumentRoot + } + if sc.ScmType != "" { + objectMap["scmType"] = sc.ScmType + } + if sc.Use32BitWorkerProcess != nil { + objectMap["use32BitWorkerProcess"] = sc.Use32BitWorkerProcess + } + if sc.WebSocketsEnabled != nil { + objectMap["webSocketsEnabled"] = sc.WebSocketsEnabled + } + if sc.AlwaysOn != nil { + objectMap["alwaysOn"] = sc.AlwaysOn + } + if sc.JavaVersion != nil { + objectMap["javaVersion"] = sc.JavaVersion + } + if sc.JavaContainer != nil { + objectMap["javaContainer"] = sc.JavaContainer + } + if sc.JavaContainerVersion != nil { + objectMap["javaContainerVersion"] = sc.JavaContainerVersion + } + if sc.AppCommandLine != nil { + objectMap["appCommandLine"] = sc.AppCommandLine + } + if sc.ManagedPipelineMode != "" { + objectMap["managedPipelineMode"] = sc.ManagedPipelineMode + } + if sc.VirtualApplications != nil { + objectMap["virtualApplications"] = sc.VirtualApplications + } + if sc.LoadBalancing != "" { + objectMap["loadBalancing"] = sc.LoadBalancing + } + if sc.Experiments != nil { + objectMap["experiments"] = sc.Experiments + } + if sc.Limits != nil { + objectMap["limits"] = sc.Limits + } + if sc.AutoHealEnabled != nil { + objectMap["autoHealEnabled"] = sc.AutoHealEnabled + } + if sc.AutoHealRules != nil { + objectMap["autoHealRules"] = sc.AutoHealRules + } + if sc.TracingOptions != nil { + objectMap["tracingOptions"] = sc.TracingOptions + } + if sc.VnetName != nil { + objectMap["vnetName"] = sc.VnetName + } + if sc.Cors != nil { + objectMap["cors"] = sc.Cors + } + if sc.Push != nil { + objectMap["push"] = sc.Push + } + if sc.APIDefinition != nil { + objectMap["apiDefinition"] = sc.APIDefinition + } + if sc.AutoSwapSlotName != nil { + objectMap["autoSwapSlotName"] = sc.AutoSwapSlotName + } + if sc.LocalMySQLEnabled != nil { + objectMap["localMySqlEnabled"] = sc.LocalMySQLEnabled + } + if sc.ManagedServiceIdentityID != nil { + objectMap["managedServiceIdentityId"] = sc.ManagedServiceIdentityID + } + if sc.XManagedServiceIdentityID != nil { + objectMap["xManagedServiceIdentityId"] = sc.XManagedServiceIdentityID + } + if sc.IPSecurityRestrictions != nil { + objectMap["ipSecurityRestrictions"] = sc.IPSecurityRestrictions + } + if sc.ScmIPSecurityRestrictions != nil { + objectMap["scmIpSecurityRestrictions"] = sc.ScmIPSecurityRestrictions + } + if sc.ScmIPSecurityRestrictionsUseMain != nil { + objectMap["scmIpSecurityRestrictionsUseMain"] = sc.ScmIPSecurityRestrictionsUseMain + } + if sc.HTTP20Enabled != nil { + objectMap["http20Enabled"] = sc.HTTP20Enabled + } + if sc.MinTLSVersion != "" { + objectMap["minTlsVersion"] = sc.MinTLSVersion + } + if sc.FtpsState != "" { + objectMap["ftpsState"] = sc.FtpsState + } + if sc.ReservedInstanceCount != nil { + objectMap["reservedInstanceCount"] = sc.ReservedInstanceCount + } + return json.Marshal(objectMap) +} + +// SiteConfigResource web app configuration ARM resource. +type SiteConfigResource struct { + autorest.Response `json:"-"` + // SiteConfig - Core resource properties + *SiteConfig `json:"properties,omitempty"` + // ID - READ-ONLY; Resource Id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource Name. + Name *string `json:"name,omitempty"` + // Kind - Kind of resource. + Kind *string `json:"kind,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for SiteConfigResource. +func (scr SiteConfigResource) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if scr.SiteConfig != nil { + objectMap["properties"] = scr.SiteConfig + } + if scr.Kind != nil { + objectMap["kind"] = scr.Kind + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for SiteConfigResource struct. +func (scr *SiteConfigResource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var siteConfig SiteConfig + err = json.Unmarshal(*v, &siteConfig) + if err != nil { + return err + } + scr.SiteConfig = &siteConfig + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + scr.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + scr.Name = &name + } + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + scr.Kind = &kind + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + scr.Type = &typeVar + } + } + } + + return nil +} + +// SiteConfigResourceCollection collection of site configurations. +type SiteConfigResourceCollection struct { + autorest.Response `json:"-"` + // Value - Collection of resources. + Value *[]SiteConfigResource `json:"value,omitempty"` + // NextLink - READ-ONLY; Link to next page of resources. + NextLink *string `json:"nextLink,omitempty"` +} + +// SiteConfigResourceCollectionIterator provides access to a complete listing of SiteConfigResource values. +type SiteConfigResourceCollectionIterator struct { + i int + page SiteConfigResourceCollectionPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *SiteConfigResourceCollectionIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SiteConfigResourceCollectionIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *SiteConfigResourceCollectionIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter SiteConfigResourceCollectionIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter SiteConfigResourceCollectionIterator) Response() SiteConfigResourceCollection { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter SiteConfigResourceCollectionIterator) Value() SiteConfigResource { + if !iter.page.NotDone() { + return SiteConfigResource{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the SiteConfigResourceCollectionIterator type. +func NewSiteConfigResourceCollectionIterator(page SiteConfigResourceCollectionPage) SiteConfigResourceCollectionIterator { + return SiteConfigResourceCollectionIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (scrc SiteConfigResourceCollection) IsEmpty() bool { + return scrc.Value == nil || len(*scrc.Value) == 0 +} + +// siteConfigResourceCollectionPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (scrc SiteConfigResourceCollection) siteConfigResourceCollectionPreparer(ctx context.Context) (*http.Request, error) { + if scrc.NextLink == nil || len(to.String(scrc.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(scrc.NextLink))) +} + +// SiteConfigResourceCollectionPage contains a page of SiteConfigResource values. +type SiteConfigResourceCollectionPage struct { + fn func(context.Context, SiteConfigResourceCollection) (SiteConfigResourceCollection, error) + scrc SiteConfigResourceCollection +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *SiteConfigResourceCollectionPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SiteConfigResourceCollectionPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.scrc) + if err != nil { + return err + } + page.scrc = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *SiteConfigResourceCollectionPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page SiteConfigResourceCollectionPage) NotDone() bool { + return !page.scrc.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page SiteConfigResourceCollectionPage) Response() SiteConfigResourceCollection { + return page.scrc +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page SiteConfigResourceCollectionPage) Values() []SiteConfigResource { + if page.scrc.IsEmpty() { + return nil + } + return *page.scrc.Value +} + +// Creates a new instance of the SiteConfigResourceCollectionPage type. +func NewSiteConfigResourceCollectionPage(getNextPage func(context.Context, SiteConfigResourceCollection) (SiteConfigResourceCollection, error)) SiteConfigResourceCollectionPage { + return SiteConfigResourceCollectionPage{fn: getNextPage} +} + +// SiteConfigurationSnapshotInfo a snapshot of a web app configuration. +type SiteConfigurationSnapshotInfo struct { + // SiteConfigurationSnapshotInfoProperties - SiteConfigurationSnapshotInfo resource specific properties + *SiteConfigurationSnapshotInfoProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource Id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource Name. + Name *string `json:"name,omitempty"` + // Kind - Kind of resource. + Kind *string `json:"kind,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for SiteConfigurationSnapshotInfo. +func (scsi SiteConfigurationSnapshotInfo) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if scsi.SiteConfigurationSnapshotInfoProperties != nil { + objectMap["properties"] = scsi.SiteConfigurationSnapshotInfoProperties + } + if scsi.Kind != nil { + objectMap["kind"] = scsi.Kind + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for SiteConfigurationSnapshotInfo struct. +func (scsi *SiteConfigurationSnapshotInfo) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var siteConfigurationSnapshotInfoProperties SiteConfigurationSnapshotInfoProperties + err = json.Unmarshal(*v, &siteConfigurationSnapshotInfoProperties) + if err != nil { + return err + } + scsi.SiteConfigurationSnapshotInfoProperties = &siteConfigurationSnapshotInfoProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + scsi.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + scsi.Name = &name + } + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + scsi.Kind = &kind + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + scsi.Type = &typeVar + } + } + } + + return nil +} + +// SiteConfigurationSnapshotInfoCollection collection of metadata for the app configuration snapshots that +// can be restored. +type SiteConfigurationSnapshotInfoCollection struct { + autorest.Response `json:"-"` + // Value - Collection of resources. + Value *[]SiteConfigurationSnapshotInfo `json:"value,omitempty"` + // NextLink - READ-ONLY; Link to next page of resources. + NextLink *string `json:"nextLink,omitempty"` +} + +// SiteConfigurationSnapshotInfoCollectionIterator provides access to a complete listing of +// SiteConfigurationSnapshotInfo values. +type SiteConfigurationSnapshotInfoCollectionIterator struct { + i int + page SiteConfigurationSnapshotInfoCollectionPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *SiteConfigurationSnapshotInfoCollectionIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SiteConfigurationSnapshotInfoCollectionIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *SiteConfigurationSnapshotInfoCollectionIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter SiteConfigurationSnapshotInfoCollectionIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter SiteConfigurationSnapshotInfoCollectionIterator) Response() SiteConfigurationSnapshotInfoCollection { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter SiteConfigurationSnapshotInfoCollectionIterator) Value() SiteConfigurationSnapshotInfo { + if !iter.page.NotDone() { + return SiteConfigurationSnapshotInfo{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the SiteConfigurationSnapshotInfoCollectionIterator type. +func NewSiteConfigurationSnapshotInfoCollectionIterator(page SiteConfigurationSnapshotInfoCollectionPage) SiteConfigurationSnapshotInfoCollectionIterator { + return SiteConfigurationSnapshotInfoCollectionIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (scsic SiteConfigurationSnapshotInfoCollection) IsEmpty() bool { + return scsic.Value == nil || len(*scsic.Value) == 0 +} + +// siteConfigurationSnapshotInfoCollectionPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (scsic SiteConfigurationSnapshotInfoCollection) siteConfigurationSnapshotInfoCollectionPreparer(ctx context.Context) (*http.Request, error) { + if scsic.NextLink == nil || len(to.String(scsic.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(scsic.NextLink))) +} + +// SiteConfigurationSnapshotInfoCollectionPage contains a page of SiteConfigurationSnapshotInfo values. +type SiteConfigurationSnapshotInfoCollectionPage struct { + fn func(context.Context, SiteConfigurationSnapshotInfoCollection) (SiteConfigurationSnapshotInfoCollection, error) + scsic SiteConfigurationSnapshotInfoCollection +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *SiteConfigurationSnapshotInfoCollectionPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SiteConfigurationSnapshotInfoCollectionPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.scsic) + if err != nil { + return err + } + page.scsic = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *SiteConfigurationSnapshotInfoCollectionPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page SiteConfigurationSnapshotInfoCollectionPage) NotDone() bool { + return !page.scsic.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page SiteConfigurationSnapshotInfoCollectionPage) Response() SiteConfigurationSnapshotInfoCollection { + return page.scsic +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page SiteConfigurationSnapshotInfoCollectionPage) Values() []SiteConfigurationSnapshotInfo { + if page.scsic.IsEmpty() { + return nil + } + return *page.scsic.Value +} + +// Creates a new instance of the SiteConfigurationSnapshotInfoCollectionPage type. +func NewSiteConfigurationSnapshotInfoCollectionPage(getNextPage func(context.Context, SiteConfigurationSnapshotInfoCollection) (SiteConfigurationSnapshotInfoCollection, error)) SiteConfigurationSnapshotInfoCollectionPage { + return SiteConfigurationSnapshotInfoCollectionPage{fn: getNextPage} +} + +// SiteConfigurationSnapshotInfoProperties siteConfigurationSnapshotInfo resource specific properties +type SiteConfigurationSnapshotInfoProperties struct { + // Time - READ-ONLY; The time the snapshot was taken. + Time *date.Time `json:"time,omitempty"` + // SnapshotID - READ-ONLY; The id of the snapshot + SnapshotID *int32 `json:"snapshotId,omitempty"` +} + +// SiteExtensionInfo site Extension Information. +type SiteExtensionInfo struct { + autorest.Response `json:"-"` + // SiteExtensionInfoProperties - SiteExtensionInfo resource specific properties + *SiteExtensionInfoProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource Id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource Name. + Name *string `json:"name,omitempty"` + // Kind - Kind of resource. + Kind *string `json:"kind,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for SiteExtensionInfo. +func (sei SiteExtensionInfo) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if sei.SiteExtensionInfoProperties != nil { + objectMap["properties"] = sei.SiteExtensionInfoProperties + } + if sei.Kind != nil { + objectMap["kind"] = sei.Kind + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for SiteExtensionInfo struct. +func (sei *SiteExtensionInfo) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var siteExtensionInfoProperties SiteExtensionInfoProperties + err = json.Unmarshal(*v, &siteExtensionInfoProperties) + if err != nil { + return err + } + sei.SiteExtensionInfoProperties = &siteExtensionInfoProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + sei.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + sei.Name = &name + } + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + sei.Kind = &kind + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + sei.Type = &typeVar + } + } + } + + return nil +} + +// SiteExtensionInfoCollection collection of Kudu site extension information elements. +type SiteExtensionInfoCollection struct { + autorest.Response `json:"-"` + // Value - Collection of resources. + Value *[]SiteExtensionInfo `json:"value,omitempty"` + // NextLink - READ-ONLY; Link to next page of resources. + NextLink *string `json:"nextLink,omitempty"` +} + +// SiteExtensionInfoCollectionIterator provides access to a complete listing of SiteExtensionInfo values. +type SiteExtensionInfoCollectionIterator struct { + i int + page SiteExtensionInfoCollectionPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *SiteExtensionInfoCollectionIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SiteExtensionInfoCollectionIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *SiteExtensionInfoCollectionIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter SiteExtensionInfoCollectionIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter SiteExtensionInfoCollectionIterator) Response() SiteExtensionInfoCollection { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter SiteExtensionInfoCollectionIterator) Value() SiteExtensionInfo { + if !iter.page.NotDone() { + return SiteExtensionInfo{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the SiteExtensionInfoCollectionIterator type. +func NewSiteExtensionInfoCollectionIterator(page SiteExtensionInfoCollectionPage) SiteExtensionInfoCollectionIterator { + return SiteExtensionInfoCollectionIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (seic SiteExtensionInfoCollection) IsEmpty() bool { + return seic.Value == nil || len(*seic.Value) == 0 +} + +// siteExtensionInfoCollectionPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (seic SiteExtensionInfoCollection) siteExtensionInfoCollectionPreparer(ctx context.Context) (*http.Request, error) { + if seic.NextLink == nil || len(to.String(seic.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(seic.NextLink))) +} + +// SiteExtensionInfoCollectionPage contains a page of SiteExtensionInfo values. +type SiteExtensionInfoCollectionPage struct { + fn func(context.Context, SiteExtensionInfoCollection) (SiteExtensionInfoCollection, error) + seic SiteExtensionInfoCollection +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *SiteExtensionInfoCollectionPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SiteExtensionInfoCollectionPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.seic) + if err != nil { + return err + } + page.seic = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *SiteExtensionInfoCollectionPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page SiteExtensionInfoCollectionPage) NotDone() bool { + return !page.seic.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page SiteExtensionInfoCollectionPage) Response() SiteExtensionInfoCollection { + return page.seic +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page SiteExtensionInfoCollectionPage) Values() []SiteExtensionInfo { + if page.seic.IsEmpty() { + return nil + } + return *page.seic.Value +} + +// Creates a new instance of the SiteExtensionInfoCollectionPage type. +func NewSiteExtensionInfoCollectionPage(getNextPage func(context.Context, SiteExtensionInfoCollection) (SiteExtensionInfoCollection, error)) SiteExtensionInfoCollectionPage { + return SiteExtensionInfoCollectionPage{fn: getNextPage} +} + +// SiteExtensionInfoProperties siteExtensionInfo resource specific properties +type SiteExtensionInfoProperties struct { + // ExtensionID - Site extension ID. + ExtensionID *string `json:"extension_id,omitempty"` + Title *string `json:"title,omitempty"` + // ExtensionType - Site extension type. Possible values include: 'Gallery', 'WebRoot' + ExtensionType SiteExtensionType `json:"extension_type,omitempty"` + // Summary - Summary description. + Summary *string `json:"summary,omitempty"` + // Description - Detailed description. + Description *string `json:"description,omitempty"` + // Version - Version information. + Version *string `json:"version,omitempty"` + // ExtensionURL - Extension URL. + ExtensionURL *string `json:"extension_url,omitempty"` + // ProjectURL - Project URL. + ProjectURL *string `json:"project_url,omitempty"` + // IconURL - Icon URL. + IconURL *string `json:"icon_url,omitempty"` + // LicenseURL - License URL. + LicenseURL *string `json:"license_url,omitempty"` + // FeedURL - Feed URL. + FeedURL *string `json:"feed_url,omitempty"` + // Authors - List of authors. + Authors *[]string `json:"authors,omitempty"` + // InstallerCommandLineParams - Installer command line parameters. + InstallerCommandLineParams *string `json:"installer_command_line_params,omitempty"` + // PublishedDateTime - Published timestamp. + PublishedDateTime *date.Time `json:"published_date_time,omitempty"` + // DownloadCount - Count of downloads. + DownloadCount *int32 `json:"download_count,omitempty"` + // LocalIsLatestVersion - true if the local version is the latest version; false otherwise. + LocalIsLatestVersion *bool `json:"local_is_latest_version,omitempty"` + // LocalPath - Local path. + LocalPath *string `json:"local_path,omitempty"` + // InstalledDateTime - Installed timestamp. + InstalledDateTime *date.Time `json:"installed_date_time,omitempty"` + // ProvisioningState - Provisioning state. + ProvisioningState *string `json:"provisioningState,omitempty"` + // Comment - Site Extension comment. + Comment *string `json:"comment,omitempty"` +} + +// SiteInstance instance of an app. +type SiteInstance struct { + // SiteInstanceProperties - SiteInstance resource specific properties + *SiteInstanceProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource Id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource Name. + Name *string `json:"name,omitempty"` + // Kind - Kind of resource. + Kind *string `json:"kind,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for SiteInstance. +func (si SiteInstance) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if si.SiteInstanceProperties != nil { + objectMap["properties"] = si.SiteInstanceProperties + } + if si.Kind != nil { + objectMap["kind"] = si.Kind + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for SiteInstance struct. +func (si *SiteInstance) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var siteInstanceProperties SiteInstanceProperties + err = json.Unmarshal(*v, &siteInstanceProperties) + if err != nil { + return err + } + si.SiteInstanceProperties = &siteInstanceProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + si.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + si.Name = &name + } + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + si.Kind = &kind + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + si.Type = &typeVar + } + } + } + + return nil +} + +// SiteInstanceProperties siteInstance resource specific properties +type SiteInstanceProperties struct { + // SiteInstanceName - READ-ONLY; Name of instance. + SiteInstanceName *string `json:"siteInstanceName,omitempty"` +} + +// SiteLimits metric limits set on an app. +type SiteLimits struct { + // MaxPercentageCPU - Maximum allowed CPU usage percentage. + MaxPercentageCPU *float64 `json:"maxPercentageCpu,omitempty"` + // MaxMemoryInMb - Maximum allowed memory usage in MB. + MaxMemoryInMb *int64 `json:"maxMemoryInMb,omitempty"` + // MaxDiskSizeInMb - Maximum allowed disk size usage in MB. + MaxDiskSizeInMb *int64 `json:"maxDiskSizeInMb,omitempty"` +} + +// SiteLogsConfig configuration of App Service site logs. +type SiteLogsConfig struct { + autorest.Response `json:"-"` + // SiteLogsConfigProperties - SiteLogsConfig resource specific properties + *SiteLogsConfigProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource Id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource Name. + Name *string `json:"name,omitempty"` + // Kind - Kind of resource. + Kind *string `json:"kind,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for SiteLogsConfig. +func (slc SiteLogsConfig) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if slc.SiteLogsConfigProperties != nil { + objectMap["properties"] = slc.SiteLogsConfigProperties + } + if slc.Kind != nil { + objectMap["kind"] = slc.Kind + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for SiteLogsConfig struct. +func (slc *SiteLogsConfig) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var siteLogsConfigProperties SiteLogsConfigProperties + err = json.Unmarshal(*v, &siteLogsConfigProperties) + if err != nil { + return err + } + slc.SiteLogsConfigProperties = &siteLogsConfigProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + slc.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + slc.Name = &name + } + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + slc.Kind = &kind + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + slc.Type = &typeVar + } + } + } + + return nil +} + +// SiteLogsConfigProperties siteLogsConfig resource specific properties +type SiteLogsConfigProperties struct { + // ApplicationLogs - Application logs configuration. + ApplicationLogs *ApplicationLogsConfig `json:"applicationLogs,omitempty"` + // HTTPLogs - HTTP logs configuration. + HTTPLogs *HTTPLogsConfig `json:"httpLogs,omitempty"` + // FailedRequestsTracing - Failed requests tracing configuration. + FailedRequestsTracing *EnabledConfig `json:"failedRequestsTracing,omitempty"` + // DetailedErrorMessages - Detailed error messages configuration. + DetailedErrorMessages *EnabledConfig `json:"detailedErrorMessages,omitempty"` +} + +// SiteMachineKey machineKey of an app. +type SiteMachineKey struct { + // Validation - MachineKey validation. + Validation *string `json:"validation,omitempty"` + // ValidationKey - Validation key. + ValidationKey *string `json:"validationKey,omitempty"` + // Decryption - Algorithm used for decryption. + Decryption *string `json:"decryption,omitempty"` + // DecryptionKey - Decryption key. + DecryptionKey *string `json:"decryptionKey,omitempty"` +} + +// SitePatchResource ARM resource for a site. +type SitePatchResource struct { + // SitePatchResourceProperties - SitePatchResource resource specific properties + *SitePatchResourceProperties `json:"properties,omitempty"` + Identity *ManagedServiceIdentity `json:"identity,omitempty"` + // ID - READ-ONLY; Resource Id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource Name. + Name *string `json:"name,omitempty"` + // Kind - Kind of resource. + Kind *string `json:"kind,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for SitePatchResource. +func (spr SitePatchResource) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if spr.SitePatchResourceProperties != nil { + objectMap["properties"] = spr.SitePatchResourceProperties + } + if spr.Identity != nil { + objectMap["identity"] = spr.Identity + } + if spr.Kind != nil { + objectMap["kind"] = spr.Kind + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for SitePatchResource struct. +func (spr *SitePatchResource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var sitePatchResourceProperties SitePatchResourceProperties + err = json.Unmarshal(*v, &sitePatchResourceProperties) + if err != nil { + return err + } + spr.SitePatchResourceProperties = &sitePatchResourceProperties + } + case "identity": + if v != nil { + var identity ManagedServiceIdentity + err = json.Unmarshal(*v, &identity) + if err != nil { + return err + } + spr.Identity = &identity + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + spr.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + spr.Name = &name + } + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + spr.Kind = &kind + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + spr.Type = &typeVar + } + } + } + + return nil +} + +// SitePatchResourceProperties sitePatchResource resource specific properties +type SitePatchResourceProperties struct { + // State - READ-ONLY; Current state of the app. + State *string `json:"state,omitempty"` + // HostNames - READ-ONLY; Hostnames associated with the app. + HostNames *[]string `json:"hostNames,omitempty"` + // RepositorySiteName - READ-ONLY; Name of the repository site. + RepositorySiteName *string `json:"repositorySiteName,omitempty"` + // UsageState - READ-ONLY; State indicating whether the app has exceeded its quota usage. Read-only. Possible values include: 'UsageStateNormal', 'UsageStateExceeded' + UsageState UsageState `json:"usageState,omitempty"` + // Enabled - true if the app is enabled; otherwise, false. Setting this value to false disables the app (takes the app offline). + Enabled *bool `json:"enabled,omitempty"` + // EnabledHostNames - READ-ONLY; Enabled hostnames for the app.Hostnames need to be assigned (see HostNames) AND enabled. Otherwise, + // the app is not served on those hostnames. + EnabledHostNames *[]string `json:"enabledHostNames,omitempty"` + // AvailabilityState - READ-ONLY; Management information availability state for the app. Possible values include: 'Normal', 'Limited', 'DisasterRecoveryMode' + AvailabilityState SiteAvailabilityState `json:"availabilityState,omitempty"` + // HostNameSslStates - Hostname SSL states are used to manage the SSL bindings for app's hostnames. + HostNameSslStates *[]HostNameSslState `json:"hostNameSslStates,omitempty"` + // ServerFarmID - Resource ID of the associated App Service plan, formatted as: "/subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}". + ServerFarmID *string `json:"serverFarmId,omitempty"` + // Reserved - true if reserved; otherwise, false. + Reserved *bool `json:"reserved,omitempty"` + // IsXenon - Obsolete: Hyper-V sandbox. + IsXenon *bool `json:"isXenon,omitempty"` + // HyperV - Hyper-V sandbox. + HyperV *bool `json:"hyperV,omitempty"` + // LastModifiedTimeUtc - READ-ONLY; Last time the app was modified, in UTC. Read-only. + LastModifiedTimeUtc *date.Time `json:"lastModifiedTimeUtc,omitempty"` + // SiteConfig - Configuration of the app. + SiteConfig *SiteConfig `json:"siteConfig,omitempty"` + // TrafficManagerHostNames - READ-ONLY; Azure Traffic Manager hostnames associated with the app. Read-only. + TrafficManagerHostNames *[]string `json:"trafficManagerHostNames,omitempty"` + // ScmSiteAlsoStopped - true to stop SCM (KUDU) site when the app is stopped; otherwise, false. The default is false. + ScmSiteAlsoStopped *bool `json:"scmSiteAlsoStopped,omitempty"` + // TargetSwapSlot - READ-ONLY; Specifies which deployment slot this app will swap into. Read-only. + TargetSwapSlot *string `json:"targetSwapSlot,omitempty"` + // HostingEnvironmentProfile - App Service Environment to use for the app. + HostingEnvironmentProfile *HostingEnvironmentProfile `json:"hostingEnvironmentProfile,omitempty"` + // ClientAffinityEnabled - true to enable client affinity; false to stop sending session affinity cookies, which route client requests in the same session to the same instance. Default is true. + ClientAffinityEnabled *bool `json:"clientAffinityEnabled,omitempty"` + // ClientCertEnabled - true to enable client certificate authentication (TLS mutual authentication); otherwise, false. Default is false. + ClientCertEnabled *bool `json:"clientCertEnabled,omitempty"` + // ClientCertExclusionPaths - client certificate authentication comma-separated exclusion paths + ClientCertExclusionPaths *string `json:"clientCertExclusionPaths,omitempty"` + // HostNamesDisabled - true to disable the public hostnames of the app; otherwise, false. + // If true, the app is only accessible via API management process. + HostNamesDisabled *bool `json:"hostNamesDisabled,omitempty"` + // OutboundIPAddresses - READ-ONLY; List of IP addresses that the app uses for outbound connections (e.g. database access). Includes VIPs from tenants that site can be hosted with current settings. Read-only. + OutboundIPAddresses *string `json:"outboundIpAddresses,omitempty"` + // PossibleOutboundIPAddresses - READ-ONLY; List of IP addresses that the app uses for outbound connections (e.g. database access). Includes VIPs from all tenants. Read-only. + PossibleOutboundIPAddresses *string `json:"possibleOutboundIpAddresses,omitempty"` + // ContainerSize - Size of the function container. + ContainerSize *int32 `json:"containerSize,omitempty"` + // DailyMemoryTimeQuota - Maximum allowed daily memory-time quota (applicable on dynamic apps only). + DailyMemoryTimeQuota *int32 `json:"dailyMemoryTimeQuota,omitempty"` + // SuspendedTill - READ-ONLY; App suspended till in case memory-time quota is exceeded. + SuspendedTill *date.Time `json:"suspendedTill,omitempty"` + // MaxNumberOfWorkers - READ-ONLY; Maximum number of workers. + // This only applies to Functions container. + MaxNumberOfWorkers *int32 `json:"maxNumberOfWorkers,omitempty"` + // CloningInfo - If specified during app creation, the app is cloned from a source app. + CloningInfo *CloningInfo `json:"cloningInfo,omitempty"` + // ResourceGroup - READ-ONLY; Name of the resource group the app belongs to. Read-only. + ResourceGroup *string `json:"resourceGroup,omitempty"` + // IsDefaultContainer - READ-ONLY; true if the app is a default container; otherwise, false. + IsDefaultContainer *bool `json:"isDefaultContainer,omitempty"` + // DefaultHostName - READ-ONLY; Default hostname of the app. Read-only. + DefaultHostName *string `json:"defaultHostName,omitempty"` + // SlotSwapStatus - READ-ONLY; Status of the last deployment slot swap operation. + SlotSwapStatus *SlotSwapStatus `json:"slotSwapStatus,omitempty"` + // HTTPSOnly - HttpsOnly: configures a web site to accept only https requests. Issues redirect for + // http requests + HTTPSOnly *bool `json:"httpsOnly,omitempty"` + // RedundancyMode - Site redundancy mode. Possible values include: 'RedundancyModeNone', 'RedundancyModeManual', 'RedundancyModeFailover', 'RedundancyModeActiveActive', 'RedundancyModeGeoRedundant' + RedundancyMode RedundancyMode `json:"redundancyMode,omitempty"` + // InProgressOperationID - READ-ONLY; Specifies an operation id if this site has a pending operation. + InProgressOperationID *uuid.UUID `json:"inProgressOperationId,omitempty"` + // GeoDistributions - GeoDistributions for this site + GeoDistributions *[]GeoDistribution `json:"geoDistributions,omitempty"` +} + +// SitePhpErrorLogFlag used for getting PHP error logging flag. +type SitePhpErrorLogFlag struct { + autorest.Response `json:"-"` + // SitePhpErrorLogFlagProperties - SitePhpErrorLogFlag resource specific properties + *SitePhpErrorLogFlagProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource Id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource Name. + Name *string `json:"name,omitempty"` + // Kind - Kind of resource. + Kind *string `json:"kind,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for SitePhpErrorLogFlag. +func (spelf SitePhpErrorLogFlag) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if spelf.SitePhpErrorLogFlagProperties != nil { + objectMap["properties"] = spelf.SitePhpErrorLogFlagProperties + } + if spelf.Kind != nil { + objectMap["kind"] = spelf.Kind + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for SitePhpErrorLogFlag struct. +func (spelf *SitePhpErrorLogFlag) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var sitePhpErrorLogFlagProperties SitePhpErrorLogFlagProperties + err = json.Unmarshal(*v, &sitePhpErrorLogFlagProperties) + if err != nil { + return err + } + spelf.SitePhpErrorLogFlagProperties = &sitePhpErrorLogFlagProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + spelf.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + spelf.Name = &name + } + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + spelf.Kind = &kind + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + spelf.Type = &typeVar + } + } + } + + return nil +} + +// SitePhpErrorLogFlagProperties sitePhpErrorLogFlag resource specific properties +type SitePhpErrorLogFlagProperties struct { + // LocalLogErrors - Local log_errors setting. + LocalLogErrors *string `json:"localLogErrors,omitempty"` + // MasterLogErrors - Master log_errors setting. + MasterLogErrors *string `json:"masterLogErrors,omitempty"` + // LocalLogErrorsMaxLength - Local log_errors_max_len setting. + LocalLogErrorsMaxLength *string `json:"localLogErrorsMaxLength,omitempty"` + // MasterLogErrorsMaxLength - Master log_errors_max_len setting. + MasterLogErrorsMaxLength *string `json:"masterLogErrorsMaxLength,omitempty"` +} + +// SiteProperties site resource specific properties +type SiteProperties struct { + // State - READ-ONLY; Current state of the app. + State *string `json:"state,omitempty"` + // HostNames - READ-ONLY; Hostnames associated with the app. + HostNames *[]string `json:"hostNames,omitempty"` + // RepositorySiteName - READ-ONLY; Name of the repository site. + RepositorySiteName *string `json:"repositorySiteName,omitempty"` + // UsageState - READ-ONLY; State indicating whether the app has exceeded its quota usage. Read-only. Possible values include: 'UsageStateNormal', 'UsageStateExceeded' + UsageState UsageState `json:"usageState,omitempty"` + // Enabled - true if the app is enabled; otherwise, false. Setting this value to false disables the app (takes the app offline). + Enabled *bool `json:"enabled,omitempty"` + // EnabledHostNames - READ-ONLY; Enabled hostnames for the app.Hostnames need to be assigned (see HostNames) AND enabled. Otherwise, + // the app is not served on those hostnames. + EnabledHostNames *[]string `json:"enabledHostNames,omitempty"` + // AvailabilityState - READ-ONLY; Management information availability state for the app. Possible values include: 'Normal', 'Limited', 'DisasterRecoveryMode' + AvailabilityState SiteAvailabilityState `json:"availabilityState,omitempty"` + // HostNameSslStates - Hostname SSL states are used to manage the SSL bindings for app's hostnames. + HostNameSslStates *[]HostNameSslState `json:"hostNameSslStates,omitempty"` + // ServerFarmID - Resource ID of the associated App Service plan, formatted as: "/subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}". + ServerFarmID *string `json:"serverFarmId,omitempty"` + // Reserved - true if reserved; otherwise, false. + Reserved *bool `json:"reserved,omitempty"` + // IsXenon - Obsolete: Hyper-V sandbox. + IsXenon *bool `json:"isXenon,omitempty"` + // HyperV - Hyper-V sandbox. + HyperV *bool `json:"hyperV,omitempty"` + // LastModifiedTimeUtc - READ-ONLY; Last time the app was modified, in UTC. Read-only. + LastModifiedTimeUtc *date.Time `json:"lastModifiedTimeUtc,omitempty"` + // SiteConfig - Configuration of the app. + SiteConfig *SiteConfig `json:"siteConfig,omitempty"` + // TrafficManagerHostNames - READ-ONLY; Azure Traffic Manager hostnames associated with the app. Read-only. + TrafficManagerHostNames *[]string `json:"trafficManagerHostNames,omitempty"` + // ScmSiteAlsoStopped - true to stop SCM (KUDU) site when the app is stopped; otherwise, false. The default is false. + ScmSiteAlsoStopped *bool `json:"scmSiteAlsoStopped,omitempty"` + // TargetSwapSlot - READ-ONLY; Specifies which deployment slot this app will swap into. Read-only. + TargetSwapSlot *string `json:"targetSwapSlot,omitempty"` + // HostingEnvironmentProfile - App Service Environment to use for the app. + HostingEnvironmentProfile *HostingEnvironmentProfile `json:"hostingEnvironmentProfile,omitempty"` + // ClientAffinityEnabled - true to enable client affinity; false to stop sending session affinity cookies, which route client requests in the same session to the same instance. Default is true. + ClientAffinityEnabled *bool `json:"clientAffinityEnabled,omitempty"` + // ClientCertEnabled - true to enable client certificate authentication (TLS mutual authentication); otherwise, false. Default is false. + ClientCertEnabled *bool `json:"clientCertEnabled,omitempty"` + // ClientCertExclusionPaths - client certificate authentication comma-separated exclusion paths + ClientCertExclusionPaths *string `json:"clientCertExclusionPaths,omitempty"` + // HostNamesDisabled - true to disable the public hostnames of the app; otherwise, false. + // If true, the app is only accessible via API management process. + HostNamesDisabled *bool `json:"hostNamesDisabled,omitempty"` + // OutboundIPAddresses - READ-ONLY; List of IP addresses that the app uses for outbound connections (e.g. database access). Includes VIPs from tenants that site can be hosted with current settings. Read-only. + OutboundIPAddresses *string `json:"outboundIpAddresses,omitempty"` + // PossibleOutboundIPAddresses - READ-ONLY; List of IP addresses that the app uses for outbound connections (e.g. database access). Includes VIPs from all tenants. Read-only. + PossibleOutboundIPAddresses *string `json:"possibleOutboundIpAddresses,omitempty"` + // ContainerSize - Size of the function container. + ContainerSize *int32 `json:"containerSize,omitempty"` + // DailyMemoryTimeQuota - Maximum allowed daily memory-time quota (applicable on dynamic apps only). + DailyMemoryTimeQuota *int32 `json:"dailyMemoryTimeQuota,omitempty"` + // SuspendedTill - READ-ONLY; App suspended till in case memory-time quota is exceeded. + SuspendedTill *date.Time `json:"suspendedTill,omitempty"` + // MaxNumberOfWorkers - READ-ONLY; Maximum number of workers. + // This only applies to Functions container. + MaxNumberOfWorkers *int32 `json:"maxNumberOfWorkers,omitempty"` + // CloningInfo - If specified during app creation, the app is cloned from a source app. + CloningInfo *CloningInfo `json:"cloningInfo,omitempty"` + // ResourceGroup - READ-ONLY; Name of the resource group the app belongs to. Read-only. + ResourceGroup *string `json:"resourceGroup,omitempty"` + // IsDefaultContainer - READ-ONLY; true if the app is a default container; otherwise, false. + IsDefaultContainer *bool `json:"isDefaultContainer,omitempty"` + // DefaultHostName - READ-ONLY; Default hostname of the app. Read-only. + DefaultHostName *string `json:"defaultHostName,omitempty"` + // SlotSwapStatus - READ-ONLY; Status of the last deployment slot swap operation. + SlotSwapStatus *SlotSwapStatus `json:"slotSwapStatus,omitempty"` + // HTTPSOnly - HttpsOnly: configures a web site to accept only https requests. Issues redirect for + // http requests + HTTPSOnly *bool `json:"httpsOnly,omitempty"` + // RedundancyMode - Site redundancy mode. Possible values include: 'RedundancyModeNone', 'RedundancyModeManual', 'RedundancyModeFailover', 'RedundancyModeActiveActive', 'RedundancyModeGeoRedundant' + RedundancyMode RedundancyMode `json:"redundancyMode,omitempty"` + // InProgressOperationID - READ-ONLY; Specifies an operation id if this site has a pending operation. + InProgressOperationID *uuid.UUID `json:"inProgressOperationId,omitempty"` + // GeoDistributions - GeoDistributions for this site + GeoDistributions *[]GeoDistribution `json:"geoDistributions,omitempty"` +} + +// SiteSeal site seal +type SiteSeal struct { + autorest.Response `json:"-"` + // HTML - HTML snippet + HTML *string `json:"html,omitempty"` +} + +// SiteSealRequest site seal request. +type SiteSealRequest struct { + // LightTheme - If true use the light color theme for site seal; otherwise, use the default color theme. + LightTheme *bool `json:"lightTheme,omitempty"` + // Locale - Locale of site seal. + Locale *string `json:"locale,omitempty"` +} + +// SiteSourceControl source control configuration for an app. +type SiteSourceControl struct { + autorest.Response `json:"-"` + // SiteSourceControlProperties - SiteSourceControl resource specific properties + *SiteSourceControlProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource Id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource Name. + Name *string `json:"name,omitempty"` + // Kind - Kind of resource. + Kind *string `json:"kind,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for SiteSourceControl. +func (ssc SiteSourceControl) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if ssc.SiteSourceControlProperties != nil { + objectMap["properties"] = ssc.SiteSourceControlProperties + } + if ssc.Kind != nil { + objectMap["kind"] = ssc.Kind + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for SiteSourceControl struct. +func (ssc *SiteSourceControl) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var siteSourceControlProperties SiteSourceControlProperties + err = json.Unmarshal(*v, &siteSourceControlProperties) + if err != nil { + return err + } + ssc.SiteSourceControlProperties = &siteSourceControlProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + ssc.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + ssc.Name = &name + } + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + ssc.Kind = &kind + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + ssc.Type = &typeVar + } + } + } + + return nil +} + +// SiteSourceControlProperties siteSourceControl resource specific properties +type SiteSourceControlProperties struct { + // RepoURL - Repository or source control URL. + RepoURL *string `json:"repoUrl,omitempty"` + // Branch - Name of branch to use for deployment. + Branch *string `json:"branch,omitempty"` + // IsManualIntegration - true to limit to manual integration; false to enable continuous integration (which configures webhooks into online repos like GitHub). + IsManualIntegration *bool `json:"isManualIntegration,omitempty"` + // DeploymentRollbackEnabled - true to enable deployment rollback; otherwise, false. + DeploymentRollbackEnabled *bool `json:"deploymentRollbackEnabled,omitempty"` + // IsMercurial - true for a Mercurial repository; false for a Git repository. + IsMercurial *bool `json:"isMercurial,omitempty"` +} + +// SkuCapacity description of the App Service plan scale options. +type SkuCapacity struct { + // Minimum - Minimum number of workers for this App Service plan SKU. + Minimum *int32 `json:"minimum,omitempty"` + // Maximum - Maximum number of workers for this App Service plan SKU. + Maximum *int32 `json:"maximum,omitempty"` + // Default - Default number of workers for this App Service plan SKU. + Default *int32 `json:"default,omitempty"` + // ScaleType - Available scale configurations for an App Service plan. + ScaleType *string `json:"scaleType,omitempty"` +} + +// SkuDescription description of a SKU for a scalable resource. +type SkuDescription struct { + // Name - Name of the resource SKU. + Name *string `json:"name,omitempty"` + // Tier - Service tier of the resource SKU. + Tier *string `json:"tier,omitempty"` + // Size - Size specifier of the resource SKU. + Size *string `json:"size,omitempty"` + // Family - Family code of the resource SKU. + Family *string `json:"family,omitempty"` + // Capacity - Current number of instances assigned to the resource. + Capacity *int32 `json:"capacity,omitempty"` + // SkuCapacity - Min, max, and default scale values of the SKU. + SkuCapacity *SkuCapacity `json:"skuCapacity,omitempty"` + // Locations - Locations of the SKU. + Locations *[]string `json:"locations,omitempty"` + // Capabilities - Capabilities of the SKU, e.g., is traffic manager enabled? + Capabilities *[]Capability `json:"capabilities,omitempty"` +} + +// SkuInfo SKU discovery information. +type SkuInfo struct { + // ResourceType - Resource type that this SKU applies to. + ResourceType *string `json:"resourceType,omitempty"` + // Sku - Name and tier of the SKU. + Sku *SkuDescription `json:"sku,omitempty"` + // Capacity - Min, max, and default scale values of the SKU. + Capacity *SkuCapacity `json:"capacity,omitempty"` +} + +// SkuInfoCollection collection of SKU information. +type SkuInfoCollection struct { + autorest.Response `json:"-"` + // Value - Collection of resources. + Value *[]SkuInfo `json:"value,omitempty"` + // NextLink - READ-ONLY; Link to next page of resources. + NextLink *string `json:"nextLink,omitempty"` +} + +// SkuInfoCollectionIterator provides access to a complete listing of SkuInfo values. +type SkuInfoCollectionIterator struct { + i int + page SkuInfoCollectionPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *SkuInfoCollectionIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SkuInfoCollectionIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *SkuInfoCollectionIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter SkuInfoCollectionIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter SkuInfoCollectionIterator) Response() SkuInfoCollection { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter SkuInfoCollectionIterator) Value() SkuInfo { + if !iter.page.NotDone() { + return SkuInfo{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the SkuInfoCollectionIterator type. +func NewSkuInfoCollectionIterator(page SkuInfoCollectionPage) SkuInfoCollectionIterator { + return SkuInfoCollectionIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (sic SkuInfoCollection) IsEmpty() bool { + return sic.Value == nil || len(*sic.Value) == 0 +} + +// skuInfoCollectionPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (sic SkuInfoCollection) skuInfoCollectionPreparer(ctx context.Context) (*http.Request, error) { + if sic.NextLink == nil || len(to.String(sic.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(sic.NextLink))) +} + +// SkuInfoCollectionPage contains a page of SkuInfo values. +type SkuInfoCollectionPage struct { + fn func(context.Context, SkuInfoCollection) (SkuInfoCollection, error) + sic SkuInfoCollection +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *SkuInfoCollectionPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SkuInfoCollectionPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.sic) + if err != nil { + return err + } + page.sic = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *SkuInfoCollectionPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page SkuInfoCollectionPage) NotDone() bool { + return !page.sic.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page SkuInfoCollectionPage) Response() SkuInfoCollection { + return page.sic +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page SkuInfoCollectionPage) Values() []SkuInfo { + if page.sic.IsEmpty() { + return nil + } + return *page.sic.Value +} + +// Creates a new instance of the SkuInfoCollectionPage type. +func NewSkuInfoCollectionPage(getNextPage func(context.Context, SkuInfoCollection) (SkuInfoCollection, error)) SkuInfoCollectionPage { + return SkuInfoCollectionPage{fn: getNextPage} +} + +// SkuInfos collection of SKU information. +type SkuInfos struct { + autorest.Response `json:"-"` + // ResourceType - Resource type that this SKU applies to. + ResourceType *string `json:"resourceType,omitempty"` + // Skus - List of SKUs the subscription is able to use. + Skus *[]GlobalCsmSkuDescription `json:"skus,omitempty"` +} + +// SlotConfigNames names for connection strings, application settings, and external Azure storage account +// configuration +// identifiers to be marked as sticky to the deployment slot and not moved during a swap operation. +// This is valid for all deployment slots in an app. +type SlotConfigNames struct { + // ConnectionStringNames - List of connection string names. + ConnectionStringNames *[]string `json:"connectionStringNames,omitempty"` + // AppSettingNames - List of application settings names. + AppSettingNames *[]string `json:"appSettingNames,omitempty"` + // AzureStorageConfigNames - List of external Azure storage account identifiers. + AzureStorageConfigNames *[]string `json:"azureStorageConfigNames,omitempty"` +} + +// SlotConfigNamesResource slot Config names azure resource. +type SlotConfigNamesResource struct { + autorest.Response `json:"-"` + // SlotConfigNames - Core resource properties + *SlotConfigNames `json:"properties,omitempty"` + // ID - READ-ONLY; Resource Id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource Name. + Name *string `json:"name,omitempty"` + // Kind - Kind of resource. + Kind *string `json:"kind,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for SlotConfigNamesResource. +func (scnr SlotConfigNamesResource) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if scnr.SlotConfigNames != nil { + objectMap["properties"] = scnr.SlotConfigNames + } + if scnr.Kind != nil { + objectMap["kind"] = scnr.Kind + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for SlotConfigNamesResource struct. +func (scnr *SlotConfigNamesResource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var slotConfigNames SlotConfigNames + err = json.Unmarshal(*v, &slotConfigNames) + if err != nil { + return err + } + scnr.SlotConfigNames = &slotConfigNames + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + scnr.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + scnr.Name = &name + } + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + scnr.Kind = &kind + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + scnr.Type = &typeVar + } + } + } + + return nil +} + +// SlotDifference a setting difference between two deployment slots of an app. +type SlotDifference struct { + // SlotDifferenceProperties - SlotDifference resource specific properties + *SlotDifferenceProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource Id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource Name. + Name *string `json:"name,omitempty"` + // Kind - Kind of resource. + Kind *string `json:"kind,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for SlotDifference. +func (sd SlotDifference) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if sd.SlotDifferenceProperties != nil { + objectMap["properties"] = sd.SlotDifferenceProperties + } + if sd.Kind != nil { + objectMap["kind"] = sd.Kind + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for SlotDifference struct. +func (sd *SlotDifference) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var slotDifferenceProperties SlotDifferenceProperties + err = json.Unmarshal(*v, &slotDifferenceProperties) + if err != nil { + return err + } + sd.SlotDifferenceProperties = &slotDifferenceProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + sd.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + sd.Name = &name + } + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + sd.Kind = &kind + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + sd.Type = &typeVar + } + } + } + + return nil +} + +// SlotDifferenceCollection collection of slot differences. +type SlotDifferenceCollection struct { + autorest.Response `json:"-"` + // Value - Collection of resources. + Value *[]SlotDifference `json:"value,omitempty"` + // NextLink - READ-ONLY; Link to next page of resources. + NextLink *string `json:"nextLink,omitempty"` +} + +// SlotDifferenceCollectionIterator provides access to a complete listing of SlotDifference values. +type SlotDifferenceCollectionIterator struct { + i int + page SlotDifferenceCollectionPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *SlotDifferenceCollectionIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SlotDifferenceCollectionIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *SlotDifferenceCollectionIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter SlotDifferenceCollectionIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter SlotDifferenceCollectionIterator) Response() SlotDifferenceCollection { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter SlotDifferenceCollectionIterator) Value() SlotDifference { + if !iter.page.NotDone() { + return SlotDifference{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the SlotDifferenceCollectionIterator type. +func NewSlotDifferenceCollectionIterator(page SlotDifferenceCollectionPage) SlotDifferenceCollectionIterator { + return SlotDifferenceCollectionIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (sdc SlotDifferenceCollection) IsEmpty() bool { + return sdc.Value == nil || len(*sdc.Value) == 0 +} + +// slotDifferenceCollectionPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (sdc SlotDifferenceCollection) slotDifferenceCollectionPreparer(ctx context.Context) (*http.Request, error) { + if sdc.NextLink == nil || len(to.String(sdc.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(sdc.NextLink))) +} + +// SlotDifferenceCollectionPage contains a page of SlotDifference values. +type SlotDifferenceCollectionPage struct { + fn func(context.Context, SlotDifferenceCollection) (SlotDifferenceCollection, error) + sdc SlotDifferenceCollection +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *SlotDifferenceCollectionPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SlotDifferenceCollectionPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.sdc) + if err != nil { + return err + } + page.sdc = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *SlotDifferenceCollectionPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page SlotDifferenceCollectionPage) NotDone() bool { + return !page.sdc.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page SlotDifferenceCollectionPage) Response() SlotDifferenceCollection { + return page.sdc +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page SlotDifferenceCollectionPage) Values() []SlotDifference { + if page.sdc.IsEmpty() { + return nil + } + return *page.sdc.Value +} + +// Creates a new instance of the SlotDifferenceCollectionPage type. +func NewSlotDifferenceCollectionPage(getNextPage func(context.Context, SlotDifferenceCollection) (SlotDifferenceCollection, error)) SlotDifferenceCollectionPage { + return SlotDifferenceCollectionPage{fn: getNextPage} +} + +// SlotDifferenceProperties slotDifference resource specific properties +type SlotDifferenceProperties struct { + // Level - READ-ONLY; Level of the difference: Information, Warning or Error. + Level *string `json:"level,omitempty"` + // SettingType - READ-ONLY; The type of the setting: General, AppSetting or ConnectionString. + SettingType *string `json:"settingType,omitempty"` + // DiffRule - READ-ONLY; Rule that describes how to process the setting difference during a slot swap. + DiffRule *string `json:"diffRule,omitempty"` + // SettingName - READ-ONLY; Name of the setting. + SettingName *string `json:"settingName,omitempty"` + // ValueInCurrentSlot - READ-ONLY; Value of the setting in the current slot. + ValueInCurrentSlot *string `json:"valueInCurrentSlot,omitempty"` + // ValueInTargetSlot - READ-ONLY; Value of the setting in the target slot. + ValueInTargetSlot *string `json:"valueInTargetSlot,omitempty"` + // Description - READ-ONLY; Description of the setting difference. + Description *string `json:"description,omitempty"` +} + +// SlotSwapStatus the status of the last successful slot swap operation. +type SlotSwapStatus struct { + // TimestampUtc - READ-ONLY; The time the last successful slot swap completed. + TimestampUtc *date.Time `json:"timestampUtc,omitempty"` + // SourceSlotName - READ-ONLY; The source slot of the last swap operation. + SourceSlotName *string `json:"sourceSlotName,omitempty"` + // DestinationSlotName - READ-ONLY; The destination slot of the last swap operation. + DestinationSlotName *string `json:"destinationSlotName,omitempty"` +} + +// SlowRequestsBasedTrigger trigger based on request execution time. +type SlowRequestsBasedTrigger struct { + // TimeTaken - Time taken. + TimeTaken *string `json:"timeTaken,omitempty"` + // Count - Request Count. + Count *int32 `json:"count,omitempty"` + // TimeInterval - Time interval. + TimeInterval *string `json:"timeInterval,omitempty"` +} + +// Snapshot a snapshot of an app. +type Snapshot struct { + // SnapshotProperties - Snapshot resource specific properties + *SnapshotProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource Id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource Name. + Name *string `json:"name,omitempty"` + // Kind - Kind of resource. + Kind *string `json:"kind,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for Snapshot. +func (s Snapshot) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if s.SnapshotProperties != nil { + objectMap["properties"] = s.SnapshotProperties + } + if s.Kind != nil { + objectMap["kind"] = s.Kind + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for Snapshot struct. +func (s *Snapshot) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var snapshotProperties SnapshotProperties + err = json.Unmarshal(*v, &snapshotProperties) + if err != nil { + return err + } + s.SnapshotProperties = &snapshotProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + s.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + s.Name = &name + } + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + s.Kind = &kind + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + s.Type = &typeVar + } + } + } + + return nil +} + +// SnapshotCollection collection of snapshots which can be used to revert an app to a previous time. +type SnapshotCollection struct { + autorest.Response `json:"-"` + // Value - Collection of resources. + Value *[]Snapshot `json:"value,omitempty"` + // NextLink - READ-ONLY; Link to next page of resources. + NextLink *string `json:"nextLink,omitempty"` +} + +// SnapshotCollectionIterator provides access to a complete listing of Snapshot values. +type SnapshotCollectionIterator struct { + i int + page SnapshotCollectionPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *SnapshotCollectionIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SnapshotCollectionIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *SnapshotCollectionIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter SnapshotCollectionIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter SnapshotCollectionIterator) Response() SnapshotCollection { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter SnapshotCollectionIterator) Value() Snapshot { + if !iter.page.NotDone() { + return Snapshot{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the SnapshotCollectionIterator type. +func NewSnapshotCollectionIterator(page SnapshotCollectionPage) SnapshotCollectionIterator { + return SnapshotCollectionIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (sc SnapshotCollection) IsEmpty() bool { + return sc.Value == nil || len(*sc.Value) == 0 +} + +// snapshotCollectionPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (sc SnapshotCollection) snapshotCollectionPreparer(ctx context.Context) (*http.Request, error) { + if sc.NextLink == nil || len(to.String(sc.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(sc.NextLink))) +} + +// SnapshotCollectionPage contains a page of Snapshot values. +type SnapshotCollectionPage struct { + fn func(context.Context, SnapshotCollection) (SnapshotCollection, error) + sc SnapshotCollection +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *SnapshotCollectionPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SnapshotCollectionPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.sc) + if err != nil { + return err + } + page.sc = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *SnapshotCollectionPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page SnapshotCollectionPage) NotDone() bool { + return !page.sc.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page SnapshotCollectionPage) Response() SnapshotCollection { + return page.sc +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page SnapshotCollectionPage) Values() []Snapshot { + if page.sc.IsEmpty() { + return nil + } + return *page.sc.Value +} + +// Creates a new instance of the SnapshotCollectionPage type. +func NewSnapshotCollectionPage(getNextPage func(context.Context, SnapshotCollection) (SnapshotCollection, error)) SnapshotCollectionPage { + return SnapshotCollectionPage{fn: getNextPage} +} + +// SnapshotProperties snapshot resource specific properties +type SnapshotProperties struct { + // Time - READ-ONLY; The time the snapshot was taken. + Time *string `json:"time,omitempty"` +} + +// SnapshotRecoverySource specifies the web app that snapshot contents will be retrieved from. +type SnapshotRecoverySource struct { + // Location - Geographical location of the source web app, e.g. SouthEastAsia, SouthCentralUS + Location *string `json:"location,omitempty"` + // ID - ARM resource ID of the source app. + // /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName} for production slots and + // /subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/slots/{slotName} for other slots. + ID *string `json:"id,omitempty"` +} + +// SnapshotRestoreRequest details about app recovery operation. +type SnapshotRestoreRequest struct { + // SnapshotRestoreRequestProperties - SnapshotRestoreRequest resource specific properties + *SnapshotRestoreRequestProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource Id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource Name. + Name *string `json:"name,omitempty"` + // Kind - Kind of resource. + Kind *string `json:"kind,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for SnapshotRestoreRequest. +func (srr SnapshotRestoreRequest) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if srr.SnapshotRestoreRequestProperties != nil { + objectMap["properties"] = srr.SnapshotRestoreRequestProperties + } + if srr.Kind != nil { + objectMap["kind"] = srr.Kind + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for SnapshotRestoreRequest struct. +func (srr *SnapshotRestoreRequest) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var snapshotRestoreRequestProperties SnapshotRestoreRequestProperties + err = json.Unmarshal(*v, &snapshotRestoreRequestProperties) + if err != nil { + return err + } + srr.SnapshotRestoreRequestProperties = &snapshotRestoreRequestProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + srr.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + srr.Name = &name + } + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + srr.Kind = &kind + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + srr.Type = &typeVar + } + } + } + + return nil +} + +// SnapshotRestoreRequestProperties snapshotRestoreRequest resource specific properties +type SnapshotRestoreRequestProperties struct { + // SnapshotTime - Point in time in which the app restore should be done, formatted as a DateTime string. + SnapshotTime *string `json:"snapshotTime,omitempty"` + // RecoverySource - Optional. Specifies the web app that snapshot contents will be retrieved from. + // If empty, the targeted web app will be used as the source. + RecoverySource *SnapshotRecoverySource `json:"recoverySource,omitempty"` + // Overwrite - If true the restore operation can overwrite source app; otherwise, false. + Overwrite *bool `json:"overwrite,omitempty"` + // RecoverConfiguration - If true, site configuration, in addition to content, will be reverted. + RecoverConfiguration *bool `json:"recoverConfiguration,omitempty"` + // IgnoreConflictingHostNames - If true, custom hostname conflicts will be ignored when recovering to a target web app. + // This setting is only necessary when RecoverConfiguration is enabled. + IgnoreConflictingHostNames *bool `json:"ignoreConflictingHostNames,omitempty"` + // UseDRSecondary - If true, the snapshot is retrieved from DRSecondary endpoint. + UseDRSecondary *bool `json:"useDRSecondary,omitempty"` +} + +// Solution class Representing Solution for problems detected. +type Solution struct { + // ID - Solution Id. + ID *float64 `json:"id,omitempty"` + // DisplayName - Display Name of the solution + DisplayName *string `json:"displayName,omitempty"` + // Order - Order of the solution. + Order *float64 `json:"order,omitempty"` + // Description - Description of the solution + Description *string `json:"description,omitempty"` + // Type - Type of Solution. Possible values include: 'QuickSolution', 'DeepInvestigation', 'BestPractices' + Type SolutionType `json:"type,omitempty"` + // Data - Solution Data. + Data *[][]NameValuePair `json:"data,omitempty"` + // Metadata - Solution Metadata. + Metadata *[][]NameValuePair `json:"metadata,omitempty"` +} + +// SourceControl the source control OAuth token. +type SourceControl struct { + autorest.Response `json:"-"` + // SourceControlProperties - SourceControl resource specific properties + *SourceControlProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource Id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource Name. + Name *string `json:"name,omitempty"` + // Kind - Kind of resource. + Kind *string `json:"kind,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for SourceControl. +func (sc SourceControl) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if sc.SourceControlProperties != nil { + objectMap["properties"] = sc.SourceControlProperties + } + if sc.Kind != nil { + objectMap["kind"] = sc.Kind + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for SourceControl struct. +func (sc *SourceControl) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var sourceControlProperties SourceControlProperties + err = json.Unmarshal(*v, &sourceControlProperties) + if err != nil { + return err + } + sc.SourceControlProperties = &sourceControlProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + sc.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + sc.Name = &name + } + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + sc.Kind = &kind + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + sc.Type = &typeVar + } + } + } + + return nil +} + +// SourceControlCollection collection of source controls. +type SourceControlCollection struct { + autorest.Response `json:"-"` + // Value - Collection of resources. + Value *[]SourceControl `json:"value,omitempty"` + // NextLink - READ-ONLY; Link to next page of resources. + NextLink *string `json:"nextLink,omitempty"` +} + +// SourceControlCollectionIterator provides access to a complete listing of SourceControl values. +type SourceControlCollectionIterator struct { + i int + page SourceControlCollectionPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *SourceControlCollectionIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SourceControlCollectionIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *SourceControlCollectionIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter SourceControlCollectionIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter SourceControlCollectionIterator) Response() SourceControlCollection { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter SourceControlCollectionIterator) Value() SourceControl { + if !iter.page.NotDone() { + return SourceControl{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the SourceControlCollectionIterator type. +func NewSourceControlCollectionIterator(page SourceControlCollectionPage) SourceControlCollectionIterator { + return SourceControlCollectionIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (scc SourceControlCollection) IsEmpty() bool { + return scc.Value == nil || len(*scc.Value) == 0 +} + +// sourceControlCollectionPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (scc SourceControlCollection) sourceControlCollectionPreparer(ctx context.Context) (*http.Request, error) { + if scc.NextLink == nil || len(to.String(scc.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(scc.NextLink))) +} + +// SourceControlCollectionPage contains a page of SourceControl values. +type SourceControlCollectionPage struct { + fn func(context.Context, SourceControlCollection) (SourceControlCollection, error) + scc SourceControlCollection +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *SourceControlCollectionPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/SourceControlCollectionPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.scc) + if err != nil { + return err + } + page.scc = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *SourceControlCollectionPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page SourceControlCollectionPage) NotDone() bool { + return !page.scc.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page SourceControlCollectionPage) Response() SourceControlCollection { + return page.scc +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page SourceControlCollectionPage) Values() []SourceControl { + if page.scc.IsEmpty() { + return nil + } + return *page.scc.Value +} + +// Creates a new instance of the SourceControlCollectionPage type. +func NewSourceControlCollectionPage(getNextPage func(context.Context, SourceControlCollection) (SourceControlCollection, error)) SourceControlCollectionPage { + return SourceControlCollectionPage{fn: getNextPage} +} + +// SourceControlProperties sourceControl resource specific properties +type SourceControlProperties struct { + // Token - OAuth access token. + Token *string `json:"token,omitempty"` + // TokenSecret - OAuth access token secret. + TokenSecret *string `json:"tokenSecret,omitempty"` + // RefreshToken - OAuth refresh token. + RefreshToken *string `json:"refreshToken,omitempty"` + // ExpirationTime - OAuth token expiration. + ExpirationTime *date.Time `json:"expirationTime,omitempty"` +} + +// StackMajorVersion application stack major version. +type StackMajorVersion struct { + // DisplayVersion - Application stack major version (display only). + DisplayVersion *string `json:"displayVersion,omitempty"` + // RuntimeVersion - Application stack major version (runtime only). + RuntimeVersion *string `json:"runtimeVersion,omitempty"` + // IsDefault - true if this is the default major version; otherwise, false. + IsDefault *bool `json:"isDefault,omitempty"` + // MinorVersions - Minor versions associated with the major version. + MinorVersions *[]StackMinorVersion `json:"minorVersions,omitempty"` + // ApplicationInsights - true if this supports Application Insights; otherwise, false. + ApplicationInsights *bool `json:"applicationInsights,omitempty"` +} + +// StackMinorVersion application stack minor version. +type StackMinorVersion struct { + // DisplayVersion - Application stack minor version (display only). + DisplayVersion *string `json:"displayVersion,omitempty"` + // RuntimeVersion - Application stack minor version (runtime only). + RuntimeVersion *string `json:"runtimeVersion,omitempty"` + // IsDefault - true if this is the default minor version; otherwise, false. + IsDefault *bool `json:"isDefault,omitempty"` + // IsRemoteDebuggingEnabled - true if this supports Remote Debugging, otherwise false. + IsRemoteDebuggingEnabled *bool `json:"isRemoteDebuggingEnabled,omitempty"` +} + +// StampCapacity stamp capacity information. +type StampCapacity struct { + // Name - Name of the stamp. + Name *string `json:"name,omitempty"` + // AvailableCapacity - Available capacity (# of machines, bytes of storage etc...). + AvailableCapacity *int64 `json:"availableCapacity,omitempty"` + // TotalCapacity - Total capacity (# of machines, bytes of storage etc...). + TotalCapacity *int64 `json:"totalCapacity,omitempty"` + // Unit - Name of the unit. + Unit *string `json:"unit,omitempty"` + // ComputeMode - Shared/dedicated workers. Possible values include: 'ComputeModeOptionsShared', 'ComputeModeOptionsDedicated', 'ComputeModeOptionsDynamic' + ComputeMode ComputeModeOptions `json:"computeMode,omitempty"` + // WorkerSize - Size of the machines. Possible values include: 'WorkerSizeOptionsSmall', 'WorkerSizeOptionsMedium', 'WorkerSizeOptionsLarge', 'WorkerSizeOptionsD1', 'WorkerSizeOptionsD2', 'WorkerSizeOptionsD3', 'WorkerSizeOptionsDefault' + WorkerSize WorkerSizeOptions `json:"workerSize,omitempty"` + // WorkerSizeID - Size ID of machines: + // 0 - Small + // 1 - Medium + // 2 - Large + WorkerSizeID *int32 `json:"workerSizeId,omitempty"` + // ExcludeFromCapacityAllocation - If true, it includes basic apps. + // Basic apps are not used for capacity allocation. + ExcludeFromCapacityAllocation *bool `json:"excludeFromCapacityAllocation,omitempty"` + // IsApplicableForAllComputeModes - true if capacity is applicable for all apps; otherwise, false. + IsApplicableForAllComputeModes *bool `json:"isApplicableForAllComputeModes,omitempty"` + // SiteMode - Shared or Dedicated. + SiteMode *string `json:"siteMode,omitempty"` + // IsLinux - Is this a linux stamp capacity + IsLinux *bool `json:"isLinux,omitempty"` +} + +// StampCapacityCollection collection of stamp capacities. +type StampCapacityCollection struct { + autorest.Response `json:"-"` + // Value - Collection of resources. + Value *[]StampCapacity `json:"value,omitempty"` + // NextLink - READ-ONLY; Link to next page of resources. + NextLink *string `json:"nextLink,omitempty"` +} + +// StampCapacityCollectionIterator provides access to a complete listing of StampCapacity values. +type StampCapacityCollectionIterator struct { + i int + page StampCapacityCollectionPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *StampCapacityCollectionIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/StampCapacityCollectionIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *StampCapacityCollectionIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter StampCapacityCollectionIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter StampCapacityCollectionIterator) Response() StampCapacityCollection { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter StampCapacityCollectionIterator) Value() StampCapacity { + if !iter.page.NotDone() { + return StampCapacity{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the StampCapacityCollectionIterator type. +func NewStampCapacityCollectionIterator(page StampCapacityCollectionPage) StampCapacityCollectionIterator { + return StampCapacityCollectionIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (scc StampCapacityCollection) IsEmpty() bool { + return scc.Value == nil || len(*scc.Value) == 0 +} + +// stampCapacityCollectionPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (scc StampCapacityCollection) stampCapacityCollectionPreparer(ctx context.Context) (*http.Request, error) { + if scc.NextLink == nil || len(to.String(scc.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(scc.NextLink))) +} + +// StampCapacityCollectionPage contains a page of StampCapacity values. +type StampCapacityCollectionPage struct { + fn func(context.Context, StampCapacityCollection) (StampCapacityCollection, error) + scc StampCapacityCollection +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *StampCapacityCollectionPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/StampCapacityCollectionPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.scc) + if err != nil { + return err + } + page.scc = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *StampCapacityCollectionPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page StampCapacityCollectionPage) NotDone() bool { + return !page.scc.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page StampCapacityCollectionPage) Response() StampCapacityCollection { + return page.scc +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page StampCapacityCollectionPage) Values() []StampCapacity { + if page.scc.IsEmpty() { + return nil + } + return *page.scc.Value +} + +// Creates a new instance of the StampCapacityCollectionPage type. +func NewStampCapacityCollectionPage(getNextPage func(context.Context, StampCapacityCollection) (StampCapacityCollection, error)) StampCapacityCollectionPage { + return StampCapacityCollectionPage{fn: getNextPage} +} + +// StatusCodesBasedTrigger trigger based on status code. +type StatusCodesBasedTrigger struct { + // Status - HTTP status code. + Status *int32 `json:"status,omitempty"` + // SubStatus - Request Sub Status. + SubStatus *int32 `json:"subStatus,omitempty"` + // Win32Status - Win32 error code. + Win32Status *int32 `json:"win32Status,omitempty"` + // Count - Request Count. + Count *int32 `json:"count,omitempty"` + // TimeInterval - Time interval. + TimeInterval *string `json:"timeInterval,omitempty"` +} + +// StorageMigrationOptions options for app content migration. +type StorageMigrationOptions struct { + // StorageMigrationOptionsProperties - StorageMigrationOptions resource specific properties + *StorageMigrationOptionsProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource Id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource Name. + Name *string `json:"name,omitempty"` + // Kind - Kind of resource. + Kind *string `json:"kind,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for StorageMigrationOptions. +func (smo StorageMigrationOptions) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if smo.StorageMigrationOptionsProperties != nil { + objectMap["properties"] = smo.StorageMigrationOptionsProperties + } + if smo.Kind != nil { + objectMap["kind"] = smo.Kind + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for StorageMigrationOptions struct. +func (smo *StorageMigrationOptions) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var storageMigrationOptionsProperties StorageMigrationOptionsProperties + err = json.Unmarshal(*v, &storageMigrationOptionsProperties) + if err != nil { + return err + } + smo.StorageMigrationOptionsProperties = &storageMigrationOptionsProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + smo.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + smo.Name = &name + } + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + smo.Kind = &kind + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + smo.Type = &typeVar + } + } + } + + return nil +} + +// StorageMigrationOptionsProperties storageMigrationOptions resource specific properties +type StorageMigrationOptionsProperties struct { + // AzurefilesConnectionString - AzureFiles connection string. + AzurefilesConnectionString *string `json:"azurefilesConnectionString,omitempty"` + // AzurefilesShare - AzureFiles share. + AzurefilesShare *string `json:"azurefilesShare,omitempty"` + // SwitchSiteAfterMigration - trueif the app should be switched over; otherwise, false. + SwitchSiteAfterMigration *bool `json:"switchSiteAfterMigration,omitempty"` + // BlockWriteAccessToSite - true if the app should be read only during copy operation; otherwise, false. + BlockWriteAccessToSite *bool `json:"blockWriteAccessToSite,omitempty"` +} + +// StorageMigrationResponse response for a migration of app content request. +type StorageMigrationResponse struct { + autorest.Response `json:"-"` + // StorageMigrationResponseProperties - StorageMigrationResponse resource specific properties + *StorageMigrationResponseProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource Id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource Name. + Name *string `json:"name,omitempty"` + // Kind - Kind of resource. + Kind *string `json:"kind,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for StorageMigrationResponse. +func (smr StorageMigrationResponse) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if smr.StorageMigrationResponseProperties != nil { + objectMap["properties"] = smr.StorageMigrationResponseProperties + } + if smr.Kind != nil { + objectMap["kind"] = smr.Kind + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for StorageMigrationResponse struct. +func (smr *StorageMigrationResponse) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var storageMigrationResponseProperties StorageMigrationResponseProperties + err = json.Unmarshal(*v, &storageMigrationResponseProperties) + if err != nil { + return err + } + smr.StorageMigrationResponseProperties = &storageMigrationResponseProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + smr.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + smr.Name = &name + } + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + smr.Kind = &kind + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + smr.Type = &typeVar + } + } + } + + return nil +} + +// StorageMigrationResponseProperties storageMigrationResponse resource specific properties +type StorageMigrationResponseProperties struct { + // OperationID - READ-ONLY; When server starts the migration process, it will return an operation ID identifying that particular migration operation. + OperationID *string `json:"operationId,omitempty"` +} + +// String ... +type String struct { + autorest.Response `json:"-"` + Value *string `json:"value,omitempty"` +} + +// StringDictionary string dictionary resource. +type StringDictionary struct { + autorest.Response `json:"-"` + // Properties - Settings. + Properties map[string]*string `json:"properties"` + // ID - READ-ONLY; Resource Id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource Name. + Name *string `json:"name,omitempty"` + // Kind - Kind of resource. + Kind *string `json:"kind,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for StringDictionary. +func (sd StringDictionary) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if sd.Properties != nil { + objectMap["properties"] = sd.Properties + } + if sd.Kind != nil { + objectMap["kind"] = sd.Kind + } + return json.Marshal(objectMap) +} + +// SwiftVirtualNetwork swift Virtual Network Contract. This is used to enable the new Swift way of doing +// virtual network integration. +type SwiftVirtualNetwork struct { + autorest.Response `json:"-"` + // SwiftVirtualNetworkProperties - SwiftVirtualNetwork resource specific properties + *SwiftVirtualNetworkProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource Id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource Name. + Name *string `json:"name,omitempty"` + // Kind - Kind of resource. + Kind *string `json:"kind,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for SwiftVirtualNetwork. +func (svn SwiftVirtualNetwork) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if svn.SwiftVirtualNetworkProperties != nil { + objectMap["properties"] = svn.SwiftVirtualNetworkProperties + } + if svn.Kind != nil { + objectMap["kind"] = svn.Kind + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for SwiftVirtualNetwork struct. +func (svn *SwiftVirtualNetwork) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var swiftVirtualNetworkProperties SwiftVirtualNetworkProperties + err = json.Unmarshal(*v, &swiftVirtualNetworkProperties) + if err != nil { + return err + } + svn.SwiftVirtualNetworkProperties = &swiftVirtualNetworkProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + svn.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + svn.Name = &name + } + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + svn.Kind = &kind + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + svn.Type = &typeVar + } + } + } + + return nil +} + +// SwiftVirtualNetworkProperties swiftVirtualNetwork resource specific properties +type SwiftVirtualNetworkProperties struct { + // SubnetResourceID - The Virtual Network subnet's resource ID. This is the subnet that this Web App will join. This subnet must have a delegation to Microsoft.Web/serverFarms defined first. + SubnetResourceID *string `json:"subnetResourceId,omitempty"` + // SwiftSupported - A flag that specifies if the scale unit this Web App is on supports Swift integration. + SwiftSupported *bool `json:"swiftSupported,omitempty"` +} + +// TldLegalAgreement legal agreement for a top level domain. +type TldLegalAgreement struct { + // AgreementKey - Unique identifier for the agreement. + AgreementKey *string `json:"agreementKey,omitempty"` + // Title - Agreement title. + Title *string `json:"title,omitempty"` + // Content - Agreement details. + Content *string `json:"content,omitempty"` + // URL - URL where a copy of the agreement details is hosted. + URL *string `json:"url,omitempty"` +} + +// TldLegalAgreementCollection collection of top-level domain legal agreements. +type TldLegalAgreementCollection struct { + autorest.Response `json:"-"` + // Value - Collection of resources. + Value *[]TldLegalAgreement `json:"value,omitempty"` + // NextLink - READ-ONLY; Link to next page of resources. + NextLink *string `json:"nextLink,omitempty"` +} + +// TldLegalAgreementCollectionIterator provides access to a complete listing of TldLegalAgreement values. +type TldLegalAgreementCollectionIterator struct { + i int + page TldLegalAgreementCollectionPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *TldLegalAgreementCollectionIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/TldLegalAgreementCollectionIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *TldLegalAgreementCollectionIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter TldLegalAgreementCollectionIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter TldLegalAgreementCollectionIterator) Response() TldLegalAgreementCollection { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter TldLegalAgreementCollectionIterator) Value() TldLegalAgreement { + if !iter.page.NotDone() { + return TldLegalAgreement{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the TldLegalAgreementCollectionIterator type. +func NewTldLegalAgreementCollectionIterator(page TldLegalAgreementCollectionPage) TldLegalAgreementCollectionIterator { + return TldLegalAgreementCollectionIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (tlac TldLegalAgreementCollection) IsEmpty() bool { + return tlac.Value == nil || len(*tlac.Value) == 0 +} + +// tldLegalAgreementCollectionPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (tlac TldLegalAgreementCollection) tldLegalAgreementCollectionPreparer(ctx context.Context) (*http.Request, error) { + if tlac.NextLink == nil || len(to.String(tlac.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(tlac.NextLink))) +} + +// TldLegalAgreementCollectionPage contains a page of TldLegalAgreement values. +type TldLegalAgreementCollectionPage struct { + fn func(context.Context, TldLegalAgreementCollection) (TldLegalAgreementCollection, error) + tlac TldLegalAgreementCollection +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *TldLegalAgreementCollectionPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/TldLegalAgreementCollectionPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.tlac) + if err != nil { + return err + } + page.tlac = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *TldLegalAgreementCollectionPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page TldLegalAgreementCollectionPage) NotDone() bool { + return !page.tlac.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page TldLegalAgreementCollectionPage) Response() TldLegalAgreementCollection { + return page.tlac +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page TldLegalAgreementCollectionPage) Values() []TldLegalAgreement { + if page.tlac.IsEmpty() { + return nil + } + return *page.tlac.Value +} + +// Creates a new instance of the TldLegalAgreementCollectionPage type. +func NewTldLegalAgreementCollectionPage(getNextPage func(context.Context, TldLegalAgreementCollection) (TldLegalAgreementCollection, error)) TldLegalAgreementCollectionPage { + return TldLegalAgreementCollectionPage{fn: getNextPage} +} + +// TopLevelDomain a top level domain object. +type TopLevelDomain struct { + autorest.Response `json:"-"` + // TopLevelDomainProperties - TopLevelDomain resource specific properties + *TopLevelDomainProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource Id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource Name. + Name *string `json:"name,omitempty"` + // Kind - Kind of resource. + Kind *string `json:"kind,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for TopLevelDomain. +func (tld TopLevelDomain) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if tld.TopLevelDomainProperties != nil { + objectMap["properties"] = tld.TopLevelDomainProperties + } + if tld.Kind != nil { + objectMap["kind"] = tld.Kind + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for TopLevelDomain struct. +func (tld *TopLevelDomain) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var topLevelDomainProperties TopLevelDomainProperties + err = json.Unmarshal(*v, &topLevelDomainProperties) + if err != nil { + return err + } + tld.TopLevelDomainProperties = &topLevelDomainProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + tld.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + tld.Name = &name + } + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + tld.Kind = &kind + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + tld.Type = &typeVar + } + } + } + + return nil +} + +// TopLevelDomainAgreementOption options for retrieving the list of top level domain legal agreements. +type TopLevelDomainAgreementOption struct { + // IncludePrivacy - If true, then the list of agreements will include agreements for domain privacy as well; otherwise, false. + IncludePrivacy *bool `json:"includePrivacy,omitempty"` + // ForTransfer - If true, then the list of agreements will include agreements for domain transfer as well; otherwise, false. + ForTransfer *bool `json:"forTransfer,omitempty"` +} + +// TopLevelDomainCollection collection of Top-level domains. +type TopLevelDomainCollection struct { + autorest.Response `json:"-"` + // Value - Collection of resources. + Value *[]TopLevelDomain `json:"value,omitempty"` + // NextLink - READ-ONLY; Link to next page of resources. + NextLink *string `json:"nextLink,omitempty"` +} + +// TopLevelDomainCollectionIterator provides access to a complete listing of TopLevelDomain values. +type TopLevelDomainCollectionIterator struct { + i int + page TopLevelDomainCollectionPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *TopLevelDomainCollectionIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/TopLevelDomainCollectionIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *TopLevelDomainCollectionIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter TopLevelDomainCollectionIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter TopLevelDomainCollectionIterator) Response() TopLevelDomainCollection { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter TopLevelDomainCollectionIterator) Value() TopLevelDomain { + if !iter.page.NotDone() { + return TopLevelDomain{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the TopLevelDomainCollectionIterator type. +func NewTopLevelDomainCollectionIterator(page TopLevelDomainCollectionPage) TopLevelDomainCollectionIterator { + return TopLevelDomainCollectionIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (tldc TopLevelDomainCollection) IsEmpty() bool { + return tldc.Value == nil || len(*tldc.Value) == 0 +} + +// topLevelDomainCollectionPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (tldc TopLevelDomainCollection) topLevelDomainCollectionPreparer(ctx context.Context) (*http.Request, error) { + if tldc.NextLink == nil || len(to.String(tldc.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(tldc.NextLink))) +} + +// TopLevelDomainCollectionPage contains a page of TopLevelDomain values. +type TopLevelDomainCollectionPage struct { + fn func(context.Context, TopLevelDomainCollection) (TopLevelDomainCollection, error) + tldc TopLevelDomainCollection +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *TopLevelDomainCollectionPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/TopLevelDomainCollectionPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.tldc) + if err != nil { + return err + } + page.tldc = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *TopLevelDomainCollectionPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page TopLevelDomainCollectionPage) NotDone() bool { + return !page.tldc.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page TopLevelDomainCollectionPage) Response() TopLevelDomainCollection { + return page.tldc +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page TopLevelDomainCollectionPage) Values() []TopLevelDomain { + if page.tldc.IsEmpty() { + return nil + } + return *page.tldc.Value +} + +// Creates a new instance of the TopLevelDomainCollectionPage type. +func NewTopLevelDomainCollectionPage(getNextPage func(context.Context, TopLevelDomainCollection) (TopLevelDomainCollection, error)) TopLevelDomainCollectionPage { + return TopLevelDomainCollectionPage{fn: getNextPage} +} + +// TopLevelDomainProperties topLevelDomain resource specific properties +type TopLevelDomainProperties struct { + // Privacy - If true, then the top level domain supports domain privacy; otherwise, false. + Privacy *bool `json:"privacy,omitempty"` +} + +// TriggeredJobHistory triggered Web Job History. List of Triggered Web Job Run Information elements. +type TriggeredJobHistory struct { + autorest.Response `json:"-"` + // TriggeredJobHistoryProperties - TriggeredJobHistory resource specific properties + *TriggeredJobHistoryProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource Id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource Name. + Name *string `json:"name,omitempty"` + // Kind - Kind of resource. + Kind *string `json:"kind,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for TriggeredJobHistory. +func (tjh TriggeredJobHistory) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if tjh.TriggeredJobHistoryProperties != nil { + objectMap["properties"] = tjh.TriggeredJobHistoryProperties + } + if tjh.Kind != nil { + objectMap["kind"] = tjh.Kind + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for TriggeredJobHistory struct. +func (tjh *TriggeredJobHistory) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var triggeredJobHistoryProperties TriggeredJobHistoryProperties + err = json.Unmarshal(*v, &triggeredJobHistoryProperties) + if err != nil { + return err + } + tjh.TriggeredJobHistoryProperties = &triggeredJobHistoryProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + tjh.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + tjh.Name = &name + } + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + tjh.Kind = &kind + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + tjh.Type = &typeVar + } + } + } + + return nil +} + +// TriggeredJobHistoryCollection collection of Kudu continuous web job information elements. +type TriggeredJobHistoryCollection struct { + autorest.Response `json:"-"` + // Value - Collection of resources. + Value *[]TriggeredJobHistory `json:"value,omitempty"` + // NextLink - READ-ONLY; Link to next page of resources. + NextLink *string `json:"nextLink,omitempty"` +} + +// TriggeredJobHistoryCollectionIterator provides access to a complete listing of TriggeredJobHistory +// values. +type TriggeredJobHistoryCollectionIterator struct { + i int + page TriggeredJobHistoryCollectionPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *TriggeredJobHistoryCollectionIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/TriggeredJobHistoryCollectionIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *TriggeredJobHistoryCollectionIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter TriggeredJobHistoryCollectionIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter TriggeredJobHistoryCollectionIterator) Response() TriggeredJobHistoryCollection { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter TriggeredJobHistoryCollectionIterator) Value() TriggeredJobHistory { + if !iter.page.NotDone() { + return TriggeredJobHistory{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the TriggeredJobHistoryCollectionIterator type. +func NewTriggeredJobHistoryCollectionIterator(page TriggeredJobHistoryCollectionPage) TriggeredJobHistoryCollectionIterator { + return TriggeredJobHistoryCollectionIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (tjhc TriggeredJobHistoryCollection) IsEmpty() bool { + return tjhc.Value == nil || len(*tjhc.Value) == 0 +} + +// triggeredJobHistoryCollectionPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (tjhc TriggeredJobHistoryCollection) triggeredJobHistoryCollectionPreparer(ctx context.Context) (*http.Request, error) { + if tjhc.NextLink == nil || len(to.String(tjhc.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(tjhc.NextLink))) +} + +// TriggeredJobHistoryCollectionPage contains a page of TriggeredJobHistory values. +type TriggeredJobHistoryCollectionPage struct { + fn func(context.Context, TriggeredJobHistoryCollection) (TriggeredJobHistoryCollection, error) + tjhc TriggeredJobHistoryCollection +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *TriggeredJobHistoryCollectionPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/TriggeredJobHistoryCollectionPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.tjhc) + if err != nil { + return err + } + page.tjhc = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *TriggeredJobHistoryCollectionPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page TriggeredJobHistoryCollectionPage) NotDone() bool { + return !page.tjhc.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page TriggeredJobHistoryCollectionPage) Response() TriggeredJobHistoryCollection { + return page.tjhc +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page TriggeredJobHistoryCollectionPage) Values() []TriggeredJobHistory { + if page.tjhc.IsEmpty() { + return nil + } + return *page.tjhc.Value +} + +// Creates a new instance of the TriggeredJobHistoryCollectionPage type. +func NewTriggeredJobHistoryCollectionPage(getNextPage func(context.Context, TriggeredJobHistoryCollection) (TriggeredJobHistoryCollection, error)) TriggeredJobHistoryCollectionPage { + return TriggeredJobHistoryCollectionPage{fn: getNextPage} +} + +// TriggeredJobHistoryProperties triggeredJobHistory resource specific properties +type TriggeredJobHistoryProperties struct { + // Runs - List of triggered web job runs. + Runs *[]TriggeredJobRun `json:"runs,omitempty"` +} + +// TriggeredJobRun triggered Web Job Run Information. +type TriggeredJobRun struct { + // TriggeredJobRunProperties - TriggeredJobRun resource specific properties + *TriggeredJobRunProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource Id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource Name. + Name *string `json:"name,omitempty"` + // Kind - Kind of resource. + Kind *string `json:"kind,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for TriggeredJobRun. +func (tjr TriggeredJobRun) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if tjr.TriggeredJobRunProperties != nil { + objectMap["properties"] = tjr.TriggeredJobRunProperties + } + if tjr.Kind != nil { + objectMap["kind"] = tjr.Kind + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for TriggeredJobRun struct. +func (tjr *TriggeredJobRun) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var triggeredJobRunProperties TriggeredJobRunProperties + err = json.Unmarshal(*v, &triggeredJobRunProperties) + if err != nil { + return err + } + tjr.TriggeredJobRunProperties = &triggeredJobRunProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + tjr.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + tjr.Name = &name + } + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + tjr.Kind = &kind + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + tjr.Type = &typeVar + } + } + } + + return nil +} + +// TriggeredJobRunProperties triggeredJobRun resource specific properties +type TriggeredJobRunProperties struct { + // WebJobID - Job ID. + WebJobID *string `json:"web_job_id,omitempty"` + // WebJobName - Job name. + WebJobName *string `json:"web_job_name,omitempty"` + // Status - Job status. Possible values include: 'TriggeredWebJobStatusSuccess', 'TriggeredWebJobStatusFailed', 'TriggeredWebJobStatusError' + Status TriggeredWebJobStatus `json:"status,omitempty"` + // StartTime - Start time. + StartTime *date.Time `json:"start_time,omitempty"` + // EndTime - End time. + EndTime *date.Time `json:"end_time,omitempty"` + // Duration - Job duration. + Duration *string `json:"duration,omitempty"` + // OutputURL - Output URL. + OutputURL *string `json:"output_url,omitempty"` + // ErrorURL - Error URL. + ErrorURL *string `json:"error_url,omitempty"` + // URL - Job URL. + URL *string `json:"url,omitempty"` + // JobName - Job name. + JobName *string `json:"job_name,omitempty"` + // Trigger - Job trigger. + Trigger *string `json:"trigger,omitempty"` +} + +// TriggeredWebJob triggered Web Job Information. +type TriggeredWebJob struct { + autorest.Response `json:"-"` + // TriggeredWebJobProperties - TriggeredWebJob resource specific properties + *TriggeredWebJobProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource Id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource Name. + Name *string `json:"name,omitempty"` + // Kind - Kind of resource. + Kind *string `json:"kind,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for TriggeredWebJob. +func (twj TriggeredWebJob) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if twj.TriggeredWebJobProperties != nil { + objectMap["properties"] = twj.TriggeredWebJobProperties + } + if twj.Kind != nil { + objectMap["kind"] = twj.Kind + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for TriggeredWebJob struct. +func (twj *TriggeredWebJob) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var triggeredWebJobProperties TriggeredWebJobProperties + err = json.Unmarshal(*v, &triggeredWebJobProperties) + if err != nil { + return err + } + twj.TriggeredWebJobProperties = &triggeredWebJobProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + twj.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + twj.Name = &name + } + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + twj.Kind = &kind + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + twj.Type = &typeVar + } + } + } + + return nil +} + +// TriggeredWebJobCollection collection of Kudu continuous web job information elements. +type TriggeredWebJobCollection struct { + autorest.Response `json:"-"` + // Value - Collection of resources. + Value *[]TriggeredWebJob `json:"value,omitempty"` + // NextLink - READ-ONLY; Link to next page of resources. + NextLink *string `json:"nextLink,omitempty"` +} + +// TriggeredWebJobCollectionIterator provides access to a complete listing of TriggeredWebJob values. +type TriggeredWebJobCollectionIterator struct { + i int + page TriggeredWebJobCollectionPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *TriggeredWebJobCollectionIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/TriggeredWebJobCollectionIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *TriggeredWebJobCollectionIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter TriggeredWebJobCollectionIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter TriggeredWebJobCollectionIterator) Response() TriggeredWebJobCollection { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter TriggeredWebJobCollectionIterator) Value() TriggeredWebJob { + if !iter.page.NotDone() { + return TriggeredWebJob{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the TriggeredWebJobCollectionIterator type. +func NewTriggeredWebJobCollectionIterator(page TriggeredWebJobCollectionPage) TriggeredWebJobCollectionIterator { + return TriggeredWebJobCollectionIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (twjc TriggeredWebJobCollection) IsEmpty() bool { + return twjc.Value == nil || len(*twjc.Value) == 0 +} + +// triggeredWebJobCollectionPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (twjc TriggeredWebJobCollection) triggeredWebJobCollectionPreparer(ctx context.Context) (*http.Request, error) { + if twjc.NextLink == nil || len(to.String(twjc.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(twjc.NextLink))) +} + +// TriggeredWebJobCollectionPage contains a page of TriggeredWebJob values. +type TriggeredWebJobCollectionPage struct { + fn func(context.Context, TriggeredWebJobCollection) (TriggeredWebJobCollection, error) + twjc TriggeredWebJobCollection +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *TriggeredWebJobCollectionPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/TriggeredWebJobCollectionPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.twjc) + if err != nil { + return err + } + page.twjc = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *TriggeredWebJobCollectionPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page TriggeredWebJobCollectionPage) NotDone() bool { + return !page.twjc.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page TriggeredWebJobCollectionPage) Response() TriggeredWebJobCollection { + return page.twjc +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page TriggeredWebJobCollectionPage) Values() []TriggeredWebJob { + if page.twjc.IsEmpty() { + return nil + } + return *page.twjc.Value +} + +// Creates a new instance of the TriggeredWebJobCollectionPage type. +func NewTriggeredWebJobCollectionPage(getNextPage func(context.Context, TriggeredWebJobCollection) (TriggeredWebJobCollection, error)) TriggeredWebJobCollectionPage { + return TriggeredWebJobCollectionPage{fn: getNextPage} +} + +// TriggeredWebJobProperties triggeredWebJob resource specific properties +type TriggeredWebJobProperties struct { + // LatestRun - Latest job run information. + LatestRun *TriggeredJobRun `json:"latest_run,omitempty"` + // HistoryURL - History URL. + HistoryURL *string `json:"history_url,omitempty"` + // SchedulerLogsURL - Scheduler Logs URL. + SchedulerLogsURL *string `json:"scheduler_logs_url,omitempty"` + // RunCommand - Run command. + RunCommand *string `json:"run_command,omitempty"` + // URL - Job URL. + URL *string `json:"url,omitempty"` + // ExtraInfoURL - Extra Info URL. + ExtraInfoURL *string `json:"extra_info_url,omitempty"` + // WebJobType - Job type. Possible values include: 'Continuous', 'Triggered' + WebJobType JobType `json:"web_job_type,omitempty"` + // Error - Error information. + Error *string `json:"error,omitempty"` + // UsingSdk - Using SDK? + UsingSdk *bool `json:"using_sdk,omitempty"` + // Settings - Job settings. + Settings map[string]interface{} `json:"settings"` +} + +// MarshalJSON is the custom marshaler for TriggeredWebJobProperties. +func (twj TriggeredWebJobProperties) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if twj.LatestRun != nil { + objectMap["latest_run"] = twj.LatestRun + } + if twj.HistoryURL != nil { + objectMap["history_url"] = twj.HistoryURL + } + if twj.SchedulerLogsURL != nil { + objectMap["scheduler_logs_url"] = twj.SchedulerLogsURL + } + if twj.RunCommand != nil { + objectMap["run_command"] = twj.RunCommand + } + if twj.URL != nil { + objectMap["url"] = twj.URL + } + if twj.ExtraInfoURL != nil { + objectMap["extra_info_url"] = twj.ExtraInfoURL + } + if twj.WebJobType != "" { + objectMap["web_job_type"] = twj.WebJobType + } + if twj.Error != nil { + objectMap["error"] = twj.Error + } + if twj.UsingSdk != nil { + objectMap["using_sdk"] = twj.UsingSdk + } + if twj.Settings != nil { + objectMap["settings"] = twj.Settings + } + return json.Marshal(objectMap) +} + +// Usage usage of the quota resource. +type Usage struct { + // UsageProperties - Usage resource specific properties + *UsageProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource Id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource Name. + Name *string `json:"name,omitempty"` + // Kind - Kind of resource. + Kind *string `json:"kind,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for Usage. +func (u Usage) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if u.UsageProperties != nil { + objectMap["properties"] = u.UsageProperties + } + if u.Kind != nil { + objectMap["kind"] = u.Kind + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for Usage struct. +func (u *Usage) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var usageProperties UsageProperties + err = json.Unmarshal(*v, &usageProperties) + if err != nil { + return err + } + u.UsageProperties = &usageProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + u.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + u.Name = &name + } + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + u.Kind = &kind + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + u.Type = &typeVar + } + } + } + + return nil +} + +// UsageCollection collection of usages. +type UsageCollection struct { + autorest.Response `json:"-"` + // Value - Collection of resources. + Value *[]Usage `json:"value,omitempty"` + // NextLink - READ-ONLY; Link to next page of resources. + NextLink *string `json:"nextLink,omitempty"` +} + +// UsageCollectionIterator provides access to a complete listing of Usage values. +type UsageCollectionIterator struct { + i int + page UsageCollectionPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *UsageCollectionIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/UsageCollectionIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *UsageCollectionIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter UsageCollectionIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter UsageCollectionIterator) Response() UsageCollection { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter UsageCollectionIterator) Value() Usage { + if !iter.page.NotDone() { + return Usage{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the UsageCollectionIterator type. +func NewUsageCollectionIterator(page UsageCollectionPage) UsageCollectionIterator { + return UsageCollectionIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (uc UsageCollection) IsEmpty() bool { + return uc.Value == nil || len(*uc.Value) == 0 +} + +// usageCollectionPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (uc UsageCollection) usageCollectionPreparer(ctx context.Context) (*http.Request, error) { + if uc.NextLink == nil || len(to.String(uc.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(uc.NextLink))) +} + +// UsageCollectionPage contains a page of Usage values. +type UsageCollectionPage struct { + fn func(context.Context, UsageCollection) (UsageCollection, error) + uc UsageCollection +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *UsageCollectionPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/UsageCollectionPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.uc) + if err != nil { + return err + } + page.uc = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *UsageCollectionPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page UsageCollectionPage) NotDone() bool { + return !page.uc.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page UsageCollectionPage) Response() UsageCollection { + return page.uc +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page UsageCollectionPage) Values() []Usage { + if page.uc.IsEmpty() { + return nil + } + return *page.uc.Value +} + +// Creates a new instance of the UsageCollectionPage type. +func NewUsageCollectionPage(getNextPage func(context.Context, UsageCollection) (UsageCollection, error)) UsageCollectionPage { + return UsageCollectionPage{fn: getNextPage} +} + +// UsageProperties usage resource specific properties +type UsageProperties struct { + // DisplayName - READ-ONLY; Friendly name shown in the UI. + DisplayName *string `json:"displayName,omitempty"` + // ResourceName - READ-ONLY; Name of the quota resource. + ResourceName *string `json:"resourceName,omitempty"` + // Unit - READ-ONLY; Units of measurement for the quota resource. + Unit *string `json:"unit,omitempty"` + // CurrentValue - READ-ONLY; The current value of the resource counter. + CurrentValue *int64 `json:"currentValue,omitempty"` + // Limit - READ-ONLY; The resource limit. + Limit *int64 `json:"limit,omitempty"` + // NextResetTime - READ-ONLY; Next reset time for the resource counter. + NextResetTime *date.Time `json:"nextResetTime,omitempty"` + // ComputeMode - READ-ONLY; Compute mode used for this usage. Possible values include: 'ComputeModeOptionsShared', 'ComputeModeOptionsDedicated', 'ComputeModeOptionsDynamic' + ComputeMode ComputeModeOptions `json:"computeMode,omitempty"` + // SiteMode - READ-ONLY; Site mode used for this usage. + SiteMode *string `json:"siteMode,omitempty"` +} + +// User user credentials used for publishing activity. +type User struct { + autorest.Response `json:"-"` + // UserProperties - User resource specific properties + *UserProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource Id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource Name. + Name *string `json:"name,omitempty"` + // Kind - Kind of resource. + Kind *string `json:"kind,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for User. +func (u User) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if u.UserProperties != nil { + objectMap["properties"] = u.UserProperties + } + if u.Kind != nil { + objectMap["kind"] = u.Kind + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for User struct. +func (u *User) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var userProperties UserProperties + err = json.Unmarshal(*v, &userProperties) + if err != nil { + return err + } + u.UserProperties = &userProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + u.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + u.Name = &name + } + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + u.Kind = &kind + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + u.Type = &typeVar + } + } + } + + return nil +} + +// UserProperties user resource specific properties +type UserProperties struct { + // PublishingUserName - Username used for publishing. + PublishingUserName *string `json:"publishingUserName,omitempty"` + // PublishingPassword - Password used for publishing. + PublishingPassword *string `json:"publishingPassword,omitempty"` + // PublishingPasswordHash - Password hash used for publishing. + PublishingPasswordHash *string `json:"publishingPasswordHash,omitempty"` + // PublishingPasswordHashSalt - Password hash salt used for publishing. + PublishingPasswordHashSalt *string `json:"publishingPasswordHashSalt,omitempty"` + // ScmURI - Url of SCM site. + ScmURI *string `json:"scmUri,omitempty"` +} + +// ValidateContainerSettingsRequest container settings validation request context +type ValidateContainerSettingsRequest struct { + // BaseURL - Base URL of the container registry + BaseURL *string `json:"baseUrl,omitempty"` + // Username - Username for to access the container registry + Username *string `json:"username,omitempty"` + // Password - Password for to access the container registry + Password *string `json:"password,omitempty"` + // Repository - Repository name (image name) + Repository *string `json:"repository,omitempty"` + // Tag - Image tag + Tag *string `json:"tag,omitempty"` + // Platform - Platform (windows or linux) + Platform *string `json:"platform,omitempty"` +} + +// ValidateProperties app properties used for validation. +type ValidateProperties struct { + // ServerFarmID - ARM resource ID of an App Service plan that would host the app. + ServerFarmID *string `json:"serverFarmId,omitempty"` + // SkuName - Name of the target SKU for the App Service plan. + SkuName *string `json:"skuName,omitempty"` + // NeedLinuxWorkers - true if App Service plan is for Linux workers; otherwise, false. + NeedLinuxWorkers *bool `json:"needLinuxWorkers,omitempty"` + // IsSpot - true if App Service plan is for Spot instances; otherwise, false. + IsSpot *bool `json:"isSpot,omitempty"` + // Capacity - Target capacity of the App Service plan (number of VMs). + Capacity *int32 `json:"capacity,omitempty"` + // HostingEnvironment - Name of App Service Environment where app or App Service plan should be created. + HostingEnvironment *string `json:"hostingEnvironment,omitempty"` + // IsXenon - true if App Service plan is running as a windows container + IsXenon *bool `json:"isXenon,omitempty"` +} + +// ValidateRequest resource validation request content. +type ValidateRequest struct { + // Name - Resource name to verify. + Name *string `json:"name,omitempty"` + // Type - Resource type used for verification. Possible values include: 'ValidateResourceTypesServerFarm', 'ValidateResourceTypesSite' + Type ValidateResourceTypes `json:"type,omitempty"` + // Location - Expected location of the resource. + Location *string `json:"location,omitempty"` + // ValidateProperties - Properties of the resource to validate. + *ValidateProperties `json:"properties,omitempty"` +} + +// MarshalJSON is the custom marshaler for ValidateRequest. +func (vr ValidateRequest) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if vr.Name != nil { + objectMap["name"] = vr.Name + } + if vr.Type != "" { + objectMap["type"] = vr.Type + } + if vr.Location != nil { + objectMap["location"] = vr.Location + } + if vr.ValidateProperties != nil { + objectMap["properties"] = vr.ValidateProperties + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for ValidateRequest struct. +func (vr *ValidateRequest) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + vr.Name = &name + } + case "type": + if v != nil { + var typeVar ValidateResourceTypes + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + vr.Type = typeVar + } + case "location": + if v != nil { + var location string + err = json.Unmarshal(*v, &location) + if err != nil { + return err + } + vr.Location = &location + } + case "properties": + if v != nil { + var validateProperties ValidateProperties + err = json.Unmarshal(*v, &validateProperties) + if err != nil { + return err + } + vr.ValidateProperties = &validateProperties + } + } + } + + return nil +} + +// ValidateResponse describes the result of resource validation. +type ValidateResponse struct { + autorest.Response `json:"-"` + // Status - Result of validation. + Status *string `json:"status,omitempty"` + // Error - Error details for the case when validation fails. + Error *ValidateResponseError `json:"error,omitempty"` +} + +// ValidateResponseError error details for when validation fails. +type ValidateResponseError struct { + // Code - Validation error code. + Code *string `json:"code,omitempty"` + // Message - Validation error message. + Message *string `json:"message,omitempty"` +} + +// VirtualApplication virtual application in an app. +type VirtualApplication struct { + // VirtualPath - Virtual path. + VirtualPath *string `json:"virtualPath,omitempty"` + // PhysicalPath - Physical path. + PhysicalPath *string `json:"physicalPath,omitempty"` + // PreloadEnabled - true if preloading is enabled; otherwise, false. + PreloadEnabled *bool `json:"preloadEnabled,omitempty"` + // VirtualDirectories - Virtual directories for virtual application. + VirtualDirectories *[]VirtualDirectory `json:"virtualDirectories,omitempty"` +} + +// VirtualDirectory directory for virtual application. +type VirtualDirectory struct { + // VirtualPath - Path to virtual application. + VirtualPath *string `json:"virtualPath,omitempty"` + // PhysicalPath - Physical path. + PhysicalPath *string `json:"physicalPath,omitempty"` +} + +// VirtualIPMapping virtual IP mapping. +type VirtualIPMapping struct { + // VirtualIP - Virtual IP address. + VirtualIP *string `json:"virtualIP,omitempty"` + // InternalHTTPPort - Internal HTTP port. + InternalHTTPPort *int32 `json:"internalHttpPort,omitempty"` + // InternalHTTPSPort - Internal HTTPS port. + InternalHTTPSPort *int32 `json:"internalHttpsPort,omitempty"` + // InUse - Is virtual IP mapping in use. + InUse *bool `json:"inUse,omitempty"` +} + +// VirtualNetworkProfile specification for using a Virtual Network. +type VirtualNetworkProfile struct { + // ID - Resource id of the Virtual Network. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Name of the Virtual Network (read-only). + Name *string `json:"name,omitempty"` + // Type - READ-ONLY; Resource type of the Virtual Network (read-only). + Type *string `json:"type,omitempty"` + // Subnet - Subnet within the Virtual Network. + Subnet *string `json:"subnet,omitempty"` +} + +// VnetGateway the Virtual Network gateway contract. This is used to give the Virtual Network gateway +// access to the VPN package. +type VnetGateway struct { + autorest.Response `json:"-"` + // VnetGatewayProperties - VnetGateway resource specific properties + *VnetGatewayProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource Id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource Name. + Name *string `json:"name,omitempty"` + // Kind - Kind of resource. + Kind *string `json:"kind,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for VnetGateway. +func (vg VnetGateway) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if vg.VnetGatewayProperties != nil { + objectMap["properties"] = vg.VnetGatewayProperties + } + if vg.Kind != nil { + objectMap["kind"] = vg.Kind + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for VnetGateway struct. +func (vg *VnetGateway) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var vnetGatewayProperties VnetGatewayProperties + err = json.Unmarshal(*v, &vnetGatewayProperties) + if err != nil { + return err + } + vg.VnetGatewayProperties = &vnetGatewayProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + vg.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + vg.Name = &name + } + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + vg.Kind = &kind + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + vg.Type = &typeVar + } + } + } + + return nil +} + +// VnetGatewayProperties vnetGateway resource specific properties +type VnetGatewayProperties struct { + // VnetName - The Virtual Network name. + VnetName *string `json:"vnetName,omitempty"` + // VpnPackageURI - The URI where the VPN package can be downloaded. + VpnPackageURI *string `json:"vpnPackageUri,omitempty"` +} + +// VnetInfo virtual Network information contract. +type VnetInfo struct { + autorest.Response `json:"-"` + // VnetInfoProperties - VnetInfo resource specific properties + *VnetInfoProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource Id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource Name. + Name *string `json:"name,omitempty"` + // Kind - Kind of resource. + Kind *string `json:"kind,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for VnetInfo. +func (vi VnetInfo) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if vi.VnetInfoProperties != nil { + objectMap["properties"] = vi.VnetInfoProperties + } + if vi.Kind != nil { + objectMap["kind"] = vi.Kind + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for VnetInfo struct. +func (vi *VnetInfo) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var vnetInfoProperties VnetInfoProperties + err = json.Unmarshal(*v, &vnetInfoProperties) + if err != nil { + return err + } + vi.VnetInfoProperties = &vnetInfoProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + vi.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + vi.Name = &name + } + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + vi.Kind = &kind + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + vi.Type = &typeVar + } + } + } + + return nil +} + +// VnetInfoProperties vnetInfo resource specific properties +type VnetInfoProperties struct { + // VnetResourceID - The Virtual Network's resource ID. + VnetResourceID *string `json:"vnetResourceId,omitempty"` + // CertThumbprint - READ-ONLY; The client certificate thumbprint. + CertThumbprint *string `json:"certThumbprint,omitempty"` + // CertBlob - A certificate file (.cer) blob containing the public key of the private key used to authenticate a + // Point-To-Site VPN connection. + CertBlob *string `json:"certBlob,omitempty"` + // Routes - READ-ONLY; The routes that this Virtual Network connection uses. + Routes *[]VnetRoute `json:"routes,omitempty"` + // ResyncRequired - READ-ONLY; true if a resync is required; otherwise, false. + ResyncRequired *bool `json:"resyncRequired,omitempty"` + // DNSServers - DNS servers to be used by this Virtual Network. This should be a comma-separated list of IP addresses. + DNSServers *string `json:"dnsServers,omitempty"` + // IsSwift - Flag that is used to denote if this is VNET injection + IsSwift *bool `json:"isSwift,omitempty"` +} + +// VnetParameters the required set of inputs to validate a VNET +type VnetParameters struct { + // VnetParametersProperties - VnetParameters resource specific properties + *VnetParametersProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource Id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource Name. + Name *string `json:"name,omitempty"` + // Kind - Kind of resource. + Kind *string `json:"kind,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for VnetParameters. +func (vp VnetParameters) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if vp.VnetParametersProperties != nil { + objectMap["properties"] = vp.VnetParametersProperties + } + if vp.Kind != nil { + objectMap["kind"] = vp.Kind + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for VnetParameters struct. +func (vp *VnetParameters) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var vnetParametersProperties VnetParametersProperties + err = json.Unmarshal(*v, &vnetParametersProperties) + if err != nil { + return err + } + vp.VnetParametersProperties = &vnetParametersProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + vp.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + vp.Name = &name + } + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + vp.Kind = &kind + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + vp.Type = &typeVar + } + } + } + + return nil +} + +// VnetParametersProperties vnetParameters resource specific properties +type VnetParametersProperties struct { + // VnetResourceGroup - The Resource Group of the VNET to be validated + VnetResourceGroup *string `json:"vnetResourceGroup,omitempty"` + // VnetName - The name of the VNET to be validated + VnetName *string `json:"vnetName,omitempty"` + // VnetSubnetName - The subnet name to be validated + VnetSubnetName *string `json:"vnetSubnetName,omitempty"` +} + +// VnetRoute virtual Network route contract used to pass routing information for a Virtual Network. +type VnetRoute struct { + autorest.Response `json:"-"` + // VnetRouteProperties - VnetRoute resource specific properties + *VnetRouteProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource Id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource Name. + Name *string `json:"name,omitempty"` + // Kind - Kind of resource. + Kind *string `json:"kind,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for VnetRoute. +func (vr VnetRoute) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if vr.VnetRouteProperties != nil { + objectMap["properties"] = vr.VnetRouteProperties + } + if vr.Kind != nil { + objectMap["kind"] = vr.Kind + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for VnetRoute struct. +func (vr *VnetRoute) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var vnetRouteProperties VnetRouteProperties + err = json.Unmarshal(*v, &vnetRouteProperties) + if err != nil { + return err + } + vr.VnetRouteProperties = &vnetRouteProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + vr.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + vr.Name = &name + } + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + vr.Kind = &kind + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + vr.Type = &typeVar + } + } + } + + return nil +} + +// VnetRouteProperties vnetRoute resource specific properties +type VnetRouteProperties struct { + // StartAddress - The starting address for this route. This may also include a CIDR notation, in which case the end address must not be specified. + StartAddress *string `json:"startAddress,omitempty"` + // EndAddress - The ending address for this route. If the start address is specified in CIDR notation, this must be omitted. + EndAddress *string `json:"endAddress,omitempty"` + // RouteType - The type of route this is: + // DEFAULT - By default, every app has routes to the local address ranges specified by RFC1918 + // INHERITED - Routes inherited from the real Virtual Network routes + // STATIC - Static route set on the app only + // These values will be used for syncing an app's routes with those from a Virtual Network. Possible values include: 'DEFAULT', 'INHERITED', 'STATIC' + RouteType RouteType `json:"routeType,omitempty"` +} + +// VnetValidationFailureDetails a class that describes the reason for a validation failure. +type VnetValidationFailureDetails struct { + autorest.Response `json:"-"` + // VnetValidationFailureDetailsProperties - VnetValidationFailureDetails resource specific properties + *VnetValidationFailureDetailsProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource Id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource Name. + Name *string `json:"name,omitempty"` + // Kind - Kind of resource. + Kind *string `json:"kind,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for VnetValidationFailureDetails. +func (vvfd VnetValidationFailureDetails) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if vvfd.VnetValidationFailureDetailsProperties != nil { + objectMap["properties"] = vvfd.VnetValidationFailureDetailsProperties + } + if vvfd.Kind != nil { + objectMap["kind"] = vvfd.Kind + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for VnetValidationFailureDetails struct. +func (vvfd *VnetValidationFailureDetails) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var vnetValidationFailureDetailsProperties VnetValidationFailureDetailsProperties + err = json.Unmarshal(*v, &vnetValidationFailureDetailsProperties) + if err != nil { + return err + } + vvfd.VnetValidationFailureDetailsProperties = &vnetValidationFailureDetailsProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + vvfd.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + vvfd.Name = &name + } + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + vvfd.Kind = &kind + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + vvfd.Type = &typeVar + } + } + } + + return nil +} + +// VnetValidationFailureDetailsProperties vnetValidationFailureDetails resource specific properties +type VnetValidationFailureDetailsProperties struct { + // Failed - A flag describing whether or not validation failed. + Failed *bool `json:"failed,omitempty"` + // FailedTests - A list of tests that failed in the validation. + FailedTests *[]VnetValidationTestFailure `json:"failedTests,omitempty"` +} + +// VnetValidationTestFailure a class that describes a test that failed during NSG and UDR validation. +type VnetValidationTestFailure struct { + // VnetValidationTestFailureProperties - VnetValidationTestFailure resource specific properties + *VnetValidationTestFailureProperties `json:"properties,omitempty"` + // ID - READ-ONLY; Resource Id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource Name. + Name *string `json:"name,omitempty"` + // Kind - Kind of resource. + Kind *string `json:"kind,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for VnetValidationTestFailure. +func (vvtf VnetValidationTestFailure) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if vvtf.VnetValidationTestFailureProperties != nil { + objectMap["properties"] = vvtf.VnetValidationTestFailureProperties + } + if vvtf.Kind != nil { + objectMap["kind"] = vvtf.Kind + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for VnetValidationTestFailure struct. +func (vvtf *VnetValidationTestFailure) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var vnetValidationTestFailureProperties VnetValidationTestFailureProperties + err = json.Unmarshal(*v, &vnetValidationTestFailureProperties) + if err != nil { + return err + } + vvtf.VnetValidationTestFailureProperties = &vnetValidationTestFailureProperties + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + vvtf.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + vvtf.Name = &name + } + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + vvtf.Kind = &kind + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + vvtf.Type = &typeVar + } + } + } + + return nil +} + +// VnetValidationTestFailureProperties vnetValidationTestFailure resource specific properties +type VnetValidationTestFailureProperties struct { + // TestName - The name of the test that failed. + TestName *string `json:"testName,omitempty"` + // Details - The details of what caused the failure, e.g. the blocking rule name, etc. + Details *string `json:"details,omitempty"` +} + +// WorkerPool worker pool of an App Service Environment. +type WorkerPool struct { + // WorkerSizeID - Worker size ID for referencing this worker pool. + WorkerSizeID *int32 `json:"workerSizeId,omitempty"` + // ComputeMode - Shared or dedicated app hosting. Possible values include: 'ComputeModeOptionsShared', 'ComputeModeOptionsDedicated', 'ComputeModeOptionsDynamic' + ComputeMode ComputeModeOptions `json:"computeMode,omitempty"` + // WorkerSize - VM size of the worker pool instances. + WorkerSize *string `json:"workerSize,omitempty"` + // WorkerCount - Number of instances in the worker pool. + WorkerCount *int32 `json:"workerCount,omitempty"` + // InstanceNames - READ-ONLY; Names of all instances in the worker pool (read only). + InstanceNames *[]string `json:"instanceNames,omitempty"` +} + +// WorkerPoolCollection collection of worker pools. +type WorkerPoolCollection struct { + autorest.Response `json:"-"` + // Value - Collection of resources. + Value *[]WorkerPoolResource `json:"value,omitempty"` + // NextLink - READ-ONLY; Link to next page of resources. + NextLink *string `json:"nextLink,omitempty"` +} + +// WorkerPoolCollectionIterator provides access to a complete listing of WorkerPoolResource values. +type WorkerPoolCollectionIterator struct { + i int + page WorkerPoolCollectionPage +} + +// NextWithContext advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +func (iter *WorkerPoolCollectionIterator) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WorkerPoolCollectionIterator.NextWithContext") + defer func() { + sc := -1 + if iter.Response().Response.Response != nil { + sc = iter.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + iter.i++ + if iter.i < len(iter.page.Values()) { + return nil + } + err = iter.page.NextWithContext(ctx) + if err != nil { + iter.i-- + return err + } + iter.i = 0 + return nil +} + +// Next advances to the next value. If there was an error making +// the request the iterator does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (iter *WorkerPoolCollectionIterator) Next() error { + return iter.NextWithContext(context.Background()) +} + +// NotDone returns true if the enumeration should be started or is not yet complete. +func (iter WorkerPoolCollectionIterator) NotDone() bool { + return iter.page.NotDone() && iter.i < len(iter.page.Values()) +} + +// Response returns the raw server response from the last page request. +func (iter WorkerPoolCollectionIterator) Response() WorkerPoolCollection { + return iter.page.Response() +} + +// Value returns the current value or a zero-initialized value if the +// iterator has advanced beyond the end of the collection. +func (iter WorkerPoolCollectionIterator) Value() WorkerPoolResource { + if !iter.page.NotDone() { + return WorkerPoolResource{} + } + return iter.page.Values()[iter.i] +} + +// Creates a new instance of the WorkerPoolCollectionIterator type. +func NewWorkerPoolCollectionIterator(page WorkerPoolCollectionPage) WorkerPoolCollectionIterator { + return WorkerPoolCollectionIterator{page: page} +} + +// IsEmpty returns true if the ListResult contains no values. +func (wpc WorkerPoolCollection) IsEmpty() bool { + return wpc.Value == nil || len(*wpc.Value) == 0 +} + +// workerPoolCollectionPreparer prepares a request to retrieve the next set of results. +// It returns nil if no more results exist. +func (wpc WorkerPoolCollection) workerPoolCollectionPreparer(ctx context.Context) (*http.Request, error) { + if wpc.NextLink == nil || len(to.String(wpc.NextLink)) < 1 { + return nil, nil + } + return autorest.Prepare((&http.Request{}).WithContext(ctx), + autorest.AsJSON(), + autorest.AsGet(), + autorest.WithBaseURL(to.String(wpc.NextLink))) +} + +// WorkerPoolCollectionPage contains a page of WorkerPoolResource values. +type WorkerPoolCollectionPage struct { + fn func(context.Context, WorkerPoolCollection) (WorkerPoolCollection, error) + wpc WorkerPoolCollection +} + +// NextWithContext advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +func (page *WorkerPoolCollectionPage) NextWithContext(ctx context.Context) (err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/WorkerPoolCollectionPage.NextWithContext") + defer func() { + sc := -1 + if page.Response().Response.Response != nil { + sc = page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + next, err := page.fn(ctx, page.wpc) + if err != nil { + return err + } + page.wpc = next + return nil +} + +// Next advances to the next page of values. If there was an error making +// the request the page does not advance and the error is returned. +// Deprecated: Use NextWithContext() instead. +func (page *WorkerPoolCollectionPage) Next() error { + return page.NextWithContext(context.Background()) +} + +// NotDone returns true if the page enumeration should be started or is not yet complete. +func (page WorkerPoolCollectionPage) NotDone() bool { + return !page.wpc.IsEmpty() +} + +// Response returns the raw server response from the last page request. +func (page WorkerPoolCollectionPage) Response() WorkerPoolCollection { + return page.wpc +} + +// Values returns the slice of values for the current page or nil if there are no values. +func (page WorkerPoolCollectionPage) Values() []WorkerPoolResource { + if page.wpc.IsEmpty() { + return nil + } + return *page.wpc.Value +} + +// Creates a new instance of the WorkerPoolCollectionPage type. +func NewWorkerPoolCollectionPage(getNextPage func(context.Context, WorkerPoolCollection) (WorkerPoolCollection, error)) WorkerPoolCollectionPage { + return WorkerPoolCollectionPage{fn: getNextPage} +} + +// WorkerPoolResource worker pool of an App Service Environment ARM resource. +type WorkerPoolResource struct { + autorest.Response `json:"-"` + // WorkerPool - Core resource properties + *WorkerPool `json:"properties,omitempty"` + Sku *SkuDescription `json:"sku,omitempty"` + // ID - READ-ONLY; Resource Id. + ID *string `json:"id,omitempty"` + // Name - READ-ONLY; Resource Name. + Name *string `json:"name,omitempty"` + // Kind - Kind of resource. + Kind *string `json:"kind,omitempty"` + // Type - READ-ONLY; Resource type. + Type *string `json:"type,omitempty"` +} + +// MarshalJSON is the custom marshaler for WorkerPoolResource. +func (wpr WorkerPoolResource) MarshalJSON() ([]byte, error) { + objectMap := make(map[string]interface{}) + if wpr.WorkerPool != nil { + objectMap["properties"] = wpr.WorkerPool + } + if wpr.Sku != nil { + objectMap["sku"] = wpr.Sku + } + if wpr.Kind != nil { + objectMap["kind"] = wpr.Kind + } + return json.Marshal(objectMap) +} + +// UnmarshalJSON is the custom unmarshaler for WorkerPoolResource struct. +func (wpr *WorkerPoolResource) UnmarshalJSON(body []byte) error { + var m map[string]*json.RawMessage + err := json.Unmarshal(body, &m) + if err != nil { + return err + } + for k, v := range m { + switch k { + case "properties": + if v != nil { + var workerPool WorkerPool + err = json.Unmarshal(*v, &workerPool) + if err != nil { + return err + } + wpr.WorkerPool = &workerPool + } + case "sku": + if v != nil { + var sku SkuDescription + err = json.Unmarshal(*v, &sku) + if err != nil { + return err + } + wpr.Sku = &sku + } + case "id": + if v != nil { + var ID string + err = json.Unmarshal(*v, &ID) + if err != nil { + return err + } + wpr.ID = &ID + } + case "name": + if v != nil { + var name string + err = json.Unmarshal(*v, &name) + if err != nil { + return err + } + wpr.Name = &name + } + case "kind": + if v != nil { + var kind string + err = json.Unmarshal(*v, &kind) + if err != nil { + return err + } + wpr.Kind = &kind + } + case "type": + if v != nil { + var typeVar string + err = json.Unmarshal(*v, &typeVar) + if err != nil { + return err + } + wpr.Type = &typeVar + } + } + } + + return nil +} diff --git a/services/web/mgmt/2019-08-01/web/provider.go b/services/web/mgmt/2019-08-01/web/provider.go new file mode 100644 index 000000000000..c24ca0866e5c --- /dev/null +++ b/services/web/mgmt/2019-08-01/web/provider.go @@ -0,0 +1,370 @@ +package web + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// ProviderClient is the webSite Management Client +type ProviderClient struct { + BaseClient +} + +// NewProviderClient creates an instance of the ProviderClient client. +func NewProviderClient(subscriptionID string) ProviderClient { + return NewProviderClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewProviderClientWithBaseURI creates an instance of the ProviderClient client. +func NewProviderClientWithBaseURI(baseURI string, subscriptionID string) ProviderClient { + return ProviderClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// GetAvailableStacks get available application frameworks and their versions +func (client ProviderClient) GetAvailableStacks(ctx context.Context, osTypeSelected string) (result ApplicationStackCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ProviderClient.GetAvailableStacks") + defer func() { + sc := -1 + if result.asc.Response.Response != nil { + sc = result.asc.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.getAvailableStacksNextResults + req, err := client.GetAvailableStacksPreparer(ctx, osTypeSelected) + if err != nil { + err = autorest.NewErrorWithError(err, "web.ProviderClient", "GetAvailableStacks", nil, "Failure preparing request") + return + } + + resp, err := client.GetAvailableStacksSender(req) + if err != nil { + result.asc.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.ProviderClient", "GetAvailableStacks", resp, "Failure sending request") + return + } + + result.asc, err = client.GetAvailableStacksResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.ProviderClient", "GetAvailableStacks", resp, "Failure responding to request") + } + + return +} + +// GetAvailableStacksPreparer prepares the GetAvailableStacks request. +func (client ProviderClient) GetAvailableStacksPreparer(ctx context.Context, osTypeSelected string) (*http.Request, error) { + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(string(osTypeSelected)) > 0 { + queryParameters["osTypeSelected"] = autorest.Encode("query", osTypeSelected) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPath("/providers/Microsoft.Web/availableStacks"), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetAvailableStacksSender sends the GetAvailableStacks request. The method will close the +// http.Response Body if it receives an error. +func (client ProviderClient) GetAvailableStacksSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetAvailableStacksResponder handles the response to the GetAvailableStacks request. The method always +// closes the http.Response Body. +func (client ProviderClient) GetAvailableStacksResponder(resp *http.Response) (result ApplicationStackCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// getAvailableStacksNextResults retrieves the next set of results, if any. +func (client ProviderClient) getAvailableStacksNextResults(ctx context.Context, lastResults ApplicationStackCollection) (result ApplicationStackCollection, err error) { + req, err := lastResults.applicationStackCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.ProviderClient", "getAvailableStacksNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.GetAvailableStacksSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.ProviderClient", "getAvailableStacksNextResults", resp, "Failure sending next results request") + } + result, err = client.GetAvailableStacksResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.ProviderClient", "getAvailableStacksNextResults", resp, "Failure responding to next results request") + } + return +} + +// GetAvailableStacksComplete enumerates all values, automatically crossing page boundaries as required. +func (client ProviderClient) GetAvailableStacksComplete(ctx context.Context, osTypeSelected string) (result ApplicationStackCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ProviderClient.GetAvailableStacks") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.GetAvailableStacks(ctx, osTypeSelected) + return +} + +// GetAvailableStacksOnPrem get available application frameworks and their versions +func (client ProviderClient) GetAvailableStacksOnPrem(ctx context.Context, osTypeSelected string) (result ApplicationStackCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ProviderClient.GetAvailableStacksOnPrem") + defer func() { + sc := -1 + if result.asc.Response.Response != nil { + sc = result.asc.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.getAvailableStacksOnPremNextResults + req, err := client.GetAvailableStacksOnPremPreparer(ctx, osTypeSelected) + if err != nil { + err = autorest.NewErrorWithError(err, "web.ProviderClient", "GetAvailableStacksOnPrem", nil, "Failure preparing request") + return + } + + resp, err := client.GetAvailableStacksOnPremSender(req) + if err != nil { + result.asc.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.ProviderClient", "GetAvailableStacksOnPrem", resp, "Failure sending request") + return + } + + result.asc, err = client.GetAvailableStacksOnPremResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.ProviderClient", "GetAvailableStacksOnPrem", resp, "Failure responding to request") + } + + return +} + +// GetAvailableStacksOnPremPreparer prepares the GetAvailableStacksOnPrem request. +func (client ProviderClient) GetAvailableStacksOnPremPreparer(ctx context.Context, osTypeSelected string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if len(string(osTypeSelected)) > 0 { + queryParameters["osTypeSelected"] = autorest.Encode("query", osTypeSelected) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Web/availableStacks", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetAvailableStacksOnPremSender sends the GetAvailableStacksOnPrem request. The method will close the +// http.Response Body if it receives an error. +func (client ProviderClient) GetAvailableStacksOnPremSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetAvailableStacksOnPremResponder handles the response to the GetAvailableStacksOnPrem request. The method always +// closes the http.Response Body. +func (client ProviderClient) GetAvailableStacksOnPremResponder(resp *http.Response) (result ApplicationStackCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// getAvailableStacksOnPremNextResults retrieves the next set of results, if any. +func (client ProviderClient) getAvailableStacksOnPremNextResults(ctx context.Context, lastResults ApplicationStackCollection) (result ApplicationStackCollection, err error) { + req, err := lastResults.applicationStackCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.ProviderClient", "getAvailableStacksOnPremNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.GetAvailableStacksOnPremSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.ProviderClient", "getAvailableStacksOnPremNextResults", resp, "Failure sending next results request") + } + result, err = client.GetAvailableStacksOnPremResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.ProviderClient", "getAvailableStacksOnPremNextResults", resp, "Failure responding to next results request") + } + return +} + +// GetAvailableStacksOnPremComplete enumerates all values, automatically crossing page boundaries as required. +func (client ProviderClient) GetAvailableStacksOnPremComplete(ctx context.Context, osTypeSelected string) (result ApplicationStackCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ProviderClient.GetAvailableStacksOnPrem") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.GetAvailableStacksOnPrem(ctx, osTypeSelected) + return +} + +// ListOperations gets all available operations for the Microsoft.Web resource provider. Also exposes resource metric +// definitions +func (client ProviderClient) ListOperations(ctx context.Context) (result CsmOperationCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ProviderClient.ListOperations") + defer func() { + sc := -1 + if result.coc.Response.Response != nil { + sc = result.coc.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listOperationsNextResults + req, err := client.ListOperationsPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "web.ProviderClient", "ListOperations", nil, "Failure preparing request") + return + } + + resp, err := client.ListOperationsSender(req) + if err != nil { + result.coc.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.ProviderClient", "ListOperations", resp, "Failure sending request") + return + } + + result.coc, err = client.ListOperationsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.ProviderClient", "ListOperations", resp, "Failure responding to request") + } + + return +} + +// ListOperationsPreparer prepares the ListOperations request. +func (client ProviderClient) ListOperationsPreparer(ctx context.Context) (*http.Request, error) { + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPath("/providers/Microsoft.Web/operations"), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListOperationsSender sends the ListOperations request. The method will close the +// http.Response Body if it receives an error. +func (client ProviderClient) ListOperationsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), autorest.DoRetryForStatusCodes(client.RetryAttempts, client.RetryDuration, autorest.StatusCodesForRetry...)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListOperationsResponder handles the response to the ListOperations request. The method always +// closes the http.Response Body. +func (client ProviderClient) ListOperationsResponder(resp *http.Response) (result CsmOperationCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listOperationsNextResults retrieves the next set of results, if any. +func (client ProviderClient) listOperationsNextResults(ctx context.Context, lastResults CsmOperationCollection) (result CsmOperationCollection, err error) { + req, err := lastResults.csmOperationCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.ProviderClient", "listOperationsNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListOperationsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.ProviderClient", "listOperationsNextResults", resp, "Failure sending next results request") + } + result, err = client.ListOperationsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.ProviderClient", "listOperationsNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListOperationsComplete enumerates all values, automatically crossing page boundaries as required. +func (client ProviderClient) ListOperationsComplete(ctx context.Context) (result CsmOperationCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ProviderClient.ListOperations") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListOperations(ctx) + return +} diff --git a/services/web/mgmt/2019-08-01/web/recommendations.go b/services/web/mgmt/2019-08-01/web/recommendations.go new file mode 100644 index 000000000000..89c4e3421530 --- /dev/null +++ b/services/web/mgmt/2019-08-01/web/recommendations.go @@ -0,0 +1,1547 @@ +package web + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// RecommendationsClient is the webSite Management Client +type RecommendationsClient struct { + BaseClient +} + +// NewRecommendationsClient creates an instance of the RecommendationsClient client. +func NewRecommendationsClient(subscriptionID string) RecommendationsClient { + return NewRecommendationsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewRecommendationsClientWithBaseURI creates an instance of the RecommendationsClient client. +func NewRecommendationsClientWithBaseURI(baseURI string, subscriptionID string) RecommendationsClient { + return RecommendationsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// DisableAllForHostingEnvironment disable all recommendations for an app. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// environmentName - name of the app. +func (client RecommendationsClient) DisableAllForHostingEnvironment(ctx context.Context, resourceGroupName string, environmentName string, hostingEnvironmentName string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RecommendationsClient.DisableAllForHostingEnvironment") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.RecommendationsClient", "DisableAllForHostingEnvironment", err.Error()) + } + + req, err := client.DisableAllForHostingEnvironmentPreparer(ctx, resourceGroupName, environmentName, hostingEnvironmentName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.RecommendationsClient", "DisableAllForHostingEnvironment", nil, "Failure preparing request") + return + } + + resp, err := client.DisableAllForHostingEnvironmentSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.RecommendationsClient", "DisableAllForHostingEnvironment", resp, "Failure sending request") + return + } + + result, err = client.DisableAllForHostingEnvironmentResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.RecommendationsClient", "DisableAllForHostingEnvironment", resp, "Failure responding to request") + } + + return +} + +// DisableAllForHostingEnvironmentPreparer prepares the DisableAllForHostingEnvironment request. +func (client RecommendationsClient) DisableAllForHostingEnvironmentPreparer(ctx context.Context, resourceGroupName string, environmentName string, hostingEnvironmentName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "hostingEnvironmentName": autorest.Encode("path", hostingEnvironmentName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + "environmentName": autorest.Encode("query", environmentName), + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{hostingEnvironmentName}/recommendations/disable", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DisableAllForHostingEnvironmentSender sends the DisableAllForHostingEnvironment request. The method will close the +// http.Response Body if it receives an error. +func (client RecommendationsClient) DisableAllForHostingEnvironmentSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// DisableAllForHostingEnvironmentResponder handles the response to the DisableAllForHostingEnvironment request. The method always +// closes the http.Response Body. +func (client RecommendationsClient) DisableAllForHostingEnvironmentResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// DisableAllForWebApp disable all recommendations for an app. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// siteName - name of the app. +func (client RecommendationsClient) DisableAllForWebApp(ctx context.Context, resourceGroupName string, siteName string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RecommendationsClient.DisableAllForWebApp") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.RecommendationsClient", "DisableAllForWebApp", err.Error()) + } + + req, err := client.DisableAllForWebAppPreparer(ctx, resourceGroupName, siteName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.RecommendationsClient", "DisableAllForWebApp", nil, "Failure preparing request") + return + } + + resp, err := client.DisableAllForWebAppSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.RecommendationsClient", "DisableAllForWebApp", resp, "Failure sending request") + return + } + + result, err = client.DisableAllForWebAppResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.RecommendationsClient", "DisableAllForWebApp", resp, "Failure responding to request") + } + + return +} + +// DisableAllForWebAppPreparer prepares the DisableAllForWebApp request. +func (client RecommendationsClient) DisableAllForWebAppPreparer(ctx context.Context, resourceGroupName string, siteName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "siteName": autorest.Encode("path", siteName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendations/disable", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DisableAllForWebAppSender sends the DisableAllForWebApp request. The method will close the +// http.Response Body if it receives an error. +func (client RecommendationsClient) DisableAllForWebAppSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// DisableAllForWebAppResponder handles the response to the DisableAllForWebApp request. The method always +// closes the http.Response Body. +func (client RecommendationsClient) DisableAllForWebAppResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// DisableRecommendationForHostingEnvironment disables the specific rule for a web site permanently. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// environmentName - site name +// name - rule name +func (client RecommendationsClient) DisableRecommendationForHostingEnvironment(ctx context.Context, resourceGroupName string, environmentName string, name string, hostingEnvironmentName string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RecommendationsClient.DisableRecommendationForHostingEnvironment") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.RecommendationsClient", "DisableRecommendationForHostingEnvironment", err.Error()) + } + + req, err := client.DisableRecommendationForHostingEnvironmentPreparer(ctx, resourceGroupName, environmentName, name, hostingEnvironmentName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.RecommendationsClient", "DisableRecommendationForHostingEnvironment", nil, "Failure preparing request") + return + } + + resp, err := client.DisableRecommendationForHostingEnvironmentSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.RecommendationsClient", "DisableRecommendationForHostingEnvironment", resp, "Failure sending request") + return + } + + result, err = client.DisableRecommendationForHostingEnvironmentResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.RecommendationsClient", "DisableRecommendationForHostingEnvironment", resp, "Failure responding to request") + } + + return +} + +// DisableRecommendationForHostingEnvironmentPreparer prepares the DisableRecommendationForHostingEnvironment request. +func (client RecommendationsClient) DisableRecommendationForHostingEnvironmentPreparer(ctx context.Context, resourceGroupName string, environmentName string, name string, hostingEnvironmentName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "hostingEnvironmentName": autorest.Encode("path", hostingEnvironmentName), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + "environmentName": autorest.Encode("query", environmentName), + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{hostingEnvironmentName}/recommendations/{name}/disable", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DisableRecommendationForHostingEnvironmentSender sends the DisableRecommendationForHostingEnvironment request. The method will close the +// http.Response Body if it receives an error. +func (client RecommendationsClient) DisableRecommendationForHostingEnvironmentSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// DisableRecommendationForHostingEnvironmentResponder handles the response to the DisableRecommendationForHostingEnvironment request. The method always +// closes the http.Response Body. +func (client RecommendationsClient) DisableRecommendationForHostingEnvironmentResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByClosing()) + result.Response = resp + return +} + +// DisableRecommendationForSite disables the specific rule for a web site permanently. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// siteName - site name +// name - rule name +func (client RecommendationsClient) DisableRecommendationForSite(ctx context.Context, resourceGroupName string, siteName string, name string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RecommendationsClient.DisableRecommendationForSite") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.RecommendationsClient", "DisableRecommendationForSite", err.Error()) + } + + req, err := client.DisableRecommendationForSitePreparer(ctx, resourceGroupName, siteName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.RecommendationsClient", "DisableRecommendationForSite", nil, "Failure preparing request") + return + } + + resp, err := client.DisableRecommendationForSiteSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.RecommendationsClient", "DisableRecommendationForSite", resp, "Failure sending request") + return + } + + result, err = client.DisableRecommendationForSiteResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.RecommendationsClient", "DisableRecommendationForSite", resp, "Failure responding to request") + } + + return +} + +// DisableRecommendationForSitePreparer prepares the DisableRecommendationForSite request. +func (client RecommendationsClient) DisableRecommendationForSitePreparer(ctx context.Context, resourceGroupName string, siteName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "siteName": autorest.Encode("path", siteName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendations/{name}/disable", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DisableRecommendationForSiteSender sends the DisableRecommendationForSite request. The method will close the +// http.Response Body if it receives an error. +func (client RecommendationsClient) DisableRecommendationForSiteSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// DisableRecommendationForSiteResponder handles the response to the DisableRecommendationForSite request. The method always +// closes the http.Response Body. +func (client RecommendationsClient) DisableRecommendationForSiteResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByClosing()) + result.Response = resp + return +} + +// DisableRecommendationForSubscription disables the specified rule so it will not apply to a subscription in the +// future. +// Parameters: +// name - rule name +func (client RecommendationsClient) DisableRecommendationForSubscription(ctx context.Context, name string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RecommendationsClient.DisableRecommendationForSubscription") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.DisableRecommendationForSubscriptionPreparer(ctx, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.RecommendationsClient", "DisableRecommendationForSubscription", nil, "Failure preparing request") + return + } + + resp, err := client.DisableRecommendationForSubscriptionSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.RecommendationsClient", "DisableRecommendationForSubscription", resp, "Failure sending request") + return + } + + result, err = client.DisableRecommendationForSubscriptionResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.RecommendationsClient", "DisableRecommendationForSubscription", resp, "Failure responding to request") + } + + return +} + +// DisableRecommendationForSubscriptionPreparer prepares the DisableRecommendationForSubscription request. +func (client RecommendationsClient) DisableRecommendationForSubscriptionPreparer(ctx context.Context, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Web/recommendations/{name}/disable", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// DisableRecommendationForSubscriptionSender sends the DisableRecommendationForSubscription request. The method will close the +// http.Response Body if it receives an error. +func (client RecommendationsClient) DisableRecommendationForSubscriptionSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// DisableRecommendationForSubscriptionResponder handles the response to the DisableRecommendationForSubscription request. The method always +// closes the http.Response Body. +func (client RecommendationsClient) DisableRecommendationForSubscriptionResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByClosing()) + result.Response = resp + return +} + +// GetRuleDetailsByHostingEnvironment get a recommendation rule for an app. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// hostingEnvironmentName - name of the hosting environment. +// name - name of the recommendation. +// updateSeen - specify true to update the last-seen timestamp of the recommendation object. +// recommendationID - the GUID of the recommendation object if you query an expired one. You don't need to +// specify it to query an active entry. +func (client RecommendationsClient) GetRuleDetailsByHostingEnvironment(ctx context.Context, resourceGroupName string, hostingEnvironmentName string, name string, updateSeen *bool, recommendationID string) (result RecommendationRule, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RecommendationsClient.GetRuleDetailsByHostingEnvironment") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.RecommendationsClient", "GetRuleDetailsByHostingEnvironment", err.Error()) + } + + req, err := client.GetRuleDetailsByHostingEnvironmentPreparer(ctx, resourceGroupName, hostingEnvironmentName, name, updateSeen, recommendationID) + if err != nil { + err = autorest.NewErrorWithError(err, "web.RecommendationsClient", "GetRuleDetailsByHostingEnvironment", nil, "Failure preparing request") + return + } + + resp, err := client.GetRuleDetailsByHostingEnvironmentSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.RecommendationsClient", "GetRuleDetailsByHostingEnvironment", resp, "Failure sending request") + return + } + + result, err = client.GetRuleDetailsByHostingEnvironmentResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.RecommendationsClient", "GetRuleDetailsByHostingEnvironment", resp, "Failure responding to request") + } + + return +} + +// GetRuleDetailsByHostingEnvironmentPreparer prepares the GetRuleDetailsByHostingEnvironment request. +func (client RecommendationsClient) GetRuleDetailsByHostingEnvironmentPreparer(ctx context.Context, resourceGroupName string, hostingEnvironmentName string, name string, updateSeen *bool, recommendationID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "hostingEnvironmentName": autorest.Encode("path", hostingEnvironmentName), + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if updateSeen != nil { + queryParameters["updateSeen"] = autorest.Encode("query", *updateSeen) + } + if len(recommendationID) > 0 { + queryParameters["recommendationId"] = autorest.Encode("query", recommendationID) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{hostingEnvironmentName}/recommendations/{name}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetRuleDetailsByHostingEnvironmentSender sends the GetRuleDetailsByHostingEnvironment request. The method will close the +// http.Response Body if it receives an error. +func (client RecommendationsClient) GetRuleDetailsByHostingEnvironmentSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetRuleDetailsByHostingEnvironmentResponder handles the response to the GetRuleDetailsByHostingEnvironment request. The method always +// closes the http.Response Body. +func (client RecommendationsClient) GetRuleDetailsByHostingEnvironmentResponder(resp *http.Response) (result RecommendationRule, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetRuleDetailsByWebApp get a recommendation rule for an app. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// siteName - name of the app. +// name - name of the recommendation. +// updateSeen - specify true to update the last-seen timestamp of the recommendation object. +// recommendationID - the GUID of the recommendation object if you query an expired one. You don't need to +// specify it to query an active entry. +func (client RecommendationsClient) GetRuleDetailsByWebApp(ctx context.Context, resourceGroupName string, siteName string, name string, updateSeen *bool, recommendationID string) (result RecommendationRule, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RecommendationsClient.GetRuleDetailsByWebApp") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.RecommendationsClient", "GetRuleDetailsByWebApp", err.Error()) + } + + req, err := client.GetRuleDetailsByWebAppPreparer(ctx, resourceGroupName, siteName, name, updateSeen, recommendationID) + if err != nil { + err = autorest.NewErrorWithError(err, "web.RecommendationsClient", "GetRuleDetailsByWebApp", nil, "Failure preparing request") + return + } + + resp, err := client.GetRuleDetailsByWebAppSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.RecommendationsClient", "GetRuleDetailsByWebApp", resp, "Failure sending request") + return + } + + result, err = client.GetRuleDetailsByWebAppResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.RecommendationsClient", "GetRuleDetailsByWebApp", resp, "Failure responding to request") + } + + return +} + +// GetRuleDetailsByWebAppPreparer prepares the GetRuleDetailsByWebApp request. +func (client RecommendationsClient) GetRuleDetailsByWebAppPreparer(ctx context.Context, resourceGroupName string, siteName string, name string, updateSeen *bool, recommendationID string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "siteName": autorest.Encode("path", siteName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if updateSeen != nil { + queryParameters["updateSeen"] = autorest.Encode("query", *updateSeen) + } + if len(recommendationID) > 0 { + queryParameters["recommendationId"] = autorest.Encode("query", recommendationID) + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendations/{name}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetRuleDetailsByWebAppSender sends the GetRuleDetailsByWebApp request. The method will close the +// http.Response Body if it receives an error. +func (client RecommendationsClient) GetRuleDetailsByWebAppSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetRuleDetailsByWebAppResponder handles the response to the GetRuleDetailsByWebApp request. The method always +// closes the http.Response Body. +func (client RecommendationsClient) GetRuleDetailsByWebAppResponder(resp *http.Response) (result RecommendationRule, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List list all recommendations for a subscription. +// Parameters: +// featured - specify true to return only the most critical recommendations. The default is +// false, which returns all recommendations. +// filter - filter is specified by using OData syntax. Example: $filter=channel eq 'Api' or channel eq +// 'Notification' and startTime eq 2014-01-01T00:00:00Z and endTime eq 2014-12-31T23:59:59Z and timeGrain eq +// duration'[PT1H|PT1M|P1D] +func (client RecommendationsClient) List(ctx context.Context, featured *bool, filter string) (result RecommendationCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RecommendationsClient.List") + defer func() { + sc := -1 + if result.rc.Response.Response != nil { + sc = result.rc.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx, featured, filter) + if err != nil { + err = autorest.NewErrorWithError(err, "web.RecommendationsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.rc.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.RecommendationsClient", "List", resp, "Failure sending request") + return + } + + result.rc, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.RecommendationsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client RecommendationsClient) ListPreparer(ctx context.Context, featured *bool, filter string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if featured != nil { + queryParameters["featured"] = autorest.Encode("query", *featured) + } + if len(filter) > 0 { + queryParameters["$filter"] = filter + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Web/recommendations", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client RecommendationsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client RecommendationsClient) ListResponder(resp *http.Response) (result RecommendationCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client RecommendationsClient) listNextResults(ctx context.Context, lastResults RecommendationCollection) (result RecommendationCollection, err error) { + req, err := lastResults.recommendationCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.RecommendationsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.RecommendationsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.RecommendationsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client RecommendationsClient) ListComplete(ctx context.Context, featured *bool, filter string) (result RecommendationCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RecommendationsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx, featured, filter) + return +} + +// ListHistoryForHostingEnvironment get past recommendations for an app, optionally specified by the time range. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// hostingEnvironmentName - name of the hosting environment. +// expiredOnly - specify false to return all recommendations. The default is true, +// which returns only expired recommendations. +// filter - filter is specified by using OData syntax. Example: $filter=channel eq 'Api' or channel eq +// 'Notification' and startTime eq 2014-01-01T00:00:00Z and endTime eq 2014-12-31T23:59:59Z and timeGrain eq +// duration'[PT1H|PT1M|P1D] +func (client RecommendationsClient) ListHistoryForHostingEnvironment(ctx context.Context, resourceGroupName string, hostingEnvironmentName string, expiredOnly *bool, filter string) (result RecommendationCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RecommendationsClient.ListHistoryForHostingEnvironment") + defer func() { + sc := -1 + if result.rc.Response.Response != nil { + sc = result.rc.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.RecommendationsClient", "ListHistoryForHostingEnvironment", err.Error()) + } + + result.fn = client.listHistoryForHostingEnvironmentNextResults + req, err := client.ListHistoryForHostingEnvironmentPreparer(ctx, resourceGroupName, hostingEnvironmentName, expiredOnly, filter) + if err != nil { + err = autorest.NewErrorWithError(err, "web.RecommendationsClient", "ListHistoryForHostingEnvironment", nil, "Failure preparing request") + return + } + + resp, err := client.ListHistoryForHostingEnvironmentSender(req) + if err != nil { + result.rc.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.RecommendationsClient", "ListHistoryForHostingEnvironment", resp, "Failure sending request") + return + } + + result.rc, err = client.ListHistoryForHostingEnvironmentResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.RecommendationsClient", "ListHistoryForHostingEnvironment", resp, "Failure responding to request") + } + + return +} + +// ListHistoryForHostingEnvironmentPreparer prepares the ListHistoryForHostingEnvironment request. +func (client RecommendationsClient) ListHistoryForHostingEnvironmentPreparer(ctx context.Context, resourceGroupName string, hostingEnvironmentName string, expiredOnly *bool, filter string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "hostingEnvironmentName": autorest.Encode("path", hostingEnvironmentName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if expiredOnly != nil { + queryParameters["expiredOnly"] = autorest.Encode("query", *expiredOnly) + } + if len(filter) > 0 { + queryParameters["$filter"] = filter + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{hostingEnvironmentName}/recommendationHistory", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListHistoryForHostingEnvironmentSender sends the ListHistoryForHostingEnvironment request. The method will close the +// http.Response Body if it receives an error. +func (client RecommendationsClient) ListHistoryForHostingEnvironmentSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListHistoryForHostingEnvironmentResponder handles the response to the ListHistoryForHostingEnvironment request. The method always +// closes the http.Response Body. +func (client RecommendationsClient) ListHistoryForHostingEnvironmentResponder(resp *http.Response) (result RecommendationCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listHistoryForHostingEnvironmentNextResults retrieves the next set of results, if any. +func (client RecommendationsClient) listHistoryForHostingEnvironmentNextResults(ctx context.Context, lastResults RecommendationCollection) (result RecommendationCollection, err error) { + req, err := lastResults.recommendationCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.RecommendationsClient", "listHistoryForHostingEnvironmentNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListHistoryForHostingEnvironmentSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.RecommendationsClient", "listHistoryForHostingEnvironmentNextResults", resp, "Failure sending next results request") + } + result, err = client.ListHistoryForHostingEnvironmentResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.RecommendationsClient", "listHistoryForHostingEnvironmentNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListHistoryForHostingEnvironmentComplete enumerates all values, automatically crossing page boundaries as required. +func (client RecommendationsClient) ListHistoryForHostingEnvironmentComplete(ctx context.Context, resourceGroupName string, hostingEnvironmentName string, expiredOnly *bool, filter string) (result RecommendationCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RecommendationsClient.ListHistoryForHostingEnvironment") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListHistoryForHostingEnvironment(ctx, resourceGroupName, hostingEnvironmentName, expiredOnly, filter) + return +} + +// ListHistoryForWebApp get past recommendations for an app, optionally specified by the time range. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// siteName - name of the app. +// expiredOnly - specify false to return all recommendations. The default is true, +// which returns only expired recommendations. +// filter - filter is specified by using OData syntax. Example: $filter=channel eq 'Api' or channel eq +// 'Notification' and startTime eq 2014-01-01T00:00:00Z and endTime eq 2014-12-31T23:59:59Z and timeGrain eq +// duration'[PT1H|PT1M|P1D] +func (client RecommendationsClient) ListHistoryForWebApp(ctx context.Context, resourceGroupName string, siteName string, expiredOnly *bool, filter string) (result RecommendationCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RecommendationsClient.ListHistoryForWebApp") + defer func() { + sc := -1 + if result.rc.Response.Response != nil { + sc = result.rc.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.RecommendationsClient", "ListHistoryForWebApp", err.Error()) + } + + result.fn = client.listHistoryForWebAppNextResults + req, err := client.ListHistoryForWebAppPreparer(ctx, resourceGroupName, siteName, expiredOnly, filter) + if err != nil { + err = autorest.NewErrorWithError(err, "web.RecommendationsClient", "ListHistoryForWebApp", nil, "Failure preparing request") + return + } + + resp, err := client.ListHistoryForWebAppSender(req) + if err != nil { + result.rc.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.RecommendationsClient", "ListHistoryForWebApp", resp, "Failure sending request") + return + } + + result.rc, err = client.ListHistoryForWebAppResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.RecommendationsClient", "ListHistoryForWebApp", resp, "Failure responding to request") + } + + return +} + +// ListHistoryForWebAppPreparer prepares the ListHistoryForWebApp request. +func (client RecommendationsClient) ListHistoryForWebAppPreparer(ctx context.Context, resourceGroupName string, siteName string, expiredOnly *bool, filter string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "siteName": autorest.Encode("path", siteName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if expiredOnly != nil { + queryParameters["expiredOnly"] = autorest.Encode("query", *expiredOnly) + } + if len(filter) > 0 { + queryParameters["$filter"] = filter + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendationHistory", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListHistoryForWebAppSender sends the ListHistoryForWebApp request. The method will close the +// http.Response Body if it receives an error. +func (client RecommendationsClient) ListHistoryForWebAppSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListHistoryForWebAppResponder handles the response to the ListHistoryForWebApp request. The method always +// closes the http.Response Body. +func (client RecommendationsClient) ListHistoryForWebAppResponder(resp *http.Response) (result RecommendationCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listHistoryForWebAppNextResults retrieves the next set of results, if any. +func (client RecommendationsClient) listHistoryForWebAppNextResults(ctx context.Context, lastResults RecommendationCollection) (result RecommendationCollection, err error) { + req, err := lastResults.recommendationCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.RecommendationsClient", "listHistoryForWebAppNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListHistoryForWebAppSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.RecommendationsClient", "listHistoryForWebAppNextResults", resp, "Failure sending next results request") + } + result, err = client.ListHistoryForWebAppResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.RecommendationsClient", "listHistoryForWebAppNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListHistoryForWebAppComplete enumerates all values, automatically crossing page boundaries as required. +func (client RecommendationsClient) ListHistoryForWebAppComplete(ctx context.Context, resourceGroupName string, siteName string, expiredOnly *bool, filter string) (result RecommendationCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RecommendationsClient.ListHistoryForWebApp") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListHistoryForWebApp(ctx, resourceGroupName, siteName, expiredOnly, filter) + return +} + +// ListRecommendedRulesForHostingEnvironment get all recommendations for an app. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// hostingEnvironmentName - name of the app. +// featured - specify true to return only the most critical recommendations. The default is +// false, which returns all recommendations. +// filter - return only channels specified in the filter. Filter is specified by using OData syntax. Example: +// $filter=channel eq 'Api' or channel eq 'Notification' +func (client RecommendationsClient) ListRecommendedRulesForHostingEnvironment(ctx context.Context, resourceGroupName string, hostingEnvironmentName string, featured *bool, filter string) (result RecommendationCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RecommendationsClient.ListRecommendedRulesForHostingEnvironment") + defer func() { + sc := -1 + if result.rc.Response.Response != nil { + sc = result.rc.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.RecommendationsClient", "ListRecommendedRulesForHostingEnvironment", err.Error()) + } + + result.fn = client.listRecommendedRulesForHostingEnvironmentNextResults + req, err := client.ListRecommendedRulesForHostingEnvironmentPreparer(ctx, resourceGroupName, hostingEnvironmentName, featured, filter) + if err != nil { + err = autorest.NewErrorWithError(err, "web.RecommendationsClient", "ListRecommendedRulesForHostingEnvironment", nil, "Failure preparing request") + return + } + + resp, err := client.ListRecommendedRulesForHostingEnvironmentSender(req) + if err != nil { + result.rc.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.RecommendationsClient", "ListRecommendedRulesForHostingEnvironment", resp, "Failure sending request") + return + } + + result.rc, err = client.ListRecommendedRulesForHostingEnvironmentResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.RecommendationsClient", "ListRecommendedRulesForHostingEnvironment", resp, "Failure responding to request") + } + + return +} + +// ListRecommendedRulesForHostingEnvironmentPreparer prepares the ListRecommendedRulesForHostingEnvironment request. +func (client RecommendationsClient) ListRecommendedRulesForHostingEnvironmentPreparer(ctx context.Context, resourceGroupName string, hostingEnvironmentName string, featured *bool, filter string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "hostingEnvironmentName": autorest.Encode("path", hostingEnvironmentName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if featured != nil { + queryParameters["featured"] = autorest.Encode("query", *featured) + } + if len(filter) > 0 { + queryParameters["$filter"] = filter + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{hostingEnvironmentName}/recommendations", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListRecommendedRulesForHostingEnvironmentSender sends the ListRecommendedRulesForHostingEnvironment request. The method will close the +// http.Response Body if it receives an error. +func (client RecommendationsClient) ListRecommendedRulesForHostingEnvironmentSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListRecommendedRulesForHostingEnvironmentResponder handles the response to the ListRecommendedRulesForHostingEnvironment request. The method always +// closes the http.Response Body. +func (client RecommendationsClient) ListRecommendedRulesForHostingEnvironmentResponder(resp *http.Response) (result RecommendationCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listRecommendedRulesForHostingEnvironmentNextResults retrieves the next set of results, if any. +func (client RecommendationsClient) listRecommendedRulesForHostingEnvironmentNextResults(ctx context.Context, lastResults RecommendationCollection) (result RecommendationCollection, err error) { + req, err := lastResults.recommendationCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.RecommendationsClient", "listRecommendedRulesForHostingEnvironmentNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListRecommendedRulesForHostingEnvironmentSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.RecommendationsClient", "listRecommendedRulesForHostingEnvironmentNextResults", resp, "Failure sending next results request") + } + result, err = client.ListRecommendedRulesForHostingEnvironmentResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.RecommendationsClient", "listRecommendedRulesForHostingEnvironmentNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListRecommendedRulesForHostingEnvironmentComplete enumerates all values, automatically crossing page boundaries as required. +func (client RecommendationsClient) ListRecommendedRulesForHostingEnvironmentComplete(ctx context.Context, resourceGroupName string, hostingEnvironmentName string, featured *bool, filter string) (result RecommendationCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RecommendationsClient.ListRecommendedRulesForHostingEnvironment") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListRecommendedRulesForHostingEnvironment(ctx, resourceGroupName, hostingEnvironmentName, featured, filter) + return +} + +// ListRecommendedRulesForWebApp get all recommendations for an app. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// siteName - name of the app. +// featured - specify true to return only the most critical recommendations. The default is +// false, which returns all recommendations. +// filter - return only channels specified in the filter. Filter is specified by using OData syntax. Example: +// $filter=channel eq 'Api' or channel eq 'Notification' +func (client RecommendationsClient) ListRecommendedRulesForWebApp(ctx context.Context, resourceGroupName string, siteName string, featured *bool, filter string) (result RecommendationCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RecommendationsClient.ListRecommendedRulesForWebApp") + defer func() { + sc := -1 + if result.rc.Response.Response != nil { + sc = result.rc.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.RecommendationsClient", "ListRecommendedRulesForWebApp", err.Error()) + } + + result.fn = client.listRecommendedRulesForWebAppNextResults + req, err := client.ListRecommendedRulesForWebAppPreparer(ctx, resourceGroupName, siteName, featured, filter) + if err != nil { + err = autorest.NewErrorWithError(err, "web.RecommendationsClient", "ListRecommendedRulesForWebApp", nil, "Failure preparing request") + return + } + + resp, err := client.ListRecommendedRulesForWebAppSender(req) + if err != nil { + result.rc.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.RecommendationsClient", "ListRecommendedRulesForWebApp", resp, "Failure sending request") + return + } + + result.rc, err = client.ListRecommendedRulesForWebAppResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.RecommendationsClient", "ListRecommendedRulesForWebApp", resp, "Failure responding to request") + } + + return +} + +// ListRecommendedRulesForWebAppPreparer prepares the ListRecommendedRulesForWebApp request. +func (client RecommendationsClient) ListRecommendedRulesForWebAppPreparer(ctx context.Context, resourceGroupName string, siteName string, featured *bool, filter string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "siteName": autorest.Encode("path", siteName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + if featured != nil { + queryParameters["featured"] = autorest.Encode("query", *featured) + } + if len(filter) > 0 { + queryParameters["$filter"] = filter + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendations", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListRecommendedRulesForWebAppSender sends the ListRecommendedRulesForWebApp request. The method will close the +// http.Response Body if it receives an error. +func (client RecommendationsClient) ListRecommendedRulesForWebAppSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListRecommendedRulesForWebAppResponder handles the response to the ListRecommendedRulesForWebApp request. The method always +// closes the http.Response Body. +func (client RecommendationsClient) ListRecommendedRulesForWebAppResponder(resp *http.Response) (result RecommendationCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listRecommendedRulesForWebAppNextResults retrieves the next set of results, if any. +func (client RecommendationsClient) listRecommendedRulesForWebAppNextResults(ctx context.Context, lastResults RecommendationCollection) (result RecommendationCollection, err error) { + req, err := lastResults.recommendationCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.RecommendationsClient", "listRecommendedRulesForWebAppNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListRecommendedRulesForWebAppSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.RecommendationsClient", "listRecommendedRulesForWebAppNextResults", resp, "Failure sending next results request") + } + result, err = client.ListRecommendedRulesForWebAppResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.RecommendationsClient", "listRecommendedRulesForWebAppNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListRecommendedRulesForWebAppComplete enumerates all values, automatically crossing page boundaries as required. +func (client RecommendationsClient) ListRecommendedRulesForWebAppComplete(ctx context.Context, resourceGroupName string, siteName string, featured *bool, filter string) (result RecommendationCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RecommendationsClient.ListRecommendedRulesForWebApp") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListRecommendedRulesForWebApp(ctx, resourceGroupName, siteName, featured, filter) + return +} + +// ResetAllFilters reset all recommendation opt-out settings for a subscription. +func (client RecommendationsClient) ResetAllFilters(ctx context.Context) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RecommendationsClient.ResetAllFilters") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.ResetAllFiltersPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "web.RecommendationsClient", "ResetAllFilters", nil, "Failure preparing request") + return + } + + resp, err := client.ResetAllFiltersSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.RecommendationsClient", "ResetAllFilters", resp, "Failure sending request") + return + } + + result, err = client.ResetAllFiltersResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.RecommendationsClient", "ResetAllFilters", resp, "Failure responding to request") + } + + return +} + +// ResetAllFiltersPreparer prepares the ResetAllFilters request. +func (client RecommendationsClient) ResetAllFiltersPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Web/recommendations/reset", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ResetAllFiltersSender sends the ResetAllFilters request. The method will close the +// http.Response Body if it receives an error. +func (client RecommendationsClient) ResetAllFiltersSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ResetAllFiltersResponder handles the response to the ResetAllFilters request. The method always +// closes the http.Response Body. +func (client RecommendationsClient) ResetAllFiltersResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// ResetAllFiltersForHostingEnvironment reset all recommendation opt-out settings for an app. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// environmentName - name of the app. +func (client RecommendationsClient) ResetAllFiltersForHostingEnvironment(ctx context.Context, resourceGroupName string, environmentName string, hostingEnvironmentName string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RecommendationsClient.ResetAllFiltersForHostingEnvironment") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.RecommendationsClient", "ResetAllFiltersForHostingEnvironment", err.Error()) + } + + req, err := client.ResetAllFiltersForHostingEnvironmentPreparer(ctx, resourceGroupName, environmentName, hostingEnvironmentName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.RecommendationsClient", "ResetAllFiltersForHostingEnvironment", nil, "Failure preparing request") + return + } + + resp, err := client.ResetAllFiltersForHostingEnvironmentSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.RecommendationsClient", "ResetAllFiltersForHostingEnvironment", resp, "Failure sending request") + return + } + + result, err = client.ResetAllFiltersForHostingEnvironmentResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.RecommendationsClient", "ResetAllFiltersForHostingEnvironment", resp, "Failure responding to request") + } + + return +} + +// ResetAllFiltersForHostingEnvironmentPreparer prepares the ResetAllFiltersForHostingEnvironment request. +func (client RecommendationsClient) ResetAllFiltersForHostingEnvironmentPreparer(ctx context.Context, resourceGroupName string, environmentName string, hostingEnvironmentName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "hostingEnvironmentName": autorest.Encode("path", hostingEnvironmentName), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + "environmentName": autorest.Encode("query", environmentName), + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{hostingEnvironmentName}/recommendations/reset", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ResetAllFiltersForHostingEnvironmentSender sends the ResetAllFiltersForHostingEnvironment request. The method will close the +// http.Response Body if it receives an error. +func (client RecommendationsClient) ResetAllFiltersForHostingEnvironmentSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ResetAllFiltersForHostingEnvironmentResponder handles the response to the ResetAllFiltersForHostingEnvironment request. The method always +// closes the http.Response Body. +func (client RecommendationsClient) ResetAllFiltersForHostingEnvironmentResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} + +// ResetAllFiltersForWebApp reset all recommendation opt-out settings for an app. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// siteName - name of the app. +func (client RecommendationsClient) ResetAllFiltersForWebApp(ctx context.Context, resourceGroupName string, siteName string) (result autorest.Response, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/RecommendationsClient.ResetAllFiltersForWebApp") + defer func() { + sc := -1 + if result.Response != nil { + sc = result.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.RecommendationsClient", "ResetAllFiltersForWebApp", err.Error()) + } + + req, err := client.ResetAllFiltersForWebAppPreparer(ctx, resourceGroupName, siteName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.RecommendationsClient", "ResetAllFiltersForWebApp", nil, "Failure preparing request") + return + } + + resp, err := client.ResetAllFiltersForWebAppSender(req) + if err != nil { + result.Response = resp + err = autorest.NewErrorWithError(err, "web.RecommendationsClient", "ResetAllFiltersForWebApp", resp, "Failure sending request") + return + } + + result, err = client.ResetAllFiltersForWebAppResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.RecommendationsClient", "ResetAllFiltersForWebApp", resp, "Failure responding to request") + } + + return +} + +// ResetAllFiltersForWebAppPreparer prepares the ResetAllFiltersForWebApp request. +func (client RecommendationsClient) ResetAllFiltersForWebAppPreparer(ctx context.Context, resourceGroupName string, siteName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "siteName": autorest.Encode("path", siteName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendations/reset", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ResetAllFiltersForWebAppSender sends the ResetAllFiltersForWebApp request. The method will close the +// http.Response Body if it receives an error. +func (client RecommendationsClient) ResetAllFiltersForWebAppSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ResetAllFiltersForWebAppResponder handles the response to the ResetAllFiltersForWebApp request. The method always +// closes the http.Response Body. +func (client RecommendationsClient) ResetAllFiltersForWebAppResponder(resp *http.Response) (result autorest.Response, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK, http.StatusNoContent), + autorest.ByClosing()) + result.Response = resp + return +} diff --git a/services/web/mgmt/2019-08-01/web/resourcehealthmetadata.go b/services/web/mgmt/2019-08-01/web/resourcehealthmetadata.go new file mode 100644 index 000000000000..b43c6e5f64c0 --- /dev/null +++ b/services/web/mgmt/2019-08-01/web/resourcehealthmetadata.go @@ -0,0 +1,693 @@ +package web + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/autorest/validation" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// ResourceHealthMetadataClient is the webSite Management Client +type ResourceHealthMetadataClient struct { + BaseClient +} + +// NewResourceHealthMetadataClient creates an instance of the ResourceHealthMetadataClient client. +func NewResourceHealthMetadataClient(subscriptionID string) ResourceHealthMetadataClient { + return NewResourceHealthMetadataClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewResourceHealthMetadataClientWithBaseURI creates an instance of the ResourceHealthMetadataClient client. +func NewResourceHealthMetadataClientWithBaseURI(baseURI string, subscriptionID string) ResourceHealthMetadataClient { + return ResourceHealthMetadataClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// GetBySite gets the category of ResourceHealthMetadata to use for the given site +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of web app +func (client ResourceHealthMetadataClient) GetBySite(ctx context.Context, resourceGroupName string, name string) (result ResourceHealthMetadata, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ResourceHealthMetadataClient.GetBySite") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.ResourceHealthMetadataClient", "GetBySite", err.Error()) + } + + req, err := client.GetBySitePreparer(ctx, resourceGroupName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.ResourceHealthMetadataClient", "GetBySite", nil, "Failure preparing request") + return + } + + resp, err := client.GetBySiteSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.ResourceHealthMetadataClient", "GetBySite", resp, "Failure sending request") + return + } + + result, err = client.GetBySiteResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.ResourceHealthMetadataClient", "GetBySite", resp, "Failure responding to request") + } + + return +} + +// GetBySitePreparer prepares the GetBySite request. +func (client ResourceHealthMetadataClient) GetBySitePreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/resourceHealthMetadata/default", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetBySiteSender sends the GetBySite request. The method will close the +// http.Response Body if it receives an error. +func (client ResourceHealthMetadataClient) GetBySiteSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetBySiteResponder handles the response to the GetBySite request. The method always +// closes the http.Response Body. +func (client ResourceHealthMetadataClient) GetBySiteResponder(resp *http.Response) (result ResourceHealthMetadata, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// GetBySiteSlot gets the category of ResourceHealthMetadata to use for the given site +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of web app +// slot - name of web app slot. If not specified then will default to production slot. +func (client ResourceHealthMetadataClient) GetBySiteSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result ResourceHealthMetadata, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ResourceHealthMetadataClient.GetBySiteSlot") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.ResourceHealthMetadataClient", "GetBySiteSlot", err.Error()) + } + + req, err := client.GetBySiteSlotPreparer(ctx, resourceGroupName, name, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.ResourceHealthMetadataClient", "GetBySiteSlot", nil, "Failure preparing request") + return + } + + resp, err := client.GetBySiteSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.ResourceHealthMetadataClient", "GetBySiteSlot", resp, "Failure sending request") + return + } + + result, err = client.GetBySiteSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.ResourceHealthMetadataClient", "GetBySiteSlot", resp, "Failure responding to request") + } + + return +} + +// GetBySiteSlotPreparer prepares the GetBySiteSlot request. +func (client ResourceHealthMetadataClient) GetBySiteSlotPreparer(ctx context.Context, resourceGroupName string, name string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/resourceHealthMetadata/default", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetBySiteSlotSender sends the GetBySiteSlot request. The method will close the +// http.Response Body if it receives an error. +func (client ResourceHealthMetadataClient) GetBySiteSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetBySiteSlotResponder handles the response to the GetBySiteSlot request. The method always +// closes the http.Response Body. +func (client ResourceHealthMetadataClient) GetBySiteSlotResponder(resp *http.Response) (result ResourceHealthMetadata, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List list all ResourceHealthMetadata for all sites in the subscription. +func (client ResourceHealthMetadataClient) List(ctx context.Context) (result ResourceHealthMetadataCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ResourceHealthMetadataClient.List") + defer func() { + sc := -1 + if result.rhmc.Response.Response != nil { + sc = result.rhmc.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "web.ResourceHealthMetadataClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.rhmc.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.ResourceHealthMetadataClient", "List", resp, "Failure sending request") + return + } + + result.rhmc, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.ResourceHealthMetadataClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client ResourceHealthMetadataClient) ListPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.Web/resourceHealthMetadata", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client ResourceHealthMetadataClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client ResourceHealthMetadataClient) ListResponder(resp *http.Response) (result ResourceHealthMetadataCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client ResourceHealthMetadataClient) listNextResults(ctx context.Context, lastResults ResourceHealthMetadataCollection) (result ResourceHealthMetadataCollection, err error) { + req, err := lastResults.resourceHealthMetadataCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.ResourceHealthMetadataClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.ResourceHealthMetadataClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.ResourceHealthMetadataClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client ResourceHealthMetadataClient) ListComplete(ctx context.Context) (result ResourceHealthMetadataCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ResourceHealthMetadataClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx) + return +} + +// ListByResourceGroup list all ResourceHealthMetadata for all sites in the resource group in the subscription. +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +func (client ResourceHealthMetadataClient) ListByResourceGroup(ctx context.Context, resourceGroupName string) (result ResourceHealthMetadataCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ResourceHealthMetadataClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.rhmc.Response.Response != nil { + sc = result.rhmc.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.ResourceHealthMetadataClient", "ListByResourceGroup", err.Error()) + } + + result.fn = client.listByResourceGroupNextResults + req, err := client.ListByResourceGroupPreparer(ctx, resourceGroupName) + if err != nil { + err = autorest.NewErrorWithError(err, "web.ResourceHealthMetadataClient", "ListByResourceGroup", nil, "Failure preparing request") + return + } + + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.rhmc.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.ResourceHealthMetadataClient", "ListByResourceGroup", resp, "Failure sending request") + return + } + + result.rhmc, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.ResourceHealthMetadataClient", "ListByResourceGroup", resp, "Failure responding to request") + } + + return +} + +// ListByResourceGroupPreparer prepares the ListByResourceGroup request. +func (client ResourceHealthMetadataClient) ListByResourceGroupPreparer(ctx context.Context, resourceGroupName string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/resourceHealthMetadata", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListByResourceGroupSender sends the ListByResourceGroup request. The method will close the +// http.Response Body if it receives an error. +func (client ResourceHealthMetadataClient) ListByResourceGroupSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListByResourceGroupResponder handles the response to the ListByResourceGroup request. The method always +// closes the http.Response Body. +func (client ResourceHealthMetadataClient) ListByResourceGroupResponder(resp *http.Response) (result ResourceHealthMetadataCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listByResourceGroupNextResults retrieves the next set of results, if any. +func (client ResourceHealthMetadataClient) listByResourceGroupNextResults(ctx context.Context, lastResults ResourceHealthMetadataCollection) (result ResourceHealthMetadataCollection, err error) { + req, err := lastResults.resourceHealthMetadataCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.ResourceHealthMetadataClient", "listByResourceGroupNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListByResourceGroupSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.ResourceHealthMetadataClient", "listByResourceGroupNextResults", resp, "Failure sending next results request") + } + result, err = client.ListByResourceGroupResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.ResourceHealthMetadataClient", "listByResourceGroupNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListByResourceGroupComplete enumerates all values, automatically crossing page boundaries as required. +func (client ResourceHealthMetadataClient) ListByResourceGroupComplete(ctx context.Context, resourceGroupName string) (result ResourceHealthMetadataCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ResourceHealthMetadataClient.ListByResourceGroup") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListByResourceGroup(ctx, resourceGroupName) + return +} + +// ListBySite gets the category of ResourceHealthMetadata to use for the given site as a collection +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of web app. +func (client ResourceHealthMetadataClient) ListBySite(ctx context.Context, resourceGroupName string, name string) (result ResourceHealthMetadataCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ResourceHealthMetadataClient.ListBySite") + defer func() { + sc := -1 + if result.rhmc.Response.Response != nil { + sc = result.rhmc.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.ResourceHealthMetadataClient", "ListBySite", err.Error()) + } + + result.fn = client.listBySiteNextResults + req, err := client.ListBySitePreparer(ctx, resourceGroupName, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.ResourceHealthMetadataClient", "ListBySite", nil, "Failure preparing request") + return + } + + resp, err := client.ListBySiteSender(req) + if err != nil { + result.rhmc.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.ResourceHealthMetadataClient", "ListBySite", resp, "Failure sending request") + return + } + + result.rhmc, err = client.ListBySiteResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.ResourceHealthMetadataClient", "ListBySite", resp, "Failure responding to request") + } + + return +} + +// ListBySitePreparer prepares the ListBySite request. +func (client ResourceHealthMetadataClient) ListBySitePreparer(ctx context.Context, resourceGroupName string, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/resourceHealthMetadata", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListBySiteSender sends the ListBySite request. The method will close the +// http.Response Body if it receives an error. +func (client ResourceHealthMetadataClient) ListBySiteSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListBySiteResponder handles the response to the ListBySite request. The method always +// closes the http.Response Body. +func (client ResourceHealthMetadataClient) ListBySiteResponder(resp *http.Response) (result ResourceHealthMetadataCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listBySiteNextResults retrieves the next set of results, if any. +func (client ResourceHealthMetadataClient) listBySiteNextResults(ctx context.Context, lastResults ResourceHealthMetadataCollection) (result ResourceHealthMetadataCollection, err error) { + req, err := lastResults.resourceHealthMetadataCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.ResourceHealthMetadataClient", "listBySiteNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListBySiteSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.ResourceHealthMetadataClient", "listBySiteNextResults", resp, "Failure sending next results request") + } + result, err = client.ListBySiteResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.ResourceHealthMetadataClient", "listBySiteNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListBySiteComplete enumerates all values, automatically crossing page boundaries as required. +func (client ResourceHealthMetadataClient) ListBySiteComplete(ctx context.Context, resourceGroupName string, name string) (result ResourceHealthMetadataCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ResourceHealthMetadataClient.ListBySite") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListBySite(ctx, resourceGroupName, name) + return +} + +// ListBySiteSlot gets the category of ResourceHealthMetadata to use for the given site as a collection +// Parameters: +// resourceGroupName - name of the resource group to which the resource belongs. +// name - name of web app. +// slot - name of web app slot. If not specified then will default to production slot. +func (client ResourceHealthMetadataClient) ListBySiteSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result ResourceHealthMetadataCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ResourceHealthMetadataClient.ListBySiteSlot") + defer func() { + sc := -1 + if result.rhmc.Response.Response != nil { + sc = result.rhmc.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + if err := validation.Validate([]validation.Validation{ + {TargetValue: resourceGroupName, + Constraints: []validation.Constraint{{Target: "resourceGroupName", Name: validation.MaxLength, Rule: 90, Chain: nil}, + {Target: "resourceGroupName", Name: validation.MinLength, Rule: 1, Chain: nil}, + {Target: "resourceGroupName", Name: validation.Pattern, Rule: `^[-\w\._\(\)]+[^\.]$`, Chain: nil}}}}); err != nil { + return result, validation.NewError("web.ResourceHealthMetadataClient", "ListBySiteSlot", err.Error()) + } + + result.fn = client.listBySiteSlotNextResults + req, err := client.ListBySiteSlotPreparer(ctx, resourceGroupName, name, slot) + if err != nil { + err = autorest.NewErrorWithError(err, "web.ResourceHealthMetadataClient", "ListBySiteSlot", nil, "Failure preparing request") + return + } + + resp, err := client.ListBySiteSlotSender(req) + if err != nil { + result.rhmc.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.ResourceHealthMetadataClient", "ListBySiteSlot", resp, "Failure sending request") + return + } + + result.rhmc, err = client.ListBySiteSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.ResourceHealthMetadataClient", "ListBySiteSlot", resp, "Failure responding to request") + } + + return +} + +// ListBySiteSlotPreparer prepares the ListBySiteSlot request. +func (client ResourceHealthMetadataClient) ListBySiteSlotPreparer(ctx context.Context, resourceGroupName string, name string, slot string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "resourceGroupName": autorest.Encode("path", resourceGroupName), + "slot": autorest.Encode("path", slot), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/resourceHealthMetadata", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListBySiteSlotSender sends the ListBySiteSlot request. The method will close the +// http.Response Body if it receives an error. +func (client ResourceHealthMetadataClient) ListBySiteSlotSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListBySiteSlotResponder handles the response to the ListBySiteSlot request. The method always +// closes the http.Response Body. +func (client ResourceHealthMetadataClient) ListBySiteSlotResponder(resp *http.Response) (result ResourceHealthMetadataCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listBySiteSlotNextResults retrieves the next set of results, if any. +func (client ResourceHealthMetadataClient) listBySiteSlotNextResults(ctx context.Context, lastResults ResourceHealthMetadataCollection) (result ResourceHealthMetadataCollection, err error) { + req, err := lastResults.resourceHealthMetadataCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.ResourceHealthMetadataClient", "listBySiteSlotNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListBySiteSlotSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.ResourceHealthMetadataClient", "listBySiteSlotNextResults", resp, "Failure sending next results request") + } + result, err = client.ListBySiteSlotResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.ResourceHealthMetadataClient", "listBySiteSlotNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListBySiteSlotComplete enumerates all values, automatically crossing page boundaries as required. +func (client ResourceHealthMetadataClient) ListBySiteSlotComplete(ctx context.Context, resourceGroupName string, name string, slot string) (result ResourceHealthMetadataCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/ResourceHealthMetadataClient.ListBySiteSlot") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListBySiteSlot(ctx, resourceGroupName, name, slot) + return +} diff --git a/services/web/mgmt/2019-08-01/web/topleveldomains.go b/services/web/mgmt/2019-08-01/web/topleveldomains.go new file mode 100644 index 000000000000..969de2a398a6 --- /dev/null +++ b/services/web/mgmt/2019-08-01/web/topleveldomains.go @@ -0,0 +1,342 @@ +package web + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/azure" + "github.com/Azure/go-autorest/tracing" + "net/http" +) + +// TopLevelDomainsClient is the webSite Management Client +type TopLevelDomainsClient struct { + BaseClient +} + +// NewTopLevelDomainsClient creates an instance of the TopLevelDomainsClient client. +func NewTopLevelDomainsClient(subscriptionID string) TopLevelDomainsClient { + return NewTopLevelDomainsClientWithBaseURI(DefaultBaseURI, subscriptionID) +} + +// NewTopLevelDomainsClientWithBaseURI creates an instance of the TopLevelDomainsClient client. +func NewTopLevelDomainsClientWithBaseURI(baseURI string, subscriptionID string) TopLevelDomainsClient { + return TopLevelDomainsClient{NewWithBaseURI(baseURI, subscriptionID)} +} + +// Get get details of a top-level domain. +// Parameters: +// name - name of the top-level domain. +func (client TopLevelDomainsClient) Get(ctx context.Context, name string) (result TopLevelDomain, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/TopLevelDomainsClient.Get") + defer func() { + sc := -1 + if result.Response.Response != nil { + sc = result.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + req, err := client.GetPreparer(ctx, name) + if err != nil { + err = autorest.NewErrorWithError(err, "web.TopLevelDomainsClient", "Get", nil, "Failure preparing request") + return + } + + resp, err := client.GetSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.TopLevelDomainsClient", "Get", resp, "Failure sending request") + return + } + + result, err = client.GetResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.TopLevelDomainsClient", "Get", resp, "Failure responding to request") + } + + return +} + +// GetPreparer prepares the Get request. +func (client TopLevelDomainsClient) GetPreparer(ctx context.Context, name string) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/topLevelDomains/{name}", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// GetSender sends the Get request. The method will close the +// http.Response Body if it receives an error. +func (client TopLevelDomainsClient) GetSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// GetResponder handles the response to the Get request. The method always +// closes the http.Response Body. +func (client TopLevelDomainsClient) GetResponder(resp *http.Response) (result TopLevelDomain, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// List get all top-level domains supported for registration. +func (client TopLevelDomainsClient) List(ctx context.Context) (result TopLevelDomainCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/TopLevelDomainsClient.List") + defer func() { + sc := -1 + if result.tldc.Response.Response != nil { + sc = result.tldc.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listNextResults + req, err := client.ListPreparer(ctx) + if err != nil { + err = autorest.NewErrorWithError(err, "web.TopLevelDomainsClient", "List", nil, "Failure preparing request") + return + } + + resp, err := client.ListSender(req) + if err != nil { + result.tldc.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.TopLevelDomainsClient", "List", resp, "Failure sending request") + return + } + + result.tldc, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.TopLevelDomainsClient", "List", resp, "Failure responding to request") + } + + return +} + +// ListPreparer prepares the List request. +func (client TopLevelDomainsClient) ListPreparer(ctx context.Context) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsGet(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/topLevelDomains", pathParameters), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListSender sends the List request. The method will close the +// http.Response Body if it receives an error. +func (client TopLevelDomainsClient) ListSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListResponder handles the response to the List request. The method always +// closes the http.Response Body. +func (client TopLevelDomainsClient) ListResponder(resp *http.Response) (result TopLevelDomainCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listNextResults retrieves the next set of results, if any. +func (client TopLevelDomainsClient) listNextResults(ctx context.Context, lastResults TopLevelDomainCollection) (result TopLevelDomainCollection, err error) { + req, err := lastResults.topLevelDomainCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.TopLevelDomainsClient", "listNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.TopLevelDomainsClient", "listNextResults", resp, "Failure sending next results request") + } + result, err = client.ListResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.TopLevelDomainsClient", "listNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListComplete enumerates all values, automatically crossing page boundaries as required. +func (client TopLevelDomainsClient) ListComplete(ctx context.Context) (result TopLevelDomainCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/TopLevelDomainsClient.List") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.List(ctx) + return +} + +// ListAgreements gets all legal agreements that user needs to accept before purchasing a domain. +// Parameters: +// name - name of the top-level domain. +// agreementOption - domain agreement options. +func (client TopLevelDomainsClient) ListAgreements(ctx context.Context, name string, agreementOption TopLevelDomainAgreementOption) (result TldLegalAgreementCollectionPage, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/TopLevelDomainsClient.ListAgreements") + defer func() { + sc := -1 + if result.tlac.Response.Response != nil { + sc = result.tlac.Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.fn = client.listAgreementsNextResults + req, err := client.ListAgreementsPreparer(ctx, name, agreementOption) + if err != nil { + err = autorest.NewErrorWithError(err, "web.TopLevelDomainsClient", "ListAgreements", nil, "Failure preparing request") + return + } + + resp, err := client.ListAgreementsSender(req) + if err != nil { + result.tlac.Response = autorest.Response{Response: resp} + err = autorest.NewErrorWithError(err, "web.TopLevelDomainsClient", "ListAgreements", resp, "Failure sending request") + return + } + + result.tlac, err = client.ListAgreementsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.TopLevelDomainsClient", "ListAgreements", resp, "Failure responding to request") + } + + return +} + +// ListAgreementsPreparer prepares the ListAgreements request. +func (client TopLevelDomainsClient) ListAgreementsPreparer(ctx context.Context, name string, agreementOption TopLevelDomainAgreementOption) (*http.Request, error) { + pathParameters := map[string]interface{}{ + "name": autorest.Encode("path", name), + "subscriptionId": autorest.Encode("path", client.SubscriptionID), + } + + const APIVersion = "2018-02-01" + queryParameters := map[string]interface{}{ + "api-version": APIVersion, + } + + preparer := autorest.CreatePreparer( + autorest.AsContentType("application/json; charset=utf-8"), + autorest.AsPost(), + autorest.WithBaseURL(client.BaseURI), + autorest.WithPathParameters("/subscriptions/{subscriptionId}/providers/Microsoft.DomainRegistration/topLevelDomains/{name}/listAgreements", pathParameters), + autorest.WithJSON(agreementOption), + autorest.WithQueryParameters(queryParameters)) + return preparer.Prepare((&http.Request{}).WithContext(ctx)) +} + +// ListAgreementsSender sends the ListAgreements request. The method will close the +// http.Response Body if it receives an error. +func (client TopLevelDomainsClient) ListAgreementsSender(req *http.Request) (*http.Response, error) { + sd := autorest.GetSendDecorators(req.Context(), azure.DoRetryWithRegistration(client.Client)) + return autorest.SendWithSender(client, req, sd...) +} + +// ListAgreementsResponder handles the response to the ListAgreements request. The method always +// closes the http.Response Body. +func (client TopLevelDomainsClient) ListAgreementsResponder(resp *http.Response) (result TldLegalAgreementCollection, err error) { + err = autorest.Respond( + resp, + client.ByInspecting(), + azure.WithErrorUnlessStatusCode(http.StatusOK), + autorest.ByUnmarshallingJSON(&result), + autorest.ByClosing()) + result.Response = autorest.Response{Response: resp} + return +} + +// listAgreementsNextResults retrieves the next set of results, if any. +func (client TopLevelDomainsClient) listAgreementsNextResults(ctx context.Context, lastResults TldLegalAgreementCollection) (result TldLegalAgreementCollection, err error) { + req, err := lastResults.tldLegalAgreementCollectionPreparer(ctx) + if err != nil { + return result, autorest.NewErrorWithError(err, "web.TopLevelDomainsClient", "listAgreementsNextResults", nil, "Failure preparing next results request") + } + if req == nil { + return + } + resp, err := client.ListAgreementsSender(req) + if err != nil { + result.Response = autorest.Response{Response: resp} + return result, autorest.NewErrorWithError(err, "web.TopLevelDomainsClient", "listAgreementsNextResults", resp, "Failure sending next results request") + } + result, err = client.ListAgreementsResponder(resp) + if err != nil { + err = autorest.NewErrorWithError(err, "web.TopLevelDomainsClient", "listAgreementsNextResults", resp, "Failure responding to next results request") + } + return +} + +// ListAgreementsComplete enumerates all values, automatically crossing page boundaries as required. +func (client TopLevelDomainsClient) ListAgreementsComplete(ctx context.Context, name string, agreementOption TopLevelDomainAgreementOption) (result TldLegalAgreementCollectionIterator, err error) { + if tracing.IsEnabled() { + ctx = tracing.StartSpan(ctx, fqdn+"/TopLevelDomainsClient.ListAgreements") + defer func() { + sc := -1 + if result.Response().Response.Response != nil { + sc = result.page.Response().Response.Response.StatusCode + } + tracing.EndSpan(ctx, sc, err) + }() + } + result.page, err = client.ListAgreements(ctx, name, agreementOption) + return +} diff --git a/services/appinsights/v1/insights/version.go b/services/web/mgmt/2019-08-01/web/version.go similarity index 93% rename from services/appinsights/v1/insights/version.go rename to services/web/mgmt/2019-08-01/web/version.go index 2123a7972af4..596623e11a99 100644 --- a/services/appinsights/v1/insights/version.go +++ b/services/web/mgmt/2019-08-01/web/version.go @@ -1,4 +1,4 @@ -package insights +package web import "github.com/Azure/azure-sdk-for-go/version" @@ -21,7 +21,7 @@ import "github.com/Azure/azure-sdk-for-go/version" // UserAgent returns the UserAgent string to use when sending http.Requests. func UserAgent() string { - return "Azure-SDK-For-Go/" + version.Number + " insights/v1" + return "Azure-SDK-For-Go/" + version.Number + " web/2018-02-01" } // Version returns the semantic version (see http://semver.org) of the client. diff --git a/services/web/mgmt/2019-08-01/web/webapi/interfaces.go b/services/web/mgmt/2019-08-01/web/webapi/interfaces.go new file mode 100644 index 000000000000..2a38b29638d2 --- /dev/null +++ b/services/web/mgmt/2019-08-01/web/webapi/interfaces.go @@ -0,0 +1,647 @@ +package webapi + +// Copyright (c) Microsoft and contributors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the License for the specific language governing permissions and +// limitations under the License. +// +// Code generated by Microsoft (R) AutoRest Code Generator. +// Changes may cause incorrect behavior and will be lost if the code is regenerated. + +import ( + "context" + "github.com/Azure/azure-sdk-for-go/services/web/mgmt/2019-08-01/web" + "github.com/Azure/go-autorest/autorest" + "github.com/Azure/go-autorest/autorest/date" +) + +// BaseClientAPI contains the set of methods on the BaseClient type. +type BaseClientAPI interface { + CheckNameAvailability(ctx context.Context, request web.ResourceNameAvailabilityRequest) (result web.ResourceNameAvailability, err error) + GetPublishingUser(ctx context.Context) (result web.User, err error) + GetSourceControl(ctx context.Context, sourceControlType string) (result web.SourceControl, err error) + GetSubscriptionDeploymentLocations(ctx context.Context) (result web.DeploymentLocations, err error) + ListBillingMeters(ctx context.Context, billingLocation string, osType string) (result web.BillingMeterCollectionPage, err error) + ListGeoRegions(ctx context.Context, sku web.SkuName, linuxWorkersEnabled *bool, xenonWorkersEnabled *bool, linuxDynamicWorkersEnabled *bool) (result web.GeoRegionCollectionPage, err error) + ListPremierAddOnOffers(ctx context.Context) (result web.PremierAddOnOfferCollectionPage, err error) + ListSiteIdentifiersAssignedToHostName(ctx context.Context, nameIdentifier web.NameIdentifier) (result web.IdentifierCollectionPage, err error) + ListSkus(ctx context.Context) (result web.SkuInfos, err error) + ListSourceControls(ctx context.Context) (result web.SourceControlCollectionPage, err error) + Move(ctx context.Context, resourceGroupName string, moveResourceEnvelope web.CsmMoveResourceEnvelope) (result autorest.Response, err error) + UpdatePublishingUser(ctx context.Context, userDetails web.User) (result web.User, err error) + UpdateSourceControl(ctx context.Context, sourceControlType string, requestMessage web.SourceControl) (result web.SourceControl, err error) + Validate(ctx context.Context, resourceGroupName string, validateRequest web.ValidateRequest) (result web.ValidateResponse, err error) + ValidateContainerSettings(ctx context.Context, validateContainerSettingsRequest web.ValidateContainerSettingsRequest, resourceGroupName string) (result web.SetObject, err error) + ValidateMove(ctx context.Context, resourceGroupName string, moveResourceEnvelope web.CsmMoveResourceEnvelope) (result autorest.Response, err error) + VerifyHostingEnvironmentVnet(ctx context.Context, parameters web.VnetParameters) (result web.VnetValidationFailureDetails, err error) +} + +var _ BaseClientAPI = (*web.BaseClient)(nil) + +// AppServiceCertificateOrdersClientAPI contains the set of methods on the AppServiceCertificateOrdersClient type. +type AppServiceCertificateOrdersClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, certificateOrderName string, certificateDistinguishedName web.AppServiceCertificateOrder) (result web.AppServiceCertificateOrdersCreateOrUpdateFuture, err error) + CreateOrUpdateCertificate(ctx context.Context, resourceGroupName string, certificateOrderName string, name string, keyVaultCertificate web.AppServiceCertificateResource) (result web.AppServiceCertificateOrdersCreateOrUpdateCertificateFuture, err error) + Delete(ctx context.Context, resourceGroupName string, certificateOrderName string) (result autorest.Response, err error) + DeleteCertificate(ctx context.Context, resourceGroupName string, certificateOrderName string, name string) (result autorest.Response, err error) + Get(ctx context.Context, resourceGroupName string, certificateOrderName string) (result web.AppServiceCertificateOrder, err error) + GetCertificate(ctx context.Context, resourceGroupName string, certificateOrderName string, name string) (result web.AppServiceCertificateResource, err error) + List(ctx context.Context) (result web.AppServiceCertificateOrderCollectionPage, err error) + ListByResourceGroup(ctx context.Context, resourceGroupName string) (result web.AppServiceCertificateOrderCollectionPage, err error) + ListCertificates(ctx context.Context, resourceGroupName string, certificateOrderName string) (result web.AppServiceCertificateCollectionPage, err error) + Reissue(ctx context.Context, resourceGroupName string, certificateOrderName string, reissueCertificateOrderRequest web.ReissueCertificateOrderRequest) (result autorest.Response, err error) + Renew(ctx context.Context, resourceGroupName string, certificateOrderName string, renewCertificateOrderRequest web.RenewCertificateOrderRequest) (result autorest.Response, err error) + ResendEmail(ctx context.Context, resourceGroupName string, certificateOrderName string) (result autorest.Response, err error) + ResendRequestEmails(ctx context.Context, resourceGroupName string, certificateOrderName string, nameIdentifier web.NameIdentifier) (result autorest.Response, err error) + RetrieveCertificateActions(ctx context.Context, resourceGroupName string, name string) (result web.ListCertificateOrderAction, err error) + RetrieveCertificateEmailHistory(ctx context.Context, resourceGroupName string, name string) (result web.ListCertificateEmail, err error) + RetrieveSiteSeal(ctx context.Context, resourceGroupName string, certificateOrderName string, siteSealRequest web.SiteSealRequest) (result web.SiteSeal, err error) + Update(ctx context.Context, resourceGroupName string, certificateOrderName string, certificateDistinguishedName web.AppServiceCertificateOrderPatchResource) (result web.AppServiceCertificateOrder, err error) + UpdateCertificate(ctx context.Context, resourceGroupName string, certificateOrderName string, name string, keyVaultCertificate web.AppServiceCertificatePatchResource) (result web.AppServiceCertificateResource, err error) + ValidatePurchaseInformation(ctx context.Context, appServiceCertificateOrder web.AppServiceCertificateOrder) (result autorest.Response, err error) + VerifyDomainOwnership(ctx context.Context, resourceGroupName string, certificateOrderName string) (result autorest.Response, err error) +} + +var _ AppServiceCertificateOrdersClientAPI = (*web.AppServiceCertificateOrdersClient)(nil) + +// CertificateRegistrationProviderClientAPI contains the set of methods on the CertificateRegistrationProviderClient type. +type CertificateRegistrationProviderClientAPI interface { + ListOperations(ctx context.Context) (result web.CsmOperationCollectionPage, err error) +} + +var _ CertificateRegistrationProviderClientAPI = (*web.CertificateRegistrationProviderClient)(nil) + +// DomainsClientAPI contains the set of methods on the DomainsClient type. +type DomainsClientAPI interface { + CheckAvailability(ctx context.Context, identifier web.NameIdentifier) (result web.DomainAvailablilityCheckResult, err error) + CreateOrUpdate(ctx context.Context, resourceGroupName string, domainName string, domain web.Domain) (result web.DomainsCreateOrUpdateFuture, err error) + CreateOrUpdateOwnershipIdentifier(ctx context.Context, resourceGroupName string, domainName string, name string, domainOwnershipIdentifier web.DomainOwnershipIdentifier) (result web.DomainOwnershipIdentifier, err error) + Delete(ctx context.Context, resourceGroupName string, domainName string, forceHardDeleteDomain *bool) (result autorest.Response, err error) + DeleteOwnershipIdentifier(ctx context.Context, resourceGroupName string, domainName string, name string) (result autorest.Response, err error) + Get(ctx context.Context, resourceGroupName string, domainName string) (result web.Domain, err error) + GetControlCenterSsoRequest(ctx context.Context) (result web.DomainControlCenterSsoRequest, err error) + GetOwnershipIdentifier(ctx context.Context, resourceGroupName string, domainName string, name string) (result web.DomainOwnershipIdentifier, err error) + List(ctx context.Context) (result web.DomainCollectionPage, err error) + ListByResourceGroup(ctx context.Context, resourceGroupName string) (result web.DomainCollectionPage, err error) + ListOwnershipIdentifiers(ctx context.Context, resourceGroupName string, domainName string) (result web.DomainOwnershipIdentifierCollectionPage, err error) + ListRecommendations(ctx context.Context, parameters web.DomainRecommendationSearchParameters) (result web.NameIdentifierCollectionPage, err error) + Renew(ctx context.Context, resourceGroupName string, domainName string) (result autorest.Response, err error) + Update(ctx context.Context, resourceGroupName string, domainName string, domain web.DomainPatchResource) (result web.Domain, err error) + UpdateOwnershipIdentifier(ctx context.Context, resourceGroupName string, domainName string, name string, domainOwnershipIdentifier web.DomainOwnershipIdentifier) (result web.DomainOwnershipIdentifier, err error) +} + +var _ DomainsClientAPI = (*web.DomainsClient)(nil) + +// TopLevelDomainsClientAPI contains the set of methods on the TopLevelDomainsClient type. +type TopLevelDomainsClientAPI interface { + Get(ctx context.Context, name string) (result web.TopLevelDomain, err error) + List(ctx context.Context) (result web.TopLevelDomainCollectionPage, err error) + ListAgreements(ctx context.Context, name string, agreementOption web.TopLevelDomainAgreementOption) (result web.TldLegalAgreementCollectionPage, err error) +} + +var _ TopLevelDomainsClientAPI = (*web.TopLevelDomainsClient)(nil) + +// DomainRegistrationProviderClientAPI contains the set of methods on the DomainRegistrationProviderClient type. +type DomainRegistrationProviderClientAPI interface { + ListOperations(ctx context.Context) (result web.CsmOperationCollectionPage, err error) +} + +var _ DomainRegistrationProviderClientAPI = (*web.DomainRegistrationProviderClient)(nil) + +// CertificatesClientAPI contains the set of methods on the CertificatesClient type. +type CertificatesClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, name string, certificateEnvelope web.Certificate) (result web.Certificate, err error) + Delete(ctx context.Context, resourceGroupName string, name string) (result autorest.Response, err error) + Get(ctx context.Context, resourceGroupName string, name string) (result web.Certificate, err error) + List(ctx context.Context) (result web.CertificateCollectionPage, err error) + ListByResourceGroup(ctx context.Context, resourceGroupName string) (result web.CertificateCollectionPage, err error) + Update(ctx context.Context, resourceGroupName string, name string, certificateEnvelope web.CertificatePatchResource) (result web.Certificate, err error) +} + +var _ CertificatesClientAPI = (*web.CertificatesClient)(nil) + +// DeletedWebAppsClientAPI contains the set of methods on the DeletedWebAppsClient type. +type DeletedWebAppsClientAPI interface { + GetDeletedWebAppByLocation(ctx context.Context, location string, deletedSiteID string) (result web.DeletedSite, err error) + List(ctx context.Context) (result web.DeletedWebAppCollectionPage, err error) + ListByLocation(ctx context.Context, location string) (result web.DeletedWebAppCollectionPage, err error) +} + +var _ DeletedWebAppsClientAPI = (*web.DeletedWebAppsClient)(nil) + +// DiagnosticsClientAPI contains the set of methods on the DiagnosticsClient type. +type DiagnosticsClientAPI interface { + ExecuteSiteAnalysis(ctx context.Context, resourceGroupName string, siteName string, diagnosticCategory string, analysisName string, startTime *date.Time, endTime *date.Time, timeGrain string) (result web.DiagnosticAnalysis, err error) + ExecuteSiteAnalysisSlot(ctx context.Context, resourceGroupName string, siteName string, diagnosticCategory string, analysisName string, slot string, startTime *date.Time, endTime *date.Time, timeGrain string) (result web.DiagnosticAnalysis, err error) + ExecuteSiteDetector(ctx context.Context, resourceGroupName string, siteName string, detectorName string, diagnosticCategory string, startTime *date.Time, endTime *date.Time, timeGrain string) (result web.DiagnosticDetectorResponse, err error) + ExecuteSiteDetectorSlot(ctx context.Context, resourceGroupName string, siteName string, detectorName string, diagnosticCategory string, slot string, startTime *date.Time, endTime *date.Time, timeGrain string) (result web.DiagnosticDetectorResponse, err error) + GetHostingEnvironmentDetectorResponse(ctx context.Context, resourceGroupName string, name string, detectorName string, startTime *date.Time, endTime *date.Time, timeGrain string) (result web.DetectorResponse, err error) + GetSiteAnalysis(ctx context.Context, resourceGroupName string, siteName string, diagnosticCategory string, analysisName string) (result web.DiagnosticAnalysis, err error) + GetSiteAnalysisSlot(ctx context.Context, resourceGroupName string, siteName string, diagnosticCategory string, analysisName string, slot string) (result web.DiagnosticAnalysis, err error) + GetSiteDetector(ctx context.Context, resourceGroupName string, siteName string, diagnosticCategory string, detectorName string) (result web.DiagnosticDetectorCollectionPage, err error) + GetSiteDetectorResponse(ctx context.Context, resourceGroupName string, siteName string, detectorName string, startTime *date.Time, endTime *date.Time, timeGrain string) (result web.DetectorResponse, err error) + GetSiteDetectorResponseSlot(ctx context.Context, resourceGroupName string, siteName string, detectorName string, slot string, startTime *date.Time, endTime *date.Time, timeGrain string) (result web.DetectorResponse, err error) + GetSiteDetectorSlot(ctx context.Context, resourceGroupName string, siteName string, diagnosticCategory string, detectorName string, slot string) (result web.DiagnosticDetectorCollectionPage, err error) + GetSiteDiagnosticCategory(ctx context.Context, resourceGroupName string, siteName string, diagnosticCategory string) (result web.DiagnosticCategory, err error) + GetSiteDiagnosticCategorySlot(ctx context.Context, resourceGroupName string, siteName string, diagnosticCategory string, slot string) (result web.DiagnosticCategory, err error) + ListHostingEnvironmentDetectorResponses(ctx context.Context, resourceGroupName string, name string) (result web.DetectorResponseCollectionPage, err error) + ListSiteAnalyses(ctx context.Context, resourceGroupName string, siteName string, diagnosticCategory string) (result web.DiagnosticAnalysisCollectionPage, err error) + ListSiteAnalysesSlot(ctx context.Context, resourceGroupName string, siteName string, diagnosticCategory string, slot string) (result web.DiagnosticAnalysisCollectionPage, err error) + ListSiteDetectorResponses(ctx context.Context, resourceGroupName string, siteName string) (result web.DetectorResponseCollectionPage, err error) + ListSiteDetectorResponsesSlot(ctx context.Context, resourceGroupName string, siteName string, slot string) (result web.DetectorResponseCollectionPage, err error) + ListSiteDetectors(ctx context.Context, resourceGroupName string, siteName string, diagnosticCategory string) (result web.DiagnosticDetectorCollectionPage, err error) + ListSiteDetectorsSlot(ctx context.Context, resourceGroupName string, siteName string, diagnosticCategory string, slot string) (result web.DiagnosticDetectorCollectionPage, err error) + ListSiteDiagnosticCategories(ctx context.Context, resourceGroupName string, siteName string) (result web.DiagnosticCategoryCollectionPage, err error) + ListSiteDiagnosticCategoriesSlot(ctx context.Context, resourceGroupName string, siteName string, slot string) (result web.DiagnosticCategoryCollectionPage, err error) +} + +var _ DiagnosticsClientAPI = (*web.DiagnosticsClient)(nil) + +// ProviderClientAPI contains the set of methods on the ProviderClient type. +type ProviderClientAPI interface { + GetAvailableStacks(ctx context.Context, osTypeSelected string) (result web.ApplicationStackCollectionPage, err error) + GetAvailableStacksOnPrem(ctx context.Context, osTypeSelected string) (result web.ApplicationStackCollectionPage, err error) + ListOperations(ctx context.Context) (result web.CsmOperationCollectionPage, err error) +} + +var _ ProviderClientAPI = (*web.ProviderClient)(nil) + +// RecommendationsClientAPI contains the set of methods on the RecommendationsClient type. +type RecommendationsClientAPI interface { + DisableAllForHostingEnvironment(ctx context.Context, resourceGroupName string, environmentName string, hostingEnvironmentName string) (result autorest.Response, err error) + DisableAllForWebApp(ctx context.Context, resourceGroupName string, siteName string) (result autorest.Response, err error) + DisableRecommendationForHostingEnvironment(ctx context.Context, resourceGroupName string, environmentName string, name string, hostingEnvironmentName string) (result autorest.Response, err error) + DisableRecommendationForSite(ctx context.Context, resourceGroupName string, siteName string, name string) (result autorest.Response, err error) + DisableRecommendationForSubscription(ctx context.Context, name string) (result autorest.Response, err error) + GetRuleDetailsByHostingEnvironment(ctx context.Context, resourceGroupName string, hostingEnvironmentName string, name string, updateSeen *bool, recommendationID string) (result web.RecommendationRule, err error) + GetRuleDetailsByWebApp(ctx context.Context, resourceGroupName string, siteName string, name string, updateSeen *bool, recommendationID string) (result web.RecommendationRule, err error) + List(ctx context.Context, featured *bool, filter string) (result web.RecommendationCollectionPage, err error) + ListHistoryForHostingEnvironment(ctx context.Context, resourceGroupName string, hostingEnvironmentName string, expiredOnly *bool, filter string) (result web.RecommendationCollectionPage, err error) + ListHistoryForWebApp(ctx context.Context, resourceGroupName string, siteName string, expiredOnly *bool, filter string) (result web.RecommendationCollectionPage, err error) + ListRecommendedRulesForHostingEnvironment(ctx context.Context, resourceGroupName string, hostingEnvironmentName string, featured *bool, filter string) (result web.RecommendationCollectionPage, err error) + ListRecommendedRulesForWebApp(ctx context.Context, resourceGroupName string, siteName string, featured *bool, filter string) (result web.RecommendationCollectionPage, err error) + ResetAllFilters(ctx context.Context) (result autorest.Response, err error) + ResetAllFiltersForHostingEnvironment(ctx context.Context, resourceGroupName string, environmentName string, hostingEnvironmentName string) (result autorest.Response, err error) + ResetAllFiltersForWebApp(ctx context.Context, resourceGroupName string, siteName string) (result autorest.Response, err error) +} + +var _ RecommendationsClientAPI = (*web.RecommendationsClient)(nil) + +// AppsClientAPI contains the set of methods on the AppsClient type. +type AppsClientAPI interface { + AddPremierAddOn(ctx context.Context, resourceGroupName string, name string, premierAddOnName string, premierAddOn web.PremierAddOn) (result web.PremierAddOn, err error) + AddPremierAddOnSlot(ctx context.Context, resourceGroupName string, name string, premierAddOnName string, premierAddOn web.PremierAddOn, slot string) (result web.PremierAddOn, err error) + AnalyzeCustomHostname(ctx context.Context, resourceGroupName string, name string, hostName string) (result web.CustomHostnameAnalysisResult, err error) + AnalyzeCustomHostnameSlot(ctx context.Context, resourceGroupName string, name string, slot string, hostName string) (result web.CustomHostnameAnalysisResult, err error) + ApplySlotConfigToProduction(ctx context.Context, resourceGroupName string, name string, slotSwapEntity web.CsmSlotEntity) (result autorest.Response, err error) + ApplySlotConfigurationSlot(ctx context.Context, resourceGroupName string, name string, slotSwapEntity web.CsmSlotEntity, slot string) (result autorest.Response, err error) + Backup(ctx context.Context, resourceGroupName string, name string, request web.BackupRequest) (result web.BackupItem, err error) + BackupSlot(ctx context.Context, resourceGroupName string, name string, request web.BackupRequest, slot string) (result web.BackupItem, err error) + CreateDeployment(ctx context.Context, resourceGroupName string, name string, ID string, deployment web.Deployment) (result web.Deployment, err error) + CreateDeploymentSlot(ctx context.Context, resourceGroupName string, name string, ID string, slot string, deployment web.Deployment) (result web.Deployment, err error) + CreateFunction(ctx context.Context, resourceGroupName string, name string, functionName string, functionEnvelope web.FunctionEnvelope) (result web.AppsCreateFunctionFuture, err error) + CreateInstanceFunctionSlot(ctx context.Context, resourceGroupName string, name string, functionName string, slot string, functionEnvelope web.FunctionEnvelope) (result web.AppsCreateInstanceFunctionSlotFuture, err error) + CreateInstanceMSDeployOperation(ctx context.Context, resourceGroupName string, name string, instanceID string, mSDeploy web.MSDeploy) (result web.AppsCreateInstanceMSDeployOperationFuture, err error) + CreateInstanceMSDeployOperationSlot(ctx context.Context, resourceGroupName string, name string, slot string, instanceID string, mSDeploy web.MSDeploy) (result web.AppsCreateInstanceMSDeployOperationSlotFuture, err error) + CreateMSDeployOperation(ctx context.Context, resourceGroupName string, name string, mSDeploy web.MSDeploy) (result web.AppsCreateMSDeployOperationFuture, err error) + CreateMSDeployOperationSlot(ctx context.Context, resourceGroupName string, name string, slot string, mSDeploy web.MSDeploy) (result web.AppsCreateMSDeployOperationSlotFuture, err error) + CreateOrUpdate(ctx context.Context, resourceGroupName string, name string, siteEnvelope web.Site) (result web.AppsCreateOrUpdateFuture, err error) + CreateOrUpdateConfiguration(ctx context.Context, resourceGroupName string, name string, siteConfig web.SiteConfigResource) (result web.SiteConfigResource, err error) + CreateOrUpdateConfigurationSlot(ctx context.Context, resourceGroupName string, name string, siteConfig web.SiteConfigResource, slot string) (result web.SiteConfigResource, err error) + CreateOrUpdateDomainOwnershipIdentifier(ctx context.Context, resourceGroupName string, name string, domainOwnershipIdentifierName string, domainOwnershipIdentifier web.Identifier) (result web.Identifier, err error) + CreateOrUpdateDomainOwnershipIdentifierSlot(ctx context.Context, resourceGroupName string, name string, domainOwnershipIdentifierName string, domainOwnershipIdentifier web.Identifier, slot string) (result web.Identifier, err error) + CreateOrUpdateHostNameBinding(ctx context.Context, resourceGroupName string, name string, hostName string, hostNameBinding web.HostNameBinding) (result web.HostNameBinding, err error) + CreateOrUpdateHostNameBindingSlot(ctx context.Context, resourceGroupName string, name string, hostName string, hostNameBinding web.HostNameBinding, slot string) (result web.HostNameBinding, err error) + CreateOrUpdateHybridConnection(ctx context.Context, resourceGroupName string, name string, namespaceName string, relayName string, connectionEnvelope web.HybridConnection) (result web.HybridConnection, err error) + CreateOrUpdateHybridConnectionSlot(ctx context.Context, resourceGroupName string, name string, namespaceName string, relayName string, connectionEnvelope web.HybridConnection, slot string) (result web.HybridConnection, err error) + CreateOrUpdatePublicCertificate(ctx context.Context, resourceGroupName string, name string, publicCertificateName string, publicCertificate web.PublicCertificate) (result web.PublicCertificate, err error) + CreateOrUpdatePublicCertificateSlot(ctx context.Context, resourceGroupName string, name string, publicCertificateName string, publicCertificate web.PublicCertificate, slot string) (result web.PublicCertificate, err error) + CreateOrUpdateRelayServiceConnection(ctx context.Context, resourceGroupName string, name string, entityName string, connectionEnvelope web.RelayServiceConnectionEntity) (result web.RelayServiceConnectionEntity, err error) + CreateOrUpdateRelayServiceConnectionSlot(ctx context.Context, resourceGroupName string, name string, entityName string, connectionEnvelope web.RelayServiceConnectionEntity, slot string) (result web.RelayServiceConnectionEntity, err error) + CreateOrUpdateSlot(ctx context.Context, resourceGroupName string, name string, siteEnvelope web.Site, slot string) (result web.AppsCreateOrUpdateSlotFuture, err error) + CreateOrUpdateSourceControl(ctx context.Context, resourceGroupName string, name string, siteSourceControl web.SiteSourceControl) (result web.AppsCreateOrUpdateSourceControlFuture, err error) + CreateOrUpdateSourceControlSlot(ctx context.Context, resourceGroupName string, name string, siteSourceControl web.SiteSourceControl, slot string) (result web.AppsCreateOrUpdateSourceControlSlotFuture, err error) + CreateOrUpdateSwiftVirtualNetworkConnection(ctx context.Context, resourceGroupName string, name string, connectionEnvelope web.SwiftVirtualNetwork) (result web.SwiftVirtualNetwork, err error) + CreateOrUpdateSwiftVirtualNetworkConnectionSlot(ctx context.Context, resourceGroupName string, name string, connectionEnvelope web.SwiftVirtualNetwork, slot string) (result web.SwiftVirtualNetwork, err error) + CreateOrUpdateVnetConnection(ctx context.Context, resourceGroupName string, name string, vnetName string, connectionEnvelope web.VnetInfo) (result web.VnetInfo, err error) + CreateOrUpdateVnetConnectionGateway(ctx context.Context, resourceGroupName string, name string, vnetName string, gatewayName string, connectionEnvelope web.VnetGateway) (result web.VnetGateway, err error) + CreateOrUpdateVnetConnectionGatewaySlot(ctx context.Context, resourceGroupName string, name string, vnetName string, gatewayName string, connectionEnvelope web.VnetGateway, slot string) (result web.VnetGateway, err error) + CreateOrUpdateVnetConnectionSlot(ctx context.Context, resourceGroupName string, name string, vnetName string, connectionEnvelope web.VnetInfo, slot string) (result web.VnetInfo, err error) + Delete(ctx context.Context, resourceGroupName string, name string, deleteMetrics *bool, deleteEmptyServerFarm *bool) (result autorest.Response, err error) + DeleteBackup(ctx context.Context, resourceGroupName string, name string, backupID string) (result autorest.Response, err error) + DeleteBackupConfiguration(ctx context.Context, resourceGroupName string, name string) (result autorest.Response, err error) + DeleteBackupConfigurationSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result autorest.Response, err error) + DeleteBackupSlot(ctx context.Context, resourceGroupName string, name string, backupID string, slot string) (result autorest.Response, err error) + DeleteContinuousWebJob(ctx context.Context, resourceGroupName string, name string, webJobName string) (result autorest.Response, err error) + DeleteContinuousWebJobSlot(ctx context.Context, resourceGroupName string, name string, webJobName string, slot string) (result autorest.Response, err error) + DeleteDeployment(ctx context.Context, resourceGroupName string, name string, ID string) (result autorest.Response, err error) + DeleteDeploymentSlot(ctx context.Context, resourceGroupName string, name string, ID string, slot string) (result autorest.Response, err error) + DeleteDomainOwnershipIdentifier(ctx context.Context, resourceGroupName string, name string, domainOwnershipIdentifierName string) (result autorest.Response, err error) + DeleteDomainOwnershipIdentifierSlot(ctx context.Context, resourceGroupName string, name string, domainOwnershipIdentifierName string, slot string) (result autorest.Response, err error) + DeleteFunction(ctx context.Context, resourceGroupName string, name string, functionName string) (result autorest.Response, err error) + DeleteHostNameBinding(ctx context.Context, resourceGroupName string, name string, hostName string) (result autorest.Response, err error) + DeleteHostNameBindingSlot(ctx context.Context, resourceGroupName string, name string, slot string, hostName string) (result autorest.Response, err error) + DeleteHybridConnection(ctx context.Context, resourceGroupName string, name string, namespaceName string, relayName string) (result autorest.Response, err error) + DeleteHybridConnectionSlot(ctx context.Context, resourceGroupName string, name string, namespaceName string, relayName string, slot string) (result autorest.Response, err error) + DeleteInstanceFunctionSlot(ctx context.Context, resourceGroupName string, name string, functionName string, slot string) (result autorest.Response, err error) + DeleteInstanceProcess(ctx context.Context, resourceGroupName string, name string, processID string, instanceID string) (result autorest.Response, err error) + DeleteInstanceProcessSlot(ctx context.Context, resourceGroupName string, name string, processID string, slot string, instanceID string) (result autorest.Response, err error) + DeletePremierAddOn(ctx context.Context, resourceGroupName string, name string, premierAddOnName string) (result autorest.Response, err error) + DeletePremierAddOnSlot(ctx context.Context, resourceGroupName string, name string, premierAddOnName string, slot string) (result autorest.Response, err error) + DeleteProcess(ctx context.Context, resourceGroupName string, name string, processID string) (result autorest.Response, err error) + DeleteProcessSlot(ctx context.Context, resourceGroupName string, name string, processID string, slot string) (result autorest.Response, err error) + DeletePublicCertificate(ctx context.Context, resourceGroupName string, name string, publicCertificateName string) (result autorest.Response, err error) + DeletePublicCertificateSlot(ctx context.Context, resourceGroupName string, name string, slot string, publicCertificateName string) (result autorest.Response, err error) + DeleteRelayServiceConnection(ctx context.Context, resourceGroupName string, name string, entityName string) (result autorest.Response, err error) + DeleteRelayServiceConnectionSlot(ctx context.Context, resourceGroupName string, name string, entityName string, slot string) (result autorest.Response, err error) + DeleteSiteExtension(ctx context.Context, resourceGroupName string, name string, siteExtensionID string) (result autorest.Response, err error) + DeleteSiteExtensionSlot(ctx context.Context, resourceGroupName string, name string, siteExtensionID string, slot string) (result autorest.Response, err error) + DeleteSlot(ctx context.Context, resourceGroupName string, name string, slot string, deleteMetrics *bool, deleteEmptyServerFarm *bool) (result autorest.Response, err error) + DeleteSourceControl(ctx context.Context, resourceGroupName string, name string) (result autorest.Response, err error) + DeleteSourceControlSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result autorest.Response, err error) + DeleteSwiftVirtualNetwork(ctx context.Context, resourceGroupName string, name string) (result autorest.Response, err error) + DeleteSwiftVirtualNetworkSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result autorest.Response, err error) + DeleteTriggeredWebJob(ctx context.Context, resourceGroupName string, name string, webJobName string) (result autorest.Response, err error) + DeleteTriggeredWebJobSlot(ctx context.Context, resourceGroupName string, name string, webJobName string, slot string) (result autorest.Response, err error) + DeleteVnetConnection(ctx context.Context, resourceGroupName string, name string, vnetName string) (result autorest.Response, err error) + DeleteVnetConnectionSlot(ctx context.Context, resourceGroupName string, name string, vnetName string, slot string) (result autorest.Response, err error) + DiscoverBackup(ctx context.Context, resourceGroupName string, name string, request web.RestoreRequest) (result web.RestoreRequest, err error) + DiscoverBackupSlot(ctx context.Context, resourceGroupName string, name string, request web.RestoreRequest, slot string) (result web.RestoreRequest, err error) + GenerateNewSitePublishingPassword(ctx context.Context, resourceGroupName string, name string) (result autorest.Response, err error) + GenerateNewSitePublishingPasswordSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result autorest.Response, err error) + Get(ctx context.Context, resourceGroupName string, name string) (result web.Site, err error) + GetAuthSettings(ctx context.Context, resourceGroupName string, name string) (result web.SiteAuthSettings, err error) + GetAuthSettingsSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result web.SiteAuthSettings, err error) + GetBackupConfiguration(ctx context.Context, resourceGroupName string, name string) (result web.BackupRequest, err error) + GetBackupConfigurationSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result web.BackupRequest, err error) + GetBackupStatus(ctx context.Context, resourceGroupName string, name string, backupID string) (result web.BackupItem, err error) + GetBackupStatusSlot(ctx context.Context, resourceGroupName string, name string, backupID string, slot string) (result web.BackupItem, err error) + GetConfiguration(ctx context.Context, resourceGroupName string, name string) (result web.SiteConfigResource, err error) + GetConfigurationSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result web.SiteConfigResource, err error) + GetConfigurationSnapshot(ctx context.Context, resourceGroupName string, name string, snapshotID string) (result web.SiteConfigResource, err error) + GetConfigurationSnapshotSlot(ctx context.Context, resourceGroupName string, name string, snapshotID string, slot string) (result web.SiteConfigResource, err error) + GetContainerLogsZip(ctx context.Context, resourceGroupName string, name string) (result web.ReadCloser, err error) + GetContainerLogsZipSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result web.ReadCloser, err error) + GetContinuousWebJob(ctx context.Context, resourceGroupName string, name string, webJobName string) (result web.ContinuousWebJob, err error) + GetContinuousWebJobSlot(ctx context.Context, resourceGroupName string, name string, webJobName string, slot string) (result web.ContinuousWebJob, err error) + GetDeployment(ctx context.Context, resourceGroupName string, name string, ID string) (result web.Deployment, err error) + GetDeploymentSlot(ctx context.Context, resourceGroupName string, name string, ID string, slot string) (result web.Deployment, err error) + GetDiagnosticLogsConfiguration(ctx context.Context, resourceGroupName string, name string) (result web.SiteLogsConfig, err error) + GetDiagnosticLogsConfigurationSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result web.SiteLogsConfig, err error) + GetDomainOwnershipIdentifier(ctx context.Context, resourceGroupName string, name string, domainOwnershipIdentifierName string) (result web.Identifier, err error) + GetDomainOwnershipIdentifierSlot(ctx context.Context, resourceGroupName string, name string, domainOwnershipIdentifierName string, slot string) (result web.Identifier, err error) + GetFunction(ctx context.Context, resourceGroupName string, name string, functionName string) (result web.FunctionEnvelope, err error) + GetFunctionsAdminToken(ctx context.Context, resourceGroupName string, name string) (result web.String, err error) + GetFunctionsAdminTokenSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result web.String, err error) + GetHostNameBinding(ctx context.Context, resourceGroupName string, name string, hostName string) (result web.HostNameBinding, err error) + GetHostNameBindingSlot(ctx context.Context, resourceGroupName string, name string, slot string, hostName string) (result web.HostNameBinding, err error) + GetHybridConnection(ctx context.Context, resourceGroupName string, name string, namespaceName string, relayName string) (result web.HybridConnection, err error) + GetHybridConnectionSlot(ctx context.Context, resourceGroupName string, name string, namespaceName string, relayName string, slot string) (result web.HybridConnection, err error) + GetInstanceFunctionSlot(ctx context.Context, resourceGroupName string, name string, functionName string, slot string) (result web.FunctionEnvelope, err error) + GetInstanceMSDeployLog(ctx context.Context, resourceGroupName string, name string, instanceID string) (result web.MSDeployLog, err error) + GetInstanceMSDeployLogSlot(ctx context.Context, resourceGroupName string, name string, slot string, instanceID string) (result web.MSDeployLog, err error) + GetInstanceMsDeployStatus(ctx context.Context, resourceGroupName string, name string, instanceID string) (result web.MSDeployStatus, err error) + GetInstanceMsDeployStatusSlot(ctx context.Context, resourceGroupName string, name string, slot string, instanceID string) (result web.MSDeployStatus, err error) + GetInstanceProcess(ctx context.Context, resourceGroupName string, name string, processID string, instanceID string) (result web.ProcessInfo, err error) + GetInstanceProcessDump(ctx context.Context, resourceGroupName string, name string, processID string, instanceID string) (result web.ReadCloser, err error) + GetInstanceProcessDumpSlot(ctx context.Context, resourceGroupName string, name string, processID string, slot string, instanceID string) (result web.ReadCloser, err error) + GetInstanceProcessModule(ctx context.Context, resourceGroupName string, name string, processID string, baseAddress string, instanceID string) (result web.ProcessModuleInfo, err error) + GetInstanceProcessModuleSlot(ctx context.Context, resourceGroupName string, name string, processID string, baseAddress string, slot string, instanceID string) (result web.ProcessModuleInfo, err error) + GetInstanceProcessSlot(ctx context.Context, resourceGroupName string, name string, processID string, slot string, instanceID string) (result web.ProcessInfo, err error) + GetInstanceProcessThread(ctx context.Context, resourceGroupName string, name string, processID string, threadID string, instanceID string) (result web.ProcessThreadInfo, err error) + GetInstanceProcessThreadSlot(ctx context.Context, resourceGroupName string, name string, processID string, threadID string, slot string, instanceID string) (result web.ProcessThreadInfo, err error) + GetMigrateMySQLStatus(ctx context.Context, resourceGroupName string, name string) (result web.MigrateMySQLStatus, err error) + GetMigrateMySQLStatusSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result web.MigrateMySQLStatus, err error) + GetMSDeployLog(ctx context.Context, resourceGroupName string, name string) (result web.MSDeployLog, err error) + GetMSDeployLogSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result web.MSDeployLog, err error) + GetMSDeployStatus(ctx context.Context, resourceGroupName string, name string) (result web.MSDeployStatus, err error) + GetMSDeployStatusSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result web.MSDeployStatus, err error) + GetNetworkTraceOperation(ctx context.Context, resourceGroupName string, name string, operationID string) (result web.ListNetworkTrace, err error) + GetNetworkTraceOperationSlot(ctx context.Context, resourceGroupName string, name string, operationID string, slot string) (result web.ListNetworkTrace, err error) + GetNetworkTraceOperationSlotV2(ctx context.Context, resourceGroupName string, name string, operationID string, slot string) (result web.ListNetworkTrace, err error) + GetNetworkTraceOperationV2(ctx context.Context, resourceGroupName string, name string, operationID string) (result web.ListNetworkTrace, err error) + GetNetworkTraces(ctx context.Context, resourceGroupName string, name string, operationID string) (result web.ListNetworkTrace, err error) + GetNetworkTracesSlot(ctx context.Context, resourceGroupName string, name string, operationID string, slot string) (result web.ListNetworkTrace, err error) + GetNetworkTracesSlotV2(ctx context.Context, resourceGroupName string, name string, operationID string, slot string) (result web.ListNetworkTrace, err error) + GetNetworkTracesV2(ctx context.Context, resourceGroupName string, name string, operationID string) (result web.ListNetworkTrace, err error) + GetPremierAddOn(ctx context.Context, resourceGroupName string, name string, premierAddOnName string) (result web.PremierAddOn, err error) + GetPremierAddOnSlot(ctx context.Context, resourceGroupName string, name string, premierAddOnName string, slot string) (result web.PremierAddOn, err error) + GetPrivateAccess(ctx context.Context, resourceGroupName string, name string) (result web.PrivateAccess, err error) + GetPrivateAccessSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result web.PrivateAccess, err error) + GetProcess(ctx context.Context, resourceGroupName string, name string, processID string) (result web.ProcessInfo, err error) + GetProcessDump(ctx context.Context, resourceGroupName string, name string, processID string) (result web.ReadCloser, err error) + GetProcessDumpSlot(ctx context.Context, resourceGroupName string, name string, processID string, slot string) (result web.ReadCloser, err error) + GetProcessModule(ctx context.Context, resourceGroupName string, name string, processID string, baseAddress string) (result web.ProcessModuleInfo, err error) + GetProcessModuleSlot(ctx context.Context, resourceGroupName string, name string, processID string, baseAddress string, slot string) (result web.ProcessModuleInfo, err error) + GetProcessSlot(ctx context.Context, resourceGroupName string, name string, processID string, slot string) (result web.ProcessInfo, err error) + GetProcessThread(ctx context.Context, resourceGroupName string, name string, processID string, threadID string) (result web.ProcessThreadInfo, err error) + GetProcessThreadSlot(ctx context.Context, resourceGroupName string, name string, processID string, threadID string, slot string) (result web.ProcessThreadInfo, err error) + GetPublicCertificate(ctx context.Context, resourceGroupName string, name string, publicCertificateName string) (result web.PublicCertificate, err error) + GetPublicCertificateSlot(ctx context.Context, resourceGroupName string, name string, slot string, publicCertificateName string) (result web.PublicCertificate, err error) + GetRelayServiceConnection(ctx context.Context, resourceGroupName string, name string, entityName string) (result web.RelayServiceConnectionEntity, err error) + GetRelayServiceConnectionSlot(ctx context.Context, resourceGroupName string, name string, entityName string, slot string) (result web.RelayServiceConnectionEntity, err error) + GetSiteExtension(ctx context.Context, resourceGroupName string, name string, siteExtensionID string) (result web.SiteExtensionInfo, err error) + GetSiteExtensionSlot(ctx context.Context, resourceGroupName string, name string, siteExtensionID string, slot string) (result web.SiteExtensionInfo, err error) + GetSitePhpErrorLogFlag(ctx context.Context, resourceGroupName string, name string) (result web.SitePhpErrorLogFlag, err error) + GetSitePhpErrorLogFlagSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result web.SitePhpErrorLogFlag, err error) + GetSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result web.Site, err error) + GetSourceControl(ctx context.Context, resourceGroupName string, name string) (result web.SiteSourceControl, err error) + GetSourceControlSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result web.SiteSourceControl, err error) + GetSwiftVirtualNetworkConnection(ctx context.Context, resourceGroupName string, name string) (result web.SwiftVirtualNetwork, err error) + GetSwiftVirtualNetworkConnectionSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result web.SwiftVirtualNetwork, err error) + GetTriggeredWebJob(ctx context.Context, resourceGroupName string, name string, webJobName string) (result web.TriggeredWebJob, err error) + GetTriggeredWebJobHistory(ctx context.Context, resourceGroupName string, name string, webJobName string, ID string) (result web.TriggeredJobHistory, err error) + GetTriggeredWebJobHistorySlot(ctx context.Context, resourceGroupName string, name string, webJobName string, ID string, slot string) (result web.TriggeredJobHistory, err error) + GetTriggeredWebJobSlot(ctx context.Context, resourceGroupName string, name string, webJobName string, slot string) (result web.TriggeredWebJob, err error) + GetVnetConnection(ctx context.Context, resourceGroupName string, name string, vnetName string) (result web.VnetInfo, err error) + GetVnetConnectionGateway(ctx context.Context, resourceGroupName string, name string, vnetName string, gatewayName string) (result web.VnetGateway, err error) + GetVnetConnectionGatewaySlot(ctx context.Context, resourceGroupName string, name string, vnetName string, gatewayName string, slot string) (result web.VnetGateway, err error) + GetVnetConnectionSlot(ctx context.Context, resourceGroupName string, name string, vnetName string, slot string) (result web.VnetInfo, err error) + GetWebJob(ctx context.Context, resourceGroupName string, name string, webJobName string) (result web.Job, err error) + GetWebJobSlot(ctx context.Context, resourceGroupName string, name string, webJobName string, slot string) (result web.Job, err error) + GetWebSiteContainerLogs(ctx context.Context, resourceGroupName string, name string) (result web.ReadCloser, err error) + GetWebSiteContainerLogsSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result web.ReadCloser, err error) + InstallSiteExtension(ctx context.Context, resourceGroupName string, name string, siteExtensionID string) (result web.AppsInstallSiteExtensionFuture, err error) + InstallSiteExtensionSlot(ctx context.Context, resourceGroupName string, name string, siteExtensionID string, slot string) (result web.AppsInstallSiteExtensionSlotFuture, err error) + IsCloneable(ctx context.Context, resourceGroupName string, name string) (result web.SiteCloneability, err error) + IsCloneableSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result web.SiteCloneability, err error) + List(ctx context.Context) (result web.AppCollectionPage, err error) + ListApplicationSettings(ctx context.Context, resourceGroupName string, name string) (result web.StringDictionary, err error) + ListApplicationSettingsSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result web.StringDictionary, err error) + ListAzureStorageAccounts(ctx context.Context, resourceGroupName string, name string) (result web.AzureStoragePropertyDictionaryResource, err error) + ListAzureStorageAccountsSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result web.AzureStoragePropertyDictionaryResource, err error) + ListBackups(ctx context.Context, resourceGroupName string, name string) (result web.BackupItemCollectionPage, err error) + ListBackupsSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result web.BackupItemCollectionPage, err error) + ListBackupStatusSecrets(ctx context.Context, resourceGroupName string, name string, backupID string, request web.BackupRequest) (result web.BackupItem, err error) + ListBackupStatusSecretsSlot(ctx context.Context, resourceGroupName string, name string, backupID string, request web.BackupRequest, slot string) (result web.BackupItem, err error) + ListByResourceGroup(ctx context.Context, resourceGroupName string, includeSlots *bool) (result web.AppCollectionPage, err error) + ListConfigurations(ctx context.Context, resourceGroupName string, name string) (result web.SiteConfigResourceCollectionPage, err error) + ListConfigurationSnapshotInfo(ctx context.Context, resourceGroupName string, name string) (result web.SiteConfigurationSnapshotInfoCollectionPage, err error) + ListConfigurationSnapshotInfoSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result web.SiteConfigurationSnapshotInfoCollectionPage, err error) + ListConfigurationsSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result web.SiteConfigResourceCollectionPage, err error) + ListConnectionStrings(ctx context.Context, resourceGroupName string, name string) (result web.ConnectionStringDictionary, err error) + ListConnectionStringsSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result web.ConnectionStringDictionary, err error) + ListContinuousWebJobs(ctx context.Context, resourceGroupName string, name string) (result web.ContinuousWebJobCollectionPage, err error) + ListContinuousWebJobsSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result web.ContinuousWebJobCollectionPage, err error) + ListDeploymentLog(ctx context.Context, resourceGroupName string, name string, ID string) (result web.Deployment, err error) + ListDeploymentLogSlot(ctx context.Context, resourceGroupName string, name string, ID string, slot string) (result web.Deployment, err error) + ListDeployments(ctx context.Context, resourceGroupName string, name string) (result web.DeploymentCollectionPage, err error) + ListDeploymentsSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result web.DeploymentCollectionPage, err error) + ListDomainOwnershipIdentifiers(ctx context.Context, resourceGroupName string, name string) (result web.IdentifierCollectionPage, err error) + ListDomainOwnershipIdentifiersSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result web.IdentifierCollectionPage, err error) + ListFunctions(ctx context.Context, resourceGroupName string, name string) (result web.FunctionEnvelopeCollectionPage, err error) + ListFunctionSecrets(ctx context.Context, resourceGroupName string, name string, functionName string) (result web.FunctionSecrets, err error) + ListFunctionSecretsSlot(ctx context.Context, resourceGroupName string, name string, functionName string, slot string) (result web.FunctionSecrets, err error) + ListHostNameBindings(ctx context.Context, resourceGroupName string, name string) (result web.HostNameBindingCollectionPage, err error) + ListHostNameBindingsSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result web.HostNameBindingCollectionPage, err error) + ListHybridConnectionKeys(ctx context.Context, resourceGroupName string, name string, namespaceName string, relayName string) (result web.HybridConnectionKey, err error) + ListHybridConnectionKeysSlot(ctx context.Context, resourceGroupName string, name string, namespaceName string, relayName string, slot string) (result web.HybridConnectionKey, err error) + ListHybridConnections(ctx context.Context, resourceGroupName string, name string) (result web.HybridConnection, err error) + ListHybridConnectionsSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result web.HybridConnection, err error) + ListInstanceFunctionsSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result web.FunctionEnvelopeCollectionPage, err error) + ListInstanceIdentifiers(ctx context.Context, resourceGroupName string, name string) (result web.AppInstanceCollectionPage, err error) + ListInstanceIdentifiersSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result web.AppInstanceCollectionPage, err error) + ListInstanceProcesses(ctx context.Context, resourceGroupName string, name string, instanceID string) (result web.ProcessInfoCollectionPage, err error) + ListInstanceProcessesSlot(ctx context.Context, resourceGroupName string, name string, slot string, instanceID string) (result web.ProcessInfoCollectionPage, err error) + ListInstanceProcessModules(ctx context.Context, resourceGroupName string, name string, processID string, instanceID string) (result web.ProcessModuleInfoCollectionPage, err error) + ListInstanceProcessModulesSlot(ctx context.Context, resourceGroupName string, name string, processID string, slot string, instanceID string) (result web.ProcessModuleInfoCollectionPage, err error) + ListInstanceProcessThreads(ctx context.Context, resourceGroupName string, name string, processID string, instanceID string) (result web.ProcessThreadInfoCollectionPage, err error) + ListInstanceProcessThreadsSlot(ctx context.Context, resourceGroupName string, name string, processID string, slot string, instanceID string) (result web.ProcessThreadInfoCollectionPage, err error) + ListMetadata(ctx context.Context, resourceGroupName string, name string) (result web.StringDictionary, err error) + ListMetadataSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result web.StringDictionary, err error) + ListMetricDefinitions(ctx context.Context, resourceGroupName string, name string) (result web.ResourceMetricDefinitionCollectionPage, err error) + ListMetricDefinitionsSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result web.ResourceMetricDefinitionCollectionPage, err error) + ListMetrics(ctx context.Context, resourceGroupName string, name string, details *bool, filter string) (result web.ResourceMetricCollectionPage, err error) + ListMetricsSlot(ctx context.Context, resourceGroupName string, name string, slot string, details *bool, filter string) (result web.ResourceMetricCollectionPage, err error) + ListNetworkFeatures(ctx context.Context, resourceGroupName string, name string, view string) (result web.NetworkFeatures, err error) + ListNetworkFeaturesSlot(ctx context.Context, resourceGroupName string, name string, view string, slot string) (result web.NetworkFeatures, err error) + ListPerfMonCounters(ctx context.Context, resourceGroupName string, name string, filter string) (result web.PerfMonCounterCollectionPage, err error) + ListPerfMonCountersSlot(ctx context.Context, resourceGroupName string, name string, slot string, filter string) (result web.PerfMonCounterCollectionPage, err error) + ListPremierAddOns(ctx context.Context, resourceGroupName string, name string) (result web.PremierAddOn, err error) + ListPremierAddOnsSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result web.PremierAddOn, err error) + ListProcesses(ctx context.Context, resourceGroupName string, name string) (result web.ProcessInfoCollectionPage, err error) + ListProcessesSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result web.ProcessInfoCollectionPage, err error) + ListProcessModules(ctx context.Context, resourceGroupName string, name string, processID string) (result web.ProcessModuleInfoCollectionPage, err error) + ListProcessModulesSlot(ctx context.Context, resourceGroupName string, name string, processID string, slot string) (result web.ProcessModuleInfoCollectionPage, err error) + ListProcessThreads(ctx context.Context, resourceGroupName string, name string, processID string) (result web.ProcessThreadInfoCollectionPage, err error) + ListProcessThreadsSlot(ctx context.Context, resourceGroupName string, name string, processID string, slot string) (result web.ProcessThreadInfoCollectionPage, err error) + ListPublicCertificates(ctx context.Context, resourceGroupName string, name string) (result web.PublicCertificateCollectionPage, err error) + ListPublicCertificatesSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result web.PublicCertificateCollectionPage, err error) + ListPublishingCredentials(ctx context.Context, resourceGroupName string, name string) (result web.AppsListPublishingCredentialsFuture, err error) + ListPublishingCredentialsSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result web.AppsListPublishingCredentialsSlotFuture, err error) + ListPublishingProfileXMLWithSecrets(ctx context.Context, resourceGroupName string, name string, publishingProfileOptions web.CsmPublishingProfileOptions) (result web.ReadCloser, err error) + ListPublishingProfileXMLWithSecretsSlot(ctx context.Context, resourceGroupName string, name string, publishingProfileOptions web.CsmPublishingProfileOptions, slot string) (result web.ReadCloser, err error) + ListRelayServiceConnections(ctx context.Context, resourceGroupName string, name string) (result web.RelayServiceConnectionEntity, err error) + ListRelayServiceConnectionsSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result web.RelayServiceConnectionEntity, err error) + ListSiteExtensions(ctx context.Context, resourceGroupName string, name string) (result web.SiteExtensionInfoCollectionPage, err error) + ListSiteExtensionsSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result web.SiteExtensionInfoCollectionPage, err error) + ListSitePushSettings(ctx context.Context, resourceGroupName string, name string) (result web.PushSettings, err error) + ListSitePushSettingsSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result web.PushSettings, err error) + ListSlotConfigurationNames(ctx context.Context, resourceGroupName string, name string) (result web.SlotConfigNamesResource, err error) + ListSlotDifferencesFromProduction(ctx context.Context, resourceGroupName string, name string, slotSwapEntity web.CsmSlotEntity) (result web.SlotDifferenceCollectionPage, err error) + ListSlotDifferencesSlot(ctx context.Context, resourceGroupName string, name string, slotSwapEntity web.CsmSlotEntity, slot string) (result web.SlotDifferenceCollectionPage, err error) + ListSlots(ctx context.Context, resourceGroupName string, name string) (result web.AppCollectionPage, err error) + ListSnapshots(ctx context.Context, resourceGroupName string, name string) (result web.SnapshotCollectionPage, err error) + ListSnapshotsFromDRSecondary(ctx context.Context, resourceGroupName string, name string) (result web.SnapshotCollectionPage, err error) + ListSnapshotsFromDRSecondarySlot(ctx context.Context, resourceGroupName string, name string, slot string) (result web.SnapshotCollectionPage, err error) + ListSnapshotsSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result web.SnapshotCollectionPage, err error) + ListSyncFunctionTriggers(ctx context.Context, resourceGroupName string, name string) (result web.FunctionSecrets, err error) + ListSyncFunctionTriggersSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result web.FunctionSecrets, err error) + ListTriggeredWebJobHistory(ctx context.Context, resourceGroupName string, name string, webJobName string) (result web.TriggeredJobHistoryCollectionPage, err error) + ListTriggeredWebJobHistorySlot(ctx context.Context, resourceGroupName string, name string, webJobName string, slot string) (result web.TriggeredJobHistoryCollectionPage, err error) + ListTriggeredWebJobs(ctx context.Context, resourceGroupName string, name string) (result web.TriggeredWebJobCollectionPage, err error) + ListTriggeredWebJobsSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result web.TriggeredWebJobCollectionPage, err error) + ListUsages(ctx context.Context, resourceGroupName string, name string, filter string) (result web.CsmUsageQuotaCollectionPage, err error) + ListUsagesSlot(ctx context.Context, resourceGroupName string, name string, slot string, filter string) (result web.CsmUsageQuotaCollectionPage, err error) + ListVnetConnections(ctx context.Context, resourceGroupName string, name string) (result web.ListVnetInfo, err error) + ListVnetConnectionsSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result web.ListVnetInfo, err error) + ListWebJobs(ctx context.Context, resourceGroupName string, name string) (result web.JobCollectionPage, err error) + ListWebJobsSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result web.JobCollectionPage, err error) + MigrateMySQL(ctx context.Context, resourceGroupName string, name string, migrationRequestEnvelope web.MigrateMySQLRequest) (result web.AppsMigrateMySQLFuture, err error) + MigrateStorage(ctx context.Context, subscriptionName string, resourceGroupName string, name string, migrationOptions web.StorageMigrationOptions) (result web.AppsMigrateStorageFuture, err error) + PutPrivateAccessVnet(ctx context.Context, resourceGroupName string, name string, access web.PrivateAccess) (result web.PrivateAccess, err error) + PutPrivateAccessVnetSlot(ctx context.Context, resourceGroupName string, name string, access web.PrivateAccess, slot string) (result web.PrivateAccess, err error) + RecoverSiteConfigurationSnapshot(ctx context.Context, resourceGroupName string, name string, snapshotID string) (result autorest.Response, err error) + RecoverSiteConfigurationSnapshotSlot(ctx context.Context, resourceGroupName string, name string, snapshotID string, slot string) (result autorest.Response, err error) + ResetProductionSlotConfig(ctx context.Context, resourceGroupName string, name string) (result autorest.Response, err error) + ResetSlotConfigurationSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result autorest.Response, err error) + Restart(ctx context.Context, resourceGroupName string, name string, softRestart *bool, synchronous *bool) (result autorest.Response, err error) + RestartSlot(ctx context.Context, resourceGroupName string, name string, slot string, softRestart *bool, synchronous *bool) (result autorest.Response, err error) + Restore(ctx context.Context, resourceGroupName string, name string, backupID string, request web.RestoreRequest) (result web.AppsRestoreFuture, err error) + RestoreFromBackupBlob(ctx context.Context, resourceGroupName string, name string, request web.RestoreRequest) (result web.AppsRestoreFromBackupBlobFuture, err error) + RestoreFromBackupBlobSlot(ctx context.Context, resourceGroupName string, name string, request web.RestoreRequest, slot string) (result web.AppsRestoreFromBackupBlobSlotFuture, err error) + RestoreFromDeletedApp(ctx context.Context, resourceGroupName string, name string, restoreRequest web.DeletedAppRestoreRequest) (result web.AppsRestoreFromDeletedAppFuture, err error) + RestoreFromDeletedAppSlot(ctx context.Context, resourceGroupName string, name string, restoreRequest web.DeletedAppRestoreRequest, slot string) (result web.AppsRestoreFromDeletedAppSlotFuture, err error) + RestoreSlot(ctx context.Context, resourceGroupName string, name string, backupID string, request web.RestoreRequest, slot string) (result web.AppsRestoreSlotFuture, err error) + RestoreSnapshot(ctx context.Context, resourceGroupName string, name string, restoreRequest web.SnapshotRestoreRequest) (result web.AppsRestoreSnapshotFuture, err error) + RestoreSnapshotSlot(ctx context.Context, resourceGroupName string, name string, restoreRequest web.SnapshotRestoreRequest, slot string) (result web.AppsRestoreSnapshotSlotFuture, err error) + RunTriggeredWebJob(ctx context.Context, resourceGroupName string, name string, webJobName string) (result autorest.Response, err error) + RunTriggeredWebJobSlot(ctx context.Context, resourceGroupName string, name string, webJobName string, slot string) (result autorest.Response, err error) + Start(ctx context.Context, resourceGroupName string, name string) (result autorest.Response, err error) + StartContinuousWebJob(ctx context.Context, resourceGroupName string, name string, webJobName string) (result autorest.Response, err error) + StartContinuousWebJobSlot(ctx context.Context, resourceGroupName string, name string, webJobName string, slot string) (result autorest.Response, err error) + StartNetworkTrace(ctx context.Context, resourceGroupName string, name string, durationInSeconds *int32, maxFrameLength *int32, sasURL string) (result web.AppsStartNetworkTraceFuture, err error) + StartNetworkTraceSlot(ctx context.Context, resourceGroupName string, name string, slot string, durationInSeconds *int32, maxFrameLength *int32, sasURL string) (result web.AppsStartNetworkTraceSlotFuture, err error) + StartSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result autorest.Response, err error) + StartWebSiteNetworkTrace(ctx context.Context, resourceGroupName string, name string, durationInSeconds *int32, maxFrameLength *int32, sasURL string) (result web.String, err error) + StartWebSiteNetworkTraceOperation(ctx context.Context, resourceGroupName string, name string, durationInSeconds *int32, maxFrameLength *int32, sasURL string) (result web.AppsStartWebSiteNetworkTraceOperationFuture, err error) + StartWebSiteNetworkTraceOperationSlot(ctx context.Context, resourceGroupName string, name string, slot string, durationInSeconds *int32, maxFrameLength *int32, sasURL string) (result web.AppsStartWebSiteNetworkTraceOperationSlotFuture, err error) + StartWebSiteNetworkTraceSlot(ctx context.Context, resourceGroupName string, name string, slot string, durationInSeconds *int32, maxFrameLength *int32, sasURL string) (result web.String, err error) + Stop(ctx context.Context, resourceGroupName string, name string) (result autorest.Response, err error) + StopContinuousWebJob(ctx context.Context, resourceGroupName string, name string, webJobName string) (result autorest.Response, err error) + StopContinuousWebJobSlot(ctx context.Context, resourceGroupName string, name string, webJobName string, slot string) (result autorest.Response, err error) + StopNetworkTrace(ctx context.Context, resourceGroupName string, name string) (result autorest.Response, err error) + StopNetworkTraceSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result autorest.Response, err error) + StopSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result autorest.Response, err error) + StopWebSiteNetworkTrace(ctx context.Context, resourceGroupName string, name string) (result autorest.Response, err error) + StopWebSiteNetworkTraceSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result autorest.Response, err error) + SwapSlotSlot(ctx context.Context, resourceGroupName string, name string, slotSwapEntity web.CsmSlotEntity, slot string) (result web.AppsSwapSlotSlotFuture, err error) + SwapSlotWithProduction(ctx context.Context, resourceGroupName string, name string, slotSwapEntity web.CsmSlotEntity) (result web.AppsSwapSlotWithProductionFuture, err error) + SyncFunctionTriggers(ctx context.Context, resourceGroupName string, name string) (result autorest.Response, err error) + SyncFunctionTriggersSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result autorest.Response, err error) + SyncRepository(ctx context.Context, resourceGroupName string, name string) (result autorest.Response, err error) + SyncRepositorySlot(ctx context.Context, resourceGroupName string, name string, slot string) (result autorest.Response, err error) + Update(ctx context.Context, resourceGroupName string, name string, siteEnvelope web.SitePatchResource) (result web.Site, err error) + UpdateApplicationSettings(ctx context.Context, resourceGroupName string, name string, appSettings web.StringDictionary) (result web.StringDictionary, err error) + UpdateApplicationSettingsSlot(ctx context.Context, resourceGroupName string, name string, appSettings web.StringDictionary, slot string) (result web.StringDictionary, err error) + UpdateAuthSettings(ctx context.Context, resourceGroupName string, name string, siteAuthSettings web.SiteAuthSettings) (result web.SiteAuthSettings, err error) + UpdateAuthSettingsSlot(ctx context.Context, resourceGroupName string, name string, siteAuthSettings web.SiteAuthSettings, slot string) (result web.SiteAuthSettings, err error) + UpdateAzureStorageAccounts(ctx context.Context, resourceGroupName string, name string, azureStorageAccounts web.AzureStoragePropertyDictionaryResource) (result web.AzureStoragePropertyDictionaryResource, err error) + UpdateAzureStorageAccountsSlot(ctx context.Context, resourceGroupName string, name string, azureStorageAccounts web.AzureStoragePropertyDictionaryResource, slot string) (result web.AzureStoragePropertyDictionaryResource, err error) + UpdateBackupConfiguration(ctx context.Context, resourceGroupName string, name string, request web.BackupRequest) (result web.BackupRequest, err error) + UpdateBackupConfigurationSlot(ctx context.Context, resourceGroupName string, name string, request web.BackupRequest, slot string) (result web.BackupRequest, err error) + UpdateConfiguration(ctx context.Context, resourceGroupName string, name string, siteConfig web.SiteConfigResource) (result web.SiteConfigResource, err error) + UpdateConfigurationSlot(ctx context.Context, resourceGroupName string, name string, siteConfig web.SiteConfigResource, slot string) (result web.SiteConfigResource, err error) + UpdateConnectionStrings(ctx context.Context, resourceGroupName string, name string, connectionStrings web.ConnectionStringDictionary) (result web.ConnectionStringDictionary, err error) + UpdateConnectionStringsSlot(ctx context.Context, resourceGroupName string, name string, connectionStrings web.ConnectionStringDictionary, slot string) (result web.ConnectionStringDictionary, err error) + UpdateDiagnosticLogsConfig(ctx context.Context, resourceGroupName string, name string, siteLogsConfig web.SiteLogsConfig) (result web.SiteLogsConfig, err error) + UpdateDiagnosticLogsConfigSlot(ctx context.Context, resourceGroupName string, name string, siteLogsConfig web.SiteLogsConfig, slot string) (result web.SiteLogsConfig, err error) + UpdateDomainOwnershipIdentifier(ctx context.Context, resourceGroupName string, name string, domainOwnershipIdentifierName string, domainOwnershipIdentifier web.Identifier) (result web.Identifier, err error) + UpdateDomainOwnershipIdentifierSlot(ctx context.Context, resourceGroupName string, name string, domainOwnershipIdentifierName string, domainOwnershipIdentifier web.Identifier, slot string) (result web.Identifier, err error) + UpdateHybridConnection(ctx context.Context, resourceGroupName string, name string, namespaceName string, relayName string, connectionEnvelope web.HybridConnection) (result web.HybridConnection, err error) + UpdateHybridConnectionSlot(ctx context.Context, resourceGroupName string, name string, namespaceName string, relayName string, connectionEnvelope web.HybridConnection, slot string) (result web.HybridConnection, err error) + UpdateMetadata(ctx context.Context, resourceGroupName string, name string, metadata web.StringDictionary) (result web.StringDictionary, err error) + UpdateMetadataSlot(ctx context.Context, resourceGroupName string, name string, metadata web.StringDictionary, slot string) (result web.StringDictionary, err error) + UpdatePremierAddOn(ctx context.Context, resourceGroupName string, name string, premierAddOnName string, premierAddOn web.PremierAddOnPatchResource) (result web.PremierAddOn, err error) + UpdatePremierAddOnSlot(ctx context.Context, resourceGroupName string, name string, premierAddOnName string, premierAddOn web.PremierAddOnPatchResource, slot string) (result web.PremierAddOn, err error) + UpdateRelayServiceConnection(ctx context.Context, resourceGroupName string, name string, entityName string, connectionEnvelope web.RelayServiceConnectionEntity) (result web.RelayServiceConnectionEntity, err error) + UpdateRelayServiceConnectionSlot(ctx context.Context, resourceGroupName string, name string, entityName string, connectionEnvelope web.RelayServiceConnectionEntity, slot string) (result web.RelayServiceConnectionEntity, err error) + UpdateSitePushSettings(ctx context.Context, resourceGroupName string, name string, pushSettings web.PushSettings) (result web.PushSettings, err error) + UpdateSitePushSettingsSlot(ctx context.Context, resourceGroupName string, name string, pushSettings web.PushSettings, slot string) (result web.PushSettings, err error) + UpdateSlot(ctx context.Context, resourceGroupName string, name string, siteEnvelope web.SitePatchResource, slot string) (result web.Site, err error) + UpdateSlotConfigurationNames(ctx context.Context, resourceGroupName string, name string, slotConfigNames web.SlotConfigNamesResource) (result web.SlotConfigNamesResource, err error) + UpdateSourceControl(ctx context.Context, resourceGroupName string, name string, siteSourceControl web.SiteSourceControl) (result web.SiteSourceControl, err error) + UpdateSourceControlSlot(ctx context.Context, resourceGroupName string, name string, siteSourceControl web.SiteSourceControl, slot string) (result web.SiteSourceControl, err error) + UpdateSwiftVirtualNetworkConnection(ctx context.Context, resourceGroupName string, name string, connectionEnvelope web.SwiftVirtualNetwork) (result web.SwiftVirtualNetwork, err error) + UpdateSwiftVirtualNetworkConnectionSlot(ctx context.Context, resourceGroupName string, name string, connectionEnvelope web.SwiftVirtualNetwork, slot string) (result web.SwiftVirtualNetwork, err error) + UpdateVnetConnection(ctx context.Context, resourceGroupName string, name string, vnetName string, connectionEnvelope web.VnetInfo) (result web.VnetInfo, err error) + UpdateVnetConnectionGateway(ctx context.Context, resourceGroupName string, name string, vnetName string, gatewayName string, connectionEnvelope web.VnetGateway) (result web.VnetGateway, err error) + UpdateVnetConnectionGatewaySlot(ctx context.Context, resourceGroupName string, name string, vnetName string, gatewayName string, connectionEnvelope web.VnetGateway, slot string) (result web.VnetGateway, err error) + UpdateVnetConnectionSlot(ctx context.Context, resourceGroupName string, name string, vnetName string, connectionEnvelope web.VnetInfo, slot string) (result web.VnetInfo, err error) +} + +var _ AppsClientAPI = (*web.AppsClient)(nil) + +// AppServiceEnvironmentsClientAPI contains the set of methods on the AppServiceEnvironmentsClient type. +type AppServiceEnvironmentsClientAPI interface { + ChangeVnet(ctx context.Context, resourceGroupName string, name string, vnetInfo web.VirtualNetworkProfile) (result web.AppServiceEnvironmentsChangeVnetFuture, err error) + CreateOrUpdate(ctx context.Context, resourceGroupName string, name string, hostingEnvironmentEnvelope web.AppServiceEnvironmentResource) (result web.AppServiceEnvironmentsCreateOrUpdateFuture, err error) + CreateOrUpdateMultiRolePool(ctx context.Context, resourceGroupName string, name string, multiRolePoolEnvelope web.WorkerPoolResource) (result web.AppServiceEnvironmentsCreateOrUpdateMultiRolePoolFuture, err error) + CreateOrUpdateWorkerPool(ctx context.Context, resourceGroupName string, name string, workerPoolName string, workerPoolEnvelope web.WorkerPoolResource) (result web.AppServiceEnvironmentsCreateOrUpdateWorkerPoolFuture, err error) + Delete(ctx context.Context, resourceGroupName string, name string, forceDelete *bool) (result web.AppServiceEnvironmentsDeleteFuture, err error) + Get(ctx context.Context, resourceGroupName string, name string) (result web.AppServiceEnvironmentResource, err error) + GetDiagnosticsItem(ctx context.Context, resourceGroupName string, name string, diagnosticsName string) (result web.HostingEnvironmentDiagnostics, err error) + GetInboundNetworkDependenciesEndpoints(ctx context.Context, resourceGroupName string, name string) (result web.InboundEnvironmentEndpointCollectionPage, err error) + GetMultiRolePool(ctx context.Context, resourceGroupName string, name string) (result web.WorkerPoolResource, err error) + GetOutboundNetworkDependenciesEndpoints(ctx context.Context, resourceGroupName string, name string) (result web.OutboundEnvironmentEndpointCollectionPage, err error) + GetWorkerPool(ctx context.Context, resourceGroupName string, name string, workerPoolName string) (result web.WorkerPoolResource, err error) + List(ctx context.Context) (result web.AppServiceEnvironmentCollectionPage, err error) + ListAppServicePlans(ctx context.Context, resourceGroupName string, name string) (result web.AppServicePlanCollectionPage, err error) + ListByResourceGroup(ctx context.Context, resourceGroupName string) (result web.AppServiceEnvironmentCollectionPage, err error) + ListCapacities(ctx context.Context, resourceGroupName string, name string) (result web.StampCapacityCollectionPage, err error) + ListDiagnostics(ctx context.Context, resourceGroupName string, name string) (result web.ListHostingEnvironmentDiagnostics, err error) + ListMetricDefinitions(ctx context.Context, resourceGroupName string, name string) (result web.MetricDefinition, err error) + ListMetrics(ctx context.Context, resourceGroupName string, name string, details *bool, filter string) (result web.ResourceMetricCollectionPage, err error) + ListMultiRoleMetricDefinitions(ctx context.Context, resourceGroupName string, name string) (result web.ResourceMetricDefinitionCollectionPage, err error) + ListMultiRoleMetrics(ctx context.Context, resourceGroupName string, name string, startTime string, endTime string, timeGrain string, details *bool, filter string) (result web.ResourceMetricCollectionPage, err error) + ListMultiRolePoolInstanceMetricDefinitions(ctx context.Context, resourceGroupName string, name string, instance string) (result web.ResourceMetricDefinitionCollectionPage, err error) + ListMultiRolePoolInstanceMetrics(ctx context.Context, resourceGroupName string, name string, instance string, details *bool) (result web.ResourceMetricCollectionPage, err error) + ListMultiRolePools(ctx context.Context, resourceGroupName string, name string) (result web.WorkerPoolCollectionPage, err error) + ListMultiRolePoolSkus(ctx context.Context, resourceGroupName string, name string) (result web.SkuInfoCollectionPage, err error) + ListMultiRoleUsages(ctx context.Context, resourceGroupName string, name string) (result web.UsageCollectionPage, err error) + ListOperations(ctx context.Context, resourceGroupName string, name string) (result web.ListOperation, err error) + ListUsages(ctx context.Context, resourceGroupName string, name string, filter string) (result web.CsmUsageQuotaCollectionPage, err error) + ListVips(ctx context.Context, resourceGroupName string, name string) (result web.AddressResponse, err error) + ListWebApps(ctx context.Context, resourceGroupName string, name string, propertiesToInclude string) (result web.AppCollectionPage, err error) + ListWebWorkerMetricDefinitions(ctx context.Context, resourceGroupName string, name string, workerPoolName string) (result web.ResourceMetricDefinitionCollectionPage, err error) + ListWebWorkerMetrics(ctx context.Context, resourceGroupName string, name string, workerPoolName string, details *bool, filter string) (result web.ResourceMetricCollectionPage, err error) + ListWebWorkerUsages(ctx context.Context, resourceGroupName string, name string, workerPoolName string) (result web.UsageCollectionPage, err error) + ListWorkerPoolInstanceMetricDefinitions(ctx context.Context, resourceGroupName string, name string, workerPoolName string, instance string) (result web.ResourceMetricDefinitionCollectionPage, err error) + ListWorkerPoolInstanceMetrics(ctx context.Context, resourceGroupName string, name string, workerPoolName string, instance string, details *bool, filter string) (result web.ResourceMetricCollectionPage, err error) + ListWorkerPools(ctx context.Context, resourceGroupName string, name string) (result web.WorkerPoolCollectionPage, err error) + ListWorkerPoolSkus(ctx context.Context, resourceGroupName string, name string, workerPoolName string) (result web.SkuInfoCollectionPage, err error) + Reboot(ctx context.Context, resourceGroupName string, name string) (result autorest.Response, err error) + Resume(ctx context.Context, resourceGroupName string, name string) (result web.AppServiceEnvironmentsResumeFuture, err error) + Suspend(ctx context.Context, resourceGroupName string, name string) (result web.AppServiceEnvironmentsSuspendFuture, err error) + Update(ctx context.Context, resourceGroupName string, name string, hostingEnvironmentEnvelope web.AppServiceEnvironmentPatchResource) (result web.AppServiceEnvironmentResource, err error) + UpdateMultiRolePool(ctx context.Context, resourceGroupName string, name string, multiRolePoolEnvelope web.WorkerPoolResource) (result web.WorkerPoolResource, err error) + UpdateWorkerPool(ctx context.Context, resourceGroupName string, name string, workerPoolName string, workerPoolEnvelope web.WorkerPoolResource) (result web.WorkerPoolResource, err error) +} + +var _ AppServiceEnvironmentsClientAPI = (*web.AppServiceEnvironmentsClient)(nil) + +// AppServicePlansClientAPI contains the set of methods on the AppServicePlansClient type. +type AppServicePlansClientAPI interface { + CreateOrUpdate(ctx context.Context, resourceGroupName string, name string, appServicePlan web.AppServicePlan) (result web.AppServicePlansCreateOrUpdateFuture, err error) + CreateOrUpdateVnetRoute(ctx context.Context, resourceGroupName string, name string, vnetName string, routeName string, route web.VnetRoute) (result web.VnetRoute, err error) + Delete(ctx context.Context, resourceGroupName string, name string) (result autorest.Response, err error) + DeleteHybridConnection(ctx context.Context, resourceGroupName string, name string, namespaceName string, relayName string) (result autorest.Response, err error) + DeleteVnetRoute(ctx context.Context, resourceGroupName string, name string, vnetName string, routeName string) (result autorest.Response, err error) + Get(ctx context.Context, resourceGroupName string, name string) (result web.AppServicePlan, err error) + GetHybridConnection(ctx context.Context, resourceGroupName string, name string, namespaceName string, relayName string) (result web.HybridConnection, err error) + GetHybridConnectionPlanLimit(ctx context.Context, resourceGroupName string, name string) (result web.HybridConnectionLimits, err error) + GetRouteForVnet(ctx context.Context, resourceGroupName string, name string, vnetName string, routeName string) (result web.ListVnetRoute, err error) + GetServerFarmSkus(ctx context.Context, resourceGroupName string, name string) (result web.SetObject, err error) + GetVnetFromServerFarm(ctx context.Context, resourceGroupName string, name string, vnetName string) (result web.VnetInfo, err error) + GetVnetGateway(ctx context.Context, resourceGroupName string, name string, vnetName string, gatewayName string) (result web.VnetGateway, err error) + List(ctx context.Context, detailed *bool) (result web.AppServicePlanCollectionPage, err error) + ListByResourceGroup(ctx context.Context, resourceGroupName string) (result web.AppServicePlanCollectionPage, err error) + ListCapabilities(ctx context.Context, resourceGroupName string, name string) (result web.ListCapability, err error) + ListHybridConnectionKeys(ctx context.Context, resourceGroupName string, name string, namespaceName string, relayName string) (result web.HybridConnectionKey, err error) + ListHybridConnections(ctx context.Context, resourceGroupName string, name string) (result web.HybridConnectionCollectionPage, err error) + ListMetricDefintions(ctx context.Context, resourceGroupName string, name string) (result web.ResourceMetricDefinitionCollectionPage, err error) + ListMetrics(ctx context.Context, resourceGroupName string, name string, details *bool, filter string) (result web.ResourceMetricCollectionPage, err error) + ListRoutesForVnet(ctx context.Context, resourceGroupName string, name string, vnetName string) (result web.ListVnetRoute, err error) + ListUsages(ctx context.Context, resourceGroupName string, name string, filter string) (result web.CsmUsageQuotaCollectionPage, err error) + ListVnets(ctx context.Context, resourceGroupName string, name string) (result web.ListVnetInfo, err error) + ListWebApps(ctx context.Context, resourceGroupName string, name string, skipToken string, filter string, top string) (result web.AppCollectionPage, err error) + ListWebAppsByHybridConnection(ctx context.Context, resourceGroupName string, name string, namespaceName string, relayName string) (result web.ResourceCollectionPage, err error) + RebootWorker(ctx context.Context, resourceGroupName string, name string, workerName string) (result autorest.Response, err error) + RestartWebApps(ctx context.Context, resourceGroupName string, name string, softRestart *bool) (result autorest.Response, err error) + Update(ctx context.Context, resourceGroupName string, name string, appServicePlan web.AppServicePlanPatchResource) (result web.AppServicePlan, err error) + UpdateVnetGateway(ctx context.Context, resourceGroupName string, name string, vnetName string, gatewayName string, connectionEnvelope web.VnetGateway) (result web.VnetGateway, err error) + UpdateVnetRoute(ctx context.Context, resourceGroupName string, name string, vnetName string, routeName string, route web.VnetRoute) (result web.VnetRoute, err error) +} + +var _ AppServicePlansClientAPI = (*web.AppServicePlansClient)(nil) + +// ResourceHealthMetadataClientAPI contains the set of methods on the ResourceHealthMetadataClient type. +type ResourceHealthMetadataClientAPI interface { + GetBySite(ctx context.Context, resourceGroupName string, name string) (result web.ResourceHealthMetadata, err error) + GetBySiteSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result web.ResourceHealthMetadata, err error) + List(ctx context.Context) (result web.ResourceHealthMetadataCollectionPage, err error) + ListByResourceGroup(ctx context.Context, resourceGroupName string) (result web.ResourceHealthMetadataCollectionPage, err error) + ListBySite(ctx context.Context, resourceGroupName string, name string) (result web.ResourceHealthMetadataCollectionPage, err error) + ListBySiteSlot(ctx context.Context, resourceGroupName string, name string, slot string) (result web.ResourceHealthMetadataCollectionPage, err error) +} + +var _ ResourceHealthMetadataClientAPI = (*web.ResourceHealthMetadataClient)(nil) diff --git a/storage/blockblob.go b/storage/blockblob.go index c9c62d799acf..bd19eccc41e7 100644 --- a/storage/blockblob.go +++ b/storage/blockblob.go @@ -197,6 +197,47 @@ func (b *Blob) PutBlockWithLength(blockID string, size uint64, blob io.Reader, o return b.respondCreation(resp, BlobTypeBlock) } +// PutBlockFromURLOptions includes the options for a put block from URL operation +type PutBlockFromURLOptions struct { + PutBlockOptions + + SourceContentMD5 string `header:"x-ms-source-content-md5"` + SourceContentCRC64 string `header:"x-ms-source-content-crc64"` +} + +// PutBlockFromURL copy data of exactly specified size from specified URL to +// the block blob with given ID. It is an alternative to PutBlocks where data +// comes from a remote URL and the offset and length is known in advance. +// +// The API rejects requests with size > 100 MiB (but this limit is not +// checked by the SDK). +// +// See https://docs.microsoft.com/en-us/rest/api/storageservices/put-block-from-url +func (b *Blob) PutBlockFromURL(blockID string, blobURL string, offset int64, size uint64, options *PutBlockFromURLOptions) error { + query := url.Values{ + "comp": {"block"}, + "blockid": {blockID}, + } + headers := b.Container.bsc.client.getStandardHeaders() + // The value of this header must be set to zero. + // When the length is not zero, the operation will fail with the status code 400 (Bad Request). + headers["Content-Length"] = "0" + headers["x-ms-copy-source"] = blobURL + headers["x-ms-source-range"] = fmt.Sprintf("bytes=%d-%d", offset, uint64(offset)+size-1) + + if options != nil { + query = addTimeout(query, options.Timeout) + headers = mergeHeaders(headers, headersFromStruct(*options)) + } + uri := b.Container.bsc.client.getEndpoint(blobServiceName, b.buildPath(), query) + + resp, err := b.Container.bsc.client.exec(http.MethodPut, uri, headers, nil, b.Container.bsc.auth) + if err != nil { + return err + } + return b.respondCreation(resp, BlobTypeBlock) +} + // PutBlockListOptions includes the options for a put block list operation type PutBlockListOptions struct { Timeout uint diff --git a/storage/blockblob_test.go b/storage/blockblob_test.go index d9f86e8aa335..78428083fc89 100644 --- a/storage/blockblob_test.go +++ b/storage/blockblob_test.go @@ -164,3 +164,18 @@ func (s *BlockBlobSuite) TestPutBlockWithLengthUsingLimitReader(c *chk.C) { lr := io.LimitReader(bytes.NewReader(data), 256) c.Assert(b.PutBlockWithLength("0000", 256, lr, nil), chk.IsNil) } + +func (s *BlockBlobSuite) TestPutBlockFromURL(c *chk.C) { + cli := getBlobClient(c) + rec := cli.client.appendRecorder(c) + defer rec.Stop() + + cnt := cli.GetContainerReference(containerName(c)) + c.Assert(cnt.Create(nil), chk.IsNil) + defer cnt.Delete(nil) + + srcBlob := cnt.GetBlobReference(blobName(c, "src")) + dstBlob := cnt.GetBlobReference(blobName(c, "dst")) + + c.Assert(dstBlob.PutBlockFromURL("00000", srcBlob.GetURL(), 0, 64, nil), chk.IsNil) +} diff --git a/storage/recordings/BlockBlobSuite/TestPutBlockFromURL.yaml b/storage/recordings/BlockBlobSuite/TestPutBlockFromURL.yaml new file mode 100644 index 000000000000..485906f18ddc --- /dev/null +++ b/storage/recordings/BlockBlobSuite/TestPutBlockFromURL.yaml @@ -0,0 +1,109 @@ +--- +version: 1 +interactions: +- request: + body: "" + form: {} + headers: + Authorization: + - SharedKey golangrocksonazure:nsKCUorZjbd/ivMin+PQBvSOsc8D+0X0bCyH0dNXmzo= + User-Agent: + - Go/go1.12.4 (amd64-windows) azure-storage-go/latest api-version/2018-03-28 + blob + x-ms-date: + - Tue, 28 May 2019 22:35:39 GMT + x-ms-version: + - "2018-03-28" + url: https://golangrocksonazure.blob.core.windows.net/cnt-34blockblobsuitetestputblock?restype=container + method: PUT + response: + body: "" + headers: + Content-Length: + - "0" + Date: + - Tue, 28 May 2019 22:35:39 GMT + Etag: + - '"0x8D6E3BCCF55739C"' + Last-Modified: + - Tue, 28 May 2019 22:35:39 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + X-Ms-Request-Id: + - 37814647-e01e-00b7-5ea5-15d5a7000000 + X-Ms-Version: + - "2018-03-28" + status: 201 Created + code: 201 + duration: "" +- request: + form: {} + headers: + Authorization: + - SharedKey golangrocksonazure:X50yEgeJDXbwNgJWmj0PfADqm/HUAXY24Q2afTFnRFM= + Content-Length: + - "0" + User-Agent: + - Go/go1.12.4 (amd64-windows) azure-storage-go/latest api-version/2018-03-28 + blob + x-ms-date: + - Tue, 28 May 2019 22:35:39 GMT + x-ms-version: + - "2018-03-28" + x-ms-copy-source: + - https://golangrocksonazure.blob.core.windows.net/cnt-34blockblobsuitetestputblock/blob/src34blockblobsuitetestputblockfromurl + x-ms-source-range: + - bytes=0-63 + url: https://golangrocksonazure.blob.core.windows.net/cnt-34blockblobsuitetestputblock/blob/dst34blockblobsuitetestputblockfromurl?blockid=00000&comp=block + method: PUT + response: + body: "" + headers: + Content-Length: + - "0" + Content-Md5: + - jaHQUBZ1PVeS/42MY6S64Q== + Date: + - Tue, 28 May 2019 22:35:39 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + X-Ms-Request-Id: + - 37814660-e01e-00b7-75a5-15d5a7000000 + X-Ms-Request-Server-Encrypted: + - "true" + X-Ms-Version: + - "2018-03-28" + status: 201 Created + code: 201 + duration: "" +- request: + body: "" + form: {} + headers: + Authorization: + - SharedKey golangrocksonazure:3YCnSCMqQKCADhrDjpS1vkI+BPfjqFVfh1gjAJM1ofc= + User-Agent: + - Go/go1.12.4 (amd64-windows) azure-storage-go/latest api-version/2018-03-28 + blob + x-ms-date: + - Tue, 28 May 2019 22:35:39 GMT + x-ms-version: + - "2018-03-28" + url: https://golangrocksonazure.blob.core.windows.net/cnt-53blockblobsuitetestputblock?restype=container + method: DELETE + response: + body: "" + headers: + Content-Length: + - "0" + Date: + - Tue, 28 May 2019 22:35:39 GMT + Server: + - Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 + X-Ms-Request-Id: + - 37814672-e01e-00b7-04a5-15d5a7000000 + X-Ms-Version: + - "2018-03-28" + status: 202 Accepted + code: 202 + duration: "" diff --git a/swagger_to_sdk_config.json b/swagger_to_sdk_config.json index 572898ac481a..cb18404b1b0b 100644 --- a/swagger_to_sdk_config.json +++ b/swagger_to_sdk_config.json @@ -8,7 +8,7 @@ "gofmt -w ./services/" ], "autorest_options": { - "use": "@microsoft.azure/autorest.go@~2.1.136", + "use": "@microsoft.azure/autorest.go@~2.1.137", "go": "", "verbose": "", "sdkrel:go-sdk-folder": ".", diff --git a/tools/major-updater/cmd/afterscripts.go b/tools/major-updater/cmd/afterscripts.go index 22983be96d5d..7aa2e9cf4c68 100644 --- a/tools/major-updater/cmd/afterscripts.go +++ b/tools/major-updater/cmd/afterscripts.go @@ -15,10 +15,13 @@ package cmd import ( + "encoding/json" "fmt" + "io/ioutil" + "os" "os/exec" - "path" "path/filepath" + "strings" "github.com/spf13/cobra" ) @@ -43,35 +46,48 @@ func init() { } func theAfterscriptsCommand(sdk string) error { - println("Generating profiles...") + println("Executing after scripts...") absolutePathOfSDK, err := filepath.Abs(sdk) if err != nil { return fmt.Errorf("failed to get the directory of SDK: %v", err) } - absolutePathOfProfiles := path.Join(absolutePathOfSDK, "profiles") - err = changeDir(absolutePathOfProfiles) + // read options from config file + file, err := os.Open(filepath.Join(absolutePathOfSDK, configFileName)) if err != nil { - return fmt.Errorf("failed to enter directory for profiles: %v", err) + return fmt.Errorf("failed to open config file %s: %v", configFileName, err) } - c := exec.Command("go", "generate", "./...") - err = c.Run() + afterscripts, err := expandAfterScripts(file) if err != nil { - return fmt.Errorf("Error occurs when generating profiles: %v", err) + return err } - vprintln("Formatting the whole SDK folder...") err = changeDir(absolutePathOfSDK) if err != nil { - return fmt.Errorf("failed to enter directory for SDK: %v", err) - } - c = exec.Command("gofmt", "-w", "./profiles/") - err = c.Run() - if err != nil { - return fmt.Errorf("Error occurs when formatting profiles: %v", err) + return fmt.Errorf("failed to enter directory for profiles: %v", err) } - c = exec.Command("gofmt", "-w", "./services/") - err = c.Run() - if err != nil { - return fmt.Errorf("Error occurs when formatting the SDK folder: %v", err) + for _, script := range afterscripts { + args := strings.Split(script, " ") + c := exec.Command(args[0], args[1:]...) + vprintf("Invoke after script %v\n", c.Args) + if output, err := c.CombinedOutput(); err != nil { + return fmt.Errorf("failed to execute after script %s, messages %s: %v", script, string(output), err) + } } return nil } + +func expandAfterScripts(file *os.File) ([]string, error) { + b, _ := ioutil.ReadAll(file) + var config map[string]*json.RawMessage + if err := json.Unmarshal(b, &config); err != nil { + return nil, fmt.Errorf("failed to resolve config file: %v", err) + } + var meta map[string]*json.RawMessage + if err := json.Unmarshal(*config["meta"], &meta); err != nil { + return nil, fmt.Errorf("failed to resolve config file: %v", err) + } + var afterscripts []string + if err := json.Unmarshal(*meta["after_scripts"], &afterscripts); err != nil { + return nil, fmt.Errorf("failed to resolve config file: %v", err) + } + return afterscripts, nil +} diff --git a/tools/major-updater/cmd/autorest.go b/tools/major-updater/cmd/autorest.go index 3926765660c9..ad4781d563e2 100644 --- a/tools/major-updater/cmd/autorest.go +++ b/tools/major-updater/cmd/autorest.go @@ -15,7 +15,9 @@ package cmd import ( + "encoding/json" "fmt" + "io/ioutil" "os" "path/filepath" @@ -38,6 +40,10 @@ var autorestCmd = &cobra.Command{ }, } +const ( + configFileName = "swagger_to_sdk_config.json" +) + func init() { rootCmd.AddCommand(autorestCmd) } @@ -57,6 +63,15 @@ func theAutorestCommand(sdk, spec string) error { if err != nil { return fmt.Errorf("failed to get the directory of specs: %v", err) } + // read options from config file + file, err := os.Open(filepath.Join(absolutePathOfSDK, configFileName)) + if err != nil { + return fmt.Errorf("failed to open config file %s: %v", configFileName, err) + } + options, err := expandAutorestOptions(file, absolutePathOfSDK) + if err != nil { + return err + } // get every single readme.md file in the directory files, err := selectFilesWithName(absolutePathOfSpec, readme) vprintf("Found %d readme.md files\n", len(files)) @@ -67,8 +82,8 @@ func theAutorestCommand(sdk, spec string) error { } for _, file := range files { w := work{ - filename: file, - sdkFolder: absolutePathOfSDK, + filename: file, + options: options, } jobs <- w } @@ -79,3 +94,38 @@ func theAutorestCommand(sdk, spec string) error { vprintln("autorest finished") return nil } + +const ( + optionPattern = "--%s=%s" + flagPattern = "--%s" +) + +func expandAutorestOptions(file *os.File, absolutePathOfSDK string) ([]string, error) { + b, _ := ioutil.ReadAll(file) + var config map[string]*json.RawMessage + if err := json.Unmarshal(b, &config); err != nil { + return nil, fmt.Errorf("failed to resolve config file: %v", err) + } + var meta map[string]*json.RawMessage + if err := json.Unmarshal(*config["meta"], &meta); err != nil { + return nil, fmt.Errorf("failed to resolve config file: %v", err) + } + var autorestOptions map[string]*json.RawMessage + if err := json.Unmarshal(*meta["autorest_options"], &autorestOptions); err != nil { + return nil, fmt.Errorf("failed to resolve config file: %v", err) + } + options := make([]string, 6) + for k, v := range autorestOptions { + if k == "sdkrel:go-sdk-folder" { + continue + } + v := string(*v) + if v == "\"\"" { + options = append(options, fmt.Sprintf(flagPattern, k)) + } else { + options = append(options, fmt.Sprintf(optionPattern, k, v)) + } + } + options = append(options, fmt.Sprintf(optionPattern, "go-sdk-folder", absolutePathOfSDK)) + return options, nil +} diff --git a/tools/major-updater/cmd/work.go b/tools/major-updater/cmd/work.go index 060f56fffb20..c60729c06744 100644 --- a/tools/major-updater/cmd/work.go +++ b/tools/major-updater/cmd/work.go @@ -20,29 +20,24 @@ import ( "os" "os/exec" "path/filepath" - "strings" "time" ) -const ( - autorestArgsPattern = "--use=@microsoft.azure/autorest.go@~2.1.99 %s --go --multiapi --go-sdk-folder=%s --use-onever" -) - type work struct { - filename string - sdkFolder string + filename string + options []string } -func autorestCommand(file string, sdk string) *exec.Cmd { - autorestArgs := fmt.Sprintf(autorestArgsPattern, file, sdk) - c := exec.Command("autorest", strings.Split(autorestArgs, " ")...) +func autorestCommand(file string, options []string) *exec.Cmd { + options = append(options, file) + c := exec.Command("autorest", options...) return c } func worker(id int, jobs <-chan work, results chan<- error) { for work := range jobs { start := time.Now() - c := autorestCommand(work.filename, work.sdkFolder) + c := autorestCommand(work.filename, work.options) vprintf("worker %d is starting on file %s\nparameters: %v\n", id, work.filename, c.Args) output, err := c.CombinedOutput() if err == nil { diff --git a/tools/profileBuilder/cmd/latest.go b/tools/profileBuilder/cmd/latest.go index 95bd942f0078..45060cdfe0e7 100644 --- a/tools/profileBuilder/cmd/latest.go +++ b/tools/profileBuilder/cmd/latest.go @@ -17,6 +17,7 @@ package cmd import ( + "fmt" "io/ioutil" "log" "os" @@ -64,6 +65,7 @@ By default, this command ignores API versions that are in preview.`, } outputRootDir = abs } + fmt.Printf("Executes profileBuilder in %s\n", outputRootDir) outputLog.Printf("Output-Location set to: %s", outputRootDir) includePreview, err := cmd.Flags().GetBool(previewLongName) diff --git a/tools/profileBuilder/cmd/list.go b/tools/profileBuilder/cmd/list.go index a621dc2b9d1d..887d75db9615 100644 --- a/tools/profileBuilder/cmd/list.go +++ b/tools/profileBuilder/cmd/list.go @@ -119,6 +119,7 @@ $> ../model/testdata/smallProfile.txt > profileBuilder list --name small_profile outputRootDir = filepath.Join(outputRootDir, modver) } } + fmt.Printf("Executes profileBuilder in %s\n", outputRootDir) outputLog.Printf("Output-Location set to: %s", outputRootDir) if clearOutputFlag { if err := dirs.DeleteChildDirs(outputRootDir); err != nil {